From minios-devel-bounces@lists.xenproject.org Sun Dec 01 19:44:48 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 01 Dec 2019 19:44:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ibV9C-0000at-AA; Sun, 01 Dec 2019 19:44:46 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=CtzO=ZX=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1ibV9B-0000ao-1g
 for minios-devel@lists.xen.org; Sun, 01 Dec 2019 19:44:45 +0000
X-Inumbo-ID: 04a30b84-1473-11ea-a406-12813bfff9fa
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id 04a30b84-1473-11ea-a406-12813bfff9fa;
 Sun, 01 Dec 2019 19:44:42 +0000 (UTC)
IronPort-SDR: K45pjEEdln99thJZWr04y/4jqnfjP2w2ok5vu2Sr8BuZFMRRZ0OWtmgQ0qLTDBXf3OsiwOqVVk
 vuL+HtSwn48g==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 01 Dec 2019 21:44:16 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id D90081A60312
 for <minios-devel@lists.xen.org>; Sun,  1 Dec 2019 21:44:16 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id A9ZaYWYj4NvQ for <minios-devel@lists.xen.org>;
 Sun,  1 Dec 2019 21:44:16 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id BEE451A60315
 for <minios-devel@lists.xen.org>; Sun,  1 Dec 2019 21:44:16 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id wm2pF-uhP5Ec for <minios-devel@lists.xen.org>;
 Sun,  1 Dec 2019 21:44:16 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id A81741A60312
 for <minios-devel@lists.xen.org>; Sun,  1 Dec 2019 21:44:16 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Sun,  1 Dec 2019 21:43:59 +0200
Message-Id: <20191201194359.13027-1-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
Subject: [Minios-devel] [UNIKRAFT PATCH ] plat/common/x86/trace.c: Dump info
 on exceptions using critical printing
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

QmVjYXVzZSBkdW1waW5nIHJlZ2lzdGVycyBhbmQgc3RhY2sgdHJhY2Ugb24gZXhjZXB0aW9ucwpz
aG91bGQgYmUgYWx3YXlzIHByaW50ZWQuCgpTaWduZWQtb2ZmLWJ5OiBDb3N0aW4gTHVwdSA8Y29z
dGluLmx1cHVAY3MucHViLnJvPgotLS0KIHBsYXQvY29tbW9uL3g4Ni90cmFjZS5jIHwgMjQgKysr
KysrKysrKysrLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwg
MTIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvcGxhdC9jb21tb24veDg2L3RyYWNlLmMgYi9w
bGF0L2NvbW1vbi94ODYvdHJhY2UuYwppbmRleCBlZjIxMDJlOS4uZDFhYmQ0NjEgMTAwNjQ0Ci0t
LSBhL3BsYXQvY29tbW9uL3g4Ni90cmFjZS5jCisrKyBiL3BsYXQvY29tbW9uL3g4Ni90cmFjZS5j
CkBAIC00MCwxOCArNDAsMTggQEAKIAogdm9pZCBkdW1wX3JlZ3Moc3RydWN0IF9fcmVncyAqcmVn
cykKIHsKLQl1a19wcl9pbmZvKCJSSVA6ICUwMTZseCBDUzogJTA0bHhcbiIsIHJlZ3MtPnJpcCwg
cmVncy0+Y3MgJiAweGZmZmYpOwotCXVrX3ByX2luZm8oIlJTUDogJTAxNmx4IFNTOiAlMDRseCBF
RkxBR1M6ICUwOGx4XG4iLAorCXVrX3ByX2NyaXQoIlJJUDogJTAxNmx4IENTOiAlMDRseFxuIiwg
cmVncy0+cmlwLCByZWdzLT5jcyAmIDB4ZmZmZik7CisJdWtfcHJfY3JpdCgiUlNQOiAlMDE2bHgg
U1M6ICUwNGx4IEVGTEFHUzogJTA4bHhcbiIsCiAJCQlyZWdzLT5yc3AsIHJlZ3MtPnNzLCByZWdz
LT5lZmxhZ3MpOwotCXVrX3ByX2luZm8oIlJBWDogJTAxNmx4IFJCWDogJTAxNmx4IFJDWDogJTAx
Nmx4XG4iLAorCXVrX3ByX2NyaXQoIlJBWDogJTAxNmx4IFJCWDogJTAxNmx4IFJDWDogJTAxNmx4
XG4iLAogCQkJcmVncy0+cmF4LCByZWdzLT5yYngsIHJlZ3MtPnJjeCk7Ci0JdWtfcHJfaW5mbygi
UkRYOiAlMDE2bHggUlNJOiAlMDE2bHggUkRJOiAlMDE2bHhcbiIsCisJdWtfcHJfY3JpdCgiUkRY
OiAlMDE2bHggUlNJOiAlMDE2bHggUkRJOiAlMDE2bHhcbiIsCiAJCQlyZWdzLT5yZHgsIHJlZ3Mt
PnJzaSwgcmVncy0+cmRpKTsKLQl1a19wcl9pbmZvKCJSQlA6ICUwMTZseCBSMDg6ICUwMTZseCBS
MDk6ICUwMTZseFxuIiwKKwl1a19wcl9jcml0KCJSQlA6ICUwMTZseCBSMDg6ICUwMTZseCBSMDk6
ICUwMTZseFxuIiwKIAkJCXJlZ3MtPnJicCwgcmVncy0+cjgsIHJlZ3MtPnI5KTsKLQl1a19wcl9p
bmZvKCJSMTA6ICUwMTZseCBSMTE6ICUwMTZseCBSMTI6ICUwMTZseFxuIiwKKwl1a19wcl9jcml0
KCJSMTA6ICUwMTZseCBSMTE6ICUwMTZseCBSMTI6ICUwMTZseFxuIiwKIAkJCXJlZ3MtPnIxMCwg
cmVncy0+cjExLCByZWdzLT5yMTIpOwotCXVrX3ByX2luZm8oIlIxMzogJTAxNmx4IFIxNDogJTAx
Nmx4IFIxNTogJTAxNmx4XG4iLAorCXVrX3ByX2NyaXQoIlIxMzogJTAxNmx4IFIxNDogJTAxNmx4
IFIxNTogJTAxNmx4XG4iLAogCQkJcmVncy0+cjEzLCByZWdzLT5yMTQsIHJlZ3MtPnIxNSk7CiB9
CiAKQEAgLTY1LDEwICs2NSwxMCBAQCB2b2lkIGR1bXBfbWVtKHVuc2lnbmVkIGxvbmcgYWRkcikK
IAogCWZvciAoaSA9ICgoYWRkcikgLSAxNikgJiB+MTU7IGkgPCAoKChhZGRyKSArIDQ4KSAmIH4x
NSk7IGkrKykgewogCQlpZiAoIShpICUgMTYpKQotCQkJdWtfcHJfaW5mbygiXG4lbHg6IiwgaSk7
Ci0JCXVrX3ByX2luZm8oIiAlMDJ4IiwgKih1bnNpZ25lZCBjaGFyICopIGkpOworCQkJdWtfcHJf
Y3JpdCgiXG4lbHg6IiwgaSk7CisJCXVrX3ByX2NyaXQoIiAlMDJ4IiwgKih1bnNpZ25lZCBjaGFy
ICopIGkpOwogCX0KLQl1a19wcl9pbmZvKCJcbiIpOworCXVrX3ByX2NyaXQoIlxuIik7CiB9CiAK
IHZvaWQgc3RhY2tfd2Fsayh2b2lkKQpAQCAtODQsOCArODQsOCBAQCB2b2lkIHN0YWNrX3dhbGtf
Zm9yX2ZyYW1lKHVuc2lnbmVkIGxvbmcgZnJhbWVfYmFzZSkKIHsKIAl1bnNpZ25lZCBsb25nICpm
cmFtZSA9ICh2b2lkICopIGZyYW1lX2Jhc2U7CiAKLQl1a19wcl9pbmZvKCJiYXNlIGlzICUjbHgg
IiwgZnJhbWVfYmFzZSk7Ci0JdWtfcHJfaW5mbygiY2FsbGVyIGlzICUjbHhcbiIsIGZyYW1lWzFd
KTsKKwl1a19wcl9jcml0KCJiYXNlIGlzICUjbHggIiwgZnJhbWVfYmFzZSk7CisJdWtfcHJfY3Jp
dCgiY2FsbGVyIGlzICUjbHhcbiIsIGZyYW1lWzFdKTsKIAlpZiAoZnJhbWVbMF0pCiAJCXN0YWNr
X3dhbGtfZm9yX2ZyYW1lKGZyYW1lWzBdKTsKIH0KLS0gCjIuMjAuMQoKCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxp
c3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJv
amVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Mon Dec 02 11:46:11 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 02 Dec 2019 11:46:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ibk9Z-0004TU-F3; Mon, 02 Dec 2019 11:46:09 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=8F30=ZY=csuc.cat=esteban.martinez@srs-us1.protection.inumbo.net>)
 id 1ibk9W-0004TP-RE
 for minios-devel@lists.xen.org; Mon, 02 Dec 2019 11:46:07 +0000
X-Inumbo-ID: 52568aaa-14f9-11ea-a55d-bc764e2007e4
Received: from gabarro.xs.cesca.cat (unknown [84.88.0.6])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id 52568aaa-14f9-11ea-a55d-bc764e2007e4;
 Mon, 02 Dec 2019 11:46:05 +0000 (UTC)
DomainKey-Signature: s=csuc; d=csuc.cat; c=nofws; q=dns;
 h=Received:From:To:Cc:Subject:Date:Message-Id:X-Mailer;
 b=OttkoQXlJ9ysG1lImN94bHzQcwxdy3oHP9bNgJogXLtQPdaoRWZyv1Bf
 PcKPRW/nsHIvJvubWwpg9j2QnlFTv/hfRBAw4plRy93EmlPy+i8biKpy5
 w3lkox/FlCOMrmhF+3I41TBUF0Sdxwy5uGFQPOGwe1urATnpzyDY+6UEq
 8=;
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
 d=csuc.cat; i=@csuc.cat; q=dns/txt; s=csuc;
 t=1575287165; x=1606823165;
 h=from:to:cc:subject:date:message-id;
 bh=DKGdQbRnb0LEwVuC9tfnxWY+5n8F09SUOiz+3jtwoVM=;
 b=JhcOdxvr3CzmTQulQHxOMrsNCWPB9jUBR9/6A0cyNA/CL7bRyj39poCj
 6/0GGYa50p6+r2scdRWKbrAfiCpuil7ID9VZf3Pw30f0Ce5IqRX6WjxgV
 w9Qeve7iWVxXRrnyoGsx77PehYNd/YiVTsSLO0z1tu8ehRCM8WUztMCa8 c=;
Received: from unknown (HELO localhost.localdomain) ([84.88.5.7])
 by smtp.xc.csuc.cat with ESMTP/TLS/DHE-RSA-AES128-GCM-SHA256;
 02 Dec 2019 12:46:04 +0100
From: Esteban <esteban.martinez@csuc.cat>
To: minios-devel@lists.xen.org
Date: Mon,  2 Dec 2019 12:45:54 +0100
Message-Id: <20191202114555.28424-1-esteban.martinez@csuc.cat>
X-Mailer: git-send-email 2.17.1
Subject: [Minios-devel] [LCMS PATCH 0/1]
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Esteban <esteban.martinez@csuc.cat>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

KioqIEJMVVJCIEhFUkUgKioqCgpFc3RlYmFuICgxKToKICBbTENNUyBQQVRDSF0gQWRkIG5ldyBs
aWJyYXJ5IGxjbXMgMi45IHRvIFVuaWtyYWZ0J3MgcHJvamVjdC4KCiBDT0RJTkdfU1RZTEUubWQg
fCAgIDQgKysKIENPTlRSSUJVVElORy5tZCB8ICAgNCArKwogQ09QWUlORy5tZCAgICAgIHwgIDQx
ICsrKysrKysrKysrKysrKwogQ29uZmlnLnVrICAgICAgIHwgIDExICsrKysrCiBNQUlOVEFJTkVS
Uy5tZCAgfCAgMTEgKysrKysKIE1ha2VmaWxlLnVrICAgICB8IDEyOSArKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIFJFQURNRS5tZCAgICAgICB8ICAgNyAr
KysKIGV4cG9ydHN5bXMudWsgICB8ICAgMSArCiA4IGZpbGVzIGNoYW5nZWQsIDIwOCBpbnNlcnRp
b25zKCspCiBjcmVhdGUgbW9kZSAxMDA3NTUgQ09ESU5HX1NUWUxFLm1kCiBjcmVhdGUgbW9kZSAx
MDA3NTUgQ09OVFJJQlVUSU5HLm1kCiBjcmVhdGUgbW9kZSAxMDA3NTUgQ09QWUlORy5tZAogY3Jl
YXRlIG1vZGUgMTAwNzU1IENvbmZpZy51awogY3JlYXRlIG1vZGUgMTAwNzU1IE1BSU5UQUlORVJT
Lm1kCiBjcmVhdGUgbW9kZSAxMDA3NTUgTWFrZWZpbGUudWsKIGNyZWF0ZSBtb2RlIDEwMDc1NSBS
RUFETUUubWQKIGNyZWF0ZSBtb2RlIDEwMDc1NSBleHBvcnRzeW1zLnVrCgotLSAKMi4xNy4xCgoK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRl
dmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Mon Dec 02 11:46:26 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 02 Dec 2019 11:46:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ibk9q-0004V3-H3; Mon, 02 Dec 2019 11:46:26 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=8F30=ZY=csuc.cat=esteban.martinez@srs-us1.protection.inumbo.net>)
 id 1ibk9o-0004Uv-E5
 for minios-devel@lists.xen.org; Mon, 02 Dec 2019 11:46:24 +0000
X-Inumbo-ID: 5c2deb04-14f9-11ea-a407-12813bfff9fa
Received: from gabarro.xs.cesca.cat (unknown [84.88.0.6])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id 5c2deb04-14f9-11ea-a407-12813bfff9fa;
 Mon, 02 Dec 2019 11:46:21 +0000 (UTC)
DomainKey-Signature: s=csuc; d=csuc.cat; c=nofws; q=dns;
 h=Received:From:To:Cc:Subject:Date:Message-Id:X-Mailer:
 In-Reply-To:References;
 b=qsZ3dL+fhmhsxEK0eYva8bd3LcKcee8K1aP8r3ECKWZ1QmgcI83l59y8
 HzUx+AYA+r5zsSXjeQN90R0zpcJsEnkYxD0Yk8JHd6N0Z59C4/hVoTeHk
 QZ50dn9OPDlAAO6g8787O+Hcooyfkby1zQoZAKvmRg+h2IBQDLj+eqtdx
 I=;
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
 d=csuc.cat; i=@csuc.cat; q=dns/txt; s=csuc;
 t=1575287181; x=1606823181;
 h=from:to:cc:subject:date:message-id:in-reply-to: references;
 bh=fW/gcvh6vjuhulGqBvBLmJYMpX0EzzciLhQpwsBFJj0=;
 b=PH7IMlShZqnohnSAKgae77+RMZvtwWxEM+X3PKRPfgMSbiEPqYBJtLbv
 vaKx9e6t9EZlnSiLHn3GFiyj3BDEIquZtiynGod/Edl6bQZg8hlmFAZLs
 gsf2tOS2syQoehpekZPJZVG9muDXvnXVASc5uGmASf+ioS1ritboAWscs s=;
Received: from unknown (HELO localhost.localdomain) ([84.88.5.7])
 by smtp.xc.csuc.cat with ESMTP/TLS/DHE-RSA-AES128-GCM-SHA256;
 02 Dec 2019 12:46:21 +0100
From: Esteban <esteban.martinez@csuc.cat>
To: minios-devel@lists.xen.org
Date: Mon,  2 Dec 2019 12:45:55 +0100
Message-Id: <20191202114555.28424-2-esteban.martinez@csuc.cat>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20191202114555.28424-1-esteban.martinez@csuc.cat>
References: <20191202114555.28424-1-esteban.martinez@csuc.cat>
Subject: [Minios-devel] [LCMS PATCH 1/1] [LCMS PATCH] Add new library lcms
 2.9 to Unikraft's project.
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Esteban <esteban.martinez@csuc.cat>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

U2lnbmVkLW9mZi1ieTogRXN0ZWJhbiA8ZXN0ZWJhbi5tYXJ0aW5lekBjc3VjLmNhdD4KLS0tCiBD
T0RJTkdfU1RZTEUubWQgfCAgIDQgKysKIENPTlRSSUJVVElORy5tZCB8ICAgNCArKwogQ09QWUlO
Ry5tZCAgICAgIHwgIDQxICsrKysrKysrKysrKysrKwogQ29uZmlnLnVrICAgICAgIHwgIDExICsr
KysrCiBNQUlOVEFJTkVSUy5tZCAgfCAgMTEgKysrKysKIE1ha2VmaWxlLnVrICAgICB8IDEyOSAr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIFJFQURNRS5t
ZCAgICAgICB8ICAgNyArKysKIGV4cG9ydHN5bXMudWsgICB8ICAgMSArCiA4IGZpbGVzIGNoYW5n
ZWQsIDIwOCBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA3NTUgQ09ESU5HX1NUWUxFLm1k
CiBjcmVhdGUgbW9kZSAxMDA3NTUgQ09OVFJJQlVUSU5HLm1kCiBjcmVhdGUgbW9kZSAxMDA3NTUg
Q09QWUlORy5tZAogY3JlYXRlIG1vZGUgMTAwNzU1IENvbmZpZy51awogY3JlYXRlIG1vZGUgMTAw
NzU1IE1BSU5UQUlORVJTLm1kCiBjcmVhdGUgbW9kZSAxMDA3NTUgTWFrZWZpbGUudWsKIGNyZWF0
ZSBtb2RlIDEwMDc1NSBSRUFETUUubWQKIGNyZWF0ZSBtb2RlIDEwMDc1NSBleHBvcnRzeW1zLnVr
CgpkaWZmIC0tZ2l0IGEvQ09ESU5HX1NUWUxFLm1kIGIvQ09ESU5HX1NUWUxFLm1kCm5ldyBmaWxl
IG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjU3MzAwNDEKLS0tIC9kZXYvbnVsbAorKysgYi9D
T0RJTkdfU1RZTEUubWQKQEAgLTAsMCArMSw0IEBACitDb2RpbmcgU3R5bGUKKz09PT09PT09PT09
PQorCitQbGVhc2UgcmVmZXIgdG8gdGhlIGBDT0RJTkdfU1RZTEUubWRgIGZpbGUgaW4gdGhlIG1h
aW4gVW5pa3JhZnQgcmVwb3NpdG9yeS4KZGlmZiAtLWdpdCBhL0NPTlRSSUJVVElORy5tZCBiL0NP
TlRSSUJVVElORy5tZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xNGY2YWM2
Ci0tLSAvZGV2L251bGwKKysrIGIvQ09OVFJJQlVUSU5HLm1kCkBAIC0wLDAgKzEsNCBAQAorQ29u
dHJpYnV0aW5nIHRvIFVuaWtyYWZ0Cis9PT09PT09PT09PT09PT09PT09PT09PT0KKworUGxlYXNl
IHJlZmVyIHRvIHRoZSBgQ09OVFJJQlVUSU5HLm1kYCBmaWxlIGluIHRoZSBtYWluIFVuaWtyYWZ0
IHJlcG9zaXRvcnkuCmRpZmYgLS1naXQgYS9DT1BZSU5HLm1kIGIvQ09QWUlORy5tZApuZXcgZmls
ZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mYTA1MDQxCi0tLSAvZGV2L251bGwKKysrIGIv
Q09QWUlORy5tZApAQCAtMCwwICsxLDQxIEBACitMaWNlbnNlCis9PT09PT09CisKK1VuaWtyYWZ0
IGxjbXMgd3JhcHBlcnMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitUaGlzIHJlcG9zaXRv
cnkgY29udGFpbnMgd3JhcHBlciBjb2RlIHRvIGJ1aWxkIGxjbXMgd2l0aCBVbmlrcmFmdC4gIFRo
ZSBjb2RlCitpcyBwdWJsaXNoZWQgYXMgYSBtaXh0dXJlIG9mIEJTRCBhbmQgTUlUIGxpY2VuY2Vz
OyBlYWNoIEMgY29kZSBmaWxlIGluCit0aGlzIHJlcG9zaXRvcnkgc2hvdWxkIGRlY2xhcmUgd2hv
IGlzIHRoZSBjb3B5cmlnaHQgb3duZXIgYW5kIHVuZGVyIHdoaWNoIHRlcm1zCithbmQgY29uZGl0
aW9ucyB0aGUgY29kZSBpcyBsaWNlbnNlZC4gSWYgc3VjaCBhIGxpY2VuY2Ugbm90ZSBpcyBtaXNz
aW5nLCB0aGUKK2ZvbGxvd2luZyBjb3B5cmlnaHQgbm90aWNlIHdpbGwgYXBwbHk6CisKKwlDb3B5
cmlnaHQgKGMpIDIwMTcsIE5FQyBFdXJvcGUgTHRkLiwgTkVDIENvcnBvcmF0aW9uLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorCisJUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisJbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisJYXJlIG1ldDoKKworCTEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisJICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorCTIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisJICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorCSAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisJMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgY29weXJpZ2h0IGhvbGRlciBub3Ig
dGhlIG5hbWVzIG9mIGl0cworCSAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisJICAgdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKworCVRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFT
IElTIgorCUFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKwlJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorCUFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUiBDT05UUklCVVRP
UlMgQkUKKwlMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisJQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKwlTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKwlJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorCUNPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisJQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUKKwlQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKworbGNtcyBzb3VyY2UgY29kZQorLS0tLS0tLS0tLS0tLS0t
LS0tClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvQ29uZmlnLnVrIGIv
Q29uZmlnLnVrCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmVkYjM2NTkKLS0t
IC9kZXYvbnVsbAorKysgYi9Db25maWcudWsKQEAgLTAsMCArMSwxMSBAQAorY29uZmlnIExJQkxD
TVMKKwlib29sICJsaWJsY21zIC0gQ29sb3IgbWFuYWdlbWVudCBlbmdpbmUiCisJZGVmYXVsdCBu
CisJc2VsZWN0IExJQk5PTElCQyBpZiAhSEFWRV9MSUJDCisJc2VsZWN0IExJQlVLREVCVUcKKyAg
ICBzZWxlY3QgTElCVUtBTExPQworICAgIHNlbGVjdCBMSUJQVEhSRUFEX0VNQkVEREVECisgICAg
c2VsZWN0IExJQk5FV0xJQkMKKworaWYgTElCTENNUworZW5kaWYKZGlmZiAtLWdpdCBhL01BSU5U
QUlORVJTLm1kIGIvTUFJTlRBSU5FUlMubWQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAw
MDAwMC4uMjI3YzRkZAotLS0gL2Rldi9udWxsCisrKyBiL01BSU5UQUlORVJTLm1kCkBAIC0wLDAg
KzEsMTEgQEAKK01haW50YWluZXJzIExpc3QKKz09PT09PT09PT09PT09PT0KKworRm9yIG5vdGVz
IG9uIGhvdyB0byByZWFkIHRoaXMgaW5mb3JtYXRpb24sIHBsZWFzZSByZWZlciB0byBgTUFJTlRB
SU5FUlMubWRgIGluCit0aGUgbWFpbiBVbmlrcmFmdCByZXBvc2l0b3J5LgorCisJTENNUy1VTklL
UkFGVAorCU06CUNvc3RpbiBMdXB1IDxjb3N0aW4ubHVwdUBjcy5wdWIucm8+CisJTToJRmVsaXBl
IEh1aWNpIDxmZWxpcGUuaHVpY2lAbmVjbGFiLmV1PgorCUw6CW1pbmlvcy1kZXZlbEBsaXN0cy54
ZW4ub3JnCisJRjogKgpkaWZmIC0tZ2l0IGEvTWFrZWZpbGUudWsgYi9NYWtlZmlsZS51awpuZXcg
ZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44NmY5NDFiCi0tLSAvZGV2L251bGwKKysr
IGIvTWFrZWZpbGUudWsKQEAgLTAsMCArMSwxMjkgQEAKKyMgIFNQRFgtTGljZW5zZS1JZGVudGlm
aWVyOiBCU0QtMy1DbGF1c2UKKyMKKyMgIGxjbXMgTWFrZWZpbGUudWsKKyMKKyMgIEF1dGhvcnM6
IENvc3RpbiBMdXB1IDxjb3N0aW4ubHVwdUBjcy5wdWIucm8+CisjCisjICBDb3B5cmlnaHQgKGMp
IDIwMTksIFVuaXZlcnNpdHkgUG9saXRlaG5pY2Egb2YgQnVjaGFyZXN0LiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorIworIyAgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjICBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyMgIGFyZSBtZXQ6CisjCisj
ICAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisjICAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBjb3B5cmln
aHQgaG9sZGVyIG5vciB0aGUgbmFtZXMgb2YgaXRzCisjICAgICBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorIyAgICAg
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
KyMKKyMgIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMgIkFTIElTIgorIyAgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorIyAgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UKKyMgIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUKKyMgIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyMgIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisjICBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyMgIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisjICBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorIyAgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUKKyMgIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorIworIyAgVEhJUyBIRUFERVIgTUFZIE5PVCBCRSBFWFRSQUNURUQgT1IgTU9ESUZJRUQg
SU4gQU5ZIFdBWS4KKyMKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgTGlicmFyeSByZWdp
c3RyYXRpb24KKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiskKGV2YWwgJChjYWxsIGFkZGxpYl9z
LGxpYmxjbXMsJChDT05GSUdfTElCTENNUykpKQorIyQoZXZhbCAkKGNhbGwgYWRkbGliX3MsbGli
bGNtc2dsdWUsJChDT05GSUdfTElCTENNUykpKQorCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwor
IyBPcmlnaW5hbCBzb3VyY2VzCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworTElCTENNU19WRVJT
SU9OPTIuOQorTElCTENNU19VUkw9aHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3B5
dGhvbi1waWxsb3cvcGlsbG93LWRlcGVuZHMvbWFzdGVyL2xjbXMyLSQoTElCTENNU19WRVJTSU9O
KS50YXIuZ3oKK0xJQkxDTVNfUEFUQ0hESVI9JChMSUJMQ01TX0JBU0UpL3BhdGNoZXMKK0xJQkxD
TVNfU1VCRElSPWxjbXMyLSQoTElCTENNU19WRVJTSU9OKQorJChldmFsICQoY2FsbCBmZXRjaCxs
aWJsY21zLCQoTElCTENNU19VUkwpKSkKKyQoZXZhbCAkKGNhbGwgcGF0Y2gsbGlibGNtcywkKExJ
QkxDTVNfUEFUQ0hESVIpLCQoTElCTENNU19TVUJESVIpKSkKKworIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMKKyMgSGVscGVycworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKK0xJQkxDTVNfRVhUUkFD
VEVEID0gJChMSUJMQ01TX09SSUdJTikvbGNtczItJChMSUJMQ01TX1ZFUlNJT04pCisKKyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjCisjIExpYnJhcnkgaW5jbHVkZXMKKyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjCitMSUJMQ01TX0NPTU1PTl9JTkNMVURFUy15ICAgICAgKz0gLUkkKExJQkxDTVNfRVhU
UkFDVEVEKS9pbmNsdWRlCitMSUJMQ01TX0NPTU1PTl9JTkNMVURFUy15ICAgICAgKz0gLUkkKExJ
QkxDTVNfRVhUUkFDVEVEKS9zcmMKKworQ0lOQ0xVREVTLSQoQ09ORklHX0xJQkxDTVMpICAgICs9
ICQoTElCTENNU19DT01NT05fSU5DTFVERVMteSkKKworTElCTENNU19DSU5DTFVERVMgICArPSAt
SSQoTElCTENNU19FWFRSQUNURUQpCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIEdsb2Jh
bCBmbGFncworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgU3VwcHJlc3NlZCBmbGFncworTElC
TENNU19TVVBQUkVTU19GTEFHUyArPSAtV25vLXVudXNlZC1wYXJhbWV0ZXIgXAorCS1Xbm8tdW51
c2VkLXZhcmlhYmxlIC1Xbm8tdW51c2VkLXZhbHVlIC1Xbm8tdW51c2VkLWZ1bmN0aW9uIFwKKwkt
V25vLW1pc3NpbmctZmllbGQtaW5pdGlhbGl6ZXJzIC1Xbm8taW1wbGljaXQtZmFsbHRocm91Z2gK
K0xJQkxDTVNfQ0ZMQUdTLXkgICArPSAkKExJQkxDTVNfU1VQUFJFU1NfRkxBR1MpIFwKKwktV25v
LXBvaW50ZXItdG8taW50LWNhc3QgLVduby1pbnQtdG8tcG9pbnRlci1jYXN0CisKKworCisjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIworIyBPUyBkZXBlbmRlbmNpZXMgY29kZSAtIEdsdWUgYmV0d2Vl
biBVbmlrcmFmdCBhbmQgbGNtcworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyNMSUJMQ01TR0xV
RV9TUkNTLXkgKz0gJChMSUJMQ01TX0JBU0UpL3NhbXBsZS5jfGdsdWUKKworIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMKKyMgTENNUyBzcmMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCitMSUJMQ01T
X1NSQ1MteSArPSAkKExJQkxDTVNfRVhUUkFDVEVEKS9zcmMvY21zY252cnQuYworTElCTENNU19T
UkNTLXkgKz0gJChMSUJMQ01TX0VYVFJBQ1RFRCkvc3JjL2Ntc2Vyci5jCitMSUJMQ01TX1NSQ1Mt
eSArPSAkKExJQkxDTVNfRVhUUkFDVEVEKS9zcmMvY21zZ2FtbWEuYworTElCTENNU19TUkNTLXkg
Kz0gJChMSUJMQ01TX0VYVFJBQ1RFRCkvc3JjL2Ntc2dtdC5jCitMSUJMQ01TX1NSQ1MteSArPSAk
KExJQkxDTVNfRVhUUkFDVEVEKS9zcmMvY21zaW50cnAuYworTElCTENNU19TUkNTLXkgKz0gJChM
SUJMQ01TX0VYVFJBQ1RFRCkvc3JjL2Ntc2lvMC5jCitMSUJMQ01TX1NSQ1MteSArPSAkKExJQkxD
TVNfRVhUUkFDVEVEKS9zcmMvY21zaW8xLmMKK0xJQkxDTVNfU1JDUy15ICs9ICQoTElCTENNU19F
WFRSQUNURUQpL3NyYy9jbXNsdXQuYworTElCTENNU19TUkNTLXkgKz0gJChMSUJMQ01TX0VYVFJB
Q1RFRCkvc3JjL2Ntc3BsdWdpbi5jCitMSUJMQ01TX1NSQ1MteSArPSAkKExJQkxDTVNfRVhUUkFD
VEVEKS9zcmMvY21zc20uYworTElCTENNU19TUkNTLXkgKz0gJChMSUJMQ01TX0VYVFJBQ1RFRCkv
c3JjL2Ntc21kNS5jCitMSUJMQ01TX1NSQ1MteSArPSAkKExJQkxDTVNfRVhUUkFDVEVEKS9zcmMv
Y21zbXRyeC5jCitMSUJMQ01TX1NSQ1MteSArPSAkKExJQkxDTVNfRVhUUkFDVEVEKS9zcmMvY21z
cGFjay5jCitMSUJMQ01TX1NSQ1MteSArPSAkKExJQkxDTVNfRVhUUkFDVEVEKS9zcmMvY21zd3Rw
bnQuYworTElCTENNU19TUkNTLXkgKz0gJChMSUJMQ01TX0VYVFJBQ1RFRCkvc3JjL2Ntc3hmb3Jt
LmMKK0xJQkxDTVNfU1JDUy15ICs9ICQoTElCTENNU19FWFRSQUNURUQpL3NyYy9jbXNzYW1wLmMK
K0xJQkxDTVNfU1JDUy15ICs9ICQoTElCTENNU19FWFRSQUNURUQpL3NyYy9jbXNuYW1lZC5jCitM
SUJMQ01TX1NSQ1MteSArPSAkKExJQkxDTVNfRVhUUkFDVEVEKS9zcmMvY21zY2FtMDIuYworTElC
TENNU19TUkNTLXkgKz0gJChMSUJMQ01TX0VYVFJBQ1RFRCkvc3JjL2Ntc3ZpcnQuYworTElCTENN
U19TUkNTLXkgKz0gJChMSUJMQ01TX0VYVFJBQ1RFRCkvc3JjL2Ntc3R5cGVzLmMKK0xJQkxDTVNf
U1JDUy15ICs9ICQoTElCTENNU19FWFRSQUNURUQpL3NyYy9jbXNjZ2F0cy5jCitMSUJMQ01TX1NS
Q1MteSArPSAkKExJQkxDTVNfRVhUUkFDVEVEKS9zcmMvY21zcHMyLmMKK0xJQkxDTVNfU1JDUy15
ICs9ICQoTElCTENNU19FWFRSQUNURUQpL3NyYy9jbXNvcHQuYworTElCTENNU19TUkNTLXkgKz0g
JChMSUJMQ01TX0VYVFJBQ1RFRCkvc3JjL2Ntc2hhbGYuYworTElCTENNU19TUkNTLXkgKz0gJChM
SUJMQ01TX0VYVFJBQ1RFRCkvc3JjL2Ntc2FscGhhLmMKK0xJQkxDTVNfU1JDUy15ICs9ICQoTElC
TENNU19FWFRSQUNURUQpL3NyYy9jbXNwY3MuYworCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
CisjIExDTVMgcHJlcGFyZQorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgUnVuIC4vY29uZmln
dXJlCiskKExJQkxDTVNfRVhUUkFDVEVEKS9jb25maWcuc3RhdHVzOiAkKExJQkxDTVNfQlVJTEQp
Ly5vcmlnaW4KKwkkKGNhbGwgdmVyYm9zZV9jbWQsQ09ORklHLGxpYmxjbXM6ICQobm90ZGlyICRA
KSwgXAorCQljZCAkKExJQkxDTVNfRVhUUkFDVEVEKSAmJiAuL2NvbmZpZ3VyZSkKKworTElCTENN
U19QUkVQQVJFRF9ERVBTID0gXAorCSQoTElCTENNU19FWFRSQUNURUQpL2NvbmZpZy5zdGF0dXMg
XAorCiskKExJQkxDTVNfQlVJTEQpLy5wcmVwYXJlZDogJChMSUJMQ01TX1BSRVBBUkVEX0RFUFMp
CisKK1VLX1BSRVBBUkUgKz0gJChMSUJMQ01TX0JVSUxEKS8ucHJlcGFyZWQKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9SRUFETUUubWQgYi9SRUFETUUubWQKbmV3IGZp
bGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNDFmM2VhNQotLS0gL2Rldi9udWxsCisrKyBi
L1JFQURNRS5tZApAQCAtMCwwICsxLDcgQEAKK2xjbXMgZm9yIFVuaWtyYWZ0Cis9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQorCitUaGlzIGlzIHRoZSBwb3J0IG9mIGxjbXMgZm9yIFVuaWty
YWZ0IGFzIGV4dGVybmFsIGxpYnJhcnkuCisKK1BsZWFzZSByZWZlciB0byB0aGUgYFJFQURNRS5t
ZGAgYXMgd2VsbCBhcyB0aGUgZG9jdW1lbnRhdGlvbiBpbiB0aGUgYGRvYy9gCitzdWJkaXJlY3Rv
cnkgb2YgdGhlIG1haW4gdW5pa3JhZnQgcmVwb3NpdG9yeS4KZGlmZiAtLWdpdCBhL2V4cG9ydHN5
bXMudWsgYi9leHBvcnRzeW1zLnVrCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAu
LmM4NmMzZjMKLS0tIC9kZXYvbnVsbAorKysgYi9leHBvcnRzeW1zLnVrCkBAIC0wLDAgKzEgQEAK
K25vbmUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCi0tIAoyLjE3LjEKCgpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGlu
ZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhl
bnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Mon Dec 02 12:57:12 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 02 Dec 2019 12:57:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1iblGK-0001dz-Dv; Mon, 02 Dec 2019 12:57:12 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=72FA=ZY=neclab.eu=felipe.huici@srs-us1.protection.inumbo.net>)
 id 1iblGJ-0001do-93
 for minios-devel@lists.xen.org; Mon, 02 Dec 2019 12:57:11 +0000
X-Inumbo-ID: 3d417012-1503-11ea-83b8-bc764e2007e4
Received: from queen.nlehd.de (unknown [195.37.154.80])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id 3d417012-1503-11ea-83b8-bc764e2007e4;
 Mon, 02 Dec 2019 12:57:04 +0000 (UTC)
Received: from localhost (c431.ant-net [192.168.0.36])
 by queen.nlehd.de (Postfix) with ESMTP id 23B54411AC;
 Mon,  2 Dec 2019 13:57:04 +0100 (CET)
From: Felipe Huici <felipe.huici@neclab.eu>
To: minios-devel@lists.xen.org
Date: Mon,  2 Dec 2019 13:56:59 +0100
Message-Id: <20191202125701.31187-1-felipe.huici@neclab.eu>
X-Mailer: git-send-email 2.20.1
MIME-Version: 1.0
Subject: [Minios-devel] [UNIKRAFT PATCH v2 0/2] Changes in Support of low.js
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

V2UgYWRkIGEgc3lzaW5mbyBzdHViIGFuZCBleHBvc2UgcmVhZGRpcl9yIGFzIHRoZXkgYXJlIG5l
ZWRlZCBieSBhbgp1cGNvbWluZyBwb3J0IG9mIGxvdy5qcyAoTm9kZS5qcyBmb3IgZW1iZWRkZWQg
ZGV2aWNlcykKCkNoYW5nZXMgc2luY2UgdjE6CiAgKiBGaXggdG8gY2hlY2twYXRoIGVycm9yCiAg
KiBBZGRlZCBsaWNlbnNlIHRvIGhlYWRlciBmaWxlCgpGZWxpcGUgSHVpY2kgKDIpOgogIGxpYi92
ZnNjb3JlOiBFeHBvcnQgcmVhZGRpcl9yCiAgbGliL3Vrc3lzaW5mbzogQWRkIHN5c2luZm8gc3R1
YgoKIGxpYi91a3N5c2luZm8vZXhwb3J0c3ltcy51ayAgICAgICAgIHwgIDEgKwogbGliL3Vrc3lz
aW5mby9pbmNsdWRlL3N5cy9zeXNpbmZvLmggfCA2MiArKysrKysrKysrKysrKysrKysrKysrKysr
KysrKwogbGliL3Vrc3lzaW5mby9zeXNpbmZvLmMgICAgICAgICAgICAgfCAgNSArKysKIGxpYi92
ZnNjb3JlL2V4cG9ydHN5bXMudWsgICAgICAgICAgIHwgIDEgKwogNCBmaWxlcyBjaGFuZ2VkLCA2
OSBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgbGliL3Vrc3lzaW5mby9pbmNsdWRl
L3N5cy9zeXNpbmZvLmgKCi0tIAoyLjIwLjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZl
bEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxt
YW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Mon Dec 02 12:57:12 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 02 Dec 2019 12:57:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1iblGI-0001dh-CW; Mon, 02 Dec 2019 12:57:10 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=72FA=ZY=neclab.eu=felipe.huici@srs-us1.protection.inumbo.net>)
 id 1iblGH-0001db-1T
 for minios-devel@lists.xen.org; Mon, 02 Dec 2019 12:57:09 +0000
X-Inumbo-ID: 3e1ca8d0-1503-11ea-a407-12813bfff9fa
Received: from queen.nlehd.de (unknown [195.37.154.80])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id 3e1ca8d0-1503-11ea-a407-12813bfff9fa;
 Mon, 02 Dec 2019 12:57:06 +0000 (UTC)
Received: from localhost (c431.ant-net [192.168.0.36])
 by queen.nlehd.de (Postfix) with ESMTP id B49DF41D22;
 Mon,  2 Dec 2019 13:57:05 +0100 (CET)
From: Felipe Huici <felipe.huici@neclab.eu>
To: minios-devel@lists.xen.org
Date: Mon,  2 Dec 2019 13:57:01 +0100
Message-Id: <20191202125701.31187-3-felipe.huici@neclab.eu>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <20191202125701.31187-1-felipe.huici@neclab.eu>
References: <20191202125701.31187-1-felipe.huici@neclab.eu>
MIME-Version: 1.0
Subject: [Minios-devel] [UNIKRAFT PATCH 2/2] lib/uksysinfo: Add sysinfo stub
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

QWRkIHN5c2luZm8gc3R1YiwgbmVlZGVkIGJ5IGxvd2pzIGJ1aWxkLgoKU2lnbmVkLW9mZi1ieTog
RmVsaXBlIEh1aWNpIDxmZWxpcGUuaHVpY2lAbmVjbGFiLmV1PgotLS0KIGxpYi91a3N5c2luZm8v
ZXhwb3J0c3ltcy51ayAgICAgICAgIHwgIDEgKwogbGliL3Vrc3lzaW5mby9pbmNsdWRlL3N5cy9z
eXNpbmZvLmggfCA2MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogbGliL3Vrc3lzaW5m
by9zeXNpbmZvLmMgICAgICAgICAgICAgfCAgNSArKysKIDMgZmlsZXMgY2hhbmdlZCwgNjggaW5z
ZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGxpYi91a3N5c2luZm8vaW5jbHVkZS9zeXMv
c3lzaW5mby5oCgpkaWZmIC0tZ2l0IGEvbGliL3Vrc3lzaW5mby9leHBvcnRzeW1zLnVrIGIvbGli
L3Vrc3lzaW5mby9leHBvcnRzeW1zLnVrCmluZGV4IDczZTFmZTk5Li5kNTEzMTMzMiAxMDA2NDQK
LS0tIGEvbGliL3Vrc3lzaW5mby9leHBvcnRzeW1zLnVrCisrKyBiL2xpYi91a3N5c2luZm8vZXhw
b3J0c3ltcy51awpAQCAtMSw1ICsxLDYgQEAKIGZwYXRoY29uZgogc3lzY29uZgorc3lzaW5mbwog
Y29uZnN0cgogcGF0aGNvbmYKIGdldHBhZ2VzaXplCmRpZmYgLS1naXQgYS9saWIvdWtzeXNpbmZv
L2luY2x1ZGUvc3lzL3N5c2luZm8uaCBiL2xpYi91a3N5c2luZm8vaW5jbHVkZS9zeXMvc3lzaW5m
by5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwLi4yMTQxZjU1NQotLS0gL2Rl
di9udWxsCisrKyBiL2xpYi91a3N5c2luZm8vaW5jbHVkZS9zeXMvc3lzaW5mby5oCkBAIC0wLDAg
KzEsNjIgQEAKKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVQgKi8KKy8qIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KKyAqIENvcHlyaWdodCA8QzI+PEE5PiAyMDA1LTIwMTQgUmljaCBGZWxrZXIsIGV0IGFs
LgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0
byBhbnkgcGVyc29uIG9idGFpbmluZworICogYSBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFz
c29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCisgKiAiU29mdHdhcmUiKSwgdG8gZGVh
bCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisgKiB3aXRo
b3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1
Ymxpc2gsCisgKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2Yg
dGhlIFNvZnR3YXJlLCBhbmQgdG8KKyAqIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3
YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworICogdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zOgorICoKKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBl
cm1pc3Npb24gbm90aWNlIHNoYWxsIGJlCisgKiBpbmNsdWRlZCBpbiBhbGwgY29waWVzIG9yIHN1
YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKyAqCisgKiBUSEUgU09GVFdBUkUg
SVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFO
VElFUyBPRgorICogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorICogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhP
UlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIENMQUlNLCBEQU1B
R0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1Qs
CisgKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVD
VElPTiBXSVRIIFRIRQorICogU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJ
TiBUSEUgU09GVFdBUkUuCisgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKi8KKy8qIFRha2VuIGZyb20gbXVz
bC0xLjEuMTkgKi8KKworI2lmbmRlZiBfU1lTX1NZU0lORk9fSAorI2RlZmluZSBfU1lTX1NZU0lO
Rk9fSAorCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKyNkZWZp
bmUgU0lfTE9BRF9TSElGVCAxNgorCitzdHJ1Y3Qgc3lzaW5mbyB7CisJdW5zaWduZWQgbG9uZyB1
cHRpbWU7CisJdW5zaWduZWQgbG9uZyBsb2Fkc1szXTsKKwl1bnNpZ25lZCBsb25nIHRvdGFscmFt
OworCXVuc2lnbmVkIGxvbmcgZnJlZXJhbTsKKwl1bnNpZ25lZCBsb25nIHNoYXJlZHJhbTsKKwl1
bnNpZ25lZCBsb25nIGJ1ZmZlcnJhbTsKKwl1bnNpZ25lZCBsb25nIHRvdGFsc3dhcDsKKwl1bnNp
Z25lZCBsb25nIGZyZWVzd2FwOworCXVuc2lnbmVkIHNob3J0IHByb2NzLCBwYWQ7CisJdW5zaWdu
ZWQgbG9uZyB0b3RhbGhpZ2g7CisJdW5zaWduZWQgbG9uZyBmcmVlaGlnaDsKKwl1bnNpZ25lZCBt
ZW1fdW5pdDsKKwljaGFyIF9fcmVzZXJ2ZWRbMjU2XTsKK307CisKK2ludCBzeXNpbmZvIChzdHJ1
Y3Qgc3lzaW5mbyAqKTsKK2ludCBnZXRfbnByb2NzX2NvbmYgKHZvaWQpOworaW50IGdldF9ucHJv
Y3MgKHZvaWQpOworbG9uZyBnZXRfcGh5c19wYWdlcyAodm9pZCk7Citsb25nIGdldF9hdnBoeXNf
cGFnZXMgKHZvaWQpOworCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYK
ZGlmZiAtLWdpdCBhL2xpYi91a3N5c2luZm8vc3lzaW5mby5jIGIvbGliL3Vrc3lzaW5mby9zeXNp
bmZvLmMKaW5kZXggNmFkY2YyMjEuLmVjZWNkZWExIDEwMDY0NAotLS0gYS9saWIvdWtzeXNpbmZv
L3N5c2luZm8uYworKysgYi9saWIvdWtzeXNpbmZvL3N5c2luZm8uYwpAQCAtNTcsNiArNTcsMTEg
QEAgc3RhdGljIHN0cnVjdCB1dHNuYW1lIHV0c25hbWUgPSB7CiAjZW5kaWYKIH07CiAKK2ludCBz
eXNpbmZvKHN0cnVjdCBzeXNpbmZvICppbmZvKQoreworCXJldHVybiAtMTsKK30KKwogbG9uZyBm
cGF0aGNvbmYoaW50IGZkIF9fdW51c2VkLCBpbnQgbmFtZSBfX3VudXNlZCkKIHsKIAlyZXR1cm4g
MDsKLS0gCjIuMjAuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnBy
b2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9t
aW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Mon Dec 02 12:57:12 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 02 Dec 2019 12:57:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1iblGG-0001dU-B8; Mon, 02 Dec 2019 12:57:08 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=72FA=ZY=neclab.eu=felipe.huici@srs-us1.protection.inumbo.net>)
 id 1iblGE-0001dP-FM
 for minios-devel@lists.xen.org; Mon, 02 Dec 2019 12:57:06 +0000
X-Inumbo-ID: 3da08480-1503-11ea-83b8-bc764e2007e4
Received: from queen.nlehd.de (unknown [195.37.154.80])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id 3da08480-1503-11ea-83b8-bc764e2007e4;
 Mon, 02 Dec 2019 12:57:05 +0000 (UTC)
Received: from localhost (c110.ant-net [192.168.0.36])
 by queen.nlehd.de (Postfix) with ESMTP id E3DF1414FF;
 Mon,  2 Dec 2019 13:57:04 +0100 (CET)
From: Felipe Huici <felipe.huici@neclab.eu>
To: minios-devel@lists.xen.org
Date: Mon,  2 Dec 2019 13:57:00 +0100
Message-Id: <20191202125701.31187-2-felipe.huici@neclab.eu>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <20191202125701.31187-1-felipe.huici@neclab.eu>
References: <20191202125701.31187-1-felipe.huici@neclab.eu>
MIME-Version: 1.0
Subject: [Minios-devel] [UNIKRAFT PATCH 1/2] lib/vfscore: Export readdir_r
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

QWRkIHJlYWRkaXJfciB0byBleHBvcnRzeW1zLnVrCgpTaWduZWQtb2ZmLWJ5OiBGZWxpcGUgSHVp
Y2kgPGZlbGlwZS5odWljaUBuZWNsYWIuZXU+Ci0tLQogbGliL3Zmc2NvcmUvZXhwb3J0c3ltcy51
ayB8IDEgKwogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCgpkaWZmIC0tZ2l0IGEvbGli
L3Zmc2NvcmUvZXhwb3J0c3ltcy51ayBiL2xpYi92ZnNjb3JlL2V4cG9ydHN5bXMudWsKaW5kZXgg
NzAzOTI3MjEuLmI3ZWI0YmE1IDEwMDY0NAotLS0gYS9saWIvdmZzY29yZS9leHBvcnRzeW1zLnVr
CisrKyBiL2xpYi92ZnNjb3JlL2V4cG9ydHN5bXMudWsKQEAgLTQ5LDYgKzQ5LDcgQEAgbGNob3du
CiBvcGVuYXQKIG9wZW5kaXIKIHJlYWRkaXIKK3JlYWRkaXJfcgogcmVhZGRpcjY0CiBjbG9zZWRp
cgogcHJlYWQKLS0gCjIuMjAuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3Rz
LnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0
aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Mon Dec 02 12:59:07 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 02 Dec 2019 12:59:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1iblIA-0001ir-Np; Mon, 02 Dec 2019 12:59:06 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=72FA=ZY=neclab.eu=felipe.huici@srs-us1.protection.inumbo.net>)
 id 1iblIA-0001im-5f
 for minios-devel@lists.xenproject.org; Mon, 02 Dec 2019 12:59:06 +0000
X-Inumbo-ID: 8429475c-1503-11ea-a407-12813bfff9fa
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 8429475c-1503-11ea-a407-12813bfff9fa;
 Mon, 02 Dec 2019 12:59:04 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 13F35F2021;
 Mon,  2 Dec 2019 13:59:03 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-b.office.hd)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id Z6uutCTtYONo; Mon,  2 Dec 2019 13:59:02 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from titania.office.hd (titania.office.hd [192.168.24.89])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id CA1F3F200E;
 Mon,  2 Dec 2019 13:58:58 +0100 (CET)
Received: from oberon.office.hd (192.168.24.90) by titania.office.hd
 (192.168.24.89) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 2 Dec 2019
 13:58:58 +0100
Received: from oberon.office.hd ([192.168.126.11]) by Oberon.office.hd
 ([192.168.126.11]) with mapi id 15.01.1713.009; Mon, 2 Dec 2019 13:58:58
 +0100
From: Felipe Huici <Felipe.Huici@neclab.eu>
To: =?utf-8?B?VmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIp?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>, "minios-devel@lists.xenproject.org"
 <minios-devel@lists.xenproject.org>
Thread-Topic: [Minios-devel] [UNIKRAFT/UNIKRAFT PATCH 2/2] lib/uksysinfo: Add
 sysinfo stub
Thread-Index: AQHVeFMDFYcaiVUePEKvZ0fRQDt/TKefcYoAgAe+VIA=
Date: Mon, 2 Dec 2019 12:58:58 +0000
Message-ID: <F5D52C1C-228A-4635-862C-EA6BC6D6DBE9@neclab.eu>
References: <20191001122317.29910-1-felipe.huici@neclab.eu>
 <20191001122317.29910-3-felipe.huici@neclab.eu>
 <f201fe8b-4e0a-b1f9-e362-2aaf12147c23@stud.acs.upb.ro>
In-Reply-To: <f201fe8b-4e0a-b1f9-e362-2aaf12147c23@stud.acs.upb.ro>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: Microsoft-MacOutlook/10.10.10.191111
x-originating-ip: [192.168.24.96]
Content-ID: <31B9A30B5DC69A438432CAF4ABF2F701@office.hd>
MIME-Version: 1.0
Subject: Re: [Minios-devel] [UNIKRAFT/UNIKRAFT PATCH 2/2] lib/uksysinfo: Add
 sysinfo stub
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgVmxhZCwNCg0KVGhhbmtzIGZvciB0aGUgcmV2aWV3LCBJIHNlbnQgb3V0IGEgdjIgZml4aW5n
IGJvdGggdGhvc2UgaXNzdWVzIGp1c3Qgbm93Lg0KDQotLSBGZWxpcGUNCg0K77u/T24gMjcuMTEu
MTksIDE2OjQ0LCAiTWluaW9zLWRldmVsIG9uIGJlaGFsZiBvZiBWbGFkLUFuZHJlaSBCxIJET0lV
ICg3ODY5MikiIDxtaW5pb3MtZGV2ZWwtYm91bmNlc0BsaXN0cy54ZW5wcm9qZWN0Lm9yZyBvbiBi
ZWhhbGYgb2YgdmxhZF9hbmRyZWkuYmFkb2l1QHN0dWQuYWNzLnVwYi5ybz4gd3JvdGU6DQoNCiAg
ICBIZXkgRmVsaXBlDQogICAgDQogICAgVGhpcyBwYXRjaCBmYWlscyB0aGUgY2hlY2twYXRoLiBB
bHNvLCB3ZSBzaG91bGQgYWRkIGEgbGljZW5zZSB0byBzeXNpbmZvLmguDQogICAgDQogICAgVGhh
bmtzLA0KICAgIA0KICAgIFZsYWQNCiAgICANCiAgICBPbiAwMS4xMC4yMDE5IDE1OjIzLCBGZWxp
cGUgSHVpY2kgd3JvdGU6DQogICAgPiBBZGQgc3lzaW5mbyBzdHViLCBuZWVkZWQgYnkgbG93anMg
YnVpbGQuDQogICAgPg0KICAgID4gU2lnbmVkLW9mZi1ieTogRmVsaXBlIEh1aWNpIDxmZWxpcGUu
aHVpY2lAbmVjbGFiLmV1Pg0KICAgID4gLS0tDQogICAgPiAgIGxpYi91a3N5c2luZm8vZXhwb3J0
c3ltcy51ayAgICAgICAgIHwgIDEgKw0KICAgID4gICBsaWIvdWtzeXNpbmZvL2luY2x1ZGUvc3lz
L3N5c2luZm8uaCB8IDM3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCiAg
ICA+ICAgbGliL3Vrc3lzaW5mby9zeXNpbmZvLmMgICAgICAgICAgICAgfCAgNSArKysrKw0KICAg
ID4gICAzIGZpbGVzIGNoYW5nZWQsIDQzIGluc2VydGlvbnMoKykNCiAgICA+ICAgY3JlYXRlIG1v
ZGUgMTAwNjQ0IGxpYi91a3N5c2luZm8vaW5jbHVkZS9zeXMvc3lzaW5mby5oDQogICAgPg0KICAg
ID4gZGlmZiAtLWdpdCBhL2xpYi91a3N5c2luZm8vZXhwb3J0c3ltcy51ayBiL2xpYi91a3N5c2lu
Zm8vZXhwb3J0c3ltcy51aw0KICAgID4gaW5kZXggNzNlMWZlOTkuLmQ1MTMxMzMyIDEwMDY0NA0K
ICAgID4gLS0tIGEvbGliL3Vrc3lzaW5mby9leHBvcnRzeW1zLnVrDQogICAgPiArKysgYi9saWIv
dWtzeXNpbmZvL2V4cG9ydHN5bXMudWsNCiAgICA+IEBAIC0xLDUgKzEsNiBAQA0KICAgID4gICBm
cGF0aGNvbmYNCiAgICA+ICAgc3lzY29uZg0KICAgID4gK3N5c2luZm8NCiAgICA+ICAgY29uZnN0
cg0KICAgID4gICBwYXRoY29uZg0KICAgID4gICBnZXRwYWdlc2l6ZQ0KICAgID4gZGlmZiAtLWdp
dCBhL2xpYi91a3N5c2luZm8vaW5jbHVkZS9zeXMvc3lzaW5mby5oIGIvbGliL3Vrc3lzaW5mby9p
bmNsdWRlL3N5cy9zeXNpbmZvLmgNCiAgICA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQogICAgPiBp
bmRleCAwMDAwMDAwMC4uNDUxYTIwMDQNCiAgICA+IC0tLSAvZGV2L251bGwNCiAgICA+ICsrKyBi
L2xpYi91a3N5c2luZm8vaW5jbHVkZS9zeXMvc3lzaW5mby5oDQogICAgPiBAQCAtMCwwICsxLDM3
IEBADQogICAgPiArLyogVGFrZW4gZnJvbSBtdXNsLTEuMS4xOSAqLw0KICAgID4gKyNpZm5kZWYg
X1NZU19TWVNJTkZPX0gNCiAgICA+ICsjZGVmaW5lIF9TWVNfU1lTSU5GT19IDQogICAgPiArDQog
ICAgPiArI2lmZGVmIF9fY3BsdXNwbHVzDQogICAgPiArZXh0ZXJuICJDIiB7DQogICAgPiArI2Vu
ZGlmDQogICAgPiArDQogICAgPiArI2RlZmluZSBTSV9MT0FEX1NISUZUIDE2DQogICAgPiArDQog
ICAgPiArc3RydWN0IHN5c2luZm8gew0KICAgID4gKwl1bnNpZ25lZCBsb25nIHVwdGltZTsNCiAg
ICA+ICsJdW5zaWduZWQgbG9uZyBsb2Fkc1szXTsNCiAgICA+ICsJdW5zaWduZWQgbG9uZyB0b3Rh
bHJhbTsNCiAgICA+ICsJdW5zaWduZWQgbG9uZyBmcmVlcmFtOw0KICAgID4gKwl1bnNpZ25lZCBs
b25nIHNoYXJlZHJhbTsNCiAgICA+ICsJdW5zaWduZWQgbG9uZyBidWZmZXJyYW07DQogICAgPiAr
CXVuc2lnbmVkIGxvbmcgdG90YWxzd2FwOw0KICAgID4gKwl1bnNpZ25lZCBsb25nIGZyZWVzd2Fw
Ow0KICAgID4gKwl1bnNpZ25lZCBzaG9ydCBwcm9jcywgcGFkOw0KICAgID4gKwl1bnNpZ25lZCBs
b25nIHRvdGFsaGlnaDsNCiAgICA+ICsJdW5zaWduZWQgbG9uZyBmcmVlaGlnaDsNCiAgICA+ICsJ
dW5zaWduZWQgbWVtX3VuaXQ7DQogICAgPiArCWNoYXIgX19yZXNlcnZlZFsyNTZdOw0KICAgID4g
K307DQogICAgPiArDQogICAgPiAraW50IHN5c2luZm8gKHN0cnVjdCBzeXNpbmZvICopOw0KICAg
ID4gK2ludCBnZXRfbnByb2NzX2NvbmYgKHZvaWQpOw0KICAgID4gK2ludCBnZXRfbnByb2NzICh2
b2lkKTsNCiAgICA+ICtsb25nIGdldF9waHlzX3BhZ2VzICh2b2lkKTsNCiAgICA+ICtsb25nIGdl
dF9hdnBoeXNfcGFnZXMgKHZvaWQpOw0KICAgID4gKw0KICAgID4gKyNpZmRlZiBfX2NwbHVzcGx1
cw0KICAgID4gK30NCiAgICA+ICsjZW5kaWYNCiAgICA+ICsNCiAgICA+ICsjZW5kaWYNCiAgICA+
IGRpZmYgLS1naXQgYS9saWIvdWtzeXNpbmZvL3N5c2luZm8uYyBiL2xpYi91a3N5c2luZm8vc3lz
aW5mby5jDQogICAgPiBpbmRleCBiNTQ2ZDdiZi4uZDdlMmY4MGUgMTAwNjQ0DQogICAgPiAtLS0g
YS9saWIvdWtzeXNpbmZvL3N5c2luZm8uYw0KICAgID4gKysrIGIvbGliL3Vrc3lzaW5mby9zeXNp
bmZvLmMNCiAgICA+IEBAIC01Nyw2ICs1NywxMSBAQCBzdGF0aWMgc3RydWN0IHV0c25hbWUgdXRz
bmFtZSA9IHsNCiAgICA+ICAgI2VuZGlmDQogICAgPiAgIH07DQogICAgPiAgIA0KICAgID4gK2lu
dCBzeXNpbmZvKHN0cnVjdCBzeXNpbmZvICppbmZvKQ0KICAgID4gK3sNCiAgICA+ICsgICAgICAg
IHJldHVybiAtMTsNCiAgICA+ICt9DQogICAgPiArDQogICAgPiAgIGxvbmcgZnBhdGhjb25mKGlu
dCBmZCBfX3VudXNlZCwgaW50IG5hbWUgX191bnVzZWQpDQogICAgPiAgIHsNCiAgICA+ICAgCXJl
dHVybiAwOw0KICAgIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fDQogICAgTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdA0KICAgIE1pbmlvcy1kZXZlbEBsaXN0
cy54ZW5wcm9qZWN0Lm9yZw0KICAgIGh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1h
bi9saXN0aW5mby9taW5pb3MtZGV2ZWwNCg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxA
bGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFu
L2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Mon Dec 02 14:08:51 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 02 Dec 2019 14:08:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ibmNd-0007D5-IF; Mon, 02 Dec 2019 14:08:49 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=v7mX=ZY=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1ibmNc-0007D0-8U
 for minios-devel@lists.xen.org; Mon, 02 Dec 2019 14:08:48 +0000
X-Inumbo-ID: 415b1964-150d-11ea-83b8-bc764e2007e4
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 415b1964-150d-11ea-83b8-bc764e2007e4;
 Mon, 02 Dec 2019 14:08:47 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 11F6410418E;
 Mon,  2 Dec 2019 15:08:46 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-a.office.hd)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id ZfbUGmpRG0XM; Mon,  2 Dec 2019 15:08:45 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from puck.office.hd (puck.office.hd [192.168.24.91])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id DBE5710412B;
 Mon,  2 Dec 2019 15:08:45 +0100 (CET)
Received: from [10.1.2.204] (192.168.24.96) by puck.office.hd (192.168.24.91)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 2 Dec 2019
 15:08:45 +0100
To: =?UTF-8?Q?Vlad-Andrei_B=c4=82DOIU_=2878692=29?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>, "minios-devel@lists.xen.org"
 <minios-devel@lists.xen.org>
References: <20191127124137.10618-1-vlad_andrei.badoiu@stud.acs.upb.ro>
 <20191127124137.10618-4-vlad_andrei.badoiu@stud.acs.upb.ro>
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
Message-ID: <41598ecd-df2c-a1dc-ffb5-ad541a414263@neclab.eu>
Date: Mon, 2 Dec 2019 15:08:44 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:60.0)
 Gecko/20100101 Thunderbird/60.9.1
MIME-Version: 1.0
In-Reply-To: <20191127124137.10618-4-vlad_andrei.badoiu@stud.acs.upb.ro>
Content-Language: en-US
X-Originating-IP: [192.168.24.96]
X-ClientProxiedBy: puck.office.hd (192.168.24.91) To puck.office.hd
 (192.168.24.91)
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v5 3/4] lib/ukswrand: Add ChaCha
 algorithm
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: "felipe.huici@neclab.eu" <felipe.huici@neclab.eu>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

UmV2aWV3ZWQtYnk6IFNpbW9uIEt1ZW56ZXIgPHNpbW9uLmt1ZW56ZXJAbmVjbGFiLmV1PgoKT24g
MjcuMTEuMTkgMTM6NDEsIFZsYWQtQW5kcmVpIELEgkRPSVUgKDc4NjkyKSB3cm90ZToKPiBGcm9t
OiBWbGFkLUFuZHJlaSBCxIJET0lVICg3ODY5MikgPHZsYWRfYW5kcmVpLmJhZG9pdUBzdHVkLmFj
cy51cGIucm8+Cj4gCj4gQ2hhQ2hhMjAgaXMgYSBjcnlwdG9ncmFwaGljYWxseSBzZWN1cmUgcHNl
dWRvcmFuZG9tIG51bWJlciBnZW5lcmF0b3IuIFdlIHJlcGxhY2UKPiB0aGUgZXhpc3RpbmcgaW1w
bGVtZW50YXRpb24sIHdoaWNoIGlzIG5vdCBzZWN1cmUsIHdpdGggQ2hhQ2hhMjAuIFRoZQo+IGlt
cGxlbWVudGF0aW9uIGlzIGJhc2VkIG9uIHRoZSByZWZlcmVuY2UgaW1wbGVtZW50YXRpb24gb2Yg
dGhlIGF1dGhvclsxXS4KPiAKPiBbMV0gaHR0cDovL2NyLnlwLnRvL3N0cmVhbWNpcGhlcnMvdGlt
aW5ncy9lc3RyZWFtYmVuY2gvc3VibWlzc2lvbnMvc2Fsc2EyMC9jaGFjaGE4L3JlZi9jaGFjaGEu
Ywo+IAo+IFNpZ25lZC1vZmYtYnk6IFZsYWQtQW5kcmVpIEJhZG9pdSA8dmxhZF9hbmRyZWkuYmFk
b2l1QHN0dWQuYWNzLnVwYi5ybz4KPiAtLS0KPiAgIGxpYi91a3N3cmFuZC9Db25maWcudWsgICB8
ICAgNyArLQo+ICAgbGliL3Vrc3dyYW5kL01ha2VmaWxlLnVrIHwgICAxICsKPiAgIGxpYi91a3N3
cmFuZC9jaGFjaGEuYyAgICB8IDE2MCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysKPiAgIGxpYi91a3N3cmFuZC9zd3JhbmQuYyAgICB8ICAgNyArLQo+ICAgNCBmaWxlcyBj
aGFuZ2VkLCAxNzMgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKPiAgIGNyZWF0ZSBtb2Rl
IDEwMDY0NCBsaWIvdWtzd3JhbmQvY2hhY2hhLmMKPiAKPiBkaWZmIC0tZ2l0IGEvbGliL3Vrc3dy
YW5kL0NvbmZpZy51ayBiL2xpYi91a3N3cmFuZC9Db25maWcudWsKPiBpbmRleCBlMDU2YjRjNS4u
MTk5ZmE2MmIgMTAwNjQ0Cj4gLS0tIGEvbGliL3Vrc3dyYW5kL0NvbmZpZy51awo+ICsrKyBiL2xp
Yi91a3N3cmFuZC9Db25maWcudWsKPiBAQCAtNiwxMiArNiwxNyBAQCBtZW51Y29uZmlnIExJQlVL
U1dSQU5ECj4gICBpZiBMSUJVS1NXUkFORAo+ICAgY2hvaWNlCj4gICAJcHJvbXB0ICJBbGdvcml0
aG0iCj4gLQlkZWZhdWx0IExJQlVLU1dSQU5EX01XQwo+ICsJZGVmYXVsdCBMSUJVS1NXUkFORF9D
SEFDSEEKPiAgIAo+ICAgY29uZmlnIExJQlVLU1dSQU5EX01XQwo+ICAgCWJvb2wgIk11bHRpcGx5
LXdpdGgtY2FycnkiCj4gICAJaGVscAo+ICAgCQlVc2UgbXVsdGlwbHktd2l0aC1jYXJyeSBhbGdv
cml0aG0KPiArCj4gK2NvbmZpZyBMSUJVS1NXUkFORF9DSEFDSEEKPiArCWJvb2wgIkNoYUNoYTIw
Igo+ICsJaGVscAo+ICsJCVVzZSBDaGFDaGEyMCBhbGdvcml0aG0KPiAgIGVuZGNob2ljZQo+ICAg
Cj4gICBjaG9pY2UKPiBkaWZmIC0tZ2l0IGEvbGliL3Vrc3dyYW5kL01ha2VmaWxlLnVrIGIvbGli
L3Vrc3dyYW5kL01ha2VmaWxlLnVrCj4gaW5kZXggZGE4NWQzODEuLmZlNmE2M2UxIDEwMDY0NAo+
IC0tLSBhL2xpYi91a3N3cmFuZC9NYWtlZmlsZS51awo+ICsrKyBiL2xpYi91a3N3cmFuZC9NYWtl
ZmlsZS51awo+IEBAIC00LDYgKzQsNyBAQCBDSU5DTFVERVMtJChDT05GSUdfTElCVUtTV1JBTkQp
CSs9IC1JJChMSUJVS1NXUkFORF9CQVNFKS9pbmNsdWRlCj4gICBDWFhJTkNMVURFUy0kKENPTkZJ
R19MSUJVS1NXUkFORCkgKz0gLUkkKExJQlVLU1dSQU5EX0JBU0UpL2luY2x1ZGUKPiAgIAo+ICAg
TElCVUtTV1JBTkRfU1JDUy0kKENPTkZJR19MSUJVS1NXUkFORF9NV0MpICs9ICQoTElCVUtTV1JB
TkRfQkFTRSkvbXdjLmMKPiArTElCVUtTV1JBTkRfU1JDUy0kKENPTkZJR19MSUJVS1NXUkFORF9D
SEFDSEEpICs9ICQoTElCVUtTV1JBTkRfQkFTRSkvY2hhY2hhLmMKPiAgIExJQlVLU1dSQU5EX1NS
Q1MtJChDT05GSUdfTElCVUtTV1JBTkRfREVWRlMpICs9ICQoTElCVUtTV1JBTkRfQkFTRSkvZGV2
LmMKPiAgIExJQlVLU1dSQU5EX1NSQ1MteSArPSAkKExJQlVLU1dSQU5EX0JBU0UpL3N3cmFuZC5j
Cj4gICBMSUJVS1NXUkFORF9TUkNTLXkgKz0gJChMSUJVS1NXUkFORF9CQVNFKS9nZXRyYW5kb20u
Ywo+IGRpZmYgLS1naXQgYS9saWIvdWtzd3JhbmQvY2hhY2hhLmMgYi9saWIvdWtzd3JhbmQvY2hh
Y2hhLmMKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAwLi4wY2UxYjk5Mgo+
IC0tLSAvZGV2L251bGwKPiArKysgYi9saWIvdWtzd3JhbmQvY2hhY2hhLmMKPiBAQCAtMCwwICsx
LDE2MCBAQAo+ICsvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlICovCj4g
Ky8qCj4gKyAqIEF1dGhvcnM6IFZsYWQtQW5kcmVpIEJhZG9pdSA8dmxhZF9hbmRyZWkuYmFkb2l1
QHN0dWQuYWNzLnVwYi5ybz4KPiArICoKPiArICogQ29weXJpZ2h0IChjKSAyMDE5LCBVbml2ZXJz
aXR5IFBvbGl0ZWhuaWNhIG9mIEJ1Y2hhcmVzdC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KPiArICoK
PiArICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0Cj4gKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwo+ICsgKiBhcmUgbWV0Ogo+ICsgKgo+ICsg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAo+ICsgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCj4gKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cj4gKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKPiArICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KPiArICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0
aGUgY29weXJpZ2h0IGhvbGRlciBub3IgdGhlIG5hbWVzIG9mIGl0cwo+ICsgKiAgICBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbQo+ICsgKiAgICB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgo+ICsgKgo+ICsgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIKPiArICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQo+ICsgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQo+ICsgKiBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJF
Cj4gKyAqIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKPiArICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKPiArICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
Cj4gKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCj4gKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCj4gKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFCj4gKyAqIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgo+ICsgKgo+ICsgKiBU
SElTIEhFQURFUiBNQVkgTk9UIEJFIEVYVFJBQ1RFRCBPUiBNT0RJRklFRCBJTiBBTlkgV0FZLgo+
ICsgKi8KPiArCj4gKyNpbmNsdWRlIDxzdHJpbmcuaD4KPiArI2luY2x1ZGUgPHVrL3N3cmFuZC5o
Pgo+ICsjaW5jbHVkZSA8dWsvcHJpbnQuaD4KPiArI2luY2x1ZGUgPHVrL2Fzc2VydC5oPgo+ICsj
aW5jbHVkZSA8dWsvY3RvcnMuaD4KPiArCj4gK3N0cnVjdCB1a19zd3JhbmQgewo+ICsJaW50IGs7
Cj4gKwlfX3UzMiBpbnB1dFsxNl0sIG91dHB1dFsxNl07Cj4gK307Cj4gKwo+ICtzdHJ1Y3QgdWtf
c3dyYW5kIHVrX3N3cmFuZF9kZWY7Cj4gKwo+ICsvKiBUaGlzIHZhbHVlIGlzbid0IGltcG9ydGFu
dCwgYXMgbG9uZyBhcyBpdCdzIHN1ZmZpY2llbnRseSBhc3ltbWV0cmljICovCj4gK3N0YXRpYyBj
b25zdCBjaGFyIHNpZ21hWzE2XSA9ICJleHBhbmQgMzItYnl0ZSBrIjsKPiArCj4gK3N0YXRpYyBp
bmxpbmUgX191MzIgX3VrX3JvdGwzMihfX3UzMiB2LCBpbnQgYykKPiArewo+ICsJcmV0dXJuICh2
IDw8IGMpIHwgKHYgPj4gKDMyIC0gYykpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW5saW5lIHZvaWQg
X3VrX3F1YXJ0ZXJyb3VuZChfX3UzMiB4WzE2XSwgaW50IGEsIGludCBiLCBpbnQgYywgaW50IGQp
Cj4gK3sKPiArCXhbYV0gPSB4W2FdICsgeFtiXTsKPiArCXhbZF0gPSBfdWtfcm90bDMyKHhbZF0g
XiB4W2FdLCAxNik7Cj4gKwo+ICsJeFtjXSA9IHhbY10gKyB4W2RdOwo+ICsJeFtiXSA9IF91a19y
b3RsMzIoeFtiXSBeIHhbY10sIDEyKTsKPiArCj4gKwl4W2FdID0geFthXSArIHhbYl07Cj4gKwl4
W2RdID0gX3VrX3JvdGwzMih4W2RdIF4geFthXSwgOCk7Cj4gKwo+ICsJeFtjXSA9IHhbY10gKyB4
W2RdOwo+ICsJeFtiXSA9IF91a19yb3RsMzIoeFtiXSBeIHhbY10sIDcpOwo+ICt9Cj4gKwo+ICtz
dGF0aWMgaW5saW5lIHZvaWQKPiArX3VrX3NhbHNhMjBfd29yZHRvYnl0ZShfX3UzMiBvdXRwdXRb
MTZdLCBjb25zdCBfX3UzMiBpbnB1dFsxNl0pCj4gK3sKPiArCV9fdTMyIGk7Cj4gKwo+ICsJZm9y
IChpID0gMDsgaSA8IDE2OyBpKyspCj4gKwkJb3V0cHV0W2ldID0gaW5wdXRbaV07Cj4gKwo+ICsJ
Zm9yIChpID0gODsgaSA+IDA7IGkgLT0gMikgewo+ICsJCV91a19xdWFydGVycm91bmQob3V0cHV0
LCAwLCA0LCA4LCAxMik7Cj4gKwkJX3VrX3F1YXJ0ZXJyb3VuZChvdXRwdXQsIDEsIDUsIDksIDEz
KTsKPiArCQlfdWtfcXVhcnRlcnJvdW5kKG91dHB1dCwgMiwgNiwgMTAsIDE0KTsKPiArCQlfdWtf
cXVhcnRlcnJvdW5kKG91dHB1dCwgMywgNywgMTEsIDE1KTsKPiArCQlfdWtfcXVhcnRlcnJvdW5k
KG91dHB1dCwgMCwgNSwgMTAsIDE1KTsKPiArCQlfdWtfcXVhcnRlcnJvdW5kKG91dHB1dCwgMSwg
NiwgMTEsIDEyKTsKPiArCQlfdWtfcXVhcnRlcnJvdW5kKG91dHB1dCwgMiwgNywgOCwgMTMpOwo+
ICsJCV91a19xdWFydGVycm91bmQob3V0cHV0LCAzLCA0LCA5LCAxNCk7Cj4gKwl9Cj4gKwo+ICsJ
Zm9yIChpID0gMDsgaSA8IDE2OyBpKyspCj4gKwkJb3V0cHV0W2ldICs9IGlucHV0W2ldOwo+ICt9
Cj4gKwo+ICtzdGF0aWMgaW5saW5lIHZvaWQgX3VrX2tleV9zZXR1cChzdHJ1Y3QgdWtfc3dyYW5k
ICpyLCBfX3UzMiBrWzhdKQo+ICt7Cj4gKwlpbnQgaTsKPiArCj4gKwlmb3IgKGkgPSAwOyBpIDwg
ODsgaSsrKQo+ICsJCXItPmlucHV0W2kgKyA0XSA9IGtbaV07Cj4gKwo+ICsJZm9yIChpID0gMDsg
aSA8IDQ7IGkrKykKPiArCQlyLT5pbnB1dFtpXSA9ICgoX191MzIgKilzaWdtYSlbaV07Cj4gK30K
PiArCj4gK3N0YXRpYyBpbmxpbmUgdm9pZCBfdWtfaXZfc2V0dXAoc3RydWN0IHVrX3N3cmFuZCAq
ciwgX191MzIgaXZbMl0pCj4gK3sKPiArCXItPmlucHV0WzEyXSA9IDA7Cj4gKwlyLT5pbnB1dFsx
M10gPSAwOwo+ICsJci0+aW5wdXRbMTRdID0gaXZbMF07Cj4gKwlyLT5pbnB1dFsxNV0gPSBpdlsx
XTsKPiArfQo+ICsKPiArc3RhdGljIGlubGluZSBfX3UzMiBfaW5mdmVjX3ZhbCh1bnNpZ25lZCBp
bnQgYywgY29uc3QgX191MzIgdltdLAo+ICsJCXVuc2lnbmVkIGludCBwb3MpCj4gK3sKPiArCWlm
IChjID09IDApCj4gKwkJcmV0dXJuIDB4MDsKPiArCXJldHVybiB2W3BvcyAlIGNdOwo+ICt9Cj4g
Kwo+ICt2b2lkIHVrX3N3cmFuZF9pbml0X3Ioc3RydWN0IHVrX3N3cmFuZCAqciwgdW5zaWduZWQg
aW50IHNlZWRjLAo+ICsJCWNvbnN0IF9fdTMyIHNlZWR2W10pCj4gK3sKPiArCV9fdTMyIGk7Cj4g
Kwo+ICsJVUtfQVNTRVJUKHIpOwo+ICsJLyogSW5pdGlhbGl6ZSBjaGFjaGEgKi8KPiArCV9fdTMy
IGtbOF0sIGl2WzJdOwo+ICsKPiArCWZvciAoaSA9IDA7IGkgPCA4OyBpKyspCj4gKwkJa1tpXSA9
IF9pbmZ2ZWNfdmFsKDEwLCBzZWVkdiwgaSk7Cj4gKwo+ICsJaXZbMF0gPSBfaW5mdmVjX3ZhbChz
ZWVkYywgc2VlZHYsIGkpOwo+ICsJaXZbMV0gPSBfaW5mdmVjX3ZhbChzZWVkYywgc2VlZHYsIGkg
KyAxKTsKPiArCj4gKwlfdWtfa2V5X3NldHVwKHIsIGspOwo+ICsJX3VrX2l2X3NldHVwKHIsIGl2
KTsKPiArCj4gKwlyLT5rID0gMTY7Cj4gK30KPiArCj4gK19fdTMyIHVrX3N3cmFuZF9yYW5kcl9y
KHN0cnVjdCB1a19zd3JhbmQgKnIpCj4gK3sKPiArCV9fdTMyIHJlczsKPiArCj4gKwlmb3IgKDs7
KSB7Cj4gKwkJX3VrX3NhbHNhMjBfd29yZHRvYnl0ZShyLT5vdXRwdXQsIHItPmlucHV0KTsKPiAr
CQlyLT5pbnB1dFsxMl0gPSByLT5pbnB1dFsxMl0gKyAxOwo+ICsJCWlmIChyLT5pbnB1dFsxMl0g
PT0gMCkKPiArCQkJci0+aW5wdXRbMTNdKys7Cj4gKwo+ICsJCWlmIChyLT5rIDwgMTYpIHsKPiAr
CQkJcmVzID0gci0+b3V0cHV0W3ItPmtdOwo+ICsJCQlyLT5rICs9IDE7Cj4gKwkJCXJldHVybiBy
ZXM7Cj4gKwkJfQo+ICsKPiArCQlyLT5rID0gMDsKPiArCX0KPiArfQo+IGRpZmYgLS1naXQgYS9s
aWIvdWtzd3JhbmQvc3dyYW5kLmMgYi9saWIvdWtzd3JhbmQvc3dyYW5kLmMKPiBpbmRleCBiM2Y0
MTBmYi4uY2EyNjdiZjAgMTAwNjQ0Cj4gLS0tIGEvbGliL3Vrc3dyYW5kL3N3cmFuZC5jCj4gKysr
IGIvbGliL3Vrc3dyYW5kL3N3cmFuZC5jCj4gQEAgLTgwLDEzICs4MCwxOCBAQCBzc2l6ZV90IHVr
X3N3cmFuZF9maWxsX2J1ZmZlcih2b2lkICpidWYsIHNpemVfdCBidWZsZW4pCj4gICBzdGF0aWMg
dm9pZCBfdWtfc3dyYW5kX2N0b3Iodm9pZCkKPiAgIHsKPiAgIAl1bnNpZ25lZCBpbnQgaTsKPiAr
I2lmZGVmIENPTkZJR19MSUJVS1NXUkFORF9DSEFDSEEKPiArCXVuc2lnbmVkIGludCBzZWVkYyA9
IDEwOwo+ICsJX191MzIgc2VlZHZbMTBdOwo+ICsjZWxzZQo+ICAgCXVuc2lnbmVkIGludCBzZWVk
YyA9IDI7Cj4gICAJX191MzIgc2VlZHZbMl07Cj4gKyNlbmRpZgo+ICsJdWtfcHJfaW5mbygiSW5p
dGlhbGl6ZSByYW5kb20gbnVtYmVyIGdlbmVyYXRvci4uLlxuIik7Cj4gICAKPiAgIAlmb3IgKGkg
PSAwOyBpIDwgc2VlZGM7IGkrKykKPiAgIAkJc2VlZHZbaV0gPSB1a19zd3JhbmRyX2dlbl9zZWVk
MzIoKTsKPiAgIAo+IC0JdWtfcHJfaW5mbygiSW5pdGlhbGl6ZSByYW5kb20gbnVtYmVyIGdlbmVy
YXRvci4uLlxuIik7Cj4gICAJdWtfc3dyYW5kX2luaXRfcigmdWtfc3dyYW5kX2RlZiwgc2VlZGMs
IHNlZWR2KTsKPiAgIH0KPiAgIAo+IAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlz
dHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xp
c3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Mon Dec 02 14:08:55 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 02 Dec 2019 14:08:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ibmNj-0007DX-K4; Mon, 02 Dec 2019 14:08:55 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=v7mX=ZY=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1ibmNh-0007DP-Up
 for minios-devel@lists.xen.org; Mon, 02 Dec 2019 14:08:53 +0000
X-Inumbo-ID: 44ffe0e0-150d-11ea-a55d-bc764e2007e4
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 44ffe0e0-150d-11ea-a55d-bc764e2007e4;
 Mon, 02 Dec 2019 14:08:53 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 36356F2021;
 Mon,  2 Dec 2019 15:08:52 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-b.office.hd)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id 0lLnNmNK5HxY; Mon,  2 Dec 2019 15:08:52 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from puck.office.hd (puck.office.hd [192.168.24.91])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id EDE5AF200E;
 Mon,  2 Dec 2019 15:08:47 +0100 (CET)
Received: from [10.1.2.204] (192.168.24.96) by puck.office.hd (192.168.24.91)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 2 Dec 2019
 15:08:47 +0100
To: =?UTF-8?Q?Vlad-Andrei_B=c4=82DOIU_=2878692=29?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>, "minios-devel@lists.xen.org"
 <minios-devel@lists.xen.org>
References: <20191127124137.10618-1-vlad_andrei.badoiu@stud.acs.upb.ro>
 <20191127124137.10618-2-vlad_andrei.badoiu@stud.acs.upb.ro>
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
Message-ID: <a7869c46-a57e-367c-cee0-7239dd7654e6@neclab.eu>
Date: Mon, 2 Dec 2019 15:08:47 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:60.0)
 Gecko/20100101 Thunderbird/60.9.1
MIME-Version: 1.0
In-Reply-To: <20191127124137.10618-2-vlad_andrei.badoiu@stud.acs.upb.ro>
Content-Language: en-US
X-Originating-IP: [192.168.24.96]
X-ClientProxiedBy: oberon.office.hd (192.168.24.90) To puck.office.hd
 (192.168.24.91)
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v5 1/4] lib/ukswrand: Adapt the
 library to work with multiple algorithms
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: "felipe.huici@neclab.eu" <felipe.huici@neclab.eu>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

UmV2aWV3ZWQtYnk6IFNpbW9uIEt1ZW56ZXIgPHNpbW9uLmt1ZW56ZXJAbmVjbGFiLmV1PgoKT24g
MjcuMTEuMTkgMTM6NDEsIFZsYWQtQW5kcmVpIELEgkRPSVUgKDc4NjkyKSB3cm90ZToKPiBGcm9t
OiBWbGFkLUFuZHJlaSBCxIJET0lVICg3ODY5MikgPHZsYWRfYW5kcmVpLmJhZG9pdUBzdHVkLmFj
cy51cGIucm8+Cj4gCj4gV2UgbW92ZSB0aGUgY29tbW9uIGZ1bmN0aW9uLCB1a19zd3JhbmRfZmls
bF9idWZmZXIsIHRvIHN3cmFuZC5jIGFuZCBtb3ZlCj4gdGhlIGNvbW1vbiBkZWZpbml0aW9ucyB0
byBpbmNsdWRlL3VrL3N3cmFuZC5oLgo+IAo+IFNpZ25lZC1vZmYtYnk6IFZsYWQtQW5kcmVpIEJh
ZG9pdSA8dmxhZF9hbmRyZWkuYmFkb2l1QHN0dWQuYWNzLnVwYi5ybz4KPiAtLS0KPiAgIGxpYi91
a3N3cmFuZC9NYWtlZmlsZS51ayAgICAgICAgIHwgIDEgKwo+ICAgbGliL3Vrc3dyYW5kL2luY2x1
ZGUvdWsvc3dyYW5kLmggfCAgOCArLS0tCj4gICBsaWIvdWtzd3JhbmQvbXdjLmMgICAgICAgICAg
ICAgICB8IDQxICsrKy0tLS0tLS0tLS0tLS0tLS0tCj4gICBsaWIvdWtzd3JhbmQvc3dyYW5kLmMg
ICAgICAgICAgICB8IDY2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gICA0IGZp
bGVzIGNoYW5nZWQsIDc0IGluc2VydGlvbnMoKyksIDQyIGRlbGV0aW9ucygtKQo+ICAgY3JlYXRl
IG1vZGUgMTAwNjQ0IGxpYi91a3N3cmFuZC9zd3JhbmQuYwo+IAo+IGRpZmYgLS1naXQgYS9saWIv
dWtzd3JhbmQvTWFrZWZpbGUudWsgYi9saWIvdWtzd3JhbmQvTWFrZWZpbGUudWsKPiBpbmRleCA2
Y2YxMjIzZS4uZGE4NWQzODEgMTAwNjQ0Cj4gLS0tIGEvbGliL3Vrc3dyYW5kL01ha2VmaWxlLnVr
Cj4gKysrIGIvbGliL3Vrc3dyYW5kL01ha2VmaWxlLnVrCj4gQEAgLTUsNCArNSw1IEBAIENYWElO
Q0xVREVTLSQoQ09ORklHX0xJQlVLU1dSQU5EKSArPSAtSSQoTElCVUtTV1JBTkRfQkFTRSkvaW5j
bHVkZQo+ICAgCj4gICBMSUJVS1NXUkFORF9TUkNTLSQoQ09ORklHX0xJQlVLU1dSQU5EX01XQykg
Kz0gJChMSUJVS1NXUkFORF9CQVNFKS9td2MuYwo+ICAgTElCVUtTV1JBTkRfU1JDUy0kKENPTkZJ
R19MSUJVS1NXUkFORF9ERVZGUykgKz0gJChMSUJVS1NXUkFORF9CQVNFKS9kZXYuYwo+ICtMSUJV
S1NXUkFORF9TUkNTLXkgKz0gJChMSUJVS1NXUkFORF9CQVNFKS9zd3JhbmQuYwo+ICAgTElCVUtT
V1JBTkRfU1JDUy15ICs9ICQoTElCVUtTV1JBTkRfQkFTRSkvZ2V0cmFuZG9tLmMKPiBkaWZmIC0t
Z2l0IGEvbGliL3Vrc3dyYW5kL2luY2x1ZGUvdWsvc3dyYW5kLmggYi9saWIvdWtzd3JhbmQvaW5j
bHVkZS91ay9zd3JhbmQuaAo+IGluZGV4IDg1MjNlMjA3Li4zNWYzZTJmZSAxMDA2NDQKPiAtLS0g
YS9saWIvdWtzd3JhbmQvaW5jbHVkZS91ay9zd3JhbmQuaAo+ICsrKyBiL2xpYi91a3N3cmFuZC9p
bmNsdWRlL3VrL3N3cmFuZC5oCj4gQEAgLTQ0LDEzICs0NCw3IEBACj4gICBleHRlcm4gIkMiIHsK
PiAgICNlbmRpZgo+ICAgCj4gLXN0cnVjdCB1a19zd3JhbmQgewo+IC0jaWZkZWYgQ09ORklHX0xJ
QlVLU1dSQU5EX01XQwo+IC0gICAgICAgIF9fdTMyIFFbNDA5Nl07Cj4gLSAgICAgICAgX191MzIg
YzsKPiAtICAgICAgICBfX3UzMiBpOwo+IC0jZW5kaWYKPiAtfTsKPiArc3RydWN0IHVrX3N3cmFu
ZDsKPiAgIAo+ICAgZXh0ZXJuIHN0cnVjdCB1a19zd3JhbmQgdWtfc3dyYW5kX2RlZjsKPiAgIAo+
IGRpZmYgLS1naXQgYS9saWIvdWtzd3JhbmQvbXdjLmMgYi9saWIvdWtzd3JhbmQvbXdjLmMKPiBp
bmRleCA4NWFiZjBjNi4uOGI0Y2NhMzAgMTAwNjQ0Cj4gLS0tIGEvbGliL3Vrc3dyYW5kL213Yy5j
Cj4gKysrIGIvbGliL3Vrc3dyYW5kL213Yy5jCj4gQEAgLTM1LDIwICszNSwxOCBAQAo+ICAgCj4g
ICAjaW5jbHVkZSA8c3RyaW5nLmg+Cj4gICAjaW5jbHVkZSA8dWsvc3dyYW5kLmg+Cj4gLSNpbmNs
dWRlIDx1ay9wcmludC5oPgo+ICAgI2luY2x1ZGUgPHVrL2Fzc2VydC5oPgo+IC0jaW5jbHVkZSA8
dWsvY3RvcnMuaD4KPiAgIAo+ICAgLyogaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlv
bnMvOTQ5MjU4MS9jLXJhbmRvbS1udW1iZXItZ2VuZXJhdGlvbi1wdXJlLWMtY29kZS1uby1saWJy
YXJpZXMtb3ItZnVuY3Rpb25zICovCj4gICAjZGVmaW5lIFBISSAweDllMzc3OWI5Cj4gLSNkZWZp
bmUgVUtfU1dSQU5EX0NUT1JfUFJJTyAgICAxCj4gICAKPiAtc3RydWN0IHVrX3N3cmFuZCB1a19z
d3JhbmRfZGVmOwo+ICtzdHJ1Y3QgdWtfc3dyYW5kIHsKPiArCV9fdTMyIFFbNDA5Nl07Cj4gKwlf
X3UzMiBjOwo+ICsJX191MzIgaTsKPiArfTsKPiAgIAo+IC0vKgo+IC0gKiBEZWNsYXJlIHRoZSBj
b25zdHJ1Y3RvciBmdW5jdGlvbiB0byBpbml0aWFsaXplIHRoZSBzd3JhbmQKPiAtICovCj4gLXN0
YXRpYyB2b2lkIF91a19zd3JhbmRfY3Rvcih2b2lkKTsKPiArc3RydWN0IHVrX3N3cmFuZCB1a19z
d3JhbmRfZGVmOwo+ICAgCj4gICB2b2lkIHVrX3N3cmFuZF9pbml0X3Ioc3RydWN0IHVrX3N3cmFu
ZCAqciwgX191MzIgc2VlZCkKPiAgIHsKPiBAQCAtOTEsMzAgKzg5LDMgQEAgX191MzIgdWtfc3dy
YW5kX3JhbmRyX3Ioc3RydWN0IHVrX3N3cmFuZCAqcikKPiAgIAlyZXR1cm4gKHItPlFbaV0gPSB5
IC0geCk7Cj4gICB9Cj4gICAKPiAtc3NpemVfdCB1a19zd3JhbmRfZmlsbF9idWZmZXIodm9pZCAq
YnVmLCBzaXplX3QgYnVmbGVuKQo+IC17Cj4gLQlzaXplX3Qgc3RlcCwgY2h1bmtfc2l6ZSwgaTsK
PiAtCV9fdTMyIHJkOwo+IC0KPiAtCXN0ZXAgPSBzaXplb2YoX191MzIpOwo+IC0JY2h1bmtfc2l6
ZSA9IGJ1ZmxlbiAlIHN0ZXA7Cj4gLQo+IC0JZm9yIChpID0gMDsgaSA8IGJ1ZmxlbiAtIGNodW5r
X3NpemU7IGkgKz0gc3RlcCkKPiAtCQkqKChjaGFyICopIGJ1ZiArIGkpID0gdWtfc3dyYW5kX3Jh
bmRyKCk7Cj4gLQo+IC0JLyogZmlsbCB0aGUgcmVtYWluaW5nIGJ5dGVzIG9mIHRoZSBidWZmZXIg
Ki8KPiAtCWlmIChjaHVua19zaXplID4gMCkgewo+IC0JCXJkID0gdWtfc3dyYW5kX3JhbmRyKCk7
Cj4gLQkJbWVtY3B5KGJ1ZiArIGksICZyZCwgY2h1bmtfc2l6ZSk7Cj4gLQl9Cj4gLQo+IC0JcmV0
dXJuIGJ1ZmxlbjsKPiAtfQo+IC0KPiAtc3RhdGljIHZvaWQgX3VrX3N3cmFuZF9jdG9yKHZvaWQp
Cj4gLXsKPiAtCXVrX3ByX2luZm8oIkluaXRpYWxpemUgcmFuZG9tIG51bWJlciBnZW5lcmF0b3Iu
Li5cbiIpOwo+IC0JdWtfc3dyYW5kX2luaXRfcigmdWtfc3dyYW5kX2RlZiwgQ09ORklHX0xJQlVL
U1dSQU5EX0lOSVRJQUxTRUVEKTsKPiAtfQo+IC0KPiAtVUtfQ1RPUl9GVU5DKFVLX1NXUkFORF9D
VE9SX1BSSU8sIF91a19zd3JhbmRfY3Rvcik7Cj4gZGlmZiAtLWdpdCBhL2xpYi91a3N3cmFuZC9z
d3JhbmQuYyBiL2xpYi91a3N3cmFuZC9zd3JhbmQuYwo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4g
aW5kZXggMDAwMDAwMDAuLmQ5NDk3YmY4Cj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2xpYi91a3N3
cmFuZC9zd3JhbmQuYwo+IEBAIC0wLDAgKzEsNjYgQEAKPiArLyogU1BEWC1MaWNlbnNlLUlkZW50
aWZpZXI6IEJTRC0zLUNsYXVzZSAqLwo+ICsvKgo+ICsgKiBDb3B5cmlnaHQgKGMpIDIwMTksIFVu
aXZlcnNpdHkgUG9saXRlaG5pY2Egb2YgQnVjaGFyZXN0LiBBbGwgcmlnaHRzIHJlc2VydmVkLgo+
ICsgKgo+ICsgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKPiArICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCj4gKyAqIGFyZSBtZXQ6Cj4gKyAq
Cj4gKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Cj4gKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KPiArICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKPiArICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQo+ICsgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgo+ICsgKiAzLiBOZWl0aGVyIHRoZSBuYW1l
IG9mIHRoZSBjb3B5cmlnaHQgaG9sZGVyIG5vciB0aGUgbmFtZXMgb2YgaXRzCj4gKyAqICAgIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tCj4gKyAqICAgIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCj4gKyAqCj4gKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIgo+ICsgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFCj4gKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCj4gKyAqIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUiBDT05UUklCVVRP
UlMgQkUKPiArICogTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgo+ICsgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgo+ICsgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKPiArICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KPiArICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKPiArICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUKPiArICogUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCj4gKyAqCj4g
KyAqIFRISVMgSEVBREVSIE1BWSBOT1QgQkUgRVhUUkFDVEVEIE9SIE1PRElGSUVEIElOIEFOWSBX
QVkuCj4gKyAqLwo+ICsjaW5jbHVkZSA8c3RyaW5nLmg+Cj4gKyNpbmNsdWRlIDx1ay9zd3JhbmQu
aD4KPiArI2luY2x1ZGUgPHVrL2N0b3JzLmg+Cj4gKyNpbmNsdWRlIDx1ay9jb25maWcuaD4KPiAr
I2luY2x1ZGUgPHVrL3ByaW50Lmg+Cj4gKwo+ICsjZGVmaW5lIFVLX1NXUkFORF9DVE9SX1BSSU8g
ICAgMQo+ICsKPiArc3NpemVfdCB1a19zd3JhbmRfZmlsbF9idWZmZXIodm9pZCAqYnVmLCBzaXpl
X3QgYnVmbGVuKQo+ICt7Cj4gKwlzaXplX3Qgc3RlcCwgY2h1bmtfc2l6ZSwgaTsKPiArCV9fdTMy
IHJkOwo+ICsKPiArCXN0ZXAgPSBzaXplb2YoX191MzIpOwo+ICsJY2h1bmtfc2l6ZSA9IGJ1Zmxl
biAlIHN0ZXA7Cj4gKwo+ICsJZm9yIChpID0gMDsgaSA8IGJ1ZmxlbiAtIGNodW5rX3NpemU7IGkg
Kz0gc3RlcCkKPiArCQkqKChjaGFyICopIGJ1ZiArIGkpID0gdWtfc3dyYW5kX3JhbmRyKCk7Cj4g
Kwo+ICsJLyogZmlsbCB0aGUgcmVtYWluaW5nIGJ5dGVzIG9mIHRoZSBidWZmZXIgKi8KPiArCWlm
IChjaHVua19zaXplID4gMCkgewo+ICsJCXJkID0gdWtfc3dyYW5kX3JhbmRyKCk7Cj4gKwkJbWVt
Y3B5KGJ1ZiArIGksICZyZCwgY2h1bmtfc2l6ZSk7Cj4gKwl9Cj4gKwo+ICsJcmV0dXJuIGJ1Zmxl
bjsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQgX3VrX3N3cmFuZF9jdG9yKHZvaWQpCj4gK3sKPiAr
CXVrX3ByX2luZm8oIkluaXRpYWxpemUgcmFuZG9tIG51bWJlciBnZW5lcmF0b3IuLi5cbiIpOwo+
ICsJdWtfc3dyYW5kX2luaXRfcigmdWtfc3dyYW5kX2RlZiwgQ09ORklHX0xJQlVLU1dSQU5EX0lO
SVRJQUxTRUVEKTsKPiArfQo+ICsKPiArVUtfQ1RPUl9GVU5DKFVLX1NXUkFORF9DVE9SX1BSSU8s
IF91a19zd3JhbmRfY3Rvcik7Cj4gCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0
cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlz
dGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Mon Dec 02 14:09:00 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 02 Dec 2019 14:09:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ibmNo-0007EK-NQ; Mon, 02 Dec 2019 14:09:00 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=v7mX=ZY=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1ibmNn-0007ED-Hb
 for minios-devel@lists.xen.org; Mon, 02 Dec 2019 14:08:59 +0000
X-Inumbo-ID: 4771aee4-150d-11ea-a407-12813bfff9fa
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 4771aee4-150d-11ea-a407-12813bfff9fa;
 Mon, 02 Dec 2019 14:08:57 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 41FB1F2021;
 Mon,  2 Dec 2019 15:08:56 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-b.office.hd)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id xmo6VRvhNQ0V; Mon,  2 Dec 2019 15:08:56 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from puck.office.hd (puck.office.hd [192.168.24.91])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 037FAF200E;
 Mon,  2 Dec 2019 15:08:52 +0100 (CET)
Received: from [10.1.2.204] (192.168.24.96) by puck.office.hd (192.168.24.91)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 2 Dec 2019
 15:08:49 +0100
To: =?UTF-8?Q?Vlad-Andrei_B=c4=82DOIU_=2878692=29?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>, "minios-devel@lists.xen.org"
 <minios-devel@lists.xen.org>
References: <20191127124137.10618-1-vlad_andrei.badoiu@stud.acs.upb.ro>
 <20191127124137.10618-3-vlad_andrei.badoiu@stud.acs.upb.ro>
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
Message-ID: <463ade03-3802-b538-08b7-7f1221141f1c@neclab.eu>
Date: Mon, 2 Dec 2019 15:08:49 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:60.0)
 Gecko/20100101 Thunderbird/60.9.1
MIME-Version: 1.0
In-Reply-To: <20191127124137.10618-3-vlad_andrei.badoiu@stud.acs.upb.ro>
Content-Language: en-US
X-Originating-IP: [192.168.24.96]
X-ClientProxiedBy: titania.office.hd (192.168.24.89) To puck.office.hd
 (192.168.24.91)
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v5 2/4] lib/ukswrand: Add seed
 generating function
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: "felipe.huici@neclab.eu" <felipe.huici@neclab.eu>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

UmV2aWV3ZWQtYnk6IFNpbW9uIEt1ZW56ZXIgPHNpbW9uLmt1ZW56ZXJAbmVjbGFiLmV1PgoKT24g
MjcuMTEuMTkgMTM6NDEsIFZsYWQtQW5kcmVpIELEgkRPSVUgKDc4NjkyKSB3cm90ZToKPiBGcm9t
OiBWbGFkLUFuZHJlaSBCxIJET0lVICg3ODY5MikgPHZsYWRfYW5kcmVpLmJhZG9pdUBzdHVkLmFj
cy51cGIucm8+Cj4gCj4gVGhpcyBwYXRjaCBhZGRzIGEgbmV3IGZ1bmN0aW9uLCBfZ2V0X3JhbmRv
bV9zZWVkMzIgZm9yIHNlZWQgZ2VuZXJhdG9uLiBJZiB0aGUKPiBwcmUtY29tcGlsZWQgY29uZmln
IG9wdGlvbiBpcyBub3Qgc2VsZWN0ZWQsIHRoZW4gcmRyYW5kIGlzIHVzZWQgb24geDg2IGFuZAo+
IHVrcGxhdF93YWxsX2Nsb2NrIG9uIEFSTS4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBWbGFkLUFuZHJl
aSBCYWRvaXUgPHZsYWRfYW5kcmVpLmJhZG9pdUBzdHVkLmFjcy51cGIucm8+Cj4gLS0tCj4gICBs
aWIvdWtzd3JhbmQvQ29uZmlnLnVrICAgICAgICAgICB8IDIyICsrKysrKysrKysrKysrKysrKyst
LS0KPiAgIGxpYi91a3N3cmFuZC9leHBvcnRzeW1zLnVrICAgICAgIHwgIDEgKwo+ICAgbGliL3Vr
c3dyYW5kL2luY2x1ZGUvdWsvc3dyYW5kLmggfCAgNSArKysrLQo+ICAgbGliL3Vrc3dyYW5kL213
Yy5jICAgICAgICAgICAgICAgfCAxMSArKysrKystLS0tLQo+ICAgbGliL3Vrc3dyYW5kL3N3cmFu
ZC5jICAgICAgICAgICAgfCAyOSArKysrKysrKysrKysrKysrKysrKysrKysrKysrLQo+ICAgNSBm
aWxlcyBjaGFuZ2VkLCA1OCBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKPiAKPiBkaWZm
IC0tZ2l0IGEvbGliL3Vrc3dyYW5kL0NvbmZpZy51ayBiL2xpYi91a3N3cmFuZC9Db25maWcudWsK
PiBpbmRleCBjNTgzNzFiYi4uZTA1NmI0YzUgMTAwNjQ0Cj4gLS0tIGEvbGliL3Vrc3dyYW5kL0Nv
bmZpZy51awo+ICsrKyBiL2xpYi91a3N3cmFuZC9Db25maWcudWsKPiBAQCAtMTQsOSArMTQsMjUg
QEAgY29uZmlnIExJQlVLU1dSQU5EX01XQwo+ICAgCQlVc2UgbXVsdGlwbHktd2l0aC1jYXJyeSBh
bGdvcml0aG0KPiAgIGVuZGNob2ljZQo+ICAgCj4gLWNvbmZpZyBMSUJVS1NXUkFORF9JTklUSUFM
U0VFRAo+IC0JaW50ICJJbml0aWFsIHJhbmRvbSBzZWVkIgo+IC0JZGVmYXVsdCAyMwo+ICtjaG9p
Y2UKPiArICAgIHByb21wdCAiSW5pdGlhbCBzZWVkIgo+ICsgICAgZGVmYXVsdCBMSUJVS1NXUkFO
RFJfSU5JVElBTFNFRURfVElNRQo+ICsKPiArY29uZmlnIExJQlVLU1dSQU5EX0lOSVRJQUxTRUVE
X1RJTUUKPiArICAgIGJvb2wgIlBsYXRmb3JtIHRpbWVzdGFtcCIKPiArCj4gK2NvbmZpZyBMSUJV
S1NXUkFORF9JTklUSUFMU0VFRF9SRFJBTkQKPiArICAgIGRlcGVuZHMgb24gQVJDSF9YODZfNjQg
JiYgKE1BUkNIX1g4Nl82NF9DT1JFSTdBVlhJKQo+ICsgICAgYm9vbCAiYHJkcmFuZGAgaW5zdHJ1
Y3Rpb24iCj4gKwo+ICtjb25maWcgTElCVUtTV1JBTkRfSU5JVElBTFNFRURfVVNFQ09OU1RBTlQK
PiArICAgIGJvb2wgIkNvbXBpbGVkLWluIGNvbnN0YW50Igo+ICtlbmRjaG9pY2UKPiArCj4gK2Nv
bmZpZyBMSUJVS1NXUkFORF9JTklUSUFMU0VFRF9DT05TVEFOVAo+ICsgICAgaW50ICJJbml0aWFs
IHNlZWQgY29uc3RhbnQiCj4gKyAgICBkZXBlbmRzIG9uIExJQlVLU1dSQU5EX0lOSVRJQUxTRUVE
X1VTRUNPTlNUQU5UCj4gKyAgICBkZWZhdWx0IDIzCj4gICAKPiAgIGNvbmZpZyBMSUJVS1NXUkFO
RF9ERVZGUwo+ICAgCWJvb2wgIlJlZ2lzdGVyIHJhbmRvbSBhbmQgdXJhbmRvbSBkZXZpY2UgdG8g
ZGV2ZnMiCj4gZGlmZiAtLWdpdCBhL2xpYi91a3N3cmFuZC9leHBvcnRzeW1zLnVrIGIvbGliL3Vr
c3dyYW5kL2V4cG9ydHN5bXMudWsKPiBpbmRleCA0OTc0NDA0Ni4uNDA3MzkzNjUgMTAwNjQ0Cj4g
LS0tIGEvbGliL3Vrc3dyYW5kL2V4cG9ydHN5bXMudWsKPiArKysgYi9saWIvdWtzd3JhbmQvZXhw
b3J0c3ltcy51awo+IEBAIC0yLDMgKzIsNCBAQCBnZXRyYW5kb20KPiAgIHVrX3N3cmFuZF9kZWYK
PiAgIHVrX3N3cmFuZF9pbml0X3IKPiAgIHVrX3N3cmFuZF9yYW5kcl9yCj4gK3VrX3N3cmFuZHJf
Z2VuX3NlZWQzMgo+IGRpZmYgLS1naXQgYS9saWIvdWtzd3JhbmQvaW5jbHVkZS91ay9zd3JhbmQu
aCBiL2xpYi91a3N3cmFuZC9pbmNsdWRlL3VrL3N3cmFuZC5oCj4gaW5kZXggMzVmM2UyZmUuLjI5
YmU4YTliIDEwMDY0NAo+IC0tLSBhL2xpYi91a3N3cmFuZC9pbmNsdWRlL3VrL3N3cmFuZC5oCj4g
KysrIGIvbGliL3Vrc3dyYW5kL2luY2x1ZGUvdWsvc3dyYW5kLmgKPiBAQCAtMzksNiArMzksNyBA
QAo+ICAgI2luY2x1ZGUgPHVrL2FyY2gvdHlwZXMuaD4KPiAgICNpbmNsdWRlIDx1ay9wbGF0L2xj
cHUuaD4KPiAgICNpbmNsdWRlIDx1ay9jb25maWcuaD4KPiArI2luY2x1ZGUgPHVrL3BsYXQvdGlt
ZS5oPgo+ICAgCj4gICAjaWZkZWYgX19jcGx1c3BsdXMKPiAgIGV4dGVybiAiQyIgewo+IEBAIC00
OCw5ICs0OSwxMSBAQCBzdHJ1Y3QgdWtfc3dyYW5kOwo+ICAgCj4gICBleHRlcm4gc3RydWN0IHVr
X3N3cmFuZCB1a19zd3JhbmRfZGVmOwo+ICAgCj4gLXZvaWQgdWtfc3dyYW5kX2luaXRfcihzdHJ1
Y3QgdWtfc3dyYW5kICpyLCBfX3UzMiBzZWVkKTsKPiArdm9pZCB1a19zd3JhbmRfaW5pdF9yKHN0
cnVjdCB1a19zd3JhbmQgKnIsIHVuc2lnbmVkIGludCBzZWVkYywKPiArCQkJY29uc3QgX191MzIg
c2VlZHZbXSk7Cj4gICBfX3UzMiB1a19zd3JhbmRfcmFuZHJfcihzdHJ1Y3QgdWtfc3dyYW5kICpy
KTsKPiAgIAo+ICtfX3UzMiB1a19zd3JhbmRyX2dlbl9zZWVkMzIodm9pZCk7Cj4gICAvKiBVc2Vz
IHRoZSBwcmUtaW5pdGlhbGl6ZWQgZGVmYXVsdCBnZW5lcmF0b3IgICovCj4gICAvKiBUT0RPOiBB
ZGQgYXNzZXJ0aW9uIHdoZW4gd2UgY2FuIHRlc3QgaWYgd2UgYXJlIGluIGludGVycnVwdCBjb250
ZXh0ICovCj4gICAvKiBUT0RPOiBSZXZpc2l0IHdpdGggbXVsdGktQ1BVIHN1cHBvcnQgKi8KPiBk
aWZmIC0tZ2l0IGEvbGliL3Vrc3dyYW5kL213Yy5jIGIvbGliL3Vrc3dyYW5kL213Yy5jCj4gaW5k
ZXggOGI0Y2NhMzAuLmYwMzJlOTUwIDEwMDY0NAo+IC0tLSBhL2xpYi91a3N3cmFuZC9td2MuYwo+
ICsrKyBiL2xpYi91a3N3cmFuZC9td2MuYwo+IEBAIC00OCwxNSArNDgsMTcgQEAgc3RydWN0IHVr
X3N3cmFuZCB7Cj4gICAKPiAgIHN0cnVjdCB1a19zd3JhbmQgdWtfc3dyYW5kX2RlZjsKPiAgIAo+
IC12b2lkIHVrX3N3cmFuZF9pbml0X3Ioc3RydWN0IHVrX3N3cmFuZCAqciwgX191MzIgc2VlZCkK
PiArdm9pZCB1a19zd3JhbmRfaW5pdF9yKHN0cnVjdCB1a19zd3JhbmQgKnIsIHVuc2lnbmVkIGlu
dCBzZWVkYywKPiArCQljb25zdCBfX3UzMiBzZWVkdltdKQo+ICAgewo+ICAgCV9fdTMyIGk7Cj4g
ICAKPiAgIAlVS19BU1NFUlQocik7Cj4gKwlVS19BU1NFUlQoc2VlZGMgPiAwKTsKPiAgIAo+IC0J
ci0+UVswXSA9IHNlZWQ7Cj4gLQlyLT5RWzFdID0gc2VlZCArIFBISTsKPiAtCXItPlFbMl0gPSBz
ZWVkICsgUEhJICsgUEhJOwo+ICsJci0+UVswXSA9IHNlZWR2WzBdOwo+ICsJci0+UVsxXSA9IHNl
ZWR2WzBdICsgUEhJOwo+ICsJci0+UVsyXSA9IHNlZWR2WzBdICsgUEhJICsgUEhJOwo+ICAgCWZv
ciAoaSA9IDM7IGkgPCA0MDk2OyBpKyspCj4gICAJCXItPlFbaV0gPSByLT5RW2kgLSAzXSBeIHIt
PlFbaSAtIDJdIF4gUEhJIF4gaTsKPiAgIAo+IEBAIC04OCw0ICs5MCwzIEBAIF9fdTMyIHVrX3N3
cmFuZF9yYW5kcl9yKHN0cnVjdCB1a19zd3JhbmQgKnIpCj4gICAJci0+YyA9IGM7Cj4gICAJcmV0
dXJuIChyLT5RW2ldID0geSAtIHgpOwo+ICAgfQo+IC0KPiBkaWZmIC0tZ2l0IGEvbGliL3Vrc3dy
YW5kL3N3cmFuZC5jIGIvbGliL3Vrc3dyYW5kL3N3cmFuZC5jCj4gaW5kZXggZDk0OTdiZjguLmIz
ZjQxMGZiIDEwMDY0NAo+IC0tLSBhL2xpYi91a3N3cmFuZC9zd3JhbmQuYwo+ICsrKyBiL2xpYi91
a3N3cmFuZC9zd3JhbmQuYwo+IEBAIC0zNyw2ICszNywyNiBAQAo+ICAgCj4gICAjZGVmaW5lIFVL
X1NXUkFORF9DVE9SX1BSSU8gICAgMQo+ICAgCj4gK19fdTMyIHVrX3N3cmFuZHJfZ2VuX3NlZWQz
Mih2b2lkKQo+ICt7Cj4gKwlfX3UzMiB2YWw7Cj4gKwo+ICsjaWZkZWYgQ09ORklHX0xJQlVLU1dS
QU5EX0lOSVRJQUxTRUVEX1RJTUUKPiArCXZhbCA9IChfX3UzMil1a3BsYXRfd2FsbF9jbG9jaygp
Owo+ICsjZW5kaWYKPiArCj4gKyNpZmRlZiBDT05GSUdfTElCVUtTV1JBTkRfSU5JVElBTFNFRURf
UkRSQU5ECj4gKwlhc20gdm9sYXRpbGUgKCJyZHJhbmQgJSVlYXg7Igo+ICsJCTogIj1hIiAodmFs
KSk7Cj4gKyNlbmRpZgo+ICsKPiArI2lmZGVmIENPTkZJR19MSUJVS1NXUkFORF9JTklUSUFMU0VF
RF9VU0VDT05TVEFOVAo+ICsJdmFsID0gQ09ORklHX0xJQlVLU1dSQU5EX0lOSVRJQUxTRUVEX0NP
TlNUQU5UOwo+ICsjZW5kaWYKPiArCj4gKwlyZXR1cm4gdmFsOwo+ICt9Cj4gKwo+ICAgc3NpemVf
dCB1a19zd3JhbmRfZmlsbF9idWZmZXIodm9pZCAqYnVmLCBzaXplX3QgYnVmbGVuKQo+ICAgewo+
ICAgCXNpemVfdCBzdGVwLCBjaHVua19zaXplLCBpOwo+IEBAIC01OSw4ICs3OSwxNSBAQCBzc2l6
ZV90IHVrX3N3cmFuZF9maWxsX2J1ZmZlcih2b2lkICpidWYsIHNpemVfdCBidWZsZW4pCj4gICAK
PiAgIHN0YXRpYyB2b2lkIF91a19zd3JhbmRfY3Rvcih2b2lkKQo+ICAgewo+ICsJdW5zaWduZWQg
aW50IGk7Cj4gKwl1bnNpZ25lZCBpbnQgc2VlZGMgPSAyOwo+ICsJX191MzIgc2VlZHZbMl07Cj4g
Kwo+ICsJZm9yIChpID0gMDsgaSA8IHNlZWRjOyBpKyspCj4gKwkJc2VlZHZbaV0gPSB1a19zd3Jh
bmRyX2dlbl9zZWVkMzIoKTsKPiArCj4gICAJdWtfcHJfaW5mbygiSW5pdGlhbGl6ZSByYW5kb20g
bnVtYmVyIGdlbmVyYXRvci4uLlxuIik7Cj4gLQl1a19zd3JhbmRfaW5pdF9yKCZ1a19zd3JhbmRf
ZGVmLCBDT05GSUdfTElCVUtTV1JBTkRfSU5JVElBTFNFRUQpOwo+ICsJdWtfc3dyYW5kX2luaXRf
cigmdWtfc3dyYW5kX2RlZiwgc2VlZGMsIHNlZWR2KTsKPiAgIH0KPiAgIAo+ICAgVUtfQ1RPUl9G
VU5DKFVLX1NXUkFORF9DVE9SX1BSSU8sIF91a19zd3JhbmRfY3Rvcik7Cj4gCgpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGlu
ZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhl
bnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Mon Dec 02 14:09:15 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 02 Dec 2019 14:09:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ibmO3-0007Fa-Pl; Mon, 02 Dec 2019 14:09:15 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=v7mX=ZY=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1ibmO2-0007FV-Ks
 for minios-devel@lists.xen.org; Mon, 02 Dec 2019 14:09:14 +0000
X-Inumbo-ID: 519de8e2-150d-11ea-a55d-bc764e2007e4
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 519de8e2-150d-11ea-a55d-bc764e2007e4;
 Mon, 02 Dec 2019 14:09:14 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 718FF10418E;
 Mon,  2 Dec 2019 15:09:13 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-a.office.hd)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id m1aZsyGBLE7i; Mon,  2 Dec 2019 15:09:13 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from puck.office.hd (puck.office.hd [192.168.24.91])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 4927D10412B;
 Mon,  2 Dec 2019 15:09:13 +0100 (CET)
Received: from [10.1.2.204] (192.168.24.96) by puck.office.hd (192.168.24.91)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 2 Dec 2019
 15:09:13 +0100
To: =?UTF-8?Q?Vlad-Andrei_B=c4=82DOIU_=2878692=29?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>, "minios-devel@lists.xen.org"
 <minios-devel@lists.xen.org>
References: <20191127124137.10618-1-vlad_andrei.badoiu@stud.acs.upb.ro>
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
Message-ID: <f275a614-9765-70d7-4e09-b32ab5996126@neclab.eu>
Date: Mon, 2 Dec 2019 15:09:12 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:60.0)
 Gecko/20100101 Thunderbird/60.9.1
MIME-Version: 1.0
In-Reply-To: <20191127124137.10618-1-vlad_andrei.badoiu@stud.acs.upb.ro>
Content-Language: en-US
X-Originating-IP: [192.168.24.96]
X-ClientProxiedBy: puck.office.hd (192.168.24.91) To puck.office.hd
 (192.168.24.91)
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v5 0/4] lib/ukswrand: Add
 ChaCha20
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: "felipe.huici@neclab.eu" <felipe.huici@neclab.eu>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhhbmtzIGEgbG90IGZvciB0aGUgY2hhbmdlcyEKClRoYW5rcywKClNpbW9uCgpPbiAyNy4xMS4x
OSAxMzo0MSwgVmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIpIHdyb3RlOgo+IFdlIGFkZCB0aGUg
Q2hhQ2hhMjAgYWxnb3JpdGhtLiBUaGlzIHBhdGNoIHNlcmllcyByZWZhY3RvcnMgdGhlCj4gZXhp
c3RpbmcgY29kZSBmb3IgbXVsdGlwbGUgYWxnb3JpdGhtcyBzdXBwb3J0Lgo+IAo+IENoYW5nZXMg
c2luY2UgdjI6Cj4gKiBNb3ZlZCBfdWtfcm90bDMyIHRvIGNoYWNoYS5jCj4gKiBNb3ZlZCB0aGUg
Y29uc3RydWN0b3IgYW5kIF9nZXRfcmFuZG9tX3NlZWQzMiB0byBzd3JhbmQuYwo+ICogQWRkZWQg
Y29tcGlsZSBjaGVjayBmb3IgcmRyYW5kCj4gKiBDaGFuZ2VkIHRvIGRyb3AtZG93biBtZW51IGlu
IGNvbmZpZy4KPiAKPiBDaGFuZ2VzIHNpbmNlIHYzOgo+ICogRXh0ZW5kIHRoZSBzZWVkIGFyZ3Vt
ZW50IGF0IHRoZSBpbml0IGZ1bmN0aW9uIHdpdGggYSBjdXN0b20gc2l6ZWQgdmVjdG9yCj4gKiBS
ZW5hbWVkIF9nZXRfcmFuZG9tX3NlZWQoKSB0byB1a19zd3JhbmRyX2dlbl9zZWVkMzIoKSB3aGlj
aCBpcyBub3cKPiBwdWJsaWMKPiAKPiBDaGFuZ2VzIHNpbmNlIHY0Ogo+ICogUmVzb2x2ZSBjaGVj
a3BhdGNoIGVycm9ycwo+IAo+IFZsYWQtQW5kcmVpIELEgkRPSVUgKDc4NjkyKSAoNCk6Cj4gICAg
bGliL3Vrc3dyYW5kOiBBZGFwdCB0aGUgbGlicmFyeSB0byB3b3JrIHdpdGggbXVsdGlwbGUgYWxn
b3JpdGhtcwo+ICAgIGxpYi91a3N3cmFuZDogQWRkIHNlZWQgZ2VuZXJhdGluZyBmdW5jdGlvbgo+
ICAgIGxpYi91a3N3cmFuZDogQWRkIENoYUNoYSBhbGdvcml0aG0KPiAgICBsaWIvdWtzd3JhbmQ6
IEZpeCB1a19zd3JhbmRfZmlsbF9idWZmZXIgdG8gZmlsbCB0aGUgZW50aXJlIGJ1ZmZlcgo+IAo+
ICAgbGliL3Vrc3dyYW5kL0NvbmZpZy51ayAgICAgICAgICAgfCAgMjkgKysrKystCj4gICBsaWIv
dWtzd3JhbmQvTWFrZWZpbGUudWsgICAgICAgICB8ICAgMiArCj4gICBsaWIvdWtzd3JhbmQvY2hh
Y2hhLmMgICAgICAgICAgICB8IDE2MCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4g
ICBsaWIvdWtzd3JhbmQvZXhwb3J0c3ltcy51ayAgICAgICB8ICAgMSArCj4gICBsaWIvdWtzd3Jh
bmQvaW5jbHVkZS91ay9zd3JhbmQuaCB8ICAxMyArLS0KPiAgIGxpYi91a3N3cmFuZC9td2MuYyAg
ICAgICAgICAgICAgIHwgIDUyICsrKy0tLS0tLS0KPiAgIGxpYi91a3N3cmFuZC9zd3JhbmQuYyAg
ICAgICAgICAgIHwgIDk4ICsrKysrKysrKysrKysrKysrKysKPiAgIDcgZmlsZXMgY2hhbmdlZCwg
MzAzIGluc2VydGlvbnMoKyksIDUyIGRlbGV0aW9ucygtKQo+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0
IGxpYi91a3N3cmFuZC9jaGFjaGEuYwo+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IGxpYi91a3N3cmFu
ZC9zd3JhbmQuYwo+IAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJv
amVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21p
bmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Mon Dec 02 16:07:53 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 02 Dec 2019 16:07:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1iboEn-0000dS-5m; Mon, 02 Dec 2019 16:07:49 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=v7mX=ZY=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1iboEm-0000dN-0E
 for minios-devel@lists.xen.org; Mon, 02 Dec 2019 16:07:48 +0000
X-Inumbo-ID: e08c5a2e-151d-11ea-a40a-12813bfff9fa
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id e08c5a2e-151d-11ea-a40a-12813bfff9fa;
 Mon, 02 Dec 2019 16:07:46 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 09DC9F2021;
 Mon,  2 Dec 2019 17:07:45 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-b.office.hd)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id BXXfSg3FbOz1; Mon,  2 Dec 2019 17:07:44 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from puck.office.hd (puck.office.hd [192.168.24.91])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id D4997F200E;
 Mon,  2 Dec 2019 17:07:40 +0100 (CET)
Received: from [10.1.2.204] (192.168.24.96) by puck.office.hd (192.168.24.91)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 2 Dec 2019
 17:07:40 +0100
To: =?UTF-8?Q?Vlad-Andrei_B=c4=82DOIU_=2878692=29?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>, "minios-devel@lists.xen.org"
 <minios-devel@lists.xen.org>
References: <20191127163214.22784-1-vlad_andrei.badoiu@stud.acs.upb.ro>
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
Message-ID: <7863f33b-08a2-fd99-aecb-5ab4e9fbbff9@neclab.eu>
Date: Mon, 2 Dec 2019 17:07:39 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:60.0)
 Gecko/20100101 Thunderbird/60.9.1
MIME-Version: 1.0
In-Reply-To: <20191127163214.22784-1-vlad_andrei.badoiu@stud.acs.upb.ro>
Content-Language: en-US
X-Originating-IP: [192.168.24.96]
X-ClientProxiedBy: oberon.office.hd (192.168.24.90) To puck.office.hd
 (192.168.24.91)
Subject: Re: [Minios-devel] [UNIKRAFT PATCH 1/1] plat/common,
 plat/linuxu: Solve wrong set_tls_pointer definition in Linuxu
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: "felipe.huici@neclab.eu" <felipe.huici@neclab.eu>,
 "santiago.pagani@neclab.eu" <santiago.pagani@neclab.eu>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGV5IFZsYWQsCgp0aGFua3MgYSBsb3QgZm9yIGxvb2tpbmcgaW50byB0aGlzIGFuZCBmaXhpbmcg
aXQuIEl0IHRvb2sgYSBiaXQgZm9yIG1lIAp0byBmaWd1cmUgb3V0IHdoYXQgd2FzIGdvaW5nIG9u
IGJlZm9yZSBjb21taXQgYWU2ODNmNC4gSW4gZmFjdCwgbGludXh1IApyZXBsYWNlZCB0aGUgY29t
bW9uIHRscy5oIHdpdGggdGhlIGluY2x1ZGUgb3JkZXIuIER1ZSB0byB0aGUgbW92ZW1lbnQgb2Yg
CmhlYWRlcnMsIHRoaXMgZGlkIG5vdCBoYXBwZW4gYW55bW9yZS4KClRoYW5rcywKClNpbW9uCgpS
ZXZpZXdlZC1ieTogU2ltb24gS3VlbnplciA8c2ltb24ua3VlbnplckBuZWNsYWIuZXU+CgpPbiAy
Ny4xMS4xOSAxNzozMiwgVmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIpIHdyb3RlOgo+IEFmdGVy
IGNvbW1pdCBhZTY4M2Y0LCBsaW51eHUgZmFpbHMgd2l0aCBhIEdQRiBkdWUgdGhlIHdyb25nIGRl
ZmluaXRpb24gb2YKPiBzZXRfdGxzX3BvaW50ZXIsIGl0IHVzZXMgdGhlIGRlZmF1bHQgeDg2L2Fy
bSBpbXBsZW1lbnRhdGlvbiBmcm9tCj4gL2NvbW1vbi9pbmNsdWRlL3g4Ni90bHMuaCwgd2hlcmVh
cywgaXQgc2hvdWxkIHVzZSB0aGUgZGVmaW5pdGlvbiBmcm9tCj4gbGludXh1L2luY2x1ZGUvdGxz
LmguCj4gCj4gVG8gc29sdmUgdGhpcywgd2UgbW92ZSBwbGF0L2xpbnV4dS9pbmNsdWRlL3Rscy5o
IHRvCj4gcGxhdC9saW51eHUvaW5sY2x1ZGUvdGxzLmggYW5kIGluY2x1ZGUgaXQgaW4gY29tbW9u
L3Rscy5oIGlmIExJTlVYVVBMQVQKPiBpcyBkZWZpbmVkLgo+IAo+IFNpZ25lZC1vZmYtYnk6IFZs
YWQtQW5kcmVpIEJhZG9pdSA8dmxhZF9hbmRyZWkuYmFkb2l1QHN0dWQuYWNzLnVwYi5ybz4KPiAt
LS0KPiAgIHBsYXQvY29tbW9uL2luY2x1ZGUvdWsvcGxhdC9jb21tb24vdGxzLmggfCA0ICsrKy0K
PiAgIHBsYXQvbGludXh1L2luY2x1ZGUveyA9PiBsaW51eHV9L3Rscy5oICAgfCAwCj4gICAyIGZp
bGVzIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQo+ICAgcmVuYW1lIHBs
YXQvbGludXh1L2luY2x1ZGUveyA9PiBsaW51eHV9L3Rscy5oICgxMDAlKQo+IAo+IGRpZmYgLS1n
aXQgYS9wbGF0L2NvbW1vbi9pbmNsdWRlL3VrL3BsYXQvY29tbW9uL3Rscy5oIGIvcGxhdC9jb21t
b24vaW5jbHVkZS91ay9wbGF0L2NvbW1vbi90bHMuaAo+IGluZGV4IDQ1NjU5ZDgxLi42ZmI3OGQy
NCAxMDA2NDQKPiAtLS0gYS9wbGF0L2NvbW1vbi9pbmNsdWRlL3VrL3BsYXQvY29tbW9uL3Rscy5o
Cj4gKysrIGIvcGxhdC9jb21tb24vaW5jbHVkZS91ay9wbGF0L2NvbW1vbi90bHMuaAo+IEBAIC0z
Miw3ICszMiw5IEBACj4gICAjaWZuZGVmIF9fUExBVF9DTU5fVExTX0hfXwo+ICAgI2RlZmluZSBf
X1BMQVRfQ01OX1RMU19IX18KPiAgIAo+IC0jaWYgZGVmaW5lZChfX1g4Nl82NF9fKQo+ICsjaWYg
ZGVmaW5lZChMSU5VWFVQTEFUKQoKSSBhbSBhY3R1YWxseSBub3QgYSBiaWcgZmFuIG9mIGhhdmlu
ZyBhIHBsYXRmb3JtLXNwZWNpZmljIGluY2x1ZGUgZ3VhcmQgCmluIHRoaXMgY29tbW9uIGZpbGUg
YnV0IEkgd291bGQgaGF2ZSBkb25lIHRoZSBzYW1lLiBUaGUgd2hvbGUgdGhpbmcgCnJlbWluZHMg
bWUgdGhhdCB3ZSBoYXZlIHRvIHNpdCBkb3duIGFuZCByZS1vcmdhbml6ZSB0aGUgY29kZSB3aXRo
aW4gCnBsYXRmb3JtL2FyY2hpdGVjdHVyZS4gSSBsaWtlIHRoYXQgeW91ciBndWFyZCBpcyBhbiBv
YnZpb3VzIGhpbnQsIHdoaWxlIAp0aGUgb3JpZ2luYWwgaW5jbHVkZSBvcmRlciBpcyBhIGJpdCBu
b24tdHJhbnNwYXJlbnQuCgo+ICsjaW5jbHVkZSA8bGludXh1L3Rscy5oPgo+ICsjZWxpZiBkZWZp
bmVkKF9fWDg2XzY0X18pCj4gICAjaW5jbHVkZSA8eDg2L3Rscy5oPgo+ICAgI2VsaWYgZGVmaW5l
ZChfX0FSTV82NF9fKQo+ICAgI2luY2x1ZGUgPGFybS9hcm02NC90bHMuaD4KPiBkaWZmIC0tZ2l0
IGEvcGxhdC9saW51eHUvaW5jbHVkZS90bHMuaCBiL3BsYXQvbGludXh1L2luY2x1ZGUvbGludXh1
L3Rscy5oCj4gc2ltaWxhcml0eSBpbmRleCAxMDAlCj4gcmVuYW1lIGZyb20gcGxhdC9saW51eHUv
aW5jbHVkZS90bHMuaAo+IHJlbmFtZSB0byBwbGF0L2xpbnV4dS9pbmNsdWRlL2xpbnV4dS90bHMu
aAo+IAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWlu
aW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcK
aHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZl
bA==

From minios-devel-bounces@lists.xenproject.org Tue Dec 03 06:46:48 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 03 Dec 2019 06:46:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ic1xO-00026a-0P; Tue, 03 Dec 2019 06:46:46 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=4g4W=ZZ=gmail.com=costin.lup@srs-us1.protection.inumbo.net>)
 id 1ic1xN-00026V-L6
 for minios-devel@lists.xen.org; Tue, 03 Dec 2019 06:46:45 +0000
X-Inumbo-ID: ab91d378-1598-11ea-b155-bc764e2007e4
Received: from mail-wr1-x441.google.com (unknown [2a00:1450:4864:20::441])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id ab91d378-1598-11ea-b155-bc764e2007e4;
 Tue, 03 Dec 2019 06:46:45 +0000 (UTC)
Received: by mail-wr1-x441.google.com with SMTP id j42so2145242wrj.12
 for <minios-devel@lists.xen.org>; Mon, 02 Dec 2019 22:46:45 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:subject:to:references:message-id:date:user-agent:mime-version
 :in-reply-to:content-language:content-transfer-encoding;
 bh=C6PAcVhxGUgNdlMkNRNY53z/xxteDpUmG+3b1YIvDI8=;
 b=UI1F+AqRntOclo062zsSC5XptM1OT2QzfALCkOhWYVoVtU8kvp7d0Shq6urfnvR9WG
 +8dtcRukUyTaPB4rQJtxCKEAbtG0uQpAvOEeULjUX1uvk+6XXwTVaseS/vQ/B6GnQBdx
 vfExBMyK80QYqRRQDm4SHjBxiZa6UNj0psMatJ0iAwDnP2HeYD/p6sQwIdytM/zoINx0
 4dJcHbs/Ve7g5o3gdBLvQHikWKdN71240vKKysdKEUZSeQIyCjdpajKwuqx9dy/9QeAy
 YQBEUT73KFv5cTnv9PAsLvwYnbmfB8o7BoJuZWfxvjDfN+gObPPOCEXH/tdohhVn3Gsp
 NO0w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:subject:to:references:message-id:date
 :user-agent:mime-version:in-reply-to:content-language
 :content-transfer-encoding;
 bh=C6PAcVhxGUgNdlMkNRNY53z/xxteDpUmG+3b1YIvDI8=;
 b=ORCYz92Yrnqmzta0QOR2iS2C7mTehpKLLrJ06CJhcn5sP+QshJO9v4sqQkMPBg1UVN
 hHOHNaM9tf8C8cFdtBqOsmvF5MIiw+EyiIVs3XPQLErSqpG/GticXEOTQjcP+tOmcD2N
 Mnu9YJOmBMnnMTVQY3Nhx7A+RimEPS5dbuo8YOca43VwwzxuB9qcwvVZYA8wu6zP2df8
 w9AEiztWgB3dxbsHeX1D8LphX0D7wWq4QBfPcnnF/iaW5igdnp/ZXcrqygtNKWEGphyy
 nwjYXZPIwgEvZQSErdVllY/+Bagm55G68rlcEfyPCrSqT5grC6YcwNXEud8yeyt9Y7SC
 xlRA==
X-Gm-Message-State: APjAAAXEgSw0ErhD6r32S0ucEECDvNzFQrCX0fBzQz8vbogPAzj+mDl0
 6P7BO5f9kGvyJMyuSll19R4gui3eo7A=
X-Google-Smtp-Source: APXvYqw9gCz5DQNGY55ZB2a429Jgw7BVhf32BCdwhlA6MPCJ/LCmA4NTLelUJluYP3fvYYLoyBFAqg==
X-Received: by 2002:adf:e310:: with SMTP id b16mr3240852wrj.202.1575355604035; 
 Mon, 02 Dec 2019 22:46:44 -0800 (PST)
Received: from [192.168.1.103] ([86.121.174.20])
 by smtp.gmail.com with ESMTPSA id j184sm1881791wmb.44.2019.12.02.22.46.42
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Dec 2019 22:46:43 -0800 (PST)
From: Costin Lupu <costin.lup@gmail.com>
To: Esteban <esteban.martinez@csuc.cat>, minios-devel@lists.xen.org
References: <20191202114555.28424-1-esteban.martinez@csuc.cat>
Message-ID: <3d8cae1a-4057-878b-24c0-62a5481738c7@gmail.com>
Date: Tue, 3 Dec 2019 08:46:42 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.2.2
MIME-Version: 1.0
In-Reply-To: <20191202114555.28424-1-esteban.martinez@csuc.cat>
Content-Language: en-US
Subject: Re: [Minios-devel] [LCMS PATCH 0/1]
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgRXN0ZWJhbiwKClRoYW5rcyBmb3IgdGhpcyBwb3J0LiBIZXJlIGFyZSBteSBjb21tZW50cy4K
CjEpIFlvdSBzaG91bGQgaGF2ZSB1c2VkIHRoZSAiVU5JS1JBRlQvTENNUyBQQVRDSCIgcHJlZml4
LiBZb3VyIGNvbW1hbmQKc2hvdWxkIGhhdmUgbG9va2VkIGxpa2UgdGhpczoKCiQgZ2l0IGZvcm1h
dC1wYXRjaCAtLXN1YmplY3QtcHJlZml4PSJVTklLUkFGVC9MQ01TIFBBVENIIiAtMSAtLWNvdmVy
LWxldHRlcgoKQnV0IGJlY2F1c2Ugd2Ugd2lsbCBuZWVkIGFub3RoZXIgdmVyc2lvbiBmb3IgdGhp
cywgeW91IHdpbGwgdXNlIHRoaXMKY29tbWFuZCAocGxlYXNlIG5vdGljZSB0aGUgdmVyc2lvbiBu
dW1iZXIsIHYyLCBhbmQgMiBwYXRjaGVzKToKCiQgZ2l0IGZvcm1hdC1wYXRjaCAtLXN1YmplY3Qt
cHJlZml4PSJVTklLUkFGVC9MQ01TIFBBVENIIHYyIiAtMgotLWNvdmVyLWxldHRlcgoKMikgUGxl
YXNlIGRvbid0IGxlYXZlIHRoZSAiQkxVUkIgSEVSRSIsIHNheSBzb21ldGhpbmcgdGhlcmUgYWJv
dXQgdGhlCnNlcmllcy4gQW5kIGRvbid0IGxlYXZlIHRoZSBzdWJqZWN0IGJsYW5rLiBZb3UgaGF2
ZSB0byBtYW51YWxseSBlZGl0IHRoZQpjb3ZlciBwYXRjaC4KCkNoZWVycywKQ29zdGluCgoKT24g
MTIvMi8xOSAxOjQ1IFBNLCBFc3RlYmFuIHdyb3RlOgo+ICoqKiBCTFVSQiBIRVJFICoqKgo+IAo+
IEVzdGViYW4gKDEpOgo+ICAgW0xDTVMgUEFUQ0hdIEFkZCBuZXcgbGlicmFyeSBsY21zIDIuOSB0
byBVbmlrcmFmdCdzIHByb2plY3QuCj4gCj4gIENPRElOR19TVFlMRS5tZCB8ICAgNCArKwo+ICBD
T05UUklCVVRJTkcubWQgfCAgIDQgKysKPiAgQ09QWUlORy5tZCAgICAgIHwgIDQxICsrKysrKysr
KysrKysrKwo+ICBDb25maWcudWsgICAgICAgfCAgMTEgKysrKysKPiAgTUFJTlRBSU5FUlMubWQg
IHwgIDExICsrKysrCj4gIE1ha2VmaWxlLnVrICAgICB8IDEyOSArKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiAgUkVBRE1FLm1kICAgICAgIHwgICA3ICsr
Kwo+ICBleHBvcnRzeW1zLnVrICAgfCAgIDEgKwo+ICA4IGZpbGVzIGNoYW5nZWQsIDIwOCBpbnNl
cnRpb25zKCspCj4gIGNyZWF0ZSBtb2RlIDEwMDc1NSBDT0RJTkdfU1RZTEUubWQKPiAgY3JlYXRl
IG1vZGUgMTAwNzU1IENPTlRSSUJVVElORy5tZAo+ICBjcmVhdGUgbW9kZSAxMDA3NTUgQ09QWUlO
Ry5tZAo+ICBjcmVhdGUgbW9kZSAxMDA3NTUgQ29uZmlnLnVrCj4gIGNyZWF0ZSBtb2RlIDEwMDc1
NSBNQUlOVEFJTkVSUy5tZAo+ICBjcmVhdGUgbW9kZSAxMDA3NTUgTWFrZWZpbGUudWsKPiAgY3Jl
YXRlIG1vZGUgMTAwNzU1IFJFQURNRS5tZAo+ICBjcmVhdGUgbW9kZSAxMDA3NTUgZXhwb3J0c3lt
cy51awo+IAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
TWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5v
cmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1k
ZXZlbA==

From minios-devel-bounces@lists.xenproject.org Tue Dec 03 06:49:44 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 03 Dec 2019 06:49:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ic20G-0002AW-7l; Tue, 03 Dec 2019 06:49:44 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=4g4W=ZZ=gmail.com=costin.lup@srs-us1.protection.inumbo.net>)
 id 1ic20E-0002AR-UB
 for minios-devel@lists.xen.org; Tue, 03 Dec 2019 06:49:42 +0000
X-Inumbo-ID: 154e6416-1599-11ea-b155-bc764e2007e4
Received: from mail-wm1-x341.google.com (unknown [2a00:1450:4864:20::341])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 154e6416-1599-11ea-b155-bc764e2007e4;
 Tue, 03 Dec 2019 06:49:42 +0000 (UTC)
Received: by mail-wm1-x341.google.com with SMTP id g206so1773539wme.1
 for <minios-devel@lists.xen.org>; Mon, 02 Dec 2019 22:49:42 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:subject:to:references:message-id:date:user-agent:mime-version
 :in-reply-to:content-language:content-transfer-encoding;
 bh=tmMSI6+vnuSkrz6e6vr8aL+X60zHQ1N2XefJDgFHbfM=;
 b=twXXKvxSFOkt1LKIhr4zzZWvEYwj2ogyTrfFzUcJhZ6dAMwLkgKwdSr9NZnShGKkov
 0RVXNbjXU0jV7ZdDHCd6onfQNopAfya33z3oYy2KMmIqCjZsBNenqTb0r31wDU+Odr6l
 k0zIsol4G94BGhVD8GCLZ6pVNRHjEtUuzCyvbO6W7p6GhRb5Q+uQ1GvbMsjZQAgT2GrD
 e8aG447tcuOC9TmV4kRjNbDGdfuy8pteUUwH4CrCcfzWqodR1QnuLrsnY+L/vF9VtdsD
 m+Kk7iF2YOsfx6o6V2CwxaRQmOfGaTAjXpFTFRhn2CkQugSC8vaUVu+UyGyDImkT9Pnb
 87xw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:subject:to:references:message-id:date
 :user-agent:mime-version:in-reply-to:content-language
 :content-transfer-encoding;
 bh=tmMSI6+vnuSkrz6e6vr8aL+X60zHQ1N2XefJDgFHbfM=;
 b=e4kXGC3J5tnL1vCUwe2R8xHmL3OyWCVdgXGj9xUChgAEORwBR24QIpj3hLc6Q70sTI
 rW0osay2N58/4NEg5BcV9TfNpHDhh65d85wXj2svm1Q6LtB4y9mh5S9J23Zp8Lt9+ENZ
 H6mJoBFsMoDQ6yY9Ax7AWYsT8++3ayxbvH0Tl+Q9N4/RAFolk9Q35LFAgEI2ihrWaWKt
 pDu4fontj1QZV+6p/U49gWNsDVv3mUlBrdRzWA4q+QWjt9vBi1+85auxvO0n/aXSWSMz
 CD83gpAr/DrT5u2c+cdC3tApB2udp/d7MPRUie6UINdoyiQxyzfnS44kb2Ez8FSYwnwk
 3Oiw==
X-Gm-Message-State: APjAAAVXx1ICIu7z+P6mrmPm/FGo9T4P2nTFQZe2of4/NPtPpdxku7Ra
 PVoBtmexqyr9GICSAT+whWUo5UBiPZ8=
X-Google-Smtp-Source: APXvYqzoSk8VGh4p1T7ON7FC2FBJl7sMTYA9SSfHa8cHdrX1EqoB57yNHMsnRkFO6cQeps5cn5EoOw==
X-Received: by 2002:a7b:cc13:: with SMTP id f19mr33745104wmh.81.1575355781206; 
 Mon, 02 Dec 2019 22:49:41 -0800 (PST)
Received: from [192.168.1.103] ([86.121.174.20])
 by smtp.gmail.com with ESMTPSA id g7sm2264687wrq.21.2019.12.02.22.49.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 02 Dec 2019 22:49:40 -0800 (PST)
From: Costin Lupu <costin.lup@gmail.com>
To: Esteban <esteban.martinez@csuc.cat>, minios-devel@lists.xen.org
References: <20191202114555.28424-1-esteban.martinez@csuc.cat>
 <20191202114555.28424-2-esteban.martinez@csuc.cat>
Message-ID: <c22e9176-c12f-97c3-b206-4050b9cc8afa@gmail.com>
Date: Tue, 3 Dec 2019 08:49:39 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.2.2
MIME-Version: 1.0
In-Reply-To: <20191202114555.28424-2-esteban.martinez@csuc.cat>
Content-Language: en-US
Subject: Re: [Minios-devel] [LCMS PATCH 1/1] [LCMS PATCH] Add new library
 lcms 2.9 to Unikraft's project.
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgRXN0ZWJhbiwKCkZpcnN0IG9mIGFsbCwgTWFrZWZpbGUudWsgc2hvdWxkIGNvbWUgaW4gYSBk
aWZmZXJlbnQgcGF0Y2guIEZvciB0aGUKZmlyc3QgcGF0Y2ggd2UgaW50cm9kdWNlIG9ubHkgdGhl
IGxpYnJhcnkgc2tlbGV0b24uIEFsc28sIHBsZWFzZSBhZGQKaGVyZSBhIC5naXRpZ25vcmUgZmls
ZSwgeW91IGNhbiB0YWtlIHRoZSBvbmUgZnJvbSBwY3JlIFsxXS4KCkZvciB0aGUgcmVzdCBvZiB0
aGUgY29tbWVudHMgcGxlYXNlIHNlZSBpbmxpbmUuCgpbMV0gaHR0cHM6Ly9naXRodWIuY29tL3Vu
aWtyYWZ0L2xpYi1wY3JlCgoKCgpPbiAxMi8yLzE5IDE6NDUgUE0sIEVzdGViYW4gd3JvdGU6Cj4g
U2lnbmVkLW9mZi1ieTogRXN0ZWJhbiA8ZXN0ZWJhbi5tYXJ0aW5lekBjc3VjLmNhdD4KClBsZWFz
ZSB1c2UgeW91ciBjb21wbGV0ZSBuYW1lIGluIHNpZ25hdHVyZXMsIGUuZy46CgpTaWduZWQtb2Zm
LWJ5OiBFc3RlYmFuIE1hcnRpbmV6IDxlc3RlYmFuLm1hcnRpbmV6QGNzdWMuY2F0PgoKPiAtLS0K
PiAgQ09ESU5HX1NUWUxFLm1kIHwgICA0ICsrCj4gIENPTlRSSUJVVElORy5tZCB8ICAgNCArKwo+
ICBDT1BZSU5HLm1kICAgICAgfCAgNDEgKysrKysrKysrKysrKysrCj4gIENvbmZpZy51ayAgICAg
ICB8ICAxMSArKysrKwo+ICBNQUlOVEFJTkVSUy5tZCAgfCAgMTEgKysrKysKPiAgTWFrZWZpbGUu
dWsgICAgIHwgMTI5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKwo+ICBSRUFETUUubWQgICAgICAgfCAgIDcgKysrCj4gIGV4cG9ydHN5bXMudWsgICB8ICAg
MSArCj4gIDggZmlsZXMgY2hhbmdlZCwgMjA4IGluc2VydGlvbnMoKykKPiAgY3JlYXRlIG1vZGUg
MTAwNzU1IENPRElOR19TVFlMRS5tZAo+ICBjcmVhdGUgbW9kZSAxMDA3NTUgQ09OVFJJQlVUSU5H
Lm1kCj4gIGNyZWF0ZSBtb2RlIDEwMDc1NSBDT1BZSU5HLm1kCj4gIGNyZWF0ZSBtb2RlIDEwMDc1
NSBDb25maWcudWsKPiAgY3JlYXRlIG1vZGUgMTAwNzU1IE1BSU5UQUlORVJTLm1kCj4gIGNyZWF0
ZSBtb2RlIDEwMDc1NSBNYWtlZmlsZS51awo+ICBjcmVhdGUgbW9kZSAxMDA3NTUgUkVBRE1FLm1k
Cj4gIGNyZWF0ZSBtb2RlIDEwMDc1NSBleHBvcnRzeW1zLnVrCgpUaGUgcGVybWlzc2lvbnMgb24g
dGhlIGZpbGVzIHNob3VsZCBiZSA2NDQsIG1lYW5pbmcgdGhhdCB0aGUgc2hvdWxkbid0CmJlIGV4
ZWN1dGFibGUuCgpBbHNvLCBwbGVhc2UgZ2V0IHJpZCBvZiBleHBvcnRzeW1zLnVrLCB3ZSBkb24n
dCB1c2UgdGhhdCBvbmUgYW55bW9yZS4KCj4gCj4gZGlmZiAtLWdpdCBhL0NPRElOR19TVFlMRS5t
ZCBiL0NPRElOR19TVFlMRS5tZAo+IG5ldyBmaWxlIG1vZGUgMTAwNzU1Cj4gaW5kZXggMDAwMDAw
MC4uNTczMDA0MQo+IC0tLSAvZGV2L251bGwKPiArKysgYi9DT0RJTkdfU1RZTEUubWQKPiBAQCAt
MCwwICsxLDQgQEAKPiArQ29kaW5nIFN0eWxlCj4gKz09PT09PT09PT09PQo+ICsKPiArUGxlYXNl
IHJlZmVyIHRvIHRoZSBgQ09ESU5HX1NUWUxFLm1kYCBmaWxlIGluIHRoZSBtYWluIFVuaWtyYWZ0
IHJlcG9zaXRvcnkuCj4gZGlmZiAtLWdpdCBhL0NPTlRSSUJVVElORy5tZCBiL0NPTlRSSUJVVElO
Ry5tZAo+IG5ldyBmaWxlIG1vZGUgMTAwNzU1Cj4gaW5kZXggMDAwMDAwMC4uMTRmNmFjNgo+IC0t
LSAvZGV2L251bGwKPiArKysgYi9DT05UUklCVVRJTkcubWQKPiBAQCAtMCwwICsxLDQgQEAKPiAr
Q29udHJpYnV0aW5nIHRvIFVuaWtyYWZ0Cj4gKz09PT09PT09PT09PT09PT09PT09PT09PQo+ICsK
PiArUGxlYXNlIHJlZmVyIHRvIHRoZSBgQ09OVFJJQlVUSU5HLm1kYCBmaWxlIGluIHRoZSBtYWlu
IFVuaWtyYWZ0IHJlcG9zaXRvcnkuCj4gZGlmZiAtLWdpdCBhL0NPUFlJTkcubWQgYi9DT1BZSU5H
Lm1kCj4gbmV3IGZpbGUgbW9kZSAxMDA3NTUKPiBpbmRleCAwMDAwMDAwLi5mYTA1MDQxCj4gLS0t
IC9kZXYvbnVsbAo+ICsrKyBiL0NPUFlJTkcubWQKPiBAQCAtMCwwICsxLDQxIEBACj4gK0xpY2Vu
c2UKPiArPT09PT09PQo+ICsKPiArVW5pa3JhZnQgbGNtcyB3cmFwcGVycwo+ICstLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KPiArCj4gK1RoaXMgcmVwb3NpdG9yeSBjb250YWlucyB3cmFwcGVyIGNv
ZGUgdG8gYnVpbGQgbGNtcyB3aXRoIFVuaWtyYWZ0LiAgVGhlIGNvZGUKPiAraXMgcHVibGlzaGVk
IGFzIGEgbWl4dHVyZSBvZiBCU0QgYW5kIE1JVCBsaWNlbmNlczsgZWFjaCBDIGNvZGUgZmlsZSBp
bgo+ICt0aGlzIHJlcG9zaXRvcnkgc2hvdWxkIGRlY2xhcmUgd2hvIGlzIHRoZSBjb3B5cmlnaHQg
b3duZXIgYW5kIHVuZGVyIHdoaWNoIHRlcm1zCj4gK2FuZCBjb25kaXRpb25zIHRoZSBjb2RlIGlz
IGxpY2Vuc2VkLiBJZiBzdWNoIGEgbGljZW5jZSBub3RlIGlzIG1pc3NpbmcsIHRoZQo+ICtmb2xs
b3dpbmcgY29weXJpZ2h0IG5vdGljZSB3aWxsIGFwcGx5Ogo+ICsKPiArCUNvcHlyaWdodCAoYykg
MjAxNywgTkVDIEV1cm9wZSBMdGQuLCBORUMgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCgpIZXJlIHlvdSBzaG91bGQgcHV0IGEgcGxhY2Vob2xkZXIsIGUuZy46CgpDb3B5cmlnaHQg
KGMpIFllYXIsIEluc3RpdHV0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgoKPiArCj4gKwlSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKPiArCW1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwo+ICsJYXJlIG1ldDoKPiArCj4gKwkxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAo+ICsJICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgo+ICsJMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKPiArCSAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKPiArCSAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
Cj4gKwkzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBjb3B5cmlnaHQgaG9sZGVyIG5vciB0aGUg
bmFtZXMgb2YgaXRzCj4gKwkgICBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQo+ICsJICAgdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KPiArCj4gKwlUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
ICJBUyBJUyIKPiArCUFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKPiArCUlNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCj4gKwlB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1Ig
Q09OVFJJQlVUT1JTIEJFCj4gKwlMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCj4gKwlDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgo+ICsJU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCj4gKwlJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgo+ICsJQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKPiArCUFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFCj4gKwlQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KPiArCj4gK2xjbXMg
c291cmNlIGNvZGUKPiArLS0tLS0tLS0tLS0tLS0tLS0tCgpQbGVhc2UgcmVtb3ZlIHRoZXNlIDIg
bGluZXMgYWJvdmUuCgo+IFwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo+IGRpZmYgLS1naXQg
YS9Db25maWcudWsgYi9Db25maWcudWsKPiBuZXcgZmlsZSBtb2RlIDEwMDc1NQo+IGluZGV4IDAw
MDAwMDAuLmVkYjM2NTkKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvQ29uZmlnLnVrCj4gQEAgLTAs
MCArMSwxMSBAQAo+ICtjb25maWcgTElCTENNUwo+ICsJYm9vbCAibGlibGNtcyAtIENvbG9yIG1h
bmFnZW1lbnQgZW5naW5lIgo+ICsJZGVmYXVsdCBuCj4gKwlzZWxlY3QgTElCTk9MSUJDIGlmICFI
QVZFX0xJQkMKPiArCXNlbGVjdCBMSUJVS0RFQlVHCj4gKyAgICBzZWxlY3QgTElCVUtBTExPQwo+
ICsgICAgc2VsZWN0IExJQlBUSFJFQURfRU1CRURERUQKPiArICAgIHNlbGVjdCBMSUJORVdMSUJD
CgpJdCB3b3VsZCBiZSBuaWNlIGZvciB0aGUgMyBzZWxlY3RzIGFib3ZlIHRvIGhhdmUgdGhlIHNh
bWUgaW5kZW50YXRpb24gYXMKdGhlIGxpbmVzIGJlZm9yZSB0aGVtLgoKPiArCj4gK2lmIExJQkxD
TVMKPiArZW5kaWYKPiBkaWZmIC0tZ2l0IGEvTUFJTlRBSU5FUlMubWQgYi9NQUlOVEFJTkVSUy5t
ZAo+IG5ldyBmaWxlIG1vZGUgMTAwNzU1Cj4gaW5kZXggMDAwMDAwMC4uMjI3YzRkZAo+IC0tLSAv
ZGV2L251bGwKPiArKysgYi9NQUlOVEFJTkVSUy5tZAo+IEBAIC0wLDAgKzEsMTEgQEAKPiArTWFp
bnRhaW5lcnMgTGlzdAo+ICs9PT09PT09PT09PT09PT09Cj4gKwo+ICtGb3Igbm90ZXMgb24gaG93
IHRvIHJlYWQgdGhpcyBpbmZvcm1hdGlvbiwgcGxlYXNlIHJlZmVyIHRvIGBNQUlOVEFJTkVSUy5t
ZGAgaW4KPiArdGhlIG1haW4gVW5pa3JhZnQgcmVwb3NpdG9yeS4KPiArCj4gKwlMQ01TLVVOSUtS
QUZUCj4gKwlNOglDb3N0aW4gTHVwdSA8Y29zdGluLmx1cHVAY3MucHViLnJvPgoKVGhlIGZpcnN0
IG1haW50YWluZXIgaGVyZSBzaG91bGQgYmUgeW91LCBFc3RlYmFuLiBTbyBwbGVhc2UgcmVtb3Zl
IG1lCmZyb20gdGhpcyBsaXN0LiBBbmQgZm9yIHRoZSBzZWNvbmQgbWFpbnRhaW5lciBlaXRoZXIg
eW91IGNhbiBhZGQgWGF2aWVyCm9yIHlvdSBjYW4ga2VlcCBGZWxpcGUuCgo+ICsJTToJRmVsaXBl
IEh1aWNpIDxmZWxpcGUuaHVpY2lAbmVjbGFiLmV1Pgo+ICsJTDoJbWluaW9zLWRldmVsQGxpc3Rz
Lnhlbi5vcmcKPiArCUY6ICoKPiBkaWZmIC0tZ2l0IGEvTWFrZWZpbGUudWsgYi9NYWtlZmlsZS51
awo+IG5ldyBmaWxlIG1vZGUgMTAwNzU1Cj4gaW5kZXggMDAwMDAwMC4uODZmOTQxYgo+IC0tLSAv
ZGV2L251bGwKPiArKysgYi9NYWtlZmlsZS51awo+IEBAIC0wLDAgKzEsMTI5IEBACj4gKyMgIFNQ
RFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKPiArIwo+ICsjICBsY21zIE1ha2Vm
aWxlLnVrCj4gKyMKPiArIyAgQXV0aG9yczogQ29zdGluIEx1cHUgPGNvc3Rpbi5sdXB1QGNzLnB1
Yi5ybz4KCkZvciBzdXJlIHRoZSBhdXRob3Igc2hvdWxkIGJlIG9ubHkgeW91IGhlcmUuCgo+ICsj
Cj4gKyMgIENvcHlyaWdodCAoYykgMjAxOSwgVW5pdmVyc2l0eSBQb2xpdGVobmljYSBvZiBCdWNo
YXJlc3QuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgpQbGVhc2UgcmVwbGFjZSB0aGUgaW5zdGl0dXRp
b24gd2l0aCB5b3Vycy4KCj4gKyMKPiArIyAgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cj4gKyMgIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwo+ICsj
ICBhcmUgbWV0Ogo+ICsjCj4gKyMgIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cj4gKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KPiArIyAgMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKPiArIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQo+ICsjICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgo+ICsjICAzLiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBjb3B5cmlnaHQgaG9sZGVyIG5vciB0aGUgbmFtZXMgb2Yg
aXRzCj4gKyMgICAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCj4gKyMgICAgIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCj4gKyMKPiArIyAgVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAi
QVMgSVMiCj4gKyMgIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKPiArIyAgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKPiAr
IyAgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVS
IE9SIENPTlRSSUJVVE9SUyBCRQo+ICsjICBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCj4gKyMgIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCj4g
KyMgIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUwo+ICsjICBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgo+ICsjICBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQo+ICsjICBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRQo+ICsjICBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KPiArIwo+ICsjICBUSElTIEhFQURFUiBNQVkgTk9UIEJFIEVYVFJBQ1RFRCBPUiBNT0RJ
RklFRCBJTiBBTlkgV0FZLgo+ICsjCj4gKwo+ICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwo+ICsj
IExpYnJhcnkgcmVnaXN0cmF0aW9uCj4gKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCj4gKyQoZXZh
bCAkKGNhbGwgYWRkbGliX3MsbGlibGNtcywkKENPTkZJR19MSUJMQ01TKSkpCj4gKyMkKGV2YWwg
JChjYWxsIGFkZGxpYl9zLGxpYmxjbXNnbHVlLCQoQ09ORklHX0xJQkxDTVMpKSkKCklmIHlvdSBk
b24ndCB1c2UgbGlibGNtc2dsdWUgdGhlbiB3ZSBjYW4gcmVtb3ZlIHRoaXMgY29tbWVudGVkIGxp
bmUuIEl0CndhcyB1c2VkIGluIHRoZSBwY3JlIHBvcnQgYW5kIHdhbGt0aHJvdWdoIG9ubHkgYXMg
YW4gZXhhbXBsZS4KCj4gKwo+ICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwo+ICsjIE9yaWdpbmFs
IHNvdXJjZXMKPiArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKPiArTElCTENNU19WRVJTSU9OPTIu
OQo+ICtMSUJMQ01TX1VSTD1odHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vcHl0aG9u
LXBpbGxvdy9waWxsb3ctZGVwZW5kcy9tYXN0ZXIvbGNtczItJChMSUJMQ01TX1ZFUlNJT04pLnRh
ci5nego+ICtMSUJMQ01TX1BBVENIRElSPSQoTElCTENNU19CQVNFKS9wYXRjaGVzCj4gK0xJQkxD
TVNfU1VCRElSPWxjbXMyLSQoTElCTENNU19WRVJTSU9OKQo+ICskKGV2YWwgJChjYWxsIGZldGNo
LGxpYmxjbXMsJChMSUJMQ01TX1VSTCkpKQo+ICskKGV2YWwgJChjYWxsIHBhdGNoLGxpYmxjbXMs
JChMSUJMQ01TX1BBVENIRElSKSwkKExJQkxDTVNfU1VCRElSKSkpCj4gKwo+ICsjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIwo+ICsjIEhlbHBlcnMKPiArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKPiAr
TElCTENNU19FWFRSQUNURUQgPSAkKExJQkxDTVNfT1JJR0lOKS9sY21zMi0kKExJQkxDTVNfVkVS
U0lPTikKCkkgdGhpbmsgeW91IGNhbiBzZXQgaXQgdG8gJChMSUJMQ01TX09SSUdJTikvJChMSUJM
Q01TX1NVQkRJUikKCj4gKwo+ICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwo+ICsjIExpYnJhcnkg
aW5jbHVkZXMKPiArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKPiArTElCTENNU19DT01NT05fSU5D
TFVERVMteSAgICAgICs9IC1JJChMSUJMQ01TX0VYVFJBQ1RFRCkvaW5jbHVkZQo+ICtMSUJMQ01T
X0NPTU1PTl9JTkNMVURFUy15ICAgICAgKz0gLUkkKExJQkxDTVNfRVhUUkFDVEVEKS9zcmMKPiAr
Cj4gK0NJTkNMVURFUy0kKENPTkZJR19MSUJMQ01TKSAgICArPSAkKExJQkxDTVNfQ09NTU9OX0lO
Q0xVREVTLXkpCj4gKwo+ICtMSUJMQ01TX0NJTkNMVURFUyAgICs9IC1JJChMSUJMQ01TX0VYVFJB
Q1RFRCkKPiArCj4gKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCj4gKyMgR2xvYmFsIGZsYWdzCj4g
KyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCj4gKyMgU3VwcHJlc3NlZCBmbGFncwoKcy9TdXBwcmVz
c2VkL1N1cHByZXNzCgo+ICtMSUJMQ01TX1NVUFBSRVNTX0ZMQUdTICs9IC1Xbm8tdW51c2VkLXBh
cmFtZXRlciBcCj4gKwktV25vLXVudXNlZC12YXJpYWJsZSAtV25vLXVudXNlZC12YWx1ZSAtV25v
LXVudXNlZC1mdW5jdGlvbiBcCj4gKwktV25vLW1pc3NpbmctZmllbGQtaW5pdGlhbGl6ZXJzIC1X
bm8taW1wbGljaXQtZmFsbHRocm91Z2gKPiArTElCTENNU19DRkxBR1MteSAgICs9ICQoTElCTENN
U19TVVBQUkVTU19GTEFHUykgXAo+ICsJLVduby1wb2ludGVyLXRvLWludC1jYXN0IC1Xbm8taW50
LXRvLXBvaW50ZXItY2FzdAo+ICsKCldoZW4gYnVpbGRpbmcgeW91IHN0aWxsIGdldCBzb21lIHdh
cm5pbmdzIGxpa2UgLVdtaXNsZWFkaW5nLWluZGVudGF0aW9uCm9yIC1Xc3RyaW5nb3AtdHJ1bmNh
dGlvbi4gWW91IGNhbiBzdXByZXNzIHRoZW0gd2l0aAotV25vLW1pc2xlYWRpbmctaW5kZW50YXRp
b24gYW5kIC1Xbm8tc3RyaW5nb3AtdHJ1bmNhdGlvbi4gWW91IGNhbiBkbyB0aGUKc2FtZSBmb3Ig
dGhlIG90aGVyIHdhcm5pbmdzIGFzIHdlbGwuCgo+ICsKPiArCj4gKyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjCj4gKyMgT1MgZGVwZW5kZW5jaWVzIGNvZGUgLSBHbHVlIGJldHdlZW4gVW5pa3JhZnQg
YW5kIGxjbXMKPiArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKPiArI0xJQkxDTVNHTFVFX1NSQ1Mt
eSArPSAkKExJQkxDTVNfQkFTRSkvc2FtcGxlLmN8Z2x1ZQoKSWYgeW91IGRvbid0IHVzZSBsaWJs
Y21zZ2x1ZSB0aGVuIHdlIGNhbiByZW1vdmUgaXQuIEl0IHdhcyB1c2VkIGluIHRoZQpwY3JlIHBv
cnQgYW5kIHdhbGt0aHJvdWdoIG9ubHkgYXMgYW4gZXhhbXBsZS4KCj4gKwo+ICsjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIwo+ICsjIExDTVMgc3JjCj4gKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCj4g
K0xJQkxDTVNfU1JDUy15ICs9ICQoTElCTENNU19FWFRSQUNURUQpL3NyYy9jbXNjbnZydC5jCj4g
K0xJQkxDTVNfU1JDUy15ICs9ICQoTElCTENNU19FWFRSQUNURUQpL3NyYy9jbXNlcnIuYwo+ICtM
SUJMQ01TX1NSQ1MteSArPSAkKExJQkxDTVNfRVhUUkFDVEVEKS9zcmMvY21zZ2FtbWEuYwo+ICtM
SUJMQ01TX1NSQ1MteSArPSAkKExJQkxDTVNfRVhUUkFDVEVEKS9zcmMvY21zZ210LmMKPiArTElC
TENNU19TUkNTLXkgKz0gJChMSUJMQ01TX0VYVFJBQ1RFRCkvc3JjL2Ntc2ludHJwLmMKPiArTElC
TENNU19TUkNTLXkgKz0gJChMSUJMQ01TX0VYVFJBQ1RFRCkvc3JjL2Ntc2lvMC5jCj4gK0xJQkxD
TVNfU1JDUy15ICs9ICQoTElCTENNU19FWFRSQUNURUQpL3NyYy9jbXNpbzEuYwo+ICtMSUJMQ01T
X1NSQ1MteSArPSAkKExJQkxDTVNfRVhUUkFDVEVEKS9zcmMvY21zbHV0LmMKPiArTElCTENNU19T
UkNTLXkgKz0gJChMSUJMQ01TX0VYVFJBQ1RFRCkvc3JjL2Ntc3BsdWdpbi5jCj4gK0xJQkxDTVNf
U1JDUy15ICs9ICQoTElCTENNU19FWFRSQUNURUQpL3NyYy9jbXNzbS5jCj4gK0xJQkxDTVNfU1JD
Uy15ICs9ICQoTElCTENNU19FWFRSQUNURUQpL3NyYy9jbXNtZDUuYwo+ICtMSUJMQ01TX1NSQ1Mt
eSArPSAkKExJQkxDTVNfRVhUUkFDVEVEKS9zcmMvY21zbXRyeC5jCj4gK0xJQkxDTVNfU1JDUy15
ICs9ICQoTElCTENNU19FWFRSQUNURUQpL3NyYy9jbXNwYWNrLmMKPiArTElCTENNU19TUkNTLXkg
Kz0gJChMSUJMQ01TX0VYVFJBQ1RFRCkvc3JjL2Ntc3d0cG50LmMKPiArTElCTENNU19TUkNTLXkg
Kz0gJChMSUJMQ01TX0VYVFJBQ1RFRCkvc3JjL2Ntc3hmb3JtLmMKPiArTElCTENNU19TUkNTLXkg
Kz0gJChMSUJMQ01TX0VYVFJBQ1RFRCkvc3JjL2Ntc3NhbXAuYwo+ICtMSUJMQ01TX1NSQ1MteSAr
PSAkKExJQkxDTVNfRVhUUkFDVEVEKS9zcmMvY21zbmFtZWQuYwo+ICtMSUJMQ01TX1NSQ1MteSAr
PSAkKExJQkxDTVNfRVhUUkFDVEVEKS9zcmMvY21zY2FtMDIuYwo+ICtMSUJMQ01TX1NSQ1MteSAr
PSAkKExJQkxDTVNfRVhUUkFDVEVEKS9zcmMvY21zdmlydC5jCj4gK0xJQkxDTVNfU1JDUy15ICs9
ICQoTElCTENNU19FWFRSQUNURUQpL3NyYy9jbXN0eXBlcy5jCj4gK0xJQkxDTVNfU1JDUy15ICs9
ICQoTElCTENNU19FWFRSQUNURUQpL3NyYy9jbXNjZ2F0cy5jCj4gK0xJQkxDTVNfU1JDUy15ICs9
ICQoTElCTENNU19FWFRSQUNURUQpL3NyYy9jbXNwczIuYwo+ICtMSUJMQ01TX1NSQ1MteSArPSAk
KExJQkxDTVNfRVhUUkFDVEVEKS9zcmMvY21zb3B0LmMKPiArTElCTENNU19TUkNTLXkgKz0gJChM
SUJMQ01TX0VYVFJBQ1RFRCkvc3JjL2Ntc2hhbGYuYwo+ICtMSUJMQ01TX1NSQ1MteSArPSAkKExJ
QkxDTVNfRVhUUkFDVEVEKS9zcmMvY21zYWxwaGEuYwo+ICtMSUJMQ01TX1NSQ1MteSArPSAkKExJ
QkxDTVNfRVhUUkFDVEVEKS9zcmMvY21zcGNzLmMKPiArCj4gKwo+ICsjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIwo+ICsjIExDTVMgcHJlcGFyZQo+ICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwo+ICsj
IFJ1biAuL2NvbmZpZ3VyZQo+ICskKExJQkxDTVNfRVhUUkFDVEVEKS9jb25maWcuc3RhdHVzOiAk
KExJQkxDTVNfQlVJTEQpLy5vcmlnaW4KPiArCSQoY2FsbCB2ZXJib3NlX2NtZCxDT05GSUcsbGli
bGNtczogJChub3RkaXIgJEApLCBcCj4gKwkJY2QgJChMSUJMQ01TX0VYVFJBQ1RFRCkgJiYgLi9j
b25maWd1cmUpCj4gKwo+ICtMSUJMQ01TX1BSRVBBUkVEX0RFUFMgPSBcCj4gKwkkKExJQkxDTVNf
RVhUUkFDVEVEKS9jb25maWcuc3RhdHVzIFwKPiArCj4gKyQoTElCTENNU19CVUlMRCkvLnByZXBh
cmVkOiAkKExJQkxDTVNfUFJFUEFSRURfREVQUykKPiArCj4gK1VLX1BSRVBBUkUgKz0gJChMSUJM
Q01TX0JVSUxEKS8ucHJlcGFyZWQKCkluIHRoaXMgY2FzZSB3ZSBkb24ndCBuZWVkIHRvIHJ1biAu
L2NvbmZpZ3VyZSBvbiB0aGUgb3JpZ2luIGNvZGUgc28geW91CmNhbiByZW1vdmUgYW55dGhpbmcg
ZnJvbSBgTENNUyBwcmVwYXJlYCB0byB0aGUgZW5kIG9mIHRoZSBmaWxlLgoKPiBcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKPiBkaWZmIC0tZ2l0IGEvUkVBRE1FLm1kIGIvUkVBRE1FLm1kCj4g
bmV3IGZpbGUgbW9kZSAxMDA3NTUKPiBpbmRleCAwMDAwMDAwLi40MWYzZWE1Cj4gLS0tIC9kZXYv
bnVsbAo+ICsrKyBiL1JFQURNRS5tZAo+IEBAIC0wLDAgKzEsNyBAQAo+ICtsY21zIGZvciBVbmlr
cmFmdAo+ICs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo+ICsKPiArVGhpcyBpcyB0aGUg
cG9ydCBvZiBsY21zIGZvciBVbmlrcmFmdCBhcyBleHRlcm5hbCBsaWJyYXJ5Lgo+ICsKPiArUGxl
YXNlIHJlZmVyIHRvIHRoZSBgUkVBRE1FLm1kYCBhcyB3ZWxsIGFzIHRoZSBkb2N1bWVudGF0aW9u
IGluIHRoZSBgZG9jL2AKPiArc3ViZGlyZWN0b3J5IG9mIHRoZSBtYWluIHVuaWtyYWZ0IHJlcG9z
aXRvcnkuCj4gZGlmZiAtLWdpdCBhL2V4cG9ydHN5bXMudWsgYi9leHBvcnRzeW1zLnVrCj4gbmV3
IGZpbGUgbW9kZSAxMDA3NTUKPiBpbmRleCAwMDAwMDAwLi5jODZjM2YzCj4gLS0tIC9kZXYvbnVs
bAo+ICsrKyBiL2V4cG9ydHN5bXMudWsKPiBAQCAtMCwwICsxIEBACj4gK25vbmUKPiBcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKPiAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxp
c3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9s
aXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Wed Dec 04 11:17:39 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 04 Dec 2019 11:17:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1icSf4-0004jI-0n; Wed, 04 Dec 2019 11:17:38 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=hnhh=Z2=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1icSf2-0004jD-Q3
 for minios-devel@lists.xen.org; Wed, 04 Dec 2019 11:17:36 +0000
X-Inumbo-ID: aba7425e-1687-11ea-8200-12813bfff9fa
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id aba7425e-1687-11ea-8200-12813bfff9fa;
 Wed, 04 Dec 2019 11:17:35 +0000 (UTC)
IronPort-SDR: fKJdJ5poSVqV0g4tUeI7OClFIHYJDN7JYji9roQgnBDnE+HvpozE0BJWyNEjy+w16HFuhJy02s
 plS2g9p5oEkA==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 04 Dec 2019 13:17:32 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id B2A431A601BB;
 Wed,  4 Dec 2019 13:17:32 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id ZFQ_WEj1Or51; Wed,  4 Dec 2019 13:17:32 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 99FC01A601C5;
 Wed,  4 Dec 2019 13:17:32 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id Onm9gEipxWMH; Wed,  4 Dec 2019 13:17:32 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 7CBCD1A601BB;
 Wed,  4 Dec 2019 13:17:32 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Wed,  4 Dec 2019 13:17:27 +0200
Message-Id: <20191204111727.18746-1-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
Subject: [Minios-devel] [UNIKRAFT/LIBCXX PATCH] Config.uk: Make CXX_THREADS
 depend on LIBCXXABI_THREADS
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: vlad_andrei.badoiu@stud.acs.upb.ro
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

Li4uIGJlY2F1c2UgTElCQ1hYIGRlcGVuZHMgb24gTElCQ1hYQUJJLgoKU2lnbmVkLW9mZi1ieTog
Q29zdGluIEx1cHUgPGNvc3Rpbi5sdXB1QGNzLnB1Yi5ybz4KLS0tCiBDb25maWcudWsgfCAxICsK
IDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQoKZGlmZiAtLWdpdCBhL0NvbmZpZy51ayBi
L0NvbmZpZy51awppbmRleCAxNmExMWRjLi5iNTcwMzcyIDEwMDY0NAotLS0gYS9Db25maWcudWsK
KysrIGIvQ29uZmlnLnVrCkBAIC04LDUgKzgsNiBAQCBtZW51Y29uZmlnIExJQkNYWAogaWYgTElC
Q1hYCiBjb25maWcgQ1hYX1RIUkVBRFMKICAgICBib29sICJFbmFibGUgQ1hYIHRocmVhZHMgc3Vw
cG9ydCIKKyAgICBzZWxlY3QgTElCQ1hYQUJJX1RIUkVBRFMKICAgICBkZWZhdWx0IG4KIGVuZGlm
Ci0tIAoyLjIwLjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9q
ZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWlu
aW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Wed Dec 04 11:18:10 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 04 Dec 2019 11:18:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1icSfa-0004kt-3P; Wed, 04 Dec 2019 11:18:10 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=hnhh=Z2=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1icSfY-0004ko-2V
 for minios-devel@lists.xen.org; Wed, 04 Dec 2019 11:18:08 +0000
X-Inumbo-ID: bf3ecdd2-1687-11ea-8200-12813bfff9fa
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id bf3ecdd2-1687-11ea-8200-12813bfff9fa;
 Wed, 04 Dec 2019 11:18:07 +0000 (UTC)
IronPort-SDR: 610zWFQJWsBbXzIMnH9I+y4gZ8tUM9DZIDzk9JZBjL3qmL28/AdcrpZ4t7MPoc+PM5mRDgdpQZ
 tqHWiRYESQfg==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 04 Dec 2019 13:18:07 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 6BA601A601BB;
 Wed,  4 Dec 2019 13:18:07 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id koNalJj8IMJs; Wed,  4 Dec 2019 13:18:07 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 524981A601C5;
 Wed,  4 Dec 2019 13:18:07 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id WRrDM3qJetrp; Wed,  4 Dec 2019 13:18:07 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 359C91A601BB;
 Wed,  4 Dec 2019 13:18:07 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Wed,  4 Dec 2019 13:18:04 +0200
Message-Id: <20191204111804.18804-1-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
Subject: [Minios-devel] [UNIKRAFT/LIBCXXABI PATCH] Config.uk: Remove
 CXX_THREADS dependency for LIBCXXABI_THREADS
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: vlad_andrei.badoiu@stud.acs.upb.ro
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

Li4uIGJlY2F1c2UgTElCQ1hYIGRlcGVuZHMgb24gTElCQ1hYQUJJLgoKU2lnbmVkLW9mZi1ieTog
Q29zdGluIEx1cHUgPGNvc3Rpbi5sdXB1QGNzLnB1Yi5ybz4KLS0tCiBDb25maWcudWsgfCAxIC0K
IDEgZmlsZSBjaGFuZ2VkLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvQ29uZmlnLnVrIGIv
Q29uZmlnLnVrCmluZGV4IGQ2ZTFmMDAuLmRmMmNmZTYgMTAwNjQ0Ci0tLSBhL0NvbmZpZy51awor
KysgYi9Db25maWcudWsKQEAgLTYsNSArNiw0IEBAIG1lbnVjb25maWcgTElCQ1hYQUJJCiBpZiBM
SUJDWFhBQkkKICAgICBjb25maWcgTElCQ1hYQUJJX1RIUkVBRFMKICAgICBib29sICJFbmFibGUg
dGhyZWFkcyBzdXBwb3J0IgotICAgIHNlbGVjdCBDWFhfVEhSRUFEUwogZW5kaWYKLS0gCjIuMjAu
MQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlv
cy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0
dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Wed Dec 04 13:47:25 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 04 Dec 2019 13:47:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1icUzz-0000Yp-UO; Wed, 04 Dec 2019 13:47:23 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=xj7H=Z2=stud.acs.upb.ro=vlad_andrei.badoiu@srs-us1.protection.inumbo.net>)
 id 1icUzy-0000Yk-3Q
 for minios-devel@lists.xen.org; Wed, 04 Dec 2019 13:47:22 +0000
X-Inumbo-ID: 96ff7942-169c-11ea-8205-12813bfff9fa
Received: from EUR03-VE1-obe.outbound.protection.outlook.com (unknown
 [40.107.5.69]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 96ff7942-169c-11ea-8205-12813bfff9fa;
 Wed, 04 Dec 2019 13:47:20 +0000 (UTC)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EA2RafxYw00I7iGg+Y5gj9hr5ZkC0JSpMXhjymfP3HS5Z4JWEtzcBkgRtbyKCfR42T7M284szJ16oTrozB9eAxGUnSp3/uUkrvbG/jEfPXJj6G5MRiBKn1UIwYXgTca9l+cnccrntpSBiVjKCJM1ugH4biAWhcdR6dzGr+i2mfGf43HYedtdzT+Zysr4dYPk7VGKe76TsS5gttHx1OYPULgbLUSLxQIVh60R151ZsygitHYw+7ql/jB5qXyl3c4snJwg68hQ4HWyaRQRw+5I6zDFr6mDiLjjdJb1CR299dfoEULEkgYvJxYXsjfhzwK+b3fw7d07Zzn9mdWxjUADSA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=v/rcEUdVCRGAuLITaf8wCUWwNbfSSWXxUoAGBugzF14=;
 b=R3fVwLasmKxOLPOG1xbc4AZZQVHZv8pN0Qy5Ynk7+5nddOriJfu+3DdHJAPpWkjpg4DHQRA4fhjRgQ9GI5uMtPxCqgZjdX4CL9ZiXoBAglMWZDETjiOSkBIYRlutiiZ79k5hXC6z1ZiraH3G7ElRGoDvMmyji6Fy4Csn8d2v6q1snEvZPr2fKbBlRXfJ7Iuiyx0NbKibYjn7QrcfuhBqqnpgIhXKiSNmAFUFHk/lyHhOaSTFeoePFKqMxTyz05MFwC2G+sXj7IpOhDdLd6ZuQthRwGlLW8mCattUNvopQlLhURSgt964nWJPgizz/jdukO1agLAlZ8nW3leo++laUA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=stud.acs.upb.ro; dmarc=pass action=none
 header.from=stud.acs.upb.ro; dkim=pass header.d=stud.acs.upb.ro; arc=none
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com (20.177.55.79) by
 VI1PR01MB5037.eurprd01.prod.exchangelabs.com (20.177.201.211) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.2516.13; Wed, 4 Dec 2019 13:47:18 +0000
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::71a3:74d9:f301:33b6]) by VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::71a3:74d9:f301:33b6%7]) with mapi id 15.20.2516.013; Wed, 4 Dec 2019
 13:47:18 +0000
From: =?utf-8?B?VmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIp?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
To: Costin Lupu <costin.lupu@cs.pub.ro>, "minios-devel@lists.xen.org"
 <minios-devel@lists.xen.org>
Thread-Topic: [UNIKRAFT/LIBCXX PATCH] Config.uk: Make CXX_THREADS depend on
 LIBCXXABI_THREADS
Thread-Index: AQHVqpRu3PBv8WgEX0+KIblo7FVQ/qep/YQA
Date: Wed, 4 Dec 2019 13:47:17 +0000
Message-ID: <f34c38cd-7a69-f0dc-16a9-d7a9129f7210@stud.acs.upb.ro>
References: <20191204111727.18746-1-costin.lupu@cs.pub.ro>
In-Reply-To: <20191204111727.18746-1-costin.lupu@cs.pub.ro>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-clientproxiedby: AM4PR0501CA0064.eurprd05.prod.outlook.com
 (2603:10a6:200:68::32) To VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 (2603:10a6:803:6d::15)
authentication-results: spf=none (sender IP is )
 smtp.mailfrom=vlad_andrei.badoiu@stud.acs.upb.ro; 
x-ms-exchange-messagesentrepresentingtype: 1
x-originating-ip: [2a02:2f0b:8303:7b00:c136:551e:723a:ee53]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 8675cf55-2d81-4601-dde6-08d778c07a45
x-ms-traffictypediagnostic: VI1PR01MB5037:
x-microsoft-antispam-prvs: <VI1PR01MB5037A4EB7C1C95720C35C6B5A65D0@VI1PR01MB5037.eurprd01.prod.exchangelabs.com>
x-ms-oob-tlc-oobclassifiers: OLM:590;
x-forefront-prvs: 0241D5F98C
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(346002)(366004)(39830400003)(376002)(136003)(396003)(199004)(189003)(508600001)(86362001)(25786009)(31696002)(6246003)(6436002)(53546011)(102836004)(6506007)(85182001)(14454004)(2501003)(2616005)(229853002)(110136005)(786003)(316002)(6486002)(186003)(11346002)(5660300002)(305945005)(7736002)(2906002)(76176011)(8676002)(52116002)(31686004)(4744005)(99286004)(6512007)(71200400001)(71190400001)(8936002)(81156014)(66446008)(81166006)(66476007)(64756008)(66946007)(66556008)(6116002)(85202003);
 DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR01MB5037;
 H:VI1PR01MB4205.eurprd01.prod.exchangelabs.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; A:0; MX:1; 
received-spf: None (protection.outlook.com: stud.acs.upb.ro does not designate
 permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: deBLUUVLCAzpmEJMsztOkej9Bgl7IqdaHneupYof5P6wF9gP7g/XpINH0oPSKaRewkE1fAEKcNP0hX1LcdXB7dg270FVJqSaUqjNuevfmv4SSnZNcLbnyMoG9ONDYLeRnAIW0uBZTx/Jh1iPcKtC4o41jHxLIm4+TPaSgFF8t/VH+zNwPj2yx//HYFWx2YlteJKUlpK5adbA7ksiZdVkULVNuImkfA3WA9ST9U/2NCOkUbCFVStq61y4VhMQkV3PofBOYEbMfQoI0trHOoMjnSker2GMit6Dqo2CfDNH+4YAjaCJnhs3tomAN3EZj2i0M5AJ3HRsIADlj/wgLAvC1rU4htzJlJMlmD1Cbfp3aUeuCe3UB7Xx7k8u7Vy3RsMgYK/qFiXjS1FEi5wMMyMmHGoZ04+0PH2whAZCeUZ545r8C5HUmWfbbd/a5YaggUNy
x-ms-exchange-transport-forked: True
Content-ID: <9AA57887151AF947A04018583CFE2078@eurprd01.prod.exchangelabs.com>
MIME-Version: 1.0
X-OriginatorOrg: stud.acs.upb.ro
X-MS-Exchange-CrossTenant-Network-Message-Id: 8675cf55-2d81-4601-dde6-08d778c07a45
X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Dec 2019 13:47:17.9486 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 2d8cc8ba-8dda-4334-9e5c-fac2092e9bac
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: R/xqYjr/nQaTVf8VD2yxc9VPqSkoHBJxNEIk8D5gQQHuzEY7/rEFwMeHJoVro58JTf5XmcHyq7AzMXpOeWisht2JiZJzgjrxNvGZ9sYpsylIer6c5u7WVh3Jy2Mtf3vj
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR01MB5037
Subject: Re: [Minios-devel] [UNIKRAFT/LIBCXX PATCH] Config.uk: Make
 CXX_THREADS depend on LIBCXXABI_THREADS
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhhbmtzIENvc3RpbiENCg0KUmV2aWV3ZWQtYnk6IFZsYWQtQW5kcmVpIEJhZG9pdSA8dmxhZF9h
bmRyZWkuYmFkb2l1QHN0dWQuYWNzLnVwYi5ybz4NCg0KT24gMDQuMTIuMjAxOSAxMzoxNywgQ29z
dGluIEx1cHUgd3JvdGU6DQo+IC4uLiBiZWNhdXNlIExJQkNYWCBkZXBlbmRzIG9uIExJQkNYWEFC
SS4NCj4NCj4gU2lnbmVkLW9mZi1ieTogQ29zdGluIEx1cHUgPGNvc3Rpbi5sdXB1QGNzLnB1Yi5y
bz4NCj4gLS0tDQo+ICAgQ29uZmlnLnVrIHwgMSArDQo+ICAgMSBmaWxlIGNoYW5nZWQsIDEgaW5z
ZXJ0aW9uKCspDQo+DQo+IGRpZmYgLS1naXQgYS9Db25maWcudWsgYi9Db25maWcudWsNCj4gaW5k
ZXggMTZhMTFkYy4uYjU3MDM3MiAxMDA2NDQNCj4gLS0tIGEvQ29uZmlnLnVrDQo+ICsrKyBiL0Nv
bmZpZy51aw0KPiBAQCAtOCw1ICs4LDYgQEAgbWVudWNvbmZpZyBMSUJDWFgNCj4gICBpZiBMSUJD
WFgNCj4gICBjb25maWcgQ1hYX1RIUkVBRFMNCj4gICAgICAgYm9vbCAiRW5hYmxlIENYWCB0aHJl
YWRzIHN1cHBvcnQiDQo+ICsgICAgc2VsZWN0IExJQkNYWEFCSV9USFJFQURTDQo+ICAgICAgIGRl
ZmF1bHQgbg0KPiAgIGVuZGlmDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54
ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGlu
Zm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Wed Dec 04 13:50:21 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 04 Dec 2019 13:50:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1icV2r-0001Dt-69; Wed, 04 Dec 2019 13:50:21 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=xj7H=Z2=stud.acs.upb.ro=vlad_andrei.badoiu@srs-us1.protection.inumbo.net>)
 id 1icV2q-0001Do-4J
 for minios-devel@lists.xen.org; Wed, 04 Dec 2019 13:50:20 +0000
X-Inumbo-ID: 00ceb946-169d-11ea-a0d2-bc764e2007e4
Received: from EUR02-AM5-obe.outbound.protection.outlook.com (unknown
 [40.107.0.87]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 00ceb946-169d-11ea-a0d2-bc764e2007e4;
 Wed, 04 Dec 2019 13:50:17 +0000 (UTC)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=A3IGAKe3UpsT1HDmkm8DF4RK93IfxeaSXusHpjzi09KEe/yqPgTT9hViuLd7Asc5zlZOkNtWf+YN7ExIMINCdghYjotX3iMDE+idcCqZ70tJzVsUWS8fMvgR/T2ExqCZPXO67s0cps9EjhBzyPMEdUD9ZlO8AyRlMKGbvhRRsF5/EHQfAxZTT2onMBYDtnY6LjEj4i6Xoepan2Kipm1DbOyfyFSY/7Zu771FKK3ia5ZwYlODFWQQnMiwI9fAh954Hk9lFShyxm8k6U0nyCggItxjhMXKjoi01Z13Y0o2G9dY1wzeDz9TnULugdGIPTz8UE8lLCLdmH5m+M4xOrm0zA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Bm1HGr6G1l5lFoeMmSWHbcJTM4rGYzQgYiEFyN3s0gs=;
 b=CpeLfHD4L3CWKKpJTQTY1kry5IIB0Uw/HRwb1vXuk/v7PbRfA5u0w9Q7WUvjesBIq38Is9Yfy40/ydFwHr1j5CE/dsW31mqVfy43RXPbBxEnh/JVL7vreLlz3IrfR7mnfMrvCVuRdlwDOKujlNU2pFBGMnqQqdZfmgABc63C+i2HZIFuYXPHxJEok/fliOUBxA+rDekUOzR8yTgHlqFVI/ZimTZZ55kVltAFkwiPHMUoh4vEgbDLTnP7mayHE12p0awxVoQ2ewDW8/KJ2iTLQT9ZhcsfcstmT7PQrJv6sqz9cqALVs+Brkc4zNzgmpibr3TzBHzq2K63I786lAF9vg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=stud.acs.upb.ro; dmarc=pass action=none
 header.from=stud.acs.upb.ro; dkim=pass header.d=stud.acs.upb.ro; arc=none
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com (20.177.55.79) by
 VI1PR01MB5245.eurprd01.prod.exchangelabs.com (20.178.120.206) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.2495.20; Wed, 4 Dec 2019 13:50:15 +0000
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::71a3:74d9:f301:33b6]) by VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::71a3:74d9:f301:33b6%7]) with mapi id 15.20.2516.013; Wed, 4 Dec 2019
 13:50:15 +0000
From: =?utf-8?B?VmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIp?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
To: Costin Lupu <costin.lupu@cs.pub.ro>, "minios-devel@lists.xen.org"
 <minios-devel@lists.xen.org>
Thread-Topic: [UNIKRAFT/LIBCXXABI PATCH] Config.uk: Remove CXX_THREADS
 dependency for LIBCXXABI_THREADS
Thread-Index: AQHVqpSCOmMn/PJo0UGAD5GZOJ6+Saep/leA
Date: Wed, 4 Dec 2019 13:50:14 +0000
Message-ID: <9fe3893b-1f45-30ed-ffba-0c46dfb3ca7b@stud.acs.upb.ro>
References: <20191204111804.18804-1-costin.lupu@cs.pub.ro>
In-Reply-To: <20191204111804.18804-1-costin.lupu@cs.pub.ro>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-clientproxiedby: MR2P264CA0037.FRAP264.PROD.OUTLOOK.COM (2603:10a6:500::25)
 To VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 (2603:10a6:803:6d::15)
authentication-results: spf=none (sender IP is )
 smtp.mailfrom=vlad_andrei.badoiu@stud.acs.upb.ro; 
x-ms-exchange-messagesentrepresentingtype: 1
x-originating-ip: [2a02:2f0b:8303:7b00:c136:551e:723a:ee53]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 104aadd2-c930-440c-c310-08d778c0e3cf
x-ms-traffictypediagnostic: VI1PR01MB5245:
x-microsoft-antispam-prvs: <VI1PR01MB52455F476221F0C5F7597824A65D0@VI1PR01MB5245.eurprd01.prod.exchangelabs.com>
x-ms-oob-tlc-oobclassifiers: OLM:7691;
x-forefront-prvs: 0241D5F98C
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(376002)(39840400004)(396003)(346002)(366004)(136003)(199004)(189003)(76176011)(305945005)(7736002)(31696002)(81166006)(25786009)(52116002)(6512007)(81156014)(8676002)(14454004)(2906002)(2501003)(8936002)(508600001)(99286004)(6116002)(6506007)(110136005)(85182001)(102836004)(316002)(786003)(11346002)(2616005)(71190400001)(71200400001)(229853002)(6246003)(66946007)(66556008)(64756008)(86362001)(5660300002)(6436002)(31686004)(4744005)(66446008)(85202003)(186003)(53546011)(66476007)(6486002)(14444005);
 DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR01MB5245;
 H:VI1PR01MB4205.eurprd01.prod.exchangelabs.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; A:0; MX:1; 
received-spf: None (protection.outlook.com: stud.acs.upb.ro does not designate
 permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 6pIi91XAwR6TTWSjw5CWO6FWOS9ji65hUnA8erWt/2rtu3Zoptlefv0W2dBLO0cg0zi6pQo0P9FFxD6TLud6Zuca1DIZ6qIzD+x6jfh9iya4Vg8zAY89CLGn1WkMzQsX9tjpo1F5M/5CsRUJ8HZpfbBgUTHuMszAk78MV6eY5+QxVIqU6LknpxeIqGI8pC0gGcFY83jCwLLJBTIvipE+7OKljWaVKZWAZgKNUHYWJ4OlHIu2FVgjCIfIEfjh47C0WhVAvUnfJ1gZLAppDispNOkfYuun7qrg3vV26kNGz4vQO7gWZMOAfW7D1AH46GomoRPtjaFfEQFy0bmpyVEviodqrvR/BYWflYj3SB4/ZFi950ZPqrtjCTfOL0KD2TFnU7+m2IogR5GwEieMOjztPqGKVXel46ubNhryUYDuSj6SoX6C0MGFK5MJIZy0cYqX
x-ms-exchange-transport-forked: True
Content-ID: <135A5333C54366439A7713F11DECC6D2@eurprd01.prod.exchangelabs.com>
MIME-Version: 1.0
X-OriginatorOrg: stud.acs.upb.ro
X-MS-Exchange-CrossTenant-Network-Message-Id: 104aadd2-c930-440c-c310-08d778c0e3cf
X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Dec 2019 13:50:14.9850 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 2d8cc8ba-8dda-4334-9e5c-fac2092e9bac
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: ggon1oVCf39/IpHOq9f/LM3VqvVsnvgdp2fNYJsFrDZj3GP2y1PGMXxIXfy4tvgeHO8F6ODINad4cuhUZoRHJ2qzKkTCElJl0su48qWmWKWeHg8IP1YkueGTwTcorKtc
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR01MB5245
Subject: Re: [Minios-devel] [UNIKRAFT/LIBCXXABI PATCH] Config.uk: Remove
 CXX_THREADS dependency for LIBCXXABI_THREADS
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhhbmtzIENvc3RpbiENCg0KUmlnaHQgbm93LCBsaWJjeHhhYmkgZGVwZW5kcyBvbiBsaWJjeHgo
Ny4wLjApIGJ1dCBpbiB0aGUgYmV0YSANCnZlcnNpb24oOS4wLjApIHRoaXMgbWlnaHQgbm8gbG9u
Z2VyIGJlIHRoZSBjYXNlLg0KDQpSZXZpZXdlZC1ieTogVmxhZC1BbmRyZWkgQmFkb2l1IDx2bGFk
X2FuZHJlaS5iYWRvaXVAc3R1ZC5hY3MudXBiLnJvPg0KDQpPbiAwNC4xMi4yMDE5IDEzOjE4LCBD
b3N0aW4gTHVwdSB3cm90ZToNCj4gLi4uIGJlY2F1c2UgTElCQ1hYIGRlcGVuZHMgb24gTElCQ1hY
QUJJLg0KPg0KPiBTaWduZWQtb2ZmLWJ5OiBDb3N0aW4gTHVwdSA8Y29zdGluLmx1cHVAY3MucHVi
LnJvPg0KPiAtLS0NCj4gICBDb25maWcudWsgfCAxIC0NCj4gICAxIGZpbGUgY2hhbmdlZCwgMSBk
ZWxldGlvbigtKQ0KPg0KPiBkaWZmIC0tZ2l0IGEvQ29uZmlnLnVrIGIvQ29uZmlnLnVrDQo+IGlu
ZGV4IGQ2ZTFmMDAuLmRmMmNmZTYgMTAwNjQ0DQo+IC0tLSBhL0NvbmZpZy51aw0KPiArKysgYi9D
b25maWcudWsNCj4gQEAgLTYsNSArNiw0IEBAIG1lbnVjb25maWcgTElCQ1hYQUJJDQo+ICAgaWYg
TElCQ1hYQUJJDQo+ICAgICAgIGNvbmZpZyBMSUJDWFhBQklfVEhSRUFEUw0KPiAgICAgICBib29s
ICJFbmFibGUgdGhyZWFkcyBzdXBwb3J0Ig0KPiAtICAgIHNlbGVjdCBDWFhfVEhSRUFEUw0KPiAg
IGVuZGlmDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpN
aW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9y
ZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRl
dmVs

From minios-devel-bounces@lists.xenproject.org Wed Dec 04 15:14:43 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 04 Dec 2019 15:14:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1icWMU-00080l-I9; Wed, 04 Dec 2019 15:14:42 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=xj7H=Z2=stud.acs.upb.ro=vlad_andrei.badoiu@srs-us1.protection.inumbo.net>)
 id 1icWMT-00080d-BQ
 for minios-devel@lists.xen.org; Wed, 04 Dec 2019 15:14:41 +0000
X-Inumbo-ID: c9d8d384-16a8-11ea-aea8-bc764e2007e4
Received: from EUR02-HE1-obe.outbound.protection.outlook.com (unknown
 [40.107.1.69]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id c9d8d384-16a8-11ea-aea8-bc764e2007e4;
 Wed, 04 Dec 2019 15:14:39 +0000 (UTC)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hHUeQMMM7+UXq72xOai2u6glY3FL52jDz4FgAU2eLrDwl7+twSBYCIXFUi3yPOOWqg84xhQ1rUrwX51O9AV+BLvTPxYDa/JBN2K+PGr0x3Zehw8qtxbZovLQYlANv7TGCg56CnGspnFgJo1ydcJf1pRKVpVuKNVTdxu2WE8mhgoQ+nd3fSf0J1viSnrB8NtMcdqyshLnj7HKq6bSL6hYbYV2hZCb60fvHjyYC0FGDYisgS4Xc4A7Q6jPyl+gm8oEfswNWCj9qlpG6VbQBbu67qJxbgHHLpRSxV4GAfvug8bHYjkXYOupVkS2qhM+7RLkohq12dy4272vIJERCD8UUw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ZiD1m2eUR11dS/GO3DABAWPFHRbeBxF0f1WV7vZFL7k=;
 b=JTrUPw80XMYjivCwNMBbL5wO9VL5jB03H0tDV/v/6VXVopfO/KM2se924cPtW7BPdAe5F7HFD1IFzcF6GBJRbMUNLcPxcf3qIesusR1XFjGsLCncakKITh0w+faaDipo0VtTOl2qSqCDY9WGIDc529qZQjSdvgCus8RSU/JI3D+Ml4ElECjLnw3MrfREOCK23yRFSjIBztxkn5HzRocKK0p6puecjKfvf3NHa9P0qxF1ZkqSKGPlozJ+IugPyskDoK8k+DslWv8/cUbU56e1GdHSTrAZtuAs9RXLyT0ojvRCL+aGwtux7gQ9o64Y23ThhEHoRFtF0uunxQF7dBlPRQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=stud.acs.upb.ro; dmarc=pass action=none
 header.from=stud.acs.upb.ro; dkim=pass header.d=stud.acs.upb.ro; arc=none
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com (20.177.55.79) by
 VI1PR01MB5149.eurprd01.prod.exchangelabs.com (20.178.124.83) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.2495.17; Wed, 4 Dec 2019 15:14:36 +0000
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::71a3:74d9:f301:33b6]) by VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::71a3:74d9:f301:33b6%7]) with mapi id 15.20.2516.013; Wed, 4 Dec 2019
 15:14:35 +0000
From: =?utf-8?B?VmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIp?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
To: "minios-devel@lists.xen.org" <minios-devel@lists.xen.org>
Thread-Topic: [UNIKRAFT PATCH v3 0/3] lib/uksp: Introduce uksp library
Thread-Index: AQHVqrWJDc1SGI+GGkaOL5GUUqO00g==
Date: Wed, 4 Dec 2019 15:14:35 +0000
Message-ID: <20191204151426.17464-1-vlad_andrei.badoiu@stud.acs.upb.ro>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-clientproxiedby: AM0PR05CA0070.eurprd05.prod.outlook.com
 (2603:10a6:208:be::47) To VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 (2603:10a6:803:6d::15)
authentication-results: spf=none (sender IP is )
 smtp.mailfrom=vlad_andrei.badoiu@stud.acs.upb.ro; 
x-ms-exchange-messagesentrepresentingtype: 1
x-mailer: git-send-email 2.20.1
x-originating-ip: [2a02:2f0b:8303:7b00:c136:551e:723a:ee53]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 36c6c9a8-91f1-4c6d-71b4-08d778ccac4c
x-ms-traffictypediagnostic: VI1PR01MB5149:
x-ms-exchange-transport-forked: True
x-microsoft-antispam-prvs: <VI1PR01MB514901B9E599519A91DB5C67A65D0@VI1PR01MB5149.eurprd01.prod.exchangelabs.com>
x-ms-oob-tlc-oobclassifiers: OLM:7691;
x-forefront-prvs: 0241D5F98C
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(346002)(39840400004)(396003)(366004)(136003)(376002)(199004)(189003)(14454004)(66476007)(2616005)(54906003)(316002)(5640700003)(99286004)(14444005)(186003)(52116002)(66446008)(2906002)(2501003)(66556008)(66946007)(6506007)(102836004)(86362001)(64756008)(508600001)(786003)(305945005)(1076003)(6116002)(81166006)(66574012)(8936002)(6486002)(81156014)(50226002)(25786009)(4326008)(6916009)(85182001)(71200400001)(7736002)(6512007)(8676002)(5660300002)(71190400001)(2351001)(85202003)(6436002);
 DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR01MB5149;
 H:VI1PR01MB4205.eurprd01.prod.exchangelabs.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; A:0; MX:1; 
received-spf: None (protection.outlook.com: stud.acs.upb.ro does not designate
 permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: Tqjh7D+7b2ZD9QEN1eT5mQnk/5RTCrIEwnkKvsrxHgzzZYhLPKtdAzkErjoNEGo3+v+JZWfL3XGaFdMHKCPjnoZNa3SQShF+G82IOCL4B5f60ECLBHQHA9PYwASB84IZx4yUGKhGk2zECM25YzHTr0Hygmg8wiunHu3tdkhSalw24icDMB5kQGRCspIleaNkRXk0vL5XmhsonQwODmbqNhgAetcOBzk7p+yq4em0P3J/pAoJc4+oEHBreGWwS9WttRDZ0AJCH7bmWuLesIqLK/HIKH8oVwAtT7xjfLpFqRMbcDRvtRo1VIsiB9rxzBjziCtTZqhnNxcSr4F2vs+OW8zkmAaGLQ+7PckLoEajpjK+xD3JQ+9ZMVZLdM+ZAWcoLN3jGfRnDCFuutAhC2ecl8GyV3L00bLMJv7ZpBCTxQLnO9gQmW6EK25LmnU1jm0y
Content-ID: <B03C52D82C1C08449877F7846DFEB805@eurprd01.prod.exchangelabs.com>
MIME-Version: 1.0
X-OriginatorOrg: stud.acs.upb.ro
X-MS-Exchange-CrossTenant-Network-Message-Id: 36c6c9a8-91f1-4c6d-71b4-08d778ccac4c
X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Dec 2019 15:14:35.8515 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 2d8cc8ba-8dda-4334-9e5c-fac2092e9bac
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: kQsIOLJfFiy6oE5v3KlWTYK9WpZevQ5/kfXlCHRasQfDheHGNs1RW9JVRQGqUkWqZahBk8FGKFK+/a86EADbBMj3/JPAuBeyBg9fIYkAGZ/XGoLTVnx5OCh5nSk+w1ym
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR01MB5149
Subject: [Minios-devel] [UNIKRAFT PATCH v3 0/3] lib/uksp: Introduce uksp
 library
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: "felipe.huici@neclab.eu" <felipe.huici@neclab.eu>,
 "simon.kuenzer@neclab.eu" <simon.kuenzer@neclab.eu>,
 =?utf-8?B?VmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIp?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>,
 "sharan.santhanam@neclab.eu" <sharan.santhanam@neclab.eu>,
 "costin.lupu@cs.pub.ro" <costin.lupu@cs.pub.ro>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

Q3VycmVudGx5LCB3ZSBwcm92aWRlIGEgYmFzaWMgaW1wbGVtZW50YXRpb24gb2Ygc3RhY2sgc21h
c2hpbmcgcHJvdGVjdGlvbiB0aGF0DQpoYXMgYSBnbG9iYWwgdmFsdWUgZm9yIGFsbCB0aHJlYWRz
LiBUaGUgdmFsdWUgaXMgcmFuZG9tbHkgaW5pdGlhbGl6ZWQgZHVyaW5nIHRoZQ0KYm9vdC4gRmlu
YWxseSwgdGhpcyBvcHRpb24gbWlnaHQgaGVscCB1cyBkZXRlY3QgYnVncyBjYXVzZWQgYnkgc3Rh
Y2sgb3ZlcmZsb3dzLg0KDQpDaGFuZ2VzIHNpbmNlIHYxOg0KKiBXZSBub3cgdXNlIGEgY2hvaWNl
IGJhc2VkIGNvbmZpZyBvcHRpb24gZm9yIHRoZSBzdGFjayBwcm90ZWN0b3IgbGV2ZWwuIFNpbmNl
DQp0aGUgbGFzdCB2ZXJzaW9uIHdlIGFkZGVkIHRoZSByZWd1bGF0IGFuZCBzdHJvbmcgc3RhY2sg
cHJvdGVjdG9yIG9wdGlvbnMuDQoNCkNoYW5nZXMgc2luY2UgdjI6DQoqIFJlbmFtZWQgdGhlIGxp
YnJhcnkgdG8gdWtzcA0KDQpWbGFkLUFuZHJlaSBCxIJET0lVICg3ODY5MikgKDMpOg0KICBsaWIv
dWtzcDogSW50cm9kdWNlIHVrc3AgbGlicmFyeQ0KICBidWlsZDogQWRkIG9wdGlvbiB0byB0b2dn
bGUgdGhlIHN0YWNrIHByb3RlY3Rpb24NCiAgbGliL3VrYm9vdDogSW5pdGlhbGl6ZSB0aGUgY2Fu
YXJ5IHZhbHVlIGF0IGJvb3QNCg0KIENvbmZpZy51ayAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHwgMzAgKysrKysrKysrKysrKysNCiBNYWtlZmlsZS51ayAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB8IDEzICsrKysrLQ0KIGxpYi9NYWtlZmlsZS51ayAgICAgICAgICAgICAgICAgICAg
ICAgIHwgIDEgKw0KIGxpYi91a2Jvb3QvYm9vdC5jICAgICAgICAgICAgICAgICAgICAgIHwgIDcg
KysrKw0KIGxpYi91a3NwL0NvbmZpZy51ayAgICAgICAgICAgICAgICAgICAgIHwgIDQgKysNCiBs
aWIvdWtzcC9NYWtlZmlsZS51ayAgICAgICAgICAgICAgICAgICB8ICA1ICsrKw0KIGxpYi91a3Nw
L2V4cG9ydHN5bXMudWsgICAgICAgICAgICAgICAgIHwgIDIgKw0KIGxpYi91a3NwL2luY2x1ZGUv
dWtzcC9zdGFja3Byb3RlY3Rvci5oIHwgNTYgKysrKysrKysrKysrKysrKysrKysrKysrKysNCiBs
aWIvdWtzcC9zc3AuYyAgICAgICAgICAgICAgICAgICAgICAgICB8IDQzICsrKysrKysrKysrKysr
KysrKysrDQogOSBmaWxlcyBjaGFuZ2VkLCAxNTkgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMo
LSkNCiBjcmVhdGUgbW9kZSAxMDA2NDQgbGliL3Vrc3AvQ29uZmlnLnVrDQogY3JlYXRlIG1vZGUg
MTAwNjQ0IGxpYi91a3NwL01ha2VmaWxlLnVrDQogY3JlYXRlIG1vZGUgMTAwNjQ0IGxpYi91a3Nw
L2V4cG9ydHN5bXMudWsNCiBjcmVhdGUgbW9kZSAxMDA2NDQgbGliL3Vrc3AvaW5jbHVkZS91a3Nw
L3N0YWNrcHJvdGVjdG9yLmgNCiBjcmVhdGUgbW9kZSAxMDA2NDQgbGliL3Vrc3Avc3NwLmMNCg0K
LS0gDQoyLjIwLjENCg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJv
amVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21p
bmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Wed Dec 04 15:14:47 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 04 Dec 2019 15:14:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1icWMZ-00081T-Jw; Wed, 04 Dec 2019 15:14:47 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=xj7H=Z2=stud.acs.upb.ro=vlad_andrei.badoiu@srs-us1.protection.inumbo.net>)
 id 1icWMY-00081G-Bv
 for minios-devel@lists.xen.org; Wed, 04 Dec 2019 15:14:46 +0000
X-Inumbo-ID: cbe73706-16a8-11ea-aea8-bc764e2007e4
Received: from EUR02-HE1-obe.outbound.protection.outlook.com (unknown
 [40.107.1.69]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id cbe73706-16a8-11ea-aea8-bc764e2007e4;
 Wed, 04 Dec 2019 15:14:42 +0000 (UTC)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YLuvl2eGbjeeofSmDUpwPODdWHGE3wpr8CZKGu2SMbBVEOpxrGictC0kgx2NtAbMugxUXLV28SD9SzKc7Cafg9AQpVEKpOF4gmgqWn3MwQqy9XsFS9kAHE/Kgo7eH6QuXE4ZfHCH7eGRUM8iqER8pL/J4AvggeE6YRcf76Zp0CUTNT6+Ksrk4wNwOm2p7iod2/+aZyNfb94Zv3RNOx4SlsrPE1ZgxQAY7zoEzz2KzxM9MSKKSURywt7nmSoJ3TpcztzQlvlgVcb/0ipYOxoy7BuRbpngtkjwKLMU91T5yikszrFsvnTsTYmBngniYRZ6ECHb80ZYNQ+BUQYVPwkvZg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/Jy+B/KEl9/qd45rsTt2wLKmpLuJ+kWx/hkWmHKLynA=;
 b=LIFG0BEA4jm4ROBbP44rvVee9wgphaGgm2ImZGSkHi2tF/kxD7NCcgsBAb8LKM8gCzIceY0/9zCPA5Ge9A+nphVwtuV0dMtubs0OztwctGsNT4XtjtzI7z3RoQK9x4OgcHOIwonOK870skC1JTyVWmhujGfrq9sQMsakDQ8MKdq7eIf1hWXPaL7NUJ4HqtBiRAqh4RX44fwthfyze7/ffGZFGRoCP7VhltuzZEoR4qHYtBbBaHzzDDx6GYSg04wBI4Mx1fUlOvghE4/a7v9p8bNwX2zqzmJwlShSh2b/wgXi49EWD+uMFSU/fekB0GdzkSLq1RYk2OOkg6tQtLyS6Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=stud.acs.upb.ro; dmarc=pass action=none
 header.from=stud.acs.upb.ro; dkim=pass header.d=stud.acs.upb.ro; arc=none
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com (20.177.55.79) by
 VI1PR01MB5149.eurprd01.prod.exchangelabs.com (20.178.124.83) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.2495.17; Wed, 4 Dec 2019 15:14:36 +0000
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::71a3:74d9:f301:33b6]) by VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::71a3:74d9:f301:33b6%7]) with mapi id 15.20.2516.013; Wed, 4 Dec 2019
 15:14:36 +0000
From: =?utf-8?B?VmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIp?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
To: "minios-devel@lists.xen.org" <minios-devel@lists.xen.org>
Thread-Topic: [UNIKRAFT PATCH v3 1/3] lib/uksp: Introduce uksp library
Thread-Index: AQHVqrWKDiRT9u0RqEi8sTy4Ac1THg==
Date: Wed, 4 Dec 2019 15:14:36 +0000
Message-ID: <20191204151426.17464-2-vlad_andrei.badoiu@stud.acs.upb.ro>
References: <20191204151426.17464-1-vlad_andrei.badoiu@stud.acs.upb.ro>
In-Reply-To: <20191204151426.17464-1-vlad_andrei.badoiu@stud.acs.upb.ro>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-clientproxiedby: AM0PR05CA0070.eurprd05.prod.outlook.com
 (2603:10a6:208:be::47) To VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 (2603:10a6:803:6d::15)
authentication-results: spf=none (sender IP is )
 smtp.mailfrom=vlad_andrei.badoiu@stud.acs.upb.ro; 
x-ms-exchange-messagesentrepresentingtype: 1
x-mailer: git-send-email 2.20.1
x-originating-ip: [2a02:2f0b:8303:7b00:c136:551e:723a:ee53]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: b7c428cc-69bb-4566-0682-08d778ccacf6
x-ms-traffictypediagnostic: VI1PR01MB5149:
x-ms-exchange-transport-forked: True
x-microsoft-antispam-prvs: <VI1PR01MB51493AC5CC49EC817A3E5CF9A65D0@VI1PR01MB5149.eurprd01.prod.exchangelabs.com>
x-ms-oob-tlc-oobclassifiers: OLM:8882;
x-forefront-prvs: 0241D5F98C
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(346002)(39840400004)(396003)(366004)(136003)(376002)(199004)(189003)(14454004)(66476007)(2616005)(54906003)(316002)(5640700003)(11346002)(99286004)(76176011)(14444005)(186003)(52116002)(66446008)(2906002)(2501003)(66556008)(66946007)(6506007)(102836004)(86362001)(64756008)(508600001)(786003)(305945005)(1076003)(6116002)(81166006)(66574012)(8936002)(6486002)(81156014)(50226002)(25786009)(4326008)(6916009)(85182001)(71200400001)(7736002)(6512007)(8676002)(5660300002)(71190400001)(2351001)(85202003)(6436002);
 DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR01MB5149;
 H:VI1PR01MB4205.eurprd01.prod.exchangelabs.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; A:0; MX:1; 
received-spf: None (protection.outlook.com: stud.acs.upb.ro does not designate
 permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: eGsXo4GRonX5tBWnh4LmFm1B2AGcvZWEY8/j8sWkeQ/6AfXU/1P+Ug2dfewGxc7JHrfF3AuOqdcq40OXddr0GPJsYRD5DdVLfuNrTnt3EtDmlZwKs0/zM6Y5loxe4B9C2obpT8kXa3dXaGy5ZIX6iTiFT2aWi9uUQgCRDBEsv7msLREekDf01WA2qPscvLxHAxAdObjsxVcsz653IMNjS5n26CaAVMu1CFop/Ac+MG9if5FUphK2RxpHejCt0WrzGxPDILHKRc5VlODeVzGA2eb20wL3WFf5c0KeWqjgtGNhuhqn6Hw5H8kOnY9dAYnhmXfx12jNhkqHufj9E4pIX7EI/62OwJp1JBcRXIHS9mwx7vFdVRr0KF4UyeYZxW4Nn3rqEXLhRyx+IUn5gm7uAYWhnFhZiMMDvnpC/D8gmzoSgxLNr4TcpoUpKUmlJTeX
Content-ID: <05B59D12AAF1C44A9A51472D72F17A59@eurprd01.prod.exchangelabs.com>
MIME-Version: 1.0
X-OriginatorOrg: stud.acs.upb.ro
X-MS-Exchange-CrossTenant-Network-Message-Id: b7c428cc-69bb-4566-0682-08d778ccacf6
X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Dec 2019 15:14:36.8679 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 2d8cc8ba-8dda-4334-9e5c-fac2092e9bac
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: CUrbWRxLMteqSwB2gP08lLudsWWGigjyGgtgosFMynSx5Zl+PUGK4Bp3NeP2mFBLnuVUWuRrRo0QkiHN2f7UlSIsxk3eqNOUt+j3dL37ROdCbb8klCFy8BzkP+QKJvmG
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR01MB5149
Subject: [Minios-devel] [UNIKRAFT PATCH v3 1/3] lib/uksp: Introduce uksp
 library
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: "felipe.huici@neclab.eu" <felipe.huici@neclab.eu>,
 "simon.kuenzer@neclab.eu" <simon.kuenzer@neclab.eu>,
 =?utf-8?B?VmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIp?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>,
 "sharan.santhanam@neclab.eu" <sharan.santhanam@neclab.eu>,
 "costin.lupu@cs.pub.ro" <costin.lupu@cs.pub.ro>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogVmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIpIDx2bGFkX2FuZHJlaS5iYWRvaXVAc3R1
ZC5hY3MudXBiLnJvPg0KDQpUaGlzIGxpYnJhcnkgcHJvdmlkZXMgdGhlIG5lY2Vzc2FyeSBmdW5j
dGlvbmFsaXRpZXMgZm9yIHRoZSBzdGFjaw0KcHJvdGVjdG9yLg0KDQpBIG1ha2UgY2xlYW4gaXMg
cmVxdWlyZWQgd2hlbiB0b2dnbGluZyB0aGUgc3RhY2sgc21hc2hpbmcgcHJvdGVjdGlvbg0Kb3B0
aW9uLg0KDQpTaWduZWQtb2ZmLWJ5OiBWbGFkLUFuZHJlaSBCYWRvaXUgPHZsYWRfYW5kcmVpLmJh
ZG9pdUBzdHVkLmFjcy51cGIucm8+DQotLS0NCiBsaWIvTWFrZWZpbGUudWsgICAgICAgICAgICAg
ICAgICAgICAgICB8ICAxICsNCiBsaWIvdWtzcC9Db25maWcudWsgICAgICAgICAgICAgICAgICAg
ICB8ICA0ICsrDQogbGliL3Vrc3AvTWFrZWZpbGUudWsgICAgICAgICAgICAgICAgICAgfCAgNSAr
KysNCiBsaWIvdWtzcC9leHBvcnRzeW1zLnVrICAgICAgICAgICAgICAgICB8ICAyICsNCiBsaWIv
dWtzcC9pbmNsdWRlL3Vrc3Avc3RhY2twcm90ZWN0b3IuaCB8IDU2ICsrKysrKysrKysrKysrKysr
KysrKysrKysrDQogbGliL3Vrc3Avc3NwLmMgICAgICAgICAgICAgICAgICAgICAgICAgfCA0MyAr
KysrKysrKysrKysrKysrKysrKw0KIDYgZmlsZXMgY2hhbmdlZCwgMTExIGluc2VydGlvbnMoKykN
CiBjcmVhdGUgbW9kZSAxMDA2NDQgbGliL3Vrc3AvQ29uZmlnLnVrDQogY3JlYXRlIG1vZGUgMTAw
NjQ0IGxpYi91a3NwL01ha2VmaWxlLnVrDQogY3JlYXRlIG1vZGUgMTAwNjQ0IGxpYi91a3NwL2V4
cG9ydHN5bXMudWsNCiBjcmVhdGUgbW9kZSAxMDA2NDQgbGliL3Vrc3AvaW5jbHVkZS91a3NwL3N0
YWNrcHJvdGVjdG9yLmgNCiBjcmVhdGUgbW9kZSAxMDA2NDQgbGliL3Vrc3Avc3NwLmMNCg0KZGlm
ZiAtLWdpdCBhL2xpYi9NYWtlZmlsZS51ayBiL2xpYi9NYWtlZmlsZS51aw0KaW5kZXggNGI5NTY4
YTEuLjczNWQwZWRhIDEwMDY0NA0KLS0tIGEvbGliL01ha2VmaWxlLnVrDQorKysgYi9saWIvTWFr
ZWZpbGUudWsNCkBAIC0zNCwzICszNCw0IEBAICQoZXZhbCAkKGNhbGwgX2ltcG9ydF9saWIsJChD
T05GSUdfVUtfQkFTRSkvbGliL3VrdGltZSkpDQogJChldmFsICQoY2FsbCBfaW1wb3J0X2xpYiwk
KENPTkZJR19VS19CQVNFKS9saWIvdWttbWFwKSkNCiAkKGV2YWwgJChjYWxsIF9pbXBvcnRfbGli
LCQoQ09ORklHX1VLX0JBU0UpL2xpYi91a2Jsa2RldikpDQogJChldmFsICQoY2FsbCBfaW1wb3J0
X2xpYiwkKENPTkZJR19VS19CQVNFKS9saWIvcG9zaXgtcHJvY2VzcykpDQorJChldmFsICQoY2Fs
bCBfaW1wb3J0X2xpYiwkKENPTkZJR19VS19CQVNFKS9saWIvdWtzcCkpDQpkaWZmIC0tZ2l0IGEv
bGliL3Vrc3AvQ29uZmlnLnVrIGIvbGliL3Vrc3AvQ29uZmlnLnVrDQpuZXcgZmlsZSBtb2RlIDEw
MDY0NA0KaW5kZXggMDAwMDAwMDAuLjQ5NzM4MWEzDQotLS0gL2Rldi9udWxsDQorKysgYi9saWIv
dWtzcC9Db25maWcudWsNCkBAIC0wLDAgKzEsNCBAQA0KK2NvbmZpZyBMSUJVS1NQDQorCWJvb2wg
InVrc3AgOiBzdGFjayBwcm90ZWN0b3IiDQorCXNlbGVjdCBMSUJVS1NXUkFORA0KKwlkZWZhdWx0
IG4NCmRpZmYgLS1naXQgYS9saWIvdWtzcC9NYWtlZmlsZS51ayBiL2xpYi91a3NwL01ha2VmaWxl
LnVrDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAuLjZjMzkxYzlkDQotLS0g
L2Rldi9udWxsDQorKysgYi9saWIvdWtzcC9NYWtlZmlsZS51aw0KQEAgLTAsMCArMSw1IEBADQor
JChldmFsICQoY2FsbCBhZGRsaWJfcyxsaWJ1a3NwLCQoQ09ORklHX0xJQlVLU1ApKSkNCisNCitD
SU5DTFVERVMteSArPSAtSSQoTElCVUtTUF9CQVNFKS9pbmNsdWRlDQorDQorTElCVUtTUF9TUkNT
LXkgKz0gJChMSUJVS1NQX0JBU0UpL3NzcC5jDQpkaWZmIC0tZ2l0IGEvbGliL3Vrc3AvZXhwb3J0
c3ltcy51ayBiL2xpYi91a3NwL2V4cG9ydHN5bXMudWsNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQpp
bmRleCAwMDAwMDAwMC4uZmJjMzE5ZTcNCi0tLSAvZGV2L251bGwNCisrKyBiL2xpYi91a3NwL2V4
cG9ydHN5bXMudWsNCkBAIC0wLDAgKzEsMiBAQA0KK19fc3RhY2tfY2hrX2ZhaWwNCitfX3N0YWNr
X2Noa19ndWFyZA0KZGlmZiAtLWdpdCBhL2xpYi91a3NwL2luY2x1ZGUvdWtzcC9zdGFja3Byb3Rl
Y3Rvci5oIGIvbGliL3Vrc3AvaW5jbHVkZS91a3NwL3N0YWNrcHJvdGVjdG9yLmgNCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMC4uMjQxMGIyMWINCi0tLSAvZGV2L251bGwNCisr
KyBiL2xpYi91a3NwL2luY2x1ZGUvdWtzcC9zdGFja3Byb3RlY3Rvci5oDQpAQCAtMCwwICsxLDU2
IEBADQorLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZSAqLw0KKy8qDQor
ICogQXV0aG9yczogVmxhZC1BbmRyZWkgQmFkb2l1IDx2bGFkX2FuZHJlaS5iYWRvaXVAc3R1ZC5h
Y3MudXBiLnJvPg0KKyAqDQorICogQ29weXJpZ2h0IChjKSAyMDE5LCBVbml2ZXJzaXR5IFBvbGl0
ZWhuaWNhIG9mIEJ1Y2hhcmVzdC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4NCisgKg0KKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dA0KKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucw0KKyAqIGFyZSBtZXQ6DQorICoNCisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodA0KKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4NCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodA0KKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUNCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLg0KKyAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIGNvcHlyaWdodCBob2xkZXIg
bm9yIHRoZSBuYW1lcyBvZiBpdHMNCisgKiAgICBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8g
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQ0KKyAqICAgIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQorICoNCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTICJBUyBJUyINCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFDQorICogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UNCisgKiBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFDQorICogTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUg0KKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GDQorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQorICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4NCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQ0KKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFDQorICogUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuDQorICoNCisgKiBUSElTIEhFQURFUiBNQVkgTk9UIEJFIEVYVFJBQ1RFRCBPUiBN
T0RJRklFRCBJTiBBTlkgV0FZLg0KKyAqLw0KKw0KKyNpZm5kZWYgX19VS19TVEFDS1BST1RFQ1RP
Ul9IX18NCisjZGVmaW5lIF9fVUtfU1RBQ0tQUk9URUNUT1JfSF9fDQorDQorI2luY2x1ZGUgPHVr
L3N3cmFuZC5oPg0KKyNpbmNsdWRlIDx1ay9jb25maWcuaD4NCisNCisjaWZkZWYgX19jcGx1c3Bs
dXMNCitleHRlcm4gIkMiIHsNCisjZW5kaWYNCisNCitleHRlcm4gdW5zaWduZWQgbG9uZyBfX3N0
YWNrX2Noa19ndWFyZDsNCisNCitzdGF0aWMgX19hdHRyaWJ1dGVfXygoYWx3YXlzX2lubGluZSkp
IHZvaWQgYm9vdF9pbml0X3N0YWNrX2NhbmFyeSh2b2lkKQ0KK3sNCisJX19zdGFja19jaGtfZ3Vh
cmQgPSB1a19zd3JhbmRfcmFuZHIoKTsNCit9DQorDQorI2lmZGVmIF9fY3BsdXNwbHVzDQorfQ0K
KyNlbmRpZg0KKw0KKyNlbmRpZiAvKiBfX1VLX1NUQUNLUFJPVEVDVE9SX0hfXyAqLw0KZGlmZiAt
LWdpdCBhL2xpYi91a3NwL3NzcC5jIGIvbGliL3Vrc3Avc3NwLmMNCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0DQppbmRleCAwMDAwMDAwMC4uNzlmZDBlNTUNCi0tLSAvZGV2L251bGwNCisrKyBiL2xpYi91
a3NwL3NzcC5jDQpAQCAtMCwwICsxLDQzIEBADQorLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6
IEJTRC0zLUNsYXVzZSAqLw0KKy8qDQorICogQXV0aG9yczogQmFkb2l1IFZsYWQtQW5kcmVpIDx2
bGFkX2FuZHJlaS5iYWRvaXVAc3R1ZC5hY3MudXBiLnJvPg0KKyAqDQorICogQ29weXJpZ2h0IChj
KSAyMDE5LCBVbml2ZXJzaXR5IFBvbGl0ZWhuaWNhIG9mIEJ1Y2hhcmVzdC4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4NCisgKg0KKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dA0KKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucw0KKyAqIGFyZSBtZXQ6
DQorICoNCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodA0KKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4NCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodA0KKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUNCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLg0KKyAqIDMuIE5laXRoZXIgdGhlIG5hbWUg
b2YgdGhlIGNvcHlyaWdodCBob2xkZXIgbm9yIHRoZSBuYW1lcyBvZiBpdHMNCisgKiAgICBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbQ0KKyAqICAgIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uDQorICoNCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyINCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFDQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UNCisgKiBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFDQor
ICogTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUg0KKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GDQorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQorICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4NCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQ0KKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
DQorICogUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQorICoNCisgKiBUSElTIEhFQURFUiBN
QVkgTk9UIEJFIEVYVFJBQ1RFRCBPUiBNT0RJRklFRCBJTiBBTlkgV0FZLg0KKyAqLw0KKw0KKyNp
bmNsdWRlIDx1ay9hc3NlcnQuaD4NCisNCit1bnNpZ25lZCBsb25nIF9fc3RhY2tfY2hrX2d1YXJk
Ow0KKw0KK19fYXR0cmlidXRlX18oKG5vcmV0dXJuKSkNCit2b2lkIF9fc3RhY2tfY2hrX2ZhaWwo
dm9pZCkNCit7DQorCVVLX0NSQVNIKCJTdGFjayBzbWFzaGluZyBkZXRlY3RlZFxuIik7DQorfQ0K
LS0gDQoyLjIwLjENCg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJv
amVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21p
bmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Wed Dec 04 15:14:52 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 04 Dec 2019 15:14:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1icWMe-00082u-N8; Wed, 04 Dec 2019 15:14:52 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=xj7H=Z2=stud.acs.upb.ro=vlad_andrei.badoiu@srs-us1.protection.inumbo.net>)
 id 1icWMd-00082E-BL
 for minios-devel@lists.xen.org; Wed, 04 Dec 2019 15:14:51 +0000
X-Inumbo-ID: ce98d81a-16a8-11ea-aea8-bc764e2007e4
Received: from EUR02-HE1-obe.outbound.protection.outlook.com (unknown
 [40.107.1.69]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id ce98d81a-16a8-11ea-aea8-bc764e2007e4;
 Wed, 04 Dec 2019 15:14:46 +0000 (UTC)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RyC8GC8JVyas3nsnLi3cr3t2JrL56svWTntQywdK22P18ducguTd23hwvG/2I/ToE2vlljU/MfrOGzXj2aK6QMr8KnQyToc2BO6PK3vnjd79o9+F+bQJj6dDkS87WcWGiHCnxPmXB4KF+AYiJoG3PMp450KxIBvEfIu6xt3Ccln/zk869ARzqOMPNy6gZDaQnxsoaGzSBSSqFLtYiZg54qceM4dKfNebHsLiV+z5opxjKkcNEeyueTFd0dZGBAunERCIetaA0MB5mK9qUjSY2exCIZchPh4n3gbzzr6vNQIh0Pw4+TrmFHXUOQ/MMtw+T3M/3kFYVrANAJdeBCqL0g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DyqjwRMD4+NsU7RfO/cgqoPXVIlX2QhvmYVtnWcIMpU=;
 b=iaxK5lca0RasmD1SaIrjGpfkAxiZ5ntbdYQEhjQen9ER++cF7LsW6ODl7rqXINQWj0IEvOH3X/cXcywRrUFm8Xen0P/16g+bws/zSGZVOjagY4K3zdLnkVOmzF7ovAaTrix1h8xoe14xRp9THcfH2ngjwQEa7TDMuGqQDQDmUFreO4xcFaz/VHCITWxrJao3P1JT6hqqKBvkIWZuecPnGDtwezcauc8TgFQYzXikfzNVetISGzx2AHdZVo2TkO6fYx5C5wcG6+l/pjLPR1KqJ3+cSsOs3fj1eKcSwb/d2ghozYO2zBflwQvsm6lwm/MVcivUpkza9uBCyFt12He4NQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=stud.acs.upb.ro; dmarc=pass action=none
 header.from=stud.acs.upb.ro; dkim=pass header.d=stud.acs.upb.ro; arc=none
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com (20.177.55.79) by
 VI1PR01MB5149.eurprd01.prod.exchangelabs.com (20.178.124.83) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.2495.17; Wed, 4 Dec 2019 15:14:37 +0000
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::71a3:74d9:f301:33b6]) by VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::71a3:74d9:f301:33b6%7]) with mapi id 15.20.2516.013; Wed, 4 Dec 2019
 15:14:37 +0000
From: =?utf-8?B?VmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIp?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
To: "minios-devel@lists.xen.org" <minios-devel@lists.xen.org>
Thread-Topic: [UNIKRAFT PATCH v3 2/3] build: Add option to toggle the stack
 protection
Thread-Index: AQHVqrWLgxTiOKNXmEO3L8MGGCZxlw==
Date: Wed, 4 Dec 2019 15:14:37 +0000
Message-ID: <20191204151426.17464-3-vlad_andrei.badoiu@stud.acs.upb.ro>
References: <20191204151426.17464-1-vlad_andrei.badoiu@stud.acs.upb.ro>
In-Reply-To: <20191204151426.17464-1-vlad_andrei.badoiu@stud.acs.upb.ro>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-clientproxiedby: AM0PR05CA0070.eurprd05.prod.outlook.com
 (2603:10a6:208:be::47) To VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 (2603:10a6:803:6d::15)
authentication-results: spf=none (sender IP is )
 smtp.mailfrom=vlad_andrei.badoiu@stud.acs.upb.ro; 
x-ms-exchange-messagesentrepresentingtype: 1
x-mailer: git-send-email 2.20.1
x-originating-ip: [2a02:2f0b:8303:7b00:c136:551e:723a:ee53]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: fa9670d9-c82c-44b4-1b33-08d778ccad81
x-ms-traffictypediagnostic: VI1PR01MB5149:
x-ms-exchange-transport-forked: True
x-microsoft-antispam-prvs: <VI1PR01MB5149985278BCC0E4B10E5EB4A65D0@VI1PR01MB5149.eurprd01.prod.exchangelabs.com>
x-ms-oob-tlc-oobclassifiers: OLM:525;
x-forefront-prvs: 0241D5F98C
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(346002)(39840400004)(396003)(366004)(136003)(376002)(199004)(189003)(14454004)(66476007)(2616005)(54906003)(316002)(5640700003)(11346002)(99286004)(76176011)(186003)(52116002)(66446008)(2906002)(2501003)(66556008)(66946007)(6506007)(102836004)(86362001)(64756008)(508600001)(786003)(305945005)(1076003)(6116002)(81166006)(8936002)(6486002)(81156014)(50226002)(25786009)(4326008)(6916009)(85182001)(71200400001)(7736002)(6512007)(8676002)(5660300002)(71190400001)(2351001)(85202003)(6436002);
 DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR01MB5149;
 H:VI1PR01MB4205.eurprd01.prod.exchangelabs.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; A:0; MX:1; 
received-spf: None (protection.outlook.com: stud.acs.upb.ro does not designate
 permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: +ndFQ/dIfmZMcKQSSH2YI+kZfwgM6F4tYvrofKENJSreC/yNI4BVnbFfZMsANL5l2pEU3bj2/KktXtPgPBE2rh8mbCx56lt4r6A/GmsGLAz6UW+6Q6RcieGvon8mDakty4Tz7MA/eDGp5bopvj1n4k4mmWDKMvwR+fyXxWZp5vRg0C825Yxb6HiyHzGEpW/tmurt4TILkjaGkncgILlpcKMF8B9N/hncAXz/szzK1mvHhWYjuLEJs5u7OzxcmY7YTsSEScqq5aV+QWmH9Oo5EosjIXT6FystuSdAVS6B5MCMnNdgEQPRiZyv+kUA07tvCqMlpuB0OVPmXHTJ18Eiy+Zhys76uxNbLOQKrTVNc6lczuzoNQRx1IQf6gja1Khhg514e5b4+RwnrlzHRQlgErbd8gnZTsIbyMeqvzC9VzWtR+7sQZQycn30gUvD5ZY9
Content-ID: <D26FFCD3A50BDE4C94C0E0D6602AB6E9@eurprd01.prod.exchangelabs.com>
MIME-Version: 1.0
X-OriginatorOrg: stud.acs.upb.ro
X-MS-Exchange-CrossTenant-Network-Message-Id: fa9670d9-c82c-44b4-1b33-08d778ccad81
X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Dec 2019 15:14:37.7954 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 2d8cc8ba-8dda-4334-9e5c-fac2092e9bac
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: rZfvry6DK+ZmxYxolm+gl58YOGLF8hDDJfkupOAWfid1LKbRz+VxyjvqGsHw4QXS2jylYv5+w3wVcGI14Su8w1+0PMWfUtAa8Q/6+feI03uUT8y7q73QZyWoYQzZhWfh
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR01MB5149
Subject: [Minios-devel] [UNIKRAFT PATCH v3 2/3] build: Add option to toggle
 the stack protection
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: "felipe.huici@neclab.eu" <felipe.huici@neclab.eu>,
 "simon.kuenzer@neclab.eu" <simon.kuenzer@neclab.eu>,
 =?utf-8?B?VmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIp?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>,
 "sharan.santhanam@neclab.eu" <sharan.santhanam@neclab.eu>,
 "costin.lupu@cs.pub.ro" <costin.lupu@cs.pub.ro>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogVmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIpIDx2bGFkX2FuZHJlaS5iYWRvaXVAc3R1
ZC5hY3MudXBiLnJvPg0KDQpUaGlzIHBhdGNoIGFkZHMgYnVpbGQgb3B0aW9uIHRvIHNlbGVjdCBk
aWZmZXJlbnQgc3RhY2sgcHJvdGVjdGlvbg0KbGV2ZWxzLg0KDQpTaWduZWQtb2ZmLWJ5OiBWbGFk
LUFuZHJlaSBCYWRvaXUgPHZsYWRfYW5kcmVpLmJhZG9pdUBzdHVkLmFjcy51cGIucm8+DQotLS0N
CiBDb25maWcudWsgICB8IDMwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KIE1ha2Vm
aWxlLnVrIHwgMTMgKysrKysrKysrKystLQ0KIDIgZmlsZXMgY2hhbmdlZCwgNDEgaW5zZXJ0aW9u
cygrKSwgMiBkZWxldGlvbnMoLSkNCg0KZGlmZiAtLWdpdCBhL0NvbmZpZy51ayBiL0NvbmZpZy51
aw0KaW5kZXggMzIzNWI5MTQuLmRhYTc2YzUzIDEwMDY0NA0KLS0tIGEvQ29uZmlnLnVrDQorKysg
Yi9Db25maWcudWsNCkBAIC02NCw2ICs2NCwzNiBAQCBjb25maWcgT1BUSU1JWkVfU0laRQ0KIAkJ
T3B0aW1pemUgY29kZSBmb3Igc2l6ZS4NCiBlbmRjaG9pY2UNCiANCitjaG9pY2UNCisJcHJvbXB0
ICJTdGFjayBwcm90ZWN0b3IgbGV2ZWwiDQorCWRlZmF1bHQgU1RBQ0tQUk9URUNUT1JfTk9ORQ0K
KwloZWxwDQorCSAgU2V0IHRoZSBzdGFjayBwcm90ZWN0b3IgbGV2ZWwNCisNCitjb25maWcgU1RB
Q0tQUk9URUNUT1JfTk9ORQ0KKwlib29sICJOb25lIg0KKwloZWxwDQorCQlEbyBub3QgdXNlIHN0
YWNrIHByb3RlY3RvciwgdXNlIC1mbm8tc3RhY2stcHJvdGVjdG9yLg0KKw0KK2NvbmZpZyBTVEFD
S1BST1RFQ1RPUl9SRUdVTEFSDQorCWJvb2wgIlJlZ3VsYXIiDQorCXNlbGVjdCBMSUJVS1NQDQor
CWhlbHANCisJCVJlZ3VsYXQgc3RhY2sgcHJvdGVjdG9yLCB1c2UgLWZzdGFjay1wcm90ZWN0b3Iu
DQorDQorY29uZmlnIFNUQUNLUFJPVEVDVE9SX1NUUk9ORw0KKwlib29sICJTdHJvbmciDQorCXNl
bGVjdCBMSUJVS1NQDQorCWhlbHANCisJCVN0cm9uZyBzdGFjayBwcm90ZWN0b3IsIHVzZSAtZnN0
YWNrLXByb3RlY3Rvci1zdHJvbmcuDQorDQorY29uZmlnIFNUQUNLUFJPVEVDVE9SX0FMTA0KKwli
b29sICJBbGwiDQorCXNlbGVjdCBMSUJVS1NQDQorCWhlbHANCisJCVByb3RlY3QgYWxsIGZ1bmN0
aW9ucywgdXNlIC1mc3RhY2stcHJvdGVjdG9yLWFsbC4NCitlbmRjaG9pY2UNCisNCiBjb21tZW50
ICJIaW50OiBTcGVjaWZ5IGEgQ1BVIHR5cGUgdG8gZ2V0IG1vc3QgYmVuZWZpdHMgZnJvbSBwZXJm
b3JtYW5jZSBvcHRpbWl6YXRpb24iDQogCWRlcGVuZHMgb24gT1BUSU1JWkVfUEVSRiAmJiAoTUFS
Q0hfWDg2XzY0X0dFTkVSSUMgfHwgTUFSQ0hfQVJNNjRfR0VORVJJQykNCiANCmRpZmYgLS1naXQg
YS9NYWtlZmlsZS51ayBiL01ha2VmaWxlLnVrDQppbmRleCA2N2MzNzJlNS4uZDgxMzhkNGMgMTAw
NjQ0DQotLS0gYS9NYWtlZmlsZS51aw0KKysrIGIvTWFrZWZpbGUudWsNCkBAIC04LDEyICs4LDEy
IEBAIEFTRkxBR1MgICAgICs9IC1VIF9fbGludXhfXyAtVSBfX0ZyZWVCU0RfXyAtVSBfX3N1bl9f
IC1EX19BU1NFTUJMWV9fDQogQVNJTkNMVURFUyAgKz0gLW5vc3RkaW5jIC1ub3N0ZGxpYiAtSSQo
Q09ORklHX1VLX0JBU0UpL2luY2x1ZGUNCiANCiBDRkxBR1MgICAgICArPSAtVSBfX2xpbnV4X18g
LVUgX19GcmVlQlNEX18gLVUgX19zdW5fXw0KLUNGTEFHUyAgICAgICs9IC1mbm8tc3RhY2stcHJv
dGVjdG9yIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyIC1mbm8tdHJlZS1zcmENCitDRkxBR1MgICAg
ICArPSAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAtZm5vLXRyZWUtc3JhDQogQ0ZMQUdTICAgICAg
Kz0gLVdhbGwgLVdleHRyYQ0KIENJTkNMVURFUyAgICs9IC1ub3N0ZGluYyAtbm9zdGRsaWIgLUkk
KENPTkZJR19VS19CQVNFKS9pbmNsdWRlDQogDQogQ1hYRkxBR1MgICAgKz0gLVUgX19saW51eF9f
IC1VIF9fRnJlZUJTRF9fIC1VIF9fc3VuX18NCi1DWFhGTEFHUyAgICArPSAtZm5vLXN0YWNrLXBy
b3RlY3RvciAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciAtZm5vLXRyZWUtc3JhDQorQ1hYRkxBR1Mg
ICAgKz0gLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIgLWZuby10cmVlLXNyYQ0KIENYWEZMQUdTICAg
ICs9IC1XYWxsIC1XZXh0cmENCiBDWFhJTkNMVURFUyArPSAtbm9zdGRpbmMgLW5vc3RkbGliIC1J
JChDT05GSUdfVUtfQkFTRSkvaW5jbHVkZQ0KIA0KQEAgLTI4LDYgKzI4LDE1IEBAIEdPQ0lOQ0xV
REVTICs9IC1ub3N0ZGluYyAtbm9zdGRsaWIgLUkkKENPTkZJR19VS19CQVNFKS9pbmNsdWRlDQog
TElCTERGTEFHUyAgKz0gLW5vc3RkaW5jIC1ub3N0ZGxpYiAtV2wsLS1vbWFnaWMgLVdsLC1yIC1X
bCwtZCAtV2wsLS1idWlsZC1pZD1ub25lDQogTERGTEFHUyAgICAgKz0gLW5vc3RkaW5jIC1ub3N0
ZGxpYiAtV2wsLS1vbWFnaWMgLVdsLC0tYnVpbGQtaWQ9bm9uZQ0KIA0KK0NGTEFHUy0kKENPTkZJ
R19TVEFDS1BST1RFQ1RPUl9OT05FKSAgICAgICs9IC1mbm8tc3RhY2stcHJvdGVjdG9yDQorQ1hY
RkxBR1MtJChDT05GSUdfU1RBQ0tQUk9URUNUT1JfTk9ORSkgICAgKz0gLWZuby1zdGFjay1wcm90
ZWN0b3INCitDRkxBR1MtJChDT05GSUdfU1RBQ0tQUk9URUNUT1JfUkVHVUxBUikgICArPSAtZnN0
YWNrLXByb3RlY3RvciAtbXN0YWNrLXByb3RlY3Rvci1ndWFyZD1nbG9iYWwNCitDWFhGTEFHUy0k
KENPTkZJR19TVEFDS1BST1RFQ1RPUl9SRUdVTEFSKSArPSAtZnN0YWNrLXByb3RlY3RvciAtbXN0
YWNrLXByb3RlY3Rvci1ndWFyZD1nbG9iYWwNCitDRkxBR1MtJChDT05GSUdfU1RBQ0tQUk9URUNU
T1JfU1RST05HKSAgICArPSAtZnN0YWNrLXByb3RlY3Rvci1zdHJvbmcgLW1zdGFjay1wcm90ZWN0
b3ItZ3VhcmQ9Z2xvYmFsDQorQ1hYRkxBR1MtJChDT05GSUdfU1RBQ0tQUk9URUNUT1JfU1RST05H
KSAgKz0gLWZzdGFjay1wcm90ZWN0b3Itc3Ryb25nIC1tc3RhY2stcHJvdGVjdG9yLWd1YXJkPWds
b2JhbA0KK0NGTEFHUy0kKENPTkZJR19TVEFDS1BST1RFQ1RPUl9BTEwpICAgICAgICs9IC1mc3Rh
Y2stcHJvdGVjdG9yLWFsbCAtbXN0YWNrLXByb3RlY3Rvci1ndWFyZD1nbG9iYWwNCitDWFhGTEFH
Uy0kKENPTkZJR19TVEFDS1BST1RFQ1RPUl9BTEwpICAgICArPSAtZnN0YWNrLXByb3RlY3Rvci1h
bGwgLW1zdGFjay1wcm90ZWN0b3ItZ3VhcmQ9Z2xvYmFsDQorDQogQ0ZMQUdTLSQoQ09ORklHX09Q
VElNSVpFX05PTkUpICAgICAgICAgICAgKz0gLU8wIC1mbm8tb3B0aW1pemUtc2libGluZy1jYWxs
cyAtZm5vLXRyZWUtdmVjdG9yaXplDQogQ1hYRkxBR1MtJChDT05GSUdfT1BUSU1JWkVfTk9ORSkg
ICAgICAgICAgKz0gLU8wIC1mbm8tb3B0aW1pemUtc2libGluZy1jYWxscyAtZm5vLXRyZWUtdmVj
dG9yaXplDQogR09DRkxBR1MtJChDT05GSUdfT1BUSU1JWkVfTk9ORSkgICAgICAgICAgKz0gLU8w
IC1mbm8tb3B0aW1pemUtc2libGluZy1jYWxscyAtZm5vLXRyZWUtdmVjdG9yaXplDQotLSANCjIu
MjAuMQ0KDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpN
aW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9y
ZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRl
dmVs

From minios-devel-bounces@lists.xenproject.org Wed Dec 04 15:14:57 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 04 Dec 2019 15:14:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1icWMj-00083u-Oq; Wed, 04 Dec 2019 15:14:57 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=xj7H=Z2=stud.acs.upb.ro=vlad_andrei.badoiu@srs-us1.protection.inumbo.net>)
 id 1icWMi-00083g-BW
 for minios-devel@lists.xen.org; Wed, 04 Dec 2019 15:14:56 +0000
X-Inumbo-ID: cfe8835a-16a8-11ea-aea8-bc764e2007e4
Received: from EUR02-HE1-obe.outbound.protection.outlook.com (unknown
 [40.107.1.69]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id cfe8835a-16a8-11ea-aea8-bc764e2007e4;
 Wed, 04 Dec 2019 15:14:48 +0000 (UTC)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VLnfJ7dC5mzyTZ91D+jSZmZ7rLcb/HWBKBo7uoeq7iTqtljhDQ7eiDVtFEa2QTRK5i3ADhZd31Dn+TXoberiJQf4NeUSHkQK+Ao5yeEyehXcb9ZgNodeTVuqlAcqfHzmqyMzgF8fZEmYRpz1JR0apbGJSi82u4iTM6oHU2pS5kiK3bqQ64OS0XDw0uA1MpqdBuamTzP7LN4SZ9PapKYndIwbeo0Z8Skv8mKi3R0Az3xZjzQZ+E2e0FZpRWUPJlaA1CO4HMJ6Zwil0zzAbVzQ2hm/lZ5bkl00qhhfasUENYEGGYcNu6V8Orv4vBj9SCnQmVQ5qe9IcCCcRwyf6nBdQg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ViD4unS2o3B8c4+8QE3vVMnb/LXc9+ribAfN22YsEvk=;
 b=LvvF8lXpDL5LWp1JTv0TSKSeeElXGJVvCK73m+TjfIvanrG+feOURnByrCRV3yGdsz8Qn+BhxbG9JkAXBNEdsKP3P3YNViRNFhqarP+T1OrZZKoZKitcGsT76Uy82vzp9BGQN8M+0XPYdw2gORsbz4bXJ6Opyi4o/LytirZpjFvs/ksNUb76SHkIYbSS7rU1PqGJJWtSESfIt0NNffQ2vH1gTm3jLCv+EKfvjuYIPN/w7KTTRFMuXZCI9D9ORvVP8z9vRFGXGyj67WVWX5wPwv84ec6akbpLMrow17YFJCqd7VD8TwVg8zrL4CWUugMJ80VxE2FNqAzhAAKDmnKwlA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=stud.acs.upb.ro; dmarc=pass action=none
 header.from=stud.acs.upb.ro; dkim=pass header.d=stud.acs.upb.ro; arc=none
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com (20.177.55.79) by
 VI1PR01MB5149.eurprd01.prod.exchangelabs.com (20.178.124.83) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.2495.17; Wed, 4 Dec 2019 15:14:38 +0000
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::71a3:74d9:f301:33b6]) by VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::71a3:74d9:f301:33b6%7]) with mapi id 15.20.2516.013; Wed, 4 Dec 2019
 15:14:38 +0000
From: =?utf-8?B?VmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIp?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
To: "minios-devel@lists.xen.org" <minios-devel@lists.xen.org>
Thread-Topic: [UNIKRAFT PATCH v3 3/3] lib/ukboot: Initialize the canary value
 at boot
Thread-Index: AQHVqrWLXQWB0+l9dEOXM/K70XvLFg==
Date: Wed, 4 Dec 2019 15:14:38 +0000
Message-ID: <20191204151426.17464-4-vlad_andrei.badoiu@stud.acs.upb.ro>
References: <20191204151426.17464-1-vlad_andrei.badoiu@stud.acs.upb.ro>
In-Reply-To: <20191204151426.17464-1-vlad_andrei.badoiu@stud.acs.upb.ro>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-clientproxiedby: AM0PR05CA0070.eurprd05.prod.outlook.com
 (2603:10a6:208:be::47) To VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 (2603:10a6:803:6d::15)
authentication-results: spf=none (sender IP is )
 smtp.mailfrom=vlad_andrei.badoiu@stud.acs.upb.ro; 
x-ms-exchange-messagesentrepresentingtype: 1
x-mailer: git-send-email 2.20.1
x-originating-ip: [2a02:2f0b:8303:7b00:c136:551e:723a:ee53]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 9fdca187-9123-4bdb-2284-08d778ccae12
x-ms-traffictypediagnostic: VI1PR01MB5149:
x-ms-exchange-transport-forked: True
x-microsoft-antispam-prvs: <VI1PR01MB51495930BECD05E93480BF13A65D0@VI1PR01MB5149.eurprd01.prod.exchangelabs.com>
x-ms-oob-tlc-oobclassifiers: OLM:1051;
x-forefront-prvs: 0241D5F98C
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(346002)(39840400004)(396003)(366004)(136003)(376002)(199004)(189003)(14454004)(66476007)(2616005)(54906003)(316002)(5640700003)(11346002)(99286004)(76176011)(186003)(52116002)(66446008)(2906002)(2501003)(66556008)(66946007)(6506007)(102836004)(86362001)(64756008)(508600001)(786003)(305945005)(1076003)(6116002)(81166006)(8936002)(6486002)(81156014)(50226002)(25786009)(4326008)(4744005)(6916009)(85182001)(71200400001)(7736002)(6512007)(8676002)(5660300002)(71190400001)(2351001)(85202003)(6436002);
 DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR01MB5149;
 H:VI1PR01MB4205.eurprd01.prod.exchangelabs.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; A:0; MX:1; 
received-spf: None (protection.outlook.com: stud.acs.upb.ro does not designate
 permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: m65K6xTFz+8Vsne7QyjO6tNfH4fSaGTw68zPRODlrhacHw005jr3DPo7fth/8Nf7cRDTX26OZ9KHfBbfdurvOYzU2C1xRSww6IufQafcBr/W7vU3EmKxTYqVFMd5rKz6DrSEcnI3XNQEn+okajV+gzQn+g1nuQK+dszLyyt8o6PJdkDF71FXz4fOSnDLUCBntE0WLGSRxHN8CxFUhaGqxnykb9svhaJLGEG+mel/lb/NrwnoIKjykKn5iNYeBrc8nFETLfAbQtCvJTAYMfKLdMEVU9RLrpjZx5hEE6uu2Y2YrBkvOeutVbNpvAgoe4bmUOg4DqscahzgMwGB0nAYH5bsi9T/EdTthTyZGrXVXgrm70jQhLqwfo18t9sPGyFKsARM1L8PSlBu31IX1JZ956lhOIHWVYm/lQFvHyd8hju5qlegXuDERnuUeKYEpPu9
Content-ID: <D362759F24CD4D4EA3CE2B1C8EAEB8ED@eurprd01.prod.exchangelabs.com>
MIME-Version: 1.0
X-OriginatorOrg: stud.acs.upb.ro
X-MS-Exchange-CrossTenant-Network-Message-Id: 9fdca187-9123-4bdb-2284-08d778ccae12
X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Dec 2019 15:14:38.7478 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 2d8cc8ba-8dda-4334-9e5c-fac2092e9bac
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: cPJQqWjBkzJ/KEdgeJrpDp+1u+SeP+4NWi0OCCF3BgZyTnLMYKW8xo9Dr3FKe59+/orgCOGXCsyRZ+QYPhEKt/glIjRKXNxqBpNVPywnnqupv7sDgur9vfIVCI0tnUW5
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR01MB5149
Subject: [Minios-devel] [UNIKRAFT PATCH v3 3/3] lib/ukboot: Initialize the
 canary value at boot
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: "felipe.huici@neclab.eu" <felipe.huici@neclab.eu>,
 "simon.kuenzer@neclab.eu" <simon.kuenzer@neclab.eu>,
 =?utf-8?B?VmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIp?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>,
 "sharan.santhanam@neclab.eu" <sharan.santhanam@neclab.eu>,
 "costin.lupu@cs.pub.ro" <costin.lupu@cs.pub.ro>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogVmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIpIDx2bGFkX2FuZHJlaS5iYWRvaXVAc3R1
ZC5hY3MudXBiLnJvPg0KDQpXZSBpbml0aWFsaXplIHRoZSBjYW5hcnkgdmFsdWUgYXQgYm9vdCB3
aXRoIGEgcmFuZG9tIHZhcmlhYmxlLg0KDQpTaWduZWQtb2ZmLWJ5OiBWbGFkLUFuZHJlaSBCYWRv
aXUgPHZsYWRfYW5kcmVpLmJhZG9pdUBzdHVkLmFjcy51cGIucm8+DQotLS0NCiBsaWIvdWtib290
L2Jvb3QuYyB8IDcgKysrKysrKw0KIDEgZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKykNCg0K
ZGlmZiAtLWdpdCBhL2xpYi91a2Jvb3QvYm9vdC5jIGIvbGliL3VrYm9vdC9ib290LmMNCmluZGV4
IDNmNTA0NmNhLi4zNGY2YWE4YiAxMDA2NDQNCi0tLSBhL2xpYi91a2Jvb3QvYm9vdC5jDQorKysg
Yi9saWIvdWtib290L2Jvb3QuYw0KQEAgLTYxLDYgKzYxLDkgQEANCiAjaWZkZWYgQ09ORklHX0xJ
QlVLTElCUEFSQU0NCiAjaW5jbHVkZSA8dWsvbGlicGFyYW0uaD4NCiAjZW5kaWYgLyogQ09ORklH
X0xJQlVLTElCUEFSQU0gKi8NCisjaWYgQ09ORklHX0xJQlVLU1ANCisjaW5jbHVkZSA8dWtzcC9z
dGFja3Byb3RlY3Rvci5oPg0KKyNlbmRpZg0KIA0KIGludCBtYWluKGludCBhcmdjLCBjaGFyICph
cmd2W10pIF9fd2VhazsNCiANCkBAIC0xOTAsNiArMTkzLDEwIEBAIHZvaWQgdWtwbGF0X2VudHJ5
KGludCBhcmdjLCBjaGFyICphcmd2W10pDQogCQl1a19jdG9ydGFiW2ldKCk7DQogCX0NCiANCisj
aWYgQ09ORklHX0xJQlVLU1ANCisJYm9vdF9pbml0X3N0YWNrX2NhbmFyeSgpOw0KKyNlbmRpZg0K
Kw0KICNpZmRlZiBDT05GSUdfTElCVUtMSUJQQVJBTQ0KIAlyYyA9IChhcmdjID4gMSkgPyB1a19s
aWJwYXJhbV9wYXJzZShhcmd2WzBdLCBhcmdjIC0gMSwgJmFyZ3ZbMV0pIDogMDsNCiAJaWYgKHVu
bGlrZWx5KHJjIDwgMCkpDQotLSANCjIuMjAuMQ0KDQpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1k
ZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21h
aWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Wed Dec 04 15:19:44 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 04 Dec 2019 15:19:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1icWRL-0008AW-3z; Wed, 04 Dec 2019 15:19:43 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=xj7H=Z2=stud.acs.upb.ro=vlad_andrei.badoiu@srs-us1.protection.inumbo.net>)
 id 1icWRJ-0008AR-AN
 for minios-devel@lists.xenproject.org; Wed, 04 Dec 2019 15:19:41 +0000
X-Inumbo-ID: 7d1866da-16a9-11ea-a0d2-bc764e2007e4
Received: from EUR02-AM5-obe.outbound.protection.outlook.com (unknown
 [40.107.0.89]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 7d1866da-16a9-11ea-a0d2-bc764e2007e4;
 Wed, 04 Dec 2019 15:19:39 +0000 (UTC)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Py66JO7n1z0eiyonc311ZVCeDO3un1aO7PGm3meM+gi0maw8AVs2v6fRK1I8wQ8oOvDSa51vELab0goFqmYUuUaCl/Vdzp+OqBMXcjXtfv3uuLKc4K3BqS+sxy0chs74qslxcTjvYe8+JOM/ckW6oD0ZuY/gMWNcwa11y5Pqr5FJ3XKtpK2T4AieahDmyP4Ol1e5NZRouliwsO8EW1zvmdRZiR6TtGtVZ4LNG9xWiZEig7iKKRWRWNP/D4arDrKzI5n10onP+MADIgHKHqzUO5kAuqQn9kC83uVpHPEfk+8MyZ7yAgE4RuIdpldwveaLgmNAywtcyhCXIG3gukmMag==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SrcPEPn0UMaV5rTBtGwCwEFJnpnxnt0xZ7UUuXu0KcY=;
 b=H7VULS3bB6mhQ4Sqk2xT92N/gZO9gsQHYmCwMD5zQBxiIuq3b7X02HdZFMtOXisjb3iN7fXkQMwLIteo5zVP7ThDjGTIU38bGlziX7wjqQ0IjeXmmcEtz9mvVqbdgoMfYb3D5Rg3Mv/RuFqQ+eTp0tHx8ksyTWTWuPIxGf+ymqG3l6Uh+utQLHfP/jptSZaHYBT51N2NEFpbVtV3UQPLSpvZ4JAo182fjaUEvTXtQgP/hmrkahnfonfLSiDAzEs9mANQWNRORF53++JKMQJukRD9Q6k/jT/WsjLi65A5uZRimqaGMtYJQZT8Kmr39AquCjm5jKx6WuAH0+nERKcObw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=stud.acs.upb.ro; dmarc=pass action=none
 header.from=stud.acs.upb.ro; dkim=pass header.d=stud.acs.upb.ro; arc=none
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com (20.177.55.79) by
 VI1PR01MB4880.eurprd01.prod.exchangelabs.com (20.177.201.88) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.2516.12; Wed, 4 Dec 2019 15:19:37 +0000
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::71a3:74d9:f301:33b6]) by VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::71a3:74d9:f301:33b6%7]) with mapi id 15.20.2516.013; Wed, 4 Dec 2019
 15:19:37 +0000
From: =?utf-8?B?VmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIp?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
To: "minios-devel@lists.xenproject.org" <minios-devel@lists.xenproject.org>
Thread-Topic: [Minios-devel] [UNIKRAFT PATCH 1/2] lib/vfscore: Export readdir_r
Thread-Index: AQHVqRAJoeueKx8y90q7VMWPn+XLvqeqGlkA
Date: Wed, 4 Dec 2019 15:19:37 +0000
Message-ID: <3bbca95e-7e94-44aa-0957-37f0dc6d22aa@stud.acs.upb.ro>
References: <20191202125701.31187-1-felipe.huici@neclab.eu>
 <20191202125701.31187-2-felipe.huici@neclab.eu>
In-Reply-To: <20191202125701.31187-2-felipe.huici@neclab.eu>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-clientproxiedby: AM0PR02CA0020.eurprd02.prod.outlook.com
 (2603:10a6:208:3e::33) To VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 (2603:10a6:803:6d::15)
authentication-results: spf=none (sender IP is )
 smtp.mailfrom=vlad_andrei.badoiu@stud.acs.upb.ro; 
x-ms-exchange-messagesentrepresentingtype: 1
x-originating-ip: [2a02:2f0b:8303:7b00:c136:551e:723a:ee53]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 44267e46-cea8-4ace-0462-08d778cd6050
x-ms-traffictypediagnostic: VI1PR01MB4880:
x-microsoft-antispam-prvs: <VI1PR01MB4880EE4F72EECB725A1501CAA65D0@VI1PR01MB4880.eurprd01.prod.exchangelabs.com>
x-ms-oob-tlc-oobclassifiers: OLM:551;
x-forefront-prvs: 0241D5F98C
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(376002)(136003)(396003)(366004)(39840400004)(346002)(199004)(189003)(2351001)(8936002)(508600001)(6512007)(2616005)(6916009)(6246003)(25786009)(85202003)(6486002)(85182001)(305945005)(229853002)(5640700003)(31686004)(2906002)(5660300002)(6116002)(6436002)(14454004)(31696002)(66556008)(4744005)(71190400001)(786003)(2501003)(86362001)(316002)(66446008)(64756008)(99286004)(71200400001)(102836004)(76176011)(81166006)(66946007)(8676002)(53546011)(11346002)(6506007)(52116002)(66476007)(7736002)(81156014)(186003);
 DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR01MB4880;
 H:VI1PR01MB4205.eurprd01.prod.exchangelabs.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; A:0; MX:1; 
received-spf: None (protection.outlook.com: stud.acs.upb.ro does not designate
 permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: Z/LiH35nvgDHhjTIFI/RdZY/gn3nxjHIEb3I0mFeWzWHHx9GT9hDM3EU2Q6q5YU1oii1CXALnfFzDnE2zxG+5OtSiEQFdrZ1gKLd0mfzNDoeY9MbRD/OqYnkcr1cwaibOxPZnOg8TPAzhR+iinO6cjef6NBsjwhAdNr/94JMfgOH39Yhw0gUBv44uqg60a1yptiMYQ3OeCC9uIw248MJ1aGDDltH3ej/V0EXYG+df28RWLtKeb1fgmZ32PtCs5wXOdSUs8E9eiz/tdCRyb7syZxptVKhLiK3ncuaa/51Qx89ljmLaFMh0hc7CpyzpRnqm+A58nTL7fuW2GQ3ek8h+dGOvHRIKVpE0gDULmGj+vPDMt0+LDtx2/JJ8XZogMoRqeDRdEq4YAIv+vxWFanVDojv/tPX4cu1DB0h9f8EBe6fD8WolCdrtX16fvQVzNz/
x-ms-exchange-transport-forked: True
Content-ID: <F3BEBE0A36D1104F9FCE7C5EF8444BA5@eurprd01.prod.exchangelabs.com>
MIME-Version: 1.0
X-OriginatorOrg: stud.acs.upb.ro
X-MS-Exchange-CrossTenant-Network-Message-Id: 44267e46-cea8-4ace-0462-08d778cd6050
X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Dec 2019 15:19:37.7309 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 2d8cc8ba-8dda-4334-9e5c-fac2092e9bac
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: JE8ndIk/sMDW48lwyAjN6NNheGFjHcfPCw/5/nJWgt/d/JM7sLTPuynLYT1uH2O35JHb+RRWfFUIiUSZ7e1wZhy20rAXvqvQs7ARqffAohsyk4AU8vUGns5OA1ZN1SLp
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR01MB4880
Subject: Re: [Minios-devel] [UNIKRAFT PATCH 1/2] lib/vfscore: Export
 readdir_r
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhhbmtzIEZlbGlwZSENCg0KUmV2aWV3ZWQtYnk6IFZsYWQtQW5kcmVpIEJhZG9pdSA8dmxhZF9h
bmRyZWkuYmFkb2l1QHN0dWQuYWNzLnVwYi5ybz4NCg0KT24gMDIuMTIuMjAxOSAxNDo1NywgRmVs
aXBlIEh1aWNpIHdyb3RlOg0KPiBBZGQgcmVhZGRpcl9yIHRvIGV4cG9ydHN5bXMudWsNCj4NCj4g
U2lnbmVkLW9mZi1ieTogRmVsaXBlIEh1aWNpIDxmZWxpcGUuaHVpY2lAbmVjbGFiLmV1Pg0KPiAt
LS0NCj4gICBsaWIvdmZzY29yZS9leHBvcnRzeW1zLnVrIHwgMSArDQo+ICAgMSBmaWxlIGNoYW5n
ZWQsIDEgaW5zZXJ0aW9uKCspDQo+DQo+IGRpZmYgLS1naXQgYS9saWIvdmZzY29yZS9leHBvcnRz
eW1zLnVrIGIvbGliL3Zmc2NvcmUvZXhwb3J0c3ltcy51aw0KPiBpbmRleCA3MDM5MjcyMS4uYjdl
YjRiYTUgMTAwNjQ0DQo+IC0tLSBhL2xpYi92ZnNjb3JlL2V4cG9ydHN5bXMudWsNCj4gKysrIGIv
bGliL3Zmc2NvcmUvZXhwb3J0c3ltcy51aw0KPiBAQCAtNDksNiArNDksNyBAQCBsY2hvd24NCj4g
ICBvcGVuYXQNCj4gICBvcGVuZGlyDQo+ICAgcmVhZGRpcg0KPiArcmVhZGRpcl9yDQo+ICAgcmVh
ZGRpcjY0DQo+ICAgY2xvc2VkaXINCj4gICBwcmVhZA0KX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3Mt
ZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9t
YWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Wed Dec 04 15:23:37 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 04 Dec 2019 15:23:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1icWV6-0000P0-F7; Wed, 04 Dec 2019 15:23:36 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=xj7H=Z2=stud.acs.upb.ro=vlad_andrei.badoiu@srs-us1.protection.inumbo.net>)
 id 1icWV4-0000Ov-Kn
 for minios-devel@lists.xenproject.org; Wed, 04 Dec 2019 15:23:34 +0000
X-Inumbo-ID: 0817350e-16aa-11ea-99dd-bc764e2007e4
Received: from EUR03-DB5-obe.outbound.protection.outlook.com (unknown
 [40.107.4.70]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 0817350e-16aa-11ea-99dd-bc764e2007e4;
 Wed, 04 Dec 2019 15:23:33 +0000 (UTC)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=J1UoKxYhdWVs3lhlm6dI91BOuuYuqcdYfXw9v3wzsVh7A5dEyMnTHi+M1oM00oybgObxp/eD31jWdYzEMsOuxbGMpwfFBHqRzKYNyoA23r9YIGTvbxuGag4Hcsz5SPX86OP6spcuOCVsD7XFwe8tCimLX07LApxbM7iOs28mfhJd3gBRNqm6vELidBLl/y4zq5pqyKEEBZKq/eyE8zeaFKutKbaLndE+PPx+4XGp9PxW0G3rKK6vHcdXTzg/d0e/XOfpcNHN3X/a0A3WaFyK/mAemjxRk/NQ09rlhJlBNSv4/TMxvj/K1BWB3HqDSXj+73GASdkldENlwaeF9bRKSg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=X2VIGHd3fs9s2ovLNozbakYDyVeLDkGG/XBbUd+N1pc=;
 b=jSz/JK/PZGu5XU+xgWyhjrIuXcAnIC0FeVv9+CCK1fzYFfBIZJmjf+LNCwus18YglHXX2j5fq6J8vV+iQJV4BWa4BTdYqzl3BXOXg/HVui2syOCEZjYUwnvLIaMni0uR9apwteaSYta9gAbbd5iVNqB3OZKxw/plUqR4uXk24R94kfMis+f2HLIHVjCUpZJs3ED0E9JklY6YXsOgv9LyYzSReeE48Ml//1CQp1/PW3+C89t5DnN4WzHo4e4ia8rv0G0aK6OByeThQcPfkpnC8mptDeF9dbzx9uQsRSAq3pFNlb6faOaZMPmD1Zxe82VndqXquHb0KJfk7JqfVKQjBw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=stud.acs.upb.ro; dmarc=pass action=none
 header.from=stud.acs.upb.ro; dkim=pass header.d=stud.acs.upb.ro; arc=none
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com (20.177.55.79) by
 VI1PR01MB4880.eurprd01.prod.exchangelabs.com (20.177.201.88) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.2516.12; Wed, 4 Dec 2019 15:23:31 +0000
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::71a3:74d9:f301:33b6]) by VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::71a3:74d9:f301:33b6%7]) with mapi id 15.20.2516.013; Wed, 4 Dec 2019
 15:23:31 +0000
From: =?utf-8?B?VmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIp?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
To: "minios-devel@lists.xenproject.org" <minios-devel@lists.xenproject.org>
Thread-Topic: [Minios-devel] [UNIKRAFT PATCH 2/2] lib/uksysinfo: Add sysinfo
 stub
Thread-Index: AQHVqRAKOhBFMmZ5sE2gE8BNGKxUYqeqG24A
Date: Wed, 4 Dec 2019 15:23:31 +0000
Message-ID: <f1e6360d-fe40-71dd-ca34-9a159cfad5eb@stud.acs.upb.ro>
References: <20191202125701.31187-1-felipe.huici@neclab.eu>
 <20191202125701.31187-3-felipe.huici@neclab.eu>
In-Reply-To: <20191202125701.31187-3-felipe.huici@neclab.eu>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-clientproxiedby: AM0PR05CA0087.eurprd05.prod.outlook.com
 (2603:10a6:208:136::27) To VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 (2603:10a6:803:6d::15)
authentication-results: spf=none (sender IP is )
 smtp.mailfrom=vlad_andrei.badoiu@stud.acs.upb.ro; 
x-ms-exchange-messagesentrepresentingtype: 1
x-originating-ip: [2a02:2f0b:8303:7b00:c136:551e:723a:ee53]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: ad00043b-c5e4-41d7-4853-08d778cdebc8
x-ms-traffictypediagnostic: VI1PR01MB4880:
x-microsoft-antispam-prvs: <VI1PR01MB4880A40E52E45FE8D9304A00A65D0@VI1PR01MB4880.eurprd01.prod.exchangelabs.com>
x-ms-oob-tlc-oobclassifiers: OLM:8273;
x-forefront-prvs: 0241D5F98C
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(376002)(136003)(396003)(366004)(39840400004)(346002)(199004)(189003)(2351001)(8936002)(508600001)(6512007)(2616005)(6916009)(6246003)(25786009)(85202003)(6486002)(85182001)(305945005)(229853002)(5640700003)(31686004)(2906002)(5660300002)(6116002)(6436002)(14454004)(31696002)(66556008)(71190400001)(14444005)(786003)(2501003)(86362001)(316002)(66446008)(64756008)(99286004)(71200400001)(102836004)(76176011)(81166006)(66946007)(8676002)(53546011)(11346002)(6506007)(52116002)(66476007)(7736002)(81156014)(186003);
 DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR01MB4880;
 H:VI1PR01MB4205.eurprd01.prod.exchangelabs.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; A:0; MX:1; 
received-spf: None (protection.outlook.com: stud.acs.upb.ro does not designate
 permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: TMBYLbfxyYqIoYQeLzV2PioaZlKODYN4NSl9wtqSpzPyqOV1nQS2ptRzDQ5MSpf8CmQR3K+/4HKaaGI8BlLkjov/EsrM/yv+yu1FXTcmJrjzBAxtjqKswGcOyvZ0vEyzXhnVhsTiJEce5zhzVgN+FfMN7zrs6Gh9Q2xklSfATnjE8bGc64nYp+RLu5P1vMPoLKjBa75RfUepNZIeemNgTLi6X5xYbmnxnvErnsx1SnH3px5YPzbfr9auAD2+VQ9APUe63F1i26R1/cW6K2JrZqwBnlH04vMPugML+S14hXYCCi6ahDCrmDWjW083B1tD+pckRxLw5eWJSo1P0ud/p/M42muBubvb12SjcOzhCwyKoCZ7RkIEIt/Ru/ilPhgK9MlAqZjrjFksoBCZNMc+a3U1lzO2R9WIBDnOvop8fxbjKBAFjHQowzDLlxL31w+C
x-ms-exchange-transport-forked: True
Content-ID: <C18052B2434FA94BB025C89FF2B2B9E7@eurprd01.prod.exchangelabs.com>
MIME-Version: 1.0
X-OriginatorOrg: stud.acs.upb.ro
X-MS-Exchange-CrossTenant-Network-Message-Id: ad00043b-c5e4-41d7-4853-08d778cdebc8
X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Dec 2019 15:23:31.7013 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 2d8cc8ba-8dda-4334-9e5c-fac2092e9bac
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: UN4kv0vSq5Rn1dDM2rWTMaYG3cU3oIdfzVEi14z/R+YrYjVM/oh7/QIi5lWS3euaAz0zykGyYzkZ9fa/WOAS0lqO6Fh1PjHbIP3hatd64P5L/cTveOyyEimDke4Evuo6
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR01MB4880
Subject: Re: [Minios-devel] [UNIKRAFT PATCH 2/2] lib/uksysinfo: Add sysinfo
 stub
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGV5IEZlbGlwZSwNCg0KVGhlcmUgaXMgb25lIGNvbW1lbnQgdGhhdCBtYXkgYmUgZml4ZWQgZHVy
aW5nIHRoZSB1cHN0cmVhbWluZy4gUGxlYXNlIA0Kc2VlIGlubGluZQ0KDQpUaGFua3MsDQoNClZs
YWQNCg0KUmV2aWV3ZWQtYnk6IFZsYWQtQW5kcmVpIEJhZG9pdSA8dmxhZF9hbmRyZWkuYmFkb2l1
QHN0dWQuYWNzLnVwYi5ybz4NCg0KT24gMDIuMTIuMjAxOSAxNDo1NywgRmVsaXBlIEh1aWNpIHdy
b3RlOg0KPiBBZGQgc3lzaW5mbyBzdHViLCBuZWVkZWQgYnkgbG93anMgYnVpbGQuDQo+DQo+IFNp
Z25lZC1vZmYtYnk6IEZlbGlwZSBIdWljaSA8ZmVsaXBlLmh1aWNpQG5lY2xhYi5ldT4NCj4gLS0t
DQo+ICAgbGliL3Vrc3lzaW5mby9leHBvcnRzeW1zLnVrICAgICAgICAgfCAgMSArDQo+ICAgbGli
L3Vrc3lzaW5mby9pbmNsdWRlL3N5cy9zeXNpbmZvLmggfCA2MiArKysrKysrKysrKysrKysrKysr
KysrKysrKysrKw0KPiAgIGxpYi91a3N5c2luZm8vc3lzaW5mby5jICAgICAgICAgICAgIHwgIDUg
KysrDQo+ICAgMyBmaWxlcyBjaGFuZ2VkLCA2OCBpbnNlcnRpb25zKCspDQo+ICAgY3JlYXRlIG1v
ZGUgMTAwNjQ0IGxpYi91a3N5c2luZm8vaW5jbHVkZS9zeXMvc3lzaW5mby5oDQo+DQo+IGRpZmYg
LS1naXQgYS9saWIvdWtzeXNpbmZvL2V4cG9ydHN5bXMudWsgYi9saWIvdWtzeXNpbmZvL2V4cG9y
dHN5bXMudWsNCj4gaW5kZXggNzNlMWZlOTkuLmQ1MTMxMzMyIDEwMDY0NA0KPiAtLS0gYS9saWIv
dWtzeXNpbmZvL2V4cG9ydHN5bXMudWsNCj4gKysrIGIvbGliL3Vrc3lzaW5mby9leHBvcnRzeW1z
LnVrDQo+IEBAIC0xLDUgKzEsNiBAQA0KPiAgIGZwYXRoY29uZg0KPiAgIHN5c2NvbmYNCj4gK3N5
c2luZm8NCj4gICBjb25mc3RyDQo+ICAgcGF0aGNvbmYNCj4gICBnZXRwYWdlc2l6ZQ0KPiBkaWZm
IC0tZ2l0IGEvbGliL3Vrc3lzaW5mby9pbmNsdWRlL3N5cy9zeXNpbmZvLmggYi9saWIvdWtzeXNp
bmZvL2luY2x1ZGUvc3lzL3N5c2luZm8uaA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRl
eCAwMDAwMDAwMC4uMjE0MWY1NTUNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9saWIvdWtzeXNp
bmZvL2luY2x1ZGUvc3lzL3N5c2luZm8uaA0KPiBAQCAtMCwwICsxLDYyIEBADQo+ICsvKiBTUERY
LUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUICovDQo+ICsvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICsgKiBD
b3B5cmlnaHQgPEMyPjxBOT4gMjAwNS0yMDE0IFJpY2ggRmVsa2VyLCBldCBhbC4NCj4gKyAqDQo+
ICsgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55
IHBlcnNvbiBvYnRhaW5pbmcNCj4gKyAqIGEgY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3Nv
Y2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQ0KPiArICogIlNvZnR3YXJlIiksIHRvIGRl
YWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZw0KPiArICog
d2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdl
LCBwdWJsaXNoLA0KPiArICogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29w
aWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvDQo+ICsgKiBwZXJtaXQgcGVyc29ucyB0byB3aG9t
IHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8NCj4gKyAqIHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9uczoNCj4gKyAqDQo+ICsgKiBUaGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZQ0KPiArICogaW5jbHVk
ZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUu
DQo+ICsgKg0KPiArICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQg
V0FSUkFOVFkgT0YgQU5ZIEtJTkQsDQo+ICsgKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElO
RyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YNCj4gKyAqIE1FUkNIQU5UQUJJ
TElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVO
VC4NCj4gKyAqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xE
RVJTIEJFIExJQUJMRSBGT1IgQU5ZDQo+ICsgKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULA0KPiArICogVE9SVCBPUiBP
VEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUN
Cj4gKyAqIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRX
QVJFLg0KPiArICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiArICovDQo+ICsvKiBUYWtlbiBmcm9tIG11c2wt
MS4xLjE5ICovDQo+ICsNCj4gKyNpZm5kZWYgX1NZU19TWVNJTkZPX0gNCj4gKyNkZWZpbmUgX1NZ
U19TWVNJTkZPX0gNCj4gKw0KPiArI2lmZGVmIF9fY3BsdXNwbHVzDQo+ICtleHRlcm4gIkMiIHsN
Cj4gKyNlbmRpZg0KPiArDQo+ICsjZGVmaW5lIFNJX0xPQURfU0hJRlQgMTYNCj4gKw0KPiArc3Ry
dWN0IHN5c2luZm8gew0KPiArCXVuc2lnbmVkIGxvbmcgdXB0aW1lOw0KPiArCXVuc2lnbmVkIGxv
bmcgbG9hZHNbM107DQo+ICsJdW5zaWduZWQgbG9uZyB0b3RhbHJhbTsNCj4gKwl1bnNpZ25lZCBs
b25nIGZyZWVyYW07DQo+ICsJdW5zaWduZWQgbG9uZyBzaGFyZWRyYW07DQo+ICsJdW5zaWduZWQg
bG9uZyBidWZmZXJyYW07DQo+ICsJdW5zaWduZWQgbG9uZyB0b3RhbHN3YXA7DQo+ICsJdW5zaWdu
ZWQgbG9uZyBmcmVlc3dhcDsNCj4gKwl1bnNpZ25lZCBzaG9ydCBwcm9jcywgcGFkOw0KPiArCXVu
c2lnbmVkIGxvbmcgdG90YWxoaWdoOw0KPiArCXVuc2lnbmVkIGxvbmcgZnJlZWhpZ2g7DQo+ICsJ
dW5zaWduZWQgbWVtX3VuaXQ7DQo+ICsJY2hhciBfX3Jlc2VydmVkWzI1Nl07DQo+ICt9Ow0KPiAr
DQo+ICtpbnQgc3lzaW5mbyAoc3RydWN0IHN5c2luZm8gKik7DQo+ICtpbnQgZ2V0X25wcm9jc19j
b25mICh2b2lkKTsNCj4gK2ludCBnZXRfbnByb2NzICh2b2lkKTsNCj4gK2xvbmcgZ2V0X3BoeXNf
cGFnZXMgKHZvaWQpOw0KPiArbG9uZyBnZXRfYXZwaHlzX3BhZ2VzICh2b2lkKTsNCj4gKw0KPiAr
I2lmZGVmIF9fY3BsdXNwbHVzDQo+ICt9DQo+ICsjZW5kaWYNCj4gKw0KPiArI2VuZGlmDQo+IGRp
ZmYgLS1naXQgYS9saWIvdWtzeXNpbmZvL3N5c2luZm8uYyBiL2xpYi91a3N5c2luZm8vc3lzaW5m
by5jDQo+IGluZGV4IDZhZGNmMjIxLi5lY2VjZGVhMSAxMDA2NDQNCj4gLS0tIGEvbGliL3Vrc3lz
aW5mby9zeXNpbmZvLmMNCj4gKysrIGIvbGliL3Vrc3lzaW5mby9zeXNpbmZvLmMNCj4gQEAgLTU3
LDYgKzU3LDExIEBAIHN0YXRpYyBzdHJ1Y3QgdXRzbmFtZSB1dHNuYW1lID0gew0KPiAgICNlbmRp
Zg0KPiAgIH07DQo+ICAgDQo+ICtpbnQgc3lzaW5mbyhzdHJ1Y3Qgc3lzaW5mbyAqaW5mbykNCg0K
VGhlcmUgYXJlIHR3byB3YXJuaW5nIGhlcmUgdGhhdCB3ZSBzaG91bGQgc29sdmUuDQoNCjEuIFdl
IHNob3VsZCB1c2UgdGhlIF9fdW51c2VkIG1hY3JvDQoNCjIuIFdlIHNob3VsZCBoYXZlIGEgI2lu
Y2x1ZGU8c3lzL3N5c2luZm8uaD4NCg0KPiArew0KPiArCXJldHVybiAtMTsNCj4gK30NCj4gKw0K
PiAgIGxvbmcgZnBhdGhjb25mKGludCBmZCBfX3VudXNlZCwgaW50IG5hbWUgX191bnVzZWQpDQo+
ICAgew0KPiAgIAlyZXR1cm4gMDsNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3Rz
LnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0
aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Wed Dec 04 17:52:27 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 04 Dec 2019 17:52:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1icYp7-0007uC-0C; Wed, 04 Dec 2019 17:52:25 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=WP1f=Z2=sauron.run.montefiore.ulg.ac.be=gain@srs-us1.protection.inumbo.net>)
 id 1icYp5-0007tJ-Aa
 for minios-devel@lists.xenproject.org; Wed, 04 Dec 2019 17:52:23 +0000
X-Inumbo-ID: d19ee5c0-16be-11ea-8207-12813bfff9fa
Received: from serv108.segi.ulg.ac.be (unknown [139.165.32.111])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id d19ee5c0-16be-11ea-8207-12813bfff9fa;
 Wed, 04 Dec 2019 17:52:21 +0000 (UTC)
Received: from sauron.run.montefiore.ulg.ac.be
 (sauron.run.montefiore.ulg.ac.be [139.165.223.31])
 by serv108.segi.ulg.ac.be (Postfix) with ESMTP id 1A50A200CCF0;
 Wed,  4 Dec 2019 18:52:20 +0100 (CET)
DKIM-Filter: OpenDKIM Filter v2.11.0 serv108.segi.ulg.ac.be 1A50A200CCF0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=uliege.be;
 s=ulg20190529; t=1575481940;
 bh=M5Mwp/oC2AnDyI2Rym0s4mnD3gESTjbIYlDreNuLPaI=;
 h=From:To:Cc:Subject:Date:From;
 b=fy2j/kgM3LJ6WyqOJlJebkOBjJdMS3CkZcShyWNQn8W6E0fMy6UEEq/v/5kLH8HJE
 0h7k02xiYZmU7E4I82Cc2+p94cSX92Wue8E75/7RuHkAucwik7NH+aaVe4lz3mpPlY
 DtISHlTDN0FROrif5LqYcj3lSdXYo1UsNPmB/3gbeolAzRfEsmgC5eIXIJeN9ERF1M
 3kkmDS8rsWNtEHJHjmMX3DdVugYJXe1hoSTDL6LjE09TCV4+a29+/e846AqsagiTkz
 WrzXTDiU7VENyXyW3Li2MFDn4JUNmC7vP+7h9I+aQz8SiUpIHJ4BNi8hOd++mhuZtd
 Dmxksw1wMkYgw==
Received: by sauron.run.montefiore.ulg.ac.be (Postfix, from userid 1000)
 id 118B9C00BA; Wed,  4 Dec 2019 18:52:20 +0100 (CET)
From: Gaulthier Gain <gaulthier.gain@uliege.be>
To: minios-devel@lists.xenproject.org
Date: Wed,  4 Dec 2019 18:52:11 +0100
Message-Id: <20191204175216.31249-1-gaulthier.gain@uliege.be>
X-Mailer: git-send-email 2.11.0
Subject: [Minios-devel] [UNIKRAFT/SQLITE V3 PATCH 0/5] SQLite port on
 Unikraft
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: felipe.huici@neclab.eu, Gaulthier Gain <gaulthier.gain@uliege.be>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhpcyBwYXRjaCBzZXJpZXMgcG9ydHMgU1FMaXRlIG9uIFVuaWtyYWZ0LgoKUGxlYXNlIGZpbmQg
YmVsb3cgdGhlIG1haW4gY2hhbmdlcyBjb21wYXJlZCB0byBWMjoKLSBVc2UgVW5pa3JhZnQgc3Rh
bmRhcmQgLmdpdGlnbm9yZSBmaWxlOwotIFVwZGF0ZSBDb25maWcudWsgZmlsZSB0byBiZSBjb25z
aXN0ZW50IHdpdGggb3RoZXIgbGlicyBhbmQgcHJvdmlkZQphbiBvcHRpb25hbCBtYWluKCkgbWV0
aG9kOwotIFJlbW92ZSBMSUJOT0xJQkMgZnJvbSBDb25maWcudWs7Ci0gVXBkYXRlIFJFQURNRS5t
ZDogbGlzdCBleHRlcm5hbCBsaWIgZGVwZW5kZW5jaWVzIGFuZCBhZGQgIlJvb3QKZmlsZXN5c3Rl
bSIgc2VjdGlvbjsKLSBVcGRhdGUgc3VwcHJlc3MgZmxhZ3MgdG8gYmUgVW5pa3JhZnQgc3BlY2lm
aWM7Ci0gTmFtZXNwYWNlIHZhcmlhYmxlcyBpbiBNYWtlZmlsZS51azsKLSBUd2VhayBvcHRpb25z
IGZyb20gdGhlIGNvbmZpZy5oIGZpbGUgdG8gYmUgVW5pa3JhZnQgc3BlY2lmaWMuIE5vdGUKdGhh
dCBvYnNvbGV0ZS91c2VsZXNzIG9wdGlvbnMgaGF2ZSBiZWVuIHJlbW92ZWQuCgpJbiBhZGRpdGlv
biwgaXQgaXMgbm93IHBvc3NpYmxlIHRvIGV4cG9ydC9pbXBvcnQgU1FMIHRhYmxlcyB0by9mcm9t
CmZpbGVzICguY3N2LCAuZGIsIC4uLikuCgpHYXVsdGhpZXIgR2FpbiAoNSk6CiAgSW50cm9kdWNl
IGxpYnJhcnkgc2tlbGV0b24KICBBZGQgTWFrZWZpbGUudWsKICBBZGQgb3B0aW9uYWwgbWFpbigp
CiAgQWRkIHBhdGNoZXMgZGlyZWN0b3J5CiAgQWRkIGNvbmZpZy5oIGluIGluY2x1ZGUgZm9sZGVy
CgogLmdpdGlnbm9yZSAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDI3ICsrKysrKysrKysr
CiBDT0RJTkdfU1RZTEUubWQgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKysKIENPTlRSSUJV
VElORy5tZCAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArKwogQ09QWUlORy5tZCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB8IDM4ICsrKysrKysrKysrKysrKwogQ29uZmlnLnVrICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB8IDE0ICsrKysrKwogTUFJTlRBSU5FUlMubWQgICAgICAg
ICAgICAgICAgICAgICAgICB8IDExICsrKysrCiBNYWtlZmlsZS51ayAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHwgODcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIFJFQURN
RS5tZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAyMyArKysrKysrKysKIGluY2x1ZGUv
Y29uZmlnLmggICAgICAgICAgICAgICAgICAgICAgfCAzNSArKysrKysrKysrKysrKwogbWFpbi5j
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA2ICsrKwogcGF0Y2hlcy8wMDAxLXJl
bmFtZS1lbnRyeS1wb2ludC5wYXRjaCB8IDI4ICsrKysrKysrKysrCiAxMSBmaWxlcyBjaGFuZ2Vk
LCAyNzcgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IC5naXRpZ25vcmUKIGNyZWF0
ZSBtb2RlIDEwMDY0NCBDT0RJTkdfU1RZTEUubWQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBDT05UUklC
VVRJTkcubWQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBDT1BZSU5HLm1kCiBjcmVhdGUgbW9kZSAxMDA2
NDQgQ29uZmlnLnVrCiBjcmVhdGUgbW9kZSAxMDA2NDQgTUFJTlRBSU5FUlMubWQKIGNyZWF0ZSBt
b2RlIDEwMDY0NCBNYWtlZmlsZS51awogY3JlYXRlIG1vZGUgMTAwNjQ0IFJFQURNRS5tZAogY3Jl
YXRlIG1vZGUgMTAwNjQ0IGluY2x1ZGUvY29uZmlnLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtYWlu
LmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBwYXRjaGVzLzAwMDEtcmVuYW1lLWVudHJ5LXBvaW50LnBh
dGNoCgotLSAKMi4xMS4wCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVu
cHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZv
L21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Wed Dec 04 17:52:30 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 04 Dec 2019 17:52:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1icYpC-0007uk-1y; Wed, 04 Dec 2019 17:52:30 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=WP1f=Z2=sauron.run.montefiore.ulg.ac.be=gain@srs-us1.protection.inumbo.net>)
 id 1icYpA-0007ua-6Z
 for minios-devel@lists.xenproject.org; Wed, 04 Dec 2019 17:52:28 +0000
X-Inumbo-ID: d360047a-16be-11ea-8207-12813bfff9fa
Received: from serv108.segi.ulg.ac.be (unknown [139.165.32.111])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id d360047a-16be-11ea-8207-12813bfff9fa;
 Wed, 04 Dec 2019 17:52:23 +0000 (UTC)
Received: from sauron.run.montefiore.ulg.ac.be
 (sauron.run.montefiore.ulg.ac.be [139.165.223.31])
 by serv108.segi.ulg.ac.be (Postfix) with ESMTP id 3B4C4200CCE5;
 Wed,  4 Dec 2019 18:52:23 +0100 (CET)
DKIM-Filter: OpenDKIM Filter v2.11.0 serv108.segi.ulg.ac.be 3B4C4200CCE5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=uliege.be;
 s=ulg20190529; t=1575481943;
 bh=+AZfFV/KyuP0foputgr7iVFQJh71dyZ4zbVcyiE/bwg=;
 h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
 b=ZO+d2dBRH66iAt2IqyYKwgalJOcqlZL3YgS5ghNwIDiVEUnPk1iPOeqw0BiD3Wlxi
 LWlbJ0gqm6U5cvBa9W+i5yVlNjIUyJIifbkxoHiBtp+UcpFr5N9PUOLznGFWg90P9I
 J1jbpkLNE6z1jOS33CKc1p+LIvO5M51xWN8OGZv0ZUhj7wZ5krycREQF6YeJYj/CsI
 25shTH3pnxhmkfYXxhuRsq4ZZ7CKEc5xmvwBZcoX3YTUHhaSvTfLIWlJu1J4fXp9Wn
 0WqWodL6Zi5HnsSkvAtbOq1OhsVyrSz5L9PE7OXoUX2OsGn1LMhWKqVu1c5V2hu3LR
 Tg0RvAMTuJ1ww==
Received: by sauron.run.montefiore.ulg.ac.be (Postfix, from userid 1000)
 id 3470FC00BA; Wed,  4 Dec 2019 18:52:23 +0100 (CET)
From: Gaulthier Gain <gaulthier.gain@uliege.be>
To: minios-devel@lists.xenproject.org
Date: Wed,  4 Dec 2019 18:52:12 +0100
Message-Id: <20191204175216.31249-2-gaulthier.gain@uliege.be>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191204175216.31249-1-gaulthier.gain@uliege.be>
References: <20191204175216.31249-1-gaulthier.gain@uliege.be>
Subject: [Minios-devel] [UNIKRAFT/SQLITE V3 PATCH 1/5] Introduce library
 skeleton
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: felipe.huici@neclab.eu, Gaulthier Gain <gaulthier.gain@uliege.be>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

V2UgdXNlIHRoZSBCU0QtMy1DbGF1c2UgbGljZW5zZSBmb3IgdGhpcyBsaWJyYXJ5IGdsdWUgY29k
ZS4KClNpZ25lZC1vZmYtYnk6IEdhdWx0aGllciBHYWluIDxnYXVsdGhpZXIuZ2FpbkB1bGllZ2Uu
YmU+Ci0tLQogLmdpdGlnbm9yZSAgICAgIHwgMjcgKysrKysrKysrKysrKysrKysrKysrKysrKysr
CiBDT0RJTkdfU1RZTEUubWQgfCAgNCArKysrCiBDT05UUklCVVRJTkcubWQgfCAgNCArKysrCiBD
T1BZSU5HLm1kICAgICAgfCAzOCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KwogQ29uZmlnLnVrICAgICAgIHwgMTQgKysrKysrKysrKysrKysKIE1BSU5UQUlORVJTLm1kICB8
IDExICsrKysrKysrKysrCiBSRUFETUUubWQgICAgICAgfCAyMyArKysrKysrKysrKysrKysrKysr
KysrKwogNyBmaWxlcyBjaGFuZ2VkLCAxMjEgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAw
NjQ0IC5naXRpZ25vcmUKIGNyZWF0ZSBtb2RlIDEwMDY0NCBDT0RJTkdfU1RZTEUubWQKIGNyZWF0
ZSBtb2RlIDEwMDY0NCBDT05UUklCVVRJTkcubWQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBDT1BZSU5H
Lm1kCiBjcmVhdGUgbW9kZSAxMDA2NDQgQ29uZmlnLnVrCiBjcmVhdGUgbW9kZSAxMDA2NDQgTUFJ
TlRBSU5FUlMubWQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBSRUFETUUubWQKCmRpZmYgLS1naXQgYS8u
Z2l0aWdub3JlIGIvLmdpdGlnbm9yZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li43NWQyZmQzCi0tLSAvZGV2L251bGwKKysrIGIvLmdpdGlnbm9yZQpAQCAtMCwwICsxLDI3IEBA
CisqLmRlcGVuZAorKi5vCisqLmEKKyouZAorKi5zbworKi5vcmlnCisqLnJlagorKi5iYWsKKyou
c3dwCisqfgorLCoKK1wjKlwjCisuXCMqCitcI18qXCMKKy5cI18qCishLmdpdGlnbm9yZQorLioK
KworIyBnbnUgZ2xvYmFsIGZpbGVzCitHUEFUSAorR1JUQUdTCitHU1lNUworR1RBR1MKKworIyBj
c2NvcGUgZmlsZXMKK2NzY29wZS4qCituY3Njb3BlLioKZGlmZiAtLWdpdCBhL0NPRElOR19TVFlM
RS5tZCBiL0NPRElOR19TVFlMRS5tZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li41NzMwMDQxCi0tLSAvZGV2L251bGwKKysrIGIvQ09ESU5HX1NUWUxFLm1kCkBAIC0wLDAgKzEs
NCBAQAorQ29kaW5nIFN0eWxlCis9PT09PT09PT09PT0KKworUGxlYXNlIHJlZmVyIHRvIHRoZSBg
Q09ESU5HX1NUWUxFLm1kYCBmaWxlIGluIHRoZSBtYWluIFVuaWtyYWZ0IHJlcG9zaXRvcnkuCmRp
ZmYgLS1naXQgYS9DT05UUklCVVRJTkcubWQgYi9DT05UUklCVVRJTkcubWQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTRmNmFjNgotLS0gL2Rldi9udWxsCisrKyBiL0NPTlRS
SUJVVElORy5tZApAQCAtMCwwICsxLDQgQEAKK0NvbnRyaWJ1dGluZyB0byBVbmlrcmFmdAorPT09
PT09PT09PT09PT09PT09PT09PT09CisKK1BsZWFzZSByZWZlciB0byB0aGUgYENPTlRSSUJVVElO
Ry5tZGAgZmlsZSBpbiB0aGUgbWFpbiBVbmlrcmFmdCByZXBvc2l0b3J5LgpkaWZmIC0tZ2l0IGEv
Q09QWUlORy5tZCBiL0NPUFlJTkcubWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uOTBhZjk1MgotLS0gL2Rldi9udWxsCisrKyBiL0NPUFlJTkcubWQKQEAgLTAsMCArMSwzOCBA
QAorTGljZW5zZQorPT09PT09PQorCitVbmlrcmFmdCBTUUxpdGUgd3JhcHBlcnMKKy0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworVGhpcyByZXBvc2l0b3J5IGNvbnRhaW5zIHdy
YXBwZXIgY29kZSB0byBidWlsZCBTUUxpdGUgd2l0aCBVbmlrcmFmdC4KK0VhY2ggQyBjb2RlIGZp
bGUgaW4gdGhpcyByZXBvc2l0b3J5IHNob3VsZCBkZWNsYXJlIHdobyBpcyB0aGUKK2NvcHlyaWdo
dCBvd25lciBhbmQgdW5kZXIgd2hpY2ggdGVybXMgYW5kIGNvbmRpdGlvbnMgdGhlIGNvZGUgaXMK
K2xpY2Vuc2VkLiBJZiBzdWNoIGEgbGljZW5jZSBub3RlIGlzIG1pc3NpbmcsIHRoZSBmb2xsb3dp
bmcgY29weXJpZ2h0Citub3RpY2Ugd2lsbCBhcHBseToKKworCUNvcHlyaWdodCAoYykgWWVhciwg
SW5zdGl0dXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisKKwlSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKwltb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKwlhcmUgbWV0OgorCisJMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKwkgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisJMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKwkgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisJICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKwkzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBj
b3B5cmlnaHQgaG9sZGVyIG5vciB0aGUgbmFtZXMgb2YgaXRzCisJICAgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKwkg
ICB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorCisJVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiCisJQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorCUlNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFCisJQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQg
SE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRQorCUxJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKwlDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorCVNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworCUlOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisJQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKwlBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRQorCVBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgpkaWZmIC0tZ2l0IGEvQ29u
ZmlnLnVrIGIvQ29uZmlnLnVrCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ3
ZTYxM2YKLS0tIC9kZXYvbnVsbAorKysgYi9Db25maWcudWsKQEAgLTAsMCArMSwxNCBAQAorIyMj
IEludmlzaWJsZSBvcHRpb24gZm9yIGRlcGVuZGVuY2llcworbWVudWNvbmZpZyBMSUJTUUxJVEUK
KyAgICBib29sICJTUUxpdGUiCisgICAgZGVmYXVsdCB5CisgICAgc2VsZWN0IExJQlVLTU1BUAor
ICAgIHNlbGVjdCBVS1NZU0lORk8KKyAgICBzZWxlY3QgTElCTkVXTElCQworICAgIHNlbGVjdCBM
SUJQVEhSRUFEX0VNQkVEREVECisKK2lmIExJQlNRTElURQorY29uZmlnIExJQlNRTElURV9NQUlO
X0ZVTkNUSU9OCisgICAgYm9vbCAiUHJvdmlkZSBtYWluIGZ1bmN0aW9uIgorICAgIGRlZmF1bHQg
eQorZW5kaWYKZGlmZiAtLWdpdCBhL01BSU5UQUlORVJTLm1kIGIvTUFJTlRBSU5FUlMubWQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2MxM2VkOQotLS0gL2Rldi9udWxsCisr
KyBiL01BSU5UQUlORVJTLm1kCkBAIC0wLDAgKzEsMTEgQEAKK01haW50YWluZXJzIExpc3QKKz09
PT09PT09PT09PT09PT0KKworRm9yIG5vdGVzIG9uIGhvdyB0byByZWFkIHRoaXMgaW5mb3JtYXRp
b24sIHBsZWFzZSByZWZlciB0byBgTUFJTlRBSU5FUlMubWRgIGluCit0aGUgbWFpbiBVbmlrcmFm
dCByZXBvc2l0b3J5LgorCisJTElCU1FMSVRFLVVOSUtSQUZUCisJTTogIEdhdWx0aGllciBHYWlu
IDxnYXVsdGhpZXIuZ2FpbkB1bGllZ2UuYmU+CisJTTogIEZlbGlwZSBIdWljaSA8ZmVsaXBlLmh1
aWNpQG5lY2xhYi5ldT4KKwlMOiAgbWluaW9zLWRldmVsQGxpc3RzLnhlbi5vcmcKKwlGOiAqCmRp
ZmYgLS1naXQgYS9SRUFETUUubWQgYi9SRUFETUUubWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uOWQ3YzU1YwotLS0gL2Rldi9udWxsCisrKyBiL1JFQURNRS5tZApAQCAtMCww
ICsxLDIzIEBACitTUUxpdGUgZm9yIFVuaWtyYWZ0Cis9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQorCitUaGlzIGlzIHRoZSBwb3J0IG9mIFNRTGl0ZSBmb3IgVW5pa3JhZnQgYXMgZXh0ZXJu
YWwgbGlicmFyeS4gQnkKK2RlZmF1bHQsIHRoZSBTUUxpdGUgc2hlbGwgaXMgbGF1bmNoZWQuIFlv
dSBjYW4gbW9kaWZ5IHRoaXMgYmVoYXZpb3VyCitieSB1cGRhdGluZyB0aGUgYG1haW4oKWAgZnVu
Y3Rpb24gcHJvdmlkZWQgaW4gdGhlIFNRTGl0ZSBnbHVlIGNvZGUuCisKKyMjIEJ1aWxkCitTUUxp
dGUgZGVwZW5kcyBvbiB0aGUgZm9sbG93aW5nIGxpYnJhcmllcywgdGhhdCBuZWVkIHRvIGJlIGFk
ZGVkIHRvCitgTWFrZWZpbGVgIGluIHRoaXMgb3JkZXI6CisKKyogYHB0aHJlYWRzYCwgZS5nLiBg
cHRocmVhZC1lbWJlZGRlZGAKKyogYGxpYmNgLCBlLmcuIGBuZXdsaWJgCisKKyMjIFJvb3QgZmls
ZXN5c3RlbQorCitUbyBpbXBvcnQvZXhwb3J0IGRhdGFiYXNlcyBhbmQvb3IgY3N2IGZpbGVzLCBp
dCBpcyBuZWNlc3NhcnkgdG8gaGF2ZQorYSBmaWxlc3lzdGVtLiBUaGUgc3RlcHMgZm9yIGNyZWF0
aW5nIGFuZCB1c2luZyBhIGZpbGVzeXN0ZW0gYXJlIHRoZQorc2FtZSBhcyB0aGUgb25lcyB1c2Vk
IGZvciBbbmdpbnhdKGh0dHBzOi8vZ2l0aHViLmNvbS91bmlrcmFmdC9saWItbmdpbngvYmxvYi9z
dGFnaW5nL1JFQURNRS5tZCkuCisKKyMjIEZ1cnRoZXIgaW5mb3JtYXRpb24KK1BsZWFzZSByZWZl
ciB0byB0aGUgYFJFQURNRS5tZGAgYXMgd2VsbCBhcyB0aGUgZG9jdW1lbnRhdGlvbiBpbiB0aGUK
K2Bkb2MvYCBzdWJkaXJlY3Rvcnkgb2YgdGhlIG1haW4gdW5pa3JhZnQgcmVwb3NpdG9yeS4KLS0g
CjIuMTEuMAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
Ck1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qu
b3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3Mt
ZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Wed Dec 04 17:52:35 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 04 Dec 2019 17:52:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1icYpH-0007vY-3Z; Wed, 04 Dec 2019 17:52:35 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=WP1f=Z2=sauron.run.montefiore.ulg.ac.be=gain@srs-us1.protection.inumbo.net>)
 id 1icYpF-0007vH-6e
 for minios-devel@lists.xenproject.org; Wed, 04 Dec 2019 17:52:33 +0000
X-Inumbo-ID: d46d4529-16be-11ea-8207-12813bfff9fa
Received: from serv108.segi.ulg.ac.be (unknown [139.165.32.111])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id d46d4529-16be-11ea-8207-12813bfff9fa;
 Wed, 04 Dec 2019 17:52:26 +0000 (UTC)
Received: from sauron.run.montefiore.ulg.ac.be
 (sauron.run.montefiore.ulg.ac.be [139.165.223.31])
 by serv108.segi.ulg.ac.be (Postfix) with ESMTP id 00AB0200CD02;
 Wed,  4 Dec 2019 18:52:26 +0100 (CET)
DKIM-Filter: OpenDKIM Filter v2.11.0 serv108.segi.ulg.ac.be 00AB0200CD02
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=uliege.be;
 s=ulg20190529; t=1575481946;
 bh=n0YQ7E3Pv/0+lHBS4iW6/zgahSU46G7d4pmztIqwLYo=;
 h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
 b=hbO/KIT0wr8I4xvnrn8h2z5EdiUoUWNhnyDtnjdOeJmnqfqLnA4WWpf7d8mK8sY1j
 75Lb2cdkwQBP0dNzIhhF++1fWq/XOZCr+mp0pRtWOaYDC+KROlvAmwMKF/ZTQjUrra
 erH0C7KImj9tn9IAZzZo0WOAIRmbkY/DOXcdXjFJoW9rURnNBV+w1nX8a2Oc/MfH/e
 SicYT7S0RQ6TsH5KWHmHXVNCqcNeOHj5HDzg03s4AjqLKCXCQYrJvwvXsmsjoZNE+9
 J++IWaiwUkc9jmC5BXw/jiQCkRhjqfhenqqL7RQdFBS2MMrptLMynPm8/u3Ocj1kKj
 b49N9k9s9ZRpg==
Received: by sauron.run.montefiore.ulg.ac.be (Postfix, from userid 1000)
 id CEBCCC00BA; Wed,  4 Dec 2019 18:52:25 +0100 (CET)
From: Gaulthier Gain <gaulthier.gain@uliege.be>
To: minios-devel@lists.xenproject.org
Date: Wed,  4 Dec 2019 18:52:13 +0100
Message-Id: <20191204175216.31249-3-gaulthier.gain@uliege.be>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191204175216.31249-1-gaulthier.gain@uliege.be>
References: <20191204175216.31249-1-gaulthier.gain@uliege.be>
Subject: [Minios-devel] [UNIKRAFT/SQLITE V3 PATCH 2/5] Add Makefile.uk
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: felipe.huici@neclab.eu, Gaulthier Gain <gaulthier.gain@uliege.be>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

QWRkIFNRTGl0ZSBwb3J0IE1ha2VmaWxlLnVrLgoKU2lnbmVkLW9mZi1ieTogR2F1bHRoaWVyIEdh
aW4gPGdhdWx0aGllci5nYWluQHVsaWVnZS5iZT4KLS0tCiBNYWtlZmlsZS51ayB8IDg3ICsrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysK
IDEgZmlsZSBjaGFuZ2VkLCA4NyBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgTWFr
ZWZpbGUudWsKCmRpZmYgLS1naXQgYS9NYWtlZmlsZS51ayBiL01ha2VmaWxlLnVrCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjliN2ZhMDYKLS0tIC9kZXYvbnVsbAorKysgYi9N
YWtlZmlsZS51awpAQCAtMCwwICsxLDg3IEBACisjICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjog
QlNELTMtQ2xhdXNlCisjCisjICBTUUxpdGUgTWFrZWZpbGUudWsKKyMKKyMgIEF1dGhvcnM6IEdh
aW4gR2F1bHRoaWVyIDxnYXVsdGhpZXIuZ2FpbkB1bGllZ2UuYmU+CisjCisjICBDb3B5cmlnaHQg
KGMpIDIwMTksIFVuaXZlcnNpdHkgb2YgTGllZ2UuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisj
ICBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyMgIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworIyAgYXJlIG1ldDoKKyMKKyMgIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisj
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisjICAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyMgIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIGNvcHlyaWdodCBob2xkZXIgbm9y
IHRoZSBuYW1lcyBvZiBpdHMKKyMgICAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisjICAgICB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorIworIyAgVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUyAiQVMgSVMiCisjICBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisjICBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQor
IyAgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVS
IE9SIENPTlRSSUJVVE9SUyBCRQorIyAgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorIyAgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyMgIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworIyAgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyMgIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisjICBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRQorIyAgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisjCisjICBU
SElTIEhFQURFUiBNQVkgTk9UIEJFIEVYVFJBQ1RFRCBPUiBNT0RJRklFRCBJTiBBTlkgV0FZLgor
IworCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBBcHAgcmVnaXN0cmF0aW9uCisjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIworJChldmFsICQoY2FsbCBhZGRsaWIsbGlic3FsaXRlKSkKKworIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgU291cmNlcworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK
K0xJQlNRTElURV9WRVJTSU9OID0gMzMwMDEwMAorTElCU1FMSVRFX0JBU0VOQU1FID0gc3FsaXRl
LWFtYWxnYW1hdGlvbi0kKExJQlNRTElURV9WRVJTSU9OKQorTElCU1FMSVRFX1VSTCA9IGh0dHBz
Oi8vd3d3LnNxbGl0ZS5vcmcvMjAxOS8kKExJQlNRTElURV9CQVNFTkFNRSkuemlwCitMSUJTUUxJ
VEVfUEFUQ0hESVIgPSAkKExJQlNRTElURV9CQVNFKS9wYXRjaGVzCiskKGV2YWwgJChjYWxsIGZl
dGNoLGxpYnNxbGl0ZSwkKExJQlNRTElURV9VUkwpKSkKKyQoZXZhbCAkKGNhbGwgcGF0Y2gsbGli
c3FsaXRlLCQoTElCU1FMSVRFX1BBVENIRElSKSxzcWxpdGUtYW1hbGdhbWF0aW9uLSQoTElCU1FM
SVRFX1ZFUlNJT04pKSkKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgSGVscGVycworIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMKK0xJQlNRTElURV9TUkMgPSAkKExJQlNRTElURV9PUklHSU4p
LyQoTElCU1FMSVRFX0JBU0VOQU1FKQorCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBMaWJy
YXJ5IGluY2x1ZGVzCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworTElCU1FMSVRFX0NJTkNMVURF
Uy15ICs9IC1JJChMSUJTUUxJVEVfQkFTRSkvaW5jbHVkZQorTElCU1FMSVRFX0NJTkNMVURFUyAr
PSAtSSQoTElCU1FMSVRFX1NSQykKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgR2xvYmFs
IGZsYWdzCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworTElCU1FMSVRFX0ZMQUdTID0gLURfSEFW
RV9TUUxJVEVfQ09ORklHX0ggLURTUUxJVEVfT01JVF9MT0FEX0VYVEVOU0lPTgorCisjIFN1cHBy
ZXNzIHNvbWUgd2FybmluZ3MgdG8gbWFrZSB0aGUgYnVpbGQgcHJvY2VzcyBsb29rIG5lYXRlcgor
TElCU1FMSVRFX1NVUFBSRVNTX0ZMQUdTICs9IC1Xbm8tdW51c2VkLXBhcmFtZXRlciAtV25vLXVu
dXNlZC12YXJpYWJsZQkJXAorLVduby1jYXN0LWZ1bmN0aW9uLXR5cGUgLVduby1jaGFyLXN1YnNj
cmlwdHMgLVdpbXBsaWNpdC1mYWxsdGhyb3VnaD0wCQlcCisKK0xJQlNRTElURV9DRkxBR1MteSAr
PSAkKExJQlNRTElURV9GTEFHUykKK0xJQlNRTElURV9DRkxBR1MteSArPSAkKExJQlNRTElURV9T
VVBQUkVTU19GTEFHUykKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgR2x1ZSBjb2RlCisj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIworTElCU1FMSVRFX1NSQ1MtJChDT05GSUdfTElCU1FMSVRF
X01BSU5fRlVOQ1RJT04pICs9ICQoTElCU1FMSVRFX0JBU0UpL21haW4uYworCisjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIworIyBTUUxpdGUgc291cmNlcworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK
K0xJQlNRTElURV9TUUxJVEVfRkxBR1MteSArPSAtRG1haW49c3FsaXRlX21haW4KKworIyBDb3Jl
CitMSUJTUUxJVEVfU1JDUy15ICs9ICQoTElCU1FMSVRFX1NSQykvc2hlbGwuYworTElCU1FMSVRF
X1NSQ1MteSArPSAkKExJQlNRTElURV9TUkMpL3NxbGl0ZTMuYwotLSAKMi4xMS4wCgoKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1h
aWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0
cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Wed Dec 04 17:52:35 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 04 Dec 2019 17:52:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1icYpH-0007vd-5G; Wed, 04 Dec 2019 17:52:35 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=WP1f=Z2=sauron.run.montefiore.ulg.ac.be=gain@srs-us1.protection.inumbo.net>)
 id 1icYpF-0007vJ-Eo
 for minios-devel@lists.xenproject.org; Wed, 04 Dec 2019 17:52:33 +0000
X-Inumbo-ID: d6659c2a-16be-11ea-a0d2-bc764e2007e4
Received: from serv108.segi.ulg.ac.be (unknown [139.165.32.111])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id d6659c2a-16be-11ea-a0d2-bc764e2007e4;
 Wed, 04 Dec 2019 17:52:29 +0000 (UTC)
Received: from sauron.run.montefiore.ulg.ac.be
 (sauron.run.montefiore.ulg.ac.be [139.165.223.31])
 by serv108.segi.ulg.ac.be (Postfix) with ESMTP id 511AC200CD16;
 Wed,  4 Dec 2019 18:52:28 +0100 (CET)
DKIM-Filter: OpenDKIM Filter v2.11.0 serv108.segi.ulg.ac.be 511AC200CD16
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=uliege.be;
 s=ulg20190529; t=1575481948;
 bh=fJMnAgUF/dWWEJVmmfESzUXMZNNER1fsFirjO8ZkbqM=;
 h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
 b=BN+shKE0cCk5YzC3xSQp8EmuNfyePUY42gXdZiFKPMLniquaU00eQxgloig+4P+af
 QwN1eYVMgcTOgY25IQJYmlPNjfHEMRRkT89luwVVRRd/2Dfg3af2nFSU5DQKbmcjOx
 WINCC7KSV78NeO7zj902oTss6vF9hVVemrmVlgNxTosSr8b+1oS1QZsblKukJtClwJ
 xdUbUyEP92om5f7SkDogyg1reXA8W1WSujXu5SwqcI7KkMifEfQlHS7HOnQeosKljq
 cDRa1B5zsC+gFtQp6qCGiQm1JC1f+1c6nK/3DEVVFZi1BMTInH8LqwKsR3yvv1obNG
 oqTbYmIqzbwfQ==
Received: by sauron.run.montefiore.ulg.ac.be (Postfix, from userid 1000)
 id 3A4C8C00BA; Wed,  4 Dec 2019 18:52:28 +0100 (CET)
From: Gaulthier Gain <gaulthier.gain@uliege.be>
To: minios-devel@lists.xenproject.org
Date: Wed,  4 Dec 2019 18:52:14 +0100
Message-Id: <20191204175216.31249-4-gaulthier.gain@uliege.be>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191204175216.31249-1-gaulthier.gain@uliege.be>
References: <20191204175216.31249-1-gaulthier.gain@uliege.be>
Subject: [Minios-devel] [UNIKRAFT/SQLITE V3 PATCH 3/5] Add optional main()
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: felipe.huici@neclab.eu, Gaulthier Gain <gaulthier.gain@uliege.be>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

V2UgcHJvdmlkZSBhIGdsdWUgbWFpbiBmdW5jdGlvbiB3aGljaCBydW5zIHRoZSBTUUxpdGUgc2hl
bGwgYnkKZGVmYXVsdC4KClNpZ25lZC1vZmYtYnk6IEdhdWx0aGllciBHYWluIDxnYXVsdGhpZXIu
Z2FpbkB1bGllZ2UuYmU+Ci0tLQogbWFpbi5jIHwgNiArKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA2
IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtYWluLmMKCmRpZmYgLS1naXQgYS9t
YWluLmMgYi9tYWluLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzQ4MjJh
MAotLS0gL2Rldi9udWxsCisrKyBiL21haW4uYwpAQCAtMCwwICsxLDYgQEAKK2V4dGVybiBpbnQg
c3FsaXRlX21haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSk7CisKK2ludCBtYWluKGludCBhcmdj
LCBjaGFyICphcmd2W10pCit7CisgICAgcmV0dXJuIHNxbGl0ZV9tYWluKGFyZ2MsIGFyZ3YpOwor
fQotLSAKMi4xMS4wCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJv
amVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21p
bmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Wed Dec 04 17:52:40 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 04 Dec 2019 17:52:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1icYpM-0007x7-6q; Wed, 04 Dec 2019 17:52:40 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=WP1f=Z2=sauron.run.montefiore.ulg.ac.be=gain@srs-us1.protection.inumbo.net>)
 id 1icYpK-0007wg-6k
 for minios-devel@lists.xenproject.org; Wed, 04 Dec 2019 17:52:38 +0000
X-Inumbo-ID: d7a80e10-16be-11ea-8207-12813bfff9fa
Received: from serv108.segi.ulg.ac.be (unknown [139.165.32.111])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id d7a80e10-16be-11ea-8207-12813bfff9fa;
 Wed, 04 Dec 2019 17:52:31 +0000 (UTC)
Received: from sauron.run.montefiore.ulg.ac.be
 (sauron.run.montefiore.ulg.ac.be [139.165.223.31])
 by serv108.segi.ulg.ac.be (Postfix) with ESMTP id 65F55200CD13;
 Wed,  4 Dec 2019 18:52:30 +0100 (CET)
DKIM-Filter: OpenDKIM Filter v2.11.0 serv108.segi.ulg.ac.be 65F55200CD13
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=uliege.be;
 s=ulg20190529; t=1575481950;
 bh=xA40u+tD40pMSqIV1GHLqKuS9BVwUegKzpes3AV66ws=;
 h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
 b=ndiZoeZVfDQLcGF46eYUYBUn0m929PN2BD19tWoKPWoLz4Bsx8opKAcOPQqCRoJT5
 2SEQVG3Kptr7LsThHY5BCrcQwQL7hgQYMFbeSyQTJo0HlMwjDek9Rz3+CzDtplbCJy
 d6UXOqQWkmjdaNa7kiAJJybBYDXo6oXJutJGZxc8KxBWwH3nqmzT4UKBglTn/uKDNq
 1elOeddqrLH6PQHAtNL7swuGSEYCQ/xQBL7jvtCSN2tTuSt4FvgTwoVX1k3rW6P+zw
 bJoIgbVEH48tMmXI1YgYDpHMoOHYj43KA9sO6x5E710pO6Ver8tyhMOKlCB9mEk9gc
 jLcPVzVso5j0A==
Received: by sauron.run.montefiore.ulg.ac.be (Postfix, from userid 1000)
 id 5F653C00BA; Wed,  4 Dec 2019 18:52:30 +0100 (CET)
From: Gaulthier Gain <gaulthier.gain@uliege.be>
To: minios-devel@lists.xenproject.org
Date: Wed,  4 Dec 2019 18:52:15 +0100
Message-Id: <20191204175216.31249-5-gaulthier.gain@uliege.be>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191204175216.31249-1-gaulthier.gain@uliege.be>
References: <20191204175216.31249-1-gaulthier.gain@uliege.be>
Subject: [Minios-devel] [UNIKRAFT/SQLITE V3 PATCH 4/5] Add patches directory
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: felipe.huici@neclab.eu, Gaulthier Gain <gaulthier.gain@uliege.be>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

UGF0Y2ggdG8gcmVuYW1lIFNRTGl0ZSBtYWluIGZ1bmN0aW9uIGluIG9yZGVyIHRvIHByb3ZpZGUg
YW4gb3B0aW9uYWwKZ2x1ZSBtYWluIGZ1bmN0aW9uLgoKU2lnbmVkLW9mZi1ieTogR2F1bHRoaWVy
IEdhaW4gPGdhdWx0aGllci5nYWluQHVsaWVnZS5iZT4KLS0tCiBwYXRjaGVzLzAwMDEtcmVuYW1l
LWVudHJ5LXBvaW50LnBhdGNoIHwgMjggKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMSBm
aWxlIGNoYW5nZWQsIDI4IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBwYXRjaGVz
LzAwMDEtcmVuYW1lLWVudHJ5LXBvaW50LnBhdGNoCgpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy8wMDAx
LXJlbmFtZS1lbnRyeS1wb2ludC5wYXRjaCBiL3BhdGNoZXMvMDAwMS1yZW5hbWUtZW50cnktcG9p
bnQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjUxNjEwOQotLS0g
L2Rldi9udWxsCisrKyBiL3BhdGNoZXMvMDAwMS1yZW5hbWUtZW50cnktcG9pbnQucGF0Y2gKQEAg
LTAsMCArMSwyOCBAQAorRnJvbSBkOTY3ZjRjNDg3Mzg2YzQ4ZjBhODZkZmE2YThmMmEzNjI4YTky
ODBhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogR2F1bHRoaWVyIEdhaW4gPGdhdWx0
aGllci5nYWluQHVsaWVnZS5iZT4KK0RhdGU6IE1vbiwgMiBEZWMgMjAxOSAxNjo1NjoxMCArMDEw
MAorU3ViamVjdDogW0xJQlNRTElURV0gW1BBVENIXSBSZW5hbWUgbWFpbiBmdW5jdGlvbiB0byBz
cWxpdGVfbWFpbgorCitTaWduZWQtb2ZmLWJ5OiBHYXVsdGhpZXIgR2FpbiA8Z2F1bHRoaWVyLmdh
aW5AdWxpZWdlLmJlPgorLS0tCisgc2hlbGwuYyB8IDQgKystLQorIDEgZmlsZSBjaGFuZ2VkLCAy
IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zaGVsbC5jIGIv
c2hlbGwuYworaW5kZXggMDUzMTgwYy4uM2ZlMDYxOCAxMDA2NDQKKy0tLSBhL3NoZWxsLmMKKysr
KyBiL3NoZWxsLmMKK0BAIC0xODU5OSw5ICsxODU5OSw5IEBAIHN0YXRpYyBjaGFyICpjbWRsaW5l
X29wdGlvbl92YWx1ZShpbnQgYXJnYywgY2hhciAqKmFyZ3YsIGludCBpKXsKKyAjZW5kaWYKKwor
ICNpZiBTUUxJVEVfU0hFTExfSVNfVVRGOAorLWludCBTUUxJVEVfQ0RFQ0wgbWFpbihpbnQgYXJn
YywgY2hhciAqKmFyZ3YpeworK2ludCBTUUxJVEVfQ0RFQ0wgc3FsaXRlX21haW4oaW50IGFyZ2Ms
IGNoYXIgKiphcmd2KXsKKyAjZWxzZQorLWludCBTUUxJVEVfQ0RFQ0wgd21haW4oaW50IGFyZ2Ms
IHdjaGFyX3QgKip3YXJndil7CisraW50IFNRTElURV9DREVDTCBzcWxpdGVfbWFpbihpbnQgYXJn
Yywgd2NoYXJfdCAqKndhcmd2KXsKKyAgIGNoYXIgKiphcmd2OworICNlbmRpZgorICAgY2hhciAq
ekVyck1zZyA9IDA7CistLQorMi4xMS4wCi0tIAoyLjExLjAKCgpfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1p
bmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qu
b3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Wed Dec 04 17:52:40 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 04 Dec 2019 17:52:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1icYpM-0007xD-8U; Wed, 04 Dec 2019 17:52:40 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=WP1f=Z2=sauron.run.montefiore.ulg.ac.be=gain@srs-us1.protection.inumbo.net>)
 id 1icYpK-0007wj-BY
 for minios-devel@lists.xenproject.org; Wed, 04 Dec 2019 17:52:38 +0000
X-Inumbo-ID: d8f31c06-16be-11ea-aea8-bc764e2007e4
Received: from serv108.segi.ulg.ac.be (unknown [139.165.32.111])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id d8f31c06-16be-11ea-aea8-bc764e2007e4;
 Wed, 04 Dec 2019 17:52:33 +0000 (UTC)
Received: from sauron.run.montefiore.ulg.ac.be
 (sauron.run.montefiore.ulg.ac.be [139.165.223.31])
 by serv108.segi.ulg.ac.be (Postfix) with ESMTP id 961D1200CD1D;
 Wed,  4 Dec 2019 18:52:32 +0100 (CET)
DKIM-Filter: OpenDKIM Filter v2.11.0 serv108.segi.ulg.ac.be 961D1200CD1D
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=uliege.be;
 s=ulg20190529; t=1575481952;
 bh=hFfcNEyLkXfOPQYJp2gubHuy9DAG/Q0JSfbrtoDitrU=;
 h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
 b=GFvgwzo/HXl4i/fzDyGRroJ8+7cjizb4yDUYEDXeBaluyAFYb6RFx45j1D7qP5XU3
 F3ncsAUVQo9V0TkACr2TA8eGNEyd9pB18ELe7zNJlxHSIqagH0eR87QxTK7ans9Fk1
 1BgxUedznqafB2xh+dYquB5rnSgKBM2P2Amt2qPxjTav6Tu9YzhRqh6cSkFqFTvgZB
 YJKanlKdiKi82VGXGr/bctNuYWBrWA1XBSCgwkvCFFtwnAtAYGKOjcQP+zAUeSXrDM
 nY+oQxkLX3eA9MIPkbhYuKnDy7yuXQ9wPMn/XY3G1YzeqqSdUI2zxm3VN5I3EDJBv/
 b3EqJdB7JtAmA==
Received: by sauron.run.montefiore.ulg.ac.be (Postfix, from userid 1000)
 id 8F3C0C00BA; Wed,  4 Dec 2019 18:52:32 +0100 (CET)
From: Gaulthier Gain <gaulthier.gain@uliege.be>
To: minios-devel@lists.xenproject.org
Date: Wed,  4 Dec 2019 18:52:16 +0100
Message-Id: <20191204175216.31249-6-gaulthier.gain@uliege.be>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191204175216.31249-1-gaulthier.gain@uliege.be>
References: <20191204175216.31249-1-gaulthier.gain@uliege.be>
Subject: [Minios-devel] [UNIKRAFT/SQLITE V3 PATCH 5/5] Add config.h in
 include folder
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: felipe.huici@neclab.eu, Gaulthier Gain <gaulthier.gain@uliege.be>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhpcyBmaWxlIGNvbnRhaW5zIFNRTGl0ZSBjb25maWd1cmF0aW9uLiBUaG9zZSBhcmUgdmFsdWVz
L29wdGlvbnMKZ2VuZXJhdGVkIGJ5IGNvbmZpZ3VyZSBhbmQgYXJlIHVwZGF0ZWQgdG8gc3VwcG9y
dCBVbmlrcmFmdC4KClNpZ25lZC1vZmYtYnk6IEdhdWx0aGllciBHYWluIDxnYXVsdGhpZXIuZ2Fp
bkB1bGllZ2UuYmU+Ci0tLQogaW5jbHVkZS9jb25maWcuaCB8IDM1ICsrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgMzUgaW5zZXJ0aW9ucygrKQogY3Jl
YXRlIG1vZGUgMTAwNjQ0IGluY2x1ZGUvY29uZmlnLmgKCmRpZmYgLS1naXQgYS9pbmNsdWRlL2Nv
bmZpZy5oIGIvaW5jbHVkZS9jb25maWcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi45OGQ4MWIzCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9jb25maWcuaApAQCAtMCww
ICsxLDM1IEBACisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGdtdGltZV9yJyBmdW5j
dGlvbi4gKi8KKyNkZWZpbmUgSEFWRV9HTVRJTUVfUiAxCisKKy8qIERlZmluZSB0byAxIGlmIHRo
ZSBzeXN0ZW0gaGFzIHRoZSB0eXBlIGBpbnQxNl90Jy4gKi8KKyNkZWZpbmUgSEFWRV9JTlQxNl9U
IDEKKworLyogRGVmaW5lIHRvIDEgaWYgdGhlIHN5c3RlbSBoYXMgdGhlIHR5cGUgYGludDMyX3Qn
LiAqLworI2RlZmluZSBIQVZFX0lOVDMyX1QgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB0aGUgc3lz
dGVtIGhhcyB0aGUgdHlwZSBgaW50NjRfdCcuICovCisjZGVmaW5lIEhBVkVfSU5UNjRfVCAxCisK
Ky8qIERlZmluZSB0byAxIGlmIHRoZSBzeXN0ZW0gaGFzIHRoZSB0eXBlIGBpbnQ4X3QnLiAqLwor
I2RlZmluZSBIQVZFX0lOVDhfVCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8
aW50dHlwZXMuaD4gaGVhZGVyIGZpbGUuICovCisjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCisK
Ky8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgbG9jYWx0aW1lX3InIGZ1bmN0aW9uLiAq
LworI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKKworLyogRGVmaW5lIHRvIDEgaWYgdGhlIHN5
c3RlbSBoYXMgdGhlIHR5cGUgYHVpbnQxNl90Jy4gKi8KKyNkZWZpbmUgSEFWRV9VSU5UMTZfVCAx
CisKKy8qIERlZmluZSB0byAxIGlmIHRoZSBzeXN0ZW0gaGFzIHRoZSB0eXBlIGB1aW50MzJfdCcu
ICovCisjZGVmaW5lIEhBVkVfVUlOVDMyX1QgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB0aGUgc3lz
dGVtIGhhcyB0aGUgdHlwZSBgdWludDY0X3QnLiAqLworI2RlZmluZSBIQVZFX1VJTlQ2NF9UIDEK
KworLyogRGVmaW5lIHRvIDEgaWYgdGhlIHN5c3RlbSBoYXMgdGhlIHR5cGUgYHVpbnQ4X3QnLiAq
LworI2RlZmluZSBIQVZFX1VJTlQ4X1QgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0
aGUgYHVzbGVlcCcgZnVuY3Rpb24uICovCisjZGVmaW5lIEhBVkVfVVNMRUVQIDEKLS0gCjIuMTEu
MAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlv
cy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0
dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Wed Dec 04 18:13:04 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 04 Dec 2019 18:13:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1icZ95-0001dj-A6; Wed, 04 Dec 2019 18:13:03 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=/zTp=Z2=gmail.com=costin.lup@srs-us1.protection.inumbo.net>)
 id 1icZ94-0001de-1D
 for minios-devel@lists.xenproject.org; Wed, 04 Dec 2019 18:13:02 +0000
X-Inumbo-ID: b4e6c1a2-16c1-11ea-99dd-bc764e2007e4
Received: from mail-wr1-x443.google.com (unknown [2a00:1450:4864:20::443])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id b4e6c1a2-16c1-11ea-99dd-bc764e2007e4;
 Wed, 04 Dec 2019 18:13:01 +0000 (UTC)
Received: by mail-wr1-x443.google.com with SMTP id g17so355213wro.2
 for <minios-devel@lists.xenproject.org>; Wed, 04 Dec 2019 10:13:01 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=subject:to:cc:references:from:message-id:date:user-agent
 :mime-version:in-reply-to:content-language:content-transfer-encoding;
 bh=hLFa/VFIrIz57LJKQz7C74U5EVx4iD8MzFIo6o0HurU=;
 b=ls806J7NByXA4K/K8E0L7gLv5khP3HGy6RD4QexXMsdKYJemXXoqfykes/e9qrjXIG
 h6Hu2MUFcFvPGBjynD0B2L5k6qegK0o9uI1RbGzbFishPKPwIlvu2QJsskamHSy1+aB0
 oas6y1BSvsX6WjIXfkCIkRPZbHuCKnK0ur8DovPFDzwTMAsRVYQWc/mDz9d+TavHK2Q0
 8Oo3A/3w2kVzHyF8j2BA+Sc07mNsCD/xvBlGKoTHiLg0Cv/ag7apr1oKKuKjSs0eZzOU
 W7ICkDizUFvA1KV36RBpMj10DnRtrvtUK4QNl9IUVaMYu1msXlGwcM4u11HAgCnBsf8t
 ZB3g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:subject:to:cc:references:from:message-id:date
 :user-agent:mime-version:in-reply-to:content-language
 :content-transfer-encoding;
 bh=hLFa/VFIrIz57LJKQz7C74U5EVx4iD8MzFIo6o0HurU=;
 b=RXLF2nzn1SxJ+IxPa53+Xo2l8TxHx02yH71/1GTU9hRC+46/4NIsp/pcfOtCY4CmLb
 mUeRvvaFsFJKAND/LvgJbRw07cd7UgYSTPt0PU5jaHQDMEa8DVdMvnnvoCPpWCIZTNXB
 08ovFMQTXit2wH/hZ0FHD6JXDjNUTOqjQ9Ngt3w7zvuK4/900Dq7+zkZ/Z4qNBvJyUTV
 9LwSGUIW2YeCBjSq8upgZHunEU/iSpKtDn4J0XCq/Is8TwxJwX10TaxWU5LoY6WM4G/z
 1NjQWtsC4g3rDX2hMrk1DGroajHi+OT4Vcfg8lNpdE8YFw40dZ9FvpAaJewk/t/mv7DO
 uFGA==
X-Gm-Message-State: APjAAAUnc3T3wJtu06CMWCgdGYujytJ//pt5w24DV3SuTqWqBeMQumAq
 Itxbt392u+TItpQR9u1j/u8=
X-Google-Smtp-Source: APXvYqyC37ZruKrh9mijLee9+QAX2Wc713vAEnQGaK9r1b90v2g48c/lPWI0lNxd6fNFeiztwPSQbQ==
X-Received: by 2002:adf:fd84:: with SMTP id d4mr5572760wrr.211.1575483180444; 
 Wed, 04 Dec 2019 10:13:00 -0800 (PST)
Received: from [192.168.1.103] ([86.121.174.20])
 by smtp.gmail.com with ESMTPSA id p9sm8972584wrs.55.2019.12.04.10.12.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 04 Dec 2019 10:13:00 -0800 (PST)
To: Gaulthier Gain <gaulthier.gain@uliege.be>,
 minios-devel@lists.xenproject.org
References: <20191204175216.31249-1-gaulthier.gain@uliege.be>
 <20191204175216.31249-5-gaulthier.gain@uliege.be>
From: Costin Lupu <costin.lup@gmail.com>
Message-ID: <58025ce7-f8e0-c9a3-5635-e79822d63d99@gmail.com>
Date: Wed, 4 Dec 2019 20:12:58 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.2.2
MIME-Version: 1.0
In-Reply-To: <20191204175216.31249-5-gaulthier.gain@uliege.be>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT/SQLITE V3 PATCH 4/5] Add patches
 directory
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: felipe.huici@neclab.eu
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgR2F1bHRoaWVyLAoKSW5zdGVhZCBvZiBwYXRjaGluZyB0aGUgb3JpZ2luYWwgY29kZSwgd2Ug
dXNlZCBhbm90aGVyIHRyaWNrIHNvIGZhci4gV2UKdXNlZCB0aGUgQyBwcmVwcm9jZXNzb3IgaW4g
b3JkZXIgdG8gcmVwbGFjZSBgbWFpbmAgd2l0aCB0aGUgbmV3IG5hbWUKKHBsZWFzZSBoYXZlIGEg
bG9vayBoZXJlIFsxXSkuCgpTbywgaW4geW91ciBjYXNlIHlvdSB3b3VsZCBuZWVkIHRvIGFkZCBp
biBNYWtlZmlsZS51azoKCkxJQlNRTElURV9TSEVMTF9GTEFHUy15ICs9IC1EbWFpbj1zcWxpdGVf
bWFpbgoKSSB3b3VsZCBub3QgcmVuYW1lIHRoZSBgd21haW4oKWAgZnVuY3Rpb24gdGhvdWdoLCBJ
IHdvdWxkIGNhbGwgaXQgZnJvbQp5b3VyIG1haW4oKSBleGFtcGxlIChwbGVhc2Ugc2VlIHRoZSBj
b21tZW50cyBmb3IgcGF0Y2ggMykuCgpbMV0gaHR0cHM6Ly9naXRodWIuY29tL3VuaWtyYWZ0L2xp
Yi1yZWRpcy9ibG9iL3N0YWdpbmcvTWFrZWZpbGUudWsjTDIxMAoKCkNoZWVycywKQ29zdGluCgpP
biAxMi80LzE5IDc6NTIgUE0sIEdhdWx0aGllciBHYWluIHdyb3RlOgo+IFBhdGNoIHRvIHJlbmFt
ZSBTUUxpdGUgbWFpbiBmdW5jdGlvbiBpbiBvcmRlciB0byBwcm92aWRlIGFuIG9wdGlvbmFsCj4g
Z2x1ZSBtYWluIGZ1bmN0aW9uLgo+IAo+IFNpZ25lZC1vZmYtYnk6IEdhdWx0aGllciBHYWluIDxn
YXVsdGhpZXIuZ2FpbkB1bGllZ2UuYmU+Cj4gLS0tCj4gIHBhdGNoZXMvMDAwMS1yZW5hbWUtZW50
cnktcG9pbnQucGF0Y2ggfCAyOCArKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gIDEgZmls
ZSBjaGFuZ2VkLCAyOCBpbnNlcnRpb25zKCspCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBwYXRjaGVz
LzAwMDEtcmVuYW1lLWVudHJ5LXBvaW50LnBhdGNoCj4gCj4gZGlmZiAtLWdpdCBhL3BhdGNoZXMv
MDAwMS1yZW5hbWUtZW50cnktcG9pbnQucGF0Y2ggYi9wYXRjaGVzLzAwMDEtcmVuYW1lLWVudHJ5
LXBvaW50LnBhdGNoCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi4yNTE2
MTA5Cj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL3BhdGNoZXMvMDAwMS1yZW5hbWUtZW50cnktcG9p
bnQucGF0Y2gKPiBAQCAtMCwwICsxLDI4IEBACj4gK0Zyb20gZDk2N2Y0YzQ4NzM4NmM0OGYwYTg2
ZGZhNmE4ZjJhMzYyOGE5MjgwYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKPiArRnJvbTogR2F1
bHRoaWVyIEdhaW4gPGdhdWx0aGllci5nYWluQHVsaWVnZS5iZT4KPiArRGF0ZTogTW9uLCAyIERl
YyAyMDE5IDE2OjU2OjEwICswMTAwCj4gK1N1YmplY3Q6IFtMSUJTUUxJVEVdIFtQQVRDSF0gUmVu
YW1lIG1haW4gZnVuY3Rpb24gdG8gc3FsaXRlX21haW4KPiArCj4gK1NpZ25lZC1vZmYtYnk6IEdh
dWx0aGllciBHYWluIDxnYXVsdGhpZXIuZ2FpbkB1bGllZ2UuYmU+Cj4gKy0tLQo+ICsgc2hlbGwu
YyB8IDQgKystLQo+ICsgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlv
bnMoLSkKPiArCj4gK2RpZmYgLS1naXQgYS9zaGVsbC5jIGIvc2hlbGwuYwo+ICtpbmRleCAwNTMx
ODBjLi4zZmUwNjE4IDEwMDY0NAo+ICstLS0gYS9zaGVsbC5jCj4gKysrKyBiL3NoZWxsLmMKPiAr
QEAgLTE4NTk5LDkgKzE4NTk5LDkgQEAgc3RhdGljIGNoYXIgKmNtZGxpbmVfb3B0aW9uX3ZhbHVl
KGludCBhcmdjLCBjaGFyICoqYXJndiwgaW50IGkpewo+ICsgI2VuZGlmCj4gKwo+ICsgI2lmIFNR
TElURV9TSEVMTF9JU19VVEY4Cj4gKy1pbnQgU1FMSVRFX0NERUNMIG1haW4oaW50IGFyZ2MsIGNo
YXIgKiphcmd2KXsKPiArK2ludCBTUUxJVEVfQ0RFQ0wgc3FsaXRlX21haW4oaW50IGFyZ2MsIGNo
YXIgKiphcmd2KXsKPiArICNlbHNlCj4gKy1pbnQgU1FMSVRFX0NERUNMIHdtYWluKGludCBhcmdj
LCB3Y2hhcl90ICoqd2FyZ3Ypewo+ICsraW50IFNRTElURV9DREVDTCBzcWxpdGVfbWFpbihpbnQg
YXJnYywgd2NoYXJfdCAqKndhcmd2KXsKPiArICAgY2hhciAqKmFyZ3Y7Cj4gKyAjZW5kaWYKPiAr
ICAgY2hhciAqekVyck1zZyA9IDA7Cj4gKy0tCj4gKzIuMTEuMAo+IAoKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlz
dApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9q
ZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Wed Dec 04 18:15:35 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 04 Dec 2019 18:15:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1icZBX-0001gJ-Hs; Wed, 04 Dec 2019 18:15:35 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=/zTp=Z2=gmail.com=costin.lup@srs-us1.protection.inumbo.net>)
 id 1icZBW-0001gE-5B
 for minios-devel@lists.xenproject.org; Wed, 04 Dec 2019 18:15:34 +0000
X-Inumbo-ID: 0fb4fcb6-16c2-11ea-9c09-bc764e2007e4
Received: from mail-wr1-x443.google.com (unknown [2a00:1450:4864:20::443])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 0fb4fcb6-16c2-11ea-9c09-bc764e2007e4;
 Wed, 04 Dec 2019 18:15:33 +0000 (UTC)
Received: by mail-wr1-x443.google.com with SMTP id y17so340855wrh.5
 for <minios-devel@lists.xenproject.org>; Wed, 04 Dec 2019 10:15:33 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=subject:from:to:cc:references:message-id:date:user-agent
 :mime-version:in-reply-to:content-language:content-transfer-encoding;
 bh=KX4CkTS9NtGWisOfy22JxbVG7aDiTHoef4IMYJR9qKc=;
 b=QnKZziz5qpJ25H88BPKe8pHYRseQnxvpDF0FCGwmsnbqaxTxKhsg17045QGUt9k5HH
 VdUsBFx0ef0X7dyujlxsK5uu9somN3TjJh0/URnTCxgGRNJSap4VVZ1xblCoL0JBuOOf
 dp/eMieJHqVn4y+SiNc28STTdkXe7gU7fT/eKqo5lk0unTI0Kvll3UWylPtdJBURb3OW
 cDOd7UPNMYKCJaZnXq/ARb9i2/inOel0Xr44DZMYiqGq1JBbRPIcw1MojBuma/J5ob2Y
 7AginxsnkvqdGk4GZCfxmIIzHlduhT8f/hT0OMcBmvagnVLCYizl/Dmhberu6bZWelih
 nZRA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:subject:from:to:cc:references:message-id:date
 :user-agent:mime-version:in-reply-to:content-language
 :content-transfer-encoding;
 bh=KX4CkTS9NtGWisOfy22JxbVG7aDiTHoef4IMYJR9qKc=;
 b=b9Kkwft/9no2ZrIvK9XE1uhpJpiKzdVcbD+/h4Ij3u0A2ur4ZSOWhPK50av5Uq7A/z
 A0r2DYX2TuKFKMMHerGzTY5z8WuTuLponZNpQcmn2ceVof4uxPLvENPh2e8v2U5/EUN+
 /r9UhRVMapIg3XgDpKK54nMITJvrkNLRhfrzNZ6orhW9BJYKL1SWZ54mePfT0Hd5C1FM
 YQweKgc8EILKraVj27G9/TddQXfcwtozFxT3jZ/Mwu8MtBZTa7NYLZzvOCWJwz/rxrhB
 b2KqHvmft6h0mLz8iNv1j8ARfE5RvcH3CTAvdHnJPm8h0W0d9inzlTBsC3maUEIq/tRH
 f5yg==
X-Gm-Message-State: APjAAAWnG/IjnnTroiZ0btHu1cX40sw2i1bYOYYDzQ0eZwv2CGb2OOPL
 5I0yEs3DW71/ROpSz7aH7qxm++ysOxE=
X-Google-Smtp-Source: APXvYqxcseaQwGZwqWsCG4Xn2sJwQi5p+B8in7caCMKd3PuCSUlX47ak5Aey+nm1pz134Ag7/Rymiw==
X-Received: by 2002:a5d:4b45:: with SMTP id w5mr5862284wrs.224.1575483332825; 
 Wed, 04 Dec 2019 10:15:32 -0800 (PST)
Received: from [192.168.1.103] ([86.121.174.20])
 by smtp.gmail.com with ESMTPSA id h124sm8094192wme.30.2019.12.04.10.15.31
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 04 Dec 2019 10:15:32 -0800 (PST)
From: Costin Lupu <costin.lup@gmail.com>
To: Gaulthier Gain <gaulthier.gain@uliege.be>,
 minios-devel@lists.xenproject.org
References: <20191204175216.31249-1-gaulthier.gain@uliege.be>
 <20191204175216.31249-5-gaulthier.gain@uliege.be>
 <58025ce7-f8e0-c9a3-5635-e79822d63d99@gmail.com>
Message-ID: <c41e499d-9743-95b2-6088-e6316e40612c@gmail.com>
Date: Wed, 4 Dec 2019 20:15:31 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.2.2
MIME-Version: 1.0
In-Reply-To: <58025ce7-f8e0-c9a3-5635-e79822d63d99@gmail.com>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT/SQLITE V3 PATCH 4/5] Add patches
 directory
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: felipe.huici@neclab.eu
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

T24gMTIvNC8xOSA4OjEyIFBNLCBDb3N0aW4gTHVwdSB3cm90ZToKPiBIaSBHYXVsdGhpZXIsCj4g
Cj4gSW5zdGVhZCBvZiBwYXRjaGluZyB0aGUgb3JpZ2luYWwgY29kZSwgd2UgdXNlZCBhbm90aGVy
IHRyaWNrIHNvIGZhci4gV2UKPiB1c2VkIHRoZSBDIHByZXByb2Nlc3NvciBpbiBvcmRlciB0byBy
ZXBsYWNlIGBtYWluYCB3aXRoIHRoZSBuZXcgbmFtZQo+IChwbGVhc2UgaGF2ZSBhIGxvb2sgaGVy
ZSBbMV0pLgo+IAo+IFNvLCBpbiB5b3VyIGNhc2UgeW91IHdvdWxkIG5lZWQgdG8gYWRkIGluIE1h
a2VmaWxlLnVrOgo+IAo+IExJQlNRTElURV9TSEVMTF9GTEFHUy15ICs9IC1EbWFpbj1zcWxpdGVf
bWFpbgo+IAo+IEkgd291bGQgbm90IHJlbmFtZSB0aGUgYHdtYWluKClgIGZ1bmN0aW9uIHRob3Vn
aCwgSSB3b3VsZCBjYWxsIGl0IGZyb20KPiB5b3VyIG1haW4oKSBleGFtcGxlIChwbGVhc2Ugc2Vl
IHRoZSBjb21tZW50cyBmb3IgcGF0Y2ggMykuCgpBY3R1YWxseSwgb24gYSBzZWNvbmQgdGhvdWdo
dCwgd2Ugc2hvdWxkIGFsc28gcmVwbGFjZSB3bWFpbigpLCBpbiBkZWVkLgpTbyB5b3UgY2FuIHVz
ZToKCkxJQlNRTElURV9TSEVMTF9GTEFHUy15ICs9IC1EbWFpbj1zcWxpdGVfbWFpbiAtRHdtYWlu
PXNxbGl0ZV9tYWluCgo+IAo+IFsxXSBodHRwczovL2dpdGh1Yi5jb20vdW5pa3JhZnQvbGliLXJl
ZGlzL2Jsb2Ivc3RhZ2luZy9NYWtlZmlsZS51ayNMMjEwCkNoZWVycywKQ29zdGluCgpfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFp
bGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3Rz
LnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Wed Dec 04 18:18:25 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 04 Dec 2019 18:18:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1icZEG-0001kB-Pw; Wed, 04 Dec 2019 18:18:24 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=/zTp=Z2=gmail.com=costin.lup@srs-us1.protection.inumbo.net>)
 id 1icZEF-0001k6-Cs
 for minios-devel@lists.xenproject.org; Wed, 04 Dec 2019 18:18:23 +0000
X-Inumbo-ID: 744ee7ae-16c2-11ea-aea8-bc764e2007e4
Received: from mail-wm1-x344.google.com (unknown [2a00:1450:4864:20::344])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 744ee7ae-16c2-11ea-aea8-bc764e2007e4;
 Wed, 04 Dec 2019 18:18:22 +0000 (UTC)
Received: by mail-wm1-x344.google.com with SMTP id q9so727161wmj.5
 for <minios-devel@lists.xenproject.org>; Wed, 04 Dec 2019 10:18:22 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=subject:to:cc:references:from:message-id:date:user-agent
 :mime-version:in-reply-to:content-language:content-transfer-encoding;
 bh=tBiTJSU1K3eUbhyftnCyR9B5yWcLMzUbc++CjPqXbpE=;
 b=hPWn8+0H4dpo6mOlU2nQDfqfneqZiWUKh56Di9pXG05YqkQfoNA5a15NRxyz2DX0vW
 3KcdRFqjKOOTc+40d5voiN2w6AgjNQWJhkWyKkNX6lQaq/i9ni5Srl5d5Qd+xWQMT4It
 aQcmSSBq8rcNdWSQCkDUVuSVg9Bw8rZOFHjahyj8K15AuPYcdaXw1LKM6XxnCmJR9pji
 DzrP37Adzh+DpB399sRey7zl1QTKibdEuV3eFdvX0NCbt7mjGxdaTQz07RqjxVCaQxls
 v6msw7H/Zd3fJyiUca63xX0/vE5/SoOeQRx6wx+pMZbJzfT+6KPzQ5KMq0b3vfsDY6Zu
 oOfQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:subject:to:cc:references:from:message-id:date
 :user-agent:mime-version:in-reply-to:content-language
 :content-transfer-encoding;
 bh=tBiTJSU1K3eUbhyftnCyR9B5yWcLMzUbc++CjPqXbpE=;
 b=V8/wbkCupyCYFnHnka1D/KqGaG/LevOjSxC2KLM/5IfzAQiLFxi4xoPr8f0/oErGJd
 RTnZuDPG03ZIrm1leKw+2d8e72BYb2E/sAT5WqAkvuxjGkFE9nia6i0wKKXA7uXxKb7K
 47K86g91JAJZC6vFU7GEtgoj34OQPvSj68q1uv+lfmrG7EfZWkogNvRfbjkNKMUeqqsi
 V5C1NBOKQbejpnC+pKRIQTvPVc77NkdULORByIyWIx3HHpYDZgVgdhGK8WCa1T+FT6Va
 T+I5i8ng+GPU8lZ3R/Efx0LfsccFBE3kqRDPXlVH03Va8/IWqWCdsgkDAjEv0TYjq6b0
 MtYA==
X-Gm-Message-State: APjAAAXHrtU4GZeQgVc1Vgily/XZml8nz/0dsci0l3PGjA+vpmKDH6bT
 LQU/WJJfhpBafal4a4eeyzA=
X-Google-Smtp-Source: APXvYqyCoVFVI1sa7Kj7CVWAZdUGp3oAxNcJPo6unmTsP7Vbg6oI5zgNchciqRGkSIA79wBcRRqpPA==
X-Received: by 2002:a1c:6585:: with SMTP id z127mr970670wmb.113.1575483501491; 
 Wed, 04 Dec 2019 10:18:21 -0800 (PST)
Received: from [192.168.1.103] ([86.121.174.20])
 by smtp.gmail.com with ESMTPSA id z12sm7438913wmd.16.2019.12.04.10.18.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 04 Dec 2019 10:18:20 -0800 (PST)
To: Gaulthier Gain <gaulthier.gain@uliege.be>,
 minios-devel@lists.xenproject.org
References: <20191204175216.31249-1-gaulthier.gain@uliege.be>
 <20191204175216.31249-3-gaulthier.gain@uliege.be>
From: Costin Lupu <costin.lup@gmail.com>
Message-ID: <3fd50ffe-40c2-3170-8a51-84ffba116da6@gmail.com>
Date: Wed, 4 Dec 2019 20:18:19 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.2.2
MIME-Version: 1.0
In-Reply-To: <20191204175216.31249-3-gaulthier.gain@uliege.be>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT/SQLITE V3 PATCH 2/5] Add Makefile.uk
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: felipe.huici@neclab.eu
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgR2F1bHRoaWVyLAoKUGxlYXNlIHNlZSBpbmxpbmUuCgpPbiAxMi80LzE5IDc6NTIgUE0sIEdh
dWx0aGllciBHYWluIHdyb3RlOgo+IEFkZCBTUUxpdGUgcG9ydCBNYWtlZmlsZS51ay4KPiAKPiBT
aWduZWQtb2ZmLWJ5OiBHYXVsdGhpZXIgR2FpbiA8Z2F1bHRoaWVyLmdhaW5AdWxpZWdlLmJlPgo+
IC0tLQo+ICBNYWtlZmlsZS51ayB8IDg3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiAgMSBmaWxlIGNoYW5nZWQsIDg3IGluc2Vy
dGlvbnMoKykKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IE1ha2VmaWxlLnVrCj4gCj4gZGlmZiAtLWdp
dCBhL01ha2VmaWxlLnVrIGIvTWFrZWZpbGUudWsKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGlu
ZGV4IDAwMDAwMDAuLjliN2ZhMDYKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvTWFrZWZpbGUudWsK
PiBAQCAtMCwwICsxLDg3IEBACj4gKyMgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1D
bGF1c2UKPiArIwo+ICsjICBTUUxpdGUgTWFrZWZpbGUudWsKPiArIwo+ICsjICBBdXRob3JzOiBH
YWluIEdhdWx0aGllciA8Z2F1bHRoaWVyLmdhaW5AdWxpZWdlLmJlPgo+ICsjCj4gKyMgIENvcHly
aWdodCAoYykgMjAxOSwgVW5pdmVyc2l0eSBvZiBMaWVnZS4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
PiArIwo+ICsjICBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKPiArIyAgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCj4gKyMgIGFyZSBtZXQ6Cj4gKyMK
PiArIyAgMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKPiArIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgo+ICsjICAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAo+ICsjICAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCj4gKyMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCj4gKyMgIDMuIE5laXRoZXIgdGhlIG5hbWUg
b2YgdGhlIGNvcHlyaWdodCBob2xkZXIgbm9yIHRoZSBuYW1lcyBvZiBpdHMKPiArIyAgICAgY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20KPiArIyAgICAgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KPiArIwo+ICsjICBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIKPiArIyAgQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQo+ICsjICBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQo+ICsjICBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JT
IEJFCj4gKyMgIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKPiArIyAgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKPiArIyAgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCj4gKyMgIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCj4gKyMgIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCj4gKyMgIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFCj4gKyMgIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgo+ICsjCj4gKyMg
IFRISVMgSEVBREVSIE1BWSBOT1QgQkUgRVhUUkFDVEVEIE9SIE1PRElGSUVEIElOIEFOWSBXQVku
Cj4gKyMKPiArCj4gKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCj4gKyMgQXBwIHJlZ2lzdHJhdGlv
bgo+ICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwo+ICskKGV2YWwgJChjYWxsIGFkZGxpYixsaWJz
cWxpdGUpKQo+ICsKPiArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKPiArIyBTb3VyY2VzCj4gKyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjCj4gK0xJQlNRTElURV9WRVJTSU9OID0gMzMwMDEwMAo+ICtM
SUJTUUxJVEVfQkFTRU5BTUUgPSBzcWxpdGUtYW1hbGdhbWF0aW9uLSQoTElCU1FMSVRFX1ZFUlNJ
T04pCj4gK0xJQlNRTElURV9VUkwgPSBodHRwczovL3d3dy5zcWxpdGUub3JnLzIwMTkvJChMSUJT
UUxJVEVfQkFTRU5BTUUpLnppcAo+ICtMSUJTUUxJVEVfUEFUQ0hESVIgPSAkKExJQlNRTElURV9C
QVNFKS9wYXRjaGVzCj4gKyQoZXZhbCAkKGNhbGwgZmV0Y2gsbGlic3FsaXRlLCQoTElCU1FMSVRF
X1VSTCkpKQo+ICskKGV2YWwgJChjYWxsIHBhdGNoLGxpYnNxbGl0ZSwkKExJQlNRTElURV9QQVRD
SERJUiksc3FsaXRlLWFtYWxnYW1hdGlvbi0kKExJQlNRTElURV9WRVJTSU9OKSkpCgpzL3NxbGl0
ZS1hbWFsZ2FtYXRpb24tJChMSUJTUUxJVEVfVkVSU0lPTikvJChMSUJTUUxJVEVfQkFTRU5BTUUp
Cgo+ICsKPiArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKPiArIyBIZWxwZXJzCj4gKyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjCj4gK0xJQlNRTElURV9TUkMgPSAkKExJQlNRTElURV9PUklHSU4pLyQo
TElCU1FMSVRFX0JBU0VOQU1FKQo+ICsKPiArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKPiArIyBM
aWJyYXJ5IGluY2x1ZGVzCj4gKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCj4gK0xJQlNRTElURV9D
SU5DTFVERVMteSArPSAtSSQoTElCU1FMSVRFX0JBU0UpL2luY2x1ZGUKPiArTElCU1FMSVRFX0NJ
TkNMVURFUyArPSAtSSQoTElCU1FMSVRFX1NSQykKPiArCj4gKyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjCj4gKyMgR2xvYmFsIGZsYWdzCj4gKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCj4gK0xJQlNR
TElURV9GTEFHUyA9IC1EX0hBVkVfU1FMSVRFX0NPTkZJR19IIC1EU1FMSVRFX09NSVRfTE9BRF9F
WFRFTlNJT04KPiArCj4gKyMgU3VwcHJlc3Mgc29tZSB3YXJuaW5ncyB0byBtYWtlIHRoZSBidWls
ZCBwcm9jZXNzIGxvb2sgbmVhdGVyCj4gK0xJQlNRTElURV9TVVBQUkVTU19GTEFHUyArPSAtV25v
LXVudXNlZC1wYXJhbWV0ZXIgLVduby11bnVzZWQtdmFyaWFibGUJCVwKPiArLVduby1jYXN0LWZ1
bmN0aW9uLXR5cGUgLVduby1jaGFyLXN1YnNjcmlwdHMgLVdpbXBsaWNpdC1mYWxsdGhyb3VnaD0w
CQlcCj4gKwo+ICtMSUJTUUxJVEVfQ0ZMQUdTLXkgKz0gJChMSUJTUUxJVEVfRkxBR1MpCj4gK0xJ
QlNRTElURV9DRkxBR1MteSArPSAkKExJQlNRTElURV9TVVBQUkVTU19GTEFHUykKPiArCj4gKyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjCj4gKyMgR2x1ZSBjb2RlCj4gKyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjCj4gK0xJQlNRTElURV9TUkNTLSQoQ09ORklHX0xJQlNRTElURV9NQUlOX0ZVTkNUSU9O
KSArPSAkKExJQlNRTElURV9CQVNFKS9tYWluLmMKClRoaXMgc2hvdWxkIGJlIGFkZGVkIHdpdGgg
cGF0Y2ggMy4KCj4gKwo+ICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwo+ICsjIFNRTGl0ZSBzb3Vy
Y2VzCj4gKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCj4gK0xJQlNRTElURV9TUUxJVEVfRkxBR1Mt
eSArPSAtRG1haW49c3FsaXRlX21haW4KClRoaXMgbWFrZXMgbm8gc2Vuc2UsIHdlIHNob3VsZCBy
ZW1vdmUgaXQuIFBsZWFzZSBzZWUgbW9yZSByZWxhdGVkCmNvbW1lbnRzIGluIG15IHJlcGx5IHRv
IHBhdGNoIDQuCgo+ICsKPiArIyBDb3JlCj4gK0xJQlNRTElURV9TUkNTLXkgKz0gJChMSUJTUUxJ
VEVfU1JDKS9zaGVsbC5jCj4gK0xJQlNRTElURV9TUkNTLXkgKz0gJChMSUJTUUxJVEVfU1JDKS9z
cWxpdGUzLmMKPiAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2pl
Y3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5p
b3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Thu Dec 05 08:44:21 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 05 Dec 2019 08:44:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1icmkG-0004U7-5J; Thu, 05 Dec 2019 08:44:20 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=rK1V=Z3=neclab.eu=felipe.huici@srs-us1.protection.inumbo.net>)
 id 1icmkE-0004Tz-Ku
 for minios-devel@lists.xenproject.org; Thu, 05 Dec 2019 08:44:18 +0000
X-Inumbo-ID: 6b2ffff4-173b-11ea-8217-12813bfff9fa
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 6b2ffff4-173b-11ea-8217-12813bfff9fa;
 Thu, 05 Dec 2019 08:44:16 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 70BC5103FC6;
 Thu,  5 Dec 2019 09:44:15 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-a.office.hd)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id X2ZU97uakUkr; Thu,  5 Dec 2019 09:44:15 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from Oberon.office.hd (Oberon.office.hd [192.168.24.90])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 411D4103FB4;
 Thu,  5 Dec 2019 09:44:15 +0100 (CET)
Received: from oberon.office.hd (192.168.24.90) by Oberon.office.hd
 (192.168.24.90) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 5 Dec 2019
 09:44:14 +0100
Received: from oberon.office.hd ([192.168.126.11]) by Oberon.office.hd
 ([192.168.126.11]) with mapi id 15.01.1713.009; Thu, 5 Dec 2019 09:44:14
 +0100
From: Felipe Huici <Felipe.Huici@neclab.eu>
To: =?utf-8?B?VmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIp?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>, "minios-devel@lists.xenproject.org"
 <minios-devel@lists.xenproject.org>
Thread-Topic: [Minios-devel] [UNIKRAFT PATCH 2/2] lib/uksysinfo: Add sysinfo
 stub
Thread-Index: AQHVqRAArzu8GNjRrUu8MEw5+TQfiKeqCq6AgAEziQA=
Date: Thu, 5 Dec 2019 08:44:14 +0000
Message-ID: <108F6B32-D45B-48CC-9CA5-B18993C8D19E@neclab.eu>
References: <20191202125701.31187-1-felipe.huici@neclab.eu>
 <20191202125701.31187-3-felipe.huici@neclab.eu>
 <f1e6360d-fe40-71dd-ca34-9a159cfad5eb@stud.acs.upb.ro>
In-Reply-To: <f1e6360d-fe40-71dd-ca34-9a159cfad5eb@stud.acs.upb.ro>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: Microsoft-MacOutlook/10.10.10.191111
x-originating-ip: [192.168.24.96]
Content-ID: <5056DC6202F56642806DB1371A914959@office.hd>
MIME-Version: 1.0
Subject: Re: [Minios-devel] [UNIKRAFT PATCH 2/2] lib/uksysinfo: Add sysinfo
 stub
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgVmxhZCwNCg0KVGhhbmtzIGZvciB0aGUgcmV2aWV3LCBJJ2xsIGZpeCB0aG9zZSB3YXJuaW5n
cyBvbiB1cHN0cmVhbSBhcyB5b3Ugc3VnZ2VzdC4NCg0KLS0gRmVsaXBlDQoNCu+7v09uIDA0LjEy
LjE5LCAxNjoyNCwgIk1pbmlvcy1kZXZlbCBvbiBiZWhhbGYgb2YgVmxhZC1BbmRyZWkgQsSCRE9J
VSAoNzg2OTIpIiA8bWluaW9zLWRldmVsLWJvdW5jZXNAbGlzdHMueGVucHJvamVjdC5vcmcgb24g
YmVoYWxmIG9mIHZsYWRfYW5kcmVpLmJhZG9pdUBzdHVkLmFjcy51cGIucm8+IHdyb3RlOg0KDQog
ICAgSGV5IEZlbGlwZSwNCiAgICANCiAgICBUaGVyZSBpcyBvbmUgY29tbWVudCB0aGF0IG1heSBi
ZSBmaXhlZCBkdXJpbmcgdGhlIHVwc3RyZWFtaW5nLiBQbGVhc2UgDQogICAgc2VlIGlubGluZQ0K
ICAgIA0KICAgIFRoYW5rcywNCiAgICANCiAgICBWbGFkDQogICAgDQogICAgUmV2aWV3ZWQtYnk6
IFZsYWQtQW5kcmVpIEJhZG9pdSA8dmxhZF9hbmRyZWkuYmFkb2l1QHN0dWQuYWNzLnVwYi5ybz4N
CiAgICANCiAgICBPbiAwMi4xMi4yMDE5IDE0OjU3LCBGZWxpcGUgSHVpY2kgd3JvdGU6DQogICAg
PiBBZGQgc3lzaW5mbyBzdHViLCBuZWVkZWQgYnkgbG93anMgYnVpbGQuDQogICAgPg0KICAgID4g
U2lnbmVkLW9mZi1ieTogRmVsaXBlIEh1aWNpIDxmZWxpcGUuaHVpY2lAbmVjbGFiLmV1Pg0KICAg
ID4gLS0tDQogICAgPiAgIGxpYi91a3N5c2luZm8vZXhwb3J0c3ltcy51ayAgICAgICAgIHwgIDEg
Kw0KICAgID4gICBsaWIvdWtzeXNpbmZvL2luY2x1ZGUvc3lzL3N5c2luZm8uaCB8IDYyICsrKysr
KysrKysrKysrKysrKysrKysrKysrKysrDQogICAgPiAgIGxpYi91a3N5c2luZm8vc3lzaW5mby5j
ICAgICAgICAgICAgIHwgIDUgKysrDQogICAgPiAgIDMgZmlsZXMgY2hhbmdlZCwgNjggaW5zZXJ0
aW9ucygrKQ0KICAgID4gICBjcmVhdGUgbW9kZSAxMDA2NDQgbGliL3Vrc3lzaW5mby9pbmNsdWRl
L3N5cy9zeXNpbmZvLmgNCiAgICA+DQogICAgPiBkaWZmIC0tZ2l0IGEvbGliL3Vrc3lzaW5mby9l
eHBvcnRzeW1zLnVrIGIvbGliL3Vrc3lzaW5mby9leHBvcnRzeW1zLnVrDQogICAgPiBpbmRleCA3
M2UxZmU5OS4uZDUxMzEzMzIgMTAwNjQ0DQogICAgPiAtLS0gYS9saWIvdWtzeXNpbmZvL2V4cG9y
dHN5bXMudWsNCiAgICA+ICsrKyBiL2xpYi91a3N5c2luZm8vZXhwb3J0c3ltcy51aw0KICAgID4g
QEAgLTEsNSArMSw2IEBADQogICAgPiAgIGZwYXRoY29uZg0KICAgID4gICBzeXNjb25mDQogICAg
PiArc3lzaW5mbw0KICAgID4gICBjb25mc3RyDQogICAgPiAgIHBhdGhjb25mDQogICAgPiAgIGdl
dHBhZ2VzaXplDQogICAgPiBkaWZmIC0tZ2l0IGEvbGliL3Vrc3lzaW5mby9pbmNsdWRlL3N5cy9z
eXNpbmZvLmggYi9saWIvdWtzeXNpbmZvL2luY2x1ZGUvc3lzL3N5c2luZm8uaA0KICAgID4gbmV3
IGZpbGUgbW9kZSAxMDA2NDQNCiAgICA+IGluZGV4IDAwMDAwMDAwLi4yMTQxZjU1NQ0KICAgID4g
LS0tIC9kZXYvbnVsbA0KICAgID4gKysrIGIvbGliL3Vrc3lzaW5mby9pbmNsdWRlL3N5cy9zeXNp
bmZvLmgNCiAgICA+IEBAIC0wLDAgKzEsNjIgQEANCiAgICA+ICsvKiBTUERYLUxpY2Vuc2UtSWRl
bnRpZmllcjogTUlUICovDQogICAgPiArLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICAgID4gKyAqIENvcHly
aWdodCA8QzI+PEE5PiAyMDA1LTIwMTQgUmljaCBGZWxrZXIsIGV0IGFsLg0KICAgID4gKyAqDQog
ICAgPiArICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRv
IGFueSBwZXJzb24gb2J0YWluaW5nDQogICAgPiArICogYSBjb3B5IG9mIHRoaXMgc29mdHdhcmUg
YW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlDQogICAgPiArICogIlNvZnR3
YXJlIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1
ZGluZw0KICAgID4gKyAqIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwgY29w
eSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwNCiAgICA+ICsgKiBkaXN0cmlidXRlLCBzdWJsaWNl
bnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8NCiAgICA+ICsg
KiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8g
c28sIHN1YmplY3QgdG8NCiAgICA+ICsgKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6DQogICAg
PiArICoNCiAgICA+ICsgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJt
aXNzaW9uIG5vdGljZSBzaGFsbCBiZQ0KICAgID4gKyAqIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMg
b3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLg0KICAgID4gKyAqDQogICAg
PiArICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkg
T0YgQU5ZIEtJTkQsDQogICAgPiArICogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVU
IE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GDQogICAgPiArICogTUVSQ0hBTlRBQklM
SVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5U
Lg0KICAgID4gKyAqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBI
T0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZDQogICAgPiArICogQ0xBSU0sIERBTUFHRVMgT1IgT1RI
RVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwNCiAgICA+ICsg
KiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElP
TiBXSVRIIFRIRQ0KICAgID4gKyAqIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElO
R1MgSU4gVEhFIFNPRlRXQVJFLg0KICAgID4gKyAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiAgICA+ICsgKi8N
CiAgICA+ICsvKiBUYWtlbiBmcm9tIG11c2wtMS4xLjE5ICovDQogICAgPiArDQogICAgPiArI2lm
bmRlZiBfU1lTX1NZU0lORk9fSA0KICAgID4gKyNkZWZpbmUgX1NZU19TWVNJTkZPX0gNCiAgICA+
ICsNCiAgICA+ICsjaWZkZWYgX19jcGx1c3BsdXMNCiAgICA+ICtleHRlcm4gIkMiIHsNCiAgICA+
ICsjZW5kaWYNCiAgICA+ICsNCiAgICA+ICsjZGVmaW5lIFNJX0xPQURfU0hJRlQgMTYNCiAgICA+
ICsNCiAgICA+ICtzdHJ1Y3Qgc3lzaW5mbyB7DQogICAgPiArCXVuc2lnbmVkIGxvbmcgdXB0aW1l
Ow0KICAgID4gKwl1bnNpZ25lZCBsb25nIGxvYWRzWzNdOw0KICAgID4gKwl1bnNpZ25lZCBsb25n
IHRvdGFscmFtOw0KICAgID4gKwl1bnNpZ25lZCBsb25nIGZyZWVyYW07DQogICAgPiArCXVuc2ln
bmVkIGxvbmcgc2hhcmVkcmFtOw0KICAgID4gKwl1bnNpZ25lZCBsb25nIGJ1ZmZlcnJhbTsNCiAg
ICA+ICsJdW5zaWduZWQgbG9uZyB0b3RhbHN3YXA7DQogICAgPiArCXVuc2lnbmVkIGxvbmcgZnJl
ZXN3YXA7DQogICAgPiArCXVuc2lnbmVkIHNob3J0IHByb2NzLCBwYWQ7DQogICAgPiArCXVuc2ln
bmVkIGxvbmcgdG90YWxoaWdoOw0KICAgID4gKwl1bnNpZ25lZCBsb25nIGZyZWVoaWdoOw0KICAg
ID4gKwl1bnNpZ25lZCBtZW1fdW5pdDsNCiAgICA+ICsJY2hhciBfX3Jlc2VydmVkWzI1Nl07DQog
ICAgPiArfTsNCiAgICA+ICsNCiAgICA+ICtpbnQgc3lzaW5mbyAoc3RydWN0IHN5c2luZm8gKik7
DQogICAgPiAraW50IGdldF9ucHJvY3NfY29uZiAodm9pZCk7DQogICAgPiAraW50IGdldF9ucHJv
Y3MgKHZvaWQpOw0KICAgID4gK2xvbmcgZ2V0X3BoeXNfcGFnZXMgKHZvaWQpOw0KICAgID4gK2xv
bmcgZ2V0X2F2cGh5c19wYWdlcyAodm9pZCk7DQogICAgPiArDQogICAgPiArI2lmZGVmIF9fY3Bs
dXNwbHVzDQogICAgPiArfQ0KICAgID4gKyNlbmRpZg0KICAgID4gKw0KICAgID4gKyNlbmRpZg0K
ICAgID4gZGlmZiAtLWdpdCBhL2xpYi91a3N5c2luZm8vc3lzaW5mby5jIGIvbGliL3Vrc3lzaW5m
by9zeXNpbmZvLmMNCiAgICA+IGluZGV4IDZhZGNmMjIxLi5lY2VjZGVhMSAxMDA2NDQNCiAgICA+
IC0tLSBhL2xpYi91a3N5c2luZm8vc3lzaW5mby5jDQogICAgPiArKysgYi9saWIvdWtzeXNpbmZv
L3N5c2luZm8uYw0KICAgID4gQEAgLTU3LDYgKzU3LDExIEBAIHN0YXRpYyBzdHJ1Y3QgdXRzbmFt
ZSB1dHNuYW1lID0gew0KICAgID4gICAjZW5kaWYNCiAgICA+ICAgfTsNCiAgICA+ICAgDQogICAg
PiAraW50IHN5c2luZm8oc3RydWN0IHN5c2luZm8gKmluZm8pDQogICAgDQogICAgVGhlcmUgYXJl
IHR3byB3YXJuaW5nIGhlcmUgdGhhdCB3ZSBzaG91bGQgc29sdmUuDQogICAgDQogICAgMS4gV2Ug
c2hvdWxkIHVzZSB0aGUgX191bnVzZWQgbWFjcm8NCiAgICANCiAgICAyLiBXZSBzaG91bGQgaGF2
ZSBhICNpbmNsdWRlPHN5cy9zeXNpbmZvLmg+DQogICAgDQogICAgPiArew0KICAgID4gKwlyZXR1
cm4gLTE7DQogICAgPiArfQ0KICAgID4gKw0KICAgID4gICBsb25nIGZwYXRoY29uZihpbnQgZmQg
X191bnVzZWQsIGludCBuYW1lIF9fdW51c2VkKQ0KICAgID4gICB7DQogICAgPiAgIAlyZXR1cm4g
MDsNCiAgICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0K
ICAgIE1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QNCiAgICBNaW5pb3MtZGV2ZWxAbGlzdHMueGVu
cHJvamVjdC5vcmcNCiAgICBodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlz
dGluZm8vbWluaW9zLWRldmVsDQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3Rz
LnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0
aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Thu Dec 05 10:06:45 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 05 Dec 2019 10:06:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ico1y-0003ak-63; Thu, 05 Dec 2019 10:06:42 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=Wd8w=Z3=gmail.com=costin.lup@srs-us1.protection.inumbo.net>)
 id 1ico1w-0003af-Uy
 for minios-devel@lists.xenproject.org; Thu, 05 Dec 2019 10:06:41 +0000
X-Inumbo-ID: ee2922fe-1746-11ea-99dd-bc764e2007e4
Received: from mail-wr1-x442.google.com (unknown [2a00:1450:4864:20::442])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id ee2922fe-1746-11ea-99dd-bc764e2007e4;
 Thu, 05 Dec 2019 10:06:40 +0000 (UTC)
Received: by mail-wr1-x442.google.com with SMTP id d16so2703398wre.10
 for <minios-devel@lists.xenproject.org>; Thu, 05 Dec 2019 02:06:40 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=subject:to:cc:references:from:message-id:date:user-agent
 :mime-version:in-reply-to:content-language:content-transfer-encoding;
 bh=xWVyBmAZQUTRdM38peDPaEoAZtMcDkk3R0m3qv+MoRM=;
 b=W44JvFde12okeOpnYYrPvAGcA8jkWoKE89lZzcBO39WTIJ+LoMmQWqw/g/z7HZXyUw
 yqQYo8WIhvtdUkPMJawhm/ijHAgRxMMt4b6iH8cmokVZpN90dhtFfJchL+YFjm3rKX/6
 Y6dPYOPlLV1G8Tb3UWRD9G37F0DLyv/TDEhCxW6jouaTAO61UUlNYtPSmvcKwXh8nXFG
 Z5xMnhJRXaYSZ1eYANzBf4ea9AFK6V9ShLX09+4vPZUSiws6bg3Y4ADfkzkSj8NN46ks
 XIAi1GImacHpymvwGkj7bpSEtjDXcwzZwnxacrz+i/+yatBDNPDGFB1MFUCbNykNGXr4
 a3mA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:subject:to:cc:references:from:message-id:date
 :user-agent:mime-version:in-reply-to:content-language
 :content-transfer-encoding;
 bh=xWVyBmAZQUTRdM38peDPaEoAZtMcDkk3R0m3qv+MoRM=;
 b=KlBCRZijbWqCPSsrDRETTkBjWM2Q6+HOY+JhhIkOggvDhOUujRJPKmkQKOFld+h6En
 QlVTXODKG23qp0lTHs2rkxCZ0MhuM5NBN942WL5InapId3FMc7kIH4NgrNY9gr15RZKP
 RPKQQN+PH9CouoctjNUGOxcIvYCc9pPqYACBDzHLwPrigMIC7ZDdAbOKqFoKc6DII6wX
 KG9pbUbOkzXJwNNfwAPBqI5+/k/9ggf5O9KUJD3nm14CF7gxoSFSY3ONFfb4Gm51GRVW
 NOkGIcdZxqhuLDIFgYcorfKdPF5XKHfNSGD64IqrFDuVRlPrjhgrsx8e8jUYdXRuv9AC
 q+4w==
X-Gm-Message-State: APjAAAVLOJb1VvUY42mTMGarm3dTUd/nLS7CSC/9ty193DpMluN3rsR9
 fDLwgWUdAAkYrjvvnFSVuX0=
X-Google-Smtp-Source: APXvYqzOuMCuxeKeFbItcPKMwDU3ynIMDdvTk7V7e6eodtaei5uxllzgaROFZwFmnteNoCCEEGfZfg==
X-Received: by 2002:adf:ee92:: with SMTP id b18mr9532803wro.281.1575540399511; 
 Thu, 05 Dec 2019 02:06:39 -0800 (PST)
Received: from [172.19.11.120] ([141.85.233.103])
 by smtp.gmail.com with ESMTPSA id d8sm11417056wrx.71.2019.12.05.02.06.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 05 Dec 2019 02:06:38 -0800 (PST)
To: Gaulthier Gain <gaulthier.gain@uliege.be>,
 minios-devel@lists.xenproject.org
References: <20191204175216.31249-1-gaulthier.gain@uliege.be>
 <20191204175216.31249-4-gaulthier.gain@uliege.be>
From: Costin Lupu <costin.lup@gmail.com>
Message-ID: <30aa8c74-33a6-a7e6-a854-faf7c5c28011@gmail.com>
Date: Thu, 5 Dec 2019 12:06:37 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.2.2
MIME-Version: 1.0
In-Reply-To: <20191204175216.31249-4-gaulthier.gain@uliege.be>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT/SQLITE V3 PATCH 3/5] Add optional
 main()
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: felipe.huici@neclab.eu
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgR2F1bHRoaWVyLAoKVGhpcyBwYXRjaCBzaG91bGQgYWxzbyBpbnRyb2R1Y2UgdGhlIGNvbmZp
ZyBvcHRpb24gYW5kIHRoZSBNYWtlZmlsZS51awpjaGFuZ2VzLgoKQ2hlZXJzLApDb3N0aW4KCk9u
IDEyLzQvMTkgNzo1MiBQTSwgR2F1bHRoaWVyIEdhaW4gd3JvdGU6Cj4gV2UgcHJvdmlkZSBhIGds
dWUgbWFpbiBmdW5jdGlvbiB3aGljaCBydW5zIHRoZSBTUUxpdGUgc2hlbGwgYnkKPiBkZWZhdWx0
Lgo+IAo+IFNpZ25lZC1vZmYtYnk6IEdhdWx0aGllciBHYWluIDxnYXVsdGhpZXIuZ2FpbkB1bGll
Z2UuYmU+Cj4gLS0tCj4gIG1haW4uYyB8IDYgKysrKysrCj4gIDEgZmlsZSBjaGFuZ2VkLCA2IGlu
c2VydGlvbnMoKykKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IG1haW4uYwo+IAo+IGRpZmYgLS1naXQg
YS9tYWluLmMgYi9tYWluLmMKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAu
Ljc0ODIyYTAKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvbWFpbi5jCj4gQEAgLTAsMCArMSw2IEBA
Cj4gK2V4dGVybiBpbnQgc3FsaXRlX21haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSk7Cj4gKwo+
ICtpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQo+ICt7Cj4gKyAgICByZXR1cm4gc3Fs
aXRlX21haW4oYXJnYywgYXJndik7Cj4gK30KPiAKCl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRl
dmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFp
bG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Thu Dec 05 10:16:27 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 05 Dec 2019 10:16:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1icoBO-0004NU-26; Thu, 05 Dec 2019 10:16:26 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=Wd8w=Z3=gmail.com=costin.lup@srs-us1.protection.inumbo.net>)
 id 1icoBM-0004Mi-M3
 for minios-devel@lists.xenproject.org; Thu, 05 Dec 2019 10:16:24 +0000
X-Inumbo-ID: 49d1b6f6-1748-11ea-99dd-bc764e2007e4
Received: from mail-wm1-x343.google.com (unknown [2a00:1450:4864:20::343])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 49d1b6f6-1748-11ea-99dd-bc764e2007e4;
 Thu, 05 Dec 2019 10:16:23 +0000 (UTC)
Received: by mail-wm1-x343.google.com with SMTP id f4so6960273wmj.1
 for <minios-devel@lists.xenproject.org>; Thu, 05 Dec 2019 02:16:23 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=subject:to:cc:references:from:message-id:date:user-agent
 :mime-version:in-reply-to:content-language:content-transfer-encoding;
 bh=HqIGj9ETbJWI4MMTmBQpHjKQpnVT6JFPzLceZx1gmPg=;
 b=UgJWvIgNpETNZpjejy4mkeqOIs8IQBn6qPD8QsZtxA4Zse5DwDTSaVljnm3yK++SzS
 EL+kSmaG6bFnrs6KpJgm+TnocPdfyKi4SkkWjWeDS8nBTzIqplFcVVWyX2BaPXBsEPpO
 rzdeVn9FRabV2K0n2WRfg1pGRnJYdPRz2ePxRPEArIfPMgd9nLpxnGtsgEGEzKK7+7Ou
 QzhMQ9r5QbWrywHdx9xxdL5auf4P0+w2Z5Y5BZTqgrlwFsLfi/noZXWhJWo+QkqxP+I1
 zIKAaXdUnYKfpruMYI0RRvSdK89Qqo2v6tNu1+Wy1ClPRhWDCFBSmGCDPd8kwkUgmdXw
 UcTw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:subject:to:cc:references:from:message-id:date
 :user-agent:mime-version:in-reply-to:content-language
 :content-transfer-encoding;
 bh=HqIGj9ETbJWI4MMTmBQpHjKQpnVT6JFPzLceZx1gmPg=;
 b=OpqYcAj8LrQ3PnruinVTkoQxLZRNlrqHlupibrqpo93o5Djf0bMhcX7j3PFvD4sKIk
 WaOtarRxyQS35erbBC1TSe/dxdVfzeppodSIo3BVUaCPFJIrCD+yVMdEcoIcdfwPwWPi
 Bc8CuK2NLMfVT8jJInNzauDKFje1n/3o222q2Gi6wGwIZfxlfSeEBfGkEXuVainmfFdD
 FrkxOImkdNkJnOjt7RfhqqWCsIzuWWnuOvlRgGWkTQU8op0IzFbHPJZixi0psIytW6Tm
 ECfY52ROQAIuEIr6JJg7+LUZ7VkHe2jNMt0HNn+/pL8EXpITgoVsbevlHoDrlSFsnGXG
 0Fxg==
X-Gm-Message-State: APjAAAUmdDEGWWIFew8dxZ8D+NEbzQLajEbnHqrKT5vZljcdWn+GkxMm
 rNH8wJwrAEQypOTkYXfDbXI=
X-Google-Smtp-Source: APXvYqxyVJ1dByh8oJED8Al1gJe1JeBnna6c08Alpbs4jzf5sVPP48vTMviO4LYzo3kUKblCcvW/cg==
X-Received: by 2002:a1c:964f:: with SMTP id y76mr4220762wmd.62.1575540982727; 
 Thu, 05 Dec 2019 02:16:22 -0800 (PST)
Received: from [172.19.11.120] ([141.85.233.103])
 by smtp.gmail.com with ESMTPSA id v17sm11469725wrt.91.2019.12.05.02.16.22
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 05 Dec 2019 02:16:22 -0800 (PST)
To: Gaulthier Gain <gaulthier.gain@uliege.be>,
 minios-devel@lists.xenproject.org
References: <20191204175216.31249-1-gaulthier.gain@uliege.be>
 <20191204175216.31249-2-gaulthier.gain@uliege.be>
From: Costin Lupu <costin.lup@gmail.com>
Message-ID: <1400927d-5530-5996-4dba-86c131bae696@gmail.com>
Date: Thu, 5 Dec 2019 12:16:21 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.2.2
MIME-Version: 1.0
In-Reply-To: <20191204175216.31249-2-gaulthier.gain@uliege.be>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT/SQLITE V3 PATCH 1/5] Introduce library
 skeleton
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: felipe.huici@neclab.eu
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgR2F1bHRoaWVyLAoKUGxlYXNlIHNlZSBpbmxpbmUuCgpPbiAxMi80LzE5IDc6NTIgUE0sIEdh
dWx0aGllciBHYWluIHdyb3RlOgo+IFdlIHVzZSB0aGUgQlNELTMtQ2xhdXNlIGxpY2Vuc2UgZm9y
IHRoaXMgbGlicmFyeSBnbHVlIGNvZGUuCj4gCj4gU2lnbmVkLW9mZi1ieTogR2F1bHRoaWVyIEdh
aW4gPGdhdWx0aGllci5nYWluQHVsaWVnZS5iZT4KPiAtLS0KPiAgLmdpdGlnbm9yZSAgICAgIHwg
MjcgKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gIENPRElOR19TVFlMRS5tZCB8ICA0ICsr
KysKPiAgQ09OVFJJQlVUSU5HLm1kIHwgIDQgKysrKwo+ICBDT1BZSU5HLm1kICAgICAgfCAzOCAr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ICBDb25maWcudWsgICAgICAg
fCAxNCArKysrKysrKysrKysrKwo+ICBNQUlOVEFJTkVSUy5tZCAgfCAxMSArKysrKysrKysrKwo+
ICBSRUFETUUubWQgICAgICAgfCAyMyArKysrKysrKysrKysrKysrKysrKysrKwo+ICA3IGZpbGVz
IGNoYW5nZWQsIDEyMSBpbnNlcnRpb25zKCspCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCAuZ2l0aWdu
b3JlCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBDT0RJTkdfU1RZTEUubWQKPiAgY3JlYXRlIG1vZGUg
MTAwNjQ0IENPTlRSSUJVVElORy5tZAo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgQ09QWUlORy5tZAo+
ICBjcmVhdGUgbW9kZSAxMDA2NDQgQ29uZmlnLnVrCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBNQUlO
VEFJTkVSUy5tZAo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgUkVBRE1FLm1kCj4gCj4gZGlmZiAtLWdp
dCBhLy5naXRpZ25vcmUgYi8uZ2l0aWdub3JlCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRl
eCAwMDAwMDAwLi43NWQyZmQzCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiLy5naXRpZ25vcmUKPiBA
QCAtMCwwICsxLDI3IEBACj4gKyouZGVwZW5kCj4gKyoubwo+ICsqLmEKPiArKi5kCj4gKyouc28K
PiArKi5vcmlnCj4gKyoucmVqCj4gKyouYmFrCj4gKyouc3dwCj4gKyp+Cj4gKywqCj4gK1wjKlwj
Cj4gKy5cIyoKPiArXCNfKlwjCj4gKy5cI18qCj4gKyEuZ2l0aWdub3JlCj4gKy4qCj4gKwo+ICsj
IGdudSBnbG9iYWwgZmlsZXMKPiArR1BBVEgKPiArR1JUQUdTCj4gK0dTWU1TCj4gK0dUQUdTCj4g
Kwo+ICsjIGNzY29wZSBmaWxlcwo+ICtjc2NvcGUuKgo+ICtuY3Njb3BlLioKPiBkaWZmIC0tZ2l0
IGEvQ09ESU5HX1NUWUxFLm1kIGIvQ09ESU5HX1NUWUxFLm1kCj4gbmV3IGZpbGUgbW9kZSAxMDA2
NDQKPiBpbmRleCAwMDAwMDAwLi41NzMwMDQxCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL0NPRElO
R19TVFlMRS5tZAo+IEBAIC0wLDAgKzEsNCBAQAo+ICtDb2RpbmcgU3R5bGUKPiArPT09PT09PT09
PT09Cj4gKwo+ICtQbGVhc2UgcmVmZXIgdG8gdGhlIGBDT0RJTkdfU1RZTEUubWRgIGZpbGUgaW4g
dGhlIG1haW4gVW5pa3JhZnQgcmVwb3NpdG9yeS4KPiBkaWZmIC0tZ2l0IGEvQ09OVFJJQlVUSU5H
Lm1kIGIvQ09OVFJJQlVUSU5HLm1kCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAw
MDAwLi4xNGY2YWM2Cj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL0NPTlRSSUJVVElORy5tZAo+IEBA
IC0wLDAgKzEsNCBAQAo+ICtDb250cmlidXRpbmcgdG8gVW5pa3JhZnQKPiArPT09PT09PT09PT09
PT09PT09PT09PT09Cj4gKwo+ICtQbGVhc2UgcmVmZXIgdG8gdGhlIGBDT05UUklCVVRJTkcubWRg
IGZpbGUgaW4gdGhlIG1haW4gVW5pa3JhZnQgcmVwb3NpdG9yeS4KPiBkaWZmIC0tZ2l0IGEvQ09Q
WUlORy5tZCBiL0NPUFlJTkcubWQKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAw
MDAuLjkwYWY5NTIKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvQ09QWUlORy5tZAo+IEBAIC0wLDAg
KzEsMzggQEAKPiArTGljZW5zZQo+ICs9PT09PT09Cj4gKwo+ICtVbmlrcmFmdCBTUUxpdGUgd3Jh
cHBlcnMKPiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ICsKPiArVGhpcyBy
ZXBvc2l0b3J5IGNvbnRhaW5zIHdyYXBwZXIgY29kZSB0byBidWlsZCBTUUxpdGUgd2l0aCBVbmlr
cmFmdC4KPiArRWFjaCBDIGNvZGUgZmlsZSBpbiB0aGlzIHJlcG9zaXRvcnkgc2hvdWxkIGRlY2xh
cmUgd2hvIGlzIHRoZQo+ICtjb3B5cmlnaHQgb3duZXIgYW5kIHVuZGVyIHdoaWNoIHRlcm1zIGFu
ZCBjb25kaXRpb25zIHRoZSBjb2RlIGlzCj4gK2xpY2Vuc2VkLiBJZiBzdWNoIGEgbGljZW5jZSBu
b3RlIGlzIG1pc3NpbmcsIHRoZSBmb2xsb3dpbmcgY29weXJpZ2h0Cj4gK25vdGljZSB3aWxsIGFw
cGx5Ogo+ICsKPiArCUNvcHlyaWdodCAoYykgWWVhciwgSW5zdGl0dXRpb24uIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCj4gKwo+ICsJUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cj4gKwltb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKPiArCWFyZSBtZXQ6Cj4g
Kwo+ICsJMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKPiArCSAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KPiArCTIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cj4gKwkgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCj4gKwkgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgo+ICsJMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgY29w
eXJpZ2h0IGhvbGRlciBub3IgdGhlIG5hbWVzIG9mIGl0cwo+ICsJICAgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KPiAr
CSAgIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCj4gKwo+ICsJVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiCj4gKwlBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCj4gKwlJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRQo+ICsJQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRQo+ICsJTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgo+ICsJ
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKPiArCVNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwo+ICsJSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KPiArCUNP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCj4gKwlBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRQo+ICsJUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCj4gZGlmZiAtLWdpdCBhL0NvbmZpZy51ayBiL0NvbmZpZy51awo+IG5ldyBmaWxl
IG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMC4uNDdlNjEzZgo+IC0tLSAvZGV2L251bGwKPiAr
KysgYi9Db25maWcudWsKPiBAQCAtMCwwICsxLDE0IEBACj4gKyMjIyBJbnZpc2libGUgb3B0aW9u
IGZvciBkZXBlbmRlbmNpZXMKCldoYXQncyB0aGUgZGVhbCB3aXRoIHRoaXMgY29tbWVudD8gOi0p
Cgo+ICttZW51Y29uZmlnIExJQlNRTElURQo+ICsgICAgYm9vbCAiU1FMaXRlIgo+ICsgICAgZGVm
YXVsdCB5Cj4gKyAgICBzZWxlY3QgTElCVUtNTUFQCj4gKyAgICBzZWxlY3QgVUtTWVNJTkZPCj4g
KyAgICBzZWxlY3QgTElCTkVXTElCQwo+ICsgICAgc2VsZWN0IExJQlBUSFJFQURfRU1CRURERUQK
PiArCj4gK2lmIExJQlNRTElURQo+ICtjb25maWcgTElCU1FMSVRFX01BSU5fRlVOQ1RJT04KPiAr
ICAgIGJvb2wgIlByb3ZpZGUgbWFpbiBmdW5jdGlvbiIKPiArICAgIGRlZmF1bHQgeQoKUGxlYXNl
IGFkZCB0aGlzIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHdoZW4geW91IGludHJvZHVjZSB0aGUgbWFp
bigpIGZ1bmN0aW9uLgoKPiArZW5kaWYKPiBkaWZmIC0tZ2l0IGEvTUFJTlRBSU5FUlMubWQgYi9N
QUlOVEFJTkVSUy5tZAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMC4uN2Mx
M2VkOQo+IC0tLSAvZGV2L251bGwKPiArKysgYi9NQUlOVEFJTkVSUy5tZAo+IEBAIC0wLDAgKzEs
MTEgQEAKPiArTWFpbnRhaW5lcnMgTGlzdAo+ICs9PT09PT09PT09PT09PT09Cj4gKwo+ICtGb3Ig
bm90ZXMgb24gaG93IHRvIHJlYWQgdGhpcyBpbmZvcm1hdGlvbiwgcGxlYXNlIHJlZmVyIHRvIGBN
QUlOVEFJTkVSUy5tZGAgaW4KPiArdGhlIG1haW4gVW5pa3JhZnQgcmVwb3NpdG9yeS4KPiArCj4g
KwlMSUJTUUxJVEUtVU5JS1JBRlQKPiArCU06ICBHYXVsdGhpZXIgR2FpbiA8Z2F1bHRoaWVyLmdh
aW5AdWxpZWdlLmJlPgo+ICsJTTogIEZlbGlwZSBIdWljaSA8ZmVsaXBlLmh1aWNpQG5lY2xhYi5l
dT4KPiArCUw6ICBtaW5pb3MtZGV2ZWxAbGlzdHMueGVuLm9yZwo+ICsJRjogKgo+IGRpZmYgLS1n
aXQgYS9SRUFETUUubWQgYi9SRUFETUUubWQKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4
IDAwMDAwMDAuLjlkN2M1NWMKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvUkVBRE1FLm1kCj4gQEAg
LTAsMCArMSwyMyBAQAo+ICtTUUxpdGUgZm9yIFVuaWtyYWZ0Cj4gKz09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Cj4gKwo+ICtUaGlzIGlzIHRoZSBwb3J0IG9mIFNRTGl0ZSBmb3IgVW5pa3Jh
ZnQgYXMgZXh0ZXJuYWwgbGlicmFyeS4gQnkKPiArZGVmYXVsdCwgdGhlIFNRTGl0ZSBzaGVsbCBp
cyBsYXVuY2hlZC4gWW91IGNhbiBtb2RpZnkgdGhpcyBiZWhhdmlvdXIKPiArYnkgdXBkYXRpbmcg
dGhlIGBtYWluKClgIGZ1bmN0aW9uIHByb3ZpZGVkIGluIHRoZSBTUUxpdGUgZ2x1ZSBjb2RlLgo+
ICsKPiArIyMgQnVpbGQKPiArU1FMaXRlIGRlcGVuZHMgb24gdGhlIGZvbGxvd2luZyBsaWJyYXJp
ZXMsIHRoYXQgbmVlZCB0byBiZSBhZGRlZCB0bwo+ICtgTWFrZWZpbGVgIGluIHRoaXMgb3JkZXI6
Cj4gKwo+ICsqIGBwdGhyZWFkc2AsIGUuZy4gYHB0aHJlYWQtZW1iZWRkZWRgCj4gKyogYGxpYmNg
LCBlLmcuIGBuZXdsaWJgCj4gKwo+ICsjIyBSb290IGZpbGVzeXN0ZW0KPiArCj4gK1RvIGltcG9y
dC9leHBvcnQgZGF0YWJhc2VzIGFuZC9vciBjc3YgZmlsZXMsIGl0IGlzIG5lY2Vzc2FyeSB0byBo
YXZlCj4gK2EgZmlsZXN5c3RlbS4gVGhlIHN0ZXBzIGZvciBjcmVhdGluZyBhbmQgdXNpbmcgYSBm
aWxlc3lzdGVtIGFyZSB0aGUKPiArc2FtZSBhcyB0aGUgb25lcyB1c2VkIGZvciBbbmdpbnhdKGh0
dHBzOi8vZ2l0aHViLmNvbS91bmlrcmFmdC9saWItbmdpbngvYmxvYi9zdGFnaW5nL1JFQURNRS5t
ZCkuCgpJZGVhbGx5LCB0aGlzIHBhdGNoIHdoaWNoIGludHJvZHVjZXMgdGhlIHNrZWxldG9uIGRv
ZXNuJ3QgYWRkIHRoZSBleHRyYQppbmZvIGluIFJFQURNRS4gVGhlIGV4dHJhIGluZm8gaXMgdXN1
YWxseSBpbnRyb2R1Y2VkIGluIGEgbGF0ZXIgcGF0Y2guCkJ1dCBJIGRvbid0IGZlZWwgc3Ryb25n
IGFib3V0IHRoaXMuCgo+ICsKPiArIyMgRnVydGhlciBpbmZvcm1hdGlvbgo+ICtQbGVhc2UgcmVm
ZXIgdG8gdGhlIGBSRUFETUUubWRgIGFzIHdlbGwgYXMgdGhlIGRvY3VtZW50YXRpb24gaW4gdGhl
Cj4gK2Bkb2MvYCBzdWJkaXJlY3Rvcnkgb2YgdGhlIG1haW4gdW5pa3JhZnQgcmVwb3NpdG9yeS4K
PiAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlv
cy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0
dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Thu Dec 05 10:22:05 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 05 Dec 2019 10:22:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1icoGq-00054M-Oy; Thu, 05 Dec 2019 10:22:04 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=Wd8w=Z3=gmail.com=costin.lup@srs-us1.protection.inumbo.net>)
 id 1icoGq-00054F-16
 for minios-devel@lists.xenproject.org; Thu, 05 Dec 2019 10:22:04 +0000
X-Inumbo-ID: 14435412-1749-11ea-aea8-bc764e2007e4
Received: from mail-wr1-x442.google.com (unknown [2a00:1450:4864:20::442])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 14435412-1749-11ea-aea8-bc764e2007e4;
 Thu, 05 Dec 2019 10:22:03 +0000 (UTC)
Received: by mail-wr1-x442.google.com with SMTP id t2so2849082wrr.1
 for <minios-devel@lists.xenproject.org>; Thu, 05 Dec 2019 02:22:03 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=subject:to:cc:references:from:message-id:date:user-agent
 :mime-version:in-reply-to:content-language:content-transfer-encoding;
 bh=PL5ZIXnp2uj9u3iwVrNKpRAp0oVx5XK+wz/GOohiYBQ=;
 b=Q24pll5MoNx+OyibnYFKddyRnvHjLepBui3tUMbYKVln/n6QvVuw1c80ojQ/ZnQyke
 vJcO6zBal5q5RnOLhBmGdRnMwNb21G+dv1ekNC/7n0I3ig2KiznG2uRB5F5pNHlpHyoW
 X6Qc42oZNCDRArmbGV/as+qflODAofhW9gXiXvmeLAGkpcV3jl172+qFFg4mDXDmB+Gq
 hciGpG3NmzQjw6inOwWrFt1AEHKAZylfmoLJQNIMzHxseFH75HsNK+NGlea7wnS79ePn
 HoN3lrs0f4zdDX4WKFPud0ONSkhd5MumzmmrmsQT/YZjEhBVGm3Yjo27495cmJ2hWVB3
 nH5w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:subject:to:cc:references:from:message-id:date
 :user-agent:mime-version:in-reply-to:content-language
 :content-transfer-encoding;
 bh=PL5ZIXnp2uj9u3iwVrNKpRAp0oVx5XK+wz/GOohiYBQ=;
 b=cj7E0s2FeoH5pwMrI9aYTyvoeS6LJDc1YHsN3Z5C69dOAj4oHfx5XGZ8Kw1dtMnRMM
 OiEN85X895QzG1CxW9wzcDpKr4X05/hXWChbYDZjBtL+iG+G+krD/Qp16h7vKk+X2+7I
 mwdC7GCos7qXk/REhOCqL6FkvSMv/Ir6vgtaborpb/jMrT+ktE3xHzfw/9TjJZwiZMOW
 K2lbyBpS0D2+r+CtP4Yl6mSxu3njnpd/YAVRf1GdBAEe4dsQM7tVC54cBU3dZJ0NHJXW
 s///+oFqk9qdeftlOt4mSNJq66LEZXG3aQiWDKJm6ZYUh9wE2XQtpHlhYFCeJnYsnZ+/
 WIgQ==
X-Gm-Message-State: APjAAAX49vmjO02pShg6PiYEbSIUIvAbRtLk6urzGbR5yfqPQLd9k1gc
 fFNY7aW4J+mUfy+yOfi75ic=
X-Google-Smtp-Source: APXvYqyYz3MFxRaKZiztTFmMGlcrOgJqvUXrvoeMcIouNSQ/NtpvUfUwvA6RWZ5C0JXqLwHW1ZdZFA==
X-Received: by 2002:adf:f1c6:: with SMTP id z6mr9730408wro.279.1575541322477; 
 Thu, 05 Dec 2019 02:22:02 -0800 (PST)
Received: from [172.19.11.120] ([141.85.233.105])
 by smtp.gmail.com with ESMTPSA id g69sm1507123wmg.13.2019.12.05.02.22.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 05 Dec 2019 02:22:01 -0800 (PST)
To: Gaulthier Gain <gaulthier.gain@uliege.be>,
 minios-devel@lists.xenproject.org
References: <20191204175216.31249-1-gaulthier.gain@uliege.be>
 <20191204175216.31249-6-gaulthier.gain@uliege.be>
From: Costin Lupu <costin.lup@gmail.com>
Message-ID: <764aab48-4775-bb39-d57f-4a2b768cedb5@gmail.com>
Date: Thu, 5 Dec 2019 12:22:01 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.2.2
MIME-Version: 1.0
In-Reply-To: <20191204175216.31249-6-gaulthier.gain@uliege.be>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT/SQLITE V3 PATCH 5/5] Add config.h in
 include folder
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: felipe.huici@neclab.eu
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgR2F1bHRoaWVyLAoKRm9yIG91ciBwcmV2aW91cyBwb3J0cywgd2hlbmV2ZXIgd2UgbW9kaWZp
ZWQgYSBnZW5lcmF0ZWQgZmlsZSB3ZSB1c2VkIDIKcGF0Y2hlcyBmb3IgdGhhdCBmaWxlOiBmaXJz
dCBvbmUgaW50cm9kdWNpbmcgdGhlIGZpbGUganVzdCBhcyBpdCB3YXMKZ2VuZXJhdGVkIChhIHNp
bXBsZSBjb3B5LXBhc3RlKSBhbmQgYSBzZWNvbmQgb25lIGVpdGhlciBjb21tZW50aW5nIG9yCnJl
bW92aW5nIHdoYXQgaXMgbm90IHN1cHBvcnRlZCBieSBVbmlrcmFmdC4gSXQncyBlYXNpZXIgdGhp
cyB3YXkgdG8ga2VlcAp0cmFjayBvZiB0aGUgZmVhdHVyZXMgdGhhdCBoYXZlIHRvIGJlIGVuYWJs
ZWQgYmFjaywgYWZ0ZXIgd2UgYWRkIHRob3NlCm1pc3NpbmcgZmVhdHVyZXMgaW4gVW5pa3JhZnQu
CgpZb3UgY2FuIGhhdmUgYSBsb29rIGZvciBzb21lIGV4YW1wbGVzIGF0IFB5dGhvbidzIFsxXSBw
YXRjaGVzIGZvcgpweWNvbmZpZy5oIGFuZCBfc3lzY29uZmlnZGF0YS5weSBmaWxlcyBvciBOR0lO
WCdzIFsyXSBwYXRjaGVzIGZvcgppbmNsdWRlL25neF9hdXRvX2NvbmZpZy5oIGFuZCBuZ3hfbW9k
dWxlcy5jIGZpbGVzLgoKWzFdIGh0dHBzOi8vZ2l0aHViLmNvbS91bmlrcmFmdC9saWItcHl0aG9u
My9jb21taXRzL3N0YWdpbmcKWzJdIGh0dHBzOi8vZ2l0aHViLmNvbS91bmlrcmFmdC9saWItbmdp
bngvY29tbWl0cy9zdGFnaW5nCgpDaGVlcnMsCkNvc3RpbgoKT24gMTIvNC8xOSA3OjUyIFBNLCBH
YXVsdGhpZXIgR2FpbiB3cm90ZToKPiBUaGlzIGZpbGUgY29udGFpbnMgU1FMaXRlIGNvbmZpZ3Vy
YXRpb24uIFRob3NlIGFyZSB2YWx1ZXMvb3B0aW9ucwo+IGdlbmVyYXRlZCBieSBjb25maWd1cmUg
YW5kIGFyZSB1cGRhdGVkIHRvIHN1cHBvcnQgVW5pa3JhZnQuCj4gCj4gU2lnbmVkLW9mZi1ieTog
R2F1bHRoaWVyIEdhaW4gPGdhdWx0aGllci5nYWluQHVsaWVnZS5iZT4KPiAtLS0KPiAgaW5jbHVk
ZS9jb25maWcuaCB8IDM1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gIDEg
ZmlsZSBjaGFuZ2VkLCAzNSBpbnNlcnRpb25zKCspCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBpbmNs
dWRlL2NvbmZpZy5oCj4gCj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvY29uZmlnLmggYi9pbmNsdWRl
L2NvbmZpZy5oCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi45OGQ4MWIz
Cj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2luY2x1ZGUvY29uZmlnLmgKPiBAQCAtMCwwICsxLDM1
IEBACj4gKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZ210aW1lX3InIGZ1bmN0aW9u
LiAqLwo+ICsjZGVmaW5lIEhBVkVfR01USU1FX1IgMQo+ICsKPiArLyogRGVmaW5lIHRvIDEgaWYg
dGhlIHN5c3RlbSBoYXMgdGhlIHR5cGUgYGludDE2X3QnLiAqLwo+ICsjZGVmaW5lIEhBVkVfSU5U
MTZfVCAxCj4gKwo+ICsvKiBEZWZpbmUgdG8gMSBpZiB0aGUgc3lzdGVtIGhhcyB0aGUgdHlwZSBg
aW50MzJfdCcuICovCj4gKyNkZWZpbmUgSEFWRV9JTlQzMl9UIDEKPiArCj4gKy8qIERlZmluZSB0
byAxIGlmIHRoZSBzeXN0ZW0gaGFzIHRoZSB0eXBlIGBpbnQ2NF90Jy4gKi8KPiArI2RlZmluZSBI
QVZFX0lOVDY0X1QgMQo+ICsKPiArLyogRGVmaW5lIHRvIDEgaWYgdGhlIHN5c3RlbSBoYXMgdGhl
IHR5cGUgYGludDhfdCcuICovCj4gKyNkZWZpbmUgSEFWRV9JTlQ4X1QgMQo+ICsKPiArLyogRGVm
aW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxpbnR0eXBlcy5oPiBoZWFkZXIgZmlsZS4gKi8KPiAr
I2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQo+ICsKPiArLyogRGVmaW5lIHRvIDEgaWYgeW91IGhh
dmUgdGhlIGBsb2NhbHRpbWVfcicgZnVuY3Rpb24uICovCj4gKyNkZWZpbmUgSEFWRV9MT0NBTFRJ
TUVfUiAxCj4gKwo+ICsvKiBEZWZpbmUgdG8gMSBpZiB0aGUgc3lzdGVtIGhhcyB0aGUgdHlwZSBg
dWludDE2X3QnLiAqLwo+ICsjZGVmaW5lIEhBVkVfVUlOVDE2X1QgMQo+ICsKPiArLyogRGVmaW5l
IHRvIDEgaWYgdGhlIHN5c3RlbSBoYXMgdGhlIHR5cGUgYHVpbnQzMl90Jy4gKi8KPiArI2RlZmlu
ZSBIQVZFX1VJTlQzMl9UIDEKPiArCj4gKy8qIERlZmluZSB0byAxIGlmIHRoZSBzeXN0ZW0gaGFz
IHRoZSB0eXBlIGB1aW50NjRfdCcuICovCj4gKyNkZWZpbmUgSEFWRV9VSU5UNjRfVCAxCj4gKwo+
ICsvKiBEZWZpbmUgdG8gMSBpZiB0aGUgc3lzdGVtIGhhcyB0aGUgdHlwZSBgdWludDhfdCcuICov
Cj4gKyNkZWZpbmUgSEFWRV9VSU5UOF9UIDEKPiArCj4gKy8qIERlZmluZSB0byAxIGlmIHlvdSBo
YXZlIHRoZSBgdXNsZWVwJyBmdW5jdGlvbi4gKi8KPiArI2RlZmluZSBIQVZFX1VTTEVFUCAxCj4g
CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3Mt
ZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRw
czovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Thu Dec 05 10:36:36 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 05 Dec 2019 10:36:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1icoUp-0006C6-MI; Thu, 05 Dec 2019 10:36:31 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=ipXN=Z3=uliege.be=gaulthier.gain@srs-us1.protection.inumbo.net>)
 id 1icoUo-0006Bx-Da
 for minios-devel@lists.xenproject.org; Thu, 05 Dec 2019 10:36:30 +0000
X-Inumbo-ID: 159b2bda-174b-11ea-aea8-bc764e2007e4
Received: from serv108.segi.ulg.ac.be (unknown [139.165.32.111])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 159b2bda-174b-11ea-aea8-bc764e2007e4;
 Thu, 05 Dec 2019 10:36:24 +0000 (UTC)
Received: from mbx11-zne.ulg.ac.be (serv469.segi.ulg.ac.be [139.165.32.198])
 by serv108.segi.ulg.ac.be (Postfix) with ESMTP id 93A44200E7CF;
 Thu,  5 Dec 2019 11:36:23 +0100 (CET)
DKIM-Filter: OpenDKIM Filter v2.11.0 serv108.segi.ulg.ac.be 93A44200E7CF
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=uliege.be;
 s=ulg20190529; t=1575542183;
 bh=K+/lFYPOa5iubes0IHDAMULjF/eOMGUjAO21oh9UWso=;
 h=Date:From:To:Cc:In-Reply-To:References:Subject:From;
 b=ryZfXpJwnqjkcXshWCC8muMvkqWWL2ngou/ZvLHvzCvJ0zGepEgEeYu4UXIIVvK+o
 TZiMvXTg1le+PGtcysd9A6fWlVryzPuwZ2KlX5jiH8gDrJh48rwaB6P+aC3puLzent
 KCys06OTr4j4x7JY4RlKD6fx64YLP69YYRC3CViQoNk3EOGLSxgQd7/lfRysHtWPMH
 EN+RifjBlQFb7297+tsOuGef4GqTRHhRzetA7J8drje6ZsVrbzcZUbN1F8zDDJvghG
 o+WNnWXrymdoMJ0kje0kkJ90ZiRUTyndVrUb/EedYwuK0xTlQi8i4JXn1fytYnuNda
 u3Q3MUrE5OLqQ==
Received: from localhost (localhost.localdomain [127.0.0.1])
 by mbx11-zne.ulg.ac.be (Postfix) with ESMTP id 87B566864E3;
 Thu,  5 Dec 2019 11:36:23 +0100 (CET)
Received: from mbx11-zne.ulg.ac.be ([127.0.0.1])
 by localhost (mbx11-zne.ulg.ac.be [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id HJZvreo71RYb; Thu,  5 Dec 2019 11:36:23 +0100 (CET)
Received: from mbx11-zne.ulg.ac.be (mbx11-zne.ulg.ac.be [139.165.32.198])
 by mbx11-zne.ulg.ac.be (Postfix) with ESMTP id 67C0968630E;
 Thu,  5 Dec 2019 11:36:23 +0100 (CET)
Date: Thu, 5 Dec 2019 11:36:23 +0100 (CET)
From: gaulthier.gain@uliege.be
To: Costin Lupu <costin.lup@gmail.com>
Message-ID: <1079229539.108178923.1575542183227.JavaMail.zimbra@uliege.be>
In-Reply-To: <764aab48-4775-bb39-d57f-4a2b768cedb5@gmail.com>
References: <20191204175216.31249-1-gaulthier.gain@uliege.be>
 <20191204175216.31249-6-gaulthier.gain@uliege.be>
 <764aab48-4775-bb39-d57f-4a2b768cedb5@gmail.com>
MIME-Version: 1.0
X-Originating-IP: [10.22.59.238]
X-Mailer: Zimbra 8.8.11_GA_3780 (ZimbraWebClient - SAF13 (Mac)/8.8.11_GA_3787)
Thread-Topic: Add config.h in include folder
Thread-Index: eaVkaqXE0EndeDOdJcVTTpO/HvnMJg==
Subject: Re: [Minios-devel] [UNIKRAFT/SQLITE V3 PATCH 5/5] Add config.h in
 include folder
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: minios-devel@lists.xenproject.org, felipe huici <felipe.huici@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgQ29zdGluLCAKClRoYW5rcyBmb3IgdGhlIHJldmlldy4gSSB3aWxsIGNvbnNpZGVyIHlvdXIg
Y29tbWVudHMuCgpHYXVsdGhpZXIKCi0tLS0tIE1haWwgb3JpZ2luYWwgLS0tLS0KRGU6ICJDb3N0
aW4gTHVwdSIgPGNvc3Rpbi5sdXBAZ21haWwuY29tPgrDgDogIkdhdWx0aGllciBHYWluIiA8Z2F1
bHRoaWVyLmdhaW5AdWxpZWdlLmJlPiwgbWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3Jn
CkNjOiAiZmVsaXBlIGh1aWNpIiA8ZmVsaXBlLmh1aWNpQG5lY2xhYi5ldT4KRW52b3nDqTogSmV1
ZGkgNSBEw6ljZW1icmUgMjAxOSAxMToyMjowMQpPYmpldDogUmU6IFtNaW5pb3MtZGV2ZWxdIFtV
TklLUkFGVC9TUUxJVEUgVjMgUEFUQ0ggNS81XSBBZGQgY29uZmlnLmggaW4gaW5jbHVkZSBmb2xk
ZXIKCkhpIEdhdWx0aGllciwKCkZvciBvdXIgcHJldmlvdXMgcG9ydHMsIHdoZW5ldmVyIHdlIG1v
ZGlmaWVkIGEgZ2VuZXJhdGVkIGZpbGUgd2UgdXNlZCAyCnBhdGNoZXMgZm9yIHRoYXQgZmlsZTog
Zmlyc3Qgb25lIGludHJvZHVjaW5nIHRoZSBmaWxlIGp1c3QgYXMgaXQgd2FzCmdlbmVyYXRlZCAo
YSBzaW1wbGUgY29weS1wYXN0ZSkgYW5kIGEgc2Vjb25kIG9uZSBlaXRoZXIgY29tbWVudGluZyBv
cgpyZW1vdmluZyB3aGF0IGlzIG5vdCBzdXBwb3J0ZWQgYnkgVW5pa3JhZnQuIEl0J3MgZWFzaWVy
IHRoaXMgd2F5IHRvIGtlZXAKdHJhY2sgb2YgdGhlIGZlYXR1cmVzIHRoYXQgaGF2ZSB0byBiZSBl
bmFibGVkIGJhY2ssIGFmdGVyIHdlIGFkZCB0aG9zZQptaXNzaW5nIGZlYXR1cmVzIGluIFVuaWty
YWZ0LgoKWW91IGNhbiBoYXZlIGEgbG9vayBmb3Igc29tZSBleGFtcGxlcyBhdCBQeXRob24ncyBb
MV0gcGF0Y2hlcyBmb3IKcHljb25maWcuaCBhbmQgX3N5c2NvbmZpZ2RhdGEucHkgZmlsZXMgb3Ig
TkdJTlgncyBbMl0gcGF0Y2hlcyBmb3IKaW5jbHVkZS9uZ3hfYXV0b19jb25maWcuaCBhbmQgbmd4
X21vZHVsZXMuYyBmaWxlcy4KClsxXSBodHRwczovL2dpdGh1Yi5jb20vdW5pa3JhZnQvbGliLXB5
dGhvbjMvY29tbWl0cy9zdGFnaW5nClsyXSBodHRwczovL2dpdGh1Yi5jb20vdW5pa3JhZnQvbGli
LW5naW54L2NvbW1pdHMvc3RhZ2luZwoKQ2hlZXJzLApDb3N0aW4KCk9uIDEyLzQvMTkgNzo1MiBQ
TSwgR2F1bHRoaWVyIEdhaW4gd3JvdGU6Cj4gVGhpcyBmaWxlIGNvbnRhaW5zIFNRTGl0ZSBjb25m
aWd1cmF0aW9uLiBUaG9zZSBhcmUgdmFsdWVzL29wdGlvbnMKPiBnZW5lcmF0ZWQgYnkgY29uZmln
dXJlIGFuZCBhcmUgdXBkYXRlZCB0byBzdXBwb3J0IFVuaWtyYWZ0Lgo+IAo+IFNpZ25lZC1vZmYt
Ynk6IEdhdWx0aGllciBHYWluIDxnYXVsdGhpZXIuZ2FpbkB1bGllZ2UuYmU+Cj4gLS0tCj4gIGlu
Y2x1ZGUvY29uZmlnLmggfCAzNSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+
ICAxIGZpbGUgY2hhbmdlZCwgMzUgaW5zZXJ0aW9ucygrKQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQg
aW5jbHVkZS9jb25maWcuaAo+IAo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2NvbmZpZy5oIGIvaW5j
bHVkZS9jb25maWcuaAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMC4uOThk
ODFiMwo+IC0tLSAvZGV2L251bGwKPiArKysgYi9pbmNsdWRlL2NvbmZpZy5oCj4gQEAgLTAsMCAr
MSwzNSBAQAo+ICsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGdtdGltZV9yJyBmdW5j
dGlvbi4gKi8KPiArI2RlZmluZSBIQVZFX0dNVElNRV9SIDEKPiArCj4gKy8qIERlZmluZSB0byAx
IGlmIHRoZSBzeXN0ZW0gaGFzIHRoZSB0eXBlIGBpbnQxNl90Jy4gKi8KPiArI2RlZmluZSBIQVZF
X0lOVDE2X1QgMQo+ICsKPiArLyogRGVmaW5lIHRvIDEgaWYgdGhlIHN5c3RlbSBoYXMgdGhlIHR5
cGUgYGludDMyX3QnLiAqLwo+ICsjZGVmaW5lIEhBVkVfSU5UMzJfVCAxCj4gKwo+ICsvKiBEZWZp
bmUgdG8gMSBpZiB0aGUgc3lzdGVtIGhhcyB0aGUgdHlwZSBgaW50NjRfdCcuICovCj4gKyNkZWZp
bmUgSEFWRV9JTlQ2NF9UIDEKPiArCj4gKy8qIERlZmluZSB0byAxIGlmIHRoZSBzeXN0ZW0gaGFz
IHRoZSB0eXBlIGBpbnQ4X3QnLiAqLwo+ICsjZGVmaW5lIEhBVkVfSU5UOF9UIDEKPiArCj4gKy8q
IERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8aW50dHlwZXMuaD4gaGVhZGVyIGZpbGUuICov
Cj4gKyNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKPiArCj4gKy8qIERlZmluZSB0byAxIGlmIHlv
dSBoYXZlIHRoZSBgbG9jYWx0aW1lX3InIGZ1bmN0aW9uLiAqLwo+ICsjZGVmaW5lIEhBVkVfTE9D
QUxUSU1FX1IgMQo+ICsKPiArLyogRGVmaW5lIHRvIDEgaWYgdGhlIHN5c3RlbSBoYXMgdGhlIHR5
cGUgYHVpbnQxNl90Jy4gKi8KPiArI2RlZmluZSBIQVZFX1VJTlQxNl9UIDEKPiArCj4gKy8qIERl
ZmluZSB0byAxIGlmIHRoZSBzeXN0ZW0gaGFzIHRoZSB0eXBlIGB1aW50MzJfdCcuICovCj4gKyNk
ZWZpbmUgSEFWRV9VSU5UMzJfVCAxCj4gKwo+ICsvKiBEZWZpbmUgdG8gMSBpZiB0aGUgc3lzdGVt
IGhhcyB0aGUgdHlwZSBgdWludDY0X3QnLiAqLwo+ICsjZGVmaW5lIEhBVkVfVUlOVDY0X1QgMQo+
ICsKPiArLyogRGVmaW5lIHRvIDEgaWYgdGhlIHN5c3RlbSBoYXMgdGhlIHR5cGUgYHVpbnQ4X3Qn
LiAqLwo+ICsjZGVmaW5lIEhBVkVfVUlOVDhfVCAxCj4gKwo+ICsvKiBEZWZpbmUgdG8gMSBpZiB5
b3UgaGF2ZSB0aGUgYHVzbGVlcCcgZnVuY3Rpb24uICovCj4gKyNkZWZpbmUgSEFWRV9VU0xFRVAg
MQo+CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5p
b3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpo
dHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Thu Dec 05 14:02:36 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 05 Dec 2019 14:02:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1icriF-0007Ou-T9; Thu, 05 Dec 2019 14:02:35 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=NF6K=Z3=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1icriE-0007OW-ME
 for minios-devel@lists.xen.org; Thu, 05 Dec 2019 14:02:34 +0000
X-Inumbo-ID: e13e76eb-1767-11ea-8227-12813bfff9fa
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id e13e76eb-1767-11ea-8227-12813bfff9fa;
 Thu, 05 Dec 2019 14:02:32 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 52EFC103FC6;
 Thu,  5 Dec 2019 15:02:31 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-a.office.hd)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id Nj_YUkawe3Ky; Thu,  5 Dec 2019 15:02:31 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from puck.office.hd (puck.office.hd [192.168.24.91])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 1AC42103FB2;
 Thu,  5 Dec 2019 15:02:31 +0100 (CET)
Received: from localhost (192.168.24.96) by puck.office.hd (192.168.24.91)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 5 Dec 2019
 15:02:30 +0100
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Thu, 5 Dec 2019 15:02:16 +0100
Message-ID: <20191205140222.4262-1-simon.kuenzer@neclab.eu>
X-Mailer: git-send-email 2.20.1
MIME-Version: 1.0
X-Originating-IP: [192.168.24.96]
X-ClientProxiedBy: puck.office.hd (192.168.24.91) To puck.office.hd
 (192.168.24.91)
Subject: [Minios-devel] [UNIKRAFT PATCH 0/6] Support for binary system calls
 (x86_64, KVM for now)
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>,
 Gaulthier Gain <gaulthier.gain@uliege.be>,
 Simon Kuenzer <simon.kuenzer@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhpcyBzZXJpZXMgcHJlcGFyZXMgVW5pa3JhZnQgdG8gc3VwcG9ydCBiaW5hcnkgc3lzdGVtIGNh
bGxzIChgc3lzY2FsbGAKaW5zdHJ1Y3Rpb24pLiBUaGlzIGlzIGludHJvZHVjZWQgc28gdGhhdCB3
ZSBjYW4gaW1wbGVtZW50IGJpbmFyeQpjb21wYXRpYmlsaXR5IHdpdGggVW5pa3JhZnQgb24gdG9w
LiBUaGUgcGF0Y2hlcyBpbnRyb2R1Y2UgYQpTeXNjYWxsLUFCSS1pbmRlcGVuZGVudCBBUEkgZm9y
IGxpYnJhcmllcyB0byByZWdpc3RlciBzeXN0ZW0gY2FsbCBoYW5kbGVycy4KU3VwcG9ydCBmb3Ig
dHJhcHBpbmcgYHN5c2NhbGxgIGluc3RydWN0aW9ucyBpcyBpbXBsZW1lbnRlZCBmaXJzdCBvbiBL
Vk0KcGxhdGZvcm0uIE90aGVyIHBsYXRmb3JtcyBtYXkgZm9sbG93Li4uCgpTaW1vbiBLdWVuemVy
ICg2KToKICBhcmNoL3g4NjogTW92ZSBgc3RydWN0IF9fcmVnc2AgZGVmaW5pdGlvbiB0byA8dWsv
YXJjaC9sY3B1Lmg+CiAgcGxhdC9jb21tb246IFByb3ZpZGUgY3B1aWQgbWFjcm8gZm9yIHg4Ngog
IHBsYXQvY29tbW9uOiBQcm92aWRlIHJkbXNyIGFtZCByZG1zcmwgZm9yIHg4NgogIHBsYXQvKjog
QWRkIGJpbmFyeSBzeXN0ZW0gY2FsbCBmZWF0dXJlIGFuZCBBUEkKICBwbGF0L2NvbW1vbjogSW5p
dGlhbGl6ZSBgc3lzY2FsbGAvYHN5c3JldGAgZm9yIHg4NgogIHBsYXQva3ZtOiBTeXN0ZW0gY2Fs
bCB0cmFwIGhhbmRsZXIgKHg4Nl82NCkKCiBhcmNoL3g4Ni94ODZfNjQvaW5jbHVkZS91ay9hc20v
bGNwdS5oICAgICAgICAgfCAgNjQgKysrKysrKysrCiBpbmNsdWRlL3VrL2FyY2gvbGNwdS5oICAg
ICAgICAgICAgICAgICAgICAgICAgfCAgIDQgKwogLi4uL3g4Ni9yZWdzLmggPT4gaW5jbHVkZS91
ay9wbGF0L3N5c2NhbGwuaCAgIHwgMTIxICsrKysrKystLS0tLS0tLS0tLQogbGliL0NvbmZpZy51
ayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA0ICsKIHBsYXQvY29tbW9uL2lu
Y2x1ZGUvdWsvcGxhdC9jb21tb24vdHJhY2UuaCAgICB8ICAgNiArLQogcGxhdC9jb21tb24vaW5j
bHVkZS94ODYvY3B1LmggICAgICAgICAgICAgICAgIHwgIDk3ICsrKysrKysrKysrKystCiBwbGF0
L2NvbW1vbi9pbmNsdWRlL3g4Ni9jcHVfZGVmcy5oICAgICAgICAgICAgfCAgMjIgKysrKwogcGxh
dC9jb21tb24vaW5jbHVkZS94ODYvdHJhcHMuaCAgICAgICAgICAgICAgIHwgICAyICstCiBwbGF0
L2NvbW1vbi94ODYvc3lzY2FsbC5TICAgICAgICAgICAgICAgICAgICAgfCAxMTEgKysrKysrKysr
KysrKysrKwogcGxhdC9rdm0vQ29uZmlnLnVrICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg
ICAyICstCiBwbGF0L2t2bS9NYWtlZmlsZS51ayAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg
IDMgKwogcGxhdC9rdm0veDg2L2NwdV92ZWN0b3JzX3g4Nl82NC5TICAgICAgICAgICAgIHwgIDEx
ICstCiBwbGF0L2t2bS94ODYvc2V0dXAuYyAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDQg
KwogcGxhdC9saW51eHUvQ29uZmlnLnVrICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxICsK
IHBsYXQveGVuL0NvbmZpZy51ayAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMSArCiBw
bGF0L3hlbi94ODYvZW50cnk2NC5TICAgICAgICAgICAgICAgICAgICAgICAgfCAgODQgKysrKysr
LS0tLS0tCiAxNiBmaWxlcyBjaGFuZ2VkLCA0MDIgaW5zZXJ0aW9ucygrKSwgMTM1IGRlbGV0aW9u
cygtKQogcmVuYW1lIHBsYXQvY29tbW9uL2luY2x1ZGUveDg2L3JlZ3MuaCA9PiBpbmNsdWRlL3Vr
L3BsYXQvc3lzY2FsbC5oICgxOSUpCiBjcmVhdGUgbW9kZSAxMDA2NDQgcGxhdC9jb21tb24veDg2
L3N5c2NhbGwuUwoKLS0gCjIuMjAuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxp
c3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9s
aXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Thu Dec 05 14:02:41 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 05 Dec 2019 14:02:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1icriK-0007QW-VO; Thu, 05 Dec 2019 14:02:40 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=NF6K=Z3=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1icriJ-0007Pz-OX
 for minios-devel@lists.xen.org; Thu, 05 Dec 2019 14:02:39 +0000
X-Inumbo-ID: e4312028-1767-11ea-8227-12813bfff9fa
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id e4312028-1767-11ea-8227-12813bfff9fa;
 Thu, 05 Dec 2019 14:02:37 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 2A1BAF2029;
 Thu,  5 Dec 2019 15:02:36 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-b.office.hd)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id oL6a0jp1qUpc; Thu,  5 Dec 2019 15:02:36 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from puck.office.hd (puck.office.hd [192.168.24.91])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 037D4F2008;
 Thu,  5 Dec 2019 15:02:32 +0100 (CET)
Received: from localhost (192.168.24.96) by puck.office.hd (192.168.24.91)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 5 Dec 2019
 15:02:31 +0100
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Thu, 5 Dec 2019 15:02:17 +0100
Message-ID: <20191205140222.4262-2-simon.kuenzer@neclab.eu>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <20191205140222.4262-1-simon.kuenzer@neclab.eu>
References: <20191205140222.4262-1-simon.kuenzer@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [192.168.24.96]
X-ClientProxiedBy: oberon.office.hd (192.168.24.90) To puck.office.hd
 (192.168.24.91)
Subject: [Minios-devel] [UNIKRAFT PATCH 1/6] arch/x86: Move `struct __regs`
 definition to <uk/arch/lcpu.h>
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>,
 Gaulthier Gain <gaulthier.gain@uliege.be>,
 Simon Kuenzer <simon.kuenzer@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RXhwb3NlIGBzdHJ1Y3QgX19yZWdzYCBhcyBwYXJ0IG9mIHRoZSBhcmNoaXRlY3R1cmUgaGVhZGVy
cy4gVGhpcyBpcwppbmxpbmUgd2l0aCB3aGF0IHdlIGRpZCBmb3IgQXJtNjQgYW5kIHVzZWZ1bCBm
b3IgbXVsdGlwbGUgdGhpbmdzOgogLSBgZHVtcF9yZWdzKClgIGNvdWxkIGJlIG1vdmVkIHRvIGxp
YnVrZGVidWcKIC0gQSBzeXNjYWxsLUFCSS1pbmRlcGVuZGVudCBpbnRlcmZhY2UgY291bGQgYmUg
ZGVmaW5lZCBmb3IgcmVnaXN0ZXJpbmcKICAgc3lzY2FsbCBoYW5kbGVyIGxpYnJhcmllcy4gQSBz
eXNjYWxsIGhhbmRsZXIgd291bGQgZ2V0IGhhbmRlZCBvdmVyCiAgIGEgcmVmZXJlbmNlIHRvIHRo
ZSBzYXZlZCByZWdpc3RlcnMgc3RhdGUgaW4gb3JkZXIgdG8gbGV0IGl0IGhhbmRsZQogICB0aGUg
c3lzdGVtIGNhbGwgYXJndW1lbnRzIGFjY29yZGluZyB0byB0aGUgdGFyZ2V0IEFCSS4KClNpZ25l
ZC1vZmYtYnk6IFNpbW9uIEt1ZW56ZXIgPHNpbW9uLmt1ZW56ZXJAbmVjbGFiLmV1PgotLS0KIGFy
Y2gveDg2L3g4Nl82NC9pbmNsdWRlL3VrL2FzbS9sY3B1LmggICAgICB8IDY0ICsrKysrKysrKysr
KysrKwogaW5jbHVkZS91ay9hcmNoL2xjcHUuaCAgICAgICAgICAgICAgICAgICAgIHwgIDQgKwog
cGxhdC9jb21tb24vaW5jbHVkZS91ay9wbGF0L2NvbW1vbi90cmFjZS5oIHwgIDYgKy0KIHBsYXQv
Y29tbW9uL2luY2x1ZGUveDg2L3JlZ3MuaCAgICAgICAgICAgICB8IDk0IC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KIHBsYXQvY29tbW9uL2luY2x1ZGUveDg2L3RyYXBzLmggICAgICAgICAgICB8ICAy
ICstCiBwbGF0L2t2bS94ODYvY3B1X3ZlY3RvcnNfeDg2XzY0LlMgICAgICAgICAgfCAxMSArKy0K
IHBsYXQveGVuL3g4Ni9lbnRyeTY0LlMgICAgICAgICAgICAgICAgICAgICB8IDg0ICsrKysrKysr
Ky0tLS0tLS0tLS0KIDcgZmlsZXMgY2hhbmdlZCwgMTE3IGluc2VydGlvbnMoKyksIDE0OCBkZWxl
dGlvbnMoLSkKIGRlbGV0ZSBtb2RlIDEwMDY0NCBwbGF0L2NvbW1vbi9pbmNsdWRlL3g4Ni9yZWdz
LmgKCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni94ODZfNjQvaW5jbHVkZS91ay9hc20vbGNwdS5oIGIv
YXJjaC94ODYveDg2XzY0L2luY2x1ZGUvdWsvYXNtL2xjcHUuaAppbmRleCA4YzcwNTQwYS4uNmE0
NzFhMTUgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3g4Nl82NC9pbmNsdWRlL3VrL2FzbS9sY3B1LmgK
KysrIGIvYXJjaC94ODYveDg2XzY0L2luY2x1ZGUvdWsvYXNtL2xjcHUuaApAQCAtMzIsNiArMzIs
NjkgQEAKICNlcnJvciBEbyBub3QgaW5jbHVkZSB0aGlzIGhlYWRlciBkaXJlY3RseQogI2VuZGlm
CiAKKyNpZm5kZWYgX19BU1NFTUJMWV9fCitzdHJ1Y3QgX19yZWdzIHsKKwl1bnNpZ25lZCBsb25n
IHBhZDsgLyogOCBieXRlcyB0byBtYWtlIHN0cnVjdCBzaXplIG11bHRpcGxlIG9mIDE2ICovCisJ
dW5zaWduZWQgbG9uZyByMTU7CisJdW5zaWduZWQgbG9uZyByMTQ7CisJdW5zaWduZWQgbG9uZyBy
MTM7CisJdW5zaWduZWQgbG9uZyByMTI7CisJdW5zaWduZWQgbG9uZyByYnA7CisJdW5zaWduZWQg
bG9uZyByYng7CisvKiBhcmd1bWVudHM6IG5vbiBpbnRlcnJ1cHRzL25vbiB0cmFjaW5nIHN5c2Nh
bGxzIG9ubHkgc2F2ZSB1cHRvIGhlcmUqLworCXVuc2lnbmVkIGxvbmcgcjExOworCXVuc2lnbmVk
IGxvbmcgcjEwOworCXVuc2lnbmVkIGxvbmcgcjk7CisJdW5zaWduZWQgbG9uZyByODsKKwl1bnNp
Z25lZCBsb25nIHJheDsKKwl1bnNpZ25lZCBsb25nIHJjeDsKKwl1bnNpZ25lZCBsb25nIHJkeDsK
Kwl1bnNpZ25lZCBsb25nIHJzaTsKKwl1bnNpZ25lZCBsb25nIHJkaTsKKwl1bnNpZ25lZCBsb25n
IG9yaWdfcmF4OworLyogZW5kIG9mIGFyZ3VtZW50cyAqLworLyogY3B1IGV4Y2VwdGlvbiBmcmFt
ZSBvciB1bmRlZmluZWQgKi8KKwl1bnNpZ25lZCBsb25nIHJpcDsKKwl1bnNpZ25lZCBsb25nIGNz
OworCXVuc2lnbmVkIGxvbmcgZWZsYWdzOworCXVuc2lnbmVkIGxvbmcgcnNwOworCXVuc2lnbmVk
IGxvbmcgc3M7CisvKiB0b3Agb2Ygc3RhY2sgcGFnZSAqLworfTsKKyNlbmRpZiAvKiAhX19BU1NF
TUJMWV9fICovCisKKyNkZWZpbmUgX19SRUdTX09GRlNFVE9GX1BBRCAgICAgICAwCisjZGVmaW5l
IF9fUkVHU19PRkZTRVRPRl9SMTUgICAgICAgOAorI2RlZmluZSBfX1JFR1NfT0ZGU0VUT0ZfUjE0
ICAgICAgIDE2CisjZGVmaW5lIF9fUkVHU19PRkZTRVRPRl9SMTMgICAgICAgMjQKKyNkZWZpbmUg
X19SRUdTX09GRlNFVE9GX1IxMiAgICAgICAzMgorI2RlZmluZSBfX1JFR1NfT0ZGU0VUT0ZfUkJQ
ICAgICAgIDQwCisjZGVmaW5lIF9fUkVHU19PRkZTRVRPRl9SQlggICAgICAgNDgKKyNkZWZpbmUg
X19SRUdTX09GRlNFVE9GX1IxMSAgICAgICA1NgorI2RlZmluZSBfX1JFR1NfT0ZGU0VUT0ZfUjEw
ICAgICAgIDY0CisjZGVmaW5lIF9fUkVHU19PRkZTRVRPRl9SOSAgICAgICAgNzIKKyNkZWZpbmUg
X19SRUdTX09GRlNFVE9GX1I4ICAgICAgICA4MAorI2RlZmluZSBfX1JFR1NfT0ZGU0VUT0ZfUkFY
ICAgICAgIDg4CisjZGVmaW5lIF9fUkVHU19PRkZTRVRPRl9SQ1ggICAgICAgOTYKKyNkZWZpbmUg
X19SRUdTX09GRlNFVE9GX1JEWCAgICAgICAxMDQKKyNkZWZpbmUgX19SRUdTX09GRlNFVE9GX1JT
SSAgICAgICAxMTIKKyNkZWZpbmUgX19SRUdTX09GRlNFVE9GX1JESSAgICAgICAxMjAKKyNkZWZp
bmUgX19SRUdTX09GRlNFVE9GX09SSUdfUkFYICAxMjgKKyNkZWZpbmUgX19SRUdTX09GRlNFVE9G
X1JJUCAgICAgICAxMzYKKyNkZWZpbmUgX19SRUdTX09GRlNFVE9GX0NTICAgICAgICAxNDQKKyNk
ZWZpbmUgX19SRUdTX09GRlNFVE9GX0VGTEFHUyAgICAxNTIKKyNkZWZpbmUgX19SRUdTX09GRlNF
VE9GX1JTUCAgICAgICAxNjAKKyNkZWZpbmUgX19SRUdTX09GRlNFVE9GX1NTICAgICAgICAxNjgK
KworI2RlZmluZSBfX1JFR1NfUEFEX1NJWkUgICAgICAgICAgIF9fUkVHU19PRkZTRVRPRl9SMTUK
KyNkZWZpbmUgX19SRUdTX1NJWkVPRiAgICAgICAgICAgICAxNzYKKworLyogc2FuaXR5IGNoZWNr
ICovCisjaWYgX19SRUdTX1NJWkVPRiAmIDB4ZgorI2Vycm9yICJfX3JlZ3Mgc3RydWN0dXJlIHNp
emUgc2hvdWxkIGJlIG11bHRpcGxlIG9mIDE2LiIKKyNlbmRpZgorCisjaWZuZGVmIF9fQVNTRU1C
TFlfXwogI2lmbmRlZiBtYgogI2RlZmluZSBtYigpICAgIF9fYXNtX18gX192b2xhdGlsZV9fICgi
bWZlbmNlIiA6IDogOiAibWVtb3J5IikKICNlbmRpZgpAQCAtNTUsMyArMTE4LDQgQEAgc3RhdGlj
IGlubGluZSB1bnNpZ25lZCBsb25nIHVrYXJjaF9yZWFkX3NwKHZvaWQpCiAJX19hc21fXyBfX3Zv
bGF0aWxlX18oIm1vdiAlJXJzcCwgJTAiIDogIj1yIihzcCkpOwogCXJldHVybiBzcDsKIH0KKyNl
bmRpZiAvKiAhX19BU1NFTUJMWV9fICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL3VrL2FyY2gvbGNw
dS5oIGIvaW5jbHVkZS91ay9hcmNoL2xjcHUuaAppbmRleCA4M2VhNmVjYy4uYzUyMTYyODcgMTAw
NjQ0Ci0tLSBhL2luY2x1ZGUvdWsvYXJjaC9sY3B1LmgKKysrIGIvaW5jbHVkZS91ay9hcmNoL2xj
cHUuaApAQCAtMzYsNyArMzYsOSBAQAogI2lmbmRlZiBfX1VLQVJDSF9MQ1BVX0hfXwogI2RlZmlu
ZSBfX1VLQVJDSF9MQ1BVX0hfXwogCisjaWZuZGVmIF9fQVNTRU1CTFlfXwogI2luY2x1ZGUgPHVr
L2FyY2gvdHlwZXMuaD4KKyNlbmRpZiAvKiAhX19BU1NFTUJMWV9fICovCiAKICNpZmRlZiBfX2Nw
bHVzcGx1cwogZXh0ZXJuICJDIiB7CkBAIC00NCw2ICs0Niw3IEBAIGV4dGVybiAiQyIgewogCiAj
aW5jbHVkZSA8dWsvYXNtL2xjcHUuaD4KIAorI2lmbmRlZiBfX0FTU0VNQkxZX18KICNpZm5kZWYg
bGlrZWx5CiAjZGVmaW5lIGxpa2VseSh4KSAgIChfX2J1aWx0aW5fZXhwZWN0KCghISh4KSksIDEp
KQogI2VuZGlmCkBAIC02Nyw2ICs3MCw3IEBAIGV4dGVybiAiQyIgewogI2lmbmRlZiB3bWIKICNk
ZWZpbmUgd21iKCkgICAgIGJhcnJpZXIoKQogI2VuZGlmCisjZW5kaWYgLyogIV9fQVNTRU1CTFlf
XyAqLwogCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KZGlmZiAtLWdpdCBhL3BsYXQvY29tbW9uL2lu
Y2x1ZGUvdWsvcGxhdC9jb21tb24vdHJhY2UuaCBiL3BsYXQvY29tbW9uL2luY2x1ZGUvdWsvcGxh
dC9jb21tb24vdHJhY2UuaAppbmRleCBhNDIzMTUzZS4uYmMzYjZkZTggMTAwNjQ0Ci0tLSBhL3Bs
YXQvY29tbW9uL2luY2x1ZGUvdWsvcGxhdC9jb21tb24vdHJhY2UuaAorKysgYi9wbGF0L2NvbW1v
bi9pbmNsdWRlL3VrL3BsYXQvY29tbW9uL3RyYWNlLmgKQEAgLTM0LDExICszNCw3IEBACiAjaWZu
ZGVmIF9fUExBVF9DTU5fVFJBQ0VfSF9fCiAjZGVmaW5lIF9fUExBVF9DTU5fVFJBQ0VfSF9fCiAK
LSNpZmRlZiBfX1g4Nl82NF9fCi0jaW5jbHVkZSA8eDg2L3JlZ3MuaD4gLyogVE9ETyBpbmNsdWRl
IGEgZ2VuZXJpYyBoZWFkZXIgKi8KLSNlbHNlCi0jZXJyb3IgIkNyZWF0ZSByZWdzLmggZm9yIGN1
cnJlbnQgYXJjaGl0ZWN0dXJlIgotI2VuZGlmCisjaW5jbHVkZSA8dWsvYXJjaC9sY3B1Lmg+CiAK
IHZvaWQgZHVtcF9yZWdzKHN0cnVjdCBfX3JlZ3MgKnJlZ3MpOwogdm9pZCBkdW1wX21lbSh1bnNp
Z25lZCBsb25nIGFkZHIpOwpkaWZmIC0tZ2l0IGEvcGxhdC9jb21tb24vaW5jbHVkZS94ODYvcmVn
cy5oIGIvcGxhdC9jb21tb24vaW5jbHVkZS94ODYvcmVncy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBhNmE4NDdlNC4uMDAwMDAwMDAKLS0tIGEvcGxhdC9jb21tb24vaW5jbHVkZS94
ODYvcmVncy5oCisrKyAvZGV2L251bGwKQEAgLTEsOTQgKzAsMCBAQAotLyogU1BEWC1MaWNlbnNl
LUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZSAqLwotLyoKLSAqIENvcHlyaWdodCAoYykgMjAwNSwg
R3J6ZWdvcnogTWlsb3MsIEludGVsIFJlc2VhcmNoIENhbWJyaWRnZQotICogQ29weXJpZ2h0IChj
KSAyMDE4LCBORUMgRXVyb3BlIEx0ZC4sIE5FQyBDb3Jwb3JhdGlvbi4KLSAqCi0gKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0g
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0g
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFVVEhPUiBBTkQgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJyBBTkQKLSAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKLSAqIEFS
RSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVVUSE9SIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUKLSAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCi0gKiBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUwotICogT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pCi0gKiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAotICogTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQotICog
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRgotICogU1VDSCBEQU1BR0UuCi0gKi8KLSNpZm5kZWYgX19VS0FSQ0hfUkVH
U19IX18KLSNkZWZpbmUgX19VS0FSQ0hfUkVHU19IX18KLQotI2lmbmRlZiBfX0FTU0VNQkxZX18K
LXN0cnVjdCBfX3JlZ3MgewotCXVuc2lnbmVkIGxvbmcgcGFkOyAvKiBmb3IgMTYgYnl0ZXMgYWxp
Z25tZW50ICovCi0JdW5zaWduZWQgbG9uZyByMTU7Ci0JdW5zaWduZWQgbG9uZyByMTQ7Ci0JdW5z
aWduZWQgbG9uZyByMTM7Ci0JdW5zaWduZWQgbG9uZyByMTI7Ci0JdW5zaWduZWQgbG9uZyByYnA7
Ci0JdW5zaWduZWQgbG9uZyByYng7Ci0vKiBhcmd1bWVudHM6IG5vbiBpbnRlcnJ1cHRzL25vbiB0
cmFjaW5nIHN5c2NhbGxzIG9ubHkgc2F2ZSB1cHRvIGhlcmUqLwotCXVuc2lnbmVkIGxvbmcgcjEx
OwotCXVuc2lnbmVkIGxvbmcgcjEwOwotCXVuc2lnbmVkIGxvbmcgcjk7Ci0JdW5zaWduZWQgbG9u
ZyByODsKLQl1bnNpZ25lZCBsb25nIHJheDsKLQl1bnNpZ25lZCBsb25nIHJjeDsKLQl1bnNpZ25l
ZCBsb25nIHJkeDsKLQl1bnNpZ25lZCBsb25nIHJzaTsKLQl1bnNpZ25lZCBsb25nIHJkaTsKLQl1
bnNpZ25lZCBsb25nIG9yaWdfcmF4OwotLyogZW5kIG9mIGFyZ3VtZW50cyAqLwotLyogY3B1IGV4
Y2VwdGlvbiBmcmFtZSBvciB1bmRlZmluZWQgKi8KLQl1bnNpZ25lZCBsb25nIHJpcDsKLQl1bnNp
Z25lZCBsb25nIGNzOwotCXVuc2lnbmVkIGxvbmcgZWZsYWdzOwotCXVuc2lnbmVkIGxvbmcgcnNw
OwotCXVuc2lnbmVkIGxvbmcgc3M7Ci0vKiB0b3Agb2Ygc3RhY2sgcGFnZSAqLwotfTsKLSNlbmRp
ZgotCi0jZGVmaW5lIE9GRlNFVE9GX1JFR1NfUEFEICAgICAgIDAKLSNkZWZpbmUgT0ZGU0VUT0Zf
UkVHU19SMTUgICAgICAgOAotI2RlZmluZSBPRkZTRVRPRl9SRUdTX1IxNCAgICAgICAxNgotI2Rl
ZmluZSBPRkZTRVRPRl9SRUdTX1IxMyAgICAgICAyNAotI2RlZmluZSBPRkZTRVRPRl9SRUdTX1Ix
MiAgICAgICAzMgotI2RlZmluZSBPRkZTRVRPRl9SRUdTX1JCUCAgICAgICA0MAotI2RlZmluZSBP
RkZTRVRPRl9SRUdTX1JCWCAgICAgICA0OAotI2RlZmluZSBPRkZTRVRPRl9SRUdTX1IxMSAgICAg
ICA1NgotI2RlZmluZSBPRkZTRVRPRl9SRUdTX1IxMCAgICAgICA2NAotI2RlZmluZSBPRkZTRVRP
Rl9SRUdTX1I5ICAgICAgICA3MgotI2RlZmluZSBPRkZTRVRPRl9SRUdTX1I4ICAgICAgICA4MAot
I2RlZmluZSBPRkZTRVRPRl9SRUdTX1JBWCAgICAgICA4OAotI2RlZmluZSBPRkZTRVRPRl9SRUdT
X1JDWCAgICAgICA5NgotI2RlZmluZSBPRkZTRVRPRl9SRUdTX1JEWCAgICAgICAxMDQKLSNkZWZp
bmUgT0ZGU0VUT0ZfUkVHU19SU0kgICAgICAgMTEyCi0jZGVmaW5lIE9GRlNFVE9GX1JFR1NfUkRJ
ICAgICAgIDEyMAotI2RlZmluZSBPRkZTRVRPRl9SRUdTX09SSUdfUkFYICAxMjgKLSNkZWZpbmUg
T0ZGU0VUT0ZfUkVHU19SSVAgICAgICAgMTM2Ci0jZGVmaW5lIE9GRlNFVE9GX1JFR1NfQ1MgICAg
ICAgIDE0NAotI2RlZmluZSBPRkZTRVRPRl9SRUdTX0VGTEFHUyAgICAxNTIKLSNkZWZpbmUgT0ZG
U0VUT0ZfUkVHU19SU1AgICAgICAgMTYwCi0jZGVmaW5lIE9GRlNFVE9GX1JFR1NfU1MgICAgICAg
IDE2OAotCi0jZGVmaW5lIFJFR1NfUEFEX1NJWkUgICAgICAgICAgIE9GRlNFVE9GX1JFR1NfUjE1
Ci0jZGVmaW5lIFNJWkVPRl9SRUdTICAgICAgICAgICAgIDE3NgotCi0jaWYgU0laRU9GX1JFR1Mg
JiAweGYKLSNlcnJvciAiX19yZWdzIHN0cnVjdHVyZSBzaXplIHNob3VsZCBiZSBtdWx0aXBsZSBv
ZiAxNi4iCi0jZW5kaWYKLQotLyogVGhpcyBzaG91bGQgYmUgYmV0dGVyIGRlZmluZWQgaW4gdGhl
IHRocmVhZCBoZWFkZXIgKi8KLSNkZWZpbmUgT0ZGU0VUT0ZfVUtUSFJFQURfUkVHUyAgMTYKLQot
I2VuZGlmIC8qIF9fVUtBUkNIX1JFR1NfSF9fICovCmRpZmYgLS1naXQgYS9wbGF0L2NvbW1vbi9p
bmNsdWRlL3g4Ni90cmFwcy5oIGIvcGxhdC9jb21tb24vaW5jbHVkZS94ODYvdHJhcHMuaAppbmRl
eCBiMjE3YjM0YS4uZGE5MGYyZWEgMTAwNjQ0Ci0tLSBhL3BsYXQvY29tbW9uL2luY2x1ZGUveDg2
L3RyYXBzLmgKKysrIGIvcGxhdC9jb21tb24vaW5jbHVkZS94ODYvdHJhcHMuaApAQCAtMzYsNyAr
MzYsNyBAQAogI2lmbmRlZiBfX1VLQVJDSF9UUkFQU19YODZfNjRfSF9fCiAjZGVmaW5lIF9fVUtB
UkNIX1RSQVBTX1g4Nl82NF9IX18KIAotI2luY2x1ZGUgPHg4Ni9yZWdzLmg+CisjaW5jbHVkZSA8
dWsvYXJjaC9sY3B1Lmg+CiAKICNkZWZpbmUgVFJBUF9kaXZpZGVfZXJyb3IgICAgICAgIDAKICNk
ZWZpbmUgVFJBUF9kZWJ1ZyAgICAgICAgICAgICAgIDEKZGlmZiAtLWdpdCBhL3BsYXQva3ZtL3g4
Ni9jcHVfdmVjdG9yc194ODZfNjQuUyBiL3BsYXQva3ZtL3g4Ni9jcHVfdmVjdG9yc194ODZfNjQu
UwppbmRleCAxYWYyZmQwMC4uMzVhYTU4ZDIgMTAwNjQ0Ci0tLSBhL3BsYXQva3ZtL3g4Ni9jcHVf
dmVjdG9yc194ODZfNjQuUworKysgYi9wbGF0L2t2bS94ODYvY3B1X3ZlY3RvcnNfeDg2XzY0LlMK
QEAgLTI1LDcgKzI1LDYgQEAKIC8qIFRha2VuIGZyb20gc29sbzUgKi8KIAogI2luY2x1ZGUgPHg4
Ni90cmFwcy5oPgotI2luY2x1ZGUgPHg4Ni9yZWdzLmg+CiAKICNkZWZpbmUgRU5UUlkoWCkgICAg
IC5nbG9iYWwgWCA7IC50eXBlIFgsIEBmdW5jdGlvbiA7IFg6CiAKQEAgLTczLDEzICs3MiwxMyBA
QCBFTlRSWShBU01fVFJBUF9TWU0oXHRyYXBuYW1lKSkKIAlwdXNocSAkMCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvKiBubyBlcnJvciBjb2RlLCBwYXNzIDAgKi8KIC5lbmRpZgogCVBVU0hf
Q0FMTEVSX1NBVkUKLQlzdWJxICRSRUdTX1BBRF9TSVpFLCAlcnNwICAgICAgICAgICAvKiB3ZSBo
YXZlIHNvbWUgcGFkZGluZyAqLworCXN1YnEgJF9fUkVHU19QQURfU0laRSwgJXJzcCAgICAgICAg
IC8qIHdlIGhhdmUgc29tZSBwYWRkaW5nICovCiAKIAltb3ZxICVyc3AsICVyZGkKLQltb3ZxIE9G
RlNFVE9GX1JFR1NfT1JJR19SQVgoJXJzcCksICVyc2kKKwltb3ZxIF9fUkVHU19PRkZTRVRPRl9P
UklHX1JBWCglcnNwKSwgJXJzaQogCWNhbGwgZG9fXHRyYXBuYW1lCiAKLQlhZGRxICRSRUdTX1BB
RF9TSVpFLCAlcnNwICAgICAgICAgICAvKiB3ZSBoYXZlIHNvbWUgcGFkZGluZyAqLworCWFkZHEg
JF9fUkVHU19QQURfU0laRSwgJXJzcCAgICAgICAgIC8qIHdlIGhhdmUgc29tZSBwYWRkaW5nICov
CiAJUE9QX0NBTExFUl9TQVZFCiAJYWRkcSAkOCwgJXJzcCAgICAgICAgICAgICAgICAgICAgICAg
LyogZGlzY2FyZCBlcnJvciBjb2RlICovCiAKQEAgLTkyLDEyICs5MSwxMiBAQCBFTlRSWShjcHVf
aXJxX1xpcnFubykKIAogCXB1c2hxICQwICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5v
IGVycm9yIGNvZGUgKi8KIAlQVVNIX0NBTExFUl9TQVZFCi0Jc3VicSAkUkVHU19QQURfU0laRSwg
JXJzcCAgICAgICAgICAgLyogd2UgaGF2ZSBzb21lIHBhZGRpbmcgKi8KKwlzdWJxICRfX1JFR1Nf
UEFEX1NJWkUsICVyc3AgICAgICAgICAvKiB3ZSBoYXZlIHNvbWUgcGFkZGluZyAqLwogCiAJbW92
cSAkXGlycW5vLCAlcmRpCiAJY2FsbCBfdWtwbGF0X2lycV9oYW5kbGUKIAotCWFkZHEgJFJFR1Nf
UEFEX1NJWkUsICVyc3AgICAgICAgICAgIC8qIHdlIGhhdmUgc29tZSBwYWRkaW5nICovCisJYWRk
cSAkX19SRUdTX1BBRF9TSVpFLCAlcnNwICAgICAgICAgLyogd2UgaGF2ZSBzb21lIHBhZGRpbmcg
Ki8KIAlQT1BfQ0FMTEVSX1NBVkUKIAlhZGRxICQ4LCAlcnNwCiAKZGlmZiAtLWdpdCBhL3BsYXQv
eGVuL3g4Ni9lbnRyeTY0LlMgYi9wbGF0L3hlbi94ODYvZW50cnk2NC5TCmluZGV4IGQzNDE4MWJl
Li5hZTExOGUxZCAxMDA2NDQKLS0tIGEvcGxhdC94ZW4veDg2L2VudHJ5NjQuUworKysgYi9wbGF0
L3hlbi94ODYvZW50cnk2NC5TCkBAIC0xODMsNDQgKzE4Myw0NCBAQCBFTlRSWShBU01fVFJBUF9T
WU0oXHRyYXBuYW1lKSkKIC5lbmRtCiAKIC5tYWNybyBSRVNUT1JFX0FMTAotCW1vdnEgT0ZGU0VU
T0ZfUkVHU19SMTUoJXJzcCksICVyMTUKLQltb3ZxIE9GRlNFVE9GX1JFR1NfUjE0KCVyc3ApLCAl
cjE0Ci0JbW92cSBPRkZTRVRPRl9SRUdTX1IxMyglcnNwKSwgJXIxMwotCW1vdnEgT0ZGU0VUT0Zf
UkVHU19SMTIoJXJzcCksICVyMTIKLQltb3ZxIE9GRlNFVE9GX1JFR1NfUkJQKCVyc3ApLCAlcmJw
Ci0JbW92cSBPRkZTRVRPRl9SRUdTX1JCWCglcnNwKSwgJXJieAotCW1vdnEgT0ZGU0VUT0ZfUkVH
U19SMTEoJXJzcCksICVyMTEKLQltb3ZxIE9GRlNFVE9GX1JFR1NfUjEwKCVyc3ApLCAlcjEwCi0J
bW92cSBPRkZTRVRPRl9SRUdTX1I5KCVyc3ApLCAgJXI5Ci0JbW92cSBPRkZTRVRPRl9SRUdTX1I4
KCVyc3ApLCAgJXI4Ci0JbW92cSBPRkZTRVRPRl9SRUdTX1JBWCglcnNwKSwgJXJheAotCW1vdnEg
T0ZGU0VUT0ZfUkVHU19SQ1goJXJzcCksICVyY3gKLQltb3ZxIE9GRlNFVE9GX1JFR1NfUkRYKCVy
c3ApLCAlcmR4Ci0JbW92cSBPRkZTRVRPRl9SRUdTX1JTSSglcnNwKSwgJXJzaQotCW1vdnEgT0ZG
U0VUT0ZfUkVHU19SREkoJXJzcCksICVyZGkKLQlhZGRxICRPRkZTRVRPRl9SRUdTX1JJUCwlcnNw
CisJbW92cSBfX1JFR1NfT0ZGU0VUT0ZfUjE1KCVyc3ApLCAlcjE1CisJbW92cSBfX1JFR1NfT0ZG
U0VUT0ZfUjE0KCVyc3ApLCAlcjE0CisJbW92cSBfX1JFR1NfT0ZGU0VUT0ZfUjEzKCVyc3ApLCAl
cjEzCisJbW92cSBfX1JFR1NfT0ZGU0VUT0ZfUjEyKCVyc3ApLCAlcjEyCisJbW92cSBfX1JFR1Nf
T0ZGU0VUT0ZfUkJQKCVyc3ApLCAlcmJwCisJbW92cSBfX1JFR1NfT0ZGU0VUT0ZfUkJYKCVyc3Ap
LCAlcmJ4CisJbW92cSBfX1JFR1NfT0ZGU0VUT0ZfUjExKCVyc3ApLCAlcjExCisJbW92cSBfX1JF
R1NfT0ZGU0VUT0ZfUjEwKCVyc3ApLCAlcjEwCisJbW92cSBfX1JFR1NfT0ZGU0VUT0ZfUjkoJXJz
cCksICAlcjkKKwltb3ZxIF9fUkVHU19PRkZTRVRPRl9SOCglcnNwKSwgICVyOAorCW1vdnEgX19S
RUdTX09GRlNFVE9GX1JBWCglcnNwKSwgJXJheAorCW1vdnEgX19SRUdTX09GRlNFVE9GX1JDWCgl
cnNwKSwgJXJjeAorCW1vdnEgX19SRUdTX09GRlNFVE9GX1JEWCglcnNwKSwgJXJkeAorCW1vdnEg
X19SRUdTX09GRlNFVE9GX1JTSSglcnNwKSwgJXJzaQorCW1vdnEgX19SRUdTX09GRlNFVE9GX1JE
SSglcnNwKSwgJXJkaQorCWFkZHEgJF9fUkVHU19PRkZTRVRPRl9SSVAsJXJzcAogLmVuZG0KIAog
Lm1hY3JvIFNBVkVfQUxMCiAJLyogcmRpIHNsb3QgY29udGFpbnMgcmF4LCBvbGRyYXggY29udGFp
bnMgZXJyb3IgY29kZSAqLwogCWNsZAotCXN1YnEgJE9GRlNFVE9GX1JFR1NfUkRJLCAlcnNwCi0J
bW92cSAlcnNpLCBPRkZTRVRPRl9SRUdTX1JTSSglcnNwKQotCW1vdnEgT0ZGU0VUT0ZfUkVHU19S
REkoJXJzcCksICVyc2kgICAgLyogbG9hZCByYXggZnJvbSByZGkgc2xvdCAqLwotCW1vdnEgJXJk
eCwgT0ZGU0VUT0ZfUkVHU19SRFgoJXJzcCkKLQltb3ZxICVyY3gsIE9GRlNFVE9GX1JFR1NfUkNY
KCVyc3ApCi0JbW92cSAlcnNpLCBPRkZTRVRPRl9SRUdTX1JBWCglcnNwKSAgICAvKiBzdG9yZSBy
YXggKi8KLQltb3ZxICVyOCwgIE9GRlNFVE9GX1JFR1NfUjgoJXJzcCkKLQltb3ZxICVyOSwgIE9G
RlNFVE9GX1JFR1NfUjkoJXJzcCkKLQltb3ZxICVyMTAsIE9GRlNFVE9GX1JFR1NfUjEwKCVyc3Ap
Ci0JbW92cSAlcjExLCBPRkZTRVRPRl9SRUdTX1IxMSglcnNwKQotCW1vdnEgJXJieCwgT0ZGU0VU
T0ZfUkVHU19SQlgoJXJzcCkKLQltb3ZxICVyYnAsIE9GRlNFVE9GX1JFR1NfUkJQKCVyc3ApCi0J
bW92cSAlcjEyLCBPRkZTRVRPRl9SRUdTX1IxMiglcnNwKQotCW1vdnEgJXIxMywgT0ZGU0VUT0Zf
UkVHU19SMTMoJXJzcCkKLQltb3ZxICVyMTQsIE9GRlNFVE9GX1JFR1NfUjE0KCVyc3ApCi0JbW92
cSAlcjE1LCBPRkZTRVRPRl9SRUdTX1IxNSglcnNwKQotCW1vdnEgJXJkaSwgT0ZGU0VUT0ZfUkVH
U19SREkoJXJzcCkgICAgLyogcHV0IHJkaSBpbnRvIHRoZSBzbG90ICovCisJc3VicSAkX19SRUdT
X09GRlNFVE9GX1JESSwgJXJzcAorCW1vdnEgJXJzaSwgX19SRUdTX09GRlNFVE9GX1JTSSglcnNw
KQorCW1vdnEgX19SRUdTX09GRlNFVE9GX1JESSglcnNwKSwgJXJzaSAgICAvKiBsb2FkIHJheCBm
cm9tIHJkaSBzbG90ICovCisJbW92cSAlcmR4LCBfX1JFR1NfT0ZGU0VUT0ZfUkRYKCVyc3ApCisJ
bW92cSAlcmN4LCBfX1JFR1NfT0ZGU0VUT0ZfUkNYKCVyc3ApCisJbW92cSAlcnNpLCBfX1JFR1Nf
T0ZGU0VUT0ZfUkFYKCVyc3ApICAgIC8qIHN0b3JlIHJheCAqLworCW1vdnEgJXI4LCAgX19SRUdT
X09GRlNFVE9GX1I4KCVyc3ApCisJbW92cSAlcjksICBfX1JFR1NfT0ZGU0VUT0ZfUjkoJXJzcCkK
Kwltb3ZxICVyMTAsIF9fUkVHU19PRkZTRVRPRl9SMTAoJXJzcCkKKwltb3ZxICVyMTEsIF9fUkVH
U19PRkZTRVRPRl9SMTEoJXJzcCkKKwltb3ZxICVyYngsIF9fUkVHU19PRkZTRVRPRl9SQlgoJXJz
cCkKKwltb3ZxICVyYnAsIF9fUkVHU19PRkZTRVRPRl9SQlAoJXJzcCkKKwltb3ZxICVyMTIsIF9f
UkVHU19PRkZTRVRPRl9SMTIoJXJzcCkKKwltb3ZxICVyMTMsIF9fUkVHU19PRkZTRVRPRl9SMTMo
JXJzcCkKKwltb3ZxICVyMTQsIF9fUkVHU19PRkZTRVRPRl9SMTQoJXJzcCkKKwltb3ZxICVyMTUs
IF9fUkVHU19PRkZTRVRPRl9SMTUoJXJzcCkKKwltb3ZxICVyZGksIF9fUkVHU19PRkZTRVRPRl9S
REkoJXJzcCkgICAgLyogcHV0IHJkaSBpbnRvIHRoZSBzbG90ICovCiAuZW5kbQogCiAubWFjcm8g
SFlQRVJWSVNPUl9JUkVUCkBAIC0yNTEsOCArMjUxLDggQEAgZXJyb3JfZW50cnk6CiAJU0FWRV9B
TEwKIAogCW1vdnEgJXJzcCwlcmRpCi0JbW92cSBPRkZTRVRPRl9SRUdTX09SSUdfUkFYKCVyc3Ap
LCVyc2kJIyBnZXQgZXJyb3IgY29kZQotCW1vdnEgJC0xLE9GRlNFVE9GX1JFR1NfT1JJR19SQVgo
JXJzcCkKKwltb3ZxIF9fUkVHU19PRkZTRVRPRl9PUklHX1JBWCglcnNwKSwlcnNpCSMgZ2V0IGVy
cm9yIGNvZGUKKwltb3ZxICQtMSxfX1JFR1NfT0ZGU0VUT0ZfT1JJR19SQVgoJXJzcCkKIAljYWxs
IColcmF4CiAJam1wIGVycm9yX2V4aXQKIApAQCAtMjY4LDcgKzI2OCw3IEBAIGh5cGVydmlzb3Jf
Y2FsbGJhY2syOgogCW1vdnEgJXJkaSwgJXJzcAogCiAJLyogY2hlY2sgYWdhaW5zdCBldmVudCBy
ZS1lbnRyYW50ICovCi0JbW92cSBPRkZTRVRPRl9SRUdTX1JJUCglcnNwKSwlcmF4CisJbW92cSBf
X1JFR1NfT0ZGU0VUT0ZfUklQKCVyc3ApLCVyYXgKIAljbXBxICRzY3JpdCwlcmF4CiAJamIgMTFm
CiAJY21wcSAkZWNyaXQsJXJheApAQCAtMjgzLDcgKzI4Myw3IEBAIGh5cGVydmlzb3JfY2FsbGJh
Y2syOgogCWRlY2wgJWdzOjAKIAogZXJyb3JfZXhpdDoKLQltb3ZsIE9GRlNFVE9GX1JFR1NfRUZM
QUdTKCVyc3ApLCAlZWF4CisJbW92bCBfX1JFR1NfT0ZGU0VUT0ZfRUZMQUdTKCVyc3ApLCAlZWF4
CiAJc2hyICQ5LCAlZWF4CQkJIyBFQVhbMF0gPT0gSVJFVF9SRkxBR1MuSUYKIAlYRU5fR0VUX1ZD
UFVfSU5GTyglcnNpKQogCWFuZGIgZXZ0Y2huX3VwY2FsbF9tYXNrKCVyc2kpLCVhbApAQCAtMzI5
LDExICszMjksMTEgQEAgaHlwZXJ2aXNvcl9wcm9sb2d1ZToKIAogY3JpdGljYWxfcmVnaW9uX2Zp
eHVwOgogCSMgU2V0IHVwIHNvdXJjZSBhbmQgZGVzdGluYXRpb24gcmVnaW9uIHBvaW50ZXJzCi0J
bGVhcSBPRkZTRVRPRl9SRUdTX1JJUCglcnNwKSwlcnNpICAgIyBlc2kgcG9pbnRzIGF0IGVuZCBv
ZiBzcmMgcmVnaW9uCisJbGVhcSBfX1JFR1NfT0ZGU0VUT0ZfUklQKCVyc3ApLCVyc2kgICAjIGVz
aSBwb2ludHMgYXQgZW5kIG9mIHNyYyByZWdpb24KIAkjIEFjcXVpcmUgaW50ZXJydXB0ZWQgcnNw
IHdoaWNoIHdhcyBzYXZlZC1vbi1zdGFjay4gVGhpcyBwb2ludHMgdG8KIAkjIHRoZSBlbmQgb2Yg
ZHN0IHJlZ2lvbi4gTm90ZSB0aGF0IGl0IGlzIG5vdCBuZWNlc3NhcmlseSBjdXJyZW50IHJzcAog
CSMgcGx1cyAweGIwLCBiZWNhdXNlIHRoZSBzZWNvbmQgaW50ZXJydXB0IG1pZ2h0IGFsaWduIHRo
ZSBzdGFjayBmcmFtZS4KLQltb3ZxIE9GRlNFVE9GX1JFR1NfUlNQKCVyc3ApLCVyZGkgICAjIGVk
aSBwb2ludHMgYXQgZW5kIG9mIGRzdCByZWdpb24KKwltb3ZxIF9fUkVHU19PRkZTRVRPRl9SU1Ao
JXJzcCksJXJkaSAgICMgZWRpIHBvaW50cyBhdCBlbmQgb2YgZHN0IHJlZ2lvbgogCiAJY21wcSAk
cmVzdG9yZV9lbmQsJXJheAogCWphZSAgMTNmCkBAIC0zNDEsMTEgKzM0MSwxMSBAQCBjcml0aWNh
bF9yZWdpb25fZml4dXA6CiAJIyBJZiBpbnRlcnJ1cHRlZCByaXAgaXMgYmVmb3JlIHJlc3RvcmVf
ZW5kCiAJIyB0aGVuIHJheCBoYXNuJ3QgYmVlbiByZXN0b3JlZCB5ZXQKIAltb3ZxICglcmRpKSwl
cmF4Ci0JbW92cSAlcmF4LCBPRkZTRVRPRl9SRUdTX1JBWCglcnNwKSAgIyBzYXZlIHJheAorCW1v
dnEgJXJheCwgX19SRUdTX09GRlNFVE9GX1JBWCglcnNwKSAgIyBzYXZlIHJheAogCWFkZHEgJFJT
UF9PRkZTRVQsJXJkaQogCiAJIyBTZXQgdXAgdGhlIGNvcHkKLTEzOgltb3ZxICRPRkZTRVRPRl9S
RUdTX1JJUCwlcmN4CisxMzoJbW92cSAkX19SRUdTX09GRlNFVE9GX1JJUCwlcmN4CiAJc2hyICAk
MywlcmN4ICAgICAgICAgICMgY29udmVydCBieXRlcyBpbnRvIGNvdW50IG9mIDY0LWJpdCBlbnRp
dGllcwogMTU6CXN1YnEgJDgsJXJzaSAgICAgICAgICAjIHByZS1kZWNyZW1lbnRpbmcgY29weSBs
b29wCiAJc3VicSAkOCwlcmRpCkBAIC0zNTMsNyArMzUzLDcgQEAgY3JpdGljYWxfcmVnaW9uX2Zp
eHVwOgogCW1vdnEgJXJheCwoJXJkaSkKIAlsb29wIDE1YgogMTY6CW1vdnEgJXJkaSwlcnNwICAg
ICAgICAjIGZpbmFsIHJkaSBpcyB0b3Agb2YgbWVyZ2VkIHN0YWNrCi0JYW5kYiAkS0VSTkVMX0NT
X01BU0ssT0ZGU0VUT0ZfUkVHU19DUyglcnNwKSAgICAgICMgQ1MgbWlnaHQgaGF2ZSBjaGFuZ2Vk
CisJYW5kYiAkS0VSTkVMX0NTX01BU0ssX19SRUdTX09GRlNFVE9GX0NTKCVyc3ApICAjIENTIG1p
Z2h0IGhhdmUgY2hhbmdlZAogCWptcCAgMTFiCiAKICNlbHNlCi0tIAoyLjIwLjEKCgpfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFp
bGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3Rz
LnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Thu Dec 05 14:02:46 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 05 Dec 2019 14:02:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1icriQ-0007SO-1Y; Thu, 05 Dec 2019 14:02:46 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=NF6K=Z3=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1icriO-0007Rz-MY
 for minios-devel@lists.xen.org; Thu, 05 Dec 2019 14:02:44 +0000
X-Inumbo-ID: e65008cf-1767-11ea-8227-12813bfff9fa
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id e65008cf-1767-11ea-8227-12813bfff9fa;
 Thu, 05 Dec 2019 14:02:41 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 37470F202E;
 Thu,  5 Dec 2019 15:02:40 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-b.office.hd)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id Yatx__HtY0cz; Thu,  5 Dec 2019 15:02:40 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from puck.office.hd (puck.office.hd [192.168.24.91])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 0BE86F2008;
 Thu,  5 Dec 2019 15:02:36 +0100 (CET)
Received: from localhost (192.168.24.96) by puck.office.hd (192.168.24.91)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 5 Dec 2019
 15:02:32 +0100
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Thu, 5 Dec 2019 15:02:18 +0100
Message-ID: <20191205140222.4262-3-simon.kuenzer@neclab.eu>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <20191205140222.4262-1-simon.kuenzer@neclab.eu>
References: <20191205140222.4262-1-simon.kuenzer@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [192.168.24.96]
X-ClientProxiedBy: titania.office.hd (192.168.24.89) To puck.office.hd
 (192.168.24.91)
Subject: [Minios-devel] [UNIKRAFT PATCH 2/6] plat/common: Provide cpuid
 macro for x86
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>,
 Gaulthier Gain <gaulthier.gain@uliege.be>,
 Simon Kuenzer <simon.kuenzer@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhlIGBjcHVpZGAgaW5zdHJ1Y3Rpb24gaXMgdXNlZCB0byBxdWVyeSBhbmQgcmV0cmlldmUgaW5m
b3JtYXRpb24KYWJvdXQgc3VwcG9ydGVkIENQVSBmZWF0dXJlcy4KClNpZ25lZC1vZmYtYnk6IFNp
bW9uIEt1ZW56ZXIgPHNpbW9uLmt1ZW56ZXJAbmVjbGFiLmV1PgotLS0KIHBsYXQvY29tbW9uL2lu
Y2x1ZGUveDg2L2NwdS5oIHwgMTggKysrKysrKysrKysrLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwg
MTIgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9wbGF0L2NvbW1v
bi9pbmNsdWRlL3g4Ni9jcHUuaCBiL3BsYXQvY29tbW9uL2luY2x1ZGUveDg2L2NwdS5oCmluZGV4
IDRhM2Y2NWQ0Li4zYmVjMmI1OCAxMDA2NDQKLS0tIGEvcGxhdC9jb21tb24vaW5jbHVkZS94ODYv
Y3B1LmgKKysrIGIvcGxhdC9jb21tb24vaW5jbHVkZS94ODYvY3B1LmgKQEAgLTU5LDYgKzU5LDE1
IEBAIHN0cnVjdCBfeDg2X2ZlYXR1cmVzIHsKIAogZXh0ZXJuIHN0cnVjdCBfeDg2X2ZlYXR1cmVz
IHg4Nl9jcHVfZmVhdHVyZXM7CiAKK3N0YXRpYyBpbmxpbmUgdm9pZCBjcHVpZChfX3UzMiBmbiwg
X191MzIgc3ViZm4sCisJCQkgX191MzIgKmVheCwgX191MzIgKmVieCwKKwkJCSBfX3UzMiAqZWN4
LCBfX3UzMiAqZWR4KQoreworCWFzbSB2b2xhdGlsZSgiY3B1aWQiCisJCSAgICAgOiAiPWEiKCpl
YXgpLCAiPWIiKCplYngpLCAiPWMiKCplY3gpLCAiPWQiKCplZHgpCisJCSAgICAgOiAiYSIoZm4p
LCAiYyIgKHN1YmZuKSk7Cit9CisKIHN0YXRpYyBpbmxpbmUgdm9pZCBzYXZlX2V4dHJlZ3Moc3Ry
dWN0IHN3X2N0eCAqY3R4KQogewogCXN3aXRjaCAoeDg2X2NwdV9mZWF0dXJlcy5zYXZlKSB7CkBA
IC0xMzIsMTcgKzE0MSwxNCBAQCBzdGF0aWMgaW5saW5lIHZvaWQgX2luaXRfY3B1ZmVhdHVyZXMo
dm9pZCkKIAkgKiBjb250YWlucyAiMSIgYWZ0ZXIgdGhpcyBhc20gZXhwcmVzc2lvbi4gU2VlIHRo
ZSAiV2FybmluZyIgbm90ZSBhdAogCSAqIGh0dHBzOi8vZ2NjLmdudS5vcmcvb25saW5lZG9jcy9n
Y2MvRXh0ZW5kZWQtQXNtLmh0bWwjSW5wdXRPcGVyYW5kcwogCSAqLwotCWFzbSB2b2xhdGlsZSgi
Y3B1aWQiIDogIj1hIihlYXgpLCAiPWMiKGVjeCksICI9ZCIoZWR4KSA6ICJhIigxKQotCQkJOiAi
ZWJ4Iik7CisJY3B1aWQoMSwgMCwgJmVheCwgJmVieCwgJmVjeCwgJmVkeCk7CiAJaWYgKGVjeCAm
IFg4Nl9DUFVJRDFfRUNYX09TWFNBVkUpIHsKLQkJYXNtIHZvbGF0aWxlKCJjcHVpZCIgOiAiPWEi
KGVheCksICI9YyIoZWN4KSA6ICJhIigweGQpLCAiYyIoMSkKLQkJCQk6ICJlYngiLCAiZWR4Iik7
CisJCWNwdWlkKDB4ZCwgMSwgJmVheCwgJmVieCwgJmVjeCwgJmVkeCk7CiAJCWlmIChlYXggJiBY
ODZfQ1BVSUREMV9FQVhfWFNBVkVPUFQpCiAJCQl4ODZfY3B1X2ZlYXR1cmVzLnNhdmUgPSBYODZf
U0FWRV9YU0FWRU9QVDsKIAkJZWxzZQogCQkJeDg2X2NwdV9mZWF0dXJlcy5zYXZlID0gWDg2X1NB
VkVfWFNBVkU7Ci0JCWFzbSB2b2xhdGlsZSgiY3B1aWQiIDogIj1hIihlYXgpLCAiPWIiKGVieCks
ICI9YyIoZWN4KQotCQkJCTogImEiKDB4ZCksICJjIigwKSA6ICJlZHgiKTsKKwkJY3B1aWQoMHhk
LCAwLCAmZWF4LCAmZWJ4LCAmZWN4LCAmZWR4KTsKIAkJeDg2X2NwdV9mZWF0dXJlcy5leHRyZWdz
X3NpemUgPSBlYng7CiAJCXg4Nl9jcHVfZmVhdHVyZXMuZXh0cmVnc19hbGlnbiA9IDY0OwogCX0g
ZWxzZSBpZiAoZWR4ICYgWDg2X0NQVUlEMV9FRFhfRlhTUikgewotLSAKMi4yMC4xCgoKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1h
aWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0
cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Thu Dec 05 14:02:51 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 05 Dec 2019 14:02:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1icriV-0007UE-3H; Thu, 05 Dec 2019 14:02:51 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=NF6K=Z3=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1icriT-0007Tk-ML
 for minios-devel@lists.xen.org; Thu, 05 Dec 2019 14:02:49 +0000
X-Inumbo-ID: e8fbf150-1767-11ea-8227-12813bfff9fa
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id e8fbf150-1767-11ea-8227-12813bfff9fa;
 Thu, 05 Dec 2019 14:02:45 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 483FDF2029;
 Thu,  5 Dec 2019 15:02:44 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-b.office.hd)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id c_16AlmOuG71; Thu,  5 Dec 2019 15:02:44 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from puck.office.hd (puck.office.hd [192.168.24.91])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 1ADA8F2008;
 Thu,  5 Dec 2019 15:02:40 +0100 (CET)
Received: from localhost (192.168.24.96) by puck.office.hd (192.168.24.91)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 5 Dec 2019
 15:02:33 +0100
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Thu, 5 Dec 2019 15:02:19 +0100
Message-ID: <20191205140222.4262-4-simon.kuenzer@neclab.eu>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <20191205140222.4262-1-simon.kuenzer@neclab.eu>
References: <20191205140222.4262-1-simon.kuenzer@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [192.168.24.96]
X-ClientProxiedBy: puck.office.hd (192.168.24.91) To puck.office.hd
 (192.168.24.91)
Subject: [Minios-devel] [UNIKRAFT PATCH 3/6] plat/common: Provide rdmsr amd
 rdmsrl for x86
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>,
 Gaulthier Gain <gaulthier.gain@uliege.be>,
 Simon Kuenzer <simon.kuenzer@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhlIG1vZGVsLXNwZWNpZmljIHJlZ2lzdGVycyAoTVNSKSBhcmUgdXNlZCBmb3IgcXVlcnlpbmcg
YW5kCnByb2dyYW1taW5nIHNvbWUgQ1BVIGZlYXR1cmVzIG9uIHg4Ni4gYHJkbXNyYCBhbmQgYHJk
bXNybGAgYXJlIG1hY3Jvcwpmb3IgcmVhZGluZyB0aGUgcmVnaXN0ZXIgdmFsdWVzLgoKU2lnbmVk
LW9mZi1ieTogU2ltb24gS3VlbnplciA8c2ltb24ua3VlbnplckBuZWNsYWIuZXU+Ci0tLQogcGxh
dC9jb21tb24vaW5jbHVkZS94ODYvY3B1LmggfCAxNCArKysrKysrKysrKysrKwogMSBmaWxlIGNo
YW5nZWQsIDE0IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9wbGF0L2NvbW1vbi9pbmNsdWRl
L3g4Ni9jcHUuaCBiL3BsYXQvY29tbW9uL2luY2x1ZGUveDg2L2NwdS5oCmluZGV4IDNiZWMyYjU4
Li4xMjBlYjg2ZCAxMDA2NDQKLS0tIGEvcGxhdC9jb21tb24vaW5jbHVkZS94ODYvY3B1LmgKKysr
IGIvcGxhdC9jb21tb24vaW5jbHVkZS94ODYvY3B1LmgKQEAgLTE3NSw2ICsxNzUsMjAgQEAgc3Rh
dGljIGlubGluZSB2b2lkIGludmxwZyh1bnNpZ25lZCBsb25nIHZhKQogfQogCiAKK3N0YXRpYyBp
bmxpbmUgdm9pZCByZG1zcih1bnNpZ25lZCBpbnQgbXNyLCBfX3UzMiAqbG8sIF9fdTMyICpoaSkK
K3sKKwlhc20gdm9sYXRpbGUoInJkbXNyIiA6ICI9YSIoKmxvKSwgIj1kIigqaGkpCisJCQkgICAg
IDogImMiKG1zcikpOworfQorCitzdGF0aWMgaW5saW5lIF9fdTY0IHJkbXNybCh1bnNpZ25lZCBp
bnQgbXNyKQoreworCV9fdTMyIGxvLCBoaTsKKworCXJkbXNyKG1zciwgJmxvLCAmaGkpOworCXJl
dHVybiAoKF9fdTY0KSBsbyB8IChfX3U2NCkgaGkgPDwgMzIpOworfQorCiBzdGF0aWMgaW5saW5l
IHZvaWQgd3Jtc3IodW5zaWduZWQgaW50IG1zciwgX191MzIgbG8sIF9fdTMyIGhpKQogewogCWFz
bSB2b2xhdGlsZSgid3Jtc3IiCi0tIAoyLjIwLjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1k
ZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21h
aWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Thu Dec 05 14:02:56 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 05 Dec 2019 14:02:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1icria-0007Vx-6A; Thu, 05 Dec 2019 14:02:56 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=NF6K=Z3=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1icriY-0007Vd-MZ
 for minios-devel@lists.xen.org; Thu, 05 Dec 2019 14:02:54 +0000
X-Inumbo-ID: eb572f3d-1767-11ea-8227-12813bfff9fa
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id eb572f3d-1767-11ea-8227-12813bfff9fa;
 Thu, 05 Dec 2019 14:02:49 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 55033F2029;
 Thu,  5 Dec 2019 15:02:48 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-b.office.hd)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id awPVX22IaLjT; Thu,  5 Dec 2019 15:02:48 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from puck.office.hd (puck.office.hd [192.168.24.91])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 2C7CAF2008;
 Thu,  5 Dec 2019 15:02:44 +0100 (CET)
Received: from localhost (192.168.24.96) by puck.office.hd (192.168.24.91)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 5 Dec 2019
 15:02:34 +0100
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Thu, 5 Dec 2019 15:02:20 +0100
Message-ID: <20191205140222.4262-5-simon.kuenzer@neclab.eu>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <20191205140222.4262-1-simon.kuenzer@neclab.eu>
References: <20191205140222.4262-1-simon.kuenzer@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [192.168.24.96]
X-ClientProxiedBy: oberon.office.hd (192.168.24.90) To puck.office.hd
 (192.168.24.91)
Subject: [Minios-devel] [UNIKRAFT PATCH 4/6] plat/*: Add binary system call
 feature and API
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>,
 Gaulthier Gain <gaulthier.gain@uliege.be>,
 Simon Kuenzer <simon.kuenzer@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SW50cm9kdWNlcyB0aGUgYEhBVkVfU1lTQ0FMTGAgZmVhdHVyZSBmbGFnIHRoYXQgZW5hYmxlcyBo
YW5kbGluZyBvZgpiaW5hcnkgc3lzdGVtIGNhbGxzLiBJdCBpcyBpbnRlbmRlZCB0aGF0IHRoZSBw
bGF0Zm9ybSBsaWJyYXJpZXMgYXJlCmVuYWJsaW5nIGFuZCBpbXBsZW1lbnRpbmcgc3lzdGVtIGNh
bGwgZW50cmFuY2UgZm9yIGJpbmFyeSBzeXN0ZW0gY2FsbApyZXF1ZXN0cyB3aGVuIHRoaXMgZmxh
ZyBpcyBzZXQuClRoaXMgcGF0Y2ggYWxzbyBpbnRyb2R1Y2VzIGFuIGV4dGVuc2lvbiB0byB0aGUg
cGxhdGZvcm0gQVBJCihgaW5jbHVkZS91ay9wbGF0L3N5c2NhbGwuaGApIHRoYXQgZGVmaW5lcyBh
IHN5c3RlbSBjYWxsIGhhbmRsZXIKcHJvdG90eXBlLiBJdCBpcyBpbnRlbmRlZCB0aGF0IHRoaXMg
aGFuZGxlciBzaG91bGQgYmUgaW1wbGVtZW50ZWQgYnkgYQpub24tcGxhdGZvcm0gbGlicmFyeS4g
QSBkZXNpbmcgcHJpbmNpcGxlIGlzIHRoYXQgZGlmZmVyZW50IHN5c3RlbSBjYWxsCkFCSXMgY291
bGQgYmUgd2l0aCB0aGlzIGZ1bmN0aW9uIHNpZ25hdHVyZS4gRm9yIHRoaXMgcHVycG9zZSwgdGhl
IHRyYXAKaGFuZGxlciBpbiB0aGUgcGxhdGZvcm0gc2hvdWxkIHNhdmUgdGhlIENQVSByZWdpc3Rl
cnMgc3RhdGUgYW5kCmhhbmQtb3ZlciBhIHJlZmVyZW5jZSB0byB0aGUgaGFuZGxlci4gVGhlIGhh
bmRsZXIgbW9kaWZpZXMgdGhpcyBzYXZlZApzdGF0ZSBhY2NvcmRpbmdseSB0byB0aGUgQUJJIHN0
YW5kYXJkLiBPbiByZXR1cm5pbmcsIHRoZSB0cmFwIHNob3VsZAp0aGVuIGxvYWQgdGhlIHVwZGF0
ZWQgcmVnaXN0ZXIgdmFsdWVzIHRvIHRoZSBDUFUgYW5kIGNvbnRpbnVlIGV4ZWN1dGlvbi4KClNp
Z25lZC1vZmYtYnk6IFNpbW9uIEt1ZW56ZXIgPHNpbW9uLmt1ZW56ZXJAbmVjbGFiLmV1PgotLS0K
IGluY2x1ZGUvdWsvcGxhdC9zeXNjYWxsLmggfCA2NyArKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysKIGxpYi9Db25maWcudWsgICAgICAgICAgICAgfCAgNCArKysKIHBsYXQv
a3ZtL0NvbmZpZy51ayAgICAgICAgfCAgMSArCiBwbGF0L2xpbnV4dS9Db25maWcudWsgICAgIHwg
IDEgKwogcGxhdC94ZW4vQ29uZmlnLnVrICAgICAgICB8ICAxICsKIDUgZmlsZXMgY2hhbmdlZCwg
NzQgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGluY2x1ZGUvdWsvcGxhdC9zeXNj
YWxsLmgKCmRpZmYgLS1naXQgYS9pbmNsdWRlL3VrL3BsYXQvc3lzY2FsbC5oIGIvaW5jbHVkZS91
ay9wbGF0L3N5c2NhbGwuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMC4uZjYy
ZGRmZTMKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL3VrL3BsYXQvc3lzY2FsbC5oCkBAIC0w
LDAgKzEsNjcgQEAKKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UgKi8K
Ky8qCisgKiBBdXRob3JzOiBTaW1vbiBLdWVuemVyIDxzaW1vbi5rdWVuemVyQG5lY2xhYi5ldT4K
KyAqCisgKgorICogQ29weXJpZ2h0IChjKSAyMDE5LCBORUMgRXVyb3BlIEx0ZC4sIE5FQyBDb3Jw
b3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBOZWl0aGVy
IHRoZSBuYW1lIG9mIHRoZSBjb3B5cmlnaHQgaG9sZGVyIG5vciB0aGUgbmFtZXMgb2YgaXRzCisg
KiAgICBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbQorICogICAgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisgKiBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJF
CisgKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFCisg
KiBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqCisgKiBUSElTIEhFQURFUiBNQVkgTk9U
IEJFIEVYVFJBQ1RFRCBPUiBNT0RJRklFRCBJTiBBTlkgV0FZLgorICovCisKKyNpZm5kZWYgX19V
S1BMQVRfU1lTQ0FMTF9fCisjZGVmaW5lIF9fVUtQTEFUX1NZU0NBTExfXworCisjaW5jbHVkZSA8
dWsvY29uZmlnLmg+CisjaW5jbHVkZSA8dWsvYXJjaC9sY3B1Lmg+CisKKyNpZmRlZiBfX2NwbHVz
cGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKworI2lmZGVmIENPTkZJR19IQVZFX1NZU0NBTEwK
KworLyoqCisgKiBDYWxsZWQgYnkgcGxhdGZvcm0gbGlicmFyeSB3aGVuIGEgYmluYXJ5IHN5c3Rl
bSBjYWxsIHdhcyB0cmFwcGVkLgorICogVGhpcyBmdW5jdGlvbiBoYXMgdG8gYmUgcHJvdmlkZWQg
YnkgYSBub24tcGxhdGZvcm0gbGlicmFyeSBmb3IKKyAqIGV4ZWN1dGluZyB0aGUgYWN0dWFsIHN5
c3RlbSBjYWxsLiBTdWNoIGEgbGlicmFyeSBoYXMgdG8gc2V0CisgKiBDT05GSUdfSEFWRV9TWVND
QUxMIHRvIGVuYWJsZSBzeXN0ZW0gY2FsbCBzdXBwb3J0IG9uIHRoZSBwbGF0Zm9ybQorICogbGli
cmFyeS4KKyAqIEl0IGlzIGludGVuZGVkIHRoYXQgdGhlIGhhbmRsZXIgbW9kaWZpZXMgdGhlIHJl
Z2lzdGVyKHMpIHN0YXRlCisgKiBhY2NvcmRpbmcgdG8gdGhlIGltcGxlbWVudGVkIEFCSS4KKyAq
CisgKiBAcGFyYW0gciBSZWZlcmVuY2VkIHRvIHNhdmVkIHJlZ2lzdGVycy4gQWZ0ZXIgdGhlIGNh
bGwsIHRoZQorICogICAgICAgICAgdGhlIHN0cnVjdCB3aWxsIGJlIHJlc3RvcmVkIGZvciB0aGUg
Y2FsbGVyIGFzIHN0YXRlLgorICovCit2b2lkIHVrcGxhdF9zeXNjYWxsX2hhbmRsZXIoc3RydWN0
IF9fcmVncyAqcik7CisjZW5kaWYgLyogQ09ORklHX0hBVkVfU1lTQ0FMTCAqLworCisjaWZkZWYg
X19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYgLyogX19VS1BMQVRfU1lTQ0FMTF9fICov
CmRpZmYgLS1naXQgYS9saWIvQ29uZmlnLnVrIGIvbGliL0NvbmZpZy51awppbmRleCA3NTY1MjU3
ZC4uZTgzZWQzMGIgMTAwNjQ0Ci0tLSBhL2xpYi9Db25maWcudWsKKysrIGIvbGliL0NvbmZpZy51
awpAQCAtMjQsMyArMjQsNyBAQCBjb25maWcgSEFWRV9TQ0hFRAogY29uZmlnIEhBVkVfTldfU1RB
Q0sKICAgICAgICBib29sCiAgICAgICAgZGVmYXVsdCBuCisKK2NvbmZpZyBIQVZFX1NZU0NBTEwK
KyAgICAgICBib29sCisgICAgICAgZGVmYXVsdCBuCmRpZmYgLS1naXQgYS9wbGF0L2t2bS9Db25m
aWcudWsgYi9wbGF0L2t2bS9Db25maWcudWsKaW5kZXggNDdhZThlMmYuLjJiY2U0M2VhIDEwMDY0
NAotLS0gYS9wbGF0L2t2bS9Db25maWcudWsKKysrIGIvcGxhdC9rdm0vQ29uZmlnLnVrCkBAIC0y
LDYgKzIsNyBAQCBtZW51Y29uZmlnIFBMQVRfS1ZNCiAgICAgICAgYm9vbCAiS1ZNIGd1ZXN0Igog
ICAgICAgIGRlZmF1bHQgbgogICAgICAgIGRlcGVuZHMgb24gKEFSQ0hfWDg2XzY0IHx8IEFSQ0hf
QVJNXzY0KQorICAgICAgIGRlcGVuZHMgb24gIUhBVkVfU1lTQ0FMTAogICAgICAgIHNlbGVjdCBM
SUJVS0RFQlVHCiAgICAgICAgc2VsZWN0IExJQlVLQUxMT0MKICAgICAgICBzZWxlY3QgTElCVUtU
SU1FQ09OVgpkaWZmIC0tZ2l0IGEvcGxhdC9saW51eHUvQ29uZmlnLnVrIGIvcGxhdC9saW51eHUv
Q29uZmlnLnVrCmluZGV4IGVkZTk1ODlhLi5kOGM4NmQ4MSAxMDA2NDQKLS0tIGEvcGxhdC9saW51
eHUvQ29uZmlnLnVrCisrKyBiL3BsYXQvbGludXh1L0NvbmZpZy51awpAQCAtMiw2ICsyLDcgQEAg
bWVudWNvbmZpZyBQTEFUX0xJTlVYVQogICAgICAgIGJvb2wgIkxpbnV4IHVzZXIgc3BhY2UiCiAg
ICAgICAgZGVmYXVsdCBuCiAgICAgICAgZGVwZW5kcyBvbiAoQVJDSF9YODZfNjQpIHx8IChBUkNI
X0FSTV8zMikKKyAgICAgICBkZXBlbmRzIG9uICFIQVZFX1NZU0NBTEwKICAgICAgICBzZWxlY3Qg
TElCVUtERUJVRwogICAgICAgIHNlbGVjdCBMSUJOT0xJQkMgaWYgIUhBVkVfTElCQwogICAgICAg
IGhlbHAKZGlmZiAtLWdpdCBhL3BsYXQveGVuL0NvbmZpZy51ayBiL3BsYXQveGVuL0NvbmZpZy51
awppbmRleCBiYzEwM2YxNC4uMzY2YWIzNDQgMTAwNjQ0Ci0tLSBhL3BsYXQveGVuL0NvbmZpZy51
aworKysgYi9wbGF0L3hlbi9Db25maWcudWsKQEAgLTMsNiArMyw3IEBAIG1lbnVjb25maWcgUExB
VF9YRU4KICAgICAgICBkZWZhdWx0IG4KICAgICAgICBkZXBlbmRzIG9uIChBUkNIX1g4Nl8zMiB8
fCBBUkNIX1g4Nl82NCB8fCBBUkNIX0FSTV8zMikKICAgICAgICBpbXBseSBYRU5fUFZfQlVJTERf
UDJNCisgICAgICAgZGVwZW5kcyBvbiAhSEFWRV9TWVNDQUxMCiAgICAgICAgc2VsZWN0IExJQlVL
REVCVUcKICAgICAgICBzZWxlY3QgTElCTk9MSUJDIGlmICFIQVZFX0xJQkMKICAgICAgICBzZWxl
Y3QgTElCVUtUSU1FIGlmICFIQVZFX0xJQkMgJiYgQVJDSF9YODZfNjQKLS0gCjIuMjAuMQoKCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZl
bCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8v
bGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Thu Dec 05 14:03:01 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 05 Dec 2019 14:03:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1icrif-0007Xo-83; Thu, 05 Dec 2019 14:03:01 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=NF6K=Z3=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1icrid-0007XD-Ms
 for minios-devel@lists.xen.org; Thu, 05 Dec 2019 14:02:59 +0000
X-Inumbo-ID: edab6335-1767-11ea-8227-12813bfff9fa
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id edab6335-1767-11ea-8227-12813bfff9fa;
 Thu, 05 Dec 2019 14:02:53 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 656DBF202E;
 Thu,  5 Dec 2019 15:02:52 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-b.office.hd)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id npIwAp-Z83ba; Thu,  5 Dec 2019 15:02:52 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from puck.office.hd (puck.office.hd [192.168.24.91])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 38AE3F2008;
 Thu,  5 Dec 2019 15:02:48 +0100 (CET)
Received: from localhost (192.168.24.96) by puck.office.hd (192.168.24.91)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 5 Dec 2019
 15:02:34 +0100
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Thu, 5 Dec 2019 15:02:21 +0100
Message-ID: <20191205140222.4262-6-simon.kuenzer@neclab.eu>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <20191205140222.4262-1-simon.kuenzer@neclab.eu>
References: <20191205140222.4262-1-simon.kuenzer@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [192.168.24.96]
X-ClientProxiedBy: titania.office.hd (192.168.24.89) To puck.office.hd
 (192.168.24.91)
Subject: [Minios-devel] [UNIKRAFT PATCH 5/6] plat/common: Initialize
 `syscall`/`sysret` for x86
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>,
 Gaulthier Gain <gaulthier.gain@uliege.be>,
 Simon Kuenzer <simon.kuenzer@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

X2luaXRfc3lzY2FsbCgpIGNoZWNrcyBpZiBDUFUgaGFzIGBzeXNjYWxsYC9gc3lzcmV0YCBzdXBw
b3J0IGlzCmF2YWlsYWJsZSBhbmQgZW5hYmxlcyBpdC4gVGhlIENQVSBpcyBwcm9ncmFtbWVkIHRv
IGNhbGwKYF91a3BsYXRfc3lzY2FsbCgpYCBoYW5kbGVyIGluIHRoZSBldmVudCBvZiBgc3lzY2Fs
bGAuIEEgdHJhcCBoYW5kbGVyCmlzIGltcGxlbWVudGVkIHdpdGggdGhlIGZvbGxvd2luZyBwYXRj
aChlcykuCgpTaWduZWQtb2ZmLWJ5OiBTaW1vbiBLdWVuemVyIDxzaW1vbi5rdWVuemVyQG5lY2xh
Yi5ldT4KLS0tCiBwbGF0L2NvbW1vbi9pbmNsdWRlL3g4Ni9jcHUuaCAgICAgIHwgNjUgKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrCiBwbGF0L2NvbW1vbi9pbmNsdWRlL3g4Ni9jcHVfZGVm
cy5oIHwgMjIgKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCA4NyBpbnNlcnRpb25zKCspCgpk
aWZmIC0tZ2l0IGEvcGxhdC9jb21tb24vaW5jbHVkZS94ODYvY3B1LmggYi9wbGF0L2NvbW1vbi9p
bmNsdWRlL3g4Ni9jcHUuaAppbmRleCAxMjBlYjg2ZC4uNWYxYTM1ZTQgMTAwNjQ0Ci0tLSBhL3Bs
YXQvY29tbW9uL2luY2x1ZGUveDg2L2NwdS5oCisrKyBiL3BsYXQvY29tbW9uL2luY2x1ZGUveDg2
L2NwdS5oCkBAIC0yNzYsNCArMjc2LDY5IEBAIHN0YXRpYyBpbmxpbmUgX191NjQgbXVsNjRfMzIo
X191NjQgYSwgX191MzIgYikKIAlyZXR1cm4gcHJvZDsKIH0KIAorI2lmZGVmIENPTkZJR19IQVZF
X1NZU0NBTEwKKy8qIHN5c2NhbGwgZW50cmFuY2UgcHJvdmlkZWQgYnkgcGxhdGZvcm0gbGlicmFy
eSAqLwordm9pZCBfdWtwbGF0X3N5c2NhbGwodm9pZCk7CisKKy8qIF9pbml0X3N5c2NhbGwgaXMg
ZGVyaXZlZCBmcm9tIGhlcm1pdHV4OiBgcHJvY2Vzc29yLmNgOgorICoKKyAqIENvcHlyaWdodCAo
YykgMjAxMCwgU3RlZmFuIExhbmtlcywgUldUSCBBYWNoZW4gVW5pdmVyc2l0eQorICogQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0Ogor
ICogICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAqICAg
ICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bSB0aGlzCisgKiAgICAgIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQKKyAqIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgUkVHRU5UUyBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICog
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworc3RhdGljIGlubGluZSB2b2lkIF9pbml0X3N5c2NhbGwodm9pZCkKK3sKKwlf
X3UzMiBlYXgsIGVieCwgZWN4LCBlZHg7CisJaW50IGhhdmVfc3lzY2FsbCA9IDA7CisKKwkvKiBD
aGVjayBmb3IgYXZhaWxhYmlsaXR5IG9mIGV4dGVuZGVkIGZlYXR1cmVzICovCisJY3B1aWQoMHg4
MDAwMDAwMCwgMCwgJmVheCwgJmVieCwgJmVjeCwgJmVkeCk7CisJaWYgKGVheCA+PSAweDgwMDAw
MDAxKSB7CisJCWNwdWlkKDB4ODAwMDAwMDEsIDAsICZlYXgsICZlYngsICZlY3gsICZlZHgpOwor
CQloYXZlX3N5c2NhbGwgPSAoZWR4ICYgWDg2X0NQVUlEM19TWVNDQUxMKTsKKwl9CisKKwlpZiAo
IWhhdmVfc3lzY2FsbCkKKwkJVUtfQ1JBU0goIkNQVSBkb2VzIG5vdCBzdXBwb3J0IFNZU0NBTEwv
U1lTUkVUIVxuIik7CisKKwkvKiBFbmFibGUgYW5kIHByb2dyYW0gc3lzY2FsbC9zeXNyZXQgKi8K
Kwl3cm1zcmwoWDg2X01TUl9FRkVSLAorCSAgICAgICByZG1zcmwoWDg2X01TUl9FRkVSKQorCSAg
ICAgICB8IFg4Nl9FRkVSX0xNQSB8IFg4Nl9FRkVSX0xNRSB8IFg4Nl9FRkVSX1NDRSk7CisJd3Jt
c3JsKFg4Nl9NU1JfU1RBUiwKKwkgICAgICAgKDB4MDhVTEwgPDwgNDgpIHwgKDB4MDhVTEwgPDwg
MzIpKTsKKwl3cm1zcmwoWDg2X01TUl9MU1RBUiwKKwkgICAgICAgKF9fdXB0cikgX3VrcGxhdF9z
eXNjYWxsKTsKKworCS8qIENsZWFyIElGIGZsYWcgZHVyaW5nIGFuIGludGVycnVwdCAqLworCXdy
bXNybChYODZfTVNSX1NZU0NBTExfTUFTSywKKwkgICAgICAgWDg2X0VGTEFHU19URiB8IFg4Nl9F
RkxBR1NfREYgfCBYODZfRUZMQUdTX0lGCisJICAgICAgIHwgWDg2X0VGTEFHU19BQyB8IFg4Nl9F
RkxBR1NfTlQpOworCisJdWtfcHJfaW5mbygiU1lTQ0FMTCBlbnRyYW5jZSBAICVwXG4iLCBfdWtw
bGF0X3N5c2NhbGwpOworfQorI2VuZGlmIC8qIENPTkZJR19IQVZFX1NZU0NBTEwgKi8KKwogI2Vu
ZGlmIC8qIF9fUExBVF9DT01NT05fWDg2X0NQVV9IX18gKi8KZGlmZiAtLWdpdCBhL3BsYXQvY29t
bW9uL2luY2x1ZGUveDg2L2NwdV9kZWZzLmggYi9wbGF0L2NvbW1vbi9pbmNsdWRlL3g4Ni9jcHVf
ZGVmcy5oCmluZGV4IGY0NmU4MzA3Li5kY2JlMmM2NSAxMDA2NDQKLS0tIGEvcGxhdC9jb21tb24v
aW5jbHVkZS94ODYvY3B1X2RlZnMuaAorKysgYi9wbGF0L2NvbW1vbi9pbmNsdWRlL3g4Ni9jcHVf
ZGVmcy5oCkBAIC04OCw2ICs4OCw4IEBACiAjZGVmaW5lIFg4Nl9DUFVJRDdfRUJYX0ZTR1NCQVNF
ICgxIDw8IDApCiAvKiBDUFVJRCBmZWF0dXJlIGJpdHMgd2hlbiBFQVg9MHhkLCBFQ1g9MSAqLwog
I2RlZmluZSBYODZfQ1BVSUREMV9FQVhfWFNBVkVPUFQgKDE8PDApCisvKiBDUFVJRCA4MDAwMDAw
MUg6RURYIGZlYXR1cmUgbGlzdCAqLworI2RlZmluZSBYODZfQ1BVSUQzX1NZU0NBTEwgICAgICAo
MSA8PCAxMSkKIAogLyoKICAqIEV4dGVuZGVkIENvbnRyb2wgUmVnaXN0ZXIgMCAoWENSMCkKQEAg
LTEwMCw1ICsxMDIsMjUgQEAKICAqIE1vZGVsLXNwZWNpZmljIHJlZ2lzdGVyIGFkZHJlc3Nlcwog
ICovCiAjZGVmaW5lIFg4Nl9NU1JfRlNfQkFTRSAgICAgICAgIDB4YzAwMDAxMDAKKy8qIGV4dGVu
ZGVkIGZlYXR1cmUgcmVnaXN0ZXIgKi8KKyNkZWZpbmUgWDg2X01TUl9FRkVSCQkweGMwMDAwMDgw
CisvKiBsZWdhY3kgbW9kZSBTWVNDQUxMIHRhcmdldCAqLworI2RlZmluZSBYODZfTVNSX1NUQVIJ
CTB4YzAwMDAwODEKKy8qIGxvbmcgbW9kZSBTWVNDQUxMIHRhcmdldCAqLworI2RlZmluZSBYODZf
TVNSX0xTVEFSCQkweGMwMDAwMDgyCisvKiBjb21wYXQgbW9kZSBTWVNDQUxMIHRhcmdldCAqLwor
I2RlZmluZSBYODZfTVNSX0NTVEFSCQkweGMwMDAwMDgzCisvKiBFRkxBR1MgbWFzayBmb3Igc3lz
Y2FsbCAqLworI2RlZmluZSBYODZfTVNSX1NZU0NBTExfTUFTSwkweGMwMDAwMDg0CisKKy8qIE1T
UiBFRkVSIGJpdHMgKi8KKyNkZWZpbmUgWDg2X0VGRVJfU0NFCQkoMSA8PCAwKQorI2RlZmluZSBY
ODZfRUZFUl9MTUUJCSgxIDw8IDgpCisjZGVmaW5lIFg4Nl9FRkVSX0xNQQkJKDEgPDwgMTApCisj
ZGVmaW5lIFg4Nl9FRkVSX05YRQkJKDEgPDwgMTEpCisjZGVmaW5lIFg4Nl9FRkVSX1NWTUUJCSgx
IDw8IDEyKQorI2RlZmluZSBYODZfRUZFUl9MTVNMRQkJKDEgPDwgMTMpCisjZGVmaW5lIFg4Nl9F
RkVSX0ZGWFNSCQkoMSA8PCAxNCkKKyNkZWZpbmUgWDg2X0VGRVJfVENFCQkoMSA8PCAxNSkKIAog
I2VuZGlmIC8qIF9fUExBVF9DTU5fWDg2X0NQVV9ERUZTX0hfXyAqLwotLSAKMi4yMC4xCgoKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVs
IG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9s
aXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Thu Dec 05 14:03:06 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 05 Dec 2019 14:03:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1icrik-0007ZQ-9p; Thu, 05 Dec 2019 14:03:06 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=NF6K=Z3=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1icrii-0007Yu-ND
 for minios-devel@lists.xen.org; Thu, 05 Dec 2019 14:03:04 +0000
X-Inumbo-ID: ef862a0f-1767-11ea-8227-12813bfff9fa
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id ef862a0f-1767-11ea-8227-12813bfff9fa;
 Thu, 05 Dec 2019 14:02:57 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 754E3F2029;
 Thu,  5 Dec 2019 15:02:56 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-b.office.hd)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id eUbXZmuRwOnE; Thu,  5 Dec 2019 15:02:56 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from puck.office.hd (puck.office.hd [192.168.24.91])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 4910FF2008;
 Thu,  5 Dec 2019 15:02:52 +0100 (CET)
Received: from localhost (192.168.24.96) by puck.office.hd (192.168.24.91)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 5 Dec 2019
 15:02:35 +0100
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Thu, 5 Dec 2019 15:02:22 +0100
Message-ID: <20191205140222.4262-7-simon.kuenzer@neclab.eu>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <20191205140222.4262-1-simon.kuenzer@neclab.eu>
References: <20191205140222.4262-1-simon.kuenzer@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [192.168.24.96]
X-ClientProxiedBy: puck.office.hd (192.168.24.91) To puck.office.hd
 (192.168.24.91)
Subject: [Minios-devel] [UNIKRAFT PATCH 6/6] plat/kvm: System call trap
 handler (x86_64)
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>,
 Gaulthier Gain <gaulthier.gain@uliege.be>,
 Simon Kuenzer <simon.kuenzer@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SW1wbGVtZW50cyBgX3VrcGxhdF9zeXNjYWxsKClgIGZvciBLVk0uIFRoZSBoYW5kbGVyIGlzIHNh
dmluZyB0aGUgQ1BVCnJlZ2lzdGVycyB0byB0aGUgc3RhY2sgYW5kIGNhbGxpbmcgYHVrcGxhdF9z
eXNjYWxsX2hhbmRsZXIoKWAgd2l0aCBhCnJlZmVyZW5jZSB0byB0aGUgc2F2ZWQgcmVnaXN0ZXJz
LiBPbiByZXR1cm4sIHRoZSByZWdpc3RlciB2YWx1ZXMgYXJlCmxvYWRlZCBiYWNrIHRvIHRoZSBD
UFUuCgpTaWduZWQtb2ZmLWJ5OiBTaW1vbiBLdWVuemVyIDxzaW1vbi5rdWVuemVyQG5lY2xhYi5l
dT4KLS0tCiBwbGF0L2NvbW1vbi94ODYvc3lzY2FsbC5TIHwgMTExICsrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrCiBwbGF0L2t2bS9Db25maWcudWsgICAgICAgIHwgICAzICst
CiBwbGF0L2t2bS9NYWtlZmlsZS51ayAgICAgIHwgICAzICsrCiBwbGF0L2t2bS94ODYvc2V0dXAu
YyAgICAgIHwgICA0ICsrCiA0IGZpbGVzIGNoYW5nZWQsIDExOSBpbnNlcnRpb25zKCspLCAyIGRl
bGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHBsYXQvY29tbW9uL3g4Ni9zeXNjYWxsLlMK
CmRpZmYgLS1naXQgYS9wbGF0L2NvbW1vbi94ODYvc3lzY2FsbC5TIGIvcGxhdC9jb21tb24veDg2
L3N5c2NhbGwuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMC4uYjM2N2E1ZDcK
LS0tIC9kZXYvbnVsbAorKysgYi9wbGF0L2NvbW1vbi94ODYvc3lzY2FsbC5TCkBAIC0wLDAgKzEs
MTExIEBACisvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlICovCisvKgor
ICogQXV0aG9yczogU2ltb24gS3VlbnplciA8c2ltb24ua3VlbnplckBuZWNsYWIuZXU+CisgKgor
ICogQ29weXJpZ2h0IChjKSAyMDE5LCBORUMgTGFib3JhdG9yaWVzIEV1cm9wZSBHbWJILCBORUMg
Q29ycG9yYXRpb24uCisgKiAgICAgICAgICAgICAgICAgICAgIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgY29weXJpZ2h0IGhv
bGRlciBub3IgdGhlIG5hbWVzIG9mIGl0cworICogICAgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqICAgIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUyAiQVMgSVMiCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRQorICogQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQgSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRQorICogTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRQorICogUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKgorICogVEhJUyBIRUFERVIgTUFZIE5PVCBCRSBFWFRSQUNURUQgT1IgTU9ESUZJRUQgSU4g
QU5ZIFdBWS4KKyAqLworCisjaW5jbHVkZSA8dWsvYXJjaC9sY3B1Lmg+CisKKyNkZWZpbmUgRU5U
UlkoWCkgLmdsb2JsIFggOyBYIDoKKworRU5UUlkoX3VrcGxhdF9zeXNjYWxsKQorCWNsaQorCS8q
CisJICogUHVzaCBhcmd1bWVudHMgaW4gdGhlIG9yZGVyIG9mICdzdHJ1Y3QgX19yZWdzJyB0byB0
aGUgc3RhY2suCisJICogV2UgYXJlIGdvaW5nIHRvIGhhbmRvdmVyIGEgcmVmZXJuY2UgdG8gdGhp
cyBzdGFjayBhcmVhIGFzCisJICogYHN0cnVjdCBfX3JlZ3MgKmAgYXJndW1lbnQgdG8gdGhlIHN5
c3RlbSBjYWxsIGhhbmRsZXIuCisJICovCisJcHVzaHEgJDAJLyogZXhjZXB0aW9uIGZyYW1lIGZp
bGxlZCB3aXRoIHplcm9zICovCisJcHVzaHEgJDAJLyogKHJpcCwgY3MsIGVmbGFncywgcnNwLCBz
cykgICAgICAgICovCisJcHVzaHEgJDAJLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICovCisJcHVzaHEgJDAJLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICov
CisJcHVzaHEgJDAJLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisJcHVz
aHEgJXJheCAJLyogb3JpZ19yYXggKi8KKwlwdXNocSAlcmRpCisJcHVzaHEgJXJzaQorCXB1c2hx
ICVyZHgKKwlwdXNocSAlcmN4CisJcHVzaHEgJXJheAorCXB1c2hxICVyOAorCXB1c2hxICVyOQor
CXB1c2hxICVyMTAKKwlwdXNocSAlcjExCisJcHVzaHEgJXJieAorCXB1c2hxICVyYnAKKwlwdXNo
cSAlcjEyCisJcHVzaHEgJXIxMworCXB1c2hxICVyMTQKKwlwdXNocSAlcjE1CisJLyogcGFkZGlu
ZyAqLworCXN1YnEgICQoX19SRUdTX1BBRF9TSVpFKSwgJXJzcAorCXN0aQorCisJLyoKKwkgKiBI
YW5kbGUgY2FsbAorCSAqIE5PVEU6IEhhbmRsZXIgZnVuY3Rpb24gaXMgZ29pbmcgdG8gbW9kaWZ5
IHNhdmVkIHJlZ2lzdGVycyBzdGF0ZQorCSAqIE5PVEU6IFN0YWNrIHBvaW50ZXIgYXMgInN0cnVj
dCBfX3JlZ3MgKiIgYXJndW1lbnQKKwkgKiAgICAgICAoY2FsbGluZyBjb252ZW50aW9uOiAxc3Qg
YXJnIG9uICVyZGkpCisJICovCisJbW92cSAlcnNwLCAlcmRpCisJY2FsbCB1a3BsYXRfc3lzY2Fs
bF9oYW5kbGVyCisKKwljbGkKKwkvKiBMb2FkIHRoZSB1cGRhdGVkIHN0YXRlIGJhY2sgdG8gcmVn
aXN0ZXJzICovCisJYWRkcSAkKF9fUkVHU19QQURfU0laRSksICVyc3AKKwlwb3BxICVyMTUKKwlw
b3BxICVyMTQKKwlwb3BxICVyMTMKKwlwb3BxICVyMTIKKwlwb3BxICVyYnAKKwlwb3BxICVyYngK
Kwlwb3BxICVyMTEKKwlwb3BxICVyMTAKKwlwb3BxICVyOQorCXBvcHEgJXI4CisJcG9wcSAlcmF4
CisJcG9wcSAlcmN4CisJcG9wcSAlcmR4CisJcG9wcSAlcnNpCisJcG9wcSAlcmRpCisJLyogb3Jp
Z19yYXggYW5kIGV4Y2VwdGlvbiBmcmFtZSAqLworCWFkZHEgJCg2ICogOCksICVyc3AKKwlzdGkK
KworCS8qCisJICogUmV0dXJuIGZyb20gc3lzdGVtIGNhbGwsIGluc3BpcmVkIGJ5IEhlcm1pVHV4
IFsxXQorCSAqIE5PVEU6IFdlIGNhbid0IHVzZSBzeXNyZXQgYmVjYXVzZSBpdCBjaGFuZ2VzIHBy
b3RlY3Rpb24gbW9kZSBbMV0KKwkgKgorCSAqIFsxXSBQaWVycmUgZXQgYWwuLCAyMDE5LCBBIGJp
bmFyeS1jb21wYXRpYmxlIFVuaWtlcm5lbCwKKwkgKiAgICAgUHJvY2VlZGluZ3Mgb2YgdGhlIDE1
dGggQUNNIFNJR1BMQU4vU0lHT1BTIEludGVybmF0aW9uYWwKKwkgKiAgICAgQ29uZmVyZW5jZSBv
biBWaXJ0dWFsIEV4ZWN1dGlvbiBFbnZpcm9ubWVudHMgKFZFRSAyMDE5KSkKKwkgKi8KKwlqbXAg
KiVyY3gKZGlmZiAtLWdpdCBhL3BsYXQva3ZtL0NvbmZpZy51ayBiL3BsYXQva3ZtL0NvbmZpZy51
awppbmRleCAyYmNlNDNlYS4uNDMyY2RkOTUgMTAwNjQ0Ci0tLSBhL3BsYXQva3ZtL0NvbmZpZy51
aworKysgYi9wbGF0L2t2bS9Db25maWcudWsKQEAgLTEsOCArMSw3IEBACiBtZW51Y29uZmlnIFBM
QVRfS1ZNCiAgICAgICAgYm9vbCAiS1ZNIGd1ZXN0IgogICAgICAgIGRlZmF1bHQgbgotICAgICAg
IGRlcGVuZHMgb24gKEFSQ0hfWDg2XzY0IHx8IEFSQ0hfQVJNXzY0KQotICAgICAgIGRlcGVuZHMg
b24gIUhBVkVfU1lTQ0FMTAorICAgICAgIGRlcGVuZHMgb24gKEFSQ0hfWDg2XzY0IHx8IChBUkNI
X0FSTV82NCAmJiAhSEFWRV9TWVNDQUxMKSkKICAgICAgICBzZWxlY3QgTElCVUtERUJVRwogICAg
ICAgIHNlbGVjdCBMSUJVS0FMTE9DCiAgICAgICAgc2VsZWN0IExJQlVLVElNRUNPTlYKZGlmZiAt
LWdpdCBhL3BsYXQva3ZtL01ha2VmaWxlLnVrIGIvcGxhdC9rdm0vTWFrZWZpbGUudWsKaW5kZXgg
YzkwMGQ0NTYuLjYzZWQ5OTUwIDEwMDY0NAotLS0gYS9wbGF0L2t2bS9NYWtlZmlsZS51aworKysg
Yi9wbGF0L2t2bS9NYWtlZmlsZS51awpAQCAtNTEsNiArNTEsOSBAQCBMSUJLVk1QTEFUX1NSQ1Mt
JChDT05GSUdfQVJDSF9YODZfNjQpICs9ICQoVUtfUExBVF9DT01NT05fQkFTRSkveDg2L3RocmVh
ZF9zdGFydAogTElCS1ZNUExBVF9TUkNTLSQoQ09ORklHX0FSQ0hfWDg2XzY0KSArPSAkKFVLX1BM
QVRfQ09NTU9OX0JBU0UpL3RocmVhZC5jfGNvbW1vbgogTElCS1ZNUExBVF9TUkNTLSQoQ09ORklH
X0FSQ0hfWDg2XzY0KSArPSAkKFVLX1BMQVRfQ09NTU9OX0JBU0UpL3N3X2N0eC5jfGNvbW1vbgog
ZW5kaWYKK2lmZXEgKCQoQ09ORklHX0hBVkVfU1lTQ0FMTCkseSkKK0xJQktWTVBMQVRfU1JDUy0k
KENPTkZJR19BUkNIX1g4Nl82NCkgKz0gJChVS19QTEFUX0NPTU1PTl9CQVNFKS94ODYvc3lzY2Fs
bC5TfGNvbW1vbgorZW5kaWYKIExJQktWTVBMQVRfU1JDUy0kKENPTkZJR19BUkNIX1g4Nl82NCkg
Kz0gJChMSUJLVk1QTEFUX0JBU0UpL3g4Ni9lbnRyeTY0LlMKIExJQktWTVBMQVRfU1JDUy0kKENP
TkZJR19BUkNIX1g4Nl82NCkgKz0gJChMSUJLVk1QTEFUX0JBU0UpL3g4Ni90cmFwcy5jCiBMSUJL
Vk1QTEFUX1NSQ1MtJChDT05GSUdfQVJDSF9YODZfNjQpICs9ICQoTElCS1ZNUExBVF9CQVNFKS94
ODYvY3B1X3ZlY3RvcnNfeDg2XzY0LlMKZGlmZiAtLWdpdCBhL3BsYXQva3ZtL3g4Ni9zZXR1cC5j
IGIvcGxhdC9rdm0veDg2L3NldHVwLmMKaW5kZXggNDRlYjdhZGMuLjljN2E5M2E4IDEwMDY0NAot
LS0gYS9wbGF0L2t2bS94ODYvc2V0dXAuYworKysgYi9wbGF0L2t2bS94ODYvc2V0dXAuYwpAQCAt
Mjg3LDYgKzI4NywxMCBAQCB2b2lkIF9saWJrdm1wbGF0X2VudHJ5KHZvaWQgKmFyZykKIAl1a19w
cl9pbmZvKCIgICAgIHN0YWNrIHRvcDogJXBcbiIsCiAJCSAgICh2b2lkICopIF9saWJrdm1wbGF0
X2NmZy5ic3RhY2suc3RhcnQpOwogCisjaWZkZWYgQ09ORklHX0hBVkVfU1lTQ0FMTAorCV9pbml0
X3N5c2NhbGwoKTsKKyNlbmRpZiAvKiBDT05GSUdfSEFWRV9TWVNDQUxMICovCisKIAkvKgogCSAq
IFN3aXRjaCBhd2F5IGZyb20gdGhlIGJvb3RzdHJhcCBzdGFjayBhcyBlYXJseSBhcyBwb3NzaWJs
ZS4KIAkgKi8KLS0gCjIuMjAuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3Rz
LnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0
aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Thu Dec 05 14:14:05 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 05 Dec 2019 14:14:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1icrtM-00005n-3s; Thu, 05 Dec 2019 14:14:04 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=8+qm=Z3=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1icrtK-00005i-Sm
 for minios-devel@lists.xen.org; Thu, 05 Dec 2019 14:14:02 +0000
X-Inumbo-ID: 7c1952d8-1769-11ea-8229-12813bfff9fa
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id 7c1952d8-1769-11ea-8229-12813bfff9fa;
 Thu, 05 Dec 2019 14:14:01 +0000 (UTC)
IronPort-SDR: YJwwygTfP4RJvpDYXkkaAyn39KYZMYip0Rc42u8JyJjhKp0XTjhTKDeKq471bRzYFJYl47nFX0
 KlRuMcNI8o6Q==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 05 Dec 2019 16:13:59 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 6EAD91A60383;
 Thu,  5 Dec 2019 16:14:00 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id MmVUzTCMqV_h; Thu,  5 Dec 2019 16:14:00 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 54A9F1A60384;
 Thu,  5 Dec 2019 16:14:00 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id Is_25IBmX40L; Thu,  5 Dec 2019 16:14:00 +0200 (EET)
Received: from [172.19.11.120] (unknown [141.85.233.104])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 3C1BA1A60383;
 Thu,  5 Dec 2019 16:14:00 +0200 (EET)
To: =?UTF-8?Q?Vlad-Andrei_B=c4=82DOIU_=2878692=29?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>,
 "minios-devel@lists.xen.org" <minios-devel@lists.xen.org>
References: <20191109102119.3558-1-vlad_andrei.badoiu@stud.acs.upb.ro>
From: Costin Lupu <costin.lupu@cs.pub.ro>
Message-ID: <aa941d30-d6e3-82a1-6f7b-8dc5aca2aa8e@cs.pub.ro>
Date: Thu, 5 Dec 2019 16:13:59 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.2.2
MIME-Version: 1.0
In-Reply-To: <20191109102119.3558-1-vlad_andrei.badoiu@stud.acs.upb.ro>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT/PTHREAD-EMBEDDED PATCH 1/1] Add !=
 operator for pte_handle_t
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhhbmtzLCBWbGFkIQoKUmV2aWV3ZWQtYnk6IENvc3RpbiBMdXB1IDxjb3N0aW4ubHVwdUBjcy5w
dWIucm8+CgpPbiAxMS85LzE5IDEyOjIxIFBNLCBWbGFkLUFuZHJlaSBCxIJET0lVICg3ODY5Mikg
d3JvdGU6Cj4gU2lnbmVkLW9mZi1ieTogVmxhZC1BbmRyZWkgQmFkb2l1IDx2bGFkX2FuZHJlaS5i
YWRvaXVAc3R1ZC5hY3MudXBiLnJvPgo+IC0tLQo+ICAuLi4wMDEwLUFkZGVkLW9wZXJhdG9yLWZv
ci1wdGVfaGFuZGxlX3QucGF0Y2ggfCA0OSArKysrKysrKysrKysrKysrKysrCj4gIDEgZmlsZSBj
aGFuZ2VkLCA0OSBpbnNlcnRpb25zKCspCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBwYXRjaGVzLzAw
MTAtQWRkZWQtb3BlcmF0b3ItZm9yLXB0ZV9oYW5kbGVfdC5wYXRjaAo+IAo+IGRpZmYgLS1naXQg
YS9wYXRjaGVzLzAwMTAtQWRkZWQtb3BlcmF0b3ItZm9yLXB0ZV9oYW5kbGVfdC5wYXRjaCBiL3Bh
dGNoZXMvMDAxMC1BZGRlZC1vcGVyYXRvci1mb3ItcHRlX2hhbmRsZV90LnBhdGNoCj4gbmV3IGZp
bGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi43MjcyYjc0Cj4gLS0tIC9kZXYvbnVsbAo+
ICsrKyBiL3BhdGNoZXMvMDAxMC1BZGRlZC1vcGVyYXRvci1mb3ItcHRlX2hhbmRsZV90LnBhdGNo
Cj4gQEAgLTAsMCArMSw0OSBAQAo+ICtGcm9tIDViMTVhMzViNmJjYzBjY2UxNzg1MGE1MWZmYWQ4
MjVhNTc3YmQyMTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCj4gK0Zyb206IFZsYWQtQW5kcmVp
IEJhZG9pdSA8dmxhZF9hbmRyZWkuYmFkb2l1QHN0dWQuYWNzLnVwYi5ybz4KPiArRGF0ZTogU2F0
LCA5IE5vdiAyMDE5IDAxOjEyOjMzICswMjAwCj4gK1N1YmplY3Q6IFtQQVRDSCAxLzFdIEFkZGVk
IG9wZXJhdG9yICE9IGZvciBwdGVfaGFuZGxlX3QKPiArCj4gK1NpZ25lZC1vZmYtYnk6IFZsYWQt
QW5kcmVpIEJhZG9pdSA8dmxhZF9hbmRyZWkuYmFkb2l1QHN0dWQuYWNzLnVwYi5ybz4KPiArLS0t
Cj4gKyBwdGhyZWFkLmggfCAxMiArKysrKysrKysrKysKPiArIDEgZmlsZSBjaGFuZ2VkLCAxMiBp
bnNlcnRpb25zKCspCj4gKwo+ICtkaWZmIC0tZ2l0IGEvcHRocmVhZC5oIGIvcHRocmVhZC5oCj4g
K2luZGV4IDQ4NjI1YTQuLmRhMGM3MjIgMTAwNjQ0Cj4gKy0tLSBhL3B0aHJlYWQuaAo+ICsrKysg
Yi9wdGhyZWFkLmgKPiArQEAgLTQwNiw2ICs0MDYsNyBAQCBlbnVtCj4gKyAgICAgICAgIH0KPiAr
ICAgICAgICAgaW5saW5lIHN0cnVjdCBwdGVfaGFuZGxlJiBvcGVyYXRvcj0odW5zaWduZWQgaW50
IHB0cl92YWx1ZSk7Cj4gKyAgICAgICAgIGlubGluZSBib29sIG9wZXJhdG9yPT0oaW50IHB0cl92
YWx1ZSk7Cj4gKysJIGlubGluZSBib29sIG9wZXJhdG9yIT0oaW50IHB0cl92YWx1ZSk7Cj4gKyAj
ZW5kaWYKPiArICAgICAgIH0gcHRlX2hhbmRsZV90Owo+ICsgCj4gK0BAIC0xMDEwLDEyICsxMDEx
LDIzIEBAIGVudW0KPiArICAgICAgICAgcmV0dXJuICgoc2l6ZV90KSBsLnApID09ICgoc2l6ZV90
KSByLnApOwo+ICsgICAgIH0KPiArIAo+ICsrICAgIC8qIE9wZXJhdG9yIHRvIGJlIGNvbXBhdGli
bGUgdG8gbGlic3RkKysgKi8KPiArKyAgICBpbmxpbmUgYm9vbCBvcGVyYXRvciE9KHB0ZV9oYW5k
bGVfdCBjb25zdCYgbCwgcHRlX2hhbmRsZV90IGNvbnN0JiByKQo+ICsrICAgIHsKPiArKyAgICAg
ICAgcmV0dXJuICgoc2l6ZV90KSBsLnApICE9ICgoc2l6ZV90KSByLnApOwo+ICsrICAgIH0KPiAr
Kwo+ICsgICAgIC8qIE9wZXJhdG9yIHRvIGNvbXBhcmUgdGhlIHRocmVhZCBwb2ludGVyIHdpdGgg
YSBnaXZlbiB2YWx1ZSAqLwo+ICsgICAgIGJvb2wgcHRlX2hhbmRsZV90OjpvcGVyYXRvcj09KGlu
dCBwdHJfdmFsdWUpCj4gKyAgICAgewo+ICsgICAgICAgICByZXR1cm4gKChzaXplX3QpIHRoaXMt
PnApID09ICgoc2l6ZV90KSAocmVpbnRlcnByZXRfY2FzdCA8dm9pZCAqPihwdHJfdmFsdWUpKSk7
Cj4gKyAgICAgfQo+ICsgCj4gKysgICAgYm9vbCBwdGVfaGFuZGxlX3Q6Om9wZXJhdG9yIT0oaW50
IHB0cl92YWx1ZSkKPiArKyAgICB7Cj4gKysgICAgICAgIHJldHVybiAoKHNpemVfdCkgdGhpcy0+
cCkgIT0gKChzaXplX3QpIChyZWludGVycHJldF9jYXN0IDx2b2lkICo+KHB0cl92YWx1ZSkpKTsK
PiArKyAgICB9Cj4gKysKPiArICAgICAvKiBPcGVyYXRvciB0byBhc3NpZ24gYSBnaXZlbiB2YWx1
ZSB0byB0aGUgdGhyZWFkIHBvaW50ZXIgKi8KPiArICAgICBwdGVfaGFuZGxlX3QmIHB0ZV9oYW5k
bGVfdDo6b3BlcmF0b3I9KHVuc2lnbmVkIGludCBwdHJfdmFsdWUpCj4gKyAgICAgewo+ICstLSAK
PiArMi4yMC4xCj4gKwo+IAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVu
cHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZv
L21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Thu Dec 05 16:07:37 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 05 Dec 2019 16:07:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ictfD-0003Ce-F7; Thu, 05 Dec 2019 16:07:35 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=dkMQ=Z3=csuc.cat=esteban.martinez@srs-us1.protection.inumbo.net>)
 id 1ictfB-0003C7-Mh
 for minios-devel@lists.xen.org; Thu, 05 Dec 2019 16:07:34 +0000
X-Inumbo-ID: 5743abb0-1779-11ea-8231-12813bfff9fa
Received: from gabarro.xs.cesca.cat (unknown [84.88.0.6])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id 5743abb0-1779-11ea-8231-12813bfff9fa;
 Thu, 05 Dec 2019 16:07:31 +0000 (UTC)
DomainKey-Signature: s=csuc; d=csuc.cat; c=nofws; q=dns;
 h=Received:From:To:Cc:Subject:Date:Message-Id:X-Mailer;
 b=IhR11Tmn0DHjQo+5cnQ6LR5DyI5zVL6gSpW4j4TWyQmb9NR3VemlvLgi
 2VRNOuYp9+P/3pFa9YWy0NI6RYwsGx4lfEARSzBQUZNfauBxeopNFkL4q
 QWCczvvyHTOEFpGouHelYQrns3CSJK6CbX267pc+ebj9ZEfmvk451X1n8
 M=;
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
 d=csuc.cat; i=@csuc.cat; q=dns/txt; s=csuc;
 t=1575562051; x=1607098051;
 h=from:to:cc:subject:date:message-id;
 bh=vH0UBFKWOJI81/reQk4TlGNJJ9vrw6YvXVYebLjK2UM=;
 b=lbrU3ZdAAfy3UprxugYVxbyEvkXXy53mm4JMkaML6xrpg7tT/FpjDbOf
 izrArQRHuK7mX5eH0FohiKcnU49z9/3jW+e2hz4GXMYY+2OIAIDmpya3R
 UdqqA3oi2CxmXXMBw602KCo5fog+CTrxcZ8/Frg7kSAwiy60DxHL4V/u+ A=;
Received: from descoberta.usr.xc.cesca.cat (HELO localhost.localdomain)
 ([192.94.163.14])
 by smtp.xc.csuc.cat with ESMTP/TLS/DHE-RSA-AES128-GCM-SHA256;
 05 Dec 2019 17:07:27 +0100
From: Esteban <esteban.martinez@csuc.cat>
To: minios-devel@lists.xen.org
Date: Thu,  5 Dec 2019 17:07:13 +0100
Message-Id: <20191205160715.14638-1-esteban.martinez@csuc.cat>
X-Mailer: git-send-email 2.17.1
Subject: [Minios-devel] [UNIKRAFT/LCMS PATCH v2 0/2] Port LCMS library
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Esteban <esteban.martinez@csuc.cat>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

U3VwcG9ydCBjb2xvciBtYW5hZ2VtZW50CgpFc3RlYmFuICgyKToKICBbTENNUyBQQVRDSF0gbGNt
czogQWRkIG5ldyBsaWJyYXJ5CiAgW0xDTVMgUEFUQ0hdIGxjbXM6IEFkZCBNYWtlZmlsZS51awoK
IC5naXRpZ25vcmUgICAgICB8ICAyNyArKysrKysrKysrCiBDT0RJTkdfU1RZTEUubWQgfCAgIDQg
KysKIENPTlRSSUJVVElORy5tZCB8ICAgNCArKwogQ09QWUlORy5tZCAgICAgIHwgIDQxICsrKysr
KysrKysrKysrKwogQ29uZmlnLnVrICAgICAgIHwgIDExICsrKysrCiBNQUlOVEFJTkVSUy5tZCAg
fCAgMTEgKysrKysKIE1ha2VmaWxlLnVrICAgICB8IDEyOSArKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysKIFJFQURNRS5tZCAgICAgICB8ICAgNyArKysKIGV4
cG9ydHN5bXMudWsgICB8ICAgMSArCiA5IGZpbGVzIGNoYW5nZWQsIDIzNSBpbnNlcnRpb25zKCsp
CiBjcmVhdGUgbW9kZSAxMDA3NTUgLmdpdGlnbm9yZQogY3JlYXRlIG1vZGUgMTAwNzU1IENPRElO
R19TVFlMRS5tZAogY3JlYXRlIG1vZGUgMTAwNzU1IENPTlRSSUJVVElORy5tZAogY3JlYXRlIG1v
ZGUgMTAwNzU1IENPUFlJTkcubWQKIGNyZWF0ZSBtb2RlIDEwMDc1NSBDb25maWcudWsKIGNyZWF0
ZSBtb2RlIDEwMDc1NSBNQUlOVEFJTkVSUy5tZAogY3JlYXRlIG1vZGUgMTAwNzU1IE1ha2VmaWxl
LnVrCiBjcmVhdGUgbW9kZSAxMDA3NTUgUkVBRE1FLm1kCiBjcmVhdGUgbW9kZSAxMDA3NTUgZXhw
b3J0c3ltcy51awoKLS0gCjIuMTcuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxp
c3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9s
aXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Thu Dec 05 16:07:39 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 05 Dec 2019 16:07:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ictfH-0003DC-HU; Thu, 05 Dec 2019 16:07:39 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=dkMQ=Z3=csuc.cat=esteban.martinez@srs-us1.protection.inumbo.net>)
 id 1ictfG-0003D5-FF
 for minios-devel@lists.xen.org; Thu, 05 Dec 2019 16:07:38 +0000
X-Inumbo-ID: 57c1fad8-1779-11ea-8231-12813bfff9fa
Received: from gabarro.xs.cesca.cat (unknown [84.88.0.6])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id 57c1fad8-1779-11ea-8231-12813bfff9fa;
 Thu, 05 Dec 2019 16:07:32 +0000 (UTC)
DomainKey-Signature: s=csuc; d=csuc.cat; c=nofws; q=dns;
 h=Received:From:To:Cc:Subject:Date:Message-Id:X-Mailer:
 In-Reply-To:References;
 b=Qclr0642+6azhC7YkrYF2oGAT/hdCztYf5+UVfQDKV/tpLVtnksJ+Xor
 Qf13Kz4awM0/4YmoN+xxrxJy3YvQKcksorFX9RC1Rw4KF3X+owPSwVQZm
 yrAaAPkRzWXIpu2whjCgFEVkR0C9yw03GUJLrfXC7nXfb/DcZXqENPd+e
 w=;
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
 d=csuc.cat; i=@csuc.cat; q=dns/txt; s=csuc;
 t=1575562052; x=1607098052;
 h=from:to:cc:subject:date:message-id:in-reply-to: references;
 bh=OmyYiAhrMApuaJXv+nRwhH7sf3CVlUZyq6xxpz5ZRV4=;
 b=LEkMPJMytW5rIaxhLgUJCokP34siF5rXl8WB8a1IzfUFTiUU845Pz2Ie
 bEb7UTiE6+jqZIwL0QW2c4myVI8TvLxG7aEH2h88iejMjSxGYRlg9HUtm
 wsz9Obu9mVabzQUGVzxExrAovNhQayG4VrYXhufTGwKutHId/HBWNir13 c=;
Received: from descoberta.usr.xc.cesca.cat (HELO localhost.localdomain)
 ([192.94.163.14])
 by smtp.xc.csuc.cat with ESMTP/TLS/DHE-RSA-AES128-GCM-SHA256;
 05 Dec 2019 17:07:30 +0100
From: Esteban <esteban.martinez@csuc.cat>
To: minios-devel@lists.xen.org
Date: Thu,  5 Dec 2019 17:07:14 +0100
Message-Id: <20191205160715.14638-2-esteban.martinez@csuc.cat>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20191205160715.14638-1-esteban.martinez@csuc.cat>
References: <20191205160715.14638-1-esteban.martinez@csuc.cat>
Subject: [Minios-devel] [UNIKRAFT/LCMS PATCH v2 1/2] [LCMS PATCH] lcms: Add
 new library
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Esteban <esteban.martinez@csuc.cat>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

QWRkIHNrZWxldG9uIG5ldyBsaWJyYXJ5IExDTVMKClNpZ25lZC1vZmYtYnk6IEVzdGViYW4gPGVz
dGViYW4ubWFydGluZXpAY3N1Yy5jYXQ+Ci0tLQogLmdpdGlnbm9yZSAgICAgIHwgMjcgKysrKysr
KysrKysrKysrKysrKysrKysrKysrCiBDT0RJTkdfU1RZTEUubWQgfCAgNCArKysrCiBDT05UUklC
VVRJTkcubWQgfCAgNCArKysrCiBDT1BZSU5HLm1kICAgICAgfCA0MSArKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKwogQ29uZmlnLnVrICAgICAgIHwgMTEgKysrKysrKysr
KysKIE1BSU5UQUlORVJTLm1kICB8IDExICsrKysrKysrKysrCiBSRUFETUUubWQgICAgICAgfCAg
NyArKysrKysrCiBleHBvcnRzeW1zLnVrICAgfCAgMSArCiA4IGZpbGVzIGNoYW5nZWQsIDEwNiBp
bnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA3NTUgLmdpdGlnbm9yZQogY3JlYXRlIG1vZGUg
MTAwNzU1IENPRElOR19TVFlMRS5tZAogY3JlYXRlIG1vZGUgMTAwNzU1IENPTlRSSUJVVElORy5t
ZAogY3JlYXRlIG1vZGUgMTAwNzU1IENPUFlJTkcubWQKIGNyZWF0ZSBtb2RlIDEwMDc1NSBDb25m
aWcudWsKIGNyZWF0ZSBtb2RlIDEwMDc1NSBNQUlOVEFJTkVSUy5tZAogY3JlYXRlIG1vZGUgMTAw
NzU1IFJFQURNRS5tZAogY3JlYXRlIG1vZGUgMTAwNzU1IGV4cG9ydHN5bXMudWsKCmRpZmYgLS1n
aXQgYS8uZ2l0aWdub3JlIGIvLmdpdGlnbm9yZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAw
MDAwMDAwLi43NWQyZmQzCi0tLSAvZGV2L251bGwKKysrIGIvLmdpdGlnbm9yZQpAQCAtMCwwICsx
LDI3IEBACisqLmRlcGVuZAorKi5vCisqLmEKKyouZAorKi5zbworKi5vcmlnCisqLnJlagorKi5i
YWsKKyouc3dwCisqfgorLCoKK1wjKlwjCisuXCMqCitcI18qXCMKKy5cI18qCishLmdpdGlnbm9y
ZQorLioKKworIyBnbnUgZ2xvYmFsIGZpbGVzCitHUEFUSAorR1JUQUdTCitHU1lNUworR1RBR1MK
KworIyBjc2NvcGUgZmlsZXMKK2NzY29wZS4qCituY3Njb3BlLioKZGlmZiAtLWdpdCBhL0NPRElO
R19TVFlMRS5tZCBiL0NPRElOR19TVFlMRS5tZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAw
MDAwMDAwLi41NzMwMDQxCi0tLSAvZGV2L251bGwKKysrIGIvQ09ESU5HX1NUWUxFLm1kCkBAIC0w
LDAgKzEsNCBAQAorQ29kaW5nIFN0eWxlCis9PT09PT09PT09PT0KKworUGxlYXNlIHJlZmVyIHRv
IHRoZSBgQ09ESU5HX1NUWUxFLm1kYCBmaWxlIGluIHRoZSBtYWluIFVuaWtyYWZ0IHJlcG9zaXRv
cnkuCmRpZmYgLS1naXQgYS9DT05UUklCVVRJTkcubWQgYi9DT05UUklCVVRJTkcubWQKbmV3IGZp
bGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTRmNmFjNgotLS0gL2Rldi9udWxsCisrKyBi
L0NPTlRSSUJVVElORy5tZApAQCAtMCwwICsxLDQgQEAKK0NvbnRyaWJ1dGluZyB0byBVbmlrcmFm
dAorPT09PT09PT09PT09PT09PT09PT09PT09CisKK1BsZWFzZSByZWZlciB0byB0aGUgYENPTlRS
SUJVVElORy5tZGAgZmlsZSBpbiB0aGUgbWFpbiBVbmlrcmFmdCByZXBvc2l0b3J5LgpkaWZmIC0t
Z2l0IGEvQ09QWUlORy5tZCBiL0NPUFlJTkcubWQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXgg
MDAwMDAwMC4uZmEwNTA0MQotLS0gL2Rldi9udWxsCisrKyBiL0NPUFlJTkcubWQKQEAgLTAsMCAr
MSw0MSBAQAorTGljZW5zZQorPT09PT09PQorCitVbmlrcmFmdCBsY21zIHdyYXBwZXJzCistLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KKworVGhpcyByZXBvc2l0b3J5IGNvbnRhaW5zIHdyYXBwZXIg
Y29kZSB0byBidWlsZCBsY21zIHdpdGggVW5pa3JhZnQuICBUaGUgY29kZQoraXMgcHVibGlzaGVk
IGFzIGEgbWl4dHVyZSBvZiBCU0QgYW5kIE1JVCBsaWNlbmNlczsgZWFjaCBDIGNvZGUgZmlsZSBp
bgordGhpcyByZXBvc2l0b3J5IHNob3VsZCBkZWNsYXJlIHdobyBpcyB0aGUgY29weXJpZ2h0IG93
bmVyIGFuZCB1bmRlciB3aGljaCB0ZXJtcworYW5kIGNvbmRpdGlvbnMgdGhlIGNvZGUgaXMgbGlj
ZW5zZWQuIElmIHN1Y2ggYSBsaWNlbmNlIG5vdGUgaXMgbWlzc2luZywgdGhlCitmb2xsb3dpbmcg
Y29weXJpZ2h0IG5vdGljZSB3aWxsIGFwcGx5OgorCisJQ29weXJpZ2h0IChjKSAyMDE3LCBORUMg
RXVyb3BlIEx0ZC4sIE5FQyBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKworCVJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorCW1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworCWFyZSBtZXQ6CisKKwkxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorCSAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKwky
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorCSAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKwkgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorCTMuIE5laXRoZXIg
dGhlIG5hbWUgb2YgdGhlIGNvcHlyaWdodCBob2xkZXIgbm9yIHRoZSBuYW1lcyBvZiBpdHMKKwkg
ICBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbQorCSAgIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCisKKwlUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIKKwlBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCisJSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKwlBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFCisJTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
CUNPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisJU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisJSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKwlDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorCUFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFCisJUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisKK2xjbXMgc291cmNlIGNvZGUKKy0tLS0tLS0tLS0tLS0tLS0tLQpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0NvbmZpZy51ayBiL0NvbmZpZy51awpuZXcgZmlsZSBt
b2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lZGIzNjU5Ci0tLSAvZGV2L251bGwKKysrIGIvQ29u
ZmlnLnVrCkBAIC0wLDAgKzEsMTEgQEAKK2NvbmZpZyBMSUJMQ01TCisJYm9vbCAibGlibGNtcyAt
IENvbG9yIG1hbmFnZW1lbnQgZW5naW5lIgorCWRlZmF1bHQgbgorCXNlbGVjdCBMSUJOT0xJQkMg
aWYgIUhBVkVfTElCQworCXNlbGVjdCBMSUJVS0RFQlVHCisgICAgc2VsZWN0IExJQlVLQUxMT0MK
KyAgICBzZWxlY3QgTElCUFRIUkVBRF9FTUJFRERFRAorICAgIHNlbGVjdCBMSUJORVdMSUJDCisK
K2lmIExJQkxDTVMKK2VuZGlmCmRpZmYgLS1naXQgYS9NQUlOVEFJTkVSUy5tZCBiL01BSU5UQUlO
RVJTLm1kCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjIyN2M0ZGQKLS0tIC9k
ZXYvbnVsbAorKysgYi9NQUlOVEFJTkVSUy5tZApAQCAtMCwwICsxLDExIEBACitNYWludGFpbmVy
cyBMaXN0Cis9PT09PT09PT09PT09PT09CisKK0ZvciBub3RlcyBvbiBob3cgdG8gcmVhZCB0aGlz
IGluZm9ybWF0aW9uLCBwbGVhc2UgcmVmZXIgdG8gYE1BSU5UQUlORVJTLm1kYCBpbgordGhlIG1h
aW4gVW5pa3JhZnQgcmVwb3NpdG9yeS4KKworCUxDTVMtVU5JS1JBRlQKKwlNOglDb3N0aW4gTHVw
dSA8Y29zdGluLmx1cHVAY3MucHViLnJvPgorCU06CUZlbGlwZSBIdWljaSA8ZmVsaXBlLmh1aWNp
QG5lY2xhYi5ldT4KKwlMOgltaW5pb3MtZGV2ZWxAbGlzdHMueGVuLm9yZworCUY6ICoKZGlmZiAt
LWdpdCBhL1JFQURNRS5tZCBiL1JFQURNRS5tZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAw
MDAwMDAwLi40MWYzZWE1Ci0tLSAvZGV2L251bGwKKysrIGIvUkVBRE1FLm1kCkBAIC0wLDAgKzEs
NyBAQAorbGNtcyBmb3IgVW5pa3JhZnQKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisK
K1RoaXMgaXMgdGhlIHBvcnQgb2YgbGNtcyBmb3IgVW5pa3JhZnQgYXMgZXh0ZXJuYWwgbGlicmFy
eS4KKworUGxlYXNlIHJlZmVyIHRvIHRoZSBgUkVBRE1FLm1kYCBhcyB3ZWxsIGFzIHRoZSBkb2N1
bWVudGF0aW9uIGluIHRoZSBgZG9jL2AKK3N1YmRpcmVjdG9yeSBvZiB0aGUgbWFpbiB1bmlrcmFm
dCByZXBvc2l0b3J5LgpkaWZmIC0tZ2l0IGEvZXhwb3J0c3ltcy51ayBiL2V4cG9ydHN5bXMudWsK
bmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzg2YzNmMwotLS0gL2Rldi9udWxs
CisrKyBiL2V4cG9ydHN5bXMudWsKQEAgLTAsMCArMSBAQAorbm9uZQpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKLS0gCjIuMTcuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxp
c3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9s
aXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Thu Dec 05 16:07:44 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 05 Dec 2019 16:07:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ictfM-0003Dz-JC; Thu, 05 Dec 2019 16:07:44 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=dkMQ=Z3=csuc.cat=esteban.martinez@srs-us1.protection.inumbo.net>)
 id 1ictfL-0003Dr-Fq
 for minios-devel@lists.xen.org; Thu, 05 Dec 2019 16:07:43 +0000
X-Inumbo-ID: 58ac4c00-1779-11ea-8231-12813bfff9fa
Received: from gabarro.xs.cesca.cat (unknown [84.88.0.6])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id 58ac4c00-1779-11ea-8231-12813bfff9fa;
 Thu, 05 Dec 2019 16:07:33 +0000 (UTC)
DomainKey-Signature: s=csuc; d=csuc.cat; c=nofws; q=dns;
 h=Received:From:To:Cc:Subject:Date:Message-Id:X-Mailer:
 In-Reply-To:References;
 b=D5K1Q5NqFI2LdqCv31b4+NEYuqNzFvXyZM8Hwa2LBEF3zSwQorYd2ojR
 Ewb+7KMBs6oT7PHQJDRdgkqsICT0qh2stcpTjWNwJvCizR+QsGkzAXvaN
 7bgXKbrX/6fG3+mWfPAO6qvf3bLDSm4uDAcKSdenwklpjijB6q99mfHWQ
 s=;
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
 d=csuc.cat; i=@csuc.cat; q=dns/txt; s=csuc;
 t=1575562053; x=1607098053;
 h=from:to:cc:subject:date:message-id:in-reply-to: references;
 bh=VEpIFAGx/eBiNGGztoEOa7B2yZV1ACkxfB0Yx6pFqIc=;
 b=dDKEAtlDS7oUqMG/ILZymwXNfKGRiiFh8NqpmneNOXQIFQYOA3PJ2LW0
 ZvrxTQCuxlM9J31he3I8ZFqEdu+j/1VJQjFMaZZcuXQAWaM301EF7dEnH
 syHCx0mctggITuBCkpTXCrQQTWFtfuKRVHs7NolWkmwjJf62yq4V6B8is 4=;
Received: from descoberta.usr.xc.cesca.cat (HELO localhost.localdomain)
 ([192.94.163.14])
 by smtp.xc.csuc.cat with ESMTP/TLS/DHE-RSA-AES128-GCM-SHA256;
 05 Dec 2019 17:07:31 +0100
From: Esteban <esteban.martinez@csuc.cat>
To: minios-devel@lists.xen.org
Date: Thu,  5 Dec 2019 17:07:15 +0100
Message-Id: <20191205160715.14638-3-esteban.martinez@csuc.cat>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20191205160715.14638-1-esteban.martinez@csuc.cat>
References: <20191205160715.14638-1-esteban.martinez@csuc.cat>
Subject: [Minios-devel] [UNIKRAFT/LCMS PATCH v2 2/2] [LCMS PATCH] lcms: Add
 Makefile.uk
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Esteban <esteban.martinez@csuc.cat>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

U2lnbmVkLW9mZi1ieTogRXN0ZWJhbiA8ZXN0ZWJhbi5tYXJ0aW5lekBjc3VjLmNhdD4KLS0tCiBN
YWtlZmlsZS51ayB8IDEyOSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgMTI5IGluc2VydGlvbnMoKykKIGNyZWF0ZSBt
b2RlIDEwMDc1NSBNYWtlZmlsZS51awoKZGlmZiAtLWdpdCBhL01ha2VmaWxlLnVrIGIvTWFrZWZp
bGUudWsKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODZmOTQxYgotLS0gL2Rl
di9udWxsCisrKyBiL01ha2VmaWxlLnVrCkBAIC0wLDAgKzEsMTI5IEBACisjICBTUERYLUxpY2Vu
c2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCisjCisjICBsY21zIE1ha2VmaWxlLnVrCisjCisj
ICBBdXRob3JzOiBDb3N0aW4gTHVwdSA8Y29zdGluLmx1cHVAY3MucHViLnJvPgorIworIyAgQ29w
eXJpZ2h0IChjKSAyMDE5LCBVbml2ZXJzaXR5IFBvbGl0ZWhuaWNhIG9mIEJ1Y2hhcmVzdC4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyAgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisjICBhcmUg
bWV0OgorIworIyAgMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisjICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorIyAgMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0
aGUgY29weXJpZ2h0IGhvbGRlciBub3IgdGhlIG5hbWVzIG9mIGl0cworIyAgICAgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20KKyMgICAgIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisjCisjICBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIKKyMgIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
KyMgIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFCisjICBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFCisjICBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisjICBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorIyAgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisjICBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
IyAgQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyMgIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFCisjICBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyMKKyMgIFRISVMgSEVBREVSIE1BWSBOT1QgQkUgRVhUUkFDVEVEIE9S
IE1PRElGSUVEIElOIEFOWSBXQVkuCisjCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIExp
YnJhcnkgcmVnaXN0cmF0aW9uCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworJChldmFsICQoY2Fs
bCBhZGRsaWJfcyxsaWJsY21zLCQoQ09ORklHX0xJQkxDTVMpKSkKKyMkKGV2YWwgJChjYWxsIGFk
ZGxpYl9zLGxpYmxjbXNnbHVlLCQoQ09ORklHX0xJQkxDTVMpKSkKKworIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMKKyMgT3JpZ2luYWwgc291cmNlcworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKK0xJ
QkxDTVNfVkVSU0lPTj0yLjkKK0xJQkxDTVNfVVJMPWh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250
ZW50LmNvbS9weXRob24tcGlsbG93L3BpbGxvdy1kZXBlbmRzL21hc3Rlci9sY21zMi0kKExJQkxD
TVNfVkVSU0lPTikudGFyLmd6CitMSUJMQ01TX1BBVENIRElSPSQoTElCTENNU19CQVNFKS9wYXRj
aGVzCitMSUJMQ01TX1NVQkRJUj1sY21zMi0kKExJQkxDTVNfVkVSU0lPTikKKyQoZXZhbCAkKGNh
bGwgZmV0Y2gsbGlibGNtcywkKExJQkxDTVNfVVJMKSkpCiskKGV2YWwgJChjYWxsIHBhdGNoLGxp
YmxjbXMsJChMSUJMQ01TX1BBVENIRElSKSwkKExJQkxDTVNfU1VCRElSKSkpCisKKyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjCisjIEhlbHBlcnMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCitMSUJM
Q01TX0VYVFJBQ1RFRCA9ICQoTElCTENNU19PUklHSU4pL2xjbXMyLSQoTElCTENNU19WRVJTSU9O
KQorCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBMaWJyYXJ5IGluY2x1ZGVzCisjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIworTElCTENNU19DT01NT05fSU5DTFVERVMteSAgICAgICs9IC1JJChM
SUJMQ01TX0VYVFJBQ1RFRCkvaW5jbHVkZQorTElCTENNU19DT01NT05fSU5DTFVERVMteSAgICAg
ICs9IC1JJChMSUJMQ01TX0VYVFJBQ1RFRCkvc3JjCisKK0NJTkNMVURFUy0kKENPTkZJR19MSUJM
Q01TKSAgICArPSAkKExJQkxDTVNfQ09NTU9OX0lOQ0xVREVTLXkpCisKK0xJQkxDTVNfQ0lOQ0xV
REVTICAgKz0gLUkkKExJQkxDTVNfRVhUUkFDVEVEKQorCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IworIyBHbG9iYWwgZmxhZ3MKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIFN1cHByZXNzZWQg
ZmxhZ3MKK0xJQkxDTVNfU1VQUFJFU1NfRkxBR1MgKz0gLVduby11bnVzZWQtcGFyYW1ldGVyIFwK
KwktV25vLXVudXNlZC12YXJpYWJsZSAtV25vLXVudXNlZC12YWx1ZSAtV25vLXVudXNlZC1mdW5j
dGlvbiBcCisJLVduby1taXNzaW5nLWZpZWxkLWluaXRpYWxpemVycyAtV25vLWltcGxpY2l0LWZh
bGx0aHJvdWdoCitMSUJMQ01TX0NGTEFHUy15ICAgKz0gJChMSUJMQ01TX1NVUFBSRVNTX0ZMQUdT
KSBcCisJLVduby1wb2ludGVyLXRvLWludC1jYXN0IC1Xbm8taW50LXRvLXBvaW50ZXItY2FzdAor
CisKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgT1MgZGVwZW5kZW5jaWVzIGNvZGUgLSBH
bHVlIGJldHdlZW4gVW5pa3JhZnQgYW5kIGxjbXMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisj
TElCTENNU0dMVUVfU1JDUy15ICs9ICQoTElCTENNU19CQVNFKS9zYW1wbGUuY3xnbHVlCisKKyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIExDTVMgc3JjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IworTElCTENNU19TUkNTLXkgKz0gJChMSUJMQ01TX0VYVFJBQ1RFRCkvc3JjL2Ntc2NudnJ0LmMK
K0xJQkxDTVNfU1JDUy15ICs9ICQoTElCTENNU19FWFRSQUNURUQpL3NyYy9jbXNlcnIuYworTElC
TENNU19TUkNTLXkgKz0gJChMSUJMQ01TX0VYVFJBQ1RFRCkvc3JjL2Ntc2dhbW1hLmMKK0xJQkxD
TVNfU1JDUy15ICs9ICQoTElCTENNU19FWFRSQUNURUQpL3NyYy9jbXNnbXQuYworTElCTENNU19T
UkNTLXkgKz0gJChMSUJMQ01TX0VYVFJBQ1RFRCkvc3JjL2Ntc2ludHJwLmMKK0xJQkxDTVNfU1JD
Uy15ICs9ICQoTElCTENNU19FWFRSQUNURUQpL3NyYy9jbXNpbzAuYworTElCTENNU19TUkNTLXkg
Kz0gJChMSUJMQ01TX0VYVFJBQ1RFRCkvc3JjL2Ntc2lvMS5jCitMSUJMQ01TX1NSQ1MteSArPSAk
KExJQkxDTVNfRVhUUkFDVEVEKS9zcmMvY21zbHV0LmMKK0xJQkxDTVNfU1JDUy15ICs9ICQoTElC
TENNU19FWFRSQUNURUQpL3NyYy9jbXNwbHVnaW4uYworTElCTENNU19TUkNTLXkgKz0gJChMSUJM
Q01TX0VYVFJBQ1RFRCkvc3JjL2Ntc3NtLmMKK0xJQkxDTVNfU1JDUy15ICs9ICQoTElCTENNU19F
WFRSQUNURUQpL3NyYy9jbXNtZDUuYworTElCTENNU19TUkNTLXkgKz0gJChMSUJMQ01TX0VYVFJB
Q1RFRCkvc3JjL2Ntc210cnguYworTElCTENNU19TUkNTLXkgKz0gJChMSUJMQ01TX0VYVFJBQ1RF
RCkvc3JjL2Ntc3BhY2suYworTElCTENNU19TUkNTLXkgKz0gJChMSUJMQ01TX0VYVFJBQ1RFRCkv
c3JjL2Ntc3d0cG50LmMKK0xJQkxDTVNfU1JDUy15ICs9ICQoTElCTENNU19FWFRSQUNURUQpL3Ny
Yy9jbXN4Zm9ybS5jCitMSUJMQ01TX1NSQ1MteSArPSAkKExJQkxDTVNfRVhUUkFDVEVEKS9zcmMv
Y21zc2FtcC5jCitMSUJMQ01TX1NSQ1MteSArPSAkKExJQkxDTVNfRVhUUkFDVEVEKS9zcmMvY21z
bmFtZWQuYworTElCTENNU19TUkNTLXkgKz0gJChMSUJMQ01TX0VYVFJBQ1RFRCkvc3JjL2Ntc2Nh
bTAyLmMKK0xJQkxDTVNfU1JDUy15ICs9ICQoTElCTENNU19FWFRSQUNURUQpL3NyYy9jbXN2aXJ0
LmMKK0xJQkxDTVNfU1JDUy15ICs9ICQoTElCTENNU19FWFRSQUNURUQpL3NyYy9jbXN0eXBlcy5j
CitMSUJMQ01TX1NSQ1MteSArPSAkKExJQkxDTVNfRVhUUkFDVEVEKS9zcmMvY21zY2dhdHMuYwor
TElCTENNU19TUkNTLXkgKz0gJChMSUJMQ01TX0VYVFJBQ1RFRCkvc3JjL2Ntc3BzMi5jCitMSUJM
Q01TX1NSQ1MteSArPSAkKExJQkxDTVNfRVhUUkFDVEVEKS9zcmMvY21zb3B0LmMKK0xJQkxDTVNf
U1JDUy15ICs9ICQoTElCTENNU19FWFRSQUNURUQpL3NyYy9jbXNoYWxmLmMKK0xJQkxDTVNfU1JD
Uy15ICs9ICQoTElCTENNU19FWFRSQUNURUQpL3NyYy9jbXNhbHBoYS5jCitMSUJMQ01TX1NSQ1Mt
eSArPSAkKExJQkxDTVNfRVhUUkFDVEVEKS9zcmMvY21zcGNzLmMKKworCisjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIworIyBMQ01TIHByZXBhcmUKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIFJ1
biAuL2NvbmZpZ3VyZQorJChMSUJMQ01TX0VYVFJBQ1RFRCkvY29uZmlnLnN0YXR1czogJChMSUJM
Q01TX0JVSUxEKS8ub3JpZ2luCisJJChjYWxsIHZlcmJvc2VfY21kLENPTkZJRyxsaWJsY21zOiAk
KG5vdGRpciAkQCksIFwKKwkJY2QgJChMSUJMQ01TX0VYVFJBQ1RFRCkgJiYgLi9jb25maWd1cmUp
CisKK0xJQkxDTVNfUFJFUEFSRURfREVQUyA9IFwKKwkkKExJQkxDTVNfRVhUUkFDVEVEKS9jb25m
aWcuc3RhdHVzIFwKKworJChMSUJMQ01TX0JVSUxEKS8ucHJlcGFyZWQ6ICQoTElCTENNU19QUkVQ
QVJFRF9ERVBTKQorCitVS19QUkVQQVJFICs9ICQoTElCTENNU19CVUlMRCkvLnByZXBhcmVkClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQotLSAKMi4xNy4xCgoKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApN
aW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0
Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Thu Dec 05 23:41:40 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 05 Dec 2019 23:41:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1id0kc-0000Sv-7m; Thu, 05 Dec 2019 23:41:38 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=w7E+=Z3=citrix.com=lars.kurth@srs-us1.protection.inumbo.net>)
 id 1id0kb-0000Sq-OG
 for minios-devel@lists.xenproject.org; Thu, 05 Dec 2019 23:41:37 +0000
X-Inumbo-ID: bf1e04da-17b8-11ea-8242-12813bfff9fa
Received: from esa5.hc3370-68.iphmx.com (unknown [216.71.155.168])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id bf1e04da-17b8-11ea-8242-12813bfff9fa;
 Thu, 05 Dec 2019 23:41:25 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
 d=citrix.com; s=securemail; t=1575589284;
 h=from:to:cc:subject:date:message-id:references:
 in-reply-to:content-id:content-transfer-encoding: mime-version;
 bh=7thsNu1yLw7N0JCESXI8r+HzFp0zhvtgpp3wbvXZTBI=;
 b=QYvXxvOsOig0iQLJ5rMxOmwl5Hp3soRusjUxUDFfQyXB2VPz9aLq9uiF
 pnvl3HIJoj5OfPrtmNf5XrmdequQ9iXVDjfxMGFVvekaV5S0PSVNCVJjq
 dKegPxeeyN6FMmGLn+kAnNAiZingxeKLh7MQfDdgi02GZuf9EI1aFVYYr I=;
Authentication-Results: esa5.hc3370-68.iphmx.com;
 dkim=none (message not signed) header.i=none;
 spf=None smtp.pra=lars.kurth@citrix.com;
 spf=Pass smtp.mailfrom=lars.kurth@citrix.com;
 spf=None smtp.helo=postmaster@mail.citrix.com
Received-SPF: None (esa5.hc3370-68.iphmx.com: no sender
 authenticity information available from domain of
 lars.kurth@citrix.com) identity=pra;
 client-ip=162.221.158.21; receiver=esa5.hc3370-68.iphmx.com;
 envelope-from="lars.kurth@citrix.com";
 x-sender="lars.kurth@citrix.com"; x-conformance=sidf_compatible
Received-SPF: Pass (esa5.hc3370-68.iphmx.com: domain of
 lars.kurth@citrix.com designates 162.221.158.21 as permitted
 sender) identity=mailfrom; client-ip=162.221.158.21;
 receiver=esa5.hc3370-68.iphmx.com;
 envelope-from="lars.kurth@citrix.com";
 x-sender="lars.kurth@citrix.com";
 x-conformance=sidf_compatible; x-record-type="v=spf1";
 x-record-text="v=spf1 ip4:209.167.231.154 ip4:178.63.86.133
 ip4:195.66.111.40/30 ip4:85.115.9.32/28 ip4:199.102.83.4
 ip4:192.28.146.160 ip4:192.28.146.107 ip4:216.52.6.88
 ip4:216.52.6.188 ip4:162.221.158.21 ip4:162.221.156.83
 ip4:168.245.78.127 ~all"
Received-SPF: None (esa5.hc3370-68.iphmx.com: no sender
 authenticity information available from domain of
 postmaster@mail.citrix.com) identity=helo;
 client-ip=162.221.158.21; receiver=esa5.hc3370-68.iphmx.com;
 envelope-from="lars.kurth@citrix.com";
 x-sender="postmaster@mail.citrix.com";
 x-conformance=sidf_compatible
IronPort-SDR: +3tbGZAvBCkFlyiKoQh+eqxWB8pOt+v7C2EXLm6kpH6l61uGoQkfW+ZYQUNT9IMq0R0gBy2XMj
 slkl4y7zlrsQ8IpBL4gTgki4vpAvp1IZY4Y3tFAd5mGZOQgO+ceVZD6+QXiwZLkvaa15wfDZuL
 p8UxzmgD9HlPzG30WOKsYIht+RYXk/dVV4jIdISHPZsei98O5jSRWuXmXhf3FcjKyTAq6iaT9o
 lwvq/7hnKGZPZe9J9BpUOl88aJ0y6Pm4Yp8PrbcnXBwhSzHzbz1yGLql188Wll6swT34Nb/RFz
 P/s=
X-SBRS: 2.7
X-MesageID: 9638266
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
X-IronPort-AV: E=Sophos;i="5.69,282,1571716800"; 
   d="scan'208";a="9638266"
From: Lars Kurth <lars.kurth@citrix.com>
To: Rich Persaud <persaur@gmail.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Jan Beulich <JBeulich@suse.com>
Thread-Topic: [MirageOS-devel] [PATCH v2 4/6] Add Code Review Guide
Thread-Index: AQHVpfEGwl/VxYnE9Uydtksy7w4pxaegJ7iAgACsyoCAABXQgIAK324A
Date: Thu, 5 Dec 2019 23:41:19 +0000
Message-ID: <97079765-88F1-4F0C-95B1-B729B4AA93AA@citrix.com>
References: <BE78F496-8B9C-490F-A500-204E3305C950@citrix.com>
 <6DC58DC2-5F2F-4496-A0F5-A91F11FD931B@gmail.com>
 <FDC64A08-D894-44CB-9244-9752D0FD17CD@citrix.com>
In-Reply-To: <FDC64A08-D894-44CB-9244-9752D0FD17CD@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: Microsoft-MacOutlook/10.10.10.191111
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
Content-ID: <35988F976334FD438E6B801F1EB8E7D6@citrix.com>
MIME-Version: 1.0
Subject: Re: [Minios-devel] [MirageOS-devel] [PATCH v2 4/6] Add Code Review
 Guide
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Lars Kurth <lars.kurth@xenproject.org>,
 "xen-api@lists.xenproject.org" <xen-api@lists.xenproject.org>,
 "minios-devel@lists.xenproject.org" <minios-devel@lists.xenproject.org>,
 "committers@xenproject.org" <committers@xenproject.org>,
 "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "win-pv-devel@lists.xenproject.org" <win-pv-devel@lists.xenproject.org>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

DQoNCkZyb206IExhcnMgS3VydGggPGxhcnMua3VydGhAY2l0cml4LmNvbT4NCkRhdGU6IFRodXJz
ZGF5LCAyOCBOb3ZlbWJlciAyMDE5IGF0IDE5OjM5DQpUbzogUmljaCBQZXJzYXVkIDxwZXJzYXVy
QGdtYWlsLmNvbT4NCkNjOiAnSmFuIEJldWxpY2gnIDxKQmV1bGljaEBzdXNlLmNvbT4sICJsYXJz
Lmt1cnRoQHhlbnByb2plY3Qub3JnIiA8bGFycy5rdXJ0aEB4ZW5wcm9qZWN0Lm9yZz4sIFN0ZWZh
bm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4sICJ4ZW4tYXBpQGxpc3RzLnhl
bnByb2plY3Qub3JnIiA8eGVuLWFwaUBsaXN0cy54ZW5wcm9qZWN0Lm9yZz4sICJtaW5pb3MtZGV2
ZWxAbGlzdHMueGVucHJvamVjdC5vcmciIDxtaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5v
cmc+LCAiY29tbWl0dGVyc0B4ZW5wcm9qZWN0Lm9yZyIgPGNvbW1pdHRlcnNAeGVucHJvamVjdC5v
cmc+LCAibWlyYWdlb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmciIDxtaXJhZ2Vvcy1kZXZl
bEBsaXN0cy54ZW5wcm9qZWN0Lm9yZz4sIHhlbi1kZXZlbCA8eGVuLWRldmVsQGxpc3RzLnhlbnBy
b2plY3Qub3JnPiwgIndpbi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIgPHdpbi1wdi1k
ZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZz4NClN1YmplY3Q6IFJlOiBbTWlyYWdlT1MtZGV2ZWxd
IFtQQVRDSCB2MiA0LzZdIEFkZCBDb2RlIFJldmlldyBHdWlkZQ0KDQrCoA0KwqANCkZyb206IFJp
Y2ggUGVyc2F1ZCA8cGVyc2F1ckBnbWFpbC5jb20+DQpEYXRlOiBUaHVyc2RheSwgMjggTm92ZW1i
ZXIgMjAxOSBhdCAxMjoyMQ0KVG86IExhcnMgS3VydGggPGxhcnMua3VydGhAY2l0cml4LmNvbT4N
CkNjOiAnSmFuIEJldWxpY2gnIDxKQmV1bGljaEBzdXNlLmNvbT4sICJsYXJzLmt1cnRoQHhlbnBy
b2plY3Qub3JnIiA8bGFycy5rdXJ0aEB4ZW5wcm9qZWN0Lm9yZz4sIFN0ZWZhbm8gU3RhYmVsbGlu
aSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4sICJ4ZW4tYXBpQGxpc3RzLnhlbnByb2plY3Qub3Jn
IiA8eGVuLWFwaUBsaXN0cy54ZW5wcm9qZWN0Lm9yZz4sICJtaW5pb3MtZGV2ZWxAbGlzdHMueGVu
cHJvamVjdC5vcmciIDxtaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmc+LCAiY29tbWl0
dGVyc0B4ZW5wcm9qZWN0Lm9yZyIgPGNvbW1pdHRlcnNAeGVucHJvamVjdC5vcmc+LCAibWlyYWdl
b3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmciIDxtaXJhZ2Vvcy1kZXZlbEBsaXN0cy54ZW5w
cm9qZWN0Lm9yZz4sIHhlbi1kZXZlbCA8eGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnPiwg
Indpbi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIgPHdpbi1wdi1kZXZlbEBsaXN0cy54
ZW5wcm9qZWN0Lm9yZz4NClN1YmplY3Q6IFJlOiBbTWlyYWdlT1MtZGV2ZWxdIFtQQVRDSCB2MiA0
LzZdIEFkZCBDb2RlIFJldmlldyBHdWlkZQ0KwqANCk9uIE5vdiAyOCwgMjAxOSwgYXQgMDk6MDUs
IExhcnMgS3VydGggPGxhcnMua3VydGhAY2l0cml4LmNvbT4gd3JvdGU6DQrCoA0KT24gMjgvMTEv
MjAxOSwgMDc6MzcsICJKYW4gQmV1bGljaCIgPGpiZXVsaWNoQHN1c2UuY29tPiB3cm90ZToNCg0K
wqDCoMKgT24gMjguMTEuMjAxOSAxNDowNiwgTGFycyBLdXJ0aCB3cm90ZToNCg0KDQpJIGNhbiBj
ZXJ0YWlubHkgYWRkIHNvbWV0aGluZyBvbiB0aGUgdGltaW5nICwgYWxvbmcgdGhlIGxpbmVzIG9m
DQoqIEZvciBjb21wbGV4IHNlcmllcywgY29uc2lkZXIgdGhlIHRpbWUgaXQgdGFrZXMgdG8gZG8g
cmV2aWV3cyAobWF5YmUgd2l0aCBhIGd1aWRlIG9mIExPQyBwZXIgaG91cikgYW5kIGdpdmUgcmV2
aWV3ZXJzIGVub3VnaCB0aW1lIHRvDQoqIEZvciBzZXJpZXMgd2l0aCBkZXNpZ24gaXNzdWVzIG9y
IGxhcmdlIHF1ZXN0aW9ucywgdHJ5IGFuZCBoaWdobGlnaHQgdGhlIGtleSBvcGVuIGlzc3VlcyBp
biBjb3ZlciBsZXR0ZXJzIGNsZWFybHkgYW5kIHNvbGljaXQgZmVlZGJhY2sgZnJvbSBrZXkgbWFp
bnRhaW5lcnMgd2hvIGNhbiBjb21tZW50IG9uIHRoZSBvcGVuIGlzc3VlLiBUaGUgaWRlYSBpcyB0
byBzYXZlIGJvdGggdGhlIGNvbnRyaWJ1dG9yIGFuZCB0aGUgcmV2aWV3ZXJzIHRpbWUgYnkgZm9j
dXNzaW5nIG9uIHdoYXQgbmVlZHMgdG8gYmUgcmVzb2x2ZWQgDQoqIERvbuKAmXQgcmVwb3N0IGEg
c2VyaWVzLCB1bmxlc3MgYWxsIHJldmlldyBjb21tZW50cyBhcmUgYWRkcmVzc2VkDQpvciB0aGUg
cmV2aWV3ZXJzIGFza2VkIHlvdSB0byBkbyBzby4gVGhlIHByb2JsZW0gd2l0aCB0aGlzIGlzIHRo
YXQNCnRoaXMgaXMgc29tZXdoYXQgaW4gY29uZmxpY3Qgd2l0aCB0aGUgImxldCdzIGZvY3VzIG9u
IHRoZSBjb3JlDQppc3N1ZXMgYW5kIG5vdCBnZXQgZGlzdHJhY3RlZCBieSBkZXRhaWxzIGVhcmx5
IG9uIGluIGEgcmV2aWV3IGN5Y2xlIi4NCkluIG90aGVyIHdvcmRzLCB0aGlzIGNhbiBvbmx5IHdv
cmssIGlmIHJldmlld2VycyBmb2N1cyBvbiBtYWpvcg0KaXNzdWVzIGluIGVhcmx5IHJldmlld3Mg
b25seSBhbmQgZG8gbm90IGZvY3VzIG9uIHN0eWxlLCBjb2RpbmcNCnN0YW5kYXJkcywgZXRjLg0K
DQrCoMKgwqBCdXQgdGhpcyBkb2Vzbid0IG1ha2UgbXVjaCBzZW5zZSBlaXRoZXIsIGJlY2F1c2Ug
dGhlbiBmdWxsIHJlLXJldmlld3MNCsKgwqDCoG5lZWQgdG8gaGFwcGVuIGFueXdheSBvbiBsYXRl
ciB2ZXJzaW9ucywgdG8gYWxzbyBkZWFsIHdpdGggdGhlIG1pbm9yDQrCoMKgwqBpc3N1ZXMuIEZv
ciBSRkMga2luZCBvZiBzZXJpZXMgb21pdHRpbmcgc3R5bGUgYW5kIGFsaWtlIGZlZWRiYWNrDQrC
oMKgwqBjZXJ0YWlubHkgbWFrZXMgc2Vuc2UsIGJ1dCBhcyBzb29uIGFzIGEgcGF0Y2ggaXMgbm9u
LVJGQywgaXQgc2hvdWxkDQrCoMKgwqBiZSBjb25zaWRlcmVkIGdvb2QgdG8gZ28gaW4gYnkgdGhl
IHN1Ym1pdHRlci4NCg0KT0ssIEkgdGhpbmsgd2UgaGF2ZSBhIGRpc2Nvbm5lY3QgYmV0d2VlbiBp
ZGVhbCBhbmQgcmVhbGl0eS4gDQoNCkkgc2VlIHR3byBpc3N1ZXMgdG9kYXkNCiogS2V5IG1haW50
YWluZXJzIGRvbid0IGFsd2F5cyByZXZpZXcgUkZDIHNlcmllcyBbdGhleSBlbmQgdXAgYXQgdGhl
IGJvdHRvbSBvZiB0aGUgcHJpb3JpdHkgbGlzdCwgZXZlbiB0aG91Z2ggc3BlbmRpbmcgdGltZSBv
biBSRkNzIHdpbGwgc2F2ZSB0aW1lIGVsc2V3aGVyZSBsYXRlcl0uIFNvIHRoZSBlZmZlY3QgaXMg
dGhhdCB0aGVuIHRoZSBjb250cmlidXRvciBhc3N1bWVzIHRoZXJlIGFyZSBubyBtYWpvciBpc3N1
ZXMgYW5kIGVuZHMgaXQgYXMgYSBwcm9wZXIgc2VyaWVzDQoqIEluIHByYWN0aWNlIHdoYXQgaGFz
IGhhcHBlbmVkIG9mdGVuIGluIHRoZSBwYXN0IGlzIHRoYXQgZGVzaWduLCBhcmNoaXRlY3R1cmUs
IGFzc3VtcHRpb24gZmxhd3MgYXJlIGZvdW5kIGluIGVhcmx5IHZlcnNpb25zIG9mIGEgc2VyaWVz
Lg0KwqDCoC0gVGhpcyB1c3VhbGx5IGhhcHBlbnMgYmVjYXVzZSBvZiBhbiBvdmVyc2lnaHQgb3Ig
YmVjYXVzZSB0aGVyZSB3YXMgbm8gZGVzaWduIGRpc2N1c3Npb24gcHJpb3IgdG8gdGhlIHNlcmll
cyBiZWluZyBwb3N0ZWQgYW5kIGFncmVlZA0KwqDCoC0gQ29tbW9uIHNlbnNlIHdvdWxkIGRpY3Rh
dGUgdGhhdCB0aGUgYmlnZ2VzdCBiZW5lZml0IGZvciBib3RoIHRoZSByZXZpZXdlciwgdGhlIGNv
bnRyaWJ1dG9yIGFuZCB0aGUgY29tbXVuaXR5IGFzIGEgd2hvbGUgd291bGQgYmUgdG8gdHJ5IGFu
ZCBmb2N1cyBvbiBzdWNoIGZsYXdzIGFuZCBsZWF2ZSBldmVyeXRoaW5nIGFzaWRlDQrCoMKgLSBP
ZiBjb3Vyc2UgdGhlcmUgbWF5IGJlIHZhbHVlIGluIGRvaW5nIGEgZGV0YWlsZWQgcmV2aWV3IG9m
IHBhcnRzIG9mIHN1Y2ggYSBzZXJpZXMgYXMgdGhlcmUgbWF5IGJlIGJpdHMgdGhhdCBhcmUgdW5h
ZmZlY3RlZCBieSBzdWNoIGEgZmxhdw0KwqDCoC0gQnV0IHRoZXJlIHdpbGwgbGlrZWx5IGJlIHBh
cnRzIHdoaWNoIGFyZSBub3Q6IGRvaW5nIGEgZGV0YWlsZWQgcmV2aWV3IG9mIHN1Y2ggcG9ydGlv
bnMgd2FzdGVzIGV2ZXJ5b25lJ3MgdGltZQ0KDQpTbyBjb21pbmcgYmFjayB0byB5b3VyIHBvaW50
LiBJZGVhbGx5LCBpdCB3b3VsZCBiZSBuaWNlIGlmIHdlIGhhZCB0aGUgY2FwYWJpbGl0eSB0byBj
YWxsIG91dCBwYXJ0cyBvZiBhIHNlcmllcyBhcyAicHJvYmxlbWF0aWMiIGFuZCB0cmVhdGluZyBz
dWNoIHBhcnRzIGRpZmZlcmVudGx5Lg0KwqANCsKgIFdlIG1heSBiZSBhYmxlIHRvIHJldXNlIHNv
bWUgIlNoaWZ0IExlZnQiIHRlcm1pbm9sb2d5LCBpbmNsdWRpbmcgY2l0YXRpb25zIG9mIHByZXZp
b3VzIFhlbiBjb2RlIHJldmlld3MgdG8gaWxsdXN0cmF0ZSBjYXRlZ29yaWVzIG9mIGRlc2lnbiBp
c3N1ZXMgdGhhdCBjYW4gYmUgc2hpZnRlZCBsZWZ0Og0KwqAgDQrCoMKgwqAgaHR0cHM6Ly9kZXZv
cGVkaWEub3JnL3NoaWZ0LWxlZnQNCsKgIA0KSSBsaWtlIHRoYXQgaWRlYS4gV2Ugc2VlbSB0byBu
b3QgaGF2ZSBjb21lIHRvIGEgY29uY2x1c2lvbiBvbiB0aGlzIHNwZWNpZmljIHRvcGljLCBidXQg
bWF5YmUgZm9yIG5vdyBpdCBpcyBzdWZmaWNpZW50IHRvIGNhbGwgdGhpcyBvdXQgYXMgYSBwb3Rl
bnRpYWwgaXNzdWUgaW4gdGhlIGd1aWRlLg0KwqANCkJlZm9yZSBJIHNlbmQgb3V0IGEgbmV3IHZl
cnNpb24sIGl0IHdvdWxkIGJlIGdvb2QgdG8gZ2V0IGF0IGxlYXN0IEphbuKAmXMgdmlldyBvbiB0
aGUgaXNzdWUuIA0KwqANCkxhcnMNCg0KSSBoYXZlIGEgZHJhZnQgdmVyc2lvbiBvZiAgdGhpcyBz
ZXJpZXMgcmVhZHksIGJ1dCB3YW50ZWQgdG8gY2hlY2sgaG93IHNvbWUgb2YgaXQgcmVzb25hdGVz
LiBBbHNvLCBJIGRvIGhhdmUgb3BlbiBxdWVzdGlvbnMsIHdoZXJlIEkgYW0gbG9va2luZyBmb3Ig
aW5wdXQgZnJvbSBzZWFzb25lZCByZXZpZXdlcnMNCg0KSSBwcm9wb3NlIHRvIGFkZCB0aGUgZm9s
bG93aW5nIHNlY3Rpb24gdG8gY29kZS1yZXZpZXctZ3VpZGUubWQNCg0KLS0tLQ0KIyMgPGEgbmFt
ZT0icHJvYmxlbXMiPjwvYT5Qcm9ibGVtYXRpYyBQYXRjaCBSZXZpZXdzDQoNCkEgdHlwaWNhbCB3
YXRlcmZhbGwgc29mdHdhcmUgZGV2ZWxvcG1lbnQgcHJvY2VzcyBpcyBzZXF1ZW50aWFsIHdpdGgg
dGhlIGZvbGxvd2luZ8KgDQpzdGVwczogZGVmaW5lIHJlcXVpcmVtZW50cywgYW5hbHlzZSwgZGVz
aWduLCBjb2RlLCB0ZXN0IGFuZCBkZXBsb3kuIFByb2JsZW1zwqANCnVuY292ZXJlZCBieSBjb2Rl
IHJldmlldyBvciB0ZXN0aW5nIGF0IHN1Y2ggYSBsYXRlIHN0YWdlIGNhbiBjYXVzZSBjb3N0bHkg
cmVkZXNpZ27CoA0KYW5kIGRlbGF5cy4gVGhlIHByaW5jaXBsZSBvZiAqKltTaGlmdCBMZWZ0XSho
dHRwczovL2Rldm9wZWRpYS5vcmcvc2hpZnQtbGVmdCkqKiBpcyB0byB0YWtlIGHCoA0KdGFzayB0
aGF0IGlzIHRyYWRpdGlvbmFsbHkgcGVyZm9ybWVkIGF0IGEgbGF0ZSBzdGFnZSBpbiB0aGUgcHJv
Y2VzcyBhbmQgcGVyZm9ybSB0aGF0IHRhc2vCoA0KYXQgZWFybGllciBzdGFnZXMuIFRoZSBnb2Fs
IGlzIHRvIHNhdmUgdGltZSBieSBhdm9pZGluZyByZWZhY3RvcmluZy4NCg0KVHlwaWNhbGx5LCBw
cm9ibGVtYXRpYyBwYXRjaCByZXZpZXdzIHVuY292ZXIgaXNzdWVzIHN1Y2ggYXMgd3Jvbmcgb3Ig
bWlzc2VkwqANCmFzc3VtcHRpb25zLCBhIHByb2JsZW1hdGljIGFyY2hpdGVjdHVyZSBvciBkZXNp
Z24sIG9yIG90aGVyIGJ1Z3MgdGhhdCByZXF1aXJlwqANCnNpZ25pZmljYW50IHJlLWltcGxlbWVu
dGF0aW9uIG9mIGEgcGF0Y2ggc2VyaWVzIHRvIGZpeCB0aGUgaXNzdWUuDQoNClRoZSBwcmluY2lw
bGUgb2YgKipTaGlmdCBMZWZ0KiogYWxzbyBhcHBsaWVzIGluIGNvZGUgcmV2aWV3cy4gTGV0J3Mg
YXNzdW1lIGEgc2VyaWVzIGhhcw0KYSBtYWpvciBmbGF3OiBpZGVhbGx5LCB0aGlzIGZsYXcgd291
bGQgYmUgcGlja2VkIHVwIGluIHRoZSAqKmZpcnN0IG9yIHNlY29uZCBpdGVyYXRpb24qKiBvZsKg
DQp0aGUgY29kZSByZXZpZXcuIEFzIHNpZ25pZmljYW50IHBhcnRzIG9mIHRoZSBjb2RlIG1heSBo
YXZlIHRvIGJlIHJlLXdyaXR0ZW4sIGl0IGRvZXMgbm90wqANCm1ha2Ugc2Vuc2UgZm9yIHJldmll
d2VycyB0byBoaWdobGlnaHQgbWlub3IgaXNzdWVzIChzdWNoIGFzIHN0eWxlIGlzc3VlcykgdW50
aWwgbWFqb3LCoA0KZmxhd3MgaGF2ZSBiZWVuIGFkZHJlc3NlZC4gQnkgcHJvdmlkaW5nIGZlZWRi
YWNrIG9uIG1pbm9yIGlzc3VlcyByZXZpZXdlcnMgY2F1c2XCoA0KdGhlIGNvZGUgYXV0aG9yIGFu
ZCB0aGVtc2VsdmVzIGV4dHJhIHdvcmsgYnkgYXNraW5nIGZvciBjaGFuZ2VzIHRvIGNvZGUsIHdo
aWNowqANCnVsdGltYXRlbHkgbWF5IGJlIGNoYW5nZWQgbGF0ZXIuDQoNClRoZSBxdWVzdGlvbiB0
aGVuIGJlY29tZXMsIGhvdyBkbyBjb2RlIHJldmlld2VycyBpZGVudGlmeSBtYWpvciBpc3N1ZXMg
ZWFybHk/wqANCi0tLS0NClRoaXMgaXMgd2hlcmUgSSByZWFsbHkgbmVlZCBoZWxwLiBBcmUgdGhl
cmUgYW55IHRpcHMgYW5kIHJlY29tbWVuZGF0aW9ucyB0aGF0IHdlIGNvdWxkIGdpdmU/DQpJIGNh
biBjbGVhcmx5IGhpZ2hsaWdodCB0aGF0IHdlIGhhdmUgUkZDIHNlcmllcywgYnV0IGluIHByYWN0
aWNlIHRoYXQgZG9lcyBub3Qgc29sdmUgdGhlIHByb2JsZW0gYXMgUkZDcyBkb27igJl0IGdldCBw
cmlvcml0aXplZA0KSG93IGRvIHJldmlld2VycyBub3JtYWxseSBhcHByb2FjaCBhIHNlcmllczog
ZG8geW91IGEpIHRha2UgYSBiaWcgcGljdHVyZSB2aWV3IGZpcnN0LCBvciBiKSBkbyBtb3N0IG9m
IHlvdSB3b3JrIHRocm91Z2ggYSBzZXJpZXMgc2VxdWVudGlhbGx5DQoNCkkgdGhlbiBwcm9wb3Nl
IHRvIGNoYW5nZSB0aGUgZm9sbG93aW5nIHNlY3Rpb24gaW4gY29tbXVuaWNhdGlvbi1wcmFjdGlj
ZS5tZA0KLS0tLQ0KIyMjIFByaW9yaXRpemUgc2lnbmlmaWNhbnQgZmxhd3MNCklmIGEgcGF0Y2gg
b3IgcGF0Y2ggc2VyaWVzIGhhcyBzaWduaWZpY2FudCBmbGF3cywgc3VjaCBhcw0KKiBJdCBpcyBi
dWlsdCBvbiB3cm9uZyBhc3N1bXB0aW9ucw0KKiBUaGVyZSBhcmUgaXNzdWVzIHdpdGggdGhlIGFy
Y2hpdGVjdHVyZSBvciB0aGUgZGVzaWduDQoNCml0IGRvZXMgbm90IG1ha2Ugc2Vuc2UgdG8gZG8g
YSBkZXRhaWxlZCBjb2RlIHJldmlldy4gSW4gc3VjaCBjYXNlcywgaXQgaXMgYmVzdCB0bw0KZm9j
dXMgb24gdGhlIG1ham9yIGlzc3VlcyBmaXJzdCBhbmQgZGVhbCB3aXRoIHN0eWxlIGFuZCBtaW5v
ciBpc3N1ZXMgaW4gYSBzdWJzZXF1ZW50DQpyZXZpZXcuIE5vdCBhbGwgc2VyaWVzIGhhdmUgc2ln
bmlmaWNhbnQgZmxhd3MsIGJ1dCBtb3N0IHNlcmllcyBoYXZlIGRpZmZlcmVudCBjbGFzc2VzIG9m
IA0KY2hhbmdlcyB0aGF0IGFyZSByZXF1aXJlZCBmb3IgYWNjZXB0YW5jZTogY292ZXJpbmcgYSBy
YW5nZSBvZiBtYWpvciBjb2RlIA0KbW9kaWZpY2F0aW9ucyB0byBtaW5vciBjb2RlIHN0eWxlIGZp
eGVzLiBUbyBhdm9pZCBtaXN1bmRlcnN0YW5kaW5ncyBiZXR3ZWVuIA0KcmV2aWV3ZXJzIGFuZCBj
b250cmlidXRvcnMsIGl0IGlzIGltcG9ydGFudCB0byBlc3RhYmxpc2ggYW5kIGFncmVlIHdoZXRo
ZXIgYSBzZXJpZXMgb3IgDQpwYXJ0IG9mIGEgc2VyaWVzIGhhcyBhIHNpZ25pZmljYW50IGZsYXcg
YW5kIGFncmVlIGEgY291cnNlIG9mIGFjdGlvbi4gDQoNCkEgcHJhZ21hdGljIGFwcHJvYWNoIHdv
dWxkIGJlIHRvDQoqIEhpZ2hsaWdodCBwcm9ibGVtYXRpYyBwb3J0aW9ucyBvZiBhIHNlcmllcyBp
biB0aGUgY292ZXIgbGV0dGVyIA0KKiBGb3IgdGhlIHBhdGNoIGF1dGhvciBhbmQgcmV2aWV3ZXIo
cykgdG8gYWdyZWUgdGhhdCBmb3IgcHJvYmxlbWF0aWMgdG8gb21pdCBzdHlsZSBhbmQNCm1pbm9y
IGlzc3VlcyBpbiB0aGUgcmV2aWV3LCB1bnRpbCB0aGUgc2lnbmlmaWNhbnQgZmxhdyBpcyBhZGRy
ZXNzZWQNCg0KVGhpcyBzYXZlcyBib3RoIHRoZSBwYXRjaCBhdXRob3IgYW5kIHJldmlld2VyKHMp
IHRpbWUuIE5vdGUgdGhhdCBzb21lIGJhY2tncm91bmQNCmlzIGNvdmVyZWQgaW4gZGV0YWlsIGlu
IFtQcm9ibGVtYXRpYyBQYXRjaCBSZXZpZXdzXShyZXNvbHZpbmctZGlzYWdyZWVtZW50Lm1kI3By
b2JsZW1zKS4NCi0tLS0NCkkgdGhpbmsgaXMgYSBwcmFnbWF0aWMgYXBwcm9hY2ggdGhhdCBhZGRy
ZXNzZXMgc29tZSBvZiBKYW4ncyBjb25jZXJucw0KDQpCZXN0IFJlZ2FyZHMNCkxhcnMNCg0KDQpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2
ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczov
L2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Fri Dec 06 06:09:39 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 06 Dec 2019 06:09:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1id6o5-0006yA-0E; Fri, 06 Dec 2019 06:09:37 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=HIqC=Z4=gmail.com=costin.lup@srs-us1.protection.inumbo.net>)
 id 1id6o4-0006y5-4Z
 for minios-devel@lists.xen.org; Fri, 06 Dec 2019 06:09:36 +0000
X-Inumbo-ID: f9a2f940-17ee-11ea-a4aa-bc764e2007e4
Received: from mail-wr1-x441.google.com (unknown [2a00:1450:4864:20::441])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id f9a2f940-17ee-11ea-a4aa-bc764e2007e4;
 Fri, 06 Dec 2019 06:09:35 +0000 (UTC)
Received: by mail-wr1-x441.google.com with SMTP id a15so6411428wrf.9
 for <minios-devel@lists.xen.org>; Thu, 05 Dec 2019 22:09:35 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=subject:to:references:from:message-id:date:user-agent:mime-version
 :in-reply-to:content-language:content-transfer-encoding;
 bh=gBtHeTNVJ2ybOvA7/hciFtNL8GvGN6dhAZHrWRGwBz8=;
 b=cir9MlAHK84WwGHNJ9Ue7pkeiWyKHKO9sgj6MJoofYmmpz7c4KMcs/v481OYy4Fw7P
 e2hi8r2Awll6c7RvdMIWgefJtF9/Zdc2SMRiuUI9uZyPRMCNuA7qvHliiPnHObIIol4d
 Dj0CYKii8iVWInwYr5xyTb1B2S+gyeRL3huUAKQmOCB2gbjuAl/dvk9JVa8z/AWU+NoY
 o4rIBPD52ShoEan7KHHjtLynV4ENS+1EH3KfYtD1i5nyO5wZMzkq/o3ByxOa9ejwmxEx
 ICS90enPYnGv1efhVLKzJ+tOmVoQBq3DWkl8GXNdM8vAUk8SQMeMelx+c7ZbbcDQwwdh
 yobQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:subject:to:references:from:message-id:date
 :user-agent:mime-version:in-reply-to:content-language
 :content-transfer-encoding;
 bh=gBtHeTNVJ2ybOvA7/hciFtNL8GvGN6dhAZHrWRGwBz8=;
 b=kLasB+imS/7W49vYk2DSKhQqUA9pc4puTNpclSGgrYJU6KS08JcURE3QyLimHvnqpY
 xFk7GuM4S2J8f22bI6WZ0r31iu2t8mTO0J4iCcpJD2oXfWnzBEjMlAxWcAnZ/iEI0f1u
 9vsTap1SjIMFSEIF1m159kHtHwnktvmCorqVQmQRQIHWyyZtsP0fJ2sHkqTI52bz4Bdt
 XujA+chcY2mSrDij3HS9khpookrXMlh9t0Lx1cxfpldhbcfG3V6vJMpHOfFTLSJqcURz
 5Bj705iLTt03dpBupwIOdAqbYy8CDNbIDttsOdY9sXFOljUgu3M8Nx3TRi3hOTd8pZfQ
 k05Q==
X-Gm-Message-State: APjAAAWzh02MKWuy9dqBM4TCGtr7oWT6fi8EkV01jxy7rExtpsBEmqRY
 pSsDlMRaQzIQMRPz/zme4DGZfWtdlO0=
X-Google-Smtp-Source: APXvYqzCx4HVld+zY1h7kg8BjkHZf+HrnrFflJkjNHJ1uX3CVUtyjk2Lti17ocHBOVq5PDID3Y2TOw==
X-Received: by 2002:a5d:4fd0:: with SMTP id h16mr13220836wrw.255.1575612573888; 
 Thu, 05 Dec 2019 22:09:33 -0800 (PST)
Received: from [192.168.1.103] ([86.121.174.20])
 by smtp.gmail.com with ESMTPSA id b2sm15006064wrr.76.2019.12.05.22.09.32
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 05 Dec 2019 22:09:33 -0800 (PST)
To: Esteban <esteban.martinez@csuc.cat>, minios-devel@lists.xen.org
References: <20191205160715.14638-1-esteban.martinez@csuc.cat>
 <20191205160715.14638-2-esteban.martinez@csuc.cat>
From: Costin Lupu <costin.lup@gmail.com>
Message-ID: <d969fae8-d5fe-f732-43e2-4973b5c1bcd4@gmail.com>
Date: Fri, 6 Dec 2019 08:09:31 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.2.2
MIME-Version: 1.0
In-Reply-To: <20191205160715.14638-2-esteban.martinez@csuc.cat>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT/LCMS PATCH v2 1/2] [LCMS PATCH] lcms:
 Add new library
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgRXN0ZWJhbiwKClBsZWFzZSBmb2xsb3cgKkFMTCogdGhlIGNvbW1lbnRzIEkgd3JvdGUgaW4g
dGhlIHByZXZpb3VzIHJldmlldy4KCkNoZWVycywKQ29zdGluCgpPbiAxMi81LzE5IDY6MDcgUE0s
IEVzdGViYW4gd3JvdGU6Cj4gQWRkIHNrZWxldG9uIG5ldyBsaWJyYXJ5IExDTVMKPiAKPiBTaWdu
ZWQtb2ZmLWJ5OiBFc3RlYmFuIDxlc3RlYmFuLm1hcnRpbmV6QGNzdWMuY2F0Pgo+IC0tLQo+ICAu
Z2l0aWdub3JlICAgICAgfCAyNyArKysrKysrKysrKysrKysrKysrKysrKysrKysKPiAgQ09ESU5H
X1NUWUxFLm1kIHwgIDQgKysrKwo+ICBDT05UUklCVVRJTkcubWQgfCAgNCArKysrCj4gIENPUFlJ
TkcubWQgICAgICB8IDQxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
Cj4gIENvbmZpZy51ayAgICAgICB8IDExICsrKysrKysrKysrCj4gIE1BSU5UQUlORVJTLm1kICB8
IDExICsrKysrKysrKysrCj4gIFJFQURNRS5tZCAgICAgICB8ICA3ICsrKysrKysKPiAgZXhwb3J0
c3ltcy51ayAgIHwgIDEgKwo+ICA4IGZpbGVzIGNoYW5nZWQsIDEwNiBpbnNlcnRpb25zKCspCj4g
IGNyZWF0ZSBtb2RlIDEwMDc1NSAuZ2l0aWdub3JlCj4gIGNyZWF0ZSBtb2RlIDEwMDc1NSBDT0RJ
TkdfU1RZTEUubWQKPiAgY3JlYXRlIG1vZGUgMTAwNzU1IENPTlRSSUJVVElORy5tZAo+ICBjcmVh
dGUgbW9kZSAxMDA3NTUgQ09QWUlORy5tZAo+ICBjcmVhdGUgbW9kZSAxMDA3NTUgQ29uZmlnLnVr
Cj4gIGNyZWF0ZSBtb2RlIDEwMDc1NSBNQUlOVEFJTkVSUy5tZAo+ICBjcmVhdGUgbW9kZSAxMDA3
NTUgUkVBRE1FLm1kCj4gIGNyZWF0ZSBtb2RlIDEwMDc1NSBleHBvcnRzeW1zLnVrCj4gCj4gZGlm
ZiAtLWdpdCBhLy5naXRpZ25vcmUgYi8uZ2l0aWdub3JlCj4gbmV3IGZpbGUgbW9kZSAxMDA3NTUK
PiBpbmRleCAwMDAwMDAwLi43NWQyZmQzCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiLy5naXRpZ25v
cmUKPiBAQCAtMCwwICsxLDI3IEBACj4gKyouZGVwZW5kCj4gKyoubwo+ICsqLmEKPiArKi5kCj4g
Kyouc28KPiArKi5vcmlnCj4gKyoucmVqCj4gKyouYmFrCj4gKyouc3dwCj4gKyp+Cj4gKywqCj4g
K1wjKlwjCj4gKy5cIyoKPiArXCNfKlwjCj4gKy5cI18qCj4gKyEuZ2l0aWdub3JlCj4gKy4qCj4g
Kwo+ICsjIGdudSBnbG9iYWwgZmlsZXMKPiArR1BBVEgKPiArR1JUQUdTCj4gK0dTWU1TCj4gK0dU
QUdTCj4gKwo+ICsjIGNzY29wZSBmaWxlcwo+ICtjc2NvcGUuKgo+ICtuY3Njb3BlLioKPiBkaWZm
IC0tZ2l0IGEvQ09ESU5HX1NUWUxFLm1kIGIvQ09ESU5HX1NUWUxFLm1kCj4gbmV3IGZpbGUgbW9k
ZSAxMDA3NTUKPiBpbmRleCAwMDAwMDAwLi41NzMwMDQxCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBi
L0NPRElOR19TVFlMRS5tZAo+IEBAIC0wLDAgKzEsNCBAQAo+ICtDb2RpbmcgU3R5bGUKPiArPT09
PT09PT09PT09Cj4gKwo+ICtQbGVhc2UgcmVmZXIgdG8gdGhlIGBDT0RJTkdfU1RZTEUubWRgIGZp
bGUgaW4gdGhlIG1haW4gVW5pa3JhZnQgcmVwb3NpdG9yeS4KPiBkaWZmIC0tZ2l0IGEvQ09OVFJJ
QlVUSU5HLm1kIGIvQ09OVFJJQlVUSU5HLm1kCj4gbmV3IGZpbGUgbW9kZSAxMDA3NTUKPiBpbmRl
eCAwMDAwMDAwLi4xNGY2YWM2Cj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL0NPTlRSSUJVVElORy5t
ZAo+IEBAIC0wLDAgKzEsNCBAQAo+ICtDb250cmlidXRpbmcgdG8gVW5pa3JhZnQKPiArPT09PT09
PT09PT09PT09PT09PT09PT09Cj4gKwo+ICtQbGVhc2UgcmVmZXIgdG8gdGhlIGBDT05UUklCVVRJ
TkcubWRgIGZpbGUgaW4gdGhlIG1haW4gVW5pa3JhZnQgcmVwb3NpdG9yeS4KPiBkaWZmIC0tZ2l0
IGEvQ09QWUlORy5tZCBiL0NPUFlJTkcubWQKPiBuZXcgZmlsZSBtb2RlIDEwMDc1NQo+IGluZGV4
IDAwMDAwMDAuLmZhMDUwNDEKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvQ09QWUlORy5tZAo+IEBA
IC0wLDAgKzEsNDEgQEAKPiArTGljZW5zZQo+ICs9PT09PT09Cj4gKwo+ICtVbmlrcmFmdCBsY21z
IHdyYXBwZXJzCj4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ICsKPiArVGhpcyByZXBvc2l0
b3J5IGNvbnRhaW5zIHdyYXBwZXIgY29kZSB0byBidWlsZCBsY21zIHdpdGggVW5pa3JhZnQuICBU
aGUgY29kZQo+ICtpcyBwdWJsaXNoZWQgYXMgYSBtaXh0dXJlIG9mIEJTRCBhbmQgTUlUIGxpY2Vu
Y2VzOyBlYWNoIEMgY29kZSBmaWxlIGluCj4gK3RoaXMgcmVwb3NpdG9yeSBzaG91bGQgZGVjbGFy
ZSB3aG8gaXMgdGhlIGNvcHlyaWdodCBvd25lciBhbmQgdW5kZXIgd2hpY2ggdGVybXMKPiArYW5k
IGNvbmRpdGlvbnMgdGhlIGNvZGUgaXMgbGljZW5zZWQuIElmIHN1Y2ggYSBsaWNlbmNlIG5vdGUg
aXMgbWlzc2luZywgdGhlCj4gK2ZvbGxvd2luZyBjb3B5cmlnaHQgbm90aWNlIHdpbGwgYXBwbHk6
Cj4gKwo+ICsJQ29weXJpZ2h0IChjKSAyMDE3LCBORUMgRXVyb3BlIEx0ZC4sIE5FQyBDb3Jwb3Jh
dGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KPiArCj4gKwlSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKPiArCW1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwo+ICsJYXJlIG1ldDoKPiArCj4gKwkxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAo+ICsJICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgo+ICsJMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKPiArCSAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKPiArCSAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCj4gKwkzLiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIHRoZSBjb3B5cmlnaHQgaG9sZGVyIG5vciB0aGUgbmFtZXMgb2YgaXRzCj4gKwkg
ICBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbQo+ICsJICAgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KPiArCj4gKwlUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIKPiArCUFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKPiArCUlNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCj4gKwlBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFCj4g
KwlMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCj4gKwlDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgo+ICsJU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCj4gKwlJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgo+ICsJQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKPiArCUFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFCj4gKwlQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KPiArCj4gK2xjbXMgc291cmNlIGNvZGUKPiArLS0t
LS0tLS0tLS0tLS0tLS0tCj4gXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCj4gZGlmZiAtLWdp
dCBhL0NvbmZpZy51ayBiL0NvbmZpZy51awo+IG5ldyBmaWxlIG1vZGUgMTAwNzU1Cj4gaW5kZXgg
MDAwMDAwMC4uZWRiMzY1OQo+IC0tLSAvZGV2L251bGwKPiArKysgYi9Db25maWcudWsKPiBAQCAt
MCwwICsxLDExIEBACj4gK2NvbmZpZyBMSUJMQ01TCj4gKwlib29sICJsaWJsY21zIC0gQ29sb3Ig
bWFuYWdlbWVudCBlbmdpbmUiCj4gKwlkZWZhdWx0IG4KPiArCXNlbGVjdCBMSUJOT0xJQkMgaWYg
IUhBVkVfTElCQwo+ICsJc2VsZWN0IExJQlVLREVCVUcKPiArICAgIHNlbGVjdCBMSUJVS0FMTE9D
Cj4gKyAgICBzZWxlY3QgTElCUFRIUkVBRF9FTUJFRERFRAo+ICsgICAgc2VsZWN0IExJQk5FV0xJ
QkMKPiArCj4gK2lmIExJQkxDTVMKPiArZW5kaWYKPiBkaWZmIC0tZ2l0IGEvTUFJTlRBSU5FUlMu
bWQgYi9NQUlOVEFJTkVSUy5tZAo+IG5ldyBmaWxlIG1vZGUgMTAwNzU1Cj4gaW5kZXggMDAwMDAw
MC4uMjI3YzRkZAo+IC0tLSAvZGV2L251bGwKPiArKysgYi9NQUlOVEFJTkVSUy5tZAo+IEBAIC0w
LDAgKzEsMTEgQEAKPiArTWFpbnRhaW5lcnMgTGlzdAo+ICs9PT09PT09PT09PT09PT09Cj4gKwo+
ICtGb3Igbm90ZXMgb24gaG93IHRvIHJlYWQgdGhpcyBpbmZvcm1hdGlvbiwgcGxlYXNlIHJlZmVy
IHRvIGBNQUlOVEFJTkVSUy5tZGAgaW4KPiArdGhlIG1haW4gVW5pa3JhZnQgcmVwb3NpdG9yeS4K
PiArCj4gKwlMQ01TLVVOSUtSQUZUCj4gKwlNOglDb3N0aW4gTHVwdSA8Y29zdGluLmx1cHVAY3Mu
cHViLnJvPgo+ICsJTToJRmVsaXBlIEh1aWNpIDxmZWxpcGUuaHVpY2lAbmVjbGFiLmV1Pgo+ICsJ
TDoJbWluaW9zLWRldmVsQGxpc3RzLnhlbi5vcmcKPiArCUY6ICoKPiBkaWZmIC0tZ2l0IGEvUkVB
RE1FLm1kIGIvUkVBRE1FLm1kCj4gbmV3IGZpbGUgbW9kZSAxMDA3NTUKPiBpbmRleCAwMDAwMDAw
Li40MWYzZWE1Cj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL1JFQURNRS5tZAo+IEBAIC0wLDAgKzEs
NyBAQAo+ICtsY21zIGZvciBVbmlrcmFmdAo+ICs9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQo+ICsKPiArVGhpcyBpcyB0aGUgcG9ydCBvZiBsY21zIGZvciBVbmlrcmFmdCBhcyBleHRlcm5h
bCBsaWJyYXJ5Lgo+ICsKPiArUGxlYXNlIHJlZmVyIHRvIHRoZSBgUkVBRE1FLm1kYCBhcyB3ZWxs
IGFzIHRoZSBkb2N1bWVudGF0aW9uIGluIHRoZSBgZG9jL2AKPiArc3ViZGlyZWN0b3J5IG9mIHRo
ZSBtYWluIHVuaWtyYWZ0IHJlcG9zaXRvcnkuCj4gZGlmZiAtLWdpdCBhL2V4cG9ydHN5bXMudWsg
Yi9leHBvcnRzeW1zLnVrCj4gbmV3IGZpbGUgbW9kZSAxMDA3NTUKPiBpbmRleCAwMDAwMDAwLi5j
ODZjM2YzCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2V4cG9ydHN5bXMudWsKPiBAQCAtMCwwICsx
IEBACj4gK25vbmUKPiBcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKPiAKCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5n
IGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVu
cHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Fri Dec 06 06:10:15 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 06 Dec 2019 06:10:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1id6oh-0007al-37; Fri, 06 Dec 2019 06:10:15 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=HIqC=Z4=gmail.com=costin.lup@srs-us1.protection.inumbo.net>)
 id 1id6of-0007ag-O4
 for minios-devel@lists.xen.org; Fri, 06 Dec 2019 06:10:13 +0000
X-Inumbo-ID: 10126ada-17ef-11ea-b4e9-bc764e2007e4
Received: from mail-wr1-x444.google.com (unknown [2a00:1450:4864:20::444])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 10126ada-17ef-11ea-b4e9-bc764e2007e4;
 Fri, 06 Dec 2019 06:10:12 +0000 (UTC)
Received: by mail-wr1-x444.google.com with SMTP id a15so6412550wrf.9
 for <minios-devel@lists.xen.org>; Thu, 05 Dec 2019 22:10:12 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=subject:to:references:from:message-id:date:user-agent:mime-version
 :in-reply-to:content-language:content-transfer-encoding;
 bh=u65rS+qUE/et7ggGcq4o7IjtZAl3xowMFDNWlnhJV1A=;
 b=S4iwnCYYjxtfEnEihIzsGPN7QE/84rmpNgAoaQAbC90f6EeHzxHBhKOIEob2apY8qk
 YAqlHet3A2CaBR2YCoLZkAxODZGoXZ6O4NYLerDYoAFvFODAb8iNlhyw8X+Vtp9KRhbG
 0HtLcHlw42gCN4Ax+LO2/TXNnVxZxZ372dRPpTjH5oVRo0A5gI/d51aMA56hG5wXS8OR
 aGQg87Wv53NaiEOFjgib84K7uXkANZpuwKly24f1RleJaQflq3aXjW2PQmwt4mKh6ijD
 CkJhWXRN8TPWI0G1ch2ILimhHhVEvfdH3hVoMdAj1b0FIx9/hCUAsSMkXKgxjCw1w7+A
 UypQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:subject:to:references:from:message-id:date
 :user-agent:mime-version:in-reply-to:content-language
 :content-transfer-encoding;
 bh=u65rS+qUE/et7ggGcq4o7IjtZAl3xowMFDNWlnhJV1A=;
 b=mcomDcqFxASuGDrpbsR5JmDMnUFd72kvOKfWhAR/1FI8lmgw+CBYktlOnG4hWiV4ZO
 rpdSZFT0VCkDhkfUY7y4UXWlt4g1sm2pGAzI2QapDSHhly6mdyqKwDop35FDhCRxKyR5
 VjbD+fnbtX9TmQY/Gkik8D1ImueoZPB5BbJEjKU7ejXzOTBQNS+3i8Ubah+aXawrD2Vb
 uNzAnyAYXRwoNSZn+WuRZHMlJ67T+EyvxgyKGlgUcM5hRvmK1xFmXxdiwKmFiAqoVM19
 h+YwHv6A601sRO6cWt0jvpHExwo+WO9MMjPb4bEU3j8t5U29WhGdA8A+ta6EJVq3gUKe
 PkNQ==
X-Gm-Message-State: APjAAAXu5c2p35VZFDWjOBS0N/1CG7myGxQYB2D/LQc+U0h184+S8wLV
 vgDDzyInPdC1dUqJc1uh7pv+jhOsbrA=
X-Google-Smtp-Source: APXvYqwQLf5HNXBVTlLeCyWaI2bpVO2cOnu0CzhP7CZnNMEhPfAFh/QFJzJ+JhbVMpvNUsb0XmG6pQ==
X-Received: by 2002:adf:dd8a:: with SMTP id x10mr1650481wrl.117.1575612611597; 
 Thu, 05 Dec 2019 22:10:11 -0800 (PST)
Received: from [192.168.1.103] ([86.121.174.20])
 by smtp.gmail.com with ESMTPSA id f24sm2238933wmb.37.2019.12.05.22.10.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 05 Dec 2019 22:10:11 -0800 (PST)
To: Esteban <esteban.martinez@csuc.cat>, minios-devel@lists.xen.org
References: <20191205160715.14638-1-esteban.martinez@csuc.cat>
 <20191205160715.14638-3-esteban.martinez@csuc.cat>
From: Costin Lupu <costin.lup@gmail.com>
Message-ID: <ca4035ef-db18-f32b-6eb8-033a9054f753@gmail.com>
Date: Fri, 6 Dec 2019 08:10:10 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.2.2
MIME-Version: 1.0
In-Reply-To: <20191205160715.14638-3-esteban.martinez@csuc.cat>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT/LCMS PATCH v2 2/2] [LCMS PATCH] lcms:
 Add Makefile.uk
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgRXN0ZWJhbiwKClBsZWFzZSBmb2xsb3cgKkFMTCogdGhlIGNvbW1lbnRzIEkgd3JvdGUgaW4g
dGhlIHByZXZpb3VzIHJldmlldy4KCkNoZWVycywKQ29zdGluCgpPbiAxMi81LzE5IDY6MDcgUE0s
IEVzdGViYW4gd3JvdGU6Cj4gU2lnbmVkLW9mZi1ieTogRXN0ZWJhbiA8ZXN0ZWJhbi5tYXJ0aW5l
ekBjc3VjLmNhdD4KPiAtLS0KPiAgTWFrZWZpbGUudWsgfCAxMjkgKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ICAxIGZpbGUgY2hhbmdlZCwgMTI5
IGluc2VydGlvbnMoKykKPiAgY3JlYXRlIG1vZGUgMTAwNzU1IE1ha2VmaWxlLnVrCj4gCj4gZGlm
ZiAtLWdpdCBhL01ha2VmaWxlLnVrIGIvTWFrZWZpbGUudWsKPiBuZXcgZmlsZSBtb2RlIDEwMDc1
NQo+IGluZGV4IDAwMDAwMDAuLjg2Zjk0MWIKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvTWFrZWZp
bGUudWsKPiBAQCAtMCwwICsxLDEyOSBAQAo+ICsjICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjog
QlNELTMtQ2xhdXNlCj4gKyMKPiArIyAgbGNtcyBNYWtlZmlsZS51awo+ICsjCj4gKyMgIEF1dGhv
cnM6IENvc3RpbiBMdXB1IDxjb3N0aW4ubHVwdUBjcy5wdWIucm8+Cj4gKyMKPiArIyAgQ29weXJp
Z2h0IChjKSAyMDE5LCBVbml2ZXJzaXR5IFBvbGl0ZWhuaWNhIG9mIEJ1Y2hhcmVzdC4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KCgpGb3IgZXhhbXBsZSBoZXJlLCB0aGUgYXV0aG9yIHNob3VsZCBiZSB5
b3UsIG5vdCBtZS4gQW5kIENTVUMsIG5vdCBVUEIuCgo+ICsjCj4gKyMgIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAo+ICsj
ICBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKPiArIyAgYXJlIG1ldDoKPiArIwo+ICsjICAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAo+ICsjICAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCj4gKyMgIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0Cj4gKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKPiArIyAgICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KPiArIyAgMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgY29weXJpZ2h0IGhvbGRlciBu
b3IgdGhlIG5hbWVzIG9mIGl0cwo+ICsjICAgICBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8g
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQo+ICsjICAgICB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgo+ICsjCj4g
KyMgIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMgIkFTIElTIgo+ICsjICBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCj4gKyMgIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFCj4gKyMgIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUKPiArIyAgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgo+ICsj
ICBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgo+ICsjICBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKPiArIyAgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
PiArIyAgQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKPiArIyAgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUKPiArIyAgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCj4gKyMKPiArIyAgVEhJUyBIRUFERVIgTUFZIE5PVCBCRSBF
WFRSQUNURUQgT1IgTU9ESUZJRUQgSU4gQU5ZIFdBWS4KPiArIwo+ICsKPiArIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMKPiArIyBMaWJyYXJ5IHJlZ2lzdHJhdGlvbgo+ICsjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIwo+ICskKGV2YWwgJChjYWxsIGFkZGxpYl9zLGxpYmxjbXMsJChDT05GSUdfTElCTENN
UykpKQo+ICsjJChldmFsICQoY2FsbCBhZGRsaWJfcyxsaWJsY21zZ2x1ZSwkKENPTkZJR19MSUJM
Q01TKSkpCj4gKwo+ICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwo+ICsjIE9yaWdpbmFsIHNvdXJj
ZXMKPiArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKPiArTElCTENNU19WRVJTSU9OPTIuOQo+ICtM
SUJMQ01TX1VSTD1odHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vcHl0aG9uLXBpbGxv
dy9waWxsb3ctZGVwZW5kcy9tYXN0ZXIvbGNtczItJChMSUJMQ01TX1ZFUlNJT04pLnRhci5nego+
ICtMSUJMQ01TX1BBVENIRElSPSQoTElCTENNU19CQVNFKS9wYXRjaGVzCj4gK0xJQkxDTVNfU1VC
RElSPWxjbXMyLSQoTElCTENNU19WRVJTSU9OKQo+ICskKGV2YWwgJChjYWxsIGZldGNoLGxpYmxj
bXMsJChMSUJMQ01TX1VSTCkpKQo+ICskKGV2YWwgJChjYWxsIHBhdGNoLGxpYmxjbXMsJChMSUJM
Q01TX1BBVENIRElSKSwkKExJQkxDTVNfU1VCRElSKSkpCj4gKwo+ICsjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIwo+ICsjIEhlbHBlcnMKPiArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKPiArTElCTENN
U19FWFRSQUNURUQgPSAkKExJQkxDTVNfT1JJR0lOKS9sY21zMi0kKExJQkxDTVNfVkVSU0lPTikK
PiArCj4gKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCj4gKyMgTGlicmFyeSBpbmNsdWRlcwo+ICsj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIwo+ICtMSUJMQ01TX0NPTU1PTl9JTkNMVURFUy15ICAgICAg
Kz0gLUkkKExJQkxDTVNfRVhUUkFDVEVEKS9pbmNsdWRlCj4gK0xJQkxDTVNfQ09NTU9OX0lOQ0xV
REVTLXkgICAgICArPSAtSSQoTElCTENNU19FWFRSQUNURUQpL3NyYwo+ICsKPiArQ0lOQ0xVREVT
LSQoQ09ORklHX0xJQkxDTVMpICAgICs9ICQoTElCTENNU19DT01NT05fSU5DTFVERVMteSkKPiAr
Cj4gK0xJQkxDTVNfQ0lOQ0xVREVTICAgKz0gLUkkKExJQkxDTVNfRVhUUkFDVEVEKQo+ICsKPiAr
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKPiArIyBHbG9iYWwgZmxhZ3MKPiArIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMKPiArIyBTdXBwcmVzc2VkIGZsYWdzCj4gK0xJQkxDTVNfU1VQUFJFU1NfRkxB
R1MgKz0gLVduby11bnVzZWQtcGFyYW1ldGVyIFwKPiArCS1Xbm8tdW51c2VkLXZhcmlhYmxlIC1X
bm8tdW51c2VkLXZhbHVlIC1Xbm8tdW51c2VkLWZ1bmN0aW9uIFwKPiArCS1Xbm8tbWlzc2luZy1m
aWVsZC1pbml0aWFsaXplcnMgLVduby1pbXBsaWNpdC1mYWxsdGhyb3VnaAo+ICtMSUJMQ01TX0NG
TEFHUy15ICAgKz0gJChMSUJMQ01TX1NVUFBSRVNTX0ZMQUdTKSBcCj4gKwktV25vLXBvaW50ZXIt
dG8taW50LWNhc3QgLVduby1pbnQtdG8tcG9pbnRlci1jYXN0Cj4gKwo+ICsKPiArCj4gKyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjCj4gKyMgT1MgZGVwZW5kZW5jaWVzIGNvZGUgLSBHbHVlIGJldHdl
ZW4gVW5pa3JhZnQgYW5kIGxjbXMKPiArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKPiArI0xJQkxD
TVNHTFVFX1NSQ1MteSArPSAkKExJQkxDTVNfQkFTRSkvc2FtcGxlLmN8Z2x1ZQo+ICsKPiArIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMKPiArIyBMQ01TIHNyYwo+ICsjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIwo+ICtMSUJMQ01TX1NSQ1MteSArPSAkKExJQkxDTVNfRVhUUkFDVEVEKS9zcmMvY21zY252
cnQuYwo+ICtMSUJMQ01TX1NSQ1MteSArPSAkKExJQkxDTVNfRVhUUkFDVEVEKS9zcmMvY21zZXJy
LmMKPiArTElCTENNU19TUkNTLXkgKz0gJChMSUJMQ01TX0VYVFJBQ1RFRCkvc3JjL2Ntc2dhbW1h
LmMKPiArTElCTENNU19TUkNTLXkgKz0gJChMSUJMQ01TX0VYVFJBQ1RFRCkvc3JjL2Ntc2dtdC5j
Cj4gK0xJQkxDTVNfU1JDUy15ICs9ICQoTElCTENNU19FWFRSQUNURUQpL3NyYy9jbXNpbnRycC5j
Cj4gK0xJQkxDTVNfU1JDUy15ICs9ICQoTElCTENNU19FWFRSQUNURUQpL3NyYy9jbXNpbzAuYwo+
ICtMSUJMQ01TX1NSQ1MteSArPSAkKExJQkxDTVNfRVhUUkFDVEVEKS9zcmMvY21zaW8xLmMKPiAr
TElCTENNU19TUkNTLXkgKz0gJChMSUJMQ01TX0VYVFJBQ1RFRCkvc3JjL2Ntc2x1dC5jCj4gK0xJ
QkxDTVNfU1JDUy15ICs9ICQoTElCTENNU19FWFRSQUNURUQpL3NyYy9jbXNwbHVnaW4uYwo+ICtM
SUJMQ01TX1NSQ1MteSArPSAkKExJQkxDTVNfRVhUUkFDVEVEKS9zcmMvY21zc20uYwo+ICtMSUJM
Q01TX1NSQ1MteSArPSAkKExJQkxDTVNfRVhUUkFDVEVEKS9zcmMvY21zbWQ1LmMKPiArTElCTENN
U19TUkNTLXkgKz0gJChMSUJMQ01TX0VYVFJBQ1RFRCkvc3JjL2Ntc210cnguYwo+ICtMSUJMQ01T
X1NSQ1MteSArPSAkKExJQkxDTVNfRVhUUkFDVEVEKS9zcmMvY21zcGFjay5jCj4gK0xJQkxDTVNf
U1JDUy15ICs9ICQoTElCTENNU19FWFRSQUNURUQpL3NyYy9jbXN3dHBudC5jCj4gK0xJQkxDTVNf
U1JDUy15ICs9ICQoTElCTENNU19FWFRSQUNURUQpL3NyYy9jbXN4Zm9ybS5jCj4gK0xJQkxDTVNf
U1JDUy15ICs9ICQoTElCTENNU19FWFRSQUNURUQpL3NyYy9jbXNzYW1wLmMKPiArTElCTENNU19T
UkNTLXkgKz0gJChMSUJMQ01TX0VYVFJBQ1RFRCkvc3JjL2Ntc25hbWVkLmMKPiArTElCTENNU19T
UkNTLXkgKz0gJChMSUJMQ01TX0VYVFJBQ1RFRCkvc3JjL2Ntc2NhbTAyLmMKPiArTElCTENNU19T
UkNTLXkgKz0gJChMSUJMQ01TX0VYVFJBQ1RFRCkvc3JjL2Ntc3ZpcnQuYwo+ICtMSUJMQ01TX1NS
Q1MteSArPSAkKExJQkxDTVNfRVhUUkFDVEVEKS9zcmMvY21zdHlwZXMuYwo+ICtMSUJMQ01TX1NS
Q1MteSArPSAkKExJQkxDTVNfRVhUUkFDVEVEKS9zcmMvY21zY2dhdHMuYwo+ICtMSUJMQ01TX1NS
Q1MteSArPSAkKExJQkxDTVNfRVhUUkFDVEVEKS9zcmMvY21zcHMyLmMKPiArTElCTENNU19TUkNT
LXkgKz0gJChMSUJMQ01TX0VYVFJBQ1RFRCkvc3JjL2Ntc29wdC5jCj4gK0xJQkxDTVNfU1JDUy15
ICs9ICQoTElCTENNU19FWFRSQUNURUQpL3NyYy9jbXNoYWxmLmMKPiArTElCTENNU19TUkNTLXkg
Kz0gJChMSUJMQ01TX0VYVFJBQ1RFRCkvc3JjL2Ntc2FscGhhLmMKPiArTElCTENNU19TUkNTLXkg
Kz0gJChMSUJMQ01TX0VYVFJBQ1RFRCkvc3JjL2Ntc3Bjcy5jCj4gKwo+ICsKPiArIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMKPiArIyBMQ01TIHByZXBhcmUKPiArIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMKPiArIyBSdW4gLi9jb25maWd1cmUKPiArJChMSUJMQ01TX0VYVFJBQ1RFRCkvY29uZmlnLnN0
YXR1czogJChMSUJMQ01TX0JVSUxEKS8ub3JpZ2luCj4gKwkkKGNhbGwgdmVyYm9zZV9jbWQsQ09O
RklHLGxpYmxjbXM6ICQobm90ZGlyICRAKSwgXAo+ICsJCWNkICQoTElCTENNU19FWFRSQUNURUQp
ICYmIC4vY29uZmlndXJlKQo+ICsKPiArTElCTENNU19QUkVQQVJFRF9ERVBTID0gXAo+ICsJJChM
SUJMQ01TX0VYVFJBQ1RFRCkvY29uZmlnLnN0YXR1cyBcCj4gKwo+ICskKExJQkxDTVNfQlVJTEQp
Ly5wcmVwYXJlZDogJChMSUJMQ01TX1BSRVBBUkVEX0RFUFMpCj4gKwo+ICtVS19QUkVQQVJFICs9
ICQoTElCTENNU19CVUlMRCkvLnByZXBhcmVkCj4gXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
Cj4gCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5p
b3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpo
dHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Fri Dec 06 09:51:34 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 06 Dec 2019 09:51:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1idAGr-0000RO-9r; Fri, 06 Dec 2019 09:51:33 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <SRS0=z/5o=Z4=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1idAGq-0000RC-F9
 for minios-devel@lists.xenproject.org; Fri, 06 Dec 2019 09:51:32 +0000
X-Inumbo-ID: f0045af4-180d-11ea-b4e9-bc764e2007e4
Received: from mx1.suse.de (unknown [195.135.220.15])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id f0045af4-180d-11ea-b4e9-bc764e2007e4;
 Fri, 06 Dec 2019 09:51:13 +0000 (UTC)
X-Virus-Scanned: by amavisd-new at test-mx.suse.de
Received: from relay2.suse.de (unknown [195.135.220.254])
 by mx1.suse.de (Postfix) with ESMTP id 5C0ECAC5F;
 Fri,  6 Dec 2019 09:51:12 +0000 (UTC)
To: Lars Kurth <lars.kurth@citrix.com>
References: <BE78F496-8B9C-490F-A500-204E3305C950@citrix.com>
 <6DC58DC2-5F2F-4496-A0F5-A91F11FD931B@gmail.com>
 <FDC64A08-D894-44CB-9244-9752D0FD17CD@citrix.com>
 <97079765-88F1-4F0C-95B1-B729B4AA93AA@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <da6ab25f-6996-703e-66d1-11757136da11@suse.com>
Date: Fri, 6 Dec 2019 10:51:27 +0100
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101
 Thunderbird/60.9.1
MIME-Version: 1.0
In-Reply-To: <97079765-88F1-4F0C-95B1-B729B4AA93AA@citrix.com>
Content-Language: en-US
Subject: Re: [Minios-devel] [PATCH v2 4/6] Add Code Review Guide
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Lars Kurth <lars.kurth@xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 "xen-api@lists.xenproject.org" <xen-api@lists.xenproject.org>,
 "minios-devel@lists.xenproject.org" <minios-devel@lists.xenproject.org>,
 Rich Persaud <persaur@gmail.com>,
 "committers@xenproject.org" <committers@xenproject.org>,
 "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "win-pv-devel@lists.xenproject.org" <win-pv-devel@lists.xenproject.org>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

T24gMDYuMTIuMjAxOSAwMDo0MSwgTGFycyBLdXJ0aCB3cm90ZToKPiBJIHByb3Bvc2UgdG8gYWRk
IHRoZSBmb2xsb3dpbmcgc2VjdGlvbiB0byBjb2RlLXJldmlldy1ndWlkZS5tZAo+IAo+IC0tLS0K
PiAjIyA8YSBuYW1lPSJwcm9ibGVtcyI+PC9hPlByb2JsZW1hdGljIFBhdGNoIFJldmlld3MKPiAK
PiBBIHR5cGljYWwgd2F0ZXJmYWxsIHNvZnR3YXJlIGRldmVsb3BtZW50IHByb2Nlc3MgaXMgc2Vx
dWVudGlhbCB3aXRoIHRoZSBmb2xsb3dpbmfCoAo+IHN0ZXBzOiBkZWZpbmUgcmVxdWlyZW1lbnRz
LCBhbmFseXNlLCBkZXNpZ24sIGNvZGUsIHRlc3QgYW5kIGRlcGxveS4gUHJvYmxlbXPCoAo+IHVu
Y292ZXJlZCBieSBjb2RlIHJldmlldyBvciB0ZXN0aW5nIGF0IHN1Y2ggYSBsYXRlIHN0YWdlIGNh
biBjYXVzZSBjb3N0bHkgcmVkZXNpZ27CoAo+IGFuZCBkZWxheXMuIFRoZSBwcmluY2lwbGUgb2Yg
KipbU2hpZnQgTGVmdF0oaHR0cHM6Ly9kZXZvcGVkaWEub3JnL3NoaWZ0LWxlZnQpKiogaXMgdG8g
dGFrZSBhwqAKPiB0YXNrIHRoYXQgaXMgdHJhZGl0aW9uYWxseSBwZXJmb3JtZWQgYXQgYSBsYXRl
IHN0YWdlIGluIHRoZSBwcm9jZXNzIGFuZCBwZXJmb3JtIHRoYXQgdGFza8KgCj4gYXQgZWFybGll
ciBzdGFnZXMuIFRoZSBnb2FsIGlzIHRvIHNhdmUgdGltZSBieSBhdm9pZGluZyByZWZhY3Rvcmlu
Zy4KPiAKPiBUeXBpY2FsbHksIHByb2JsZW1hdGljIHBhdGNoIHJldmlld3MgdW5jb3ZlciBpc3N1
ZXMgc3VjaCBhcyB3cm9uZyBvciBtaXNzZWTCoAo+IGFzc3VtcHRpb25zLCBhIHByb2JsZW1hdGlj
IGFyY2hpdGVjdHVyZSBvciBkZXNpZ24sIG9yIG90aGVyIGJ1Z3MgdGhhdCByZXF1aXJlwqAKPiBz
aWduaWZpY2FudCByZS1pbXBsZW1lbnRhdGlvbiBvZiBhIHBhdGNoIHNlcmllcyB0byBmaXggdGhl
IGlzc3VlLgo+IAo+IFRoZSBwcmluY2lwbGUgb2YgKipTaGlmdCBMZWZ0KiogYWxzbyBhcHBsaWVz
IGluIGNvZGUgcmV2aWV3cy4gTGV0J3MgYXNzdW1lIGEgc2VyaWVzIGhhcwo+IGEgbWFqb3IgZmxh
dzogaWRlYWxseSwgdGhpcyBmbGF3IHdvdWxkIGJlIHBpY2tlZCB1cCBpbiB0aGUgKipmaXJzdCBv
ciBzZWNvbmQgaXRlcmF0aW9uKiogb2bCoAo+IHRoZSBjb2RlIHJldmlldy4gQXMgc2lnbmlmaWNh
bnQgcGFydHMgb2YgdGhlIGNvZGUgbWF5IGhhdmUgdG8gYmUgcmUtd3JpdHRlbiwgaXQgZG9lcyBu
b3TCoAo+IG1ha2Ugc2Vuc2UgZm9yIHJldmlld2VycyB0byBoaWdobGlnaHQgbWlub3IgaXNzdWVz
IChzdWNoIGFzIHN0eWxlIGlzc3VlcykgdW50aWwgbWFqb3LCoAo+IGZsYXdzIGhhdmUgYmVlbiBh
ZGRyZXNzZWQuIEJ5IHByb3ZpZGluZyBmZWVkYmFjayBvbiBtaW5vciBpc3N1ZXMgcmV2aWV3ZXJz
IGNhdXNlwqAKPiB0aGUgY29kZSBhdXRob3IgYW5kIHRoZW1zZWx2ZXMgZXh0cmEgd29yayBieSBh
c2tpbmcgZm9yIGNoYW5nZXMgdG8gY29kZSwgd2hpY2jCoAo+IHVsdGltYXRlbHkgbWF5IGJlIGNo
YW5nZWQgbGF0ZXIuCj4gCj4gVGhlIHF1ZXN0aW9uIHRoZW4gYmVjb21lcywgaG93IGRvIGNvZGUg
cmV2aWV3ZXJzIGlkZW50aWZ5IG1ham9yIGlzc3VlcyBlYXJseT/CoAo+IC0tLS0KPiBUaGlzIGlz
IHdoZXJlIEkgcmVhbGx5IG5lZWQgaGVscC4gQXJlIHRoZXJlIGFueSB0aXBzIGFuZCByZWNvbW1l
bmRhdGlvbnMgdGhhdCB3ZSBjb3VsZCBnaXZlPwo+IEkgY2FuIGNsZWFybHkgaGlnaGxpZ2h0IHRo
YXQgd2UgaGF2ZSBSRkMgc2VyaWVzLCBidXQgaW4gcHJhY3RpY2UgdGhhdCBkb2VzIG5vdCBzb2x2
ZSB0aGUgcHJvYmxlbSBhcyBSRkNzIGRvbuKAmXQgZ2V0IHByaW9yaXRpemVkCj4gSG93IGRvIHJl
dmlld2VycyBub3JtYWxseSBhcHByb2FjaCBhIHNlcmllczogZG8geW91IGEpIHRha2UgYSBiaWcg
cGljdHVyZSB2aWV3IGZpcnN0LCBvciBiKSBkbyBtb3N0IG9mIHlvdSB3b3JrIHRocm91Z2ggYSBz
ZXJpZXMgc2VxdWVudGlhbGx5CgpBZmFpYyAtIGRlcGVuZHMgaGVhdmlseSBvbiB0aGUgcGF0Y2gg
LyBzZXJpZXMuIEkgd291bGRuJ3QgdHlwaWNhbGx5CnBlZWsgYWhlYWQgaW4gYSBzZXJpZXMsIGJ1
dCBpdCBoYXMgaGFwcGVuZWQuIEJ1dCBhcyB5b3Ugc2F5CihlbHNld2hlcmUpIHRoZSBjb3ZlciBs
ZXR0ZXIgc2hvdWxkIHB1dCBpbiBwbGFjZSB0aGUgImJpZyBwaWN0dXJlIi4KQSBzZXJpZXMgc2hv
dWxkIGdlbmVyYWxseSBiZSByZXZpZXdhYmxlIGdvaW5nIGZyb20gcGF0Y2ggdG8gcGF0Y2gsCmhh
dmluZyB0aGUgY292ZXIgbGV0dGVyIGluIG1pbmQuCgo+IEkgdGhlbiBwcm9wb3NlIHRvIGNoYW5n
ZSB0aGUgZm9sbG93aW5nIHNlY3Rpb24gaW4gY29tbXVuaWNhdGlvbi1wcmFjdGljZS5tZAo+IC0t
LS0KPiAjIyMgUHJpb3JpdGl6ZSBzaWduaWZpY2FudCBmbGF3cwo+IElmIGEgcGF0Y2ggb3IgcGF0
Y2ggc2VyaWVzIGhhcyBzaWduaWZpY2FudCBmbGF3cywgc3VjaCBhcwo+ICogSXQgaXMgYnVpbHQg
b24gd3JvbmcgYXNzdW1wdGlvbnMKPiAqIFRoZXJlIGFyZSBpc3N1ZXMgd2l0aCB0aGUgYXJjaGl0
ZWN0dXJlIG9yIHRoZSBkZXNpZ24KCkluIHN1Y2ggYSBjYXNlIGEgZnVsbCByZXZpZXcgb2YgY291
cnNlIGRvZXNuJ3QgbWFrZSBtdWNoIHNlbnNlLiBCdXQKdGhpcyBpcyBmYXIgZnJvbSB0aGUgdHlw
aWNhbCBzaXR1YXRpb24uIFdheSBtb3JlIG9mdGVuIHlvdSBoYXZlIHNvbWUKX3BhcnRfIG9mIGEg
cGF0Y2ggb3Igc2VyaWVzIHdoaWNoIGhhcyBhIGJpZ2dlciBpc3N1ZSwgYnV0IG90aGVyCnBhcnRz
IGFyZSBpbiBuZWVkIG9mIG5vIG9yIGp1c3QgbWlub3IgY2hhbmdlcy4KCj4gaXQgZG9lcyBub3Qg
bWFrZSBzZW5zZSB0byBkbyBhIGRldGFpbGVkIGNvZGUgcmV2aWV3LiBJbiBzdWNoIGNhc2VzLCBp
dCBpcyBiZXN0IHRvCj4gZm9jdXMgb24gdGhlIG1ham9yIGlzc3VlcyBmaXJzdCBhbmQgZGVhbCB3
aXRoIHN0eWxlIGFuZCBtaW5vciBpc3N1ZXMgaW4gYSBzdWJzZXF1ZW50Cj4gcmV2aWV3LiBOb3Qg
YWxsIHNlcmllcyBoYXZlIHNpZ25pZmljYW50IGZsYXdzLCBidXQgbW9zdCBzZXJpZXMgaGF2ZSBk
aWZmZXJlbnQgY2xhc3NlcyBvZiAKPiBjaGFuZ2VzIHRoYXQgYXJlIHJlcXVpcmVkIGZvciBhY2Nl
cHRhbmNlOiBjb3ZlcmluZyBhIHJhbmdlIG9mIG1ham9yIGNvZGUgCj4gbW9kaWZpY2F0aW9ucyB0
byBtaW5vciBjb2RlIHN0eWxlIGZpeGVzLiBUbyBhdm9pZCBtaXN1bmRlcnN0YW5kaW5ncyBiZXR3
ZWVuIAo+IHJldmlld2VycyBhbmQgY29udHJpYnV0b3JzLCBpdCBpcyBpbXBvcnRhbnQgdG8gZXN0
YWJsaXNoIGFuZCBhZ3JlZSB3aGV0aGVyIGEgc2VyaWVzIG9yIAo+IHBhcnQgb2YgYSBzZXJpZXMg
aGFzIGEgc2lnbmlmaWNhbnQgZmxhdyBhbmQgYWdyZWUgYSBjb3Vyc2Ugb2YgYWN0aW9uLiAKPiAK
PiBBIHByYWdtYXRpYyBhcHByb2FjaCB3b3VsZCBiZSB0bwo+ICogSGlnaGxpZ2h0IHByb2JsZW1h
dGljIHBvcnRpb25zIG9mIGEgc2VyaWVzIGluIHRoZSBjb3ZlciBsZXR0ZXIgCj4gKiBGb3IgdGhl
IHBhdGNoIGF1dGhvciBhbmQgcmV2aWV3ZXIocykgdG8gYWdyZWUgdGhhdCBmb3IgcHJvYmxlbWF0
aWMgdG8gb21pdCBzdHlsZSBhbmQKPiBtaW5vciBpc3N1ZXMgaW4gdGhlIHJldmlldywgdW50aWwg
dGhlIHNpZ25pZmljYW50IGZsYXcgaXMgYWRkcmVzc2VkCj4gCj4gVGhpcyBzYXZlcyBib3RoIHRo
ZSBwYXRjaCBhdXRob3IgYW5kIHJldmlld2VyKHMpIHRpbWUuIE5vdGUgdGhhdCBzb21lIGJhY2tn
cm91bmQKPiBpcyBjb3ZlcmVkIGluIGRldGFpbCBpbiBbUHJvYmxlbWF0aWMgUGF0Y2ggUmV2aWV3
c10ocmVzb2x2aW5nLWRpc2FncmVlbWVudC5tZCNwcm9ibGVtcykuCgpJIGhhdmUgbm8gaXNzdWVz
IHdpdGggdGhlIHN1Z2dlc3RlZCB0ZXh0IGluIGdlbmVyYWwsIGJ1dCBJIGFsc28gZG9uJ3QKdGhp
bmsgaXQgbWFrZXMgbXVjaCBvZiBhIGRpZmZlcmVuY2Ugd3J0IHdoYXQgSSBoYWQgbWVudGlvbmVk
IGJlZm9yZS4KSSBndWVzcyBwYXJ0IG9mIHRoZSBwcm9ibGVtIGhlcmUgaXMgdGhhdCB0aGVyZSBh
cmUgdGhpbmdzIHdoaWNoIGltbwp5b3UgY2FuJ3QgcmVhbGx5IGdpdmUgcmVjaXBlcyBmb3IgaG93
IHRvIGFwcHJvYWNoLCBpZiB0aGUgZXhwZWN0YXRpb24KaXMgdGhhdCBpdCB3b3VsZCBmaXQgYXQg
bGVhc3QgdGhlIHZhc3QgbWFqb3JpdHkgb2YgY2FzZXMuIEZvciBjb2RlCnJldmlld3MgdGhpcyBt
ZWFucyB0aGF0IEkgZG9uJ3QgdGhpbmsgdGhlcmUgc2hvdWxkIGJlIGFueSB3b3JkaW5nCnN1Z2dl
c3RpbmcgdGhleSBzaG91bGQgYmUgZG9uZSBpbiBhIGNlcnRhaW4gZm9ybTsgdGhlcmUgbWF5IGJl
IHdvcmRpbmcKc3VnZ2VzdGluZyB0aGV5IF9jb3VsZF8gYmUgZG9uZSBpbiBhIGNlcnRhaW4gZm9y
bSAoZS5nLiB0byBoZWxwCnBlb3BsZSBub3Qga25vd2luZyBhdCBhbGwgaG93IHRvIGdldCBzdGFy
dGVkKS4KCkphbgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVj
dC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlv
cy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Fri Dec 06 11:53:31 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 06 Dec 2019 11:53:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1idCAs-000417-8T; Fri, 06 Dec 2019 11:53:30 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=Ae0f=Z4=gmail.com=stefanl.teodorescu@srs-us1.protection.inumbo.net>)
 id 1idCAr-000412-Jx
 for minios-devel@lists.xen.org; Fri, 06 Dec 2019 11:53:29 +0000
X-Inumbo-ID: 04164f1e-181f-11ea-a4fd-bc764e2007e4
Received: from mail-lf1-x142.google.com (unknown [2a00:1450:4864:20::142])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 04164f1e-181f-11ea-a4fd-bc764e2007e4;
 Fri, 06 Dec 2019 11:53:28 +0000 (UTC)
Received: by mail-lf1-x142.google.com with SMTP id 15so5066765lfr.2
 for <minios-devel@lists.xen.org>; Fri, 06 Dec 2019 03:53:28 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to
 :cc; bh=c5Mflyt4SwVYEshpYi5qkhNzF1XQIVMP46X9tl/dqWQ=;
 b=ZZVUvp0Wjx6qq237PFs4naPozz+NGyJse9LAailwrn0WG4m0tQL0enHTNLQNe+mxIm
 mDMRTXNye/J6RIu7D/Q3YFu+EjLSWS+zUxNuBZ39FcRnmeyq5cExqb64lEWXerwP3PV9
 5OfrBd7F5dE3TpCodZlYBhnWACE5gG2+WQFdel9VLnKTK/DC/2xvMmFy/fIO4sbuNvSN
 IEv0GF4ZdQaMQccewAKlWOB5oMiXzt8FSejR3C5QQZOkxp5FQrJL84DpLPRO5HTx4CgW
 5MvArFHKaTN3mwP5p4TH4CwCCah47P2iu7NR8YnBMI+8+iANzLJCU2mroGk+ZYcVn3LS
 m0NQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
 :message-id:subject:to:cc;
 bh=c5Mflyt4SwVYEshpYi5qkhNzF1XQIVMP46X9tl/dqWQ=;
 b=ILNcmI6p3TRPBkgx1I8Ax79s/vd9xb0vWyy6dKWnGFOoLJ4MuU8Myf5pxZElHdHWPt
 iHVcAmBa3PPdNcqJ2y4xJGljKhU8QOlGgtJkYTws6PYzhynhZNFvGMdXAT0pgDDZohQY
 lKgqKP2IwpuoK/F2tOjkyg7RckOfe4G6YSBB5+DCiWfDqwVLCKZ6IthlFEPtoOccnt1D
 U4zR36BVLzpDlqk3K/O7Ko51q1JvzvuiZcYgNxO/FLu5Q4LTjnCiqXewookUCEIEvBhu
 CIzd9SFWN7mWwJIDcSwnAUwvf8aDDaeoMo8z7ib29roGpkCCH/0QlKhl3L7UaT830dJa
 7M4w==
X-Gm-Message-State: APjAAAXIc9F6QCDSyqxGqpF7WT+jK9ZOQ6PYgy9kV4ofRUDIJPl3qewz
 eTgcBxMS0AJ+YSQjti2+3fnBXkTXLYRk+iM6zkg=
X-Google-Smtp-Source: APXvYqy1yu9GxMFBqNcoabk/ttowVHZZig88U38lVc2E7Ws1Q3lI09OyWJ3avqFo0Kpcb/XqvY1QBSVhLFRQ5jvpXUA=
X-Received: by 2002:a19:756:: with SMTP id 83mr7728342lfh.173.1575633207261;
 Fri, 06 Dec 2019 03:53:27 -0800 (PST)
MIME-Version: 1.0
References: <20191201194359.13027-1-costin.lupu@cs.pub.ro>
In-Reply-To: <20191201194359.13027-1-costin.lupu@cs.pub.ro>
From: Stefan Teodorescu <stefanl.teodorescu@gmail.com>
Date: Fri, 6 Dec 2019 13:53:16 +0200
Message-ID: <CAEiTdV6=6w+9HYCrd06yB4EG4KaAqxbONK8tWf1-6xx-_EFe8w@mail.gmail.com>
To: Costin Lupu <costin.lupu@cs.pub.ro>
Subject: Re: [Minios-devel] [UNIKRAFT PATCH ] plat/common/x86/trace.c: Dump
 info on exceptions using critical printing
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: minios-devel@lists.xen.org
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

UmV2aWV3ZWQtYnk6IFN0ZWZhbiBUZW9kb3Jlc2N1IDxzdGVmYW5sLnRlb2RvcmVzY3VAZ21haWwu
Y29tPgoKT24gU3VuLCBEZWMgMSwgMjAxOSBhdCA5OjQ0IFBNIENvc3RpbiBMdXB1IDxjb3N0aW4u
bHVwdUBjcy5wdWIucm8+IHdyb3RlOgo+Cj4gQmVjYXVzZSBkdW1waW5nIHJlZ2lzdGVycyBhbmQg
c3RhY2sgdHJhY2Ugb24gZXhjZXB0aW9ucwo+IHNob3VsZCBiZSBhbHdheXMgcHJpbnRlZC4KPgo+
IFNpZ25lZC1vZmYtYnk6IENvc3RpbiBMdXB1IDxjb3N0aW4ubHVwdUBjcy5wdWIucm8+Cj4gLS0t
Cj4gIHBsYXQvY29tbW9uL3g4Ni90cmFjZS5jIHwgMjQgKysrKysrKysrKysrLS0tLS0tLS0tLS0t
Cj4gIDEgZmlsZSBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkKPgo+
IGRpZmYgLS1naXQgYS9wbGF0L2NvbW1vbi94ODYvdHJhY2UuYyBiL3BsYXQvY29tbW9uL3g4Ni90
cmFjZS5jCj4gaW5kZXggZWYyMTAyZTkuLmQxYWJkNDYxIDEwMDY0NAo+IC0tLSBhL3BsYXQvY29t
bW9uL3g4Ni90cmFjZS5jCj4gKysrIGIvcGxhdC9jb21tb24veDg2L3RyYWNlLmMKPiBAQCAtNDAs
MTggKzQwLDE4IEBACj4KPiAgdm9pZCBkdW1wX3JlZ3Moc3RydWN0IF9fcmVncyAqcmVncykKPiAg
ewo+IC0gICAgICAgdWtfcHJfaW5mbygiUklQOiAlMDE2bHggQ1M6ICUwNGx4XG4iLCByZWdzLT5y
aXAsIHJlZ3MtPmNzICYgMHhmZmZmKTsKPiAtICAgICAgIHVrX3ByX2luZm8oIlJTUDogJTAxNmx4
IFNTOiAlMDRseCBFRkxBR1M6ICUwOGx4XG4iLAo+ICsgICAgICAgdWtfcHJfY3JpdCgiUklQOiAl
MDE2bHggQ1M6ICUwNGx4XG4iLCByZWdzLT5yaXAsIHJlZ3MtPmNzICYgMHhmZmZmKTsKPiArICAg
ICAgIHVrX3ByX2NyaXQoIlJTUDogJTAxNmx4IFNTOiAlMDRseCBFRkxBR1M6ICUwOGx4XG4iLAo+
ICAgICAgICAgICAgICAgICAgICAgICAgIHJlZ3MtPnJzcCwgcmVncy0+c3MsIHJlZ3MtPmVmbGFn
cyk7Cj4gLSAgICAgICB1a19wcl9pbmZvKCJSQVg6ICUwMTZseCBSQlg6ICUwMTZseCBSQ1g6ICUw
MTZseFxuIiwKPiArICAgICAgIHVrX3ByX2NyaXQoIlJBWDogJTAxNmx4IFJCWDogJTAxNmx4IFJD
WDogJTAxNmx4XG4iLAo+ICAgICAgICAgICAgICAgICAgICAgICAgIHJlZ3MtPnJheCwgcmVncy0+
cmJ4LCByZWdzLT5yY3gpOwo+IC0gICAgICAgdWtfcHJfaW5mbygiUkRYOiAlMDE2bHggUlNJOiAl
MDE2bHggUkRJOiAlMDE2bHhcbiIsCj4gKyAgICAgICB1a19wcl9jcml0KCJSRFg6ICUwMTZseCBS
U0k6ICUwMTZseCBSREk6ICUwMTZseFxuIiwKPiAgICAgICAgICAgICAgICAgICAgICAgICByZWdz
LT5yZHgsIHJlZ3MtPnJzaSwgcmVncy0+cmRpKTsKPiAtICAgICAgIHVrX3ByX2luZm8oIlJCUDog
JTAxNmx4IFIwODogJTAxNmx4IFIwOTogJTAxNmx4XG4iLAo+ICsgICAgICAgdWtfcHJfY3JpdCgi
UkJQOiAlMDE2bHggUjA4OiAlMDE2bHggUjA5OiAlMDE2bHhcbiIsCj4gICAgICAgICAgICAgICAg
ICAgICAgICAgcmVncy0+cmJwLCByZWdzLT5yOCwgcmVncy0+cjkpOwo+IC0gICAgICAgdWtfcHJf
aW5mbygiUjEwOiAlMDE2bHggUjExOiAlMDE2bHggUjEyOiAlMDE2bHhcbiIsCj4gKyAgICAgICB1
a19wcl9jcml0KCJSMTA6ICUwMTZseCBSMTE6ICUwMTZseCBSMTI6ICUwMTZseFxuIiwKPiAgICAg
ICAgICAgICAgICAgICAgICAgICByZWdzLT5yMTAsIHJlZ3MtPnIxMSwgcmVncy0+cjEyKTsKPiAt
ICAgICAgIHVrX3ByX2luZm8oIlIxMzogJTAxNmx4IFIxNDogJTAxNmx4IFIxNTogJTAxNmx4XG4i
LAo+ICsgICAgICAgdWtfcHJfY3JpdCgiUjEzOiAlMDE2bHggUjE0OiAlMDE2bHggUjE1OiAlMDE2
bHhcbiIsCj4gICAgICAgICAgICAgICAgICAgICAgICAgcmVncy0+cjEzLCByZWdzLT5yMTQsIHJl
Z3MtPnIxNSk7Cj4gIH0KPgo+IEBAIC02NSwxMCArNjUsMTAgQEAgdm9pZCBkdW1wX21lbSh1bnNp
Z25lZCBsb25nIGFkZHIpCj4KPiAgICAgICAgIGZvciAoaSA9ICgoYWRkcikgLSAxNikgJiB+MTU7
IGkgPCAoKChhZGRyKSArIDQ4KSAmIH4xNSk7IGkrKykgewo+ICAgICAgICAgICAgICAgICBpZiAo
IShpICUgMTYpKQo+IC0gICAgICAgICAgICAgICAgICAgICAgIHVrX3ByX2luZm8oIlxuJWx4OiIs
IGkpOwo+IC0gICAgICAgICAgICAgICB1a19wcl9pbmZvKCIgJTAyeCIsICoodW5zaWduZWQgY2hh
ciAqKSBpKTsKPiArICAgICAgICAgICAgICAgICAgICAgICB1a19wcl9jcml0KCJcbiVseDoiLCBp
KTsKPiArICAgICAgICAgICAgICAgdWtfcHJfY3JpdCgiICUwMngiLCAqKHVuc2lnbmVkIGNoYXIg
KikgaSk7Cj4gICAgICAgICB9Cj4gLSAgICAgICB1a19wcl9pbmZvKCJcbiIpOwo+ICsgICAgICAg
dWtfcHJfY3JpdCgiXG4iKTsKPiAgfQo+Cj4gIHZvaWQgc3RhY2tfd2Fsayh2b2lkKQo+IEBAIC04
NCw4ICs4NCw4IEBAIHZvaWQgc3RhY2tfd2Fsa19mb3JfZnJhbWUodW5zaWduZWQgbG9uZyBmcmFt
ZV9iYXNlKQo+ICB7Cj4gICAgICAgICB1bnNpZ25lZCBsb25nICpmcmFtZSA9ICh2b2lkICopIGZy
YW1lX2Jhc2U7Cj4KPiAtICAgICAgIHVrX3ByX2luZm8oImJhc2UgaXMgJSNseCAiLCBmcmFtZV9i
YXNlKTsKPiAtICAgICAgIHVrX3ByX2luZm8oImNhbGxlciBpcyAlI2x4XG4iLCBmcmFtZVsxXSk7
Cj4gKyAgICAgICB1a19wcl9jcml0KCJiYXNlIGlzICUjbHggIiwgZnJhbWVfYmFzZSk7Cj4gKyAg
ICAgICB1a19wcl9jcml0KCJjYWxsZXIgaXMgJSNseFxuIiwgZnJhbWVbMV0pOwo+ICAgICAgICAg
aWYgKGZyYW1lWzBdKQo+ICAgICAgICAgICAgICAgICBzdGFja193YWxrX2Zvcl9mcmFtZShmcmFt
ZVswXSk7Cj4gIH0KPiAtLQo+IDIuMjAuMQo+Cj4KPiBfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwo+IE1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKPiBNaW5p
b3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKPiBodHRwczovL2xpc3RzLnhlbnByb2plY3Qu
b3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVsCgpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlv
cy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3Jn
L21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Fri Dec 06 12:02:34 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 06 Dec 2019 12:02:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1idCJd-0005Cx-Ev; Fri, 06 Dec 2019 12:02:33 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=BEoH=Z4=stud.acs.upb.ro=vlad_andrei.badoiu@srs-us1.protection.inumbo.net>)
 id 1idCJc-0005Cr-Ll
 for minios-devel@lists.xenproject.org; Fri, 06 Dec 2019 12:02:32 +0000
X-Inumbo-ID: 474f36fa-1820-11ea-999e-bc764e2007e4
Received: from EUR04-VI1-obe.outbound.protection.outlook.com (unknown
 [2a01:111:f400:fe0e::60b])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 474f36fa-1820-11ea-999e-bc764e2007e4;
 Fri, 06 Dec 2019 12:02:30 +0000 (UTC)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=flLBFjQL6zBIa6M+MEfa//3+m8pRdRRvbK+jCZayqAdj0Zo7rCRfQYHNANuFo+Ufv9u+2r+0RexuTujmeYQDVhFJ5RGpp5sMh7fdV8J3FNDYKcv/wTYvTqMS98WqO79fJwok3VTVlJ8FneZxgVer7JBrKW9m1dI1Mixvmbx9gqgHt/FZusYm09l+b9dXP9Md5Lg7suF73I1kywJIWMrcCRQADkpzcIXfG9TuKcdV8/0sLRNpt1ZGLIUkaC0vD/G0iFGjzeyNdftuicERT5utItojabbXLzAGEUPyCYg+J2OjR0oXrcxkNvmQ8Kbde4tzs2U3UiblNpZXSjJ8YggV0g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SKky2Cvx0Mr1WBxY/pBic5wXsekFEhYZvC4FUG+HBKM=;
 b=lBH4rmltUcmo1+CZrHXLNT06XgOiBGs4Rg5HOE2YKhrVwQ2l/6SHZmUECx/f0NcMlNhoHG7d6wds2nGdTJZ6BbtQl/65ULKjhhpvhTqjAw/P0F7yuBgMGc5TVRL3vr7ZJIQ/10MAdp5guTGDPUjQcXFG3yY3f+ehv29gUYihV9/GlSlNpoDLYl+vud9hAfG+EATbdxb3Dnpz7CEAOUiBPlnVpF2Qkso5W0eCp5c3GRb6s13t9BH7qtmi9ez63r/zSL8UZqQUltjsg0Lvwyt5/ON9FbXjn5qcp+WXkmSxs+FJel36kfiehvnEDQ7r8ANCgxa+wi2/8iaKcspxsUUamA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=stud.acs.upb.ro; dmarc=pass action=none
 header.from=stud.acs.upb.ro; dkim=pass header.d=stud.acs.upb.ro; arc=none
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com (20.177.55.79) by
 VI1PR01MB4014.eurprd01.prod.exchangelabs.com (20.177.54.153) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.2516.16; Fri, 6 Dec 2019 12:02:28 +0000
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::71a3:74d9:f301:33b6]) by VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::71a3:74d9:f301:33b6%7]) with mapi id 15.20.2516.015; Fri, 6 Dec 2019
 12:02:28 +0000
From: =?utf-8?B?VmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIp?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
To: "minios-devel@lists.xenproject.org" <minios-devel@lists.xenproject.org>
Thread-Topic: [Minios-devel] [UNIKRAFT/LIBLWIP PATCH 0/3] Patches in Support
 of Upcoming low.js Port
Thread-Index: AQHVeFokXhD5/UZsHkeytIemMR6dpqetaVgA
Date: Fri, 6 Dec 2019 12:02:27 +0000
Message-ID: <613e1cf9-2b77-cfe1-41de-756f20d23250@stud.acs.upb.ro>
References: <20191001131403.9327-1-felipe.huici@neclab.eu>
In-Reply-To: <20191001131403.9327-1-felipe.huici@neclab.eu>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-clientproxiedby: AM0PR05CA0013.eurprd05.prod.outlook.com
 (2603:10a6:208:55::26) To VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 (2603:10a6:803:6d::15)
authentication-results: spf=none (sender IP is )
 smtp.mailfrom=vlad_andrei.badoiu@stud.acs.upb.ro; 
x-ms-exchange-messagesentrepresentingtype: 1
x-originating-ip: [141.85.233.103]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: a44910a7-fc6c-441f-d190-08d77a4429f3
x-ms-traffictypediagnostic: VI1PR01MB4014:
x-microsoft-antispam-prvs: <VI1PR01MB40149CEE88970A7F340A4B3FA65F0@VI1PR01MB4014.eurprd01.prod.exchangelabs.com>
x-ms-oob-tlc-oobclassifiers: OLM:5236;
x-forefront-prvs: 0243E5FD68
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(366004)(136003)(396003)(376002)(346002)(39840400004)(189003)(199004)(6486002)(31686004)(53546011)(52116002)(5660300002)(6506007)(305945005)(71200400001)(5640700003)(186003)(26005)(102836004)(86362001)(99286004)(71190400001)(31696002)(76176011)(6512007)(85202003)(4744005)(2616005)(66476007)(66556008)(64756008)(66446008)(6916009)(66946007)(316002)(508600001)(786003)(85182001)(81156014)(81166006)(8676002)(8936002)(2906002)(229853002);
 DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR01MB4014;
 H:VI1PR01MB4205.eurprd01.prod.exchangelabs.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; MX:1; A:0; 
received-spf: None (protection.outlook.com: stud.acs.upb.ro does not designate
 permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 2pjA2WZYUsVbATgERgxeNP4HcG2sXAsvDfhM/2EjPuuakUsjcrlFqP8m9fCcGrwo/hhgFALoCsUAsVNBEyLMHPwcgvE3n1thIDZpPvdtJcnYa43Guw2LKuKcHsXwYx+lp+XUYcBbPAV8qTCLS0T2FDJzEg0q6rgJUfv/o5/Znr3i3veVJyOp/+pSuay6XbDoWVc0LjZeQwv8sqmnE9oYa2jM92AbeymL6D16bKy00RSCumicPqpq8AJYW16OG57tspVuL+hE11QEHQXOQCcdgq6z7k67wcxdx7psdVun7ju8lB6xACSJKPLYTHCXoLZAA8XK4wroMi32oRXxRj+Ae6arJQuwevXdY3dAFwj0B1tlphcyeU+TsHv0qekO4RmkjhMacSp+9JvP36DoZpP42Sj+xfgKD4RGHVxM4frgUFuOqKwO3ou/2OdPQXul9ynF
x-ms-exchange-transport-forked: True
Content-ID: <4B8B80E16E96654997647521E9A1162E@eurprd01.prod.exchangelabs.com>
MIME-Version: 1.0
X-OriginatorOrg: stud.acs.upb.ro
X-MS-Exchange-CrossTenant-Network-Message-Id: a44910a7-fc6c-441f-d190-08d77a4429f3
X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Dec 2019 12:02:27.9052 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 2d8cc8ba-8dda-4334-9e5c-fac2092e9bac
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: /o6wC3rpzEr2h5FKkYOKUb2afs+iB19r6MidvwCuy/q6UfatiDjKzPJ5Nv7SyxIGQn2dJ/H51XUJEkZvKTJiGN4FZf9CaeLEWY5oIgwXJnL+FiCWoKzVxCB7DISGImcg
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR01MB4014
Subject: Re: [Minios-devel] [UNIKRAFT/LIBLWIP PATCH 0/3] Patches in Support
 of Upcoming low.js Port
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGV5IEZlbGlwZSwNCg0KVGhlIHBhdGNoIHNlcmllcyBsb29rcyBhbGwgcmlnaHQgYnV0IG5vIGxv
bmdlciBhcHBsaWVzIG92ZXIgdGhlIHN0YWdpbmcgDQpicmFuY2guDQoNClRoYW5rcywNCg0KVmxh
ZA0KDQpPbiAwMS4xMC4yMDE5IDE2OjE0LCBGZWxpcGUgSHVpY2kgd3JvdGU6DQo+IFdlIGFkZCBt
YWNybyBkZWZpbml0aW9ucyBhbmQgbWFrZSBoZWFkZXIgZmlsZXMgY29tcGF0aWJsZSB3aXRoIGMr
Kw0KPiBidWlsZHMgaW4gc3VwcG9ydCBvZiB0aGUgdXBjb21pbmcgbG93LmpzIHBvcnQgKE5vZGUu
anMgZm9yIGVtYmVkZGVkDQo+IGRldmljZXMpDQo+DQo+IEZlbGlwZSBIdWljaSAoMyk6DQo+ICAg
IEFkZCBtaXNzaW5nIEVBSV8qIG1hY3JvIGRlZmluaXRpb25zDQo+ICAgIEFkZCBBRl9VTklYIG1h
Y3JvIGRlZmluaXRpb24uDQo+ICAgIE1ha2UgaGVhZGVycyBjb21wYXRpYmxlIHdpdGggYysrIGJ1
aWxkcw0KPg0KPiAgIGluY2x1ZGUvYXJwYS9pbmV0LmggIHwgIDcgKysrKysrKw0KPiAgIGluY2x1
ZGUvbmV0ZGIuaCAgICAgIHwgMjAgKysrKysrKysrKysrKysrKysrKy0NCj4gICBpbmNsdWRlL3N5
cy9zb2NrZXQuaCB8IDEzICsrKysrKysrKysrKysNCj4gICAzIGZpbGVzIGNoYW5nZWQsIDM5IGlu
c2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkNCj4NCl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRl
dmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFp
bG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Fri Dec 06 12:25:33 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 06 Dec 2019 12:25:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1idCfs-0007Ed-Sx; Fri, 06 Dec 2019 12:25:32 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=HIqC=Z4=gmail.com=costin.lup@srs-us1.protection.inumbo.net>)
 id 1idCfs-0007EY-95
 for minios-devel@lists.xen.org; Fri, 06 Dec 2019 12:25:32 +0000
X-Inumbo-ID: 7e5199d8-1823-11ea-b4e9-bc764e2007e4
Received: from mail-wr1-x441.google.com (unknown [2a00:1450:4864:20::441])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 7e5199d8-1823-11ea-b4e9-bc764e2007e4;
 Fri, 06 Dec 2019 12:25:31 +0000 (UTC)
Received: by mail-wr1-x441.google.com with SMTP id w15so7589936wru.4
 for <minios-devel@lists.xen.org>; Fri, 06 Dec 2019 04:25:31 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=subject:to:references:from:message-id:date:user-agent:mime-version
 :in-reply-to:content-language:content-transfer-encoding;
 bh=T0D+EowbVXhYRnT2OxcrT9m/InJgrdRh9lJKH5hmHog=;
 b=vNuNjcJGt1sPLelxhW/fUom9AZUnTfT+wOdELKAusL/AVcDnQJ48fQlJbw6SRGrzV/
 Fnx32SxSSD470iL+EBV4AElXroJG7UzWhJbxK1ek2hzss2EUomNyyzh54T90AluxA6IU
 JDSoKeLIt8rGHNXn85QCJ/9H/W0Y9aNHg7zFPWdac32vySzbUz6bAN7FaPlERJh/bLjV
 GPpD7fiLAToOLiRv/O/otNPRBS9phuk9m1PIIUwGmVm6/3yNnFE5PAbWMLfFo8idGczS
 onH7S6iXUnIiRv25C3QoZhRGnifqxuFGQpsMxP65xLf3qkLHXarGFqmTQqtACmtisF4O
 SGzQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:subject:to:references:from:message-id:date
 :user-agent:mime-version:in-reply-to:content-language
 :content-transfer-encoding;
 bh=T0D+EowbVXhYRnT2OxcrT9m/InJgrdRh9lJKH5hmHog=;
 b=dm2T4vAGnnaJ4Wyigbj2b+0pe2cXvwS4ujL/GwO6VKsEe93uiIySY1cYSbdmENxMyK
 8xzViEnDHwmVhXV9jSUm60R8PYeQrkWIw4lQ3PS7/zMAV3OplECVrd2mH4GfwTkg4UJG
 fUK311X893ZsL2SEB1MncPKOx63vk/eCEV8HLDK1Gd40ol2SgP1Rtrbt4FyNRB/JIiMG
 841lzOLy4kfws7lI4ZJG7SuhNhyXnIasqBeCAeLSPE45VHr5VNwlloAHLKemys8yQNIL
 R6h7JTdhtuXxlSs7ryMbDOCv75d3yGcoRiCOyOFuCSYB76DYvHZKH4KigyV1+ALVDw50
 By6g==
X-Gm-Message-State: APjAAAURIbrzUxKAQdivHSlIjdlELNPOjyxLX650GN28VCfs3izw5cUC
 /7DHT70EY5OvwNVXPQz2jvQ=
X-Google-Smtp-Source: APXvYqxnCpZ2oDrl5I/4y3KLhtnIx02wE5eUvyhO71ypAMZZhm52zsagZJuTAkI+LZF2gzrGXODmdA==
X-Received: by 2002:a5d:6441:: with SMTP id d1mr15691971wrw.93.1575635130632; 
 Fri, 06 Dec 2019 04:25:30 -0800 (PST)
Received: from [192.168.1.103] ([86.121.174.20])
 by smtp.gmail.com with ESMTPSA id z6sm16785447wrw.36.2019.12.06.04.25.29
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 06 Dec 2019 04:25:30 -0800 (PST)
To: Felipe Huici <felipe.huici@neclab.eu>, minios-devel@lists.xen.org,
 =?UTF-8?Q?Vlad-Andrei_B=c4=82DOIU_=2878692=29?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
References: <20191001131403.9327-1-felipe.huici@neclab.eu>
 <20191001131403.9327-3-felipe.huici@neclab.eu>
From: Costin Lupu <costin.lup@gmail.com>
Message-ID: <d5e49ac4-aadc-8474-f3dd-9347d528ae4f@gmail.com>
Date: Fri, 6 Dec 2019 14:25:28 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.2.2
MIME-Version: 1.0
In-Reply-To: <20191001131403.9327-3-felipe.huici@neclab.eu>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT/LIBLWIP PATCH 2/3] Add AF_UNIX macro
 definition.
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGksCgpUaGlzIHBhdGNoIHNob3VsZCBiZSBkcm9wcGVkIGZyb20gdGhpcyBzZXJpZXMuIEkgd2ls
bCBzZW5kIHNvbWUgcGF0Y2hlcwp0byBzdXBwb3J0IFJ1YnkgYW5kIHdoaWNoIHdpbGwgZml4IHRo
aXMgc29vbi4KCkNvc3RpbgoKT24gMTAvMS8xOSA0OjE0IFBNLCBGZWxpcGUgSHVpY2kgd3JvdGU6
Cj4gU2lnbmVkLW9mZi1ieTogRmVsaXBlIEh1aWNpIDxmZWxpcGUuaHVpY2lAbmVjbGFiLmV1Pgo+
IC0tLQo+ICBpbmNsdWRlL3N5cy9zb2NrZXQuaCB8IDUgKysrKysKPiAgMSBmaWxlIGNoYW5nZWQs
IDUgaW5zZXJ0aW9ucygrKQo+IAo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL3N5cy9zb2NrZXQuaCBi
L2luY2x1ZGUvc3lzL3NvY2tldC5oCj4gaW5kZXggOTkxYWUzZS4uMDNlZDllYiAxMDA2NDQKPiAt
LS0gYS9pbmNsdWRlL3N5cy9zb2NrZXQuaAo+ICsrKyBiL2luY2x1ZGUvc3lzL3NvY2tldC5oCj4g
QEAgLTU2LDYgKzU2LDExIEBACj4gICNkZWZpbmUgU09NQVhDT05OIDEyOAo+ICAjZW5kaWYKPiAg
Cj4gKyNkZWZpbmUgUEZfTE9DQUwgICAgICAgIDEKPiArI2RlZmluZSBBRl9MT0NBTCAgICAgICAg
UEZfTE9DQUwKPiArI2RlZmluZSBBRl9VTklYICAgICAgICAgQUZfTE9DQUwKPiArCj4gKwo+ICBp
bnQgc29ja2V0KGludCBkb21haW4sIGludCB0eXBlLCBpbnQgcHJvdG9jb2wpOwo+ICBpbnQgYWNj
ZXB0KGludCBzLCBzdHJ1Y3Qgc29ja2FkZHIgKmFkZHIsIHNvY2tsZW5fdCAqYWRkcmxlbik7Cj4g
IGludCBiaW5kKGludCBzLCBjb25zdCBzdHJ1Y3Qgc29ja2FkZHIgKm5hbWUsIHNvY2tsZW5fdCBu
YW1lbGVuKTsKPiAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2pl
Y3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5p
b3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Fri Dec 06 13:12:50 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 06 Dec 2019 13:12:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1idDPd-0002rE-Om; Fri, 06 Dec 2019 13:12:49 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=pm4d=Z4=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1idDPc-0002r7-TA
 for minios-devel@lists.xen.org; Fri, 06 Dec 2019 13:12:48 +0000
X-Inumbo-ID: 1844afde-182a-11ea-a4aa-bc764e2007e4
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id 1844afde-182a-11ea-a4aa-bc764e2007e4;
 Fri, 06 Dec 2019 13:12:46 +0000 (UTC)
IronPort-SDR: qSTRkF+RLjBjwiDdp6aidypcbbDdHfsa5MNeComk26qC9suKs7llHPeFQc7uEHNWDUi5QnXAd6
 24AbuI/YrfMQ==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 06 Dec 2019 15:12:45 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id B506D1A60136;
 Fri,  6 Dec 2019 15:12:45 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id zTrHrOdcakrT; Fri,  6 Dec 2019 15:12:45 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 9757E1A601EE;
 Fri,  6 Dec 2019 15:12:45 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id VShFvDoKb6-r; Fri,  6 Dec 2019 15:12:45 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 778F71A60105;
 Fri,  6 Dec 2019 15:12:45 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Fri,  6 Dec 2019 15:12:28 +0200
Message-Id: <20191206131231.22911-1-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
Subject: [Minios-devel] [UNIKRAFT/PTHREAD-EMBEDDED PATCH 0/3] Changes for
 supporting Ruby
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

V2hhdCBzdWJqZWN0IHNheXMuCgpDb3N0aW4gTHVwdSAoMyk6CiAgUmVtb3ZlIGV4cG9ydHN5bXMu
dWsKICBhdHRyaWJ1dGVzLmM6IEFsbG93IEdOVSBkZWZpbml0aW9ucyByZWdhcmRsZXNzIG9mIF9H
TlVfU09VUkNFCiAgQWRkIHB0aHJlYWRfY29uZGF0dHJfe2dldCxzZXR9Y2xvY2soKSBzdHVicwoK
IE1ha2VmaWxlLnVrICAgICAgICB8ICAgMSArCiBhdHRyaWJ1dGVzLmMgICAgICAgfCAgIDMgLS0K
IGV4cG9ydHN5bXMudWsgICAgICB8IDEwNSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KIHB0aHJlYWRfY29uZGF0dHIuYyB8ICA0MSArKysrKysrKysrKysrKysr
KysKIDQgZmlsZXMgY2hhbmdlZCwgNDIgaW5zZXJ0aW9ucygrKSwgMTA4IGRlbGV0aW9ucygtKQog
ZGVsZXRlIG1vZGUgMTAwNjQ0IGV4cG9ydHN5bXMudWsKIGNyZWF0ZSBtb2RlIDEwMDY0NCBwdGhy
ZWFkX2NvbmRhdHRyLmMKCi0tIAoyLjIwLjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZl
bEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxt
YW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Fri Dec 06 13:12:51 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 06 Dec 2019 13:12:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1idDPf-0002rd-QN; Fri, 06 Dec 2019 13:12:51 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=pm4d=Z4=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1idDPe-0002rL-Pn
 for minios-devel@lists.xen.org; Fri, 06 Dec 2019 13:12:50 +0000
X-Inumbo-ID: 19d49468-182a-11ea-8256-12813bfff9fa
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id 19d49468-182a-11ea-8256-12813bfff9fa;
 Fri, 06 Dec 2019 13:12:49 +0000 (UTC)
IronPort-SDR: klUjRANO3hAHK/Eq4bey9OlmYJp1e3+ruPQ1tYBa9VsstZi+3V5CTY6pC+RoWuuMUKLsMIYC77
 chmWZDnjspZg==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 06 Dec 2019 15:12:45 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id C04191A601EE;
 Fri,  6 Dec 2019 15:12:45 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id bfn4HXTQoKl2; Fri,  6 Dec 2019 15:12:45 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id A63A41A60105;
 Fri,  6 Dec 2019 15:12:45 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id 1_f9h23rYKjR; Fri,  6 Dec 2019 15:12:45 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 8773F1A601A6;
 Fri,  6 Dec 2019 15:12:45 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Fri,  6 Dec 2019 15:12:30 +0200
Message-Id: <20191206131231.22911-3-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191206131231.22911-1-costin.lupu@cs.pub.ro>
References: <20191206131231.22911-1-costin.lupu@cs.pub.ro>
Subject: [Minios-devel] [UNIKRAFT/PTHREAD-EMBEDDED PATCH 2/3] attributes.c:
 Allow GNU definitions regardless of _GNU_SOURCE
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

U2lnbmVkLW9mZi1ieTogQ29zdGluIEx1cHUgPGNvc3Rpbi5sdXB1QGNzLnB1Yi5ybz4KLS0tCiBh
dHRyaWJ1dGVzLmMgfCAzIC0tLQogMSBmaWxlIGNoYW5nZWQsIDMgZGVsZXRpb25zKC0pCgpkaWZm
IC0tZ2l0IGEvYXR0cmlidXRlcy5jIGIvYXR0cmlidXRlcy5jCmluZGV4IDc3MjkwOTYuLmE3YjQ4
NDIgMTAwNjQ0Ci0tLSBhL2F0dHJpYnV0ZXMuYworKysgYi9hdHRyaWJ1dGVzLmMKQEAgLTc5LDcg
Kzc5LDYgQEAgb3V0OgogCXJldHVybiByYzsKIH0KIAotI2lmZGVmIF9HTlVfU09VUkNFCiBpbnQg
cHRocmVhZF9nZXRhdHRyX25wKHB0aHJlYWRfdCB0aHJlYWQsIHB0aHJlYWRfYXR0cl90ICphdHRy
KQogewogCXB0ZV90aHJlYWRfdCAqdHAgPSAocHRlX3RocmVhZF90ICopIHRocmVhZC5wOwpAQCAt
MTUwLDUgKzE0OSwzIEBAIGludCBwdGhyZWFkX2dldG5hbWVfbnAocHRocmVhZF90IHRocmVhZCwg
Y2hhciAqbmFtZSwgc2l6ZV90IGxlbikKIAogCXJldHVybiAwOwogfQotCi0jZW5kaWYgLyogX0dO
VV9TT1VSQ0UgKi8KLS0gCjIuMjAuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxp
c3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9s
aXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Fri Dec 06 13:12:54 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 06 Dec 2019 13:12:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1idDPi-0002sJ-SI; Fri, 06 Dec 2019 13:12:54 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=pm4d=Z4=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1idDPh-0002s6-Qb
 for minios-devel@lists.xen.org; Fri, 06 Dec 2019 13:12:53 +0000
X-Inumbo-ID: 19c0f75a-182a-11ea-a4aa-bc764e2007e4
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id 19c0f75a-182a-11ea-a4aa-bc764e2007e4;
 Fri, 06 Dec 2019 13:12:49 +0000 (UTC)
IronPort-SDR: PwUKSuj1QwUJmrC3fWBQ/B//VxGs2/+kAG46CAP0k0OJBFJvGtbeuBwJEWvoPrUD6OfIpPWRrn
 OvKsp0ydxMzQ==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 06 Dec 2019 15:12:45 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id BEE491A60136;
 Fri,  6 Dec 2019 15:12:45 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id xnCryeLC_lkj; Fri,  6 Dec 2019 15:12:45 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id A29601A60206;
 Fri,  6 Dec 2019 15:12:45 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id QH78ybMPO5su; Fri,  6 Dec 2019 15:12:45 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 842D81A60136;
 Fri,  6 Dec 2019 15:12:45 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Fri,  6 Dec 2019 15:12:29 +0200
Message-Id: <20191206131231.22911-2-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191206131231.22911-1-costin.lupu@cs.pub.ro>
References: <20191206131231.22911-1-costin.lupu@cs.pub.ro>
Subject: [Minios-devel] [UNIKRAFT/PTHREAD-EMBEDDED PATCH 1/3] Remove
 exportsyms.uk
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

U2lnbmVkLW9mZi1ieTogQ29zdGluIEx1cHUgPGNvc3Rpbi5sdXB1QGNzLnB1Yi5ybz4KLS0tCiBl
eHBvcnRzeW1zLnVrIHwgMTA1IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTA1IGRlbGV0aW9ucygtKQogZGVsZXRlIG1v
ZGUgMTAwNjQ0IGV4cG9ydHN5bXMudWsKCmRpZmYgLS1naXQgYS9leHBvcnRzeW1zLnVrIGIvZXhw
b3J0c3ltcy51awpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjNkMWY4NS4uMDAwMDAw
MAotLS0gYS9leHBvcnRzeW1zLnVrCisrKyAvZGV2L251bGwKQEAgLTEsMTA1ICswLDAgQEAKLXB0
ZV9wb3BfY2xlYW51cAotcHRlX3B1c2hfY2xlYW51cAotcHRlX3Rlc3RfbWFpbgotcHRocmVhZF9h
dGZvcmsKLXB0aHJlYWRfYXR0cl9kZXN0cm95Ci1wdGhyZWFkX2F0dHJfZ2V0ZGV0YWNoc3RhdGUK
LXB0aHJlYWRfYXR0cl9nZXRpbmhlcml0c2NoZWQKLXB0aHJlYWRfYXR0cl9nZXRzY2hlZHBhcmFt
Ci1wdGhyZWFkX2F0dHJfZ2V0c2NoZWRwb2xpY3kKLXB0aHJlYWRfYXR0cl9nZXRzY29wZQotcHRo
cmVhZF9hdHRyX2dldHN0YWNrYWRkcgotcHRocmVhZF9hdHRyX2dldHN0YWNrc2l6ZQotcHRocmVh
ZF9hdHRyX2luaXQKLXB0aHJlYWRfYXR0cl9zZXRkZXRhY2hzdGF0ZQotcHRocmVhZF9hdHRyX3Nl
dGluaGVyaXRzY2hlZAotcHRocmVhZF9hdHRyX3NldHNjaGVkcGFyYW0KLXB0aHJlYWRfYXR0cl9z
ZXRzY2hlZHBvbGljeQotcHRocmVhZF9hdHRyX3NldHNjb3BlCi1wdGhyZWFkX2F0dHJfc2V0c3Rh
Y2thZGRyCi1wdGhyZWFkX2F0dHJfc2V0c3RhY2tzaXplCi1wdGhyZWFkX2JhcnJpZXJfZGVzdHJv
eQotcHRocmVhZF9iYXJyaWVyX2luaXQKLXB0aHJlYWRfYmFycmllcl93YWl0Ci1wdGhyZWFkX2Jh
cnJpZXJhdHRyX2Rlc3Ryb3kKLXB0aHJlYWRfYmFycmllcmF0dHJfZ2V0cHNoYXJlZAotcHRocmVh
ZF9iYXJyaWVyYXR0cl9pbml0Ci1wdGhyZWFkX2JhcnJpZXJhdHRyX3NldHBzaGFyZWQKLXB0aHJl
YWRfY2FuY2VsCi1wdGhyZWFkX2NvbmRfYnJvYWRjYXN0Ci1wdGhyZWFkX2NvbmRfZGVzdHJveQot
cHRocmVhZF9jb25kX2luaXQKLXB0aHJlYWRfY29uZF9zaWduYWwKLXB0aHJlYWRfY29uZF90aW1l
ZHdhaXQKLXB0aHJlYWRfY29uZF93YWl0Ci1wdGhyZWFkX2NvbmRhdHRyX2Rlc3Ryb3kKLXB0aHJl
YWRfY29uZGF0dHJfZ2V0cHNoYXJlZAotcHRocmVhZF9jb25kYXR0cl9pbml0Ci1wdGhyZWFkX2Nv
bmRhdHRyX3NldHBzaGFyZWQKLXB0aHJlYWRfY3JlYXRlCi1wdGhyZWFkX2RldGFjaAotcHRocmVh
ZF9lcXVhbAotcHRocmVhZF9leGl0Ci1wdGhyZWFkX2dldGNvbmN1cnJlbmN5Ci1wdGhyZWFkX2dl
dHNjaGVkcGFyYW0KLXB0aHJlYWRfZ2V0c3BlY2lmaWMKLXB0aHJlYWRfaW5pdAotcHRocmVhZF9q
b2luCi1wdGhyZWFkX2tleV9jcmVhdGUKLXB0aHJlYWRfa2V5X2RlbGV0ZQotcHRocmVhZF9raWxs
Ci1wdGhyZWFkX211dGV4X2Rlc3Ryb3kKLXB0aHJlYWRfbXV0ZXhfaW5pdAotcHRocmVhZF9tdXRl
eF9sb2NrCi1wdGhyZWFkX211dGV4X3RpbWVkbG9jawotcHRocmVhZF9tdXRleF90cnlsb2NrCi1w
dGhyZWFkX211dGV4X3VubG9jawotcHRocmVhZF9tdXRleGF0dHJfZGVzdHJveQotcHRocmVhZF9t
dXRleGF0dHJfZ2V0cHNoYXJlZAotcHRocmVhZF9tdXRleGF0dHJfZ2V0dHlwZQotcHRocmVhZF9t
dXRleGF0dHJfaW5pdAotcHRocmVhZF9tdXRleGF0dHJfc2V0cHNoYXJlZAotcHRocmVhZF9tdXRl
eGF0dHJfc2V0dHlwZQotcHRocmVhZF9vbmNlCi1wdGhyZWFkX3J3bG9ja19kZXN0cm95Ci1wdGhy
ZWFkX3J3bG9ja19pbml0Ci1wdGhyZWFkX3J3bG9ja19yZGxvY2sKLXB0aHJlYWRfcndsb2NrX3Rp
bWVkcmRsb2NrCi1wdGhyZWFkX3J3bG9ja190aW1lZHdybG9jawotcHRocmVhZF9yd2xvY2tfdHJ5
cmRsb2NrCi1wdGhyZWFkX3J3bG9ja190cnl3cmxvY2sKLXB0aHJlYWRfcndsb2NrX3VubG9jawot
cHRocmVhZF9yd2xvY2tfd3Jsb2NrCi1wdGhyZWFkX3J3bG9ja2F0dHJfZGVzdHJveQotcHRocmVh
ZF9yd2xvY2thdHRyX2dldHBzaGFyZWQKLXB0aHJlYWRfcndsb2NrYXR0cl9pbml0Ci1wdGhyZWFk
X3J3bG9ja2F0dHJfc2V0cHNoYXJlZAotcHRocmVhZF9zZWxmCi1wdGhyZWFkX3NldGNhbmNlbHN0
YXRlCi1wdGhyZWFkX3NldGNhbmNlbHR5cGUKLXB0aHJlYWRfc2V0Y29uY3VycmVuY3kKLXB0aHJl
YWRfc2V0c2NoZWRwYXJhbQotcHRocmVhZF9zZXRzcGVjaWZpYwotcHRocmVhZF9zaWdtYXNrCi1w
dGhyZWFkX3NwaW5fZGVzdHJveQotcHRocmVhZF9zcGluX2luaXQKLXB0aHJlYWRfc3Bpbl9sb2Nr
Ci1wdGhyZWFkX3NwaW5fdHJ5bG9jawotcHRocmVhZF9zcGluX3VubG9jawotcHRocmVhZF90ZXJt
aW5hdGUKLXB0aHJlYWRfdGVzdGNhbmNlbAotc2NoZWRfZ2V0X3ByaW9yaXR5X21heAotc2NoZWRf
Z2V0X3ByaW9yaXR5X21pbgotc2NoZWRfc2V0c2NoZWR1bGVyCi1zY2hlZF95aWVsZAotc2VtX2Ns
b3NlCi1zZW1fZGVzdHJveQotc2VtX2dldHZhbHVlCi1zZW1faW5pdAotc2VtX29wZW4KLXNlbV9w
b3N0Ci1zZW1fcG9zdF9tdWx0aXBsZQotc2VtX3RpbWVkd2FpdAotc2VtX3RyeXdhaXQKLXNlbV91
bmxpbmsKLXNlbV93YWl0Ci0tIAoyLjIwLjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZl
bEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxt
YW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Fri Dec 06 13:13:00 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 06 Dec 2019 13:13:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1idDPn-0002tE-U9; Fri, 06 Dec 2019 13:12:59 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=pm4d=Z4=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1idDPm-0002t0-Qj
 for minios-devel@lists.xen.org; Fri, 06 Dec 2019 13:12:58 +0000
X-Inumbo-ID: 1a44ce5e-182a-11ea-a4aa-bc764e2007e4
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id 1a44ce5e-182a-11ea-a4aa-bc764e2007e4;
 Fri, 06 Dec 2019 13:12:49 +0000 (UTC)
IronPort-SDR: WuXBOPNEYvy8G/gLL6WLFXukArIgGcwbg4w1SnxeIue8Nr6tUjERy+7/x6EAA2mkblDyrsdyQq
 K8tVFP+1tqEQ==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 06 Dec 2019 15:12:45 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id D18A61A60105;
 Fri,  6 Dec 2019 15:12:45 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id qA20k-bppw2H; Fri,  6 Dec 2019 15:12:45 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id B861A1A601A6;
 Fri,  6 Dec 2019 15:12:45 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id 6GVeqoBvQWri; Fri,  6 Dec 2019 15:12:45 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 945081A601BF;
 Fri,  6 Dec 2019 15:12:45 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Fri,  6 Dec 2019 15:12:31 +0200
Message-Id: <20191206131231.22911-4-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191206131231.22911-1-costin.lupu@cs.pub.ro>
References: <20191206131231.22911-1-costin.lupu@cs.pub.ro>
Subject: [Minios-devel] [UNIKRAFT/PTHREAD-EMBEDDED PATCH 3/3] Add
 pthread_condattr_{get, set}clock() stubs
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

U2lnbmVkLW9mZi1ieTogQ29zdGluIEx1cHUgPGNvc3Rpbi5sdXB1QGNzLnB1Yi5ybz4KLS0tCiBN
YWtlZmlsZS51ayAgICAgICAgfCAgMSArCiBwdGhyZWFkX2NvbmRhdHRyLmMgfCA0MSArKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCA0MiBp
bnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgcHRocmVhZF9jb25kYXR0ci5jCgpkaWZm
IC0tZ2l0IGEvTWFrZWZpbGUudWsgYi9NYWtlZmlsZS51awppbmRleCA5MDYyNmU4Li44OWViMzQ1
IDEwMDY0NAotLS0gYS9NYWtlZmlsZS51aworKysgYi9NYWtlZmlsZS51awpAQCAtNjgsNiArNjgs
NyBAQCBMSUJQVEhSRUFELUVNQkVEREVEX1NSQ1MteSArPSAkKExJQlBUSFJFQUQtRU1CRURERURf
QkFTRSkvcHRlX29zYWwuY3xnbHVlCiBMSUJQVEhSRUFELUVNQkVEREVEX1NSQ1MteSArPSAkKExJ
QlBUSFJFQUQtRU1CRURERURfQkFTRSkvYXR0cmlidXRlcy5jfGdsdWUKIExJQlBUSFJFQUQtRU1C
RURERURfU1JDUy15ICs9ICQoTElCUFRIUkVBRC1FTUJFRERFRF9CQVNFKS9wdGhyZWFkX2F0Zm9y
ay5jfGdsdWUKIExJQlBUSFJFQUQtRU1CRURERURfU1JDUy15ICs9ICQoTElCUFRIUkVBRC1FTUJF
RERFRF9CQVNFKS9wdGhyZWFkX3NpZ21hc2suY3xnbHVlCitMSUJQVEhSRUFELUVNQkVEREVEX1NS
Q1MteSArPSAkKExJQlBUSFJFQUQtRU1CRURERURfQkFTRSkvcHRocmVhZF9jb25kYXR0ci5jfGds
dWUKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICMgcHRocmVhZC1lbWJlZGRlZCBjb2RlCmRp
ZmYgLS1naXQgYS9wdGhyZWFkX2NvbmRhdHRyLmMgYi9wdGhyZWFkX2NvbmRhdHRyLmMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTNkY2M2NAotLS0gL2Rldi9udWxsCisrKyBi
L3B0aHJlYWRfY29uZGF0dHIuYwpAQCAtMCwwICsxLDQxIEBACisvKiBTUERYLUxpY2Vuc2UtSWRl
bnRpZmllcjogTEdQTC0yLjAtb3ItbGF0ZXIgKi8KKy8qCisgKiAgICAgIFVuaWtyYWZ0IHBvcnQg
b2YgUE9TSVggVGhyZWFkcyBMaWJyYXJ5IGZvciBlbWJlZGRlZCBzeXN0ZW1zCisgKiAgICAgIENv
cHlyaWdodChDKSAyMDE5IENvc3RpbiBMdXB1LCBVbml2ZXJzaXR5IFBvbGl0ZWhuaWNhIG9mIEJ1
Y2hhcmVzdAorICoKKyAqICAgICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj
YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogICAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRl
cm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiAgICAgIExpY2Vuc2UgYXMg
cHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogICAg
ICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy
IHZlcnNpb24uCisgKgorICogICAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhl
IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICAgICAgYnV0IFdJVEhPVVQgQU5ZIFdB
UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqICAgICAgTUVS
Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo
ZSBHTlUKKyAqICAgICAgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0
YWlscy4KKyAqCisgKiAgICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl
IEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICAgICAgTGljZW5zZSBhbG9uZyB3aXRoIHRo
aXMgbGlicmFyeSBpbiB0aGUgZmlsZSBDT1BZSU5HLkxJQjsKKyAqICAgICAgaWYgbm90LCB3cml0
ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAorICogICAgICA1OSBUZW1w
bGUgUGxhY2UgLSBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBCisgKi8KKwor
I2luY2x1ZGUgPHVrL3ByaW50Lmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDx0aW1l
Lmg+CisjaW5jbHVkZSA8cHRocmVhZC5oPgorCisKK2ludCBwdGhyZWFkX2NvbmRhdHRyX2dldGNs
b2NrKGNvbnN0IHB0aHJlYWRfY29uZGF0dHJfdCAqX19yZXN0cmljdCBhdHRyLAorCQljbG9ja2lk
X3QgKl9fcmVzdHJpY3QgY2xvY2tfaWQpCit7CisJV0FSTl9TVFVCQkVEKCk7CisJZXJybm8gPSBF
Tk9UU1VQOworCXJldHVybiAtMTsKK30KKworaW50IHB0aHJlYWRfY29uZGF0dHJfc2V0Y2xvY2so
cHRocmVhZF9jb25kYXR0cl90ICphdHRyLCBjbG9ja2lkX3QgY2xvY2tfaWQpCit7CisJV0FSTl9T
VFVCQkVEKCk7CisJZXJybm8gPSBFTk9UU1VQOworCXJldHVybiAtMTsKK30KLS0gCjIuMjAuMQoK
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1k
ZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBz
Oi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Fri Dec 06 13:23:52 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 06 Dec 2019 13:23:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1idDaJ-0003lX-Ol; Fri, 06 Dec 2019 13:23:51 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=pm4d=Z4=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1idDaI-0003lS-PY
 for minios-devel@lists.xen.org; Fri, 06 Dec 2019 13:23:50 +0000
X-Inumbo-ID: a3c2ba64-182b-11ea-8256-12813bfff9fa
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id a3c2ba64-182b-11ea-8256-12813bfff9fa;
 Fri, 06 Dec 2019 13:23:50 +0000 (UTC)
IronPort-SDR: bA8qKVtumENxmKAjbHxTOVVbmiTAeTdnHpgwYQuJZlkjY5uxQZuq+lInBkxkRl9443AVqLVMsj
 y5rbVxT2FTeg==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 06 Dec 2019 15:23:49 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 0BCC61A60231;
 Fri,  6 Dec 2019 15:23:50 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id R86mZzeAf5_5; Fri,  6 Dec 2019 15:23:49 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id E583C1A601BF;
 Fri,  6 Dec 2019 15:23:49 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id HKOEePhIeWsc; Fri,  6 Dec 2019 15:23:49 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id C4D421A60105;
 Fri,  6 Dec 2019 15:23:49 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Fri,  6 Dec 2019 15:23:42 +0200
Message-Id: <20191206132346.23015-1-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
Subject: [Minios-devel] [UNIKRAFT/LWIP PATCH 0/4] Changes for supporting Ruby
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

V2hhdCBzdWJqZWN0IHNheXMuCgpDb3N0aW4gTHVwdSAoNCk6CiAgSW1wb3J0IG5ldHdvcmsgaGVh
ZGVycyBmcm9tIG11c2wgdG8gc3VwcG9ydCBSdWJ5CiAgQWRkIG1pc3NpbmcgZGVmaW5pdGlvbnMg
Zm9yIHN1cHBvcnRpbmcgUnVieQogIHBhdGNoZXM6IEFkZCBpcGlfc3BlY19kc3QgZmllbGQgdG8g
c3RydWN0IGluX3BrdGluZm8KICBwYXRjaGVzOiBBZGQgbW9yZSBmaWVsZHMgdG8gc3RydWN0IGlm
cmVxCgogaW5jbHVkZS9uZXQvaWYuaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDM2
ICsrKysrCiBpbmNsdWRlL25ldGluZXQvaW4uaCAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg
NTEgKysrKysrCiBpbmNsdWRlL3N5cy9zb2NrZXQuaCAgICAgICAgICAgICAgICAgICAgICAgICAg
fCAgMTAgKy0KIG11c2wtaW1wb3J0ZWQvaW5jbHVkZS9pZmFkZHJzLmggICAgICAgICAgICAgICB8
ICAzNSArKysrKwogbXVzbC1pbXBvcnRlZC9pbmNsdWRlL25ldC9ldGhlcm5ldC5oICAgICAgICAg
IHwgIDU1ICsrKysrKysKIG11c2wtaW1wb3J0ZWQvaW5jbHVkZS9uZXQvaWZfYXJwLmggICAgICAg
ICAgICB8IDE0MiArKysrKysrKysrKysrKysrKwogbXVzbC1pbXBvcnRlZC9pbmNsdWRlL25ldGlu
ZXQvaWZfZXRoZXIuaCAgICAgIHwgMTQ1ICsrKysrKysrKysrKysrKysrKwogbXVzbC1pbXBvcnRl
ZC9pbmNsdWRlL25ldGluZXQvaW5fc3lzdG0uaCAgICAgIHwgICA5ICsrCiBtdXNsLWltcG9ydGVk
L2luY2x1ZGUvbmV0aW5ldC91ZHAuaCAgICAgICAgICAgfCAgNDUgKysrKysrCiBtdXNsLWltcG9y
dGVkL2luY2x1ZGUvbmV0cGFja2V0L3BhY2tldC5oICAgICAgfCAgNjIgKysrKysrKysKIC4uLi1z
b2NrZXRzLmgtQWRkLWlwaV9zcGVjX2RzdC1maWVsZC10by5wYXRjaCB8ICAxMCArKwogLi4uY2hl
cy1BZGQtbW9yZS1maWVsZHMtdG8tc3RydWN0LWlmcmVxLnBhdGNoIHwgIDU2ICsrKysrKysKIDEy
IGZpbGVzIGNoYW5nZWQsIDY1NSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiBjcmVhdGUg
bW9kZSAxMDA2NDQgbXVzbC1pbXBvcnRlZC9pbmNsdWRlL2lmYWRkcnMuaAogY3JlYXRlIG1vZGUg
MTAwNjQ0IG11c2wtaW1wb3J0ZWQvaW5jbHVkZS9uZXQvZXRoZXJuZXQuaAogY3JlYXRlIG1vZGUg
MTAwNjQ0IG11c2wtaW1wb3J0ZWQvaW5jbHVkZS9uZXQvaWZfYXJwLmgKIGNyZWF0ZSBtb2RlIDEw
MDY0NCBtdXNsLWltcG9ydGVkL2luY2x1ZGUvbmV0aW5ldC9pZl9ldGhlci5oCiBjcmVhdGUgbW9k
ZSAxMDA2NDQgbXVzbC1pbXBvcnRlZC9pbmNsdWRlL25ldGluZXQvaW5fc3lzdG0uaAogY3JlYXRl
IG1vZGUgMTAwNjQ0IG11c2wtaW1wb3J0ZWQvaW5jbHVkZS9uZXRpbmV0L3VkcC5oCiBjcmVhdGUg
bW9kZSAxMDA2NDQgbXVzbC1pbXBvcnRlZC9pbmNsdWRlL25ldHBhY2tldC9wYWNrZXQuaAogY3Jl
YXRlIG1vZGUgMTAwNjQ0IHBhdGNoZXMvMDAwNC1zcmMtaW5jbHVkZS1sd2lwLXNvY2tldHMuaC1B
ZGQtaXBpX3NwZWNfZHN0LWZpZWxkLXRvLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgcGF0Y2hl
cy8wMDA1LXBhdGNoZXMtQWRkLW1vcmUtZmllbGRzLXRvLXN0cnVjdC1pZnJlcS5wYXRjaAoKLS0g
CjIuMjAuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
Ck1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qu
b3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3Mt
ZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Fri Dec 06 13:23:56 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 06 Dec 2019 13:23:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1idDaO-0003mK-RT; Fri, 06 Dec 2019 13:23:56 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=pm4d=Z4=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1idDaN-0003mC-J9
 for minios-devel@lists.xen.org; Fri, 06 Dec 2019 13:23:55 +0000
X-Inumbo-ID: a3c2ba68-182b-11ea-8256-12813bfff9fa
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id a3c2ba68-182b-11ea-8256-12813bfff9fa;
 Fri, 06 Dec 2019 13:23:50 +0000 (UTC)
IronPort-SDR: RzSM8ZhYXzedqp+bsGSIJb5wZi8GiNdEci860YsdeznMUAHzhxfyvOZjbH9jM8H/IPu/ewWfS8
 ryV/ozNoZ+BQ==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 06 Dec 2019 15:23:49 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 1F4FA1A601A6;
 Fri,  6 Dec 2019 15:23:50 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id pS56SiYbA71U; Fri,  6 Dec 2019 15:23:50 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 048021A60206;
 Fri,  6 Dec 2019 15:23:50 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id gjgWpTXap4XH; Fri,  6 Dec 2019 15:23:49 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id D32E91A60136;
 Fri,  6 Dec 2019 15:23:49 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Fri,  6 Dec 2019 15:23:43 +0200
Message-Id: <20191206132346.23015-2-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191206132346.23015-1-costin.lupu@cs.pub.ro>
References: <20191206132346.23015-1-costin.lupu@cs.pub.ro>
Subject: [Minios-devel] [UNIKRAFT/LWIP PATCH 1/4] Import network headers
 from musl to support Ruby
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

Q29waWVkIGFzIGlzIGZyb20gdGhlIG9mZmljaWFsIG11c2wgZ2l0IG1pcnJvcgpnaXQ6Ly9naXQu
bXVzbC1saWJjLm9yZy9tdXNsLCBjb21taXQgNmZjYjQ0MGQuCgpTaWduZWQtb2ZmLWJ5OiBDb3N0
aW4gTHVwdSA8Y29zdGluLmx1cHVAY3MucHViLnJvPgotLS0KIG11c2wtaW1wb3J0ZWQvaW5jbHVk
ZS9pZmFkZHJzLmggICAgICAgICAgfCAgMzUgKysrKysrCiBtdXNsLWltcG9ydGVkL2luY2x1ZGUv
bmV0L2V0aGVybmV0LmggICAgIHwgIDU1ICsrKysrKysrKwogbXVzbC1pbXBvcnRlZC9pbmNsdWRl
L25ldC9pZl9hcnAuaCAgICAgICB8IDE0MiArKysrKysrKysrKysrKysrKysrKysrCiBtdXNsLWlt
cG9ydGVkL2luY2x1ZGUvbmV0aW5ldC9pZl9ldGhlci5oIHwgMTQ1ICsrKysrKysrKysrKysrKysr
KysrKysrCiBtdXNsLWltcG9ydGVkL2luY2x1ZGUvbmV0aW5ldC9pbl9zeXN0bS5oIHwgICA5ICsr
CiBtdXNsLWltcG9ydGVkL2luY2x1ZGUvbmV0aW5ldC91ZHAuaCAgICAgIHwgIDQ1ICsrKysrKysK
IG11c2wtaW1wb3J0ZWQvaW5jbHVkZS9uZXRwYWNrZXQvcGFja2V0LmggfCAgNjIgKysrKysrKysr
KwogNyBmaWxlcyBjaGFuZ2VkLCA0OTMgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0
IG11c2wtaW1wb3J0ZWQvaW5jbHVkZS9pZmFkZHJzLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtdXNs
LWltcG9ydGVkL2luY2x1ZGUvbmV0L2V0aGVybmV0LmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtdXNs
LWltcG9ydGVkL2luY2x1ZGUvbmV0L2lmX2FycC5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgbXVzbC1p
bXBvcnRlZC9pbmNsdWRlL25ldGluZXQvaWZfZXRoZXIuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IG11
c2wtaW1wb3J0ZWQvaW5jbHVkZS9uZXRpbmV0L2luX3N5c3RtLmgKIGNyZWF0ZSBtb2RlIDEwMDY0
NCBtdXNsLWltcG9ydGVkL2luY2x1ZGUvbmV0aW5ldC91ZHAuaAogY3JlYXRlIG1vZGUgMTAwNjQ0
IG11c2wtaW1wb3J0ZWQvaW5jbHVkZS9uZXRwYWNrZXQvcGFja2V0LmgKCmRpZmYgLS1naXQgYS9t
dXNsLWltcG9ydGVkL2luY2x1ZGUvaWZhZGRycy5oIGIvbXVzbC1pbXBvcnRlZC9pbmNsdWRlL2lm
YWRkcnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMDMyOGE4Ci0tLSAv
ZGV2L251bGwKKysrIGIvbXVzbC1pbXBvcnRlZC9pbmNsdWRlL2lmYWRkcnMuaApAQCAtMCwwICsx
LDM1IEBACisjaWZuZGVmIF9JRkFERFJTX0gKKyNkZWZpbmUgX0lGQUREUlNfSAorCisjaWZkZWYg
X19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKyNpbmNsdWRlIDxmZWF0dXJlcy5o
PgorI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4KKyNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CisKK3N0
cnVjdCBpZmFkZHJzIHsKKwlzdHJ1Y3QgaWZhZGRycyAqaWZhX25leHQ7CisJY2hhciAqaWZhX25h
bWU7CisJdW5zaWduZWQgaWZhX2ZsYWdzOworCXN0cnVjdCBzb2NrYWRkciAqaWZhX2FkZHI7CisJ
c3RydWN0IHNvY2thZGRyICppZmFfbmV0bWFzazsKKwl1bmlvbiB7CisJCXN0cnVjdCBzb2NrYWRk
ciAqaWZ1X2Jyb2FkYWRkcjsKKwkJc3RydWN0IHNvY2thZGRyICppZnVfZHN0YWRkcjsKKwl9IGlm
YV9pZnU7CisJdm9pZCAqaWZhX2RhdGE7Cit9OworI2RlZmluZSBpZmFfYnJvYWRhZGRyIGlmYV9p
ZnUuaWZ1X2Jyb2FkYWRkcgorI2RlZmluZSBpZmFfZHN0YWRkciBpZmFfaWZ1LmlmdV9kc3RhZGRy
CisKK3ZvaWQgZnJlZWlmYWRkcnMoc3RydWN0IGlmYWRkcnMgKik7CitpbnQgZ2V0aWZhZGRycyhz
dHJ1Y3QgaWZhZGRycyAqKik7CisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisKKyNl
bmRpZgorCmRpZmYgLS1naXQgYS9tdXNsLWltcG9ydGVkL2luY2x1ZGUvbmV0L2V0aGVybmV0Lmgg
Yi9tdXNsLWltcG9ydGVkL2luY2x1ZGUvbmV0L2V0aGVybmV0LmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMC4uYzhkNDE3NwotLS0gL2Rldi9udWxsCisrKyBiL211c2wtaW1wb3J0
ZWQvaW5jbHVkZS9uZXQvZXRoZXJuZXQuaApAQCAtMCwwICsxLDU1IEBACisjaWZuZGVmIF9ORVRf
RVRIRVJORVRfSAorI2RlZmluZSBfTkVUX0VUSEVSTkVUX0gKKworI2lmZGVmIF9fY3BsdXNwbHVz
CitleHRlcm4gIkMiIHsKKyNlbmRpZgorCisjaW5jbHVkZSA8c3RkaW50Lmg+CisjaW5jbHVkZSA8
c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8bmV0aW5ldC9pZl9ldGhlci5oPgorCitzdHJ1Y3QgZXRo
ZXJfYWRkciB7CisJdWludDhfdCBldGhlcl9hZGRyX29jdGV0W0VUSF9BTEVOXTsKK307CisKK3N0
cnVjdCBldGhlcl9oZWFkZXIgeworCXVpbnQ4X3QgIGV0aGVyX2Rob3N0W0VUSF9BTEVOXTsKKwl1
aW50OF90ICBldGhlcl9zaG9zdFtFVEhfQUxFTl07CisJdWludDE2X3QgZXRoZXJfdHlwZTsKK307
CisKKyNkZWZpbmUJRVRIRVJUWVBFX1BVUAkJMHgwMjAwCisjZGVmaW5lIEVUSEVSVFlQRV9TUFJJ
VEUJMHgwNTAwCisjZGVmaW5lCUVUSEVSVFlQRV9JUAkJMHgwODAwCisjZGVmaW5lCUVUSEVSVFlQ
RV9BUlAJCTB4MDgwNgorI2RlZmluZQlFVEhFUlRZUEVfUkVWQVJQCTB4ODAzNQorI2RlZmluZSBF
VEhFUlRZUEVfQVQJCTB4ODA5QgorI2RlZmluZSBFVEhFUlRZUEVfQUFSUAkJMHg4MEYzCisjZGVm
aW5lCUVUSEVSVFlQRV9WTEFOCQkweDgxMDAKKyNkZWZpbmUgRVRIRVJUWVBFX0lQWAkJMHg4MTM3
CisjZGVmaW5lCUVUSEVSVFlQRV9JUFY2CQkweDg2ZGQKKyNkZWZpbmUgRVRIRVJUWVBFX0xPT1BC
QUNLCTB4OTAwMAorCisKKyNkZWZpbmUJRVRIRVJfQUREUl9MRU4JRVRIX0FMRU4KKyNkZWZpbmUJ
RVRIRVJfVFlQRV9MRU4JMgorI2RlZmluZQlFVEhFUl9DUkNfTEVOCTQKKyNkZWZpbmUJRVRIRVJf
SERSX0xFTglFVEhfSExFTgorI2RlZmluZQlFVEhFUl9NSU5fTEVOCShFVEhfWkxFTiArIEVUSEVS
X0NSQ19MRU4pCisjZGVmaW5lCUVUSEVSX01BWF9MRU4JKEVUSF9GUkFNRV9MRU4gKyBFVEhFUl9D
UkNfTEVOKQorCisjZGVmaW5lCUVUSEVSX0lTX1ZBTElEX0xFTihmb28pCVwKKwkoKGZvbykgPj0g
RVRIRVJfTUlOX0xFTiAmJiAoZm9vKSA8PSBFVEhFUl9NQVhfTEVOKQorCisjZGVmaW5lCUVUSEVS
VFlQRV9UUkFJTAkJMHgxMDAwCisjZGVmaW5lCUVUSEVSVFlQRV9OVFJBSUxFUgkxNgorCisjZGVm
aW5lCUVUSEVSTVRVCUVUSF9EQVRBX0xFTgorI2RlZmluZQlFVEhFUk1JTgkoRVRIRVJfTUlOX0xF
TiAtIEVUSEVSX0hEUl9MRU4gLSBFVEhFUl9DUkNfTEVOKQorCisjaWZkZWYgX19jcGx1c3BsdXMK
K30KKyNlbmRpZgorCisjZW5kaWYKZGlmZiAtLWdpdCBhL211c2wtaW1wb3J0ZWQvaW5jbHVkZS9u
ZXQvaWZfYXJwLmggYi9tdXNsLWltcG9ydGVkL2luY2x1ZGUvbmV0L2lmX2FycC5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI3YmVjYzgKLS0tIC9kZXYvbnVsbAorKysgYi9t
dXNsLWltcG9ydGVkL2luY2x1ZGUvbmV0L2lmX2FycC5oCkBAIC0wLDAgKzEsMTQyIEBACisvKiBO
b25zdGFuZGFyZCBoZWFkZXIgKi8KKyNpZm5kZWYgX05FVF9JRl9BUlBfSAorI2RlZmluZSBfTkVU
X0lGX0FSUF9ICisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKyNp
bmNsdWRlIDxpbnR0eXBlcy5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5
cy9zb2NrZXQuaD4KKworI2RlZmluZSBNQVhfQUREUl9MRU4JNworCisjZGVmaW5lCUFSUE9QX1JF
UVVFU1QJMQorI2RlZmluZQlBUlBPUF9SRVBMWQkyCisjZGVmaW5lCUFSUE9QX1JSRVFVRVNUCTMK
KyNkZWZpbmUJQVJQT1BfUlJFUExZCTQKKyNkZWZpbmUJQVJQT1BfSW5SRVFVRVNUCTgKKyNkZWZp
bmUJQVJQT1BfSW5SRVBMWQk5CisjZGVmaW5lCUFSUE9QX05BSwkxMAorCitzdHJ1Y3QgYXJwaGRy
IHsKKwl1aW50MTZfdCBhcl9ocmQ7CisJdWludDE2X3QgYXJfcHJvOworCXVpbnQ4X3QgYXJfaGxu
OworCXVpbnQ4X3QgYXJfcGxuOworCXVpbnQxNl90IGFyX29wOworfTsKKworCisjZGVmaW5lIEFS
UEhSRF9ORVRST00JMAorI2RlZmluZSBBUlBIUkRfRVRIRVIgCTEKKyNkZWZpbmUJQVJQSFJEX0VF
VEhFUgkyCisjZGVmaW5lCUFSUEhSRF9BWDI1CTMKKyNkZWZpbmUJQVJQSFJEX1BST05FVAk0Cisj
ZGVmaW5lCUFSUEhSRF9DSEFPUwk1CisjZGVmaW5lCUFSUEhSRF9JRUVFODAyCTYKKyNkZWZpbmUJ
QVJQSFJEX0FSQ05FVAk3CisjZGVmaW5lCUFSUEhSRF9BUFBMRVRMSwk4CisjZGVmaW5lCUFSUEhS
RF9ETENJCTE1CisjZGVmaW5lCUFSUEhSRF9BVE0JMTkKKyNkZWZpbmUJQVJQSFJEX01FVFJJQ09N
CTIzCisjZGVmaW5lIEFSUEhSRF9JRUVFMTM5NAkyNAorI2RlZmluZSBBUlBIUkRfRVVJNjQJCTI3
CisjZGVmaW5lIEFSUEhSRF9JTkZJTklCQU5ECTMyCisjZGVmaW5lIEFSUEhSRF9TTElQCTI1Ngor
I2RlZmluZSBBUlBIUkRfQ1NMSVAJMjU3CisjZGVmaW5lIEFSUEhSRF9TTElQNgkyNTgKKyNkZWZp
bmUgQVJQSFJEX0NTTElQNgkyNTkKKyNkZWZpbmUgQVJQSFJEX1JTUlZECTI2MAorI2RlZmluZSBB
UlBIUkRfQURBUFQJMjY0CisjZGVmaW5lIEFSUEhSRF9ST1NFCTI3MAorI2RlZmluZSBBUlBIUkRf
WDI1CTI3MQorI2RlZmluZSBBUlBIUkRfSFdYMjUJMjcyCisjZGVmaW5lIEFSUEhSRF9DQU4JMjgw
CisjZGVmaW5lIEFSUEhSRF9QUFAJNTEyCisjZGVmaW5lIEFSUEhSRF9DSVNDTwk1MTMKKyNkZWZp
bmUgQVJQSFJEX0hETEMJQVJQSFJEX0NJU0NPCisjZGVmaW5lIEFSUEhSRF9MQVBCCTUxNgorI2Rl
ZmluZSBBUlBIUkRfRERDTVAJNTE3CisjZGVmaW5lCUFSUEhSRF9SQVdIRExDCTUxOAorI2RlZmlu
ZSBBUlBIUkRfUkFXSVAJNTE5CisKKyNkZWZpbmUgQVJQSFJEX1RVTk5FTAk3NjgKKyNkZWZpbmUg
QVJQSFJEX1RVTk5FTDYJNzY5CisjZGVmaW5lIEFSUEhSRF9GUkFECTc3MAorI2RlZmluZSBBUlBI
UkRfU0tJUAk3NzEKKyNkZWZpbmUgQVJQSFJEX0xPT1BCQUNLCTc3MgorI2RlZmluZSBBUlBIUkRf
TE9DQUxUTEsgNzczCisjZGVmaW5lIEFSUEhSRF9GRERJCTc3NAorI2RlZmluZSBBUlBIUkRfQklG
CTc3NQorI2RlZmluZSBBUlBIUkRfU0lUCTc3NgorI2RlZmluZSBBUlBIUkRfSVBERFAJNzc3Cisj
ZGVmaW5lIEFSUEhSRF9JUEdSRQk3NzgKKyNkZWZpbmUgQVJQSFJEX1BJTVJFRwk3NzkKKyNkZWZp
bmUgQVJQSFJEX0hJUFBJCTc4MAorI2RlZmluZSBBUlBIUkRfQVNICTc4MQorI2RlZmluZSBBUlBI
UkRfRUNPTkVUCTc4MgorI2RlZmluZSBBUlBIUkRfSVJEQQk3ODMKKyNkZWZpbmUgQVJQSFJEX0ZD
UFAJNzg0CisjZGVmaW5lIEFSUEhSRF9GQ0FMCTc4NQorI2RlZmluZSBBUlBIUkRfRkNQTAk3ODYK
KyNkZWZpbmUgQVJQSFJEX0ZDRkFCUklDIDc4NworI2RlZmluZSBBUlBIUkRfSUVFRTgwMl9UUiA4
MDAKKyNkZWZpbmUgQVJQSFJEX0lFRUU4MDIxMSA4MDEKKyNkZWZpbmUgQVJQSFJEX0lFRUU4MDIx
MV9QUklTTSA4MDIKKyNkZWZpbmUgQVJQSFJEX0lFRUU4MDIxMV9SQURJT1RBUCA4MDMKKyNkZWZp
bmUgQVJQSFJEX0lFRUU4MDIxNTQgODA0CisjZGVmaW5lIEFSUEhSRF9JRUVFODAyMTU0X01PTklU
T1IgODA1CisjZGVmaW5lIEFSUEhSRF9QSE9ORVQgODIwCisjZGVmaW5lIEFSUEhSRF9QSE9ORVRf
UElQRSA4MjEKKyNkZWZpbmUgQVJQSFJEX0NBSUYgODIyCisjZGVmaW5lIEFSUEhSRF9JUDZHUkUg
ODIzCisjZGVmaW5lIEFSUEhSRF9ORVRMSU5LIDgyNAorI2RlZmluZSBBUlBIUkRfNkxPV1BBTiA4
MjUKKyNkZWZpbmUgQVJQSFJEX1ZTT0NLTU9OIDgyNgorCisjZGVmaW5lIEFSUEhSRF9WT0lECSAg
MHhGRkZGCisjZGVmaW5lIEFSUEhSRF9OT05FCSAgMHhGRkZFCisKK3N0cnVjdCBhcnByZXEgewor
CXN0cnVjdCBzb2NrYWRkciBhcnBfcGE7CisJc3RydWN0IHNvY2thZGRyIGFycF9oYTsKKwlpbnQg
YXJwX2ZsYWdzOworCXN0cnVjdCBzb2NrYWRkciBhcnBfbmV0bWFzazsKKwljaGFyIGFycF9kZXZb
MTZdOworfTsKKworc3RydWN0IGFycHJlcV9vbGQgeworCXN0cnVjdCBzb2NrYWRkciBhcnBfcGE7
CisJc3RydWN0IHNvY2thZGRyIGFycF9oYTsKKwlpbnQgYXJwX2ZsYWdzOworCXN0cnVjdCBzb2Nr
YWRkciBhcnBfbmV0bWFzazsKK307CisKKyNkZWZpbmUgQVRGX0NPTQkJMHgwMgorI2RlZmluZQlB
VEZfUEVSTQkweDA0CisjZGVmaW5lCUFURl9QVUJMCTB4MDgKKyNkZWZpbmUJQVRGX1VTRVRSQUlM
RVJTCTB4MTAKKyNkZWZpbmUgQVRGX05FVE1BU0sgICAgIDB4MjAKKyNkZWZpbmUgQVRGX0RPTlRQ
VUIJMHg0MAorI2RlZmluZSBBVEZfTUFHSUMJMHg4MAorCisjZGVmaW5lIEFSUERfVVBEQVRFCTB4
MDEKKyNkZWZpbmUgQVJQRF9MT09LVVAJMHgwMgorI2RlZmluZSBBUlBEX0ZMVVNICTB4MDMKKwor
c3RydWN0IGFycGRfcmVxdWVzdCB7CisJdW5zaWduZWQgc2hvcnQgcmVxOworCXVpbnQzMl90IGlw
OworCXVuc2lnbmVkIGxvbmcgZGV2OworCXVuc2lnbmVkIGxvbmcgc3RhbXA7CisJdW5zaWduZWQg
bG9uZyB1cGRhdGVkOworCXVuc2lnbmVkIGNoYXIgaGFbTUFYX0FERFJfTEVOXTsKK307CisKKwor
CisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorI2VuZGlmCmRpZmYgLS1naXQgYS9tdXNs
LWltcG9ydGVkL2luY2x1ZGUvbmV0aW5ldC9pZl9ldGhlci5oIGIvbXVzbC1pbXBvcnRlZC9pbmNs
dWRlL25ldGluZXQvaWZfZXRoZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li5lY2Q2YzczCi0tLSAvZGV2L251bGwKKysrIGIvbXVzbC1pbXBvcnRlZC9pbmNsdWRlL25ldGlu
ZXQvaWZfZXRoZXIuaApAQCAtMCwwICsxLDE0NSBAQAorI2lmbmRlZiBfTkVUSU5FVF9JRl9FVEhF
Ul9ICisjZGVmaW5lIF9ORVRJTkVUX0lGX0VUSEVSX0gKKworI2luY2x1ZGUgPHN0ZGludC5oPgor
I2luY2x1ZGUgPHN5cy90eXBlcy5oPgorCisjZGVmaW5lIEVUSF9BTEVOCTYKKyNkZWZpbmUgRVRI
X1RMRU4JMgorI2RlZmluZSBFVEhfSExFTgkxNAorI2RlZmluZSBFVEhfWkxFTgk2MAorI2RlZmlu
ZSBFVEhfREFUQV9MRU4JMTUwMAorI2RlZmluZSBFVEhfRlJBTUVfTEVOCTE1MTQKKyNkZWZpbmUg
RVRIX0ZDU19MRU4JNAorI2RlZmluZSBFVEhfTUlOX01UVQk2OAorI2RlZmluZSBFVEhfTUFYX01U
VQkweEZGRkZVCisKKyNkZWZpbmUgRVRIX1BfTE9PUAkweDAwNjAKKyNkZWZpbmUgRVRIX1BfUFVQ
CTB4MDIwMAorI2RlZmluZSBFVEhfUF9QVVBBVAkweDAyMDEKKyNkZWZpbmUgRVRIX1BfVFNOCTB4
MjJGMAorI2RlZmluZSBFVEhfUF9FUlNQQU4yCTB4MjJFQgorI2RlZmluZSBFVEhfUF9JUAkweDA4
MDAKKyNkZWZpbmUgRVRIX1BfWDI1CTB4MDgwNQorI2RlZmluZSBFVEhfUF9BUlAJMHgwODA2Cisj
ZGVmaW5lCUVUSF9QX0JQUQkweDA4RkYKKyNkZWZpbmUgRVRIX1BfSUVFRVBVUAkweDBhMDAKKyNk
ZWZpbmUgRVRIX1BfSUVFRVBVUEFUCTB4MGEwMQorI2RlZmluZSBFVEhfUF9CQVRNQU4JMHg0MzA1
CisjZGVmaW5lIEVUSF9QX0RFQyAgICAgICAweDYwMDAKKyNkZWZpbmUgRVRIX1BfRE5BX0RMICAg
IDB4NjAwMQorI2RlZmluZSBFVEhfUF9ETkFfUkMgICAgMHg2MDAyCisjZGVmaW5lIEVUSF9QX0RO
QV9SVCAgICAweDYwMDMKKyNkZWZpbmUgRVRIX1BfTEFUICAgICAgIDB4NjAwNAorI2RlZmluZSBF
VEhfUF9ESUFHICAgICAgMHg2MDA1CisjZGVmaW5lIEVUSF9QX0NVU1QgICAgICAweDYwMDYKKyNk
ZWZpbmUgRVRIX1BfU0NBICAgICAgIDB4NjAwNworI2RlZmluZSBFVEhfUF9URUIJMHg2NTU4Cisj
ZGVmaW5lIEVUSF9QX1JBUlAgICAgICAweDgwMzUKKyNkZWZpbmUgRVRIX1BfQVRBTEsJMHg4MDlC
CisjZGVmaW5lIEVUSF9QX0FBUlAJMHg4MEYzCisjZGVmaW5lIEVUSF9QXzgwMjFRCTB4ODEwMAor
I2RlZmluZSBFVEhfUF9JUFgJMHg4MTM3CisjZGVmaW5lIEVUSF9QX0lQVjYJMHg4NkRECisjZGVm
aW5lIEVUSF9QX1BBVVNFCTB4ODgwOAorI2RlZmluZSBFVEhfUF9TTE9XCTB4ODgwOQorI2RlZmlu
ZSBFVEhfUF9XQ0NQCTB4ODgzRQorI2RlZmluZSBFVEhfUF9NUExTX1VDCTB4ODg0NworI2RlZmlu
ZSBFVEhfUF9NUExTX01DCTB4ODg0OAorI2RlZmluZSBFVEhfUF9BVE1NUE9BCTB4ODg0YworI2Rl
ZmluZSBFVEhfUF9QUFBfRElTQwkweDg4NjMKKyNkZWZpbmUgRVRIX1BfUFBQX1NFUwkweDg4NjQK
KyNkZWZpbmUgRVRIX1BfTElOS19DVEwJMHg4ODZjCisjZGVmaW5lIEVUSF9QX0FUTUZBVEUJMHg4
ODg0CisjZGVmaW5lIEVUSF9QX1BBRQkweDg4OEUKKyNkZWZpbmUgRVRIX1BfQU9FCTB4ODhBMgor
I2RlZmluZSBFVEhfUF84MDIxQUQJMHg4OEE4CisjZGVmaW5lIEVUSF9QXzgwMl9FWDEJMHg4OEI1
CisjZGVmaW5lIEVUSF9QX0VSU1BBTgkweDg4QkUKKyNkZWZpbmUgRVRIX1BfUFJFQVVUSAkweDg4
QzcKKyNkZWZpbmUgRVRIX1BfVElQQwkweDg4Q0EKKyNkZWZpbmUgRVRIX1BfTUFDU0VDCTB4ODhF
NQorI2RlZmluZSBFVEhfUF84MDIxQUgJMHg4OEU3CisjZGVmaW5lIEVUSF9QX01WUlAJMHg4OEY1
CisjZGVmaW5lIEVUSF9QXzE1ODgJMHg4OEY3CisjZGVmaW5lIEVUSF9QX05DU0kJMHg4OEY4Cisj
ZGVmaW5lIEVUSF9QX1BSUAkweDg4RkIKKyNkZWZpbmUgRVRIX1BfRkNPRQkweDg5MDYKKyNkZWZp
bmUgRVRIX1BfVERMUwkweDg5MEQKKyNkZWZpbmUgRVRIX1BfRklQCTB4ODkxNAorI2RlZmluZSBF
VEhfUF9JQk9FCTB4ODkxNQorI2RlZmluZSBFVEhfUF84MDIyMQkweDg5MTcKKyNkZWZpbmUgRVRI
X1BfSFNSCTB4ODkyRgorI2RlZmluZSBFVEhfUF9OU0gJMHg4OTRGCisjZGVmaW5lIEVUSF9QX0xP
T1BCQUNLCTB4OTAwMAorI2RlZmluZSBFVEhfUF9RSU5RMQkweDkxMDAKKyNkZWZpbmUgRVRIX1Bf
UUlOUTIJMHg5MjAwCisjZGVmaW5lIEVUSF9QX1FJTlEzCTB4OTMwMAorI2RlZmluZSBFVEhfUF9F
RFNBCTB4REFEQQorI2RlZmluZSBFVEhfUF9JRkUJMHhFRDNFCisjZGVmaW5lIEVUSF9QX0FGX0lV
Q1YJMHhGQkZCCisKKyNkZWZpbmUgRVRIX1BfODAyXzNfTUlOCTB4MDYwMAorCisjZGVmaW5lIEVU
SF9QXzgwMl8zCTB4MDAwMQorI2RlZmluZSBFVEhfUF9BWDI1CTB4MDAwMgorI2RlZmluZSBFVEhf
UF9BTEwJMHgwMDAzCisjZGVmaW5lIEVUSF9QXzgwMl8yCTB4MDAwNAorI2RlZmluZSBFVEhfUF9T
TkFQCTB4MDAwNQorI2RlZmluZSBFVEhfUF9ERENNUCAgICAgMHgwMDA2CisjZGVmaW5lIEVUSF9Q
X1dBTl9QUFAgICAweDAwMDcKKyNkZWZpbmUgRVRIX1BfUFBQX01QICAgIDB4MDAwOAorI2RlZmlu
ZSBFVEhfUF9MT0NBTFRBTEsgMHgwMDA5CisjZGVmaW5lIEVUSF9QX0NBTgkweDAwMEMKKyNkZWZp
bmUgRVRIX1BfQ0FORkQJMHgwMDBECisjZGVmaW5lIEVUSF9QX1BQUFRBTEsJMHgwMDEwCisjZGVm
aW5lIEVUSF9QX1RSXzgwMl8yCTB4MDAxMQorI2RlZmluZSBFVEhfUF9NT0JJVEVYCTB4MDAxNQor
I2RlZmluZSBFVEhfUF9DT05UUk9MCTB4MDAxNgorI2RlZmluZSBFVEhfUF9JUkRBCTB4MDAxNwor
I2RlZmluZSBFVEhfUF9FQ09ORVQJMHgwMDE4CisjZGVmaW5lIEVUSF9QX0hETEMJMHgwMDE5Cisj
ZGVmaW5lIEVUSF9QX0FSQ05FVAkweDAwMUEKKyNkZWZpbmUgRVRIX1BfRFNBCTB4MDAxQgorI2Rl
ZmluZSBFVEhfUF9UUkFJTEVSCTB4MDAxQworI2RlZmluZSBFVEhfUF9QSE9ORVQJMHgwMEY1Cisj
ZGVmaW5lIEVUSF9QX0lFRUU4MDIxNTQgMHgwMEY2CisjZGVmaW5lIEVUSF9QX0NBSUYJMHgwMEY3
CisjZGVmaW5lIEVUSF9QX1hEU0EJMHgwMEY4CisjZGVmaW5lIEVUSF9QX01BUAkweDAwRjkKKwor
c3RydWN0IGV0aGhkciB7CisJdWludDhfdCBoX2Rlc3RbRVRIX0FMRU5dOworCXVpbnQ4X3QgaF9z
b3VyY2VbRVRIX0FMRU5dOworCXVpbnQxNl90IGhfcHJvdG87Cit9OworCisjaW5jbHVkZSA8bmV0
L2V0aGVybmV0Lmg+CisjaW5jbHVkZSA8bmV0L2lmX2FycC5oPgorCitzdHJ1Y3QJZXRoZXJfYXJw
IHsKKwlzdHJ1Y3QJYXJwaGRyIGVhX2hkcjsKKwl1aW50OF90IGFycF9zaGFbRVRIX0FMRU5dOwor
CXVpbnQ4X3QgYXJwX3NwYVs0XTsKKwl1aW50OF90IGFycF90aGFbRVRIX0FMRU5dOworCXVpbnQ4
X3QgYXJwX3RwYVs0XTsKK307CisjZGVmaW5lCWFycF9ocmQJZWFfaGRyLmFyX2hyZAorI2RlZmlu
ZQlhcnBfcHJvCWVhX2hkci5hcl9wcm8KKyNkZWZpbmUJYXJwX2hsbgllYV9oZHIuYXJfaGxuCisj
ZGVmaW5lCWFycF9wbG4JZWFfaGRyLmFyX3BsbgorI2RlZmluZQlhcnBfb3AJZWFfaGRyLmFyX29w
CisKKyNkZWZpbmUgRVRIRVJfTUFQX0lQX01VTFRJQ0FTVChpcGFkZHIsIGVuYWRkcikgXAorZG8g
eyBcCisJKGVuYWRkcilbMF0gPSAweDAxOyBcCisJKGVuYWRkcilbMV0gPSAweDAwOyBcCisJKGVu
YWRkcilbMl0gPSAweDVlOyBcCisJKGVuYWRkcilbM10gPSAoKHVpbnQ4X3QgKilpcGFkZHIpWzFd
ICYgMHg3ZjsgXAorCShlbmFkZHIpWzRdID0gKCh1aW50OF90ICopaXBhZGRyKVsyXTsgXAorCShl
bmFkZHIpWzVdID0gKCh1aW50OF90ICopaXBhZGRyKVszXTsgXAorfSB3aGlsZSgwKQorCisjZGVm
aW5lIF9fVUFQSV9ERUZfRVRISERSICAgICAgIDAKKworI2VuZGlmCmRpZmYgLS1naXQgYS9tdXNs
LWltcG9ydGVkL2luY2x1ZGUvbmV0aW5ldC9pbl9zeXN0bS5oIGIvbXVzbC1pbXBvcnRlZC9pbmNs
dWRlL25ldGluZXQvaW5fc3lzdG0uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li5hN2I0MTc3Ci0tLSAvZGV2L251bGwKKysrIGIvbXVzbC1pbXBvcnRlZC9pbmNsdWRlL25ldGlu
ZXQvaW5fc3lzdG0uaApAQCAtMCwwICsxLDkgQEAKKyNpZm5kZWYgX05FVElORVRfSU5fU1lTVE1f
SAorI2RlZmluZSBfTkVUSU5FVF9JTl9TWVNUTV9ICisKKyNpbmNsdWRlIDxzdGRpbnQuaD4KKwor
dHlwZWRlZiB1aW50MTZfdCBuX3Nob3J0OwordHlwZWRlZiB1aW50MzJfdCBuX2xvbmcsIG5fdGlt
ZTsKKworI2VuZGlmCmRpZmYgLS1naXQgYS9tdXNsLWltcG9ydGVkL2luY2x1ZGUvbmV0aW5ldC91
ZHAuaCBiL211c2wtaW1wb3J0ZWQvaW5jbHVkZS9uZXRpbmV0L3VkcC5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZmZDg5MDcKLS0tIC9kZXYvbnVsbAorKysgYi9tdXNsLWlt
cG9ydGVkL2luY2x1ZGUvbmV0aW5ldC91ZHAuaApAQCAtMCwwICsxLDQ1IEBACisjaWZuZGVmIF9O
RVRJTkVUX1VEUF9ICisjZGVmaW5lIF9ORVRJTkVUX1VEUF9ICisKKyNpZmRlZiBfX2NwbHVzcGx1
cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKworI2luY2x1ZGUgPGZlYXR1cmVzLmg+CisjaW5jbHVk
ZSA8c3RkaW50Lmg+CisKKyNpZmRlZiBfR05VX1NPVVJDRQorI2RlZmluZSB1aF9zcG9ydCBzb3Vy
Y2UKKyNkZWZpbmUgdWhfZHBvcnQgZGVzdAorI2RlZmluZSB1aF91bGVuIGxlbgorI2RlZmluZSB1
aF9zdW0gY2hlY2sKKyNlbmRpZgorCitzdHJ1Y3QgdWRwaGRyIHsKKwl1aW50MTZfdCB1aF9zcG9y
dDsKKwl1aW50MTZfdCB1aF9kcG9ydDsKKwl1aW50MTZfdCB1aF91bGVuOworCXVpbnQxNl90IHVo
X3N1bTsKK307CisKKyNkZWZpbmUgVURQX0NPUksJMQorI2RlZmluZSBVRFBfRU5DQVAJMTAwCisj
ZGVmaW5lIFVEUF9OT19DSEVDSzZfVFggMTAxCisjZGVmaW5lIFVEUF9OT19DSEVDSzZfUlggMTAy
CisjZGVmaW5lIFVEUF9TRUdNRU5UCTEwMworI2RlZmluZSBVRFBfR1JPCQkxMDQKKworI2RlZmlu
ZSBVRFBfRU5DQVBfRVNQSU5VRFBfTk9OX0lLRSAxCisjZGVmaW5lIFVEUF9FTkNBUF9FU1BJTlVE
UAkyCisjZGVmaW5lIFVEUF9FTkNBUF9MMlRQSU5VRFAJMworI2RlZmluZSBVRFBfRU5DQVBfR1RQ
MAkJNAorI2RlZmluZSBVRFBfRU5DQVBfR1RQMVUJCTUKKyNkZWZpbmUgVURQX0VOQ0FQX1JYUlBD
CQk2CisKKyNkZWZpbmUgU09MX1VEUCAgICAgICAgICAgIDE3CisKKyNpZmRlZiBfX2NwbHVzcGx1
cworfQorI2VuZGlmCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbXVzbC1pbXBvcnRlZC9pbmNsdWRl
L25ldHBhY2tldC9wYWNrZXQuaCBiL211c2wtaW1wb3J0ZWQvaW5jbHVkZS9uZXRwYWNrZXQvcGFj
a2V0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjM2ZTA5MgotLS0gL2Rl
di9udWxsCisrKyBiL211c2wtaW1wb3J0ZWQvaW5jbHVkZS9uZXRwYWNrZXQvcGFja2V0LmgKQEAg
LTAsMCArMSw2MiBAQAorI2lmbmRlZiBfTkVUUEFDS0VUX1BBQ0tFVF9ICisjZGVmaW5lIF9ORVRQ
QUNLRVRfUEFDS0VUX0gKKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRp
ZgorCitzdHJ1Y3Qgc29ja2FkZHJfbGwgeworCXVuc2lnbmVkIHNob3J0IHNsbF9mYW1pbHksIHNs
bF9wcm90b2NvbDsKKwlpbnQgc2xsX2lmaW5kZXg7CisJdW5zaWduZWQgc2hvcnQgc2xsX2hhdHlw
ZTsKKwl1bnNpZ25lZCBjaGFyIHNsbF9wa3R0eXBlLCBzbGxfaGFsZW47CisJdW5zaWduZWQgY2hh
ciBzbGxfYWRkcls4XTsKK307CisKK3N0cnVjdCBwYWNrZXRfbXJlcSB7CisJaW50IG1yX2lmaW5k
ZXg7CisJdW5zaWduZWQgc2hvcnQgaW50IG1yX3R5cGUsICBtcl9hbGVuOworCXVuc2lnbmVkIGNo
YXIgbXJfYWRkcmVzc1s4XTsKK307CisKKyNkZWZpbmUgUEFDS0VUX0hPU1QJCTAKKyNkZWZpbmUg
UEFDS0VUX0JST0FEQ0FTVAkxCisjZGVmaW5lIFBBQ0tFVF9NVUxUSUNBU1QJMgorI2RlZmluZSBQ
QUNLRVRfT1RIRVJIT1NUCTMKKyNkZWZpbmUgUEFDS0VUX09VVEdPSU5HCQk0CisjZGVmaW5lIFBB
Q0tFVF9MT09QQkFDSwkJNQorI2RlZmluZSBQQUNLRVRfRkFTVFJPVVRFCTYKKworI2RlZmluZSBQ
QUNLRVRfQUREX01FTUJFUlNISVAJCTEKKyNkZWZpbmUgUEFDS0VUX0RST1BfTUVNQkVSU0hJUAkJ
MgorI2RlZmluZQlQQUNLRVRfUkVDVl9PVVRQVVQJCTMKKyNkZWZpbmUJUEFDS0VUX1JYX1JJTkcJ
CQk1CisjZGVmaW5lCVBBQ0tFVF9TVEFUSVNUSUNTCQk2CisjZGVmaW5lIFBBQ0tFVF9DT1BZX1RI
UkVTSAkJNworI2RlZmluZSBQQUNLRVRfQVVYREFUQQkJCTgKKyNkZWZpbmUgUEFDS0VUX09SSUdE
RVYJCQk5CisjZGVmaW5lIFBBQ0tFVF9WRVJTSU9OCQkJMTAKKyNkZWZpbmUgUEFDS0VUX0hEUkxF
TgkJCTExCisjZGVmaW5lIFBBQ0tFVF9SRVNFUlZFCQkJMTIKKyNkZWZpbmUgUEFDS0VUX1RYX1JJ
TkcJCQkxMworI2RlZmluZSBQQUNLRVRfTE9TUwkJCTE0CisjZGVmaW5lIFBBQ0tFVF9WTkVUX0hE
UgkJCTE1CisjZGVmaW5lIFBBQ0tFVF9UWF9USU1FU1RBTVAJCTE2CisjZGVmaW5lIFBBQ0tFVF9U
SU1FU1RBTVAJCTE3CisjZGVmaW5lIFBBQ0tFVF9GQU5PVVQJCQkxOAorI2RlZmluZSBQQUNLRVRf
VFhfSEFTX09GRgkJMTkKKyNkZWZpbmUgUEFDS0VUX1FESVNDX0JZUEFTUwkJMjAKKyNkZWZpbmUg
UEFDS0VUX1JPTExPVkVSX1NUQVRTCQkyMQorI2RlZmluZSBQQUNLRVRfRkFOT1VUX0RBVEEJCTIy
CisjZGVmaW5lIFBBQ0tFVF9JR05PUkVfT1VUR09JTkcJCTIzCisKKyNkZWZpbmUgUEFDS0VUX01S
X01VTFRJQ0FTVAkwCisjZGVmaW5lIFBBQ0tFVF9NUl9QUk9NSVNDCTEKKyNkZWZpbmUgUEFDS0VU
X01SX0FMTE1VTFRJCTIKKyNkZWZpbmUgUEFDS0VUX01SX1VOSUNBU1QJMworCisjaWZkZWYgX19j
cGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYKLS0gCjIuMjAuMQoKCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxp
c3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJv
amVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Fri Dec 06 13:24:01 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 06 Dec 2019 13:24:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1idDaT-0003nB-T1; Fri, 06 Dec 2019 13:24:01 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=pm4d=Z4=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1idDaS-0003n0-JE
 for minios-devel@lists.xen.org; Fri, 06 Dec 2019 13:24:00 +0000
X-Inumbo-ID: a492b3a4-182b-11ea-8256-12813bfff9fa
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id a492b3a4-182b-11ea-8256-12813bfff9fa;
 Fri, 06 Dec 2019 13:23:51 +0000 (UTC)
IronPort-SDR: ZeEILSandig2ygEJY+awzJOK/j2h5aXLq7qXZBifCWlNfSo+mSui6McJ1aouNFlTcptMDFfw/G
 /fTmNYvTIuDw==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 06 Dec 2019 15:23:49 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 2A95B1A601A6;
 Fri,  6 Dec 2019 15:23:50 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id 3B707uTaOaVg; Fri,  6 Dec 2019 15:23:50 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 117DB1A60136;
 Fri,  6 Dec 2019 15:23:50 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id FLjQ96J-sHsL; Fri,  6 Dec 2019 15:23:50 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id E3A931A601A6;
 Fri,  6 Dec 2019 15:23:49 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Fri,  6 Dec 2019 15:23:44 +0200
Message-Id: <20191206132346.23015-3-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191206132346.23015-1-costin.lupu@cs.pub.ro>
References: <20191206132346.23015-1-costin.lupu@cs.pub.ro>
Subject: [Minios-devel] [UNIKRAFT/LWIP PATCH 2/4] Add missing definitions
 for supporting Ruby
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

U2lnbmVkLW9mZi1ieTogQ29zdGluIEx1cHUgPGNvc3Rpbi5sdXB1QGNzLnB1Yi5ybz4KLS0tCiBp
bmNsdWRlL25ldC9pZi5oICAgICB8IDM2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysK
IGluY2x1ZGUvbmV0aW5ldC9pbi5oIHwgNTEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysKIGluY2x1ZGUvc3lzL3NvY2tldC5oIHwgMTAgKysrKysrKystCiAzIGZp
bGVzIGNoYW5nZWQsIDk2IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQg
YS9pbmNsdWRlL25ldC9pZi5oIGIvaW5jbHVkZS9uZXQvaWYuaAppbmRleCA5YmIzYzg3Li4xZWIx
MWQ4IDEwMDY0NAotLS0gYS9pbmNsdWRlL25ldC9pZi5oCisrKyBiL2luY2x1ZGUvbmV0L2lmLmgK
QEAgLTEsMyArMSwzOSBAQAogI2luY2x1ZGUgPGNvbXBhdC9wb3NpeC9uZXQvaWYuaD4KIAogY2hh
ciAqaWZfaW5kZXh0b25hbWUgKHVuc2lnbmVkIGludCwgY2hhciAqKTsKKworI2lmIGRlZmluZWQo
X0dOVV9TT1VSQ0UpIHx8IGRlZmluZWQoX0JTRF9TT1VSQ0UpCisKKyNkZWZpbmUgSUZGX1VQCTB4
MQorI2RlZmluZSBJRkZfQlJPQURDQVNUIDB4MgorI2RlZmluZSBJRkZfREVCVUcgMHg0CisjZGVm
aW5lIElGRl9MT09QQkFDSyAweDgKKyNkZWZpbmUgSUZGX1BPSU5UT1BPSU5UIDB4MTAKKyNkZWZp
bmUgSUZGX05PVFJBSUxFUlMgMHgyMAorI2RlZmluZSBJRkZfUlVOTklORyAweDQwCisjZGVmaW5l
IElGRl9OT0FSUCAweDgwCisjZGVmaW5lIElGRl9QUk9NSVNDIDB4MTAwCisjZGVmaW5lIElGRl9B
TExNVUxUSSAweDIwMAorI2RlZmluZSBJRkZfTUFTVEVSIDB4NDAwCisjZGVmaW5lIElGRl9TTEFW
RSAweDgwMAorI2RlZmluZSBJRkZfTVVMVElDQVNUIDB4MTAwMAorI2RlZmluZSBJRkZfUE9SVFNF
TCAweDIwMDAKKyNkZWZpbmUgSUZGX0FVVE9NRURJQSAweDQwMDAKKyNkZWZpbmUgSUZGX0RZTkFN
SUMgMHg4MDAwCisjZGVmaW5lIElGRl9MT1dFUl9VUCAweDEwMDAwCisjZGVmaW5lIElGRl9ET1JN
QU5UIDB4MjAwMDAKKyNkZWZpbmUgSUZGX0VDSE8gMHg0MDAwMAorI2RlZmluZSBJRkZfVk9MQVRJ
TEUgKElGRl9MT09QQkFDS3xJRkZfUE9JTlRPUE9JTlR8SUZGX0JST0FEQ0FTVHwgXAorICAgICAg
ICBJRkZfRUNIT3xJRkZfTUFTVEVSfElGRl9TTEFWRXxJRkZfUlVOTklOR3xJRkZfTE9XRVJfVVB8
SUZGX0RPUk1BTlQpCisKK3N0cnVjdCBpZmNvbmYgeworCWludCBpZmNfbGVuOworCXVuaW9uIHsK
KwkJY2hhciAqaWZjdV9idWY7CisJCXN0cnVjdCBpZnJlcSAqaWZjdV9yZXE7CisJfSBpZmNfaWZj
dTsKK307CisjZGVmaW5lIGlmY19idWYgICAgICAgICBpZmNfaWZjdS5pZmN1X2J1ZgorI2RlZmlu
ZSBpZmNfcmVxICAgICAgICAgaWZjX2lmY3UuaWZjdV9yZXEKKworI2VuZGlmIC8qIGRlZmluZWQo
X0dOVV9TT1VSQ0UpIHx8IGRlZmluZWQoX0JTRF9TT1VSQ0UpICovCmRpZmYgLS1naXQgYS9pbmNs
dWRlL25ldGluZXQvaW4uaCBiL2luY2x1ZGUvbmV0aW5ldC9pbi5oCmluZGV4IDUwNWEyMGEuLjE4
ZWUwNzUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbmV0aW5ldC9pbi5oCisrKyBiL2luY2x1ZGUvbmV0
aW5ldC9pbi5oCkBAIC0xNyw0ICsxNyw1NSBAQAogI2luY2x1ZGVfbmV4dCA8bmV0aW5ldC9pbi5o
PgogI2VuZGlmCiAKKyNkZWZpbmUgSU42X0lTX0FERFJfVU5TUEVDSUZJRUQoYSkgXAorICAgICAg
ICAoKCh1aW50MzJfdCAqKSAoYSkpWzBdID09IDAgJiYgKCh1aW50MzJfdCAqKSAoYSkpWzFdID09
IDAgJiYgXAorICAgICAgICAgKCh1aW50MzJfdCAqKSAoYSkpWzJdID09IDAgJiYgKCh1aW50MzJf
dCAqKSAoYSkpWzNdID09IDApCisKKyNkZWZpbmUgSU42X0lTX0FERFJfTE9PUEJBQ0soYSkgXAor
ICAgICAgICAoKCh1aW50MzJfdCAqKSAoYSkpWzBdID09IDAgJiYgKCh1aW50MzJfdCAqKSAoYSkp
WzFdID09IDAgJiYgXAorICAgICAgICAgKCh1aW50MzJfdCAqKSAoYSkpWzJdID09IDAgJiYgXAor
ICAgICAgICAgKCh1aW50OF90ICopIChhKSlbMTJdID09IDAgJiYgKCh1aW50OF90ICopIChhKSlb
MTNdID09IDAgJiYgXAorICAgICAgICAgKCh1aW50OF90ICopIChhKSlbMTRdID09IDAgJiYgKCh1
aW50OF90ICopIChhKSlbMTVdID09IDEgKQorCisjZGVmaW5lIElONl9JU19BRERSX01VTFRJQ0FT
VChhKSAoKCh1aW50OF90ICopIChhKSlbMF0gPT0gMHhmZikKKworI2RlZmluZSBJTjZfSVNfQURE
Ul9MSU5LTE9DQUwoYSkgXAorICAgICAgICAoKCgodWludDhfdCAqKSAoYSkpWzBdKSA9PSAweGZl
ICYmICgoKHVpbnQ4X3QgKikgKGEpKVsxXSAmIDB4YzApID09IDB4ODApCisKKyNkZWZpbmUgSU42
X0lTX0FERFJfU0lURUxPQ0FMKGEpIFwKKyAgICAgICAgKCgoKHVpbnQ4X3QgKikgKGEpKVswXSkg
PT0gMHhmZSAmJiAoKCh1aW50OF90ICopIChhKSlbMV0gJiAweGMwKSA9PSAweGMwKQorCisjZGVm
aW5lIElONl9JU19BRERSX1Y0TUFQUEVEKGEpIFwKKyAgICAgICAgKCgodWludDMyX3QgKikgKGEp
KVswXSA9PSAwICYmICgodWludDMyX3QgKikgKGEpKVsxXSA9PSAwICYmIFwKKyAgICAgICAgICgo
dWludDhfdCAqKSAoYSkpWzhdID09IDAgJiYgKCh1aW50OF90ICopIChhKSlbOV0gPT0gMCAmJiBc
CisgICAgICAgICAoKHVpbnQ4X3QgKikgKGEpKVsxMF0gPT0gMHhmZiAmJiAoKHVpbnQ4X3QgKikg
KGEpKVsxMV0gPT0gMHhmZikKKworI2RlZmluZSBJTjZfSVNfQUREUl9WNENPTVBBVChhKSBcCisg
ICAgICAgICgoKHVpbnQzMl90ICopIChhKSlbMF0gPT0gMCAmJiAoKHVpbnQzMl90ICopIChhKSlb
MV0gPT0gMCAmJiBcCisgICAgICAgICAoKHVpbnQzMl90ICopIChhKSlbMl0gPT0gMCAmJiAoKHVp
bnQ4X3QgKikgKGEpKVsxNV0gPiAxKQorCisjZGVmaW5lIElONl9JU19BRERSX01DX05PREVMT0NB
TChhKSBcCisgICAgICAgIChJTjZfSVNfQUREUl9NVUxUSUNBU1QoYSkgJiYgKCgoKHVpbnQ4X3Qg
KikgKGEpKVsxXSAmIDB4ZikgPT0gMHgxKSkKKworI2RlZmluZSBJTjZfSVNfQUREUl9NQ19MSU5L
TE9DQUwoYSkgXAorICAgICAgICAoSU42X0lTX0FERFJfTVVMVElDQVNUKGEpICYmICgoKCh1aW50
OF90ICopIChhKSlbMV0gJiAweGYpID09IDB4MikpCisKKyNkZWZpbmUgSU42X0lTX0FERFJfTUNf
U0lURUxPQ0FMKGEpIFwKKyAgICAgICAgKElONl9JU19BRERSX01VTFRJQ0FTVChhKSAmJiAoKCgo
dWludDhfdCAqKSAoYSkpWzFdICYgMHhmKSA9PSAweDUpKQorCisjZGVmaW5lIElONl9JU19BRERS
X01DX09SR0xPQ0FMKGEpIFwKKyAgICAgICAgKElONl9JU19BRERSX01VTFRJQ0FTVChhKSAmJiAo
KCgodWludDhfdCAqKSAoYSkpWzFdICYgMHhmKSA9PSAweDgpKQorCisjZGVmaW5lIElONl9JU19B
RERSX01DX0dMT0JBTChhKSBcCisgICAgICAgIChJTjZfSVNfQUREUl9NVUxUSUNBU1QoYSkgJiYg
KCgoKHVpbnQ4X3QgKikgKGEpKVsxXSAmIDB4ZikgPT0gMHhlKSkKKworI2lmIGRlZmluZWQoX0dO
VV9TT1VSQ0UpIHx8IGRlZmluZWQoX0JTRF9TT1VSQ0UpCisKK3N0cnVjdCBpcF9tcmVxbiB7CisJ
c3RydWN0IGluX2FkZHIgaW1yX211bHRpYWRkcjsKKwlzdHJ1Y3QgaW5fYWRkciBpbXJfYWRkcmVz
czsKKwlpbnQgaW1yX2lmaW5kZXg7Cit9OworI2VuZGlmIC8qIGRlZmluZWQoX0dOVV9TT1VSQ0Up
IHx8IGRlZmluZWQoX0JTRF9TT1VSQ0UpICovCisKICNlbmRpZiAvKiBfTkVUSU5FVF9JTl9IXyAq
LwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9zeXMvc29ja2V0LmggYi9pbmNsdWRlL3N5cy9zb2NrZXQu
aAppbmRleCBmMjNhZDMyLi4zMDI0ZTE3IDEwMDY0NAotLS0gYS9pbmNsdWRlL3N5cy9zb2NrZXQu
aAorKysgYi9pbmNsdWRlL3N5cy9zb2NrZXQuaApAQCAtNTYsOCArNTYsMTYgQEAKICNkZWZpbmUg
U09NQVhDT05OIDEyOAogI2VuZGlmCiAKKyNpZm5kZWYgUEZfTE9DQUwKKyNkZWZpbmUgUEZfTE9D
QUwgMQorI2VuZGlmCisKKyNpZm5kZWYgUEZfVU5JWAorI2RlZmluZSBQRl9VTklYIFBGX0xPQ0FM
CisjZW5kaWYKKwogI2lmbmRlZiBBRl9MT0NBTAotI2RlZmluZSBBRl9MT0NBTCAxIC8qIE5vdCBz
dXBwb3J0ZWQvc3R1YiAqLworI2RlZmluZSBBRl9MT0NBTCBQRl9MT0NBTCAvKiBOb3Qgc3VwcG9y
dGVkL3N0dWIgKi8KICNlbmRpZgogCiAjaWZuZGVmIEFGX1VOSVgKLS0gCjIuMjAuMQoKCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBt
YWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlz
dHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Fri Dec 06 13:24:07 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 06 Dec 2019 13:24:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1idDaY-0003o7-Ur; Fri, 06 Dec 2019 13:24:06 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=pm4d=Z4=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1idDaX-0003nt-JW
 for minios-devel@lists.xen.org; Fri, 06 Dec 2019 13:24:05 +0000
X-Inumbo-ID: a4a5b6e8-182b-11ea-8256-12813bfff9fa
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id a4a5b6e8-182b-11ea-8256-12813bfff9fa;
 Fri, 06 Dec 2019 13:23:51 +0000 (UTC)
IronPort-SDR: DHKw/aN/HVu3RK+f4cnJjqWVR+C7W1GcO/+GXcA68/aMWedeFNHbKiiee0Pt1ZU9TZHSzOU0sY
 we8w9VwxtOCg==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 06 Dec 2019 15:23:49 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 2BB4E1A60206;
 Fri,  6 Dec 2019 15:23:50 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id EyQnfCsMz96w; Fri,  6 Dec 2019 15:23:50 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 1262B1A601BF;
 Fri,  6 Dec 2019 15:23:50 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id J6wdpzwMz8EP; Fri,  6 Dec 2019 15:23:50 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id F1EF91A601EE;
 Fri,  6 Dec 2019 15:23:49 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Fri,  6 Dec 2019 15:23:45 +0200
Message-Id: <20191206132346.23015-4-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191206132346.23015-1-costin.lupu@cs.pub.ro>
References: <20191206132346.23015-1-costin.lupu@cs.pub.ro>
Subject: [Minios-devel] [UNIKRAFT/LWIP PATCH 3/4] patches: Add ipi_spec_dst
 field to struct in_pktinfo
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

U2lnbmVkLW9mZi1ieTogQ29zdGluIEx1cHUgPGNvc3Rpbi5sdXB1QGNzLnB1Yi5ybz4KLS0tCiAu
Li5sdWRlLWx3aXAtc29ja2V0cy5oLUFkZC1pcGlfc3BlY19kc3QtZmllbGQtdG8ucGF0Y2ggfCAx
MCArKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1v
ZGUgMTAwNjQ0IHBhdGNoZXMvMDAwNC1zcmMtaW5jbHVkZS1sd2lwLXNvY2tldHMuaC1BZGQtaXBp
X3NwZWNfZHN0LWZpZWxkLXRvLnBhdGNoCgpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy8wMDA0LXNyYy1p
bmNsdWRlLWx3aXAtc29ja2V0cy5oLUFkZC1pcGlfc3BlY19kc3QtZmllbGQtdG8ucGF0Y2ggYi9w
YXRjaGVzLzAwMDQtc3JjLWluY2x1ZGUtbHdpcC1zb2NrZXRzLmgtQWRkLWlwaV9zcGVjX2RzdC1m
aWVsZC10by5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZTQ2Y2Y1
Ci0tLSAvZGV2L251bGwKKysrIGIvcGF0Y2hlcy8wMDA0LXNyYy1pbmNsdWRlLWx3aXAtc29ja2V0
cy5oLUFkZC1pcGlfc3BlY19kc3QtZmllbGQtdG8ucGF0Y2gKQEAgLTAsMCArMSwxMCBAQAorLS0t
IGEvc3JjL2luY2x1ZGUvbHdpcC9zb2NrZXRzLmgKKysrKyBiL3NyYy9pbmNsdWRlL2x3aXAvc29j
a2V0cy5oCitAQCAtMzI3LDYgKzMyNyw3IEBACisgI2lmIExXSVBfSVBWNAorIHN0cnVjdCBpbl9w
a3RpbmZvIHsKKyAgIHVuc2lnbmVkIGludCAgIGlwaV9pZmluZGV4OyAgLyogSW50ZXJmYWNlIGlu
ZGV4ICovCisrICBzdHJ1Y3QgaW5fYWRkciBpcGlfc3BlY19kc3Q7CS8qIFJvdXRpbmcgZGVzdGlu
YXRpb24gYWRkcmVzcyAgKi8KKyAgIHN0cnVjdCBpbl9hZGRyIGlwaV9hZGRyOyAgICAgLyogRGVz
dGluYXRpb24gKGZyb20gaGVhZGVyKSBhZGRyZXNzICovCisgfTsKKyAjZW5kaWYgLyogTFdJUF9J
UFY0ICovCi0tIAoyLjIwLjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54
ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGlu
Zm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Fri Dec 06 13:24:12 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 06 Dec 2019 13:24:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1idDae-0003pj-03; Fri, 06 Dec 2019 13:24:11 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=pm4d=Z4=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1idDac-0003pT-K7
 for minios-devel@lists.xen.org; Fri, 06 Dec 2019 13:24:10 +0000
X-Inumbo-ID: a492b3a5-182b-11ea-8256-12813bfff9fa
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id a492b3a5-182b-11ea-8256-12813bfff9fa;
 Fri, 06 Dec 2019 13:23:51 +0000 (UTC)
IronPort-SDR: N35C+NGSE1dSSmOavJ0p3/BQA4rNJEy73JUpTypB3rY+NeAI3eJnVKJ4L5axC5gmrsb2XukoFU
 1I4kn3GHaY5A==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 06 Dec 2019 15:23:49 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 3E45F1A60105;
 Fri,  6 Dec 2019 15:23:50 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id awBaZMx7YpN2; Fri,  6 Dec 2019 15:23:50 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 21DC41A601EE;
 Fri,  6 Dec 2019 15:23:50 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id 1caoer32Tfvg; Fri,  6 Dec 2019 15:23:50 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 01D9A1A60105;
 Fri,  6 Dec 2019 15:23:50 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Fri,  6 Dec 2019 15:23:46 +0200
Message-Id: <20191206132346.23015-5-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191206132346.23015-1-costin.lupu@cs.pub.ro>
References: <20191206132346.23015-1-costin.lupu@cs.pub.ro>
Subject: [Minios-devel] [UNIKRAFT/LWIP PATCH 4/4] patches: Add more fields
 to struct ifreq
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

U2lnbmVkLW9mZi1ieTogQ29zdGluIEx1cHUgPGNvc3Rpbi5sdXB1QGNzLnB1Yi5ybz4KLS0tCiAu
Li5jaGVzLUFkZC1tb3JlLWZpZWxkcy10by1zdHJ1Y3QtaWZyZXEucGF0Y2ggfCA1NiArKysrKysr
KysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgNTYgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1v
ZGUgMTAwNjQ0IHBhdGNoZXMvMDAwNS1wYXRjaGVzLUFkZC1tb3JlLWZpZWxkcy10by1zdHJ1Y3Qt
aWZyZXEucGF0Y2gKCmRpZmYgLS1naXQgYS9wYXRjaGVzLzAwMDUtcGF0Y2hlcy1BZGQtbW9yZS1m
aWVsZHMtdG8tc3RydWN0LWlmcmVxLnBhdGNoIGIvcGF0Y2hlcy8wMDA1LXBhdGNoZXMtQWRkLW1v
cmUtZmllbGRzLXRvLXN0cnVjdC1pZnJlcS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi40NWY1NWE2Ci0tLSAvZGV2L251bGwKKysrIGIvcGF0Y2hlcy8wMDA1LXBhdGNo
ZXMtQWRkLW1vcmUtZmllbGRzLXRvLXN0cnVjdC1pZnJlcS5wYXRjaApAQCAtMCwwICsxLDU2IEBA
CitGcm9tIDgxNDA3ZjY1ZjliY2E3ZTY1NjFjOTEyYmVlYjJjYTRkYjBhNmNmYmUgTW9uIFNlcCAx
NyAwMDowMDowMCAyMDAxCitGcm9tOiBDb3N0aW4gTHVwdSA8Y29zdGluLmx1cEBnbWFpbC5jb20+
CitEYXRlOiBUaHUsIDUgRGVjIDIwMTkgMDg6NDM6MzQgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0g
cGF0Y2hlczogQWRkIG1vcmUgZmllbGRzIHRvIHN0cnVjdCBpZnJlcQorCitTaWduZWQtb2ZmLWJ5
OiBDb3N0aW4gTHVwdSA8Y29zdGluLmx1cHVAY3MucHViLnJvPgorLS0tCisgc3JjL2luY2x1ZGUv
bHdpcC9zb2NrZXRzLmggfCAzMCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKKyAxIGZp
bGUgY2hhbmdlZCwgMzAgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUv
bHdpcC9zb2NrZXRzLmggYi9zcmMvaW5jbHVkZS9sd2lwL3NvY2tldHMuaAoraW5kZXggNGUzMzNh
ZS4uY2Y5MWE5YiAxMDA2NDQKKy0tLSBhL3NyYy9pbmNsdWRlL2x3aXAvc29ja2V0cy5oCisrKysg
Yi9zcmMvaW5jbHVkZS9sd2lwL3NvY2tldHMuaAorQEAgLTE4NCw4ICsxODQsMzggQEAgd2lsbCBu
ZWVkIHRvIGluY3JlYXNlIGxvbmcgbG9uZyAqLworICNkZWZpbmUgSUZOQU1TSVogTkVUSUZfTkFN
RVNJWkUKKyBzdHJ1Y3QgaWZyZXEgeworICAgY2hhciBpZnJfbmFtZVtJRk5BTVNJWl07IC8qIElu
dGVyZmFjZSBuYW1lICovCisrCXVuaW9uIHsKKysJCXN0cnVjdCBzb2NrYWRkciBpZnJ1X2FkZHI7
CisrCQlzdHJ1Y3Qgc29ja2FkZHIgaWZydV9kc3RhZGRyOworKwkJc3RydWN0IHNvY2thZGRyIGlm
cnVfYnJvYWRhZGRyOworKwkJc3RydWN0IHNvY2thZGRyIGlmcnVfbmV0bWFzazsKKysJCXN0cnVj
dCBzb2NrYWRkciBpZnJ1X2h3YWRkcjsKKysJCXNob3J0IGludCBpZnJ1X2ZsYWdzOworKwkJaW50
IGlmcnVfaXZhbHVlOworKwkJaW50IGlmcnVfbXR1OworKwkJLypzdHJ1Y3QgaWZtYXAgaWZydV9t
YXA7Ki8KKysJCWNoYXIgaWZydV9zbGF2ZVtJRk5BTVNJWl07CisrCQljaGFyIGlmcnVfbmV3bmFt
ZVtJRk5BTVNJWl07CisrCQljaGFyICppZnJ1X2RhdGE7CisrCX0gaWZyX2lmcnU7CisgfTsKKyAK
KysjZGVmaW5lIGlmcl9od2FkZHIJaWZyX2lmcnUuaWZydV9od2FkZHIKKysjZGVmaW5lIGlmcl9h
ZGRyCWlmcl9pZnJ1LmlmcnVfYWRkcgorKyNkZWZpbmUgaWZyX2RzdGFkZHIJaWZyX2lmcnUuaWZy
dV9kc3RhZGRyCisrI2RlZmluZSBpZnJfYnJvYWRhZGRyCWlmcl9pZnJ1LmlmcnVfYnJvYWRhZGRy
CisrI2RlZmluZSBpZnJfbmV0bWFzawlpZnJfaWZydS5pZnJ1X25ldG1hc2sKKysjZGVmaW5lIGlm
cl9mbGFncwlpZnJfaWZydS5pZnJ1X2ZsYWdzCisrI2RlZmluZSBpZnJfbWV0cmljCWlmcl9pZnJ1
LmlmcnVfaXZhbHVlCisrI2RlZmluZSBpZnJfbXR1CQlpZnJfaWZydS5pZnJ1X210dQorKyNkZWZp
bmUgaWZyX21hcAkJaWZyX2lmcnUuaWZydV9tYXAKKysjZGVmaW5lIGlmcl9zbGF2ZQlpZnJfaWZy
dS5pZnJ1X3NsYXZlCisrI2RlZmluZSBpZnJfZGF0YQlpZnJfaWZydS5pZnJ1X2RhdGEKKysjZGVm
aW5lIGlmcl9pZmluZGV4CWlmcl9pZnJ1LmlmcnVfaXZhbHVlCisrI2RlZmluZSBpZnJfYmFuZHdp
ZHRoCWlmcl9pZnJ1LmlmcnVfaXZhbHVlCisrI2RlZmluZSBpZnJfcWxlbglpZnJfaWZydS5pZnJ1
X2l2YWx1ZQorKyNkZWZpbmUgaWZyX25ld25hbWUJaWZyX2lmcnUuaWZydV9uZXduYW1lCisrCisg
LyogU29ja2V0IHByb3RvY29sIHR5cGVzIChUQ1AvVURQL1JBVykgKi8KKyAjZGVmaW5lIFNPQ0tf
U1RSRUFNICAgICAxCisgI2RlZmluZSBTT0NLX0RHUkFNICAgICAgMgorLS0gCisyLjIwLjEKKwot
LSAKMi4yMC4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVj
dC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlv
cy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Fri Dec 06 13:25:21 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 06 Dec 2019 13:25:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1idDbl-0003sr-5J; Fri, 06 Dec 2019 13:25:21 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=pm4d=Z4=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1idDbk-0003sm-0M
 for minios-devel@lists.xen.org; Fri, 06 Dec 2019 13:25:20 +0000
X-Inumbo-ID: d8b4aeb3-182b-11ea-8256-12813bfff9fa
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id d8b4aeb3-182b-11ea-8256-12813bfff9fa;
 Fri, 06 Dec 2019 13:25:19 +0000 (UTC)
IronPort-SDR: 74lbQ6YA1pFIVpqJatJfPrPkZEpj48i3GNVvUm5LQxNa022EkepMx8gGUpe67v79eOmKmr42dc
 hoIHk0zIPCRw==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 06 Dec 2019 15:25:19 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 749911A60105;
 Fri,  6 Dec 2019 15:25:19 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id uadp6ibyJRLF; Fri,  6 Dec 2019 15:25:19 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 5A7791A60136;
 Fri,  6 Dec 2019 15:25:19 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id Pk63UDN3IXTv; Fri,  6 Dec 2019 15:25:19 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 460531A60105;
 Fri,  6 Dec 2019 15:25:19 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Fri,  6 Dec 2019 15:25:16 +0200
Message-Id: <20191206132516.23126-1-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
Subject: [Minios-devel] [UNIKRAFT/NEWLIB PATCH] Add missing stubs and
 declarations to support Ruby
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

U2lnbmVkLW9mZi1ieTogQ29zdGluIEx1cHUgPGNvc3Rpbi5sdXB1QGNzLnB1Yi5ybz4KLS0tCiBj
b25zb2xlLmMgICAgICAgICAgfCA4ICsrKysrKysrCiBmaWxlLmMgICAgICAgICAgICAgfCA3ICsr
KysrKysKIGluY2x1ZGUvc3lzL3BvbGwuaCB8IDUgKysrKysKIHNpZ25hbC5jICAgICAgICAgICB8
IDggKysrKysrKysKIDQgZmlsZXMgY2hhbmdlZCwgMjggaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdp
dCBhL2NvbnNvbGUuYyBiL2NvbnNvbGUuYwppbmRleCBiZjljZmU4Li42ZWM4NGNkIDEwMDY0NAot
LS0gYS9jb25zb2xlLmMKKysrIGIvY29uc29sZS5jCkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVk
ZSA8ZXJybm8uaD4KICNpbmNsdWRlIDxzeXMvc3RhdC5oPgogI2luY2x1ZGUgPHVrL2Vzc2VudGlh
bHMuaD4KKyNpbmNsdWRlIDx1ay9wcmludC5oPgogCiBpbnQgaXNhdHR5KGludCBmZCkKIHsKQEAg
LTYzLDMgKzY0LDEwIEBAIGNoYXIgKmN0ZXJtaWQoY2hhciAqcyBfX3VudXNlZCkKIHsKIAlyZXR1
cm4gMDsKIH0KKworaW50IGdyYW50cHQoaW50IGZkKQoreworCVdBUk5fU1RVQkJFRCgpOworCWVy
cm5vID0gRU5PVFNVUDsKKwlyZXR1cm4gLTE7Cit9CmRpZmYgLS1naXQgYS9maWxlLmMgYi9maWxl
LmMKaW5kZXggN2E2ZTA0Ni4uODEyN2VlMCAxMDA2NDQKLS0tIGEvZmlsZS5jCisrKyBiL2ZpbGUu
YwpAQCAtNzksNiArNzksMTMgQEAgaW50IHNlbGVjdChpbnQgbmZkcywgZmRfc2V0ICpyZWFkZmRz
IF9fdW51c2VkLCBmZF9zZXQgKndyaXRlZmRzIF9fdW51c2VkLAogfQogI2VuZGlmIC8qICFDT05G
SUdfTFdJUF9TT0NLRVQgKi8KIAoraW50IGV2ZW50ZmQodW5zaWduZWQgaW50IGluaXR2YWwsIGlu
dCBmbGFncykKK3sKKwlXQVJOX1NUVUJCRUQoKTsKKwllcnJubyA9IEVOT1RTVVA7CisJcmV0dXJu
IC0xOworfQorCiBjaGFyICpyZWFscGF0aChjb25zdCBjaGFyICpyZXN0cmljdCBmaWxlX25hbWUs
IGNoYXIgKnJlc3RyaWN0IHJlc29sdmVkX25hbWUpCiB7CiAJcmV0dXJuIDA7CmRpZmYgLS1naXQg
YS9pbmNsdWRlL3N5cy9wb2xsLmggYi9pbmNsdWRlL3N5cy9wb2xsLmgKaW5kZXggMDgyNzczOC4u
NDQ2YWIzZiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9zeXMvcG9sbC5oCisrKyBiL2luY2x1ZGUvc3lz
L3BvbGwuaApAQCAtODQsNCArODQsOSBAQCBzdHJ1Y3QgcG9sbGZkIHsKIAogaW50IHBvbGwoc3Ry
dWN0IHBvbGxmZCBfcGZkW10sIG5mZHNfdCBfbmZkcywgaW50IF90aW1lb3V0KTsKIAorI2lmZGVm
IF9HTlVfU09VUkNFCitpbnQgcHBvbGwoc3RydWN0IHBvbGxmZCAqZmRzLCBuZmRzX3QgbmZkcywK
KyAgICAgICAgY29uc3Qgc3RydWN0IHRpbWVzcGVjICp0bW9fcCwgY29uc3Qgc2lnc2V0X3QgKnNp
Z21hc2spOworI2VuZGlmCisKICNlbmRpZiAvKiBfUE9TSVhfU1lTX1BPTExfSF8gKi8KZGlmZiAt
LWdpdCBhL3NpZ25hbC5jIGIvc2lnbmFsLmMKaW5kZXggMDUzMDI5MS4uNDI3OWVlNyAxMDA2NDQK
LS0tIGEvc2lnbmFsLmMKKysrIGIvc2lnbmFsLmMKQEAgLTMzLDYgKzMzLDcgQEAKICAqLwogCiAj
aW5jbHVkZSA8dWsvcHJvY2Vzcy5oPgorI2luY2x1ZGUgPHVrL3ByaW50Lmg+CiAjaW5jbHVkZSA8
ZXJybm8uaD4KICNpbmNsdWRlIDxzaWduYWwuaD4KIApAQCAtNzcsMyArNzgsMTAgQEAgaW50IGtp
bGxwZyhpbnQgcGdycCwgaW50IHNpZyBfX3VudXNlZCkKIAkJZXJybm8gPSBFU1JDSDsKIAlyZXR1
cm4gLTE7CiB9CisKK2ludCBzaWdhbHRzdGFjayhjb25zdCBzdGFja190ICpzcywgc3RhY2tfdCAq
b2xkX3NzKQoreworCVdBUk5fU1RVQkJFRCgpOworCWVycm5vID0gRU5PVFNVUDsKKwlyZXR1cm4g
LTE7Cit9Ci0tIAoyLjIwLjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54
ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGlu
Zm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Fri Dec 06 13:41:12 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 06 Dec 2019 13:41:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1idDr5-0005Jx-BG; Fri, 06 Dec 2019 13:41:11 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=pm4d=Z4=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1idDr4-0005Js-N3
 for minios-devel@lists.xen.org; Fri, 06 Dec 2019 13:41:10 +0000
X-Inumbo-ID: 0f318f80-182e-11ea-999e-bc764e2007e4
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id 0f318f80-182e-11ea-999e-bc764e2007e4;
 Fri, 06 Dec 2019 13:41:09 +0000 (UTC)
IronPort-SDR: HVo488uTMNAR/wZpfTkOuJMCRcO/ozVgN2TuUbuSfAM5yS+9kx80FfCIepvyNmAPwhhEe1ulbL
 QQQ6mvqFUc6Q==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 06 Dec 2019 15:41:08 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 4CE871A60228;
 Fri,  6 Dec 2019 15:41:09 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id UYrKefPZxvUL; Fri,  6 Dec 2019 15:41:09 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 3085D1A601BF;
 Fri,  6 Dec 2019 15:41:09 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id 7HyZ6fYjmrWH; Fri,  6 Dec 2019 15:41:09 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 1CB681A60105;
 Fri,  6 Dec 2019 15:41:09 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Fri,  6 Dec 2019 15:40:59 +0200
Message-Id: <20191206134105.23225-1-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
Subject: [Minios-devel] [UNIKRAFT PATCH 0/6] Changes for supporting Ruby
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

V2hhdCBzdWJqZWN0IHNheXMuCgpDb3N0aW4gTHVwdSAoNik6CiAgbGliL3Zmc2NvcmU6IFJldmVy
dCBfX2Z4c3RhdGF0KCkgaW1wbGVtZW50YXRpb24gdG8gb3JpZ2luYWwgT3N2CiAgICBiZWhhdmlv
cgogIGxpYi92ZnNjb3JlOiBGaXggZHVwMigpCiAgbGliL3VrdGltZTogUmVtb3ZlIGV4cG9ydHN5
bXMudWsKICBsaWIvdWt0aW1lOiBJbnRyb2R1Y2UgUE9TSVggdGltZXIgc3R1YnMKICBsaWIvZGV2
ZnM6IEFkZCAvZGV2L251bGwgc3VwcG9ydAogIGxpYi9wb3NpeC11c2VyOiBBZGQgbW9yZSBncm91
cCBmaWxlIHJlbGF0ZWQgZnVuY3Rpb25zCgogbGliL2RldmZzL0NvbmZpZy51ayAgICAgICAgICAg
ICAgICB8ICAgNSArKwogbGliL2RldmZzL01ha2VmaWxlLnVrICAgICAgICAgICAgICB8ICAgMiAr
CiBsaWIvZGV2ZnMvbnVsbC5jICAgICAgICAgICAgICAgICAgIHwgMTE1ICsrKysrKysrKysrKysr
KysrKysrKysrKysrKysrCiBsaWIvcG9zaXgtdXNlci91c2VyLmMgICAgICAgICAgICAgIHwgIDY0
ICsrKysrKysrKysrKysrKysKIGxpYi91a3RpbWUvTWFrZWZpbGUudWsgICAgICAgICAgICAgfCAg
IDMgKwogbGliL3VrdGltZS9leHBvcnRzeW1zLnVrICAgICAgICAgICB8ICAxMSAtLS0KIGxpYi91
a3RpbWUvdGltZXIuYyAgICAgICAgICAgICAgICAgfCAgMzkgKysrKysrKysrKwogbGliL3Zmc2Nv
cmUvZmQuYyAgICAgICAgICAgICAgICAgICB8ICAyMiArKysrKy0KIGxpYi92ZnNjb3JlL2luY2x1
ZGUvdmZzY29yZS9maWxlLmggfCAgIDEgKwogbGliL3Zmc2NvcmUvbWFpbi5jICAgICAgICAgICAg
ICAgICB8ICAyMyArKysrLS0KIGxpYi92ZnNjb3JlL3N0ZGlvLmMgICAgICAgICAgICAgICAgfCAg
IDQgKwogMTEgZmlsZXMgY2hhbmdlZCwgMjY5IGluc2VydGlvbnMoKyksIDIwIGRlbGV0aW9ucygt
KQogY3JlYXRlIG1vZGUgMTAwNjQ0IGxpYi9kZXZmcy9udWxsLmMKIGRlbGV0ZSBtb2RlIDEwMDY0
NCBsaWIvdWt0aW1lL2V4cG9ydHN5bXMudWsKIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWIvdWt0aW1l
L3RpbWVyLmMKCi0tIAoyLjIwLjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0
cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlz
dGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Fri Dec 06 13:41:12 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 06 Dec 2019 13:41:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1idDr6-0005K9-Cc; Fri, 06 Dec 2019 13:41:12 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=pm4d=Z4=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1idDr5-0005K4-Sz
 for minios-devel@lists.xen.org; Fri, 06 Dec 2019 13:41:11 +0000
X-Inumbo-ID: 10377282-182e-11ea-8256-12813bfff9fa
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id 10377282-182e-11ea-8256-12813bfff9fa;
 Fri, 06 Dec 2019 13:41:11 +0000 (UTC)
IronPort-SDR: SNxpczwHiKS+YETdoryjk33RGY/381gywm16hdFwbCAbX2qnGKQ5v8aqBC4a3itwjbrda59+PH
 8E3Gg+GN4qaQ==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 06 Dec 2019 15:41:08 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 696C41A601EE;
 Fri,  6 Dec 2019 15:41:09 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id 6dbwB-yFHP4y; Fri,  6 Dec 2019 15:41:09 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 4EC6D1A60231;
 Fri,  6 Dec 2019 15:41:09 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id pa03RpT819WO; Fri,  6 Dec 2019 15:41:09 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 2D6081A601A6;
 Fri,  6 Dec 2019 15:41:09 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Fri,  6 Dec 2019 15:41:01 +0200
Message-Id: <20191206134105.23225-3-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191206134105.23225-1-costin.lupu@cs.pub.ro>
References: <20191206134105.23225-1-costin.lupu@cs.pub.ro>
Subject: [Minios-devel] [UNIKRAFT PATCH 2/6] lib/vfscore: Fix dup2()
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SWYgbmV3ZmQgaXMgb3BlbiwgdGhlbiBQT1NJWCBzYXlzIHdlIGhhdmUgdG8gY2xvc2UgaXQgLSB0
aGF0J3Mgd2hhdCB0aGlzCnBhdGNoIGFpbXMgdG8gYWNoaWV2ZS4gR2l2ZW4gdGhhdCBkdXAyL2R1
cDMgZXhwbGljaXRseSB3YW50cyB0byByZXNlcnZlciBhCmZpbGUgZGVzY3JpcHRvciwgd2UgYWxz
byBpbnRyb2R1Y2UgdGhlIHZmc2NvcmVfcmVzZXJ2ZV9mZCgpIGZ1bmN0aW9uLiBXZQphbHNvIGFk
ZCBhIHRpbnkgZml4IGluIHZmc2NvcmVfYWxsb2NfZmQoKSBiZWNhdXNlIGl0IHNob3VsZCBhbHNv
IGJlIGFibGUgdG8KYWxsb2NhdGUgZmlsZSBkZXNjcmlwdG9yIDAgLSB0aGF0J3Mgd2hhdCBzdGRp
byBpbml0aWFsaXphdGlvbiBuZWVkcyBhbW9uZwpvdGhlciB0aGluZ3MuCgpTaWduZWQtb2ZmLWJ5
OiBDb3N0aW4gTHVwdSA8Y29zdGluLmx1cHVAY3MucHViLnJvPgotLS0KIGxpYi92ZnNjb3JlL2Zk
LmMgICAgICAgICAgICAgICAgICAgfCAyMiArKysrKysrKysrKysrKysrKysrLS0tCiBsaWIvdmZz
Y29yZS9pbmNsdWRlL3Zmc2NvcmUvZmlsZS5oIHwgIDEgKwogbGliL3Zmc2NvcmUvbWFpbi5jICAg
ICAgICAgICAgICAgICB8IDE0ICsrKysrKysrKysrKystCiBsaWIvdmZzY29yZS9zdGRpby5jICAg
ICAgICAgICAgICAgIHwgIDQgKysrKwogNCBmaWxlcyBjaGFuZ2VkLCAzNyBpbnNlcnRpb25zKCsp
LCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYi92ZnNjb3JlL2ZkLmMgYi9saWIvdmZz
Y29yZS9mZC5jCmluZGV4IDdlZmVkNzQxLi42ZGIzNjZhOSAxMDA2NDQKLS0tIGEvbGliL3Zmc2Nv
cmUvZmQuYworKysgYi9saWIvdmZzY29yZS9mZC5jCkBAIC02MSw3ICs2MSw3IEBAIGludCB2ZnNj
b3JlX2FsbG9jX2ZkKHZvaWQpCiAJZmxhZ3MgPSB1a3BsYXRfbGNwdV9zYXZlX2lycWYoKTsKIAly
ZXQgPSB1a19maW5kX25leHRfemVyb19iaXQoZmR0YWJsZS5iaXRtYXAsIEZEVEFCTEVfTUFYX0ZJ
TEVTLCAwKTsKIAotCWlmICghcmV0KSB7CisJaWYgKHJldCA9PSBGRFRBQkxFX01BWF9GSUxFUykg
ewogCQlyZXQgPSAtRU5GSUxFOwogCQlnb3RvIGV4aXQ7CiAJfQpAQCAtNzMsNiArNzMsMjQgQEAg
ZXhpdDoKIAlyZXR1cm4gcmV0OwogfQogCitpbnQgdmZzY29yZV9yZXNlcnZlX2ZkKGludCBmZCkK
K3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCWludCByZXQgPSAwOworCisJZmxhZ3MgPSB1a3Bs
YXRfbGNwdV9zYXZlX2lycWYoKTsKKwlpZiAodWtfdGVzdF9iaXQoZmQsIGZkdGFibGUuYml0bWFw
KSkgeworCQlyZXQgPSAtRUJVU1k7CisJCWdvdG8gZXhpdDsKKwl9CisKKwl1a19iaXRtYXBfc2V0
KGZkdGFibGUuYml0bWFwLCBmZCwgMSk7CisKK2V4aXQ6CisJdWtwbGF0X2xjcHVfcmVzdG9yZV9p
cnFmKGZsYWdzKTsKKwlyZXR1cm4gcmV0OworfQorCiBpbnQgdmZzY29yZV9wdXRfZmQoaW50IGZk
KQogewogCXN0cnVjdCB2ZnNjb3JlX2ZpbGUgKmZwOwpAQCAtMTg4LDggKzIwNiw2IEBAIHN0YXRp
YyB2b2lkIGZkdGFibGVfaW5pdCh2b2lkKQogewogCW1lbXNldCgmZmR0YWJsZSwgMCwgc2l6ZW9m
KGZkdGFibGUpKTsKIAotCS8qIHJlc2VydmUgc3RkaW4sIHN0ZG91dCBhbmQgc3RkZXJyICovCi0J
dWtfYml0bWFwX3NldChmZHRhYmxlLmJpdG1hcCwgMCwgMyk7CiAJaW5pdF9zdGRpbygpOwogfQog
CmRpZmYgLS1naXQgYS9saWIvdmZzY29yZS9pbmNsdWRlL3Zmc2NvcmUvZmlsZS5oIGIvbGliL3Zm
c2NvcmUvaW5jbHVkZS92ZnNjb3JlL2ZpbGUuaAppbmRleCBjNjk4MjAxZC4uYmUyMzk3NDQgMTAw
NjQ0Ci0tLSBhL2xpYi92ZnNjb3JlL2luY2x1ZGUvdmZzY29yZS9maWxlLmgKKysrIGIvbGliL3Zm
c2NvcmUvaW5jbHVkZS92ZnNjb3JlL2ZpbGUuaApAQCAtNjYsNiArNjYsNyBAQCBzdHJ1Y3QgdmZz
Y29yZV9maWxlIHsKICNkZWZpbmUgRkRfVU5MT0NLKGZwKSAgICAgdWtfbXV0ZXhfdW5sb2NrKCYo
ZnAtPmZfbG9jaykpCiAKIGludCB2ZnNjb3JlX2FsbG9jX2ZkKHZvaWQpOworaW50IHZmc2NvcmVf
cmVzZXJ2ZV9mZChpbnQgZmQpOwogaW50IHZmc2NvcmVfcHV0X2ZkKGludCBmZCk7CiBpbnQgdmZz
Y29yZV9pbnN0YWxsX2ZkKGludCBmZCwgc3RydWN0IHZmc2NvcmVfZmlsZSAqZmlsZSk7CiBzdHJ1
Y3QgdmZzY29yZV9maWxlICp2ZnNjb3JlX2dldF9maWxlKGludCBmZCk7CmRpZmYgLS1naXQgYS9s
aWIvdmZzY29yZS9tYWluLmMgYi9saWIvdmZzY29yZS9tYWluLmMKaW5kZXggZDYxNDVhMmIuLjRi
ZWRhNjAzIDEwMDY0NAotLS0gYS9saWIvdmZzY29yZS9tYWluLmMKKysrIGIvbGliL3Zmc2NvcmUv
bWFpbi5jCkBAIC0xMzc5LDcgKzEzNzksNyBAQCBVS19UUkFDRVBPSU5UKHRyYWNlX3Zmc19kdXAz
X2VyciwgIiVkIiwgaW50KTsKICAqLwogaW50IGR1cDMoaW50IG9sZGZkLCBpbnQgbmV3ZmQsIGlu
dCBmbGFncykKIHsKLQlzdHJ1Y3QgdmZzY29yZV9maWxlICpmcDsKKwlzdHJ1Y3QgdmZzY29yZV9m
aWxlICpmcCwgKmZwX25ldzsKIAlpbnQgZXJyb3I7CiAKIAl0cmFjZV92ZnNfZHVwMyhvbGRmZCwg
bmV3ZmQsIGZsYWdzKTsKQEAgLTE0MDEsNiArMTQwMSwxOCBAQCBpbnQgZHVwMyhpbnQgb2xkZmQs
IGludCBuZXdmZCwgaW50IGZsYWdzKQogCWlmIChlcnJvcikKIAkJZ290byBvdXRfZXJybm87CiAK
KwllcnJvciA9IGZnZXQobmV3ZmQsICZmcF9uZXcpOworCWlmIChlcnJvciA9PSAwKSB7CisJCS8q
IGlmIG5ld2ZkIGlzIG9wZW4sIHRoZW4gY2xvc2UgaXQgKi8KKwkJZXJyb3IgPSBjbG9zZShuZXdm
ZCk7CisJCWlmIChlcnJvcikKKwkJCWdvdG8gb3V0X2Vycm5vOworCX0KKworCWVycm9yID0gdmZz
Y29yZV9yZXNlcnZlX2ZkKG5ld2ZkKTsKKwlpZiAoZXJyb3IpCisJCWdvdG8gb3V0X2Vycm5vOwor
CiAJZXJyb3IgPSB2ZnNjb3JlX2luc3RhbGxfZmQobmV3ZmQsIGZwKTsKIAlpZiAoZXJyb3IpIHsK
IAkJZmRyb3AoZnApOwpkaWZmIC0tZ2l0IGEvbGliL3Zmc2NvcmUvc3RkaW8uYyBiL2xpYi92ZnNj
b3JlL3N0ZGlvLmMKaW5kZXggNTc4YjIwYmIuLjYyYTdhNjA3IDEwMDY0NAotLS0gYS9saWIvdmZz
Y29yZS9zdGRpby5jCisrKyBiL2xpYi92ZnNjb3JlL3N0ZGlvLmMKQEAgLTIxMSw2ICsyMTEsMTAg
QEAgc3RhdGljIHN0cnVjdCB2ZnNjb3JlX2ZpbGUgIHN0ZGlvX2ZpbGUgPSB7CiAKIHZvaWQgaW5p
dF9zdGRpbyh2b2lkKQogeworCWludCBmZDsKKworCWZkID0gdmZzY29yZV9hbGxvY19mZCgpOwor
CVVLX0FTU0VSVChmZCA9PSAwKTsKIAl2ZnNjb3JlX2luc3RhbGxfZmQoMCwgJnN0ZGlvX2ZpbGUp
OwogCWlmIChkdXAyKDAsIDEpICE9IDEpCiAJCXVrX3ByX2VycigiZmFpbGVkIHRvIGR1cCB0byBz
dGRpblxuIik7Ci0tIAoyLjIwLjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0
cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlz
dGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Fri Dec 06 13:41:16 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 06 Dec 2019 13:41:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1idDrA-0005Ll-E7; Fri, 06 Dec 2019 13:41:16 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=pm4d=Z4=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1idDr9-0005Lc-Ls
 for minios-devel@lists.xen.org; Fri, 06 Dec 2019 13:41:15 +0000
X-Inumbo-ID: 10232818-182e-11ea-999e-bc764e2007e4
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id 10232818-182e-11ea-999e-bc764e2007e4;
 Fri, 06 Dec 2019 13:41:10 +0000 (UTC)
IronPort-SDR: SRCFgefkYL1J++pwdf/7a2H6n01JwUWVMhNYK3733fcO18ICySqvn4nvheIdPyb2/QHND7mWcQ
 yL33lPA/EKrw==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 06 Dec 2019 15:41:08 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 5635E1A601BF;
 Fri,  6 Dec 2019 15:41:09 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id WxQ0BsXldhWE; Fri,  6 Dec 2019 15:41:09 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 3D2851A60105;
 Fri,  6 Dec 2019 15:41:09 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id RHJ22bnKAl16; Fri,  6 Dec 2019 15:41:09 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 208551A60136;
 Fri,  6 Dec 2019 15:41:09 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Fri,  6 Dec 2019 15:41:00 +0200
Message-Id: <20191206134105.23225-2-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191206134105.23225-1-costin.lupu@cs.pub.ro>
References: <20191206134105.23225-1-costin.lupu@cs.pub.ro>
Subject: [Minios-devel] [UNIKRAFT PATCH 1/6] lib/vfscore: Revert
 __fxstatat() implementation to original Osv behavior
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

V2Ugc2ltcGx5IGJyb3VnaHQgYmFjayB0aGUgaGFuZGxpbmcgb2YgZmxhZ3MsIGp1c3QgYXMgaXQg
d2FzIGluIE9zdi4KClNpZ25lZC1vZmYtYnk6IENvc3RpbiBMdXB1IDxjb3N0aW4ubHVwdUBjcy5w
dWIucm8+Ci0tLQogbGliL3Zmc2NvcmUvbWFpbi5jIHwgOSArKysrLS0tLS0KIDEgZmlsZSBjaGFu
Z2VkLCA0IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliL3Zm
c2NvcmUvbWFpbi5jIGIvbGliL3Zmc2NvcmUvbWFpbi5jCmluZGV4IGNmODRhMGUwLi5kNjE0NWEy
YiAxMDA2NDQKLS0tIGEvbGliL3Zmc2NvcmUvbWFpbi5jCisrKyBiL2xpYi92ZnNjb3JlL21haW4u
YwpAQCAtNTY3LDEwICs1NjcsNiBAQCBMRlM2NChmc3RhdCk7CiBpbnQgX19meHN0YXRhdChpbnQg
dmVyIF9fdW51c2VkLCBpbnQgZGlyZmQsIGNvbnN0IGNoYXIgKnBhdGhuYW1lLCBzdHJ1Y3Qgc3Rh
dCAqc3QsCiAJCWludCBmbGFncykKIHsKLQlpZiAoZmxhZ3MgJiBBVF9TWU1MSU5LX05PRk9MTE9X
KSB7Ci0JCVVLX0NSQVNIKCJVTklNUExFTUVOVEVEOiBmc3RhdGF0KCkgd2l0aCBBVF9TWU1MSU5L
X05PRk9MTE9XIik7Ci0JfQotCiAJaWYgKHBhdGhuYW1lWzBdID09ICcvJyB8fCBkaXJmZCA9PSBB
VF9GRENXRCkgewogCQlyZXR1cm4gc3RhdChwYXRobmFtZSwgc3QpOwogCX0KQEAgLTU5Nyw3ICs1
OTMsMTAgQEAgaW50IF9fZnhzdGF0YXQoaW50IHZlciBfX3VudXNlZCwgaW50IGRpcmZkLCBjb25z
dCBjaGFyICpwYXRobmFtZSwgc3RydWN0IHN0YXQgKnMKIAlzdHJsY2F0KHAsICIvIiwgUEFUSF9N
QVgpOwogCXN0cmxjYXQocCwgcGF0aG5hbWUsIFBBVEhfTUFYKTsKIAotCWVycm9yID0gc3RhdChw
LCBzdCk7CisJaWYgKGZsYWdzICYgQVRfU1lNTElOS19OT0ZPTExPVykKKwkJZXJyb3IgPSBsc3Rh
dChwLCBzdCk7CisJZWxzZQorCQllcnJvciA9IHN0YXQocCwgc3QpOwogCiAJdm5fdW5sb2NrKHZw
KTsKIAlmZHJvcChmcCk7Ci0tIAoyLjIwLjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZl
bEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxt
YW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Fri Dec 06 13:41:17 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 06 Dec 2019 13:41:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1idDrB-0005ME-FX; Fri, 06 Dec 2019 13:41:17 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=pm4d=Z4=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1idDrA-0005M3-O8
 for minios-devel@lists.xen.org; Fri, 06 Dec 2019 13:41:16 +0000
X-Inumbo-ID: 10377283-182e-11ea-8256-12813bfff9fa
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id 10377283-182e-11ea-8256-12813bfff9fa;
 Fri, 06 Dec 2019 13:41:11 +0000 (UTC)
IronPort-SDR: QVf+hW4kcTbc+TArHtPf2zKdzknfEZcxM0ibhErxghGWueQrXnXpo4c7BYsKVJb3rqTlhJCXJA
 io3jNrLUaPTQ==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 06 Dec 2019 15:41:09 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 78E701A60105;
 Fri,  6 Dec 2019 15:41:09 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id ePrOXJT3hg0d; Fri,  6 Dec 2019 15:41:09 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 60DDB1A601A6;
 Fri,  6 Dec 2019 15:41:09 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id AFGDBL8JdL5b; Fri,  6 Dec 2019 15:41:09 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 4C2B11A60136;
 Fri,  6 Dec 2019 15:41:09 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Fri,  6 Dec 2019 15:41:04 +0200
Message-Id: <20191206134105.23225-6-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191206134105.23225-1-costin.lupu@cs.pub.ro>
References: <20191206134105.23225-1-costin.lupu@cs.pub.ro>
Subject: [Minios-devel] [UNIKRAFT PATCH 5/6] lib/devfs: Add /dev/null support
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhpcyBpcyBzaGFtZWxlc3NseSBjb3BpZWQgYW5kIGFkYXB0ZWQgZnJvbSBvdXIgaW1wbGVtZW50
YXRpb24KZm9yIC9kZXYvcmFuZG9tIGRldmljZSBzdXBwb3J0LgoKU2lnbmVkLW9mZi1ieTogQ29z
dGluIEx1cHUgPGNvc3Rpbi5sdXB1QGNzLnB1Yi5ybz4KLS0tCiBsaWIvZGV2ZnMvQ29uZmlnLnVr
ICAgfCAgIDUgKysKIGxpYi9kZXZmcy9NYWtlZmlsZS51ayB8ICAgMiArCiBsaWIvZGV2ZnMvbnVs
bC5jICAgICAgfCAxMTUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
CiAzIGZpbGVzIGNoYW5nZWQsIDEyMiBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQg
bGliL2RldmZzL251bGwuYwoKZGlmZiAtLWdpdCBhL2xpYi9kZXZmcy9Db25maWcudWsgYi9saWIv
ZGV2ZnMvQ29uZmlnLnVrCmluZGV4IDZmMjFjMDFjLi4zYWRjMTcxZSAxMDA2NDQKLS0tIGEvbGli
L2RldmZzL0NvbmZpZy51aworKysgYi9saWIvZGV2ZnMvQ29uZmlnLnVrCkBAIC04LDQgKzgsOSBA
QCBpZiBMSUJERVZGUwogICAgICAgICBib29sICJNb3VudCAvZGV2IGR1cmluZyBib290IgogCWRl
cGVuZHMgb24gTElCVkZTQ09SRV9BVVRPTU9VTlRfUk9PVEZTCiAgICAgICAgIGRlZmF1bHQgbgor
CisJY29uZmlnIExJQkRFVlNfREVWX05VTEwKKwkJYm9vbCAiL2Rldi9udWxsIgorCQlkZXBlbmRz
IG9uIExJQkRFVkZTX0FVVE9NT1VOVAorCQlkZWZhdWx0IHkKIGVuZGlmCmRpZmYgLS1naXQgYS9s
aWIvZGV2ZnMvTWFrZWZpbGUudWsgYi9saWIvZGV2ZnMvTWFrZWZpbGUudWsKaW5kZXggYzQ5NmZk
NTYuLjM2NmRiNjc3IDEwMDY0NAotLS0gYS9saWIvZGV2ZnMvTWFrZWZpbGUudWsKKysrIGIvbGli
L2RldmZzL01ha2VmaWxlLnVrCkBAIC0zLDYgKzMsOCBAQCAkKGV2YWwgJChjYWxsIGFkZGxpYl9z
LGxpYmRldmZzLCQoQ09ORklHX0xJQkRFVkZTKSkpCiBDSU5DTFVERVMteSArPSAtSSQoTElCREVW
RlNfQkFTRSkvaW5jbHVkZQogCiBMSUJERVZGU19DRkxBR1MtJChjYWxsIGdjY192ZXJzaW9uX2dl
LDgsMCkgKz0gLVduby1jYXN0LWZ1bmN0aW9uLXR5cGUKK0xJQkRFVkZTX0NGTEFHUy15ICs9IC1X
bm8tdW51c2VkLXBhcmFtZXRlcgogCiBMSUJERVZGU19TUkNTLXkgKz0gJChMSUJERVZGU19CQVNF
KS9kZXZpY2UuYwogTElCREVWRlNfU1JDUy15ICs9ICQoTElCREVWRlNfQkFTRSkvZGV2ZnNfdm5v
cHMuYworTElCREVWRlNfU1JDUy0kKENPTkZJR19MSUJERVZTX0RFVl9OVUxMKSArPSAkKExJQkRF
VkZTX0JBU0UpL251bGwuYwpkaWZmIC0tZ2l0IGEvbGliL2RldmZzL251bGwuYyBiL2xpYi9kZXZm
cy9udWxsLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAuLjM4ZDY4N2Q0Ci0t
LSAvZGV2L251bGwKKysrIGIvbGliL2RldmZzL251bGwuYwpAQCAtMCwwICsxLDExNSBAQAorLyog
U1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZSAqLworLyoKKyAqIEF1dGhvcnM6
IENvc3RpbiBMdXB1IDxjb3N0aW4ubHVwdUBjcy5wdWIucm8+CisgKgorICogQ29weXJpZ2h0IChj
KSAyMDE5LCBVbml2ZXJzaXR5IFBvbGl0ZWhuaWNhIG9mIEJ1Y2hhcmVzdC4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBjb3B5
cmlnaHQgaG9sZGVyIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiAgICBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICog
ICAgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFCisgKiBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFCisgKiBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFCisgKiBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqCisgKiBUSElTIEhFQURFUiBNQVkgTk9UIEJFIEVYVFJBQ1RFRCBPUiBNT0RJ
RklFRCBJTiBBTlkgV0FZLgorICovCisKKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxz
dHJpbmcuaD4KKyNpbmNsdWRlIDx1ay9jdG9ycy5oPgorI2luY2x1ZGUgPHVrL3ByaW50Lmg+Cisj
aW5jbHVkZSA8dmZzY29yZS91aW8uaD4KKyNpbmNsdWRlIDxkZXZmcy9kZXZpY2UuaD4KKworI2Rl
ZmluZSBERVZfTlVMTF9OQU1FICJudWxsIgorCisvKiBUT0RPIFRoaXMgY2FuIGJlIGludGVncmF0
ZWQgd2l0aCByYW5kb20ncyBmaWxsIGJ1ZmZlciBmdW5jdGlvbiAqLworc3RhdGljIHNzaXplX3Qg
dWtfbnVsbF9maWxsX2J1ZmZlcih2b2lkICpidWYsIHNpemVfdCBidWZsZW4pCit7CisJc2l6ZV90
IHN0ZXAsIHJlc2lkLCBpOworCisJc3RlcCA9IHNpemVvZih1bnNpZ25lZCBsb25nKTsKKwlyZXNp
ZCA9IGJ1ZmxlbiAlIHN0ZXA7CisKKwlmb3IgKGkgPSAwOyBpIDwgYnVmbGVuIC0gcmVzaWQ7IGkg
Kz0gc3RlcCkKKwkJKih1bnNpZ25lZCBsb25nICopKChjaGFyICopIGJ1ZiArIGkpID0gMDsKKwor
CS8qIGZpbGwgdGhlIHJlbWFpbmluZyBieXRlcyBvZiB0aGUgYnVmZmVyICovCisJZm9yIChpID0g
MDsgaSA8IHJlc2lkOyBpKyspCisJCSooKGNoYXIgKikgYnVmICsgaSkgPSAwOworCisJcmV0dXJu
IGJ1ZmxlbjsKK30KKworaW50IGRldl9udWxsX3JlYWQoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1
Y3QgdWlvICp1aW8sIGludCBmbGFncykKK3sKKwlzaXplX3QgY291bnQ7CisJY2hhciAqYnVmOwor
CisJYnVmID0gdWlvLT51aW9faW92LT5pb3ZfYmFzZTsKKwljb3VudCA9IHVpby0+dWlvX2lvdi0+
aW92X2xlbjsKKworCXVrX251bGxfZmlsbF9idWZmZXIoYnVmLCBjb3VudCk7CisKKwl1aW8tPnVp
b19yZXNpZCA9IDA7CisJcmV0dXJuIDA7Cit9CisKK2ludCBkZXZfbnVsbF9vcGVuKHN0cnVjdCBk
ZXZpY2UgKmRldmljZSwgaW50IG1vZGUpCit7CisJcmV0dXJuIDA7Cit9CisKKworaW50IGRldl9u
dWxsX2Nsb3NlKHN0cnVjdCBkZXZpY2UgKmRldmljZSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3Rh
dGljIHN0cnVjdCBkZXZvcHMgbnVsbF9kZXZvcHMgPSB7CisJLnJlYWQgPSBkZXZfbnVsbF9yZWFk
LAorCS5vcGVuID0gZGV2X251bGxfb3BlbiwKKwkuY2xvc2UgPSBkZXZfbnVsbF9jbG9zZSwKK307
CisKK3N0YXRpYyBzdHJ1Y3QgZHJpdmVyIGRydl9udWxsID0geworCS5kZXZvcHMgPSAmbnVsbF9k
ZXZvcHMsCisJLmRldnN6ID0gMCwKKwkubmFtZSA9IERFVl9OVUxMX05BTUUKK307CisKK3N0YXRp
YyBpbnQgZGV2ZnNfcmVnaXN0ZXJfbnVsbCh2b2lkKQoreworCXN0cnVjdCBkZXZpY2UgKmRldjsK
KworCXVrX3ByX2luZm8oIlJlZ2lzdGVyICclcycgdG8gZGV2ZnNcbiIsIERFVl9OVUxMX05BTUUp
OworCisJLyogcmVnaXN0ZXIgL2Rldi9udWxsICovCisJZGV2ID0gZGV2aWNlX2NyZWF0ZSgmZHJ2
X251bGwsIERFVl9OVUxMX05BTUUsIERfQ0hSKTsKKwlpZiAoZGV2ID09IE5VTEwpIHsKKwkJdWtf
cHJfZXJyKCJGYWlsZWQgdG8gcmVnaXN0ZXIgJyVzJyB0byBkZXZmc1xuIiwgREVWX05VTExfTkFN
RSk7CisJCXJldHVybiAtMTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworZGV2ZnNfaW5pdGNhbGwo
ZGV2ZnNfcmVnaXN0ZXJfbnVsbCk7Ci0tIAoyLjIwLjEKCgpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlv
cy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3Jn
L21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Fri Dec 06 13:41:21 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 06 Dec 2019 13:41:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1idDrF-0005NB-H3; Fri, 06 Dec 2019 13:41:21 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=pm4d=Z4=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1idDrE-0005Mz-LL
 for minios-devel@lists.xen.org; Fri, 06 Dec 2019 13:41:20 +0000
X-Inumbo-ID: 106e9e92-182e-11ea-999e-bc764e2007e4
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id 106e9e92-182e-11ea-999e-bc764e2007e4;
 Fri, 06 Dec 2019 13:41:11 +0000 (UTC)
IronPort-SDR: eS5A1un2EjQ59AJlTPsk9CeK0Q858TMmpi2rGNO6e6rkwg5B8L/2XzDQcmVpHmiXhnRcPZEJ3Q
 hyLHLI2G73iA==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 06 Dec 2019 15:41:09 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 742731A60136;
 Fri,  6 Dec 2019 15:41:09 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id AQzEzYmppTr7; Fri,  6 Dec 2019 15:41:09 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 5ABBB1A60105;
 Fri,  6 Dec 2019 15:41:09 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id q398zJdUtLL9; Fri,  6 Dec 2019 15:41:09 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 3AD271A601EE;
 Fri,  6 Dec 2019 15:41:09 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Fri,  6 Dec 2019 15:41:02 +0200
Message-Id: <20191206134105.23225-4-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191206134105.23225-1-costin.lupu@cs.pub.ro>
References: <20191206134105.23225-1-costin.lupu@cs.pub.ro>
Subject: [Minios-devel] [UNIKRAFT PATCH 3/6] lib/uktime: Remove exportsyms.uk
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

U2lnbmVkLW9mZi1ieTogQ29zdGluIEx1cHUgPGNvc3Rpbi5sdXB1QGNzLnB1Yi5ybz4KLS0tCiBs
aWIvdWt0aW1lL2V4cG9ydHN5bXMudWsgfCAxMSAtLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQs
IDExIGRlbGV0aW9ucygtKQogZGVsZXRlIG1vZGUgMTAwNjQ0IGxpYi91a3RpbWUvZXhwb3J0c3lt
cy51awoKZGlmZiAtLWdpdCBhL2xpYi91a3RpbWUvZXhwb3J0c3ltcy51ayBiL2xpYi91a3RpbWUv
ZXhwb3J0c3ltcy51awpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmQ5YzQ5Y2YuLjAw
MDAwMDAwCi0tLSBhL2xpYi91a3RpbWUvZXhwb3J0c3ltcy51aworKysgL2Rldi9udWxsCkBAIC0x
LDExICswLDAgQEAKLWNsb2NrX2dldHJlcwotY2xvY2tfZ2V0dGltZQotY2xvY2tfc2V0dGltZQot
Z2V0dGltZW9mZGF5Ci1uYW5vc2xlZXAKLXNldGl0aW1lcgotc2xlZXAKLXRpbWVnbQotdGltZXMK
LXVzbGVlcAotdXRpbWUKLS0gCjIuMjAuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVs
QGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1h
bi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Fri Dec 06 13:41:22 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 06 Dec 2019 13:41:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1idDrG-0005Nq-IO; Fri, 06 Dec 2019 13:41:22 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=pm4d=Z4=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1idDrF-0005NR-OO
 for minios-devel@lists.xen.org; Fri, 06 Dec 2019 13:41:21 +0000
X-Inumbo-ID: 10377284-182e-11ea-8256-12813bfff9fa
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id 10377284-182e-11ea-8256-12813bfff9fa;
 Fri, 06 Dec 2019 13:41:12 +0000 (UTC)
IronPort-SDR: +dmMgTy2nww0OoIP9kjuNTEqh4yaId9fihYQ5zXKjilLaLnErF80JV2KxNWAm/KO6gFmDuc0+u
 02PF5ko2OBCg==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 06 Dec 2019 15:41:09 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 7FC051A60105;
 Fri,  6 Dec 2019 15:41:09 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id rKXFefAA-BWT; Fri,  6 Dec 2019 15:41:09 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 66DF31A60272;
 Fri,  6 Dec 2019 15:41:09 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id 2QTlKUsSY3dP; Fri,  6 Dec 2019 15:41:09 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 4F8051A60260;
 Fri,  6 Dec 2019 15:41:09 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Fri,  6 Dec 2019 15:41:05 +0200
Message-Id: <20191206134105.23225-7-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191206134105.23225-1-costin.lupu@cs.pub.ro>
References: <20191206134105.23225-1-costin.lupu@cs.pub.ro>
Subject: [Minios-devel] [UNIKRAFT PATCH 6/6] lib/posix-user: Add more group
 file related functions
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

V2UgY3VycmVudGx5IHByb3ZpZGUgb25seSBhIHNpbmdsZSBncm91cC4gVGhpcyBjYW4gYmUgZXh0
ZW5kZWQgZWFzaWx5LAppZiBpdCB3aWxsIGJlIG5lZWRlZC4KClNpZ25lZC1vZmYtYnk6IENvc3Rp
biBMdXB1IDxjb3N0aW4ubHVwdUBjcy5wdWIucm8+Ci0tLQogbGliL3Bvc2l4LXVzZXIvdXNlci5j
IHwgNjQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMSBmaWxl
IGNoYW5nZWQsIDY0IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9saWIvcG9zaXgtdXNlci91
c2VyLmMgYi9saWIvcG9zaXgtdXNlci91c2VyLmMKaW5kZXggMGQ2Y2EzZmIuLjAwNGVlZTFiIDEw
MDY0NAotLS0gYS9saWIvcG9zaXgtdXNlci91c2VyLmMKKysrIGIvbGliL3Bvc2l4LXVzZXIvdXNl
ci5jCkBAIC02MCw2ICs2MCwxMiBAQCBVS19TTElTVF9IRUFEKHVrX2VudHJ5X2xpc3QsIHN0cnVj
dCBwYXNzd2RfZW50cnkpOwogCiBzdGF0aWMgc3RydWN0IHVrX2VudHJ5X2xpc3QgcGFzc3dkczsK
IAorc3RhdGljIHZvaWQgaW5pdF9ncm91cHModm9pZCk7CisKKy8qCisgKiBUT0RPIG1ha2UgcGFz
c3dkIG1hbmFnZW1lbnQgY29uc2lzdGVudCB3aXRoIGdyb3VwIG1hbmFnZW1lbnQKKyAqLworCiB2
b2lkIF9fY29uc3RydWN0b3IgaW5pdF91a3VuaXN0ZCgpCiB7CiAJc3RhdGljIHN0cnVjdCBwYXNz
d2RfZW50cnkgcDE7CkBAIC03Nyw2ICs4Myw4IEBAIHZvaWQgX19jb25zdHJ1Y3RvciBpbml0X3Vr
dW5pc3RkKCkKIAogCVVLX1NMSVNUX0lOSVQoJnBhc3N3ZHMpOwogCVVLX1NMSVNUX0lOU0VSVF9I
RUFEKCZwYXNzd2RzLCAmcDEsIGVudHJpZXMpOworCisJaW5pdF9ncm91cHMoKTsKIH0KIAogdWlk
X3QgZ2V0dWlkKHZvaWQpCkBAIC0zMjgsMyArMzM2LDU5IEBAIGludCBnZXRncm5hbV9yKGNvbnN0
IGNoYXIgKm5hbWUsIHN0cnVjdCBncm91cCAqZ3JwLAogCiAJcmV0dXJuIDA7CiB9CisKK3N0cnVj
dCBncm91cCAqZ2V0Z3JnaWQoZ2lkX3QgZ2lkKQoreworCXN0cnVjdCBncm91cCAqcmVzOworCisJ
aWYgKGdpZCA9PSBnX18uZ3JfZ2lkKQorCQlyZXMgPSAmZ19fOworCWVsc2UgeworCQlyZXMgPSBO
VUxMOworCQllcnJubyA9IEVOT0VOVDsKKwl9CisKKwlyZXR1cm4gcmVzOworfQorCitzdGF0aWMg
c3RydWN0IGdyb3VwX2VudHJ5IHsKKwlzdHJ1Y3QgZ3JvdXAgKmdyb3VwOworCVVLX1NMSVNUX0VO
VFJZKHN0cnVjdCBncm91cF9lbnRyeSkgZW50cmllczsKK30gKmdyb3Vwc19pdGVyOworCitVS19T
TElTVF9IRUFEKHVrX2dyb3VwX2VudHJ5X2xpc3QsIHN0cnVjdCBncm91cF9lbnRyeSk7CisKK3N0
YXRpYyBzdHJ1Y3QgdWtfZ3JvdXBfZW50cnlfbGlzdCBncm91cHM7CisKK3N0YXRpYyB2b2lkIGlu
aXRfZ3JvdXBzKHZvaWQpCit7CisJc3RhdGljIHN0cnVjdCBncm91cF9lbnRyeSBnZTsKKworCWdl
Lmdyb3VwID0gJmdfXzsKKwlVS19TTElTVF9JTklUKCZncm91cHMpOworCVVLX1NMSVNUX0lOU0VS
VF9IRUFEKCZncm91cHMsICZnZSwgZW50cmllcyk7Cit9CisKK3ZvaWQgc2V0Z3JlbnQodm9pZCkK
K3sKKwlncm91cHNfaXRlciA9IFVLX1NMSVNUX0ZJUlNUKCZncm91cHMpOworfQorCit2b2lkIGVu
ZGdyZW50KHZvaWQpCit7CisJc2V0Z3JlbnQoKTsKK30KKworc3RydWN0IGdyb3VwICpnZXRncmVu
dCh2b2lkKQoreworCXN0cnVjdCBncm91cCAqcmVzOworCisJaWYgKGdyb3Vwc19pdGVyKSB7CisJ
CXJlcyA9IGdyb3Vwc19pdGVyLT5ncm91cDsKKwkJZ3JvdXBzX2l0ZXIgPSBVS19TTElTVF9ORVhU
KGdyb3Vwc19pdGVyLCBlbnRyaWVzKTsKKwl9IGVsc2UKKwkJcmVzID0gTlVMTDsKKworCXJldHVy
biByZXM7CisKK30KLS0gCjIuMjAuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxp
c3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9s
aXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Fri Dec 06 13:41:26 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 06 Dec 2019 13:41:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1idDrK-0005PD-LD; Fri, 06 Dec 2019 13:41:26 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=pm4d=Z4=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1idDrJ-0005Oq-ME
 for minios-devel@lists.xen.org; Fri, 06 Dec 2019 13:41:25 +0000
X-Inumbo-ID: 10ccd9c6-182e-11ea-999e-bc764e2007e4
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id 10ccd9c6-182e-11ea-999e-bc764e2007e4;
 Fri, 06 Dec 2019 13:41:12 +0000 (UTC)
IronPort-SDR: 6BSSWYPuW2gwapJ19RvfzyARVqsS6JRXvJi7ZfbYviE+z6MlY+8U0FC5cQKXadyIaljwkRJKFa
 ai2cv7tXclSA==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 06 Dec 2019 15:41:09 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 7B3A51A60136;
 Fri,  6 Dec 2019 15:41:09 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id mtUqw5IbcnaL; Fri,  6 Dec 2019 15:41:09 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 5FA3D1A601BF;
 Fri,  6 Dec 2019 15:41:09 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id NgR7eLddzhIn; Fri,  6 Dec 2019 15:41:09 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 46ADD1A60206;
 Fri,  6 Dec 2019 15:41:09 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Fri,  6 Dec 2019 15:41:03 +0200
Message-Id: <20191206134105.23225-5-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191206134105.23225-1-costin.lupu@cs.pub.ro>
References: <20191206134105.23225-1-costin.lupu@cs.pub.ro>
Subject: [Minios-devel] [UNIKRAFT PATCH 4/6] lib/uktime: Introduce POSIX
 timer stubs
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

V2Ugc2ltcGx5IGludHJvZHVjZSB0aGUgc3R1YnMgZm9yIHRoZXNlIGZ1bmN0aW9ucy4gVGhleSB3
aWxsIGhhdmUgdG8gYmUKaW1wbGVtZW50ZWQgbGF0ZXIsIHRoZXJlZm9yZSB3ZSBkbyBub3QgYWRk
IGFueSBsaWNlbnNlIGZvciBub3cuCgpTaWduZWQtb2ZmLWJ5OiBDb3N0aW4gTHVwdSA8Y29zdGlu
Lmx1cHVAY3MucHViLnJvPgotLS0KIGxpYi91a3RpbWUvTWFrZWZpbGUudWsgfCAgMyArKysKIGxp
Yi91a3RpbWUvdGltZXIuYyAgICAgfCAzOSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgNDIgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUg
MTAwNjQ0IGxpYi91a3RpbWUvdGltZXIuYwoKZGlmZiAtLWdpdCBhL2xpYi91a3RpbWUvTWFrZWZp
bGUudWsgYi9saWIvdWt0aW1lL01ha2VmaWxlLnVrCmluZGV4IDQ3ZmJiNGIzLi43YTAzOTczOCAx
MDA2NDQKLS0tIGEvbGliL3VrdGltZS9NYWtlZmlsZS51aworKysgYi9saWIvdWt0aW1lL01ha2Vm
aWxlLnVrCkBAIC01LDkgKzUsMTIgQEAgTElCVUtUSU1FX0NPTU1PTl9JTkNMVURFUy15ICAgICAg
Kz0gLUkkKExJQlVLVElNRV9CQVNFKS9tdXNsLWltcG9ydGVkL2luY2x1ZGUKIENJTkNMVURFUy0k
KENPTkZJR19MSUJVS1RJTUUpICAgICs9ICQoTElCVUtUSU1FX0NPTU1PTl9JTkNMVURFUy15KQog
Q1hYSU5DTFVERVMtJChDT05GSUdfTElCVUtUSU1FKSAgKz0gJChMSUJVS1RJTUVfQ09NTU9OX0lO
Q0xVREVTLXkpCiAKK0xJQlVLVElNRV9DRkxBR1MteSArPSAtV25vLXVudXNlZC1wYXJhbWV0ZXIK
KwogTElCVUtUSU1FX1NSQ1MteSArPSAkKExJQlVLVElNRV9CQVNFKS9tdXNsLWltcG9ydGVkL3Ny
Yy9fX21vbnRoX3RvX3NlY3MuYwogTElCVUtUSU1FX1NSQ1MteSArPSAkKExJQlVLVElNRV9CQVNF
KS9tdXNsLWltcG9ydGVkL3NyYy9fX3NlY3NfdG9fdG0uYwogTElCVUtUSU1FX1NSQ1MteSArPSAk
KExJQlVLVElNRV9CQVNFKS9tdXNsLWltcG9ydGVkL3NyYy90aW1lZ20uYwogTElCVUtUSU1FX1NS
Q1MteSArPSAkKExJQlVLVElNRV9CQVNFKS9tdXNsLWltcG9ydGVkL3NyYy9fX3RtX3RvX3NlY3Mu
YwogTElCVUtUSU1FX1NSQ1MteSArPSAkKExJQlVLVElNRV9CQVNFKS9tdXNsLWltcG9ydGVkL3Ny
Yy9fX3llYXJfdG9fc2Vjcy5jCiBMSUJVS1RJTUVfU1JDUy15ICs9ICQoTElCVUtUSU1FX0JBU0Up
L3RpbWUuYworTElCVUtUSU1FX1NSQ1MteSArPSAkKExJQlVLVElNRV9CQVNFKS90aW1lci5jCmRp
ZmYgLS1naXQgYS9saWIvdWt0aW1lL3RpbWVyLmMgYi9saWIvdWt0aW1lL3RpbWVyLmMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAuLjYwZDE1OWM5Ci0tLSAvZGV2L251bGwKKysr
IGIvbGliL3VrdGltZS90aW1lci5jCkBAIC0wLDAgKzEsMzkgQEAKKyNpbmNsdWRlIDxlcnJuby5o
PgorI2luY2x1ZGUgPHRpbWUuaD4KKyNpbmNsdWRlIDx1ay9wcmludC5oPgorCisKK2ludCB0aW1l
cl9jcmVhdGUoY2xvY2tpZF90IGNsb2NraWQsIHN0cnVjdCBzaWdldmVudCAqX19yZXN0cmljdCBz
ZXZwLCB0aW1lcl90ICpfX3Jlc3RyaWN0IHRpbWVyaWQpCit7CisJV0FSTl9TVFVCQkVEKCk7CisJ
ZXJybm8gPSBFTk9UU1VQOworCXJldHVybiAtMTsKK30KKworaW50IHRpbWVyX2RlbGV0ZSh0aW1l
cl90IHRpbWVyaWQpCit7CisJV0FSTl9TVFVCQkVEKCk7CisJZXJybm8gPSBFTk9UU1VQOworCXJl
dHVybiAtMTsKK30KKworaW50IHRpbWVyX3NldHRpbWUodGltZXJfdCB0aW1lcmlkLCBpbnQgZmxh
Z3MsIGNvbnN0IHN0cnVjdCBpdGltZXJzcGVjICpfX3Jlc3RyaWN0IG5ld192YWx1ZSwgc3RydWN0
IGl0aW1lcnNwZWMgKl9fcmVzdHJpY3Qgb2xkX3ZhbHVlKQoreworCVdBUk5fU1RVQkJFRCgpOwor
CWVycm5vID0gRU5PVFNVUDsKKwlyZXR1cm4gLTE7Cit9CisKK2ludCB0aW1lcl9nZXR0aW1lKHRp
bWVyX3QgdGltZXJpZCwgc3RydWN0IGl0aW1lcnNwZWMgKmN1cnJfdmFsdWUpCit7CisJV0FSTl9T
VFVCQkVEKCk7CisJZXJybm8gPSBFTk9UU1VQOworCXJldHVybiAtMTsKK30KKworaW50IHRpbWVy
X2dldG92ZXJydW4odGltZXJfdCB0aW1lcmlkKQoreworCVdBUk5fU1RVQkJFRCgpOworCWVycm5v
ID0gRU5PVFNVUDsKKwlyZXR1cm4gLTE7Cit9Ci0tIAoyLjIwLjEKCgpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0
Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2pl
Y3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Sun Dec 08 09:55:26 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 08 Dec 2019 09:55:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1idtHf-0007ao-SZ; Sun, 08 Dec 2019 09:55:23 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=qLlK=Z6=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1idtHf-0007aj-FZ
 for minios-devel@lists.xen.org; Sun, 08 Dec 2019 09:55:23 +0000
X-Inumbo-ID: d8aae1ea-19a0-11ea-b6f1-bc764e2007e4
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id d8aae1ea-19a0-11ea-b6f1-bc764e2007e4;
 Sun, 08 Dec 2019 09:55:21 +0000 (UTC)
IronPort-SDR: +pKE1ib7sUVRoJlhTNosBWCfaU8/KKSnZOsSOTKIRQ8IzHBGQJ1Xs1SEl+GWMntiCqVORtT6jS
 Ww8fjIktPVwA==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 08 Dec 2019 11:55:17 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 918A71A60E2D;
 Sun,  8 Dec 2019 11:55:17 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id Shm7DGMj3F4I; Sun,  8 Dec 2019 11:55:17 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 750961A61024;
 Sun,  8 Dec 2019 11:55:17 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id h5Zx1PBnjfp6; Sun,  8 Dec 2019 11:55:17 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 5F30E1A60E2D;
 Sun,  8 Dec 2019 11:55:17 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Sun,  8 Dec 2019 11:54:52 +0200
Message-Id: <20191208095507.27384-2-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191208095507.27384-1-costin.lupu@cs.pub.ro>
References: <20191208095507.27384-1-costin.lupu@cs.pub.ro>
Subject: [Minios-devel] [UNIKRAFT/RUBY PATCH 01/16] Introduce library
 skeleton
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com, Andrei Gogonea <andrei.gogonea09@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogQW5kcmVpIEdvZ29uZWEgPGFuZHJlaS5nb2dvbmVhMDlAZ21haWwuY29tPgoKV2UgdXNl
IHRoZSBCU0QtMyBsaWNlbnNlLgoKU2lnbmVkLW9mZi1ieTogQW5kcmVpIEdvZ29uZWEgPGFuZHJl
aS5nb2dvbmVhMDlAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBDb3N0aW4gTHVwdSA8Y29zdGlu
Lmx1cHVAY3MucHViLnJvPgotLS0KIC5naXRpZ25vcmUgICAgICB8IDI3ICsrKysrKysrKysrKysr
KysrKysrKysrKysrKwogQ09ESU5HX1NUWUxFLm1kIHwgIDQgKysrKwogQ09OVFJJQlVUSU5HLm1k
IHwgIDQgKysrKwogQ09QWUlORy5tZCAgICAgIHwgMzkgKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrCiBDb25maWcudWsgICAgICAgfCAxMCArKysrKysrKysrCiBNQUlOVEFJ
TkVSUy5tZCAgfCAxMSArKysrKysrKysrKwogUkVBRE1FLm1kICAgICAgIHwgIDkgKysrKysrKysr
CiA3IGZpbGVzIGNoYW5nZWQsIDEwNCBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQg
LmdpdGlnbm9yZQogY3JlYXRlIG1vZGUgMTAwNjQ0IENPRElOR19TVFlMRS5tZAogY3JlYXRlIG1v
ZGUgMTAwNjQ0IENPTlRSSUJVVElORy5tZAogY3JlYXRlIG1vZGUgMTAwNjQ0IENPUFlJTkcubWQK
IGNyZWF0ZSBtb2RlIDEwMDY0NCBDb25maWcudWsKIGNyZWF0ZSBtb2RlIDEwMDY0NCBNQUlOVEFJ
TkVSUy5tZAogY3JlYXRlIG1vZGUgMTAwNjQ0IFJFQURNRS5tZAoKZGlmZiAtLWdpdCBhLy5naXRp
Z25vcmUgYi8uZ2l0aWdub3JlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc1
ZDJmZDMKLS0tIC9kZXYvbnVsbAorKysgYi8uZ2l0aWdub3JlCkBAIC0wLDAgKzEsMjcgQEAKKyou
ZGVwZW5kCisqLm8KKyouYQorKi5kCisqLnNvCisqLm9yaWcKKyoucmVqCisqLmJhaworKi5zd3AK
Kyp+CissKgorXCMqXCMKKy5cIyoKK1wjXypcIworLlwjXyoKKyEuZ2l0aWdub3JlCisuKgorCisj
IGdudSBnbG9iYWwgZmlsZXMKK0dQQVRICitHUlRBR1MKK0dTWU1TCitHVEFHUworCisjIGNzY29w
ZSBmaWxlcworY3Njb3BlLioKK25jc2NvcGUuKgpkaWZmIC0tZ2l0IGEvQ09ESU5HX1NUWUxFLm1k
IGIvQ09ESU5HX1NUWUxFLm1kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU3
MzAwNDEKLS0tIC9kZXYvbnVsbAorKysgYi9DT0RJTkdfU1RZTEUubWQKQEAgLTAsMCArMSw0IEBA
CitDb2RpbmcgU3R5bGUKKz09PT09PT09PT09PQorCitQbGVhc2UgcmVmZXIgdG8gdGhlIGBDT0RJ
TkdfU1RZTEUubWRgIGZpbGUgaW4gdGhlIG1haW4gVW5pa3JhZnQgcmVwb3NpdG9yeS4KZGlmZiAt
LWdpdCBhL0NPTlRSSUJVVElORy5tZCBiL0NPTlRSSUJVVElORy5tZApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi4xNGY2YWM2Ci0tLSAvZGV2L251bGwKKysrIGIvQ09OVFJJQlVU
SU5HLm1kCkBAIC0wLDAgKzEsNCBAQAorQ29udHJpYnV0aW5nIHRvIFVuaWtyYWZ0Cis9PT09PT09
PT09PT09PT09PT09PT09PT0KKworUGxlYXNlIHJlZmVyIHRvIHRoZSBgQ09OVFJJQlVUSU5HLm1k
YCBmaWxlIGluIHRoZSBtYWluIFVuaWtyYWZ0IHJlcG9zaXRvcnkuCmRpZmYgLS1naXQgYS9DT1BZ
SU5HLm1kIGIvQ09QWUlORy5tZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40
ZjAxZWNhCi0tLSAvZGV2L251bGwKKysrIGIvQ09QWUlORy5tZApAQCAtMCwwICsxLDM5IEBACitM
aWNlbnNlCis9PT09PT09CisKK1VuaWtyYWZ0ICRsaWJuYW1lIHdyYXBwZXJzCistLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1RoaXMgcmVwb3NpdG9yeSBjb250YWlucyB3cmFw
cGVyIGNvZGUgdG8gYnVpbGQgJGxpYm5hbWUgd2l0aCBVbmlrcmFmdC4KK0VhY2ggQyBjb2RlIGZp
bGUgaW4gdGhpcyByZXBvc2l0b3J5IHNob3VsZCBkZWNsYXJlIHdobyBpcyB0aGUKK2NvcHlyaWdo
dCBvd25lciBhbmQgdW5kZXIgd2hpY2ggdGVybXMgYW5kIGNvbmRpdGlvbnMgdGhlIGNvZGUgaXMK
K2xpY2Vuc2VkLiBJZiBzdWNoIGEgbGljZW5jZSBub3RlIGlzIG1pc3NpbmcsIHRoZSBmb2xsb3dp
bmcgY29weXJpZ2h0Citub3RpY2Ugd2lsbCBhcHBseToKKworCUNvcHlyaWdodCAoYykgWWVhciwg
SW5zdGl0dXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisKKwlSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKwltb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKwlhcmUgbWV0OgorCisJMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKwkgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisJMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKwkgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisJICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKwkzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBj
b3B5cmlnaHQgaG9sZGVyIG5vciB0aGUgbmFtZXMgb2YgaXRzCisJICAgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKwkg
ICB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorCisJVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiCisJQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorCUlNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFCisJQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQg
SE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRQorCUxJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKwlDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorCVNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworCUlOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisJQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKwlBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRQorCVBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCmRpZmYgLS1naXQgYS9D
b25maWcudWsgYi9Db25maWcudWsKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
YTExYmUzNAotLS0gL2Rldi9udWxsCisrKyBiL0NvbmZpZy51awpAQCAtMCwwICsxLDEwIEBACitt
ZW51Y29uZmlnIExJQlJVQlkKKwlib29sICJSdWJ5IgorCWRlZmF1bHQgbgorCXNlbGVjdCBMSUJO
T0xJQkMgaWYgIUhBVkVfTElCQworCXNlbGVjdCBMSUJVS0RFQlVHCisJc2VsZWN0IExJQlVLQUxM
T0MKKwlzZWxlY3QgTElCVUtTQ0hFRAorCitpZiBMSUJSVUJZCitlbmRpZgpkaWZmIC0tZ2l0IGEv
TUFJTlRBSU5FUlMubWQgYi9NQUlOVEFJTkVSUy5tZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi4yZGFlNTlmCi0tLSAvZGV2L251bGwKKysrIGIvTUFJTlRBSU5FUlMubWQKQEAg
LTAsMCArMSwxMSBAQAorTWFpbnRhaW5lcnMgTGlzdAorPT09PT09PT09PT09PT09PQorCitGb3Ig
bm90ZXMgb24gaG93IHRvIHJlYWQgdGhpcyBpbmZvcm1hdGlvbiwgcGxlYXNlIHJlZmVyIHRvIGBN
QUlOVEFJTkVSUy5tZGAgaW4KK3RoZSBtYWluIFVuaWtyYWZ0IHJlcG9zaXRvcnkuCisKKwlMSUIk
bGlibmFtZWNhcHMtVU5JS1JBRlQKKwlNOglDb3N0aW4gTHVwdSA8Y29zdGluLmx1cHVAY3MucHVi
LnJvPgorCU06CUZlbGlwZSBIdWljaSA8ZmVsaXBlLmh1aWNpQG5lY2xhYi5ldT4KKwlMOgltaW5p
b3MtZGV2ZWxAbGlzdHMueGVuLm9yZworCUY6ICoKZGlmZiAtLWdpdCBhL1JFQURNRS5tZCBiL1JF
QURNRS5tZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YThkMzgwCi0tLSAv
ZGV2L251bGwKKysrIGIvUkVBRE1FLm1kCkBAIC0wLDAgKzEsOSBAQAorUnVieSBmb3IgVW5pa3Jh
ZnQKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKK1RoaXMgaXMgdGhlIHBvcnQgb2Yg
UnVieSBmb3IgVW5pa3JhZnQgYXMgZXh0ZXJuYWwgbGlicmFyeS4KKworVE9ETworCitQbGVhc2Ug
cmVmZXIgdG8gdGhlIGBSRUFETUUubWRgIGFzIHdlbGwgYXMgdGhlIGRvY3VtZW50YXRpb24gaW4g
dGhlIGBkb2MvYAorc3ViZGlyZWN0b3J5IG9mIHRoZSBtYWluIHVuaWtyYWZ0IHJlcG9zaXRvcnku
Ci0tIAoyLjIwLjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9q
ZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWlu
aW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Sun Dec 08 09:55:27 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 08 Dec 2019 09:55:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1idtHi-0007bC-U1; Sun, 08 Dec 2019 09:55:26 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=qLlK=Z6=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1idtHh-0007aw-TJ
 for minios-devel@lists.xen.org; Sun, 08 Dec 2019 09:55:25 +0000
X-Inumbo-ID: da3cc65e-19a0-11ea-8694-12813bfff9fa
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id da3cc65e-19a0-11ea-8694-12813bfff9fa;
 Sun, 08 Dec 2019 09:55:24 +0000 (UTC)
IronPort-SDR: PLWL6Zf4CfRVZUXGeyE15sE7kJPhvNaqSEv9e6IyrZTdAcCGDSxXyYAzhLCWgrV5Ti66gD778X
 2bKXCEUXACzA==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 08 Dec 2019 11:55:17 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 9AE281A60647;
 Sun,  8 Dec 2019 11:55:17 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id HHwllkQm5pZK; Sun,  8 Dec 2019 11:55:17 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 79BD41A6105A;
 Sun,  8 Dec 2019 11:55:17 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id CTI7vWvT9y-I; Sun,  8 Dec 2019 11:55:17 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 630641A60EC5;
 Sun,  8 Dec 2019 11:55:17 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Sun,  8 Dec 2019 11:54:53 +0200
Message-Id: <20191208095507.27384-3-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191208095507.27384-1-costin.lupu@cs.pub.ro>
References: <20191208095507.27384-1-costin.lupu@cs.pub.ro>
Subject: [Minios-devel] [UNIKRAFT/RUBY PATCH 02/16] ruby/config.h: Introduce
 generated configuration file
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com, Andrei Gogonea <andrei.gogonea09@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogQW5kcmVpIEdvZ29uZWEgPGFuZHJlaS5nb2dvbmVhMDlAZ21haWwuY29tPgoKU2lnbmVk
LW9mZi1ieTogQW5kcmVpIEdvZ29uZWEgPGFuZHJlaS5nb2dvbmVhMDlAZ21haWwuY29tPgpTaWdu
ZWQtb2ZmLWJ5OiBDb3N0aW4gTHVwdSA8Y29zdGluLmx1cHVAY3MucHViLnJvPgotLS0KIGluY2x1
ZGUvcnVieS9jb25maWcuaCB8IDQyNSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA0MjUgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUg
MTAwNjQ0IGluY2x1ZGUvcnVieS9jb25maWcuaAoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvcnVieS9j
b25maWcuaCBiL2luY2x1ZGUvcnVieS9jb25maWcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi43NDM3ZjIxCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9ydWJ5L2NvbmZp
Zy5oCkBAIC0wLDAgKzEsNDI1IEBACisjaWZuZGVmIElOQ0xVREVfUlVCWV9DT05GSUdfSAorI2Rl
ZmluZSBJTkNMVURFX1JVQllfQ09ORklHX0ggMQorLyogY29uZmRlZnMuaCAqLworI2RlZmluZSBT
VERDX0hFQURFUlMgMQorI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKKyNkZWZpbmUgSEFWRV9T
WVNfU1RBVF9IIDEKKyNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCisjZGVmaW5lIEhBVkVfU1RSSU5H
X0ggMQorI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKKyNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQor
I2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQorI2RlZmluZSBIQVZFX1NURElOVF9IIDEKKyNkZWZp
bmUgSEFWRV9VTklTVERfSCAxCisjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKKyNkZWZpbmUgX0FM
TF9TT1VSQ0UgMQorI2RlZmluZSBfR05VX1NPVVJDRSAxCisjZGVmaW5lIF9QT1NJWF9QVEhSRUFE
X1NFTUFOVElDUyAxCisjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKKyNkZWZpbmUgUlVCWV9TWU1C
T0xfRVhQT1JUX0JFR0lOIF9QcmFnbWEoIkdDQyB2aXNpYmlsaXR5IHB1c2goZGVmYXVsdCkiKQor
I2RlZmluZSBSVUJZX1NZTUJPTF9FWFBPUlRfRU5EIF9QcmFnbWEoIkdDQyB2aXNpYmlsaXR5IHBv
cCIpCisjZGVmaW5lIEhBVkVfU1RNVF9BTkRfREVDTF9JTl9FWFBSIDEKKyNkZWZpbmUgSEFWRV9M
SUJDUllQVCAxCisjZGVmaW5lIEhBVkVfTElCREwgMQorI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEK
KyNkZWZpbmUgSEFWRV9fQk9PTCAxCisjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKKyNkZWZpbmUg
SEFWRV9TWVNfV0FJVF9IIDEKKyNkZWZpbmUgSEFWRV9BX09VVF9IIDEKKyNkZWZpbmUgSEFWRV9H
UlBfSCAxCisjZGVmaW5lIEhBVkVfRkNOVExfSCAxCisjZGVmaW5lIEhBVkVfRkxPQVRfSCAxCisj
ZGVmaW5lIEhBVkVfTEFOR0lORk9fSCAxCisjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQorI2RlZmlu
ZSBIQVZFX0xPQ0FMRV9IIDEKKyNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCisjZGVmaW5lIEhBVkVf
UFdEX0ggMQorI2RlZmluZSBIQVZFX1NBTklUSVpFUl9BU0FOX0lOVEVSRkFDRV9IIDEKKyNkZWZp
bmUgSEFWRV9TVERBTElHTl9IIDEKKyNkZWZpbmUgSEFWRV9TWVNfRVZFTlRGRF9IIDEKKyNkZWZp
bmUgSEFWRV9TWVNfRkNOVExfSCAxCisjZGVmaW5lIEhBVkVfU1lTX0ZJTEVfSCAxCisjZGVmaW5l
IEhBVkVfU1lTX0lPQ1RMX0ggMQorI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKKyNkZWZpbmUg
SEFWRV9TWVNfUFJDVExfSCAxCisjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQorI2RlZmlu
ZSBIQVZFX1NZU19TRUxFQ1RfSCAxCisjZGVmaW5lIEhBVkVfU1lTX1NFTkRGSUxFX0ggMQorI2Rl
ZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCisjZGVmaW5lIEhBVkVfU1lTX1NZU0NBTExfSCAxCisj
ZGVmaW5lIEhBVkVfU1lTX1NZU01BQ1JPU19IIDEKKyNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEK
KyNkZWZpbmUgSEFWRV9TWVNfVElNRVNfSCAxCisjZGVmaW5lIEhBVkVfU1lTX1VJT19IIDEKKyNk
ZWZpbmUgSEFWRV9TWVNDQUxMX0ggMQorI2RlZmluZSBIQVZFX1RJTUVfSCAxCisjZGVmaW5lIEhB
VkVfVUNPTlRFWFRfSCAxCisjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCisjZGVmaW5lIEhBVkVfVFlQ
RU9GIDEKKyNkZWZpbmUgSEFWRV9MT05HX0xPTkcgMQorI2RlZmluZSBIQVZFX09GRl9UIDEKKyNk
ZWZpbmUgU0laRU9GX0lOVCA0CisjZGVmaW5lIFNJWkVPRl9TSE9SVCAyCisjZGVmaW5lIFNJWkVP
Rl9MT05HIDgKKyNkZWZpbmUgU0laRU9GX0xPTkdfTE9ORyA4CisjZGVmaW5lIFNJWkVPRl9fX0lO
VDY0IDAKKyNkZWZpbmUgU0laRU9GX19fSU5UMTI4IDE2CisjZGVmaW5lIFNJWkVPRl9PRkZfVCA4
CisjZGVmaW5lIFNJWkVPRl9WT0lEUCA4CisjZGVmaW5lIFNJWkVPRl9GTE9BVCA0CisjZGVmaW5l
IFNJWkVPRl9ET1VCTEUgOAorI2RlZmluZSBTSVpFT0ZfVElNRV9UIDgKKyNkZWZpbmUgU0laRU9G
X0NMT0NLX1QgOAorI2RlZmluZSBQQUNLRURfU1RSVUNUKHgpIHggX19hdHRyaWJ1dGVfXygocGFj
a2VkKSkKKyNkZWZpbmUgVVNFX1VOQUxJR05FRF9NRU1CRVJfQUNDRVNTIDEKKyNkZWZpbmUgUFJJ
X0xMX1BSRUZJWCAibGwiCisjZGVmaW5lIEhBVkVfUElEX1QgMQorI2RlZmluZSByYl9waWRfdCBw
aWRfdAorI2RlZmluZSBTSUdORURORVNTX09GX1BJRF9UIC0xCisjZGVmaW5lIFBJRFQyTlVNKHYp
IElOVDJOVU0odikKKyNkZWZpbmUgTlVNMlBJRFQodikgTlVNMklOVCh2KQorI2RlZmluZSBQUklf
UElEVF9QUkVGSVggUFJJX0lOVF9QUkVGSVgKKyNkZWZpbmUgSEFWRV9VSURfVCAxCisjZGVmaW5l
IHJiX3VpZF90IHVpZF90CisjZGVmaW5lIFNJR05FRE5FU1NfT0ZfVUlEX1QgKzEKKyNkZWZpbmUg
VUlEVDJOVU0odikgVUlOVDJOVU0odikKKyNkZWZpbmUgTlVNMlVJRFQodikgTlVNMlVJTlQodikK
KyNkZWZpbmUgUFJJX1VJRFRfUFJFRklYIFBSSV9JTlRfUFJFRklYCisjZGVmaW5lIEhBVkVfR0lE
X1QgMQorI2RlZmluZSByYl9naWRfdCBnaWRfdAorI2RlZmluZSBTSUdORURORVNTX09GX0dJRF9U
ICsxCisjZGVmaW5lIEdJRFQyTlVNKHYpIFVJTlQyTlVNKHYpCisjZGVmaW5lIE5VTTJHSURUKHYp
IE5VTTJVSU5UKHYpCisjZGVmaW5lIFBSSV9HSURUX1BSRUZJWCBQUklfSU5UX1BSRUZJWAorI2Rl
ZmluZSBIQVZFX1RJTUVfVCAxCisjZGVmaW5lIHJiX3RpbWVfdCB0aW1lX3QKKyNkZWZpbmUgU0lH
TkVETkVTU19PRl9USU1FX1QgLTEKKyNkZWZpbmUgVElNRVQyTlVNKHYpIExPTkcyTlVNKHYpCisj
ZGVmaW5lIE5VTTJUSU1FVCh2KSBOVU0yTE9ORyh2KQorI2RlZmluZSBQUklfVElNRVRfUFJFRklY
IFBSSV9MT05HX1BSRUZJWAorI2RlZmluZSBIQVZFX0RFVl9UIDEKKyNkZWZpbmUgcmJfZGV2X3Qg
ZGV2X3QKKyNkZWZpbmUgU0lHTkVETkVTU19PRl9ERVZfVCArMQorI2RlZmluZSBERVZUMk5VTSh2
KSBVTE9ORzJOVU0odikKKyNkZWZpbmUgTlVNMkRFVlQodikgTlVNMlVMT05HKHYpCisjZGVmaW5l
IFBSSV9ERVZUX1BSRUZJWCBQUklfTE9OR19QUkVGSVgKKyNkZWZpbmUgSEFWRV9NT0RFX1QgMQor
I2RlZmluZSByYl9tb2RlX3QgbW9kZV90CisjZGVmaW5lIFNJR05FRE5FU1NfT0ZfTU9ERV9UICsx
CisjZGVmaW5lIE1PREVUMk5VTSh2KSBVSU5UMk5VTSh2KQorI2RlZmluZSBOVU0yTU9ERVQodikg
TlVNMlVJTlQodikKKyNkZWZpbmUgUFJJX01PREVUX1BSRUZJWCBQUklfSU5UX1BSRUZJWAorI2Rl
ZmluZSBIQVZFX1JMSU1fVCAxCisjZGVmaW5lIHJiX3JsaW1fdCBybGltX3QKKyNkZWZpbmUgU0lH
TkVETkVTU19PRl9STElNX1QgKzEKKyNkZWZpbmUgUkxJTTJOVU0odikgVUxPTkcyTlVNKHYpCisj
ZGVmaW5lIE5VTTJSTElNKHYpIE5VTTJVTE9ORyh2KQorI2RlZmluZSBQUklfUkxJTV9QUkVGSVgg
UFJJX0xPTkdfUFJFRklYCisjZGVmaW5lIEhBVkVfT0ZGX1QgMQorI2RlZmluZSByYl9vZmZfdCBv
ZmZfdAorI2RlZmluZSBTSUdORURORVNTX09GX09GRl9UIC0xCisjZGVmaW5lIE9GRlQyTlVNKHYp
IExPTkcyTlVNKHYpCisjZGVmaW5lIE5VTTJPRkZUKHYpIE5VTTJMT05HKHYpCisjZGVmaW5lIFBS
SV9PRkZUX1BSRUZJWCBQUklfTE9OR19QUkVGSVgKKyNkZWZpbmUgSEFWRV9DTE9DS0lEX1QgMQor
I2RlZmluZSByYl9jbG9ja2lkX3QgY2xvY2tpZF90CisjZGVmaW5lIFNJR05FRE5FU1NfT0ZfQ0xP
Q0tJRF9UIC0xCisjZGVmaW5lIENMT0NLSUQyTlVNKHYpIElOVDJOVU0odikKKyNkZWZpbmUgTlVN
MkNMT0NLSUQodikgTlVNMklOVCh2KQorI2RlZmluZSBQUklfQ0xPQ0tJRF9QUkVGSVggUFJJX0lO
VF9QUkVGSVgKKyNkZWZpbmUgSEFWRV9QUk9UT1RZUEVTIDEKKyNkZWZpbmUgVE9LRU5fUEFTVEUo
eCx5KSB4IyN5CisjZGVmaW5lIFNUUklOR0laRShleHByKSBTVFJJTkdJWkUwKGV4cHIpCisjZGVm
aW5lIEhBVkVfU1REQVJHX1BST1RPVFlQRVMgMQorI2RlZmluZSBIQVZFX1ZBX0FSR1NfTUFDUk8g
MQorI2RlZmluZSBSVUJZX0FMSUdOQVMoeCkgX19hdHRyaWJ1dGVfXygoX19hbGlnbmVkX18oeCkp
KQorI2RlZmluZSBSVUJZX0FMSUdOT0YgYWxpZ25vZgorI2RlZmluZSBDT05TVEZVTkMoeCkgX19h
dHRyaWJ1dGVfXyAoKF9fY29uc3RfXykpIHgKKyNkZWZpbmUgUFVSRUZVTkMoeCkgX19hdHRyaWJ1
dGVfXyAoKF9fcHVyZV9fKSkgeAorI2RlZmluZSBOT1JFVFVSTih4KSBfX2F0dHJpYnV0ZV9fICgo
X19ub3JldHVybl9fKSkgeAorI2RlZmluZSBERVBSRUNBVEVEKHgpIF9fYXR0cmlidXRlX18gKChf
X2RlcHJlY2F0ZWRfXykpIHgKKyNkZWZpbmUgREVQUkVDQVRFRF9CWShuLHgpIF9fYXR0cmlidXRl
X18gKChfX2RlcHJlY2F0ZWRfXygiYnkgIiNuKSkpIHgKKyNkZWZpbmUgREVQUkVDQVRFRF9UWVBF
KG1lc2cseCkgX19hdHRyaWJ1dGVfXyAoKF9fZGVwcmVjYXRlZF9fIG1lc2cpKSB4CisjZGVmaW5l
IE5PSU5MSU5FKHgpIF9fYXR0cmlidXRlX18gKChfX25vaW5saW5lX18pKSB4CisjZGVmaW5lIEFM
V0FZU19JTkxJTkUoeCkgX19hdHRyaWJ1dGVfXyAoKF9fYWx3YXlzX2lubGluZV9fKSkgeAorI2Rl
ZmluZSBOT19TQU5JVElaRShzYW4sIHgpIF9fYXR0cmlidXRlX18gKChfX25vX3Nhbml0aXplX18o
c2FuKSkpIHgKKyNkZWZpbmUgTk9fU0FOSVRJWkVfQUREUkVTUyh4KSBfX2F0dHJpYnV0ZV9fICgo
X19ub19zYW5pdGl6ZV9hZGRyZXNzX18pKSB4CisjZGVmaW5lIE5PX0FERFJFU1NfU0FGRVRZX0FO
QUxZU0lTKHgpIF9fYXR0cmlidXRlX18gKChfX25vX2FkZHJlc3Nfc2FmZXR5X2FuYWx5c2lzX18p
KSB4CisjZGVmaW5lIFdBUk5fVU5VU0VEX1JFU1VMVCh4KSBfX2F0dHJpYnV0ZV9fICgoX193YXJu
X3VudXNlZF9yZXN1bHRfXykpIHgKKyNkZWZpbmUgTUFZQkVfVU5VU0VEKHgpIF9fYXR0cmlidXRl
X18gKChfX3VudXNlZF9fKSkgeAorI2RlZmluZSBFUlJPUkZVTkMobWVzZyx4KSBfX2F0dHJpYnV0
ZV9fICgoX19lcnJvcl9fIG1lc2cpKSB4CisjZGVmaW5lIFdBUk5JTkdGVU5DKG1lc2cseCkgX19h
dHRyaWJ1dGVfXyAoKF9fd2FybmluZ19fIG1lc2cpKSB4CisjZGVmaW5lIFdFQUsoeCkgX19hdHRy
aWJ1dGVfXyAoKF9fd2Vha19fKSkgeAorI2RlZmluZSBIQVZFX0ZVTkNfV0VBSyAxCisjZGVmaW5l
IEZVTkNfVU5PUFRJTUlaRUQoeCkgX19hdHRyaWJ1dGVfXyAoKF9fb3B0aW1pemVfXygiTzAiKSkp
IHgKKyNkZWZpbmUgRlVOQ19NSU5JTUlaRUQoeCkgX19hdHRyaWJ1dGVfXyAoKF9fb3B0aW1pemVf
XygiLU9zIiwiLWZvbWl0LWZyYW1lLXBvaW50ZXIiKSkpIHgKKyNkZWZpbmUgSEFWRV9BVFRSSUJV
VEVfRlVOQ1RJT05fQUxJQVMgMQorI2RlZmluZSBSVUJZX0FMSUFTX0ZVTkNUSU9OX1RZUEUodHlw
ZSwgcHJvdCwgbmFtZSwgYXJncykgdHlwZSBwcm90IF9fYXR0cmlidXRlX18oKGFsaWFzKCNuYW1l
KSkpOworI2RlZmluZSBSVUJZX0FMSUFTX0ZVTkNUSU9OX1ZPSUQocHJvdCwgbmFtZSwgYXJncykg
UlVCWV9BTElBU19GVU5DVElPTl9UWVBFKHZvaWQsIHByb3QsIG5hbWUsIGFyZ3MpCisjZGVmaW5l
IEhBVkVfR0NDX0FUT01JQ19CVUlMVElOUyAxCisjZGVmaW5lIEhBVkVfR0NDX1NZTkNfQlVJTFRJ
TlMgMQorI2RlZmluZSBVTlJFQUNIQUJMRSBfX2J1aWx0aW5fdW5yZWFjaGFibGUoKQorI2RlZmlu
ZSBSVUJZX0ZVTkNfRVhQT1JURUQgX19hdHRyaWJ1dGVfXyAoKF9fdmlzaWJpbGl0eV9fKCJkZWZh
dWx0IikpKSBleHRlcm4KKyNkZWZpbmUgUlVCWV9GVU5DVElPTl9OQU1FX1NUUklORyBfX2Z1bmNf
XworI2RlZmluZSBFTlVNX09WRVJfSU5UIDEKKyNkZWZpbmUgSEFWRV9ERUNMX1NZU19ORVJSIDEK
KyNkZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAxCisjZGVmaW5lIFNJWkVPRl9TSVpFX1QgOAorI2Rl
ZmluZSBTSVpFT0ZfUFRSRElGRl9UIDgKKyNkZWZpbmUgUFJJX1NJWkVfUFJFRklYICJ6IgorI2Rl
ZmluZSBQUklfUFRSRElGRl9QUkVGSVggInQiCisjZGVmaW5lIEhBVkVfU1RSVUNUX1NUQVRfU1Rf
QkxLU0laRSAxCisjZGVmaW5lIEhBVkVfU1RfQkxLU0laRSAxCisjZGVmaW5lIEhBVkVfU1RSVUNU
X1NUQVRfU1RfQkxPQ0tTIDEKKyNkZWZpbmUgSEFWRV9TVF9CTE9DS1MgMQorI2RlZmluZSBIQVZF
X1NUUlVDVF9TVEFUX1NUX1JERVYgMQorI2RlZmluZSBIQVZFX1NUX1JERVYgMQorI2RlZmluZSBT
SVpFT0ZfU1RSVUNUX1NUQVRfU1RfU0laRSBTSVpFT0ZfT0ZGX1QKKyNkZWZpbmUgU0laRU9GX1NU
UlVDVF9TVEFUX1NUX0JMT0NLUyBTSVpFT0ZfT0ZGX1QKKyNkZWZpbmUgU0laRU9GX1NUUlVDVF9T
VEFUX1NUX0lOTyBTSVpFT0ZfTE9ORworI2RlZmluZSBIQVZFX1NUUlVDVF9TVEFUX1NUX0FUSU0g
MQorI2RlZmluZSBIQVZFX1NUUlVDVF9TVEFUX1NUX01USU0gMQorI2RlZmluZSBIQVZFX1NUUlVD
VF9TVEFUX1NUX0NUSU0gMQorI2RlZmluZSBIQVZFX1NUUlVDVF9USU1FVkFMIDEKKyNkZWZpbmUg
U0laRU9GX1NUUlVDVF9USU1FVkFMX1RWX1NFQyBTSVpFT0ZfVElNRV9UCisjZGVmaW5lIEhBVkVf
U1RSVUNUX1RJTUVTUEVDIDEKKyNkZWZpbmUgSEFWRV9TVFJVQ1RfVElNRVpPTkUgMQorI2RlZmlu
ZSBIQVZFX1JCX0ZEX0lOSVQgMQorI2RlZmluZSBIQVZFX0lOVDhfVCAxCisjZGVmaW5lIFNJWkVP
Rl9JTlQ4X1QgMQorI2RlZmluZSBIQVZFX1VJTlQ4X1QgMQorI2RlZmluZSBTSVpFT0ZfVUlOVDhf
VCAxCisjZGVmaW5lIEhBVkVfSU5UMTZfVCAxCisjZGVmaW5lIFNJWkVPRl9JTlQxNl9UIDIKKyNk
ZWZpbmUgSEFWRV9VSU5UMTZfVCAxCisjZGVmaW5lIFNJWkVPRl9VSU5UMTZfVCAyCisjZGVmaW5l
IEhBVkVfSU5UMzJfVCAxCisjZGVmaW5lIFNJWkVPRl9JTlQzMl9UIDQKKyNkZWZpbmUgSEFWRV9V
SU5UMzJfVCAxCisjZGVmaW5lIFNJWkVPRl9VSU5UMzJfVCA0CisjZGVmaW5lIEhBVkVfSU5UNjRf
VCAxCisjZGVmaW5lIFNJWkVPRl9JTlQ2NF9UIDgKKyNkZWZpbmUgSEFWRV9VSU5UNjRfVCAxCisj
ZGVmaW5lIFNJWkVPRl9VSU5UNjRfVCA4CisjZGVmaW5lIEhBVkVfSU5UMTI4X1QgMQorI2RlZmlu
ZSBpbnQxMjhfdCBfX2ludDEyOAorI2RlZmluZSBTSVpFT0ZfSU5UMTI4X1QgU0laRU9GX19fSU5U
MTI4CisjZGVmaW5lIEhBVkVfVUlOVDEyOF9UIDEKKyNkZWZpbmUgdWludDEyOF90IHVuc2lnbmVk
IF9faW50MTI4CisjZGVmaW5lIFNJWkVPRl9VSU5UMTI4X1QgU0laRU9GX19fSU5UMTI4CisjZGVm
aW5lIEhBVkVfSU5UUFRSX1QgMQorI2RlZmluZSBTSVpFT0ZfSU5UUFRSX1QgOAorI2RlZmluZSBI
QVZFX1VJTlRQVFJfVCAxCisjZGVmaW5lIFNJWkVPRl9VSU5UUFRSX1QgOAorI2RlZmluZSBIQVZF
X1NTSVpFX1QgMQorI2RlZmluZSBTSVpFT0ZfU1NJWkVfVCA4CisjZGVmaW5lIFNUQUNLX0VORF9B
RERSRVNTIF9fbGliY19zdGFja19lbmQKKyNkZWZpbmUgR0VUR1JPVVBTX1QgZ2lkX3QKKyNkZWZp
bmUgUkVUU0lHVFlQRSB2b2lkCisjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQorI2RlZmluZSBIQVZF
X0FMTE9DQSAxCisjZGVmaW5lIEhBVkVfQUNPU0ggMQorI2RlZmluZSBIQVZFX0NCUlQgMQorI2Rl
ZmluZSBIQVZFX0NSWVBUIDEKKyNkZWZpbmUgSEFWRV9EVVAyIDEKKyNkZWZpbmUgSEFWRV9FUkYg
MQorI2RlZmluZSBIQVZFX0VYUExJQ0lUX0JaRVJPIDEKKyNkZWZpbmUgSEFWRV9GRlMgMQorI2Rl
ZmluZSBIQVZFX0ZJTklURSAxCisjZGVmaW5lIEhBVkVfRkxPQ0sgMQorI2RlZmluZSBIQVZFX0hZ
UE9UIDEKKyNkZWZpbmUgSEFWRV9JU0lORiAxCisjZGVmaW5lIEhBVkVfSVNOQU4gMQorI2RlZmlu
ZSBIQVZFX0xHQU1NQV9SIDEKKyNkZWZpbmUgSEFWRV9NRU1NT1ZFIDEKKyNkZWZpbmUgSEFWRV9O
QU4gMQorI2RlZmluZSBIQVZFX05FWFRBRlRFUiAxCisjZGVmaW5lIEhBVkVfU1RSQ0hSIDEKKyNk
ZWZpbmUgSEFWRV9TVFJFUlJPUiAxCisjZGVmaW5lIEhBVkVfU1RSU1RSIDEKKyNkZWZpbmUgSEFW
RV9UR0FNTUEgMQorI2RlZmluZSBTUFRfVFlQRSBTUFRfUkVVU0VBUkdWCisjZGVmaW5lIEhBVkVf
U0lHTkJJVCAxCisjZGVmaW5lIEhBVkVfRk9SSyAxCisjZGVmaW5lIEhBVkVfVkZPUksgMQorI2Rl
ZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQorI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCisj
ZGVmaW5lIEhBVkVfX0xPTkdKTVAgMQorI2RlZmluZSBIQVZFX0FUQU4yTCAxCisjZGVmaW5lIEhB
VkVfQVRBTjJGIDEKKyNkZWZpbmUgSEFWRV9DSFJPT1QgMQorI2RlZmluZSBIQVZFX0NMT0NLX0dF
VFRJTUUgMQorI2RlZmluZSBIQVZFX0NPU0ggMQorI2RlZmluZSBIQVZFX0NSWVBUX1IgMQorI2Rl
ZmluZSBIQVZFX0RJUkZEIDEKKyNkZWZpbmUgSEFWRV9ETF9JVEVSQVRFX1BIRFIgMQorI2RlZmlu
ZSBIQVZFX0RMT1BFTiAxCisjZGVmaW5lIEhBVkVfRExBRERSIDEKKyNkZWZpbmUgSEFWRV9EVVAg
MQorI2RlZmluZSBIQVZFX0RVUDMgMQorI2RlZmluZSBIQVZFX0VBQ0NFU1MgMQorI2RlZmluZSBI
QVZFX0VOREdSRU5UIDEKKyNkZWZpbmUgSEFWRV9FVkVOVEZEIDEKKyNkZWZpbmUgSEFWRV9GQ0hN
T0QgMQorI2RlZmluZSBIQVZFX0ZDSE9XTiAxCisjZGVmaW5lIEhBVkVfRkNOVEwgMQorI2RlZmlu
ZSBIQVZFX0ZEQVRBU1lOQyAxCisjZGVmaW5lIEhBVkVfRkRPUEVORElSIDEKKyNkZWZpbmUgSEFW
RV9GTU9EIDEKKyNkZWZpbmUgSEFWRV9GU1RBVEFUIDEKKyNkZWZpbmUgSEFWRV9GU1lOQyAxCisj
ZGVmaW5lIEhBVkVfRlRSVU5DQVRFIDEKKyNkZWZpbmUgSEFWRV9GVFJVTkNBVEU2NCAxCisjZGVm
aW5lIEhBVkVfR0VUQ1dEIDEKKyNkZWZpbmUgSEFWRV9HRVRHUk5BTSAxCisjZGVmaW5lIEhBVkVf
R0VUR1JOQU1fUiAxCisjZGVmaW5lIEhBVkVfR0VUR1JPVVBTIDEKKyNkZWZpbmUgSEFWRV9HRVRQ
R0lEIDEKKyNkZWZpbmUgSEFWRV9HRVRQR1JQIDEKKyNkZWZpbmUgSEFWRV9HRVRQUklPUklUWSAx
CisjZGVmaW5lIEhBVkVfR0VUUFdOQU1fUiAxCisjZGVmaW5lIEhBVkVfR0VUUkVTR0lEIDEKKyNk
ZWZpbmUgSEFWRV9HRVRSRVNVSUQgMQorI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCisjZGVmaW5l
IEhBVkVfR0VUU0lEIDEKKyNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQorI2RlZmluZSBIQVZF
X0dNVElNRV9SIDEKKyNkZWZpbmUgSEFWRV9HUkFOVFBUIDEKKyNkZWZpbmUgSEFWRV9JTklUR1JP
VVBTIDEKKyNkZWZpbmUgSEFWRV9JT0NUTCAxCisjZGVmaW5lIEhBVkVfS0lMTFBHIDEKKyNkZWZp
bmUgSEFWRV9MQ0hPV04gMQorI2RlZmluZSBIQVZFX0xJTksgMQorI2RlZmluZSBIQVZFX0xMQUJT
IDEKKyNkZWZpbmUgSEFWRV9MT0NLRiAxCisjZGVmaW5lIEhBVkVfTE9HMiAxCisjZGVmaW5lIEhB
VkVfTFNUQVQgMQorI2RlZmluZSBIQVZFX0xVVElNRVMgMQorI2RlZmluZSBIQVZFX01BTExPQ19V
U0FCTEVfU0laRSAxCisjZGVmaW5lIEhBVkVfTUJMRU4gMQorI2RlZmluZSBIQVZFX01FTUFMSUdO
IDEKKyNkZWZpbmUgSEFWRV9XUklURVYgMQorI2RlZmluZSBIQVZFX01FTVJDSFIgMQorI2RlZmlu
ZSBIQVZFX01FTU1FTSAxCisjZGVmaW5lIEhBVkVfTUtGSUZPIDEKKyNkZWZpbmUgSEFWRV9NS05P
RCAxCisjZGVmaW5lIEhBVkVfTUtUSU1FIDEKKyNkZWZpbmUgSEFWRV9PUEVOQVQgMQorI2RlZmlu
ZSBIQVZFX1BJUEUyIDEKKyNkZWZpbmUgSEFWRV9QT0xMIDEKKyNkZWZpbmUgSEFWRV9QT1NJWF9G
QURWSVNFIDEKKyNkZWZpbmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCisjZGVmaW5lIEhBVkVfUFBP
TEwgMQorI2RlZmluZSBIQVZFX1BSRUFEIDEKKyNkZWZpbmUgSEFWRV9QV1JJVEUgMQorI2RlZmlu
ZSBIQVZFX1FTT1JUX1IgMQorI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKKyNkZWZpbmUgSEFWRV9S
T1VORCAxCisjZGVmaW5lIEhBVkVfU0NIRURfR0VUQUZGSU5JVFkgMQorI2RlZmluZSBIQVZFX1NF
RUtESVIgMQorI2RlZmluZSBIQVZFX1NFTkRGSUxFIDEKKyNkZWZpbmUgSEFWRV9TRVRFR0lEIDEK
KyNkZWZpbmUgSEFWRV9TRVRFTlYgMQorI2RlZmluZSBIQVZFX1NFVEVVSUQgMQorI2RlZmluZSBI
QVZFX1NFVEdJRCAxCisjZGVmaW5lIEhBVkVfU0VUR1JPVVBTIDEKKyNkZWZpbmUgSEFWRV9TRVRQ
R0lEIDEKKyNkZWZpbmUgSEFWRV9TRVRQR1JQIDEKKyNkZWZpbmUgSEFWRV9TRVRSRUdJRCAxCisj
ZGVmaW5lIEhBVkVfU0VUUkVTR0lEIDEKKyNkZWZpbmUgSEFWRV9TRVRSRVNVSUQgMQorI2RlZmlu
ZSBIQVZFX1NFVFJFVUlEIDEKKyNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQorI2RlZmluZSBIQVZF
X1NFVFNJRCAxCisjZGVmaW5lIEhBVkVfU0VUVUlEIDEKKyNkZWZpbmUgSEFWRV9TSFVURE9XTiAx
CisjZGVmaW5lIEhBVkVfU0lHQUNUSU9OIDEKKyNkZWZpbmUgSEFWRV9TSUdBTFRTVEFDSyAxCisj
ZGVmaW5lIEhBVkVfU0lHUFJPQ01BU0sgMQorI2RlZmluZSBIQVZFX1NJTkggMQorI2RlZmluZSBI
QVZFX1NZTUxJTksgMQorI2RlZmluZSBIQVZFX1NZU0NBTEwgMQorI2RlZmluZSBIQVZFX1NZU0NP
TkYgMQorI2RlZmluZSBIQVZFX1RBTkggMQorI2RlZmluZSBIQVZFX1RFTExESVIgMQorI2RlZmlu
ZSBIQVZFX1RJTUVHTSAxCisjZGVmaW5lIEhBVkVfVElNRVMgMQorI2RlZmluZSBIQVZFX1RSVU5D
QVRFIDEKKyNkZWZpbmUgSEFWRV9UUlVOQ0FURTY0IDEKKyNkZWZpbmUgSEFWRV9VTlNFVEVOViAx
CisjZGVmaW5lIEhBVkVfVVRJTUVOU0FUIDEKKyNkZWZpbmUgSEFWRV9VVElNRVMgMQorI2RlZmlu
ZSBIQVZFX1dBSVQ0IDEKKyNkZWZpbmUgSEFWRV9XQUlUUElEIDEKKyNkZWZpbmUgSEFWRV9DUllQ
VF9IIDEKKyNkZWZpbmUgSEFWRV9TVFJVQ1RfQ1JZUFRfREFUQV9JTklUSUFMSVpFRCAxCisjZGVm
aW5lIEhBVkVfQlVJTFRJTl9fX0JVSUxUSU5fQUxMT0NBX1dJVEhfQUxJR04gMQorI2RlZmluZSBI
QVZFX0JVSUxUSU5fX19CVUlMVElOX0FTU1VNRV9BTElHTkVEIDEKKyNkZWZpbmUgSEFWRV9CVUlM
VElOX19fQlVJTFRJTl9CU1dBUDE2IDEKKyNkZWZpbmUgSEFWRV9CVUlMVElOX19fQlVJTFRJTl9C
U1dBUDMyIDEKKyNkZWZpbmUgSEFWRV9CVUlMVElOX19fQlVJTFRJTl9CU1dBUDY0IDEKKyNkZWZp
bmUgSEFWRV9CVUlMVElOX19fQlVJTFRJTl9QT1BDT1VOVCAxCisjZGVmaW5lIEhBVkVfQlVJTFRJ
Tl9fX0JVSUxUSU5fUE9QQ09VTlRMTCAxCisjZGVmaW5lIEhBVkVfQlVJTFRJTl9fX0JVSUxUSU5f
Q0xaIDEKKyNkZWZpbmUgSEFWRV9CVUlMVElOX19fQlVJTFRJTl9DTFpMIDEKKyNkZWZpbmUgSEFW
RV9CVUlMVElOX19fQlVJTFRJTl9DTFpMTCAxCisjZGVmaW5lIEhBVkVfQlVJTFRJTl9fX0JVSUxU
SU5fQ1RaIDEKKyNkZWZpbmUgSEFWRV9CVUlMVElOX19fQlVJTFRJTl9DVFpMTCAxCisjZGVmaW5l
IEhBVkVfQlVJTFRJTl9fX0JVSUxUSU5fQUREX09WRVJGTE9XIDEKKyNkZWZpbmUgSEFWRV9CVUlM
VElOX19fQlVJTFRJTl9TVUJfT1ZFUkZMT1cgMQorI2RlZmluZSBIQVZFX0JVSUxUSU5fX19CVUlM
VElOX01VTF9PVkVSRkxPVyAxCisjZGVmaW5lIEhBVkVfQlVJTFRJTl9fX0JVSUxUSU5fTVVMX09W
RVJGTE9XX1AgMQorI2RlZmluZSBIQVZFX0JVSUxUSU5fX19CVUlMVElOX0NPTlNUQU5UX1AgMQor
I2RlZmluZSBIQVZFX0JVSUxUSU5fX19CVUlMVElOX0NIT09TRV9FWFBSIDEKKyNkZWZpbmUgSEFW
RV9CVUlMVElOX19fQlVJTFRJTl9DSE9PU0VfRVhQUl9DT05TVEFOVF9QIDEKKyNkZWZpbmUgSEFW
RV9CVUlMVElOX19fQlVJTFRJTl9UWVBFU19DT01QQVRJQkxFX1AgMQorI2RlZmluZSBIQVZFX0JV
SUxUSU5fX19CVUlMVElOX1RSQVAgMQorI2RlZmluZSBIQVZFX0dOVV9RU09SVF9SIDEKKyNkZWZp
bmUgQVRBTjJfSU5GX0M5OSAxCisjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUUkVTIDEKKyNkZWZpbmUg
SEFWRV9MSUJSVCAxCisjZGVmaW5lIEhBVkVfTElCUlQgMQorI2RlZmluZSBIQVZFX1RJTUVSX0NS
RUFURSAxCisjZGVmaW5lIEhBVkVfVElNRVJfU0VUVElNRSAxCisjZGVmaW5lIEhBVkVfU1RSVUNU
X1RNX1RNX1pPTkUgMQorI2RlZmluZSBIQVZFX1RNX1pPTkUgMQorI2RlZmluZSBIQVZFX1NUUlVD
VF9UTV9UTV9HTVRPRkYgMQorI2RlZmluZSBIQVZFX0RBWUxJR0hUIDEKKyNkZWZpbmUgTkVHQVRJ
VkVfVElNRV9UIDEKKyNkZWZpbmUgUE9TSVhfU0lHTkFMIDEKKyNkZWZpbmUgSEFWRV9TSUdfVCAx
CisjZGVmaW5lIFJTSElGVCh4LHkpICgoeCk+PihpbnQpKHkpKQorI2RlZmluZSBIQVZFX19TQ19D
TEtfVENLIDEKKyNkZWZpbmUgU1RBQ0tfR1JPV19ESVJFQ1RJT04gLTEKKyNkZWZpbmUgRklCRVJf
VVNFX0NPUk9VVElORSAiY29yb3V0aW5lL2FtZDY0L0NvbnRleHQuaCIKKyNkZWZpbmUgX1JFRU5U
UkFOVCAxCisjZGVmaW5lIF9USFJFQURfU0FGRSAxCisjZGVmaW5lIEhBVkVfTElCUFRIUkVBRCAx
CisjZGVmaW5lIEhBVkVfU0NIRURfWUlFTEQgMQorI2RlZmluZSBIQVZFX1BUSFJFQURfQVRUUl9T
RVRJTkhFUklUU0NIRUQgMQorI2RlZmluZSBIQVZFX1BUSFJFQURfQVRUUl9HRVRTVEFDSyAxCisj
ZGVmaW5lIEhBVkVfUFRIUkVBRF9BVFRSX0dFVEdVQVJEU0laRSAxCisjZGVmaW5lIEhBVkVfUFRI
UkVBRF9DT05EQVRUUl9TRVRDTE9DSyAxCisjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEK
KyNkZWZpbmUgSEFWRV9QVEhSRUFEX1NFVE5BTUVfTlAgMQorI2RlZmluZSBIQVZFX1BUSFJFQURf
R0VUQVRUUl9OUCAxCisjZGVmaW5lIFNFVF9DVVJSRU5UX1RIUkVBRF9OQU1FKG5hbWUpIHB0aHJl
YWRfc2V0bmFtZV9ucChwdGhyZWFkX3NlbGYoKSwgbmFtZSkKKyNkZWZpbmUgU0VUX0FOT1RIRVJf
VEhSRUFEX05BTUUodGhpZCxuYW1lKSBwdGhyZWFkX3NldG5hbWVfbnAodGhpZCwgbmFtZSkKKyNk
ZWZpbmUgREVGSU5FX01DT05URVhUX1BUUihtYywgdWMpIG1jb250ZXh0X3QgKm1jID0gJih1Yykt
PnVjX21jb250ZXh0CisjZGVmaW5lIEhBVkVfR0VUQ09OVEVYVCAxCisjZGVmaW5lIEhBVkVfU0VU
Q09OVEVYVCAxCisjZGVmaW5lIFVTRV9FTEYgMQorI2RlZmluZSBIQVZFX0VMRl9IIDEKKyNkZWZp
bmUgSEFWRV9MSUJaIDEKKyNkZWZpbmUgSEFWRV9CQUNLVFJBQ0UgMQorI2RlZmluZSBIQVZFX1ZB
TEdSSU5EX01FTUNIRUNLX0ggMQorI2RlZmluZSBETEVYVF9NQVhMRU4gMworI2RlZmluZSBETEVY
VCAiLnNvIgorI2RlZmluZSBIQVZFX19TRVRKTVAgMQorI2RlZmluZSBSVUJZX1NFVEpNUChlbnYp
IF9fYnVpbHRpbl9zZXRqbXAoKGVudikpCisjZGVmaW5lIFJVQllfTE9OR0pNUChlbnYsdmFsKSBf
X2J1aWx0aW5fbG9uZ2ptcCgoZW52KSx2YWwpCisjZGVmaW5lIFJVQllfSk1QX0JVRiBqbXBfYnVm
CisjZGVmaW5lIFVTRV9NSklUIDEKKyNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQorI2RlZmluZSBS
VUJZX1BMQVRGT1JNICJ4ODZfNjQtbGludXgiCisjZW5kaWYgLyogSU5DTFVERV9SVUJZX0NPTkZJ
R19IICovCi0tIAoyLjIwLjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54
ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGlu
Zm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Sun Dec 08 09:55:29 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 08 Dec 2019 09:55:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1idtHk-0007cB-Vj; Sun, 08 Dec 2019 09:55:28 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=qLlK=Z6=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1idtHk-0007c2-Bx
 for minios-devel@lists.xen.org; Sun, 08 Dec 2019 09:55:28 +0000
X-Inumbo-ID: da28cda2-19a0-11ea-b6f1-bc764e2007e4
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id da28cda2-19a0-11ea-b6f1-bc764e2007e4;
 Sun, 08 Dec 2019 09:55:23 +0000 (UTC)
IronPort-SDR: Ukvo9GCvxN4l3ktZPwNi8rXj8hiqFDyMbXGTnrVifeIpUeyA6BpzvfcagcUqbtF5r+VRyTt/l4
 78l++bWCMbRQ==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 08 Dec 2019 11:55:17 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 950EA1A60EC5;
 Sun,  8 Dec 2019 11:55:17 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id Cb01_f_4XXf5; Sun,  8 Dec 2019 11:55:17 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 730B21A60647;
 Sun,  8 Dec 2019 11:55:17 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id GIRetKrGA5AA; Sun,  8 Dec 2019 11:55:17 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 500161A60DEC;
 Sun,  8 Dec 2019 11:55:17 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Sun,  8 Dec 2019 11:54:51 +0200
Message-Id: <20191208095507.27384-1-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
Subject: [Minios-devel] [UNIKRAFT/RUBY PATCH 00/16] Port Ruby on Unikraft
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhlc2UgYXJlIHRoZSBwYXRjaGVzIG5lZWRlZCBmb3IgcG9ydGluZyBSdWJ5IG9uIFVuaWtyYWZ0
LiBUaGUgc3VtbWFyeToKLSBwYXRjaCAwMSBpbnRyb2R1Y2VzIHRoZSBsaWJyYXJ5IHNrZWxldG9u
Ci0gcGF0Y2hlcyAwMi0wNyBidWlsZCB0aGUgY29yZSBmdW5jdGlvbmFsaXR5Ci0gcGF0Y2hlcyAw
OC0xMCBidWlsZCB0aGUgZXh0ZW5zaW9ucwotIHBhdGNoZXMgMTEtMTIgYnVpbGQgdGhlIGVuY29k
aW5ncwotIHBhdGNoIDEzIGJ1aWxkcyB0aGUgdW5pdCB0ZXN0cyAob25seSAyIG9mIHRoZW0gYXJl
IGVuYWJsZWQgZm9yIG5vdykKLSBwYXRjaGVzIDE0LTE2IGFyZSBuZWVkZWQgZm9yIHByZXBhcmlu
ZyB0aGUgc2V0dXAKClRoZSByZXZpZXdlciBzaG91bGQgc3RhcnQgd2l0aCB0aGUgbGFzdCBwYXRj
aCB3aGljaCBhZGRzIHRoZSBkb2N1bWVudGF0aW9uCm5lZWRlZCBmb3IgYnVpbGRpbmcsIHJ1bm5p
bmcgYW5kIHRlc3RpbmcgUnVieSBvbiBVbmlrcmFmdC4gVGhlIFJFQURNRSBzaG91bGQKY29udGFp
biBhbGwgdGhlIG5lY2Vzc2FyeSBpbmZvOyBpZiBhbnl0aGluZyBpcyBtaXNzaW5nIHRoZW4gaXQg
c2hvdWxkIGJlCmNvbW1lbnRlZCBkdXJpbmcgcmV2aWV3aW5nLiBTb21lIG9mIHRoZSBwYXRjaGVz
IGp1c3QgaW50cm9kdWNlIGZpbGVzIHRoYXQgd2VyZQpnZW5lcmF0ZWQgYnkgdGhlIExpbnV4IGJ1
aWxkIGFuZCB0aGV5IHNob3VsZCBiZSByZXZpZXdlZCByZWFsbHkgcXVpY2suCgpBbGwgdGhlIGRl
cGVuZGVuY2llcyBhcmUgYWxyZWFkeSBzZW50IG9uIHRoZSBtYWlsaW5nIGxpc3QuCgpBbmRyZWkg
R29nb25lYSAoNSk6CiAgSW50cm9kdWNlIGxpYnJhcnkgc2tlbGV0b24KICBydWJ5L2NvbmZpZy5o
OiBJbnRyb2R1Y2UgZ2VuZXJhdGVkIGNvbmZpZ3VyYXRpb24gZmlsZQogIHJ1YnkvY29uZmlnLmg6
IERpc2FibGUgZmVhdHVyZXMgdW5hdmFpbGFibGUgaW4gVW5pa3JhZnQKICBjb3JlOiBBZGQgZ2Vu
ZXJhdGVkIGZpbGVzIGZvciBjb3JlCiAgY29yZTogQnVpbGQgY29yZSBmdW5jdGlvbmFsaXR5CgpD
b3N0aW4gTHVwdSAoMTEpOgogIGNvcmU6IEFkZCB0aHJlYWQgcmVsYXRlZCBkZWZpbml0aW9ucwog
IHBhdGNoZXM6IExpbWl0IGFsbCBtZW1vcnkgYWxsb2NhdGlvbnMgdG8gbWF4aW11bSA0SyBieXRl
cwogIGV4dGVuc2lvbnM6IEFkZCBnZW5lcmF0ZWQgZmlsZXMKICBleHRlbnNpb25zL3NvY2tldDog
RGlzYWJsZSB1bmF2YWlsYWJsZSBmZWF0dXJlcwogIGV4dGVuc2lvbnM6IEJ1aWxkIGV4dGVuc2lv
bnMKICBlbmNvZGluZ3M6IEFkZCBnZW5lcmF0ZWQgZmlsZXMKICBlbmNvZGluZ3M6IEJ1aWxkIGV4
dGVuc2lvbnMKICB0ZXN0czogQnVpbGQgdGVzdHMKICBNYWtlZmlsZS51azogQWRkIHJ1bGUgZm9y
IGNyZWF0aW5nIHJvb3QgZmlsZXN5c3RlbQogIFByb3ZpZGUgbWFpbigpIGZ1bmN0aW9uIGlmIGNv
bmZpZ3VyZWQgdG8gZG8gc28KICBSRUFETUUubWQ6IFVwZGF0ZSB3aXRoIGluZm8gYWJvdXQgYnVp
bGRpbmcgYW5kIHJ1bm5pbmcKCiAuZ2l0aWdub3JlICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfCAgICAyNyArCiBDT0RJTkdfU1RZTEUubWQgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfCAgICAgNCArCiBDT05UUklCVVRJTkcubWQgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfCAgICAgNCArCiBDT1BZSU5HLm1kICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfCAgICAzOSArCiBDb25maWcudWsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfCAgIDE0NSArCiBNQUlOVEFJTkVSUy5tZCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfCAgICAxMSArCiBNYWtlZmlsZS51ayAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfCAgIDYzMSArCiBSRUFETUUubWQgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfCAgICA2MiArCiBnZW1zLWV4YW1wbGVzL0dlbWZpbGUtaXJiICAgICAgICAgICAg
ICAgICAgICAgfCAgICAgOCArCiBnZW5lcmF0ZWQvZW5jL2VuY2luaXQuYyAgICAgICAgICAgICAg
ICAgICAgICAgfCAgICA4OCArCiBnZW5lcmF0ZWQvZW5jL3RyYW5zL25ld2xpbmUuYyAgICAgICAg
ICAgICAgICAgfCAgIDE4OSArCiBnZW5lcmF0ZWQvZW5jL3VuaWNvZGUvMTIuMS4wL2Nhc2Vmb2xk
LmggICAgICAgfCAgNzQyOCArKysKIGdlbmVyYXRlZC9lbmMvdW5pY29kZS8xMi4xLjAvbmFtZTJj
dHlwZS5oICAgICB8IDQxODEwICsrKysrKysrKysrKysrKysKIGdlbmVyYXRlZC9lbmNkYi5oICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTcyICsKIC4uLi9leHQvLXRlc3QtL2FyaXRo
X3NlcS9leHRyYWN0L2V4dGNvbmYuaCAgICB8ICAgICAzICsKIGdlbmVyYXRlZC9leHQvLXRlc3Qt
L2FycmF5L3Jlc2l6ZS9leHRjb25mLmggICB8ICAgICAzICsKIGdlbmVyYXRlZC9leHQvLXRlc3Qt
L2JpZ251bS9leHRjb25mLmggICAgICAgICB8ICAgICA0ICsKIGdlbmVyYXRlZC9leHQvLXRlc3Qt
L2J1Zy0xNDgzNC9leHRjb25mLmggICAgICB8ICAgICAzICsKIGdlbmVyYXRlZC9leHQvLXRlc3Qt
L2J1Zy0zNTcxL2V4dGNvbmYuaCAgICAgICB8ICAgICAzICsKIGdlbmVyYXRlZC9leHQvLXRlc3Qt
L2J1Zy01ODMyL2V4dGNvbmYuaCAgICAgICB8ICAgICAzICsKIGdlbmVyYXRlZC9leHQvLXRlc3Qt
L2J1Z19yZXBvcnRlci9leHRjb25mLmggICB8ICAgICAzICsKIGdlbmVyYXRlZC9leHQvLXRlc3Qt
L2NsYXNzL2V4dGNvbmYuaCAgICAgICAgICB8ICAgICA0ICsKIGdlbmVyYXRlZC9leHQvLXRlc3Qt
L2RlYnVnL2V4dGNvbmYuaCAgICAgICAgICB8ICAgICA0ICsKIGdlbmVyYXRlZC9leHQvLXRlc3Qt
L2Rsbi9lbXB0eS9leHRjb25mLmggICAgICB8ICAgICAzICsKIGdlbmVyYXRlZC9leHQvLXRlc3Qt
L2V4Y2VwdGlvbi9leHRjb25mLmggICAgICB8ICAgICA0ICsKIGdlbmVyYXRlZC9leHQvLXRlc3Qt
L2ZhdGFsL2V4dGNvbmYuaCAgICAgICAgICB8ICAgICAzICsKIGdlbmVyYXRlZC9leHQvLXRlc3Qt
L2ZpbGUvZXh0Y29uZi5oICAgICAgICAgICB8ICAgIDE0ICsKIGdlbmVyYXRlZC9leHQvLXRlc3Qt
L2Zsb2F0L2V4dGNvbmYuaCAgICAgICAgICB8ICAgICA0ICsKIGdlbmVyYXRlZC9leHQvLXRlc3Qt
L2Z1bmNhbGwvZXh0Y29uZi5oICAgICAgICB8ICAgICAzICsKIC4uLi9leHQvLXRlc3QtL2d2bC9j
YWxsX3dpdGhvdXRfZ3ZsL2V4dGNvbmYuaCB8ICAgICAzICsKIGdlbmVyYXRlZC9leHQvLXRlc3Qt
L2hhc2gvZXh0Y29uZi5oICAgICAgICAgICB8ICAgICA0ICsKIGdlbmVyYXRlZC9leHQvLXRlc3Qt
L2ludGVnZXIvZXh0Y29uZi5oICAgICAgICB8ICAgICA0ICsKIGdlbmVyYXRlZC9leHQvLXRlc3Qt
L2lzZXFfbG9hZC9leHRjb25mLmggICAgICB8ICAgICAzICsKIGdlbmVyYXRlZC9leHQvLXRlc3Qt
L2l0ZXIvZXh0Y29uZi5oICAgICAgICAgICB8ICAgICA0ICsKIGdlbmVyYXRlZC9leHQvLXRlc3Qt
L2xvYWQvZG90LmRvdC9leHRjb25mLmggICB8ICAgICAzICsKIGdlbmVyYXRlZC9leHQvLXRlc3Qt
L2xvYWQvcHJvdGVjdC9leHRjb25mLmggICB8ICAgICAzICsKIGdlbmVyYXRlZC9leHQvLXRlc3Qt
L21hcnNoYWwvY29tcGF0L2V4dGNvbmYuaCB8ICAgICAzICsKIC4uLi8tdGVzdC0vbWFyc2hhbC9p
bnRlcm5hbF9pdmFyL2V4dGNvbmYuaCAgICB8ICAgICAzICsKIGdlbmVyYXRlZC9leHQvLXRlc3Qt
L21hcnNoYWwvdXNyL2V4dGNvbmYuaCAgICB8ICAgICAzICsKIGdlbmVyYXRlZC9leHQvLXRlc3Qt
L21ldGhvZC9leHRjb25mLmggICAgICAgICB8ICAgICA0ICsKIGdlbmVyYXRlZC9leHQvLXRlc3Qt
L25vdGltcGxlbWVudC9leHRjb25mLmggICB8ICAgICAzICsKIGdlbmVyYXRlZC9leHQvLXRlc3Qt
L251bTJpbnQvZXh0Y29uZi5oICAgICAgICB8ICAgICAzICsKIGdlbmVyYXRlZC9leHQvLXRlc3Qt
L3BhdGhfdG9fY2xhc3MvZXh0Y29uZi5oICB8ICAgICA0ICsKIGdlbmVyYXRlZC9leHQvLXRlc3Qt
L3BvcGVuX2RlYWRsb2NrL2V4dGNvbmYuaCB8ICAgICAzICsKIGdlbmVyYXRlZC9leHQvLXRlc3Qt
L3Bvc3Rwb25lZF9qb2IvZXh0Y29uZi5oICB8ICAgICAzICsKIGdlbmVyYXRlZC9leHQvLXRlc3Qt
L3ByaW50Zi9leHRjb25mLmggICAgICAgICB8ICAgICAzICsKIGdlbmVyYXRlZC9leHQvLXRlc3Qt
L3Byb2MvZXh0Y29uZi5oICAgICAgICAgICB8ICAgICA0ICsKIGdlbmVyYXRlZC9leHQvLXRlc3Qt
L3JhdGlvbmFsL2V4dGNvbmYuaCAgICAgICB8ICAgICA0ICsKIGdlbmVyYXRlZC9leHQvLXRlc3Qt
L3JlY3Vyc2lvbi9leHRjb25mLmggICAgICB8ICAgICAzICsKIGdlbmVyYXRlZC9leHQvLXRlc3Qt
L3JlZ2V4cC9leHRjb25mLmggICAgICAgICB8ICAgICA0ICsKIGdlbmVyYXRlZC9leHQvLXRlc3Qt
L3NjYW5fYXJncy9leHRjb25mLmggICAgICB8ICAgICAzICsKIGdlbmVyYXRlZC9leHQvLXRlc3Qt
L3N0L2ZvcmVhY2gvZXh0Y29uZi5oICAgICB8ICAgICAzICsKIGdlbmVyYXRlZC9leHQvLXRlc3Qt
L3N0L251bWhhc2gvZXh0Y29uZi5oICAgICB8ICAgICAzICsKIGdlbmVyYXRlZC9leHQvLXRlc3Qt
L3N0L3VwZGF0ZS9leHRjb25mLmggICAgICB8ICAgICAzICsKIGdlbmVyYXRlZC9leHQvLXRlc3Qt
L3N0cmluZy9leHRjb25mLmggICAgICAgICB8ICAgICA0ICsKIGdlbmVyYXRlZC9leHQvLXRlc3Qt
L3N0cnVjdC9leHRjb25mLmggICAgICAgICB8ICAgICA0ICsKIGdlbmVyYXRlZC9leHQvLXRlc3Qt
L3N5bWJvbC9leHRjb25mLmggICAgICAgICB8ICAgICA0ICsKIC4uLi9leHQvLXRlc3QtL3RocmVh
ZF9mZF9jbG9zZS9leHRjb25mLmggICAgICB8ICAgICAzICsKIGdlbmVyYXRlZC9leHQvLXRlc3Qt
L3RpbWUvZXh0Y29uZi5oICAgICAgICAgICB8ICAgICA0ICsKIGdlbmVyYXRlZC9leHQvLXRlc3Qt
L3RyYWNlcG9pbnQvZXh0Y29uZi5oICAgICB8ICAgICAzICsKIGdlbmVyYXRlZC9leHQvLXRlc3Qt
L3R5cGVkZGF0YS9leHRjb25mLmggICAgICB8ICAgICAzICsKIGdlbmVyYXRlZC9leHQvLXRlc3Qt
L3ZtL2V4dGNvbmYuaCAgICAgICAgICAgICB8ICAgICAzICsKIC4uLi9leHQvLXRlc3QtL3dhaXRf
Zm9yX3NpbmdsZV9mZC9leHRjb25mLmggICB8ICAgICA1ICsKIGdlbmVyYXRlZC9leHQvYmlnZGVj
aW1hbC9leHRjb25mLmggICAgICAgICAgICB8ICAgIDEyICsKIGdlbmVyYXRlZC9leHQvYmlnZGVj
aW1hbC91dGlsL2V4dGNvbmYuaCAgICAgICB8ICAgICA0ICsKIGdlbmVyYXRlZC9leHQvY2dpL2Vz
Y2FwZS9leHRjb25mLmggICAgICAgICAgICB8ICAgICA0ICsKIGdlbmVyYXRlZC9leHQvY29udGlu
dWF0aW9uL2V4dGNvbmYuaCAgICAgICAgICB8ICAgICA0ICsKIGdlbmVyYXRlZC9leHQvY292ZXJh
Z2UvZXh0Y29uZi5oICAgICAgICAgICAgICB8ICAgICA0ICsKIGdlbmVyYXRlZC9leHQvZGF0ZS9l
eHRjb25mLmggICAgICAgICAgICAgICAgICB8ICAgICA1ICsKIGdlbmVyYXRlZC9leHQvZGlnZXN0
L2J1YmJsZWJhYmJsZS9leHRjb25mLmggICB8ICAgICA1ICsKIGdlbmVyYXRlZC9leHQvZGlnZXN0
L2V4dGNvbmYuaCAgICAgICAgICAgICAgICB8ICAgICA0ICsKIGdlbmVyYXRlZC9leHQvZGlnZXN0
L21kNS9leHRjb25mLmggICAgICAgICAgICB8ICAgIDEwICsKIGdlbmVyYXRlZC9leHQvZGlnZXN0
L3JtZDE2MC9leHRjb25mLmggICAgICAgICB8ICAgIDExICsKIGdlbmVyYXRlZC9leHQvZGlnZXN0
L3NoYTEvZXh0Y29uZi5oICAgICAgICAgICB8ICAgIDEwICsKIGdlbmVyYXRlZC9leHQvZGlnZXN0
L3NoYTIvZXh0Y29uZi5oICAgICAgICAgICB8ICAgIDEyICsKIGdlbmVyYXRlZC9leHQvZXRjL2V4
dGNvbmYuaCAgICAgICAgICAgICAgICAgICB8ICAgIDE5ICsKIGdlbmVyYXRlZC9leHQvZXh0aW5p
dC5jICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTExICsKIGdlbmVyYXRlZC9leHQvZmNudGwv
ZXh0Y29uZi5oICAgICAgICAgICAgICAgICB8ICAgICA0ICsKIGdlbmVyYXRlZC9leHQvZmliZXIv
ZXh0Y29uZi5oICAgICAgICAgICAgICAgICB8ICAgICA0ICsKIGdlbmVyYXRlZC9leHQvZmlkZGxl
L2V4dGNvbmYuaCAgICAgICAgICAgICAgICB8ICAgIDE0ICsKIGdlbmVyYXRlZC9leHQvaW8vY29u
c29sZS9leHRjb25mLmggICAgICAgICAgICB8ICAgICA4ICsKIGdlbmVyYXRlZC9leHQvaW8vbm9u
YmxvY2svZXh0Y29uZi5oICAgICAgICAgICB8ICAgICA0ICsKIGdlbmVyYXRlZC9leHQvaW8vd2Fp
dC9leHRjb25mLmggICAgICAgICAgICAgICB8ICAgICA2ICsKIGdlbmVyYXRlZC9leHQvanNvbi9l
eHRjb25mLmggICAgICAgICAgICAgICAgICB8ICAgICA0ICsKIGdlbmVyYXRlZC9leHQvanNvbi9n
ZW5lcmF0b3IvZXh0Y29uZi5oICAgICAgICB8ICAgICA1ICsKIGdlbmVyYXRlZC9leHQvanNvbi9w
YXJzZXIvZXh0Y29uZi5oICAgICAgICAgICB8ICAgICA1ICsKIGdlbmVyYXRlZC9leHQvbmtmL2V4
dGNvbmYuaCAgICAgICAgICAgICAgICAgICB8ICAgICA0ICsKIGdlbmVyYXRlZC9leHQvb2Jqc3Bh
Y2UvZXh0Y29uZi5oICAgICAgICAgICAgICB8ICAgICA0ICsKIGdlbmVyYXRlZC9leHQvb3BlbnNz
bC9leHRjb25mLmggICAgICAgICAgICAgICB8ICAgIDQ2ICsKIGdlbmVyYXRlZC9leHQvcGF0aG5h
bWUvZXh0Y29uZi5oICAgICAgICAgICAgICB8ICAgICA0ICsKIGdlbmVyYXRlZC9leHQvcHN5Y2gv
ZXh0Y29uZi5oICAgICAgICAgICAgICAgICB8ICAgIDE1ICsKIGdlbmVyYXRlZC9leHQvcHN5Y2gv
cHN5Y2guaCAgICAgICAgICAgICAgICAgICB8ICAgIDE3ICsKIGdlbmVyYXRlZC9leHQvcHN5Y2gv
cHN5Y2hfZW1pdHRlci5oICAgICAgICAgICB8ICAgICA4ICsKIGdlbmVyYXRlZC9leHQvcHN5Y2gv
cHN5Y2hfcGFyc2VyLmggICAgICAgICAgICB8ICAgICA2ICsKIGdlbmVyYXRlZC9leHQvcHN5Y2gv
cHN5Y2hfdG9fcnVieS5oICAgICAgICAgICB8ICAgICA4ICsKIGdlbmVyYXRlZC9leHQvcHN5Y2gv
cHN5Y2hfeWFtbF90cmVlLmggICAgICAgICB8ICAgICA4ICsKIGdlbmVyYXRlZC9leHQvcHN5Y2gv
eWFtbC9jb25maWcuaCAgICAgICAgICAgICB8ICAgIDEwICsKIGdlbmVyYXRlZC9leHQvcHN5Y2gv
eWFtbC95YW1sLmggICAgICAgICAgICAgICB8ICAxOTcxICsKIGdlbmVyYXRlZC9leHQvcHR5L2V4
dGNvbmYuaCAgICAgICAgICAgICAgICAgICB8ICAgICA5ICsKIGdlbmVyYXRlZC9leHQvcmFjYy9j
cGFyc2UvZXh0Y29uZi5oICAgICAgICAgICB8ICAgICA1ICsKIGdlbmVyYXRlZC9leHQvcmJjb25m
aWcvc2l6ZW9mL2V4dGNvbmYuaCAgICAgICB8ICAgIDI5ICsKIGdlbmVyYXRlZC9leHQvcmlwcGVy
L2V4dGNvbmYuaCAgICAgICAgICAgICAgICB8ICAgICA1ICsKIGdlbmVyYXRlZC9leHQvcnVieXZt
L2V4dGNvbmYuaCAgICAgICAgICAgICAgICB8ICAgICA0ICsKIGdlbmVyYXRlZC9leHQvc2RibS9l
eHRjb25mLmggICAgICAgICAgICAgICAgICB8ICAgICA1ICsKIGdlbmVyYXRlZC9leHQvc29ja2V0
L2V4dGNvbmYuaCAgICAgICAgICAgICAgICB8ICAgMTI4ICsKIGdlbmVyYXRlZC9leHQvc3RyaW5n
aW8vZXh0Y29uZi5oICAgICAgICAgICAgICB8ICAgICA0ICsKIGdlbmVyYXRlZC9leHQvc3Ryc2Nh
bi9leHRjb25mLmggICAgICAgICAgICAgICB8ICAgICA0ICsKIGdlbmVyYXRlZC9leHQvc3lzbG9n
L2V4dGNvbmYuaCAgICAgICAgICAgICAgICB8ICAgICA3ICsKIGdlbmVyYXRlZC9leHQvemxpYi9l
eHRjb25mLmggICAgICAgICAgICAgICAgICB8ICAgICA4ICsKIGdlbmVyYXRlZC9pZC5jICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTM1ICsKIGdlbmVyYXRlZC9pZC5oICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMjUyICsKIGdlbmVyYXRlZC9pbnNucy5pbmMg
ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMjQ5ICsKIGdlbmVyYXRlZC9pbnNuc19pbmZv
LmluYyAgICAgICAgICAgICAgICAgICAgICB8ICA5Mzc0ICsrKysKIGdlbmVyYXRlZC9rbm93bl9l
cnJvcnMuaW5jICAgICAgICAgICAgICAgICAgICB8ICAgNzkxICsKIGdlbmVyYXRlZC9sZXguYyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMzAzICsKIGdlbmVyYXRlZC9taW5pcHJl
bHVkZS5jICAgICAgICAgICAgICAgICAgICAgICB8ICAgICA5ICsKIGdlbmVyYXRlZC9taml0X2Nv
bXBpbGUuaW5jICAgICAgICAgICAgICAgICAgICB8ICA0MjI2ICsrCiBnZW5lcmF0ZWQvbWppdF9j
b25maWcuaCAgICAgICAgICAgICAgICAgICAgICAgfCAgICAyMCArCiBnZW5lcmF0ZWQvbm9kZV9u
YW1lLmluYyAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIwMCArCiBnZW5lcmF0ZWQvb3B0aW5z
bi5pbmMgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEyOCArCiBnZW5lcmF0ZWQvcGFyc2Uu
YyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxNzczNyArKysrKysrCiBnZW5lcmF0ZWQv
cGFyc2UuaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIxMSArCiBnZW5lcmF0ZWQv
cHJlbHVkZS5jICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDI0NiArCiBnZW5lcmF0ZWQv
cHJvYmVzLmRteWggICAgICAgICAgICAgICAgICAgICAgICAgfCAgICA4MCArCiBnZW5lcmF0ZWQv
cHJvYmVzLmggICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgMSArCiBnZW5lcmF0ZWQv
cmV2aXNpb24uaCAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgMAogZ2VuZXJhdGVkL3Zl
cmNvbmYuaCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMTMgKwogZ2VuZXJhdGVkL3Zt
LmluYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQ1MDQgKysKIGdlbmVyYXRlZC92
bV9jYWxsX2lzZXFfb3B0aW1pemVkLmluYyAgICAgICAgICB8ICAgMjEzICsKIGdlbmVyYXRlZC92
bXRjLmluYyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMjQzICsKIGluY2x1ZGUvcnVi
eS9jb25maWcuaCAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgNDQyICsKIGluY2x1ZGUvc3Rk
YWxpZ24uaCAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDEwICsKIC4uLjAxLVNldC1t
YXhpbXVtLWFsbG9jYXRpb24tc2l6ZS10by00Sy5wYXRjaCB8ICAgIDQyICsKIHJ1YnlfbWFpbl9l
eGFtcGxlLmMgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDEzICsKIHRocmVhZC5jICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDUyICsKIDEzNSBmaWxlcyBj
aGFuZ2VkLCA5Mjg2NyBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgLmdpdGlnbm9y
ZQogY3JlYXRlIG1vZGUgMTAwNjQ0IENPRElOR19TVFlMRS5tZAogY3JlYXRlIG1vZGUgMTAwNjQ0
IENPTlRSSUJVVElORy5tZAogY3JlYXRlIG1vZGUgMTAwNjQ0IENPUFlJTkcubWQKIGNyZWF0ZSBt
b2RlIDEwMDY0NCBDb25maWcudWsKIGNyZWF0ZSBtb2RlIDEwMDY0NCBNQUlOVEFJTkVSUy5tZAog
Y3JlYXRlIG1vZGUgMTAwNjQ0IE1ha2VmaWxlLnVrCiBjcmVhdGUgbW9kZSAxMDA2NDQgUkVBRE1F
Lm1kCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2Vtcy1leGFtcGxlcy9HZW1maWxlLWlyYgogY3JlYXRl
IG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9lbmMvZW5jaW5pdC5jCiBjcmVhdGUgbW9kZSAxMDA2NDQg
Z2VuZXJhdGVkL2VuYy90cmFucy9uZXdsaW5lLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0
ZWQvZW5jL3VuaWNvZGUvMTIuMS4wL2Nhc2Vmb2xkLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5l
cmF0ZWQvZW5jL3VuaWNvZGUvMTIuMS4wL25hbWUyY3R5cGUuaAogY3JlYXRlIG1vZGUgMTAwNjQ0
IGdlbmVyYXRlZC9lbmNkYi5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC8tdGVz
dC0vYXJpdGhfc2VxL2V4dHJhY3QvZXh0Y29uZi5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJh
dGVkL2V4dC8tdGVzdC0vYXJyYXkvcmVzaXplL2V4dGNvbmYuaAogY3JlYXRlIG1vZGUgMTAwNjQ0
IGdlbmVyYXRlZC9leHQvLXRlc3QtL2JpZ251bS9leHRjb25mLmgKIGNyZWF0ZSBtb2RlIDEwMDY0
NCBnZW5lcmF0ZWQvZXh0Ly10ZXN0LS9idWctMTQ4MzQvZXh0Y29uZi5oCiBjcmVhdGUgbW9kZSAx
MDA2NDQgZ2VuZXJhdGVkL2V4dC8tdGVzdC0vYnVnLTM1NzEvZXh0Y29uZi5oCiBjcmVhdGUgbW9k
ZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC8tdGVzdC0vYnVnLTU4MzIvZXh0Y29uZi5oCiBjcmVhdGUg
bW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC8tdGVzdC0vYnVnX3JlcG9ydGVyL2V4dGNvbmYuaAog
Y3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvLXRlc3QtL2NsYXNzL2V4dGNvbmYuaAog
Y3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvLXRlc3QtL2RlYnVnL2V4dGNvbmYuaAog
Y3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvLXRlc3QtL2Rsbi9lbXB0eS9leHRjb25m
LmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0Ly10ZXN0LS9leGNlcHRpb24vZXh0
Y29uZi5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC8tdGVzdC0vZmF0YWwvZXh0
Y29uZi5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC8tdGVzdC0vZmlsZS9leHRj
b25mLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0Ly10ZXN0LS9mbG9hdC9leHRj
b25mLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0Ly10ZXN0LS9mdW5jYWxsL2V4
dGNvbmYuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvLXRlc3QtL2d2bC9jYWxs
X3dpdGhvdXRfZ3ZsL2V4dGNvbmYuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQv
LXRlc3QtL2hhc2gvZXh0Y29uZi5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC8t
dGVzdC0vaW50ZWdlci9leHRjb25mLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0
Ly10ZXN0LS9pc2VxX2xvYWQvZXh0Y29uZi5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVk
L2V4dC8tdGVzdC0vaXRlci9leHRjb25mLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQv
ZXh0Ly10ZXN0LS9sb2FkL2RvdC5kb3QvZXh0Y29uZi5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2Vu
ZXJhdGVkL2V4dC8tdGVzdC0vbG9hZC9wcm90ZWN0L2V4dGNvbmYuaAogY3JlYXRlIG1vZGUgMTAw
NjQ0IGdlbmVyYXRlZC9leHQvLXRlc3QtL21hcnNoYWwvY29tcGF0L2V4dGNvbmYuaAogY3JlYXRl
IG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvLXRlc3QtL21hcnNoYWwvaW50ZXJuYWxfaXZhci9l
eHRjb25mLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0Ly10ZXN0LS9tYXJzaGFs
L3Vzci9leHRjb25mLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0Ly10ZXN0LS9t
ZXRob2QvZXh0Y29uZi5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC8tdGVzdC0v
bm90aW1wbGVtZW50L2V4dGNvbmYuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQv
LXRlc3QtL251bTJpbnQvZXh0Y29uZi5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4
dC8tdGVzdC0vcGF0aF90b19jbGFzcy9leHRjb25mLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5l
cmF0ZWQvZXh0Ly10ZXN0LS9wb3Blbl9kZWFkbG9jay9leHRjb25mLmgKIGNyZWF0ZSBtb2RlIDEw
MDY0NCBnZW5lcmF0ZWQvZXh0Ly10ZXN0LS9wb3N0cG9uZWRfam9iL2V4dGNvbmYuaAogY3JlYXRl
IG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvLXRlc3QtL3ByaW50Zi9leHRjb25mLmgKIGNyZWF0
ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0Ly10ZXN0LS9wcm9jL2V4dGNvbmYuaAogY3JlYXRl
IG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvLXRlc3QtL3JhdGlvbmFsL2V4dGNvbmYuaAogY3Jl
YXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvLXRlc3QtL3JlY3Vyc2lvbi9leHRjb25mLmgK
IGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0Ly10ZXN0LS9yZWdleHAvZXh0Y29uZi5o
CiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC8tdGVzdC0vc2Nhbl9hcmdzL2V4dGNv
bmYuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvLXRlc3QtL3N0L2ZvcmVhY2gv
ZXh0Y29uZi5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC8tdGVzdC0vc3QvbnVt
aGFzaC9leHRjb25mLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0Ly10ZXN0LS9z
dC91cGRhdGUvZXh0Y29uZi5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC8tdGVz
dC0vc3RyaW5nL2V4dGNvbmYuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvLXRl
c3QtL3N0cnVjdC9leHRjb25mLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0Ly10
ZXN0LS9zeW1ib2wvZXh0Y29uZi5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC8t
dGVzdC0vdGhyZWFkX2ZkX2Nsb3NlL2V4dGNvbmYuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVy
YXRlZC9leHQvLXRlc3QtL3RpbWUvZXh0Y29uZi5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJh
dGVkL2V4dC8tdGVzdC0vdHJhY2Vwb2ludC9leHRjb25mLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBn
ZW5lcmF0ZWQvZXh0Ly10ZXN0LS90eXBlZGRhdGEvZXh0Y29uZi5oCiBjcmVhdGUgbW9kZSAxMDA2
NDQgZ2VuZXJhdGVkL2V4dC8tdGVzdC0vdm0vZXh0Y29uZi5oCiBjcmVhdGUgbW9kZSAxMDA2NDQg
Z2VuZXJhdGVkL2V4dC8tdGVzdC0vd2FpdF9mb3Jfc2luZ2xlX2ZkL2V4dGNvbmYuaAogY3JlYXRl
IG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvYmlnZGVjaW1hbC9leHRjb25mLmgKIGNyZWF0ZSBt
b2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0L2JpZ2RlY2ltYWwvdXRpbC9leHRjb25mLmgKIGNyZWF0
ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0L2NnaS9lc2NhcGUvZXh0Y29uZi5oCiBjcmVhdGUg
bW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC9jb250aW51YXRpb24vZXh0Y29uZi5oCiBjcmVhdGUg
bW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC9jb3ZlcmFnZS9leHRjb25mLmgKIGNyZWF0ZSBtb2Rl
IDEwMDY0NCBnZW5lcmF0ZWQvZXh0L2RhdGUvZXh0Y29uZi5oCiBjcmVhdGUgbW9kZSAxMDA2NDQg
Z2VuZXJhdGVkL2V4dC9kaWdlc3QvYnViYmxlYmFiYmxlL2V4dGNvbmYuaAogY3JlYXRlIG1vZGUg
MTAwNjQ0IGdlbmVyYXRlZC9leHQvZGlnZXN0L2V4dGNvbmYuaAogY3JlYXRlIG1vZGUgMTAwNjQ0
IGdlbmVyYXRlZC9leHQvZGlnZXN0L21kNS9leHRjb25mLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBn
ZW5lcmF0ZWQvZXh0L2RpZ2VzdC9ybWQxNjAvZXh0Y29uZi5oCiBjcmVhdGUgbW9kZSAxMDA2NDQg
Z2VuZXJhdGVkL2V4dC9kaWdlc3Qvc2hhMS9leHRjb25mLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBn
ZW5lcmF0ZWQvZXh0L2RpZ2VzdC9zaGEyL2V4dGNvbmYuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGdl
bmVyYXRlZC9leHQvZXRjL2V4dGNvbmYuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9l
eHQvZXh0aW5pdC5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC9mY250bC9leHRj
b25mLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0L2ZpYmVyL2V4dGNvbmYuaAog
Y3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvZmlkZGxlL2V4dGNvbmYuaAogY3JlYXRl
IG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvaW8vY29uc29sZS9leHRjb25mLmgKIGNyZWF0ZSBt
b2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0L2lvL25vbmJsb2NrL2V4dGNvbmYuaAogY3JlYXRlIG1v
ZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvaW8vd2FpdC9leHRjb25mLmgKIGNyZWF0ZSBtb2RlIDEw
MDY0NCBnZW5lcmF0ZWQvZXh0L2pzb24vZXh0Y29uZi5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2Vu
ZXJhdGVkL2V4dC9qc29uL2dlbmVyYXRvci9leHRjb25mLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBn
ZW5lcmF0ZWQvZXh0L2pzb24vcGFyc2VyL2V4dGNvbmYuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGdl
bmVyYXRlZC9leHQvbmtmL2V4dGNvbmYuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9l
eHQvb2Jqc3BhY2UvZXh0Y29uZi5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC9v
cGVuc3NsL2V4dGNvbmYuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvcGF0aG5h
bWUvZXh0Y29uZi5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC9wc3ljaC9leHRj
b25mLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0L3BzeWNoL3BzeWNoLmgKIGNy
ZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0L3BzeWNoL3BzeWNoX2VtaXR0ZXIuaAogY3Jl
YXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvcHN5Y2gvcHN5Y2hfcGFyc2VyLmgKIGNyZWF0
ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0L3BzeWNoL3BzeWNoX3RvX3J1YnkuaAogY3JlYXRl
IG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvcHN5Y2gvcHN5Y2hfeWFtbF90cmVlLmgKIGNyZWF0
ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0L3BzeWNoL3lhbWwvY29uZmlnLmgKIGNyZWF0ZSBt
b2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0L3BzeWNoL3lhbWwveWFtbC5oCiBjcmVhdGUgbW9kZSAx
MDA2NDQgZ2VuZXJhdGVkL2V4dC9wdHkvZXh0Y29uZi5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2Vu
ZXJhdGVkL2V4dC9yYWNjL2NwYXJzZS9leHRjb25mLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5l
cmF0ZWQvZXh0L3JiY29uZmlnL3NpemVvZi9leHRjb25mLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBn
ZW5lcmF0ZWQvZXh0L3JpcHBlci9leHRjb25mLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0
ZWQvZXh0L3J1Ynl2bS9leHRjb25mLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0
L3NkYm0vZXh0Y29uZi5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC9zb2NrZXQv
ZXh0Y29uZi5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC9zdHJpbmdpby9leHRj
b25mLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0L3N0cnNjYW4vZXh0Y29uZi5o
CiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC9zeXNsb2cvZXh0Y29uZi5oCiBjcmVh
dGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC96bGliL2V4dGNvbmYuaAogY3JlYXRlIG1vZGUg
MTAwNjQ0IGdlbmVyYXRlZC9pZC5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2lkLmgK
IGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvaW5zbnMuaW5jCiBjcmVhdGUgbW9kZSAxMDA2
NDQgZ2VuZXJhdGVkL2luc25zX2luZm8uaW5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVk
L2tub3duX2Vycm9ycy5pbmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvbGV4LmMKIGNy
ZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvbWluaXByZWx1ZGUuYwogY3JlYXRlIG1vZGUgMTAw
NjQ0IGdlbmVyYXRlZC9taml0X2NvbXBpbGUuaW5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJh
dGVkL21qaXRfY29uZmlnLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvbm9kZV9uYW1l
LmluYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9vcHRpbnNuLmluYwogY3JlYXRlIG1v
ZGUgMTAwNjQ0IGdlbmVyYXRlZC9wYXJzZS5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVk
L3BhcnNlLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvcHJlbHVkZS5jCiBjcmVhdGUg
bW9kZSAxMDA2NDQgZ2VuZXJhdGVkL3Byb2Jlcy5kbXloCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2Vu
ZXJhdGVkL3Byb2Jlcy5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL3JldmlzaW9uLmgK
IGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvdmVyY29uZi5oCiBjcmVhdGUgbW9kZSAxMDA2
NDQgZ2VuZXJhdGVkL3ZtLmluYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC92bV9jYWxs
X2lzZXFfb3B0aW1pemVkLmluYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC92bXRjLmlu
YwogY3JlYXRlIG1vZGUgMTAwNjQ0IGluY2x1ZGUvcnVieS9jb25maWcuaAogY3JlYXRlIG1vZGUg
MTAwNjQ0IGluY2x1ZGUvc3RkYWxpZ24uaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHBhdGNoZXMvMDAw
MS1TZXQtbWF4aW11bS1hbGxvY2F0aW9uLXNpemUtdG8tNEsucGF0Y2gKIGNyZWF0ZSBtb2RlIDEw
MDY0NCBydWJ5X21haW5fZXhhbXBsZS5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgdGhyZWFkLmMKCi0t
IAoyLjIwLjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0
Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9z
LWRldmVs

From minios-devel-bounces@lists.xenproject.org Sun Dec 08 09:55:32 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 08 Dec 2019 09:55:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1idtHo-0007dB-1s; Sun, 08 Dec 2019 09:55:32 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=qLlK=Z6=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1idtHm-0007cv-SO
 for minios-devel@lists.xen.org; Sun, 08 Dec 2019 09:55:30 +0000
X-Inumbo-ID: db9b9520-19a0-11ea-8694-12813bfff9fa
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id db9b9520-19a0-11ea-8694-12813bfff9fa;
 Sun, 08 Dec 2019 09:55:26 +0000 (UTC)
IronPort-SDR: vVzBgbENVGab5FEwfzV9kmZbaUylCNG7frL3FJ1cY/pHa8Ru6wIKDRQdeP7MjWJD38AKZJlcK1
 2YTjAFRJ64Wg==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 08 Dec 2019 11:55:18 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 44A261A60F11;
 Sun,  8 Dec 2019 11:55:18 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id mUDJsupwJuIE; Sun,  8 Dec 2019 11:55:18 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 2AC771A6105A;
 Sun,  8 Dec 2019 11:55:18 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id n22O4pA4Laqy; Sun,  8 Dec 2019 11:55:18 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 15C581A60F80;
 Sun,  8 Dec 2019 11:55:18 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Sun,  8 Dec 2019 11:54:58 +0200
Message-Id: <20191208095507.27384-8-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191208095507.27384-1-costin.lupu@cs.pub.ro>
References: <20191208095507.27384-1-costin.lupu@cs.pub.ro>
Subject: [Minios-devel] [UNIKRAFT/RUBY PATCH 07/16] patches: Limit all
 memory allocations to maximum 4K bytes
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

V2UgY3VycmVudGx5IGRvIG5vdCBzdXBwb3J0IGFsbG9jYXRpb25zIGdyZWF0ZXIgdGhhbiA0SyBh
bmQgdGhhdCBpcyBiZWNhdXNlIHdlCmRvIG5vdCBoYXZlIGEgcHJvcGVyIHBhZ2UgdGFibGVzIGlt
cGxlbWVudGF0aW9uIHlldCBhbmQgYSBjb21wbGV0ZSBtbWFwKCkKaW1wbGVtZW50YXRpb24uIFRo
ZXJlZm9yZSB0aGlzIHBhdGNoIHNob3VsZCBiZSByZW1vdmVkIHdoZW4gd2Ugd2lsbCBoYXZlIHRo
ZXNlCmluIFVuaWtyYWZ0LgoKU2lnbmVkLW9mZi1ieTogQ29zdGluIEx1cHUgPGNvc3Rpbi5sdXB1
QGNzLnB1Yi5ybz4KLS0tCiAuLi4wMS1TZXQtbWF4aW11bS1hbGxvY2F0aW9uLXNpemUtdG8tNEsu
cGF0Y2ggfCA0MiArKysrKysrKysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgNDIgaW5zZXJ0
aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHBhdGNoZXMvMDAwMS1TZXQtbWF4aW11bS1hbGxv
Y2F0aW9uLXNpemUtdG8tNEsucGF0Y2gKCmRpZmYgLS1naXQgYS9wYXRjaGVzLzAwMDEtU2V0LW1h
eGltdW0tYWxsb2NhdGlvbi1zaXplLXRvLTRLLnBhdGNoIGIvcGF0Y2hlcy8wMDAxLVNldC1tYXhp
bXVtLWFsbG9jYXRpb24tc2l6ZS10by00Sy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi5mMGVkY2ZkCi0tLSAvZGV2L251bGwKKysrIGIvcGF0Y2hlcy8wMDAxLVNldC1t
YXhpbXVtLWFsbG9jYXRpb24tc2l6ZS10by00Sy5wYXRjaApAQCAtMCwwICsxLDQyIEBACitGcm9t
IDJjZjdjZjgzYTYyZDYxMzI1NWJmYmU2MGE1ZjNiNTJiZmY5NDU5NGEgTW9uIFNlcCAxNyAwMDow
MDowMCAyMDAxCitGcm9tOiBDb3N0aW4gTHVwdSA8Y29zdGluLmx1cHVAY3MucHViLnJvPgorRGF0
ZTogU3VuLCAxIERlYyAyMDE5IDEyOjM4OjA3ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIFNldCBt
YXhpbXVtIGFsbG9jYXRpb24gc2l6ZSB0byA0SworCitUaGlzIHNob3VsZCBiZSByZXZlcnRlZCBv
bmNlIHdlIHdpbGwgaGF2ZSBwYWdlIHRhYmxlcyBzdXBwb3J0LgorCitTaWduZWQtb2ZmLWJ5OiBD
b3N0aW4gTHVwdSA8Y29zdGluLmx1cHVAY3MucHViLnJvPgorLS0tCisgZ2MuYyAgICAgICAgICAg
ICB8IDIgKy0KKyB0cmFuc2llbnRfaGVhcC5jIHwgMiArLQorIDIgZmlsZXMgY2hhbmdlZCwgMiBp
bnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZ2MuYyBiL2djLmMK
K2luZGV4IDBkZjcxODkuLmY5MjZjNjkgMTAwNjQ0CistLS0gYS9nYy5jCisrKysgYi9nYy5jCitA
QCAtNjUwLDcgKzY1MCw3IEBAIHR5cGVkZWYgc3RydWN0IHJiX29ianNwYWNlIHsKKyAKKyAKKyAv
KiBkZWZhdWx0IHRpbnkgaGVhcCBzaXplOiAxNktCICovCistI2RlZmluZSBIRUFQX1BBR0VfQUxJ
R05fTE9HIDE0CisrI2RlZmluZSBIRUFQX1BBR0VfQUxJR05fTE9HIDEyCisgI2RlZmluZSBDRUlM
RElWKGksIG1vZCkgKCgoaSkgKyAobW9kKSAtIDEpLyhtb2QpKQorIGVudW0geworICAgICBIRUFQ
X1BBR0VfQUxJR04gPSAoMVVMIDw8IEhFQVBfUEFHRV9BTElHTl9MT0cpLAorZGlmZiAtLWdpdCBh
L3RyYW5zaWVudF9oZWFwLmMgYi90cmFuc2llbnRfaGVhcC5jCitpbmRleCA1NWE3OTYzLi4wMWJk
YWMyIDEwMDY0NAorLS0tIGEvdHJhbnNpZW50X2hlYXAuYworKysrIGIvdHJhbnNpZW50X2hlYXAu
YworQEAgLTUxLDcgKzUxLDcgQEAKKyAjZGVmaW5lIFRSQU5TSUVOVF9IRUFQX1BST01PVEVEX0RF
RkFVTFRfU0laRSAxMDI0CisgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLyogIEsgICAgICBNICovCistI2RlZmluZSBUUkFOU0lFTlRfSEVBUF9CTE9DS19TSVpF
ICAoMTAyNCAqICAgMzIgICAgICAgKSAvKiAzMktCIGludDE2X3QgKi8KKysjZGVmaW5lIFRSQU5T
SUVOVF9IRUFQX0JMT0NLX1NJWkUgICgxMDI0ICogICAgNCAgICAgICApIC8qIDMyS0IgaW50MTZf
dCAqLworICNkZWZpbmUgVFJBTlNJRU5UX0hFQVBfVE9UQUxfU0laRSAgKDEwMjQgKiAxMDI0ICog
ICAzMikgLyogMzIgTUIgKi8KKyAjZGVmaW5lIFRSQU5TSUVOVF9IRUFQX0FMTE9DX01BWCAgICgx
MDI0ICogICAgMiAgICAgICApIC8qIDIgS0IgKi8KKyAjZGVmaW5lIFRSQU5TSUVOVF9IRUFQX0JM
T0NLX05VTSAgIChUUkFOU0lFTlRfSEVBUF9UT1RBTF9TSVpFIC8gVFJBTlNJRU5UX0hFQVBfQkxP
Q0tfU0laRSkKKy0tIAorMi4yMC4xCisKLS0gCjIuMjAuMQoKCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWlu
aW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5v
cmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Sun Dec 08 09:55:34 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 08 Dec 2019 09:55:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1idtHq-0007dt-3L; Sun, 08 Dec 2019 09:55:34 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=qLlK=Z6=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1idtHp-0007dd-Bz
 for minios-devel@lists.xen.org; Sun, 08 Dec 2019 09:55:33 +0000
X-Inumbo-ID: dac0d610-19a0-11ea-b6f1-bc764e2007e4
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id dac0d610-19a0-11ea-b6f1-bc764e2007e4;
 Sun, 08 Dec 2019 09:55:24 +0000 (UTC)
IronPort-SDR: N9FllYf8qlBzOZeD5gKSIOr+T/0z9BCxDaZurlRhK1xapQN36s5ZF+/miIJdQ9rwE42C5O4Xme
 dAUvi8DRXYBQ==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 08 Dec 2019 11:55:17 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 9C7171A60E2D;
 Sun,  8 Dec 2019 11:55:17 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id YzgRKX8Met8D; Sun,  8 Dec 2019 11:55:17 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 7D8441A6107A;
 Sun,  8 Dec 2019 11:55:17 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id BaRctEJ4kWrw; Sun,  8 Dec 2019 11:55:17 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 674751A60FBE;
 Sun,  8 Dec 2019 11:55:17 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Sun,  8 Dec 2019 11:54:54 +0200
Message-Id: <20191208095507.27384-4-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191208095507.27384-1-costin.lupu@cs.pub.ro>
References: <20191208095507.27384-1-costin.lupu@cs.pub.ro>
Subject: [Minios-devel] [UNIKRAFT/RUBY PATCH 03/16] ruby/config.h: Disable
 features unavailable in Unikraft
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com, Andrei Gogonea <andrei.gogonea09@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogQW5kcmVpIEdvZ29uZWEgPGFuZHJlaS5nb2dvbmVhMDlAZ21haWwuY29tPgoKU2lnbmVk
LW9mZi1ieTogQW5kcmVpIEdvZ29uZWEgPGFuZHJlaS5nb2dvbmVhMDlAZ21haWwuY29tPgpTaWdu
ZWQtb2ZmLWJ5OiBDb3N0aW4gTHVwdSA8Y29zdGluLmx1cHVAY3MucHViLnJvPgotLS0KIGluY2x1
ZGUvcnVieS9jb25maWcuaCB8IDMxICsrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0KIDEg
ZmlsZSBjaGFuZ2VkLCAxOSBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1n
aXQgYS9pbmNsdWRlL3J1YnkvY29uZmlnLmggYi9pbmNsdWRlL3J1YnkvY29uZmlnLmgKaW5kZXgg
NzQzN2YyMS4uODE5OTJkZSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9ydWJ5L2NvbmZpZy5oCisrKyBi
L2luY2x1ZGUvcnVieS9jb25maWcuaApAQCAtMSw1ICsxLDggQEAKICNpZm5kZWYgSU5DTFVERV9S
VUJZX0NPTkZJR19ICiAjZGVmaW5lIElOQ0xVREVfUlVCWV9DT05GSUdfSCAxCisKKyNpbmNsdWRl
IDx1ay9jb25maWcuaD4KKwogLyogY29uZmRlZnMuaCAqLwogI2RlZmluZSBTVERDX0hFQURFUlMg
MQogI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKQEAgLTM0LDcgKzM3LDcgQEAKICNkZWZpbmUg
SEFWRV9MT0NBTEVfSCAxCiAjZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQogI2RlZmluZSBIQVZFX1BX
RF9IIDEKLSNkZWZpbmUgSEFWRV9TQU5JVElaRVJfQVNBTl9JTlRFUkZBQ0VfSCAxCisvKiAjZGVm
aW5lIEhBVkVfU0FOSVRJWkVSX0FTQU5fSU5URVJGQUNFX0ggMSAqLwogI2RlZmluZSBIQVZFX1NU
REFMSUdOX0ggMQogI2RlZmluZSBIQVZFX1NZU19FVkVOVEZEX0ggMQogI2RlZmluZSBIQVZFX1NZ
U19GQ05UTF9IIDEKQEAgLTQ2LDEyICs0OSwxMiBAQAogI2RlZmluZSBIQVZFX1NZU19TRUxFQ1Rf
SCAxCiAjZGVmaW5lIEhBVkVfU1lTX1NFTkRGSUxFX0ggMQogI2RlZmluZSBIQVZFX1NZU19TT0NL
RVRfSCAxCi0jZGVmaW5lIEhBVkVfU1lTX1NZU0NBTExfSCAxCisvKiBUT0RPICNkZWZpbmUgSEFW
RV9TWVNfU1lTQ0FMTF9IIDEgKi8KICNkZWZpbmUgSEFWRV9TWVNfU1lTTUFDUk9TX0ggMQogI2Rl
ZmluZSBIQVZFX1NZU19USU1FX0ggMQogI2RlZmluZSBIQVZFX1NZU19USU1FU19IIDEKICNkZWZp
bmUgSEFWRV9TWVNfVUlPX0ggMQotI2RlZmluZSBIQVZFX1NZU0NBTExfSCAxCisvKiBUT0RPICNk
ZWZpbmUgSEFWRV9TWVNDQUxMX0ggMSAqLwogI2RlZmluZSBIQVZFX1RJTUVfSCAxCiAjZGVmaW5l
IEhBVkVfVUNPTlRFWFRfSCAxCiAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCkBAIC0yMTMsNyArMjE2
LDcgQEAKICNkZWZpbmUgU0laRU9GX1VJTlRQVFJfVCA4CiAjZGVmaW5lIEhBVkVfU1NJWkVfVCAx
CiAjZGVmaW5lIFNJWkVPRl9TU0laRV9UIDgKLSNkZWZpbmUgU1RBQ0tfRU5EX0FERFJFU1MgX19s
aWJjX3N0YWNrX2VuZAorLyogI2RlZmluZSBTVEFDS19FTkRfQUREUkVTUyBfX2xpYmNfc3RhY2tf
ZW5kICovCiAjZGVmaW5lIEdFVEdST1VQU19UIGdpZF90CiAjZGVmaW5lIFJFVFNJR1RZUEUgdm9p
ZAogI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKQEAgLTI0MCwxMCArMjQzLDEwIEBACiAjZGVmaW5l
IEhBVkVfVEdBTU1BIDEKICNkZWZpbmUgU1BUX1RZUEUgU1BUX1JFVVNFQVJHVgogI2RlZmluZSBI
QVZFX1NJR05CSVQgMQotI2RlZmluZSBIQVZFX0ZPUksgMQorLyojZGVmaW5lIEhBVkVfRk9SSyAx
CiAjZGVmaW5lIEhBVkVfVkZPUksgMQogI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQotI2Rl
ZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCisjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEqLwog
I2RlZmluZSBIQVZFX19MT05HSk1QIDEKICNkZWZpbmUgSEFWRV9BVEFOMkwgMQogI2RlZmluZSBI
QVZFX0FUQU4yRiAxCkBAIC0yOTUsNyArMjk4LDcgQEAKICNkZWZpbmUgSEFWRV9MT0cyIDEKICNk
ZWZpbmUgSEFWRV9MU1RBVCAxCiAjZGVmaW5lIEhBVkVfTFVUSU1FUyAxCi0jZGVmaW5lIEhBVkVf
TUFMTE9DX1VTQUJMRV9TSVpFIDEKKy8qI2RlZmluZSBIQVZFX01BTExPQ19VU0FCTEVfU0laRSAx
ICovCiAjZGVmaW5lIEhBVkVfTUJMRU4gMQogI2RlZmluZSBIQVZFX01FTUFMSUdOIDEKICNkZWZp
bmUgSEFWRV9XUklURVYgMQpAQCAtMzM4LDcgKzM0MSw3IEBACiAjZGVmaW5lIEhBVkVfU0lHUFJP
Q01BU0sgMQogI2RlZmluZSBIQVZFX1NJTkggMQogI2RlZmluZSBIQVZFX1NZTUxJTksgMQotI2Rl
ZmluZSBIQVZFX1NZU0NBTEwgMQorLyogVE9ETyAjZGVmaW5lIEhBVkVfU1lTQ0FMTCAxICovCiAj
ZGVmaW5lIEhBVkVfU1lTQ09ORiAxCiAjZGVmaW5lIEhBVkVfVEFOSCAxCiAjZGVmaW5lIEhBVkVf
VEVMTERJUiAxCkBAIC0zODEsOCArMzg0LDggQEAKICNkZWZpbmUgSEFWRV9MSUJSVCAxCiAjZGVm
aW5lIEhBVkVfVElNRVJfQ1JFQVRFIDEKICNkZWZpbmUgSEFWRV9USU1FUl9TRVRUSU1FIDEKLSNk
ZWZpbmUgSEFWRV9TVFJVQ1RfVE1fVE1fWk9ORSAxCi0jZGVmaW5lIEhBVkVfVE1fWk9ORSAxCisv
KiNkZWZpbmUgSEFWRV9TVFJVQ1RfVE1fVE1fWk9ORSAxKi8KKy8qI2RlZmluZSBIQVZFX1RNX1pP
TkUgMSovCiAjZGVmaW5lIEhBVkVfU1RSVUNUX1RNX1RNX0dNVE9GRiAxCiAjZGVmaW5lIEhBVkVf
REFZTElHSFQgMQogI2RlZmluZSBORUdBVElWRV9USU1FX1QgMQpAQCAtNDEwLDkgKzQxMywxMyBA
QAogI2RlZmluZSBIQVZFX1NFVENPTlRFWFQgMQogI2RlZmluZSBVU0VfRUxGIDEKICNkZWZpbmUg
SEFWRV9FTEZfSCAxCisjaWYgQ09ORklHX0xJQlpMSUIKICNkZWZpbmUgSEFWRV9MSUJaIDEKKyNl
bmRpZgorI2lmIENPTkZJR19MSUJCQUNLVFJBQ0UKICNkZWZpbmUgSEFWRV9CQUNLVFJBQ0UgMQot
I2RlZmluZSBIQVZFX1ZBTEdSSU5EX01FTUNIRUNLX0ggMQorI2VuZGlmCisvKiAjZGVmaW5lIEhB
VkVfVkFMR1JJTkRfTUVNQ0hFQ0tfSCAxICovCiAjZGVmaW5lIERMRVhUX01BWExFTiAzCiAjZGVm
aW5lIERMRVhUICIuc28iCiAjZGVmaW5lIEhBVkVfX1NFVEpNUCAxCkBAIC00MjEsNSArNDI4LDUg
QEAKICNkZWZpbmUgUlVCWV9KTVBfQlVGIGptcF9idWYKICNkZWZpbmUgVVNFX01KSVQgMQogI2Rl
ZmluZSBIQVZFX1BUSFJFQURfSCAxCi0jZGVmaW5lIFJVQllfUExBVEZPUk0gIng4Nl82NC1saW51
eCIKKyNkZWZpbmUgUlVCWV9QTEFURk9STSAieDg2XzY0LXVuaWtyYWZ0IgogI2VuZGlmIC8qIElO
Q0xVREVfUlVCWV9DT05GSUdfSCAqLwotLSAKMi4yMC4xCgoKX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5p
b3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9y
Zy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Sun Dec 08 09:55:37 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 08 Dec 2019 09:55:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1idtHt-0007ek-4u; Sun, 08 Dec 2019 09:55:37 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=qLlK=Z6=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1idtHr-0007eU-Sa
 for minios-devel@lists.xen.org; Sun, 08 Dec 2019 09:55:35 +0000
X-Inumbo-ID: db9b9521-19a0-11ea-8694-12813bfff9fa
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id db9b9521-19a0-11ea-8694-12813bfff9fa;
 Sun, 08 Dec 2019 09:55:26 +0000 (UTC)
IronPort-SDR: pcYTyaobGkuHpm1APHh7M9iCk556ad4TA69rsnuVlymlyFVcU3CHrABlYGVqCCRNz01dijzfMT
 sGk+mejLReKw==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 08 Dec 2019 11:55:18 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 734FA1A60E2D;
 Sun,  8 Dec 2019 11:55:18 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id dG6DxHDXMsmS; Sun,  8 Dec 2019 11:55:18 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 596661A60F80;
 Sun,  8 Dec 2019 11:55:18 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id aqCT5R9kYlHF; Sun,  8 Dec 2019 11:55:18 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 3F8DE1A60DEC;
 Sun,  8 Dec 2019 11:55:18 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Sun,  8 Dec 2019 11:55:01 +0200
Message-Id: <20191208095507.27384-11-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191208095507.27384-1-costin.lupu@cs.pub.ro>
References: <20191208095507.27384-1-costin.lupu@cs.pub.ro>
Subject: [Minios-devel] [UNIKRAFT/RUBY PATCH 10/16] extensions: Build
 extensions
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

QWxsIGV4dGVuc2lvbnMgYXJlIGluY2x1ZGVkIGluIGEgbmV3IGxpYnJhcnksIGxpYnJ1YnlfZXh0
LiBFYWNoIGV4dGVuc2lvbiBoYXMKaXRzIG93biBjb25maWd1cmF0aW9uIG9wdGlvbiBhbmQgYSA8
ZXh0Y29uZi5oPiBoZWFkZXIuIEdpdmVuIHRoYXQgdGhlCmV4dGVuc2lvbnMgZmlsZXMgYXJlIGdl
bmVyYXRlZCBhdCBidWlsZCB0aW1lIGJ5IHRoZSBvcmlnaW4gYnVpbGQgc3lzdGVtLCB3ZQphbHNv
IGhhdmUgdG8gcnVuIGAuL2NvbmZpZ3VyZWAgYW5kIGBtYWtlYCBmb3IgdGhlIG9yaWdpbmFsIGJ1
aWxkIGJlZm9yZQpidWlsZGluZyB0aGVtIGZvciBVbmlrcmFmdC4KClNpZ25lZC1vZmYtYnk6IENv
c3RpbiBMdXB1IDxjb3N0aW4ubHVwdUBjcy5wdWIucm8+Ci0tLQogQ29uZmlnLnVrICAgICAgICAg
ICAgICAgfCAxMDIgKysrKysrKysrKysrKysKIE1ha2VmaWxlLnVrICAgICAgICAgICAgIHwgMjk4
ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGdlbmVyYXRlZC9leHQv
ZXh0aW5pdC5jIHwgIDU3ICsrKysrKysrCiBpbmNsdWRlL3J1YnkvY29uZmlnLmggICB8ICAgMSAr
CiA0IGZpbGVzIGNoYW5nZWQsIDQ1OCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvQ29uZmln
LnVrIGIvQ29uZmlnLnVrCmluZGV4IGRkODMyNjcuLmZmNDRmZDcgMTAwNjQ0Ci0tLSBhL0NvbmZp
Zy51aworKysgYi9Db25maWcudWsKQEAgLTIxLDQgKzIxLDEwNiBAQCBpZiBMSUJSVUJZCiBjb25m
aWcgTElCUlVCWV9NSU5JCiAJYm9vbCAiTWluaSBjb25maWd1cmF0aW9uIgogCWRlZmF1bHQgbgor
Citjb25maWcgTElCUlVCWV9FWFQKKwlib29sICJFbmFibGUgZXh0ZW5zaW9ucyIKKwlkZXBlbmRz
IG9uICFMSUJSVUJZX01JTkkKKwlkZWZhdWx0IHkKKworCWlmIExJQlJVQllfRVhUCisJY29uZmln
IExJQlJVQllfRVhUX1NUUlNDQU4KKwkJYm9vbCAic3Ryc2NhbiIKKwkJZGVmYXVsdCB5CisJY29u
ZmlnIExJQlJVQllfRVhUX1NZU0xPRworCQlib29sICJzeXNsb2ciCisJCWRlZmF1bHQgeQorCWNv
bmZpZyBMSUJSVUJZX0VYVF9KU09OCisJCWJvb2wgImpzb24iCisJCWRlZmF1bHQgeQorCWNvbmZp
ZyBMSUJSVUJZX0VYVF9SQkNPTkZJR19TSVpFT0YKKwkJYm9vbCAicmJjb25maWcvc2l6ZW9mIgor
CQlkZWZhdWx0IHkKKwljb25maWcgTElCUlVCWV9FWFRfQklHREVDSU1BTAorCQlib29sICJiaWdk
ZWNpbWFsIgorCQlkZWZhdWx0IHkKKwljb25maWcgTElCUlVCWV9FWFRfUkFDQ19DUEFSU0UKKwkJ
Ym9vbCAicmFjYy9jcGFyc2UiCisJCWRlZmF1bHQgeQorCWNvbmZpZyBMSUJSVUJZX0VYVF9QU1lD
SAorCQlib29sICJwc3ljaCIKKwkJZGVmYXVsdCB5CisJaWYgTElCU1NMCisJY29uZmlnIExJQlJV
QllfRVhUX0RJR0VTVAorCQlib29sICJkaWdlc3QiCisJCWRlZmF1bHQgeQorCWVuZGlmCisJY29u
ZmlnIExJQlJVQllfRVhUX0NHSV9FU0NBUEUKKwkJYm9vbCAiY2dpL2VzY2FwZSIKKwkJZGVmYXVs
dCB5CisJY29uZmlnIExJQlJVQllfRVhUX0ZDTlRMCisJCWJvb2wgImZjbnRsIgorCQlkZWZhdWx0
IHkKKwljb25maWcgTElCUlVCWV9FWFRfU09DS0VUCisJCWJvb2wgInNvY2tldCIKKwkJc2VsZWN0
IExXSVBfSVBWNgorCQlzZWxlY3QgTFdJUF9JR01QCisJCWRlZmF1bHQgeQorCWNvbmZpZyBMSUJS
VUJZX0VYVF9QQVRITkFNRQorCQlib29sICJwYXRobmFtZSIKKwkJZGVmYXVsdCB5CisJY29uZmln
IExJQlJVQllfRVhUX0RBVEVfQ09SRQorCQlib29sICJkYXRlX2NvcmUiCisJCWRlZmF1bHQgeQor
CWNvbmZpZyBMSUJSVUJZX0VYVF9QVFkKKwkJYm9vbCAicHR5IgorCQlkZWZhdWx0IG4KKwlpZiBM
SUJTU0wKKwljb25maWcgTElCUlVCWV9FWFRfT1BFTlNTTAorCQlib29sICJvcGVuc3NsIgorCQlk
ZWZhdWx0IHkKKwllbmRpZgorCWNvbmZpZyBMSUJSVUJZX0VYVF9GSUJFUgorCQlib29sICJmaWJl
ciIKKwkJZGVmYXVsdCB5CisJaWYgTElCRkZJCisJY29uZmlnIExJQlJVQllfRVhUX0ZJRERMRQor
CQlib29sICJmaWRkbGUiCisJCWRlZmF1bHQgeQorCWVuZGlmCisJY29uZmlnIExJQlJVQllfRVhU
X0VUQworCQlib29sICJldGMiCisJCWRlZmF1bHQgeQorCWNvbmZpZyBMSUJSVUJZX0VYVF9DT05U
SU5VQVRJT04KKwkJYm9vbCAiY29udGludWF0aW9uIgorCQlkZWZhdWx0IHkKKwljb25maWcgTElC
UlVCWV9FWFRfT0JKU1BBQ0UKKwkJYm9vbCAib2Jqc3BhY2UiCisJCWRlZmF1bHQgeQorCWNvbmZp
ZyBMSUJSVUJZX0VYVF9DT1ZFUkFHRQorCQlib29sICJjb3ZlcmFnZSIKKwkJZGVmYXVsdCB5CisJ
Y29uZmlnIExJQlJVQllfRVhUX0lPX0NPTlNPTEUKKwkJYm9vbCAiaW8vY29uc29sZSIKKwkJZGVm
YXVsdCBuCisJY29uZmlnIExJQlJVQllfRVhUX0lPX05PTkJMT0NLCisJCWJvb2wgImlvL25vbmJs
b2NrIgorCQlkZWZhdWx0IHkKKwljb25maWcgTElCUlVCWV9FWFRfSU9fV0FJVAorCQlib29sICJp
by93YWl0IgorCQlkZWZhdWx0IHkKKwlpZiBMSUJSVUJZX1RFU1QKKwljb25maWcgTElCUlVCWV9F
WFRfUklQUEVSCisJCWJvb2wgInJpcHBlciIKKwkJZGVmYXVsdCB5CisJZW5kaWYKKwljb25maWcg
TElCUlVCWV9FWFRfTktGCisJCWJvb2wgIm5rZiIKKwkJZGVmYXVsdCB5CisJY29uZmlnIExJQlJV
QllfRVhUX1pMSUIKKwkJYm9vbCAiemxpYiIKKwkJZGVmYXVsdCB5CisJY29uZmlnIExJQlJVQllf
RVhUX1NEQk0KKwkJYm9vbCAic2RibSIKKwkJZGVmYXVsdCB5CisJZW5kaWYKIGVuZGlmCmRpZmYg
LS1naXQgYS9NYWtlZmlsZS51ayBiL01ha2VmaWxlLnVrCmluZGV4IGQ2NWE5YzMuLjQyZDMzNDgg
MTAwNjQ0Ci0tLSBhL01ha2VmaWxlLnVrCisrKyBiL01ha2VmaWxlLnVrCkBAIC0zOSw2ICszOSw3
IEBACiAjIExpYnJhcnkgcmVnaXN0cmF0aW9uCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogJChl
dmFsICQoY2FsbCBhZGRsaWJfcyxsaWJydWJ5LCQoQ09ORklHX0xJQlJVQlkpKSkKKyQoZXZhbCAk
KGNhbGwgYWRkbGliX3MsbGlicnVieV9leHQsJChDT05GSUdfTElCUlVCWV9FWFQpKSkKIAogIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMKICMgU291cmNlcwpAQCAtMTgwLDcgKzE4MSwzMDQgQEAgTElC
UlVCWV9TUkNTLXkgKz0gJChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9lbmMvdHJhbnMvbmV3bGlu
ZS5jCiBMSUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS8uL21pc3Npbmcvc2V0cHJvY3Rp
dGxlLmMKIExJQlJVQllfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2FkZHIybGluZS5jCiAKKyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIEV4dGVuc2lvbnMKKyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjCitMSUJSVUJZX0VYVF9DRkxBR1MteSArPSAkKExJQlJVQllfQ0lOQ0xVREVTLXkpCitMSUJS
VUJZX0VYVF9DRkxBR1MteSArPSAkKExJQlJVQllfU1VQUFJFU1NfRkxBR1MpCitMSUJSVUJZX0VY
VF9DRkxBR1MteSArPSAtRFJVQllfRVhUQ09ORl9IPVwiZXh0Y29uZi5oXCIKKworaWZlcSAoJChD
T05GSUdfTElCUlVCWV9FWFQpLHkpCitMSUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllfQkFTRSkv
Z2VuZXJhdGVkL2V4dC9leHRpbml0LmMKK2Vsc2UKIExJQlJVQllfU1JDUy15ICs9ICQoTElCUlVC
WV9TUkMpL2RteWV4dC5jCitlbmRpZgorCitpZmVxICgkKENPTkZJR19MSUJSVUJZX0VYVF9TVFJT
Q0FOKSx5KQorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9zdHJzY2Fu
L3N0cnNjYW4uYworTElCUlVCWV9FWFRfU1RSU0NBTl9GTEFHUy15ICs9IC1JJChMSUJSVUJZX0JB
U0UpL2dlbmVyYXRlZC9leHQvc3Ryc2NhbgorZW5kaWYKK2lmZXEgKCQoQ09ORklHX0xJQlJVQllf
RVhUX1NZU0xPRykseSkKK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQv
c3lzbG9nL3N5c2xvZy5jCitMSUJSVUJZX0VYVF9TWVNMT0dfRkxBR1MteSArPSAtSSQoTElCUlVC
WV9CQVNFKS9nZW5lcmF0ZWQvZXh0L3N5c2xvZworZW5kaWYKK2lmZXEgKCQoQ09ORklHX0xJQlJV
QllfRVhUX0pTT04pLHkpCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0
L2pzb24vZ2VuZXJhdG9yL2dlbmVyYXRvci5jCitMSUJSVUJZX0VYVF9HRU5FUkFUT1JfRkxBR1Mt
eSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L2pzb24vZ2VuZXJhdG9yCitMSUJS
VUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L2pzb24vcGFyc2VyL3BhcnNlci5j
fGpzb24KK0xJQlJVQllfRVhUX1BBUlNFUl9GTEFHUy15ICs9IC1JJChMSUJSVUJZX0JBU0UpL2dl
bmVyYXRlZC9leHQvanNvbi9wYXJzZXIKK2VuZGlmCitpZmVxICgkKENPTkZJR19MSUJSVUJZX0VY
VF9SQkNPTkZJR19TSVpFT0YpLHkpCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NS
QykvZXh0L3JiY29uZmlnL3NpemVvZi9zaXplcy5jCitMSUJSVUJZX0VYVF9TSVpFU19GTEFHUy15
ICs9IC1JJChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQvcmJjb25maWcvc2l6ZW9mCitMSUJS
VUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L3JiY29uZmlnL3NpemVvZi9saW1p
dHMuYworTElCUlVCWV9FWFRfTElNSVRTX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2Vu
ZXJhdGVkL2V4dC9yYmNvbmZpZy9zaXplb2YKK2VuZGlmCitpZmVxICgkKENPTkZJR19MSUJSVUJZ
X0VYVF9CSUdERUNJTUFMKSx5KQorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMp
L2V4dC9iaWdkZWNpbWFsL2JpZ2RlY2ltYWwuYworTElCUlVCWV9FWFRfQklHREVDSU1BTF9GTEFH
Uy15ICs9IC1JJChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQvYmlnZGVjaW1hbAorTElCUlVC
WV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9iaWdkZWNpbWFsL3V0aWwvdXRpbC5j
CitMSUJSVUJZX0VYVF9VVElMX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVk
L2V4dC9iaWdkZWNpbWFsL3V0aWwKK2VuZGlmCitpZmVxICgkKENPTkZJR19MSUJSVUJZX0VYVF9S
QUNDX0NQQVJTRSkseSkKK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQv
cmFjYy9jcGFyc2UvY3BhcnNlLmMKK0xJQlJVQllfRVhUX0NQQVJTRV9GTEFHUy15ICs9IC1JJChM
SUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQvcmFjYy9jcGFyc2UKK2VuZGlmCitpZmVxICgkKENP
TkZJR19MSUJSVUJZX0VYVF9ESUdFU1QpLHkpCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJS
VUJZX1NSQykvZXh0L2RpZ2VzdC9kaWdlc3QuYworTElCUlVCWV9FWFRfRElHRVNUX0ZMQUdTLXkg
Kz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9kaWdlc3QKK0xJQlJVQllfRVhUX1NS
Q1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvZGlnZXN0L2J1YmJsZWJhYmJsZS9idWJibGViYWJi
bGUuYworTElCUlVCWV9FWFRfQlVCQkxFQkFCQkxFX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFT
RSkvZ2VuZXJhdGVkL2V4dC9kaWdlc3QvYnViYmxlYmFiYmxlCitMSUJSVUJZX0VYVF9TUkNTLXkg
Kz0gJChMSUJSVUJZX1NSQykvZXh0L2RpZ2VzdC9tZDUvbWQ1aW5pdC5jCitMSUJSVUJZX0VYVF9N
RDVJTklUX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9kaWdlc3Qv
bWQ1CitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L2RpZ2VzdC9ybWQx
NjAvcm1kMTYwaW5pdC5jCitMSUJSVUJZX0VYVF9STUQxNjBJTklUX0ZMQUdTLXkgKz0gLUkkKExJ
QlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9kaWdlc3Qvcm1kMTYwCitMSUJSVUJZX0VYVF9TUkNT
LXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L2RpZ2VzdC9zaGExL3NoYTFpbml0LmMKK0xJQlJVQllf
RVhUX1NIQTFJTklUX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9k
aWdlc3Qvc2hhMQorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9kaWdl
c3Qvc2hhMi9zaGEyaW5pdC5jCitMSUJSVUJZX0VYVF9TSEEySU5JVF9GTEFHUy15ICs9IC1JJChM
SUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQvZGlnZXN0L3NoYTIKK2VuZGlmCitpZmVxICgkKENP
TkZJR19MSUJSVUJZX0VYVF9QU1lDSCkseSkKK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJV
QllfU1JDKS9leHQvcHN5Y2gvcHN5Y2hfdG9fcnVieS5jCitMSUJSVUJZX0VYVF9QU1lDSF9UT19S
VUJZX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9wc3ljaCAtSSQo
TElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L3BzeWNoL3lhbWwKK0xJQlJVQllfRVhUX1NSQ1Mt
eSArPSAkKExJQlJVQllfU1JDKS9leHQvcHN5Y2gvcHN5Y2hfeWFtbF90cmVlLmMKK0xJQlJVQllf
RVhUX1BTWUNIX1lBTUxfVFJFRV9GTEFHUy15ICs9IC1JJChMSUJSVUJZX0JBU0UpL2dlbmVyYXRl
ZC9leHQvcHN5Y2ggLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9wc3ljaC95YW1sCitM
SUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L3BzeWNoL3BzeWNoX2VtaXR0
ZXIuYworTElCUlVCWV9FWFRfUFNZQ0hfRU1JVFRFUl9GTEFHUy15ICs9IC1JJChMSUJSVUJZX0JB
U0UpL2dlbmVyYXRlZC9leHQvcHN5Y2ggLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9w
c3ljaC95YW1sCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L3BzeWNo
L3BzeWNoX3BhcnNlci5jfHBzeWNoCitMSUJSVUJZX0VYVF9QU1lDSF9QQVJTRVJfRkxBR1MteSAr
PSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L3BzeWNoIC1JJChMSUJSVUJZX0JBU0Up
L2dlbmVyYXRlZC9leHQvcHN5Y2gveWFtbAorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVC
WV9TUkMpL2V4dC9wc3ljaC9wc3ljaC5jCitMSUJSVUJZX0VYVF9QU1lDSF9GTEFHUy15ICs9IC1J
JChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQvcHN5Y2ggLUkkKExJQlJVQllfQkFTRSkvZ2Vu
ZXJhdGVkL2V4dC9wc3ljaC95YW1sCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NS
QykvZXh0L3BzeWNoL3lhbWwvZHVtcGVyLmMKK0xJQlJVQllfRVhUX0RVTVBFUl9GTEFHUy15ICs9
IC1JJChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQvcHN5Y2ggLUkkKExJQlJVQllfQkFTRSkv
Z2VuZXJhdGVkL2V4dC9wc3ljaC95YW1sCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZ
X1NSQykvZXh0L3BzeWNoL3lhbWwvcGFyc2VyLmN8eWFtbAorTElCUlVCWV9FWFRfUEFSU0VSX0ZM
QUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9wc3ljaCAtSSQoTElCUlVC
WV9CQVNFKS9nZW5lcmF0ZWQvZXh0L3BzeWNoL3lhbWwKK0xJQlJVQllfRVhUX1NSQ1MteSArPSAk
KExJQlJVQllfU1JDKS9leHQvcHN5Y2gveWFtbC9zY2FubmVyLmMKK0xJQlJVQllfRVhUX1NDQU5O
RVJfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L3BzeWNoIC1JJChM
SUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQvcHN5Y2gveWFtbAorTElCUlVCWV9FWFRfU1JDUy15
ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9wc3ljaC95YW1sL2FwaS5jCitMSUJSVUJZX0VYVF9BUElf
RkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L3BzeWNoIC1JJChMSUJS
VUJZX0JBU0UpL2dlbmVyYXRlZC9leHQvcHN5Y2gveWFtbAorTElCUlVCWV9FWFRfU1JDUy15ICs9
ICQoTElCUlVCWV9TUkMpL2V4dC9wc3ljaC95YW1sL2xvYWRlci5jCitMSUJSVUJZX0VYVF9MT0FE
RVJfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L3BzeWNoIC1JJChM
SUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQvcHN5Y2gveWFtbAorTElCUlVCWV9FWFRfU1JDUy15
ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9wc3ljaC95YW1sL3dyaXRlci5jCitMSUJSVUJZX0VYVF9X
UklURVJfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L3BzeWNoIC1J
JChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQvcHN5Y2gveWFtbAorTElCUlVCWV9FWFRfU1JD
Uy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9wc3ljaC95YW1sL2VtaXR0ZXIuYworTElCUlVCWV9F
WFRfRU1JVFRFUl9GTEFHUy15ICs9IC1JJChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQvcHN5
Y2ggLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9wc3ljaC95YW1sCitMSUJSVUJZX0VY
VF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L3BzeWNoL3lhbWwvcmVhZGVyLmMKK0xJQlJV
QllfRVhUX1JFQURFUl9GTEFHUy15ICs9IC1JJChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQv
cHN5Y2ggLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9wc3ljaC95YW1sCitlbmRpZgor
aWZlcSAoJChDT05GSUdfTElCUlVCWV9FWFRfQ0dJX0VTQ0FQRSkseSkKK0xJQlJVQllfRVhUX1NS
Q1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvY2dpL2VzY2FwZS9lc2NhcGUuYworTElCUlVCWV9F
WFRfRVNDQVBFX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9jZ2kv
ZXNjYXBlCitlbmRpZgoraWZlcSAoJChDT05GSUdfTElCUlVCWV9FWFRfRkNOVEwpLHkpCitMSUJS
VUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L2ZjbnRsL2ZjbnRsLmMKK0xJQlJV
QllfRVhUX0ZDTlRMX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9m
Y250bAorZW5kaWYKK2lmZXEgKCQoQ09ORklHX0xJQlJVQllfRVhUX1NPQ0tFVCkseSkKK0xJQlJV
QllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvc29ja2V0L2luaXQuY3xzb2NrZXQK
K0xJQlJVQllfRVhUX0lOSVRfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQv
ZXh0L3NvY2tldAorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9zb2Nr
ZXQvY29uc3RhbnRzLmMKK0xJQlJVQllfRVhUX0NPTlNUQU5UU19GTEFHUy15ICs9IC1JJChMSUJS
VUJZX0JBU0UpL2dlbmVyYXRlZC9leHQvc29ja2V0CitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChM
SUJSVUJZX1NSQykvZXh0L3NvY2tldC9iYXNpY3NvY2tldC5jCitMSUJSVUJZX0VYVF9CQVNJQ1NP
Q0tFVF9GTEFHUy15ICs9IC1JJChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQvc29ja2V0CitM
SUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L3NvY2tldC9zb2NrZXQuYwor
TElCUlVCWV9FWFRfU09DS0VUX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVk
L2V4dC9zb2NrZXQKK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvc29j
a2V0L2lwc29ja2V0LmMKK0xJQlJVQllfRVhUX0lQU09DS0VUX0ZMQUdTLXkgKz0gLUkkKExJQlJV
QllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9zb2NrZXQKK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJ
QlJVQllfU1JDKS9leHQvc29ja2V0L3RjcHNvY2tldC5jCitMSUJSVUJZX0VYVF9UQ1BTT0NLRVRf
RkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L3NvY2tldAorTElCUlVC
WV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9zb2NrZXQvdGNwc2VydmVyLmMKK0xJ
QlJVQllfRVhUX1RDUFNFUlZFUl9GTEFHUy15ICs9IC1JJChMSUJSVUJZX0JBU0UpL2dlbmVyYXRl
ZC9leHQvc29ja2V0CitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L3Nv
Y2tldC9zb2Nrc3NvY2tldC5jCitMSUJSVUJZX0VYVF9TT0NLU1NPQ0tFVF9GTEFHUy15ICs9IC1J
JChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQvc29ja2V0CitMSUJSVUJZX0VYVF9TUkNTLXkg
Kz0gJChMSUJSVUJZX1NSQykvZXh0L3NvY2tldC91ZHBzb2NrZXQuYworTElCUlVCWV9FWFRfVURQ
U09DS0VUX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9zb2NrZXQK
K0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvc29ja2V0L3VuaXhzb2Nr
ZXQuYworTElCUlVCWV9FWFRfVU5JWFNPQ0tFVF9GTEFHUy15ICs9IC1JJChMSUJSVUJZX0JBU0Up
L2dlbmVyYXRlZC9leHQvc29ja2V0CitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NS
QykvZXh0L3NvY2tldC91bml4c2VydmVyLmMKK0xJQlJVQllfRVhUX1VOSVhTRVJWRVJfRkxBR1Mt
eSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L3NvY2tldAorTElCUlVCWV9FWFRf
U1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9zb2NrZXQvb3B0aW9uLmMKK0xJQlJVQllfRVhU
X09QVElPTl9GTEFHUy15ICs9IC1JJChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQvc29ja2V0
CitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L3NvY2tldC9hbmNkYXRh
LmMKK0xJQlJVQllfRVhUX0FOQ0RBVEFfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5l
cmF0ZWQvZXh0L3NvY2tldAorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4
dC9zb2NrZXQvcmFkZHJpbmZvLmMKK0xJQlJVQllfRVhUX1JBRERSSU5GT19GTEFHUy15ICs9IC1J
JChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQvc29ja2V0CitMSUJSVUJZX0VYVF9TUkNTLXkg
Kz0gJChMSUJSVUJZX1NSQykvZXh0L3NvY2tldC9pZmFkZHIuYworTElCUlVCWV9FWFRfSUZBRERS
X0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9zb2NrZXQKK2VuZGlm
CitpZmVxICgkKENPTkZJR19MSUJSVUJZX0VYVF9QQVRITkFNRSkseSkKK0xJQlJVQllfRVhUX1NS
Q1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvcGF0aG5hbWUvcGF0aG5hbWUuYworTElCUlVCWV9F
WFRfUEFUSE5BTUVfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L3Bh
dGhuYW1lCitlbmRpZgoraWZlcSAoJChDT05GSUdfTElCUlVCWV9FWFRfREFURV9DT1JFKSx5KQor
TElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9kYXRlL2RhdGVfY29yZS5j
CitMSUJSVUJZX0VYVF9EQVRFX0NPUkVfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5l
cmF0ZWQvZXh0L2RhdGUKK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQv
ZGF0ZS9kYXRlX3BhcnNlLmMKK0xJQlJVQllfRVhUX0RBVEVfUEFSU0VfRkxBR1MteSArPSAtSSQo
TElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L2RhdGUKK0xJQlJVQllfRVhUX1NSQ1MteSArPSAk
KExJQlJVQllfU1JDKS9leHQvZGF0ZS9kYXRlX3N0cmZ0aW1lLmMKK0xJQlJVQllfRVhUX0RBVEVf
U1RSRlRJTUVfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L2RhdGUK
K0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvZGF0ZS9kYXRlX3N0cnB0
aW1lLmMKK0xJQlJVQllfRVhUX0RBVEVfU1RSUFRJTUVfRkxBR1MteSArPSAtSSQoTElCUlVCWV9C
QVNFKS9nZW5lcmF0ZWQvZXh0L2RhdGUKK2VuZGlmCitpZmVxICgkKENPTkZJR19MSUJSVUJZX0VY
VF9QVFkpLHkpCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L3B0eS9w
dHkuYworTElCUlVCWV9FWFRfUFRZX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJh
dGVkL2V4dC9wdHkKK2VuZGlmCitpZmVxICgkKENPTkZJR19MSUJSVUJZX0VYVF9PUEVOU1NMKSx5
KQorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsL29wZW5z
c2xfbWlzc2luZy5jCitMSUJSVUJZX0VYVF9PUEVOU1NMX01JU1NJTkdfRkxBR1MteSArPSAtSSQo
TElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L29wZW5zc2wKK0xJQlJVQllfRVhUX1NSQ1MteSAr
PSAkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbC9vc3NsLmMKK0xJQlJVQllfRVhUX09TU0xfRkxB
R1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L29wZW5zc2wKK0xJQlJVQllf
RVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbC9vc3NsX2FzbjEuYworTElC
UlVCWV9FWFRfT1NTTF9BU04xX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVk
L2V4dC9vcGVuc3NsCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L29w
ZW5zc2wvb3NzbF9iaW8uYworTElCUlVCWV9FWFRfT1NTTF9CSU9fRkxBR1MteSArPSAtSSQoTElC
UlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L29wZW5zc2wKK0xJQlJVQllfRVhUX1NSQ1MteSArPSAk
KExJQlJVQllfU1JDKS9leHQvb3BlbnNzbC9vc3NsX2JuLmMKK0xJQlJVQllfRVhUX09TU0xfQk5f
RkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L29wZW5zc2wKK0xJQlJV
QllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbC9vc3NsX2NpcGhlci5j
CitMSUJSVUJZX0VYVF9PU1NMX0NJUEhFUl9GTEFHUy15ICs9IC1JJChMSUJSVUJZX0JBU0UpL2dl
bmVyYXRlZC9leHQvb3BlbnNzbAorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMp
L2V4dC9vcGVuc3NsL29zc2xfY29uZmlnLmMKK0xJQlJVQllfRVhUX09TU0xfQ09ORklHX0ZMQUdT
LXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9vcGVuc3NsCitMSUJSVUJZX0VY
VF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L29wZW5zc2wvb3NzbF9kaWdlc3QuYworTElC
UlVCWV9FWFRfT1NTTF9ESUdFU1RfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0
ZWQvZXh0L29wZW5zc2wKK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQv
b3BlbnNzbC9vc3NsX2VuZ2luZS5jCitMSUJSVUJZX0VYVF9PU1NMX0VOR0lORV9GTEFHUy15ICs9
IC1JJChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQvb3BlbnNzbAorTElCUlVCWV9FWFRfU1JD
Uy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsL29zc2xfaG1hYy5jCitMSUJSVUJZX0VY
VF9PU1NMX0hNQUNfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L29w
ZW5zc2wKK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbC9v
c3NsX2tkZi5jCitMSUJSVUJZX0VYVF9PU1NMX0tERl9GTEFHUy15ICs9IC1JJChMSUJSVUJZX0JB
U0UpL2dlbmVyYXRlZC9leHQvb3BlbnNzbAorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVC
WV9TUkMpL2V4dC9vcGVuc3NsL29zc2xfbnNfc3BraS5jCitMSUJSVUJZX0VYVF9PU1NMX05TX1NQ
S0lfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L29wZW5zc2wKK0xJ
QlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbC9vc3NsX29jc3Au
YworTElCUlVCWV9FWFRfT1NTTF9PQ1NQX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2Vu
ZXJhdGVkL2V4dC9vcGVuc3NsCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykv
ZXh0L29wZW5zc2wvb3NzbF9wa2NzMTIuYworTElCUlVCWV9FWFRfT1NTTF9QS0NTMTJfRkxBR1Mt
eSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L29wZW5zc2wKK0xJQlJVQllfRVhU
X1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbC9vc3NsX3BrY3M3LmMKK0xJQlJV
QllfRVhUX09TU0xfUEtDUzdfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQv
ZXh0L29wZW5zc2wKK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvb3Bl
bnNzbC9vc3NsX3BrZXkuYworTElCUlVCWV9FWFRfT1NTTF9QS0VZX0ZMQUdTLXkgKz0gLUkkKExJ
QlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9vcGVuc3NsCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0g
JChMSUJSVUJZX1NSQykvZXh0L29wZW5zc2wvb3NzbF9wa2V5X2RoLmMKK0xJQlJVQllfRVhUX09T
U0xfUEtFWV9ESF9GTEFHUy15ICs9IC1JJChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQvb3Bl
bnNzbAorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsL29z
c2xfcGtleV9kc2EuYworTElCUlVCWV9FWFRfT1NTTF9QS0VZX0RTQV9GTEFHUy15ICs9IC1JJChM
SUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQvb3BlbnNzbAorTElCUlVCWV9FWFRfU1JDUy15ICs9
ICQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsL29zc2xfcGtleV9lYy5jCitMSUJSVUJZX0VYVF9P
U1NMX1BLRVlfRUNfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L29w
ZW5zc2wKK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbC9v
c3NsX3BrZXlfcnNhLmMKK0xJQlJVQllfRVhUX09TU0xfUEtFWV9SU0FfRkxBR1MteSArPSAtSSQo
TElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L29wZW5zc2wKK0xJQlJVQllfRVhUX1NSQ1MteSAr
PSAkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbC9vc3NsX3JhbmQuYworTElCUlVCWV9FWFRfT1NT
TF9SQU5EX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9vcGVuc3Ns
CitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L29wZW5zc2wvb3NzbF9z
c2wuYworTElCUlVCWV9FWFRfT1NTTF9TU0xfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9n
ZW5lcmF0ZWQvZXh0L29wZW5zc2wKK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JD
KS9leHQvb3BlbnNzbC9vc3NsX3NzbF9zZXNzaW9uLmMKK0xJQlJVQllfRVhUX09TU0xfU1NMX1NF
U1NJT05fRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L29wZW5zc2wK
K0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbC9vc3NsX3g1
MDkuYworTElCUlVCWV9FWFRfT1NTTF9YNTA5X0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkv
Z2VuZXJhdGVkL2V4dC9vcGVuc3NsCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NS
QykvZXh0L29wZW5zc2wvb3NzbF94NTA5YXR0ci5jCitMSUJSVUJZX0VYVF9PU1NMX1g1MDlBVFRS
X0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9vcGVuc3NsCitMSUJS
VUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L29wZW5zc2wvb3NzbF94NTA5Y2Vy
dC5jCitMSUJSVUJZX0VYVF9PU1NMX1g1MDlDRVJUX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFT
RSkvZ2VuZXJhdGVkL2V4dC9vcGVuc3NsCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZ
X1NSQykvZXh0L29wZW5zc2wvb3NzbF94NTA5Y3JsLmMKK0xJQlJVQllfRVhUX09TU0xfWDUwOUNS
TF9GTEFHUy15ICs9IC1JJChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQvb3BlbnNzbAorTElC
UlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsL29zc2xfeDUwOWV4
dC5jCitMSUJSVUJZX0VYVF9PU1NMX1g1MDlFWFRfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNF
KS9nZW5lcmF0ZWQvZXh0L29wZW5zc2wKK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllf
U1JDKS9leHQvb3BlbnNzbC9vc3NsX3g1MDluYW1lLmMKK0xJQlJVQllfRVhUX09TU0xfWDUwOU5B
TUVfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L29wZW5zc2wKK0xJ
QlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbC9vc3NsX3g1MDly
ZXEuYworTElCUlVCWV9FWFRfT1NTTF9YNTA5UkVRX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFT
RSkvZ2VuZXJhdGVkL2V4dC9vcGVuc3NsCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZ
X1NSQykvZXh0L29wZW5zc2wvb3NzbF94NTA5cmV2b2tlZC5jCitMSUJSVUJZX0VYVF9PU1NMX1g1
MDlSRVZPS0VEX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9vcGVu
c3NsCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L29wZW5zc2wvb3Nz
bF94NTA5c3RvcmUuYworTElCUlVCWV9FWFRfT1NTTF9YNTA5U1RPUkVfRkxBR1MteSArPSAtSSQo
TElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L29wZW5zc2wKK2VuZGlmCitMSUJSVUJZX0VYVF9T
UkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L3N0cmluZ2lvL3N0cmluZ2lvLmMKK0xJQlJVQllf
RVhUX1NUUklOR0lPX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9z
dHJpbmdpbworaWZlcSAoJChDT05GSUdfTElCUlVCWV9FWFRfRklCRVIpLHkpCitMSUJSVUJZX0VY
VF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L2ZpYmVyL2ZpYmVyLmMKK0xJQlJVQllfRVhU
X0ZJQkVSX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9maWJlcgor
ZW5kaWYKK2lmZXEgKCQoQ09ORklHX0xJQlJVQllfRVhUX0ZJRERMRSkseSkKK0xJQlJVQllfRVhU
X1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvZmlkZGxlL2Nsb3N1cmUuYworTElCUlVCWV9F
WFRfQ0xPU1VSRV9GTEFHUy15ICs9IC1JJChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQvZmlk
ZGxlCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L2ZpZGRsZS9jb252
ZXJzaW9ucy5jCitMSUJSVUJZX0VYVF9DT05WRVJTSU9OU19GTEFHUy15ICs9IC1JJChMSUJSVUJZ
X0JBU0UpL2dlbmVyYXRlZC9leHQvZmlkZGxlCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJS
VUJZX1NSQykvZXh0L2ZpZGRsZS9maWRkbGUuYworTElCUlVCWV9FWFRfRklERExFX0ZMQUdTLXkg
Kz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9maWRkbGUKK0xJQlJVQllfRVhUX1NS
Q1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvZmlkZGxlL2Z1bmN0aW9uLmMKK0xJQlJVQllfRVhU
X0ZVTkNUSU9OX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9maWRk
bGUKK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvZmlkZGxlL2hhbmRs
ZS5jCitMSUJSVUJZX0VYVF9IQU5ETEVfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5l
cmF0ZWQvZXh0L2ZpZGRsZQorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4
dC9maWRkbGUvcG9pbnRlci5jCitMSUJSVUJZX0VYVF9QT0lOVEVSX0ZMQUdTLXkgKz0gLUkkKExJ
QlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9maWRkbGUKK2VuZGlmCitpZmVxICgkKENPTkZJR19M
SUJSVUJZX0VYVF9FVEMpLHkpCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykv
ZXh0L2V0Yy9ldGMuYworTElCUlVCWV9FWFRfRVRDX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFT
RSkvZ2VuZXJhdGVkL2V4dC9ldGMKK2VuZGlmCitpZmVxICgkKENPTkZJR19MSUJSVUJZX0VYVF9D
T05USU5VQVRJT04pLHkpCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0
L2NvbnRpbnVhdGlvbi9jb250aW51YXRpb24uYworTElCUlVCWV9FWFRfQ09OVElOVUFUSU9OX0ZM
QUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9jb250aW51YXRpb24KK2Vu
ZGlmCitpZmVxICgkKENPTkZJR19MSUJSVUJZX0VYVF9PQkpTUEFDRSkseSkKK0xJQlJVQllfRVhU
X1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvb2Jqc3BhY2Uvb2JqZWN0X3RyYWNpbmcuYwor
TElCUlVCWV9FWFRfT0JKRUNUX1RSQUNJTkdfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9n
ZW5lcmF0ZWQvZXh0L29ianNwYWNlCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NS
QykvZXh0L29ianNwYWNlL29ianNwYWNlLmMKK0xJQlJVQllfRVhUX09CSlNQQUNFX0ZMQUdTLXkg
Kz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9vYmpzcGFjZQorTElCUlVCWV9FWFRf
U1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9vYmpzcGFjZS9vYmpzcGFjZV9kdW1wLmMKK0xJ
QlJVQllfRVhUX09CSlNQQUNFX0RVTVBfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5l
cmF0ZWQvZXh0L29ianNwYWNlCitlbmRpZgoraWZlcSAoJChDT05GSUdfTElCUlVCWV9FWFRfQ09W
RVJBR0UpLHkpCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L2NvdmVy
YWdlL2NvdmVyYWdlLmMKK0xJQlJVQllfRVhUX0NPVkVSQUdFX0ZMQUdTLXkgKz0gLUkkKExJQlJV
QllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9jb3ZlcmFnZQorZW5kaWYKK2lmZXEgKCQoQ09ORklHX0xJ
QlJVQllfRVhUX0lPX0NPTlNPTEUpLHkpCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZ
X1NSQykvZXh0L2lvL2NvbnNvbGUvY29uc29sZS5jCitMSUJSVUJZX0VYVF9DT05TT0xFX0ZMQUdT
LXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9pby9jb25zb2xlCitlbmRpZgor
aWZlcSAoJChDT05GSUdfTElCUlVCWV9FWFRfSU9fTk9OQkxPQ0spLHkpCitMSUJSVUJZX0VYVF9T
UkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L2lvL25vbmJsb2NrL25vbmJsb2NrLmMKK0xJQlJV
QllfRVhUX05PTkJMT0NLX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4
dC9pby9ub25ibG9jaworZW5kaWYKK2lmZXEgKCQoQ09ORklHX0xJQlJVQllfRVhUX0lPX1dBSVQp
LHkpCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L2lvL3dhaXQvd2Fp
dC5jCitMSUJSVUJZX0VYVF9XQUlUX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJh
dGVkL2V4dC9pby93YWl0CitlbmRpZgoraWZlcSAoJChDT05GSUdfTElCUlVCWV9FWFRfUklQUEVS
KSx5KQorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9yaXBwZXIvcmlw
cGVyLmMKK0xJQlJVQllfRVhUX1JJUFBFUl9GTEFHUy15ICs9IC1JJChMSUJSVUJZX0JBU0UpL2dl
bmVyYXRlZC9leHQvcmlwcGVyCitlbmRpZgoraWZlcSAoJChDT05GSUdfTElCUlVCWV9FWFRfTktG
KSx5KQorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9ua2YvbmtmLmMK
K0xJQlJVQllfRVhUX05LRl9GTEFHUy15ICs9IC1JJChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9l
eHQvbmtmCitlbmRpZgoraWZlcSAoJChDT05GSUdfTElCUlVCWV9FWFRfWkxJQikseSkKK0xJQlJV
QllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvemxpYi96bGliLmMKK0xJQlJVQllf
RVhUX1pMSUJfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L3psaWIK
K2VuZGlmCitpZmVxICgkKENPTkZJR19MSUJSVUJZX0VYVF9TREJNKSx5KQorTElCUlVCWV9FWFRf
U1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9zZGJtL19zZGJtLmMKK0xJQlJVQllfRVhUX19T
REJNX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9zZGJtCitMSUJS
VUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L3NkYm0vaW5pdC5jfHNkYm0KK0xJ
QlJVQllfRVhUX0lOSVRfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0
L3NkYm0KK2VuZGlmCiAKIExJQlJVQllfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2RteWVuYy5j
CiAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIFByZXBhcmUgcnVsZXMKKyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjCisKKyMgQ29uZmlndXJlIG9yaWdpbgorJChMSUJSVUJZX0JVSUxEKS8uY29u
ZmlndXJlZDogJChMSUJSVUJZX0JVSUxEKS8ub3JpZ2luCisJY2QgJChMSUJSVUJZX1NSQykgJiYg
XAorCQlhdXRvY29uZiAmJiBcCisJCS4vY29uZmlndXJlIC0td2l0aC1zdGF0aWMtbGlua2VkLWV4
dCAmJiBcCisJCXRvdWNoICRACisKKyMgQnVpbGQgUnVieQorJChMSUJSVUJZX0JVSUxEKS8uYnVp
bGQ6ICQoTElCUlVCWV9CVUlMRCkvLmNvbmZpZ3VyZWQKKwljZCAkKExJQlJVQllfU1JDKSAmJiBt
YWtlICYmIHRvdWNoICRACisKK2lmZXEgKCQoQ09ORklHX0xJQlJVQllfRVhUKSx5KQorVUtfUFJF
UEFSRSArPSAkKExJQlJVQllfQlVJTEQpLy5idWlsZAorZW5kaWYKKwpkaWZmIC0tZ2l0IGEvZ2Vu
ZXJhdGVkL2V4dC9leHRpbml0LmMgYi9nZW5lcmF0ZWQvZXh0L2V4dGluaXQuYwppbmRleCA0OTJh
OTMzLi5jZTJlNzdjIDEwMDY0NAotLS0gYS9nZW5lcmF0ZWQvZXh0L2V4dGluaXQuYworKysgYi9n
ZW5lcmF0ZWQvZXh0L2V4dGluaXQuYwpAQCAtMSwzICsxLDQgQEAKKyNpbmNsdWRlIDx1ay9jb25m
aWcuaD4KICNpbmNsdWRlICJydWJ5L3J1YnkuaCIKIAogI2RlZmluZSBpbml0KGZ1bmMsIG5hbWUp
IHsJXApAQCAtOSw0MCArMTAsOTYgQEAgdm9pZCBydWJ5X2luaXRfZXh0KGNvbnN0IGNoYXIgKm5h
bWUsIHZvaWQgKCppbml0KSh2b2lkKSk7CiAKIHZvaWQgSW5pdF9leHQodm9pZCkKIHsKKyNpZiBD
T05GSUdfTElCUlVCWV9FWFRfU1RSU0NBTgogICAgIGluaXQoSW5pdF9zdHJzY2FuLCAic3Ryc2Nh
biIpOworI2VuZGlmCisjaWYgQ09ORklHX0xJQlJVQllfRVhUX1NZU0xPRwogICAgIGluaXQoSW5p
dF9zeXNsb2csICJzeXNsb2ciKTsKKyNlbmRpZgorI2lmIENPTkZJR19MSUJSVUJZX0VYVF9TWVNM
T0cKICAgICBpbml0KEluaXRfZ2VuZXJhdG9yLCAianNvbi9leHQvZ2VuZXJhdG9yIik7CiAgICAg
aW5pdChJbml0X3BhcnNlciwgImpzb24vZXh0L3BhcnNlciIpOworI2VuZGlmCisjaWYgQ09ORklH
X0xJQlJVQllfRVhUX1JCQ09ORklHX1NJWkVPRgogICAgIGluaXQoSW5pdF9zaXplb2YsICJyYmNv
bmZpZy9zaXplb2YiKTsKKyNlbmRpZgorI2lmIENPTkZJR19MSUJSVUJZX0VYVF9CSUdERUNJTUFM
CiAgICAgaW5pdChJbml0X2JpZ2RlY2ltYWwsICJiaWdkZWNpbWFsIik7CiAgICAgaW5pdChJbml0
X3V0aWwsICJiaWdkZWNpbWFsL3V0aWwiKTsKKyNlbmRpZgorI2lmIENPTkZJR19MSUJSVUJZX0VY
VF9SQUNDX0NQQVJTRQogICAgIGluaXQoSW5pdF9jcGFyc2UsICJyYWNjL2NwYXJzZSIpOworI2Vu
ZGlmCisjaWYgQ09ORklHX0xJQlJVQllfRVhUX0RJR0VTVAogICAgIGluaXQoSW5pdF9kaWdlc3Qs
ICJkaWdlc3QiKTsKICAgICBpbml0KEluaXRfYnViYmxlYmFiYmxlLCAiZGlnZXN0L2J1YmJsZWJh
YmJsZSIpOwogICAgIGluaXQoSW5pdF9tZDUsICJkaWdlc3QvbWQ1Iik7CiAgICAgaW5pdChJbml0
X3JtZDE2MCwgImRpZ2VzdC9ybWQxNjAiKTsKICAgICBpbml0KEluaXRfc2hhMSwgImRpZ2VzdC9z
aGExIik7CiAgICAgaW5pdChJbml0X3NoYTIsICJkaWdlc3Qvc2hhMiIpOworI2VuZGlmCisjaWYg
Q09ORklHX0xJQlJVQllfRVhUX1BTWUNICiAgICAgaW5pdChJbml0X3BzeWNoLCAicHN5Y2giKTsK
KyNlbmRpZgorI2lmIENPTkZJR19MSUJSVUJZX0VYVF9DR0lfRVNDQVBFCiAgICAgaW5pdChJbml0
X2VzY2FwZSwgImNnaS9lc2NhcGUiKTsKKyNlbmRpZgorI2lmIENPTkZJR19MSUJSVUJZX0VYVF9G
Q05UTAogICAgIGluaXQoSW5pdF9mY250bCwgImZjbnRsIik7CisjZW5kaWYKICAgICBpbml0KElu
aXRfc3RyaW5naW8sICJzdHJpbmdpbyIpOworI2lmIENPTkZJR19MSUJSVUJZX0VYVF9TT0NLRVQK
ICAgICBpbml0KEluaXRfc29ja2V0LCAic29ja2V0Iik7CisjZW5kaWYKKyNpZiBDT05GSUdfTElC
UlVCWV9FWFRfUEFUSE5BTUUKICAgICBpbml0KEluaXRfcGF0aG5hbWUsICJwYXRobmFtZSIpOwor
I2VuZGlmCisjaWYgQ09ORklHX0xJQlJVQllfRVhUX0RBVEVfQ09SRQogICAgIGluaXQoSW5pdF9k
YXRlX2NvcmUsICJkYXRlX2NvcmUiKTsKKyNlbmRpZgorI2lmIENPTkZJR19MSUJSVUJZX0VYVF9Q
VFkKICAgICBpbml0KEluaXRfcHR5LCAicHR5Iik7CisjZW5kaWYKKyNpZiBDT05GSUdfTElCUlVC
WV9FWFRfT1BFTlNTTAogICAgIGluaXQoSW5pdF9vcGVuc3NsLCAib3BlbnNzbCIpOworI2VuZGlm
CisjaWYgQ09ORklHX0xJQlJVQllfRVhUX0ZJQkVSCiAgICAgaW5pdChJbml0X2ZpYmVyLCAiZmli
ZXIiKTsKKyNlbmRpZgorI2lmIENPTkZJR19MSUJSVUJZX0VYVF9GSURETEUKICAgICBpbml0KElu
aXRfZmlkZGxlLCAiZmlkZGxlIik7CisjZW5kaWYKKyNpZiBDT05GSUdfTElCUlVCWV9FWFRfRVRD
CiAgICAgaW5pdChJbml0X2V0YywgImV0YyIpOworI2VuZGlmCisjaWYgQ09ORklHX0xJQlJVQllf
RVhUX0NPTlRJTlVBVElPTgogICAgIGluaXQoSW5pdF9jb250aW51YXRpb24sICJjb250aW51YXRp
b24iKTsKKyNlbmRpZgorI2lmIENPTkZJR19MSUJSVUJZX0VYVF9PQkpTUEFDRQogICAgIGluaXQo
SW5pdF9vYmpzcGFjZSwgIm9ianNwYWNlIik7CisjZW5kaWYKKyNpZiBDT05GSUdfTElCUlVCWV9F
WFRfQ09WRVJBR0UKICAgICBpbml0KEluaXRfY292ZXJhZ2UsICJjb3ZlcmFnZSIpOworI2VuZGlm
CisjaWYgQ09ORklHX0xJQlJVQllfRVhUX0lPX0NPTlNPTEUKICAgICBpbml0KEluaXRfY29uc29s
ZSwgImlvL2NvbnNvbGUiKTsKKyNlbmRpZgorI2lmIENPTkZJR19MSUJSVUJZX0VYVF9JT19OT05C
TE9DSwogICAgIGluaXQoSW5pdF9ub25ibG9jaywgImlvL25vbmJsb2NrIik7CisjZW5kaWYKKyNp
ZiBDT05GSUdfTElCUlVCWV9FWFRfSU9fV0FJVAogICAgIGluaXQoSW5pdF93YWl0LCAiaW8vd2Fp
dCIpOworI2VuZGlmCisjaWYgQ09ORklHX0xJQlJVQllfRVhUX1JJUFBFUgogICAgIGluaXQoSW5p
dF9yaXBwZXIsICJyaXBwZXIiKTsKKyNlbmRpZgorI2lmIENPTkZJR19MSUJSVUJZX0VYVF9SSVBQ
RVIKICAgICBpbml0KEluaXRfbmtmLCAibmtmIik7CisjZW5kaWYKKyNpZiBDT05GSUdfTElCUlVC
WV9FWFRfUklQUEVSCiAgICAgaW5pdChJbml0X3psaWIsICJ6bGliIik7CisjZW5kaWYKKyNpZiBD
T05GSUdfTElCUlVCWV9FWFRfUklQUEVSCiAgICAgaW5pdChJbml0X3NkYm0sICJzZGJtIik7Cisj
ZW5kaWYKIH0KZGlmZiAtLWdpdCBhL2luY2x1ZGUvcnVieS9jb25maWcuaCBiL2luY2x1ZGUvcnVi
eS9jb25maWcuaAppbmRleCBlOWZmNGQxLi4yYjBmYWUwIDEwMDY0NAotLS0gYS9pbmNsdWRlL3J1
YnkvY29uZmlnLmgKKysrIGIvaW5jbHVkZS9ydWJ5L2NvbmZpZy5oCkBAIC00MjIsNiArNDIyLDcg
QEAKIC8qICNkZWZpbmUgSEFWRV9WQUxHUklORF9NRU1DSEVDS19IIDEgKi8KICNkZWZpbmUgRExF
WFRfTUFYTEVOIDMKICNkZWZpbmUgRExFWFQgIi5zbyIKKyNkZWZpbmUgRVhUU1RBVElDIDEKICNk
ZWZpbmUgSEFWRV9fU0VUSk1QIDEKICNkZWZpbmUgUlVCWV9TRVRKTVAoZW52KSBfX2J1aWx0aW5f
c2V0am1wKChlbnYpKQogI2RlZmluZSBSVUJZX0xPTkdKTVAoZW52LHZhbCkgX19idWlsdGluX2xv
bmdqbXAoKGVudiksdmFsKQotLSAKMi4yMC4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2
ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWls
bWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Sun Dec 08 09:55:39 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 08 Dec 2019 09:55:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1idtHv-0007fp-7P; Sun, 08 Dec 2019 09:55:39 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=qLlK=Z6=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1idtHu-0007fT-Ct
 for minios-devel@lists.xen.org; Sun, 08 Dec 2019 09:55:38 +0000
X-Inumbo-ID: db7f063a-19a0-11ea-b6f1-bc764e2007e4
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id db7f063a-19a0-11ea-b6f1-bc764e2007e4;
 Sun, 08 Dec 2019 09:55:25 +0000 (UTC)
IronPort-SDR: aVQ/AmfL5n6v192FVqm9lqiHUb4TeSfzBkxrIlxPaF1SAHGlCn3dEa38MOVK0iKdR/imd+Hbo5
 TBYqXPgeU6gg==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 08 Dec 2019 11:55:17 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 3D43E1A60F80;
 Sun,  8 Dec 2019 11:55:18 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id HcqmWSlb4i5Y; Sun,  8 Dec 2019 11:55:18 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 2479A1A60F11;
 Sun,  8 Dec 2019 11:55:18 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id qcvFWYgi4409; Sun,  8 Dec 2019 11:55:18 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 1199C1A60E2D;
 Sun,  8 Dec 2019 11:55:18 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Sun,  8 Dec 2019 11:54:57 +0200
Message-Id: <20191208095507.27384-7-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191208095507.27384-1-costin.lupu@cs.pub.ro>
References: <20191208095507.27384-1-costin.lupu@cs.pub.ro>
Subject: [Minios-devel] [UNIKRAFT/RUBY PATCH 06/16] core: Add thread related
 definitions
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

V2l0aCBwdGhyZWFkLWVtYmVkZGVkLCBzcGVjaWFsIGNhcmUgaGFzIHRvIGJlIHRha2VuIHdoZW4g
ZGVhbGluZyB3aXRoCmNvbnZlcnNpb25zIGZyb20gcHRocmVhZF90IHRvIHNjYWxhciB2YWx1ZXMu
IFRoZXJlZm9yZSB3ZSBoYXZlIHRvIGRlZmluZSBvdXIKb3duIGNvbnZlcnNpb24gZnVuY3Rpb25z
LiBXZSBhbHNvIGNvcHkgcnVieV9maWxsX3RocmVhZF9pZF9zdHJpbmcoKSBmdW5jdGlvbgpmcm9t
IG9yaWdpbiB0byBnbHVlIGluIG9yZGVyIHRvIGF2b2lkIHBhdGNoaW5nIHRoZSBvcmlnaW4gY29k
ZS4KClNpZ25lZC1vZmYtYnk6IENvc3RpbiBMdXB1IDxjb3N0aW4ubHVwdUBjcy5wdWIucm8+Ci0t
LQogTWFrZWZpbGUudWsgICAgICAgICAgIHwgIDIgKysKIGluY2x1ZGUvcnVieS9jb25maWcuaCB8
ICA5ICsrKysrKysrCiB0aHJlYWQuYyAgICAgICAgICAgICAgfCA1MiArKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDYzIGluc2VydGlv
bnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCB0aHJlYWQuYwoKZGlmZiAtLWdpdCBhL01ha2VmaWxl
LnVrIGIvTWFrZWZpbGUudWsKaW5kZXggOThlNzM4Zi4uZDY1YTljMyAxMDA2NDQKLS0tIGEvTWFr
ZWZpbGUudWsKKysrIGIvTWFrZWZpbGUudWsKQEAgLTg4LDYgKzg4LDggQEAgTElCUlVCWV9DRkxB
R1MteSArPSAtc3RkPWdudTk5IC1EX0ZPUlRJRllfU09VUkNFPTIgXAogCSAtZm5vLXN0cmljdC1v
dmVyZmxvdyAtZnZpc2liaWxpdHk9aGlkZGVuIC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCBc
CiAJLURSVUJZX0VYUE9SVCAtRENBTk9OSUNBTElaQVRJT05fRk9SX01BVEhOCiAKK0xJQlJVQllf
U1JDUy15ICs9ICQoTElCUlVCWV9CQVNFKS90aHJlYWQuY3x1bmlrcmFmdAorCiBpZmVxICgkKENP
TkZJR19MSUJSVUJZX01JTkkpLHkpCiBMSUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9k
bXlkbG4uYwogTElCUlVCWV9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvbWluaWluaXQuYwpkaWZm
IC0tZ2l0IGEvaW5jbHVkZS9ydWJ5L2NvbmZpZy5oIGIvaW5jbHVkZS9ydWJ5L2NvbmZpZy5oCmlu
ZGV4IDgxOTkyZGUuLmU5ZmY0ZDEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvcnVieS9jb25maWcuaAor
KysgYi9pbmNsdWRlL3J1YnkvY29uZmlnLmgKQEAgLTQyOSw0ICs0MjksMTMgQEAKICNkZWZpbmUg
VVNFX01KSVQgMQogI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCiAjZGVmaW5lIFJVQllfUExBVEZP
Uk0gIng4Nl82NC11bmlrcmFmdCIKKworLyogVGhyZWFkcyAqLworI2RlZmluZSBOT05fU0NBTEFS
X1RIUkVBRF9JRCAxCisjaWZuZGVmIGZpbGxfdGhyZWFkX2lkX3N0cgorIyBkZWZpbmUgZmlsbF90
aHJlYWRfaWRfc3RyaW5nKHRoaWQsIGJ1ZikgKCh2b2lkICopKHVpbnRwdHJfdClwdGhyZWFkX3Rv
X3Vuc2lnbmVkX2xvbmcoJnRoaWQpKQorIyBkZWZpbmUgZmlsbF90aHJlYWRfaWRfc3RyKHRoKSAo
dm9pZCkwCisjIGRlZmluZSB0aHJlYWRfaWRfc3RyKHRoKSAoKHZvaWQgKikodWludHB0cl90KXB0
aHJlYWRfdG9fdW5zaWduZWRfbG9uZygmKHRoKS0+dGhyZWFkX2lkKSkKKyMgZGVmaW5lIFBSSV9U
SFJFQURfSUQgInAiCisjZW5kaWYKICNlbmRpZiAvKiBJTkNMVURFX1JVQllfQ09ORklHX0ggKi8K
ZGlmZiAtLWdpdCBhL3RocmVhZC5jIGIvdGhyZWFkLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uNjQ2NjQ5YwotLS0gL2Rldi9udWxsCisrKyBiL3RocmVhZC5jCkBAIC0wLDAg
KzEsNTIgQEAKKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVQgKi8KKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMDQtMjAwNyBLb2ljaGkgU2FzYWRhCisgKgorICogUGVybWlzc2lvbiBpcyBo
ZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEg
Y29weQorICogb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZp
bGVzICh0aGUgIlNvZnR3YXJlIiksIHRvCisgKiBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0
IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZQorICogcmlnaHRz
IHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGlj
ZW5zZSwgYW5kL29yCisgKiBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJt
aXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcworICogZnVybmlzaGVkIHRvIGRvIHNv
LCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNs
dWRlZCBpbgorICogYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29m
dHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQg
V0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKKyAqIElNUExJRUQsIElOQ0xVRElORyBC
VVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAorICog
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFCisgKiBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJ
QUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCisgKiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORwor
ICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhF
IFVTRSBPUiBPVEhFUgorICogREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgorICovCisvKiBydWJ5
X2ZpbGxfdGhyZWFkX2lkX3N0cmluZygpIGlzIGNvcGllZCBmcm9tIFJ1YnkncyB0aHJlYWQuYyAq
LworCisjaW5jbHVkZSAicnVieS9jb25maWcuaCIKKyNpbmNsdWRlICJydWJ5L3RocmVhZF9uYXRp
dmUuaCIKKyNpbmNsdWRlICJ2bV9jb3JlLmgiCisKKworIyBpZmRlZiBOT05fU0NBTEFSX1RIUkVB
RF9JRAorY29uc3QgY2hhciAqCitydWJ5X2ZpbGxfdGhyZWFkX2lkX3N0cmluZyhyYl9uYXRpdmV0
aHJlYWRfaWRfdCB0aGlkLCByYl90aHJlYWRfaWRfc3RyaW5nX3QgYnVmKQoreworICAgIGV4dGVy
biBjb25zdCBjaGFyIHJ1YnlfZGlnaXRtYXBbXTsKKyAgICBzaXplX3QgaTsKKworICAgIGJ1Zlsw
XSA9ICcwJzsKKyAgICBidWZbMV0gPSAneCc7CisgICAgZm9yIChpID0gMDsgaSA8IHNpemVvZih0
aGlkKTsgaSsrKSB7CisjIGlmZGVmIExJVFRMRV9FTkRJQU4KKwlzaXplX3QgaiA9IHNpemVvZih0
aGlkKSAtIGkgLSAxOworIyBlbHNlCisJc2l6ZV90IGogPSBpOworIyBlbmRpZgorCXVuc2lnbmVk
IGNoYXIgYyA9ICh1bnNpZ25lZCBjaGFyKSgoY2hhciAqKSZ0aGlkKVtqXTsKKwlidWZbMiArIGkg
KiAyXSA9IHJ1YnlfZGlnaXRtYXBbKGMgPj4gNCkgJiAweGZdOworCWJ1ZlszICsgaSAqIDJdID0g
cnVieV9kaWdpdG1hcFtjICYgMHhmXTsKKyAgICB9CisgICAgYnVmW3NpemVvZihyYl90aHJlYWRf
aWRfc3RyaW5nX3QpLTFdID0gJ1wwJzsKKyAgICByZXR1cm4gYnVmOworfQorI2VuZGlmCi0tIAoy
LjIwLjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpN
aW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9y
ZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRl
dmVs

From minios-devel-bounces@lists.xenproject.org Sun Dec 08 09:55:44 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 08 Dec 2019 09:55:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1idtI0-0007hH-KU; Sun, 08 Dec 2019 09:55:44 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=qLlK=Z6=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1idtHz-0007gr-Db
 for minios-devel@lists.xen.org; Sun, 08 Dec 2019 09:55:43 +0000
X-Inumbo-ID: db92a7e4-19a0-11ea-b6f1-bc764e2007e4
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id db92a7e4-19a0-11ea-b6f1-bc764e2007e4;
 Sun, 08 Dec 2019 09:55:26 +0000 (UTC)
IronPort-SDR: hHhf10iyAAuQY7AVJ/PeWB1ogJ7+jl05ew8GFIa7U+BDA8ENCAzhU0YMluT8znBVPfM45Vs39c
 BQj2JF3aqmLw==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 08 Dec 2019 11:55:18 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 400DB1A60EC5;
 Sun,  8 Dec 2019 11:55:18 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id dfhbbwI-9O0x; Sun,  8 Dec 2019 11:55:18 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 252371A61024;
 Sun,  8 Dec 2019 11:55:18 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id fXARRFcd2wgo; Sun,  8 Dec 2019 11:55:18 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 0D4931A60EC5;
 Sun,  8 Dec 2019 11:55:18 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Sun,  8 Dec 2019 11:54:56 +0200
Message-Id: <20191208095507.27384-6-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191208095507.27384-1-costin.lupu@cs.pub.ro>
References: <20191208095507.27384-1-costin.lupu@cs.pub.ro>
Subject: [Minios-devel] [UNIKRAFT/RUBY PATCH 05/16] core: Build core
 functionality
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com, Andrei Gogonea <andrei.gogonea09@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogQW5kcmVpIEdvZ29uZWEgPGFuZHJlaS5nb2dvbmVhMDlAZ21haWwuY29tPgoKV2l0aCB0
aGVzZSBjaGFuZ2VzIHdlIG9ubHkgYnVpbGQgdGhlIFJ1YnkgaW50ZXJwcmV0ZXIuIEluIHRoZSBm
b2xsb3dpbmcgcGF0Y2hlcwp3ZSB3aWxsIGFkZCBSdWJ5IGV4dGVuc2lvbnMgYW5kIGVuY29kaW5n
cyBhcyB3ZWxsLiBUaGUgb3JpZ2luYWwgUnVieSBidWlsZApwcm92aWRlcyB3aGF0IGlzIGNhbGxl
ZCAnbWluaXJ1YnknIC0gdGhlIG1pbmltYWxpc3RpYyB2YXJpYW50IG9mIHRoZSBSdWJ5CmludGVw
cmV0b3IgYW5kIHdoaWNoIGRvZXNuJ3QgaGF2ZSBhbnkgZXh0ZW5zaW9ucy4gV2UgdXNlZCB0aGUg
c2FtZSBpZGVhIHRvCnByb3ZpZGUgYSBtaW5pbWFsaXN0aWMgdmVyc2lvbiBmb3IgVW5pa3JhZnQg
d2hlbiB0aGUgbWluaSBjb25maWd1cmF0aW9uIGlzCmNoZWNrZWQgdmlhIG1lbnVjb25maWcuCgpT
aWduZWQtb2ZmLWJ5OiBBbmRyZWkgR29nb25lYSA8YW5kcmVpLmdvZ29uZWEwOUBnbWFpbC5jb20+
ClNpZ25lZC1vZmYtYnk6IENvc3RpbiBMdXB1IDxjb3N0aW4ubHVwdUBjcy5wdWIucm8+Ci0tLQog
Q29uZmlnLnVrICAgICAgICAgIHwgIDE2ICsrKy0KIE1ha2VmaWxlLnVrICAgICAgICB8IDE4NCAr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGluY2x1ZGUvc3Rk
YWxpZ24uaCB8ICAxMCArKysKIDMgZmlsZXMgY2hhbmdlZCwgMjA5IGluc2VydGlvbnMoKyksIDEg
ZGVsZXRpb24oLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBNYWtlZmlsZS51awogY3JlYXRlIG1vZGUg
MTAwNjQ0IGluY2x1ZGUvc3RkYWxpZ24uaAoKZGlmZiAtLWdpdCBhL0NvbmZpZy51ayBiL0NvbmZp
Zy51awppbmRleCBhMTFiZTM0Li5kZDgzMjY3IDEwMDY0NAotLS0gYS9Db25maWcudWsKKysrIGIv
Q29uZmlnLnVrCkBAIC0xLDEwICsxLDI0IEBACiBtZW51Y29uZmlnIExJQlJVQlkKIAlib29sICJS
dWJ5IgogCWRlZmF1bHQgbgotCXNlbGVjdCBMSUJOT0xJQkMgaWYgIUhBVkVfTElCQwogCXNlbGVj
dCBMSUJVS0RFQlVHCiAJc2VsZWN0IExJQlVLQUxMT0MKIAlzZWxlY3QgTElCVUtTQ0hFRAorCXNl
bGVjdCBMSUJWRlNDT1JFCisJc2VsZWN0IExJQlNZU0NBTExfU0hJTQorCXNlbGVjdCBMSUJVS01N
QVAKKwlzZWxlY3QgVUtTWVNJTkZPCisJc2VsZWN0IExJQlBPU0lYX0xJQkRMCisJc2VsZWN0IExJ
Qk5FV0xJQkMKKwlzZWxlY3QgTElCQ09NUElMRVJfUlQKKwlzZWxlY3QgTElCVU5XSU5ECisJc2Vs
ZWN0IExJQkNYWAorCXNlbGVjdCBDWFhfVEhSRUFEUworCXNlbGVjdCBMSUJQVEhSRUFEX0VNQkVE
REVECisJc2VsZWN0IExJQkxXSVAKIAogaWYgTElCUlVCWQorY29uZmlnIExJQlJVQllfTUlOSQor
CWJvb2wgIk1pbmkgY29uZmlndXJhdGlvbiIKKwlkZWZhdWx0IG4KIGVuZGlmCmRpZmYgLS1naXQg
YS9NYWtlZmlsZS51ayBiL01ha2VmaWxlLnVrCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAuLjk4ZTczOGYKLS0tIC9kZXYvbnVsbAorKysgYi9NYWtlZmlsZS51awpAQCAtMCwwICsx
LDE4NCBAQAorIyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQorIworIyAg
UnVieSBNYWtlZmlsZS51aworIworIyAgQXV0aG9yczogQW5kcmVpIEdvZ29uZWEgPGFuZHJlaS5n
b2dvbmVhMDlAZ21haWwuY29tPgorIyAgICAgICAgICAgQ29zdGluIEx1cHUgPGNvc3Rpbi5sdXB1
QGNzLnB1Yi5ybz4KKyMKKyMgIENvcHlyaWdodCAoYykgMjAxOSwgVW5pdmVyc2l0eSBQb2xpdGVo
bmljYSBvZiBCdWNoYXJlc3QuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjICBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyMgIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworIyAgYXJlIG1ldDoKKyMKKyMgIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisj
ICAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMgIDMu
IE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIGNvcHlyaWdodCBob2xkZXIgbm9yIHRoZSBuYW1lcyBv
ZiBpdHMKKyMgICAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisjICAgICB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorIworIyAgVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
CisjICBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCisjICBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorIyAgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9SIENPTlRSSUJV
VE9SUyBCRQorIyAgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorIyAgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyMgIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworIyAgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyMgIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisjICBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRQorIyAgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisjCisjICBUSElTIEhFQURFUiBN
QVkgTk9UIEJFIEVYVFJBQ1RFRCBPUiBNT0RJRklFRCBJTiBBTlkgV0FZLgorIworCisjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIworIyBMaWJyYXJ5IHJlZ2lzdHJhdGlvbgorIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMKKyQoZXZhbCAkKGNhbGwgYWRkbGliX3MsbGlicnVieSwkKENPTkZJR19MSUJSVUJZ
KSkpCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIFNvdXJjZXMKKyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjCitMSUJSVUJZX1ZFUlNJT049Ml82CitMSUJSVUJZX0FSQ0hJVkU9cnVieV8kKExJ
QlJVQllfVkVSU0lPTikuemlwCitMSUJSVUJZX1VSTD1odHRwczovL2dpdGh1Yi5jb20vcnVieS9y
dWJ5L2FyY2hpdmUvJChMSUJSVUJZX0FSQ0hJVkUpCitMSUJSVUJZX0RJUj1ydWJ5LXJ1YnlfJChM
SUJSVUJZX1ZFUlNJT04pCitMSUJSVUJZX1BBVENIRElSPSQoTElCUlVCWV9CQVNFKS9wYXRjaGVz
CiskKGV2YWwgJChjYWxsIGZldGNoLGxpYnJ1YnksJChMSUJSVUJZX1VSTCkscnVieV8kKExJQlJV
QllfQVJDSElWRSkpKQorJChldmFsICQoY2FsbCBwYXRjaCxsaWJydWJ5LCQoTElCUlVCWV9QQVRD
SERJUiksJChMSUJSVUJZX0RJUikpKQorCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBHbG9i
YWwgYW5kIGNvbW1vbiBmbGFncworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgU3VwcHJlc3Mg
ZmxhZ3MKK0xJQlJVQllfU1VQUFJFU1NfRkxBR1MgPSAtV25vLWNhc3QtZnVuY3Rpb24tdHlwZSAt
V25vLWxvbmctbG9uZyBcCisJLVduby1taXNzaW5nLWZpZWxkLWluaXRpYWxpemVycyAtV25vLW92
ZXJsZW5ndGgtc3RyaW5ncyBcCisJLVduby1wYWNrZWQtYml0ZmllbGQtY29tcGF0IC1Xbm8tdGF1
dG9sb2dpY2FsLWNvbXBhcmUgXAorCS1Xbm8tdW51c2VkLXBhcmFtZXRlciAtV25vLXVudXNlZC12
YWx1ZSAtV25vLWltcGxpY2l0LWZhbGx0aHJvdWdoIFwKKwktV25vLXVudXNlZC1idXQtc2V0LXZh
cmlhYmxlCitMSUJSVUJZX1NVUFJFU1NfQ0ZMQUdTLXkgICArPSAkKExJQlJVQllfU1VQUFJFU1Nf
RkxBR1MpIFwKKwktV25vLXBvaW50ZXItdG8taW50LWNhc3QgLVduby1pbnQtdG8tcG9pbnRlci1j
YXN0CitMSUJSVUJZX1NVUFJFU1NfQ1hYRkxBR1MteSArPSAkKExJQlJVQllfU1VQUFJFU1NfRkxB
R1MpCitMSUJSVUJZX0NGTEFHUy15ICAgICAgICAgICArPSAkKExJQlJVQllfU1VQUkVTU19DRkxB
R1MteSkKK0xJQlJVQllfQ1hYRkxBR1MteSAgICAgICAgICs9ICQoTElCUlVCWV9TVVBSRVNTX0NY
WEZMQUdTLXkpCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIEhlbHBlcnMKKyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjCitMSUJSVUJZX1NSQz0kKExJQlJVQllfT1JJR0lOKS8kKExJQlJVQllf
RElSKQorCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBHbG9iYWwgYW5kIGNvbW1vbiBpbmNs
dWRlcworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKK0xJQlJVQllfQ0lOQ0xVREVTLXkgKz0gLUkk
KExJQlJVQllfQkFTRSkvaW5jbHVkZSBcCisJLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkIFwK
KwktSSQoTElCUlVCWV9TUkMpIFwKKwktSSQoTElCUlVCWV9TUkMpL2luY2x1ZGUgXAorCS1JJChM
SUJSVUJZX1NSQykvZW5jL3VuaWNvZGUvMTIuMS4wCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
CisjIENvcmUKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIEFzIHRha2VuIGZyb20gb3JpZ2lu
YWwgYnVpbGQ6CitMSUJSVUJZX0NGTEFHUy15ICs9IC1zdGQ9Z251OTkgLURfRk9SVElGWV9TT1VS
Q0U9MiBcCisJIC1mbm8tc3RyaWN0LW92ZXJmbG93IC1mdmlzaWJpbGl0eT1oaWRkZW4gLWZleGNl
c3MtcHJlY2lzaW9uPXN0YW5kYXJkIFwKKwktRFJVQllfRVhQT1JUIC1EQ0FOT05JQ0FMSVpBVElP
Tl9GT1JfTUFUSE4KKworaWZlcSAoJChDT05GSUdfTElCUlVCWV9NSU5JKSx5KQorTElCUlVCWV9T
UkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZG15ZGxuLmMKK0xJQlJVQllfU1JDUy15ICs9ICQoTElC
UlVCWV9TUkMpL21pbmlpbml0LmMKK0xJQlJVQllfU1JDUy15ICs9ICQoTElCUlVCWV9CQVNFKS9n
ZW5lcmF0ZWQvbWluaXByZWx1ZGUuYworZWxzZQorTElCUlVCWV9TUkNTLXkgKz0gJChMSUJSVUJZ
X1NSQykvZGxuLmMKK0xJQlJVQllfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2xvY2FsZWluaXQu
YworTElCUlVCWV9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvbG9hZHBhdGguYworTElCUlVCWV9T
UkNTLXkgKz0gJChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9wcmVsdWRlLmMKK2VuZGlmCisKK0xJ
QlJVQllfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL21haW4uYworTElCUlVCWV9NQUlOX0ZMQUdT
LXkgKz0gLURtYWluPXJ1YnlfbWFpbgorTElCUlVCWV9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykv
YXJyYXkuYworTElCUlVCWV9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvYXN0LmMKK0xJQlJVQllf
U1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2JpZ251bS5jCitMSUJSVUJZX1NSQ1MteSArPSAkKExJ
QlJVQllfU1JDKS9jbGFzcy5jCitMSUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9jb21w
YXIuYworTElCUlVCWV9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvY29tcGlsZS5jCitMSUJSVUJZ
X1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9jb21wbGV4LmMKK0xJQlJVQllfU1JDUy15ICs9ICQo
TElCUlVCWV9TUkMpL2NvbnQuYworTElCUlVCWV9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZGVi
dWcuYworTElCUlVCWV9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZGVidWdfY291bnRlci5jCitM
SUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9kaXIuYworTElCUlVCWV9TUkNTLXkgKz0g
JChMSUJSVUJZX1NSQykvZGxuX2ZpbmQuYworTElCUlVCWV9TUkNTLXkgKz0gJChMSUJSVUJZX1NS
QykvZW5jb2RpbmcuYworTElCUlVCWV9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW51bS5jCitM
SUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbnVtZXJhdG9yLmMKK0xJQlJVQllfU1JD
Uy15ICs9ICQoTElCUlVCWV9TUkMpL2Vycm9yLmMKK0xJQlJVQllfU1JDUy15ICs9ICQoTElCUlVC
WV9TUkMpL2V2YWwuYworTElCUlVCWV9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZmlsZS5jCitM
SUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9nYy5jCitMSUJSVUJZX1NSQ1MteSArPSAk
KExJQlJVQllfU1JDKS9oYXNoLmMKK0xJQlJVQllfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2lu
aXRzLmMKK0xJQlJVQllfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2lvLmMKK0xJQlJVQllfU1JD
Uy15ICs9ICQoTElCUlVCWV9TUkMpL2lzZXEuYworTElCUlVCWV9TUkNTLXkgKz0gJChMSUJSVUJZ
X1NSQykvbG9hZC5jCitMSUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9tYXJzaGFsLmMK
K0xJQlJVQllfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL21hdGguYworTElCUlVCWV9TUkNTLXkg
Kz0gJChMSUJSVUJZX1NSQykvbWppdC5jCitMSUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllfU1JD
KS9taml0X2NvbXBpbGUuYworTElCUlVCWV9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvbm9kZS5j
CitMSUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9udW1lcmljLmMKK0xJQlJVQllfU1JD
Uy15ICs9ICQoTElCUlVCWV9TUkMpL29iamVjdC5jCitMSUJSVUJZX1NSQ1MteSArPSAkKExJQlJV
QllfU1JDKS9wYWNrLmMKK0xJQlJVQllfU1JDUy15ICs9ICQoTElCUlVCWV9CQVNFKS9nZW5lcmF0
ZWQvcGFyc2UuYworTElCUlVCWV9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvcHJvYy5jCitMSUJS
VUJZX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9wcm9jZXNzLmMKK0xJQlJVQllfUFJPQ0VTU19G
TEFHUy15ICs9IC1Xbm8taW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXMKK0xJQlJVQllfU1JDUy15
ICs9ICQoTElCUlVCWV9TUkMpL3JhbmRvbS5jCitMSUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllf
U1JDKS9yYW5nZS5jCitMSUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9yYXRpb25hbC5j
CitMSUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9yZS5jCitMSUJSVUJZX1NSQ1MteSAr
PSAkKExJQlJVQllfU1JDKS9yZWdjb21wLmMKK0xJQlJVQllfU1JDUy15ICs9ICQoTElCUlVCWV9T
UkMpL3JlZ2VuYy5jCitMSUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9yZWdlcnJvci5j
CitMSUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9yZWdleGVjLmMKK0xJQlJVQllfU1JD
Uy15ICs9ICQoTElCUlVCWV9TUkMpL3JlZ3BhcnNlLmMKK0xJQlJVQllfU1JDUy15ICs9ICQoTElC
UlVCWV9TUkMpL3JlZ3N5bnRheC5jCitMSUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9y
dWJ5LmMKK0xJQlJVQllfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL3NhZmUuYworTElCUlVCWV9T
UkNTLXkgKz0gJChMSUJSVUJZX1NSQykvc2lnbmFsLmMKK0xJQlJVQllfU1JDUy15ICs9ICQoTElC
UlVCWV9TUkMpL3NwcmludGYuYworTElCUlVCWV9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvc3Qu
YworTElCUlVCWV9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvc3RyZnRpbWUuYworTElCUlVCWV9T
UkNTLXkgKz0gJChMSUJSVUJZX1NSQykvc3RyaW5nLmMKK0xJQlJVQllfU1JDUy15ICs9ICQoTElC
UlVCWV9TUkMpL3N0cnVjdC5jCitMSUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9zeW1i
b2wuYworTElCUlVCWV9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvdGhyZWFkLmMKK0xJQlJVQllf
VEhSRUFEX0ZMQUdTICs9IC1Xbm8tdW51c2VkLWZ1bmN0aW9uCitMSUJSVUJZX1NSQ1MteSArPSAk
KExJQlJVQllfU1JDKS90aW1lLmMKK0xJQlJVQllfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL3Ry
YW5zY29kZS5jCitMSUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS90cmFuc2llbnRfaGVh
cC5jCitMSUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS91dGlsLmMKK0xJQlJVQllfU1JD
Uy15ICs9ICQoTElCUlVCWV9TUkMpL3ZhcmlhYmxlLmMKK0xJQlJVQllfU1JDUy15ICs9ICQoTElC
UlVCWV9TUkMpL3ZlcnNpb24uYworTElCUlVCWV9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvdm0u
YworTElCUlVCWV9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvdm1fYmFja3RyYWNlLmMKK0xJQlJV
QllfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL3ZtX2R1bXAuYworTElCUlVCWV9TUkNTLXkgKz0g
JChMSUJSVUJZX1NSQykvdm1fdHJhY2UuYworTElCUlVCWV9TUkNTLSQoQ09ORklHX0FSQ0hfWDg2
XzY0KSArPSAkKExJQlJVQllfU1JDKS9jb3JvdXRpbmUvYW1kNjQvQ29udGV4dC5TCitMSUJSVUJZ
X1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMvYXNjaWkuYworTElCUlVCWV9TUkNTLXkgKz0g
JChMSUJSVUJZX1NSQykvZW5jL3VzX2FzY2lpLmMKK0xJQlJVQllfU1JDUy15ICs9ICQoTElCUlVC
WV9TUkMpL2VuYy91bmljb2RlLmMKK0xJQlJVQllfVU5JQ09ERV9GTEFHUy15ICs9IC1JJChMSUJS
VUJZX0JBU0UpL2dlbmVyYXRlZC9lbmMvdW5pY29kZS8xMi4xLjAvCitMSUJSVUJZX1NSQ1MteSAr
PSAkKExJQlJVQllfU1JDKS9lbmMvdXRmXzguYworTElCUlVCWV9TUkNTLXkgKz0gJChMSUJSVUJZ
X0JBU0UpL2dlbmVyYXRlZC9lbmMvdHJhbnMvbmV3bGluZS5jCitMSUJSVUJZX1NSQ1MteSArPSAk
KExJQlJVQllfU1JDKS8uL21pc3Npbmcvc2V0cHJvY3RpdGxlLmMKK0xJQlJVQllfU1JDUy15ICs9
ICQoTElCUlVCWV9TUkMpL2FkZHIybGluZS5jCisKK0xJQlJVQllfU1JDUy15ICs9ICQoTElCUlVC
WV9TUkMpL2RteWV4dC5jCisKK0xJQlJVQllfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2RteWVu
Yy5jCisKZGlmZiAtLWdpdCBhL2luY2x1ZGUvc3RkYWxpZ24uaCBiL2luY2x1ZGUvc3RkYWxpZ24u
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MGMzZTE1Ci0tLSAvZGV2L251
bGwKKysrIGIvaW5jbHVkZS9zdGRhbGlnbi5oCkBAIC0wLDAgKzEsMTAgQEAKKyNpZm5kZWYgX1NU
REFMSUdOX0gKKyNkZWZpbmUgX1NUREFMSUdOX0gKKworI2RlZmluZSBhbGlnbmFzIF9BbGlnbmFz
CisjZGVmaW5lIGFsaWdub2YgX0FsaWdub2YKKworI2RlZmluZSBfX2FsaWduYXNfaXNfZGVmaW5l
ZCAxCisjZGVmaW5lIF9fYWxpZ25vZl9pc19kZWZpbmVkIDEKKworI2VuZGlmCi0tIAoyLjIwLjEK
CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3Mt
ZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRw
czovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Sun Dec 08 09:55:46 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 08 Dec 2019 09:55:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1idtI2-0007i3-MU; Sun, 08 Dec 2019 09:55:46 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=qLlK=Z6=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1idtI1-0007hn-T5
 for minios-devel@lists.xen.org; Sun, 08 Dec 2019 09:55:45 +0000
X-Inumbo-ID: dd1b9e4a-19a0-11ea-8694-12813bfff9fa
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id dd1b9e4a-19a0-11ea-8694-12813bfff9fa;
 Sun, 08 Dec 2019 09:55:28 +0000 (UTC)
IronPort-SDR: Re8od0NDUR4UKDEOsdOACnzo+UiGdc4Z+6Ons+IOJy8WJ4RVwbCpWGP+0EY656RoE007rXXMv3
 pMfPNyTixB+g==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 08 Dec 2019 11:55:19 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 6A6E21A60A93;
 Sun,  8 Dec 2019 11:55:19 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id sls5p3D5nJHn; Sun,  8 Dec 2019 11:55:19 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 517901A60E12;
 Sun,  8 Dec 2019 11:55:19 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id I0-5d1R7QYug; Sun,  8 Dec 2019 11:55:19 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 362FE1A60F80;
 Sun,  8 Dec 2019 11:55:19 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Sun,  8 Dec 2019 11:55:07 +0200
Message-Id: <20191208095507.27384-17-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191208095507.27384-1-costin.lupu@cs.pub.ro>
References: <20191208095507.27384-1-costin.lupu@cs.pub.ro>
Subject: [Minios-devel] [UNIKRAFT/RUBY PATCH 16/16] README.md: Update with
 info about building and running
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

U2lnbmVkLW9mZi1ieTogQ29zdGluIEx1cHUgPGNvc3Rpbi5sdXB1QGNzLnB1Yi5ybz4KLS0tCiBS
RUFETUUubWQgfCA2MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKystLS0tCiAxIGZpbGUgY2hhbmdlZCwgNTcgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlv
bnMoLSkKCmRpZmYgLS1naXQgYS9SRUFETUUubWQgYi9SRUFETUUubWQKaW5kZXggN2E4ZDM4MC4u
ZjAyNGY2OSAxMDA2NDQKLS0tIGEvUkVBRE1FLm1kCisrKyBiL1JFQURNRS5tZApAQCAtMSw5ICsx
LDYyIEBACi1SdWJ5IGZvciBVbmlrcmFmdAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LQorIyBSdWJ5IGZvciBVbmlrcmFmdAogVGhpcyBpcyB0aGUgcG9ydCBvZiBSdWJ5IGZvciBVbmlr
cmFmdCBhcyBleHRlcm5hbCBsaWJyYXJ5LgogCi1UT0RPCisjIyBCdWlsZAorUnVieSBkZXBlbmRz
IG9uIHRoZSBmb2xsb3dpbmcgbGlicmFyaWVzLCB0aGF0IG5lZWQgdG8gYmUgYWRkZWQgdG8gYE1h
a2VmaWxlYCBpbgordGhpcyBvcmRlcjoKKworKiBgcHRocmVhZHNgLCBlLmcuIGBwdGhyZWFkLWVt
YmVkZGVkYAorKiBDKysgbGlicmFyaWVzOiBgY29tcGlsZXItcnRgLCBgbGliY3h4YCwgYGxpYmN4
eGFiaWAsIGBsaWJ1bndpbmRgCisqIGBsaWJjYCwgZS5nLiBgbmV3bGliYAorKiBuZXR3b3JrIHN0
YWNrLCBlLmcuIGBsd2lwYAorKiBvcHRpb25hbCBleHRlbnNpb25zOiBgb3BlbnNzbGAsIGB6bGli
YC4KKworIyMgUm9vdCBmaWxlc3lzdGVtCisjIyMgQ3JlYXRpbmcgdGhlIGZpbGVzeXN0ZW0KK1J1
YnkgaW50ZXJwcmV0ZXIgbmVlZHMgYSBmaWxlc3lzdGVtIHdoaWNoIHNob3VsZCBjb250YWluIGl0
cyBsaWJyYXJpZXMuCitUaGVyZWZvcmUsIHRoZSBmaWxlc3lzdGVtIG5lZWRzIHRvIGJlIGNyZWF0
ZWQgYmVmb3JlIHJ1bm5pbmcgdGhlIFZNLiAgWW91IGNhbgorZG8gdGhpcyBieSBydW5uaW5nIHRo
ZSBmb2xsb3dpbmcgY29tbWFuZDoKKworYGBgYmFzaAorbWFrZSBydWJ5LXJvb3RmcyBwYXRoPTxz
b21lIGRpcmVjdG9yeT4KK2BgYAorCitJdCB3aWxsIGNyZWF0ZSB0aGUgZmlsZXN5c3RlbSBpbiB0
aGUgZGlyZWN0b3J5IHlvdSBjaG9vc2Ugd2hlcmUgaXQgd2lsbCBpbnN0YWxsCit0aGUgUnVieSBs
aWJyYXJpZXMuIEluIG9yZGVyIHRvIGFjaGlldmUgdGhpcywgdGhlIG9yaWdpbmFsIGNvZGUgbmVl
ZHMgdG8gYmUKK2NvbmZpZ3VyZWQgYW5kIGJ1aWxkIHdpdGggcGF0aHMgcmVsYXRpdmUgdG8gdGhl
IHByb3ZpZGVkIHJvb3QgZGlyZWN0b3J5LiBUaGVzZQordHdvIHN0ZXBzIGFyZSBleGVjdXRlZCB0
cmFuc3BhcmVudGx5LCBhbGwgeW91IGhhdmUgdG8gZG8gaXMganVzdCBydW5uaW5nIHRoZQorYWJv
dmUgYG1ha2VgIGNvbW1hbmQuCisKKyMjIyBVc2luZyB0aGUgZmlsZXN5c3RlbQorVGhlIHNhbWUg
c3RlcHMgcHJlc2VudGVkIGluIHRoZSBzYW1lIHN1YnNlY3Rpb24gb2YgdGhlIFB5dGhvbiAzIHBv
cnQgUkVBRE1FCitzaG91bGQgYmUgZm9sbG93ZWQuCisKKyMjIFJ1bm5pbmcgbW9kZXMKK1RoZSBu
ZXh0IHN0ZXAgaXMgdG8gcGljayBhIHJ1bm5pbmcgbW9kZS4gV2UgY3VycmVudGx5IHN1cHBvcnQg
dGhlIGZvbGxvd2luZworcnVubmluZyBtb2RlczoKKworMS4gKipSdWJ5IHNjcmlwdCoqLiBZb3Ug
Y2FuIHVzZSBhbnkgZmlsZSBhdmFpbGFibGUgaW4gdGhlIHJvb3QgZmlsZXN5c3RlbS4gIFlvdQor
c2hvdWxkIHVzZSBRZW11J3MgYC1hcHBlbmRgIG9wdGlvbiB0byBwYXNzIHBhcmFtZXRlciB0byBQ
eXRob24gaW50ZXJwcmV0ZXIsCitlLmcuIGAtYXBwZW5kICJ2ZnMucm9vdGRldj10ZXN0IC0tIDxz
b21lIGZpbGUgaW4gcm9vdGZzPiJgLiAgUGxlYXNlIG5vdGljZSB0aGF0Cit3ZSBhcmUgdXNpbmcg
YHRlc3RgIGZvciB0aGUgOXBmcyBtb3VudGluZyB0YWcuIEZvciBicmV2aXR5IHdlIHdpbGwgc2tp
cCBzZXR0aW5nCit0aGUgbW91bnRpbmcgdGFnIGluIHRoZSBuZXh0IGV4YW1wbGVzLgorCisyLiAq
KlJ1Ynkgc2hlbGwqKi4gWW91IGNhbiBydW4gdGhlIGludGVyYWN0aXZlIFJ1Ynkgc2hlbGwsIHdo
aWNoIGlzIGp1c3QgYSBSdWJ5CitzY3JpcHQsIHdpdGggdGhlIHBhcmFtZXRlcnM6IGAtYXBwZW5k
ICItLSAvYmluL2lyYiJgLgorCiszLiAqKkNvbW1hbmQgbGluZSoqLiBZb3UgY2FuIHByb3ZpZGUg
YSBvbmUgbGluZSBzY3JpcHQgdXNpbmcgdGhlIGAtZWAgb3B0aW9uLAorZSxnLiBgLWFwcGVuZCAi
LS0gLWUgJ3B1dHMgXCJIZWxsbyBXb3JsZFwiJyJgLgorCis0LiAqKlJ1YnkgdW5pdCB0ZXN0aW5n
IChkZXZlbG9wZXJzIG9ubHkpKiouIFdpdGggdGhpcyBtb2RlIHlvdSBjYW4gY2hlY2sgd2hhdAor
ZnVuY3Rpb25hbGl0eSBpcyBjb21wbGV0ZWx5IHN1cHBvcnRlZCBieSB0aGUgUnVieSBwb3J0LiBQ
bGVhc2UgYmUgYXdhcmUgdGhhdAordGhpcyBtb2RlIGlzIHVuc3RhYmxlIGFuZCBzb21lIG9mIHRo
ZSB0ZXN0cyBtYXkgYmxvY2suIEluIG9yZGVyIHRvIHJ1biBhbGwgdGhlCit1bml0IHRlc3RzIHlv
dSBzaG91bGQgdXNlIHRoZSBmb2xsb3dpbmcgcGFyYW1ldGVyczogYC1hcHBlbmQgIi0tIC9saWIv
cnVieS8yLjYuMC90ZXN0L3J1bm5lci5yYiAtLWV4Y2x1ZGU9ZHRyYWNlIC0tZXhjbHVkZT1ta21m
IC0tZXhjbHVkZT13aW4zMm9sZSAtLWV4Y2x1ZGU9cmRvYyJgLgorCisjIyMgTWVtb3J5IHVzYWdl
CitTb21lIG9mIHRoZSB1bml0IHRlc3RzIG1heSByZXF1aXJlIGEgbG90IG9mIG1lbW9yeSB0byBy
dW47IGZvciB0aGlzCityZWFzb24gcGxlYXNlIGFsbG93IGZvciBhdCBsZWFzdCAxRyBvZiBtZW1v
cnkgZm9yIHVuaXQgdGVzdGluZyAoZS5nLiwKK2AtbSAxR2AgaW4gUWVtdSkuCiAKKyMjIEZ1cnRo
ZXIgaW5mb3JtYXRpb24KIFBsZWFzZSByZWZlciB0byB0aGUgYFJFQURNRS5tZGAgYXMgd2VsbCBh
cyB0aGUgZG9jdW1lbnRhdGlvbiBpbiB0aGUgYGRvYy9gCiBzdWJkaXJlY3Rvcnkgb2YgdGhlIG1h
aW4gdW5pa3JhZnQgcmVwb3NpdG9yeS4KLS0gCjIuMjAuMQoKCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWlu
aW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5v
cmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Sun Dec 08 09:55:49 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 08 Dec 2019 09:55:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1idtI5-0007j1-OF; Sun, 08 Dec 2019 09:55:49 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=qLlK=Z6=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1idtI4-0007ih-Cy
 for minios-devel@lists.xen.org; Sun, 08 Dec 2019 09:55:48 +0000
X-Inumbo-ID: dbde8a24-19a0-11ea-b6f1-bc764e2007e4
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id dbde8a24-19a0-11ea-b6f1-bc764e2007e4;
 Sun, 08 Dec 2019 09:55:26 +0000 (UTC)
IronPort-SDR: Z1P5Cukj8toSLs/+W1Z/t/3hcv+oaJLV2QO7t6iz81rkvthJZ9wCLgVAB4t/xXgw5CaBhV6ulg
 OeaY9DJ2dJUA==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 08 Dec 2019 11:55:18 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 668581A60E2D;
 Sun,  8 Dec 2019 11:55:18 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id XE-8MtBJq288; Sun,  8 Dec 2019 11:55:18 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 4EAF21A60EC5;
 Sun,  8 Dec 2019 11:55:18 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id 6avifTI1eS_S; Sun,  8 Dec 2019 11:55:18 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 322571A60E2D;
 Sun,  8 Dec 2019 11:55:18 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Sun,  8 Dec 2019 11:55:00 +0200
Message-Id: <20191208095507.27384-10-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191208095507.27384-1-costin.lupu@cs.pub.ro>
References: <20191208095507.27384-1-costin.lupu@cs.pub.ro>
Subject: [Minios-devel] [UNIKRAFT/RUBY PATCH 09/16] extensions/socket:
 Disable unavailable features
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhpcyBpcyBhbiBleGFtcGxlIG9mIGRpc2FibGluZyBmZWF0dXJlcyBpbiB0aGUgPGV4dGNvbmYu
aD4gaGVhZGVyIG9mIGFuCmV4dGVuc2lvbi4gSGVyZSB3ZSBkaXNhYmxlIHRoZSBmbGFncyBmb3Ig
YGFjY2VwdDQoKWAgYW5kIGBpZmFkZHJzYCBzdHJ1Y3R1cmUKYW5kIGl0cyBhc3NvY2lhdGVkIGZ1
bmN0aW9ucy4KClNpZ25lZC1vZmYtYnk6IENvc3RpbiBMdXB1IDxjb3N0aW4ubHVwdUBjcy5wdWIu
cm8+Ci0tLQogZ2VuZXJhdGVkL2V4dC9zb2NrZXQvZXh0Y29uZi5oIHwgNiArKystLS0KIDEgZmls
ZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv
Z2VuZXJhdGVkL2V4dC9zb2NrZXQvZXh0Y29uZi5oIGIvZ2VuZXJhdGVkL2V4dC9zb2NrZXQvZXh0
Y29uZi5oCmluZGV4IDc4NjExN2QuLmQxNWY5OGQgMTAwNjQ0Ci0tLSBhL2dlbmVyYXRlZC9leHQv
c29ja2V0L2V4dGNvbmYuaAorKysgYi9nZW5lcmF0ZWQvZXh0L3NvY2tldC9leHRjb25mLmgKQEAg
LTgsNyArOCw3IEBACiAjZGVmaW5lIEhBVkVfTkVUUEFDS0VUX1BBQ0tFVF9IIDEKICNkZWZpbmUg
SEFWRV9ORVRfRVRIRVJORVRfSCAxCiAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQotI2RlZmluZSBI
QVZFX0lGQUREUlNfSCAxCisvKiNkZWZpbmUgSEFWRV9JRkFERFJTX0ggMSovCiAjZGVmaW5lIEhB
VkVfU1lTX0lPQ1RMX0ggMQogI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKICNkZWZpbmUgSEFWRV9T
WVNfUEFSQU1fSCAxCkBAIC0xMDUsMTEgKzEwNSwxMSBAQAogI2RlZmluZSBIQVZFX0ZSRUVBRERS
SU5GTyAxCiAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKICNkZWZpbmUgR0FJX1NUUkVSUk9S
X0NPTlNUIDEKLSNkZWZpbmUgSEFWRV9BQ0NFUFQ0IDEKKy8qI2RlZmluZSBIQVZFX0FDQ0VQVDQg
MSovCiAjZGVmaW5lIEhBVkVfSU5FVF9OVE9QIDEKICNkZWZpbmUgSEFWRV9JTkVUX1BUT04gMQog
I2RlZmluZSBIQVZFX0dFVFNFUlZCWVBPUlQgMQotI2RlZmluZSBIQVZFX0dFVElGQUREUlMgMQor
LyojZGVmaW5lIEhBVkVfR0VUSUZBRERSUyAxKi8KICNkZWZpbmUgSEFWRV9JRl9JTkRFWFRPTkFN
RSAxCiAjZGVmaW5lIE5FRURfSUZfSU5ERVhUT05BTUVfREVDTCAxCiAjZGVmaW5lIEhBVkVfSUZf
TkFNRVRPSU5ERVggMQotLSAKMi4yMC4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxA
bGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFu
L2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Sun Dec 08 09:55:54 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 08 Dec 2019 09:55:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1idtIA-0007kB-Pn; Sun, 08 Dec 2019 09:55:54 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=qLlK=Z6=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1idtI9-0007ju-DC
 for minios-devel@lists.xen.org; Sun, 08 Dec 2019 09:55:53 +0000
X-Inumbo-ID: dc4d66a6-19a0-11ea-b6f1-bc764e2007e4
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id dc4d66a6-19a0-11ea-b6f1-bc764e2007e4;
 Sun, 08 Dec 2019 09:55:27 +0000 (UTC)
IronPort-SDR: JgVNUs/xjZp/FpTgIli1x4igcwrxPpCE0On4blmzZOkltFnguSWUu47kajlxRGtd3GrVBIVpGr
 6ILEP34voK+w==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 08 Dec 2019 11:55:19 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 527CD1A60EC5;
 Sun,  8 Dec 2019 11:55:19 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id 0lzdGt0ON6pV; Sun,  8 Dec 2019 11:55:19 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 3971B1A60FFD;
 Sun,  8 Dec 2019 11:55:19 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id AeLW1X5tLXzb; Sun,  8 Dec 2019 11:55:19 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 277061A60F03;
 Sun,  8 Dec 2019 11:55:19 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Sun,  8 Dec 2019 11:55:04 +0200
Message-Id: <20191208095507.27384-14-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191208095507.27384-1-costin.lupu@cs.pub.ro>
References: <20191208095507.27384-1-costin.lupu@cs.pub.ro>
Subject: [Minios-devel] [UNIKRAFT/RUBY PATCH 13/16] tests: Build tests
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhlIFJ1YnkgdW5pdCB0ZXN0aW5nIGRlcGVuZHMgb24gYm90aCBleHRlbnNpb25zIGFuZCBlbmNv
ZGluZ3MuIFdlIGN1cnJlbnRseQphZGQgc3VwcG9ydCBmb3IgcnVubmluZyBvbmx5IHRoZSB0aW1l
IGFuZCBmaWxlIHRlc3RzLiBFbmFibGluZyB0aGUgcmVzdCBvZiB0aGUKdGVzdHMgaXMgc3ViamVj
dCBvZiBmdXJ0aGVyIHdvcmsuCgpTaWduZWQtb2ZmLWJ5OiBDb3N0aW4gTHVwdSA8Y29zdGluLmx1
cHVAY3MucHViLnJvPgotLS0KIENvbmZpZy51ayAgICAgICAgICAgICAgIHwgIDcgKysrKysrKwog
TWFrZWZpbGUudWsgICAgICAgICAgICAgfCA0MCArKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrCiBnZW5lcmF0ZWQvZXh0L2V4dGluaXQuYyB8ICA2ICsrKysrKwogMyBmaWxl
cyBjaGFuZ2VkLCA1MyBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvQ29uZmlnLnVrIGIvQ29u
ZmlnLnVrCmluZGV4IGI0YzViZmYuLjhmNmQ2ODkgMTAwNjQ0Ci0tLSBhL0NvbmZpZy51aworKysg
Yi9Db25maWcudWsKQEAgLTEyOSw0ICsxMjksMTEgQEAgY29uZmlnIExJQlJVQllfRU5DCiAJZGVw
ZW5kcyBvbiAhTElCUlVCWV9NSU5JCiAJZGVmYXVsdCB5CiAKK2NvbmZpZyBMSUJSVUJZX1RFU1QK
Kwlib29sICJFbmFibGUgdW5pdCB0ZXN0aW5nIgorCWRlcGVuZHMgb24gIUxJQlJVQllfTUlOSQor
CWRlcGVuZHMgb24gTElCUlVCWV9FWFQKKwlkZXBlbmRzIG9uIExJQlJVQllfRU5DCisJZGVmYXVs
dCB5CisKIGVuZGlmCmRpZmYgLS1naXQgYS9NYWtlZmlsZS51ayBiL01ha2VmaWxlLnVrCmluZGV4
IDlmNjY2MDYuLmE3YWViOWEgMTAwNjQ0Ci0tLSBhL01ha2VmaWxlLnVrCisrKyBiL01ha2VmaWxl
LnVrCkBAIC00MSw2ICs0MSw3IEBACiAkKGV2YWwgJChjYWxsIGFkZGxpYl9zLGxpYnJ1YnksJChD
T05GSUdfTElCUlVCWSkpKQogJChldmFsICQoY2FsbCBhZGRsaWJfcyxsaWJydWJ5X2V4dCwkKENP
TkZJR19MSUJSVUJZX0VYVCkpKQogJChldmFsICQoY2FsbCBhZGRsaWJfcyxsaWJydWJ5X2VuYywk
KENPTkZJR19MSUJSVUJZX0VOQykpKQorJChldmFsICQoY2FsbCBhZGRsaWJfcyxsaWJydWJ5X3Rl
c3QsJChDT05GSUdfTElCUlVCWV9URVNUKSkpCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAj
IFNvdXJjZXMKQEAgLTUzOCwxMCArNTM5LDQ5IEBAIExJQlJVQllfRU5DX1NSQ1MteSArPSAkKExJ
QlJVQllfU1JDKS9lbmMvdHJhbnMvc2luZ2xlX2J5dGUuYwogTElCUlVCWV9FTkNfU1JDUy15ICs9
ICQoTElCUlVCWV9TUkMpL2VuYy90cmFucy91dGY4X21hYy5jCiBMSUJSVUJZX0VOQ19TUkNTLXkg
Kz0gJChMSUJSVUJZX1NSQykvZW5jL3RyYW5zL3V0Zl8xNl8zMi5jCiAKKyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjCisjIFVuaXQgdGVzdGluZworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKK0xJQlJV
QllfVEVTVF9DRkxBR1MteSArPSAkKExJQlJVQllfQ0lOQ0xVREVTLXkpCitMSUJSVUJZX1RFU1Rf
Q0ZMQUdTLXkgKz0gJChMSUJSVUJZX1NVUFBSRVNTX0ZMQUdTKQorTElCUlVCWV9URVNUX0NGTEFH
Uy15ICs9IC1EUlVCWV9FWFRDT05GX0g9XCJleHRjb25mLmhcIgorCiskKExJQlJVQllfU1JDKS9l
eHQvLXRlc3QtL2ZpbGUvaW5pdC1maWxlLmM6ICQoTElCUlVCWV9TUkMpL2V4dC8tdGVzdC0vZmls
ZS9pbml0LmMKKwlsbiAtcyAkPCAkQAorTElCUlVCWV9URVNUX1NSQ1MteSArPSAkKExJQlJVQllf
U1JDKS9leHQvLXRlc3QtL2ZpbGUvaW5pdC1maWxlLmMKK0xJQlJVQllfVEVTVF9JTklULUZJTEVf
RkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9leHQvLXRlc3QtL2ZpbGUKK0xJQlJVQllfVEVT
VF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0Ly10ZXN0LS9maWxlL2ZzLmMKK0xJQlJVQllf
VEVTVF9GU19GTEFHUy15ICs9IC1JJChMSUJSVUJZX0JBU0UpL2V4dC8tdGVzdC0vZmlsZQorTElC
UlVCWV9URVNUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvLXRlc3QtL2ZpbGUvc3RhdC5j
CitMSUJSVUJZX1RFU1RfU1RBVF9GTEFHUy15ICs9IC1JJChMSUJSVUJZX0JBU0UpL2V4dC8tdGVz
dC0vZmlsZQorCiskKExJQlJVQllfU1JDKS9leHQvLXRlc3QtL3RpbWUvaW5pdC10aW1lLmM6ICQo
TElCUlVCWV9TUkMpL2V4dC8tdGVzdC0vdGltZS9pbml0LmMKKwlsbiAtcyAkPCAkQAorTElCUlVC
WV9URVNUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvLXRlc3QtL3RpbWUvaW5pdC10aW1l
LmMKK0xJQlJVQllfVEVTVF9JTklULVRJTUVfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9l
eHQvLXRlc3QtL3RpbWUKK0xJQlJVQllfVEVTVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0
Ly10ZXN0LS90aW1lL2xlYXBfc2Vjb25kLmMKK0xJQlJVQllfVEVTVF9MRUFQX1NFQ09ORF9GTEFH
Uy15ICs9IC1JJChMSUJSVUJZX0JBU0UpL2V4dC8tdGVzdC0vdGltZQorTElCUlVCWV9URVNUX1NS
Q1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvLXRlc3QtL3RpbWUvbmV3LmMKK0xJQlJVQllfVEVT
VF9ORVdfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9leHQvLXRlc3QtL3RpbWUKKwogIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMKICMgUHJlcGFyZSBydWxlcwogIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMKIAorIyBDdXN0b21pemUgY29uZmlnOiBjb25maWd1cmUgc3RhY2sgc2l6ZQorJChBUFBf
QkFTRSkvLmNvbmZpZy5vcmlnOiAkKEFQUF9CQVNFKS8uY29uZmlnCisJJChjYWxsIHZlcmJvc2Vf
Y21kLENPTkZJRyxsaWJydWJ5OiAkKG5vdGRpciAkQCksIFwKKwkJY3AgJChBUFBfQkFTRSkvLmNv
bmZpZyAkQCAmJiBcCisJCXNlZCAtaSAncy9eQ09ORklHX1NUQUNLX1NJWkVfUEFHRV9PUkRFUj0u
KiQkL0NPTkZJR19TVEFDS19TSVpFX1BBR0VfT1JERVI9MTAvZycgJChBUFBfQkFTRSkvLmNvbmZp
ZykKKworTElCUlVCWV9URVNUX1BSRVBBUkVEX0RFUFMgPSBcCisJJChBUFBfQkFTRSkvLmNvbmZp
Zy5vcmlnIFwKKworJChMSUJSVUJZX1RFU1RfQlVJTEQpLy5wcmVwYXJlZDogJChMSUJSVUJZX1RF
U1RfUFJFUEFSRURfREVQUykKKworVUtfUFJFUEFSRSArPSAkKExJQlJVQllfVEVTVF9CVUlMRCkv
LnByZXBhcmVkCisKKwogIyBDb25maWd1cmUgb3JpZ2luCiAkKExJQlJVQllfQlVJTEQpLy5jb25m
aWd1cmVkOiAkKExJQlJVQllfQlVJTEQpLy5vcmlnaW4KIAljZCAkKExJQlJVQllfU1JDKSAmJiBc
CmRpZmYgLS1naXQgYS9nZW5lcmF0ZWQvZXh0L2V4dGluaXQuYyBiL2dlbmVyYXRlZC9leHQvZXh0
aW5pdC5jCmluZGV4IGNlMmU3N2MuLjNhZjM2MzIgMTAwNjQ0Ci0tLSBhL2dlbmVyYXRlZC9leHQv
ZXh0aW5pdC5jCisrKyBiL2dlbmVyYXRlZC9leHQvZXh0aW5pdC5jCkBAIC0xMDIsNCArMTAyLDEw
IEBAIHZvaWQgSW5pdF9leHQodm9pZCkKICNpZiBDT05GSUdfTElCUlVCWV9FWFRfUklQUEVSCiAg
ICAgaW5pdChJbml0X3NkYm0sICJzZGJtIik7CiAjZW5kaWYKKworI2lmIENPTkZJR19MSUJSVUJZ
X1RFU1QKKyAgICAvKiBUT0RPIGFkZCBtb3JlIHRlc3RzICovCisgICAgaW5pdChJbml0X3RpbWUs
ICItdGVzdC0vZmlsZSIpOworICAgIGluaXQoSW5pdF90aW1lLCAiLXRlc3QtL3RpbWUiKTsKKyNl
bmRpZgogfQotLSAKMi4yMC4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMu
eGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3Rp
bmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Sun Dec 08 09:55:59 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 08 Dec 2019 09:55:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1idtIF-0007lD-Sp; Sun, 08 Dec 2019 09:55:59 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=qLlK=Z6=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1idtIE-0007l0-DB
 for minios-devel@lists.xen.org; Sun, 08 Dec 2019 09:55:58 +0000
X-Inumbo-ID: dc3e5382-19a0-11ea-b6f1-bc764e2007e4
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id dc3e5382-19a0-11ea-b6f1-bc764e2007e4;
 Sun, 08 Dec 2019 09:55:27 +0000 (UTC)
IronPort-SDR: 01YQgCyi766swJAKSb3rnweR0SWI3d0hIEkpljBz9GHXGrgX5Qf5IT3nFl5zGW/Q1CcsqkKCvm
 Opo9ValtCSLw==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 08 Dec 2019 11:55:18 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 7188D1A60DEC;
 Sun,  8 Dec 2019 11:55:18 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id BIti_MapskYr; Sun,  8 Dec 2019 11:55:18 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 4F3C11A60F11;
 Sun,  8 Dec 2019 11:55:18 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id oEDg1sCsw7Yl; Sun,  8 Dec 2019 11:55:18 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 19E911A60FBE;
 Sun,  8 Dec 2019 11:55:18 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Sun,  8 Dec 2019 11:54:59 +0200
Message-Id: <20191208095507.27384-9-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191208095507.27384-1-costin.lupu@cs.pub.ro>
References: <20191208095507.27384-1-costin.lupu@cs.pub.ro>
Subject: [Minios-devel] [UNIKRAFT/RUBY PATCH 08/16] extensions: Add
 generated files
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RWFjaCBleHRlbnNpb25zIGhhcyBpdHMgb3duIDxleHRjb25mLmg+IGhlYWRlciwgd2hpY2ggaXMg
Z2VuZXJhdGVkIGJhc2VkIG9uCnRoZSBidWlsZCBzeXN0ZW0gY29uZmlndXJhdGlvbi4gV2UgYWRk
IHRoZXNlIGhlYWRlciBpbnRvIHRoZSBnbHVlIGNvZGUKYmVjYXVzZSB3ZSBuZWVkIHRvIGNoYW5n
ZSBzb21lIG9mIHRoZXNlIGNvbmZpZ3VyYXRpb25zIGxhdGVyLiBXZSBhbHNvIGFkZCBub3cKdGhl
IGdlbmVyYXRlZCBoZWFkZXJzIGZvciBwc3ljaCBleHRlbnNpb24uIEFsbCB0aGUgZXh0ZW5zaW9u
cyBhcmUgcmVnaXN0ZXJlZCBpbgp0aGUgZXh0aW5pdC5jIGZpbGUuCgpTaWduZWQtb2ZmLWJ5OiBD
b3N0aW4gTHVwdSA8Y29zdGluLmx1cHVAY3MucHViLnJvPgotLS0KIC4uLi9leHQvLXRlc3QtL2Fy
aXRoX3NlcS9leHRyYWN0L2V4dGNvbmYuaCAgICB8ICAgIDMgKwogZ2VuZXJhdGVkL2V4dC8tdGVz
dC0vYXJyYXkvcmVzaXplL2V4dGNvbmYuaCAgIHwgICAgMyArCiBnZW5lcmF0ZWQvZXh0Ly10ZXN0
LS9iaWdudW0vZXh0Y29uZi5oICAgICAgICAgfCAgICA0ICsKIGdlbmVyYXRlZC9leHQvLXRlc3Qt
L2J1Zy0xNDgzNC9leHRjb25mLmggICAgICB8ICAgIDMgKwogZ2VuZXJhdGVkL2V4dC8tdGVzdC0v
YnVnLTM1NzEvZXh0Y29uZi5oICAgICAgIHwgICAgMyArCiBnZW5lcmF0ZWQvZXh0Ly10ZXN0LS9i
dWctNTgzMi9leHRjb25mLmggICAgICAgfCAgICAzICsKIGdlbmVyYXRlZC9leHQvLXRlc3QtL2J1
Z19yZXBvcnRlci9leHRjb25mLmggICB8ICAgIDMgKwogZ2VuZXJhdGVkL2V4dC8tdGVzdC0vY2xh
c3MvZXh0Y29uZi5oICAgICAgICAgIHwgICAgNCArCiBnZW5lcmF0ZWQvZXh0Ly10ZXN0LS9kZWJ1
Zy9leHRjb25mLmggICAgICAgICAgfCAgICA0ICsKIGdlbmVyYXRlZC9leHQvLXRlc3QtL2Rsbi9l
bXB0eS9leHRjb25mLmggICAgICB8ICAgIDMgKwogZ2VuZXJhdGVkL2V4dC8tdGVzdC0vZXhjZXB0
aW9uL2V4dGNvbmYuaCAgICAgIHwgICAgNCArCiBnZW5lcmF0ZWQvZXh0Ly10ZXN0LS9mYXRhbC9l
eHRjb25mLmggICAgICAgICAgfCAgICAzICsKIGdlbmVyYXRlZC9leHQvLXRlc3QtL2ZpbGUvZXh0
Y29uZi5oICAgICAgICAgICB8ICAgMTQgKwogZ2VuZXJhdGVkL2V4dC8tdGVzdC0vZmxvYXQvZXh0
Y29uZi5oICAgICAgICAgIHwgICAgNCArCiBnZW5lcmF0ZWQvZXh0Ly10ZXN0LS9mdW5jYWxsL2V4
dGNvbmYuaCAgICAgICAgfCAgICAzICsKIC4uLi9leHQvLXRlc3QtL2d2bC9jYWxsX3dpdGhvdXRf
Z3ZsL2V4dGNvbmYuaCB8ICAgIDMgKwogZ2VuZXJhdGVkL2V4dC8tdGVzdC0vaGFzaC9leHRjb25m
LmggICAgICAgICAgIHwgICAgNCArCiBnZW5lcmF0ZWQvZXh0Ly10ZXN0LS9pbnRlZ2VyL2V4dGNv
bmYuaCAgICAgICAgfCAgICA0ICsKIGdlbmVyYXRlZC9leHQvLXRlc3QtL2lzZXFfbG9hZC9leHRj
b25mLmggICAgICB8ICAgIDMgKwogZ2VuZXJhdGVkL2V4dC8tdGVzdC0vaXRlci9leHRjb25mLmgg
ICAgICAgICAgIHwgICAgNCArCiBnZW5lcmF0ZWQvZXh0Ly10ZXN0LS9sb2FkL2RvdC5kb3QvZXh0
Y29uZi5oICAgfCAgICAzICsKIGdlbmVyYXRlZC9leHQvLXRlc3QtL2xvYWQvcHJvdGVjdC9leHRj
b25mLmggICB8ICAgIDMgKwogZ2VuZXJhdGVkL2V4dC8tdGVzdC0vbWFyc2hhbC9jb21wYXQvZXh0
Y29uZi5oIHwgICAgMyArCiAuLi4vLXRlc3QtL21hcnNoYWwvaW50ZXJuYWxfaXZhci9leHRjb25m
LmggICAgfCAgICAzICsKIGdlbmVyYXRlZC9leHQvLXRlc3QtL21hcnNoYWwvdXNyL2V4dGNvbmYu
aCAgICB8ICAgIDMgKwogZ2VuZXJhdGVkL2V4dC8tdGVzdC0vbWV0aG9kL2V4dGNvbmYuaCAgICAg
ICAgIHwgICAgNCArCiBnZW5lcmF0ZWQvZXh0Ly10ZXN0LS9ub3RpbXBsZW1lbnQvZXh0Y29uZi5o
ICAgfCAgICAzICsKIGdlbmVyYXRlZC9leHQvLXRlc3QtL251bTJpbnQvZXh0Y29uZi5oICAgICAg
ICB8ICAgIDMgKwogZ2VuZXJhdGVkL2V4dC8tdGVzdC0vcGF0aF90b19jbGFzcy9leHRjb25mLmgg
IHwgICAgNCArCiBnZW5lcmF0ZWQvZXh0Ly10ZXN0LS9wb3Blbl9kZWFkbG9jay9leHRjb25mLmgg
fCAgICAzICsKIGdlbmVyYXRlZC9leHQvLXRlc3QtL3Bvc3Rwb25lZF9qb2IvZXh0Y29uZi5oICB8
ICAgIDMgKwogZ2VuZXJhdGVkL2V4dC8tdGVzdC0vcHJpbnRmL2V4dGNvbmYuaCAgICAgICAgIHwg
ICAgMyArCiBnZW5lcmF0ZWQvZXh0Ly10ZXN0LS9wcm9jL2V4dGNvbmYuaCAgICAgICAgICAgfCAg
ICA0ICsKIGdlbmVyYXRlZC9leHQvLXRlc3QtL3JhdGlvbmFsL2V4dGNvbmYuaCAgICAgICB8ICAg
IDQgKwogZ2VuZXJhdGVkL2V4dC8tdGVzdC0vcmVjdXJzaW9uL2V4dGNvbmYuaCAgICAgIHwgICAg
MyArCiBnZW5lcmF0ZWQvZXh0Ly10ZXN0LS9yZWdleHAvZXh0Y29uZi5oICAgICAgICAgfCAgICA0
ICsKIGdlbmVyYXRlZC9leHQvLXRlc3QtL3NjYW5fYXJncy9leHRjb25mLmggICAgICB8ICAgIDMg
KwogZ2VuZXJhdGVkL2V4dC8tdGVzdC0vc3QvZm9yZWFjaC9leHRjb25mLmggICAgIHwgICAgMyAr
CiBnZW5lcmF0ZWQvZXh0Ly10ZXN0LS9zdC9udW1oYXNoL2V4dGNvbmYuaCAgICAgfCAgICAzICsK
IGdlbmVyYXRlZC9leHQvLXRlc3QtL3N0L3VwZGF0ZS9leHRjb25mLmggICAgICB8ICAgIDMgKwog
Z2VuZXJhdGVkL2V4dC8tdGVzdC0vc3RyaW5nL2V4dGNvbmYuaCAgICAgICAgIHwgICAgNCArCiBn
ZW5lcmF0ZWQvZXh0Ly10ZXN0LS9zdHJ1Y3QvZXh0Y29uZi5oICAgICAgICAgfCAgICA0ICsKIGdl
bmVyYXRlZC9leHQvLXRlc3QtL3N5bWJvbC9leHRjb25mLmggICAgICAgICB8ICAgIDQgKwogLi4u
L2V4dC8tdGVzdC0vdGhyZWFkX2ZkX2Nsb3NlL2V4dGNvbmYuaCAgICAgIHwgICAgMyArCiBnZW5l
cmF0ZWQvZXh0Ly10ZXN0LS90aW1lL2V4dGNvbmYuaCAgICAgICAgICAgfCAgICA0ICsKIGdlbmVy
YXRlZC9leHQvLXRlc3QtL3RyYWNlcG9pbnQvZXh0Y29uZi5oICAgICB8ICAgIDMgKwogZ2VuZXJh
dGVkL2V4dC8tdGVzdC0vdHlwZWRkYXRhL2V4dGNvbmYuaCAgICAgIHwgICAgMyArCiBnZW5lcmF0
ZWQvZXh0Ly10ZXN0LS92bS9leHRjb25mLmggICAgICAgICAgICAgfCAgICAzICsKIC4uLi9leHQv
LXRlc3QtL3dhaXRfZm9yX3NpbmdsZV9mZC9leHRjb25mLmggICB8ICAgIDUgKwogZ2VuZXJhdGVk
L2V4dC9iaWdkZWNpbWFsL2V4dGNvbmYuaCAgICAgICAgICAgIHwgICAxMiArCiBnZW5lcmF0ZWQv
ZXh0L2JpZ2RlY2ltYWwvdXRpbC9leHRjb25mLmggICAgICAgfCAgICA0ICsKIGdlbmVyYXRlZC9l
eHQvY2dpL2VzY2FwZS9leHRjb25mLmggICAgICAgICAgICB8ICAgIDQgKwogZ2VuZXJhdGVkL2V4
dC9jb250aW51YXRpb24vZXh0Y29uZi5oICAgICAgICAgIHwgICAgNCArCiBnZW5lcmF0ZWQvZXh0
L2NvdmVyYWdlL2V4dGNvbmYuaCAgICAgICAgICAgICAgfCAgICA0ICsKIGdlbmVyYXRlZC9leHQv
ZGF0ZS9leHRjb25mLmggICAgICAgICAgICAgICAgICB8ICAgIDUgKwogZ2VuZXJhdGVkL2V4dC9k
aWdlc3QvYnViYmxlYmFiYmxlL2V4dGNvbmYuaCAgIHwgICAgNSArCiBnZW5lcmF0ZWQvZXh0L2Rp
Z2VzdC9leHRjb25mLmggICAgICAgICAgICAgICAgfCAgICA0ICsKIGdlbmVyYXRlZC9leHQvZGln
ZXN0L21kNS9leHRjb25mLmggICAgICAgICAgICB8ICAgMTAgKwogZ2VuZXJhdGVkL2V4dC9kaWdl
c3Qvcm1kMTYwL2V4dGNvbmYuaCAgICAgICAgIHwgICAxMSArCiBnZW5lcmF0ZWQvZXh0L2RpZ2Vz
dC9zaGExL2V4dGNvbmYuaCAgICAgICAgICAgfCAgIDEwICsKIGdlbmVyYXRlZC9leHQvZGlnZXN0
L3NoYTIvZXh0Y29uZi5oICAgICAgICAgICB8ICAgMTIgKwogZ2VuZXJhdGVkL2V4dC9ldGMvZXh0
Y29uZi5oICAgICAgICAgICAgICAgICAgIHwgICAxOSArCiBnZW5lcmF0ZWQvZXh0L2V4dGluaXQu
YyAgICAgICAgICAgICAgICAgICAgICAgfCAgIDQ4ICsKIGdlbmVyYXRlZC9leHQvZmNudGwvZXh0
Y29uZi5oICAgICAgICAgICAgICAgICB8ICAgIDQgKwogZ2VuZXJhdGVkL2V4dC9maWJlci9leHRj
b25mLmggICAgICAgICAgICAgICAgIHwgICAgNCArCiBnZW5lcmF0ZWQvZXh0L2ZpZGRsZS9leHRj
b25mLmggICAgICAgICAgICAgICAgfCAgIDE0ICsKIGdlbmVyYXRlZC9leHQvaW8vY29uc29sZS9l
eHRjb25mLmggICAgICAgICAgICB8ICAgIDggKwogZ2VuZXJhdGVkL2V4dC9pby9ub25ibG9jay9l
eHRjb25mLmggICAgICAgICAgIHwgICAgNCArCiBnZW5lcmF0ZWQvZXh0L2lvL3dhaXQvZXh0Y29u
Zi5oICAgICAgICAgICAgICAgfCAgICA2ICsKIGdlbmVyYXRlZC9leHQvanNvbi9leHRjb25mLmgg
ICAgICAgICAgICAgICAgICB8ICAgIDQgKwogZ2VuZXJhdGVkL2V4dC9qc29uL2dlbmVyYXRvci9l
eHRjb25mLmggICAgICAgIHwgICAgNSArCiBnZW5lcmF0ZWQvZXh0L2pzb24vcGFyc2VyL2V4dGNv
bmYuaCAgICAgICAgICAgfCAgICA1ICsKIGdlbmVyYXRlZC9leHQvbmtmL2V4dGNvbmYuaCAgICAg
ICAgICAgICAgICAgICB8ICAgIDQgKwogZ2VuZXJhdGVkL2V4dC9vYmpzcGFjZS9leHRjb25mLmgg
ICAgICAgICAgICAgIHwgICAgNCArCiBnZW5lcmF0ZWQvZXh0L29wZW5zc2wvZXh0Y29uZi5oICAg
ICAgICAgICAgICAgfCAgIDQ2ICsKIGdlbmVyYXRlZC9leHQvcGF0aG5hbWUvZXh0Y29uZi5oICAg
ICAgICAgICAgICB8ICAgIDQgKwogZ2VuZXJhdGVkL2V4dC9wc3ljaC9leHRjb25mLmggICAgICAg
ICAgICAgICAgIHwgICAxNSArCiBnZW5lcmF0ZWQvZXh0L3BzeWNoL3BzeWNoLmggICAgICAgICAg
ICAgICAgICAgfCAgIDE3ICsKIGdlbmVyYXRlZC9leHQvcHN5Y2gvcHN5Y2hfZW1pdHRlci5oICAg
ICAgICAgICB8ICAgIDggKwogZ2VuZXJhdGVkL2V4dC9wc3ljaC9wc3ljaF9wYXJzZXIuaCAgICAg
ICAgICAgIHwgICAgNiArCiBnZW5lcmF0ZWQvZXh0L3BzeWNoL3BzeWNoX3RvX3J1YnkuaCAgICAg
ICAgICAgfCAgICA4ICsKIGdlbmVyYXRlZC9leHQvcHN5Y2gvcHN5Y2hfeWFtbF90cmVlLmggICAg
ICAgICB8ICAgIDggKwogZ2VuZXJhdGVkL2V4dC9wc3ljaC95YW1sL2NvbmZpZy5oICAgICAgICAg
ICAgIHwgICAxMCArCiBnZW5lcmF0ZWQvZXh0L3BzeWNoL3lhbWwveWFtbC5oICAgICAgICAgICAg
ICAgfCAxOTcxICsrKysrKysrKysrKysrKysrCiBnZW5lcmF0ZWQvZXh0L3B0eS9leHRjb25mLmgg
ICAgICAgICAgICAgICAgICAgfCAgICA5ICsKIGdlbmVyYXRlZC9leHQvcmFjYy9jcGFyc2UvZXh0
Y29uZi5oICAgICAgICAgICB8ICAgIDUgKwogZ2VuZXJhdGVkL2V4dC9yYmNvbmZpZy9zaXplb2Yv
ZXh0Y29uZi5oICAgICAgIHwgICAyOSArCiBnZW5lcmF0ZWQvZXh0L3JpcHBlci9leHRjb25mLmgg
ICAgICAgICAgICAgICAgfCAgICA1ICsKIGdlbmVyYXRlZC9leHQvcnVieXZtL2V4dGNvbmYuaCAg
ICAgICAgICAgICAgICB8ICAgIDQgKwogZ2VuZXJhdGVkL2V4dC9zZGJtL2V4dGNvbmYuaCAgICAg
ICAgICAgICAgICAgIHwgICAgNSArCiBnZW5lcmF0ZWQvZXh0L3NvY2tldC9leHRjb25mLmggICAg
ICAgICAgICAgICAgfCAgMTI4ICsrCiBnZW5lcmF0ZWQvZXh0L3N0cmluZ2lvL2V4dGNvbmYuaCAg
ICAgICAgICAgICAgfCAgICA0ICsKIGdlbmVyYXRlZC9leHQvc3Ryc2Nhbi9leHRjb25mLmggICAg
ICAgICAgICAgICB8ICAgIDQgKwogZ2VuZXJhdGVkL2V4dC9zeXNsb2cvZXh0Y29uZi5oICAgICAg
ICAgICAgICAgIHwgICAgNyArCiBnZW5lcmF0ZWQvZXh0L3psaWIvZXh0Y29uZi5oICAgICAgICAg
ICAgICAgICAgfCAgICA4ICsKIDk1IGZpbGVzIGNoYW5nZWQsIDI2OTIgaW5zZXJ0aW9ucygrKQog
Y3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvLXRlc3QtL2FyaXRoX3NlcS9leHRyYWN0
L2V4dGNvbmYuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvLXRlc3QtL2FycmF5
L3Jlc2l6ZS9leHRjb25mLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0Ly10ZXN0
LS9iaWdudW0vZXh0Y29uZi5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC8tdGVz
dC0vYnVnLTE0ODM0L2V4dGNvbmYuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQv
LXRlc3QtL2J1Zy0zNTcxL2V4dGNvbmYuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9l
eHQvLXRlc3QtL2J1Zy01ODMyL2V4dGNvbmYuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRl
ZC9leHQvLXRlc3QtL2J1Z19yZXBvcnRlci9leHRjb25mLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBn
ZW5lcmF0ZWQvZXh0Ly10ZXN0LS9jbGFzcy9leHRjb25mLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBn
ZW5lcmF0ZWQvZXh0Ly10ZXN0LS9kZWJ1Zy9leHRjb25mLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBn
ZW5lcmF0ZWQvZXh0Ly10ZXN0LS9kbG4vZW1wdHkvZXh0Y29uZi5oCiBjcmVhdGUgbW9kZSAxMDA2
NDQgZ2VuZXJhdGVkL2V4dC8tdGVzdC0vZXhjZXB0aW9uL2V4dGNvbmYuaAogY3JlYXRlIG1vZGUg
MTAwNjQ0IGdlbmVyYXRlZC9leHQvLXRlc3QtL2ZhdGFsL2V4dGNvbmYuaAogY3JlYXRlIG1vZGUg
MTAwNjQ0IGdlbmVyYXRlZC9leHQvLXRlc3QtL2ZpbGUvZXh0Y29uZi5oCiBjcmVhdGUgbW9kZSAx
MDA2NDQgZ2VuZXJhdGVkL2V4dC8tdGVzdC0vZmxvYXQvZXh0Y29uZi5oCiBjcmVhdGUgbW9kZSAx
MDA2NDQgZ2VuZXJhdGVkL2V4dC8tdGVzdC0vZnVuY2FsbC9leHRjb25mLmgKIGNyZWF0ZSBtb2Rl
IDEwMDY0NCBnZW5lcmF0ZWQvZXh0Ly10ZXN0LS9ndmwvY2FsbF93aXRob3V0X2d2bC9leHRjb25m
LmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0Ly10ZXN0LS9oYXNoL2V4dGNvbmYu
aAogY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvLXRlc3QtL2ludGVnZXIvZXh0Y29u
Zi5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC8tdGVzdC0vaXNlcV9sb2FkL2V4
dGNvbmYuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvLXRlc3QtL2l0ZXIvZXh0
Y29uZi5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC8tdGVzdC0vbG9hZC9kb3Qu
ZG90L2V4dGNvbmYuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvLXRlc3QtL2xv
YWQvcHJvdGVjdC9leHRjb25mLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0Ly10
ZXN0LS9tYXJzaGFsL2NvbXBhdC9leHRjb25mLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0
ZWQvZXh0Ly10ZXN0LS9tYXJzaGFsL2ludGVybmFsX2l2YXIvZXh0Y29uZi5oCiBjcmVhdGUgbW9k
ZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC8tdGVzdC0vbWFyc2hhbC91c3IvZXh0Y29uZi5oCiBjcmVh
dGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC8tdGVzdC0vbWV0aG9kL2V4dGNvbmYuaAogY3Jl
YXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvLXRlc3QtL25vdGltcGxlbWVudC9leHRjb25m
LmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0Ly10ZXN0LS9udW0yaW50L2V4dGNv
bmYuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvLXRlc3QtL3BhdGhfdG9fY2xh
c3MvZXh0Y29uZi5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC8tdGVzdC0vcG9w
ZW5fZGVhZGxvY2svZXh0Y29uZi5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC8t
dGVzdC0vcG9zdHBvbmVkX2pvYi9leHRjb25mLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0
ZWQvZXh0Ly10ZXN0LS9wcmludGYvZXh0Y29uZi5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJh
dGVkL2V4dC8tdGVzdC0vcHJvYy9leHRjb25mLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0
ZWQvZXh0Ly10ZXN0LS9yYXRpb25hbC9leHRjb25mLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5l
cmF0ZWQvZXh0Ly10ZXN0LS9yZWN1cnNpb24vZXh0Y29uZi5oCiBjcmVhdGUgbW9kZSAxMDA2NDQg
Z2VuZXJhdGVkL2V4dC8tdGVzdC0vcmVnZXhwL2V4dGNvbmYuaAogY3JlYXRlIG1vZGUgMTAwNjQ0
IGdlbmVyYXRlZC9leHQvLXRlc3QtL3NjYW5fYXJncy9leHRjb25mLmgKIGNyZWF0ZSBtb2RlIDEw
MDY0NCBnZW5lcmF0ZWQvZXh0Ly10ZXN0LS9zdC9mb3JlYWNoL2V4dGNvbmYuaAogY3JlYXRlIG1v
ZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvLXRlc3QtL3N0L251bWhhc2gvZXh0Y29uZi5oCiBjcmVh
dGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC8tdGVzdC0vc3QvdXBkYXRlL2V4dGNvbmYuaAog
Y3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvLXRlc3QtL3N0cmluZy9leHRjb25mLmgK
IGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0Ly10ZXN0LS9zdHJ1Y3QvZXh0Y29uZi5o
CiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC8tdGVzdC0vc3ltYm9sL2V4dGNvbmYu
aAogY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvLXRlc3QtL3RocmVhZF9mZF9jbG9z
ZS9leHRjb25mLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0Ly10ZXN0LS90aW1l
L2V4dGNvbmYuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvLXRlc3QtL3RyYWNl
cG9pbnQvZXh0Y29uZi5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC8tdGVzdC0v
dHlwZWRkYXRhL2V4dGNvbmYuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvLXRl
c3QtL3ZtL2V4dGNvbmYuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvLXRlc3Qt
L3dhaXRfZm9yX3NpbmdsZV9mZC9leHRjb25mLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0
ZWQvZXh0L2JpZ2RlY2ltYWwvZXh0Y29uZi5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVk
L2V4dC9iaWdkZWNpbWFsL3V0aWwvZXh0Y29uZi5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJh
dGVkL2V4dC9jZ2kvZXNjYXBlL2V4dGNvbmYuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRl
ZC9leHQvY29udGludWF0aW9uL2V4dGNvbmYuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRl
ZC9leHQvY292ZXJhZ2UvZXh0Y29uZi5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4
dC9kYXRlL2V4dGNvbmYuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvZGlnZXN0
L2J1YmJsZWJhYmJsZS9leHRjb25mLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0
L2RpZ2VzdC9leHRjb25mLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0L2RpZ2Vz
dC9tZDUvZXh0Y29uZi5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC9kaWdlc3Qv
cm1kMTYwL2V4dGNvbmYuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvZGlnZXN0
L3NoYTEvZXh0Y29uZi5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC9kaWdlc3Qv
c2hhMi9leHRjb25mLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0L2V0Yy9leHRj
b25mLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0L2V4dGluaXQuYwogY3JlYXRl
IG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvZmNudGwvZXh0Y29uZi5oCiBjcmVhdGUgbW9kZSAx
MDA2NDQgZ2VuZXJhdGVkL2V4dC9maWJlci9leHRjb25mLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBn
ZW5lcmF0ZWQvZXh0L2ZpZGRsZS9leHRjb25mLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0
ZWQvZXh0L2lvL2NvbnNvbGUvZXh0Y29uZi5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVk
L2V4dC9pby9ub25ibG9jay9leHRjb25mLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQv
ZXh0L2lvL3dhaXQvZXh0Y29uZi5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC9q
c29uL2V4dGNvbmYuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvanNvbi9nZW5l
cmF0b3IvZXh0Y29uZi5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC9qc29uL3Bh
cnNlci9leHRjb25mLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0L25rZi9leHRj
b25mLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0L29ianNwYWNlL2V4dGNvbmYu
aAogY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvb3BlbnNzbC9leHRjb25mLmgKIGNy
ZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0L3BhdGhuYW1lL2V4dGNvbmYuaAogY3JlYXRl
IG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvcHN5Y2gvZXh0Y29uZi5oCiBjcmVhdGUgbW9kZSAx
MDA2NDQgZ2VuZXJhdGVkL2V4dC9wc3ljaC9wc3ljaC5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2Vu
ZXJhdGVkL2V4dC9wc3ljaC9wc3ljaF9lbWl0dGVyLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5l
cmF0ZWQvZXh0L3BzeWNoL3BzeWNoX3BhcnNlci5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJh
dGVkL2V4dC9wc3ljaC9wc3ljaF90b19ydWJ5LmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0
ZWQvZXh0L3BzeWNoL3BzeWNoX3lhbWxfdHJlZS5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJh
dGVkL2V4dC9wc3ljaC95YW1sL2NvbmZpZy5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVk
L2V4dC9wc3ljaC95YW1sL3lhbWwuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQv
cHR5L2V4dGNvbmYuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvcmFjYy9jcGFy
c2UvZXh0Y29uZi5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC9yYmNvbmZpZy9z
aXplb2YvZXh0Y29uZi5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC9yaXBwZXIv
ZXh0Y29uZi5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC9ydWJ5dm0vZXh0Y29u
Zi5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC9zZGJtL2V4dGNvbmYuaAogY3Jl
YXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvc29ja2V0L2V4dGNvbmYuaAogY3JlYXRlIG1v
ZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvc3RyaW5naW8vZXh0Y29uZi5oCiBjcmVhdGUgbW9kZSAx
MDA2NDQgZ2VuZXJhdGVkL2V4dC9zdHJzY2FuL2V4dGNvbmYuaAogY3JlYXRlIG1vZGUgMTAwNjQ0
IGdlbmVyYXRlZC9leHQvc3lzbG9nL2V4dGNvbmYuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVy
YXRlZC9leHQvemxpYi9leHRjb25mLmgKCmRpZmYgLS1naXQgYS9nZW5lcmF0ZWQvZXh0Ly10ZXN0
LS9hcml0aF9zZXEvZXh0cmFjdC9leHRjb25mLmggYi9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS9hcml0
aF9zZXEvZXh0cmFjdC9leHRjb25mLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uY2RhMGNjOAotLS0gL2Rldi9udWxsCisrKyBiL2dlbmVyYXRlZC9leHQvLXRlc3QtL2FyaXRo
X3NlcS9leHRyYWN0L2V4dGNvbmYuaApAQCAtMCwwICsxLDMgQEAKKyNpZm5kZWYgRVhUQ09ORl9I
CisjZGVmaW5lIEVYVENPTkZfSAorI2VuZGlmCmRpZmYgLS1naXQgYS9nZW5lcmF0ZWQvZXh0Ly10
ZXN0LS9hcnJheS9yZXNpemUvZXh0Y29uZi5oIGIvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vYXJyYXkv
cmVzaXplL2V4dGNvbmYuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZGEw
Y2M4Ci0tLSAvZGV2L251bGwKKysrIGIvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vYXJyYXkvcmVzaXpl
L2V4dGNvbmYuaApAQCAtMCwwICsxLDMgQEAKKyNpZm5kZWYgRVhUQ09ORl9ICisjZGVmaW5lIEVY
VENPTkZfSAorI2VuZGlmCmRpZmYgLS1naXQgYS9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS9iaWdudW0v
ZXh0Y29uZi5oIGIvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vYmlnbnVtL2V4dGNvbmYuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44Y2VjYzNkCi0tLSAvZGV2L251bGwKKysrIGIv
Z2VuZXJhdGVkL2V4dC8tdGVzdC0vYmlnbnVtL2V4dGNvbmYuaApAQCAtMCwwICsxLDQgQEAKKyNp
Zm5kZWYgRVhUQ09ORl9ICisjZGVmaW5lIEVYVENPTkZfSAorI2RlZmluZSBURVNUX0lOSVRfRlVO
Q1MoWCkgWChiaWd6ZXJvKSBYKHN0cjJiaWcpIFgobXVsKSBYKGRpdikgWChiaWcyc3RyKSBYKGlu
dHBhY2spCisjZW5kaWYKZGlmZiAtLWdpdCBhL2dlbmVyYXRlZC9leHQvLXRlc3QtL2J1Zy0xNDgz
NC9leHRjb25mLmggYi9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS9idWctMTQ4MzQvZXh0Y29uZi5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNkYTBjYzgKLS0tIC9kZXYvbnVsbAor
KysgYi9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS9idWctMTQ4MzQvZXh0Y29uZi5oCkBAIC0wLDAgKzEs
MyBAQAorI2lmbmRlZiBFWFRDT05GX0gKKyNkZWZpbmUgRVhUQ09ORl9ICisjZW5kaWYKZGlmZiAt
LWdpdCBhL2dlbmVyYXRlZC9leHQvLXRlc3QtL2J1Zy0zNTcxL2V4dGNvbmYuaCBiL2dlbmVyYXRl
ZC9leHQvLXRlc3QtL2J1Zy0zNTcxL2V4dGNvbmYuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi5jZGEwY2M4Ci0tLSAvZGV2L251bGwKKysrIGIvZ2VuZXJhdGVkL2V4dC8tdGVz
dC0vYnVnLTM1NzEvZXh0Y29uZi5oCkBAIC0wLDAgKzEsMyBAQAorI2lmbmRlZiBFWFRDT05GX0gK
KyNkZWZpbmUgRVhUQ09ORl9ICisjZW5kaWYKZGlmZiAtLWdpdCBhL2dlbmVyYXRlZC9leHQvLXRl
c3QtL2J1Zy01ODMyL2V4dGNvbmYuaCBiL2dlbmVyYXRlZC9leHQvLXRlc3QtL2J1Zy01ODMyL2V4
dGNvbmYuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZGEwY2M4Ci0tLSAv
ZGV2L251bGwKKysrIGIvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vYnVnLTU4MzIvZXh0Y29uZi5oCkBA
IC0wLDAgKzEsMyBAQAorI2lmbmRlZiBFWFRDT05GX0gKKyNkZWZpbmUgRVhUQ09ORl9ICisjZW5k
aWYKZGlmZiAtLWdpdCBhL2dlbmVyYXRlZC9leHQvLXRlc3QtL2J1Z19yZXBvcnRlci9leHRjb25m
LmggYi9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS9idWdfcmVwb3J0ZXIvZXh0Y29uZi5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNkYTBjYzgKLS0tIC9kZXYvbnVsbAorKysgYi9n
ZW5lcmF0ZWQvZXh0Ly10ZXN0LS9idWdfcmVwb3J0ZXIvZXh0Y29uZi5oCkBAIC0wLDAgKzEsMyBA
QAorI2lmbmRlZiBFWFRDT05GX0gKKyNkZWZpbmUgRVhUQ09ORl9ICisjZW5kaWYKZGlmZiAtLWdp
dCBhL2dlbmVyYXRlZC9leHQvLXRlc3QtL2NsYXNzL2V4dGNvbmYuaCBiL2dlbmVyYXRlZC9leHQv
LXRlc3QtL2NsYXNzL2V4dGNvbmYuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li5hNjU2NjZlCi0tLSAvZGV2L251bGwKKysrIGIvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vY2xhc3Mv
ZXh0Y29uZi5oCkBAIC0wLDAgKzEsNCBAQAorI2lmbmRlZiBFWFRDT05GX0gKKyNkZWZpbmUgRVhU
Q09ORl9ICisjZGVmaW5lIFRFU1RfSU5JVF9GVU5DUyhYKSBYKGNsYXNzMm5hbWUpCisjZW5kaWYK
ZGlmZiAtLWdpdCBhL2dlbmVyYXRlZC9leHQvLXRlc3QtL2RlYnVnL2V4dGNvbmYuaCBiL2dlbmVy
YXRlZC9leHQvLXRlc3QtL2RlYnVnL2V4dGNvbmYuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi43M2ZjMTAzCi0tLSAvZGV2L251bGwKKysrIGIvZ2VuZXJhdGVkL2V4dC8tdGVz
dC0vZGVidWcvZXh0Y29uZi5oCkBAIC0wLDAgKzEsNCBAQAorI2lmbmRlZiBFWFRDT05GX0gKKyNk
ZWZpbmUgRVhUQ09ORl9ICisjZGVmaW5lIFRFU1RfSU5JVF9GVU5DUyhYKSBYKHByb2ZpbGVfZnJh
bWVzKSBYKGluc3BlY3RvcikKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2V4dC8tdGVz
dC0vZGxuL2VtcHR5L2V4dGNvbmYuaCBiL2dlbmVyYXRlZC9leHQvLXRlc3QtL2Rsbi9lbXB0eS9l
eHRjb25mLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2RhMGNjOAotLS0g
L2Rldi9udWxsCisrKyBiL2dlbmVyYXRlZC9leHQvLXRlc3QtL2Rsbi9lbXB0eS9leHRjb25mLmgK
QEAgLTAsMCArMSwzIEBACisjaWZuZGVmIEVYVENPTkZfSAorI2RlZmluZSBFWFRDT05GX0gKKyNl
bmRpZgpkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vZXhjZXB0aW9uL2V4dGNvbmYu
aCBiL2dlbmVyYXRlZC9leHQvLXRlc3QtL2V4Y2VwdGlvbi9leHRjb25mLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTFhMjgzMgotLS0gL2Rldi9udWxsCisrKyBiL2dlbmVy
YXRlZC9leHQvLXRlc3QtL2V4Y2VwdGlvbi9leHRjb25mLmgKQEAgLTAsMCArMSw0IEBACisjaWZu
ZGVmIEVYVENPTkZfSAorI2RlZmluZSBFWFRDT05GX0gKKyNkZWZpbmUgVEVTVF9JTklUX0ZVTkNT
KFgpIFgoZW5zdXJlZCkgWChlbmNfcmFpc2UpIFgoZGF0YWVycm9yKQorI2VuZGlmCmRpZmYgLS1n
aXQgYS9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS9mYXRhbC9leHRjb25mLmggYi9nZW5lcmF0ZWQvZXh0
Ly10ZXN0LS9mYXRhbC9leHRjb25mLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uY2RhMGNjOAotLS0gL2Rldi9udWxsCisrKyBiL2dlbmVyYXRlZC9leHQvLXRlc3QtL2ZhdGFs
L2V4dGNvbmYuaApAQCAtMCwwICsxLDMgQEAKKyNpZm5kZWYgRVhUQ09ORl9ICisjZGVmaW5lIEVY
VENPTkZfSAorI2VuZGlmCmRpZmYgLS1naXQgYS9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS9maWxlL2V4
dGNvbmYuaCBiL2dlbmVyYXRlZC9leHQvLXRlc3QtL2ZpbGUvZXh0Y29uZi5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMwNTFiMDMKLS0tIC9kZXYvbnVsbAorKysgYi9nZW5l
cmF0ZWQvZXh0Ly10ZXN0LS9maWxlL2V4dGNvbmYuaApAQCAtMCwwICsxLDE0IEBACisjaWZuZGVm
IEVYVENPTkZfSAorI2RlZmluZSBFWFRDT05GX0gKKyNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAx
CisjZGVmaW5lIEhBVkVfU1lTX01PVU5UX0ggMQorI2RlZmluZSBIQVZFX1NZU19WRlNfSCAxCisj
ZGVmaW5lIEhBVkVfVFlQRV9TVFJVQ1RfU1RBVEZTIDEKKyNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RB
VEZTX0ZfVFlQRSAxCisjZGVmaW5lIEhBVkVfU1RfRl9UWVBFIDEKKyNkZWZpbmUgSEFWRV9TVFJV
Q1RfU1RBVEZTX0ZfRkxBR1MgMQorI2RlZmluZSBIQVZFX1NUX0ZfRkxBR1MgMQorI2RlZmluZSBI
QVZFX1NZU19TVEFUVkZTX0ggMQorI2RlZmluZSBIQVZFX1RZUEVfU1RSVUNUX1NUQVRWRlMgMQor
I2RlZmluZSBURVNUX0lOSVRfRlVOQ1MoWCkgWChmcykgWChzdGF0KQorI2VuZGlmCmRpZmYgLS1n
aXQgYS9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS9mbG9hdC9leHRjb25mLmggYi9nZW5lcmF0ZWQvZXh0
Ly10ZXN0LS9mbG9hdC9leHRjb25mLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uMmU4NDZkMgotLS0gL2Rldi9udWxsCisrKyBiL2dlbmVyYXRlZC9leHQvLXRlc3QtL2Zsb2F0
L2V4dGNvbmYuaApAQCAtMCwwICsxLDQgQEAKKyNpZm5kZWYgRVhUQ09ORl9ICisjZGVmaW5lIEVY
VENPTkZfSAorI2RlZmluZSBURVNUX0lOSVRfRlVOQ1MoWCkgWChuZXh0YWZ0ZXIpCisjZW5kaWYK
ZGlmZiAtLWdpdCBhL2dlbmVyYXRlZC9leHQvLXRlc3QtL2Z1bmNhbGwvZXh0Y29uZi5oIGIvZ2Vu
ZXJhdGVkL2V4dC8tdGVzdC0vZnVuY2FsbC9leHRjb25mLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uY2RhMGNjOAotLS0gL2Rldi9udWxsCisrKyBiL2dlbmVyYXRlZC9leHQv
LXRlc3QtL2Z1bmNhbGwvZXh0Y29uZi5oCkBAIC0wLDAgKzEsMyBAQAorI2lmbmRlZiBFWFRDT05G
X0gKKyNkZWZpbmUgRVhUQ09ORl9ICisjZW5kaWYKZGlmZiAtLWdpdCBhL2dlbmVyYXRlZC9leHQv
LXRlc3QtL2d2bC9jYWxsX3dpdGhvdXRfZ3ZsL2V4dGNvbmYuaCBiL2dlbmVyYXRlZC9leHQvLXRl
c3QtL2d2bC9jYWxsX3dpdGhvdXRfZ3ZsL2V4dGNvbmYuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi5jZGEwY2M4Ci0tLSAvZGV2L251bGwKKysrIGIvZ2VuZXJhdGVkL2V4dC8t
dGVzdC0vZ3ZsL2NhbGxfd2l0aG91dF9ndmwvZXh0Y29uZi5oCkBAIC0wLDAgKzEsMyBAQAorI2lm
bmRlZiBFWFRDT05GX0gKKyNkZWZpbmUgRVhUQ09ORl9ICisjZW5kaWYKZGlmZiAtLWdpdCBhL2dl
bmVyYXRlZC9leHQvLXRlc3QtL2hhc2gvZXh0Y29uZi5oIGIvZ2VuZXJhdGVkL2V4dC8tdGVzdC0v
aGFzaC9leHRjb25mLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWEwNDYw
MAotLS0gL2Rldi9udWxsCisrKyBiL2dlbmVyYXRlZC9leHQvLXRlc3QtL2hhc2gvZXh0Y29uZi5o
CkBAIC0wLDAgKzEsNCBAQAorI2lmbmRlZiBFWFRDT05GX0gKKyNkZWZpbmUgRVhUQ09ORl9ICisj
ZGVmaW5lIFRFU1RfSU5JVF9GVU5DUyhYKSBYKGRlbGV0ZSkKKyNlbmRpZgpkaWZmIC0tZ2l0IGEv
Z2VuZXJhdGVkL2V4dC8tdGVzdC0vaW50ZWdlci9leHRjb25mLmggYi9nZW5lcmF0ZWQvZXh0Ly10
ZXN0LS9pbnRlZ2VyL2V4dGNvbmYuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li4yYTJlNTZhCi0tLSAvZGV2L251bGwKKysrIGIvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vaW50ZWdl
ci9leHRjb25mLmgKQEAgLTAsMCArMSw0IEBACisjaWZuZGVmIEVYVENPTkZfSAorI2RlZmluZSBF
WFRDT05GX0gKKyNkZWZpbmUgVEVTVF9JTklUX0ZVTkNTKFgpIFgoY29yZV9leHQpIFgobXlfaW50
ZWdlcikKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vaXNlcV9sb2Fk
L2V4dGNvbmYuaCBiL2dlbmVyYXRlZC9leHQvLXRlc3QtL2lzZXFfbG9hZC9leHRjb25mLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2RhMGNjOAotLS0gL2Rldi9udWxsCisr
KyBiL2dlbmVyYXRlZC9leHQvLXRlc3QtL2lzZXFfbG9hZC9leHRjb25mLmgKQEAgLTAsMCArMSwz
IEBACisjaWZuZGVmIEVYVENPTkZfSAorI2RlZmluZSBFWFRDT05GX0gKKyNlbmRpZgpkaWZmIC0t
Z2l0IGEvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vaXRlci9leHRjb25mLmggYi9nZW5lcmF0ZWQvZXh0
Ly10ZXN0LS9pdGVyL2V4dGNvbmYuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li42MmE5Njc3Ci0tLSAvZGV2L251bGwKKysrIGIvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vaXRlci9l
eHRjb25mLmgKQEAgLTAsMCArMSw0IEBACisjaWZuZGVmIEVYVENPTkZfSAorI2RlZmluZSBFWFRD
T05GX0gKKyNkZWZpbmUgVEVTVF9JTklUX0ZVTkNTKFgpIFgoYnJlYWspIFgoeWllbGQpCisjZW5k
aWYKZGlmZiAtLWdpdCBhL2dlbmVyYXRlZC9leHQvLXRlc3QtL2xvYWQvZG90LmRvdC9leHRjb25m
LmggYi9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS9sb2FkL2RvdC5kb3QvZXh0Y29uZi5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNkYTBjYzgKLS0tIC9kZXYvbnVsbAorKysgYi9n
ZW5lcmF0ZWQvZXh0Ly10ZXN0LS9sb2FkL2RvdC5kb3QvZXh0Y29uZi5oCkBAIC0wLDAgKzEsMyBA
QAorI2lmbmRlZiBFWFRDT05GX0gKKyNkZWZpbmUgRVhUQ09ORl9ICisjZW5kaWYKZGlmZiAtLWdp
dCBhL2dlbmVyYXRlZC9leHQvLXRlc3QtL2xvYWQvcHJvdGVjdC9leHRjb25mLmggYi9nZW5lcmF0
ZWQvZXh0Ly10ZXN0LS9sb2FkL3Byb3RlY3QvZXh0Y29uZi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLmNkYTBjYzgKLS0tIC9kZXYvbnVsbAorKysgYi9nZW5lcmF0ZWQvZXh0
Ly10ZXN0LS9sb2FkL3Byb3RlY3QvZXh0Y29uZi5oCkBAIC0wLDAgKzEsMyBAQAorI2lmbmRlZiBF
WFRDT05GX0gKKyNkZWZpbmUgRVhUQ09ORl9ICisjZW5kaWYKZGlmZiAtLWdpdCBhL2dlbmVyYXRl
ZC9leHQvLXRlc3QtL21hcnNoYWwvY29tcGF0L2V4dGNvbmYuaCBiL2dlbmVyYXRlZC9leHQvLXRl
c3QtL21hcnNoYWwvY29tcGF0L2V4dGNvbmYuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi5jZGEwY2M4Ci0tLSAvZGV2L251bGwKKysrIGIvZ2VuZXJhdGVkL2V4dC8tdGVzdC0v
bWFyc2hhbC9jb21wYXQvZXh0Y29uZi5oCkBAIC0wLDAgKzEsMyBAQAorI2lmbmRlZiBFWFRDT05G
X0gKKyNkZWZpbmUgRVhUQ09ORl9ICisjZW5kaWYKZGlmZiAtLWdpdCBhL2dlbmVyYXRlZC9leHQv
LXRlc3QtL21hcnNoYWwvaW50ZXJuYWxfaXZhci9leHRjb25mLmggYi9nZW5lcmF0ZWQvZXh0Ly10
ZXN0LS9tYXJzaGFsL2ludGVybmFsX2l2YXIvZXh0Y29uZi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLmNkYTBjYzgKLS0tIC9kZXYvbnVsbAorKysgYi9nZW5lcmF0ZWQvZXh0
Ly10ZXN0LS9tYXJzaGFsL2ludGVybmFsX2l2YXIvZXh0Y29uZi5oCkBAIC0wLDAgKzEsMyBAQAor
I2lmbmRlZiBFWFRDT05GX0gKKyNkZWZpbmUgRVhUQ09ORl9ICisjZW5kaWYKZGlmZiAtLWdpdCBh
L2dlbmVyYXRlZC9leHQvLXRlc3QtL21hcnNoYWwvdXNyL2V4dGNvbmYuaCBiL2dlbmVyYXRlZC9l
eHQvLXRlc3QtL21hcnNoYWwvdXNyL2V4dGNvbmYuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi5jZGEwY2M4Ci0tLSAvZGV2L251bGwKKysrIGIvZ2VuZXJhdGVkL2V4dC8tdGVz
dC0vbWFyc2hhbC91c3IvZXh0Y29uZi5oCkBAIC0wLDAgKzEsMyBAQAorI2lmbmRlZiBFWFRDT05G
X0gKKyNkZWZpbmUgRVhUQ09ORl9ICisjZW5kaWYKZGlmZiAtLWdpdCBhL2dlbmVyYXRlZC9leHQv
LXRlc3QtL21ldGhvZC9leHRjb25mLmggYi9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS9tZXRob2QvZXh0
Y29uZi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA1ZjljNmUKLS0tIC9k
ZXYvbnVsbAorKysgYi9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS9tZXRob2QvZXh0Y29uZi5oCkBAIC0w
LDAgKzEsNCBAQAorI2lmbmRlZiBFWFRDT05GX0gKKyNkZWZpbmUgRVhUQ09ORl9ICisjZGVmaW5l
IFRFU1RfSU5JVF9GVU5DUyhYKSBYKGFyaXR5KQorI2VuZGlmCmRpZmYgLS1naXQgYS9nZW5lcmF0
ZWQvZXh0Ly10ZXN0LS9ub3RpbXBsZW1lbnQvZXh0Y29uZi5oIGIvZ2VuZXJhdGVkL2V4dC8tdGVz
dC0vbm90aW1wbGVtZW50L2V4dGNvbmYuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi5jZGEwY2M4Ci0tLSAvZGV2L251bGwKKysrIGIvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vbm90
aW1wbGVtZW50L2V4dGNvbmYuaApAQCAtMCwwICsxLDMgQEAKKyNpZm5kZWYgRVhUQ09ORl9ICisj
ZGVmaW5lIEVYVENPTkZfSAorI2VuZGlmCmRpZmYgLS1naXQgYS9nZW5lcmF0ZWQvZXh0Ly10ZXN0
LS9udW0yaW50L2V4dGNvbmYuaCBiL2dlbmVyYXRlZC9leHQvLXRlc3QtL251bTJpbnQvZXh0Y29u
Zi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNkYTBjYzgKLS0tIC9kZXYv
bnVsbAorKysgYi9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS9udW0yaW50L2V4dGNvbmYuaApAQCAtMCww
ICsxLDMgQEAKKyNpZm5kZWYgRVhUQ09ORl9ICisjZGVmaW5lIEVYVENPTkZfSAorI2VuZGlmCmRp
ZmYgLS1naXQgYS9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS9wYXRoX3RvX2NsYXNzL2V4dGNvbmYuaCBi
L2dlbmVyYXRlZC9leHQvLXRlc3QtL3BhdGhfdG9fY2xhc3MvZXh0Y29uZi5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgyMWI0OTYKLS0tIC9kZXYvbnVsbAorKysgYi9nZW5l
cmF0ZWQvZXh0Ly10ZXN0LS9wYXRoX3RvX2NsYXNzL2V4dGNvbmYuaApAQCAtMCwwICsxLDQgQEAK
KyNpZm5kZWYgRVhUQ09ORl9ICisjZGVmaW5lIEVYVENPTkZfSAorI2RlZmluZSBURVNUX0lOSVRf
RlVOQ1MoWCkgWChwYXRoX3RvX2NsYXNzKQorI2VuZGlmCmRpZmYgLS1naXQgYS9nZW5lcmF0ZWQv
ZXh0Ly10ZXN0LS9wb3Blbl9kZWFkbG9jay9leHRjb25mLmggYi9nZW5lcmF0ZWQvZXh0Ly10ZXN0
LS9wb3Blbl9kZWFkbG9jay9leHRjb25mLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uY2RhMGNjOAotLS0gL2Rldi9udWxsCisrKyBiL2dlbmVyYXRlZC9leHQvLXRlc3QtL3Bv
cGVuX2RlYWRsb2NrL2V4dGNvbmYuaApAQCAtMCwwICsxLDMgQEAKKyNpZm5kZWYgRVhUQ09ORl9I
CisjZGVmaW5lIEVYVENPTkZfSAorI2VuZGlmCmRpZmYgLS1naXQgYS9nZW5lcmF0ZWQvZXh0Ly10
ZXN0LS9wb3N0cG9uZWRfam9iL2V4dGNvbmYuaCBiL2dlbmVyYXRlZC9leHQvLXRlc3QtL3Bvc3Rw
b25lZF9qb2IvZXh0Y29uZi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNk
YTBjYzgKLS0tIC9kZXYvbnVsbAorKysgYi9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS9wb3N0cG9uZWRf
am9iL2V4dGNvbmYuaApAQCAtMCwwICsxLDMgQEAKKyNpZm5kZWYgRVhUQ09ORl9ICisjZGVmaW5l
IEVYVENPTkZfSAorI2VuZGlmCmRpZmYgLS1naXQgYS9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS9wcmlu
dGYvZXh0Y29uZi5oIGIvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vcHJpbnRmL2V4dGNvbmYuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZGEwY2M4Ci0tLSAvZGV2L251bGwKKysr
IGIvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vcHJpbnRmL2V4dGNvbmYuaApAQCAtMCwwICsxLDMgQEAK
KyNpZm5kZWYgRVhUQ09ORl9ICisjZGVmaW5lIEVYVENPTkZfSAorI2VuZGlmCmRpZmYgLS1naXQg
YS9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS9wcm9jL2V4dGNvbmYuaCBiL2dlbmVyYXRlZC9leHQvLXRl
c3QtL3Byb2MvZXh0Y29uZi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBk
YWEyOWIKLS0tIC9kZXYvbnVsbAorKysgYi9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS9wcm9jL2V4dGNv
bmYuaApAQCAtMCwwICsxLDQgQEAKKyNpZm5kZWYgRVhUQ09ORl9ICisjZGVmaW5lIEVYVENPTkZf
SAorI2RlZmluZSBURVNUX0lOSVRfRlVOQ1MoWCkgWChyZWNlaXZlcikgWChzdXBlcikKKyNlbmRp
ZgpkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vcmF0aW9uYWwvZXh0Y29uZi5oIGIv
Z2VuZXJhdGVkL2V4dC8tdGVzdC0vcmF0aW9uYWwvZXh0Y29uZi5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLmViYjM2YzUKLS0tIC9kZXYvbnVsbAorKysgYi9nZW5lcmF0ZWQv
ZXh0Ly10ZXN0LS9yYXRpb25hbC9leHRjb25mLmgKQEAgLTAsMCArMSw0IEBACisjaWZuZGVmIEVY
VENPTkZfSAorI2RlZmluZSBFWFRDT05GX0gKKyNkZWZpbmUgVEVTVF9JTklUX0ZVTkNTKFgpIFgo
cmF0KQorI2VuZGlmCmRpZmYgLS1naXQgYS9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS9yZWN1cnNpb24v
ZXh0Y29uZi5oIGIvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vcmVjdXJzaW9uL2V4dGNvbmYuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZGEwY2M4Ci0tLSAvZGV2L251bGwKKysr
IGIvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vcmVjdXJzaW9uL2V4dGNvbmYuaApAQCAtMCwwICsxLDMg
QEAKKyNpZm5kZWYgRVhUQ09ORl9ICisjZGVmaW5lIEVYVENPTkZfSAorI2VuZGlmCmRpZmYgLS1n
aXQgYS9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS9yZWdleHAvZXh0Y29uZi5oIGIvZ2VuZXJhdGVkL2V4
dC8tdGVzdC0vcmVnZXhwL2V4dGNvbmYuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi45ODM0YmRjCi0tLSAvZGV2L251bGwKKysrIGIvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vcmVn
ZXhwL2V4dGNvbmYuaApAQCAtMCwwICsxLDQgQEAKKyNpZm5kZWYgRVhUQ09ORl9ICisjZGVmaW5l
IEVYVENPTkZfSAorI2RlZmluZSBURVNUX0lOSVRfRlVOQ1MoWCkgWChwYXJzZV9kZXB0aF9saW1p
dCkKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vc2Nhbl9hcmdzL2V4
dGNvbmYuaCBiL2dlbmVyYXRlZC9leHQvLXRlc3QtL3NjYW5fYXJncy9leHRjb25mLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2RhMGNjOAotLS0gL2Rldi9udWxsCisrKyBi
L2dlbmVyYXRlZC9leHQvLXRlc3QtL3NjYW5fYXJncy9leHRjb25mLmgKQEAgLTAsMCArMSwzIEBA
CisjaWZuZGVmIEVYVENPTkZfSAorI2RlZmluZSBFWFRDT05GX0gKKyNlbmRpZgpkaWZmIC0tZ2l0
IGEvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vc3QvZm9yZWFjaC9leHRjb25mLmggYi9nZW5lcmF0ZWQv
ZXh0Ly10ZXN0LS9zdC9mb3JlYWNoL2V4dGNvbmYuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi5jZGEwY2M4Ci0tLSAvZGV2L251bGwKKysrIGIvZ2VuZXJhdGVkL2V4dC8tdGVz
dC0vc3QvZm9yZWFjaC9leHRjb25mLmgKQEAgLTAsMCArMSwzIEBACisjaWZuZGVmIEVYVENPTkZf
SAorI2RlZmluZSBFWFRDT05GX0gKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2V4dC8t
dGVzdC0vc3QvbnVtaGFzaC9leHRjb25mLmggYi9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS9zdC9udW1o
YXNoL2V4dGNvbmYuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZGEwY2M4
Ci0tLSAvZGV2L251bGwKKysrIGIvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vc3QvbnVtaGFzaC9leHRj
b25mLmgKQEAgLTAsMCArMSwzIEBACisjaWZuZGVmIEVYVENPTkZfSAorI2RlZmluZSBFWFRDT05G
X0gKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vc3QvdXBkYXRlL2V4
dGNvbmYuaCBiL2dlbmVyYXRlZC9leHQvLXRlc3QtL3N0L3VwZGF0ZS9leHRjb25mLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2RhMGNjOAotLS0gL2Rldi9udWxsCisrKyBi
L2dlbmVyYXRlZC9leHQvLXRlc3QtL3N0L3VwZGF0ZS9leHRjb25mLmgKQEAgLTAsMCArMSwzIEBA
CisjaWZuZGVmIEVYVENPTkZfSAorI2RlZmluZSBFWFRDT05GX0gKKyNlbmRpZgpkaWZmIC0tZ2l0
IGEvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vc3RyaW5nL2V4dGNvbmYuaCBiL2dlbmVyYXRlZC9leHQv
LXRlc3QtL3N0cmluZy9leHRjb25mLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uM2Y5YWY0NAotLS0gL2Rldi9udWxsCisrKyBiL2dlbmVyYXRlZC9leHQvLXRlc3QtL3N0cmlu
Zy9leHRjb25mLmgKQEAgLTAsMCArMSw0IEBACisjaWZuZGVmIEVYVENPTkZfSAorI2RlZmluZSBF
WFRDT05GX0gKKyNkZWZpbmUgVEVTVF9JTklUX0ZVTkNTKFgpIFgoc2V0X2xlbikgWChjYXBhY2l0
eSkgWChyYl9zdHJfZHVwKSBYKG5vcm1hbGl6ZSkgWChlbmNfc3RyX2J1Zl9jYXQpIFgoY29kZXJh
bmdlKSBYKGVuY19hc3NvY2lhdGUpIFgoZWxsaXBzaXplKSBYKGNzdHIpIFgoZnN0cmluZykgWChu
b2ZyZWUpIFgocXNvcnQpIFgobmV3KSBYKG1vZGlmeSkKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvZ2Vu
ZXJhdGVkL2V4dC8tdGVzdC0vc3RydWN0L2V4dGNvbmYuaCBiL2dlbmVyYXRlZC9leHQvLXRlc3Qt
L3N0cnVjdC9leHRjb25mLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDYz
OTJkYwotLS0gL2Rldi9udWxsCisrKyBiL2dlbmVyYXRlZC9leHQvLXRlc3QtL3N0cnVjdC9leHRj
b25mLmgKQEAgLTAsMCArMSw0IEBACisjaWZuZGVmIEVYVENPTkZfSAorI2RlZmluZSBFWFRDT05G
X0gKKyNkZWZpbmUgVEVTVF9JTklUX0ZVTkNTKFgpIFgobWVtYmVyKSBYKGR1cGxpY2F0ZSkgWChs
ZW4pCisjZW5kaWYKZGlmZiAtLWdpdCBhL2dlbmVyYXRlZC9leHQvLXRlc3QtL3N5bWJvbC9leHRj
b25mLmggYi9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS9zeW1ib2wvZXh0Y29uZi5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNiOTIzZGMKLS0tIC9kZXYvbnVsbAorKysgYi9nZW5l
cmF0ZWQvZXh0Ly10ZXN0LS9zeW1ib2wvZXh0Y29uZi5oCkBAIC0wLDAgKzEsNCBAQAorI2lmbmRl
ZiBFWFRDT05GX0gKKyNkZWZpbmUgRVhUQ09ORl9ICisjZGVmaW5lIFRFU1RfSU5JVF9GVU5DUyhY
KSBYKHR5cGUpCisjZW5kaWYKZGlmZiAtLWdpdCBhL2dlbmVyYXRlZC9leHQvLXRlc3QtL3RocmVh
ZF9mZF9jbG9zZS9leHRjb25mLmggYi9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS90aHJlYWRfZmRfY2xv
c2UvZXh0Y29uZi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNkYTBjYzgK
LS0tIC9kZXYvbnVsbAorKysgYi9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS90aHJlYWRfZmRfY2xvc2Uv
ZXh0Y29uZi5oCkBAIC0wLDAgKzEsMyBAQAorI2lmbmRlZiBFWFRDT05GX0gKKyNkZWZpbmUgRVhU
Q09ORl9ICisjZW5kaWYKZGlmZiAtLWdpdCBhL2dlbmVyYXRlZC9leHQvLXRlc3QtL3RpbWUvZXh0
Y29uZi5oIGIvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vdGltZS9leHRjb25mLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjY3N2EwZAotLS0gL2Rldi9udWxsCisrKyBiL2dlbmVy
YXRlZC9leHQvLXRlc3QtL3RpbWUvZXh0Y29uZi5oCkBAIC0wLDAgKzEsNCBAQAorI2lmbmRlZiBF
WFRDT05GX0gKKyNkZWZpbmUgRVhUQ09ORl9ICisjZGVmaW5lIFRFU1RfSU5JVF9GVU5DUyhYKSBY
KGxlYXBfc2Vjb25kKSBYKG5ldykKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2V4dC8t
dGVzdC0vdHJhY2Vwb2ludC9leHRjb25mLmggYi9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS90cmFjZXBv
aW50L2V4dGNvbmYuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZGEwY2M4
Ci0tLSAvZGV2L251bGwKKysrIGIvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vdHJhY2Vwb2ludC9leHRj
b25mLmgKQEAgLTAsMCArMSwzIEBACisjaWZuZGVmIEVYVENPTkZfSAorI2RlZmluZSBFWFRDT05G
X0gKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vdHlwZWRkYXRhL2V4
dGNvbmYuaCBiL2dlbmVyYXRlZC9leHQvLXRlc3QtL3R5cGVkZGF0YS9leHRjb25mLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2RhMGNjOAotLS0gL2Rldi9udWxsCisrKyBi
L2dlbmVyYXRlZC9leHQvLXRlc3QtL3R5cGVkZGF0YS9leHRjb25mLmgKQEAgLTAsMCArMSwzIEBA
CisjaWZuZGVmIEVYVENPTkZfSAorI2RlZmluZSBFWFRDT05GX0gKKyNlbmRpZgpkaWZmIC0tZ2l0
IGEvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vdm0vZXh0Y29uZi5oIGIvZ2VuZXJhdGVkL2V4dC8tdGVz
dC0vdm0vZXh0Y29uZi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNkYTBj
YzgKLS0tIC9kZXYvbnVsbAorKysgYi9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS92bS9leHRjb25mLmgK
QEAgLTAsMCArMSwzIEBACisjaWZuZGVmIEVYVENPTkZfSAorI2RlZmluZSBFWFRDT05GX0gKKyNl
bmRpZgpkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vd2FpdF9mb3Jfc2luZ2xlX2Zk
L2V4dGNvbmYuaCBiL2dlbmVyYXRlZC9leHQvLXRlc3QtL3dhaXRfZm9yX3NpbmdsZV9mZC9leHRj
b25mLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODk3YjMyNQotLS0gL2Rl
di9udWxsCisrKyBiL2dlbmVyYXRlZC9leHQvLXRlc3QtL3dhaXRfZm9yX3NpbmdsZV9mZC9leHRj
b25mLmgKQEAgLTAsMCArMSw1IEBACisjaWZuZGVmIEVYVENPTkZfSAorI2RlZmluZSBFWFRDT05G
X0gKKyNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCisjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAx
CisjZW5kaWYKZGlmZiAtLWdpdCBhL2dlbmVyYXRlZC9leHQvYmlnZGVjaW1hbC9leHRjb25mLmgg
Yi9nZW5lcmF0ZWQvZXh0L2JpZ2RlY2ltYWwvZXh0Y29uZi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLjYyOGVjMjIKLS0tIC9kZXYvbnVsbAorKysgYi9nZW5lcmF0ZWQvZXh0
L2JpZ2RlY2ltYWwvZXh0Y29uZi5oCkBAIC0wLDAgKzEsMTIgQEAKKyNpZm5kZWYgRVhUQ09ORl9I
CisjZGVmaW5lIEVYVENPTkZfSAorI2RlZmluZSBSVUJZX0JJR0RFQ0lNQUxfVkVSU0lPTiAiMS40
LjEiCisjZGVmaW5lIEhBVkVfTEFCUyAxCisjZGVmaW5lIEhBVkVfTExBQlMgMQorI2RlZmluZSBI
QVZFX0ZJTklURSAxCisjZGVmaW5lIEhBVkVfUkJfUkFUSU9OQUxfTlVNIDEKKyNkZWZpbmUgSEFW
RV9SQl9SQVRJT05BTF9ERU4gMQorI2RlZmluZSBIQVZFX1JCX0FSUkFZX0NPTlNUX1BUUiAxCisj
ZGVmaW5lIEhBVkVfUkJfU1lNMlNUUiAxCisjZGVmaW5lIFJVQllfRVhQT1JUIDEKKyNlbmRpZgpk
aWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2V4dC9iaWdkZWNpbWFsL3V0aWwvZXh0Y29uZi5oIGIvZ2Vu
ZXJhdGVkL2V4dC9iaWdkZWNpbWFsL3V0aWwvZXh0Y29uZi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLjA3OTVlM2QKLS0tIC9kZXYvbnVsbAorKysgYi9nZW5lcmF0ZWQvZXh0
L2JpZ2RlY2ltYWwvdXRpbC9leHRjb25mLmgKQEAgLTAsMCArMSw0IEBACisjaWZuZGVmIEVYVENP
TkZfSAorI2RlZmluZSBFWFRDT05GX0gKKyNkZWZpbmUgUlVCWV9FWFBPUlQgMQorI2VuZGlmCmRp
ZmYgLS1naXQgYS9nZW5lcmF0ZWQvZXh0L2NnaS9lc2NhcGUvZXh0Y29uZi5oIGIvZ2VuZXJhdGVk
L2V4dC9jZ2kvZXNjYXBlL2V4dGNvbmYuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi4wNzk1ZTNkCi0tLSAvZGV2L251bGwKKysrIGIvZ2VuZXJhdGVkL2V4dC9jZ2kvZXNjYXBl
L2V4dGNvbmYuaApAQCAtMCwwICsxLDQgQEAKKyNpZm5kZWYgRVhUQ09ORl9ICisjZGVmaW5lIEVY
VENPTkZfSAorI2RlZmluZSBSVUJZX0VYUE9SVCAxCisjZW5kaWYKZGlmZiAtLWdpdCBhL2dlbmVy
YXRlZC9leHQvY29udGludWF0aW9uL2V4dGNvbmYuaCBiL2dlbmVyYXRlZC9leHQvY29udGludWF0
aW9uL2V4dGNvbmYuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNzk1ZTNk
Ci0tLSAvZGV2L251bGwKKysrIGIvZ2VuZXJhdGVkL2V4dC9jb250aW51YXRpb24vZXh0Y29uZi5o
CkBAIC0wLDAgKzEsNCBAQAorI2lmbmRlZiBFWFRDT05GX0gKKyNkZWZpbmUgRVhUQ09ORl9ICisj
ZGVmaW5lIFJVQllfRVhQT1JUIDEKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2V4dC9j
b3ZlcmFnZS9leHRjb25mLmggYi9nZW5lcmF0ZWQvZXh0L2NvdmVyYWdlL2V4dGNvbmYuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNzk1ZTNkCi0tLSAvZGV2L251bGwKKysr
IGIvZ2VuZXJhdGVkL2V4dC9jb3ZlcmFnZS9leHRjb25mLmgKQEAgLTAsMCArMSw0IEBACisjaWZu
ZGVmIEVYVENPTkZfSAorI2RlZmluZSBFWFRDT05GX0gKKyNkZWZpbmUgUlVCWV9FWFBPUlQgMQor
I2VuZGlmCmRpZmYgLS1naXQgYS9nZW5lcmF0ZWQvZXh0L2RhdGUvZXh0Y29uZi5oIGIvZ2VuZXJh
dGVkL2V4dC9kYXRlL2V4dGNvbmYuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li5jZDg5NTY2Ci0tLSAvZGV2L251bGwKKysrIGIvZ2VuZXJhdGVkL2V4dC9kYXRlL2V4dGNvbmYu
aApAQCAtMCwwICsxLDUgQEAKKyNpZm5kZWYgRVhUQ09ORl9ICisjZGVmaW5lIEVYVENPTkZfSAor
I2RlZmluZSBIQVZFX1RJTUVaT05FIDEKKyNkZWZpbmUgUlVCWV9FWFBPUlQgMQorI2VuZGlmCmRp
ZmYgLS1naXQgYS9nZW5lcmF0ZWQvZXh0L2RpZ2VzdC9idWJibGViYWJibGUvZXh0Y29uZi5oIGIv
Z2VuZXJhdGVkL2V4dC9kaWdlc3QvYnViYmxlYmFiYmxlL2V4dGNvbmYuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi41NmM0MTg2Ci0tLSAvZGV2L251bGwKKysrIGIvZ2VuZXJh
dGVkL2V4dC9kaWdlc3QvYnViYmxlYmFiYmxlL2V4dGNvbmYuaApAQCAtMCwwICsxLDUgQEAKKyNp
Zm5kZWYgRVhUQ09ORl9ICisjZGVmaW5lIEVYVENPTkZfSAorI2RlZmluZSBIQVZFX0NPTkZJR19I
IDEKKyNkZWZpbmUgUlVCWV9FWFBPUlQgMQorI2VuZGlmCmRpZmYgLS1naXQgYS9nZW5lcmF0ZWQv
ZXh0L2RpZ2VzdC9leHRjb25mLmggYi9nZW5lcmF0ZWQvZXh0L2RpZ2VzdC9leHRjb25mLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDc5NWUzZAotLS0gL2Rldi9udWxsCisr
KyBiL2dlbmVyYXRlZC9leHQvZGlnZXN0L2V4dGNvbmYuaApAQCAtMCwwICsxLDQgQEAKKyNpZm5k
ZWYgRVhUQ09ORl9ICisjZGVmaW5lIEVYVENPTkZfSAorI2RlZmluZSBSVUJZX0VYUE9SVCAxCisj
ZW5kaWYKZGlmZiAtLWdpdCBhL2dlbmVyYXRlZC9leHQvZGlnZXN0L21kNS9leHRjb25mLmggYi9n
ZW5lcmF0ZWQvZXh0L2RpZ2VzdC9tZDUvZXh0Y29uZi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLmI3YjdlNWUKLS0tIC9kZXYvbnVsbAorKysgYi9nZW5lcmF0ZWQvZXh0L2Rp
Z2VzdC9tZDUvZXh0Y29uZi5oCkBAIC0wLDAgKzEsMTAgQEAKKyNpZm5kZWYgRVhUQ09ORl9ICisj
ZGVmaW5lIEVYVENPTkZfSAorI2RlZmluZSBIQVZFX0NPTkZJR19IIDEKKyNkZWZpbmUgSEFWRV9P
UEVOU1NMX1NTTF9IIDEKKyNkZWZpbmUgSEFWRV9NRDVfVFJBTlNGT1JNIDEKKyNkZWZpbmUgSEFW
RV9UWVBFX01ENV9DVFggMQorI2RlZmluZSBNRDVfVVNFX09QRU5TU0wgMQorI2RlZmluZSBIQVZF
X1NZU19DREVGU19IIDEKKyNkZWZpbmUgUlVCWV9FWFBPUlQgMQorI2VuZGlmCmRpZmYgLS1naXQg
YS9nZW5lcmF0ZWQvZXh0L2RpZ2VzdC9ybWQxNjAvZXh0Y29uZi5oIGIvZ2VuZXJhdGVkL2V4dC9k
aWdlc3Qvcm1kMTYwL2V4dGNvbmYuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li5jNDNiZjNlCi0tLSAvZGV2L251bGwKKysrIGIvZ2VuZXJhdGVkL2V4dC9kaWdlc3Qvcm1kMTYw
L2V4dGNvbmYuaApAQCAtMCwwICsxLDExIEBACisjaWZuZGVmIEVYVENPTkZfSAorI2RlZmluZSBF
WFRDT05GX0gKKyNkZWZpbmUgTkRFQlVHIDEKKyNkZWZpbmUgSEFWRV9DT05GSUdfSCAxCisjZGVm
aW5lIEhBVkVfT1BFTlNTTF9TU0xfSCAxCisjZGVmaW5lIEhBVkVfUklQRU1EMTYwX1RSQU5TRk9S
TSAxCisjZGVmaW5lIEhBVkVfVFlQRV9SSVBFTUQxNjBfQ1RYIDEKKyNkZWZpbmUgUk1EMTYwX1VT
RV9PUEVOU1NMIDEKKyNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCisjZGVmaW5lIFJVQllfRVhQ
T1JUIDEKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2V4dC9kaWdlc3Qvc2hhMS9leHRj
b25mLmggYi9nZW5lcmF0ZWQvZXh0L2RpZ2VzdC9zaGExL2V4dGNvbmYuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMzFiMTNjCi0tLSAvZGV2L251bGwKKysrIGIvZ2VuZXJh
dGVkL2V4dC9kaWdlc3Qvc2hhMS9leHRjb25mLmgKQEAgLTAsMCArMSwxMCBAQAorI2lmbmRlZiBF
WFRDT05GX0gKKyNkZWZpbmUgRVhUQ09ORl9ICisjZGVmaW5lIEhBVkVfQ09ORklHX0ggMQorI2Rl
ZmluZSBIQVZFX09QRU5TU0xfU1NMX0ggMQorI2RlZmluZSBIQVZFX1NIQTFfVFJBTlNGT1JNIDEK
KyNkZWZpbmUgSEFWRV9UWVBFX1NIQV9DVFggMQorI2RlZmluZSBTSEExX1VTRV9PUEVOU1NMIDEK
KyNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCisjZGVmaW5lIFJVQllfRVhQT1JUIDEKKyNlbmRp
ZgpkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2V4dC9kaWdlc3Qvc2hhMi9leHRjb25mLmggYi9nZW5l
cmF0ZWQvZXh0L2RpZ2VzdC9zaGEyL2V4dGNvbmYuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi5lNjc4OTU0Ci0tLSAvZGV2L251bGwKKysrIGIvZ2VuZXJhdGVkL2V4dC9kaWdl
c3Qvc2hhMi9leHRjb25mLmgKQEAgLTAsMCArMSwxMiBAQAorI2lmbmRlZiBFWFRDT05GX0gKKyNk
ZWZpbmUgRVhUQ09ORl9ICisjZGVmaW5lIEhBVkVfQ09ORklHX0ggMQorI2RlZmluZSBIQVZFX09Q
RU5TU0xfU1NMX0ggMQorI2RlZmluZSBIQVZFX1NIQTI1Nl9UUkFOU0ZPUk0gMQorI2RlZmluZSBI
QVZFX1NIQTUxMl9UUkFOU0ZPUk0gMQorI2RlZmluZSBIQVZFX1RZUEVfU0hBMjU2X0NUWCAxCisj
ZGVmaW5lIEhBVkVfVFlQRV9TSEE1MTJfQ1RYIDEKKyNkZWZpbmUgU0hBMl9VU0VfT1BFTlNTTCAx
CisjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQorI2RlZmluZSBSVUJZX0VYUE9SVCAxCisjZW5k
aWYKZGlmZiAtLWdpdCBhL2dlbmVyYXRlZC9leHQvZXRjL2V4dGNvbmYuaCBiL2dlbmVyYXRlZC9l
eHQvZXRjL2V4dGNvbmYuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNDUz
ODY2Ci0tLSAvZGV2L251bGwKKysrIGIvZ2VuZXJhdGVkL2V4dC9ldGMvZXh0Y29uZi5oCkBAIC0w
LDAgKzEsMTkgQEAKKyNpZm5kZWYgRVhUQ09ORl9ICisjZGVmaW5lIEVYVENPTkZfSAorI2RlZmlu
ZSBIQVZFX1NZU19VVFNOQU1FX0ggMQorI2RlZmluZSBIQVZFX1VOQU1FIDEKKyNkZWZpbmUgSEFW
RV9HRVRMT0dJTiAxCisjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQorI2RlZmluZSBIQVZFX0dFVEdS
RU5UIDEKKyNkZWZpbmUgU1lTQ09ORkRJUiAiL2hvbWUvd29sZi9uZnYvZGV2L3VuaWtyYWZ0L2Fw
cHMvdWt1dGVzdC5naXQvYnVpbGQvbGlicnVieS9vcmlnaW4vcnVieS1ydWJ5XzJfNi9kaXN0L2V0
YyIKKyNkZWZpbmUgSEFWRV9TWVNDT05GIDEKKyNkZWZpbmUgSEFWRV9DT05GU1RSIDEKKyNkZWZp
bmUgSEFWRV9GUEFUSENPTkYgMQorI2RlZmluZSBIQVZFX1NUUlVDVF9QQVNTV0RfUFdfR0VDT1Mg
MQorI2RlZmluZSBIQVZFX1NUX1BXX0dFQ09TIDEKKyNkZWZpbmUgSEFWRV9TVFJVQ1RfUEFTU1dE
X1BXX1BBU1NXRCAxCisjZGVmaW5lIEhBVkVfU1RfUFdfUEFTU1dEIDEKKyNkZWZpbmUgSEFWRV9T
VFJVQ1RfR1JPVVBfR1JfUEFTU1dEIDEKKyNkZWZpbmUgSEFWRV9TVF9HUl9QQVNTV0QgMQorI2Rl
ZmluZSBSVUJZX0VYUE9SVCAxCisjZW5kaWYKZGlmZiAtLWdpdCBhL2dlbmVyYXRlZC9leHQvZXh0
aW5pdC5jIGIvZ2VuZXJhdGVkL2V4dC9leHRpbml0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uNDkyYTkzMwotLS0gL2Rldi9udWxsCisrKyBiL2dlbmVyYXRlZC9leHQvZXh0
aW5pdC5jCkBAIC0wLDAgKzEsNDggQEAKKyNpbmNsdWRlICJydWJ5L3J1YnkuaCIKKworI2RlZmlu
ZSBpbml0KGZ1bmMsIG5hbWUpIHsJXAorICAgIGV4dGVybiB2b2lkIGZ1bmModm9pZCk7CVwKKyAg
ICBydWJ5X2luaXRfZXh0KG5hbWUiLnNvIiwgZnVuYyk7IFwKK30KKwordm9pZCBydWJ5X2luaXRf
ZXh0KGNvbnN0IGNoYXIgKm5hbWUsIHZvaWQgKCppbml0KSh2b2lkKSk7CisKK3ZvaWQgSW5pdF9l
eHQodm9pZCkKK3sKKyAgICBpbml0KEluaXRfc3Ryc2NhbiwgInN0cnNjYW4iKTsKKyAgICBpbml0
KEluaXRfc3lzbG9nLCAic3lzbG9nIik7CisgICAgaW5pdChJbml0X2dlbmVyYXRvciwgImpzb24v
ZXh0L2dlbmVyYXRvciIpOworICAgIGluaXQoSW5pdF9wYXJzZXIsICJqc29uL2V4dC9wYXJzZXIi
KTsKKyAgICBpbml0KEluaXRfc2l6ZW9mLCAicmJjb25maWcvc2l6ZW9mIik7CisgICAgaW5pdChJ
bml0X2JpZ2RlY2ltYWwsICJiaWdkZWNpbWFsIik7CisgICAgaW5pdChJbml0X3V0aWwsICJiaWdk
ZWNpbWFsL3V0aWwiKTsKKyAgICBpbml0KEluaXRfY3BhcnNlLCAicmFjYy9jcGFyc2UiKTsKKyAg
ICBpbml0KEluaXRfZGlnZXN0LCAiZGlnZXN0Iik7CisgICAgaW5pdChJbml0X2J1YmJsZWJhYmJs
ZSwgImRpZ2VzdC9idWJibGViYWJibGUiKTsKKyAgICBpbml0KEluaXRfbWQ1LCAiZGlnZXN0L21k
NSIpOworICAgIGluaXQoSW5pdF9ybWQxNjAsICJkaWdlc3Qvcm1kMTYwIik7CisgICAgaW5pdChJ
bml0X3NoYTEsICJkaWdlc3Qvc2hhMSIpOworICAgIGluaXQoSW5pdF9zaGEyLCAiZGlnZXN0L3No
YTIiKTsKKyAgICBpbml0KEluaXRfcHN5Y2gsICJwc3ljaCIpOworICAgIGluaXQoSW5pdF9lc2Nh
cGUsICJjZ2kvZXNjYXBlIik7CisgICAgaW5pdChJbml0X2ZjbnRsLCAiZmNudGwiKTsKKyAgICBp
bml0KEluaXRfc3RyaW5naW8sICJzdHJpbmdpbyIpOworICAgIGluaXQoSW5pdF9zb2NrZXQsICJz
b2NrZXQiKTsKKyAgICBpbml0KEluaXRfcGF0aG5hbWUsICJwYXRobmFtZSIpOworICAgIGluaXQo
SW5pdF9kYXRlX2NvcmUsICJkYXRlX2NvcmUiKTsKKyAgICBpbml0KEluaXRfcHR5LCAicHR5Iik7
CisgICAgaW5pdChJbml0X29wZW5zc2wsICJvcGVuc3NsIik7CisgICAgaW5pdChJbml0X2ZpYmVy
LCAiZmliZXIiKTsKKyAgICBpbml0KEluaXRfZmlkZGxlLCAiZmlkZGxlIik7CisgICAgaW5pdChJ
bml0X2V0YywgImV0YyIpOworICAgIGluaXQoSW5pdF9jb250aW51YXRpb24sICJjb250aW51YXRp
b24iKTsKKyAgICBpbml0KEluaXRfb2Jqc3BhY2UsICJvYmpzcGFjZSIpOworICAgIGluaXQoSW5p
dF9jb3ZlcmFnZSwgImNvdmVyYWdlIik7CisgICAgaW5pdChJbml0X2NvbnNvbGUsICJpby9jb25z
b2xlIik7CisgICAgaW5pdChJbml0X25vbmJsb2NrLCAiaW8vbm9uYmxvY2siKTsKKyAgICBpbml0
KEluaXRfd2FpdCwgImlvL3dhaXQiKTsKKyAgICBpbml0KEluaXRfcmlwcGVyLCAicmlwcGVyIik7
CisgICAgaW5pdChJbml0X25rZiwgIm5rZiIpOworICAgIGluaXQoSW5pdF96bGliLCAiemxpYiIp
OworICAgIGluaXQoSW5pdF9zZGJtLCAic2RibSIpOworfQpkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVk
L2V4dC9mY250bC9leHRjb25mLmggYi9nZW5lcmF0ZWQvZXh0L2ZjbnRsL2V4dGNvbmYuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNzk1ZTNkCi0tLSAvZGV2L251bGwKKysr
IGIvZ2VuZXJhdGVkL2V4dC9mY250bC9leHRjb25mLmgKQEAgLTAsMCArMSw0IEBACisjaWZuZGVm
IEVYVENPTkZfSAorI2RlZmluZSBFWFRDT05GX0gKKyNkZWZpbmUgUlVCWV9FWFBPUlQgMQorI2Vu
ZGlmCmRpZmYgLS1naXQgYS9nZW5lcmF0ZWQvZXh0L2ZpYmVyL2V4dGNvbmYuaCBiL2dlbmVyYXRl
ZC9leHQvZmliZXIvZXh0Y29uZi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LjA3OTVlM2QKLS0tIC9kZXYvbnVsbAorKysgYi9nZW5lcmF0ZWQvZXh0L2ZpYmVyL2V4dGNvbmYu
aApAQCAtMCwwICsxLDQgQEAKKyNpZm5kZWYgRVhUQ09ORl9ICisjZGVmaW5lIEVYVENPTkZfSAor
I2RlZmluZSBSVUJZX0VYUE9SVCAxCisjZW5kaWYKZGlmZiAtLWdpdCBhL2dlbmVyYXRlZC9leHQv
ZmlkZGxlL2V4dGNvbmYuaCBiL2dlbmVyYXRlZC9leHQvZmlkZGxlL2V4dGNvbmYuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNTMzMmRiCi0tLSAvZGV2L251bGwKKysrIGIv
Z2VuZXJhdGVkL2V4dC9maWRkbGUvZXh0Y29uZi5oCkBAIC0wLDAgKzEsMTQgQEAKKyNpZm5kZWYg
RVhUQ09ORl9ICisjZGVmaW5lIEVYVENPTkZfSAorI2RlZmluZSBIQVZFX0ZGSV9IIDEKKyNkZWZp
bmUgUlVCWV9MSUJGRklfTU9EVkVSU0lPTiAzMDAyMDAxCisjZGVmaW5lIEhBVkVfU1lTX01NQU5f
SCAxCisjZGVmaW5lIEhBVkVfRExGQ05fSCAxCisjZGVmaW5lIEhBVkVfRExPUEVOIDEKKyNkZWZp
bmUgSEFWRV9ETENMT1NFIDEKKyNkZWZpbmUgSEFWRV9ETFNZTSAxCisjZGVmaW5lIEhBVkVfRExF
UlJPUiAxCisjZGVmaW5lIEhBVkVfQ09OU1RfRkZJX1NURENBTEwgMQorI2RlZmluZSBTSUdORURO
RVNTX09GX1NJWkVfVCArMQorI2RlZmluZSBSVUJZX0VYUE9SVCAxCisjZW5kaWYKZGlmZiAtLWdp
dCBhL2dlbmVyYXRlZC9leHQvaW8vY29uc29sZS9leHRjb25mLmggYi9nZW5lcmF0ZWQvZXh0L2lv
L2NvbnNvbGUvZXh0Y29uZi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM0
YmExMmEKLS0tIC9kZXYvbnVsbAorKysgYi9nZW5lcmF0ZWQvZXh0L2lvL2NvbnNvbGUvZXh0Y29u
Zi5oCkBAIC0wLDAgKzEsOCBAQAorI2lmbmRlZiBFWFRDT05GX0gKKyNkZWZpbmUgRVhUQ09ORl9I
CisjZGVmaW5lIEhBVkVfVEVSTUlPU19IIDEKKyNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQorI2Rl
ZmluZSBIQVZFX1NZU19JT0NUTF9IIDEKKyNkZWZpbmUgRU5BQkxFX0lPX0dFVFBBU1MgMQorI2Rl
ZmluZSBSVUJZX0VYUE9SVCAxCisjZW5kaWYKZGlmZiAtLWdpdCBhL2dlbmVyYXRlZC9leHQvaW8v
bm9uYmxvY2svZXh0Y29uZi5oIGIvZ2VuZXJhdGVkL2V4dC9pby9ub25ibG9jay9leHRjb25mLmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDc5NWUzZAotLS0gL2Rldi9udWxs
CisrKyBiL2dlbmVyYXRlZC9leHQvaW8vbm9uYmxvY2svZXh0Y29uZi5oCkBAIC0wLDAgKzEsNCBA
QAorI2lmbmRlZiBFWFRDT05GX0gKKyNkZWZpbmUgRVhUQ09ORl9ICisjZGVmaW5lIFJVQllfRVhQ
T1JUIDEKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2V4dC9pby93YWl0L2V4dGNvbmYu
aCBiL2dlbmVyYXRlZC9leHQvaW8vd2FpdC9leHRjb25mLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uYjdiOTM4MAotLS0gL2Rldi9udWxsCisrKyBiL2dlbmVyYXRlZC9leHQv
aW8vd2FpdC9leHRjb25mLmgKQEAgLTAsMCArMSw2IEBACisjaWZuZGVmIEVYVENPTkZfSAorI2Rl
ZmluZSBFWFRDT05GX0gKKyNkZWZpbmUgSEFWRV9TWVNfSU9DVExfSCAxCisjZGVmaW5lIEZJT05S
RUFEX0hFQURFUiA8c3lzL2lvY3RsLmg+CisjZGVmaW5lIFJVQllfRVhQT1JUIDEKKyNlbmRpZgpk
aWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2V4dC9qc29uL2V4dGNvbmYuaCBiL2dlbmVyYXRlZC9leHQv
anNvbi9leHRjb25mLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDc5NWUz
ZAotLS0gL2Rldi9udWxsCisrKyBiL2dlbmVyYXRlZC9leHQvanNvbi9leHRjb25mLmgKQEAgLTAs
MCArMSw0IEBACisjaWZuZGVmIEVYVENPTkZfSAorI2RlZmluZSBFWFRDT05GX0gKKyNkZWZpbmUg
UlVCWV9FWFBPUlQgMQorI2VuZGlmCmRpZmYgLS1naXQgYS9nZW5lcmF0ZWQvZXh0L2pzb24vZ2Vu
ZXJhdG9yL2V4dGNvbmYuaCBiL2dlbmVyYXRlZC9leHQvanNvbi9nZW5lcmF0b3IvZXh0Y29uZi5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUxZTg3Y2UKLS0tIC9kZXYvbnVs
bAorKysgYi9nZW5lcmF0ZWQvZXh0L2pzb24vZ2VuZXJhdG9yL2V4dGNvbmYuaApAQCAtMCwwICsx
LDUgQEAKKyNpZm5kZWYgRVhUQ09ORl9ICisjZGVmaW5lIEVYVENPTkZfSAorI2RlZmluZSBKU09O
X0dFTkVSQVRPUiAxCisjZGVmaW5lIFJVQllfRVhQT1JUIDEKKyNlbmRpZgpkaWZmIC0tZ2l0IGEv
Z2VuZXJhdGVkL2V4dC9qc29uL3BhcnNlci9leHRjb25mLmggYi9nZW5lcmF0ZWQvZXh0L2pzb24v
cGFyc2VyL2V4dGNvbmYuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MDBk
YzhiCi0tLSAvZGV2L251bGwKKysrIGIvZ2VuZXJhdGVkL2V4dC9qc29uL3BhcnNlci9leHRjb25m
LmgKQEAgLTAsMCArMSw1IEBACisjaWZuZGVmIEVYVENPTkZfSAorI2RlZmluZSBFWFRDT05GX0gK
KyNkZWZpbmUgSEFWRV9SQl9FTkNfUkFJU0UgMQorI2RlZmluZSBSVUJZX0VYUE9SVCAxCisjZW5k
aWYKZGlmZiAtLWdpdCBhL2dlbmVyYXRlZC9leHQvbmtmL2V4dGNvbmYuaCBiL2dlbmVyYXRlZC9l
eHQvbmtmL2V4dGNvbmYuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNzk1
ZTNkCi0tLSAvZGV2L251bGwKKysrIGIvZ2VuZXJhdGVkL2V4dC9ua2YvZXh0Y29uZi5oCkBAIC0w
LDAgKzEsNCBAQAorI2lmbmRlZiBFWFRDT05GX0gKKyNkZWZpbmUgRVhUQ09ORl9ICisjZGVmaW5l
IFJVQllfRVhQT1JUIDEKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2V4dC9vYmpzcGFj
ZS9leHRjb25mLmggYi9nZW5lcmF0ZWQvZXh0L29ianNwYWNlL2V4dGNvbmYuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNzk1ZTNkCi0tLSAvZGV2L251bGwKKysrIGIvZ2Vu
ZXJhdGVkL2V4dC9vYmpzcGFjZS9leHRjb25mLmgKQEAgLTAsMCArMSw0IEBACisjaWZuZGVmIEVY
VENPTkZfSAorI2RlZmluZSBFWFRDT05GX0gKKyNkZWZpbmUgUlVCWV9FWFBPUlQgMQorI2VuZGlm
CmRpZmYgLS1naXQgYS9nZW5lcmF0ZWQvZXh0L29wZW5zc2wvZXh0Y29uZi5oIGIvZ2VuZXJhdGVk
L2V4dC9vcGVuc3NsL2V4dGNvbmYuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li4xYjViMzgwCi0tLSAvZGV2L251bGwKKysrIGIvZ2VuZXJhdGVkL2V4dC9vcGVuc3NsL2V4dGNv
bmYuaApAQCAtMCwwICsxLDQ2IEBACisjaWZuZGVmIEVYVENPTkZfSAorI2RlZmluZSBFWFRDT05G
X0gKKyNkZWZpbmUgSEFWRV9PUEVOU1NMX1NTTF9IIDEKKyNkZWZpbmUgSEFWRV9FTkdJTkVfTE9B
RF9CVUlMVElOX0VOR0lORVMgMQorI2RlZmluZSBIQVZFX0VOR0lORV9MT0FEX0RZTkFNSUMgMQor
I2RlZmluZSBIQVZFX0VOR0lORV9MT0FEX0NSWVBUT0RFViAxCisjZGVmaW5lIEhBVkVfRUNfQ1VS
VkVfTklTVDJOSUQgMQorI2RlZmluZSBIQVZFX1g1MDlfUkVWT0tFRF9EVVAgMQorI2RlZmluZSBI
QVZFX1g1MDlfU1RPUkVfQ1RYX0dFVDBfU1RPUkUgMQorI2RlZmluZSBIQVZFX1NTTF9DVFhfU0VU
X0FMUE5fU0VMRUNUX0NCIDEKKyNkZWZpbmUgSEFWRV9TU0xfQ1RYX1NFVDFfQ1VSVkVTX0xJU1Qg
MQorI2RlZmluZSBIQVZFX1NTTF9DVFhfU0VUX0VDREhfQVVUTyAxCisjZGVmaW5lIEhBVkVfU1NM
X0dFVF9TRVJWRVJfVE1QX0tFWSAxCisjZGVmaW5lIEhBVkVfU1NMX0lTX1NFUlZFUiAxCisjZGVm
aW5lIEhBVkVfT1BBUVVFX09QRU5TU0wgMQorI2RlZmluZSBIQVZFX09QRU5TU0xfMTEwX1RIUkVB
RElOR19BUEkgMQorI2RlZmluZSBIQVZFX0JOX0dFTkNCX05FVyAxCisjZGVmaW5lIEhBVkVfQk5f
R0VOQ0JfRlJFRSAxCisjZGVmaW5lIEhBVkVfQk5fR0VOQ0JfR0VUX0FSRyAxCisjZGVmaW5lIEhB
VkVfRVZQX01EX0NUWF9ORVcgMQorI2RlZmluZSBIQVZFX0VWUF9NRF9DVFhfRlJFRSAxCisjZGVm
aW5lIEhBVkVfSE1BQ19DVFhfTkVXIDEKKyNkZWZpbmUgSEFWRV9ITUFDX0NUWF9GUkVFIDEKKyNk
ZWZpbmUgSEFWRV9YNTA5X1NUT1JFX0dFVF9FWF9EQVRBIDEKKyNkZWZpbmUgSEFWRV9YNTA5X1NU
T1JFX1NFVF9FWF9EQVRBIDEKKyNkZWZpbmUgSEFWRV9YNTA5X0NSTF9HRVQwX1NJR05BVFVSRSAx
CisjZGVmaW5lIEhBVkVfWDUwOV9SRVFfR0VUMF9TSUdOQVRVUkUgMQorI2RlZmluZSBIQVZFX1g1
MDlfUkVWT0tFRF9HRVQwX1NFUklBTE5VTUJFUiAxCisjZGVmaW5lIEhBVkVfWDUwOV9SRVZPS0VE
X0dFVDBfUkVWT0NBVElPTkRBVEUgMQorI2RlZmluZSBIQVZFX1g1MDlfR0VUMF9UQlNfU0lHQUxH
IDEKKyNkZWZpbmUgSEFWRV9YNTA5X1NUT1JFX0NUWF9HRVQwX1VOVFJVU1RFRCAxCisjZGVmaW5l
IEhBVkVfWDUwOV9TVE9SRV9DVFhfR0VUMF9DRVJUIDEKKyNkZWZpbmUgSEFWRV9YNTA5X1NUT1JF
X0NUWF9HRVQwX0NIQUlOIDEKKyNkZWZpbmUgSEFWRV9PQ1NQX1NJTkdMRVJFU1BfR0VUMF9JRCAx
CisjZGVmaW5lIEhBVkVfU1NMX0NUWF9HRVRfQ0lQSEVSUyAxCisjZGVmaW5lIEhBVkVfWDUwOV9V
UF9SRUYgMQorI2RlZmluZSBIQVZFX1g1MDlfQ1JMX1VQX1JFRiAxCisjZGVmaW5lIEhBVkVfWDUw
OV9TVE9SRV9VUF9SRUYgMQorI2RlZmluZSBIQVZFX1NTTF9TRVNTSU9OX1VQX1JFRiAxCisjZGVm
aW5lIEhBVkVfRVZQX1BLRVlfVVBfUkVGIDEKKyNkZWZpbmUgSEFWRV9TU0xfQ1RYX1NFVF9NSU5f
UFJPVE9fVkVSU0lPTiAxCisjZGVmaW5lIEhBVkVfU1NMX0NUWF9HRVRfU0VDVVJJVFlfTEVWRUwg
MQorI2RlZmluZSBIQVZFX1g1MDlfR0VUMF9OT1RCRUZPUkUgMQorI2RlZmluZSBIQVZFX1NTTF9T
RVNTSU9OX0dFVF9QUk9UT0NPTF9WRVJTSU9OIDEKKyNkZWZpbmUgSEFWRV9FVlBfUEJFX1NDUllQ
VCAxCisjZW5kaWYKZGlmZiAtLWdpdCBhL2dlbmVyYXRlZC9leHQvcGF0aG5hbWUvZXh0Y29uZi5o
IGIvZ2VuZXJhdGVkL2V4dC9wYXRobmFtZS9leHRjb25mLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uMDc5NWUzZAotLS0gL2Rldi9udWxsCisrKyBiL2dlbmVyYXRlZC9leHQv
cGF0aG5hbWUvZXh0Y29uZi5oCkBAIC0wLDAgKzEsNCBAQAorI2lmbmRlZiBFWFRDT05GX0gKKyNk
ZWZpbmUgRVhUQ09ORl9ICisjZGVmaW5lIFJVQllfRVhQT1JUIDEKKyNlbmRpZgpkaWZmIC0tZ2l0
IGEvZ2VuZXJhdGVkL2V4dC9wc3ljaC9leHRjb25mLmggYi9nZW5lcmF0ZWQvZXh0L3BzeWNoL2V4
dGNvbmYuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMDBjY2QyCi0tLSAv
ZGV2L251bGwKKysrIGIvZ2VuZXJhdGVkL2V4dC9wc3ljaC9leHRjb25mLmgKQEAgLTAsMCArMSwx
NSBAQAorI2lmbmRlZiBFWFRDT05GX0gKKyNkZWZpbmUgRVhUQ09ORl9ICisjZGVmaW5lIEhBVkVf
RExGQ05fSCAxCisjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCisjZGVmaW5lIEhBVkVfTUVNT1JZ
X0ggMQorI2RlZmluZSBIQVZFX1NURElOVF9IIDEKKyNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCisj
ZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKKyNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCisjZGVmaW5l
IEhBVkVfU1lTX1NUQVRfSCAxCisjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQorI2RlZmluZSBI
QVZFX1VOSVNURF9IIDEKKyNkZWZpbmUgSEFWRV9DT05GSUdfSCAxCisjZGVmaW5lIFJVQllfRVhQ
T1JUIDEKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2V4dC9wc3ljaC9wc3ljaC5oIGIv
Z2VuZXJhdGVkL2V4dC9wc3ljaC9wc3ljaC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAuLjZiM2Q2M2YKLS0tIC9kZXYvbnVsbAorKysgYi9nZW5lcmF0ZWQvZXh0L3BzeWNoL3Bz
eWNoLmgKQEAgLTAsMCArMSwxNyBAQAorI2lmbmRlZiBQU1lDSF9ICisjZGVmaW5lIFBTWUNIX0gK
KworI2luY2x1ZGUgPHJ1YnkuaD4KKyNpbmNsdWRlIDxydWJ5L2VuY29kaW5nLmg+CisKKyNpbmNs
dWRlIDx5YW1sLmg+CisKKyNpbmNsdWRlIDxwc3ljaF9wYXJzZXIuaD4KKyNpbmNsdWRlIDxwc3lj
aF9lbWl0dGVyLmg+CisjaW5jbHVkZSA8cHN5Y2hfdG9fcnVieS5oPgorI2luY2x1ZGUgPHBzeWNo
X3lhbWxfdHJlZS5oPgorCitleHRlcm4gVkFMVUUgbVBzeWNoOworCisKKyNlbmRpZgpkaWZmIC0t
Z2l0IGEvZ2VuZXJhdGVkL2V4dC9wc3ljaC9wc3ljaF9lbWl0dGVyLmggYi9nZW5lcmF0ZWQvZXh0
L3BzeWNoL3BzeWNoX2VtaXR0ZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li40YzE0ODJhCi0tLSAvZGV2L251bGwKKysrIGIvZ2VuZXJhdGVkL2V4dC9wc3ljaC9wc3ljaF9l
bWl0dGVyLmgKQEAgLTAsMCArMSw4IEBACisjaWZuZGVmIFBTWUNIX0VNSVRURVJfSAorI2RlZmlu
ZSBQU1lDSF9FTUlUVEVSX0gKKworI2luY2x1ZGUgPHBzeWNoLmg+CisKK3ZvaWQgSW5pdF9wc3lj
aF9lbWl0dGVyKHZvaWQpOworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2dlbmVyYXRlZC9leHQvcHN5
Y2gvcHN5Y2hfcGFyc2VyLmggYi9nZW5lcmF0ZWQvZXh0L3BzeWNoL3BzeWNoX3BhcnNlci5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJlYjNkZDAKLS0tIC9kZXYvbnVsbAor
KysgYi9nZW5lcmF0ZWQvZXh0L3BzeWNoL3BzeWNoX3BhcnNlci5oCkBAIC0wLDAgKzEsNiBAQAor
I2lmbmRlZiBQU1lDSF9QQVJTRVJfSAorI2RlZmluZSBQU1lDSF9QQVJTRVJfSAorCit2b2lkIElu
aXRfcHN5Y2hfcGFyc2VyKHZvaWQpOworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2dlbmVyYXRlZC9l
eHQvcHN5Y2gvcHN5Y2hfdG9fcnVieS5oIGIvZ2VuZXJhdGVkL2V4dC9wc3ljaC9wc3ljaF90b19y
dWJ5LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2I4ZTc1NwotLS0gL2Rl
di9udWxsCisrKyBiL2dlbmVyYXRlZC9leHQvcHN5Y2gvcHN5Y2hfdG9fcnVieS5oCkBAIC0wLDAg
KzEsOCBAQAorI2lmbmRlZiBQU1lDSF9UT19SVUJZX0gKKyNkZWZpbmUgUFNZQ0hfVE9fUlVCWV9I
CisKKyNpbmNsdWRlIDxwc3ljaC5oPgorCit2b2lkIEluaXRfcHN5Y2hfdG9fcnVieSh2b2lkKTsK
KworI2VuZGlmCmRpZmYgLS1naXQgYS9nZW5lcmF0ZWQvZXh0L3BzeWNoL3BzeWNoX3lhbWxfdHJl
ZS5oIGIvZ2VuZXJhdGVkL2V4dC9wc3ljaC9wc3ljaF95YW1sX3RyZWUuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi40NjI4YTY5Ci0tLSAvZGV2L251bGwKKysrIGIvZ2VuZXJh
dGVkL2V4dC9wc3ljaC9wc3ljaF95YW1sX3RyZWUuaApAQCAtMCwwICsxLDggQEAKKyNpZm5kZWYg
UFNZQ0hfWUFNTF9UUkVFX0gKKyNkZWZpbmUgUFNZQ0hfWUFNTF9UUkVFX0gKKworI2luY2x1ZGUg
PHBzeWNoLmg+CisKK3ZvaWQgSW5pdF9wc3ljaF95YW1sX3RyZWUodm9pZCk7CisKKyNlbmRpZgpk
aWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2V4dC9wc3ljaC95YW1sL2NvbmZpZy5oIGIvZ2VuZXJhdGVk
L2V4dC9wc3ljaC95YW1sL2NvbmZpZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLmRhOTA1MTMKLS0tIC9kZXYvbnVsbAorKysgYi9nZW5lcmF0ZWQvZXh0L3BzeWNoL3lhbWwv
Y29uZmlnLmgKQEAgLTAsMCArMSwxMCBAQAorI2RlZmluZSBQQUNLQUdFX05BTUUgInlhbWwiCisj
ZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAieWFtbCIKKyNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIw
LjIuMSIKKyNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgInlhbWwgMC4yLjEiCisjZGVmaW5lIFBBQ0tB
R0VfQlVHUkVQT1JUICJodHRwczovL2dpdGh1Yi5jb20veWFtbC9saWJ5YW1sL2lzc3VlcyIKKyNk
ZWZpbmUgUEFDS0FHRV9VUkwgImh0dHBzOi8vZ2l0aHViLmNvbS95YW1sL2xpYnlhbWwiCisjZGVm
aW5lIFlBTUxfVkVSU0lPTl9NQUpPUiAwCisjZGVmaW5lIFlBTUxfVkVSU0lPTl9NSU5PUiAyCisj
ZGVmaW5lIFlBTUxfVkVSU0lPTl9QQVRDSCAxCisjZGVmaW5lIFlBTUxfVkVSU0lPTl9TVFJJTkcg
IjAuMi4xIgpkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2V4dC9wc3ljaC95YW1sL3lhbWwuaCBiL2dl
bmVyYXRlZC9leHQvcHN5Y2gveWFtbC95YW1sLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uZjMzYTE1MgotLS0gL2Rldi9udWxsCisrKyBiL2dlbmVyYXRlZC9leHQvcHN5Y2gv
eWFtbC95YW1sLmgKQEAgLTAsMCArMSwxOTcxIEBACisvKioKKyAqIEBmaWxlIHlhbWwuaAorICog
QGJyaWVmIFB1YmxpYyBpbnRlcmZhY2UgZm9yIGxpYnlhbWwuCisgKgorICogSW5jbHVkZSB0aGUg
aGVhZGVyIGZpbGUgd2l0aCB0aGUgY29kZToKKyAqIEBjb2RlCisgKiAjaW5jbHVkZSA8eWFtbC5o
PgorICogQGVuZGNvZGUKKyAqLworCisjaWZuZGVmIFlBTUxfSAorI2RlZmluZSBZQU1MX0gKKwor
I2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCisjaW5jbHVkZSA8c3Rk
bGliLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKworLyoqCisg
KiBAZGVmZ3JvdXAgZXhwb3J0IEV4cG9ydCBEZWZpbml0aW9ucworICogQHsKKyAqLworCisvKiog
VGhlIHB1YmxpYyBBUEkgZGVjbGFyYXRpb24uICovCisKKyNpZmRlZiBfV0lOMzIKKyMgICBpZiBk
ZWZpbmVkKFlBTUxfREVDTEFSRV9TVEFUSUMpCisjICAgICAgIGRlZmluZSAgWUFNTF9ERUNMQVJF
KHR5cGUpICB0eXBlCisjICAgZWxpZiBkZWZpbmVkKFlBTUxfREVDTEFSRV9FWFBPUlQpCisjICAg
ICAgIGRlZmluZSAgWUFNTF9ERUNMQVJFKHR5cGUpICBfX2RlY2xzcGVjKGRsbGV4cG9ydCkgdHlw
ZQorIyAgIGVsc2UKKyMgICAgICAgZGVmaW5lICBZQU1MX0RFQ0xBUkUodHlwZSkgIF9fZGVjbHNw
ZWMoZGxsaW1wb3J0KSB0eXBlCisjICAgZW5kaWYKKyNlbHNlCisjICAgZGVmaW5lICBZQU1MX0RF
Q0xBUkUodHlwZSkgIHR5cGUKKyNlbmRpZgorCisvKiogQH0gKi8KKworLyoqCisgKiBAZGVmZ3Jv
dXAgdmVyc2lvbiBWZXJzaW9uIEluZm9ybWF0aW9uCisgKiBAeworICovCisKKy8qKgorICogR2V0
IHRoZSBsaWJyYXJ5IHZlcnNpb24gYXMgYSBzdHJpbmcuCisgKgorICogQHJldHVybnMgVGhlIGZ1
bmN0aW9uIHJldHVybnMgdGhlIHBvaW50ZXIgdG8gYSBzdGF0aWMgc3RyaW5nIG9mIHRoZSBmb3Jt
CisgKiBAYyAiWC5ZLloiLCB3aGVyZSBAYyBYIGlzIHRoZSBtYWpvciB2ZXJzaW9uIG51bWJlciwg
QGMgWSBpcyBhIG1pbm9yIHZlcnNpb24KKyAqIG51bWJlciwgYW5kIEBjIFogaXMgdGhlIHBhdGNo
IHZlcnNpb24gbnVtYmVyLgorICovCisKK1lBTUxfREVDTEFSRShjb25zdCBjaGFyICopCit5YW1s
X2dldF92ZXJzaW9uX3N0cmluZyh2b2lkKTsKKworLyoqCisgKiBHZXQgdGhlIGxpYnJhcnkgdmVy
c2lvbiBudW1iZXJzLgorICoKKyAqIEBwYXJhbVtvdXRdICAgICAgbWFqb3IgICBNYWpvciB2ZXJz
aW9uIG51bWJlci4KKyAqIEBwYXJhbVtvdXRdICAgICAgbWlub3IgICBNaW5vciB2ZXJzaW9uIG51
bWJlci4KKyAqIEBwYXJhbVtvdXRdICAgICAgcGF0Y2ggICBQYXRjaCB2ZXJzaW9uIG51bWJlci4K
KyAqLworCitZQU1MX0RFQ0xBUkUodm9pZCkKK3lhbWxfZ2V0X3ZlcnNpb24oaW50ICptYWpvciwg
aW50ICptaW5vciwgaW50ICpwYXRjaCk7CisKKy8qKiBAfSAqLworCisvKioKKyAqIEBkZWZncm91
cCBiYXNpYyBCYXNpYyBUeXBlcworICogQHsKKyAqLworCisvKiogVGhlIGNoYXJhY3RlciB0eXBl
IChVVEYtOCBvY3RldCkuICovCit0eXBlZGVmIHVuc2lnbmVkIGNoYXIgeWFtbF9jaGFyX3Q7CisK
Ky8qKiBUaGUgdmVyc2lvbiBkaXJlY3RpdmUgZGF0YS4gKi8KK3R5cGVkZWYgc3RydWN0IHlhbWxf
dmVyc2lvbl9kaXJlY3RpdmVfcyB7CisgICAgLyoqIFRoZSBtYWpvciB2ZXJzaW9uIG51bWJlci4g
Ki8KKyAgICBpbnQgbWFqb3I7CisgICAgLyoqIFRoZSBtaW5vciB2ZXJzaW9uIG51bWJlci4gKi8K
KyAgICBpbnQgbWlub3I7Cit9IHlhbWxfdmVyc2lvbl9kaXJlY3RpdmVfdDsKKworLyoqIFRoZSB0
YWcgZGlyZWN0aXZlIGRhdGEuICovCit0eXBlZGVmIHN0cnVjdCB5YW1sX3RhZ19kaXJlY3RpdmVf
cyB7CisgICAgLyoqIFRoZSB0YWcgaGFuZGxlLiAqLworICAgIHlhbWxfY2hhcl90ICpoYW5kbGU7
CisgICAgLyoqIFRoZSB0YWcgcHJlZml4LiAqLworICAgIHlhbWxfY2hhcl90ICpwcmVmaXg7Cit9
IHlhbWxfdGFnX2RpcmVjdGl2ZV90OworCisvKiogVGhlIHN0cmVhbSBlbmNvZGluZy4gKi8KK3R5
cGVkZWYgZW51bSB5YW1sX2VuY29kaW5nX2UgeworICAgIC8qKiBMZXQgdGhlIHBhcnNlciBjaG9v
c2UgdGhlIGVuY29kaW5nLiAqLworICAgIFlBTUxfQU5ZX0VOQ09ESU5HLAorICAgIC8qKiBUaGUg
ZGVmYXVsdCBVVEYtOCBlbmNvZGluZy4gKi8KKyAgICBZQU1MX1VURjhfRU5DT0RJTkcsCisgICAg
LyoqIFRoZSBVVEYtMTYtTEUgZW5jb2Rpbmcgd2l0aCBCT00uICovCisgICAgWUFNTF9VVEYxNkxF
X0VOQ09ESU5HLAorICAgIC8qKiBUaGUgVVRGLTE2LUJFIGVuY29kaW5nIHdpdGggQk9NLiAqLwor
ICAgIFlBTUxfVVRGMTZCRV9FTkNPRElORworfSB5YW1sX2VuY29kaW5nX3Q7CisKKy8qKiBMaW5l
IGJyZWFrIHR5cGVzLiAqLworCit0eXBlZGVmIGVudW0geWFtbF9icmVha19lIHsKKyAgICAvKiog
TGV0IHRoZSBwYXJzZXIgY2hvb3NlIHRoZSBicmVhayB0eXBlLiAqLworICAgIFlBTUxfQU5ZX0JS
RUFLLAorICAgIC8qKiBVc2UgQ1IgZm9yIGxpbmUgYnJlYWtzIChNYWMgc3R5bGUpLiAqLworICAg
IFlBTUxfQ1JfQlJFQUssCisgICAgLyoqIFVzZSBMTiBmb3IgbGluZSBicmVha3MgKFVuaXggc3R5
bGUpLiAqLworICAgIFlBTUxfTE5fQlJFQUssCisgICAgLyoqIFVzZSBDUiBMTiBmb3IgbGluZSBi
cmVha3MgKERPUyBzdHlsZSkuICovCisgICAgWUFNTF9DUkxOX0JSRUFLCit9IHlhbWxfYnJlYWtf
dDsKKworLyoqIE1hbnkgYmFkIHRoaW5ncyBjb3VsZCBoYXBwZW4gd2l0aCB0aGUgcGFyc2VyIGFu
ZCBlbWl0dGVyLiAqLwordHlwZWRlZiBlbnVtIHlhbWxfZXJyb3JfdHlwZV9lIHsKKyAgICAvKiog
Tm8gZXJyb3IgaXMgcHJvZHVjZWQuICovCisgICAgWUFNTF9OT19FUlJPUiwKKworICAgIC8qKiBD
YW5ub3QgYWxsb2NhdGUgb3IgcmVhbGxvY2F0ZSBhIGJsb2NrIG9mIG1lbW9yeS4gKi8KKyAgICBZ
QU1MX01FTU9SWV9FUlJPUiwKKworICAgIC8qKiBDYW5ub3QgcmVhZCBvciBkZWNvZGUgdGhlIGlu
cHV0IHN0cmVhbS4gKi8KKyAgICBZQU1MX1JFQURFUl9FUlJPUiwKKyAgICAvKiogQ2Fubm90IHNj
YW4gdGhlIGlucHV0IHN0cmVhbS4gKi8KKyAgICBZQU1MX1NDQU5ORVJfRVJST1IsCisgICAgLyoq
IENhbm5vdCBwYXJzZSB0aGUgaW5wdXQgc3RyZWFtLiAqLworICAgIFlBTUxfUEFSU0VSX0VSUk9S
LAorICAgIC8qKiBDYW5ub3QgY29tcG9zZSBhIFlBTUwgZG9jdW1lbnQuICovCisgICAgWUFNTF9D
T01QT1NFUl9FUlJPUiwKKworICAgIC8qKiBDYW5ub3Qgd3JpdGUgdG8gdGhlIG91dHB1dCBzdHJl
YW0uICovCisgICAgWUFNTF9XUklURVJfRVJST1IsCisgICAgLyoqIENhbm5vdCBlbWl0IGEgWUFN
TCBzdHJlYW0uICovCisgICAgWUFNTF9FTUlUVEVSX0VSUk9SCit9IHlhbWxfZXJyb3JfdHlwZV90
OworCisvKiogVGhlIHBvaW50ZXIgcG9zaXRpb24uICovCit0eXBlZGVmIHN0cnVjdCB5YW1sX21h
cmtfcyB7CisgICAgLyoqIFRoZSBwb3NpdGlvbiBpbmRleC4gKi8KKyAgICBzaXplX3QgaW5kZXg7
CisKKyAgICAvKiogVGhlIHBvc2l0aW9uIGxpbmUuICovCisgICAgc2l6ZV90IGxpbmU7CisKKyAg
ICAvKiogVGhlIHBvc2l0aW9uIGNvbHVtbi4gKi8KKyAgICBzaXplX3QgY29sdW1uOworfSB5YW1s
X21hcmtfdDsKKworLyoqIEB9ICovCisKKy8qKgorICogQGRlZmdyb3VwIHN0eWxlcyBOb2RlIFN0
eWxlcworICogQHsKKyAqLworCisvKiogU2NhbGFyIHN0eWxlcy4gKi8KK3R5cGVkZWYgZW51bSB5
YW1sX3NjYWxhcl9zdHlsZV9lIHsKKyAgICAvKiogTGV0IHRoZSBlbWl0dGVyIGNob29zZSB0aGUg
c3R5bGUuICovCisgICAgWUFNTF9BTllfU0NBTEFSX1NUWUxFLAorCisgICAgLyoqIFRoZSBwbGFp
biBzY2FsYXIgc3R5bGUuICovCisgICAgWUFNTF9QTEFJTl9TQ0FMQVJfU1RZTEUsCisKKyAgICAv
KiogVGhlIHNpbmdsZS1xdW90ZWQgc2NhbGFyIHN0eWxlLiAqLworICAgIFlBTUxfU0lOR0xFX1FV
T1RFRF9TQ0FMQVJfU1RZTEUsCisgICAgLyoqIFRoZSBkb3VibGUtcXVvdGVkIHNjYWxhciBzdHls
ZS4gKi8KKyAgICBZQU1MX0RPVUJMRV9RVU9URURfU0NBTEFSX1NUWUxFLAorCisgICAgLyoqIFRo
ZSBsaXRlcmFsIHNjYWxhciBzdHlsZS4gKi8KKyAgICBZQU1MX0xJVEVSQUxfU0NBTEFSX1NUWUxF
LAorICAgIC8qKiBUaGUgZm9sZGVkIHNjYWxhciBzdHlsZS4gKi8KKyAgICBZQU1MX0ZPTERFRF9T
Q0FMQVJfU1RZTEUKK30geWFtbF9zY2FsYXJfc3R5bGVfdDsKKworLyoqIFNlcXVlbmNlIHN0eWxl
cy4gKi8KK3R5cGVkZWYgZW51bSB5YW1sX3NlcXVlbmNlX3N0eWxlX2UgeworICAgIC8qKiBMZXQg
dGhlIGVtaXR0ZXIgY2hvb3NlIHRoZSBzdHlsZS4gKi8KKyAgICBZQU1MX0FOWV9TRVFVRU5DRV9T
VFlMRSwKKworICAgIC8qKiBUaGUgYmxvY2sgc2VxdWVuY2Ugc3R5bGUuICovCisgICAgWUFNTF9C
TE9DS19TRVFVRU5DRV9TVFlMRSwKKyAgICAvKiogVGhlIGZsb3cgc2VxdWVuY2Ugc3R5bGUuICov
CisgICAgWUFNTF9GTE9XX1NFUVVFTkNFX1NUWUxFCit9IHlhbWxfc2VxdWVuY2Vfc3R5bGVfdDsK
KworLyoqIE1hcHBpbmcgc3R5bGVzLiAqLwordHlwZWRlZiBlbnVtIHlhbWxfbWFwcGluZ19zdHls
ZV9lIHsKKyAgICAvKiogTGV0IHRoZSBlbWl0dGVyIGNob29zZSB0aGUgc3R5bGUuICovCisgICAg
WUFNTF9BTllfTUFQUElOR19TVFlMRSwKKworICAgIC8qKiBUaGUgYmxvY2sgbWFwcGluZyBzdHls
ZS4gKi8KKyAgICBZQU1MX0JMT0NLX01BUFBJTkdfU1RZTEUsCisgICAgLyoqIFRoZSBmbG93IG1h
cHBpbmcgc3R5bGUuICovCisgICAgWUFNTF9GTE9XX01BUFBJTkdfU1RZTEUKKy8qICAgIFlBTUxf
RkxPV19TRVRfTUFQUElOR19TVFlMRSAgICovCit9IHlhbWxfbWFwcGluZ19zdHlsZV90OworCisv
KiogQH0gKi8KKworLyoqCisgKiBAZGVmZ3JvdXAgdG9rZW5zIFRva2VucworICogQHsKKyAqLwor
CisvKiogVG9rZW4gdHlwZXMuICovCit0eXBlZGVmIGVudW0geWFtbF90b2tlbl90eXBlX2Ugewor
ICAgIC8qKiBBbiBlbXB0eSB0b2tlbi4gKi8KKyAgICBZQU1MX05PX1RPS0VOLAorCisgICAgLyoq
IEEgU1RSRUFNLVNUQVJUIHRva2VuLiAqLworICAgIFlBTUxfU1RSRUFNX1NUQVJUX1RPS0VOLAor
ICAgIC8qKiBBIFNUUkVBTS1FTkQgdG9rZW4uICovCisgICAgWUFNTF9TVFJFQU1fRU5EX1RPS0VO
LAorCisgICAgLyoqIEEgVkVSU0lPTi1ESVJFQ1RJVkUgdG9rZW4uICovCisgICAgWUFNTF9WRVJT
SU9OX0RJUkVDVElWRV9UT0tFTiwKKyAgICAvKiogQSBUQUctRElSRUNUSVZFIHRva2VuLiAqLwor
ICAgIFlBTUxfVEFHX0RJUkVDVElWRV9UT0tFTiwKKyAgICAvKiogQSBET0NVTUVOVC1TVEFSVCB0
b2tlbi4gKi8KKyAgICBZQU1MX0RPQ1VNRU5UX1NUQVJUX1RPS0VOLAorICAgIC8qKiBBIERPQ1VN
RU5ULUVORCB0b2tlbi4gKi8KKyAgICBZQU1MX0RPQ1VNRU5UX0VORF9UT0tFTiwKKworICAgIC8q
KiBBIEJMT0NLLVNFUVVFTkNFLVNUQVJUIHRva2VuLiAqLworICAgIFlBTUxfQkxPQ0tfU0VRVUVO
Q0VfU1RBUlRfVE9LRU4sCisgICAgLyoqIEEgQkxPQ0stU0VRVUVOQ0UtRU5EIHRva2VuLiAqLwor
ICAgIFlBTUxfQkxPQ0tfTUFQUElOR19TVEFSVF9UT0tFTiwKKyAgICAvKiogQSBCTE9DSy1FTkQg
dG9rZW4uICovCisgICAgWUFNTF9CTE9DS19FTkRfVE9LRU4sCisKKyAgICAvKiogQSBGTE9XLVNF
UVVFTkNFLVNUQVJUIHRva2VuLiAqLworICAgIFlBTUxfRkxPV19TRVFVRU5DRV9TVEFSVF9UT0tF
TiwKKyAgICAvKiogQSBGTE9XLVNFUVVFTkNFLUVORCB0b2tlbi4gKi8KKyAgICBZQU1MX0ZMT1df
U0VRVUVOQ0VfRU5EX1RPS0VOLAorICAgIC8qKiBBIEZMT1ctTUFQUElORy1TVEFSVCB0b2tlbi4g
Ki8KKyAgICBZQU1MX0ZMT1dfTUFQUElOR19TVEFSVF9UT0tFTiwKKyAgICAvKiogQSBGTE9XLU1B
UFBJTkctRU5EIHRva2VuLiAqLworICAgIFlBTUxfRkxPV19NQVBQSU5HX0VORF9UT0tFTiwKKwor
ICAgIC8qKiBBIEJMT0NLLUVOVFJZIHRva2VuLiAqLworICAgIFlBTUxfQkxPQ0tfRU5UUllfVE9L
RU4sCisgICAgLyoqIEEgRkxPVy1FTlRSWSB0b2tlbi4gKi8KKyAgICBZQU1MX0ZMT1dfRU5UUllf
VE9LRU4sCisgICAgLyoqIEEgS0VZIHRva2VuLiAqLworICAgIFlBTUxfS0VZX1RPS0VOLAorICAg
IC8qKiBBIFZBTFVFIHRva2VuLiAqLworICAgIFlBTUxfVkFMVUVfVE9LRU4sCisKKyAgICAvKiog
QW4gQUxJQVMgdG9rZW4uICovCisgICAgWUFNTF9BTElBU19UT0tFTiwKKyAgICAvKiogQW4gQU5D
SE9SIHRva2VuLiAqLworICAgIFlBTUxfQU5DSE9SX1RPS0VOLAorICAgIC8qKiBBIFRBRyB0b2tl
bi4gKi8KKyAgICBZQU1MX1RBR19UT0tFTiwKKyAgICAvKiogQSBTQ0FMQVIgdG9rZW4uICovCisg
ICAgWUFNTF9TQ0FMQVJfVE9LRU4KK30geWFtbF90b2tlbl90eXBlX3Q7CisKKy8qKiBUaGUgdG9r
ZW4gc3RydWN0dXJlLiAqLwordHlwZWRlZiBzdHJ1Y3QgeWFtbF90b2tlbl9zIHsKKworICAgIC8q
KiBUaGUgdG9rZW4gdHlwZS4gKi8KKyAgICB5YW1sX3Rva2VuX3R5cGVfdCB0eXBlOworCisgICAg
LyoqIFRoZSB0b2tlbiBkYXRhLiAqLworICAgIHVuaW9uIHsKKworICAgICAgICAvKiogVGhlIHN0
cmVhbSBzdGFydCAoZm9yIEBjIFlBTUxfU1RSRUFNX1NUQVJUX1RPS0VOKS4gKi8KKyAgICAgICAg
c3RydWN0IHsKKyAgICAgICAgICAgIC8qKiBUaGUgc3RyZWFtIGVuY29kaW5nLiAqLworICAgICAg
ICAgICAgeWFtbF9lbmNvZGluZ190IGVuY29kaW5nOworICAgICAgICB9IHN0cmVhbV9zdGFydDsK
KworICAgICAgICAvKiogVGhlIGFsaWFzIChmb3IgQGMgWUFNTF9BTElBU19UT0tFTikuICovCisg
ICAgICAgIHN0cnVjdCB7CisgICAgICAgICAgICAvKiogVGhlIGFsaWFzIHZhbHVlLiAqLworICAg
ICAgICAgICAgeWFtbF9jaGFyX3QgKnZhbHVlOworICAgICAgICB9IGFsaWFzOworCisgICAgICAg
IC8qKiBUaGUgYW5jaG9yIChmb3IgQGMgWUFNTF9BTkNIT1JfVE9LRU4pLiAqLworICAgICAgICBz
dHJ1Y3QgeworICAgICAgICAgICAgLyoqIFRoZSBhbmNob3IgdmFsdWUuICovCisgICAgICAgICAg
ICB5YW1sX2NoYXJfdCAqdmFsdWU7CisgICAgICAgIH0gYW5jaG9yOworCisgICAgICAgIC8qKiBU
aGUgdGFnIChmb3IgQGMgWUFNTF9UQUdfVE9LRU4pLiAqLworICAgICAgICBzdHJ1Y3QgeworICAg
ICAgICAgICAgLyoqIFRoZSB0YWcgaGFuZGxlLiAqLworICAgICAgICAgICAgeWFtbF9jaGFyX3Qg
KmhhbmRsZTsKKyAgICAgICAgICAgIC8qKiBUaGUgdGFnIHN1ZmZpeC4gKi8KKyAgICAgICAgICAg
IHlhbWxfY2hhcl90ICpzdWZmaXg7CisgICAgICAgIH0gdGFnOworCisgICAgICAgIC8qKiBUaGUg
c2NhbGFyIHZhbHVlIChmb3IgQGMgWUFNTF9TQ0FMQVJfVE9LRU4pLiAqLworICAgICAgICBzdHJ1
Y3QgeworICAgICAgICAgICAgLyoqIFRoZSBzY2FsYXIgdmFsdWUuICovCisgICAgICAgICAgICB5
YW1sX2NoYXJfdCAqdmFsdWU7CisgICAgICAgICAgICAvKiogVGhlIGxlbmd0aCBvZiB0aGUgc2Nh
bGFyIHZhbHVlLiAqLworICAgICAgICAgICAgc2l6ZV90IGxlbmd0aDsKKyAgICAgICAgICAgIC8q
KiBUaGUgc2NhbGFyIHN0eWxlLiAqLworICAgICAgICAgICAgeWFtbF9zY2FsYXJfc3R5bGVfdCBz
dHlsZTsKKyAgICAgICAgfSBzY2FsYXI7CisKKyAgICAgICAgLyoqIFRoZSB2ZXJzaW9uIGRpcmVj
dGl2ZSAoZm9yIEBjIFlBTUxfVkVSU0lPTl9ESVJFQ1RJVkVfVE9LRU4pLiAqLworICAgICAgICBz
dHJ1Y3QgeworICAgICAgICAgICAgLyoqIFRoZSBtYWpvciB2ZXJzaW9uIG51bWJlci4gKi8KKyAg
ICAgICAgICAgIGludCBtYWpvcjsKKyAgICAgICAgICAgIC8qKiBUaGUgbWlub3IgdmVyc2lvbiBu
dW1iZXIuICovCisgICAgICAgICAgICBpbnQgbWlub3I7CisgICAgICAgIH0gdmVyc2lvbl9kaXJl
Y3RpdmU7CisKKyAgICAgICAgLyoqIFRoZSB0YWcgZGlyZWN0aXZlIChmb3IgQGMgWUFNTF9UQUdf
RElSRUNUSVZFX1RPS0VOKS4gKi8KKyAgICAgICAgc3RydWN0IHsKKyAgICAgICAgICAgIC8qKiBU
aGUgdGFnIGhhbmRsZS4gKi8KKyAgICAgICAgICAgIHlhbWxfY2hhcl90ICpoYW5kbGU7CisgICAg
ICAgICAgICAvKiogVGhlIHRhZyBwcmVmaXguICovCisgICAgICAgICAgICB5YW1sX2NoYXJfdCAq
cHJlZml4OworICAgICAgICB9IHRhZ19kaXJlY3RpdmU7CisKKyAgICB9IGRhdGE7CisKKyAgICAv
KiogVGhlIGJlZ2lubmluZyBvZiB0aGUgdG9rZW4uICovCisgICAgeWFtbF9tYXJrX3Qgc3RhcnRf
bWFyazsKKyAgICAvKiogVGhlIGVuZCBvZiB0aGUgdG9rZW4uICovCisgICAgeWFtbF9tYXJrX3Qg
ZW5kX21hcms7CisKK30geWFtbF90b2tlbl90OworCisvKioKKyAqIEZyZWUgYW55IG1lbW9yeSBh
bGxvY2F0ZWQgZm9yIGEgdG9rZW4gb2JqZWN0LgorICoKKyAqIEBwYXJhbVtpbixvdXRdICAgdG9r
ZW4gICBBIHRva2VuIG9iamVjdC4KKyAqLworCitZQU1MX0RFQ0xBUkUodm9pZCkKK3lhbWxfdG9r
ZW5fZGVsZXRlKHlhbWxfdG9rZW5fdCAqdG9rZW4pOworCisvKiogQH0gKi8KKworLyoqCisgKiBA
ZGVmZ3JvdXAgZXZlbnRzIEV2ZW50cworICogQHsKKyAqLworCisvKiogRXZlbnQgdHlwZXMuICov
Cit0eXBlZGVmIGVudW0geWFtbF9ldmVudF90eXBlX2UgeworICAgIC8qKiBBbiBlbXB0eSBldmVu
dC4gKi8KKyAgICBZQU1MX05PX0VWRU5ULAorCisgICAgLyoqIEEgU1RSRUFNLVNUQVJUIGV2ZW50
LiAqLworICAgIFlBTUxfU1RSRUFNX1NUQVJUX0VWRU5ULAorICAgIC8qKiBBIFNUUkVBTS1FTkQg
ZXZlbnQuICovCisgICAgWUFNTF9TVFJFQU1fRU5EX0VWRU5ULAorCisgICAgLyoqIEEgRE9DVU1F
TlQtU1RBUlQgZXZlbnQuICovCisgICAgWUFNTF9ET0NVTUVOVF9TVEFSVF9FVkVOVCwKKyAgICAv
KiogQSBET0NVTUVOVC1FTkQgZXZlbnQuICovCisgICAgWUFNTF9ET0NVTUVOVF9FTkRfRVZFTlQs
CisKKyAgICAvKiogQW4gQUxJQVMgZXZlbnQuICovCisgICAgWUFNTF9BTElBU19FVkVOVCwKKyAg
ICAvKiogQSBTQ0FMQVIgZXZlbnQuICovCisgICAgWUFNTF9TQ0FMQVJfRVZFTlQsCisKKyAgICAv
KiogQSBTRVFVRU5DRS1TVEFSVCBldmVudC4gKi8KKyAgICBZQU1MX1NFUVVFTkNFX1NUQVJUX0VW
RU5ULAorICAgIC8qKiBBIFNFUVVFTkNFLUVORCBldmVudC4gKi8KKyAgICBZQU1MX1NFUVVFTkNF
X0VORF9FVkVOVCwKKworICAgIC8qKiBBIE1BUFBJTkctU1RBUlQgZXZlbnQuICovCisgICAgWUFN
TF9NQVBQSU5HX1NUQVJUX0VWRU5ULAorICAgIC8qKiBBIE1BUFBJTkctRU5EIGV2ZW50LiAqLwor
ICAgIFlBTUxfTUFQUElOR19FTkRfRVZFTlQKK30geWFtbF9ldmVudF90eXBlX3Q7CisKKy8qKiBU
aGUgZXZlbnQgc3RydWN0dXJlLiAqLwordHlwZWRlZiBzdHJ1Y3QgeWFtbF9ldmVudF9zIHsKKwor
ICAgIC8qKiBUaGUgZXZlbnQgdHlwZS4gKi8KKyAgICB5YW1sX2V2ZW50X3R5cGVfdCB0eXBlOwor
CisgICAgLyoqIFRoZSBldmVudCBkYXRhLiAqLworICAgIHVuaW9uIHsKKworICAgICAgICAvKiog
VGhlIHN0cmVhbSBwYXJhbWV0ZXJzIChmb3IgQGMgWUFNTF9TVFJFQU1fU1RBUlRfRVZFTlQpLiAq
LworICAgICAgICBzdHJ1Y3QgeworICAgICAgICAgICAgLyoqIFRoZSBkb2N1bWVudCBlbmNvZGlu
Zy4gKi8KKyAgICAgICAgICAgIHlhbWxfZW5jb2RpbmdfdCBlbmNvZGluZzsKKyAgICAgICAgfSBz
dHJlYW1fc3RhcnQ7CisKKyAgICAgICAgLyoqIFRoZSBkb2N1bWVudCBwYXJhbWV0ZXJzIChmb3Ig
QGMgWUFNTF9ET0NVTUVOVF9TVEFSVF9FVkVOVCkuICovCisgICAgICAgIHN0cnVjdCB7CisgICAg
ICAgICAgICAvKiogVGhlIHZlcnNpb24gZGlyZWN0aXZlLiAqLworICAgICAgICAgICAgeWFtbF92
ZXJzaW9uX2RpcmVjdGl2ZV90ICp2ZXJzaW9uX2RpcmVjdGl2ZTsKKworICAgICAgICAgICAgLyoq
IFRoZSBsaXN0IG9mIHRhZyBkaXJlY3RpdmVzLiAqLworICAgICAgICAgICAgc3RydWN0IHsKKyAg
ICAgICAgICAgICAgICAvKiogVGhlIGJlZ2lubmluZyBvZiB0aGUgdGFnIGRpcmVjdGl2ZXMgbGlz
dC4gKi8KKyAgICAgICAgICAgICAgICB5YW1sX3RhZ19kaXJlY3RpdmVfdCAqc3RhcnQ7CisgICAg
ICAgICAgICAgICAgLyoqIFRoZSBlbmQgb2YgdGhlIHRhZyBkaXJlY3RpdmVzIGxpc3QuICovCisg
ICAgICAgICAgICAgICAgeWFtbF90YWdfZGlyZWN0aXZlX3QgKmVuZDsKKyAgICAgICAgICAgIH0g
dGFnX2RpcmVjdGl2ZXM7CisKKyAgICAgICAgICAgIC8qKiBJcyB0aGUgZG9jdW1lbnQgaW5kaWNh
dG9yIGltcGxpY2l0PyAqLworICAgICAgICAgICAgaW50IGltcGxpY2l0OworICAgICAgICB9IGRv
Y3VtZW50X3N0YXJ0OworCisgICAgICAgIC8qKiBUaGUgZG9jdW1lbnQgZW5kIHBhcmFtZXRlcnMg
KGZvciBAYyBZQU1MX0RPQ1VNRU5UX0VORF9FVkVOVCkuICovCisgICAgICAgIHN0cnVjdCB7Cisg
ICAgICAgICAgICAvKiogSXMgdGhlIGRvY3VtZW50IGVuZCBpbmRpY2F0b3IgaW1wbGljaXQ/ICov
CisgICAgICAgICAgICBpbnQgaW1wbGljaXQ7CisgICAgICAgIH0gZG9jdW1lbnRfZW5kOworCisg
ICAgICAgIC8qKiBUaGUgYWxpYXMgcGFyYW1ldGVycyAoZm9yIEBjIFlBTUxfQUxJQVNfRVZFTlQp
LiAqLworICAgICAgICBzdHJ1Y3QgeworICAgICAgICAgICAgLyoqIFRoZSBhbmNob3IuICovCisg
ICAgICAgICAgICB5YW1sX2NoYXJfdCAqYW5jaG9yOworICAgICAgICB9IGFsaWFzOworCisgICAg
ICAgIC8qKiBUaGUgc2NhbGFyIHBhcmFtZXRlcnMgKGZvciBAYyBZQU1MX1NDQUxBUl9FVkVOVCku
ICovCisgICAgICAgIHN0cnVjdCB7CisgICAgICAgICAgICAvKiogVGhlIGFuY2hvci4gKi8KKyAg
ICAgICAgICAgIHlhbWxfY2hhcl90ICphbmNob3I7CisgICAgICAgICAgICAvKiogVGhlIHRhZy4g
Ki8KKyAgICAgICAgICAgIHlhbWxfY2hhcl90ICp0YWc7CisgICAgICAgICAgICAvKiogVGhlIHNj
YWxhciB2YWx1ZS4gKi8KKyAgICAgICAgICAgIHlhbWxfY2hhcl90ICp2YWx1ZTsKKyAgICAgICAg
ICAgIC8qKiBUaGUgbGVuZ3RoIG9mIHRoZSBzY2FsYXIgdmFsdWUuICovCisgICAgICAgICAgICBz
aXplX3QgbGVuZ3RoOworICAgICAgICAgICAgLyoqIElzIHRoZSB0YWcgb3B0aW9uYWwgZm9yIHRo
ZSBwbGFpbiBzdHlsZT8gKi8KKyAgICAgICAgICAgIGludCBwbGFpbl9pbXBsaWNpdDsKKyAgICAg
ICAgICAgIC8qKiBJcyB0aGUgdGFnIG9wdGlvbmFsIGZvciBhbnkgbm9uLXBsYWluIHN0eWxlPyAq
LworICAgICAgICAgICAgaW50IHF1b3RlZF9pbXBsaWNpdDsKKyAgICAgICAgICAgIC8qKiBUaGUg
c2NhbGFyIHN0eWxlLiAqLworICAgICAgICAgICAgeWFtbF9zY2FsYXJfc3R5bGVfdCBzdHlsZTsK
KyAgICAgICAgfSBzY2FsYXI7CisKKyAgICAgICAgLyoqIFRoZSBzZXF1ZW5jZSBwYXJhbWV0ZXJz
IChmb3IgQGMgWUFNTF9TRVFVRU5DRV9TVEFSVF9FVkVOVCkuICovCisgICAgICAgIHN0cnVjdCB7
CisgICAgICAgICAgICAvKiogVGhlIGFuY2hvci4gKi8KKyAgICAgICAgICAgIHlhbWxfY2hhcl90
ICphbmNob3I7CisgICAgICAgICAgICAvKiogVGhlIHRhZy4gKi8KKyAgICAgICAgICAgIHlhbWxf
Y2hhcl90ICp0YWc7CisgICAgICAgICAgICAvKiogSXMgdGhlIHRhZyBvcHRpb25hbD8gKi8KKyAg
ICAgICAgICAgIGludCBpbXBsaWNpdDsKKyAgICAgICAgICAgIC8qKiBUaGUgc2VxdWVuY2Ugc3R5
bGUuICovCisgICAgICAgICAgICB5YW1sX3NlcXVlbmNlX3N0eWxlX3Qgc3R5bGU7CisgICAgICAg
IH0gc2VxdWVuY2Vfc3RhcnQ7CisKKyAgICAgICAgLyoqIFRoZSBtYXBwaW5nIHBhcmFtZXRlcnMg
KGZvciBAYyBZQU1MX01BUFBJTkdfU1RBUlRfRVZFTlQpLiAqLworICAgICAgICBzdHJ1Y3Qgewor
ICAgICAgICAgICAgLyoqIFRoZSBhbmNob3IuICovCisgICAgICAgICAgICB5YW1sX2NoYXJfdCAq
YW5jaG9yOworICAgICAgICAgICAgLyoqIFRoZSB0YWcuICovCisgICAgICAgICAgICB5YW1sX2No
YXJfdCAqdGFnOworICAgICAgICAgICAgLyoqIElzIHRoZSB0YWcgb3B0aW9uYWw/ICovCisgICAg
ICAgICAgICBpbnQgaW1wbGljaXQ7CisgICAgICAgICAgICAvKiogVGhlIG1hcHBpbmcgc3R5bGUu
ICovCisgICAgICAgICAgICB5YW1sX21hcHBpbmdfc3R5bGVfdCBzdHlsZTsKKyAgICAgICAgfSBt
YXBwaW5nX3N0YXJ0OworCisgICAgfSBkYXRhOworCisgICAgLyoqIFRoZSBiZWdpbm5pbmcgb2Yg
dGhlIGV2ZW50LiAqLworICAgIHlhbWxfbWFya190IHN0YXJ0X21hcms7CisgICAgLyoqIFRoZSBl
bmQgb2YgdGhlIGV2ZW50LiAqLworICAgIHlhbWxfbWFya190IGVuZF9tYXJrOworCit9IHlhbWxf
ZXZlbnRfdDsKKworLyoqCisgKiBDcmVhdGUgdGhlIFNUUkVBTS1TVEFSVCBldmVudC4KKyAqCisg
KiBAcGFyYW1bb3V0XSAgICAgIGV2ZW50ICAgICAgIEFuIGVtcHR5IGV2ZW50IG9iamVjdC4KKyAq
IEBwYXJhbVtpbl0gICAgICAgZW5jb2RpbmcgICAgVGhlIHN0cmVhbSBlbmNvZGluZy4KKyAqCisg
KiBAcmV0dXJucyBAYyAxIGlmIHRoZSBmdW5jdGlvbiBzdWNjZWVkZWQsIEBjIDAgb24gZXJyb3Iu
CisgKi8KKworWUFNTF9ERUNMQVJFKGludCkKK3lhbWxfc3RyZWFtX3N0YXJ0X2V2ZW50X2luaXRp
YWxpemUoeWFtbF9ldmVudF90ICpldmVudCwKKyAgICAgICAgeWFtbF9lbmNvZGluZ190IGVuY29k
aW5nKTsKKworLyoqCisgKiBDcmVhdGUgdGhlIFNUUkVBTS1FTkQgZXZlbnQuCisgKgorICogQHBh
cmFtW291dF0gICAgICBldmVudCAgICAgICBBbiBlbXB0eSBldmVudCBvYmplY3QuCisgKgorICog
QHJldHVybnMgQGMgMSBpZiB0aGUgZnVuY3Rpb24gc3VjY2VlZGVkLCBAYyAwIG9uIGVycm9yLgor
ICovCisKK1lBTUxfREVDTEFSRShpbnQpCit5YW1sX3N0cmVhbV9lbmRfZXZlbnRfaW5pdGlhbGl6
ZSh5YW1sX2V2ZW50X3QgKmV2ZW50KTsKKworLyoqCisgKiBDcmVhdGUgdGhlIERPQ1VNRU5ULVNU
QVJUIGV2ZW50LgorICoKKyAqIFRoZSBAYSBpbXBsaWNpdCBhcmd1bWVudCBpcyBjb25zaWRlcmVk
IGFzIGEgc3R5bGlzdGljIHBhcmFtZXRlciBhbmQgbWF5IGJlCisgKiBpZ25vcmVkIGJ5IHRoZSBl
bWl0dGVyLgorICoKKyAqIEBwYXJhbVtvdXRdICAgICAgZXZlbnQgICAgICAgICAgICAgICAgICAg
QW4gZW1wdHkgZXZlbnQgb2JqZWN0LgorICogQHBhcmFtW2luXSAgICAgICB2ZXJzaW9uX2RpcmVj
dGl2ZSAgICAgICBUaGUgJVlBTUwgZGlyZWN0aXZlIHZhbHVlIG9yCisgKiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBjIE5VTEwuCisgKiBAcGFyYW1baW5dICAgICAg
IHRhZ19kaXJlY3RpdmVzX3N0YXJ0ICAgIFRoZSBiZWdpbm5pbmcgb2YgdGhlICVUQUcKKyAqICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlyZWN0aXZlcyBsaXN0Lgor
ICogQHBhcmFtW2luXSAgICAgICB0YWdfZGlyZWN0aXZlc19lbmQgICAgICBUaGUgZW5kIG9mIHRo
ZSAlVEFHIGRpcmVjdGl2ZXMKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbGlzdC4KKyAqIEBwYXJhbVtpbl0gICAgICAgaW1wbGljaXQgICAgICAgICAgICAgICAg
SWYgdGhlIGRvY3VtZW50IHN0YXJ0IGluZGljYXRvciBpcworICogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbXBsaWNpdC4KKyAqCisgKiBAcmV0dXJucyBAYyAxIGlm
IHRoZSBmdW5jdGlvbiBzdWNjZWVkZWQsIEBjIDAgb24gZXJyb3IuCisgKi8KKworWUFNTF9ERUNM
QVJFKGludCkKK3lhbWxfZG9jdW1lbnRfc3RhcnRfZXZlbnRfaW5pdGlhbGl6ZSh5YW1sX2V2ZW50
X3QgKmV2ZW50LAorICAgICAgICB5YW1sX3ZlcnNpb25fZGlyZWN0aXZlX3QgKnZlcnNpb25fZGly
ZWN0aXZlLAorICAgICAgICB5YW1sX3RhZ19kaXJlY3RpdmVfdCAqdGFnX2RpcmVjdGl2ZXNfc3Rh
cnQsCisgICAgICAgIHlhbWxfdGFnX2RpcmVjdGl2ZV90ICp0YWdfZGlyZWN0aXZlc19lbmQsCisg
ICAgICAgIGludCBpbXBsaWNpdCk7CisKKy8qKgorICogQ3JlYXRlIHRoZSBET0NVTUVOVC1FTkQg
ZXZlbnQuCisgKgorICogVGhlIEBhIGltcGxpY2l0IGFyZ3VtZW50IGlzIGNvbnNpZGVyZWQgYXMg
YSBzdHlsaXN0aWMgcGFyYW1ldGVyIGFuZCBtYXkgYmUKKyAqIGlnbm9yZWQgYnkgdGhlIGVtaXR0
ZXIuCisgKgorICogQHBhcmFtW291dF0gICAgICBldmVudCAgICAgICBBbiBlbXB0eSBldmVudCBv
YmplY3QuCisgKiBAcGFyYW1baW5dICAgICAgIGltcGxpY2l0ICAgIElmIHRoZSBkb2N1bWVudCBl
bmQgaW5kaWNhdG9yIGlzIGltcGxpY2l0LgorICoKKyAqIEByZXR1cm5zIEBjIDEgaWYgdGhlIGZ1
bmN0aW9uIHN1Y2NlZWRlZCwgQGMgMCBvbiBlcnJvci4KKyAqLworCitZQU1MX0RFQ0xBUkUoaW50
KQoreWFtbF9kb2N1bWVudF9lbmRfZXZlbnRfaW5pdGlhbGl6ZSh5YW1sX2V2ZW50X3QgKmV2ZW50
LCBpbnQgaW1wbGljaXQpOworCisvKioKKyAqIENyZWF0ZSBhbiBBTElBUyBldmVudC4KKyAqCisg
KiBAcGFyYW1bb3V0XSAgICAgIGV2ZW50ICAgICAgIEFuIGVtcHR5IGV2ZW50IG9iamVjdC4KKyAq
IEBwYXJhbVtpbl0gICAgICAgYW5jaG9yICAgICAgVGhlIGFuY2hvciB2YWx1ZS4KKyAqCisgKiBA
cmV0dXJucyBAYyAxIGlmIHRoZSBmdW5jdGlvbiBzdWNjZWVkZWQsIEBjIDAgb24gZXJyb3IuCisg
Ki8KKworWUFNTF9ERUNMQVJFKGludCkKK3lhbWxfYWxpYXNfZXZlbnRfaW5pdGlhbGl6ZSh5YW1s
X2V2ZW50X3QgKmV2ZW50LCB5YW1sX2NoYXJfdCAqYW5jaG9yKTsKKworLyoqCisgKiBDcmVhdGUg
YSBTQ0FMQVIgZXZlbnQuCisgKgorICogVGhlIEBhIHN0eWxlIGFyZ3VtZW50IG1heSBiZSBpZ25v
cmVkIGJ5IHRoZSBlbWl0dGVyLgorICoKKyAqIEVpdGhlciB0aGUgQGEgdGFnIGF0dHJpYnV0ZSBv
ciBvbmUgb2YgdGhlIEBhIHBsYWluX2ltcGxpY2l0IGFuZAorICogQGEgcXVvdGVkX2ltcGxpY2l0
IGZsYWdzIG11c3QgYmUgc2V0LgorICoKKyAqIEBwYXJhbVtvdXRdICAgICAgZXZlbnQgICAgICAg
ICAgIEFuIGVtcHR5IGV2ZW50IG9iamVjdC4KKyAqIEBwYXJhbVtpbl0gICAgICAgYW5jaG9yICAg
ICAgICAgIFRoZSBzY2FsYXIgYW5jaG9yIG9yIEBjIE5VTEwuCisgKiBAcGFyYW1baW5dICAgICAg
IHRhZyAgICAgICAgICAgICBUaGUgc2NhbGFyIHRhZyBvciBAYyBOVUxMLgorICogQHBhcmFtW2lu
XSAgICAgICB2YWx1ZSAgICAgICAgICAgVGhlIHNjYWxhciB2YWx1ZS4KKyAqIEBwYXJhbVtpbl0g
ICAgICAgbGVuZ3RoICAgICAgICAgIFRoZSBsZW5ndGggb2YgdGhlIHNjYWxhciB2YWx1ZS4KKyAq
IEBwYXJhbVtpbl0gICAgICAgcGxhaW5faW1wbGljaXQgIElmIHRoZSB0YWcgbWF5IGJlIG9taXR0
ZWQgZm9yIHRoZSBwbGFpbgorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5
bGUuCisgKiBAcGFyYW1baW5dICAgICAgIHF1b3RlZF9pbXBsaWNpdCBJZiB0aGUgdGFnIG1heSBi
ZSBvbWl0dGVkIGZvciBhbnkKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5v
bi1wbGFpbiBzdHlsZS4KKyAqIEBwYXJhbVtpbl0gICAgICAgc3R5bGUgICAgICAgICAgIFRoZSBz
Y2FsYXIgc3R5bGUuCisgKgorICogQHJldHVybnMgQGMgMSBpZiB0aGUgZnVuY3Rpb24gc3VjY2Vl
ZGVkLCBAYyAwIG9uIGVycm9yLgorICovCisKK1lBTUxfREVDTEFSRShpbnQpCit5YW1sX3NjYWxh
cl9ldmVudF9pbml0aWFsaXplKHlhbWxfZXZlbnRfdCAqZXZlbnQsCisgICAgICAgIHlhbWxfY2hh
cl90ICphbmNob3IsIHlhbWxfY2hhcl90ICp0YWcsCisgICAgICAgIHlhbWxfY2hhcl90ICp2YWx1
ZSwgaW50IGxlbmd0aCwKKyAgICAgICAgaW50IHBsYWluX2ltcGxpY2l0LCBpbnQgcXVvdGVkX2lt
cGxpY2l0LAorICAgICAgICB5YW1sX3NjYWxhcl9zdHlsZV90IHN0eWxlKTsKKworLyoqCisgKiBD
cmVhdGUgYSBTRVFVRU5DRS1TVEFSVCBldmVudC4KKyAqCisgKiBUaGUgQGEgc3R5bGUgYXJndW1l
bnQgbWF5IGJlIGlnbm9yZWQgYnkgdGhlIGVtaXR0ZXIuCisgKgorICogRWl0aGVyIHRoZSBAYSB0
YWcgYXR0cmlidXRlIG9yIHRoZSBAYSBpbXBsaWNpdCBmbGFnIG11c3QgYmUgc2V0LgorICoKKyAq
IEBwYXJhbVtvdXRdICAgICAgZXZlbnQgICAgICAgQW4gZW1wdHkgZXZlbnQgb2JqZWN0LgorICog
QHBhcmFtW2luXSAgICAgICBhbmNob3IgICAgICBUaGUgc2VxdWVuY2UgYW5jaG9yIG9yIEBjIE5V
TEwuCisgKiBAcGFyYW1baW5dICAgICAgIHRhZyAgICAgICAgIFRoZSBzZXF1ZW5jZSB0YWcgb3Ig
QGMgTlVMTC4KKyAqIEBwYXJhbVtpbl0gICAgICAgaW1wbGljaXQgICAgSWYgdGhlIHRhZyBtYXkg
YmUgb21pdHRlZC4KKyAqIEBwYXJhbVtpbl0gICAgICAgc3R5bGUgICAgICAgVGhlIHNlcXVlbmNl
IHN0eWxlLgorICoKKyAqIEByZXR1cm5zIEBjIDEgaWYgdGhlIGZ1bmN0aW9uIHN1Y2NlZWRlZCwg
QGMgMCBvbiBlcnJvci4KKyAqLworCitZQU1MX0RFQ0xBUkUoaW50KQoreWFtbF9zZXF1ZW5jZV9z
dGFydF9ldmVudF9pbml0aWFsaXplKHlhbWxfZXZlbnRfdCAqZXZlbnQsCisgICAgICAgIHlhbWxf
Y2hhcl90ICphbmNob3IsIHlhbWxfY2hhcl90ICp0YWcsIGludCBpbXBsaWNpdCwKKyAgICAgICAg
eWFtbF9zZXF1ZW5jZV9zdHlsZV90IHN0eWxlKTsKKworLyoqCisgKiBDcmVhdGUgYSBTRVFVRU5D
RS1FTkQgZXZlbnQuCisgKgorICogQHBhcmFtW291dF0gICAgICBldmVudCAgICAgICBBbiBlbXB0
eSBldmVudCBvYmplY3QuCisgKgorICogQHJldHVybnMgQGMgMSBpZiB0aGUgZnVuY3Rpb24gc3Vj
Y2VlZGVkLCBAYyAwIG9uIGVycm9yLgorICovCisKK1lBTUxfREVDTEFSRShpbnQpCit5YW1sX3Nl
cXVlbmNlX2VuZF9ldmVudF9pbml0aWFsaXplKHlhbWxfZXZlbnRfdCAqZXZlbnQpOworCisvKioK
KyAqIENyZWF0ZSBhIE1BUFBJTkctU1RBUlQgZXZlbnQuCisgKgorICogVGhlIEBhIHN0eWxlIGFy
Z3VtZW50IG1heSBiZSBpZ25vcmVkIGJ5IHRoZSBlbWl0dGVyLgorICoKKyAqIEVpdGhlciB0aGUg
QGEgdGFnIGF0dHJpYnV0ZSBvciB0aGUgQGEgaW1wbGljaXQgZmxhZyBtdXN0IGJlIHNldC4KKyAq
CisgKiBAcGFyYW1bb3V0XSAgICAgIGV2ZW50ICAgICAgIEFuIGVtcHR5IGV2ZW50IG9iamVjdC4K
KyAqIEBwYXJhbVtpbl0gICAgICAgYW5jaG9yICAgICAgVGhlIG1hcHBpbmcgYW5jaG9yIG9yIEBj
IE5VTEwuCisgKiBAcGFyYW1baW5dICAgICAgIHRhZyAgICAgICAgIFRoZSBtYXBwaW5nIHRhZyBv
ciBAYyBOVUxMLgorICogQHBhcmFtW2luXSAgICAgICBpbXBsaWNpdCAgICBJZiB0aGUgdGFnIG1h
eSBiZSBvbWl0dGVkLgorICogQHBhcmFtW2luXSAgICAgICBzdHlsZSAgICAgICBUaGUgbWFwcGlu
ZyBzdHlsZS4KKyAqCisgKiBAcmV0dXJucyBAYyAxIGlmIHRoZSBmdW5jdGlvbiBzdWNjZWVkZWQs
IEBjIDAgb24gZXJyb3IuCisgKi8KKworWUFNTF9ERUNMQVJFKGludCkKK3lhbWxfbWFwcGluZ19z
dGFydF9ldmVudF9pbml0aWFsaXplKHlhbWxfZXZlbnRfdCAqZXZlbnQsCisgICAgICAgIHlhbWxf
Y2hhcl90ICphbmNob3IsIHlhbWxfY2hhcl90ICp0YWcsIGludCBpbXBsaWNpdCwKKyAgICAgICAg
eWFtbF9tYXBwaW5nX3N0eWxlX3Qgc3R5bGUpOworCisvKioKKyAqIENyZWF0ZSBhIE1BUFBJTkct
RU5EIGV2ZW50LgorICoKKyAqIEBwYXJhbVtvdXRdICAgICAgZXZlbnQgICAgICAgQW4gZW1wdHkg
ZXZlbnQgb2JqZWN0LgorICoKKyAqIEByZXR1cm5zIEBjIDEgaWYgdGhlIGZ1bmN0aW9uIHN1Y2Nl
ZWRlZCwgQGMgMCBvbiBlcnJvci4KKyAqLworCitZQU1MX0RFQ0xBUkUoaW50KQoreWFtbF9tYXBw
aW5nX2VuZF9ldmVudF9pbml0aWFsaXplKHlhbWxfZXZlbnRfdCAqZXZlbnQpOworCisvKioKKyAq
IEZyZWUgYW55IG1lbW9yeSBhbGxvY2F0ZWQgZm9yIGFuIGV2ZW50IG9iamVjdC4KKyAqCisgKiBA
cGFyYW1baW4sb3V0XSAgIGV2ZW50ICAgQW4gZXZlbnQgb2JqZWN0LgorICovCisKK1lBTUxfREVD
TEFSRSh2b2lkKQoreWFtbF9ldmVudF9kZWxldGUoeWFtbF9ldmVudF90ICpldmVudCk7CisKKy8q
KiBAfSAqLworCisvKioKKyAqIEBkZWZncm91cCBub2RlcyBOb2RlcworICogQHsKKyAqLworCisv
KiogVGhlIHRhZyBAYyAhIW51bGwgd2l0aCB0aGUgb25seSBwb3NzaWJsZSB2YWx1ZTogQGMgbnVs
bC4gKi8KKyNkZWZpbmUgWUFNTF9OVUxMX1RBRyAgICAgICAidGFnOnlhbWwub3JnLDIwMDI6bnVs
bCIKKy8qKiBUaGUgdGFnIEBjICEhYm9vbCB3aXRoIHRoZSB2YWx1ZXM6IEBjIHRydWUgYW5kIEBj
IGZhbGNlLiAqLworI2RlZmluZSBZQU1MX0JPT0xfVEFHICAgICAgICJ0YWc6eWFtbC5vcmcsMjAw
Mjpib29sIgorLyoqIFRoZSB0YWcgQGMgISFzdHIgZm9yIHN0cmluZyB2YWx1ZXMuICovCisjZGVm
aW5lIFlBTUxfU1RSX1RBRyAgICAgICAgInRhZzp5YW1sLm9yZywyMDAyOnN0ciIKKy8qKiBUaGUg
dGFnIEBjICEhaW50IGZvciBpbnRlZ2VyIHZhbHVlcy4gKi8KKyNkZWZpbmUgWUFNTF9JTlRfVEFH
ICAgICAgICAidGFnOnlhbWwub3JnLDIwMDI6aW50IgorLyoqIFRoZSB0YWcgQGMgISFmbG9hdCBm
b3IgZmxvYXQgdmFsdWVzLiAqLworI2RlZmluZSBZQU1MX0ZMT0FUX1RBRyAgICAgICJ0YWc6eWFt
bC5vcmcsMjAwMjpmbG9hdCIKKy8qKiBUaGUgdGFnIEBjICEhdGltZXN0YW1wIGZvciBkYXRlIGFu
ZCB0aW1lIHZhbHVlcy4gKi8KKyNkZWZpbmUgWUFNTF9USU1FU1RBTVBfVEFHICAidGFnOnlhbWwu
b3JnLDIwMDI6dGltZXN0YW1wIgorCisvKiogVGhlIHRhZyBAYyAhIXNlcSBpcyB1c2VkIHRvIGRl
bm90ZSBzZXF1ZW5jZXMuICovCisjZGVmaW5lIFlBTUxfU0VRX1RBRyAgICAgICAgInRhZzp5YW1s
Lm9yZywyMDAyOnNlcSIKKy8qKiBUaGUgdGFnIEBjICEhbWFwIGlzIHVzZWQgdG8gZGVub3RlIG1h
cHBpbmcuICovCisjZGVmaW5lIFlBTUxfTUFQX1RBRyAgICAgICAgInRhZzp5YW1sLm9yZywyMDAy
Om1hcCIKKworLyoqIFRoZSBkZWZhdWx0IHNjYWxhciB0YWcgaXMgQGMgISFzdHIuICovCisjZGVm
aW5lIFlBTUxfREVGQVVMVF9TQ0FMQVJfVEFHICAgICBZQU1MX1NUUl9UQUcKKy8qKiBUaGUgZGVm
YXVsdCBzZXF1ZW5jZSB0YWcgaXMgQGMgISFzZXEuICovCisjZGVmaW5lIFlBTUxfREVGQVVMVF9T
RVFVRU5DRV9UQUcgICBZQU1MX1NFUV9UQUcKKy8qKiBUaGUgZGVmYXVsdCBtYXBwaW5nIHRhZyBp
cyBAYyAhIW1hcC4gKi8KKyNkZWZpbmUgWUFNTF9ERUZBVUxUX01BUFBJTkdfVEFHICAgIFlBTUxf
TUFQX1RBRworCisvKiogTm9kZSB0eXBlcy4gKi8KK3R5cGVkZWYgZW51bSB5YW1sX25vZGVfdHlw
ZV9lIHsKKyAgICAvKiogQW4gZW1wdHkgbm9kZS4gKi8KKyAgICBZQU1MX05PX05PREUsCisKKyAg
ICAvKiogQSBzY2FsYXIgbm9kZS4gKi8KKyAgICBZQU1MX1NDQUxBUl9OT0RFLAorICAgIC8qKiBB
IHNlcXVlbmNlIG5vZGUuICovCisgICAgWUFNTF9TRVFVRU5DRV9OT0RFLAorICAgIC8qKiBBIG1h
cHBpbmcgbm9kZS4gKi8KKyAgICBZQU1MX01BUFBJTkdfTk9ERQorfSB5YW1sX25vZGVfdHlwZV90
OworCisvKiogVGhlIGZvcndhcmQgZGVmaW5pdGlvbiBvZiBhIGRvY3VtZW50IG5vZGUgc3RydWN0
dXJlLiAqLwordHlwZWRlZiBzdHJ1Y3QgeWFtbF9ub2RlX3MgeWFtbF9ub2RlX3Q7CisKKy8qKiBB
biBlbGVtZW50IG9mIGEgc2VxdWVuY2Ugbm9kZS4gKi8KK3R5cGVkZWYgaW50IHlhbWxfbm9kZV9p
dGVtX3Q7CisKKy8qKiBBbiBlbGVtZW50IG9mIGEgbWFwcGluZyBub2RlLiAqLwordHlwZWRlZiBz
dHJ1Y3QgeWFtbF9ub2RlX3BhaXJfcyB7CisgICAgLyoqIFRoZSBrZXkgb2YgdGhlIGVsZW1lbnQu
ICovCisgICAgaW50IGtleTsKKyAgICAvKiogVGhlIHZhbHVlIG9mIHRoZSBlbGVtZW50LiAqLwor
ICAgIGludCB2YWx1ZTsKK30geWFtbF9ub2RlX3BhaXJfdDsKKworLyoqIFRoZSBub2RlIHN0cnVj
dHVyZS4gKi8KK3N0cnVjdCB5YW1sX25vZGVfcyB7CisKKyAgICAvKiogVGhlIG5vZGUgdHlwZS4g
Ki8KKyAgICB5YW1sX25vZGVfdHlwZV90IHR5cGU7CisKKyAgICAvKiogVGhlIG5vZGUgdGFnLiAq
LworICAgIHlhbWxfY2hhcl90ICp0YWc7CisKKyAgICAvKiogVGhlIG5vZGUgZGF0YS4gKi8KKyAg
ICB1bmlvbiB7CisKKyAgICAgICAgLyoqIFRoZSBzY2FsYXIgcGFyYW1ldGVycyAoZm9yIEBjIFlB
TUxfU0NBTEFSX05PREUpLiAqLworICAgICAgICBzdHJ1Y3QgeworICAgICAgICAgICAgLyoqIFRo
ZSBzY2FsYXIgdmFsdWUuICovCisgICAgICAgICAgICB5YW1sX2NoYXJfdCAqdmFsdWU7CisgICAg
ICAgICAgICAvKiogVGhlIGxlbmd0aCBvZiB0aGUgc2NhbGFyIHZhbHVlLiAqLworICAgICAgICAg
ICAgc2l6ZV90IGxlbmd0aDsKKyAgICAgICAgICAgIC8qKiBUaGUgc2NhbGFyIHN0eWxlLiAqLwor
ICAgICAgICAgICAgeWFtbF9zY2FsYXJfc3R5bGVfdCBzdHlsZTsKKyAgICAgICAgfSBzY2FsYXI7
CisKKyAgICAgICAgLyoqIFRoZSBzZXF1ZW5jZSBwYXJhbWV0ZXJzIChmb3IgQGMgWUFNTF9TRVFV
RU5DRV9OT0RFKS4gKi8KKyAgICAgICAgc3RydWN0IHsKKyAgICAgICAgICAgIC8qKiBUaGUgc3Rh
Y2sgb2Ygc2VxdWVuY2UgaXRlbXMuICovCisgICAgICAgICAgICBzdHJ1Y3QgeworICAgICAgICAg
ICAgICAgIC8qKiBUaGUgYmVnaW5uaW5nIG9mIHRoZSBzdGFjay4gKi8KKyAgICAgICAgICAgICAg
ICB5YW1sX25vZGVfaXRlbV90ICpzdGFydDsKKyAgICAgICAgICAgICAgICAvKiogVGhlIGVuZCBv
ZiB0aGUgc3RhY2suICovCisgICAgICAgICAgICAgICAgeWFtbF9ub2RlX2l0ZW1fdCAqZW5kOwor
ICAgICAgICAgICAgICAgIC8qKiBUaGUgdG9wIG9mIHRoZSBzdGFjay4gKi8KKyAgICAgICAgICAg
ICAgICB5YW1sX25vZGVfaXRlbV90ICp0b3A7CisgICAgICAgICAgICB9IGl0ZW1zOworICAgICAg
ICAgICAgLyoqIFRoZSBzZXF1ZW5jZSBzdHlsZS4gKi8KKyAgICAgICAgICAgIHlhbWxfc2VxdWVu
Y2Vfc3R5bGVfdCBzdHlsZTsKKyAgICAgICAgfSBzZXF1ZW5jZTsKKworICAgICAgICAvKiogVGhl
IG1hcHBpbmcgcGFyYW1ldGVycyAoZm9yIEBjIFlBTUxfTUFQUElOR19OT0RFKS4gKi8KKyAgICAg
ICAgc3RydWN0IHsKKyAgICAgICAgICAgIC8qKiBUaGUgc3RhY2sgb2YgbWFwcGluZyBwYWlycyAo
a2V5LCB2YWx1ZSkuICovCisgICAgICAgICAgICBzdHJ1Y3QgeworICAgICAgICAgICAgICAgIC8q
KiBUaGUgYmVnaW5uaW5nIG9mIHRoZSBzdGFjay4gKi8KKyAgICAgICAgICAgICAgICB5YW1sX25v
ZGVfcGFpcl90ICpzdGFydDsKKyAgICAgICAgICAgICAgICAvKiogVGhlIGVuZCBvZiB0aGUgc3Rh
Y2suICovCisgICAgICAgICAgICAgICAgeWFtbF9ub2RlX3BhaXJfdCAqZW5kOworICAgICAgICAg
ICAgICAgIC8qKiBUaGUgdG9wIG9mIHRoZSBzdGFjay4gKi8KKyAgICAgICAgICAgICAgICB5YW1s
X25vZGVfcGFpcl90ICp0b3A7CisgICAgICAgICAgICB9IHBhaXJzOworICAgICAgICAgICAgLyoq
IFRoZSBtYXBwaW5nIHN0eWxlLiAqLworICAgICAgICAgICAgeWFtbF9tYXBwaW5nX3N0eWxlX3Qg
c3R5bGU7CisgICAgICAgIH0gbWFwcGluZzsKKworICAgIH0gZGF0YTsKKworICAgIC8qKiBUaGUg
YmVnaW5uaW5nIG9mIHRoZSBub2RlLiAqLworICAgIHlhbWxfbWFya190IHN0YXJ0X21hcms7Cisg
ICAgLyoqIFRoZSBlbmQgb2YgdGhlIG5vZGUuICovCisgICAgeWFtbF9tYXJrX3QgZW5kX21hcms7
CisKK307CisKKy8qKiBUaGUgZG9jdW1lbnQgc3RydWN0dXJlLiAqLwordHlwZWRlZiBzdHJ1Y3Qg
eWFtbF9kb2N1bWVudF9zIHsKKworICAgIC8qKiBUaGUgZG9jdW1lbnQgbm9kZXMuICovCisgICAg
c3RydWN0IHsKKyAgICAgICAgLyoqIFRoZSBiZWdpbm5pbmcgb2YgdGhlIHN0YWNrLiAqLworICAg
ICAgICB5YW1sX25vZGVfdCAqc3RhcnQ7CisgICAgICAgIC8qKiBUaGUgZW5kIG9mIHRoZSBzdGFj
ay4gKi8KKyAgICAgICAgeWFtbF9ub2RlX3QgKmVuZDsKKyAgICAgICAgLyoqIFRoZSB0b3Agb2Yg
dGhlIHN0YWNrLiAqLworICAgICAgICB5YW1sX25vZGVfdCAqdG9wOworICAgIH0gbm9kZXM7CisK
KyAgICAvKiogVGhlIHZlcnNpb24gZGlyZWN0aXZlLiAqLworICAgIHlhbWxfdmVyc2lvbl9kaXJl
Y3RpdmVfdCAqdmVyc2lvbl9kaXJlY3RpdmU7CisKKyAgICAvKiogVGhlIGxpc3Qgb2YgdGFnIGRp
cmVjdGl2ZXMuICovCisgICAgc3RydWN0IHsKKyAgICAgICAgLyoqIFRoZSBiZWdpbm5pbmcgb2Yg
dGhlIHRhZyBkaXJlY3RpdmVzIGxpc3QuICovCisgICAgICAgIHlhbWxfdGFnX2RpcmVjdGl2ZV90
ICpzdGFydDsKKyAgICAgICAgLyoqIFRoZSBlbmQgb2YgdGhlIHRhZyBkaXJlY3RpdmVzIGxpc3Qu
ICovCisgICAgICAgIHlhbWxfdGFnX2RpcmVjdGl2ZV90ICplbmQ7CisgICAgfSB0YWdfZGlyZWN0
aXZlczsKKworICAgIC8qKiBJcyB0aGUgZG9jdW1lbnQgc3RhcnQgaW5kaWNhdG9yIGltcGxpY2l0
PyAqLworICAgIGludCBzdGFydF9pbXBsaWNpdDsKKyAgICAvKiogSXMgdGhlIGRvY3VtZW50IGVu
ZCBpbmRpY2F0b3IgaW1wbGljaXQ/ICovCisgICAgaW50IGVuZF9pbXBsaWNpdDsKKworICAgIC8q
KiBUaGUgYmVnaW5uaW5nIG9mIHRoZSBkb2N1bWVudC4gKi8KKyAgICB5YW1sX21hcmtfdCBzdGFy
dF9tYXJrOworICAgIC8qKiBUaGUgZW5kIG9mIHRoZSBkb2N1bWVudC4gKi8KKyAgICB5YW1sX21h
cmtfdCBlbmRfbWFyazsKKworfSB5YW1sX2RvY3VtZW50X3Q7CisKKy8qKgorICogQ3JlYXRlIGEg
WUFNTCBkb2N1bWVudC4KKyAqCisgKiBAcGFyYW1bb3V0XSAgICAgIGRvY3VtZW50ICAgICAgICAg
ICAgICAgIEFuIGVtcHR5IGRvY3VtZW50IG9iamVjdC4KKyAqIEBwYXJhbVtpbl0gICAgICAgdmVy
c2lvbl9kaXJlY3RpdmUgICAgICAgVGhlICVZQU1MIGRpcmVjdGl2ZSB2YWx1ZSBvcgorICogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAYyBOVUxMLgorICogQHBhcmFt
W2luXSAgICAgICB0YWdfZGlyZWN0aXZlc19zdGFydCAgICBUaGUgYmVnaW5uaW5nIG9mIHRoZSAl
VEFHCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdGl2
ZXMgbGlzdC4KKyAqIEBwYXJhbVtpbl0gICAgICAgdGFnX2RpcmVjdGl2ZXNfZW5kICAgICAgVGhl
IGVuZCBvZiB0aGUgJVRBRyBkaXJlY3RpdmVzCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGxpc3QuCisgKiBAcGFyYW1baW5dICAgICAgIHN0YXJ0X2ltcGxpY2l0
ICAgICAgICAgIElmIHRoZSBkb2N1bWVudCBzdGFydCBpbmRpY2F0b3IgaXMKKyAqICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1wbGljaXQuCisgKiBAcGFyYW1baW5d
ICAgICAgIGVuZF9pbXBsaWNpdCAgICAgICAgICAgIElmIHRoZSBkb2N1bWVudCBlbmQgaW5kaWNh
dG9yIGlzCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltcGxp
Y2l0LgorICoKKyAqIEByZXR1cm5zIEBjIDEgaWYgdGhlIGZ1bmN0aW9uIHN1Y2NlZWRlZCwgQGMg
MCBvbiBlcnJvci4KKyAqLworCitZQU1MX0RFQ0xBUkUoaW50KQoreWFtbF9kb2N1bWVudF9pbml0
aWFsaXplKHlhbWxfZG9jdW1lbnRfdCAqZG9jdW1lbnQsCisgICAgICAgIHlhbWxfdmVyc2lvbl9k
aXJlY3RpdmVfdCAqdmVyc2lvbl9kaXJlY3RpdmUsCisgICAgICAgIHlhbWxfdGFnX2RpcmVjdGl2
ZV90ICp0YWdfZGlyZWN0aXZlc19zdGFydCwKKyAgICAgICAgeWFtbF90YWdfZGlyZWN0aXZlX3Qg
KnRhZ19kaXJlY3RpdmVzX2VuZCwKKyAgICAgICAgaW50IHN0YXJ0X2ltcGxpY2l0LCBpbnQgZW5k
X2ltcGxpY2l0KTsKKworLyoqCisgKiBEZWxldGUgYSBZQU1MIGRvY3VtZW50IGFuZCBhbGwgaXRz
IG5vZGVzLgorICoKKyAqIEBwYXJhbVtpbixvdXRdICAgZG9jdW1lbnQgICAgICAgIEEgZG9jdW1l
bnQgb2JqZWN0LgorICovCisKK1lBTUxfREVDTEFSRSh2b2lkKQoreWFtbF9kb2N1bWVudF9kZWxl
dGUoeWFtbF9kb2N1bWVudF90ICpkb2N1bWVudCk7CisKKy8qKgorICogR2V0IGEgbm9kZSBvZiBh
IFlBTUwgZG9jdW1lbnQuCisgKgorICogVGhlIHBvaW50ZXIgcmV0dXJuZWQgYnkgdGhpcyBmdW5j
dGlvbiBpcyB2YWxpZCB1bnRpbCBhbnkgb2YgdGhlIGZ1bmN0aW9ucworICogbW9kaWZ5aW5nIHRo
ZSBkb2N1bWVudHMgYXJlIGNhbGxlZC4KKyAqCisgKiBAcGFyYW1baW5dICAgICAgIGRvY3VtZW50
ICAgICAgICBBIGRvY3VtZW50IG9iamVjdC4KKyAqIEBwYXJhbVtpbl0gICAgICAgaW5kZXggICAg
ICAgICAgIFRoZSBub2RlIGlkLgorICoKKyAqIEByZXR1cm5zIHRoZSBub2RlIG9iamN0IG9yIEBj
IE5VTEwgaWYgQGMgbm9kZV9pZCBpcyBvdXQgb2YgcmFuZ2UuCisgKi8KKworWUFNTF9ERUNMQVJF
KHlhbWxfbm9kZV90ICopCit5YW1sX2RvY3VtZW50X2dldF9ub2RlKHlhbWxfZG9jdW1lbnRfdCAq
ZG9jdW1lbnQsIGludCBpbmRleCk7CisKKy8qKgorICogR2V0IHRoZSByb290IG9mIGEgWUFNTCBk
b2N1bWVudCBub2RlLgorICoKKyAqIFRoZSByb290IG9iamVjdCBpcyB0aGUgZmlyc3Qgb2JqZWN0
IGFkZGVkIHRvIHRoZSBkb2N1bWVudC4KKyAqCisgKiBUaGUgcG9pbnRlciByZXR1cm5lZCBieSB0
aGlzIGZ1bmN0aW9uIGlzIHZhbGlkIHVudGlsIGFueSBvZiB0aGUgZnVuY3Rpb25zCisgKiBtb2Rp
ZnlpbmcgdGhlIGRvY3VtZW50cyBhcmUgY2FsbGVkLgorICoKKyAqIEFuIGVtcHR5IGRvY3VtZW50
IHByb2R1Y2VkIGJ5IHRoZSBwYXJzZXIgc2lnbmlmaWVzIHRoZSBlbmQgb2YgYSBZQU1MCisgKiBz
dHJlYW0uCisgKgorICogQHBhcmFtW2luXSAgICAgICBkb2N1bWVudCAgICAgICAgQSBkb2N1bWVu
dCBvYmplY3QuCisgKgorICogQHJldHVybnMgdGhlIG5vZGUgb2JqZWN0IG9yIEBjIE5VTEwgaWYg
dGhlIGRvY3VtZW50IGlzIGVtcHR5LgorICovCisKK1lBTUxfREVDTEFSRSh5YW1sX25vZGVfdCAq
KQoreWFtbF9kb2N1bWVudF9nZXRfcm9vdF9ub2RlKHlhbWxfZG9jdW1lbnRfdCAqZG9jdW1lbnQp
OworCisvKioKKyAqIENyZWF0ZSBhIFNDQUxBUiBub2RlIGFuZCBhdHRhY2ggaXQgdG8gdGhlIGRv
Y3VtZW50LgorICoKKyAqIFRoZSBAYSBzdHlsZSBhcmd1bWVudCBtYXkgYmUgaWdub3JlZCBieSB0
aGUgZW1pdHRlci4KKyAqCisgKiBAcGFyYW1baW4sb3V0XSAgIGRvY3VtZW50ICAgICAgICBBIGRv
Y3VtZW50IG9iamVjdC4KKyAqIEBwYXJhbVtpbl0gICAgICAgdGFnICAgICAgICAgICAgIFRoZSBz
Y2FsYXIgdGFnLgorICogQHBhcmFtW2luXSAgICAgICB2YWx1ZSAgICAgICAgICAgVGhlIHNjYWxh
ciB2YWx1ZS4KKyAqIEBwYXJhbVtpbl0gICAgICAgbGVuZ3RoICAgICAgICAgIFRoZSBsZW5ndGgg
b2YgdGhlIHNjYWxhciB2YWx1ZS4KKyAqIEBwYXJhbVtpbl0gICAgICAgc3R5bGUgICAgICAgICAg
IFRoZSBzY2FsYXIgc3R5bGUuCisgKgorICogQHJldHVybnMgdGhlIG5vZGUgaWQgb3IgQGMgMCBv
biBlcnJvci4KKyAqLworCitZQU1MX0RFQ0xBUkUoaW50KQoreWFtbF9kb2N1bWVudF9hZGRfc2Nh
bGFyKHlhbWxfZG9jdW1lbnRfdCAqZG9jdW1lbnQsCisgICAgICAgIHlhbWxfY2hhcl90ICp0YWcs
IHlhbWxfY2hhcl90ICp2YWx1ZSwgaW50IGxlbmd0aCwKKyAgICAgICAgeWFtbF9zY2FsYXJfc3R5
bGVfdCBzdHlsZSk7CisKKy8qKgorICogQ3JlYXRlIGEgU0VRVUVOQ0Ugbm9kZSBhbmQgYXR0YWNo
IGl0IHRvIHRoZSBkb2N1bWVudC4KKyAqCisgKiBUaGUgQGEgc3R5bGUgYXJndW1lbnQgbWF5IGJl
IGlnbm9yZWQgYnkgdGhlIGVtaXR0ZXIuCisgKgorICogQHBhcmFtW2luLG91dF0gICBkb2N1bWVu
dCAgICBBIGRvY3VtZW50IG9iamVjdC4KKyAqIEBwYXJhbVtpbl0gICAgICAgdGFnICAgICAgICAg
VGhlIHNlcXVlbmNlIHRhZy4KKyAqIEBwYXJhbVtpbl0gICAgICAgc3R5bGUgICAgICAgVGhlIHNl
cXVlbmNlIHN0eWxlLgorICoKKyAqIEByZXR1cm5zIHRoZSBub2RlIGlkIG9yIEBjIDAgb24gZXJy
b3IuCisgKi8KKworWUFNTF9ERUNMQVJFKGludCkKK3lhbWxfZG9jdW1lbnRfYWRkX3NlcXVlbmNl
KHlhbWxfZG9jdW1lbnRfdCAqZG9jdW1lbnQsCisgICAgICAgIHlhbWxfY2hhcl90ICp0YWcsIHlh
bWxfc2VxdWVuY2Vfc3R5bGVfdCBzdHlsZSk7CisKKy8qKgorICogQ3JlYXRlIGEgTUFQUElORyBu
b2RlIGFuZCBhdHRhY2ggaXQgdG8gdGhlIGRvY3VtZW50LgorICoKKyAqIFRoZSBAYSBzdHlsZSBh
cmd1bWVudCBtYXkgYmUgaWdub3JlZCBieSB0aGUgZW1pdHRlci4KKyAqCisgKiBAcGFyYW1baW4s
b3V0XSAgIGRvY3VtZW50ICAgIEEgZG9jdW1lbnQgb2JqZWN0LgorICogQHBhcmFtW2luXSAgICAg
ICB0YWcgICAgICAgICBUaGUgc2VxdWVuY2UgdGFnLgorICogQHBhcmFtW2luXSAgICAgICBzdHls
ZSAgICAgICBUaGUgc2VxdWVuY2Ugc3R5bGUuCisgKgorICogQHJldHVybnMgdGhlIG5vZGUgaWQg
b3IgQGMgMCBvbiBlcnJvci4KKyAqLworCitZQU1MX0RFQ0xBUkUoaW50KQoreWFtbF9kb2N1bWVu
dF9hZGRfbWFwcGluZyh5YW1sX2RvY3VtZW50X3QgKmRvY3VtZW50LAorICAgICAgICB5YW1sX2No
YXJfdCAqdGFnLCB5YW1sX21hcHBpbmdfc3R5bGVfdCBzdHlsZSk7CisKKy8qKgorICogQWRkIGFu
IGl0ZW0gdG8gYSBTRVFVRU5DRSBub2RlLgorICoKKyAqIEBwYXJhbVtpbixvdXRdICAgZG9jdW1l
bnQgICAgQSBkb2N1bWVudCBvYmplY3QuCisgKiBAcGFyYW1baW5dICAgICAgIHNlcXVlbmNlICAg
IFRoZSBzZXF1ZW5jZSBub2RlIGlkLgorICogQHBhcmFtW2luXSAgICAgICBpdGVtICAgICAgICBU
aGUgaXRlbSBub2RlIGlkLgorKgorICogQHJldHVybnMgQGMgMSBpZiB0aGUgZnVuY3Rpb24gc3Vj
Y2VlZGVkLCBAYyAwIG9uIGVycm9yLgorICovCisKK1lBTUxfREVDTEFSRShpbnQpCit5YW1sX2Rv
Y3VtZW50X2FwcGVuZF9zZXF1ZW5jZV9pdGVtKHlhbWxfZG9jdW1lbnRfdCAqZG9jdW1lbnQsCisg
ICAgICAgIGludCBzZXF1ZW5jZSwgaW50IGl0ZW0pOworCisvKioKKyAqIEFkZCBhIHBhaXIgb2Yg
YSBrZXkgYW5kIGEgdmFsdWUgdG8gYSBNQVBQSU5HIG5vZGUuCisgKgorICogQHBhcmFtW2luLG91
dF0gICBkb2N1bWVudCAgICBBIGRvY3VtZW50IG9iamVjdC4KKyAqIEBwYXJhbVtpbl0gICAgICAg
bWFwcGluZyAgICAgVGhlIG1hcHBpbmcgbm9kZSBpZC4KKyAqIEBwYXJhbVtpbl0gICAgICAga2V5
ICAgICAgICAgVGhlIGtleSBub2RlIGlkLgorICogQHBhcmFtW2luXSAgICAgICB2YWx1ZSAgICAg
ICBUaGUgdmFsdWUgbm9kZSBpZC4KKyoKKyAqIEByZXR1cm5zIEBjIDEgaWYgdGhlIGZ1bmN0aW9u
IHN1Y2NlZWRlZCwgQGMgMCBvbiBlcnJvci4KKyAqLworCitZQU1MX0RFQ0xBUkUoaW50KQoreWFt
bF9kb2N1bWVudF9hcHBlbmRfbWFwcGluZ19wYWlyKHlhbWxfZG9jdW1lbnRfdCAqZG9jdW1lbnQs
CisgICAgICAgIGludCBtYXBwaW5nLCBpbnQga2V5LCBpbnQgdmFsdWUpOworCisvKiogQH0gKi8K
KworLyoqCisgKiBAZGVmZ3JvdXAgcGFyc2VyIFBhcnNlciBEZWZpbml0aW9ucworICogQHsKKyAq
LworCisvKioKKyAqIFRoZSBwcm90b3R5cGUgb2YgYSByZWFkIGhhbmRsZXIuCisgKgorICogVGhl
IHJlYWQgaGFuZGxlciBpcyBjYWxsZWQgd2hlbiB0aGUgcGFyc2VyIG5lZWRzIHRvIHJlYWQgbW9y
ZSBieXRlcyBmcm9tIHRoZQorICogc291cmNlLiAgVGhlIGhhbmRsZXIgc2hvdWxkIHdyaXRlIG5v
dCBtb3JlIHRoYW4gQGEgc2l6ZSBieXRlcyB0byB0aGUgQGEKKyAqIGJ1ZmZlci4gIFRoZSBudW1i
ZXIgb2Ygd3JpdHRlbiBieXRlcyBzaG91bGQgYmUgc2V0IHRvIHRoZSBAYSBsZW5ndGggdmFyaWFi
bGUuCisgKgorICogQHBhcmFtW2luLG91dF0gICBkYXRhICAgICAgICBBIHBvaW50ZXIgdG8gYW4g
YXBwbGljYXRpb24gZGF0YSBzcGVjaWZpZWQgYnkKKyAqICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgeWFtbF9wYXJzZXJfc2V0X2lucHV0KCkuCisgKiBAcGFyYW1bb3V0XSAgICAgIGJ1ZmZl
ciAgICAgIFRoZSBidWZmZXIgdG8gd3JpdGUgdGhlIGRhdGEgZnJvbSB0aGUgc291cmNlLgorICog
QHBhcmFtW2luXSAgICAgICBzaXplICAgICAgICBUaGUgc2l6ZSBvZiB0aGUgYnVmZmVyLgorICog
QHBhcmFtW291dF0gICAgICBzaXplX3JlYWQgICBUaGUgYWN0dWFsIG51bWJlciBvZiBieXRlcyBy
ZWFkIGZyb20gdGhlIHNvdXJjZS4KKyAqCisgKiBAcmV0dXJucyBPbiBzdWNjZXNzLCB0aGUgaGFu
ZGxlciBzaG91bGQgcmV0dXJuIEBjIDEuICBJZiB0aGUgaGFuZGxlciBmYWlsZWQsCisgKiB0aGUg
cmV0dXJuZWQgdmFsdWUgc2hvdWxkIGJlIEBjIDAuICBPbiBFT0YsIHRoZSBoYW5kbGVyIHNob3Vs
ZCBzZXQgdGhlCisgKiBAYSBzaXplX3JlYWQgdG8gQGMgMCBhbmQgcmV0dXJuIEBjIDEuCisgKi8K
KwordHlwZWRlZiBpbnQgeWFtbF9yZWFkX2hhbmRsZXJfdCh2b2lkICpkYXRhLCB1bnNpZ25lZCBj
aGFyICpidWZmZXIsIHNpemVfdCBzaXplLAorICAgICAgICBzaXplX3QgKnNpemVfcmVhZCk7CisK
Ky8qKgorICogVGhpcyBzdHJ1Y3R1cmUgaG9sZHMgaW5mb3JtYXRpb24gYWJvdXQgYSBwb3RlbnRp
YWwgc2ltcGxlIGtleS4KKyAqLworCit0eXBlZGVmIHN0cnVjdCB5YW1sX3NpbXBsZV9rZXlfcyB7
CisgICAgLyoqIElzIGEgc2ltcGxlIGtleSBwb3NzaWJsZT8gKi8KKyAgICBpbnQgcG9zc2libGU7
CisKKyAgICAvKiogSXMgYSBzaW1wbGUga2V5IHJlcXVpcmVkPyAqLworICAgIGludCByZXF1aXJl
ZDsKKworICAgIC8qKiBUaGUgbnVtYmVyIG9mIHRoZSB0b2tlbi4gKi8KKyAgICBzaXplX3QgdG9r
ZW5fbnVtYmVyOworCisgICAgLyoqIFRoZSBwb3NpdGlvbiBtYXJrLiAqLworICAgIHlhbWxfbWFy
a190IG1hcms7Cit9IHlhbWxfc2ltcGxlX2tleV90OworCisvKioKKyAqIFRoZSBzdGF0ZXMgb2Yg
dGhlIHBhcnNlci4KKyAqLwordHlwZWRlZiBlbnVtIHlhbWxfcGFyc2VyX3N0YXRlX2UgeworICAg
IC8qKiBFeHBlY3QgU1RSRUFNLVNUQVJULiAqLworICAgIFlBTUxfUEFSU0VfU1RSRUFNX1NUQVJU
X1NUQVRFLAorICAgIC8qKiBFeHBlY3QgdGhlIGJlZ2lubmluZyBvZiBhbiBpbXBsaWNpdCBkb2N1
bWVudC4gKi8KKyAgICBZQU1MX1BBUlNFX0lNUExJQ0lUX0RPQ1VNRU5UX1NUQVJUX1NUQVRFLAor
ICAgIC8qKiBFeHBlY3QgRE9DVU1FTlQtU1RBUlQuICovCisgICAgWUFNTF9QQVJTRV9ET0NVTUVO
VF9TVEFSVF9TVEFURSwKKyAgICAvKiogRXhwZWN0IHRoZSBjb250ZW50IG9mIGEgZG9jdW1lbnQu
ICovCisgICAgWUFNTF9QQVJTRV9ET0NVTUVOVF9DT05URU5UX1NUQVRFLAorICAgIC8qKiBFeHBl
Y3QgRE9DVU1FTlQtRU5ELiAqLworICAgIFlBTUxfUEFSU0VfRE9DVU1FTlRfRU5EX1NUQVRFLAor
ICAgIC8qKiBFeHBlY3QgYSBibG9jayBub2RlLiAqLworICAgIFlBTUxfUEFSU0VfQkxPQ0tfTk9E
RV9TVEFURSwKKyAgICAvKiogRXhwZWN0IGEgYmxvY2sgbm9kZSBvciBpbmRlbnRsZXNzIHNlcXVl
bmNlLiAqLworICAgIFlBTUxfUEFSU0VfQkxPQ0tfTk9ERV9PUl9JTkRFTlRMRVNTX1NFUVVFTkNF
X1NUQVRFLAorICAgIC8qKiBFeHBlY3QgYSBmbG93IG5vZGUuICovCisgICAgWUFNTF9QQVJTRV9G
TE9XX05PREVfU1RBVEUsCisgICAgLyoqIEV4cGVjdCB0aGUgZmlyc3QgZW50cnkgb2YgYSBibG9j
ayBzZXF1ZW5jZS4gKi8KKyAgICBZQU1MX1BBUlNFX0JMT0NLX1NFUVVFTkNFX0ZJUlNUX0VOVFJZ
X1NUQVRFLAorICAgIC8qKiBFeHBlY3QgYW4gZW50cnkgb2YgYSBibG9jayBzZXF1ZW5jZS4gKi8K
KyAgICBZQU1MX1BBUlNFX0JMT0NLX1NFUVVFTkNFX0VOVFJZX1NUQVRFLAorICAgIC8qKiBFeHBl
Y3QgYW4gZW50cnkgb2YgYW4gaW5kZW50bGVzcyBzZXF1ZW5jZS4gKi8KKyAgICBZQU1MX1BBUlNF
X0lOREVOVExFU1NfU0VRVUVOQ0VfRU5UUllfU1RBVEUsCisgICAgLyoqIEV4cGVjdCB0aGUgZmly
c3Qga2V5IG9mIGEgYmxvY2sgbWFwcGluZy4gKi8KKyAgICBZQU1MX1BBUlNFX0JMT0NLX01BUFBJ
TkdfRklSU1RfS0VZX1NUQVRFLAorICAgIC8qKiBFeHBlY3QgYSBibG9jayBtYXBwaW5nIGtleS4g
Ki8KKyAgICBZQU1MX1BBUlNFX0JMT0NLX01BUFBJTkdfS0VZX1NUQVRFLAorICAgIC8qKiBFeHBl
Y3QgYSBibG9jayBtYXBwaW5nIHZhbHVlLiAqLworICAgIFlBTUxfUEFSU0VfQkxPQ0tfTUFQUElO
R19WQUxVRV9TVEFURSwKKyAgICAvKiogRXhwZWN0IHRoZSBmaXJzdCBlbnRyeSBvZiBhIGZsb3cg
c2VxdWVuY2UuICovCisgICAgWUFNTF9QQVJTRV9GTE9XX1NFUVVFTkNFX0ZJUlNUX0VOVFJZX1NU
QVRFLAorICAgIC8qKiBFeHBlY3QgYW4gZW50cnkgb2YgYSBmbG93IHNlcXVlbmNlLiAqLworICAg
IFlBTUxfUEFSU0VfRkxPV19TRVFVRU5DRV9FTlRSWV9TVEFURSwKKyAgICAvKiogRXhwZWN0IGEg
a2V5IG9mIGFuIG9yZGVyZWQgbWFwcGluZy4gKi8KKyAgICBZQU1MX1BBUlNFX0ZMT1dfU0VRVUVO
Q0VfRU5UUllfTUFQUElOR19LRVlfU1RBVEUsCisgICAgLyoqIEV4cGVjdCBhIHZhbHVlIG9mIGFu
IG9yZGVyZWQgbWFwcGluZy4gKi8KKyAgICBZQU1MX1BBUlNFX0ZMT1dfU0VRVUVOQ0VfRU5UUllf
TUFQUElOR19WQUxVRV9TVEFURSwKKyAgICAvKiogRXhwZWN0IHRoZSBhbmQgb2YgYW4gb3JkZXJl
ZCBtYXBwaW5nIGVudHJ5LiAqLworICAgIFlBTUxfUEFSU0VfRkxPV19TRVFVRU5DRV9FTlRSWV9N
QVBQSU5HX0VORF9TVEFURSwKKyAgICAvKiogRXhwZWN0IHRoZSBmaXJzdCBrZXkgb2YgYSBmbG93
IG1hcHBpbmcuICovCisgICAgWUFNTF9QQVJTRV9GTE9XX01BUFBJTkdfRklSU1RfS0VZX1NUQVRF
LAorICAgIC8qKiBFeHBlY3QgYSBrZXkgb2YgYSBmbG93IG1hcHBpbmcuICovCisgICAgWUFNTF9Q
QVJTRV9GTE9XX01BUFBJTkdfS0VZX1NUQVRFLAorICAgIC8qKiBFeHBlY3QgYSB2YWx1ZSBvZiBh
IGZsb3cgbWFwcGluZy4gKi8KKyAgICBZQU1MX1BBUlNFX0ZMT1dfTUFQUElOR19WQUxVRV9TVEFU
RSwKKyAgICAvKiogRXhwZWN0IGFuIGVtcHR5IHZhbHVlIG9mIGEgZmxvdyBtYXBwaW5nLiAqLwor
ICAgIFlBTUxfUEFSU0VfRkxPV19NQVBQSU5HX0VNUFRZX1ZBTFVFX1NUQVRFLAorICAgIC8qKiBF
eHBlY3Qgbm90aGluZy4gKi8KKyAgICBZQU1MX1BBUlNFX0VORF9TVEFURQorfSB5YW1sX3BhcnNl
cl9zdGF0ZV90OworCisvKioKKyAqIFRoaXMgc3RydWN0dXJlIGhvbGRzIGFsaWFzZXMgZGF0YS4K
KyAqLworCit0eXBlZGVmIHN0cnVjdCB5YW1sX2FsaWFzX2RhdGFfcyB7CisgICAgLyoqIFRoZSBh
bmNob3IuICovCisgICAgeWFtbF9jaGFyX3QgKmFuY2hvcjsKKyAgICAvKiogVGhlIG5vZGUgaWQu
ICovCisgICAgaW50IGluZGV4OworICAgIC8qKiBUaGUgYW5jaG9yIG1hcmsuICovCisgICAgeWFt
bF9tYXJrX3QgbWFyazsKK30geWFtbF9hbGlhc19kYXRhX3Q7CisKKy8qKgorICogVGhlIHBhcnNl
ciBzdHJ1Y3R1cmUuCisgKgorICogQWxsIG1lbWJlcnMgYXJlIGludGVybmFsLiAgTWFuYWdlIHRo
ZSBzdHJ1Y3R1cmUgdXNpbmcgdGhlIEBjIHlhbWxfcGFyc2VyXworICogZmFtaWx5IG9mIGZ1bmN0
aW9ucy4KKyAqLworCit0eXBlZGVmIHN0cnVjdCB5YW1sX3BhcnNlcl9zIHsKKworICAgIC8qKgor
ICAgICAqIEBuYW1lIEVycm9yIGhhbmRsaW5nCisgICAgICogQHsKKyAgICAgKi8KKworICAgIC8q
KiBFcnJvciB0eXBlLiAqLworICAgIHlhbWxfZXJyb3JfdHlwZV90IGVycm9yOworICAgIC8qKiBF
cnJvciBkZXNjcmlwdGlvbi4gKi8KKyAgICBjb25zdCBjaGFyICpwcm9ibGVtOworICAgIC8qKiBU
aGUgYnl0ZSBhYm91dCB3aGljaCB0aGUgcHJvYmxlbSBvY2N1cnJlZC4gKi8KKyAgICBzaXplX3Qg
cHJvYmxlbV9vZmZzZXQ7CisgICAgLyoqIFRoZSBwcm9ibGVtYXRpYyB2YWx1ZSAoQGMgLTEgaXMg
bm9uZSkuICovCisgICAgaW50IHByb2JsZW1fdmFsdWU7CisgICAgLyoqIFRoZSBwcm9ibGVtIHBv
c2l0aW9uLiAqLworICAgIHlhbWxfbWFya190IHByb2JsZW1fbWFyazsKKyAgICAvKiogVGhlIGVy
cm9yIGNvbnRleHQuICovCisgICAgY29uc3QgY2hhciAqY29udGV4dDsKKyAgICAvKiogVGhlIGNv
bnRleHQgcG9zaXRpb24uICovCisgICAgeWFtbF9tYXJrX3QgY29udGV4dF9tYXJrOworCisgICAg
LyoqCisgICAgICogQH0KKyAgICAgKi8KKworICAgIC8qKgorICAgICAqIEBuYW1lIFJlYWRlciBz
dHVmZgorICAgICAqIEB7CisgICAgICovCisKKyAgICAvKiogUmVhZCBoYW5kbGVyLiAqLworICAg
IHlhbWxfcmVhZF9oYW5kbGVyX3QgKnJlYWRfaGFuZGxlcjsKKworICAgIC8qKiBBIHBvaW50ZXIg
Zm9yIHBhc3NpbmcgdG8gdGhlIHJlYWQgaGFuZGxlci4gKi8KKyAgICB2b2lkICpyZWFkX2hhbmRs
ZXJfZGF0YTsKKworICAgIC8qKiBTdGFuZGFyZCAoc3RyaW5nIG9yIGZpbGUpIGlucHV0IGRhdGEu
ICovCisgICAgdW5pb24geworICAgICAgICAvKiogU3RyaW5nIGlucHV0IGRhdGEuICovCisgICAg
ICAgIHN0cnVjdCB7CisgICAgICAgICAgICAvKiogVGhlIHN0cmluZyBzdGFydCBwb2ludGVyLiAq
LworICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqc3RhcnQ7CisgICAgICAgICAgICAv
KiogVGhlIHN0cmluZyBlbmQgcG9pbnRlci4gKi8KKyAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVk
IGNoYXIgKmVuZDsKKyAgICAgICAgICAgIC8qKiBUaGUgc3RyaW5nIGN1cnJlbnQgcG9zaXRpb24u
ICovCisgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpjdXJyZW50OworICAgICAgICB9
IHN0cmluZzsKKworICAgICAgICAvKiogRmlsZSBpbnB1dCBkYXRhLiAqLworICAgICAgICBGSUxF
ICpmaWxlOworICAgIH0gaW5wdXQ7CisKKyAgICAvKiogRU9GIGZsYWcgKi8KKyAgICBpbnQgZW9m
OworCisgICAgLyoqIFRoZSB3b3JraW5nIGJ1ZmZlci4gKi8KKyAgICBzdHJ1Y3QgeworICAgICAg
ICAvKiogVGhlIGJlZ2lubmluZyBvZiB0aGUgYnVmZmVyLiAqLworICAgICAgICB5YW1sX2NoYXJf
dCAqc3RhcnQ7CisgICAgICAgIC8qKiBUaGUgZW5kIG9mIHRoZSBidWZmZXIuICovCisgICAgICAg
IHlhbWxfY2hhcl90ICplbmQ7CisgICAgICAgIC8qKiBUaGUgY3VycmVudCBwb3NpdGlvbiBvZiB0
aGUgYnVmZmVyLiAqLworICAgICAgICB5YW1sX2NoYXJfdCAqcG9pbnRlcjsKKyAgICAgICAgLyoq
IFRoZSBsYXN0IGZpbGxlZCBwb3NpdGlvbiBvZiB0aGUgYnVmZmVyLiAqLworICAgICAgICB5YW1s
X2NoYXJfdCAqbGFzdDsKKyAgICB9IGJ1ZmZlcjsKKworICAgIC8qIFRoZSBudW1iZXIgb2YgdW5y
ZWFkIGNoYXJhY3RlcnMgaW4gdGhlIGJ1ZmZlci4gKi8KKyAgICBzaXplX3QgdW5yZWFkOworCisg
ICAgLyoqIFRoZSByYXcgYnVmZmVyLiAqLworICAgIHN0cnVjdCB7CisgICAgICAgIC8qKiBUaGUg
YmVnaW5uaW5nIG9mIHRoZSBidWZmZXIuICovCisgICAgICAgIHVuc2lnbmVkIGNoYXIgKnN0YXJ0
OworICAgICAgICAvKiogVGhlIGVuZCBvZiB0aGUgYnVmZmVyLiAqLworICAgICAgICB1bnNpZ25l
ZCBjaGFyICplbmQ7CisgICAgICAgIC8qKiBUaGUgY3VycmVudCBwb3NpdGlvbiBvZiB0aGUgYnVm
ZmVyLiAqLworICAgICAgICB1bnNpZ25lZCBjaGFyICpwb2ludGVyOworICAgICAgICAvKiogVGhl
IGxhc3QgZmlsbGVkIHBvc2l0aW9uIG9mIHRoZSBidWZmZXIuICovCisgICAgICAgIHVuc2lnbmVk
IGNoYXIgKmxhc3Q7CisgICAgfSByYXdfYnVmZmVyOworCisgICAgLyoqIFRoZSBpbnB1dCBlbmNv
ZGluZy4gKi8KKyAgICB5YW1sX2VuY29kaW5nX3QgZW5jb2Rpbmc7CisKKyAgICAvKiogVGhlIG9m
ZnNldCBvZiB0aGUgY3VycmVudCBwb3NpdGlvbiAoaW4gYnl0ZXMpLiAqLworICAgIHNpemVfdCBv
ZmZzZXQ7CisKKyAgICAvKiogVGhlIG1hcmsgb2YgdGhlIGN1cnJlbnQgcG9zaXRpb24uICovCisg
ICAgeWFtbF9tYXJrX3QgbWFyazsKKworICAgIC8qKgorICAgICAqIEB9CisgICAgICovCisKKyAg
ICAvKioKKyAgICAgKiBAbmFtZSBTY2FubmVyIHN0dWZmCisgICAgICogQHsKKyAgICAgKi8KKwor
ICAgIC8qKiBIYXZlIHdlIHN0YXJ0ZWQgdG8gc2NhbiB0aGUgaW5wdXQgc3RyZWFtPyAqLworICAg
IGludCBzdHJlYW1fc3RhcnRfcHJvZHVjZWQ7CisKKyAgICAvKiogSGF2ZSB3ZSByZWFjaGVkIHRo
ZSBlbmQgb2YgdGhlIGlucHV0IHN0cmVhbT8gKi8KKyAgICBpbnQgc3RyZWFtX2VuZF9wcm9kdWNl
ZDsKKworICAgIC8qKiBUaGUgbnVtYmVyIG9mIHVuY2xvc2VkICdbJyBhbmQgJ3snIGluZGljYXRv
cnMuICovCisgICAgaW50IGZsb3dfbGV2ZWw7CisKKyAgICAvKiogVGhlIHRva2VucyBxdWV1ZS4g
Ki8KKyAgICBzdHJ1Y3QgeworICAgICAgICAvKiogVGhlIGJlZ2lubmluZyBvZiB0aGUgdG9rZW5z
IHF1ZXVlLiAqLworICAgICAgICB5YW1sX3Rva2VuX3QgKnN0YXJ0OworICAgICAgICAvKiogVGhl
IGVuZCBvZiB0aGUgdG9rZW5zIHF1ZXVlLiAqLworICAgICAgICB5YW1sX3Rva2VuX3QgKmVuZDsK
KyAgICAgICAgLyoqIFRoZSBoZWFkIG9mIHRoZSB0b2tlbnMgcXVldWUuICovCisgICAgICAgIHlh
bWxfdG9rZW5fdCAqaGVhZDsKKyAgICAgICAgLyoqIFRoZSB0YWlsIG9mIHRoZSB0b2tlbnMgcXVl
dWUuICovCisgICAgICAgIHlhbWxfdG9rZW5fdCAqdGFpbDsKKyAgICB9IHRva2VuczsKKworICAg
IC8qKiBUaGUgbnVtYmVyIG9mIHRva2VucyBmZXRjaGVkIGZyb20gdGhlIHF1ZXVlLiAqLworICAg
IHNpemVfdCB0b2tlbnNfcGFyc2VkOworCisgICAgLyogRG9lcyB0aGUgdG9rZW5zIHF1ZXVlIGNv
bnRhaW4gYSB0b2tlbiByZWFkeSBmb3IgZGVxdWV1ZWluZy4gKi8KKyAgICBpbnQgdG9rZW5fYXZh
aWxhYmxlOworCisgICAgLyoqIFRoZSBpbmRlbnRhdGlvbiBsZXZlbHMgc3RhY2suICovCisgICAg
c3RydWN0IHsKKyAgICAgICAgLyoqIFRoZSBiZWdpbm5pbmcgb2YgdGhlIHN0YWNrLiAqLworICAg
ICAgICBpbnQgKnN0YXJ0OworICAgICAgICAvKiogVGhlIGVuZCBvZiB0aGUgc3RhY2suICovCisg
ICAgICAgIGludCAqZW5kOworICAgICAgICAvKiogVGhlIHRvcCBvZiB0aGUgc3RhY2suICovCisg
ICAgICAgIGludCAqdG9wOworICAgIH0gaW5kZW50czsKKworICAgIC8qKiBUaGUgY3VycmVudCBp
bmRlbnRhdGlvbiBsZXZlbC4gKi8KKyAgICBpbnQgaW5kZW50OworCisgICAgLyoqIE1heSBhIHNp
bXBsZSBrZXkgb2NjdXIgYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24/ICovCisgICAgaW50IHNpbXBs
ZV9rZXlfYWxsb3dlZDsKKworICAgIC8qKiBUaGUgc3RhY2sgb2Ygc2ltcGxlIGtleXMuICovCisg
ICAgc3RydWN0IHsKKyAgICAgICAgLyoqIFRoZSBiZWdpbm5pbmcgb2YgdGhlIHN0YWNrLiAqLwor
ICAgICAgICB5YW1sX3NpbXBsZV9rZXlfdCAqc3RhcnQ7CisgICAgICAgIC8qKiBUaGUgZW5kIG9m
IHRoZSBzdGFjay4gKi8KKyAgICAgICAgeWFtbF9zaW1wbGVfa2V5X3QgKmVuZDsKKyAgICAgICAg
LyoqIFRoZSB0b3Agb2YgdGhlIHN0YWNrLiAqLworICAgICAgICB5YW1sX3NpbXBsZV9rZXlfdCAq
dG9wOworICAgIH0gc2ltcGxlX2tleXM7CisKKyAgICAvKioKKyAgICAgKiBAfQorICAgICAqLwor
CisgICAgLyoqCisgICAgICogQG5hbWUgUGFyc2VyIHN0dWZmCisgICAgICogQHsKKyAgICAgKi8K
KworICAgIC8qKiBUaGUgcGFyc2VyIHN0YXRlcyBzdGFjay4gKi8KKyAgICBzdHJ1Y3QgeworICAg
ICAgICAvKiogVGhlIGJlZ2lubmluZyBvZiB0aGUgc3RhY2suICovCisgICAgICAgIHlhbWxfcGFy
c2VyX3N0YXRlX3QgKnN0YXJ0OworICAgICAgICAvKiogVGhlIGVuZCBvZiB0aGUgc3RhY2suICov
CisgICAgICAgIHlhbWxfcGFyc2VyX3N0YXRlX3QgKmVuZDsKKyAgICAgICAgLyoqIFRoZSB0b3Ag
b2YgdGhlIHN0YWNrLiAqLworICAgICAgICB5YW1sX3BhcnNlcl9zdGF0ZV90ICp0b3A7CisgICAg
fSBzdGF0ZXM7CisKKyAgICAvKiogVGhlIGN1cnJlbnQgcGFyc2VyIHN0YXRlLiAqLworICAgIHlh
bWxfcGFyc2VyX3N0YXRlX3Qgc3RhdGU7CisKKyAgICAvKiogVGhlIHN0YWNrIG9mIG1hcmtzLiAq
LworICAgIHN0cnVjdCB7CisgICAgICAgIC8qKiBUaGUgYmVnaW5uaW5nIG9mIHRoZSBzdGFjay4g
Ki8KKyAgICAgICAgeWFtbF9tYXJrX3QgKnN0YXJ0OworICAgICAgICAvKiogVGhlIGVuZCBvZiB0
aGUgc3RhY2suICovCisgICAgICAgIHlhbWxfbWFya190ICplbmQ7CisgICAgICAgIC8qKiBUaGUg
dG9wIG9mIHRoZSBzdGFjay4gKi8KKyAgICAgICAgeWFtbF9tYXJrX3QgKnRvcDsKKyAgICB9IG1h
cmtzOworCisgICAgLyoqIFRoZSBsaXN0IG9mIFRBRyBkaXJlY3RpdmVzLiAqLworICAgIHN0cnVj
dCB7CisgICAgICAgIC8qKiBUaGUgYmVnaW5uaW5nIG9mIHRoZSBsaXN0LiAqLworICAgICAgICB5
YW1sX3RhZ19kaXJlY3RpdmVfdCAqc3RhcnQ7CisgICAgICAgIC8qKiBUaGUgZW5kIG9mIHRoZSBs
aXN0LiAqLworICAgICAgICB5YW1sX3RhZ19kaXJlY3RpdmVfdCAqZW5kOworICAgICAgICAvKiog
VGhlIHRvcCBvZiB0aGUgbGlzdC4gKi8KKyAgICAgICAgeWFtbF90YWdfZGlyZWN0aXZlX3QgKnRv
cDsKKyAgICB9IHRhZ19kaXJlY3RpdmVzOworCisgICAgLyoqCisgICAgICogQH0KKyAgICAgKi8K
KworICAgIC8qKgorICAgICAqIEBuYW1lIER1bXBlciBzdHVmZgorICAgICAqIEB7CisgICAgICov
CisKKyAgICAvKiogVGhlIGFsaWFzIGRhdGEuICovCisgICAgc3RydWN0IHsKKyAgICAgICAgLyoq
IFRoZSBiZWdpbm5pbmcgb2YgdGhlIGxpc3QuICovCisgICAgICAgIHlhbWxfYWxpYXNfZGF0YV90
ICpzdGFydDsKKyAgICAgICAgLyoqIFRoZSBlbmQgb2YgdGhlIGxpc3QuICovCisgICAgICAgIHlh
bWxfYWxpYXNfZGF0YV90ICplbmQ7CisgICAgICAgIC8qKiBUaGUgdG9wIG9mIHRoZSBsaXN0LiAq
LworICAgICAgICB5YW1sX2FsaWFzX2RhdGFfdCAqdG9wOworICAgIH0gYWxpYXNlczsKKworICAg
IC8qKiBUaGUgY3VycmVudGx5IHBhcnNlZCBkb2N1bWVudC4gKi8KKyAgICB5YW1sX2RvY3VtZW50
X3QgKmRvY3VtZW50OworCisgICAgLyoqCisgICAgICogQH0KKyAgICAgKi8KKworfSB5YW1sX3Bh
cnNlcl90OworCisvKioKKyAqIEluaXRpYWxpemUgYSBwYXJzZXIuCisgKgorICogVGhpcyBmdW5j
dGlvbiBjcmVhdGVzIGEgbmV3IHBhcnNlciBvYmplY3QuICBBbiBhcHBsaWNhdGlvbiBpcyByZXNw
b25zaWJsZQorICogZm9yIGRlc3Ryb3lpbmcgdGhlIG9iamVjdCB1c2luZyB0aGUgeWFtbF9wYXJz
ZXJfZGVsZXRlKCkgZnVuY3Rpb24uCisgKgorICogQHBhcmFtW291dF0gICAgICBwYXJzZXIgIEFu
IGVtcHR5IHBhcnNlciBvYmplY3QuCisgKgorICogQHJldHVybnMgQGMgMSBpZiB0aGUgZnVuY3Rp
b24gc3VjY2VlZGVkLCBAYyAwIG9uIGVycm9yLgorICovCisKK1lBTUxfREVDTEFSRShpbnQpCit5
YW1sX3BhcnNlcl9pbml0aWFsaXplKHlhbWxfcGFyc2VyX3QgKnBhcnNlcik7CisKKy8qKgorICog
RGVzdHJveSBhIHBhcnNlci4KKyAqCisgKiBAcGFyYW1baW4sb3V0XSAgIHBhcnNlciAgQSBwYXJz
ZXIgb2JqZWN0LgorICovCisKK1lBTUxfREVDTEFSRSh2b2lkKQoreWFtbF9wYXJzZXJfZGVsZXRl
KHlhbWxfcGFyc2VyX3QgKnBhcnNlcik7CisKKy8qKgorICogU2V0IGEgc3RyaW5nIGlucHV0Lgor
ICoKKyAqIE5vdGUgdGhhdCB0aGUgQGEgaW5wdXQgcG9pbnRlciBtdXN0IGJlIHZhbGlkIHdoaWxl
IHRoZSBAYSBwYXJzZXIgb2JqZWN0CisgKiBleGlzdHMuICBUaGUgYXBwbGljYXRpb24gaXMgcmVz
cG9uc2libGUgZm9yIGRlc3Ryb2luZyBAYSBpbnB1dCBhZnRlcgorICogZGVzdHJveWluZyB0aGUg
QGEgcGFyc2VyLgorICoKKyAqIEBwYXJhbVtpbixvdXRdICAgcGFyc2VyICBBIHBhcnNlciBvYmpl
Y3QuCisgKiBAcGFyYW1baW5dICAgICAgIGlucHV0ICAgQSBzb3VyY2UgZGF0YS4KKyAqIEBwYXJh
bVtpbl0gICAgICAgc2l6ZSAgICBUaGUgbGVuZ3RoIG9mIHRoZSBzb3VyY2UgZGF0YSBpbiBieXRl
cy4KKyAqLworCitZQU1MX0RFQ0xBUkUodm9pZCkKK3lhbWxfcGFyc2VyX3NldF9pbnB1dF9zdHJp
bmcoeWFtbF9wYXJzZXJfdCAqcGFyc2VyLAorICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpp
bnB1dCwgc2l6ZV90IHNpemUpOworCisvKioKKyAqIFNldCBhIGZpbGUgaW5wdXQuCisgKgorICog
QGEgZmlsZSBzaG91bGQgYmUgYSBmaWxlIG9iamVjdCBvcGVuIGZvciByZWFkaW5nLiAgVGhlIGFw
cGxpY2F0aW9uIGlzCisgKiByZXNwb25zaWJsZSBmb3IgY2xvc2luZyB0aGUgQGEgZmlsZS4KKyAq
CisgKiBAcGFyYW1baW4sb3V0XSAgIHBhcnNlciAgQSBwYXJzZXIgb2JqZWN0LgorICogQHBhcmFt
W2luXSAgICAgICBmaWxlICAgIEFuIG9wZW4gZmlsZS4KKyAqLworCitZQU1MX0RFQ0xBUkUodm9p
ZCkKK3lhbWxfcGFyc2VyX3NldF9pbnB1dF9maWxlKHlhbWxfcGFyc2VyX3QgKnBhcnNlciwgRklM
RSAqZmlsZSk7CisKKy8qKgorICogU2V0IGEgZ2VuZXJpYyBpbnB1dCBoYW5kbGVyLgorICoKKyAq
IEBwYXJhbVtpbixvdXRdICAgcGFyc2VyICBBIHBhcnNlciBvYmplY3QuCisgKiBAcGFyYW1baW5d
ICAgICAgIGhhbmRsZXIgQSByZWFkIGhhbmRsZXIuCisgKiBAcGFyYW1baW5dICAgICAgIGRhdGEg
ICAgQW55IGFwcGxpY2F0aW9uIGRhdGEgZm9yIHBhc3NpbmcgdG8gdGhlIHJlYWQKKyAqICAgICAg
ICAgICAgICAgICAgICAgICAgICBoYW5kbGVyLgorICovCisKK1lBTUxfREVDTEFSRSh2b2lkKQor
eWFtbF9wYXJzZXJfc2V0X2lucHV0KHlhbWxfcGFyc2VyX3QgKnBhcnNlciwKKyAgICAgICAgeWFt
bF9yZWFkX2hhbmRsZXJfdCAqaGFuZGxlciwgdm9pZCAqZGF0YSk7CisKKy8qKgorICogU2V0IHRo
ZSBzb3VyY2UgZW5jb2RpbmcuCisgKgorICogQHBhcmFtW2luLG91dF0gICBwYXJzZXIgICAgICBB
IHBhcnNlciBvYmplY3QuCisgKiBAcGFyYW1baW5dICAgICAgIGVuY29kaW5nICAgIFRoZSBzb3Vy
Y2UgZW5jb2RpbmcuCisgKi8KKworWUFNTF9ERUNMQVJFKHZvaWQpCit5YW1sX3BhcnNlcl9zZXRf
ZW5jb2RpbmcoeWFtbF9wYXJzZXJfdCAqcGFyc2VyLCB5YW1sX2VuY29kaW5nX3QgZW5jb2Rpbmcp
OworCisvKioKKyAqIFNjYW4gdGhlIGlucHV0IHN0cmVhbSBhbmQgcHJvZHVjZSB0aGUgbmV4dCB0
b2tlbi4KKyAqCisgKiBDYWxsIHRoZSBmdW5jdGlvbiBzdWJzZXF1ZW50bHkgdG8gcHJvZHVjZSBh
IHNlcXVlbmNlIG9mIHRva2VucyBjb3JyZXNwb25kaW5nCisgKiB0byB0aGUgaW5wdXQgc3RyZWFt
LiAgVGhlIGluaXRpYWwgdG9rZW4gaGFzIHRoZSB0eXBlCisgKiBAYyBZQU1MX1NUUkVBTV9TVEFS
VF9UT0tFTiB3aGlsZSB0aGUgZW5kaW5nIHRva2VuIGhhcyB0aGUgdHlwZQorICogQGMgWUFNTF9T
VFJFQU1fRU5EX1RPS0VOLgorICoKKyAqIEFuIGFwcGxpY2F0aW9uIGlzIHJlc3BvbnNpYmxlIGZv
ciBmcmVlaW5nIGFueSBidWZmZXJzIGFzc29jaWF0ZWQgd2l0aCB0aGUKKyAqIHByb2R1Y2VkIHRv
a2VuIG9iamVjdCB1c2luZyB0aGUgQGMgeWFtbF90b2tlbl9kZWxldGUgZnVuY3Rpb24uCisgKgor
ICogQW4gYXBwbGljYXRpb24gbXVzdCBub3QgYWx0ZXJuYXRlIHRoZSBjYWxscyBvZiB5YW1sX3Bh
cnNlcl9zY2FuKCkgd2l0aCB0aGUKKyAqIGNhbGxzIG9mIHlhbWxfcGFyc2VyX3BhcnNlKCkgb3Ig
eWFtbF9wYXJzZXJfbG9hZCgpLiBEb2luZyB0aGlzIHdpbGwgYnJlYWsKKyAqIHRoZSBwYXJzZXIu
CisgKgorICogQHBhcmFtW2luLG91dF0gICBwYXJzZXIgICAgICBBIHBhcnNlciBvYmplY3QuCisg
KiBAcGFyYW1bb3V0XSAgICAgIHRva2VuICAgICAgIEFuIGVtcHR5IHRva2VuIG9iamVjdC4KKyAq
CisgKiBAcmV0dXJucyBAYyAxIGlmIHRoZSBmdW5jdGlvbiBzdWNjZWVkZWQsIEBjIDAgb24gZXJy
b3IuCisgKi8KKworWUFNTF9ERUNMQVJFKGludCkKK3lhbWxfcGFyc2VyX3NjYW4oeWFtbF9wYXJz
ZXJfdCAqcGFyc2VyLCB5YW1sX3Rva2VuX3QgKnRva2VuKTsKKworLyoqCisgKiBQYXJzZSB0aGUg
aW5wdXQgc3RyZWFtIGFuZCBwcm9kdWNlIHRoZSBuZXh0IHBhcnNpbmcgZXZlbnQuCisgKgorICog
Q2FsbCB0aGUgZnVuY3Rpb24gc3Vic2VxdWVudGx5IHRvIHByb2R1Y2UgYSBzZXF1ZW5jZSBvZiBl
dmVudHMgY29ycmVzcG9uZGluZworICogdG8gdGhlIGlucHV0IHN0cmVhbS4gIFRoZSBpbml0aWFs
IGV2ZW50IGhhcyB0aGUgdHlwZQorICogQGMgWUFNTF9TVFJFQU1fU1RBUlRfRVZFTlQgd2hpbGUg
dGhlIGVuZGluZyBldmVudCBoYXMgdGhlIHR5cGUKKyAqIEBjIFlBTUxfU1RSRUFNX0VORF9FVkVO
VC4KKyAqCisgKiBBbiBhcHBsaWNhdGlvbiBpcyByZXNwb25zaWJsZSBmb3IgZnJlZWluZyBhbnkg
YnVmZmVycyBhc3NvY2lhdGVkIHdpdGggdGhlCisgKiBwcm9kdWNlZCBldmVudCBvYmplY3QgdXNp
bmcgdGhlIHlhbWxfZXZlbnRfZGVsZXRlKCkgZnVuY3Rpb24uCisgKgorICogQW4gYXBwbGljYXRp
b24gbXVzdCBub3QgYWx0ZXJuYXRlIHRoZSBjYWxscyBvZiB5YW1sX3BhcnNlcl9wYXJzZSgpIHdp
dGggdGhlCisgKiBjYWxscyBvZiB5YW1sX3BhcnNlcl9zY2FuKCkgb3IgeWFtbF9wYXJzZXJfbG9h
ZCgpLiBEb2luZyB0aGlzIHdpbGwgYnJlYWsgdGhlCisgKiBwYXJzZXIuCisgKgorICogQHBhcmFt
W2luLG91dF0gICBwYXJzZXIgICAgICBBIHBhcnNlciBvYmplY3QuCisgKiBAcGFyYW1bb3V0XSAg
ICAgIGV2ZW50ICAgICAgIEFuIGVtcHR5IGV2ZW50IG9iamVjdC4KKyAqCisgKiBAcmV0dXJucyBA
YyAxIGlmIHRoZSBmdW5jdGlvbiBzdWNjZWVkZWQsIEBjIDAgb24gZXJyb3IuCisgKi8KKworWUFN
TF9ERUNMQVJFKGludCkKK3lhbWxfcGFyc2VyX3BhcnNlKHlhbWxfcGFyc2VyX3QgKnBhcnNlciwg
eWFtbF9ldmVudF90ICpldmVudCk7CisKKy8qKgorICogUGFyc2UgdGhlIGlucHV0IHN0cmVhbSBh
bmQgcHJvZHVjZSB0aGUgbmV4dCBZQU1MIGRvY3VtZW50LgorICoKKyAqIENhbGwgdGhpcyBmdW5j
dGlvbiBzdWJzZXF1ZW50bHkgdG8gcHJvZHVjZSBhIHNlcXVlbmNlIG9mIGRvY3VtZW50cworICog
Y29uc3RpdHV0aW5nIHRoZSBpbnB1dCBzdHJlYW0uCisgKgorICogSWYgdGhlIHByb2R1Y2VkIGRv
Y3VtZW50IGhhcyBubyByb290IG5vZGUsIGl0IG1lYW5zIHRoYXQgdGhlIGRvY3VtZW50CisgKiBl
bmQgaGFzIGJlZW4gcmVhY2hlZC4KKyAqCisgKiBBbiBhcHBsaWNhdGlvbiBpcyByZXNwb25zaWJs
ZSBmb3IgZnJlZWluZyBhbnkgZGF0YSBhc3NvY2lhdGVkIHdpdGggdGhlCisgKiBwcm9kdWNlZCBk
b2N1bWVudCBvYmplY3QgdXNpbmcgdGhlIHlhbWxfZG9jdW1lbnRfZGVsZXRlKCkgZnVuY3Rpb24u
CisgKgorICogQW4gYXBwbGljYXRpb24gbXVzdCBub3QgYWx0ZXJuYXRlIHRoZSBjYWxscyBvZiB5
YW1sX3BhcnNlcl9sb2FkKCkgd2l0aCB0aGUKKyAqIGNhbGxzIG9mIHlhbWxfcGFyc2VyX3NjYW4o
KSBvciB5YW1sX3BhcnNlcl9wYXJzZSgpLiBEb2luZyB0aGlzIHdpbGwgYnJlYWsKKyAqIHRoZSBw
YXJzZXIuCisgKgorICogQHBhcmFtW2luLG91dF0gICBwYXJzZXIgICAgICBBIHBhcnNlciBvYmpl
Y3QuCisgKiBAcGFyYW1bb3V0XSAgICAgIGRvY3VtZW50ICAgIEFuIGVtcHR5IGRvY3VtZW50IG9i
amVjdC4KKyAqCisgKiBAcmV0dXJuIEBjIDEgaWYgdGhlIGZ1bmN0aW9uIHN1Y2NlZWRlZCwgQGMg
MCBvbiBlcnJvci4KKyAqLworCitZQU1MX0RFQ0xBUkUoaW50KQoreWFtbF9wYXJzZXJfbG9hZCh5
YW1sX3BhcnNlcl90ICpwYXJzZXIsIHlhbWxfZG9jdW1lbnRfdCAqZG9jdW1lbnQpOworCisvKiog
QH0gKi8KKworLyoqCisgKiBAZGVmZ3JvdXAgZW1pdHRlciBFbWl0dGVyIERlZmluaXRpb25zCisg
KiBAeworICovCisKKy8qKgorICogVGhlIHByb3RvdHlwZSBvZiBhIHdyaXRlIGhhbmRsZXIuCisg
KgorICogVGhlIHdyaXRlIGhhbmRsZXIgaXMgY2FsbGVkIHdoZW4gdGhlIGVtaXR0ZXIgbmVlZHMg
dG8gZmx1c2ggdGhlIGFjY3VtdWxhdGVkCisgKiBjaGFyYWN0ZXJzIHRvIHRoZSBvdXRwdXQuICBU
aGUgaGFuZGxlciBzaG91bGQgd3JpdGUgQGEgc2l6ZSBieXRlcyBvZiB0aGUKKyAqIEBhIGJ1ZmZl
ciB0byB0aGUgb3V0cHV0LgorICoKKyAqIEBwYXJhbVtpbixvdXRdICAgZGF0YSAgICAgICAgQSBw
b2ludGVyIHRvIGFuIGFwcGxpY2F0aW9uIGRhdGEgc3BlY2lmaWVkIGJ5CisgKiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHlhbWxfZW1pdHRlcl9zZXRfb3V0cHV0KCkuCisgKiBAcGFyYW1b
aW5dICAgICAgIGJ1ZmZlciAgICAgIFRoZSBidWZmZXIgd2l0aCBieXRlcyB0byBiZSB3cml0dGVu
LgorICogQHBhcmFtW2luXSAgICAgICBzaXplICAgICAgICBUaGUgc2l6ZSBvZiB0aGUgYnVmZmVy
LgorICoKKyAqIEByZXR1cm5zIE9uIHN1Y2Nlc3MsIHRoZSBoYW5kbGVyIHNob3VsZCByZXR1cm4g
QGMgMS4gIElmIHRoZSBoYW5kbGVyIGZhaWxlZCwKKyAqIHRoZSByZXR1cm5lZCB2YWx1ZSBzaG91
bGQgYmUgQGMgMC4KKyAqLworCit0eXBlZGVmIGludCB5YW1sX3dyaXRlX2hhbmRsZXJfdCh2b2lk
ICpkYXRhLCB1bnNpZ25lZCBjaGFyICpidWZmZXIsIHNpemVfdCBzaXplKTsKKworLyoqIFRoZSBl
bWl0dGVyIHN0YXRlcy4gKi8KK3R5cGVkZWYgZW51bSB5YW1sX2VtaXR0ZXJfc3RhdGVfZSB7Cisg
ICAgLyoqIEV4cGVjdCBTVFJFQU0tU1RBUlQuICovCisgICAgWUFNTF9FTUlUX1NUUkVBTV9TVEFS
VF9TVEFURSwKKyAgICAvKiogRXhwZWN0IHRoZSBmaXJzdCBET0NVTUVOVC1TVEFSVCBvciBTVFJF
QU0tRU5ELiAqLworICAgIFlBTUxfRU1JVF9GSVJTVF9ET0NVTUVOVF9TVEFSVF9TVEFURSwKKyAg
ICAvKiogRXhwZWN0IERPQ1VNRU5ULVNUQVJUIG9yIFNUUkVBTS1FTkQuICovCisgICAgWUFNTF9F
TUlUX0RPQ1VNRU5UX1NUQVJUX1NUQVRFLAorICAgIC8qKiBFeHBlY3QgdGhlIGNvbnRlbnQgb2Yg
YSBkb2N1bWVudC4gKi8KKyAgICBZQU1MX0VNSVRfRE9DVU1FTlRfQ09OVEVOVF9TVEFURSwKKyAg
ICAvKiogRXhwZWN0IERPQ1VNRU5ULUVORC4gKi8KKyAgICBZQU1MX0VNSVRfRE9DVU1FTlRfRU5E
X1NUQVRFLAorICAgIC8qKiBFeHBlY3QgdGhlIGZpcnN0IGl0ZW0gb2YgYSBmbG93IHNlcXVlbmNl
LiAqLworICAgIFlBTUxfRU1JVF9GTE9XX1NFUVVFTkNFX0ZJUlNUX0lURU1fU1RBVEUsCisgICAg
LyoqIEV4cGVjdCBhbiBpdGVtIG9mIGEgZmxvdyBzZXF1ZW5jZS4gKi8KKyAgICBZQU1MX0VNSVRf
RkxPV19TRVFVRU5DRV9JVEVNX1NUQVRFLAorICAgIC8qKiBFeHBlY3QgdGhlIGZpcnN0IGtleSBv
ZiBhIGZsb3cgbWFwcGluZy4gKi8KKyAgICBZQU1MX0VNSVRfRkxPV19NQVBQSU5HX0ZJUlNUX0tF
WV9TVEFURSwKKyAgICAvKiogRXhwZWN0IGEga2V5IG9mIGEgZmxvdyBtYXBwaW5nLiAqLworICAg
IFlBTUxfRU1JVF9GTE9XX01BUFBJTkdfS0VZX1NUQVRFLAorICAgIC8qKiBFeHBlY3QgYSB2YWx1
ZSBmb3IgYSBzaW1wbGUga2V5IG9mIGEgZmxvdyBtYXBwaW5nLiAqLworICAgIFlBTUxfRU1JVF9G
TE9XX01BUFBJTkdfU0lNUExFX1ZBTFVFX1NUQVRFLAorICAgIC8qKiBFeHBlY3QgYSB2YWx1ZSBv
ZiBhIGZsb3cgbWFwcGluZy4gKi8KKyAgICBZQU1MX0VNSVRfRkxPV19NQVBQSU5HX1ZBTFVFX1NU
QVRFLAorICAgIC8qKiBFeHBlY3QgdGhlIGZpcnN0IGl0ZW0gb2YgYSBibG9jayBzZXF1ZW5jZS4g
Ki8KKyAgICBZQU1MX0VNSVRfQkxPQ0tfU0VRVUVOQ0VfRklSU1RfSVRFTV9TVEFURSwKKyAgICAv
KiogRXhwZWN0IGFuIGl0ZW0gb2YgYSBibG9jayBzZXF1ZW5jZS4gKi8KKyAgICBZQU1MX0VNSVRf
QkxPQ0tfU0VRVUVOQ0VfSVRFTV9TVEFURSwKKyAgICAvKiogRXhwZWN0IHRoZSBmaXJzdCBrZXkg
b2YgYSBibG9jayBtYXBwaW5nLiAqLworICAgIFlBTUxfRU1JVF9CTE9DS19NQVBQSU5HX0ZJUlNU
X0tFWV9TVEFURSwKKyAgICAvKiogRXhwZWN0IHRoZSBrZXkgb2YgYSBibG9jayBtYXBwaW5nLiAq
LworICAgIFlBTUxfRU1JVF9CTE9DS19NQVBQSU5HX0tFWV9TVEFURSwKKyAgICAvKiogRXhwZWN0
IGEgdmFsdWUgZm9yIGEgc2ltcGxlIGtleSBvZiBhIGJsb2NrIG1hcHBpbmcuICovCisgICAgWUFN
TF9FTUlUX0JMT0NLX01BUFBJTkdfU0lNUExFX1ZBTFVFX1NUQVRFLAorICAgIC8qKiBFeHBlY3Qg
YSB2YWx1ZSBvZiBhIGJsb2NrIG1hcHBpbmcuICovCisgICAgWUFNTF9FTUlUX0JMT0NLX01BUFBJ
TkdfVkFMVUVfU1RBVEUsCisgICAgLyoqIEV4cGVjdCBub3RoaW5nLiAqLworICAgIFlBTUxfRU1J
VF9FTkRfU1RBVEUKK30geWFtbF9lbWl0dGVyX3N0YXRlX3Q7CisKKy8qKgorICogVGhlIGVtaXR0
ZXIgc3RydWN0dXJlLgorICoKKyAqIEFsbCBtZW1iZXJzIGFyZSBpbnRlcm5hbC4gIE1hbmFnZSB0
aGUgc3RydWN0dXJlIHVzaW5nIHRoZSBAYyB5YW1sX2VtaXR0ZXJfCisgKiBmYW1pbHkgb2YgZnVu
Y3Rpb25zLgorICovCisKK3R5cGVkZWYgc3RydWN0IHlhbWxfZW1pdHRlcl9zIHsKKworICAgIC8q
KgorICAgICAqIEBuYW1lIEVycm9yIGhhbmRsaW5nCisgICAgICogQHsKKyAgICAgKi8KKworICAg
IC8qKiBFcnJvciB0eXBlLiAqLworICAgIHlhbWxfZXJyb3JfdHlwZV90IGVycm9yOworICAgIC8q
KiBFcnJvciBkZXNjcmlwdGlvbi4gKi8KKyAgICBjb25zdCBjaGFyICpwcm9ibGVtOworCisgICAg
LyoqCisgICAgICogQH0KKyAgICAgKi8KKworICAgIC8qKgorICAgICAqIEBuYW1lIFdyaXRlciBz
dHVmZgorICAgICAqIEB7CisgICAgICovCisKKyAgICAvKiogV3JpdGUgaGFuZGxlci4gKi8KKyAg
ICB5YW1sX3dyaXRlX2hhbmRsZXJfdCAqd3JpdGVfaGFuZGxlcjsKKworICAgIC8qKiBBIHBvaW50
ZXIgZm9yIHBhc3NpbmcgdG8gdGhlIHdoaXRlIGhhbmRsZXIuICovCisgICAgdm9pZCAqd3JpdGVf
aGFuZGxlcl9kYXRhOworCisgICAgLyoqIFN0YW5kYXJkIChzdHJpbmcgb3IgZmlsZSkgb3V0cHV0
IGRhdGEuICovCisgICAgdW5pb24geworICAgICAgICAvKiogU3RyaW5nIG91dHB1dCBkYXRhLiAq
LworICAgICAgICBzdHJ1Y3QgeworICAgICAgICAgICAgLyoqIFRoZSBidWZmZXIgcG9pbnRlci4g
Ki8KKyAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgKmJ1ZmZlcjsKKyAgICAgICAgICAgIC8qKiBU
aGUgYnVmZmVyIHNpemUuICovCisgICAgICAgICAgICBzaXplX3Qgc2l6ZTsKKyAgICAgICAgICAg
IC8qKiBUaGUgbnVtYmVyIG9mIHdyaXR0ZW4gYnl0ZXMuICovCisgICAgICAgICAgICBzaXplX3Qg
KnNpemVfd3JpdHRlbjsKKyAgICAgICAgfSBzdHJpbmc7CisKKyAgICAgICAgLyoqIEZpbGUgb3V0
cHV0IGRhdGEuICovCisgICAgICAgIEZJTEUgKmZpbGU7CisgICAgfSBvdXRwdXQ7CisKKyAgICAv
KiogVGhlIHdvcmtpbmcgYnVmZmVyLiAqLworICAgIHN0cnVjdCB7CisgICAgICAgIC8qKiBUaGUg
YmVnaW5uaW5nIG9mIHRoZSBidWZmZXIuICovCisgICAgICAgIHlhbWxfY2hhcl90ICpzdGFydDsK
KyAgICAgICAgLyoqIFRoZSBlbmQgb2YgdGhlIGJ1ZmZlci4gKi8KKyAgICAgICAgeWFtbF9jaGFy
X3QgKmVuZDsKKyAgICAgICAgLyoqIFRoZSBjdXJyZW50IHBvc2l0aW9uIG9mIHRoZSBidWZmZXIu
ICovCisgICAgICAgIHlhbWxfY2hhcl90ICpwb2ludGVyOworICAgICAgICAvKiogVGhlIGxhc3Qg
ZmlsbGVkIHBvc2l0aW9uIG9mIHRoZSBidWZmZXIuICovCisgICAgICAgIHlhbWxfY2hhcl90ICps
YXN0OworICAgIH0gYnVmZmVyOworCisgICAgLyoqIFRoZSByYXcgYnVmZmVyLiAqLworICAgIHN0
cnVjdCB7CisgICAgICAgIC8qKiBUaGUgYmVnaW5uaW5nIG9mIHRoZSBidWZmZXIuICovCisgICAg
ICAgIHVuc2lnbmVkIGNoYXIgKnN0YXJ0OworICAgICAgICAvKiogVGhlIGVuZCBvZiB0aGUgYnVm
ZmVyLiAqLworICAgICAgICB1bnNpZ25lZCBjaGFyICplbmQ7CisgICAgICAgIC8qKiBUaGUgY3Vy
cmVudCBwb3NpdGlvbiBvZiB0aGUgYnVmZmVyLiAqLworICAgICAgICB1bnNpZ25lZCBjaGFyICpw
b2ludGVyOworICAgICAgICAvKiogVGhlIGxhc3QgZmlsbGVkIHBvc2l0aW9uIG9mIHRoZSBidWZm
ZXIuICovCisgICAgICAgIHVuc2lnbmVkIGNoYXIgKmxhc3Q7CisgICAgfSByYXdfYnVmZmVyOwor
CisgICAgLyoqIFRoZSBzdHJlYW0gZW5jb2RpbmcuICovCisgICAgeWFtbF9lbmNvZGluZ190IGVu
Y29kaW5nOworCisgICAgLyoqCisgICAgICogQH0KKyAgICAgKi8KKworICAgIC8qKgorICAgICAq
IEBuYW1lIEVtaXR0ZXIgc3R1ZmYKKyAgICAgKiBAeworICAgICAqLworCisgICAgLyoqIElmIHRo
ZSBvdXRwdXQgaXMgaW4gdGhlIGNhbm9uaWNhbCBzdHlsZT8gKi8KKyAgICBpbnQgY2Fub25pY2Fs
OworICAgIC8qKiBUaGUgbnVtYmVyIG9mIGluZGVudGF0aW9uIHNwYWNlcy4gKi8KKyAgICBpbnQg
YmVzdF9pbmRlbnQ7CisgICAgLyoqIFRoZSBwcmVmZXJyZWQgd2lkdGggb2YgdGhlIG91dHB1dCBs
aW5lcy4gKi8KKyAgICBpbnQgYmVzdF93aWR0aDsKKyAgICAvKiogQWxsb3cgdW5lc2NhcGVkIG5v
bi1BU0NJSSBjaGFyYWN0ZXJzPyAqLworICAgIGludCB1bmljb2RlOworICAgIC8qKiBUaGUgcHJl
ZmVycmVkIGxpbmUgYnJlYWsuICovCisgICAgeWFtbF9icmVha190IGxpbmVfYnJlYWs7CisKKyAg
ICAvKiogVGhlIHN0YWNrIG9mIHN0YXRlcy4gKi8KKyAgICBzdHJ1Y3QgeworICAgICAgICAvKiog
VGhlIGJlZ2lubmluZyBvZiB0aGUgc3RhY2suICovCisgICAgICAgIHlhbWxfZW1pdHRlcl9zdGF0
ZV90ICpzdGFydDsKKyAgICAgICAgLyoqIFRoZSBlbmQgb2YgdGhlIHN0YWNrLiAqLworICAgICAg
ICB5YW1sX2VtaXR0ZXJfc3RhdGVfdCAqZW5kOworICAgICAgICAvKiogVGhlIHRvcCBvZiB0aGUg
c3RhY2suICovCisgICAgICAgIHlhbWxfZW1pdHRlcl9zdGF0ZV90ICp0b3A7CisgICAgfSBzdGF0
ZXM7CisKKyAgICAvKiogVGhlIGN1cnJlbnQgZW1pdHRlciBzdGF0ZS4gKi8KKyAgICB5YW1sX2Vt
aXR0ZXJfc3RhdGVfdCBzdGF0ZTsKKworICAgIC8qKiBUaGUgZXZlbnQgcXVldWUuICovCisgICAg
c3RydWN0IHsKKyAgICAgICAgLyoqIFRoZSBiZWdpbm5pbmcgb2YgdGhlIGV2ZW50IHF1ZXVlLiAq
LworICAgICAgICB5YW1sX2V2ZW50X3QgKnN0YXJ0OworICAgICAgICAvKiogVGhlIGVuZCBvZiB0
aGUgZXZlbnQgcXVldWUuICovCisgICAgICAgIHlhbWxfZXZlbnRfdCAqZW5kOworICAgICAgICAv
KiogVGhlIGhlYWQgb2YgdGhlIGV2ZW50IHF1ZXVlLiAqLworICAgICAgICB5YW1sX2V2ZW50X3Qg
KmhlYWQ7CisgICAgICAgIC8qKiBUaGUgdGFpbCBvZiB0aGUgZXZlbnQgcXVldWUuICovCisgICAg
ICAgIHlhbWxfZXZlbnRfdCAqdGFpbDsKKyAgICB9IGV2ZW50czsKKworICAgIC8qKiBUaGUgc3Rh
Y2sgb2YgaW5kZW50YXRpb24gbGV2ZWxzLiAqLworICAgIHN0cnVjdCB7CisgICAgICAgIC8qKiBU
aGUgYmVnaW5uaW5nIG9mIHRoZSBzdGFjay4gKi8KKyAgICAgICAgaW50ICpzdGFydDsKKyAgICAg
ICAgLyoqIFRoZSBlbmQgb2YgdGhlIHN0YWNrLiAqLworICAgICAgICBpbnQgKmVuZDsKKyAgICAg
ICAgLyoqIFRoZSB0b3Agb2YgdGhlIHN0YWNrLiAqLworICAgICAgICBpbnQgKnRvcDsKKyAgICB9
IGluZGVudHM7CisKKyAgICAvKiogVGhlIGxpc3Qgb2YgdGFnIGRpcmVjdGl2ZXMuICovCisgICAg
c3RydWN0IHsKKyAgICAgICAgLyoqIFRoZSBiZWdpbm5pbmcgb2YgdGhlIGxpc3QuICovCisgICAg
ICAgIHlhbWxfdGFnX2RpcmVjdGl2ZV90ICpzdGFydDsKKyAgICAgICAgLyoqIFRoZSBlbmQgb2Yg
dGhlIGxpc3QuICovCisgICAgICAgIHlhbWxfdGFnX2RpcmVjdGl2ZV90ICplbmQ7CisgICAgICAg
IC8qKiBUaGUgdG9wIG9mIHRoZSBsaXN0LiAqLworICAgICAgICB5YW1sX3RhZ19kaXJlY3RpdmVf
dCAqdG9wOworICAgIH0gdGFnX2RpcmVjdGl2ZXM7CisKKyAgICAvKiogVGhlIGN1cnJlbnQgaW5k
ZW50YXRpb24gbGV2ZWwuICovCisgICAgaW50IGluZGVudDsKKworICAgIC8qKiBUaGUgY3VycmVu
dCBmbG93IGxldmVsLiAqLworICAgIGludCBmbG93X2xldmVsOworCisgICAgLyoqIElzIGl0IHRo
ZSBkb2N1bWVudCByb290IGNvbnRleHQ/ICovCisgICAgaW50IHJvb3RfY29udGV4dDsKKyAgICAv
KiogSXMgaXQgYSBzZXF1ZW5jZSBjb250ZXh0PyAqLworICAgIGludCBzZXF1ZW5jZV9jb250ZXh0
OworICAgIC8qKiBJcyBpdCBhIG1hcHBpbmcgY29udGV4dD8gKi8KKyAgICBpbnQgbWFwcGluZ19j
b250ZXh0OworICAgIC8qKiBJcyBpdCBhIHNpbXBsZSBtYXBwaW5nIGtleSBjb250ZXh0PyAqLwor
ICAgIGludCBzaW1wbGVfa2V5X2NvbnRleHQ7CisKKyAgICAvKiogVGhlIGN1cnJlbnQgbGluZS4g
Ki8KKyAgICBpbnQgbGluZTsKKyAgICAvKiogVGhlIGN1cnJlbnQgY29sdW1uLiAqLworICAgIGlu
dCBjb2x1bW47CisgICAgLyoqIElmIHRoZSBsYXN0IGNoYXJhY3RlciB3YXMgYSB3aGl0ZXNwYWNl
PyAqLworICAgIGludCB3aGl0ZXNwYWNlOworICAgIC8qKiBJZiB0aGUgbGFzdCBjaGFyYWN0ZXIg
d2FzIGFuIGluZGVudGF0aW9uIGNoYXJhY3RlciAoJyAnLCAnLScsICc/JywgJzonKT8gKi8KKyAg
ICBpbnQgaW5kZW50aW9uOworICAgIC8qKiBJZiBhbiBleHBsaWNpdCBkb2N1bWVudCBlbmQgaXMg
cmVxdWlyZWQ/ICovCisgICAgaW50IG9wZW5fZW5kZWQ7CisKKyAgICAvKiogQW5jaG9yIGFuYWx5
c2lzLiAqLworICAgIHN0cnVjdCB7CisgICAgICAgIC8qKiBUaGUgYW5jaG9yIHZhbHVlLiAqLwor
ICAgICAgICB5YW1sX2NoYXJfdCAqYW5jaG9yOworICAgICAgICAvKiogVGhlIGFuY2hvciBsZW5n
dGguICovCisgICAgICAgIHNpemVfdCBhbmNob3JfbGVuZ3RoOworICAgICAgICAvKiogSXMgaXQg
YW4gYWxpYXM/ICovCisgICAgICAgIGludCBhbGlhczsKKyAgICB9IGFuY2hvcl9kYXRhOworCisg
ICAgLyoqIFRhZyBhbmFseXNpcy4gKi8KKyAgICBzdHJ1Y3QgeworICAgICAgICAvKiogVGhlIHRh
ZyBoYW5kbGUuICovCisgICAgICAgIHlhbWxfY2hhcl90ICpoYW5kbGU7CisgICAgICAgIC8qKiBU
aGUgdGFnIGhhbmRsZSBsZW5ndGguICovCisgICAgICAgIHNpemVfdCBoYW5kbGVfbGVuZ3RoOwor
ICAgICAgICAvKiogVGhlIHRhZyBzdWZmaXguICovCisgICAgICAgIHlhbWxfY2hhcl90ICpzdWZm
aXg7CisgICAgICAgIC8qKiBUaGUgdGFnIHN1ZmZpeCBsZW5ndGguICovCisgICAgICAgIHNpemVf
dCBzdWZmaXhfbGVuZ3RoOworICAgIH0gdGFnX2RhdGE7CisKKyAgICAvKiogU2NhbGFyIGFuYWx5
c2lzLiAqLworICAgIHN0cnVjdCB7CisgICAgICAgIC8qKiBUaGUgc2NhbGFyIHZhbHVlLiAqLwor
ICAgICAgICB5YW1sX2NoYXJfdCAqdmFsdWU7CisgICAgICAgIC8qKiBUaGUgc2NhbGFyIGxlbmd0
aC4gKi8KKyAgICAgICAgc2l6ZV90IGxlbmd0aDsKKyAgICAgICAgLyoqIERvZXMgdGhlIHNjYWxh
ciBjb250YWluIGxpbmUgYnJlYWtzPyAqLworICAgICAgICBpbnQgbXVsdGlsaW5lOworICAgICAg
ICAvKiogQ2FuIHRoZSBzY2FsYXIgYmUgZXhwZXNzZWQgaW4gdGhlIGZsb3cgcGxhaW4gc3R5bGU/
ICovCisgICAgICAgIGludCBmbG93X3BsYWluX2FsbG93ZWQ7CisgICAgICAgIC8qKiBDYW4gdGhl
IHNjYWxhciBiZSBleHByZXNzZWQgaW4gdGhlIGJsb2NrIHBsYWluIHN0eWxlPyAqLworICAgICAg
ICBpbnQgYmxvY2tfcGxhaW5fYWxsb3dlZDsKKyAgICAgICAgLyoqIENhbiB0aGUgc2NhbGFyIGJl
IGV4cHJlc3NlZCBpbiB0aGUgc2luZ2xlIHF1b3RlZCBzdHlsZT8gKi8KKyAgICAgICAgaW50IHNp
bmdsZV9xdW90ZWRfYWxsb3dlZDsKKyAgICAgICAgLyoqIENhbiB0aGUgc2NhbGFyIGJlIGV4cHJl
c3NlZCBpbiB0aGUgbGl0ZXJhbCBvciBmb2xkZWQgc3R5bGVzPyAqLworICAgICAgICBpbnQgYmxv
Y2tfYWxsb3dlZDsKKyAgICAgICAgLyoqIFRoZSBvdXRwdXQgc3R5bGUuICovCisgICAgICAgIHlh
bWxfc2NhbGFyX3N0eWxlX3Qgc3R5bGU7CisgICAgfSBzY2FsYXJfZGF0YTsKKworICAgIC8qKgor
ICAgICAqIEB9CisgICAgICovCisKKyAgICAvKioKKyAgICAgKiBAbmFtZSBEdW1wZXIgc3R1ZmYK
KyAgICAgKiBAeworICAgICAqLworCisgICAgLyoqIElmIHRoZSBzdHJlYW0gd2FzIGFscmVhZHkg
b3BlbmVkPyAqLworICAgIGludCBvcGVuZWQ7CisgICAgLyoqIElmIHRoZSBzdHJlYW0gd2FzIGFs
cmVhZHkgY2xvc2VkPyAqLworICAgIGludCBjbG9zZWQ7CisKKyAgICAvKiogVGhlIGluZm9ybWF0
aW9uIGFzc29jaWF0ZWQgd2l0aCB0aGUgZG9jdW1lbnQgbm9kZXMuICovCisgICAgc3RydWN0IHsK
KyAgICAgICAgLyoqIFRoZSBudW1iZXIgb2YgcmVmZXJlbmNlcy4gKi8KKyAgICAgICAgaW50IHJl
ZmVyZW5jZXM7CisgICAgICAgIC8qKiBUaGUgYW5jaG9yIGlkLiAqLworICAgICAgICBpbnQgYW5j
aG9yOworICAgICAgICAvKiogSWYgdGhlIG5vZGUgaGFzIGJlZW4gZW1pdHRlZD8gKi8KKyAgICAg
ICAgaW50IHNlcmlhbGl6ZWQ7CisgICAgfSAqYW5jaG9yczsKKworICAgIC8qKiBUaGUgbGFzdCBh
c3NpZ25lZCBhbmNob3IgaWQuICovCisgICAgaW50IGxhc3RfYW5jaG9yX2lkOworCisgICAgLyoq
IFRoZSBjdXJyZW50bHkgZW1pdHRlZCBkb2N1bWVudC4gKi8KKyAgICB5YW1sX2RvY3VtZW50X3Qg
KmRvY3VtZW50OworCisgICAgLyoqCisgICAgICogQH0KKyAgICAgKi8KKworfSB5YW1sX2VtaXR0
ZXJfdDsKKworLyoqCisgKiBJbml0aWFsaXplIGFuIGVtaXR0ZXIuCisgKgorICogVGhpcyBmdW5j
dGlvbiBjcmVhdGVzIGEgbmV3IGVtaXR0ZXIgb2JqZWN0LiAgQW4gYXBwbGljYXRpb24gaXMgcmVz
cG9uc2libGUKKyAqIGZvciBkZXN0cm95aW5nIHRoZSBvYmplY3QgdXNpbmcgdGhlIHlhbWxfZW1p
dHRlcl9kZWxldGUoKSBmdW5jdGlvbi4KKyAqCisgKiBAcGFyYW1bb3V0XSAgICAgIGVtaXR0ZXIg
ICAgIEFuIGVtcHR5IHBhcnNlciBvYmplY3QuCisgKgorICogQHJldHVybnMgQGMgMSBpZiB0aGUg
ZnVuY3Rpb24gc3VjY2VlZGVkLCBAYyAwIG9uIGVycm9yLgorICovCisKK1lBTUxfREVDTEFSRShp
bnQpCit5YW1sX2VtaXR0ZXJfaW5pdGlhbGl6ZSh5YW1sX2VtaXR0ZXJfdCAqZW1pdHRlcik7CisK
Ky8qKgorICogRGVzdHJveSBhbiBlbWl0dGVyLgorICoKKyAqIEBwYXJhbVtpbixvdXRdICAgZW1p
dHRlciAgICAgQW4gZW1pdHRlciBvYmplY3QuCisgKi8KKworWUFNTF9ERUNMQVJFKHZvaWQpCit5
YW1sX2VtaXR0ZXJfZGVsZXRlKHlhbWxfZW1pdHRlcl90ICplbWl0dGVyKTsKKworLyoqCisgKiBT
ZXQgYSBzdHJpbmcgb3V0cHV0LgorICoKKyAqIFRoZSBlbWl0dGVyIHdpbGwgd3JpdGUgdGhlIG91
dHB1dCBjaGFyYWN0ZXJzIHRvIHRoZSBAYSBvdXRwdXQgYnVmZmVyIG9mIHRoZQorICogc2l6ZSBA
YSBzaXplLiAgVGhlIGVtaXR0ZXIgd2lsbCBzZXQgQGEgc2l6ZV93cml0dGVuIHRvIHRoZSBudW1i
ZXIgb2Ygd3JpdHRlbgorICogYnl0ZXMuICBJZiB0aGUgYnVmZmVyIGlzIHNtYWxsZXIgdGhhbiBy
ZXF1aXJlZCwgdGhlIGVtaXR0ZXIgcHJvZHVjZXMgdGhlCisgKiBZQU1MX1dSSVRFX0VSUk9SIGVy
cm9yLgorICoKKyAqIEBwYXJhbVtpbixvdXRdICAgZW1pdHRlciAgICAgICAgIEFuIGVtaXR0ZXIg
b2JqZWN0LgorICogQHBhcmFtW2luXSAgICAgICBvdXRwdXQgICAgICAgICAgQW4gb3V0cHV0IGJ1
ZmZlci4KKyAqIEBwYXJhbVtpbl0gICAgICAgc2l6ZSAgICAgICAgICAgIFRoZSBidWZmZXIgc2l6
ZS4KKyAqIEBwYXJhbVtpbl0gICAgICAgc2l6ZV93cml0dGVuICAgIFRoZSBwb2ludGVyIHRvIHNh
dmUgdGhlIG51bWJlciBvZiB3cml0dGVuCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBieXRlcy4KKyAqLworCitZQU1MX0RFQ0xBUkUodm9pZCkKK3lhbWxfZW1pdHRlcl9zZXRf
b3V0cHV0X3N0cmluZyh5YW1sX2VtaXR0ZXJfdCAqZW1pdHRlciwKKyAgICAgICAgdW5zaWduZWQg
Y2hhciAqb3V0cHV0LCBzaXplX3Qgc2l6ZSwgc2l6ZV90ICpzaXplX3dyaXR0ZW4pOworCisvKioK
KyAqIFNldCBhIGZpbGUgb3V0cHV0LgorICoKKyAqIEBhIGZpbGUgc2hvdWxkIGJlIGEgZmlsZSBv
YmplY3Qgb3BlbiBmb3Igd3JpdGluZy4gIFRoZSBhcHBsaWNhdGlvbiBpcworICogcmVzcG9uc2li
bGUgZm9yIGNsb3NpbmcgdGhlIEBhIGZpbGUuCisgKgorICogQHBhcmFtW2luLG91dF0gICBlbWl0
dGVyICAgICBBbiBlbWl0dGVyIG9iamVjdC4KKyAqIEBwYXJhbVtpbl0gICAgICAgZmlsZSAgICAg
ICAgQW4gb3BlbiBmaWxlLgorICovCisKK1lBTUxfREVDTEFSRSh2b2lkKQoreWFtbF9lbWl0dGVy
X3NldF9vdXRwdXRfZmlsZSh5YW1sX2VtaXR0ZXJfdCAqZW1pdHRlciwgRklMRSAqZmlsZSk7CisK
Ky8qKgorICogU2V0IGEgZ2VuZXJpYyBvdXRwdXQgaGFuZGxlci4KKyAqCisgKiBAcGFyYW1baW4s
b3V0XSAgIGVtaXR0ZXIgICAgIEFuIGVtaXR0ZXIgb2JqZWN0LgorICogQHBhcmFtW2luXSAgICAg
ICBoYW5kbGVyICAgICBBIHdyaXRlIGhhbmRsZXIuCisgKiBAcGFyYW1baW5dICAgICAgIGRhdGEg
ICAgICAgIEFueSBhcHBsaWNhdGlvbiBkYXRhIGZvciBwYXNzaW5nIHRvIHRoZSB3cml0ZQorICog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVyLgorICovCisKK1lBTUxfREVDTEFS
RSh2b2lkKQoreWFtbF9lbWl0dGVyX3NldF9vdXRwdXQoeWFtbF9lbWl0dGVyX3QgKmVtaXR0ZXIs
CisgICAgICAgIHlhbWxfd3JpdGVfaGFuZGxlcl90ICpoYW5kbGVyLCB2b2lkICpkYXRhKTsKKwor
LyoqCisgKiBTZXQgdGhlIG91dHB1dCBlbmNvZGluZy4KKyAqCisgKiBAcGFyYW1baW4sb3V0XSAg
IGVtaXR0ZXIgICAgIEFuIGVtaXR0ZXIgb2JqZWN0LgorICogQHBhcmFtW2luXSAgICAgICBlbmNv
ZGluZyAgICBUaGUgb3V0cHV0IGVuY29kaW5nLgorICovCisKK1lBTUxfREVDTEFSRSh2b2lkKQor
eWFtbF9lbWl0dGVyX3NldF9lbmNvZGluZyh5YW1sX2VtaXR0ZXJfdCAqZW1pdHRlciwgeWFtbF9l
bmNvZGluZ190IGVuY29kaW5nKTsKKworLyoqCisgKiBTZXQgaWYgdGhlIG91dHB1dCBzaG91bGQg
YmUgaW4gdGhlICJjYW5vbmljYWwiIGZvcm1hdCBhcyBpbiB0aGUgWUFNTAorICogc3BlY2lmaWNh
dGlvbi4KKyAqCisgKiBAcGFyYW1baW4sb3V0XSAgIGVtaXR0ZXIgICAgIEFuIGVtaXR0ZXIgb2Jq
ZWN0LgorICogQHBhcmFtW2luXSAgICAgICBjYW5vbmljYWwgICBJZiB0aGUgb3V0cHV0IGlzIGNh
bm9uaWNhbC4KKyAqLworCitZQU1MX0RFQ0xBUkUodm9pZCkKK3lhbWxfZW1pdHRlcl9zZXRfY2Fu
b25pY2FsKHlhbWxfZW1pdHRlcl90ICplbWl0dGVyLCBpbnQgY2Fub25pY2FsKTsKKworLyoqCisg
KiBTZXQgdGhlIGluZGVudGF0aW9uIGluY3JlbWVudC4KKyAqCisgKiBAcGFyYW1baW4sb3V0XSAg
IGVtaXR0ZXIgICAgIEFuIGVtaXR0ZXIgb2JqZWN0LgorICogQHBhcmFtW2luXSAgICAgICBpbmRl
bnQgICAgICBUaGUgaW5kZW50YXRpb24gaW5jcmVtZW50ICgxIDwgLiA8IDEwKS4KKyAqLworCitZ
QU1MX0RFQ0xBUkUodm9pZCkKK3lhbWxfZW1pdHRlcl9zZXRfaW5kZW50KHlhbWxfZW1pdHRlcl90
ICplbWl0dGVyLCBpbnQgaW5kZW50KTsKKworLyoqCisgKiBTZXQgdGhlIHByZWZlcnJlZCBsaW5l
IHdpZHRoLiBAYyAtMSBtZWFucyB1bmxpbWl0ZWQuCisgKgorICogQHBhcmFtW2luLG91dF0gICBl
bWl0dGVyICAgICBBbiBlbWl0dGVyIG9iamVjdC4KKyAqIEBwYXJhbVtpbl0gICAgICAgd2lkdGgg
ICAgICAgVGhlIHByZWZlcnJlZCBsaW5lIHdpZHRoLgorICovCisKK1lBTUxfREVDTEFSRSh2b2lk
KQoreWFtbF9lbWl0dGVyX3NldF93aWR0aCh5YW1sX2VtaXR0ZXJfdCAqZW1pdHRlciwgaW50IHdp
ZHRoKTsKKworLyoqCisgKiBTZXQgaWYgdW5lc2NhcGVkIG5vbi1BU0NJSSBjaGFyYWN0ZXJzIGFy
ZSBhbGxvd2VkLgorICoKKyAqIEBwYXJhbVtpbixvdXRdICAgZW1pdHRlciAgICAgQW4gZW1pdHRl
ciBvYmplY3QuCisgKiBAcGFyYW1baW5dICAgICAgIHVuaWNvZGUgICAgIElmIHVuZXNjYXBlZCBV
bmljb2RlIGNoYXJhY3RlcnMgYXJlIGFsbG93ZWQuCisgKi8KKworWUFNTF9ERUNMQVJFKHZvaWQp
Cit5YW1sX2VtaXR0ZXJfc2V0X3VuaWNvZGUoeWFtbF9lbWl0dGVyX3QgKmVtaXR0ZXIsIGludCB1
bmljb2RlKTsKKworLyoqCisgKiBTZXQgdGhlIHByZWZlcnJlZCBsaW5lIGJyZWFrLgorICoKKyAq
IEBwYXJhbVtpbixvdXRdICAgZW1pdHRlciAgICAgQW4gZW1pdHRlciBvYmplY3QuCisgKiBAcGFy
YW1baW5dICAgICAgIGxpbmVfYnJlYWsgIFRoZSBwcmVmZXJyZWQgbGluZSBicmVhay4KKyAqLwor
CitZQU1MX0RFQ0xBUkUodm9pZCkKK3lhbWxfZW1pdHRlcl9zZXRfYnJlYWsoeWFtbF9lbWl0dGVy
X3QgKmVtaXR0ZXIsIHlhbWxfYnJlYWtfdCBsaW5lX2JyZWFrKTsKKworLyoqCisgKiBFbWl0IGFu
IGV2ZW50LgorICoKKyAqIFRoZSBldmVudCBvYmplY3QgbWF5IGJlIGdlbmVyYXRlZCB1c2luZyB0
aGUgeWFtbF9wYXJzZXJfcGFyc2UoKSBmdW5jdGlvbi4KKyAqIFRoZSBlbWl0dGVyIHRha2VzIHRo
ZSByZXNwb25zaWJpbGl0eSBmb3IgdGhlIGV2ZW50IG9iamVjdCBhbmQgZGVzdHJveXMgaXRzCisg
KiBjb250ZW50IGFmdGVyIGl0IGlzIGVtaXR0ZWQuIFRoZSBldmVudCBvYmplY3QgaXMgZGVzdHJv
eWVkIGV2ZW4gaWYgdGhlCisgKiBmdW5jdGlvbiBmYWlscy4KKyAqCisgKiBAcGFyYW1baW4sb3V0
XSAgIGVtaXR0ZXIgICAgIEFuIGVtaXR0ZXIgb2JqZWN0LgorICogQHBhcmFtW2luLG91dF0gICBl
dmVudCAgICAgICBBbiBldmVudCBvYmplY3QuCisgKgorICogQHJldHVybnMgQGMgMSBpZiB0aGUg
ZnVuY3Rpb24gc3VjY2VlZGVkLCBAYyAwIG9uIGVycm9yLgorICovCisKK1lBTUxfREVDTEFSRShp
bnQpCit5YW1sX2VtaXR0ZXJfZW1pdCh5YW1sX2VtaXR0ZXJfdCAqZW1pdHRlciwgeWFtbF9ldmVu
dF90ICpldmVudCk7CisKKy8qKgorICogU3RhcnQgYSBZQU1MIHN0cmVhbS4KKyAqCisgKiBUaGlz
IGZ1bmN0aW9uIHNob3VsZCBiZSB1c2VkIGJlZm9yZSB5YW1sX2VtaXR0ZXJfZHVtcCgpIGlzIGNh
bGxlZC4KKyAqCisgKiBAcGFyYW1baW4sb3V0XSAgIGVtaXR0ZXIgICAgIEFuIGVtaXR0ZXIgb2Jq
ZWN0LgorICoKKyAqIEByZXR1cm5zIEBjIDEgaWYgdGhlIGZ1bmN0aW9uIHN1Y2NlZWRlZCwgQGMg
MCBvbiBlcnJvci4KKyAqLworCitZQU1MX0RFQ0xBUkUoaW50KQoreWFtbF9lbWl0dGVyX29wZW4o
eWFtbF9lbWl0dGVyX3QgKmVtaXR0ZXIpOworCisvKioKKyAqIEZpbmlzaCBhIFlBTUwgc3RyZWFt
LgorICoKKyAqIFRoaXMgZnVuY3Rpb24gc2hvdWxkIGJlIHVzZWQgYWZ0ZXIgeWFtbF9lbWl0dGVy
X2R1bXAoKSBpcyBjYWxsZWQuCisgKgorICogQHBhcmFtW2luLG91dF0gICBlbWl0dGVyICAgICBB
biBlbWl0dGVyIG9iamVjdC4KKyAqCisgKiBAcmV0dXJucyBAYyAxIGlmIHRoZSBmdW5jdGlvbiBz
dWNjZWVkZWQsIEBjIDAgb24gZXJyb3IuCisgKi8KKworWUFNTF9ERUNMQVJFKGludCkKK3lhbWxf
ZW1pdHRlcl9jbG9zZSh5YW1sX2VtaXR0ZXJfdCAqZW1pdHRlcik7CisKKy8qKgorICogRW1pdCBh
IFlBTUwgZG9jdW1lbnQuCisgKgorICogVGhlIGRvY3VtZW4gb2JqZWN0IG1heSBiZSBnZW5lcmF0
ZWQgdXNpbmcgdGhlIHlhbWxfcGFyc2VyX2xvYWQoKSBmdW5jdGlvbgorICogb3IgdGhlIHlhbWxf
ZG9jdW1lbnRfaW5pdGlhbGl6ZSgpIGZ1bmN0aW9uLiAgVGhlIGVtaXR0ZXIgdGFrZXMgdGhlCisg
KiByZXNwb25zaWJpbGl0eSBmb3IgdGhlIGRvY3VtZW50IG9iamVjdCBhbmQgZGVzdG95cyBpdHMg
Y29udGVudCBhZnRlcgorICogaXQgaXMgZW1pdHRlZC4gVGhlIGRvY3VtZW50IG9iamVjdCBpcyBk
ZXN0cm95ZWRldmVuIGlmIHRoZSBmdW5jdGlvbiBmYWlscy4KKyAqCisgKiBAcGFyYW1baW4sb3V0
XSAgIGVtaXR0ZXIgICAgIEFuIGVtaXR0ZXIgb2JqZWN0LgorICogQHBhcmFtW2luLG91dF0gICBk
b2N1bWVudCAgICBBIGRvY3VtZW50IG9iamVjdC4KKyAqCisgKiBAcmV0dXJucyBAYyAxIGlmIHRo
ZSBmdW5jdGlvbiBzdWNjZWVkZWQsIEBjIDAgb24gZXJyb3IuCisgKi8KKworWUFNTF9ERUNMQVJF
KGludCkKK3lhbWxfZW1pdHRlcl9kdW1wKHlhbWxfZW1pdHRlcl90ICplbWl0dGVyLCB5YW1sX2Rv
Y3VtZW50X3QgKmRvY3VtZW50KTsKKworLyoqCisgKiBGbHVzaCB0aGUgYWNjdW11bGF0ZWQgY2hh
cmFjdGVycyB0byB0aGUgb3V0cHV0LgorICoKKyAqIEBwYXJhbVtpbixvdXRdICAgZW1pdHRlciAg
ICAgQW4gZW1pdHRlciBvYmplY3QuCisgKgorICogQHJldHVybnMgQGMgMSBpZiB0aGUgZnVuY3Rp
b24gc3VjY2VlZGVkLCBAYyAwIG9uIGVycm9yLgorICovCisKK1lBTUxfREVDTEFSRShpbnQpCit5
YW1sX2VtaXR0ZXJfZmx1c2goeWFtbF9lbWl0dGVyX3QgKmVtaXR0ZXIpOworCisvKiogQH0gKi8K
KworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2VuZGlmIC8qICNpZm5kZWYgWUFN
TF9IICovCisKZGlmZiAtLWdpdCBhL2dlbmVyYXRlZC9leHQvcHR5L2V4dGNvbmYuaCBiL2dlbmVy
YXRlZC9leHQvcHR5L2V4dGNvbmYuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li5jZDI0OTA0Ci0tLSAvZGV2L251bGwKKysrIGIvZ2VuZXJhdGVkL2V4dC9wdHkvZXh0Y29uZi5o
CkBAIC0wLDAgKzEsOSBAQAorI2lmbmRlZiBFWFRDT05GX0gKKyNkZWZpbmUgRVhUQ09ORl9ICisj
ZGVmaW5lIEhBVkVfU1lTX1NUUk9QVFNfSCAxCisjZGVmaW5lIEhBVkVfU0VUUkVTVUlEIDEKKyNk
ZWZpbmUgSEFWRV9QVFlfSCAxCisjZGVmaW5lIEhBVkVfUFdEX0ggMQorI2RlZmluZSBIQVZFX1BP
U0lYX09QRU5QVCAxCisjZGVmaW5lIFJVQllfRVhQT1JUIDEKKyNlbmRpZgpkaWZmIC0tZ2l0IGEv
Z2VuZXJhdGVkL2V4dC9yYWNjL2NwYXJzZS9leHRjb25mLmggYi9nZW5lcmF0ZWQvZXh0L3JhY2Mv
Y3BhcnNlL2V4dGNvbmYuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMTA2
YzVlCi0tLSAvZGV2L251bGwKKysrIGIvZ2VuZXJhdGVkL2V4dC9yYWNjL2NwYXJzZS9leHRjb25m
LmgKQEAgLTAsMCArMSw1IEBACisjaWZuZGVmIEVYVENPTkZfSAorI2RlZmluZSBFWFRDT05GX0gK
KyNkZWZpbmUgSEFWRV9SQl9CTE9DS19DQUxMIDEKKyNkZWZpbmUgUlVCWV9FWFBPUlQgMQorI2Vu
ZGlmCmRpZmYgLS1naXQgYS9nZW5lcmF0ZWQvZXh0L3JiY29uZmlnL3NpemVvZi9leHRjb25mLmgg
Yi9nZW5lcmF0ZWQvZXh0L3JiY29uZmlnL3NpemVvZi9leHRjb25mLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uMGJkZjkwNgotLS0gL2Rldi9udWxsCisrKyBiL2dlbmVyYXRl
ZC9leHQvcmJjb25maWcvc2l6ZW9mL2V4dGNvbmYuaApAQCAtMCwwICsxLDI5IEBACisjaWZuZGVm
IEVYVENPTkZfSAorI2RlZmluZSBFWFRDT05GX0gKKyNkZWZpbmUgSEFWRV9UWVBFX0lOVF9MRUFT
VDhfVCAxCisjZGVmaW5lIEhBVkVfVFlQRV9JTlRfTEVBU1QxNl9UIDEKKyNkZWZpbmUgSEFWRV9U
WVBFX0lOVF9MRUFTVDMyX1QgMQorI2RlZmluZSBIQVZFX1RZUEVfSU5UX0xFQVNUNjRfVCAxCisj
ZGVmaW5lIEhBVkVfVFlQRV9JTlRfRkFTVDhfVCAxCisjZGVmaW5lIEhBVkVfVFlQRV9JTlRfRkFT
VDE2X1QgMQorI2RlZmluZSBIQVZFX1RZUEVfSU5UX0ZBU1QzMl9UIDEKKyNkZWZpbmUgSEFWRV9U
WVBFX0lOVF9GQVNUNjRfVCAxCisjZGVmaW5lIEhBVkVfVFlQRV9JTlRNQVhfVCAxCisjZGVmaW5l
IEhBVkVfVFlQRV9TSUdfQVRPTUlDX1QgMQorI2RlZmluZSBIQVZFX1RZUEVfV0NIQVJfVCAxCisj
ZGVmaW5lIEhBVkVfVFlQRV9XSU5UX1QgMQorI2RlZmluZSBIQVZFX1RZUEVfV0NUUkFOU19UIDEK
KyNkZWZpbmUgSEFWRV9UWVBFX1dDVFlQRV9UIDEKKyNkZWZpbmUgSEFWRV9UWVBFX19CT09MIDEK
KyNkZWZpbmUgSEFWRV9UWVBFX0xPTkdfRE9VQkxFIDEKKyNkZWZpbmUgSEFWRV9UWVBFX0ZMT0FU
X19DT01QTEVYIDEKKyNkZWZpbmUgSEFWRV9UWVBFX0RPVUJMRV9fQ09NUExFWCAxCisjZGVmaW5l
IEhBVkVfVFlQRV9MT05HX0RPVUJMRV9fQ09NUExFWCAxCisjZGVmaW5lIEhBVkVfVFlQRV9fX0lO
VDEyOCAxCisjZGVmaW5lIEhBVkVfVFlQRV9fX0ZMT0FUMTI4IDEKKyNkZWZpbmUgSEFWRV9UWVBF
X19ERUNJTUFMMzIgMQorI2RlZmluZSBIQVZFX1RZUEVfX0RFQ0lNQUw2NCAxCisjZGVmaW5lIEhB
VkVfVFlQRV9fREVDSU1BTDEyOCAxCisjZGVmaW5lIEhBVkVfVFlQRV9fX0ZMT0FUODAgMQorI2Rl
ZmluZSBSVUJZX0VYUE9SVCAxCisjZW5kaWYKZGlmZiAtLWdpdCBhL2dlbmVyYXRlZC9leHQvcmlw
cGVyL2V4dGNvbmYuaCBiL2dlbmVyYXRlZC9leHQvcmlwcGVyL2V4dGNvbmYuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YzM5N2M0Ci0tLSAvZGV2L251bGwKKysrIGIvZ2Vu
ZXJhdGVkL2V4dC9yaXBwZXIvZXh0Y29uZi5oCkBAIC0wLDAgKzEsNSBAQAorI2lmbmRlZiBFWFRD
T05GX0gKKyNkZWZpbmUgRVhUQ09ORl9ICisjZGVmaW5lIFJJUFBFUiAxCisjZGVmaW5lIFJVQllf
RVhQT1JUIDEKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2V4dC9ydWJ5dm0vZXh0Y29u
Zi5oIGIvZ2VuZXJhdGVkL2V4dC9ydWJ5dm0vZXh0Y29uZi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLjA3OTVlM2QKLS0tIC9kZXYvbnVsbAorKysgYi9nZW5lcmF0ZWQvZXh0
L3J1Ynl2bS9leHRjb25mLmgKQEAgLTAsMCArMSw0IEBACisjaWZuZGVmIEVYVENPTkZfSAorI2Rl
ZmluZSBFWFRDT05GX0gKKyNkZWZpbmUgUlVCWV9FWFBPUlQgMQorI2VuZGlmCmRpZmYgLS1naXQg
YS9nZW5lcmF0ZWQvZXh0L3NkYm0vZXh0Y29uZi5oIGIvZ2VuZXJhdGVkL2V4dC9zZGJtL2V4dGNv
bmYuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYzkyMWY2Ci0tLSAvZGV2
L251bGwKKysrIGIvZ2VuZXJhdGVkL2V4dC9zZGJtL2V4dGNvbmYuaApAQCAtMCwwICsxLDUgQEAK
KyNpZm5kZWYgRVhUQ09ORl9ICisjZGVmaW5lIEVYVENPTkZfSAorI2RlZmluZSBCQURNRVNTIDAK
KyNkZWZpbmUgUlVCWV9FWFBPUlQgMQorI2VuZGlmCmRpZmYgLS1naXQgYS9nZW5lcmF0ZWQvZXh0
L3NvY2tldC9leHRjb25mLmggYi9nZW5lcmF0ZWQvZXh0L3NvY2tldC9leHRjb25mLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzg2MTE3ZAotLS0gL2Rldi9udWxsCisrKyBi
L2dlbmVyYXRlZC9leHQvc29ja2V0L2V4dGNvbmYuaApAQCAtMCwwICsxLDEyOCBAQAorI2lmbmRl
ZiBFWFRDT05GX0gKKyNkZWZpbmUgRVhUQ09ORl9ICisjZGVmaW5lIEhBVkVfU1lTX1VJT19IIDEK
KyNkZWZpbmUgSEFWRV9ORVRJTkVUX0lOX1NZU1RNX0ggMQorI2RlZmluZSBIQVZFX05FVElORVRf
VENQX0ggMQorI2RlZmluZSBIQVZFX05FVElORVRfVURQX0ggMQorI2RlZmluZSBIQVZFX0FSUEFf
SU5FVF9IIDEKKyNkZWZpbmUgSEFWRV9ORVRQQUNLRVRfUEFDS0VUX0ggMQorI2RlZmluZSBIQVZF
X05FVF9FVEhFUk5FVF9IIDEKKyNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCisjZGVmaW5lIEhBVkVf
SUZBRERSU19IIDEKKyNkZWZpbmUgSEFWRV9TWVNfSU9DVExfSCAxCisjZGVmaW5lIEhBVkVfTkVU
X0lGX0ggMQorI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKKyNkZWZpbmUgSEFWRV9BUlBBX05B
TUVTRVJfSCAxCisjZGVmaW5lIEhBVkVfUkVTT0xWX0ggMQorI2RlZmluZSBIQVZFX1RZUEVfU1RS
VUNUX1NPQ0tBRERSX1VOIDEKKyNkZWZpbmUgSEFWRV9UWVBFX1NUUlVDVF9TT0NLQUREUl9TVE9S
QUdFIDEKKyNkZWZpbmUgSEFWRV9UWVBFX1NUUlVDVF9BRERSSU5GTyAxCisjZGVmaW5lIEhBVkVf
VFlQRV9TT0NLTEVOX1QgMQorI2RlZmluZSBIQVZFX1RZUEVfU1RSVUNUX0lOX1BLVElORk8gMQor
I2RlZmluZSBIQVZFX1NUUlVDVF9JTl9QS1RJTkZPX0lQSV9TUEVDX0RTVCAxCisjZGVmaW5lIEhB
VkVfU1RfSVBJX1NQRUNfRFNUIDEKKyNkZWZpbmUgSEFWRV9UWVBFX1NUUlVDVF9JTjZfUEtUSU5G
TyAxCisjZGVmaW5lIEhBVkVfVFlQRV9TVFJVQ1RfSVBfTVJFUSAxCisjZGVmaW5lIEhBVkVfVFlQ
RV9TVFJVQ1RfSVBfTVJFUU4gMQorI2RlZmluZSBIQVZFX1RZUEVfU1RSVUNUX0lQVjZfTVJFUSAx
CisjZGVmaW5lIEhBVkVfU1RSVUNUX01TR0hEUl9NU0dfQ09OVFJPTCAxCisjZGVmaW5lIEhBVkVf
U1RfTVNHX0NPTlRST0wgMQorI2RlZmluZSBIQVZFX1RZUEVfU1RSVUNUX1RDUF9JTkZPIDEKKyNk
ZWZpbmUgSEFWRV9DT05TVF9UQ1BfRVNUQUJMSVNIRUQgMQorI2RlZmluZSBIQVZFX0NPTlNUX1RD
UF9TWU5fU0VOVCAxCisjZGVmaW5lIEhBVkVfQ09OU1RfVENQX1NZTl9SRUNWIDEKKyNkZWZpbmUg
SEFWRV9DT05TVF9UQ1BfRklOX1dBSVQxIDEKKyNkZWZpbmUgSEFWRV9DT05TVF9UQ1BfRklOX1dB
SVQyIDEKKyNkZWZpbmUgSEFWRV9DT05TVF9UQ1BfVElNRV9XQUlUIDEKKyNkZWZpbmUgSEFWRV9D
T05TVF9UQ1BfQ0xPU0UgMQorI2RlZmluZSBIQVZFX0NPTlNUX1RDUF9DTE9TRV9XQUlUIDEKKyNk
ZWZpbmUgSEFWRV9DT05TVF9UQ1BfTEFTVF9BQ0sgMQorI2RlZmluZSBIQVZFX0NPTlNUX1RDUF9M
SVNURU4gMQorI2RlZmluZSBIQVZFX0NPTlNUX1RDUF9DTE9TSU5HIDEKKyNkZWZpbmUgSEFWRV9T
VFJVQ1RfVENQX0lORk9fVENQSV9TVEFURSAxCisjZGVmaW5lIEhBVkVfU1RfVENQSV9TVEFURSAx
CisjZGVmaW5lIEhBVkVfU1RSVUNUX1RDUF9JTkZPX1RDUElfQ0FfU1RBVEUgMQorI2RlZmluZSBI
QVZFX1NUX1RDUElfQ0FfU1RBVEUgMQorI2RlZmluZSBIQVZFX1NUUlVDVF9UQ1BfSU5GT19UQ1BJ
X1JFVFJBTlNNSVRTIDEKKyNkZWZpbmUgSEFWRV9TVF9UQ1BJX1JFVFJBTlNNSVRTIDEKKyNkZWZp
bmUgSEFWRV9TVFJVQ1RfVENQX0lORk9fVENQSV9QUk9CRVMgMQorI2RlZmluZSBIQVZFX1NUX1RD
UElfUFJPQkVTIDEKKyNkZWZpbmUgSEFWRV9TVFJVQ1RfVENQX0lORk9fVENQSV9CQUNLT0ZGIDEK
KyNkZWZpbmUgSEFWRV9TVF9UQ1BJX0JBQ0tPRkYgMQorI2RlZmluZSBIQVZFX1NUUlVDVF9UQ1Bf
SU5GT19UQ1BJX09QVElPTlMgMQorI2RlZmluZSBIQVZFX1NUX1RDUElfT1BUSU9OUyAxCisjZGVm
aW5lIEhBVkVfU1RSVUNUX1RDUF9JTkZPX1RDUElfUlRPIDEKKyNkZWZpbmUgSEFWRV9TVF9UQ1BJ
X1JUTyAxCisjZGVmaW5lIEhBVkVfU1RSVUNUX1RDUF9JTkZPX1RDUElfQVRPIDEKKyNkZWZpbmUg
SEFWRV9TVF9UQ1BJX0FUTyAxCisjZGVmaW5lIEhBVkVfU1RSVUNUX1RDUF9JTkZPX1RDUElfU05E
X01TUyAxCisjZGVmaW5lIEhBVkVfU1RfVENQSV9TTkRfTVNTIDEKKyNkZWZpbmUgSEFWRV9TVFJV
Q1RfVENQX0lORk9fVENQSV9SQ1ZfTVNTIDEKKyNkZWZpbmUgSEFWRV9TVF9UQ1BJX1JDVl9NU1Mg
MQorI2RlZmluZSBIQVZFX1NUUlVDVF9UQ1BfSU5GT19UQ1BJX1VOQUNLRUQgMQorI2RlZmluZSBI
QVZFX1NUX1RDUElfVU5BQ0tFRCAxCisjZGVmaW5lIEhBVkVfU1RSVUNUX1RDUF9JTkZPX1RDUElf
U0FDS0VEIDEKKyNkZWZpbmUgSEFWRV9TVF9UQ1BJX1NBQ0tFRCAxCisjZGVmaW5lIEhBVkVfU1RS
VUNUX1RDUF9JTkZPX1RDUElfTE9TVCAxCisjZGVmaW5lIEhBVkVfU1RfVENQSV9MT1NUIDEKKyNk
ZWZpbmUgSEFWRV9TVFJVQ1RfVENQX0lORk9fVENQSV9SRVRSQU5TIDEKKyNkZWZpbmUgSEFWRV9T
VF9UQ1BJX1JFVFJBTlMgMQorI2RlZmluZSBIQVZFX1NUUlVDVF9UQ1BfSU5GT19UQ1BJX0ZBQ0tF
VFMgMQorI2RlZmluZSBIQVZFX1NUX1RDUElfRkFDS0VUUyAxCisjZGVmaW5lIEhBVkVfU1RSVUNU
X1RDUF9JTkZPX1RDUElfTEFTVF9EQVRBX1NFTlQgMQorI2RlZmluZSBIQVZFX1NUX1RDUElfTEFT
VF9EQVRBX1NFTlQgMQorI2RlZmluZSBIQVZFX1NUUlVDVF9UQ1BfSU5GT19UQ1BJX0xBU1RfQUNL
X1NFTlQgMQorI2RlZmluZSBIQVZFX1NUX1RDUElfTEFTVF9BQ0tfU0VOVCAxCisjZGVmaW5lIEhB
VkVfU1RSVUNUX1RDUF9JTkZPX1RDUElfTEFTVF9EQVRBX1JFQ1YgMQorI2RlZmluZSBIQVZFX1NU
X1RDUElfTEFTVF9EQVRBX1JFQ1YgMQorI2RlZmluZSBIQVZFX1NUUlVDVF9UQ1BfSU5GT19UQ1BJ
X0xBU1RfQUNLX1JFQ1YgMQorI2RlZmluZSBIQVZFX1NUX1RDUElfTEFTVF9BQ0tfUkVDViAxCisj
ZGVmaW5lIEhBVkVfU1RSVUNUX1RDUF9JTkZPX1RDUElfUE1UVSAxCisjZGVmaW5lIEhBVkVfU1Rf
VENQSV9QTVRVIDEKKyNkZWZpbmUgSEFWRV9TVFJVQ1RfVENQX0lORk9fVENQSV9SQ1ZfU1NUSFJF
U0ggMQorI2RlZmluZSBIQVZFX1NUX1RDUElfUkNWX1NTVEhSRVNIIDEKKyNkZWZpbmUgSEFWRV9T
VFJVQ1RfVENQX0lORk9fVENQSV9SVFQgMQorI2RlZmluZSBIQVZFX1NUX1RDUElfUlRUIDEKKyNk
ZWZpbmUgSEFWRV9TVFJVQ1RfVENQX0lORk9fVENQSV9SVFRWQVIgMQorI2RlZmluZSBIQVZFX1NU
X1RDUElfUlRUVkFSIDEKKyNkZWZpbmUgSEFWRV9TVFJVQ1RfVENQX0lORk9fVENQSV9TTkRfU1NU
SFJFU0ggMQorI2RlZmluZSBIQVZFX1NUX1RDUElfU05EX1NTVEhSRVNIIDEKKyNkZWZpbmUgSEFW
RV9TVFJVQ1RfVENQX0lORk9fVENQSV9TTkRfQ1dORCAxCisjZGVmaW5lIEhBVkVfU1RfVENQSV9T
TkRfQ1dORCAxCisjZGVmaW5lIEhBVkVfU1RSVUNUX1RDUF9JTkZPX1RDUElfQURWTVNTIDEKKyNk
ZWZpbmUgSEFWRV9TVF9UQ1BJX0FEVk1TUyAxCisjZGVmaW5lIEhBVkVfU1RSVUNUX1RDUF9JTkZP
X1RDUElfUkVPUkRFUklORyAxCisjZGVmaW5lIEhBVkVfU1RfVENQSV9SRU9SREVSSU5HIDEKKyNk
ZWZpbmUgSEFWRV9TVFJVQ1RfVENQX0lORk9fVENQSV9SQ1ZfUlRUIDEKKyNkZWZpbmUgSEFWRV9T
VF9UQ1BJX1JDVl9SVFQgMQorI2RlZmluZSBIQVZFX1NUUlVDVF9UQ1BfSU5GT19UQ1BJX1JDVl9T
UEFDRSAxCisjZGVmaW5lIEhBVkVfU1RfVENQSV9SQ1ZfU1BBQ0UgMQorI2RlZmluZSBIQVZFX1NU
UlVDVF9UQ1BfSU5GT19UQ1BJX1RPVEFMX1JFVFJBTlMgMQorI2RlZmluZSBIQVZFX1NUX1RDUElf
VE9UQUxfUkVUUkFOUyAxCisjZGVmaW5lIEhBVkVfU09DS0VUIDEKKyNkZWZpbmUgSEFWRV9TRU5E
TVNHIDEKKyNkZWZpbmUgSEFWRV9SRUNWTVNHIDEKKyNkZWZpbmUgSEFWRV9GUkVFQUREUklORk8g
MQorI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCisjZGVmaW5lIEdBSV9TVFJFUlJPUl9DT05T
VCAxCisjZGVmaW5lIEhBVkVfQUNDRVBUNCAxCisjZGVmaW5lIEhBVkVfSU5FVF9OVE9QIDEKKyNk
ZWZpbmUgSEFWRV9JTkVUX1BUT04gMQorI2RlZmluZSBIQVZFX0dFVFNFUlZCWVBPUlQgMQorI2Rl
ZmluZSBIQVZFX0dFVElGQUREUlMgMQorI2RlZmluZSBIQVZFX0lGX0lOREVYVE9OQU1FIDEKKyNk
ZWZpbmUgTkVFRF9JRl9JTkRFWFRPTkFNRV9ERUNMIDEKKyNkZWZpbmUgSEFWRV9JRl9OQU1FVE9J
TkRFWCAxCisjZGVmaW5lIE5FRURfSUZfTkFNRVRPSU5ERVhfREVDTCAxCisjZGVmaW5lIEhBVkVf
R0VUSE9TVEJZTkFNRTIgMQorI2RlZmluZSBIQVZFX1NPQ0tFVFBBSVIgMQorI2RlZmluZSBIQVZF
X0dFVEhPU1ROQU1FIDEKKyNkZWZpbmUgRU5BQkxFX0lQVjYgMQorI2RlZmluZSBJTkVUNiAxCisj
ZGVmaW5lIEhBVkVfQ09OU1RfQUZfVU5JWCAxCisjZGVmaW5lIEhBVkVfQ09OU1RfU0NNX1JJR0hU
UyAxCisjZGVmaW5lIEZEX1BBU1NJTkdfV09SS19XSVRIX1JFQ1ZNU0dfTVNHX1BFRUsgMQorI2Rl
ZmluZSBIQVZFX0dFVE5BTUVJTkZPIDEKKyNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCisjZGVm
aW5lIFJVQllfRVhQT1JUIDEKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2V4dC9zdHJp
bmdpby9leHRjb25mLmggYi9nZW5lcmF0ZWQvZXh0L3N0cmluZ2lvL2V4dGNvbmYuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNzk1ZTNkCi0tLSAvZGV2L251bGwKKysrIGIv
Z2VuZXJhdGVkL2V4dC9zdHJpbmdpby9leHRjb25mLmgKQEAgLTAsMCArMSw0IEBACisjaWZuZGVm
IEVYVENPTkZfSAorI2RlZmluZSBFWFRDT05GX0gKKyNkZWZpbmUgUlVCWV9FWFBPUlQgMQorI2Vu
ZGlmCmRpZmYgLS1naXQgYS9nZW5lcmF0ZWQvZXh0L3N0cnNjYW4vZXh0Y29uZi5oIGIvZ2VuZXJh
dGVkL2V4dC9zdHJzY2FuL2V4dGNvbmYuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi4wNzk1ZTNkCi0tLSAvZGV2L251bGwKKysrIGIvZ2VuZXJhdGVkL2V4dC9zdHJzY2FuL2V4
dGNvbmYuaApAQCAtMCwwICsxLDQgQEAKKyNpZm5kZWYgRVhUQ09ORl9ICisjZGVmaW5lIEVYVENP
TkZfSAorI2RlZmluZSBSVUJZX0VYUE9SVCAxCisjZW5kaWYKZGlmZiAtLWdpdCBhL2dlbmVyYXRl
ZC9leHQvc3lzbG9nL2V4dGNvbmYuaCBiL2dlbmVyYXRlZC9leHQvc3lzbG9nL2V4dGNvbmYuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZTdlOWUxCi0tLSAvZGV2L251bGwK
KysrIGIvZ2VuZXJhdGVkL2V4dC9zeXNsb2cvZXh0Y29uZi5oCkBAIC0wLDAgKzEsNyBAQAorI2lm
bmRlZiBFWFRDT05GX0gKKyNkZWZpbmUgRVhUQ09ORl9ICisjZGVmaW5lIEhBVkVfU1lTTE9HX0gg
MQorI2RlZmluZSBIQVZFX09QRU5MT0cgMQorI2RlZmluZSBIQVZFX1NFVExPR01BU0sgMQorI2Rl
ZmluZSBSVUJZX0VYUE9SVCAxCisjZW5kaWYKZGlmZiAtLWdpdCBhL2dlbmVyYXRlZC9leHQvemxp
Yi9leHRjb25mLmggYi9nZW5lcmF0ZWQvZXh0L3psaWIvZXh0Y29uZi5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM5MDA2YmMKLS0tIC9kZXYvbnVsbAorKysgYi9nZW5lcmF0
ZWQvZXh0L3psaWIvZXh0Y29uZi5oCkBAIC0wLDAgKzEsOCBAQAorI2lmbmRlZiBFWFRDT05GX0gK
KyNkZWZpbmUgRVhUQ09ORl9ICisjZGVmaW5lIEhBVkVfWkxJQl9IIDEKKyNkZWZpbmUgSEFWRV9D
UkMzMl9DT01CSU5FIDEKKyNkZWZpbmUgSEFWRV9BRExFUjMyX0NPTUJJTkUgMQorI2RlZmluZSBI
QVZFX1RZUEVfWl9DUkNfVCAxCisjZGVmaW5lIFJVQllfRVhQT1JUIDEKKyNlbmRpZgotLSAKMi4y
MC4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWlu
aW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcK
aHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZl
bA==

From minios-devel-bounces@lists.xenproject.org Sun Dec 08 09:56:05 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 08 Dec 2019 09:56:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1idtIL-0007mM-0h; Sun, 08 Dec 2019 09:56:05 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=qLlK=Z6=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1idtIJ-0007m0-D8
 for minios-devel@lists.xen.org; Sun, 08 Dec 2019 09:56:03 +0000
X-Inumbo-ID: dc9c6792-19a0-11ea-b6f1-bc764e2007e4
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id dc9c6792-19a0-11ea-b6f1-bc764e2007e4;
 Sun, 08 Dec 2019 09:55:27 +0000 (UTC)
IronPort-SDR: r7ThYhUR9DgVOq6JdqR3IlNkG5MTkoq8nbUF9h8DKDWhQQpdzgGhgFXFDBUgVl730dH5wEue86
 nKHZ65uShjZA==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 08 Dec 2019 11:55:19 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 506B01A60A93;
 Sun,  8 Dec 2019 11:55:19 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id zXXJtECSVk_x; Sun,  8 Dec 2019 11:55:19 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 368921A60FBE;
 Sun,  8 Dec 2019 11:55:19 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id Xhwx1bbPutf7; Sun,  8 Dec 2019 11:55:19 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 22A061A60E3D;
 Sun,  8 Dec 2019 11:55:19 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Sun,  8 Dec 2019 11:55:03 +0200
Message-Id: <20191208095507.27384-13-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191208095507.27384-1-costin.lupu@cs.pub.ro>
References: <20191208095507.27384-1-costin.lupu@cs.pub.ro>
Subject: [Minios-devel] [UNIKRAFT/RUBY PATCH 12/16] encodings: Build
 extensions
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

QWxsIGVuY29kaW5ncyBhcmUgaW5jbHVkZWQgaW4gYSBuZXcgbGlicmFyeSwgbGlicnVieV9lbmMu
IEdpdmVuIHRoYXQgdGhlCmV4dGVuc2lvbnMgZmlsZXMgYXJlIGdlbmVyYXRlZCBhdCBidWlsZCB0
aW1lIGJ5IHRoZSBvcmlnaW4gYnVpbGQgc3lzdGVtLCB3ZQphbHNvIGhhdmUgdG8gcnVuIGAuL2Nv
bmZpZ3VyZWAgYW5kIGBtYWtlYCBmb3IgdGhlIG9yaWdpbmFsIGJ1aWxkIGJlZm9yZQpidWlsZGlu
ZyB0aGVtIGZvciBVbmlrcmFmdC4gVGhpcyBpcyBkb25lIG9uY2UgZm9yIGJvdGggZXh0ZW5zaW9u
cyBhbmQKZW5jb2RpbmdzLgoKU2lnbmVkLW9mZi1ieTogQ29zdGluIEx1cHUgPGNvc3Rpbi5sdXB1
QGNzLnB1Yi5ybz4KLS0tCiBDb25maWcudWsgICB8ICA2ICsrKysrCiBNYWtlZmlsZS51ayB8IDc4
ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAy
IGZpbGVzIGNoYW5nZWQsIDg0IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9Db25maWcudWsg
Yi9Db25maWcudWsKaW5kZXggZmY0NGZkNy4uYjRjNWJmZiAxMDA2NDQKLS0tIGEvQ29uZmlnLnVr
CisrKyBiL0NvbmZpZy51awpAQCAtMTIzLDQgKzEyMywxMCBAQCBjb25maWcgTElCUlVCWV9FWFQK
IAkJYm9vbCAic2RibSIKIAkJZGVmYXVsdCB5CiAJZW5kaWYKKworY29uZmlnIExJQlJVQllfRU5D
CisJYm9vbCAiRW5hYmxlIGVuY29kaW5ncyIKKwlkZXBlbmRzIG9uICFMSUJSVUJZX01JTkkKKwlk
ZWZhdWx0IHkKKwogZW5kaWYKZGlmZiAtLWdpdCBhL01ha2VmaWxlLnVrIGIvTWFrZWZpbGUudWsK
aW5kZXggNDJkMzM0OC4uOWY2NjYwNiAxMDA2NDQKLS0tIGEvTWFrZWZpbGUudWsKKysrIGIvTWFr
ZWZpbGUudWsKQEAgLTQwLDYgKzQwLDcgQEAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAkKGV2
YWwgJChjYWxsIGFkZGxpYl9zLGxpYnJ1YnksJChDT05GSUdfTElCUlVCWSkpKQogJChldmFsICQo
Y2FsbCBhZGRsaWJfcyxsaWJydWJ5X2V4dCwkKENPTkZJR19MSUJSVUJZX0VYVCkpKQorJChldmFs
ICQoY2FsbCBhZGRsaWJfcyxsaWJydWJ5X2VuYywkKENPTkZJR19MSUJSVUJZX0VOQykpKQogCiAj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogIyBTb3VyY2VzCkBAIC00NjEsNyArNDYyLDgxIEBAIExJ
QlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvc2RibS9pbml0LmN8c2RibQog
TElCUlVCWV9FWFRfSU5JVF9GTEFHUy15ICs9IC1JJChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9l
eHQvc2RibQogZW5kaWYKIAorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgRW5jb2RpbmdzCisj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIworTElCUlVCWV9FTkNfQ0ZMQUdTLXkgKz0gJChMSUJSVUJZ
X0NJTkNMVURFUy15KQorTElCUlVCWV9FTkNfQ0ZMQUdTLXkgKz0gJChMSUJSVUJZX1NVUFBSRVNT
X0ZMQUdTKQorTElCUlVCWV9FTkNfQ0ZMQUdTLXkgKz0gLURSVUJZX0VYUE9SVD0xIC1ET05JR19F
TkNfUkVHSVNURVI9cmJfZW5jX3JlZ2lzdGVyCisKK2lmZXEgKCQoQ09ORklHX0xJQlJVQllfRU5D
KSx5KQorTElCUlVCWV9TUkNTLXkgKz0gJChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9lbmMvZW5j
aW5pdC5jCitlbHNlCiBMSUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9kbXllbmMuYwor
ZW5kaWYKKworIyBlbmMvbGliZW5jLmEKK0xJQlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllf
U1JDKS9lbmMvZW5jZGIuYworTElCUlVCWV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2Vu
Yy9iaWc1LmMKK0xJQlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMvY3A5NDku
YworTElCUlVCWV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy9lbWFjc19tdWxlLmMK
K0xJQlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMvZXVjX2pwLmMKK0xJQlJV
QllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMvZXVjX2tyLmMKK0xJQlJVQllfRU5D
X1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMvZXVjX3R3LmMKK0xJQlJVQllfRU5DX1NSQ1Mt
eSArPSAkKExJQlJVQllfU1JDKS9lbmMvZ2IyMzEyLmMKK0xJQlJVQllfRU5DX1NSQ1MteSArPSAk
KExJQlJVQllfU1JDKS9lbmMvZ2IxODAzMC5jCitMSUJSVUJZX0VOQ19TUkNTLXkgKz0gJChMSUJS
VUJZX1NSQykvZW5jL2diay5jCitMSUJSVUJZX0VOQ19TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykv
ZW5jL2lzb184ODU5XzEuYworTElCUlVCWV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2Vu
Yy9pc29fODg1OV8yLmMKK0xJQlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMv
aXNvXzg4NTlfMy5jCitMSUJSVUJZX0VOQ19TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL2lz
b184ODU5XzQuYworTElCUlVCWV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy9pc29f
ODg1OV81LmMKK0xJQlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMvaXNvXzg4
NTlfNi5jCitMSUJSVUJZX0VOQ19TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL2lzb184ODU5
XzcuYworTElCUlVCWV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy9pc29fODg1OV84
LmMKK0xJQlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMvaXNvXzg4NTlfOS5j
CitMSUJSVUJZX0VOQ19TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL2lzb184ODU5XzEwLmMK
K0xJQlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMvaXNvXzg4NTlfMTEuYwor
TElCUlVCWV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy9pc29fODg1OV8xMy5jCitM
SUJSVUJZX0VOQ19TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL2lzb184ODU5XzE0LmMKK0xJ
QlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMvaXNvXzg4NTlfMTUuYworTElC
UlVCWV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy9pc29fODg1OV8xNi5jCitMSUJS
VUJZX0VOQ19TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL2tvaThfci5jCitMSUJSVUJZX0VO
Q19TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL2tvaThfdS5jCitMSUJSVUJZX0VOQ19TUkNT
LXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL3NoaWZ0X2ppcy5jCitMSUJSVUJZX0VOQ19TUkNTLXkg
Kz0gJChMSUJSVUJZX1NSQykvZW5jL3V0Zl8xNmJlLmMKK0xJQlJVQllfRU5DX1NSQ1MteSArPSAk
KExJQlJVQllfU1JDKS9lbmMvdXRmXzE2bGUuYworTElCUlVCWV9FTkNfU1JDUy15ICs9ICQoTElC
UlVCWV9TUkMpL2VuYy91dGZfMzJiZS5jCitMSUJSVUJZX0VOQ19TUkNTLXkgKz0gJChMSUJSVUJZ
X1NSQykvZW5jL3V0Zl8zMmxlLmMKK0xJQlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllfU1JD
KS9lbmMvd2luZG93c18zMWouYworTElCUlVCWV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMp
L2VuYy93aW5kb3dzXzEyNTAuYworTElCUlVCWV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMp
L2VuYy93aW5kb3dzXzEyNTEuYworTElCUlVCWV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMp
L2VuYy93aW5kb3dzXzEyNTIuYworTElCUlVCWV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMp
L2VuYy93aW5kb3dzXzEyNTMuYworTElCUlVCWV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMp
L2VuYy93aW5kb3dzXzEyNTQuYworTElCUlVCWV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMp
L2VuYy93aW5kb3dzXzEyNTcuYworCisjIGVuYy9saWJ0cmFucy5hCitMSUJSVUJZX0VOQ19TUkNT
LXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL3RyYW5zL3RyYW5zZGIuYworTElCUlVCWV9FTkNfU1JD
Uy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy90cmFucy9iaWc1LmN8dHJhbnMKK0xJQlJVQllfRU5D
X1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMvdHJhbnMvY2hpbmVzZS5jCitMSUJSVUJZX0VO
Q19TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL3RyYW5zL2ViY2RpYy5jCitMSUJSVUJZX0VO
Q19TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL3RyYW5zL2Vtb2ppLmMKK0xJQlJVQllfRU5D
X1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMvdHJhbnMvZW1vamlfaXNvMjAyMl9rZGRpLmMK
K0xJQlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMvdHJhbnMvZW1vamlfc2pp
c19kb2NvbW8uYworTElCUlVCWV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy90cmFu
cy9lbW9qaV9zamlzX2tkZGkuYworTElCUlVCWV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMp
L2VuYy90cmFucy9lbW9qaV9zamlzX3NvZnRiYW5rLmMKK0xJQlJVQllfRU5DX1NSQ1MteSArPSAk
KExJQlJVQllfU1JDKS9lbmMvdHJhbnMvZXNjYXBlLmMKK0xJQlJVQllfRU5DX1NSQ1MteSArPSAk
KExJQlJVQllfU1JDKS9lbmMvdHJhbnMvZ2IxODAzMC5jfHRyYW5zCitMSUJSVUJZX0VOQ19TUkNT
LXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL3RyYW5zL2diay5jfHRyYW5zCitMSUJSVUJZX0VOQ19T
UkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL3RyYW5zL2lzbzIwMjIuYworTElCUlVCWV9FTkNf
U1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy90cmFucy9qYXBhbmVzZS5jCitMSUJSVUJZX0VO
Q19TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL3RyYW5zL2phcGFuZXNlX2V1Yy5jCitMSUJS
VUJZX0VOQ19TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL3RyYW5zL2phcGFuZXNlX3NqaXMu
YworTElCUlVCWV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy90cmFucy9rb3JlYW4u
YworTElCUlVCWV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy90cmFucy9zaW5nbGVf
Ynl0ZS5jCitMSUJSVUJZX0VOQ19TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL3RyYW5zL3V0
ZjhfbWFjLmMKK0xJQlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMvdHJhbnMv
dXRmXzE2XzMyLmMKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICMgUHJlcGFyZSBydWxlcwpA
QCAtNDgxLDQgKzU1Niw3IEBAICQoTElCUlVCWV9CVUlMRCkvLmJ1aWxkOiAkKExJQlJVQllfQlVJ
TEQpLy5jb25maWd1cmVkCiBpZmVxICgkKENPTkZJR19MSUJSVUJZX0VYVCkseSkKIFVLX1BSRVBB
UkUgKz0gJChMSUJSVUJZX0JVSUxEKS8uYnVpbGQKIGVuZGlmCitpZmVxICgkKENPTkZJR19MSUJS
VUJZX0VOQykseSkKK1VLX1BSRVBBUkUgKz0gJChMSUJSVUJZX0JVSUxEKS8uYnVpbGQKK2VuZGlm
CiAKLS0gCjIuMjAuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnBy
b2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9t
aW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Sun Dec 08 09:56:10 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 08 Dec 2019 09:56:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1idtIQ-0007nO-2s; Sun, 08 Dec 2019 09:56:10 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=qLlK=Z6=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1idtIO-0007nA-Dv
 for minios-devel@lists.xen.org; Sun, 08 Dec 2019 09:56:08 +0000
X-Inumbo-ID: dcd9dbea-19a0-11ea-b6f1-bc764e2007e4
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id dcd9dbea-19a0-11ea-b6f1-bc764e2007e4;
 Sun, 08 Dec 2019 09:55:28 +0000 (UTC)
IronPort-SDR: 7HZgHuwtJGY1aeiuRbqQeUsXlMWLFnjrZ4TOSURDCexdV9vBrRW5wuK3ZqZDb+hZcRwVd9yTeb
 J+4wY27cPl0w==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 08 Dec 2019 11:55:19 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 562A11A60FBE;
 Sun,  8 Dec 2019 11:55:19 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id LbDSRl1ohb8c; Sun,  8 Dec 2019 11:55:19 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 3D5FA1A61024;
 Sun,  8 Dec 2019 11:55:19 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id 9eLkNr2TQHVp; Sun,  8 Dec 2019 11:55:19 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 2A86F1A60A93;
 Sun,  8 Dec 2019 11:55:19 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Sun,  8 Dec 2019 11:55:05 +0200
Message-Id: <20191208095507.27384-15-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191208095507.27384-1-costin.lupu@cs.pub.ro>
References: <20191208095507.27384-1-costin.lupu@cs.pub.ro>
Subject: [Minios-devel] [UNIKRAFT/RUBY PATCH 14/16] Makefile.uk: Add rule
 for creating root filesystem
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhlIFJ1YnkgaW50ZXJwcmV0ZXIgbmVlZHMgYSBmaWxlc3lzdGVtIHdoZXJlIHRvIGtlZXAgaXRz
IGxpYnJhcmllcy4gVGhpcyBwYXRjaApjcmVhdGVzIGEgcm9vdCBmaWxlc3lzdGVtIGFuZCBpbnN0
YWxscyB0aGUgUnVieSBsaWJyYXJpZXMgaW4gYC9saWIvcnVieS8yLjYuMC9gCmRpcmVjdG9yeS4g
Rm9yIGNyZWF0aW5nIHRoZSBmaWxlc3lzdGVtIHRoZSBmb2xsb3dpbmcgY29tbWFuZCBoYXMgdG8g
YmUgcnVuOgoKJCBtYWtlIHJ1Ynktcm9vdGZzIHBhdGg9PGRpcmVjdG9yeT4KClNpZ25lZC1vZmYt
Ynk6IENvc3RpbiBMdXB1IDxjb3N0aW4ubHVwdUBjcy5wdWIucm8+Ci0tLQogTWFrZWZpbGUudWsg
ICAgICAgICAgICAgICB8IDI4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGdlbXMtZXhh
bXBsZXMvR2VtZmlsZS1pcmIgfCAgOCArKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCAzNiBpbnNl
cnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2Vtcy1leGFtcGxlcy9HZW1maWxlLWlyYgoK
ZGlmZiAtLWdpdCBhL01ha2VmaWxlLnVrIGIvTWFrZWZpbGUudWsKaW5kZXggYTdhZWI5YS4uNzRk
ODM3OCAxMDA2NDQKLS0tIGEvTWFrZWZpbGUudWsKKysrIGIvTWFrZWZpbGUudWsKQEAgLTYwMCwz
ICs2MDAsMzEgQEAgaWZlcSAoJChDT05GSUdfTElCUlVCWV9FTkMpLHkpCiBVS19QUkVQQVJFICs9
ICQoTElCUlVCWV9CVUlMRCkvLmJ1aWxkCiBlbmRpZgogCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IworIyBSb290IGZpbGVzeXN0ZW0KKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIFJvb3QgZmls
ZXN5c3RlbSBwYXRoCitSVUJZX1JPT1RGUyA9ICQoQVBQX0JBU0UpLyQocGF0aCkKKworIyBDb25m
aWd1cmUgb3JpZ2luCiskKFJVQllfUk9PVEZTKS8uY29uZmlndXJlZDogJChMSUJSVUJZX0JVSUxE
KS8ub3JpZ2luCisJbWtkaXIgLXAgJChSVUJZX1JPT1RGUykgJj4vZGV2L251bGwKKwljZCAkKExJ
QlJVQllfU1JDKSAmJiBcCisJCWF1dG9jb25mICYmIFwKKwkJLi9jb25maWd1cmUgLS1wcmVmaXg9
JChzaGVsbCByZWFscGF0aCAkKEFQUF9CQVNFKS8kKHBhdGgpKSAtLXdpdGgtc3RhdGljLWxpbmtl
ZC1leHQgJiYgXAorCQl0b3VjaCAkQCAmJiB0b3VjaCAkKExJQlJVQllfQlVJTEQpLy5jb25maWd1
cmVkCisKKyMgQnVpbGQgUnVieQorJChSVUJZX1JPT1RGUykvLmJ1aWxkOiAkKFJVQllfUk9PVEZT
KS8uY29uZmlndXJlZAorCWNkICQoTElCUlVCWV9TUkMpICYmIG1ha2UgJiYgdG91Y2ggJEAgJiYg
dG91Y2ggJChMSUJSVUJZX0JVSUxEKS8uYnVpbGQKKworIyBJbnN0YWxsIFJ1YnkKKyQoUlVCWV9S
T09URlMpLy5kb25lOiAkKFJVQllfUk9PVEZTKS8uYnVpbGQKKwljZCAkKExJQlJVQllfU1JDKSAm
JiBtYWtlIGluc3RhbGwKKwljcCAtciAkKExJQlJVQllfU1JDKS8uZXh0ICQoUlVCWV9ST09URlMp
L2xpYi9ydWJ5LzIuNi4wLworCWNwIC1yICQoTElCUlVCWV9TUkMpL3Rlc3QgJChSVUJZX1JPT1RG
UykvbGliL3J1YnkvMi42LjAvCisJY3AgJChMSUJSVUJZX0JBU0UpL2dlbXMtZXhhbXBsZXMvR2Vt
ZmlsZS1pcmIgJChSVUJZX1JPT1RGUykvbGliL3J1YnkvMi42LjAvR2VtZmlsZQorCXRvdWNoICRA
CisKKy5QSE9OWTogcnVieS1yb290ZnMKK3J1Ynktcm9vdGZzOiAkKFJVQllfUk9PVEZTKS8uZG9u
ZQpkaWZmIC0tZ2l0IGEvZ2Vtcy1leGFtcGxlcy9HZW1maWxlLWlyYiBiL2dlbXMtZXhhbXBsZXMv
R2VtZmlsZS1pcmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWFjMzlkMAot
LS0gL2Rldi9udWxsCisrKyBiL2dlbXMtZXhhbXBsZXMvR2VtZmlsZS1pcmIKQEAgLTAsMCArMSw4
IEBACisjIGZyb3plbl9zdHJpbmdfbGl0ZXJhbDogdHJ1ZQorCitzb3VyY2UgImh0dHBzOi8vcnVi
eWdlbXMub3JnIgorCitnaXRfc291cmNlKDpnaXRodWIpIHt8cmVwb19uYW1lfCAiaHR0cHM6Ly9n
aXRodWIuY29tLyN7cmVwb19uYW1lfSIgfQorCisjIGdlbSAicmFpbHMiCitnZW0gJ2lyYicsIHJl
cXVpcmU6IGZhbHNlCi0tIAoyLjIwLjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBs
aXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4v
bGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Sun Dec 08 09:56:15 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 08 Dec 2019 09:56:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1idtIV-0007oI-4R; Sun, 08 Dec 2019 09:56:15 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=qLlK=Z6=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1idtIT-0007o4-DY
 for minios-devel@lists.xen.org; Sun, 08 Dec 2019 09:56:13 +0000
X-Inumbo-ID: dcf4a6aa-19a0-11ea-b6f1-bc764e2007e4
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id dcf4a6aa-19a0-11ea-b6f1-bc764e2007e4;
 Sun, 08 Dec 2019 09:55:28 +0000 (UTC)
IronPort-SDR: JX+Ez1T5DPAV1PtZFmnggsITyYqJ5av02KSEcT/i23aVRnotPpFlYXp39QcAZflRDXrTKCcQoA
 vexwE75o4Yyw==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 08 Dec 2019 11:55:19 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 691A61A60DF0;
 Sun,  8 Dec 2019 11:55:19 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id RR88ELXbIlmJ; Sun,  8 Dec 2019 11:55:19 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 526211A60E3D;
 Sun,  8 Dec 2019 11:55:19 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id PPsW-mUx1Mbb; Sun,  8 Dec 2019 11:55:19 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 2F5DB1A60DF0;
 Sun,  8 Dec 2019 11:55:19 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Sun,  8 Dec 2019 11:55:06 +0200
Message-Id: <20191208095507.27384-16-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191208095507.27384-1-costin.lupu@cs.pub.ro>
References: <20191208095507.27384-1-costin.lupu@cs.pub.ro>
Subject: [Minios-devel] [UNIKRAFT/RUBY PATCH 15/16] Provide main() function
 if configured to do so
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

V2UgcHJvdmlkZSBhIGNvbmZpZ3VyYWJsZSBtYWluKCkgZnVuY3Rpb24gZm9yIHJ1bm5pbmcgUnVi
eSBvdXQtb2YtdGhlLWJveCBhbmQKYWxzbyBmb3Igc2hvd2luZyBhbiBleGFtcGxlIG9mIHN1Y2gg
YSBmdW5jdGlvbiB0byBiZSB1c2VkIGJ5IGN1c3RvbQphcHBsaWNhdGlvbnMuIEl0IGFsc28gc2V0
cyB0aGUgbmVjZXNzYXJ5IFJ1YnkgZW52aXJvbm1lbnQgdmFyaWFibGVzLgoKU2lnbmVkLW9mZi1i
eTogQ29zdGluIEx1cHUgPGNvc3Rpbi5sdXB1QGNzLnB1Yi5ybz4KLS0tCiBDb25maWcudWsgICAg
ICAgICAgIHwgIDYgKysrKysrCiBNYWtlZmlsZS51ayAgICAgICAgIHwgIDEgKwogcnVieV9tYWlu
X2V4YW1wbGUuYyB8IDEzICsrKysrKysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgMjAgaW5zZXJ0
aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHJ1YnlfbWFpbl9leGFtcGxlLmMKCmRpZmYgLS1n
aXQgYS9Db25maWcudWsgYi9Db25maWcudWsKaW5kZXggOGY2ZDY4OS4uOTA3YjM5OSAxMDA2NDQK
LS0tIGEvQ29uZmlnLnVrCisrKyBiL0NvbmZpZy51awpAQCAtMjIsNiArMjIsMTIgQEAgY29uZmln
IExJQlJVQllfTUlOSQogCWJvb2wgIk1pbmkgY29uZmlndXJhdGlvbiIKIAlkZWZhdWx0IG4KIAor
Y29uZmlnIExJQlJVQllfTUFJTl9GVU5DVElPTgorCWJvb2wgIlByb3ZpZGUgbWFpbiBmdW5jdGlv
biIKKwlzZWxlY3QgTElCVkZTQ09SRV9BVVRPTU9VTlRfUk9PVEZTCisJc2VsZWN0IExJQlZGU0NP
UkVfUk9PVEZTXzlQRlMKKwlkZWZhdWx0IG4KKwogY29uZmlnIExJQlJVQllfRVhUCiAJYm9vbCAi
RW5hYmxlIGV4dGVuc2lvbnMiCiAJZGVwZW5kcyBvbiAhTElCUlVCWV9NSU5JCmRpZmYgLS1naXQg
YS9NYWtlZmlsZS51ayBiL01ha2VmaWxlLnVrCmluZGV4IDc0ZDgzNzguLmMxMjBhYzEgMTAwNjQ0
Ci0tLSBhL01ha2VmaWxlLnVrCisrKyBiL01ha2VmaWxlLnVrCkBAIC05Miw2ICs5Miw3IEBAIExJ
QlJVQllfQ0ZMQUdTLXkgKz0gLXN0ZD1nbnU5OSAtRF9GT1JUSUZZX1NPVVJDRT0yIFwKIAktRFJV
QllfRVhQT1JUIC1EQ0FOT05JQ0FMSVpBVElPTl9GT1JfTUFUSE4KIAogTElCUlVCWV9TUkNTLXkg
Kz0gJChMSUJSVUJZX0JBU0UpL3RocmVhZC5jfHVuaWtyYWZ0CitMSUJSVUJZX1NSQ1MtJChDT05G
SUdfTElCUlVCWV9NQUlOX0ZVTkNUSU9OKSArPSAkKExJQlJVQllfQkFTRSkvcnVieV9tYWluX2V4
YW1wbGUuY3x1bmlrcmFmdAogCiBpZmVxICgkKENPTkZJR19MSUJSVUJZX01JTkkpLHkpCiBMSUJS
VUJZX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9kbXlkbG4uYwpkaWZmIC0tZ2l0IGEvcnVieV9t
YWluX2V4YW1wbGUuYyBiL3J1YnlfbWFpbl9leGFtcGxlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uOGQ3MTFmYgotLS0gL2Rldi9udWxsCisrKyBiL3J1YnlfbWFpbl9leGFt
cGxlLmMKQEAgLTAsMCArMSwxMyBAQAorI2luY2x1ZGUgPHN0ZGxpYi5oPgorCitleHRlcm4gaW50
IHJ1YnlfbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKTsKKworaW50IG1haW4oaW50IGFyZ2Ms
IGNoYXIgKmFyZ3ZbXSkKK3sKKwlzZXRlbnYoIkdFTV9IT01FIiwgIi9saWIvcnVieS9nZW1zLzIu
Ni4wIiwgMCk7CisJc2V0ZW52KCJHRU1fUEFUSCIsICIvbGliL3J1YnkvZ2Vtcy8yLjYuMCIsIDAp
OworCXNldGVudigiUlVCWUdFTVNfR0VNREVQUyIsICIvbGliL3J1YnkvMi42LjAvR2VtZmlsZSIs
IDApOworCXNldGVudigiUlVCWUxJQiIsICIvbGliL3J1YnkvMi42LjAvOi9saWIvcnVieS8yLjYu
MC94ODZfNjQtbGludXg6L2xpYi9ydWJ5LzIuNi4wLy5leHQiLCAwKTsKKworCXJldHVybiBydWJ5
X21haW4oYXJnYywgYXJndik7Cit9Ci0tIAoyLjIwLjEKCgpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlv
cy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3Jn
L21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Sun Dec 08 22:20:23 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 08 Dec 2019 22:20:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ie4ua-000749-Lx; Sun, 08 Dec 2019 22:20:20 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=aWwl=Z6=stud.acs.upb.ro=vlad_andrei.badoiu@srs-us1.protection.inumbo.net>)
 id 1ie4ua-000744-1D
 for minios-devel@lists.xenproject.org; Sun, 08 Dec 2019 22:20:20 +0000
X-Inumbo-ID: e8f368ca-1a08-11ea-8762-12813bfff9fa
Received: from EUR01-VE1-obe.outbound.protection.outlook.com (unknown
 [40.107.14.82]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id e8f368ca-1a08-11ea-8762-12813bfff9fa;
 Sun, 08 Dec 2019 22:20:16 +0000 (UTC)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MuzP9ID7M8O+HnrovltttFdrB8AGcC5CoVHjv/AXxKEeiHXztcPdXZFYO89thK7haZjzc4HBB2gGmFYH9sc5ld0b/BGr8Gm3kV21e+obXGKwRN3DVNUvf9tmNkeLVTePYW74W4N8C9eXBElTlBzhDDd1crUyH+hLp7vbjFgNGd9ZTqyg2iplRpo9DagUNv4kbPWP0FJfzi1tDnb20rdQNU0u8eTNbnAObFuP+8ABhQB9XVRrVPfVi4gDVHUgLAgEjF0WjNLrcJOH/HfmaPs0SHJD/3cpesPcegw0PeT1CtE6E5uiSa0xwHmEeLxUhwHYe6vkXxjUlD7Du8aHJQwBpA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JEJ20xnplClmGKEDELaVsIgPZnnx5HxDsjzIHqFURUw=;
 b=Zevs4CawHMYLDx7h+c9VSqVJLjgAs8OmjZSlKRXAg2xeo2ezJgAifB5x14RG0YoDF2cOmgGpBqHtBcphZHjEvKxOGQsGDKs2cOKeKMJYmHCdhgC38c1opYqfhXVLPU3ek3uEuNHJKBsmfMTHMh7U5dENMagRZr1C7Ogi+HVNF2eC+1S7eykECRUSpz8vfSKTcyJ/UqrqW1LXAYeCQrBxiSLZR3Uf0fmzN4SUWEEFh1Vc0g461J9cfHEn8/jgoDGSWMa6f95LSdS2Uz1e+rmU/jP83RUF5mZ4CaO10OEaKQ3h+Gm8TX50KFDBL7HWk8P8BCmHF2c9SeNM76kt+fYFSQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=stud.acs.upb.ro; dmarc=pass action=none
 header.from=stud.acs.upb.ro; dkim=pass header.d=stud.acs.upb.ro; arc=none
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com (20.177.55.79) by
 VI1PR01MB4638.eurprd01.prod.exchangelabs.com (20.178.9.140) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.2516.14; Sun, 8 Dec 2019 22:20:14 +0000
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::71a3:74d9:f301:33b6]) by VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::71a3:74d9:f301:33b6%7]) with mapi id 15.20.2516.018; Sun, 8 Dec 2019
 22:20:14 +0000
From: =?utf-8?B?VmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIp?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
To: "minios-devel@lists.xenproject.org" <minios-devel@lists.xenproject.org>
Thread-Topic: [Minios-devel] [UNIKRAFT/PTHREAD-EMBEDDED PATCH 1/3] Remove
 exportsyms.uk
Thread-Index: AQHVrDblVtcoqOsnx0uEQzs0AfmeKaew0uIA
Date: Sun, 8 Dec 2019 22:20:14 +0000
Message-ID: <3daa8621-bb72-63fc-7e77-ad4800bcd693@stud.acs.upb.ro>
References: <20191206131231.22911-1-costin.lupu@cs.pub.ro>
 <20191206131231.22911-2-costin.lupu@cs.pub.ro>
In-Reply-To: <20191206131231.22911-2-costin.lupu@cs.pub.ro>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-clientproxiedby: AM0PR0102CA0044.eurprd01.prod.exchangelabs.com
 (2603:10a6:208::21) To VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 (2603:10a6:803:6d::15)
authentication-results: spf=none (sender IP is )
 smtp.mailfrom=vlad_andrei.badoiu@stud.acs.upb.ro; 
x-ms-exchange-messagesentrepresentingtype: 1
x-originating-ip: [2a02:2f0b:8303:7b00:84f1:5f33:c782:4452]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 3b88f472-419d-4c75-7a31-08d77c2ccc0d
x-ms-traffictypediagnostic: VI1PR01MB4638:
x-microsoft-antispam-prvs: <VI1PR01MB46384BDEAC1711A0B771B29FA6590@VI1PR01MB4638.eurprd01.prod.exchangelabs.com>
x-ms-oob-tlc-oobclassifiers: OLM:15;
x-forefront-prvs: 0245702D7B
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(376002)(136003)(396003)(39830400003)(366004)(346002)(199004)(189003)(51914003)(66556008)(66446008)(8676002)(66946007)(229853002)(64756008)(66476007)(31686004)(186003)(71190400001)(2616005)(305945005)(71200400001)(2906002)(6916009)(31696002)(478600001)(86362001)(5640700003)(6512007)(6506007)(53546011)(6486002)(316002)(786003)(85182001)(52116002)(76176011)(5660300002)(85202003)(102836004)(99286004)(8936002)(81156014)(81166006);
 DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR01MB4638;
 H:VI1PR01MB4205.eurprd01.prod.exchangelabs.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; A:0; MX:1; 
received-spf: None (protection.outlook.com: stud.acs.upb.ro does not designate
 permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: sguriD29mfw5w0wINhEIc9RTPcHfcPJsQ15V9R6O5VDE0b6nNI2eAo0byyx1ehVnSdGefxKA2DyRspn8znEA/b+4v2dC20DKRe1aLpMidcUaLHKcj7qWOJNyvkj18W07pXX5ab89YyI4zjrNw+7NaA8JpfHRuHImOnBFdu1FXHbJeWznizjIuJpInQrE1ivEVoTgaNSS8bNUvDHruLJ6Ze9Q8SPH2KAmK9/vLxPHufMyLnWD44i3zQ4kZmhqRRm9nNldeUzm9zWb9rk5GUcKv/k4bFLV7uMdFpfXZW3cQZBQTd8OQhRqrsOfyMA1DJafEXbxXMRjV90FC/o3r2FSrV+SNNg2yXlVtDMzrdUaUdVX/7HDxSlPOmlMxGrKt386Pt52xj1hcnRC1SuTps5sHXzY0r5Zk56lK6JCWOOvieuQW81Q17G1N0wymv8GWJL8Xh9WbgwHLMn03FzSZ2snV8Rs5RL/Z89y0iqoNeKDjlCTxVSUruOKsQLYBUhM29KJ
x-ms-exchange-transport-forked: True
Content-ID: <A076863492B36D44B969AEB60C3CA410@eurprd01.prod.exchangelabs.com>
MIME-Version: 1.0
X-OriginatorOrg: stud.acs.upb.ro
X-MS-Exchange-CrossTenant-Network-Message-Id: 3b88f472-419d-4c75-7a31-08d77c2ccc0d
X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Dec 2019 22:20:14.2053 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 2d8cc8ba-8dda-4334-9e5c-fac2092e9bac
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: xmRhrDdLfLJkxkovpRt8lsXzmNLwUOxZzVJXsCPSq/XAmyh8NDCwysmzZ3KysL/gUfNTHJauvEwLitVZvnRn4gt7XxsMW+N9xK1BZnWVZky5/Gl66wKthzSGK3EOiqbL
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR01MB4638
Subject: Re: [Minios-devel] [UNIKRAFT/PTHREAD-EMBEDDED PATCH 1/3] Remove
 exportsyms.uk
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgQ29zdGluLA0KDQpUaGFua3MgZm9yIHRoZSBwYXRjaC4gU2luY2Ugd2UgaGF2ZSBhbHJlYWR5
IHJlbW92ZWQgZXhwb3J0c3ltcy51ayBmcm9tIA0KbW9zdCBleHRlcm5hbCBsaWJyYXJpZXMgdGhp
cyBwYXRjaCBpcyBhIG5vcm1hbCBjaG9pY2UgZm9yIHB0aHJlYWRzLg0KDQpSZXZpZXdlZC1ieTog
VmxhZC1BbmRyZWkgQmFkb2l1IDx2bGFkX2FuZHJlaS5iYWRvaXVAc3R1ZC5hY3MudXBiLnJvPg0K
DQpPbiAwNi4xMi4yMDE5IDE1OjEyLCBDb3N0aW4gTHVwdSB3cm90ZToNCj4gU2lnbmVkLW9mZi1i
eTogQ29zdGluIEx1cHUgPGNvc3Rpbi5sdXB1QGNzLnB1Yi5ybz4NCj4gLS0tDQo+ICAgZXhwb3J0
c3ltcy51ayB8IDEwNSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQ0KPiAgIDEgZmlsZSBjaGFuZ2VkLCAxMDUgZGVsZXRpb25zKC0pDQo+ICAgZGVsZXRl
IG1vZGUgMTAwNjQ0IGV4cG9ydHN5bXMudWsNCj4NCj4gZGlmZiAtLWdpdCBhL2V4cG9ydHN5bXMu
dWsgYi9leHBvcnRzeW1zLnVrDQo+IGRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCA2
M2QxZjg1Li4wMDAwMDAwDQo+IC0tLSBhL2V4cG9ydHN5bXMudWsNCj4gKysrIC9kZXYvbnVsbA0K
PiBAQCAtMSwxMDUgKzAsMCBAQA0KPiAtcHRlX3BvcF9jbGVhbnVwDQo+IC1wdGVfcHVzaF9jbGVh
bnVwDQo+IC1wdGVfdGVzdF9tYWluDQo+IC1wdGhyZWFkX2F0Zm9yaw0KPiAtcHRocmVhZF9hdHRy
X2Rlc3Ryb3kNCj4gLXB0aHJlYWRfYXR0cl9nZXRkZXRhY2hzdGF0ZQ0KPiAtcHRocmVhZF9hdHRy
X2dldGluaGVyaXRzY2hlZA0KPiAtcHRocmVhZF9hdHRyX2dldHNjaGVkcGFyYW0NCj4gLXB0aHJl
YWRfYXR0cl9nZXRzY2hlZHBvbGljeQ0KPiAtcHRocmVhZF9hdHRyX2dldHNjb3BlDQo+IC1wdGhy
ZWFkX2F0dHJfZ2V0c3RhY2thZGRyDQo+IC1wdGhyZWFkX2F0dHJfZ2V0c3RhY2tzaXplDQo+IC1w
dGhyZWFkX2F0dHJfaW5pdA0KPiAtcHRocmVhZF9hdHRyX3NldGRldGFjaHN0YXRlDQo+IC1wdGhy
ZWFkX2F0dHJfc2V0aW5oZXJpdHNjaGVkDQo+IC1wdGhyZWFkX2F0dHJfc2V0c2NoZWRwYXJhbQ0K
PiAtcHRocmVhZF9hdHRyX3NldHNjaGVkcG9saWN5DQo+IC1wdGhyZWFkX2F0dHJfc2V0c2NvcGUN
Cj4gLXB0aHJlYWRfYXR0cl9zZXRzdGFja2FkZHINCj4gLXB0aHJlYWRfYXR0cl9zZXRzdGFja3Np
emUNCj4gLXB0aHJlYWRfYmFycmllcl9kZXN0cm95DQo+IC1wdGhyZWFkX2JhcnJpZXJfaW5pdA0K
PiAtcHRocmVhZF9iYXJyaWVyX3dhaXQNCj4gLXB0aHJlYWRfYmFycmllcmF0dHJfZGVzdHJveQ0K
PiAtcHRocmVhZF9iYXJyaWVyYXR0cl9nZXRwc2hhcmVkDQo+IC1wdGhyZWFkX2JhcnJpZXJhdHRy
X2luaXQNCj4gLXB0aHJlYWRfYmFycmllcmF0dHJfc2V0cHNoYXJlZA0KPiAtcHRocmVhZF9jYW5j
ZWwNCj4gLXB0aHJlYWRfY29uZF9icm9hZGNhc3QNCj4gLXB0aHJlYWRfY29uZF9kZXN0cm95DQo+
IC1wdGhyZWFkX2NvbmRfaW5pdA0KPiAtcHRocmVhZF9jb25kX3NpZ25hbA0KPiAtcHRocmVhZF9j
b25kX3RpbWVkd2FpdA0KPiAtcHRocmVhZF9jb25kX3dhaXQNCj4gLXB0aHJlYWRfY29uZGF0dHJf
ZGVzdHJveQ0KPiAtcHRocmVhZF9jb25kYXR0cl9nZXRwc2hhcmVkDQo+IC1wdGhyZWFkX2NvbmRh
dHRyX2luaXQNCj4gLXB0aHJlYWRfY29uZGF0dHJfc2V0cHNoYXJlZA0KPiAtcHRocmVhZF9jcmVh
dGUNCj4gLXB0aHJlYWRfZGV0YWNoDQo+IC1wdGhyZWFkX2VxdWFsDQo+IC1wdGhyZWFkX2V4aXQN
Cj4gLXB0aHJlYWRfZ2V0Y29uY3VycmVuY3kNCj4gLXB0aHJlYWRfZ2V0c2NoZWRwYXJhbQ0KPiAt
cHRocmVhZF9nZXRzcGVjaWZpYw0KPiAtcHRocmVhZF9pbml0DQo+IC1wdGhyZWFkX2pvaW4NCj4g
LXB0aHJlYWRfa2V5X2NyZWF0ZQ0KPiAtcHRocmVhZF9rZXlfZGVsZXRlDQo+IC1wdGhyZWFkX2tp
bGwNCj4gLXB0aHJlYWRfbXV0ZXhfZGVzdHJveQ0KPiAtcHRocmVhZF9tdXRleF9pbml0DQo+IC1w
dGhyZWFkX211dGV4X2xvY2sNCj4gLXB0aHJlYWRfbXV0ZXhfdGltZWRsb2NrDQo+IC1wdGhyZWFk
X211dGV4X3RyeWxvY2sNCj4gLXB0aHJlYWRfbXV0ZXhfdW5sb2NrDQo+IC1wdGhyZWFkX211dGV4
YXR0cl9kZXN0cm95DQo+IC1wdGhyZWFkX211dGV4YXR0cl9nZXRwc2hhcmVkDQo+IC1wdGhyZWFk
X211dGV4YXR0cl9nZXR0eXBlDQo+IC1wdGhyZWFkX211dGV4YXR0cl9pbml0DQo+IC1wdGhyZWFk
X211dGV4YXR0cl9zZXRwc2hhcmVkDQo+IC1wdGhyZWFkX211dGV4YXR0cl9zZXR0eXBlDQo+IC1w
dGhyZWFkX29uY2UNCj4gLXB0aHJlYWRfcndsb2NrX2Rlc3Ryb3kNCj4gLXB0aHJlYWRfcndsb2Nr
X2luaXQNCj4gLXB0aHJlYWRfcndsb2NrX3JkbG9jaw0KPiAtcHRocmVhZF9yd2xvY2tfdGltZWRy
ZGxvY2sNCj4gLXB0aHJlYWRfcndsb2NrX3RpbWVkd3Jsb2NrDQo+IC1wdGhyZWFkX3J3bG9ja190
cnlyZGxvY2sNCj4gLXB0aHJlYWRfcndsb2NrX3RyeXdybG9jaw0KPiAtcHRocmVhZF9yd2xvY2tf
dW5sb2NrDQo+IC1wdGhyZWFkX3J3bG9ja193cmxvY2sNCj4gLXB0aHJlYWRfcndsb2NrYXR0cl9k
ZXN0cm95DQo+IC1wdGhyZWFkX3J3bG9ja2F0dHJfZ2V0cHNoYXJlZA0KPiAtcHRocmVhZF9yd2xv
Y2thdHRyX2luaXQNCj4gLXB0aHJlYWRfcndsb2NrYXR0cl9zZXRwc2hhcmVkDQo+IC1wdGhyZWFk
X3NlbGYNCj4gLXB0aHJlYWRfc2V0Y2FuY2Vsc3RhdGUNCj4gLXB0aHJlYWRfc2V0Y2FuY2VsdHlw
ZQ0KPiAtcHRocmVhZF9zZXRjb25jdXJyZW5jeQ0KPiAtcHRocmVhZF9zZXRzY2hlZHBhcmFtDQo+
IC1wdGhyZWFkX3NldHNwZWNpZmljDQo+IC1wdGhyZWFkX3NpZ21hc2sNCj4gLXB0aHJlYWRfc3Bp
bl9kZXN0cm95DQo+IC1wdGhyZWFkX3NwaW5faW5pdA0KPiAtcHRocmVhZF9zcGluX2xvY2sNCj4g
LXB0aHJlYWRfc3Bpbl90cnlsb2NrDQo+IC1wdGhyZWFkX3NwaW5fdW5sb2NrDQo+IC1wdGhyZWFk
X3Rlcm1pbmF0ZQ0KPiAtcHRocmVhZF90ZXN0Y2FuY2VsDQo+IC1zY2hlZF9nZXRfcHJpb3JpdHlf
bWF4DQo+IC1zY2hlZF9nZXRfcHJpb3JpdHlfbWluDQo+IC1zY2hlZF9zZXRzY2hlZHVsZXINCj4g
LXNjaGVkX3lpZWxkDQo+IC1zZW1fY2xvc2UNCj4gLXNlbV9kZXN0cm95DQo+IC1zZW1fZ2V0dmFs
dWUNCj4gLXNlbV9pbml0DQo+IC1zZW1fb3Blbg0KPiAtc2VtX3Bvc3QNCj4gLXNlbV9wb3N0X211
bHRpcGxlDQo+IC1zZW1fdGltZWR3YWl0DQo+IC1zZW1fdHJ5d2FpdA0KPiAtc2VtX3VubGluaw0K
PiAtc2VtX3dhaXQNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2pl
Y3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5p
b3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Sun Dec 08 22:36:38 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 08 Dec 2019 22:36:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ie5AK-0007ug-Ur; Sun, 08 Dec 2019 22:36:36 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=aWwl=Z6=stud.acs.upb.ro=vlad_andrei.badoiu@srs-us1.protection.inumbo.net>)
 id 1ie5AJ-0007ub-AE
 for minios-devel@lists.xenproject.org; Sun, 08 Dec 2019 22:36:35 +0000
X-Inumbo-ID: 2f5ff8a8-1a0b-11ea-8764-12813bfff9fa
Received: from EUR03-VE1-obe.outbound.protection.outlook.com (unknown
 [40.107.5.83]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 2f5ff8a8-1a0b-11ea-8764-12813bfff9fa;
 Sun, 08 Dec 2019 22:36:33 +0000 (UTC)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aPLvrWCH9sKW5LU46UHHEpsBQHWNwkI7HFP7a2UPd02dFZ3GuewoXIrcOfcbela80iJSMMlroazaObFCMGqolu8tgU17sWSWXPNMxvv+/iiUkXRjHd/EaiG5MeJeglOMvOro7EshG3hVd4V1h8jyZk8zIZKR1g1pe3+kbfUcxY/77+VVfKZCBh0w5RBM3hpPDaZnabmjHbp8hwtWHCVdz+pWfNccNY1QhBc2K4ykJ6mcE8jESbdPQYl/IA1TJPRkjRsB3Hqf94UlxbaJX2sLGTd2A8nJebsftPd5OVeB53KR5IDOhQvLsZQDHTzNySL23zNDzRNu2qkuVU2Wpei41A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=y2rzfDGuLB8ZCrIFGSTl77nUs8Zz460wY/jUosFr4OQ=;
 b=PqiEVsFFmvA3nwYoitTk1I6PAQmebF/4Qxuy5qUTf++CB95Z+7oWbdtB4d/6Uf8lQgFm3FfGCAXMl+yxxD816ZESikxN2BxsdPU3z9suHSgQTO+UZYMn+guHuNFCpSfgah8l3XtN8jocc7ZOyC8eEZquYv4qrEkWF+BG9rxpQ8kI0fmgkOycaw6qtPtPV0KA+ojc5v9ijNkw8WsWFJrleEpuhusCRzEFEuvITTb7QImIuBCHz8G8z3+03l8b+13+sDQ+MmRbRUnzeTgF0DujZYEkPjButpuhcgi+jTgrA33JsNlGpx+xCrmRsXJC6e58NDkOdBr2TtkHauVTzuKQzA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=stud.acs.upb.ro; dmarc=pass action=none
 header.from=stud.acs.upb.ro; dkim=pass header.d=stud.acs.upb.ro; arc=none
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com (20.177.55.79) by
 VI1PR01MB6413.eurprd01.prod.exchangelabs.com (10.186.178.19) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.2516.14; Sun, 8 Dec 2019 22:36:31 +0000
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::71a3:74d9:f301:33b6]) by VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::71a3:74d9:f301:33b6%7]) with mapi id 15.20.2516.018; Sun, 8 Dec 2019
 22:36:31 +0000
From: =?utf-8?B?VmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIp?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
To: "minios-devel@lists.xenproject.org" <minios-devel@lists.xenproject.org>
Thread-Topic: [Minios-devel] [UNIKRAFT/PTHREAD-EMBEDDED PATCH 2/3]
 attributes.c: Allow GNU definitions regardless of _GNU_SOURCE
Thread-Index: AQHVrDbjBrnRl+BJ20CKkzccPmqzvaew12+A
Date: Sun, 8 Dec 2019 22:36:31 +0000
Message-ID: <1167e3e1-9206-4fb5-ead5-ad7632bef9e8@stud.acs.upb.ro>
References: <20191206131231.22911-1-costin.lupu@cs.pub.ro>
 <20191206131231.22911-3-costin.lupu@cs.pub.ro>
In-Reply-To: <20191206131231.22911-3-costin.lupu@cs.pub.ro>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-clientproxiedby: AM0PR10CA0044.EURPRD10.PROD.OUTLOOK.COM
 (2603:10a6:20b:150::24) To VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 (2603:10a6:803:6d::15)
authentication-results: spf=none (sender IP is )
 smtp.mailfrom=vlad_andrei.badoiu@stud.acs.upb.ro; 
x-ms-exchange-messagesentrepresentingtype: 1
x-originating-ip: [2a02:2f0b:8303:7b00:84f1:5f33:c782:4452]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 020bbbc2-03f8-4013-15ca-08d77c2f126d
x-ms-traffictypediagnostic: VI1PR01MB6413:
x-microsoft-antispam-prvs: <VI1PR01MB64137CC0DBCB9D84B13F97FBA6590@VI1PR01MB6413.eurprd01.prod.exchangelabs.com>
x-ms-oob-tlc-oobclassifiers: OLM:243;
x-forefront-prvs: 0245702D7B
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(346002)(376002)(136003)(39830400003)(396003)(366004)(199004)(189003)(51444003)(66556008)(66446008)(8676002)(66946007)(229853002)(64756008)(66476007)(31686004)(186003)(71190400001)(2616005)(305945005)(71200400001)(2906002)(6916009)(31696002)(478600001)(86362001)(5640700003)(6506007)(6512007)(53546011)(316002)(6486002)(85182001)(786003)(52116002)(76176011)(5660300002)(85202003)(102836004)(4744005)(8936002)(81156014)(99286004)(81166006)(26953001);
 DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR01MB6413;
 H:VI1PR01MB4205.eurprd01.prod.exchangelabs.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; A:0; MX:1; 
received-spf: None (protection.outlook.com: stud.acs.upb.ro does not designate
 permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 4JJqzp3KAyBegFTcXBYwsjym8krjxO6SvEIahjcC01ZwzfuwzUw1Zo6/r34CsRsHc+mfAvgIZRD5PkckFs7cnL+dVww0n07lcZG3YRNmC//k31SG8CxgY3tQruLuFe8Aj88PxuIQIqPIiCZfGS/SGspC5a/uccZw6Age99ec1SdgVgR89sGPbp0VbL3sf9dvxSQXZqSv6ykArvRN1vtKYclnx3iCeaNd5Oh7oljFS49CJbf+b5TKQSVCDxtBbIuH+RyZ3A8FHd76NU5a6SXel1+mQyU2WHGu45B3R6KEyJbxIn6z1LhKGGLeep2s7VUOGh/COPBbRhNJudJHgyGgq6iD72VNs98z4onp79zf3CWoOCpQpXWBIlPuj97xUHOEVuJP5FcO8KzZpHj3FZUUV02BrdLoHzzLA7ek2htg7tVufk9YTbFNEjaN4i/L4TpQDPXYKoiOWXLTQVyXDxZaIRlOitVWVrbV/ITA7j/46Gk/V9483Sv1NFjzBCwmZ81g
x-ms-exchange-transport-forked: True
Content-ID: <B94B37EC7FED164D990F8411B3C51F5B@eurprd01.prod.exchangelabs.com>
MIME-Version: 1.0
X-OriginatorOrg: stud.acs.upb.ro
X-MS-Exchange-CrossTenant-Network-Message-Id: 020bbbc2-03f8-4013-15ca-08d77c2f126d
X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Dec 2019 22:36:31.2209 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 2d8cc8ba-8dda-4334-9e5c-fac2092e9bac
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: AxKsiWKWEucHN5tB17qfpKo93GMet0iB7N+izVNXwJbBRmZ2w1nvRvOxtdvbhRa4wpaY2H+GQyXjVw/KGv5agHLP0DZ4krki/X1SD3qe+p/70HJ3eJiL/2MO1fxsIKf0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR01MB6413
Subject: Re: [Minios-devel] [UNIKRAFT/PTHREAD-EMBEDDED PATCH 2/3]
 attributes.c: Allow GNU definitions regardless of _GNU_SOURCE
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgQ29zdGluLA0KDQpJIHRoaW5rIHRoYXQgdGhlIGNvbW1pdCBtZXNzYWdlIHNob3VsZCBzcGVj
aWZ5IHRoYXQgc2luY2UgdGhpcyBpcyB0aGUgDQpnbHVlY29kZSBvZiBvdXIgcG9ydGVkIGxpYnJh
cnkgd2UgYXJlIG5vdCBjb25zdHJhaW5lZCBieSBwb3J0YWJpbGl0eSBhbmQgDQpzdWNoIGl0J3Mg
b2sgdG8gbm90IGhhdmUgZ3VhcmRlZCBub25zdGFuZGFyZCBHTlUgZXh0ZW5zaW9ucy4NCg0KUmV2
aWV3ZWQtYnk6IFZsYWQtQW5kcmVpIEJhZG9pdSA8dmxhZF9hbmRyZWkuYmFkb2l1QHN0dWQuYWNz
LnVwYi5ybz4NCg0KT24gMDYuMTIuMjAxOSAxNToxMiwgQ29zdGluIEx1cHUgd3JvdGU6DQo+IFNp
Z25lZC1vZmYtYnk6IENvc3RpbiBMdXB1IDxjb3N0aW4ubHVwdUBjcy5wdWIucm8+DQo+IC0tLQ0K
PiAgIGF0dHJpYnV0ZXMuYyB8IDMgLS0tDQo+ICAgMSBmaWxlIGNoYW5nZWQsIDMgZGVsZXRpb25z
KC0pDQo+DQo+IGRpZmYgLS1naXQgYS9hdHRyaWJ1dGVzLmMgYi9hdHRyaWJ1dGVzLmMNCj4gaW5k
ZXggNzcyOTA5Ni4uYTdiNDg0MiAxMDA2NDQNCj4gLS0tIGEvYXR0cmlidXRlcy5jDQo+ICsrKyBi
L2F0dHJpYnV0ZXMuYw0KPiBAQCAtNzksNyArNzksNiBAQCBvdXQ6DQo+ICAgCXJldHVybiByYzsN
Cj4gICB9DQo+ICAgDQo+IC0jaWZkZWYgX0dOVV9TT1VSQ0UNCj4gICBpbnQgcHRocmVhZF9nZXRh
dHRyX25wKHB0aHJlYWRfdCB0aHJlYWQsIHB0aHJlYWRfYXR0cl90ICphdHRyKQ0KPiAgIHsNCj4g
ICAJcHRlX3RocmVhZF90ICp0cCA9IChwdGVfdGhyZWFkX3QgKikgdGhyZWFkLnA7DQo+IEBAIC0x
NTAsNSArMTQ5LDMgQEAgaW50IHB0aHJlYWRfZ2V0bmFtZV9ucChwdGhyZWFkX3QgdGhyZWFkLCBj
aGFyICpuYW1lLCBzaXplX3QgbGVuKQ0KPiAgIA0KPiAgIAlyZXR1cm4gMDsNCj4gICB9DQo+IC0N
Cj4gLSNlbmRpZiAvKiBfR05VX1NPVVJDRSAqLw0KX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2
ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWls
bWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Sun Dec 08 22:39:00 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sun, 08 Dec 2019 22:39:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ie5Ce-0007yX-62; Sun, 08 Dec 2019 22:39:00 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=aWwl=Z6=stud.acs.upb.ro=vlad_andrei.badoiu@srs-us1.protection.inumbo.net>)
 id 1ie5Cc-0007yS-JQ
 for minios-devel@lists.xenproject.org; Sun, 08 Dec 2019 22:38:58 +0000
X-Inumbo-ID: 844b0768-1a0b-11ea-a914-bc764e2007e4
Received: from EUR03-VE1-obe.outbound.protection.outlook.com (unknown
 [40.107.5.44]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 844b0768-1a0b-11ea-a914-bc764e2007e4;
 Sun, 08 Dec 2019 22:38:56 +0000 (UTC)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ewHLqjEjz4IQLOQjqk/8MfbTnlwC7MdEsXQEpLoMNf4miFkTlTmfZRoN+OZSFjMUGOXWjPoZLpQjFbHaz6Maz43p1iFLLNeJ2/vUYJ0WIz2WFCBnhs7d/unpaD3VlfCdKWzKet1tio5HZzZqz898BGZlzxeLGWfFZEhCNo00+xXWNOp6UAJPjpTlBRFywEJvmzmtEoDqMbi6x58siWwvil//GeXpdZDcc2rw0rRaBcb+sWsIMJF6IUn+F9L/FDSLlFlBtVOB0JedHhHy98w+IKS1FKbpJtt1Yp3bQHc0lXTBI0Wd4EytPiYTQ9jmi5F5JOcLWOk968plp/Q0ljmhYQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=C9Z+Ti54jNknIE/CxSyMvGJnFME6WC+CQ+Hf5l6IasA=;
 b=Lm5KFoNzcqdD32Oftz+wHcuZdSZwZs9BxUv5SZN2fmJ0gAi9V9kgL4VbI0KcWPg0C9ppKETJ8ee5BeAC2/LP+mLAyCTpfOaoKy7NSbD+pyYuWbGwB1pND5n/8+t20XE5/EujSgEE75BxMIwgghfs9PsjoeUDXABv+OJ6UTr54taKfJ8yjUuDdQXAJuyylh64AoRByokYPzk93aVi+AxDX8L4CBqZEWCdJvdNEOCUCleVh2Xkj4LNDbvpoJNinkJVbeDf6EN0oLTCF/5XNQ3ouo202ntaBew+jimy2c6VJ0p6TKsJAkwp8GdkdeiOa1Xl5zKEiE03cjt/FFf+qpt9oA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=stud.acs.upb.ro; dmarc=pass action=none
 header.from=stud.acs.upb.ro; dkim=pass header.d=stud.acs.upb.ro; arc=none
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com (20.177.55.79) by
 VI1PR01MB6413.eurprd01.prod.exchangelabs.com (10.186.178.19) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.2516.14; Sun, 8 Dec 2019 22:38:54 +0000
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::71a3:74d9:f301:33b6]) by VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::71a3:74d9:f301:33b6%7]) with mapi id 15.20.2516.018; Sun, 8 Dec 2019
 22:38:54 +0000
From: =?utf-8?B?VmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIp?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
To: "minios-devel@lists.xenproject.org" <minios-devel@lists.xenproject.org>
Thread-Topic: [Minios-devel] [UNIKRAFT/PTHREAD-EMBEDDED PATCH 3/3] Add
 pthread_condattr_{get, set}clock() stubs
Thread-Index: AQHVrDbmlvYjq2wv3UaTstRPZD+Odqew2BuA
Date: Sun, 8 Dec 2019 22:38:54 +0000
Message-ID: <41c80bab-0c59-6e62-4113-22f5b068d0e9@stud.acs.upb.ro>
References: <20191206131231.22911-1-costin.lupu@cs.pub.ro>
 <20191206131231.22911-4-costin.lupu@cs.pub.ro>
In-Reply-To: <20191206131231.22911-4-costin.lupu@cs.pub.ro>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-clientproxiedby: AM0PR02CA0077.eurprd02.prod.outlook.com
 (2603:10a6:208:154::18) To VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 (2603:10a6:803:6d::15)
authentication-results: spf=none (sender IP is )
 smtp.mailfrom=vlad_andrei.badoiu@stud.acs.upb.ro; 
x-ms-exchange-messagesentrepresentingtype: 1
x-originating-ip: [2a02:2f0b:8303:7b00:84f1:5f33:c782:4452]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: fbd1b901-a73f-4445-c824-08d77c2f67ff
x-ms-traffictypediagnostic: VI1PR01MB6413:
x-microsoft-antispam-prvs: <VI1PR01MB641362FCC82466BD31D98782A6590@VI1PR01MB6413.eurprd01.prod.exchangelabs.com>
x-ms-oob-tlc-oobclassifiers: OLM:9508;
x-forefront-prvs: 0245702D7B
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(346002)(376002)(136003)(39830400003)(396003)(366004)(199004)(189003)(66556008)(66446008)(8676002)(66946007)(229853002)(64756008)(66476007)(31686004)(186003)(71190400001)(2616005)(305945005)(71200400001)(2906002)(6916009)(31696002)(478600001)(86362001)(5640700003)(6506007)(6512007)(53546011)(316002)(6486002)(85182001)(786003)(52116002)(76176011)(5660300002)(85202003)(102836004)(8936002)(81156014)(99286004)(81166006)(2004002);
 DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR01MB6413;
 H:VI1PR01MB4205.eurprd01.prod.exchangelabs.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; A:0; MX:1; 
received-spf: None (protection.outlook.com: stud.acs.upb.ro does not designate
 permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: l+jy0/MyxUlWYjpliRWOxYniyN6C5eJzreMBpDWZuFaBMHSHXC9ZYmlhG3vW91b2wnf5zkuFCaWi5aKn7L8j+rc6pplXwxDQIcXpUe0uxylgmAmlX+g9/xEzsiGx0kw5rMyjsx6F7AyRfrKZVHSjSwydlK7WeNrYyhR3dN79riIVZQ0jSJII6RiqudBj3pX8QWQ2xe1dPDC0gnLQ2UTLoOhqbRPNStLHfUGQdPng9uF34UCnrmZNHLb4RSV4D1MiosL0nb5dOK63Cb1i351wl2RmtHR6K0Rsu9gxPBMT7+ImHkQU1PAapW/IXZzSA4CUxsF5nvuQJ/70JvXNpHEFChYpq9ggLaqG6yfl4mqsUU3T+qlJ84oHmFQGPcGH1B0BxVJEzvLLqXm95vzgVH/zvFZFHIKwJUhAbOjFTrUw9ChRzQtM0lhUOjs5vYa2jlbKmmR3DRaUcp+VyCkbzMhzIzIz6bkNFLLVJGP/ObsI7Bk=
x-ms-exchange-transport-forked: True
Content-ID: <DAC52D1698BF8C46A0C3ABEA95004DE6@eurprd01.prod.exchangelabs.com>
MIME-Version: 1.0
X-OriginatorOrg: stud.acs.upb.ro
X-MS-Exchange-CrossTenant-Network-Message-Id: fbd1b901-a73f-4445-c824-08d77c2f67ff
X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Dec 2019 22:38:54.7986 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 2d8cc8ba-8dda-4334-9e5c-fac2092e9bac
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: oYxcypFD590Nh/xF1KZSPihtT/nVRdJY1HadTrs7wka4HBJK27Ra1IGNc0FHfoXUSJGkkabPw9ZZiuxNdpU9XGLYcWM6575H540cKlJXv4N5V7sACHIMeJd9Lcbs9RGK
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR01MB6413
Subject: Re: [Minios-devel] [UNIKRAFT/PTHREAD-EMBEDDED PATCH 3/3] Add
 pthread_condattr_{get, set}clock() stubs
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhhbmtzIENvc3RpbiENCg0KUmV2aWV3ZWQtYnk6IFZsYWQtQW5kcmVpIEJhZG9pdSA8dmxhZF9h
bmRyZWkuYmFkb2l1QHN0dWQuYWNzLnVwYi5ybz4NCg0KT24gMDYuMTIuMjAxOSAxNToxMiwgQ29z
dGluIEx1cHUgd3JvdGU6DQo+IFNpZ25lZC1vZmYtYnk6IENvc3RpbiBMdXB1IDxjb3N0aW4ubHVw
dUBjcy5wdWIucm8+DQo+IC0tLQ0KPiAgIE1ha2VmaWxlLnVrICAgICAgICB8ICAxICsNCj4gICBw
dGhyZWFkX2NvbmRhdHRyLmMgfCA0MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKw0KPiAgIDIgZmlsZXMgY2hhbmdlZCwgNDIgaW5zZXJ0aW9ucygrKQ0KPiAgIGNyZWF0
ZSBtb2RlIDEwMDY0NCBwdGhyZWFkX2NvbmRhdHRyLmMNCj4NCj4gZGlmZiAtLWdpdCBhL01ha2Vm
aWxlLnVrIGIvTWFrZWZpbGUudWsNCj4gaW5kZXggOTA2MjZlOC4uODllYjM0NSAxMDA2NDQNCj4g
LS0tIGEvTWFrZWZpbGUudWsNCj4gKysrIGIvTWFrZWZpbGUudWsNCj4gQEAgLTY4LDYgKzY4LDcg
QEAgTElCUFRIUkVBRC1FTUJFRERFRF9TUkNTLXkgKz0gJChMSUJQVEhSRUFELUVNQkVEREVEX0JB
U0UpL3B0ZV9vc2FsLmN8Z2x1ZQ0KPiAgIExJQlBUSFJFQUQtRU1CRURERURfU1JDUy15ICs9ICQo
TElCUFRIUkVBRC1FTUJFRERFRF9CQVNFKS9hdHRyaWJ1dGVzLmN8Z2x1ZQ0KPiAgIExJQlBUSFJF
QUQtRU1CRURERURfU1JDUy15ICs9ICQoTElCUFRIUkVBRC1FTUJFRERFRF9CQVNFKS9wdGhyZWFk
X2F0Zm9yay5jfGdsdWUNCj4gICBMSUJQVEhSRUFELUVNQkVEREVEX1NSQ1MteSArPSAkKExJQlBU
SFJFQUQtRU1CRURERURfQkFTRSkvcHRocmVhZF9zaWdtYXNrLmN8Z2x1ZQ0KPiArTElCUFRIUkVB
RC1FTUJFRERFRF9TUkNTLXkgKz0gJChMSUJQVEhSRUFELUVNQkVEREVEX0JBU0UpL3B0aHJlYWRf
Y29uZGF0dHIuY3xnbHVlDQo+ICAgDQo+ICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCj4gICAj
IHB0aHJlYWQtZW1iZWRkZWQgY29kZQ0KPiBkaWZmIC0tZ2l0IGEvcHRocmVhZF9jb25kYXR0ci5j
IGIvcHRocmVhZF9jb25kYXR0ci5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAw
MDAwMDAuLjUzZGNjNjQNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9wdGhyZWFkX2NvbmRhdHRy
LmMNCj4gQEAgLTAsMCArMSw0MSBAQA0KPiArLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IExH
UEwtMi4wLW9yLWxhdGVyICovDQo+ICsvKg0KPiArICogICAgICBVbmlrcmFmdCBwb3J0IG9mIFBP
U0lYIFRocmVhZHMgTGlicmFyeSBmb3IgZW1iZWRkZWQgc3lzdGVtcw0KPiArICogICAgICBDb3B5
cmlnaHQoQykgMjAxOSBDb3N0aW4gTHVwdSwgVW5pdmVyc2l0eSBQb2xpdGVobmljYSBvZiBCdWNo
YXJlc3QNCj4gKyAqDQo+ICsgKiAgICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5
b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3INCj4gKyAqICAgICAgbW9kaWZ5IGl0IHVuZGVy
IHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYw0KPiArICogICAgICBM
aWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRo
ZXINCj4gKyAqICAgICAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRp
b24pIGFueSBsYXRlciB2ZXJzaW9uLg0KPiArICoNCj4gKyAqICAgICAgVGhpcyBsaWJyYXJ5IGlz
IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQo+ICsgKiAg
ICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh
cnJhbnR5IG9mDQo+ICsgKiAgICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VDQo+ICsgKiAgICAgIExlc3NlciBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQo+ICsgKg0KPiArICogICAgICBZb3Ug
c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVi
bGljDQo+ICsgKiAgICAgIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnkgaW4gdGhlIGZp
bGUgQ09QWUlORy5MSUI7DQo+ICsgKiAgICAgIGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbiwgSW5jLiwNCj4gKyAqICAgICAgNTkgVGVtcGxlIFBsYWNlIC0gU3Vp
dGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcsIFVTQQ0KPiArICovDQo+ICsNCj4gKyNpbmNs
dWRlIDx1ay9wcmludC5oPg0KPiArI2luY2x1ZGUgPGVycm5vLmg+DQo+ICsjaW5jbHVkZSA8dGlt
ZS5oPg0KPiArI2luY2x1ZGUgPHB0aHJlYWQuaD4NCj4gKw0KPiArDQo+ICtpbnQgcHRocmVhZF9j
b25kYXR0cl9nZXRjbG9jayhjb25zdCBwdGhyZWFkX2NvbmRhdHRyX3QgKl9fcmVzdHJpY3QgYXR0
ciwNCj4gKwkJY2xvY2tpZF90ICpfX3Jlc3RyaWN0IGNsb2NrX2lkKQ0KPiArew0KPiArCVdBUk5f
U1RVQkJFRCgpOw0KPiArCWVycm5vID0gRU5PVFNVUDsNCj4gKwlyZXR1cm4gLTE7DQo+ICt9DQo+
ICsNCj4gK2ludCBwdGhyZWFkX2NvbmRhdHRyX3NldGNsb2NrKHB0aHJlYWRfY29uZGF0dHJfdCAq
YXR0ciwgY2xvY2tpZF90IGNsb2NrX2lkKQ0KPiArew0KPiArCVdBUk5fU1RVQkJFRCgpOw0KPiAr
CWVycm5vID0gRU5PVFNVUDsNCj4gKwlyZXR1cm4gLTE7DQo+ICt9DQpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0
Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2pl
Y3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Mon Dec 09 08:19:32 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 09 Dec 2019 08:19:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ieEGR-0003Si-Qp; Mon, 09 Dec 2019 08:19:31 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=0jgM=Z7=neclab.eu=felipe.huici@srs-us1.protection.inumbo.net>)
 id 1ieEGQ-0003SS-Qp
 for minios-devel@lists.xen.org; Mon, 09 Dec 2019 08:19:30 +0000
X-Inumbo-ID: 9d6c8dbb-1a5c-11ea-879d-12813bfff9fa
Received: from queen.nlehd.de (unknown [195.37.154.80])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id 9d6c8dbb-1a5c-11ea-879d-12813bfff9fa;
 Mon, 09 Dec 2019 08:19:27 +0000 (UTC)
Received: from localhost (c110.ant-net [192.168.0.36])
 by queen.nlehd.de (Postfix) with ESMTP id EA3B541E31;
 Mon,  9 Dec 2019 09:19:26 +0100 (CET)
From: Felipe Huici <felipe.huici@neclab.eu>
To: minios-devel@lists.xen.org
Date: Mon,  9 Dec 2019 09:19:23 +0100
Message-Id: <20191209081925.6589-1-felipe.huici@neclab.eu>
X-Mailer: git-send-email 2.20.1
MIME-Version: 1.0
Subject: [Minios-devel] [UNIKRAFT/LIBLWIP PATCH v2 0/2] Patches in Support
 of Upcoming low.js Port
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

V2UgYWRkIG1hY3JvIGRlZmluaXRpb25zIGFuZCBtYWtlIGhlYWRlciBmaWxlcyBjb21wYXRpYmxl
IHdpdGggYysrCmJ1aWxkcyBpbiBzdXBwb3J0IG9mIHRoZSB1cGNvbWluZyBsb3cuanMgcG9ydCAo
Tm9kZS5qcyBmb3IgZW1iZWRkZWQKZGV2aWNlcykKCkNoYW5nZXMgc2luY2UgdjE6CiAqIFJlYmFz
ZSB0byBjdXJyZW50IHZlcnNpb24KICogUmVtb3ZlIHNlY29uZCBwYXRjaCAoYWxyZWFkeSBwYXJ0
IG9mIHN1cHBvcnQgZm9yIFJ1Ynkgc2VyaWVzKQoKRmVsaXBlIEh1aWNpICgyKToKICBBZGQgbWlz
c2luZyBFQUlfKiBtYWNybyBkZWZpbml0aW9ucwogIE1ha2UgaGVhZGVycyBjb21wYXRpYmxlIHdp
dGggYysrIGJ1aWxkcwoKIGluY2x1ZGUvYXJwYS9pbmV0LmggIHwgIDcgKysrKysrKwogaW5jbHVk
ZS9uZXRkYi5oICAgICAgfCAyMCArKysrKysrKysrKysrKysrKysrLQogaW5jbHVkZS9zeXMvc29j
a2V0LmggfCAgOCArKysrKysrKwogMyBmaWxlcyBjaGFuZ2VkLCAzNCBpbnNlcnRpb25zKCspLCAx
IGRlbGV0aW9uKC0pCgotLSAKMi4yMC4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxA
bGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFu
L2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Mon Dec 09 08:19:32 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 09 Dec 2019 08:19:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ieEGQ-0003ST-Of; Mon, 09 Dec 2019 08:19:30 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=0jgM=Z7=neclab.eu=felipe.huici@srs-us1.protection.inumbo.net>)
 id 1ieEGP-0003SN-RL
 for minios-devel@lists.xen.org; Mon, 09 Dec 2019 08:19:29 +0000
X-Inumbo-ID: 9e0c3b6c-1a5c-11ea-88e7-bc764e2007e4
Received: from queen.nlehd.de (unknown [195.37.154.80])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id 9e0c3b6c-1a5c-11ea-88e7-bc764e2007e4;
 Mon, 09 Dec 2019 08:19:28 +0000 (UTC)
Received: from localhost (c110.ant-net [192.168.0.36])
 by queen.nlehd.de (Postfix) with ESMTP id B6D7742176;
 Mon,  9 Dec 2019 09:19:27 +0100 (CET)
From: Felipe Huici <felipe.huici@neclab.eu>
To: minios-devel@lists.xen.org
Date: Mon,  9 Dec 2019 09:19:24 +0100
Message-Id: <20191209081925.6589-2-felipe.huici@neclab.eu>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <20191209081925.6589-1-felipe.huici@neclab.eu>
References: <20191209081925.6589-1-felipe.huici@neclab.eu>
MIME-Version: 1.0
Subject: [Minios-devel] [UNIKRAFT/LIBLWIP PATCH v2 1/2] Add missing EAI_*
 macro definitions
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

U2lnbmVkLW9mZi1ieTogRmVsaXBlIEh1aWNpIDxmZWxpcGUuaHVpY2lAbmVjbGFiLmV1PgotLS0K
IGluY2x1ZGUvbmV0ZGIuaCB8IDExICsrKysrKysrKystCiAxIGZpbGUgY2hhbmdlZCwgMTAgaW5z
ZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbmV0ZGIuaCBi
L2luY2x1ZGUvbmV0ZGIuaAppbmRleCA5NDhhMmU3Li41YmJkMzU0IDEwMDY0NAotLS0gYS9pbmNs
dWRlL25ldGRiLmgKKysrIGIvaW5jbHVkZS9uZXRkYi5oCkBAIC0xLDMgKzEsNSBAQAorI2lmbmRl
ZiBfTFdJUF9HTFVFX05FVERCX0hfCisjZGVmaW5lIF9MV0lQX0dMVUVfTkVUREJfSF8KICNpbmNs
dWRlIDxjb21wYXQvcG9zaXgvbmV0ZGIuaD4KIAogI2lmIExXSVBfRE5TICYmIExXSVBfU09DS0VU
CkBAIC02Myw3ICs2NSwxMyBAQCB2b2lkIHNldHByb3RvZW50KGludCBzdGF5b3Blbik7CiAjZGVm
aW5lIEVBSV9TWVNURU0gICAgIDExCiAKIC8qIEVycm9yIHZhbHVlcyBmb3IgZ2V0YWRkcmluZm8o
KSBub3QgZGVmaW5lZCBieSBsd2lwL25ldGRiLmggKi8KLSNkZWZpbmUgRUFJX09WRVJGTE9XICAg
IDIwNSAgICAgIC8qIEFyZ3VtZW50IGJ1ZmZlciBvdmVyZmxvdy4gICovCisjZGVmaW5lIEVBSV9C
QURGTEFHUyAgIC0xCisjZGVmaW5lIEVBSV9BR0FJTiAgICAgIC0zCisjZGVmaW5lIEVBSV9OT0RB
VEEgICAgIC01CisjZGVmaW5lIEVBSV9TT0NLVFlQRSAgIC03CisjZGVmaW5lIEVBSV9BRERSRkFN
SUxZIC05CisjZGVmaW5lIEVBSV9TWVNURU0gICAgIC0xMQorI2RlZmluZSBFQUlfT1ZFUkZMT1cg
ICAtMTIKIAogaW50IGdldG5hbWVpbmZvKGNvbnN0IHN0cnVjdCBzb2NrYWRkciAqYWRkciwgc29j
a2xlbl90IGFkZHJsZW4sCiAJCWNoYXIgKmhvc3QsIHNvY2tsZW5fdCBob3N0bGVuLApAQCAtNzMs
NCArODEsNSBAQCBzdHJ1Y3Qgc2VydmVudCAqZ2V0c2VydmJ5bmFtZShjb25zdCBjaGFyICpuYW1l
LCBjb25zdCBjaGFyICpwcm90byk7CiBzdHJ1Y3Qgc2VydmVudCAqZ2V0c2VydmJ5cG9ydChpbnQg
cG9ydCwgY29uc3QgY2hhciAqcHJvdG8pOwogaW50IGdldHNlcnZieXBvcnRfcihpbnQgcG9ydCwg
Y29uc3QgY2hhciAqcHJvdHMsIHN0cnVjdCBzZXJ2ZW50ICpzZSwKIAkJICAgIGNoYXIgKmJ1Ziwg
c2l6ZV90IGJ1Zmxlbiwgc3RydWN0IHNlcnZlbnQgKipyZXMpOworI2VuZGlmCiAKLS0gCjIuMjAu
MQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlv
cy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0
dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Mon Dec 09 08:19:36 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 09 Dec 2019 08:19:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ieEGW-0003TY-Sa; Mon, 09 Dec 2019 08:19:36 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=0jgM=Z7=neclab.eu=felipe.huici@srs-us1.protection.inumbo.net>)
 id 1ieEGV-0003TN-LD
 for minios-devel@lists.xen.org; Mon, 09 Dec 2019 08:19:35 +0000
X-Inumbo-ID: 9e27f579-1a5c-11ea-879d-12813bfff9fa
Received: from queen.nlehd.de (unknown [195.37.154.80])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id 9e27f579-1a5c-11ea-879d-12813bfff9fa;
 Mon, 09 Dec 2019 08:19:28 +0000 (UTC)
Received: from localhost (c110.ant-net [192.168.0.36])
 by queen.nlehd.de (Postfix) with ESMTP id 6689E421E8;
 Mon,  9 Dec 2019 09:19:28 +0100 (CET)
From: Felipe Huici <felipe.huici@neclab.eu>
To: minios-devel@lists.xen.org
Date: Mon,  9 Dec 2019 09:19:25 +0100
Message-Id: <20191209081925.6589-3-felipe.huici@neclab.eu>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <20191209081925.6589-1-felipe.huici@neclab.eu>
References: <20191209081925.6589-1-felipe.huici@neclab.eu>
MIME-Version: 1.0
Subject: [Minios-devel] [UNIKRAFT/LIBLWIP PATCH v2 2/2] Make headers
 compatible with c++ builds
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

QWRkIGV4dGVybiBDIGNsYXVzZXMgdG8gaGVhZGVyIGZpbGVzIHNvIHRoYXQgYysrIGJ1aWxkcyBk
byBub3QgYnJlYWsuCgpTaWduZWQtb2ZmLWJ5OiBGZWxpcGUgSHVpY2kgPGZlbGlwZS5odWljaUBu
ZWNsYWIuZXU+Ci0tLQogaW5jbHVkZS9hcnBhL2luZXQuaCAgfCA3ICsrKysrKysKIGluY2x1ZGUv
bmV0ZGIuaCAgICAgIHwgOSArKysrKysrKysKIGluY2x1ZGUvc3lzL3NvY2tldC5oIHwgOCArKysr
KysrKwogMyBmaWxlcyBjaGFuZ2VkLCAyNCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvaW5j
bHVkZS9hcnBhL2luZXQuaCBiL2luY2x1ZGUvYXJwYS9pbmV0LmgKaW5kZXggYTEyMDFhMi4uYzRk
MDFkNiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hcnBhL2luZXQuaAorKysgYi9pbmNsdWRlL2FycGEv
aW5ldC5oCkBAIC0xLDUgKzEsMTIgQEAKICNpbmNsdWRlIDxjb21wYXQvcG9zaXgvYXJwYS9pbmV0
Lmg+CiAKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKwogY29uc3Qg
Y2hhciAqaW5ldF9udG9wKGludCBhZiwgY29uc3Qgdm9pZCAqc3JjLCBjaGFyICpkc3QsIHNvY2ts
ZW5fdCBzaXplKTsKIGludCBpbmV0X3B0b24oaW50IGFmLCBjb25zdCBjaGFyICpzcmMsIHZvaWQg
KmRzdCk7CiAKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNs
dWRlL25ldGRiLmggYi9pbmNsdWRlL25ldGRiLmgKaW5kZXggNWJiZDM1NC4uNmNjYTk2OSAxMDA2
NDQKLS0tIGEvaW5jbHVkZS9uZXRkYi5oCisrKyBiL2luY2x1ZGUvbmV0ZGIuaApAQCAtMiw2ICsy
LDEwIEBACiAjZGVmaW5lIF9MV0lQX0dMVUVfTkVUREJfSF8KICNpbmNsdWRlIDxjb21wYXQvcG9z
aXgvbmV0ZGIuaD4KIAorI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgor
CiAjaWYgTFdJUF9ETlMgJiYgTFdJUF9TT0NLRVQKIAogI2lmICEoTFdJUF9DT01QQVRfU09DS0VU
UykKQEAgLTgxLDUgKzg1LDEwIEBAIHN0cnVjdCBzZXJ2ZW50ICpnZXRzZXJ2YnluYW1lKGNvbnN0
IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKnByb3RvKTsKIHN0cnVjdCBzZXJ2ZW50ICpnZXRzZXJ2
Ynlwb3J0KGludCBwb3J0LCBjb25zdCBjaGFyICpwcm90byk7CiBpbnQgZ2V0c2VydmJ5cG9ydF9y
KGludCBwb3J0LCBjb25zdCBjaGFyICpwcm90cywgc3RydWN0IHNlcnZlbnQgKnNlLAogCQkgICAg
Y2hhciAqYnVmLCBzaXplX3QgYnVmbGVuLCBzdHJ1Y3Qgc2VydmVudCAqKnJlcyk7CisKKyNpZmRl
ZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisKICNlbmRpZgogCmRpZmYgLS1naXQgYS9pbmNsdWRl
L3N5cy9zb2NrZXQuaCBiL2luY2x1ZGUvc3lzL3NvY2tldC5oCmluZGV4IGYyM2FkMzIuLjA5MDE4
M2EgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvc3lzL3NvY2tldC5oCisrKyBiL2luY2x1ZGUvc3lzL3Nv
Y2tldC5oCkBAIC0zMyw2ICszMywxMCBAQAogCiAjaWZuZGVmIF9VS19MV0lQX1NPQ0tFVF9IXwog
CisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKICNpbmNsdWRlIDx1
ay9jb25maWcuaD4KICNpZiBDT05GSUdfSEFWRV9MSUJDCiAjaW5jbHVkZSA8ZmNudGwuaD4KQEAg
LTg5LDQgKzkzLDggQEAgaW50IHNlbmR0byhpbnQgcywgY29uc3Qgdm9pZCAqZGF0YXB0ciwgc2l6
ZV90IHNpemUsIGludCBmbGFncywKIAkgICBjb25zdCBzdHJ1Y3Qgc29ja2FkZHIgKnRvLCBzb2Nr
bGVuX3QgdG9sZW4pOwogaW50IHNvY2tldHBhaXIoaW50IGRvbWFpbiwgaW50IHR5cGUsIGludCBw
cm90b2NvbCwgaW50IHN2WzJdKTsKIAorI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKwog
I2VuZGlmIC8qIF9VS19MV0lQX1NPQ0tFVF9IXyAqLwotLSAKMi4yMC4xCgoKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcg
bGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5w
cm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Mon Dec 09 08:20:15 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 09 Dec 2019 08:20:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ieEH8-00046l-Va; Mon, 09 Dec 2019 08:20:14 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=0jgM=Z7=neclab.eu=felipe.huici@srs-us1.protection.inumbo.net>)
 id 1ieEH8-00046g-8z
 for minios-devel@lists.xenproject.org; Mon, 09 Dec 2019 08:20:14 +0000
X-Inumbo-ID: b85600de-1a5c-11ea-879e-12813bfff9fa
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id b85600de-1a5c-11ea-879e-12813bfff9fa;
 Mon, 09 Dec 2019 08:20:12 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id B38991041FF;
 Mon,  9 Dec 2019 09:20:11 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-a.office.hd)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id APDeqRUaB500; Mon,  9 Dec 2019 09:20:11 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from titania.office.hd (titania.office.hd [192.168.24.89])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 911211041FC;
 Mon,  9 Dec 2019 09:20:11 +0100 (CET)
Received: from oberon.office.hd (192.168.24.90) by titania.office.hd
 (192.168.24.89) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 9 Dec 2019
 09:20:11 +0100
Received: from oberon.office.hd ([192.168.126.11]) by Oberon.office.hd
 ([192.168.126.11]) with mapi id 15.01.1713.009; Mon, 9 Dec 2019 09:20:11
 +0100
From: Felipe Huici <Felipe.Huici@neclab.eu>
To: =?utf-8?B?VmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIp?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>, "minios-devel@lists.xenproject.org"
 <minios-devel@lists.xenproject.org>
Thread-Topic: [Minios-devel] [UNIKRAFT/LIBLWIP PATCH 0/3] Patches in Support
 of Upcoming low.js Port
Thread-Index: AQHVeFoZBro7/xH3yEy20QfmGmjsnaetWJaAgASJpwA=
Date: Mon, 9 Dec 2019 08:20:11 +0000
Message-ID: <842C6FB1-839C-474E-ABE7-3567DB369C4A@neclab.eu>
References: <20191001131403.9327-1-felipe.huici@neclab.eu>
 <613e1cf9-2b77-cfe1-41de-756f20d23250@stud.acs.upb.ro>
In-Reply-To: <613e1cf9-2b77-cfe1-41de-756f20d23250@stud.acs.upb.ro>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: Microsoft-MacOutlook/10.10.10.191111
x-originating-ip: [192.168.24.96]
Content-ID: <D62EBDF518063A43AF5D4CA6C23F30FA@office.hd>
MIME-Version: 1.0
Subject: Re: [Minios-devel] [UNIKRAFT/LIBLWIP PATCH 0/3] Patches in Support
 of Upcoming low.js Port
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgVmxhZCwNCg0KSSd2ZSBzZW50IGEgdjIganVzdCBub3cuIEkndmUgYWxzbyByZW1vdmVkIHBh
dGNoICMyIGZyb20gdGhlIHNlcmllcywgYXMgcmVxdWVzdGVkIGJ5IENvc3RpbiBMdXB1IChzaW5j
ZSB0aG9zZSBjaGFuZ2VzIGFyZSBub3cgcGFydCBvZiB0aGUgUnVieSBzZXJpZXMpLg0KDQotLSBG
ZWxpcGUNCg0K77u/T24gMDYuMTIuMTksIDEzOjAzLCAiTWluaW9zLWRldmVsIG9uIGJlaGFsZiBv
ZiBWbGFkLUFuZHJlaSBCxIJET0lVICg3ODY5MikiIDxtaW5pb3MtZGV2ZWwtYm91bmNlc0BsaXN0
cy54ZW5wcm9qZWN0Lm9yZyBvbiBiZWhhbGYgb2YgdmxhZF9hbmRyZWkuYmFkb2l1QHN0dWQuYWNz
LnVwYi5ybz4gd3JvdGU6DQoNCiAgICBIZXkgRmVsaXBlLA0KICAgIA0KICAgIFRoZSBwYXRjaCBz
ZXJpZXMgbG9va3MgYWxsIHJpZ2h0IGJ1dCBubyBsb25nZXIgYXBwbGllcyBvdmVyIHRoZSBzdGFn
aW5nIA0KICAgIGJyYW5jaC4NCiAgICANCiAgICBUaGFua3MsDQogICAgDQogICAgVmxhZA0KICAg
IA0KICAgIE9uIDAxLjEwLjIwMTkgMTY6MTQsIEZlbGlwZSBIdWljaSB3cm90ZToNCiAgICA+IFdl
IGFkZCBtYWNybyBkZWZpbml0aW9ucyBhbmQgbWFrZSBoZWFkZXIgZmlsZXMgY29tcGF0aWJsZSB3
aXRoIGMrKw0KICAgID4gYnVpbGRzIGluIHN1cHBvcnQgb2YgdGhlIHVwY29taW5nIGxvdy5qcyBw
b3J0IChOb2RlLmpzIGZvciBlbWJlZGRlZA0KICAgID4gZGV2aWNlcykNCiAgICA+DQogICAgPiBG
ZWxpcGUgSHVpY2kgKDMpOg0KICAgID4gICAgQWRkIG1pc3NpbmcgRUFJXyogbWFjcm8gZGVmaW5p
dGlvbnMNCiAgICA+ICAgIEFkZCBBRl9VTklYIG1hY3JvIGRlZmluaXRpb24uDQogICAgPiAgICBN
YWtlIGhlYWRlcnMgY29tcGF0aWJsZSB3aXRoIGMrKyBidWlsZHMNCiAgICA+DQogICAgPiAgIGlu
Y2x1ZGUvYXJwYS9pbmV0LmggIHwgIDcgKysrKysrKw0KICAgID4gICBpbmNsdWRlL25ldGRiLmgg
ICAgICB8IDIwICsrKysrKysrKysrKysrKysrKystDQogICAgPiAgIGluY2x1ZGUvc3lzL3NvY2tl
dC5oIHwgMTMgKysrKysrKysrKysrKw0KICAgID4gICAzIGZpbGVzIGNoYW5nZWQsIDM5IGluc2Vy
dGlvbnMoKyksIDEgZGVsZXRpb24oLSkNCiAgICA+DQogICAgX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18NCiAgICBNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0
DQogICAgTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnDQogICAgaHR0cHM6Ly9saXN0
cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA0KDQpfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFp
bGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3Rz
LnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Mon Dec 09 08:20:51 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 09 Dec 2019 08:20:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ieEHj-00047t-2k; Mon, 09 Dec 2019 08:20:51 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=0jgM=Z7=neclab.eu=felipe.huici@srs-us1.protection.inumbo.net>)
 id 1ieEHi-00047o-4C
 for minios-devel@lists.xen.org; Mon, 09 Dec 2019 08:20:50 +0000
X-Inumbo-ID: cdcb80c4-1a5c-11ea-879e-12813bfff9fa
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id cdcb80c4-1a5c-11ea-879e-12813bfff9fa;
 Mon, 09 Dec 2019 08:20:48 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 92D1EF2028;
 Mon,  9 Dec 2019 09:20:47 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-b.office.hd)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id qTbVsTjOOt7q; Mon,  9 Dec 2019 09:20:47 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from puck.office.hd (puck.office.hd [192.168.24.91])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 63461F2006;
 Mon,  9 Dec 2019 09:20:41 +0100 (CET)
Received: from oberon.office.hd (192.168.24.90) by puck.office.hd
 (192.168.24.91) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 9 Dec 2019
 09:20:41 +0100
Received: from oberon.office.hd ([192.168.126.11]) by Oberon.office.hd
 ([192.168.126.11]) with mapi id 15.01.1713.009; Mon, 9 Dec 2019 09:20:41
 +0100
From: Felipe Huici <Felipe.Huici@neclab.eu>
To: Costin Lupu <costin.lup@gmail.com>, "minios-devel@lists.xen.org"
 <minios-devel@lists.xen.org>,
 =?utf-8?B?VmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIp?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
Thread-Topic: [Minios-devel] [UNIKRAFT/LIBLWIP PATCH 2/3] Add AF_UNIX macro
 definition.
Thread-Index: AQHVeFoab8GBnj9RcU640jAOzWr2saetXwQAgASDXQA=
Date: Mon, 9 Dec 2019 08:20:40 +0000
Message-ID: <2DC0BC3B-5336-4316-AADC-D02EBFB0B11A@neclab.eu>
References: <20191001131403.9327-1-felipe.huici@neclab.eu>
 <20191001131403.9327-3-felipe.huici@neclab.eu>
 <d5e49ac4-aadc-8474-f3dd-9347d528ae4f@gmail.com>
In-Reply-To: <d5e49ac4-aadc-8474-f3dd-9347d528ae4f@gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: Microsoft-MacOutlook/10.10.10.191111
x-originating-ip: [192.168.24.96]
Content-ID: <8F73A062370E6A49AFF34B474BA54501@office.hd>
MIME-Version: 1.0
Subject: Re: [Minios-devel] [UNIKRAFT/LIBLWIP PATCH 2/3] Add AF_UNIX macro
 definition.
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgQ29zdGluLA0KDQpObyBwcm9ibGVtLCB0aGUgdjIgSSBqdXN0IHNlbnQgb3V0IG5vIGxvbmdl
ciBpbmNsdWRlcyB0aGlzIHBhdGNoLg0KDQotLSBGZWxpcGUNCg0K77u/T24gMDYuMTIuMTksIDEz
OjI1LCAiQ29zdGluIEx1cHUiIDxjb3N0aW4ubHVwQGdtYWlsLmNvbT4gd3JvdGU6DQoNCiAgICBI
aSwNCiAgICANCiAgICBUaGlzIHBhdGNoIHNob3VsZCBiZSBkcm9wcGVkIGZyb20gdGhpcyBzZXJp
ZXMuIEkgd2lsbCBzZW5kIHNvbWUgcGF0Y2hlcw0KICAgIHRvIHN1cHBvcnQgUnVieSBhbmQgd2hp
Y2ggd2lsbCBmaXggdGhpcyBzb29uLg0KICAgIA0KICAgIENvc3Rpbg0KICAgIA0KICAgIE9uIDEw
LzEvMTkgNDoxNCBQTSwgRmVsaXBlIEh1aWNpIHdyb3RlOg0KICAgID4gU2lnbmVkLW9mZi1ieTog
RmVsaXBlIEh1aWNpIDxmZWxpcGUuaHVpY2lAbmVjbGFiLmV1Pg0KICAgID4gLS0tDQogICAgPiAg
aW5jbHVkZS9zeXMvc29ja2V0LmggfCA1ICsrKysrDQogICAgPiAgMSBmaWxlIGNoYW5nZWQsIDUg
aW5zZXJ0aW9ucygrKQ0KICAgID4gDQogICAgPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9zeXMvc29j
a2V0LmggYi9pbmNsdWRlL3N5cy9zb2NrZXQuaA0KICAgID4gaW5kZXggOTkxYWUzZS4uMDNlZDll
YiAxMDA2NDQNCiAgICA+IC0tLSBhL2luY2x1ZGUvc3lzL3NvY2tldC5oDQogICAgPiArKysgYi9p
bmNsdWRlL3N5cy9zb2NrZXQuaA0KICAgID4gQEAgLTU2LDYgKzU2LDExIEBADQogICAgPiAgI2Rl
ZmluZSBTT01BWENPTk4gMTI4DQogICAgPiAgI2VuZGlmDQogICAgPiAgDQogICAgPiArI2RlZmlu
ZSBQRl9MT0NBTCAgICAgICAgMQ0KICAgID4gKyNkZWZpbmUgQUZfTE9DQUwgICAgICAgIFBGX0xP
Q0FMDQogICAgPiArI2RlZmluZSBBRl9VTklYICAgICAgICAgQUZfTE9DQUwNCiAgICA+ICsNCiAg
ICA+ICsNCiAgICA+ICBpbnQgc29ja2V0KGludCBkb21haW4sIGludCB0eXBlLCBpbnQgcHJvdG9j
b2wpOw0KICAgID4gIGludCBhY2NlcHQoaW50IHMsIHN0cnVjdCBzb2NrYWRkciAqYWRkciwgc29j
a2xlbl90ICphZGRybGVuKTsNCiAgICA+ICBpbnQgYmluZChpbnQgcywgY29uc3Qgc3RydWN0IHNv
Y2thZGRyICpuYW1lLCBzb2NrbGVuX3QgbmFtZWxlbik7DQogICAgPiANCiAgICANCg0KX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1h
aWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0
cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Mon Dec 09 09:28:48 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 09 Dec 2019 09:28:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ieFLS-0001wL-1Y; Mon, 09 Dec 2019 09:28:46 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=wv94=Z7=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1ieFLQ-0001wG-NO
 for minios-devel@lists.xen.org; Mon, 09 Dec 2019 09:28:44 +0000
X-Inumbo-ID: 4a4117dc-1a66-11ea-b6f1-bc764e2007e4
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 4a4117dc-1a66-11ea-b6f1-bc764e2007e4;
 Mon, 09 Dec 2019 09:28:43 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id CCC88F2027;
 Mon,  9 Dec 2019 10:28:41 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-b.office.hd)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id ltlN5ovRPPBX; Mon,  9 Dec 2019 10:28:41 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from puck.office.hd (puck.office.hd [192.168.24.91])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 93830F2006;
 Mon,  9 Dec 2019 10:28:35 +0100 (CET)
Received: from [10.1.2.204] (192.168.24.96) by puck.office.hd (192.168.24.91)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 9 Dec 2019
 10:28:35 +0100
To: Costin Lupu <costin.lupu@cs.pub.ro>, <minios-devel@lists.xen.org>
References: <20191206134105.23225-1-costin.lupu@cs.pub.ro>
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
Message-ID: <d7b6ce91-5877-74df-c9f3-1937bee90248@neclab.eu>
Date: Mon, 9 Dec 2019 10:28:34 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:60.0)
 Gecko/20100101 Thunderbird/60.9.1
MIME-Version: 1.0
In-Reply-To: <20191206134105.23225-1-costin.lupu@cs.pub.ro>
Content-Language: en-US
X-Originating-IP: [192.168.24.96]
X-ClientProxiedBy: titania.office.hd (192.168.24.89) To puck.office.hd
 (192.168.24.91)
Subject: Re: [Minios-devel] [UNIKRAFT PATCH 0/6] Changes for supporting Ruby
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGV5IENvc3RpbiwKCnRoYW5rcyBhIGxvdCBmb3IgeW91ciB3b3JrISBJIGhhdmUgc2VudCB5b3Ug
c29tZSBjb21tZW50cyBpbmxpbmUgdG8gdGhlIApwYXRjaGVzLiBJIHRoaW5rIGFsbCB0aGUgZnVu
Y3Rpb25hbGl0eSB0aGF0IHlvdSBwcm92aWRlIGlzIGEgdmVyeSBnb29kIAphZGRpdGlvbiB0byBV
bmlrcmFmdC4KClRoYW5rcywKClNpbW9uCgpPbiAwNi4xMi4xOSAxNDo0MCwgQ29zdGluIEx1cHUg
d3JvdGU6Cj4gV2hhdCBzdWJqZWN0IHNheXMuCj4gCj4gQ29zdGluIEx1cHUgKDYpOgo+ICAgIGxp
Yi92ZnNjb3JlOiBSZXZlcnQgX19meHN0YXRhdCgpIGltcGxlbWVudGF0aW9uIHRvIG9yaWdpbmFs
IE9zdgo+ICAgICAgYmVoYXZpb3IKPiAgICBsaWIvdmZzY29yZTogRml4IGR1cDIoKQo+ICAgIGxp
Yi91a3RpbWU6IFJlbW92ZSBleHBvcnRzeW1zLnVrCj4gICAgbGliL3VrdGltZTogSW50cm9kdWNl
IFBPU0lYIHRpbWVyIHN0dWJzCj4gICAgbGliL2RldmZzOiBBZGQgL2Rldi9udWxsIHN1cHBvcnQK
PiAgICBsaWIvcG9zaXgtdXNlcjogQWRkIG1vcmUgZ3JvdXAgZmlsZSByZWxhdGVkIGZ1bmN0aW9u
cwo+IAo+ICAgbGliL2RldmZzL0NvbmZpZy51ayAgICAgICAgICAgICAgICB8ICAgNSArKwo+ICAg
bGliL2RldmZzL01ha2VmaWxlLnVrICAgICAgICAgICAgICB8ICAgMiArCj4gICBsaWIvZGV2ZnMv
bnVsbC5jICAgICAgICAgICAgICAgICAgIHwgMTE1ICsrKysrKysrKysrKysrKysrKysrKysrKysr
KysrCj4gICBsaWIvcG9zaXgtdXNlci91c2VyLmMgICAgICAgICAgICAgIHwgIDY0ICsrKysrKysr
KysrKysrKysKPiAgIGxpYi91a3RpbWUvTWFrZWZpbGUudWsgICAgICAgICAgICAgfCAgIDMgKwo+
ICAgbGliL3VrdGltZS9leHBvcnRzeW1zLnVrICAgICAgICAgICB8ICAxMSAtLS0KPiAgIGxpYi91
a3RpbWUvdGltZXIuYyAgICAgICAgICAgICAgICAgfCAgMzkgKysrKysrKysrKwo+ICAgbGliL3Zm
c2NvcmUvZmQuYyAgICAgICAgICAgICAgICAgICB8ICAyMiArKysrKy0KPiAgIGxpYi92ZnNjb3Jl
L2luY2x1ZGUvdmZzY29yZS9maWxlLmggfCAgIDEgKwo+ICAgbGliL3Zmc2NvcmUvbWFpbi5jICAg
ICAgICAgICAgICAgICB8ICAyMyArKysrLS0KPiAgIGxpYi92ZnNjb3JlL3N0ZGlvLmMgICAgICAg
ICAgICAgICAgfCAgIDQgKwo+ICAgMTEgZmlsZXMgY2hhbmdlZCwgMjY5IGluc2VydGlvbnMoKyks
IDIwIGRlbGV0aW9ucygtKQo+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IGxpYi9kZXZmcy9udWxsLmMK
PiAgIGRlbGV0ZSBtb2RlIDEwMDY0NCBsaWIvdWt0aW1lL2V4cG9ydHN5bXMudWsKPiAgIGNyZWF0
ZSBtb2RlIDEwMDY0NCBsaWIvdWt0aW1lL3RpbWVyLmMKPiAKCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWlu
aW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5v
cmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Mon Dec 09 09:28:52 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 09 Dec 2019 09:28:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ieFLY-0001xE-35; Mon, 09 Dec 2019 09:28:52 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=wv94=Z7=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1ieFLX-0001x6-NI
 for minios-devel@lists.xen.org; Mon, 09 Dec 2019 09:28:51 +0000
X-Inumbo-ID: 4db96694-1a66-11ea-87a8-12813bfff9fa
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 4db96694-1a66-11ea-87a8-12813bfff9fa;
 Mon, 09 Dec 2019 09:28:49 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id C5128F2028;
 Mon,  9 Dec 2019 10:28:47 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-b.office.hd)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id XdYGQCDqQGT4; Mon,  9 Dec 2019 10:28:47 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from puck.office.hd (puck.office.hd [192.168.24.91])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 9CEB0F2006;
 Mon,  9 Dec 2019 10:28:41 +0100 (CET)
Received: from [10.1.2.204] (192.168.24.96) by puck.office.hd (192.168.24.91)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 9 Dec 2019
 10:28:37 +0100
To: Costin Lupu <costin.lupu@cs.pub.ro>, <minios-devel@lists.xen.org>
References: <20191206134105.23225-1-costin.lupu@cs.pub.ro>
 <20191206134105.23225-5-costin.lupu@cs.pub.ro>
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
Message-ID: <b2d807b7-abfa-32ab-b185-118c9de50c84@neclab.eu>
Date: Mon, 9 Dec 2019 10:28:36 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:60.0)
 Gecko/20100101 Thunderbird/60.9.1
MIME-Version: 1.0
In-Reply-To: <20191206134105.23225-5-costin.lupu@cs.pub.ro>
Content-Language: en-US
X-Originating-IP: [192.168.24.96]
X-ClientProxiedBy: puck.office.hd (192.168.24.91) To puck.office.hd
 (192.168.24.91)
Subject: Re: [Minios-devel] [UNIKRAFT PATCH 4/6] lib/uktime: Introduce POSIX
 timer stubs
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

T24gMDYuMTIuMTkgMTQ6NDEsIENvc3RpbiBMdXB1IHdyb3RlOgo+IFdlIHNpbXBseSBpbnRyb2R1
Y2UgdGhlIHN0dWJzIGZvciB0aGVzZSBmdW5jdGlvbnMuIFRoZXkgd2lsbCBoYXZlIHRvIGJlCj4g
aW1wbGVtZW50ZWQgbGF0ZXIsIHRoZXJlZm9yZSB3ZSBkbyBub3QgYWRkIGFueSBsaWNlbnNlIGZv
ciBub3cuCj4gCj4gU2lnbmVkLW9mZi1ieTogQ29zdGluIEx1cHUgPGNvc3Rpbi5sdXB1QGNzLnB1
Yi5ybz4KPiAtLS0KPiAgIGxpYi91a3RpbWUvTWFrZWZpbGUudWsgfCAgMyArKysKPiAgIGxpYi91
a3RpbWUvdGltZXIuYyAgICAgfCAzOSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysKPiAgIDIgZmlsZXMgY2hhbmdlZCwgNDIgaW5zZXJ0aW9ucygrKQo+ICAgY3JlYXRlIG1v
ZGUgMTAwNjQ0IGxpYi91a3RpbWUvdGltZXIuYwo+IAo+IGRpZmYgLS1naXQgYS9saWIvdWt0aW1l
L01ha2VmaWxlLnVrIGIvbGliL3VrdGltZS9NYWtlZmlsZS51awo+IGluZGV4IDQ3ZmJiNGIzLi43
YTAzOTczOCAxMDA2NDQKPiAtLS0gYS9saWIvdWt0aW1lL01ha2VmaWxlLnVrCj4gKysrIGIvbGli
L3VrdGltZS9NYWtlZmlsZS51awo+IEBAIC01LDkgKzUsMTIgQEAgTElCVUtUSU1FX0NPTU1PTl9J
TkNMVURFUy15ICAgICAgKz0gLUkkKExJQlVLVElNRV9CQVNFKS9tdXNsLWltcG9ydGVkL2luY2x1
ZGUKPiAgIENJTkNMVURFUy0kKENPTkZJR19MSUJVS1RJTUUpICAgICs9ICQoTElCVUtUSU1FX0NP
TU1PTl9JTkNMVURFUy15KQo+ICAgQ1hYSU5DTFVERVMtJChDT05GSUdfTElCVUtUSU1FKSAgKz0g
JChMSUJVS1RJTUVfQ09NTU9OX0lOQ0xVREVTLXkpCj4gICAKPiArTElCVUtUSU1FX0NGTEFHUy15
ICs9IC1Xbm8tdW51c2VkLXBhcmFtZXRlcgo+ICsKCldlIHNob3VsZCBub3Qgc3dpdGNoIG9mIGNv
bXBpbGVyIHdhcm5pbmdzIHRvIHRoZSBjb3JlIHJlcG9zaXRvcnkgaWYgCmF2b2lkYWJsZS4gQ291
bGQgeW91IHVzZSB0aGUgYF9fdW51c2VkYCBhdHRyaWJ1dGUgbWFjcm8gZnJvbSAKZXNzZW50aWFs
cy5oIGZvciB5b3VyIHN0dWJzIGluc3RlYWQ/Cgo+ICAgTElCVUtUSU1FX1NSQ1MteSArPSAkKExJ
QlVLVElNRV9CQVNFKS9tdXNsLWltcG9ydGVkL3NyYy9fX21vbnRoX3RvX3NlY3MuYwo+ICAgTElC
VUtUSU1FX1NSQ1MteSArPSAkKExJQlVLVElNRV9CQVNFKS9tdXNsLWltcG9ydGVkL3NyYy9fX3Nl
Y3NfdG9fdG0uYwo+ICAgTElCVUtUSU1FX1NSQ1MteSArPSAkKExJQlVLVElNRV9CQVNFKS9tdXNs
LWltcG9ydGVkL3NyYy90aW1lZ20uYwo+ICAgTElCVUtUSU1FX1NSQ1MteSArPSAkKExJQlVLVElN
RV9CQVNFKS9tdXNsLWltcG9ydGVkL3NyYy9fX3RtX3RvX3NlY3MuYwo+ICAgTElCVUtUSU1FX1NS
Q1MteSArPSAkKExJQlVLVElNRV9CQVNFKS9tdXNsLWltcG9ydGVkL3NyYy9fX3llYXJfdG9fc2Vj
cy5jCj4gICBMSUJVS1RJTUVfU1JDUy15ICs9ICQoTElCVUtUSU1FX0JBU0UpL3RpbWUuYwo+ICtM
SUJVS1RJTUVfU1JDUy15ICs9ICQoTElCVUtUSU1FX0JBU0UpL3RpbWVyLmMKPiBkaWZmIC0tZ2l0
IGEvbGliL3VrdGltZS90aW1lci5jIGIvbGliL3VrdGltZS90aW1lci5jCj4gbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwMC4uNjBkMTU5YzkKPiAtLS0gL2Rldi9udWxsCj4gKysr
IGIvbGliL3VrdGltZS90aW1lci5jCj4gQEAgLTAsMCArMSwzOSBAQAo+ICsjaW5jbHVkZSA8ZXJy
bm8uaD4KPiArI2luY2x1ZGUgPHRpbWUuaD4KPiArI2luY2x1ZGUgPHVrL3ByaW50Lmg+Cj4gKwo+
ICsKPiAraW50IHRpbWVyX2NyZWF0ZShjbG9ja2lkX3QgY2xvY2tpZCwgc3RydWN0IHNpZ2V2ZW50
ICpfX3Jlc3RyaWN0IHNldnAsIHRpbWVyX3QgKl9fcmVzdHJpY3QgdGltZXJpZCkKPiArewo+ICsJ
V0FSTl9TVFVCQkVEKCk7Cj4gKwllcnJubyA9IEVOT1RTVVA7Cj4gKwlyZXR1cm4gLTE7Cj4gK30K
PiArCj4gK2ludCB0aW1lcl9kZWxldGUodGltZXJfdCB0aW1lcmlkKQo+ICt7Cj4gKwlXQVJOX1NU
VUJCRUQoKTsKPiArCWVycm5vID0gRU5PVFNVUDsKPiArCXJldHVybiAtMTsKPiArfQo+ICsKPiAr
aW50IHRpbWVyX3NldHRpbWUodGltZXJfdCB0aW1lcmlkLCBpbnQgZmxhZ3MsIGNvbnN0IHN0cnVj
dCBpdGltZXJzcGVjICpfX3Jlc3RyaWN0IG5ld192YWx1ZSwgc3RydWN0IGl0aW1lcnNwZWMgKl9f
cmVzdHJpY3Qgb2xkX3ZhbHVlKQo+ICt7Cj4gKwlXQVJOX1NUVUJCRUQoKTsKPiArCWVycm5vID0g
RU5PVFNVUDsKPiArCXJldHVybiAtMTsKPiArfQo+ICsKPiAraW50IHRpbWVyX2dldHRpbWUodGlt
ZXJfdCB0aW1lcmlkLCBzdHJ1Y3QgaXRpbWVyc3BlYyAqY3Vycl92YWx1ZSkKPiArewo+ICsJV0FS
Tl9TVFVCQkVEKCk7Cj4gKwllcnJubyA9IEVOT1RTVVA7Cj4gKwlyZXR1cm4gLTE7Cj4gK30KPiAr
Cj4gK2ludCB0aW1lcl9nZXRvdmVycnVuKHRpbWVyX3QgdGltZXJpZCkKPiArewo+ICsJV0FSTl9T
VFVCQkVEKCk7Cj4gKwllcnJubyA9IEVOT1RTVVA7Cj4gKwlyZXR1cm4gLTE7Cj4gK30KPiAKCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZl
bCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8v
bGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Mon Dec 09 09:30:03 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 09 Dec 2019 09:30:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ieFMh-0002Dm-7t; Mon, 09 Dec 2019 09:30:03 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=wv94=Z7=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1ieFMg-000290-Gt
 for minios-devel@lists.xen.org; Mon, 09 Dec 2019 09:30:02 +0000
X-Inumbo-ID: 78863852-1a66-11ea-b6f1-bc764e2007e4
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 78863852-1a66-11ea-b6f1-bc764e2007e4;
 Mon, 09 Dec 2019 09:30:00 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id A09641041EF;
 Mon,  9 Dec 2019 10:29:59 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-a.office.hd)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id J7coWkNXrvqo; Mon,  9 Dec 2019 10:29:59 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from puck.office.hd (puck.office.hd [192.168.24.91])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 791DF1039AC;
 Mon,  9 Dec 2019 10:29:59 +0100 (CET)
Received: from [10.1.2.204] (192.168.24.96) by puck.office.hd (192.168.24.91)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 9 Dec 2019
 10:29:59 +0100
To: Costin Lupu <costin.lupu@cs.pub.ro>, <minios-devel@lists.xen.org>
References: <20191206134105.23225-1-costin.lupu@cs.pub.ro>
 <20191206134105.23225-6-costin.lupu@cs.pub.ro>
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
Message-ID: <6f902d38-383c-88c3-c81d-98e354b02dcf@neclab.eu>
Date: Mon, 9 Dec 2019 10:29:58 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:60.0)
 Gecko/20100101 Thunderbird/60.9.1
MIME-Version: 1.0
In-Reply-To: <20191206134105.23225-6-costin.lupu@cs.pub.ro>
Content-Language: en-US
X-Originating-IP: [192.168.24.96]
X-ClientProxiedBy: oberon.office.hd (192.168.24.90) To puck.office.hd
 (192.168.24.91)
Subject: Re: [Minios-devel] [UNIKRAFT PATCH 5/6] lib/devfs: Add /dev/null
 support
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

T24gMDYuMTIuMTkgMTQ6NDEsIENvc3RpbiBMdXB1IHdyb3RlOgo+IFRoaXMgaXMgc2hhbWVsZXNz
bHkgY29waWVkIGFuZCBhZGFwdGVkIGZyb20gb3VyIGltcGxlbWVudGF0aW9uCj4gZm9yIC9kZXYv
cmFuZG9tIGRldmljZSBzdXBwb3J0Lgo+IAo+IFNpZ25lZC1vZmYtYnk6IENvc3RpbiBMdXB1IDxj
b3N0aW4ubHVwdUBjcy5wdWIucm8+Cj4gLS0tCj4gICBsaWIvZGV2ZnMvQ29uZmlnLnVrICAgfCAg
IDUgKysKPiAgIGxpYi9kZXZmcy9NYWtlZmlsZS51ayB8ICAgMiArCj4gICBsaWIvZGV2ZnMvbnVs
bC5jICAgICAgfCAxMTUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
Cj4gICAzIGZpbGVzIGNoYW5nZWQsIDEyMiBpbnNlcnRpb25zKCspCj4gICBjcmVhdGUgbW9kZSAx
MDA2NDQgbGliL2RldmZzL251bGwuYwo+IAo+IGRpZmYgLS1naXQgYS9saWIvZGV2ZnMvQ29uZmln
LnVrIGIvbGliL2RldmZzL0NvbmZpZy51awo+IGluZGV4IDZmMjFjMDFjLi4zYWRjMTcxZSAxMDA2
NDQKPiAtLS0gYS9saWIvZGV2ZnMvQ29uZmlnLnVrCj4gKysrIGIvbGliL2RldmZzL0NvbmZpZy51
awo+IEBAIC04LDQgKzgsOSBAQCBpZiBMSUJERVZGUwo+ICAgICAgICAgICBib29sICJNb3VudCAv
ZGV2IGR1cmluZyBib290Igo+ICAgCWRlcGVuZHMgb24gTElCVkZTQ09SRV9BVVRPTU9VTlRfUk9P
VEZTCj4gICAgICAgICAgIGRlZmF1bHQgbgo+ICsKPiArCWNvbmZpZyBMSUJERVZTX0RFVl9OVUxM
Cj4gKwkJYm9vbCAiL2Rldi9udWxsIgo+ICsJCWRlcGVuZHMgb24gTElCREVWRlNfQVVUT01PVU5U
Cj4gKwkJZGVmYXVsdCB5CgpIdW0sIHRoZSBgbnVsbGAgZGV2aWNlIHNob3VsZCBiZSBhY3R1YWxs
eSBpbmRlcGVuZGVudCBvZiB0aGUgYXV0b21vdW50IApvcHRpb24uIFlvdSBjb3VsZCBhbHdheXMg
cHJvdmlkZSBpdCBiZWNhdXNlIGRldmZzIGNhbiBiZSBpbiBwcmluY2lwbGUgCm1vdW50ZWQgc29t
ZXdoZXJlIGVsc2UgYW5kIHN0aWxsIHByb3ZpZGUgYG51bGxgLgoKSW5zdGVhZCBvZiBhZGRpbmcg
YSBoYXJkLWRlcGVuZGVuY3ksIEkgd291bGQgc2V0IHRoZSBkZWZhdWx0IHRvIHllcyBhcyAKc29v
biBhcyBsaWJkZXZmcyBhdXRvbW91bnQgaXMgZW5hYmxlZDoKCgljb25maWcgTElCREVWU19ERVZf
TlVMTAoJCWJvb2wgIm51bGwgZGV2aWNlIgoJCWRlZmF1bHQgeSBpZiBMSUJERVZGU19BVVRPTU9V
TlQKCQlkZWZhdWx0IG4KCk9mIGNvdXJzZSwgdGhlIGRlZmF1bHQgc2V0dGluZyBzaG91bGQgYmUg
YG9mZmAgaW4gb3JkZXIgdG8gZm9sbG93IHRoZSAKImRlZmF1bHQgaXMgbWluaW1hbCIgcHJpbmNp
cGxlLgoKPiAgIGVuZGlmCj4gZGlmZiAtLWdpdCBhL2xpYi9kZXZmcy9NYWtlZmlsZS51ayBiL2xp
Yi9kZXZmcy9NYWtlZmlsZS51awo+IGluZGV4IGM0OTZmZDU2Li4zNjZkYjY3NyAxMDA2NDQKPiAt
LS0gYS9saWIvZGV2ZnMvTWFrZWZpbGUudWsKPiArKysgYi9saWIvZGV2ZnMvTWFrZWZpbGUudWsK
PiBAQCAtMyw2ICszLDggQEAgJChldmFsICQoY2FsbCBhZGRsaWJfcyxsaWJkZXZmcywkKENPTkZJ
R19MSUJERVZGUykpKQo+ICAgQ0lOQ0xVREVTLXkgKz0gLUkkKExJQkRFVkZTX0JBU0UpL2luY2x1
ZGUKPiAgIAo+ICAgTElCREVWRlNfQ0ZMQUdTLSQoY2FsbCBnY2NfdmVyc2lvbl9nZSw4LDApICs9
IC1Xbm8tY2FzdC1mdW5jdGlvbi10eXBlCj4gK0xJQkRFVkZTX0NGTEFHUy15ICs9IC1Xbm8tdW51
c2VkLXBhcmFtZXRlcgo+ICAgCj4gICBMSUJERVZGU19TUkNTLXkgKz0gJChMSUJERVZGU19CQVNF
KS9kZXZpY2UuYwo+ICAgTElCREVWRlNfU1JDUy15ICs9ICQoTElCREVWRlNfQkFTRSkvZGV2ZnNf
dm5vcHMuYwo+ICtMSUJERVZGU19TUkNTLSQoQ09ORklHX0xJQkRFVlNfREVWX05VTEwpICs9ICQo
TElCREVWRlNfQkFTRSkvbnVsbC5jCj4gZGlmZiAtLWdpdCBhL2xpYi9kZXZmcy9udWxsLmMgYi9s
aWIvZGV2ZnMvbnVsbC5jCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwMC4u
MzhkNjg3ZDQKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvbGliL2RldmZzL251bGwuYwo+IEBAIC0w
LDAgKzEsMTE1IEBACj4gKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2Ug
Ki8KPiArLyoKPiArICogQXV0aG9yczogQ29zdGluIEx1cHUgPGNvc3Rpbi5sdXB1QGNzLnB1Yi5y
bz4KPiArICoKPiArICogQ29weXJpZ2h0IChjKSAyMDE5LCBVbml2ZXJzaXR5IFBvbGl0ZWhuaWNh
IG9mIEJ1Y2hhcmVzdC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KPiArICoKPiArICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
Cj4gKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwo+ICsgKiBhcmUgbWV0Ogo+ICsgKgo+ICsgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAo+ICsg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCj4gKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cj4gKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKPiArICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KPiArICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgY29weXJpZ2h0IGhv
bGRlciBub3IgdGhlIG5hbWVzIG9mIGl0cwo+ICsgKiAgICBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQo+ICsgKiAgICB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgo+
ICsgKgo+ICsgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIKPiArICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQo+ICsg
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRQo+ICsgKiBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFCj4gKyAqIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKPiArICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKPiArICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCj4gKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCj4gKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCj4gKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFCj4gKyAq
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgo+ICsgKgo+ICsgKiBUSElTIEhFQURFUiBNQVkg
Tk9UIEJFIEVYVFJBQ1RFRCBPUiBNT0RJRklFRCBJTiBBTlkgV0FZLgo+ICsgKi8KPiArCj4gKyNp
bmNsdWRlIDxzdGRsaWIuaD4KPiArI2luY2x1ZGUgPHN0cmluZy5oPgo+ICsjaW5jbHVkZSA8dWsv
Y3RvcnMuaD4KPiArI2luY2x1ZGUgPHVrL3ByaW50Lmg+Cj4gKyNpbmNsdWRlIDx2ZnNjb3JlL3Vp
by5oPgo+ICsjaW5jbHVkZSA8ZGV2ZnMvZGV2aWNlLmg+Cj4gKwo+ICsjZGVmaW5lIERFVl9OVUxM
X05BTUUgIm51bGwiCj4gKwo+ICsvKiBUT0RPIFRoaXMgY2FuIGJlIGludGVncmF0ZWQgd2l0aCBy
YW5kb20ncyBmaWxsIGJ1ZmZlciBmdW5jdGlvbiAqLwo+ICtzdGF0aWMgc3NpemVfdCB1a19udWxs
X2ZpbGxfYnVmZmVyKHZvaWQgKmJ1Ziwgc2l6ZV90IGJ1ZmxlbikKPiArewo+ICsJc2l6ZV90IHN0
ZXAsIHJlc2lkLCBpOwo+ICsKPiArCXN0ZXAgPSBzaXplb2YodW5zaWduZWQgbG9uZyk7Cj4gKwly
ZXNpZCA9IGJ1ZmxlbiAlIHN0ZXA7Cj4gKwo+ICsJZm9yIChpID0gMDsgaSA8IGJ1ZmxlbiAtIHJl
c2lkOyBpICs9IHN0ZXApCj4gKwkJKih1bnNpZ25lZCBsb25nICopKChjaGFyICopIGJ1ZiArIGkp
ID0gMDsKPiArCj4gKwkvKiBmaWxsIHRoZSByZW1haW5pbmcgYnl0ZXMgb2YgdGhlIGJ1ZmZlciAq
Lwo+ICsJZm9yIChpID0gMDsgaSA8IHJlc2lkOyBpKyspCj4gKwkJKigoY2hhciAqKSBidWYgKyBp
KSA9IDA7CgptZW1zZXQoKSB3b3VsZCB3b3JrLCB0b28sIHJpZ2h0PyBJdCBtYWtlcyB0aGUgaW1w
bGVtZW50YXRpb24gcHJvYmFibHkgCmVhc2llciBhbmQgd2Ugd291bGQgbm90IG5lZWQgdG8gaW50
ZWdyYXRlIGl0IHdpdGggL2Rldi9yYW5kbW9tLgpIb3dldmVyLCB5b3VyIGltcGxlbWVudGF0aW9u
IGxvb2tzIGxpa2UgL2Rldi96ZXJvLiAvZGV2L251bGwgc2hvdWxkIG9ubHkgCnJldHVybiAiZW5k
LW9mLWZpbGUiIGFuZCBubyBieXRlcy4KCj4gKwo+ICsJcmV0dXJuIGJ1ZmxlbjsKPiArfQo+ICsK
PiAraW50IGRldl9udWxsX3JlYWQoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgdWlvICp1aW8s
IGludCBmbGFncykKPiArewo+ICsJc2l6ZV90IGNvdW50Owo+ICsJY2hhciAqYnVmOwo+ICsKPiAr
CWJ1ZiA9IHVpby0+dWlvX2lvdi0+aW92X2Jhc2U7Cj4gKwljb3VudCA9IHVpby0+dWlvX2lvdi0+
aW92X2xlbjsKPiArCj4gKwl1a19udWxsX2ZpbGxfYnVmZmVyKGJ1ZiwgY291bnQpOwo+ICsKPiAr
CXVpby0+dWlvX3Jlc2lkID0gMDsKPiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ICtpbnQgZGV2X251
bGxfb3BlbihzdHJ1Y3QgZGV2aWNlICpkZXZpY2UsIGludCBtb2RlKQo+ICt7Cj4gKwlyZXR1cm4g
MDsKPiArfQo+ICsKPiArCj4gK2ludCBkZXZfbnVsbF9jbG9zZShzdHJ1Y3QgZGV2aWNlICpkZXZp
Y2UpCj4gK3sKPiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ICtzdGF0aWMgc3RydWN0IGRldm9wcyBu
dWxsX2Rldm9wcyA9IHsKPiArCS5yZWFkID0gZGV2X251bGxfcmVhZCwKPiArCS5vcGVuID0gZGV2
X251bGxfb3BlbiwKPiArCS5jbG9zZSA9IGRldl9udWxsX2Nsb3NlLAo+ICt9OwoKWW91IHNob3Vs
ZCBhbHNvIHByb3ZpZGUgdGhlIHdyaXRlIGZ1bmN0aW9uLiBUaGUgaW5wdXQgaXMganVzdCBkcm9w
cGVkLiAKVGhpcyBzaG91bGQgYmUgZXZlbiB0aGUgc2FtZSBmb3IgL2Rldi96ZXJvLgoKPiArCj4g
K3N0YXRpYyBzdHJ1Y3QgZHJpdmVyIGRydl9udWxsID0gewo+ICsJLmRldm9wcyA9ICZudWxsX2Rl
dm9wcywKPiArCS5kZXZzeiA9IDAsCj4gKwkubmFtZSA9IERFVl9OVUxMX05BTUUKPiArfTsKPiAr
Cj4gK3N0YXRpYyBpbnQgZGV2ZnNfcmVnaXN0ZXJfbnVsbCh2b2lkKQo+ICt7Cj4gKwlzdHJ1Y3Qg
ZGV2aWNlICpkZXY7Cj4gKwo+ICsJdWtfcHJfaW5mbygiUmVnaXN0ZXIgJyVzJyB0byBkZXZmc1xu
IiwgREVWX05VTExfTkFNRSk7Cj4gKwo+ICsJLyogcmVnaXN0ZXIgL2Rldi9udWxsICovCj4gKwlk
ZXYgPSBkZXZpY2VfY3JlYXRlKCZkcnZfbnVsbCwgREVWX05VTExfTkFNRSwgRF9DSFIpOwo+ICsJ
aWYgKGRldiA9PSBOVUxMKSB7Cj4gKwkJdWtfcHJfZXJyKCJGYWlsZWQgdG8gcmVnaXN0ZXIgJyVz
JyB0byBkZXZmc1xuIiwgREVWX05VTExfTkFNRSk7Cj4gKwkJcmV0dXJuIC0xOwo+ICsJfQo+ICsK
PiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ICtkZXZmc19pbml0Y2FsbChkZXZmc19yZWdpc3Rlcl9u
dWxsKTsKPiAKCkkgdGhpbmsgaXQgaXMgd29ydGggdG8gcHJvdmlkZSAvZGV2L3plcm8sIHRvby4g
WW91IGhhdmUgaXQgYWN0dWFsbHkgCmFscmVhZHkgaW1wbGVtZW50ZWQgOy0pLiBJIHRoaW5rIGl0
IHdvdWxkIG1ha2Ugc2Vuc2UgdG8ga2VlcCBib3RoOiAKL2Rldi96ZXJvIGFuZCAvZGV2L251bGwu
CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3Mt
ZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRw
czovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Mon Dec 09 09:30:34 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 09 Dec 2019 09:30:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ieFNC-0002e6-BV; Mon, 09 Dec 2019 09:30:34 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=wv94=Z7=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1ieFNB-0002e1-J2
 for minios-devel@lists.xen.org; Mon, 09 Dec 2019 09:30:33 +0000
X-Inumbo-ID: 8b51fd90-1a66-11ea-87a8-12813bfff9fa
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 8b51fd90-1a66-11ea-87a8-12813bfff9fa;
 Mon, 09 Dec 2019 09:30:32 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 27EABF2027;
 Mon,  9 Dec 2019 10:30:31 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-b.office.hd)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id eZfwxwx-7nja; Mon,  9 Dec 2019 10:30:31 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from puck.office.hd (puck.office.hd [192.168.24.91])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id F2D4CF2006;
 Mon,  9 Dec 2019 10:30:24 +0100 (CET)
Received: from [10.1.2.204] (192.168.24.96) by puck.office.hd (192.168.24.91)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 9 Dec 2019
 10:30:24 +0100
To: Costin Lupu <costin.lupu@cs.pub.ro>, <minios-devel@lists.xen.org>
References: <20191206134105.23225-1-costin.lupu@cs.pub.ro>
 <20191206134105.23225-4-costin.lupu@cs.pub.ro>
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
Message-ID: <ebf9faae-debf-edc2-2785-fb278e65b2b0@neclab.eu>
Date: Mon, 9 Dec 2019 10:30:24 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:60.0)
 Gecko/20100101 Thunderbird/60.9.1
MIME-Version: 1.0
In-Reply-To: <20191206134105.23225-4-costin.lupu@cs.pub.ro>
Content-Language: en-US
X-Originating-IP: [192.168.24.96]
X-ClientProxiedBy: titania.office.hd (192.168.24.89) To puck.office.hd
 (192.168.24.91)
Subject: Re: [Minios-devel] [UNIKRAFT PATCH 3/6] lib/uktime: Remove
 exportsyms.uk
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SXMgdGhlcmUgYSBnb29kIHJlYXNvbiB3aHkgdG8gcmVtb3ZlIHRoaXMgZmlsZT8gSSByZW1lbWJl
ciB0aGF0IHdlIApkZWNpZGVkIHRvIHRyZWF0IGV4cG9ydHN5bXMudWsgYXMgb3B0aW9uYWwgZmls
ZSBmb3IgZXh0ZXJuYWwgbGlicywgCmVzcGVjaWFsbHkgZm9yIEMrKyBjb2RlLiBIb3dldmVyLCBg
dWt0aW1lYCBpcyBhIHNtYWxsIGFuZCBzaW1wbGUgCmludGVybmFsIGxpYnJhcnkgd3JpdHRlbiBp
biBDLgoKT24gMDYuMTIuMTkgMTQ6NDEsIENvc3RpbiBMdXB1IHdyb3RlOgo+IFNpZ25lZC1vZmYt
Ynk6IENvc3RpbiBMdXB1IDxjb3N0aW4ubHVwdUBjcy5wdWIucm8+Cj4gLS0tCj4gICBsaWIvdWt0
aW1lL2V4cG9ydHN5bXMudWsgfCAxMSAtLS0tLS0tLS0tLQo+ICAgMSBmaWxlIGNoYW5nZWQsIDEx
IGRlbGV0aW9ucygtKQo+ICAgZGVsZXRlIG1vZGUgMTAwNjQ0IGxpYi91a3RpbWUvZXhwb3J0c3lt
cy51awo+IAo+IGRpZmYgLS1naXQgYS9saWIvdWt0aW1lL2V4cG9ydHN5bXMudWsgYi9saWIvdWt0
aW1lL2V4cG9ydHN5bXMudWsKPiBkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCBiZDlj
NDljZi4uMDAwMDAwMDAKPiAtLS0gYS9saWIvdWt0aW1lL2V4cG9ydHN5bXMudWsKPiArKysgL2Rl
di9udWxsCj4gQEAgLTEsMTEgKzAsMCBAQAo+IC1jbG9ja19nZXRyZXMKPiAtY2xvY2tfZ2V0dGlt
ZQo+IC1jbG9ja19zZXR0aW1lCj4gLWdldHRpbWVvZmRheQo+IC1uYW5vc2xlZXAKPiAtc2V0aXRp
bWVyCj4gLXNsZWVwCj4gLXRpbWVnbQo+IC10aW1lcwo+IC11c2xlZXAKPiAtdXRpbWUKPiAKCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZl
bCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8v
bGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Mon Dec 09 10:49:53 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 09 Dec 2019 10:49:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ieGbw-0002VR-03; Mon, 09 Dec 2019 10:49:51 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=0jgM=Z7=neclab.eu=felipe.huici@srs-us1.protection.inumbo.net>)
 id 1ieGbu-0002VM-Fz
 for minios-devel@lists.xen.org; Mon, 09 Dec 2019 10:49:50 +0000
X-Inumbo-ID: 9dcbe9b2-1a71-11ea-87bc-12813bfff9fa
Received: from queen.nlehd.de (unknown [195.37.154.80])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id 9dcbe9b2-1a71-11ea-87bc-12813bfff9fa;
 Mon, 09 Dec 2019 10:49:47 +0000 (UTC)
Received: from localhost (c431.ant-net [192.168.0.36])
 by queen.nlehd.de (Postfix) with ESMTP id A21F241393;
 Mon,  9 Dec 2019 11:49:46 +0100 (CET)
From: Felipe Huici <felipe.huici@neclab.eu>
To: minios-devel@lists.xen.org
Date: Mon,  9 Dec 2019 11:49:45 +0100
Message-Id: <20191209104945.15005-1-felipe.huici@neclab.eu>
X-Mailer: git-send-email 2.20.1
MIME-Version: 1.0
Subject: [Minios-devel] [UNIKRAFT/LIBLWIP PATCH] Add nameserver headers from
 musl.
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

Q29waWVkIGFzIGlzIGZyb20gdGhlIG9mZmljaWFsIG11c2wgZ2l0IG1pcnJvcgpnaXQ6Ly9naXQu
bXVzbC1saWJjLm9yZy9tdXNsLCA1MWViMjA4NCAuCgpTaWduZWQtb2ZmLWJ5OiBGZWxpcGUgSHVp
Y2kgPGZlbGlwZS5odWljaUBuZWNsYWIuZXU+Ci0tLQogbXVzbC1pbXBvcnRlZC9pbmNsdWRlL2Fy
cGEvbmFtZXNlci5oICAgICAgICB8IDQ1NiArKysrKysrKysrKysrKysrKysrKwogbXVzbC1pbXBv
cnRlZC9pbmNsdWRlL2FycGEvbmFtZXNlcl9jb21wYXQuaCB8ICAgMiArCiAyIGZpbGVzIGNoYW5n
ZWQsIDQ1OCBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgbXVzbC1pbXBvcnRlZC9p
bmNsdWRlL2FycGEvbmFtZXNlci5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgbXVzbC1pbXBvcnRlZC9p
bmNsdWRlL2FycGEvbmFtZXNlcl9jb21wYXQuaAoKZGlmZiAtLWdpdCBhL211c2wtaW1wb3J0ZWQv
aW5jbHVkZS9hcnBhL25hbWVzZXIuaCBiL211c2wtaW1wb3J0ZWQvaW5jbHVkZS9hcnBhL25hbWVz
ZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMzE1ZTBmCi0tLSAvZGV2
L251bGwKKysrIGIvbXVzbC1pbXBvcnRlZC9pbmNsdWRlL2FycGEvbmFtZXNlci5oCkBAIC0wLDAg
KzEsNDU2IEBACisjaWZuZGVmIF9BUlBBX05BTUVTRVJfSAorI2RlZmluZSBfQVJQQV9OQU1FU0VS
X0gKKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCisjaW5jbHVk
ZSA8c3RkZGVmLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CisjaW5jbHVkZSA8ZW5kaWFuLmg+CisK
KyNkZWZpbmUgX19OQU1FU0VSCTE5OTkxMDA2CisjZGVmaW5lIE5TX1BBQ0tFVFNaCTUxMgorI2Rl
ZmluZSBOU19NQVhETkFNRQkxMDI1CisjZGVmaW5lIE5TX01BWE1TRwk2NTUzNQorI2RlZmluZSBO
U19NQVhDRE5BTUUJMjU1CisjZGVmaW5lIE5TX01BWExBQkVMCTYzCisjZGVmaW5lIE5TX0hGSVhF
RFNaCTEyCisjZGVmaW5lIE5TX1FGSVhFRFNaCTQKKyNkZWZpbmUgTlNfUlJGSVhFRFNaCTEwCisj
ZGVmaW5lIE5TX0lOVDMyU1oJNAorI2RlZmluZSBOU19JTlQxNlNaCTIKKyNkZWZpbmUgTlNfSU5U
OFNaCTEKKyNkZWZpbmUgTlNfSU5BRERSU1oJNAorI2RlZmluZSBOU19JTjZBRERSU1oJMTYKKyNk
ZWZpbmUgTlNfQ01QUlNGTEdTCTB4YzAKKyNkZWZpbmUgTlNfREVGQVVMVFBPUlQJNTMKKwordHlw
ZWRlZiBlbnVtIF9fbnNfc2VjdCB7CisJbnNfc19xZCA9IDAsCisJbnNfc196biA9IDAsCisJbnNf
c19hbiA9IDEsCisJbnNfc19wciA9IDEsCisJbnNfc19ucyA9IDIsCisJbnNfc191ZCA9IDIsCisJ
bnNfc19hciA9IDMsCisJbnNfc19tYXggPSA0Cit9IG5zX3NlY3Q7CisKK3R5cGVkZWYgc3RydWN0
IF9fbnNfbXNnIHsKKwljb25zdCB1bnNpZ25lZCBjaGFyICpfbXNnLCAqX2VvbTsKKwl1aW50MTZf
dCBfaWQsIF9mbGFncywgX2NvdW50c1tuc19zX21heF07CisJY29uc3QgdW5zaWduZWQgY2hhciAq
X3NlY3Rpb25zW25zX3NfbWF4XTsKKwluc19zZWN0IF9zZWN0OworCWludCBfcnJudW07CisJY29u
c3QgdW5zaWduZWQgY2hhciAqX21zZ19wdHI7Cit9IG5zX21zZzsKKworc3RydWN0IF9uc19mbGFn
ZGF0YSB7ICBpbnQgbWFzaywgc2hpZnQ7ICB9OworZXh0ZXJuIGNvbnN0IHN0cnVjdCBfbnNfZmxh
Z2RhdGEgX25zX2ZsYWdkYXRhW107CisKKyNkZWZpbmUgbnNfbXNnX2lkKGhhbmRsZSkgKChoYW5k
bGUpLl9pZCArIDApCisjZGVmaW5lIG5zX21zZ19iYXNlKGhhbmRsZSkgKChoYW5kbGUpLl9tc2cg
KyAwKQorI2RlZmluZSBuc19tc2dfZW5kKGhhbmRsZSkgKChoYW5kbGUpLl9lb20gKyAwKQorI2Rl
ZmluZSBuc19tc2dfc2l6ZShoYW5kbGUpICgoaGFuZGxlKS5fZW9tIC0gKGhhbmRsZSkuX21zZykK
KyNkZWZpbmUgbnNfbXNnX2NvdW50KGhhbmRsZSwgc2VjdGlvbikgKChoYW5kbGUpLl9jb3VudHNb
c2VjdGlvbl0gKyAwKQorI2RlZmluZSBuc19tc2dfZ2V0ZmxhZyhoYW5kbGUsIGZsYWcpIFwKKwko
KChoYW5kbGUpLl9mbGFncyAmIF9uc19mbGFnZGF0YVtmbGFnXS5tYXNrKSA+PiBfbnNfZmxhZ2Rh
dGFbZmxhZ10uc2hpZnQpCisKK3R5cGVkZWYJc3RydWN0IF9fbnNfcnIgeworCWNoYXIJCW5hbWVb
TlNfTUFYRE5BTUVdOworCXVpbnQxNl90CXR5cGU7CisJdWludDE2X3QJcnJfY2xhc3M7CisJdWlu
dDMyX3QJdHRsOworCXVpbnQxNl90CXJkbGVuZ3RoOworCWNvbnN0IHVuc2lnbmVkIGNoYXIgKnJk
YXRhOworfSBuc19ycjsKKworI2RlZmluZSBuc19ycl9uYW1lKHJyKQkoKChycikubmFtZVswXSAh
PSAnXDAnKSA/IChycikubmFtZSA6ICIuIikKKyNkZWZpbmUgbnNfcnJfdHlwZShycikJKChuc190
eXBlKSgocnIpLnR5cGUgKyAwKSkKKyNkZWZpbmUgbnNfcnJfY2xhc3MocnIpCSgobnNfY2xhc3Mp
KChycikucnJfY2xhc3MgKyAwKSkKKyNkZWZpbmUgbnNfcnJfdHRsKHJyKQkoKHJyKS50dGwgKyAw
KQorI2RlZmluZSBuc19ycl9yZGxlbihycikJKChycikucmRsZW5ndGggKyAwKQorI2RlZmluZSBu
c19ycl9yZGF0YShycikJKChycikucmRhdGEgKyAwKQorCit0eXBlZGVmIGVudW0gX19uc19mbGFn
IHsKKwluc19mX3FyLAorCW5zX2Zfb3Bjb2RlLAorCW5zX2ZfYWEsCisJbnNfZl90YywKKwluc19m
X3JkLAorCW5zX2ZfcmEsCisJbnNfZl96LAorCW5zX2ZfYWQsCisJbnNfZl9jZCwKKwluc19mX3Jj
b2RlLAorCW5zX2ZfbWF4Cit9IG5zX2ZsYWc7CisKK3R5cGVkZWYgZW51bSBfX25zX29wY29kZSB7
CisJbnNfb19xdWVyeSA9IDAsCisJbnNfb19pcXVlcnkgPSAxLAorCW5zX29fc3RhdHVzID0gMiwK
Kwluc19vX25vdGlmeSA9IDQsCisJbnNfb191cGRhdGUgPSA1LAorCW5zX29fbWF4ID0gNgorfSBu
c19vcGNvZGU7CisKK3R5cGVkZWYJZW51bSBfX25zX3Jjb2RlIHsKKwluc19yX25vZXJyb3IgPSAw
LAorCW5zX3JfZm9ybWVyciA9IDEsCisJbnNfcl9zZXJ2ZmFpbCA9IDIsCisJbnNfcl9ueGRvbWFp
biA9IDMsCisJbnNfcl9ub3RpbXBsID0gNCwKKwluc19yX3JlZnVzZWQgPSA1LAorCW5zX3JfeXhk
b21haW4gPSA2LAorCW5zX3JfeXhycnNldCA9IDcsCisJbnNfcl9ueHJyc2V0ID0gOCwKKwluc19y
X25vdGF1dGggPSA5LAorCW5zX3Jfbm90em9uZSA9IDEwLAorCW5zX3JfbWF4ID0gMTEsCisJbnNf
cl9iYWR2ZXJzID0gMTYsCisJbnNfcl9iYWRzaWcgPSAxNiwKKwluc19yX2JhZGtleSA9IDE3LAor
CW5zX3JfYmFkdGltZSA9IDE4Cit9IG5zX3Jjb2RlOworCit0eXBlZGVmIGVudW0gX19uc191cGRh
dGVfb3BlcmF0aW9uIHsKKwluc191b3BfZGVsZXRlID0gMCwKKwluc191b3BfYWRkID0gMSwKKwlu
c191b3BfbWF4ID0gMgorfSBuc191cGRhdGVfb3BlcmF0aW9uOworCitzdHJ1Y3QgbnNfdHNpZ19r
ZXkgeworICAgICAgICBjaGFyIG5hbWVbTlNfTUFYRE5BTUVdLCBhbGdbTlNfTUFYRE5BTUVdOwor
ICAgICAgICB1bnNpZ25lZCBjaGFyICpkYXRhOworICAgICAgICBpbnQgbGVuOworfTsKK3R5cGVk
ZWYgc3RydWN0IG5zX3RzaWdfa2V5IG5zX3RzaWdfa2V5OworCitzdHJ1Y3QgbnNfdGNwX3RzaWdf
c3RhdGUgeworCWludCBjb3VudGVyOworCXN0cnVjdCBkc3Rfa2V5ICprZXk7CisJdm9pZCAqY3R4
OworCXVuc2lnbmVkIGNoYXIgc2lnW05TX1BBQ0tFVFNaXTsKKwlpbnQgc2lnbGVuOworfTsKK3R5
cGVkZWYgc3RydWN0IG5zX3RjcF90c2lnX3N0YXRlIG5zX3RjcF90c2lnX3N0YXRlOworCisjZGVm
aW5lIE5TX1RTSUdfRlVER0UgMzAwCisjZGVmaW5lIE5TX1RTSUdfVENQX0NPVU5UIDEwMAorI2Rl
ZmluZSBOU19UU0lHX0FMR19ITUFDX01ENSAiSE1BQy1NRDUuU0lHLUFMRy5SRUcuSU5UIgorCisj
ZGVmaW5lIE5TX1RTSUdfRVJST1JfTk9fVFNJRyAtMTAKKyNkZWZpbmUgTlNfVFNJR19FUlJPUl9O
T19TUEFDRSAtMTEKKyNkZWZpbmUgTlNfVFNJR19FUlJPUl9GT1JNRVJSIC0xMgorCit0eXBlZGVm
IGVudW0gX19uc190eXBlIHsKKwluc190X2ludmFsaWQgPSAwLAorCW5zX3RfYSA9IDEsCisJbnNf
dF9ucyA9IDIsCisJbnNfdF9tZCA9IDMsCisJbnNfdF9tZiA9IDQsCisJbnNfdF9jbmFtZSA9IDUs
CisJbnNfdF9zb2EgPSA2LAorCW5zX3RfbWIgPSA3LAorCW5zX3RfbWcgPSA4LAorCW5zX3RfbXIg
PSA5LAorCW5zX3RfbnVsbCA9IDEwLAorCW5zX3Rfd2tzID0gMTEsCisJbnNfdF9wdHIgPSAxMiwK
Kwluc190X2hpbmZvID0gMTMsCisJbnNfdF9taW5mbyA9IDE0LAorCW5zX3RfbXggPSAxNSwKKwlu
c190X3R4dCA9IDE2LAorCW5zX3RfcnAgPSAxNywKKwluc190X2Fmc2RiID0gMTgsCisJbnNfdF94
MjUgPSAxOSwKKwluc190X2lzZG4gPSAyMCwKKwluc190X3J0ID0gMjEsCisJbnNfdF9uc2FwID0g
MjIsCisJbnNfdF9uc2FwX3B0ciA9IDIzLAorCW5zX3Rfc2lnID0gMjQsCisJbnNfdF9rZXkgPSAy
NSwKKwluc190X3B4ID0gMjYsCisJbnNfdF9ncG9zID0gMjcsCisJbnNfdF9hYWFhID0gMjgsCisJ
bnNfdF9sb2MgPSAyOSwKKwluc190X254dCA9IDMwLAorCW5zX3RfZWlkID0gMzEsCisJbnNfdF9u
aW1sb2MgPSAzMiwKKwluc190X3NydiA9IDMzLAorCW5zX3RfYXRtYSA9IDM0LAorCW5zX3RfbmFw
dHIgPSAzNSwKKwluc190X2t4ID0gMzYsCisJbnNfdF9jZXJ0ID0gMzcsCisJbnNfdF9hNiA9IDM4
LAorCW5zX3RfZG5hbWUgPSAzOSwKKwluc190X3NpbmsgPSA0MCwKKwluc190X29wdCA9IDQxLAor
CW5zX3RfYXBsID0gNDIsCisJbnNfdF90a2V5ID0gMjQ5LAorCW5zX3RfdHNpZyA9IDI1MCwKKwlu
c190X2l4ZnIgPSAyNTEsCisJbnNfdF9heGZyID0gMjUyLAorCW5zX3RfbWFpbGIgPSAyNTMsCisJ
bnNfdF9tYWlsYSA9IDI1NCwKKwluc190X2FueSA9IDI1NSwKKwluc190X3p4ZnIgPSAyNTYsCisJ
bnNfdF9tYXggPSA2NTUzNgorfSBuc190eXBlOworCisjZGVmaW5lCW5zX3RfcXRfcCh0KSAobnNf
dF94ZnJfcCh0KSB8fCAodCkgPT0gbnNfdF9hbnkgfHwgXAorCQkgICAgICAodCkgPT0gbnNfdF9t
YWlsYiB8fCAodCkgPT0gbnNfdF9tYWlsYSkKKyNkZWZpbmUJbnNfdF9tcnJfcCh0KSAoKHQpID09
IG5zX3RfdHNpZyB8fCAodCkgPT0gbnNfdF9vcHQpCisjZGVmaW5lIG5zX3RfcnJfcCh0KSAoIW5z
X3RfcXRfcCh0KSAmJiAhbnNfdF9tcnJfcCh0KSkKKyNkZWZpbmUgbnNfdF91ZHBfcCh0KSAoKHQp
ICE9IG5zX3RfYXhmciAmJiAodCkgIT0gbnNfdF96eGZyKQorI2RlZmluZSBuc190X3hmcl9wKHQp
ICgodCkgPT0gbnNfdF9heGZyIHx8ICh0KSA9PSBuc190X2l4ZnIgfHwgXAorCQkgICAgICAgKHQp
ID09IG5zX3RfenhmcikKKwordHlwZWRlZiBlbnVtIF9fbnNfY2xhc3MgeworCW5zX2NfaW52YWxp
ZCA9IDAsCisJbnNfY19pbiA9IDEsCisJbnNfY18yID0gMiwKKwluc19jX2NoYW9zID0gMywKKwlu
c19jX2hzID0gNCwKKwluc19jX25vbmUgPSAyNTQsCisJbnNfY19hbnkgPSAyNTUsCisJbnNfY19t
YXggPSA2NTUzNgorfSBuc19jbGFzczsKKwordHlwZWRlZiBlbnVtIF9fbnNfa2V5X3R5cGVzIHsK
Kwluc19rdF9yc2EgPSAxLAorCW5zX2t0X2RoICA9IDIsCisJbnNfa3RfZHNhID0gMywKKwluc19r
dF9wcml2YXRlID0gMjU0Cit9IG5zX2tleV90eXBlczsKKwordHlwZWRlZiBlbnVtIF9fbnNfY2Vy
dF90eXBlcyB7CisJY2VydF90X3BraXggPSAxLAorCWNlcnRfdF9zcGtpID0gMiwKKwljZXJ0X3Rf
cGdwICA9IDMsCisJY2VydF90X3VybCAgPSAyNTMsCisJY2VydF90X29pZCAgPSAyNTQKK30gbnNf
Y2VydF90eXBlczsKKworI2RlZmluZQlOU19LRVlfVFlQRU1BU0sJCTB4QzAwMAorI2RlZmluZQlO
U19LRVlfVFlQRV9BVVRIX0NPTkYJMHgwMDAwCisjZGVmaW5lCU5TX0tFWV9UWVBFX0NPTkZfT05M
WQkweDgwMDAKKyNkZWZpbmUJTlNfS0VZX1RZUEVfQVVUSF9PTkxZCTB4NDAwMAorI2RlZmluZQlO
U19LRVlfVFlQRV9OT19LRVkJMHhDMDAwCisjZGVmaW5lCU5TX0tFWV9OT19BVVRICQkweDgwMDAK
KyNkZWZpbmUJTlNfS0VZX05PX0NPTkYJCTB4NDAwMAorI2RlZmluZQlOU19LRVlfUkVTRVJWRUQy
CTB4MjAwMAorI2RlZmluZQlOU19LRVlfRVhURU5ERURfRkxBR1MJMHgxMDAwCisjZGVmaW5lCU5T
X0tFWV9SRVNFUlZFRDQJMHgwODAwCisjZGVmaW5lCU5TX0tFWV9SRVNFUlZFRDUJMHgwNDAwCisj
ZGVmaW5lCU5TX0tFWV9OQU1FX1RZUEUJMHgwMzAwCisjZGVmaW5lCU5TX0tFWV9OQU1FX1VTRVIJ
MHgwMDAwCisjZGVmaW5lCU5TX0tFWV9OQU1FX0VOVElUWQkweDAyMDAKKyNkZWZpbmUJTlNfS0VZ
X05BTUVfWk9ORQkweDAxMDAKKyNkZWZpbmUJTlNfS0VZX05BTUVfUkVTRVJWRUQJMHgwMzAwCisj
ZGVmaW5lCU5TX0tFWV9SRVNFUlZFRDgJMHgwMDgwCisjZGVmaW5lCU5TX0tFWV9SRVNFUlZFRDkJ
MHgwMDQwCisjZGVmaW5lCU5TX0tFWV9SRVNFUlZFRDEwCTB4MDAyMAorI2RlZmluZQlOU19LRVlf
UkVTRVJWRUQxMQkweDAwMTAKKyNkZWZpbmUJTlNfS0VZX1NJR05BVE9SWU1BU0sJMHgwMDBGCisj
ZGVmaW5lCU5TX0tFWV9SRVNFUlZFRF9CSVRNQVNLICggTlNfS0VZX1JFU0VSVkVEMiB8IFwKKwkJ
CQkgIE5TX0tFWV9SRVNFUlZFRDQgfCBcCisJCQkJICBOU19LRVlfUkVTRVJWRUQ1IHwgXAorCQkJ
CSAgTlNfS0VZX1JFU0VSVkVEOCB8IFwKKwkJCQkgIE5TX0tFWV9SRVNFUlZFRDkgfCBcCisJCQkJ
ICBOU19LRVlfUkVTRVJWRUQxMCB8IFwKKwkJCQkgIE5TX0tFWV9SRVNFUlZFRDExICkKKyNkZWZp
bmUgTlNfS0VZX1JFU0VSVkVEX0JJVE1BU0syIDB4RkZGRgorI2RlZmluZQlOU19BTEdfTUQ1UlNB
CQkxCisjZGVmaW5lCU5TX0FMR19ESCAgICAgICAgICAgICAgIDIKKyNkZWZpbmUJTlNfQUxHX0RT
QSAgICAgICAgICAgICAgMworI2RlZmluZQlOU19BTEdfRFNTICAgICAgICAgICAgICBOU19BTEdf
RFNBCisjZGVmaW5lCU5TX0FMR19FWFBJUkVfT05MWQkyNTMKKyNkZWZpbmUJTlNfQUxHX1BSSVZB
VEVfT0lECTI1NAorCisjZGVmaW5lIE5TX0tFWV9QUk9UX1RMUyAgICAgICAgIDEKKyNkZWZpbmUg
TlNfS0VZX1BST1RfRU1BSUwgICAgICAgMgorI2RlZmluZSBOU19LRVlfUFJPVF9ETlNTRUMgICAg
ICAzCisjZGVmaW5lIE5TX0tFWV9QUk9UX0lQU0VDICAgICAgIDQKKyNkZWZpbmUgTlNfS0VZX1BS
T1RfQU5ZCQkyNTUKKworI2RlZmluZQlOU19NRDVSU0FfTUlOX0JJVFMJIDUxMgorI2RlZmluZQlO
U19NRDVSU0FfTUFYX0JJVFMJNDA5NgorI2RlZmluZQlOU19NRDVSU0FfTUFYX0JZVEVTCSgoTlNf
TUQ1UlNBX01BWF9CSVRTKzcvOCkqMiszKQorI2RlZmluZQlOU19NRDVSU0FfTUFYX0JBU0U2NAko
KChOU19NRDVSU0FfTUFYX0JZVEVTKzIpLzMpKjQpCisjZGVmaW5lIE5TX01ENVJTQV9NSU5fU0la
RQkoKE5TX01ENVJTQV9NSU5fQklUUys3KS84KQorI2RlZmluZSBOU19NRDVSU0FfTUFYX1NJWkUJ
KChOU19NRDVSU0FfTUFYX0JJVFMrNykvOCkKKworI2RlZmluZSBOU19EU0FfU0lHX1NJWkUgICAg
ICAgICA0MQorI2RlZmluZSBOU19EU0FfTUlOX1NJWkUgICAgICAgICAyMTMKKyNkZWZpbmUgTlNf
RFNBX01BWF9CWVRFUyAgICAgICAgNDA1CisKKyNkZWZpbmUJTlNfU0lHX1RZUEUJMAorI2RlZmlu
ZQlOU19TSUdfQUxHCTIKKyNkZWZpbmUJTlNfU0lHX0xBQkVMUwkzCisjZGVmaW5lCU5TX1NJR19P
VFRMCTQKKyNkZWZpbmUJTlNfU0lHX0VYUElSCTgKKyNkZWZpbmUJTlNfU0lHX1NJR05FRAkxMgor
I2RlZmluZQlOU19TSUdfRk9PVAkxNgorI2RlZmluZQlOU19TSUdfU0lHTkVSCTE4CisjZGVmaW5l
CU5TX05YVF9CSVRTIDgKKyNkZWZpbmUJTlNfTlhUX0JJVF9TRVQoICBuLHApIChwWyhuKS9OU19O
WFRfQklUU10gfD0gICgweDgwPj4oKG4pJU5TX05YVF9CSVRTKSkpCisjZGVmaW5lCU5TX05YVF9C
SVRfQ0xFQVIobixwKSAocFsobikvTlNfTlhUX0JJVFNdICY9IH4oMHg4MD4+KChuKSVOU19OWFRf
QklUUykpKQorI2RlZmluZQlOU19OWFRfQklUX0lTU0VUKG4scCkgKHBbKG4pL05TX05YVF9CSVRT
XSAmICAgKDB4ODA+PigobiklTlNfTlhUX0JJVFMpKSkKKyNkZWZpbmUgTlNfTlhUX01BWCAxMjcK
KworI2RlZmluZSBOU19PUFRfRE5TU0VDX09LICAgICAgICAweDgwMDBVCisjZGVmaW5lIE5TX09Q
VF9OU0lECQkzCisKKyNkZWZpbmUgTlNfR0VUMTYocywgY3ApICh2b2lkKSgocykgPSBuc19nZXQx
NigoKGNwKSs9MiktMikpCisjZGVmaW5lIE5TX0dFVDMyKGwsIGNwKSAodm9pZCkoKGwpID0gbnNf
Z2V0MzIoKChjcCkrPTQpLTQpKQorI2RlZmluZSBOU19QVVQxNihzLCBjcCkgbnNfcHV0MTYoKHMp
LCAoKGNwKSs9MiktMikKKyNkZWZpbmUgTlNfUFVUMzIobCwgY3ApIG5zX3B1dDMyKChsKSwgKChj
cCkrPTQpLTQpCisKK3Vuc2lnbmVkIG5zX2dldDE2KGNvbnN0IHVuc2lnbmVkIGNoYXIgKik7Cit1
bnNpZ25lZCBsb25nIG5zX2dldDMyKGNvbnN0IHVuc2lnbmVkIGNoYXIgKik7Cit2b2lkIG5zX3B1
dDE2KHVuc2lnbmVkLCB1bnNpZ25lZCBjaGFyICopOwordm9pZCBuc19wdXQzMih1bnNpZ25lZCBs
b25nLCB1bnNpZ25lZCBjaGFyICopOworCitpbnQgbnNfaW5pdHBhcnNlKGNvbnN0IHVuc2lnbmVk
IGNoYXIgKiwgaW50LCBuc19tc2cgKik7CitpbnQgbnNfcGFyc2Vycihuc19tc2cgKiwgbnNfc2Vj
dCwgaW50LCBuc19yciAqKTsKK2ludCBuc19za2lwcnIoY29uc3QgdW5zaWduZWQgY2hhciAqLCBj
b25zdCB1bnNpZ25lZCBjaGFyICosIG5zX3NlY3QsIGludCk7CitpbnQgbnNfbmFtZV91bmNvbXBy
ZXNzKGNvbnN0IHVuc2lnbmVkIGNoYXIgKiwgY29uc3QgdW5zaWduZWQgY2hhciAqLCBjb25zdCB1
bnNpZ25lZCBjaGFyICosIGNoYXIgKiwgc2l6ZV90KTsKKworCisjZGVmaW5lCV9fQklORAkJMTk5
NTA2MjEKKwordHlwZWRlZiBzdHJ1Y3QgeworCXVuc2lnbmVkCWlkIDoxNjsKKyNpZiBfX0JZVEVf
T1JERVIgPT0gX19CSUdfRU5ESUFOCisJdW5zaWduZWQJcXI6IDE7CisJdW5zaWduZWQJb3Bjb2Rl
OiA0OworCXVuc2lnbmVkCWFhOiAxOworCXVuc2lnbmVkCXRjOiAxOworCXVuc2lnbmVkCXJkOiAx
OworCXVuc2lnbmVkCXJhOiAxOworCXVuc2lnbmVkCXVudXNlZCA6MTsKKwl1bnNpZ25lZAlhZDog
MTsKKwl1bnNpZ25lZAljZDogMTsKKwl1bnNpZ25lZAlyY29kZSA6NDsKKyNlbHNlCisJdW5zaWdu
ZWQJcmQgOjE7CisJdW5zaWduZWQJdGMgOjE7CisJdW5zaWduZWQJYWEgOjE7CisJdW5zaWduZWQJ
b3Bjb2RlIDo0OworCXVuc2lnbmVkCXFyIDoxOworCXVuc2lnbmVkCXJjb2RlIDo0OworCXVuc2ln
bmVkCWNkOiAxOworCXVuc2lnbmVkCWFkOiAxOworCXVuc2lnbmVkCXVudXNlZCA6MTsKKwl1bnNp
Z25lZAlyYSA6MTsKKyNlbmRpZgorCXVuc2lnbmVkCXFkY291bnQgOjE2OworCXVuc2lnbmVkCWFu
Y291bnQgOjE2OworCXVuc2lnbmVkCW5zY291bnQgOjE2OworCXVuc2lnbmVkCWFyY291bnQgOjE2
OworfSBIRUFERVI7CisKKyNkZWZpbmUgUEFDS0VUU1oJTlNfUEFDS0VUU1oKKyNkZWZpbmUgTUFY
RE5BTUUJTlNfTUFYRE5BTUUKKyNkZWZpbmUgTUFYQ0ROQU1FCU5TX01BWENETkFNRQorI2RlZmlu
ZSBNQVhMQUJFTAlOU19NQVhMQUJFTAorI2RlZmluZQlIRklYRURTWglOU19IRklYRURTWgorI2Rl
ZmluZSBRRklYRURTWglOU19RRklYRURTWgorI2RlZmluZSBSUkZJWEVEU1oJTlNfUlJGSVhFRFNa
CisjZGVmaW5lCUlOVDMyU1oJCU5TX0lOVDMyU1oKKyNkZWZpbmUJSU5UMTZTWgkJTlNfSU5UMTZT
WgorI2RlZmluZSBJTlQ4U1oJCU5TX0lOVDhTWgorI2RlZmluZQlJTkFERFJTWglOU19JTkFERFJT
WgorI2RlZmluZQlJTjZBRERSU1oJTlNfSU42QUREUlNaCisjZGVmaW5lCUlORElSX01BU0sJTlNf
Q01QUlNGTEdTCisjZGVmaW5lIE5BTUVTRVJWRVJfUE9SVAlOU19ERUZBVUxUUE9SVAorCisjZGVm
aW5lIFNfWk9ORQkJbnNfc196bgorI2RlZmluZSBTX1BSRVJFUQluc19zX3ByCisjZGVmaW5lIFNf
VVBEQVRFCW5zX3NfdWQKKyNkZWZpbmUgU19BRERUCQluc19zX2FyCisKKyNkZWZpbmUgUVVFUlkJ
CW5zX29fcXVlcnkKKyNkZWZpbmUgSVFVRVJZCQluc19vX2lxdWVyeQorI2RlZmluZSBTVEFUVVMJ
CW5zX29fc3RhdHVzCisjZGVmaW5lCU5TX05PVElGWV9PUAluc19vX25vdGlmeQorI2RlZmluZQlO
U19VUERBVEVfT1AJbnNfb191cGRhdGUKKworI2RlZmluZSBOT0VSUk9SCQluc19yX25vZXJyb3IK
KyNkZWZpbmUgRk9STUVSUgkJbnNfcl9mb3JtZXJyCisjZGVmaW5lIFNFUlZGQUlMCW5zX3Jfc2Vy
dmZhaWwKKyNkZWZpbmUgTlhET01BSU4JbnNfcl9ueGRvbWFpbgorI2RlZmluZSBOT1RJTVAJCW5z
X3Jfbm90aW1wbAorI2RlZmluZSBSRUZVU0VECQluc19yX3JlZnVzZWQKKyNkZWZpbmUgWVhET01B
SU4JbnNfcl95eGRvbWFpbgorI2RlZmluZSBZWFJSU0VUCQluc19yX3l4cnJzZXQKKyNkZWZpbmUg
TlhSUlNFVAkJbnNfcl9ueHJyc2V0CisjZGVmaW5lIE5PVEFVVEgJCW5zX3Jfbm90YXV0aAorI2Rl
ZmluZSBOT1RaT05FCQluc19yX25vdHpvbmUKKworI2RlZmluZSBERUxFVEUJCW5zX3VvcF9kZWxl
dGUKKyNkZWZpbmUgQURECQluc191b3BfYWRkCisKKyNkZWZpbmUgVF9BCQluc190X2EKKyNkZWZp
bmUgVF9OUwkJbnNfdF9ucworI2RlZmluZSBUX01ECQluc190X21kCisjZGVmaW5lIFRfTUYJCW5z
X3RfbWYKKyNkZWZpbmUgVF9DTkFNRQkJbnNfdF9jbmFtZQorI2RlZmluZSBUX1NPQQkJbnNfdF9z
b2EKKyNkZWZpbmUgVF9NQgkJbnNfdF9tYgorI2RlZmluZSBUX01HCQluc190X21nCisjZGVmaW5l
IFRfTVIJCW5zX3RfbXIKKyNkZWZpbmUgVF9OVUxMCQluc190X251bGwKKyNkZWZpbmUgVF9XS1MJ
CW5zX3Rfd2tzCisjZGVmaW5lIFRfUFRSCQluc190X3B0cgorI2RlZmluZSBUX0hJTkZPCQluc190
X2hpbmZvCisjZGVmaW5lIFRfTUlORk8JCW5zX3RfbWluZm8KKyNkZWZpbmUgVF9NWAkJbnNfdF9t
eAorI2RlZmluZSBUX1RYVAkJbnNfdF90eHQKKyNkZWZpbmUJVF9SUAkJbnNfdF9ycAorI2RlZmlu
ZSBUX0FGU0RCCQluc190X2Fmc2RiCisjZGVmaW5lIFRfWDI1CQluc190X3gyNQorI2RlZmluZSBU
X0lTRE4JCW5zX3RfaXNkbgorI2RlZmluZSBUX1JUCQluc190X3J0CisjZGVmaW5lIFRfTlNBUAkJ
bnNfdF9uc2FwCisjZGVmaW5lIFRfTlNBUF9QVFIJbnNfdF9uc2FwX3B0cgorI2RlZmluZQlUX1NJ
RwkJbnNfdF9zaWcKKyNkZWZpbmUJVF9LRVkJCW5zX3Rfa2V5CisjZGVmaW5lCVRfUFgJCW5zX3Rf
cHgKKyNkZWZpbmUJVF9HUE9TCQluc190X2dwb3MKKyNkZWZpbmUJVF9BQUFBCQluc190X2FhYWEK
KyNkZWZpbmUJVF9MT0MJCW5zX3RfbG9jCisjZGVmaW5lCVRfTlhUCQluc190X254dAorI2RlZmlu
ZQlUX0VJRAkJbnNfdF9laWQKKyNkZWZpbmUJVF9OSU1MT0MJbnNfdF9uaW1sb2MKKyNkZWZpbmUJ
VF9TUlYJCW5zX3Rfc3J2CisjZGVmaW5lIFRfQVRNQQkJbnNfdF9hdG1hCisjZGVmaW5lIFRfTkFQ
VFIJCW5zX3RfbmFwdHIKKyNkZWZpbmUgVF9BNgkJbnNfdF9hNgorI2RlZmluZSBUX0ROQU1FCQlu
c190X2RuYW1lCisjZGVmaW5lCVRfVFNJRwkJbnNfdF90c2lnCisjZGVmaW5lCVRfSVhGUgkJbnNf
dF9peGZyCisjZGVmaW5lIFRfQVhGUgkJbnNfdF9heGZyCisjZGVmaW5lIFRfTUFJTEIJCW5zX3Rf
bWFpbGIKKyNkZWZpbmUgVF9NQUlMQQkJbnNfdF9tYWlsYQorI2RlZmluZSBUX0FOWQkJbnNfdF9h
bnkKKworI2RlZmluZSBDX0lOCQluc19jX2luCisjZGVmaW5lIENfQ0hBT1MJCW5zX2NfY2hhb3MK
KyNkZWZpbmUgQ19IUwkJbnNfY19ocworI2RlZmluZSBDX05PTkUJCW5zX2Nfbm9uZQorI2RlZmlu
ZSBDX0FOWQkJbnNfY19hbnkKKworI2RlZmluZQlHRVRTSE9SVAkJTlNfR0VUMTYKKyNkZWZpbmUJ
R0VUTE9ORwkJCU5TX0dFVDMyCisjZGVmaW5lCVBVVFNIT1JUCQlOU19QVVQxNgorI2RlZmluZQlQ
VVRMT05HCQkJTlNfUFVUMzIKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2Vu
ZGlmCmRpZmYgLS1naXQgYS9tdXNsLWltcG9ydGVkL2luY2x1ZGUvYXJwYS9uYW1lc2VyX2NvbXBh
dC5oIGIvbXVzbC1pbXBvcnRlZC9pbmNsdWRlL2FycGEvbmFtZXNlcl9jb21wYXQuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYWFjMjVjCi0tLSAvZGV2L251bGwKKysrIGIv
bXVzbC1pbXBvcnRlZC9pbmNsdWRlL2FycGEvbmFtZXNlcl9jb21wYXQuaApAQCAtMCwwICsxLDIg
QEAKKyNpbmNsdWRlIDxhcnBhL25hbWVzZXIuaD4KKwotLSAKMi4yMC4xCgoKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcg
bGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5w
cm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Mon Dec 09 10:50:54 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 09 Dec 2019 10:50:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ieGcw-00039k-2z; Mon, 09 Dec 2019 10:50:54 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=0jgM=Z7=neclab.eu=felipe.huici@srs-us1.protection.inumbo.net>)
 id 1ieGcu-000398-1n
 for minios-devel@lists.xen.org; Mon, 09 Dec 2019 10:50:52 +0000
X-Inumbo-ID: c36fedb2-1a71-11ea-88e7-bc764e2007e4
Received: from queen.nlehd.de (unknown [195.37.154.80])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id c36fedb2-1a71-11ea-88e7-bc764e2007e4;
 Mon, 09 Dec 2019 10:50:50 +0000 (UTC)
Received: from localhost (c431.ant-net [192.168.0.36])
 by queen.nlehd.de (Postfix) with ESMTP id D78B741393;
 Mon,  9 Dec 2019 11:50:49 +0100 (CET)
From: Felipe Huici <felipe.huici@neclab.eu>
To: minios-devel@lists.xen.org
Date: Mon,  9 Dec 2019 11:50:45 +0100
Message-Id: <20191209105048.15057-1-felipe.huici@neclab.eu>
X-Mailer: git-send-email 2.20.1
MIME-Version: 1.0
Subject: [Minios-devel] [UNIKRAFT/LIBCARES PATCH 0/3] Introduce c-ares
 library port
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhpcyBpcyBvdXIgaW5pdGlhbCBwb3J0IG9mIHRoZSBjLWFyZXMgbGlicmFyeSB0byBVbmlrcmFm
dC4gTm90ZSB0aGF0IHRoaXMgc2VyaWVzIGRlcGVuZHMgb24gdGhlICJBZGQgbmFtZXNlcnZlciBo
ZWFkZXJzIGZyb20gbXVzbCIgcGF0Y2guCgpDaGFuZ2VzIHNpbmNlIHYxOgogKiBNb3ZlIG5hbWUg
c2VydmVyIGhlYWRlciBmaWxlcyB0byBsaWJsd2lwLgoKRmVsaXBlIEh1aWNpICgzKToKICBJbnRy
b2R1Y2UgbGlicmFyeSBza2VsZXRvbgogIEFkZCBjLWFyZXMgcG9ydCBNYWtlZmlsZS51awogIEFk
ZCBpbmNsdWRlIGRpcmVjdG9yeQoKIC5naXRpZ25vcmUgICAgICAgICAgICB8ICAyNyArKysKIENP
RElOR19TVFlMRS5tZCAgICAgICB8ICAgNCArCiBDT05UUklCVVRJTkcubWQgICAgICAgfCAgIDQg
KwogQ09QWUlORy5tZCAgICAgICAgICAgIHwgIDM5ICsrKysKIENvbmZpZy51ayAgICAgICAgICAg
ICB8ICAgNyArCiBNQUlOVEFJTkVSUy5tZCAgICAgICAgfCAgMTAgKwogTWFrZWZpbGUudWsgICAg
ICAgICAgIHwgMTI1ICsrKysrKysrKysrCiBSRUFETUUubWQgICAgICAgICAgICAgfCAgMTAgKwog
aW5jbHVkZS9hcmVzX2NvbmZpZy5oIHwgNTA1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKwogOSBmaWxlcyBjaGFuZ2VkLCA3MzEgaW5zZXJ0aW9ucygrKQogY3JlYXRl
IG1vZGUgMTAwNjQ0IC5naXRpZ25vcmUKIGNyZWF0ZSBtb2RlIDEwMDY0NCBDT0RJTkdfU1RZTEUu
bWQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBDT05UUklCVVRJTkcubWQKIGNyZWF0ZSBtb2RlIDEwMDY0
NCBDT1BZSU5HLm1kCiBjcmVhdGUgbW9kZSAxMDA2NDQgQ29uZmlnLnVrCiBjcmVhdGUgbW9kZSAx
MDA2NDQgTUFJTlRBSU5FUlMubWQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBNYWtlZmlsZS51awogY3Jl
YXRlIG1vZGUgMTAwNjQ0IFJFQURNRS5tZAogY3JlYXRlIG1vZGUgMTAwNjQ0IGluY2x1ZGUvYXJl
c19jb25maWcuaAoKLS0gCjIuMjAuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxp
c3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9s
aXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Mon Dec 09 10:50:54 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 09 Dec 2019 10:50:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ieGcw-00039p-4p; Mon, 09 Dec 2019 10:50:54 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=0jgM=Z7=neclab.eu=felipe.huici@srs-us1.protection.inumbo.net>)
 id 1ieGcu-00039D-M7
 for minios-devel@lists.xen.org; Mon, 09 Dec 2019 10:50:52 +0000
X-Inumbo-ID: c3d3576c-1a71-11ea-87bc-12813bfff9fa
Received: from queen.nlehd.de (unknown [195.37.154.80])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id c3d3576c-1a71-11ea-87bc-12813bfff9fa;
 Mon, 09 Dec 2019 10:50:50 +0000 (UTC)
Received: from localhost (c431.ant-net [192.168.0.36])
 by queen.nlehd.de (Postfix) with ESMTP id 7F89042176;
 Mon,  9 Dec 2019 11:50:50 +0100 (CET)
From: Felipe Huici <felipe.huici@neclab.eu>
To: minios-devel@lists.xen.org
Date: Mon,  9 Dec 2019 11:50:46 +0100
Message-Id: <20191209105048.15057-2-felipe.huici@neclab.eu>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <20191209105048.15057-1-felipe.huici@neclab.eu>
References: <20191209105048.15057-1-felipe.huici@neclab.eu>
MIME-Version: 1.0
Subject: [Minios-devel] [UNIKRAFT/LIBCARES PATCH 1/3] Introduce library
 skeleton
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

V2UgdXNlIHRoZSBCU0QtMy1DbGF1c2UgbGljZW5zZSBmb3IgdGhpcyBsaWJyYXJ5IGdsdWUgY29k
ZS4KClNpZ25lZC1vZmYtYnk6IEZlbGlwZSBIdWljaSA8ZmVsaXBlLmh1aWNpQG5lY2xhYi5ldT4K
LS0tCiAuZ2l0aWdub3JlICAgICAgfCAyNyArKysrKysrKysrKysrKysrKysrKysrKysrKysKIENP
RElOR19TVFlMRS5tZCB8ICA0ICsrKysKIENPTlRSSUJVVElORy5tZCB8ICA0ICsrKysKIENPUFlJ
TkcubWQgICAgICB8IDM5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwog
Q29uZmlnLnVrICAgICAgIHwgIDcgKysrKysrKwogTUFJTlRBSU5FUlMubWQgIHwgMTAgKysrKysr
KysrKwogUkVBRE1FLm1kICAgICAgIHwgMTAgKysrKysrKysrKwogNyBmaWxlcyBjaGFuZ2VkLCAx
MDEgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IC5naXRpZ25vcmUKIGNyZWF0ZSBt
b2RlIDEwMDY0NCBDT0RJTkdfU1RZTEUubWQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBDT05UUklCVVRJ
TkcubWQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBDT1BZSU5HLm1kCiBjcmVhdGUgbW9kZSAxMDA2NDQg
Q29uZmlnLnVrCiBjcmVhdGUgbW9kZSAxMDA2NDQgTUFJTlRBSU5FUlMubWQKIGNyZWF0ZSBtb2Rl
IDEwMDY0NCBSRUFETUUubWQKCmRpZmYgLS1naXQgYS8uZ2l0aWdub3JlIGIvLmdpdGlnbm9yZQpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NWQyZmQzCi0tLSAvZGV2L251bGwK
KysrIGIvLmdpdGlnbm9yZQpAQCAtMCwwICsxLDI3IEBACisqLmRlcGVuZAorKi5vCisqLmEKKyou
ZAorKi5zbworKi5vcmlnCisqLnJlagorKi5iYWsKKyouc3dwCisqfgorLCoKK1wjKlwjCisuXCMq
CitcI18qXCMKKy5cI18qCishLmdpdGlnbm9yZQorLioKKworIyBnbnUgZ2xvYmFsIGZpbGVzCitH
UEFUSAorR1JUQUdTCitHU1lNUworR1RBR1MKKworIyBjc2NvcGUgZmlsZXMKK2NzY29wZS4qCitu
Y3Njb3BlLioKZGlmZiAtLWdpdCBhL0NPRElOR19TVFlMRS5tZCBiL0NPRElOR19TVFlMRS5tZApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NzMwMDQxCi0tLSAvZGV2L251bGwK
KysrIGIvQ09ESU5HX1NUWUxFLm1kCkBAIC0wLDAgKzEsNCBAQAorQ29kaW5nIFN0eWxlCis9PT09
PT09PT09PT0KKworUGxlYXNlIHJlZmVyIHRvIHRoZSBgQ09ESU5HX1NUWUxFLm1kYCBmaWxlIGlu
IHRoZSBtYWluIFVuaWtyYWZ0IHJlcG9zaXRvcnkuCmRpZmYgLS1naXQgYS9DT05UUklCVVRJTkcu
bWQgYi9DT05UUklCVVRJTkcubWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
NWY1NWVjYQotLS0gL2Rldi9udWxsCisrKyBiL0NPTlRSSUJVVElORy5tZApAQCAtMCwwICsxLDQg
QEAKK0NvbnRyaWJ1dGluZyB0byBVbmlrcmFmdAorPT09PT09PT09PT09PT09PT09PT09PT0KKwor
UGxlYXNlIHJlZmVyIHRvIHRoZSBgQ09OVFJJQlVUSU5HLm1kYCBmaWxlIGluIHRoZSBtYWluIFVu
aWtyYWZ0IHJlcG9zaXRvcnkuCmRpZmYgLS1naXQgYS9DT1BZSU5HLm1kIGIvQ09QWUlORy5tZApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YjEzM2I2Ci0tLSAvZGV2L251bGwK
KysrIGIvQ09QWUlORy5tZApAQCAtMCwwICsxLDM5IEBACitMaWNlbnNlCis9PT09PT09CisKK1Vu
aWtyYWZ0IGMtYXJlcyB3cmFwcGVycworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1RoaXMg
cmVwb3NpdG9yeSBjb250YWlucyB3cmFwcGVyIGNvZGUgdG8gYnVpbGQgYy1hcmVzIHdpdGggVW5p
a3JhZnQuCitFYWNoIEMgY29kZSBmaWxlIGluIHRoaXMgcmVwb3NpdG9yeSBzaG91bGQgZGVjbGFy
ZSB3aG8gaXMgdGhlCitjb3B5cmlnaHQgb3duZXIgYW5kIHVuZGVyIHdoaWNoIHRlcm1zIGFuZCBj
b25kaXRpb25zIHRoZSBjb2RlIGlzCitsaWNlbnNlZC4gSWYgc3VjaCBhIGxpY2VuY2Ugbm90ZSBp
cyBtaXNzaW5nLCB0aGUgZm9sbG93aW5nIGNvcHlyaWdodAorbm90aWNlIHdpbGwgYXBwbHk6CisK
KwlDb3B5cmlnaHQgKGMpIDIwMTksIE5FQyBFdXJvcGUgTHRkLiwgTkVDIENvcnBvcmF0aW9uLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorCisJUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisJbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisJYXJlIG1ldDoK
KworCTEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisJICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorCTIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisJICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorCSAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisJMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgY29weXJpZ2h0IGhvbGRl
ciBub3IgdGhlIG5hbWVzIG9mIGl0cworCSAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisJICAgdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKworCVRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMgIkFTIElTIgorCUFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKwlJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorCUFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUiBDT05U
UklCVVRPUlMgQkUKKwlMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisJQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKwlTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KwlJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorCUNPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisJQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUKKwlQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKwpkaWZmIC0tZ2l0IGEvQ29uZmlnLnVrIGIvQ29u
ZmlnLnVrCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhZDUwZTgKLS0tIC9k
ZXYvbnVsbAorKysgYi9Db25maWcudWsKQEAgLTAsMCArMSw3IEBACittZW51Y29uZmlnIExJQkNB
UkVTCisJICAgYm9vbCAiYy1hcmVzIC0gYSBDIGxpYnJhcnkgZm9yIGFzeW5jaHJvbm91cyBETlMg
cmVxdWVzdHMiCisJICAgZGVmYXVsdCB5CisJICAgc2VsZWN0IExJQk5FV0xJQkMKKwkgICBzZWxl
Y3QgTElCTFdJUAorCSAgIHNlbGVjdCBMV0lQX0lQVjYKKwkgICBzZWxlY3QgVUtTWVNJTkZPCmRp
ZmYgLS1naXQgYS9NQUlOVEFJTkVSUy5tZCBiL01BSU5UQUlORVJTLm1kCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQwMDllOWIKLS0tIC9kZXYvbnVsbAorKysgYi9NQUlOVEFJ
TkVSUy5tZApAQCAtMCwwICsxLDEwIEBACitNYWludGFpbmVycyBMaXN0Cis9PT09PT09PT09PT09
PT09CisKK0ZvciBub3RlcyBvbiBob3cgdG8gcmVhZCB0aGlzIGluZm9ybWF0aW9uLCBwbGVhc2Ug
cmVmZXIgdG8gYE1BSU5UQUlORVJTLm1kYCBpbgordGhlIG1haW4gVW5pa3JhZnQgcmVwb3NpdG9y
eS4KKworCUxJQlpMSUItVU5JS1JBRlQKKwlNOglGZWxpcGUgSHVpY2kgPGZlbGlwZS5odWljaUBu
ZWNsYWIuZXU+CisJTDoJbWluaW9zLWRldmVsQGxpc3RzLnhlbi5vcmcKKwlGOiAqCmRpZmYgLS1n
aXQgYS9SRUFETUUubWQgYi9SRUFETUUubWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uZWUzOWE1OAotLS0gL2Rldi9udWxsCisrKyBiL1JFQURNRS5tZApAQCAtMCwwICsxLDEw
IEBACitsaWJ6bGliIGZvciBVbmlrcmFmdAorPT09PT09PT09PT09PT09PT09PQorVGhpcyBpcyBh
IHBvcnQgb2YgYy1hcmVzIHRvIFVuaWtyYWZ0LiBZb3Ugd2lsbCBuZWVkIG5ld2xpYiBhbmQgbHdp
cAorZm9yIGl0IHRvIHdvcmssIHNvIHBsZWFzZSBlbnN1cmUgeW91IGFkZCB0aGUgZm9sbG93aW5n
IGxpbmUgdG8gdGhlCitMSUJTIHZhcmlhYmxlIGluIHRoZSBNYWtlZmlsZToKKworICAgLi4uJChV
S19MSUJTKS9sd2lwOiQoVUtfTElCUykvbmV3bGliOiQoVUtfTElCUykvYy1hcmVzLi4uCisJCSAK
K1BsZWFzZSByZWZlciB0byB0aGUgYFJFQURNRS5tZGAgYXMgd2VsbCBhcyB0aGUgZG9jdW1lbnRh
dGlvbiBpbiB0aGUgYGRvYy9gCitzdWJkaXJlY3Rvcnkgb2YgdGhlIG1haW4gdW5pa3JhZnQgcmVw
b3NpdG9yeSBmb3IgZnVydGhlciBpbmZvcm1hdGlvbi4KLS0gCjIuMjAuMQoKCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5n
IGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVu
cHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Mon Dec 09 10:50:57 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 09 Dec 2019 10:50:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ieGcz-0003Ai-6G; Mon, 09 Dec 2019 10:50:57 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=0jgM=Z7=neclab.eu=felipe.huici@srs-us1.protection.inumbo.net>)
 id 1ieGcy-0003Ab-TK
 for minios-devel@lists.xen.org; Mon, 09 Dec 2019 10:50:56 +0000
X-Inumbo-ID: c4b20142-1a71-11ea-88e7-bc764e2007e4
Received: from queen.nlehd.de (unknown [195.37.154.80])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id c4b20142-1a71-11ea-88e7-bc764e2007e4;
 Mon, 09 Dec 2019 10:50:52 +0000 (UTC)
Received: from localhost (c110.ant-net [192.168.0.36])
 by queen.nlehd.de (Postfix) with ESMTP id 05F0941393;
 Mon,  9 Dec 2019 11:50:52 +0100 (CET)
From: Felipe Huici <felipe.huici@neclab.eu>
To: minios-devel@lists.xen.org
Date: Mon,  9 Dec 2019 11:50:48 +0100
Message-Id: <20191209105048.15057-4-felipe.huici@neclab.eu>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <20191209105048.15057-1-felipe.huici@neclab.eu>
References: <20191209105048.15057-1-felipe.huici@neclab.eu>
MIME-Version: 1.0
Subject: [Minios-devel] [UNIKRAFT/LIBCARES PATCH 3/3] Add include directory
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

QWRkIGMtYXJlcyBjb25maWd1cmF0aW9uIGhlYWRlciBmaWxlLgoKU2lnbmVkLW9mZi1ieTogRmVs
aXBlIEh1aWNpIDxmZWxpcGUuaHVpY2lAbmVjbGFiLmV1PgotLS0KIGluY2x1ZGUvYXJlc19jb25m
aWcuaCB8IDUwNSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDEg
ZmlsZSBjaGFuZ2VkLCA1MDUgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGluY2x1
ZGUvYXJlc19jb25maWcuaAoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXJlc19jb25maWcuaCBiL2lu
Y2x1ZGUvYXJlc19jb25maWcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43
NDg1ZmJmCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hcmVzX2NvbmZpZy5oCkBAIC0wLDAg
KzEsNTA1IEBACisvKiBhcmVzX2NvbmZpZy5oLiAgR2VuZXJhdGVkIGZyb20gYXJlc19jb25maWcu
aC5pbiBieSBjb25maWd1cmUuICAqLworLyogYXJlc19jb25maWcuaC5pbi4gIEdlbmVyYXRlZCBm
cm9tIGNvbmZpZ3VyZS5hYyBieSBhdXRvaGVhZGVyLiAgKi8KKworLyogRGVmaW5lIGlmIGJ1aWxk
aW5nIHVuaXZlcnNhbCAoaW50ZXJuYWwgaGVscGVyIG1hY3JvKSAqLworLyogI3VuZGVmIEFDX0FQ
UExFX1VOSVZFUlNBTF9CVUlMRCAqLworCisvKiBkZWZpbmUgdGhpcyBpZiBhcmVzIGlzIGJ1aWx0
IGZvciBhIGJpZyBlbmRpYW4gc3lzdGVtICovCisvKiAjdW5kZWYgQVJFU19CSUdfRU5ESUFOICov
CisKKy8qIHdoZW4gYnVpbGRpbmcgYXMgc3RhdGljIHBhcnQgb2YgbGliY3VybCAqLworLyogI3Vu
ZGVmIEJVSUxESU5HX0xJQkNVUkwgKi8KKworLyogRGVmaW5lZCBmb3IgYnVpbGQgdGhhdCBleHBv
c2VzIGludGVybmFsIHN0YXRpYyBmdW5jdGlvbnMgZm9yIHRlc3RpbmcuICovCisvKiAjdW5kZWYg
Q0FSRVNfRVhQT1NFX1NUQVRJQ1MgKi8KKworLyogRGVmaW5lZCBmb3IgYnVpbGQgd2l0aCBzeW1i
b2wgaGlkaW5nLiAqLworI2RlZmluZSBDQVJFU19TWU1CT0xfSElESU5HIDEKKworLyogRGVmaW5p
dGlvbiB0byBtYWtlIGEgbGlicmFyeSBzeW1ib2wgZXh0ZXJuYWxseSB2aXNpYmxlLiAqLworI2Rl
ZmluZSBDQVJFU19TWU1CT0xfU0NPUEVfRVhURVJOIF9fYXR0cmlidXRlX18gKChfX3Zpc2liaWxp
dHlfXyAoImRlZmF1bHQiKSkpCisKKy8qIHRoZSBzaWduZWQgdmVyc2lvbiBvZiBzaXplX3QgKi8K
KyNkZWZpbmUgQ0FSRVNfVFlQRU9GX0FSRVNfU1NJWkVfVCBzc2l6ZV90CisKKy8qIFVzZSByZXNv
bHZlciBsaWJyYXJ5IHRvIGNvbmZpZ3VyZSBjYXJlcyAqLworLyogI3VuZGVmIENBUkVTX1VTRV9M
SUJSRVNPTFYgKi8KKworLyogaWYgYSAvZXRjL2luZXQgZGlyIGlzIGJlaW5nIHVzZWQgKi8KKy8q
ICN1bmRlZiBFVENfSU5FVCAqLworCisvKiBEZWZpbmUgdG8gdGhlIHR5cGUgb2YgYXJnIDIgZm9y
IGdldGhvc3RuYW1lLiAqLworI2RlZmluZSBHRVRIT1NUTkFNRV9UWVBFX0FSRzIgc2l6ZV90CisK
Ky8qIERlZmluZSB0byB0aGUgdHlwZSBxdWFsaWZpZXIgb2YgYXJnIDEgZm9yIGdldG5hbWVpbmZv
LiAqLworI2RlZmluZSBHRVROQU1FSU5GT19RVUFMX0FSRzEgY29uc3QKKworLyogRGVmaW5lIHRv
IHRoZSB0eXBlIG9mIGFyZyAxIGZvciBnZXRuYW1laW5mby4gKi8KKyNkZWZpbmUgR0VUTkFNRUlO
Rk9fVFlQRV9BUkcxIHN0cnVjdCBzb2NrYWRkciAqCisKKy8qIERlZmluZSB0byB0aGUgdHlwZSBv
ZiBhcmcgMiBmb3IgZ2V0bmFtZWluZm8uICovCisjZGVmaW5lIEdFVE5BTUVJTkZPX1RZUEVfQVJH
MiBzb2NrbGVuX3QKKworLyogRGVmaW5lIHRvIHRoZSB0eXBlIG9mIGFyZ3MgNCBhbmQgNiBmb3Ig
Z2V0bmFtZWluZm8uICovCisjZGVmaW5lIEdFVE5BTUVJTkZPX1RZUEVfQVJHNDYgc29ja2xlbl90
CisKKy8qIERlZmluZSB0byB0aGUgdHlwZSBvZiBhcmcgNyBmb3IgZ2V0bmFtZWluZm8uICovCisj
ZGVmaW5lIEdFVE5BTUVJTkZPX1RZUEVfQVJHNyBpbnQKKworLyogU3BlY2lmaWVzIHRoZSBudW1i
ZXIgb2YgYXJndW1lbnRzIHRvIGdldHNlcnZieXBvcnRfciAqLworI2RlZmluZSBHRVRTRVJWQllQ
T1JUX1JfQVJHUyA2CisKKy8qIFNwZWNpZmllcyB0aGUgc2l6ZSBvZiB0aGUgYnVmZmVyIHRvIHBh
c3MgdG8gZ2V0c2VydmJ5cG9ydF9yICovCisjZGVmaW5lIEdFVFNFUlZCWVBPUlRfUl9CVUZTSVpF
IDQwOTYKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgQUZfSU5FVDYuICovCisjZGVmaW5l
IEhBVkVfQUZfSU5FVDYgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGFycGEv
aW5ldC5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9BUlBBX0lORVRfSCAxCisKKy8q
IERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8YXJwYS9uYW1lc2VyX2NvbXBhdC5oPiBoZWFk
ZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9BUlBBX05BTUVTRVJfQ09NUEFUX0ggMQorCisvKiBE
ZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGFycGEvbmFtZXNlci5oPiBoZWFkZXIgZmlsZS4g
Ki8KKyNkZWZpbmUgSEFWRV9BUlBBX05BTUVTRVJfSCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlv
dSBoYXZlIHRoZSA8YXNzZXJ0Lmg+IGhlYWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX0FTU0VS
VF9IIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBiaXRuY21wJyBmdW5jdGlv
bi4gKi8KKy8qICN1bmRlZiBIQVZFX0JJVE5DTVAgKi8KKworLyogRGVmaW5lIHRvIDEgaWYgYm9v
bCBpcyBhbiBhdmFpbGFibGUgdHlwZS4gKi8KKyNkZWZpbmUgSEFWRV9CT09MX1QgMQorCisvKiBE
ZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgY2xvY2tfZ2V0dGltZSBmdW5jdGlvbiBhbmQgbW9u
b3RvbmljIHRpbWVyLiAqLworLyogIyNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FX01PTk9UT05J
QyAxICovCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBjbG9zZXNvY2tldCBmdW5j
dGlvbi4gKi8KKy8qICN1bmRlZiBIQVZFX0NMT1NFU09DS0VUICovCisKKy8qIERlZmluZSB0byAx
IGlmIHlvdSBoYXZlIHRoZSBDbG9zZVNvY2tldCBjYW1lbCBjYXNlIGZ1bmN0aW9uLiAqLworLyog
I3VuZGVmIEhBVkVfQ0xPU0VTT0NLRVRfQ0FNRUwgKi8KKworLyogRGVmaW5lIHRvIDEgaWYgeW91
IGhhdmUgdGhlIGNvbm5lY3QgZnVuY3Rpb24uICovCisjZGVmaW5lIEhBVkVfQ09OTkVDVCAxCisK
Ky8qIGRlZmluZSBpZiB0aGUgY29tcGlsZXIgc3VwcG9ydHMgYmFzaWMgQysrMTEgc3ludGF4ICov
CisjZGVmaW5lIEhBVkVfQ1hYMTEgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUg
PGRsZmNuLmg+IGhlYWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX0RMRkNOX0ggMQorCisvKiBE
ZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGVycm5vLmg+IGhlYWRlciBmaWxlLiAqLworI2Rl
ZmluZSBIQVZFX0VSUk5PX0ggMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgZmNu
dGwgZnVuY3Rpb24uICovCisjZGVmaW5lIEhBVkVfRkNOVEwgMQorCisvKiBEZWZpbmUgdG8gMSBp
ZiB5b3UgaGF2ZSB0aGUgPGZjbnRsLmg+IGhlYWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX0ZD
TlRMX0ggMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSBhIHdvcmtpbmcgZmNudGwgT19O
T05CTE9DSyBmdW5jdGlvbi4gKi8KKyNkZWZpbmUgSEFWRV9GQ05UTF9PX05PTkJMT0NLIDEKKwor
LyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGZyZWVhZGRyaW5mbyBmdW5jdGlvbi4gKi8K
KyNkZWZpbmUgSEFWRV9GUkVFQUREUklORk8gMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2
ZSBhIHdvcmtpbmcgZ2V0YWRkcmluZm8gZnVuY3Rpb24uICovCisjZGVmaW5lIEhBVkVfR0VUQURE
UklORk8gMQorCisvKiBEZWZpbmUgdG8gMSBpZiB0aGUgZ2V0YWRkcmluZm8gZnVuY3Rpb24gaXMg
dGhyZWFkc2FmZS4gKi8KKyNkZWZpbmUgSEFWRV9HRVRBRERSSU5GT19USFJFQURTQUZFIDEKKwor
LyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGdldGVudiBmdW5jdGlvbi4gKi8KKyNkZWZp
bmUgSEFWRV9HRVRFTlYgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgZ2V0aG9z
dGJ5YWRkciBmdW5jdGlvbi4gKi8KKyNkZWZpbmUgSEFWRV9HRVRIT1NUQllBRERSIDEKKworLyog
RGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGdldGhvc3RieW5hbWUgZnVuY3Rpb24uICovCisj
ZGVmaW5lIEhBVkVfR0VUSE9TVEJZTkFNRSAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZl
IHRoZSBnZXRob3N0bmFtZSBmdW5jdGlvbi4gKi8KKyNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAx
CisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBnZXRuYW1laW5mbyBmdW5jdGlvbi4g
Ki8KKyNkZWZpbmUgSEFWRV9HRVROQU1FSU5GTyAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBo
YXZlIHRoZSBnZXRzZXJ2Ynlwb3J0X3IgZnVuY3Rpb24uICovCisjZGVmaW5lIEhBVkVfR0VUU0VS
VkJZUE9SVF9SIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBnZXR0aW1lb2Zk
YXknIGZ1bmN0aW9uLiAqLworI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCisKKy8qIERlZmlu
ZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgaWZfaW5kZXh0b25hbWUnIGZ1bmN0aW9uLiAqLworI2Rl
ZmluZSBIQVZFX0lGX0lOREVYVE9OQU1FIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUg
YSBJUHY2IGNhcGFibGUgd29ya2luZyBpbmV0X25ldF9wdG9uIGZ1bmN0aW9uLiAqLworLyogI3Vu
ZGVmIEhBVkVfSU5FVF9ORVRfUFRPTiAqLworCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSBh
IElQdjYgY2FwYWJsZSB3b3JraW5nIGluZXRfbnRvcCBmdW5jdGlvbi4gKi8KKyNkZWZpbmUgSEFW
RV9JTkVUX05UT1AgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSBhIElQdjYgY2FwYWJs
ZSB3b3JraW5nIGluZXRfcHRvbiBmdW5jdGlvbi4gKi8KKyNkZWZpbmUgSEFWRV9JTkVUX1BUT04g
MQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGludHR5cGVzLmg+IGhlYWRlciBm
aWxlLiAqLworI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5
b3UgaGF2ZSB0aGUgaW9jdGwgZnVuY3Rpb24uICovCisjZGVmaW5lIEhBVkVfSU9DVEwgMQorCisv
KiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgaW9jdGxzb2NrZXQgZnVuY3Rpb24uICovCisv
KiAjdW5kZWYgSEFWRV9JT0NUTFNPQ0tFVCAqLworCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2
ZSB0aGUgSW9jdGxTb2NrZXQgY2FtZWwgY2FzZSBmdW5jdGlvbi4gKi8KKy8qICN1bmRlZiBIQVZF
X0lPQ1RMU09DS0VUX0NBTUVMICovCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIGEgd29y
a2luZyBJb2N0bFNvY2tldCBjYW1lbCBjYXNlIEZJT05CSU8gZnVuY3Rpb24uCisgICAqLworLyog
I3VuZGVmIEhBVkVfSU9DVExTT0NLRVRfQ0FNRUxfRklPTkJJTyAqLworCisvKiBEZWZpbmUgdG8g
MSBpZiB5b3UgaGF2ZSBhIHdvcmtpbmcgaW9jdGxzb2NrZXQgRklPTkJJTyBmdW5jdGlvbi4gKi8K
Ky8qICN1bmRlZiBIQVZFX0lPQ1RMU09DS0VUX0ZJT05CSU8gKi8KKworLyogRGVmaW5lIHRvIDEg
aWYgeW91IGhhdmUgYSB3b3JraW5nIGlvY3RsIEZJT05CSU8gZnVuY3Rpb24uICovCisjZGVmaW5l
IEhBVkVfSU9DVExfRklPTkJJTyAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIGEgd29y
a2luZyBpb2N0bCBTSU9DR0lGQUREUiBmdW5jdGlvbi4gKi8KKyNkZWZpbmUgSEFWRV9JT0NUTF9T
SU9DR0lGQUREUiAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgcmVzb2x2ZScg
bGlicmFyeSAoLWxyZXNvbHZlKS4gKi8KKy8qICN1bmRlZiBIQVZFX0xJQlJFU09MVkUgKi8KKwor
LyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxsaW1pdHMuaD4gaGVhZGVyIGZpbGUuICov
CisjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQorCisvKiBpZiB5b3VyIGNvbXBpbGVyIHN1cHBvcnRz
IExMICovCisjZGVmaW5lIEhBVkVfTEwgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB0aGUgY29tcGls
ZXIgc3VwcG9ydHMgdGhlICdsb25nIGxvbmcnIGRhdGEgdHlwZS4gKi8KKyNkZWZpbmUgSEFWRV9M
T05HTE9ORyAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBtYWxsb2MuaCBoZWFk
ZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCisKKy8qIERlZmluZSB0byAxIGlm
IHlvdSBoYXZlIHRoZSBtZW1vcnkuaCBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9NRU1P
UllfSCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBNU0dfTk9TSUdOQUwgZmxh
Zy4gKi8KKyNkZWZpbmUgSEFWRV9NU0dfTk9TSUdOQUwgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5
b3UgaGF2ZSB0aGUgPG5ldGRiLmg+IGhlYWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX05FVERC
X0ggMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPG5ldGluZXQvaW4uaD4gaGVh
ZGVyIGZpbGUuICovCisjZGVmaW5lIEhBVkVfTkVUSU5FVF9JTl9IIDEKKworLyogRGVmaW5lIHRv
IDEgaWYgeW91IGhhdmUgdGhlIDxuZXRpbmV0L3RjcC5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZp
bmUgSEFWRV9ORVRJTkVUX1RDUF9IIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhl
IDxuZXQvaWYuaD4gaGVhZGVyIGZpbGUuICovCisjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQorCisv
KiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSBQRl9JTkVUNi4gKi8KKyNkZWZpbmUgSEFWRV9QRl9J
TkVUNiAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSByZWN2IGZ1bmN0aW9uLiAq
LworI2RlZmluZSBIQVZFX1JFQ1YgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUg
cmVjdmZyb20gZnVuY3Rpb24uICovCisjZGVmaW5lIEhBVkVfUkVDVkZST00gMQorCisvKiBEZWZp
bmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgc2VuZCBmdW5jdGlvbi4gKi8KKyNkZWZpbmUgSEFWRV9T
RU5EIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIHNldHNvY2tvcHQgZnVuY3Rp
b24uICovCisjZGVmaW5lIEhBVkVfU0VUU09DS09QVCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlv
dSBoYXZlIGEgd29ya2luZyBzZXRzb2Nrb3B0IFNPX05PTkJMT0NLIGZ1bmN0aW9uLiAqLworLyog
I3VuZGVmIEhBVkVfU0VUU09DS09QVF9TT19OT05CTE9DSyAqLworCisvKiBEZWZpbmUgdG8gMSBp
ZiB5b3UgaGF2ZSB0aGUgPHNpZ25hbC5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9T
SUdOQUxfSCAxCisKKy8qIERlZmluZSB0byAxIGlmIHNpZ19hdG9taWNfdCBpcyBhbiBhdmFpbGFi
bGUgdHlwZWRlZi4gKi8KKyNkZWZpbmUgSEFWRV9TSUdfQVRPTUlDX1QgMQorCisvKiBEZWZpbmUg
dG8gMSBpZiBzaWdfYXRvbWljX3QgaXMgYWxyZWFkeSBkZWZpbmVkIGFzIHZvbGF0aWxlLiAqLwor
LyogI3VuZGVmIEhBVkVfU0lHX0FUT01JQ19UX1ZPTEFUSUxFICovCisKKy8qIERlZmluZSB0byAx
IGlmIHlvdXIgc3RydWN0IHNvY2thZGRyX2luNiBoYXMgc2luNl9zY29wZV9pZC4gKi8KKyNkZWZp
bmUgSEFWRV9TT0NLQUREUl9JTjZfU0lONl9TQ09QRV9JRCAxCisKKy8qIERlZmluZSB0byAxIGlm
IHlvdSBoYXZlIHRoZSBzb2NrZXQgZnVuY3Rpb24uICovCisjZGVmaW5lIEhBVkVfU09DS0VUIDEK
KworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzb2NrZXQuaD4gaGVhZGVyIGZpbGUu
ICovCisvKiAjdW5kZWYgSEFWRV9TT0NLRVRfSCAqLworCisvKiBEZWZpbmUgdG8gMSBpZiB5b3Ug
aGF2ZSB0aGUgPHN0ZGJvb2wuaD4gaGVhZGVyIGZpbGUuICovCisjZGVmaW5lIEhBVkVfU1REQk9P
TF9IIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzdGRpbnQuaD4gaGVhZGVy
IGZpbGUuICovCisjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5
b3UgaGF2ZSB0aGUgPHN0ZGxpYi5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9TVERM
SUJfSCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBzdHJjYXNlY21wIGZ1bmN0
aW9uLiAqLworI2RlZmluZSBIQVZFX1NUUkNBU0VDTVAgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5
b3UgaGF2ZSB0aGUgc3RyY21waSBmdW5jdGlvbi4gKi8KKy8qICN1bmRlZiBIQVZFX1NUUkNNUEkg
Ki8KKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIHN0cmR1cCBmdW5jdGlvbi4gKi8K
KyNkZWZpbmUgSEFWRV9TVFJEVVAgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUg
c3RyaWNtcCBmdW5jdGlvbi4gKi8KKy8qICN1bmRlZiBIQVZFX1NUUklDTVAgKi8KKworLyogRGVm
aW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzdHJpbmdzLmg+IGhlYWRlciBmaWxlLiAqLworI2Rl
ZmluZSBIQVZFX1NUUklOR1NfSCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8
c3RyaW5nLmg+IGhlYWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX1NUUklOR19IIDEKKworLyog
RGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIHN0cm5jYXNlY21wIGZ1bmN0aW9uLiAqLworI2Rl
ZmluZSBIQVZFX1NUUk5DQVNFQ01QIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhl
IHN0cm5jbXBpIGZ1bmN0aW9uLiAqLworLyogI3VuZGVmIEhBVkVfU1RSTkNNUEkgKi8KKworLyog
RGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIHN0cm5pY21wIGZ1bmN0aW9uLiAqLworLyogI3Vu
ZGVmIEhBVkVfU1RSTklDTVAgKi8KKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxz
dHJvcHRzLmg+IGhlYWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX1NUUk9QVFNfSCAxCisKKy8q
IERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHN0cnVjdCBhZGRyaW5mby4gKi8KKyNkZWZpbmUgSEFW
RV9TVFJVQ1RfQUREUklORk8gMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSBzdHJ1Y3Qg
aW42X2FkZHIuICovCisjZGVmaW5lIEhBVkVfU1RSVUNUX0lONl9BRERSIDEKKworLyogRGVmaW5l
IHRvIDEgaWYgeW91IGhhdmUgc3RydWN0IHNvY2thZGRyX2luNi4gKi8KKyNkZWZpbmUgSEFWRV9T
VFJVQ1RfU09DS0FERFJfSU42IDEKKworLyogaWYgc3RydWN0IHNvY2thZGRyX3N0b3JhZ2UgaXMg
ZGVmaW5lZCAqLworI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFIDEKKworLyog
RGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIHRpbWV2YWwgc3RydWN0LiAqLworI2RlZmluZSBI
QVZFX1NUUlVDVF9USU1FVkFMIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxz
eXMvaW9jdGwuaD4gaGVhZGVyIGZpbGUuICovCisjZGVmaW5lIEhBVkVfU1lTX0lPQ1RMX0ggMQor
CisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy9wYXJhbS5oPiBoZWFkZXIgZmls
ZS4gKi8KKyNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlv
dSBoYXZlIHRoZSA8c3lzL3NlbGVjdC5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9T
WVNfU0VMRUNUX0ggMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy9zb2Nr
ZXQuaD4gaGVhZGVyIGZpbGUuICovCisjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKKworLyog
RGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzeXMvc3RhdC5oPiBoZWFkZXIgZmlsZS4gKi8K
KyNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUg
dGhlIDxzeXMvdGltZS5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9TWVNfVElNRV9I
IDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzeXMvdHlwZXMuaD4gaGVhZGVy
IGZpbGUuICovCisjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQorCisvKiBEZWZpbmUgdG8gMSBp
ZiB5b3UgaGF2ZSB0aGUgPHN5cy91aW8uaD4gaGVhZGVyIGZpbGUuICovCisjZGVmaW5lIEhBVkVf
U1lTX1VJT19IIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDx0aW1lLmg+IGhl
YWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX1RJTUVfSCAxCisKKy8qIERlZmluZSB0byAxIGlm
IHlvdSBoYXZlIHRoZSA8dW5pc3RkLmg+IGhlYWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX1VO
SVNURF9IIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIHdpbmRvd3MuaCBoZWFk
ZXIgZmlsZS4gKi8KKy8qICN1bmRlZiBIQVZFX1dJTkRPV1NfSCAqLworCisvKiBEZWZpbmUgdG8g
MSBpZiB5b3UgaGF2ZSB0aGUgd2luc29jazIuaCBoZWFkZXIgZmlsZS4gKi8KKy8qICN1bmRlZiBI
QVZFX1dJTlNPQ0syX0ggKi8KKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIHdpbnNv
Y2suaCBoZWFkZXIgZmlsZS4gKi8KKy8qICN1bmRlZiBIQVZFX1dJTlNPQ0tfSCAqLworCisvKiBE
ZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgd3JpdGV2IGZ1bmN0aW9uLiAqLworI2RlZmluZSBI
QVZFX1dSSVRFViAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSB3czJ0Y3BpcC5o
IGhlYWRlciBmaWxlLiAqLworLyogI3VuZGVmIEhBVkVfV1MyVENQSVBfSCAqLworCisvKiBEZWZp
bmUgaWYgX19zeXN0ZW1fcHJvcGVydHlfZ2V0IGV4aXN0cy4gKi8KKy8qICN1bmRlZiBIQVZFX19f
U1lTVEVNX1BST1BFUlRZX0dFVCAqLworCisvKiBEZWZpbmUgdG8gdGhlIHN1Yi1kaXJlY3Rvcnkg
d2hlcmUgbGlidG9vbCBzdG9yZXMgdW5pbnN0YWxsZWQgbGlicmFyaWVzLiAqLworI2RlZmluZSBM
VF9PQkpESVIgIi5saWJzLyIKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IG5lZWQgdGhlIG1hbGxv
Yy5oIGhlYWRlciBmaWxlIGV2ZW4gd2l0aCBzdGRsaWIuaCAqLworLyogI3VuZGVmIE5FRURfTUFM
TE9DX0ggKi8KKworLyogRGVmaW5lIHRvIDEgaWYgeW91IG5lZWQgdGhlIG1lbW9yeS5oIGhlYWRl
ciBmaWxlIGV2ZW4gd2l0aCBzdGRsaWIuaCAqLworLyogI3VuZGVmIE5FRURfTUVNT1JZX0ggKi8K
KworLyogRGVmaW5lIHRvIDEgaWYgX1JFRU5UUkFOVCBwcmVwcm9jZXNzb3Igc3ltYm9sIG11c3Qg
YmUgZGVmaW5lZC4gKi8KKy8qICN1bmRlZiBORUVEX1JFRU5UUkFOVCAqLworCisvKiBEZWZpbmUg
dG8gMSBpZiBfVEhSRUFEX1NBRkUgcHJlcHJvY2Vzc29yIHN5bWJvbCBtdXN0IGJlIGRlZmluZWQu
ICovCisvKiAjdW5kZWYgTkVFRF9USFJFQURfU0FGRSAqLworCisvKiBjcHUtbWFjaGluZS1PUyAq
LworI2RlZmluZSBPUyAieDg2XzY0LXBjLWxpbnV4LWdudSIKKworLyogTmFtZSBvZiBwYWNrYWdl
ICovCisjZGVmaW5lIFBBQ0tBR0UgImMtYXJlcyIKKworLyogRGVmaW5lIHRvIHRoZSBhZGRyZXNz
IHdoZXJlIGJ1ZyByZXBvcnRzIGZvciB0aGlzIHBhY2thZ2Ugc2hvdWxkIGJlIHNlbnQuICovCisj
ZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJjLWFyZXMgbWFpbGluZyBsaXN0OiBodHRwOi8vY29v
bC5oYXh4LnNlL21haWxtYW4vbGlzdGluZm8vYy1hcmVzIgorCisvKiBEZWZpbmUgdG8gdGhlIGZ1
bGwgbmFtZSBvZiB0aGlzIHBhY2thZ2UuICovCisjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiYy1hcmVz
IgorCisvKiBEZWZpbmUgdG8gdGhlIGZ1bGwgbmFtZSBhbmQgdmVyc2lvbiBvZiB0aGlzIHBhY2th
Z2UuICovCisjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJjLWFyZXMgMS4xNC4wIgorCisvKiBEZWZp
bmUgdG8gdGhlIG9uZSBzeW1ib2wgc2hvcnQgbmFtZSBvZiB0aGlzIHBhY2thZ2UuICovCisjZGVm
aW5lIFBBQ0tBR0VfVEFSTkFNRSAiYy1hcmVzIgorCisvKiBEZWZpbmUgdG8gdGhlIGhvbWUgcGFn
ZSBmb3IgdGhpcyBwYWNrYWdlLiAqLworI2RlZmluZSBQQUNLQUdFX1VSTCAiIgorCisvKiBEZWZp
bmUgdG8gdGhlIHZlcnNpb24gb2YgdGhpcyBwYWNrYWdlLiAqLworI2RlZmluZSBQQUNLQUdFX1ZF
UlNJT04gIjEuMTQuMCIKKworLyogYSBzdWl0YWJsZSBmaWxlL2RldmljZSB0byByZWFkIHJhbmRv
bSBkYXRhIGZyb20gKi8KKyNkZWZpbmUgUkFORE9NX0ZJTEUgIi9kZXYvdXJhbmRvbSIKKworLyog
RGVmaW5lIHRvIHRoZSB0eXBlIHF1YWxpZmllciBwb2ludGVkIGJ5IGFyZyA1IGZvciByZWN2ZnJv
bS4gKi8KKyNkZWZpbmUgUkVDVkZST01fUVVBTF9BUkc1IAorCisvKiBEZWZpbmUgdG8gdGhlIHR5
cGUgb2YgYXJnIDEgZm9yIHJlY3Zmcm9tLiAqLworI2RlZmluZSBSRUNWRlJPTV9UWVBFX0FSRzEg
aW50CisKKy8qIERlZmluZSB0byB0aGUgdHlwZSBwb2ludGVkIGJ5IGFyZyAyIGZvciByZWN2ZnJv
bS4gKi8KKyNkZWZpbmUgUkVDVkZST01fVFlQRV9BUkcyIHZvaWQKKworLyogRGVmaW5lIHRvIDEg
aWYgdGhlIHR5cGUgcG9pbnRlZCBieSBhcmcgMiBmb3IgcmVjdmZyb20gaXMgdm9pZC4gKi8KKyNk
ZWZpbmUgUkVDVkZST01fVFlQRV9BUkcyX0lTX1ZPSUQgMQorCisvKiBEZWZpbmUgdG8gdGhlIHR5
cGUgb2YgYXJnIDMgZm9yIHJlY3Zmcm9tLiAqLworI2RlZmluZSBSRUNWRlJPTV9UWVBFX0FSRzMg
c2l6ZV90CisKKy8qIERlZmluZSB0byB0aGUgdHlwZSBvZiBhcmcgNCBmb3IgcmVjdmZyb20uICov
CisjZGVmaW5lIFJFQ1ZGUk9NX1RZUEVfQVJHNCBpbnQKKworLyogRGVmaW5lIHRvIHRoZSB0eXBl
IHBvaW50ZWQgYnkgYXJnIDUgZm9yIHJlY3Zmcm9tLiAqLworI2RlZmluZSBSRUNWRlJPTV9UWVBF
X0FSRzUgc3RydWN0IHNvY2thZGRyCisKKy8qIERlZmluZSB0byAxIGlmIHRoZSB0eXBlIHBvaW50
ZWQgYnkgYXJnIDUgZm9yIHJlY3Zmcm9tIGlzIHZvaWQuICovCisvKiAjdW5kZWYgUkVDVkZST01f
VFlQRV9BUkc1X0lTX1ZPSUQgKi8KKworLyogRGVmaW5lIHRvIHRoZSB0eXBlIHBvaW50ZWQgYnkg
YXJnIDYgZm9yIHJlY3Zmcm9tLiAqLworI2RlZmluZSBSRUNWRlJPTV9UWVBFX0FSRzYgc29ja2xl
bl90CisKKy8qIERlZmluZSB0byAxIGlmIHRoZSB0eXBlIHBvaW50ZWQgYnkgYXJnIDYgZm9yIHJl
Y3Zmcm9tIGlzIHZvaWQuICovCisvKiAjdW5kZWYgUkVDVkZST01fVFlQRV9BUkc2X0lTX1ZPSUQg
Ki8KKworLyogRGVmaW5lIHRvIHRoZSBmdW5jdGlvbiByZXR1cm4gdHlwZSBmb3IgcmVjdmZyb20u
ICovCisjZGVmaW5lIFJFQ1ZGUk9NX1RZUEVfUkVUViBzc2l6ZV90CisKKy8qIERlZmluZSB0byB0
aGUgdHlwZSBvZiBhcmcgMSBmb3IgcmVjdi4gKi8KKyNkZWZpbmUgUkVDVl9UWVBFX0FSRzEgaW50
CisKKy8qIERlZmluZSB0byB0aGUgdHlwZSBvZiBhcmcgMiBmb3IgcmVjdi4gKi8KKyNkZWZpbmUg
UkVDVl9UWVBFX0FSRzIgdm9pZCAqCisKKy8qIERlZmluZSB0byB0aGUgdHlwZSBvZiBhcmcgMyBm
b3IgcmVjdi4gKi8KKyNkZWZpbmUgUkVDVl9UWVBFX0FSRzMgc2l6ZV90CisKKy8qIERlZmluZSB0
byB0aGUgdHlwZSBvZiBhcmcgNCBmb3IgcmVjdi4gKi8KKyNkZWZpbmUgUkVDVl9UWVBFX0FSRzQg
aW50CisKKy8qIERlZmluZSB0byB0aGUgZnVuY3Rpb24gcmV0dXJuIHR5cGUgZm9yIHJlY3YuICov
CisjZGVmaW5lIFJFQ1ZfVFlQRV9SRVRWIHNzaXplX3QKKworLyogRGVmaW5lIGFzIHRoZSByZXR1
cm4gdHlwZSBvZiBzaWduYWwgaGFuZGxlcnMgKGBpbnQnIG9yIGB2b2lkJykuICovCisjZGVmaW5l
IFJFVFNJR1RZUEUgdm9pZAorCisvKiBEZWZpbmUgdG8gdGhlIHR5cGUgcXVhbGlmaWVyIG9mIGFy
ZyAyIGZvciBzZW5kLiAqLworI2RlZmluZSBTRU5EX1FVQUxfQVJHMiBjb25zdAorCisvKiBEZWZp
bmUgdG8gdGhlIHR5cGUgb2YgYXJnIDEgZm9yIHNlbmQuICovCisjZGVmaW5lIFNFTkRfVFlQRV9B
UkcxIGludAorCisvKiBEZWZpbmUgdG8gdGhlIHR5cGUgb2YgYXJnIDIgZm9yIHNlbmQuICovCisj
ZGVmaW5lIFNFTkRfVFlQRV9BUkcyIHZvaWQgKgorCisvKiBEZWZpbmUgdG8gdGhlIHR5cGUgb2Yg
YXJnIDMgZm9yIHNlbmQuICovCisjZGVmaW5lIFNFTkRfVFlQRV9BUkczIHNpemVfdAorCisvKiBE
ZWZpbmUgdG8gdGhlIHR5cGUgb2YgYXJnIDQgZm9yIHNlbmQuICovCisjZGVmaW5lIFNFTkRfVFlQ
RV9BUkc0IGludAorCisvKiBEZWZpbmUgdG8gdGhlIGZ1bmN0aW9uIHJldHVybiB0eXBlIGZvciBz
ZW5kLiAqLworI2RlZmluZSBTRU5EX1RZUEVfUkVUViBzc2l6ZV90CisKKy8qIERlZmluZSB0byAx
IGlmIHlvdSBoYXZlIHRoZSBBTlNJIEMgaGVhZGVyIGZpbGVzLiAqLworI2RlZmluZSBTVERDX0hF
QURFUlMgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgY2FuIHNhZmVseSBpbmNsdWRlIGJvdGgg
PHN5cy90aW1lLmg+IGFuZCA8dGltZS5oPi4gKi8KKyNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1F
IDEKKworLyogRGVmaW5lIHRvIGRpc2FibGUgbm9uLWJsb2NraW5nIHNvY2tldHMuICovCisvKiAj
dW5kZWYgVVNFX0JMT0NLSU5HX1NPQ0tFVFMgKi8KKworLyogVmVyc2lvbiBudW1iZXIgb2YgcGFj
a2FnZSAqLworI2RlZmluZSBWRVJTSU9OICIxLjE0LjAiCisKKy8qIERlZmluZSB0byBhdm9pZCBh
dXRvbWF0aWMgaW5jbHVzaW9uIG9mIHdpbnNvY2suaCAqLworLyogI3VuZGVmIFdJTjMyX0xFQU5f
QU5EX01FQU4gKi8KKworLyogRGVmaW5lIFdPUkRTX0JJR0VORElBTiB0byAxIGlmIHlvdXIgcHJv
Y2Vzc29yIHN0b3JlcyB3b3JkcyB3aXRoIHRoZSBtb3N0CisgICBzaWduaWZpY2FudCBieXRlIGZp
cnN0IChsaWtlIE1vdG9yb2xhIGFuZCBTUEFSQywgdW5saWtlIEludGVsKS4gKi8KKyNpZiBkZWZp
bmVkIEFDX0FQUExFX1VOSVZFUlNBTF9CVUlMRAorIyBpZiBkZWZpbmVkIF9fQklHX0VORElBTl9f
CisjICBkZWZpbmUgV09SRFNfQklHRU5ESUFOIDEKKyMgZW5kaWYKKyNlbHNlCisjIGlmbmRlZiBX
T1JEU19CSUdFTkRJQU4KKy8qICMgIHVuZGVmIFdPUkRTX0JJR0VORElBTiAqLworIyBlbmRpZgor
I2VuZGlmCisKKy8qIERlZmluZSB0byAxIGlmIE9TIGlzIEFJWC4gKi8KKyNpZm5kZWYgX0FMTF9T
T1VSQ0UKKy8qICMgIHVuZGVmIF9BTExfU09VUkNFICovCisjZW5kaWYKKworLyogRW5hYmxlIGxh
cmdlIGlub2RlIG51bWJlcnMgb24gTWFjIE9TIFggMTAuNS4gICovCisjaWZuZGVmIF9EQVJXSU5f
VVNFXzY0X0JJVF9JTk9ERQorIyBkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKKyNl
bmRpZgorCisvKiBOdW1iZXIgb2YgYml0cyBpbiBhIGZpbGUgb2Zmc2V0LCBvbiBob3N0cyB3aGVy
ZSB0aGlzIGlzIHNldHRhYmxlLiAqLworLyogI3VuZGVmIF9GSUxFX09GRlNFVF9CSVRTICovCisK
Ky8qIERlZmluZSBmb3IgbGFyZ2UgZmlsZXMsIG9uIEFJWC1zdHlsZSBob3N0cy4gKi8KKy8qICN1
bmRlZiBfTEFSR0VfRklMRVMgKi8KKworLyogRGVmaW5lIHRvIGVtcHR5IGlmIGBjb25zdCcgZG9l
cyBub3QgY29uZm9ybSB0byBBTlNJIEMuICovCisvKiAjdW5kZWYgY29uc3QgKi8KKworLyogVHlw
ZSB0byB1c2UgaW4gcGxhY2Ugb2YgaW5fYWRkcl90IHdoZW4gc3lzdGVtIGRvZXMgbm90IHByb3Zp
ZGUgaXQuICovCisvKiAjdW5kZWYgaW5fYWRkcl90ICovCisKKy8qIERlZmluZSB0byBgdW5zaWdu
ZWQgaW50JyBpZiA8c3lzL3R5cGVzLmg+IGRvZXMgbm90IGRlZmluZS4gKi8KKy8qICN1bmRlZiBz
aXplX3QgKi8KLS0gCjIuMjAuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3Rz
LnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0
aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Mon Dec 09 10:50:58 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 09 Dec 2019 10:50:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ieGd0-0003BH-9B; Mon, 09 Dec 2019 10:50:58 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=0jgM=Z7=neclab.eu=felipe.huici@srs-us1.protection.inumbo.net>)
 id 1ieGcz-0003B3-Mu
 for minios-devel@lists.xen.org; Mon, 09 Dec 2019 10:50:57 +0000
X-Inumbo-ID: c3a0ba6f-1a71-11ea-87bc-12813bfff9fa
Received: from queen.nlehd.de (unknown [195.37.154.80])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id c3a0ba6f-1a71-11ea-87bc-12813bfff9fa;
 Mon, 09 Dec 2019 10:50:51 +0000 (UTC)
Received: from localhost (c431.ant-net [192.168.0.36])
 by queen.nlehd.de (Postfix) with ESMTP id 3B6E6421E8;
 Mon,  9 Dec 2019 11:50:51 +0100 (CET)
From: Felipe Huici <felipe.huici@neclab.eu>
To: minios-devel@lists.xen.org
Date: Mon,  9 Dec 2019 11:50:47 +0100
Message-Id: <20191209105048.15057-3-felipe.huici@neclab.eu>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <20191209105048.15057-1-felipe.huici@neclab.eu>
References: <20191209105048.15057-1-felipe.huici@neclab.eu>
MIME-Version: 1.0
Subject: [Minios-devel] [UNIKRAFT/LIBCARES PATCH 2/3] Add c-ares port
 Makefile.uk
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

U2lnbmVkLW9mZi1ieTogRmVsaXBlIEh1aWNpIDxmZWxpcGUuaHVpY2lAbmVjbGFiLmV1PgotLS0K
IE1ha2VmaWxlLnVrIHwgMTI1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCAxMjUgaW5zZXJ0aW9ucygrKQogY3JlYXRl
IG1vZGUgMTAwNjQ0IE1ha2VmaWxlLnVrCgpkaWZmIC0tZ2l0IGEvTWFrZWZpbGUudWsgYi9NYWtl
ZmlsZS51awpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZWUyMzc1Ci0tLSAv
ZGV2L251bGwKKysrIGIvTWFrZWZpbGUudWsKQEAgLTAsMCArMSwxMjUgQEAKKyMgIGxpYmNhcmVz
IE1ha2VmaWxlLnVrCisjCisjICBBdXRob3JzOiBGZWxpcGUgSHVpY2kgPGZlbGlwZS5odWljaUBu
ZWNsYWIuZXU+CisjCisjCisjICBDb3B5cmlnaHQgKGMpIDIwMTksIE5FQyBFdXJvcGUgTHRkLiwg
TkVDIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyAgUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisj
ICBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyMgIGFyZSBtZXQ6CisjCisjICAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAg
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyMgICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisjICAzLiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBjb3B5cmlnaHQgaG9sZGVyIG5vciB0aGUgbmFtZXMgb2Yg
aXRzCisjICAgICBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorIyAgICAgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyMKKyMgIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIgor
IyAgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorIyAgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKyMgIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUiBDT05UUklCVVRP
UlMgQkUKKyMgIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyMgIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisjICBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyMgIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisjICBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorIyAgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUKKyMgIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorIworIyAgVEhJUyBIRUFERVIgTUFZ
IE5PVCBCRSBFWFRSQUNURUQgT1IgTU9ESUZJRUQgSU4gQU5ZIFdBWS4KKyMKKworIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMKKyMgTGlicmFyeSByZWdpc3RyYXRpb24KKyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjCiskKGV2YWwgJChjYWxsIGFkZGxpYl9zLGxpYmNhcmVzLCQoQ09ORklHX0xJQkNBUkVT
KSkpCisKKyNpZmVxICgkKENPTkZJR19MSUJDQVJFUykseSkKKyNpZm5lcSAoJChMV0lQX0lQVjYp
LHkpCisjJChlcnJvciBjYXJlcyByZXF1aXJlcyBsd2lwJ3MgaXB2NiBvcHRpb24gdG8gYmUgZW5h
YmxlZCkKKyNlbmRpZgorI2VuZGlmCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIFNvdXJj
ZXMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCitMSUJDQVJFU19WRVJTSU9OPTEuMTQuMAorTElC
Q0FSRVNfVVJMPWh0dHBzOi8vYy1hcmVzLmhheHguc2UvZG93bmxvYWQvYy1hcmVzLSQoTElCQ0FS
RVNfVkVSU0lPTikudGFyLmd6CitMSUJDQVJFU19ESVI9Yy1hcmVzLSQoTElCQ0FSRVNfVkVSU0lP
TikKKworTElCQ0FSRVNfUEFUQ0hESVI9JChMSUJDQVJFU19CQVNFKS9wYXRjaGVzCiskKGV2YWwg
JChjYWxsIGZldGNoLGxpYmNhcmVzLCQoTElCQ0FSRVNfVVJMKSwkKExJQkNBUkVTX1ZFUlNJT04p
LnRhci5neikpCiskKGV2YWwgJChjYWxsIHBhdGNoLGxpYmNhcmVzLCQoTElCQ0FSRVNfUEFUQ0hE
SVIpLCQoTElCQ0FSRVNfRElSKSkpCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIEhlbHBl
cnMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCitMSUJDQVJFUz0kKExJQkNBUkVTX09SSUdJTikv
JChMSUJDQVJFU19ESVIpCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIExpYnJhcnkgaW5j
bHVkZXMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCitDSU5DTFVERVMtJChDT05GSUdfTElCQ0FS
RVMpICs9IC1JJChMSUJDQVJFU19CQVNFKS9pbmNsdWRlIFwKKyAgCQkJICAgICAgICAtSSQoTElC
Q0FSRVMpCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIEdsb2JhbCBmbGFncworIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMKK0xJQkNBUkVTX0NGTEFHUy15ICs9IC1ESEFWRV9DT05GSUdfSCAt
REhBVkVfTkVUSU5FVF9JTl9ICisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIFNvdXJjZXMK
KyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCitMSUJDQVJFU19TUkNTLXkgKz0gJChMSUJDQVJFUykv
YXJlc19ta3F1ZXJ5LmMKK0xJQkNBUkVTX1NSQ1MteSArPSAkKExJQkNBUkVTKS9hcmVzX25vd2Fy
bi5jCitMSUJDQVJFU19TUkNTLXkgKz0gJChMSUJDQVJFUykvYXJlc19hbmRyb2lkLmMKK0xJQkNB
UkVTX1NSQ1MteSArPSAkKExJQkNBUkVTKS9hcmVzX3RpbWVvdXQuYworTElCQ0FSRVNfU1JDUy15
ICs9ICQoTElCQ0FSRVMpL2FyZXNfcGFyc2VfbnNfcmVwbHkuYworTElCQ0FSRVNfU1JDUy15ICs9
ICQoTElCQ0FSRVMpL2FyZXNfZ2V0bmFtZWluZm8uYworTElCQ0FSRVNfU1JDUy15ICs9ICQoTElC
Q0FSRVMpL2FyZXNfZmRzLmMKK0xJQkNBUkVTX1NSQ1MteSArPSAkKExJQkNBUkVTKS9hcmVzX3Bh
cnNlX214X3JlcGx5LmMKK0xJQkNBUkVTX1NSQ1MteSArPSAkKExJQkNBUkVTKS9hcmVzX2ZyZWVf
c3RyaW5nLmMKK0xJQkNBUkVTX1NSQ1MteSArPSAkKExJQkNBUkVTKS9hcmVzX3BhcnNlX3B0cl9y
ZXBseS5jCitMSUJDQVJFU19TUkNTLXkgKz0gJChMSUJDQVJFUykvYXJlc19sbGlzdC5jCitMSUJD
QVJFU19TUkNTLXkgKz0gJChMSUJDQVJFUykvYXJlc19fY2xvc2Vfc29ja2V0cy5jCitMSUJDQVJF
U19TUkNTLXkgKz0gJChMSUJDQVJFUykvYXJlc19leHBhbmRfc3RyaW5nLmMKK0xJQkNBUkVTX1NS
Q1MteSArPSAkKExJQkNBUkVTKS9hcmVzX3N0cmR1cC5jCitMSUJDQVJFU19TUkNTLXkgKz0gJChM
SUJDQVJFUykvYXJlc19zZWFyY2guYworTElCQ0FSRVNfU1JDUy15ICs9ICQoTElCQ0FSRVMpL2Fy
ZXNfc2VuZC5jCitMSUJDQVJFU19TUkNTLXkgKz0gJChMSUJDQVJFUykvYXJlc19fdGltZXZhbC5j
CitMSUJDQVJFU19TUkNTLXkgKz0gJChMSUJDQVJFUykvYXJlc19nZXRlbnYuYworTElCQ0FSRVNf
U1JDUy15ICs9ICQoTElCQ0FSRVMpL2FyZXNfd3JpdGV2LmMKK0xJQkNBUkVTX1NSQ1MteSArPSAk
KExJQkNBUkVTKS9hcmVzX3ZlcnNpb24uYworTElCQ0FSRVNfU1JDUy15ICs9ICQoTElCQ0FSRVMp
L2JpdG5jbXAuYworTElCQ0FSRVNfU1JDUy15ICs9ICQoTElCQ0FSRVMpL2FyZXNfZ2V0b3B0LmMK
K0xJQkNBUkVTX1NSQ1MteSArPSAkKExJQkNBUkVTKS9pbmV0X250b3AuYworTElCQ0FSRVNfU1JD
Uy15ICs9ICQoTElCQ0FSRVMpL2FyZXNfX3JlYWRfbGluZS5jCitMSUJDQVJFU19TUkNTLXkgKz0g
JChMSUJDQVJFUykvYXJlc19wYXJzZV9zcnZfcmVwbHkuYworTElCQ0FSRVNfU1JDUy15ICs9ICQo
TElCQ0FSRVMpL2FyZXNfc3RyZXJyb3IuYworTElCQ0FSRVNfU1JDUy15ICs9ICQoTElCQ0FSRVMp
L2FyZXNfZGF0YS5jCitMSUJDQVJFU19TUkNTLXkgKz0gJChMSUJDQVJFUykvYXJlc19jcmVhdGVf
cXVlcnkuYworTElCQ0FSRVNfU1JDUy15ICs9ICQoTElCQ0FSRVMpL2FyZXNfZ2V0c29jay5jCitM
SUJDQVJFU19TUkNTLXkgKz0gJChMSUJDQVJFUykvYXJlc19nZXRob3N0YnlhZGRyLmMKK0xJQkNB
UkVTX1NSQ1MteSArPSAkKExJQkNBUkVTKS9hcmVzX3BhcnNlX25hcHRyX3JlcGx5LmMKK0xJQkNB
UkVTX1NSQ1MteSArPSAkKExJQkNBUkVTKS9hcmVzX3Byb2Nlc3MuYworTElCQ0FSRVNfU1JDUy15
ICs9ICQoTElCQ0FSRVMpL2luZXRfbmV0X3B0b24uYworTElCQ0FSRVNfU1JDUy15ICs9ICQoTElC
Q0FSRVMpL2FyZXNfc3RyY2FzZWNtcC5jCitMSUJDQVJFU19TUkNTLXkgKz0gJChMSUJDQVJFUykv
YXJlc19mcmVlX2hvc3RlbnQuYworTElCQ0FSRVNfU1JDUy15ICs9ICQoTElCQ0FSRVMpL2FyZXNf
Y2FuY2VsLmMKK0xJQkNBUkVTX1NSQ1MteSArPSAkKExJQkNBUkVTKS9hcmVzX3F1ZXJ5LmMKK0xJ
QkNBUkVTX1NSQ1MteSArPSAkKExJQkNBUkVTKS9hcmVzX19nZXRfaG9zdGVudC5jCitMSUJDQVJF
U19TUkNTLXkgKz0gJChMSUJDQVJFUykvYXJlc19vcHRpb25zLmMKK0xJQkNBUkVTX1NSQ1MteSAr
PSAkKExJQkNBUkVTKS9hcmVzX3BhcnNlX3NvYV9yZXBseS5jCitMSUJDQVJFU19TUkNTLXkgKz0g
JChMSUJDQVJFUykvYXJlc19wYXJzZV9hX3JlcGx5LmMKK0xJQkNBUkVTX1NSQ1MteSArPSAkKExJ
QkNBUkVTKS9hcmVzX2Rlc3Ryb3kuYworTElCQ0FSRVNfU1JDUy15ICs9ICQoTElCQ0FSRVMpL2Fy
ZXNfaW5pdC5jCitMSUJDQVJFU19TUkNTLXkgKz0gJChMSUJDQVJFUykvYXJlc19wYXJzZV90eHRf
cmVwbHkuYworTElCQ0FSRVNfU1JDUy15ICs9ICQoTElCQ0FSRVMpL2FyZXNfZXhwYW5kX25hbWUu
YworTElCQ0FSRVNfU1JDUy15ICs9ICQoTElCQ0FSRVMpL2FyZXNfcGFyc2VfYWFhYV9yZXBseS5j
CitMSUJDQVJFU19TUkNTLXkgKz0gJChMSUJDQVJFUykvYXJlc19wbGF0Zm9ybS5jCitMSUJDQVJF
U19TUkNTLXkgKz0gJChMSUJDQVJFUykvYXJlc19nZXRob3N0YnluYW1lLmMKK0xJQkNBUkVTX1NS
Q1MteSArPSAkKExJQkNBUkVTKS9hcmVzX2xpYnJhcnlfaW5pdC5jCi0tIAoyLjIwLjEKCgpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwg
bWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xp
c3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Mon Dec 09 11:02:19 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 09 Dec 2019 11:02:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ieGny-0004UH-ML; Mon, 09 Dec 2019 11:02:18 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=qiqY=Z7=citrix.com=lars.kurth@srs-us1.protection.inumbo.net>)
 id 1ieGnx-0004U7-35
 for minios-devel@lists.xenproject.org; Mon, 09 Dec 2019 11:02:17 +0000
X-Inumbo-ID: 57737bea-1a73-11ea-b6f1-bc764e2007e4
Received: from esa5.hc3370-68.iphmx.com (unknown [216.71.155.168])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 57737bea-1a73-11ea-b6f1-bc764e2007e4;
 Mon, 09 Dec 2019 11:02:08 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
 d=citrix.com; s=securemail; t=1575889328;
 h=from:to:cc:subject:date:message-id:references:
 in-reply-to:content-id:content-transfer-encoding: mime-version;
 bh=4Pm/cEd3k0fmDQ3uIk1PfK8dvmti/m94G5JXLrYkNLI=;
 b=Zg25WXwrG98V/LBKJdgdpvljbfWq2eQ1kxN+0uOnA2EmiUpxEnqplIny
 ub33cyICOHBS0UpxKp8M/uoIEWuIq3vB9dxJy9pkx+RrAV7nW//luAFen
 J/DQFHJHgudYe33pxc7b0WonrwtMOh9JZq/kNTEOEwBOSIqQBsqXCtA+G k=;
Authentication-Results: esa5.hc3370-68.iphmx.com;
 dkim=none (message not signed) header.i=none;
 spf=None smtp.pra=lars.kurth@citrix.com;
 spf=Pass smtp.mailfrom=lars.kurth@citrix.com;
 spf=None smtp.helo=postmaster@mail.citrix.com
Received-SPF: None (esa5.hc3370-68.iphmx.com: no sender
 authenticity information available from domain of
 lars.kurth@citrix.com) identity=pra;
 client-ip=162.221.158.21; receiver=esa5.hc3370-68.iphmx.com;
 envelope-from="lars.kurth@citrix.com";
 x-sender="lars.kurth@citrix.com"; x-conformance=sidf_compatible
Received-SPF: Pass (esa5.hc3370-68.iphmx.com: domain of
 lars.kurth@citrix.com designates 162.221.158.21 as permitted
 sender) identity=mailfrom; client-ip=162.221.158.21;
 receiver=esa5.hc3370-68.iphmx.com;
 envelope-from="lars.kurth@citrix.com";
 x-sender="lars.kurth@citrix.com";
 x-conformance=sidf_compatible; x-record-type="v=spf1";
 x-record-text="v=spf1 ip4:209.167.231.154 ip4:178.63.86.133
 ip4:195.66.111.40/30 ip4:85.115.9.32/28 ip4:199.102.83.4
 ip4:192.28.146.160 ip4:192.28.146.107 ip4:216.52.6.88
 ip4:216.52.6.188 ip4:162.221.158.21 ip4:162.221.156.83
 ip4:168.245.78.127 ~all"
Received-SPF: None (esa5.hc3370-68.iphmx.com: no sender
 authenticity information available from domain of
 postmaster@mail.citrix.com) identity=helo;
 client-ip=162.221.158.21; receiver=esa5.hc3370-68.iphmx.com;
 envelope-from="lars.kurth@citrix.com";
 x-sender="postmaster@mail.citrix.com";
 x-conformance=sidf_compatible
IronPort-SDR: NAp/a+kKQIblM80sm1zGZjlBdfLKQW3V0Es7rjBymda5pvpUSCggCEFfNJsHWizVMKsp8bwUhD
 Ua/oGca4SVq7GPaLQvIhmjT1rsyjF7pPWjEVP7bVMRDmTvkQoheNM8d9RMWr3utE3AsT4qhDBG
 CjElYcOIT39JtyShhwi8v++4AI/IMKZxM0F3s20kZOmQ5LoqTqpWIQM1i2t1yt05ymVVdmz13Z
 m59v8DhPLVpMbjsg3jGq5mEJQAodAcADjH7zm24GE4Dq8ipzfdCZD+Ks7wgT3XX8m3VameSdx4
 nWE=
X-SBRS: 2.7
X-MesageID: 9740373
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
X-IronPort-AV: E=Sophos;i="5.69,294,1571716800"; 
   d="scan'208";a="9740373"
From: Lars Kurth <lars.kurth@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Thread-Topic: [PATCH v2 4/6] Add Code Review Guide
Thread-Index: AQHVrBq0EW+2omlgTEey9HkZgmoHbaexlzOA
Date: Mon, 9 Dec 2019 11:02:03 +0000
Message-ID: <001E0CF6-AD75-4A97-948D-C8240F9D5145@citrix.com>
References: <BE78F496-8B9C-490F-A500-204E3305C950@citrix.com>
 <6DC58DC2-5F2F-4496-A0F5-A91F11FD931B@gmail.com>
 <FDC64A08-D894-44CB-9244-9752D0FD17CD@citrix.com>
 <97079765-88F1-4F0C-95B1-B729B4AA93AA@citrix.com>
 <da6ab25f-6996-703e-66d1-11757136da11@suse.com>
In-Reply-To: <da6ab25f-6996-703e-66d1-11757136da11@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: Microsoft-MacOutlook/10.10.10.191111
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
Content-ID: <F2E7AD9B6EAD9947A815FF2A364219AC@citrix.com>
MIME-Version: 1.0
Subject: Re: [Minios-devel] [PATCH v2 4/6] Add Code Review Guide
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Lars Kurth <lars.kurth@xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 "xen-api@lists.xenproject.org" <xen-api@lists.xenproject.org>,
 "minios-devel@lists.xenproject.org" <minios-devel@lists.xenproject.org>,
 Rich Persaud <persaur@gmail.com>,
 "committers@xenproject.org" <committers@xenproject.org>,
 "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "win-pv-devel@lists.xenproject.org" <win-pv-devel@lists.xenproject.org>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

DQoNCu+7v09uIDA2LzEyLzIwMTksIDA5OjUxLCAiSmFuIEJldWxpY2giIDxqYmV1bGljaEBzdXNl
LmNvbT4gd3JvdGU6DQoNCiAgICBPbiAwNi4xMi4yMDE5IDAwOjQxLCBMYXJzIEt1cnRoIHdyb3Rl
Og0KICAgID4gSSBwcm9wb3NlIHRvIGFkZCB0aGUgZm9sbG93aW5nIHNlY3Rpb24gdG8gY29kZS1y
ZXZpZXctZ3VpZGUubWQNCiAgICA+IA0KICAgID4gLS0tLQ0KICAgID4gIyMgPGEgbmFtZT0icHJv
YmxlbXMiPjwvYT5Qcm9ibGVtYXRpYyBQYXRjaCBSZXZpZXdzDQogICAgPiANCiAgICA+IEEgdHlw
aWNhbCB3YXRlcmZhbGwgc29mdHdhcmUgZGV2ZWxvcG1lbnQgcHJvY2VzcyBpcyBzZXF1ZW50aWFs
IHdpdGggdGhlIGZvbGxvd2luZyANCiAgICA+IHN0ZXBzOiBkZWZpbmUgcmVxdWlyZW1lbnRzLCBh
bmFseXNlLCBkZXNpZ24sIGNvZGUsIHRlc3QgYW5kIGRlcGxveS4gUHJvYmxlbXMgDQogICAgPiB1
bmNvdmVyZWQgYnkgY29kZSByZXZpZXcgb3IgdGVzdGluZyBhdCBzdWNoIGEgbGF0ZSBzdGFnZSBj
YW4gY2F1c2UgY29zdGx5IHJlZGVzaWduIA0KICAgID4gYW5kIGRlbGF5cy4gVGhlIHByaW5jaXBs
ZSBvZiAqKltTaGlmdCBMZWZ0XShodHRwczovL2Rldm9wZWRpYS5vcmcvc2hpZnQtbGVmdCkqKiBp
cyB0byB0YWtlIGEgDQogICAgPiB0YXNrIHRoYXQgaXMgdHJhZGl0aW9uYWxseSBwZXJmb3JtZWQg
YXQgYSBsYXRlIHN0YWdlIGluIHRoZSBwcm9jZXNzIGFuZCBwZXJmb3JtIHRoYXQgdGFzayANCiAg
ICA+IGF0IGVhcmxpZXIgc3RhZ2VzLiBUaGUgZ29hbCBpcyB0byBzYXZlIHRpbWUgYnkgYXZvaWRp
bmcgcmVmYWN0b3JpbmcuDQogICAgPiANCiAgICA+IFR5cGljYWxseSwgcHJvYmxlbWF0aWMgcGF0
Y2ggcmV2aWV3cyB1bmNvdmVyIGlzc3VlcyBzdWNoIGFzIHdyb25nIG9yIG1pc3NlZCANCiAgICA+
IGFzc3VtcHRpb25zLCBhIHByb2JsZW1hdGljIGFyY2hpdGVjdHVyZSBvciBkZXNpZ24sIG9yIG90
aGVyIGJ1Z3MgdGhhdCByZXF1aXJlIA0KICAgID4gc2lnbmlmaWNhbnQgcmUtaW1wbGVtZW50YXRp
b24gb2YgYSBwYXRjaCBzZXJpZXMgdG8gZml4IHRoZSBpc3N1ZS4NCiAgICA+IA0KICAgID4gVGhl
IHByaW5jaXBsZSBvZiAqKlNoaWZ0IExlZnQqKiBhbHNvIGFwcGxpZXMgaW4gY29kZSByZXZpZXdz
LiBMZXQncyBhc3N1bWUgYSBzZXJpZXMgaGFzDQogICAgPiBhIG1ham9yIGZsYXc6IGlkZWFsbHks
IHRoaXMgZmxhdyB3b3VsZCBiZSBwaWNrZWQgdXAgaW4gdGhlICoqZmlyc3Qgb3Igc2Vjb25kIGl0
ZXJhdGlvbioqIG9mIA0KICAgID4gdGhlIGNvZGUgcmV2aWV3LiBBcyBzaWduaWZpY2FudCBwYXJ0
cyBvZiB0aGUgY29kZSBtYXkgaGF2ZSB0byBiZSByZS13cml0dGVuLCBpdCBkb2VzIG5vdCANCiAg
ICA+IG1ha2Ugc2Vuc2UgZm9yIHJldmlld2VycyB0byBoaWdobGlnaHQgbWlub3IgaXNzdWVzIChz
dWNoIGFzIHN0eWxlIGlzc3VlcykgdW50aWwgbWFqb3IgDQogICAgPiBmbGF3cyBoYXZlIGJlZW4g
YWRkcmVzc2VkLiBCeSBwcm92aWRpbmcgZmVlZGJhY2sgb24gbWlub3IgaXNzdWVzIHJldmlld2Vy
cyBjYXVzZSANCiAgICA+IHRoZSBjb2RlIGF1dGhvciBhbmQgdGhlbXNlbHZlcyBleHRyYSB3b3Jr
IGJ5IGFza2luZyBmb3IgY2hhbmdlcyB0byBjb2RlLCB3aGljaCANCiAgICA+IHVsdGltYXRlbHkg
bWF5IGJlIGNoYW5nZWQgbGF0ZXIuDQogICAgPiANCiAgICA+IFRoZSBxdWVzdGlvbiB0aGVuIGJl
Y29tZXMsIGhvdyBkbyBjb2RlIHJldmlld2VycyBpZGVudGlmeSBtYWpvciBpc3N1ZXMgZWFybHk/
IA0KICAgID4gLS0tLQ0KICAgID4gVGhpcyBpcyB3aGVyZSBJIHJlYWxseSBuZWVkIGhlbHAuIEFy
ZSB0aGVyZSBhbnkgdGlwcyBhbmQgcmVjb21tZW5kYXRpb25zIHRoYXQgd2UgY291bGQgZ2l2ZT8N
CiAgICA+IEkgY2FuIGNsZWFybHkgaGlnaGxpZ2h0IHRoYXQgd2UgaGF2ZSBSRkMgc2VyaWVzLCBi
dXQgaW4gcHJhY3RpY2UgdGhhdCBkb2VzIG5vdCBzb2x2ZSB0aGUgcHJvYmxlbSBhcyBSRkNzIGRv
buKAmXQgZ2V0IHByaW9yaXRpemVkDQogICAgPiBIb3cgZG8gcmV2aWV3ZXJzIG5vcm1hbGx5IGFw
cHJvYWNoIGEgc2VyaWVzOiBkbyB5b3UgYSkgdGFrZSBhIGJpZyBwaWN0dXJlIHZpZXcgZmlyc3Qs
IG9yIGIpIGRvIG1vc3Qgb2YgeW91IHdvcmsgdGhyb3VnaCBhIHNlcmllcyBzZXF1ZW50aWFsbHkN
CiAgICANCiAgICBBZmFpYyAtIGRlcGVuZHMgaGVhdmlseSBvbiB0aGUgcGF0Y2ggLyBzZXJpZXMu
IEkgd291bGRuJ3QgdHlwaWNhbGx5DQogICAgcGVlayBhaGVhZCBpbiBhIHNlcmllcywgYnV0IGl0
IGhhcyBoYXBwZW5lZC4gQnV0IGFzIHlvdSBzYXkNCiAgICAoZWxzZXdoZXJlKSB0aGUgY292ZXIg
bGV0dGVyIHNob3VsZCBwdXQgaW4gcGxhY2UgdGhlICJiaWcgcGljdHVyZSIuDQogICAgQSBzZXJp
ZXMgc2hvdWxkIGdlbmVyYWxseSBiZSByZXZpZXdhYmxlIGdvaW5nIGZyb20gcGF0Y2ggdG8gcGF0
Y2gsDQogICAgaGF2aW5nIHRoZSBjb3ZlciBsZXR0ZXIgaW4gbWluZC4NCg0KSSBhbSB3b25kZXJp
bmcgd2hhdCBvdGhlcnMgZG8uIA0KDQpJIHRoaW5rIGV4cGxhaW5pbmcgdGhlIGJhc2ljIHdvcmst
ZmxvdyBmcm9tIHRoZSB2aWV3cG9pbnQgb2YgYSByZXZpZXdlciBhbmQgY29kZSBhdXRob3IgbWF5
YmUgaW4gYSBzZXBhcmF0ZSBzZWN0aW9uLCB3aGljaCBpcyBub3QgdGllZCB0byB0aGUgcHJvYmxl
bSBjYXNlIHdvdWxkIG1ha2Ugc2Vuc2UuIE1vcmUgaW5wdXQgZnJvbSBvdGhlciBtYWludGFpbmVy
cyB3b3VsZCBiZSB2YWx1YWJsZS4gTXkgZ3V0LWZlZWwgaXMgdGhhdCBtb3N0IHJldmlld2VycyAi
cmVhZCBhbmQgcmV2aWV3IiBzZXJpZXMgc2VxdWVudGlhbGx5LCB3aGljaCBoYXMgaW1wbGljYXRp
b25zIGZvciB0aGUgYXV0aG9yLiBFLmcuDQotIGRvY3MvZGVzaWduIGRvY3Mgc2hvdWxkIGJlIGF0
IHRoZSBiZWdpbm5pbmcgb2YgYSBzZXJpZXMNCi0ga2V5IGhlYWRlciBmaWxlcyBvciBjaGFuZ2Vz
IHRvIHRoZW0gc2hvdWxkIGJlIGF0IHRoZSBiZWdpbm5pbmcgb2YgYSBzZXJpZXMNCi0gRXRjDQog
ICANCiAgICA+IEkgdGhlbiBwcm9wb3NlIHRvIGNoYW5nZSB0aGUgZm9sbG93aW5nIHNlY3Rpb24g
aW4gY29tbXVuaWNhdGlvbi1wcmFjdGljZS5tZA0KICAgID4gLS0tLQ0KICAgID4gIyMjIFByaW9y
aXRpemUgc2lnbmlmaWNhbnQgZmxhd3MNCiAgICA+IElmIGEgcGF0Y2ggb3IgcGF0Y2ggc2VyaWVz
IGhhcyBzaWduaWZpY2FudCBmbGF3cywgc3VjaCBhcw0KICAgID4gKiBJdCBpcyBidWlsdCBvbiB3
cm9uZyBhc3N1bXB0aW9ucw0KICAgID4gKiBUaGVyZSBhcmUgaXNzdWVzIHdpdGggdGhlIGFyY2hp
dGVjdHVyZSBvciB0aGUgZGVzaWduDQogICAgDQogICAgSW4gc3VjaCBhIGNhc2UgYSBmdWxsIHJl
dmlldyBvZiBjb3Vyc2UgZG9lc24ndCBtYWtlIG11Y2ggc2Vuc2UuIEJ1dA0KICAgIHRoaXMgaXMg
ZmFyIGZyb20gdGhlIHR5cGljYWwgc2l0dWF0aW9uLiBXYXkgbW9yZSBvZnRlbiB5b3UgaGF2ZSBz
b21lDQogICAgX3BhcnRfIG9mIGEgcGF0Y2ggb3Igc2VyaWVzIHdoaWNoIGhhcyBhIGJpZ2dlciBp
c3N1ZSwgYnV0IG90aGVyDQogICAgcGFydHMgYXJlIGluIG5lZWQgb2Ygbm8gb3IganVzdCBtaW5v
ciBjaGFuZ2VzLg0KDQpJIGtub3cgdGhhdCB0aGlzIGlzIGFuIHVudXN1YWwgc2l0dWF0aW9uLiBC
dXQgaXQgaGFzIGhhcHBlbmVkIGluIGNsdXN0ZXJzIGZyZXF1ZW50bHkgaW4gdGhlIHBhc3QuDQoN
CkkgYW0gd29uZGVyaW5nIHdoZXRoZXIgd2Ugc2hvdWxkIGludHJvZHVjZSBzb21lIGluZm9ybWFs
IGNvbnZlbnRpb24gdG8gbWFyayBfcGFydF8gb2YgYSBzZXJpZXMgYXMgcHJvYmxlbWF0aWMuIEEg
c2ltcGxlIGV4YW1wbGUgb2YgaG93IHRvIGRvIHRoaXMgaW4gdGhlIGNvdmVyIGxldHRlciB3b3Vs
ZCBkbw0KICAgIA0KICAgID4gaXQgZG9lcyBub3QgbWFrZSBzZW5zZSB0byBkbyBhIGRldGFpbGVk
IGNvZGUgcmV2aWV3LiBJbiBzdWNoIGNhc2VzLCBpdCBpcyBiZXN0IHRvDQogICAgPiBmb2N1cyBv
biB0aGUgbWFqb3IgaXNzdWVzIGZpcnN0IGFuZCBkZWFsIHdpdGggc3R5bGUgYW5kIG1pbm9yIGlz
c3VlcyBpbiBhIHN1YnNlcXVlbnQNCiAgICA+IHJldmlldy4gTm90IGFsbCBzZXJpZXMgaGF2ZSBz
aWduaWZpY2FudCBmbGF3cywgYnV0IG1vc3Qgc2VyaWVzIGhhdmUgZGlmZmVyZW50IGNsYXNzZXMg
b2YgDQogICAgPiBjaGFuZ2VzIHRoYXQgYXJlIHJlcXVpcmVkIGZvciBhY2NlcHRhbmNlOiBjb3Zl
cmluZyBhIHJhbmdlIG9mIG1ham9yIGNvZGUgDQogICAgPiBtb2RpZmljYXRpb25zIHRvIG1pbm9y
IGNvZGUgc3R5bGUgZml4ZXMuIFRvIGF2b2lkIG1pc3VuZGVyc3RhbmRpbmdzIGJldHdlZW4gDQog
ICAgPiByZXZpZXdlcnMgYW5kIGNvbnRyaWJ1dG9ycywgaXQgaXMgaW1wb3J0YW50IHRvIGVzdGFi
bGlzaCBhbmQgYWdyZWUgd2hldGhlciBhIHNlcmllcyBvciANCiAgICA+IHBhcnQgb2YgYSBzZXJp
ZXMgaGFzIGEgc2lnbmlmaWNhbnQgZmxhdyBhbmQgYWdyZWUgYSBjb3Vyc2Ugb2YgYWN0aW9uLiAN
CiAgICA+IA0KICAgID4gQSBwcmFnbWF0aWMgYXBwcm9hY2ggd291bGQgYmUgdG8NCiAgICA+ICog
SGlnaGxpZ2h0IHByb2JsZW1hdGljIHBvcnRpb25zIG9mIGEgc2VyaWVzIGluIHRoZSBjb3ZlciBs
ZXR0ZXIgDQogICAgPiAqIEZvciB0aGUgcGF0Y2ggYXV0aG9yIGFuZCByZXZpZXdlcihzKSB0byBh
Z3JlZSB0aGF0IGZvciBwcm9ibGVtYXRpYyB0byBvbWl0IHN0eWxlIGFuZA0KICAgID4gbWlub3Ig
aXNzdWVzIGluIHRoZSByZXZpZXcsIHVudGlsIHRoZSBzaWduaWZpY2FudCBmbGF3IGlzIGFkZHJl
c3NlZA0KICAgID4gDQogICAgPiBUaGlzIHNhdmVzIGJvdGggdGhlIHBhdGNoIGF1dGhvciBhbmQg
cmV2aWV3ZXIocykgdGltZS4gTm90ZSB0aGF0IHNvbWUgYmFja2dyb3VuZA0KICAgID4gaXMgY292
ZXJlZCBpbiBkZXRhaWwgaW4gW1Byb2JsZW1hdGljIFBhdGNoIFJldmlld3NdKHJlc29sdmluZy1k
aXNhZ3JlZW1lbnQubWQjcHJvYmxlbXMpLg0KICAgIA0KICAgIEkgaGF2ZSBubyBpc3N1ZXMgd2l0
aCB0aGUgc3VnZ2VzdGVkIHRleHQgaW4gZ2VuZXJhbCwgYnV0IEkgYWxzbyBkb24ndA0KICAgIHRo
aW5rIGl0IG1ha2VzIG11Y2ggb2YgYSBkaWZmZXJlbmNlIHdydCB3aGF0IEkgaGFkIG1lbnRpb25l
ZCBiZWZvcmUuDQogICAgSSBndWVzcyBwYXJ0IG9mIHRoZSBwcm9ibGVtIGhlcmUgaXMgdGhhdCB0
aGVyZSBhcmUgdGhpbmdzIHdoaWNoIGltbw0KICAgIHlvdSBjYW4ndCByZWFsbHkgZ2l2ZSByZWNp
cGVzIGZvciBob3cgdG8gYXBwcm9hY2gsIGlmIHRoZSBleHBlY3RhdGlvbg0KICAgIGlzIHRoYXQg
aXQgd291bGQgZml0IGF0IGxlYXN0IHRoZSB2YXN0IG1ham9yaXR5IG9mIGNhc2VzLiANCg0KSSB0
aGluayB0aGUgZG9jdW1lbnQgY292ZXJzIG1vc3Qgb2YgdGhlIGNvbW1vbiBjYXNlcywgcGx1cyBz
b21lIGFyZWFzIHdoaWNoIGFyZSBwcm9ibGVtYXRpYw0KKiBGcm9tIGEgcGVvcGxlLWludGVyYWN0
aW9uIHBvaW50LW9mLXZpZXcgLSBpbiBvdGhlciB3b3JkcyB0aGVyZSBjb3VsZCBiZSB1bm5lY2Vz
c2FyeSBjb25mbGljdCwgd2hpY2ggaXMgYmFkIGZvciB0aGUgY29tbXVuaXR5IGJ1dCBhbHNvIHdh
c3RlcyB0aW1lDQoqIEZyb20gYW4gZWZmaWNpZW50IHVzYWdlIG9mIHRpbWUgcG9pbnQtb2Ytdmll
dw0KDQpGb3IgZXhhbXBsZTogdGhlIHdob2xlIHRoaW5nIGFib3V0IHRoYW5raW5nLCBhcHByZWNp
YXRpb24sIC4uLiBpcyBzb21ldGhpbmcgdGFyZ2V0ZWQgYXQgbmV3Y29tZXJzIGFuZCBhIGRlc2ly
ZSB0byB0cmVhdCB0aGVtIHdpdGggbW9yZSB0aG91Z2h0IGFuZCBhd2FyZW5lc3MuIA0KR3JhbnRl
ZCBpdCB0YWtlcyBtb3JlIHRpbWUgdG8gZG8gYSByZXZpZXcgd2l0aCBhIG5ld2NvbWVyLCBidXQg
aXQgc2hvdWxkIG1ha2Ugc3Vic2VxdWVudCByZXZpZXdzIGVhc2llciANCg0KSXQgaGFwcGVucyBy
ZWd1bGFybHksIGJ1dCBub3QgdGhhdCBmcmVxdWVudGx5DQogIA0KICAgIEZvciBjb2RlDQogICAg
cmV2aWV3cyB0aGlzIG1lYW5zIHRoYXQgSSBkb24ndCB0aGluayB0aGVyZSBzaG91bGQgYmUgYW55
IHdvcmRpbmcNCiAgICBzdWdnZXN0aW5nIHRoZXkgc2hvdWxkIGJlIGRvbmUgaW4gYSBjZXJ0YWlu
IGZvcm07IHRoZXJlIG1heSBiZSB3b3JkaW5nDQogICAgc3VnZ2VzdGluZyB0aGV5IF9jb3VsZF8g
YmUgZG9uZSBpbiBhIGNlcnRhaW4gZm9ybSAoZS5nLiB0byBoZWxwDQogICAgcGVvcGxlIG5vdCBr
bm93aW5nIGF0IGFsbCBob3cgdG8gZ2V0IHN0YXJ0ZWQpLg0KDQpUaGF0IHdhcyBkZWZpbml0ZWx5
IG15IGludGVudGlvbi4gTWF5YmUgSSBoYXZlIG5vdCBzdWNjZWVkZWQgaW4gbWFraW5nIHRoaXMg
Y2xlYXIgZW5vdWdoDQoNClJlZ2FyZHMNCkxhcnMNCg0KICAgIA0KDQpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0
Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2pl
Y3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Mon Dec 09 13:36:38 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 09 Dec 2019 13:36:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ieJDI-0002xq-Ne; Mon, 09 Dec 2019 13:36:36 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=nF+J=Z7=sauron.run.montefiore.ulg.ac.be=gain@srs-us1.protection.inumbo.net>)
 id 1ieJDH-0002xl-LR
 for minios-devel@lists.xenproject.org; Mon, 09 Dec 2019 13:36:36 +0000
X-Inumbo-ID: e8ae0714-1a88-11ea-a1e1-bc764e2007e4
Received: from serv108.segi.ulg.ac.be (unknown [139.165.32.111])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id e8ae0714-1a88-11ea-a1e1-bc764e2007e4;
 Mon, 09 Dec 2019 13:36:31 +0000 (UTC)
Received: from sauron.run.montefiore.ulg.ac.be
 (sauron.run.montefiore.ulg.ac.be [139.165.223.31])
 by serv108.segi.ulg.ac.be (Postfix) with ESMTP id 75B23200E7B9;
 Mon,  9 Dec 2019 14:36:30 +0100 (CET)
DKIM-Filter: OpenDKIM Filter v2.11.0 serv108.segi.ulg.ac.be 75B23200E7B9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=uliege.be;
 s=ulg20190529; t=1575898590;
 bh=o611CuYC03TV01/9YTg8O1QGFXW3zpRmq3xSu8Cor7E=;
 h=From:To:Cc:Subject:Date:From;
 b=qG+W1Ol/5WyXtNsLimZVyIcrwp1q18WALSYQv7fyj2ebjNQlMX1i9iozJFaTQETW/
 B41KvcyXpOyCTtrrkjg1XeyivqZGHsq95aMte5Q4o2FGm4cHVe+0/86MY4nBpSSxQL
 R1rLJyTVrG06K3f8i5zRQl6a6HY/MrkdnLBq35k8KmLQRDaSka7F6j9BBnFzcgxR4N
 TQUHe72P2tiMj6W3nqgT4dWisC+z6fTojB7ZhzozKwWKy0J3UolPRIwK8blgdX7/rB
 5bYENmeUAoHuofaxUcIUbH3J+7CXFKTwVzSQgPEvmSD0aQ/DCs5uavnBuT39gav0ql
 R4S0NadWEwE4w==
Received: by sauron.run.montefiore.ulg.ac.be (Postfix, from userid 1000)
 id 6976DC00BA; Mon,  9 Dec 2019 14:36:30 +0100 (CET)
From: Gaulthier Gain <gaulthier.gain@uliege.be>
To: minios-devel@lists.xenproject.org
Date: Mon,  9 Dec 2019 14:36:21 +0100
Message-Id: <20191209133627.18558-1-gaulthier.gain@uliege.be>
X-Mailer: git-send-email 2.11.0
Subject: [Minios-devel] [UNIKRAFT/SQLITE V4 PATCH 0/6] SQLite port on
 Unikraft
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Gaulthier Gain <gaulthier.gain@uliege.be>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhpcyBwYXRjaCBzZXJpZXMgcG9ydHMgU1FMaXRlIG9uIFVuaWtyYWZ0LgoKUGxlYXNlIGZpbmQg
YmVsb3cgdGhlIG1haW4gY2hhbmdlcyBjb21wYXJlZCB0byBWMzoKLSBVc2UgJChMSUJTUUxJVEVf
QkFTRU5BTUUpIGluIE1ha2VmaWxlLnVrOwotIEludHJvZHVjZSB0aGUgY29uZmlnIG9wdGlvbiwg
dGhlIE1ha2VmaWxlLnVrIGFuZCB0aGUgbWFpbiBmdW5jdGlvbgppbiBhbiBhZGRpdGlvbmFsIHBh
dGNoOwotIEFkZCAiLURtYWluPXNxbGl0ZV9tYWluIC1Ed21haW49c3FsaXRlX21haW4iIGluIE1h
a2VmaWxlLnVrOyAKLSBSZW1vdmUgdXNlbGVzcyBjb21tZW50IGluIENvbmZpZy51azsKLSBBZGQg
ZXh0cmEgaW5mbyBmb3IgUkVBRE1FIGluIGFuIGFkZGl0aW9uYWwgcGF0Y2g7Ci0gVXNlIHR3byBw
YXRjaGVzIGZvciBhdXRvIGdlbmVyYXRlZCBjb25maWcgZmlsZS4KCkdhdWx0aGllciBHYWluICg2
KToKICBJbnRyb2R1Y2UgbGlicmFyeSBza2VsZXRvbgogIEFkZCBNYWtlZmlsZS51awogIEFkZCBT
UUxpdGUgYXV0by1nZW5lcmF0ZWQgaGVhZGVyCiAgaW5jbHVkZS9jb25maWcuaDogRGlzYWJsZSBm
ZWF0dXJlcyB0aGF0IGFyZSBub3QgYXZhaWxhYmxlIG9uIFVuaWtyYWZ0CiAgUHJvdmlkZSBtYWlu
KCkgZnVuY3Rpb24gaWYgY29uZmlndXJlZCB0byBkbyBzbwogIFJFQURNRS5tZDogVXBkYXRlIHdp
dGggaW5mbyBhYm91dCBidWlsZGluZyBhbmQgcnVubmluZwoKIC5naXRpZ25vcmUgICAgICAgfCAg
MjcgKysrKysrKysrKysrCiBDT0RJTkdfU1RZTEUubWQgIHwgICA0ICsrCiBDT05UUklCVVRJTkcu
bWQgIHwgICA0ICsrCiBDT1BZSU5HLm1kICAgICAgIHwgIDM4ICsrKysrKysrKysrKysrKysKIENv
bmZpZy51ayAgICAgICAgfCAgMTMgKysrKysrCiBNQUlOVEFJTkVSUy5tZCAgIHwgIDExICsrKysr
CiBNYWtlZmlsZS51ayAgICAgIHwgIDg2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKwogUkVBRE1FLm1kICAgICAgICB8ICAyNCArKysrKysrKysrCiBpbmNsdWRlL2NvbmZpZy5o
IHwgMTMxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysKIG1haW4uYyAgICAgICAgICAgfCAgIDYgKysrCiAxMCBmaWxlcyBjaGFuZ2VkLCAzNDQg
aW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IC5naXRpZ25vcmUKIGNyZWF0ZSBtb2Rl
IDEwMDY0NCBDT0RJTkdfU1RZTEUubWQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBDT05UUklCVVRJTkcu
bWQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBDT1BZSU5HLm1kCiBjcmVhdGUgbW9kZSAxMDA2NDQgQ29u
ZmlnLnVrCiBjcmVhdGUgbW9kZSAxMDA2NDQgTUFJTlRBSU5FUlMubWQKIGNyZWF0ZSBtb2RlIDEw
MDY0NCBNYWtlZmlsZS51awogY3JlYXRlIG1vZGUgMTAwNjQ0IFJFQURNRS5tZAogY3JlYXRlIG1v
ZGUgMTAwNjQ0IGluY2x1ZGUvY29uZmlnLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtYWluLmMKCi0t
IAoyLjExLjAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0
Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9z
LWRldmVs

From minios-devel-bounces@lists.xenproject.org Mon Dec 09 13:36:38 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 09 Dec 2019 13:36:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ieJDJ-0002y2-PH; Mon, 09 Dec 2019 13:36:37 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=nF+J=Z7=sauron.run.montefiore.ulg.ac.be=gain@srs-us1.protection.inumbo.net>)
 id 1ieJDI-0002xv-V8
 for minios-devel@lists.xenproject.org; Mon, 09 Dec 2019 13:36:36 +0000
X-Inumbo-ID: ea225276-1a88-11ea-87ce-12813bfff9fa
Received: from serv108.segi.ulg.ac.be (unknown [139.165.32.111])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id ea225276-1a88-11ea-87ce-12813bfff9fa;
 Mon, 09 Dec 2019 13:36:33 +0000 (UTC)
Received: from sauron.run.montefiore.ulg.ac.be
 (sauron.run.montefiore.ulg.ac.be [139.165.223.31])
 by serv108.segi.ulg.ac.be (Postfix) with ESMTP id 3205620151ED;
 Mon,  9 Dec 2019 14:36:33 +0100 (CET)
DKIM-Filter: OpenDKIM Filter v2.11.0 serv108.segi.ulg.ac.be 3205620151ED
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=uliege.be;
 s=ulg20190529; t=1575898593;
 bh=ZN3buyNT1pAsyWYy+E26J5Nqq9Dlh8qzTaDXPCgtpIA=;
 h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
 b=yin81ZSZF+z/Hxa+B6bQfBhCTM1iZFmrVNU+R54jQEiQHqSib4xFB++sc6fss0AhM
 CKFR2Q16lKBkSAs12JBkdKnxc+Fo7exZwJXeHB6Wqx1VQZKXTh5IB1fz6K8DasNfPm
 ORdMsz352M/qt6qPWnx4TUg7QKVhAwbPrxsUH9y6uN9RJNJn0Kyok74z6KWG1niKhd
 ggg/u66T51ccZKc7F83iakCTQU7bErx+076tTxTA/cn16xgxLH9MqeW45ux16DTL+0
 JDUPews2i+9eka0VdnXWdw7WVZa+wjelaQEKapywjCc+rK4eG9LM07hsWTuJYTI7qW
 HVEcdl1xoeK0Q==
Received: by sauron.run.montefiore.ulg.ac.be (Postfix, from userid 1000)
 id 2BA56C00BA; Mon,  9 Dec 2019 14:36:33 +0100 (CET)
From: Gaulthier Gain <gaulthier.gain@uliege.be>
To: minios-devel@lists.xenproject.org
Date: Mon,  9 Dec 2019 14:36:23 +0100
Message-Id: <20191209133627.18558-3-gaulthier.gain@uliege.be>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191209133627.18558-1-gaulthier.gain@uliege.be>
References: <20191209133627.18558-1-gaulthier.gain@uliege.be>
Subject: [Minios-devel] [UNIKRAFT/SQLITE V4 PATCH 2/6] Add Makefile.uk
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Gaulthier Gain <gaulthier.gain@uliege.be>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

QWRkIFNRTGl0ZSBwb3J0IE1ha2VmaWxlLnVrLgoKU2lnbmVkLW9mZi1ieTogR2F1bHRoaWVyIEdh
aW4gPGdhdWx0aGllci5nYWluQHVsaWVnZS5iZT4KLS0tCiBNYWtlZmlsZS51ayB8IDc5ICsrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysK
IDEgZmlsZSBjaGFuZ2VkLCA3OSBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgTWFr
ZWZpbGUudWsKCmRpZmYgLS1naXQgYS9NYWtlZmlsZS51ayBiL01ha2VmaWxlLnVrCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRmMTRjNjUKLS0tIC9kZXYvbnVsbAorKysgYi9N
YWtlZmlsZS51awpAQCAtMCwwICsxLDc5IEBACisjICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjog
QlNELTMtQ2xhdXNlCisjCisjICBTUUxpdGUgTWFrZWZpbGUudWsKKyMKKyMgIEF1dGhvcnM6IEdh
aW4gR2F1bHRoaWVyIDxnYXVsdGhpZXIuZ2FpbkB1bGllZ2UuYmU+CisjCisjICBDb3B5cmlnaHQg
KGMpIDIwMTksIFVuaXZlcnNpdHkgb2YgTGllZ2UuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisj
ICBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyMgIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworIyAgYXJlIG1ldDoKKyMKKyMgIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisj
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisjICAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyMgIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIGNvcHlyaWdodCBob2xkZXIgbm9y
IHRoZSBuYW1lcyBvZiBpdHMKKyMgICAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisjICAgICB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorIworIyAgVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUyAiQVMgSVMiCisjICBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisjICBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQor
IyAgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVS
IE9SIENPTlRSSUJVVE9SUyBCRQorIyAgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorIyAgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyMgIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworIyAgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyMgIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisjICBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRQorIyAgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisjCisjICBU
SElTIEhFQURFUiBNQVkgTk9UIEJFIEVYVFJBQ1RFRCBPUiBNT0RJRklFRCBJTiBBTlkgV0FZLgor
IworCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBBcHAgcmVnaXN0cmF0aW9uCisjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIworJChldmFsICQoY2FsbCBhZGRsaWIsbGlic3FsaXRlKSkKKworIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgU291cmNlcworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK
K0xJQlNRTElURV9WRVJTSU9OID0gMzMwMDEwMAorTElCU1FMSVRFX0JBU0VOQU1FID0gc3FsaXRl
LWFtYWxnYW1hdGlvbi0kKExJQlNRTElURV9WRVJTSU9OKQorTElCU1FMSVRFX1VSTCA9IGh0dHBz
Oi8vd3d3LnNxbGl0ZS5vcmcvMjAxOS8kKExJQlNRTElURV9CQVNFTkFNRSkuemlwCitMSUJTUUxJ
VEVfUEFUQ0hESVIgPSAkKExJQlNRTElURV9CQVNFKS9wYXRjaGVzCiskKGV2YWwgJChjYWxsIGZl
dGNoLGxpYnNxbGl0ZSwkKExJQlNRTElURV9VUkwpKSkKKyQoZXZhbCAkKGNhbGwgcGF0Y2gsbGli
c3FsaXRlLCQoTElCU1FMSVRFX1BBVENIRElSKSwkKExJQlNRTElURV9CQVNFTkFNRSkpKQorCisj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBIZWxwZXJzCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IworTElCU1FMSVRFX1NSQyA9ICQoTElCU1FMSVRFX09SSUdJTikvJChMSUJTUUxJVEVfQkFTRU5B
TUUpCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIExpYnJhcnkgaW5jbHVkZXMKKyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjCitMSUJTUUxJVEVfQ0lOQ0xVREVTLXkgKz0gLUkkKExJQlNRTElU
RV9CQVNFKS9pbmNsdWRlCitMSUJTUUxJVEVfQ0lOQ0xVREVTICs9IC1JJChMSUJTUUxJVEVfU1JD
KQorCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBHbG9iYWwgZmxhZ3MKKyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjCitMSUJTUUxJVEVfRkxBR1MgPSAtRF9IQVZFX1NRTElURV9DT05GSUdfSCAt
RFNRTElURV9PTUlUX0xPQURfRVhURU5TSU9OCisKKyMgU3VwcHJlc3Mgc29tZSB3YXJuaW5ncyB0
byBtYWtlIHRoZSBidWlsZCBwcm9jZXNzIGxvb2sgbmVhdGVyCitMSUJTUUxJVEVfU1VQUFJFU1Nf
RkxBR1MgKz0gLVduby11bnVzZWQtcGFyYW1ldGVyIC1Xbm8tdW51c2VkLXZhcmlhYmxlCQlcCist
V25vLWNhc3QtZnVuY3Rpb24tdHlwZSAtV25vLWNoYXItc3Vic2NyaXB0cyAtV2ltcGxpY2l0LWZh
bGx0aHJvdWdoPTAJCVwKKworTElCU1FMSVRFX0NGTEFHUy15ICs9ICQoTElCU1FMSVRFX0ZMQUdT
KQorTElCU1FMSVRFX0NGTEFHUy15ICs9ICQoTElCU1FMSVRFX1NVUFBSRVNTX0ZMQUdTKQorCisj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBTUUxpdGUgc291cmNlcworIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMKK0xJQlNRTElURV9TUkNTLXkgKz0gJChMSUJTUUxJVEVfU1JDKS9zaGVsbC5jCitM
SUJTUUxJVEVfU1JDUy15ICs9ICQoTElCU1FMSVRFX1NSQykvc3FsaXRlMy5jCi0tIAoyLjExLjAK
CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3Mt
ZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRw
czovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Mon Dec 09 13:36:41 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 09 Dec 2019 13:36:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ieJDN-0002yq-Qm; Mon, 09 Dec 2019 13:36:41 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=nF+J=Z7=sauron.run.montefiore.ulg.ac.be=gain@srs-us1.protection.inumbo.net>)
 id 1ieJDM-0002ye-IQ
 for minios-devel@lists.xenproject.org; Mon, 09 Dec 2019 13:36:40 +0000
X-Inumbo-ID: e93a8da6-1a88-11ea-a1e1-bc764e2007e4
Received: from serv108.segi.ulg.ac.be (unknown [139.165.32.111])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id e93a8da6-1a88-11ea-a1e1-bc764e2007e4;
 Mon, 09 Dec 2019 13:36:32 +0000 (UTC)
Received: from sauron.run.montefiore.ulg.ac.be
 (sauron.run.montefiore.ulg.ac.be [139.165.223.31])
 by serv108.segi.ulg.ac.be (Postfix) with ESMTP id AC7E9200F4B8;
 Mon,  9 Dec 2019 14:36:31 +0100 (CET)
DKIM-Filter: OpenDKIM Filter v2.11.0 serv108.segi.ulg.ac.be AC7E9200F4B8
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=uliege.be;
 s=ulg20190529; t=1575898591;
 bh=cBSP4Rc3UZjc38JeSaoASVYEAR2IZEzlPZKLgwxre7c=;
 h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
 b=cVnBvK1V9NKMhilrI5bDhHkHB8TfpxLduKO2GSqpcK81Nj7V3g2ACVNnEoG667+22
 w2C2F4FjoqXYm1iitj/cX+nsVJOJq+305zP9QFt3wAMrvO2hvrLGnm3mEL7YllGg95
 KSYumPF7taWmV771zcCbkT9pNTEns2Iu7+gI1bJ/SA7K4+URH3+XrDkbC5T/z4KokH
 HhpSxj5Z9I2J4ooNo7oHGlY2+CQMI4kvrUHtvfDE88dZvBu3EXj5vXTQGK3fBMzjHq
 De84mJE/S645W0tZvlc61zyM3P4YozQ4D1wCTZ8WMjxwH1UiRUT8n9jFL5KT5VYuSy
 cTrk82EfdzTCQ==
Received: by sauron.run.montefiore.ulg.ac.be (Postfix, from userid 1000)
 id A5B86C00BA; Mon,  9 Dec 2019 14:36:31 +0100 (CET)
From: Gaulthier Gain <gaulthier.gain@uliege.be>
To: minios-devel@lists.xenproject.org
Date: Mon,  9 Dec 2019 14:36:22 +0100
Message-Id: <20191209133627.18558-2-gaulthier.gain@uliege.be>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191209133627.18558-1-gaulthier.gain@uliege.be>
References: <20191209133627.18558-1-gaulthier.gain@uliege.be>
Subject: [Minios-devel] [UNIKRAFT/SQLITE V4 PATCH 1/6] Introduce library
 skeleton
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Gaulthier Gain <gaulthier.gain@uliege.be>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

V2UgdXNlIHRoZSBCU0QtMy1DbGF1c2UgbGljZW5zZSBmb3IgdGhpcyBsaWJyYXJ5IGdsdWUgY29k
ZS4KClNpZ25lZC1vZmYtYnk6IEdhdWx0aGllciBHYWluIDxnYXVsdGhpZXIuZ2FpbkB1bGllZ2Uu
YmU+Ci0tLQogLmdpdGlnbm9yZSAgICAgIHwgMjcgKysrKysrKysrKysrKysrKysrKysrKysrKysr
CiBDT0RJTkdfU1RZTEUubWQgfCAgNCArKysrCiBDT05UUklCVVRJTkcubWQgfCAgNCArKysrCiBD
T1BZSU5HLm1kICAgICAgfCAzOCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KwogQ29uZmlnLnVrICAgICAgIHwgIDcgKysrKysrKwogTUFJTlRBSU5FUlMubWQgIHwgMTEgKysr
KysrKysrKysKIFJFQURNRS5tZCAgICAgICB8ICA3ICsrKysrKysKIDcgZmlsZXMgY2hhbmdlZCwg
OTggaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IC5naXRpZ25vcmUKIGNyZWF0ZSBt
b2RlIDEwMDY0NCBDT0RJTkdfU1RZTEUubWQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBDT05UUklCVVRJ
TkcubWQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBDT1BZSU5HLm1kCiBjcmVhdGUgbW9kZSAxMDA2NDQg
Q29uZmlnLnVrCiBjcmVhdGUgbW9kZSAxMDA2NDQgTUFJTlRBSU5FUlMubWQKIGNyZWF0ZSBtb2Rl
IDEwMDY0NCBSRUFETUUubWQKCmRpZmYgLS1naXQgYS8uZ2l0aWdub3JlIGIvLmdpdGlnbm9yZQpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NWQyZmQzCi0tLSAvZGV2L251bGwK
KysrIGIvLmdpdGlnbm9yZQpAQCAtMCwwICsxLDI3IEBACisqLmRlcGVuZAorKi5vCisqLmEKKyou
ZAorKi5zbworKi5vcmlnCisqLnJlagorKi5iYWsKKyouc3dwCisqfgorLCoKK1wjKlwjCisuXCMq
CitcI18qXCMKKy5cI18qCishLmdpdGlnbm9yZQorLioKKworIyBnbnUgZ2xvYmFsIGZpbGVzCitH
UEFUSAorR1JUQUdTCitHU1lNUworR1RBR1MKKworIyBjc2NvcGUgZmlsZXMKK2NzY29wZS4qCitu
Y3Njb3BlLioKZGlmZiAtLWdpdCBhL0NPRElOR19TVFlMRS5tZCBiL0NPRElOR19TVFlMRS5tZApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NzMwMDQxCi0tLSAvZGV2L251bGwK
KysrIGIvQ09ESU5HX1NUWUxFLm1kCkBAIC0wLDAgKzEsNCBAQAorQ29kaW5nIFN0eWxlCis9PT09
PT09PT09PT0KKworUGxlYXNlIHJlZmVyIHRvIHRoZSBgQ09ESU5HX1NUWUxFLm1kYCBmaWxlIGlu
IHRoZSBtYWluIFVuaWtyYWZ0IHJlcG9zaXRvcnkuCmRpZmYgLS1naXQgYS9DT05UUklCVVRJTkcu
bWQgYi9DT05UUklCVVRJTkcubWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
MTRmNmFjNgotLS0gL2Rldi9udWxsCisrKyBiL0NPTlRSSUJVVElORy5tZApAQCAtMCwwICsxLDQg
QEAKK0NvbnRyaWJ1dGluZyB0byBVbmlrcmFmdAorPT09PT09PT09PT09PT09PT09PT09PT09CisK
K1BsZWFzZSByZWZlciB0byB0aGUgYENPTlRSSUJVVElORy5tZGAgZmlsZSBpbiB0aGUgbWFpbiBV
bmlrcmFmdCByZXBvc2l0b3J5LgpkaWZmIC0tZ2l0IGEvQ09QWUlORy5tZCBiL0NPUFlJTkcubWQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTBhZjk1MgotLS0gL2Rldi9udWxs
CisrKyBiL0NPUFlJTkcubWQKQEAgLTAsMCArMSwzOCBAQAorTGljZW5zZQorPT09PT09PQorCitV
bmlrcmFmdCBTUUxpdGUgd3JhcHBlcnMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KKworVGhpcyByZXBvc2l0b3J5IGNvbnRhaW5zIHdyYXBwZXIgY29kZSB0byBidWlsZCBTUUxp
dGUgd2l0aCBVbmlrcmFmdC4KK0VhY2ggQyBjb2RlIGZpbGUgaW4gdGhpcyByZXBvc2l0b3J5IHNo
b3VsZCBkZWNsYXJlIHdobyBpcyB0aGUKK2NvcHlyaWdodCBvd25lciBhbmQgdW5kZXIgd2hpY2gg
dGVybXMgYW5kIGNvbmRpdGlvbnMgdGhlIGNvZGUgaXMKK2xpY2Vuc2VkLiBJZiBzdWNoIGEgbGlj
ZW5jZSBub3RlIGlzIG1pc3NpbmcsIHRoZSBmb2xsb3dpbmcgY29weXJpZ2h0Citub3RpY2Ugd2ls
bCBhcHBseToKKworCUNvcHlyaWdodCAoYykgWWVhciwgSW5zdGl0dXRpb24uIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisKKwlSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKwltb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKwlhcmUgbWV0OgorCisJMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKwkgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisJMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKwkgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisJICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKwkzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBjb3B5cmlnaHQgaG9sZGVyIG5vciB0aGUg
bmFtZXMgb2YgaXRzCisJICAgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKwkgICB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorCisJVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
CisJQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorCUlNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisJQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9SIENPTlRSSUJVVE9SUyBC
RQorCUxJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKwlDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorCVNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworCUlOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisJQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKwlBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRQorCVBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgpkaWZmIC0tZ2l0IGEvQ29uZmlnLnVrIGIvQ29uZmlnLnVrCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE2MTFlZTkKLS0tIC9kZXYvbnVsbAorKysg
Yi9Db25maWcudWsKQEAgLTAsMCArMSw3IEBACitjb25maWcgTElCU1FMSVRFCisgICAgYm9vbCAi
U1FMaXRlIgorICAgIGRlZmF1bHQgeQorICAgIHNlbGVjdCBMSUJVS01NQVAKKyAgICBzZWxlY3Qg
VUtTWVNJTkZPCisgICAgc2VsZWN0IExJQk5FV0xJQkMKKyAgICBzZWxlY3QgTElCUFRIUkVBRF9F
TUJFRERFRApkaWZmIC0tZ2l0IGEvTUFJTlRBSU5FUlMubWQgYi9NQUlOVEFJTkVSUy5tZApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YzEzZWQ5Ci0tLSAvZGV2L251bGwKKysr
IGIvTUFJTlRBSU5FUlMubWQKQEAgLTAsMCArMSwxMSBAQAorTWFpbnRhaW5lcnMgTGlzdAorPT09
PT09PT09PT09PT09PQorCitGb3Igbm90ZXMgb24gaG93IHRvIHJlYWQgdGhpcyBpbmZvcm1hdGlv
biwgcGxlYXNlIHJlZmVyIHRvIGBNQUlOVEFJTkVSUy5tZGAgaW4KK3RoZSBtYWluIFVuaWtyYWZ0
IHJlcG9zaXRvcnkuCisKKwlMSUJTUUxJVEUtVU5JS1JBRlQKKwlNOiAgR2F1bHRoaWVyIEdhaW4g
PGdhdWx0aGllci5nYWluQHVsaWVnZS5iZT4KKwlNOiAgRmVsaXBlIEh1aWNpIDxmZWxpcGUuaHVp
Y2lAbmVjbGFiLmV1PgorCUw6ICBtaW5pb3MtZGV2ZWxAbGlzdHMueGVuLm9yZworCUY6ICoKZGlm
ZiAtLWdpdCBhL1JFQURNRS5tZCBiL1JFQURNRS5tZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi5iZjJmZWU3Ci0tLSAvZGV2L251bGwKKysrIGIvUkVBRE1FLm1kCkBAIC0wLDAg
KzEsNyBAQAorU1FMaXRlIGZvciBVbmlrcmFmdAorPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KKworVGhpcyBpcyB0aGUgcG9ydCBvZiBTUUxpdGUgZm9yIFVuaWtyYWZ0IGFzIGV4dGVybmFs
IGxpYnJhcnkuCisKK1BsZWFzZSByZWZlciB0byB0aGUgYFJFQURNRS5tZGAgYXMgd2VsbCBhcyB0
aGUgZG9jdW1lbnRhdGlvbiBpbiB0aGUKK2Bkb2MvYCBzdWJkaXJlY3Rvcnkgb2YgdGhlIG1haW4g
dW5pa3JhZnQgcmVwb3NpdG9yeS4KLS0gCjIuMTEuMAoKCl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9z
LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcv
bWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Mon Dec 09 13:36:42 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 09 Dec 2019 13:36:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ieJDO-0002zL-Sf; Mon, 09 Dec 2019 13:36:42 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=nF+J=Z7=sauron.run.montefiore.ulg.ac.be=gain@srs-us1.protection.inumbo.net>)
 id 1ieJDN-0002yp-TC
 for minios-devel@lists.xenproject.org; Mon, 09 Dec 2019 13:36:41 +0000
X-Inumbo-ID: ec15c13a-1a88-11ea-87ce-12813bfff9fa
Received: from serv108.segi.ulg.ac.be (unknown [139.165.32.111])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id ec15c13a-1a88-11ea-87ce-12813bfff9fa;
 Mon, 09 Dec 2019 13:36:37 +0000 (UTC)
Received: from sauron.run.montefiore.ulg.ac.be
 (sauron.run.montefiore.ulg.ac.be [139.165.223.31])
 by serv108.segi.ulg.ac.be (Postfix) with ESMTP id 7E2D1201A7C0;
 Mon,  9 Dec 2019 14:36:36 +0100 (CET)
DKIM-Filter: OpenDKIM Filter v2.11.0 serv108.segi.ulg.ac.be 7E2D1201A7C0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=uliege.be;
 s=ulg20190529; t=1575898596;
 bh=WA0eXx0CweWiQyXRPKD0md5+EJeoAYLgmLn3o8DIkyY=;
 h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
 b=vsnBGXsza0Q0NUrqB42IcJpeO94w2TbRqrXQvgVUmsObHghoUss8/8IYMJ0Wr4dXr
 6vw9cTsISXg0Goakffe7ceViEiW5VpxnAnUbzitRkcCen9toT0xndrYawR9Mz4beHv
 YhRRvxQ454S7if1yT/pXPPLAHN/3r1tMONdtqv97fOd4WMclesCuIpm97s6lEwAJzi
 roFwQy1IjE/y2vaOxjJrHVGBCiWVfzxmhmXwx/mFCXEbTDQDfI1O8P20RoQB2Zw9JT
 CpKyAnKZOOaMTt0MQia2qjB9UlZ9e5QXxqv8mGlt1eQBOHkv2h/wkKfg4OMGevd6pq
 cOANErrafYTsw==
Received: by sauron.run.montefiore.ulg.ac.be (Postfix, from userid 1000)
 id 77D0AC00BA; Mon,  9 Dec 2019 14:36:36 +0100 (CET)
From: Gaulthier Gain <gaulthier.gain@uliege.be>
To: minios-devel@lists.xenproject.org
Date: Mon,  9 Dec 2019 14:36:26 +0100
Message-Id: <20191209133627.18558-6-gaulthier.gain@uliege.be>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191209133627.18558-1-gaulthier.gain@uliege.be>
References: <20191209133627.18558-1-gaulthier.gain@uliege.be>
Subject: [Minios-devel] [UNIKRAFT/SQLITE V4 PATCH 5/6] Provide main()
 function if configured to do so
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Gaulthier Gain <gaulthier.gain@uliege.be>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

V2UgYWRkIGEgY29uZmlnIG9wdGlvbiBmb3IgZW5hYmxpbmcgdGhlIG1haW4oKSBmdW5jdGlvbiBw
cm92aWRlZCBieQpvdXIgU1FMaXRlIGdsdWUgY29kZS4KClNpZ25lZC1vZmYtYnk6IEdhdWx0aGll
ciBHYWluIDxnYXVsdGhpZXIuZ2FpbkB1bGllZ2UuYmU+Ci0tLQogQ29uZmlnLnVrICAgfCA4ICsr
KysrKystCiBNYWtlZmlsZS51ayB8IDcgKysrKysrKwogbWFpbi5jICAgICAgfCA2ICsrKysrKwog
MyBmaWxlcyBjaGFuZ2VkLCAyMCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiBjcmVhdGUg
bW9kZSAxMDA2NDQgbWFpbi5jCgpkaWZmIC0tZ2l0IGEvQ29uZmlnLnVrIGIvQ29uZmlnLnVrCmlu
ZGV4IDE2MTFlZTkuLmRkYTE4MzYgMTAwNjQ0Ci0tLSBhL0NvbmZpZy51aworKysgYi9Db25maWcu
dWsKQEAgLTEsNyArMSwxMyBAQAotY29uZmlnIExJQlNRTElURQorbWVudWNvbmZpZyBMSUJTUUxJ
VEUKICAgICBib29sICJTUUxpdGUiCiAgICAgZGVmYXVsdCB5CiAgICAgc2VsZWN0IExJQlVLTU1B
UAogICAgIHNlbGVjdCBVS1NZU0lORk8KICAgICBzZWxlY3QgTElCTkVXTElCQwogICAgIHNlbGVj
dCBMSUJQVEhSRUFEX0VNQkVEREVECisKK2lmIExJQlNRTElURQorY29uZmlnIExJQlNRTElURV9N
QUlOX0ZVTkNUSU9OCisgICAgYm9vbCAiUHJvdmlkZSBtYWluIGZ1bmN0aW9uIgorICAgIGRlZmF1
bHQgeQorZW5kaWYKZGlmZiAtLWdpdCBhL01ha2VmaWxlLnVrIGIvTWFrZWZpbGUudWsKaW5kZXgg
ZGYxNGM2NS4uZjBhN2FmZCAxMDA2NDQKLS0tIGEvTWFrZWZpbGUudWsKKysrIGIvTWFrZWZpbGUu
dWsKQEAgLTczLDcgKzczLDE0IEBAIExJQlNRTElURV9DRkxBR1MteSArPSAkKExJQlNRTElURV9G
TEFHUykKIExJQlNRTElURV9DRkxBR1MteSArPSAkKExJQlNRTElURV9TVVBQUkVTU19GTEFHUykK
IAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgR2x1ZSBjb2RlCisjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIworTElCU1FMSVRFX1NSQ1MtJChDT05GSUdfTElCU1FMSVRFX01BSU5fRlVOQ1RJT04p
ICs9ICQoTElCU1FMSVRFX0JBU0UpL21haW4uY3x1bmlrcmFmdAorCisjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIwogIyBTUUxpdGUgc291cmNlcwogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKK0xJQlNR
TElURV9TSEVMTF9GTEFHUy15ICs9IC1EbWFpbj1zcWxpdGVfbWFpbiAtRHdtYWluPXNxbGl0ZV9t
YWluCisKIExJQlNRTElURV9TUkNTLXkgKz0gJChMSUJTUUxJVEVfU1JDKS9zaGVsbC5jCiBMSUJT
UUxJVEVfU1JDUy15ICs9ICQoTElCU1FMSVRFX1NSQykvc3FsaXRlMy5jCmRpZmYgLS1naXQgYS9t
YWluLmMgYi9tYWluLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzQ4MjJh
MAotLS0gL2Rldi9udWxsCisrKyBiL21haW4uYwpAQCAtMCwwICsxLDYgQEAKK2V4dGVybiBpbnQg
c3FsaXRlX21haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSk7CisKK2ludCBtYWluKGludCBhcmdj
LCBjaGFyICphcmd2W10pCit7CisgICAgcmV0dXJuIHNxbGl0ZV9tYWluKGFyZ2MsIGFyZ3YpOwor
fQotLSAKMi4xMS4wCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJv
amVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21p
bmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Mon Dec 09 13:36:47 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 09 Dec 2019 13:36:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ieJDS-00030J-UG; Mon, 09 Dec 2019 13:36:46 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=nF+J=Z7=sauron.run.montefiore.ulg.ac.be=gain@srs-us1.protection.inumbo.net>)
 id 1ieJDR-000303-JA
 for minios-devel@lists.xenproject.org; Mon, 09 Dec 2019 13:36:45 +0000
X-Inumbo-ID: eb76c6c0-1a88-11ea-88e7-bc764e2007e4
Received: from serv108.segi.ulg.ac.be (unknown [139.165.32.111])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id eb76c6c0-1a88-11ea-88e7-bc764e2007e4;
 Mon, 09 Dec 2019 13:36:36 +0000 (UTC)
Received: from sauron.run.montefiore.ulg.ac.be
 (sauron.run.montefiore.ulg.ac.be [139.165.223.31])
 by serv108.segi.ulg.ac.be (Postfix) with ESMTP id 78A9A2019D8A;
 Mon,  9 Dec 2019 14:36:35 +0100 (CET)
DKIM-Filter: OpenDKIM Filter v2.11.0 serv108.segi.ulg.ac.be 78A9A2019D8A
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=uliege.be;
 s=ulg20190529; t=1575898595;
 bh=8L6Q6kR+D34PUw5y2C0xueHlxx1tkyx66FP5zlilgH4=;
 h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
 b=MPot+1+8tArs7YB88/4bQoXB0G/J9LtYa7kTuguIVA+UyuMzuJrBdTOHD1syvRL1S
 c8aT/w6skeIBVqt9McxNxyenagJRKVqyRH9chlKXb04nC7tuDAYHfVC8snSkeU4pzt
 yCMTrfPlCxw/EQyyncXNRA+W7zXA/8ERygXVb1H+f1w6dXy01TiInOoT9j33/slQAM
 KhdXIIbC06EzJgFpNlkKX+SprcMfHpruSM1XyF1NnaSFOm7vd/q8PwUJsPmKhtUDTg
 /j7d6mb7Xq6/xeT4QHS2GB1d51VgyAzHJ3bp1NyAsSvBbk/hr/+rW3/373lg/QK8CU
 MkCP8wYZbkWAQ==
Received: by sauron.run.montefiore.ulg.ac.be (Postfix, from userid 1000)
 id 70FA2C00BA; Mon,  9 Dec 2019 14:36:35 +0100 (CET)
From: Gaulthier Gain <gaulthier.gain@uliege.be>
To: minios-devel@lists.xenproject.org
Date: Mon,  9 Dec 2019 14:36:25 +0100
Message-Id: <20191209133627.18558-5-gaulthier.gain@uliege.be>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191209133627.18558-1-gaulthier.gain@uliege.be>
References: <20191209133627.18558-1-gaulthier.gain@uliege.be>
Subject: [Minios-devel] [UNIKRAFT/SQLITE V4 PATCH 4/6] include/config.h:
 Disable features that are not available on Unikraft
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Gaulthier Gain <gaulthier.gain@uliege.be>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

U29tZSBvZiB0aGVzZSBmZWF0dXJlcyBoYXZlIHRvIGVuYWJsZWQgYmFjayB3aGVuIHdlIHdpbGwg
c3VwcG9ydCB0aGVtLgoKU2lnbmVkLW9mZi1ieTogR2F1bHRoaWVyIEdhaW4gPGdhdWx0aGllci5n
YWluQHVsaWVnZS5iZT4KLS0tCiBpbmNsdWRlL2NvbmZpZy5oIHwgNiArKystLS0KIDEgZmlsZSBj
aGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvaW5j
bHVkZS9jb25maWcuaCBiL2luY2x1ZGUvY29uZmlnLmgKaW5kZXggNzExNTFjMS4uNzdhNmQ3NiAx
MDA2NDQKLS0tIGEvaW5jbHVkZS9jb25maWcuaAorKysgYi9pbmNsdWRlL2NvbmZpZy5oCkBAIC00
MSw3ICs0MSw3IEBACiAjZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQogCiAvKiBEZWZpbmUgdG8gMSBp
ZiB5b3UgaGF2ZSB0aGUgYG1hbGxvY191c2FibGVfc2l6ZScgZnVuY3Rpb24uICovCi0jZGVmaW5l
IEhBVkVfTUFMTE9DX1VTQUJMRV9TSVpFIDEKKy8qICNkZWZpbmUgSEFWRV9NQUxMT0NfVVNBQkxF
X1NJWkUgMSAqLwogCiAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPG1lbW9yeS5oPiBo
ZWFkZXIgZmlsZS4gKi8KICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCkBAIC01MCwxMyArNTAsMTMg
QEAKICNkZWZpbmUgSEFWRV9QUkVBRCAxCiAKIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRo
ZSBwcmVhZDY0KCkgZnVuY3Rpb24uICovCi0jZGVmaW5lIEhBVkVfUFJFQUQ2NCAxCisvKiAjZGVm
aW5lIEhBVkVfUFJFQUQ2NCAxICovCiAKIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBw
d3JpdGUoKSBmdW5jdGlvbi4gKi8KICNkZWZpbmUgSEFWRV9QV1JJVEUgMQogCiAvKiBEZWZpbmUg
dG8gMSBpZiB5b3UgaGF2ZSB0aGUgcHdyaXRlNjQoKSBmdW5jdGlvbi4gKi8KLSNkZWZpbmUgSEFW
RV9QV1JJVEU2NCAxCisvKiAjZGVmaW5lIEhBVkVfUFdSSVRFNjQgMSAqLwogCiAvKiBEZWZpbmUg
dG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN0ZGludC5oPiBoZWFkZXIgZmlsZS4gKi8KICNkZWZpbmUg
SEFWRV9TVERJTlRfSCAxCi0tIAoyLjExLjAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZl
bEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxt
YW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Mon Dec 09 13:36:52 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 09 Dec 2019 13:36:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ieJDX-00031b-Vo; Mon, 09 Dec 2019 13:36:51 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=nF+J=Z7=sauron.run.montefiore.ulg.ac.be=gain@srs-us1.protection.inumbo.net>)
 id 1ieJDW-00031C-IH
 for minios-devel@lists.xenproject.org; Mon, 09 Dec 2019 13:36:50 +0000
X-Inumbo-ID: eadc0694-1a88-11ea-a914-bc764e2007e4
Received: from serv108.segi.ulg.ac.be (unknown [139.165.32.111])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id eadc0694-1a88-11ea-a914-bc764e2007e4;
 Mon, 09 Dec 2019 13:36:35 +0000 (UTC)
Received: from sauron.run.montefiore.ulg.ac.be
 (sauron.run.montefiore.ulg.ac.be [139.165.223.31])
 by serv108.segi.ulg.ac.be (Postfix) with ESMTP id 6AD2220151F6;
 Mon,  9 Dec 2019 14:36:34 +0100 (CET)
DKIM-Filter: OpenDKIM Filter v2.11.0 serv108.segi.ulg.ac.be 6AD2220151F6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=uliege.be;
 s=ulg20190529; t=1575898594;
 bh=7o0XiKpTc/Za4tYOzif5YcIR7jcAxd/Y3Ttjbqw1NVg=;
 h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
 b=S1k35ppTVFKv6AKPRH7/A4QJ/Al/GGYK1gN6bw4zaJZAkPeY93ag8dHii4Bk+OOh/
 HAktHtCImvOPANnofI5e0jWuNssUPILbpoUzkJcbyYC/JuRszeGRWMbjYJC7mr9k11
 Qb9Nj4B3enk69N46deyDnljNOb4EjZYNfBHv+ejdXx/bj3E143HsEvB148CKmah4KE
 KgNAJesSbZk5x928uYCBaxNjmLbcu5vK2LPKg65H55bXsoHz/ScCYFrHmH57sjpL4o
 ngEGk6jRKh28oTgh5BQc56Bi679W6fXfGwSAOMivBXYSsyrHNOm5C7AgywFzTI5Fi2
 AoGIzUV/1Y+Xw==
Received: by sauron.run.montefiore.ulg.ac.be (Postfix, from userid 1000)
 id 55A08C00BA; Mon,  9 Dec 2019 14:36:34 +0100 (CET)
From: Gaulthier Gain <gaulthier.gain@uliege.be>
To: minios-devel@lists.xenproject.org
Date: Mon,  9 Dec 2019 14:36:24 +0100
Message-Id: <20191209133627.18558-4-gaulthier.gain@uliege.be>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191209133627.18558-1-gaulthier.gain@uliege.be>
References: <20191209133627.18558-1-gaulthier.gain@uliege.be>
Subject: [Minios-devel] [UNIKRAFT/SQLITE V4 PATCH 3/6] Add SQLite
 auto-generated header
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Gaulthier Gain <gaulthier.gain@uliege.be>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

Y29uZmlnLmggaXMgZ2VuZXJhdGVkIHdoZW4gcnVubmluZyAuL2NvbmZpZ3VyZSBhbmQgaXQgY29u
dGFpbnMgdGhlCmZlYXR1cmVzIHRoYXQgYXJlIGF2YWlsYWJsZSBvbiB0aGUgYnVpbGQgbWFjaGlu
ZS4gVGhpcyBpcyBjb3BpZWQgZnJvbQphIGxvY2FsIGJ1aWxkLgoKU2lnbmVkLW9mZi1ieTogR2F1
bHRoaWVyIEdhaW4gPGdhdWx0aGllci5nYWluQHVsaWVnZS5iZT4KLS0tCiBpbmNsdWRlL2NvbmZp
Zy5oIHwgMTMxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCAxMzEgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUg
MTAwNjQ0IGluY2x1ZGUvY29uZmlnLmgKCmRpZmYgLS1naXQgYS9pbmNsdWRlL2NvbmZpZy5oIGIv
aW5jbHVkZS9jb25maWcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MTE1
MWMxCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9jb25maWcuaApAQCAtMCwwICsxLDEzMSBA
QAorLyogY29uZmlnLmguICBHZW5lcmF0ZWQgZnJvbSBjb25maWcuaC5pbiBieSBjb25maWd1cmUu
ICAqLworLyogY29uZmlnLmguaW4uICBHZW5lcmF0ZWQgZnJvbSBjb25maWd1cmUuYWMgYnkgYXV0
b2hlYWRlci4gICovCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8ZGxmY24uaD4g
aGVhZGVyIGZpbGUuICovCisjZGVmaW5lIEhBVkVfRExGQ05fSCAxCisKKy8qIERlZmluZSB0byAx
IGlmIHlvdSBoYXZlIHRoZSBgZmRhdGFzeW5jJyBmdW5jdGlvbi4gKi8KKyNkZWZpbmUgSEFWRV9G
REFUQVNZTkMgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGdtdGltZV9yJyBm
dW5jdGlvbi4gKi8KKyNkZWZpbmUgSEFWRV9HTVRJTUVfUiAxCisKKy8qIERlZmluZSB0byAxIGlm
IHRoZSBzeXN0ZW0gaGFzIHRoZSB0eXBlIGBpbnQxNl90Jy4gKi8KKyNkZWZpbmUgSEFWRV9JTlQx
Nl9UIDEKKworLyogRGVmaW5lIHRvIDEgaWYgdGhlIHN5c3RlbSBoYXMgdGhlIHR5cGUgYGludDMy
X3QnLiAqLworI2RlZmluZSBIQVZFX0lOVDMyX1QgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB0aGUg
c3lzdGVtIGhhcyB0aGUgdHlwZSBgaW50NjRfdCcuICovCisjZGVmaW5lIEhBVkVfSU5UNjRfVCAx
CisKKy8qIERlZmluZSB0byAxIGlmIHRoZSBzeXN0ZW0gaGFzIHRoZSB0eXBlIGBpbnQ4X3QnLiAq
LworI2RlZmluZSBIQVZFX0lOVDhfVCAxCisKKy8qIERlZmluZSB0byAxIGlmIHRoZSBzeXN0ZW0g
aGFzIHRoZSB0eXBlIGBpbnRwdHJfdCcuICovCisjZGVmaW5lIEhBVkVfSU5UUFRSX1QgMQorCisv
KiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGludHR5cGVzLmg+IGhlYWRlciBmaWxlLiAq
LworI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2
ZSB0aGUgYGlzbmFuJyBmdW5jdGlvbi4gKi8KKyNkZWZpbmUgSEFWRV9JU05BTiAxCisKKy8qIERl
ZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgbG9jYWx0aW1lX3InIGZ1bmN0aW9uLiAqLworI2Rl
ZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhl
IGBsb2NhbHRpbWVfcycgZnVuY3Rpb24uICovCisvKiAjdW5kZWYgSEFWRV9MT0NBTFRJTUVfUyAq
LworCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPG1hbGxvYy5oPiBoZWFkZXIgZmls
ZS4gKi8KKyNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBo
YXZlIHRoZSBgbWFsbG9jX3VzYWJsZV9zaXplJyBmdW5jdGlvbi4gKi8KKyNkZWZpbmUgSEFWRV9N
QUxMT0NfVVNBQkxFX1NJWkUgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPG1l
bW9yeS5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCisKKy8qIERl
ZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBwcmVhZCgpIGZ1bmN0aW9uLiAqLworI2RlZmluZSBI
QVZFX1BSRUFEIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIHByZWFkNjQoKSBm
dW5jdGlvbi4gKi8KKyNkZWZpbmUgSEFWRV9QUkVBRDY0IDEKKworLyogRGVmaW5lIHRvIDEgaWYg
eW91IGhhdmUgdGhlIHB3cml0ZSgpIGZ1bmN0aW9uLiAqLworI2RlZmluZSBIQVZFX1BXUklURSAx
CisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBwd3JpdGU2NCgpIGZ1bmN0aW9uLiAq
LworI2RlZmluZSBIQVZFX1BXUklURTY0IDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUg
dGhlIDxzdGRpbnQuaD4gaGVhZGVyIGZpbGUuICovCisjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQor
CisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN0ZGxpYi5oPiBoZWFkZXIgZmlsZS4g
Ki8KKyNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZl
IHRoZSBzdHJjaHJudWwoKSBmdW5jdGlvbiAqLworI2RlZmluZSBIQVZFX1NUUkNIUk5VTCAxCisK
Ky8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3RyaW5ncy5oPiBoZWFkZXIgZmlsZS4g
Ki8KKyNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2
ZSB0aGUgPHN0cmluZy5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9TVFJJTkdfSCAx
CisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL3N0YXQuaD4gaGVhZGVyIGZp
bGUuICovCisjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlv
dSBoYXZlIHRoZSA8c3lzL3R5cGVzLmg+IGhlYWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX1NZ
U19UWVBFU19IIDEKKworLyogRGVmaW5lIHRvIDEgaWYgdGhlIHN5c3RlbSBoYXMgdGhlIHR5cGUg
YHVpbnQxNl90Jy4gKi8KKyNkZWZpbmUgSEFWRV9VSU5UMTZfVCAxCisKKy8qIERlZmluZSB0byAx
IGlmIHRoZSBzeXN0ZW0gaGFzIHRoZSB0eXBlIGB1aW50MzJfdCcuICovCisjZGVmaW5lIEhBVkVf
VUlOVDMyX1QgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB0aGUgc3lzdGVtIGhhcyB0aGUgdHlwZSBg
dWludDY0X3QnLiAqLworI2RlZmluZSBIQVZFX1VJTlQ2NF9UIDEKKworLyogRGVmaW5lIHRvIDEg
aWYgdGhlIHN5c3RlbSBoYXMgdGhlIHR5cGUgYHVpbnQ4X3QnLiAqLworI2RlZmluZSBIQVZFX1VJ
TlQ4X1QgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB0aGUgc3lzdGVtIGhhcyB0aGUgdHlwZSBgdWlu
dHB0cl90Jy4gKi8KKyNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQorCisvKiBEZWZpbmUgdG8gMSBp
ZiB5b3UgaGF2ZSB0aGUgPHVuaXN0ZC5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9V
TklTVERfSCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgdXNsZWVwJyBmdW5j
dGlvbi4gKi8KKyNkZWZpbmUgSEFWRV9VU0xFRVAgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3Ug
aGF2ZSB0aGUgdXRpbWUoKSBsaWJyYXJ5IGZ1bmN0aW9uLiAqLworI2RlZmluZSBIQVZFX1VUSU1F
IDEKKworLyogRGVmaW5lIHRvIHRoZSBzdWItZGlyZWN0b3J5IGluIHdoaWNoIGxpYnRvb2wgc3Rv
cmVzIHVuaW5zdGFsbGVkIGxpYnJhcmllcy4gKi8KKyNkZWZpbmUgTFRfT0JKRElSICIubGlicy8i
CisKKy8qIERlZmluZSB0byB0aGUgYWRkcmVzcyB3aGVyZSBidWcgcmVwb3J0cyBmb3IgdGhpcyBw
YWNrYWdlIHNob3VsZCBiZSBzZW50LiAqLworI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiIgor
CisvKiBEZWZpbmUgdG8gdGhlIGZ1bGwgbmFtZSBvZiB0aGlzIHBhY2thZ2UuICovCisjZGVmaW5l
IFBBQ0tBR0VfTkFNRSAic3FsaXRlIgorCisvKiBEZWZpbmUgdG8gdGhlIGZ1bGwgbmFtZSBhbmQg
dmVyc2lvbiBvZiB0aGlzIHBhY2thZ2UuICovCisjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJzcWxp
dGUgMy4zMC4xIgorCisvKiBEZWZpbmUgdG8gdGhlIG9uZSBzeW1ib2wgc2hvcnQgbmFtZSBvZiB0
aGlzIHBhY2thZ2UuICovCisjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAic3FsaXRlIgorCisvKiBE
ZWZpbmUgdG8gdGhlIHZlcnNpb24gb2YgdGhpcyBwYWNrYWdlLiAqLworI2RlZmluZSBQQUNLQUdF
X1ZFUlNJT04gIjMuMzAuMSIKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIEFOU0kg
QyBoZWFkZXIgZmlsZXMuICovCisjZGVmaW5lIFNURENfSEVBREVSUyAxCisKKy8qIE51bWJlciBv
ZiBiaXRzIGluIGEgZmlsZSBvZmZzZXQsIG9uIGhvc3RzIHdoZXJlIHRoaXMgaXMgc2V0dGFibGUu
ICovCisvKiAjdW5kZWYgX0ZJTEVfT0ZGU0VUX0JJVFMgKi8KKworLyogRGVmaW5lIGZvciBsYXJn
ZSBmaWxlcywgb24gQUlYLXN0eWxlIGhvc3RzLiAqLworLyogI3VuZGVmIF9MQVJHRV9GSUxFUyAq
LwotLSAKMi4xMS4wCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJv
amVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21p
bmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Mon Dec 09 13:36:57 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 09 Dec 2019 13:36:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ieJDd-00032T-2A; Mon, 09 Dec 2019 13:36:57 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=nF+J=Z7=sauron.run.montefiore.ulg.ac.be=gain@srs-us1.protection.inumbo.net>)
 id 1ieJDb-00032M-IT
 for minios-devel@lists.xenproject.org; Mon, 09 Dec 2019 13:36:55 +0000
X-Inumbo-ID: ed354b4e-1a88-11ea-a1e1-bc764e2007e4
Received: from serv108.segi.ulg.ac.be (unknown [139.165.32.111])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id ed354b4e-1a88-11ea-a1e1-bc764e2007e4;
 Mon, 09 Dec 2019 13:36:39 +0000 (UTC)
Received: from sauron.run.montefiore.ulg.ac.be
 (sauron.run.montefiore.ulg.ac.be [139.165.223.31])
 by serv108.segi.ulg.ac.be (Postfix) with ESMTP id 65B1B201A7DD;
 Mon,  9 Dec 2019 14:36:37 +0100 (CET)
DKIM-Filter: OpenDKIM Filter v2.11.0 serv108.segi.ulg.ac.be 65B1B201A7DD
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=uliege.be;
 s=ulg20190529; t=1575898597;
 bh=zIx4EfaZ/k/B4DY+z4Hn3+NT+k0PICSis75rn4P7vKc=;
 h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
 b=Ojg3Nm8DxFW/b3KExkbeXCXQXTWR0IWaZoAM7860s7vyOzuqXw4L1JXm2Nx1pt8Lc
 60WdiuogsYxd8hzsrsmfhZrqzhM2R97azgCYYd2PUQyp5mvmwPewzpTHjfKdgdTsY9
 i3SgeJRCBArEtrQyqc2BpGdJH7UANholyG/hUL28gP51vh0xr1rxHiSFL4n+YbbHyE
 uWKOgJIux92Au4BhFGF9hepnmKYiWjxMGCfmoE0JCi2e9UfPTIEH3N2Gf4t3UQxfY1
 4iwSvICvzMqLsBCt09i8643/vgOBI4TdqrY60IRoJixftwTzDzgfh1J7ed43UFyiHd
 cR7ezYwBbSYZA==
Received: by sauron.run.montefiore.ulg.ac.be (Postfix, from userid 1000)
 id 5E6E4C00BA; Mon,  9 Dec 2019 14:36:37 +0100 (CET)
From: Gaulthier Gain <gaulthier.gain@uliege.be>
To: minios-devel@lists.xenproject.org
Date: Mon,  9 Dec 2019 14:36:27 +0100
Message-Id: <20191209133627.18558-7-gaulthier.gain@uliege.be>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191209133627.18558-1-gaulthier.gain@uliege.be>
References: <20191209133627.18558-1-gaulthier.gain@uliege.be>
Subject: [Minios-devel] [UNIKRAFT/SQLITE V4 PATCH 6/6] README.md: Update
 with info about building and running
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Gaulthier Gain <gaulthier.gain@uliege.be>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

U2lnbmVkLW9mZi1ieTogR2F1bHRoaWVyIEdhaW4gPGdhdWx0aGllci5nYWluQHVsaWVnZS5iZT4K
LS0tCiBSRUFETUUubWQgfCAyMyArKysrKysrKysrKysrKysrKysrKy0tLQogMSBmaWxlIGNoYW5n
ZWQsIDIwIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvUkVBRE1F
Lm1kIGIvUkVBRE1FLm1kCmluZGV4IGJmMmZlZTcuLjM1YmI4OTYgMTAwNjQ0Ci0tLSBhL1JFQURN
RS5tZAorKysgYi9SRUFETUUubWQKQEAgLTEsNyArMSwyNCBAQAotU1FMaXRlIGZvciBVbmlrcmFm
dAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLQorIyBTUUxpdGUgZm9yIFVuaWtyYWZ0
CiBUaGlzIGlzIHRoZSBwb3J0IG9mIFNRTGl0ZSBmb3IgVW5pa3JhZnQgYXMgZXh0ZXJuYWwgbGli
cmFyeS4KIAorIyMgQnVpbGQKK1NRTGl0ZSBkZXBlbmRzIG9uIHRoZSBmb2xsb3dpbmcgbGlicmFy
aWVzLCB0aGF0IG5lZWQgdG8gYmUgYWRkZWQgdG8KK2BNYWtlZmlsZWAgaW4gdGhpcyBvcmRlcjoK
KworKiBgcHRocmVhZHNgLCBlLmcuIGBwdGhyZWFkLWVtYmVkZGVkYAorKiBgbGliY2AsIGUuZy4g
YG5ld2xpYmAKKworQmVmb3JlIHlvdSBwcm9jZWVkIHRvIHdyaXRpbmcgeW91ciBvd24gYXBwbGlj
YXRpb24sIHlvdSBjYW4gdXNlIHRoZQorYG1haW4oKWAgZnVuY3Rpb24gcHJvdmlkZWQgaW4gdGhl
IFNRTGl0ZSBnbHVlIGNvZGUgYnkgZW5hYmxpbmcgaXQgaW4KK2l0cyBjb25maWd1cmF0aW9uIG1l
bnUuCisKKyMjIFJvb3QgZmlsZXN5c3RlbQorCitUbyBpbXBvcnQvZXhwb3J0IGRhdGFiYXNlcyBh
bmQvb3IgY3N2IGZpbGVzLCBpdCBpcyBuZWNlc3NhcnkgdG8gaGF2ZQorYSBmaWxlc3lzdGVtLiBU
aGUgc3RlcHMgZm9yIGNyZWF0aW5nIGFuZCB1c2luZyBhIGZpbGVzeXN0ZW0gYXJlIHRoZQorc2Ft
ZSBhcyB0aGUgb25lcyB1c2VkIGZvcgorW25naW54XShodHRwczovL2dpdGh1Yi5jb20vdW5pa3Jh
ZnQvbGliLW5naW54L2Jsb2Ivc3RhZ2luZy9SRUFETUUubWQpLgorCisjIyBGdXJ0aGVyIGluZm9y
bWF0aW9uCiBQbGVhc2UgcmVmZXIgdG8gdGhlIGBSRUFETUUubWRgIGFzIHdlbGwgYXMgdGhlIGRv
Y3VtZW50YXRpb24gaW4gdGhlCiBgZG9jL2Agc3ViZGlyZWN0b3J5IG9mIHRoZSBtYWluIHVuaWty
YWZ0IHJlcG9zaXRvcnkuCi0tIAoyLjExLjAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZl
bEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxt
YW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Mon Dec 09 13:42:12 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 09 Dec 2019 13:42:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ieJIh-0003xW-Jb; Mon, 09 Dec 2019 13:42:11 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=qLlK=Z6=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1idtIY-0007oz-EW
 for minios-devel@lists.xen.org; Sun, 08 Dec 2019 09:56:18 +0000
X-Inumbo-ID: dd2da40a-19a0-11ea-b6f1-bc764e2007e4
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id dd2da40a-19a0-11ea-b6f1-bc764e2007e4;
 Sun, 08 Dec 2019 09:55:28 +0000 (UTC)
IronPort-SDR: UQtmbANW7GBaW2p3FObBBWB11HrCBQrMlMCPSZiRMtzWllcaTcsxFm+7s1Z2WpbejafBfbpUW7
 o+39uVYJjDqA==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 08 Dec 2019 11:55:19 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id B5E141A60DF0;
 Sun,  8 Dec 2019 11:55:19 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id 0_JiorONDv_m; Sun,  8 Dec 2019 11:55:19 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 8304C1A60A93;
 Sun,  8 Dec 2019 11:55:19 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id TukStHM3MmY4; Sun,  8 Dec 2019 11:55:19 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 500581A60E00;
 Sun,  8 Dec 2019 11:55:18 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Sun,  8 Dec 2019 11:55:02 +0200
Message-Id: <20191208095507.27384-12-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191208095507.27384-1-costin.lupu@cs.pub.ro>
References: <20191208095507.27384-1-costin.lupu@cs.pub.ro>
X-Mailman-Approved-At: Mon, 09 Dec 2019 13:42:09 +0000
Subject: [Minios-devel] [UNIKRAFT/RUBY PATCH 11/16] encodings: Add generated
 files
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

U2lnbmVkLW9mZi1ieTogQ29zdGluIEx1cHUgPGNvc3Rpbi5sdXB1QGNzLnB1Yi5ybz4KLS0tCiBn
ZW5lcmF0ZWQvZW5jL2VuY2luaXQuYyAgICAgICAgICAgICAgICAgICB8ICAgIDg4ICsKIGdlbmVy
YXRlZC9lbmMvdHJhbnMvbmV3bGluZS5jICAgICAgICAgICAgIHwgICAxODkgKwogZ2VuZXJhdGVk
L2VuYy91bmljb2RlLzEyLjEuMC9jYXNlZm9sZC5oICAgfCAgNzQyOCArKysrCiBnZW5lcmF0ZWQv
ZW5jL3VuaWNvZGUvMTIuMS4wL25hbWUyY3R5cGUuaCB8IDQxODEwICsrKysrKysrKysrKysrKysr
KysrCiBnZW5lcmF0ZWQvZW5jZGIuaCAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTcyICsK
IDUgZmlsZXMgY2hhbmdlZCwgNDk2ODcgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0
IGdlbmVyYXRlZC9lbmMvZW5jaW5pdC5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2Vu
Yy90cmFucy9uZXdsaW5lLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvZW5jL3VuaWNv
ZGUvMTIuMS4wL2Nhc2Vmb2xkLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvZW5jL3Vu
aWNvZGUvMTIuMS4wL25hbWUyY3R5cGUuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9l
bmNkYi5oCgpkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2VuYy9lbmNpbml0LmMgYi9nZW5lcmF0ZWQv
ZW5jL2VuY2luaXQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YzM2MGU3
Ci0tLSAvZGV2L251bGwKKysrIGIvZ2VuZXJhdGVkL2VuYy9lbmNpbml0LmMKQEAgLTAsMCArMSw4
OCBAQAorLyogQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgZnJvbSBlbmMvZW5jaW5pdC5jLmVyYgor
ICogRG8gbm90IGVkaXQuCisgKi8KKy8qIENvcHlyaWdodCAyMDEyIEdvb2dsZSBJbmMuIFNvbWUg
UmlnaHRzIFJlc2VydmVkLgorICogQXV0aG9yOiB5dWd1aUBnb29nbGUuY29tIChZdWd1aSBTb25v
ZGEpCisgKi8KKyNpbmNsdWRlIDxzdGRpby5oPgorCisjZGVmaW5lIGluaXQoZnVuYywgbmFtZSkg
ewlcCisgICAgZXh0ZXJuIHZvaWQgZnVuYyh2b2lkKTsJXAorICAgIHJ1YnlfaW5pdF9leHQobmFt
ZSwgZnVuYyk7CVwKK30KKworI2RlZmluZSBpbml0X2VuYyhuYW1lKSBpbml0KEluaXRfIyNuYW1l
LCAiZW5jLyIjbmFtZSIuc28iKQorI2RlZmluZSBpbml0X3RyYW5zKG5hbWUpIGluaXQoSW5pdF90
cmFuc18jI25hbWUsICJlbmMvdHJhbnMvIiNuYW1lIi5zbyIpCisjZGVmaW5lIHByb3ZpZGUoZnVu
YywgbmFtZSkgeyBcCisgICAgZXh0ZXJuIHZvaWQgSW5pdF8jI2Z1bmModm9pZCk7IFwKKyAgICBJ
bml0XyMjZnVuYygpOyBcCisgICAgcmJfcHJvdmlkZShuYW1lIi5zbyIpOyBcCit9CisKK3ZvaWQg
cnVieV9pbml0X2V4dChjb25zdCBjaGFyICpuYW1lLCB2b2lkICgqaW5pdCkodm9pZCkpOwordm9p
ZCByYl9wcm92aWRlKGNvbnN0IGNoYXIgKmZlYXR1cmUpOworCit2b2lkCitJbml0X2VuYyh2b2lk
KQoreworICAgIHByb3ZpZGUoZW5jZGIsICJlbmNkYiIpOworICAgIGluaXRfZW5jKGJpZzUpOwor
ICAgIGluaXRfZW5jKGNwOTQ5KTsKKyAgICBpbml0X2VuYyhlbWFjc19tdWxlKTsKKyAgICBpbml0
X2VuYyhldWNfanApOworICAgIGluaXRfZW5jKGV1Y19rcik7CisgICAgaW5pdF9lbmMoZXVjX3R3
KTsKKyAgICBpbml0X2VuYyhnYjIzMTIpOworICAgIGluaXRfZW5jKGdiMTgwMzApOworICAgIGlu
aXRfZW5jKGdiayk7CisgICAgaW5pdF9lbmMoaXNvXzg4NTlfMSk7CisgICAgaW5pdF9lbmMoaXNv
Xzg4NTlfMik7CisgICAgaW5pdF9lbmMoaXNvXzg4NTlfMyk7CisgICAgaW5pdF9lbmMoaXNvXzg4
NTlfNCk7CisgICAgaW5pdF9lbmMoaXNvXzg4NTlfNSk7CisgICAgaW5pdF9lbmMoaXNvXzg4NTlf
Nik7CisgICAgaW5pdF9lbmMoaXNvXzg4NTlfNyk7CisgICAgaW5pdF9lbmMoaXNvXzg4NTlfOCk7
CisgICAgaW5pdF9lbmMoaXNvXzg4NTlfOSk7CisgICAgaW5pdF9lbmMoaXNvXzg4NTlfMTApOwor
ICAgIGluaXRfZW5jKGlzb184ODU5XzExKTsKKyAgICBpbml0X2VuYyhpc29fODg1OV8xMyk7Cisg
ICAgaW5pdF9lbmMoaXNvXzg4NTlfMTQpOworICAgIGluaXRfZW5jKGlzb184ODU5XzE1KTsKKyAg
ICBpbml0X2VuYyhpc29fODg1OV8xNik7CisgICAgaW5pdF9lbmMoa29pOF9yKTsKKyAgICBpbml0
X2VuYyhrb2k4X3UpOworICAgIGluaXRfZW5jKHNoaWZ0X2ppcyk7CisgICAgaW5pdF9lbmModXRm
XzE2YmUpOworICAgIGluaXRfZW5jKHV0Zl8xNmxlKTsKKyAgICBpbml0X2VuYyh1dGZfMzJiZSk7
CisgICAgaW5pdF9lbmModXRmXzMybGUpOworICAgIGluaXRfZW5jKHdpbmRvd3NfMzFqKTsKKyAg
ICBpbml0X2VuYyh3aW5kb3dzXzEyNTApOworICAgIGluaXRfZW5jKHdpbmRvd3NfMTI1MSk7Cisg
ICAgaW5pdF9lbmMod2luZG93c18xMjUyKTsKKyAgICBpbml0X2VuYyh3aW5kb3dzXzEyNTMpOwor
ICAgIGluaXRfZW5jKHdpbmRvd3NfMTI1NCk7CisgICAgaW5pdF9lbmMod2luZG93c18xMjU3KTsK
KworICAgIHByb3ZpZGUodHJhbnNkYiwgInRyYW5zL3RyYW5zZGIiKTsKKyAgICBpbml0X3RyYW5z
KGJpZzUpOworICAgIGluaXRfdHJhbnMoY2hpbmVzZSk7CisgICAgaW5pdF90cmFucyhlYmNkaWMp
OworICAgIGluaXRfdHJhbnMoZW1vamkpOworICAgIGluaXRfdHJhbnMoZW1vamlfaXNvMjAyMl9r
ZGRpKTsKKyAgICBpbml0X3RyYW5zKGVtb2ppX3NqaXNfZG9jb21vKTsKKyAgICBpbml0X3RyYW5z
KGVtb2ppX3NqaXNfa2RkaSk7CisgICAgaW5pdF90cmFucyhlbW9qaV9zamlzX3NvZnRiYW5rKTsK
KyAgICBpbml0X3RyYW5zKGVzY2FwZSk7CisgICAgaW5pdF90cmFucyhnYjE4MDMwKTsKKyAgICBp
bml0X3RyYW5zKGdiayk7CisgICAgaW5pdF90cmFucyhpc28yMDIyKTsKKyAgICBpbml0X3RyYW5z
KGphcGFuZXNlKTsKKyAgICBpbml0X3RyYW5zKGphcGFuZXNlX2V1Yyk7CisgICAgaW5pdF90cmFu
cyhqYXBhbmVzZV9zamlzKTsKKyAgICBpbml0X3RyYW5zKGtvcmVhbik7CisgICAgaW5pdF90cmFu
cyhzaW5nbGVfYnl0ZSk7CisgICAgaW5pdF90cmFucyh1dGY4X21hYyk7CisgICAgaW5pdF90cmFu
cyh1dGZfMTZfMzIpOworfQpkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2VuYy90cmFucy9uZXdsaW5l
LmMgYi9nZW5lcmF0ZWQvZW5jL3RyYW5zL25ld2xpbmUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi5mYTFjNWU0Ci0tLSAvZGV2L251bGwKKysrIGIvZ2VuZXJhdGVkL2VuYy90
cmFucy9uZXdsaW5lLmMKQEAgLTAsMCArMSwxODkgQEAKKy8qIGF1dG9nZW5lcmF0ZWQuICovCisv
KiBzcmM9InRyYW5zY29kZS10YmxnZW4ucmIiLCBsZW49MzA4MDMsIGNoZWNrc3VtPTU5MDA4ICov
CisvKiBzcmM9Im5ld2xpbmUudHJhbnMiLCBsZW49MzE2MiwgY2hlY2tzdW09NDI0ODUgKi8KKwor
I2luY2x1ZGUgInRyYW5zY29kZV9kYXRhLmgiCisKKworCitzdGF0aWMgY29uc3QgdW5zaWduZWQg
Y2hhcgorbmV3bGluZV9ieXRlX2FycmF5WzUxNl0gPSB7CisjZGVmaW5lIHVuaXZlcnNhbF9uZXds
aW5lX29mZnNldHMgMAorMCwgMjU1LAorICAgICAgMCwgIDAsICAwLCAgMCwgIDAsICAwLCAgMCwg
IDAsICAgIDAsICAwLCAgMCwgIDAsICAwLCAgMCwgIDAsICAwLAorICAgICAgMCwgIDAsICAwLCAg
MCwgIDAsICAwLCAgMCwgIDAsICAgIDAsICAwLCAgMCwgIDAsICAwLCAgMCwgIDAsICAwLAorICAg
ICAgMCwgIDAsICAwLCAgMCwgIDAsICAwLCAgMCwgIDAsICAgIDAsICAwLCAgMCwgIDAsICAwLCAg
MCwgIDAsICAwLAorICAgICAgMCwgIDAsICAwLCAgMCwgIDAsICAwLCAgMCwgIDAsICAgIDAsICAw
LCAgMCwgIDAsICAwLCAgMCwgIDAsICAwLAorICAgICAgMCwgIDAsICAwLCAgMCwgIDAsICAwLCAg
MCwgIDAsICAgIDAsICAwLCAgMCwgIDAsICAwLCAgMCwgIDAsICAwLAorICAgICAgMCwgIDAsICAw
LCAgMCwgIDAsICAwLCAgMCwgIDAsICAgIDAsICAwLCAgMCwgIDAsICAwLCAgMCwgIDAsICAwLAor
ICAgICAgMCwgIDAsICAwLCAgMCwgIDAsICAwLCAgMCwgIDAsICAgIDAsICAwLCAgMCwgIDAsICAw
LCAgMCwgIDAsICAwLAorICAgICAgMCwgIDAsICAwLCAgMCwgIDAsICAwLCAgMCwgIDAsICAgIDAs
ICAwLCAgMCwgIDAsICAwLCAgMCwgIDAsICAwLAorICAgICAgMCwgIDAsICAwLCAgMCwgIDAsICAw
LCAgMCwgIDAsICAgIDAsICAwLCAgMCwgIDAsICAwLCAgMCwgIDAsICAwLAorICAgICAgMCwgIDAs
ICAwLCAgMCwgIDAsICAwLCAgMCwgIDAsICAgIDAsICAwLCAgMCwgIDAsICAwLCAgMCwgIDAsICAw
LAorICAgICAgMCwgIDAsICAwLCAgMCwgIDAsICAwLCAgMCwgIDAsICAgIDAsICAwLCAgMCwgIDAs
ICAwLCAgMCwgIDAsICAwLAorICAgICAgMCwgIDAsICAwLCAgMCwgIDAsICAwLCAgMCwgIDAsICAg
IDAsICAwLCAgMCwgIDAsICAwLCAgMCwgIDAsICAwLAorICAgICAgMCwgIDAsICAwLCAgMCwgIDAs
ICAwLCAgMCwgIDAsICAgIDAsICAwLCAgMCwgIDAsICAwLCAgMCwgIDAsICAwLAorICAgICAgMCwg
IDAsICAwLCAgMCwgIDAsICAwLCAgMCwgIDAsICAgIDAsICAwLCAgMCwgIDAsICAwLCAgMCwgIDAs
ICAwLAorICAgICAgMCwgIDAsICAwLCAgMCwgIDAsICAwLCAgMCwgIDAsICAgIDAsICAwLCAgMCwg
IDAsICAwLCAgMCwgIDAsICAwLAorICAgICAgMCwgIDAsICAwLCAgMCwgIDAsICAwLCAgMCwgIDAs
ICAgIDAsICAwLCAgMCwgIDAsICAwLCAgMCwgIDAsICAwLAorCisjZGVmaW5lIGNybGZfbmV3bGlu
ZV9vZmZzZXRzIDI1OAorMCwgMjU1LAorICAgICAgMCwgIDAsICAwLCAgMCwgIDAsICAwLCAgMCwg
IDAsICAgIDAsICAwLCAgMSwgIDAsICAwLCAgMCwgIDAsICAwLAorICAgICAgMCwgIDAsICAwLCAg
MCwgIDAsICAwLCAgMCwgIDAsICAgIDAsICAwLCAgMCwgIDAsICAwLCAgMCwgIDAsICAwLAorICAg
ICAgMCwgIDAsICAwLCAgMCwgIDAsICAwLCAgMCwgIDAsICAgIDAsICAwLCAgMCwgIDAsICAwLCAg
MCwgIDAsICAwLAorICAgICAgMCwgIDAsICAwLCAgMCwgIDAsICAwLCAgMCwgIDAsICAgIDAsICAw
LCAgMCwgIDAsICAwLCAgMCwgIDAsICAwLAorICAgICAgMCwgIDAsICAwLCAgMCwgIDAsICAwLCAg
MCwgIDAsICAgIDAsICAwLCAgMCwgIDAsICAwLCAgMCwgIDAsICAwLAorICAgICAgMCwgIDAsICAw
LCAgMCwgIDAsICAwLCAgMCwgIDAsICAgIDAsICAwLCAgMCwgIDAsICAwLCAgMCwgIDAsICAwLAor
ICAgICAgMCwgIDAsICAwLCAgMCwgIDAsICAwLCAgMCwgIDAsICAgIDAsICAwLCAgMCwgIDAsICAw
LCAgMCwgIDAsICAwLAorICAgICAgMCwgIDAsICAwLCAgMCwgIDAsICAwLCAgMCwgIDAsICAgIDAs
ICAwLCAgMCwgIDAsICAwLCAgMCwgIDAsICAwLAorICAgICAgMCwgIDAsICAwLCAgMCwgIDAsICAw
LCAgMCwgIDAsICAgIDAsICAwLCAgMCwgIDAsICAwLCAgMCwgIDAsICAwLAorICAgICAgMCwgIDAs
ICAwLCAgMCwgIDAsICAwLCAgMCwgIDAsICAgIDAsICAwLCAgMCwgIDAsICAwLCAgMCwgIDAsICAw
LAorICAgICAgMCwgIDAsICAwLCAgMCwgIDAsICAwLCAgMCwgIDAsICAgIDAsICAwLCAgMCwgIDAs
ICAwLCAgMCwgIDAsICAwLAorICAgICAgMCwgIDAsICAwLCAgMCwgIDAsICAwLCAgMCwgIDAsICAg
IDAsICAwLCAgMCwgIDAsICAwLCAgMCwgIDAsICAwLAorICAgICAgMCwgIDAsICAwLCAgMCwgIDAs
ICAwLCAgMCwgIDAsICAgIDAsICAwLCAgMCwgIDAsICAwLCAgMCwgIDAsICAwLAorICAgICAgMCwg
IDAsICAwLCAgMCwgIDAsICAwLCAgMCwgIDAsICAgIDAsICAwLCAgMCwgIDAsICAwLCAgMCwgIDAs
ICAwLAorICAgICAgMCwgIDAsICAwLCAgMCwgIDAsICAwLCAgMCwgIDAsICAgIDAsICAwLCAgMCwg
IDAsICAwLCAgMCwgIDAsICAwLAorICAgICAgMCwgIDAsICAwLCAgMCwgIDAsICAwLCAgMCwgIDAs
ICAgIDAsICAwLCAgMCwgIDAsICAwLCAgMCwgIDAsICAwLAorCit9Oworc3RhdGljIGNvbnN0IHVu
c2lnbmVkIGludAorbmV3bGluZV93b3JkX2FycmF5WzExXSA9IHsKKyNkZWZpbmUgdW5pdmVyc2Fs
X25ld2xpbmVfaW5mb3MgV09SRElOREVYMklORk8oMCkKKyAgICAgRlVOc28sCisKKyNkZWZpbmUg
dW5pdmVyc2FsX25ld2xpbmUgV09SRElOREVYMklORk8oMSkKKyAgICB1bml2ZXJzYWxfbmV3bGlu
ZV9vZmZzZXRzLAorICAgIHVuaXZlcnNhbF9uZXdsaW5lX2luZm9zLAorCisjZGVmaW5lIGNybGZf
bmV3bGluZV9pbmZvcyBXT1JESU5ERVgySU5GTygzKQorICAgICAgICAgICAgIE5PTUFQLCBvMigw
eDBkLDB4MGEpLAorCisjZGVmaW5lIGNybGZfbmV3bGluZSBXT1JESU5ERVgySU5GTyg1KQorICAg
IGNybGZfbmV3bGluZV9vZmZzZXRzLAorICAgIGNybGZfbmV3bGluZV9pbmZvcywKKworI2RlZmlu
ZSBjcl9uZXdsaW5lX2luZm9zIFdPUkRJTkRFWDJJTkZPKDcpCisgICAgICAgIE5PTUFQLCBvMSgw
eDBkKSwKKworI2RlZmluZSBjcl9uZXdsaW5lIFdPUkRJTkRFWDJJTkZPKDkpCisgICAgY3JsZl9u
ZXdsaW5lX29mZnNldHMsCisgICAgY3JfbmV3bGluZV9pbmZvcywKKworfTsKKyNkZWZpbmUgVFJB
TlNDT0RFX1RBQkxFX0lORk8gbmV3bGluZV9ieXRlX2FycmF5LCA1MTYsIG5ld2xpbmVfd29yZF9h
cnJheSwgMTEsICgoaW50KXNpemVvZih1bnNpZ25lZCBpbnQpKQorCisKKyNkZWZpbmUgU1RBVEUg
KHNwWzBdKQorI2RlZmluZSBOT1JNQUwgMAorI2RlZmluZSBKVVNUX0FGVEVSX0NSIDEKKworLyog
bm8gd2F5IHRvIGFjY2VzcyB0aGlzIGluZm9ybWF0aW9uLCB5ZXQuICovCisjZGVmaW5lIE5FV0xJ
TkVTX01FVCAoc3BbMV0pCisjZGVmaW5lIE1FVF9MRiAgICAgICAgICAweDAxCisjZGVmaW5lIE1F
VF9DUkxGICAgICAgICAweDAyCisjZGVmaW5lIE1FVF9DUiAgICAgICAgICAweDA0CisKK3N0YXRp
YyBpbnQKK3VuaXZlcnNhbF9uZXdsaW5lX2luaXQodm9pZCAqc3RhdGVwKQoreworICAgIHVuc2ln
bmVkIGNoYXIgKnNwID0gc3RhdGVwOworICAgIFNUQVRFID0gTk9STUFMOworICAgIE5FV0xJTkVT
X01FVCA9IDA7CisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzc2l6ZV90CitmdW5fc29fdW5p
dmVyc2FsX25ld2xpbmUodm9pZCAqc3RhdGVwLCBjb25zdCB1bnNpZ25lZCBjaGFyICpzLCBzaXpl
X3QgbCwgdW5zaWduZWQgY2hhciAqbywgc2l6ZV90IG9zaXplKQoreworICAgIHVuc2lnbmVkIGNo
YXIgKnNwID0gc3RhdGVwOworICAgIGludCBsZW47CisgICAgaWYgKHNbMF0gPT0gJ1xuJykgewor
ICAgICAgICBpZiAoU1RBVEUgPT0gTk9STUFMKSB7CisgICAgICAgICAgICBORVdMSU5FU19NRVQg
fD0gTUVUX0xGOworICAgICAgICB9CisgICAgICAgIGVsc2UgeyAvKiBKVVNUX0FGVEVSX0NSICov
CisgICAgICAgICAgICBORVdMSU5FU19NRVQgfD0gTUVUX0NSTEY7CisgICAgICAgIH0KKyAgICAg
ICAgb1swXSA9ICdcbic7CisgICAgICAgIGxlbiA9IDE7CisgICAgICAgIFNUQVRFID0gTk9STUFM
OworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgbGVuID0gMDsKKyAgICAgICAgaWYgKFNUQVRF
ID09IEpVU1RfQUZURVJfQ1IpIHsKKyAgICAgICAgICAgIG9bMF0gPSAnXG4nOworICAgICAgICAg
ICAgbGVuID0gMTsKKyAgICAgICAgICAgIE5FV0xJTkVTX01FVCB8PSBNRVRfQ1I7CisgICAgICAg
IH0KKyAgICAgICAgaWYgKHNbMF0gPT0gJ1xyJykgeworICAgICAgICAgICAgU1RBVEUgPSBKVVNU
X0FGVEVSX0NSOworICAgICAgICB9CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgb1tsZW4r
K10gPSBzWzBdOworICAgICAgICAgICAgU1RBVEUgPSBOT1JNQUw7CisgICAgICAgIH0KKyAgICB9
CisKKyAgICByZXR1cm4gbGVuOworfQorCitzdGF0aWMgc3NpemVfdAordW5pdmVyc2FsX25ld2xp
bmVfZmluaXNoKHZvaWQgKnN0YXRlcCwgdW5zaWduZWQgY2hhciAqbywgc2l6ZV90IG9zaXplKQor
eworICAgIHVuc2lnbmVkIGNoYXIgKnNwID0gc3RhdGVwOworICAgIGludCBsZW4gPSAwOworICAg
IGlmIChTVEFURSA9PSBKVVNUX0FGVEVSX0NSKSB7CisgICAgICAgIG9bMF0gPSAnXG4nOworICAg
ICAgICBsZW4gPSAxOworICAgICAgICBORVdMSU5FU19NRVQgfD0gTUVUX0NSOworICAgIH0KKyAg
ICBTVEFURSA9IE5PUk1BTDsKKyAgICByZXR1cm4gbGVuOworfQorCitzdGF0aWMgY29uc3QgcmJf
dHJhbnNjb2RlcgorcmJfdW5pdmVyc2FsX25ld2xpbmUgPSB7CisgICAgIiIsICJ1bml2ZXJzYWxf
bmV3bGluZSIsIHVuaXZlcnNhbF9uZXdsaW5lLAorICAgIFRSQU5TQ09ERV9UQUJMRV9JTkZPLAor
ICAgIDEsIC8qIGlucHV0X3VuaXRfbGVuZ3RoICovCisgICAgMSwgLyogbWF4X2lucHV0ICovCisg
ICAgMiwgLyogbWF4X291dHB1dCAqLworICAgIGFzY2lpY29tcGF0X2NvbnZlcnRlciwgLyogYXNj
aWljb21wYXRfdHlwZSAqLworICAgIDIsIHVuaXZlcnNhbF9uZXdsaW5lX2luaXQsIHVuaXZlcnNh
bF9uZXdsaW5lX2luaXQsIC8qIHN0YXRlX3NpemUsIHN0YXRlX2luaXQsIHN0YXRlX2ZpbmkgKi8K
KyAgICBOVUxMLCBOVUxMLCBOVUxMLCBmdW5fc29fdW5pdmVyc2FsX25ld2xpbmUsCisgICAgdW5p
dmVyc2FsX25ld2xpbmVfZmluaXNoCit9OworCitzdGF0aWMgY29uc3QgcmJfdHJhbnNjb2Rlcgor
cmJfY3JsZl9uZXdsaW5lID0geworICAgICIiLCAiY3JsZl9uZXdsaW5lIiwgY3JsZl9uZXdsaW5l
LAorICAgIFRSQU5TQ09ERV9UQUJMRV9JTkZPLAorICAgIDEsIC8qIGlucHV0X3VuaXRfbGVuZ3Ro
ICovCisgICAgMSwgLyogbWF4X2lucHV0ICovCisgICAgMiwgLyogbWF4X291dHB1dCAqLworICAg
IGFzY2lpY29tcGF0X2NvbnZlcnRlciwgLyogYXNjaWljb21wYXRfdHlwZSAqLworICAgIDAsIE5V
TEwsIE5VTEwsIC8qIHN0YXRlX3NpemUsIHN0YXRlX2luaXQsIHN0YXRlX2ZpbmkgKi8KKyAgICBO
VUxMLCBOVUxMLCBOVUxMLCBOVUxMCit9OworCitzdGF0aWMgY29uc3QgcmJfdHJhbnNjb2Rlcgor
cmJfY3JfbmV3bGluZSA9IHsKKyAgICAiIiwgImNyX25ld2xpbmUiLCBjcl9uZXdsaW5lLAorICAg
IFRSQU5TQ09ERV9UQUJMRV9JTkZPLAorICAgIDEsIC8qIGlucHV0X3VuaXRfbGVuZ3RoICovCisg
ICAgMSwgLyogbWF4X2lucHV0ICovCisgICAgMSwgLyogbWF4X291dHB1dCAqLworICAgIGFzY2lp
Y29tcGF0X2NvbnZlcnRlciwgLyogYXNjaWljb21wYXRfdHlwZSAqLworICAgIDAsIE5VTEwsIE5V
TEwsIC8qIHN0YXRlX3NpemUsIHN0YXRlX2luaXQsIHN0YXRlX2ZpbmkgKi8KKyAgICBOVUxMLCBO
VUxMLCBOVUxMLCBOVUxMCit9OworCit2b2lkCitJbml0X25ld2xpbmUodm9pZCkKK3sKKyAgICBy
Yl9yZWdpc3Rlcl90cmFuc2NvZGVyKCZyYl91bml2ZXJzYWxfbmV3bGluZSk7CisgICAgcmJfcmVn
aXN0ZXJfdHJhbnNjb2RlcigmcmJfY3JsZl9uZXdsaW5lKTsKKyAgICByYl9yZWdpc3Rlcl90cmFu
c2NvZGVyKCZyYl9jcl9uZXdsaW5lKTsKK30KKwpkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2VuYy91
bmljb2RlLzEyLjEuMC9jYXNlZm9sZC5oIGIvZ2VuZXJhdGVkL2VuYy91bmljb2RlLzEyLjEuMC9j
YXNlZm9sZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRjNjJmMGYKLS0t
IC9kZXYvbnVsbAorKysgYi9nZW5lcmF0ZWQvZW5jL3VuaWNvZGUvMTIuMS4wL2Nhc2Vmb2xkLmgK
QEAgLTAsMCArMSw3NDI4IEBACisvKiBETyBOT1QgRURJVCBUSElTIEZJTEUuICovCisvKiBHZW5l
cmF0ZWQgYnkgZW5jL3VuaWNvZGUvY2FzZS1mb2xkaW5nLnJiICovCisKKyNpZiBkZWZpbmVkIE9O
SUdfVU5JQ09ERV9WRVJTSU9OX1NUUklORyAmJiAhKCBcCisgICAgICBPTklHX1VOSUNPREVfVkVS
U0lPTl9NQUpPUiA9PSAxMiAmJiBcCisgICAgICBPTklHX1VOSUNPREVfVkVSU0lPTl9NSU5PUiA9
PSAxICYmIFwKKyAgICAgIE9OSUdfVU5JQ09ERV9WRVJTSU9OX1RFRU5ZID09IDAgJiYgXAorICAg
ICAgMSkKKyMgZXJyb3IgT05JR19VTklDT0RFX1ZFUlNJT05fU1RSSU5HIG1pc21hdGNoCisjZW5k
aWYKKyNkZWZpbmUgT05JR19VTklDT0RFX1ZFUlNJT05fU1RSSU5HICIxMi4xLjAiCisjZGVmaW5l
IE9OSUdfVU5JQ09ERV9WRVJTSU9OX01BSk9SIDEyCisjZGVmaW5lIE9OSUdfVU5JQ09ERV9WRVJT
SU9OX01JTk9SIDEKKyNkZWZpbmUgT05JR19VTklDT0RFX1ZFUlNJT05fVEVFTlkgMAorCitzdGF0
aWMgY29uc3QgQ2FzZUZvbGRfMTFfVHlwZSBDYXNlRm9sZF8xMV9UYWJsZVtdID0geworI2RlZmlu
ZSBDYXNlRm9sZCAoKihDYXNlRm9sZF8xMV9UeXBlICgqKVsxNDg1XSkoQ2FzZUZvbGRfMTFfVGFi
bGUrMCkpCisgIHsweDAwNDEsIHsxfEZ8RCwgezB4MDA2MX19fSwKKyAgezB4MDA0MiwgezF8RnxE
LCB7MHgwMDYyfX19LAorICB7MHgwMDQzLCB7MXxGfEQsIHsweDAwNjN9fX0sCisgIHsweDAwNDQs
IHsxfEZ8RCwgezB4MDA2NH19fSwKKyAgezB4MDA0NSwgezF8RnxELCB7MHgwMDY1fX19LAorICB7
MHgwMDQ2LCB7MXxGfEQsIHsweDAwNjZ9fX0sCisgIHsweDAwNDcsIHsxfEZ8RCwgezB4MDA2N319
fSwKKyAgezB4MDA0OCwgezF8RnxELCB7MHgwMDY4fX19LAorICB7MHgwMDRhLCB7MXxGfEQsIHsw
eDAwNmF9fX0sCisgIHsweDAwNGIsIHsxfEZ8RCwgezB4MDA2Yn19fSwKKyAgezB4MDA0YywgezF8
RnxELCB7MHgwMDZjfX19LAorICB7MHgwMDRkLCB7MXxGfEQsIHsweDAwNmR9fX0sCisgIHsweDAw
NGUsIHsxfEZ8RCwgezB4MDA2ZX19fSwKKyAgezB4MDA0ZiwgezF8RnxELCB7MHgwMDZmfX19LAor
ICB7MHgwMDUwLCB7MXxGfEQsIHsweDAwNzB9fX0sCisgIHsweDAwNTEsIHsxfEZ8RCwgezB4MDA3
MX19fSwKKyAgezB4MDA1MiwgezF8RnxELCB7MHgwMDcyfX19LAorICB7MHgwMDUzLCB7MXxGfEQs
IHsweDAwNzN9fX0sCisgIHsweDAwNTQsIHsxfEZ8RCwgezB4MDA3NH19fSwKKyAgezB4MDA1NSwg
ezF8RnxELCB7MHgwMDc1fX19LAorICB7MHgwMDU2LCB7MXxGfEQsIHsweDAwNzZ9fX0sCisgIHsw
eDAwNTcsIHsxfEZ8RCwgezB4MDA3N319fSwKKyAgezB4MDA1OCwgezF8RnxELCB7MHgwMDc4fX19
LAorICB7MHgwMDU5LCB7MXxGfEQsIHsweDAwNzl9fX0sCisgIHsweDAwNWEsIHsxfEZ8RCwgezB4
MDA3YX19fSwKKyAgezB4MDBiNSwgezF8RnxTVXxJKDApLCB7MHgwM2JjfX19LAorICB7MHgwMGMw
LCB7MXxGfEQsIHsweDAwZTB9fX0sCisgIHsweDAwYzEsIHsxfEZ8RCwgezB4MDBlMX19fSwKKyAg
ezB4MDBjMiwgezF8RnxELCB7MHgwMGUyfX19LAorICB7MHgwMGMzLCB7MXxGfEQsIHsweDAwZTN9
fX0sCisgIHsweDAwYzQsIHsxfEZ8RCwgezB4MDBlNH19fSwKKyAgezB4MDBjNSwgezF8RnxELCB7
MHgwMGU1fX19LAorICB7MHgwMGM2LCB7MXxGfEQsIHsweDAwZTZ9fX0sCisgIHsweDAwYzcsIHsx
fEZ8RCwgezB4MDBlN319fSwKKyAgezB4MDBjOCwgezF8RnxELCB7MHgwMGU4fX19LAorICB7MHgw
MGM5LCB7MXxGfEQsIHsweDAwZTl9fX0sCisgIHsweDAwY2EsIHsxfEZ8RCwgezB4MDBlYX19fSwK
KyAgezB4MDBjYiwgezF8RnxELCB7MHgwMGVifX19LAorICB7MHgwMGNjLCB7MXxGfEQsIHsweDAw
ZWN9fX0sCisgIHsweDAwY2QsIHsxfEZ8RCwgezB4MDBlZH19fSwKKyAgezB4MDBjZSwgezF8RnxE
LCB7MHgwMGVlfX19LAorICB7MHgwMGNmLCB7MXxGfEQsIHsweDAwZWZ9fX0sCisgIHsweDAwZDAs
IHsxfEZ8RCwgezB4MDBmMH19fSwKKyAgezB4MDBkMSwgezF8RnxELCB7MHgwMGYxfX19LAorICB7
MHgwMGQyLCB7MXxGfEQsIHsweDAwZjJ9fX0sCisgIHsweDAwZDMsIHsxfEZ8RCwgezB4MDBmM319
fSwKKyAgezB4MDBkNCwgezF8RnxELCB7MHgwMGY0fX19LAorICB7MHgwMGQ1LCB7MXxGfEQsIHsw
eDAwZjV9fX0sCisgIHsweDAwZDYsIHsxfEZ8RCwgezB4MDBmNn19fSwKKyAgezB4MDBkOCwgezF8
RnxELCB7MHgwMGY4fX19LAorICB7MHgwMGQ5LCB7MXxGfEQsIHsweDAwZjl9fX0sCisgIHsweDAw
ZGEsIHsxfEZ8RCwgezB4MDBmYX19fSwKKyAgezB4MDBkYiwgezF8RnxELCB7MHgwMGZifX19LAor
ICB7MHgwMGRjLCB7MXxGfEQsIHsweDAwZmN9fX0sCisgIHsweDAwZGQsIHsxfEZ8RCwgezB4MDBm
ZH19fSwKKyAgezB4MDBkZSwgezF8RnxELCB7MHgwMGZlfX19LAorICB7MHgwMGRmLCB7MnxGfFNU
fFNVfEkoMSksIHsweDAwNzMsIDB4MDA3M319fSwKKyAgezB4MDEwMCwgezF8RnxELCB7MHgwMTAx
fX19LAorICB7MHgwMTAyLCB7MXxGfEQsIHsweDAxMDN9fX0sCisgIHsweDAxMDQsIHsxfEZ8RCwg
ezB4MDEwNX19fSwKKyAgezB4MDEwNiwgezF8RnxELCB7MHgwMTA3fX19LAorICB7MHgwMTA4LCB7
MXxGfEQsIHsweDAxMDl9fX0sCisgIHsweDAxMGEsIHsxfEZ8RCwgezB4MDEwYn19fSwKKyAgezB4
MDEwYywgezF8RnxELCB7MHgwMTBkfX19LAorICB7MHgwMTBlLCB7MXxGfEQsIHsweDAxMGZ9fX0s
CisgIHsweDAxMTAsIHsxfEZ8RCwgezB4MDExMX19fSwKKyAgezB4MDExMiwgezF8RnxELCB7MHgw
MTEzfX19LAorICB7MHgwMTE0LCB7MXxGfEQsIHsweDAxMTV9fX0sCisgIHsweDAxMTYsIHsxfEZ8
RCwgezB4MDExN319fSwKKyAgezB4MDExOCwgezF8RnxELCB7MHgwMTE5fX19LAorICB7MHgwMTFh
LCB7MXxGfEQsIHsweDAxMWJ9fX0sCisgIHsweDAxMWMsIHsxfEZ8RCwgezB4MDExZH19fSwKKyAg
ezB4MDExZSwgezF8RnxELCB7MHgwMTFmfX19LAorICB7MHgwMTIwLCB7MXxGfEQsIHsweDAxMjF9
fX0sCisgIHsweDAxMjIsIHsxfEZ8RCwgezB4MDEyM319fSwKKyAgezB4MDEyNCwgezF8RnxELCB7
MHgwMTI1fX19LAorICB7MHgwMTI2LCB7MXxGfEQsIHsweDAxMjd9fX0sCisgIHsweDAxMjgsIHsx
fEZ8RCwgezB4MDEyOX19fSwKKyAgezB4MDEyYSwgezF8RnxELCB7MHgwMTJifX19LAorICB7MHgw
MTJjLCB7MXxGfEQsIHsweDAxMmR9fX0sCisgIHsweDAxMmUsIHsxfEZ8RCwgezB4MDEyZn19fSwK
KyAgezB4MDEzMiwgezF8RnxELCB7MHgwMTMzfX19LAorICB7MHgwMTM0LCB7MXxGfEQsIHsweDAx
MzV9fX0sCisgIHsweDAxMzYsIHsxfEZ8RCwgezB4MDEzN319fSwKKyAgezB4MDEzOSwgezF8RnxE
LCB7MHgwMTNhfX19LAorICB7MHgwMTNiLCB7MXxGfEQsIHsweDAxM2N9fX0sCisgIHsweDAxM2Qs
IHsxfEZ8RCwgezB4MDEzZX19fSwKKyAgezB4MDEzZiwgezF8RnxELCB7MHgwMTQwfX19LAorICB7
MHgwMTQxLCB7MXxGfEQsIHsweDAxNDJ9fX0sCisgIHsweDAxNDMsIHsxfEZ8RCwgezB4MDE0NH19
fSwKKyAgezB4MDE0NSwgezF8RnxELCB7MHgwMTQ2fX19LAorICB7MHgwMTQ3LCB7MXxGfEQsIHsw
eDAxNDh9fX0sCisgIHsweDAxNDksIHsyfEZ8U1V8SSg1KSwgezB4MDJiYywgMHgwMDZlfX19LAor
ICB7MHgwMTRhLCB7MXxGfEQsIHsweDAxNGJ9fX0sCisgIHsweDAxNGMsIHsxfEZ8RCwgezB4MDE0
ZH19fSwKKyAgezB4MDE0ZSwgezF8RnxELCB7MHgwMTRmfX19LAorICB7MHgwMTUwLCB7MXxGfEQs
IHsweDAxNTF9fX0sCisgIHsweDAxNTIsIHsxfEZ8RCwgezB4MDE1M319fSwKKyAgezB4MDE1NCwg
ezF8RnxELCB7MHgwMTU1fX19LAorICB7MHgwMTU2LCB7MXxGfEQsIHsweDAxNTd9fX0sCisgIHsw
eDAxNTgsIHsxfEZ8RCwgezB4MDE1OX19fSwKKyAgezB4MDE1YSwgezF8RnxELCB7MHgwMTVifX19
LAorICB7MHgwMTVjLCB7MXxGfEQsIHsweDAxNWR9fX0sCisgIHsweDAxNWUsIHsxfEZ8RCwgezB4
MDE1Zn19fSwKKyAgezB4MDE2MCwgezF8RnxELCB7MHgwMTYxfX19LAorICB7MHgwMTYyLCB7MXxG
fEQsIHsweDAxNjN9fX0sCisgIHsweDAxNjQsIHsxfEZ8RCwgezB4MDE2NX19fSwKKyAgezB4MDE2
NiwgezF8RnxELCB7MHgwMTY3fX19LAorICB7MHgwMTY4LCB7MXxGfEQsIHsweDAxNjl9fX0sCisg
IHsweDAxNmEsIHsxfEZ8RCwgezB4MDE2Yn19fSwKKyAgezB4MDE2YywgezF8RnxELCB7MHgwMTZk
fX19LAorICB7MHgwMTZlLCB7MXxGfEQsIHsweDAxNmZ9fX0sCisgIHsweDAxNzAsIHsxfEZ8RCwg
ezB4MDE3MX19fSwKKyAgezB4MDE3MiwgezF8RnxELCB7MHgwMTczfX19LAorICB7MHgwMTc0LCB7
MXxGfEQsIHsweDAxNzV9fX0sCisgIHsweDAxNzYsIHsxfEZ8RCwgezB4MDE3N319fSwKKyAgezB4
MDE3OCwgezF8RnxELCB7MHgwMGZmfX19LAorICB7MHgwMTc5LCB7MXxGfEQsIHsweDAxN2F9fX0s
CisgIHsweDAxN2IsIHsxfEZ8RCwgezB4MDE3Y319fSwKKyAgezB4MDE3ZCwgezF8RnxELCB7MHgw
MTdlfX19LAorICB7MHgwMTdmLCB7MXxGfFNVfEkoNyksIHsweDAwNzN9fX0sCisgIHsweDAxODEs
IHsxfEZ8RCwgezB4MDI1M319fSwKKyAgezB4MDE4MiwgezF8RnxELCB7MHgwMTgzfX19LAorICB7
MHgwMTg0LCB7MXxGfEQsIHsweDAxODV9fX0sCisgIHsweDAxODYsIHsxfEZ8RCwgezB4MDI1NH19
fSwKKyAgezB4MDE4NywgezF8RnxELCB7MHgwMTg4fX19LAorICB7MHgwMTg5LCB7MXxGfEQsIHsw
eDAyNTZ9fX0sCisgIHsweDAxOGEsIHsxfEZ8RCwgezB4MDI1N319fSwKKyAgezB4MDE4YiwgezF8
RnxELCB7MHgwMThjfX19LAorICB7MHgwMThlLCB7MXxGfEQsIHsweDAxZGR9fX0sCisgIHsweDAx
OGYsIHsxfEZ8RCwgezB4MDI1OX19fSwKKyAgezB4MDE5MCwgezF8RnxELCB7MHgwMjVifX19LAor
ICB7MHgwMTkxLCB7MXxGfEQsIHsweDAxOTJ9fX0sCisgIHsweDAxOTMsIHsxfEZ8RCwgezB4MDI2
MH19fSwKKyAgezB4MDE5NCwgezF8RnxELCB7MHgwMjYzfX19LAorICB7MHgwMTk2LCB7MXxGfEQs
IHsweDAyNjl9fX0sCisgIHsweDAxOTcsIHsxfEZ8RCwgezB4MDI2OH19fSwKKyAgezB4MDE5OCwg
ezF8RnxELCB7MHgwMTk5fX19LAorICB7MHgwMTljLCB7MXxGfEQsIHsweDAyNmZ9fX0sCisgIHsw
eDAxOWQsIHsxfEZ8RCwgezB4MDI3Mn19fSwKKyAgezB4MDE5ZiwgezF8RnxELCB7MHgwMjc1fX19
LAorICB7MHgwMWEwLCB7MXxGfEQsIHsweDAxYTF9fX0sCisgIHsweDAxYTIsIHsxfEZ8RCwgezB4
MDFhM319fSwKKyAgezB4MDFhNCwgezF8RnxELCB7MHgwMWE1fX19LAorICB7MHgwMWE2LCB7MXxG
fEQsIHsweDAyODB9fX0sCisgIHsweDAxYTcsIHsxfEZ8RCwgezB4MDFhOH19fSwKKyAgezB4MDFh
OSwgezF8RnxELCB7MHgwMjgzfX19LAorICB7MHgwMWFjLCB7MXxGfEQsIHsweDAxYWR9fX0sCisg
IHsweDAxYWUsIHsxfEZ8RCwgezB4MDI4OH19fSwKKyAgezB4MDFhZiwgezF8RnxELCB7MHgwMWIw
fX19LAorICB7MHgwMWIxLCB7MXxGfEQsIHsweDAyOGF9fX0sCisgIHsweDAxYjIsIHsxfEZ8RCwg
ezB4MDI4Yn19fSwKKyAgezB4MDFiMywgezF8RnxELCB7MHgwMWI0fX19LAorICB7MHgwMWI1LCB7
MXxGfEQsIHsweDAxYjZ9fX0sCisgIHsweDAxYjcsIHsxfEZ8RCwgezB4MDI5Mn19fSwKKyAgezB4
MDFiOCwgezF8RnxELCB7MHgwMWI5fX19LAorICB7MHgwMWJjLCB7MXxGfEQsIHsweDAxYmR9fX0s
CisgIHsweDAxYzQsIHsxfEZ8RHxTVHxJKDgpLCB7MHgwMWM2fX19LAorICB7MHgwMWM1LCB7MXxG
fER8SVR8U1V8SSg5KSwgezB4MDFjNn19fSwKKyAgezB4MDFjNywgezF8RnxEfFNUfEkoMTIpLCB7
MHgwMWM5fX19LAorICB7MHgwMWM4LCB7MXxGfER8SVR8U1V8SSgxMyksIHsweDAxYzl9fX0sCisg
IHsweDAxY2EsIHsxfEZ8RHxTVHxJKDE2KSwgezB4MDFjY319fSwKKyAgezB4MDFjYiwgezF8RnxE
fElUfFNVfEkoMTcpLCB7MHgwMWNjfX19LAorICB7MHgwMWNkLCB7MXxGfEQsIHsweDAxY2V9fX0s
CisgIHsweDAxY2YsIHsxfEZ8RCwgezB4MDFkMH19fSwKKyAgezB4MDFkMSwgezF8RnxELCB7MHgw
MWQyfX19LAorICB7MHgwMWQzLCB7MXxGfEQsIHsweDAxZDR9fX0sCisgIHsweDAxZDUsIHsxfEZ8
RCwgezB4MDFkNn19fSwKKyAgezB4MDFkNywgezF8RnxELCB7MHgwMWQ4fX19LAorICB7MHgwMWQ5
LCB7MXxGfEQsIHsweDAxZGF9fX0sCisgIHsweDAxZGIsIHsxfEZ8RCwgezB4MDFkY319fSwKKyAg
ezB4MDFkZSwgezF8RnxELCB7MHgwMWRmfX19LAorICB7MHgwMWUwLCB7MXxGfEQsIHsweDAxZTF9
fX0sCisgIHsweDAxZTIsIHsxfEZ8RCwgezB4MDFlM319fSwKKyAgezB4MDFlNCwgezF8RnxELCB7
MHgwMWU1fX19LAorICB7MHgwMWU2LCB7MXxGfEQsIHsweDAxZTd9fX0sCisgIHsweDAxZTgsIHsx
fEZ8RCwgezB4MDFlOX19fSwKKyAgezB4MDFlYSwgezF8RnxELCB7MHgwMWVifX19LAorICB7MHgw
MWVjLCB7MXxGfEQsIHsweDAxZWR9fX0sCisgIHsweDAxZWUsIHsxfEZ8RCwgezB4MDFlZn19fSwK
KyAgezB4MDFmMCwgezJ8RnxTVXxJKDIwKSwgezB4MDA2YSwgMHgwMzBjfX19LAorICB7MHgwMWYx
LCB7MXxGfER8U1R8SSgyMiksIHsweDAxZjN9fX0sCisgIHsweDAxZjIsIHsxfEZ8RHxJVHxTVXxJ
KDIzKSwgezB4MDFmM319fSwKKyAgezB4MDFmNCwgezF8RnxELCB7MHgwMWY1fX19LAorICB7MHgw
MWY2LCB7MXxGfEQsIHsweDAxOTV9fX0sCisgIHsweDAxZjcsIHsxfEZ8RCwgezB4MDFiZn19fSwK
KyAgezB4MDFmOCwgezF8RnxELCB7MHgwMWY5fX19LAorICB7MHgwMWZhLCB7MXxGfEQsIHsweDAx
ZmJ9fX0sCisgIHsweDAxZmMsIHsxfEZ8RCwgezB4MDFmZH19fSwKKyAgezB4MDFmZSwgezF8RnxE
LCB7MHgwMWZmfX19LAorICB7MHgwMjAwLCB7MXxGfEQsIHsweDAyMDF9fX0sCisgIHsweDAyMDIs
IHsxfEZ8RCwgezB4MDIwM319fSwKKyAgezB4MDIwNCwgezF8RnxELCB7MHgwMjA1fX19LAorICB7
MHgwMjA2LCB7MXxGfEQsIHsweDAyMDd9fX0sCisgIHsweDAyMDgsIHsxfEZ8RCwgezB4MDIwOX19
fSwKKyAgezB4MDIwYSwgezF8RnxELCB7MHgwMjBifX19LAorICB7MHgwMjBjLCB7MXxGfEQsIHsw
eDAyMGR9fX0sCisgIHsweDAyMGUsIHsxfEZ8RCwgezB4MDIwZn19fSwKKyAgezB4MDIxMCwgezF8
RnxELCB7MHgwMjExfX19LAorICB7MHgwMjEyLCB7MXxGfEQsIHsweDAyMTN9fX0sCisgIHsweDAy
MTQsIHsxfEZ8RCwgezB4MDIxNX19fSwKKyAgezB4MDIxNiwgezF8RnxELCB7MHgwMjE3fX19LAor
ICB7MHgwMjE4LCB7MXxGfEQsIHsweDAyMTl9fX0sCisgIHsweDAyMWEsIHsxfEZ8RCwgezB4MDIx
Yn19fSwKKyAgezB4MDIxYywgezF8RnxELCB7MHgwMjFkfX19LAorICB7MHgwMjFlLCB7MXxGfEQs
IHsweDAyMWZ9fX0sCisgIHsweDAyMjAsIHsxfEZ8RCwgezB4MDE5ZX19fSwKKyAgezB4MDIyMiwg
ezF8RnxELCB7MHgwMjIzfX19LAorICB7MHgwMjI0LCB7MXxGfEQsIHsweDAyMjV9fX0sCisgIHsw
eDAyMjYsIHsxfEZ8RCwgezB4MDIyN319fSwKKyAgezB4MDIyOCwgezF8RnxELCB7MHgwMjI5fX19
LAorICB7MHgwMjJhLCB7MXxGfEQsIHsweDAyMmJ9fX0sCisgIHsweDAyMmMsIHsxfEZ8RCwgezB4
MDIyZH19fSwKKyAgezB4MDIyZSwgezF8RnxELCB7MHgwMjJmfX19LAorICB7MHgwMjMwLCB7MXxG
fEQsIHsweDAyMzF9fX0sCisgIHsweDAyMzIsIHsxfEZ8RCwgezB4MDIzM319fSwKKyAgezB4MDIz
YSwgezF8RnxELCB7MHgyYzY1fX19LAorICB7MHgwMjNiLCB7MXxGfEQsIHsweDAyM2N9fX0sCisg
IHsweDAyM2QsIHsxfEZ8RCwgezB4MDE5YX19fSwKKyAgezB4MDIzZSwgezF8RnxELCB7MHgyYzY2
fX19LAorICB7MHgwMjQxLCB7MXxGfEQsIHsweDAyNDJ9fX0sCisgIHsweDAyNDMsIHsxfEZ8RCwg
ezB4MDE4MH19fSwKKyAgezB4MDI0NCwgezF8RnxELCB7MHgwMjg5fX19LAorICB7MHgwMjQ1LCB7
MXxGfEQsIHsweDAyOGN9fX0sCisgIHsweDAyNDYsIHsxfEZ8RCwgezB4MDI0N319fSwKKyAgezB4
MDI0OCwgezF8RnxELCB7MHgwMjQ5fX19LAorICB7MHgwMjRhLCB7MXxGfEQsIHsweDAyNGJ9fX0s
CisgIHsweDAyNGMsIHsxfEZ8RCwgezB4MDI0ZH19fSwKKyAgezB4MDI0ZSwgezF8RnxELCB7MHgw
MjRmfX19LAorICB7MHgwMzQ1LCB7MXxGfFNVfEkoMjYpLCB7MHgwM2I5fX19LAorICB7MHgwMzcw
LCB7MXxGfEQsIHsweDAzNzF9fX0sCisgIHsweDAzNzIsIHsxfEZ8RCwgezB4MDM3M319fSwKKyAg
ezB4MDM3NiwgezF8RnxELCB7MHgwMzc3fX19LAorICB7MHgwMzdmLCB7MXxGfEQsIHsweDAzZjN9
fX0sCisgIHsweDAzODYsIHsxfEZ8RCwgezB4MDNhY319fSwKKyAgezB4MDM4OCwgezF8RnxELCB7
MHgwM2FkfX19LAorICB7MHgwMzg5LCB7MXxGfEQsIHsweDAzYWV9fX0sCisgIHsweDAzOGEsIHsx
fEZ8RCwgezB4MDNhZn19fSwKKyAgezB4MDM4YywgezF8RnxELCB7MHgwM2NjfX19LAorICB7MHgw
MzhlLCB7MXxGfEQsIHsweDAzY2R9fX0sCisgIHsweDAzOGYsIHsxfEZ8RCwgezB4MDNjZX19fSwK
KyAgezB4MDM5MCwgezN8RnxTVXxJKDI3KSwgezB4MDNiOSwgMHgwMzA4LCAweDAzMDF9fX0sCisg
IHsweDAzOTEsIHsxfEZ8RCwgezB4MDNiMX19fSwKKyAgezB4MDM5MiwgezF8RnxELCB7MHgwM2Iy
fX19LAorICB7MHgwMzkzLCB7MXxGfEQsIHsweDAzYjN9fX0sCisgIHsweDAzOTQsIHsxfEZ8RCwg
ezB4MDNiNH19fSwKKyAgezB4MDM5NSwgezF8RnxELCB7MHgwM2I1fX19LAorICB7MHgwMzk2LCB7
MXxGfEQsIHsweDAzYjZ9fX0sCisgIHsweDAzOTcsIHsxfEZ8RCwgezB4MDNiN319fSwKKyAgezB4
MDM5OCwgezF8RnxELCB7MHgwM2I4fX19LAorICB7MHgwMzk5LCB7MXxGfEQsIHsweDAzYjl9fX0s
CisgIHsweDAzOWEsIHsxfEZ8RCwgezB4MDNiYX19fSwKKyAgezB4MDM5YiwgezF8RnxELCB7MHgw
M2JifX19LAorICB7MHgwMzljLCB7MXxGfEQsIHsweDAzYmN9fX0sCisgIHsweDAzOWQsIHsxfEZ8
RCwgezB4MDNiZH19fSwKKyAgezB4MDM5ZSwgezF8RnxELCB7MHgwM2JlfX19LAorICB7MHgwMzlm
LCB7MXxGfEQsIHsweDAzYmZ9fX0sCisgIHsweDAzYTAsIHsxfEZ8RCwgezB4MDNjMH19fSwKKyAg
ezB4MDNhMSwgezF8RnxELCB7MHgwM2MxfX19LAorICB7MHgwM2EzLCB7MXxGfEQsIHsweDAzYzN9
fX0sCisgIHsweDAzYTQsIHsxfEZ8RCwgezB4MDNjNH19fSwKKyAgezB4MDNhNSwgezF8RnxELCB7
MHgwM2M1fX19LAorICB7MHgwM2E2LCB7MXxGfEQsIHsweDAzYzZ9fX0sCisgIHsweDAzYTcsIHsx
fEZ8RCwgezB4MDNjN319fSwKKyAgezB4MDNhOCwgezF8RnxELCB7MHgwM2M4fX19LAorICB7MHgw
M2E5LCB7MXxGfEQsIHsweDAzYzl9fX0sCisgIHsweDAzYWEsIHsxfEZ8RCwgezB4MDNjYX19fSwK
KyAgezB4MDNhYiwgezF8RnxELCB7MHgwM2NifX19LAorICB7MHgwM2IwLCB7M3xGfFNVfEkoMzAp
LCB7MHgwM2M1LCAweDAzMDgsIDB4MDMwMX19fSwKKyAgezB4MDNjMiwgezF8RnxTVXxJKDMzKSwg
ezB4MDNjM319fSwKKyAgezB4MDNjZiwgezF8RnxELCB7MHgwM2Q3fX19LAorICB7MHgwM2QwLCB7
MXxGfFNVfEkoMzQpLCB7MHgwM2IyfX19LAorICB7MHgwM2QxLCB7MXxGfFNVfEkoMzUpLCB7MHgw
M2I4fX19LAorICB7MHgwM2Q1LCB7MXxGfFNVfEkoMzYpLCB7MHgwM2M2fX19LAorICB7MHgwM2Q2
LCB7MXxGfFNVfEkoMzcpLCB7MHgwM2MwfX19LAorICB7MHgwM2Q4LCB7MXxGfEQsIHsweDAzZDl9
fX0sCisgIHsweDAzZGEsIHsxfEZ8RCwgezB4MDNkYn19fSwKKyAgezB4MDNkYywgezF8RnxELCB7
MHgwM2RkfX19LAorICB7MHgwM2RlLCB7MXxGfEQsIHsweDAzZGZ9fX0sCisgIHsweDAzZTAsIHsx
fEZ8RCwgezB4MDNlMX19fSwKKyAgezB4MDNlMiwgezF8RnxELCB7MHgwM2UzfX19LAorICB7MHgw
M2U0LCB7MXxGfEQsIHsweDAzZTV9fX0sCisgIHsweDAzZTYsIHsxfEZ8RCwgezB4MDNlN319fSwK
KyAgezB4MDNlOCwgezF8RnxELCB7MHgwM2U5fX19LAorICB7MHgwM2VhLCB7MXxGfEQsIHsweDAz
ZWJ9fX0sCisgIHsweDAzZWMsIHsxfEZ8RCwgezB4MDNlZH19fSwKKyAgezB4MDNlZSwgezF8RnxE
LCB7MHgwM2VmfX19LAorICB7MHgwM2YwLCB7MXxGfFNVfEkoMzgpLCB7MHgwM2JhfX19LAorICB7
MHgwM2YxLCB7MXxGfFNVfEkoMzkpLCB7MHgwM2MxfX19LAorICB7MHgwM2Y0LCB7MXxGfEQsIHsw
eDAzYjh9fX0sCisgIHsweDAzZjUsIHsxfEZ8U1V8SSg0MCksIHsweDAzYjV9fX0sCisgIHsweDAz
ZjcsIHsxfEZ8RCwgezB4MDNmOH19fSwKKyAgezB4MDNmOSwgezF8RnxELCB7MHgwM2YyfX19LAor
ICB7MHgwM2ZhLCB7MXxGfEQsIHsweDAzZmJ9fX0sCisgIHsweDAzZmQsIHsxfEZ8RCwgezB4MDM3
Yn19fSwKKyAgezB4MDNmZSwgezF8RnxELCB7MHgwMzdjfX19LAorICB7MHgwM2ZmLCB7MXxGfEQs
IHsweDAzN2R9fX0sCisgIHsweDA0MDAsIHsxfEZ8RCwgezB4MDQ1MH19fSwKKyAgezB4MDQwMSwg
ezF8RnxELCB7MHgwNDUxfX19LAorICB7MHgwNDAyLCB7MXxGfEQsIHsweDA0NTJ9fX0sCisgIHsw
eDA0MDMsIHsxfEZ8RCwgezB4MDQ1M319fSwKKyAgezB4MDQwNCwgezF8RnxELCB7MHgwNDU0fX19
LAorICB7MHgwNDA1LCB7MXxGfEQsIHsweDA0NTV9fX0sCisgIHsweDA0MDYsIHsxfEZ8RCwgezB4
MDQ1Nn19fSwKKyAgezB4MDQwNywgezF8RnxELCB7MHgwNDU3fX19LAorICB7MHgwNDA4LCB7MXxG
fEQsIHsweDA0NTh9fX0sCisgIHsweDA0MDksIHsxfEZ8RCwgezB4MDQ1OX19fSwKKyAgezB4MDQw
YSwgezF8RnxELCB7MHgwNDVhfX19LAorICB7MHgwNDBiLCB7MXxGfEQsIHsweDA0NWJ9fX0sCisg
IHsweDA0MGMsIHsxfEZ8RCwgezB4MDQ1Y319fSwKKyAgezB4MDQwZCwgezF8RnxELCB7MHgwNDVk
fX19LAorICB7MHgwNDBlLCB7MXxGfEQsIHsweDA0NWV9fX0sCisgIHsweDA0MGYsIHsxfEZ8RCwg
ezB4MDQ1Zn19fSwKKyAgezB4MDQxMCwgezF8RnxELCB7MHgwNDMwfX19LAorICB7MHgwNDExLCB7
MXxGfEQsIHsweDA0MzF9fX0sCisgIHsweDA0MTIsIHsxfEZ8RCwgezB4MDQzMn19fSwKKyAgezB4
MDQxMywgezF8RnxELCB7MHgwNDMzfX19LAorICB7MHgwNDE0LCB7MXxGfEQsIHsweDA0MzR9fX0s
CisgIHsweDA0MTUsIHsxfEZ8RCwgezB4MDQzNX19fSwKKyAgezB4MDQxNiwgezF8RnxELCB7MHgw
NDM2fX19LAorICB7MHgwNDE3LCB7MXxGfEQsIHsweDA0Mzd9fX0sCisgIHsweDA0MTgsIHsxfEZ8
RCwgezB4MDQzOH19fSwKKyAgezB4MDQxOSwgezF8RnxELCB7MHgwNDM5fX19LAorICB7MHgwNDFh
LCB7MXxGfEQsIHsweDA0M2F9fX0sCisgIHsweDA0MWIsIHsxfEZ8RCwgezB4MDQzYn19fSwKKyAg
ezB4MDQxYywgezF8RnxELCB7MHgwNDNjfX19LAorICB7MHgwNDFkLCB7MXxGfEQsIHsweDA0M2R9
fX0sCisgIHsweDA0MWUsIHsxfEZ8RCwgezB4MDQzZX19fSwKKyAgezB4MDQxZiwgezF8RnxELCB7
MHgwNDNmfX19LAorICB7MHgwNDIwLCB7MXxGfEQsIHsweDA0NDB9fX0sCisgIHsweDA0MjEsIHsx
fEZ8RCwgezB4MDQ0MX19fSwKKyAgezB4MDQyMiwgezF8RnxELCB7MHgwNDQyfX19LAorICB7MHgw
NDIzLCB7MXxGfEQsIHsweDA0NDN9fX0sCisgIHsweDA0MjQsIHsxfEZ8RCwgezB4MDQ0NH19fSwK
KyAgezB4MDQyNSwgezF8RnxELCB7MHgwNDQ1fX19LAorICB7MHgwNDI2LCB7MXxGfEQsIHsweDA0
NDZ9fX0sCisgIHsweDA0MjcsIHsxfEZ8RCwgezB4MDQ0N319fSwKKyAgezB4MDQyOCwgezF8RnxE
LCB7MHgwNDQ4fX19LAorICB7MHgwNDI5LCB7MXxGfEQsIHsweDA0NDl9fX0sCisgIHsweDA0MmEs
IHsxfEZ8RCwgezB4MDQ0YX19fSwKKyAgezB4MDQyYiwgezF8RnxELCB7MHgwNDRifX19LAorICB7
MHgwNDJjLCB7MXxGfEQsIHsweDA0NGN9fX0sCisgIHsweDA0MmQsIHsxfEZ8RCwgezB4MDQ0ZH19
fSwKKyAgezB4MDQyZSwgezF8RnxELCB7MHgwNDRlfX19LAorICB7MHgwNDJmLCB7MXxGfEQsIHsw
eDA0NGZ9fX0sCisgIHsweDA0NjAsIHsxfEZ8RCwgezB4MDQ2MX19fSwKKyAgezB4MDQ2MiwgezF8
RnxELCB7MHgwNDYzfX19LAorICB7MHgwNDY0LCB7MXxGfEQsIHsweDA0NjV9fX0sCisgIHsweDA0
NjYsIHsxfEZ8RCwgezB4MDQ2N319fSwKKyAgezB4MDQ2OCwgezF8RnxELCB7MHgwNDY5fX19LAor
ICB7MHgwNDZhLCB7MXxGfEQsIHsweDA0NmJ9fX0sCisgIHsweDA0NmMsIHsxfEZ8RCwgezB4MDQ2
ZH19fSwKKyAgezB4MDQ2ZSwgezF8RnxELCB7MHgwNDZmfX19LAorICB7MHgwNDcwLCB7MXxGfEQs
IHsweDA0NzF9fX0sCisgIHsweDA0NzIsIHsxfEZ8RCwgezB4MDQ3M319fSwKKyAgezB4MDQ3NCwg
ezF8RnxELCB7MHgwNDc1fX19LAorICB7MHgwNDc2LCB7MXxGfEQsIHsweDA0Nzd9fX0sCisgIHsw
eDA0NzgsIHsxfEZ8RCwgezB4MDQ3OX19fSwKKyAgezB4MDQ3YSwgezF8RnxELCB7MHgwNDdifX19
LAorICB7MHgwNDdjLCB7MXxGfEQsIHsweDA0N2R9fX0sCisgIHsweDA0N2UsIHsxfEZ8RCwgezB4
MDQ3Zn19fSwKKyAgezB4MDQ4MCwgezF8RnxELCB7MHgwNDgxfX19LAorICB7MHgwNDhhLCB7MXxG
fEQsIHsweDA0OGJ9fX0sCisgIHsweDA0OGMsIHsxfEZ8RCwgezB4MDQ4ZH19fSwKKyAgezB4MDQ4
ZSwgezF8RnxELCB7MHgwNDhmfX19LAorICB7MHgwNDkwLCB7MXxGfEQsIHsweDA0OTF9fX0sCisg
IHsweDA0OTIsIHsxfEZ8RCwgezB4MDQ5M319fSwKKyAgezB4MDQ5NCwgezF8RnxELCB7MHgwNDk1
fX19LAorICB7MHgwNDk2LCB7MXxGfEQsIHsweDA0OTd9fX0sCisgIHsweDA0OTgsIHsxfEZ8RCwg
ezB4MDQ5OX19fSwKKyAgezB4MDQ5YSwgezF8RnxELCB7MHgwNDlifX19LAorICB7MHgwNDljLCB7
MXxGfEQsIHsweDA0OWR9fX0sCisgIHsweDA0OWUsIHsxfEZ8RCwgezB4MDQ5Zn19fSwKKyAgezB4
MDRhMCwgezF8RnxELCB7MHgwNGExfX19LAorICB7MHgwNGEyLCB7MXxGfEQsIHsweDA0YTN9fX0s
CisgIHsweDA0YTQsIHsxfEZ8RCwgezB4MDRhNX19fSwKKyAgezB4MDRhNiwgezF8RnxELCB7MHgw
NGE3fX19LAorICB7MHgwNGE4LCB7MXxGfEQsIHsweDA0YTl9fX0sCisgIHsweDA0YWEsIHsxfEZ8
RCwgezB4MDRhYn19fSwKKyAgezB4MDRhYywgezF8RnxELCB7MHgwNGFkfX19LAorICB7MHgwNGFl
LCB7MXxGfEQsIHsweDA0YWZ9fX0sCisgIHsweDA0YjAsIHsxfEZ8RCwgezB4MDRiMX19fSwKKyAg
ezB4MDRiMiwgezF8RnxELCB7MHgwNGIzfX19LAorICB7MHgwNGI0LCB7MXxGfEQsIHsweDA0YjV9
fX0sCisgIHsweDA0YjYsIHsxfEZ8RCwgezB4MDRiN319fSwKKyAgezB4MDRiOCwgezF8RnxELCB7
MHgwNGI5fX19LAorICB7MHgwNGJhLCB7MXxGfEQsIHsweDA0YmJ9fX0sCisgIHsweDA0YmMsIHsx
fEZ8RCwgezB4MDRiZH19fSwKKyAgezB4MDRiZSwgezF8RnxELCB7MHgwNGJmfX19LAorICB7MHgw
NGMwLCB7MXxGfEQsIHsweDA0Y2Z9fX0sCisgIHsweDA0YzEsIHsxfEZ8RCwgezB4MDRjMn19fSwK
KyAgezB4MDRjMywgezF8RnxELCB7MHgwNGM0fX19LAorICB7MHgwNGM1LCB7MXxGfEQsIHsweDA0
YzZ9fX0sCisgIHsweDA0YzcsIHsxfEZ8RCwgezB4MDRjOH19fSwKKyAgezB4MDRjOSwgezF8RnxE
LCB7MHgwNGNhfX19LAorICB7MHgwNGNiLCB7MXxGfEQsIHsweDA0Y2N9fX0sCisgIHsweDA0Y2Qs
IHsxfEZ8RCwgezB4MDRjZX19fSwKKyAgezB4MDRkMCwgezF8RnxELCB7MHgwNGQxfX19LAorICB7
MHgwNGQyLCB7MXxGfEQsIHsweDA0ZDN9fX0sCisgIHsweDA0ZDQsIHsxfEZ8RCwgezB4MDRkNX19
fSwKKyAgezB4MDRkNiwgezF8RnxELCB7MHgwNGQ3fX19LAorICB7MHgwNGQ4LCB7MXxGfEQsIHsw
eDA0ZDl9fX0sCisgIHsweDA0ZGEsIHsxfEZ8RCwgezB4MDRkYn19fSwKKyAgezB4MDRkYywgezF8
RnxELCB7MHgwNGRkfX19LAorICB7MHgwNGRlLCB7MXxGfEQsIHsweDA0ZGZ9fX0sCisgIHsweDA0
ZTAsIHsxfEZ8RCwgezB4MDRlMX19fSwKKyAgezB4MDRlMiwgezF8RnxELCB7MHgwNGUzfX19LAor
ICB7MHgwNGU0LCB7MXxGfEQsIHsweDA0ZTV9fX0sCisgIHsweDA0ZTYsIHsxfEZ8RCwgezB4MDRl
N319fSwKKyAgezB4MDRlOCwgezF8RnxELCB7MHgwNGU5fX19LAorICB7MHgwNGVhLCB7MXxGfEQs
IHsweDA0ZWJ9fX0sCisgIHsweDA0ZWMsIHsxfEZ8RCwgezB4MDRlZH19fSwKKyAgezB4MDRlZSwg
ezF8RnxELCB7MHgwNGVmfX19LAorICB7MHgwNGYwLCB7MXxGfEQsIHsweDA0ZjF9fX0sCisgIHsw
eDA0ZjIsIHsxfEZ8RCwgezB4MDRmM319fSwKKyAgezB4MDRmNCwgezF8RnxELCB7MHgwNGY1fX19
LAorICB7MHgwNGY2LCB7MXxGfEQsIHsweDA0Zjd9fX0sCisgIHsweDA0ZjgsIHsxfEZ8RCwgezB4
MDRmOX19fSwKKyAgezB4MDRmYSwgezF8RnxELCB7MHgwNGZifX19LAorICB7MHgwNGZjLCB7MXxG
fEQsIHsweDA0ZmR9fX0sCisgIHsweDA0ZmUsIHsxfEZ8RCwgezB4MDRmZn19fSwKKyAgezB4MDUw
MCwgezF8RnxELCB7MHgwNTAxfX19LAorICB7MHgwNTAyLCB7MXxGfEQsIHsweDA1MDN9fX0sCisg
IHsweDA1MDQsIHsxfEZ8RCwgezB4MDUwNX19fSwKKyAgezB4MDUwNiwgezF8RnxELCB7MHgwNTA3
fX19LAorICB7MHgwNTA4LCB7MXxGfEQsIHsweDA1MDl9fX0sCisgIHsweDA1MGEsIHsxfEZ8RCwg
ezB4MDUwYn19fSwKKyAgezB4MDUwYywgezF8RnxELCB7MHgwNTBkfX19LAorICB7MHgwNTBlLCB7
MXxGfEQsIHsweDA1MGZ9fX0sCisgIHsweDA1MTAsIHsxfEZ8RCwgezB4MDUxMX19fSwKKyAgezB4
MDUxMiwgezF8RnxELCB7MHgwNTEzfX19LAorICB7MHgwNTE0LCB7MXxGfEQsIHsweDA1MTV9fX0s
CisgIHsweDA1MTYsIHsxfEZ8RCwgezB4MDUxN319fSwKKyAgezB4MDUxOCwgezF8RnxELCB7MHgw
NTE5fX19LAorICB7MHgwNTFhLCB7MXxGfEQsIHsweDA1MWJ9fX0sCisgIHsweDA1MWMsIHsxfEZ8
RCwgezB4MDUxZH19fSwKKyAgezB4MDUxZSwgezF8RnxELCB7MHgwNTFmfX19LAorICB7MHgwNTIw
LCB7MXxGfEQsIHsweDA1MjF9fX0sCisgIHsweDA1MjIsIHsxfEZ8RCwgezB4MDUyM319fSwKKyAg
ezB4MDUyNCwgezF8RnxELCB7MHgwNTI1fX19LAorICB7MHgwNTI2LCB7MXxGfEQsIHsweDA1Mjd9
fX0sCisgIHsweDA1MjgsIHsxfEZ8RCwgezB4MDUyOX19fSwKKyAgezB4MDUyYSwgezF8RnxELCB7
MHgwNTJifX19LAorICB7MHgwNTJjLCB7MXxGfEQsIHsweDA1MmR9fX0sCisgIHsweDA1MmUsIHsx
fEZ8RCwgezB4MDUyZn19fSwKKyAgezB4MDUzMSwgezF8RnxELCB7MHgwNTYxfX19LAorICB7MHgw
NTMyLCB7MXxGfEQsIHsweDA1NjJ9fX0sCisgIHsweDA1MzMsIHsxfEZ8RCwgezB4MDU2M319fSwK
KyAgezB4MDUzNCwgezF8RnxELCB7MHgwNTY0fX19LAorICB7MHgwNTM1LCB7MXxGfEQsIHsweDA1
NjV9fX0sCisgIHsweDA1MzYsIHsxfEZ8RCwgezB4MDU2Nn19fSwKKyAgezB4MDUzNywgezF8RnxE
LCB7MHgwNTY3fX19LAorICB7MHgwNTM4LCB7MXxGfEQsIHsweDA1Njh9fX0sCisgIHsweDA1Mzks
IHsxfEZ8RCwgezB4MDU2OX19fSwKKyAgezB4MDUzYSwgezF8RnxELCB7MHgwNTZhfX19LAorICB7
MHgwNTNiLCB7MXxGfEQsIHsweDA1NmJ9fX0sCisgIHsweDA1M2MsIHsxfEZ8RCwgezB4MDU2Y319
fSwKKyAgezB4MDUzZCwgezF8RnxELCB7MHgwNTZkfX19LAorICB7MHgwNTNlLCB7MXxGfEQsIHsw
eDA1NmV9fX0sCisgIHsweDA1M2YsIHsxfEZ8RCwgezB4MDU2Zn19fSwKKyAgezB4MDU0MCwgezF8
RnxELCB7MHgwNTcwfX19LAorICB7MHgwNTQxLCB7MXxGfEQsIHsweDA1NzF9fX0sCisgIHsweDA1
NDIsIHsxfEZ8RCwgezB4MDU3Mn19fSwKKyAgezB4MDU0MywgezF8RnxELCB7MHgwNTczfX19LAor
ICB7MHgwNTQ0LCB7MXxGfEQsIHsweDA1NzR9fX0sCisgIHsweDA1NDUsIHsxfEZ8RCwgezB4MDU3
NX19fSwKKyAgezB4MDU0NiwgezF8RnxELCB7MHgwNTc2fX19LAorICB7MHgwNTQ3LCB7MXxGfEQs
IHsweDA1Nzd9fX0sCisgIHsweDA1NDgsIHsxfEZ8RCwgezB4MDU3OH19fSwKKyAgezB4MDU0OSwg
ezF8RnxELCB7MHgwNTc5fX19LAorICB7MHgwNTRhLCB7MXxGfEQsIHsweDA1N2F9fX0sCisgIHsw
eDA1NGIsIHsxfEZ8RCwgezB4MDU3Yn19fSwKKyAgezB4MDU0YywgezF8RnxELCB7MHgwNTdjfX19
LAorICB7MHgwNTRkLCB7MXxGfEQsIHsweDA1N2R9fX0sCisgIHsweDA1NGUsIHsxfEZ8RCwgezB4
MDU3ZX19fSwKKyAgezB4MDU0ZiwgezF8RnxELCB7MHgwNTdmfX19LAorICB7MHgwNTUwLCB7MXxG
fEQsIHsweDA1ODB9fX0sCisgIHsweDA1NTEsIHsxfEZ8RCwgezB4MDU4MX19fSwKKyAgezB4MDU1
MiwgezF8RnxELCB7MHgwNTgyfX19LAorICB7MHgwNTUzLCB7MXxGfEQsIHsweDA1ODN9fX0sCisg
IHsweDA1NTQsIHsxfEZ8RCwgezB4MDU4NH19fSwKKyAgezB4MDU1NSwgezF8RnxELCB7MHgwNTg1
fX19LAorICB7MHgwNTU2LCB7MXxGfEQsIHsweDA1ODZ9fX0sCisgIHsweDA1ODcsIHsyfEZ8U1R8
U1V8SSg0MSksIHsweDA1NjUsIDB4MDU4Mn19fSwKKyAgezB4MTBhMCwgezF8RnxELCB7MHgyZDAw
fX19LAorICB7MHgxMGExLCB7MXxGfEQsIHsweDJkMDF9fX0sCisgIHsweDEwYTIsIHsxfEZ8RCwg
ezB4MmQwMn19fSwKKyAgezB4MTBhMywgezF8RnxELCB7MHgyZDAzfX19LAorICB7MHgxMGE0LCB7
MXxGfEQsIHsweDJkMDR9fX0sCisgIHsweDEwYTUsIHsxfEZ8RCwgezB4MmQwNX19fSwKKyAgezB4
MTBhNiwgezF8RnxELCB7MHgyZDA2fX19LAorICB7MHgxMGE3LCB7MXxGfEQsIHsweDJkMDd9fX0s
CisgIHsweDEwYTgsIHsxfEZ8RCwgezB4MmQwOH19fSwKKyAgezB4MTBhOSwgezF8RnxELCB7MHgy
ZDA5fX19LAorICB7MHgxMGFhLCB7MXxGfEQsIHsweDJkMGF9fX0sCisgIHsweDEwYWIsIHsxfEZ8
RCwgezB4MmQwYn19fSwKKyAgezB4MTBhYywgezF8RnxELCB7MHgyZDBjfX19LAorICB7MHgxMGFk
LCB7MXxGfEQsIHsweDJkMGR9fX0sCisgIHsweDEwYWUsIHsxfEZ8RCwgezB4MmQwZX19fSwKKyAg
ezB4MTBhZiwgezF8RnxELCB7MHgyZDBmfX19LAorICB7MHgxMGIwLCB7MXxGfEQsIHsweDJkMTB9
fX0sCisgIHsweDEwYjEsIHsxfEZ8RCwgezB4MmQxMX19fSwKKyAgezB4MTBiMiwgezF8RnxELCB7
MHgyZDEyfX19LAorICB7MHgxMGIzLCB7MXxGfEQsIHsweDJkMTN9fX0sCisgIHsweDEwYjQsIHsx
fEZ8RCwgezB4MmQxNH19fSwKKyAgezB4MTBiNSwgezF8RnxELCB7MHgyZDE1fX19LAorICB7MHgx
MGI2LCB7MXxGfEQsIHsweDJkMTZ9fX0sCisgIHsweDEwYjcsIHsxfEZ8RCwgezB4MmQxN319fSwK
KyAgezB4MTBiOCwgezF8RnxELCB7MHgyZDE4fX19LAorICB7MHgxMGI5LCB7MXxGfEQsIHsweDJk
MTl9fX0sCisgIHsweDEwYmEsIHsxfEZ8RCwgezB4MmQxYX19fSwKKyAgezB4MTBiYiwgezF8RnxE
LCB7MHgyZDFifX19LAorICB7MHgxMGJjLCB7MXxGfEQsIHsweDJkMWN9fX0sCisgIHsweDEwYmQs
IHsxfEZ8RCwgezB4MmQxZH19fSwKKyAgezB4MTBiZSwgezF8RnxELCB7MHgyZDFlfX19LAorICB7
MHgxMGJmLCB7MXxGfEQsIHsweDJkMWZ9fX0sCisgIHsweDEwYzAsIHsxfEZ8RCwgezB4MmQyMH19
fSwKKyAgezB4MTBjMSwgezF8RnxELCB7MHgyZDIxfX19LAorICB7MHgxMGMyLCB7MXxGfEQsIHsw
eDJkMjJ9fX0sCisgIHsweDEwYzMsIHsxfEZ8RCwgezB4MmQyM319fSwKKyAgezB4MTBjNCwgezF8
RnxELCB7MHgyZDI0fX19LAorICB7MHgxMGM1LCB7MXxGfEQsIHsweDJkMjV9fX0sCisgIHsweDEw
YzcsIHsxfEZ8RCwgezB4MmQyN319fSwKKyAgezB4MTBjZCwgezF8RnxELCB7MHgyZDJkfX19LAor
ICB7MHgxM2Y4LCB7MXxGfFUsIHsweDEzZjB9fX0sCisgIHsweDEzZjksIHsxfEZ8VSwgezB4MTNm
MX19fSwKKyAgezB4MTNmYSwgezF8RnxVLCB7MHgxM2YyfX19LAorICB7MHgxM2ZiLCB7MXxGfFUs
IHsweDEzZjN9fX0sCisgIHsweDEzZmMsIHsxfEZ8VSwgezB4MTNmNH19fSwKKyAgezB4MTNmZCwg
ezF8RnxVLCB7MHgxM2Y1fX19LAorICB7MHgxYzgwLCB7MXxGfFNVfEkoNDUpLCB7MHgwNDMyfX19
LAorICB7MHgxYzgxLCB7MXxGfFNVfEkoNDYpLCB7MHgwNDM0fX19LAorICB7MHgxYzgyLCB7MXxG
fFNVfEkoNDcpLCB7MHgwNDNlfX19LAorICB7MHgxYzgzLCB7MXxGfFNVfEkoNDgpLCB7MHgwNDQx
fX19LAorICB7MHgxYzg0LCB7MXxGfFNVfEkoNDkpLCB7MHgwNDQyfX19LAorICB7MHgxYzg1LCB7
MXxGfFNVfEkoNTApLCB7MHgwNDQyfX19LAorICB7MHgxYzg2LCB7MXxGfFNVfEkoNTEpLCB7MHgw
NDRhfX19LAorICB7MHgxYzg3LCB7MXxGfFNVfEkoNTIpLCB7MHgwNDYzfX19LAorICB7MHgxYzg4
LCB7MXxGfFNVfEkoNTMpLCB7MHhhNjRifX19LAorICB7MHgxYzkwLCB7MXxGfEQsIHsweDEwZDB9
fX0sCisgIHsweDFjOTEsIHsxfEZ8RCwgezB4MTBkMX19fSwKKyAgezB4MWM5MiwgezF8RnxELCB7
MHgxMGQyfX19LAorICB7MHgxYzkzLCB7MXxGfEQsIHsweDEwZDN9fX0sCisgIHsweDFjOTQsIHsx
fEZ8RCwgezB4MTBkNH19fSwKKyAgezB4MWM5NSwgezF8RnxELCB7MHgxMGQ1fX19LAorICB7MHgx
Yzk2LCB7MXxGfEQsIHsweDEwZDZ9fX0sCisgIHsweDFjOTcsIHsxfEZ8RCwgezB4MTBkN319fSwK
KyAgezB4MWM5OCwgezF8RnxELCB7MHgxMGQ4fX19LAorICB7MHgxYzk5LCB7MXxGfEQsIHsweDEw
ZDl9fX0sCisgIHsweDFjOWEsIHsxfEZ8RCwgezB4MTBkYX19fSwKKyAgezB4MWM5YiwgezF8RnxE
LCB7MHgxMGRifX19LAorICB7MHgxYzljLCB7MXxGfEQsIHsweDEwZGN9fX0sCisgIHsweDFjOWQs
IHsxfEZ8RCwgezB4MTBkZH19fSwKKyAgezB4MWM5ZSwgezF8RnxELCB7MHgxMGRlfX19LAorICB7
MHgxYzlmLCB7MXxGfEQsIHsweDEwZGZ9fX0sCisgIHsweDFjYTAsIHsxfEZ8RCwgezB4MTBlMH19
fSwKKyAgezB4MWNhMSwgezF8RnxELCB7MHgxMGUxfX19LAorICB7MHgxY2EyLCB7MXxGfEQsIHsw
eDEwZTJ9fX0sCisgIHsweDFjYTMsIHsxfEZ8RCwgezB4MTBlM319fSwKKyAgezB4MWNhNCwgezF8
RnxELCB7MHgxMGU0fX19LAorICB7MHgxY2E1LCB7MXxGfEQsIHsweDEwZTV9fX0sCisgIHsweDFj
YTYsIHsxfEZ8RCwgezB4MTBlNn19fSwKKyAgezB4MWNhNywgezF8RnxELCB7MHgxMGU3fX19LAor
ICB7MHgxY2E4LCB7MXxGfEQsIHsweDEwZTh9fX0sCisgIHsweDFjYTksIHsxfEZ8RCwgezB4MTBl
OX19fSwKKyAgezB4MWNhYSwgezF8RnxELCB7MHgxMGVhfX19LAorICB7MHgxY2FiLCB7MXxGfEQs
IHsweDEwZWJ9fX0sCisgIHsweDFjYWMsIHsxfEZ8RCwgezB4MTBlY319fSwKKyAgezB4MWNhZCwg
ezF8RnxELCB7MHgxMGVkfX19LAorICB7MHgxY2FlLCB7MXxGfEQsIHsweDEwZWV9fX0sCisgIHsw
eDFjYWYsIHsxfEZ8RCwgezB4MTBlZn19fSwKKyAgezB4MWNiMCwgezF8RnxELCB7MHgxMGYwfX19
LAorICB7MHgxY2IxLCB7MXxGfEQsIHsweDEwZjF9fX0sCisgIHsweDFjYjIsIHsxfEZ8RCwgezB4
MTBmMn19fSwKKyAgezB4MWNiMywgezF8RnxELCB7MHgxMGYzfX19LAorICB7MHgxY2I0LCB7MXxG
fEQsIHsweDEwZjR9fX0sCisgIHsweDFjYjUsIHsxfEZ8RCwgezB4MTBmNX19fSwKKyAgezB4MWNi
NiwgezF8RnxELCB7MHgxMGY2fX19LAorICB7MHgxY2I3LCB7MXxGfEQsIHsweDEwZjd9fX0sCisg
IHsweDFjYjgsIHsxfEZ8RCwgezB4MTBmOH19fSwKKyAgezB4MWNiOSwgezF8RnxELCB7MHgxMGY5
fX19LAorICB7MHgxY2JhLCB7MXxGfEQsIHsweDEwZmF9fX0sCisgIHsweDFjYmQsIHsxfEZ8RCwg
ezB4MTBmZH19fSwKKyAgezB4MWNiZSwgezF8RnxELCB7MHgxMGZlfX19LAorICB7MHgxY2JmLCB7
MXxGfEQsIHsweDEwZmZ9fX0sCisgIHsweDFlMDAsIHsxfEZ8RCwgezB4MWUwMX19fSwKKyAgezB4
MWUwMiwgezF8RnxELCB7MHgxZTAzfX19LAorICB7MHgxZTA0LCB7MXxGfEQsIHsweDFlMDV9fX0s
CisgIHsweDFlMDYsIHsxfEZ8RCwgezB4MWUwN319fSwKKyAgezB4MWUwOCwgezF8RnxELCB7MHgx
ZTA5fX19LAorICB7MHgxZTBhLCB7MXxGfEQsIHsweDFlMGJ9fX0sCisgIHsweDFlMGMsIHsxfEZ8
RCwgezB4MWUwZH19fSwKKyAgezB4MWUwZSwgezF8RnxELCB7MHgxZTBmfX19LAorICB7MHgxZTEw
LCB7MXxGfEQsIHsweDFlMTF9fX0sCisgIHsweDFlMTIsIHsxfEZ8RCwgezB4MWUxM319fSwKKyAg
ezB4MWUxNCwgezF8RnxELCB7MHgxZTE1fX19LAorICB7MHgxZTE2LCB7MXxGfEQsIHsweDFlMTd9
fX0sCisgIHsweDFlMTgsIHsxfEZ8RCwgezB4MWUxOX19fSwKKyAgezB4MWUxYSwgezF8RnxELCB7
MHgxZTFifX19LAorICB7MHgxZTFjLCB7MXxGfEQsIHsweDFlMWR9fX0sCisgIHsweDFlMWUsIHsx
fEZ8RCwgezB4MWUxZn19fSwKKyAgezB4MWUyMCwgezF8RnxELCB7MHgxZTIxfX19LAorICB7MHgx
ZTIyLCB7MXxGfEQsIHsweDFlMjN9fX0sCisgIHsweDFlMjQsIHsxfEZ8RCwgezB4MWUyNX19fSwK
KyAgezB4MWUyNiwgezF8RnxELCB7MHgxZTI3fX19LAorICB7MHgxZTI4LCB7MXxGfEQsIHsweDFl
Mjl9fX0sCisgIHsweDFlMmEsIHsxfEZ8RCwgezB4MWUyYn19fSwKKyAgezB4MWUyYywgezF8RnxE
LCB7MHgxZTJkfX19LAorICB7MHgxZTJlLCB7MXxGfEQsIHsweDFlMmZ9fX0sCisgIHsweDFlMzAs
IHsxfEZ8RCwgezB4MWUzMX19fSwKKyAgezB4MWUzMiwgezF8RnxELCB7MHgxZTMzfX19LAorICB7
MHgxZTM0LCB7MXxGfEQsIHsweDFlMzV9fX0sCisgIHsweDFlMzYsIHsxfEZ8RCwgezB4MWUzN319
fSwKKyAgezB4MWUzOCwgezF8RnxELCB7MHgxZTM5fX19LAorICB7MHgxZTNhLCB7MXxGfEQsIHsw
eDFlM2J9fX0sCisgIHsweDFlM2MsIHsxfEZ8RCwgezB4MWUzZH19fSwKKyAgezB4MWUzZSwgezF8
RnxELCB7MHgxZTNmfX19LAorICB7MHgxZTQwLCB7MXxGfEQsIHsweDFlNDF9fX0sCisgIHsweDFl
NDIsIHsxfEZ8RCwgezB4MWU0M319fSwKKyAgezB4MWU0NCwgezF8RnxELCB7MHgxZTQ1fX19LAor
ICB7MHgxZTQ2LCB7MXxGfEQsIHsweDFlNDd9fX0sCisgIHsweDFlNDgsIHsxfEZ8RCwgezB4MWU0
OX19fSwKKyAgezB4MWU0YSwgezF8RnxELCB7MHgxZTRifX19LAorICB7MHgxZTRjLCB7MXxGfEQs
IHsweDFlNGR9fX0sCisgIHsweDFlNGUsIHsxfEZ8RCwgezB4MWU0Zn19fSwKKyAgezB4MWU1MCwg
ezF8RnxELCB7MHgxZTUxfX19LAorICB7MHgxZTUyLCB7MXxGfEQsIHsweDFlNTN9fX0sCisgIHsw
eDFlNTQsIHsxfEZ8RCwgezB4MWU1NX19fSwKKyAgezB4MWU1NiwgezF8RnxELCB7MHgxZTU3fX19
LAorICB7MHgxZTU4LCB7MXxGfEQsIHsweDFlNTl9fX0sCisgIHsweDFlNWEsIHsxfEZ8RCwgezB4
MWU1Yn19fSwKKyAgezB4MWU1YywgezF8RnxELCB7MHgxZTVkfX19LAorICB7MHgxZTVlLCB7MXxG
fEQsIHsweDFlNWZ9fX0sCisgIHsweDFlNjAsIHsxfEZ8RCwgezB4MWU2MX19fSwKKyAgezB4MWU2
MiwgezF8RnxELCB7MHgxZTYzfX19LAorICB7MHgxZTY0LCB7MXxGfEQsIHsweDFlNjV9fX0sCisg
IHsweDFlNjYsIHsxfEZ8RCwgezB4MWU2N319fSwKKyAgezB4MWU2OCwgezF8RnxELCB7MHgxZTY5
fX19LAorICB7MHgxZTZhLCB7MXxGfEQsIHsweDFlNmJ9fX0sCisgIHsweDFlNmMsIHsxfEZ8RCwg
ezB4MWU2ZH19fSwKKyAgezB4MWU2ZSwgezF8RnxELCB7MHgxZTZmfX19LAorICB7MHgxZTcwLCB7
MXxGfEQsIHsweDFlNzF9fX0sCisgIHsweDFlNzIsIHsxfEZ8RCwgezB4MWU3M319fSwKKyAgezB4
MWU3NCwgezF8RnxELCB7MHgxZTc1fX19LAorICB7MHgxZTc2LCB7MXxGfEQsIHsweDFlNzd9fX0s
CisgIHsweDFlNzgsIHsxfEZ8RCwgezB4MWU3OX19fSwKKyAgezB4MWU3YSwgezF8RnxELCB7MHgx
ZTdifX19LAorICB7MHgxZTdjLCB7MXxGfEQsIHsweDFlN2R9fX0sCisgIHsweDFlN2UsIHsxfEZ8
RCwgezB4MWU3Zn19fSwKKyAgezB4MWU4MCwgezF8RnxELCB7MHgxZTgxfX19LAorICB7MHgxZTgy
LCB7MXxGfEQsIHsweDFlODN9fX0sCisgIHsweDFlODQsIHsxfEZ8RCwgezB4MWU4NX19fSwKKyAg
ezB4MWU4NiwgezF8RnxELCB7MHgxZTg3fX19LAorICB7MHgxZTg4LCB7MXxGfEQsIHsweDFlODl9
fX0sCisgIHsweDFlOGEsIHsxfEZ8RCwgezB4MWU4Yn19fSwKKyAgezB4MWU4YywgezF8RnxELCB7
MHgxZThkfX19LAorICB7MHgxZThlLCB7MXxGfEQsIHsweDFlOGZ9fX0sCisgIHsweDFlOTAsIHsx
fEZ8RCwgezB4MWU5MX19fSwKKyAgezB4MWU5MiwgezF8RnxELCB7MHgxZTkzfX19LAorICB7MHgx
ZTk0LCB7MXxGfEQsIHsweDFlOTV9fX0sCisgIHsweDFlOTYsIHsyfEZ8U1V8SSg1NCksIHsweDAw
NjgsIDB4MDMzMX19fSwKKyAgezB4MWU5NywgezJ8RnxTVXxJKDU2KSwgezB4MDA3NCwgMHgwMzA4
fX19LAorICB7MHgxZTk4LCB7MnxGfFNVfEkoNTgpLCB7MHgwMDc3LCAweDAzMGF9fX0sCisgIHsw
eDFlOTksIHsyfEZ8U1V8SSg2MCksIHsweDAwNzksIDB4MDMwYX19fSwKKyAgezB4MWU5YSwgezJ8
RnxTVXxJKDYyKSwgezB4MDA2MSwgMHgwMmJlfX19LAorICB7MHgxZTliLCB7MXxGfFNVfEkoNjQp
LCB7MHgxZTYxfX19LAorICB7MHgxZTllLCB7MnxGfFNMfEkoNjUpLCB7MHgwMDczLCAweDAwNzN9
fX0sCisgIHsweDFlYTAsIHsxfEZ8RCwgezB4MWVhMX19fSwKKyAgezB4MWVhMiwgezF8RnxELCB7
MHgxZWEzfX19LAorICB7MHgxZWE0LCB7MXxGfEQsIHsweDFlYTV9fX0sCisgIHsweDFlYTYsIHsx
fEZ8RCwgezB4MWVhN319fSwKKyAgezB4MWVhOCwgezF8RnxELCB7MHgxZWE5fX19LAorICB7MHgx
ZWFhLCB7MXxGfEQsIHsweDFlYWJ9fX0sCisgIHsweDFlYWMsIHsxfEZ8RCwgezB4MWVhZH19fSwK
KyAgezB4MWVhZSwgezF8RnxELCB7MHgxZWFmfX19LAorICB7MHgxZWIwLCB7MXxGfEQsIHsweDFl
YjF9fX0sCisgIHsweDFlYjIsIHsxfEZ8RCwgezB4MWViM319fSwKKyAgezB4MWViNCwgezF8RnxE
LCB7MHgxZWI1fX19LAorICB7MHgxZWI2LCB7MXxGfEQsIHsweDFlYjd9fX0sCisgIHsweDFlYjgs
IHsxfEZ8RCwgezB4MWViOX19fSwKKyAgezB4MWViYSwgezF8RnxELCB7MHgxZWJifX19LAorICB7
MHgxZWJjLCB7MXxGfEQsIHsweDFlYmR9fX0sCisgIHsweDFlYmUsIHsxfEZ8RCwgezB4MWViZn19
fSwKKyAgezB4MWVjMCwgezF8RnxELCB7MHgxZWMxfX19LAorICB7MHgxZWMyLCB7MXxGfEQsIHsw
eDFlYzN9fX0sCisgIHsweDFlYzQsIHsxfEZ8RCwgezB4MWVjNX19fSwKKyAgezB4MWVjNiwgezF8
RnxELCB7MHgxZWM3fX19LAorICB7MHgxZWM4LCB7MXxGfEQsIHsweDFlYzl9fX0sCisgIHsweDFl
Y2EsIHsxfEZ8RCwgezB4MWVjYn19fSwKKyAgezB4MWVjYywgezF8RnxELCB7MHgxZWNkfX19LAor
ICB7MHgxZWNlLCB7MXxGfEQsIHsweDFlY2Z9fX0sCisgIHsweDFlZDAsIHsxfEZ8RCwgezB4MWVk
MX19fSwKKyAgezB4MWVkMiwgezF8RnxELCB7MHgxZWQzfX19LAorICB7MHgxZWQ0LCB7MXxGfEQs
IHsweDFlZDV9fX0sCisgIHsweDFlZDYsIHsxfEZ8RCwgezB4MWVkN319fSwKKyAgezB4MWVkOCwg
ezF8RnxELCB7MHgxZWQ5fX19LAorICB7MHgxZWRhLCB7MXxGfEQsIHsweDFlZGJ9fX0sCisgIHsw
eDFlZGMsIHsxfEZ8RCwgezB4MWVkZH19fSwKKyAgezB4MWVkZSwgezF8RnxELCB7MHgxZWRmfX19
LAorICB7MHgxZWUwLCB7MXxGfEQsIHsweDFlZTF9fX0sCisgIHsweDFlZTIsIHsxfEZ8RCwgezB4
MWVlM319fSwKKyAgezB4MWVlNCwgezF8RnxELCB7MHgxZWU1fX19LAorICB7MHgxZWU2LCB7MXxG
fEQsIHsweDFlZTd9fX0sCisgIHsweDFlZTgsIHsxfEZ8RCwgezB4MWVlOX19fSwKKyAgezB4MWVl
YSwgezF8RnxELCB7MHgxZWVifX19LAorICB7MHgxZWVjLCB7MXxGfEQsIHsweDFlZWR9fX0sCisg
IHsweDFlZWUsIHsxfEZ8RCwgezB4MWVlZn19fSwKKyAgezB4MWVmMCwgezF8RnxELCB7MHgxZWYx
fX19LAorICB7MHgxZWYyLCB7MXxGfEQsIHsweDFlZjN9fX0sCisgIHsweDFlZjQsIHsxfEZ8RCwg
ezB4MWVmNX19fSwKKyAgezB4MWVmNiwgezF8RnxELCB7MHgxZWY3fX19LAorICB7MHgxZWY4LCB7
MXxGfEQsIHsweDFlZjl9fX0sCisgIHsweDFlZmEsIHsxfEZ8RCwgezB4MWVmYn19fSwKKyAgezB4
MWVmYywgezF8RnxELCB7MHgxZWZkfX19LAorICB7MHgxZWZlLCB7MXxGfEQsIHsweDFlZmZ9fX0s
CisgIHsweDFmMDgsIHsxfEZ8RCwgezB4MWYwMH19fSwKKyAgezB4MWYwOSwgezF8RnxELCB7MHgx
ZjAxfX19LAorICB7MHgxZjBhLCB7MXxGfEQsIHsweDFmMDJ9fX0sCisgIHsweDFmMGIsIHsxfEZ8
RCwgezB4MWYwM319fSwKKyAgezB4MWYwYywgezF8RnxELCB7MHgxZjA0fX19LAorICB7MHgxZjBk
LCB7MXxGfEQsIHsweDFmMDV9fX0sCisgIHsweDFmMGUsIHsxfEZ8RCwgezB4MWYwNn19fSwKKyAg
ezB4MWYwZiwgezF8RnxELCB7MHgxZjA3fX19LAorICB7MHgxZjE4LCB7MXxGfEQsIHsweDFmMTB9
fX0sCisgIHsweDFmMTksIHsxfEZ8RCwgezB4MWYxMX19fSwKKyAgezB4MWYxYSwgezF8RnxELCB7
MHgxZjEyfX19LAorICB7MHgxZjFiLCB7MXxGfEQsIHsweDFmMTN9fX0sCisgIHsweDFmMWMsIHsx
fEZ8RCwgezB4MWYxNH19fSwKKyAgezB4MWYxZCwgezF8RnxELCB7MHgxZjE1fX19LAorICB7MHgx
ZjI4LCB7MXxGfEQsIHsweDFmMjB9fX0sCisgIHsweDFmMjksIHsxfEZ8RCwgezB4MWYyMX19fSwK
KyAgezB4MWYyYSwgezF8RnxELCB7MHgxZjIyfX19LAorICB7MHgxZjJiLCB7MXxGfEQsIHsweDFm
MjN9fX0sCisgIHsweDFmMmMsIHsxfEZ8RCwgezB4MWYyNH19fSwKKyAgezB4MWYyZCwgezF8RnxE
LCB7MHgxZjI1fX19LAorICB7MHgxZjJlLCB7MXxGfEQsIHsweDFmMjZ9fX0sCisgIHsweDFmMmYs
IHsxfEZ8RCwgezB4MWYyN319fSwKKyAgezB4MWYzOCwgezF8RnxELCB7MHgxZjMwfX19LAorICB7
MHgxZjM5LCB7MXxGfEQsIHsweDFmMzF9fX0sCisgIHsweDFmM2EsIHsxfEZ8RCwgezB4MWYzMn19
fSwKKyAgezB4MWYzYiwgezF8RnxELCB7MHgxZjMzfX19LAorICB7MHgxZjNjLCB7MXxGfEQsIHsw
eDFmMzR9fX0sCisgIHsweDFmM2QsIHsxfEZ8RCwgezB4MWYzNX19fSwKKyAgezB4MWYzZSwgezF8
RnxELCB7MHgxZjM2fX19LAorICB7MHgxZjNmLCB7MXxGfEQsIHsweDFmMzd9fX0sCisgIHsweDFm
NDgsIHsxfEZ8RCwgezB4MWY0MH19fSwKKyAgezB4MWY0OSwgezF8RnxELCB7MHgxZjQxfX19LAor
ICB7MHgxZjRhLCB7MXxGfEQsIHsweDFmNDJ9fX0sCisgIHsweDFmNGIsIHsxfEZ8RCwgezB4MWY0
M319fSwKKyAgezB4MWY0YywgezF8RnxELCB7MHgxZjQ0fX19LAorICB7MHgxZjRkLCB7MXxGfEQs
IHsweDFmNDV9fX0sCisgIHsweDFmNTAsIHsyfEZ8U1V8SSg2NiksIHsweDAzYzUsIDB4MDMxM319
fSwKKyAgezB4MWY1MiwgezN8RnxTVXxJKDY4KSwgezB4MDNjNSwgMHgwMzEzLCAweDAzMDB9fX0s
CisgIHsweDFmNTQsIHszfEZ8U1V8SSg3MSksIHsweDAzYzUsIDB4MDMxMywgMHgwMzAxfX19LAor
ICB7MHgxZjU2LCB7M3xGfFNVfEkoNzQpLCB7MHgwM2M1LCAweDAzMTMsIDB4MDM0Mn19fSwKKyAg
ezB4MWY1OSwgezF8RnxELCB7MHgxZjUxfX19LAorICB7MHgxZjViLCB7MXxGfEQsIHsweDFmNTN9
fX0sCisgIHsweDFmNWQsIHsxfEZ8RCwgezB4MWY1NX19fSwKKyAgezB4MWY1ZiwgezF8RnxELCB7
MHgxZjU3fX19LAorICB7MHgxZjY4LCB7MXxGfEQsIHsweDFmNjB9fX0sCisgIHsweDFmNjksIHsx
fEZ8RCwgezB4MWY2MX19fSwKKyAgezB4MWY2YSwgezF8RnxELCB7MHgxZjYyfX19LAorICB7MHgx
ZjZiLCB7MXxGfEQsIHsweDFmNjN9fX0sCisgIHsweDFmNmMsIHsxfEZ8RCwgezB4MWY2NH19fSwK
KyAgezB4MWY2ZCwgezF8RnxELCB7MHgxZjY1fX19LAorICB7MHgxZjZlLCB7MXxGfEQsIHsweDFm
NjZ9fX0sCisgIHsweDFmNmYsIHsxfEZ8RCwgezB4MWY2N319fSwKKyAgezB4MWY4MCwgezJ8RnxT
VHxTVXxJKDc3KSwgezB4MWYwMCwgMHgwM2I5fX19LAorICB7MHgxZjgxLCB7MnxGfFNUfFNVfEko
ODApLCB7MHgxZjAxLCAweDAzYjl9fX0sCisgIHsweDFmODIsIHsyfEZ8U1R8U1V8SSg4MyksIHsw
eDFmMDIsIDB4MDNiOX19fSwKKyAgezB4MWY4MywgezJ8RnxTVHxTVXxJKDg2KSwgezB4MWYwMywg
MHgwM2I5fX19LAorICB7MHgxZjg0LCB7MnxGfFNUfFNVfEkoODkpLCB7MHgxZjA0LCAweDAzYjl9
fX0sCisgIHsweDFmODUsIHsyfEZ8U1R8U1V8SSg5MiksIHsweDFmMDUsIDB4MDNiOX19fSwKKyAg
ezB4MWY4NiwgezJ8RnxTVHxTVXxJKDk1KSwgezB4MWYwNiwgMHgwM2I5fX19LAorICB7MHgxZjg3
LCB7MnxGfFNUfFNVfEkoOTgpLCB7MHgxZjA3LCAweDAzYjl9fX0sCisgIHsweDFmODgsIHsyfEZ8
SVR8U0x8U1V8SSgxMDEpLCB7MHgxZjAwLCAweDAzYjl9fX0sCisgIHsweDFmODksIHsyfEZ8SVR8
U0x8U1V8SSgxMDYpLCB7MHgxZjAxLCAweDAzYjl9fX0sCisgIHsweDFmOGEsIHsyfEZ8SVR8U0x8
U1V8SSgxMTEpLCB7MHgxZjAyLCAweDAzYjl9fX0sCisgIHsweDFmOGIsIHsyfEZ8SVR8U0x8U1V8
SSgxMTYpLCB7MHgxZjAzLCAweDAzYjl9fX0sCisgIHsweDFmOGMsIHsyfEZ8SVR8U0x8U1V8SSgx
MjEpLCB7MHgxZjA0LCAweDAzYjl9fX0sCisgIHsweDFmOGQsIHsyfEZ8SVR8U0x8U1V8SSgxMjYp
LCB7MHgxZjA1LCAweDAzYjl9fX0sCisgIHsweDFmOGUsIHsyfEZ8SVR8U0x8U1V8SSgxMzEpLCB7
MHgxZjA2LCAweDAzYjl9fX0sCisgIHsweDFmOGYsIHsyfEZ8SVR8U0x8U1V8SSgxMzYpLCB7MHgx
ZjA3LCAweDAzYjl9fX0sCisgIHsweDFmOTAsIHsyfEZ8U1R8U1V8SSgxNDEpLCB7MHgxZjIwLCAw
eDAzYjl9fX0sCisgIHsweDFmOTEsIHsyfEZ8U1R8U1V8SSgxNDQpLCB7MHgxZjIxLCAweDAzYjl9
fX0sCisgIHsweDFmOTIsIHsyfEZ8U1R8U1V8SSgxNDcpLCB7MHgxZjIyLCAweDAzYjl9fX0sCisg
IHsweDFmOTMsIHsyfEZ8U1R8U1V8SSgxNTApLCB7MHgxZjIzLCAweDAzYjl9fX0sCisgIHsweDFm
OTQsIHsyfEZ8U1R8U1V8SSgxNTMpLCB7MHgxZjI0LCAweDAzYjl9fX0sCisgIHsweDFmOTUsIHsy
fEZ8U1R8U1V8SSgxNTYpLCB7MHgxZjI1LCAweDAzYjl9fX0sCisgIHsweDFmOTYsIHsyfEZ8U1R8
U1V8SSgxNTkpLCB7MHgxZjI2LCAweDAzYjl9fX0sCisgIHsweDFmOTcsIHsyfEZ8U1R8U1V8SSgx
NjIpLCB7MHgxZjI3LCAweDAzYjl9fX0sCisgIHsweDFmOTgsIHsyfEZ8SVR8U0x8U1V8SSgxNjUp
LCB7MHgxZjIwLCAweDAzYjl9fX0sCisgIHsweDFmOTksIHsyfEZ8SVR8U0x8U1V8SSgxNzApLCB7
MHgxZjIxLCAweDAzYjl9fX0sCisgIHsweDFmOWEsIHsyfEZ8SVR8U0x8U1V8SSgxNzUpLCB7MHgx
ZjIyLCAweDAzYjl9fX0sCisgIHsweDFmOWIsIHsyfEZ8SVR8U0x8U1V8SSgxODApLCB7MHgxZjIz
LCAweDAzYjl9fX0sCisgIHsweDFmOWMsIHsyfEZ8SVR8U0x8U1V8SSgxODUpLCB7MHgxZjI0LCAw
eDAzYjl9fX0sCisgIHsweDFmOWQsIHsyfEZ8SVR8U0x8U1V8SSgxOTApLCB7MHgxZjI1LCAweDAz
Yjl9fX0sCisgIHsweDFmOWUsIHsyfEZ8SVR8U0x8U1V8SSgxOTUpLCB7MHgxZjI2LCAweDAzYjl9
fX0sCisgIHsweDFmOWYsIHsyfEZ8SVR8U0x8U1V8SSgyMDApLCB7MHgxZjI3LCAweDAzYjl9fX0s
CisgIHsweDFmYTAsIHsyfEZ8U1R8U1V8SSgyMDUpLCB7MHgxZjYwLCAweDAzYjl9fX0sCisgIHsw
eDFmYTEsIHsyfEZ8U1R8U1V8SSgyMDgpLCB7MHgxZjYxLCAweDAzYjl9fX0sCisgIHsweDFmYTIs
IHsyfEZ8U1R8U1V8SSgyMTEpLCB7MHgxZjYyLCAweDAzYjl9fX0sCisgIHsweDFmYTMsIHsyfEZ8
U1R8U1V8SSgyMTQpLCB7MHgxZjYzLCAweDAzYjl9fX0sCisgIHsweDFmYTQsIHsyfEZ8U1R8U1V8
SSgyMTcpLCB7MHgxZjY0LCAweDAzYjl9fX0sCisgIHsweDFmYTUsIHsyfEZ8U1R8U1V8SSgyMjAp
LCB7MHgxZjY1LCAweDAzYjl9fX0sCisgIHsweDFmYTYsIHsyfEZ8U1R8U1V8SSgyMjMpLCB7MHgx
ZjY2LCAweDAzYjl9fX0sCisgIHsweDFmYTcsIHsyfEZ8U1R8U1V8SSgyMjYpLCB7MHgxZjY3LCAw
eDAzYjl9fX0sCisgIHsweDFmYTgsIHsyfEZ8SVR8U0x8U1V8SSgyMjkpLCB7MHgxZjYwLCAweDAz
Yjl9fX0sCisgIHsweDFmYTksIHsyfEZ8SVR8U0x8U1V8SSgyMzQpLCB7MHgxZjYxLCAweDAzYjl9
fX0sCisgIHsweDFmYWEsIHsyfEZ8SVR8U0x8U1V8SSgyMzkpLCB7MHgxZjYyLCAweDAzYjl9fX0s
CisgIHsweDFmYWIsIHsyfEZ8SVR8U0x8U1V8SSgyNDQpLCB7MHgxZjYzLCAweDAzYjl9fX0sCisg
IHsweDFmYWMsIHsyfEZ8SVR8U0x8U1V8SSgyNDkpLCB7MHgxZjY0LCAweDAzYjl9fX0sCisgIHsw
eDFmYWQsIHsyfEZ8SVR8U0x8U1V8SSgyNTQpLCB7MHgxZjY1LCAweDAzYjl9fX0sCisgIHsweDFm
YWUsIHsyfEZ8SVR8U0x8U1V8SSgyNTkpLCB7MHgxZjY2LCAweDAzYjl9fX0sCisgIHsweDFmYWYs
IHsyfEZ8SVR8U0x8U1V8SSgyNjQpLCB7MHgxZjY3LCAweDAzYjl9fX0sCisgIHsweDFmYjIsIHsy
fEZ8U1R8U1V8SSgyNjkpLCB7MHgxZjcwLCAweDAzYjl9fX0sCisgIHsweDFmYjMsIHsyfEZ8U1R8
U1V8SSgyNzMpLCB7MHgwM2IxLCAweDAzYjl9fX0sCisgIHsweDFmYjQsIHsyfEZ8U1R8U1V8SSgy
NzYpLCB7MHgwM2FjLCAweDAzYjl9fX0sCisgIHsweDFmYjYsIHsyfEZ8U1V8SSgyODApLCB7MHgw
M2IxLCAweDAzNDJ9fX0sCisgIHsweDFmYjcsIHszfEZ8U1R8U1V8SSgyODIpLCB7MHgwM2IxLCAw
eDAzNDIsIDB4MDNiOX19fSwKKyAgezB4MWZiOCwgezF8RnxELCB7MHgxZmIwfX19LAorICB7MHgx
ZmI5LCB7MXxGfEQsIHsweDFmYjF9fX0sCisgIHsweDFmYmEsIHsxfEZ8RCwgezB4MWY3MH19fSwK
KyAgezB4MWZiYiwgezF8RnxELCB7MHgxZjcxfX19LAorICB7MHgxZmJjLCB7MnxGfElUfFNMfFNV
fEkoMjg4KSwgezB4MDNiMSwgMHgwM2I5fX19LAorICB7MHgxZmJlLCB7MXxGfFNVfEkoMjkzKSwg
ezB4MDNiOX19fSwKKyAgezB4MWZjMiwgezJ8RnxTVHxTVXxJKDI5NCksIHsweDFmNzQsIDB4MDNi
OX19fSwKKyAgezB4MWZjMywgezJ8RnxTVHxTVXxJKDI5OCksIHsweDAzYjcsIDB4MDNiOX19fSwK
KyAgezB4MWZjNCwgezJ8RnxTVHxTVXxJKDMwMSksIHsweDAzYWUsIDB4MDNiOX19fSwKKyAgezB4
MWZjNiwgezJ8RnxTVXxJKDMwNSksIHsweDAzYjcsIDB4MDM0Mn19fSwKKyAgezB4MWZjNywgezN8
RnxTVHxTVXxJKDMwNyksIHsweDAzYjcsIDB4MDM0MiwgMHgwM2I5fX19LAorICB7MHgxZmM4LCB7
MXxGfEQsIHsweDFmNzJ9fX0sCisgIHsweDFmYzksIHsxfEZ8RCwgezB4MWY3M319fSwKKyAgezB4
MWZjYSwgezF8RnxELCB7MHgxZjc0fX19LAorICB7MHgxZmNiLCB7MXxGfEQsIHsweDFmNzV9fX0s
CisgIHsweDFmY2MsIHsyfEZ8SVR8U0x8U1V8SSgzMTMpLCB7MHgwM2I3LCAweDAzYjl9fX0sCisg
IHsweDFmZDIsIHszfEZ8U1V8SSgzMTgpLCB7MHgwM2I5LCAweDAzMDgsIDB4MDMwMH19fSwKKyAg
ezB4MWZkMywgezN8RnxTVXxJKDMyMSksIHsweDAzYjksIDB4MDMwOCwgMHgwMzAxfX19LAorICB7
MHgxZmQ2LCB7MnxGfFNVfEkoMzI0KSwgezB4MDNiOSwgMHgwMzQyfX19LAorICB7MHgxZmQ3LCB7
M3xGfFNVfEkoMzI2KSwgezB4MDNiOSwgMHgwMzA4LCAweDAzNDJ9fX0sCisgIHsweDFmZDgsIHsx
fEZ8RCwgezB4MWZkMH19fSwKKyAgezB4MWZkOSwgezF8RnxELCB7MHgxZmQxfX19LAorICB7MHgx
ZmRhLCB7MXxGfEQsIHsweDFmNzZ9fX0sCisgIHsweDFmZGIsIHsxfEZ8RCwgezB4MWY3N319fSwK
KyAgezB4MWZlMiwgezN8RnxTVXxJKDMyOSksIHsweDAzYzUsIDB4MDMwOCwgMHgwMzAwfX19LAor
ICB7MHgxZmUzLCB7M3xGfFNVfEkoMzMyKSwgezB4MDNjNSwgMHgwMzA4LCAweDAzMDF9fX0sCisg
IHsweDFmZTQsIHsyfEZ8U1V8SSgzMzUpLCB7MHgwM2MxLCAweDAzMTN9fX0sCisgIHsweDFmZTYs
IHsyfEZ8U1V8SSgzMzcpLCB7MHgwM2M1LCAweDAzNDJ9fX0sCisgIHsweDFmZTcsIHszfEZ8U1V8
SSgzMzkpLCB7MHgwM2M1LCAweDAzMDgsIDB4MDM0Mn19fSwKKyAgezB4MWZlOCwgezF8RnxELCB7
MHgxZmUwfX19LAorICB7MHgxZmU5LCB7MXxGfEQsIHsweDFmZTF9fX0sCisgIHsweDFmZWEsIHsx
fEZ8RCwgezB4MWY3YX19fSwKKyAgezB4MWZlYiwgezF8RnxELCB7MHgxZjdifX19LAorICB7MHgx
ZmVjLCB7MXxGfEQsIHsweDFmZTV9fX0sCisgIHsweDFmZjIsIHsyfEZ8U1R8U1V8SSgzNDIpLCB7
MHgxZjdjLCAweDAzYjl9fX0sCisgIHsweDFmZjMsIHsyfEZ8U1R8U1V8SSgzNDYpLCB7MHgwM2M5
LCAweDAzYjl9fX0sCisgIHsweDFmZjQsIHsyfEZ8U1R8U1V8SSgzNDkpLCB7MHgwM2NlLCAweDAz
Yjl9fX0sCisgIHsweDFmZjYsIHsyfEZ8U1V8SSgzNTMpLCB7MHgwM2M5LCAweDAzNDJ9fX0sCisg
IHsweDFmZjcsIHszfEZ8U1R8U1V8SSgzNTUpLCB7MHgwM2M5LCAweDAzNDIsIDB4MDNiOX19fSwK
KyAgezB4MWZmOCwgezF8RnxELCB7MHgxZjc4fX19LAorICB7MHgxZmY5LCB7MXxGfEQsIHsweDFm
Nzl9fX0sCisgIHsweDFmZmEsIHsxfEZ8RCwgezB4MWY3Y319fSwKKyAgezB4MWZmYiwgezF8RnxE
LCB7MHgxZjdkfX19LAorICB7MHgxZmZjLCB7MnxGfElUfFNMfFNVfEkoMzYxKSwgezB4MDNjOSwg
MHgwM2I5fX19LAorICB7MHgyMTI2LCB7MXxGfEQsIHsweDAzYzl9fX0sCisgIHsweDIxMmEsIHsx
fEZ8RCwgezB4MDA2Yn19fSwKKyAgezB4MjEyYiwgezF8RnxELCB7MHgwMGU1fX19LAorICB7MHgy
MTMyLCB7MXxGfEQsIHsweDIxNGV9fX0sCisgIHsweDIxNjAsIHsxfEZ8RCwgezB4MjE3MH19fSwK
KyAgezB4MjE2MSwgezF8RnxELCB7MHgyMTcxfX19LAorICB7MHgyMTYyLCB7MXxGfEQsIHsweDIx
NzJ9fX0sCisgIHsweDIxNjMsIHsxfEZ8RCwgezB4MjE3M319fSwKKyAgezB4MjE2NCwgezF8RnxE
LCB7MHgyMTc0fX19LAorICB7MHgyMTY1LCB7MXxGfEQsIHsweDIxNzV9fX0sCisgIHsweDIxNjYs
IHsxfEZ8RCwgezB4MjE3Nn19fSwKKyAgezB4MjE2NywgezF8RnxELCB7MHgyMTc3fX19LAorICB7
MHgyMTY4LCB7MXxGfEQsIHsweDIxNzh9fX0sCisgIHsweDIxNjksIHsxfEZ8RCwgezB4MjE3OX19
fSwKKyAgezB4MjE2YSwgezF8RnxELCB7MHgyMTdhfX19LAorICB7MHgyMTZiLCB7MXxGfEQsIHsw
eDIxN2J9fX0sCisgIHsweDIxNmMsIHsxfEZ8RCwgezB4MjE3Y319fSwKKyAgezB4MjE2ZCwgezF8
RnxELCB7MHgyMTdkfX19LAorICB7MHgyMTZlLCB7MXxGfEQsIHsweDIxN2V9fX0sCisgIHsweDIx
NmYsIHsxfEZ8RCwgezB4MjE3Zn19fSwKKyAgezB4MjE4MywgezF8RnxELCB7MHgyMTg0fX19LAor
ICB7MHgyNGI2LCB7MXxGfEQsIHsweDI0ZDB9fX0sCisgIHsweDI0YjcsIHsxfEZ8RCwgezB4MjRk
MX19fSwKKyAgezB4MjRiOCwgezF8RnxELCB7MHgyNGQyfX19LAorICB7MHgyNGI5LCB7MXxGfEQs
IHsweDI0ZDN9fX0sCisgIHsweDI0YmEsIHsxfEZ8RCwgezB4MjRkNH19fSwKKyAgezB4MjRiYiwg
ezF8RnxELCB7MHgyNGQ1fX19LAorICB7MHgyNGJjLCB7MXxGfEQsIHsweDI0ZDZ9fX0sCisgIHsw
eDI0YmQsIHsxfEZ8RCwgezB4MjRkN319fSwKKyAgezB4MjRiZSwgezF8RnxELCB7MHgyNGQ4fX19
LAorICB7MHgyNGJmLCB7MXxGfEQsIHsweDI0ZDl9fX0sCisgIHsweDI0YzAsIHsxfEZ8RCwgezB4
MjRkYX19fSwKKyAgezB4MjRjMSwgezF8RnxELCB7MHgyNGRifX19LAorICB7MHgyNGMyLCB7MXxG
fEQsIHsweDI0ZGN9fX0sCisgIHsweDI0YzMsIHsxfEZ8RCwgezB4MjRkZH19fSwKKyAgezB4MjRj
NCwgezF8RnxELCB7MHgyNGRlfX19LAorICB7MHgyNGM1LCB7MXxGfEQsIHsweDI0ZGZ9fX0sCisg
IHsweDI0YzYsIHsxfEZ8RCwgezB4MjRlMH19fSwKKyAgezB4MjRjNywgezF8RnxELCB7MHgyNGUx
fX19LAorICB7MHgyNGM4LCB7MXxGfEQsIHsweDI0ZTJ9fX0sCisgIHsweDI0YzksIHsxfEZ8RCwg
ezB4MjRlM319fSwKKyAgezB4MjRjYSwgezF8RnxELCB7MHgyNGU0fX19LAorICB7MHgyNGNiLCB7
MXxGfEQsIHsweDI0ZTV9fX0sCisgIHsweDI0Y2MsIHsxfEZ8RCwgezB4MjRlNn19fSwKKyAgezB4
MjRjZCwgezF8RnxELCB7MHgyNGU3fX19LAorICB7MHgyNGNlLCB7MXxGfEQsIHsweDI0ZTh9fX0s
CisgIHsweDI0Y2YsIHsxfEZ8RCwgezB4MjRlOX19fSwKKyAgezB4MmMwMCwgezF8RnxELCB7MHgy
YzMwfX19LAorICB7MHgyYzAxLCB7MXxGfEQsIHsweDJjMzF9fX0sCisgIHsweDJjMDIsIHsxfEZ8
RCwgezB4MmMzMn19fSwKKyAgezB4MmMwMywgezF8RnxELCB7MHgyYzMzfX19LAorICB7MHgyYzA0
LCB7MXxGfEQsIHsweDJjMzR9fX0sCisgIHsweDJjMDUsIHsxfEZ8RCwgezB4MmMzNX19fSwKKyAg
ezB4MmMwNiwgezF8RnxELCB7MHgyYzM2fX19LAorICB7MHgyYzA3LCB7MXxGfEQsIHsweDJjMzd9
fX0sCisgIHsweDJjMDgsIHsxfEZ8RCwgezB4MmMzOH19fSwKKyAgezB4MmMwOSwgezF8RnxELCB7
MHgyYzM5fX19LAorICB7MHgyYzBhLCB7MXxGfEQsIHsweDJjM2F9fX0sCisgIHsweDJjMGIsIHsx
fEZ8RCwgezB4MmMzYn19fSwKKyAgezB4MmMwYywgezF8RnxELCB7MHgyYzNjfX19LAorICB7MHgy
YzBkLCB7MXxGfEQsIHsweDJjM2R9fX0sCisgIHsweDJjMGUsIHsxfEZ8RCwgezB4MmMzZX19fSwK
KyAgezB4MmMwZiwgezF8RnxELCB7MHgyYzNmfX19LAorICB7MHgyYzEwLCB7MXxGfEQsIHsweDJj
NDB9fX0sCisgIHsweDJjMTEsIHsxfEZ8RCwgezB4MmM0MX19fSwKKyAgezB4MmMxMiwgezF8RnxE
LCB7MHgyYzQyfX19LAorICB7MHgyYzEzLCB7MXxGfEQsIHsweDJjNDN9fX0sCisgIHsweDJjMTQs
IHsxfEZ8RCwgezB4MmM0NH19fSwKKyAgezB4MmMxNSwgezF8RnxELCB7MHgyYzQ1fX19LAorICB7
MHgyYzE2LCB7MXxGfEQsIHsweDJjNDZ9fX0sCisgIHsweDJjMTcsIHsxfEZ8RCwgezB4MmM0N319
fSwKKyAgezB4MmMxOCwgezF8RnxELCB7MHgyYzQ4fX19LAorICB7MHgyYzE5LCB7MXxGfEQsIHsw
eDJjNDl9fX0sCisgIHsweDJjMWEsIHsxfEZ8RCwgezB4MmM0YX19fSwKKyAgezB4MmMxYiwgezF8
RnxELCB7MHgyYzRifX19LAorICB7MHgyYzFjLCB7MXxGfEQsIHsweDJjNGN9fX0sCisgIHsweDJj
MWQsIHsxfEZ8RCwgezB4MmM0ZH19fSwKKyAgezB4MmMxZSwgezF8RnxELCB7MHgyYzRlfX19LAor
ICB7MHgyYzFmLCB7MXxGfEQsIHsweDJjNGZ9fX0sCisgIHsweDJjMjAsIHsxfEZ8RCwgezB4MmM1
MH19fSwKKyAgezB4MmMyMSwgezF8RnxELCB7MHgyYzUxfX19LAorICB7MHgyYzIyLCB7MXxGfEQs
IHsweDJjNTJ9fX0sCisgIHsweDJjMjMsIHsxfEZ8RCwgezB4MmM1M319fSwKKyAgezB4MmMyNCwg
ezF8RnxELCB7MHgyYzU0fX19LAorICB7MHgyYzI1LCB7MXxGfEQsIHsweDJjNTV9fX0sCisgIHsw
eDJjMjYsIHsxfEZ8RCwgezB4MmM1Nn19fSwKKyAgezB4MmMyNywgezF8RnxELCB7MHgyYzU3fX19
LAorICB7MHgyYzI4LCB7MXxGfEQsIHsweDJjNTh9fX0sCisgIHsweDJjMjksIHsxfEZ8RCwgezB4
MmM1OX19fSwKKyAgezB4MmMyYSwgezF8RnxELCB7MHgyYzVhfX19LAorICB7MHgyYzJiLCB7MXxG
fEQsIHsweDJjNWJ9fX0sCisgIHsweDJjMmMsIHsxfEZ8RCwgezB4MmM1Y319fSwKKyAgezB4MmMy
ZCwgezF8RnxELCB7MHgyYzVkfX19LAorICB7MHgyYzJlLCB7MXxGfEQsIHsweDJjNWV9fX0sCisg
IHsweDJjNjAsIHsxfEZ8RCwgezB4MmM2MX19fSwKKyAgezB4MmM2MiwgezF8RnxELCB7MHgwMjZi
fX19LAorICB7MHgyYzYzLCB7MXxGfEQsIHsweDFkN2R9fX0sCisgIHsweDJjNjQsIHsxfEZ8RCwg
ezB4MDI3ZH19fSwKKyAgezB4MmM2NywgezF8RnxELCB7MHgyYzY4fX19LAorICB7MHgyYzY5LCB7
MXxGfEQsIHsweDJjNmF9fX0sCisgIHsweDJjNmIsIHsxfEZ8RCwgezB4MmM2Y319fSwKKyAgezB4
MmM2ZCwgezF8RnxELCB7MHgwMjUxfX19LAorICB7MHgyYzZlLCB7MXxGfEQsIHsweDAyNzF9fX0s
CisgIHsweDJjNmYsIHsxfEZ8RCwgezB4MDI1MH19fSwKKyAgezB4MmM3MCwgezF8RnxELCB7MHgw
MjUyfX19LAorICB7MHgyYzcyLCB7MXxGfEQsIHsweDJjNzN9fX0sCisgIHsweDJjNzUsIHsxfEZ8
RCwgezB4MmM3Nn19fSwKKyAgezB4MmM3ZSwgezF8RnxELCB7MHgwMjNmfX19LAorICB7MHgyYzdm
LCB7MXxGfEQsIHsweDAyNDB9fX0sCisgIHsweDJjODAsIHsxfEZ8RCwgezB4MmM4MX19fSwKKyAg
ezB4MmM4MiwgezF8RnxELCB7MHgyYzgzfX19LAorICB7MHgyYzg0LCB7MXxGfEQsIHsweDJjODV9
fX0sCisgIHsweDJjODYsIHsxfEZ8RCwgezB4MmM4N319fSwKKyAgezB4MmM4OCwgezF8RnxELCB7
MHgyYzg5fX19LAorICB7MHgyYzhhLCB7MXxGfEQsIHsweDJjOGJ9fX0sCisgIHsweDJjOGMsIHsx
fEZ8RCwgezB4MmM4ZH19fSwKKyAgezB4MmM4ZSwgezF8RnxELCB7MHgyYzhmfX19LAorICB7MHgy
YzkwLCB7MXxGfEQsIHsweDJjOTF9fX0sCisgIHsweDJjOTIsIHsxfEZ8RCwgezB4MmM5M319fSwK
KyAgezB4MmM5NCwgezF8RnxELCB7MHgyYzk1fX19LAorICB7MHgyYzk2LCB7MXxGfEQsIHsweDJj
OTd9fX0sCisgIHsweDJjOTgsIHsxfEZ8RCwgezB4MmM5OX19fSwKKyAgezB4MmM5YSwgezF8RnxE
LCB7MHgyYzlifX19LAorICB7MHgyYzljLCB7MXxGfEQsIHsweDJjOWR9fX0sCisgIHsweDJjOWUs
IHsxfEZ8RCwgezB4MmM5Zn19fSwKKyAgezB4MmNhMCwgezF8RnxELCB7MHgyY2ExfX19LAorICB7
MHgyY2EyLCB7MXxGfEQsIHsweDJjYTN9fX0sCisgIHsweDJjYTQsIHsxfEZ8RCwgezB4MmNhNX19
fSwKKyAgezB4MmNhNiwgezF8RnxELCB7MHgyY2E3fX19LAorICB7MHgyY2E4LCB7MXxGfEQsIHsw
eDJjYTl9fX0sCisgIHsweDJjYWEsIHsxfEZ8RCwgezB4MmNhYn19fSwKKyAgezB4MmNhYywgezF8
RnxELCB7MHgyY2FkfX19LAorICB7MHgyY2FlLCB7MXxGfEQsIHsweDJjYWZ9fX0sCisgIHsweDJj
YjAsIHsxfEZ8RCwgezB4MmNiMX19fSwKKyAgezB4MmNiMiwgezF8RnxELCB7MHgyY2IzfX19LAor
ICB7MHgyY2I0LCB7MXxGfEQsIHsweDJjYjV9fX0sCisgIHsweDJjYjYsIHsxfEZ8RCwgezB4MmNi
N319fSwKKyAgezB4MmNiOCwgezF8RnxELCB7MHgyY2I5fX19LAorICB7MHgyY2JhLCB7MXxGfEQs
IHsweDJjYmJ9fX0sCisgIHsweDJjYmMsIHsxfEZ8RCwgezB4MmNiZH19fSwKKyAgezB4MmNiZSwg
ezF8RnxELCB7MHgyY2JmfX19LAorICB7MHgyY2MwLCB7MXxGfEQsIHsweDJjYzF9fX0sCisgIHsw
eDJjYzIsIHsxfEZ8RCwgezB4MmNjM319fSwKKyAgezB4MmNjNCwgezF8RnxELCB7MHgyY2M1fX19
LAorICB7MHgyY2M2LCB7MXxGfEQsIHsweDJjYzd9fX0sCisgIHsweDJjYzgsIHsxfEZ8RCwgezB4
MmNjOX19fSwKKyAgezB4MmNjYSwgezF8RnxELCB7MHgyY2NifX19LAorICB7MHgyY2NjLCB7MXxG
fEQsIHsweDJjY2R9fX0sCisgIHsweDJjY2UsIHsxfEZ8RCwgezB4MmNjZn19fSwKKyAgezB4MmNk
MCwgezF8RnxELCB7MHgyY2QxfX19LAorICB7MHgyY2QyLCB7MXxGfEQsIHsweDJjZDN9fX0sCisg
IHsweDJjZDQsIHsxfEZ8RCwgezB4MmNkNX19fSwKKyAgezB4MmNkNiwgezF8RnxELCB7MHgyY2Q3
fX19LAorICB7MHgyY2Q4LCB7MXxGfEQsIHsweDJjZDl9fX0sCisgIHsweDJjZGEsIHsxfEZ8RCwg
ezB4MmNkYn19fSwKKyAgezB4MmNkYywgezF8RnxELCB7MHgyY2RkfX19LAorICB7MHgyY2RlLCB7
MXxGfEQsIHsweDJjZGZ9fX0sCisgIHsweDJjZTAsIHsxfEZ8RCwgezB4MmNlMX19fSwKKyAgezB4
MmNlMiwgezF8RnxELCB7MHgyY2UzfX19LAorICB7MHgyY2ViLCB7MXxGfEQsIHsweDJjZWN9fX0s
CisgIHsweDJjZWQsIHsxfEZ8RCwgezB4MmNlZX19fSwKKyAgezB4MmNmMiwgezF8RnxELCB7MHgy
Y2YzfX19LAorICB7MHhhNjQwLCB7MXxGfEQsIHsweGE2NDF9fX0sCisgIHsweGE2NDIsIHsxfEZ8
RCwgezB4YTY0M319fSwKKyAgezB4YTY0NCwgezF8RnxELCB7MHhhNjQ1fX19LAorICB7MHhhNjQ2
LCB7MXxGfEQsIHsweGE2NDd9fX0sCisgIHsweGE2NDgsIHsxfEZ8RCwgezB4YTY0OX19fSwKKyAg
ezB4YTY0YSwgezF8RnxELCB7MHhhNjRifX19LAorICB7MHhhNjRjLCB7MXxGfEQsIHsweGE2NGR9
fX0sCisgIHsweGE2NGUsIHsxfEZ8RCwgezB4YTY0Zn19fSwKKyAgezB4YTY1MCwgezF8RnxELCB7
MHhhNjUxfX19LAorICB7MHhhNjUyLCB7MXxGfEQsIHsweGE2NTN9fX0sCisgIHsweGE2NTQsIHsx
fEZ8RCwgezB4YTY1NX19fSwKKyAgezB4YTY1NiwgezF8RnxELCB7MHhhNjU3fX19LAorICB7MHhh
NjU4LCB7MXxGfEQsIHsweGE2NTl9fX0sCisgIHsweGE2NWEsIHsxfEZ8RCwgezB4YTY1Yn19fSwK
KyAgezB4YTY1YywgezF8RnxELCB7MHhhNjVkfX19LAorICB7MHhhNjVlLCB7MXxGfEQsIHsweGE2
NWZ9fX0sCisgIHsweGE2NjAsIHsxfEZ8RCwgezB4YTY2MX19fSwKKyAgezB4YTY2MiwgezF8RnxE
LCB7MHhhNjYzfX19LAorICB7MHhhNjY0LCB7MXxGfEQsIHsweGE2NjV9fX0sCisgIHsweGE2NjYs
IHsxfEZ8RCwgezB4YTY2N319fSwKKyAgezB4YTY2OCwgezF8RnxELCB7MHhhNjY5fX19LAorICB7
MHhhNjZhLCB7MXxGfEQsIHsweGE2NmJ9fX0sCisgIHsweGE2NmMsIHsxfEZ8RCwgezB4YTY2ZH19
fSwKKyAgezB4YTY4MCwgezF8RnxELCB7MHhhNjgxfX19LAorICB7MHhhNjgyLCB7MXxGfEQsIHsw
eGE2ODN9fX0sCisgIHsweGE2ODQsIHsxfEZ8RCwgezB4YTY4NX19fSwKKyAgezB4YTY4NiwgezF8
RnxELCB7MHhhNjg3fX19LAorICB7MHhhNjg4LCB7MXxGfEQsIHsweGE2ODl9fX0sCisgIHsweGE2
OGEsIHsxfEZ8RCwgezB4YTY4Yn19fSwKKyAgezB4YTY4YywgezF8RnxELCB7MHhhNjhkfX19LAor
ICB7MHhhNjhlLCB7MXxGfEQsIHsweGE2OGZ9fX0sCisgIHsweGE2OTAsIHsxfEZ8RCwgezB4YTY5
MX19fSwKKyAgezB4YTY5MiwgezF8RnxELCB7MHhhNjkzfX19LAorICB7MHhhNjk0LCB7MXxGfEQs
IHsweGE2OTV9fX0sCisgIHsweGE2OTYsIHsxfEZ8RCwgezB4YTY5N319fSwKKyAgezB4YTY5OCwg
ezF8RnxELCB7MHhhNjk5fX19LAorICB7MHhhNjlhLCB7MXxGfEQsIHsweGE2OWJ9fX0sCisgIHsw
eGE3MjIsIHsxfEZ8RCwgezB4YTcyM319fSwKKyAgezB4YTcyNCwgezF8RnxELCB7MHhhNzI1fX19
LAorICB7MHhhNzI2LCB7MXxGfEQsIHsweGE3Mjd9fX0sCisgIHsweGE3MjgsIHsxfEZ8RCwgezB4
YTcyOX19fSwKKyAgezB4YTcyYSwgezF8RnxELCB7MHhhNzJifX19LAorICB7MHhhNzJjLCB7MXxG
fEQsIHsweGE3MmR9fX0sCisgIHsweGE3MmUsIHsxfEZ8RCwgezB4YTcyZn19fSwKKyAgezB4YTcz
MiwgezF8RnxELCB7MHhhNzMzfX19LAorICB7MHhhNzM0LCB7MXxGfEQsIHsweGE3MzV9fX0sCisg
IHsweGE3MzYsIHsxfEZ8RCwgezB4YTczN319fSwKKyAgezB4YTczOCwgezF8RnxELCB7MHhhNzM5
fX19LAorICB7MHhhNzNhLCB7MXxGfEQsIHsweGE3M2J9fX0sCisgIHsweGE3M2MsIHsxfEZ8RCwg
ezB4YTczZH19fSwKKyAgezB4YTczZSwgezF8RnxELCB7MHhhNzNmfX19LAorICB7MHhhNzQwLCB7
MXxGfEQsIHsweGE3NDF9fX0sCisgIHsweGE3NDIsIHsxfEZ8RCwgezB4YTc0M319fSwKKyAgezB4
YTc0NCwgezF8RnxELCB7MHhhNzQ1fX19LAorICB7MHhhNzQ2LCB7MXxGfEQsIHsweGE3NDd9fX0s
CisgIHsweGE3NDgsIHsxfEZ8RCwgezB4YTc0OX19fSwKKyAgezB4YTc0YSwgezF8RnxELCB7MHhh
NzRifX19LAorICB7MHhhNzRjLCB7MXxGfEQsIHsweGE3NGR9fX0sCisgIHsweGE3NGUsIHsxfEZ8
RCwgezB4YTc0Zn19fSwKKyAgezB4YTc1MCwgezF8RnxELCB7MHhhNzUxfX19LAorICB7MHhhNzUy
LCB7MXxGfEQsIHsweGE3NTN9fX0sCisgIHsweGE3NTQsIHsxfEZ8RCwgezB4YTc1NX19fSwKKyAg
ezB4YTc1NiwgezF8RnxELCB7MHhhNzU3fX19LAorICB7MHhhNzU4LCB7MXxGfEQsIHsweGE3NTl9
fX0sCisgIHsweGE3NWEsIHsxfEZ8RCwgezB4YTc1Yn19fSwKKyAgezB4YTc1YywgezF8RnxELCB7
MHhhNzVkfX19LAorICB7MHhhNzVlLCB7MXxGfEQsIHsweGE3NWZ9fX0sCisgIHsweGE3NjAsIHsx
fEZ8RCwgezB4YTc2MX19fSwKKyAgezB4YTc2MiwgezF8RnxELCB7MHhhNzYzfX19LAorICB7MHhh
NzY0LCB7MXxGfEQsIHsweGE3NjV9fX0sCisgIHsweGE3NjYsIHsxfEZ8RCwgezB4YTc2N319fSwK
KyAgezB4YTc2OCwgezF8RnxELCB7MHhhNzY5fX19LAorICB7MHhhNzZhLCB7MXxGfEQsIHsweGE3
NmJ9fX0sCisgIHsweGE3NmMsIHsxfEZ8RCwgezB4YTc2ZH19fSwKKyAgezB4YTc2ZSwgezF8RnxE
LCB7MHhhNzZmfX19LAorICB7MHhhNzc5LCB7MXxGfEQsIHsweGE3N2F9fX0sCisgIHsweGE3N2Is
IHsxfEZ8RCwgezB4YTc3Y319fSwKKyAgezB4YTc3ZCwgezF8RnxELCB7MHgxZDc5fX19LAorICB7
MHhhNzdlLCB7MXxGfEQsIHsweGE3N2Z9fX0sCisgIHsweGE3ODAsIHsxfEZ8RCwgezB4YTc4MX19
fSwKKyAgezB4YTc4MiwgezF8RnxELCB7MHhhNzgzfX19LAorICB7MHhhNzg0LCB7MXxGfEQsIHsw
eGE3ODV9fX0sCisgIHsweGE3ODYsIHsxfEZ8RCwgezB4YTc4N319fSwKKyAgezB4YTc4YiwgezF8
RnxELCB7MHhhNzhjfX19LAorICB7MHhhNzhkLCB7MXxGfEQsIHsweDAyNjV9fX0sCisgIHsweGE3
OTAsIHsxfEZ8RCwgezB4YTc5MX19fSwKKyAgezB4YTc5MiwgezF8RnxELCB7MHhhNzkzfX19LAor
ICB7MHhhNzk2LCB7MXxGfEQsIHsweGE3OTd9fX0sCisgIHsweGE3OTgsIHsxfEZ8RCwgezB4YTc5
OX19fSwKKyAgezB4YTc5YSwgezF8RnxELCB7MHhhNzlifX19LAorICB7MHhhNzljLCB7MXxGfEQs
IHsweGE3OWR9fX0sCisgIHsweGE3OWUsIHsxfEZ8RCwgezB4YTc5Zn19fSwKKyAgezB4YTdhMCwg
ezF8RnxELCB7MHhhN2ExfX19LAorICB7MHhhN2EyLCB7MXxGfEQsIHsweGE3YTN9fX0sCisgIHsw
eGE3YTQsIHsxfEZ8RCwgezB4YTdhNX19fSwKKyAgezB4YTdhNiwgezF8RnxELCB7MHhhN2E3fX19
LAorICB7MHhhN2E4LCB7MXxGfEQsIHsweGE3YTl9fX0sCisgIHsweGE3YWEsIHsxfEZ8RCwgezB4
MDI2Nn19fSwKKyAgezB4YTdhYiwgezF8RnxELCB7MHgwMjVjfX19LAorICB7MHhhN2FjLCB7MXxG
fEQsIHsweDAyNjF9fX0sCisgIHsweGE3YWQsIHsxfEZ8RCwgezB4MDI2Y319fSwKKyAgezB4YTdh
ZSwgezF8RnxELCB7MHgwMjZhfX19LAorICB7MHhhN2IwLCB7MXxGfEQsIHsweDAyOWV9fX0sCisg
IHsweGE3YjEsIHsxfEZ8RCwgezB4MDI4N319fSwKKyAgezB4YTdiMiwgezF8RnxELCB7MHgwMjlk
fX19LAorICB7MHhhN2IzLCB7MXxGfEQsIHsweGFiNTN9fX0sCisgIHsweGE3YjQsIHsxfEZ8RCwg
ezB4YTdiNX19fSwKKyAgezB4YTdiNiwgezF8RnxELCB7MHhhN2I3fX19LAorICB7MHhhN2I4LCB7
MXxGfEQsIHsweGE3Yjl9fX0sCisgIHsweGE3YmEsIHsxfEZ8RCwgezB4YTdiYn19fSwKKyAgezB4
YTdiYywgezF8RnxELCB7MHhhN2JkfX19LAorICB7MHhhN2JlLCB7MXxGfEQsIHsweGE3YmZ9fX0s
CisgIHsweGE3YzIsIHsxfEZ8RCwgezB4YTdjM319fSwKKyAgezB4YTdjNCwgezF8RnxELCB7MHhh
Nzk0fX19LAorICB7MHhhN2M1LCB7MXxGfEQsIHsweDAyODJ9fX0sCisgIHsweGE3YzYsIHsxfEZ8
RCwgezB4MWQ4ZX19fSwKKyAgezB4YWI3MCwgezF8RnxVLCB7MHgxM2EwfX19LAorICB7MHhhYjcx
LCB7MXxGfFUsIHsweDEzYTF9fX0sCisgIHsweGFiNzIsIHsxfEZ8VSwgezB4MTNhMn19fSwKKyAg
ezB4YWI3MywgezF8RnxVLCB7MHgxM2EzfX19LAorICB7MHhhYjc0LCB7MXxGfFUsIHsweDEzYTR9
fX0sCisgIHsweGFiNzUsIHsxfEZ8VSwgezB4MTNhNX19fSwKKyAgezB4YWI3NiwgezF8RnxVLCB7
MHgxM2E2fX19LAorICB7MHhhYjc3LCB7MXxGfFUsIHsweDEzYTd9fX0sCisgIHsweGFiNzgsIHsx
fEZ8VSwgezB4MTNhOH19fSwKKyAgezB4YWI3OSwgezF8RnxVLCB7MHgxM2E5fX19LAorICB7MHhh
YjdhLCB7MXxGfFUsIHsweDEzYWF9fX0sCisgIHsweGFiN2IsIHsxfEZ8VSwgezB4MTNhYn19fSwK
KyAgezB4YWI3YywgezF8RnxVLCB7MHgxM2FjfX19LAorICB7MHhhYjdkLCB7MXxGfFUsIHsweDEz
YWR9fX0sCisgIHsweGFiN2UsIHsxfEZ8VSwgezB4MTNhZX19fSwKKyAgezB4YWI3ZiwgezF8RnxV
LCB7MHgxM2FmfX19LAorICB7MHhhYjgwLCB7MXxGfFUsIHsweDEzYjB9fX0sCisgIHsweGFiODEs
IHsxfEZ8VSwgezB4MTNiMX19fSwKKyAgezB4YWI4MiwgezF8RnxVLCB7MHgxM2IyfX19LAorICB7
MHhhYjgzLCB7MXxGfFUsIHsweDEzYjN9fX0sCisgIHsweGFiODQsIHsxfEZ8VSwgezB4MTNiNH19
fSwKKyAgezB4YWI4NSwgezF8RnxVLCB7MHgxM2I1fX19LAorICB7MHhhYjg2LCB7MXxGfFUsIHsw
eDEzYjZ9fX0sCisgIHsweGFiODcsIHsxfEZ8VSwgezB4MTNiN319fSwKKyAgezB4YWI4OCwgezF8
RnxVLCB7MHgxM2I4fX19LAorICB7MHhhYjg5LCB7MXxGfFUsIHsweDEzYjl9fX0sCisgIHsweGFi
OGEsIHsxfEZ8VSwgezB4MTNiYX19fSwKKyAgezB4YWI4YiwgezF8RnxVLCB7MHgxM2JifX19LAor
ICB7MHhhYjhjLCB7MXxGfFUsIHsweDEzYmN9fX0sCisgIHsweGFiOGQsIHsxfEZ8VSwgezB4MTNi
ZH19fSwKKyAgezB4YWI4ZSwgezF8RnxVLCB7MHgxM2JlfX19LAorICB7MHhhYjhmLCB7MXxGfFUs
IHsweDEzYmZ9fX0sCisgIHsweGFiOTAsIHsxfEZ8VSwgezB4MTNjMH19fSwKKyAgezB4YWI5MSwg
ezF8RnxVLCB7MHgxM2MxfX19LAorICB7MHhhYjkyLCB7MXxGfFUsIHsweDEzYzJ9fX0sCisgIHsw
eGFiOTMsIHsxfEZ8VSwgezB4MTNjM319fSwKKyAgezB4YWI5NCwgezF8RnxVLCB7MHgxM2M0fX19
LAorICB7MHhhYjk1LCB7MXxGfFUsIHsweDEzYzV9fX0sCisgIHsweGFiOTYsIHsxfEZ8VSwgezB4
MTNjNn19fSwKKyAgezB4YWI5NywgezF8RnxVLCB7MHgxM2M3fX19LAorICB7MHhhYjk4LCB7MXxG
fFUsIHsweDEzYzh9fX0sCisgIHsweGFiOTksIHsxfEZ8VSwgezB4MTNjOX19fSwKKyAgezB4YWI5
YSwgezF8RnxVLCB7MHgxM2NhfX19LAorICB7MHhhYjliLCB7MXxGfFUsIHsweDEzY2J9fX0sCisg
IHsweGFiOWMsIHsxfEZ8VSwgezB4MTNjY319fSwKKyAgezB4YWI5ZCwgezF8RnxVLCB7MHgxM2Nk
fX19LAorICB7MHhhYjllLCB7MXxGfFUsIHsweDEzY2V9fX0sCisgIHsweGFiOWYsIHsxfEZ8VSwg
ezB4MTNjZn19fSwKKyAgezB4YWJhMCwgezF8RnxVLCB7MHgxM2QwfX19LAorICB7MHhhYmExLCB7
MXxGfFUsIHsweDEzZDF9fX0sCisgIHsweGFiYTIsIHsxfEZ8VSwgezB4MTNkMn19fSwKKyAgezB4
YWJhMywgezF8RnxVLCB7MHgxM2QzfX19LAorICB7MHhhYmE0LCB7MXxGfFUsIHsweDEzZDR9fX0s
CisgIHsweGFiYTUsIHsxfEZ8VSwgezB4MTNkNX19fSwKKyAgezB4YWJhNiwgezF8RnxVLCB7MHgx
M2Q2fX19LAorICB7MHhhYmE3LCB7MXxGfFUsIHsweDEzZDd9fX0sCisgIHsweGFiYTgsIHsxfEZ8
VSwgezB4MTNkOH19fSwKKyAgezB4YWJhOSwgezF8RnxVLCB7MHgxM2Q5fX19LAorICB7MHhhYmFh
LCB7MXxGfFUsIHsweDEzZGF9fX0sCisgIHsweGFiYWIsIHsxfEZ8VSwgezB4MTNkYn19fSwKKyAg
ezB4YWJhYywgezF8RnxVLCB7MHgxM2RjfX19LAorICB7MHhhYmFkLCB7MXxGfFUsIHsweDEzZGR9
fX0sCisgIHsweGFiYWUsIHsxfEZ8VSwgezB4MTNkZX19fSwKKyAgezB4YWJhZiwgezF8RnxVLCB7
MHgxM2RmfX19LAorICB7MHhhYmIwLCB7MXxGfFUsIHsweDEzZTB9fX0sCisgIHsweGFiYjEsIHsx
fEZ8VSwgezB4MTNlMX19fSwKKyAgezB4YWJiMiwgezF8RnxVLCB7MHgxM2UyfX19LAorICB7MHhh
YmIzLCB7MXxGfFUsIHsweDEzZTN9fX0sCisgIHsweGFiYjQsIHsxfEZ8VSwgezB4MTNlNH19fSwK
KyAgezB4YWJiNSwgezF8RnxVLCB7MHgxM2U1fX19LAorICB7MHhhYmI2LCB7MXxGfFUsIHsweDEz
ZTZ9fX0sCisgIHsweGFiYjcsIHsxfEZ8VSwgezB4MTNlN319fSwKKyAgezB4YWJiOCwgezF8RnxV
LCB7MHgxM2U4fX19LAorICB7MHhhYmI5LCB7MXxGfFUsIHsweDEzZTl9fX0sCisgIHsweGFiYmEs
IHsxfEZ8VSwgezB4MTNlYX19fSwKKyAgezB4YWJiYiwgezF8RnxVLCB7MHgxM2VifX19LAorICB7
MHhhYmJjLCB7MXxGfFUsIHsweDEzZWN9fX0sCisgIHsweGFiYmQsIHsxfEZ8VSwgezB4MTNlZH19
fSwKKyAgezB4YWJiZSwgezF8RnxVLCB7MHgxM2VlfX19LAorICB7MHhhYmJmLCB7MXxGfFUsIHsw
eDEzZWZ9fX0sCisgIHsweGZiMDAsIHsyfEZ8U1R8U1V8SSgzNjYpLCB7MHgwMDY2LCAweDAwNjZ9
fX0sCisgIHsweGZiMDEsIHsyfEZ8U1R8U1V8SSgzNzApLCB7MHgwMDY2LCAweDAwNjl9fX0sCisg
IHsweGZiMDIsIHsyfEZ8U1R8U1V8SSgzNzQpLCB7MHgwMDY2LCAweDAwNmN9fX0sCisgIHsweGZi
MDMsIHszfEZ8U1R8U1V8SSgzNzgpLCB7MHgwMDY2LCAweDAwNjYsIDB4MDA2OX19fSwKKyAgezB4
ZmIwNCwgezN8RnxTVHxTVXxJKDM4NCksIHsweDAwNjYsIDB4MDA2NiwgMHgwMDZjfX19LAorICB7
MHhmYjA1LCB7MnxGfFNUfFNVfEkoMzkwKSwgezB4MDA3MywgMHgwMDc0fX19LAorICB7MHhmYjA2
LCB7MnxGfFNUfFNVfEkoMzk0KSwgezB4MDA3MywgMHgwMDc0fX19LAorICB7MHhmYjEzLCB7MnxG
fFNUfFNVfEkoMzk4KSwgezB4MDU3NCwgMHgwNTc2fX19LAorICB7MHhmYjE0LCB7MnxGfFNUfFNV
fEkoNDAyKSwgezB4MDU3NCwgMHgwNTY1fX19LAorICB7MHhmYjE1LCB7MnxGfFNUfFNVfEkoNDA2
KSwgezB4MDU3NCwgMHgwNTZifX19LAorICB7MHhmYjE2LCB7MnxGfFNUfFNVfEkoNDEwKSwgezB4
MDU3ZSwgMHgwNTc2fX19LAorICB7MHhmYjE3LCB7MnxGfFNUfFNVfEkoNDE0KSwgezB4MDU3NCwg
MHgwNTZkfX19LAorICB7MHhmZjIxLCB7MXxGfEQsIHsweGZmNDF9fX0sCisgIHsweGZmMjIsIHsx
fEZ8RCwgezB4ZmY0Mn19fSwKKyAgezB4ZmYyMywgezF8RnxELCB7MHhmZjQzfX19LAorICB7MHhm
ZjI0LCB7MXxGfEQsIHsweGZmNDR9fX0sCisgIHsweGZmMjUsIHsxfEZ8RCwgezB4ZmY0NX19fSwK
KyAgezB4ZmYyNiwgezF8RnxELCB7MHhmZjQ2fX19LAorICB7MHhmZjI3LCB7MXxGfEQsIHsweGZm
NDd9fX0sCisgIHsweGZmMjgsIHsxfEZ8RCwgezB4ZmY0OH19fSwKKyAgezB4ZmYyOSwgezF8RnxE
LCB7MHhmZjQ5fX19LAorICB7MHhmZjJhLCB7MXxGfEQsIHsweGZmNGF9fX0sCisgIHsweGZmMmIs
IHsxfEZ8RCwgezB4ZmY0Yn19fSwKKyAgezB4ZmYyYywgezF8RnxELCB7MHhmZjRjfX19LAorICB7
MHhmZjJkLCB7MXxGfEQsIHsweGZmNGR9fX0sCisgIHsweGZmMmUsIHsxfEZ8RCwgezB4ZmY0ZX19
fSwKKyAgezB4ZmYyZiwgezF8RnxELCB7MHhmZjRmfX19LAorICB7MHhmZjMwLCB7MXxGfEQsIHsw
eGZmNTB9fX0sCisgIHsweGZmMzEsIHsxfEZ8RCwgezB4ZmY1MX19fSwKKyAgezB4ZmYzMiwgezF8
RnxELCB7MHhmZjUyfX19LAorICB7MHhmZjMzLCB7MXxGfEQsIHsweGZmNTN9fX0sCisgIHsweGZm
MzQsIHsxfEZ8RCwgezB4ZmY1NH19fSwKKyAgezB4ZmYzNSwgezF8RnxELCB7MHhmZjU1fX19LAor
ICB7MHhmZjM2LCB7MXxGfEQsIHsweGZmNTZ9fX0sCisgIHsweGZmMzcsIHsxfEZ8RCwgezB4ZmY1
N319fSwKKyAgezB4ZmYzOCwgezF8RnxELCB7MHhmZjU4fX19LAorICB7MHhmZjM5LCB7MXxGfEQs
IHsweGZmNTl9fX0sCisgIHsweGZmM2EsIHsxfEZ8RCwgezB4ZmY1YX19fSwKKyAgezB4MTA0MDAs
IHsxfEZ8RCwgezB4MTA0Mjh9fX0sCisgIHsweDEwNDAxLCB7MXxGfEQsIHsweDEwNDI5fX19LAor
ICB7MHgxMDQwMiwgezF8RnxELCB7MHgxMDQyYX19fSwKKyAgezB4MTA0MDMsIHsxfEZ8RCwgezB4
MTA0MmJ9fX0sCisgIHsweDEwNDA0LCB7MXxGfEQsIHsweDEwNDJjfX19LAorICB7MHgxMDQwNSwg
ezF8RnxELCB7MHgxMDQyZH19fSwKKyAgezB4MTA0MDYsIHsxfEZ8RCwgezB4MTA0MmV9fX0sCisg
IHsweDEwNDA3LCB7MXxGfEQsIHsweDEwNDJmfX19LAorICB7MHgxMDQwOCwgezF8RnxELCB7MHgx
MDQzMH19fSwKKyAgezB4MTA0MDksIHsxfEZ8RCwgezB4MTA0MzF9fX0sCisgIHsweDEwNDBhLCB7
MXxGfEQsIHsweDEwNDMyfX19LAorICB7MHgxMDQwYiwgezF8RnxELCB7MHgxMDQzM319fSwKKyAg
ezB4MTA0MGMsIHsxfEZ8RCwgezB4MTA0MzR9fX0sCisgIHsweDEwNDBkLCB7MXxGfEQsIHsweDEw
NDM1fX19LAorICB7MHgxMDQwZSwgezF8RnxELCB7MHgxMDQzNn19fSwKKyAgezB4MTA0MGYsIHsx
fEZ8RCwgezB4MTA0Mzd9fX0sCisgIHsweDEwNDEwLCB7MXxGfEQsIHsweDEwNDM4fX19LAorICB7
MHgxMDQxMSwgezF8RnxELCB7MHgxMDQzOX19fSwKKyAgezB4MTA0MTIsIHsxfEZ8RCwgezB4MTA0
M2F9fX0sCisgIHsweDEwNDEzLCB7MXxGfEQsIHsweDEwNDNifX19LAorICB7MHgxMDQxNCwgezF8
RnxELCB7MHgxMDQzY319fSwKKyAgezB4MTA0MTUsIHsxfEZ8RCwgezB4MTA0M2R9fX0sCisgIHsw
eDEwNDE2LCB7MXxGfEQsIHsweDEwNDNlfX19LAorICB7MHgxMDQxNywgezF8RnxELCB7MHgxMDQz
Zn19fSwKKyAgezB4MTA0MTgsIHsxfEZ8RCwgezB4MTA0NDB9fX0sCisgIHsweDEwNDE5LCB7MXxG
fEQsIHsweDEwNDQxfX19LAorICB7MHgxMDQxYSwgezF8RnxELCB7MHgxMDQ0Mn19fSwKKyAgezB4
MTA0MWIsIHsxfEZ8RCwgezB4MTA0NDN9fX0sCisgIHsweDEwNDFjLCB7MXxGfEQsIHsweDEwNDQ0
fX19LAorICB7MHgxMDQxZCwgezF8RnxELCB7MHgxMDQ0NX19fSwKKyAgezB4MTA0MWUsIHsxfEZ8
RCwgezB4MTA0NDZ9fX0sCisgIHsweDEwNDFmLCB7MXxGfEQsIHsweDEwNDQ3fX19LAorICB7MHgx
MDQyMCwgezF8RnxELCB7MHgxMDQ0OH19fSwKKyAgezB4MTA0MjEsIHsxfEZ8RCwgezB4MTA0NDl9
fX0sCisgIHsweDEwNDIyLCB7MXxGfEQsIHsweDEwNDRhfX19LAorICB7MHgxMDQyMywgezF8RnxE
LCB7MHgxMDQ0Yn19fSwKKyAgezB4MTA0MjQsIHsxfEZ8RCwgezB4MTA0NGN9fX0sCisgIHsweDEw
NDI1LCB7MXxGfEQsIHsweDEwNDRkfX19LAorICB7MHgxMDQyNiwgezF8RnxELCB7MHgxMDQ0ZX19
fSwKKyAgezB4MTA0MjcsIHsxfEZ8RCwgezB4MTA0NGZ9fX0sCisgIHsweDEwNGIwLCB7MXxGfEQs
IHsweDEwNGQ4fX19LAorICB7MHgxMDRiMSwgezF8RnxELCB7MHgxMDRkOX19fSwKKyAgezB4MTA0
YjIsIHsxfEZ8RCwgezB4MTA0ZGF9fX0sCisgIHsweDEwNGIzLCB7MXxGfEQsIHsweDEwNGRifX19
LAorICB7MHgxMDRiNCwgezF8RnxELCB7MHgxMDRkY319fSwKKyAgezB4MTA0YjUsIHsxfEZ8RCwg
ezB4MTA0ZGR9fX0sCisgIHsweDEwNGI2LCB7MXxGfEQsIHsweDEwNGRlfX19LAorICB7MHgxMDRi
NywgezF8RnxELCB7MHgxMDRkZn19fSwKKyAgezB4MTA0YjgsIHsxfEZ8RCwgezB4MTA0ZTB9fX0s
CisgIHsweDEwNGI5LCB7MXxGfEQsIHsweDEwNGUxfX19LAorICB7MHgxMDRiYSwgezF8RnxELCB7
MHgxMDRlMn19fSwKKyAgezB4MTA0YmIsIHsxfEZ8RCwgezB4MTA0ZTN9fX0sCisgIHsweDEwNGJj
LCB7MXxGfEQsIHsweDEwNGU0fX19LAorICB7MHgxMDRiZCwgezF8RnxELCB7MHgxMDRlNX19fSwK
KyAgezB4MTA0YmUsIHsxfEZ8RCwgezB4MTA0ZTZ9fX0sCisgIHsweDEwNGJmLCB7MXxGfEQsIHsw
eDEwNGU3fX19LAorICB7MHgxMDRjMCwgezF8RnxELCB7MHgxMDRlOH19fSwKKyAgezB4MTA0YzEs
IHsxfEZ8RCwgezB4MTA0ZTl9fX0sCisgIHsweDEwNGMyLCB7MXxGfEQsIHsweDEwNGVhfX19LAor
ICB7MHgxMDRjMywgezF8RnxELCB7MHgxMDRlYn19fSwKKyAgezB4MTA0YzQsIHsxfEZ8RCwgezB4
MTA0ZWN9fX0sCisgIHsweDEwNGM1LCB7MXxGfEQsIHsweDEwNGVkfX19LAorICB7MHgxMDRjNiwg
ezF8RnxELCB7MHgxMDRlZX19fSwKKyAgezB4MTA0YzcsIHsxfEZ8RCwgezB4MTA0ZWZ9fX0sCisg
IHsweDEwNGM4LCB7MXxGfEQsIHsweDEwNGYwfX19LAorICB7MHgxMDRjOSwgezF8RnxELCB7MHgx
MDRmMX19fSwKKyAgezB4MTA0Y2EsIHsxfEZ8RCwgezB4MTA0ZjJ9fX0sCisgIHsweDEwNGNiLCB7
MXxGfEQsIHsweDEwNGYzfX19LAorICB7MHgxMDRjYywgezF8RnxELCB7MHgxMDRmNH19fSwKKyAg
ezB4MTA0Y2QsIHsxfEZ8RCwgezB4MTA0ZjV9fX0sCisgIHsweDEwNGNlLCB7MXxGfEQsIHsweDEw
NGY2fX19LAorICB7MHgxMDRjZiwgezF8RnxELCB7MHgxMDRmN319fSwKKyAgezB4MTA0ZDAsIHsx
fEZ8RCwgezB4MTA0Zjh9fX0sCisgIHsweDEwNGQxLCB7MXxGfEQsIHsweDEwNGY5fX19LAorICB7
MHgxMDRkMiwgezF8RnxELCB7MHgxMDRmYX19fSwKKyAgezB4MTA0ZDMsIHsxfEZ8RCwgezB4MTA0
ZmJ9fX0sCisgIHsweDEwYzgwLCB7MXxGfEQsIHsweDEwY2MwfX19LAorICB7MHgxMGM4MSwgezF8
RnxELCB7MHgxMGNjMX19fSwKKyAgezB4MTBjODIsIHsxfEZ8RCwgezB4MTBjYzJ9fX0sCisgIHsw
eDEwYzgzLCB7MXxGfEQsIHsweDEwY2MzfX19LAorICB7MHgxMGM4NCwgezF8RnxELCB7MHgxMGNj
NH19fSwKKyAgezB4MTBjODUsIHsxfEZ8RCwgezB4MTBjYzV9fX0sCisgIHsweDEwYzg2LCB7MXxG
fEQsIHsweDEwY2M2fX19LAorICB7MHgxMGM4NywgezF8RnxELCB7MHgxMGNjN319fSwKKyAgezB4
MTBjODgsIHsxfEZ8RCwgezB4MTBjYzh9fX0sCisgIHsweDEwYzg5LCB7MXxGfEQsIHsweDEwY2M5
fX19LAorICB7MHgxMGM4YSwgezF8RnxELCB7MHgxMGNjYX19fSwKKyAgezB4MTBjOGIsIHsxfEZ8
RCwgezB4MTBjY2J9fX0sCisgIHsweDEwYzhjLCB7MXxGfEQsIHsweDEwY2NjfX19LAorICB7MHgx
MGM4ZCwgezF8RnxELCB7MHgxMGNjZH19fSwKKyAgezB4MTBjOGUsIHsxfEZ8RCwgezB4MTBjY2V9
fX0sCisgIHsweDEwYzhmLCB7MXxGfEQsIHsweDEwY2NmfX19LAorICB7MHgxMGM5MCwgezF8RnxE
LCB7MHgxMGNkMH19fSwKKyAgezB4MTBjOTEsIHsxfEZ8RCwgezB4MTBjZDF9fX0sCisgIHsweDEw
YzkyLCB7MXxGfEQsIHsweDEwY2QyfX19LAorICB7MHgxMGM5MywgezF8RnxELCB7MHgxMGNkM319
fSwKKyAgezB4MTBjOTQsIHsxfEZ8RCwgezB4MTBjZDR9fX0sCisgIHsweDEwYzk1LCB7MXxGfEQs
IHsweDEwY2Q1fX19LAorICB7MHgxMGM5NiwgezF8RnxELCB7MHgxMGNkNn19fSwKKyAgezB4MTBj
OTcsIHsxfEZ8RCwgezB4MTBjZDd9fX0sCisgIHsweDEwYzk4LCB7MXxGfEQsIHsweDEwY2Q4fX19
LAorICB7MHgxMGM5OSwgezF8RnxELCB7MHgxMGNkOX19fSwKKyAgezB4MTBjOWEsIHsxfEZ8RCwg
ezB4MTBjZGF9fX0sCisgIHsweDEwYzliLCB7MXxGfEQsIHsweDEwY2RifX19LAorICB7MHgxMGM5
YywgezF8RnxELCB7MHgxMGNkY319fSwKKyAgezB4MTBjOWQsIHsxfEZ8RCwgezB4MTBjZGR9fX0s
CisgIHsweDEwYzllLCB7MXxGfEQsIHsweDEwY2RlfX19LAorICB7MHgxMGM5ZiwgezF8RnxELCB7
MHgxMGNkZn19fSwKKyAgezB4MTBjYTAsIHsxfEZ8RCwgezB4MTBjZTB9fX0sCisgIHsweDEwY2Ex
LCB7MXxGfEQsIHsweDEwY2UxfX19LAorICB7MHgxMGNhMiwgezF8RnxELCB7MHgxMGNlMn19fSwK
KyAgezB4MTBjYTMsIHsxfEZ8RCwgezB4MTBjZTN9fX0sCisgIHsweDEwY2E0LCB7MXxGfEQsIHsw
eDEwY2U0fX19LAorICB7MHgxMGNhNSwgezF8RnxELCB7MHgxMGNlNX19fSwKKyAgezB4MTBjYTYs
IHsxfEZ8RCwgezB4MTBjZTZ9fX0sCisgIHsweDEwY2E3LCB7MXxGfEQsIHsweDEwY2U3fX19LAor
ICB7MHgxMGNhOCwgezF8RnxELCB7MHgxMGNlOH19fSwKKyAgezB4MTBjYTksIHsxfEZ8RCwgezB4
MTBjZTl9fX0sCisgIHsweDEwY2FhLCB7MXxGfEQsIHsweDEwY2VhfX19LAorICB7MHgxMGNhYiwg
ezF8RnxELCB7MHgxMGNlYn19fSwKKyAgezB4MTBjYWMsIHsxfEZ8RCwgezB4MTBjZWN9fX0sCisg
IHsweDEwY2FkLCB7MXxGfEQsIHsweDEwY2VkfX19LAorICB7MHgxMGNhZSwgezF8RnxELCB7MHgx
MGNlZX19fSwKKyAgezB4MTBjYWYsIHsxfEZ8RCwgezB4MTBjZWZ9fX0sCisgIHsweDEwY2IwLCB7
MXxGfEQsIHsweDEwY2YwfX19LAorICB7MHgxMGNiMSwgezF8RnxELCB7MHgxMGNmMX19fSwKKyAg
ezB4MTBjYjIsIHsxfEZ8RCwgezB4MTBjZjJ9fX0sCisgIHsweDExOGEwLCB7MXxGfEQsIHsweDEx
OGMwfX19LAorICB7MHgxMThhMSwgezF8RnxELCB7MHgxMThjMX19fSwKKyAgezB4MTE4YTIsIHsx
fEZ8RCwgezB4MTE4YzJ9fX0sCisgIHsweDExOGEzLCB7MXxGfEQsIHsweDExOGMzfX19LAorICB7
MHgxMThhNCwgezF8RnxELCB7MHgxMThjNH19fSwKKyAgezB4MTE4YTUsIHsxfEZ8RCwgezB4MTE4
YzV9fX0sCisgIHsweDExOGE2LCB7MXxGfEQsIHsweDExOGM2fX19LAorICB7MHgxMThhNywgezF8
RnxELCB7MHgxMThjN319fSwKKyAgezB4MTE4YTgsIHsxfEZ8RCwgezB4MTE4Yzh9fX0sCisgIHsw
eDExOGE5LCB7MXxGfEQsIHsweDExOGM5fX19LAorICB7MHgxMThhYSwgezF8RnxELCB7MHgxMThj
YX19fSwKKyAgezB4MTE4YWIsIHsxfEZ8RCwgezB4MTE4Y2J9fX0sCisgIHsweDExOGFjLCB7MXxG
fEQsIHsweDExOGNjfX19LAorICB7MHgxMThhZCwgezF8RnxELCB7MHgxMThjZH19fSwKKyAgezB4
MTE4YWUsIHsxfEZ8RCwgezB4MTE4Y2V9fX0sCisgIHsweDExOGFmLCB7MXxGfEQsIHsweDExOGNm
fX19LAorICB7MHgxMThiMCwgezF8RnxELCB7MHgxMThkMH19fSwKKyAgezB4MTE4YjEsIHsxfEZ8
RCwgezB4MTE4ZDF9fX0sCisgIHsweDExOGIyLCB7MXxGfEQsIHsweDExOGQyfX19LAorICB7MHgx
MThiMywgezF8RnxELCB7MHgxMThkM319fSwKKyAgezB4MTE4YjQsIHsxfEZ8RCwgezB4MTE4ZDR9
fX0sCisgIHsweDExOGI1LCB7MXxGfEQsIHsweDExOGQ1fX19LAorICB7MHgxMThiNiwgezF8RnxE
LCB7MHgxMThkNn19fSwKKyAgezB4MTE4YjcsIHsxfEZ8RCwgezB4MTE4ZDd9fX0sCisgIHsweDEx
OGI4LCB7MXxGfEQsIHsweDExOGQ4fX19LAorICB7MHgxMThiOSwgezF8RnxELCB7MHgxMThkOX19
fSwKKyAgezB4MTE4YmEsIHsxfEZ8RCwgezB4MTE4ZGF9fX0sCisgIHsweDExOGJiLCB7MXxGfEQs
IHsweDExOGRifX19LAorICB7MHgxMThiYywgezF8RnxELCB7MHgxMThkY319fSwKKyAgezB4MTE4
YmQsIHsxfEZ8RCwgezB4MTE4ZGR9fX0sCisgIHsweDExOGJlLCB7MXxGfEQsIHsweDExOGRlfX19
LAorICB7MHgxMThiZiwgezF8RnxELCB7MHgxMThkZn19fSwKKyAgezB4MTZlNDAsIHsxfEZ8RCwg
ezB4MTZlNjB9fX0sCisgIHsweDE2ZTQxLCB7MXxGfEQsIHsweDE2ZTYxfX19LAorICB7MHgxNmU0
MiwgezF8RnxELCB7MHgxNmU2Mn19fSwKKyAgezB4MTZlNDMsIHsxfEZ8RCwgezB4MTZlNjN9fX0s
CisgIHsweDE2ZTQ0LCB7MXxGfEQsIHsweDE2ZTY0fX19LAorICB7MHgxNmU0NSwgezF8RnxELCB7
MHgxNmU2NX19fSwKKyAgezB4MTZlNDYsIHsxfEZ8RCwgezB4MTZlNjZ9fX0sCisgIHsweDE2ZTQ3
LCB7MXxGfEQsIHsweDE2ZTY3fX19LAorICB7MHgxNmU0OCwgezF8RnxELCB7MHgxNmU2OH19fSwK
KyAgezB4MTZlNDksIHsxfEZ8RCwgezB4MTZlNjl9fX0sCisgIHsweDE2ZTRhLCB7MXxGfEQsIHsw
eDE2ZTZhfX19LAorICB7MHgxNmU0YiwgezF8RnxELCB7MHgxNmU2Yn19fSwKKyAgezB4MTZlNGMs
IHsxfEZ8RCwgezB4MTZlNmN9fX0sCisgIHsweDE2ZTRkLCB7MXxGfEQsIHsweDE2ZTZkfX19LAor
ICB7MHgxNmU0ZSwgezF8RnxELCB7MHgxNmU2ZX19fSwKKyAgezB4MTZlNGYsIHsxfEZ8RCwgezB4
MTZlNmZ9fX0sCisgIHsweDE2ZTUwLCB7MXxGfEQsIHsweDE2ZTcwfX19LAorICB7MHgxNmU1MSwg
ezF8RnxELCB7MHgxNmU3MX19fSwKKyAgezB4MTZlNTIsIHsxfEZ8RCwgezB4MTZlNzJ9fX0sCisg
IHsweDE2ZTUzLCB7MXxGfEQsIHsweDE2ZTczfX19LAorICB7MHgxNmU1NCwgezF8RnxELCB7MHgx
NmU3NH19fSwKKyAgezB4MTZlNTUsIHsxfEZ8RCwgezB4MTZlNzV9fX0sCisgIHsweDE2ZTU2LCB7
MXxGfEQsIHsweDE2ZTc2fX19LAorICB7MHgxNmU1NywgezF8RnxELCB7MHgxNmU3N319fSwKKyAg
ezB4MTZlNTgsIHsxfEZ8RCwgezB4MTZlNzh9fX0sCisgIHsweDE2ZTU5LCB7MXxGfEQsIHsweDE2
ZTc5fX19LAorICB7MHgxNmU1YSwgezF8RnxELCB7MHgxNmU3YX19fSwKKyAgezB4MTZlNWIsIHsx
fEZ8RCwgezB4MTZlN2J9fX0sCisgIHsweDE2ZTVjLCB7MXxGfEQsIHsweDE2ZTdjfX19LAorICB7
MHgxNmU1ZCwgezF8RnxELCB7MHgxNmU3ZH19fSwKKyAgezB4MTZlNWUsIHsxfEZ8RCwgezB4MTZl
N2V9fX0sCisgIHsweDE2ZTVmLCB7MXxGfEQsIHsweDE2ZTdmfX19LAorICB7MHgxZTkwMCwgezF8
RnxELCB7MHgxZTkyMn19fSwKKyAgezB4MWU5MDEsIHsxfEZ8RCwgezB4MWU5MjN9fX0sCisgIHsw
eDFlOTAyLCB7MXxGfEQsIHsweDFlOTI0fX19LAorICB7MHgxZTkwMywgezF8RnxELCB7MHgxZTky
NX19fSwKKyAgezB4MWU5MDQsIHsxfEZ8RCwgezB4MWU5MjZ9fX0sCisgIHsweDFlOTA1LCB7MXxG
fEQsIHsweDFlOTI3fX19LAorICB7MHgxZTkwNiwgezF8RnxELCB7MHgxZTkyOH19fSwKKyAgezB4
MWU5MDcsIHsxfEZ8RCwgezB4MWU5Mjl9fX0sCisgIHsweDFlOTA4LCB7MXxGfEQsIHsweDFlOTJh
fX19LAorICB7MHgxZTkwOSwgezF8RnxELCB7MHgxZTkyYn19fSwKKyAgezB4MWU5MGEsIHsxfEZ8
RCwgezB4MWU5MmN9fX0sCisgIHsweDFlOTBiLCB7MXxGfEQsIHsweDFlOTJkfX19LAorICB7MHgx
ZTkwYywgezF8RnxELCB7MHgxZTkyZX19fSwKKyAgezB4MWU5MGQsIHsxfEZ8RCwgezB4MWU5MmZ9
fX0sCisgIHsweDFlOTBlLCB7MXxGfEQsIHsweDFlOTMwfX19LAorICB7MHgxZTkwZiwgezF8RnxE
LCB7MHgxZTkzMX19fSwKKyAgezB4MWU5MTAsIHsxfEZ8RCwgezB4MWU5MzJ9fX0sCisgIHsweDFl
OTExLCB7MXxGfEQsIHsweDFlOTMzfX19LAorICB7MHgxZTkxMiwgezF8RnxELCB7MHgxZTkzNH19
fSwKKyAgezB4MWU5MTMsIHsxfEZ8RCwgezB4MWU5MzV9fX0sCisgIHsweDFlOTE0LCB7MXxGfEQs
IHsweDFlOTM2fX19LAorICB7MHgxZTkxNSwgezF8RnxELCB7MHgxZTkzN319fSwKKyAgezB4MWU5
MTYsIHsxfEZ8RCwgezB4MWU5Mzh9fX0sCisgIHsweDFlOTE3LCB7MXxGfEQsIHsweDFlOTM5fX19
LAorICB7MHgxZTkxOCwgezF8RnxELCB7MHgxZTkzYX19fSwKKyAgezB4MWU5MTksIHsxfEZ8RCwg
ezB4MWU5M2J9fX0sCisgIHsweDFlOTFhLCB7MXxGfEQsIHsweDFlOTNjfX19LAorICB7MHgxZTkx
YiwgezF8RnxELCB7MHgxZTkzZH19fSwKKyAgezB4MWU5MWMsIHsxfEZ8RCwgezB4MWU5M2V9fX0s
CisgIHsweDFlOTFkLCB7MXxGfEQsIHsweDFlOTNmfX19LAorICB7MHgxZTkxZSwgezF8RnxELCB7
MHgxZTk0MH19fSwKKyAgezB4MWU5MWYsIHsxfEZ8RCwgezB4MWU5NDF9fX0sCisgIHsweDFlOTIw
LCB7MXxGfEQsIHsweDFlOTQyfX19LAorICB7MHgxZTkyMSwgezF8RnxELCB7MHgxZTk0M319fSwK
KyNkZWZpbmUgQ2FzZUZvbGRfTG9jYWxlICgqKENhc2VGb2xkXzExX1R5cGUgKCopWzJdKShDYXNl
Rm9sZF8xMV9UYWJsZSsxNDg1KSkKKyAgezB4MDA0OSwgezF8RnxELCB7MHgwMDY5fX19LAorICB7
MHgwMTMwLCB7MnxGfEQsIHsweDAwNjksIDB4MDMwN319fSwKK307CisKKy8qIEFOU0ktQyBjb2Rl
IHByb2R1Y2VkIGJ5IGdwZXJmIHZlcnNpb24gMy4xICovCisvKiBDb21tYW5kLWxpbmU6IGdwZXJm
IC03IC1rMSwyLDMgLUYsLTEgLWMgLWoxIC1pMSAtdCAtVCAtRSAtQyAtSCBvbmlnZW5jX3VuaWNv
ZGVfQ2FzZUZvbGRfMTFfaGFzaCAtTiBvbmlnZW5jX3VuaWNvZGVfQ2FzZUZvbGRfMTFfbG9va3Vw
IC1uICAqLworCisvKiBtYXhpbXVtIGtleSByYW5nZSA9IDM1MDAsIGR1cGxpY2F0ZXMgPSAwICov
CisKKyNpZmRlZiBfX0dOVUNfXworX19pbmxpbmUKKyNlbHNlCisjaWZkZWYgX19jcGx1c3BsdXMK
K2lubGluZQorI2VuZGlmCisjZW5kaWYKKy8qQVJHU1VTRUQqLworc3RhdGljIHVuc2lnbmVkIGlu
dAorb25pZ2VuY191bmljb2RlX0Nhc2VGb2xkXzExX2hhc2goY29uc3QgT25pZ0NvZGVQb2ludCBj
b2RlKQoreworICBzdGF0aWMgY29uc3QgdW5zaWduZWQgc2hvcnQgYXNzb192YWx1ZXNbXSA9Cisg
ICAgeworICAgICAgICAgNSwgIDI3MywgICAgNCwgICAgOCwgICAgMywgICAgMSwgICA4NiwgICAg
OSwgICAgMiwgIDI4OSwKKyAgICAgICAyOTAsICAgIDMsIDM1MTAsIDM1MTAsIDM1MTAsIDM1MTAs
IDM1MTAsIDM1MTAsIDM1MTAsIDM1MTAsCisgICAgICAzNTEwLCAzNTEwLCAzNTEwLCAzNTEwLCAz
NTEwLCAgIDUwLCAzNTEwLCAzNTEwLCAzNTEwLCAzNTEwLAorICAgICAgMzUxMCwgMzUxMCwgMzUx
MCwgIDIyNSwgMzUxMCwgMzUxMCwgMzUxMCwgMzUxMCwgMzUxMCwgICAyOCwKKyAgICAgIDM1MTAs
IDM1MTAsIDM1MTAsIDM1MTAsIDM1MTAsIDM1MTAsIDM1MTAsIDM1MTAsIDM1MTAsICAzOTQsCisg
ICAgICAzNTEwLCAzNTEwLCAzNTEwLCAzNTEwLCAzNTEwLCAzNTEwLCAzNTEwLCAgIDQ3LCAzNTEw
LCAzNTEwLAorICAgICAgIDI1NSwgICA0MCwgIDI4NiwgICAgMSwgMzUxMCwgMzUxMCwgIDU5OSwg
ICAgOCwgMzUxMCwgMzUxMCwKKyAgICAgIDM1MTAsIDM1MTAsIDM1MTAsICAyODIsIDM1MTAsIDM1
MTAsICAyNjcsICA2NjcsICA0NzMsICAgMzksCisgICAgICAyMDE5LCAgMTg5LCAgIDQ3LCAgMTc1
LCAyMDAxLCAgMTA3LCAxNjI2LCAgICA2LCAgIDEyLCAgIDI1LAorICAgICAgMTk2MSwgIDY3OCwg
MTEyOCwgIDUyNiwgMTk0NSwgIDE0OCwgMTkyMywgIDM3MSwgMTcyMCwgIDEzNCwKKyAgICAgIDE4
NTcsICAgODAsIDEzNzUsICAgNjYsIDE3MDUsICAzMDAsIDE2MzUsICA0NDUsIDE2MTEsICA0NzIs
CisgICAgICAxNzk1LCAgMjE2LCAxMzAzLCAgNDk5LCAxNTUyLCAgMjcwLCAxNTExLCAgMjQzLCAg
MTIxLCAgNjE5LAorICAgICAgMTI4NCwgIDU0MCwgIDg3NSwgIDU5MiwgMTQ4NCwgIDU2NywgIDQx
MiwgIDcwMywgMTY5MiwgIDM4NywKKyAgICAgIDE3ODIsICA3ODEsIDE3NjcsICA2NjQsIDE3MTgs
ICA2NDgsIDEzMTYsICA2MDgsIDE2NDcsICA3MTUsCisgICAgICAxNTkyLCAgNzcxLCAxNTQ0LCAx
MDI5LCAxNTYzLCAgODg3LCAxMjk2LCAgODYxLCAxMTk0LCAgOTc4LAorICAgICAgICA5NSwgIDg5
OSwgMTI1NywgIDgzNSwgMTMzNSwgIDc2NSwgMTUyOSwgIDk4NCwgIDg2MiwgIDkzOCwKKyAgICAg
IDE0NjAsICA3NTksICAzMjksIDEwNzksIDExNTksICA5NDAsICAyMzQsIDExMDEsIDEyMDQsICA5
OTAsCisgICAgICAgOTQ5LCAxNDkzLCAgIDkyLCAxNDM4LCAgIDc3LCAxMzkxLCAgICA3LCAxMDcz
LCAgIDQ0LCAxMzc3LAorICAgICAgICAgMiwgMTQzNSwgICAgNCwgMTMyMSwgIDQyOCwgMTI3NCwg
IDMzMiwgMTIwNiwgICAxMSwgMTQyNiwKKyAgICAgICAgNDYsICA0NzgsICAyMDAsIDE1MDIsICAg
MzEsIDE0MDAsICAxNTMsIDE2NjMsICAzNTIsIDE4MjAsCisgICAgICAgMjI5LCAxNzMzLCAgMjY1
LCAxNDA1LCAgMzE1LCAxODc5LCAgMTk4CisgICAgfTsKKyAgcmV0dXJuIGFzc29fdmFsdWVzW2Jp
dHNfb2YoY29kZSwgMikrNzldICsgYXNzb192YWx1ZXNbYml0c19vZihjb2RlLCAxKV0gKyBhc3Nv
X3ZhbHVlc1tiaXRzX29mKGNvZGUsIDApXTsKK30KKworc3RhdGljIGNvbnN0IENvZGVQb2ludExp
c3QzICoKK29uaWdlbmNfdW5pY29kZV9DYXNlRm9sZF8xMV9sb29rdXAoY29uc3QgT25pZ0NvZGVQ
b2ludCBjb2RlKQoreworICBlbnVtCisgICAgeworICAgICAgTUlOX0NPREVfVkFMVUUgPSAweDQx
LAorICAgICAgTUFYX0NPREVfVkFMVUUgPSAweDFlOTIxLAorICAgICAgVE9UQUxfS0VZV09SRFMg
PSAxNDg3LAorICAgICAgTUlOX1dPUkRfTEVOR1RIID0gMywKKyAgICAgIE1BWF9XT1JEX0xFTkdU
SCA9IDMsCisgICAgICBNSU5fSEFTSF9WQUxVRSA9IDEwLAorICAgICAgTUFYX0hBU0hfVkFMVUUg
PSAzNTA5CisgICAgfTsKKworICBzdGF0aWMgY29uc3Qgc2hvcnQgd29yZGxpc3RbXSA9CisgICAg
eworICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLAor
ICAgICAgLyoweDFmZTcqLyA4NDgsCisgICAgICAvKjB4MTA0MDgqLyAxMjY4LAorICAgICAgLyow
eDFmODgqLyA3NzUsCisgICAgICAvKjB4MDQwOCovIDMwNSwKKyAgICAgIC8qMHgwMjA4Ki8gMTk0
LAorICAgICAgLyoweDAxMDgqLyA2MSwKKyAgICAgIC8qMHhhYjg4Ki8gMTE2NiwKKyAgICAgIC8q
MHgxMDQwOSovIDEyNjksCisgICAgICAvKjB4MWY4OSovIDc3NiwKKyAgICAgIC8qMHgwNDA5Ki8g
MzA2LAorICAgICAgLyoweDAzODgqLyAyMzUsCisgICAgICAvKjB4MmM2NyovIDk2MiwKKyAgICAg
IC8qMHhhYjg5Ki8gMTE2NywKKyAgICAgIC8qMHgyYzA4Ki8gOTE5LAorICAgICAgLTEsCisgICAg
ICAvKjB4MDE4OSovIDEyNiwKKyAgICAgIC8qMHgwMzg5Ki8gMjM2LAorICAgICAgLTEsCisgICAg
ICAvKjB4MmM2ZCovIDk2NSwKKyAgICAgIC8qMHgyYzA5Ki8gOTIwLAorICAgICAgLyoweDEwNDBh
Ki8gMTI3MCwKKyAgICAgIC8qMHgxZjhhKi8gNzc3LAorICAgICAgLyoweDA0MGEqLyAzMDcsCisg
ICAgICAvKjB4MDIwYSovIDE5NSwKKyAgICAgIC8qMHgwMTBhKi8gNjIsCisgICAgICAvKjB4YWI4
YSovIDExNjgsCisgICAgICAvKjB4MmM4OCovIDk3NywKKyAgICAgIC8qMHgxZmYzKi8gODU1LAor
ICAgICAgLyoweDAxOGEqLyAxMjcsCisgICAgICAvKjB4MDM4YSovIDIzNywKKyAgICAgIC0xLAor
ICAgICAgLyoweDJjZWQqLyAxMDI0LAorICAgICAgLyoweDJjMGEqLyA5MjEsCisgICAgICAtMSwK
KyAgICAgIC8qMHgxMDQwMCovIDEyNjAsCisgICAgICAvKjB4MWY4MCovIDc2NywKKyAgICAgIC8q
MHgwNDAwKi8gMjk3LAorICAgICAgLyoweDAyMDAqLyAxOTAsCisgICAgICAvKjB4MDEwMCovIDU3
LAorICAgICAgLyoweGFiODAqLyAxMTU4LAorICAgICAgLyoweDFmZTMqLyA4NDUsCisgICAgICAv
KjB4MWU4OCovIDY1MywKKyAgICAgIC8qMHgxMDQwMyovIDEyNjMsCisgICAgICAvKjB4MWY4Myov
IDc3MCwKKyAgICAgIC8qMHgwNDAzKi8gMzAwLAorICAgICAgLyoweDJjOGEqLyA5NzgsCisgICAg
ICAvKjB4MmMwMCovIDkxMSwKKyAgICAgIC8qMHhhYjgzKi8gMTE2MSwKKyAgICAgIC8qMHgxYzg4
Ki8gNTM4LAorICAgICAgLyoweDEwYzg4Ki8gMTM0NCwKKyAgICAgIC8qMHgyMTgzKi8gODg0LAor
ICAgICAgLyoweDJjNjMqLyA5NjAsCisgICAgICAvKjB4MWU5MDgqLyAxNDU5LAorICAgICAgLyow
eDJjNmYqLyA5NjcsCisgICAgICAvKjB4MmMwMyovIDkxNCwKKyAgICAgIC8qMHgxMGM4OSovIDEz
NDUsCisgICAgICAtMSwgLTEsCisgICAgICAvKjB4MWU5MDkqLyAxNDYwLAorICAgICAgLyoweDJj
ODAqLyA5NzMsCisgICAgICAvKjB4MWU4YSovIDY1NCwKKyAgICAgIC8qMHgxMDQxOCovIDEyODQs
CisgICAgICAvKjB4MWY5OCovIDc5MSwKKyAgICAgIC8qMHgwNDE4Ki8gMzIxLAorICAgICAgLyow
eDAyMTgqLyAyMDIsCisgICAgICAvKjB4MDExOCovIDY5LAorICAgICAgLyoweGFiOTgqLyAxMTgy
LAorICAgICAgLTEsCisgICAgICAvKjB4MTBjOGEqLyAxMzQ2LAorICAgICAgLyoweDAxOTgqLyAx
MzcsCisgICAgICAvKjB4MDM5OCovIDI0OSwKKyAgICAgIC8qMHgxZTkwYSovIDE0NjEsCisgICAg
ICAvKjB4YTc4MCovIDExMDUsCisgICAgICAvKjB4MmMxOCovIDkzNSwKKyAgICAgIC8qMHgxZTgw
Ki8gNjQ5LAorICAgICAgLyoweDEwNDE2Ki8gMTI4MiwKKyAgICAgIC8qMHgxZjk2Ki8gNzg5LAor
ICAgICAgLyoweDA0MTYqLyAzMTksCisgICAgICAvKjB4MDIxNiovIDIwMSwKKyAgICAgIC8qMHgw
MTE2Ki8gNjgsCisgICAgICAvKjB4YWI5NiovIDExODAsCisgICAgICAvKjB4MWM4MCovIDUzMCwK
KyAgICAgIC8qMHgxMGM4MCovIDEzMzYsCisgICAgICAvKjB4MDE5NiovIDEzNSwKKyAgICAgIC8q
MHgwMzk2Ki8gMjQ3LAorICAgICAgLyoweDFlOTAwKi8gMTQ1MSwKKyAgICAgIC8qMHgyYzk4Ki8g
OTg1LAorICAgICAgLyoweDJjMTYqLyA5MzMsCisgICAgICAtMSwKKyAgICAgIC8qMHgxYzgzKi8g
NTMzLAorICAgICAgLyoweDEwYzgzKi8gMTMzOSwKKyAgICAgIC8qMHgxZmM3Ki8gODMwLAorICAg
ICAgLTEsCisgICAgICAvKjB4MWU5MDMqLyAxNDU0LAorICAgICAgLyoweDAxNDcqLyA5MSwKKyAg
ICAgIC8qMHgwMDQ3Ki8gNiwKKyAgICAgIC0xLCAtMSwKKyAgICAgIC8qMHgwMWM3Ki8gMTU5LAor
ICAgICAgLyoweGE3OTgqLyAxMTE0LAorICAgICAgLyoweDJjOTYqLyA5ODQsCisgICAgICAvKjB4
MWU5OCovIDY2MiwKKyAgICAgIC8qMHgxMDQwNiovIDEyNjYsCisgICAgICAvKjB4MWY4NiovIDc3
MywKKyAgICAgIC8qMHgwNDA2Ki8gMzAzLAorICAgICAgLyoweDAyMDYqLyAxOTMsCisgICAgICAv
KjB4MDEwNiovIDYwLAorICAgICAgLyoweGFiODYqLyAxMTY0LAorICAgICAgLyoweDFjOTgqLyA1
NDcsCisgICAgICAvKjB4MTBjOTgqLyAxMzYwLAorICAgICAgLyoweDAxODYqLyAxMjQsCisgICAg
ICAvKjB4MDM4NiovIDIzNCwKKyAgICAgIC8qMHgxZTkxOCovIDE0NzUsCisgICAgICAvKjB4YTc5
NiovIDExMTMsCisgICAgICAvKjB4MmMwNiovIDkxNywKKyAgICAgIC8qMHgxZTk2Ki8gNjYwLAor
ICAgICAgLyoweDEwNDI3Ki8gMTI5OSwKKyAgICAgIC8qMHgxZmE3Ki8gODA2LAorICAgICAgLyow
eDA0MjcqLyAzMzYsCisgICAgICAtMSwgLTEsCisgICAgICAvKjB4YWJhNyovIDExOTcsCisgICAg
ICAvKjB4MWM5NiovIDU0NSwKKyAgICAgIC8qMHgxMGM5NiovIDEzNTgsCisgICAgICAvKjB4MDFh
NyovIDE0NSwKKyAgICAgIC8qMHgwM2E3Ki8gMjYzLAorICAgICAgLyoweDFlOTE2Ki8gMTQ3MywK
KyAgICAgIC8qMHgyYzg2Ki8gOTc2LAorICAgICAgLyoweDJjMjcqLyA5NTAsCisgICAgICAvKjB4
MTA0MTQqLyAxMjgwLAorICAgICAgLyoweDFmOTQqLyA3ODcsCisgICAgICAvKjB4MDQxNCovIDMx
NywKKyAgICAgIC8qMHgwMjE0Ki8gMjAwLAorICAgICAgLyoweDAxMTQqLyA2NywKKyAgICAgIC8q
MHhhYjk0Ki8gMTE3OCwKKyAgICAgIC0xLCAtMSwKKyAgICAgIC8qMHgwMTk0Ki8gMTM0LAorICAg
ICAgLyoweDAzOTQqLyAyNDUsCisgICAgICAtMSwKKyAgICAgIC8qMHhhNzg2Ki8gMTEwOCwKKyAg
ICAgIC8qMHgyYzE0Ki8gOTMxLAorICAgICAgLyoweDFlODYqLyA2NTIsCisgICAgICAvKjB4MTA0
MTAqLyAxMjc2LAorICAgICAgLyoweDFmOTAqLyA3ODMsCisgICAgICAvKjB4MDQxMCovIDMxMywK
KyAgICAgIC8qMHgwMjEwKi8gMTk4LAorICAgICAgLyoweDAxMTAqLyA2NSwKKyAgICAgIC8qMHhh
YjkwKi8gMTE3NCwKKyAgICAgIC8qMHgxYzg2Ki8gNTM2LAorICAgICAgLyoweDEwYzg2Ki8gMTM0
MiwKKyAgICAgIC8qMHgwMTkwKi8gMTMxLAorICAgICAgLyoweDAzOTAqLyAyNDEsCisgICAgICAv
KjB4MWU5MDYqLyAxNDU3LAorICAgICAgLyoweDJjOTQqLyA5ODMsCisgICAgICAvKjB4MmMxMCov
IDkyNywKKyAgICAgIC0xLAorICAgICAgLyoweDAzZjUqLyAyOTAsCisgICAgICAvKjB4ZmIwMCov
IDEyMjIsCisgICAgICAtMSwKKyAgICAgIC8qMHgyYzc1Ki8gOTcwLAorICAgICAgLTEsIC0xLAor
ICAgICAgLyoweDFjYTcqLyA1NjIsCisgICAgICAvKjB4MTBjYTcqLyAxMzc1LAorICAgICAgLTEs
CisgICAgICAvKjB4ZmIwMyovIDEyMjUsCisgICAgICAtMSwKKyAgICAgIC8qMHgyYzkwKi8gOTgx
LAorICAgICAgLyoweDFlOTQqLyA2NTksCisgICAgICAvKjB4MTA0MDQqLyAxMjY0LAorICAgICAg
LyoweDFmODQqLyA3NzEsCisgICAgICAvKjB4MDQwNCovIDMwMSwKKyAgICAgIC8qMHgwMjA0Ki8g
MTkyLAorICAgICAgLyoweDAxMDQqLyA1OSwKKyAgICAgIC8qMHhhYjg0Ki8gMTE2MiwKKyAgICAg
IC8qMHgxYzk0Ki8gNTQzLAorICAgICAgLyoweDEwYzk0Ki8gMTM1NiwKKyAgICAgIC8qMHgwMTg0
Ki8gMTIzLAorICAgICAgLTEsCisgICAgICAvKjB4MWU5MTQqLyAxNDcxLAorICAgICAgLyoweGE3
OTAqLyAxMTExLAorICAgICAgLyoweDJjMDQqLyA5MTUsCisgICAgICAvKjB4MWU5MCovIDY1NywK
KyAgICAgIC8qMHgxMDQwMiovIDEyNjIsCisgICAgICAvKjB4MWY4MiovIDc2OSwKKyAgICAgIC8q
MHgwNDAyKi8gMjk5LAorICAgICAgLyoweDAyMDIqLyAxOTEsCisgICAgICAvKjB4MDEwMiovIDU4
LAorICAgICAgLyoweGFiODIqLyAxMTYwLAorICAgICAgLyoweDFjOTAqLyA1MzksCisgICAgICAv
KjB4MTBjOTAqLyAxMzUyLAorICAgICAgLyoweDAxODIqLyAxMjIsCisgICAgICAtMSwKKyAgICAg
IC8qMHgxZTkxMCovIDE0NjcsCisgICAgICAvKjB4MmM4NCovIDk3NSwKKyAgICAgIC8qMHgyYzAy
Ki8gOTEzLAorICAgICAgLyoweDAxN2YqLyAxMjAsCisgICAgICAtMSwKKyAgICAgIC8qMHhmYjE2
Ki8gMTIzMiwKKyAgICAgIC0xLCAtMSwKKyAgICAgIC8qMHgwM2ZmKi8gMjk2LAorICAgICAgLyow
eDAxZjEqLyAxODEsCisgICAgICAvKjB4MDNmMSovIDI4OCwKKyAgICAgIC8qMHgyYzdmKi8gOTcy
LAorICAgICAgLTEsIC0xLAorICAgICAgLyoweGE3ODQqLyAxMTA3LAorICAgICAgLyoweDJjODIq
LyA5NzQsCisgICAgICAvKjB4MWU4NCovIDY1MSwKKyAgICAgIC8qMHgxMDQyMCovIDEyOTIsCisg
ICAgICAvKjB4MWZhMCovIDc5OSwKKyAgICAgIC8qMHgwNDIwKi8gMzI5LAorICAgICAgLyoweDAy
MjAqLyAyMDYsCisgICAgICAvKjB4MDEyMCovIDczLAorICAgICAgLyoweGFiYTAqLyAxMTkwLAor
ICAgICAgLyoweDFjODQqLyA1MzQsCisgICAgICAvKjB4MTBjODQqLyAxMzQwLAorICAgICAgLyow
eDAxYTAqLyAxNDEsCisgICAgICAvKjB4MDNhMCovIDI1NywKKyAgICAgIC8qMHgxZTkwNCovIDE0
NTUsCisgICAgICAvKjB4YTc4MiovIDExMDYsCisgICAgICAvKjB4MmMyMCovIDk0MywKKyAgICAg
IC8qMHgxZTgyKi8gNjUwLAorICAgICAgLyoweDFmZjkqLyA4NjAsCisgICAgICAvKjB4ZmIwNiov
IDEyMjgsCisgICAgICAtMSwKKyAgICAgIC8qMHgwMTc5Ki8gMTE3LAorICAgICAgLTEsCisgICAg
ICAvKjB4MWZkNyovIDgzOSwKKyAgICAgIC8qMHgxYzgyKi8gNTMyLAorICAgICAgLyoweDEwYzgy
Ki8gMTMzOCwKKyAgICAgIC8qMHgwM2Y5Ki8gMjkyLAorICAgICAgLyoweDAwNTcqLyAyMSwKKyAg
ICAgIC8qMHgxZTkwMiovIDE0NTMsCisgICAgICAvKjB4MmNhMCovIDk4OSwKKyAgICAgIC8qMHgw
MWQ3Ki8gMTY4LAorICAgICAgLyoweDEwNDI2Ki8gMTI5OCwKKyAgICAgIC8qMHgxZmE2Ki8gODA1
LAorICAgICAgLyoweDA0MjYqLyAzMzUsCisgICAgICAvKjB4MDIyNiovIDIwOSwKKyAgICAgIC8q
MHgwMTI2Ki8gNzYsCisgICAgICAvKjB4YWJhNiovIDExOTYsCisgICAgICAtMSwgLTEsCisgICAg
ICAvKjB4MDFhNiovIDE0NCwKKyAgICAgIC8qMHgwM2E2Ki8gMjYyLAorICAgICAgLTEsCisgICAg
ICAvKjB4YTdhMCovIDExMTgsCisgICAgICAvKjB4MmMyNiovIDk0OSwKKyAgICAgIC8qMHgxZWEw
Ki8gNjY3LAorICAgICAgLyoweDEzZjkqLyA1MjUsCisgICAgICAvKjB4ZmIxNCovIDEyMzAsCisg
ICAgICAtMSwgLTEsCisgICAgICAvKjB4MWUwOCovIDU4OSwKKyAgICAgIC0xLAorICAgICAgLyow
eDFjYTAqLyA1NTUsCisgICAgICAvKjB4MTBjYTAqLyAxMzY4LAorICAgICAgLTEsCisgICAgICAv
KjB4MWZmYiovIDg2MiwKKyAgICAgIC8qMHgxZTkyMCovIDE0ODMsCisgICAgICAvKjB4MmNhNiov
IDk5MiwKKyAgICAgIC8qMHgwMTdiKi8gMTE4LAorICAgICAgLyoweDEwNDI0Ki8gMTI5NiwKKyAg
ICAgIC8qMHgxZmE0Ki8gODAzLAorICAgICAgLyoweDA0MjQqLyAzMzMsCisgICAgICAvKjB4MDIy
NCovIDIwOCwKKyAgICAgIC8qMHgwMTI0Ki8gNzUsCisgICAgICAvKjB4YWJhNCovIDExOTQsCisg
ICAgICAtMSwgLTEsCisgICAgICAvKjB4MDFhNCovIDE0MywKKyAgICAgIC8qMHgwM2E0Ki8gMjYw
LAorICAgICAgLyoweDFlMGEqLyA1OTAsCisgICAgICAvKjB4YTdhNiovIDExMjEsCisgICAgICAv
KjB4MmMyNCovIDk0NywKKyAgICAgIC8qMHgxZWE2Ki8gNjcwLAorICAgICAgLyoweDAzN2YqLyAy
MzMsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAvKjB4MWNhNiovIDU2MSwKKyAg
ICAgIC8qMHgxMGNhNiovIDEzNzQsCisgICAgICAvKjB4MWYwOCovIDcxNSwKKyAgICAgIC8qMHgx
M2ZiKi8gNTI3LAorICAgICAgLyoweDFlMDAqLyA1ODUsCisgICAgICAvKjB4MmNhNCovIDk5MSwK
KyAgICAgIC8qMHgwNTA4Ki8gNDI1LAorICAgICAgLyoweDFmNmQqLyA3NjQsCisgICAgICAvKjB4
MWYwOSovIDcxNiwKKyAgICAgIC8qMHhmYjA0Ki8gMTIyNiwKKyAgICAgIC8qMHgxMDQxYSovIDEy
ODYsCisgICAgICAvKjB4MWY5YSovIDc5MywKKyAgICAgIC8qMHgwNDFhKi8gMzIzLAorICAgICAg
LyoweDAyMWEqLyAyMDMsCisgICAgICAvKjB4MDExYSovIDcwLAorICAgICAgLyoweGFiOWEqLyAx
MTg0LAorICAgICAgLTEsIC0xLAorICAgICAgLyoweGE3YTQqLyAxMTIwLAorICAgICAgLyoweDAz
OWEqLyAyNTEsCisgICAgICAvKjB4MWVhNCovIDY2OSwKKyAgICAgIC8qMHgxZjBhKi8gNzE3LAor
ICAgICAgLyoweDJjMWEqLyA5MzcsCisgICAgICAvKjB4ZmIwMiovIDEyMjQsCisgICAgICAvKjB4
MDQ4YSovIDM2MiwKKyAgICAgIC8qMHgwNTBhKi8gNDI2LAorICAgICAgLTEsCisgICAgICAvKjB4
MWNhNCovIDU1OSwKKyAgICAgIC8qMHgxMGNhNCovIDEzNzIsCisgICAgICAvKjB4MDE3ZCovIDEx
OSwKKyAgICAgIC8qMHgxMGM3Ki8gNTIyLAorICAgICAgLyoweDFlMTgqLyA1OTcsCisgICAgICAt
MSwgLTEsCisgICAgICAvKjB4MDNmZCovIDI5NCwKKyAgICAgIC8qMHgyYzlhKi8gOTg2LAorICAg
ICAgLTEsIC0xLAorICAgICAgLyoweDA0ODAqLyAzNjEsCisgICAgICAvKjB4MDUwMCovIDQyMSwK
KyAgICAgIC8qMHgxZmQzKi8gODM3LAorICAgICAgLTEsCisgICAgICAvKjB4MWY2ZiovIDc2NiwK
KyAgICAgIC8qMHgxZmViKi8gODUyLAorICAgICAgLyoweDAwNTMqLyAxNywKKyAgICAgIC8qMHgx
ZTE2Ki8gNTk2LAorICAgICAgLTEsCisgICAgICAvKjB4MDFkMyovIDE2NiwKKyAgICAgIC8qMHhh
NzlhKi8gMTExNSwKKyAgICAgIC0xLAorICAgICAgLyoweDFlOWEqLyA2NjQsCisgICAgICAtMSwg
LTEsCisgICAgICAvKjB4MTNmZCovIDUyOSwKKyAgICAgIC8qMHgyYzZiKi8gOTY0LAorICAgICAg
LTEsCisgICAgICAvKjB4MTBhNyovIDQ5MSwKKyAgICAgIC8qMHgxYzlhKi8gNTQ5LAorICAgICAg
LyoweDEwYzlhKi8gMTM2MiwKKyAgICAgIC0xLAorICAgICAgLyoweDAwZGYqLyA1NiwKKyAgICAg
IC8qMHgxZTkxYSovIDE0NzcsCisgICAgICAvKjB4MWYxOCovIDcyMywKKyAgICAgIC8qMHgxZmY3
Ki8gODU4LAorICAgICAgLTEsCisgICAgICAvKjB4MDQ5OCovIDM2OSwKKyAgICAgIC8qMHgwNTE4
Ki8gNDMzLAorICAgICAgLyoweDJjZWIqLyAxMDIzLAorICAgICAgLTEsIC0xLAorICAgICAgLyow
eDAxZjcqLyAxODUsCisgICAgICAvKjB4MDNmNyovIDI5MSwKKyAgICAgIC8qMHgxZTA2Ki8gNTg4
LAorICAgICAgLyoweDFmNWYqLyA3NTgsCisgICAgICAtMSwKKyAgICAgIC8qMHgwMGRkKi8gNTQs
CisgICAgICAtMSwgLTEsCisgICAgICAvKjB4MDBjNyovIDMzLAorICAgICAgLyoweDA0OTYqLyAz
NjgsCisgICAgICAvKjB4MDUxNiovIDQzMiwKKyAgICAgIC8qMHgxMDQxMiovIDEyNzgsCisgICAg
ICAvKjB4MWY5MiovIDc4NSwKKyAgICAgIC8qMHgwNDEyKi8gMzE1LAorICAgICAgLyoweDAyMTIq
LyAxOTksCisgICAgICAvKjB4MDExMiovIDY2LAorICAgICAgLyoweGFiOTIqLyAxMTc2LAorICAg
ICAgLyoweDI0YzcqLyA5MDIsCisgICAgICAvKjB4MWY1ZCovIDc1NywKKyAgICAgIC0xLAorICAg
ICAgLyoweDAzOTIqLyAyNDMsCisgICAgICAtMSwKKyAgICAgIC8qMHgxMDRjNyovIDEzMjMsCisg
ICAgICAvKjB4MmMxMiovIDkyOSwKKyAgICAgIC8qMHgwNGM3Ki8gMzkzLAorICAgICAgLyoweDA1
NDcqLyA0NjcsCisgICAgICAtMSwgLTEsCisgICAgICAvKjB4MWZiMiovIDgxNSwKKyAgICAgIC8q
MHgxZTE0Ki8gNTk1LAorICAgICAgLyoweDAyMzIqLyAyMTUsCisgICAgICAvKjB4MDEzMiovIDgx
LAorICAgICAgLyoweGFiYjIqLyAxMjA4LAorICAgICAgLTEsIC0xLAorICAgICAgLyoweDAxYjIq
LyAxNTEsCisgICAgICAvKjB4MmM5MiovIDk4MiwKKyAgICAgIC8qMHgwNTA2Ki8gNDI0LAorICAg
ICAgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLyoweDFlMTAqLyA1OTMsCisgICAgICAtMSwg
LTEsIC0xLCAtMSwgLTEsCisgICAgICAvKjB4YTc5MiovIDExMTIsCisgICAgICAtMSwKKyAgICAg
IC8qMHgxZTkyKi8gNjU4LAorICAgICAgLyoweDJjYjIqLyA5OTgsCisgICAgICAvKjB4MWZhZiov
IDgxNCwKKyAgICAgIC8qMHgwNDJmKi8gMzQ0LAorICAgICAgLTEsIC0xLAorICAgICAgLyoweGFi
YWYqLyAxMjA1LAorICAgICAgLyoweDFjOTIqLyA1NDEsCisgICAgICAvKjB4MTBjOTIqLyAxMzU0
LAorICAgICAgLyoweDAxYWYqLyAxNDksCisgICAgICAtMSwKKyAgICAgIC8qMHgxZTkxMiovIDE0
NjksCisgICAgICAvKjB4MDQ5NCovIDM2NywKKyAgICAgIC8qMHgwNTE0Ki8gNDMxLAorICAgICAg
LyoweGE3YjIqLyAxMTMwLAorICAgICAgLTEsCisgICAgICAvKjB4MWViMiovIDY3NiwKKyAgICAg
IC0xLAorICAgICAgLyoweDFmZTkqLyA4NTAsCisgICAgICAvKjB4MWUwNCovIDU4NywKKyAgICAg
IC0xLCAtMSwgLTEsCisgICAgICAvKjB4MWNiMiovIDU3MywKKyAgICAgIC8qMHgxMGNiMiovIDEz
ODYsCisgICAgICAtMSwKKyAgICAgIC8qMHgwNDkwKi8gMzY1LAorICAgICAgLyoweDA1MTAqLyA0
MjksCisgICAgICAtMSwKKyAgICAgIC8qMHgyYzY5Ki8gOTYzLAorICAgICAgLyoweDEwYTAqLyA0
ODQsCisgICAgICAtMSwgLTEsCisgICAgICAvKjB4MWUwMiovIDU4NiwKKyAgICAgIC8qMHgxMDQx
YyovIDEyODgsCisgICAgICAvKjB4MWY5YyovIDc5NSwKKyAgICAgIC8qMHgwNDFjKi8gMzI1LAor
ICAgICAgLyoweDAyMWMqLyAyMDQsCisgICAgICAvKjB4MDExYyovIDcxLAorICAgICAgLyoweGFi
OWMqLyAxMTg2LAorICAgICAgLTEsIC0xLAorICAgICAgLyoweDAxOWMqLyAxMzgsCisgICAgICAv
KjB4MDM5YyovIDI1MywKKyAgICAgIC0xLCAtMSwKKyAgICAgIC8qMHgyYzFjKi8gOTM5LAorICAg
ICAgLTEsCisgICAgICAvKjB4MWNhZiovIDU3MCwKKyAgICAgIC8qMHgxMGNhZiovIDEzODMsCisg
ICAgICAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC8qMHgwNTA0Ki8gNDIzLAorICAgICAgLTEsIC0x
LAorICAgICAgLyoweDEwYTYqLyA0OTAsCisgICAgICAtMSwKKyAgICAgIC8qMHgyYzljKi8gOTg3
LAorICAgICAgLyoweDFlMjAqLyA2MDEsCisgICAgICAvKjB4MTA0MWUqLyAxMjkwLAorICAgICAg
LyoweDFmOWUqLyA3OTcsCisgICAgICAvKjB4MDQxZSovIDMyNywKKyAgICAgIC8qMHgwMjFlKi8g
MjA1LAorICAgICAgLyoweDAxMWUqLyA3MiwKKyAgICAgIC8qMHhhYjllKi8gMTE4OCwKKyAgICAg
IC0xLAorICAgICAgLyoweDA1MDIqLyA0MjIsCisgICAgICAvKjB4MDQ3MCovIDM1MywKKyAgICAg
IC8qMHgwMzllKi8gMjU1LAorICAgICAgLyoweDAxNzAqLyAxMTIsCisgICAgICAvKjB4YTc5Yyov
IDExMTYsCisgICAgICAvKjB4MmMxZSovIDk0MSwKKyAgICAgIC0xLAorICAgICAgLyoweDAxZjAq
LyAxODAsCisgICAgICAvKjB4MDNmMCovIDI4NywKKyAgICAgIC0xLCAtMSwKKyAgICAgIC8qMHgy
YzcwKi8gOTY4LAorICAgICAgLTEsCisgICAgICAvKjB4MWM5YyovIDU1MSwKKyAgICAgIC8qMHgx
MGM5YyovIDEzNjQsCisgICAgICAtMSwKKyAgICAgIC8qMHgxMGE0Ki8gNDg4LAorICAgICAgLyow
eDFlOTFjKi8gMTQ3OSwKKyAgICAgIC8qMHgyYzllKi8gOTg4LAorICAgICAgLyoweDFlMjYqLyA2
MDQsCisgICAgICAvKjB4MTA0MjIqLyAxMjk0LAorICAgICAgLyoweDFmYTIqLyA4MDEsCisgICAg
ICAvKjB4MDQyMiovIDMzMSwKKyAgICAgIC8qMHgwMjIyKi8gMjA3LAorICAgICAgLyoweDAxMjIq
LyA3NCwKKyAgICAgIC8qMHhhYmEyKi8gMTE5MiwKKyAgICAgIC8qMHgwNGEwKi8gMzczLAorICAg
ICAgLyoweDA1MjAqLyA0MzcsCisgICAgICAvKjB4MDFhMiovIDE0MiwKKyAgICAgIC0xLCAtMSwK
KyAgICAgIC8qMHhhNzllKi8gMTExNywKKyAgICAgIC8qMHgyYzIyKi8gOTQ1LAorICAgICAgLyow
eDFlOWUqLyA2NjYsCisgICAgICAvKjB4MTE4YTcqLyAxMzk0LAorICAgICAgLTEsIC0xLCAtMSwg
LTEsCisgICAgICAvKjB4MWVmMCovIDcwNywKKyAgICAgIC8qMHgxYzllKi8gNTUzLAorICAgICAg
LyoweDEwYzllKi8gMTM2NiwKKyAgICAgIC0xLCAtMSwKKyAgICAgIC8qMHgxZTkxZSovIDE0ODEs
CisgICAgICAvKjB4MmNhMiovIDk5MCwKKyAgICAgIC8qMHgxZTI0Ki8gNjAzLAorICAgICAgLyow
eDEwNDBlKi8gMTI3NCwKKyAgICAgIC8qMHgxZjhlKi8gNzgxLAorICAgICAgLyoweDA0MGUqLyAz
MTEsCisgICAgICAvKjB4MDIwZSovIDE5NywKKyAgICAgIC8qMHgwMTBlKi8gNjQsCisgICAgICAv
KjB4YWI4ZSovIDExNzIsCisgICAgICAvKjB4MDRhNiovIDM3NiwKKyAgICAgIC8qMHgwNTI2Ki8g
NDQwLAorICAgICAgLyoweDAxOGUqLyAxMjksCisgICAgICAvKjB4MDM4ZSovIDIzOSwKKyAgICAg
IC8qMHhmZjI3Ki8gMTI0MCwKKyAgICAgIC8qMHhhN2EyKi8gMTExOSwKKyAgICAgIC8qMHgyYzBl
Ki8gOTI1LAorICAgICAgLyoweDFlYTIqLyA2NjgsCisgICAgICAtMSwKKyAgICAgIC8qMHgxZmFh
Ki8gODA5LAorICAgICAgLyoweDA0MmEqLyAzMzksCisgICAgICAvKjB4MDIyYSovIDIxMSwKKyAg
ICAgIC8qMHgwMTJhKi8gNzgsCisgICAgICAvKjB4YWJhYSovIDEyMDAsCisgICAgICAvKjB4MWNh
MiovIDU1NywKKyAgICAgIC8qMHgxMGNhMiovIDEzNzAsCisgICAgICAtMSwKKyAgICAgIC8qMHgw
M2FhKi8gMjY2LAorICAgICAgLTEsCisgICAgICAvKjB4MmM4ZSovIDk4MCwKKyAgICAgIC8qMHgy
YzJhKi8gOTUzLAorICAgICAgLTEsIC0xLAorICAgICAgLyoweDFlMWEqLyA1OTgsCisgICAgICAt
MSwgLTEsIC0xLAorICAgICAgLyoweDA0YTQqLyAzNzUsCisgICAgICAvKjB4MDUyNCovIDQzOSwK
KyAgICAgIC0xLCAtMSwgLTEsCisgICAgICAvKjB4MDM3MCovIDIzMCwKKyAgICAgIC8qMHgyY2Fh
Ki8gOTk0LAorICAgICAgLyoweDFlOGUqLyA2NTYsCisgICAgICAtMSwKKyAgICAgIC8qMHgxZmFl
Ki8gODEzLAorICAgICAgLyoweDA0MmUqLyAzNDMsCisgICAgICAvKjB4MDIyZSovIDIxMywKKyAg
ICAgIC8qMHgwMTJlKi8gODAsCisgICAgICAvKjB4YWJhZSovIDEyMDQsCisgICAgICAtMSwKKyAg
ICAgIC8qMHgxMGM4ZSovIDEzNTAsCisgICAgICAvKjB4MDFhZSovIDE0OCwKKyAgICAgIC0xLAor
ICAgICAgLyoweDFlOTBlKi8gMTQ2NSwKKyAgICAgIC8qMHhhN2FhKi8gMTEyMywKKyAgICAgIC8q
MHgyYzJlKi8gOTU3LAorICAgICAgLyoweDFlYWEqLyA2NzIsCisgICAgICAtMSwgLTEsIC0xLCAt
MSwgLTEsCisgICAgICAvKjB4MWYxYSovIDcyNSwKKyAgICAgIC8qMHgxY2FhKi8gNTY1LAorICAg
ICAgLyoweDEwY2FhKi8gMTM3OCwKKyAgICAgIC8qMHgwNDlhKi8gMzcwLAorICAgICAgLyoweDA1
MWEqLyA0MzQsCisgICAgICAtMSwKKyAgICAgIC8qMHgyY2FlKi8gOTk2LAorICAgICAgLyoweDFm
YWMqLyA4MTEsCisgICAgICAvKjB4MDQyYyovIDM0MSwKKyAgICAgIC8qMHgwMjJjKi8gMjEyLAor
ICAgICAgLyoweDAxMmMqLyA3OSwKKyAgICAgIC8qMHhhYmFjKi8gMTIwMiwKKyAgICAgIC0xLCAt
MSwKKyAgICAgIC8qMHgwMWFjKi8gMTQ3LAorICAgICAgLyoweDIxNjUqLyA4NzMsCisgICAgICAv
KjB4MDBkMyovIDQ1LAorICAgICAgLyoweDIxNjcqLyA4NzUsCisgICAgICAvKjB4MmMyYyovIDk1
NSwKKyAgICAgIC8qMHhhN2FlKi8gMTEyNywKKyAgICAgIC8qMHgyMTYxKi8gODY5LAorICAgICAg
LyoweDFlYWUqLyA2NzQsCisgICAgICAvKjB4MTE4YTAqLyAxMzg3LAorICAgICAgLyoweDFmYmEq
LyA4MjIsCisgICAgICAvKjB4MjE2ZCovIDg4MSwKKyAgICAgIC8qMHgwMjNhKi8gMjE2LAorICAg
ICAgLyoweDEwYjIqLyA1MDIsCisgICAgICAvKjB4YWJiYSovIDEyMTYsCisgICAgICAvKjB4MWNh
ZSovIDU2OSwKKyAgICAgIC8qMHgxMGNhZSovIDEzODIsCisgICAgICAvKjB4MTA0ZDMqLyAxMzM1
LAorICAgICAgLyoweDJjYWMqLyA5OTUsCisgICAgICAvKjB4MWY2YiovIDc2MiwKKyAgICAgIC8q
MHgwNTUzKi8gNDc5LAorICAgICAgLyoweDFmYTgqLyA4MDcsCisgICAgICAvKjB4MDQyOCovIDMz
NywKKyAgICAgIC8qMHgwMjI4Ki8gMjEwLAorICAgICAgLyoweDAxMjgqLyA3NywKKyAgICAgIC8q
MHhhYmE4Ki8gMTE5OCwKKyAgICAgIC0xLAorICAgICAgLyoweDFlMTIqLyA1OTQsCisgICAgICAt
MSwKKyAgICAgIC8qMHgwM2E4Ki8gMjY0LAorICAgICAgLTEsCisgICAgICAvKjB4YTdhYyovIDEx
MjUsCisgICAgICAvKjB4MmMyOCovIDk1MSwKKyAgICAgIC8qMHgxZWFjKi8gNjczLAorICAgICAg
LyoweDJjYmEqLyAxMDAyLAorICAgICAgLTEsCisgICAgICAvKjB4MTE4YTYqLyAxMzkzLAorICAg
ICAgLTEsCisgICAgICAvKjB4MTBhZiovIDQ5OSwKKyAgICAgIC0xLAorICAgICAgLyoweDFjYWMq
LyA1NjcsCisgICAgICAvKjB4MTBjYWMqLyAxMzgwLAorICAgICAgLTEsCisgICAgICAvKjB4MWUz
MiovIDYxMCwKKyAgICAgIC8qMHgyMTYzKi8gODcxLAorICAgICAgLyoweDJjYTgqLyA5OTMsCisg
ICAgICAvKjB4MjE2ZiovIDg4MywKKyAgICAgIC8qMHhhN2JhKi8gMTEzNSwKKyAgICAgIC0xLAor
ICAgICAgLyoweDFlYmEqLyA2ODAsCisgICAgICAvKjB4MWZiOCovIDgyMCwKKyAgICAgIC0xLCAt
MSwgLTEsCisgICAgICAvKjB4YWJiOCovIDEyMTQsCisgICAgICAtMSwKKyAgICAgIC8qMHgxY2Jh
Ki8gNTgxLAorICAgICAgLyoweDAxYjgqLyAxNTUsCisgICAgICAvKjB4YTdhOCovIDExMjIsCisg
ICAgICAvKjB4ZmYyNiovIDEyMzksCisgICAgICAvKjB4MWVhOCovIDY3MSwKKyAgICAgIC8qMHgw
NDkyKi8gMzY2LAorICAgICAgLyoweDA1MTIqLyA0MzAsCisgICAgICAvKjB4MTE4YTQqLyAxMzkx
LAorICAgICAgLTEsIC0xLAorICAgICAgLyoweDFmYjYqLyA4MTgsCisgICAgICAvKjB4MWNhOCov
IDU2MywKKyAgICAgIC8qMHgxMGNhOCovIDEzNzYsCisgICAgICAvKjB4MDEzNiovIDgzLAorICAg
ICAgLyoweGFiYjYqLyAxMjEyLAorICAgICAgLTEsIC0xLAorICAgICAgLyoweGE2ODgqLyAxMDUz
LAorICAgICAgLyoweDJjYjgqLyAxMDAxLAorICAgICAgLyoweDEwNGIyKi8gMTMwMiwKKyAgICAg
IC0xLAorICAgICAgLyoweDA0YjIqLyAzODIsCisgICAgICAvKjB4MDUzMiovIDQ0NiwKKyAgICAg
IC8qMHgxMDQwYyovIDEyNzIsCisgICAgICAvKjB4MWY4YyovIDc3OSwKKyAgICAgIC8qMHgwNDBj
Ki8gMzA5LAorICAgICAgLyoweDAyMGMqLyAxOTYsCisgICAgICAvKjB4MDEwYyovIDYzLAorICAg
ICAgLyoweGFiOGMqLyAxMTcwLAorICAgICAgLTEsCisgICAgICAvKjB4ZmYyNCovIDEyMzcsCisg
ICAgICAvKjB4YTdiOCovIDExMzQsCisgICAgICAvKjB4MDM4YyovIDIzOCwKKyAgICAgIC8qMHgx
ZWI4Ki8gNjc5LAorICAgICAgLyoweDJjYjYqLyAxMDAwLAorICAgICAgLyoweDJjMGMqLyA5MjMs
CisgICAgICAvKjB4YTY4YSovIDEwNTQsCisgICAgICAtMSwgLTEsIC0xLAorICAgICAgLyoweDFj
YjgqLyA1NzksCisgICAgICAtMSwgLTEsCisgICAgICAvKjB4MWYyZiovIDczNiwKKyAgICAgIC0x
LAorICAgICAgLyoweDFlMWMqLyA1OTksCisgICAgICAvKjB4YTc3OSovIDExMDEsCisgICAgICAv
KjB4YTdiNiovIDExMzMsCisgICAgICAvKjB4MmM4YyovIDk3OSwKKyAgICAgIC8qMHgxZWI2Ki8g
Njc4LAorICAgICAgLyoweGE2ODAqLyAxMDQ5LAorICAgICAgLyoweDAyMzAqLyAyMTQsCisgICAg
ICAvKjB4MDEzMCovIDE0ODYsCisgICAgICAvKjB4YWJiMCovIDEyMDYsCisgICAgICAtMSwgLTEs
CisgICAgICAvKjB4MWNiNiovIDU3NywKKyAgICAgIC8qMHgwM2IwKi8gMjY4LAorICAgICAgLTEs
CisgICAgICAvKjB4MWY2OSovIDc2MCwKKyAgICAgIC8qMHhhNzI2Ki8gMTA2NSwKKyAgICAgIC8q
MHgxZmJjKi8gODI0LAorICAgICAgLTEsCisgICAgICAvKjB4MWU4YyovIDY1NSwKKyAgICAgIC0x
LAorICAgICAgLyoweGFiYmMqLyAxMjE4LAorICAgICAgLTEsIC0xLAorICAgICAgLyoweDAxYmMq
LyAxNTYsCisgICAgICAvKjB4MTBhMiovIDQ4NiwKKyAgICAgIC0xLAorICAgICAgLyoweDEwYzhj
Ki8gMTM0OCwKKyAgICAgIC8qMHgxZTFlKi8gNjAwLAorICAgICAgLyoweDJjYjAqLyA5OTcsCisg
ICAgICAvKjB4MWU5MGMqLyAxNDYzLAorICAgICAgLTEsCisgICAgICAvKjB4MWYxYyovIDcyNywK
KyAgICAgIC8qMHhhNjk4Ki8gMTA2MSwKKyAgICAgIC8qMHgxZTcwKi8gNjQxLAorICAgICAgLyow
eDA0OWMqLyAzNzEsCisgICAgICAvKjB4MDUxYyovIDQzNSwKKyAgICAgIC0xLAorICAgICAgLyow
eGE3N2IqLyAxMTAyLAorICAgICAgLTEsIC0xLAorICAgICAgLyoweDJjYmMqLyAxMDAzLAorICAg
ICAgLyoweGE3YjAqLyAxMTI4LAorICAgICAgLyoweGE3MjQqLyAxMDY0LAorICAgICAgLyoweDFl
YjAqLyA2NzUsCisgICAgICAtMSwgLTEsCisgICAgICAvKjB4YTY5NiovIDEwNjAsCisgICAgICAt
MSwgLTEsIC0xLAorICAgICAgLyoweDFjYjAqLyA1NzEsCisgICAgICAvKjB4MTBjYjAqLyAxMzg0
LAorICAgICAgLTEsCisgICAgICAvKjB4YTdiYyovIDExMzYsCisgICAgICAvKjB4MWUyMiovIDYw
MiwKKyAgICAgIC8qMHgxZWJjKi8gNjgxLAorICAgICAgLTEsIC0xLCAtMSwgLTEsCisgICAgICAv
KjB4MWZkMiovIDgzNiwKKyAgICAgIC8qMHgwNDllKi8gMzcyLAorICAgICAgLyoweDA1MWUqLyA0
MzYsCisgICAgICAvKjB4MDE1MiovIDk3LAorICAgICAgLyoweDAwNTIqLyAxNiwKKyAgICAgIC8q
MHgxMGFhKi8gNDk0LAorICAgICAgLyoweDFmY2MqLyA4MzUsCisgICAgICAvKjB4MDRmMCovIDQx
MywKKyAgICAgIC8qMHgwMjRjKi8gMjI3LAorICAgICAgLyoweDAxNGMqLyA5NCwKKyAgICAgIC8q
MHgwMDRjKi8gMTAsCisgICAgICAtMSwKKyAgICAgIC8qMHgxZmJlKi8gODI1LAorICAgICAgLyow
eGE2ODYqLyAxMDUyLAorICAgICAgLyoweDAyM2UqLyAyMTksCisgICAgICAtMSwKKyAgICAgIC8q
MHhhYmJlKi8gMTIyMCwKKyAgICAgIC0xLCAtMSwKKyAgICAgIC8qMHgxMThiMiovIDE0MDUsCisg
ICAgICAtMSwKKyAgICAgIC8qMHgxZTBlKi8gNTkyLAorICAgICAgLyoweDFmYjQqLyA4MTcsCisg
ICAgICAtMSwKKyAgICAgIC8qMHgyY2QyKi8gMTAxNCwKKyAgICAgIC8qMHgwMTM0Ki8gODIsCisg
ICAgICAvKjB4YWJiNCovIDEyMTAsCisgICAgICAvKjB4YTc3ZCovIDExMDMsCisgICAgICAvKjB4
MDRhMiovIDM3NCwKKyAgICAgIC8qMHgwNTIyKi8gNDM4LAorICAgICAgLyoweDJjY2MqLyAxMDEx
LAorICAgICAgLTEsCisgICAgICAvKjB4MTBhZSovIDQ5OCwKKyAgICAgIC0xLCAtMSwKKyAgICAg
IC8qMHgxZTJhKi8gNjA2LAorICAgICAgLyoweDJjYmUqLyAxMDA0LAorICAgICAgLTEsIC0xLAor
ICAgICAgLyoweDFlZDIqLyA2OTIsCisgICAgICAvKjB4YTY5NCovIDEwNTksCisgICAgICAtMSwK
KyAgICAgIC8qMHhmZjMyKi8gMTI1MSwKKyAgICAgIC0xLAorICAgICAgLyoweDExOGFmKi8gMTQw
MiwKKyAgICAgIC8qMHgxZWNjKi8gNjg5LAorICAgICAgLyoweDJjYjQqLyA5OTksCisgICAgICAt
MSwgLTEsCisgICAgICAvKjB4YTdiZSovIDExMzcsCisgICAgICAtMSwKKyAgICAgIC8qMHgxZWJl
Ki8gNjgyLAorICAgICAgLyoweDFmMGUqLyA3MjEsCisgICAgICAtMSwKKyAgICAgIC8qMHhhNjkw
Ki8gMTA1NywKKyAgICAgIC8qMHgwNDhlKi8gMzY0LAorICAgICAgLyoweDA1MGUqLyA0MjgsCisg
ICAgICAvKjB4MTBhYyovIDQ5NiwKKyAgICAgIC8qMHgxY2JlKi8gNTgzLAorICAgICAgLyoweGE3
YjQqLyAxMTMyLAorICAgICAgLTEsCisgICAgICAvKjB4MWViNCovIDY3NywKKyAgICAgIC8qMHgx
ZTJlKi8gNjA4LAorICAgICAgLTEsIC0xLCAtMSwKKyAgICAgIC8qMHgxZjJhKi8gNzMxLAorICAg
ICAgLyoweGZmMmYqLyAxMjQ4LAorICAgICAgLyoweDFjYjQqLyA1NzUsCisgICAgICAvKjB4MDRh
YSovIDM3OCwKKyAgICAgIC8qMHgwNTJhKi8gNDQyLAorICAgICAgLTEsIC0xLAorICAgICAgLyow
eDEwYmEqLyA1MTAsCisgICAgICAtMSwgLTEsCisgICAgICAvKjB4MWZjYSovIDgzMywKKyAgICAg
IC0xLAorICAgICAgLyoweDAyNGEqLyAyMjYsCisgICAgICAvKjB4MDE0YSovIDkzLAorICAgICAg
LyoweDAwNGEqLyA4LAorICAgICAgLyoweGE2ODQqLyAxMDUxLAorICAgICAgLyoweDIxMjYqLyA4
NjQsCisgICAgICAvKjB4MDFjYSovIDE2MSwKKyAgICAgIC8qMHgxMGE4Ki8gNDkyLAorICAgICAg
LTEsIC0xLAorICAgICAgLyoweDFlMmMqLyA2MDcsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEs
CisgICAgICAvKjB4MWYyZSovIDczNSwKKyAgICAgIC0xLAorICAgICAgLyoweGE2ODIqLyAxMDUw
LAorICAgICAgLyoweDA0YWUqLyAzODAsCisgICAgICAvKjB4MDUyZSovIDQ0NCwKKyAgICAgIC0x
LAorICAgICAgLyoweGE3MzIqLyAxMDcwLAorICAgICAgLyoweDJjY2EqLyAxMDEwLAorICAgICAg
LTEsCisgICAgICAvKjB4MWZjNCovIDgyOCwKKyAgICAgIC8qMHgxZTNhKi8gNjE0LAorICAgICAg
LyoweDAyNDQqLyAyMjIsCisgICAgICAtMSwKKyAgICAgIC8qMHgwMDQ0Ki8gMywKKyAgICAgIC8q
MHgwMDRmKi8gMTMsCisgICAgICAtMSwKKyAgICAgIC8qMHgwMWM0Ki8gMTU3LAorICAgICAgLyow
eDAxY2YqLyAxNjQsCisgICAgICAvKjB4MDNjZiovIDI3MCwKKyAgICAgIC0xLAorICAgICAgLyow
eDEwYjgqLyA1MDgsCisgICAgICAvKjB4MWUyOCovIDYwNSwKKyAgICAgIC8qMHgxZWNhKi8gNjg4
LAorICAgICAgLyoweDFmYWIqLyA4MTAsCisgICAgICAvKjB4MDQyYiovIDM0MCwKKyAgICAgIC8q
MHgxZjJjKi8gNzMzLAorICAgICAgLTEsCisgICAgICAvKjB4YWJhYiovIDEyMDEsCisgICAgICAv
KjB4MDRhYyovIDM3OSwKKyAgICAgIC8qMHgwNTJjKi8gNDQzLAorICAgICAgLTEsCisgICAgICAv
KjB4MDNhYiovIDI2NywKKyAgICAgIC0xLAorICAgICAgLyoweDJjYzQqLyAxMDA3LAorICAgICAg
LyoweDJjMmIqLyA5NTQsCisgICAgICAvKjB4MWZjMiovIDgyNiwKKyAgICAgIC8qMHgxMGI2Ki8g
NTA2LAorICAgICAgLyoweDI0YmEqLyA4ODksCisgICAgICAvKjB4MTE4YTIqLyAxMzg5LAorICAg
ICAgLyoweDAwNDIqLyAxLAorICAgICAgLTEsCisgICAgICAvKjB4MWYzYSovIDczOSwKKyAgICAg
IC8qMHgxMDRiYSovIDEzMTAsCisgICAgICAvKjB4MDNjMiovIDI2OSwKKyAgICAgIC8qMHgwNGJh
Ki8gMzg2LAorICAgICAgLyoweDA1M2EqLyA0NTQsCisgICAgICAvKjB4YTdjNCovIDExMzksCisg
ICAgICAvKjB4MWZjOCovIDgzMSwKKyAgICAgIC8qMHgxZWM0Ki8gNjg1LAorICAgICAgLyoweDAy
NDgqLyAyMjUsCisgICAgICAvKjB4MWUzOCovIDYxMywKKyAgICAgIC8qMHgwMDQ4Ki8gNywKKyAg
ICAgIC8qMHgxZjI4Ki8gNzI5LAorICAgICAgLTEsCisgICAgICAvKjB4MDFjOCovIDE2MCwKKyAg
ICAgIC8qMHgwNGE4Ki8gMzc3LAorICAgICAgLyoweDA1MjgqLyA0NDEsCisgICAgICAtMSwgLTEs
CisgICAgICAvKjB4MmNjMiovIDEwMDYsCisgICAgICAvKjB4YTdhYiovIDExMjQsCisgICAgICAv
KjB4ZmYyMiovIDEyMzUsCisgICAgICAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC8qMHgxZTM2Ki8g
NjEyLAorICAgICAgLTEsIC0xLAorICAgICAgLyoweDFjYWIqLyA1NjYsCisgICAgICAvKjB4MTBj
YWIqLyAxMzc5LAorICAgICAgLyoweDJjYzgqLyAxMDA5LAorICAgICAgLyoweGE3YzIqLyAxMTM4
LAorICAgICAgLTEsCisgICAgICAvKjB4MWVjMiovIDY4NCwKKyAgICAgIC8qMHgxMGIwKi8gNTAw
LAorICAgICAgLTEsCisgICAgICAvKjB4MjRiOCovIDg4NywKKyAgICAgIC8qMHgyMTZiKi8gODc5
LAorICAgICAgLyoweDExOGFhKi8gMTM5NywKKyAgICAgIC8qMHgxZTBjKi8gNTkxLAorICAgICAg
LyoweDFmMzgqLyA3MzcsCisgICAgICAvKjB4MTA0YjgqLyAxMzA4LAorICAgICAgLTEsCisgICAg
ICAvKjB4MDRiOCovIDM4NSwKKyAgICAgIC8qMHgwNTM4Ki8gNDUyLAorICAgICAgLyoweDFlYzgq
LyA2ODcsCisgICAgICAvKjB4MTBiYyovIDUxMiwKKyAgICAgIC8qMHgxZmQ2Ki8gODM4LAorICAg
ICAgLyoweDAxNTAqLyA5NiwKKyAgICAgIC8qMHgwMDUwKi8gMTQsCisgICAgICAvKjB4MDE1Niov
IDk5LAorICAgICAgLyoweDAwNTYqLyAyMCwKKyAgICAgIC8qMHgyNGI2Ki8gODg1LAorICAgICAg
LyoweDAzZDAqLyAyNzEsCisgICAgICAtMSwKKyAgICAgIC8qMHgwM2Q2Ki8gMjc0LAorICAgICAg
LyoweDFmZGIqLyA4NDMsCisgICAgICAvKjB4MTA0YjYqLyAxMzA2LAorICAgICAgLTEsCisgICAg
ICAvKjB4MDRiNiovIDM4NCwKKyAgICAgIC8qMHgwNTM2Ki8gNDUwLAorICAgICAgLyoweGZmMmEq
LyAxMjQzLAorICAgICAgLTEsCisgICAgICAvKjB4MDFkYiovIDE3MCwKKyAgICAgIC8qMHgxZTMw
Ki8gNjA5LAorICAgICAgLyoweDExOGFlKi8gMTQwMSwKKyAgICAgIC0xLCAtMSwgLTEsCisgICAg
ICAvKjB4MmNkMCovIDEwMTMsCisgICAgICAvKjB4MWYwYyovIDcxOSwKKyAgICAgIC8qMHgyY2Q2
Ki8gMTAxNiwKKyAgICAgIC8qMHhhNjlhKi8gMTA2MiwKKyAgICAgIC8qMHgwNDhjKi8gMzYzLAor
ICAgICAgLyoweDA1MGMqLyA0MjcsCisgICAgICAtMSwKKyAgICAgIC8qMHgxZTNjKi8gNjE1LAor
ICAgICAgLyoweGE3MjIqLyAxMDYzLAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAg
ICAgIC8qMHgxZWQwKi8gNjkxLAorICAgICAgLyoweDFmYzYqLyA4MjksCisgICAgICAvKjB4MWVk
NiovIDY5NCwKKyAgICAgIC8qMHgwMjQ2Ki8gMjI0LAorICAgICAgLyoweGZmMmUqLyAxMjQ3LAor
ICAgICAgLyoweDAwNDYqLyA1LAorICAgICAgLyoweDExOGFjKi8gMTM5OSwKKyAgICAgIC0xLAor
ICAgICAgLyoweDIxMzIqLyA4NjcsCisgICAgICAvKjB4MDI0ZSovIDIyOCwKKyAgICAgIC8qMHgw
MTRlKi8gOTUsCisgICAgICAvKjB4MDA0ZSovIDEyLAorICAgICAgLyoweDEwNGIwKi8gMTMwMCwK
KyAgICAgIC8qMHgxZmRhKi8gODQyLAorICAgICAgLyoweDA0YjAqLyAzODEsCisgICAgICAtMSwK
KyAgICAgIC8qMHgwMTVhKi8gMTAxLAorICAgICAgLyoweDAwNWEqLyAyNCwKKyAgICAgIC8qMHgx
MGJlKi8gNTE0LAorICAgICAgLyoweDI0YmMqLyA4OTEsCisgICAgICAtMSwKKyAgICAgIC8qMHgw
M2RhKi8gMjc2LAorICAgICAgLyoweDExOGJhKi8gMTQxMywKKyAgICAgIC8qMHgxZjNjKi8gNzQx
LAorICAgICAgLyoweDEwNGJjKi8gMTMxMiwKKyAgICAgIC8qMHgyY2M2Ki8gMTAwOCwKKyAgICAg
IC8qMHgwNGJjKi8gMzg3LAorICAgICAgLyoweDA1M2MqLyA0NTYsCisgICAgICAvKjB4MTBiNCov
IDUwNCwKKyAgICAgIC8qMHhmZjJjKi8gMTI0NSwKKyAgICAgIC0xLAorICAgICAgLyoweDJjY2Uq
LyAxMDEyLAorICAgICAgLTEsCisgICAgICAvKjB4MTE4YTgqLyAxMzk1LAorICAgICAgLyoweGE3
MmEqLyAxMDY3LAorICAgICAgLTEsCisgICAgICAvKjB4MWU1MiovIDYyNiwKKyAgICAgIC8qMHgy
Y2RhKi8gMTAxOCwKKyAgICAgIC8qMHhhN2M2Ki8gMTE0MSwKKyAgICAgIC0xLAorICAgICAgLyow
eDFlYzYqLyA2ODYsCisgICAgICAtMSwKKyAgICAgIC8qMHgxZTRjKi8gNjIzLAorICAgICAgLTEs
IC0xLAorICAgICAgLyoweGZmM2EqLyAxMjU5LAorICAgICAgLyoweDFlY2UqLyA2OTAsCisgICAg
ICAvKjB4YTY1MiovIDEwMzUsCisgICAgICAvKjB4MWUzZSovIDYxNiwKKyAgICAgIC8qMHgyMTY5
Ki8gODc3LAorICAgICAgLTEsIC0xLAorICAgICAgLyoweDFlZGEqLyA2OTYsCisgICAgICAvKjB4
YTY0YyovIDEwMzIsCisgICAgICAvKjB4MDBkMiovIDQ0LAorICAgICAgLTEsCisgICAgICAvKjB4
ZmYyOCovIDEyNDEsCisgICAgICAtMSwKKyAgICAgIC8qMHgxZTM0Ki8gNjExLAorICAgICAgLyow
eGE2OTIqLyAxMDU4LAorICAgICAgLyoweDAwY2MqLyAzOCwKKyAgICAgIC8qMHhhNzJlKi8gMTA2
OSwKKyAgICAgIC8qMHgxMThiOCovIDE0MTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwKKyAgICAg
IC8qMHgxZjUyKi8gNzUyLAorICAgICAgLyoweDEwNGQyKi8gMTMzNCwKKyAgICAgIC8qMHgyNGNj
Ki8gOTA3LAorICAgICAgLyoweDA0ZDIqLyAzOTgsCisgICAgICAvKjB4MDU1MiovIDQ3OCwKKyAg
ICAgIC0xLAorICAgICAgLyoweDFmNGMqLyA3NDksCisgICAgICAvKjB4MTA0Y2MqLyAxMzI4LAor
ICAgICAgLyoweDI0YmUqLyA4OTMsCisgICAgICAvKjB4MmNjMCovIDEwMDUsCisgICAgICAvKjB4
MDU0YyovIDQ3MiwKKyAgICAgIC8qMHgxMThiNiovIDE0MDksCisgICAgICAvKjB4MWYzZSovIDc0
MywKKyAgICAgIC8qMHgxMDRiZSovIDEzMTQsCisgICAgICAtMSwKKyAgICAgIC8qMHgwNGJlKi8g
Mzg4LAorICAgICAgLyoweDA1M2UqLyA0NTgsCisgICAgICAtMSwKKyAgICAgIC8qMHhmZjM4Ki8g
MTI1NywKKyAgICAgIC8qMHhhNzJjKi8gMTA2OCwKKyAgICAgIC0xLCAtMSwgLTEsCisgICAgICAv
KjB4MTA0YjQqLyAxMzA0LAorICAgICAgLyoweDFlYzAqLyA2ODMsCisgICAgICAvKjB4MDRiNCov
IDM4MywKKyAgICAgIC8qMHgwNTM0Ki8gNDQ4LAorICAgICAgLTEsIC0xLAorICAgICAgLyoweDFm
ZTIqLyA4NDQsCisgICAgICAvKjB4MDQ2MiovIDM0NiwKKyAgICAgIC0xLAorICAgICAgLyoweDAx
NjIqLyAxMDUsCisgICAgICAtMSwKKyAgICAgIC8qMHhmZjM2Ki8gMTI1NSwKKyAgICAgIC8qMHhh
NzNhKi8gMTA3NCwKKyAgICAgIC8qMHgwMWUyKi8gMTczLAorICAgICAgLyoweDAzZTIqLyAyODAs
CisgICAgICAvKjB4MDE1NCovIDk4LAorICAgICAgLyoweDAwNTQqLyAxOCwKKyAgICAgIC8qMHgy
YzYyKi8gOTU5LAorICAgICAgLyoweDEwYzQqLyA1MjAsCisgICAgICAtMSwgLTEsIC0xLAorICAg
ICAgLyoweDFlNGEqLyA2MjIsCisgICAgICAvKjB4YTcyOCovIDEwNjYsCisgICAgICAtMSwgLTEs
IC0xLAorICAgICAgLyoweDExOGIwKi8gMTQwMywKKyAgICAgIC0xLCAtMSwKKyAgICAgIC8qMHgy
Y2UyKi8gMTAyMiwKKyAgICAgIC0xLAorICAgICAgLyoweDEwYWIqLyA0OTUsCisgICAgICAvKjB4
YTY0YSovIDEwMzEsCisgICAgICAvKjB4MWZkOCovIDg0MCwKKyAgICAgIC0xLAorICAgICAgLyow
eDJjZDQqLyAxMDE1LAorICAgICAgLyoweDAxNTgqLyAxMDAsCisgICAgICAvKjB4MDA1OCovIDIy
LAorICAgICAgLyoweDExOGJjKi8gMTQxNSwKKyAgICAgIC8qMHgwMGNhKi8gMzYsCisgICAgICAt
MSwKKyAgICAgIC8qMHgwM2Q4Ki8gMjc1LAorICAgICAgLTEsCisgICAgICAvKjB4MTBjMiovIDUx
OCwKKyAgICAgIC8qMHgxZWUyKi8gNzAwLAorICAgICAgLTEsIC0xLAorICAgICAgLyoweDFlNDQq
LyA2MTksCisgICAgICAvKjB4MjRjYSovIDkwNSwKKyAgICAgIC8qMHhmZjMwKi8gMTI0OSwKKyAg
ICAgIC8qMHgxZWQ0Ki8gNjkzLAorICAgICAgLyoweGE3MzgqLyAxMDczLAorICAgICAgLyoweDFm
NGEqLyA3NDcsCisgICAgICAvKjB4MTA0Y2EqLyAxMzI2LAorICAgICAgLTEsIC0xLAorICAgICAg
LyoweDA1NGEqLyA0NzAsCisgICAgICAvKjB4MmNkOCovIDEwMTcsCisgICAgICAvKjB4YTY0NCov
IDEwMjgsCisgICAgICAvKjB4MTA0MGQqLyAxMjczLAorICAgICAgLyoweDFmOGQqLyA3ODAsCisg
ICAgICAvKjB4MDQwZCovIDMxMCwKKyAgICAgIC0xLCAtMSwKKyAgICAgIC8qMHhhYjhkKi8gMTE3
MSwKKyAgICAgIC8qMHgwMGM0Ki8gMzAsCisgICAgICAvKjB4MDBjZiovIDQxLAorICAgICAgLyow
eGE3MzYqLyAxMDcyLAorICAgICAgLTEsIC0xLAorICAgICAgLyoweDIxMmEqLyA4NjUsCisgICAg
ICAvKjB4MmMwZCovIDkyNCwKKyAgICAgIC8qMHgxZWQ4Ki8gNjk1LAorICAgICAgLyoweDFlNDIq
LyA2MTgsCisgICAgICAvKjB4MjRjNCovIDg5OSwKKyAgICAgIC8qMHgyNGNmKi8gOTEwLAorICAg
ICAgLTEsIC0xLCAtMSwKKyAgICAgIC8qMHgxMDRjNCovIDEzMjAsCisgICAgICAvKjB4MTA0Y2Yq
LyAxMzMxLAorICAgICAgLTEsCisgICAgICAvKjB4MDU0NCovIDQ2NCwKKyAgICAgIC8qMHgwNTRm
Ki8gNDc1LAorICAgICAgLyoweGE2NDIqLyAxMDI3LAorICAgICAgLyoweDFlNDgqLyA2MjEsCisg
ICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAvKjB4MDBjMiovIDI4LAorICAgICAgLyow
eDFmMmIqLyA3MzIsCisgICAgICAtMSwKKyAgICAgIC8qMHgxMThiZSovIDE0MTcsCisgICAgICAv
KjB4MDA1NSovIDE5LAorICAgICAgLyoweGE2NDgqLyAxMDMwLAorICAgICAgLyoweGE3OGQqLyAx
MTEwLAorICAgICAgLyoweDAxZDUqLyAxNjcsCisgICAgICAvKjB4MDNkNSovIDI3MywKKyAgICAg
IC8qMHgyNGMyKi8gODk3LAorICAgICAgLTEsIC0xLAorICAgICAgLyoweDAwYzgqLyAzNCwKKyAg
ICAgIC8qMHgxMThiNCovIDE0MDcsCisgICAgICAvKjB4MTA0YzIqLyAxMzE4LAorICAgICAgLTEs
CisgICAgICAvKjB4MTBjOGQqLyAxMzQ5LAorICAgICAgLyoweDA1NDIqLyA0NjIsCisgICAgICAt
MSwKKyAgICAgIC8qMHgxZTkwZCovIDE0NjQsCisgICAgICAtMSwKKyAgICAgIC8qMHgyNGM4Ki8g
OTAzLAorICAgICAgLTEsIC0xLCAtMSwKKyAgICAgIC8qMHgxZjQ4Ki8gNzQ1LAorICAgICAgLyow
eDEwNGM4Ki8gMTMyNCwKKyAgICAgIC8qMHhhNzNjKi8gMTA3NSwKKyAgICAgIC0xLAorICAgICAg
LyoweDA1NDgqLyA0NjgsCisgICAgICAtMSwgLTEsCisgICAgICAvKjB4YTY4ZSovIDEwNTYsCisg
ICAgICAvKjB4MWU1MCovIDYyNSwKKyAgICAgIC0xLAorICAgICAgLyoweDFlNTYqLyA2MjgsCisg
ICAgICAvKjB4ZmYzNCovIDEyNTMsCisgICAgICAvKjB4MDI0NSovIDIyMywKKyAgICAgIC8qMHgw
MTQ1Ki8gOTAsCisgICAgICAvKjB4MDA0NSovIDQsCisgICAgICAtMSwKKyAgICAgIC8qMHgxNmU1
ZiovIDE0NTAsCisgICAgICAvKjB4MDFjNSovIDE1OCwKKyAgICAgIC0xLAorICAgICAgLyoweGE2
NTAqLyAxMDM0LAorICAgICAgLyoweDFmZDkqLyA4NDEsCisgICAgICAvKjB4YTY1NiovIDEwMzcs
CisgICAgICAvKjB4MWZlYyovIDg1MywKKyAgICAgIC8qMHgwNDZjKi8gMzUxLAorICAgICAgLyow
eDAwNTkqLyAyMywKKyAgICAgIC8qMHgwMTZjKi8gMTEwLAorICAgICAgLyoweDAwZDAqLyA0MiwK
KyAgICAgIC8qMHgwMWQ5Ki8gMTY5LAorICAgICAgLyoweDAwZDYqLyA0OCwKKyAgICAgIC8qMHgw
MWVjKi8gMTc4LAorICAgICAgLyoweDAzZWMqLyAyODUsCisgICAgICAvKjB4MTZlNWQqLyAxNDQ4
LAorICAgICAgLTEsIC0xLAorICAgICAgLyoweDE2ZTQ3Ki8gMTQyNiwKKyAgICAgIC0xLCAtMSwK
KyAgICAgIC8qMHgwMGRiKi8gNTIsCisgICAgICAtMSwKKyAgICAgIC8qMHgxZjUwKi8gNzUxLAor
ICAgICAgLyoweDEwNGQwKi8gMTMzMiwKKyAgICAgIC8qMHgxZjU2Ki8gNzU0LAorICAgICAgLyow
eDA0ZDAqLyAzOTcsCisgICAgICAvKjB4MDU1MCovIDQ3NiwKKyAgICAgIC8qMHgwNGQ2Ki8gNDAw
LAorICAgICAgLyoweDA1NTYqLyA0ODIsCisgICAgICAvKjB4YTc1MiovIDEwODYsCisgICAgICAv
KjB4YTdjNSovIDExNDAsCisgICAgICAvKjB4MWU0NiovIDYyMCwKKyAgICAgIC0xLAorICAgICAg
LyoweDFmNWIqLyA3NTYsCisgICAgICAtMSwKKyAgICAgIC8qMHhhNzRjKi8gMTA4MywKKyAgICAg
IC0xLAorICAgICAgLyoweDFlNGUqLyA2MjQsCisgICAgICAtMSwgLTEsIC0xLAorICAgICAgLyow
eGE3M2UqLyAxMDc2LAorICAgICAgLyoweGE2NDYqLyAxMDI5LAorICAgICAgLyoweDFlNWEqLyA2
MzAsCisgICAgICAvKjB4MWVlYyovIDcwNSwKKyAgICAgIC0xLCAtMSwgLTEsCisgICAgICAvKjB4
YTY0ZSovIDEwMzMsCisgICAgICAvKjB4MDBjNiovIDMyLAorICAgICAgLTEsCisgICAgICAvKjB4
YTczNCovIDEwNzEsCisgICAgICAvKjB4MTBjMCovIDUxNiwKKyAgICAgIC0xLAorICAgICAgLyow
eGE2NWEqLyAxMDM5LAorICAgICAgLyoweDAwY2UqLyA0MCwKKyAgICAgIC8qMHgxZmM5Ki8gODMy
LAorICAgICAgLTEsCisgICAgICAvKjB4MjRjNiovIDkwMSwKKyAgICAgIC8qMHgwMTQ5Ki8gOTIs
CisgICAgICAvKjB4MDA0OSovIDE0ODUsCisgICAgICAvKjB4MDBkYSovIDUxLAorICAgICAgLTEs
CisgICAgICAvKjB4MTA0YzYqLyAxMzIyLAorICAgICAgLyoweDI0Y2UqLyA5MDksCisgICAgICAv
KjB4MTE4YWIqLyAxMzk4LAorICAgICAgLyoweDA1NDYqLyA0NjYsCisgICAgICAtMSwgLTEsCisg
ICAgICAvKjB4MTA0Y2UqLyAxMzMwLAorICAgICAgLTEsIC0xLAorICAgICAgLyoweDA1NGUqLyA0
NzQsCisgICAgICAvKjB4MWZlYSovIDg1MSwKKyAgICAgIC8qMHgwNDZhKi8gMzUwLAorICAgICAg
LTEsCisgICAgICAvKjB4MDE2YSovIDEwOSwKKyAgICAgIC8qMHgwNGRhKi8gNDAyLAorICAgICAg
LyoweDAzNDUqLyAyMjksCisgICAgICAtMSwKKyAgICAgIC8qMHgwMWVhKi8gMTc3LAorICAgICAg
LyoweDAzZWEqLyAyODQsCisgICAgICAvKjB4MWU0MCovIDYxNywKKyAgICAgIC8qMHgxZmE5Ki8g
ODA4LAorICAgICAgLyoweDA0MjkqLyAzMzgsCisgICAgICAtMSwgLTEsCisgICAgICAvKjB4YWJh
OSovIDExOTksCisgICAgICAvKjB4ZmYyYiovIDEyNDQsCisgICAgICAtMSwKKyAgICAgIC8qMHgw
MWE5Ki8gMTQ2LAorICAgICAgLyoweDAzYTkqLyAyNjUsCisgICAgICAtMSwKKyAgICAgIC8qMHhh
NjQwKi8gMTAyNiwKKyAgICAgIC8qMHgyYzI5Ki8gOTUyLAorICAgICAgLyoweDFmYzMqLyA4Mjcs
CisgICAgICAtMSwKKyAgICAgIC8qMHgwMjQzKi8gMjIxLAorICAgICAgLyoweDAxNDMqLyA4OSwK
KyAgICAgIC8qMHgwMDQzKi8gMiwKKyAgICAgIC8qMHgwMGMwKi8gMjYsCisgICAgICAvKjB4MTA0
MjEqLyAxMjkzLAorICAgICAgLyoweDFmYTEqLyA4MDAsCisgICAgICAvKjB4MDQyMSovIDMzMCwK
KyAgICAgIC0xLAorICAgICAgLyoweGE3NGEqLyAxMDgyLAorICAgICAgLyoweGFiYTEqLyAxMTkx
LAorICAgICAgLTEsIC0xLAorICAgICAgLyoweDI0YzAqLyA4OTUsCisgICAgICAvKjB4MDNhMSov
IDI1OCwKKyAgICAgIC0xLAorICAgICAgLyoweDFlZWEqLyA3MDQsCisgICAgICAvKjB4MmMyMSov
IDk0NCwKKyAgICAgIC8qMHgxMDRjMCovIDEzMTYsCisgICAgICAvKjB4MWZiOSovIDgyMSwKKyAg
ICAgIC8qMHgwNGMwKi8gMzg5LAorICAgICAgLyoweDA1NDAqLyA0NjAsCisgICAgICAvKjB4MDEz
OSovIDg0LAorICAgICAgLyoweGFiYjkqLyAxMjE1LAorICAgICAgLyoweDFmZTgqLyA4NDksCisg
ICAgICAvKjB4MDQ2OCovIDM0OSwKKyAgICAgIC0xLAorICAgICAgLyoweDAxNjgqLyAxMDgsCisg
ICAgICAtMSwgLTEsCisgICAgICAvKjB4MWU2MiovIDYzNCwKKyAgICAgIC8qMHgwMWU4Ki8gMTc2
LAorICAgICAgLyoweDAzZTgqLyAyODMsCisgICAgICAvKjB4MWNhOSovIDU2NCwKKyAgICAgIC8q
MHgxMGNhOSovIDEzNzcsCisgICAgICAvKjB4YTc0NCovIDEwNzksCisgICAgICAvKjB4MWU1NCov
IDYyNywKKyAgICAgIC0xLAorICAgICAgLyoweDFmY2IqLyA4MzQsCisgICAgICAtMSwgLTEsCisg
ICAgICAvKjB4YTY2MiovIDEwNDMsCisgICAgICAvKjB4MDA0YiovIDksCisgICAgICAtMSwgLTEs
CisgICAgICAvKjB4MDFjYiovIDE2MiwKKyAgICAgIC8qMHhhNjhjKi8gMTA1NSwKKyAgICAgIC8q
MHhhNjU0Ki8gMTAzNiwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLyoweDFjYTEqLyA1
NTYsCisgICAgICAvKjB4MTBjYTEqLyAxMzY5LAorICAgICAgLyoweDAwZDQqLyA0NiwKKyAgICAg
IC0xLAorICAgICAgLyoweDFlOTIxKi8gMTQ4NCwKKyAgICAgIC0xLAorICAgICAgLyoweDFlNTgq
LyA2MjksCisgICAgICAtMSwKKyAgICAgIC8qMHgxNmU1NyovIDE0NDIsCisgICAgICAvKjB4YTc0
MiovIDEwNzgsCisgICAgICAtMSwKKyAgICAgIC8qMHgxZWU4Ki8gNzAzLAorICAgICAgLyoweDA0
ZTIqLyA0MDYsCisgICAgICAvKjB4MWNiOSovIDU4MCwKKyAgICAgIC0xLAorICAgICAgLyoweDFm
NTQqLyA3NTMsCisgICAgICAtMSwKKyAgICAgIC8qMHhhNjU4Ki8gMTAzOCwKKyAgICAgIC8qMHgw
NGQ0Ki8gMzk5LAorICAgICAgLyoweDA1NTQqLyA0ODAsCisgICAgICAtMSwKKyAgICAgIC8qMHhh
NzQ4Ki8gMTA4MSwKKyAgICAgIC0xLCAtMSwKKyAgICAgIC8qMHgwMGQ4Ki8gNDksCisgICAgICAv
KjB4MTA0MTcqLyAxMjgzLAorICAgICAgLyoweDFmOTcqLyA3OTAsCisgICAgICAvKjB4MDQxNyov
IDMyMCwKKyAgICAgIC8qMHgxZmU0Ki8gODQ2LAorICAgICAgLyoweDA0NjQqLyAzNDcsCisgICAg
ICAvKjB4YWI5NyovIDExODEsCisgICAgICAvKjB4MDE2NCovIDEwNiwKKyAgICAgIC0xLAorICAg
ICAgLyoweDAxOTcqLyAxMzYsCisgICAgICAvKjB4MDM5NyovIDI0OCwKKyAgICAgIC8qMHgwMWU0
Ki8gMTc0LAorICAgICAgLyoweDAzZTQqLyAyODEsCisgICAgICAvKjB4MmMxNyovIDkzNCwKKyAg
ICAgIC0xLAorICAgICAgLyoweDJjNjQqLyA5NjEsCisgICAgICAvKjB4MDRkOCovIDQwMSwKKyAg
ICAgIC0xLCAtMSwKKyAgICAgIC8qMHgwNDYwKi8gMzQ1LAorICAgICAgLTEsCisgICAgICAvKjB4
MDE2MCovIDEwNCwKKyAgICAgIC0xLCAtMSwgLTEsCisgICAgICAvKjB4MDFlMCovIDE3MiwKKyAg
ICAgIC8qMHgwM2UwKi8gMjc5LAorICAgICAgLyoweDFmZjQqLyA4NTYsCisgICAgICAvKjB4MDQ3
NCovIDM1NSwKKyAgICAgIC8qMHgyYzYwKi8gOTU4LAorICAgICAgLyoweDAxNzQqLyAxMTQsCisg
ICAgICAtMSwKKyAgICAgIC8qMHgxZmZjKi8gODYzLAorICAgICAgLyoweDA0N2MqLyAzNTksCisg
ICAgICAvKjB4MDFmNCovIDE4MywKKyAgICAgIC8qMHgwM2Y0Ki8gMjg5LAorICAgICAgLyoweGE3
NTAqLyAxMDg1LAorICAgICAgLTEsCisgICAgICAvKjB4YTc1NiovIDEwODgsCisgICAgICAvKjB4
MDFmYyovIDE4OCwKKyAgICAgIC8qMHgxZjBkKi8gNzIwLAorICAgICAgLyoweDFlOTcqLyA2NjEs
CisgICAgICAvKjB4MmNlMCovIDEwMjEsCisgICAgICAvKjB4MWVlNCovIDcwMSwKKyAgICAgIC0x
LAorICAgICAgLyoweDEwYzUqLyA1MjEsCisgICAgICAtMSwgLTEsCisgICAgICAvKjB4MWM5Nyov
IDU0NiwKKyAgICAgIC8qMHgxMGM5NyovIDEzNTksCisgICAgICAtMSwgLTEsCisgICAgICAvKjB4
MWU5MTcqLyAxNDc0LAorICAgICAgLTEsCisgICAgICAvKjB4MDQ2ZSovIDM1MiwKKyAgICAgIC0x
LAorICAgICAgLyoweDAxNmUqLyAxMTEsCisgICAgICAvKjB4MWVlMCovIDY5OSwKKyAgICAgIC8q
MHgwMGQ1Ki8gNDcsCisgICAgICAvKjB4MTNmYyovIDUyOCwKKyAgICAgIC8qMHgwMWVlKi8gMTc5
LAorICAgICAgLyoweDAzZWUqLyAyODYsCisgICAgICAvKjB4MWZlNiovIDg0NywKKyAgICAgIC8q
MHgwNDY2Ki8gMzQ4LAorICAgICAgLyoweDJjNmUqLyA5NjYsCisgICAgICAvKjB4MDE2NiovIDEw
NywKKyAgICAgIC8qMHgxZWY0Ki8gNzA5LAorICAgICAgLTEsCisgICAgICAvKjB4MDE1ZSovIDEw
MywKKyAgICAgIC8qMHgwMWU2Ki8gMTc1LAorICAgICAgLyoweDAzZTYqLyAyODIsCisgICAgICAv
KjB4MWVmYyovIDcxMywKKyAgICAgIC8qMHgwMWRlKi8gMTcxLAorICAgICAgLyoweDAzZGUqLyAy
NzgsCisgICAgICAtMSwKKyAgICAgIC8qMHgwNTU1Ki8gNDgxLAorICAgICAgLyoweGE3NDYqLyAx
MDgwLAorICAgICAgLTEsIC0xLAorICAgICAgLyoweDE2ZTUzKi8gMTQzOCwKKyAgICAgIC0xLCAt
MSwKKyAgICAgIC8qMHhhNzRlKi8gMTA4NCwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLAorICAgICAg
LyoweDFlNmMqLyA2MzksCisgICAgICAvKjB4YTc1YSovIDEwOTAsCisgICAgICAvKjB4MmNkZSov
IDEwMjAsCisgICAgICAtMSwKKyAgICAgIC8qMHgwMDUxKi8gMTUsCisgICAgICAvKjB4MWVlZSov
IDcwNiwKKyAgICAgIC8qMHgwMGM1Ki8gMzEsCisgICAgICAvKjB4MDFkMSovIDE2NSwKKyAgICAg
IC8qMHgwM2QxKi8gMjcyLAorICAgICAgLTEsIC0xLAorICAgICAgLyoweGE2NmMqLyAxMDQ4LAor
ICAgICAgLTEsCisgICAgICAvKjB4MjEyYiovIDg2NiwKKyAgICAgIC8qMHgxZWU2Ki8gNzAyLAor
ICAgICAgLyoweDI0YzUqLyA5MDAsCisgICAgICAvKjB4MDBkOSovIDUwLAorICAgICAgLyoweDFl
ZGUqLyA2OTgsCisgICAgICAtMSwgLTEsCisgICAgICAvKjB4MTA0YzUqLyAxMzIxLAorICAgICAg
LTEsCisgICAgICAvKjB4MDRjNSovIDM5MiwKKyAgICAgIC8qMHgwNTQ1Ki8gNDY1LAorICAgICAg
LyoweDFmYWQqLyA4MTIsCisgICAgICAvKjB4MDQyZCovIDM0MiwKKyAgICAgIC0xLCAtMSwKKyAg
ICAgIC8qMHhhYmFkKi8gMTIwMywKKyAgICAgIC8qMHgxZjU5Ki8gNzU1LAorICAgICAgLTEsCisg
ICAgICAvKjB4MWY2YyovIDc2MywKKyAgICAgIC0xLCAtMSwKKyAgICAgIC8qMHgwNGVjKi8gNDEx
LAorICAgICAgLyoweDJjMmQqLyA5NTYsCisgICAgICAvKjB4MDE1YyovIDEwMiwKKyAgICAgIC0x
LAorICAgICAgLyoweGZiMTcqLyAxMjMzLAorICAgICAgLTEsCisgICAgICAvKjB4YTc0MCovIDEw
NzcsCisgICAgICAvKjB4MDNkYyovIDI3NywKKyAgICAgIC8qMHgxZmYyKi8gODU0LAorICAgICAg
LyoweDA0NzIqLyAzNTQsCisgICAgICAtMSwKKyAgICAgIC8qMHgwMTcyKi8gMTEzLAorICAgICAg
LTEsIC0xLAorICAgICAgLyoweDEwYTkqLyA0OTMsCisgICAgICAvKjB4MDFmMiovIDE4MiwKKyAg
ICAgIC8qMHgxMDQyNSovIDEyOTcsCisgICAgICAvKjB4MWZhNSovIDgwNCwKKyAgICAgIC8qMHgw
NDI1Ki8gMzM0LAorICAgICAgLyoweDJjNzIqLyA5NjksCisgICAgICAtMSwKKyAgICAgIC8qMHhh
YmE1Ki8gMTE5NSwKKyAgICAgIC0xLAorICAgICAgLyoweDJjZGMqLyAxMDE5LAorICAgICAgLTEs
CisgICAgICAvKjB4MDNhNSovIDI2MSwKKyAgICAgIC8qMHgxMGMzKi8gNTE5LAorICAgICAgLyow
eGE3YWQqLyAxMTI2LAorICAgICAgLyoweDJjMjUqLyA5NDgsCisgICAgICAtMSwgLTEsIC0xLAor
ICAgICAgLyoweDJjZjIqLyAxMDI1LAorICAgICAgLyoweDEwYTEqLyA0ODUsCisgICAgICAvKjB4
MWU2YSovIDYzOCwKKyAgICAgIC8qMHgwMGM5Ki8gMzUsCisgICAgICAvKjB4MWNhZCovIDU2OCwK
KyAgICAgIC8qMHgxMGNhZCovIDEzODEsCisgICAgICAvKjB4MWVkYyovIDY5NywKKyAgICAgIC8q
MHgwMDRkKi8gMTEsCisgICAgICAtMSwgLTEsCisgICAgICAvKjB4MDFjZCovIDE2MywKKyAgICAg
IC0xLAorICAgICAgLyoweDI0YzkqLyA5MDQsCisgICAgICAvKjB4YTY2YSovIDEwNDcsCisgICAg
ICAvKjB4MTBiOSovIDUwOSwKKyAgICAgIC8qMHgxZWYyKi8gNzA4LAorICAgICAgLyoweDFmNDkq
LyA3NDYsCisgICAgICAvKjB4MTA0YzkqLyAxMzI1LAorICAgICAgLyoweGE3NjIqLyAxMDk0LAor
ICAgICAgLyoweDA0YzkqLyAzOTQsCisgICAgICAvKjB4MDU0OSovIDQ2OSwKKyAgICAgIC8qMHgw
MTNmKi8gODcsCisgICAgICAvKjB4YWJiZiovIDEyMjEsCisgICAgICAtMSwKKyAgICAgIC8qMHhh
NzU0Ki8gMTA4NywKKyAgICAgIC8qMHgxMDQyMyovIDEyOTUsCisgICAgICAvKjB4MWZhMyovIDgw
MiwKKyAgICAgIC8qMHgwNDIzKi8gMzMyLAorICAgICAgLTEsIC0xLAorICAgICAgLyoweGFiYTMq
LyAxMTkzLAorICAgICAgLyoweDFjYTUqLyA1NjAsCisgICAgICAvKjB4MTBjYTUqLyAxMzczLAor
ICAgICAgLyoweDFmNmEqLyA3NjEsCisgICAgICAvKjB4MDNhMyovIDI1OSwKKyAgICAgIC0xLAor
ICAgICAgLyoweDA0ZWEqLyA0MTAsCisgICAgICAvKjB4MmMyMyovIDk0NiwKKyAgICAgIC0xLAor
ICAgICAgLyoweDAyNDEqLyAyMjAsCisgICAgICAvKjB4MDE0MSovIDg4LAorICAgICAgLyoweDAw
NDEqLyAwLAorICAgICAgLyoweDAwYzMqLyAyOSwKKyAgICAgIC8qMHgxZjI5Ki8gNzMwLAorICAg
ICAgLTEsIC0xLAorICAgICAgLyoweGE3NTgqLyAxMDg5LAorICAgICAgLTEsIC0xLAorICAgICAg
LyoweDFlNjgqLyA2MzcsCisgICAgICAtMSwKKyAgICAgIC8qMHgyNGMzKi8gODk4LAorICAgICAg
LTEsIC0xLCAtMSwgLTEsCisgICAgICAvKjB4MTA0YzMqLyAxMzE5LAorICAgICAgLTEsCisgICAg
ICAvKjB4MDRjMyovIDM5MSwKKyAgICAgIC8qMHgwNTQzKi8gNDYzLAorICAgICAgLyoweGE2Njgq
LyAxMDQ2LAorICAgICAgLyoweDAzNzIqLyAyMzEsCisgICAgICAtMSwgLTEsCisgICAgICAvKjB4
MWNiZiovIDU4NCwKKyAgICAgIC0xLCAtMSwgLTEsCisgICAgICAvKjB4MDIzZCovIDIxOCwKKyAg
ICAgIC8qMHgwMTNkKi8gODYsCisgICAgICAvKjB4YWJiZCovIDEyMTksCisgICAgICAvKjB4MjRi
OSovIDg4OCwKKyAgICAgIC8qMHgxY2EzKi8gNTU4LAorICAgICAgLyoweDEwY2EzKi8gMTM3MSwK
KyAgICAgIC0xLAorICAgICAgLyoweDFmMzkqLyA3MzgsCisgICAgICAvKjB4MTA0YjkqLyAxMzA5
LAorICAgICAgLTEsIC0xLAorICAgICAgLyoweDA1MzkqLyA0NTMsCisgICAgICAvKjB4MWY2OCov
IDc1OSwKKyAgICAgIC8qMHgwMGNiKi8gMzcsCisgICAgICAtMSwKKyAgICAgIC8qMHgwNGU4Ki8g
NDA5LAorICAgICAgLyoweDEwNDFkKi8gMTI4OSwKKyAgICAgIC8qMHgxZjlkKi8gNzk2LAorICAg
ICAgLyoweDA0MWQqLyAzMjYsCisgICAgICAtMSwgLTEsCisgICAgICAvKjB4YWI5ZCovIDExODcs
CisgICAgICAvKjB4MjRjYiovIDkwNiwKKyAgICAgIC0xLAorICAgICAgLyoweDAxOWQqLyAxMzks
CisgICAgICAvKjB4MDM5ZCovIDI1NCwKKyAgICAgIC8qMHgxZjRiKi8gNzQ4LAorICAgICAgLyow
eDEwNGNiKi8gMTMyNywKKyAgICAgIC8qMHgyYzFkKi8gOTQwLAorICAgICAgLyoweDA0Y2IqLyAz
OTUsCisgICAgICAvKjB4MDU0YiovIDQ3MSwKKyAgICAgIC8qMHgxMDQwNyovIDEyNjcsCisgICAg
ICAvKjB4MWY4NyovIDc3NCwKKyAgICAgIC8qMHgwNDA3Ki8gMzA0LAorICAgICAgLyoweDA1ODcq
LyA0ODMsCisgICAgICAtMSwKKyAgICAgIC8qMHhhYjg3Ki8gMTE2NSwKKyAgICAgIC8qMHgxZTY0
Ki8gNjM1LAorICAgICAgLTEsCisgICAgICAvKjB4MDE4NyovIDEyNSwKKyAgICAgIC8qMHgxMDQx
YiovIDEyODcsCisgICAgICAvKjB4MWY5YiovIDc5NCwKKyAgICAgIC8qMHgwNDFiKi8gMzI0LAor
ICAgICAgLyoweDJjMDcqLyA5MTgsCisgICAgICAvKjB4MWNiZCovIDU4MiwKKyAgICAgIC8qMHhh
YjliKi8gMTE4NSwKKyAgICAgIC0xLCAtMSwKKyAgICAgIC8qMHhhNjY0Ki8gMTA0NCwKKyAgICAg
IC8qMHgwMzliKi8gMjUyLAorICAgICAgLTEsCisgICAgICAvKjB4MWU2MCovIDYzMywKKyAgICAg
IC8qMHgyYzFiKi8gOTM4LAorICAgICAgLyoweDFmYmIqLyA4MjMsCisgICAgICAtMSwKKyAgICAg
IC8qMHgwMjNiKi8gMjE3LAorICAgICAgLyoweDAxM2IqLyA4NSwKKyAgICAgIC8qMHhhYmJiKi8g
MTIxNywKKyAgICAgIC0xLCAtMSwKKyAgICAgIC8qMHgxZTc0Ki8gNjQzLAorICAgICAgLyoweGFi
NzMqLyAxMTQ1LAorICAgICAgLyoweGE2NjAqLyAxMDQyLAorICAgICAgLyoweDFjOWQqLyA1NTIs
CisgICAgICAvKjB4MTBjOWQqLyAxMzY1LAorICAgICAgLyoweDFlN2MqLyA2NDcsCisgICAgICAt
MSwKKyAgICAgIC8qMHgxZTkxZCovIDE0ODAsCisgICAgICAtMSwKKyAgICAgIC8qMHgxZmY2Ki8g
ODU3LAorICAgICAgLyoweDA0NzYqLyAzNTYsCisgICAgICAvKjB4MDRlNCovIDQwNywKKyAgICAg
IC8qMHgwMTc2Ki8gMTE1LAorICAgICAgLTEsIC0xLCAtMSwKKyAgICAgIC8qMHgwMWY2Ki8gMTg0
LAorICAgICAgLyoweDIxNjIqLyA4NzAsCisgICAgICAvKjB4MWM4NyovIDUzNywKKyAgICAgIC8q
MHgxMGM4NyovIDEzNDMsCisgICAgICAvKjB4MWU5YiovIDY2NSwKKyAgICAgIC8qMHgxMThhOSov
IDEzOTYsCisgICAgICAvKjB4MWU5MDcqLyAxNDU4LAorICAgICAgLyoweGE3NmMqLyAxMDk5LAor
ICAgICAgLTEsCisgICAgICAvKjB4MDRlMCovIDQwNSwKKyAgICAgIC8qMHgxZTZlKi8gNjQwLAor
ICAgICAgLyoweDFjOWIqLyA1NTAsCisgICAgICAvKjB4MTBjOWIqLyAxMzYzLAorICAgICAgLTEs
IC0xLAorICAgICAgLyoweDFlOTFiKi8gMTQ3OCwKKyAgICAgIC0xLCAtMSwKKyAgICAgIC8qMHgw
NGY0Ki8gNDE1LAorICAgICAgLyoweDFlNjYqLyA2MzYsCisgICAgICAtMSwgLTEsCisgICAgICAv
KjB4MWU1ZSovIDYzMiwKKyAgICAgIC8qMHgwNGZjKi8gNDE5LAorICAgICAgLyoweDExOGExKi8g
MTM4OCwKKyAgICAgIC0xLAorICAgICAgLyoweGFiYjEqLyAxMjA3LAorICAgICAgLTEsCisgICAg
ICAvKjB4ZmYyOSovIDEyNDIsCisgICAgICAvKjB4MDFiMSovIDE1MCwKKyAgICAgIC8qMHhhNjY2
Ki8gMTA0NSwKKyAgICAgIC0xLAorICAgICAgLyoweDFlZjYqLyA3MTAsCisgICAgICAvKjB4YTY1
ZSovIDEwNDEsCisgICAgICAvKjB4MTA0MTkqLyAxMjg1LAorICAgICAgLyoweDFmOTkqLyA3OTIs
CisgICAgICAvKjB4MDQxOSovIDMyMiwKKyAgICAgIC8qMHgxMThiOSovIDE0MTIsCisgICAgICAv
KjB4MTBhZCovIDQ5NywKKyAgICAgIC8qMHhhYjk5Ki8gMTE4MywKKyAgICAgIC8qMHgwMGRlKi8g
NTUsCisgICAgICAvKjB4MWY2ZSovIDc2NSwKKyAgICAgIC0xLAorICAgICAgLyoweDAzOTkqLyAy
NTAsCisgICAgICAvKjB4MDRlZSovIDQxMiwKKyAgICAgIC0xLAorICAgICAgLyoweDJjMTkqLyA5
MzYsCisgICAgICAvKjB4ZmYyMSovIDEyMzQsCisgICAgICAvKjB4MWZiNyovIDgxOSwKKyAgICAg
IC8qMHgxMDQxMyovIDEyNzksCisgICAgICAvKjB4MWY5MyovIDc4NiwKKyAgICAgIC8qMHgwNDEz
Ki8gMzE2LAorICAgICAgLyoweGFiYjcqLyAxMjEzLAorICAgICAgLyoweDA0ZTYqLyA0MDgsCisg
ICAgICAvKjB4YWI5MyovIDExNzcsCisgICAgICAvKjB4MDFiNyovIDE1NCwKKyAgICAgIC8qMHgw
NGRlKi8gNDA0LAorICAgICAgLyoweDAxOTMqLyAxMzMsCisgICAgICAvKjB4MDM5MyovIDI0NCwK
KyAgICAgIC8qMHhhN2IxKi8gMTEyOSwKKyAgICAgIC8qMHhmZjM5Ki8gMTI1OCwKKyAgICAgIC8q
MHgyYzEzKi8gOTMwLAorICAgICAgLyoweDAwZDEqLyA0MywKKyAgICAgIC8qMHgxZmZhKi8gODYx
LAorICAgICAgLyoweDA0N2EqLyAzNTgsCisgICAgICAvKjB4MTBhNSovIDQ4OSwKKyAgICAgIC0x
LCAtMSwKKyAgICAgIC8qMHgxY2IxKi8gNTcyLAorICAgICAgLyoweDEwY2IxKi8gMTM4NSwKKyAg
ICAgIC8qMHgwMWZhKi8gMTg3LAorICAgICAgLyoweDAzZmEqLyAyOTMsCisgICAgICAtMSwgLTEs
CisgICAgICAvKjB4MWU5OSovIDY2MywKKyAgICAgIC8qMHhhNzZhKi8gMTA5OCwKKyAgICAgIC8q
MHgxMDRkMSovIDEzMzMsCisgICAgICAvKjB4MWU1YyovIDYzMSwKKyAgICAgIC8qMHgwMzc2Ki8g
MjMyLAorICAgICAgLyoweDA1NTEqLyA0NzcsCisgICAgICAtMSwKKyAgICAgIC8qMHgxYzk5Ki8g
NTQ4LAorICAgICAgLyoweDEwYzk5Ki8gMTM2MSwKKyAgICAgIC8qMHgxMGNkKi8gNTIzLAorICAg
ICAgLTEsCisgICAgICAvKjB4MWU5MTkqLyAxNDc2LAorICAgICAgLyoweDFlNzIqLyA2NDIsCisg
ICAgICAtMSwKKyAgICAgIC8qMHhhNjVjKi8gMTA0MCwKKyAgICAgIC0xLAorICAgICAgLyoweDEz
ZmEqLyA1MjYsCisgICAgICAtMSwgLTEsIC0xLAorICAgICAgLyoweDFjYjcqLyA1NzgsCisgICAg
ICAvKjB4MDBkYyovIDUzLAorICAgICAgLyoweDFjOTMqLyA1NDIsCisgICAgICAvKjB4MTBjOTMq
LyAxMzU1LAorICAgICAgLyoweDEwYmYqLyA1MTUsCisgICAgICAvKjB4MWYyZCovIDczNCwKKyAg
ICAgIC8qMHgxZTkxMyovIDE0NzAsCisgICAgICAvKjB4YWJiNSovIDEyMTEsCisgICAgICAvKjB4
MWVmYSovIDcxMiwKKyAgICAgIC0xLAorICAgICAgLyoweDAxYjUqLyAxNTMsCisgICAgICAtMSwK
KyAgICAgIC8qMHgxMGEzKi8gNDg3LAorICAgICAgLyoweGFiNzUqLyAxMTQ3LAorICAgICAgLTEs
IC0xLCAtMSwKKyAgICAgIC8qMHgwNGRjKi8gNDAzLAorICAgICAgLyoweDFmYjMqLyA4MTYsCisg
ICAgICAtMSwgLTEsIC0xLAorICAgICAgLyoweGFiYjMqLyAxMjA5LAorICAgICAgLyoweDEwYzEq
LyA1MTcsCisgICAgICAtMSwKKyAgICAgIC8qMHgwMWIzKi8gMTUyLAorICAgICAgLyoweDA0ZjIq
LyA0MTQsCisgICAgICAtMSwKKyAgICAgIC8qMHhhNzY4Ki8gMTA5NywKKyAgICAgIC0xLAorICAg
ICAgLyoweDEwNDFmKi8gMTI5MSwKKyAgICAgIC8qMHgxZjlmKi8gNzk4LAorICAgICAgLyoweDA0
MWYqLyAzMjgsCisgICAgICAtMSwgLTEsCisgICAgICAvKjB4YWI5ZiovIDExODksCisgICAgICAt
MSwKKyAgICAgIC8qMHgwMGNkKi8gMzksCisgICAgICAvKjB4MDE5ZiovIDE0MCwKKyAgICAgIC8q
MHgwMzlmKi8gMjU2LAorICAgICAgLyoweDIxNmMqLyA4ODAsCisgICAgICAtMSwKKyAgICAgIC8q
MHgyYzFmKi8gOTQyLAorICAgICAgLTEsIC0xLCAtMSwKKyAgICAgIC8qMHgyNGNkKi8gOTA4LAor
ICAgICAgLTEsIC0xLAorICAgICAgLyoweDFjYjUqLyA1NzYsCisgICAgICAvKjB4MWY0ZCovIDc1
MCwKKyAgICAgIC8qMHgxMDRjZCovIDEzMjksCisgICAgICAvKjB4MTBiZCovIDUxMywKKyAgICAg
IC8qMHgwNGNkKi8gMzk2LAorICAgICAgLyoweDA1NGQqLyA0NzMsCisgICAgICAvKjB4YTdiMyov
IDExMzEsCisgICAgICAvKjB4MWZmOCovIDg1OSwKKyAgICAgIC8qMHgwNDc4Ki8gMzU3LAorICAg
ICAgLyoweGFiN2YqLyAxMTU3LAorICAgICAgLyoweDAxNzgqLyAxMTYsCisgICAgICAvKjB4YWI3
MSovIDExNDMsCisgICAgICAvKjB4MjRiZiovIDg5NCwKKyAgICAgIC0xLAorICAgICAgLyoweDAx
ZjgqLyAxODYsCisgICAgICAvKjB4MWNiMyovIDU3NCwKKyAgICAgIC8qMHgxZjNmKi8gNzQ0LAor
ICAgICAgLyoweDEwNGJmKi8gMTMxNSwKKyAgICAgIC0xLCAtMSwKKyAgICAgIC8qMHgwNTNmKi8g
NDU5LAorICAgICAgLTEsCisgICAgICAvKjB4MDBjMSovIDI3LAorICAgICAgLTEsIC0xLCAtMSwg
LTEsIC0xLAorICAgICAgLyoweDFjOWYqLyA1NTQsCisgICAgICAvKjB4MTBjOWYqLyAxMzY3LAor
ICAgICAgLyoweGZiMTMqLyAxMjI5LAorICAgICAgLyoweDI0YzEqLyA4OTYsCisgICAgICAvKjB4
MWU5MWYqLyAxNDgyLAorICAgICAgLTEsCisgICAgICAvKjB4MTNmOCovIDUyNCwKKyAgICAgIC8q
MHhhNzY0Ki8gMTA5NSwKKyAgICAgIC8qMHgxMDRjMSovIDEzMTcsCisgICAgICAtMSwKKyAgICAg
IC8qMHgwNGMxKi8gMzkwLAorICAgICAgLyoweDA1NDEqLyA0NjEsCisgICAgICAvKjB4YWI3OSov
IDExNTEsCisgICAgICAtMSwgLTEsCisgICAgICAvKjB4MTA0MTUqLyAxMjgxLAorICAgICAgLyow
eDFmOTUqLyA3ODgsCisgICAgICAvKjB4MDQxNSovIDMxOCwKKyAgICAgIC8qMHgxZWY4Ki8gNzEx
LAorICAgICAgLTEsCisgICAgICAvKjB4YWI5NSovIDExNzksCisgICAgICAvKjB4YTc2MCovIDEw
OTMsCisgICAgICAtMSwgLTEsCisgICAgICAvKjB4MDM5NSovIDI0NiwKKyAgICAgIC0xLCAtMSwK
KyAgICAgIC8qMHgyYzE1Ki8gOTMyLAorICAgICAgLTEsIC0xLAorICAgICAgLyoweDEwYmIqLyA1
MTEsCisgICAgICAvKjB4MjE2YSovIDg3OCwKKyAgICAgIC8qMHgyNGJkKi8gODkyLAorICAgICAg
LTEsCisgICAgICAvKjB4MTE4YWQqLyAxNDAwLAorICAgICAgLTEsCisgICAgICAvKjB4MWYzZCov
IDc0MiwKKyAgICAgIC8qMHgxMDRiZCovIDEzMTMsCisgICAgICAtMSwKKyAgICAgIC8qMHgwNDdl
Ki8gMzYwLAorICAgICAgLyoweDA1M2QqLyA0NTcsCisgICAgICAvKjB4MTZlNTIqLyAxNDM3LAor
ICAgICAgLTEsIC0xLCAtMSwKKyAgICAgIC8qMHgwMWZlKi8gMTg5LAorICAgICAgLyoweDAzZmUq
LyAyOTUsCisgICAgICAvKjB4MTZlNGMqLyAxNDMxLAorICAgICAgLyoweGFiN2IqLyAxMTUzLAor
ICAgICAgLyoweDJjN2UqLyA5NzEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAv
KjB4MWYxZCovIDcyOCwKKyAgICAgIC8qMHhhNzZlKi8gMTEwMCwKKyAgICAgIC8qMHhmZjJkKi8g
MTI0NiwKKyAgICAgIC0xLCAtMSwgLTEsCisgICAgICAvKjB4MTE4YTUqLyAxMzkyLAorICAgICAg
LyoweDFjOTUqLyA1NDQsCisgICAgICAvKjB4MTBjOTUqLyAxMzU3LAorICAgICAgLTEsCisgICAg
ICAvKjB4YTc2NiovIDEwOTYsCisgICAgICAvKjB4MWU5MTUqLyAxNDcyLAorICAgICAgLTEsCisg
ICAgICAvKjB4YTc1ZSovIDEwOTIsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAg
ICAgLyoweDEwYjEqLyA1MDEsCisgICAgICAvKjB4MWU3NiovIDY0NCwKKyAgICAgIC8qMHgxZWZl
Ki8gNzE0LAorICAgICAgLyoweDIxNjgqLyA4NzYsCisgICAgICAvKjB4MWYxYiovIDcyNiwKKyAg
ICAgIC0xLAorICAgICAgLyoweDEwNDExKi8gMTI3NywKKyAgICAgIC8qMHgxZjkxKi8gNzg0LAor
ICAgICAgLyoweDA0MTEqLyAzMTQsCisgICAgICAvKjB4ZmYyNSovIDEyMzgsCisgICAgICAtMSwK
KyAgICAgIC8qMHhhYjkxKi8gMTE3NSwKKyAgICAgIC8qMHgyNGJiKi8gODkwLAorICAgICAgLTEs
CisgICAgICAvKjB4MDE5MSovIDEzMiwKKyAgICAgIC8qMHgwMzkxKi8gMjQyLAorICAgICAgLyow
eDFmM2IqLyA3NDAsCisgICAgICAvKjB4MTA0YmIqLyAxMzExLAorICAgICAgLyoweDJjMTEqLyA5
MjgsCisgICAgICAvKjB4MTE4YmYqLyAxNDE4LAorICAgICAgLyoweDA1M2IqLyA0NTUsCisgICAg
ICAtMSwgLTEsCisgICAgICAvKjB4YWI3ZCovIDExNTUsCisgICAgICAtMSwgLTEsCisgICAgICAv
KjB4MTBiNyovIDUwNywKKyAgICAgIC8qMHgxMThhMyovIDEzOTAsCisgICAgICAvKjB4MTA0MGYq
LyAxMjc1LAorICAgICAgLyoweDFmOGYqLyA3ODIsCisgICAgICAvKjB4MDQwZiovIDMxMiwKKyAg
ICAgIC0xLCAtMSwKKyAgICAgIC8qMHhhYjhmKi8gMTE3MywKKyAgICAgIC0xLAorICAgICAgLyow
eDA0ZjYqLyA0MTYsCisgICAgICAvKjB4MDE4ZiovIDEzMCwKKyAgICAgIC8qMHgwMzhmKi8gMjQw
LAorICAgICAgLTEsIC0xLAorICAgICAgLyoweDJjMGYqLyA5MjYsCisgICAgICAtMSwKKyAgICAg
IC8qMHgxNmU0YSovIDE0MjksCisgICAgICAtMSwKKyAgICAgIC8qMHgxMDQwYiovIDEyNzEsCisg
ICAgICAvKjB4MWY4YiovIDc3OCwKKyAgICAgIC8qMHgwNDBiKi8gMzA4LAorICAgICAgLTEsCisg
ICAgICAvKjB4YTc1YyovIDEwOTEsCisgICAgICAvKjB4YWI4YiovIDExNjksCisgICAgICAvKjB4
ZmYyMyovIDEyMzYsCisgICAgICAtMSwKKyAgICAgIC8qMHgwMThiKi8gMTI4LAorICAgICAgLyow
eDFjOTEqLyA1NDAsCisgICAgICAvKjB4MTBjOTEqLyAxMzUzLAorICAgICAgLTEsCisgICAgICAv
KjB4MmMwYiovIDkyMiwKKyAgICAgIC8qMHgxZTkxMSovIDE0NjgsCisgICAgICAtMSwKKyAgICAg
IC8qMHgyMTY0Ki8gODcyLAorICAgICAgLyoweGFiNzcqLyAxMTQ5LAorICAgICAgLTEsCisgICAg
ICAvKjB4MTA0YjEqLyAxMzAxLAorICAgICAgLTEsCisgICAgICAvKjB4ZmIxNSovIDEyMzEsCisg
ICAgICAvKjB4MDUzMSovIDQ0NSwKKyAgICAgIC0xLAorICAgICAgLyoweDExOGJkKi8gMTQxNiwK
KyAgICAgIC8qMHgxNmU0NCovIDE0MjMsCisgICAgICAvKjB4MTZlNGYqLyAxNDM0LAorICAgICAg
LTEsCisgICAgICAvKjB4MWU3YSovIDY0NiwKKyAgICAgIC0xLAorICAgICAgLyoweDIxNjAqLyA4
NjgsCisgICAgICAvKjB4MWYxOSovIDcyNCwKKyAgICAgIC8qMHgxMGI1Ki8gNTA1LAorICAgICAg
LyoweDEwYzhmKi8gMTM1MSwKKyAgICAgIC0xLCAtMSwKKyAgICAgIC8qMHgxZTkwZiovIDE0NjYs
CisgICAgICAtMSwgLTEsCisgICAgICAvKjB4YTc4YiovIDExMDksCisgICAgICAvKjB4MjRiNyov
IDg4NiwKKyAgICAgIC8qMHgxMDQwNSovIDEyNjUsCisgICAgICAvKjB4MWY4NSovIDc3MiwKKyAg
ICAgIC8qMHgwNDA1Ki8gMzAyLAorICAgICAgLTEsCisgICAgICAvKjB4MTA0YjcqLyAxMzA3LAor
ICAgICAgLyoweGFiODUqLyAxMTYzLAorICAgICAgLyoweDEwYjMqLyA1MDMsCisgICAgICAvKjB4
MDUzNyovIDQ1MSwKKyAgICAgIC8qMHgxMGM4YiovIDEzNDcsCisgICAgICAtMSwKKyAgICAgIC8q
MHgxNmU0MiovIDE0MjEsCisgICAgICAvKjB4MWU5MGIqLyAxNDYyLAorICAgICAgLyoweDJjMDUq
LyA5MTYsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAvKjB4MTA0MDEqLyAxMjYx
LAorICAgICAgLyoweDFmODEqLyA3NjgsCisgICAgICAvKjB4MDQwMSovIDI5OCwKKyAgICAgIC8q
MHgwNGZhKi8gNDE4LAorICAgICAgLyoweDE2ZTQ4Ki8gMTQyNywKKyAgICAgIC8qMHhhYjgxKi8g
MTE1OSwKKyAgICAgIC8qMHgyMTZlKi8gODgyLAorICAgICAgLTEsCisgICAgICAvKjB4MDE4MSov
IDEyMSwKKyAgICAgIC0xLCAtMSwgLTEsCisgICAgICAvKjB4MmMwMSovIDkxMiwKKyAgICAgIC0x
LCAtMSwKKyAgICAgIC8qMHgyMTY2Ki8gODc0LAorICAgICAgLTEsIC0xLCAtMSwgLTEsCisgICAg
ICAvKjB4MTE4YmIqLyAxNDE0LAorICAgICAgLyoweDAwYjUqLyAyNSwKKyAgICAgIC0xLCAtMSwg
LTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwKKyAgICAgIC8qMHgxYzg1Ki8gNTM1LAorICAgICAg
LyoweDEwYzg1Ki8gMTM0MSwKKyAgICAgIC0xLCAtMSwKKyAgICAgIC8qMHgxZTkwNSovIDE0NTYs
CisgICAgICAtMSwKKyAgICAgIC8qMHgxMDRiNSovIDEzMDUsCisgICAgICAtMSwgLTEsCisgICAg
ICAvKjB4MDUzNSovIDQ0OSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLyoweDE2ZTUw
Ki8gMTQzNSwKKyAgICAgIC0xLAorICAgICAgLyoweDE2ZTU2Ki8gMTQ0MSwKKyAgICAgIC0xLAor
ICAgICAgLyoweDFjODEqLyA1MzEsCisgICAgICAvKjB4MTBjODEqLyAxMzM3LAorICAgICAgLTEs
CisgICAgICAvKjB4MTA0YjMqLyAxMzAzLAorICAgICAgLyoweDFlOTAxKi8gMTQ1MiwKKyAgICAg
IC0xLAorICAgICAgLyoweDA1MzMqLyA0NDcsCisgICAgICAvKjB4MTZlNWIqLyAxNDQ2LAorICAg
ICAgLTEsCisgICAgICAvKjB4MWU3OCovIDY0NSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwg
LTEsCisgICAgICAtMSwgLTEsCisgICAgICAvKjB4MTE4YjEqLyAxNDA0LAorICAgICAgLTEsIC0x
LCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAt
MSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAvKjB4MTZlNDYqLyAxNDI1LAorICAgICAgLyoweGFi
NzAqLyAxMTQyLAorICAgICAgLTEsIC0xLCAtMSwKKyAgICAgIC8qMHhmZjMxKi8gMTI1MCwKKyAg
ICAgIC8qMHgxNmU0ZSovIDE0MzMsCisgICAgICAvKjB4MDRmOCovIDQxNywKKyAgICAgIC8qMHgx
MThiNyovIDE0MTAsCisgICAgICAtMSwgLTEsIC0xLAorICAgICAgLyoweDE2ZTVhKi8gMTQ0NSwK
KyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwKKyAg
ICAgIC8qMHhmYjA1Ki8gMTIyNywKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAg
ICAtMSwKKyAgICAgIC8qMHhmZjM3Ki8gMTI1NiwKKyAgICAgIC8qMHgxZTdlKi8gNjQ4LAorICAg
ICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC0xLCAtMSwKKyAgICAgIC8qMHhmYjAx
Ki8gMTIyMywKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0x
LAorICAgICAgLyoweDE2ZTQwKi8gMTQxOSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAg
ICAgIC8qMHgxMThiNSovIDE0MDgsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAg
ICAgLTEsIC0xLAorICAgICAgLyoweDA0ZmUqLyA0MjAsCisgICAgICAtMSwgLTEsIC0xLCAtMSwg
LTEsCisgICAgICAvKjB4MTE4YjMqLyAxNDA2LAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAt
MSwKKyAgICAgIC0xLAorICAgICAgLyoweGZmMzUqLyAxMjU0LAorICAgICAgLTEsIC0xLCAtMSwg
LTEsIC0xLCAtMSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEs
CisgICAgICAvKjB4ZmYzMyovIDEyNTIsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAg
ICAvKjB4MTZlNTQqLyAxNDM5LAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAg
IC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAor
ICAgICAgLTEsIC0xLCAtMSwKKyAgICAgIC8qMHgxNmU1OCovIDE0NDMsCisgICAgICAtMSwgLTEs
IC0xLCAtMSwgLTEsCisgICAgICAvKjB4MWYwZiovIDcyMiwKKyAgICAgIC0xLCAtMSwgLTEsIC0x
LCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLTEsIC0xLCAt
MSwKKyAgICAgIC8qMHgxZjBiKi8gNzE4LAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwK
KyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEs
IC0xLAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC0xLCAtMSwgLTEsIC0x
LCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAvKjB4MTZlNTUqLyAx
NDQwLAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC0xLCAtMSwgLTEsIC0x
LCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLTEsIC0xLCAt
MSwgLTEsIC0xLCAtMSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwg
LTEsIC0xLCAtMSwKKyAgICAgIC8qMHgxNmU0NSovIDE0MjQsCisgICAgICAtMSwgLTEsIC0xLCAt
MSwgLTEsIC0xLAorICAgICAgLTEsIC0xLCAtMSwKKyAgICAgIC8qMHgxNmU1OSovIDE0NDQsCisg
ICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAt
MSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwK
KyAgICAgIC8qMHhhNzdlKi8gMTEwNCwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisg
ICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAt
MSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwg
LTEsCisgICAgICAvKjB4MTZlNDkqLyAxNDI4LAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAt
MSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwg
LTEsIC0xLAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC0xLCAtMSwgLTEs
IC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLTEsIC0x
LAorICAgICAgLyoweDE2ZTQzKi8gMTQyMiwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEs
CisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0x
LCAtMSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAt
MSwgLTEsIC0xLAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC0xLCAtMSwK
KyAgICAgIC8qMHgxNmU0YiovIDE0MzAsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAor
ICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwg
LTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLTEsIC0xLCAtMSwgLTEs
IC0xLCAtMSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0x
LCAtMSwgLTEsIC0xLAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC0xLCAt
MSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAg
LTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisg
ICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAt
MSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwg
LTEsIC0xLAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC8qMHgxNmU1ZSov
IDE0NDksCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLTEsIC0xLCAtMSwg
LTEsIC0xLCAtMSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEs
IC0xLAorICAgICAgLyoweDE2ZTUxKi8gMTQzNiwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwg
LTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLTEsIC0xLCAtMSwgLTEs
IC0xLCAtMSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0x
LCAtMSwgLTEsIC0xLAorICAgICAgLTEsIC0xLAorICAgICAgLyoweDE2ZTVjKi8gMTQ0NywKKyAg
ICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0x
LAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAt
MSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLTEsIC0xLCAtMSwg
LTEsIC0xLAorICAgICAgLyoweDE2ZTRkKi8gMTQzMiwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAt
MSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLTEsIC0xLCAtMSwg
LTEsIC0xLCAtMSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEs
IC0xLCAtMSwgLTEsIC0xLAorICAgICAgLTEsIC0xLCAtMSwKKyAgICAgIC8qMHgxNmU0MSovIDE0
MjAsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLTEsIC0xLCAtMSwgLTEs
IC0xLCAtMSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0x
LCAtMSwgLTEsIC0xLAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC0xLCAt
MSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAg
LTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisg
ICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAt
MSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwg
LTEsIC0xLAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC0xLCAtMSwgLTEs
IC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLTEsIC0x
LCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAt
MSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAg
ICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0x
LAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAt
MSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLTEsIC0xLCAtMSwg
LTEsIC0xLCAtMSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEs
IC0xLCAtMSwgLTEsIC0xLAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC0x
LCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAg
ICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEs
CisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0x
LCAtMSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAt
MSwgLTEsIC0xLAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC0xLCAtMSwg
LTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLTEs
IC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAg
ICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwK
KyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEs
IC0xLAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC0xLCAtMSwgLTEsIC0x
LCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLTEsIC0xLCAt
MSwgLTEsIC0xLCAtMSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwg
LTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAg
IC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAor
ICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC0xLAorICAgICAgLyoweGFiNzQq
LyAxMTQ2LAorICAgICAgLTEsIC0xLCAtMSwgLTEsCisgICAgICAvKjB4YWI3YyovIDExNTQsCisg
ICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAt
MSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwg
LTEsIC0xLAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC0xLCAtMSwgLTEs
IC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLTEsIC0x
LCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAt
MSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAg
ICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0x
LAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAt
MSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLyoweGFiNzIqLyAx
MTQ0LAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC0xLCAtMSwgLTEsIC0x
LCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLTEsIC0xLCAt
MSwgLTEsIC0xLCAtMSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwg
LTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAg
IC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAor
ICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwg
LTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLTEsIC0xLCAtMSwgLTEs
IC0xLCAtMSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0x
LCAtMSwgLTEsIC0xLAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC0xLCAt
MSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAg
LTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisg
ICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAt
MSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwg
LTEsIC0xLAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC0xLCAtMSwgLTEs
IC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC8qMHhhYjc2Ki8gMTE0
OCwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwg
LTEsIC0xLAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC0xLCAtMSwgLTEs
IC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLTEsIC0x
LCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAt
MSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAg
ICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0x
LAorICAgICAgLTEsIC0xLCAtMSwKKyAgICAgIC8qMHhhYjdhKi8gMTE1MiwKKyAgICAgIC0xLCAt
MSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAg
LTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisg
ICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAt
MSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwg
LTEsIC0xLAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC0xLCAtMSwgLTEs
IC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLTEsIC0x
LCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAt
MSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLTEsIC0xLAorICAgICAgLyoweGFiNzgqLyAx
MTUwLAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC0xLCAtMSwgLTEsIC0x
LCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLTEsIC0xLCAt
MSwgLTEsIC0xLCAtMSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwg
LTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAg
IC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAor
ICAgICAgLTEsIC0xLCAtMSwgLTEsCisgICAgICAvKjB4YWI3ZSovIDExNTYKKyAgICB9OworCisg
IGlmIChjb2RlIDw9IE1BWF9DT0RFX1ZBTFVFICYmIGNvZGUgPj0gTUlOX0NPREVfVkFMVUUpCisg
ICAgeworICAgICAgcmVnaXN0ZXIgdW5zaWduZWQgaW50IGtleSA9IG9uaWdlbmNfdW5pY29kZV9D
YXNlRm9sZF8xMV9oYXNoKGNvZGUpOworCisgICAgICBpZiAoa2V5IDw9IE1BWF9IQVNIX1ZBTFVF
KQorICAgICAgICB7CisgICAgICAgICAgcmVnaXN0ZXIgc2hvcnQgcyA9IHdvcmRsaXN0W2tleV07
CisKKyAgICAgICAgICBpZiAocyA+PSAwICYmIGNvZGUxX2VxdWFsKGNvZGUsIENhc2VGb2xkXzEx
X1RhYmxlW3NdLmZyb20pKQorICAgICAgICAgICAgcmV0dXJuICZDYXNlRm9sZF8xMV9UYWJsZVtz
XS50bzsKKyAgICAgICAgfQorICAgIH0KKyAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBjb25zdCBD
YXNlVW5mb2xkXzExX1R5cGUgQ2FzZVVuZm9sZF8xMV9UYWJsZVtdID0geworI2RlZmluZSBDYXNl
VW5mb2xkXzExICgqKENhc2VVbmZvbGRfMTFfVHlwZSAoKilbMTM1Ml0pKENhc2VVbmZvbGRfMTFf
VGFibGUrMCkpCisgIHsweDAwNjEsIHsxfFUsIHsweDAwNDF9fX0sCisgIHsweDAwNjIsIHsxfFUs
IHsweDAwNDJ9fX0sCisgIHsweDAwNjMsIHsxfFUsIHsweDAwNDN9fX0sCisgIHsweDAwNjQsIHsx
fFUsIHsweDAwNDR9fX0sCisgIHsweDAwNjUsIHsxfFUsIHsweDAwNDV9fX0sCisgIHsweDAwNjYs
IHsxfFUsIHsweDAwNDZ9fX0sCisgIHsweDAwNjcsIHsxfFUsIHsweDAwNDd9fX0sCisgIHsweDAw
NjgsIHsxfFUsIHsweDAwNDh9fX0sCisgIHsweDAwNmEsIHsxfFUsIHsweDAwNGF9fX0sCisgIHsw
eDAwNmIsIHsyfFUsIHsweDAwNGIsIDB4MjEyYX19fSwKKyAgezB4MDA2YywgezF8VSwgezB4MDA0
Y319fSwKKyAgezB4MDA2ZCwgezF8VSwgezB4MDA0ZH19fSwKKyAgezB4MDA2ZSwgezF8VSwgezB4
MDA0ZX19fSwKKyAgezB4MDA2ZiwgezF8VSwgezB4MDA0Zn19fSwKKyAgezB4MDA3MCwgezF8VSwg
ezB4MDA1MH19fSwKKyAgezB4MDA3MSwgezF8VSwgezB4MDA1MX19fSwKKyAgezB4MDA3MiwgezF8
VSwgezB4MDA1Mn19fSwKKyAgezB4MDA3MywgezJ8VSwgezB4MDA1MywgMHgwMTdmfX19LAorICB7
MHgwMDc0LCB7MXxVLCB7MHgwMDU0fX19LAorICB7MHgwMDc1LCB7MXxVLCB7MHgwMDU1fX19LAor
ICB7MHgwMDc2LCB7MXxVLCB7MHgwMDU2fX19LAorICB7MHgwMDc3LCB7MXxVLCB7MHgwMDU3fX19
LAorICB7MHgwMDc4LCB7MXxVLCB7MHgwMDU4fX19LAorICB7MHgwMDc5LCB7MXxVLCB7MHgwMDU5
fX19LAorICB7MHgwMDdhLCB7MXxVLCB7MHgwMDVhfX19LAorICB7MHgwMGUwLCB7MXxVLCB7MHgw
MGMwfX19LAorICB7MHgwMGUxLCB7MXxVLCB7MHgwMGMxfX19LAorICB7MHgwMGUyLCB7MXxVLCB7
MHgwMGMyfX19LAorICB7MHgwMGUzLCB7MXxVLCB7MHgwMGMzfX19LAorICB7MHgwMGU0LCB7MXxV
LCB7MHgwMGM0fX19LAorICB7MHgwMGU1LCB7MnxVLCB7MHgwMGM1LCAweDIxMmJ9fX0sCisgIHsw
eDAwZTYsIHsxfFUsIHsweDAwYzZ9fX0sCisgIHsweDAwZTcsIHsxfFUsIHsweDAwYzd9fX0sCisg
IHsweDAwZTgsIHsxfFUsIHsweDAwYzh9fX0sCisgIHsweDAwZTksIHsxfFUsIHsweDAwYzl9fX0s
CisgIHsweDAwZWEsIHsxfFUsIHsweDAwY2F9fX0sCisgIHsweDAwZWIsIHsxfFUsIHsweDAwY2J9
fX0sCisgIHsweDAwZWMsIHsxfFUsIHsweDAwY2N9fX0sCisgIHsweDAwZWQsIHsxfFUsIHsweDAw
Y2R9fX0sCisgIHsweDAwZWUsIHsxfFUsIHsweDAwY2V9fX0sCisgIHsweDAwZWYsIHsxfFUsIHsw
eDAwY2Z9fX0sCisgIHsweDAwZjAsIHsxfFUsIHsweDAwZDB9fX0sCisgIHsweDAwZjEsIHsxfFUs
IHsweDAwZDF9fX0sCisgIHsweDAwZjIsIHsxfFUsIHsweDAwZDJ9fX0sCisgIHsweDAwZjMsIHsx
fFUsIHsweDAwZDN9fX0sCisgIHsweDAwZjQsIHsxfFUsIHsweDAwZDR9fX0sCisgIHsweDAwZjUs
IHsxfFUsIHsweDAwZDV9fX0sCisgIHsweDAwZjYsIHsxfFUsIHsweDAwZDZ9fX0sCisgIHsweDAw
ZjgsIHsxfFUsIHsweDAwZDh9fX0sCisgIHsweDAwZjksIHsxfFUsIHsweDAwZDl9fX0sCisgIHsw
eDAwZmEsIHsxfFUsIHsweDAwZGF9fX0sCisgIHsweDAwZmIsIHsxfFUsIHsweDAwZGJ9fX0sCisg
IHsweDAwZmMsIHsxfFUsIHsweDAwZGN9fX0sCisgIHsweDAwZmQsIHsxfFUsIHsweDAwZGR9fX0s
CisgIHsweDAwZmUsIHsxfFUsIHsweDAwZGV9fX0sCisgIHsweDAwZmYsIHsxfFUsIHsweDAxNzh9
fX0sCisgIHsweDAxMDEsIHsxfFUsIHsweDAxMDB9fX0sCisgIHsweDAxMDMsIHsxfFUsIHsweDAx
MDJ9fX0sCisgIHsweDAxMDUsIHsxfFUsIHsweDAxMDR9fX0sCisgIHsweDAxMDcsIHsxfFUsIHsw
eDAxMDZ9fX0sCisgIHsweDAxMDksIHsxfFUsIHsweDAxMDh9fX0sCisgIHsweDAxMGIsIHsxfFUs
IHsweDAxMGF9fX0sCisgIHsweDAxMGQsIHsxfFUsIHsweDAxMGN9fX0sCisgIHsweDAxMGYsIHsx
fFUsIHsweDAxMGV9fX0sCisgIHsweDAxMTEsIHsxfFUsIHsweDAxMTB9fX0sCisgIHsweDAxMTMs
IHsxfFUsIHsweDAxMTJ9fX0sCisgIHsweDAxMTUsIHsxfFUsIHsweDAxMTR9fX0sCisgIHsweDAx
MTcsIHsxfFUsIHsweDAxMTZ9fX0sCisgIHsweDAxMTksIHsxfFUsIHsweDAxMTh9fX0sCisgIHsw
eDAxMWIsIHsxfFUsIHsweDAxMWF9fX0sCisgIHsweDAxMWQsIHsxfFUsIHsweDAxMWN9fX0sCisg
IHsweDAxMWYsIHsxfFUsIHsweDAxMWV9fX0sCisgIHsweDAxMjEsIHsxfFUsIHsweDAxMjB9fX0s
CisgIHsweDAxMjMsIHsxfFUsIHsweDAxMjJ9fX0sCisgIHsweDAxMjUsIHsxfFUsIHsweDAxMjR9
fX0sCisgIHsweDAxMjcsIHsxfFUsIHsweDAxMjZ9fX0sCisgIHsweDAxMjksIHsxfFUsIHsweDAx
Mjh9fX0sCisgIHsweDAxMmIsIHsxfFUsIHsweDAxMmF9fX0sCisgIHsweDAxMmQsIHsxfFUsIHsw
eDAxMmN9fX0sCisgIHsweDAxMmYsIHsxfFUsIHsweDAxMmV9fX0sCisgIHsweDAxMzMsIHsxfFUs
IHsweDAxMzJ9fX0sCisgIHsweDAxMzUsIHsxfFUsIHsweDAxMzR9fX0sCisgIHsweDAxMzcsIHsx
fFUsIHsweDAxMzZ9fX0sCisgIHsweDAxM2EsIHsxfFUsIHsweDAxMzl9fX0sCisgIHsweDAxM2Ms
IHsxfFUsIHsweDAxM2J9fX0sCisgIHsweDAxM2UsIHsxfFUsIHsweDAxM2R9fX0sCisgIHsweDAx
NDAsIHsxfFUsIHsweDAxM2Z9fX0sCisgIHsweDAxNDIsIHsxfFUsIHsweDAxNDF9fX0sCisgIHsw
eDAxNDQsIHsxfFUsIHsweDAxNDN9fX0sCisgIHsweDAxNDYsIHsxfFUsIHsweDAxNDV9fX0sCisg
IHsweDAxNDgsIHsxfFUsIHsweDAxNDd9fX0sCisgIHsweDAxNGIsIHsxfFUsIHsweDAxNGF9fX0s
CisgIHsweDAxNGQsIHsxfFUsIHsweDAxNGN9fX0sCisgIHsweDAxNGYsIHsxfFUsIHsweDAxNGV9
fX0sCisgIHsweDAxNTEsIHsxfFUsIHsweDAxNTB9fX0sCisgIHsweDAxNTMsIHsxfFUsIHsweDAx
NTJ9fX0sCisgIHsweDAxNTUsIHsxfFUsIHsweDAxNTR9fX0sCisgIHsweDAxNTcsIHsxfFUsIHsw
eDAxNTZ9fX0sCisgIHsweDAxNTksIHsxfFUsIHsweDAxNTh9fX0sCisgIHsweDAxNWIsIHsxfFUs
IHsweDAxNWF9fX0sCisgIHsweDAxNWQsIHsxfFUsIHsweDAxNWN9fX0sCisgIHsweDAxNWYsIHsx
fFUsIHsweDAxNWV9fX0sCisgIHsweDAxNjEsIHsxfFUsIHsweDAxNjB9fX0sCisgIHsweDAxNjMs
IHsxfFUsIHsweDAxNjJ9fX0sCisgIHsweDAxNjUsIHsxfFUsIHsweDAxNjR9fX0sCisgIHsweDAx
NjcsIHsxfFUsIHsweDAxNjZ9fX0sCisgIHsweDAxNjksIHsxfFUsIHsweDAxNjh9fX0sCisgIHsw
eDAxNmIsIHsxfFUsIHsweDAxNmF9fX0sCisgIHsweDAxNmQsIHsxfFUsIHsweDAxNmN9fX0sCisg
IHsweDAxNmYsIHsxfFUsIHsweDAxNmV9fX0sCisgIHsweDAxNzEsIHsxfFUsIHsweDAxNzB9fX0s
CisgIHsweDAxNzMsIHsxfFUsIHsweDAxNzJ9fX0sCisgIHsweDAxNzUsIHsxfFUsIHsweDAxNzR9
fX0sCisgIHsweDAxNzcsIHsxfFUsIHsweDAxNzZ9fX0sCisgIHsweDAxN2EsIHsxfFUsIHsweDAx
Nzl9fX0sCisgIHsweDAxN2MsIHsxfFUsIHsweDAxN2J9fX0sCisgIHsweDAxN2UsIHsxfFUsIHsw
eDAxN2R9fX0sCisgIHsweDAxODAsIHsxfFUsIHsweDAyNDN9fX0sCisgIHsweDAxODMsIHsxfFUs
IHsweDAxODJ9fX0sCisgIHsweDAxODUsIHsxfFUsIHsweDAxODR9fX0sCisgIHsweDAxODgsIHsx
fFUsIHsweDAxODd9fX0sCisgIHsweDAxOGMsIHsxfFUsIHsweDAxOGJ9fX0sCisgIHsweDAxOTIs
IHsxfFUsIHsweDAxOTF9fX0sCisgIHsweDAxOTUsIHsxfFUsIHsweDAxZjZ9fX0sCisgIHsweDAx
OTksIHsxfFUsIHsweDAxOTh9fX0sCisgIHsweDAxOWEsIHsxfFUsIHsweDAyM2R9fX0sCisgIHsw
eDAxOWUsIHsxfFUsIHsweDAyMjB9fX0sCisgIHsweDAxYTEsIHsxfFUsIHsweDAxYTB9fX0sCisg
IHsweDAxYTMsIHsxfFUsIHsweDAxYTJ9fX0sCisgIHsweDAxYTUsIHsxfFUsIHsweDAxYTR9fX0s
CisgIHsweDAxYTgsIHsxfFUsIHsweDAxYTd9fX0sCisgIHsweDAxYWQsIHsxfFUsIHsweDAxYWN9
fX0sCisgIHsweDAxYjAsIHsxfFUsIHsweDAxYWZ9fX0sCisgIHsweDAxYjQsIHsxfFUsIHsweDAx
YjN9fX0sCisgIHsweDAxYjYsIHsxfFUsIHsweDAxYjV9fX0sCisgIHsweDAxYjksIHsxfFUsIHsw
eDAxYjh9fX0sCisgIHsweDAxYmQsIHsxfFUsIHsweDAxYmN9fX0sCisgIHsweDAxYmYsIHsxfFUs
IHsweDAxZjd9fX0sCisgIHsweDAxYzYsIHsyfFV8U1QsIHsweDAxYzQsIDB4MDFjNX19fSwKKyAg
ezB4MDFjOSwgezJ8VXxTVCwgezB4MDFjNywgMHgwMWM4fX19LAorICB7MHgwMWNjLCB7MnxVfFNU
LCB7MHgwMWNhLCAweDAxY2J9fX0sCisgIHsweDAxY2UsIHsxfFUsIHsweDAxY2R9fX0sCisgIHsw
eDAxZDAsIHsxfFUsIHsweDAxY2Z9fX0sCisgIHsweDAxZDIsIHsxfFUsIHsweDAxZDF9fX0sCisg
IHsweDAxZDQsIHsxfFUsIHsweDAxZDN9fX0sCisgIHsweDAxZDYsIHsxfFUsIHsweDAxZDV9fX0s
CisgIHsweDAxZDgsIHsxfFUsIHsweDAxZDd9fX0sCisgIHsweDAxZGEsIHsxfFUsIHsweDAxZDl9
fX0sCisgIHsweDAxZGMsIHsxfFUsIHsweDAxZGJ9fX0sCisgIHsweDAxZGQsIHsxfFUsIHsweDAx
OGV9fX0sCisgIHsweDAxZGYsIHsxfFUsIHsweDAxZGV9fX0sCisgIHsweDAxZTEsIHsxfFUsIHsw
eDAxZTB9fX0sCisgIHsweDAxZTMsIHsxfFUsIHsweDAxZTJ9fX0sCisgIHsweDAxZTUsIHsxfFUs
IHsweDAxZTR9fX0sCisgIHsweDAxZTcsIHsxfFUsIHsweDAxZTZ9fX0sCisgIHsweDAxZTksIHsx
fFUsIHsweDAxZTh9fX0sCisgIHsweDAxZWIsIHsxfFUsIHsweDAxZWF9fX0sCisgIHsweDAxZWQs
IHsxfFUsIHsweDAxZWN9fX0sCisgIHsweDAxZWYsIHsxfFUsIHsweDAxZWV9fX0sCisgIHsweDAx
ZjMsIHsyfFV8U1QsIHsweDAxZjEsIDB4MDFmMn19fSwKKyAgezB4MDFmNSwgezF8VSwgezB4MDFm
NH19fSwKKyAgezB4MDFmOSwgezF8VSwgezB4MDFmOH19fSwKKyAgezB4MDFmYiwgezF8VSwgezB4
MDFmYX19fSwKKyAgezB4MDFmZCwgezF8VSwgezB4MDFmY319fSwKKyAgezB4MDFmZiwgezF8VSwg
ezB4MDFmZX19fSwKKyAgezB4MDIwMSwgezF8VSwgezB4MDIwMH19fSwKKyAgezB4MDIwMywgezF8
VSwgezB4MDIwMn19fSwKKyAgezB4MDIwNSwgezF8VSwgezB4MDIwNH19fSwKKyAgezB4MDIwNywg
ezF8VSwgezB4MDIwNn19fSwKKyAgezB4MDIwOSwgezF8VSwgezB4MDIwOH19fSwKKyAgezB4MDIw
YiwgezF8VSwgezB4MDIwYX19fSwKKyAgezB4MDIwZCwgezF8VSwgezB4MDIwY319fSwKKyAgezB4
MDIwZiwgezF8VSwgezB4MDIwZX19fSwKKyAgezB4MDIxMSwgezF8VSwgezB4MDIxMH19fSwKKyAg
ezB4MDIxMywgezF8VSwgezB4MDIxMn19fSwKKyAgezB4MDIxNSwgezF8VSwgezB4MDIxNH19fSwK
KyAgezB4MDIxNywgezF8VSwgezB4MDIxNn19fSwKKyAgezB4MDIxOSwgezF8VSwgezB4MDIxOH19
fSwKKyAgezB4MDIxYiwgezF8VSwgezB4MDIxYX19fSwKKyAgezB4MDIxZCwgezF8VSwgezB4MDIx
Y319fSwKKyAgezB4MDIxZiwgezF8VSwgezB4MDIxZX19fSwKKyAgezB4MDIyMywgezF8VSwgezB4
MDIyMn19fSwKKyAgezB4MDIyNSwgezF8VSwgezB4MDIyNH19fSwKKyAgezB4MDIyNywgezF8VSwg
ezB4MDIyNn19fSwKKyAgezB4MDIyOSwgezF8VSwgezB4MDIyOH19fSwKKyAgezB4MDIyYiwgezF8
VSwgezB4MDIyYX19fSwKKyAgezB4MDIyZCwgezF8VSwgezB4MDIyY319fSwKKyAgezB4MDIyZiwg
ezF8VSwgezB4MDIyZX19fSwKKyAgezB4MDIzMSwgezF8VSwgezB4MDIzMH19fSwKKyAgezB4MDIz
MywgezF8VSwgezB4MDIzMn19fSwKKyAgezB4MDIzYywgezF8VSwgezB4MDIzYn19fSwKKyAgezB4
MDIzZiwgezF8VSwgezB4MmM3ZX19fSwKKyAgezB4MDI0MCwgezF8VSwgezB4MmM3Zn19fSwKKyAg
ezB4MDI0MiwgezF8VSwgezB4MDI0MX19fSwKKyAgezB4MDI0NywgezF8VSwgezB4MDI0Nn19fSwK
KyAgezB4MDI0OSwgezF8VSwgezB4MDI0OH19fSwKKyAgezB4MDI0YiwgezF8VSwgezB4MDI0YX19
fSwKKyAgezB4MDI0ZCwgezF8VSwgezB4MDI0Y319fSwKKyAgezB4MDI0ZiwgezF8VSwgezB4MDI0
ZX19fSwKKyAgezB4MDI1MCwgezF8VSwgezB4MmM2Zn19fSwKKyAgezB4MDI1MSwgezF8VSwgezB4
MmM2ZH19fSwKKyAgezB4MDI1MiwgezF8VSwgezB4MmM3MH19fSwKKyAgezB4MDI1MywgezF8VSwg
ezB4MDE4MX19fSwKKyAgezB4MDI1NCwgezF8VSwgezB4MDE4Nn19fSwKKyAgezB4MDI1NiwgezF8
VSwgezB4MDE4OX19fSwKKyAgezB4MDI1NywgezF8VSwgezB4MDE4YX19fSwKKyAgezB4MDI1OSwg
ezF8VSwgezB4MDE4Zn19fSwKKyAgezB4MDI1YiwgezF8VSwgezB4MDE5MH19fSwKKyAgezB4MDI1
YywgezF8VSwgezB4YTdhYn19fSwKKyAgezB4MDI2MCwgezF8VSwgezB4MDE5M319fSwKKyAgezB4
MDI2MSwgezF8VSwgezB4YTdhY319fSwKKyAgezB4MDI2MywgezF8VSwgezB4MDE5NH19fSwKKyAg
ezB4MDI2NSwgezF8VSwgezB4YTc4ZH19fSwKKyAgezB4MDI2NiwgezF8VSwgezB4YTdhYX19fSwK
KyAgezB4MDI2OCwgezF8VSwgezB4MDE5N319fSwKKyAgezB4MDI2OSwgezF8VSwgezB4MDE5Nn19
fSwKKyAgezB4MDI2YSwgezF8VSwgezB4YTdhZX19fSwKKyAgezB4MDI2YiwgezF8VSwgezB4MmM2
Mn19fSwKKyAgezB4MDI2YywgezF8VSwgezB4YTdhZH19fSwKKyAgezB4MDI2ZiwgezF8VSwgezB4
MDE5Y319fSwKKyAgezB4MDI3MSwgezF8VSwgezB4MmM2ZX19fSwKKyAgezB4MDI3MiwgezF8VSwg
ezB4MDE5ZH19fSwKKyAgezB4MDI3NSwgezF8VSwgezB4MDE5Zn19fSwKKyAgezB4MDI3ZCwgezF8
VSwgezB4MmM2NH19fSwKKyAgezB4MDI4MCwgezF8VSwgezB4MDFhNn19fSwKKyAgezB4MDI4Miwg
ezF8VSwgezB4YTdjNX19fSwKKyAgezB4MDI4MywgezF8VSwgezB4MDFhOX19fSwKKyAgezB4MDI4
NywgezF8VSwgezB4YTdiMX19fSwKKyAgezB4MDI4OCwgezF8VSwgezB4MDFhZX19fSwKKyAgezB4
MDI4OSwgezF8VSwgezB4MDI0NH19fSwKKyAgezB4MDI4YSwgezF8VSwgezB4MDFiMX19fSwKKyAg
ezB4MDI4YiwgezF8VSwgezB4MDFiMn19fSwKKyAgezB4MDI4YywgezF8VSwgezB4MDI0NX19fSwK
KyAgezB4MDI5MiwgezF8VSwgezB4MDFiN319fSwKKyAgezB4MDI5ZCwgezF8VSwgezB4YTdiMn19
fSwKKyAgezB4MDI5ZSwgezF8VSwgezB4YTdiMH19fSwKKyAgezB4MDM3MSwgezF8VSwgezB4MDM3
MH19fSwKKyAgezB4MDM3MywgezF8VSwgezB4MDM3Mn19fSwKKyAgezB4MDM3NywgezF8VSwgezB4
MDM3Nn19fSwKKyAgezB4MDM3YiwgezF8VSwgezB4MDNmZH19fSwKKyAgezB4MDM3YywgezF8VSwg
ezB4MDNmZX19fSwKKyAgezB4MDM3ZCwgezF8VSwgezB4MDNmZn19fSwKKyAgezB4MDNhYywgezF8
VSwgezB4MDM4Nn19fSwKKyAgezB4MDNhZCwgezF8VSwgezB4MDM4OH19fSwKKyAgezB4MDNhZSwg
ezF8VSwgezB4MDM4OX19fSwKKyAgezB4MDNhZiwgezF8VSwgezB4MDM4YX19fSwKKyAgezB4MDNi
MSwgezF8VSwgezB4MDM5MX19fSwKKyAgezB4MDNiMiwgezJ8VSwgezB4MDM5MiwgMHgwM2QwfX19
LAorICB7MHgwM2IzLCB7MXxVLCB7MHgwMzkzfX19LAorICB7MHgwM2I0LCB7MXxVLCB7MHgwMzk0
fX19LAorICB7MHgwM2I1LCB7MnxVLCB7MHgwMzk1LCAweDAzZjV9fX0sCisgIHsweDAzYjYsIHsx
fFUsIHsweDAzOTZ9fX0sCisgIHsweDAzYjcsIHsxfFUsIHsweDAzOTd9fX0sCisgIHsweDAzYjgs
IHszfFUsIHsweDAzOTgsIDB4MDNkMSwgMHgwM2Y0fX19LAorICB7MHgwM2I5LCB7M3xVLCB7MHgw
Mzk5LCAweDAzNDUsIDB4MWZiZX19fSwKKyAgezB4MDNiYSwgezJ8VSwgezB4MDM5YSwgMHgwM2Yw
fX19LAorICB7MHgwM2JiLCB7MXxVLCB7MHgwMzlifX19LAorICB7MHgwM2JjLCB7MnxVLCB7MHgw
MzljLCAweDAwYjV9fX0sCisgIHsweDAzYmQsIHsxfFUsIHsweDAzOWR9fX0sCisgIHsweDAzYmUs
IHsxfFUsIHsweDAzOWV9fX0sCisgIHsweDAzYmYsIHsxfFUsIHsweDAzOWZ9fX0sCisgIHsweDAz
YzAsIHsyfFUsIHsweDAzYTAsIDB4MDNkNn19fSwKKyAgezB4MDNjMSwgezJ8VSwgezB4MDNhMSwg
MHgwM2YxfX19LAorICB7MHgwM2MzLCB7MnxVLCB7MHgwM2EzLCAweDAzYzJ9fX0sCisgIHsweDAz
YzQsIHsxfFUsIHsweDAzYTR9fX0sCisgIHsweDAzYzUsIHsxfFUsIHsweDAzYTV9fX0sCisgIHsw
eDAzYzYsIHsyfFUsIHsweDAzYTYsIDB4MDNkNX19fSwKKyAgezB4MDNjNywgezF8VSwgezB4MDNh
N319fSwKKyAgezB4MDNjOCwgezF8VSwgezB4MDNhOH19fSwKKyAgezB4MDNjOSwgezJ8VSwgezB4
MDNhOSwgMHgyMTI2fX19LAorICB7MHgwM2NhLCB7MXxVLCB7MHgwM2FhfX19LAorICB7MHgwM2Ni
LCB7MXxVLCB7MHgwM2FifX19LAorICB7MHgwM2NjLCB7MXxVLCB7MHgwMzhjfX19LAorICB7MHgw
M2NkLCB7MXxVLCB7MHgwMzhlfX19LAorICB7MHgwM2NlLCB7MXxVLCB7MHgwMzhmfX19LAorICB7
MHgwM2Q3LCB7MXxVLCB7MHgwM2NmfX19LAorICB7MHgwM2Q5LCB7MXxVLCB7MHgwM2Q4fX19LAor
ICB7MHgwM2RiLCB7MXxVLCB7MHgwM2RhfX19LAorICB7MHgwM2RkLCB7MXxVLCB7MHgwM2RjfX19
LAorICB7MHgwM2RmLCB7MXxVLCB7MHgwM2RlfX19LAorICB7MHgwM2UxLCB7MXxVLCB7MHgwM2Uw
fX19LAorICB7MHgwM2UzLCB7MXxVLCB7MHgwM2UyfX19LAorICB7MHgwM2U1LCB7MXxVLCB7MHgw
M2U0fX19LAorICB7MHgwM2U3LCB7MXxVLCB7MHgwM2U2fX19LAorICB7MHgwM2U5LCB7MXxVLCB7
MHgwM2U4fX19LAorICB7MHgwM2ViLCB7MXxVLCB7MHgwM2VhfX19LAorICB7MHgwM2VkLCB7MXxV
LCB7MHgwM2VjfX19LAorICB7MHgwM2VmLCB7MXxVLCB7MHgwM2VlfX19LAorICB7MHgwM2YyLCB7
MXxVLCB7MHgwM2Y5fX19LAorICB7MHgwM2YzLCB7MXxVLCB7MHgwMzdmfX19LAorICB7MHgwM2Y4
LCB7MXxVLCB7MHgwM2Y3fX19LAorICB7MHgwM2ZiLCB7MXxVLCB7MHgwM2ZhfX19LAorICB7MHgw
NDMwLCB7MXxVLCB7MHgwNDEwfX19LAorICB7MHgwNDMxLCB7MXxVLCB7MHgwNDExfX19LAorICB7
MHgwNDMyLCB7MnxVLCB7MHgwNDEyLCAweDFjODB9fX0sCisgIHsweDA0MzMsIHsxfFUsIHsweDA0
MTN9fX0sCisgIHsweDA0MzQsIHsyfFUsIHsweDA0MTQsIDB4MWM4MX19fSwKKyAgezB4MDQzNSwg
ezF8VSwgezB4MDQxNX19fSwKKyAgezB4MDQzNiwgezF8VSwgezB4MDQxNn19fSwKKyAgezB4MDQz
NywgezF8VSwgezB4MDQxN319fSwKKyAgezB4MDQzOCwgezF8VSwgezB4MDQxOH19fSwKKyAgezB4
MDQzOSwgezF8VSwgezB4MDQxOX19fSwKKyAgezB4MDQzYSwgezF8VSwgezB4MDQxYX19fSwKKyAg
ezB4MDQzYiwgezF8VSwgezB4MDQxYn19fSwKKyAgezB4MDQzYywgezF8VSwgezB4MDQxY319fSwK
KyAgezB4MDQzZCwgezF8VSwgezB4MDQxZH19fSwKKyAgezB4MDQzZSwgezJ8VSwgezB4MDQxZSwg
MHgxYzgyfX19LAorICB7MHgwNDNmLCB7MXxVLCB7MHgwNDFmfX19LAorICB7MHgwNDQwLCB7MXxV
LCB7MHgwNDIwfX19LAorICB7MHgwNDQxLCB7MnxVLCB7MHgwNDIxLCAweDFjODN9fX0sCisgIHsw
eDA0NDIsIHszfFUsIHsweDA0MjIsIDB4MWM4NCwgMHgxYzg1fX19LAorICB7MHgwNDQzLCB7MXxV
LCB7MHgwNDIzfX19LAorICB7MHgwNDQ0LCB7MXxVLCB7MHgwNDI0fX19LAorICB7MHgwNDQ1LCB7
MXxVLCB7MHgwNDI1fX19LAorICB7MHgwNDQ2LCB7MXxVLCB7MHgwNDI2fX19LAorICB7MHgwNDQ3
LCB7MXxVLCB7MHgwNDI3fX19LAorICB7MHgwNDQ4LCB7MXxVLCB7MHgwNDI4fX19LAorICB7MHgw
NDQ5LCB7MXxVLCB7MHgwNDI5fX19LAorICB7MHgwNDRhLCB7MnxVLCB7MHgwNDJhLCAweDFjODZ9
fX0sCisgIHsweDA0NGIsIHsxfFUsIHsweDA0MmJ9fX0sCisgIHsweDA0NGMsIHsxfFUsIHsweDA0
MmN9fX0sCisgIHsweDA0NGQsIHsxfFUsIHsweDA0MmR9fX0sCisgIHsweDA0NGUsIHsxfFUsIHsw
eDA0MmV9fX0sCisgIHsweDA0NGYsIHsxfFUsIHsweDA0MmZ9fX0sCisgIHsweDA0NTAsIHsxfFUs
IHsweDA0MDB9fX0sCisgIHsweDA0NTEsIHsxfFUsIHsweDA0MDF9fX0sCisgIHsweDA0NTIsIHsx
fFUsIHsweDA0MDJ9fX0sCisgIHsweDA0NTMsIHsxfFUsIHsweDA0MDN9fX0sCisgIHsweDA0NTQs
IHsxfFUsIHsweDA0MDR9fX0sCisgIHsweDA0NTUsIHsxfFUsIHsweDA0MDV9fX0sCisgIHsweDA0
NTYsIHsxfFUsIHsweDA0MDZ9fX0sCisgIHsweDA0NTcsIHsxfFUsIHsweDA0MDd9fX0sCisgIHsw
eDA0NTgsIHsxfFUsIHsweDA0MDh9fX0sCisgIHsweDA0NTksIHsxfFUsIHsweDA0MDl9fX0sCisg
IHsweDA0NWEsIHsxfFUsIHsweDA0MGF9fX0sCisgIHsweDA0NWIsIHsxfFUsIHsweDA0MGJ9fX0s
CisgIHsweDA0NWMsIHsxfFUsIHsweDA0MGN9fX0sCisgIHsweDA0NWQsIHsxfFUsIHsweDA0MGR9
fX0sCisgIHsweDA0NWUsIHsxfFUsIHsweDA0MGV9fX0sCisgIHsweDA0NWYsIHsxfFUsIHsweDA0
MGZ9fX0sCisgIHsweDA0NjEsIHsxfFUsIHsweDA0NjB9fX0sCisgIHsweDA0NjMsIHsyfFUsIHsw
eDA0NjIsIDB4MWM4N319fSwKKyAgezB4MDQ2NSwgezF8VSwgezB4MDQ2NH19fSwKKyAgezB4MDQ2
NywgezF8VSwgezB4MDQ2Nn19fSwKKyAgezB4MDQ2OSwgezF8VSwgezB4MDQ2OH19fSwKKyAgezB4
MDQ2YiwgezF8VSwgezB4MDQ2YX19fSwKKyAgezB4MDQ2ZCwgezF8VSwgezB4MDQ2Y319fSwKKyAg
ezB4MDQ2ZiwgezF8VSwgezB4MDQ2ZX19fSwKKyAgezB4MDQ3MSwgezF8VSwgezB4MDQ3MH19fSwK
KyAgezB4MDQ3MywgezF8VSwgezB4MDQ3Mn19fSwKKyAgezB4MDQ3NSwgezF8VSwgezB4MDQ3NH19
fSwKKyAgezB4MDQ3NywgezF8VSwgezB4MDQ3Nn19fSwKKyAgezB4MDQ3OSwgezF8VSwgezB4MDQ3
OH19fSwKKyAgezB4MDQ3YiwgezF8VSwgezB4MDQ3YX19fSwKKyAgezB4MDQ3ZCwgezF8VSwgezB4
MDQ3Y319fSwKKyAgezB4MDQ3ZiwgezF8VSwgezB4MDQ3ZX19fSwKKyAgezB4MDQ4MSwgezF8VSwg
ezB4MDQ4MH19fSwKKyAgezB4MDQ4YiwgezF8VSwgezB4MDQ4YX19fSwKKyAgezB4MDQ4ZCwgezF8
VSwgezB4MDQ4Y319fSwKKyAgezB4MDQ4ZiwgezF8VSwgezB4MDQ4ZX19fSwKKyAgezB4MDQ5MSwg
ezF8VSwgezB4MDQ5MH19fSwKKyAgezB4MDQ5MywgezF8VSwgezB4MDQ5Mn19fSwKKyAgezB4MDQ5
NSwgezF8VSwgezB4MDQ5NH19fSwKKyAgezB4MDQ5NywgezF8VSwgezB4MDQ5Nn19fSwKKyAgezB4
MDQ5OSwgezF8VSwgezB4MDQ5OH19fSwKKyAgezB4MDQ5YiwgezF8VSwgezB4MDQ5YX19fSwKKyAg
ezB4MDQ5ZCwgezF8VSwgezB4MDQ5Y319fSwKKyAgezB4MDQ5ZiwgezF8VSwgezB4MDQ5ZX19fSwK
KyAgezB4MDRhMSwgezF8VSwgezB4MDRhMH19fSwKKyAgezB4MDRhMywgezF8VSwgezB4MDRhMn19
fSwKKyAgezB4MDRhNSwgezF8VSwgezB4MDRhNH19fSwKKyAgezB4MDRhNywgezF8VSwgezB4MDRh
Nn19fSwKKyAgezB4MDRhOSwgezF8VSwgezB4MDRhOH19fSwKKyAgezB4MDRhYiwgezF8VSwgezB4
MDRhYX19fSwKKyAgezB4MDRhZCwgezF8VSwgezB4MDRhY319fSwKKyAgezB4MDRhZiwgezF8VSwg
ezB4MDRhZX19fSwKKyAgezB4MDRiMSwgezF8VSwgezB4MDRiMH19fSwKKyAgezB4MDRiMywgezF8
VSwgezB4MDRiMn19fSwKKyAgezB4MDRiNSwgezF8VSwgezB4MDRiNH19fSwKKyAgezB4MDRiNywg
ezF8VSwgezB4MDRiNn19fSwKKyAgezB4MDRiOSwgezF8VSwgezB4MDRiOH19fSwKKyAgezB4MDRi
YiwgezF8VSwgezB4MDRiYX19fSwKKyAgezB4MDRiZCwgezF8VSwgezB4MDRiY319fSwKKyAgezB4
MDRiZiwgezF8VSwgezB4MDRiZX19fSwKKyAgezB4MDRjMiwgezF8VSwgezB4MDRjMX19fSwKKyAg
ezB4MDRjNCwgezF8VSwgezB4MDRjM319fSwKKyAgezB4MDRjNiwgezF8VSwgezB4MDRjNX19fSwK
KyAgezB4MDRjOCwgezF8VSwgezB4MDRjN319fSwKKyAgezB4MDRjYSwgezF8VSwgezB4MDRjOX19
fSwKKyAgezB4MDRjYywgezF8VSwgezB4MDRjYn19fSwKKyAgezB4MDRjZSwgezF8VSwgezB4MDRj
ZH19fSwKKyAgezB4MDRjZiwgezF8VSwgezB4MDRjMH19fSwKKyAgezB4MDRkMSwgezF8VSwgezB4
MDRkMH19fSwKKyAgezB4MDRkMywgezF8VSwgezB4MDRkMn19fSwKKyAgezB4MDRkNSwgezF8VSwg
ezB4MDRkNH19fSwKKyAgezB4MDRkNywgezF8VSwgezB4MDRkNn19fSwKKyAgezB4MDRkOSwgezF8
VSwgezB4MDRkOH19fSwKKyAgezB4MDRkYiwgezF8VSwgezB4MDRkYX19fSwKKyAgezB4MDRkZCwg
ezF8VSwgezB4MDRkY319fSwKKyAgezB4MDRkZiwgezF8VSwgezB4MDRkZX19fSwKKyAgezB4MDRl
MSwgezF8VSwgezB4MDRlMH19fSwKKyAgezB4MDRlMywgezF8VSwgezB4MDRlMn19fSwKKyAgezB4
MDRlNSwgezF8VSwgezB4MDRlNH19fSwKKyAgezB4MDRlNywgezF8VSwgezB4MDRlNn19fSwKKyAg
ezB4MDRlOSwgezF8VSwgezB4MDRlOH19fSwKKyAgezB4MDRlYiwgezF8VSwgezB4MDRlYX19fSwK
KyAgezB4MDRlZCwgezF8VSwgezB4MDRlY319fSwKKyAgezB4MDRlZiwgezF8VSwgezB4MDRlZX19
fSwKKyAgezB4MDRmMSwgezF8VSwgezB4MDRmMH19fSwKKyAgezB4MDRmMywgezF8VSwgezB4MDRm
Mn19fSwKKyAgezB4MDRmNSwgezF8VSwgezB4MDRmNH19fSwKKyAgezB4MDRmNywgezF8VSwgezB4
MDRmNn19fSwKKyAgezB4MDRmOSwgezF8VSwgezB4MDRmOH19fSwKKyAgezB4MDRmYiwgezF8VSwg
ezB4MDRmYX19fSwKKyAgezB4MDRmZCwgezF8VSwgezB4MDRmY319fSwKKyAgezB4MDRmZiwgezF8
VSwgezB4MDRmZX19fSwKKyAgezB4MDUwMSwgezF8VSwgezB4MDUwMH19fSwKKyAgezB4MDUwMywg
ezF8VSwgezB4MDUwMn19fSwKKyAgezB4MDUwNSwgezF8VSwgezB4MDUwNH19fSwKKyAgezB4MDUw
NywgezF8VSwgezB4MDUwNn19fSwKKyAgezB4MDUwOSwgezF8VSwgezB4MDUwOH19fSwKKyAgezB4
MDUwYiwgezF8VSwgezB4MDUwYX19fSwKKyAgezB4MDUwZCwgezF8VSwgezB4MDUwY319fSwKKyAg
ezB4MDUwZiwgezF8VSwgezB4MDUwZX19fSwKKyAgezB4MDUxMSwgezF8VSwgezB4MDUxMH19fSwK
KyAgezB4MDUxMywgezF8VSwgezB4MDUxMn19fSwKKyAgezB4MDUxNSwgezF8VSwgezB4MDUxNH19
fSwKKyAgezB4MDUxNywgezF8VSwgezB4MDUxNn19fSwKKyAgezB4MDUxOSwgezF8VSwgezB4MDUx
OH19fSwKKyAgezB4MDUxYiwgezF8VSwgezB4MDUxYX19fSwKKyAgezB4MDUxZCwgezF8VSwgezB4
MDUxY319fSwKKyAgezB4MDUxZiwgezF8VSwgezB4MDUxZX19fSwKKyAgezB4MDUyMSwgezF8VSwg
ezB4MDUyMH19fSwKKyAgezB4MDUyMywgezF8VSwgezB4MDUyMn19fSwKKyAgezB4MDUyNSwgezF8
VSwgezB4MDUyNH19fSwKKyAgezB4MDUyNywgezF8VSwgezB4MDUyNn19fSwKKyAgezB4MDUyOSwg
ezF8VSwgezB4MDUyOH19fSwKKyAgezB4MDUyYiwgezF8VSwgezB4MDUyYX19fSwKKyAgezB4MDUy
ZCwgezF8VSwgezB4MDUyY319fSwKKyAgezB4MDUyZiwgezF8VSwgezB4MDUyZX19fSwKKyAgezB4
MDU2MSwgezF8VSwgezB4MDUzMX19fSwKKyAgezB4MDU2MiwgezF8VSwgezB4MDUzMn19fSwKKyAg
ezB4MDU2MywgezF8VSwgezB4MDUzM319fSwKKyAgezB4MDU2NCwgezF8VSwgezB4MDUzNH19fSwK
KyAgezB4MDU2NSwgezF8VSwgezB4MDUzNX19fSwKKyAgezB4MDU2NiwgezF8VSwgezB4MDUzNn19
fSwKKyAgezB4MDU2NywgezF8VSwgezB4MDUzN319fSwKKyAgezB4MDU2OCwgezF8VSwgezB4MDUz
OH19fSwKKyAgezB4MDU2OSwgezF8VSwgezB4MDUzOX19fSwKKyAgezB4MDU2YSwgezF8VSwgezB4
MDUzYX19fSwKKyAgezB4MDU2YiwgezF8VSwgezB4MDUzYn19fSwKKyAgezB4MDU2YywgezF8VSwg
ezB4MDUzY319fSwKKyAgezB4MDU2ZCwgezF8VSwgezB4MDUzZH19fSwKKyAgezB4MDU2ZSwgezF8
VSwgezB4MDUzZX19fSwKKyAgezB4MDU2ZiwgezF8VSwgezB4MDUzZn19fSwKKyAgezB4MDU3MCwg
ezF8VSwgezB4MDU0MH19fSwKKyAgezB4MDU3MSwgezF8VSwgezB4MDU0MX19fSwKKyAgezB4MDU3
MiwgezF8VSwgezB4MDU0Mn19fSwKKyAgezB4MDU3MywgezF8VSwgezB4MDU0M319fSwKKyAgezB4
MDU3NCwgezF8VSwgezB4MDU0NH19fSwKKyAgezB4MDU3NSwgezF8VSwgezB4MDU0NX19fSwKKyAg
ezB4MDU3NiwgezF8VSwgezB4MDU0Nn19fSwKKyAgezB4MDU3NywgezF8VSwgezB4MDU0N319fSwK
KyAgezB4MDU3OCwgezF8VSwgezB4MDU0OH19fSwKKyAgezB4MDU3OSwgezF8VSwgezB4MDU0OX19
fSwKKyAgezB4MDU3YSwgezF8VSwgezB4MDU0YX19fSwKKyAgezB4MDU3YiwgezF8VSwgezB4MDU0
Yn19fSwKKyAgezB4MDU3YywgezF8VSwgezB4MDU0Y319fSwKKyAgezB4MDU3ZCwgezF8VSwgezB4
MDU0ZH19fSwKKyAgezB4MDU3ZSwgezF8VSwgezB4MDU0ZX19fSwKKyAgezB4MDU3ZiwgezF8VSwg
ezB4MDU0Zn19fSwKKyAgezB4MDU4MCwgezF8VSwgezB4MDU1MH19fSwKKyAgezB4MDU4MSwgezF8
VSwgezB4MDU1MX19fSwKKyAgezB4MDU4MiwgezF8VSwgezB4MDU1Mn19fSwKKyAgezB4MDU4Mywg
ezF8VSwgezB4MDU1M319fSwKKyAgezB4MDU4NCwgezF8VSwgezB4MDU1NH19fSwKKyAgezB4MDU4
NSwgezF8VSwgezB4MDU1NX19fSwKKyAgezB4MDU4NiwgezF8VSwgezB4MDU1Nn19fSwKKyAgezB4
MTBkMCwgezF8VXxJVCwgezB4MWM5MH19fSwKKyAgezB4MTBkMSwgezF8VXxJVCwgezB4MWM5MX19
fSwKKyAgezB4MTBkMiwgezF8VXxJVCwgezB4MWM5Mn19fSwKKyAgezB4MTBkMywgezF8VXxJVCwg
ezB4MWM5M319fSwKKyAgezB4MTBkNCwgezF8VXxJVCwgezB4MWM5NH19fSwKKyAgezB4MTBkNSwg
ezF8VXxJVCwgezB4MWM5NX19fSwKKyAgezB4MTBkNiwgezF8VXxJVCwgezB4MWM5Nn19fSwKKyAg
ezB4MTBkNywgezF8VXxJVCwgezB4MWM5N319fSwKKyAgezB4MTBkOCwgezF8VXxJVCwgezB4MWM5
OH19fSwKKyAgezB4MTBkOSwgezF8VXxJVCwgezB4MWM5OX19fSwKKyAgezB4MTBkYSwgezF8VXxJ
VCwgezB4MWM5YX19fSwKKyAgezB4MTBkYiwgezF8VXxJVCwgezB4MWM5Yn19fSwKKyAgezB4MTBk
YywgezF8VXxJVCwgezB4MWM5Y319fSwKKyAgezB4MTBkZCwgezF8VXxJVCwgezB4MWM5ZH19fSwK
KyAgezB4MTBkZSwgezF8VXxJVCwgezB4MWM5ZX19fSwKKyAgezB4MTBkZiwgezF8VXxJVCwgezB4
MWM5Zn19fSwKKyAgezB4MTBlMCwgezF8VXxJVCwgezB4MWNhMH19fSwKKyAgezB4MTBlMSwgezF8
VXxJVCwgezB4MWNhMX19fSwKKyAgezB4MTBlMiwgezF8VXxJVCwgezB4MWNhMn19fSwKKyAgezB4
MTBlMywgezF8VXxJVCwgezB4MWNhM319fSwKKyAgezB4MTBlNCwgezF8VXxJVCwgezB4MWNhNH19
fSwKKyAgezB4MTBlNSwgezF8VXxJVCwgezB4MWNhNX19fSwKKyAgezB4MTBlNiwgezF8VXxJVCwg
ezB4MWNhNn19fSwKKyAgezB4MTBlNywgezF8VXxJVCwgezB4MWNhN319fSwKKyAgezB4MTBlOCwg
ezF8VXxJVCwgezB4MWNhOH19fSwKKyAgezB4MTBlOSwgezF8VXxJVCwgezB4MWNhOX19fSwKKyAg
ezB4MTBlYSwgezF8VXxJVCwgezB4MWNhYX19fSwKKyAgezB4MTBlYiwgezF8VXxJVCwgezB4MWNh
Yn19fSwKKyAgezB4MTBlYywgezF8VXxJVCwgezB4MWNhY319fSwKKyAgezB4MTBlZCwgezF8VXxJ
VCwgezB4MWNhZH19fSwKKyAgezB4MTBlZSwgezF8VXxJVCwgezB4MWNhZX19fSwKKyAgezB4MTBl
ZiwgezF8VXxJVCwgezB4MWNhZn19fSwKKyAgezB4MTBmMCwgezF8VXxJVCwgezB4MWNiMH19fSwK
KyAgezB4MTBmMSwgezF8VXxJVCwgezB4MWNiMX19fSwKKyAgezB4MTBmMiwgezF8VXxJVCwgezB4
MWNiMn19fSwKKyAgezB4MTBmMywgezF8VXxJVCwgezB4MWNiM319fSwKKyAgezB4MTBmNCwgezF8
VXxJVCwgezB4MWNiNH19fSwKKyAgezB4MTBmNSwgezF8VXxJVCwgezB4MWNiNX19fSwKKyAgezB4
MTBmNiwgezF8VXxJVCwgezB4MWNiNn19fSwKKyAgezB4MTBmNywgezF8VXxJVCwgezB4MWNiN319
fSwKKyAgezB4MTBmOCwgezF8VXxJVCwgezB4MWNiOH19fSwKKyAgezB4MTBmOSwgezF8VXxJVCwg
ezB4MWNiOX19fSwKKyAgezB4MTBmYSwgezF8VXxJVCwgezB4MWNiYX19fSwKKyAgezB4MTBmZCwg
ezF8VXxJVCwgezB4MWNiZH19fSwKKyAgezB4MTBmZSwgezF8VXxJVCwgezB4MWNiZX19fSwKKyAg
ezB4MTBmZiwgezF8VXxJVCwgezB4MWNiZn19fSwKKyAgezB4MTNhMCwgezF8RCwgezB4YWI3MH19
fSwKKyAgezB4MTNhMSwgezF8RCwgezB4YWI3MX19fSwKKyAgezB4MTNhMiwgezF8RCwgezB4YWI3
Mn19fSwKKyAgezB4MTNhMywgezF8RCwgezB4YWI3M319fSwKKyAgezB4MTNhNCwgezF8RCwgezB4
YWI3NH19fSwKKyAgezB4MTNhNSwgezF8RCwgezB4YWI3NX19fSwKKyAgezB4MTNhNiwgezF8RCwg
ezB4YWI3Nn19fSwKKyAgezB4MTNhNywgezF8RCwgezB4YWI3N319fSwKKyAgezB4MTNhOCwgezF8
RCwgezB4YWI3OH19fSwKKyAgezB4MTNhOSwgezF8RCwgezB4YWI3OX19fSwKKyAgezB4MTNhYSwg
ezF8RCwgezB4YWI3YX19fSwKKyAgezB4MTNhYiwgezF8RCwgezB4YWI3Yn19fSwKKyAgezB4MTNh
YywgezF8RCwgezB4YWI3Y319fSwKKyAgezB4MTNhZCwgezF8RCwgezB4YWI3ZH19fSwKKyAgezB4
MTNhZSwgezF8RCwgezB4YWI3ZX19fSwKKyAgezB4MTNhZiwgezF8RCwgezB4YWI3Zn19fSwKKyAg
ezB4MTNiMCwgezF8RCwgezB4YWI4MH19fSwKKyAgezB4MTNiMSwgezF8RCwgezB4YWI4MX19fSwK
KyAgezB4MTNiMiwgezF8RCwgezB4YWI4Mn19fSwKKyAgezB4MTNiMywgezF8RCwgezB4YWI4M319
fSwKKyAgezB4MTNiNCwgezF8RCwgezB4YWI4NH19fSwKKyAgezB4MTNiNSwgezF8RCwgezB4YWI4
NX19fSwKKyAgezB4MTNiNiwgezF8RCwgezB4YWI4Nn19fSwKKyAgezB4MTNiNywgezF8RCwgezB4
YWI4N319fSwKKyAgezB4MTNiOCwgezF8RCwgezB4YWI4OH19fSwKKyAgezB4MTNiOSwgezF8RCwg
ezB4YWI4OX19fSwKKyAgezB4MTNiYSwgezF8RCwgezB4YWI4YX19fSwKKyAgezB4MTNiYiwgezF8
RCwgezB4YWI4Yn19fSwKKyAgezB4MTNiYywgezF8RCwgezB4YWI4Y319fSwKKyAgezB4MTNiZCwg
ezF8RCwgezB4YWI4ZH19fSwKKyAgezB4MTNiZSwgezF8RCwgezB4YWI4ZX19fSwKKyAgezB4MTNi
ZiwgezF8RCwgezB4YWI4Zn19fSwKKyAgezB4MTNjMCwgezF8RCwgezB4YWI5MH19fSwKKyAgezB4
MTNjMSwgezF8RCwgezB4YWI5MX19fSwKKyAgezB4MTNjMiwgezF8RCwgezB4YWI5Mn19fSwKKyAg
ezB4MTNjMywgezF8RCwgezB4YWI5M319fSwKKyAgezB4MTNjNCwgezF8RCwgezB4YWI5NH19fSwK
KyAgezB4MTNjNSwgezF8RCwgezB4YWI5NX19fSwKKyAgezB4MTNjNiwgezF8RCwgezB4YWI5Nn19
fSwKKyAgezB4MTNjNywgezF8RCwgezB4YWI5N319fSwKKyAgezB4MTNjOCwgezF8RCwgezB4YWI5
OH19fSwKKyAgezB4MTNjOSwgezF8RCwgezB4YWI5OX19fSwKKyAgezB4MTNjYSwgezF8RCwgezB4
YWI5YX19fSwKKyAgezB4MTNjYiwgezF8RCwgezB4YWI5Yn19fSwKKyAgezB4MTNjYywgezF8RCwg
ezB4YWI5Y319fSwKKyAgezB4MTNjZCwgezF8RCwgezB4YWI5ZH19fSwKKyAgezB4MTNjZSwgezF8
RCwgezB4YWI5ZX19fSwKKyAgezB4MTNjZiwgezF8RCwgezB4YWI5Zn19fSwKKyAgezB4MTNkMCwg
ezF8RCwgezB4YWJhMH19fSwKKyAgezB4MTNkMSwgezF8RCwgezB4YWJhMX19fSwKKyAgezB4MTNk
MiwgezF8RCwgezB4YWJhMn19fSwKKyAgezB4MTNkMywgezF8RCwgezB4YWJhM319fSwKKyAgezB4
MTNkNCwgezF8RCwgezB4YWJhNH19fSwKKyAgezB4MTNkNSwgezF8RCwgezB4YWJhNX19fSwKKyAg
ezB4MTNkNiwgezF8RCwgezB4YWJhNn19fSwKKyAgezB4MTNkNywgezF8RCwgezB4YWJhN319fSwK
KyAgezB4MTNkOCwgezF8RCwgezB4YWJhOH19fSwKKyAgezB4MTNkOSwgezF8RCwgezB4YWJhOX19
fSwKKyAgezB4MTNkYSwgezF8RCwgezB4YWJhYX19fSwKKyAgezB4MTNkYiwgezF8RCwgezB4YWJh
Yn19fSwKKyAgezB4MTNkYywgezF8RCwgezB4YWJhY319fSwKKyAgezB4MTNkZCwgezF8RCwgezB4
YWJhZH19fSwKKyAgezB4MTNkZSwgezF8RCwgezB4YWJhZX19fSwKKyAgezB4MTNkZiwgezF8RCwg
ezB4YWJhZn19fSwKKyAgezB4MTNlMCwgezF8RCwgezB4YWJiMH19fSwKKyAgezB4MTNlMSwgezF8
RCwgezB4YWJiMX19fSwKKyAgezB4MTNlMiwgezF8RCwgezB4YWJiMn19fSwKKyAgezB4MTNlMywg
ezF8RCwgezB4YWJiM319fSwKKyAgezB4MTNlNCwgezF8RCwgezB4YWJiNH19fSwKKyAgezB4MTNl
NSwgezF8RCwgezB4YWJiNX19fSwKKyAgezB4MTNlNiwgezF8RCwgezB4YWJiNn19fSwKKyAgezB4
MTNlNywgezF8RCwgezB4YWJiN319fSwKKyAgezB4MTNlOCwgezF8RCwgezB4YWJiOH19fSwKKyAg
ezB4MTNlOSwgezF8RCwgezB4YWJiOX19fSwKKyAgezB4MTNlYSwgezF8RCwgezB4YWJiYX19fSwK
KyAgezB4MTNlYiwgezF8RCwgezB4YWJiYn19fSwKKyAgezB4MTNlYywgezF8RCwgezB4YWJiY319
fSwKKyAgezB4MTNlZCwgezF8RCwgezB4YWJiZH19fSwKKyAgezB4MTNlZSwgezF8RCwgezB4YWJi
ZX19fSwKKyAgezB4MTNlZiwgezF8RCwgezB4YWJiZn19fSwKKyAgezB4MTNmMCwgezF8RCwgezB4
MTNmOH19fSwKKyAgezB4MTNmMSwgezF8RCwgezB4MTNmOX19fSwKKyAgezB4MTNmMiwgezF8RCwg
ezB4MTNmYX19fSwKKyAgezB4MTNmMywgezF8RCwgezB4MTNmYn19fSwKKyAgezB4MTNmNCwgezF8
RCwgezB4MTNmY319fSwKKyAgezB4MTNmNSwgezF8RCwgezB4MTNmZH19fSwKKyAgezB4MWQ3OSwg
ezF8VSwgezB4YTc3ZH19fSwKKyAgezB4MWQ3ZCwgezF8VSwgezB4MmM2M319fSwKKyAgezB4MWQ4
ZSwgezF8VSwgezB4YTdjNn19fSwKKyAgezB4MWUwMSwgezF8VSwgezB4MWUwMH19fSwKKyAgezB4
MWUwMywgezF8VSwgezB4MWUwMn19fSwKKyAgezB4MWUwNSwgezF8VSwgezB4MWUwNH19fSwKKyAg
ezB4MWUwNywgezF8VSwgezB4MWUwNn19fSwKKyAgezB4MWUwOSwgezF8VSwgezB4MWUwOH19fSwK
KyAgezB4MWUwYiwgezF8VSwgezB4MWUwYX19fSwKKyAgezB4MWUwZCwgezF8VSwgezB4MWUwY319
fSwKKyAgezB4MWUwZiwgezF8VSwgezB4MWUwZX19fSwKKyAgezB4MWUxMSwgezF8VSwgezB4MWUx
MH19fSwKKyAgezB4MWUxMywgezF8VSwgezB4MWUxMn19fSwKKyAgezB4MWUxNSwgezF8VSwgezB4
MWUxNH19fSwKKyAgezB4MWUxNywgezF8VSwgezB4MWUxNn19fSwKKyAgezB4MWUxOSwgezF8VSwg
ezB4MWUxOH19fSwKKyAgezB4MWUxYiwgezF8VSwgezB4MWUxYX19fSwKKyAgezB4MWUxZCwgezF8
VSwgezB4MWUxY319fSwKKyAgezB4MWUxZiwgezF8VSwgezB4MWUxZX19fSwKKyAgezB4MWUyMSwg
ezF8VSwgezB4MWUyMH19fSwKKyAgezB4MWUyMywgezF8VSwgezB4MWUyMn19fSwKKyAgezB4MWUy
NSwgezF8VSwgezB4MWUyNH19fSwKKyAgezB4MWUyNywgezF8VSwgezB4MWUyNn19fSwKKyAgezB4
MWUyOSwgezF8VSwgezB4MWUyOH19fSwKKyAgezB4MWUyYiwgezF8VSwgezB4MWUyYX19fSwKKyAg
ezB4MWUyZCwgezF8VSwgezB4MWUyY319fSwKKyAgezB4MWUyZiwgezF8VSwgezB4MWUyZX19fSwK
KyAgezB4MWUzMSwgezF8VSwgezB4MWUzMH19fSwKKyAgezB4MWUzMywgezF8VSwgezB4MWUzMn19
fSwKKyAgezB4MWUzNSwgezF8VSwgezB4MWUzNH19fSwKKyAgezB4MWUzNywgezF8VSwgezB4MWUz
Nn19fSwKKyAgezB4MWUzOSwgezF8VSwgezB4MWUzOH19fSwKKyAgezB4MWUzYiwgezF8VSwgezB4
MWUzYX19fSwKKyAgezB4MWUzZCwgezF8VSwgezB4MWUzY319fSwKKyAgezB4MWUzZiwgezF8VSwg
ezB4MWUzZX19fSwKKyAgezB4MWU0MSwgezF8VSwgezB4MWU0MH19fSwKKyAgezB4MWU0MywgezF8
VSwgezB4MWU0Mn19fSwKKyAgezB4MWU0NSwgezF8VSwgezB4MWU0NH19fSwKKyAgezB4MWU0Nywg
ezF8VSwgezB4MWU0Nn19fSwKKyAgezB4MWU0OSwgezF8VSwgezB4MWU0OH19fSwKKyAgezB4MWU0
YiwgezF8VSwgezB4MWU0YX19fSwKKyAgezB4MWU0ZCwgezF8VSwgezB4MWU0Y319fSwKKyAgezB4
MWU0ZiwgezF8VSwgezB4MWU0ZX19fSwKKyAgezB4MWU1MSwgezF8VSwgezB4MWU1MH19fSwKKyAg
ezB4MWU1MywgezF8VSwgezB4MWU1Mn19fSwKKyAgezB4MWU1NSwgezF8VSwgezB4MWU1NH19fSwK
KyAgezB4MWU1NywgezF8VSwgezB4MWU1Nn19fSwKKyAgezB4MWU1OSwgezF8VSwgezB4MWU1OH19
fSwKKyAgezB4MWU1YiwgezF8VSwgezB4MWU1YX19fSwKKyAgezB4MWU1ZCwgezF8VSwgezB4MWU1
Y319fSwKKyAgezB4MWU1ZiwgezF8VSwgezB4MWU1ZX19fSwKKyAgezB4MWU2MSwgezJ8VSwgezB4
MWU2MCwgMHgxZTlifX19LAorICB7MHgxZTYzLCB7MXxVLCB7MHgxZTYyfX19LAorICB7MHgxZTY1
LCB7MXxVLCB7MHgxZTY0fX19LAorICB7MHgxZTY3LCB7MXxVLCB7MHgxZTY2fX19LAorICB7MHgx
ZTY5LCB7MXxVLCB7MHgxZTY4fX19LAorICB7MHgxZTZiLCB7MXxVLCB7MHgxZTZhfX19LAorICB7
MHgxZTZkLCB7MXxVLCB7MHgxZTZjfX19LAorICB7MHgxZTZmLCB7MXxVLCB7MHgxZTZlfX19LAor
ICB7MHgxZTcxLCB7MXxVLCB7MHgxZTcwfX19LAorICB7MHgxZTczLCB7MXxVLCB7MHgxZTcyfX19
LAorICB7MHgxZTc1LCB7MXxVLCB7MHgxZTc0fX19LAorICB7MHgxZTc3LCB7MXxVLCB7MHgxZTc2
fX19LAorICB7MHgxZTc5LCB7MXxVLCB7MHgxZTc4fX19LAorICB7MHgxZTdiLCB7MXxVLCB7MHgx
ZTdhfX19LAorICB7MHgxZTdkLCB7MXxVLCB7MHgxZTdjfX19LAorICB7MHgxZTdmLCB7MXxVLCB7
MHgxZTdlfX19LAorICB7MHgxZTgxLCB7MXxVLCB7MHgxZTgwfX19LAorICB7MHgxZTgzLCB7MXxV
LCB7MHgxZTgyfX19LAorICB7MHgxZTg1LCB7MXxVLCB7MHgxZTg0fX19LAorICB7MHgxZTg3LCB7
MXxVLCB7MHgxZTg2fX19LAorICB7MHgxZTg5LCB7MXxVLCB7MHgxZTg4fX19LAorICB7MHgxZThi
LCB7MXxVLCB7MHgxZThhfX19LAorICB7MHgxZThkLCB7MXxVLCB7MHgxZThjfX19LAorICB7MHgx
ZThmLCB7MXxVLCB7MHgxZThlfX19LAorICB7MHgxZTkxLCB7MXxVLCB7MHgxZTkwfX19LAorICB7
MHgxZTkzLCB7MXxVLCB7MHgxZTkyfX19LAorICB7MHgxZTk1LCB7MXxVLCB7MHgxZTk0fX19LAor
ICB7MHgxZWExLCB7MXxVLCB7MHgxZWEwfX19LAorICB7MHgxZWEzLCB7MXxVLCB7MHgxZWEyfX19
LAorICB7MHgxZWE1LCB7MXxVLCB7MHgxZWE0fX19LAorICB7MHgxZWE3LCB7MXxVLCB7MHgxZWE2
fX19LAorICB7MHgxZWE5LCB7MXxVLCB7MHgxZWE4fX19LAorICB7MHgxZWFiLCB7MXxVLCB7MHgx
ZWFhfX19LAorICB7MHgxZWFkLCB7MXxVLCB7MHgxZWFjfX19LAorICB7MHgxZWFmLCB7MXxVLCB7
MHgxZWFlfX19LAorICB7MHgxZWIxLCB7MXxVLCB7MHgxZWIwfX19LAorICB7MHgxZWIzLCB7MXxV
LCB7MHgxZWIyfX19LAorICB7MHgxZWI1LCB7MXxVLCB7MHgxZWI0fX19LAorICB7MHgxZWI3LCB7
MXxVLCB7MHgxZWI2fX19LAorICB7MHgxZWI5LCB7MXxVLCB7MHgxZWI4fX19LAorICB7MHgxZWJi
LCB7MXxVLCB7MHgxZWJhfX19LAorICB7MHgxZWJkLCB7MXxVLCB7MHgxZWJjfX19LAorICB7MHgx
ZWJmLCB7MXxVLCB7MHgxZWJlfX19LAorICB7MHgxZWMxLCB7MXxVLCB7MHgxZWMwfX19LAorICB7
MHgxZWMzLCB7MXxVLCB7MHgxZWMyfX19LAorICB7MHgxZWM1LCB7MXxVLCB7MHgxZWM0fX19LAor
ICB7MHgxZWM3LCB7MXxVLCB7MHgxZWM2fX19LAorICB7MHgxZWM5LCB7MXxVLCB7MHgxZWM4fX19
LAorICB7MHgxZWNiLCB7MXxVLCB7MHgxZWNhfX19LAorICB7MHgxZWNkLCB7MXxVLCB7MHgxZWNj
fX19LAorICB7MHgxZWNmLCB7MXxVLCB7MHgxZWNlfX19LAorICB7MHgxZWQxLCB7MXxVLCB7MHgx
ZWQwfX19LAorICB7MHgxZWQzLCB7MXxVLCB7MHgxZWQyfX19LAorICB7MHgxZWQ1LCB7MXxVLCB7
MHgxZWQ0fX19LAorICB7MHgxZWQ3LCB7MXxVLCB7MHgxZWQ2fX19LAorICB7MHgxZWQ5LCB7MXxV
LCB7MHgxZWQ4fX19LAorICB7MHgxZWRiLCB7MXxVLCB7MHgxZWRhfX19LAorICB7MHgxZWRkLCB7
MXxVLCB7MHgxZWRjfX19LAorICB7MHgxZWRmLCB7MXxVLCB7MHgxZWRlfX19LAorICB7MHgxZWUx
LCB7MXxVLCB7MHgxZWUwfX19LAorICB7MHgxZWUzLCB7MXxVLCB7MHgxZWUyfX19LAorICB7MHgx
ZWU1LCB7MXxVLCB7MHgxZWU0fX19LAorICB7MHgxZWU3LCB7MXxVLCB7MHgxZWU2fX19LAorICB7
MHgxZWU5LCB7MXxVLCB7MHgxZWU4fX19LAorICB7MHgxZWViLCB7MXxVLCB7MHgxZWVhfX19LAor
ICB7MHgxZWVkLCB7MXxVLCB7MHgxZWVjfX19LAorICB7MHgxZWVmLCB7MXxVLCB7MHgxZWVlfX19
LAorICB7MHgxZWYxLCB7MXxVLCB7MHgxZWYwfX19LAorICB7MHgxZWYzLCB7MXxVLCB7MHgxZWYy
fX19LAorICB7MHgxZWY1LCB7MXxVLCB7MHgxZWY0fX19LAorICB7MHgxZWY3LCB7MXxVLCB7MHgx
ZWY2fX19LAorICB7MHgxZWY5LCB7MXxVLCB7MHgxZWY4fX19LAorICB7MHgxZWZiLCB7MXxVLCB7
MHgxZWZhfX19LAorICB7MHgxZWZkLCB7MXxVLCB7MHgxZWZjfX19LAorICB7MHgxZWZmLCB7MXxV
LCB7MHgxZWZlfX19LAorICB7MHgxZjAwLCB7MXxVLCB7MHgxZjA4fX19LAorICB7MHgxZjAxLCB7
MXxVLCB7MHgxZjA5fX19LAorICB7MHgxZjAyLCB7MXxVLCB7MHgxZjBhfX19LAorICB7MHgxZjAz
LCB7MXxVLCB7MHgxZjBifX19LAorICB7MHgxZjA0LCB7MXxVLCB7MHgxZjBjfX19LAorICB7MHgx
ZjA1LCB7MXxVLCB7MHgxZjBkfX19LAorICB7MHgxZjA2LCB7MXxVLCB7MHgxZjBlfX19LAorICB7
MHgxZjA3LCB7MXxVLCB7MHgxZjBmfX19LAorICB7MHgxZjEwLCB7MXxVLCB7MHgxZjE4fX19LAor
ICB7MHgxZjExLCB7MXxVLCB7MHgxZjE5fX19LAorICB7MHgxZjEyLCB7MXxVLCB7MHgxZjFhfX19
LAorICB7MHgxZjEzLCB7MXxVLCB7MHgxZjFifX19LAorICB7MHgxZjE0LCB7MXxVLCB7MHgxZjFj
fX19LAorICB7MHgxZjE1LCB7MXxVLCB7MHgxZjFkfX19LAorICB7MHgxZjIwLCB7MXxVLCB7MHgx
ZjI4fX19LAorICB7MHgxZjIxLCB7MXxVLCB7MHgxZjI5fX19LAorICB7MHgxZjIyLCB7MXxVLCB7
MHgxZjJhfX19LAorICB7MHgxZjIzLCB7MXxVLCB7MHgxZjJifX19LAorICB7MHgxZjI0LCB7MXxV
LCB7MHgxZjJjfX19LAorICB7MHgxZjI1LCB7MXxVLCB7MHgxZjJkfX19LAorICB7MHgxZjI2LCB7
MXxVLCB7MHgxZjJlfX19LAorICB7MHgxZjI3LCB7MXxVLCB7MHgxZjJmfX19LAorICB7MHgxZjMw
LCB7MXxVLCB7MHgxZjM4fX19LAorICB7MHgxZjMxLCB7MXxVLCB7MHgxZjM5fX19LAorICB7MHgx
ZjMyLCB7MXxVLCB7MHgxZjNhfX19LAorICB7MHgxZjMzLCB7MXxVLCB7MHgxZjNifX19LAorICB7
MHgxZjM0LCB7MXxVLCB7MHgxZjNjfX19LAorICB7MHgxZjM1LCB7MXxVLCB7MHgxZjNkfX19LAor
ICB7MHgxZjM2LCB7MXxVLCB7MHgxZjNlfX19LAorICB7MHgxZjM3LCB7MXxVLCB7MHgxZjNmfX19
LAorICB7MHgxZjQwLCB7MXxVLCB7MHgxZjQ4fX19LAorICB7MHgxZjQxLCB7MXxVLCB7MHgxZjQ5
fX19LAorICB7MHgxZjQyLCB7MXxVLCB7MHgxZjRhfX19LAorICB7MHgxZjQzLCB7MXxVLCB7MHgx
ZjRifX19LAorICB7MHgxZjQ0LCB7MXxVLCB7MHgxZjRjfX19LAorICB7MHgxZjQ1LCB7MXxVLCB7
MHgxZjRkfX19LAorICB7MHgxZjUxLCB7MXxVLCB7MHgxZjU5fX19LAorICB7MHgxZjUzLCB7MXxV
LCB7MHgxZjVifX19LAorICB7MHgxZjU1LCB7MXxVLCB7MHgxZjVkfX19LAorICB7MHgxZjU3LCB7
MXxVLCB7MHgxZjVmfX19LAorICB7MHgxZjYwLCB7MXxVLCB7MHgxZjY4fX19LAorICB7MHgxZjYx
LCB7MXxVLCB7MHgxZjY5fX19LAorICB7MHgxZjYyLCB7MXxVLCB7MHgxZjZhfX19LAorICB7MHgx
ZjYzLCB7MXxVLCB7MHgxZjZifX19LAorICB7MHgxZjY0LCB7MXxVLCB7MHgxZjZjfX19LAorICB7
MHgxZjY1LCB7MXxVLCB7MHgxZjZkfX19LAorICB7MHgxZjY2LCB7MXxVLCB7MHgxZjZlfX19LAor
ICB7MHgxZjY3LCB7MXxVLCB7MHgxZjZmfX19LAorICB7MHgxZjcwLCB7MXxVLCB7MHgxZmJhfX19
LAorICB7MHgxZjcxLCB7MXxVLCB7MHgxZmJifX19LAorICB7MHgxZjcyLCB7MXxVLCB7MHgxZmM4
fX19LAorICB7MHgxZjczLCB7MXxVLCB7MHgxZmM5fX19LAorICB7MHgxZjc0LCB7MXxVLCB7MHgx
ZmNhfX19LAorICB7MHgxZjc1LCB7MXxVLCB7MHgxZmNifX19LAorICB7MHgxZjc2LCB7MXxVLCB7
MHgxZmRhfX19LAorICB7MHgxZjc3LCB7MXxVLCB7MHgxZmRifX19LAorICB7MHgxZjc4LCB7MXxV
LCB7MHgxZmY4fX19LAorICB7MHgxZjc5LCB7MXxVLCB7MHgxZmY5fX19LAorICB7MHgxZjdhLCB7
MXxVLCB7MHgxZmVhfX19LAorICB7MHgxZjdiLCB7MXxVLCB7MHgxZmVifX19LAorICB7MHgxZjdj
LCB7MXxVLCB7MHgxZmZhfX19LAorICB7MHgxZjdkLCB7MXxVLCB7MHgxZmZifX19LAorICB7MHgx
ZmIwLCB7MXxVLCB7MHgxZmI4fX19LAorICB7MHgxZmIxLCB7MXxVLCB7MHgxZmI5fX19LAorICB7
MHgxZmQwLCB7MXxVLCB7MHgxZmQ4fX19LAorICB7MHgxZmQxLCB7MXxVLCB7MHgxZmQ5fX19LAor
ICB7MHgxZmUwLCB7MXxVLCB7MHgxZmU4fX19LAorICB7MHgxZmUxLCB7MXxVLCB7MHgxZmU5fX19
LAorICB7MHgxZmU1LCB7MXxVLCB7MHgxZmVjfX19LAorICB7MHgyMTRlLCB7MXxVLCB7MHgyMTMy
fX19LAorICB7MHgyMTcwLCB7MXxVLCB7MHgyMTYwfX19LAorICB7MHgyMTcxLCB7MXxVLCB7MHgy
MTYxfX19LAorICB7MHgyMTcyLCB7MXxVLCB7MHgyMTYyfX19LAorICB7MHgyMTczLCB7MXxVLCB7
MHgyMTYzfX19LAorICB7MHgyMTc0LCB7MXxVLCB7MHgyMTY0fX19LAorICB7MHgyMTc1LCB7MXxV
LCB7MHgyMTY1fX19LAorICB7MHgyMTc2LCB7MXxVLCB7MHgyMTY2fX19LAorICB7MHgyMTc3LCB7
MXxVLCB7MHgyMTY3fX19LAorICB7MHgyMTc4LCB7MXxVLCB7MHgyMTY4fX19LAorICB7MHgyMTc5
LCB7MXxVLCB7MHgyMTY5fX19LAorICB7MHgyMTdhLCB7MXxVLCB7MHgyMTZhfX19LAorICB7MHgy
MTdiLCB7MXxVLCB7MHgyMTZifX19LAorICB7MHgyMTdjLCB7MXxVLCB7MHgyMTZjfX19LAorICB7
MHgyMTdkLCB7MXxVLCB7MHgyMTZkfX19LAorICB7MHgyMTdlLCB7MXxVLCB7MHgyMTZlfX19LAor
ICB7MHgyMTdmLCB7MXxVLCB7MHgyMTZmfX19LAorICB7MHgyMTg0LCB7MXxVLCB7MHgyMTgzfX19
LAorICB7MHgyNGQwLCB7MXxVLCB7MHgyNGI2fX19LAorICB7MHgyNGQxLCB7MXxVLCB7MHgyNGI3
fX19LAorICB7MHgyNGQyLCB7MXxVLCB7MHgyNGI4fX19LAorICB7MHgyNGQzLCB7MXxVLCB7MHgy
NGI5fX19LAorICB7MHgyNGQ0LCB7MXxVLCB7MHgyNGJhfX19LAorICB7MHgyNGQ1LCB7MXxVLCB7
MHgyNGJifX19LAorICB7MHgyNGQ2LCB7MXxVLCB7MHgyNGJjfX19LAorICB7MHgyNGQ3LCB7MXxV
LCB7MHgyNGJkfX19LAorICB7MHgyNGQ4LCB7MXxVLCB7MHgyNGJlfX19LAorICB7MHgyNGQ5LCB7
MXxVLCB7MHgyNGJmfX19LAorICB7MHgyNGRhLCB7MXxVLCB7MHgyNGMwfX19LAorICB7MHgyNGRi
LCB7MXxVLCB7MHgyNGMxfX19LAorICB7MHgyNGRjLCB7MXxVLCB7MHgyNGMyfX19LAorICB7MHgy
NGRkLCB7MXxVLCB7MHgyNGMzfX19LAorICB7MHgyNGRlLCB7MXxVLCB7MHgyNGM0fX19LAorICB7
MHgyNGRmLCB7MXxVLCB7MHgyNGM1fX19LAorICB7MHgyNGUwLCB7MXxVLCB7MHgyNGM2fX19LAor
ICB7MHgyNGUxLCB7MXxVLCB7MHgyNGM3fX19LAorICB7MHgyNGUyLCB7MXxVLCB7MHgyNGM4fX19
LAorICB7MHgyNGUzLCB7MXxVLCB7MHgyNGM5fX19LAorICB7MHgyNGU0LCB7MXxVLCB7MHgyNGNh
fX19LAorICB7MHgyNGU1LCB7MXxVLCB7MHgyNGNifX19LAorICB7MHgyNGU2LCB7MXxVLCB7MHgy
NGNjfX19LAorICB7MHgyNGU3LCB7MXxVLCB7MHgyNGNkfX19LAorICB7MHgyNGU4LCB7MXxVLCB7
MHgyNGNlfX19LAorICB7MHgyNGU5LCB7MXxVLCB7MHgyNGNmfX19LAorICB7MHgyYzMwLCB7MXxV
LCB7MHgyYzAwfX19LAorICB7MHgyYzMxLCB7MXxVLCB7MHgyYzAxfX19LAorICB7MHgyYzMyLCB7
MXxVLCB7MHgyYzAyfX19LAorICB7MHgyYzMzLCB7MXxVLCB7MHgyYzAzfX19LAorICB7MHgyYzM0
LCB7MXxVLCB7MHgyYzA0fX19LAorICB7MHgyYzM1LCB7MXxVLCB7MHgyYzA1fX19LAorICB7MHgy
YzM2LCB7MXxVLCB7MHgyYzA2fX19LAorICB7MHgyYzM3LCB7MXxVLCB7MHgyYzA3fX19LAorICB7
MHgyYzM4LCB7MXxVLCB7MHgyYzA4fX19LAorICB7MHgyYzM5LCB7MXxVLCB7MHgyYzA5fX19LAor
ICB7MHgyYzNhLCB7MXxVLCB7MHgyYzBhfX19LAorICB7MHgyYzNiLCB7MXxVLCB7MHgyYzBifX19
LAorICB7MHgyYzNjLCB7MXxVLCB7MHgyYzBjfX19LAorICB7MHgyYzNkLCB7MXxVLCB7MHgyYzBk
fX19LAorICB7MHgyYzNlLCB7MXxVLCB7MHgyYzBlfX19LAorICB7MHgyYzNmLCB7MXxVLCB7MHgy
YzBmfX19LAorICB7MHgyYzQwLCB7MXxVLCB7MHgyYzEwfX19LAorICB7MHgyYzQxLCB7MXxVLCB7
MHgyYzExfX19LAorICB7MHgyYzQyLCB7MXxVLCB7MHgyYzEyfX19LAorICB7MHgyYzQzLCB7MXxV
LCB7MHgyYzEzfX19LAorICB7MHgyYzQ0LCB7MXxVLCB7MHgyYzE0fX19LAorICB7MHgyYzQ1LCB7
MXxVLCB7MHgyYzE1fX19LAorICB7MHgyYzQ2LCB7MXxVLCB7MHgyYzE2fX19LAorICB7MHgyYzQ3
LCB7MXxVLCB7MHgyYzE3fX19LAorICB7MHgyYzQ4LCB7MXxVLCB7MHgyYzE4fX19LAorICB7MHgy
YzQ5LCB7MXxVLCB7MHgyYzE5fX19LAorICB7MHgyYzRhLCB7MXxVLCB7MHgyYzFhfX19LAorICB7
MHgyYzRiLCB7MXxVLCB7MHgyYzFifX19LAorICB7MHgyYzRjLCB7MXxVLCB7MHgyYzFjfX19LAor
ICB7MHgyYzRkLCB7MXxVLCB7MHgyYzFkfX19LAorICB7MHgyYzRlLCB7MXxVLCB7MHgyYzFlfX19
LAorICB7MHgyYzRmLCB7MXxVLCB7MHgyYzFmfX19LAorICB7MHgyYzUwLCB7MXxVLCB7MHgyYzIw
fX19LAorICB7MHgyYzUxLCB7MXxVLCB7MHgyYzIxfX19LAorICB7MHgyYzUyLCB7MXxVLCB7MHgy
YzIyfX19LAorICB7MHgyYzUzLCB7MXxVLCB7MHgyYzIzfX19LAorICB7MHgyYzU0LCB7MXxVLCB7
MHgyYzI0fX19LAorICB7MHgyYzU1LCB7MXxVLCB7MHgyYzI1fX19LAorICB7MHgyYzU2LCB7MXxV
LCB7MHgyYzI2fX19LAorICB7MHgyYzU3LCB7MXxVLCB7MHgyYzI3fX19LAorICB7MHgyYzU4LCB7
MXxVLCB7MHgyYzI4fX19LAorICB7MHgyYzU5LCB7MXxVLCB7MHgyYzI5fX19LAorICB7MHgyYzVh
LCB7MXxVLCB7MHgyYzJhfX19LAorICB7MHgyYzViLCB7MXxVLCB7MHgyYzJifX19LAorICB7MHgy
YzVjLCB7MXxVLCB7MHgyYzJjfX19LAorICB7MHgyYzVkLCB7MXxVLCB7MHgyYzJkfX19LAorICB7
MHgyYzVlLCB7MXxVLCB7MHgyYzJlfX19LAorICB7MHgyYzYxLCB7MXxVLCB7MHgyYzYwfX19LAor
ICB7MHgyYzY1LCB7MXxVLCB7MHgwMjNhfX19LAorICB7MHgyYzY2LCB7MXxVLCB7MHgwMjNlfX19
LAorICB7MHgyYzY4LCB7MXxVLCB7MHgyYzY3fX19LAorICB7MHgyYzZhLCB7MXxVLCB7MHgyYzY5
fX19LAorICB7MHgyYzZjLCB7MXxVLCB7MHgyYzZifX19LAorICB7MHgyYzczLCB7MXxVLCB7MHgy
YzcyfX19LAorICB7MHgyYzc2LCB7MXxVLCB7MHgyYzc1fX19LAorICB7MHgyYzgxLCB7MXxVLCB7
MHgyYzgwfX19LAorICB7MHgyYzgzLCB7MXxVLCB7MHgyYzgyfX19LAorICB7MHgyYzg1LCB7MXxV
LCB7MHgyYzg0fX19LAorICB7MHgyYzg3LCB7MXxVLCB7MHgyYzg2fX19LAorICB7MHgyYzg5LCB7
MXxVLCB7MHgyYzg4fX19LAorICB7MHgyYzhiLCB7MXxVLCB7MHgyYzhhfX19LAorICB7MHgyYzhk
LCB7MXxVLCB7MHgyYzhjfX19LAorICB7MHgyYzhmLCB7MXxVLCB7MHgyYzhlfX19LAorICB7MHgy
YzkxLCB7MXxVLCB7MHgyYzkwfX19LAorICB7MHgyYzkzLCB7MXxVLCB7MHgyYzkyfX19LAorICB7
MHgyYzk1LCB7MXxVLCB7MHgyYzk0fX19LAorICB7MHgyYzk3LCB7MXxVLCB7MHgyYzk2fX19LAor
ICB7MHgyYzk5LCB7MXxVLCB7MHgyYzk4fX19LAorICB7MHgyYzliLCB7MXxVLCB7MHgyYzlhfX19
LAorICB7MHgyYzlkLCB7MXxVLCB7MHgyYzljfX19LAorICB7MHgyYzlmLCB7MXxVLCB7MHgyYzll
fX19LAorICB7MHgyY2ExLCB7MXxVLCB7MHgyY2EwfX19LAorICB7MHgyY2EzLCB7MXxVLCB7MHgy
Y2EyfX19LAorICB7MHgyY2E1LCB7MXxVLCB7MHgyY2E0fX19LAorICB7MHgyY2E3LCB7MXxVLCB7
MHgyY2E2fX19LAorICB7MHgyY2E5LCB7MXxVLCB7MHgyY2E4fX19LAorICB7MHgyY2FiLCB7MXxV
LCB7MHgyY2FhfX19LAorICB7MHgyY2FkLCB7MXxVLCB7MHgyY2FjfX19LAorICB7MHgyY2FmLCB7
MXxVLCB7MHgyY2FlfX19LAorICB7MHgyY2IxLCB7MXxVLCB7MHgyY2IwfX19LAorICB7MHgyY2Iz
LCB7MXxVLCB7MHgyY2IyfX19LAorICB7MHgyY2I1LCB7MXxVLCB7MHgyY2I0fX19LAorICB7MHgy
Y2I3LCB7MXxVLCB7MHgyY2I2fX19LAorICB7MHgyY2I5LCB7MXxVLCB7MHgyY2I4fX19LAorICB7
MHgyY2JiLCB7MXxVLCB7MHgyY2JhfX19LAorICB7MHgyY2JkLCB7MXxVLCB7MHgyY2JjfX19LAor
ICB7MHgyY2JmLCB7MXxVLCB7MHgyY2JlfX19LAorICB7MHgyY2MxLCB7MXxVLCB7MHgyY2MwfX19
LAorICB7MHgyY2MzLCB7MXxVLCB7MHgyY2MyfX19LAorICB7MHgyY2M1LCB7MXxVLCB7MHgyY2M0
fX19LAorICB7MHgyY2M3LCB7MXxVLCB7MHgyY2M2fX19LAorICB7MHgyY2M5LCB7MXxVLCB7MHgy
Y2M4fX19LAorICB7MHgyY2NiLCB7MXxVLCB7MHgyY2NhfX19LAorICB7MHgyY2NkLCB7MXxVLCB7
MHgyY2NjfX19LAorICB7MHgyY2NmLCB7MXxVLCB7MHgyY2NlfX19LAorICB7MHgyY2QxLCB7MXxV
LCB7MHgyY2QwfX19LAorICB7MHgyY2QzLCB7MXxVLCB7MHgyY2QyfX19LAorICB7MHgyY2Q1LCB7
MXxVLCB7MHgyY2Q0fX19LAorICB7MHgyY2Q3LCB7MXxVLCB7MHgyY2Q2fX19LAorICB7MHgyY2Q5
LCB7MXxVLCB7MHgyY2Q4fX19LAorICB7MHgyY2RiLCB7MXxVLCB7MHgyY2RhfX19LAorICB7MHgy
Y2RkLCB7MXxVLCB7MHgyY2RjfX19LAorICB7MHgyY2RmLCB7MXxVLCB7MHgyY2RlfX19LAorICB7
MHgyY2UxLCB7MXxVLCB7MHgyY2UwfX19LAorICB7MHgyY2UzLCB7MXxVLCB7MHgyY2UyfX19LAor
ICB7MHgyY2VjLCB7MXxVLCB7MHgyY2VifX19LAorICB7MHgyY2VlLCB7MXxVLCB7MHgyY2VkfX19
LAorICB7MHgyY2YzLCB7MXxVLCB7MHgyY2YyfX19LAorICB7MHgyZDAwLCB7MXxVLCB7MHgxMGEw
fX19LAorICB7MHgyZDAxLCB7MXxVLCB7MHgxMGExfX19LAorICB7MHgyZDAyLCB7MXxVLCB7MHgx
MGEyfX19LAorICB7MHgyZDAzLCB7MXxVLCB7MHgxMGEzfX19LAorICB7MHgyZDA0LCB7MXxVLCB7
MHgxMGE0fX19LAorICB7MHgyZDA1LCB7MXxVLCB7MHgxMGE1fX19LAorICB7MHgyZDA2LCB7MXxV
LCB7MHgxMGE2fX19LAorICB7MHgyZDA3LCB7MXxVLCB7MHgxMGE3fX19LAorICB7MHgyZDA4LCB7
MXxVLCB7MHgxMGE4fX19LAorICB7MHgyZDA5LCB7MXxVLCB7MHgxMGE5fX19LAorICB7MHgyZDBh
LCB7MXxVLCB7MHgxMGFhfX19LAorICB7MHgyZDBiLCB7MXxVLCB7MHgxMGFifX19LAorICB7MHgy
ZDBjLCB7MXxVLCB7MHgxMGFjfX19LAorICB7MHgyZDBkLCB7MXxVLCB7MHgxMGFkfX19LAorICB7
MHgyZDBlLCB7MXxVLCB7MHgxMGFlfX19LAorICB7MHgyZDBmLCB7MXxVLCB7MHgxMGFmfX19LAor
ICB7MHgyZDEwLCB7MXxVLCB7MHgxMGIwfX19LAorICB7MHgyZDExLCB7MXxVLCB7MHgxMGIxfX19
LAorICB7MHgyZDEyLCB7MXxVLCB7MHgxMGIyfX19LAorICB7MHgyZDEzLCB7MXxVLCB7MHgxMGIz
fX19LAorICB7MHgyZDE0LCB7MXxVLCB7MHgxMGI0fX19LAorICB7MHgyZDE1LCB7MXxVLCB7MHgx
MGI1fX19LAorICB7MHgyZDE2LCB7MXxVLCB7MHgxMGI2fX19LAorICB7MHgyZDE3LCB7MXxVLCB7
MHgxMGI3fX19LAorICB7MHgyZDE4LCB7MXxVLCB7MHgxMGI4fX19LAorICB7MHgyZDE5LCB7MXxV
LCB7MHgxMGI5fX19LAorICB7MHgyZDFhLCB7MXxVLCB7MHgxMGJhfX19LAorICB7MHgyZDFiLCB7
MXxVLCB7MHgxMGJifX19LAorICB7MHgyZDFjLCB7MXxVLCB7MHgxMGJjfX19LAorICB7MHgyZDFk
LCB7MXxVLCB7MHgxMGJkfX19LAorICB7MHgyZDFlLCB7MXxVLCB7MHgxMGJlfX19LAorICB7MHgy
ZDFmLCB7MXxVLCB7MHgxMGJmfX19LAorICB7MHgyZDIwLCB7MXxVLCB7MHgxMGMwfX19LAorICB7
MHgyZDIxLCB7MXxVLCB7MHgxMGMxfX19LAorICB7MHgyZDIyLCB7MXxVLCB7MHgxMGMyfX19LAor
ICB7MHgyZDIzLCB7MXxVLCB7MHgxMGMzfX19LAorICB7MHgyZDI0LCB7MXxVLCB7MHgxMGM0fX19
LAorICB7MHgyZDI1LCB7MXxVLCB7MHgxMGM1fX19LAorICB7MHgyZDI3LCB7MXxVLCB7MHgxMGM3
fX19LAorICB7MHgyZDJkLCB7MXxVLCB7MHgxMGNkfX19LAorICB7MHhhNjQxLCB7MXxVLCB7MHhh
NjQwfX19LAorICB7MHhhNjQzLCB7MXxVLCB7MHhhNjQyfX19LAorICB7MHhhNjQ1LCB7MXxVLCB7
MHhhNjQ0fX19LAorICB7MHhhNjQ3LCB7MXxVLCB7MHhhNjQ2fX19LAorICB7MHhhNjQ5LCB7MXxV
LCB7MHhhNjQ4fX19LAorICB7MHhhNjRiLCB7MnxVLCB7MHhhNjRhLCAweDFjODh9fX0sCisgIHsw
eGE2NGQsIHsxfFUsIHsweGE2NGN9fX0sCisgIHsweGE2NGYsIHsxfFUsIHsweGE2NGV9fX0sCisg
IHsweGE2NTEsIHsxfFUsIHsweGE2NTB9fX0sCisgIHsweGE2NTMsIHsxfFUsIHsweGE2NTJ9fX0s
CisgIHsweGE2NTUsIHsxfFUsIHsweGE2NTR9fX0sCisgIHsweGE2NTcsIHsxfFUsIHsweGE2NTZ9
fX0sCisgIHsweGE2NTksIHsxfFUsIHsweGE2NTh9fX0sCisgIHsweGE2NWIsIHsxfFUsIHsweGE2
NWF9fX0sCisgIHsweGE2NWQsIHsxfFUsIHsweGE2NWN9fX0sCisgIHsweGE2NWYsIHsxfFUsIHsw
eGE2NWV9fX0sCisgIHsweGE2NjEsIHsxfFUsIHsweGE2NjB9fX0sCisgIHsweGE2NjMsIHsxfFUs
IHsweGE2NjJ9fX0sCisgIHsweGE2NjUsIHsxfFUsIHsweGE2NjR9fX0sCisgIHsweGE2NjcsIHsx
fFUsIHsweGE2NjZ9fX0sCisgIHsweGE2NjksIHsxfFUsIHsweGE2Njh9fX0sCisgIHsweGE2NmIs
IHsxfFUsIHsweGE2NmF9fX0sCisgIHsweGE2NmQsIHsxfFUsIHsweGE2NmN9fX0sCisgIHsweGE2
ODEsIHsxfFUsIHsweGE2ODB9fX0sCisgIHsweGE2ODMsIHsxfFUsIHsweGE2ODJ9fX0sCisgIHsw
eGE2ODUsIHsxfFUsIHsweGE2ODR9fX0sCisgIHsweGE2ODcsIHsxfFUsIHsweGE2ODZ9fX0sCisg
IHsweGE2ODksIHsxfFUsIHsweGE2ODh9fX0sCisgIHsweGE2OGIsIHsxfFUsIHsweGE2OGF9fX0s
CisgIHsweGE2OGQsIHsxfFUsIHsweGE2OGN9fX0sCisgIHsweGE2OGYsIHsxfFUsIHsweGE2OGV9
fX0sCisgIHsweGE2OTEsIHsxfFUsIHsweGE2OTB9fX0sCisgIHsweGE2OTMsIHsxfFUsIHsweGE2
OTJ9fX0sCisgIHsweGE2OTUsIHsxfFUsIHsweGE2OTR9fX0sCisgIHsweGE2OTcsIHsxfFUsIHsw
eGE2OTZ9fX0sCisgIHsweGE2OTksIHsxfFUsIHsweGE2OTh9fX0sCisgIHsweGE2OWIsIHsxfFUs
IHsweGE2OWF9fX0sCisgIHsweGE3MjMsIHsxfFUsIHsweGE3MjJ9fX0sCisgIHsweGE3MjUsIHsx
fFUsIHsweGE3MjR9fX0sCisgIHsweGE3MjcsIHsxfFUsIHsweGE3MjZ9fX0sCisgIHsweGE3Mjks
IHsxfFUsIHsweGE3Mjh9fX0sCisgIHsweGE3MmIsIHsxfFUsIHsweGE3MmF9fX0sCisgIHsweGE3
MmQsIHsxfFUsIHsweGE3MmN9fX0sCisgIHsweGE3MmYsIHsxfFUsIHsweGE3MmV9fX0sCisgIHsw
eGE3MzMsIHsxfFUsIHsweGE3MzJ9fX0sCisgIHsweGE3MzUsIHsxfFUsIHsweGE3MzR9fX0sCisg
IHsweGE3MzcsIHsxfFUsIHsweGE3MzZ9fX0sCisgIHsweGE3MzksIHsxfFUsIHsweGE3Mzh9fX0s
CisgIHsweGE3M2IsIHsxfFUsIHsweGE3M2F9fX0sCisgIHsweGE3M2QsIHsxfFUsIHsweGE3M2N9
fX0sCisgIHsweGE3M2YsIHsxfFUsIHsweGE3M2V9fX0sCisgIHsweGE3NDEsIHsxfFUsIHsweGE3
NDB9fX0sCisgIHsweGE3NDMsIHsxfFUsIHsweGE3NDJ9fX0sCisgIHsweGE3NDUsIHsxfFUsIHsw
eGE3NDR9fX0sCisgIHsweGE3NDcsIHsxfFUsIHsweGE3NDZ9fX0sCisgIHsweGE3NDksIHsxfFUs
IHsweGE3NDh9fX0sCisgIHsweGE3NGIsIHsxfFUsIHsweGE3NGF9fX0sCisgIHsweGE3NGQsIHsx
fFUsIHsweGE3NGN9fX0sCisgIHsweGE3NGYsIHsxfFUsIHsweGE3NGV9fX0sCisgIHsweGE3NTEs
IHsxfFUsIHsweGE3NTB9fX0sCisgIHsweGE3NTMsIHsxfFUsIHsweGE3NTJ9fX0sCisgIHsweGE3
NTUsIHsxfFUsIHsweGE3NTR9fX0sCisgIHsweGE3NTcsIHsxfFUsIHsweGE3NTZ9fX0sCisgIHsw
eGE3NTksIHsxfFUsIHsweGE3NTh9fX0sCisgIHsweGE3NWIsIHsxfFUsIHsweGE3NWF9fX0sCisg
IHsweGE3NWQsIHsxfFUsIHsweGE3NWN9fX0sCisgIHsweGE3NWYsIHsxfFUsIHsweGE3NWV9fX0s
CisgIHsweGE3NjEsIHsxfFUsIHsweGE3NjB9fX0sCisgIHsweGE3NjMsIHsxfFUsIHsweGE3NjJ9
fX0sCisgIHsweGE3NjUsIHsxfFUsIHsweGE3NjR9fX0sCisgIHsweGE3NjcsIHsxfFUsIHsweGE3
NjZ9fX0sCisgIHsweGE3NjksIHsxfFUsIHsweGE3Njh9fX0sCisgIHsweGE3NmIsIHsxfFUsIHsw
eGE3NmF9fX0sCisgIHsweGE3NmQsIHsxfFUsIHsweGE3NmN9fX0sCisgIHsweGE3NmYsIHsxfFUs
IHsweGE3NmV9fX0sCisgIHsweGE3N2EsIHsxfFUsIHsweGE3Nzl9fX0sCisgIHsweGE3N2MsIHsx
fFUsIHsweGE3N2J9fX0sCisgIHsweGE3N2YsIHsxfFUsIHsweGE3N2V9fX0sCisgIHsweGE3ODEs
IHsxfFUsIHsweGE3ODB9fX0sCisgIHsweGE3ODMsIHsxfFUsIHsweGE3ODJ9fX0sCisgIHsweGE3
ODUsIHsxfFUsIHsweGE3ODR9fX0sCisgIHsweGE3ODcsIHsxfFUsIHsweGE3ODZ9fX0sCisgIHsw
eGE3OGMsIHsxfFUsIHsweGE3OGJ9fX0sCisgIHsweGE3OTEsIHsxfFUsIHsweGE3OTB9fX0sCisg
IHsweGE3OTMsIHsxfFUsIHsweGE3OTJ9fX0sCisgIHsweGE3OTQsIHsxfFUsIHsweGE3YzR9fX0s
CisgIHsweGE3OTcsIHsxfFUsIHsweGE3OTZ9fX0sCisgIHsweGE3OTksIHsxfFUsIHsweGE3OTh9
fX0sCisgIHsweGE3OWIsIHsxfFUsIHsweGE3OWF9fX0sCisgIHsweGE3OWQsIHsxfFUsIHsweGE3
OWN9fX0sCisgIHsweGE3OWYsIHsxfFUsIHsweGE3OWV9fX0sCisgIHsweGE3YTEsIHsxfFUsIHsw
eGE3YTB9fX0sCisgIHsweGE3YTMsIHsxfFUsIHsweGE3YTJ9fX0sCisgIHsweGE3YTUsIHsxfFUs
IHsweGE3YTR9fX0sCisgIHsweGE3YTcsIHsxfFUsIHsweGE3YTZ9fX0sCisgIHsweGE3YTksIHsx
fFUsIHsweGE3YTh9fX0sCisgIHsweGE3YjUsIHsxfFUsIHsweGE3YjR9fX0sCisgIHsweGE3Yjcs
IHsxfFUsIHsweGE3YjZ9fX0sCisgIHsweGE3YjksIHsxfFUsIHsweGE3Yjh9fX0sCisgIHsweGE3
YmIsIHsxfFUsIHsweGE3YmF9fX0sCisgIHsweGE3YmQsIHsxfFUsIHsweGE3YmN9fX0sCisgIHsw
eGE3YmYsIHsxfFUsIHsweGE3YmV9fX0sCisgIHsweGE3YzMsIHsxfFUsIHsweGE3YzJ9fX0sCisg
IHsweGFiNTMsIHsxfFUsIHsweGE3YjN9fX0sCisgIHsweGZmNDEsIHsxfFUsIHsweGZmMjF9fX0s
CisgIHsweGZmNDIsIHsxfFUsIHsweGZmMjJ9fX0sCisgIHsweGZmNDMsIHsxfFUsIHsweGZmMjN9
fX0sCisgIHsweGZmNDQsIHsxfFUsIHsweGZmMjR9fX0sCisgIHsweGZmNDUsIHsxfFUsIHsweGZm
MjV9fX0sCisgIHsweGZmNDYsIHsxfFUsIHsweGZmMjZ9fX0sCisgIHsweGZmNDcsIHsxfFUsIHsw
eGZmMjd9fX0sCisgIHsweGZmNDgsIHsxfFUsIHsweGZmMjh9fX0sCisgIHsweGZmNDksIHsxfFUs
IHsweGZmMjl9fX0sCisgIHsweGZmNGEsIHsxfFUsIHsweGZmMmF9fX0sCisgIHsweGZmNGIsIHsx
fFUsIHsweGZmMmJ9fX0sCisgIHsweGZmNGMsIHsxfFUsIHsweGZmMmN9fX0sCisgIHsweGZmNGQs
IHsxfFUsIHsweGZmMmR9fX0sCisgIHsweGZmNGUsIHsxfFUsIHsweGZmMmV9fX0sCisgIHsweGZm
NGYsIHsxfFUsIHsweGZmMmZ9fX0sCisgIHsweGZmNTAsIHsxfFUsIHsweGZmMzB9fX0sCisgIHsw
eGZmNTEsIHsxfFUsIHsweGZmMzF9fX0sCisgIHsweGZmNTIsIHsxfFUsIHsweGZmMzJ9fX0sCisg
IHsweGZmNTMsIHsxfFUsIHsweGZmMzN9fX0sCisgIHsweGZmNTQsIHsxfFUsIHsweGZmMzR9fX0s
CisgIHsweGZmNTUsIHsxfFUsIHsweGZmMzV9fX0sCisgIHsweGZmNTYsIHsxfFUsIHsweGZmMzZ9
fX0sCisgIHsweGZmNTcsIHsxfFUsIHsweGZmMzd9fX0sCisgIHsweGZmNTgsIHsxfFUsIHsweGZm
Mzh9fX0sCisgIHsweGZmNTksIHsxfFUsIHsweGZmMzl9fX0sCisgIHsweGZmNWEsIHsxfFUsIHsw
eGZmM2F9fX0sCisgIHsweDEwNDI4LCB7MXxVLCB7MHgxMDQwMH19fSwKKyAgezB4MTA0MjksIHsx
fFUsIHsweDEwNDAxfX19LAorICB7MHgxMDQyYSwgezF8VSwgezB4MTA0MDJ9fX0sCisgIHsweDEw
NDJiLCB7MXxVLCB7MHgxMDQwM319fSwKKyAgezB4MTA0MmMsIHsxfFUsIHsweDEwNDA0fX19LAor
ICB7MHgxMDQyZCwgezF8VSwgezB4MTA0MDV9fX0sCisgIHsweDEwNDJlLCB7MXxVLCB7MHgxMDQw
Nn19fSwKKyAgezB4MTA0MmYsIHsxfFUsIHsweDEwNDA3fX19LAorICB7MHgxMDQzMCwgezF8VSwg
ezB4MTA0MDh9fX0sCisgIHsweDEwNDMxLCB7MXxVLCB7MHgxMDQwOX19fSwKKyAgezB4MTA0MzIs
IHsxfFUsIHsweDEwNDBhfX19LAorICB7MHgxMDQzMywgezF8VSwgezB4MTA0MGJ9fX0sCisgIHsw
eDEwNDM0LCB7MXxVLCB7MHgxMDQwY319fSwKKyAgezB4MTA0MzUsIHsxfFUsIHsweDEwNDBkfX19
LAorICB7MHgxMDQzNiwgezF8VSwgezB4MTA0MGV9fX0sCisgIHsweDEwNDM3LCB7MXxVLCB7MHgx
MDQwZn19fSwKKyAgezB4MTA0MzgsIHsxfFUsIHsweDEwNDEwfX19LAorICB7MHgxMDQzOSwgezF8
VSwgezB4MTA0MTF9fX0sCisgIHsweDEwNDNhLCB7MXxVLCB7MHgxMDQxMn19fSwKKyAgezB4MTA0
M2IsIHsxfFUsIHsweDEwNDEzfX19LAorICB7MHgxMDQzYywgezF8VSwgezB4MTA0MTR9fX0sCisg
IHsweDEwNDNkLCB7MXxVLCB7MHgxMDQxNX19fSwKKyAgezB4MTA0M2UsIHsxfFUsIHsweDEwNDE2
fX19LAorICB7MHgxMDQzZiwgezF8VSwgezB4MTA0MTd9fX0sCisgIHsweDEwNDQwLCB7MXxVLCB7
MHgxMDQxOH19fSwKKyAgezB4MTA0NDEsIHsxfFUsIHsweDEwNDE5fX19LAorICB7MHgxMDQ0Miwg
ezF8VSwgezB4MTA0MWF9fX0sCisgIHsweDEwNDQzLCB7MXxVLCB7MHgxMDQxYn19fSwKKyAgezB4
MTA0NDQsIHsxfFUsIHsweDEwNDFjfX19LAorICB7MHgxMDQ0NSwgezF8VSwgezB4MTA0MWR9fX0s
CisgIHsweDEwNDQ2LCB7MXxVLCB7MHgxMDQxZX19fSwKKyAgezB4MTA0NDcsIHsxfFUsIHsweDEw
NDFmfX19LAorICB7MHgxMDQ0OCwgezF8VSwgezB4MTA0MjB9fX0sCisgIHsweDEwNDQ5LCB7MXxV
LCB7MHgxMDQyMX19fSwKKyAgezB4MTA0NGEsIHsxfFUsIHsweDEwNDIyfX19LAorICB7MHgxMDQ0
YiwgezF8VSwgezB4MTA0MjN9fX0sCisgIHsweDEwNDRjLCB7MXxVLCB7MHgxMDQyNH19fSwKKyAg
ezB4MTA0NGQsIHsxfFUsIHsweDEwNDI1fX19LAorICB7MHgxMDQ0ZSwgezF8VSwgezB4MTA0MjZ9
fX0sCisgIHsweDEwNDRmLCB7MXxVLCB7MHgxMDQyN319fSwKKyAgezB4MTA0ZDgsIHsxfFUsIHsw
eDEwNGIwfX19LAorICB7MHgxMDRkOSwgezF8VSwgezB4MTA0YjF9fX0sCisgIHsweDEwNGRhLCB7
MXxVLCB7MHgxMDRiMn19fSwKKyAgezB4MTA0ZGIsIHsxfFUsIHsweDEwNGIzfX19LAorICB7MHgx
MDRkYywgezF8VSwgezB4MTA0YjR9fX0sCisgIHsweDEwNGRkLCB7MXxVLCB7MHgxMDRiNX19fSwK
KyAgezB4MTA0ZGUsIHsxfFUsIHsweDEwNGI2fX19LAorICB7MHgxMDRkZiwgezF8VSwgezB4MTA0
Yjd9fX0sCisgIHsweDEwNGUwLCB7MXxVLCB7MHgxMDRiOH19fSwKKyAgezB4MTA0ZTEsIHsxfFUs
IHsweDEwNGI5fX19LAorICB7MHgxMDRlMiwgezF8VSwgezB4MTA0YmF9fX0sCisgIHsweDEwNGUz
LCB7MXxVLCB7MHgxMDRiYn19fSwKKyAgezB4MTA0ZTQsIHsxfFUsIHsweDEwNGJjfX19LAorICB7
MHgxMDRlNSwgezF8VSwgezB4MTA0YmR9fX0sCisgIHsweDEwNGU2LCB7MXxVLCB7MHgxMDRiZX19
fSwKKyAgezB4MTA0ZTcsIHsxfFUsIHsweDEwNGJmfX19LAorICB7MHgxMDRlOCwgezF8VSwgezB4
MTA0YzB9fX0sCisgIHsweDEwNGU5LCB7MXxVLCB7MHgxMDRjMX19fSwKKyAgezB4MTA0ZWEsIHsx
fFUsIHsweDEwNGMyfX19LAorICB7MHgxMDRlYiwgezF8VSwgezB4MTA0YzN9fX0sCisgIHsweDEw
NGVjLCB7MXxVLCB7MHgxMDRjNH19fSwKKyAgezB4MTA0ZWQsIHsxfFUsIHsweDEwNGM1fX19LAor
ICB7MHgxMDRlZSwgezF8VSwgezB4MTA0YzZ9fX0sCisgIHsweDEwNGVmLCB7MXxVLCB7MHgxMDRj
N319fSwKKyAgezB4MTA0ZjAsIHsxfFUsIHsweDEwNGM4fX19LAorICB7MHgxMDRmMSwgezF8VSwg
ezB4MTA0Yzl9fX0sCisgIHsweDEwNGYyLCB7MXxVLCB7MHgxMDRjYX19fSwKKyAgezB4MTA0ZjMs
IHsxfFUsIHsweDEwNGNifX19LAorICB7MHgxMDRmNCwgezF8VSwgezB4MTA0Y2N9fX0sCisgIHsw
eDEwNGY1LCB7MXxVLCB7MHgxMDRjZH19fSwKKyAgezB4MTA0ZjYsIHsxfFUsIHsweDEwNGNlfX19
LAorICB7MHgxMDRmNywgezF8VSwgezB4MTA0Y2Z9fX0sCisgIHsweDEwNGY4LCB7MXxVLCB7MHgx
MDRkMH19fSwKKyAgezB4MTA0ZjksIHsxfFUsIHsweDEwNGQxfX19LAorICB7MHgxMDRmYSwgezF8
VSwgezB4MTA0ZDJ9fX0sCisgIHsweDEwNGZiLCB7MXxVLCB7MHgxMDRkM319fSwKKyAgezB4MTBj
YzAsIHsxfFUsIHsweDEwYzgwfX19LAorICB7MHgxMGNjMSwgezF8VSwgezB4MTBjODF9fX0sCisg
IHsweDEwY2MyLCB7MXxVLCB7MHgxMGM4Mn19fSwKKyAgezB4MTBjYzMsIHsxfFUsIHsweDEwYzgz
fX19LAorICB7MHgxMGNjNCwgezF8VSwgezB4MTBjODR9fX0sCisgIHsweDEwY2M1LCB7MXxVLCB7
MHgxMGM4NX19fSwKKyAgezB4MTBjYzYsIHsxfFUsIHsweDEwYzg2fX19LAorICB7MHgxMGNjNywg
ezF8VSwgezB4MTBjODd9fX0sCisgIHsweDEwY2M4LCB7MXxVLCB7MHgxMGM4OH19fSwKKyAgezB4
MTBjYzksIHsxfFUsIHsweDEwYzg5fX19LAorICB7MHgxMGNjYSwgezF8VSwgezB4MTBjOGF9fX0s
CisgIHsweDEwY2NiLCB7MXxVLCB7MHgxMGM4Yn19fSwKKyAgezB4MTBjY2MsIHsxfFUsIHsweDEw
YzhjfX19LAorICB7MHgxMGNjZCwgezF8VSwgezB4MTBjOGR9fX0sCisgIHsweDEwY2NlLCB7MXxV
LCB7MHgxMGM4ZX19fSwKKyAgezB4MTBjY2YsIHsxfFUsIHsweDEwYzhmfX19LAorICB7MHgxMGNk
MCwgezF8VSwgezB4MTBjOTB9fX0sCisgIHsweDEwY2QxLCB7MXxVLCB7MHgxMGM5MX19fSwKKyAg
ezB4MTBjZDIsIHsxfFUsIHsweDEwYzkyfX19LAorICB7MHgxMGNkMywgezF8VSwgezB4MTBjOTN9
fX0sCisgIHsweDEwY2Q0LCB7MXxVLCB7MHgxMGM5NH19fSwKKyAgezB4MTBjZDUsIHsxfFUsIHsw
eDEwYzk1fX19LAorICB7MHgxMGNkNiwgezF8VSwgezB4MTBjOTZ9fX0sCisgIHsweDEwY2Q3LCB7
MXxVLCB7MHgxMGM5N319fSwKKyAgezB4MTBjZDgsIHsxfFUsIHsweDEwYzk4fX19LAorICB7MHgx
MGNkOSwgezF8VSwgezB4MTBjOTl9fX0sCisgIHsweDEwY2RhLCB7MXxVLCB7MHgxMGM5YX19fSwK
KyAgezB4MTBjZGIsIHsxfFUsIHsweDEwYzlifX19LAorICB7MHgxMGNkYywgezF8VSwgezB4MTBj
OWN9fX0sCisgIHsweDEwY2RkLCB7MXxVLCB7MHgxMGM5ZH19fSwKKyAgezB4MTBjZGUsIHsxfFUs
IHsweDEwYzllfX19LAorICB7MHgxMGNkZiwgezF8VSwgezB4MTBjOWZ9fX0sCisgIHsweDEwY2Uw
LCB7MXxVLCB7MHgxMGNhMH19fSwKKyAgezB4MTBjZTEsIHsxfFUsIHsweDEwY2ExfX19LAorICB7
MHgxMGNlMiwgezF8VSwgezB4MTBjYTJ9fX0sCisgIHsweDEwY2UzLCB7MXxVLCB7MHgxMGNhM319
fSwKKyAgezB4MTBjZTQsIHsxfFUsIHsweDEwY2E0fX19LAorICB7MHgxMGNlNSwgezF8VSwgezB4
MTBjYTV9fX0sCisgIHsweDEwY2U2LCB7MXxVLCB7MHgxMGNhNn19fSwKKyAgezB4MTBjZTcsIHsx
fFUsIHsweDEwY2E3fX19LAorICB7MHgxMGNlOCwgezF8VSwgezB4MTBjYTh9fX0sCisgIHsweDEw
Y2U5LCB7MXxVLCB7MHgxMGNhOX19fSwKKyAgezB4MTBjZWEsIHsxfFUsIHsweDEwY2FhfX19LAor
ICB7MHgxMGNlYiwgezF8VSwgezB4MTBjYWJ9fX0sCisgIHsweDEwY2VjLCB7MXxVLCB7MHgxMGNh
Y319fSwKKyAgezB4MTBjZWQsIHsxfFUsIHsweDEwY2FkfX19LAorICB7MHgxMGNlZSwgezF8VSwg
ezB4MTBjYWV9fX0sCisgIHsweDEwY2VmLCB7MXxVLCB7MHgxMGNhZn19fSwKKyAgezB4MTBjZjAs
IHsxfFUsIHsweDEwY2IwfX19LAorICB7MHgxMGNmMSwgezF8VSwgezB4MTBjYjF9fX0sCisgIHsw
eDEwY2YyLCB7MXxVLCB7MHgxMGNiMn19fSwKKyAgezB4MTE4YzAsIHsxfFUsIHsweDExOGEwfX19
LAorICB7MHgxMThjMSwgezF8VSwgezB4MTE4YTF9fX0sCisgIHsweDExOGMyLCB7MXxVLCB7MHgx
MThhMn19fSwKKyAgezB4MTE4YzMsIHsxfFUsIHsweDExOGEzfX19LAorICB7MHgxMThjNCwgezF8
VSwgezB4MTE4YTR9fX0sCisgIHsweDExOGM1LCB7MXxVLCB7MHgxMThhNX19fSwKKyAgezB4MTE4
YzYsIHsxfFUsIHsweDExOGE2fX19LAorICB7MHgxMThjNywgezF8VSwgezB4MTE4YTd9fX0sCisg
IHsweDExOGM4LCB7MXxVLCB7MHgxMThhOH19fSwKKyAgezB4MTE4YzksIHsxfFUsIHsweDExOGE5
fX19LAorICB7MHgxMThjYSwgezF8VSwgezB4MTE4YWF9fX0sCisgIHsweDExOGNiLCB7MXxVLCB7
MHgxMThhYn19fSwKKyAgezB4MTE4Y2MsIHsxfFUsIHsweDExOGFjfX19LAorICB7MHgxMThjZCwg
ezF8VSwgezB4MTE4YWR9fX0sCisgIHsweDExOGNlLCB7MXxVLCB7MHgxMThhZX19fSwKKyAgezB4
MTE4Y2YsIHsxfFUsIHsweDExOGFmfX19LAorICB7MHgxMThkMCwgezF8VSwgezB4MTE4YjB9fX0s
CisgIHsweDExOGQxLCB7MXxVLCB7MHgxMThiMX19fSwKKyAgezB4MTE4ZDIsIHsxfFUsIHsweDEx
OGIyfX19LAorICB7MHgxMThkMywgezF8VSwgezB4MTE4YjN9fX0sCisgIHsweDExOGQ0LCB7MXxV
LCB7MHgxMThiNH19fSwKKyAgezB4MTE4ZDUsIHsxfFUsIHsweDExOGI1fX19LAorICB7MHgxMThk
NiwgezF8VSwgezB4MTE4YjZ9fX0sCisgIHsweDExOGQ3LCB7MXxVLCB7MHgxMThiN319fSwKKyAg
ezB4MTE4ZDgsIHsxfFUsIHsweDExOGI4fX19LAorICB7MHgxMThkOSwgezF8VSwgezB4MTE4Yjl9
fX0sCisgIHsweDExOGRhLCB7MXxVLCB7MHgxMThiYX19fSwKKyAgezB4MTE4ZGIsIHsxfFUsIHsw
eDExOGJifX19LAorICB7MHgxMThkYywgezF8VSwgezB4MTE4YmN9fX0sCisgIHsweDExOGRkLCB7
MXxVLCB7MHgxMThiZH19fSwKKyAgezB4MTE4ZGUsIHsxfFUsIHsweDExOGJlfX19LAorICB7MHgx
MThkZiwgezF8VSwgezB4MTE4YmZ9fX0sCisgIHsweDE2ZTYwLCB7MXxVLCB7MHgxNmU0MH19fSwK
KyAgezB4MTZlNjEsIHsxfFUsIHsweDE2ZTQxfX19LAorICB7MHgxNmU2MiwgezF8VSwgezB4MTZl
NDJ9fX0sCisgIHsweDE2ZTYzLCB7MXxVLCB7MHgxNmU0M319fSwKKyAgezB4MTZlNjQsIHsxfFUs
IHsweDE2ZTQ0fX19LAorICB7MHgxNmU2NSwgezF8VSwgezB4MTZlNDV9fX0sCisgIHsweDE2ZTY2
LCB7MXxVLCB7MHgxNmU0Nn19fSwKKyAgezB4MTZlNjcsIHsxfFUsIHsweDE2ZTQ3fX19LAorICB7
MHgxNmU2OCwgezF8VSwgezB4MTZlNDh9fX0sCisgIHsweDE2ZTY5LCB7MXxVLCB7MHgxNmU0OX19
fSwKKyAgezB4MTZlNmEsIHsxfFUsIHsweDE2ZTRhfX19LAorICB7MHgxNmU2YiwgezF8VSwgezB4
MTZlNGJ9fX0sCisgIHsweDE2ZTZjLCB7MXxVLCB7MHgxNmU0Y319fSwKKyAgezB4MTZlNmQsIHsx
fFUsIHsweDE2ZTRkfX19LAorICB7MHgxNmU2ZSwgezF8VSwgezB4MTZlNGV9fX0sCisgIHsweDE2
ZTZmLCB7MXxVLCB7MHgxNmU0Zn19fSwKKyAgezB4MTZlNzAsIHsxfFUsIHsweDE2ZTUwfX19LAor
ICB7MHgxNmU3MSwgezF8VSwgezB4MTZlNTF9fX0sCisgIHsweDE2ZTcyLCB7MXxVLCB7MHgxNmU1
Mn19fSwKKyAgezB4MTZlNzMsIHsxfFUsIHsweDE2ZTUzfX19LAorICB7MHgxNmU3NCwgezF8VSwg
ezB4MTZlNTR9fX0sCisgIHsweDE2ZTc1LCB7MXxVLCB7MHgxNmU1NX19fSwKKyAgezB4MTZlNzYs
IHsxfFUsIHsweDE2ZTU2fX19LAorICB7MHgxNmU3NywgezF8VSwgezB4MTZlNTd9fX0sCisgIHsw
eDE2ZTc4LCB7MXxVLCB7MHgxNmU1OH19fSwKKyAgezB4MTZlNzksIHsxfFUsIHsweDE2ZTU5fX19
LAorICB7MHgxNmU3YSwgezF8VSwgezB4MTZlNWF9fX0sCisgIHsweDE2ZTdiLCB7MXxVLCB7MHgx
NmU1Yn19fSwKKyAgezB4MTZlN2MsIHsxfFUsIHsweDE2ZTVjfX19LAorICB7MHgxNmU3ZCwgezF8
VSwgezB4MTZlNWR9fX0sCisgIHsweDE2ZTdlLCB7MXxVLCB7MHgxNmU1ZX19fSwKKyAgezB4MTZl
N2YsIHsxfFUsIHsweDE2ZTVmfX19LAorICB7MHgxZTkyMiwgezF8VSwgezB4MWU5MDB9fX0sCisg
IHsweDFlOTIzLCB7MXxVLCB7MHgxZTkwMX19fSwKKyAgezB4MWU5MjQsIHsxfFUsIHsweDFlOTAy
fX19LAorICB7MHgxZTkyNSwgezF8VSwgezB4MWU5MDN9fX0sCisgIHsweDFlOTI2LCB7MXxVLCB7
MHgxZTkwNH19fSwKKyAgezB4MWU5MjcsIHsxfFUsIHsweDFlOTA1fX19LAorICB7MHgxZTkyOCwg
ezF8VSwgezB4MWU5MDZ9fX0sCisgIHsweDFlOTI5LCB7MXxVLCB7MHgxZTkwN319fSwKKyAgezB4
MWU5MmEsIHsxfFUsIHsweDFlOTA4fX19LAorICB7MHgxZTkyYiwgezF8VSwgezB4MWU5MDl9fX0s
CisgIHsweDFlOTJjLCB7MXxVLCB7MHgxZTkwYX19fSwKKyAgezB4MWU5MmQsIHsxfFUsIHsweDFl
OTBifX19LAorICB7MHgxZTkyZSwgezF8VSwgezB4MWU5MGN9fX0sCisgIHsweDFlOTJmLCB7MXxV
LCB7MHgxZTkwZH19fSwKKyAgezB4MWU5MzAsIHsxfFUsIHsweDFlOTBlfX19LAorICB7MHgxZTkz
MSwgezF8VSwgezB4MWU5MGZ9fX0sCisgIHsweDFlOTMyLCB7MXxVLCB7MHgxZTkxMH19fSwKKyAg
ezB4MWU5MzMsIHsxfFUsIHsweDFlOTExfX19LAorICB7MHgxZTkzNCwgezF8VSwgezB4MWU5MTJ9
fX0sCisgIHsweDFlOTM1LCB7MXxVLCB7MHgxZTkxM319fSwKKyAgezB4MWU5MzYsIHsxfFUsIHsw
eDFlOTE0fX19LAorICB7MHgxZTkzNywgezF8VSwgezB4MWU5MTV9fX0sCisgIHsweDFlOTM4LCB7
MXxVLCB7MHgxZTkxNn19fSwKKyAgezB4MWU5MzksIHsxfFUsIHsweDFlOTE3fX19LAorICB7MHgx
ZTkzYSwgezF8VSwgezB4MWU5MTh9fX0sCisgIHsweDFlOTNiLCB7MXxVLCB7MHgxZTkxOX19fSwK
KyAgezB4MWU5M2MsIHsxfFUsIHsweDFlOTFhfX19LAorICB7MHgxZTkzZCwgezF8VSwgezB4MWU5
MWJ9fX0sCisgIHsweDFlOTNlLCB7MXxVLCB7MHgxZTkxY319fSwKKyAgezB4MWU5M2YsIHsxfFUs
IHsweDFlOTFkfX19LAorICB7MHgxZTk0MCwgezF8VSwgezB4MWU5MWV9fX0sCisgIHsweDFlOTQx
LCB7MXxVLCB7MHgxZTkxZn19fSwKKyAgezB4MWU5NDIsIHsxfFUsIHsweDFlOTIwfX19LAorICB7
MHgxZTk0MywgezF8VSwgezB4MWU5MjF9fX0sCisjZGVmaW5lIENhc2VVbmZvbGRfMTFfTG9jYWxl
ICgqKENhc2VVbmZvbGRfMTFfVHlwZSAoKilbMV0pKENhc2VVbmZvbGRfMTFfVGFibGUrMTM1Mikp
CisgIHsweDAwNjksIHsxfFUsIHsweDAwNDl9fX0sCit9OworCisvKiBBTlNJLUMgY29kZSBwcm9k
dWNlZCBieSBncGVyZiB2ZXJzaW9uIDMuMSAqLworLyogQ29tbWFuZC1saW5lOiBncGVyZiAtNyAt
azEsMiwzIC1GLC0xIC1jIC1qMSAtaTEgLXQgLVQgLUUgLUMgLUggb25pZ2VuY191bmljb2RlX0Nh
c2VVbmZvbGRfMTFfaGFzaCAtTiBvbmlnZW5jX3VuaWNvZGVfQ2FzZVVuZm9sZF8xMV9sb29rdXAg
LW4gICovCisKKy8qIG1heGltdW0ga2V5IHJhbmdlID0gMjUwNywgZHVwbGljYXRlcyA9IDAgKi8K
KworI2lmZGVmIF9fR05VQ19fCitfX2lubGluZQorI2Vsc2UKKyNpZmRlZiBfX2NwbHVzcGx1cwor
aW5saW5lCisjZW5kaWYKKyNlbmRpZgorLypBUkdTVVNFRCovCitzdGF0aWMgdW5zaWduZWQgaW50
CitvbmlnZW5jX3VuaWNvZGVfQ2FzZVVuZm9sZF8xMV9oYXNoKGNvbnN0IE9uaWdDb2RlUG9pbnQg
Y29kZSkKK3sKKyAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIHNob3J0IGFzc29fdmFsdWVzW10gPQor
ICAgIHsKKyAgICAgICAgIDEsIDI1MTAsICAgIDIsICAgIDcsICAgIDQsICA1ODIsICAgIDksICAz
MDgsICAxOTcsICA2NzQsCisgICAgICAgMjk3LCAgIDIwLCAgICAyLCAgICAzLCAgMzAzLCAgMzUx
LCAyNTEwLCAyNTEwLCAyNTEwLCAyNTEwLAorICAgICAgMjUxMCwgMjUxMCwgMjUxMCwgMjUxMCwg
MjUxMCwgMjUxMCwgMjUxMCwgMjUxMCwgMjUxMCwgIDExMiwKKyAgICAgIDI1MTAsIDI1MTAsIDI1
MTAsIDI1MTAsIDI1MTAsIDI1MTAsIDI1MTAsICAxMjAsIDI1MTAsIDI1MTAsCisgICAgICAyNTEw
LCAyNTEwLCAyNTEwLCAgICAxLCAyNTEwLCAyNTEwLCAyNTEwLCAyNTEwLCAyNTEwLCAyNTEwLAor
ICAgICAgMjUxMCwgMjUxMCwgMjUxMCwgIDI3OCwgMjUxMCwgMjUxMCwgMjUxMCwgMjUxMCwgMjUx
MCwgMjUxMCwKKyAgICAgIDI1MTAsIDI1MTAsICAgMTIsICAgIDEsICAgIDcsICAgIDgsICAyMTgs
ICA4NzgsICAyMjIsIDExNzgsCisgICAgICAgNDgwLCAxMTAyLCAgIDU0LCAxMzQwLCAgMTUxLCAx
NjE1LCAgICA4LCAgIDE1LCAgMTA2LCAxNjA3LAorICAgICAgIDIyNSwgIDg1NCwgICA4NywgIDQ5
MCwgICA0NCwgMTM1MSwgICAgNSwgMTI4MSwgICAgMywgMTQ3MCwKKyAgICAgICAgMTEsIDEyMTUs
ICAzNzcsICAgMTAsICA0NDEsICA1OTksICAxNTIsIDE2NDIsICAxMjcsIDEzMzQsCisgICAgICAg
NzAyLCAgODQxLCAgNTk0LCAgODI3LCAgMTIzLCAgOTE2LCAgMTQ2LCAxMTE4LCAgMTE3LCAxMzYz
LAorICAgICAgIDI1NCwgIDgxMiwgIDI0OSwgMTA5NiwgMTYzMCwgIDk0NSwgIDQzNywgIDc0NSwg
MTYwMCwgIDcxOCwKKyAgICAgIDE1OTMsICA3MDQsICAxNTIsIDEwMDUsICAzODMsIDEwNjQsIDE0
OTMsICA5NzUsICAyMzYsICA2NzYsCisgICAgICAgNzYxLCAgNTc5LCAxMDE3LCAgNTU3LCAxMjQx
LCAgNjI4LCAxMTk1LCAgNjE0LCAxNTA2LCAgNDY0LAorICAgICAgMTU3NiwgIDUzNSwgMTQzMiwg
IDUxMywgMTE1OSwgIDQyMywgMTAyNiwgIDI3NiwgMTQ2MCwgIDI5MSwKKyAgICAgIDE0NTMsICAz
OTIsIDEyNjMsICAyMDEsIDE0NDIsICAgODUsIDE0MTIsICAgNzAsIDE0MzAsICAxMDAsCisgICAg
ICAxNjMyLCAgMTI5LCAxNDEwLCAgICAxLCAxMzg2LCAgIDI1LCAxMzczLCAgIDM1LCAgNjU2LCAg
IDU1LAorICAgICAgMTE4OCwgICA0NSwgMTMwOCwgIDE2MCwgIDY4NywgIDIyNywgIDM1NSwgIDE3
NSwgMTIwMSwgIDMyOCwKKyAgICAgIDEwMzAsICAzNjcsIDE0ODMsICA0MTQsIDE0NzksIDExNjYs
IDE0MTgsICA3ODMsICA5OTQsICA5MzcsCisgICAgICAxMDgzLCAgOTU5LCAxNDYzLCAgOTY3Cisg
ICAgfTsKKyAgcmV0dXJuIGFzc29fdmFsdWVzW2JpdHNfb2YoY29kZSwgMikrNjZdICsgYXNzb192
YWx1ZXNbYml0c19vZihjb2RlLCAxKSs0XSArIGFzc29fdmFsdWVzW2JpdHNfb2YoY29kZSwgMCld
OworfQorCitzdGF0aWMgY29uc3QgQ29kZVBvaW50TGlzdDMgKgorb25pZ2VuY191bmljb2RlX0Nh
c2VVbmZvbGRfMTFfbG9va3VwKGNvbnN0IE9uaWdDb2RlUG9pbnQgY29kZSkKK3sKKyAgZW51bQor
ICAgIHsKKyAgICAgIE1JTl9DT0RFX1ZBTFVFID0gMHg2MSwKKyAgICAgIE1BWF9DT0RFX1ZBTFVF
ID0gMHgxZTk0MywKKyAgICAgIFRPVEFMX0tFWVdPUkRTID0gMTM1MywKKyAgICAgIE1JTl9XT1JE
X0xFTkdUSCA9IDMsCisgICAgICBNQVhfV09SRF9MRU5HVEggPSAzLAorICAgICAgTUlOX0hBU0hf
VkFMVUUgPSAzLAorICAgICAgTUFYX0hBU0hfVkFMVUUgPSAyNTA5CisgICAgfTsKKworICBzdGF0
aWMgY29uc3Qgc2hvcnQgd29yZGxpc3RbXSA9CisgICAgeworICAgICAgLTEsIC0xLCAtMSwKKyAg
ICAgIC8qMHgxM2UxKi8gNTg5LAorICAgICAgLyoweDA0NjEqLyAzNDAsCisgICAgICAvKjB4MDRl
MSovIDQwMCwKKyAgICAgIC8qMHgwMDYxKi8gMCwKKyAgICAgIC0xLAorICAgICAgLyoweDEwNGUx
Ki8gMTE3NiwKKyAgICAgIC8qMHgxZTYxKi8gNjYxLAorICAgICAgLyoweDFlZTEqLyA3MjAsCisg
ICAgICAvKjB4MDE2MSovIDEwMiwKKyAgICAgIC8qMHgyY2UxKi8gOTUyLAorICAgICAgLTEsCisg
ICAgICAvKjB4MDQ5YiovIDM2NSwKKyAgICAgIC0xLCAtMSwKKyAgICAgIC8qMHgyNGUxKi8gODQw
LAorICAgICAgLyoweDFlMWIqLyA2MjYsCisgICAgICAvKjB4MDQ4YiovIDM1NywKKyAgICAgIC8q
MHgwMTFiKi8gNjksCisgICAgICAvKjB4MmM5YiovIDkxNywKKyAgICAgIC8qMHgwM2UxKi8gMjgw
LAorICAgICAgLyoweDFlMGIqLyA2MTgsCisgICAgICAvKjB4MWU4YiovIDY4MiwKKyAgICAgIC8q
MHgwMTBiKi8gNjEsCisgICAgICAvKjB4MmM4YiovIDkwOSwKKyAgICAgIC8qMHgxM2UzKi8gNTkx
LAorICAgICAgLyoweDA0NjMqLyAzNDEsCisgICAgICAvKjB4MDRlMyovIDQwMSwKKyAgICAgIC8q
MHgwMDYzKi8gMiwKKyAgICAgIC0xLAorICAgICAgLyoweDEwNGUzKi8gMTE3OCwKKyAgICAgIC8q
MHgxZTYzKi8gNjYyLAorICAgICAgLyoweDFlZTMqLyA3MjEsCisgICAgICAvKjB4MDE2MyovIDEw
MywKKyAgICAgIC8qMHgyY2UzKi8gOTUzLAorICAgICAgLyoweDEzZTUqLyA1OTMsCisgICAgICAv
KjB4MDQ2NSovIDM0MiwKKyAgICAgIC8qMHgwNGU1Ki8gNDAyLAorICAgICAgLyoweDAwNjUqLyA0
LAorICAgICAgLyoweDI0ZTMqLyA4NDIsCisgICAgICAvKjB4MTA0ZTUqLyAxMTgwLAorICAgICAg
LyoweDFlNjUqLyA2NjMsCisgICAgICAvKjB4MWVlNSovIDcyMiwKKyAgICAgIC8qMHgwMTY1Ki8g
MTA0LAorICAgICAgLyoweDAzZTMqLyAyODEsCisgICAgICAvKjB4MTNlOSovIDU5NywKKyAgICAg
IC8qMHgwNDY5Ki8gMzQ0LAorICAgICAgLyoweDA0ZTkqLyA0MDQsCisgICAgICAvKjB4MDA2OSov
IDEzNTIsCisgICAgICAvKjB4MjRlNSovIDg0NCwKKyAgICAgIC8qMHgxMDRlOSovIDExODQsCisg
ICAgICAvKjB4MWU2OSovIDY2NSwKKyAgICAgIC8qMHgxZWU5Ki8gNzI0LAorICAgICAgLyoweDAx
NjkqLyAxMDYsCisgICAgICAvKjB4MDNlNSovIDI4MiwKKyAgICAgIC8qMHgxM2U3Ki8gNTk1LAor
ICAgICAgLyoweDA0NjcqLyAzNDMsCisgICAgICAvKjB4MDRlNyovIDQwMywKKyAgICAgIC8qMHgw
MDY3Ki8gNiwKKyAgICAgIC8qMHgyNGU5Ki8gODQ4LAorICAgICAgLyoweDEwNGU3Ki8gMTE4MiwK
KyAgICAgIC8qMHgxZTY3Ki8gNjY0LAorICAgICAgLyoweDFlZTcqLyA3MjMsCisgICAgICAvKjB4
MDE2NyovIDEwNSwKKyAgICAgIC8qMHgwM2U5Ki8gMjg0LAorICAgICAgLTEsIC0xLCAtMSwgLTEs
CisgICAgICAvKjB4MjRlNyovIDg0NiwKKyAgICAgIC8qMHgxM2RiKi8gNTgzLAorICAgICAgLyow
eDA0NWIqLyAzMzUsCisgICAgICAvKjB4MDRkYiovIDM5NywKKyAgICAgIC0xLAorICAgICAgLyow
eDAzZTcqLyAyODMsCisgICAgICAvKjB4MTA0ZGIqLyAxMTcwLAorICAgICAgLyoweDFlNWIqLyA2
NTgsCisgICAgICAvKjB4MWVkYiovIDcxNywKKyAgICAgIC8qMHgwMTViKi8gOTksCisgICAgICAv
KjB4MmNkYiovIDk0OSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLyoweDI0ZGIqLyA4
MzQsCisgICAgICAvKjB4MTNkOSovIDU4MSwKKyAgICAgIC8qMHgwNDU5Ki8gMzMzLAorICAgICAg
LyoweDA0ZDkqLyAzOTYsCisgICAgICAvKjB4YTc2MSovIDEwNjQsCisgICAgICAvKjB4MDNkYiov
IDI3NywKKyAgICAgIC8qMHgxMDRkOSovIDExNjgsCisgICAgICAvKjB4MWU1OSovIDY1NywKKyAg
ICAgIC8qMHgxZWQ5Ki8gNzE2LAorICAgICAgLyoweDAxNTkqLyA5OCwKKyAgICAgIC8qMHgyY2Q5
Ki8gOTQ4LAorICAgICAgLTEsIC0xLCAtMSwgLTEsCisgICAgICAvKjB4MjRkOSovIDgzMiwKKyAg
ICAgIC8qMHgxM2RkKi8gNTg1LAorICAgICAgLyoweDA0NWQqLyAzMzcsCisgICAgICAvKjB4MDRk
ZCovIDM5OCwKKyAgICAgIC0xLAorICAgICAgLyoweDAzZDkqLyAyNzYsCisgICAgICAvKjB4MTA0
ZGQqLyAxMTcyLAorICAgICAgLyoweDFlNWQqLyA2NTksCisgICAgICAvKjB4MWVkZCovIDcxOCwK
KyAgICAgIC8qMHgwMTVkKi8gMTAwLAorICAgICAgLyoweDJjZGQqLyA5NTAsCisgICAgICAtMSwg
LTEsCisgICAgICAvKjB4YTc2MyovIDEwNjUsCisgICAgICAtMSwKKyAgICAgIC8qMHgyNGRkKi8g
ODM2LAorICAgICAgLyoweDEwY2UxKi8gMTIzNiwKKyAgICAgIC0xLAorICAgICAgLyoweDEzYWEq
LyA1MzQsCisgICAgICAtMSwKKyAgICAgIC8qMHgwM2RkKi8gMjc4LAorICAgICAgLyoweDEwZTEq
LyA0OTUsCisgICAgICAvKjB4MTA0MmEqLyAxMTI5LAorICAgICAgLyoweGE3NjUqLyAxMDY2LAor
ICAgICAgLyoweDEzYTYqLyA1MzAsCisgICAgICAtMSwgLTEsIC0xLAorICAgICAgLyoweDEzYTAq
LyA1MjQsCisgICAgICAtMSwKKyAgICAgIC8qMHgxM2RmKi8gNTg3LAorICAgICAgLyoweDA0NWYq
LyAzMzksCisgICAgICAvKjB4MDRkZiovIDM5OSwKKyAgICAgIC8qMHhhNzY5Ki8gMTA2OCwKKyAg
ICAgIC0xLAorICAgICAgLyoweDEwNGRmKi8gMTE3NCwKKyAgICAgIC8qMHgxZTVmKi8gNjYwLAor
ICAgICAgLyoweDFlZGYqLyA3MTksCisgICAgICAvKjB4MDE1ZiovIDEwMSwKKyAgICAgIC8qMHgy
Y2RmKi8gOTUxLAorICAgICAgLyoweDEwY2UzKi8gMTIzOCwKKyAgICAgIC0xLCAtMSwKKyAgICAg
IC8qMHhhNzY3Ki8gMTA2NywKKyAgICAgIC8qMHgyNGRmKi8gODM4LAorICAgICAgLyoweDEwZTMq
LyA0OTcsCisgICAgICAtMSwKKyAgICAgIC8qMHgxM2E4Ki8gNTMyLAorICAgICAgLTEsCisgICAg
ICAvKjB4MDNkZiovIDI3OSwKKyAgICAgIC8qMHgxMGNlNSovIDEyNDAsCisgICAgICAvKjB4MTA0
MjgqLyAxMTI3LAorICAgICAgLTEsCisgICAgICAvKjB4MTNiOCovIDU0OCwKKyAgICAgIC8qMHgw
NDM4Ki8gMzAwLAorICAgICAgLyoweDEwZTUqLyA0OTksCisgICAgICAtMSwKKyAgICAgIC8qMHgx
MDQzOCovIDExNDMsCisgICAgICAvKjB4YTc1YiovIDEwNjEsCisgICAgICAtMSwKKyAgICAgIC8q
MHgxMGNlOSovIDEyNDQsCisgICAgICAvKjB4MTNlYiovIDU5OSwKKyAgICAgIC8qMHgwNDZiKi8g
MzQ1LAorICAgICAgLyoweDA0ZWIqLyA0MDUsCisgICAgICAvKjB4MDA2YiovIDksCisgICAgICAv
KjB4MTBlOSovIDUwMywKKyAgICAgIC8qMHgxMDRlYiovIDExODYsCisgICAgICAvKjB4MWU2Yiov
IDY2NiwKKyAgICAgIC8qMHgxZWViKi8gNzI1LAorICAgICAgLyoweDAxNmIqLyAxMDcsCisgICAg
ICAvKjB4MTBjZTcqLyAxMjQyLAorICAgICAgLTEsCisgICAgICAvKjB4MDNiOCovIDI1MywKKyAg
ICAgIC8qMHhhNzU5Ki8gMTA2MCwKKyAgICAgIC0xLAorICAgICAgLyoweDEwZTcqLyA1MDEsCisg
ICAgICAvKjB4MTNlZiovIDYwMywKKyAgICAgIC8qMHgwNDZmKi8gMzQ3LAorICAgICAgLyoweDA0
ZWYqLyA0MDcsCisgICAgICAvKjB4MDA2ZiovIDEzLAorICAgICAgLyoweDAzZWIqLyAyODUsCisg
ICAgICAvKjB4MTA0ZWYqLyAxMTkwLAorICAgICAgLyoweDFlNmYqLyA2NjgsCisgICAgICAvKjB4
MWVlZiovIDcyNywKKyAgICAgIC8qMHgwMTZmKi8gMTA5LAorICAgICAgLyoweDEwY2RiKi8gMTIz
MCwKKyAgICAgIC0xLCAtMSwKKyAgICAgIC8qMHhhNzVkKi8gMTA2MiwKKyAgICAgIC0xLAorICAg
ICAgLyoweDEwZGIqLyA0ODksCisgICAgICAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC8qMHgwM2Vm
Ki8gMjg3LAorICAgICAgLTEsIC0xLAorICAgICAgLyoweDAyNjEqLyAyMTAsCisgICAgICAtMSwK
KyAgICAgIC8qMHgxMGNkOSovIDEyMjgsCisgICAgICAtMSwKKyAgICAgIC8qMHgxM2Q3Ki8gNTc5
LAorICAgICAgLyoweDA0NTcqLyAzMzEsCisgICAgICAvKjB4MDRkNyovIDM5NSwKKyAgICAgIC8q
MHgxMGQ5Ki8gNDg3LAorICAgICAgLTEsCisgICAgICAvKjB4MDIxYiovIDE3OCwKKyAgICAgIC8q
MHgxZTU3Ki8gNjU2LAorICAgICAgLyoweDFlZDcqLyA3MTUsCisgICAgICAvKjB4MDE1NyovIDk3
LAorICAgICAgLyoweDJjZDcqLyA5NDcsCisgICAgICAvKjB4MDIwYiovIDE3MCwKKyAgICAgIC0x
LCAtMSwKKyAgICAgIC8qMHgxMGNkZCovIDEyMzIsCisgICAgICAvKjB4MjRkNyovIDgzMCwKKyAg
ICAgIC8qMHhhNzVmKi8gMTA2MywKKyAgICAgIC0xLAorICAgICAgLyoweDFmNjEqLyA3NzcsCisg
ICAgICAvKjB4MTBkZCovIDQ5MSwKKyAgICAgIC8qMHgwM2Q3Ki8gMjc1LAorICAgICAgLyoweDAy
NjMqLyAyMTEsCisgICAgICAvKjB4MWYxNCovIDc0OCwKKyAgICAgIC0xLCAtMSwKKyAgICAgIC8q
MHgxZDhlKi8gNjEyLAorICAgICAgLyoweGE2NjEqLyAxMDEzLAorICAgICAgLyoweDEzZWQqLyA2
MDEsCisgICAgICAvKjB4MDQ2ZCovIDM0NiwKKyAgICAgIC8qMHgwNGVkKi8gNDA2LAorICAgICAg
LyoweDAwNmQqLyAxMSwKKyAgICAgIC8qMHgwMjY1Ki8gMjEyLAorICAgICAgLyoweDEwNGVkKi8g
MTE4OCwKKyAgICAgIC8qMHgxZTZkKi8gNjY3LAorICAgICAgLyoweDFlZWQqLyA3MjYsCisgICAg
ICAvKjB4MDE2ZCovIDEwOCwKKyAgICAgIC8qMHgxM2JlKi8gNTU0LAorICAgICAgLyoweDA0M2Uq
LyAzMDYsCisgICAgICAtMSwgLTEsCisgICAgICAvKjB4MTA0M2UqLyAxMTQ5LAorICAgICAgLyow
eDAyNjkqLyAyMTUsCisgICAgICAvKjB4MWY2MyovIDc3OSwKKyAgICAgIC8qMHgxMGNkZiovIDEy
MzQsCisgICAgICAvKjB4MDEzZSovIDg1LAorICAgICAgLTEsCisgICAgICAvKjB4MDNlZCovIDI4
NiwKKyAgICAgIC8qMHhhNzZiKi8gMTA2OSwKKyAgICAgIC8qMHgxMGRmKi8gNDkzLAorICAgICAg
LyoweDEzYWUqLyA1MzgsCisgICAgICAvKjB4YTY2MyovIDEwMTQsCisgICAgICAtMSwKKyAgICAg
IC8qMHgxZjY1Ki8gNzgxLAorICAgICAgLyoweDEwNDJlKi8gMTEzMywKKyAgICAgIC8qMHgxM2Fj
Ki8gNTM2LAorICAgICAgLyoweDAzYmUqLyAyNTksCisgICAgICAtMSwgLTEsCisgICAgICAvKjB4
MTA0MmMqLyAxMTMxLAorICAgICAgLTEsCisgICAgICAvKjB4YTY2NSovIDEwMTUsCisgICAgICAv
KjB4MWYxMiovIDc0NiwKKyAgICAgIC8qMHhhNzZmKi8gMTA3MSwKKyAgICAgIC0xLCAtMSwgLTEs
CisgICAgICAvKjB4MDI1YiovIDIwNywKKyAgICAgIC0xLAorICAgICAgLyoweDAzYWUqLyAyNDQs
CisgICAgICAtMSwKKyAgICAgIC8qMHhhNjY5Ki8gMTAxNywKKyAgICAgIC8qMHgxZjA2Ki8gNzQy
LAorICAgICAgLyoweDFmNjcqLyA3ODMsCisgICAgICAvKjB4MDNhYyovIDI0MiwKKyAgICAgIC8q
MHgxMGNlYiovIDEyNDYsCisgICAgICAtMSwKKyAgICAgIC8qMHgxM2QxKi8gNTczLAorICAgICAg
LyoweDA0NTEqLyAzMjUsCisgICAgICAvKjB4MDRkMSovIDM5MiwKKyAgICAgIC8qMHgxMGViKi8g
NTA1LAorICAgICAgLyoweGE2NjcqLyAxMDE2LAorICAgICAgLyoweDAyNTkqLyAyMDYsCisgICAg
ICAvKjB4MWU1MSovIDY1MywKKyAgICAgIC8qMHgxZWQxKi8gNzEyLAorICAgICAgLyoweDAxNTEq
LyA5NCwKKyAgICAgIC8qMHgyY2QxKi8gOTQ0LAorICAgICAgLTEsIC0xLAorICAgICAgLyoweGE3
NTcqLyAxMDU5LAorICAgICAgLyoweDEwY2VmKi8gMTI1MCwKKyAgICAgIC8qMHgyNGQxKi8gODI0
LAorICAgICAgLyoweDEzZDMqLyA1NzUsCisgICAgICAvKjB4MDQ1MyovIDMyNywKKyAgICAgIC8q
MHgwNGQzKi8gMzkzLAorICAgICAgLyoweDEwZWYqLyA1MDksCisgICAgICAvKjB4YTY1YiovIDEw
MTAsCisgICAgICAtMSwKKyAgICAgIC8qMHgxZTUzKi8gNjU0LAorICAgICAgLyoweDFlZDMqLyA3
MTMsCisgICAgICAvKjB4MDE1MyovIDk1LAorICAgICAgLyoweDJjZDMqLyA5NDUsCisgICAgICAt
MSwKKyAgICAgIC8qMHhhYjUzKi8gMTEwMCwKKyAgICAgIC8qMHgwNTYxKi8gNDQwLAorICAgICAg
LyoweDFmMTAqLyA3NDQsCisgICAgICAvKjB4MjRkMyovIDgyNiwKKyAgICAgIC0xLCAtMSwKKyAg
ICAgIC8qMHgwMWUxKi8gMTUxLAorICAgICAgLTEsCisgICAgICAvKjB4YTY1OSovIDEwMDksCisg
ICAgICAtMSwKKyAgICAgIC8qMHgwNTFiKi8gNDI5LAorICAgICAgLTEsCisgICAgICAvKjB4YTc2
ZCovIDEwNzAsCisgICAgICAvKjB4MTBjZDcqLyAxMjI2LAorICAgICAgLTEsCisgICAgICAvKjB4
MDUwYiovIDQyMSwKKyAgICAgIC0xLCAtMSwKKyAgICAgIC8qMHgxMGQ3Ki8gNDg1LAorICAgICAg
LTEsIC0xLCAtMSwgLTEsCisgICAgICAvKjB4YTY1ZCovIDEwMTEsCisgICAgICAtMSwKKyAgICAg
IC8qMHgwNTYzKi8gNDQyLAorICAgICAgLyoweDEzZjEqLyA2MDUsCisgICAgICAvKjB4MDQ3MSov
IDM0OCwKKyAgICAgIC8qMHgwNGYxKi8gNDA4LAorICAgICAgLyoweDAwNzEqLyAxNSwKKyAgICAg
IC8qMHgwMWUzKi8gMTUyLAorICAgICAgLyoweDEwNGYxKi8gMTE5MiwKKyAgICAgIC8qMHgxZTcx
Ki8gNjY5LAorICAgICAgLyoweDFlZjEqLyA3MjgsCisgICAgICAvKjB4MDE3MSovIDExMCwKKyAg
ICAgIC8qMHgwNTY1Ki8gNDQ0LAorICAgICAgLTEsIC0xLAorICAgICAgLyoweDFmMjYqLyA3NTYs
CisgICAgICAvKjB4MTBjZWQqLyAxMjQ4LAorICAgICAgLyoweDAxZTUqLyAxNTMsCisgICAgICAt
MSwKKyAgICAgIC8qMHgxZjIwKi8gNzUwLAorICAgICAgLTEsCisgICAgICAvKjB4MTBlZCovIDUw
NywKKyAgICAgIC8qMHgwNTY5Ki8gNDQ4LAorICAgICAgLTEsIC0xLAorICAgICAgLyoweDExOGRi
Ki8gMTI4MSwKKyAgICAgIC8qMHgwMTkyKi8gMTIyLAorICAgICAgLyoweDAxZTkqLyAxNTUsCisg
ICAgICAtMSwKKyAgICAgIC8qMHhhNjVmKi8gMTAxMiwKKyAgICAgIC8qMHgxM2VlKi8gNjAyLAor
ICAgICAgLyoweDAyNmIqLyAyMTcsCisgICAgICAvKjB4MDU2NyovIDQ0NiwKKyAgICAgIC8qMHgw
MDZlKi8gMTIsCisgICAgICAtMSwKKyAgICAgIC8qMHgxMDRlZSovIDExODksCisgICAgICAtMSwK
KyAgICAgIC8qMHgwMWU3Ki8gMTU0LAorICAgICAgLyoweGE3NTEqLyAxMDU2LAorICAgICAgLyow
eDJjZWUqLyA5NTUsCisgICAgICAvKjB4MTE4ZDkqLyAxMjc5LAorICAgICAgLTEsCisgICAgICAv
KjB4MTNmMyovIDYwNywKKyAgICAgIC8qMHgwNDczKi8gMzQ5LAorICAgICAgLyoweDA0ZjMqLyA0
MDksCisgICAgICAvKjB4MDA3MyovIDE3LAorICAgICAgLyoweDAyNmYqLyAyMTksCisgICAgICAv
KjB4MTA0ZjMqLyAxMTk0LAorICAgICAgLyoweDFlNzMqLyA2NzAsCisgICAgICAvKjB4MWVmMyov
IDcyOSwKKyAgICAgIC8qMHgwMTczKi8gMTExLAorICAgICAgLyoweDJjZjMqLyA5NTYsCisgICAg
ICAvKjB4MmM2MSovIDg5NiwKKyAgICAgIC8qMHhhNzUzKi8gMTA1NywKKyAgICAgIC0xLAorICAg
ICAgLyoweDExOGRkKi8gMTI4MywKKyAgICAgIC0xLCAtMSwKKyAgICAgIC8qMHgxM2JhKi8gNTUw
LAorICAgICAgLyoweDA0M2EqLyAzMDIsCisgICAgICAvKjB4YTY2YiovIDEwMTgsCisgICAgICAv
KjB4MDNmMyovIDI4OSwKKyAgICAgIC8qMHgxMDQzYSovIDExNDUsCisgICAgICAtMSwgLTEsCisg
ICAgICAvKjB4MTBjZDEqLyAxMjIwLAorICAgICAgLyoweDAxM2EqLyA4MywKKyAgICAgIC8qMHgx
M2Q1Ki8gNTc3LAorICAgICAgLyoweDA0NTUqLyAzMjksCisgICAgICAvKjB4MDRkNSovIDM5NCwK
KyAgICAgIC8qMHgxMGQxKi8gNDc5LAorICAgICAgLTEsCisgICAgICAvKjB4MDI1NyovIDIwNSwK
KyAgICAgIC8qMHgxZTU1Ki8gNjU1LAorICAgICAgLyoweDFlZDUqLyA3MTQsCisgICAgICAvKjB4
MDE1NSovIDk2LAorICAgICAgLyoweDJjZDUqLyA5NDYsCisgICAgICAvKjB4MDNiYSovIDI1NSwK
KyAgICAgIC0xLAorICAgICAgLyoweDA1ODYqLyA0NzcsCisgICAgICAvKjB4MTBjZDMqLyAxMjIy
LAorICAgICAgLyoweDI0ZDUqLyA4MjgsCisgICAgICAvKjB4MDFkZCovIDE0OSwKKyAgICAgIC0x
LAorICAgICAgLyoweDExOGRmKi8gMTI4NSwKKyAgICAgIC8qMHgxMGQzKi8gNDgxLAorICAgICAg
LyoweDJjNjUqLyA4OTcsCisgICAgICAtMSwKKyAgICAgIC8qMHgwMThjKi8gMTIxLAorICAgICAg
LyoweDEzZjUqLyA2MDksCisgICAgICAvKjB4MDQ3NSovIDM1MCwKKyAgICAgIC8qMHgwNGY1Ki8g
NDEwLAorICAgICAgLyoweDAwNzUqLyAxOSwKKyAgICAgIC8qMHgxZjU3Ki8gNzc1LAorICAgICAg
LyoweDEwNGY1Ki8gMTE5NiwKKyAgICAgIC8qMHgxZTc1Ki8gNjcxLAorICAgICAgLyoweDFlZjUq
LyA3MzAsCisgICAgICAvKjB4MDE3NSovIDExMiwKKyAgICAgIC8qMHgxM2NmKi8gNTcxLAorICAg
ICAgLyoweDA0NGYqLyAzMjMsCisgICAgICAvKjB4MDRjZiovIDM5MSwKKyAgICAgIC8qMHhhNjU3
Ki8gMTAwOCwKKyAgICAgIC8qMHgxMDQ0ZiovIDExNjYsCisgICAgICAvKjB4MWU5MmEqLyAxMzI2
LAorICAgICAgLyoweDFlNGYqLyA2NTIsCisgICAgICAvKjB4MWVjZiovIDcxMSwKKyAgICAgIC8q
MHgwMTRmKi8gOTMsCisgICAgICAvKjB4MmNjZiovIDk0MywKKyAgICAgIC0xLAorICAgICAgLyow
eDFlOTI2Ki8gMTMyMiwKKyAgICAgIC8qMHgxZjAwKi8gNzM2LAorICAgICAgLyoweDAxZGYqLyAx
NTAsCisgICAgICAvKjB4MTNiMiovIDU0MiwKKyAgICAgIC8qMHgwNDMyKi8gMjk0LAorICAgICAg
LyoweDFmMDIqLyA3MzgsCisgICAgICAtMSwKKyAgICAgIC8qMHgxMDQzMiovIDExMzcsCisgICAg
ICAvKjB4MTBjZjEqLyAxMjUyLAorICAgICAgLyoweDJkMTYqLyA5NzksCisgICAgICAtMSwKKyAg
ICAgIC8qMHgyZDE0Ki8gOTc3LAorICAgICAgLyoweDJjNWIqLyA4OTIsCisgICAgICAvKjB4MTBm
MSovIDUxMSwKKyAgICAgIC8qMHgyZDBhKi8gOTY3LAorICAgICAgLTEsCisgICAgICAvKjB4MmQx
YiovIDk4NCwKKyAgICAgIC8qMHgyZDE4Ki8gOTgxLAorICAgICAgLyoweGE2NmQqLyAxMDE5LAor
ICAgICAgLyoweDAxYTgqLyAxMzAsCisgICAgICAtMSwKKyAgICAgIC8qMHgyZDBiKi8gOTY4LAor
ICAgICAgLyoweDAzYjIqLyAyNDcsCisgICAgICAvKjB4MWU5MjgqLyAxMzI0LAorICAgICAgLyow
eDAxODgqLyAxMjAsCisgICAgICAvKjB4MDE5ZSovIDEyNiwKKyAgICAgIC0xLAorICAgICAgLyow
eDJjNTkqLyA4OTAsCisgICAgICAvKjB4MDU2YiovIDQ1MCwKKyAgICAgIC8qMHgxZTkzOCovIDEz
NDAsCisgICAgICAvKjB4MTNjOSovIDU2NSwKKyAgICAgIC8qMHgwNDQ5Ki8gMzE3LAorICAgICAg
LTEsCisgICAgICAvKjB4MDFlYiovIDE1NiwKKyAgICAgIC8qMHgxMDQ0OSovIDExNjAsCisgICAg
ICAvKjB4MTBjZWUqLyAxMjQ5LAorICAgICAgLyoweDFlNDkqLyA2NDksCisgICAgICAvKjB4MWVj
OSovIDcwOCwKKyAgICAgIC8qMHgwMjUxKi8gMjAwLAorICAgICAgLyoweDJjYzkqLyA5NDAsCisg
ICAgICAvKjB4MTBlZSovIDUwOCwKKyAgICAgIC0xLAorICAgICAgLyoweDJjNWQqLyA4OTQsCisg
ICAgICAvKjB4MDU2ZiovIDQ1NCwKKyAgICAgIC0xLAorICAgICAgLyoweGE3NTUqLyAxMDU4LAor
ICAgICAgLTEsCisgICAgICAvKjB4MTE4ZDcqLyAxMjc3LAorICAgICAgLyoweDAxZWYqLyAxNTgs
CisgICAgICAvKjB4MDNjOSovIDI2OSwKKyAgICAgIC8qMHgyZDEyKi8gOTc1LAorICAgICAgLTEs
CisgICAgICAvKjB4MTBmMyovIDUxMywKKyAgICAgIC8qMHgwMjUzKi8gMjAyLAorICAgICAgLTEs
IC0xLCAtMSwgLTEsCisgICAgICAvKjB4MDQ5MSovIDM2MCwKKyAgICAgIC8qMHgxZjUxKi8gNzcy
LAorICAgICAgLyoweDJkMDYqLyA5NjMsCisgICAgICAvKjB4YTc5NCovIDEwODIsCisgICAgICAv
KjB4MWUxMSovIDYyMSwKKyAgICAgIC8qMHgxZTkxKi8gNjg1LAorICAgICAgLyoweDAxMTEqLyA2
NCwKKyAgICAgIC8qMHgyYzkxKi8gOTEyLAorICAgICAgLyoweGE3OWIqLyAxMDg1LAorICAgICAg
LyoweGE2NTEqLyAxMDA1LAorICAgICAgLTEsIC0xLCAtMSwgLTEsCisgICAgICAvKjB4MTBjZDUq
LyAxMjI0LAorICAgICAgLTEsCisgICAgICAvKjB4MWY1MyovIDc3MywKKyAgICAgIC0xLAorICAg
ICAgLyoweGE3NGYqLyAxMDU1LAorICAgICAgLyoweDEwZDUqLyA0ODMsCisgICAgICAtMSwKKyAg
ICAgIC8qMHgxM2NkKi8gNTY5LAorICAgICAgLyoweDA0NGQqLyAzMjEsCisgICAgICAtMSwKKyAg
ICAgIC8qMHhhNjUzKi8gMTAwNiwKKyAgICAgIC8qMHgxMDQ0ZCovIDExNjQsCisgICAgICAtMSwK
KyAgICAgIC8qMHgxZTRkKi8gNjUxLAorICAgICAgLyoweDFlY2QqLyA3MTAsCisgICAgICAvKjB4
MDE0ZCovIDkyLAorICAgICAgLyoweDJjY2QqLyA5NDIsCisgICAgICAtMSwKKyAgICAgIC8qMHgw
MjcxKi8gMjIwLAorICAgICAgLyoweDAxODAqLyAxMTcsCisgICAgICAtMSwKKyAgICAgIC8qMHgy
ZDEwKi8gOTczLAorICAgICAgLyoweDJjMzgqLyA4NTcsCisgICAgICAvKjB4MDU2ZCovIDQ1MiwK
KyAgICAgIC0xLCAtMSwKKyAgICAgIC8qMHgwM2NkKi8gMjczLAorICAgICAgLyoweDEwZjUqLyA1
MTUsCisgICAgICAvKjB4MDFlZCovIDE1NywKKyAgICAgIC8qMHgxM2NiKi8gNTY3LAorICAgICAg
LyoweDA0NGIqLyAzMTksCisgICAgICAvKjB4MTBjY2YqLyAxMjE4LAorICAgICAgLTEsCisgICAg
ICAvKjB4MTA0NGIqLyAxMTYyLAorICAgICAgLTEsCisgICAgICAvKjB4MWU0YiovIDY1MCwKKyAg
ICAgIC8qMHgxZWNiKi8gNzA5LAorICAgICAgLyoweDAxNGIqLyA5MSwKKyAgICAgIC8qMHgyY2Ni
Ki8gOTQxLAorICAgICAgLyoweDFmNzEqLyA3ODUsCisgICAgICAvKjB4MmQwYyovIDk2OSwKKyAg
ICAgIC8qMHgxZTkzZSovIDEzNDYsCisgICAgICAtMSwgLTEsIC0xLAorICAgICAgLyoweGE3NDkq
LyAxMDUyLAorICAgICAgLTEsIC0xLAorICAgICAgLyoweDAzY2IqLyAyNzEsCisgICAgICAtMSwK
KyAgICAgIC8qMHgxMThkMSovIDEyNzEsCisgICAgICAvKjB4MTNjMyovIDU1OSwKKyAgICAgIC8q
MHgwNDQzKi8gMzExLAorICAgICAgLTEsCisgICAgICAvKjB4MWU5MmUqLyAxMzMwLAorICAgICAg
LyoweDEwNDQzKi8gMTE1NCwKKyAgICAgIC0xLAorICAgICAgLyoweDFlNDMqLyA2NDYsCisgICAg
ICAvKjB4MWVjMyovIDcwNSwKKyAgICAgIC8qMHgxZTkyYyovIDEzMjgsCisgICAgICAvKjB4MmNj
MyovIDkzNywKKyAgICAgIC8qMHgyZDIwKi8gOTg5LAorICAgICAgLyoweDA1ODAqLyA0NzEsCisg
ICAgICAtMSwgLTEsCisgICAgICAvKjB4MTE4ZDMqLyAxMjczLAorICAgICAgLyoweDA1ODIqLyA0
NzMsCisgICAgICAtMSwgLTEsIC0xLAorICAgICAgLyoweDAzYzMqLyAyNjMsCisgICAgICAvKjB4
MmM1NyovIDg4OCwKKyAgICAgIC8qMHgxMGNjOSovIDEyMTIsCisgICAgICAvKjB4MTNjMSovIDU1
NywKKyAgICAgIC8qMHgwNDQxKi8gMzA5LAorICAgICAgLTEsCisgICAgICAvKjB4MDBlMSovIDI2
LAorICAgICAgLyoweDEwNDQxKi8gMTE1MiwKKyAgICAgIC8qMHgxZjczKi8gNzg3LAorICAgICAg
LyoweDFlNDEqLyA2NDUsCisgICAgICAvKjB4MWVjMSovIDcwNCwKKyAgICAgIC0xLAorICAgICAg
LyoweDJjYzEqLyA5MzYsCisgICAgICAtMSwgLTEsCisgICAgICAvKjB4MmQwOCovIDk2NSwKKyAg
ICAgIC8qMHgyZDFlKi8gOTg3LAorICAgICAgLTEsCisgICAgICAvKjB4MTNhNCovIDUyOCwKKyAg
ICAgIC0xLAorICAgICAgLyoweGE3OGMqLyAxMDc5LAorICAgICAgLTEsCisgICAgICAvKjB4MDNj
MSovIDI2MiwKKyAgICAgIC0xLAorICAgICAgLyoweGE3NGQqLyAxMDU0LAorICAgICAgLyoweDA0
OWQqLyAzNjYsCisgICAgICAtMSwgLTEsIC0xLAorICAgICAgLyoweDFlMWQqLyA2MjcsCisgICAg
ICAvKjB4MDBlMyovIDI4LAorICAgICAgLyoweDAxMWQqLyA3MCwKKyAgICAgIC8qMHgyYzlkKi8g
OTE4LAorICAgICAgLyoweDFmNTUqLyA3NzQsCisgICAgICAvKjB4MDI3NSovIDIyMiwKKyAgICAg
IC0xLAorICAgICAgLyoweDJjM2UqLyA4NjMsCisgICAgICAtMSwKKyAgICAgIC8qMHgxM2M3Ki8g
NTYzLAorICAgICAgLyoweDA0NDcqLyAzMTUsCisgICAgICAvKjB4MDBlNSovIDMwLAorICAgICAg
LyoweGE2NTUqLyAxMDA3LAorICAgICAgLyoweDEwNDQ3Ki8gMTE1OCwKKyAgICAgIC8qMHgwMjRm
Ki8gMTk4LAorICAgICAgLyoweDFlNDcqLyA2NDgsCisgICAgICAvKjB4MWVjNyovIDcwNywKKyAg
ICAgIC8qMHhhNzRiKi8gMTA1MywKKyAgICAgIC8qMHgyY2M3Ki8gOTM5LAorICAgICAgLyoweDAz
NzEqLyAyMzYsCisgICAgICAtMSwKKyAgICAgIC8qMHgwMGU5Ki8gMzQsCisgICAgICAvKjB4MTBj
Y2QqLyAxMjE2LAorICAgICAgLyoweDEzYzUqLyA1NjEsCisgICAgICAvKjB4MDQ0NSovIDMxMywK
KyAgICAgIC8qMHgwNTcxKi8gNDU2LAorICAgICAgLyoweDFmNzUqLyA3ODksCisgICAgICAvKjB4
MTA0NDUqLyAxMTU2LAorICAgICAgLyoweDAzYzcqLyAyNjcsCisgICAgICAvKjB4MWU0NSovIDY0
NywKKyAgICAgIC8qMHgxZWM1Ki8gNzA2LAorICAgICAgLyoweDAwZTcqLyAzMiwKKyAgICAgIC8q
MHgyY2M1Ki8gOTM4LAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC8qMHhh
NzQzKi8gMTA0OSwKKyAgICAgIC0xLCAtMSwKKyAgICAgIC8qMHgwM2M1Ki8gMjY1LAorICAgICAg
LyoweGE2NGYqLyAxMDA0LAorICAgICAgLyoweDEwY2NiKi8gMTIxNCwKKyAgICAgIC0xLCAtMSwK
KyAgICAgIC8qMHgyYzUxKi8gODgyLAorICAgICAgLTEsCisgICAgICAvKjB4MWYzMiovIDc2MCwK
KyAgICAgIC0xLAorICAgICAgLyoweDEzZTYqLyA1OTQsCisgICAgICAvKjB4MDU2ZSovIDQ1MywK
KyAgICAgIC8qMHgyZDAwKi8gOTU3LAorICAgICAgLyoweDAwNjYqLyA1LAorICAgICAgLyoweDAy
NDkqLyAxOTUsCisgICAgICAvKjB4MTA0ZTYqLyAxMTgxLAorICAgICAgLyoweDJkMDIqLyA5NTks
CisgICAgICAvKjB4MDM3MyovIDIzNywKKyAgICAgIC0xLAorICAgICAgLyoweDJkMGUqLyA5NzEs
CisgICAgICAvKjB4YTc0MSovIDEwNDgsCisgICAgICAvKjB4MmM1MyovIDg4NCwKKyAgICAgIC0x
LAorICAgICAgLyoweDA1NzMqLyA0NTgsCisgICAgICAvKjB4MjRlNiovIDg0NSwKKyAgICAgIC8q
MHgxMGNjMyovIDEyMDYsCisgICAgICAvKjB4MTE4ZDUqLyAxMjc1LAorICAgICAgLTEsCisgICAg
ICAvKjB4MDFmMyovIDE1OSwKKyAgICAgIC0xLAorICAgICAgLyoweDEzYmYqLyA1NTUsCisgICAg
ICAvKjB4MDQzZiovIDMwNywKKyAgICAgIC8qMHgwNGJmKi8gMzgzLAorICAgICAgLTEsCisgICAg
ICAvKjB4MTA0M2YqLyAxMTUwLAorICAgICAgLyoweDAyOGEqLyAyMzAsCisgICAgICAvKjB4MWUz
ZiovIDY0NCwKKyAgICAgIC8qMHgxZWJmKi8gNzAzLAorICAgICAgLyoweDAxOWEqLyAxMjUsCisg
ICAgICAvKjB4MmNiZiovIDkzNSwKKyAgICAgIC8qMHgwMjExKi8gMTczLAorICAgICAgLyoweDEz
ZWMqLyA2MDAsCisgICAgICAvKjB4MDI4YiovIDIzMSwKKyAgICAgIC8qMHhhNjQ5Ki8gMTAwMSwK
KyAgICAgIC8qMHgwMDZjKi8gMTAsCisgICAgICAtMSwKKyAgICAgIC8qMHgxMDRlYyovIDExODcs
CisgICAgICAvKjB4MTBjYzEqLyAxMjA0LAorICAgICAgLyoweDFlOTNhKi8gMTM0MiwKKyAgICAg
IC8qMHgwM2JmKi8gMjYwLAorICAgICAgLyoweDJjZWMqLyA5NTQsCisgICAgICAvKjB4MWYwNCov
IDc0MCwKKyAgICAgIC0xLCAtMSwgLTEsCisgICAgICAvKjB4YTc0NyovIDEwNTEsCisgICAgICAv
KjB4MTNhMiovIDUyNiwKKyAgICAgIC8qMHgxMThjZiovIDEyNjksCisgICAgICAvKjB4MTNiNyov
IDU0NywKKyAgICAgIC8qMHgwNDM3Ki8gMjk5LAorICAgICAgLyoweDA0YjcqLyAzNzksCisgICAg
ICAvKjB4MWYxMSovIDc0NSwKKyAgICAgIC8qMHgxMDQzNyovIDExNDIsCisgICAgICAvKjB4MDI0
ZCovIDE5NywKKyAgICAgIC8qMHgxZTM3Ki8gNjQwLAorICAgICAgLyoweDFlYjcqLyA2OTksCisg
ICAgICAvKjB4MDEzNyovIDgyLAorICAgICAgLyoweDJjYjcqLyA5MzEsCisgICAgICAtMSwKKyAg
ICAgIC8qMHhhNzQ1Ki8gMTA1MCwKKyAgICAgIC8qMHgwNTc1Ki8gNDYwLAorICAgICAgLyoweDAy
OTIqLyAyMzMsCisgICAgICAvKjB4MTNiNSovIDU0NSwKKyAgICAgIC8qMHgwNDM1Ki8gMjk3LAor
ICAgICAgLyoweDA0YjUqLyAzNzgsCisgICAgICAvKjB4MDFmNSovIDE2MCwKKyAgICAgIC8qMHgx
MDQzNSovIDExNDAsCisgICAgICAvKjB4MDNiNyovIDI1MiwKKyAgICAgIC8qMHgxZTM1Ki8gNjM5
LAorICAgICAgLyoweDFlYjUqLyA2OTgsCisgICAgICAvKjB4MDEzNSovIDgxLAorICAgICAgLyow
eDJjYjUqLyA5MzAsCisgICAgICAvKjB4MTBjYzcqLyAxMjEwLAorICAgICAgLTEsIC0xLAorICAg
ICAgLyoweDAyNGIqLyAxOTYsCisgICAgICAtMSwKKyAgICAgIC8qMHgxNmU2MSovIDEyODcsCisg
ICAgICAtMSwgLTEsIC0xLAorICAgICAgLyoweDAzYjUqLyAyNTAsCisgICAgICAvKjB4YTY0ZCov
IDEwMDMsCisgICAgICAtMSwgLTEsCisgICAgICAvKjB4MDBlYiovIDM2LAorICAgICAgLyoweDEw
Y2M1Ki8gMTIwOCwKKyAgICAgIC8qMHgyYzczKi8gOTAyLAorICAgICAgLyoweDExOGM5Ki8gMTI2
MywKKyAgICAgIC8qMHgxM2IzKi8gNTQzLAorICAgICAgLyoweDA0MzMqLyAyOTUsCisgICAgICAv
KjB4MDRiMyovIDM3NywKKyAgICAgIC8qMHgxZTkzMiovIDEzMzQsCisgICAgICAvKjB4MTA0MzMq
LyAxMTM4LAorICAgICAgLTEsCisgICAgICAvKjB4MWUzMyovIDYzOCwKKyAgICAgIC8qMHgxZWIz
Ki8gNjk3LAorICAgICAgLyoweDAxMzMqLyA4MCwKKyAgICAgIC8qMHgyY2IzKi8gOTI5LAorICAg
ICAgLTEsCisgICAgICAvKjB4MDBlZiovIDQwLAorICAgICAgLyoweDE2ZTYzKi8gMTI4OSwKKyAg
ICAgIC0xLAorICAgICAgLyoweDJjM2EqLyA4NTksCisgICAgICAvKjB4YTY0YiovIDEwMDIsCisg
ICAgICAvKjB4MTNjMCovIDU1NiwKKyAgICAgIC8qMHgwNDQwKi8gMzA4LAorICAgICAgLyoweGE3
M2YqLyAxMDQ3LAorICAgICAgLyoweDAzYjMqLyAyNDgsCisgICAgICAvKjB4MTA0NDAqLyAxMTUx
LAorICAgICAgLTEsCisgICAgICAvKjB4MTZlNjUqLyAxMjkxLAorICAgICAgLyoweDJjNTUqLyA4
ODYsCisgICAgICAvKjB4MDE0MCovIDg2LAorICAgICAgLyoweDEwY2U2Ki8gMTI0MSwKKyAgICAg
IC8qMHgwMWM5Ki8gMTM5LAorICAgICAgLTEsIC0xLAorICAgICAgLyoweDFmNDMqLyA3NjksCisg
ICAgICAvKjB4MTBlNiovIDUwMCwKKyAgICAgIC0xLAorICAgICAgLyoweDE2ZTY5Ki8gMTI5NSwK
KyAgICAgIC0xLAorICAgICAgLyoweDAyOGMqLyAyMzIsCisgICAgICAvKjB4MDNjMCovIDI2MSwK
KyAgICAgIC0xLAorICAgICAgLyoweGE2NDMqLyA5OTgsCisgICAgICAtMSwKKyAgICAgIC8qMHgw
NDc5Ki8gMzUyLAorICAgICAgLyoweDA0ZjkqLyA0MTIsCisgICAgICAvKjB4MDA3OSovIDIzLAor
ICAgICAgLyoweDE2ZTY3Ki8gMTI5MywKKyAgICAgIC8qMHgxMDRmOSovIDEyMDAsCisgICAgICAv
KjB4MWU3OSovIDY3MywKKyAgICAgIC8qMHgxZWY5Ki8gNzMyLAorICAgICAgLyoweGE3MzcqLyAx
MDQzLAorICAgICAgLyoweDA1MTEqLyA0MjQsCisgICAgICAvKjB4MTE4Y2QqLyAxMjY3LAorICAg
ICAgLyoweDFkNzkqLyA2MTAsCisgICAgICAvKjB4MDIxZCovIDE3OSwKKyAgICAgIC8qMHgxZjQx
Ki8gNzY3LAorICAgICAgLTEsIC0xLAorICAgICAgLyoweDJjNGYqLyA4ODAsCisgICAgICAtMSwK
KyAgICAgIC8qMHgxMGNlYyovIDEyNDcsCisgICAgICAtMSwgLTEsCisgICAgICAvKjB4YTY0MSov
IDk5NywKKyAgICAgIC8qMHhhNzM1Ki8gMTA0MiwKKyAgICAgIC8qMHgxMGVjKi8gNTA2LAorICAg
ICAgLyoweDIxNzEqLyA4MDcsCisgICAgICAvKjB4MDBlZCovIDM4LAorICAgICAgLTEsCisgICAg
ICAvKjB4MDI0NyovIDE5NCwKKyAgICAgIC8qMHgxZjI0Ki8gNzU0LAorICAgICAgLyoweDEzYWQq
LyA1MzcsCisgICAgICAvKjB4MmMzMiovIDg1MSwKKyAgICAgIC8qMHgwNGFkKi8gMzc0LAorICAg
ICAgLyoweDExOGNiKi8gMTI2NSwKKyAgICAgIC8qMHgxMDQyZCovIDExMzIsCisgICAgICAvKjB4
MmQxYSovIDk4MywKKyAgICAgIC8qMHgxZTJkKi8gNjM1LAorICAgICAgLyoweDFlYWQqLyA2OTQs
CisgICAgICAvKjB4MDEyZCovIDc4LAorICAgICAgLyoweDJjYWQqLyA5MjYsCisgICAgICAtMSwg
LTEsCisgICAgICAvKjB4MDI4OCovIDIyOCwKKyAgICAgIC8qMHgwMjllKi8gMjM1LAorICAgICAg
LTEsCisgICAgICAvKjB4MTNhNSovIDUyOSwKKyAgICAgIC0xLAorICAgICAgLyoweDA0YTUqLyAz
NzAsCisgICAgICAvKjB4MDU4NCovIDQ3NSwKKyAgICAgIC8qMHgwM2FkKi8gMjQzLAorICAgICAg
LyoweGE3MzMqLyAxMDQxLAorICAgICAgLyoweDFlMjUqLyA2MzEsCisgICAgICAvKjB4MWVhNSov
IDY5MCwKKyAgICAgIC8qMHgwMTI1Ki8gNzQsCisgICAgICAvKjB4MmNhNSovIDkyMiwKKyAgICAg
IC8qMHgxMThjMyovIDEyNTcsCisgICAgICAtMSwKKyAgICAgIC8qMHhhNjQ3Ki8gMTAwMCwKKyAg
ICAgIC8qMHgyYzQ5Ki8gODc0LAorICAgICAgLyoweDEzYTMqLyA1MjcsCisgICAgICAtMSwKKyAg
ICAgIC8qMHgwNGEzKi8gMzY5LAorICAgICAgLTEsCisgICAgICAvKjB4MWY0NSovIDc3MSwKKyAg
ICAgIC8qMHgyMTczKi8gODA5LAorICAgICAgLyoweDFlMjMqLyA2MzAsCisgICAgICAvKjB4MWVh
MyovIDY4OSwKKyAgICAgIC8qMHgwMTIzKi8gNzMsCisgICAgICAvKjB4MmNhMyovIDkyMSwKKyAg
ICAgIC8qMHhmZjU5Ki8gMTEyNSwKKyAgICAgIC8qMHgwMjY2Ki8gMjEzLAorICAgICAgLyoweGE2
NDUqLyA5OTksCisgICAgICAtMSwgLTEsCisgICAgICAvKjB4MDQ4ZiovIDM1OSwKKyAgICAgIC0x
LCAtMSwKKyAgICAgIC8qMHgxMThjMSovIDEyNTUsCisgICAgICAvKjB4MWUwZiovIDYyMCwKKyAg
ICAgIC8qMHgxZThmKi8gNjg0LAorICAgICAgLyoweDAxMGYqLyA2MywKKyAgICAgIC8qMHgyYzhm
Ki8gOTExLAorICAgICAgLyoweGE2OWIqLyAxMDMzLAorICAgICAgLTEsIC0xLCAtMSwKKyAgICAg
IC8qMHgxZTk0MyovIDEzNTEsCisgICAgICAvKjB4YTY4YiovIDEwMjUsCisgICAgICAtMSwgLTEs
CisgICAgICAvKjB4MDIzZiovIDE5MSwKKyAgICAgIC8qMHgxZjY2Ki8gNzgyLAorICAgICAgLTEs
CisgICAgICAvKjB4MTBjYzAqLyAxMjAzLAorICAgICAgLTEsIC0xLAorICAgICAgLyoweDFmZTEq
LyA4MDMsCisgICAgICAtMSwKKyAgICAgIC8qMHgwNDgxKi8gMzU2LAorICAgICAgLyoweDJkMWMq
LyA5ODUsCisgICAgICAtMSwKKyAgICAgIC8qMHgwMjZjKi8gMjE4LAorICAgICAgLyoweDFlMDEq
LyA2MTMsCisgICAgICAvKjB4MWU4MSovIDY3NywKKyAgICAgIC8qMHgwMTAxKi8gNTYsCisgICAg
ICAvKjB4MmM4MSovIDkwNCwKKyAgICAgIC0xLAorICAgICAgLyoweDJjNGQqLyA4NzgsCisgICAg
ICAvKjB4MWU5NDEqLyAxMzQ5LAorICAgICAgLyoweDAyODAqLyAyMjQsCisgICAgICAvKjB4MTZl
NmIqLyAxMjk3LAorICAgICAgLyoweDIxNzUqLyA4MTEsCisgICAgICAvKjB4MTE4YzcqLyAxMjYx
LAorICAgICAgLyoweDAyODIqLyAyMjUsCisgICAgICAtMSwgLTEsIC0xLAorICAgICAgLyoweGE3
MmQqLyAxMDM5LAorICAgICAgLTEsCisgICAgICAvKjB4MDUxZCovIDQzMCwKKyAgICAgIC8qMHgx
MGY5Ki8gNTE5LAorICAgICAgLTEsIC0xLAorICAgICAgLyoweDFlOTI0Ki8gMTMyMCwKKyAgICAg
IC0xLAorICAgICAgLyoweDE2ZTZmKi8gMTMwMSwKKyAgICAgIC8qMHgxMThjNSovIDEyNTksCisg
ICAgICAvKjB4MDBmMSovIDQyLAorICAgICAgLTEsCisgICAgICAvKjB4MmM0YiovIDg3NiwKKyAg
ICAgIC8qMHgxZmU1Ki8gODA0LAorICAgICAgLTEsCisgICAgICAvKjB4YTcyNSovIDEwMzUsCisg
ICAgICAtMSwKKyAgICAgIC8qMHgxM2E3Ki8gNTMxLAorICAgICAgLTEsCisgICAgICAvKjB4MDRh
NyovIDM3MSwKKyAgICAgIC8qMHgxZjIyKi8gNzUyLAorICAgICAgLyoweDJkMDQqLyA5NjEsCisg
ICAgICAvKjB4MWYzNyovIDc2NSwKKyAgICAgIC8qMHgxZTI3Ki8gNjMyLAorICAgICAgLyoweDFl
YTcqLyA2OTEsCisgICAgICAvKjB4MDEyNyovIDc1LAorICAgICAgLyoweDJjYTcqLyA5MjMsCisg
ICAgICAtMSwgLTEsCisgICAgICAvKjB4YTcyMyovIDEwMzQsCisgICAgICAtMSwKKyAgICAgIC8q
MHgyZDExKi8gOTc0LAorICAgICAgLTEsIC0xLAorICAgICAgLyoweDJjNDMqLyA4NjgsCisgICAg
ICAtMSwKKyAgICAgIC8qMHgxZjM1Ki8gNzYzLAorICAgICAgLyoweDAwZWUqLyAzOSwKKyAgICAg
IC0xLAorICAgICAgLyoweDA0N2IqLyAzNTMsCisgICAgICAvKjB4MDRmYiovIDQxMywKKyAgICAg
IC0xLAorICAgICAgLyoweDAyMzMqLyAxODksCisgICAgICAvKjB4MTA0ZmIqLyAxMjAyLAorICAg
ICAgLyoweDFlN2IqLyA2NzQsCisgICAgICAvKjB4MWVmYiovIDczMywKKyAgICAgIC8qMHgxM2Ix
Ki8gNTQxLAorICAgICAgLyoweDA0MzEqLyAyOTMsCisgICAgICAvKjB4MDRiMSovIDM3NiwKKyAg
ICAgIC8qMHgwMGYzKi8gNDQsCisgICAgICAvKjB4MTA0MzEqLyAxMTM2LAorICAgICAgLTEsCisg
ICAgICAvKjB4MWUzMSovIDYzNywKKyAgICAgIC8qMHgxZWIxKi8gNjk2LAorICAgICAgLTEsCisg
ICAgICAvKjB4MmNiMSovIDkyOCwKKyAgICAgIC8qMHgyYzQxKi8gODY2LAorICAgICAgLyoweDAz
ZmIqLyAyOTEsCisgICAgICAvKjB4MDI0MCovIDE5MiwKKyAgICAgIC8qMHgwNTY2Ki8gNDQ1LAor
ICAgICAgLyoweDE2ZTZkKi8gMTI5OSwKKyAgICAgIC8qMHgwNDdkKi8gMzU0LAorICAgICAgLyow
eDA0ZmQqLyA0MTQsCisgICAgICAvKjB4MWYzMyovIDc2MSwKKyAgICAgIC0xLAorICAgICAgLyow
eDAzYjEqLyAyNDYsCisgICAgICAvKjB4MWU3ZCovIDY3NSwKKyAgICAgIC8qMHgxZWZkKi8gNzM0
LAorICAgICAgLyoweGZmNTcqLyAxMTIzLAorICAgICAgLyoweDA0N2YqLyAzNTUsCisgICAgICAv
KjB4MDRmZiovIDQxNSwKKyAgICAgIC8qMHgxZDdkKi8gNjExLAorICAgICAgLTEsIC0xLAorICAg
ICAgLyoweDFlN2YqLyA2NzYsCisgICAgICAvKjB4MWVmZiovIDczNSwKKyAgICAgIC8qMHgxM2Jk
Ki8gNTUzLAorICAgICAgLyoweDA0M2QqLyAzMDUsCisgICAgICAvKjB4MDRiZCovIDM4MiwKKyAg
ICAgIC8qMHgxZjQwKi8gNzY2LAorICAgICAgLyoweDEwNDNkKi8gMTE0OCwKKyAgICAgIC8qMHhh
NzkxKi8gMTA4MCwKKyAgICAgIC8qMHgxZTNkKi8gNjQzLAorICAgICAgLyoweDFlYmQqLyA3MDIs
CisgICAgICAvKjB4MDFiZiovIDEzNywKKyAgICAgIC8qMHgyY2JkKi8gOTM0LAorICAgICAgLTEs
IC0xLAorICAgICAgLyoweDFlOTNmKi8gMTM0NywKKyAgICAgIC0xLAorICAgICAgLyoweDA1NmMq
LyA0NTEsCisgICAgICAvKjB4MmM0NyovIDg3MiwKKyAgICAgIC0xLCAtMSwgLTEsCisgICAgICAv
KjB4MDNiZCovIDI1OCwKKyAgICAgIC8qMHgwMGY1Ki8gNDYsCisgICAgICAtMSwKKyAgICAgIC8q
MHgwMDdhKi8gMjQsCisgICAgICAtMSwKKyAgICAgIC8qMHgxMDRmYSovIDEyMDEsCisgICAgICAv
KjB4MWY3OSovIDc5MywKKyAgICAgIC0xLAorICAgICAgLyoweDAxN2EqLyAxMTQsCisgICAgICAv
KjB4YTcyNyovIDEwMzYsCisgICAgICAvKjB4MmM0NSovIDg3MCwKKyAgICAgIC8qMHgxM2I5Ki8g
NTQ5LAorICAgICAgLyoweDA0MzkqLyAzMDEsCisgICAgICAvKjB4MDRiOSovIDM4MCwKKyAgICAg
IC8qMHgwMjJkKi8gMTg2LAorICAgICAgLyoweDEwNDM5Ki8gMTE0NCwKKyAgICAgIC0xLAorICAg
ICAgLyoweDFlMzkqLyA2NDEsCisgICAgICAvKjB4MWViOSovIDcwMCwKKyAgICAgIC8qMHgxZTky
MiovIDEzMTgsCisgICAgICAvKjB4MmNiOSovIDkzMiwKKyAgICAgIC8qMHgxZTkzNyovIDEzMzks
CisgICAgICAtMSwKKyAgICAgIC8qMHgxM2MyKi8gNTU4LAorICAgICAgLyoweDA0NDIqLyAzMTAs
CisgICAgICAvKjB4MDRjMiovIDM4NCwKKyAgICAgIC0xLAorICAgICAgLyoweDEwNDQyKi8gMTE1
MywKKyAgICAgIC0xLAorICAgICAgLyoweDAyMjUqLyAxODIsCisgICAgICAvKjB4MDNiOSovIDI1
NCwKKyAgICAgIC8qMHgwMTQyKi8gODcsCisgICAgICAvKjB4MTNkMCovIDU3MiwKKyAgICAgIC8q
MHgwNDUwKi8gMzI0LAorICAgICAgLTEsCisgICAgICAvKjB4MWU5MzUqLyAxMzM3LAorICAgICAg
LyoweDEzZjIqLyA2MDYsCisgICAgICAtMSwKKyAgICAgIC8qMHgyYzY2Ki8gODk4LAorICAgICAg
LyoweDAwNzIqLyAxNiwKKyAgICAgIC8qMHgyZDI0Ki8gOTkzLAorICAgICAgLyoweDEwNGYyKi8g
MTE5MywKKyAgICAgIC0xLAorICAgICAgLyoweDAyMjMqLyAxODEsCisgICAgICAtMSwKKyAgICAg
IC8qMHgyZDFkKi8gOTg2LAorICAgICAgLyoweDI0ZDAqLyA4MjMsCisgICAgICAvKjB4MTE4YzAq
LyAxMjU0LAorICAgICAgLyoweGZmNTEqLyAxMTE3LAorICAgICAgLTEsCisgICAgICAvKjB4MWYy
NSovIDc1NSwKKyAgICAgIC0xLCAtMSwKKyAgICAgIC8qMHhhN2MzKi8gMTA5OSwKKyAgICAgIC0x
LAorICAgICAgLyoweDAzZjIqLyAyODgsCisgICAgICAvKjB4MDIwZiovIDE3MiwKKyAgICAgIC0x
LAorICAgICAgLyoweDJjM2YqLyA4NjQsCisgICAgICAtMSwKKyAgICAgIC8qMHhhNzdmKi8gMTA3
NCwKKyAgICAgIC0xLAorICAgICAgLyoweDFlOTMzKi8gMTMzNSwKKyAgICAgIC8qMHhmZjUzKi8g
MTExOSwKKyAgICAgIC8qMHgxZjIzKi8gNzUzLAorICAgICAgLTEsCisgICAgICAvKjB4MTZlNzEq
LyAxMzAzLAorICAgICAgLTEsCisgICAgICAvKjB4YTczZCovIDEwNDYsCisgICAgICAvKjB4MmM2
YyovIDkwMSwKKyAgICAgIC8qMHgxM2JiKi8gNTUxLAorICAgICAgLyoweDA0M2IqLyAzMDMsCisg
ICAgICAvKjB4MDRiYiovIDM4MSwKKyAgICAgIC0xLAorICAgICAgLyoweDEwNDNiKi8gMTE0NiwK
KyAgICAgIC0xLAorICAgICAgLyoweDFlM2IqLyA2NDIsCisgICAgICAvKjB4MWViYiovIDcwMSwK
KyAgICAgIC8qMHgxZTk0MCovIDEzNDgsCisgICAgICAvKjB4MmNiYiovIDkzMywKKyAgICAgIC8q
MHgwMjAxKi8gMTY1LAorICAgICAgLTEsIC0xLCAtMSwKKyAgICAgIC8qMHgxMGZkKi8gNTIxLAor
ICAgICAgLTEsCisgICAgICAvKjB4MmMzNyovIDg1NiwKKyAgICAgIC8qMHhhNzdhKi8gMTA3MiwK
KyAgICAgIC0xLAorICAgICAgLyoweDAzYmIqLyAyNTYsCisgICAgICAtMSwKKyAgICAgIC8qMHgw
NTc5Ki8gNDY0LAorICAgICAgLyoweDEwZmYqLyA1MjMsCisgICAgICAvKjB4MTZlNmUqLyAxMzAw
LAorICAgICAgLTEsCisgICAgICAvKjB4YTc5ZCovIDEwODYsCisgICAgICAvKjB4MDFmOSovIDE2
MSwKKyAgICAgIC8qMHgwMTdjKi8gMTE1LAorICAgICAgLyoweGE3MzkqLyAxMDQ0LAorICAgICAg
LTEsCisgICAgICAvKjB4MmMzNSovIDg1NCwKKyAgICAgIC8qMHgxZjAxKi8gNzM3LAorICAgICAg
LyoweDEzYWYqLyA1MzksCisgICAgICAtMSwKKyAgICAgIC8qMHgwNGFmKi8gMzc1LAorICAgICAg
LyoweDE2ZTczKi8gMTMwNSwKKyAgICAgIC8qMHgxMDQyZiovIDExMzQsCisgICAgICAtMSwKKyAg
ICAgIC8qMHgxZTJmKi8gNjM2LAorICAgICAgLyoweDFlYWYqLyA2OTUsCisgICAgICAvKjB4MDEy
ZiovIDc5LAorICAgICAgLyoweDJjYWYqLyA5MjcsCisgICAgICAtMSwgLTEsCisgICAgICAvKjB4
MWUwNSovIDYxNSwKKyAgICAgIC8qMHgxZTg1Ki8gNjc5LAorICAgICAgLyoweDAxMDUqLyA1OCwK
KyAgICAgIC8qMHgyYzg1Ki8gOTA2LAorICAgICAgLyoweDAyMjcqLyAxODMsCisgICAgICAvKjB4
MTBmYSovIDUyMCwKKyAgICAgIC8qMHgwNTJkKi8gNDM4LAorICAgICAgLyoweDAzYWYqLyAyNDUs
CisgICAgICAtMSwgLTEsCisgICAgICAvKjB4MTNhOSovIDUzMywKKyAgICAgIC8qMHgwMWFkKi8g
MTMxLAorICAgICAgLyoweDA0YTkqLyAzNzIsCisgICAgICAvKjB4MmMzMyovIDg1MiwKKyAgICAg
IC8qMHgxMDQyOSovIDExMjgsCisgICAgICAvKjB4MWU5MmQqLyAxMzI5LAorICAgICAgLyoweDFl
MjkqLyA2MzMsCisgICAgICAvKjB4MWVhOSovIDY5MiwKKyAgICAgIC8qMHgwMTI5Ki8gNzYsCisg
ICAgICAvKjB4MmNhOSovIDkyNCwKKyAgICAgIC0xLAorICAgICAgLyoweDA1MjUqLyA0MzQsCisg
ICAgICAtMSwKKyAgICAgIC8qMHgxMGNjMiovIDEyMDUsCisgICAgICAtMSwKKyAgICAgIC8qMHgx
ZjI3Ki8gNzU3LAorICAgICAgLyoweDAxYTUqLyAxMjksCisgICAgICAtMSwgLTEsCisgICAgICAv
KjB4MmM0MCovIDg2NSwKKyAgICAgIC8qMHgxZTkyNSovIDEzMjEsCisgICAgICAtMSwKKyAgICAg
IC8qMHgxMGNkMCovIDEyMTksCisgICAgICAvKjB4MDIzMSovIDE4OCwKKyAgICAgIC8qMHgyZDIy
Ki8gOTkxLAorICAgICAgLyoweDA1MjMqLyA0MzMsCisgICAgICAvKjB4MTBjZjIqLyAxMjUzLAor
ICAgICAgLyoweDEwZDAqLyA0NzgsCisgICAgICAvKjB4MTZlNzUqLyAxMzA3LAorICAgICAgLTEs
CisgICAgICAvKjB4MDFhMyovIDEyOCwKKyAgICAgIC8qMHgxMGYyKi8gNTEyLAorICAgICAgLTEs
CisgICAgICAvKjB4YTczYiovIDEwNDUsCisgICAgICAvKjB4MWU5MjMqLyAxMzE5LAorICAgICAg
LyoweDFmZDEqLyA4MDEsCisgICAgICAvKjB4MWY3YiovIDc5NSwKKyAgICAgIC8qMHgwMjdkKi8g
MjIzLAorICAgICAgLyoweDA1MGYqLyA0MjMsCisgICAgICAtMSwKKyAgICAgIC8qMHhmZjU1Ki8g
MTEyMSwKKyAgICAgIC8qMHgxM2NlKi8gNTcwLAorICAgICAgLyoweDA0NGUqLyAzMjIsCisgICAg
ICAvKjB4MDRjZSovIDM5MCwKKyAgICAgIC8qMHgxZjMxKi8gNzU5LAorICAgICAgLyoweDEwNDRl
Ki8gMTE2NSwKKyAgICAgIC0xLCAtMSwKKyAgICAgIC8qMHhhN2JmKi8gMTA5OCwKKyAgICAgIC8q
MHgwNDc3Ki8gMzUxLAorICAgICAgLyoweDA0ZjcqLyA0MTEsCisgICAgICAvKjB4MDA3NyovIDIx
LAorICAgICAgLyoweGE3N2MqLyAxMDczLAorICAgICAgLyoweDEwNGY3Ki8gMTE5OCwKKyAgICAg
IC8qMHgxZTc3Ki8gNjcyLAorICAgICAgLyoweDFlZjcqLyA3MzEsCisgICAgICAvKjB4MDE3Nyov
IDExMywKKyAgICAgIC0xLAorICAgICAgLyoweDFmN2QqLyA3OTcsCisgICAgICAtMSwKKyAgICAg
IC8qMHgwM2NlKi8gMjc0LAorICAgICAgLTEsCisgICAgICAvKjB4MDUwMSovIDQxNiwKKyAgICAg
IC0xLCAtMSwKKyAgICAgIC8qMHhhNzJmKi8gMTA0MCwKKyAgICAgIC8qMHgxZTAzKi8gNjE0LAor
ICAgICAgLyoweDFlODMqLyA2NzgsCisgICAgICAvKjB4MDEwMyovIDU3LAorICAgICAgLyoweDJj
ODMqLyA5MDUsCisgICAgICAvKjB4MTNlOCovIDU5NiwKKyAgICAgIC8qMHhmZjRmKi8gMTExNSwK
KyAgICAgIC0xLAorICAgICAgLyoweDAwNjgqLyA3LAorICAgICAgLTEsCisgICAgICAvKjB4MTA0
ZTgqLyAxMTgzLAorICAgICAgLyoweGE3YjcqLyAxMDk0LAorICAgICAgLyoweDEzYzYqLyA1NjIs
CisgICAgICAvKjB4MDQ0NiovIDMxNCwKKyAgICAgIC8qMHgwNGM2Ki8gMzg2LAorICAgICAgLTEs
CisgICAgICAvKjB4MTA0NDYqLyAxMTU3LAorICAgICAgLTEsCisgICAgICAvKjB4MTNmMCovIDYw
NCwKKyAgICAgIC8qMHgyNGU4Ki8gODQ3LAorICAgICAgLyoweDAxNDYqLyA4OSwKKyAgICAgIC8q
MHgwMDcwKi8gMTQsCisgICAgICAvKjB4YTcyOSovIDEwMzcsCisgICAgICAvKjB4MTA0ZjAqLyAx
MTkxLAorICAgICAgLTEsCisgICAgICAvKjB4YTdiNSovIDEwOTMsCisgICAgICAtMSwgLTEsCisg
ICAgICAvKjB4MWY3YSovIDc5NCwKKyAgICAgIC0xLAorICAgICAgLyoweDAyNDIqLyAxOTMsCisg
ICAgICAvKjB4MDNjNiovIDI2NiwKKyAgICAgIC0xLCAtMSwKKyAgICAgIC8qMHgwNDk5Ki8gMzY0
LAorICAgICAgLyoweDA1MjcqLyA0MzUsCisgICAgICAtMSwgLTEsCisgICAgICAvKjB4MWUxOSov
IDYyNSwKKyAgICAgIC8qMHgwMjUwKi8gMTk5LAorICAgICAgLyoweDAxMTkqLyA2OCwKKyAgICAg
IC8qMHgyYzk5Ki8gOTE2LAorICAgICAgLTEsCisgICAgICAvKjB4MDI3MiovIDIyMSwKKyAgICAg
IC8qMHgxZTkyNyovIDEzMjMsCisgICAgICAvKjB4MDU4MSovIDQ3MiwKKyAgICAgIC0xLAorICAg
ICAgLyoweGZmNDkqLyAxMTA5LAorICAgICAgLTEsIC0xLAorICAgICAgLyoweDAzN2IqLyAyMzks
CisgICAgICAvKjB4MWY0MiovIDc2OCwKKyAgICAgIC0xLCAtMSwKKyAgICAgIC8qMHgwMGU2Ki8g
MzEsCisgICAgICAtMSwKKyAgICAgIC8qMHgwNTdiKi8gNDY2LAorICAgICAgLTEsCisgICAgICAv
KjB4MTNjNCovIDU2MCwKKyAgICAgIC8qMHgwNDQ0Ki8gMzEyLAorICAgICAgLyoweDA0YzQqLyAz
ODUsCisgICAgICAvKjB4MDFmYiovIDE2MiwKKyAgICAgIC8qMHgxMDQ0NCovIDExNTUsCisgICAg
ICAtMSwKKyAgICAgIC8qMHgxZjcyKi8gNzg2LAorICAgICAgLTEsCisgICAgICAvKjB4MDE0NCov
IDg4LAorICAgICAgLTEsIC0xLAorICAgICAgLyoweDJkMmQqLyA5OTYsCisgICAgICAtMSwgLTEs
CisgICAgICAvKjB4MDM3ZCovIDI0MSwKKyAgICAgIC8qMHgxZTkzMSovIDEzMzMsCisgICAgICAt
MSwgLTEsIC0xLAorICAgICAgLyoweDAzYzQqLyAyNjQsCisgICAgICAvKjB4MDU3ZCovIDQ2OCwK
KyAgICAgIC8qMHgyMTc5Ki8gODE1LAorICAgICAgLyoweDEzZDYqLyA1NzgsCisgICAgICAvKjB4
MDQ1NiovIDMzMCwKKyAgICAgIC0xLAorICAgICAgLyoweDAxZmQqLyAxNjMsCisgICAgICAvKjB4
MmQyNSovIDk5NCwKKyAgICAgIC8qMHgwMGVjKi8gMzcsCisgICAgICAvKjB4MDU3ZiovIDQ3MCwK
KyAgICAgIC0xLCAtMSwKKyAgICAgIC8qMHgwMjlkKi8gMjM0LAorICAgICAgLyoweDEwY2NlKi8g
MTIxNywKKyAgICAgIC8qMHgwMWZmKi8gMTY0LAorICAgICAgLTEsIC0xLAorICAgICAgLyoweDI0
ZDYqLyA4MjksCisgICAgICAtMSwKKyAgICAgIC8qMHhmZjRkKi8gMTExMywKKyAgICAgIC0xLAor
ICAgICAgLyoweDJkMjMqLyA5OTIsCisgICAgICAvKjB4MDFiZCovIDEzNiwKKyAgICAgIC8qMHgw
NDk1Ki8gMzYyLAorICAgICAgLTEsCisgICAgICAvKjB4MTBmNyovIDUxNywKKyAgICAgIC8qMHgx
ZTkzZCovIDEzNDUsCisgICAgICAvKjB4MWUxNSovIDYyMywKKyAgICAgIC8qMHgxZTk1Ki8gNjg3
LAorICAgICAgLyoweDAxMTUqLyA2NiwKKyAgICAgIC8qMHgyYzk1Ki8gOTE0LAorICAgICAgLTEs
CisgICAgICAvKjB4MDIyZiovIDE4NywKKyAgICAgIC0xLAorICAgICAgLyoweDJkMGYqLyA5NzIs
CisgICAgICAtMSwKKyAgICAgIC8qMHgwNTdhKi8gNDY1LAorICAgICAgLyoweDExOGMyKi8gMTI1
NiwKKyAgICAgIC8qMHgwMjA1Ki8gMTY3LAorICAgICAgLTEsCisgICAgICAvKjB4MWY3YyovIDc5
NiwKKyAgICAgIC8qMHhmZjRiKi8gMTExMSwKKyAgICAgIC8qMHgxMGNlOCovIDEyNDMsCisgICAg
ICAtMSwgLTEsIC0xLAorICAgICAgLyoweDExOGQwKi8gMTI3MCwKKyAgICAgIC8qMHgxMGU4Ki8g
NTAyLAorICAgICAgLyoweDEzZWEqLyA1OTgsCisgICAgICAvKjB4MTBjYzYqLyAxMjA5LAorICAg
ICAgLTEsCisgICAgICAvKjB4MDA2YSovIDgsCisgICAgICAvKjB4MDFiOSovIDEzNSwKKyAgICAg
IC8qMHgxMDRlYSovIDExODUsCisgICAgICAvKjB4MDIyOSovIDE4NCwKKyAgICAgIC8qMHgxMGNm
MCovIDEyNTEsCisgICAgICAvKjB4MWU5MzkqLyAxMzQxLAorICAgICAgLyoweGE3YTUqLyAxMDkw
LAorICAgICAgLyoweDJkMDEqLyA5NTgsCisgICAgICAvKjB4MWYwNSovIDc0MSwKKyAgICAgIC8q
MHgxMGYwKi8gNTEwLAorICAgICAgLyoweDJjMzEqLyA4NTAsCisgICAgICAtMSwKKyAgICAgIC8q
MHhmZjQzKi8gMTEwMywKKyAgICAgIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLyoweDFlOTQyKi8g
MTM1MCwKKyAgICAgIC0xLCAtMSwKKyAgICAgIC8qMHhhN2EzKi8gMTA4OSwKKyAgICAgIC8qMHgw
NTcyKi8gNDU3LAorICAgICAgLyoweDAxZDAqLyAxNDIsCisgICAgICAvKjB4MTNhMSovIDUyNSwK
KyAgICAgIC0xLAorICAgICAgLyoweDA0YTEqLyAzNjgsCisgICAgICAtMSwgLTEsIC0xLAorICAg
ICAgLyoweDFlMjEqLyA2MjksCisgICAgICAvKjB4MWVhMSovIDY4OCwKKyAgICAgIC8qMHgwMTIx
Ki8gNzIsCisgICAgICAvKjB4MmNhMSovIDkyMCwKKyAgICAgIC8qMHhhNjkxKi8gMTAyOCwKKyAg
ICAgIC8qMHhmZjQxKi8gMTEwMSwKKyAgICAgIC8qMHgxZTA3Ki8gNjE2LAorICAgICAgLyoweDFl
ODcqLyA2ODAsCisgICAgICAvKjB4MDEwNyovIDU5LAorICAgICAgLyoweDJjODcqLyA5MDcsCisg
ICAgICAtMSwKKyAgICAgIC8qMHgyYzNkKi8gODYyLAorICAgICAgLTEsCisgICAgICAvKjB4MDQ5
MyovIDM2MSwKKyAgICAgIC0xLAorICAgICAgLyoweDEwY2M0Ki8gMTIwNywKKyAgICAgIC8qMHgy
ZDI3Ki8gOTk1LAorICAgICAgLyoweDFlMTMqLyA2MjIsCisgICAgICAvKjB4MWU5MyovIDY4NiwK
KyAgICAgIC8qMHgwMTEzKi8gNjUsCisgICAgICAvKjB4MmM5MyovIDkxMywKKyAgICAgIC0xLCAt
MSwKKyAgICAgIC8qMHgxM2FiKi8gNTM1LAorICAgICAgLyoweDAwZjkqLyA0OSwKKyAgICAgIC8q
MHgwNGFiKi8gMzczLAorICAgICAgLTEsCisgICAgICAvKjB4MTA0MmIqLyAxMTMwLAorICAgICAg
LyoweGE3ODEqLyAxMDc1LAorICAgICAgLyoweDFlMmIqLyA2MzQsCisgICAgICAvKjB4MWVhYiov
IDY5MywKKyAgICAgIC8qMHgwMTJiKi8gNzcsCisgICAgICAvKjB4MmNhYiovIDkyNSwKKyAgICAg
IC8qMHgxM2U0Ki8gNTkyLAorICAgICAgLyoweDAyMDMqLyAxNjYsCisgICAgICAvKjB4MWU5M2Iq
LyAxMzQzLAorICAgICAgLyoweDAwNjQqLyAzLAorICAgICAgLyoweDEwY2Q2Ki8gMTIyNSwKKyAg
ICAgIC8qMHgxMDRlNCovIDExNzksCisgICAgICAvKjB4MDM3YyovIDI0MCwKKyAgICAgIC8qMHhm
ZjQ3Ki8gMTEwNywKKyAgICAgIC8qMHgyYzM5Ki8gODU4LAorICAgICAgLyoweDEwZDYqLyA0ODQs
CisgICAgICAvKjB4MWY3NyovIDc5MSwKKyAgICAgIC8qMHgwMjY4Ki8gMjE0LAorICAgICAgLyow
eDA1N2MqLyA0NjcsCisgICAgICAvKjB4MTNlMiovIDU5MCwKKyAgICAgIC8qMHgyNGU0Ki8gODQz
LAorICAgICAgLyoweDE2ZTY2Ki8gMTI5MiwKKyAgICAgIC8qMHgwMDYyKi8gMSwKKyAgICAgIC0x
LAorICAgICAgLyoweDEwNGUyKi8gMTE3NywKKyAgICAgIC0xLAorICAgICAgLyoweDJjNDIqLyA4
NjcsCisgICAgICAvKjB4ZmY0NSovIDExMDUsCisgICAgICAvKjB4MWYwMyovIDczOSwKKyAgICAg
IC0xLCAtMSwKKyAgICAgIC8qMHgwNTJmKi8gNDM5LAorICAgICAgLTEsCisgICAgICAvKjB4MjRl
MiovIDg0MSwKKyAgICAgIC0xLAorICAgICAgLyoweDJjNTAqLyA4ODEsCisgICAgICAtMSwKKyAg
ICAgIC8qMHgwNTA1Ki8gNDE4LAorICAgICAgLTEsCisgICAgICAvKjB4YTdhNyovIDEwOTEsCisg
ICAgICAvKjB4MWU5MmYqLyAxMzMxLAorICAgICAgLTEsCisgICAgICAvKjB4MDE4NSovIDExOSwK
KyAgICAgIC8qMHgxM2UwKi8gNTg4LAorICAgICAgLyoweDAyMTkqLyAxNzcsCisgICAgICAvKjB4
MTNkYSovIDU4MiwKKyAgICAgIC8qMHgwNDVhKi8gMzM0LAorICAgICAgLTEsCisgICAgICAvKjB4
MTA0ZTAqLyAxMTc1LAorICAgICAgLyoweDIxN2IqLyA4MTcsCisgICAgICAvKjB4MTA0ZGEqLyAx
MTY5LAorICAgICAgLyoweDFmNzAqLyA3ODQsCisgICAgICAvKjB4MTZlNmMqLyAxMjk4LAorICAg
ICAgLyoweDA1MjkqLyA0MzYsCisgICAgICAvKjB4MDA3OCovIDIyLAorICAgICAgLyoweDEwY2Vh
Ki8gMTI0NSwKKyAgICAgIC8qMHgxMDRmOCovIDExOTksCisgICAgICAvKjB4MjRlMCovIDgzOSwK
KyAgICAgIC0xLAorICAgICAgLyoweDI0ZGEqLyA4MzMsCisgICAgICAvKjB4MTBlYSovIDUwNCwK
KyAgICAgIC0xLAorICAgICAgLyoweDFlOTI5Ki8gMTMyNSwKKyAgICAgIC8qMHgxM2RjKi8gNTg0
LAorICAgICAgLyoweDA0NWMqLyAzMzYsCisgICAgICAvKjB4MTNjYyovIDU2OCwKKyAgICAgIC8q
MHgwNDRjKi8gMzIwLAorICAgICAgLyoweDA0Y2MqLyAzODksCisgICAgICAvKjB4MTA0ZGMqLyAx
MTcxLAorICAgICAgLyoweDEwNDRjKi8gMTE2MywKKyAgICAgIC8qMHgwM2Y4Ki8gMjkwLAorICAg
ICAgLyoweDIxN2QqLyA4MTksCisgICAgICAvKjB4MTE4Y2UqLyAxMjY4LAorICAgICAgLyoweDJj
M2IqLyA4NjAsCisgICAgICAtMSwKKyAgICAgIC8qMHgxM2Q4Ki8gNTgwLAorICAgICAgLyoweDA0
NTgqLyAzMzIsCisgICAgICAvKjB4MjRkYyovIDgzNSwKKyAgICAgIC0xLAorICAgICAgLyoweDIx
N2YqLyA4MjEsCisgICAgICAvKjB4MTA0ZDgqLyAxMTY3LAorICAgICAgLTEsIC0xLAorICAgICAg
LyoweGE3MmIqLyAxMDM4LAorICAgICAgLyoweDAzY2MqLyAyNzIsCisgICAgICAvKjB4MDU4NSov
IDQ3NiwKKyAgICAgIC8qMHgxM2Q0Ki8gNTc2LAorICAgICAgLyoweDA0NTQqLyAzMjgsCisgICAg
ICAtMSwKKyAgICAgIC8qMHgyNGQ4Ki8gODMxLAorICAgICAgLTEsCisgICAgICAvKjB4MWY0NCov
IDc3MCwKKyAgICAgIC8qMHgwMjU2Ki8gMjA0LAorICAgICAgLyoweDEzZDIqLyA1NzQsCisgICAg
ICAvKjB4MDQ1MiovIDMyNiwKKyAgICAgIC8qMHgwMzc3Ki8gMjM4LAorICAgICAgLTEsIC0xLAor
ICAgICAgLyoweGE3YmQqLyAxMDk3LAorICAgICAgLyoweDAxY2UqLyAxNDEsCisgICAgICAvKjB4
MjRkNCovIDgyNywKKyAgICAgIC8qMHgwNTc3Ki8gNDYyLAorICAgICAgLTEsIC0xLAorICAgICAg
LyoweDAxN2UqLyAxMTYsCisgICAgICAvKjB4MDQ5NyovIDM2MywKKyAgICAgIC8qMHgyMTdhKi8g
ODE2LAorICAgICAgLyoweDI0ZDIqLyA4MjUsCisgICAgICAvKjB4MTE4YzYqLyAxMjYwLAorICAg
ICAgLyoweDFlMTcqLyA2MjQsCisgICAgICAvKjB4MDIxNSovIDE3NSwKKyAgICAgIC8qMHgwMTE3
Ki8gNjcsCisgICAgICAvKjB4MmM5NyovIDkxNSwKKyAgICAgIC8qMHgwNTAzKi8gNDE3LAorICAg
ICAgLTEsCisgICAgICAvKjB4MDA3NiovIDIwLAorICAgICAgLyoweDEzZjQqLyA2MDgsCisgICAg
ICAvKjB4MTA0ZjYqLyAxMTk3LAorICAgICAgLyoweDAxODMqLyAxMTgsCisgICAgICAvKjB4MDA3
NCovIDE4LAorICAgICAgLyoweDEwY2U0Ki8gMTIzOSwKKyAgICAgIC8qMHgxMDRmNCovIDExOTUs
CisgICAgICAtMSwKKyAgICAgIC8qMHgwNTY4Ki8gNDQ3LAorICAgICAgLTEsCisgICAgICAvKjB4
MTBlNCovIDQ5OCwKKyAgICAgIC8qMHgxM2JjKi8gNTUyLAorICAgICAgLyoweDA0M2MqLyAzMDQs
CisgICAgICAvKjB4YTdiOSovIDEwOTUsCisgICAgICAtMSwKKyAgICAgIC8qMHgxMDQzYyovIDEx
NDcsCisgICAgICAvKjB4MWYxNSovIDc0OSwKKyAgICAgIC0xLAorICAgICAgLyoweDEwY2UyKi8g
MTIzNywKKyAgICAgIC8qMHgwMTNjKi8gODQsCisgICAgICAvKjB4MDFjNiovIDEzOCwKKyAgICAg
IC8qMHgwNTcwKi8gNDU1LAorICAgICAgLyoweDAyNmEqLyAyMTYsCisgICAgICAvKjB4MTBlMiov
IDQ5NiwKKyAgICAgIC8qMHgxM2M4Ki8gNTY0LAorICAgICAgLyoweDA0NDgqLyAzMTYsCisgICAg
ICAvKjB4MDRjOCovIDM4NywKKyAgICAgIC8qMHgyMTcyKi8gODA4LAorICAgICAgLyoweDEwNDQ4
Ki8gMTE1OSwKKyAgICAgIC0xLAorICAgICAgLyoweDAzYmMqLyAyNTcsCisgICAgICAtMSwKKyAg
ICAgIC8qMHgwMTQ4Ki8gOTAsCisgICAgICAvKjB4MTZlNzkqLyAxMzExLAorICAgICAgLTEsCisg
ICAgICAvKjB4MDUxOSovIDQyOCwKKyAgICAgIC8qMHgwMGZiKi8gNTEsCisgICAgICAtMSwgLTEs
CisgICAgICAvKjB4MTE4YzQqLyAxMjU4LAorICAgICAgLyoweDAxOTkqLyAxMjQsCisgICAgICAt
MSwKKyAgICAgIC8qMHgxMGNlMCovIDEyMzUsCisgICAgICAvKjB4MDNjOCovIDI2OCwKKyAgICAg
IC8qMHgxMGNkYSovIDEyMjksCisgICAgICAtMSwKKyAgICAgIC8qMHgwNTgzKi8gNDc0LAorICAg
ICAgLyoweDEwZTAqLyA0OTQsCisgICAgICAtMSwKKyAgICAgIC8qMHgxMGRhKi8gNDg4LAorICAg
ICAgLTEsIC0xLCAtMSwKKyAgICAgIC8qMHgyYzRlKi8gODc5LAorICAgICAgLyoweDAyMDcqLyAx
NjgsCisgICAgICAvKjB4MTBmOCovIDUxOCwKKyAgICAgIC0xLCAtMSwKKyAgICAgIC8qMHgwMGZk
Ki8gNTMsCisgICAgICAtMSwKKyAgICAgIC8qMHgyZDA1Ki8gOTYyLAorICAgICAgLyoweDExOGQ2
Ki8gMTI3NiwKKyAgICAgIC8qMHgxMGNkYyovIDEyMzEsCisgICAgICAtMSwKKyAgICAgIC8qMHgx
MGNjYyovIDEyMTUsCisgICAgICAvKjB4MDIxMyovIDE3NCwKKyAgICAgIC8qMHgwMGZmKi8gNTUs
CisgICAgICAvKjB4MTBkYyovIDQ5MCwKKyAgICAgIC0xLAorICAgICAgLyoweDFmMjEqLyA3NTEs
CisgICAgICAtMSwgLTEsCisgICAgICAvKjB4YTdiYiovIDEwOTYsCisgICAgICAtMSwKKyAgICAg
IC8qMHgxMGNkOCovIDEyMjcsCisgICAgICAvKjB4MWYwNyovIDc0MywKKyAgICAgIC0xLAorICAg
ICAgLyoweDAyMmIqLyAxODUsCisgICAgICAtMSwKKyAgICAgIC8qMHgxMGQ4Ki8gNDg2LAorICAg
ICAgLyoweDIxN2MqLyA4MTgsCisgICAgICAtMSwKKyAgICAgIC8qMHgyYzY4Ki8gODk5LAorICAg
ICAgLTEsIC0xLAorICAgICAgLyoweDEwY2Q0Ki8gMTIyMywKKyAgICAgIC8qMHgxZjEzKi8gNzQ3
LAorICAgICAgLTEsCisgICAgICAvKjB4MDFkNiovIDE0NSwKKyAgICAgIC8qMHgyYzQ2Ki8gODcx
LAorICAgICAgLyoweDEwZDQqLyA0ODIsCisgICAgICAtMSwKKyAgICAgIC8qMHgxMGNkMiovIDEy
MjEsCisgICAgICAvKjB4MDBmYSovIDUwLAorICAgICAgLyoweDEzY2EqLyA1NjYsCisgICAgICAv
KjB4MDQ0YSovIDMxOCwKKyAgICAgIC8qMHgwNGNhKi8gMzg4LAorICAgICAgLyoweDEwZDIqLyA0
ODAsCisgICAgICAvKjB4MTA0NGEqLyAxMTYxLAorICAgICAgLyoweDIxODQqLyA4MjIsCisgICAg
ICAvKjB4MTBmZSovIDUyMiwKKyAgICAgIC8qMHgwNTE1Ki8gNDI2LAorICAgICAgLTEsIC0xLCAt
MSwgLTEsCisgICAgICAvKjB4MDE5NSovIDEyMywKKyAgICAgIC0xLAorICAgICAgLyoweDFmNjQq
LyA3ODAsCisgICAgICAtMSwKKyAgICAgIC8qMHhhNzg1Ki8gMTA3NywKKyAgICAgIC8qMHgxM2I2
Ki8gNTQ2LAorICAgICAgLyoweDA0MzYqLyAyOTgsCisgICAgICAvKjB4MDNjYSovIDI3MCwKKyAg
ICAgIC0xLAorICAgICAgLyoweDEwNDM2Ki8gMTE0MSwKKyAgICAgIC8qMHgxMGY2Ki8gNTE2LAor
ICAgICAgLTEsCisgICAgICAvKjB4MTNiNCovIDU0NCwKKyAgICAgIC8qMHgwNDM0Ki8gMjk2LAor
ICAgICAgLyoweDEwZjQqLyA1MTQsCisgICAgICAvKjB4MWY2MiovIDc3OCwKKyAgICAgIC8qMHgx
MDQzNCovIDExMzksCisgICAgICAtMSwKKyAgICAgIC8qMHgwMjYwKi8gMjA5LAorICAgICAgLTEs
CisgICAgICAvKjB4YTdhOSovIDEwOTIsCisgICAgICAvKjB4MDQ4ZCovIDM1OCwKKyAgICAgIC8q
MHgwNTZhKi8gNDQ5LAorICAgICAgLyoweDAwZjIqLyA0MywKKyAgICAgIC8qMHgwM2I2Ki8gMjUx
LAorICAgICAgLyoweDFlMGQqLyA2MTksCisgICAgICAvKjB4MWU4ZCovIDY4MywKKyAgICAgIC8q
MHgwMTBkKi8gNjIsCisgICAgICAvKjB4MmM4ZCovIDkxMCwKKyAgICAgIC8qMHgyYzQ0Ki8gODY5
LAorICAgICAgLyoweDJkMDMqLyA5NjAsCisgICAgICAvKjB4MDNiNCovIDI0OSwKKyAgICAgIC8q
MHgxMGNjOCovIDEyMTEsCisgICAgICAvKjB4MWUwOSovIDYxNywKKyAgICAgIC8qMHgxZTg5Ki8g
NjgxLAorICAgICAgLyoweDAxMDkqLyA2MCwKKyAgICAgIC8qMHgyYzg5Ki8gOTA4LAorICAgICAg
LTEsCisgICAgICAvKjB4MDI1YyovIDIwOCwKKyAgICAgIC8qMHgxZjYwKi8gNzc2LAorICAgICAg
LTEsIC0xLAorICAgICAgLyoweDEzYjAqLyA1NDAsCisgICAgICAvKjB4MDQzMCovIDI5MiwKKyAg
ICAgIC8qMHgxM2RlKi8gNTg2LAorICAgICAgLyoweDA0NWUqLyAzMzgsCisgICAgICAvKjB4MTA0
MzAqLyAxMTM1LAorICAgICAgLyoweDFmNzgqLyA3OTIsCisgICAgICAvKjB4MDUyMSovIDQzMiwK
KyAgICAgIC8qMHgxMDRkZSovIDExNzMsCisgICAgICAvKjB4MjE0ZSovIDgwNSwKKyAgICAgIC8q
MHgyYzU2Ki8gODg3LAorICAgICAgLTEsCisgICAgICAvKjB4MDFhMSovIDEyNywKKyAgICAgIC8q
MHgwNTA3Ki8gNDE5LAorICAgICAgLTEsCisgICAgICAvKjB4MDQ5ZiovIDM2NywKKyAgICAgIC8q
MHgyMTc3Ki8gODEzLAorICAgICAgLyoweDI0ZGUqLyA4MzcsCisgICAgICAtMSwKKyAgICAgIC8q
MHgxZTFmKi8gNjI4LAorICAgICAgLyoweDAyNTQqLyAyMDMsCisgICAgICAvKjB4MDExZiovIDcx
LAorICAgICAgLyoweDJjOWYqLyA5MTksCisgICAgICAtMSwKKyAgICAgIC8qMHgwNTEzKi8gNDI1
LAorICAgICAgLTEsCisgICAgICAvKjB4MmQxOSovIDk4MiwKKyAgICAgIC8qMHgwMjUyKi8gMjAx
LAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC0xLAorICAgICAgLyoweDAw
ZmMqLyA1MiwKKyAgICAgIC8qMHgwNTJiKi8gNDM3LAorICAgICAgLyoweDAyMTcqLyAxNzYsCisg
ICAgICAtMSwKKyAgICAgIC8qMHhhNzgzKi8gMTA3NiwKKyAgICAgIC8qMHgxNmU3YiovIDEzMTMs
CisgICAgICAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC8qMHgxZTkyYiovIDEzMjcsCisgICAgICAv
KjB4MDU2NCovIDQ0MywKKyAgICAgIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLyoweDIxNzAqLyA4
MDYsCisgICAgICAtMSwgLTEsIC0xLAorICAgICAgLyoweDJjNmEqLyA5MDAsCisgICAgICAtMSwg
LTEsIC0xLAorICAgICAgLyoweDA1NjIqLyA0NDEsCisgICAgICAvKjB4MDIzYyovIDE5MCwKKyAg
ICAgIC8qMHgxMGNjYSovIDEyMTMsCisgICAgICAvKjB4MTZlN2QqLyAxMzE1LAorICAgICAgLyow
eDExOGRhKi8gMTI4MCwKKyAgICAgIC0xLCAtMSwgLTEsCisgICAgICAvKjB4MWY3NiovIDc5MCwK
KyAgICAgIC0xLCAtMSwKKyAgICAgIC8qMHgxNmU3ZiovIDEzMTcsCisgICAgICAvKjB4MWY3NCov
IDc4OCwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLyoweGE3OTkqLyAxMDg0LAorICAg
ICAgLTEsIC0xLAorICAgICAgLyoweGE2OGYqLyAxMDI3LAorICAgICAgLTEsCisgICAgICAvKjB4
MTE4ZGMqLyAxMjgyLAorICAgICAgLTEsCisgICAgICAvKjB4MTE4Y2MqLyAxMjY2LAorICAgICAg
LTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC8qMHgwMWRhKi8gMTQ3LAorICAgICAgLyow
eDA1NzgqLyA0NjMsCisgICAgICAvKjB4MmQxNSovIDk3OCwKKyAgICAgIC8qMHgxMThkOCovIDEy
NzgsCisgICAgICAtMSwgLTEsIC0xLAorICAgICAgLyoweDE2ZTdhKi8gMTMxMiwKKyAgICAgIC0x
LCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC8qMHhhNjgxKi8gMTAyMCwKKyAgICAgIC8qMHgxMThk
NCovIDEyNzQsCisgICAgICAtMSwgLTEsIC0xLAorICAgICAgLyoweDAxZGMqLyAxNDgsCisgICAg
ICAtMSwKKyAgICAgIC8qMHgwMWNjKi8gMTQwLAorICAgICAgLyoweDExOGQyKi8gMTI3MiwKKyAg
ICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC8qMHgxMGNkZSovIDEyMzMsCisgICAgICAt
MSwgLTEsCisgICAgICAvKjB4MDFkOCovIDE0NiwKKyAgICAgIC0xLAorICAgICAgLyoweDEwZGUq
LyA0OTIsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLTEsIC0xLAorICAg
ICAgLyoweDAxZDQqLyAxNDQsCisgICAgICAtMSwKKyAgICAgIC8qMHgxNmU3MiovIDEzMDQsCisg
ICAgICAtMSwgLTEsCisgICAgICAvKjB4MDU3ZSovIDQ2OSwKKyAgICAgIC0xLAorICAgICAgLyow
eDAxZDIqLyAxNDMsCisgICAgICAtMSwKKyAgICAgIC8qMHgwMGU4Ki8gMzMsCisgICAgICAtMSwg
LTEsCisgICAgICAvKjB4MDUxNyovIDQyNywKKyAgICAgIC0xLAorICAgICAgLyoweDJkMjEqLyA5
OTAsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAvKjB4MmQwNyovIDk2NCwKKyAg
ICAgIC8qMHgwNTc2Ki8gNDYxLAorICAgICAgLyoweDAwZjAqLyA0MSwKKyAgICAgIC8qMHhmZjQy
Ki8gMTEwMiwKKyAgICAgIC0xLAorICAgICAgLyoweDA1NzQqLyA0NTksCisgICAgICAvKjB4MTE4
YzgqLyAxMjYyLAorICAgICAgLTEsCisgICAgICAvKjB4MmM1YSovIDg5MSwKKyAgICAgIC0xLCAt
MSwKKyAgICAgIC8qMHgyZDEzKi8gOTc2LAorICAgICAgLyoweGZmNTAqLyAxMTE2LAorICAgICAg
LTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLyow
eDAyMGQqLyAxNzEsCisgICAgICAvKjB4MWU5M2MqLyAxMzQ0LAorICAgICAgLTEsCisgICAgICAv
KjB4MmM1YyovIDg5MywKKyAgICAgIC0xLAorICAgICAgLyoweDJjNGMqLyA4NzcsCisgICAgICAt
MSwKKyAgICAgIC8qMHgxZjM2Ki8gNzY0LAorICAgICAgLyoweDAyMDkqLyAxNjksCisgICAgICAt
MSwgLTEsIC0xLAorICAgICAgLyoweDE2ZTdjKi8gMTMxNCwKKyAgICAgIC0xLAorICAgICAgLyow
eDFmMzQqLyA3NjIsCisgICAgICAvKjB4MmM1OCovIDg4OSwKKyAgICAgIC0xLCAtMSwgLTEsCisg
ICAgICAvKjB4MWZiMSovIDc5OSwKKyAgICAgIC0xLAorICAgICAgLyoweGE3YTEqLyAxMDg4LAor
ICAgICAgLTEsIC0xLCAtMSwgLTEsCisgICAgICAvKjB4MmM1NCovIDg4NSwKKyAgICAgIC8qMHhh
Nzg3Ki8gMTA3OCwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC8qMHgyYzUyKi8g
ODgzLAorICAgICAgLTEsCisgICAgICAvKjB4MDIxZiovIDE4MCwKKyAgICAgIC0xLCAtMSwKKyAg
ICAgIC8qMHhhNzkzKi8gMTA4MSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC8q
MHgxZjMwKi8gNzU4LAorICAgICAgLTEsIC0xLCAtMSwKKyAgICAgIC8qMHgwMjgzKi8gMjI2LAor
ICAgICAgLTEsIC0xLCAtMSwKKyAgICAgIC8qMHgyYzc2Ki8gOTAzLAorICAgICAgLyoweDExOGNh
Ki8gMTI2NCwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0x
LCAtMSwgLTEsIC0xLAorICAgICAgLyoweDJjM2MqLyA4NjEsCisgICAgICAtMSwgLTEsIC0xLCAt
MSwgLTEsIC0xLAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC8qMHgyYzQ4
Ki8gODczLAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC8qMHgwMGVhKi8g
MzUsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLTEsCisgICAgICAvKjB4
MjE3OCovIDgxNCwKKyAgICAgIC8qMHgxNmU3NyovIDEzMDksCisgICAgICAtMSwKKyAgICAgIC8q
MHgwMWI2Ki8gMTM0LAorICAgICAgLTEsIC0xLAorICAgICAgLyoweDFmZDAqLyA4MDAsCisgICAg
ICAvKjB4MWU5MzYqLyAxMzM4LAorICAgICAgLTEsIC0xLAorICAgICAgLyoweDAxYjQqLyAxMzMs
CisgICAgICAtMSwKKyAgICAgIC8qMHgwNTBkKi8gNDIyLAorICAgICAgLyoweDJkMTcqLyA5ODAs
CisgICAgICAvKjB4MWU5MzQqLyAxMzM2LAorICAgICAgLyoweDExOGRlKi8gMTI4NCwKKyAgICAg
IC0xLCAtMSwgLTEsIC0xLAorICAgICAgLyoweDA1MDkqLyA0MjAsCisgICAgICAtMSwgLTEsCisg
ICAgICAvKjB4MTZlNjgqLyAxMjk0LAorICAgICAgLTEsIC0xLCAtMSwgLTEsCisgICAgICAvKjB4
ZmY0ZSovIDExMTQsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLTEsCisg
ICAgICAvKjB4MTZlNzAqLyAxMzAyLAorICAgICAgLTEsIC0xLCAtMSwKKyAgICAgIC8qMHgwMWIw
Ki8gMTMyLAorICAgICAgLTEsIC0xLCAtMSwKKyAgICAgIC8qMHgxZTkzMCovIDEzMzIsCisgICAg
ICAvKjB4MjE3ZSovIDgyMCwKKyAgICAgIC0xLAorICAgICAgLyoweDA1MWYqLyA0MzEsCisgICAg
ICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLTEsCisgICAgICAvKjB4MmM0YSovIDg3
NSwKKyAgICAgIC0xLAorICAgICAgLyoweDAwZTQqLyAyOSwKKyAgICAgIC0xLAorICAgICAgLyow
eGE2ODUqLyAxMDIyLAorICAgICAgLTEsCisgICAgICAvKjB4MjE3NiovIDgxMiwKKyAgICAgIC0x
LAorICAgICAgLyoweGE3OTcqLyAxMDgzLAorICAgICAgLyoweGZmNDYqLyAxMTA2LAorICAgICAg
LyoweDIxNzQqLyA4MTAsCisgICAgICAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC8qMHgwMGUyKi8g
MjcsCisgICAgICAtMSwKKyAgICAgIC8qMHgyYzM2Ki8gODU1LAorICAgICAgLTEsIC0xLCAtMSwg
LTEsIC0xLCAtMSwKKyAgICAgIC8qMHgyYzM0Ki8gODUzLAorICAgICAgLTEsIC0xLCAtMSwgLTEs
IC0xLCAtMSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsCisg
ICAgICAvKjB4MDBlMCovIDI1LAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAg
IC0xLAorICAgICAgLyoweDAwZjgqLyA0OCwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEs
CisgICAgICAvKjB4MmMzMCovIDg0OSwKKyAgICAgIC8qMHhmZjQ0Ki8gMTEwNCwKKyAgICAgIC8q
MHgyYzVlKi8gODk1LAorICAgICAgLTEsIC0xLCAtMSwgLTEsCisgICAgICAvKjB4MDI4NyovIDIy
NywKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwg
LTEsIC0xLAorICAgICAgLTEsIC0xLCAtMSwKKyAgICAgIC8qMHhmZjU2Ki8gMTEyMiwKKyAgICAg
IC0xLCAtMSwKKyAgICAgIC8qMHhhNjgzKi8gMTAyMSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAt
MSwgLTEsCisgICAgICAtMSwKKyAgICAgIC8qMHgxNmU2YSovIDEyOTYsCisgICAgICAtMSwgLTEs
IC0xLAorICAgICAgLyoweDAwZmUqLyA1NCwKKyAgICAgIC0xLCAtMSwKKyAgICAgIC8qMHgyZDBk
Ki8gOTcwLAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC0xLAorICAgICAg
LyoweDJkMDkqLyA5NjYsCisgICAgICAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC8qMHgwMGY2Ki8g
NDcsCisgICAgICAtMSwgLTEsIC0xLAorICAgICAgLyoweDAwZjQqLyA0NSwKKyAgICAgIC0xLCAt
MSwgLTEsIC0xLAorICAgICAgLyoweGE2OTkqLyAxMDMyLAorICAgICAgLTEsIC0xLCAtMSwgLTEs
IC0xLCAtMSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAvKjB4MmQxZiov
IDk4OCwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAt
MSwgLTEsIC0xLAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC0xLCAtMSwg
LTEsIC0xLAorICAgICAgLyoweDE2ZTY0Ki8gMTI5MCwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAt
MSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLyoweDE2ZTYyKi8g
MTI4OCwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAt
MSwgLTEsIC0xLAorICAgICAgLTEsCisgICAgICAvKjB4YTc5ZiovIDEwODcsCisgICAgICAtMSwg
LTEsCisgICAgICAvKjB4YTY5NSovIDEwMzAsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0x
LAorICAgICAgLyoweDE2ZTYwKi8gMTI4NiwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEs
CisgICAgICAtMSwKKyAgICAgIC8qMHgxNmU3OCovIDEzMTAsCisgICAgICAtMSwgLTEsIC0xLCAt
MSwgLTEsIC0xLAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC0xLCAtMSwg
LTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLTEs
IC0xLCAtMSwKKyAgICAgIC8qMHhmZjVhKi8gMTEyNiwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAt
MSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLTEsIC0xLCAtMSwK
KyAgICAgIC8qMHhhNjg3Ki8gMTAyMywKKyAgICAgIC8qMHgxNmU3ZSovIDEzMTYsCisgICAgICAt
MSwgLTEsCisgICAgICAvKjB4ZmY0YyovIDExMTIsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEs
IC0xLAorICAgICAgLyoweGE2OTMqLyAxMDI5LAorICAgICAgLTEsIC0xLAorICAgICAgLyoweGZm
NTgqLyAxMTI0LAorICAgICAgLTEsIC0xLAorICAgICAgLyoweDE2ZTc2Ki8gMTMwOCwKKyAgICAg
IC0xLCAtMSwgLTEsCisgICAgICAvKjB4MTZlNzQqLyAxMzA2LAorICAgICAgLTEsIC0xLCAtMSwK
KyAgICAgIC8qMHhmZjU0Ki8gMTEyMCwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisg
ICAgICAvKjB4ZmY1MiovIDExMTgsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAg
ICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEs
CisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0x
LCAtMSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAt
MSwgLTEsIC0xLAorICAgICAgLTEsIC0xLCAtMSwKKyAgICAgIC8qMHhmZjQ4Ki8gMTEwOCwKKyAg
ICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0x
LAorICAgICAgLTEsIC0xLAorICAgICAgLyoweDFmZTAqLyA4MDIsCisgICAgICAvKjB4MDI4OSov
IDIyOSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAt
MSwgLTEsIC0xLAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC0xLCAtMSwg
LTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLTEs
IC0xLCAtMSwgLTEsIC0xLAorICAgICAgLyoweGE2OTcqLyAxMDMxLAorICAgICAgLTEsIC0xLCAt
MSwgLTEsIC0xLCAtMSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwg
LTEsIC0xLCAtMSwgLTEsCisgICAgICAvKjB4ZmY0YSovIDExMTAsCisgICAgICAtMSwgLTEsIC0x
LCAtMSwgLTEsIC0xLAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC0xLCAt
MSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAg
LTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisg
ICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAt
MSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwg
LTEsIC0xLAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC0xLCAtMSwgLTEs
IC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLTEsIC0x
LCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAt
MSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAg
ICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0x
LAorICAgICAgLTEsIC0xLCAtMSwgLTEsCisgICAgICAvKjB4YTY4ZCovIDEwMjYsCisgICAgICAt
MSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLTEsCisgICAgICAvKjB4YTY4OSovIDEwMjQs
CisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0xLAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0x
LCAtMSwKKyAgICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAt
MSwgLTEsIC0xLAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC0xLCAtMSwg
LTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwKKyAgICAgIC8qMHgxZmIwKi8gNzk4CisgICAgfTsK
KworICBpZiAoY29kZSA8PSBNQVhfQ09ERV9WQUxVRSAmJiBjb2RlID49IE1JTl9DT0RFX1ZBTFVF
KQorICAgIHsKKyAgICAgIHJlZ2lzdGVyIHVuc2lnbmVkIGludCBrZXkgPSBvbmlnZW5jX3VuaWNv
ZGVfQ2FzZVVuZm9sZF8xMV9oYXNoKGNvZGUpOworCisgICAgICBpZiAoa2V5IDw9IE1BWF9IQVNI
X1ZBTFVFKQorICAgICAgICB7CisgICAgICAgICAgcmVnaXN0ZXIgc2hvcnQgcyA9IHdvcmRsaXN0
W2tleV07CisKKyAgICAgICAgICBpZiAocyA+PSAwICYmIGNvZGUxX2VxdWFsKGNvZGUsIENhc2VV
bmZvbGRfMTFfVGFibGVbc10uZnJvbSkpCisgICAgICAgICAgICByZXR1cm4gJkNhc2VVbmZvbGRf
MTFfVGFibGVbc10udG87CisgICAgICAgIH0KKyAgICB9CisgIHJldHVybiAwOworfQorCitzdGF0
aWMgY29uc3QgQ2FzZVVuZm9sZF8xMl9UeXBlIENhc2VVbmZvbGRfMTJfVGFibGVbXSA9IHsKKyNk
ZWZpbmUgQ2FzZVVuZm9sZF8xMiAoKihDYXNlVW5mb2xkXzEyX1R5cGUgKCopWzU4XSkoQ2FzZVVu
Zm9sZF8xMl9UYWJsZSswKSkKKyAge3sweDAwNjEsIDB4MDJiZX0sIHsxLCB7MHgxZTlhfX19LAor
ICB7ezB4MDA2NiwgMHgwMDY2fSwgezEsIHsweGZiMDB9fX0sCisgIHt7MHgwMDY2LCAweDAwNjl9
LCB7MSwgezB4ZmIwMX19fSwKKyAge3sweDAwNjYsIDB4MDA2Y30sIHsxLCB7MHhmYjAyfX19LAor
ICB7ezB4MDA2OCwgMHgwMzMxfSwgezEsIHsweDFlOTZ9fX0sCisgIHt7MHgwMDZhLCAweDAzMGN9
LCB7MSwgezB4MDFmMH19fSwKKyAge3sweDAwNzMsIDB4MDA3M30sIHsyLCB7MHgwMGRmLCAweDFl
OWV9fX0sCisgIHt7MHgwMDczLCAweDAwNzR9LCB7MiwgezB4ZmIwNSwgMHhmYjA2fX19LAorICB7
ezB4MDA3NCwgMHgwMzA4fSwgezEsIHsweDFlOTd9fX0sCisgIHt7MHgwMDc3LCAweDAzMGF9LCB7
MSwgezB4MWU5OH19fSwKKyAge3sweDAwNzksIDB4MDMwYX0sIHsxLCB7MHgxZTk5fX19LAorICB7
ezB4MDJiYywgMHgwMDZlfSwgezEsIHsweDAxNDl9fX0sCisgIHt7MHgwM2FjLCAweDAzYjl9LCB7
MSwgezB4MWZiNH19fSwKKyAge3sweDAzYWUsIDB4MDNiOX0sIHsxLCB7MHgxZmM0fX19LAorICB7
ezB4MDNiMSwgMHgwMzQyfSwgezEsIHsweDFmYjZ9fX0sCisgIHt7MHgwM2IxLCAweDAzYjl9LCB7
MiwgezB4MWZiMywgMHgxZmJjfX19LAorICB7ezB4MDNiNywgMHgwMzQyfSwgezEsIHsweDFmYzZ9
fX0sCisgIHt7MHgwM2I3LCAweDAzYjl9LCB7MiwgezB4MWZjMywgMHgxZmNjfX19LAorICB7ezB4
MDNiOSwgMHgwMzQyfSwgezEsIHsweDFmZDZ9fX0sCisgIHt7MHgwM2MxLCAweDAzMTN9LCB7MSwg
ezB4MWZlNH19fSwKKyAge3sweDAzYzUsIDB4MDMxM30sIHsxLCB7MHgxZjUwfX19LAorICB7ezB4
MDNjNSwgMHgwMzQyfSwgezEsIHsweDFmZTZ9fX0sCisgIHt7MHgwM2M5LCAweDAzNDJ9LCB7MSwg
ezB4MWZmNn19fSwKKyAge3sweDAzYzksIDB4MDNiOX0sIHsyLCB7MHgxZmYzLCAweDFmZmN9fX0s
CisgIHt7MHgwM2NlLCAweDAzYjl9LCB7MSwgezB4MWZmNH19fSwKKyAge3sweDA1NjUsIDB4MDU4
Mn0sIHsxLCB7MHgwNTg3fX19LAorICB7ezB4MDU3NCwgMHgwNTY1fSwgezEsIHsweGZiMTR9fX0s
CisgIHt7MHgwNTc0LCAweDA1NmJ9LCB7MSwgezB4ZmIxNX19fSwKKyAge3sweDA1NzQsIDB4MDU2
ZH0sIHsxLCB7MHhmYjE3fX19LAorICB7ezB4MDU3NCwgMHgwNTc2fSwgezEsIHsweGZiMTN9fX0s
CisgIHt7MHgwNTdlLCAweDA1NzZ9LCB7MSwgezB4ZmIxNn19fSwKKyAge3sweDFmMDAsIDB4MDNi
OX0sIHsyLCB7MHgxZjgwLCAweDFmODh9fX0sCisgIHt7MHgxZjAxLCAweDAzYjl9LCB7MiwgezB4
MWY4MSwgMHgxZjg5fX19LAorICB7ezB4MWYwMiwgMHgwM2I5fSwgezIsIHsweDFmODIsIDB4MWY4
YX19fSwKKyAge3sweDFmMDMsIDB4MDNiOX0sIHsyLCB7MHgxZjgzLCAweDFmOGJ9fX0sCisgIHt7
MHgxZjA0LCAweDAzYjl9LCB7MiwgezB4MWY4NCwgMHgxZjhjfX19LAorICB7ezB4MWYwNSwgMHgw
M2I5fSwgezIsIHsweDFmODUsIDB4MWY4ZH19fSwKKyAge3sweDFmMDYsIDB4MDNiOX0sIHsyLCB7
MHgxZjg2LCAweDFmOGV9fX0sCisgIHt7MHgxZjA3LCAweDAzYjl9LCB7MiwgezB4MWY4NywgMHgx
ZjhmfX19LAorICB7ezB4MWYyMCwgMHgwM2I5fSwgezIsIHsweDFmOTAsIDB4MWY5OH19fSwKKyAg
e3sweDFmMjEsIDB4MDNiOX0sIHsyLCB7MHgxZjkxLCAweDFmOTl9fX0sCisgIHt7MHgxZjIyLCAw
eDAzYjl9LCB7MiwgezB4MWY5MiwgMHgxZjlhfX19LAorICB7ezB4MWYyMywgMHgwM2I5fSwgezIs
IHsweDFmOTMsIDB4MWY5Yn19fSwKKyAge3sweDFmMjQsIDB4MDNiOX0sIHsyLCB7MHgxZjk0LCAw
eDFmOWN9fX0sCisgIHt7MHgxZjI1LCAweDAzYjl9LCB7MiwgezB4MWY5NSwgMHgxZjlkfX19LAor
ICB7ezB4MWYyNiwgMHgwM2I5fSwgezIsIHsweDFmOTYsIDB4MWY5ZX19fSwKKyAge3sweDFmMjcs
IDB4MDNiOX0sIHsyLCB7MHgxZjk3LCAweDFmOWZ9fX0sCisgIHt7MHgxZjYwLCAweDAzYjl9LCB7
MiwgezB4MWZhMCwgMHgxZmE4fX19LAorICB7ezB4MWY2MSwgMHgwM2I5fSwgezIsIHsweDFmYTEs
IDB4MWZhOX19fSwKKyAge3sweDFmNjIsIDB4MDNiOX0sIHsyLCB7MHgxZmEyLCAweDFmYWF9fX0s
CisgIHt7MHgxZjYzLCAweDAzYjl9LCB7MiwgezB4MWZhMywgMHgxZmFifX19LAorICB7ezB4MWY2
NCwgMHgwM2I5fSwgezIsIHsweDFmYTQsIDB4MWZhY319fSwKKyAge3sweDFmNjUsIDB4MDNiOX0s
IHsyLCB7MHgxZmE1LCAweDFmYWR9fX0sCisgIHt7MHgxZjY2LCAweDAzYjl9LCB7MiwgezB4MWZh
NiwgMHgxZmFlfX19LAorICB7ezB4MWY2NywgMHgwM2I5fSwgezIsIHsweDFmYTcsIDB4MWZhZn19
fSwKKyAge3sweDFmNzAsIDB4MDNiOX0sIHsxLCB7MHgxZmIyfX19LAorICB7ezB4MWY3NCwgMHgw
M2I5fSwgezEsIHsweDFmYzJ9fX0sCisgIHt7MHgxZjdjLCAweDAzYjl9LCB7MSwgezB4MWZmMn19
fSwKKyNkZWZpbmUgQ2FzZVVuZm9sZF8xMl9Mb2NhbGUgKCooQ2FzZVVuZm9sZF8xMl9UeXBlICgq
KVsxXSkoQ2FzZVVuZm9sZF8xMl9UYWJsZSs1OCkpCisgIHt7MHgwMDY5LCAweDAzMDd9LCB7MSwg
ezB4MDEzMH19fSwKK307CisKKy8qIEFOU0ktQyBjb2RlIHByb2R1Y2VkIGJ5IGdwZXJmIHZlcnNp
b24gMy4xICovCisvKiBDb21tYW5kLWxpbmU6IGdwZXJmIC03IC1rMSwyLDMsNCw1LDYgLUYsLTEg
LWMgLWoxIC1pMSAtdCAtVCAtRSAtQyAtSCBvbmlnZW5jX3VuaWNvZGVfQ2FzZVVuZm9sZF8xMl9o
YXNoIC1OIG9uaWdlbmNfdW5pY29kZV9DYXNlVW5mb2xkXzEyX2xvb2t1cCAtbiAgKi8KKworLyog
bWF4aW11bSBrZXkgcmFuZ2UgPSA3MSwgZHVwbGljYXRlcyA9IDAgKi8KKworI2lmZGVmIF9fR05V
Q19fCitfX2lubGluZQorI2Vsc2UKKyNpZmRlZiBfX2NwbHVzcGx1cworaW5saW5lCisjZW5kaWYK
KyNlbmRpZgorLypBUkdTVVNFRCovCitzdGF0aWMgdW5zaWduZWQgaW50CitvbmlnZW5jX3VuaWNv
ZGVfQ2FzZVVuZm9sZF8xMl9oYXNoKGNvbnN0IE9uaWdDb2RlUG9pbnQgKmNvZGVzKQoreworICBz
dGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBhc3NvX3ZhbHVlc1tdID0KKyAgICB7CisgICAgICAg
MywgNTgsIDU0LCA1NywgNTYsIDE2LCAgOCwgIDIsIDQzLCA4MiwKKyAgICAgICAzLCAgMSwgMjMs
IDgyLCA4MiwgODIsIDgyLCA4MiwgODIsICA0LAorICAgICAgODIsIDgyLCA4MiwgODIsIDgyLCA4
MiwgODIsIDgyLCA4MiwgODIsCisgICAgICA4MiwgODIsIDUyLCA1MSwgNTAsIDQ5LCA0OCwgNDcs
IDQ2LCA0NSwKKyAgICAgIDgyLCA4MiwgODIsIDgyLCA0MywgODIsIDQyLCA4MiwgODIsIDEzLAor
ICAgICAgODIsIDgyLCA4MiwgODIsIDgyLCAxMSwgODIsICAxLCA4MiwgODIsCisgICAgICAxNCwg
ODIsICAxLCA4MiwgODIsIDMxLCAgMywgODIsIDgyLCAzMCwKKyAgICAgIDgyLCA4MiwgODIsIDEw
LCA4MiwgODIsIDgyLCA4MiwgMzcsIDgyLAorICAgICAgODIsIDgyLCA4MiwgODIsIDgyLCA4Miwg
ODIsIDgyLCA4MiwgODIsCisgICAgICA4MiwgODIsIDgyLCA4MiwgODIsIDgyLCAzNywgMTUsIDM2
LCAzNSwKKyAgICAgIDM0LCAxNywgIDEsIDMzLCAxMiwgIDQsIDIzLCAyMywgMjYsIDIxLAorICAg
ICAgMTMsIDgyLCAyNywgODIsIDgyLCAgMiwgIDUsIDgyLCAxMSwgMTYsCisgICAgICA4MiwgMTUs
IDgyLCA4MiwgMjMsIDgyLCAgOCwgODIKKyAgICB9OworICByZXR1cm4gYXNzb192YWx1ZXNbYml0
c19hdChjb2RlcywgNSldICsgYXNzb192YWx1ZXNbYml0c19hdChjb2RlcywgNCldICsgYXNzb192
YWx1ZXNbYml0c19hdChjb2RlcywgMyldICsgYXNzb192YWx1ZXNbYml0c19hdChjb2RlcywgMild
ICsgYXNzb192YWx1ZXNbYml0c19hdChjb2RlcywgMSldICsgYXNzb192YWx1ZXNbYml0c19hdChj
b2RlcywgMCldOworfQorCitzdGF0aWMgY29uc3QgQ29kZVBvaW50TGlzdDIgKgorb25pZ2VuY191
bmljb2RlX0Nhc2VVbmZvbGRfMTJfbG9va3VwKGNvbnN0IE9uaWdDb2RlUG9pbnQgKmNvZGVzKQor
eworICBlbnVtCisgICAgeworICAgICAgTUlOX0NPREVfVkFMVUUgPSAweDYxLAorICAgICAgTUFY
X0NPREVfVkFMVUUgPSAweDFmN2MsCisgICAgICBUT1RBTF9LRVlXT1JEUyA9IDU5LAorICAgICAg
TUlOX1dPUkRfTEVOR1RIID0gNiwKKyAgICAgIE1BWF9XT1JEX0xFTkdUSCA9IDYsCisgICAgICBN
SU5fSEFTSF9WQUxVRSA9IDExLAorICAgICAgTUFYX0hBU0hfVkFMVUUgPSA4MQorICAgIH07CisK
KyAgc3RhdGljIGNvbnN0IHNob3J0IHdvcmRsaXN0W10gPQorICAgIHsKKyAgICAgIC0xLCAtMSwg
LTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAvKjB4MWY2
NiwweDAzYjkqLyA1MywKKyAgICAgIC8qMHgxZjA3LDB4MDNiOSovIDM4LAorICAgICAgLyoweDFm
MDAsMHgwM2I5Ki8gMzEsCisgICAgICAvKjB4MDA2NiwweDAwNjYqLyAxLAorICAgICAgLyoweDFm
NzQsMHgwM2I5Ki8gNTYsCisgICAgICAvKjB4MDA3MywweDAwNzMqLyA2LAorICAgICAgLyoweDAw
NjYsMHgwMDY5Ki8gMiwKKyAgICAgIC8qMHgxZjA2LDB4MDNiOSovIDM3LAorICAgICAgLyoweDAw
NzMsMHgwMDc0Ki8gNywKKyAgICAgIC8qMHgwM2I5LDB4MDM0MiovIDE4LAorICAgICAgLyoweDAz
YzksMHgwM2I5Ki8gMjMsCisgICAgICAvKjB4MDNiNywweDAzYjkqLyAxNywKKyAgICAgIC8qMHgw
MDY5LDB4MDMwNyovIDU4LAorICAgICAgLyoweDAzYjEsMHgwM2I5Ki8gMTUsCisgICAgICAvKjB4
MWY2MSwweDAzYjkqLyA0OCwKKyAgICAgIC8qMHgxZjA1LDB4MDNiOSovIDM2LAorICAgICAgLyow
eDFmNjUsMHgwM2I5Ki8gNTIsCisgICAgICAvKjB4MDU3NCwweDA1NzYqLyAyOSwKKyAgICAgIC8q
MHgwM2M5LDB4MDM0MiovIDIyLAorICAgICAgLyoweDAzYjcsMHgwMzQyKi8gMTYsCisgICAgICAv
KjB4MDU3ZSwweDA1NzYqLyAzMCwKKyAgICAgIC8qMHgwM2IxLDB4MDM0MiovIDE0LAorICAgICAg
LyoweDFmN2MsMHgwM2I5Ki8gNTcsCisgICAgICAvKjB4MDU3NCwweDA1NjUqLyAyNiwKKyAgICAg
IC8qMHgwMDc5LDB4MDMwYSovIDEwLAorICAgICAgLyoweDAwNzcsMHgwMzBhKi8gOSwKKyAgICAg
IC8qMHgxZjcwLDB4MDNiOSovIDU1LAorICAgICAgLyoweDA1NzQsMHgwNTZkKi8gMjgsCisgICAg
ICAvKjB4MDA2NiwweDAwNmMqLyAzLAorICAgICAgLyoweDA1NzQsMHgwNTZiKi8gMjcsCisgICAg
ICAvKjB4MDA2MSwweDAyYmUqLyAwLAorICAgICAgLyoweDAwNjgsMHgwMzMxKi8gNCwKKyAgICAg
IC8qMHgxZjY3LDB4MDNiOSovIDU0LAorICAgICAgLyoweDFmNjQsMHgwM2I5Ki8gNTEsCisgICAg
ICAvKjB4MWY2MywweDAzYjkqLyA1MCwKKyAgICAgIC8qMHgxZjYyLDB4MDNiOSovIDQ5LAorICAg
ICAgLyoweDFmNjAsMHgwM2I5Ki8gNDcsCisgICAgICAvKjB4MDNjZSwweDAzYjkqLyAyNCwKKyAg
ICAgIC8qMHgwM2M1LDB4MDM0MiovIDIxLAorICAgICAgLyoweDAzYzUsMHgwMzEzKi8gMjAsCisg
ICAgICAvKjB4MDNjMSwweDAzMTMqLyAxOSwKKyAgICAgIC8qMHgwMmJjLDB4MDA2ZSovIDExLAor
ICAgICAgLyoweDAzYWUsMHgwM2I5Ki8gMTMsCisgICAgICAvKjB4MDNhYywweDAzYjkqLyAxMiwK
KyAgICAgIC8qMHgxZjI3LDB4MDNiOSovIDQ2LAorICAgICAgLyoweDFmMjYsMHgwM2I5Ki8gNDUs
CisgICAgICAvKjB4MWYyNSwweDAzYjkqLyA0NCwKKyAgICAgIC8qMHgxZjI0LDB4MDNiOSovIDQz
LAorICAgICAgLyoweDFmMjMsMHgwM2I5Ki8gNDIsCisgICAgICAvKjB4MWYyMiwweDAzYjkqLyA0
MSwKKyAgICAgIC8qMHgxZjIxLDB4MDNiOSovIDQwLAorICAgICAgLyoweDFmMjAsMHgwM2I5Ki8g
MzksCisgICAgICAvKjB4MDA2YSwweDAzMGMqLyA1LAorICAgICAgLyoweDFmMDIsMHgwM2I5Ki8g
MzMsCisgICAgICAvKjB4MDA3NCwweDAzMDgqLyA4LAorICAgICAgLyoweDFmMDQsMHgwM2I5Ki8g
MzUsCisgICAgICAvKjB4MWYwMywweDAzYjkqLyAzNCwKKyAgICAgIC8qMHgxZjAxLDB4MDNiOSov
IDMyLAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC0xLCAtMSwgLTEsIC0x
LCAtMSwgLTEsCisgICAgICAvKjB4MDU2NSwweDA1ODIqLyAyNQorICAgIH07CisKKyAgaWYgKGNv
ZGVzWzBdIDw9IE1BWF9DT0RFX1ZBTFVFICYmIGNvZGVzWzBdID49IE1JTl9DT0RFX1ZBTFVFICYm
CisgICAgICBjb2Rlc1sxXSA8PSBNQVhfQ09ERV9WQUxVRSAmJiBjb2Rlc1sxXSA+PSBNSU5fQ09E
RV9WQUxVRSkKKyAgICB7CisgICAgICByZWdpc3RlciB1bnNpZ25lZCBpbnQga2V5ID0gb25pZ2Vu
Y191bmljb2RlX0Nhc2VVbmZvbGRfMTJfaGFzaChjb2Rlcyk7CisKKyAgICAgIGlmIChrZXkgPD0g
TUFYX0hBU0hfVkFMVUUpCisgICAgICAgIHsKKyAgICAgICAgICByZWdpc3RlciBzaG9ydCBzID0g
d29yZGxpc3Rba2V5XTsKKworICAgICAgICAgIGlmIChzID49IDAgJiYgY29kZTJfZXF1YWwoY29k
ZXMsIENhc2VVbmZvbGRfMTJfVGFibGVbc10uZnJvbSkpCisgICAgICAgICAgICByZXR1cm4gJkNh
c2VVbmZvbGRfMTJfVGFibGVbc10udG87CisgICAgICAgIH0KKyAgICB9CisgIHJldHVybiAwOwor
fQorCitzdGF0aWMgY29uc3QgQ2FzZVVuZm9sZF8xM19UeXBlIENhc2VVbmZvbGRfMTNfVGFibGVb
XSA9IHsKKyNkZWZpbmUgQ2FzZVVuZm9sZF8xMyAoKihDYXNlVW5mb2xkXzEzX1R5cGUgKCopWzE0
XSkoQ2FzZVVuZm9sZF8xM19UYWJsZSswKSkKKyAge3sweDAwNjYsIDB4MDA2NiwgMHgwMDY5fSwg
ezEsIHsweGZiMDN9fX0sCisgIHt7MHgwMDY2LCAweDAwNjYsIDB4MDA2Y30sIHsxLCB7MHhmYjA0
fX19LAorICB7ezB4MDNiMSwgMHgwMzQyLCAweDAzYjl9LCB7MSwgezB4MWZiN319fSwKKyAge3sw
eDAzYjcsIDB4MDM0MiwgMHgwM2I5fSwgezEsIHsweDFmYzd9fX0sCisgIHt7MHgwM2I5LCAweDAz
MDgsIDB4MDMwMH0sIHsxLCB7MHgxZmQyfX19LAorICB7ezB4MDNiOSwgMHgwMzA4LCAweDAzMDF9
LCB7MiwgezB4MDM5MCwgMHgxZmQzfX19LAorICB7ezB4MDNiOSwgMHgwMzA4LCAweDAzNDJ9LCB7
MSwgezB4MWZkN319fSwKKyAge3sweDAzYzUsIDB4MDMwOCwgMHgwMzAwfSwgezEsIHsweDFmZTJ9
fX0sCisgIHt7MHgwM2M1LCAweDAzMDgsIDB4MDMwMX0sIHsyLCB7MHgwM2IwLCAweDFmZTN9fX0s
CisgIHt7MHgwM2M1LCAweDAzMDgsIDB4MDM0Mn0sIHsxLCB7MHgxZmU3fX19LAorICB7ezB4MDNj
NSwgMHgwMzEzLCAweDAzMDB9LCB7MSwgezB4MWY1Mn19fSwKKyAge3sweDAzYzUsIDB4MDMxMywg
MHgwMzAxfSwgezEsIHsweDFmNTR9fX0sCisgIHt7MHgwM2M1LCAweDAzMTMsIDB4MDM0Mn0sIHsx
LCB7MHgxZjU2fX19LAorICB7ezB4MDNjOSwgMHgwMzQyLCAweDAzYjl9LCB7MSwgezB4MWZmN319
fSwKK307CisKKy8qIEFOU0ktQyBjb2RlIHByb2R1Y2VkIGJ5IGdwZXJmIHZlcnNpb24gMy4xICov
CisvKiBDb21tYW5kLWxpbmU6IGdwZXJmIC03IC1rMSwyLDMsNCw1LDYsNyw4LDkgLUYsLTEgLWMg
LWoxIC1pMSAtdCAtVCAtRSAtQyAtSCBvbmlnZW5jX3VuaWNvZGVfQ2FzZVVuZm9sZF8xM19oYXNo
IC1OIG9uaWdlbmNfdW5pY29kZV9DYXNlVW5mb2xkXzEzX2xvb2t1cCAtbiAgKi8KKworLyogbWF4
aW11bSBrZXkgcmFuZ2UgPSAyMCwgZHVwbGljYXRlcyA9IDAgKi8KKworI2lmZGVmIF9fR05VQ19f
CitfX2lubGluZQorI2Vsc2UKKyNpZmRlZiBfX2NwbHVzcGx1cworaW5saW5lCisjZW5kaWYKKyNl
bmRpZgorLypBUkdTVVNFRCovCitzdGF0aWMgdW5zaWduZWQgaW50CitvbmlnZW5jX3VuaWNvZGVf
Q2FzZVVuZm9sZF8xM19oYXNoKGNvbnN0IE9uaWdDb2RlUG9pbnQgKmNvZGVzKQoreworICBzdGF0
aWMgY29uc3QgdW5zaWduZWQgY2hhciBhc3NvX3ZhbHVlc1tdID0KKyAgICB7CisgICAgICAgNywg
IDQsIDQ3LCA0NywgNDcsIDQ3LCAgMSwgIDEsICAyLCA0NywKKyAgICAgIDQ3LCA0NywgNDcsIDQ3
LCA0NywgNDcsIDQ3LCA0NywgNDcsICAxLAorICAgICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0Nywg
NDcsIDQ3LCA0NywgNDcsCisgICAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3
LCA0NywKKyAgICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDExLAorICAg
ICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCAxMCwgNDcsICAyLCA0NywgNDcsCisgICAgICA0NywgNDcs
IDQ3LCA0NywgNDcsIDQ3LCAgMSwgNDcsIDQ3LCAgMSwKKyAgICAgIDQ3LCA0NywgNDcsICA5LCA0
NywgNDcsIDQ3LCA0NywgNDcsIDQ3LAorICAgICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcs
IDQ3LCA0NywgNDcsCisgICAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0
NywKKyAgICAgIDQ3LCA0NywgIDEsIDQ3LCA0NywgIDIsIDQ3LCA0NywgIDEsIDQ3LAorICAgICAg
NDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsCisgICAgICA0NywgNDcsIDQ3
LCA0NywgNDcsIDQ3LCA0NywgNDcKKyAgICB9OworICByZXR1cm4gYXNzb192YWx1ZXNbYml0c19h
dChjb2RlcywgOCldICsgYXNzb192YWx1ZXNbYml0c19hdChjb2RlcywgNyldICsgYXNzb192YWx1
ZXNbYml0c19hdChjb2RlcywgNildICsgYXNzb192YWx1ZXNbYml0c19hdChjb2RlcywgNSldICsg
YXNzb192YWx1ZXNbYml0c19hdChjb2RlcywgNCldICsgYXNzb192YWx1ZXNbYml0c19hdChjb2Rl
cywgMyldICsgYXNzb192YWx1ZXNbYml0c19hdChjb2RlcywgMildICsgYXNzb192YWx1ZXNbYml0
c19hdChjb2RlcywgMSldICsgYXNzb192YWx1ZXNbYml0c19hdChjb2RlcywgMCldOworfQorCitz
dGF0aWMgY29uc3QgQ29kZVBvaW50TGlzdDIgKgorb25pZ2VuY191bmljb2RlX0Nhc2VVbmZvbGRf
MTNfbG9va3VwKGNvbnN0IE9uaWdDb2RlUG9pbnQgKmNvZGVzKQoreworICBlbnVtCisgICAgewor
ICAgICAgTUlOX0NPREVfVkFMVUUgPSAweDY2LAorICAgICAgTUFYX0NPREVfVkFMVUUgPSAweDNj
OSwKKyAgICAgIFRPVEFMX0tFWVdPUkRTID0gMTQsCisgICAgICBNSU5fV09SRF9MRU5HVEggPSA5
LAorICAgICAgTUFYX1dPUkRfTEVOR1RIID0gOSwKKyAgICAgIE1JTl9IQVNIX1ZBTFVFID0gMjcs
CisgICAgICBNQVhfSEFTSF9WQUxVRSA9IDQ2CisgICAgfTsKKworICBzdGF0aWMgY29uc3Qgc2hv
cnQgd29yZGxpc3RbXSA9CisgICAgeworICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAg
ICAgIC0xLCAtMSwgLTEsIC0xLCAtMSwgLTEsCisgICAgICAtMSwgLTEsIC0xLCAtMSwgLTEsIC0x
LAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAgIC0xLCAtMSwgLTEsCisgICAg
ICAvKjB4MDNjNSwweDAzMTMsMHgwMzQyKi8gMTIsCisgICAgICAvKjB4MDNjNSwweDAzMDgsMHgw
MzQyKi8gOSwKKyAgICAgIC8qMHgwM2I5LDB4MDMwOCwweDAzNDIqLyA2LAorICAgICAgLyoweDAz
YzUsMHgwMzEzLDB4MDMwMSovIDExLAorICAgICAgLyoweDAzYzUsMHgwMzA4LDB4MDMwMSovIDgs
CisgICAgICAvKjB4MDNiOSwweDAzMDgsMHgwMzAxKi8gNSwKKyAgICAgIC8qMHgwM2M1LDB4MDMx
MywweDAzMDAqLyAxMCwKKyAgICAgIC8qMHgwM2M1LDB4MDMwOCwweDAzMDAqLyA3LAorICAgICAg
LyoweDAzYjksMHgwMzA4LDB4MDMwMCovIDQsCisgICAgICAvKjB4MDNjOSwweDAzNDIsMHgwM2I5
Ki8gMTMsCisgICAgICAvKjB4MDNiNywweDAzNDIsMHgwM2I5Ki8gMywKKyAgICAgIC8qMHgwM2Ix
LDB4MDM0MiwweDAzYjkqLyAyLAorICAgICAgLTEsIC0xLCAtMSwgLTEsIC0xLCAtMSwKKyAgICAg
IC8qMHgwMDY2LDB4MDA2NiwweDAwNmMqLyAxLAorICAgICAgLyoweDAwNjYsMHgwMDY2LDB4MDA2
OSovIDAKKyAgICB9OworCisgIGlmIChjb2Rlc1swXSA8PSBNQVhfQ09ERV9WQUxVRSAmJiBjb2Rl
c1swXSA+PSBNSU5fQ09ERV9WQUxVRSAmJgorICAgICAgY29kZXNbMV0gPD0gTUFYX0NPREVfVkFM
VUUgJiYgY29kZXNbMV0gPj0gTUlOX0NPREVfVkFMVUUgJiYKKyAgICAgIGNvZGVzWzJdIDw9IE1B
WF9DT0RFX1ZBTFVFICYmIGNvZGVzWzJdID49IE1JTl9DT0RFX1ZBTFVFKQorICAgIHsKKyAgICAg
IHJlZ2lzdGVyIHVuc2lnbmVkIGludCBrZXkgPSBvbmlnZW5jX3VuaWNvZGVfQ2FzZVVuZm9sZF8x
M19oYXNoKGNvZGVzKTsKKworICAgICAgaWYgKGtleSA8PSBNQVhfSEFTSF9WQUxVRSkKKyAgICAg
ICAgeworICAgICAgICAgIHJlZ2lzdGVyIHNob3J0IHMgPSB3b3JkbGlzdFtrZXldOworCisgICAg
ICAgICAgaWYgKHMgPj0gMCAmJiBjb2RlM19lcXVhbChjb2RlcywgQ2FzZVVuZm9sZF8xM19UYWJs
ZVtzXS5mcm9tKSkKKyAgICAgICAgICAgIHJldHVybiAmQ2FzZVVuZm9sZF8xM19UYWJsZVtzXS50
bzsKKyAgICAgICAgfQorICAgIH0KKyAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBjb25zdCBPbmln
Q29kZVBvaW50IENhc2VNYXBwaW5nU3BlY2lhbHNbXSA9IHsKKyAgICBMKDEpfDB4MDM5QywKKyAg
ICBMKDIpfDB4MDA1MywgMHgwMDczLCBMKDIpfDB4MDA1MywgMHgwMDUzLAorICAgIEwoMil8MHgw
MkJDLCAweDAwNEUsCisgICAgTCgxKXwweDAwNTMsCisgICAgTCgxKXwweDAxQzUsCisgICAgTCgy
KXwweDAwNjQsIDB4MDE3RCwgTCgxKXwweDAxQzQsCisgICAgTCgxKXwweDAxQzgsCisgICAgTCgy
KXwweDAwNkMsIDB4MDA0QSwgTCgxKXwweDAxQzcsCisgICAgTCgxKXwweDAxQ0IsCisgICAgTCgy
KXwweDAwNkUsIDB4MDA0QSwgTCgxKXwweDAxQ0EsCisgICAgTCgyKXwweDAwNEEsIDB4MDMwQywK
KyAgICBMKDEpfDB4MDFGMiwKKyAgICBMKDIpfDB4MDA2NCwgMHgwMDVBLCBMKDEpfDB4MDFGMSwK
KyAgICBMKDEpfDB4MDM5OSwKKyAgICBMKDMpfDB4MDM5OSwgMHgwMzA4LCAweDAzMDEsCisgICAg
TCgzKXwweDAzQTUsIDB4MDMwOCwgMHgwMzAxLAorICAgIEwoMSl8MHgwM0EzLAorICAgIEwoMSl8
MHgwMzkyLAorICAgIEwoMSl8MHgwMzk4LAorICAgIEwoMSl8MHgwM0E2LAorICAgIEwoMSl8MHgw
M0EwLAorICAgIEwoMSl8MHgwMzlBLAorICAgIEwoMSl8MHgwM0ExLAorICAgIEwoMSl8MHgwMzk1
LAorICAgIEwoMil8MHgwNTM1LCAweDA1ODIsIEwoMil8MHgwNTM1LCAweDA1NTIsCisgICAgTCgx
KXwweDA0MTIsCisgICAgTCgxKXwweDA0MTQsCisgICAgTCgxKXwweDA0MUUsCisgICAgTCgxKXww
eDA0MjEsCisgICAgTCgxKXwweDA0MjIsCisgICAgTCgxKXwweDA0MjIsCisgICAgTCgxKXwweDA0
MkEsCisgICAgTCgxKXwweDA0NjIsCisgICAgTCgxKXwweEE2NEEsCisgICAgTCgyKXwweDAwNDgs
IDB4MDMzMSwKKyAgICBMKDIpfDB4MDA1NCwgMHgwMzA4LAorICAgIEwoMil8MHgwMDU3LCAweDAz
MEEsCisgICAgTCgyKXwweDAwNTksIDB4MDMwQSwKKyAgICBMKDIpfDB4MDA0MSwgMHgwMkJFLAor
ICAgIEwoMSl8MHgxRTYwLAorICAgIEwoMSl8MHgwMERGLAorICAgIEwoMil8MHgwM0E1LCAweDAz
MTMsCisgICAgTCgzKXwweDAzQTUsIDB4MDMxMywgMHgwMzAwLAorICAgIEwoMyl8MHgwM0E1LCAw
eDAzMTMsIDB4MDMwMSwKKyAgICBMKDMpfDB4MDNBNSwgMHgwMzEzLCAweDAzNDIsCisgICAgTCgx
KXwweDFGODgsIEwoMil8MHgxRjA4LCAweDAzOTksCisgICAgTCgxKXwweDFGODksIEwoMil8MHgx
RjA5LCAweDAzOTksCisgICAgTCgxKXwweDFGOEEsIEwoMil8MHgxRjBBLCAweDAzOTksCisgICAg
TCgxKXwweDFGOEIsIEwoMil8MHgxRjBCLCAweDAzOTksCisgICAgTCgxKXwweDFGOEMsIEwoMil8
MHgxRjBDLCAweDAzOTksCisgICAgTCgxKXwweDFGOEQsIEwoMil8MHgxRjBELCAweDAzOTksCisg
ICAgTCgxKXwweDFGOEUsIEwoMil8MHgxRjBFLCAweDAzOTksCisgICAgTCgxKXwweDFGOEYsIEwo
Mil8MHgxRjBGLCAweDAzOTksCisgICAgTCgyKXwweDFGMDAsIDB4MDM5OSwgTCgxKXwweDFGODAs
IEwoMil8MHgxRjA4LCAweDAzOTksCisgICAgTCgyKXwweDFGMDEsIDB4MDM5OSwgTCgxKXwweDFG
ODEsIEwoMil8MHgxRjA5LCAweDAzOTksCisgICAgTCgyKXwweDFGMDIsIDB4MDM5OSwgTCgxKXww
eDFGODIsIEwoMil8MHgxRjBBLCAweDAzOTksCisgICAgTCgyKXwweDFGMDMsIDB4MDM5OSwgTCgx
KXwweDFGODMsIEwoMil8MHgxRjBCLCAweDAzOTksCisgICAgTCgyKXwweDFGMDQsIDB4MDM5OSwg
TCgxKXwweDFGODQsIEwoMil8MHgxRjBDLCAweDAzOTksCisgICAgTCgyKXwweDFGMDUsIDB4MDM5
OSwgTCgxKXwweDFGODUsIEwoMil8MHgxRjBELCAweDAzOTksCisgICAgTCgyKXwweDFGMDYsIDB4
MDM5OSwgTCgxKXwweDFGODYsIEwoMil8MHgxRjBFLCAweDAzOTksCisgICAgTCgyKXwweDFGMDcs
IDB4MDM5OSwgTCgxKXwweDFGODcsIEwoMil8MHgxRjBGLCAweDAzOTksCisgICAgTCgxKXwweDFG
OTgsIEwoMil8MHgxRjI4LCAweDAzOTksCisgICAgTCgxKXwweDFGOTksIEwoMil8MHgxRjI5LCAw
eDAzOTksCisgICAgTCgxKXwweDFGOUEsIEwoMil8MHgxRjJBLCAweDAzOTksCisgICAgTCgxKXww
eDFGOUIsIEwoMil8MHgxRjJCLCAweDAzOTksCisgICAgTCgxKXwweDFGOUMsIEwoMil8MHgxRjJD
LCAweDAzOTksCisgICAgTCgxKXwweDFGOUQsIEwoMil8MHgxRjJELCAweDAzOTksCisgICAgTCgx
KXwweDFGOUUsIEwoMil8MHgxRjJFLCAweDAzOTksCisgICAgTCgxKXwweDFGOUYsIEwoMil8MHgx
RjJGLCAweDAzOTksCisgICAgTCgyKXwweDFGMjAsIDB4MDM5OSwgTCgxKXwweDFGOTAsIEwoMil8
MHgxRjI4LCAweDAzOTksCisgICAgTCgyKXwweDFGMjEsIDB4MDM5OSwgTCgxKXwweDFGOTEsIEwo
Mil8MHgxRjI5LCAweDAzOTksCisgICAgTCgyKXwweDFGMjIsIDB4MDM5OSwgTCgxKXwweDFGOTIs
IEwoMil8MHgxRjJBLCAweDAzOTksCisgICAgTCgyKXwweDFGMjMsIDB4MDM5OSwgTCgxKXwweDFG
OTMsIEwoMil8MHgxRjJCLCAweDAzOTksCisgICAgTCgyKXwweDFGMjQsIDB4MDM5OSwgTCgxKXww
eDFGOTQsIEwoMil8MHgxRjJDLCAweDAzOTksCisgICAgTCgyKXwweDFGMjUsIDB4MDM5OSwgTCgx
KXwweDFGOTUsIEwoMil8MHgxRjJELCAweDAzOTksCisgICAgTCgyKXwweDFGMjYsIDB4MDM5OSwg
TCgxKXwweDFGOTYsIEwoMil8MHgxRjJFLCAweDAzOTksCisgICAgTCgyKXwweDFGMjcsIDB4MDM5
OSwgTCgxKXwweDFGOTcsIEwoMil8MHgxRjJGLCAweDAzOTksCisgICAgTCgxKXwweDFGQTgsIEwo
Mil8MHgxRjY4LCAweDAzOTksCisgICAgTCgxKXwweDFGQTksIEwoMil8MHgxRjY5LCAweDAzOTks
CisgICAgTCgxKXwweDFGQUEsIEwoMil8MHgxRjZBLCAweDAzOTksCisgICAgTCgxKXwweDFGQUIs
IEwoMil8MHgxRjZCLCAweDAzOTksCisgICAgTCgxKXwweDFGQUMsIEwoMil8MHgxRjZDLCAweDAz
OTksCisgICAgTCgxKXwweDFGQUQsIEwoMil8MHgxRjZELCAweDAzOTksCisgICAgTCgxKXwweDFG
QUUsIEwoMil8MHgxRjZFLCAweDAzOTksCisgICAgTCgxKXwweDFGQUYsIEwoMil8MHgxRjZGLCAw
eDAzOTksCisgICAgTCgyKXwweDFGNjAsIDB4MDM5OSwgTCgxKXwweDFGQTAsIEwoMil8MHgxRjY4
LCAweDAzOTksCisgICAgTCgyKXwweDFGNjEsIDB4MDM5OSwgTCgxKXwweDFGQTEsIEwoMil8MHgx
RjY5LCAweDAzOTksCisgICAgTCgyKXwweDFGNjIsIDB4MDM5OSwgTCgxKXwweDFGQTIsIEwoMil8
MHgxRjZBLCAweDAzOTksCisgICAgTCgyKXwweDFGNjMsIDB4MDM5OSwgTCgxKXwweDFGQTMsIEwo
Mil8MHgxRjZCLCAweDAzOTksCisgICAgTCgyKXwweDFGNjQsIDB4MDM5OSwgTCgxKXwweDFGQTQs
IEwoMil8MHgxRjZDLCAweDAzOTksCisgICAgTCgyKXwweDFGNjUsIDB4MDM5OSwgTCgxKXwweDFG
QTUsIEwoMil8MHgxRjZELCAweDAzOTksCisgICAgTCgyKXwweDFGNjYsIDB4MDM5OSwgTCgxKXww
eDFGQTYsIEwoMil8MHgxRjZFLCAweDAzOTksCisgICAgTCgyKXwweDFGNjcsIDB4MDM5OSwgTCgx
KXwweDFGQTcsIEwoMil8MHgxRjZGLCAweDAzOTksCisgICAgTCgyKXwweDFGQkEsIDB4MDM0NSwg
TCgyKXwweDFGQkEsIDB4MDM5OSwKKyAgICBMKDEpfDB4MUZCQywgTCgyKXwweDAzOTEsIDB4MDM5
OSwKKyAgICBMKDIpfDB4MDM4NiwgMHgwMzQ1LCBMKDIpfDB4MDM4NiwgMHgwMzk5LAorICAgIEwo
Mil8MHgwMzkxLCAweDAzNDIsCisgICAgTCgzKXwweDAzOTEsIDB4MDM0MiwgMHgwMzQ1LCBMKDMp
fDB4MDM5MSwgMHgwMzQyLCAweDAzOTksCisgICAgTCgyKXwweDAzQjEsIDB4MDM5OSwgTCgxKXww
eDFGQjMsIEwoMil8MHgwMzkxLCAweDAzOTksCisgICAgTCgxKXwweDAzOTksCisgICAgTCgyKXww
eDFGQ0EsIDB4MDM0NSwgTCgyKXwweDFGQ0EsIDB4MDM5OSwKKyAgICBMKDEpfDB4MUZDQywgTCgy
KXwweDAzOTcsIDB4MDM5OSwKKyAgICBMKDIpfDB4MDM4OSwgMHgwMzQ1LCBMKDIpfDB4MDM4OSwg
MHgwMzk5LAorICAgIEwoMil8MHgwMzk3LCAweDAzNDIsCisgICAgTCgzKXwweDAzOTcsIDB4MDM0
MiwgMHgwMzQ1LCBMKDMpfDB4MDM5NywgMHgwMzQyLCAweDAzOTksCisgICAgTCgyKXwweDAzQjcs
IDB4MDM5OSwgTCgxKXwweDFGQzMsIEwoMil8MHgwMzk3LCAweDAzOTksCisgICAgTCgzKXwweDAz
OTksIDB4MDMwOCwgMHgwMzAwLAorICAgIEwoMyl8MHgwMzk5LCAweDAzMDgsIDB4MDMwMSwKKyAg
ICBMKDIpfDB4MDM5OSwgMHgwMzQyLAorICAgIEwoMyl8MHgwMzk5LCAweDAzMDgsIDB4MDM0MiwK
KyAgICBMKDMpfDB4MDNBNSwgMHgwMzA4LCAweDAzMDAsCisgICAgTCgzKXwweDAzQTUsIDB4MDMw
OCwgMHgwMzAxLAorICAgIEwoMil8MHgwM0ExLCAweDAzMTMsCisgICAgTCgyKXwweDAzQTUsIDB4
MDM0MiwKKyAgICBMKDMpfDB4MDNBNSwgMHgwMzA4LCAweDAzNDIsCisgICAgTCgyKXwweDFGRkEs
IDB4MDM0NSwgTCgyKXwweDFGRkEsIDB4MDM5OSwKKyAgICBMKDEpfDB4MUZGQywgTCgyKXwweDAz
QTksIDB4MDM5OSwKKyAgICBMKDIpfDB4MDM4RiwgMHgwMzQ1LCBMKDIpfDB4MDM4RiwgMHgwMzk5
LAorICAgIEwoMil8MHgwM0E5LCAweDAzNDIsCisgICAgTCgzKXwweDAzQTksIDB4MDM0MiwgMHgw
MzQ1LCBMKDMpfDB4MDNBOSwgMHgwMzQyLCAweDAzOTksCisgICAgTCgyKXwweDAzQzksIDB4MDM5
OSwgTCgxKXwweDFGRjMsIEwoMil8MHgwM0E5LCAweDAzOTksCisgICAgTCgyKXwweDAwNDYsIDB4
MDA2NiwgTCgyKXwweDAwNDYsIDB4MDA0NiwKKyAgICBMKDIpfDB4MDA0NiwgMHgwMDY5LCBMKDIp
fDB4MDA0NiwgMHgwMDQ5LAorICAgIEwoMil8MHgwMDQ2LCAweDAwNkMsIEwoMil8MHgwMDQ2LCAw
eDAwNEMsCisgICAgTCgzKXwweDAwNDYsIDB4MDA2NiwgMHgwMDY5LCBMKDMpfDB4MDA0NiwgMHgw
MDQ2LCAweDAwNDksCisgICAgTCgzKXwweDAwNDYsIDB4MDA2NiwgMHgwMDZDLCBMKDMpfDB4MDA0
NiwgMHgwMDQ2LCAweDAwNEMsCisgICAgTCgyKXwweDAwNTMsIDB4MDA3NCwgTCgyKXwweDAwNTMs
IDB4MDA1NCwKKyAgICBMKDIpfDB4MDA1MywgMHgwMDc0LCBMKDIpfDB4MDA1MywgMHgwMDU0LAor
ICAgIEwoMil8MHgwNTQ0LCAweDA1NzYsIEwoMil8MHgwNTQ0LCAweDA1NDYsCisgICAgTCgyKXww
eDA1NDQsIDB4MDU2NSwgTCgyKXwweDA1NDQsIDB4MDUzNSwKKyAgICBMKDIpfDB4MDU0NCwgMHgw
NTZCLCBMKDIpfDB4MDU0NCwgMHgwNTNCLAorICAgIEwoMil8MHgwNTRFLCAweDA1NzYsIEwoMil8
MHgwNTRFLCAweDA1NDYsCisgICAgTCgyKXwweDA1NDQsIDB4MDU2RCwgTCgyKXwweDA1NDQsIDB4
MDUzRCwKK307CmRpZmYgLS1naXQgYS9nZW5lcmF0ZWQvZW5jL3VuaWNvZGUvMTIuMS4wL25hbWUy
Y3R5cGUuaCBiL2dlbmVyYXRlZC9lbmMvdW5pY29kZS8xMi4xLjAvbmFtZTJjdHlwZS5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIyMjcwZDUKLS0tIC9kZXYvbnVsbAorKysg
Yi9nZW5lcmF0ZWQvZW5jL3VuaWNvZGUvMTIuMS4wL25hbWUyY3R5cGUuaApAQCAtMCwwICsxLDQx
ODEwIEBACisvKiBBTlNJLUMgY29kZSBwcm9kdWNlZCBieSBncGVyZiB2ZXJzaW9uIDMuMSAqLwor
LyogQ29tbWFuZC1saW5lOiBncGVyZiAtNyAtYyAtajEgLWkxIC10IC1DIC1QIC1UIC1IIHVuaW5h
bWUyY3R5cGVfaGFzaCAtUSB1bmluYW1lMmN0eXBlX3Bvb2wgLU4gdW5pbmFtZTJjdHlwZV9wICAq
LworI2lmbmRlZiBVU0VfVU5JQ09ERV9QUk9QRVJUSUVTCisvKiBDb21wdXRlZCBwb3NpdGlvbnM6
IC1rJzEsMycgKi8KKyNlbHNlIC8qIFVTRV9VTklDT0RFX1BST1BFUlRJRVMgKi8KKy8qIENvbXB1
dGVkIHBvc2l0aW9uczogLWsnMS0zLDUtNiwxMiwxNiwkJyAqLworI2VuZGlmIC8qIFVTRV9VTklD
T0RFX1BST1BFUlRJRVMgKi8KKworI2lmICEoKCcgJyA9PSAzMikgJiYgKCchJyA9PSAzMykgJiYg
KCciJyA9PSAzNCkgJiYgKCcjJyA9PSAzNSkgXAorICAgICAgJiYgKCclJyA9PSAzNykgJiYgKCcm
JyA9PSAzOCkgJiYgKCdcJycgPT0gMzkpICYmICgnKCcgPT0gNDApIFwKKyAgICAgICYmICgnKScg
PT0gNDEpICYmICgnKicgPT0gNDIpICYmICgnKycgPT0gNDMpICYmICgnLCcgPT0gNDQpIFwKKyAg
ICAgICYmICgnLScgPT0gNDUpICYmICgnLicgPT0gNDYpICYmICgnLycgPT0gNDcpICYmICgnMCcg
PT0gNDgpIFwKKyAgICAgICYmICgnMScgPT0gNDkpICYmICgnMicgPT0gNTApICYmICgnMycgPT0g
NTEpICYmICgnNCcgPT0gNTIpIFwKKyAgICAgICYmICgnNScgPT0gNTMpICYmICgnNicgPT0gNTQp
ICYmICgnNycgPT0gNTUpICYmICgnOCcgPT0gNTYpIFwKKyAgICAgICYmICgnOScgPT0gNTcpICYm
ICgnOicgPT0gNTgpICYmICgnOycgPT0gNTkpICYmICgnPCcgPT0gNjApIFwKKyAgICAgICYmICgn
PScgPT0gNjEpICYmICgnPicgPT0gNjIpICYmICgnPycgPT0gNjMpICYmICgnQScgPT0gNjUpIFwK
KyAgICAgICYmICgnQicgPT0gNjYpICYmICgnQycgPT0gNjcpICYmICgnRCcgPT0gNjgpICYmICgn
RScgPT0gNjkpIFwKKyAgICAgICYmICgnRicgPT0gNzApICYmICgnRycgPT0gNzEpICYmICgnSCcg
PT0gNzIpICYmICgnSScgPT0gNzMpIFwKKyAgICAgICYmICgnSicgPT0gNzQpICYmICgnSycgPT0g
NzUpICYmICgnTCcgPT0gNzYpICYmICgnTScgPT0gNzcpIFwKKyAgICAgICYmICgnTicgPT0gNzgp
ICYmICgnTycgPT0gNzkpICYmICgnUCcgPT0gODApICYmICgnUScgPT0gODEpIFwKKyAgICAgICYm
ICgnUicgPT0gODIpICYmICgnUycgPT0gODMpICYmICgnVCcgPT0gODQpICYmICgnVScgPT0gODUp
IFwKKyAgICAgICYmICgnVicgPT0gODYpICYmICgnVycgPT0gODcpICYmICgnWCcgPT0gODgpICYm
ICgnWScgPT0gODkpIFwKKyAgICAgICYmICgnWicgPT0gOTApICYmICgnWycgPT0gOTEpICYmICgn
XFwnID09IDkyKSAmJiAoJ10nID09IDkzKSBcCisgICAgICAmJiAoJ14nID09IDk0KSAmJiAoJ18n
ID09IDk1KSAmJiAoJ2EnID09IDk3KSAmJiAoJ2InID09IDk4KSBcCisgICAgICAmJiAoJ2MnID09
IDk5KSAmJiAoJ2QnID09IDEwMCkgJiYgKCdlJyA9PSAxMDEpICYmICgnZicgPT0gMTAyKSBcCisg
ICAgICAmJiAoJ2cnID09IDEwMykgJiYgKCdoJyA9PSAxMDQpICYmICgnaScgPT0gMTA1KSAmJiAo
J2onID09IDEwNikgXAorICAgICAgJiYgKCdrJyA9PSAxMDcpICYmICgnbCcgPT0gMTA4KSAmJiAo
J20nID09IDEwOSkgJiYgKCduJyA9PSAxMTApIFwKKyAgICAgICYmICgnbycgPT0gMTExKSAmJiAo
J3AnID09IDExMikgJiYgKCdxJyA9PSAxMTMpICYmICgncicgPT0gMTE0KSBcCisgICAgICAmJiAo
J3MnID09IDExNSkgJiYgKCd0JyA9PSAxMTYpICYmICgndScgPT0gMTE3KSAmJiAoJ3YnID09IDEx
OCkgXAorICAgICAgJiYgKCd3JyA9PSAxMTkpICYmICgneCcgPT0gMTIwKSAmJiAoJ3knID09IDEy
MSkgJiYgKCd6JyA9PSAxMjIpIFwKKyAgICAgICYmICgneycgPT0gMTIzKSAmJiAoJ3wnID09IDEy
NCkgJiYgKCd9JyA9PSAxMjUpICYmICgnficgPT0gMTI2KSkKKy8qIFRoZSBjaGFyYWN0ZXIgc2V0
IGlzIG5vdCBiYXNlZCBvbiBJU08tNjQ2LiAgKi8KKyNlcnJvciAiZ3BlcmYgZ2VuZXJhdGVkIHRh
YmxlcyBkb24ndCB3b3JrIHdpdGggdGhpcyBleGVjdXRpb24gY2hhcmFjdGVyIHNldC4gUGxlYXNl
IHJlcG9ydCBhIGJ1ZyB0byA8YnVnLWdwZXJmQGdudS5vcmc+LiIKKyNlbmRpZgorCisKKworLyog
J05FV0xJTkUnOiBbWzpORVdMSU5FOl1dICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBD
Ul9ORVdMSU5FW10gPSB7CisJMSwKKwkweDAwMGEsIDB4MDAwYSwKK307IC8qIENSX05FV0xJTkUg
Ki8KKworLyogJ0FscGhhJzogW1s6QWxwaGE6XV0gKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBv
aW50IENSX0FscGhhW10gPSB7CisJNjc5LAorCTB4MDA0MSwgMHgwMDVhLAorCTB4MDA2MSwgMHgw
MDdhLAorCTB4MDBhYSwgMHgwMGFhLAorCTB4MDBiNSwgMHgwMGI1LAorCTB4MDBiYSwgMHgwMGJh
LAorCTB4MDBjMCwgMHgwMGQ2LAorCTB4MDBkOCwgMHgwMGY2LAorCTB4MDBmOCwgMHgwMmMxLAor
CTB4MDJjNiwgMHgwMmQxLAorCTB4MDJlMCwgMHgwMmU0LAorCTB4MDJlYywgMHgwMmVjLAorCTB4
MDJlZSwgMHgwMmVlLAorCTB4MDM0NSwgMHgwMzQ1LAorCTB4MDM3MCwgMHgwMzc0LAorCTB4MDM3
NiwgMHgwMzc3LAorCTB4MDM3YSwgMHgwMzdkLAorCTB4MDM3ZiwgMHgwMzdmLAorCTB4MDM4Niwg
MHgwMzg2LAorCTB4MDM4OCwgMHgwMzhhLAorCTB4MDM4YywgMHgwMzhjLAorCTB4MDM4ZSwgMHgw
M2ExLAorCTB4MDNhMywgMHgwM2Y1LAorCTB4MDNmNywgMHgwNDgxLAorCTB4MDQ4YSwgMHgwNTJm
LAorCTB4MDUzMSwgMHgwNTU2LAorCTB4MDU1OSwgMHgwNTU5LAorCTB4MDU2MCwgMHgwNTg4LAor
CTB4MDViMCwgMHgwNWJkLAorCTB4MDViZiwgMHgwNWJmLAorCTB4MDVjMSwgMHgwNWMyLAorCTB4
MDVjNCwgMHgwNWM1LAorCTB4MDVjNywgMHgwNWM3LAorCTB4MDVkMCwgMHgwNWVhLAorCTB4MDVl
ZiwgMHgwNWYyLAorCTB4MDYxMCwgMHgwNjFhLAorCTB4MDYyMCwgMHgwNjU3LAorCTB4MDY1OSwg
MHgwNjVmLAorCTB4MDY2ZSwgMHgwNmQzLAorCTB4MDZkNSwgMHgwNmRjLAorCTB4MDZlMSwgMHgw
NmU4LAorCTB4MDZlZCwgMHgwNmVmLAorCTB4MDZmYSwgMHgwNmZjLAorCTB4MDZmZiwgMHgwNmZm
LAorCTB4MDcxMCwgMHgwNzNmLAorCTB4MDc0ZCwgMHgwN2IxLAorCTB4MDdjYSwgMHgwN2VhLAor
CTB4MDdmNCwgMHgwN2Y1LAorCTB4MDdmYSwgMHgwN2ZhLAorCTB4MDgwMCwgMHgwODE3LAorCTB4
MDgxYSwgMHgwODJjLAorCTB4MDg0MCwgMHgwODU4LAorCTB4MDg2MCwgMHgwODZhLAorCTB4MDhh
MCwgMHgwOGI0LAorCTB4MDhiNiwgMHgwOGJkLAorCTB4MDhkNCwgMHgwOGRmLAorCTB4MDhlMywg
MHgwOGU5LAorCTB4MDhmMCwgMHgwOTNiLAorCTB4MDkzZCwgMHgwOTRjLAorCTB4MDk0ZSwgMHgw
OTUwLAorCTB4MDk1NSwgMHgwOTYzLAorCTB4MDk3MSwgMHgwOTgzLAorCTB4MDk4NSwgMHgwOThj
LAorCTB4MDk4ZiwgMHgwOTkwLAorCTB4MDk5MywgMHgwOWE4LAorCTB4MDlhYSwgMHgwOWIwLAor
CTB4MDliMiwgMHgwOWIyLAorCTB4MDliNiwgMHgwOWI5LAorCTB4MDliZCwgMHgwOWM0LAorCTB4
MDljNywgMHgwOWM4LAorCTB4MDljYiwgMHgwOWNjLAorCTB4MDljZSwgMHgwOWNlLAorCTB4MDlk
NywgMHgwOWQ3LAorCTB4MDlkYywgMHgwOWRkLAorCTB4MDlkZiwgMHgwOWUzLAorCTB4MDlmMCwg
MHgwOWYxLAorCTB4MDlmYywgMHgwOWZjLAorCTB4MGEwMSwgMHgwYTAzLAorCTB4MGEwNSwgMHgw
YTBhLAorCTB4MGEwZiwgMHgwYTEwLAorCTB4MGExMywgMHgwYTI4LAorCTB4MGEyYSwgMHgwYTMw
LAorCTB4MGEzMiwgMHgwYTMzLAorCTB4MGEzNSwgMHgwYTM2LAorCTB4MGEzOCwgMHgwYTM5LAor
CTB4MGEzZSwgMHgwYTQyLAorCTB4MGE0NywgMHgwYTQ4LAorCTB4MGE0YiwgMHgwYTRjLAorCTB4
MGE1MSwgMHgwYTUxLAorCTB4MGE1OSwgMHgwYTVjLAorCTB4MGE1ZSwgMHgwYTVlLAorCTB4MGE3
MCwgMHgwYTc1LAorCTB4MGE4MSwgMHgwYTgzLAorCTB4MGE4NSwgMHgwYThkLAorCTB4MGE4Ziwg
MHgwYTkxLAorCTB4MGE5MywgMHgwYWE4LAorCTB4MGFhYSwgMHgwYWIwLAorCTB4MGFiMiwgMHgw
YWIzLAorCTB4MGFiNSwgMHgwYWI5LAorCTB4MGFiZCwgMHgwYWM1LAorCTB4MGFjNywgMHgwYWM5
LAorCTB4MGFjYiwgMHgwYWNjLAorCTB4MGFkMCwgMHgwYWQwLAorCTB4MGFlMCwgMHgwYWUzLAor
CTB4MGFmOSwgMHgwYWZjLAorCTB4MGIwMSwgMHgwYjAzLAorCTB4MGIwNSwgMHgwYjBjLAorCTB4
MGIwZiwgMHgwYjEwLAorCTB4MGIxMywgMHgwYjI4LAorCTB4MGIyYSwgMHgwYjMwLAorCTB4MGIz
MiwgMHgwYjMzLAorCTB4MGIzNSwgMHgwYjM5LAorCTB4MGIzZCwgMHgwYjQ0LAorCTB4MGI0Nywg
MHgwYjQ4LAorCTB4MGI0YiwgMHgwYjRjLAorCTB4MGI1NiwgMHgwYjU3LAorCTB4MGI1YywgMHgw
YjVkLAorCTB4MGI1ZiwgMHgwYjYzLAorCTB4MGI3MSwgMHgwYjcxLAorCTB4MGI4MiwgMHgwYjgz
LAorCTB4MGI4NSwgMHgwYjhhLAorCTB4MGI4ZSwgMHgwYjkwLAorCTB4MGI5MiwgMHgwYjk1LAor
CTB4MGI5OSwgMHgwYjlhLAorCTB4MGI5YywgMHgwYjljLAorCTB4MGI5ZSwgMHgwYjlmLAorCTB4
MGJhMywgMHgwYmE0LAorCTB4MGJhOCwgMHgwYmFhLAorCTB4MGJhZSwgMHgwYmI5LAorCTB4MGJi
ZSwgMHgwYmMyLAorCTB4MGJjNiwgMHgwYmM4LAorCTB4MGJjYSwgMHgwYmNjLAorCTB4MGJkMCwg
MHgwYmQwLAorCTB4MGJkNywgMHgwYmQ3LAorCTB4MGMwMCwgMHgwYzAzLAorCTB4MGMwNSwgMHgw
YzBjLAorCTB4MGMwZSwgMHgwYzEwLAorCTB4MGMxMiwgMHgwYzI4LAorCTB4MGMyYSwgMHgwYzM5
LAorCTB4MGMzZCwgMHgwYzQ0LAorCTB4MGM0NiwgMHgwYzQ4LAorCTB4MGM0YSwgMHgwYzRjLAor
CTB4MGM1NSwgMHgwYzU2LAorCTB4MGM1OCwgMHgwYzVhLAorCTB4MGM2MCwgMHgwYzYzLAorCTB4
MGM4MCwgMHgwYzgzLAorCTB4MGM4NSwgMHgwYzhjLAorCTB4MGM4ZSwgMHgwYzkwLAorCTB4MGM5
MiwgMHgwY2E4LAorCTB4MGNhYSwgMHgwY2IzLAorCTB4MGNiNSwgMHgwY2I5LAorCTB4MGNiZCwg
MHgwY2M0LAorCTB4MGNjNiwgMHgwY2M4LAorCTB4MGNjYSwgMHgwY2NjLAorCTB4MGNkNSwgMHgw
Y2Q2LAorCTB4MGNkZSwgMHgwY2RlLAorCTB4MGNlMCwgMHgwY2UzLAorCTB4MGNmMSwgMHgwY2Yy
LAorCTB4MGQwMCwgMHgwZDAzLAorCTB4MGQwNSwgMHgwZDBjLAorCTB4MGQwZSwgMHgwZDEwLAor
CTB4MGQxMiwgMHgwZDNhLAorCTB4MGQzZCwgMHgwZDQ0LAorCTB4MGQ0NiwgMHgwZDQ4LAorCTB4
MGQ0YSwgMHgwZDRjLAorCTB4MGQ0ZSwgMHgwZDRlLAorCTB4MGQ1NCwgMHgwZDU3LAorCTB4MGQ1
ZiwgMHgwZDYzLAorCTB4MGQ3YSwgMHgwZDdmLAorCTB4MGQ4MiwgMHgwZDgzLAorCTB4MGQ4NSwg
MHgwZDk2LAorCTB4MGQ5YSwgMHgwZGIxLAorCTB4MGRiMywgMHgwZGJiLAorCTB4MGRiZCwgMHgw
ZGJkLAorCTB4MGRjMCwgMHgwZGM2LAorCTB4MGRjZiwgMHgwZGQ0LAorCTB4MGRkNiwgMHgwZGQ2
LAorCTB4MGRkOCwgMHgwZGRmLAorCTB4MGRmMiwgMHgwZGYzLAorCTB4MGUwMSwgMHgwZTNhLAor
CTB4MGU0MCwgMHgwZTQ2LAorCTB4MGU0ZCwgMHgwZTRkLAorCTB4MGU4MSwgMHgwZTgyLAorCTB4
MGU4NCwgMHgwZTg0LAorCTB4MGU4NiwgMHgwZThhLAorCTB4MGU4YywgMHgwZWEzLAorCTB4MGVh
NSwgMHgwZWE1LAorCTB4MGVhNywgMHgwZWI5LAorCTB4MGViYiwgMHgwZWJkLAorCTB4MGVjMCwg
MHgwZWM0LAorCTB4MGVjNiwgMHgwZWM2LAorCTB4MGVjZCwgMHgwZWNkLAorCTB4MGVkYywgMHgw
ZWRmLAorCTB4MGYwMCwgMHgwZjAwLAorCTB4MGY0MCwgMHgwZjQ3LAorCTB4MGY0OSwgMHgwZjZj
LAorCTB4MGY3MSwgMHgwZjgxLAorCTB4MGY4OCwgMHgwZjk3LAorCTB4MGY5OSwgMHgwZmJjLAor
CTB4MTAwMCwgMHgxMDM2LAorCTB4MTAzOCwgMHgxMDM4LAorCTB4MTAzYiwgMHgxMDNmLAorCTB4
MTA1MCwgMHgxMDhmLAorCTB4MTA5YSwgMHgxMDlkLAorCTB4MTBhMCwgMHgxMGM1LAorCTB4MTBj
NywgMHgxMGM3LAorCTB4MTBjZCwgMHgxMGNkLAorCTB4MTBkMCwgMHgxMGZhLAorCTB4MTBmYywg
MHgxMjQ4LAorCTB4MTI0YSwgMHgxMjRkLAorCTB4MTI1MCwgMHgxMjU2LAorCTB4MTI1OCwgMHgx
MjU4LAorCTB4MTI1YSwgMHgxMjVkLAorCTB4MTI2MCwgMHgxMjg4LAorCTB4MTI4YSwgMHgxMjhk
LAorCTB4MTI5MCwgMHgxMmIwLAorCTB4MTJiMiwgMHgxMmI1LAorCTB4MTJiOCwgMHgxMmJlLAor
CTB4MTJjMCwgMHgxMmMwLAorCTB4MTJjMiwgMHgxMmM1LAorCTB4MTJjOCwgMHgxMmQ2LAorCTB4
MTJkOCwgMHgxMzEwLAorCTB4MTMxMiwgMHgxMzE1LAorCTB4MTMxOCwgMHgxMzVhLAorCTB4MTM4
MCwgMHgxMzhmLAorCTB4MTNhMCwgMHgxM2Y1LAorCTB4MTNmOCwgMHgxM2ZkLAorCTB4MTQwMSwg
MHgxNjZjLAorCTB4MTY2ZiwgMHgxNjdmLAorCTB4MTY4MSwgMHgxNjlhLAorCTB4MTZhMCwgMHgx
NmVhLAorCTB4MTZlZSwgMHgxNmY4LAorCTB4MTcwMCwgMHgxNzBjLAorCTB4MTcwZSwgMHgxNzEz
LAorCTB4MTcyMCwgMHgxNzMzLAorCTB4MTc0MCwgMHgxNzUzLAorCTB4MTc2MCwgMHgxNzZjLAor
CTB4MTc2ZSwgMHgxNzcwLAorCTB4MTc3MiwgMHgxNzczLAorCTB4MTc4MCwgMHgxN2IzLAorCTB4
MTdiNiwgMHgxN2M4LAorCTB4MTdkNywgMHgxN2Q3LAorCTB4MTdkYywgMHgxN2RjLAorCTB4MTgy
MCwgMHgxODc4LAorCTB4MTg4MCwgMHgxOGFhLAorCTB4MThiMCwgMHgxOGY1LAorCTB4MTkwMCwg
MHgxOTFlLAorCTB4MTkyMCwgMHgxOTJiLAorCTB4MTkzMCwgMHgxOTM4LAorCTB4MTk1MCwgMHgx
OTZkLAorCTB4MTk3MCwgMHgxOTc0LAorCTB4MTk4MCwgMHgxOWFiLAorCTB4MTliMCwgMHgxOWM5
LAorCTB4MWEwMCwgMHgxYTFiLAorCTB4MWEyMCwgMHgxYTVlLAorCTB4MWE2MSwgMHgxYTc0LAor
CTB4MWFhNywgMHgxYWE3LAorCTB4MWIwMCwgMHgxYjMzLAorCTB4MWIzNSwgMHgxYjQzLAorCTB4
MWI0NSwgMHgxYjRiLAorCTB4MWI4MCwgMHgxYmE5LAorCTB4MWJhYywgMHgxYmFmLAorCTB4MWJi
YSwgMHgxYmU1LAorCTB4MWJlNywgMHgxYmYxLAorCTB4MWMwMCwgMHgxYzM2LAorCTB4MWM0ZCwg
MHgxYzRmLAorCTB4MWM1YSwgMHgxYzdkLAorCTB4MWM4MCwgMHgxYzg4LAorCTB4MWM5MCwgMHgx
Y2JhLAorCTB4MWNiZCwgMHgxY2JmLAorCTB4MWNlOSwgMHgxY2VjLAorCTB4MWNlZSwgMHgxY2Yz
LAorCTB4MWNmNSwgMHgxY2Y2LAorCTB4MWNmYSwgMHgxY2ZhLAorCTB4MWQwMCwgMHgxZGJmLAor
CTB4MWRlNywgMHgxZGY0LAorCTB4MWUwMCwgMHgxZjE1LAorCTB4MWYxOCwgMHgxZjFkLAorCTB4
MWYyMCwgMHgxZjQ1LAorCTB4MWY0OCwgMHgxZjRkLAorCTB4MWY1MCwgMHgxZjU3LAorCTB4MWY1
OSwgMHgxZjU5LAorCTB4MWY1YiwgMHgxZjViLAorCTB4MWY1ZCwgMHgxZjVkLAorCTB4MWY1Ziwg
MHgxZjdkLAorCTB4MWY4MCwgMHgxZmI0LAorCTB4MWZiNiwgMHgxZmJjLAorCTB4MWZiZSwgMHgx
ZmJlLAorCTB4MWZjMiwgMHgxZmM0LAorCTB4MWZjNiwgMHgxZmNjLAorCTB4MWZkMCwgMHgxZmQz
LAorCTB4MWZkNiwgMHgxZmRiLAorCTB4MWZlMCwgMHgxZmVjLAorCTB4MWZmMiwgMHgxZmY0LAor
CTB4MWZmNiwgMHgxZmZjLAorCTB4MjA3MSwgMHgyMDcxLAorCTB4MjA3ZiwgMHgyMDdmLAorCTB4
MjA5MCwgMHgyMDljLAorCTB4MjEwMiwgMHgyMTAyLAorCTB4MjEwNywgMHgyMTA3LAorCTB4MjEw
YSwgMHgyMTEzLAorCTB4MjExNSwgMHgyMTE1LAorCTB4MjExOSwgMHgyMTFkLAorCTB4MjEyNCwg
MHgyMTI0LAorCTB4MjEyNiwgMHgyMTI2LAorCTB4MjEyOCwgMHgyMTI4LAorCTB4MjEyYSwgMHgy
MTJkLAorCTB4MjEyZiwgMHgyMTM5LAorCTB4MjEzYywgMHgyMTNmLAorCTB4MjE0NSwgMHgyMTQ5
LAorCTB4MjE0ZSwgMHgyMTRlLAorCTB4MjE2MCwgMHgyMTg4LAorCTB4MjRiNiwgMHgyNGU5LAor
CTB4MmMwMCwgMHgyYzJlLAorCTB4MmMzMCwgMHgyYzVlLAorCTB4MmM2MCwgMHgyY2U0LAorCTB4
MmNlYiwgMHgyY2VlLAorCTB4MmNmMiwgMHgyY2YzLAorCTB4MmQwMCwgMHgyZDI1LAorCTB4MmQy
NywgMHgyZDI3LAorCTB4MmQyZCwgMHgyZDJkLAorCTB4MmQzMCwgMHgyZDY3LAorCTB4MmQ2Ziwg
MHgyZDZmLAorCTB4MmQ4MCwgMHgyZDk2LAorCTB4MmRhMCwgMHgyZGE2LAorCTB4MmRhOCwgMHgy
ZGFlLAorCTB4MmRiMCwgMHgyZGI2LAorCTB4MmRiOCwgMHgyZGJlLAorCTB4MmRjMCwgMHgyZGM2
LAorCTB4MmRjOCwgMHgyZGNlLAorCTB4MmRkMCwgMHgyZGQ2LAorCTB4MmRkOCwgMHgyZGRlLAor
CTB4MmRlMCwgMHgyZGZmLAorCTB4MmUyZiwgMHgyZTJmLAorCTB4MzAwNSwgMHgzMDA3LAorCTB4
MzAyMSwgMHgzMDI5LAorCTB4MzAzMSwgMHgzMDM1LAorCTB4MzAzOCwgMHgzMDNjLAorCTB4MzA0
MSwgMHgzMDk2LAorCTB4MzA5ZCwgMHgzMDlmLAorCTB4MzBhMSwgMHgzMGZhLAorCTB4MzBmYywg
MHgzMGZmLAorCTB4MzEwNSwgMHgzMTJmLAorCTB4MzEzMSwgMHgzMThlLAorCTB4MzFhMCwgMHgz
MWJhLAorCTB4MzFmMCwgMHgzMWZmLAorCTB4MzQwMCwgMHg0ZGI1LAorCTB4NGUwMCwgMHg5ZmVm
LAorCTB4YTAwMCwgMHhhNDhjLAorCTB4YTRkMCwgMHhhNGZkLAorCTB4YTUwMCwgMHhhNjBjLAor
CTB4YTYxMCwgMHhhNjFmLAorCTB4YTYyYSwgMHhhNjJiLAorCTB4YTY0MCwgMHhhNjZlLAorCTB4
YTY3NCwgMHhhNjdiLAorCTB4YTY3ZiwgMHhhNmVmLAorCTB4YTcxNywgMHhhNzFmLAorCTB4YTcy
MiwgMHhhNzg4LAorCTB4YTc4YiwgMHhhN2JmLAorCTB4YTdjMiwgMHhhN2M2LAorCTB4YTdmNywg
MHhhODA1LAorCTB4YTgwNywgMHhhODI3LAorCTB4YTg0MCwgMHhhODczLAorCTB4YTg4MCwgMHhh
OGMzLAorCTB4YThjNSwgMHhhOGM1LAorCTB4YThmMiwgMHhhOGY3LAorCTB4YThmYiwgMHhhOGZi
LAorCTB4YThmZCwgMHhhOGZmLAorCTB4YTkwYSwgMHhhOTJhLAorCTB4YTkzMCwgMHhhOTUyLAor
CTB4YTk2MCwgMHhhOTdjLAorCTB4YTk4MCwgMHhhOWIyLAorCTB4YTliNCwgMHhhOWJmLAorCTB4
YTljZiwgMHhhOWNmLAorCTB4YTllMCwgMHhhOWVmLAorCTB4YTlmYSwgMHhhOWZlLAorCTB4YWEw
MCwgMHhhYTM2LAorCTB4YWE0MCwgMHhhYTRkLAorCTB4YWE2MCwgMHhhYTc2LAorCTB4YWE3YSwg
MHhhYWJlLAorCTB4YWFjMCwgMHhhYWMwLAorCTB4YWFjMiwgMHhhYWMyLAorCTB4YWFkYiwgMHhh
YWRkLAorCTB4YWFlMCwgMHhhYWVmLAorCTB4YWFmMiwgMHhhYWY1LAorCTB4YWIwMSwgMHhhYjA2
LAorCTB4YWIwOSwgMHhhYjBlLAorCTB4YWIxMSwgMHhhYjE2LAorCTB4YWIyMCwgMHhhYjI2LAor
CTB4YWIyOCwgMHhhYjJlLAorCTB4YWIzMCwgMHhhYjVhLAorCTB4YWI1YywgMHhhYjY3LAorCTB4
YWI3MCwgMHhhYmVhLAorCTB4YWMwMCwgMHhkN2EzLAorCTB4ZDdiMCwgMHhkN2M2LAorCTB4ZDdj
YiwgMHhkN2ZiLAorCTB4ZjkwMCwgMHhmYTZkLAorCTB4ZmE3MCwgMHhmYWQ5LAorCTB4ZmIwMCwg
MHhmYjA2LAorCTB4ZmIxMywgMHhmYjE3LAorCTB4ZmIxZCwgMHhmYjI4LAorCTB4ZmIyYSwgMHhm
YjM2LAorCTB4ZmIzOCwgMHhmYjNjLAorCTB4ZmIzZSwgMHhmYjNlLAorCTB4ZmI0MCwgMHhmYjQx
LAorCTB4ZmI0MywgMHhmYjQ0LAorCTB4ZmI0NiwgMHhmYmIxLAorCTB4ZmJkMywgMHhmZDNkLAor
CTB4ZmQ1MCwgMHhmZDhmLAorCTB4ZmQ5MiwgMHhmZGM3LAorCTB4ZmRmMCwgMHhmZGZiLAorCTB4
ZmU3MCwgMHhmZTc0LAorCTB4ZmU3NiwgMHhmZWZjLAorCTB4ZmYyMSwgMHhmZjNhLAorCTB4ZmY0
MSwgMHhmZjVhLAorCTB4ZmY2NiwgMHhmZmJlLAorCTB4ZmZjMiwgMHhmZmM3LAorCTB4ZmZjYSwg
MHhmZmNmLAorCTB4ZmZkMiwgMHhmZmQ3LAorCTB4ZmZkYSwgMHhmZmRjLAorCTB4MTAwMDAsIDB4
MTAwMGIsCisJMHgxMDAwZCwgMHgxMDAyNiwKKwkweDEwMDI4LCAweDEwMDNhLAorCTB4MTAwM2Ms
IDB4MTAwM2QsCisJMHgxMDAzZiwgMHgxMDA0ZCwKKwkweDEwMDUwLCAweDEwMDVkLAorCTB4MTAw
ODAsIDB4MTAwZmEsCisJMHgxMDE0MCwgMHgxMDE3NCwKKwkweDEwMjgwLCAweDEwMjljLAorCTB4
MTAyYTAsIDB4MTAyZDAsCisJMHgxMDMwMCwgMHgxMDMxZiwKKwkweDEwMzJkLCAweDEwMzRhLAor
CTB4MTAzNTAsIDB4MTAzN2EsCisJMHgxMDM4MCwgMHgxMDM5ZCwKKwkweDEwM2EwLCAweDEwM2Mz
LAorCTB4MTAzYzgsIDB4MTAzY2YsCisJMHgxMDNkMSwgMHgxMDNkNSwKKwkweDEwNDAwLCAweDEw
NDlkLAorCTB4MTA0YjAsIDB4MTA0ZDMsCisJMHgxMDRkOCwgMHgxMDRmYiwKKwkweDEwNTAwLCAw
eDEwNTI3LAorCTB4MTA1MzAsIDB4MTA1NjMsCisJMHgxMDYwMCwgMHgxMDczNiwKKwkweDEwNzQw
LCAweDEwNzU1LAorCTB4MTA3NjAsIDB4MTA3NjcsCisJMHgxMDgwMCwgMHgxMDgwNSwKKwkweDEw
ODA4LCAweDEwODA4LAorCTB4MTA4MGEsIDB4MTA4MzUsCisJMHgxMDgzNywgMHgxMDgzOCwKKwkw
eDEwODNjLCAweDEwODNjLAorCTB4MTA4M2YsIDB4MTA4NTUsCisJMHgxMDg2MCwgMHgxMDg3NiwK
KwkweDEwODgwLCAweDEwODllLAorCTB4MTA4ZTAsIDB4MTA4ZjIsCisJMHgxMDhmNCwgMHgxMDhm
NSwKKwkweDEwOTAwLCAweDEwOTE1LAorCTB4MTA5MjAsIDB4MTA5MzksCisJMHgxMDk4MCwgMHgx
MDliNywKKwkweDEwOWJlLCAweDEwOWJmLAorCTB4MTBhMDAsIDB4MTBhMDMsCisJMHgxMGEwNSwg
MHgxMGEwNiwKKwkweDEwYTBjLCAweDEwYTEzLAorCTB4MTBhMTUsIDB4MTBhMTcsCisJMHgxMGEx
OSwgMHgxMGEzNSwKKwkweDEwYTYwLCAweDEwYTdjLAorCTB4MTBhODAsIDB4MTBhOWMsCisJMHgx
MGFjMCwgMHgxMGFjNywKKwkweDEwYWM5LCAweDEwYWU0LAorCTB4MTBiMDAsIDB4MTBiMzUsCisJ
MHgxMGI0MCwgMHgxMGI1NSwKKwkweDEwYjYwLCAweDEwYjcyLAorCTB4MTBiODAsIDB4MTBiOTEs
CisJMHgxMGMwMCwgMHgxMGM0OCwKKwkweDEwYzgwLCAweDEwY2IyLAorCTB4MTBjYzAsIDB4MTBj
ZjIsCisJMHgxMGQwMCwgMHgxMGQyNywKKwkweDEwZjAwLCAweDEwZjFjLAorCTB4MTBmMjcsIDB4
MTBmMjcsCisJMHgxMGYzMCwgMHgxMGY0NSwKKwkweDEwZmUwLCAweDEwZmY2LAorCTB4MTEwMDAs
IDB4MTEwNDUsCisJMHgxMTA4MiwgMHgxMTBiOCwKKwkweDExMGQwLCAweDExMGU4LAorCTB4MTEx
MDAsIDB4MTExMzIsCisJMHgxMTE0NCwgMHgxMTE0NiwKKwkweDExMTUwLCAweDExMTcyLAorCTB4
MTExNzYsIDB4MTExNzYsCisJMHgxMTE4MCwgMHgxMTFiZiwKKwkweDExMWMxLCAweDExMWM0LAor
CTB4MTExZGEsIDB4MTExZGEsCisJMHgxMTFkYywgMHgxMTFkYywKKwkweDExMjAwLCAweDExMjEx
LAorCTB4MTEyMTMsIDB4MTEyMzQsCisJMHgxMTIzNywgMHgxMTIzNywKKwkweDExMjNlLCAweDEx
MjNlLAorCTB4MTEyODAsIDB4MTEyODYsCisJMHgxMTI4OCwgMHgxMTI4OCwKKwkweDExMjhhLCAw
eDExMjhkLAorCTB4MTEyOGYsIDB4MTEyOWQsCisJMHgxMTI5ZiwgMHgxMTJhOCwKKwkweDExMmIw
LCAweDExMmU4LAorCTB4MTEzMDAsIDB4MTEzMDMsCisJMHgxMTMwNSwgMHgxMTMwYywKKwkweDEx
MzBmLCAweDExMzEwLAorCTB4MTEzMTMsIDB4MTEzMjgsCisJMHgxMTMyYSwgMHgxMTMzMCwKKwkw
eDExMzMyLCAweDExMzMzLAorCTB4MTEzMzUsIDB4MTEzMzksCisJMHgxMTMzZCwgMHgxMTM0NCwK
KwkweDExMzQ3LCAweDExMzQ4LAorCTB4MTEzNGIsIDB4MTEzNGMsCisJMHgxMTM1MCwgMHgxMTM1
MCwKKwkweDExMzU3LCAweDExMzU3LAorCTB4MTEzNWQsIDB4MTEzNjMsCisJMHgxMTQwMCwgMHgx
MTQ0MSwKKwkweDExNDQzLCAweDExNDQ1LAorCTB4MTE0NDcsIDB4MTE0NGEsCisJMHgxMTQ1Ziwg
MHgxMTQ1ZiwKKwkweDExNDgwLCAweDExNGMxLAorCTB4MTE0YzQsIDB4MTE0YzUsCisJMHgxMTRj
NywgMHgxMTRjNywKKwkweDExNTgwLCAweDExNWI1LAorCTB4MTE1YjgsIDB4MTE1YmUsCisJMHgx
MTVkOCwgMHgxMTVkZCwKKwkweDExNjAwLCAweDExNjNlLAorCTB4MTE2NDAsIDB4MTE2NDAsCisJ
MHgxMTY0NCwgMHgxMTY0NCwKKwkweDExNjgwLCAweDExNmI1LAorCTB4MTE2YjgsIDB4MTE2Yjgs
CisJMHgxMTcwMCwgMHgxMTcxYSwKKwkweDExNzFkLCAweDExNzJhLAorCTB4MTE4MDAsIDB4MTE4
MzgsCisJMHgxMThhMCwgMHgxMThkZiwKKwkweDExOGZmLCAweDExOGZmLAorCTB4MTE5YTAsIDB4
MTE5YTcsCisJMHgxMTlhYSwgMHgxMTlkNywKKwkweDExOWRhLCAweDExOWRmLAorCTB4MTE5ZTEs
IDB4MTE5ZTEsCisJMHgxMTllMywgMHgxMTllNCwKKwkweDExYTAwLCAweDExYTMyLAorCTB4MTFh
MzUsIDB4MTFhM2UsCisJMHgxMWE1MCwgMHgxMWE5NywKKwkweDExYTlkLCAweDExYTlkLAorCTB4
MTFhYzAsIDB4MTFhZjgsCisJMHgxMWMwMCwgMHgxMWMwOCwKKwkweDExYzBhLCAweDExYzM2LAor
CTB4MTFjMzgsIDB4MTFjM2UsCisJMHgxMWM0MCwgMHgxMWM0MCwKKwkweDExYzcyLCAweDExYzhm
LAorCTB4MTFjOTIsIDB4MTFjYTcsCisJMHgxMWNhOSwgMHgxMWNiNiwKKwkweDExZDAwLCAweDEx
ZDA2LAorCTB4MTFkMDgsIDB4MTFkMDksCisJMHgxMWQwYiwgMHgxMWQzNiwKKwkweDExZDNhLCAw
eDExZDNhLAorCTB4MTFkM2MsIDB4MTFkM2QsCisJMHgxMWQzZiwgMHgxMWQ0MSwKKwkweDExZDQz
LCAweDExZDQzLAorCTB4MTFkNDYsIDB4MTFkNDcsCisJMHgxMWQ2MCwgMHgxMWQ2NSwKKwkweDEx
ZDY3LCAweDExZDY4LAorCTB4MTFkNmEsIDB4MTFkOGUsCisJMHgxMWQ5MCwgMHgxMWQ5MSwKKwkw
eDExZDkzLCAweDExZDk2LAorCTB4MTFkOTgsIDB4MTFkOTgsCisJMHgxMWVlMCwgMHgxMWVmNiwK
KwkweDEyMDAwLCAweDEyMzk5LAorCTB4MTI0MDAsIDB4MTI0NmUsCisJMHgxMjQ4MCwgMHgxMjU0
MywKKwkweDEzMDAwLCAweDEzNDJlLAorCTB4MTQ0MDAsIDB4MTQ2NDYsCisJMHgxNjgwMCwgMHgx
NmEzOCwKKwkweDE2YTQwLCAweDE2YTVlLAorCTB4MTZhZDAsIDB4MTZhZWQsCisJMHgxNmIwMCwg
MHgxNmIyZiwKKwkweDE2YjQwLCAweDE2YjQzLAorCTB4MTZiNjMsIDB4MTZiNzcsCisJMHgxNmI3
ZCwgMHgxNmI4ZiwKKwkweDE2ZTQwLCAweDE2ZTdmLAorCTB4MTZmMDAsIDB4MTZmNGEsCisJMHgx
NmY0ZiwgMHgxNmY4NywKKwkweDE2ZjhmLCAweDE2ZjlmLAorCTB4MTZmZTAsIDB4MTZmZTEsCisJ
MHgxNmZlMywgMHgxNmZlMywKKwkweDE3MDAwLCAweDE4N2Y3LAorCTB4MTg4MDAsIDB4MThhZjIs
CisJMHgxYjAwMCwgMHgxYjExZSwKKwkweDFiMTUwLCAweDFiMTUyLAorCTB4MWIxNjQsIDB4MWIx
NjcsCisJMHgxYjE3MCwgMHgxYjJmYiwKKwkweDFiYzAwLCAweDFiYzZhLAorCTB4MWJjNzAsIDB4
MWJjN2MsCisJMHgxYmM4MCwgMHgxYmM4OCwKKwkweDFiYzkwLCAweDFiYzk5LAorCTB4MWJjOWUs
IDB4MWJjOWUsCisJMHgxZDQwMCwgMHgxZDQ1NCwKKwkweDFkNDU2LCAweDFkNDljLAorCTB4MWQ0
OWUsIDB4MWQ0OWYsCisJMHgxZDRhMiwgMHgxZDRhMiwKKwkweDFkNGE1LCAweDFkNGE2LAorCTB4
MWQ0YTksIDB4MWQ0YWMsCisJMHgxZDRhZSwgMHgxZDRiOSwKKwkweDFkNGJiLCAweDFkNGJiLAor
CTB4MWQ0YmQsIDB4MWQ0YzMsCisJMHgxZDRjNSwgMHgxZDUwNSwKKwkweDFkNTA3LCAweDFkNTBh
LAorCTB4MWQ1MGQsIDB4MWQ1MTQsCisJMHgxZDUxNiwgMHgxZDUxYywKKwkweDFkNTFlLCAweDFk
NTM5LAorCTB4MWQ1M2IsIDB4MWQ1M2UsCisJMHgxZDU0MCwgMHgxZDU0NCwKKwkweDFkNTQ2LCAw
eDFkNTQ2LAorCTB4MWQ1NGEsIDB4MWQ1NTAsCisJMHgxZDU1MiwgMHgxZDZhNSwKKwkweDFkNmE4
LCAweDFkNmMwLAorCTB4MWQ2YzIsIDB4MWQ2ZGEsCisJMHgxZDZkYywgMHgxZDZmYSwKKwkweDFk
NmZjLCAweDFkNzE0LAorCTB4MWQ3MTYsIDB4MWQ3MzQsCisJMHgxZDczNiwgMHgxZDc0ZSwKKwkw
eDFkNzUwLCAweDFkNzZlLAorCTB4MWQ3NzAsIDB4MWQ3ODgsCisJMHgxZDc4YSwgMHgxZDdhOCwK
KwkweDFkN2FhLCAweDFkN2MyLAorCTB4MWQ3YzQsIDB4MWQ3Y2IsCisJMHgxZTAwMCwgMHgxZTAw
NiwKKwkweDFlMDA4LCAweDFlMDE4LAorCTB4MWUwMWIsIDB4MWUwMjEsCisJMHgxZTAyMywgMHgx
ZTAyNCwKKwkweDFlMDI2LCAweDFlMDJhLAorCTB4MWUxMDAsIDB4MWUxMmMsCisJMHgxZTEzNywg
MHgxZTEzZCwKKwkweDFlMTRlLCAweDFlMTRlLAorCTB4MWUyYzAsIDB4MWUyZWIsCisJMHgxZTgw
MCwgMHgxZThjNCwKKwkweDFlOTAwLCAweDFlOTQzLAorCTB4MWU5NDcsIDB4MWU5NDcsCisJMHgx
ZTk0YiwgMHgxZTk0YiwKKwkweDFlZTAwLCAweDFlZTAzLAorCTB4MWVlMDUsIDB4MWVlMWYsCisJ
MHgxZWUyMSwgMHgxZWUyMiwKKwkweDFlZTI0LCAweDFlZTI0LAorCTB4MWVlMjcsIDB4MWVlMjcs
CisJMHgxZWUyOSwgMHgxZWUzMiwKKwkweDFlZTM0LCAweDFlZTM3LAorCTB4MWVlMzksIDB4MWVl
MzksCisJMHgxZWUzYiwgMHgxZWUzYiwKKwkweDFlZTQyLCAweDFlZTQyLAorCTB4MWVlNDcsIDB4
MWVlNDcsCisJMHgxZWU0OSwgMHgxZWU0OSwKKwkweDFlZTRiLCAweDFlZTRiLAorCTB4MWVlNGQs
IDB4MWVlNGYsCisJMHgxZWU1MSwgMHgxZWU1MiwKKwkweDFlZTU0LCAweDFlZTU0LAorCTB4MWVl
NTcsIDB4MWVlNTcsCisJMHgxZWU1OSwgMHgxZWU1OSwKKwkweDFlZTViLCAweDFlZTViLAorCTB4
MWVlNWQsIDB4MWVlNWQsCisJMHgxZWU1ZiwgMHgxZWU1ZiwKKwkweDFlZTYxLCAweDFlZTYyLAor
CTB4MWVlNjQsIDB4MWVlNjQsCisJMHgxZWU2NywgMHgxZWU2YSwKKwkweDFlZTZjLCAweDFlZTcy
LAorCTB4MWVlNzQsIDB4MWVlNzcsCisJMHgxZWU3OSwgMHgxZWU3YywKKwkweDFlZTdlLCAweDFl
ZTdlLAorCTB4MWVlODAsIDB4MWVlODksCisJMHgxZWU4YiwgMHgxZWU5YiwKKwkweDFlZWExLCAw
eDFlZWEzLAorCTB4MWVlYTUsIDB4MWVlYTksCisJMHgxZWVhYiwgMHgxZWViYiwKKwkweDFmMTMw
LCAweDFmMTQ5LAorCTB4MWYxNTAsIDB4MWYxNjksCisJMHgxZjE3MCwgMHgxZjE4OSwKKwkweDIw
MDAwLCAweDJhNmQ2LAorCTB4MmE3MDAsIDB4MmI3MzQsCisJMHgyYjc0MCwgMHgyYjgxZCwKKwkw
eDJiODIwLCAweDJjZWExLAorCTB4MmNlYjAsIDB4MmViZTAsCisJMHgyZjgwMCwgMHgyZmExZCwK
K307IC8qIENSX0FscGhhICovCisKKy8qICdCbGFuayc6IFtbOkJsYW5rOl1dICovCitzdGF0aWMg
Y29uc3QgT25pZ0NvZGVQb2ludCBDUl9CbGFua1tdID0geworCTgsCisJMHgwMDA5LCAweDAwMDks
CisJMHgwMDIwLCAweDAwMjAsCisJMHgwMGEwLCAweDAwYTAsCisJMHgxNjgwLCAweDE2ODAsCisJ
MHgyMDAwLCAweDIwMGEsCisJMHgyMDJmLCAweDIwMmYsCisJMHgyMDVmLCAweDIwNWYsCisJMHgz
MDAwLCAweDMwMDAsCit9OyAvKiBDUl9CbGFuayAqLworCisvKiAnQ250cmwnOiBbWzpDbnRybDpd
XSAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfQ250cmxbXSA9IHsKKwkyLAorCTB4
MDAwMCwgMHgwMDFmLAorCTB4MDA3ZiwgMHgwMDlmLAorfTsgLyogQ1JfQ250cmwgKi8KKworLyog
J0RpZ2l0JzogW1s6RGlnaXQ6XV0gKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0Rp
Z2l0W10gPSB7CisJNTksCisJMHgwMDMwLCAweDAwMzksCisJMHgwNjYwLCAweDA2NjksCisJMHgw
NmYwLCAweDA2ZjksCisJMHgwN2MwLCAweDA3YzksCisJMHgwOTY2LCAweDA5NmYsCisJMHgwOWU2
LCAweDA5ZWYsCisJMHgwYTY2LCAweDBhNmYsCisJMHgwYWU2LCAweDBhZWYsCisJMHgwYjY2LCAw
eDBiNmYsCisJMHgwYmU2LCAweDBiZWYsCisJMHgwYzY2LCAweDBjNmYsCisJMHgwY2U2LCAweDBj
ZWYsCisJMHgwZDY2LCAweDBkNmYsCisJMHgwZGU2LCAweDBkZWYsCisJMHgwZTUwLCAweDBlNTks
CisJMHgwZWQwLCAweDBlZDksCisJMHgwZjIwLCAweDBmMjksCisJMHgxMDQwLCAweDEwNDksCisJ
MHgxMDkwLCAweDEwOTksCisJMHgxN2UwLCAweDE3ZTksCisJMHgxODEwLCAweDE4MTksCisJMHgx
OTQ2LCAweDE5NGYsCisJMHgxOWQwLCAweDE5ZDksCisJMHgxYTgwLCAweDFhODksCisJMHgxYTkw
LCAweDFhOTksCisJMHgxYjUwLCAweDFiNTksCisJMHgxYmIwLCAweDFiYjksCisJMHgxYzQwLCAw
eDFjNDksCisJMHgxYzUwLCAweDFjNTksCisJMHhhNjIwLCAweGE2MjksCisJMHhhOGQwLCAweGE4
ZDksCisJMHhhOTAwLCAweGE5MDksCisJMHhhOWQwLCAweGE5ZDksCisJMHhhOWYwLCAweGE5Zjks
CisJMHhhYTUwLCAweGFhNTksCisJMHhhYmYwLCAweGFiZjksCisJMHhmZjEwLCAweGZmMTksCisJ
MHgxMDRhMCwgMHgxMDRhOSwKKwkweDEwZDMwLCAweDEwZDM5LAorCTB4MTEwNjYsIDB4MTEwNmYs
CisJMHgxMTBmMCwgMHgxMTBmOSwKKwkweDExMTM2LCAweDExMTNmLAorCTB4MTExZDAsIDB4MTEx
ZDksCisJMHgxMTJmMCwgMHgxMTJmOSwKKwkweDExNDUwLCAweDExNDU5LAorCTB4MTE0ZDAsIDB4
MTE0ZDksCisJMHgxMTY1MCwgMHgxMTY1OSwKKwkweDExNmMwLCAweDExNmM5LAorCTB4MTE3MzAs
IDB4MTE3MzksCisJMHgxMThlMCwgMHgxMThlOSwKKwkweDExYzUwLCAweDExYzU5LAorCTB4MTFk
NTAsIDB4MTFkNTksCisJMHgxMWRhMCwgMHgxMWRhOSwKKwkweDE2YTYwLCAweDE2YTY5LAorCTB4
MTZiNTAsIDB4MTZiNTksCisJMHgxZDdjZSwgMHgxZDdmZiwKKwkweDFlMTQwLCAweDFlMTQ5LAor
CTB4MWUyZjAsIDB4MWUyZjksCisJMHgxZTk1MCwgMHgxZTk1OSwKK307IC8qIENSX0RpZ2l0ICov
CisKKy8qICdHcmFwaCc6IFtbOkdyYXBoOl1dICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2lu
dCBDUl9HcmFwaFtdID0geworCTY3MSwKKwkweDAwMjEsIDB4MDA3ZSwKKwkweDAwYTEsIDB4MDM3
NywKKwkweDAzN2EsIDB4MDM3ZiwKKwkweDAzODQsIDB4MDM4YSwKKwkweDAzOGMsIDB4MDM4YywK
KwkweDAzOGUsIDB4MDNhMSwKKwkweDAzYTMsIDB4MDUyZiwKKwkweDA1MzEsIDB4MDU1NiwKKwkw
eDA1NTksIDB4MDU4YSwKKwkweDA1OGQsIDB4MDU4ZiwKKwkweDA1OTEsIDB4MDVjNywKKwkweDA1
ZDAsIDB4MDVlYSwKKwkweDA1ZWYsIDB4MDVmNCwKKwkweDA2MDAsIDB4MDYxYywKKwkweDA2MWUs
IDB4MDcwZCwKKwkweDA3MGYsIDB4MDc0YSwKKwkweDA3NGQsIDB4MDdiMSwKKwkweDA3YzAsIDB4
MDdmYSwKKwkweDA3ZmQsIDB4MDgyZCwKKwkweDA4MzAsIDB4MDgzZSwKKwkweDA4NDAsIDB4MDg1
YiwKKwkweDA4NWUsIDB4MDg1ZSwKKwkweDA4NjAsIDB4MDg2YSwKKwkweDA4YTAsIDB4MDhiNCwK
KwkweDA4YjYsIDB4MDhiZCwKKwkweDA4ZDMsIDB4MDk4MywKKwkweDA5ODUsIDB4MDk4YywKKwkw
eDA5OGYsIDB4MDk5MCwKKwkweDA5OTMsIDB4MDlhOCwKKwkweDA5YWEsIDB4MDliMCwKKwkweDA5
YjIsIDB4MDliMiwKKwkweDA5YjYsIDB4MDliOSwKKwkweDA5YmMsIDB4MDljNCwKKwkweDA5Yzcs
IDB4MDljOCwKKwkweDA5Y2IsIDB4MDljZSwKKwkweDA5ZDcsIDB4MDlkNywKKwkweDA5ZGMsIDB4
MDlkZCwKKwkweDA5ZGYsIDB4MDllMywKKwkweDA5ZTYsIDB4MDlmZSwKKwkweDBhMDEsIDB4MGEw
MywKKwkweDBhMDUsIDB4MGEwYSwKKwkweDBhMGYsIDB4MGExMCwKKwkweDBhMTMsIDB4MGEyOCwK
KwkweDBhMmEsIDB4MGEzMCwKKwkweDBhMzIsIDB4MGEzMywKKwkweDBhMzUsIDB4MGEzNiwKKwkw
eDBhMzgsIDB4MGEzOSwKKwkweDBhM2MsIDB4MGEzYywKKwkweDBhM2UsIDB4MGE0MiwKKwkweDBh
NDcsIDB4MGE0OCwKKwkweDBhNGIsIDB4MGE0ZCwKKwkweDBhNTEsIDB4MGE1MSwKKwkweDBhNTks
IDB4MGE1YywKKwkweDBhNWUsIDB4MGE1ZSwKKwkweDBhNjYsIDB4MGE3NiwKKwkweDBhODEsIDB4
MGE4MywKKwkweDBhODUsIDB4MGE4ZCwKKwkweDBhOGYsIDB4MGE5MSwKKwkweDBhOTMsIDB4MGFh
OCwKKwkweDBhYWEsIDB4MGFiMCwKKwkweDBhYjIsIDB4MGFiMywKKwkweDBhYjUsIDB4MGFiOSwK
KwkweDBhYmMsIDB4MGFjNSwKKwkweDBhYzcsIDB4MGFjOSwKKwkweDBhY2IsIDB4MGFjZCwKKwkw
eDBhZDAsIDB4MGFkMCwKKwkweDBhZTAsIDB4MGFlMywKKwkweDBhZTYsIDB4MGFmMSwKKwkweDBh
ZjksIDB4MGFmZiwKKwkweDBiMDEsIDB4MGIwMywKKwkweDBiMDUsIDB4MGIwYywKKwkweDBiMGYs
IDB4MGIxMCwKKwkweDBiMTMsIDB4MGIyOCwKKwkweDBiMmEsIDB4MGIzMCwKKwkweDBiMzIsIDB4
MGIzMywKKwkweDBiMzUsIDB4MGIzOSwKKwkweDBiM2MsIDB4MGI0NCwKKwkweDBiNDcsIDB4MGI0
OCwKKwkweDBiNGIsIDB4MGI0ZCwKKwkweDBiNTYsIDB4MGI1NywKKwkweDBiNWMsIDB4MGI1ZCwK
KwkweDBiNWYsIDB4MGI2MywKKwkweDBiNjYsIDB4MGI3NywKKwkweDBiODIsIDB4MGI4MywKKwkw
eDBiODUsIDB4MGI4YSwKKwkweDBiOGUsIDB4MGI5MCwKKwkweDBiOTIsIDB4MGI5NSwKKwkweDBi
OTksIDB4MGI5YSwKKwkweDBiOWMsIDB4MGI5YywKKwkweDBiOWUsIDB4MGI5ZiwKKwkweDBiYTMs
IDB4MGJhNCwKKwkweDBiYTgsIDB4MGJhYSwKKwkweDBiYWUsIDB4MGJiOSwKKwkweDBiYmUsIDB4
MGJjMiwKKwkweDBiYzYsIDB4MGJjOCwKKwkweDBiY2EsIDB4MGJjZCwKKwkweDBiZDAsIDB4MGJk
MCwKKwkweDBiZDcsIDB4MGJkNywKKwkweDBiZTYsIDB4MGJmYSwKKwkweDBjMDAsIDB4MGMwYywK
KwkweDBjMGUsIDB4MGMxMCwKKwkweDBjMTIsIDB4MGMyOCwKKwkweDBjMmEsIDB4MGMzOSwKKwkw
eDBjM2QsIDB4MGM0NCwKKwkweDBjNDYsIDB4MGM0OCwKKwkweDBjNGEsIDB4MGM0ZCwKKwkweDBj
NTUsIDB4MGM1NiwKKwkweDBjNTgsIDB4MGM1YSwKKwkweDBjNjAsIDB4MGM2MywKKwkweDBjNjYs
IDB4MGM2ZiwKKwkweDBjNzcsIDB4MGM4YywKKwkweDBjOGUsIDB4MGM5MCwKKwkweDBjOTIsIDB4
MGNhOCwKKwkweDBjYWEsIDB4MGNiMywKKwkweDBjYjUsIDB4MGNiOSwKKwkweDBjYmMsIDB4MGNj
NCwKKwkweDBjYzYsIDB4MGNjOCwKKwkweDBjY2EsIDB4MGNjZCwKKwkweDBjZDUsIDB4MGNkNiwK
KwkweDBjZGUsIDB4MGNkZSwKKwkweDBjZTAsIDB4MGNlMywKKwkweDBjZTYsIDB4MGNlZiwKKwkw
eDBjZjEsIDB4MGNmMiwKKwkweDBkMDAsIDB4MGQwMywKKwkweDBkMDUsIDB4MGQwYywKKwkweDBk
MGUsIDB4MGQxMCwKKwkweDBkMTIsIDB4MGQ0NCwKKwkweDBkNDYsIDB4MGQ0OCwKKwkweDBkNGEs
IDB4MGQ0ZiwKKwkweDBkNTQsIDB4MGQ2MywKKwkweDBkNjYsIDB4MGQ3ZiwKKwkweDBkODIsIDB4
MGQ4MywKKwkweDBkODUsIDB4MGQ5NiwKKwkweDBkOWEsIDB4MGRiMSwKKwkweDBkYjMsIDB4MGRi
YiwKKwkweDBkYmQsIDB4MGRiZCwKKwkweDBkYzAsIDB4MGRjNiwKKwkweDBkY2EsIDB4MGRjYSwK
KwkweDBkY2YsIDB4MGRkNCwKKwkweDBkZDYsIDB4MGRkNiwKKwkweDBkZDgsIDB4MGRkZiwKKwkw
eDBkZTYsIDB4MGRlZiwKKwkweDBkZjIsIDB4MGRmNCwKKwkweDBlMDEsIDB4MGUzYSwKKwkweDBl
M2YsIDB4MGU1YiwKKwkweDBlODEsIDB4MGU4MiwKKwkweDBlODQsIDB4MGU4NCwKKwkweDBlODYs
IDB4MGU4YSwKKwkweDBlOGMsIDB4MGVhMywKKwkweDBlYTUsIDB4MGVhNSwKKwkweDBlYTcsIDB4
MGViZCwKKwkweDBlYzAsIDB4MGVjNCwKKwkweDBlYzYsIDB4MGVjNiwKKwkweDBlYzgsIDB4MGVj
ZCwKKwkweDBlZDAsIDB4MGVkOSwKKwkweDBlZGMsIDB4MGVkZiwKKwkweDBmMDAsIDB4MGY0NywK
KwkweDBmNDksIDB4MGY2YywKKwkweDBmNzEsIDB4MGY5NywKKwkweDBmOTksIDB4MGZiYywKKwkw
eDBmYmUsIDB4MGZjYywKKwkweDBmY2UsIDB4MGZkYSwKKwkweDEwMDAsIDB4MTBjNSwKKwkweDEw
YzcsIDB4MTBjNywKKwkweDEwY2QsIDB4MTBjZCwKKwkweDEwZDAsIDB4MTI0OCwKKwkweDEyNGEs
IDB4MTI0ZCwKKwkweDEyNTAsIDB4MTI1NiwKKwkweDEyNTgsIDB4MTI1OCwKKwkweDEyNWEsIDB4
MTI1ZCwKKwkweDEyNjAsIDB4MTI4OCwKKwkweDEyOGEsIDB4MTI4ZCwKKwkweDEyOTAsIDB4MTJi
MCwKKwkweDEyYjIsIDB4MTJiNSwKKwkweDEyYjgsIDB4MTJiZSwKKwkweDEyYzAsIDB4MTJjMCwK
KwkweDEyYzIsIDB4MTJjNSwKKwkweDEyYzgsIDB4MTJkNiwKKwkweDEyZDgsIDB4MTMxMCwKKwkw
eDEzMTIsIDB4MTMxNSwKKwkweDEzMTgsIDB4MTM1YSwKKwkweDEzNWQsIDB4MTM3YywKKwkweDEz
ODAsIDB4MTM5OSwKKwkweDEzYTAsIDB4MTNmNSwKKwkweDEzZjgsIDB4MTNmZCwKKwkweDE0MDAs
IDB4MTY3ZiwKKwkweDE2ODEsIDB4MTY5YywKKwkweDE2YTAsIDB4MTZmOCwKKwkweDE3MDAsIDB4
MTcwYywKKwkweDE3MGUsIDB4MTcxNCwKKwkweDE3MjAsIDB4MTczNiwKKwkweDE3NDAsIDB4MTc1
MywKKwkweDE3NjAsIDB4MTc2YywKKwkweDE3NmUsIDB4MTc3MCwKKwkweDE3NzIsIDB4MTc3MywK
KwkweDE3ODAsIDB4MTdkZCwKKwkweDE3ZTAsIDB4MTdlOSwKKwkweDE3ZjAsIDB4MTdmOSwKKwkw
eDE4MDAsIDB4MTgwZSwKKwkweDE4MTAsIDB4MTgxOSwKKwkweDE4MjAsIDB4MTg3OCwKKwkweDE4
ODAsIDB4MThhYSwKKwkweDE4YjAsIDB4MThmNSwKKwkweDE5MDAsIDB4MTkxZSwKKwkweDE5MjAs
IDB4MTkyYiwKKwkweDE5MzAsIDB4MTkzYiwKKwkweDE5NDAsIDB4MTk0MCwKKwkweDE5NDQsIDB4
MTk2ZCwKKwkweDE5NzAsIDB4MTk3NCwKKwkweDE5ODAsIDB4MTlhYiwKKwkweDE5YjAsIDB4MTlj
OSwKKwkweDE5ZDAsIDB4MTlkYSwKKwkweDE5ZGUsIDB4MWExYiwKKwkweDFhMWUsIDB4MWE1ZSwK
KwkweDFhNjAsIDB4MWE3YywKKwkweDFhN2YsIDB4MWE4OSwKKwkweDFhOTAsIDB4MWE5OSwKKwkw
eDFhYTAsIDB4MWFhZCwKKwkweDFhYjAsIDB4MWFiZSwKKwkweDFiMDAsIDB4MWI0YiwKKwkweDFi
NTAsIDB4MWI3YywKKwkweDFiODAsIDB4MWJmMywKKwkweDFiZmMsIDB4MWMzNywKKwkweDFjM2Is
IDB4MWM0OSwKKwkweDFjNGQsIDB4MWM4OCwKKwkweDFjOTAsIDB4MWNiYSwKKwkweDFjYmQsIDB4
MWNjNywKKwkweDFjZDAsIDB4MWNmYSwKKwkweDFkMDAsIDB4MWRmOSwKKwkweDFkZmIsIDB4MWYx
NSwKKwkweDFmMTgsIDB4MWYxZCwKKwkweDFmMjAsIDB4MWY0NSwKKwkweDFmNDgsIDB4MWY0ZCwK
KwkweDFmNTAsIDB4MWY1NywKKwkweDFmNTksIDB4MWY1OSwKKwkweDFmNWIsIDB4MWY1YiwKKwkw
eDFmNWQsIDB4MWY1ZCwKKwkweDFmNWYsIDB4MWY3ZCwKKwkweDFmODAsIDB4MWZiNCwKKwkweDFm
YjYsIDB4MWZjNCwKKwkweDFmYzYsIDB4MWZkMywKKwkweDFmZDYsIDB4MWZkYiwKKwkweDFmZGQs
IDB4MWZlZiwKKwkweDFmZjIsIDB4MWZmNCwKKwkweDFmZjYsIDB4MWZmZSwKKwkweDIwMGIsIDB4
MjAyNywKKwkweDIwMmEsIDB4MjAyZSwKKwkweDIwMzAsIDB4MjA1ZSwKKwkweDIwNjAsIDB4MjA2
NCwKKwkweDIwNjYsIDB4MjA3MSwKKwkweDIwNzQsIDB4MjA4ZSwKKwkweDIwOTAsIDB4MjA5YywK
KwkweDIwYTAsIDB4MjBiZiwKKwkweDIwZDAsIDB4MjBmMCwKKwkweDIxMDAsIDB4MjE4YiwKKwkw
eDIxOTAsIDB4MjQyNiwKKwkweDI0NDAsIDB4MjQ0YSwKKwkweDI0NjAsIDB4MmI3MywKKwkweDJi
NzYsIDB4MmI5NSwKKwkweDJiOTgsIDB4MmMyZSwKKwkweDJjMzAsIDB4MmM1ZSwKKwkweDJjNjAs
IDB4MmNmMywKKwkweDJjZjksIDB4MmQyNSwKKwkweDJkMjcsIDB4MmQyNywKKwkweDJkMmQsIDB4
MmQyZCwKKwkweDJkMzAsIDB4MmQ2NywKKwkweDJkNmYsIDB4MmQ3MCwKKwkweDJkN2YsIDB4MmQ5
NiwKKwkweDJkYTAsIDB4MmRhNiwKKwkweDJkYTgsIDB4MmRhZSwKKwkweDJkYjAsIDB4MmRiNiwK
KwkweDJkYjgsIDB4MmRiZSwKKwkweDJkYzAsIDB4MmRjNiwKKwkweDJkYzgsIDB4MmRjZSwKKwkw
eDJkZDAsIDB4MmRkNiwKKwkweDJkZDgsIDB4MmRkZSwKKwkweDJkZTAsIDB4MmU0ZiwKKwkweDJl
ODAsIDB4MmU5OSwKKwkweDJlOWIsIDB4MmVmMywKKwkweDJmMDAsIDB4MmZkNSwKKwkweDJmZjAs
IDB4MmZmYiwKKwkweDMwMDEsIDB4MzAzZiwKKwkweDMwNDEsIDB4MzA5NiwKKwkweDMwOTksIDB4
MzBmZiwKKwkweDMxMDUsIDB4MzEyZiwKKwkweDMxMzEsIDB4MzE4ZSwKKwkweDMxOTAsIDB4MzFi
YSwKKwkweDMxYzAsIDB4MzFlMywKKwkweDMxZjAsIDB4MzIxZSwKKwkweDMyMjAsIDB4NGRiNSwK
KwkweDRkYzAsIDB4OWZlZiwKKwkweGEwMDAsIDB4YTQ4YywKKwkweGE0OTAsIDB4YTRjNiwKKwkw
eGE0ZDAsIDB4YTYyYiwKKwkweGE2NDAsIDB4YTZmNywKKwkweGE3MDAsIDB4YTdiZiwKKwkweGE3
YzIsIDB4YTdjNiwKKwkweGE3ZjcsIDB4YTgyYiwKKwkweGE4MzAsIDB4YTgzOSwKKwkweGE4NDAs
IDB4YTg3NywKKwkweGE4ODAsIDB4YThjNSwKKwkweGE4Y2UsIDB4YThkOSwKKwkweGE4ZTAsIDB4
YTk1MywKKwkweGE5NWYsIDB4YTk3YywKKwkweGE5ODAsIDB4YTljZCwKKwkweGE5Y2YsIDB4YTlk
OSwKKwkweGE5ZGUsIDB4YTlmZSwKKwkweGFhMDAsIDB4YWEzNiwKKwkweGFhNDAsIDB4YWE0ZCwK
KwkweGFhNTAsIDB4YWE1OSwKKwkweGFhNWMsIDB4YWFjMiwKKwkweGFhZGIsIDB4YWFmNiwKKwkw
eGFiMDEsIDB4YWIwNiwKKwkweGFiMDksIDB4YWIwZSwKKwkweGFiMTEsIDB4YWIxNiwKKwkweGFi
MjAsIDB4YWIyNiwKKwkweGFiMjgsIDB4YWIyZSwKKwkweGFiMzAsIDB4YWI2NywKKwkweGFiNzAs
IDB4YWJlZCwKKwkweGFiZjAsIDB4YWJmOSwKKwkweGFjMDAsIDB4ZDdhMywKKwkweGQ3YjAsIDB4
ZDdjNiwKKwkweGQ3Y2IsIDB4ZDdmYiwKKwkweGUwMDAsIDB4ZmE2ZCwKKwkweGZhNzAsIDB4ZmFk
OSwKKwkweGZiMDAsIDB4ZmIwNiwKKwkweGZiMTMsIDB4ZmIxNywKKwkweGZiMWQsIDB4ZmIzNiwK
KwkweGZiMzgsIDB4ZmIzYywKKwkweGZiM2UsIDB4ZmIzZSwKKwkweGZiNDAsIDB4ZmI0MSwKKwkw
eGZiNDMsIDB4ZmI0NCwKKwkweGZiNDYsIDB4ZmJjMSwKKwkweGZiZDMsIDB4ZmQzZiwKKwkweGZk
NTAsIDB4ZmQ4ZiwKKwkweGZkOTIsIDB4ZmRjNywKKwkweGZkZjAsIDB4ZmRmZCwKKwkweGZlMDAs
IDB4ZmUxOSwKKwkweGZlMjAsIDB4ZmU1MiwKKwkweGZlNTQsIDB4ZmU2NiwKKwkweGZlNjgsIDB4
ZmU2YiwKKwkweGZlNzAsIDB4ZmU3NCwKKwkweGZlNzYsIDB4ZmVmYywKKwkweGZlZmYsIDB4ZmVm
ZiwKKwkweGZmMDEsIDB4ZmZiZSwKKwkweGZmYzIsIDB4ZmZjNywKKwkweGZmY2EsIDB4ZmZjZiwK
KwkweGZmZDIsIDB4ZmZkNywKKwkweGZmZGEsIDB4ZmZkYywKKwkweGZmZTAsIDB4ZmZlNiwKKwkw
eGZmZTgsIDB4ZmZlZSwKKwkweGZmZjksIDB4ZmZmZCwKKwkweDEwMDAwLCAweDEwMDBiLAorCTB4
MTAwMGQsIDB4MTAwMjYsCisJMHgxMDAyOCwgMHgxMDAzYSwKKwkweDEwMDNjLCAweDEwMDNkLAor
CTB4MTAwM2YsIDB4MTAwNGQsCisJMHgxMDA1MCwgMHgxMDA1ZCwKKwkweDEwMDgwLCAweDEwMGZh
LAorCTB4MTAxMDAsIDB4MTAxMDIsCisJMHgxMDEwNywgMHgxMDEzMywKKwkweDEwMTM3LCAweDEw
MThlLAorCTB4MTAxOTAsIDB4MTAxOWIsCisJMHgxMDFhMCwgMHgxMDFhMCwKKwkweDEwMWQwLCAw
eDEwMWZkLAorCTB4MTAyODAsIDB4MTAyOWMsCisJMHgxMDJhMCwgMHgxMDJkMCwKKwkweDEwMmUw
LCAweDEwMmZiLAorCTB4MTAzMDAsIDB4MTAzMjMsCisJMHgxMDMyZCwgMHgxMDM0YSwKKwkweDEw
MzUwLCAweDEwMzdhLAorCTB4MTAzODAsIDB4MTAzOWQsCisJMHgxMDM5ZiwgMHgxMDNjMywKKwkw
eDEwM2M4LCAweDEwM2Q1LAorCTB4MTA0MDAsIDB4MTA0OWQsCisJMHgxMDRhMCwgMHgxMDRhOSwK
KwkweDEwNGIwLCAweDEwNGQzLAorCTB4MTA0ZDgsIDB4MTA0ZmIsCisJMHgxMDUwMCwgMHgxMDUy
NywKKwkweDEwNTMwLCAweDEwNTYzLAorCTB4MTA1NmYsIDB4MTA1NmYsCisJMHgxMDYwMCwgMHgx
MDczNiwKKwkweDEwNzQwLCAweDEwNzU1LAorCTB4MTA3NjAsIDB4MTA3NjcsCisJMHgxMDgwMCwg
MHgxMDgwNSwKKwkweDEwODA4LCAweDEwODA4LAorCTB4MTA4MGEsIDB4MTA4MzUsCisJMHgxMDgz
NywgMHgxMDgzOCwKKwkweDEwODNjLCAweDEwODNjLAorCTB4MTA4M2YsIDB4MTA4NTUsCisJMHgx
MDg1NywgMHgxMDg5ZSwKKwkweDEwOGE3LCAweDEwOGFmLAorCTB4MTA4ZTAsIDB4MTA4ZjIsCisJ
MHgxMDhmNCwgMHgxMDhmNSwKKwkweDEwOGZiLCAweDEwOTFiLAorCTB4MTA5MWYsIDB4MTA5Mzks
CisJMHgxMDkzZiwgMHgxMDkzZiwKKwkweDEwOTgwLCAweDEwOWI3LAorCTB4MTA5YmMsIDB4MTA5
Y2YsCisJMHgxMDlkMiwgMHgxMGEwMywKKwkweDEwYTA1LCAweDEwYTA2LAorCTB4MTBhMGMsIDB4
MTBhMTMsCisJMHgxMGExNSwgMHgxMGExNywKKwkweDEwYTE5LCAweDEwYTM1LAorCTB4MTBhMzgs
IDB4MTBhM2EsCisJMHgxMGEzZiwgMHgxMGE0OCwKKwkweDEwYTUwLCAweDEwYTU4LAorCTB4MTBh
NjAsIDB4MTBhOWYsCisJMHgxMGFjMCwgMHgxMGFlNiwKKwkweDEwYWViLCAweDEwYWY2LAorCTB4
MTBiMDAsIDB4MTBiMzUsCisJMHgxMGIzOSwgMHgxMGI1NSwKKwkweDEwYjU4LCAweDEwYjcyLAor
CTB4MTBiNzgsIDB4MTBiOTEsCisJMHgxMGI5OSwgMHgxMGI5YywKKwkweDEwYmE5LCAweDEwYmFm
LAorCTB4MTBjMDAsIDB4MTBjNDgsCisJMHgxMGM4MCwgMHgxMGNiMiwKKwkweDEwY2MwLCAweDEw
Y2YyLAorCTB4MTBjZmEsIDB4MTBkMjcsCisJMHgxMGQzMCwgMHgxMGQzOSwKKwkweDEwZTYwLCAw
eDEwZTdlLAorCTB4MTBmMDAsIDB4MTBmMjcsCisJMHgxMGYzMCwgMHgxMGY1OSwKKwkweDEwZmUw
LCAweDEwZmY2LAorCTB4MTEwMDAsIDB4MTEwNGQsCisJMHgxMTA1MiwgMHgxMTA2ZiwKKwkweDEx
MDdmLCAweDExMGMxLAorCTB4MTEwY2QsIDB4MTEwY2QsCisJMHgxMTBkMCwgMHgxMTBlOCwKKwkw
eDExMGYwLCAweDExMGY5LAorCTB4MTExMDAsIDB4MTExMzQsCisJMHgxMTEzNiwgMHgxMTE0NiwK
KwkweDExMTUwLCAweDExMTc2LAorCTB4MTExODAsIDB4MTExY2QsCisJMHgxMTFkMCwgMHgxMTFk
ZiwKKwkweDExMWUxLCAweDExMWY0LAorCTB4MTEyMDAsIDB4MTEyMTEsCisJMHgxMTIxMywgMHgx
MTIzZSwKKwkweDExMjgwLCAweDExMjg2LAorCTB4MTEyODgsIDB4MTEyODgsCisJMHgxMTI4YSwg
MHgxMTI4ZCwKKwkweDExMjhmLCAweDExMjlkLAorCTB4MTEyOWYsIDB4MTEyYTksCisJMHgxMTJi
MCwgMHgxMTJlYSwKKwkweDExMmYwLCAweDExMmY5LAorCTB4MTEzMDAsIDB4MTEzMDMsCisJMHgx
MTMwNSwgMHgxMTMwYywKKwkweDExMzBmLCAweDExMzEwLAorCTB4MTEzMTMsIDB4MTEzMjgsCisJ
MHgxMTMyYSwgMHgxMTMzMCwKKwkweDExMzMyLCAweDExMzMzLAorCTB4MTEzMzUsIDB4MTEzMzks
CisJMHgxMTMzYiwgMHgxMTM0NCwKKwkweDExMzQ3LCAweDExMzQ4LAorCTB4MTEzNGIsIDB4MTEz
NGQsCisJMHgxMTM1MCwgMHgxMTM1MCwKKwkweDExMzU3LCAweDExMzU3LAorCTB4MTEzNWQsIDB4
MTEzNjMsCisJMHgxMTM2NiwgMHgxMTM2YywKKwkweDExMzcwLCAweDExMzc0LAorCTB4MTE0MDAs
IDB4MTE0NTksCisJMHgxMTQ1YiwgMHgxMTQ1YiwKKwkweDExNDVkLCAweDExNDVmLAorCTB4MTE0
ODAsIDB4MTE0YzcsCisJMHgxMTRkMCwgMHgxMTRkOSwKKwkweDExNTgwLCAweDExNWI1LAorCTB4
MTE1YjgsIDB4MTE1ZGQsCisJMHgxMTYwMCwgMHgxMTY0NCwKKwkweDExNjUwLCAweDExNjU5LAor
CTB4MTE2NjAsIDB4MTE2NmMsCisJMHgxMTY4MCwgMHgxMTZiOCwKKwkweDExNmMwLCAweDExNmM5
LAorCTB4MTE3MDAsIDB4MTE3MWEsCisJMHgxMTcxZCwgMHgxMTcyYiwKKwkweDExNzMwLCAweDEx
NzNmLAorCTB4MTE4MDAsIDB4MTE4M2IsCisJMHgxMThhMCwgMHgxMThmMiwKKwkweDExOGZmLCAw
eDExOGZmLAorCTB4MTE5YTAsIDB4MTE5YTcsCisJMHgxMTlhYSwgMHgxMTlkNywKKwkweDExOWRh
LCAweDExOWU0LAorCTB4MTFhMDAsIDB4MTFhNDcsCisJMHgxMWE1MCwgMHgxMWFhMiwKKwkweDEx
YWMwLCAweDExYWY4LAorCTB4MTFjMDAsIDB4MTFjMDgsCisJMHgxMWMwYSwgMHgxMWMzNiwKKwkw
eDExYzM4LCAweDExYzQ1LAorCTB4MTFjNTAsIDB4MTFjNmMsCisJMHgxMWM3MCwgMHgxMWM4ZiwK
KwkweDExYzkyLCAweDExY2E3LAorCTB4MTFjYTksIDB4MTFjYjYsCisJMHgxMWQwMCwgMHgxMWQw
NiwKKwkweDExZDA4LCAweDExZDA5LAorCTB4MTFkMGIsIDB4MTFkMzYsCisJMHgxMWQzYSwgMHgx
MWQzYSwKKwkweDExZDNjLCAweDExZDNkLAorCTB4MTFkM2YsIDB4MTFkNDcsCisJMHgxMWQ1MCwg
MHgxMWQ1OSwKKwkweDExZDYwLCAweDExZDY1LAorCTB4MTFkNjcsIDB4MTFkNjgsCisJMHgxMWQ2
YSwgMHgxMWQ4ZSwKKwkweDExZDkwLCAweDExZDkxLAorCTB4MTFkOTMsIDB4MTFkOTgsCisJMHgx
MWRhMCwgMHgxMWRhOSwKKwkweDExZWUwLCAweDExZWY4LAorCTB4MTFmYzAsIDB4MTFmZjEsCisJ
MHgxMWZmZiwgMHgxMjM5OSwKKwkweDEyNDAwLCAweDEyNDZlLAorCTB4MTI0NzAsIDB4MTI0NzQs
CisJMHgxMjQ4MCwgMHgxMjU0MywKKwkweDEzMDAwLCAweDEzNDJlLAorCTB4MTM0MzAsIDB4MTM0
MzgsCisJMHgxNDQwMCwgMHgxNDY0NiwKKwkweDE2ODAwLCAweDE2YTM4LAorCTB4MTZhNDAsIDB4
MTZhNWUsCisJMHgxNmE2MCwgMHgxNmE2OSwKKwkweDE2YTZlLCAweDE2YTZmLAorCTB4MTZhZDAs
IDB4MTZhZWQsCisJMHgxNmFmMCwgMHgxNmFmNSwKKwkweDE2YjAwLCAweDE2YjQ1LAorCTB4MTZi
NTAsIDB4MTZiNTksCisJMHgxNmI1YiwgMHgxNmI2MSwKKwkweDE2YjYzLCAweDE2Yjc3LAorCTB4
MTZiN2QsIDB4MTZiOGYsCisJMHgxNmU0MCwgMHgxNmU5YSwKKwkweDE2ZjAwLCAweDE2ZjRhLAor
CTB4MTZmNGYsIDB4MTZmODcsCisJMHgxNmY4ZiwgMHgxNmY5ZiwKKwkweDE2ZmUwLCAweDE2ZmUz
LAorCTB4MTcwMDAsIDB4MTg3ZjcsCisJMHgxODgwMCwgMHgxOGFmMiwKKwkweDFiMDAwLCAweDFi
MTFlLAorCTB4MWIxNTAsIDB4MWIxNTIsCisJMHgxYjE2NCwgMHgxYjE2NywKKwkweDFiMTcwLCAw
eDFiMmZiLAorCTB4MWJjMDAsIDB4MWJjNmEsCisJMHgxYmM3MCwgMHgxYmM3YywKKwkweDFiYzgw
LCAweDFiYzg4LAorCTB4MWJjOTAsIDB4MWJjOTksCisJMHgxYmM5YywgMHgxYmNhMywKKwkweDFk
MDAwLCAweDFkMGY1LAorCTB4MWQxMDAsIDB4MWQxMjYsCisJMHgxZDEyOSwgMHgxZDFlOCwKKwkw
eDFkMjAwLCAweDFkMjQ1LAorCTB4MWQyZTAsIDB4MWQyZjMsCisJMHgxZDMwMCwgMHgxZDM1NiwK
KwkweDFkMzYwLCAweDFkMzc4LAorCTB4MWQ0MDAsIDB4MWQ0NTQsCisJMHgxZDQ1NiwgMHgxZDQ5
YywKKwkweDFkNDllLCAweDFkNDlmLAorCTB4MWQ0YTIsIDB4MWQ0YTIsCisJMHgxZDRhNSwgMHgx
ZDRhNiwKKwkweDFkNGE5LCAweDFkNGFjLAorCTB4MWQ0YWUsIDB4MWQ0YjksCisJMHgxZDRiYiwg
MHgxZDRiYiwKKwkweDFkNGJkLCAweDFkNGMzLAorCTB4MWQ0YzUsIDB4MWQ1MDUsCisJMHgxZDUw
NywgMHgxZDUwYSwKKwkweDFkNTBkLCAweDFkNTE0LAorCTB4MWQ1MTYsIDB4MWQ1MWMsCisJMHgx
ZDUxZSwgMHgxZDUzOSwKKwkweDFkNTNiLCAweDFkNTNlLAorCTB4MWQ1NDAsIDB4MWQ1NDQsCisJ
MHgxZDU0NiwgMHgxZDU0NiwKKwkweDFkNTRhLCAweDFkNTUwLAorCTB4MWQ1NTIsIDB4MWQ2YTUs
CisJMHgxZDZhOCwgMHgxZDdjYiwKKwkweDFkN2NlLCAweDFkYThiLAorCTB4MWRhOWIsIDB4MWRh
OWYsCisJMHgxZGFhMSwgMHgxZGFhZiwKKwkweDFlMDAwLCAweDFlMDA2LAorCTB4MWUwMDgsIDB4
MWUwMTgsCisJMHgxZTAxYiwgMHgxZTAyMSwKKwkweDFlMDIzLCAweDFlMDI0LAorCTB4MWUwMjYs
IDB4MWUwMmEsCisJMHgxZTEwMCwgMHgxZTEyYywKKwkweDFlMTMwLCAweDFlMTNkLAorCTB4MWUx
NDAsIDB4MWUxNDksCisJMHgxZTE0ZSwgMHgxZTE0ZiwKKwkweDFlMmMwLCAweDFlMmY5LAorCTB4
MWUyZmYsIDB4MWUyZmYsCisJMHgxZTgwMCwgMHgxZThjNCwKKwkweDFlOGM3LCAweDFlOGQ2LAor
CTB4MWU5MDAsIDB4MWU5NGIsCisJMHgxZTk1MCwgMHgxZTk1OSwKKwkweDFlOTVlLCAweDFlOTVm
LAorCTB4MWVjNzEsIDB4MWVjYjQsCisJMHgxZWQwMSwgMHgxZWQzZCwKKwkweDFlZTAwLCAweDFl
ZTAzLAorCTB4MWVlMDUsIDB4MWVlMWYsCisJMHgxZWUyMSwgMHgxZWUyMiwKKwkweDFlZTI0LCAw
eDFlZTI0LAorCTB4MWVlMjcsIDB4MWVlMjcsCisJMHgxZWUyOSwgMHgxZWUzMiwKKwkweDFlZTM0
LCAweDFlZTM3LAorCTB4MWVlMzksIDB4MWVlMzksCisJMHgxZWUzYiwgMHgxZWUzYiwKKwkweDFl
ZTQyLCAweDFlZTQyLAorCTB4MWVlNDcsIDB4MWVlNDcsCisJMHgxZWU0OSwgMHgxZWU0OSwKKwkw
eDFlZTRiLCAweDFlZTRiLAorCTB4MWVlNGQsIDB4MWVlNGYsCisJMHgxZWU1MSwgMHgxZWU1MiwK
KwkweDFlZTU0LCAweDFlZTU0LAorCTB4MWVlNTcsIDB4MWVlNTcsCisJMHgxZWU1OSwgMHgxZWU1
OSwKKwkweDFlZTViLCAweDFlZTViLAorCTB4MWVlNWQsIDB4MWVlNWQsCisJMHgxZWU1ZiwgMHgx
ZWU1ZiwKKwkweDFlZTYxLCAweDFlZTYyLAorCTB4MWVlNjQsIDB4MWVlNjQsCisJMHgxZWU2Nywg
MHgxZWU2YSwKKwkweDFlZTZjLCAweDFlZTcyLAorCTB4MWVlNzQsIDB4MWVlNzcsCisJMHgxZWU3
OSwgMHgxZWU3YywKKwkweDFlZTdlLCAweDFlZTdlLAorCTB4MWVlODAsIDB4MWVlODksCisJMHgx
ZWU4YiwgMHgxZWU5YiwKKwkweDFlZWExLCAweDFlZWEzLAorCTB4MWVlYTUsIDB4MWVlYTksCisJ
MHgxZWVhYiwgMHgxZWViYiwKKwkweDFlZWYwLCAweDFlZWYxLAorCTB4MWYwMDAsIDB4MWYwMmIs
CisJMHgxZjAzMCwgMHgxZjA5MywKKwkweDFmMGEwLCAweDFmMGFlLAorCTB4MWYwYjEsIDB4MWYw
YmYsCisJMHgxZjBjMSwgMHgxZjBjZiwKKwkweDFmMGQxLCAweDFmMGY1LAorCTB4MWYxMDAsIDB4
MWYxMGMsCisJMHgxZjExMCwgMHgxZjE2YywKKwkweDFmMTcwLCAweDFmMWFjLAorCTB4MWYxZTYs
IDB4MWYyMDIsCisJMHgxZjIxMCwgMHgxZjIzYiwKKwkweDFmMjQwLCAweDFmMjQ4LAorCTB4MWYy
NTAsIDB4MWYyNTEsCisJMHgxZjI2MCwgMHgxZjI2NSwKKwkweDFmMzAwLCAweDFmNmQ1LAorCTB4
MWY2ZTAsIDB4MWY2ZWMsCisJMHgxZjZmMCwgMHgxZjZmYSwKKwkweDFmNzAwLCAweDFmNzczLAor
CTB4MWY3ODAsIDB4MWY3ZDgsCisJMHgxZjdlMCwgMHgxZjdlYiwKKwkweDFmODAwLCAweDFmODBi
LAorCTB4MWY4MTAsIDB4MWY4NDcsCisJMHgxZjg1MCwgMHgxZjg1OSwKKwkweDFmODYwLCAweDFm
ODg3LAorCTB4MWY4OTAsIDB4MWY4YWQsCisJMHgxZjkwMCwgMHgxZjkwYiwKKwkweDFmOTBkLCAw
eDFmOTcxLAorCTB4MWY5NzMsIDB4MWY5NzYsCisJMHgxZjk3YSwgMHgxZjlhMiwKKwkweDFmOWE1
LCAweDFmOWFhLAorCTB4MWY5YWUsIDB4MWY5Y2EsCisJMHgxZjljZCwgMHgxZmE1MywKKwkweDFm
YTYwLCAweDFmYTZkLAorCTB4MWZhNzAsIDB4MWZhNzMsCisJMHgxZmE3OCwgMHgxZmE3YSwKKwkw
eDFmYTgwLCAweDFmYTgyLAorCTB4MWZhOTAsIDB4MWZhOTUsCisJMHgyMDAwMCwgMHgyYTZkNiwK
KwkweDJhNzAwLCAweDJiNzM0LAorCTB4MmI3NDAsIDB4MmI4MWQsCisJMHgyYjgyMCwgMHgyY2Vh
MSwKKwkweDJjZWIwLCAweDJlYmUwLAorCTB4MmY4MDAsIDB4MmZhMWQsCisJMHhlMDAwMSwgMHhl
MDAwMSwKKwkweGUwMDIwLCAweGUwMDdmLAorCTB4ZTAxMDAsIDB4ZTAxZWYsCisJMHhmMDAwMCwg
MHhmZmZmZCwKKwkweDEwMDAwMCwgMHgxMGZmZmQsCit9OyAvKiBDUl9HcmFwaCAqLworCisvKiAn
TG93ZXInOiBbWzpMb3dlcjpdXSAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfTG93
ZXJbXSA9IHsKKwk2NDksCisJMHgwMDYxLCAweDAwN2EsCisJMHgwMGFhLCAweDAwYWEsCisJMHgw
MGI1LCAweDAwYjUsCisJMHgwMGJhLCAweDAwYmEsCisJMHgwMGRmLCAweDAwZjYsCisJMHgwMGY4
LCAweDAwZmYsCisJMHgwMTAxLCAweDAxMDEsCisJMHgwMTAzLCAweDAxMDMsCisJMHgwMTA1LCAw
eDAxMDUsCisJMHgwMTA3LCAweDAxMDcsCisJMHgwMTA5LCAweDAxMDksCisJMHgwMTBiLCAweDAx
MGIsCisJMHgwMTBkLCAweDAxMGQsCisJMHgwMTBmLCAweDAxMGYsCisJMHgwMTExLCAweDAxMTEs
CisJMHgwMTEzLCAweDAxMTMsCisJMHgwMTE1LCAweDAxMTUsCisJMHgwMTE3LCAweDAxMTcsCisJ
MHgwMTE5LCAweDAxMTksCisJMHgwMTFiLCAweDAxMWIsCisJMHgwMTFkLCAweDAxMWQsCisJMHgw
MTFmLCAweDAxMWYsCisJMHgwMTIxLCAweDAxMjEsCisJMHgwMTIzLCAweDAxMjMsCisJMHgwMTI1
LCAweDAxMjUsCisJMHgwMTI3LCAweDAxMjcsCisJMHgwMTI5LCAweDAxMjksCisJMHgwMTJiLCAw
eDAxMmIsCisJMHgwMTJkLCAweDAxMmQsCisJMHgwMTJmLCAweDAxMmYsCisJMHgwMTMxLCAweDAx
MzEsCisJMHgwMTMzLCAweDAxMzMsCisJMHgwMTM1LCAweDAxMzUsCisJMHgwMTM3LCAweDAxMzgs
CisJMHgwMTNhLCAweDAxM2EsCisJMHgwMTNjLCAweDAxM2MsCisJMHgwMTNlLCAweDAxM2UsCisJ
MHgwMTQwLCAweDAxNDAsCisJMHgwMTQyLCAweDAxNDIsCisJMHgwMTQ0LCAweDAxNDQsCisJMHgw
MTQ2LCAweDAxNDYsCisJMHgwMTQ4LCAweDAxNDksCisJMHgwMTRiLCAweDAxNGIsCisJMHgwMTRk
LCAweDAxNGQsCisJMHgwMTRmLCAweDAxNGYsCisJMHgwMTUxLCAweDAxNTEsCisJMHgwMTUzLCAw
eDAxNTMsCisJMHgwMTU1LCAweDAxNTUsCisJMHgwMTU3LCAweDAxNTcsCisJMHgwMTU5LCAweDAx
NTksCisJMHgwMTViLCAweDAxNWIsCisJMHgwMTVkLCAweDAxNWQsCisJMHgwMTVmLCAweDAxNWYs
CisJMHgwMTYxLCAweDAxNjEsCisJMHgwMTYzLCAweDAxNjMsCisJMHgwMTY1LCAweDAxNjUsCisJ
MHgwMTY3LCAweDAxNjcsCisJMHgwMTY5LCAweDAxNjksCisJMHgwMTZiLCAweDAxNmIsCisJMHgw
MTZkLCAweDAxNmQsCisJMHgwMTZmLCAweDAxNmYsCisJMHgwMTcxLCAweDAxNzEsCisJMHgwMTcz
LCAweDAxNzMsCisJMHgwMTc1LCAweDAxNzUsCisJMHgwMTc3LCAweDAxNzcsCisJMHgwMTdhLCAw
eDAxN2EsCisJMHgwMTdjLCAweDAxN2MsCisJMHgwMTdlLCAweDAxODAsCisJMHgwMTgzLCAweDAx
ODMsCisJMHgwMTg1LCAweDAxODUsCisJMHgwMTg4LCAweDAxODgsCisJMHgwMThjLCAweDAxOGQs
CisJMHgwMTkyLCAweDAxOTIsCisJMHgwMTk1LCAweDAxOTUsCisJMHgwMTk5LCAweDAxOWIsCisJ
MHgwMTllLCAweDAxOWUsCisJMHgwMWExLCAweDAxYTEsCisJMHgwMWEzLCAweDAxYTMsCisJMHgw
MWE1LCAweDAxYTUsCisJMHgwMWE4LCAweDAxYTgsCisJMHgwMWFhLCAweDAxYWIsCisJMHgwMWFk
LCAweDAxYWQsCisJMHgwMWIwLCAweDAxYjAsCisJMHgwMWI0LCAweDAxYjQsCisJMHgwMWI2LCAw
eDAxYjYsCisJMHgwMWI5LCAweDAxYmEsCisJMHgwMWJkLCAweDAxYmYsCisJMHgwMWM2LCAweDAx
YzYsCisJMHgwMWM5LCAweDAxYzksCisJMHgwMWNjLCAweDAxY2MsCisJMHgwMWNlLCAweDAxY2Us
CisJMHgwMWQwLCAweDAxZDAsCisJMHgwMWQyLCAweDAxZDIsCisJMHgwMWQ0LCAweDAxZDQsCisJ
MHgwMWQ2LCAweDAxZDYsCisJMHgwMWQ4LCAweDAxZDgsCisJMHgwMWRhLCAweDAxZGEsCisJMHgw
MWRjLCAweDAxZGQsCisJMHgwMWRmLCAweDAxZGYsCisJMHgwMWUxLCAweDAxZTEsCisJMHgwMWUz
LCAweDAxZTMsCisJMHgwMWU1LCAweDAxZTUsCisJMHgwMWU3LCAweDAxZTcsCisJMHgwMWU5LCAw
eDAxZTksCisJMHgwMWViLCAweDAxZWIsCisJMHgwMWVkLCAweDAxZWQsCisJMHgwMWVmLCAweDAx
ZjAsCisJMHgwMWYzLCAweDAxZjMsCisJMHgwMWY1LCAweDAxZjUsCisJMHgwMWY5LCAweDAxZjks
CisJMHgwMWZiLCAweDAxZmIsCisJMHgwMWZkLCAweDAxZmQsCisJMHgwMWZmLCAweDAxZmYsCisJ
MHgwMjAxLCAweDAyMDEsCisJMHgwMjAzLCAweDAyMDMsCisJMHgwMjA1LCAweDAyMDUsCisJMHgw
MjA3LCAweDAyMDcsCisJMHgwMjA5LCAweDAyMDksCisJMHgwMjBiLCAweDAyMGIsCisJMHgwMjBk
LCAweDAyMGQsCisJMHgwMjBmLCAweDAyMGYsCisJMHgwMjExLCAweDAyMTEsCisJMHgwMjEzLCAw
eDAyMTMsCisJMHgwMjE1LCAweDAyMTUsCisJMHgwMjE3LCAweDAyMTcsCisJMHgwMjE5LCAweDAy
MTksCisJMHgwMjFiLCAweDAyMWIsCisJMHgwMjFkLCAweDAyMWQsCisJMHgwMjFmLCAweDAyMWYs
CisJMHgwMjIxLCAweDAyMjEsCisJMHgwMjIzLCAweDAyMjMsCisJMHgwMjI1LCAweDAyMjUsCisJ
MHgwMjI3LCAweDAyMjcsCisJMHgwMjI5LCAweDAyMjksCisJMHgwMjJiLCAweDAyMmIsCisJMHgw
MjJkLCAweDAyMmQsCisJMHgwMjJmLCAweDAyMmYsCisJMHgwMjMxLCAweDAyMzEsCisJMHgwMjMz
LCAweDAyMzksCisJMHgwMjNjLCAweDAyM2MsCisJMHgwMjNmLCAweDAyNDAsCisJMHgwMjQyLCAw
eDAyNDIsCisJMHgwMjQ3LCAweDAyNDcsCisJMHgwMjQ5LCAweDAyNDksCisJMHgwMjRiLCAweDAy
NGIsCisJMHgwMjRkLCAweDAyNGQsCisJMHgwMjRmLCAweDAyOTMsCisJMHgwMjk1LCAweDAyYjgs
CisJMHgwMmMwLCAweDAyYzEsCisJMHgwMmUwLCAweDAyZTQsCisJMHgwMzQ1LCAweDAzNDUsCisJ
MHgwMzcxLCAweDAzNzEsCisJMHgwMzczLCAweDAzNzMsCisJMHgwMzc3LCAweDAzNzcsCisJMHgw
MzdhLCAweDAzN2QsCisJMHgwMzkwLCAweDAzOTAsCisJMHgwM2FjLCAweDAzY2UsCisJMHgwM2Qw
LCAweDAzZDEsCisJMHgwM2Q1LCAweDAzZDcsCisJMHgwM2Q5LCAweDAzZDksCisJMHgwM2RiLCAw
eDAzZGIsCisJMHgwM2RkLCAweDAzZGQsCisJMHgwM2RmLCAweDAzZGYsCisJMHgwM2UxLCAweDAz
ZTEsCisJMHgwM2UzLCAweDAzZTMsCisJMHgwM2U1LCAweDAzZTUsCisJMHgwM2U3LCAweDAzZTcs
CisJMHgwM2U5LCAweDAzZTksCisJMHgwM2ViLCAweDAzZWIsCisJMHgwM2VkLCAweDAzZWQsCisJ
MHgwM2VmLCAweDAzZjMsCisJMHgwM2Y1LCAweDAzZjUsCisJMHgwM2Y4LCAweDAzZjgsCisJMHgw
M2ZiLCAweDAzZmMsCisJMHgwNDMwLCAweDA0NWYsCisJMHgwNDYxLCAweDA0NjEsCisJMHgwNDYz
LCAweDA0NjMsCisJMHgwNDY1LCAweDA0NjUsCisJMHgwNDY3LCAweDA0NjcsCisJMHgwNDY5LCAw
eDA0NjksCisJMHgwNDZiLCAweDA0NmIsCisJMHgwNDZkLCAweDA0NmQsCisJMHgwNDZmLCAweDA0
NmYsCisJMHgwNDcxLCAweDA0NzEsCisJMHgwNDczLCAweDA0NzMsCisJMHgwNDc1LCAweDA0NzUs
CisJMHgwNDc3LCAweDA0NzcsCisJMHgwNDc5LCAweDA0NzksCisJMHgwNDdiLCAweDA0N2IsCisJ
MHgwNDdkLCAweDA0N2QsCisJMHgwNDdmLCAweDA0N2YsCisJMHgwNDgxLCAweDA0ODEsCisJMHgw
NDhiLCAweDA0OGIsCisJMHgwNDhkLCAweDA0OGQsCisJMHgwNDhmLCAweDA0OGYsCisJMHgwNDkx
LCAweDA0OTEsCisJMHgwNDkzLCAweDA0OTMsCisJMHgwNDk1LCAweDA0OTUsCisJMHgwNDk3LCAw
eDA0OTcsCisJMHgwNDk5LCAweDA0OTksCisJMHgwNDliLCAweDA0OWIsCisJMHgwNDlkLCAweDA0
OWQsCisJMHgwNDlmLCAweDA0OWYsCisJMHgwNGExLCAweDA0YTEsCisJMHgwNGEzLCAweDA0YTMs
CisJMHgwNGE1LCAweDA0YTUsCisJMHgwNGE3LCAweDA0YTcsCisJMHgwNGE5LCAweDA0YTksCisJ
MHgwNGFiLCAweDA0YWIsCisJMHgwNGFkLCAweDA0YWQsCisJMHgwNGFmLCAweDA0YWYsCisJMHgw
NGIxLCAweDA0YjEsCisJMHgwNGIzLCAweDA0YjMsCisJMHgwNGI1LCAweDA0YjUsCisJMHgwNGI3
LCAweDA0YjcsCisJMHgwNGI5LCAweDA0YjksCisJMHgwNGJiLCAweDA0YmIsCisJMHgwNGJkLCAw
eDA0YmQsCisJMHgwNGJmLCAweDA0YmYsCisJMHgwNGMyLCAweDA0YzIsCisJMHgwNGM0LCAweDA0
YzQsCisJMHgwNGM2LCAweDA0YzYsCisJMHgwNGM4LCAweDA0YzgsCisJMHgwNGNhLCAweDA0Y2Es
CisJMHgwNGNjLCAweDA0Y2MsCisJMHgwNGNlLCAweDA0Y2YsCisJMHgwNGQxLCAweDA0ZDEsCisJ
MHgwNGQzLCAweDA0ZDMsCisJMHgwNGQ1LCAweDA0ZDUsCisJMHgwNGQ3LCAweDA0ZDcsCisJMHgw
NGQ5LCAweDA0ZDksCisJMHgwNGRiLCAweDA0ZGIsCisJMHgwNGRkLCAweDA0ZGQsCisJMHgwNGRm
LCAweDA0ZGYsCisJMHgwNGUxLCAweDA0ZTEsCisJMHgwNGUzLCAweDA0ZTMsCisJMHgwNGU1LCAw
eDA0ZTUsCisJMHgwNGU3LCAweDA0ZTcsCisJMHgwNGU5LCAweDA0ZTksCisJMHgwNGViLCAweDA0
ZWIsCisJMHgwNGVkLCAweDA0ZWQsCisJMHgwNGVmLCAweDA0ZWYsCisJMHgwNGYxLCAweDA0ZjEs
CisJMHgwNGYzLCAweDA0ZjMsCisJMHgwNGY1LCAweDA0ZjUsCisJMHgwNGY3LCAweDA0ZjcsCisJ
MHgwNGY5LCAweDA0ZjksCisJMHgwNGZiLCAweDA0ZmIsCisJMHgwNGZkLCAweDA0ZmQsCisJMHgw
NGZmLCAweDA0ZmYsCisJMHgwNTAxLCAweDA1MDEsCisJMHgwNTAzLCAweDA1MDMsCisJMHgwNTA1
LCAweDA1MDUsCisJMHgwNTA3LCAweDA1MDcsCisJMHgwNTA5LCAweDA1MDksCisJMHgwNTBiLCAw
eDA1MGIsCisJMHgwNTBkLCAweDA1MGQsCisJMHgwNTBmLCAweDA1MGYsCisJMHgwNTExLCAweDA1
MTEsCisJMHgwNTEzLCAweDA1MTMsCisJMHgwNTE1LCAweDA1MTUsCisJMHgwNTE3LCAweDA1MTcs
CisJMHgwNTE5LCAweDA1MTksCisJMHgwNTFiLCAweDA1MWIsCisJMHgwNTFkLCAweDA1MWQsCisJ
MHgwNTFmLCAweDA1MWYsCisJMHgwNTIxLCAweDA1MjEsCisJMHgwNTIzLCAweDA1MjMsCisJMHgw
NTI1LCAweDA1MjUsCisJMHgwNTI3LCAweDA1MjcsCisJMHgwNTI5LCAweDA1MjksCisJMHgwNTJi
LCAweDA1MmIsCisJMHgwNTJkLCAweDA1MmQsCisJMHgwNTJmLCAweDA1MmYsCisJMHgwNTYwLCAw
eDA1ODgsCisJMHgxMGQwLCAweDEwZmEsCisJMHgxMGZkLCAweDEwZmYsCisJMHgxM2Y4LCAweDEz
ZmQsCisJMHgxYzgwLCAweDFjODgsCisJMHgxZDAwLCAweDFkYmYsCisJMHgxZTAxLCAweDFlMDEs
CisJMHgxZTAzLCAweDFlMDMsCisJMHgxZTA1LCAweDFlMDUsCisJMHgxZTA3LCAweDFlMDcsCisJ
MHgxZTA5LCAweDFlMDksCisJMHgxZTBiLCAweDFlMGIsCisJMHgxZTBkLCAweDFlMGQsCisJMHgx
ZTBmLCAweDFlMGYsCisJMHgxZTExLCAweDFlMTEsCisJMHgxZTEzLCAweDFlMTMsCisJMHgxZTE1
LCAweDFlMTUsCisJMHgxZTE3LCAweDFlMTcsCisJMHgxZTE5LCAweDFlMTksCisJMHgxZTFiLCAw
eDFlMWIsCisJMHgxZTFkLCAweDFlMWQsCisJMHgxZTFmLCAweDFlMWYsCisJMHgxZTIxLCAweDFl
MjEsCisJMHgxZTIzLCAweDFlMjMsCisJMHgxZTI1LCAweDFlMjUsCisJMHgxZTI3LCAweDFlMjcs
CisJMHgxZTI5LCAweDFlMjksCisJMHgxZTJiLCAweDFlMmIsCisJMHgxZTJkLCAweDFlMmQsCisJ
MHgxZTJmLCAweDFlMmYsCisJMHgxZTMxLCAweDFlMzEsCisJMHgxZTMzLCAweDFlMzMsCisJMHgx
ZTM1LCAweDFlMzUsCisJMHgxZTM3LCAweDFlMzcsCisJMHgxZTM5LCAweDFlMzksCisJMHgxZTNi
LCAweDFlM2IsCisJMHgxZTNkLCAweDFlM2QsCisJMHgxZTNmLCAweDFlM2YsCisJMHgxZTQxLCAw
eDFlNDEsCisJMHgxZTQzLCAweDFlNDMsCisJMHgxZTQ1LCAweDFlNDUsCisJMHgxZTQ3LCAweDFl
NDcsCisJMHgxZTQ5LCAweDFlNDksCisJMHgxZTRiLCAweDFlNGIsCisJMHgxZTRkLCAweDFlNGQs
CisJMHgxZTRmLCAweDFlNGYsCisJMHgxZTUxLCAweDFlNTEsCisJMHgxZTUzLCAweDFlNTMsCisJ
MHgxZTU1LCAweDFlNTUsCisJMHgxZTU3LCAweDFlNTcsCisJMHgxZTU5LCAweDFlNTksCisJMHgx
ZTViLCAweDFlNWIsCisJMHgxZTVkLCAweDFlNWQsCisJMHgxZTVmLCAweDFlNWYsCisJMHgxZTYx
LCAweDFlNjEsCisJMHgxZTYzLCAweDFlNjMsCisJMHgxZTY1LCAweDFlNjUsCisJMHgxZTY3LCAw
eDFlNjcsCisJMHgxZTY5LCAweDFlNjksCisJMHgxZTZiLCAweDFlNmIsCisJMHgxZTZkLCAweDFl
NmQsCisJMHgxZTZmLCAweDFlNmYsCisJMHgxZTcxLCAweDFlNzEsCisJMHgxZTczLCAweDFlNzMs
CisJMHgxZTc1LCAweDFlNzUsCisJMHgxZTc3LCAweDFlNzcsCisJMHgxZTc5LCAweDFlNzksCisJ
MHgxZTdiLCAweDFlN2IsCisJMHgxZTdkLCAweDFlN2QsCisJMHgxZTdmLCAweDFlN2YsCisJMHgx
ZTgxLCAweDFlODEsCisJMHgxZTgzLCAweDFlODMsCisJMHgxZTg1LCAweDFlODUsCisJMHgxZTg3
LCAweDFlODcsCisJMHgxZTg5LCAweDFlODksCisJMHgxZThiLCAweDFlOGIsCisJMHgxZThkLCAw
eDFlOGQsCisJMHgxZThmLCAweDFlOGYsCisJMHgxZTkxLCAweDFlOTEsCisJMHgxZTkzLCAweDFl
OTMsCisJMHgxZTk1LCAweDFlOWQsCisJMHgxZTlmLCAweDFlOWYsCisJMHgxZWExLCAweDFlYTEs
CisJMHgxZWEzLCAweDFlYTMsCisJMHgxZWE1LCAweDFlYTUsCisJMHgxZWE3LCAweDFlYTcsCisJ
MHgxZWE5LCAweDFlYTksCisJMHgxZWFiLCAweDFlYWIsCisJMHgxZWFkLCAweDFlYWQsCisJMHgx
ZWFmLCAweDFlYWYsCisJMHgxZWIxLCAweDFlYjEsCisJMHgxZWIzLCAweDFlYjMsCisJMHgxZWI1
LCAweDFlYjUsCisJMHgxZWI3LCAweDFlYjcsCisJMHgxZWI5LCAweDFlYjksCisJMHgxZWJiLCAw
eDFlYmIsCisJMHgxZWJkLCAweDFlYmQsCisJMHgxZWJmLCAweDFlYmYsCisJMHgxZWMxLCAweDFl
YzEsCisJMHgxZWMzLCAweDFlYzMsCisJMHgxZWM1LCAweDFlYzUsCisJMHgxZWM3LCAweDFlYzcs
CisJMHgxZWM5LCAweDFlYzksCisJMHgxZWNiLCAweDFlY2IsCisJMHgxZWNkLCAweDFlY2QsCisJ
MHgxZWNmLCAweDFlY2YsCisJMHgxZWQxLCAweDFlZDEsCisJMHgxZWQzLCAweDFlZDMsCisJMHgx
ZWQ1LCAweDFlZDUsCisJMHgxZWQ3LCAweDFlZDcsCisJMHgxZWQ5LCAweDFlZDksCisJMHgxZWRi
LCAweDFlZGIsCisJMHgxZWRkLCAweDFlZGQsCisJMHgxZWRmLCAweDFlZGYsCisJMHgxZWUxLCAw
eDFlZTEsCisJMHgxZWUzLCAweDFlZTMsCisJMHgxZWU1LCAweDFlZTUsCisJMHgxZWU3LCAweDFl
ZTcsCisJMHgxZWU5LCAweDFlZTksCisJMHgxZWViLCAweDFlZWIsCisJMHgxZWVkLCAweDFlZWQs
CisJMHgxZWVmLCAweDFlZWYsCisJMHgxZWYxLCAweDFlZjEsCisJMHgxZWYzLCAweDFlZjMsCisJ
MHgxZWY1LCAweDFlZjUsCisJMHgxZWY3LCAweDFlZjcsCisJMHgxZWY5LCAweDFlZjksCisJMHgx
ZWZiLCAweDFlZmIsCisJMHgxZWZkLCAweDFlZmQsCisJMHgxZWZmLCAweDFmMDcsCisJMHgxZjEw
LCAweDFmMTUsCisJMHgxZjIwLCAweDFmMjcsCisJMHgxZjMwLCAweDFmMzcsCisJMHgxZjQwLCAw
eDFmNDUsCisJMHgxZjUwLCAweDFmNTcsCisJMHgxZjYwLCAweDFmNjcsCisJMHgxZjcwLCAweDFm
N2QsCisJMHgxZjgwLCAweDFmODcsCisJMHgxZjkwLCAweDFmOTcsCisJMHgxZmEwLCAweDFmYTcs
CisJMHgxZmIwLCAweDFmYjQsCisJMHgxZmI2LCAweDFmYjcsCisJMHgxZmJlLCAweDFmYmUsCisJ
MHgxZmMyLCAweDFmYzQsCisJMHgxZmM2LCAweDFmYzcsCisJMHgxZmQwLCAweDFmZDMsCisJMHgx
ZmQ2LCAweDFmZDcsCisJMHgxZmUwLCAweDFmZTcsCisJMHgxZmYyLCAweDFmZjQsCisJMHgxZmY2
LCAweDFmZjcsCisJMHgyMDcxLCAweDIwNzEsCisJMHgyMDdmLCAweDIwN2YsCisJMHgyMDkwLCAw
eDIwOWMsCisJMHgyMTBhLCAweDIxMGEsCisJMHgyMTBlLCAweDIxMGYsCisJMHgyMTEzLCAweDIx
MTMsCisJMHgyMTJmLCAweDIxMmYsCisJMHgyMTM0LCAweDIxMzQsCisJMHgyMTM5LCAweDIxMzks
CisJMHgyMTNjLCAweDIxM2QsCisJMHgyMTQ2LCAweDIxNDksCisJMHgyMTRlLCAweDIxNGUsCisJ
MHgyMTcwLCAweDIxN2YsCisJMHgyMTg0LCAweDIxODQsCisJMHgyNGQwLCAweDI0ZTksCisJMHgy
YzMwLCAweDJjNWUsCisJMHgyYzYxLCAweDJjNjEsCisJMHgyYzY1LCAweDJjNjYsCisJMHgyYzY4
LCAweDJjNjgsCisJMHgyYzZhLCAweDJjNmEsCisJMHgyYzZjLCAweDJjNmMsCisJMHgyYzcxLCAw
eDJjNzEsCisJMHgyYzczLCAweDJjNzQsCisJMHgyYzc2LCAweDJjN2QsCisJMHgyYzgxLCAweDJj
ODEsCisJMHgyYzgzLCAweDJjODMsCisJMHgyYzg1LCAweDJjODUsCisJMHgyYzg3LCAweDJjODcs
CisJMHgyYzg5LCAweDJjODksCisJMHgyYzhiLCAweDJjOGIsCisJMHgyYzhkLCAweDJjOGQsCisJ
MHgyYzhmLCAweDJjOGYsCisJMHgyYzkxLCAweDJjOTEsCisJMHgyYzkzLCAweDJjOTMsCisJMHgy
Yzk1LCAweDJjOTUsCisJMHgyYzk3LCAweDJjOTcsCisJMHgyYzk5LCAweDJjOTksCisJMHgyYzli
LCAweDJjOWIsCisJMHgyYzlkLCAweDJjOWQsCisJMHgyYzlmLCAweDJjOWYsCisJMHgyY2ExLCAw
eDJjYTEsCisJMHgyY2EzLCAweDJjYTMsCisJMHgyY2E1LCAweDJjYTUsCisJMHgyY2E3LCAweDJj
YTcsCisJMHgyY2E5LCAweDJjYTksCisJMHgyY2FiLCAweDJjYWIsCisJMHgyY2FkLCAweDJjYWQs
CisJMHgyY2FmLCAweDJjYWYsCisJMHgyY2IxLCAweDJjYjEsCisJMHgyY2IzLCAweDJjYjMsCisJ
MHgyY2I1LCAweDJjYjUsCisJMHgyY2I3LCAweDJjYjcsCisJMHgyY2I5LCAweDJjYjksCisJMHgy
Y2JiLCAweDJjYmIsCisJMHgyY2JkLCAweDJjYmQsCisJMHgyY2JmLCAweDJjYmYsCisJMHgyY2Mx
LCAweDJjYzEsCisJMHgyY2MzLCAweDJjYzMsCisJMHgyY2M1LCAweDJjYzUsCisJMHgyY2M3LCAw
eDJjYzcsCisJMHgyY2M5LCAweDJjYzksCisJMHgyY2NiLCAweDJjY2IsCisJMHgyY2NkLCAweDJj
Y2QsCisJMHgyY2NmLCAweDJjY2YsCisJMHgyY2QxLCAweDJjZDEsCisJMHgyY2QzLCAweDJjZDMs
CisJMHgyY2Q1LCAweDJjZDUsCisJMHgyY2Q3LCAweDJjZDcsCisJMHgyY2Q5LCAweDJjZDksCisJ
MHgyY2RiLCAweDJjZGIsCisJMHgyY2RkLCAweDJjZGQsCisJMHgyY2RmLCAweDJjZGYsCisJMHgy
Y2UxLCAweDJjZTEsCisJMHgyY2UzLCAweDJjZTQsCisJMHgyY2VjLCAweDJjZWMsCisJMHgyY2Vl
LCAweDJjZWUsCisJMHgyY2YzLCAweDJjZjMsCisJMHgyZDAwLCAweDJkMjUsCisJMHgyZDI3LCAw
eDJkMjcsCisJMHgyZDJkLCAweDJkMmQsCisJMHhhNjQxLCAweGE2NDEsCisJMHhhNjQzLCAweGE2
NDMsCisJMHhhNjQ1LCAweGE2NDUsCisJMHhhNjQ3LCAweGE2NDcsCisJMHhhNjQ5LCAweGE2NDks
CisJMHhhNjRiLCAweGE2NGIsCisJMHhhNjRkLCAweGE2NGQsCisJMHhhNjRmLCAweGE2NGYsCisJ
MHhhNjUxLCAweGE2NTEsCisJMHhhNjUzLCAweGE2NTMsCisJMHhhNjU1LCAweGE2NTUsCisJMHhh
NjU3LCAweGE2NTcsCisJMHhhNjU5LCAweGE2NTksCisJMHhhNjViLCAweGE2NWIsCisJMHhhNjVk
LCAweGE2NWQsCisJMHhhNjVmLCAweGE2NWYsCisJMHhhNjYxLCAweGE2NjEsCisJMHhhNjYzLCAw
eGE2NjMsCisJMHhhNjY1LCAweGE2NjUsCisJMHhhNjY3LCAweGE2NjcsCisJMHhhNjY5LCAweGE2
NjksCisJMHhhNjZiLCAweGE2NmIsCisJMHhhNjZkLCAweGE2NmQsCisJMHhhNjgxLCAweGE2ODEs
CisJMHhhNjgzLCAweGE2ODMsCisJMHhhNjg1LCAweGE2ODUsCisJMHhhNjg3LCAweGE2ODcsCisJ
MHhhNjg5LCAweGE2ODksCisJMHhhNjhiLCAweGE2OGIsCisJMHhhNjhkLCAweGE2OGQsCisJMHhh
NjhmLCAweGE2OGYsCisJMHhhNjkxLCAweGE2OTEsCisJMHhhNjkzLCAweGE2OTMsCisJMHhhNjk1
LCAweGE2OTUsCisJMHhhNjk3LCAweGE2OTcsCisJMHhhNjk5LCAweGE2OTksCisJMHhhNjliLCAw
eGE2OWQsCisJMHhhNzIzLCAweGE3MjMsCisJMHhhNzI1LCAweGE3MjUsCisJMHhhNzI3LCAweGE3
MjcsCisJMHhhNzI5LCAweGE3MjksCisJMHhhNzJiLCAweGE3MmIsCisJMHhhNzJkLCAweGE3MmQs
CisJMHhhNzJmLCAweGE3MzEsCisJMHhhNzMzLCAweGE3MzMsCisJMHhhNzM1LCAweGE3MzUsCisJ
MHhhNzM3LCAweGE3MzcsCisJMHhhNzM5LCAweGE3MzksCisJMHhhNzNiLCAweGE3M2IsCisJMHhh
NzNkLCAweGE3M2QsCisJMHhhNzNmLCAweGE3M2YsCisJMHhhNzQxLCAweGE3NDEsCisJMHhhNzQz
LCAweGE3NDMsCisJMHhhNzQ1LCAweGE3NDUsCisJMHhhNzQ3LCAweGE3NDcsCisJMHhhNzQ5LCAw
eGE3NDksCisJMHhhNzRiLCAweGE3NGIsCisJMHhhNzRkLCAweGE3NGQsCisJMHhhNzRmLCAweGE3
NGYsCisJMHhhNzUxLCAweGE3NTEsCisJMHhhNzUzLCAweGE3NTMsCisJMHhhNzU1LCAweGE3NTUs
CisJMHhhNzU3LCAweGE3NTcsCisJMHhhNzU5LCAweGE3NTksCisJMHhhNzViLCAweGE3NWIsCisJ
MHhhNzVkLCAweGE3NWQsCisJMHhhNzVmLCAweGE3NWYsCisJMHhhNzYxLCAweGE3NjEsCisJMHhh
NzYzLCAweGE3NjMsCisJMHhhNzY1LCAweGE3NjUsCisJMHhhNzY3LCAweGE3NjcsCisJMHhhNzY5
LCAweGE3NjksCisJMHhhNzZiLCAweGE3NmIsCisJMHhhNzZkLCAweGE3NmQsCisJMHhhNzZmLCAw
eGE3NzgsCisJMHhhNzdhLCAweGE3N2EsCisJMHhhNzdjLCAweGE3N2MsCisJMHhhNzdmLCAweGE3
N2YsCisJMHhhNzgxLCAweGE3ODEsCisJMHhhNzgzLCAweGE3ODMsCisJMHhhNzg1LCAweGE3ODUs
CisJMHhhNzg3LCAweGE3ODcsCisJMHhhNzhjLCAweGE3OGMsCisJMHhhNzhlLCAweGE3OGUsCisJ
MHhhNzkxLCAweGE3OTEsCisJMHhhNzkzLCAweGE3OTUsCisJMHhhNzk3LCAweGE3OTcsCisJMHhh
Nzk5LCAweGE3OTksCisJMHhhNzliLCAweGE3OWIsCisJMHhhNzlkLCAweGE3OWQsCisJMHhhNzlm
LCAweGE3OWYsCisJMHhhN2ExLCAweGE3YTEsCisJMHhhN2EzLCAweGE3YTMsCisJMHhhN2E1LCAw
eGE3YTUsCisJMHhhN2E3LCAweGE3YTcsCisJMHhhN2E5LCAweGE3YTksCisJMHhhN2FmLCAweGE3
YWYsCisJMHhhN2I1LCAweGE3YjUsCisJMHhhN2I3LCAweGE3YjcsCisJMHhhN2I5LCAweGE3Yjks
CisJMHhhN2JiLCAweGE3YmIsCisJMHhhN2JkLCAweGE3YmQsCisJMHhhN2JmLCAweGE3YmYsCisJ
MHhhN2MzLCAweGE3YzMsCisJMHhhN2Y4LCAweGE3ZmEsCisJMHhhYjMwLCAweGFiNWEsCisJMHhh
YjVjLCAweGFiNjcsCisJMHhhYjcwLCAweGFiYmYsCisJMHhmYjAwLCAweGZiMDYsCisJMHhmYjEz
LCAweGZiMTcsCisJMHhmZjQxLCAweGZmNWEsCisJMHgxMDQyOCwgMHgxMDQ0ZiwKKwkweDEwNGQ4
LCAweDEwNGZiLAorCTB4MTBjYzAsIDB4MTBjZjIsCisJMHgxMThjMCwgMHgxMThkZiwKKwkweDE2
ZTYwLCAweDE2ZTdmLAorCTB4MWQ0MWEsIDB4MWQ0MzMsCisJMHgxZDQ0ZSwgMHgxZDQ1NCwKKwkw
eDFkNDU2LCAweDFkNDY3LAorCTB4MWQ0ODIsIDB4MWQ0OWIsCisJMHgxZDRiNiwgMHgxZDRiOSwK
KwkweDFkNGJiLCAweDFkNGJiLAorCTB4MWQ0YmQsIDB4MWQ0YzMsCisJMHgxZDRjNSwgMHgxZDRj
ZiwKKwkweDFkNGVhLCAweDFkNTAzLAorCTB4MWQ1MWUsIDB4MWQ1MzcsCisJMHgxZDU1MiwgMHgx
ZDU2YiwKKwkweDFkNTg2LCAweDFkNTlmLAorCTB4MWQ1YmEsIDB4MWQ1ZDMsCisJMHgxZDVlZSwg
MHgxZDYwNywKKwkweDFkNjIyLCAweDFkNjNiLAorCTB4MWQ2NTYsIDB4MWQ2NmYsCisJMHgxZDY4
YSwgMHgxZDZhNSwKKwkweDFkNmMyLCAweDFkNmRhLAorCTB4MWQ2ZGMsIDB4MWQ2ZTEsCisJMHgx
ZDZmYywgMHgxZDcxNCwKKwkweDFkNzE2LCAweDFkNzFiLAorCTB4MWQ3MzYsIDB4MWQ3NGUsCisJ
MHgxZDc1MCwgMHgxZDc1NSwKKwkweDFkNzcwLCAweDFkNzg4LAorCTB4MWQ3OGEsIDB4MWQ3OGYs
CisJMHgxZDdhYSwgMHgxZDdjMiwKKwkweDFkN2M0LCAweDFkN2M5LAorCTB4MWQ3Y2IsIDB4MWQ3
Y2IsCisJMHgxZTkyMiwgMHgxZTk0MywKK307IC8qIENSX0xvd2VyICovCisKKy8qICdQcmludCc6
IFtbOlByaW50Ol1dICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9QcmludFtdID0g
eworCTY2OCwKKwkweDAwMjAsIDB4MDA3ZSwKKwkweDAwYTAsIDB4MDM3NywKKwkweDAzN2EsIDB4
MDM3ZiwKKwkweDAzODQsIDB4MDM4YSwKKwkweDAzOGMsIDB4MDM4YywKKwkweDAzOGUsIDB4MDNh
MSwKKwkweDAzYTMsIDB4MDUyZiwKKwkweDA1MzEsIDB4MDU1NiwKKwkweDA1NTksIDB4MDU4YSwK
KwkweDA1OGQsIDB4MDU4ZiwKKwkweDA1OTEsIDB4MDVjNywKKwkweDA1ZDAsIDB4MDVlYSwKKwkw
eDA1ZWYsIDB4MDVmNCwKKwkweDA2MDAsIDB4MDYxYywKKwkweDA2MWUsIDB4MDcwZCwKKwkweDA3
MGYsIDB4MDc0YSwKKwkweDA3NGQsIDB4MDdiMSwKKwkweDA3YzAsIDB4MDdmYSwKKwkweDA3ZmQs
IDB4MDgyZCwKKwkweDA4MzAsIDB4MDgzZSwKKwkweDA4NDAsIDB4MDg1YiwKKwkweDA4NWUsIDB4
MDg1ZSwKKwkweDA4NjAsIDB4MDg2YSwKKwkweDA4YTAsIDB4MDhiNCwKKwkweDA4YjYsIDB4MDhi
ZCwKKwkweDA4ZDMsIDB4MDk4MywKKwkweDA5ODUsIDB4MDk4YywKKwkweDA5OGYsIDB4MDk5MCwK
KwkweDA5OTMsIDB4MDlhOCwKKwkweDA5YWEsIDB4MDliMCwKKwkweDA5YjIsIDB4MDliMiwKKwkw
eDA5YjYsIDB4MDliOSwKKwkweDA5YmMsIDB4MDljNCwKKwkweDA5YzcsIDB4MDljOCwKKwkweDA5
Y2IsIDB4MDljZSwKKwkweDA5ZDcsIDB4MDlkNywKKwkweDA5ZGMsIDB4MDlkZCwKKwkweDA5ZGYs
IDB4MDllMywKKwkweDA5ZTYsIDB4MDlmZSwKKwkweDBhMDEsIDB4MGEwMywKKwkweDBhMDUsIDB4
MGEwYSwKKwkweDBhMGYsIDB4MGExMCwKKwkweDBhMTMsIDB4MGEyOCwKKwkweDBhMmEsIDB4MGEz
MCwKKwkweDBhMzIsIDB4MGEzMywKKwkweDBhMzUsIDB4MGEzNiwKKwkweDBhMzgsIDB4MGEzOSwK
KwkweDBhM2MsIDB4MGEzYywKKwkweDBhM2UsIDB4MGE0MiwKKwkweDBhNDcsIDB4MGE0OCwKKwkw
eDBhNGIsIDB4MGE0ZCwKKwkweDBhNTEsIDB4MGE1MSwKKwkweDBhNTksIDB4MGE1YywKKwkweDBh
NWUsIDB4MGE1ZSwKKwkweDBhNjYsIDB4MGE3NiwKKwkweDBhODEsIDB4MGE4MywKKwkweDBhODUs
IDB4MGE4ZCwKKwkweDBhOGYsIDB4MGE5MSwKKwkweDBhOTMsIDB4MGFhOCwKKwkweDBhYWEsIDB4
MGFiMCwKKwkweDBhYjIsIDB4MGFiMywKKwkweDBhYjUsIDB4MGFiOSwKKwkweDBhYmMsIDB4MGFj
NSwKKwkweDBhYzcsIDB4MGFjOSwKKwkweDBhY2IsIDB4MGFjZCwKKwkweDBhZDAsIDB4MGFkMCwK
KwkweDBhZTAsIDB4MGFlMywKKwkweDBhZTYsIDB4MGFmMSwKKwkweDBhZjksIDB4MGFmZiwKKwkw
eDBiMDEsIDB4MGIwMywKKwkweDBiMDUsIDB4MGIwYywKKwkweDBiMGYsIDB4MGIxMCwKKwkweDBi
MTMsIDB4MGIyOCwKKwkweDBiMmEsIDB4MGIzMCwKKwkweDBiMzIsIDB4MGIzMywKKwkweDBiMzUs
IDB4MGIzOSwKKwkweDBiM2MsIDB4MGI0NCwKKwkweDBiNDcsIDB4MGI0OCwKKwkweDBiNGIsIDB4
MGI0ZCwKKwkweDBiNTYsIDB4MGI1NywKKwkweDBiNWMsIDB4MGI1ZCwKKwkweDBiNWYsIDB4MGI2
MywKKwkweDBiNjYsIDB4MGI3NywKKwkweDBiODIsIDB4MGI4MywKKwkweDBiODUsIDB4MGI4YSwK
KwkweDBiOGUsIDB4MGI5MCwKKwkweDBiOTIsIDB4MGI5NSwKKwkweDBiOTksIDB4MGI5YSwKKwkw
eDBiOWMsIDB4MGI5YywKKwkweDBiOWUsIDB4MGI5ZiwKKwkweDBiYTMsIDB4MGJhNCwKKwkweDBi
YTgsIDB4MGJhYSwKKwkweDBiYWUsIDB4MGJiOSwKKwkweDBiYmUsIDB4MGJjMiwKKwkweDBiYzYs
IDB4MGJjOCwKKwkweDBiY2EsIDB4MGJjZCwKKwkweDBiZDAsIDB4MGJkMCwKKwkweDBiZDcsIDB4
MGJkNywKKwkweDBiZTYsIDB4MGJmYSwKKwkweDBjMDAsIDB4MGMwYywKKwkweDBjMGUsIDB4MGMx
MCwKKwkweDBjMTIsIDB4MGMyOCwKKwkweDBjMmEsIDB4MGMzOSwKKwkweDBjM2QsIDB4MGM0NCwK
KwkweDBjNDYsIDB4MGM0OCwKKwkweDBjNGEsIDB4MGM0ZCwKKwkweDBjNTUsIDB4MGM1NiwKKwkw
eDBjNTgsIDB4MGM1YSwKKwkweDBjNjAsIDB4MGM2MywKKwkweDBjNjYsIDB4MGM2ZiwKKwkweDBj
NzcsIDB4MGM4YywKKwkweDBjOGUsIDB4MGM5MCwKKwkweDBjOTIsIDB4MGNhOCwKKwkweDBjYWEs
IDB4MGNiMywKKwkweDBjYjUsIDB4MGNiOSwKKwkweDBjYmMsIDB4MGNjNCwKKwkweDBjYzYsIDB4
MGNjOCwKKwkweDBjY2EsIDB4MGNjZCwKKwkweDBjZDUsIDB4MGNkNiwKKwkweDBjZGUsIDB4MGNk
ZSwKKwkweDBjZTAsIDB4MGNlMywKKwkweDBjZTYsIDB4MGNlZiwKKwkweDBjZjEsIDB4MGNmMiwK
KwkweDBkMDAsIDB4MGQwMywKKwkweDBkMDUsIDB4MGQwYywKKwkweDBkMGUsIDB4MGQxMCwKKwkw
eDBkMTIsIDB4MGQ0NCwKKwkweDBkNDYsIDB4MGQ0OCwKKwkweDBkNGEsIDB4MGQ0ZiwKKwkweDBk
NTQsIDB4MGQ2MywKKwkweDBkNjYsIDB4MGQ3ZiwKKwkweDBkODIsIDB4MGQ4MywKKwkweDBkODUs
IDB4MGQ5NiwKKwkweDBkOWEsIDB4MGRiMSwKKwkweDBkYjMsIDB4MGRiYiwKKwkweDBkYmQsIDB4
MGRiZCwKKwkweDBkYzAsIDB4MGRjNiwKKwkweDBkY2EsIDB4MGRjYSwKKwkweDBkY2YsIDB4MGRk
NCwKKwkweDBkZDYsIDB4MGRkNiwKKwkweDBkZDgsIDB4MGRkZiwKKwkweDBkZTYsIDB4MGRlZiwK
KwkweDBkZjIsIDB4MGRmNCwKKwkweDBlMDEsIDB4MGUzYSwKKwkweDBlM2YsIDB4MGU1YiwKKwkw
eDBlODEsIDB4MGU4MiwKKwkweDBlODQsIDB4MGU4NCwKKwkweDBlODYsIDB4MGU4YSwKKwkweDBl
OGMsIDB4MGVhMywKKwkweDBlYTUsIDB4MGVhNSwKKwkweDBlYTcsIDB4MGViZCwKKwkweDBlYzAs
IDB4MGVjNCwKKwkweDBlYzYsIDB4MGVjNiwKKwkweDBlYzgsIDB4MGVjZCwKKwkweDBlZDAsIDB4
MGVkOSwKKwkweDBlZGMsIDB4MGVkZiwKKwkweDBmMDAsIDB4MGY0NywKKwkweDBmNDksIDB4MGY2
YywKKwkweDBmNzEsIDB4MGY5NywKKwkweDBmOTksIDB4MGZiYywKKwkweDBmYmUsIDB4MGZjYywK
KwkweDBmY2UsIDB4MGZkYSwKKwkweDEwMDAsIDB4MTBjNSwKKwkweDEwYzcsIDB4MTBjNywKKwkw
eDEwY2QsIDB4MTBjZCwKKwkweDEwZDAsIDB4MTI0OCwKKwkweDEyNGEsIDB4MTI0ZCwKKwkweDEy
NTAsIDB4MTI1NiwKKwkweDEyNTgsIDB4MTI1OCwKKwkweDEyNWEsIDB4MTI1ZCwKKwkweDEyNjAs
IDB4MTI4OCwKKwkweDEyOGEsIDB4MTI4ZCwKKwkweDEyOTAsIDB4MTJiMCwKKwkweDEyYjIsIDB4
MTJiNSwKKwkweDEyYjgsIDB4MTJiZSwKKwkweDEyYzAsIDB4MTJjMCwKKwkweDEyYzIsIDB4MTJj
NSwKKwkweDEyYzgsIDB4MTJkNiwKKwkweDEyZDgsIDB4MTMxMCwKKwkweDEzMTIsIDB4MTMxNSwK
KwkweDEzMTgsIDB4MTM1YSwKKwkweDEzNWQsIDB4MTM3YywKKwkweDEzODAsIDB4MTM5OSwKKwkw
eDEzYTAsIDB4MTNmNSwKKwkweDEzZjgsIDB4MTNmZCwKKwkweDE0MDAsIDB4MTY5YywKKwkweDE2
YTAsIDB4MTZmOCwKKwkweDE3MDAsIDB4MTcwYywKKwkweDE3MGUsIDB4MTcxNCwKKwkweDE3MjAs
IDB4MTczNiwKKwkweDE3NDAsIDB4MTc1MywKKwkweDE3NjAsIDB4MTc2YywKKwkweDE3NmUsIDB4
MTc3MCwKKwkweDE3NzIsIDB4MTc3MywKKwkweDE3ODAsIDB4MTdkZCwKKwkweDE3ZTAsIDB4MTdl
OSwKKwkweDE3ZjAsIDB4MTdmOSwKKwkweDE4MDAsIDB4MTgwZSwKKwkweDE4MTAsIDB4MTgxOSwK
KwkweDE4MjAsIDB4MTg3OCwKKwkweDE4ODAsIDB4MThhYSwKKwkweDE4YjAsIDB4MThmNSwKKwkw
eDE5MDAsIDB4MTkxZSwKKwkweDE5MjAsIDB4MTkyYiwKKwkweDE5MzAsIDB4MTkzYiwKKwkweDE5
NDAsIDB4MTk0MCwKKwkweDE5NDQsIDB4MTk2ZCwKKwkweDE5NzAsIDB4MTk3NCwKKwkweDE5ODAs
IDB4MTlhYiwKKwkweDE5YjAsIDB4MTljOSwKKwkweDE5ZDAsIDB4MTlkYSwKKwkweDE5ZGUsIDB4
MWExYiwKKwkweDFhMWUsIDB4MWE1ZSwKKwkweDFhNjAsIDB4MWE3YywKKwkweDFhN2YsIDB4MWE4
OSwKKwkweDFhOTAsIDB4MWE5OSwKKwkweDFhYTAsIDB4MWFhZCwKKwkweDFhYjAsIDB4MWFiZSwK
KwkweDFiMDAsIDB4MWI0YiwKKwkweDFiNTAsIDB4MWI3YywKKwkweDFiODAsIDB4MWJmMywKKwkw
eDFiZmMsIDB4MWMzNywKKwkweDFjM2IsIDB4MWM0OSwKKwkweDFjNGQsIDB4MWM4OCwKKwkweDFj
OTAsIDB4MWNiYSwKKwkweDFjYmQsIDB4MWNjNywKKwkweDFjZDAsIDB4MWNmYSwKKwkweDFkMDAs
IDB4MWRmOSwKKwkweDFkZmIsIDB4MWYxNSwKKwkweDFmMTgsIDB4MWYxZCwKKwkweDFmMjAsIDB4
MWY0NSwKKwkweDFmNDgsIDB4MWY0ZCwKKwkweDFmNTAsIDB4MWY1NywKKwkweDFmNTksIDB4MWY1
OSwKKwkweDFmNWIsIDB4MWY1YiwKKwkweDFmNWQsIDB4MWY1ZCwKKwkweDFmNWYsIDB4MWY3ZCwK
KwkweDFmODAsIDB4MWZiNCwKKwkweDFmYjYsIDB4MWZjNCwKKwkweDFmYzYsIDB4MWZkMywKKwkw
eDFmZDYsIDB4MWZkYiwKKwkweDFmZGQsIDB4MWZlZiwKKwkweDFmZjIsIDB4MWZmNCwKKwkweDFm
ZjYsIDB4MWZmZSwKKwkweDIwMDAsIDB4MjAyNywKKwkweDIwMmEsIDB4MjA2NCwKKwkweDIwNjYs
IDB4MjA3MSwKKwkweDIwNzQsIDB4MjA4ZSwKKwkweDIwOTAsIDB4MjA5YywKKwkweDIwYTAsIDB4
MjBiZiwKKwkweDIwZDAsIDB4MjBmMCwKKwkweDIxMDAsIDB4MjE4YiwKKwkweDIxOTAsIDB4MjQy
NiwKKwkweDI0NDAsIDB4MjQ0YSwKKwkweDI0NjAsIDB4MmI3MywKKwkweDJiNzYsIDB4MmI5NSwK
KwkweDJiOTgsIDB4MmMyZSwKKwkweDJjMzAsIDB4MmM1ZSwKKwkweDJjNjAsIDB4MmNmMywKKwkw
eDJjZjksIDB4MmQyNSwKKwkweDJkMjcsIDB4MmQyNywKKwkweDJkMmQsIDB4MmQyZCwKKwkweDJk
MzAsIDB4MmQ2NywKKwkweDJkNmYsIDB4MmQ3MCwKKwkweDJkN2YsIDB4MmQ5NiwKKwkweDJkYTAs
IDB4MmRhNiwKKwkweDJkYTgsIDB4MmRhZSwKKwkweDJkYjAsIDB4MmRiNiwKKwkweDJkYjgsIDB4
MmRiZSwKKwkweDJkYzAsIDB4MmRjNiwKKwkweDJkYzgsIDB4MmRjZSwKKwkweDJkZDAsIDB4MmRk
NiwKKwkweDJkZDgsIDB4MmRkZSwKKwkweDJkZTAsIDB4MmU0ZiwKKwkweDJlODAsIDB4MmU5OSwK
KwkweDJlOWIsIDB4MmVmMywKKwkweDJmMDAsIDB4MmZkNSwKKwkweDJmZjAsIDB4MmZmYiwKKwkw
eDMwMDAsIDB4MzAzZiwKKwkweDMwNDEsIDB4MzA5NiwKKwkweDMwOTksIDB4MzBmZiwKKwkweDMx
MDUsIDB4MzEyZiwKKwkweDMxMzEsIDB4MzE4ZSwKKwkweDMxOTAsIDB4MzFiYSwKKwkweDMxYzAs
IDB4MzFlMywKKwkweDMxZjAsIDB4MzIxZSwKKwkweDMyMjAsIDB4NGRiNSwKKwkweDRkYzAsIDB4
OWZlZiwKKwkweGEwMDAsIDB4YTQ4YywKKwkweGE0OTAsIDB4YTRjNiwKKwkweGE0ZDAsIDB4YTYy
YiwKKwkweGE2NDAsIDB4YTZmNywKKwkweGE3MDAsIDB4YTdiZiwKKwkweGE3YzIsIDB4YTdjNiwK
KwkweGE3ZjcsIDB4YTgyYiwKKwkweGE4MzAsIDB4YTgzOSwKKwkweGE4NDAsIDB4YTg3NywKKwkw
eGE4ODAsIDB4YThjNSwKKwkweGE4Y2UsIDB4YThkOSwKKwkweGE4ZTAsIDB4YTk1MywKKwkweGE5
NWYsIDB4YTk3YywKKwkweGE5ODAsIDB4YTljZCwKKwkweGE5Y2YsIDB4YTlkOSwKKwkweGE5ZGUs
IDB4YTlmZSwKKwkweGFhMDAsIDB4YWEzNiwKKwkweGFhNDAsIDB4YWE0ZCwKKwkweGFhNTAsIDB4
YWE1OSwKKwkweGFhNWMsIDB4YWFjMiwKKwkweGFhZGIsIDB4YWFmNiwKKwkweGFiMDEsIDB4YWIw
NiwKKwkweGFiMDksIDB4YWIwZSwKKwkweGFiMTEsIDB4YWIxNiwKKwkweGFiMjAsIDB4YWIyNiwK
KwkweGFiMjgsIDB4YWIyZSwKKwkweGFiMzAsIDB4YWI2NywKKwkweGFiNzAsIDB4YWJlZCwKKwkw
eGFiZjAsIDB4YWJmOSwKKwkweGFjMDAsIDB4ZDdhMywKKwkweGQ3YjAsIDB4ZDdjNiwKKwkweGQ3
Y2IsIDB4ZDdmYiwKKwkweGUwMDAsIDB4ZmE2ZCwKKwkweGZhNzAsIDB4ZmFkOSwKKwkweGZiMDAs
IDB4ZmIwNiwKKwkweGZiMTMsIDB4ZmIxNywKKwkweGZiMWQsIDB4ZmIzNiwKKwkweGZiMzgsIDB4
ZmIzYywKKwkweGZiM2UsIDB4ZmIzZSwKKwkweGZiNDAsIDB4ZmI0MSwKKwkweGZiNDMsIDB4ZmI0
NCwKKwkweGZiNDYsIDB4ZmJjMSwKKwkweGZiZDMsIDB4ZmQzZiwKKwkweGZkNTAsIDB4ZmQ4ZiwK
KwkweGZkOTIsIDB4ZmRjNywKKwkweGZkZjAsIDB4ZmRmZCwKKwkweGZlMDAsIDB4ZmUxOSwKKwkw
eGZlMjAsIDB4ZmU1MiwKKwkweGZlNTQsIDB4ZmU2NiwKKwkweGZlNjgsIDB4ZmU2YiwKKwkweGZl
NzAsIDB4ZmU3NCwKKwkweGZlNzYsIDB4ZmVmYywKKwkweGZlZmYsIDB4ZmVmZiwKKwkweGZmMDEs
IDB4ZmZiZSwKKwkweGZmYzIsIDB4ZmZjNywKKwkweGZmY2EsIDB4ZmZjZiwKKwkweGZmZDIsIDB4
ZmZkNywKKwkweGZmZGEsIDB4ZmZkYywKKwkweGZmZTAsIDB4ZmZlNiwKKwkweGZmZTgsIDB4ZmZl
ZSwKKwkweGZmZjksIDB4ZmZmZCwKKwkweDEwMDAwLCAweDEwMDBiLAorCTB4MTAwMGQsIDB4MTAw
MjYsCisJMHgxMDAyOCwgMHgxMDAzYSwKKwkweDEwMDNjLCAweDEwMDNkLAorCTB4MTAwM2YsIDB4
MTAwNGQsCisJMHgxMDA1MCwgMHgxMDA1ZCwKKwkweDEwMDgwLCAweDEwMGZhLAorCTB4MTAxMDAs
IDB4MTAxMDIsCisJMHgxMDEwNywgMHgxMDEzMywKKwkweDEwMTM3LCAweDEwMThlLAorCTB4MTAx
OTAsIDB4MTAxOWIsCisJMHgxMDFhMCwgMHgxMDFhMCwKKwkweDEwMWQwLCAweDEwMWZkLAorCTB4
MTAyODAsIDB4MTAyOWMsCisJMHgxMDJhMCwgMHgxMDJkMCwKKwkweDEwMmUwLCAweDEwMmZiLAor
CTB4MTAzMDAsIDB4MTAzMjMsCisJMHgxMDMyZCwgMHgxMDM0YSwKKwkweDEwMzUwLCAweDEwMzdh
LAorCTB4MTAzODAsIDB4MTAzOWQsCisJMHgxMDM5ZiwgMHgxMDNjMywKKwkweDEwM2M4LCAweDEw
M2Q1LAorCTB4MTA0MDAsIDB4MTA0OWQsCisJMHgxMDRhMCwgMHgxMDRhOSwKKwkweDEwNGIwLCAw
eDEwNGQzLAorCTB4MTA0ZDgsIDB4MTA0ZmIsCisJMHgxMDUwMCwgMHgxMDUyNywKKwkweDEwNTMw
LCAweDEwNTYzLAorCTB4MTA1NmYsIDB4MTA1NmYsCisJMHgxMDYwMCwgMHgxMDczNiwKKwkweDEw
NzQwLCAweDEwNzU1LAorCTB4MTA3NjAsIDB4MTA3NjcsCisJMHgxMDgwMCwgMHgxMDgwNSwKKwkw
eDEwODA4LCAweDEwODA4LAorCTB4MTA4MGEsIDB4MTA4MzUsCisJMHgxMDgzNywgMHgxMDgzOCwK
KwkweDEwODNjLCAweDEwODNjLAorCTB4MTA4M2YsIDB4MTA4NTUsCisJMHgxMDg1NywgMHgxMDg5
ZSwKKwkweDEwOGE3LCAweDEwOGFmLAorCTB4MTA4ZTAsIDB4MTA4ZjIsCisJMHgxMDhmNCwgMHgx
MDhmNSwKKwkweDEwOGZiLCAweDEwOTFiLAorCTB4MTA5MWYsIDB4MTA5MzksCisJMHgxMDkzZiwg
MHgxMDkzZiwKKwkweDEwOTgwLCAweDEwOWI3LAorCTB4MTA5YmMsIDB4MTA5Y2YsCisJMHgxMDlk
MiwgMHgxMGEwMywKKwkweDEwYTA1LCAweDEwYTA2LAorCTB4MTBhMGMsIDB4MTBhMTMsCisJMHgx
MGExNSwgMHgxMGExNywKKwkweDEwYTE5LCAweDEwYTM1LAorCTB4MTBhMzgsIDB4MTBhM2EsCisJ
MHgxMGEzZiwgMHgxMGE0OCwKKwkweDEwYTUwLCAweDEwYTU4LAorCTB4MTBhNjAsIDB4MTBhOWYs
CisJMHgxMGFjMCwgMHgxMGFlNiwKKwkweDEwYWViLCAweDEwYWY2LAorCTB4MTBiMDAsIDB4MTBi
MzUsCisJMHgxMGIzOSwgMHgxMGI1NSwKKwkweDEwYjU4LCAweDEwYjcyLAorCTB4MTBiNzgsIDB4
MTBiOTEsCisJMHgxMGI5OSwgMHgxMGI5YywKKwkweDEwYmE5LCAweDEwYmFmLAorCTB4MTBjMDAs
IDB4MTBjNDgsCisJMHgxMGM4MCwgMHgxMGNiMiwKKwkweDEwY2MwLCAweDEwY2YyLAorCTB4MTBj
ZmEsIDB4MTBkMjcsCisJMHgxMGQzMCwgMHgxMGQzOSwKKwkweDEwZTYwLCAweDEwZTdlLAorCTB4
MTBmMDAsIDB4MTBmMjcsCisJMHgxMGYzMCwgMHgxMGY1OSwKKwkweDEwZmUwLCAweDEwZmY2LAor
CTB4MTEwMDAsIDB4MTEwNGQsCisJMHgxMTA1MiwgMHgxMTA2ZiwKKwkweDExMDdmLCAweDExMGMx
LAorCTB4MTEwY2QsIDB4MTEwY2QsCisJMHgxMTBkMCwgMHgxMTBlOCwKKwkweDExMGYwLCAweDEx
MGY5LAorCTB4MTExMDAsIDB4MTExMzQsCisJMHgxMTEzNiwgMHgxMTE0NiwKKwkweDExMTUwLCAw
eDExMTc2LAorCTB4MTExODAsIDB4MTExY2QsCisJMHgxMTFkMCwgMHgxMTFkZiwKKwkweDExMWUx
LCAweDExMWY0LAorCTB4MTEyMDAsIDB4MTEyMTEsCisJMHgxMTIxMywgMHgxMTIzZSwKKwkweDEx
MjgwLCAweDExMjg2LAorCTB4MTEyODgsIDB4MTEyODgsCisJMHgxMTI4YSwgMHgxMTI4ZCwKKwkw
eDExMjhmLCAweDExMjlkLAorCTB4MTEyOWYsIDB4MTEyYTksCisJMHgxMTJiMCwgMHgxMTJlYSwK
KwkweDExMmYwLCAweDExMmY5LAorCTB4MTEzMDAsIDB4MTEzMDMsCisJMHgxMTMwNSwgMHgxMTMw
YywKKwkweDExMzBmLCAweDExMzEwLAorCTB4MTEzMTMsIDB4MTEzMjgsCisJMHgxMTMyYSwgMHgx
MTMzMCwKKwkweDExMzMyLCAweDExMzMzLAorCTB4MTEzMzUsIDB4MTEzMzksCisJMHgxMTMzYiwg
MHgxMTM0NCwKKwkweDExMzQ3LCAweDExMzQ4LAorCTB4MTEzNGIsIDB4MTEzNGQsCisJMHgxMTM1
MCwgMHgxMTM1MCwKKwkweDExMzU3LCAweDExMzU3LAorCTB4MTEzNWQsIDB4MTEzNjMsCisJMHgx
MTM2NiwgMHgxMTM2YywKKwkweDExMzcwLCAweDExMzc0LAorCTB4MTE0MDAsIDB4MTE0NTksCisJ
MHgxMTQ1YiwgMHgxMTQ1YiwKKwkweDExNDVkLCAweDExNDVmLAorCTB4MTE0ODAsIDB4MTE0Yzcs
CisJMHgxMTRkMCwgMHgxMTRkOSwKKwkweDExNTgwLCAweDExNWI1LAorCTB4MTE1YjgsIDB4MTE1
ZGQsCisJMHgxMTYwMCwgMHgxMTY0NCwKKwkweDExNjUwLCAweDExNjU5LAorCTB4MTE2NjAsIDB4
MTE2NmMsCisJMHgxMTY4MCwgMHgxMTZiOCwKKwkweDExNmMwLCAweDExNmM5LAorCTB4MTE3MDAs
IDB4MTE3MWEsCisJMHgxMTcxZCwgMHgxMTcyYiwKKwkweDExNzMwLCAweDExNzNmLAorCTB4MTE4
MDAsIDB4MTE4M2IsCisJMHgxMThhMCwgMHgxMThmMiwKKwkweDExOGZmLCAweDExOGZmLAorCTB4
MTE5YTAsIDB4MTE5YTcsCisJMHgxMTlhYSwgMHgxMTlkNywKKwkweDExOWRhLCAweDExOWU0LAor
CTB4MTFhMDAsIDB4MTFhNDcsCisJMHgxMWE1MCwgMHgxMWFhMiwKKwkweDExYWMwLCAweDExYWY4
LAorCTB4MTFjMDAsIDB4MTFjMDgsCisJMHgxMWMwYSwgMHgxMWMzNiwKKwkweDExYzM4LCAweDEx
YzQ1LAorCTB4MTFjNTAsIDB4MTFjNmMsCisJMHgxMWM3MCwgMHgxMWM4ZiwKKwkweDExYzkyLCAw
eDExY2E3LAorCTB4MTFjYTksIDB4MTFjYjYsCisJMHgxMWQwMCwgMHgxMWQwNiwKKwkweDExZDA4
LCAweDExZDA5LAorCTB4MTFkMGIsIDB4MTFkMzYsCisJMHgxMWQzYSwgMHgxMWQzYSwKKwkweDEx
ZDNjLCAweDExZDNkLAorCTB4MTFkM2YsIDB4MTFkNDcsCisJMHgxMWQ1MCwgMHgxMWQ1OSwKKwkw
eDExZDYwLCAweDExZDY1LAorCTB4MTFkNjcsIDB4MTFkNjgsCisJMHgxMWQ2YSwgMHgxMWQ4ZSwK
KwkweDExZDkwLCAweDExZDkxLAorCTB4MTFkOTMsIDB4MTFkOTgsCisJMHgxMWRhMCwgMHgxMWRh
OSwKKwkweDExZWUwLCAweDExZWY4LAorCTB4MTFmYzAsIDB4MTFmZjEsCisJMHgxMWZmZiwgMHgx
MjM5OSwKKwkweDEyNDAwLCAweDEyNDZlLAorCTB4MTI0NzAsIDB4MTI0NzQsCisJMHgxMjQ4MCwg
MHgxMjU0MywKKwkweDEzMDAwLCAweDEzNDJlLAorCTB4MTM0MzAsIDB4MTM0MzgsCisJMHgxNDQw
MCwgMHgxNDY0NiwKKwkweDE2ODAwLCAweDE2YTM4LAorCTB4MTZhNDAsIDB4MTZhNWUsCisJMHgx
NmE2MCwgMHgxNmE2OSwKKwkweDE2YTZlLCAweDE2YTZmLAorCTB4MTZhZDAsIDB4MTZhZWQsCisJ
MHgxNmFmMCwgMHgxNmFmNSwKKwkweDE2YjAwLCAweDE2YjQ1LAorCTB4MTZiNTAsIDB4MTZiNTks
CisJMHgxNmI1YiwgMHgxNmI2MSwKKwkweDE2YjYzLCAweDE2Yjc3LAorCTB4MTZiN2QsIDB4MTZi
OGYsCisJMHgxNmU0MCwgMHgxNmU5YSwKKwkweDE2ZjAwLCAweDE2ZjRhLAorCTB4MTZmNGYsIDB4
MTZmODcsCisJMHgxNmY4ZiwgMHgxNmY5ZiwKKwkweDE2ZmUwLCAweDE2ZmUzLAorCTB4MTcwMDAs
IDB4MTg3ZjcsCisJMHgxODgwMCwgMHgxOGFmMiwKKwkweDFiMDAwLCAweDFiMTFlLAorCTB4MWIx
NTAsIDB4MWIxNTIsCisJMHgxYjE2NCwgMHgxYjE2NywKKwkweDFiMTcwLCAweDFiMmZiLAorCTB4
MWJjMDAsIDB4MWJjNmEsCisJMHgxYmM3MCwgMHgxYmM3YywKKwkweDFiYzgwLCAweDFiYzg4LAor
CTB4MWJjOTAsIDB4MWJjOTksCisJMHgxYmM5YywgMHgxYmNhMywKKwkweDFkMDAwLCAweDFkMGY1
LAorCTB4MWQxMDAsIDB4MWQxMjYsCisJMHgxZDEyOSwgMHgxZDFlOCwKKwkweDFkMjAwLCAweDFk
MjQ1LAorCTB4MWQyZTAsIDB4MWQyZjMsCisJMHgxZDMwMCwgMHgxZDM1NiwKKwkweDFkMzYwLCAw
eDFkMzc4LAorCTB4MWQ0MDAsIDB4MWQ0NTQsCisJMHgxZDQ1NiwgMHgxZDQ5YywKKwkweDFkNDll
LCAweDFkNDlmLAorCTB4MWQ0YTIsIDB4MWQ0YTIsCisJMHgxZDRhNSwgMHgxZDRhNiwKKwkweDFk
NGE5LCAweDFkNGFjLAorCTB4MWQ0YWUsIDB4MWQ0YjksCisJMHgxZDRiYiwgMHgxZDRiYiwKKwkw
eDFkNGJkLCAweDFkNGMzLAorCTB4MWQ0YzUsIDB4MWQ1MDUsCisJMHgxZDUwNywgMHgxZDUwYSwK
KwkweDFkNTBkLCAweDFkNTE0LAorCTB4MWQ1MTYsIDB4MWQ1MWMsCisJMHgxZDUxZSwgMHgxZDUz
OSwKKwkweDFkNTNiLCAweDFkNTNlLAorCTB4MWQ1NDAsIDB4MWQ1NDQsCisJMHgxZDU0NiwgMHgx
ZDU0NiwKKwkweDFkNTRhLCAweDFkNTUwLAorCTB4MWQ1NTIsIDB4MWQ2YTUsCisJMHgxZDZhOCwg
MHgxZDdjYiwKKwkweDFkN2NlLCAweDFkYThiLAorCTB4MWRhOWIsIDB4MWRhOWYsCisJMHgxZGFh
MSwgMHgxZGFhZiwKKwkweDFlMDAwLCAweDFlMDA2LAorCTB4MWUwMDgsIDB4MWUwMTgsCisJMHgx
ZTAxYiwgMHgxZTAyMSwKKwkweDFlMDIzLCAweDFlMDI0LAorCTB4MWUwMjYsIDB4MWUwMmEsCisJ
MHgxZTEwMCwgMHgxZTEyYywKKwkweDFlMTMwLCAweDFlMTNkLAorCTB4MWUxNDAsIDB4MWUxNDks
CisJMHgxZTE0ZSwgMHgxZTE0ZiwKKwkweDFlMmMwLCAweDFlMmY5LAorCTB4MWUyZmYsIDB4MWUy
ZmYsCisJMHgxZTgwMCwgMHgxZThjNCwKKwkweDFlOGM3LCAweDFlOGQ2LAorCTB4MWU5MDAsIDB4
MWU5NGIsCisJMHgxZTk1MCwgMHgxZTk1OSwKKwkweDFlOTVlLCAweDFlOTVmLAorCTB4MWVjNzEs
IDB4MWVjYjQsCisJMHgxZWQwMSwgMHgxZWQzZCwKKwkweDFlZTAwLCAweDFlZTAzLAorCTB4MWVl
MDUsIDB4MWVlMWYsCisJMHgxZWUyMSwgMHgxZWUyMiwKKwkweDFlZTI0LCAweDFlZTI0LAorCTB4
MWVlMjcsIDB4MWVlMjcsCisJMHgxZWUyOSwgMHgxZWUzMiwKKwkweDFlZTM0LCAweDFlZTM3LAor
CTB4MWVlMzksIDB4MWVlMzksCisJMHgxZWUzYiwgMHgxZWUzYiwKKwkweDFlZTQyLCAweDFlZTQy
LAorCTB4MWVlNDcsIDB4MWVlNDcsCisJMHgxZWU0OSwgMHgxZWU0OSwKKwkweDFlZTRiLCAweDFl
ZTRiLAorCTB4MWVlNGQsIDB4MWVlNGYsCisJMHgxZWU1MSwgMHgxZWU1MiwKKwkweDFlZTU0LCAw
eDFlZTU0LAorCTB4MWVlNTcsIDB4MWVlNTcsCisJMHgxZWU1OSwgMHgxZWU1OSwKKwkweDFlZTVi
LCAweDFlZTViLAorCTB4MWVlNWQsIDB4MWVlNWQsCisJMHgxZWU1ZiwgMHgxZWU1ZiwKKwkweDFl
ZTYxLCAweDFlZTYyLAorCTB4MWVlNjQsIDB4MWVlNjQsCisJMHgxZWU2NywgMHgxZWU2YSwKKwkw
eDFlZTZjLCAweDFlZTcyLAorCTB4MWVlNzQsIDB4MWVlNzcsCisJMHgxZWU3OSwgMHgxZWU3YywK
KwkweDFlZTdlLCAweDFlZTdlLAorCTB4MWVlODAsIDB4MWVlODksCisJMHgxZWU4YiwgMHgxZWU5
YiwKKwkweDFlZWExLCAweDFlZWEzLAorCTB4MWVlYTUsIDB4MWVlYTksCisJMHgxZWVhYiwgMHgx
ZWViYiwKKwkweDFlZWYwLCAweDFlZWYxLAorCTB4MWYwMDAsIDB4MWYwMmIsCisJMHgxZjAzMCwg
MHgxZjA5MywKKwkweDFmMGEwLCAweDFmMGFlLAorCTB4MWYwYjEsIDB4MWYwYmYsCisJMHgxZjBj
MSwgMHgxZjBjZiwKKwkweDFmMGQxLCAweDFmMGY1LAorCTB4MWYxMDAsIDB4MWYxMGMsCisJMHgx
ZjExMCwgMHgxZjE2YywKKwkweDFmMTcwLCAweDFmMWFjLAorCTB4MWYxZTYsIDB4MWYyMDIsCisJ
MHgxZjIxMCwgMHgxZjIzYiwKKwkweDFmMjQwLCAweDFmMjQ4LAorCTB4MWYyNTAsIDB4MWYyNTEs
CisJMHgxZjI2MCwgMHgxZjI2NSwKKwkweDFmMzAwLCAweDFmNmQ1LAorCTB4MWY2ZTAsIDB4MWY2
ZWMsCisJMHgxZjZmMCwgMHgxZjZmYSwKKwkweDFmNzAwLCAweDFmNzczLAorCTB4MWY3ODAsIDB4
MWY3ZDgsCisJMHgxZjdlMCwgMHgxZjdlYiwKKwkweDFmODAwLCAweDFmODBiLAorCTB4MWY4MTAs
IDB4MWY4NDcsCisJMHgxZjg1MCwgMHgxZjg1OSwKKwkweDFmODYwLCAweDFmODg3LAorCTB4MWY4
OTAsIDB4MWY4YWQsCisJMHgxZjkwMCwgMHgxZjkwYiwKKwkweDFmOTBkLCAweDFmOTcxLAorCTB4
MWY5NzMsIDB4MWY5NzYsCisJMHgxZjk3YSwgMHgxZjlhMiwKKwkweDFmOWE1LCAweDFmOWFhLAor
CTB4MWY5YWUsIDB4MWY5Y2EsCisJMHgxZjljZCwgMHgxZmE1MywKKwkweDFmYTYwLCAweDFmYTZk
LAorCTB4MWZhNzAsIDB4MWZhNzMsCisJMHgxZmE3OCwgMHgxZmE3YSwKKwkweDFmYTgwLCAweDFm
YTgyLAorCTB4MWZhOTAsIDB4MWZhOTUsCisJMHgyMDAwMCwgMHgyYTZkNiwKKwkweDJhNzAwLCAw
eDJiNzM0LAorCTB4MmI3NDAsIDB4MmI4MWQsCisJMHgyYjgyMCwgMHgyY2VhMSwKKwkweDJjZWIw
LCAweDJlYmUwLAorCTB4MmY4MDAsIDB4MmZhMWQsCisJMHhlMDAwMSwgMHhlMDAwMSwKKwkweGUw
MDIwLCAweGUwMDdmLAorCTB4ZTAxMDAsIDB4ZTAxZWYsCisJMHhmMDAwMCwgMHhmZmZmZCwKKwkw
eDEwMDAwMCwgMHgxMGZmZmQsCit9OyAvKiBDUl9QcmludCAqLworCisvKiAnWFBvc2l4UHVuY3Qn
OiBbWzpQdW5jdDpdXSAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfWFBvc2l4UHVu
Y3RbXSA9IHsKKwkxNzcsCisJMHgwMDIxLCAweDAwMmYsCisJMHgwMDNhLCAweDAwNDAsCisJMHgw
MDViLCAweDAwNjAsCisJMHgwMDdiLCAweDAwN2UsCisJMHgwMGExLCAweDAwYTEsCisJMHgwMGE3
LCAweDAwYTcsCisJMHgwMGFiLCAweDAwYWIsCisJMHgwMGI2LCAweDAwYjcsCisJMHgwMGJiLCAw
eDAwYmIsCisJMHgwMGJmLCAweDAwYmYsCisJMHgwMzdlLCAweDAzN2UsCisJMHgwMzg3LCAweDAz
ODcsCisJMHgwNTVhLCAweDA1NWYsCisJMHgwNTg5LCAweDA1OGEsCisJMHgwNWJlLCAweDA1YmUs
CisJMHgwNWMwLCAweDA1YzAsCisJMHgwNWMzLCAweDA1YzMsCisJMHgwNWM2LCAweDA1YzYsCisJ
MHgwNWYzLCAweDA1ZjQsCisJMHgwNjA5LCAweDA2MGEsCisJMHgwNjBjLCAweDA2MGQsCisJMHgw
NjFiLCAweDA2MWIsCisJMHgwNjFlLCAweDA2MWYsCisJMHgwNjZhLCAweDA2NmQsCisJMHgwNmQ0
LCAweDA2ZDQsCisJMHgwNzAwLCAweDA3MGQsCisJMHgwN2Y3LCAweDA3ZjksCisJMHgwODMwLCAw
eDA4M2UsCisJMHgwODVlLCAweDA4NWUsCisJMHgwOTY0LCAweDA5NjUsCisJMHgwOTcwLCAweDA5
NzAsCisJMHgwOWZkLCAweDA5ZmQsCisJMHgwYTc2LCAweDBhNzYsCisJMHgwYWYwLCAweDBhZjAs
CisJMHgwYzc3LCAweDBjNzcsCisJMHgwYzg0LCAweDBjODQsCisJMHgwZGY0LCAweDBkZjQsCisJ
MHgwZTRmLCAweDBlNGYsCisJMHgwZTVhLCAweDBlNWIsCisJMHgwZjA0LCAweDBmMTIsCisJMHgw
ZjE0LCAweDBmMTQsCisJMHgwZjNhLCAweDBmM2QsCisJMHgwZjg1LCAweDBmODUsCisJMHgwZmQw
LCAweDBmZDQsCisJMHgwZmQ5LCAweDBmZGEsCisJMHgxMDRhLCAweDEwNGYsCisJMHgxMGZiLCAw
eDEwZmIsCisJMHgxMzYwLCAweDEzNjgsCisJMHgxNDAwLCAweDE0MDAsCisJMHgxNjZlLCAweDE2
NmUsCisJMHgxNjliLCAweDE2OWMsCisJMHgxNmViLCAweDE2ZWQsCisJMHgxNzM1LCAweDE3MzYs
CisJMHgxN2Q0LCAweDE3ZDYsCisJMHgxN2Q4LCAweDE3ZGEsCisJMHgxODAwLCAweDE4MGEsCisJ
MHgxOTQ0LCAweDE5NDUsCisJMHgxYTFlLCAweDFhMWYsCisJMHgxYWEwLCAweDFhYTYsCisJMHgx
YWE4LCAweDFhYWQsCisJMHgxYjVhLCAweDFiNjAsCisJMHgxYmZjLCAweDFiZmYsCisJMHgxYzNi
LCAweDFjM2YsCisJMHgxYzdlLCAweDFjN2YsCisJMHgxY2MwLCAweDFjYzcsCisJMHgxY2QzLCAw
eDFjZDMsCisJMHgyMDEwLCAweDIwMjcsCisJMHgyMDMwLCAweDIwNDMsCisJMHgyMDQ1LCAweDIw
NTEsCisJMHgyMDUzLCAweDIwNWUsCisJMHgyMDdkLCAweDIwN2UsCisJMHgyMDhkLCAweDIwOGUs
CisJMHgyMzA4LCAweDIzMGIsCisJMHgyMzI5LCAweDIzMmEsCisJMHgyNzY4LCAweDI3NzUsCisJ
MHgyN2M1LCAweDI3YzYsCisJMHgyN2U2LCAweDI3ZWYsCisJMHgyOTgzLCAweDI5OTgsCisJMHgy
OWQ4LCAweDI5ZGIsCisJMHgyOWZjLCAweDI5ZmQsCisJMHgyY2Y5LCAweDJjZmMsCisJMHgyY2Zl
LCAweDJjZmYsCisJMHgyZDcwLCAweDJkNzAsCisJMHgyZTAwLCAweDJlMmUsCisJMHgyZTMwLCAw
eDJlNGYsCisJMHgzMDAxLCAweDMwMDMsCisJMHgzMDA4LCAweDMwMTEsCisJMHgzMDE0LCAweDMw
MWYsCisJMHgzMDMwLCAweDMwMzAsCisJMHgzMDNkLCAweDMwM2QsCisJMHgzMGEwLCAweDMwYTAs
CisJMHgzMGZiLCAweDMwZmIsCisJMHhhNGZlLCAweGE0ZmYsCisJMHhhNjBkLCAweGE2MGYsCisJ
MHhhNjczLCAweGE2NzMsCisJMHhhNjdlLCAweGE2N2UsCisJMHhhNmYyLCAweGE2ZjcsCisJMHhh
ODc0LCAweGE4NzcsCisJMHhhOGNlLCAweGE4Y2YsCisJMHhhOGY4LCAweGE4ZmEsCisJMHhhOGZj
LCAweGE4ZmMsCisJMHhhOTJlLCAweGE5MmYsCisJMHhhOTVmLCAweGE5NWYsCisJMHhhOWMxLCAw
eGE5Y2QsCisJMHhhOWRlLCAweGE5ZGYsCisJMHhhYTVjLCAweGFhNWYsCisJMHhhYWRlLCAweGFh
ZGYsCisJMHhhYWYwLCAweGFhZjEsCisJMHhhYmViLCAweGFiZWIsCisJMHhmZDNlLCAweGZkM2Ys
CisJMHhmZTEwLCAweGZlMTksCisJMHhmZTMwLCAweGZlNTIsCisJMHhmZTU0LCAweGZlNjEsCisJ
MHhmZTYzLCAweGZlNjMsCisJMHhmZTY4LCAweGZlNjgsCisJMHhmZTZhLCAweGZlNmIsCisJMHhm
ZjAxLCAweGZmMDMsCisJMHhmZjA1LCAweGZmMGEsCisJMHhmZjBjLCAweGZmMGYsCisJMHhmZjFh
LCAweGZmMWIsCisJMHhmZjFmLCAweGZmMjAsCisJMHhmZjNiLCAweGZmM2QsCisJMHhmZjNmLCAw
eGZmM2YsCisJMHhmZjViLCAweGZmNWIsCisJMHhmZjVkLCAweGZmNWQsCisJMHhmZjVmLCAweGZm
NjUsCisJMHgxMDEwMCwgMHgxMDEwMiwKKwkweDEwMzlmLCAweDEwMzlmLAorCTB4MTAzZDAsIDB4
MTAzZDAsCisJMHgxMDU2ZiwgMHgxMDU2ZiwKKwkweDEwODU3LCAweDEwODU3LAorCTB4MTA5MWYs
IDB4MTA5MWYsCisJMHgxMDkzZiwgMHgxMDkzZiwKKwkweDEwYTUwLCAweDEwYTU4LAorCTB4MTBh
N2YsIDB4MTBhN2YsCisJMHgxMGFmMCwgMHgxMGFmNiwKKwkweDEwYjM5LCAweDEwYjNmLAorCTB4
MTBiOTksIDB4MTBiOWMsCisJMHgxMGY1NSwgMHgxMGY1OSwKKwkweDExMDQ3LCAweDExMDRkLAor
CTB4MTEwYmIsIDB4MTEwYmMsCisJMHgxMTBiZSwgMHgxMTBjMSwKKwkweDExMTQwLCAweDExMTQz
LAorCTB4MTExNzQsIDB4MTExNzUsCisJMHgxMTFjNSwgMHgxMTFjOCwKKwkweDExMWNkLCAweDEx
MWNkLAorCTB4MTExZGIsIDB4MTExZGIsCisJMHgxMTFkZCwgMHgxMTFkZiwKKwkweDExMjM4LCAw
eDExMjNkLAorCTB4MTEyYTksIDB4MTEyYTksCisJMHgxMTQ0YiwgMHgxMTQ0ZiwKKwkweDExNDVi
LCAweDExNDViLAorCTB4MTE0NWQsIDB4MTE0NWQsCisJMHgxMTRjNiwgMHgxMTRjNiwKKwkweDEx
NWMxLCAweDExNWQ3LAorCTB4MTE2NDEsIDB4MTE2NDMsCisJMHgxMTY2MCwgMHgxMTY2YywKKwkw
eDExNzNjLCAweDExNzNlLAorCTB4MTE4M2IsIDB4MTE4M2IsCisJMHgxMTllMiwgMHgxMTllMiwK
KwkweDExYTNmLCAweDExYTQ2LAorCTB4MTFhOWEsIDB4MTFhOWMsCisJMHgxMWE5ZSwgMHgxMWFh
MiwKKwkweDExYzQxLCAweDExYzQ1LAorCTB4MTFjNzAsIDB4MTFjNzEsCisJMHgxMWVmNywgMHgx
MWVmOCwKKwkweDExZmZmLCAweDExZmZmLAorCTB4MTI0NzAsIDB4MTI0NzQsCisJMHgxNmE2ZSwg
MHgxNmE2ZiwKKwkweDE2YWY1LCAweDE2YWY1LAorCTB4MTZiMzcsIDB4MTZiM2IsCisJMHgxNmI0
NCwgMHgxNmI0NCwKKwkweDE2ZTk3LCAweDE2ZTlhLAorCTB4MTZmZTIsIDB4MTZmZTIsCisJMHgx
YmM5ZiwgMHgxYmM5ZiwKKwkweDFkYTg3LCAweDFkYThiLAorCTB4MWU5NWUsIDB4MWU5NWYsCit9
OyAvKiBDUl9YUG9zaXhQdW5jdCAqLworCisvKiAnU3BhY2UnOiBbWzpTcGFjZTpdXSAqLworc3Rh
dGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfU3BhY2VbXSA9IHsKKwkxMCwKKwkweDAwMDksIDB4
MDAwZCwKKwkweDAwMjAsIDB4MDAyMCwKKwkweDAwODUsIDB4MDA4NSwKKwkweDAwYTAsIDB4MDBh
MCwKKwkweDE2ODAsIDB4MTY4MCwKKwkweDIwMDAsIDB4MjAwYSwKKwkweDIwMjgsIDB4MjAyOSwK
KwkweDIwMmYsIDB4MjAyZiwKKwkweDIwNWYsIDB4MjA1ZiwKKwkweDMwMDAsIDB4MzAwMCwKK307
IC8qIENSX1NwYWNlICovCisKKy8qICdVcHBlcic6IFtbOlVwcGVyOl1dICovCitzdGF0aWMgY29u
c3QgT25pZ0NvZGVQb2ludCBDUl9VcHBlcltdID0geworCTY0MSwKKwkweDAwNDEsIDB4MDA1YSwK
KwkweDAwYzAsIDB4MDBkNiwKKwkweDAwZDgsIDB4MDBkZSwKKwkweDAxMDAsIDB4MDEwMCwKKwkw
eDAxMDIsIDB4MDEwMiwKKwkweDAxMDQsIDB4MDEwNCwKKwkweDAxMDYsIDB4MDEwNiwKKwkweDAx
MDgsIDB4MDEwOCwKKwkweDAxMGEsIDB4MDEwYSwKKwkweDAxMGMsIDB4MDEwYywKKwkweDAxMGUs
IDB4MDEwZSwKKwkweDAxMTAsIDB4MDExMCwKKwkweDAxMTIsIDB4MDExMiwKKwkweDAxMTQsIDB4
MDExNCwKKwkweDAxMTYsIDB4MDExNiwKKwkweDAxMTgsIDB4MDExOCwKKwkweDAxMWEsIDB4MDEx
YSwKKwkweDAxMWMsIDB4MDExYywKKwkweDAxMWUsIDB4MDExZSwKKwkweDAxMjAsIDB4MDEyMCwK
KwkweDAxMjIsIDB4MDEyMiwKKwkweDAxMjQsIDB4MDEyNCwKKwkweDAxMjYsIDB4MDEyNiwKKwkw
eDAxMjgsIDB4MDEyOCwKKwkweDAxMmEsIDB4MDEyYSwKKwkweDAxMmMsIDB4MDEyYywKKwkweDAx
MmUsIDB4MDEyZSwKKwkweDAxMzAsIDB4MDEzMCwKKwkweDAxMzIsIDB4MDEzMiwKKwkweDAxMzQs
IDB4MDEzNCwKKwkweDAxMzYsIDB4MDEzNiwKKwkweDAxMzksIDB4MDEzOSwKKwkweDAxM2IsIDB4
MDEzYiwKKwkweDAxM2QsIDB4MDEzZCwKKwkweDAxM2YsIDB4MDEzZiwKKwkweDAxNDEsIDB4MDE0
MSwKKwkweDAxNDMsIDB4MDE0MywKKwkweDAxNDUsIDB4MDE0NSwKKwkweDAxNDcsIDB4MDE0NywK
KwkweDAxNGEsIDB4MDE0YSwKKwkweDAxNGMsIDB4MDE0YywKKwkweDAxNGUsIDB4MDE0ZSwKKwkw
eDAxNTAsIDB4MDE1MCwKKwkweDAxNTIsIDB4MDE1MiwKKwkweDAxNTQsIDB4MDE1NCwKKwkweDAx
NTYsIDB4MDE1NiwKKwkweDAxNTgsIDB4MDE1OCwKKwkweDAxNWEsIDB4MDE1YSwKKwkweDAxNWMs
IDB4MDE1YywKKwkweDAxNWUsIDB4MDE1ZSwKKwkweDAxNjAsIDB4MDE2MCwKKwkweDAxNjIsIDB4
MDE2MiwKKwkweDAxNjQsIDB4MDE2NCwKKwkweDAxNjYsIDB4MDE2NiwKKwkweDAxNjgsIDB4MDE2
OCwKKwkweDAxNmEsIDB4MDE2YSwKKwkweDAxNmMsIDB4MDE2YywKKwkweDAxNmUsIDB4MDE2ZSwK
KwkweDAxNzAsIDB4MDE3MCwKKwkweDAxNzIsIDB4MDE3MiwKKwkweDAxNzQsIDB4MDE3NCwKKwkw
eDAxNzYsIDB4MDE3NiwKKwkweDAxNzgsIDB4MDE3OSwKKwkweDAxN2IsIDB4MDE3YiwKKwkweDAx
N2QsIDB4MDE3ZCwKKwkweDAxODEsIDB4MDE4MiwKKwkweDAxODQsIDB4MDE4NCwKKwkweDAxODYs
IDB4MDE4NywKKwkweDAxODksIDB4MDE4YiwKKwkweDAxOGUsIDB4MDE5MSwKKwkweDAxOTMsIDB4
MDE5NCwKKwkweDAxOTYsIDB4MDE5OCwKKwkweDAxOWMsIDB4MDE5ZCwKKwkweDAxOWYsIDB4MDFh
MCwKKwkweDAxYTIsIDB4MDFhMiwKKwkweDAxYTQsIDB4MDFhNCwKKwkweDAxYTYsIDB4MDFhNywK
KwkweDAxYTksIDB4MDFhOSwKKwkweDAxYWMsIDB4MDFhYywKKwkweDAxYWUsIDB4MDFhZiwKKwkw
eDAxYjEsIDB4MDFiMywKKwkweDAxYjUsIDB4MDFiNSwKKwkweDAxYjcsIDB4MDFiOCwKKwkweDAx
YmMsIDB4MDFiYywKKwkweDAxYzQsIDB4MDFjNCwKKwkweDAxYzcsIDB4MDFjNywKKwkweDAxY2Es
IDB4MDFjYSwKKwkweDAxY2QsIDB4MDFjZCwKKwkweDAxY2YsIDB4MDFjZiwKKwkweDAxZDEsIDB4
MDFkMSwKKwkweDAxZDMsIDB4MDFkMywKKwkweDAxZDUsIDB4MDFkNSwKKwkweDAxZDcsIDB4MDFk
NywKKwkweDAxZDksIDB4MDFkOSwKKwkweDAxZGIsIDB4MDFkYiwKKwkweDAxZGUsIDB4MDFkZSwK
KwkweDAxZTAsIDB4MDFlMCwKKwkweDAxZTIsIDB4MDFlMiwKKwkweDAxZTQsIDB4MDFlNCwKKwkw
eDAxZTYsIDB4MDFlNiwKKwkweDAxZTgsIDB4MDFlOCwKKwkweDAxZWEsIDB4MDFlYSwKKwkweDAx
ZWMsIDB4MDFlYywKKwkweDAxZWUsIDB4MDFlZSwKKwkweDAxZjEsIDB4MDFmMSwKKwkweDAxZjQs
IDB4MDFmNCwKKwkweDAxZjYsIDB4MDFmOCwKKwkweDAxZmEsIDB4MDFmYSwKKwkweDAxZmMsIDB4
MDFmYywKKwkweDAxZmUsIDB4MDFmZSwKKwkweDAyMDAsIDB4MDIwMCwKKwkweDAyMDIsIDB4MDIw
MiwKKwkweDAyMDQsIDB4MDIwNCwKKwkweDAyMDYsIDB4MDIwNiwKKwkweDAyMDgsIDB4MDIwOCwK
KwkweDAyMGEsIDB4MDIwYSwKKwkweDAyMGMsIDB4MDIwYywKKwkweDAyMGUsIDB4MDIwZSwKKwkw
eDAyMTAsIDB4MDIxMCwKKwkweDAyMTIsIDB4MDIxMiwKKwkweDAyMTQsIDB4MDIxNCwKKwkweDAy
MTYsIDB4MDIxNiwKKwkweDAyMTgsIDB4MDIxOCwKKwkweDAyMWEsIDB4MDIxYSwKKwkweDAyMWMs
IDB4MDIxYywKKwkweDAyMWUsIDB4MDIxZSwKKwkweDAyMjAsIDB4MDIyMCwKKwkweDAyMjIsIDB4
MDIyMiwKKwkweDAyMjQsIDB4MDIyNCwKKwkweDAyMjYsIDB4MDIyNiwKKwkweDAyMjgsIDB4MDIy
OCwKKwkweDAyMmEsIDB4MDIyYSwKKwkweDAyMmMsIDB4MDIyYywKKwkweDAyMmUsIDB4MDIyZSwK
KwkweDAyMzAsIDB4MDIzMCwKKwkweDAyMzIsIDB4MDIzMiwKKwkweDAyM2EsIDB4MDIzYiwKKwkw
eDAyM2QsIDB4MDIzZSwKKwkweDAyNDEsIDB4MDI0MSwKKwkweDAyNDMsIDB4MDI0NiwKKwkweDAy
NDgsIDB4MDI0OCwKKwkweDAyNGEsIDB4MDI0YSwKKwkweDAyNGMsIDB4MDI0YywKKwkweDAyNGUs
IDB4MDI0ZSwKKwkweDAzNzAsIDB4MDM3MCwKKwkweDAzNzIsIDB4MDM3MiwKKwkweDAzNzYsIDB4
MDM3NiwKKwkweDAzN2YsIDB4MDM3ZiwKKwkweDAzODYsIDB4MDM4NiwKKwkweDAzODgsIDB4MDM4
YSwKKwkweDAzOGMsIDB4MDM4YywKKwkweDAzOGUsIDB4MDM4ZiwKKwkweDAzOTEsIDB4MDNhMSwK
KwkweDAzYTMsIDB4MDNhYiwKKwkweDAzY2YsIDB4MDNjZiwKKwkweDAzZDIsIDB4MDNkNCwKKwkw
eDAzZDgsIDB4MDNkOCwKKwkweDAzZGEsIDB4MDNkYSwKKwkweDAzZGMsIDB4MDNkYywKKwkweDAz
ZGUsIDB4MDNkZSwKKwkweDAzZTAsIDB4MDNlMCwKKwkweDAzZTIsIDB4MDNlMiwKKwkweDAzZTQs
IDB4MDNlNCwKKwkweDAzZTYsIDB4MDNlNiwKKwkweDAzZTgsIDB4MDNlOCwKKwkweDAzZWEsIDB4
MDNlYSwKKwkweDAzZWMsIDB4MDNlYywKKwkweDAzZWUsIDB4MDNlZSwKKwkweDAzZjQsIDB4MDNm
NCwKKwkweDAzZjcsIDB4MDNmNywKKwkweDAzZjksIDB4MDNmYSwKKwkweDAzZmQsIDB4MDQyZiwK
KwkweDA0NjAsIDB4MDQ2MCwKKwkweDA0NjIsIDB4MDQ2MiwKKwkweDA0NjQsIDB4MDQ2NCwKKwkw
eDA0NjYsIDB4MDQ2NiwKKwkweDA0NjgsIDB4MDQ2OCwKKwkweDA0NmEsIDB4MDQ2YSwKKwkweDA0
NmMsIDB4MDQ2YywKKwkweDA0NmUsIDB4MDQ2ZSwKKwkweDA0NzAsIDB4MDQ3MCwKKwkweDA0NzIs
IDB4MDQ3MiwKKwkweDA0NzQsIDB4MDQ3NCwKKwkweDA0NzYsIDB4MDQ3NiwKKwkweDA0NzgsIDB4
MDQ3OCwKKwkweDA0N2EsIDB4MDQ3YSwKKwkweDA0N2MsIDB4MDQ3YywKKwkweDA0N2UsIDB4MDQ3
ZSwKKwkweDA0ODAsIDB4MDQ4MCwKKwkweDA0OGEsIDB4MDQ4YSwKKwkweDA0OGMsIDB4MDQ4YywK
KwkweDA0OGUsIDB4MDQ4ZSwKKwkweDA0OTAsIDB4MDQ5MCwKKwkweDA0OTIsIDB4MDQ5MiwKKwkw
eDA0OTQsIDB4MDQ5NCwKKwkweDA0OTYsIDB4MDQ5NiwKKwkweDA0OTgsIDB4MDQ5OCwKKwkweDA0
OWEsIDB4MDQ5YSwKKwkweDA0OWMsIDB4MDQ5YywKKwkweDA0OWUsIDB4MDQ5ZSwKKwkweDA0YTAs
IDB4MDRhMCwKKwkweDA0YTIsIDB4MDRhMiwKKwkweDA0YTQsIDB4MDRhNCwKKwkweDA0YTYsIDB4
MDRhNiwKKwkweDA0YTgsIDB4MDRhOCwKKwkweDA0YWEsIDB4MDRhYSwKKwkweDA0YWMsIDB4MDRh
YywKKwkweDA0YWUsIDB4MDRhZSwKKwkweDA0YjAsIDB4MDRiMCwKKwkweDA0YjIsIDB4MDRiMiwK
KwkweDA0YjQsIDB4MDRiNCwKKwkweDA0YjYsIDB4MDRiNiwKKwkweDA0YjgsIDB4MDRiOCwKKwkw
eDA0YmEsIDB4MDRiYSwKKwkweDA0YmMsIDB4MDRiYywKKwkweDA0YmUsIDB4MDRiZSwKKwkweDA0
YzAsIDB4MDRjMSwKKwkweDA0YzMsIDB4MDRjMywKKwkweDA0YzUsIDB4MDRjNSwKKwkweDA0Yzcs
IDB4MDRjNywKKwkweDA0YzksIDB4MDRjOSwKKwkweDA0Y2IsIDB4MDRjYiwKKwkweDA0Y2QsIDB4
MDRjZCwKKwkweDA0ZDAsIDB4MDRkMCwKKwkweDA0ZDIsIDB4MDRkMiwKKwkweDA0ZDQsIDB4MDRk
NCwKKwkweDA0ZDYsIDB4MDRkNiwKKwkweDA0ZDgsIDB4MDRkOCwKKwkweDA0ZGEsIDB4MDRkYSwK
KwkweDA0ZGMsIDB4MDRkYywKKwkweDA0ZGUsIDB4MDRkZSwKKwkweDA0ZTAsIDB4MDRlMCwKKwkw
eDA0ZTIsIDB4MDRlMiwKKwkweDA0ZTQsIDB4MDRlNCwKKwkweDA0ZTYsIDB4MDRlNiwKKwkweDA0
ZTgsIDB4MDRlOCwKKwkweDA0ZWEsIDB4MDRlYSwKKwkweDA0ZWMsIDB4MDRlYywKKwkweDA0ZWUs
IDB4MDRlZSwKKwkweDA0ZjAsIDB4MDRmMCwKKwkweDA0ZjIsIDB4MDRmMiwKKwkweDA0ZjQsIDB4
MDRmNCwKKwkweDA0ZjYsIDB4MDRmNiwKKwkweDA0ZjgsIDB4MDRmOCwKKwkweDA0ZmEsIDB4MDRm
YSwKKwkweDA0ZmMsIDB4MDRmYywKKwkweDA0ZmUsIDB4MDRmZSwKKwkweDA1MDAsIDB4MDUwMCwK
KwkweDA1MDIsIDB4MDUwMiwKKwkweDA1MDQsIDB4MDUwNCwKKwkweDA1MDYsIDB4MDUwNiwKKwkw
eDA1MDgsIDB4MDUwOCwKKwkweDA1MGEsIDB4MDUwYSwKKwkweDA1MGMsIDB4MDUwYywKKwkweDA1
MGUsIDB4MDUwZSwKKwkweDA1MTAsIDB4MDUxMCwKKwkweDA1MTIsIDB4MDUxMiwKKwkweDA1MTQs
IDB4MDUxNCwKKwkweDA1MTYsIDB4MDUxNiwKKwkweDA1MTgsIDB4MDUxOCwKKwkweDA1MWEsIDB4
MDUxYSwKKwkweDA1MWMsIDB4MDUxYywKKwkweDA1MWUsIDB4MDUxZSwKKwkweDA1MjAsIDB4MDUy
MCwKKwkweDA1MjIsIDB4MDUyMiwKKwkweDA1MjQsIDB4MDUyNCwKKwkweDA1MjYsIDB4MDUyNiwK
KwkweDA1MjgsIDB4MDUyOCwKKwkweDA1MmEsIDB4MDUyYSwKKwkweDA1MmMsIDB4MDUyYywKKwkw
eDA1MmUsIDB4MDUyZSwKKwkweDA1MzEsIDB4MDU1NiwKKwkweDEwYTAsIDB4MTBjNSwKKwkweDEw
YzcsIDB4MTBjNywKKwkweDEwY2QsIDB4MTBjZCwKKwkweDEzYTAsIDB4MTNmNSwKKwkweDFjOTAs
IDB4MWNiYSwKKwkweDFjYmQsIDB4MWNiZiwKKwkweDFlMDAsIDB4MWUwMCwKKwkweDFlMDIsIDB4
MWUwMiwKKwkweDFlMDQsIDB4MWUwNCwKKwkweDFlMDYsIDB4MWUwNiwKKwkweDFlMDgsIDB4MWUw
OCwKKwkweDFlMGEsIDB4MWUwYSwKKwkweDFlMGMsIDB4MWUwYywKKwkweDFlMGUsIDB4MWUwZSwK
KwkweDFlMTAsIDB4MWUxMCwKKwkweDFlMTIsIDB4MWUxMiwKKwkweDFlMTQsIDB4MWUxNCwKKwkw
eDFlMTYsIDB4MWUxNiwKKwkweDFlMTgsIDB4MWUxOCwKKwkweDFlMWEsIDB4MWUxYSwKKwkweDFl
MWMsIDB4MWUxYywKKwkweDFlMWUsIDB4MWUxZSwKKwkweDFlMjAsIDB4MWUyMCwKKwkweDFlMjIs
IDB4MWUyMiwKKwkweDFlMjQsIDB4MWUyNCwKKwkweDFlMjYsIDB4MWUyNiwKKwkweDFlMjgsIDB4
MWUyOCwKKwkweDFlMmEsIDB4MWUyYSwKKwkweDFlMmMsIDB4MWUyYywKKwkweDFlMmUsIDB4MWUy
ZSwKKwkweDFlMzAsIDB4MWUzMCwKKwkweDFlMzIsIDB4MWUzMiwKKwkweDFlMzQsIDB4MWUzNCwK
KwkweDFlMzYsIDB4MWUzNiwKKwkweDFlMzgsIDB4MWUzOCwKKwkweDFlM2EsIDB4MWUzYSwKKwkw
eDFlM2MsIDB4MWUzYywKKwkweDFlM2UsIDB4MWUzZSwKKwkweDFlNDAsIDB4MWU0MCwKKwkweDFl
NDIsIDB4MWU0MiwKKwkweDFlNDQsIDB4MWU0NCwKKwkweDFlNDYsIDB4MWU0NiwKKwkweDFlNDgs
IDB4MWU0OCwKKwkweDFlNGEsIDB4MWU0YSwKKwkweDFlNGMsIDB4MWU0YywKKwkweDFlNGUsIDB4
MWU0ZSwKKwkweDFlNTAsIDB4MWU1MCwKKwkweDFlNTIsIDB4MWU1MiwKKwkweDFlNTQsIDB4MWU1
NCwKKwkweDFlNTYsIDB4MWU1NiwKKwkweDFlNTgsIDB4MWU1OCwKKwkweDFlNWEsIDB4MWU1YSwK
KwkweDFlNWMsIDB4MWU1YywKKwkweDFlNWUsIDB4MWU1ZSwKKwkweDFlNjAsIDB4MWU2MCwKKwkw
eDFlNjIsIDB4MWU2MiwKKwkweDFlNjQsIDB4MWU2NCwKKwkweDFlNjYsIDB4MWU2NiwKKwkweDFl
NjgsIDB4MWU2OCwKKwkweDFlNmEsIDB4MWU2YSwKKwkweDFlNmMsIDB4MWU2YywKKwkweDFlNmUs
IDB4MWU2ZSwKKwkweDFlNzAsIDB4MWU3MCwKKwkweDFlNzIsIDB4MWU3MiwKKwkweDFlNzQsIDB4
MWU3NCwKKwkweDFlNzYsIDB4MWU3NiwKKwkweDFlNzgsIDB4MWU3OCwKKwkweDFlN2EsIDB4MWU3
YSwKKwkweDFlN2MsIDB4MWU3YywKKwkweDFlN2UsIDB4MWU3ZSwKKwkweDFlODAsIDB4MWU4MCwK
KwkweDFlODIsIDB4MWU4MiwKKwkweDFlODQsIDB4MWU4NCwKKwkweDFlODYsIDB4MWU4NiwKKwkw
eDFlODgsIDB4MWU4OCwKKwkweDFlOGEsIDB4MWU4YSwKKwkweDFlOGMsIDB4MWU4YywKKwkweDFl
OGUsIDB4MWU4ZSwKKwkweDFlOTAsIDB4MWU5MCwKKwkweDFlOTIsIDB4MWU5MiwKKwkweDFlOTQs
IDB4MWU5NCwKKwkweDFlOWUsIDB4MWU5ZSwKKwkweDFlYTAsIDB4MWVhMCwKKwkweDFlYTIsIDB4
MWVhMiwKKwkweDFlYTQsIDB4MWVhNCwKKwkweDFlYTYsIDB4MWVhNiwKKwkweDFlYTgsIDB4MWVh
OCwKKwkweDFlYWEsIDB4MWVhYSwKKwkweDFlYWMsIDB4MWVhYywKKwkweDFlYWUsIDB4MWVhZSwK
KwkweDFlYjAsIDB4MWViMCwKKwkweDFlYjIsIDB4MWViMiwKKwkweDFlYjQsIDB4MWViNCwKKwkw
eDFlYjYsIDB4MWViNiwKKwkweDFlYjgsIDB4MWViOCwKKwkweDFlYmEsIDB4MWViYSwKKwkweDFl
YmMsIDB4MWViYywKKwkweDFlYmUsIDB4MWViZSwKKwkweDFlYzAsIDB4MWVjMCwKKwkweDFlYzIs
IDB4MWVjMiwKKwkweDFlYzQsIDB4MWVjNCwKKwkweDFlYzYsIDB4MWVjNiwKKwkweDFlYzgsIDB4
MWVjOCwKKwkweDFlY2EsIDB4MWVjYSwKKwkweDFlY2MsIDB4MWVjYywKKwkweDFlY2UsIDB4MWVj
ZSwKKwkweDFlZDAsIDB4MWVkMCwKKwkweDFlZDIsIDB4MWVkMiwKKwkweDFlZDQsIDB4MWVkNCwK
KwkweDFlZDYsIDB4MWVkNiwKKwkweDFlZDgsIDB4MWVkOCwKKwkweDFlZGEsIDB4MWVkYSwKKwkw
eDFlZGMsIDB4MWVkYywKKwkweDFlZGUsIDB4MWVkZSwKKwkweDFlZTAsIDB4MWVlMCwKKwkweDFl
ZTIsIDB4MWVlMiwKKwkweDFlZTQsIDB4MWVlNCwKKwkweDFlZTYsIDB4MWVlNiwKKwkweDFlZTgs
IDB4MWVlOCwKKwkweDFlZWEsIDB4MWVlYSwKKwkweDFlZWMsIDB4MWVlYywKKwkweDFlZWUsIDB4
MWVlZSwKKwkweDFlZjAsIDB4MWVmMCwKKwkweDFlZjIsIDB4MWVmMiwKKwkweDFlZjQsIDB4MWVm
NCwKKwkweDFlZjYsIDB4MWVmNiwKKwkweDFlZjgsIDB4MWVmOCwKKwkweDFlZmEsIDB4MWVmYSwK
KwkweDFlZmMsIDB4MWVmYywKKwkweDFlZmUsIDB4MWVmZSwKKwkweDFmMDgsIDB4MWYwZiwKKwkw
eDFmMTgsIDB4MWYxZCwKKwkweDFmMjgsIDB4MWYyZiwKKwkweDFmMzgsIDB4MWYzZiwKKwkweDFm
NDgsIDB4MWY0ZCwKKwkweDFmNTksIDB4MWY1OSwKKwkweDFmNWIsIDB4MWY1YiwKKwkweDFmNWQs
IDB4MWY1ZCwKKwkweDFmNWYsIDB4MWY1ZiwKKwkweDFmNjgsIDB4MWY2ZiwKKwkweDFmYjgsIDB4
MWZiYiwKKwkweDFmYzgsIDB4MWZjYiwKKwkweDFmZDgsIDB4MWZkYiwKKwkweDFmZTgsIDB4MWZl
YywKKwkweDFmZjgsIDB4MWZmYiwKKwkweDIxMDIsIDB4MjEwMiwKKwkweDIxMDcsIDB4MjEwNywK
KwkweDIxMGIsIDB4MjEwZCwKKwkweDIxMTAsIDB4MjExMiwKKwkweDIxMTUsIDB4MjExNSwKKwkw
eDIxMTksIDB4MjExZCwKKwkweDIxMjQsIDB4MjEyNCwKKwkweDIxMjYsIDB4MjEyNiwKKwkweDIx
MjgsIDB4MjEyOCwKKwkweDIxMmEsIDB4MjEyZCwKKwkweDIxMzAsIDB4MjEzMywKKwkweDIxM2Us
IDB4MjEzZiwKKwkweDIxNDUsIDB4MjE0NSwKKwkweDIxNjAsIDB4MjE2ZiwKKwkweDIxODMsIDB4
MjE4MywKKwkweDI0YjYsIDB4MjRjZiwKKwkweDJjMDAsIDB4MmMyZSwKKwkweDJjNjAsIDB4MmM2
MCwKKwkweDJjNjIsIDB4MmM2NCwKKwkweDJjNjcsIDB4MmM2NywKKwkweDJjNjksIDB4MmM2OSwK
KwkweDJjNmIsIDB4MmM2YiwKKwkweDJjNmQsIDB4MmM3MCwKKwkweDJjNzIsIDB4MmM3MiwKKwkw
eDJjNzUsIDB4MmM3NSwKKwkweDJjN2UsIDB4MmM4MCwKKwkweDJjODIsIDB4MmM4MiwKKwkweDJj
ODQsIDB4MmM4NCwKKwkweDJjODYsIDB4MmM4NiwKKwkweDJjODgsIDB4MmM4OCwKKwkweDJjOGEs
IDB4MmM4YSwKKwkweDJjOGMsIDB4MmM4YywKKwkweDJjOGUsIDB4MmM4ZSwKKwkweDJjOTAsIDB4
MmM5MCwKKwkweDJjOTIsIDB4MmM5MiwKKwkweDJjOTQsIDB4MmM5NCwKKwkweDJjOTYsIDB4MmM5
NiwKKwkweDJjOTgsIDB4MmM5OCwKKwkweDJjOWEsIDB4MmM5YSwKKwkweDJjOWMsIDB4MmM5YywK
KwkweDJjOWUsIDB4MmM5ZSwKKwkweDJjYTAsIDB4MmNhMCwKKwkweDJjYTIsIDB4MmNhMiwKKwkw
eDJjYTQsIDB4MmNhNCwKKwkweDJjYTYsIDB4MmNhNiwKKwkweDJjYTgsIDB4MmNhOCwKKwkweDJj
YWEsIDB4MmNhYSwKKwkweDJjYWMsIDB4MmNhYywKKwkweDJjYWUsIDB4MmNhZSwKKwkweDJjYjAs
IDB4MmNiMCwKKwkweDJjYjIsIDB4MmNiMiwKKwkweDJjYjQsIDB4MmNiNCwKKwkweDJjYjYsIDB4
MmNiNiwKKwkweDJjYjgsIDB4MmNiOCwKKwkweDJjYmEsIDB4MmNiYSwKKwkweDJjYmMsIDB4MmNi
YywKKwkweDJjYmUsIDB4MmNiZSwKKwkweDJjYzAsIDB4MmNjMCwKKwkweDJjYzIsIDB4MmNjMiwK
KwkweDJjYzQsIDB4MmNjNCwKKwkweDJjYzYsIDB4MmNjNiwKKwkweDJjYzgsIDB4MmNjOCwKKwkw
eDJjY2EsIDB4MmNjYSwKKwkweDJjY2MsIDB4MmNjYywKKwkweDJjY2UsIDB4MmNjZSwKKwkweDJj
ZDAsIDB4MmNkMCwKKwkweDJjZDIsIDB4MmNkMiwKKwkweDJjZDQsIDB4MmNkNCwKKwkweDJjZDYs
IDB4MmNkNiwKKwkweDJjZDgsIDB4MmNkOCwKKwkweDJjZGEsIDB4MmNkYSwKKwkweDJjZGMsIDB4
MmNkYywKKwkweDJjZGUsIDB4MmNkZSwKKwkweDJjZTAsIDB4MmNlMCwKKwkweDJjZTIsIDB4MmNl
MiwKKwkweDJjZWIsIDB4MmNlYiwKKwkweDJjZWQsIDB4MmNlZCwKKwkweDJjZjIsIDB4MmNmMiwK
KwkweGE2NDAsIDB4YTY0MCwKKwkweGE2NDIsIDB4YTY0MiwKKwkweGE2NDQsIDB4YTY0NCwKKwkw
eGE2NDYsIDB4YTY0NiwKKwkweGE2NDgsIDB4YTY0OCwKKwkweGE2NGEsIDB4YTY0YSwKKwkweGE2
NGMsIDB4YTY0YywKKwkweGE2NGUsIDB4YTY0ZSwKKwkweGE2NTAsIDB4YTY1MCwKKwkweGE2NTIs
IDB4YTY1MiwKKwkweGE2NTQsIDB4YTY1NCwKKwkweGE2NTYsIDB4YTY1NiwKKwkweGE2NTgsIDB4
YTY1OCwKKwkweGE2NWEsIDB4YTY1YSwKKwkweGE2NWMsIDB4YTY1YywKKwkweGE2NWUsIDB4YTY1
ZSwKKwkweGE2NjAsIDB4YTY2MCwKKwkweGE2NjIsIDB4YTY2MiwKKwkweGE2NjQsIDB4YTY2NCwK
KwkweGE2NjYsIDB4YTY2NiwKKwkweGE2NjgsIDB4YTY2OCwKKwkweGE2NmEsIDB4YTY2YSwKKwkw
eGE2NmMsIDB4YTY2YywKKwkweGE2ODAsIDB4YTY4MCwKKwkweGE2ODIsIDB4YTY4MiwKKwkweGE2
ODQsIDB4YTY4NCwKKwkweGE2ODYsIDB4YTY4NiwKKwkweGE2ODgsIDB4YTY4OCwKKwkweGE2OGEs
IDB4YTY4YSwKKwkweGE2OGMsIDB4YTY4YywKKwkweGE2OGUsIDB4YTY4ZSwKKwkweGE2OTAsIDB4
YTY5MCwKKwkweGE2OTIsIDB4YTY5MiwKKwkweGE2OTQsIDB4YTY5NCwKKwkweGE2OTYsIDB4YTY5
NiwKKwkweGE2OTgsIDB4YTY5OCwKKwkweGE2OWEsIDB4YTY5YSwKKwkweGE3MjIsIDB4YTcyMiwK
KwkweGE3MjQsIDB4YTcyNCwKKwkweGE3MjYsIDB4YTcyNiwKKwkweGE3MjgsIDB4YTcyOCwKKwkw
eGE3MmEsIDB4YTcyYSwKKwkweGE3MmMsIDB4YTcyYywKKwkweGE3MmUsIDB4YTcyZSwKKwkweGE3
MzIsIDB4YTczMiwKKwkweGE3MzQsIDB4YTczNCwKKwkweGE3MzYsIDB4YTczNiwKKwkweGE3Mzgs
IDB4YTczOCwKKwkweGE3M2EsIDB4YTczYSwKKwkweGE3M2MsIDB4YTczYywKKwkweGE3M2UsIDB4
YTczZSwKKwkweGE3NDAsIDB4YTc0MCwKKwkweGE3NDIsIDB4YTc0MiwKKwkweGE3NDQsIDB4YTc0
NCwKKwkweGE3NDYsIDB4YTc0NiwKKwkweGE3NDgsIDB4YTc0OCwKKwkweGE3NGEsIDB4YTc0YSwK
KwkweGE3NGMsIDB4YTc0YywKKwkweGE3NGUsIDB4YTc0ZSwKKwkweGE3NTAsIDB4YTc1MCwKKwkw
eGE3NTIsIDB4YTc1MiwKKwkweGE3NTQsIDB4YTc1NCwKKwkweGE3NTYsIDB4YTc1NiwKKwkweGE3
NTgsIDB4YTc1OCwKKwkweGE3NWEsIDB4YTc1YSwKKwkweGE3NWMsIDB4YTc1YywKKwkweGE3NWUs
IDB4YTc1ZSwKKwkweGE3NjAsIDB4YTc2MCwKKwkweGE3NjIsIDB4YTc2MiwKKwkweGE3NjQsIDB4
YTc2NCwKKwkweGE3NjYsIDB4YTc2NiwKKwkweGE3NjgsIDB4YTc2OCwKKwkweGE3NmEsIDB4YTc2
YSwKKwkweGE3NmMsIDB4YTc2YywKKwkweGE3NmUsIDB4YTc2ZSwKKwkweGE3NzksIDB4YTc3OSwK
KwkweGE3N2IsIDB4YTc3YiwKKwkweGE3N2QsIDB4YTc3ZSwKKwkweGE3ODAsIDB4YTc4MCwKKwkw
eGE3ODIsIDB4YTc4MiwKKwkweGE3ODQsIDB4YTc4NCwKKwkweGE3ODYsIDB4YTc4NiwKKwkweGE3
OGIsIDB4YTc4YiwKKwkweGE3OGQsIDB4YTc4ZCwKKwkweGE3OTAsIDB4YTc5MCwKKwkweGE3OTIs
IDB4YTc5MiwKKwkweGE3OTYsIDB4YTc5NiwKKwkweGE3OTgsIDB4YTc5OCwKKwkweGE3OWEsIDB4
YTc5YSwKKwkweGE3OWMsIDB4YTc5YywKKwkweGE3OWUsIDB4YTc5ZSwKKwkweGE3YTAsIDB4YTdh
MCwKKwkweGE3YTIsIDB4YTdhMiwKKwkweGE3YTQsIDB4YTdhNCwKKwkweGE3YTYsIDB4YTdhNiwK
KwkweGE3YTgsIDB4YTdhOCwKKwkweGE3YWEsIDB4YTdhZSwKKwkweGE3YjAsIDB4YTdiNCwKKwkw
eGE3YjYsIDB4YTdiNiwKKwkweGE3YjgsIDB4YTdiOCwKKwkweGE3YmEsIDB4YTdiYSwKKwkweGE3
YmMsIDB4YTdiYywKKwkweGE3YmUsIDB4YTdiZSwKKwkweGE3YzIsIDB4YTdjMiwKKwkweGE3YzQs
IDB4YTdjNiwKKwkweGZmMjEsIDB4ZmYzYSwKKwkweDEwNDAwLCAweDEwNDI3LAorCTB4MTA0YjAs
IDB4MTA0ZDMsCisJMHgxMGM4MCwgMHgxMGNiMiwKKwkweDExOGEwLCAweDExOGJmLAorCTB4MTZl
NDAsIDB4MTZlNWYsCisJMHgxZDQwMCwgMHgxZDQxOSwKKwkweDFkNDM0LCAweDFkNDRkLAorCTB4
MWQ0NjgsIDB4MWQ0ODEsCisJMHgxZDQ5YywgMHgxZDQ5YywKKwkweDFkNDllLCAweDFkNDlmLAor
CTB4MWQ0YTIsIDB4MWQ0YTIsCisJMHgxZDRhNSwgMHgxZDRhNiwKKwkweDFkNGE5LCAweDFkNGFj
LAorCTB4MWQ0YWUsIDB4MWQ0YjUsCisJMHgxZDRkMCwgMHgxZDRlOSwKKwkweDFkNTA0LCAweDFk
NTA1LAorCTB4MWQ1MDcsIDB4MWQ1MGEsCisJMHgxZDUwZCwgMHgxZDUxNCwKKwkweDFkNTE2LCAw
eDFkNTFjLAorCTB4MWQ1MzgsIDB4MWQ1MzksCisJMHgxZDUzYiwgMHgxZDUzZSwKKwkweDFkNTQw
LCAweDFkNTQ0LAorCTB4MWQ1NDYsIDB4MWQ1NDYsCisJMHgxZDU0YSwgMHgxZDU1MCwKKwkweDFk
NTZjLCAweDFkNTg1LAorCTB4MWQ1YTAsIDB4MWQ1YjksCisJMHgxZDVkNCwgMHgxZDVlZCwKKwkw
eDFkNjA4LCAweDFkNjIxLAorCTB4MWQ2M2MsIDB4MWQ2NTUsCisJMHgxZDY3MCwgMHgxZDY4OSwK
KwkweDFkNmE4LCAweDFkNmMwLAorCTB4MWQ2ZTIsIDB4MWQ2ZmEsCisJMHgxZDcxYywgMHgxZDcz
NCwKKwkweDFkNzU2LCAweDFkNzZlLAorCTB4MWQ3OTAsIDB4MWQ3YTgsCisJMHgxZDdjYSwgMHgx
ZDdjYSwKKwkweDFlOTAwLCAweDFlOTIxLAorCTB4MWYxMzAsIDB4MWYxNDksCisJMHgxZjE1MCwg
MHgxZjE2OSwKKwkweDFmMTcwLCAweDFmMTg5LAorfTsgLyogQ1JfVXBwZXIgKi8KKworLyogJ1hE
aWdpdCc6IFtbOlhEaWdpdDpdXSAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfWERp
Z2l0W10gPSB7CisJMywKKwkweDAwMzAsIDB4MDAzOSwKKwkweDAwNDEsIDB4MDA0NiwKKwkweDAw
NjEsIDB4MDA2NiwKK307IC8qIENSX1hEaWdpdCAqLworCisvKiAnV29yZCc6IFtbOldvcmQ6XV0g
Ki8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX1dvcmRbXSA9IHsKKwk3MTYsCisJMHgw
MDMwLCAweDAwMzksCisJMHgwMDQxLCAweDAwNWEsCisJMHgwMDVmLCAweDAwNWYsCisJMHgwMDYx
LCAweDAwN2EsCisJMHgwMGFhLCAweDAwYWEsCisJMHgwMGI1LCAweDAwYjUsCisJMHgwMGJhLCAw
eDAwYmEsCisJMHgwMGMwLCAweDAwZDYsCisJMHgwMGQ4LCAweDAwZjYsCisJMHgwMGY4LCAweDAy
YzEsCisJMHgwMmM2LCAweDAyZDEsCisJMHgwMmUwLCAweDAyZTQsCisJMHgwMmVjLCAweDAyZWMs
CisJMHgwMmVlLCAweDAyZWUsCisJMHgwMzAwLCAweDAzNzQsCisJMHgwMzc2LCAweDAzNzcsCisJ
MHgwMzdhLCAweDAzN2QsCisJMHgwMzdmLCAweDAzN2YsCisJMHgwMzg2LCAweDAzODYsCisJMHgw
Mzg4LCAweDAzOGEsCisJMHgwMzhjLCAweDAzOGMsCisJMHgwMzhlLCAweDAzYTEsCisJMHgwM2Ez
LCAweDAzZjUsCisJMHgwM2Y3LCAweDA0ODEsCisJMHgwNDgzLCAweDA1MmYsCisJMHgwNTMxLCAw
eDA1NTYsCisJMHgwNTU5LCAweDA1NTksCisJMHgwNTYwLCAweDA1ODgsCisJMHgwNTkxLCAweDA1
YmQsCisJMHgwNWJmLCAweDA1YmYsCisJMHgwNWMxLCAweDA1YzIsCisJMHgwNWM0LCAweDA1YzUs
CisJMHgwNWM3LCAweDA1YzcsCisJMHgwNWQwLCAweDA1ZWEsCisJMHgwNWVmLCAweDA1ZjIsCisJ
MHgwNjEwLCAweDA2MWEsCisJMHgwNjIwLCAweDA2NjksCisJMHgwNjZlLCAweDA2ZDMsCisJMHgw
NmQ1LCAweDA2ZGMsCisJMHgwNmRmLCAweDA2ZTgsCisJMHgwNmVhLCAweDA2ZmMsCisJMHgwNmZm
LCAweDA2ZmYsCisJMHgwNzEwLCAweDA3NGEsCisJMHgwNzRkLCAweDA3YjEsCisJMHgwN2MwLCAw
eDA3ZjUsCisJMHgwN2ZhLCAweDA3ZmEsCisJMHgwN2ZkLCAweDA3ZmQsCisJMHgwODAwLCAweDA4
MmQsCisJMHgwODQwLCAweDA4NWIsCisJMHgwODYwLCAweDA4NmEsCisJMHgwOGEwLCAweDA4YjQs
CisJMHgwOGI2LCAweDA4YmQsCisJMHgwOGQzLCAweDA4ZTEsCisJMHgwOGUzLCAweDA5NjMsCisJ
MHgwOTY2LCAweDA5NmYsCisJMHgwOTcxLCAweDA5ODMsCisJMHgwOTg1LCAweDA5OGMsCisJMHgw
OThmLCAweDA5OTAsCisJMHgwOTkzLCAweDA5YTgsCisJMHgwOWFhLCAweDA5YjAsCisJMHgwOWIy
LCAweDA5YjIsCisJMHgwOWI2LCAweDA5YjksCisJMHgwOWJjLCAweDA5YzQsCisJMHgwOWM3LCAw
eDA5YzgsCisJMHgwOWNiLCAweDA5Y2UsCisJMHgwOWQ3LCAweDA5ZDcsCisJMHgwOWRjLCAweDA5
ZGQsCisJMHgwOWRmLCAweDA5ZTMsCisJMHgwOWU2LCAweDA5ZjEsCisJMHgwOWZjLCAweDA5ZmMs
CisJMHgwOWZlLCAweDA5ZmUsCisJMHgwYTAxLCAweDBhMDMsCisJMHgwYTA1LCAweDBhMGEsCisJ
MHgwYTBmLCAweDBhMTAsCisJMHgwYTEzLCAweDBhMjgsCisJMHgwYTJhLCAweDBhMzAsCisJMHgw
YTMyLCAweDBhMzMsCisJMHgwYTM1LCAweDBhMzYsCisJMHgwYTM4LCAweDBhMzksCisJMHgwYTNj
LCAweDBhM2MsCisJMHgwYTNlLCAweDBhNDIsCisJMHgwYTQ3LCAweDBhNDgsCisJMHgwYTRiLCAw
eDBhNGQsCisJMHgwYTUxLCAweDBhNTEsCisJMHgwYTU5LCAweDBhNWMsCisJMHgwYTVlLCAweDBh
NWUsCisJMHgwYTY2LCAweDBhNzUsCisJMHgwYTgxLCAweDBhODMsCisJMHgwYTg1LCAweDBhOGQs
CisJMHgwYThmLCAweDBhOTEsCisJMHgwYTkzLCAweDBhYTgsCisJMHgwYWFhLCAweDBhYjAsCisJ
MHgwYWIyLCAweDBhYjMsCisJMHgwYWI1LCAweDBhYjksCisJMHgwYWJjLCAweDBhYzUsCisJMHgw
YWM3LCAweDBhYzksCisJMHgwYWNiLCAweDBhY2QsCisJMHgwYWQwLCAweDBhZDAsCisJMHgwYWUw
LCAweDBhZTMsCisJMHgwYWU2LCAweDBhZWYsCisJMHgwYWY5LCAweDBhZmYsCisJMHgwYjAxLCAw
eDBiMDMsCisJMHgwYjA1LCAweDBiMGMsCisJMHgwYjBmLCAweDBiMTAsCisJMHgwYjEzLCAweDBi
MjgsCisJMHgwYjJhLCAweDBiMzAsCisJMHgwYjMyLCAweDBiMzMsCisJMHgwYjM1LCAweDBiMzks
CisJMHgwYjNjLCAweDBiNDQsCisJMHgwYjQ3LCAweDBiNDgsCisJMHgwYjRiLCAweDBiNGQsCisJ
MHgwYjU2LCAweDBiNTcsCisJMHgwYjVjLCAweDBiNWQsCisJMHgwYjVmLCAweDBiNjMsCisJMHgw
YjY2LCAweDBiNmYsCisJMHgwYjcxLCAweDBiNzEsCisJMHgwYjgyLCAweDBiODMsCisJMHgwYjg1
LCAweDBiOGEsCisJMHgwYjhlLCAweDBiOTAsCisJMHgwYjkyLCAweDBiOTUsCisJMHgwYjk5LCAw
eDBiOWEsCisJMHgwYjljLCAweDBiOWMsCisJMHgwYjllLCAweDBiOWYsCisJMHgwYmEzLCAweDBi
YTQsCisJMHgwYmE4LCAweDBiYWEsCisJMHgwYmFlLCAweDBiYjksCisJMHgwYmJlLCAweDBiYzIs
CisJMHgwYmM2LCAweDBiYzgsCisJMHgwYmNhLCAweDBiY2QsCisJMHgwYmQwLCAweDBiZDAsCisJ
MHgwYmQ3LCAweDBiZDcsCisJMHgwYmU2LCAweDBiZWYsCisJMHgwYzAwLCAweDBjMGMsCisJMHgw
YzBlLCAweDBjMTAsCisJMHgwYzEyLCAweDBjMjgsCisJMHgwYzJhLCAweDBjMzksCisJMHgwYzNk
LCAweDBjNDQsCisJMHgwYzQ2LCAweDBjNDgsCisJMHgwYzRhLCAweDBjNGQsCisJMHgwYzU1LCAw
eDBjNTYsCisJMHgwYzU4LCAweDBjNWEsCisJMHgwYzYwLCAweDBjNjMsCisJMHgwYzY2LCAweDBj
NmYsCisJMHgwYzgwLCAweDBjODMsCisJMHgwYzg1LCAweDBjOGMsCisJMHgwYzhlLCAweDBjOTAs
CisJMHgwYzkyLCAweDBjYTgsCisJMHgwY2FhLCAweDBjYjMsCisJMHgwY2I1LCAweDBjYjksCisJ
MHgwY2JjLCAweDBjYzQsCisJMHgwY2M2LCAweDBjYzgsCisJMHgwY2NhLCAweDBjY2QsCisJMHgw
Y2Q1LCAweDBjZDYsCisJMHgwY2RlLCAweDBjZGUsCisJMHgwY2UwLCAweDBjZTMsCisJMHgwY2U2
LCAweDBjZWYsCisJMHgwY2YxLCAweDBjZjIsCisJMHgwZDAwLCAweDBkMDMsCisJMHgwZDA1LCAw
eDBkMGMsCisJMHgwZDBlLCAweDBkMTAsCisJMHgwZDEyLCAweDBkNDQsCisJMHgwZDQ2LCAweDBk
NDgsCisJMHgwZDRhLCAweDBkNGUsCisJMHgwZDU0LCAweDBkNTcsCisJMHgwZDVmLCAweDBkNjMs
CisJMHgwZDY2LCAweDBkNmYsCisJMHgwZDdhLCAweDBkN2YsCisJMHgwZDgyLCAweDBkODMsCisJ
MHgwZDg1LCAweDBkOTYsCisJMHgwZDlhLCAweDBkYjEsCisJMHgwZGIzLCAweDBkYmIsCisJMHgw
ZGJkLCAweDBkYmQsCisJMHgwZGMwLCAweDBkYzYsCisJMHgwZGNhLCAweDBkY2EsCisJMHgwZGNm
LCAweDBkZDQsCisJMHgwZGQ2LCAweDBkZDYsCisJMHgwZGQ4LCAweDBkZGYsCisJMHgwZGU2LCAw
eDBkZWYsCisJMHgwZGYyLCAweDBkZjMsCisJMHgwZTAxLCAweDBlM2EsCisJMHgwZTQwLCAweDBl
NGUsCisJMHgwZTUwLCAweDBlNTksCisJMHgwZTgxLCAweDBlODIsCisJMHgwZTg0LCAweDBlODQs
CisJMHgwZTg2LCAweDBlOGEsCisJMHgwZThjLCAweDBlYTMsCisJMHgwZWE1LCAweDBlYTUsCisJ
MHgwZWE3LCAweDBlYmQsCisJMHgwZWMwLCAweDBlYzQsCisJMHgwZWM2LCAweDBlYzYsCisJMHgw
ZWM4LCAweDBlY2QsCisJMHgwZWQwLCAweDBlZDksCisJMHgwZWRjLCAweDBlZGYsCisJMHgwZjAw
LCAweDBmMDAsCisJMHgwZjE4LCAweDBmMTksCisJMHgwZjIwLCAweDBmMjksCisJMHgwZjM1LCAw
eDBmMzUsCisJMHgwZjM3LCAweDBmMzcsCisJMHgwZjM5LCAweDBmMzksCisJMHgwZjNlLCAweDBm
NDcsCisJMHgwZjQ5LCAweDBmNmMsCisJMHgwZjcxLCAweDBmODQsCisJMHgwZjg2LCAweDBmOTcs
CisJMHgwZjk5LCAweDBmYmMsCisJMHgwZmM2LCAweDBmYzYsCisJMHgxMDAwLCAweDEwNDksCisJ
MHgxMDUwLCAweDEwOWQsCisJMHgxMGEwLCAweDEwYzUsCisJMHgxMGM3LCAweDEwYzcsCisJMHgx
MGNkLCAweDEwY2QsCisJMHgxMGQwLCAweDEwZmEsCisJMHgxMGZjLCAweDEyNDgsCisJMHgxMjRh
LCAweDEyNGQsCisJMHgxMjUwLCAweDEyNTYsCisJMHgxMjU4LCAweDEyNTgsCisJMHgxMjVhLCAw
eDEyNWQsCisJMHgxMjYwLCAweDEyODgsCisJMHgxMjhhLCAweDEyOGQsCisJMHgxMjkwLCAweDEy
YjAsCisJMHgxMmIyLCAweDEyYjUsCisJMHgxMmI4LCAweDEyYmUsCisJMHgxMmMwLCAweDEyYzAs
CisJMHgxMmMyLCAweDEyYzUsCisJMHgxMmM4LCAweDEyZDYsCisJMHgxMmQ4LCAweDEzMTAsCisJ
MHgxMzEyLCAweDEzMTUsCisJMHgxMzE4LCAweDEzNWEsCisJMHgxMzVkLCAweDEzNWYsCisJMHgx
MzgwLCAweDEzOGYsCisJMHgxM2EwLCAweDEzZjUsCisJMHgxM2Y4LCAweDEzZmQsCisJMHgxNDAx
LCAweDE2NmMsCisJMHgxNjZmLCAweDE2N2YsCisJMHgxNjgxLCAweDE2OWEsCisJMHgxNmEwLCAw
eDE2ZWEsCisJMHgxNmVlLCAweDE2ZjgsCisJMHgxNzAwLCAweDE3MGMsCisJMHgxNzBlLCAweDE3
MTQsCisJMHgxNzIwLCAweDE3MzQsCisJMHgxNzQwLCAweDE3NTMsCisJMHgxNzYwLCAweDE3NmMs
CisJMHgxNzZlLCAweDE3NzAsCisJMHgxNzcyLCAweDE3NzMsCisJMHgxNzgwLCAweDE3ZDMsCisJ
MHgxN2Q3LCAweDE3ZDcsCisJMHgxN2RjLCAweDE3ZGQsCisJMHgxN2UwLCAweDE3ZTksCisJMHgx
ODBiLCAweDE4MGQsCisJMHgxODEwLCAweDE4MTksCisJMHgxODIwLCAweDE4NzgsCisJMHgxODgw
LCAweDE4YWEsCisJMHgxOGIwLCAweDE4ZjUsCisJMHgxOTAwLCAweDE5MWUsCisJMHgxOTIwLCAw
eDE5MmIsCisJMHgxOTMwLCAweDE5M2IsCisJMHgxOTQ2LCAweDE5NmQsCisJMHgxOTcwLCAweDE5
NzQsCisJMHgxOTgwLCAweDE5YWIsCisJMHgxOWIwLCAweDE5YzksCisJMHgxOWQwLCAweDE5ZDks
CisJMHgxYTAwLCAweDFhMWIsCisJMHgxYTIwLCAweDFhNWUsCisJMHgxYTYwLCAweDFhN2MsCisJ
MHgxYTdmLCAweDFhODksCisJMHgxYTkwLCAweDFhOTksCisJMHgxYWE3LCAweDFhYTcsCisJMHgx
YWIwLCAweDFhYmUsCisJMHgxYjAwLCAweDFiNGIsCisJMHgxYjUwLCAweDFiNTksCisJMHgxYjZi
LCAweDFiNzMsCisJMHgxYjgwLCAweDFiZjMsCisJMHgxYzAwLCAweDFjMzcsCisJMHgxYzQwLCAw
eDFjNDksCisJMHgxYzRkLCAweDFjN2QsCisJMHgxYzgwLCAweDFjODgsCisJMHgxYzkwLCAweDFj
YmEsCisJMHgxY2JkLCAweDFjYmYsCisJMHgxY2QwLCAweDFjZDIsCisJMHgxY2Q0LCAweDFjZmEs
CisJMHgxZDAwLCAweDFkZjksCisJMHgxZGZiLCAweDFmMTUsCisJMHgxZjE4LCAweDFmMWQsCisJ
MHgxZjIwLCAweDFmNDUsCisJMHgxZjQ4LCAweDFmNGQsCisJMHgxZjUwLCAweDFmNTcsCisJMHgx
ZjU5LCAweDFmNTksCisJMHgxZjViLCAweDFmNWIsCisJMHgxZjVkLCAweDFmNWQsCisJMHgxZjVm
LCAweDFmN2QsCisJMHgxZjgwLCAweDFmYjQsCisJMHgxZmI2LCAweDFmYmMsCisJMHgxZmJlLCAw
eDFmYmUsCisJMHgxZmMyLCAweDFmYzQsCisJMHgxZmM2LCAweDFmY2MsCisJMHgxZmQwLCAweDFm
ZDMsCisJMHgxZmQ2LCAweDFmZGIsCisJMHgxZmUwLCAweDFmZWMsCisJMHgxZmYyLCAweDFmZjQs
CisJMHgxZmY2LCAweDFmZmMsCisJMHgyMDNmLCAweDIwNDAsCisJMHgyMDU0LCAweDIwNTQsCisJ
MHgyMDcxLCAweDIwNzEsCisJMHgyMDdmLCAweDIwN2YsCisJMHgyMDkwLCAweDIwOWMsCisJMHgy
MGQwLCAweDIwZjAsCisJMHgyMTAyLCAweDIxMDIsCisJMHgyMTA3LCAweDIxMDcsCisJMHgyMTBh
LCAweDIxMTMsCisJMHgyMTE1LCAweDIxMTUsCisJMHgyMTE5LCAweDIxMWQsCisJMHgyMTI0LCAw
eDIxMjQsCisJMHgyMTI2LCAweDIxMjYsCisJMHgyMTI4LCAweDIxMjgsCisJMHgyMTJhLCAweDIx
MmQsCisJMHgyMTJmLCAweDIxMzksCisJMHgyMTNjLCAweDIxM2YsCisJMHgyMTQ1LCAweDIxNDks
CisJMHgyMTRlLCAweDIxNGUsCisJMHgyMTYwLCAweDIxODgsCisJMHgyNGI2LCAweDI0ZTksCisJ
MHgyYzAwLCAweDJjMmUsCisJMHgyYzMwLCAweDJjNWUsCisJMHgyYzYwLCAweDJjZTQsCisJMHgy
Y2ViLCAweDJjZjMsCisJMHgyZDAwLCAweDJkMjUsCisJMHgyZDI3LCAweDJkMjcsCisJMHgyZDJk
LCAweDJkMmQsCisJMHgyZDMwLCAweDJkNjcsCisJMHgyZDZmLCAweDJkNmYsCisJMHgyZDdmLCAw
eDJkOTYsCisJMHgyZGEwLCAweDJkYTYsCisJMHgyZGE4LCAweDJkYWUsCisJMHgyZGIwLCAweDJk
YjYsCisJMHgyZGI4LCAweDJkYmUsCisJMHgyZGMwLCAweDJkYzYsCisJMHgyZGM4LCAweDJkY2Us
CisJMHgyZGQwLCAweDJkZDYsCisJMHgyZGQ4LCAweDJkZGUsCisJMHgyZGUwLCAweDJkZmYsCisJ
MHgyZTJmLCAweDJlMmYsCisJMHgzMDA1LCAweDMwMDcsCisJMHgzMDIxLCAweDMwMmYsCisJMHgz
MDMxLCAweDMwMzUsCisJMHgzMDM4LCAweDMwM2MsCisJMHgzMDQxLCAweDMwOTYsCisJMHgzMDk5
LCAweDMwOWEsCisJMHgzMDlkLCAweDMwOWYsCisJMHgzMGExLCAweDMwZmEsCisJMHgzMGZjLCAw
eDMwZmYsCisJMHgzMTA1LCAweDMxMmYsCisJMHgzMTMxLCAweDMxOGUsCisJMHgzMWEwLCAweDMx
YmEsCisJMHgzMWYwLCAweDMxZmYsCisJMHgzNDAwLCAweDRkYjUsCisJMHg0ZTAwLCAweDlmZWYs
CisJMHhhMDAwLCAweGE0OGMsCisJMHhhNGQwLCAweGE0ZmQsCisJMHhhNTAwLCAweGE2MGMsCisJ
MHhhNjEwLCAweGE2MmIsCisJMHhhNjQwLCAweGE2NzIsCisJMHhhNjc0LCAweGE2N2QsCisJMHhh
NjdmLCAweGE2ZjEsCisJMHhhNzE3LCAweGE3MWYsCisJMHhhNzIyLCAweGE3ODgsCisJMHhhNzhi
LCAweGE3YmYsCisJMHhhN2MyLCAweGE3YzYsCisJMHhhN2Y3LCAweGE4MjcsCisJMHhhODQwLCAw
eGE4NzMsCisJMHhhODgwLCAweGE4YzUsCisJMHhhOGQwLCAweGE4ZDksCisJMHhhOGUwLCAweGE4
ZjcsCisJMHhhOGZiLCAweGE4ZmIsCisJMHhhOGZkLCAweGE5MmQsCisJMHhhOTMwLCAweGE5NTMs
CisJMHhhOTYwLCAweGE5N2MsCisJMHhhOTgwLCAweGE5YzAsCisJMHhhOWNmLCAweGE5ZDksCisJ
MHhhOWUwLCAweGE5ZmUsCisJMHhhYTAwLCAweGFhMzYsCisJMHhhYTQwLCAweGFhNGQsCisJMHhh
YTUwLCAweGFhNTksCisJMHhhYTYwLCAweGFhNzYsCisJMHhhYTdhLCAweGFhYzIsCisJMHhhYWRi
LCAweGFhZGQsCisJMHhhYWUwLCAweGFhZWYsCisJMHhhYWYyLCAweGFhZjYsCisJMHhhYjAxLCAw
eGFiMDYsCisJMHhhYjA5LCAweGFiMGUsCisJMHhhYjExLCAweGFiMTYsCisJMHhhYjIwLCAweGFi
MjYsCisJMHhhYjI4LCAweGFiMmUsCisJMHhhYjMwLCAweGFiNWEsCisJMHhhYjVjLCAweGFiNjcs
CisJMHhhYjcwLCAweGFiZWEsCisJMHhhYmVjLCAweGFiZWQsCisJMHhhYmYwLCAweGFiZjksCisJ
MHhhYzAwLCAweGQ3YTMsCisJMHhkN2IwLCAweGQ3YzYsCisJMHhkN2NiLCAweGQ3ZmIsCisJMHhm
OTAwLCAweGZhNmQsCisJMHhmYTcwLCAweGZhZDksCisJMHhmYjAwLCAweGZiMDYsCisJMHhmYjEz
LCAweGZiMTcsCisJMHhmYjFkLCAweGZiMjgsCisJMHhmYjJhLCAweGZiMzYsCisJMHhmYjM4LCAw
eGZiM2MsCisJMHhmYjNlLCAweGZiM2UsCisJMHhmYjQwLCAweGZiNDEsCisJMHhmYjQzLCAweGZi
NDQsCisJMHhmYjQ2LCAweGZiYjEsCisJMHhmYmQzLCAweGZkM2QsCisJMHhmZDUwLCAweGZkOGYs
CisJMHhmZDkyLCAweGZkYzcsCisJMHhmZGYwLCAweGZkZmIsCisJMHhmZTAwLCAweGZlMGYsCisJ
MHhmZTIwLCAweGZlMmYsCisJMHhmZTMzLCAweGZlMzQsCisJMHhmZTRkLCAweGZlNGYsCisJMHhm
ZTcwLCAweGZlNzQsCisJMHhmZTc2LCAweGZlZmMsCisJMHhmZjEwLCAweGZmMTksCisJMHhmZjIx
LCAweGZmM2EsCisJMHhmZjNmLCAweGZmM2YsCisJMHhmZjQxLCAweGZmNWEsCisJMHhmZjY2LCAw
eGZmYmUsCisJMHhmZmMyLCAweGZmYzcsCisJMHhmZmNhLCAweGZmY2YsCisJMHhmZmQyLCAweGZm
ZDcsCisJMHhmZmRhLCAweGZmZGMsCisJMHgxMDAwMCwgMHgxMDAwYiwKKwkweDEwMDBkLCAweDEw
MDI2LAorCTB4MTAwMjgsIDB4MTAwM2EsCisJMHgxMDAzYywgMHgxMDAzZCwKKwkweDEwMDNmLCAw
eDEwMDRkLAorCTB4MTAwNTAsIDB4MTAwNWQsCisJMHgxMDA4MCwgMHgxMDBmYSwKKwkweDEwMTQw
LCAweDEwMTc0LAorCTB4MTAxZmQsIDB4MTAxZmQsCisJMHgxMDI4MCwgMHgxMDI5YywKKwkweDEw
MmEwLCAweDEwMmQwLAorCTB4MTAyZTAsIDB4MTAyZTAsCisJMHgxMDMwMCwgMHgxMDMxZiwKKwkw
eDEwMzJkLCAweDEwMzRhLAorCTB4MTAzNTAsIDB4MTAzN2EsCisJMHgxMDM4MCwgMHgxMDM5ZCwK
KwkweDEwM2EwLCAweDEwM2MzLAorCTB4MTAzYzgsIDB4MTAzY2YsCisJMHgxMDNkMSwgMHgxMDNk
NSwKKwkweDEwNDAwLCAweDEwNDlkLAorCTB4MTA0YTAsIDB4MTA0YTksCisJMHgxMDRiMCwgMHgx
MDRkMywKKwkweDEwNGQ4LCAweDEwNGZiLAorCTB4MTA1MDAsIDB4MTA1MjcsCisJMHgxMDUzMCwg
MHgxMDU2MywKKwkweDEwNjAwLCAweDEwNzM2LAorCTB4MTA3NDAsIDB4MTA3NTUsCisJMHgxMDc2
MCwgMHgxMDc2NywKKwkweDEwODAwLCAweDEwODA1LAorCTB4MTA4MDgsIDB4MTA4MDgsCisJMHgx
MDgwYSwgMHgxMDgzNSwKKwkweDEwODM3LCAweDEwODM4LAorCTB4MTA4M2MsIDB4MTA4M2MsCisJ
MHgxMDgzZiwgMHgxMDg1NSwKKwkweDEwODYwLCAweDEwODc2LAorCTB4MTA4ODAsIDB4MTA4OWUs
CisJMHgxMDhlMCwgMHgxMDhmMiwKKwkweDEwOGY0LCAweDEwOGY1LAorCTB4MTA5MDAsIDB4MTA5
MTUsCisJMHgxMDkyMCwgMHgxMDkzOSwKKwkweDEwOTgwLCAweDEwOWI3LAorCTB4MTA5YmUsIDB4
MTA5YmYsCisJMHgxMGEwMCwgMHgxMGEwMywKKwkweDEwYTA1LCAweDEwYTA2LAorCTB4MTBhMGMs
IDB4MTBhMTMsCisJMHgxMGExNSwgMHgxMGExNywKKwkweDEwYTE5LCAweDEwYTM1LAorCTB4MTBh
MzgsIDB4MTBhM2EsCisJMHgxMGEzZiwgMHgxMGEzZiwKKwkweDEwYTYwLCAweDEwYTdjLAorCTB4
MTBhODAsIDB4MTBhOWMsCisJMHgxMGFjMCwgMHgxMGFjNywKKwkweDEwYWM5LCAweDEwYWU2LAor
CTB4MTBiMDAsIDB4MTBiMzUsCisJMHgxMGI0MCwgMHgxMGI1NSwKKwkweDEwYjYwLCAweDEwYjcy
LAorCTB4MTBiODAsIDB4MTBiOTEsCisJMHgxMGMwMCwgMHgxMGM0OCwKKwkweDEwYzgwLCAweDEw
Y2IyLAorCTB4MTBjYzAsIDB4MTBjZjIsCisJMHgxMGQwMCwgMHgxMGQyNywKKwkweDEwZDMwLCAw
eDEwZDM5LAorCTB4MTBmMDAsIDB4MTBmMWMsCisJMHgxMGYyNywgMHgxMGYyNywKKwkweDEwZjMw
LCAweDEwZjUwLAorCTB4MTBmZTAsIDB4MTBmZjYsCisJMHgxMTAwMCwgMHgxMTA0NiwKKwkweDEx
MDY2LCAweDExMDZmLAorCTB4MTEwN2YsIDB4MTEwYmEsCisJMHgxMTBkMCwgMHgxMTBlOCwKKwkw
eDExMGYwLCAweDExMGY5LAorCTB4MTExMDAsIDB4MTExMzQsCisJMHgxMTEzNiwgMHgxMTEzZiwK
KwkweDExMTQ0LCAweDExMTQ2LAorCTB4MTExNTAsIDB4MTExNzMsCisJMHgxMTE3NiwgMHgxMTE3
NiwKKwkweDExMTgwLCAweDExMWM0LAorCTB4MTExYzksIDB4MTExY2MsCisJMHgxMTFkMCwgMHgx
MTFkYSwKKwkweDExMWRjLCAweDExMWRjLAorCTB4MTEyMDAsIDB4MTEyMTEsCisJMHgxMTIxMywg
MHgxMTIzNywKKwkweDExMjNlLCAweDExMjNlLAorCTB4MTEyODAsIDB4MTEyODYsCisJMHgxMTI4
OCwgMHgxMTI4OCwKKwkweDExMjhhLCAweDExMjhkLAorCTB4MTEyOGYsIDB4MTEyOWQsCisJMHgx
MTI5ZiwgMHgxMTJhOCwKKwkweDExMmIwLCAweDExMmVhLAorCTB4MTEyZjAsIDB4MTEyZjksCisJ
MHgxMTMwMCwgMHgxMTMwMywKKwkweDExMzA1LCAweDExMzBjLAorCTB4MTEzMGYsIDB4MTEzMTAs
CisJMHgxMTMxMywgMHgxMTMyOCwKKwkweDExMzJhLCAweDExMzMwLAorCTB4MTEzMzIsIDB4MTEz
MzMsCisJMHgxMTMzNSwgMHgxMTMzOSwKKwkweDExMzNiLCAweDExMzQ0LAorCTB4MTEzNDcsIDB4
MTEzNDgsCisJMHgxMTM0YiwgMHgxMTM0ZCwKKwkweDExMzUwLCAweDExMzUwLAorCTB4MTEzNTcs
IDB4MTEzNTcsCisJMHgxMTM1ZCwgMHgxMTM2MywKKwkweDExMzY2LCAweDExMzZjLAorCTB4MTEz
NzAsIDB4MTEzNzQsCisJMHgxMTQwMCwgMHgxMTQ0YSwKKwkweDExNDUwLCAweDExNDU5LAorCTB4
MTE0NWUsIDB4MTE0NWYsCisJMHgxMTQ4MCwgMHgxMTRjNSwKKwkweDExNGM3LCAweDExNGM3LAor
CTB4MTE0ZDAsIDB4MTE0ZDksCisJMHgxMTU4MCwgMHgxMTViNSwKKwkweDExNWI4LCAweDExNWMw
LAorCTB4MTE1ZDgsIDB4MTE1ZGQsCisJMHgxMTYwMCwgMHgxMTY0MCwKKwkweDExNjQ0LCAweDEx
NjQ0LAorCTB4MTE2NTAsIDB4MTE2NTksCisJMHgxMTY4MCwgMHgxMTZiOCwKKwkweDExNmMwLCAw
eDExNmM5LAorCTB4MTE3MDAsIDB4MTE3MWEsCisJMHgxMTcxZCwgMHgxMTcyYiwKKwkweDExNzMw
LCAweDExNzM5LAorCTB4MTE4MDAsIDB4MTE4M2EsCisJMHgxMThhMCwgMHgxMThlOSwKKwkweDEx
OGZmLCAweDExOGZmLAorCTB4MTE5YTAsIDB4MTE5YTcsCisJMHgxMTlhYSwgMHgxMTlkNywKKwkw
eDExOWRhLCAweDExOWUxLAorCTB4MTE5ZTMsIDB4MTE5ZTQsCisJMHgxMWEwMCwgMHgxMWEzZSwK
KwkweDExYTQ3LCAweDExYTQ3LAorCTB4MTFhNTAsIDB4MTFhOTksCisJMHgxMWE5ZCwgMHgxMWE5
ZCwKKwkweDExYWMwLCAweDExYWY4LAorCTB4MTFjMDAsIDB4MTFjMDgsCisJMHgxMWMwYSwgMHgx
MWMzNiwKKwkweDExYzM4LCAweDExYzQwLAorCTB4MTFjNTAsIDB4MTFjNTksCisJMHgxMWM3Miwg
MHgxMWM4ZiwKKwkweDExYzkyLCAweDExY2E3LAorCTB4MTFjYTksIDB4MTFjYjYsCisJMHgxMWQw
MCwgMHgxMWQwNiwKKwkweDExZDA4LCAweDExZDA5LAorCTB4MTFkMGIsIDB4MTFkMzYsCisJMHgx
MWQzYSwgMHgxMWQzYSwKKwkweDExZDNjLCAweDExZDNkLAorCTB4MTFkM2YsIDB4MTFkNDcsCisJ
MHgxMWQ1MCwgMHgxMWQ1OSwKKwkweDExZDYwLCAweDExZDY1LAorCTB4MTFkNjcsIDB4MTFkNjgs
CisJMHgxMWQ2YSwgMHgxMWQ4ZSwKKwkweDExZDkwLCAweDExZDkxLAorCTB4MTFkOTMsIDB4MTFk
OTgsCisJMHgxMWRhMCwgMHgxMWRhOSwKKwkweDExZWUwLCAweDExZWY2LAorCTB4MTIwMDAsIDB4
MTIzOTksCisJMHgxMjQwMCwgMHgxMjQ2ZSwKKwkweDEyNDgwLCAweDEyNTQzLAorCTB4MTMwMDAs
IDB4MTM0MmUsCisJMHgxNDQwMCwgMHgxNDY0NiwKKwkweDE2ODAwLCAweDE2YTM4LAorCTB4MTZh
NDAsIDB4MTZhNWUsCisJMHgxNmE2MCwgMHgxNmE2OSwKKwkweDE2YWQwLCAweDE2YWVkLAorCTB4
MTZhZjAsIDB4MTZhZjQsCisJMHgxNmIwMCwgMHgxNmIzNiwKKwkweDE2YjQwLCAweDE2YjQzLAor
CTB4MTZiNTAsIDB4MTZiNTksCisJMHgxNmI2MywgMHgxNmI3NywKKwkweDE2YjdkLCAweDE2Yjhm
LAorCTB4MTZlNDAsIDB4MTZlN2YsCisJMHgxNmYwMCwgMHgxNmY0YSwKKwkweDE2ZjRmLCAweDE2
Zjg3LAorCTB4MTZmOGYsIDB4MTZmOWYsCisJMHgxNmZlMCwgMHgxNmZlMSwKKwkweDE2ZmUzLCAw
eDE2ZmUzLAorCTB4MTcwMDAsIDB4MTg3ZjcsCisJMHgxODgwMCwgMHgxOGFmMiwKKwkweDFiMDAw
LCAweDFiMTFlLAorCTB4MWIxNTAsIDB4MWIxNTIsCisJMHgxYjE2NCwgMHgxYjE2NywKKwkweDFi
MTcwLCAweDFiMmZiLAorCTB4MWJjMDAsIDB4MWJjNmEsCisJMHgxYmM3MCwgMHgxYmM3YywKKwkw
eDFiYzgwLCAweDFiYzg4LAorCTB4MWJjOTAsIDB4MWJjOTksCisJMHgxYmM5ZCwgMHgxYmM5ZSwK
KwkweDFkMTY1LCAweDFkMTY5LAorCTB4MWQxNmQsIDB4MWQxNzIsCisJMHgxZDE3YiwgMHgxZDE4
MiwKKwkweDFkMTg1LCAweDFkMThiLAorCTB4MWQxYWEsIDB4MWQxYWQsCisJMHgxZDI0MiwgMHgx
ZDI0NCwKKwkweDFkNDAwLCAweDFkNDU0LAorCTB4MWQ0NTYsIDB4MWQ0OWMsCisJMHgxZDQ5ZSwg
MHgxZDQ5ZiwKKwkweDFkNGEyLCAweDFkNGEyLAorCTB4MWQ0YTUsIDB4MWQ0YTYsCisJMHgxZDRh
OSwgMHgxZDRhYywKKwkweDFkNGFlLCAweDFkNGI5LAorCTB4MWQ0YmIsIDB4MWQ0YmIsCisJMHgx
ZDRiZCwgMHgxZDRjMywKKwkweDFkNGM1LCAweDFkNTA1LAorCTB4MWQ1MDcsIDB4MWQ1MGEsCisJ
MHgxZDUwZCwgMHgxZDUxNCwKKwkweDFkNTE2LCAweDFkNTFjLAorCTB4MWQ1MWUsIDB4MWQ1Mzks
CisJMHgxZDUzYiwgMHgxZDUzZSwKKwkweDFkNTQwLCAweDFkNTQ0LAorCTB4MWQ1NDYsIDB4MWQ1
NDYsCisJMHgxZDU0YSwgMHgxZDU1MCwKKwkweDFkNTUyLCAweDFkNmE1LAorCTB4MWQ2YTgsIDB4
MWQ2YzAsCisJMHgxZDZjMiwgMHgxZDZkYSwKKwkweDFkNmRjLCAweDFkNmZhLAorCTB4MWQ2ZmMs
IDB4MWQ3MTQsCisJMHgxZDcxNiwgMHgxZDczNCwKKwkweDFkNzM2LCAweDFkNzRlLAorCTB4MWQ3
NTAsIDB4MWQ3NmUsCisJMHgxZDc3MCwgMHgxZDc4OCwKKwkweDFkNzhhLCAweDFkN2E4LAorCTB4
MWQ3YWEsIDB4MWQ3YzIsCisJMHgxZDdjNCwgMHgxZDdjYiwKKwkweDFkN2NlLCAweDFkN2ZmLAor
CTB4MWRhMDAsIDB4MWRhMzYsCisJMHgxZGEzYiwgMHgxZGE2YywKKwkweDFkYTc1LCAweDFkYTc1
LAorCTB4MWRhODQsIDB4MWRhODQsCisJMHgxZGE5YiwgMHgxZGE5ZiwKKwkweDFkYWExLCAweDFk
YWFmLAorCTB4MWUwMDAsIDB4MWUwMDYsCisJMHgxZTAwOCwgMHgxZTAxOCwKKwkweDFlMDFiLCAw
eDFlMDIxLAorCTB4MWUwMjMsIDB4MWUwMjQsCisJMHgxZTAyNiwgMHgxZTAyYSwKKwkweDFlMTAw
LCAweDFlMTJjLAorCTB4MWUxMzAsIDB4MWUxM2QsCisJMHgxZTE0MCwgMHgxZTE0OSwKKwkweDFl
MTRlLCAweDFlMTRlLAorCTB4MWUyYzAsIDB4MWUyZjksCisJMHgxZTgwMCwgMHgxZThjNCwKKwkw
eDFlOGQwLCAweDFlOGQ2LAorCTB4MWU5MDAsIDB4MWU5NGIsCisJMHgxZTk1MCwgMHgxZTk1OSwK
KwkweDFlZTAwLCAweDFlZTAzLAorCTB4MWVlMDUsIDB4MWVlMWYsCisJMHgxZWUyMSwgMHgxZWUy
MiwKKwkweDFlZTI0LCAweDFlZTI0LAorCTB4MWVlMjcsIDB4MWVlMjcsCisJMHgxZWUyOSwgMHgx
ZWUzMiwKKwkweDFlZTM0LCAweDFlZTM3LAorCTB4MWVlMzksIDB4MWVlMzksCisJMHgxZWUzYiwg
MHgxZWUzYiwKKwkweDFlZTQyLCAweDFlZTQyLAorCTB4MWVlNDcsIDB4MWVlNDcsCisJMHgxZWU0
OSwgMHgxZWU0OSwKKwkweDFlZTRiLCAweDFlZTRiLAorCTB4MWVlNGQsIDB4MWVlNGYsCisJMHgx
ZWU1MSwgMHgxZWU1MiwKKwkweDFlZTU0LCAweDFlZTU0LAorCTB4MWVlNTcsIDB4MWVlNTcsCisJ
MHgxZWU1OSwgMHgxZWU1OSwKKwkweDFlZTViLCAweDFlZTViLAorCTB4MWVlNWQsIDB4MWVlNWQs
CisJMHgxZWU1ZiwgMHgxZWU1ZiwKKwkweDFlZTYxLCAweDFlZTYyLAorCTB4MWVlNjQsIDB4MWVl
NjQsCisJMHgxZWU2NywgMHgxZWU2YSwKKwkweDFlZTZjLCAweDFlZTcyLAorCTB4MWVlNzQsIDB4
MWVlNzcsCisJMHgxZWU3OSwgMHgxZWU3YywKKwkweDFlZTdlLCAweDFlZTdlLAorCTB4MWVlODAs
IDB4MWVlODksCisJMHgxZWU4YiwgMHgxZWU5YiwKKwkweDFlZWExLCAweDFlZWEzLAorCTB4MWVl
YTUsIDB4MWVlYTksCisJMHgxZWVhYiwgMHgxZWViYiwKKwkweDFmMTMwLCAweDFmMTQ5LAorCTB4
MWYxNTAsIDB4MWYxNjksCisJMHgxZjE3MCwgMHgxZjE4OSwKKwkweDIwMDAwLCAweDJhNmQ2LAor
CTB4MmE3MDAsIDB4MmI3MzQsCisJMHgyYjc0MCwgMHgyYjgxZCwKKwkweDJiODIwLCAweDJjZWEx
LAorCTB4MmNlYjAsIDB4MmViZTAsCisJMHgyZjgwMCwgMHgyZmExZCwKKwkweGUwMTAwLCAweGUw
MWVmLAorfTsgLyogQ1JfV29yZCAqLworCisvKiAnQWxudW0nOiBbWzpBbG51bTpdXSAqLworc3Rh
dGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfQWxudW1bXSA9IHsKKwk3MTUsCisJMHgwMDMwLCAw
eDAwMzksCisJMHgwMDQxLCAweDAwNWEsCisJMHgwMDYxLCAweDAwN2EsCisJMHgwMGFhLCAweDAw
YWEsCisJMHgwMGI1LCAweDAwYjUsCisJMHgwMGJhLCAweDAwYmEsCisJMHgwMGMwLCAweDAwZDYs
CisJMHgwMGQ4LCAweDAwZjYsCisJMHgwMGY4LCAweDAyYzEsCisJMHgwMmM2LCAweDAyZDEsCisJ
MHgwMmUwLCAweDAyZTQsCisJMHgwMmVjLCAweDAyZWMsCisJMHgwMmVlLCAweDAyZWUsCisJMHgw
MzQ1LCAweDAzNDUsCisJMHgwMzcwLCAweDAzNzQsCisJMHgwMzc2LCAweDAzNzcsCisJMHgwMzdh
LCAweDAzN2QsCisJMHgwMzdmLCAweDAzN2YsCisJMHgwMzg2LCAweDAzODYsCisJMHgwMzg4LCAw
eDAzOGEsCisJMHgwMzhjLCAweDAzOGMsCisJMHgwMzhlLCAweDAzYTEsCisJMHgwM2EzLCAweDAz
ZjUsCisJMHgwM2Y3LCAweDA0ODEsCisJMHgwNDhhLCAweDA1MmYsCisJMHgwNTMxLCAweDA1NTYs
CisJMHgwNTU5LCAweDA1NTksCisJMHgwNTYwLCAweDA1ODgsCisJMHgwNWIwLCAweDA1YmQsCisJ
MHgwNWJmLCAweDA1YmYsCisJMHgwNWMxLCAweDA1YzIsCisJMHgwNWM0LCAweDA1YzUsCisJMHgw
NWM3LCAweDA1YzcsCisJMHgwNWQwLCAweDA1ZWEsCisJMHgwNWVmLCAweDA1ZjIsCisJMHgwNjEw
LCAweDA2MWEsCisJMHgwNjIwLCAweDA2NTcsCisJMHgwNjU5LCAweDA2NjksCisJMHgwNjZlLCAw
eDA2ZDMsCisJMHgwNmQ1LCAweDA2ZGMsCisJMHgwNmUxLCAweDA2ZTgsCisJMHgwNmVkLCAweDA2
ZmMsCisJMHgwNmZmLCAweDA2ZmYsCisJMHgwNzEwLCAweDA3M2YsCisJMHgwNzRkLCAweDA3YjEs
CisJMHgwN2MwLCAweDA3ZWEsCisJMHgwN2Y0LCAweDA3ZjUsCisJMHgwN2ZhLCAweDA3ZmEsCisJ
MHgwODAwLCAweDA4MTcsCisJMHgwODFhLCAweDA4MmMsCisJMHgwODQwLCAweDA4NTgsCisJMHgw
ODYwLCAweDA4NmEsCisJMHgwOGEwLCAweDA4YjQsCisJMHgwOGI2LCAweDA4YmQsCisJMHgwOGQ0
LCAweDA4ZGYsCisJMHgwOGUzLCAweDA4ZTksCisJMHgwOGYwLCAweDA5M2IsCisJMHgwOTNkLCAw
eDA5NGMsCisJMHgwOTRlLCAweDA5NTAsCisJMHgwOTU1LCAweDA5NjMsCisJMHgwOTY2LCAweDA5
NmYsCisJMHgwOTcxLCAweDA5ODMsCisJMHgwOTg1LCAweDA5OGMsCisJMHgwOThmLCAweDA5OTAs
CisJMHgwOTkzLCAweDA5YTgsCisJMHgwOWFhLCAweDA5YjAsCisJMHgwOWIyLCAweDA5YjIsCisJ
MHgwOWI2LCAweDA5YjksCisJMHgwOWJkLCAweDA5YzQsCisJMHgwOWM3LCAweDA5YzgsCisJMHgw
OWNiLCAweDA5Y2MsCisJMHgwOWNlLCAweDA5Y2UsCisJMHgwOWQ3LCAweDA5ZDcsCisJMHgwOWRj
LCAweDA5ZGQsCisJMHgwOWRmLCAweDA5ZTMsCisJMHgwOWU2LCAweDA5ZjEsCisJMHgwOWZjLCAw
eDA5ZmMsCisJMHgwYTAxLCAweDBhMDMsCisJMHgwYTA1LCAweDBhMGEsCisJMHgwYTBmLCAweDBh
MTAsCisJMHgwYTEzLCAweDBhMjgsCisJMHgwYTJhLCAweDBhMzAsCisJMHgwYTMyLCAweDBhMzMs
CisJMHgwYTM1LCAweDBhMzYsCisJMHgwYTM4LCAweDBhMzksCisJMHgwYTNlLCAweDBhNDIsCisJ
MHgwYTQ3LCAweDBhNDgsCisJMHgwYTRiLCAweDBhNGMsCisJMHgwYTUxLCAweDBhNTEsCisJMHgw
YTU5LCAweDBhNWMsCisJMHgwYTVlLCAweDBhNWUsCisJMHgwYTY2LCAweDBhNzUsCisJMHgwYTgx
LCAweDBhODMsCisJMHgwYTg1LCAweDBhOGQsCisJMHgwYThmLCAweDBhOTEsCisJMHgwYTkzLCAw
eDBhYTgsCisJMHgwYWFhLCAweDBhYjAsCisJMHgwYWIyLCAweDBhYjMsCisJMHgwYWI1LCAweDBh
YjksCisJMHgwYWJkLCAweDBhYzUsCisJMHgwYWM3LCAweDBhYzksCisJMHgwYWNiLCAweDBhY2Ms
CisJMHgwYWQwLCAweDBhZDAsCisJMHgwYWUwLCAweDBhZTMsCisJMHgwYWU2LCAweDBhZWYsCisJ
MHgwYWY5LCAweDBhZmMsCisJMHgwYjAxLCAweDBiMDMsCisJMHgwYjA1LCAweDBiMGMsCisJMHgw
YjBmLCAweDBiMTAsCisJMHgwYjEzLCAweDBiMjgsCisJMHgwYjJhLCAweDBiMzAsCisJMHgwYjMy
LCAweDBiMzMsCisJMHgwYjM1LCAweDBiMzksCisJMHgwYjNkLCAweDBiNDQsCisJMHgwYjQ3LCAw
eDBiNDgsCisJMHgwYjRiLCAweDBiNGMsCisJMHgwYjU2LCAweDBiNTcsCisJMHgwYjVjLCAweDBi
NWQsCisJMHgwYjVmLCAweDBiNjMsCisJMHgwYjY2LCAweDBiNmYsCisJMHgwYjcxLCAweDBiNzEs
CisJMHgwYjgyLCAweDBiODMsCisJMHgwYjg1LCAweDBiOGEsCisJMHgwYjhlLCAweDBiOTAsCisJ
MHgwYjkyLCAweDBiOTUsCisJMHgwYjk5LCAweDBiOWEsCisJMHgwYjljLCAweDBiOWMsCisJMHgw
YjllLCAweDBiOWYsCisJMHgwYmEzLCAweDBiYTQsCisJMHgwYmE4LCAweDBiYWEsCisJMHgwYmFl
LCAweDBiYjksCisJMHgwYmJlLCAweDBiYzIsCisJMHgwYmM2LCAweDBiYzgsCisJMHgwYmNhLCAw
eDBiY2MsCisJMHgwYmQwLCAweDBiZDAsCisJMHgwYmQ3LCAweDBiZDcsCisJMHgwYmU2LCAweDBi
ZWYsCisJMHgwYzAwLCAweDBjMDMsCisJMHgwYzA1LCAweDBjMGMsCisJMHgwYzBlLCAweDBjMTAs
CisJMHgwYzEyLCAweDBjMjgsCisJMHgwYzJhLCAweDBjMzksCisJMHgwYzNkLCAweDBjNDQsCisJ
MHgwYzQ2LCAweDBjNDgsCisJMHgwYzRhLCAweDBjNGMsCisJMHgwYzU1LCAweDBjNTYsCisJMHgw
YzU4LCAweDBjNWEsCisJMHgwYzYwLCAweDBjNjMsCisJMHgwYzY2LCAweDBjNmYsCisJMHgwYzgw
LCAweDBjODMsCisJMHgwYzg1LCAweDBjOGMsCisJMHgwYzhlLCAweDBjOTAsCisJMHgwYzkyLCAw
eDBjYTgsCisJMHgwY2FhLCAweDBjYjMsCisJMHgwY2I1LCAweDBjYjksCisJMHgwY2JkLCAweDBj
YzQsCisJMHgwY2M2LCAweDBjYzgsCisJMHgwY2NhLCAweDBjY2MsCisJMHgwY2Q1LCAweDBjZDYs
CisJMHgwY2RlLCAweDBjZGUsCisJMHgwY2UwLCAweDBjZTMsCisJMHgwY2U2LCAweDBjZWYsCisJ
MHgwY2YxLCAweDBjZjIsCisJMHgwZDAwLCAweDBkMDMsCisJMHgwZDA1LCAweDBkMGMsCisJMHgw
ZDBlLCAweDBkMTAsCisJMHgwZDEyLCAweDBkM2EsCisJMHgwZDNkLCAweDBkNDQsCisJMHgwZDQ2
LCAweDBkNDgsCisJMHgwZDRhLCAweDBkNGMsCisJMHgwZDRlLCAweDBkNGUsCisJMHgwZDU0LCAw
eDBkNTcsCisJMHgwZDVmLCAweDBkNjMsCisJMHgwZDY2LCAweDBkNmYsCisJMHgwZDdhLCAweDBk
N2YsCisJMHgwZDgyLCAweDBkODMsCisJMHgwZDg1LCAweDBkOTYsCisJMHgwZDlhLCAweDBkYjEs
CisJMHgwZGIzLCAweDBkYmIsCisJMHgwZGJkLCAweDBkYmQsCisJMHgwZGMwLCAweDBkYzYsCisJ
MHgwZGNmLCAweDBkZDQsCisJMHgwZGQ2LCAweDBkZDYsCisJMHgwZGQ4LCAweDBkZGYsCisJMHgw
ZGU2LCAweDBkZWYsCisJMHgwZGYyLCAweDBkZjMsCisJMHgwZTAxLCAweDBlM2EsCisJMHgwZTQw
LCAweDBlNDYsCisJMHgwZTRkLCAweDBlNGQsCisJMHgwZTUwLCAweDBlNTksCisJMHgwZTgxLCAw
eDBlODIsCisJMHgwZTg0LCAweDBlODQsCisJMHgwZTg2LCAweDBlOGEsCisJMHgwZThjLCAweDBl
YTMsCisJMHgwZWE1LCAweDBlYTUsCisJMHgwZWE3LCAweDBlYjksCisJMHgwZWJiLCAweDBlYmQs
CisJMHgwZWMwLCAweDBlYzQsCisJMHgwZWM2LCAweDBlYzYsCisJMHgwZWNkLCAweDBlY2QsCisJ
MHgwZWQwLCAweDBlZDksCisJMHgwZWRjLCAweDBlZGYsCisJMHgwZjAwLCAweDBmMDAsCisJMHgw
ZjIwLCAweDBmMjksCisJMHgwZjQwLCAweDBmNDcsCisJMHgwZjQ5LCAweDBmNmMsCisJMHgwZjcx
LCAweDBmODEsCisJMHgwZjg4LCAweDBmOTcsCisJMHgwZjk5LCAweDBmYmMsCisJMHgxMDAwLCAw
eDEwMzYsCisJMHgxMDM4LCAweDEwMzgsCisJMHgxMDNiLCAweDEwNDksCisJMHgxMDUwLCAweDEw
OWQsCisJMHgxMGEwLCAweDEwYzUsCisJMHgxMGM3LCAweDEwYzcsCisJMHgxMGNkLCAweDEwY2Qs
CisJMHgxMGQwLCAweDEwZmEsCisJMHgxMGZjLCAweDEyNDgsCisJMHgxMjRhLCAweDEyNGQsCisJ
MHgxMjUwLCAweDEyNTYsCisJMHgxMjU4LCAweDEyNTgsCisJMHgxMjVhLCAweDEyNWQsCisJMHgx
MjYwLCAweDEyODgsCisJMHgxMjhhLCAweDEyOGQsCisJMHgxMjkwLCAweDEyYjAsCisJMHgxMmIy
LCAweDEyYjUsCisJMHgxMmI4LCAweDEyYmUsCisJMHgxMmMwLCAweDEyYzAsCisJMHgxMmMyLCAw
eDEyYzUsCisJMHgxMmM4LCAweDEyZDYsCisJMHgxMmQ4LCAweDEzMTAsCisJMHgxMzEyLCAweDEz
MTUsCisJMHgxMzE4LCAweDEzNWEsCisJMHgxMzgwLCAweDEzOGYsCisJMHgxM2EwLCAweDEzZjUs
CisJMHgxM2Y4LCAweDEzZmQsCisJMHgxNDAxLCAweDE2NmMsCisJMHgxNjZmLCAweDE2N2YsCisJ
MHgxNjgxLCAweDE2OWEsCisJMHgxNmEwLCAweDE2ZWEsCisJMHgxNmVlLCAweDE2ZjgsCisJMHgx
NzAwLCAweDE3MGMsCisJMHgxNzBlLCAweDE3MTMsCisJMHgxNzIwLCAweDE3MzMsCisJMHgxNzQw
LCAweDE3NTMsCisJMHgxNzYwLCAweDE3NmMsCisJMHgxNzZlLCAweDE3NzAsCisJMHgxNzcyLCAw
eDE3NzMsCisJMHgxNzgwLCAweDE3YjMsCisJMHgxN2I2LCAweDE3YzgsCisJMHgxN2Q3LCAweDE3
ZDcsCisJMHgxN2RjLCAweDE3ZGMsCisJMHgxN2UwLCAweDE3ZTksCisJMHgxODEwLCAweDE4MTks
CisJMHgxODIwLCAweDE4NzgsCisJMHgxODgwLCAweDE4YWEsCisJMHgxOGIwLCAweDE4ZjUsCisJ
MHgxOTAwLCAweDE5MWUsCisJMHgxOTIwLCAweDE5MmIsCisJMHgxOTMwLCAweDE5MzgsCisJMHgx
OTQ2LCAweDE5NmQsCisJMHgxOTcwLCAweDE5NzQsCisJMHgxOTgwLCAweDE5YWIsCisJMHgxOWIw
LCAweDE5YzksCisJMHgxOWQwLCAweDE5ZDksCisJMHgxYTAwLCAweDFhMWIsCisJMHgxYTIwLCAw
eDFhNWUsCisJMHgxYTYxLCAweDFhNzQsCisJMHgxYTgwLCAweDFhODksCisJMHgxYTkwLCAweDFh
OTksCisJMHgxYWE3LCAweDFhYTcsCisJMHgxYjAwLCAweDFiMzMsCisJMHgxYjM1LCAweDFiNDMs
CisJMHgxYjQ1LCAweDFiNGIsCisJMHgxYjUwLCAweDFiNTksCisJMHgxYjgwLCAweDFiYTksCisJ
MHgxYmFjLCAweDFiZTUsCisJMHgxYmU3LCAweDFiZjEsCisJMHgxYzAwLCAweDFjMzYsCisJMHgx
YzQwLCAweDFjNDksCisJMHgxYzRkLCAweDFjN2QsCisJMHgxYzgwLCAweDFjODgsCisJMHgxYzkw
LCAweDFjYmEsCisJMHgxY2JkLCAweDFjYmYsCisJMHgxY2U5LCAweDFjZWMsCisJMHgxY2VlLCAw
eDFjZjMsCisJMHgxY2Y1LCAweDFjZjYsCisJMHgxY2ZhLCAweDFjZmEsCisJMHgxZDAwLCAweDFk
YmYsCisJMHgxZGU3LCAweDFkZjQsCisJMHgxZTAwLCAweDFmMTUsCisJMHgxZjE4LCAweDFmMWQs
CisJMHgxZjIwLCAweDFmNDUsCisJMHgxZjQ4LCAweDFmNGQsCisJMHgxZjUwLCAweDFmNTcsCisJ
MHgxZjU5LCAweDFmNTksCisJMHgxZjViLCAweDFmNWIsCisJMHgxZjVkLCAweDFmNWQsCisJMHgx
ZjVmLCAweDFmN2QsCisJMHgxZjgwLCAweDFmYjQsCisJMHgxZmI2LCAweDFmYmMsCisJMHgxZmJl
LCAweDFmYmUsCisJMHgxZmMyLCAweDFmYzQsCisJMHgxZmM2LCAweDFmY2MsCisJMHgxZmQwLCAw
eDFmZDMsCisJMHgxZmQ2LCAweDFmZGIsCisJMHgxZmUwLCAweDFmZWMsCisJMHgxZmYyLCAweDFm
ZjQsCisJMHgxZmY2LCAweDFmZmMsCisJMHgyMDcxLCAweDIwNzEsCisJMHgyMDdmLCAweDIwN2Ys
CisJMHgyMDkwLCAweDIwOWMsCisJMHgyMTAyLCAweDIxMDIsCisJMHgyMTA3LCAweDIxMDcsCisJ
MHgyMTBhLCAweDIxMTMsCisJMHgyMTE1LCAweDIxMTUsCisJMHgyMTE5LCAweDIxMWQsCisJMHgy
MTI0LCAweDIxMjQsCisJMHgyMTI2LCAweDIxMjYsCisJMHgyMTI4LCAweDIxMjgsCisJMHgyMTJh
LCAweDIxMmQsCisJMHgyMTJmLCAweDIxMzksCisJMHgyMTNjLCAweDIxM2YsCisJMHgyMTQ1LCAw
eDIxNDksCisJMHgyMTRlLCAweDIxNGUsCisJMHgyMTYwLCAweDIxODgsCisJMHgyNGI2LCAweDI0
ZTksCisJMHgyYzAwLCAweDJjMmUsCisJMHgyYzMwLCAweDJjNWUsCisJMHgyYzYwLCAweDJjZTQs
CisJMHgyY2ViLCAweDJjZWUsCisJMHgyY2YyLCAweDJjZjMsCisJMHgyZDAwLCAweDJkMjUsCisJ
MHgyZDI3LCAweDJkMjcsCisJMHgyZDJkLCAweDJkMmQsCisJMHgyZDMwLCAweDJkNjcsCisJMHgy
ZDZmLCAweDJkNmYsCisJMHgyZDgwLCAweDJkOTYsCisJMHgyZGEwLCAweDJkYTYsCisJMHgyZGE4
LCAweDJkYWUsCisJMHgyZGIwLCAweDJkYjYsCisJMHgyZGI4LCAweDJkYmUsCisJMHgyZGMwLCAw
eDJkYzYsCisJMHgyZGM4LCAweDJkY2UsCisJMHgyZGQwLCAweDJkZDYsCisJMHgyZGQ4LCAweDJk
ZGUsCisJMHgyZGUwLCAweDJkZmYsCisJMHgyZTJmLCAweDJlMmYsCisJMHgzMDA1LCAweDMwMDcs
CisJMHgzMDIxLCAweDMwMjksCisJMHgzMDMxLCAweDMwMzUsCisJMHgzMDM4LCAweDMwM2MsCisJ
MHgzMDQxLCAweDMwOTYsCisJMHgzMDlkLCAweDMwOWYsCisJMHgzMGExLCAweDMwZmEsCisJMHgz
MGZjLCAweDMwZmYsCisJMHgzMTA1LCAweDMxMmYsCisJMHgzMTMxLCAweDMxOGUsCisJMHgzMWEw
LCAweDMxYmEsCisJMHgzMWYwLCAweDMxZmYsCisJMHgzNDAwLCAweDRkYjUsCisJMHg0ZTAwLCAw
eDlmZWYsCisJMHhhMDAwLCAweGE0OGMsCisJMHhhNGQwLCAweGE0ZmQsCisJMHhhNTAwLCAweGE2
MGMsCisJMHhhNjEwLCAweGE2MmIsCisJMHhhNjQwLCAweGE2NmUsCisJMHhhNjc0LCAweGE2N2Is
CisJMHhhNjdmLCAweGE2ZWYsCisJMHhhNzE3LCAweGE3MWYsCisJMHhhNzIyLCAweGE3ODgsCisJ
MHhhNzhiLCAweGE3YmYsCisJMHhhN2MyLCAweGE3YzYsCisJMHhhN2Y3LCAweGE4MDUsCisJMHhh
ODA3LCAweGE4MjcsCisJMHhhODQwLCAweGE4NzMsCisJMHhhODgwLCAweGE4YzMsCisJMHhhOGM1
LCAweGE4YzUsCisJMHhhOGQwLCAweGE4ZDksCisJMHhhOGYyLCAweGE4ZjcsCisJMHhhOGZiLCAw
eGE4ZmIsCisJMHhhOGZkLCAweGE5MmEsCisJMHhhOTMwLCAweGE5NTIsCisJMHhhOTYwLCAweGE5
N2MsCisJMHhhOTgwLCAweGE5YjIsCisJMHhhOWI0LCAweGE5YmYsCisJMHhhOWNmLCAweGE5ZDks
CisJMHhhOWUwLCAweGE5ZmUsCisJMHhhYTAwLCAweGFhMzYsCisJMHhhYTQwLCAweGFhNGQsCisJ
MHhhYTUwLCAweGFhNTksCisJMHhhYTYwLCAweGFhNzYsCisJMHhhYTdhLCAweGFhYmUsCisJMHhh
YWMwLCAweGFhYzAsCisJMHhhYWMyLCAweGFhYzIsCisJMHhhYWRiLCAweGFhZGQsCisJMHhhYWUw
LCAweGFhZWYsCisJMHhhYWYyLCAweGFhZjUsCisJMHhhYjAxLCAweGFiMDYsCisJMHhhYjA5LCAw
eGFiMGUsCisJMHhhYjExLCAweGFiMTYsCisJMHhhYjIwLCAweGFiMjYsCisJMHhhYjI4LCAweGFi
MmUsCisJMHhhYjMwLCAweGFiNWEsCisJMHhhYjVjLCAweGFiNjcsCisJMHhhYjcwLCAweGFiZWEs
CisJMHhhYmYwLCAweGFiZjksCisJMHhhYzAwLCAweGQ3YTMsCisJMHhkN2IwLCAweGQ3YzYsCisJ
MHhkN2NiLCAweGQ3ZmIsCisJMHhmOTAwLCAweGZhNmQsCisJMHhmYTcwLCAweGZhZDksCisJMHhm
YjAwLCAweGZiMDYsCisJMHhmYjEzLCAweGZiMTcsCisJMHhmYjFkLCAweGZiMjgsCisJMHhmYjJh
LCAweGZiMzYsCisJMHhmYjM4LCAweGZiM2MsCisJMHhmYjNlLCAweGZiM2UsCisJMHhmYjQwLCAw
eGZiNDEsCisJMHhmYjQzLCAweGZiNDQsCisJMHhmYjQ2LCAweGZiYjEsCisJMHhmYmQzLCAweGZk
M2QsCisJMHhmZDUwLCAweGZkOGYsCisJMHhmZDkyLCAweGZkYzcsCisJMHhmZGYwLCAweGZkZmIs
CisJMHhmZTcwLCAweGZlNzQsCisJMHhmZTc2LCAweGZlZmMsCisJMHhmZjEwLCAweGZmMTksCisJ
MHhmZjIxLCAweGZmM2EsCisJMHhmZjQxLCAweGZmNWEsCisJMHhmZjY2LCAweGZmYmUsCisJMHhm
ZmMyLCAweGZmYzcsCisJMHhmZmNhLCAweGZmY2YsCisJMHhmZmQyLCAweGZmZDcsCisJMHhmZmRh
LCAweGZmZGMsCisJMHgxMDAwMCwgMHgxMDAwYiwKKwkweDEwMDBkLCAweDEwMDI2LAorCTB4MTAw
MjgsIDB4MTAwM2EsCisJMHgxMDAzYywgMHgxMDAzZCwKKwkweDEwMDNmLCAweDEwMDRkLAorCTB4
MTAwNTAsIDB4MTAwNWQsCisJMHgxMDA4MCwgMHgxMDBmYSwKKwkweDEwMTQwLCAweDEwMTc0LAor
CTB4MTAyODAsIDB4MTAyOWMsCisJMHgxMDJhMCwgMHgxMDJkMCwKKwkweDEwMzAwLCAweDEwMzFm
LAorCTB4MTAzMmQsIDB4MTAzNGEsCisJMHgxMDM1MCwgMHgxMDM3YSwKKwkweDEwMzgwLCAweDEw
MzlkLAorCTB4MTAzYTAsIDB4MTAzYzMsCisJMHgxMDNjOCwgMHgxMDNjZiwKKwkweDEwM2QxLCAw
eDEwM2Q1LAorCTB4MTA0MDAsIDB4MTA0OWQsCisJMHgxMDRhMCwgMHgxMDRhOSwKKwkweDEwNGIw
LCAweDEwNGQzLAorCTB4MTA0ZDgsIDB4MTA0ZmIsCisJMHgxMDUwMCwgMHgxMDUyNywKKwkweDEw
NTMwLCAweDEwNTYzLAorCTB4MTA2MDAsIDB4MTA3MzYsCisJMHgxMDc0MCwgMHgxMDc1NSwKKwkw
eDEwNzYwLCAweDEwNzY3LAorCTB4MTA4MDAsIDB4MTA4MDUsCisJMHgxMDgwOCwgMHgxMDgwOCwK
KwkweDEwODBhLCAweDEwODM1LAorCTB4MTA4MzcsIDB4MTA4MzgsCisJMHgxMDgzYywgMHgxMDgz
YywKKwkweDEwODNmLCAweDEwODU1LAorCTB4MTA4NjAsIDB4MTA4NzYsCisJMHgxMDg4MCwgMHgx
MDg5ZSwKKwkweDEwOGUwLCAweDEwOGYyLAorCTB4MTA4ZjQsIDB4MTA4ZjUsCisJMHgxMDkwMCwg
MHgxMDkxNSwKKwkweDEwOTIwLCAweDEwOTM5LAorCTB4MTA5ODAsIDB4MTA5YjcsCisJMHgxMDli
ZSwgMHgxMDliZiwKKwkweDEwYTAwLCAweDEwYTAzLAorCTB4MTBhMDUsIDB4MTBhMDYsCisJMHgx
MGEwYywgMHgxMGExMywKKwkweDEwYTE1LCAweDEwYTE3LAorCTB4MTBhMTksIDB4MTBhMzUsCisJ
MHgxMGE2MCwgMHgxMGE3YywKKwkweDEwYTgwLCAweDEwYTljLAorCTB4MTBhYzAsIDB4MTBhYzcs
CisJMHgxMGFjOSwgMHgxMGFlNCwKKwkweDEwYjAwLCAweDEwYjM1LAorCTB4MTBiNDAsIDB4MTBi
NTUsCisJMHgxMGI2MCwgMHgxMGI3MiwKKwkweDEwYjgwLCAweDEwYjkxLAorCTB4MTBjMDAsIDB4
MTBjNDgsCisJMHgxMGM4MCwgMHgxMGNiMiwKKwkweDEwY2MwLCAweDEwY2YyLAorCTB4MTBkMDAs
IDB4MTBkMjcsCisJMHgxMGQzMCwgMHgxMGQzOSwKKwkweDEwZjAwLCAweDEwZjFjLAorCTB4MTBm
MjcsIDB4MTBmMjcsCisJMHgxMGYzMCwgMHgxMGY0NSwKKwkweDEwZmUwLCAweDEwZmY2LAorCTB4
MTEwMDAsIDB4MTEwNDUsCisJMHgxMTA2NiwgMHgxMTA2ZiwKKwkweDExMDgyLCAweDExMGI4LAor
CTB4MTEwZDAsIDB4MTEwZTgsCisJMHgxMTBmMCwgMHgxMTBmOSwKKwkweDExMTAwLCAweDExMTMy
LAorCTB4MTExMzYsIDB4MTExM2YsCisJMHgxMTE0NCwgMHgxMTE0NiwKKwkweDExMTUwLCAweDEx
MTcyLAorCTB4MTExNzYsIDB4MTExNzYsCisJMHgxMTE4MCwgMHgxMTFiZiwKKwkweDExMWMxLCAw
eDExMWM0LAorCTB4MTExZDAsIDB4MTExZGEsCisJMHgxMTFkYywgMHgxMTFkYywKKwkweDExMjAw
LCAweDExMjExLAorCTB4MTEyMTMsIDB4MTEyMzQsCisJMHgxMTIzNywgMHgxMTIzNywKKwkweDEx
MjNlLCAweDExMjNlLAorCTB4MTEyODAsIDB4MTEyODYsCisJMHgxMTI4OCwgMHgxMTI4OCwKKwkw
eDExMjhhLCAweDExMjhkLAorCTB4MTEyOGYsIDB4MTEyOWQsCisJMHgxMTI5ZiwgMHgxMTJhOCwK
KwkweDExMmIwLCAweDExMmU4LAorCTB4MTEyZjAsIDB4MTEyZjksCisJMHgxMTMwMCwgMHgxMTMw
MywKKwkweDExMzA1LCAweDExMzBjLAorCTB4MTEzMGYsIDB4MTEzMTAsCisJMHgxMTMxMywgMHgx
MTMyOCwKKwkweDExMzJhLCAweDExMzMwLAorCTB4MTEzMzIsIDB4MTEzMzMsCisJMHgxMTMzNSwg
MHgxMTMzOSwKKwkweDExMzNkLCAweDExMzQ0LAorCTB4MTEzNDcsIDB4MTEzNDgsCisJMHgxMTM0
YiwgMHgxMTM0YywKKwkweDExMzUwLCAweDExMzUwLAorCTB4MTEzNTcsIDB4MTEzNTcsCisJMHgx
MTM1ZCwgMHgxMTM2MywKKwkweDExNDAwLCAweDExNDQxLAorCTB4MTE0NDMsIDB4MTE0NDUsCisJ
MHgxMTQ0NywgMHgxMTQ0YSwKKwkweDExNDUwLCAweDExNDU5LAorCTB4MTE0NWYsIDB4MTE0NWYs
CisJMHgxMTQ4MCwgMHgxMTRjMSwKKwkweDExNGM0LCAweDExNGM1LAorCTB4MTE0YzcsIDB4MTE0
YzcsCisJMHgxMTRkMCwgMHgxMTRkOSwKKwkweDExNTgwLCAweDExNWI1LAorCTB4MTE1YjgsIDB4
MTE1YmUsCisJMHgxMTVkOCwgMHgxMTVkZCwKKwkweDExNjAwLCAweDExNjNlLAorCTB4MTE2NDAs
IDB4MTE2NDAsCisJMHgxMTY0NCwgMHgxMTY0NCwKKwkweDExNjUwLCAweDExNjU5LAorCTB4MTE2
ODAsIDB4MTE2YjUsCisJMHgxMTZiOCwgMHgxMTZiOCwKKwkweDExNmMwLCAweDExNmM5LAorCTB4
MTE3MDAsIDB4MTE3MWEsCisJMHgxMTcxZCwgMHgxMTcyYSwKKwkweDExNzMwLCAweDExNzM5LAor
CTB4MTE4MDAsIDB4MTE4MzgsCisJMHgxMThhMCwgMHgxMThlOSwKKwkweDExOGZmLCAweDExOGZm
LAorCTB4MTE5YTAsIDB4MTE5YTcsCisJMHgxMTlhYSwgMHgxMTlkNywKKwkweDExOWRhLCAweDEx
OWRmLAorCTB4MTE5ZTEsIDB4MTE5ZTEsCisJMHgxMTllMywgMHgxMTllNCwKKwkweDExYTAwLCAw
eDExYTMyLAorCTB4MTFhMzUsIDB4MTFhM2UsCisJMHgxMWE1MCwgMHgxMWE5NywKKwkweDExYTlk
LCAweDExYTlkLAorCTB4MTFhYzAsIDB4MTFhZjgsCisJMHgxMWMwMCwgMHgxMWMwOCwKKwkweDEx
YzBhLCAweDExYzM2LAorCTB4MTFjMzgsIDB4MTFjM2UsCisJMHgxMWM0MCwgMHgxMWM0MCwKKwkw
eDExYzUwLCAweDExYzU5LAorCTB4MTFjNzIsIDB4MTFjOGYsCisJMHgxMWM5MiwgMHgxMWNhNywK
KwkweDExY2E5LCAweDExY2I2LAorCTB4MTFkMDAsIDB4MTFkMDYsCisJMHgxMWQwOCwgMHgxMWQw
OSwKKwkweDExZDBiLCAweDExZDM2LAorCTB4MTFkM2EsIDB4MTFkM2EsCisJMHgxMWQzYywgMHgx
MWQzZCwKKwkweDExZDNmLCAweDExZDQxLAorCTB4MTFkNDMsIDB4MTFkNDMsCisJMHgxMWQ0Niwg
MHgxMWQ0NywKKwkweDExZDUwLCAweDExZDU5LAorCTB4MTFkNjAsIDB4MTFkNjUsCisJMHgxMWQ2
NywgMHgxMWQ2OCwKKwkweDExZDZhLCAweDExZDhlLAorCTB4MTFkOTAsIDB4MTFkOTEsCisJMHgx
MWQ5MywgMHgxMWQ5NiwKKwkweDExZDk4LCAweDExZDk4LAorCTB4MTFkYTAsIDB4MTFkYTksCisJ
MHgxMWVlMCwgMHgxMWVmNiwKKwkweDEyMDAwLCAweDEyMzk5LAorCTB4MTI0MDAsIDB4MTI0NmUs
CisJMHgxMjQ4MCwgMHgxMjU0MywKKwkweDEzMDAwLCAweDEzNDJlLAorCTB4MTQ0MDAsIDB4MTQ2
NDYsCisJMHgxNjgwMCwgMHgxNmEzOCwKKwkweDE2YTQwLCAweDE2YTVlLAorCTB4MTZhNjAsIDB4
MTZhNjksCisJMHgxNmFkMCwgMHgxNmFlZCwKKwkweDE2YjAwLCAweDE2YjJmLAorCTB4MTZiNDAs
IDB4MTZiNDMsCisJMHgxNmI1MCwgMHgxNmI1OSwKKwkweDE2YjYzLCAweDE2Yjc3LAorCTB4MTZi
N2QsIDB4MTZiOGYsCisJMHgxNmU0MCwgMHgxNmU3ZiwKKwkweDE2ZjAwLCAweDE2ZjRhLAorCTB4
MTZmNGYsIDB4MTZmODcsCisJMHgxNmY4ZiwgMHgxNmY5ZiwKKwkweDE2ZmUwLCAweDE2ZmUxLAor
CTB4MTZmZTMsIDB4MTZmZTMsCisJMHgxNzAwMCwgMHgxODdmNywKKwkweDE4ODAwLCAweDE4YWYy
LAorCTB4MWIwMDAsIDB4MWIxMWUsCisJMHgxYjE1MCwgMHgxYjE1MiwKKwkweDFiMTY0LCAweDFi
MTY3LAorCTB4MWIxNzAsIDB4MWIyZmIsCisJMHgxYmMwMCwgMHgxYmM2YSwKKwkweDFiYzcwLCAw
eDFiYzdjLAorCTB4MWJjODAsIDB4MWJjODgsCisJMHgxYmM5MCwgMHgxYmM5OSwKKwkweDFiYzll
LCAweDFiYzllLAorCTB4MWQ0MDAsIDB4MWQ0NTQsCisJMHgxZDQ1NiwgMHgxZDQ5YywKKwkweDFk
NDllLCAweDFkNDlmLAorCTB4MWQ0YTIsIDB4MWQ0YTIsCisJMHgxZDRhNSwgMHgxZDRhNiwKKwkw
eDFkNGE5LCAweDFkNGFjLAorCTB4MWQ0YWUsIDB4MWQ0YjksCisJMHgxZDRiYiwgMHgxZDRiYiwK
KwkweDFkNGJkLCAweDFkNGMzLAorCTB4MWQ0YzUsIDB4MWQ1MDUsCisJMHgxZDUwNywgMHgxZDUw
YSwKKwkweDFkNTBkLCAweDFkNTE0LAorCTB4MWQ1MTYsIDB4MWQ1MWMsCisJMHgxZDUxZSwgMHgx
ZDUzOSwKKwkweDFkNTNiLCAweDFkNTNlLAorCTB4MWQ1NDAsIDB4MWQ1NDQsCisJMHgxZDU0Niwg
MHgxZDU0NiwKKwkweDFkNTRhLCAweDFkNTUwLAorCTB4MWQ1NTIsIDB4MWQ2YTUsCisJMHgxZDZh
OCwgMHgxZDZjMCwKKwkweDFkNmMyLCAweDFkNmRhLAorCTB4MWQ2ZGMsIDB4MWQ2ZmEsCisJMHgx
ZDZmYywgMHgxZDcxNCwKKwkweDFkNzE2LCAweDFkNzM0LAorCTB4MWQ3MzYsIDB4MWQ3NGUsCisJ
MHgxZDc1MCwgMHgxZDc2ZSwKKwkweDFkNzcwLCAweDFkNzg4LAorCTB4MWQ3OGEsIDB4MWQ3YTgs
CisJMHgxZDdhYSwgMHgxZDdjMiwKKwkweDFkN2M0LCAweDFkN2NiLAorCTB4MWQ3Y2UsIDB4MWQ3
ZmYsCisJMHgxZTAwMCwgMHgxZTAwNiwKKwkweDFlMDA4LCAweDFlMDE4LAorCTB4MWUwMWIsIDB4
MWUwMjEsCisJMHgxZTAyMywgMHgxZTAyNCwKKwkweDFlMDI2LCAweDFlMDJhLAorCTB4MWUxMDAs
IDB4MWUxMmMsCisJMHgxZTEzNywgMHgxZTEzZCwKKwkweDFlMTQwLCAweDFlMTQ5LAorCTB4MWUx
NGUsIDB4MWUxNGUsCisJMHgxZTJjMCwgMHgxZTJlYiwKKwkweDFlMmYwLCAweDFlMmY5LAorCTB4
MWU4MDAsIDB4MWU4YzQsCisJMHgxZTkwMCwgMHgxZTk0MywKKwkweDFlOTQ3LCAweDFlOTQ3LAor
CTB4MWU5NGIsIDB4MWU5NGIsCisJMHgxZTk1MCwgMHgxZTk1OSwKKwkweDFlZTAwLCAweDFlZTAz
LAorCTB4MWVlMDUsIDB4MWVlMWYsCisJMHgxZWUyMSwgMHgxZWUyMiwKKwkweDFlZTI0LCAweDFl
ZTI0LAorCTB4MWVlMjcsIDB4MWVlMjcsCisJMHgxZWUyOSwgMHgxZWUzMiwKKwkweDFlZTM0LCAw
eDFlZTM3LAorCTB4MWVlMzksIDB4MWVlMzksCisJMHgxZWUzYiwgMHgxZWUzYiwKKwkweDFlZTQy
LCAweDFlZTQyLAorCTB4MWVlNDcsIDB4MWVlNDcsCisJMHgxZWU0OSwgMHgxZWU0OSwKKwkweDFl
ZTRiLCAweDFlZTRiLAorCTB4MWVlNGQsIDB4MWVlNGYsCisJMHgxZWU1MSwgMHgxZWU1MiwKKwkw
eDFlZTU0LCAweDFlZTU0LAorCTB4MWVlNTcsIDB4MWVlNTcsCisJMHgxZWU1OSwgMHgxZWU1OSwK
KwkweDFlZTViLCAweDFlZTViLAorCTB4MWVlNWQsIDB4MWVlNWQsCisJMHgxZWU1ZiwgMHgxZWU1
ZiwKKwkweDFlZTYxLCAweDFlZTYyLAorCTB4MWVlNjQsIDB4MWVlNjQsCisJMHgxZWU2NywgMHgx
ZWU2YSwKKwkweDFlZTZjLCAweDFlZTcyLAorCTB4MWVlNzQsIDB4MWVlNzcsCisJMHgxZWU3OSwg
MHgxZWU3YywKKwkweDFlZTdlLCAweDFlZTdlLAorCTB4MWVlODAsIDB4MWVlODksCisJMHgxZWU4
YiwgMHgxZWU5YiwKKwkweDFlZWExLCAweDFlZWEzLAorCTB4MWVlYTUsIDB4MWVlYTksCisJMHgx
ZWVhYiwgMHgxZWViYiwKKwkweDFmMTMwLCAweDFmMTQ5LAorCTB4MWYxNTAsIDB4MWYxNjksCisJ
MHgxZjE3MCwgMHgxZjE4OSwKKwkweDIwMDAwLCAweDJhNmQ2LAorCTB4MmE3MDAsIDB4MmI3MzQs
CisJMHgyYjc0MCwgMHgyYjgxZCwKKwkweDJiODIwLCAweDJjZWExLAorCTB4MmNlYjAsIDB4MmVi
ZTAsCisJMHgyZjgwMCwgMHgyZmExZCwKK307IC8qIENSX0FsbnVtICovCisKKy8qICdBU0NJSSc6
IFtbOkFTQ0lJOl1dICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9BU0NJSVtdID0g
eworCTEsCisJMHgwMDAwLCAweDAwN2YsCit9OyAvKiBDUl9BU0NJSSAqLworCisvKiAnUHVuY3Qn
ICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9QdW5jdFtdID0geworCTE4MiwKKwkw
eDAwMjEsIDB4MDAyMywKKwkweDAwMjUsIDB4MDAyYSwKKwkweDAwMmMsIDB4MDAyZiwKKwkweDAw
M2EsIDB4MDAzYiwKKwkweDAwM2YsIDB4MDA0MCwKKwkweDAwNWIsIDB4MDA1ZCwKKwkweDAwNWYs
IDB4MDA1ZiwKKwkweDAwN2IsIDB4MDA3YiwKKwkweDAwN2QsIDB4MDA3ZCwKKwkweDAwYTEsIDB4
MDBhMSwKKwkweDAwYTcsIDB4MDBhNywKKwkweDAwYWIsIDB4MDBhYiwKKwkweDAwYjYsIDB4MDBi
NywKKwkweDAwYmIsIDB4MDBiYiwKKwkweDAwYmYsIDB4MDBiZiwKKwkweDAzN2UsIDB4MDM3ZSwK
KwkweDAzODcsIDB4MDM4NywKKwkweDA1NWEsIDB4MDU1ZiwKKwkweDA1ODksIDB4MDU4YSwKKwkw
eDA1YmUsIDB4MDViZSwKKwkweDA1YzAsIDB4MDVjMCwKKwkweDA1YzMsIDB4MDVjMywKKwkweDA1
YzYsIDB4MDVjNiwKKwkweDA1ZjMsIDB4MDVmNCwKKwkweDA2MDksIDB4MDYwYSwKKwkweDA2MGMs
IDB4MDYwZCwKKwkweDA2MWIsIDB4MDYxYiwKKwkweDA2MWUsIDB4MDYxZiwKKwkweDA2NmEsIDB4
MDY2ZCwKKwkweDA2ZDQsIDB4MDZkNCwKKwkweDA3MDAsIDB4MDcwZCwKKwkweDA3ZjcsIDB4MDdm
OSwKKwkweDA4MzAsIDB4MDgzZSwKKwkweDA4NWUsIDB4MDg1ZSwKKwkweDA5NjQsIDB4MDk2NSwK
KwkweDA5NzAsIDB4MDk3MCwKKwkweDA5ZmQsIDB4MDlmZCwKKwkweDBhNzYsIDB4MGE3NiwKKwkw
eDBhZjAsIDB4MGFmMCwKKwkweDBjNzcsIDB4MGM3NywKKwkweDBjODQsIDB4MGM4NCwKKwkweDBk
ZjQsIDB4MGRmNCwKKwkweDBlNGYsIDB4MGU0ZiwKKwkweDBlNWEsIDB4MGU1YiwKKwkweDBmMDQs
IDB4MGYxMiwKKwkweDBmMTQsIDB4MGYxNCwKKwkweDBmM2EsIDB4MGYzZCwKKwkweDBmODUsIDB4
MGY4NSwKKwkweDBmZDAsIDB4MGZkNCwKKwkweDBmZDksIDB4MGZkYSwKKwkweDEwNGEsIDB4MTA0
ZiwKKwkweDEwZmIsIDB4MTBmYiwKKwkweDEzNjAsIDB4MTM2OCwKKwkweDE0MDAsIDB4MTQwMCwK
KwkweDE2NmUsIDB4MTY2ZSwKKwkweDE2OWIsIDB4MTY5YywKKwkweDE2ZWIsIDB4MTZlZCwKKwkw
eDE3MzUsIDB4MTczNiwKKwkweDE3ZDQsIDB4MTdkNiwKKwkweDE3ZDgsIDB4MTdkYSwKKwkweDE4
MDAsIDB4MTgwYSwKKwkweDE5NDQsIDB4MTk0NSwKKwkweDFhMWUsIDB4MWExZiwKKwkweDFhYTAs
IDB4MWFhNiwKKwkweDFhYTgsIDB4MWFhZCwKKwkweDFiNWEsIDB4MWI2MCwKKwkweDFiZmMsIDB4
MWJmZiwKKwkweDFjM2IsIDB4MWMzZiwKKwkweDFjN2UsIDB4MWM3ZiwKKwkweDFjYzAsIDB4MWNj
NywKKwkweDFjZDMsIDB4MWNkMywKKwkweDIwMTAsIDB4MjAyNywKKwkweDIwMzAsIDB4MjA0MywK
KwkweDIwNDUsIDB4MjA1MSwKKwkweDIwNTMsIDB4MjA1ZSwKKwkweDIwN2QsIDB4MjA3ZSwKKwkw
eDIwOGQsIDB4MjA4ZSwKKwkweDIzMDgsIDB4MjMwYiwKKwkweDIzMjksIDB4MjMyYSwKKwkweDI3
NjgsIDB4Mjc3NSwKKwkweDI3YzUsIDB4MjdjNiwKKwkweDI3ZTYsIDB4MjdlZiwKKwkweDI5ODMs
IDB4Mjk5OCwKKwkweDI5ZDgsIDB4MjlkYiwKKwkweDI5ZmMsIDB4MjlmZCwKKwkweDJjZjksIDB4
MmNmYywKKwkweDJjZmUsIDB4MmNmZiwKKwkweDJkNzAsIDB4MmQ3MCwKKwkweDJlMDAsIDB4MmUy
ZSwKKwkweDJlMzAsIDB4MmU0ZiwKKwkweDMwMDEsIDB4MzAwMywKKwkweDMwMDgsIDB4MzAxMSwK
KwkweDMwMTQsIDB4MzAxZiwKKwkweDMwMzAsIDB4MzAzMCwKKwkweDMwM2QsIDB4MzAzZCwKKwkw
eDMwYTAsIDB4MzBhMCwKKwkweDMwZmIsIDB4MzBmYiwKKwkweGE0ZmUsIDB4YTRmZiwKKwkweGE2
MGQsIDB4YTYwZiwKKwkweGE2NzMsIDB4YTY3MywKKwkweGE2N2UsIDB4YTY3ZSwKKwkweGE2ZjIs
IDB4YTZmNywKKwkweGE4NzQsIDB4YTg3NywKKwkweGE4Y2UsIDB4YThjZiwKKwkweGE4ZjgsIDB4
YThmYSwKKwkweGE4ZmMsIDB4YThmYywKKwkweGE5MmUsIDB4YTkyZiwKKwkweGE5NWYsIDB4YTk1
ZiwKKwkweGE5YzEsIDB4YTljZCwKKwkweGE5ZGUsIDB4YTlkZiwKKwkweGFhNWMsIDB4YWE1ZiwK
KwkweGFhZGUsIDB4YWFkZiwKKwkweGFhZjAsIDB4YWFmMSwKKwkweGFiZWIsIDB4YWJlYiwKKwkw
eGZkM2UsIDB4ZmQzZiwKKwkweGZlMTAsIDB4ZmUxOSwKKwkweGZlMzAsIDB4ZmU1MiwKKwkweGZl
NTQsIDB4ZmU2MSwKKwkweGZlNjMsIDB4ZmU2MywKKwkweGZlNjgsIDB4ZmU2OCwKKwkweGZlNmEs
IDB4ZmU2YiwKKwkweGZmMDEsIDB4ZmYwMywKKwkweGZmMDUsIDB4ZmYwYSwKKwkweGZmMGMsIDB4
ZmYwZiwKKwkweGZmMWEsIDB4ZmYxYiwKKwkweGZmMWYsIDB4ZmYyMCwKKwkweGZmM2IsIDB4ZmYz
ZCwKKwkweGZmM2YsIDB4ZmYzZiwKKwkweGZmNWIsIDB4ZmY1YiwKKwkweGZmNWQsIDB4ZmY1ZCwK
KwkweGZmNWYsIDB4ZmY2NSwKKwkweDEwMTAwLCAweDEwMTAyLAorCTB4MTAzOWYsIDB4MTAzOWYs
CisJMHgxMDNkMCwgMHgxMDNkMCwKKwkweDEwNTZmLCAweDEwNTZmLAorCTB4MTA4NTcsIDB4MTA4
NTcsCisJMHgxMDkxZiwgMHgxMDkxZiwKKwkweDEwOTNmLCAweDEwOTNmLAorCTB4MTBhNTAsIDB4
MTBhNTgsCisJMHgxMGE3ZiwgMHgxMGE3ZiwKKwkweDEwYWYwLCAweDEwYWY2LAorCTB4MTBiMzks
IDB4MTBiM2YsCisJMHgxMGI5OSwgMHgxMGI5YywKKwkweDEwZjU1LCAweDEwZjU5LAorCTB4MTEw
NDcsIDB4MTEwNGQsCisJMHgxMTBiYiwgMHgxMTBiYywKKwkweDExMGJlLCAweDExMGMxLAorCTB4
MTExNDAsIDB4MTExNDMsCisJMHgxMTE3NCwgMHgxMTE3NSwKKwkweDExMWM1LCAweDExMWM4LAor
CTB4MTExY2QsIDB4MTExY2QsCisJMHgxMTFkYiwgMHgxMTFkYiwKKwkweDExMWRkLCAweDExMWRm
LAorCTB4MTEyMzgsIDB4MTEyM2QsCisJMHgxMTJhOSwgMHgxMTJhOSwKKwkweDExNDRiLCAweDEx
NDRmLAorCTB4MTE0NWIsIDB4MTE0NWIsCisJMHgxMTQ1ZCwgMHgxMTQ1ZCwKKwkweDExNGM2LCAw
eDExNGM2LAorCTB4MTE1YzEsIDB4MTE1ZDcsCisJMHgxMTY0MSwgMHgxMTY0MywKKwkweDExNjYw
LCAweDExNjZjLAorCTB4MTE3M2MsIDB4MTE3M2UsCisJMHgxMTgzYiwgMHgxMTgzYiwKKwkweDEx
OWUyLCAweDExOWUyLAorCTB4MTFhM2YsIDB4MTFhNDYsCisJMHgxMWE5YSwgMHgxMWE5YywKKwkw
eDExYTllLCAweDExYWEyLAorCTB4MTFjNDEsIDB4MTFjNDUsCisJMHgxMWM3MCwgMHgxMWM3MSwK
KwkweDExZWY3LCAweDExZWY4LAorCTB4MTFmZmYsIDB4MTFmZmYsCisJMHgxMjQ3MCwgMHgxMjQ3
NCwKKwkweDE2YTZlLCAweDE2YTZmLAorCTB4MTZhZjUsIDB4MTZhZjUsCisJMHgxNmIzNywgMHgx
NmIzYiwKKwkweDE2YjQ0LCAweDE2YjQ0LAorCTB4MTZlOTcsIDB4MTZlOWEsCisJMHgxNmZlMiwg
MHgxNmZlMiwKKwkweDFiYzlmLCAweDFiYzlmLAorCTB4MWRhODcsIDB4MWRhOGIsCisJMHgxZTk1
ZSwgMHgxZTk1ZiwKK307IC8qIENSX1B1bmN0ICovCisKKyNpZmRlZiBVU0VfVU5JQ09ERV9QUk9Q
RVJUSUVTCisvKiAnQW55JzogLSAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfQW55
W10gPSB7CisJMSwKKwkweDAwMDAsIDB4MTBmZmZmLAorfTsgLyogQ1JfQW55ICovCisKKy8qICdB
c3NpZ25lZCc6IC0gKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0Fzc2lnbmVkW10g
PSB7CisJNjY2LAorCTB4MDAwMCwgMHgwMzc3LAorCTB4MDM3YSwgMHgwMzdmLAorCTB4MDM4NCwg
MHgwMzhhLAorCTB4MDM4YywgMHgwMzhjLAorCTB4MDM4ZSwgMHgwM2ExLAorCTB4MDNhMywgMHgw
NTJmLAorCTB4MDUzMSwgMHgwNTU2LAorCTB4MDU1OSwgMHgwNThhLAorCTB4MDU4ZCwgMHgwNThm
LAorCTB4MDU5MSwgMHgwNWM3LAorCTB4MDVkMCwgMHgwNWVhLAorCTB4MDVlZiwgMHgwNWY0LAor
CTB4MDYwMCwgMHgwNjFjLAorCTB4MDYxZSwgMHgwNzBkLAorCTB4MDcwZiwgMHgwNzRhLAorCTB4
MDc0ZCwgMHgwN2IxLAorCTB4MDdjMCwgMHgwN2ZhLAorCTB4MDdmZCwgMHgwODJkLAorCTB4MDgz
MCwgMHgwODNlLAorCTB4MDg0MCwgMHgwODViLAorCTB4MDg1ZSwgMHgwODVlLAorCTB4MDg2MCwg
MHgwODZhLAorCTB4MDhhMCwgMHgwOGI0LAorCTB4MDhiNiwgMHgwOGJkLAorCTB4MDhkMywgMHgw
OTgzLAorCTB4MDk4NSwgMHgwOThjLAorCTB4MDk4ZiwgMHgwOTkwLAorCTB4MDk5MywgMHgwOWE4
LAorCTB4MDlhYSwgMHgwOWIwLAorCTB4MDliMiwgMHgwOWIyLAorCTB4MDliNiwgMHgwOWI5LAor
CTB4MDliYywgMHgwOWM0LAorCTB4MDljNywgMHgwOWM4LAorCTB4MDljYiwgMHgwOWNlLAorCTB4
MDlkNywgMHgwOWQ3LAorCTB4MDlkYywgMHgwOWRkLAorCTB4MDlkZiwgMHgwOWUzLAorCTB4MDll
NiwgMHgwOWZlLAorCTB4MGEwMSwgMHgwYTAzLAorCTB4MGEwNSwgMHgwYTBhLAorCTB4MGEwZiwg
MHgwYTEwLAorCTB4MGExMywgMHgwYTI4LAorCTB4MGEyYSwgMHgwYTMwLAorCTB4MGEzMiwgMHgw
YTMzLAorCTB4MGEzNSwgMHgwYTM2LAorCTB4MGEzOCwgMHgwYTM5LAorCTB4MGEzYywgMHgwYTNj
LAorCTB4MGEzZSwgMHgwYTQyLAorCTB4MGE0NywgMHgwYTQ4LAorCTB4MGE0YiwgMHgwYTRkLAor
CTB4MGE1MSwgMHgwYTUxLAorCTB4MGE1OSwgMHgwYTVjLAorCTB4MGE1ZSwgMHgwYTVlLAorCTB4
MGE2NiwgMHgwYTc2LAorCTB4MGE4MSwgMHgwYTgzLAorCTB4MGE4NSwgMHgwYThkLAorCTB4MGE4
ZiwgMHgwYTkxLAorCTB4MGE5MywgMHgwYWE4LAorCTB4MGFhYSwgMHgwYWIwLAorCTB4MGFiMiwg
MHgwYWIzLAorCTB4MGFiNSwgMHgwYWI5LAorCTB4MGFiYywgMHgwYWM1LAorCTB4MGFjNywgMHgw
YWM5LAorCTB4MGFjYiwgMHgwYWNkLAorCTB4MGFkMCwgMHgwYWQwLAorCTB4MGFlMCwgMHgwYWUz
LAorCTB4MGFlNiwgMHgwYWYxLAorCTB4MGFmOSwgMHgwYWZmLAorCTB4MGIwMSwgMHgwYjAzLAor
CTB4MGIwNSwgMHgwYjBjLAorCTB4MGIwZiwgMHgwYjEwLAorCTB4MGIxMywgMHgwYjI4LAorCTB4
MGIyYSwgMHgwYjMwLAorCTB4MGIzMiwgMHgwYjMzLAorCTB4MGIzNSwgMHgwYjM5LAorCTB4MGIz
YywgMHgwYjQ0LAorCTB4MGI0NywgMHgwYjQ4LAorCTB4MGI0YiwgMHgwYjRkLAorCTB4MGI1Niwg
MHgwYjU3LAorCTB4MGI1YywgMHgwYjVkLAorCTB4MGI1ZiwgMHgwYjYzLAorCTB4MGI2NiwgMHgw
Yjc3LAorCTB4MGI4MiwgMHgwYjgzLAorCTB4MGI4NSwgMHgwYjhhLAorCTB4MGI4ZSwgMHgwYjkw
LAorCTB4MGI5MiwgMHgwYjk1LAorCTB4MGI5OSwgMHgwYjlhLAorCTB4MGI5YywgMHgwYjljLAor
CTB4MGI5ZSwgMHgwYjlmLAorCTB4MGJhMywgMHgwYmE0LAorCTB4MGJhOCwgMHgwYmFhLAorCTB4
MGJhZSwgMHgwYmI5LAorCTB4MGJiZSwgMHgwYmMyLAorCTB4MGJjNiwgMHgwYmM4LAorCTB4MGJj
YSwgMHgwYmNkLAorCTB4MGJkMCwgMHgwYmQwLAorCTB4MGJkNywgMHgwYmQ3LAorCTB4MGJlNiwg
MHgwYmZhLAorCTB4MGMwMCwgMHgwYzBjLAorCTB4MGMwZSwgMHgwYzEwLAorCTB4MGMxMiwgMHgw
YzI4LAorCTB4MGMyYSwgMHgwYzM5LAorCTB4MGMzZCwgMHgwYzQ0LAorCTB4MGM0NiwgMHgwYzQ4
LAorCTB4MGM0YSwgMHgwYzRkLAorCTB4MGM1NSwgMHgwYzU2LAorCTB4MGM1OCwgMHgwYzVhLAor
CTB4MGM2MCwgMHgwYzYzLAorCTB4MGM2NiwgMHgwYzZmLAorCTB4MGM3NywgMHgwYzhjLAorCTB4
MGM4ZSwgMHgwYzkwLAorCTB4MGM5MiwgMHgwY2E4LAorCTB4MGNhYSwgMHgwY2IzLAorCTB4MGNi
NSwgMHgwY2I5LAorCTB4MGNiYywgMHgwY2M0LAorCTB4MGNjNiwgMHgwY2M4LAorCTB4MGNjYSwg
MHgwY2NkLAorCTB4MGNkNSwgMHgwY2Q2LAorCTB4MGNkZSwgMHgwY2RlLAorCTB4MGNlMCwgMHgw
Y2UzLAorCTB4MGNlNiwgMHgwY2VmLAorCTB4MGNmMSwgMHgwY2YyLAorCTB4MGQwMCwgMHgwZDAz
LAorCTB4MGQwNSwgMHgwZDBjLAorCTB4MGQwZSwgMHgwZDEwLAorCTB4MGQxMiwgMHgwZDQ0LAor
CTB4MGQ0NiwgMHgwZDQ4LAorCTB4MGQ0YSwgMHgwZDRmLAorCTB4MGQ1NCwgMHgwZDYzLAorCTB4
MGQ2NiwgMHgwZDdmLAorCTB4MGQ4MiwgMHgwZDgzLAorCTB4MGQ4NSwgMHgwZDk2LAorCTB4MGQ5
YSwgMHgwZGIxLAorCTB4MGRiMywgMHgwZGJiLAorCTB4MGRiZCwgMHgwZGJkLAorCTB4MGRjMCwg
MHgwZGM2LAorCTB4MGRjYSwgMHgwZGNhLAorCTB4MGRjZiwgMHgwZGQ0LAorCTB4MGRkNiwgMHgw
ZGQ2LAorCTB4MGRkOCwgMHgwZGRmLAorCTB4MGRlNiwgMHgwZGVmLAorCTB4MGRmMiwgMHgwZGY0
LAorCTB4MGUwMSwgMHgwZTNhLAorCTB4MGUzZiwgMHgwZTViLAorCTB4MGU4MSwgMHgwZTgyLAor
CTB4MGU4NCwgMHgwZTg0LAorCTB4MGU4NiwgMHgwZThhLAorCTB4MGU4YywgMHgwZWEzLAorCTB4
MGVhNSwgMHgwZWE1LAorCTB4MGVhNywgMHgwZWJkLAorCTB4MGVjMCwgMHgwZWM0LAorCTB4MGVj
NiwgMHgwZWM2LAorCTB4MGVjOCwgMHgwZWNkLAorCTB4MGVkMCwgMHgwZWQ5LAorCTB4MGVkYywg
MHgwZWRmLAorCTB4MGYwMCwgMHgwZjQ3LAorCTB4MGY0OSwgMHgwZjZjLAorCTB4MGY3MSwgMHgw
Zjk3LAorCTB4MGY5OSwgMHgwZmJjLAorCTB4MGZiZSwgMHgwZmNjLAorCTB4MGZjZSwgMHgwZmRh
LAorCTB4MTAwMCwgMHgxMGM1LAorCTB4MTBjNywgMHgxMGM3LAorCTB4MTBjZCwgMHgxMGNkLAor
CTB4MTBkMCwgMHgxMjQ4LAorCTB4MTI0YSwgMHgxMjRkLAorCTB4MTI1MCwgMHgxMjU2LAorCTB4
MTI1OCwgMHgxMjU4LAorCTB4MTI1YSwgMHgxMjVkLAorCTB4MTI2MCwgMHgxMjg4LAorCTB4MTI4
YSwgMHgxMjhkLAorCTB4MTI5MCwgMHgxMmIwLAorCTB4MTJiMiwgMHgxMmI1LAorCTB4MTJiOCwg
MHgxMmJlLAorCTB4MTJjMCwgMHgxMmMwLAorCTB4MTJjMiwgMHgxMmM1LAorCTB4MTJjOCwgMHgx
MmQ2LAorCTB4MTJkOCwgMHgxMzEwLAorCTB4MTMxMiwgMHgxMzE1LAorCTB4MTMxOCwgMHgxMzVh
LAorCTB4MTM1ZCwgMHgxMzdjLAorCTB4MTM4MCwgMHgxMzk5LAorCTB4MTNhMCwgMHgxM2Y1LAor
CTB4MTNmOCwgMHgxM2ZkLAorCTB4MTQwMCwgMHgxNjljLAorCTB4MTZhMCwgMHgxNmY4LAorCTB4
MTcwMCwgMHgxNzBjLAorCTB4MTcwZSwgMHgxNzE0LAorCTB4MTcyMCwgMHgxNzM2LAorCTB4MTc0
MCwgMHgxNzUzLAorCTB4MTc2MCwgMHgxNzZjLAorCTB4MTc2ZSwgMHgxNzcwLAorCTB4MTc3Miwg
MHgxNzczLAorCTB4MTc4MCwgMHgxN2RkLAorCTB4MTdlMCwgMHgxN2U5LAorCTB4MTdmMCwgMHgx
N2Y5LAorCTB4MTgwMCwgMHgxODBlLAorCTB4MTgxMCwgMHgxODE5LAorCTB4MTgyMCwgMHgxODc4
LAorCTB4MTg4MCwgMHgxOGFhLAorCTB4MThiMCwgMHgxOGY1LAorCTB4MTkwMCwgMHgxOTFlLAor
CTB4MTkyMCwgMHgxOTJiLAorCTB4MTkzMCwgMHgxOTNiLAorCTB4MTk0MCwgMHgxOTQwLAorCTB4
MTk0NCwgMHgxOTZkLAorCTB4MTk3MCwgMHgxOTc0LAorCTB4MTk4MCwgMHgxOWFiLAorCTB4MTli
MCwgMHgxOWM5LAorCTB4MTlkMCwgMHgxOWRhLAorCTB4MTlkZSwgMHgxYTFiLAorCTB4MWExZSwg
MHgxYTVlLAorCTB4MWE2MCwgMHgxYTdjLAorCTB4MWE3ZiwgMHgxYTg5LAorCTB4MWE5MCwgMHgx
YTk5LAorCTB4MWFhMCwgMHgxYWFkLAorCTB4MWFiMCwgMHgxYWJlLAorCTB4MWIwMCwgMHgxYjRi
LAorCTB4MWI1MCwgMHgxYjdjLAorCTB4MWI4MCwgMHgxYmYzLAorCTB4MWJmYywgMHgxYzM3LAor
CTB4MWMzYiwgMHgxYzQ5LAorCTB4MWM0ZCwgMHgxYzg4LAorCTB4MWM5MCwgMHgxY2JhLAorCTB4
MWNiZCwgMHgxY2M3LAorCTB4MWNkMCwgMHgxY2ZhLAorCTB4MWQwMCwgMHgxZGY5LAorCTB4MWRm
YiwgMHgxZjE1LAorCTB4MWYxOCwgMHgxZjFkLAorCTB4MWYyMCwgMHgxZjQ1LAorCTB4MWY0OCwg
MHgxZjRkLAorCTB4MWY1MCwgMHgxZjU3LAorCTB4MWY1OSwgMHgxZjU5LAorCTB4MWY1YiwgMHgx
ZjViLAorCTB4MWY1ZCwgMHgxZjVkLAorCTB4MWY1ZiwgMHgxZjdkLAorCTB4MWY4MCwgMHgxZmI0
LAorCTB4MWZiNiwgMHgxZmM0LAorCTB4MWZjNiwgMHgxZmQzLAorCTB4MWZkNiwgMHgxZmRiLAor
CTB4MWZkZCwgMHgxZmVmLAorCTB4MWZmMiwgMHgxZmY0LAorCTB4MWZmNiwgMHgxZmZlLAorCTB4
MjAwMCwgMHgyMDY0LAorCTB4MjA2NiwgMHgyMDcxLAorCTB4MjA3NCwgMHgyMDhlLAorCTB4MjA5
MCwgMHgyMDljLAorCTB4MjBhMCwgMHgyMGJmLAorCTB4MjBkMCwgMHgyMGYwLAorCTB4MjEwMCwg
MHgyMThiLAorCTB4MjE5MCwgMHgyNDI2LAorCTB4MjQ0MCwgMHgyNDRhLAorCTB4MjQ2MCwgMHgy
YjczLAorCTB4MmI3NiwgMHgyYjk1LAorCTB4MmI5OCwgMHgyYzJlLAorCTB4MmMzMCwgMHgyYzVl
LAorCTB4MmM2MCwgMHgyY2YzLAorCTB4MmNmOSwgMHgyZDI1LAorCTB4MmQyNywgMHgyZDI3LAor
CTB4MmQyZCwgMHgyZDJkLAorCTB4MmQzMCwgMHgyZDY3LAorCTB4MmQ2ZiwgMHgyZDcwLAorCTB4
MmQ3ZiwgMHgyZDk2LAorCTB4MmRhMCwgMHgyZGE2LAorCTB4MmRhOCwgMHgyZGFlLAorCTB4MmRi
MCwgMHgyZGI2LAorCTB4MmRiOCwgMHgyZGJlLAorCTB4MmRjMCwgMHgyZGM2LAorCTB4MmRjOCwg
MHgyZGNlLAorCTB4MmRkMCwgMHgyZGQ2LAorCTB4MmRkOCwgMHgyZGRlLAorCTB4MmRlMCwgMHgy
ZTRmLAorCTB4MmU4MCwgMHgyZTk5LAorCTB4MmU5YiwgMHgyZWYzLAorCTB4MmYwMCwgMHgyZmQ1
LAorCTB4MmZmMCwgMHgyZmZiLAorCTB4MzAwMCwgMHgzMDNmLAorCTB4MzA0MSwgMHgzMDk2LAor
CTB4MzA5OSwgMHgzMGZmLAorCTB4MzEwNSwgMHgzMTJmLAorCTB4MzEzMSwgMHgzMThlLAorCTB4
MzE5MCwgMHgzMWJhLAorCTB4MzFjMCwgMHgzMWUzLAorCTB4MzFmMCwgMHgzMjFlLAorCTB4MzIy
MCwgMHg0ZGI1LAorCTB4NGRjMCwgMHg5ZmVmLAorCTB4YTAwMCwgMHhhNDhjLAorCTB4YTQ5MCwg
MHhhNGM2LAorCTB4YTRkMCwgMHhhNjJiLAorCTB4YTY0MCwgMHhhNmY3LAorCTB4YTcwMCwgMHhh
N2JmLAorCTB4YTdjMiwgMHhhN2M2LAorCTB4YTdmNywgMHhhODJiLAorCTB4YTgzMCwgMHhhODM5
LAorCTB4YTg0MCwgMHhhODc3LAorCTB4YTg4MCwgMHhhOGM1LAorCTB4YThjZSwgMHhhOGQ5LAor
CTB4YThlMCwgMHhhOTUzLAorCTB4YTk1ZiwgMHhhOTdjLAorCTB4YTk4MCwgMHhhOWNkLAorCTB4
YTljZiwgMHhhOWQ5LAorCTB4YTlkZSwgMHhhOWZlLAorCTB4YWEwMCwgMHhhYTM2LAorCTB4YWE0
MCwgMHhhYTRkLAorCTB4YWE1MCwgMHhhYTU5LAorCTB4YWE1YywgMHhhYWMyLAorCTB4YWFkYiwg
MHhhYWY2LAorCTB4YWIwMSwgMHhhYjA2LAorCTB4YWIwOSwgMHhhYjBlLAorCTB4YWIxMSwgMHhh
YjE2LAorCTB4YWIyMCwgMHhhYjI2LAorCTB4YWIyOCwgMHhhYjJlLAorCTB4YWIzMCwgMHhhYjY3
LAorCTB4YWI3MCwgMHhhYmVkLAorCTB4YWJmMCwgMHhhYmY5LAorCTB4YWMwMCwgMHhkN2EzLAor
CTB4ZDdiMCwgMHhkN2M2LAorCTB4ZDdjYiwgMHhkN2ZiLAorCTB4ZDgwMCwgMHhmYTZkLAorCTB4
ZmE3MCwgMHhmYWQ5LAorCTB4ZmIwMCwgMHhmYjA2LAorCTB4ZmIxMywgMHhmYjE3LAorCTB4ZmIx
ZCwgMHhmYjM2LAorCTB4ZmIzOCwgMHhmYjNjLAorCTB4ZmIzZSwgMHhmYjNlLAorCTB4ZmI0MCwg
MHhmYjQxLAorCTB4ZmI0MywgMHhmYjQ0LAorCTB4ZmI0NiwgMHhmYmMxLAorCTB4ZmJkMywgMHhm
ZDNmLAorCTB4ZmQ1MCwgMHhmZDhmLAorCTB4ZmQ5MiwgMHhmZGM3LAorCTB4ZmRmMCwgMHhmZGZk
LAorCTB4ZmUwMCwgMHhmZTE5LAorCTB4ZmUyMCwgMHhmZTUyLAorCTB4ZmU1NCwgMHhmZTY2LAor
CTB4ZmU2OCwgMHhmZTZiLAorCTB4ZmU3MCwgMHhmZTc0LAorCTB4ZmU3NiwgMHhmZWZjLAorCTB4
ZmVmZiwgMHhmZWZmLAorCTB4ZmYwMSwgMHhmZmJlLAorCTB4ZmZjMiwgMHhmZmM3LAorCTB4ZmZj
YSwgMHhmZmNmLAorCTB4ZmZkMiwgMHhmZmQ3LAorCTB4ZmZkYSwgMHhmZmRjLAorCTB4ZmZlMCwg
MHhmZmU2LAorCTB4ZmZlOCwgMHhmZmVlLAorCTB4ZmZmOSwgMHhmZmZkLAorCTB4MTAwMDAsIDB4
MTAwMGIsCisJMHgxMDAwZCwgMHgxMDAyNiwKKwkweDEwMDI4LCAweDEwMDNhLAorCTB4MTAwM2Ms
IDB4MTAwM2QsCisJMHgxMDAzZiwgMHgxMDA0ZCwKKwkweDEwMDUwLCAweDEwMDVkLAorCTB4MTAw
ODAsIDB4MTAwZmEsCisJMHgxMDEwMCwgMHgxMDEwMiwKKwkweDEwMTA3LCAweDEwMTMzLAorCTB4
MTAxMzcsIDB4MTAxOGUsCisJMHgxMDE5MCwgMHgxMDE5YiwKKwkweDEwMWEwLCAweDEwMWEwLAor
CTB4MTAxZDAsIDB4MTAxZmQsCisJMHgxMDI4MCwgMHgxMDI5YywKKwkweDEwMmEwLCAweDEwMmQw
LAorCTB4MTAyZTAsIDB4MTAyZmIsCisJMHgxMDMwMCwgMHgxMDMyMywKKwkweDEwMzJkLCAweDEw
MzRhLAorCTB4MTAzNTAsIDB4MTAzN2EsCisJMHgxMDM4MCwgMHgxMDM5ZCwKKwkweDEwMzlmLCAw
eDEwM2MzLAorCTB4MTAzYzgsIDB4MTAzZDUsCisJMHgxMDQwMCwgMHgxMDQ5ZCwKKwkweDEwNGEw
LCAweDEwNGE5LAorCTB4MTA0YjAsIDB4MTA0ZDMsCisJMHgxMDRkOCwgMHgxMDRmYiwKKwkweDEw
NTAwLCAweDEwNTI3LAorCTB4MTA1MzAsIDB4MTA1NjMsCisJMHgxMDU2ZiwgMHgxMDU2ZiwKKwkw
eDEwNjAwLCAweDEwNzM2LAorCTB4MTA3NDAsIDB4MTA3NTUsCisJMHgxMDc2MCwgMHgxMDc2NywK
KwkweDEwODAwLCAweDEwODA1LAorCTB4MTA4MDgsIDB4MTA4MDgsCisJMHgxMDgwYSwgMHgxMDgz
NSwKKwkweDEwODM3LCAweDEwODM4LAorCTB4MTA4M2MsIDB4MTA4M2MsCisJMHgxMDgzZiwgMHgx
MDg1NSwKKwkweDEwODU3LCAweDEwODllLAorCTB4MTA4YTcsIDB4MTA4YWYsCisJMHgxMDhlMCwg
MHgxMDhmMiwKKwkweDEwOGY0LCAweDEwOGY1LAorCTB4MTA4ZmIsIDB4MTA5MWIsCisJMHgxMDkx
ZiwgMHgxMDkzOSwKKwkweDEwOTNmLCAweDEwOTNmLAorCTB4MTA5ODAsIDB4MTA5YjcsCisJMHgx
MDliYywgMHgxMDljZiwKKwkweDEwOWQyLCAweDEwYTAzLAorCTB4MTBhMDUsIDB4MTBhMDYsCisJ
MHgxMGEwYywgMHgxMGExMywKKwkweDEwYTE1LCAweDEwYTE3LAorCTB4MTBhMTksIDB4MTBhMzUs
CisJMHgxMGEzOCwgMHgxMGEzYSwKKwkweDEwYTNmLCAweDEwYTQ4LAorCTB4MTBhNTAsIDB4MTBh
NTgsCisJMHgxMGE2MCwgMHgxMGE5ZiwKKwkweDEwYWMwLCAweDEwYWU2LAorCTB4MTBhZWIsIDB4
MTBhZjYsCisJMHgxMGIwMCwgMHgxMGIzNSwKKwkweDEwYjM5LCAweDEwYjU1LAorCTB4MTBiNTgs
IDB4MTBiNzIsCisJMHgxMGI3OCwgMHgxMGI5MSwKKwkweDEwYjk5LCAweDEwYjljLAorCTB4MTBi
YTksIDB4MTBiYWYsCisJMHgxMGMwMCwgMHgxMGM0OCwKKwkweDEwYzgwLCAweDEwY2IyLAorCTB4
MTBjYzAsIDB4MTBjZjIsCisJMHgxMGNmYSwgMHgxMGQyNywKKwkweDEwZDMwLCAweDEwZDM5LAor
CTB4MTBlNjAsIDB4MTBlN2UsCisJMHgxMGYwMCwgMHgxMGYyNywKKwkweDEwZjMwLCAweDEwZjU5
LAorCTB4MTBmZTAsIDB4MTBmZjYsCisJMHgxMTAwMCwgMHgxMTA0ZCwKKwkweDExMDUyLCAweDEx
MDZmLAorCTB4MTEwN2YsIDB4MTEwYzEsCisJMHgxMTBjZCwgMHgxMTBjZCwKKwkweDExMGQwLCAw
eDExMGU4LAorCTB4MTEwZjAsIDB4MTEwZjksCisJMHgxMTEwMCwgMHgxMTEzNCwKKwkweDExMTM2
LCAweDExMTQ2LAorCTB4MTExNTAsIDB4MTExNzYsCisJMHgxMTE4MCwgMHgxMTFjZCwKKwkweDEx
MWQwLCAweDExMWRmLAorCTB4MTExZTEsIDB4MTExZjQsCisJMHgxMTIwMCwgMHgxMTIxMSwKKwkw
eDExMjEzLCAweDExMjNlLAorCTB4MTEyODAsIDB4MTEyODYsCisJMHgxMTI4OCwgMHgxMTI4OCwK
KwkweDExMjhhLCAweDExMjhkLAorCTB4MTEyOGYsIDB4MTEyOWQsCisJMHgxMTI5ZiwgMHgxMTJh
OSwKKwkweDExMmIwLCAweDExMmVhLAorCTB4MTEyZjAsIDB4MTEyZjksCisJMHgxMTMwMCwgMHgx
MTMwMywKKwkweDExMzA1LCAweDExMzBjLAorCTB4MTEzMGYsIDB4MTEzMTAsCisJMHgxMTMxMywg
MHgxMTMyOCwKKwkweDExMzJhLCAweDExMzMwLAorCTB4MTEzMzIsIDB4MTEzMzMsCisJMHgxMTMz
NSwgMHgxMTMzOSwKKwkweDExMzNiLCAweDExMzQ0LAorCTB4MTEzNDcsIDB4MTEzNDgsCisJMHgx
MTM0YiwgMHgxMTM0ZCwKKwkweDExMzUwLCAweDExMzUwLAorCTB4MTEzNTcsIDB4MTEzNTcsCisJ
MHgxMTM1ZCwgMHgxMTM2MywKKwkweDExMzY2LCAweDExMzZjLAorCTB4MTEzNzAsIDB4MTEzNzQs
CisJMHgxMTQwMCwgMHgxMTQ1OSwKKwkweDExNDViLCAweDExNDViLAorCTB4MTE0NWQsIDB4MTE0
NWYsCisJMHgxMTQ4MCwgMHgxMTRjNywKKwkweDExNGQwLCAweDExNGQ5LAorCTB4MTE1ODAsIDB4
MTE1YjUsCisJMHgxMTViOCwgMHgxMTVkZCwKKwkweDExNjAwLCAweDExNjQ0LAorCTB4MTE2NTAs
IDB4MTE2NTksCisJMHgxMTY2MCwgMHgxMTY2YywKKwkweDExNjgwLCAweDExNmI4LAorCTB4MTE2
YzAsIDB4MTE2YzksCisJMHgxMTcwMCwgMHgxMTcxYSwKKwkweDExNzFkLCAweDExNzJiLAorCTB4
MTE3MzAsIDB4MTE3M2YsCisJMHgxMTgwMCwgMHgxMTgzYiwKKwkweDExOGEwLCAweDExOGYyLAor
CTB4MTE4ZmYsIDB4MTE4ZmYsCisJMHgxMTlhMCwgMHgxMTlhNywKKwkweDExOWFhLCAweDExOWQ3
LAorCTB4MTE5ZGEsIDB4MTE5ZTQsCisJMHgxMWEwMCwgMHgxMWE0NywKKwkweDExYTUwLCAweDEx
YWEyLAorCTB4MTFhYzAsIDB4MTFhZjgsCisJMHgxMWMwMCwgMHgxMWMwOCwKKwkweDExYzBhLCAw
eDExYzM2LAorCTB4MTFjMzgsIDB4MTFjNDUsCisJMHgxMWM1MCwgMHgxMWM2YywKKwkweDExYzcw
LCAweDExYzhmLAorCTB4MTFjOTIsIDB4MTFjYTcsCisJMHgxMWNhOSwgMHgxMWNiNiwKKwkweDEx
ZDAwLCAweDExZDA2LAorCTB4MTFkMDgsIDB4MTFkMDksCisJMHgxMWQwYiwgMHgxMWQzNiwKKwkw
eDExZDNhLCAweDExZDNhLAorCTB4MTFkM2MsIDB4MTFkM2QsCisJMHgxMWQzZiwgMHgxMWQ0NywK
KwkweDExZDUwLCAweDExZDU5LAorCTB4MTFkNjAsIDB4MTFkNjUsCisJMHgxMWQ2NywgMHgxMWQ2
OCwKKwkweDExZDZhLCAweDExZDhlLAorCTB4MTFkOTAsIDB4MTFkOTEsCisJMHgxMWQ5MywgMHgx
MWQ5OCwKKwkweDExZGEwLCAweDExZGE5LAorCTB4MTFlZTAsIDB4MTFlZjgsCisJMHgxMWZjMCwg
MHgxMWZmMSwKKwkweDExZmZmLCAweDEyMzk5LAorCTB4MTI0MDAsIDB4MTI0NmUsCisJMHgxMjQ3
MCwgMHgxMjQ3NCwKKwkweDEyNDgwLCAweDEyNTQzLAorCTB4MTMwMDAsIDB4MTM0MmUsCisJMHgx
MzQzMCwgMHgxMzQzOCwKKwkweDE0NDAwLCAweDE0NjQ2LAorCTB4MTY4MDAsIDB4MTZhMzgsCisJ
MHgxNmE0MCwgMHgxNmE1ZSwKKwkweDE2YTYwLCAweDE2YTY5LAorCTB4MTZhNmUsIDB4MTZhNmYs
CisJMHgxNmFkMCwgMHgxNmFlZCwKKwkweDE2YWYwLCAweDE2YWY1LAorCTB4MTZiMDAsIDB4MTZi
NDUsCisJMHgxNmI1MCwgMHgxNmI1OSwKKwkweDE2YjViLCAweDE2YjYxLAorCTB4MTZiNjMsIDB4
MTZiNzcsCisJMHgxNmI3ZCwgMHgxNmI4ZiwKKwkweDE2ZTQwLCAweDE2ZTlhLAorCTB4MTZmMDAs
IDB4MTZmNGEsCisJMHgxNmY0ZiwgMHgxNmY4NywKKwkweDE2ZjhmLCAweDE2ZjlmLAorCTB4MTZm
ZTAsIDB4MTZmZTMsCisJMHgxNzAwMCwgMHgxODdmNywKKwkweDE4ODAwLCAweDE4YWYyLAorCTB4
MWIwMDAsIDB4MWIxMWUsCisJMHgxYjE1MCwgMHgxYjE1MiwKKwkweDFiMTY0LCAweDFiMTY3LAor
CTB4MWIxNzAsIDB4MWIyZmIsCisJMHgxYmMwMCwgMHgxYmM2YSwKKwkweDFiYzcwLCAweDFiYzdj
LAorCTB4MWJjODAsIDB4MWJjODgsCisJMHgxYmM5MCwgMHgxYmM5OSwKKwkweDFiYzljLCAweDFi
Y2EzLAorCTB4MWQwMDAsIDB4MWQwZjUsCisJMHgxZDEwMCwgMHgxZDEyNiwKKwkweDFkMTI5LCAw
eDFkMWU4LAorCTB4MWQyMDAsIDB4MWQyNDUsCisJMHgxZDJlMCwgMHgxZDJmMywKKwkweDFkMzAw
LCAweDFkMzU2LAorCTB4MWQzNjAsIDB4MWQzNzgsCisJMHgxZDQwMCwgMHgxZDQ1NCwKKwkweDFk
NDU2LCAweDFkNDljLAorCTB4MWQ0OWUsIDB4MWQ0OWYsCisJMHgxZDRhMiwgMHgxZDRhMiwKKwkw
eDFkNGE1LCAweDFkNGE2LAorCTB4MWQ0YTksIDB4MWQ0YWMsCisJMHgxZDRhZSwgMHgxZDRiOSwK
KwkweDFkNGJiLCAweDFkNGJiLAorCTB4MWQ0YmQsIDB4MWQ0YzMsCisJMHgxZDRjNSwgMHgxZDUw
NSwKKwkweDFkNTA3LCAweDFkNTBhLAorCTB4MWQ1MGQsIDB4MWQ1MTQsCisJMHgxZDUxNiwgMHgx
ZDUxYywKKwkweDFkNTFlLCAweDFkNTM5LAorCTB4MWQ1M2IsIDB4MWQ1M2UsCisJMHgxZDU0MCwg
MHgxZDU0NCwKKwkweDFkNTQ2LCAweDFkNTQ2LAorCTB4MWQ1NGEsIDB4MWQ1NTAsCisJMHgxZDU1
MiwgMHgxZDZhNSwKKwkweDFkNmE4LCAweDFkN2NiLAorCTB4MWQ3Y2UsIDB4MWRhOGIsCisJMHgx
ZGE5YiwgMHgxZGE5ZiwKKwkweDFkYWExLCAweDFkYWFmLAorCTB4MWUwMDAsIDB4MWUwMDYsCisJ
MHgxZTAwOCwgMHgxZTAxOCwKKwkweDFlMDFiLCAweDFlMDIxLAorCTB4MWUwMjMsIDB4MWUwMjQs
CisJMHgxZTAyNiwgMHgxZTAyYSwKKwkweDFlMTAwLCAweDFlMTJjLAorCTB4MWUxMzAsIDB4MWUx
M2QsCisJMHgxZTE0MCwgMHgxZTE0OSwKKwkweDFlMTRlLCAweDFlMTRmLAorCTB4MWUyYzAsIDB4
MWUyZjksCisJMHgxZTJmZiwgMHgxZTJmZiwKKwkweDFlODAwLCAweDFlOGM0LAorCTB4MWU4Yzcs
IDB4MWU4ZDYsCisJMHgxZTkwMCwgMHgxZTk0YiwKKwkweDFlOTUwLCAweDFlOTU5LAorCTB4MWU5
NWUsIDB4MWU5NWYsCisJMHgxZWM3MSwgMHgxZWNiNCwKKwkweDFlZDAxLCAweDFlZDNkLAorCTB4
MWVlMDAsIDB4MWVlMDMsCisJMHgxZWUwNSwgMHgxZWUxZiwKKwkweDFlZTIxLCAweDFlZTIyLAor
CTB4MWVlMjQsIDB4MWVlMjQsCisJMHgxZWUyNywgMHgxZWUyNywKKwkweDFlZTI5LCAweDFlZTMy
LAorCTB4MWVlMzQsIDB4MWVlMzcsCisJMHgxZWUzOSwgMHgxZWUzOSwKKwkweDFlZTNiLCAweDFl
ZTNiLAorCTB4MWVlNDIsIDB4MWVlNDIsCisJMHgxZWU0NywgMHgxZWU0NywKKwkweDFlZTQ5LCAw
eDFlZTQ5LAorCTB4MWVlNGIsIDB4MWVlNGIsCisJMHgxZWU0ZCwgMHgxZWU0ZiwKKwkweDFlZTUx
LCAweDFlZTUyLAorCTB4MWVlNTQsIDB4MWVlNTQsCisJMHgxZWU1NywgMHgxZWU1NywKKwkweDFl
ZTU5LCAweDFlZTU5LAorCTB4MWVlNWIsIDB4MWVlNWIsCisJMHgxZWU1ZCwgMHgxZWU1ZCwKKwkw
eDFlZTVmLCAweDFlZTVmLAorCTB4MWVlNjEsIDB4MWVlNjIsCisJMHgxZWU2NCwgMHgxZWU2NCwK
KwkweDFlZTY3LCAweDFlZTZhLAorCTB4MWVlNmMsIDB4MWVlNzIsCisJMHgxZWU3NCwgMHgxZWU3
NywKKwkweDFlZTc5LCAweDFlZTdjLAorCTB4MWVlN2UsIDB4MWVlN2UsCisJMHgxZWU4MCwgMHgx
ZWU4OSwKKwkweDFlZThiLCAweDFlZTliLAorCTB4MWVlYTEsIDB4MWVlYTMsCisJMHgxZWVhNSwg
MHgxZWVhOSwKKwkweDFlZWFiLCAweDFlZWJiLAorCTB4MWVlZjAsIDB4MWVlZjEsCisJMHgxZjAw
MCwgMHgxZjAyYiwKKwkweDFmMDMwLCAweDFmMDkzLAorCTB4MWYwYTAsIDB4MWYwYWUsCisJMHgx
ZjBiMSwgMHgxZjBiZiwKKwkweDFmMGMxLCAweDFmMGNmLAorCTB4MWYwZDEsIDB4MWYwZjUsCisJ
MHgxZjEwMCwgMHgxZjEwYywKKwkweDFmMTEwLCAweDFmMTZjLAorCTB4MWYxNzAsIDB4MWYxYWMs
CisJMHgxZjFlNiwgMHgxZjIwMiwKKwkweDFmMjEwLCAweDFmMjNiLAorCTB4MWYyNDAsIDB4MWYy
NDgsCisJMHgxZjI1MCwgMHgxZjI1MSwKKwkweDFmMjYwLCAweDFmMjY1LAorCTB4MWYzMDAsIDB4
MWY2ZDUsCisJMHgxZjZlMCwgMHgxZjZlYywKKwkweDFmNmYwLCAweDFmNmZhLAorCTB4MWY3MDAs
IDB4MWY3NzMsCisJMHgxZjc4MCwgMHgxZjdkOCwKKwkweDFmN2UwLCAweDFmN2ViLAorCTB4MWY4
MDAsIDB4MWY4MGIsCisJMHgxZjgxMCwgMHgxZjg0NywKKwkweDFmODUwLCAweDFmODU5LAorCTB4
MWY4NjAsIDB4MWY4ODcsCisJMHgxZjg5MCwgMHgxZjhhZCwKKwkweDFmOTAwLCAweDFmOTBiLAor
CTB4MWY5MGQsIDB4MWY5NzEsCisJMHgxZjk3MywgMHgxZjk3NiwKKwkweDFmOTdhLCAweDFmOWEy
LAorCTB4MWY5YTUsIDB4MWY5YWEsCisJMHgxZjlhZSwgMHgxZjljYSwKKwkweDFmOWNkLCAweDFm
YTUzLAorCTB4MWZhNjAsIDB4MWZhNmQsCisJMHgxZmE3MCwgMHgxZmE3MywKKwkweDFmYTc4LCAw
eDFmYTdhLAorCTB4MWZhODAsIDB4MWZhODIsCisJMHgxZmE5MCwgMHgxZmE5NSwKKwkweDIwMDAw
LCAweDJhNmQ2LAorCTB4MmE3MDAsIDB4MmI3MzQsCisJMHgyYjc0MCwgMHgyYjgxZCwKKwkweDJi
ODIwLCAweDJjZWExLAorCTB4MmNlYjAsIDB4MmViZTAsCisJMHgyZjgwMCwgMHgyZmExZCwKKwkw
eGUwMDAxLCAweGUwMDAxLAorCTB4ZTAwMjAsIDB4ZTAwN2YsCisJMHhlMDEwMCwgMHhlMDFlZiwK
KwkweGYwMDAwLCAweGZmZmZkLAorCTB4MTAwMDAwLCAweDEwZmZmZCwKK307IC8qIENSX0Fzc2ln
bmVkICovCisKKy8qICdDJzogTWFqb3IgQ2F0ZWdvcnkgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29k
ZVBvaW50IENSX0NbXSA9IHsKKwk2NjgsCisJMHgwMDAwLCAweDAwMWYsCisJMHgwMDdmLCAweDAw
OWYsCisJMHgwMGFkLCAweDAwYWQsCisJMHgwMzc4LCAweDAzNzksCisJMHgwMzgwLCAweDAzODMs
CisJMHgwMzhiLCAweDAzOGIsCisJMHgwMzhkLCAweDAzOGQsCisJMHgwM2EyLCAweDAzYTIsCisJ
MHgwNTMwLCAweDA1MzAsCisJMHgwNTU3LCAweDA1NTgsCisJMHgwNThiLCAweDA1OGMsCisJMHgw
NTkwLCAweDA1OTAsCisJMHgwNWM4LCAweDA1Y2YsCisJMHgwNWViLCAweDA1ZWUsCisJMHgwNWY1
LCAweDA2MDUsCisJMHgwNjFjLCAweDA2MWQsCisJMHgwNmRkLCAweDA2ZGQsCisJMHgwNzBlLCAw
eDA3MGYsCisJMHgwNzRiLCAweDA3NGMsCisJMHgwN2IyLCAweDA3YmYsCisJMHgwN2ZiLCAweDA3
ZmMsCisJMHgwODJlLCAweDA4MmYsCisJMHgwODNmLCAweDA4M2YsCisJMHgwODVjLCAweDA4NWQs
CisJMHgwODVmLCAweDA4NWYsCisJMHgwODZiLCAweDA4OWYsCisJMHgwOGI1LCAweDA4YjUsCisJ
MHgwOGJlLCAweDA4ZDIsCisJMHgwOGUyLCAweDA4ZTIsCisJMHgwOTg0LCAweDA5ODQsCisJMHgw
OThkLCAweDA5OGUsCisJMHgwOTkxLCAweDA5OTIsCisJMHgwOWE5LCAweDA5YTksCisJMHgwOWIx
LCAweDA5YjEsCisJMHgwOWIzLCAweDA5YjUsCisJMHgwOWJhLCAweDA5YmIsCisJMHgwOWM1LCAw
eDA5YzYsCisJMHgwOWM5LCAweDA5Y2EsCisJMHgwOWNmLCAweDA5ZDYsCisJMHgwOWQ4LCAweDA5
ZGIsCisJMHgwOWRlLCAweDA5ZGUsCisJMHgwOWU0LCAweDA5ZTUsCisJMHgwOWZmLCAweDBhMDAs
CisJMHgwYTA0LCAweDBhMDQsCisJMHgwYTBiLCAweDBhMGUsCisJMHgwYTExLCAweDBhMTIsCisJ
MHgwYTI5LCAweDBhMjksCisJMHgwYTMxLCAweDBhMzEsCisJMHgwYTM0LCAweDBhMzQsCisJMHgw
YTM3LCAweDBhMzcsCisJMHgwYTNhLCAweDBhM2IsCisJMHgwYTNkLCAweDBhM2QsCisJMHgwYTQz
LCAweDBhNDYsCisJMHgwYTQ5LCAweDBhNGEsCisJMHgwYTRlLCAweDBhNTAsCisJMHgwYTUyLCAw
eDBhNTgsCisJMHgwYTVkLCAweDBhNWQsCisJMHgwYTVmLCAweDBhNjUsCisJMHgwYTc3LCAweDBh
ODAsCisJMHgwYTg0LCAweDBhODQsCisJMHgwYThlLCAweDBhOGUsCisJMHgwYTkyLCAweDBhOTIs
CisJMHgwYWE5LCAweDBhYTksCisJMHgwYWIxLCAweDBhYjEsCisJMHgwYWI0LCAweDBhYjQsCisJ
MHgwYWJhLCAweDBhYmIsCisJMHgwYWM2LCAweDBhYzYsCisJMHgwYWNhLCAweDBhY2EsCisJMHgw
YWNlLCAweDBhY2YsCisJMHgwYWQxLCAweDBhZGYsCisJMHgwYWU0LCAweDBhZTUsCisJMHgwYWYy
LCAweDBhZjgsCisJMHgwYjAwLCAweDBiMDAsCisJMHgwYjA0LCAweDBiMDQsCisJMHgwYjBkLCAw
eDBiMGUsCisJMHgwYjExLCAweDBiMTIsCisJMHgwYjI5LCAweDBiMjksCisJMHgwYjMxLCAweDBi
MzEsCisJMHgwYjM0LCAweDBiMzQsCisJMHgwYjNhLCAweDBiM2IsCisJMHgwYjQ1LCAweDBiNDYs
CisJMHgwYjQ5LCAweDBiNGEsCisJMHgwYjRlLCAweDBiNTUsCisJMHgwYjU4LCAweDBiNWIsCisJ
MHgwYjVlLCAweDBiNWUsCisJMHgwYjY0LCAweDBiNjUsCisJMHgwYjc4LCAweDBiODEsCisJMHgw
Yjg0LCAweDBiODQsCisJMHgwYjhiLCAweDBiOGQsCisJMHgwYjkxLCAweDBiOTEsCisJMHgwYjk2
LCAweDBiOTgsCisJMHgwYjliLCAweDBiOWIsCisJMHgwYjlkLCAweDBiOWQsCisJMHgwYmEwLCAw
eDBiYTIsCisJMHgwYmE1LCAweDBiYTcsCisJMHgwYmFiLCAweDBiYWQsCisJMHgwYmJhLCAweDBi
YmQsCisJMHgwYmMzLCAweDBiYzUsCisJMHgwYmM5LCAweDBiYzksCisJMHgwYmNlLCAweDBiY2Ys
CisJMHgwYmQxLCAweDBiZDYsCisJMHgwYmQ4LCAweDBiZTUsCisJMHgwYmZiLCAweDBiZmYsCisJ
MHgwYzBkLCAweDBjMGQsCisJMHgwYzExLCAweDBjMTEsCisJMHgwYzI5LCAweDBjMjksCisJMHgw
YzNhLCAweDBjM2MsCisJMHgwYzQ1LCAweDBjNDUsCisJMHgwYzQ5LCAweDBjNDksCisJMHgwYzRl
LCAweDBjNTQsCisJMHgwYzU3LCAweDBjNTcsCisJMHgwYzViLCAweDBjNWYsCisJMHgwYzY0LCAw
eDBjNjUsCisJMHgwYzcwLCAweDBjNzYsCisJMHgwYzhkLCAweDBjOGQsCisJMHgwYzkxLCAweDBj
OTEsCisJMHgwY2E5LCAweDBjYTksCisJMHgwY2I0LCAweDBjYjQsCisJMHgwY2JhLCAweDBjYmIs
CisJMHgwY2M1LCAweDBjYzUsCisJMHgwY2M5LCAweDBjYzksCisJMHgwY2NlLCAweDBjZDQsCisJ
MHgwY2Q3LCAweDBjZGQsCisJMHgwY2RmLCAweDBjZGYsCisJMHgwY2U0LCAweDBjZTUsCisJMHgw
Y2YwLCAweDBjZjAsCisJMHgwY2YzLCAweDBjZmYsCisJMHgwZDA0LCAweDBkMDQsCisJMHgwZDBk
LCAweDBkMGQsCisJMHgwZDExLCAweDBkMTEsCisJMHgwZDQ1LCAweDBkNDUsCisJMHgwZDQ5LCAw
eDBkNDksCisJMHgwZDUwLCAweDBkNTMsCisJMHgwZDY0LCAweDBkNjUsCisJMHgwZDgwLCAweDBk
ODEsCisJMHgwZDg0LCAweDBkODQsCisJMHgwZDk3LCAweDBkOTksCisJMHgwZGIyLCAweDBkYjIs
CisJMHgwZGJjLCAweDBkYmMsCisJMHgwZGJlLCAweDBkYmYsCisJMHgwZGM3LCAweDBkYzksCisJ
MHgwZGNiLCAweDBkY2UsCisJMHgwZGQ1LCAweDBkZDUsCisJMHgwZGQ3LCAweDBkZDcsCisJMHgw
ZGUwLCAweDBkZTUsCisJMHgwZGYwLCAweDBkZjEsCisJMHgwZGY1LCAweDBlMDAsCisJMHgwZTNi
LCAweDBlM2UsCisJMHgwZTVjLCAweDBlODAsCisJMHgwZTgzLCAweDBlODMsCisJMHgwZTg1LCAw
eDBlODUsCisJMHgwZThiLCAweDBlOGIsCisJMHgwZWE0LCAweDBlYTQsCisJMHgwZWE2LCAweDBl
YTYsCisJMHgwZWJlLCAweDBlYmYsCisJMHgwZWM1LCAweDBlYzUsCisJMHgwZWM3LCAweDBlYzcs
CisJMHgwZWNlLCAweDBlY2YsCisJMHgwZWRhLCAweDBlZGIsCisJMHgwZWUwLCAweDBlZmYsCisJ
MHgwZjQ4LCAweDBmNDgsCisJMHgwZjZkLCAweDBmNzAsCisJMHgwZjk4LCAweDBmOTgsCisJMHgw
ZmJkLCAweDBmYmQsCisJMHgwZmNkLCAweDBmY2QsCisJMHgwZmRiLCAweDBmZmYsCisJMHgxMGM2
LCAweDEwYzYsCisJMHgxMGM4LCAweDEwY2MsCisJMHgxMGNlLCAweDEwY2YsCisJMHgxMjQ5LCAw
eDEyNDksCisJMHgxMjRlLCAweDEyNGYsCisJMHgxMjU3LCAweDEyNTcsCisJMHgxMjU5LCAweDEy
NTksCisJMHgxMjVlLCAweDEyNWYsCisJMHgxMjg5LCAweDEyODksCisJMHgxMjhlLCAweDEyOGYs
CisJMHgxMmIxLCAweDEyYjEsCisJMHgxMmI2LCAweDEyYjcsCisJMHgxMmJmLCAweDEyYmYsCisJ
MHgxMmMxLCAweDEyYzEsCisJMHgxMmM2LCAweDEyYzcsCisJMHgxMmQ3LCAweDEyZDcsCisJMHgx
MzExLCAweDEzMTEsCisJMHgxMzE2LCAweDEzMTcsCisJMHgxMzViLCAweDEzNWMsCisJMHgxMzdk
LCAweDEzN2YsCisJMHgxMzlhLCAweDEzOWYsCisJMHgxM2Y2LCAweDEzZjcsCisJMHgxM2ZlLCAw
eDEzZmYsCisJMHgxNjlkLCAweDE2OWYsCisJMHgxNmY5LCAweDE2ZmYsCisJMHgxNzBkLCAweDE3
MGQsCisJMHgxNzE1LCAweDE3MWYsCisJMHgxNzM3LCAweDE3M2YsCisJMHgxNzU0LCAweDE3NWYs
CisJMHgxNzZkLCAweDE3NmQsCisJMHgxNzcxLCAweDE3NzEsCisJMHgxNzc0LCAweDE3N2YsCisJ
MHgxN2RlLCAweDE3ZGYsCisJMHgxN2VhLCAweDE3ZWYsCisJMHgxN2ZhLCAweDE3ZmYsCisJMHgx
ODBlLCAweDE4MGYsCisJMHgxODFhLCAweDE4MWYsCisJMHgxODc5LCAweDE4N2YsCisJMHgxOGFi
LCAweDE4YWYsCisJMHgxOGY2LCAweDE4ZmYsCisJMHgxOTFmLCAweDE5MWYsCisJMHgxOTJjLCAw
eDE5MmYsCisJMHgxOTNjLCAweDE5M2YsCisJMHgxOTQxLCAweDE5NDMsCisJMHgxOTZlLCAweDE5
NmYsCisJMHgxOTc1LCAweDE5N2YsCisJMHgxOWFjLCAweDE5YWYsCisJMHgxOWNhLCAweDE5Y2Ys
CisJMHgxOWRiLCAweDE5ZGQsCisJMHgxYTFjLCAweDFhMWQsCisJMHgxYTVmLCAweDFhNWYsCisJ
MHgxYTdkLCAweDFhN2UsCisJMHgxYThhLCAweDFhOGYsCisJMHgxYTlhLCAweDFhOWYsCisJMHgx
YWFlLCAweDFhYWYsCisJMHgxYWJmLCAweDFhZmYsCisJMHgxYjRjLCAweDFiNGYsCisJMHgxYjdk
LCAweDFiN2YsCisJMHgxYmY0LCAweDFiZmIsCisJMHgxYzM4LCAweDFjM2EsCisJMHgxYzRhLCAw
eDFjNGMsCisJMHgxYzg5LCAweDFjOGYsCisJMHgxY2JiLCAweDFjYmMsCisJMHgxY2M4LCAweDFj
Y2YsCisJMHgxY2ZiLCAweDFjZmYsCisJMHgxZGZhLCAweDFkZmEsCisJMHgxZjE2LCAweDFmMTcs
CisJMHgxZjFlLCAweDFmMWYsCisJMHgxZjQ2LCAweDFmNDcsCisJMHgxZjRlLCAweDFmNGYsCisJ
MHgxZjU4LCAweDFmNTgsCisJMHgxZjVhLCAweDFmNWEsCisJMHgxZjVjLCAweDFmNWMsCisJMHgx
ZjVlLCAweDFmNWUsCisJMHgxZjdlLCAweDFmN2YsCisJMHgxZmI1LCAweDFmYjUsCisJMHgxZmM1
LCAweDFmYzUsCisJMHgxZmQ0LCAweDFmZDUsCisJMHgxZmRjLCAweDFmZGMsCisJMHgxZmYwLCAw
eDFmZjEsCisJMHgxZmY1LCAweDFmZjUsCisJMHgxZmZmLCAweDFmZmYsCisJMHgyMDBiLCAweDIw
MGYsCisJMHgyMDJhLCAweDIwMmUsCisJMHgyMDYwLCAweDIwNmYsCisJMHgyMDcyLCAweDIwNzMs
CisJMHgyMDhmLCAweDIwOGYsCisJMHgyMDlkLCAweDIwOWYsCisJMHgyMGMwLCAweDIwY2YsCisJ
MHgyMGYxLCAweDIwZmYsCisJMHgyMThjLCAweDIxOGYsCisJMHgyNDI3LCAweDI0M2YsCisJMHgy
NDRiLCAweDI0NWYsCisJMHgyYjc0LCAweDJiNzUsCisJMHgyYjk2LCAweDJiOTcsCisJMHgyYzJm
LCAweDJjMmYsCisJMHgyYzVmLCAweDJjNWYsCisJMHgyY2Y0LCAweDJjZjgsCisJMHgyZDI2LCAw
eDJkMjYsCisJMHgyZDI4LCAweDJkMmMsCisJMHgyZDJlLCAweDJkMmYsCisJMHgyZDY4LCAweDJk
NmUsCisJMHgyZDcxLCAweDJkN2UsCisJMHgyZDk3LCAweDJkOWYsCisJMHgyZGE3LCAweDJkYTcs
CisJMHgyZGFmLCAweDJkYWYsCisJMHgyZGI3LCAweDJkYjcsCisJMHgyZGJmLCAweDJkYmYsCisJ
MHgyZGM3LCAweDJkYzcsCisJMHgyZGNmLCAweDJkY2YsCisJMHgyZGQ3LCAweDJkZDcsCisJMHgy
ZGRmLCAweDJkZGYsCisJMHgyZTUwLCAweDJlN2YsCisJMHgyZTlhLCAweDJlOWEsCisJMHgyZWY0
LCAweDJlZmYsCisJMHgyZmQ2LCAweDJmZWYsCisJMHgyZmZjLCAweDJmZmYsCisJMHgzMDQwLCAw
eDMwNDAsCisJMHgzMDk3LCAweDMwOTgsCisJMHgzMTAwLCAweDMxMDQsCisJMHgzMTMwLCAweDMx
MzAsCisJMHgzMThmLCAweDMxOGYsCisJMHgzMWJiLCAweDMxYmYsCisJMHgzMWU0LCAweDMxZWYs
CisJMHgzMjFmLCAweDMyMWYsCisJMHg0ZGI2LCAweDRkYmYsCisJMHg5ZmYwLCAweDlmZmYsCisJ
MHhhNDhkLCAweGE0OGYsCisJMHhhNGM3LCAweGE0Y2YsCisJMHhhNjJjLCAweGE2M2YsCisJMHhh
NmY4LCAweGE2ZmYsCisJMHhhN2MwLCAweGE3YzEsCisJMHhhN2M3LCAweGE3ZjYsCisJMHhhODJj
LCAweGE4MmYsCisJMHhhODNhLCAweGE4M2YsCisJMHhhODc4LCAweGE4N2YsCisJMHhhOGM2LCAw
eGE4Y2QsCisJMHhhOGRhLCAweGE4ZGYsCisJMHhhOTU0LCAweGE5NWUsCisJMHhhOTdkLCAweGE5
N2YsCisJMHhhOWNlLCAweGE5Y2UsCisJMHhhOWRhLCAweGE5ZGQsCisJMHhhOWZmLCAweGE5ZmYs
CisJMHhhYTM3LCAweGFhM2YsCisJMHhhYTRlLCAweGFhNGYsCisJMHhhYTVhLCAweGFhNWIsCisJ
MHhhYWMzLCAweGFhZGEsCisJMHhhYWY3LCAweGFiMDAsCisJMHhhYjA3LCAweGFiMDgsCisJMHhh
YjBmLCAweGFiMTAsCisJMHhhYjE3LCAweGFiMWYsCisJMHhhYjI3LCAweGFiMjcsCisJMHhhYjJm
LCAweGFiMmYsCisJMHhhYjY4LCAweGFiNmYsCisJMHhhYmVlLCAweGFiZWYsCisJMHhhYmZhLCAw
eGFiZmYsCisJMHhkN2E0LCAweGQ3YWYsCisJMHhkN2M3LCAweGQ3Y2EsCisJMHhkN2ZjLCAweGY4
ZmYsCisJMHhmYTZlLCAweGZhNmYsCisJMHhmYWRhLCAweGZhZmYsCisJMHhmYjA3LCAweGZiMTIs
CisJMHhmYjE4LCAweGZiMWMsCisJMHhmYjM3LCAweGZiMzcsCisJMHhmYjNkLCAweGZiM2QsCisJ
MHhmYjNmLCAweGZiM2YsCisJMHhmYjQyLCAweGZiNDIsCisJMHhmYjQ1LCAweGZiNDUsCisJMHhm
YmMyLCAweGZiZDIsCisJMHhmZDQwLCAweGZkNGYsCisJMHhmZDkwLCAweGZkOTEsCisJMHhmZGM4
LCAweGZkZWYsCisJMHhmZGZlLCAweGZkZmYsCisJMHhmZTFhLCAweGZlMWYsCisJMHhmZTUzLCAw
eGZlNTMsCisJMHhmZTY3LCAweGZlNjcsCisJMHhmZTZjLCAweGZlNmYsCisJMHhmZTc1LCAweGZl
NzUsCisJMHhmZWZkLCAweGZmMDAsCisJMHhmZmJmLCAweGZmYzEsCisJMHhmZmM4LCAweGZmYzks
CisJMHhmZmQwLCAweGZmZDEsCisJMHhmZmQ4LCAweGZmZDksCisJMHhmZmRkLCAweGZmZGYsCisJ
MHhmZmU3LCAweGZmZTcsCisJMHhmZmVmLCAweGZmZmIsCisJMHhmZmZlLCAweGZmZmYsCisJMHgx
MDAwYywgMHgxMDAwYywKKwkweDEwMDI3LCAweDEwMDI3LAorCTB4MTAwM2IsIDB4MTAwM2IsCisJ
MHgxMDAzZSwgMHgxMDAzZSwKKwkweDEwMDRlLCAweDEwMDRmLAorCTB4MTAwNWUsIDB4MTAwN2Ys
CisJMHgxMDBmYiwgMHgxMDBmZiwKKwkweDEwMTAzLCAweDEwMTA2LAorCTB4MTAxMzQsIDB4MTAx
MzYsCisJMHgxMDE4ZiwgMHgxMDE4ZiwKKwkweDEwMTljLCAweDEwMTlmLAorCTB4MTAxYTEsIDB4
MTAxY2YsCisJMHgxMDFmZSwgMHgxMDI3ZiwKKwkweDEwMjlkLCAweDEwMjlmLAorCTB4MTAyZDEs
IDB4MTAyZGYsCisJMHgxMDJmYywgMHgxMDJmZiwKKwkweDEwMzI0LCAweDEwMzJjLAorCTB4MTAz
NGIsIDB4MTAzNGYsCisJMHgxMDM3YiwgMHgxMDM3ZiwKKwkweDEwMzllLCAweDEwMzllLAorCTB4
MTAzYzQsIDB4MTAzYzcsCisJMHgxMDNkNiwgMHgxMDNmZiwKKwkweDEwNDllLCAweDEwNDlmLAor
CTB4MTA0YWEsIDB4MTA0YWYsCisJMHgxMDRkNCwgMHgxMDRkNywKKwkweDEwNGZjLCAweDEwNGZm
LAorCTB4MTA1MjgsIDB4MTA1MmYsCisJMHgxMDU2NCwgMHgxMDU2ZSwKKwkweDEwNTcwLCAweDEw
NWZmLAorCTB4MTA3MzcsIDB4MTA3M2YsCisJMHgxMDc1NiwgMHgxMDc1ZiwKKwkweDEwNzY4LCAw
eDEwN2ZmLAorCTB4MTA4MDYsIDB4MTA4MDcsCisJMHgxMDgwOSwgMHgxMDgwOSwKKwkweDEwODM2
LCAweDEwODM2LAorCTB4MTA4MzksIDB4MTA4M2IsCisJMHgxMDgzZCwgMHgxMDgzZSwKKwkweDEw
ODU2LCAweDEwODU2LAorCTB4MTA4OWYsIDB4MTA4YTYsCisJMHgxMDhiMCwgMHgxMDhkZiwKKwkw
eDEwOGYzLCAweDEwOGYzLAorCTB4MTA4ZjYsIDB4MTA4ZmEsCisJMHgxMDkxYywgMHgxMDkxZSwK
KwkweDEwOTNhLCAweDEwOTNlLAorCTB4MTA5NDAsIDB4MTA5N2YsCisJMHgxMDliOCwgMHgxMDli
YiwKKwkweDEwOWQwLCAweDEwOWQxLAorCTB4MTBhMDQsIDB4MTBhMDQsCisJMHgxMGEwNywgMHgx
MGEwYiwKKwkweDEwYTE0LCAweDEwYTE0LAorCTB4MTBhMTgsIDB4MTBhMTgsCisJMHgxMGEzNiwg
MHgxMGEzNywKKwkweDEwYTNiLCAweDEwYTNlLAorCTB4MTBhNDksIDB4MTBhNGYsCisJMHgxMGE1
OSwgMHgxMGE1ZiwKKwkweDEwYWEwLCAweDEwYWJmLAorCTB4MTBhZTcsIDB4MTBhZWEsCisJMHgx
MGFmNywgMHgxMGFmZiwKKwkweDEwYjM2LCAweDEwYjM4LAorCTB4MTBiNTYsIDB4MTBiNTcsCisJ
MHgxMGI3MywgMHgxMGI3NywKKwkweDEwYjkyLCAweDEwYjk4LAorCTB4MTBiOWQsIDB4MTBiYTgs
CisJMHgxMGJiMCwgMHgxMGJmZiwKKwkweDEwYzQ5LCAweDEwYzdmLAorCTB4MTBjYjMsIDB4MTBj
YmYsCisJMHgxMGNmMywgMHgxMGNmOSwKKwkweDEwZDI4LCAweDEwZDJmLAorCTB4MTBkM2EsIDB4
MTBlNWYsCisJMHgxMGU3ZiwgMHgxMGVmZiwKKwkweDEwZjI4LCAweDEwZjJmLAorCTB4MTBmNWEs
IDB4MTBmZGYsCisJMHgxMGZmNywgMHgxMGZmZiwKKwkweDExMDRlLCAweDExMDUxLAorCTB4MTEw
NzAsIDB4MTEwN2UsCisJMHgxMTBiZCwgMHgxMTBiZCwKKwkweDExMGMyLCAweDExMGNmLAorCTB4
MTEwZTksIDB4MTEwZWYsCisJMHgxMTBmYSwgMHgxMTBmZiwKKwkweDExMTM1LCAweDExMTM1LAor
CTB4MTExNDcsIDB4MTExNGYsCisJMHgxMTE3NywgMHgxMTE3ZiwKKwkweDExMWNlLCAweDExMWNm
LAorCTB4MTExZTAsIDB4MTExZTAsCisJMHgxMTFmNSwgMHgxMTFmZiwKKwkweDExMjEyLCAweDEx
MjEyLAorCTB4MTEyM2YsIDB4MTEyN2YsCisJMHgxMTI4NywgMHgxMTI4NywKKwkweDExMjg5LCAw
eDExMjg5LAorCTB4MTEyOGUsIDB4MTEyOGUsCisJMHgxMTI5ZSwgMHgxMTI5ZSwKKwkweDExMmFh
LCAweDExMmFmLAorCTB4MTEyZWIsIDB4MTEyZWYsCisJMHgxMTJmYSwgMHgxMTJmZiwKKwkweDEx
MzA0LCAweDExMzA0LAorCTB4MTEzMGQsIDB4MTEzMGUsCisJMHgxMTMxMSwgMHgxMTMxMiwKKwkw
eDExMzI5LCAweDExMzI5LAorCTB4MTEzMzEsIDB4MTEzMzEsCisJMHgxMTMzNCwgMHgxMTMzNCwK
KwkweDExMzNhLCAweDExMzNhLAorCTB4MTEzNDUsIDB4MTEzNDYsCisJMHgxMTM0OSwgMHgxMTM0
YSwKKwkweDExMzRlLCAweDExMzRmLAorCTB4MTEzNTEsIDB4MTEzNTYsCisJMHgxMTM1OCwgMHgx
MTM1YywKKwkweDExMzY0LCAweDExMzY1LAorCTB4MTEzNmQsIDB4MTEzNmYsCisJMHgxMTM3NSwg
MHgxMTNmZiwKKwkweDExNDVhLCAweDExNDVhLAorCTB4MTE0NWMsIDB4MTE0NWMsCisJMHgxMTQ2
MCwgMHgxMTQ3ZiwKKwkweDExNGM4LCAweDExNGNmLAorCTB4MTE0ZGEsIDB4MTE1N2YsCisJMHgx
MTViNiwgMHgxMTViNywKKwkweDExNWRlLCAweDExNWZmLAorCTB4MTE2NDUsIDB4MTE2NGYsCisJ
MHgxMTY1YSwgMHgxMTY1ZiwKKwkweDExNjZkLCAweDExNjdmLAorCTB4MTE2YjksIDB4MTE2YmYs
CisJMHgxMTZjYSwgMHgxMTZmZiwKKwkweDExNzFiLCAweDExNzFjLAorCTB4MTE3MmMsIDB4MTE3
MmYsCisJMHgxMTc0MCwgMHgxMTdmZiwKKwkweDExODNjLCAweDExODlmLAorCTB4MTE4ZjMsIDB4
MTE4ZmUsCisJMHgxMTkwMCwgMHgxMTk5ZiwKKwkweDExOWE4LCAweDExOWE5LAorCTB4MTE5ZDgs
IDB4MTE5ZDksCisJMHgxMTllNSwgMHgxMTlmZiwKKwkweDExYTQ4LCAweDExYTRmLAorCTB4MTFh
YTMsIDB4MTFhYmYsCisJMHgxMWFmOSwgMHgxMWJmZiwKKwkweDExYzA5LCAweDExYzA5LAorCTB4
MTFjMzcsIDB4MTFjMzcsCisJMHgxMWM0NiwgMHgxMWM0ZiwKKwkweDExYzZkLCAweDExYzZmLAor
CTB4MTFjOTAsIDB4MTFjOTEsCisJMHgxMWNhOCwgMHgxMWNhOCwKKwkweDExY2I3LCAweDExY2Zm
LAorCTB4MTFkMDcsIDB4MTFkMDcsCisJMHgxMWQwYSwgMHgxMWQwYSwKKwkweDExZDM3LCAweDEx
ZDM5LAorCTB4MTFkM2IsIDB4MTFkM2IsCisJMHgxMWQzZSwgMHgxMWQzZSwKKwkweDExZDQ4LCAw
eDExZDRmLAorCTB4MTFkNWEsIDB4MTFkNWYsCisJMHgxMWQ2NiwgMHgxMWQ2NiwKKwkweDExZDY5
LCAweDExZDY5LAorCTB4MTFkOGYsIDB4MTFkOGYsCisJMHgxMWQ5MiwgMHgxMWQ5MiwKKwkweDEx
ZDk5LCAweDExZDlmLAorCTB4MTFkYWEsIDB4MTFlZGYsCisJMHgxMWVmOSwgMHgxMWZiZiwKKwkw
eDExZmYyLCAweDExZmZlLAorCTB4MTIzOWEsIDB4MTIzZmYsCisJMHgxMjQ2ZiwgMHgxMjQ2ZiwK
KwkweDEyNDc1LCAweDEyNDdmLAorCTB4MTI1NDQsIDB4MTJmZmYsCisJMHgxMzQyZiwgMHgxNDNm
ZiwKKwkweDE0NjQ3LCAweDE2N2ZmLAorCTB4MTZhMzksIDB4MTZhM2YsCisJMHgxNmE1ZiwgMHgx
NmE1ZiwKKwkweDE2YTZhLCAweDE2YTZkLAorCTB4MTZhNzAsIDB4MTZhY2YsCisJMHgxNmFlZSwg
MHgxNmFlZiwKKwkweDE2YWY2LCAweDE2YWZmLAorCTB4MTZiNDYsIDB4MTZiNGYsCisJMHgxNmI1
YSwgMHgxNmI1YSwKKwkweDE2YjYyLCAweDE2YjYyLAorCTB4MTZiNzgsIDB4MTZiN2MsCisJMHgx
NmI5MCwgMHgxNmUzZiwKKwkweDE2ZTliLCAweDE2ZWZmLAorCTB4MTZmNGIsIDB4MTZmNGUsCisJ
MHgxNmY4OCwgMHgxNmY4ZSwKKwkweDE2ZmEwLCAweDE2ZmRmLAorCTB4MTZmZTQsIDB4MTZmZmYs
CisJMHgxODdmOCwgMHgxODdmZiwKKwkweDE4YWYzLCAweDFhZmZmLAorCTB4MWIxMWYsIDB4MWIx
NGYsCisJMHgxYjE1MywgMHgxYjE2MywKKwkweDFiMTY4LCAweDFiMTZmLAorCTB4MWIyZmMsIDB4
MWJiZmYsCisJMHgxYmM2YiwgMHgxYmM2ZiwKKwkweDFiYzdkLCAweDFiYzdmLAorCTB4MWJjODks
IDB4MWJjOGYsCisJMHgxYmM5YSwgMHgxYmM5YiwKKwkweDFiY2EwLCAweDFjZmZmLAorCTB4MWQw
ZjYsIDB4MWQwZmYsCisJMHgxZDEyNywgMHgxZDEyOCwKKwkweDFkMTczLCAweDFkMTdhLAorCTB4
MWQxZTksIDB4MWQxZmYsCisJMHgxZDI0NiwgMHgxZDJkZiwKKwkweDFkMmY0LCAweDFkMmZmLAor
CTB4MWQzNTcsIDB4MWQzNWYsCisJMHgxZDM3OSwgMHgxZDNmZiwKKwkweDFkNDU1LCAweDFkNDU1
LAorCTB4MWQ0OWQsIDB4MWQ0OWQsCisJMHgxZDRhMCwgMHgxZDRhMSwKKwkweDFkNGEzLCAweDFk
NGE0LAorCTB4MWQ0YTcsIDB4MWQ0YTgsCisJMHgxZDRhZCwgMHgxZDRhZCwKKwkweDFkNGJhLCAw
eDFkNGJhLAorCTB4MWQ0YmMsIDB4MWQ0YmMsCisJMHgxZDRjNCwgMHgxZDRjNCwKKwkweDFkNTA2
LCAweDFkNTA2LAorCTB4MWQ1MGIsIDB4MWQ1MGMsCisJMHgxZDUxNSwgMHgxZDUxNSwKKwkweDFk
NTFkLCAweDFkNTFkLAorCTB4MWQ1M2EsIDB4MWQ1M2EsCisJMHgxZDUzZiwgMHgxZDUzZiwKKwkw
eDFkNTQ1LCAweDFkNTQ1LAorCTB4MWQ1NDcsIDB4MWQ1NDksCisJMHgxZDU1MSwgMHgxZDU1MSwK
KwkweDFkNmE2LCAweDFkNmE3LAorCTB4MWQ3Y2MsIDB4MWQ3Y2QsCisJMHgxZGE4YywgMHgxZGE5
YSwKKwkweDFkYWEwLCAweDFkYWEwLAorCTB4MWRhYjAsIDB4MWRmZmYsCisJMHgxZTAwNywgMHgx
ZTAwNywKKwkweDFlMDE5LCAweDFlMDFhLAorCTB4MWUwMjIsIDB4MWUwMjIsCisJMHgxZTAyNSwg
MHgxZTAyNSwKKwkweDFlMDJiLCAweDFlMGZmLAorCTB4MWUxMmQsIDB4MWUxMmYsCisJMHgxZTEz
ZSwgMHgxZTEzZiwKKwkweDFlMTRhLCAweDFlMTRkLAorCTB4MWUxNTAsIDB4MWUyYmYsCisJMHgx
ZTJmYSwgMHgxZTJmZSwKKwkweDFlMzAwLCAweDFlN2ZmLAorCTB4MWU4YzUsIDB4MWU4YzYsCisJ
MHgxZThkNywgMHgxZThmZiwKKwkweDFlOTRjLCAweDFlOTRmLAorCTB4MWU5NWEsIDB4MWU5NWQs
CisJMHgxZTk2MCwgMHgxZWM3MCwKKwkweDFlY2I1LCAweDFlZDAwLAorCTB4MWVkM2UsIDB4MWVk
ZmYsCisJMHgxZWUwNCwgMHgxZWUwNCwKKwkweDFlZTIwLCAweDFlZTIwLAorCTB4MWVlMjMsIDB4
MWVlMjMsCisJMHgxZWUyNSwgMHgxZWUyNiwKKwkweDFlZTI4LCAweDFlZTI4LAorCTB4MWVlMzMs
IDB4MWVlMzMsCisJMHgxZWUzOCwgMHgxZWUzOCwKKwkweDFlZTNhLCAweDFlZTNhLAorCTB4MWVl
M2MsIDB4MWVlNDEsCisJMHgxZWU0MywgMHgxZWU0NiwKKwkweDFlZTQ4LCAweDFlZTQ4LAorCTB4
MWVlNGEsIDB4MWVlNGEsCisJMHgxZWU0YywgMHgxZWU0YywKKwkweDFlZTUwLCAweDFlZTUwLAor
CTB4MWVlNTMsIDB4MWVlNTMsCisJMHgxZWU1NSwgMHgxZWU1NiwKKwkweDFlZTU4LCAweDFlZTU4
LAorCTB4MWVlNWEsIDB4MWVlNWEsCisJMHgxZWU1YywgMHgxZWU1YywKKwkweDFlZTVlLCAweDFl
ZTVlLAorCTB4MWVlNjAsIDB4MWVlNjAsCisJMHgxZWU2MywgMHgxZWU2MywKKwkweDFlZTY1LCAw
eDFlZTY2LAorCTB4MWVlNmIsIDB4MWVlNmIsCisJMHgxZWU3MywgMHgxZWU3MywKKwkweDFlZTc4
LCAweDFlZTc4LAorCTB4MWVlN2QsIDB4MWVlN2QsCisJMHgxZWU3ZiwgMHgxZWU3ZiwKKwkweDFl
ZThhLCAweDFlZThhLAorCTB4MWVlOWMsIDB4MWVlYTAsCisJMHgxZWVhNCwgMHgxZWVhNCwKKwkw
eDFlZWFhLCAweDFlZWFhLAorCTB4MWVlYmMsIDB4MWVlZWYsCisJMHgxZWVmMiwgMHgxZWZmZiwK
KwkweDFmMDJjLCAweDFmMDJmLAorCTB4MWYwOTQsIDB4MWYwOWYsCisJMHgxZjBhZiwgMHgxZjBi
MCwKKwkweDFmMGMwLCAweDFmMGMwLAorCTB4MWYwZDAsIDB4MWYwZDAsCisJMHgxZjBmNiwgMHgx
ZjBmZiwKKwkweDFmMTBkLCAweDFmMTBmLAorCTB4MWYxNmQsIDB4MWYxNmYsCisJMHgxZjFhZCwg
MHgxZjFlNSwKKwkweDFmMjAzLCAweDFmMjBmLAorCTB4MWYyM2MsIDB4MWYyM2YsCisJMHgxZjI0
OSwgMHgxZjI0ZiwKKwkweDFmMjUyLCAweDFmMjVmLAorCTB4MWYyNjYsIDB4MWYyZmYsCisJMHgx
ZjZkNiwgMHgxZjZkZiwKKwkweDFmNmVkLCAweDFmNmVmLAorCTB4MWY2ZmIsIDB4MWY2ZmYsCisJ
MHgxZjc3NCwgMHgxZjc3ZiwKKwkweDFmN2Q5LCAweDFmN2RmLAorCTB4MWY3ZWMsIDB4MWY3ZmYs
CisJMHgxZjgwYywgMHgxZjgwZiwKKwkweDFmODQ4LCAweDFmODRmLAorCTB4MWY4NWEsIDB4MWY4
NWYsCisJMHgxZjg4OCwgMHgxZjg4ZiwKKwkweDFmOGFlLCAweDFmOGZmLAorCTB4MWY5MGMsIDB4
MWY5MGMsCisJMHgxZjk3MiwgMHgxZjk3MiwKKwkweDFmOTc3LCAweDFmOTc5LAorCTB4MWY5YTMs
IDB4MWY5YTQsCisJMHgxZjlhYiwgMHgxZjlhZCwKKwkweDFmOWNiLCAweDFmOWNjLAorCTB4MWZh
NTQsIDB4MWZhNWYsCisJMHgxZmE2ZSwgMHgxZmE2ZiwKKwkweDFmYTc0LCAweDFmYTc3LAorCTB4
MWZhN2IsIDB4MWZhN2YsCisJMHgxZmE4MywgMHgxZmE4ZiwKKwkweDFmYTk2LCAweDFmZmZmLAor
CTB4MmE2ZDcsIDB4MmE2ZmYsCisJMHgyYjczNSwgMHgyYjczZiwKKwkweDJiODFlLCAweDJiODFm
LAorCTB4MmNlYTIsIDB4MmNlYWYsCisJMHgyZWJlMSwgMHgyZjdmZiwKKwkweDJmYTFlLCAweGUw
MGZmLAorCTB4ZTAxZjAsIDB4MTBmZmZmLAorfTsgLyogQ1JfQyAqLworCisvKiAnQ2MnOiBHZW5l
cmFsIENhdGVnb3J5ICovCisjZGVmaW5lIENSX0NjIENSX0NudHJsCisKKy8qICdDZic6IEdlbmVy
YWwgQ2F0ZWdvcnkgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0NmW10gPSB7CisJ
MjAsCisJMHgwMGFkLCAweDAwYWQsCisJMHgwNjAwLCAweDA2MDUsCisJMHgwNjFjLCAweDA2MWMs
CisJMHgwNmRkLCAweDA2ZGQsCisJMHgwNzBmLCAweDA3MGYsCisJMHgwOGUyLCAweDA4ZTIsCisJ
MHgxODBlLCAweDE4MGUsCisJMHgyMDBiLCAweDIwMGYsCisJMHgyMDJhLCAweDIwMmUsCisJMHgy
MDYwLCAweDIwNjQsCisJMHgyMDY2LCAweDIwNmYsCisJMHhmZWZmLCAweGZlZmYsCisJMHhmZmY5
LCAweGZmZmIsCisJMHgxMTBiZCwgMHgxMTBiZCwKKwkweDExMGNkLCAweDExMGNkLAorCTB4MTM0
MzAsIDB4MTM0MzgsCisJMHgxYmNhMCwgMHgxYmNhMywKKwkweDFkMTczLCAweDFkMTdhLAorCTB4
ZTAwMDEsIDB4ZTAwMDEsCisJMHhlMDAyMCwgMHhlMDA3ZiwKK307IC8qIENSX0NmICovCisKKy8q
ICdDbic6IEdlbmVyYWwgQ2F0ZWdvcnkgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENS
X0NuW10gPSB7CisJNjY2LAorCTB4MDM3OCwgMHgwMzc5LAorCTB4MDM4MCwgMHgwMzgzLAorCTB4
MDM4YiwgMHgwMzhiLAorCTB4MDM4ZCwgMHgwMzhkLAorCTB4MDNhMiwgMHgwM2EyLAorCTB4MDUz
MCwgMHgwNTMwLAorCTB4MDU1NywgMHgwNTU4LAorCTB4MDU4YiwgMHgwNThjLAorCTB4MDU5MCwg
MHgwNTkwLAorCTB4MDVjOCwgMHgwNWNmLAorCTB4MDVlYiwgMHgwNWVlLAorCTB4MDVmNSwgMHgw
NWZmLAorCTB4MDYxZCwgMHgwNjFkLAorCTB4MDcwZSwgMHgwNzBlLAorCTB4MDc0YiwgMHgwNzRj
LAorCTB4MDdiMiwgMHgwN2JmLAorCTB4MDdmYiwgMHgwN2ZjLAorCTB4MDgyZSwgMHgwODJmLAor
CTB4MDgzZiwgMHgwODNmLAorCTB4MDg1YywgMHgwODVkLAorCTB4MDg1ZiwgMHgwODVmLAorCTB4
MDg2YiwgMHgwODlmLAorCTB4MDhiNSwgMHgwOGI1LAorCTB4MDhiZSwgMHgwOGQyLAorCTB4MDk4
NCwgMHgwOTg0LAorCTB4MDk4ZCwgMHgwOThlLAorCTB4MDk5MSwgMHgwOTkyLAorCTB4MDlhOSwg
MHgwOWE5LAorCTB4MDliMSwgMHgwOWIxLAorCTB4MDliMywgMHgwOWI1LAorCTB4MDliYSwgMHgw
OWJiLAorCTB4MDljNSwgMHgwOWM2LAorCTB4MDljOSwgMHgwOWNhLAorCTB4MDljZiwgMHgwOWQ2
LAorCTB4MDlkOCwgMHgwOWRiLAorCTB4MDlkZSwgMHgwOWRlLAorCTB4MDllNCwgMHgwOWU1LAor
CTB4MDlmZiwgMHgwYTAwLAorCTB4MGEwNCwgMHgwYTA0LAorCTB4MGEwYiwgMHgwYTBlLAorCTB4
MGExMSwgMHgwYTEyLAorCTB4MGEyOSwgMHgwYTI5LAorCTB4MGEzMSwgMHgwYTMxLAorCTB4MGEz
NCwgMHgwYTM0LAorCTB4MGEzNywgMHgwYTM3LAorCTB4MGEzYSwgMHgwYTNiLAorCTB4MGEzZCwg
MHgwYTNkLAorCTB4MGE0MywgMHgwYTQ2LAorCTB4MGE0OSwgMHgwYTRhLAorCTB4MGE0ZSwgMHgw
YTUwLAorCTB4MGE1MiwgMHgwYTU4LAorCTB4MGE1ZCwgMHgwYTVkLAorCTB4MGE1ZiwgMHgwYTY1
LAorCTB4MGE3NywgMHgwYTgwLAorCTB4MGE4NCwgMHgwYTg0LAorCTB4MGE4ZSwgMHgwYThlLAor
CTB4MGE5MiwgMHgwYTkyLAorCTB4MGFhOSwgMHgwYWE5LAorCTB4MGFiMSwgMHgwYWIxLAorCTB4
MGFiNCwgMHgwYWI0LAorCTB4MGFiYSwgMHgwYWJiLAorCTB4MGFjNiwgMHgwYWM2LAorCTB4MGFj
YSwgMHgwYWNhLAorCTB4MGFjZSwgMHgwYWNmLAorCTB4MGFkMSwgMHgwYWRmLAorCTB4MGFlNCwg
MHgwYWU1LAorCTB4MGFmMiwgMHgwYWY4LAorCTB4MGIwMCwgMHgwYjAwLAorCTB4MGIwNCwgMHgw
YjA0LAorCTB4MGIwZCwgMHgwYjBlLAorCTB4MGIxMSwgMHgwYjEyLAorCTB4MGIyOSwgMHgwYjI5
LAorCTB4MGIzMSwgMHgwYjMxLAorCTB4MGIzNCwgMHgwYjM0LAorCTB4MGIzYSwgMHgwYjNiLAor
CTB4MGI0NSwgMHgwYjQ2LAorCTB4MGI0OSwgMHgwYjRhLAorCTB4MGI0ZSwgMHgwYjU1LAorCTB4
MGI1OCwgMHgwYjViLAorCTB4MGI1ZSwgMHgwYjVlLAorCTB4MGI2NCwgMHgwYjY1LAorCTB4MGI3
OCwgMHgwYjgxLAorCTB4MGI4NCwgMHgwYjg0LAorCTB4MGI4YiwgMHgwYjhkLAorCTB4MGI5MSwg
MHgwYjkxLAorCTB4MGI5NiwgMHgwYjk4LAorCTB4MGI5YiwgMHgwYjliLAorCTB4MGI5ZCwgMHgw
YjlkLAorCTB4MGJhMCwgMHgwYmEyLAorCTB4MGJhNSwgMHgwYmE3LAorCTB4MGJhYiwgMHgwYmFk
LAorCTB4MGJiYSwgMHgwYmJkLAorCTB4MGJjMywgMHgwYmM1LAorCTB4MGJjOSwgMHgwYmM5LAor
CTB4MGJjZSwgMHgwYmNmLAorCTB4MGJkMSwgMHgwYmQ2LAorCTB4MGJkOCwgMHgwYmU1LAorCTB4
MGJmYiwgMHgwYmZmLAorCTB4MGMwZCwgMHgwYzBkLAorCTB4MGMxMSwgMHgwYzExLAorCTB4MGMy
OSwgMHgwYzI5LAorCTB4MGMzYSwgMHgwYzNjLAorCTB4MGM0NSwgMHgwYzQ1LAorCTB4MGM0OSwg
MHgwYzQ5LAorCTB4MGM0ZSwgMHgwYzU0LAorCTB4MGM1NywgMHgwYzU3LAorCTB4MGM1YiwgMHgw
YzVmLAorCTB4MGM2NCwgMHgwYzY1LAorCTB4MGM3MCwgMHgwYzc2LAorCTB4MGM4ZCwgMHgwYzhk
LAorCTB4MGM5MSwgMHgwYzkxLAorCTB4MGNhOSwgMHgwY2E5LAorCTB4MGNiNCwgMHgwY2I0LAor
CTB4MGNiYSwgMHgwY2JiLAorCTB4MGNjNSwgMHgwY2M1LAorCTB4MGNjOSwgMHgwY2M5LAorCTB4
MGNjZSwgMHgwY2Q0LAorCTB4MGNkNywgMHgwY2RkLAorCTB4MGNkZiwgMHgwY2RmLAorCTB4MGNl
NCwgMHgwY2U1LAorCTB4MGNmMCwgMHgwY2YwLAorCTB4MGNmMywgMHgwY2ZmLAorCTB4MGQwNCwg
MHgwZDA0LAorCTB4MGQwZCwgMHgwZDBkLAorCTB4MGQxMSwgMHgwZDExLAorCTB4MGQ0NSwgMHgw
ZDQ1LAorCTB4MGQ0OSwgMHgwZDQ5LAorCTB4MGQ1MCwgMHgwZDUzLAorCTB4MGQ2NCwgMHgwZDY1
LAorCTB4MGQ4MCwgMHgwZDgxLAorCTB4MGQ4NCwgMHgwZDg0LAorCTB4MGQ5NywgMHgwZDk5LAor
CTB4MGRiMiwgMHgwZGIyLAorCTB4MGRiYywgMHgwZGJjLAorCTB4MGRiZSwgMHgwZGJmLAorCTB4
MGRjNywgMHgwZGM5LAorCTB4MGRjYiwgMHgwZGNlLAorCTB4MGRkNSwgMHgwZGQ1LAorCTB4MGRk
NywgMHgwZGQ3LAorCTB4MGRlMCwgMHgwZGU1LAorCTB4MGRmMCwgMHgwZGYxLAorCTB4MGRmNSwg
MHgwZTAwLAorCTB4MGUzYiwgMHgwZTNlLAorCTB4MGU1YywgMHgwZTgwLAorCTB4MGU4MywgMHgw
ZTgzLAorCTB4MGU4NSwgMHgwZTg1LAorCTB4MGU4YiwgMHgwZThiLAorCTB4MGVhNCwgMHgwZWE0
LAorCTB4MGVhNiwgMHgwZWE2LAorCTB4MGViZSwgMHgwZWJmLAorCTB4MGVjNSwgMHgwZWM1LAor
CTB4MGVjNywgMHgwZWM3LAorCTB4MGVjZSwgMHgwZWNmLAorCTB4MGVkYSwgMHgwZWRiLAorCTB4
MGVlMCwgMHgwZWZmLAorCTB4MGY0OCwgMHgwZjQ4LAorCTB4MGY2ZCwgMHgwZjcwLAorCTB4MGY5
OCwgMHgwZjk4LAorCTB4MGZiZCwgMHgwZmJkLAorCTB4MGZjZCwgMHgwZmNkLAorCTB4MGZkYiwg
MHgwZmZmLAorCTB4MTBjNiwgMHgxMGM2LAorCTB4MTBjOCwgMHgxMGNjLAorCTB4MTBjZSwgMHgx
MGNmLAorCTB4MTI0OSwgMHgxMjQ5LAorCTB4MTI0ZSwgMHgxMjRmLAorCTB4MTI1NywgMHgxMjU3
LAorCTB4MTI1OSwgMHgxMjU5LAorCTB4MTI1ZSwgMHgxMjVmLAorCTB4MTI4OSwgMHgxMjg5LAor
CTB4MTI4ZSwgMHgxMjhmLAorCTB4MTJiMSwgMHgxMmIxLAorCTB4MTJiNiwgMHgxMmI3LAorCTB4
MTJiZiwgMHgxMmJmLAorCTB4MTJjMSwgMHgxMmMxLAorCTB4MTJjNiwgMHgxMmM3LAorCTB4MTJk
NywgMHgxMmQ3LAorCTB4MTMxMSwgMHgxMzExLAorCTB4MTMxNiwgMHgxMzE3LAorCTB4MTM1Yiwg
MHgxMzVjLAorCTB4MTM3ZCwgMHgxMzdmLAorCTB4MTM5YSwgMHgxMzlmLAorCTB4MTNmNiwgMHgx
M2Y3LAorCTB4MTNmZSwgMHgxM2ZmLAorCTB4MTY5ZCwgMHgxNjlmLAorCTB4MTZmOSwgMHgxNmZm
LAorCTB4MTcwZCwgMHgxNzBkLAorCTB4MTcxNSwgMHgxNzFmLAorCTB4MTczNywgMHgxNzNmLAor
CTB4MTc1NCwgMHgxNzVmLAorCTB4MTc2ZCwgMHgxNzZkLAorCTB4MTc3MSwgMHgxNzcxLAorCTB4
MTc3NCwgMHgxNzdmLAorCTB4MTdkZSwgMHgxN2RmLAorCTB4MTdlYSwgMHgxN2VmLAorCTB4MTdm
YSwgMHgxN2ZmLAorCTB4MTgwZiwgMHgxODBmLAorCTB4MTgxYSwgMHgxODFmLAorCTB4MTg3OSwg
MHgxODdmLAorCTB4MThhYiwgMHgxOGFmLAorCTB4MThmNiwgMHgxOGZmLAorCTB4MTkxZiwgMHgx
OTFmLAorCTB4MTkyYywgMHgxOTJmLAorCTB4MTkzYywgMHgxOTNmLAorCTB4MTk0MSwgMHgxOTQz
LAorCTB4MTk2ZSwgMHgxOTZmLAorCTB4MTk3NSwgMHgxOTdmLAorCTB4MTlhYywgMHgxOWFmLAor
CTB4MTljYSwgMHgxOWNmLAorCTB4MTlkYiwgMHgxOWRkLAorCTB4MWExYywgMHgxYTFkLAorCTB4
MWE1ZiwgMHgxYTVmLAorCTB4MWE3ZCwgMHgxYTdlLAorCTB4MWE4YSwgMHgxYThmLAorCTB4MWE5
YSwgMHgxYTlmLAorCTB4MWFhZSwgMHgxYWFmLAorCTB4MWFiZiwgMHgxYWZmLAorCTB4MWI0Yywg
MHgxYjRmLAorCTB4MWI3ZCwgMHgxYjdmLAorCTB4MWJmNCwgMHgxYmZiLAorCTB4MWMzOCwgMHgx
YzNhLAorCTB4MWM0YSwgMHgxYzRjLAorCTB4MWM4OSwgMHgxYzhmLAorCTB4MWNiYiwgMHgxY2Jj
LAorCTB4MWNjOCwgMHgxY2NmLAorCTB4MWNmYiwgMHgxY2ZmLAorCTB4MWRmYSwgMHgxZGZhLAor
CTB4MWYxNiwgMHgxZjE3LAorCTB4MWYxZSwgMHgxZjFmLAorCTB4MWY0NiwgMHgxZjQ3LAorCTB4
MWY0ZSwgMHgxZjRmLAorCTB4MWY1OCwgMHgxZjU4LAorCTB4MWY1YSwgMHgxZjVhLAorCTB4MWY1
YywgMHgxZjVjLAorCTB4MWY1ZSwgMHgxZjVlLAorCTB4MWY3ZSwgMHgxZjdmLAorCTB4MWZiNSwg
MHgxZmI1LAorCTB4MWZjNSwgMHgxZmM1LAorCTB4MWZkNCwgMHgxZmQ1LAorCTB4MWZkYywgMHgx
ZmRjLAorCTB4MWZmMCwgMHgxZmYxLAorCTB4MWZmNSwgMHgxZmY1LAorCTB4MWZmZiwgMHgxZmZm
LAorCTB4MjA2NSwgMHgyMDY1LAorCTB4MjA3MiwgMHgyMDczLAorCTB4MjA4ZiwgMHgyMDhmLAor
CTB4MjA5ZCwgMHgyMDlmLAorCTB4MjBjMCwgMHgyMGNmLAorCTB4MjBmMSwgMHgyMGZmLAorCTB4
MjE4YywgMHgyMThmLAorCTB4MjQyNywgMHgyNDNmLAorCTB4MjQ0YiwgMHgyNDVmLAorCTB4MmI3
NCwgMHgyYjc1LAorCTB4MmI5NiwgMHgyYjk3LAorCTB4MmMyZiwgMHgyYzJmLAorCTB4MmM1Ziwg
MHgyYzVmLAorCTB4MmNmNCwgMHgyY2Y4LAorCTB4MmQyNiwgMHgyZDI2LAorCTB4MmQyOCwgMHgy
ZDJjLAorCTB4MmQyZSwgMHgyZDJmLAorCTB4MmQ2OCwgMHgyZDZlLAorCTB4MmQ3MSwgMHgyZDdl
LAorCTB4MmQ5NywgMHgyZDlmLAorCTB4MmRhNywgMHgyZGE3LAorCTB4MmRhZiwgMHgyZGFmLAor
CTB4MmRiNywgMHgyZGI3LAorCTB4MmRiZiwgMHgyZGJmLAorCTB4MmRjNywgMHgyZGM3LAorCTB4
MmRjZiwgMHgyZGNmLAorCTB4MmRkNywgMHgyZGQ3LAorCTB4MmRkZiwgMHgyZGRmLAorCTB4MmU1
MCwgMHgyZTdmLAorCTB4MmU5YSwgMHgyZTlhLAorCTB4MmVmNCwgMHgyZWZmLAorCTB4MmZkNiwg
MHgyZmVmLAorCTB4MmZmYywgMHgyZmZmLAorCTB4MzA0MCwgMHgzMDQwLAorCTB4MzA5NywgMHgz
MDk4LAorCTB4MzEwMCwgMHgzMTA0LAorCTB4MzEzMCwgMHgzMTMwLAorCTB4MzE4ZiwgMHgzMThm
LAorCTB4MzFiYiwgMHgzMWJmLAorCTB4MzFlNCwgMHgzMWVmLAorCTB4MzIxZiwgMHgzMjFmLAor
CTB4NGRiNiwgMHg0ZGJmLAorCTB4OWZmMCwgMHg5ZmZmLAorCTB4YTQ4ZCwgMHhhNDhmLAorCTB4
YTRjNywgMHhhNGNmLAorCTB4YTYyYywgMHhhNjNmLAorCTB4YTZmOCwgMHhhNmZmLAorCTB4YTdj
MCwgMHhhN2MxLAorCTB4YTdjNywgMHhhN2Y2LAorCTB4YTgyYywgMHhhODJmLAorCTB4YTgzYSwg
MHhhODNmLAorCTB4YTg3OCwgMHhhODdmLAorCTB4YThjNiwgMHhhOGNkLAorCTB4YThkYSwgMHhh
OGRmLAorCTB4YTk1NCwgMHhhOTVlLAorCTB4YTk3ZCwgMHhhOTdmLAorCTB4YTljZSwgMHhhOWNl
LAorCTB4YTlkYSwgMHhhOWRkLAorCTB4YTlmZiwgMHhhOWZmLAorCTB4YWEzNywgMHhhYTNmLAor
CTB4YWE0ZSwgMHhhYTRmLAorCTB4YWE1YSwgMHhhYTViLAorCTB4YWFjMywgMHhhYWRhLAorCTB4
YWFmNywgMHhhYjAwLAorCTB4YWIwNywgMHhhYjA4LAorCTB4YWIwZiwgMHhhYjEwLAorCTB4YWIx
NywgMHhhYjFmLAorCTB4YWIyNywgMHhhYjI3LAorCTB4YWIyZiwgMHhhYjJmLAorCTB4YWI2OCwg
MHhhYjZmLAorCTB4YWJlZSwgMHhhYmVmLAorCTB4YWJmYSwgMHhhYmZmLAorCTB4ZDdhNCwgMHhk
N2FmLAorCTB4ZDdjNywgMHhkN2NhLAorCTB4ZDdmYywgMHhkN2ZmLAorCTB4ZmE2ZSwgMHhmYTZm
LAorCTB4ZmFkYSwgMHhmYWZmLAorCTB4ZmIwNywgMHhmYjEyLAorCTB4ZmIxOCwgMHhmYjFjLAor
CTB4ZmIzNywgMHhmYjM3LAorCTB4ZmIzZCwgMHhmYjNkLAorCTB4ZmIzZiwgMHhmYjNmLAorCTB4
ZmI0MiwgMHhmYjQyLAorCTB4ZmI0NSwgMHhmYjQ1LAorCTB4ZmJjMiwgMHhmYmQyLAorCTB4ZmQ0
MCwgMHhmZDRmLAorCTB4ZmQ5MCwgMHhmZDkxLAorCTB4ZmRjOCwgMHhmZGVmLAorCTB4ZmRmZSwg
MHhmZGZmLAorCTB4ZmUxYSwgMHhmZTFmLAorCTB4ZmU1MywgMHhmZTUzLAorCTB4ZmU2NywgMHhm
ZTY3LAorCTB4ZmU2YywgMHhmZTZmLAorCTB4ZmU3NSwgMHhmZTc1LAorCTB4ZmVmZCwgMHhmZWZl
LAorCTB4ZmYwMCwgMHhmZjAwLAorCTB4ZmZiZiwgMHhmZmMxLAorCTB4ZmZjOCwgMHhmZmM5LAor
CTB4ZmZkMCwgMHhmZmQxLAorCTB4ZmZkOCwgMHhmZmQ5LAorCTB4ZmZkZCwgMHhmZmRmLAorCTB4
ZmZlNywgMHhmZmU3LAorCTB4ZmZlZiwgMHhmZmY4LAorCTB4ZmZmZSwgMHhmZmZmLAorCTB4MTAw
MGMsIDB4MTAwMGMsCisJMHgxMDAyNywgMHgxMDAyNywKKwkweDEwMDNiLCAweDEwMDNiLAorCTB4
MTAwM2UsIDB4MTAwM2UsCisJMHgxMDA0ZSwgMHgxMDA0ZiwKKwkweDEwMDVlLCAweDEwMDdmLAor
CTB4MTAwZmIsIDB4MTAwZmYsCisJMHgxMDEwMywgMHgxMDEwNiwKKwkweDEwMTM0LCAweDEwMTM2
LAorCTB4MTAxOGYsIDB4MTAxOGYsCisJMHgxMDE5YywgMHgxMDE5ZiwKKwkweDEwMWExLCAweDEw
MWNmLAorCTB4MTAxZmUsIDB4MTAyN2YsCisJMHgxMDI5ZCwgMHgxMDI5ZiwKKwkweDEwMmQxLCAw
eDEwMmRmLAorCTB4MTAyZmMsIDB4MTAyZmYsCisJMHgxMDMyNCwgMHgxMDMyYywKKwkweDEwMzRi
LCAweDEwMzRmLAorCTB4MTAzN2IsIDB4MTAzN2YsCisJMHgxMDM5ZSwgMHgxMDM5ZSwKKwkweDEw
M2M0LCAweDEwM2M3LAorCTB4MTAzZDYsIDB4MTAzZmYsCisJMHgxMDQ5ZSwgMHgxMDQ5ZiwKKwkw
eDEwNGFhLCAweDEwNGFmLAorCTB4MTA0ZDQsIDB4MTA0ZDcsCisJMHgxMDRmYywgMHgxMDRmZiwK
KwkweDEwNTI4LCAweDEwNTJmLAorCTB4MTA1NjQsIDB4MTA1NmUsCisJMHgxMDU3MCwgMHgxMDVm
ZiwKKwkweDEwNzM3LCAweDEwNzNmLAorCTB4MTA3NTYsIDB4MTA3NWYsCisJMHgxMDc2OCwgMHgx
MDdmZiwKKwkweDEwODA2LCAweDEwODA3LAorCTB4MTA4MDksIDB4MTA4MDksCisJMHgxMDgzNiwg
MHgxMDgzNiwKKwkweDEwODM5LCAweDEwODNiLAorCTB4MTA4M2QsIDB4MTA4M2UsCisJMHgxMDg1
NiwgMHgxMDg1NiwKKwkweDEwODlmLCAweDEwOGE2LAorCTB4MTA4YjAsIDB4MTA4ZGYsCisJMHgx
MDhmMywgMHgxMDhmMywKKwkweDEwOGY2LCAweDEwOGZhLAorCTB4MTA5MWMsIDB4MTA5MWUsCisJ
MHgxMDkzYSwgMHgxMDkzZSwKKwkweDEwOTQwLCAweDEwOTdmLAorCTB4MTA5YjgsIDB4MTA5YmIs
CisJMHgxMDlkMCwgMHgxMDlkMSwKKwkweDEwYTA0LCAweDEwYTA0LAorCTB4MTBhMDcsIDB4MTBh
MGIsCisJMHgxMGExNCwgMHgxMGExNCwKKwkweDEwYTE4LCAweDEwYTE4LAorCTB4MTBhMzYsIDB4
MTBhMzcsCisJMHgxMGEzYiwgMHgxMGEzZSwKKwkweDEwYTQ5LCAweDEwYTRmLAorCTB4MTBhNTks
IDB4MTBhNWYsCisJMHgxMGFhMCwgMHgxMGFiZiwKKwkweDEwYWU3LCAweDEwYWVhLAorCTB4MTBh
ZjcsIDB4MTBhZmYsCisJMHgxMGIzNiwgMHgxMGIzOCwKKwkweDEwYjU2LCAweDEwYjU3LAorCTB4
MTBiNzMsIDB4MTBiNzcsCisJMHgxMGI5MiwgMHgxMGI5OCwKKwkweDEwYjlkLCAweDEwYmE4LAor
CTB4MTBiYjAsIDB4MTBiZmYsCisJMHgxMGM0OSwgMHgxMGM3ZiwKKwkweDEwY2IzLCAweDEwY2Jm
LAorCTB4MTBjZjMsIDB4MTBjZjksCisJMHgxMGQyOCwgMHgxMGQyZiwKKwkweDEwZDNhLCAweDEw
ZTVmLAorCTB4MTBlN2YsIDB4MTBlZmYsCisJMHgxMGYyOCwgMHgxMGYyZiwKKwkweDEwZjVhLCAw
eDEwZmRmLAorCTB4MTBmZjcsIDB4MTBmZmYsCisJMHgxMTA0ZSwgMHgxMTA1MSwKKwkweDExMDcw
LCAweDExMDdlLAorCTB4MTEwYzIsIDB4MTEwY2MsCisJMHgxMTBjZSwgMHgxMTBjZiwKKwkweDEx
MGU5LCAweDExMGVmLAorCTB4MTEwZmEsIDB4MTEwZmYsCisJMHgxMTEzNSwgMHgxMTEzNSwKKwkw
eDExMTQ3LCAweDExMTRmLAorCTB4MTExNzcsIDB4MTExN2YsCisJMHgxMTFjZSwgMHgxMTFjZiwK
KwkweDExMWUwLCAweDExMWUwLAorCTB4MTExZjUsIDB4MTExZmYsCisJMHgxMTIxMiwgMHgxMTIx
MiwKKwkweDExMjNmLCAweDExMjdmLAorCTB4MTEyODcsIDB4MTEyODcsCisJMHgxMTI4OSwgMHgx
MTI4OSwKKwkweDExMjhlLCAweDExMjhlLAorCTB4MTEyOWUsIDB4MTEyOWUsCisJMHgxMTJhYSwg
MHgxMTJhZiwKKwkweDExMmViLCAweDExMmVmLAorCTB4MTEyZmEsIDB4MTEyZmYsCisJMHgxMTMw
NCwgMHgxMTMwNCwKKwkweDExMzBkLCAweDExMzBlLAorCTB4MTEzMTEsIDB4MTEzMTIsCisJMHgx
MTMyOSwgMHgxMTMyOSwKKwkweDExMzMxLCAweDExMzMxLAorCTB4MTEzMzQsIDB4MTEzMzQsCisJ
MHgxMTMzYSwgMHgxMTMzYSwKKwkweDExMzQ1LCAweDExMzQ2LAorCTB4MTEzNDksIDB4MTEzNGEs
CisJMHgxMTM0ZSwgMHgxMTM0ZiwKKwkweDExMzUxLCAweDExMzU2LAorCTB4MTEzNTgsIDB4MTEz
NWMsCisJMHgxMTM2NCwgMHgxMTM2NSwKKwkweDExMzZkLCAweDExMzZmLAorCTB4MTEzNzUsIDB4
MTEzZmYsCisJMHgxMTQ1YSwgMHgxMTQ1YSwKKwkweDExNDVjLCAweDExNDVjLAorCTB4MTE0NjAs
IDB4MTE0N2YsCisJMHgxMTRjOCwgMHgxMTRjZiwKKwkweDExNGRhLCAweDExNTdmLAorCTB4MTE1
YjYsIDB4MTE1YjcsCisJMHgxMTVkZSwgMHgxMTVmZiwKKwkweDExNjQ1LCAweDExNjRmLAorCTB4
MTE2NWEsIDB4MTE2NWYsCisJMHgxMTY2ZCwgMHgxMTY3ZiwKKwkweDExNmI5LCAweDExNmJmLAor
CTB4MTE2Y2EsIDB4MTE2ZmYsCisJMHgxMTcxYiwgMHgxMTcxYywKKwkweDExNzJjLCAweDExNzJm
LAorCTB4MTE3NDAsIDB4MTE3ZmYsCisJMHgxMTgzYywgMHgxMTg5ZiwKKwkweDExOGYzLCAweDEx
OGZlLAorCTB4MTE5MDAsIDB4MTE5OWYsCisJMHgxMTlhOCwgMHgxMTlhOSwKKwkweDExOWQ4LCAw
eDExOWQ5LAorCTB4MTE5ZTUsIDB4MTE5ZmYsCisJMHgxMWE0OCwgMHgxMWE0ZiwKKwkweDExYWEz
LCAweDExYWJmLAorCTB4MTFhZjksIDB4MTFiZmYsCisJMHgxMWMwOSwgMHgxMWMwOSwKKwkweDEx
YzM3LCAweDExYzM3LAorCTB4MTFjNDYsIDB4MTFjNGYsCisJMHgxMWM2ZCwgMHgxMWM2ZiwKKwkw
eDExYzkwLCAweDExYzkxLAorCTB4MTFjYTgsIDB4MTFjYTgsCisJMHgxMWNiNywgMHgxMWNmZiwK
KwkweDExZDA3LCAweDExZDA3LAorCTB4MTFkMGEsIDB4MTFkMGEsCisJMHgxMWQzNywgMHgxMWQz
OSwKKwkweDExZDNiLCAweDExZDNiLAorCTB4MTFkM2UsIDB4MTFkM2UsCisJMHgxMWQ0OCwgMHgx
MWQ0ZiwKKwkweDExZDVhLCAweDExZDVmLAorCTB4MTFkNjYsIDB4MTFkNjYsCisJMHgxMWQ2OSwg
MHgxMWQ2OSwKKwkweDExZDhmLCAweDExZDhmLAorCTB4MTFkOTIsIDB4MTFkOTIsCisJMHgxMWQ5
OSwgMHgxMWQ5ZiwKKwkweDExZGFhLCAweDExZWRmLAorCTB4MTFlZjksIDB4MTFmYmYsCisJMHgx
MWZmMiwgMHgxMWZmZSwKKwkweDEyMzlhLCAweDEyM2ZmLAorCTB4MTI0NmYsIDB4MTI0NmYsCisJ
MHgxMjQ3NSwgMHgxMjQ3ZiwKKwkweDEyNTQ0LCAweDEyZmZmLAorCTB4MTM0MmYsIDB4MTM0MmYs
CisJMHgxMzQzOSwgMHgxNDNmZiwKKwkweDE0NjQ3LCAweDE2N2ZmLAorCTB4MTZhMzksIDB4MTZh
M2YsCisJMHgxNmE1ZiwgMHgxNmE1ZiwKKwkweDE2YTZhLCAweDE2YTZkLAorCTB4MTZhNzAsIDB4
MTZhY2YsCisJMHgxNmFlZSwgMHgxNmFlZiwKKwkweDE2YWY2LCAweDE2YWZmLAorCTB4MTZiNDYs
IDB4MTZiNGYsCisJMHgxNmI1YSwgMHgxNmI1YSwKKwkweDE2YjYyLCAweDE2YjYyLAorCTB4MTZi
NzgsIDB4MTZiN2MsCisJMHgxNmI5MCwgMHgxNmUzZiwKKwkweDE2ZTliLCAweDE2ZWZmLAorCTB4
MTZmNGIsIDB4MTZmNGUsCisJMHgxNmY4OCwgMHgxNmY4ZSwKKwkweDE2ZmEwLCAweDE2ZmRmLAor
CTB4MTZmZTQsIDB4MTZmZmYsCisJMHgxODdmOCwgMHgxODdmZiwKKwkweDE4YWYzLCAweDFhZmZm
LAorCTB4MWIxMWYsIDB4MWIxNGYsCisJMHgxYjE1MywgMHgxYjE2MywKKwkweDFiMTY4LCAweDFi
MTZmLAorCTB4MWIyZmMsIDB4MWJiZmYsCisJMHgxYmM2YiwgMHgxYmM2ZiwKKwkweDFiYzdkLCAw
eDFiYzdmLAorCTB4MWJjODksIDB4MWJjOGYsCisJMHgxYmM5YSwgMHgxYmM5YiwKKwkweDFiY2E0
LCAweDFjZmZmLAorCTB4MWQwZjYsIDB4MWQwZmYsCisJMHgxZDEyNywgMHgxZDEyOCwKKwkweDFk
MWU5LCAweDFkMWZmLAorCTB4MWQyNDYsIDB4MWQyZGYsCisJMHgxZDJmNCwgMHgxZDJmZiwKKwkw
eDFkMzU3LCAweDFkMzVmLAorCTB4MWQzNzksIDB4MWQzZmYsCisJMHgxZDQ1NSwgMHgxZDQ1NSwK
KwkweDFkNDlkLCAweDFkNDlkLAorCTB4MWQ0YTAsIDB4MWQ0YTEsCisJMHgxZDRhMywgMHgxZDRh
NCwKKwkweDFkNGE3LCAweDFkNGE4LAorCTB4MWQ0YWQsIDB4MWQ0YWQsCisJMHgxZDRiYSwgMHgx
ZDRiYSwKKwkweDFkNGJjLCAweDFkNGJjLAorCTB4MWQ0YzQsIDB4MWQ0YzQsCisJMHgxZDUwNiwg
MHgxZDUwNiwKKwkweDFkNTBiLCAweDFkNTBjLAorCTB4MWQ1MTUsIDB4MWQ1MTUsCisJMHgxZDUx
ZCwgMHgxZDUxZCwKKwkweDFkNTNhLCAweDFkNTNhLAorCTB4MWQ1M2YsIDB4MWQ1M2YsCisJMHgx
ZDU0NSwgMHgxZDU0NSwKKwkweDFkNTQ3LCAweDFkNTQ5LAorCTB4MWQ1NTEsIDB4MWQ1NTEsCisJ
MHgxZDZhNiwgMHgxZDZhNywKKwkweDFkN2NjLCAweDFkN2NkLAorCTB4MWRhOGMsIDB4MWRhOWEs
CisJMHgxZGFhMCwgMHgxZGFhMCwKKwkweDFkYWIwLCAweDFkZmZmLAorCTB4MWUwMDcsIDB4MWUw
MDcsCisJMHgxZTAxOSwgMHgxZTAxYSwKKwkweDFlMDIyLCAweDFlMDIyLAorCTB4MWUwMjUsIDB4
MWUwMjUsCisJMHgxZTAyYiwgMHgxZTBmZiwKKwkweDFlMTJkLCAweDFlMTJmLAorCTB4MWUxM2Us
IDB4MWUxM2YsCisJMHgxZTE0YSwgMHgxZTE0ZCwKKwkweDFlMTUwLCAweDFlMmJmLAorCTB4MWUy
ZmEsIDB4MWUyZmUsCisJMHgxZTMwMCwgMHgxZTdmZiwKKwkweDFlOGM1LCAweDFlOGM2LAorCTB4
MWU4ZDcsIDB4MWU4ZmYsCisJMHgxZTk0YywgMHgxZTk0ZiwKKwkweDFlOTVhLCAweDFlOTVkLAor
CTB4MWU5NjAsIDB4MWVjNzAsCisJMHgxZWNiNSwgMHgxZWQwMCwKKwkweDFlZDNlLCAweDFlZGZm
LAorCTB4MWVlMDQsIDB4MWVlMDQsCisJMHgxZWUyMCwgMHgxZWUyMCwKKwkweDFlZTIzLCAweDFl
ZTIzLAorCTB4MWVlMjUsIDB4MWVlMjYsCisJMHgxZWUyOCwgMHgxZWUyOCwKKwkweDFlZTMzLCAw
eDFlZTMzLAorCTB4MWVlMzgsIDB4MWVlMzgsCisJMHgxZWUzYSwgMHgxZWUzYSwKKwkweDFlZTNj
LCAweDFlZTQxLAorCTB4MWVlNDMsIDB4MWVlNDYsCisJMHgxZWU0OCwgMHgxZWU0OCwKKwkweDFl
ZTRhLCAweDFlZTRhLAorCTB4MWVlNGMsIDB4MWVlNGMsCisJMHgxZWU1MCwgMHgxZWU1MCwKKwkw
eDFlZTUzLCAweDFlZTUzLAorCTB4MWVlNTUsIDB4MWVlNTYsCisJMHgxZWU1OCwgMHgxZWU1OCwK
KwkweDFlZTVhLCAweDFlZTVhLAorCTB4MWVlNWMsIDB4MWVlNWMsCisJMHgxZWU1ZSwgMHgxZWU1
ZSwKKwkweDFlZTYwLCAweDFlZTYwLAorCTB4MWVlNjMsIDB4MWVlNjMsCisJMHgxZWU2NSwgMHgx
ZWU2NiwKKwkweDFlZTZiLCAweDFlZTZiLAorCTB4MWVlNzMsIDB4MWVlNzMsCisJMHgxZWU3OCwg
MHgxZWU3OCwKKwkweDFlZTdkLCAweDFlZTdkLAorCTB4MWVlN2YsIDB4MWVlN2YsCisJMHgxZWU4
YSwgMHgxZWU4YSwKKwkweDFlZTljLCAweDFlZWEwLAorCTB4MWVlYTQsIDB4MWVlYTQsCisJMHgx
ZWVhYSwgMHgxZWVhYSwKKwkweDFlZWJjLCAweDFlZWVmLAorCTB4MWVlZjIsIDB4MWVmZmYsCisJ
MHgxZjAyYywgMHgxZjAyZiwKKwkweDFmMDk0LCAweDFmMDlmLAorCTB4MWYwYWYsIDB4MWYwYjAs
CisJMHgxZjBjMCwgMHgxZjBjMCwKKwkweDFmMGQwLCAweDFmMGQwLAorCTB4MWYwZjYsIDB4MWYw
ZmYsCisJMHgxZjEwZCwgMHgxZjEwZiwKKwkweDFmMTZkLCAweDFmMTZmLAorCTB4MWYxYWQsIDB4
MWYxZTUsCisJMHgxZjIwMywgMHgxZjIwZiwKKwkweDFmMjNjLCAweDFmMjNmLAorCTB4MWYyNDks
IDB4MWYyNGYsCisJMHgxZjI1MiwgMHgxZjI1ZiwKKwkweDFmMjY2LCAweDFmMmZmLAorCTB4MWY2
ZDYsIDB4MWY2ZGYsCisJMHgxZjZlZCwgMHgxZjZlZiwKKwkweDFmNmZiLCAweDFmNmZmLAorCTB4
MWY3NzQsIDB4MWY3N2YsCisJMHgxZjdkOSwgMHgxZjdkZiwKKwkweDFmN2VjLCAweDFmN2ZmLAor
CTB4MWY4MGMsIDB4MWY4MGYsCisJMHgxZjg0OCwgMHgxZjg0ZiwKKwkweDFmODVhLCAweDFmODVm
LAorCTB4MWY4ODgsIDB4MWY4OGYsCisJMHgxZjhhZSwgMHgxZjhmZiwKKwkweDFmOTBjLCAweDFm
OTBjLAorCTB4MWY5NzIsIDB4MWY5NzIsCisJMHgxZjk3NywgMHgxZjk3OSwKKwkweDFmOWEzLCAw
eDFmOWE0LAorCTB4MWY5YWIsIDB4MWY5YWQsCisJMHgxZjljYiwgMHgxZjljYywKKwkweDFmYTU0
LCAweDFmYTVmLAorCTB4MWZhNmUsIDB4MWZhNmYsCisJMHgxZmE3NCwgMHgxZmE3NywKKwkweDFm
YTdiLCAweDFmYTdmLAorCTB4MWZhODMsIDB4MWZhOGYsCisJMHgxZmE5NiwgMHgxZmZmZiwKKwkw
eDJhNmQ3LCAweDJhNmZmLAorCTB4MmI3MzUsIDB4MmI3M2YsCisJMHgyYjgxZSwgMHgyYjgxZiwK
KwkweDJjZWEyLCAweDJjZWFmLAorCTB4MmViZTEsIDB4MmY3ZmYsCisJMHgyZmExZSwgMHhlMDAw
MCwKKwkweGUwMDAyLCAweGUwMDFmLAorCTB4ZTAwODAsIDB4ZTAwZmYsCisJMHhlMDFmMCwgMHhl
ZmZmZiwKKwkweGZmZmZlLCAweGZmZmZmLAorCTB4MTBmZmZlLCAweDEwZmZmZiwKK307IC8qIENS
X0NuICovCisKKy8qICdDbyc6IEdlbmVyYWwgQ2F0ZWdvcnkgKi8KK3N0YXRpYyBjb25zdCBPbmln
Q29kZVBvaW50IENSX0NvW10gPSB7CisJMywKKwkweGUwMDAsIDB4ZjhmZiwKKwkweGYwMDAwLCAw
eGZmZmZkLAorCTB4MTAwMDAwLCAweDEwZmZmZCwKK307IC8qIENSX0NvICovCisKKy8qICdDcyc6
IEdlbmVyYWwgQ2F0ZWdvcnkgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0NzW10g
PSB7CisJMSwKKwkweGQ4MDAsIDB4ZGZmZiwKK307IC8qIENSX0NzICovCisKKy8qICdMJzogTWFq
b3IgQ2F0ZWdvcnkgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0xbXSA9IHsKKwk2
MDksCisJMHgwMDQxLCAweDAwNWEsCisJMHgwMDYxLCAweDAwN2EsCisJMHgwMGFhLCAweDAwYWEs
CisJMHgwMGI1LCAweDAwYjUsCisJMHgwMGJhLCAweDAwYmEsCisJMHgwMGMwLCAweDAwZDYsCisJ
MHgwMGQ4LCAweDAwZjYsCisJMHgwMGY4LCAweDAyYzEsCisJMHgwMmM2LCAweDAyZDEsCisJMHgw
MmUwLCAweDAyZTQsCisJMHgwMmVjLCAweDAyZWMsCisJMHgwMmVlLCAweDAyZWUsCisJMHgwMzcw
LCAweDAzNzQsCisJMHgwMzc2LCAweDAzNzcsCisJMHgwMzdhLCAweDAzN2QsCisJMHgwMzdmLCAw
eDAzN2YsCisJMHgwMzg2LCAweDAzODYsCisJMHgwMzg4LCAweDAzOGEsCisJMHgwMzhjLCAweDAz
OGMsCisJMHgwMzhlLCAweDAzYTEsCisJMHgwM2EzLCAweDAzZjUsCisJMHgwM2Y3LCAweDA0ODEs
CisJMHgwNDhhLCAweDA1MmYsCisJMHgwNTMxLCAweDA1NTYsCisJMHgwNTU5LCAweDA1NTksCisJ
MHgwNTYwLCAweDA1ODgsCisJMHgwNWQwLCAweDA1ZWEsCisJMHgwNWVmLCAweDA1ZjIsCisJMHgw
NjIwLCAweDA2NGEsCisJMHgwNjZlLCAweDA2NmYsCisJMHgwNjcxLCAweDA2ZDMsCisJMHgwNmQ1
LCAweDA2ZDUsCisJMHgwNmU1LCAweDA2ZTYsCisJMHgwNmVlLCAweDA2ZWYsCisJMHgwNmZhLCAw
eDA2ZmMsCisJMHgwNmZmLCAweDA2ZmYsCisJMHgwNzEwLCAweDA3MTAsCisJMHgwNzEyLCAweDA3
MmYsCisJMHgwNzRkLCAweDA3YTUsCisJMHgwN2IxLCAweDA3YjEsCisJMHgwN2NhLCAweDA3ZWEs
CisJMHgwN2Y0LCAweDA3ZjUsCisJMHgwN2ZhLCAweDA3ZmEsCisJMHgwODAwLCAweDA4MTUsCisJ
MHgwODFhLCAweDA4MWEsCisJMHgwODI0LCAweDA4MjQsCisJMHgwODI4LCAweDA4MjgsCisJMHgw
ODQwLCAweDA4NTgsCisJMHgwODYwLCAweDA4NmEsCisJMHgwOGEwLCAweDA4YjQsCisJMHgwOGI2
LCAweDA4YmQsCisJMHgwOTA0LCAweDA5MzksCisJMHgwOTNkLCAweDA5M2QsCisJMHgwOTUwLCAw
eDA5NTAsCisJMHgwOTU4LCAweDA5NjEsCisJMHgwOTcxLCAweDA5ODAsCisJMHgwOTg1LCAweDA5
OGMsCisJMHgwOThmLCAweDA5OTAsCisJMHgwOTkzLCAweDA5YTgsCisJMHgwOWFhLCAweDA5YjAs
CisJMHgwOWIyLCAweDA5YjIsCisJMHgwOWI2LCAweDA5YjksCisJMHgwOWJkLCAweDA5YmQsCisJ
MHgwOWNlLCAweDA5Y2UsCisJMHgwOWRjLCAweDA5ZGQsCisJMHgwOWRmLCAweDA5ZTEsCisJMHgw
OWYwLCAweDA5ZjEsCisJMHgwOWZjLCAweDA5ZmMsCisJMHgwYTA1LCAweDBhMGEsCisJMHgwYTBm
LCAweDBhMTAsCisJMHgwYTEzLCAweDBhMjgsCisJMHgwYTJhLCAweDBhMzAsCisJMHgwYTMyLCAw
eDBhMzMsCisJMHgwYTM1LCAweDBhMzYsCisJMHgwYTM4LCAweDBhMzksCisJMHgwYTU5LCAweDBh
NWMsCisJMHgwYTVlLCAweDBhNWUsCisJMHgwYTcyLCAweDBhNzQsCisJMHgwYTg1LCAweDBhOGQs
CisJMHgwYThmLCAweDBhOTEsCisJMHgwYTkzLCAweDBhYTgsCisJMHgwYWFhLCAweDBhYjAsCisJ
MHgwYWIyLCAweDBhYjMsCisJMHgwYWI1LCAweDBhYjksCisJMHgwYWJkLCAweDBhYmQsCisJMHgw
YWQwLCAweDBhZDAsCisJMHgwYWUwLCAweDBhZTEsCisJMHgwYWY5LCAweDBhZjksCisJMHgwYjA1
LCAweDBiMGMsCisJMHgwYjBmLCAweDBiMTAsCisJMHgwYjEzLCAweDBiMjgsCisJMHgwYjJhLCAw
eDBiMzAsCisJMHgwYjMyLCAweDBiMzMsCisJMHgwYjM1LCAweDBiMzksCisJMHgwYjNkLCAweDBi
M2QsCisJMHgwYjVjLCAweDBiNWQsCisJMHgwYjVmLCAweDBiNjEsCisJMHgwYjcxLCAweDBiNzEs
CisJMHgwYjgzLCAweDBiODMsCisJMHgwYjg1LCAweDBiOGEsCisJMHgwYjhlLCAweDBiOTAsCisJ
MHgwYjkyLCAweDBiOTUsCisJMHgwYjk5LCAweDBiOWEsCisJMHgwYjljLCAweDBiOWMsCisJMHgw
YjllLCAweDBiOWYsCisJMHgwYmEzLCAweDBiYTQsCisJMHgwYmE4LCAweDBiYWEsCisJMHgwYmFl
LCAweDBiYjksCisJMHgwYmQwLCAweDBiZDAsCisJMHgwYzA1LCAweDBjMGMsCisJMHgwYzBlLCAw
eDBjMTAsCisJMHgwYzEyLCAweDBjMjgsCisJMHgwYzJhLCAweDBjMzksCisJMHgwYzNkLCAweDBj
M2QsCisJMHgwYzU4LCAweDBjNWEsCisJMHgwYzYwLCAweDBjNjEsCisJMHgwYzgwLCAweDBjODAs
CisJMHgwYzg1LCAweDBjOGMsCisJMHgwYzhlLCAweDBjOTAsCisJMHgwYzkyLCAweDBjYTgsCisJ
MHgwY2FhLCAweDBjYjMsCisJMHgwY2I1LCAweDBjYjksCisJMHgwY2JkLCAweDBjYmQsCisJMHgw
Y2RlLCAweDBjZGUsCisJMHgwY2UwLCAweDBjZTEsCisJMHgwY2YxLCAweDBjZjIsCisJMHgwZDA1
LCAweDBkMGMsCisJMHgwZDBlLCAweDBkMTAsCisJMHgwZDEyLCAweDBkM2EsCisJMHgwZDNkLCAw
eDBkM2QsCisJMHgwZDRlLCAweDBkNGUsCisJMHgwZDU0LCAweDBkNTYsCisJMHgwZDVmLCAweDBk
NjEsCisJMHgwZDdhLCAweDBkN2YsCisJMHgwZDg1LCAweDBkOTYsCisJMHgwZDlhLCAweDBkYjEs
CisJMHgwZGIzLCAweDBkYmIsCisJMHgwZGJkLCAweDBkYmQsCisJMHgwZGMwLCAweDBkYzYsCisJ
MHgwZTAxLCAweDBlMzAsCisJMHgwZTMyLCAweDBlMzMsCisJMHgwZTQwLCAweDBlNDYsCisJMHgw
ZTgxLCAweDBlODIsCisJMHgwZTg0LCAweDBlODQsCisJMHgwZTg2LCAweDBlOGEsCisJMHgwZThj
LCAweDBlYTMsCisJMHgwZWE1LCAweDBlYTUsCisJMHgwZWE3LCAweDBlYjAsCisJMHgwZWIyLCAw
eDBlYjMsCisJMHgwZWJkLCAweDBlYmQsCisJMHgwZWMwLCAweDBlYzQsCisJMHgwZWM2LCAweDBl
YzYsCisJMHgwZWRjLCAweDBlZGYsCisJMHgwZjAwLCAweDBmMDAsCisJMHgwZjQwLCAweDBmNDcs
CisJMHgwZjQ5LCAweDBmNmMsCisJMHgwZjg4LCAweDBmOGMsCisJMHgxMDAwLCAweDEwMmEsCisJ
MHgxMDNmLCAweDEwM2YsCisJMHgxMDUwLCAweDEwNTUsCisJMHgxMDVhLCAweDEwNWQsCisJMHgx
MDYxLCAweDEwNjEsCisJMHgxMDY1LCAweDEwNjYsCisJMHgxMDZlLCAweDEwNzAsCisJMHgxMDc1
LCAweDEwODEsCisJMHgxMDhlLCAweDEwOGUsCisJMHgxMGEwLCAweDEwYzUsCisJMHgxMGM3LCAw
eDEwYzcsCisJMHgxMGNkLCAweDEwY2QsCisJMHgxMGQwLCAweDEwZmEsCisJMHgxMGZjLCAweDEy
NDgsCisJMHgxMjRhLCAweDEyNGQsCisJMHgxMjUwLCAweDEyNTYsCisJMHgxMjU4LCAweDEyNTgs
CisJMHgxMjVhLCAweDEyNWQsCisJMHgxMjYwLCAweDEyODgsCisJMHgxMjhhLCAweDEyOGQsCisJ
MHgxMjkwLCAweDEyYjAsCisJMHgxMmIyLCAweDEyYjUsCisJMHgxMmI4LCAweDEyYmUsCisJMHgx
MmMwLCAweDEyYzAsCisJMHgxMmMyLCAweDEyYzUsCisJMHgxMmM4LCAweDEyZDYsCisJMHgxMmQ4
LCAweDEzMTAsCisJMHgxMzEyLCAweDEzMTUsCisJMHgxMzE4LCAweDEzNWEsCisJMHgxMzgwLCAw
eDEzOGYsCisJMHgxM2EwLCAweDEzZjUsCisJMHgxM2Y4LCAweDEzZmQsCisJMHgxNDAxLCAweDE2
NmMsCisJMHgxNjZmLCAweDE2N2YsCisJMHgxNjgxLCAweDE2OWEsCisJMHgxNmEwLCAweDE2ZWEs
CisJMHgxNmYxLCAweDE2ZjgsCisJMHgxNzAwLCAweDE3MGMsCisJMHgxNzBlLCAweDE3MTEsCisJ
MHgxNzIwLCAweDE3MzEsCisJMHgxNzQwLCAweDE3NTEsCisJMHgxNzYwLCAweDE3NmMsCisJMHgx
NzZlLCAweDE3NzAsCisJMHgxNzgwLCAweDE3YjMsCisJMHgxN2Q3LCAweDE3ZDcsCisJMHgxN2Rj
LCAweDE3ZGMsCisJMHgxODIwLCAweDE4NzgsCisJMHgxODgwLCAweDE4ODQsCisJMHgxODg3LCAw
eDE4YTgsCisJMHgxOGFhLCAweDE4YWEsCisJMHgxOGIwLCAweDE4ZjUsCisJMHgxOTAwLCAweDE5
MWUsCisJMHgxOTUwLCAweDE5NmQsCisJMHgxOTcwLCAweDE5NzQsCisJMHgxOTgwLCAweDE5YWIs
CisJMHgxOWIwLCAweDE5YzksCisJMHgxYTAwLCAweDFhMTYsCisJMHgxYTIwLCAweDFhNTQsCisJ
MHgxYWE3LCAweDFhYTcsCisJMHgxYjA1LCAweDFiMzMsCisJMHgxYjQ1LCAweDFiNGIsCisJMHgx
YjgzLCAweDFiYTAsCisJMHgxYmFlLCAweDFiYWYsCisJMHgxYmJhLCAweDFiZTUsCisJMHgxYzAw
LCAweDFjMjMsCisJMHgxYzRkLCAweDFjNGYsCisJMHgxYzVhLCAweDFjN2QsCisJMHgxYzgwLCAw
eDFjODgsCisJMHgxYzkwLCAweDFjYmEsCisJMHgxY2JkLCAweDFjYmYsCisJMHgxY2U5LCAweDFj
ZWMsCisJMHgxY2VlLCAweDFjZjMsCisJMHgxY2Y1LCAweDFjZjYsCisJMHgxY2ZhLCAweDFjZmEs
CisJMHgxZDAwLCAweDFkYmYsCisJMHgxZTAwLCAweDFmMTUsCisJMHgxZjE4LCAweDFmMWQsCisJ
MHgxZjIwLCAweDFmNDUsCisJMHgxZjQ4LCAweDFmNGQsCisJMHgxZjUwLCAweDFmNTcsCisJMHgx
ZjU5LCAweDFmNTksCisJMHgxZjViLCAweDFmNWIsCisJMHgxZjVkLCAweDFmNWQsCisJMHgxZjVm
LCAweDFmN2QsCisJMHgxZjgwLCAweDFmYjQsCisJMHgxZmI2LCAweDFmYmMsCisJMHgxZmJlLCAw
eDFmYmUsCisJMHgxZmMyLCAweDFmYzQsCisJMHgxZmM2LCAweDFmY2MsCisJMHgxZmQwLCAweDFm
ZDMsCisJMHgxZmQ2LCAweDFmZGIsCisJMHgxZmUwLCAweDFmZWMsCisJMHgxZmYyLCAweDFmZjQs
CisJMHgxZmY2LCAweDFmZmMsCisJMHgyMDcxLCAweDIwNzEsCisJMHgyMDdmLCAweDIwN2YsCisJ
MHgyMDkwLCAweDIwOWMsCisJMHgyMTAyLCAweDIxMDIsCisJMHgyMTA3LCAweDIxMDcsCisJMHgy
MTBhLCAweDIxMTMsCisJMHgyMTE1LCAweDIxMTUsCisJMHgyMTE5LCAweDIxMWQsCisJMHgyMTI0
LCAweDIxMjQsCisJMHgyMTI2LCAweDIxMjYsCisJMHgyMTI4LCAweDIxMjgsCisJMHgyMTJhLCAw
eDIxMmQsCisJMHgyMTJmLCAweDIxMzksCisJMHgyMTNjLCAweDIxM2YsCisJMHgyMTQ1LCAweDIx
NDksCisJMHgyMTRlLCAweDIxNGUsCisJMHgyMTgzLCAweDIxODQsCisJMHgyYzAwLCAweDJjMmUs
CisJMHgyYzMwLCAweDJjNWUsCisJMHgyYzYwLCAweDJjZTQsCisJMHgyY2ViLCAweDJjZWUsCisJ
MHgyY2YyLCAweDJjZjMsCisJMHgyZDAwLCAweDJkMjUsCisJMHgyZDI3LCAweDJkMjcsCisJMHgy
ZDJkLCAweDJkMmQsCisJMHgyZDMwLCAweDJkNjcsCisJMHgyZDZmLCAweDJkNmYsCisJMHgyZDgw
LCAweDJkOTYsCisJMHgyZGEwLCAweDJkYTYsCisJMHgyZGE4LCAweDJkYWUsCisJMHgyZGIwLCAw
eDJkYjYsCisJMHgyZGI4LCAweDJkYmUsCisJMHgyZGMwLCAweDJkYzYsCisJMHgyZGM4LCAweDJk
Y2UsCisJMHgyZGQwLCAweDJkZDYsCisJMHgyZGQ4LCAweDJkZGUsCisJMHgyZTJmLCAweDJlMmYs
CisJMHgzMDA1LCAweDMwMDYsCisJMHgzMDMxLCAweDMwMzUsCisJMHgzMDNiLCAweDMwM2MsCisJ
MHgzMDQxLCAweDMwOTYsCisJMHgzMDlkLCAweDMwOWYsCisJMHgzMGExLCAweDMwZmEsCisJMHgz
MGZjLCAweDMwZmYsCisJMHgzMTA1LCAweDMxMmYsCisJMHgzMTMxLCAweDMxOGUsCisJMHgzMWEw
LCAweDMxYmEsCisJMHgzMWYwLCAweDMxZmYsCisJMHgzNDAwLCAweDRkYjUsCisJMHg0ZTAwLCAw
eDlmZWYsCisJMHhhMDAwLCAweGE0OGMsCisJMHhhNGQwLCAweGE0ZmQsCisJMHhhNTAwLCAweGE2
MGMsCisJMHhhNjEwLCAweGE2MWYsCisJMHhhNjJhLCAweGE2MmIsCisJMHhhNjQwLCAweGE2NmUs
CisJMHhhNjdmLCAweGE2OWQsCisJMHhhNmEwLCAweGE2ZTUsCisJMHhhNzE3LCAweGE3MWYsCisJ
MHhhNzIyLCAweGE3ODgsCisJMHhhNzhiLCAweGE3YmYsCisJMHhhN2MyLCAweGE3YzYsCisJMHhh
N2Y3LCAweGE4MDEsCisJMHhhODAzLCAweGE4MDUsCisJMHhhODA3LCAweGE4MGEsCisJMHhhODBj
LCAweGE4MjIsCisJMHhhODQwLCAweGE4NzMsCisJMHhhODgyLCAweGE4YjMsCisJMHhhOGYyLCAw
eGE4ZjcsCisJMHhhOGZiLCAweGE4ZmIsCisJMHhhOGZkLCAweGE4ZmUsCisJMHhhOTBhLCAweGE5
MjUsCisJMHhhOTMwLCAweGE5NDYsCisJMHhhOTYwLCAweGE5N2MsCisJMHhhOTg0LCAweGE5YjIs
CisJMHhhOWNmLCAweGE5Y2YsCisJMHhhOWUwLCAweGE5ZTQsCisJMHhhOWU2LCAweGE5ZWYsCisJ
MHhhOWZhLCAweGE5ZmUsCisJMHhhYTAwLCAweGFhMjgsCisJMHhhYTQwLCAweGFhNDIsCisJMHhh
YTQ0LCAweGFhNGIsCisJMHhhYTYwLCAweGFhNzYsCisJMHhhYTdhLCAweGFhN2EsCisJMHhhYTdl
LCAweGFhYWYsCisJMHhhYWIxLCAweGFhYjEsCisJMHhhYWI1LCAweGFhYjYsCisJMHhhYWI5LCAw
eGFhYmQsCisJMHhhYWMwLCAweGFhYzAsCisJMHhhYWMyLCAweGFhYzIsCisJMHhhYWRiLCAweGFh
ZGQsCisJMHhhYWUwLCAweGFhZWEsCisJMHhhYWYyLCAweGFhZjQsCisJMHhhYjAxLCAweGFiMDYs
CisJMHhhYjA5LCAweGFiMGUsCisJMHhhYjExLCAweGFiMTYsCisJMHhhYjIwLCAweGFiMjYsCisJ
MHhhYjI4LCAweGFiMmUsCisJMHhhYjMwLCAweGFiNWEsCisJMHhhYjVjLCAweGFiNjcsCisJMHhh
YjcwLCAweGFiZTIsCisJMHhhYzAwLCAweGQ3YTMsCisJMHhkN2IwLCAweGQ3YzYsCisJMHhkN2Ni
LCAweGQ3ZmIsCisJMHhmOTAwLCAweGZhNmQsCisJMHhmYTcwLCAweGZhZDksCisJMHhmYjAwLCAw
eGZiMDYsCisJMHhmYjEzLCAweGZiMTcsCisJMHhmYjFkLCAweGZiMWQsCisJMHhmYjFmLCAweGZi
MjgsCisJMHhmYjJhLCAweGZiMzYsCisJMHhmYjM4LCAweGZiM2MsCisJMHhmYjNlLCAweGZiM2Us
CisJMHhmYjQwLCAweGZiNDEsCisJMHhmYjQzLCAweGZiNDQsCisJMHhmYjQ2LCAweGZiYjEsCisJ
MHhmYmQzLCAweGZkM2QsCisJMHhmZDUwLCAweGZkOGYsCisJMHhmZDkyLCAweGZkYzcsCisJMHhm
ZGYwLCAweGZkZmIsCisJMHhmZTcwLCAweGZlNzQsCisJMHhmZTc2LCAweGZlZmMsCisJMHhmZjIx
LCAweGZmM2EsCisJMHhmZjQxLCAweGZmNWEsCisJMHhmZjY2LCAweGZmYmUsCisJMHhmZmMyLCAw
eGZmYzcsCisJMHhmZmNhLCAweGZmY2YsCisJMHhmZmQyLCAweGZmZDcsCisJMHhmZmRhLCAweGZm
ZGMsCisJMHgxMDAwMCwgMHgxMDAwYiwKKwkweDEwMDBkLCAweDEwMDI2LAorCTB4MTAwMjgsIDB4
MTAwM2EsCisJMHgxMDAzYywgMHgxMDAzZCwKKwkweDEwMDNmLCAweDEwMDRkLAorCTB4MTAwNTAs
IDB4MTAwNWQsCisJMHgxMDA4MCwgMHgxMDBmYSwKKwkweDEwMjgwLCAweDEwMjljLAorCTB4MTAy
YTAsIDB4MTAyZDAsCisJMHgxMDMwMCwgMHgxMDMxZiwKKwkweDEwMzJkLCAweDEwMzQwLAorCTB4
MTAzNDIsIDB4MTAzNDksCisJMHgxMDM1MCwgMHgxMDM3NSwKKwkweDEwMzgwLCAweDEwMzlkLAor
CTB4MTAzYTAsIDB4MTAzYzMsCisJMHgxMDNjOCwgMHgxMDNjZiwKKwkweDEwNDAwLCAweDEwNDlk
LAorCTB4MTA0YjAsIDB4MTA0ZDMsCisJMHgxMDRkOCwgMHgxMDRmYiwKKwkweDEwNTAwLCAweDEw
NTI3LAorCTB4MTA1MzAsIDB4MTA1NjMsCisJMHgxMDYwMCwgMHgxMDczNiwKKwkweDEwNzQwLCAw
eDEwNzU1LAorCTB4MTA3NjAsIDB4MTA3NjcsCisJMHgxMDgwMCwgMHgxMDgwNSwKKwkweDEwODA4
LCAweDEwODA4LAorCTB4MTA4MGEsIDB4MTA4MzUsCisJMHgxMDgzNywgMHgxMDgzOCwKKwkweDEw
ODNjLCAweDEwODNjLAorCTB4MTA4M2YsIDB4MTA4NTUsCisJMHgxMDg2MCwgMHgxMDg3NiwKKwkw
eDEwODgwLCAweDEwODllLAorCTB4MTA4ZTAsIDB4MTA4ZjIsCisJMHgxMDhmNCwgMHgxMDhmNSwK
KwkweDEwOTAwLCAweDEwOTE1LAorCTB4MTA5MjAsIDB4MTA5MzksCisJMHgxMDk4MCwgMHgxMDli
NywKKwkweDEwOWJlLCAweDEwOWJmLAorCTB4MTBhMDAsIDB4MTBhMDAsCisJMHgxMGExMCwgMHgx
MGExMywKKwkweDEwYTE1LCAweDEwYTE3LAorCTB4MTBhMTksIDB4MTBhMzUsCisJMHgxMGE2MCwg
MHgxMGE3YywKKwkweDEwYTgwLCAweDEwYTljLAorCTB4MTBhYzAsIDB4MTBhYzcsCisJMHgxMGFj
OSwgMHgxMGFlNCwKKwkweDEwYjAwLCAweDEwYjM1LAorCTB4MTBiNDAsIDB4MTBiNTUsCisJMHgx
MGI2MCwgMHgxMGI3MiwKKwkweDEwYjgwLCAweDEwYjkxLAorCTB4MTBjMDAsIDB4MTBjNDgsCisJ
MHgxMGM4MCwgMHgxMGNiMiwKKwkweDEwY2MwLCAweDEwY2YyLAorCTB4MTBkMDAsIDB4MTBkMjMs
CisJMHgxMGYwMCwgMHgxMGYxYywKKwkweDEwZjI3LCAweDEwZjI3LAorCTB4MTBmMzAsIDB4MTBm
NDUsCisJMHgxMGZlMCwgMHgxMGZmNiwKKwkweDExMDAzLCAweDExMDM3LAorCTB4MTEwODMsIDB4
MTEwYWYsCisJMHgxMTBkMCwgMHgxMTBlOCwKKwkweDExMTAzLCAweDExMTI2LAorCTB4MTExNDQs
IDB4MTExNDQsCisJMHgxMTE1MCwgMHgxMTE3MiwKKwkweDExMTc2LCAweDExMTc2LAorCTB4MTEx
ODMsIDB4MTExYjIsCisJMHgxMTFjMSwgMHgxMTFjNCwKKwkweDExMWRhLCAweDExMWRhLAorCTB4
MTExZGMsIDB4MTExZGMsCisJMHgxMTIwMCwgMHgxMTIxMSwKKwkweDExMjEzLCAweDExMjJiLAor
CTB4MTEyODAsIDB4MTEyODYsCisJMHgxMTI4OCwgMHgxMTI4OCwKKwkweDExMjhhLCAweDExMjhk
LAorCTB4MTEyOGYsIDB4MTEyOWQsCisJMHgxMTI5ZiwgMHgxMTJhOCwKKwkweDExMmIwLCAweDEx
MmRlLAorCTB4MTEzMDUsIDB4MTEzMGMsCisJMHgxMTMwZiwgMHgxMTMxMCwKKwkweDExMzEzLCAw
eDExMzI4LAorCTB4MTEzMmEsIDB4MTEzMzAsCisJMHgxMTMzMiwgMHgxMTMzMywKKwkweDExMzM1
LCAweDExMzM5LAorCTB4MTEzM2QsIDB4MTEzM2QsCisJMHgxMTM1MCwgMHgxMTM1MCwKKwkweDEx
MzVkLCAweDExMzYxLAorCTB4MTE0MDAsIDB4MTE0MzQsCisJMHgxMTQ0NywgMHgxMTQ0YSwKKwkw
eDExNDVmLCAweDExNDVmLAorCTB4MTE0ODAsIDB4MTE0YWYsCisJMHgxMTRjNCwgMHgxMTRjNSwK
KwkweDExNGM3LCAweDExNGM3LAorCTB4MTE1ODAsIDB4MTE1YWUsCisJMHgxMTVkOCwgMHgxMTVk
YiwKKwkweDExNjAwLCAweDExNjJmLAorCTB4MTE2NDQsIDB4MTE2NDQsCisJMHgxMTY4MCwgMHgx
MTZhYSwKKwkweDExNmI4LCAweDExNmI4LAorCTB4MTE3MDAsIDB4MTE3MWEsCisJMHgxMTgwMCwg
MHgxMTgyYiwKKwkweDExOGEwLCAweDExOGRmLAorCTB4MTE4ZmYsIDB4MTE4ZmYsCisJMHgxMTlh
MCwgMHgxMTlhNywKKwkweDExOWFhLCAweDExOWQwLAorCTB4MTE5ZTEsIDB4MTE5ZTEsCisJMHgx
MTllMywgMHgxMTllMywKKwkweDExYTAwLCAweDExYTAwLAorCTB4MTFhMGIsIDB4MTFhMzIsCisJ
MHgxMWEzYSwgMHgxMWEzYSwKKwkweDExYTUwLCAweDExYTUwLAorCTB4MTFhNWMsIDB4MTFhODks
CisJMHgxMWE5ZCwgMHgxMWE5ZCwKKwkweDExYWMwLCAweDExYWY4LAorCTB4MTFjMDAsIDB4MTFj
MDgsCisJMHgxMWMwYSwgMHgxMWMyZSwKKwkweDExYzQwLCAweDExYzQwLAorCTB4MTFjNzIsIDB4
MTFjOGYsCisJMHgxMWQwMCwgMHgxMWQwNiwKKwkweDExZDA4LCAweDExZDA5LAorCTB4MTFkMGIs
IDB4MTFkMzAsCisJMHgxMWQ0NiwgMHgxMWQ0NiwKKwkweDExZDYwLCAweDExZDY1LAorCTB4MTFk
NjcsIDB4MTFkNjgsCisJMHgxMWQ2YSwgMHgxMWQ4OSwKKwkweDExZDk4LCAweDExZDk4LAorCTB4
MTFlZTAsIDB4MTFlZjIsCisJMHgxMjAwMCwgMHgxMjM5OSwKKwkweDEyNDgwLCAweDEyNTQzLAor
CTB4MTMwMDAsIDB4MTM0MmUsCisJMHgxNDQwMCwgMHgxNDY0NiwKKwkweDE2ODAwLCAweDE2YTM4
LAorCTB4MTZhNDAsIDB4MTZhNWUsCisJMHgxNmFkMCwgMHgxNmFlZCwKKwkweDE2YjAwLCAweDE2
YjJmLAorCTB4MTZiNDAsIDB4MTZiNDMsCisJMHgxNmI2MywgMHgxNmI3NywKKwkweDE2YjdkLCAw
eDE2YjhmLAorCTB4MTZlNDAsIDB4MTZlN2YsCisJMHgxNmYwMCwgMHgxNmY0YSwKKwkweDE2ZjUw
LCAweDE2ZjUwLAorCTB4MTZmOTMsIDB4MTZmOWYsCisJMHgxNmZlMCwgMHgxNmZlMSwKKwkweDE2
ZmUzLCAweDE2ZmUzLAorCTB4MTcwMDAsIDB4MTg3ZjcsCisJMHgxODgwMCwgMHgxOGFmMiwKKwkw
eDFiMDAwLCAweDFiMTFlLAorCTB4MWIxNTAsIDB4MWIxNTIsCisJMHgxYjE2NCwgMHgxYjE2NywK
KwkweDFiMTcwLCAweDFiMmZiLAorCTB4MWJjMDAsIDB4MWJjNmEsCisJMHgxYmM3MCwgMHgxYmM3
YywKKwkweDFiYzgwLCAweDFiYzg4LAorCTB4MWJjOTAsIDB4MWJjOTksCisJMHgxZDQwMCwgMHgx
ZDQ1NCwKKwkweDFkNDU2LCAweDFkNDljLAorCTB4MWQ0OWUsIDB4MWQ0OWYsCisJMHgxZDRhMiwg
MHgxZDRhMiwKKwkweDFkNGE1LCAweDFkNGE2LAorCTB4MWQ0YTksIDB4MWQ0YWMsCisJMHgxZDRh
ZSwgMHgxZDRiOSwKKwkweDFkNGJiLCAweDFkNGJiLAorCTB4MWQ0YmQsIDB4MWQ0YzMsCisJMHgx
ZDRjNSwgMHgxZDUwNSwKKwkweDFkNTA3LCAweDFkNTBhLAorCTB4MWQ1MGQsIDB4MWQ1MTQsCisJ
MHgxZDUxNiwgMHgxZDUxYywKKwkweDFkNTFlLCAweDFkNTM5LAorCTB4MWQ1M2IsIDB4MWQ1M2Us
CisJMHgxZDU0MCwgMHgxZDU0NCwKKwkweDFkNTQ2LCAweDFkNTQ2LAorCTB4MWQ1NGEsIDB4MWQ1
NTAsCisJMHgxZDU1MiwgMHgxZDZhNSwKKwkweDFkNmE4LCAweDFkNmMwLAorCTB4MWQ2YzIsIDB4
MWQ2ZGEsCisJMHgxZDZkYywgMHgxZDZmYSwKKwkweDFkNmZjLCAweDFkNzE0LAorCTB4MWQ3MTYs
IDB4MWQ3MzQsCisJMHgxZDczNiwgMHgxZDc0ZSwKKwkweDFkNzUwLCAweDFkNzZlLAorCTB4MWQ3
NzAsIDB4MWQ3ODgsCisJMHgxZDc4YSwgMHgxZDdhOCwKKwkweDFkN2FhLCAweDFkN2MyLAorCTB4
MWQ3YzQsIDB4MWQ3Y2IsCisJMHgxZTEwMCwgMHgxZTEyYywKKwkweDFlMTM3LCAweDFlMTNkLAor
CTB4MWUxNGUsIDB4MWUxNGUsCisJMHgxZTJjMCwgMHgxZTJlYiwKKwkweDFlODAwLCAweDFlOGM0
LAorCTB4MWU5MDAsIDB4MWU5NDMsCisJMHgxZTk0YiwgMHgxZTk0YiwKKwkweDFlZTAwLCAweDFl
ZTAzLAorCTB4MWVlMDUsIDB4MWVlMWYsCisJMHgxZWUyMSwgMHgxZWUyMiwKKwkweDFlZTI0LCAw
eDFlZTI0LAorCTB4MWVlMjcsIDB4MWVlMjcsCisJMHgxZWUyOSwgMHgxZWUzMiwKKwkweDFlZTM0
LCAweDFlZTM3LAorCTB4MWVlMzksIDB4MWVlMzksCisJMHgxZWUzYiwgMHgxZWUzYiwKKwkweDFl
ZTQyLCAweDFlZTQyLAorCTB4MWVlNDcsIDB4MWVlNDcsCisJMHgxZWU0OSwgMHgxZWU0OSwKKwkw
eDFlZTRiLCAweDFlZTRiLAorCTB4MWVlNGQsIDB4MWVlNGYsCisJMHgxZWU1MSwgMHgxZWU1MiwK
KwkweDFlZTU0LCAweDFlZTU0LAorCTB4MWVlNTcsIDB4MWVlNTcsCisJMHgxZWU1OSwgMHgxZWU1
OSwKKwkweDFlZTViLCAweDFlZTViLAorCTB4MWVlNWQsIDB4MWVlNWQsCisJMHgxZWU1ZiwgMHgx
ZWU1ZiwKKwkweDFlZTYxLCAweDFlZTYyLAorCTB4MWVlNjQsIDB4MWVlNjQsCisJMHgxZWU2Nywg
MHgxZWU2YSwKKwkweDFlZTZjLCAweDFlZTcyLAorCTB4MWVlNzQsIDB4MWVlNzcsCisJMHgxZWU3
OSwgMHgxZWU3YywKKwkweDFlZTdlLCAweDFlZTdlLAorCTB4MWVlODAsIDB4MWVlODksCisJMHgx
ZWU4YiwgMHgxZWU5YiwKKwkweDFlZWExLCAweDFlZWEzLAorCTB4MWVlYTUsIDB4MWVlYTksCisJ
MHgxZWVhYiwgMHgxZWViYiwKKwkweDIwMDAwLCAweDJhNmQ2LAorCTB4MmE3MDAsIDB4MmI3MzQs
CisJMHgyYjc0MCwgMHgyYjgxZCwKKwkweDJiODIwLCAweDJjZWExLAorCTB4MmNlYjAsIDB4MmVi
ZTAsCisJMHgyZjgwMCwgMHgyZmExZCwKK307IC8qIENSX0wgKi8KKworLyogJ0xDJzogR2VuZXJh
bCBDYXRlZ29yeSAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfTENbXSA9IHsKKwkx
MzEsCisJMHgwMDQxLCAweDAwNWEsCisJMHgwMDYxLCAweDAwN2EsCisJMHgwMGI1LCAweDAwYjUs
CisJMHgwMGMwLCAweDAwZDYsCisJMHgwMGQ4LCAweDAwZjYsCisJMHgwMGY4LCAweDAxYmEsCisJ
MHgwMWJjLCAweDAxYmYsCisJMHgwMWM0LCAweDAyOTMsCisJMHgwMjk1LCAweDAyYWYsCisJMHgw
MzcwLCAweDAzNzMsCisJMHgwMzc2LCAweDAzNzcsCisJMHgwMzdiLCAweDAzN2QsCisJMHgwMzdm
LCAweDAzN2YsCisJMHgwMzg2LCAweDAzODYsCisJMHgwMzg4LCAweDAzOGEsCisJMHgwMzhjLCAw
eDAzOGMsCisJMHgwMzhlLCAweDAzYTEsCisJMHgwM2EzLCAweDAzZjUsCisJMHgwM2Y3LCAweDA0
ODEsCisJMHgwNDhhLCAweDA1MmYsCisJMHgwNTMxLCAweDA1NTYsCisJMHgwNTYwLCAweDA1ODgs
CisJMHgxMGEwLCAweDEwYzUsCisJMHgxMGM3LCAweDEwYzcsCisJMHgxMGNkLCAweDEwY2QsCisJ
MHgxMGQwLCAweDEwZmEsCisJMHgxMGZkLCAweDEwZmYsCisJMHgxM2EwLCAweDEzZjUsCisJMHgx
M2Y4LCAweDEzZmQsCisJMHgxYzgwLCAweDFjODgsCisJMHgxYzkwLCAweDFjYmEsCisJMHgxY2Jk
LCAweDFjYmYsCisJMHgxZDAwLCAweDFkMmIsCisJMHgxZDZiLCAweDFkNzcsCisJMHgxZDc5LCAw
eDFkOWEsCisJMHgxZTAwLCAweDFmMTUsCisJMHgxZjE4LCAweDFmMWQsCisJMHgxZjIwLCAweDFm
NDUsCisJMHgxZjQ4LCAweDFmNGQsCisJMHgxZjUwLCAweDFmNTcsCisJMHgxZjU5LCAweDFmNTks
CisJMHgxZjViLCAweDFmNWIsCisJMHgxZjVkLCAweDFmNWQsCisJMHgxZjVmLCAweDFmN2QsCisJ
MHgxZjgwLCAweDFmYjQsCisJMHgxZmI2LCAweDFmYmMsCisJMHgxZmJlLCAweDFmYmUsCisJMHgx
ZmMyLCAweDFmYzQsCisJMHgxZmM2LCAweDFmY2MsCisJMHgxZmQwLCAweDFmZDMsCisJMHgxZmQ2
LCAweDFmZGIsCisJMHgxZmUwLCAweDFmZWMsCisJMHgxZmYyLCAweDFmZjQsCisJMHgxZmY2LCAw
eDFmZmMsCisJMHgyMTAyLCAweDIxMDIsCisJMHgyMTA3LCAweDIxMDcsCisJMHgyMTBhLCAweDIx
MTMsCisJMHgyMTE1LCAweDIxMTUsCisJMHgyMTE5LCAweDIxMWQsCisJMHgyMTI0LCAweDIxMjQs
CisJMHgyMTI2LCAweDIxMjYsCisJMHgyMTI4LCAweDIxMjgsCisJMHgyMTJhLCAweDIxMmQsCisJ
MHgyMTJmLCAweDIxMzQsCisJMHgyMTM5LCAweDIxMzksCisJMHgyMTNjLCAweDIxM2YsCisJMHgy
MTQ1LCAweDIxNDksCisJMHgyMTRlLCAweDIxNGUsCisJMHgyMTgzLCAweDIxODQsCisJMHgyYzAw
LCAweDJjMmUsCisJMHgyYzMwLCAweDJjNWUsCisJMHgyYzYwLCAweDJjN2IsCisJMHgyYzdlLCAw
eDJjZTQsCisJMHgyY2ViLCAweDJjZWUsCisJMHgyY2YyLCAweDJjZjMsCisJMHgyZDAwLCAweDJk
MjUsCisJMHgyZDI3LCAweDJkMjcsCisJMHgyZDJkLCAweDJkMmQsCisJMHhhNjQwLCAweGE2NmQs
CisJMHhhNjgwLCAweGE2OWIsCisJMHhhNzIyLCAweGE3NmYsCisJMHhhNzcxLCAweGE3ODcsCisJ
MHhhNzhiLCAweGE3OGUsCisJMHhhNzkwLCAweGE3YmYsCisJMHhhN2MyLCAweGE3YzYsCisJMHhh
N2ZhLCAweGE3ZmEsCisJMHhhYjMwLCAweGFiNWEsCisJMHhhYjYwLCAweGFiNjcsCisJMHhhYjcw
LCAweGFiYmYsCisJMHhmYjAwLCAweGZiMDYsCisJMHhmYjEzLCAweGZiMTcsCisJMHhmZjIxLCAw
eGZmM2EsCisJMHhmZjQxLCAweGZmNWEsCisJMHgxMDQwMCwgMHgxMDQ0ZiwKKwkweDEwNGIwLCAw
eDEwNGQzLAorCTB4MTA0ZDgsIDB4MTA0ZmIsCisJMHgxMGM4MCwgMHgxMGNiMiwKKwkweDEwY2Mw
LCAweDEwY2YyLAorCTB4MTE4YTAsIDB4MTE4ZGYsCisJMHgxNmU0MCwgMHgxNmU3ZiwKKwkweDFk
NDAwLCAweDFkNDU0LAorCTB4MWQ0NTYsIDB4MWQ0OWMsCisJMHgxZDQ5ZSwgMHgxZDQ5ZiwKKwkw
eDFkNGEyLCAweDFkNGEyLAorCTB4MWQ0YTUsIDB4MWQ0YTYsCisJMHgxZDRhOSwgMHgxZDRhYywK
KwkweDFkNGFlLCAweDFkNGI5LAorCTB4MWQ0YmIsIDB4MWQ0YmIsCisJMHgxZDRiZCwgMHgxZDRj
MywKKwkweDFkNGM1LCAweDFkNTA1LAorCTB4MWQ1MDcsIDB4MWQ1MGEsCisJMHgxZDUwZCwgMHgx
ZDUxNCwKKwkweDFkNTE2LCAweDFkNTFjLAorCTB4MWQ1MWUsIDB4MWQ1MzksCisJMHgxZDUzYiwg
MHgxZDUzZSwKKwkweDFkNTQwLCAweDFkNTQ0LAorCTB4MWQ1NDYsIDB4MWQ1NDYsCisJMHgxZDU0
YSwgMHgxZDU1MCwKKwkweDFkNTUyLCAweDFkNmE1LAorCTB4MWQ2YTgsIDB4MWQ2YzAsCisJMHgx
ZDZjMiwgMHgxZDZkYSwKKwkweDFkNmRjLCAweDFkNmZhLAorCTB4MWQ2ZmMsIDB4MWQ3MTQsCisJ
MHgxZDcxNiwgMHgxZDczNCwKKwkweDFkNzM2LCAweDFkNzRlLAorCTB4MWQ3NTAsIDB4MWQ3NmUs
CisJMHgxZDc3MCwgMHgxZDc4OCwKKwkweDFkNzhhLCAweDFkN2E4LAorCTB4MWQ3YWEsIDB4MWQ3
YzIsCisJMHgxZDdjNCwgMHgxZDdjYiwKKwkweDFlOTAwLCAweDFlOTQzLAorfTsgLyogQ1JfTEMg
Ki8KKworLyogJ0xsJzogR2VuZXJhbCBDYXRlZ29yeSAqLworc3RhdGljIGNvbnN0IE9uaWdDb2Rl
UG9pbnQgQ1JfTGxbXSA9IHsKKwk2NDIsCisJMHgwMDYxLCAweDAwN2EsCisJMHgwMGI1LCAweDAw
YjUsCisJMHgwMGRmLCAweDAwZjYsCisJMHgwMGY4LCAweDAwZmYsCisJMHgwMTAxLCAweDAxMDEs
CisJMHgwMTAzLCAweDAxMDMsCisJMHgwMTA1LCAweDAxMDUsCisJMHgwMTA3LCAweDAxMDcsCisJ
MHgwMTA5LCAweDAxMDksCisJMHgwMTBiLCAweDAxMGIsCisJMHgwMTBkLCAweDAxMGQsCisJMHgw
MTBmLCAweDAxMGYsCisJMHgwMTExLCAweDAxMTEsCisJMHgwMTEzLCAweDAxMTMsCisJMHgwMTE1
LCAweDAxMTUsCisJMHgwMTE3LCAweDAxMTcsCisJMHgwMTE5LCAweDAxMTksCisJMHgwMTFiLCAw
eDAxMWIsCisJMHgwMTFkLCAweDAxMWQsCisJMHgwMTFmLCAweDAxMWYsCisJMHgwMTIxLCAweDAx
MjEsCisJMHgwMTIzLCAweDAxMjMsCisJMHgwMTI1LCAweDAxMjUsCisJMHgwMTI3LCAweDAxMjcs
CisJMHgwMTI5LCAweDAxMjksCisJMHgwMTJiLCAweDAxMmIsCisJMHgwMTJkLCAweDAxMmQsCisJ
MHgwMTJmLCAweDAxMmYsCisJMHgwMTMxLCAweDAxMzEsCisJMHgwMTMzLCAweDAxMzMsCisJMHgw
MTM1LCAweDAxMzUsCisJMHgwMTM3LCAweDAxMzgsCisJMHgwMTNhLCAweDAxM2EsCisJMHgwMTNj
LCAweDAxM2MsCisJMHgwMTNlLCAweDAxM2UsCisJMHgwMTQwLCAweDAxNDAsCisJMHgwMTQyLCAw
eDAxNDIsCisJMHgwMTQ0LCAweDAxNDQsCisJMHgwMTQ2LCAweDAxNDYsCisJMHgwMTQ4LCAweDAx
NDksCisJMHgwMTRiLCAweDAxNGIsCisJMHgwMTRkLCAweDAxNGQsCisJMHgwMTRmLCAweDAxNGYs
CisJMHgwMTUxLCAweDAxNTEsCisJMHgwMTUzLCAweDAxNTMsCisJMHgwMTU1LCAweDAxNTUsCisJ
MHgwMTU3LCAweDAxNTcsCisJMHgwMTU5LCAweDAxNTksCisJMHgwMTViLCAweDAxNWIsCisJMHgw
MTVkLCAweDAxNWQsCisJMHgwMTVmLCAweDAxNWYsCisJMHgwMTYxLCAweDAxNjEsCisJMHgwMTYz
LCAweDAxNjMsCisJMHgwMTY1LCAweDAxNjUsCisJMHgwMTY3LCAweDAxNjcsCisJMHgwMTY5LCAw
eDAxNjksCisJMHgwMTZiLCAweDAxNmIsCisJMHgwMTZkLCAweDAxNmQsCisJMHgwMTZmLCAweDAx
NmYsCisJMHgwMTcxLCAweDAxNzEsCisJMHgwMTczLCAweDAxNzMsCisJMHgwMTc1LCAweDAxNzUs
CisJMHgwMTc3LCAweDAxNzcsCisJMHgwMTdhLCAweDAxN2EsCisJMHgwMTdjLCAweDAxN2MsCisJ
MHgwMTdlLCAweDAxODAsCisJMHgwMTgzLCAweDAxODMsCisJMHgwMTg1LCAweDAxODUsCisJMHgw
MTg4LCAweDAxODgsCisJMHgwMThjLCAweDAxOGQsCisJMHgwMTkyLCAweDAxOTIsCisJMHgwMTk1
LCAweDAxOTUsCisJMHgwMTk5LCAweDAxOWIsCisJMHgwMTllLCAweDAxOWUsCisJMHgwMWExLCAw
eDAxYTEsCisJMHgwMWEzLCAweDAxYTMsCisJMHgwMWE1LCAweDAxYTUsCisJMHgwMWE4LCAweDAx
YTgsCisJMHgwMWFhLCAweDAxYWIsCisJMHgwMWFkLCAweDAxYWQsCisJMHgwMWIwLCAweDAxYjAs
CisJMHgwMWI0LCAweDAxYjQsCisJMHgwMWI2LCAweDAxYjYsCisJMHgwMWI5LCAweDAxYmEsCisJ
MHgwMWJkLCAweDAxYmYsCisJMHgwMWM2LCAweDAxYzYsCisJMHgwMWM5LCAweDAxYzksCisJMHgw
MWNjLCAweDAxY2MsCisJMHgwMWNlLCAweDAxY2UsCisJMHgwMWQwLCAweDAxZDAsCisJMHgwMWQy
LCAweDAxZDIsCisJMHgwMWQ0LCAweDAxZDQsCisJMHgwMWQ2LCAweDAxZDYsCisJMHgwMWQ4LCAw
eDAxZDgsCisJMHgwMWRhLCAweDAxZGEsCisJMHgwMWRjLCAweDAxZGQsCisJMHgwMWRmLCAweDAx
ZGYsCisJMHgwMWUxLCAweDAxZTEsCisJMHgwMWUzLCAweDAxZTMsCisJMHgwMWU1LCAweDAxZTUs
CisJMHgwMWU3LCAweDAxZTcsCisJMHgwMWU5LCAweDAxZTksCisJMHgwMWViLCAweDAxZWIsCisJ
MHgwMWVkLCAweDAxZWQsCisJMHgwMWVmLCAweDAxZjAsCisJMHgwMWYzLCAweDAxZjMsCisJMHgw
MWY1LCAweDAxZjUsCisJMHgwMWY5LCAweDAxZjksCisJMHgwMWZiLCAweDAxZmIsCisJMHgwMWZk
LCAweDAxZmQsCisJMHgwMWZmLCAweDAxZmYsCisJMHgwMjAxLCAweDAyMDEsCisJMHgwMjAzLCAw
eDAyMDMsCisJMHgwMjA1LCAweDAyMDUsCisJMHgwMjA3LCAweDAyMDcsCisJMHgwMjA5LCAweDAy
MDksCisJMHgwMjBiLCAweDAyMGIsCisJMHgwMjBkLCAweDAyMGQsCisJMHgwMjBmLCAweDAyMGYs
CisJMHgwMjExLCAweDAyMTEsCisJMHgwMjEzLCAweDAyMTMsCisJMHgwMjE1LCAweDAyMTUsCisJ
MHgwMjE3LCAweDAyMTcsCisJMHgwMjE5LCAweDAyMTksCisJMHgwMjFiLCAweDAyMWIsCisJMHgw
MjFkLCAweDAyMWQsCisJMHgwMjFmLCAweDAyMWYsCisJMHgwMjIxLCAweDAyMjEsCisJMHgwMjIz
LCAweDAyMjMsCisJMHgwMjI1LCAweDAyMjUsCisJMHgwMjI3LCAweDAyMjcsCisJMHgwMjI5LCAw
eDAyMjksCisJMHgwMjJiLCAweDAyMmIsCisJMHgwMjJkLCAweDAyMmQsCisJMHgwMjJmLCAweDAy
MmYsCisJMHgwMjMxLCAweDAyMzEsCisJMHgwMjMzLCAweDAyMzksCisJMHgwMjNjLCAweDAyM2Ms
CisJMHgwMjNmLCAweDAyNDAsCisJMHgwMjQyLCAweDAyNDIsCisJMHgwMjQ3LCAweDAyNDcsCisJ
MHgwMjQ5LCAweDAyNDksCisJMHgwMjRiLCAweDAyNGIsCisJMHgwMjRkLCAweDAyNGQsCisJMHgw
MjRmLCAweDAyOTMsCisJMHgwMjk1LCAweDAyYWYsCisJMHgwMzcxLCAweDAzNzEsCisJMHgwMzcz
LCAweDAzNzMsCisJMHgwMzc3LCAweDAzNzcsCisJMHgwMzdiLCAweDAzN2QsCisJMHgwMzkwLCAw
eDAzOTAsCisJMHgwM2FjLCAweDAzY2UsCisJMHgwM2QwLCAweDAzZDEsCisJMHgwM2Q1LCAweDAz
ZDcsCisJMHgwM2Q5LCAweDAzZDksCisJMHgwM2RiLCAweDAzZGIsCisJMHgwM2RkLCAweDAzZGQs
CisJMHgwM2RmLCAweDAzZGYsCisJMHgwM2UxLCAweDAzZTEsCisJMHgwM2UzLCAweDAzZTMsCisJ
MHgwM2U1LCAweDAzZTUsCisJMHgwM2U3LCAweDAzZTcsCisJMHgwM2U5LCAweDAzZTksCisJMHgw
M2ViLCAweDAzZWIsCisJMHgwM2VkLCAweDAzZWQsCisJMHgwM2VmLCAweDAzZjMsCisJMHgwM2Y1
LCAweDAzZjUsCisJMHgwM2Y4LCAweDAzZjgsCisJMHgwM2ZiLCAweDAzZmMsCisJMHgwNDMwLCAw
eDA0NWYsCisJMHgwNDYxLCAweDA0NjEsCisJMHgwNDYzLCAweDA0NjMsCisJMHgwNDY1LCAweDA0
NjUsCisJMHgwNDY3LCAweDA0NjcsCisJMHgwNDY5LCAweDA0NjksCisJMHgwNDZiLCAweDA0NmIs
CisJMHgwNDZkLCAweDA0NmQsCisJMHgwNDZmLCAweDA0NmYsCisJMHgwNDcxLCAweDA0NzEsCisJ
MHgwNDczLCAweDA0NzMsCisJMHgwNDc1LCAweDA0NzUsCisJMHgwNDc3LCAweDA0NzcsCisJMHgw
NDc5LCAweDA0NzksCisJMHgwNDdiLCAweDA0N2IsCisJMHgwNDdkLCAweDA0N2QsCisJMHgwNDdm
LCAweDA0N2YsCisJMHgwNDgxLCAweDA0ODEsCisJMHgwNDhiLCAweDA0OGIsCisJMHgwNDhkLCAw
eDA0OGQsCisJMHgwNDhmLCAweDA0OGYsCisJMHgwNDkxLCAweDA0OTEsCisJMHgwNDkzLCAweDA0
OTMsCisJMHgwNDk1LCAweDA0OTUsCisJMHgwNDk3LCAweDA0OTcsCisJMHgwNDk5LCAweDA0OTks
CisJMHgwNDliLCAweDA0OWIsCisJMHgwNDlkLCAweDA0OWQsCisJMHgwNDlmLCAweDA0OWYsCisJ
MHgwNGExLCAweDA0YTEsCisJMHgwNGEzLCAweDA0YTMsCisJMHgwNGE1LCAweDA0YTUsCisJMHgw
NGE3LCAweDA0YTcsCisJMHgwNGE5LCAweDA0YTksCisJMHgwNGFiLCAweDA0YWIsCisJMHgwNGFk
LCAweDA0YWQsCisJMHgwNGFmLCAweDA0YWYsCisJMHgwNGIxLCAweDA0YjEsCisJMHgwNGIzLCAw
eDA0YjMsCisJMHgwNGI1LCAweDA0YjUsCisJMHgwNGI3LCAweDA0YjcsCisJMHgwNGI5LCAweDA0
YjksCisJMHgwNGJiLCAweDA0YmIsCisJMHgwNGJkLCAweDA0YmQsCisJMHgwNGJmLCAweDA0YmYs
CisJMHgwNGMyLCAweDA0YzIsCisJMHgwNGM0LCAweDA0YzQsCisJMHgwNGM2LCAweDA0YzYsCisJ
MHgwNGM4LCAweDA0YzgsCisJMHgwNGNhLCAweDA0Y2EsCisJMHgwNGNjLCAweDA0Y2MsCisJMHgw
NGNlLCAweDA0Y2YsCisJMHgwNGQxLCAweDA0ZDEsCisJMHgwNGQzLCAweDA0ZDMsCisJMHgwNGQ1
LCAweDA0ZDUsCisJMHgwNGQ3LCAweDA0ZDcsCisJMHgwNGQ5LCAweDA0ZDksCisJMHgwNGRiLCAw
eDA0ZGIsCisJMHgwNGRkLCAweDA0ZGQsCisJMHgwNGRmLCAweDA0ZGYsCisJMHgwNGUxLCAweDA0
ZTEsCisJMHgwNGUzLCAweDA0ZTMsCisJMHgwNGU1LCAweDA0ZTUsCisJMHgwNGU3LCAweDA0ZTcs
CisJMHgwNGU5LCAweDA0ZTksCisJMHgwNGViLCAweDA0ZWIsCisJMHgwNGVkLCAweDA0ZWQsCisJ
MHgwNGVmLCAweDA0ZWYsCisJMHgwNGYxLCAweDA0ZjEsCisJMHgwNGYzLCAweDA0ZjMsCisJMHgw
NGY1LCAweDA0ZjUsCisJMHgwNGY3LCAweDA0ZjcsCisJMHgwNGY5LCAweDA0ZjksCisJMHgwNGZi
LCAweDA0ZmIsCisJMHgwNGZkLCAweDA0ZmQsCisJMHgwNGZmLCAweDA0ZmYsCisJMHgwNTAxLCAw
eDA1MDEsCisJMHgwNTAzLCAweDA1MDMsCisJMHgwNTA1LCAweDA1MDUsCisJMHgwNTA3LCAweDA1
MDcsCisJMHgwNTA5LCAweDA1MDksCisJMHgwNTBiLCAweDA1MGIsCisJMHgwNTBkLCAweDA1MGQs
CisJMHgwNTBmLCAweDA1MGYsCisJMHgwNTExLCAweDA1MTEsCisJMHgwNTEzLCAweDA1MTMsCisJ
MHgwNTE1LCAweDA1MTUsCisJMHgwNTE3LCAweDA1MTcsCisJMHgwNTE5LCAweDA1MTksCisJMHgw
NTFiLCAweDA1MWIsCisJMHgwNTFkLCAweDA1MWQsCisJMHgwNTFmLCAweDA1MWYsCisJMHgwNTIx
LCAweDA1MjEsCisJMHgwNTIzLCAweDA1MjMsCisJMHgwNTI1LCAweDA1MjUsCisJMHgwNTI3LCAw
eDA1MjcsCisJMHgwNTI5LCAweDA1MjksCisJMHgwNTJiLCAweDA1MmIsCisJMHgwNTJkLCAweDA1
MmQsCisJMHgwNTJmLCAweDA1MmYsCisJMHgwNTYwLCAweDA1ODgsCisJMHgxMGQwLCAweDEwZmEs
CisJMHgxMGZkLCAweDEwZmYsCisJMHgxM2Y4LCAweDEzZmQsCisJMHgxYzgwLCAweDFjODgsCisJ
MHgxZDAwLCAweDFkMmIsCisJMHgxZDZiLCAweDFkNzcsCisJMHgxZDc5LCAweDFkOWEsCisJMHgx
ZTAxLCAweDFlMDEsCisJMHgxZTAzLCAweDFlMDMsCisJMHgxZTA1LCAweDFlMDUsCisJMHgxZTA3
LCAweDFlMDcsCisJMHgxZTA5LCAweDFlMDksCisJMHgxZTBiLCAweDFlMGIsCisJMHgxZTBkLCAw
eDFlMGQsCisJMHgxZTBmLCAweDFlMGYsCisJMHgxZTExLCAweDFlMTEsCisJMHgxZTEzLCAweDFl
MTMsCisJMHgxZTE1LCAweDFlMTUsCisJMHgxZTE3LCAweDFlMTcsCisJMHgxZTE5LCAweDFlMTks
CisJMHgxZTFiLCAweDFlMWIsCisJMHgxZTFkLCAweDFlMWQsCisJMHgxZTFmLCAweDFlMWYsCisJ
MHgxZTIxLCAweDFlMjEsCisJMHgxZTIzLCAweDFlMjMsCisJMHgxZTI1LCAweDFlMjUsCisJMHgx
ZTI3LCAweDFlMjcsCisJMHgxZTI5LCAweDFlMjksCisJMHgxZTJiLCAweDFlMmIsCisJMHgxZTJk
LCAweDFlMmQsCisJMHgxZTJmLCAweDFlMmYsCisJMHgxZTMxLCAweDFlMzEsCisJMHgxZTMzLCAw
eDFlMzMsCisJMHgxZTM1LCAweDFlMzUsCisJMHgxZTM3LCAweDFlMzcsCisJMHgxZTM5LCAweDFl
MzksCisJMHgxZTNiLCAweDFlM2IsCisJMHgxZTNkLCAweDFlM2QsCisJMHgxZTNmLCAweDFlM2Ys
CisJMHgxZTQxLCAweDFlNDEsCisJMHgxZTQzLCAweDFlNDMsCisJMHgxZTQ1LCAweDFlNDUsCisJ
MHgxZTQ3LCAweDFlNDcsCisJMHgxZTQ5LCAweDFlNDksCisJMHgxZTRiLCAweDFlNGIsCisJMHgx
ZTRkLCAweDFlNGQsCisJMHgxZTRmLCAweDFlNGYsCisJMHgxZTUxLCAweDFlNTEsCisJMHgxZTUz
LCAweDFlNTMsCisJMHgxZTU1LCAweDFlNTUsCisJMHgxZTU3LCAweDFlNTcsCisJMHgxZTU5LCAw
eDFlNTksCisJMHgxZTViLCAweDFlNWIsCisJMHgxZTVkLCAweDFlNWQsCisJMHgxZTVmLCAweDFl
NWYsCisJMHgxZTYxLCAweDFlNjEsCisJMHgxZTYzLCAweDFlNjMsCisJMHgxZTY1LCAweDFlNjUs
CisJMHgxZTY3LCAweDFlNjcsCisJMHgxZTY5LCAweDFlNjksCisJMHgxZTZiLCAweDFlNmIsCisJ
MHgxZTZkLCAweDFlNmQsCisJMHgxZTZmLCAweDFlNmYsCisJMHgxZTcxLCAweDFlNzEsCisJMHgx
ZTczLCAweDFlNzMsCisJMHgxZTc1LCAweDFlNzUsCisJMHgxZTc3LCAweDFlNzcsCisJMHgxZTc5
LCAweDFlNzksCisJMHgxZTdiLCAweDFlN2IsCisJMHgxZTdkLCAweDFlN2QsCisJMHgxZTdmLCAw
eDFlN2YsCisJMHgxZTgxLCAweDFlODEsCisJMHgxZTgzLCAweDFlODMsCisJMHgxZTg1LCAweDFl
ODUsCisJMHgxZTg3LCAweDFlODcsCisJMHgxZTg5LCAweDFlODksCisJMHgxZThiLCAweDFlOGIs
CisJMHgxZThkLCAweDFlOGQsCisJMHgxZThmLCAweDFlOGYsCisJMHgxZTkxLCAweDFlOTEsCisJ
MHgxZTkzLCAweDFlOTMsCisJMHgxZTk1LCAweDFlOWQsCisJMHgxZTlmLCAweDFlOWYsCisJMHgx
ZWExLCAweDFlYTEsCisJMHgxZWEzLCAweDFlYTMsCisJMHgxZWE1LCAweDFlYTUsCisJMHgxZWE3
LCAweDFlYTcsCisJMHgxZWE5LCAweDFlYTksCisJMHgxZWFiLCAweDFlYWIsCisJMHgxZWFkLCAw
eDFlYWQsCisJMHgxZWFmLCAweDFlYWYsCisJMHgxZWIxLCAweDFlYjEsCisJMHgxZWIzLCAweDFl
YjMsCisJMHgxZWI1LCAweDFlYjUsCisJMHgxZWI3LCAweDFlYjcsCisJMHgxZWI5LCAweDFlYjks
CisJMHgxZWJiLCAweDFlYmIsCisJMHgxZWJkLCAweDFlYmQsCisJMHgxZWJmLCAweDFlYmYsCisJ
MHgxZWMxLCAweDFlYzEsCisJMHgxZWMzLCAweDFlYzMsCisJMHgxZWM1LCAweDFlYzUsCisJMHgx
ZWM3LCAweDFlYzcsCisJMHgxZWM5LCAweDFlYzksCisJMHgxZWNiLCAweDFlY2IsCisJMHgxZWNk
LCAweDFlY2QsCisJMHgxZWNmLCAweDFlY2YsCisJMHgxZWQxLCAweDFlZDEsCisJMHgxZWQzLCAw
eDFlZDMsCisJMHgxZWQ1LCAweDFlZDUsCisJMHgxZWQ3LCAweDFlZDcsCisJMHgxZWQ5LCAweDFl
ZDksCisJMHgxZWRiLCAweDFlZGIsCisJMHgxZWRkLCAweDFlZGQsCisJMHgxZWRmLCAweDFlZGYs
CisJMHgxZWUxLCAweDFlZTEsCisJMHgxZWUzLCAweDFlZTMsCisJMHgxZWU1LCAweDFlZTUsCisJ
MHgxZWU3LCAweDFlZTcsCisJMHgxZWU5LCAweDFlZTksCisJMHgxZWViLCAweDFlZWIsCisJMHgx
ZWVkLCAweDFlZWQsCisJMHgxZWVmLCAweDFlZWYsCisJMHgxZWYxLCAweDFlZjEsCisJMHgxZWYz
LCAweDFlZjMsCisJMHgxZWY1LCAweDFlZjUsCisJMHgxZWY3LCAweDFlZjcsCisJMHgxZWY5LCAw
eDFlZjksCisJMHgxZWZiLCAweDFlZmIsCisJMHgxZWZkLCAweDFlZmQsCisJMHgxZWZmLCAweDFm
MDcsCisJMHgxZjEwLCAweDFmMTUsCisJMHgxZjIwLCAweDFmMjcsCisJMHgxZjMwLCAweDFmMzcs
CisJMHgxZjQwLCAweDFmNDUsCisJMHgxZjUwLCAweDFmNTcsCisJMHgxZjYwLCAweDFmNjcsCisJ
MHgxZjcwLCAweDFmN2QsCisJMHgxZjgwLCAweDFmODcsCisJMHgxZjkwLCAweDFmOTcsCisJMHgx
ZmEwLCAweDFmYTcsCisJMHgxZmIwLCAweDFmYjQsCisJMHgxZmI2LCAweDFmYjcsCisJMHgxZmJl
LCAweDFmYmUsCisJMHgxZmMyLCAweDFmYzQsCisJMHgxZmM2LCAweDFmYzcsCisJMHgxZmQwLCAw
eDFmZDMsCisJMHgxZmQ2LCAweDFmZDcsCisJMHgxZmUwLCAweDFmZTcsCisJMHgxZmYyLCAweDFm
ZjQsCisJMHgxZmY2LCAweDFmZjcsCisJMHgyMTBhLCAweDIxMGEsCisJMHgyMTBlLCAweDIxMGYs
CisJMHgyMTEzLCAweDIxMTMsCisJMHgyMTJmLCAweDIxMmYsCisJMHgyMTM0LCAweDIxMzQsCisJ
MHgyMTM5LCAweDIxMzksCisJMHgyMTNjLCAweDIxM2QsCisJMHgyMTQ2LCAweDIxNDksCisJMHgy
MTRlLCAweDIxNGUsCisJMHgyMTg0LCAweDIxODQsCisJMHgyYzMwLCAweDJjNWUsCisJMHgyYzYx
LCAweDJjNjEsCisJMHgyYzY1LCAweDJjNjYsCisJMHgyYzY4LCAweDJjNjgsCisJMHgyYzZhLCAw
eDJjNmEsCisJMHgyYzZjLCAweDJjNmMsCisJMHgyYzcxLCAweDJjNzEsCisJMHgyYzczLCAweDJj
NzQsCisJMHgyYzc2LCAweDJjN2IsCisJMHgyYzgxLCAweDJjODEsCisJMHgyYzgzLCAweDJjODMs
CisJMHgyYzg1LCAweDJjODUsCisJMHgyYzg3LCAweDJjODcsCisJMHgyYzg5LCAweDJjODksCisJ
MHgyYzhiLCAweDJjOGIsCisJMHgyYzhkLCAweDJjOGQsCisJMHgyYzhmLCAweDJjOGYsCisJMHgy
YzkxLCAweDJjOTEsCisJMHgyYzkzLCAweDJjOTMsCisJMHgyYzk1LCAweDJjOTUsCisJMHgyYzk3
LCAweDJjOTcsCisJMHgyYzk5LCAweDJjOTksCisJMHgyYzliLCAweDJjOWIsCisJMHgyYzlkLCAw
eDJjOWQsCisJMHgyYzlmLCAweDJjOWYsCisJMHgyY2ExLCAweDJjYTEsCisJMHgyY2EzLCAweDJj
YTMsCisJMHgyY2E1LCAweDJjYTUsCisJMHgyY2E3LCAweDJjYTcsCisJMHgyY2E5LCAweDJjYTks
CisJMHgyY2FiLCAweDJjYWIsCisJMHgyY2FkLCAweDJjYWQsCisJMHgyY2FmLCAweDJjYWYsCisJ
MHgyY2IxLCAweDJjYjEsCisJMHgyY2IzLCAweDJjYjMsCisJMHgyY2I1LCAweDJjYjUsCisJMHgy
Y2I3LCAweDJjYjcsCisJMHgyY2I5LCAweDJjYjksCisJMHgyY2JiLCAweDJjYmIsCisJMHgyY2Jk
LCAweDJjYmQsCisJMHgyY2JmLCAweDJjYmYsCisJMHgyY2MxLCAweDJjYzEsCisJMHgyY2MzLCAw
eDJjYzMsCisJMHgyY2M1LCAweDJjYzUsCisJMHgyY2M3LCAweDJjYzcsCisJMHgyY2M5LCAweDJj
YzksCisJMHgyY2NiLCAweDJjY2IsCisJMHgyY2NkLCAweDJjY2QsCisJMHgyY2NmLCAweDJjY2Ys
CisJMHgyY2QxLCAweDJjZDEsCisJMHgyY2QzLCAweDJjZDMsCisJMHgyY2Q1LCAweDJjZDUsCisJ
MHgyY2Q3LCAweDJjZDcsCisJMHgyY2Q5LCAweDJjZDksCisJMHgyY2RiLCAweDJjZGIsCisJMHgy
Y2RkLCAweDJjZGQsCisJMHgyY2RmLCAweDJjZGYsCisJMHgyY2UxLCAweDJjZTEsCisJMHgyY2Uz
LCAweDJjZTQsCisJMHgyY2VjLCAweDJjZWMsCisJMHgyY2VlLCAweDJjZWUsCisJMHgyY2YzLCAw
eDJjZjMsCisJMHgyZDAwLCAweDJkMjUsCisJMHgyZDI3LCAweDJkMjcsCisJMHgyZDJkLCAweDJk
MmQsCisJMHhhNjQxLCAweGE2NDEsCisJMHhhNjQzLCAweGE2NDMsCisJMHhhNjQ1LCAweGE2NDUs
CisJMHhhNjQ3LCAweGE2NDcsCisJMHhhNjQ5LCAweGE2NDksCisJMHhhNjRiLCAweGE2NGIsCisJ
MHhhNjRkLCAweGE2NGQsCisJMHhhNjRmLCAweGE2NGYsCisJMHhhNjUxLCAweGE2NTEsCisJMHhh
NjUzLCAweGE2NTMsCisJMHhhNjU1LCAweGE2NTUsCisJMHhhNjU3LCAweGE2NTcsCisJMHhhNjU5
LCAweGE2NTksCisJMHhhNjViLCAweGE2NWIsCisJMHhhNjVkLCAweGE2NWQsCisJMHhhNjVmLCAw
eGE2NWYsCisJMHhhNjYxLCAweGE2NjEsCisJMHhhNjYzLCAweGE2NjMsCisJMHhhNjY1LCAweGE2
NjUsCisJMHhhNjY3LCAweGE2NjcsCisJMHhhNjY5LCAweGE2NjksCisJMHhhNjZiLCAweGE2NmIs
CisJMHhhNjZkLCAweGE2NmQsCisJMHhhNjgxLCAweGE2ODEsCisJMHhhNjgzLCAweGE2ODMsCisJ
MHhhNjg1LCAweGE2ODUsCisJMHhhNjg3LCAweGE2ODcsCisJMHhhNjg5LCAweGE2ODksCisJMHhh
NjhiLCAweGE2OGIsCisJMHhhNjhkLCAweGE2OGQsCisJMHhhNjhmLCAweGE2OGYsCisJMHhhNjkx
LCAweGE2OTEsCisJMHhhNjkzLCAweGE2OTMsCisJMHhhNjk1LCAweGE2OTUsCisJMHhhNjk3LCAw
eGE2OTcsCisJMHhhNjk5LCAweGE2OTksCisJMHhhNjliLCAweGE2OWIsCisJMHhhNzIzLCAweGE3
MjMsCisJMHhhNzI1LCAweGE3MjUsCisJMHhhNzI3LCAweGE3MjcsCisJMHhhNzI5LCAweGE3Mjks
CisJMHhhNzJiLCAweGE3MmIsCisJMHhhNzJkLCAweGE3MmQsCisJMHhhNzJmLCAweGE3MzEsCisJ
MHhhNzMzLCAweGE3MzMsCisJMHhhNzM1LCAweGE3MzUsCisJMHhhNzM3LCAweGE3MzcsCisJMHhh
NzM5LCAweGE3MzksCisJMHhhNzNiLCAweGE3M2IsCisJMHhhNzNkLCAweGE3M2QsCisJMHhhNzNm
LCAweGE3M2YsCisJMHhhNzQxLCAweGE3NDEsCisJMHhhNzQzLCAweGE3NDMsCisJMHhhNzQ1LCAw
eGE3NDUsCisJMHhhNzQ3LCAweGE3NDcsCisJMHhhNzQ5LCAweGE3NDksCisJMHhhNzRiLCAweGE3
NGIsCisJMHhhNzRkLCAweGE3NGQsCisJMHhhNzRmLCAweGE3NGYsCisJMHhhNzUxLCAweGE3NTEs
CisJMHhhNzUzLCAweGE3NTMsCisJMHhhNzU1LCAweGE3NTUsCisJMHhhNzU3LCAweGE3NTcsCisJ
MHhhNzU5LCAweGE3NTksCisJMHhhNzViLCAweGE3NWIsCisJMHhhNzVkLCAweGE3NWQsCisJMHhh
NzVmLCAweGE3NWYsCisJMHhhNzYxLCAweGE3NjEsCisJMHhhNzYzLCAweGE3NjMsCisJMHhhNzY1
LCAweGE3NjUsCisJMHhhNzY3LCAweGE3NjcsCisJMHhhNzY5LCAweGE3NjksCisJMHhhNzZiLCAw
eGE3NmIsCisJMHhhNzZkLCAweGE3NmQsCisJMHhhNzZmLCAweGE3NmYsCisJMHhhNzcxLCAweGE3
NzgsCisJMHhhNzdhLCAweGE3N2EsCisJMHhhNzdjLCAweGE3N2MsCisJMHhhNzdmLCAweGE3N2Ys
CisJMHhhNzgxLCAweGE3ODEsCisJMHhhNzgzLCAweGE3ODMsCisJMHhhNzg1LCAweGE3ODUsCisJ
MHhhNzg3LCAweGE3ODcsCisJMHhhNzhjLCAweGE3OGMsCisJMHhhNzhlLCAweGE3OGUsCisJMHhh
NzkxLCAweGE3OTEsCisJMHhhNzkzLCAweGE3OTUsCisJMHhhNzk3LCAweGE3OTcsCisJMHhhNzk5
LCAweGE3OTksCisJMHhhNzliLCAweGE3OWIsCisJMHhhNzlkLCAweGE3OWQsCisJMHhhNzlmLCAw
eGE3OWYsCisJMHhhN2ExLCAweGE3YTEsCisJMHhhN2EzLCAweGE3YTMsCisJMHhhN2E1LCAweGE3
YTUsCisJMHhhN2E3LCAweGE3YTcsCisJMHhhN2E5LCAweGE3YTksCisJMHhhN2FmLCAweGE3YWYs
CisJMHhhN2I1LCAweGE3YjUsCisJMHhhN2I3LCAweGE3YjcsCisJMHhhN2I5LCAweGE3YjksCisJ
MHhhN2JiLCAweGE3YmIsCisJMHhhN2JkLCAweGE3YmQsCisJMHhhN2JmLCAweGE3YmYsCisJMHhh
N2MzLCAweGE3YzMsCisJMHhhN2ZhLCAweGE3ZmEsCisJMHhhYjMwLCAweGFiNWEsCisJMHhhYjYw
LCAweGFiNjcsCisJMHhhYjcwLCAweGFiYmYsCisJMHhmYjAwLCAweGZiMDYsCisJMHhmYjEzLCAw
eGZiMTcsCisJMHhmZjQxLCAweGZmNWEsCisJMHgxMDQyOCwgMHgxMDQ0ZiwKKwkweDEwNGQ4LCAw
eDEwNGZiLAorCTB4MTBjYzAsIDB4MTBjZjIsCisJMHgxMThjMCwgMHgxMThkZiwKKwkweDE2ZTYw
LCAweDE2ZTdmLAorCTB4MWQ0MWEsIDB4MWQ0MzMsCisJMHgxZDQ0ZSwgMHgxZDQ1NCwKKwkweDFk
NDU2LCAweDFkNDY3LAorCTB4MWQ0ODIsIDB4MWQ0OWIsCisJMHgxZDRiNiwgMHgxZDRiOSwKKwkw
eDFkNGJiLCAweDFkNGJiLAorCTB4MWQ0YmQsIDB4MWQ0YzMsCisJMHgxZDRjNSwgMHgxZDRjZiwK
KwkweDFkNGVhLCAweDFkNTAzLAorCTB4MWQ1MWUsIDB4MWQ1MzcsCisJMHgxZDU1MiwgMHgxZDU2
YiwKKwkweDFkNTg2LCAweDFkNTlmLAorCTB4MWQ1YmEsIDB4MWQ1ZDMsCisJMHgxZDVlZSwgMHgx
ZDYwNywKKwkweDFkNjIyLCAweDFkNjNiLAorCTB4MWQ2NTYsIDB4MWQ2NmYsCisJMHgxZDY4YSwg
MHgxZDZhNSwKKwkweDFkNmMyLCAweDFkNmRhLAorCTB4MWQ2ZGMsIDB4MWQ2ZTEsCisJMHgxZDZm
YywgMHgxZDcxNCwKKwkweDFkNzE2LCAweDFkNzFiLAorCTB4MWQ3MzYsIDB4MWQ3NGUsCisJMHgx
ZDc1MCwgMHgxZDc1NSwKKwkweDFkNzcwLCAweDFkNzg4LAorCTB4MWQ3OGEsIDB4MWQ3OGYsCisJ
MHgxZDdhYSwgMHgxZDdjMiwKKwkweDFkN2M0LCAweDFkN2M5LAorCTB4MWQ3Y2IsIDB4MWQ3Y2Is
CisJMHgxZTkyMiwgMHgxZTk0MywKK307IC8qIENSX0xsICovCisKKy8qICdMbSc6IEdlbmVyYWwg
Q2F0ZWdvcnkgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0xtW10gPSB7CisJNjAs
CisJMHgwMmIwLCAweDAyYzEsCisJMHgwMmM2LCAweDAyZDEsCisJMHgwMmUwLCAweDAyZTQsCisJ
MHgwMmVjLCAweDAyZWMsCisJMHgwMmVlLCAweDAyZWUsCisJMHgwMzc0LCAweDAzNzQsCisJMHgw
MzdhLCAweDAzN2EsCisJMHgwNTU5LCAweDA1NTksCisJMHgwNjQwLCAweDA2NDAsCisJMHgwNmU1
LCAweDA2ZTYsCisJMHgwN2Y0LCAweDA3ZjUsCisJMHgwN2ZhLCAweDA3ZmEsCisJMHgwODFhLCAw
eDA4MWEsCisJMHgwODI0LCAweDA4MjQsCisJMHgwODI4LCAweDA4MjgsCisJMHgwOTcxLCAweDA5
NzEsCisJMHgwZTQ2LCAweDBlNDYsCisJMHgwZWM2LCAweDBlYzYsCisJMHgxMGZjLCAweDEwZmMs
CisJMHgxN2Q3LCAweDE3ZDcsCisJMHgxODQzLCAweDE4NDMsCisJMHgxYWE3LCAweDFhYTcsCisJ
MHgxYzc4LCAweDFjN2QsCisJMHgxZDJjLCAweDFkNmEsCisJMHgxZDc4LCAweDFkNzgsCisJMHgx
ZDliLCAweDFkYmYsCisJMHgyMDcxLCAweDIwNzEsCisJMHgyMDdmLCAweDIwN2YsCisJMHgyMDkw
LCAweDIwOWMsCisJMHgyYzdjLCAweDJjN2QsCisJMHgyZDZmLCAweDJkNmYsCisJMHgyZTJmLCAw
eDJlMmYsCisJMHgzMDA1LCAweDMwMDUsCisJMHgzMDMxLCAweDMwMzUsCisJMHgzMDNiLCAweDMw
M2IsCisJMHgzMDlkLCAweDMwOWUsCisJMHgzMGZjLCAweDMwZmUsCisJMHhhMDE1LCAweGEwMTUs
CisJMHhhNGY4LCAweGE0ZmQsCisJMHhhNjBjLCAweGE2MGMsCisJMHhhNjdmLCAweGE2N2YsCisJ
MHhhNjljLCAweGE2OWQsCisJMHhhNzE3LCAweGE3MWYsCisJMHhhNzcwLCAweGE3NzAsCisJMHhh
Nzg4LCAweGE3ODgsCisJMHhhN2Y4LCAweGE3ZjksCisJMHhhOWNmLCAweGE5Y2YsCisJMHhhOWU2
LCAweGE5ZTYsCisJMHhhYTcwLCAweGFhNzAsCisJMHhhYWRkLCAweGFhZGQsCisJMHhhYWYzLCAw
eGFhZjQsCisJMHhhYjVjLCAweGFiNWYsCisJMHhmZjcwLCAweGZmNzAsCisJMHhmZjllLCAweGZm
OWYsCisJMHgxNmI0MCwgMHgxNmI0MywKKwkweDE2ZjkzLCAweDE2ZjlmLAorCTB4MTZmZTAsIDB4
MTZmZTEsCisJMHgxNmZlMywgMHgxNmZlMywKKwkweDFlMTM3LCAweDFlMTNkLAorCTB4MWU5NGIs
IDB4MWU5NGIsCit9OyAvKiBDUl9MbSAqLworCisvKiAnTG8nOiBHZW5lcmFsIENhdGVnb3J5ICov
CitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Mb1tdID0geworCTQ3NiwKKwkweDAwYWEs
IDB4MDBhYSwKKwkweDAwYmEsIDB4MDBiYSwKKwkweDAxYmIsIDB4MDFiYiwKKwkweDAxYzAsIDB4
MDFjMywKKwkweDAyOTQsIDB4MDI5NCwKKwkweDA1ZDAsIDB4MDVlYSwKKwkweDA1ZWYsIDB4MDVm
MiwKKwkweDA2MjAsIDB4MDYzZiwKKwkweDA2NDEsIDB4MDY0YSwKKwkweDA2NmUsIDB4MDY2ZiwK
KwkweDA2NzEsIDB4MDZkMywKKwkweDA2ZDUsIDB4MDZkNSwKKwkweDA2ZWUsIDB4MDZlZiwKKwkw
eDA2ZmEsIDB4MDZmYywKKwkweDA2ZmYsIDB4MDZmZiwKKwkweDA3MTAsIDB4MDcxMCwKKwkweDA3
MTIsIDB4MDcyZiwKKwkweDA3NGQsIDB4MDdhNSwKKwkweDA3YjEsIDB4MDdiMSwKKwkweDA3Y2Es
IDB4MDdlYSwKKwkweDA4MDAsIDB4MDgxNSwKKwkweDA4NDAsIDB4MDg1OCwKKwkweDA4NjAsIDB4
MDg2YSwKKwkweDA4YTAsIDB4MDhiNCwKKwkweDA4YjYsIDB4MDhiZCwKKwkweDA5MDQsIDB4MDkz
OSwKKwkweDA5M2QsIDB4MDkzZCwKKwkweDA5NTAsIDB4MDk1MCwKKwkweDA5NTgsIDB4MDk2MSwK
KwkweDA5NzIsIDB4MDk4MCwKKwkweDA5ODUsIDB4MDk4YywKKwkweDA5OGYsIDB4MDk5MCwKKwkw
eDA5OTMsIDB4MDlhOCwKKwkweDA5YWEsIDB4MDliMCwKKwkweDA5YjIsIDB4MDliMiwKKwkweDA5
YjYsIDB4MDliOSwKKwkweDA5YmQsIDB4MDliZCwKKwkweDA5Y2UsIDB4MDljZSwKKwkweDA5ZGMs
IDB4MDlkZCwKKwkweDA5ZGYsIDB4MDllMSwKKwkweDA5ZjAsIDB4MDlmMSwKKwkweDA5ZmMsIDB4
MDlmYywKKwkweDBhMDUsIDB4MGEwYSwKKwkweDBhMGYsIDB4MGExMCwKKwkweDBhMTMsIDB4MGEy
OCwKKwkweDBhMmEsIDB4MGEzMCwKKwkweDBhMzIsIDB4MGEzMywKKwkweDBhMzUsIDB4MGEzNiwK
KwkweDBhMzgsIDB4MGEzOSwKKwkweDBhNTksIDB4MGE1YywKKwkweDBhNWUsIDB4MGE1ZSwKKwkw
eDBhNzIsIDB4MGE3NCwKKwkweDBhODUsIDB4MGE4ZCwKKwkweDBhOGYsIDB4MGE5MSwKKwkweDBh
OTMsIDB4MGFhOCwKKwkweDBhYWEsIDB4MGFiMCwKKwkweDBhYjIsIDB4MGFiMywKKwkweDBhYjUs
IDB4MGFiOSwKKwkweDBhYmQsIDB4MGFiZCwKKwkweDBhZDAsIDB4MGFkMCwKKwkweDBhZTAsIDB4
MGFlMSwKKwkweDBhZjksIDB4MGFmOSwKKwkweDBiMDUsIDB4MGIwYywKKwkweDBiMGYsIDB4MGIx
MCwKKwkweDBiMTMsIDB4MGIyOCwKKwkweDBiMmEsIDB4MGIzMCwKKwkweDBiMzIsIDB4MGIzMywK
KwkweDBiMzUsIDB4MGIzOSwKKwkweDBiM2QsIDB4MGIzZCwKKwkweDBiNWMsIDB4MGI1ZCwKKwkw
eDBiNWYsIDB4MGI2MSwKKwkweDBiNzEsIDB4MGI3MSwKKwkweDBiODMsIDB4MGI4MywKKwkweDBi
ODUsIDB4MGI4YSwKKwkweDBiOGUsIDB4MGI5MCwKKwkweDBiOTIsIDB4MGI5NSwKKwkweDBiOTks
IDB4MGI5YSwKKwkweDBiOWMsIDB4MGI5YywKKwkweDBiOWUsIDB4MGI5ZiwKKwkweDBiYTMsIDB4
MGJhNCwKKwkweDBiYTgsIDB4MGJhYSwKKwkweDBiYWUsIDB4MGJiOSwKKwkweDBiZDAsIDB4MGJk
MCwKKwkweDBjMDUsIDB4MGMwYywKKwkweDBjMGUsIDB4MGMxMCwKKwkweDBjMTIsIDB4MGMyOCwK
KwkweDBjMmEsIDB4MGMzOSwKKwkweDBjM2QsIDB4MGMzZCwKKwkweDBjNTgsIDB4MGM1YSwKKwkw
eDBjNjAsIDB4MGM2MSwKKwkweDBjODAsIDB4MGM4MCwKKwkweDBjODUsIDB4MGM4YywKKwkweDBj
OGUsIDB4MGM5MCwKKwkweDBjOTIsIDB4MGNhOCwKKwkweDBjYWEsIDB4MGNiMywKKwkweDBjYjUs
IDB4MGNiOSwKKwkweDBjYmQsIDB4MGNiZCwKKwkweDBjZGUsIDB4MGNkZSwKKwkweDBjZTAsIDB4
MGNlMSwKKwkweDBjZjEsIDB4MGNmMiwKKwkweDBkMDUsIDB4MGQwYywKKwkweDBkMGUsIDB4MGQx
MCwKKwkweDBkMTIsIDB4MGQzYSwKKwkweDBkM2QsIDB4MGQzZCwKKwkweDBkNGUsIDB4MGQ0ZSwK
KwkweDBkNTQsIDB4MGQ1NiwKKwkweDBkNWYsIDB4MGQ2MSwKKwkweDBkN2EsIDB4MGQ3ZiwKKwkw
eDBkODUsIDB4MGQ5NiwKKwkweDBkOWEsIDB4MGRiMSwKKwkweDBkYjMsIDB4MGRiYiwKKwkweDBk
YmQsIDB4MGRiZCwKKwkweDBkYzAsIDB4MGRjNiwKKwkweDBlMDEsIDB4MGUzMCwKKwkweDBlMzIs
IDB4MGUzMywKKwkweDBlNDAsIDB4MGU0NSwKKwkweDBlODEsIDB4MGU4MiwKKwkweDBlODQsIDB4
MGU4NCwKKwkweDBlODYsIDB4MGU4YSwKKwkweDBlOGMsIDB4MGVhMywKKwkweDBlYTUsIDB4MGVh
NSwKKwkweDBlYTcsIDB4MGViMCwKKwkweDBlYjIsIDB4MGViMywKKwkweDBlYmQsIDB4MGViZCwK
KwkweDBlYzAsIDB4MGVjNCwKKwkweDBlZGMsIDB4MGVkZiwKKwkweDBmMDAsIDB4MGYwMCwKKwkw
eDBmNDAsIDB4MGY0NywKKwkweDBmNDksIDB4MGY2YywKKwkweDBmODgsIDB4MGY4YywKKwkweDEw
MDAsIDB4MTAyYSwKKwkweDEwM2YsIDB4MTAzZiwKKwkweDEwNTAsIDB4MTA1NSwKKwkweDEwNWEs
IDB4MTA1ZCwKKwkweDEwNjEsIDB4MTA2MSwKKwkweDEwNjUsIDB4MTA2NiwKKwkweDEwNmUsIDB4
MTA3MCwKKwkweDEwNzUsIDB4MTA4MSwKKwkweDEwOGUsIDB4MTA4ZSwKKwkweDExMDAsIDB4MTI0
OCwKKwkweDEyNGEsIDB4MTI0ZCwKKwkweDEyNTAsIDB4MTI1NiwKKwkweDEyNTgsIDB4MTI1OCwK
KwkweDEyNWEsIDB4MTI1ZCwKKwkweDEyNjAsIDB4MTI4OCwKKwkweDEyOGEsIDB4MTI4ZCwKKwkw
eDEyOTAsIDB4MTJiMCwKKwkweDEyYjIsIDB4MTJiNSwKKwkweDEyYjgsIDB4MTJiZSwKKwkweDEy
YzAsIDB4MTJjMCwKKwkweDEyYzIsIDB4MTJjNSwKKwkweDEyYzgsIDB4MTJkNiwKKwkweDEyZDgs
IDB4MTMxMCwKKwkweDEzMTIsIDB4MTMxNSwKKwkweDEzMTgsIDB4MTM1YSwKKwkweDEzODAsIDB4
MTM4ZiwKKwkweDE0MDEsIDB4MTY2YywKKwkweDE2NmYsIDB4MTY3ZiwKKwkweDE2ODEsIDB4MTY5
YSwKKwkweDE2YTAsIDB4MTZlYSwKKwkweDE2ZjEsIDB4MTZmOCwKKwkweDE3MDAsIDB4MTcwYywK
KwkweDE3MGUsIDB4MTcxMSwKKwkweDE3MjAsIDB4MTczMSwKKwkweDE3NDAsIDB4MTc1MSwKKwkw
eDE3NjAsIDB4MTc2YywKKwkweDE3NmUsIDB4MTc3MCwKKwkweDE3ODAsIDB4MTdiMywKKwkweDE3
ZGMsIDB4MTdkYywKKwkweDE4MjAsIDB4MTg0MiwKKwkweDE4NDQsIDB4MTg3OCwKKwkweDE4ODAs
IDB4MTg4NCwKKwkweDE4ODcsIDB4MThhOCwKKwkweDE4YWEsIDB4MThhYSwKKwkweDE4YjAsIDB4
MThmNSwKKwkweDE5MDAsIDB4MTkxZSwKKwkweDE5NTAsIDB4MTk2ZCwKKwkweDE5NzAsIDB4MTk3
NCwKKwkweDE5ODAsIDB4MTlhYiwKKwkweDE5YjAsIDB4MTljOSwKKwkweDFhMDAsIDB4MWExNiwK
KwkweDFhMjAsIDB4MWE1NCwKKwkweDFiMDUsIDB4MWIzMywKKwkweDFiNDUsIDB4MWI0YiwKKwkw
eDFiODMsIDB4MWJhMCwKKwkweDFiYWUsIDB4MWJhZiwKKwkweDFiYmEsIDB4MWJlNSwKKwkweDFj
MDAsIDB4MWMyMywKKwkweDFjNGQsIDB4MWM0ZiwKKwkweDFjNWEsIDB4MWM3NywKKwkweDFjZTks
IDB4MWNlYywKKwkweDFjZWUsIDB4MWNmMywKKwkweDFjZjUsIDB4MWNmNiwKKwkweDFjZmEsIDB4
MWNmYSwKKwkweDIxMzUsIDB4MjEzOCwKKwkweDJkMzAsIDB4MmQ2NywKKwkweDJkODAsIDB4MmQ5
NiwKKwkweDJkYTAsIDB4MmRhNiwKKwkweDJkYTgsIDB4MmRhZSwKKwkweDJkYjAsIDB4MmRiNiwK
KwkweDJkYjgsIDB4MmRiZSwKKwkweDJkYzAsIDB4MmRjNiwKKwkweDJkYzgsIDB4MmRjZSwKKwkw
eDJkZDAsIDB4MmRkNiwKKwkweDJkZDgsIDB4MmRkZSwKKwkweDMwMDYsIDB4MzAwNiwKKwkweDMw
M2MsIDB4MzAzYywKKwkweDMwNDEsIDB4MzA5NiwKKwkweDMwOWYsIDB4MzA5ZiwKKwkweDMwYTEs
IDB4MzBmYSwKKwkweDMwZmYsIDB4MzBmZiwKKwkweDMxMDUsIDB4MzEyZiwKKwkweDMxMzEsIDB4
MzE4ZSwKKwkweDMxYTAsIDB4MzFiYSwKKwkweDMxZjAsIDB4MzFmZiwKKwkweDM0MDAsIDB4NGRi
NSwKKwkweDRlMDAsIDB4OWZlZiwKKwkweGEwMDAsIDB4YTAxNCwKKwkweGEwMTYsIDB4YTQ4YywK
KwkweGE0ZDAsIDB4YTRmNywKKwkweGE1MDAsIDB4YTYwYiwKKwkweGE2MTAsIDB4YTYxZiwKKwkw
eGE2MmEsIDB4YTYyYiwKKwkweGE2NmUsIDB4YTY2ZSwKKwkweGE2YTAsIDB4YTZlNSwKKwkweGE3
OGYsIDB4YTc4ZiwKKwkweGE3ZjcsIDB4YTdmNywKKwkweGE3ZmIsIDB4YTgwMSwKKwkweGE4MDMs
IDB4YTgwNSwKKwkweGE4MDcsIDB4YTgwYSwKKwkweGE4MGMsIDB4YTgyMiwKKwkweGE4NDAsIDB4
YTg3MywKKwkweGE4ODIsIDB4YThiMywKKwkweGE4ZjIsIDB4YThmNywKKwkweGE4ZmIsIDB4YThm
YiwKKwkweGE4ZmQsIDB4YThmZSwKKwkweGE5MGEsIDB4YTkyNSwKKwkweGE5MzAsIDB4YTk0NiwK
KwkweGE5NjAsIDB4YTk3YywKKwkweGE5ODQsIDB4YTliMiwKKwkweGE5ZTAsIDB4YTllNCwKKwkw
eGE5ZTcsIDB4YTllZiwKKwkweGE5ZmEsIDB4YTlmZSwKKwkweGFhMDAsIDB4YWEyOCwKKwkweGFh
NDAsIDB4YWE0MiwKKwkweGFhNDQsIDB4YWE0YiwKKwkweGFhNjAsIDB4YWE2ZiwKKwkweGFhNzEs
IDB4YWE3NiwKKwkweGFhN2EsIDB4YWE3YSwKKwkweGFhN2UsIDB4YWFhZiwKKwkweGFhYjEsIDB4
YWFiMSwKKwkweGFhYjUsIDB4YWFiNiwKKwkweGFhYjksIDB4YWFiZCwKKwkweGFhYzAsIDB4YWFj
MCwKKwkweGFhYzIsIDB4YWFjMiwKKwkweGFhZGIsIDB4YWFkYywKKwkweGFhZTAsIDB4YWFlYSwK
KwkweGFhZjIsIDB4YWFmMiwKKwkweGFiMDEsIDB4YWIwNiwKKwkweGFiMDksIDB4YWIwZSwKKwkw
eGFiMTEsIDB4YWIxNiwKKwkweGFiMjAsIDB4YWIyNiwKKwkweGFiMjgsIDB4YWIyZSwKKwkweGFi
YzAsIDB4YWJlMiwKKwkweGFjMDAsIDB4ZDdhMywKKwkweGQ3YjAsIDB4ZDdjNiwKKwkweGQ3Y2Is
IDB4ZDdmYiwKKwkweGY5MDAsIDB4ZmE2ZCwKKwkweGZhNzAsIDB4ZmFkOSwKKwkweGZiMWQsIDB4
ZmIxZCwKKwkweGZiMWYsIDB4ZmIyOCwKKwkweGZiMmEsIDB4ZmIzNiwKKwkweGZiMzgsIDB4ZmIz
YywKKwkweGZiM2UsIDB4ZmIzZSwKKwkweGZiNDAsIDB4ZmI0MSwKKwkweGZiNDMsIDB4ZmI0NCwK
KwkweGZiNDYsIDB4ZmJiMSwKKwkweGZiZDMsIDB4ZmQzZCwKKwkweGZkNTAsIDB4ZmQ4ZiwKKwkw
eGZkOTIsIDB4ZmRjNywKKwkweGZkZjAsIDB4ZmRmYiwKKwkweGZlNzAsIDB4ZmU3NCwKKwkweGZl
NzYsIDB4ZmVmYywKKwkweGZmNjYsIDB4ZmY2ZiwKKwkweGZmNzEsIDB4ZmY5ZCwKKwkweGZmYTAs
IDB4ZmZiZSwKKwkweGZmYzIsIDB4ZmZjNywKKwkweGZmY2EsIDB4ZmZjZiwKKwkweGZmZDIsIDB4
ZmZkNywKKwkweGZmZGEsIDB4ZmZkYywKKwkweDEwMDAwLCAweDEwMDBiLAorCTB4MTAwMGQsIDB4
MTAwMjYsCisJMHgxMDAyOCwgMHgxMDAzYSwKKwkweDEwMDNjLCAweDEwMDNkLAorCTB4MTAwM2Ys
IDB4MTAwNGQsCisJMHgxMDA1MCwgMHgxMDA1ZCwKKwkweDEwMDgwLCAweDEwMGZhLAorCTB4MTAy
ODAsIDB4MTAyOWMsCisJMHgxMDJhMCwgMHgxMDJkMCwKKwkweDEwMzAwLCAweDEwMzFmLAorCTB4
MTAzMmQsIDB4MTAzNDAsCisJMHgxMDM0MiwgMHgxMDM0OSwKKwkweDEwMzUwLCAweDEwMzc1LAor
CTB4MTAzODAsIDB4MTAzOWQsCisJMHgxMDNhMCwgMHgxMDNjMywKKwkweDEwM2M4LCAweDEwM2Nm
LAorCTB4MTA0NTAsIDB4MTA0OWQsCisJMHgxMDUwMCwgMHgxMDUyNywKKwkweDEwNTMwLCAweDEw
NTYzLAorCTB4MTA2MDAsIDB4MTA3MzYsCisJMHgxMDc0MCwgMHgxMDc1NSwKKwkweDEwNzYwLCAw
eDEwNzY3LAorCTB4MTA4MDAsIDB4MTA4MDUsCisJMHgxMDgwOCwgMHgxMDgwOCwKKwkweDEwODBh
LCAweDEwODM1LAorCTB4MTA4MzcsIDB4MTA4MzgsCisJMHgxMDgzYywgMHgxMDgzYywKKwkweDEw
ODNmLCAweDEwODU1LAorCTB4MTA4NjAsIDB4MTA4NzYsCisJMHgxMDg4MCwgMHgxMDg5ZSwKKwkw
eDEwOGUwLCAweDEwOGYyLAorCTB4MTA4ZjQsIDB4MTA4ZjUsCisJMHgxMDkwMCwgMHgxMDkxNSwK
KwkweDEwOTIwLCAweDEwOTM5LAorCTB4MTA5ODAsIDB4MTA5YjcsCisJMHgxMDliZSwgMHgxMDli
ZiwKKwkweDEwYTAwLCAweDEwYTAwLAorCTB4MTBhMTAsIDB4MTBhMTMsCisJMHgxMGExNSwgMHgx
MGExNywKKwkweDEwYTE5LCAweDEwYTM1LAorCTB4MTBhNjAsIDB4MTBhN2MsCisJMHgxMGE4MCwg
MHgxMGE5YywKKwkweDEwYWMwLCAweDEwYWM3LAorCTB4MTBhYzksIDB4MTBhZTQsCisJMHgxMGIw
MCwgMHgxMGIzNSwKKwkweDEwYjQwLCAweDEwYjU1LAorCTB4MTBiNjAsIDB4MTBiNzIsCisJMHgx
MGI4MCwgMHgxMGI5MSwKKwkweDEwYzAwLCAweDEwYzQ4LAorCTB4MTBkMDAsIDB4MTBkMjMsCisJ
MHgxMGYwMCwgMHgxMGYxYywKKwkweDEwZjI3LCAweDEwZjI3LAorCTB4MTBmMzAsIDB4MTBmNDUs
CisJMHgxMGZlMCwgMHgxMGZmNiwKKwkweDExMDAzLCAweDExMDM3LAorCTB4MTEwODMsIDB4MTEw
YWYsCisJMHgxMTBkMCwgMHgxMTBlOCwKKwkweDExMTAzLCAweDExMTI2LAorCTB4MTExNDQsIDB4
MTExNDQsCisJMHgxMTE1MCwgMHgxMTE3MiwKKwkweDExMTc2LCAweDExMTc2LAorCTB4MTExODMs
IDB4MTExYjIsCisJMHgxMTFjMSwgMHgxMTFjNCwKKwkweDExMWRhLCAweDExMWRhLAorCTB4MTEx
ZGMsIDB4MTExZGMsCisJMHgxMTIwMCwgMHgxMTIxMSwKKwkweDExMjEzLCAweDExMjJiLAorCTB4
MTEyODAsIDB4MTEyODYsCisJMHgxMTI4OCwgMHgxMTI4OCwKKwkweDExMjhhLCAweDExMjhkLAor
CTB4MTEyOGYsIDB4MTEyOWQsCisJMHgxMTI5ZiwgMHgxMTJhOCwKKwkweDExMmIwLCAweDExMmRl
LAorCTB4MTEzMDUsIDB4MTEzMGMsCisJMHgxMTMwZiwgMHgxMTMxMCwKKwkweDExMzEzLCAweDEx
MzI4LAorCTB4MTEzMmEsIDB4MTEzMzAsCisJMHgxMTMzMiwgMHgxMTMzMywKKwkweDExMzM1LCAw
eDExMzM5LAorCTB4MTEzM2QsIDB4MTEzM2QsCisJMHgxMTM1MCwgMHgxMTM1MCwKKwkweDExMzVk
LCAweDExMzYxLAorCTB4MTE0MDAsIDB4MTE0MzQsCisJMHgxMTQ0NywgMHgxMTQ0YSwKKwkweDEx
NDVmLCAweDExNDVmLAorCTB4MTE0ODAsIDB4MTE0YWYsCisJMHgxMTRjNCwgMHgxMTRjNSwKKwkw
eDExNGM3LCAweDExNGM3LAorCTB4MTE1ODAsIDB4MTE1YWUsCisJMHgxMTVkOCwgMHgxMTVkYiwK
KwkweDExNjAwLCAweDExNjJmLAorCTB4MTE2NDQsIDB4MTE2NDQsCisJMHgxMTY4MCwgMHgxMTZh
YSwKKwkweDExNmI4LCAweDExNmI4LAorCTB4MTE3MDAsIDB4MTE3MWEsCisJMHgxMTgwMCwgMHgx
MTgyYiwKKwkweDExOGZmLCAweDExOGZmLAorCTB4MTE5YTAsIDB4MTE5YTcsCisJMHgxMTlhYSwg
MHgxMTlkMCwKKwkweDExOWUxLCAweDExOWUxLAorCTB4MTE5ZTMsIDB4MTE5ZTMsCisJMHgxMWEw
MCwgMHgxMWEwMCwKKwkweDExYTBiLCAweDExYTMyLAorCTB4MTFhM2EsIDB4MTFhM2EsCisJMHgx
MWE1MCwgMHgxMWE1MCwKKwkweDExYTVjLCAweDExYTg5LAorCTB4MTFhOWQsIDB4MTFhOWQsCisJ
MHgxMWFjMCwgMHgxMWFmOCwKKwkweDExYzAwLCAweDExYzA4LAorCTB4MTFjMGEsIDB4MTFjMmUs
CisJMHgxMWM0MCwgMHgxMWM0MCwKKwkweDExYzcyLCAweDExYzhmLAorCTB4MTFkMDAsIDB4MTFk
MDYsCisJMHgxMWQwOCwgMHgxMWQwOSwKKwkweDExZDBiLCAweDExZDMwLAorCTB4MTFkNDYsIDB4
MTFkNDYsCisJMHgxMWQ2MCwgMHgxMWQ2NSwKKwkweDExZDY3LCAweDExZDY4LAorCTB4MTFkNmEs
IDB4MTFkODksCisJMHgxMWQ5OCwgMHgxMWQ5OCwKKwkweDExZWUwLCAweDExZWYyLAorCTB4MTIw
MDAsIDB4MTIzOTksCisJMHgxMjQ4MCwgMHgxMjU0MywKKwkweDEzMDAwLCAweDEzNDJlLAorCTB4
MTQ0MDAsIDB4MTQ2NDYsCisJMHgxNjgwMCwgMHgxNmEzOCwKKwkweDE2YTQwLCAweDE2YTVlLAor
CTB4MTZhZDAsIDB4MTZhZWQsCisJMHgxNmIwMCwgMHgxNmIyZiwKKwkweDE2YjYzLCAweDE2Yjc3
LAorCTB4MTZiN2QsIDB4MTZiOGYsCisJMHgxNmYwMCwgMHgxNmY0YSwKKwkweDE2ZjUwLCAweDE2
ZjUwLAorCTB4MTcwMDAsIDB4MTg3ZjcsCisJMHgxODgwMCwgMHgxOGFmMiwKKwkweDFiMDAwLCAw
eDFiMTFlLAorCTB4MWIxNTAsIDB4MWIxNTIsCisJMHgxYjE2NCwgMHgxYjE2NywKKwkweDFiMTcw
LCAweDFiMmZiLAorCTB4MWJjMDAsIDB4MWJjNmEsCisJMHgxYmM3MCwgMHgxYmM3YywKKwkweDFi
YzgwLCAweDFiYzg4LAorCTB4MWJjOTAsIDB4MWJjOTksCisJMHgxZTEwMCwgMHgxZTEyYywKKwkw
eDFlMTRlLCAweDFlMTRlLAorCTB4MWUyYzAsIDB4MWUyZWIsCisJMHgxZTgwMCwgMHgxZThjNCwK
KwkweDFlZTAwLCAweDFlZTAzLAorCTB4MWVlMDUsIDB4MWVlMWYsCisJMHgxZWUyMSwgMHgxZWUy
MiwKKwkweDFlZTI0LCAweDFlZTI0LAorCTB4MWVlMjcsIDB4MWVlMjcsCisJMHgxZWUyOSwgMHgx
ZWUzMiwKKwkweDFlZTM0LCAweDFlZTM3LAorCTB4MWVlMzksIDB4MWVlMzksCisJMHgxZWUzYiwg
MHgxZWUzYiwKKwkweDFlZTQyLCAweDFlZTQyLAorCTB4MWVlNDcsIDB4MWVlNDcsCisJMHgxZWU0
OSwgMHgxZWU0OSwKKwkweDFlZTRiLCAweDFlZTRiLAorCTB4MWVlNGQsIDB4MWVlNGYsCisJMHgx
ZWU1MSwgMHgxZWU1MiwKKwkweDFlZTU0LCAweDFlZTU0LAorCTB4MWVlNTcsIDB4MWVlNTcsCisJ
MHgxZWU1OSwgMHgxZWU1OSwKKwkweDFlZTViLCAweDFlZTViLAorCTB4MWVlNWQsIDB4MWVlNWQs
CisJMHgxZWU1ZiwgMHgxZWU1ZiwKKwkweDFlZTYxLCAweDFlZTYyLAorCTB4MWVlNjQsIDB4MWVl
NjQsCisJMHgxZWU2NywgMHgxZWU2YSwKKwkweDFlZTZjLCAweDFlZTcyLAorCTB4MWVlNzQsIDB4
MWVlNzcsCisJMHgxZWU3OSwgMHgxZWU3YywKKwkweDFlZTdlLCAweDFlZTdlLAorCTB4MWVlODAs
IDB4MWVlODksCisJMHgxZWU4YiwgMHgxZWU5YiwKKwkweDFlZWExLCAweDFlZWEzLAorCTB4MWVl
YTUsIDB4MWVlYTksCisJMHgxZWVhYiwgMHgxZWViYiwKKwkweDIwMDAwLCAweDJhNmQ2LAorCTB4
MmE3MDAsIDB4MmI3MzQsCisJMHgyYjc0MCwgMHgyYjgxZCwKKwkweDJiODIwLCAweDJjZWExLAor
CTB4MmNlYjAsIDB4MmViZTAsCisJMHgyZjgwMCwgMHgyZmExZCwKK307IC8qIENSX0xvICovCisK
Ky8qICdMdCc6IEdlbmVyYWwgQ2F0ZWdvcnkgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50
IENSX0x0W10gPSB7CisJMTAsCisJMHgwMWM1LCAweDAxYzUsCisJMHgwMWM4LCAweDAxYzgsCisJ
MHgwMWNiLCAweDAxY2IsCisJMHgwMWYyLCAweDAxZjIsCisJMHgxZjg4LCAweDFmOGYsCisJMHgx
Zjk4LCAweDFmOWYsCisJMHgxZmE4LCAweDFmYWYsCisJMHgxZmJjLCAweDFmYmMsCisJMHgxZmNj
LCAweDFmY2MsCisJMHgxZmZjLCAweDFmZmMsCit9OyAvKiBDUl9MdCAqLworCisvKiAnTHUnOiBH
ZW5lcmFsIENhdGVnb3J5ICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9MdVtdID0g
eworCTYzNiwKKwkweDAwNDEsIDB4MDA1YSwKKwkweDAwYzAsIDB4MDBkNiwKKwkweDAwZDgsIDB4
MDBkZSwKKwkweDAxMDAsIDB4MDEwMCwKKwkweDAxMDIsIDB4MDEwMiwKKwkweDAxMDQsIDB4MDEw
NCwKKwkweDAxMDYsIDB4MDEwNiwKKwkweDAxMDgsIDB4MDEwOCwKKwkweDAxMGEsIDB4MDEwYSwK
KwkweDAxMGMsIDB4MDEwYywKKwkweDAxMGUsIDB4MDEwZSwKKwkweDAxMTAsIDB4MDExMCwKKwkw
eDAxMTIsIDB4MDExMiwKKwkweDAxMTQsIDB4MDExNCwKKwkweDAxMTYsIDB4MDExNiwKKwkweDAx
MTgsIDB4MDExOCwKKwkweDAxMWEsIDB4MDExYSwKKwkweDAxMWMsIDB4MDExYywKKwkweDAxMWUs
IDB4MDExZSwKKwkweDAxMjAsIDB4MDEyMCwKKwkweDAxMjIsIDB4MDEyMiwKKwkweDAxMjQsIDB4
MDEyNCwKKwkweDAxMjYsIDB4MDEyNiwKKwkweDAxMjgsIDB4MDEyOCwKKwkweDAxMmEsIDB4MDEy
YSwKKwkweDAxMmMsIDB4MDEyYywKKwkweDAxMmUsIDB4MDEyZSwKKwkweDAxMzAsIDB4MDEzMCwK
KwkweDAxMzIsIDB4MDEzMiwKKwkweDAxMzQsIDB4MDEzNCwKKwkweDAxMzYsIDB4MDEzNiwKKwkw
eDAxMzksIDB4MDEzOSwKKwkweDAxM2IsIDB4MDEzYiwKKwkweDAxM2QsIDB4MDEzZCwKKwkweDAx
M2YsIDB4MDEzZiwKKwkweDAxNDEsIDB4MDE0MSwKKwkweDAxNDMsIDB4MDE0MywKKwkweDAxNDUs
IDB4MDE0NSwKKwkweDAxNDcsIDB4MDE0NywKKwkweDAxNGEsIDB4MDE0YSwKKwkweDAxNGMsIDB4
MDE0YywKKwkweDAxNGUsIDB4MDE0ZSwKKwkweDAxNTAsIDB4MDE1MCwKKwkweDAxNTIsIDB4MDE1
MiwKKwkweDAxNTQsIDB4MDE1NCwKKwkweDAxNTYsIDB4MDE1NiwKKwkweDAxNTgsIDB4MDE1OCwK
KwkweDAxNWEsIDB4MDE1YSwKKwkweDAxNWMsIDB4MDE1YywKKwkweDAxNWUsIDB4MDE1ZSwKKwkw
eDAxNjAsIDB4MDE2MCwKKwkweDAxNjIsIDB4MDE2MiwKKwkweDAxNjQsIDB4MDE2NCwKKwkweDAx
NjYsIDB4MDE2NiwKKwkweDAxNjgsIDB4MDE2OCwKKwkweDAxNmEsIDB4MDE2YSwKKwkweDAxNmMs
IDB4MDE2YywKKwkweDAxNmUsIDB4MDE2ZSwKKwkweDAxNzAsIDB4MDE3MCwKKwkweDAxNzIsIDB4
MDE3MiwKKwkweDAxNzQsIDB4MDE3NCwKKwkweDAxNzYsIDB4MDE3NiwKKwkweDAxNzgsIDB4MDE3
OSwKKwkweDAxN2IsIDB4MDE3YiwKKwkweDAxN2QsIDB4MDE3ZCwKKwkweDAxODEsIDB4MDE4MiwK
KwkweDAxODQsIDB4MDE4NCwKKwkweDAxODYsIDB4MDE4NywKKwkweDAxODksIDB4MDE4YiwKKwkw
eDAxOGUsIDB4MDE5MSwKKwkweDAxOTMsIDB4MDE5NCwKKwkweDAxOTYsIDB4MDE5OCwKKwkweDAx
OWMsIDB4MDE5ZCwKKwkweDAxOWYsIDB4MDFhMCwKKwkweDAxYTIsIDB4MDFhMiwKKwkweDAxYTQs
IDB4MDFhNCwKKwkweDAxYTYsIDB4MDFhNywKKwkweDAxYTksIDB4MDFhOSwKKwkweDAxYWMsIDB4
MDFhYywKKwkweDAxYWUsIDB4MDFhZiwKKwkweDAxYjEsIDB4MDFiMywKKwkweDAxYjUsIDB4MDFi
NSwKKwkweDAxYjcsIDB4MDFiOCwKKwkweDAxYmMsIDB4MDFiYywKKwkweDAxYzQsIDB4MDFjNCwK
KwkweDAxYzcsIDB4MDFjNywKKwkweDAxY2EsIDB4MDFjYSwKKwkweDAxY2QsIDB4MDFjZCwKKwkw
eDAxY2YsIDB4MDFjZiwKKwkweDAxZDEsIDB4MDFkMSwKKwkweDAxZDMsIDB4MDFkMywKKwkweDAx
ZDUsIDB4MDFkNSwKKwkweDAxZDcsIDB4MDFkNywKKwkweDAxZDksIDB4MDFkOSwKKwkweDAxZGIs
IDB4MDFkYiwKKwkweDAxZGUsIDB4MDFkZSwKKwkweDAxZTAsIDB4MDFlMCwKKwkweDAxZTIsIDB4
MDFlMiwKKwkweDAxZTQsIDB4MDFlNCwKKwkweDAxZTYsIDB4MDFlNiwKKwkweDAxZTgsIDB4MDFl
OCwKKwkweDAxZWEsIDB4MDFlYSwKKwkweDAxZWMsIDB4MDFlYywKKwkweDAxZWUsIDB4MDFlZSwK
KwkweDAxZjEsIDB4MDFmMSwKKwkweDAxZjQsIDB4MDFmNCwKKwkweDAxZjYsIDB4MDFmOCwKKwkw
eDAxZmEsIDB4MDFmYSwKKwkweDAxZmMsIDB4MDFmYywKKwkweDAxZmUsIDB4MDFmZSwKKwkweDAy
MDAsIDB4MDIwMCwKKwkweDAyMDIsIDB4MDIwMiwKKwkweDAyMDQsIDB4MDIwNCwKKwkweDAyMDYs
IDB4MDIwNiwKKwkweDAyMDgsIDB4MDIwOCwKKwkweDAyMGEsIDB4MDIwYSwKKwkweDAyMGMsIDB4
MDIwYywKKwkweDAyMGUsIDB4MDIwZSwKKwkweDAyMTAsIDB4MDIxMCwKKwkweDAyMTIsIDB4MDIx
MiwKKwkweDAyMTQsIDB4MDIxNCwKKwkweDAyMTYsIDB4MDIxNiwKKwkweDAyMTgsIDB4MDIxOCwK
KwkweDAyMWEsIDB4MDIxYSwKKwkweDAyMWMsIDB4MDIxYywKKwkweDAyMWUsIDB4MDIxZSwKKwkw
eDAyMjAsIDB4MDIyMCwKKwkweDAyMjIsIDB4MDIyMiwKKwkweDAyMjQsIDB4MDIyNCwKKwkweDAy
MjYsIDB4MDIyNiwKKwkweDAyMjgsIDB4MDIyOCwKKwkweDAyMmEsIDB4MDIyYSwKKwkweDAyMmMs
IDB4MDIyYywKKwkweDAyMmUsIDB4MDIyZSwKKwkweDAyMzAsIDB4MDIzMCwKKwkweDAyMzIsIDB4
MDIzMiwKKwkweDAyM2EsIDB4MDIzYiwKKwkweDAyM2QsIDB4MDIzZSwKKwkweDAyNDEsIDB4MDI0
MSwKKwkweDAyNDMsIDB4MDI0NiwKKwkweDAyNDgsIDB4MDI0OCwKKwkweDAyNGEsIDB4MDI0YSwK
KwkweDAyNGMsIDB4MDI0YywKKwkweDAyNGUsIDB4MDI0ZSwKKwkweDAzNzAsIDB4MDM3MCwKKwkw
eDAzNzIsIDB4MDM3MiwKKwkweDAzNzYsIDB4MDM3NiwKKwkweDAzN2YsIDB4MDM3ZiwKKwkweDAz
ODYsIDB4MDM4NiwKKwkweDAzODgsIDB4MDM4YSwKKwkweDAzOGMsIDB4MDM4YywKKwkweDAzOGUs
IDB4MDM4ZiwKKwkweDAzOTEsIDB4MDNhMSwKKwkweDAzYTMsIDB4MDNhYiwKKwkweDAzY2YsIDB4
MDNjZiwKKwkweDAzZDIsIDB4MDNkNCwKKwkweDAzZDgsIDB4MDNkOCwKKwkweDAzZGEsIDB4MDNk
YSwKKwkweDAzZGMsIDB4MDNkYywKKwkweDAzZGUsIDB4MDNkZSwKKwkweDAzZTAsIDB4MDNlMCwK
KwkweDAzZTIsIDB4MDNlMiwKKwkweDAzZTQsIDB4MDNlNCwKKwkweDAzZTYsIDB4MDNlNiwKKwkw
eDAzZTgsIDB4MDNlOCwKKwkweDAzZWEsIDB4MDNlYSwKKwkweDAzZWMsIDB4MDNlYywKKwkweDAz
ZWUsIDB4MDNlZSwKKwkweDAzZjQsIDB4MDNmNCwKKwkweDAzZjcsIDB4MDNmNywKKwkweDAzZjks
IDB4MDNmYSwKKwkweDAzZmQsIDB4MDQyZiwKKwkweDA0NjAsIDB4MDQ2MCwKKwkweDA0NjIsIDB4
MDQ2MiwKKwkweDA0NjQsIDB4MDQ2NCwKKwkweDA0NjYsIDB4MDQ2NiwKKwkweDA0NjgsIDB4MDQ2
OCwKKwkweDA0NmEsIDB4MDQ2YSwKKwkweDA0NmMsIDB4MDQ2YywKKwkweDA0NmUsIDB4MDQ2ZSwK
KwkweDA0NzAsIDB4MDQ3MCwKKwkweDA0NzIsIDB4MDQ3MiwKKwkweDA0NzQsIDB4MDQ3NCwKKwkw
eDA0NzYsIDB4MDQ3NiwKKwkweDA0NzgsIDB4MDQ3OCwKKwkweDA0N2EsIDB4MDQ3YSwKKwkweDA0
N2MsIDB4MDQ3YywKKwkweDA0N2UsIDB4MDQ3ZSwKKwkweDA0ODAsIDB4MDQ4MCwKKwkweDA0OGEs
IDB4MDQ4YSwKKwkweDA0OGMsIDB4MDQ4YywKKwkweDA0OGUsIDB4MDQ4ZSwKKwkweDA0OTAsIDB4
MDQ5MCwKKwkweDA0OTIsIDB4MDQ5MiwKKwkweDA0OTQsIDB4MDQ5NCwKKwkweDA0OTYsIDB4MDQ5
NiwKKwkweDA0OTgsIDB4MDQ5OCwKKwkweDA0OWEsIDB4MDQ5YSwKKwkweDA0OWMsIDB4MDQ5YywK
KwkweDA0OWUsIDB4MDQ5ZSwKKwkweDA0YTAsIDB4MDRhMCwKKwkweDA0YTIsIDB4MDRhMiwKKwkw
eDA0YTQsIDB4MDRhNCwKKwkweDA0YTYsIDB4MDRhNiwKKwkweDA0YTgsIDB4MDRhOCwKKwkweDA0
YWEsIDB4MDRhYSwKKwkweDA0YWMsIDB4MDRhYywKKwkweDA0YWUsIDB4MDRhZSwKKwkweDA0YjAs
IDB4MDRiMCwKKwkweDA0YjIsIDB4MDRiMiwKKwkweDA0YjQsIDB4MDRiNCwKKwkweDA0YjYsIDB4
MDRiNiwKKwkweDA0YjgsIDB4MDRiOCwKKwkweDA0YmEsIDB4MDRiYSwKKwkweDA0YmMsIDB4MDRi
YywKKwkweDA0YmUsIDB4MDRiZSwKKwkweDA0YzAsIDB4MDRjMSwKKwkweDA0YzMsIDB4MDRjMywK
KwkweDA0YzUsIDB4MDRjNSwKKwkweDA0YzcsIDB4MDRjNywKKwkweDA0YzksIDB4MDRjOSwKKwkw
eDA0Y2IsIDB4MDRjYiwKKwkweDA0Y2QsIDB4MDRjZCwKKwkweDA0ZDAsIDB4MDRkMCwKKwkweDA0
ZDIsIDB4MDRkMiwKKwkweDA0ZDQsIDB4MDRkNCwKKwkweDA0ZDYsIDB4MDRkNiwKKwkweDA0ZDgs
IDB4MDRkOCwKKwkweDA0ZGEsIDB4MDRkYSwKKwkweDA0ZGMsIDB4MDRkYywKKwkweDA0ZGUsIDB4
MDRkZSwKKwkweDA0ZTAsIDB4MDRlMCwKKwkweDA0ZTIsIDB4MDRlMiwKKwkweDA0ZTQsIDB4MDRl
NCwKKwkweDA0ZTYsIDB4MDRlNiwKKwkweDA0ZTgsIDB4MDRlOCwKKwkweDA0ZWEsIDB4MDRlYSwK
KwkweDA0ZWMsIDB4MDRlYywKKwkweDA0ZWUsIDB4MDRlZSwKKwkweDA0ZjAsIDB4MDRmMCwKKwkw
eDA0ZjIsIDB4MDRmMiwKKwkweDA0ZjQsIDB4MDRmNCwKKwkweDA0ZjYsIDB4MDRmNiwKKwkweDA0
ZjgsIDB4MDRmOCwKKwkweDA0ZmEsIDB4MDRmYSwKKwkweDA0ZmMsIDB4MDRmYywKKwkweDA0ZmUs
IDB4MDRmZSwKKwkweDA1MDAsIDB4MDUwMCwKKwkweDA1MDIsIDB4MDUwMiwKKwkweDA1MDQsIDB4
MDUwNCwKKwkweDA1MDYsIDB4MDUwNiwKKwkweDA1MDgsIDB4MDUwOCwKKwkweDA1MGEsIDB4MDUw
YSwKKwkweDA1MGMsIDB4MDUwYywKKwkweDA1MGUsIDB4MDUwZSwKKwkweDA1MTAsIDB4MDUxMCwK
KwkweDA1MTIsIDB4MDUxMiwKKwkweDA1MTQsIDB4MDUxNCwKKwkweDA1MTYsIDB4MDUxNiwKKwkw
eDA1MTgsIDB4MDUxOCwKKwkweDA1MWEsIDB4MDUxYSwKKwkweDA1MWMsIDB4MDUxYywKKwkweDA1
MWUsIDB4MDUxZSwKKwkweDA1MjAsIDB4MDUyMCwKKwkweDA1MjIsIDB4MDUyMiwKKwkweDA1MjQs
IDB4MDUyNCwKKwkweDA1MjYsIDB4MDUyNiwKKwkweDA1MjgsIDB4MDUyOCwKKwkweDA1MmEsIDB4
MDUyYSwKKwkweDA1MmMsIDB4MDUyYywKKwkweDA1MmUsIDB4MDUyZSwKKwkweDA1MzEsIDB4MDU1
NiwKKwkweDEwYTAsIDB4MTBjNSwKKwkweDEwYzcsIDB4MTBjNywKKwkweDEwY2QsIDB4MTBjZCwK
KwkweDEzYTAsIDB4MTNmNSwKKwkweDFjOTAsIDB4MWNiYSwKKwkweDFjYmQsIDB4MWNiZiwKKwkw
eDFlMDAsIDB4MWUwMCwKKwkweDFlMDIsIDB4MWUwMiwKKwkweDFlMDQsIDB4MWUwNCwKKwkweDFl
MDYsIDB4MWUwNiwKKwkweDFlMDgsIDB4MWUwOCwKKwkweDFlMGEsIDB4MWUwYSwKKwkweDFlMGMs
IDB4MWUwYywKKwkweDFlMGUsIDB4MWUwZSwKKwkweDFlMTAsIDB4MWUxMCwKKwkweDFlMTIsIDB4
MWUxMiwKKwkweDFlMTQsIDB4MWUxNCwKKwkweDFlMTYsIDB4MWUxNiwKKwkweDFlMTgsIDB4MWUx
OCwKKwkweDFlMWEsIDB4MWUxYSwKKwkweDFlMWMsIDB4MWUxYywKKwkweDFlMWUsIDB4MWUxZSwK
KwkweDFlMjAsIDB4MWUyMCwKKwkweDFlMjIsIDB4MWUyMiwKKwkweDFlMjQsIDB4MWUyNCwKKwkw
eDFlMjYsIDB4MWUyNiwKKwkweDFlMjgsIDB4MWUyOCwKKwkweDFlMmEsIDB4MWUyYSwKKwkweDFl
MmMsIDB4MWUyYywKKwkweDFlMmUsIDB4MWUyZSwKKwkweDFlMzAsIDB4MWUzMCwKKwkweDFlMzIs
IDB4MWUzMiwKKwkweDFlMzQsIDB4MWUzNCwKKwkweDFlMzYsIDB4MWUzNiwKKwkweDFlMzgsIDB4
MWUzOCwKKwkweDFlM2EsIDB4MWUzYSwKKwkweDFlM2MsIDB4MWUzYywKKwkweDFlM2UsIDB4MWUz
ZSwKKwkweDFlNDAsIDB4MWU0MCwKKwkweDFlNDIsIDB4MWU0MiwKKwkweDFlNDQsIDB4MWU0NCwK
KwkweDFlNDYsIDB4MWU0NiwKKwkweDFlNDgsIDB4MWU0OCwKKwkweDFlNGEsIDB4MWU0YSwKKwkw
eDFlNGMsIDB4MWU0YywKKwkweDFlNGUsIDB4MWU0ZSwKKwkweDFlNTAsIDB4MWU1MCwKKwkweDFl
NTIsIDB4MWU1MiwKKwkweDFlNTQsIDB4MWU1NCwKKwkweDFlNTYsIDB4MWU1NiwKKwkweDFlNTgs
IDB4MWU1OCwKKwkweDFlNWEsIDB4MWU1YSwKKwkweDFlNWMsIDB4MWU1YywKKwkweDFlNWUsIDB4
MWU1ZSwKKwkweDFlNjAsIDB4MWU2MCwKKwkweDFlNjIsIDB4MWU2MiwKKwkweDFlNjQsIDB4MWU2
NCwKKwkweDFlNjYsIDB4MWU2NiwKKwkweDFlNjgsIDB4MWU2OCwKKwkweDFlNmEsIDB4MWU2YSwK
KwkweDFlNmMsIDB4MWU2YywKKwkweDFlNmUsIDB4MWU2ZSwKKwkweDFlNzAsIDB4MWU3MCwKKwkw
eDFlNzIsIDB4MWU3MiwKKwkweDFlNzQsIDB4MWU3NCwKKwkweDFlNzYsIDB4MWU3NiwKKwkweDFl
NzgsIDB4MWU3OCwKKwkweDFlN2EsIDB4MWU3YSwKKwkweDFlN2MsIDB4MWU3YywKKwkweDFlN2Us
IDB4MWU3ZSwKKwkweDFlODAsIDB4MWU4MCwKKwkweDFlODIsIDB4MWU4MiwKKwkweDFlODQsIDB4
MWU4NCwKKwkweDFlODYsIDB4MWU4NiwKKwkweDFlODgsIDB4MWU4OCwKKwkweDFlOGEsIDB4MWU4
YSwKKwkweDFlOGMsIDB4MWU4YywKKwkweDFlOGUsIDB4MWU4ZSwKKwkweDFlOTAsIDB4MWU5MCwK
KwkweDFlOTIsIDB4MWU5MiwKKwkweDFlOTQsIDB4MWU5NCwKKwkweDFlOWUsIDB4MWU5ZSwKKwkw
eDFlYTAsIDB4MWVhMCwKKwkweDFlYTIsIDB4MWVhMiwKKwkweDFlYTQsIDB4MWVhNCwKKwkweDFl
YTYsIDB4MWVhNiwKKwkweDFlYTgsIDB4MWVhOCwKKwkweDFlYWEsIDB4MWVhYSwKKwkweDFlYWMs
IDB4MWVhYywKKwkweDFlYWUsIDB4MWVhZSwKKwkweDFlYjAsIDB4MWViMCwKKwkweDFlYjIsIDB4
MWViMiwKKwkweDFlYjQsIDB4MWViNCwKKwkweDFlYjYsIDB4MWViNiwKKwkweDFlYjgsIDB4MWVi
OCwKKwkweDFlYmEsIDB4MWViYSwKKwkweDFlYmMsIDB4MWViYywKKwkweDFlYmUsIDB4MWViZSwK
KwkweDFlYzAsIDB4MWVjMCwKKwkweDFlYzIsIDB4MWVjMiwKKwkweDFlYzQsIDB4MWVjNCwKKwkw
eDFlYzYsIDB4MWVjNiwKKwkweDFlYzgsIDB4MWVjOCwKKwkweDFlY2EsIDB4MWVjYSwKKwkweDFl
Y2MsIDB4MWVjYywKKwkweDFlY2UsIDB4MWVjZSwKKwkweDFlZDAsIDB4MWVkMCwKKwkweDFlZDIs
IDB4MWVkMiwKKwkweDFlZDQsIDB4MWVkNCwKKwkweDFlZDYsIDB4MWVkNiwKKwkweDFlZDgsIDB4
MWVkOCwKKwkweDFlZGEsIDB4MWVkYSwKKwkweDFlZGMsIDB4MWVkYywKKwkweDFlZGUsIDB4MWVk
ZSwKKwkweDFlZTAsIDB4MWVlMCwKKwkweDFlZTIsIDB4MWVlMiwKKwkweDFlZTQsIDB4MWVlNCwK
KwkweDFlZTYsIDB4MWVlNiwKKwkweDFlZTgsIDB4MWVlOCwKKwkweDFlZWEsIDB4MWVlYSwKKwkw
eDFlZWMsIDB4MWVlYywKKwkweDFlZWUsIDB4MWVlZSwKKwkweDFlZjAsIDB4MWVmMCwKKwkweDFl
ZjIsIDB4MWVmMiwKKwkweDFlZjQsIDB4MWVmNCwKKwkweDFlZjYsIDB4MWVmNiwKKwkweDFlZjgs
IDB4MWVmOCwKKwkweDFlZmEsIDB4MWVmYSwKKwkweDFlZmMsIDB4MWVmYywKKwkweDFlZmUsIDB4
MWVmZSwKKwkweDFmMDgsIDB4MWYwZiwKKwkweDFmMTgsIDB4MWYxZCwKKwkweDFmMjgsIDB4MWYy
ZiwKKwkweDFmMzgsIDB4MWYzZiwKKwkweDFmNDgsIDB4MWY0ZCwKKwkweDFmNTksIDB4MWY1OSwK
KwkweDFmNWIsIDB4MWY1YiwKKwkweDFmNWQsIDB4MWY1ZCwKKwkweDFmNWYsIDB4MWY1ZiwKKwkw
eDFmNjgsIDB4MWY2ZiwKKwkweDFmYjgsIDB4MWZiYiwKKwkweDFmYzgsIDB4MWZjYiwKKwkweDFm
ZDgsIDB4MWZkYiwKKwkweDFmZTgsIDB4MWZlYywKKwkweDFmZjgsIDB4MWZmYiwKKwkweDIxMDIs
IDB4MjEwMiwKKwkweDIxMDcsIDB4MjEwNywKKwkweDIxMGIsIDB4MjEwZCwKKwkweDIxMTAsIDB4
MjExMiwKKwkweDIxMTUsIDB4MjExNSwKKwkweDIxMTksIDB4MjExZCwKKwkweDIxMjQsIDB4MjEy
NCwKKwkweDIxMjYsIDB4MjEyNiwKKwkweDIxMjgsIDB4MjEyOCwKKwkweDIxMmEsIDB4MjEyZCwK
KwkweDIxMzAsIDB4MjEzMywKKwkweDIxM2UsIDB4MjEzZiwKKwkweDIxNDUsIDB4MjE0NSwKKwkw
eDIxODMsIDB4MjE4MywKKwkweDJjMDAsIDB4MmMyZSwKKwkweDJjNjAsIDB4MmM2MCwKKwkweDJj
NjIsIDB4MmM2NCwKKwkweDJjNjcsIDB4MmM2NywKKwkweDJjNjksIDB4MmM2OSwKKwkweDJjNmIs
IDB4MmM2YiwKKwkweDJjNmQsIDB4MmM3MCwKKwkweDJjNzIsIDB4MmM3MiwKKwkweDJjNzUsIDB4
MmM3NSwKKwkweDJjN2UsIDB4MmM4MCwKKwkweDJjODIsIDB4MmM4MiwKKwkweDJjODQsIDB4MmM4
NCwKKwkweDJjODYsIDB4MmM4NiwKKwkweDJjODgsIDB4MmM4OCwKKwkweDJjOGEsIDB4MmM4YSwK
KwkweDJjOGMsIDB4MmM4YywKKwkweDJjOGUsIDB4MmM4ZSwKKwkweDJjOTAsIDB4MmM5MCwKKwkw
eDJjOTIsIDB4MmM5MiwKKwkweDJjOTQsIDB4MmM5NCwKKwkweDJjOTYsIDB4MmM5NiwKKwkweDJj
OTgsIDB4MmM5OCwKKwkweDJjOWEsIDB4MmM5YSwKKwkweDJjOWMsIDB4MmM5YywKKwkweDJjOWUs
IDB4MmM5ZSwKKwkweDJjYTAsIDB4MmNhMCwKKwkweDJjYTIsIDB4MmNhMiwKKwkweDJjYTQsIDB4
MmNhNCwKKwkweDJjYTYsIDB4MmNhNiwKKwkweDJjYTgsIDB4MmNhOCwKKwkweDJjYWEsIDB4MmNh
YSwKKwkweDJjYWMsIDB4MmNhYywKKwkweDJjYWUsIDB4MmNhZSwKKwkweDJjYjAsIDB4MmNiMCwK
KwkweDJjYjIsIDB4MmNiMiwKKwkweDJjYjQsIDB4MmNiNCwKKwkweDJjYjYsIDB4MmNiNiwKKwkw
eDJjYjgsIDB4MmNiOCwKKwkweDJjYmEsIDB4MmNiYSwKKwkweDJjYmMsIDB4MmNiYywKKwkweDJj
YmUsIDB4MmNiZSwKKwkweDJjYzAsIDB4MmNjMCwKKwkweDJjYzIsIDB4MmNjMiwKKwkweDJjYzQs
IDB4MmNjNCwKKwkweDJjYzYsIDB4MmNjNiwKKwkweDJjYzgsIDB4MmNjOCwKKwkweDJjY2EsIDB4
MmNjYSwKKwkweDJjY2MsIDB4MmNjYywKKwkweDJjY2UsIDB4MmNjZSwKKwkweDJjZDAsIDB4MmNk
MCwKKwkweDJjZDIsIDB4MmNkMiwKKwkweDJjZDQsIDB4MmNkNCwKKwkweDJjZDYsIDB4MmNkNiwK
KwkweDJjZDgsIDB4MmNkOCwKKwkweDJjZGEsIDB4MmNkYSwKKwkweDJjZGMsIDB4MmNkYywKKwkw
eDJjZGUsIDB4MmNkZSwKKwkweDJjZTAsIDB4MmNlMCwKKwkweDJjZTIsIDB4MmNlMiwKKwkweDJj
ZWIsIDB4MmNlYiwKKwkweDJjZWQsIDB4MmNlZCwKKwkweDJjZjIsIDB4MmNmMiwKKwkweGE2NDAs
IDB4YTY0MCwKKwkweGE2NDIsIDB4YTY0MiwKKwkweGE2NDQsIDB4YTY0NCwKKwkweGE2NDYsIDB4
YTY0NiwKKwkweGE2NDgsIDB4YTY0OCwKKwkweGE2NGEsIDB4YTY0YSwKKwkweGE2NGMsIDB4YTY0
YywKKwkweGE2NGUsIDB4YTY0ZSwKKwkweGE2NTAsIDB4YTY1MCwKKwkweGE2NTIsIDB4YTY1MiwK
KwkweGE2NTQsIDB4YTY1NCwKKwkweGE2NTYsIDB4YTY1NiwKKwkweGE2NTgsIDB4YTY1OCwKKwkw
eGE2NWEsIDB4YTY1YSwKKwkweGE2NWMsIDB4YTY1YywKKwkweGE2NWUsIDB4YTY1ZSwKKwkweGE2
NjAsIDB4YTY2MCwKKwkweGE2NjIsIDB4YTY2MiwKKwkweGE2NjQsIDB4YTY2NCwKKwkweGE2NjYs
IDB4YTY2NiwKKwkweGE2NjgsIDB4YTY2OCwKKwkweGE2NmEsIDB4YTY2YSwKKwkweGE2NmMsIDB4
YTY2YywKKwkweGE2ODAsIDB4YTY4MCwKKwkweGE2ODIsIDB4YTY4MiwKKwkweGE2ODQsIDB4YTY4
NCwKKwkweGE2ODYsIDB4YTY4NiwKKwkweGE2ODgsIDB4YTY4OCwKKwkweGE2OGEsIDB4YTY4YSwK
KwkweGE2OGMsIDB4YTY4YywKKwkweGE2OGUsIDB4YTY4ZSwKKwkweGE2OTAsIDB4YTY5MCwKKwkw
eGE2OTIsIDB4YTY5MiwKKwkweGE2OTQsIDB4YTY5NCwKKwkweGE2OTYsIDB4YTY5NiwKKwkweGE2
OTgsIDB4YTY5OCwKKwkweGE2OWEsIDB4YTY5YSwKKwkweGE3MjIsIDB4YTcyMiwKKwkweGE3MjQs
IDB4YTcyNCwKKwkweGE3MjYsIDB4YTcyNiwKKwkweGE3MjgsIDB4YTcyOCwKKwkweGE3MmEsIDB4
YTcyYSwKKwkweGE3MmMsIDB4YTcyYywKKwkweGE3MmUsIDB4YTcyZSwKKwkweGE3MzIsIDB4YTcz
MiwKKwkweGE3MzQsIDB4YTczNCwKKwkweGE3MzYsIDB4YTczNiwKKwkweGE3MzgsIDB4YTczOCwK
KwkweGE3M2EsIDB4YTczYSwKKwkweGE3M2MsIDB4YTczYywKKwkweGE3M2UsIDB4YTczZSwKKwkw
eGE3NDAsIDB4YTc0MCwKKwkweGE3NDIsIDB4YTc0MiwKKwkweGE3NDQsIDB4YTc0NCwKKwkweGE3
NDYsIDB4YTc0NiwKKwkweGE3NDgsIDB4YTc0OCwKKwkweGE3NGEsIDB4YTc0YSwKKwkweGE3NGMs
IDB4YTc0YywKKwkweGE3NGUsIDB4YTc0ZSwKKwkweGE3NTAsIDB4YTc1MCwKKwkweGE3NTIsIDB4
YTc1MiwKKwkweGE3NTQsIDB4YTc1NCwKKwkweGE3NTYsIDB4YTc1NiwKKwkweGE3NTgsIDB4YTc1
OCwKKwkweGE3NWEsIDB4YTc1YSwKKwkweGE3NWMsIDB4YTc1YywKKwkweGE3NWUsIDB4YTc1ZSwK
KwkweGE3NjAsIDB4YTc2MCwKKwkweGE3NjIsIDB4YTc2MiwKKwkweGE3NjQsIDB4YTc2NCwKKwkw
eGE3NjYsIDB4YTc2NiwKKwkweGE3NjgsIDB4YTc2OCwKKwkweGE3NmEsIDB4YTc2YSwKKwkweGE3
NmMsIDB4YTc2YywKKwkweGE3NmUsIDB4YTc2ZSwKKwkweGE3NzksIDB4YTc3OSwKKwkweGE3N2Is
IDB4YTc3YiwKKwkweGE3N2QsIDB4YTc3ZSwKKwkweGE3ODAsIDB4YTc4MCwKKwkweGE3ODIsIDB4
YTc4MiwKKwkweGE3ODQsIDB4YTc4NCwKKwkweGE3ODYsIDB4YTc4NiwKKwkweGE3OGIsIDB4YTc4
YiwKKwkweGE3OGQsIDB4YTc4ZCwKKwkweGE3OTAsIDB4YTc5MCwKKwkweGE3OTIsIDB4YTc5MiwK
KwkweGE3OTYsIDB4YTc5NiwKKwkweGE3OTgsIDB4YTc5OCwKKwkweGE3OWEsIDB4YTc5YSwKKwkw
eGE3OWMsIDB4YTc5YywKKwkweGE3OWUsIDB4YTc5ZSwKKwkweGE3YTAsIDB4YTdhMCwKKwkweGE3
YTIsIDB4YTdhMiwKKwkweGE3YTQsIDB4YTdhNCwKKwkweGE3YTYsIDB4YTdhNiwKKwkweGE3YTgs
IDB4YTdhOCwKKwkweGE3YWEsIDB4YTdhZSwKKwkweGE3YjAsIDB4YTdiNCwKKwkweGE3YjYsIDB4
YTdiNiwKKwkweGE3YjgsIDB4YTdiOCwKKwkweGE3YmEsIDB4YTdiYSwKKwkweGE3YmMsIDB4YTdi
YywKKwkweGE3YmUsIDB4YTdiZSwKKwkweGE3YzIsIDB4YTdjMiwKKwkweGE3YzQsIDB4YTdjNiwK
KwkweGZmMjEsIDB4ZmYzYSwKKwkweDEwNDAwLCAweDEwNDI3LAorCTB4MTA0YjAsIDB4MTA0ZDMs
CisJMHgxMGM4MCwgMHgxMGNiMiwKKwkweDExOGEwLCAweDExOGJmLAorCTB4MTZlNDAsIDB4MTZl
NWYsCisJMHgxZDQwMCwgMHgxZDQxOSwKKwkweDFkNDM0LCAweDFkNDRkLAorCTB4MWQ0NjgsIDB4
MWQ0ODEsCisJMHgxZDQ5YywgMHgxZDQ5YywKKwkweDFkNDllLCAweDFkNDlmLAorCTB4MWQ0YTIs
IDB4MWQ0YTIsCisJMHgxZDRhNSwgMHgxZDRhNiwKKwkweDFkNGE5LCAweDFkNGFjLAorCTB4MWQ0
YWUsIDB4MWQ0YjUsCisJMHgxZDRkMCwgMHgxZDRlOSwKKwkweDFkNTA0LCAweDFkNTA1LAorCTB4
MWQ1MDcsIDB4MWQ1MGEsCisJMHgxZDUwZCwgMHgxZDUxNCwKKwkweDFkNTE2LCAweDFkNTFjLAor
CTB4MWQ1MzgsIDB4MWQ1MzksCisJMHgxZDUzYiwgMHgxZDUzZSwKKwkweDFkNTQwLCAweDFkNTQ0
LAorCTB4MWQ1NDYsIDB4MWQ1NDYsCisJMHgxZDU0YSwgMHgxZDU1MCwKKwkweDFkNTZjLCAweDFk
NTg1LAorCTB4MWQ1YTAsIDB4MWQ1YjksCisJMHgxZDVkNCwgMHgxZDVlZCwKKwkweDFkNjA4LCAw
eDFkNjIxLAorCTB4MWQ2M2MsIDB4MWQ2NTUsCisJMHgxZDY3MCwgMHgxZDY4OSwKKwkweDFkNmE4
LCAweDFkNmMwLAorCTB4MWQ2ZTIsIDB4MWQ2ZmEsCisJMHgxZDcxYywgMHgxZDczNCwKKwkweDFk
NzU2LCAweDFkNzZlLAorCTB4MWQ3OTAsIDB4MWQ3YTgsCisJMHgxZDdjYSwgMHgxZDdjYSwKKwkw
eDFlOTAwLCAweDFlOTIxLAorfTsgLyogQ1JfTHUgKi8KKworLyogJ00nOiBNYWpvciBDYXRlZ29y
eSAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfTVtdID0geworCTI4MCwKKwkweDAz
MDAsIDB4MDM2ZiwKKwkweDA0ODMsIDB4MDQ4OSwKKwkweDA1OTEsIDB4MDViZCwKKwkweDA1YmYs
IDB4MDViZiwKKwkweDA1YzEsIDB4MDVjMiwKKwkweDA1YzQsIDB4MDVjNSwKKwkweDA1YzcsIDB4
MDVjNywKKwkweDA2MTAsIDB4MDYxYSwKKwkweDA2NGIsIDB4MDY1ZiwKKwkweDA2NzAsIDB4MDY3
MCwKKwkweDA2ZDYsIDB4MDZkYywKKwkweDA2ZGYsIDB4MDZlNCwKKwkweDA2ZTcsIDB4MDZlOCwK
KwkweDA2ZWEsIDB4MDZlZCwKKwkweDA3MTEsIDB4MDcxMSwKKwkweDA3MzAsIDB4MDc0YSwKKwkw
eDA3YTYsIDB4MDdiMCwKKwkweDA3ZWIsIDB4MDdmMywKKwkweDA3ZmQsIDB4MDdmZCwKKwkweDA4
MTYsIDB4MDgxOSwKKwkweDA4MWIsIDB4MDgyMywKKwkweDA4MjUsIDB4MDgyNywKKwkweDA4Mjks
IDB4MDgyZCwKKwkweDA4NTksIDB4MDg1YiwKKwkweDA4ZDMsIDB4MDhlMSwKKwkweDA4ZTMsIDB4
MDkwMywKKwkweDA5M2EsIDB4MDkzYywKKwkweDA5M2UsIDB4MDk0ZiwKKwkweDA5NTEsIDB4MDk1
NywKKwkweDA5NjIsIDB4MDk2MywKKwkweDA5ODEsIDB4MDk4MywKKwkweDA5YmMsIDB4MDliYywK
KwkweDA5YmUsIDB4MDljNCwKKwkweDA5YzcsIDB4MDljOCwKKwkweDA5Y2IsIDB4MDljZCwKKwkw
eDA5ZDcsIDB4MDlkNywKKwkweDA5ZTIsIDB4MDllMywKKwkweDA5ZmUsIDB4MDlmZSwKKwkweDBh
MDEsIDB4MGEwMywKKwkweDBhM2MsIDB4MGEzYywKKwkweDBhM2UsIDB4MGE0MiwKKwkweDBhNDcs
IDB4MGE0OCwKKwkweDBhNGIsIDB4MGE0ZCwKKwkweDBhNTEsIDB4MGE1MSwKKwkweDBhNzAsIDB4
MGE3MSwKKwkweDBhNzUsIDB4MGE3NSwKKwkweDBhODEsIDB4MGE4MywKKwkweDBhYmMsIDB4MGFi
YywKKwkweDBhYmUsIDB4MGFjNSwKKwkweDBhYzcsIDB4MGFjOSwKKwkweDBhY2IsIDB4MGFjZCwK
KwkweDBhZTIsIDB4MGFlMywKKwkweDBhZmEsIDB4MGFmZiwKKwkweDBiMDEsIDB4MGIwMywKKwkw
eDBiM2MsIDB4MGIzYywKKwkweDBiM2UsIDB4MGI0NCwKKwkweDBiNDcsIDB4MGI0OCwKKwkweDBi
NGIsIDB4MGI0ZCwKKwkweDBiNTYsIDB4MGI1NywKKwkweDBiNjIsIDB4MGI2MywKKwkweDBiODIs
IDB4MGI4MiwKKwkweDBiYmUsIDB4MGJjMiwKKwkweDBiYzYsIDB4MGJjOCwKKwkweDBiY2EsIDB4
MGJjZCwKKwkweDBiZDcsIDB4MGJkNywKKwkweDBjMDAsIDB4MGMwNCwKKwkweDBjM2UsIDB4MGM0
NCwKKwkweDBjNDYsIDB4MGM0OCwKKwkweDBjNGEsIDB4MGM0ZCwKKwkweDBjNTUsIDB4MGM1NiwK
KwkweDBjNjIsIDB4MGM2MywKKwkweDBjODEsIDB4MGM4MywKKwkweDBjYmMsIDB4MGNiYywKKwkw
eDBjYmUsIDB4MGNjNCwKKwkweDBjYzYsIDB4MGNjOCwKKwkweDBjY2EsIDB4MGNjZCwKKwkweDBj
ZDUsIDB4MGNkNiwKKwkweDBjZTIsIDB4MGNlMywKKwkweDBkMDAsIDB4MGQwMywKKwkweDBkM2Is
IDB4MGQzYywKKwkweDBkM2UsIDB4MGQ0NCwKKwkweDBkNDYsIDB4MGQ0OCwKKwkweDBkNGEsIDB4
MGQ0ZCwKKwkweDBkNTcsIDB4MGQ1NywKKwkweDBkNjIsIDB4MGQ2MywKKwkweDBkODIsIDB4MGQ4
MywKKwkweDBkY2EsIDB4MGRjYSwKKwkweDBkY2YsIDB4MGRkNCwKKwkweDBkZDYsIDB4MGRkNiwK
KwkweDBkZDgsIDB4MGRkZiwKKwkweDBkZjIsIDB4MGRmMywKKwkweDBlMzEsIDB4MGUzMSwKKwkw
eDBlMzQsIDB4MGUzYSwKKwkweDBlNDcsIDB4MGU0ZSwKKwkweDBlYjEsIDB4MGViMSwKKwkweDBl
YjQsIDB4MGViYywKKwkweDBlYzgsIDB4MGVjZCwKKwkweDBmMTgsIDB4MGYxOSwKKwkweDBmMzUs
IDB4MGYzNSwKKwkweDBmMzcsIDB4MGYzNywKKwkweDBmMzksIDB4MGYzOSwKKwkweDBmM2UsIDB4
MGYzZiwKKwkweDBmNzEsIDB4MGY4NCwKKwkweDBmODYsIDB4MGY4NywKKwkweDBmOGQsIDB4MGY5
NywKKwkweDBmOTksIDB4MGZiYywKKwkweDBmYzYsIDB4MGZjNiwKKwkweDEwMmIsIDB4MTAzZSwK
KwkweDEwNTYsIDB4MTA1OSwKKwkweDEwNWUsIDB4MTA2MCwKKwkweDEwNjIsIDB4MTA2NCwKKwkw
eDEwNjcsIDB4MTA2ZCwKKwkweDEwNzEsIDB4MTA3NCwKKwkweDEwODIsIDB4MTA4ZCwKKwkweDEw
OGYsIDB4MTA4ZiwKKwkweDEwOWEsIDB4MTA5ZCwKKwkweDEzNWQsIDB4MTM1ZiwKKwkweDE3MTIs
IDB4MTcxNCwKKwkweDE3MzIsIDB4MTczNCwKKwkweDE3NTIsIDB4MTc1MywKKwkweDE3NzIsIDB4
MTc3MywKKwkweDE3YjQsIDB4MTdkMywKKwkweDE3ZGQsIDB4MTdkZCwKKwkweDE4MGIsIDB4MTgw
ZCwKKwkweDE4ODUsIDB4MTg4NiwKKwkweDE4YTksIDB4MThhOSwKKwkweDE5MjAsIDB4MTkyYiwK
KwkweDE5MzAsIDB4MTkzYiwKKwkweDFhMTcsIDB4MWExYiwKKwkweDFhNTUsIDB4MWE1ZSwKKwkw
eDFhNjAsIDB4MWE3YywKKwkweDFhN2YsIDB4MWE3ZiwKKwkweDFhYjAsIDB4MWFiZSwKKwkweDFi
MDAsIDB4MWIwNCwKKwkweDFiMzQsIDB4MWI0NCwKKwkweDFiNmIsIDB4MWI3MywKKwkweDFiODAs
IDB4MWI4MiwKKwkweDFiYTEsIDB4MWJhZCwKKwkweDFiZTYsIDB4MWJmMywKKwkweDFjMjQsIDB4
MWMzNywKKwkweDFjZDAsIDB4MWNkMiwKKwkweDFjZDQsIDB4MWNlOCwKKwkweDFjZWQsIDB4MWNl
ZCwKKwkweDFjZjQsIDB4MWNmNCwKKwkweDFjZjcsIDB4MWNmOSwKKwkweDFkYzAsIDB4MWRmOSwK
KwkweDFkZmIsIDB4MWRmZiwKKwkweDIwZDAsIDB4MjBmMCwKKwkweDJjZWYsIDB4MmNmMSwKKwkw
eDJkN2YsIDB4MmQ3ZiwKKwkweDJkZTAsIDB4MmRmZiwKKwkweDMwMmEsIDB4MzAyZiwKKwkweDMw
OTksIDB4MzA5YSwKKwkweGE2NmYsIDB4YTY3MiwKKwkweGE2NzQsIDB4YTY3ZCwKKwkweGE2OWUs
IDB4YTY5ZiwKKwkweGE2ZjAsIDB4YTZmMSwKKwkweGE4MDIsIDB4YTgwMiwKKwkweGE4MDYsIDB4
YTgwNiwKKwkweGE4MGIsIDB4YTgwYiwKKwkweGE4MjMsIDB4YTgyNywKKwkweGE4ODAsIDB4YTg4
MSwKKwkweGE4YjQsIDB4YThjNSwKKwkweGE4ZTAsIDB4YThmMSwKKwkweGE4ZmYsIDB4YThmZiwK
KwkweGE5MjYsIDB4YTkyZCwKKwkweGE5NDcsIDB4YTk1MywKKwkweGE5ODAsIDB4YTk4MywKKwkw
eGE5YjMsIDB4YTljMCwKKwkweGE5ZTUsIDB4YTllNSwKKwkweGFhMjksIDB4YWEzNiwKKwkweGFh
NDMsIDB4YWE0MywKKwkweGFhNGMsIDB4YWE0ZCwKKwkweGFhN2IsIDB4YWE3ZCwKKwkweGFhYjAs
IDB4YWFiMCwKKwkweGFhYjIsIDB4YWFiNCwKKwkweGFhYjcsIDB4YWFiOCwKKwkweGFhYmUsIDB4
YWFiZiwKKwkweGFhYzEsIDB4YWFjMSwKKwkweGFhZWIsIDB4YWFlZiwKKwkweGFhZjUsIDB4YWFm
NiwKKwkweGFiZTMsIDB4YWJlYSwKKwkweGFiZWMsIDB4YWJlZCwKKwkweGZiMWUsIDB4ZmIxZSwK
KwkweGZlMDAsIDB4ZmUwZiwKKwkweGZlMjAsIDB4ZmUyZiwKKwkweDEwMWZkLCAweDEwMWZkLAor
CTB4MTAyZTAsIDB4MTAyZTAsCisJMHgxMDM3NiwgMHgxMDM3YSwKKwkweDEwYTAxLCAweDEwYTAz
LAorCTB4MTBhMDUsIDB4MTBhMDYsCisJMHgxMGEwYywgMHgxMGEwZiwKKwkweDEwYTM4LCAweDEw
YTNhLAorCTB4MTBhM2YsIDB4MTBhM2YsCisJMHgxMGFlNSwgMHgxMGFlNiwKKwkweDEwZDI0LCAw
eDEwZDI3LAorCTB4MTBmNDYsIDB4MTBmNTAsCisJMHgxMTAwMCwgMHgxMTAwMiwKKwkweDExMDM4
LCAweDExMDQ2LAorCTB4MTEwN2YsIDB4MTEwODIsCisJMHgxMTBiMCwgMHgxMTBiYSwKKwkweDEx
MTAwLCAweDExMTAyLAorCTB4MTExMjcsIDB4MTExMzQsCisJMHgxMTE0NSwgMHgxMTE0NiwKKwkw
eDExMTczLCAweDExMTczLAorCTB4MTExODAsIDB4MTExODIsCisJMHgxMTFiMywgMHgxMTFjMCwK
KwkweDExMWM5LCAweDExMWNjLAorCTB4MTEyMmMsIDB4MTEyMzcsCisJMHgxMTIzZSwgMHgxMTIz
ZSwKKwkweDExMmRmLCAweDExMmVhLAorCTB4MTEzMDAsIDB4MTEzMDMsCisJMHgxMTMzYiwgMHgx
MTMzYywKKwkweDExMzNlLCAweDExMzQ0LAorCTB4MTEzNDcsIDB4MTEzNDgsCisJMHgxMTM0Yiwg
MHgxMTM0ZCwKKwkweDExMzU3LCAweDExMzU3LAorCTB4MTEzNjIsIDB4MTEzNjMsCisJMHgxMTM2
NiwgMHgxMTM2YywKKwkweDExMzcwLCAweDExMzc0LAorCTB4MTE0MzUsIDB4MTE0NDYsCisJMHgx
MTQ1ZSwgMHgxMTQ1ZSwKKwkweDExNGIwLCAweDExNGMzLAorCTB4MTE1YWYsIDB4MTE1YjUsCisJ
MHgxMTViOCwgMHgxMTVjMCwKKwkweDExNWRjLCAweDExNWRkLAorCTB4MTE2MzAsIDB4MTE2NDAs
CisJMHgxMTZhYiwgMHgxMTZiNywKKwkweDExNzFkLCAweDExNzJiLAorCTB4MTE4MmMsIDB4MTE4
M2EsCisJMHgxMTlkMSwgMHgxMTlkNywKKwkweDExOWRhLCAweDExOWUwLAorCTB4MTE5ZTQsIDB4
MTE5ZTQsCisJMHgxMWEwMSwgMHgxMWEwYSwKKwkweDExYTMzLCAweDExYTM5LAorCTB4MTFhM2Is
IDB4MTFhM2UsCisJMHgxMWE0NywgMHgxMWE0NywKKwkweDExYTUxLCAweDExYTViLAorCTB4MTFh
OGEsIDB4MTFhOTksCisJMHgxMWMyZiwgMHgxMWMzNiwKKwkweDExYzM4LCAweDExYzNmLAorCTB4
MTFjOTIsIDB4MTFjYTcsCisJMHgxMWNhOSwgMHgxMWNiNiwKKwkweDExZDMxLCAweDExZDM2LAor
CTB4MTFkM2EsIDB4MTFkM2EsCisJMHgxMWQzYywgMHgxMWQzZCwKKwkweDExZDNmLCAweDExZDQ1
LAorCTB4MTFkNDcsIDB4MTFkNDcsCisJMHgxMWQ4YSwgMHgxMWQ4ZSwKKwkweDExZDkwLCAweDEx
ZDkxLAorCTB4MTFkOTMsIDB4MTFkOTcsCisJMHgxMWVmMywgMHgxMWVmNiwKKwkweDE2YWYwLCAw
eDE2YWY0LAorCTB4MTZiMzAsIDB4MTZiMzYsCisJMHgxNmY0ZiwgMHgxNmY0ZiwKKwkweDE2ZjUx
LCAweDE2Zjg3LAorCTB4MTZmOGYsIDB4MTZmOTIsCisJMHgxYmM5ZCwgMHgxYmM5ZSwKKwkweDFk
MTY1LCAweDFkMTY5LAorCTB4MWQxNmQsIDB4MWQxNzIsCisJMHgxZDE3YiwgMHgxZDE4MiwKKwkw
eDFkMTg1LCAweDFkMThiLAorCTB4MWQxYWEsIDB4MWQxYWQsCisJMHgxZDI0MiwgMHgxZDI0NCwK
KwkweDFkYTAwLCAweDFkYTM2LAorCTB4MWRhM2IsIDB4MWRhNmMsCisJMHgxZGE3NSwgMHgxZGE3
NSwKKwkweDFkYTg0LCAweDFkYTg0LAorCTB4MWRhOWIsIDB4MWRhOWYsCisJMHgxZGFhMSwgMHgx
ZGFhZiwKKwkweDFlMDAwLCAweDFlMDA2LAorCTB4MWUwMDgsIDB4MWUwMTgsCisJMHgxZTAxYiwg
MHgxZTAyMSwKKwkweDFlMDIzLCAweDFlMDI0LAorCTB4MWUwMjYsIDB4MWUwMmEsCisJMHgxZTEz
MCwgMHgxZTEzNiwKKwkweDFlMmVjLCAweDFlMmVmLAorCTB4MWU4ZDAsIDB4MWU4ZDYsCisJMHgx
ZTk0NCwgMHgxZTk0YSwKKwkweGUwMTAwLCAweGUwMWVmLAorfTsgLyogQ1JfTSAqLworCisvKiAn
TWMnOiBHZW5lcmFsIENhdGVnb3J5ICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9N
Y1tdID0geworCTE2OCwKKwkweDA5MDMsIDB4MDkwMywKKwkweDA5M2IsIDB4MDkzYiwKKwkweDA5
M2UsIDB4MDk0MCwKKwkweDA5NDksIDB4MDk0YywKKwkweDA5NGUsIDB4MDk0ZiwKKwkweDA5ODIs
IDB4MDk4MywKKwkweDA5YmUsIDB4MDljMCwKKwkweDA5YzcsIDB4MDljOCwKKwkweDA5Y2IsIDB4
MDljYywKKwkweDA5ZDcsIDB4MDlkNywKKwkweDBhMDMsIDB4MGEwMywKKwkweDBhM2UsIDB4MGE0
MCwKKwkweDBhODMsIDB4MGE4MywKKwkweDBhYmUsIDB4MGFjMCwKKwkweDBhYzksIDB4MGFjOSwK
KwkweDBhY2IsIDB4MGFjYywKKwkweDBiMDIsIDB4MGIwMywKKwkweDBiM2UsIDB4MGIzZSwKKwkw
eDBiNDAsIDB4MGI0MCwKKwkweDBiNDcsIDB4MGI0OCwKKwkweDBiNGIsIDB4MGI0YywKKwkweDBi
NTcsIDB4MGI1NywKKwkweDBiYmUsIDB4MGJiZiwKKwkweDBiYzEsIDB4MGJjMiwKKwkweDBiYzYs
IDB4MGJjOCwKKwkweDBiY2EsIDB4MGJjYywKKwkweDBiZDcsIDB4MGJkNywKKwkweDBjMDEsIDB4
MGMwMywKKwkweDBjNDEsIDB4MGM0NCwKKwkweDBjODIsIDB4MGM4MywKKwkweDBjYmUsIDB4MGNi
ZSwKKwkweDBjYzAsIDB4MGNjNCwKKwkweDBjYzcsIDB4MGNjOCwKKwkweDBjY2EsIDB4MGNjYiwK
KwkweDBjZDUsIDB4MGNkNiwKKwkweDBkMDIsIDB4MGQwMywKKwkweDBkM2UsIDB4MGQ0MCwKKwkw
eDBkNDYsIDB4MGQ0OCwKKwkweDBkNGEsIDB4MGQ0YywKKwkweDBkNTcsIDB4MGQ1NywKKwkweDBk
ODIsIDB4MGQ4MywKKwkweDBkY2YsIDB4MGRkMSwKKwkweDBkZDgsIDB4MGRkZiwKKwkweDBkZjIs
IDB4MGRmMywKKwkweDBmM2UsIDB4MGYzZiwKKwkweDBmN2YsIDB4MGY3ZiwKKwkweDEwMmIsIDB4
MTAyYywKKwkweDEwMzEsIDB4MTAzMSwKKwkweDEwMzgsIDB4MTAzOCwKKwkweDEwM2IsIDB4MTAz
YywKKwkweDEwNTYsIDB4MTA1NywKKwkweDEwNjIsIDB4MTA2NCwKKwkweDEwNjcsIDB4MTA2ZCwK
KwkweDEwODMsIDB4MTA4NCwKKwkweDEwODcsIDB4MTA4YywKKwkweDEwOGYsIDB4MTA4ZiwKKwkw
eDEwOWEsIDB4MTA5YywKKwkweDE3YjYsIDB4MTdiNiwKKwkweDE3YmUsIDB4MTdjNSwKKwkweDE3
YzcsIDB4MTdjOCwKKwkweDE5MjMsIDB4MTkyNiwKKwkweDE5MjksIDB4MTkyYiwKKwkweDE5MzAs
IDB4MTkzMSwKKwkweDE5MzMsIDB4MTkzOCwKKwkweDFhMTksIDB4MWExYSwKKwkweDFhNTUsIDB4
MWE1NSwKKwkweDFhNTcsIDB4MWE1NywKKwkweDFhNjEsIDB4MWE2MSwKKwkweDFhNjMsIDB4MWE2
NCwKKwkweDFhNmQsIDB4MWE3MiwKKwkweDFiMDQsIDB4MWIwNCwKKwkweDFiMzUsIDB4MWIzNSwK
KwkweDFiM2IsIDB4MWIzYiwKKwkweDFiM2QsIDB4MWI0MSwKKwkweDFiNDMsIDB4MWI0NCwKKwkw
eDFiODIsIDB4MWI4MiwKKwkweDFiYTEsIDB4MWJhMSwKKwkweDFiYTYsIDB4MWJhNywKKwkweDFi
YWEsIDB4MWJhYSwKKwkweDFiZTcsIDB4MWJlNywKKwkweDFiZWEsIDB4MWJlYywKKwkweDFiZWUs
IDB4MWJlZSwKKwkweDFiZjIsIDB4MWJmMywKKwkweDFjMjQsIDB4MWMyYiwKKwkweDFjMzQsIDB4
MWMzNSwKKwkweDFjZTEsIDB4MWNlMSwKKwkweDFjZjcsIDB4MWNmNywKKwkweDMwMmUsIDB4MzAy
ZiwKKwkweGE4MjMsIDB4YTgyNCwKKwkweGE4MjcsIDB4YTgyNywKKwkweGE4ODAsIDB4YTg4MSwK
KwkweGE4YjQsIDB4YThjMywKKwkweGE5NTIsIDB4YTk1MywKKwkweGE5ODMsIDB4YTk4MywKKwkw
eGE5YjQsIDB4YTliNSwKKwkweGE5YmEsIDB4YTliYiwKKwkweGE5YmUsIDB4YTljMCwKKwkweGFh
MmYsIDB4YWEzMCwKKwkweGFhMzMsIDB4YWEzNCwKKwkweGFhNGQsIDB4YWE0ZCwKKwkweGFhN2Is
IDB4YWE3YiwKKwkweGFhN2QsIDB4YWE3ZCwKKwkweGFhZWIsIDB4YWFlYiwKKwkweGFhZWUsIDB4
YWFlZiwKKwkweGFhZjUsIDB4YWFmNSwKKwkweGFiZTMsIDB4YWJlNCwKKwkweGFiZTYsIDB4YWJl
NywKKwkweGFiZTksIDB4YWJlYSwKKwkweGFiZWMsIDB4YWJlYywKKwkweDExMDAwLCAweDExMDAw
LAorCTB4MTEwMDIsIDB4MTEwMDIsCisJMHgxMTA4MiwgMHgxMTA4MiwKKwkweDExMGIwLCAweDEx
MGIyLAorCTB4MTEwYjcsIDB4MTEwYjgsCisJMHgxMTEyYywgMHgxMTEyYywKKwkweDExMTQ1LCAw
eDExMTQ2LAorCTB4MTExODIsIDB4MTExODIsCisJMHgxMTFiMywgMHgxMTFiNSwKKwkweDExMWJm
LCAweDExMWMwLAorCTB4MTEyMmMsIDB4MTEyMmUsCisJMHgxMTIzMiwgMHgxMTIzMywKKwkweDEx
MjM1LCAweDExMjM1LAorCTB4MTEyZTAsIDB4MTEyZTIsCisJMHgxMTMwMiwgMHgxMTMwMywKKwkw
eDExMzNlLCAweDExMzNmLAorCTB4MTEzNDEsIDB4MTEzNDQsCisJMHgxMTM0NywgMHgxMTM0OCwK
KwkweDExMzRiLCAweDExMzRkLAorCTB4MTEzNTcsIDB4MTEzNTcsCisJMHgxMTM2MiwgMHgxMTM2
MywKKwkweDExNDM1LCAweDExNDM3LAorCTB4MTE0NDAsIDB4MTE0NDEsCisJMHgxMTQ0NSwgMHgx
MTQ0NSwKKwkweDExNGIwLCAweDExNGIyLAorCTB4MTE0YjksIDB4MTE0YjksCisJMHgxMTRiYiwg
MHgxMTRiZSwKKwkweDExNGMxLCAweDExNGMxLAorCTB4MTE1YWYsIDB4MTE1YjEsCisJMHgxMTVi
OCwgMHgxMTViYiwKKwkweDExNWJlLCAweDExNWJlLAorCTB4MTE2MzAsIDB4MTE2MzIsCisJMHgx
MTYzYiwgMHgxMTYzYywKKwkweDExNjNlLCAweDExNjNlLAorCTB4MTE2YWMsIDB4MTE2YWMsCisJ
MHgxMTZhZSwgMHgxMTZhZiwKKwkweDExNmI2LCAweDExNmI2LAorCTB4MTE3MjAsIDB4MTE3MjEs
CisJMHgxMTcyNiwgMHgxMTcyNiwKKwkweDExODJjLCAweDExODJlLAorCTB4MTE4MzgsIDB4MTE4
MzgsCisJMHgxMTlkMSwgMHgxMTlkMywKKwkweDExOWRjLCAweDExOWRmLAorCTB4MTE5ZTQsIDB4
MTE5ZTQsCisJMHgxMWEzOSwgMHgxMWEzOSwKKwkweDExYTU3LCAweDExYTU4LAorCTB4MTFhOTcs
IDB4MTFhOTcsCisJMHgxMWMyZiwgMHgxMWMyZiwKKwkweDExYzNlLCAweDExYzNlLAorCTB4MTFj
YTksIDB4MTFjYTksCisJMHgxMWNiMSwgMHgxMWNiMSwKKwkweDExY2I0LCAweDExY2I0LAorCTB4
MTFkOGEsIDB4MTFkOGUsCisJMHgxMWQ5MywgMHgxMWQ5NCwKKwkweDExZDk2LCAweDExZDk2LAor
CTB4MTFlZjUsIDB4MTFlZjYsCisJMHgxNmY1MSwgMHgxNmY4NywKKwkweDFkMTY1LCAweDFkMTY2
LAorCTB4MWQxNmQsIDB4MWQxNzIsCit9OyAvKiBDUl9NYyAqLworCisvKiAnTWUnOiBHZW5lcmFs
IENhdGVnb3J5ICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9NZVtdID0geworCTUs
CisJMHgwNDg4LCAweDA0ODksCisJMHgxYWJlLCAweDFhYmUsCisJMHgyMGRkLCAweDIwZTAsCisJ
MHgyMGUyLCAweDIwZTQsCisJMHhhNjcwLCAweGE2NzIsCit9OyAvKiBDUl9NZSAqLworCisvKiAn
TW4nOiBHZW5lcmFsIENhdGVnb3J5ICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9N
bltdID0geworCTMxOCwKKwkweDAzMDAsIDB4MDM2ZiwKKwkweDA0ODMsIDB4MDQ4NywKKwkweDA1
OTEsIDB4MDViZCwKKwkweDA1YmYsIDB4MDViZiwKKwkweDA1YzEsIDB4MDVjMiwKKwkweDA1YzQs
IDB4MDVjNSwKKwkweDA1YzcsIDB4MDVjNywKKwkweDA2MTAsIDB4MDYxYSwKKwkweDA2NGIsIDB4
MDY1ZiwKKwkweDA2NzAsIDB4MDY3MCwKKwkweDA2ZDYsIDB4MDZkYywKKwkweDA2ZGYsIDB4MDZl
NCwKKwkweDA2ZTcsIDB4MDZlOCwKKwkweDA2ZWEsIDB4MDZlZCwKKwkweDA3MTEsIDB4MDcxMSwK
KwkweDA3MzAsIDB4MDc0YSwKKwkweDA3YTYsIDB4MDdiMCwKKwkweDA3ZWIsIDB4MDdmMywKKwkw
eDA3ZmQsIDB4MDdmZCwKKwkweDA4MTYsIDB4MDgxOSwKKwkweDA4MWIsIDB4MDgyMywKKwkweDA4
MjUsIDB4MDgyNywKKwkweDA4MjksIDB4MDgyZCwKKwkweDA4NTksIDB4MDg1YiwKKwkweDA4ZDMs
IDB4MDhlMSwKKwkweDA4ZTMsIDB4MDkwMiwKKwkweDA5M2EsIDB4MDkzYSwKKwkweDA5M2MsIDB4
MDkzYywKKwkweDA5NDEsIDB4MDk0OCwKKwkweDA5NGQsIDB4MDk0ZCwKKwkweDA5NTEsIDB4MDk1
NywKKwkweDA5NjIsIDB4MDk2MywKKwkweDA5ODEsIDB4MDk4MSwKKwkweDA5YmMsIDB4MDliYywK
KwkweDA5YzEsIDB4MDljNCwKKwkweDA5Y2QsIDB4MDljZCwKKwkweDA5ZTIsIDB4MDllMywKKwkw
eDA5ZmUsIDB4MDlmZSwKKwkweDBhMDEsIDB4MGEwMiwKKwkweDBhM2MsIDB4MGEzYywKKwkweDBh
NDEsIDB4MGE0MiwKKwkweDBhNDcsIDB4MGE0OCwKKwkweDBhNGIsIDB4MGE0ZCwKKwkweDBhNTEs
IDB4MGE1MSwKKwkweDBhNzAsIDB4MGE3MSwKKwkweDBhNzUsIDB4MGE3NSwKKwkweDBhODEsIDB4
MGE4MiwKKwkweDBhYmMsIDB4MGFiYywKKwkweDBhYzEsIDB4MGFjNSwKKwkweDBhYzcsIDB4MGFj
OCwKKwkweDBhY2QsIDB4MGFjZCwKKwkweDBhZTIsIDB4MGFlMywKKwkweDBhZmEsIDB4MGFmZiwK
KwkweDBiMDEsIDB4MGIwMSwKKwkweDBiM2MsIDB4MGIzYywKKwkweDBiM2YsIDB4MGIzZiwKKwkw
eDBiNDEsIDB4MGI0NCwKKwkweDBiNGQsIDB4MGI0ZCwKKwkweDBiNTYsIDB4MGI1NiwKKwkweDBi
NjIsIDB4MGI2MywKKwkweDBiODIsIDB4MGI4MiwKKwkweDBiYzAsIDB4MGJjMCwKKwkweDBiY2Qs
IDB4MGJjZCwKKwkweDBjMDAsIDB4MGMwMCwKKwkweDBjMDQsIDB4MGMwNCwKKwkweDBjM2UsIDB4
MGM0MCwKKwkweDBjNDYsIDB4MGM0OCwKKwkweDBjNGEsIDB4MGM0ZCwKKwkweDBjNTUsIDB4MGM1
NiwKKwkweDBjNjIsIDB4MGM2MywKKwkweDBjODEsIDB4MGM4MSwKKwkweDBjYmMsIDB4MGNiYywK
KwkweDBjYmYsIDB4MGNiZiwKKwkweDBjYzYsIDB4MGNjNiwKKwkweDBjY2MsIDB4MGNjZCwKKwkw
eDBjZTIsIDB4MGNlMywKKwkweDBkMDAsIDB4MGQwMSwKKwkweDBkM2IsIDB4MGQzYywKKwkweDBk
NDEsIDB4MGQ0NCwKKwkweDBkNGQsIDB4MGQ0ZCwKKwkweDBkNjIsIDB4MGQ2MywKKwkweDBkY2Es
IDB4MGRjYSwKKwkweDBkZDIsIDB4MGRkNCwKKwkweDBkZDYsIDB4MGRkNiwKKwkweDBlMzEsIDB4
MGUzMSwKKwkweDBlMzQsIDB4MGUzYSwKKwkweDBlNDcsIDB4MGU0ZSwKKwkweDBlYjEsIDB4MGVi
MSwKKwkweDBlYjQsIDB4MGViYywKKwkweDBlYzgsIDB4MGVjZCwKKwkweDBmMTgsIDB4MGYxOSwK
KwkweDBmMzUsIDB4MGYzNSwKKwkweDBmMzcsIDB4MGYzNywKKwkweDBmMzksIDB4MGYzOSwKKwkw
eDBmNzEsIDB4MGY3ZSwKKwkweDBmODAsIDB4MGY4NCwKKwkweDBmODYsIDB4MGY4NywKKwkweDBm
OGQsIDB4MGY5NywKKwkweDBmOTksIDB4MGZiYywKKwkweDBmYzYsIDB4MGZjNiwKKwkweDEwMmQs
IDB4MTAzMCwKKwkweDEwMzIsIDB4MTAzNywKKwkweDEwMzksIDB4MTAzYSwKKwkweDEwM2QsIDB4
MTAzZSwKKwkweDEwNTgsIDB4MTA1OSwKKwkweDEwNWUsIDB4MTA2MCwKKwkweDEwNzEsIDB4MTA3
NCwKKwkweDEwODIsIDB4MTA4MiwKKwkweDEwODUsIDB4MTA4NiwKKwkweDEwOGQsIDB4MTA4ZCwK
KwkweDEwOWQsIDB4MTA5ZCwKKwkweDEzNWQsIDB4MTM1ZiwKKwkweDE3MTIsIDB4MTcxNCwKKwkw
eDE3MzIsIDB4MTczNCwKKwkweDE3NTIsIDB4MTc1MywKKwkweDE3NzIsIDB4MTc3MywKKwkweDE3
YjQsIDB4MTdiNSwKKwkweDE3YjcsIDB4MTdiZCwKKwkweDE3YzYsIDB4MTdjNiwKKwkweDE3Yzks
IDB4MTdkMywKKwkweDE3ZGQsIDB4MTdkZCwKKwkweDE4MGIsIDB4MTgwZCwKKwkweDE4ODUsIDB4
MTg4NiwKKwkweDE4YTksIDB4MThhOSwKKwkweDE5MjAsIDB4MTkyMiwKKwkweDE5MjcsIDB4MTky
OCwKKwkweDE5MzIsIDB4MTkzMiwKKwkweDE5MzksIDB4MTkzYiwKKwkweDFhMTcsIDB4MWExOCwK
KwkweDFhMWIsIDB4MWExYiwKKwkweDFhNTYsIDB4MWE1NiwKKwkweDFhNTgsIDB4MWE1ZSwKKwkw
eDFhNjAsIDB4MWE2MCwKKwkweDFhNjIsIDB4MWE2MiwKKwkweDFhNjUsIDB4MWE2YywKKwkweDFh
NzMsIDB4MWE3YywKKwkweDFhN2YsIDB4MWE3ZiwKKwkweDFhYjAsIDB4MWFiZCwKKwkweDFiMDAs
IDB4MWIwMywKKwkweDFiMzQsIDB4MWIzNCwKKwkweDFiMzYsIDB4MWIzYSwKKwkweDFiM2MsIDB4
MWIzYywKKwkweDFiNDIsIDB4MWI0MiwKKwkweDFiNmIsIDB4MWI3MywKKwkweDFiODAsIDB4MWI4
MSwKKwkweDFiYTIsIDB4MWJhNSwKKwkweDFiYTgsIDB4MWJhOSwKKwkweDFiYWIsIDB4MWJhZCwK
KwkweDFiZTYsIDB4MWJlNiwKKwkweDFiZTgsIDB4MWJlOSwKKwkweDFiZWQsIDB4MWJlZCwKKwkw
eDFiZWYsIDB4MWJmMSwKKwkweDFjMmMsIDB4MWMzMywKKwkweDFjMzYsIDB4MWMzNywKKwkweDFj
ZDAsIDB4MWNkMiwKKwkweDFjZDQsIDB4MWNlMCwKKwkweDFjZTIsIDB4MWNlOCwKKwkweDFjZWQs
IDB4MWNlZCwKKwkweDFjZjQsIDB4MWNmNCwKKwkweDFjZjgsIDB4MWNmOSwKKwkweDFkYzAsIDB4
MWRmOSwKKwkweDFkZmIsIDB4MWRmZiwKKwkweDIwZDAsIDB4MjBkYywKKwkweDIwZTEsIDB4MjBl
MSwKKwkweDIwZTUsIDB4MjBmMCwKKwkweDJjZWYsIDB4MmNmMSwKKwkweDJkN2YsIDB4MmQ3ZiwK
KwkweDJkZTAsIDB4MmRmZiwKKwkweDMwMmEsIDB4MzAyZCwKKwkweDMwOTksIDB4MzA5YSwKKwkw
eGE2NmYsIDB4YTY2ZiwKKwkweGE2NzQsIDB4YTY3ZCwKKwkweGE2OWUsIDB4YTY5ZiwKKwkweGE2
ZjAsIDB4YTZmMSwKKwkweGE4MDIsIDB4YTgwMiwKKwkweGE4MDYsIDB4YTgwNiwKKwkweGE4MGIs
IDB4YTgwYiwKKwkweGE4MjUsIDB4YTgyNiwKKwkweGE4YzQsIDB4YThjNSwKKwkweGE4ZTAsIDB4
YThmMSwKKwkweGE4ZmYsIDB4YThmZiwKKwkweGE5MjYsIDB4YTkyZCwKKwkweGE5NDcsIDB4YTk1
MSwKKwkweGE5ODAsIDB4YTk4MiwKKwkweGE5YjMsIDB4YTliMywKKwkweGE5YjYsIDB4YTliOSwK
KwkweGE5YmMsIDB4YTliZCwKKwkweGE5ZTUsIDB4YTllNSwKKwkweGFhMjksIDB4YWEyZSwKKwkw
eGFhMzEsIDB4YWEzMiwKKwkweGFhMzUsIDB4YWEzNiwKKwkweGFhNDMsIDB4YWE0MywKKwkweGFh
NGMsIDB4YWE0YywKKwkweGFhN2MsIDB4YWE3YywKKwkweGFhYjAsIDB4YWFiMCwKKwkweGFhYjIs
IDB4YWFiNCwKKwkweGFhYjcsIDB4YWFiOCwKKwkweGFhYmUsIDB4YWFiZiwKKwkweGFhYzEsIDB4
YWFjMSwKKwkweGFhZWMsIDB4YWFlZCwKKwkweGFhZjYsIDB4YWFmNiwKKwkweGFiZTUsIDB4YWJl
NSwKKwkweGFiZTgsIDB4YWJlOCwKKwkweGFiZWQsIDB4YWJlZCwKKwkweGZiMWUsIDB4ZmIxZSwK
KwkweGZlMDAsIDB4ZmUwZiwKKwkweGZlMjAsIDB4ZmUyZiwKKwkweDEwMWZkLCAweDEwMWZkLAor
CTB4MTAyZTAsIDB4MTAyZTAsCisJMHgxMDM3NiwgMHgxMDM3YSwKKwkweDEwYTAxLCAweDEwYTAz
LAorCTB4MTBhMDUsIDB4MTBhMDYsCisJMHgxMGEwYywgMHgxMGEwZiwKKwkweDEwYTM4LCAweDEw
YTNhLAorCTB4MTBhM2YsIDB4MTBhM2YsCisJMHgxMGFlNSwgMHgxMGFlNiwKKwkweDEwZDI0LCAw
eDEwZDI3LAorCTB4MTBmNDYsIDB4MTBmNTAsCisJMHgxMTAwMSwgMHgxMTAwMSwKKwkweDExMDM4
LCAweDExMDQ2LAorCTB4MTEwN2YsIDB4MTEwODEsCisJMHgxMTBiMywgMHgxMTBiNiwKKwkweDEx
MGI5LCAweDExMGJhLAorCTB4MTExMDAsIDB4MTExMDIsCisJMHgxMTEyNywgMHgxMTEyYiwKKwkw
eDExMTJkLCAweDExMTM0LAorCTB4MTExNzMsIDB4MTExNzMsCisJMHgxMTE4MCwgMHgxMTE4MSwK
KwkweDExMWI2LCAweDExMWJlLAorCTB4MTExYzksIDB4MTExY2MsCisJMHgxMTIyZiwgMHgxMTIz
MSwKKwkweDExMjM0LCAweDExMjM0LAorCTB4MTEyMzYsIDB4MTEyMzcsCisJMHgxMTIzZSwgMHgx
MTIzZSwKKwkweDExMmRmLCAweDExMmRmLAorCTB4MTEyZTMsIDB4MTEyZWEsCisJMHgxMTMwMCwg
MHgxMTMwMSwKKwkweDExMzNiLCAweDExMzNjLAorCTB4MTEzNDAsIDB4MTEzNDAsCisJMHgxMTM2
NiwgMHgxMTM2YywKKwkweDExMzcwLCAweDExMzc0LAorCTB4MTE0MzgsIDB4MTE0M2YsCisJMHgx
MTQ0MiwgMHgxMTQ0NCwKKwkweDExNDQ2LCAweDExNDQ2LAorCTB4MTE0NWUsIDB4MTE0NWUsCisJ
MHgxMTRiMywgMHgxMTRiOCwKKwkweDExNGJhLCAweDExNGJhLAorCTB4MTE0YmYsIDB4MTE0YzAs
CisJMHgxMTRjMiwgMHgxMTRjMywKKwkweDExNWIyLCAweDExNWI1LAorCTB4MTE1YmMsIDB4MTE1
YmQsCisJMHgxMTViZiwgMHgxMTVjMCwKKwkweDExNWRjLCAweDExNWRkLAorCTB4MTE2MzMsIDB4
MTE2M2EsCisJMHgxMTYzZCwgMHgxMTYzZCwKKwkweDExNjNmLCAweDExNjQwLAorCTB4MTE2YWIs
IDB4MTE2YWIsCisJMHgxMTZhZCwgMHgxMTZhZCwKKwkweDExNmIwLCAweDExNmI1LAorCTB4MTE2
YjcsIDB4MTE2YjcsCisJMHgxMTcxZCwgMHgxMTcxZiwKKwkweDExNzIyLCAweDExNzI1LAorCTB4
MTE3MjcsIDB4MTE3MmIsCisJMHgxMTgyZiwgMHgxMTgzNywKKwkweDExODM5LCAweDExODNhLAor
CTB4MTE5ZDQsIDB4MTE5ZDcsCisJMHgxMTlkYSwgMHgxMTlkYiwKKwkweDExOWUwLCAweDExOWUw
LAorCTB4MTFhMDEsIDB4MTFhMGEsCisJMHgxMWEzMywgMHgxMWEzOCwKKwkweDExYTNiLCAweDEx
YTNlLAorCTB4MTFhNDcsIDB4MTFhNDcsCisJMHgxMWE1MSwgMHgxMWE1NiwKKwkweDExYTU5LCAw
eDExYTViLAorCTB4MTFhOGEsIDB4MTFhOTYsCisJMHgxMWE5OCwgMHgxMWE5OSwKKwkweDExYzMw
LCAweDExYzM2LAorCTB4MTFjMzgsIDB4MTFjM2QsCisJMHgxMWMzZiwgMHgxMWMzZiwKKwkweDEx
YzkyLCAweDExY2E3LAorCTB4MTFjYWEsIDB4MTFjYjAsCisJMHgxMWNiMiwgMHgxMWNiMywKKwkw
eDExY2I1LCAweDExY2I2LAorCTB4MTFkMzEsIDB4MTFkMzYsCisJMHgxMWQzYSwgMHgxMWQzYSwK
KwkweDExZDNjLCAweDExZDNkLAorCTB4MTFkM2YsIDB4MTFkNDUsCisJMHgxMWQ0NywgMHgxMWQ0
NywKKwkweDExZDkwLCAweDExZDkxLAorCTB4MTFkOTUsIDB4MTFkOTUsCisJMHgxMWQ5NywgMHgx
MWQ5NywKKwkweDExZWYzLCAweDExZWY0LAorCTB4MTZhZjAsIDB4MTZhZjQsCisJMHgxNmIzMCwg
MHgxNmIzNiwKKwkweDE2ZjRmLCAweDE2ZjRmLAorCTB4MTZmOGYsIDB4MTZmOTIsCisJMHgxYmM5
ZCwgMHgxYmM5ZSwKKwkweDFkMTY3LCAweDFkMTY5LAorCTB4MWQxN2IsIDB4MWQxODIsCisJMHgx
ZDE4NSwgMHgxZDE4YiwKKwkweDFkMWFhLCAweDFkMWFkLAorCTB4MWQyNDIsIDB4MWQyNDQsCisJ
MHgxZGEwMCwgMHgxZGEzNiwKKwkweDFkYTNiLCAweDFkYTZjLAorCTB4MWRhNzUsIDB4MWRhNzUs
CisJMHgxZGE4NCwgMHgxZGE4NCwKKwkweDFkYTliLCAweDFkYTlmLAorCTB4MWRhYTEsIDB4MWRh
YWYsCisJMHgxZTAwMCwgMHgxZTAwNiwKKwkweDFlMDA4LCAweDFlMDE4LAorCTB4MWUwMWIsIDB4
MWUwMjEsCisJMHgxZTAyMywgMHgxZTAyNCwKKwkweDFlMDI2LCAweDFlMDJhLAorCTB4MWUxMzAs
IDB4MWUxMzYsCisJMHgxZTJlYywgMHgxZTJlZiwKKwkweDFlOGQwLCAweDFlOGQ2LAorCTB4MWU5
NDQsIDB4MWU5NGEsCisJMHhlMDEwMCwgMHhlMDFlZiwKK307IC8qIENSX01uICovCisKKy8qICdO
JzogTWFqb3IgQ2F0ZWdvcnkgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX05bXSA9
IHsKKwkxMzAsCisJMHgwMDMwLCAweDAwMzksCisJMHgwMGIyLCAweDAwYjMsCisJMHgwMGI5LCAw
eDAwYjksCisJMHgwMGJjLCAweDAwYmUsCisJMHgwNjYwLCAweDA2NjksCisJMHgwNmYwLCAweDA2
ZjksCisJMHgwN2MwLCAweDA3YzksCisJMHgwOTY2LCAweDA5NmYsCisJMHgwOWU2LCAweDA5ZWYs
CisJMHgwOWY0LCAweDA5ZjksCisJMHgwYTY2LCAweDBhNmYsCisJMHgwYWU2LCAweDBhZWYsCisJ
MHgwYjY2LCAweDBiNmYsCisJMHgwYjcyLCAweDBiNzcsCisJMHgwYmU2LCAweDBiZjIsCisJMHgw
YzY2LCAweDBjNmYsCisJMHgwYzc4LCAweDBjN2UsCisJMHgwY2U2LCAweDBjZWYsCisJMHgwZDU4
LCAweDBkNWUsCisJMHgwZDY2LCAweDBkNzgsCisJMHgwZGU2LCAweDBkZWYsCisJMHgwZTUwLCAw
eDBlNTksCisJMHgwZWQwLCAweDBlZDksCisJMHgwZjIwLCAweDBmMzMsCisJMHgxMDQwLCAweDEw
NDksCisJMHgxMDkwLCAweDEwOTksCisJMHgxMzY5LCAweDEzN2MsCisJMHgxNmVlLCAweDE2ZjAs
CisJMHgxN2UwLCAweDE3ZTksCisJMHgxN2YwLCAweDE3ZjksCisJMHgxODEwLCAweDE4MTksCisJ
MHgxOTQ2LCAweDE5NGYsCisJMHgxOWQwLCAweDE5ZGEsCisJMHgxYTgwLCAweDFhODksCisJMHgx
YTkwLCAweDFhOTksCisJMHgxYjUwLCAweDFiNTksCisJMHgxYmIwLCAweDFiYjksCisJMHgxYzQw
LCAweDFjNDksCisJMHgxYzUwLCAweDFjNTksCisJMHgyMDcwLCAweDIwNzAsCisJMHgyMDc0LCAw
eDIwNzksCisJMHgyMDgwLCAweDIwODksCisJMHgyMTUwLCAweDIxODIsCisJMHgyMTg1LCAweDIx
ODksCisJMHgyNDYwLCAweDI0OWIsCisJMHgyNGVhLCAweDI0ZmYsCisJMHgyNzc2LCAweDI3OTMs
CisJMHgyY2ZkLCAweDJjZmQsCisJMHgzMDA3LCAweDMwMDcsCisJMHgzMDIxLCAweDMwMjksCisJ
MHgzMDM4LCAweDMwM2EsCisJMHgzMTkyLCAweDMxOTUsCisJMHgzMjIwLCAweDMyMjksCisJMHgz
MjQ4LCAweDMyNGYsCisJMHgzMjUxLCAweDMyNWYsCisJMHgzMjgwLCAweDMyODksCisJMHgzMmIx
LCAweDMyYmYsCisJMHhhNjIwLCAweGE2MjksCisJMHhhNmU2LCAweGE2ZWYsCisJMHhhODMwLCAw
eGE4MzUsCisJMHhhOGQwLCAweGE4ZDksCisJMHhhOTAwLCAweGE5MDksCisJMHhhOWQwLCAweGE5
ZDksCisJMHhhOWYwLCAweGE5ZjksCisJMHhhYTUwLCAweGFhNTksCisJMHhhYmYwLCAweGFiZjks
CisJMHhmZjEwLCAweGZmMTksCisJMHgxMDEwNywgMHgxMDEzMywKKwkweDEwMTQwLCAweDEwMTc4
LAorCTB4MTAxOGEsIDB4MTAxOGIsCisJMHgxMDJlMSwgMHgxMDJmYiwKKwkweDEwMzIwLCAweDEw
MzIzLAorCTB4MTAzNDEsIDB4MTAzNDEsCisJMHgxMDM0YSwgMHgxMDM0YSwKKwkweDEwM2QxLCAw
eDEwM2Q1LAorCTB4MTA0YTAsIDB4MTA0YTksCisJMHgxMDg1OCwgMHgxMDg1ZiwKKwkweDEwODc5
LCAweDEwODdmLAorCTB4MTA4YTcsIDB4MTA4YWYsCisJMHgxMDhmYiwgMHgxMDhmZiwKKwkweDEw
OTE2LCAweDEwOTFiLAorCTB4MTA5YmMsIDB4MTA5YmQsCisJMHgxMDljMCwgMHgxMDljZiwKKwkw
eDEwOWQyLCAweDEwOWZmLAorCTB4MTBhNDAsIDB4MTBhNDgsCisJMHgxMGE3ZCwgMHgxMGE3ZSwK
KwkweDEwYTlkLCAweDEwYTlmLAorCTB4MTBhZWIsIDB4MTBhZWYsCisJMHgxMGI1OCwgMHgxMGI1
ZiwKKwkweDEwYjc4LCAweDEwYjdmLAorCTB4MTBiYTksIDB4MTBiYWYsCisJMHgxMGNmYSwgMHgx
MGNmZiwKKwkweDEwZDMwLCAweDEwZDM5LAorCTB4MTBlNjAsIDB4MTBlN2UsCisJMHgxMGYxZCwg
MHgxMGYyNiwKKwkweDEwZjUxLCAweDEwZjU0LAorCTB4MTEwNTIsIDB4MTEwNmYsCisJMHgxMTBm
MCwgMHgxMTBmOSwKKwkweDExMTM2LCAweDExMTNmLAorCTB4MTExZDAsIDB4MTExZDksCisJMHgx
MTFlMSwgMHgxMTFmNCwKKwkweDExMmYwLCAweDExMmY5LAorCTB4MTE0NTAsIDB4MTE0NTksCisJ
MHgxMTRkMCwgMHgxMTRkOSwKKwkweDExNjUwLCAweDExNjU5LAorCTB4MTE2YzAsIDB4MTE2Yzks
CisJMHgxMTczMCwgMHgxMTczYiwKKwkweDExOGUwLCAweDExOGYyLAorCTB4MTFjNTAsIDB4MTFj
NmMsCisJMHgxMWQ1MCwgMHgxMWQ1OSwKKwkweDExZGEwLCAweDExZGE5LAorCTB4MTFmYzAsIDB4
MTFmZDQsCisJMHgxMjQwMCwgMHgxMjQ2ZSwKKwkweDE2YTYwLCAweDE2YTY5LAorCTB4MTZiNTAs
IDB4MTZiNTksCisJMHgxNmI1YiwgMHgxNmI2MSwKKwkweDE2ZTgwLCAweDE2ZTk2LAorCTB4MWQy
ZTAsIDB4MWQyZjMsCisJMHgxZDM2MCwgMHgxZDM3OCwKKwkweDFkN2NlLCAweDFkN2ZmLAorCTB4
MWUxNDAsIDB4MWUxNDksCisJMHgxZTJmMCwgMHgxZTJmOSwKKwkweDFlOGM3LCAweDFlOGNmLAor
CTB4MWU5NTAsIDB4MWU5NTksCisJMHgxZWM3MSwgMHgxZWNhYiwKKwkweDFlY2FkLCAweDFlY2Fm
LAorCTB4MWVjYjEsIDB4MWVjYjQsCisJMHgxZWQwMSwgMHgxZWQyZCwKKwkweDFlZDJmLCAweDFl
ZDNkLAorCTB4MWYxMDAsIDB4MWYxMGMsCit9OyAvKiBDUl9OICovCisKKy8qICdOZCc6IEdlbmVy
YWwgQ2F0ZWdvcnkgKi8KKyNkZWZpbmUgQ1JfTmQgQ1JfRGlnaXQKKworLyogJ05sJzogR2VuZXJh
bCBDYXRlZ29yeSAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfTmxbXSA9IHsKKwkx
MiwKKwkweDE2ZWUsIDB4MTZmMCwKKwkweDIxNjAsIDB4MjE4MiwKKwkweDIxODUsIDB4MjE4OCwK
KwkweDMwMDcsIDB4MzAwNywKKwkweDMwMjEsIDB4MzAyOSwKKwkweDMwMzgsIDB4MzAzYSwKKwkw
eGE2ZTYsIDB4YTZlZiwKKwkweDEwMTQwLCAweDEwMTc0LAorCTB4MTAzNDEsIDB4MTAzNDEsCisJ
MHgxMDM0YSwgMHgxMDM0YSwKKwkweDEwM2QxLCAweDEwM2Q1LAorCTB4MTI0MDAsIDB4MTI0NmUs
Cit9OyAvKiBDUl9ObCAqLworCisvKiAnTm8nOiBHZW5lcmFsIENhdGVnb3J5ICovCitzdGF0aWMg
Y29uc3QgT25pZ0NvZGVQb2ludCBDUl9Ob1tdID0geworCTcwLAorCTB4MDBiMiwgMHgwMGIzLAor
CTB4MDBiOSwgMHgwMGI5LAorCTB4MDBiYywgMHgwMGJlLAorCTB4MDlmNCwgMHgwOWY5LAorCTB4
MGI3MiwgMHgwYjc3LAorCTB4MGJmMCwgMHgwYmYyLAorCTB4MGM3OCwgMHgwYzdlLAorCTB4MGQ1
OCwgMHgwZDVlLAorCTB4MGQ3MCwgMHgwZDc4LAorCTB4MGYyYSwgMHgwZjMzLAorCTB4MTM2OSwg
MHgxMzdjLAorCTB4MTdmMCwgMHgxN2Y5LAorCTB4MTlkYSwgMHgxOWRhLAorCTB4MjA3MCwgMHgy
MDcwLAorCTB4MjA3NCwgMHgyMDc5LAorCTB4MjA4MCwgMHgyMDg5LAorCTB4MjE1MCwgMHgyMTVm
LAorCTB4MjE4OSwgMHgyMTg5LAorCTB4MjQ2MCwgMHgyNDliLAorCTB4MjRlYSwgMHgyNGZmLAor
CTB4Mjc3NiwgMHgyNzkzLAorCTB4MmNmZCwgMHgyY2ZkLAorCTB4MzE5MiwgMHgzMTk1LAorCTB4
MzIyMCwgMHgzMjI5LAorCTB4MzI0OCwgMHgzMjRmLAorCTB4MzI1MSwgMHgzMjVmLAorCTB4MzI4
MCwgMHgzMjg5LAorCTB4MzJiMSwgMHgzMmJmLAorCTB4YTgzMCwgMHhhODM1LAorCTB4MTAxMDcs
IDB4MTAxMzMsCisJMHgxMDE3NSwgMHgxMDE3OCwKKwkweDEwMThhLCAweDEwMThiLAorCTB4MTAy
ZTEsIDB4MTAyZmIsCisJMHgxMDMyMCwgMHgxMDMyMywKKwkweDEwODU4LCAweDEwODVmLAorCTB4
MTA4NzksIDB4MTA4N2YsCisJMHgxMDhhNywgMHgxMDhhZiwKKwkweDEwOGZiLCAweDEwOGZmLAor
CTB4MTA5MTYsIDB4MTA5MWIsCisJMHgxMDliYywgMHgxMDliZCwKKwkweDEwOWMwLCAweDEwOWNm
LAorCTB4MTA5ZDIsIDB4MTA5ZmYsCisJMHgxMGE0MCwgMHgxMGE0OCwKKwkweDEwYTdkLCAweDEw
YTdlLAorCTB4MTBhOWQsIDB4MTBhOWYsCisJMHgxMGFlYiwgMHgxMGFlZiwKKwkweDEwYjU4LCAw
eDEwYjVmLAorCTB4MTBiNzgsIDB4MTBiN2YsCisJMHgxMGJhOSwgMHgxMGJhZiwKKwkweDEwY2Zh
LCAweDEwY2ZmLAorCTB4MTBlNjAsIDB4MTBlN2UsCisJMHgxMGYxZCwgMHgxMGYyNiwKKwkweDEw
ZjUxLCAweDEwZjU0LAorCTB4MTEwNTIsIDB4MTEwNjUsCisJMHgxMTFlMSwgMHgxMTFmNCwKKwkw
eDExNzNhLCAweDExNzNiLAorCTB4MTE4ZWEsIDB4MTE4ZjIsCisJMHgxMWM1YSwgMHgxMWM2YywK
KwkweDExZmMwLCAweDExZmQ0LAorCTB4MTZiNWIsIDB4MTZiNjEsCisJMHgxNmU4MCwgMHgxNmU5
NiwKKwkweDFkMmUwLCAweDFkMmYzLAorCTB4MWQzNjAsIDB4MWQzNzgsCisJMHgxZThjNywgMHgx
ZThjZiwKKwkweDFlYzcxLCAweDFlY2FiLAorCTB4MWVjYWQsIDB4MWVjYWYsCisJMHgxZWNiMSwg
MHgxZWNiNCwKKwkweDFlZDAxLCAweDFlZDJkLAorCTB4MWVkMmYsIDB4MWVkM2QsCisJMHgxZjEw
MCwgMHgxZjEwYywKK307IC8qIENSX05vICovCisKKy8qICdQJzogTWFqb3IgQ2F0ZWdvcnkgKi8K
KyNkZWZpbmUgQ1JfUCBDUl9QdW5jdAorCisvKiAnUGMnOiBHZW5lcmFsIENhdGVnb3J5ICovCitz
dGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9QY1tdID0geworCTYsCisJMHgwMDVmLCAweDAw
NWYsCisJMHgyMDNmLCAweDIwNDAsCisJMHgyMDU0LCAweDIwNTQsCisJMHhmZTMzLCAweGZlMzQs
CisJMHhmZTRkLCAweGZlNGYsCisJMHhmZjNmLCAweGZmM2YsCit9OyAvKiBDUl9QYyAqLworCisv
KiAnUGQnOiBHZW5lcmFsIENhdGVnb3J5ICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBD
Ul9QZFtdID0geworCTE3LAorCTB4MDAyZCwgMHgwMDJkLAorCTB4MDU4YSwgMHgwNThhLAorCTB4
MDViZSwgMHgwNWJlLAorCTB4MTQwMCwgMHgxNDAwLAorCTB4MTgwNiwgMHgxODA2LAorCTB4MjAx
MCwgMHgyMDE1LAorCTB4MmUxNywgMHgyZTE3LAorCTB4MmUxYSwgMHgyZTFhLAorCTB4MmUzYSwg
MHgyZTNiLAorCTB4MmU0MCwgMHgyZTQwLAorCTB4MzAxYywgMHgzMDFjLAorCTB4MzAzMCwgMHgz
MDMwLAorCTB4MzBhMCwgMHgzMGEwLAorCTB4ZmUzMSwgMHhmZTMyLAorCTB4ZmU1OCwgMHhmZTU4
LAorCTB4ZmU2MywgMHhmZTYzLAorCTB4ZmYwZCwgMHhmZjBkLAorfTsgLyogQ1JfUGQgKi8KKwor
LyogJ1BlJzogR2VuZXJhbCBDYXRlZ29yeSAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQg
Q1JfUGVbXSA9IHsKKwk3MiwKKwkweDAwMjksIDB4MDAyOSwKKwkweDAwNWQsIDB4MDA1ZCwKKwkw
eDAwN2QsIDB4MDA3ZCwKKwkweDBmM2IsIDB4MGYzYiwKKwkweDBmM2QsIDB4MGYzZCwKKwkweDE2
OWMsIDB4MTY5YywKKwkweDIwNDYsIDB4MjA0NiwKKwkweDIwN2UsIDB4MjA3ZSwKKwkweDIwOGUs
IDB4MjA4ZSwKKwkweDIzMDksIDB4MjMwOSwKKwkweDIzMGIsIDB4MjMwYiwKKwkweDIzMmEsIDB4
MjMyYSwKKwkweDI3NjksIDB4Mjc2OSwKKwkweDI3NmIsIDB4Mjc2YiwKKwkweDI3NmQsIDB4Mjc2
ZCwKKwkweDI3NmYsIDB4Mjc2ZiwKKwkweDI3NzEsIDB4Mjc3MSwKKwkweDI3NzMsIDB4Mjc3MywK
KwkweDI3NzUsIDB4Mjc3NSwKKwkweDI3YzYsIDB4MjdjNiwKKwkweDI3ZTcsIDB4MjdlNywKKwkw
eDI3ZTksIDB4MjdlOSwKKwkweDI3ZWIsIDB4MjdlYiwKKwkweDI3ZWQsIDB4MjdlZCwKKwkweDI3
ZWYsIDB4MjdlZiwKKwkweDI5ODQsIDB4Mjk4NCwKKwkweDI5ODYsIDB4Mjk4NiwKKwkweDI5ODgs
IDB4Mjk4OCwKKwkweDI5OGEsIDB4Mjk4YSwKKwkweDI5OGMsIDB4Mjk4YywKKwkweDI5OGUsIDB4
Mjk4ZSwKKwkweDI5OTAsIDB4Mjk5MCwKKwkweDI5OTIsIDB4Mjk5MiwKKwkweDI5OTQsIDB4Mjk5
NCwKKwkweDI5OTYsIDB4Mjk5NiwKKwkweDI5OTgsIDB4Mjk5OCwKKwkweDI5ZDksIDB4MjlkOSwK
KwkweDI5ZGIsIDB4MjlkYiwKKwkweDI5ZmQsIDB4MjlmZCwKKwkweDJlMjMsIDB4MmUyMywKKwkw
eDJlMjUsIDB4MmUyNSwKKwkweDJlMjcsIDB4MmUyNywKKwkweDJlMjksIDB4MmUyOSwKKwkweDMw
MDksIDB4MzAwOSwKKwkweDMwMGIsIDB4MzAwYiwKKwkweDMwMGQsIDB4MzAwZCwKKwkweDMwMGYs
IDB4MzAwZiwKKwkweDMwMTEsIDB4MzAxMSwKKwkweDMwMTUsIDB4MzAxNSwKKwkweDMwMTcsIDB4
MzAxNywKKwkweDMwMTksIDB4MzAxOSwKKwkweDMwMWIsIDB4MzAxYiwKKwkweDMwMWUsIDB4MzAx
ZiwKKwkweGZkM2UsIDB4ZmQzZSwKKwkweGZlMTgsIDB4ZmUxOCwKKwkweGZlMzYsIDB4ZmUzNiwK
KwkweGZlMzgsIDB4ZmUzOCwKKwkweGZlM2EsIDB4ZmUzYSwKKwkweGZlM2MsIDB4ZmUzYywKKwkw
eGZlM2UsIDB4ZmUzZSwKKwkweGZlNDAsIDB4ZmU0MCwKKwkweGZlNDIsIDB4ZmU0MiwKKwkweGZl
NDQsIDB4ZmU0NCwKKwkweGZlNDgsIDB4ZmU0OCwKKwkweGZlNWEsIDB4ZmU1YSwKKwkweGZlNWMs
IDB4ZmU1YywKKwkweGZlNWUsIDB4ZmU1ZSwKKwkweGZmMDksIDB4ZmYwOSwKKwkweGZmM2QsIDB4
ZmYzZCwKKwkweGZmNWQsIDB4ZmY1ZCwKKwkweGZmNjAsIDB4ZmY2MCwKKwkweGZmNjMsIDB4ZmY2
MywKK307IC8qIENSX1BlICovCisKKy8qICdQZic6IEdlbmVyYWwgQ2F0ZWdvcnkgKi8KK3N0YXRp
YyBjb25zdCBPbmlnQ29kZVBvaW50IENSX1BmW10gPSB7CisJMTAsCisJMHgwMGJiLCAweDAwYmIs
CisJMHgyMDE5LCAweDIwMTksCisJMHgyMDFkLCAweDIwMWQsCisJMHgyMDNhLCAweDIwM2EsCisJ
MHgyZTAzLCAweDJlMDMsCisJMHgyZTA1LCAweDJlMDUsCisJMHgyZTBhLCAweDJlMGEsCisJMHgy
ZTBkLCAweDJlMGQsCisJMHgyZTFkLCAweDJlMWQsCisJMHgyZTIxLCAweDJlMjEsCit9OyAvKiBD
Ul9QZiAqLworCisvKiAnUGknOiBHZW5lcmFsIENhdGVnb3J5ICovCitzdGF0aWMgY29uc3QgT25p
Z0NvZGVQb2ludCBDUl9QaVtdID0geworCTExLAorCTB4MDBhYiwgMHgwMGFiLAorCTB4MjAxOCwg
MHgyMDE4LAorCTB4MjAxYiwgMHgyMDFjLAorCTB4MjAxZiwgMHgyMDFmLAorCTB4MjAzOSwgMHgy
MDM5LAorCTB4MmUwMiwgMHgyZTAyLAorCTB4MmUwNCwgMHgyZTA0LAorCTB4MmUwOSwgMHgyZTA5
LAorCTB4MmUwYywgMHgyZTBjLAorCTB4MmUxYywgMHgyZTFjLAorCTB4MmUyMCwgMHgyZTIwLAor
fTsgLyogQ1JfUGkgKi8KKworLyogJ1BvJzogR2VuZXJhbCBDYXRlZ29yeSAqLworc3RhdGljIGNv
bnN0IE9uaWdDb2RlUG9pbnQgQ1JfUG9bXSA9IHsKKwkxNzksCisJMHgwMDIxLCAweDAwMjMsCisJ
MHgwMDI1LCAweDAwMjcsCisJMHgwMDJhLCAweDAwMmEsCisJMHgwMDJjLCAweDAwMmMsCisJMHgw
MDJlLCAweDAwMmYsCisJMHgwMDNhLCAweDAwM2IsCisJMHgwMDNmLCAweDAwNDAsCisJMHgwMDVj
LCAweDAwNWMsCisJMHgwMGExLCAweDAwYTEsCisJMHgwMGE3LCAweDAwYTcsCisJMHgwMGI2LCAw
eDAwYjcsCisJMHgwMGJmLCAweDAwYmYsCisJMHgwMzdlLCAweDAzN2UsCisJMHgwMzg3LCAweDAz
ODcsCisJMHgwNTVhLCAweDA1NWYsCisJMHgwNTg5LCAweDA1ODksCisJMHgwNWMwLCAweDA1YzAs
CisJMHgwNWMzLCAweDA1YzMsCisJMHgwNWM2LCAweDA1YzYsCisJMHgwNWYzLCAweDA1ZjQsCisJ
MHgwNjA5LCAweDA2MGEsCisJMHgwNjBjLCAweDA2MGQsCisJMHgwNjFiLCAweDA2MWIsCisJMHgw
NjFlLCAweDA2MWYsCisJMHgwNjZhLCAweDA2NmQsCisJMHgwNmQ0LCAweDA2ZDQsCisJMHgwNzAw
LCAweDA3MGQsCisJMHgwN2Y3LCAweDA3ZjksCisJMHgwODMwLCAweDA4M2UsCisJMHgwODVlLCAw
eDA4NWUsCisJMHgwOTY0LCAweDA5NjUsCisJMHgwOTcwLCAweDA5NzAsCisJMHgwOWZkLCAweDA5
ZmQsCisJMHgwYTc2LCAweDBhNzYsCisJMHgwYWYwLCAweDBhZjAsCisJMHgwYzc3LCAweDBjNzcs
CisJMHgwYzg0LCAweDBjODQsCisJMHgwZGY0LCAweDBkZjQsCisJMHgwZTRmLCAweDBlNGYsCisJ
MHgwZTVhLCAweDBlNWIsCisJMHgwZjA0LCAweDBmMTIsCisJMHgwZjE0LCAweDBmMTQsCisJMHgw
Zjg1LCAweDBmODUsCisJMHgwZmQwLCAweDBmZDQsCisJMHgwZmQ5LCAweDBmZGEsCisJMHgxMDRh
LCAweDEwNGYsCisJMHgxMGZiLCAweDEwZmIsCisJMHgxMzYwLCAweDEzNjgsCisJMHgxNjZlLCAw
eDE2NmUsCisJMHgxNmViLCAweDE2ZWQsCisJMHgxNzM1LCAweDE3MzYsCisJMHgxN2Q0LCAweDE3
ZDYsCisJMHgxN2Q4LCAweDE3ZGEsCisJMHgxODAwLCAweDE4MDUsCisJMHgxODA3LCAweDE4MGEs
CisJMHgxOTQ0LCAweDE5NDUsCisJMHgxYTFlLCAweDFhMWYsCisJMHgxYWEwLCAweDFhYTYsCisJ
MHgxYWE4LCAweDFhYWQsCisJMHgxYjVhLCAweDFiNjAsCisJMHgxYmZjLCAweDFiZmYsCisJMHgx
YzNiLCAweDFjM2YsCisJMHgxYzdlLCAweDFjN2YsCisJMHgxY2MwLCAweDFjYzcsCisJMHgxY2Qz
LCAweDFjZDMsCisJMHgyMDE2LCAweDIwMTcsCisJMHgyMDIwLCAweDIwMjcsCisJMHgyMDMwLCAw
eDIwMzgsCisJMHgyMDNiLCAweDIwM2UsCisJMHgyMDQxLCAweDIwNDMsCisJMHgyMDQ3LCAweDIw
NTEsCisJMHgyMDUzLCAweDIwNTMsCisJMHgyMDU1LCAweDIwNWUsCisJMHgyY2Y5LCAweDJjZmMs
CisJMHgyY2ZlLCAweDJjZmYsCisJMHgyZDcwLCAweDJkNzAsCisJMHgyZTAwLCAweDJlMDEsCisJ
MHgyZTA2LCAweDJlMDgsCisJMHgyZTBiLCAweDJlMGIsCisJMHgyZTBlLCAweDJlMTYsCisJMHgy
ZTE4LCAweDJlMTksCisJMHgyZTFiLCAweDJlMWIsCisJMHgyZTFlLCAweDJlMWYsCisJMHgyZTJh
LCAweDJlMmUsCisJMHgyZTMwLCAweDJlMzksCisJMHgyZTNjLCAweDJlM2YsCisJMHgyZTQxLCAw
eDJlNDEsCisJMHgyZTQzLCAweDJlNGYsCisJMHgzMDAxLCAweDMwMDMsCisJMHgzMDNkLCAweDMw
M2QsCisJMHgzMGZiLCAweDMwZmIsCisJMHhhNGZlLCAweGE0ZmYsCisJMHhhNjBkLCAweGE2MGYs
CisJMHhhNjczLCAweGE2NzMsCisJMHhhNjdlLCAweGE2N2UsCisJMHhhNmYyLCAweGE2ZjcsCisJ
MHhhODc0LCAweGE4NzcsCisJMHhhOGNlLCAweGE4Y2YsCisJMHhhOGY4LCAweGE4ZmEsCisJMHhh
OGZjLCAweGE4ZmMsCisJMHhhOTJlLCAweGE5MmYsCisJMHhhOTVmLCAweGE5NWYsCisJMHhhOWMx
LCAweGE5Y2QsCisJMHhhOWRlLCAweGE5ZGYsCisJMHhhYTVjLCAweGFhNWYsCisJMHhhYWRlLCAw
eGFhZGYsCisJMHhhYWYwLCAweGFhZjEsCisJMHhhYmViLCAweGFiZWIsCisJMHhmZTEwLCAweGZl
MTYsCisJMHhmZTE5LCAweGZlMTksCisJMHhmZTMwLCAweGZlMzAsCisJMHhmZTQ1LCAweGZlNDYs
CisJMHhmZTQ5LCAweGZlNGMsCisJMHhmZTUwLCAweGZlNTIsCisJMHhmZTU0LCAweGZlNTcsCisJ
MHhmZTVmLCAweGZlNjEsCisJMHhmZTY4LCAweGZlNjgsCisJMHhmZTZhLCAweGZlNmIsCisJMHhm
ZjAxLCAweGZmMDMsCisJMHhmZjA1LCAweGZmMDcsCisJMHhmZjBhLCAweGZmMGEsCisJMHhmZjBj
LCAweGZmMGMsCisJMHhmZjBlLCAweGZmMGYsCisJMHhmZjFhLCAweGZmMWIsCisJMHhmZjFmLCAw
eGZmMjAsCisJMHhmZjNjLCAweGZmM2MsCisJMHhmZjYxLCAweGZmNjEsCisJMHhmZjY0LCAweGZm
NjUsCisJMHgxMDEwMCwgMHgxMDEwMiwKKwkweDEwMzlmLCAweDEwMzlmLAorCTB4MTAzZDAsIDB4
MTAzZDAsCisJMHgxMDU2ZiwgMHgxMDU2ZiwKKwkweDEwODU3LCAweDEwODU3LAorCTB4MTA5MWYs
IDB4MTA5MWYsCisJMHgxMDkzZiwgMHgxMDkzZiwKKwkweDEwYTUwLCAweDEwYTU4LAorCTB4MTBh
N2YsIDB4MTBhN2YsCisJMHgxMGFmMCwgMHgxMGFmNiwKKwkweDEwYjM5LCAweDEwYjNmLAorCTB4
MTBiOTksIDB4MTBiOWMsCisJMHgxMGY1NSwgMHgxMGY1OSwKKwkweDExMDQ3LCAweDExMDRkLAor
CTB4MTEwYmIsIDB4MTEwYmMsCisJMHgxMTBiZSwgMHgxMTBjMSwKKwkweDExMTQwLCAweDExMTQz
LAorCTB4MTExNzQsIDB4MTExNzUsCisJMHgxMTFjNSwgMHgxMTFjOCwKKwkweDExMWNkLCAweDEx
MWNkLAorCTB4MTExZGIsIDB4MTExZGIsCisJMHgxMTFkZCwgMHgxMTFkZiwKKwkweDExMjM4LCAw
eDExMjNkLAorCTB4MTEyYTksIDB4MTEyYTksCisJMHgxMTQ0YiwgMHgxMTQ0ZiwKKwkweDExNDVi
LCAweDExNDViLAorCTB4MTE0NWQsIDB4MTE0NWQsCisJMHgxMTRjNiwgMHgxMTRjNiwKKwkweDEx
NWMxLCAweDExNWQ3LAorCTB4MTE2NDEsIDB4MTE2NDMsCisJMHgxMTY2MCwgMHgxMTY2YywKKwkw
eDExNzNjLCAweDExNzNlLAorCTB4MTE4M2IsIDB4MTE4M2IsCisJMHgxMTllMiwgMHgxMTllMiwK
KwkweDExYTNmLCAweDExYTQ2LAorCTB4MTFhOWEsIDB4MTFhOWMsCisJMHgxMWE5ZSwgMHgxMWFh
MiwKKwkweDExYzQxLCAweDExYzQ1LAorCTB4MTFjNzAsIDB4MTFjNzEsCisJMHgxMWVmNywgMHgx
MWVmOCwKKwkweDExZmZmLCAweDExZmZmLAorCTB4MTI0NzAsIDB4MTI0NzQsCisJMHgxNmE2ZSwg
MHgxNmE2ZiwKKwkweDE2YWY1LCAweDE2YWY1LAorCTB4MTZiMzcsIDB4MTZiM2IsCisJMHgxNmI0
NCwgMHgxNmI0NCwKKwkweDE2ZTk3LCAweDE2ZTlhLAorCTB4MTZmZTIsIDB4MTZmZTIsCisJMHgx
YmM5ZiwgMHgxYmM5ZiwKKwkweDFkYTg3LCAweDFkYThiLAorCTB4MWU5NWUsIDB4MWU5NWYsCit9
OyAvKiBDUl9QbyAqLworCisvKiAnUHMnOiBHZW5lcmFsIENhdGVnb3J5ICovCitzdGF0aWMgY29u
c3QgT25pZ0NvZGVQb2ludCBDUl9Qc1tdID0geworCTc1LAorCTB4MDAyOCwgMHgwMDI4LAorCTB4
MDA1YiwgMHgwMDViLAorCTB4MDA3YiwgMHgwMDdiLAorCTB4MGYzYSwgMHgwZjNhLAorCTB4MGYz
YywgMHgwZjNjLAorCTB4MTY5YiwgMHgxNjliLAorCTB4MjAxYSwgMHgyMDFhLAorCTB4MjAxZSwg
MHgyMDFlLAorCTB4MjA0NSwgMHgyMDQ1LAorCTB4MjA3ZCwgMHgyMDdkLAorCTB4MjA4ZCwgMHgy
MDhkLAorCTB4MjMwOCwgMHgyMzA4LAorCTB4MjMwYSwgMHgyMzBhLAorCTB4MjMyOSwgMHgyMzI5
LAorCTB4Mjc2OCwgMHgyNzY4LAorCTB4Mjc2YSwgMHgyNzZhLAorCTB4Mjc2YywgMHgyNzZjLAor
CTB4Mjc2ZSwgMHgyNzZlLAorCTB4Mjc3MCwgMHgyNzcwLAorCTB4Mjc3MiwgMHgyNzcyLAorCTB4
Mjc3NCwgMHgyNzc0LAorCTB4MjdjNSwgMHgyN2M1LAorCTB4MjdlNiwgMHgyN2U2LAorCTB4Mjdl
OCwgMHgyN2U4LAorCTB4MjdlYSwgMHgyN2VhLAorCTB4MjdlYywgMHgyN2VjLAorCTB4MjdlZSwg
MHgyN2VlLAorCTB4Mjk4MywgMHgyOTgzLAorCTB4Mjk4NSwgMHgyOTg1LAorCTB4Mjk4NywgMHgy
OTg3LAorCTB4Mjk4OSwgMHgyOTg5LAorCTB4Mjk4YiwgMHgyOThiLAorCTB4Mjk4ZCwgMHgyOThk
LAorCTB4Mjk4ZiwgMHgyOThmLAorCTB4Mjk5MSwgMHgyOTkxLAorCTB4Mjk5MywgMHgyOTkzLAor
CTB4Mjk5NSwgMHgyOTk1LAorCTB4Mjk5NywgMHgyOTk3LAorCTB4MjlkOCwgMHgyOWQ4LAorCTB4
MjlkYSwgMHgyOWRhLAorCTB4MjlmYywgMHgyOWZjLAorCTB4MmUyMiwgMHgyZTIyLAorCTB4MmUy
NCwgMHgyZTI0LAorCTB4MmUyNiwgMHgyZTI2LAorCTB4MmUyOCwgMHgyZTI4LAorCTB4MmU0Miwg
MHgyZTQyLAorCTB4MzAwOCwgMHgzMDA4LAorCTB4MzAwYSwgMHgzMDBhLAorCTB4MzAwYywgMHgz
MDBjLAorCTB4MzAwZSwgMHgzMDBlLAorCTB4MzAxMCwgMHgzMDEwLAorCTB4MzAxNCwgMHgzMDE0
LAorCTB4MzAxNiwgMHgzMDE2LAorCTB4MzAxOCwgMHgzMDE4LAorCTB4MzAxYSwgMHgzMDFhLAor
CTB4MzAxZCwgMHgzMDFkLAorCTB4ZmQzZiwgMHhmZDNmLAorCTB4ZmUxNywgMHhmZTE3LAorCTB4
ZmUzNSwgMHhmZTM1LAorCTB4ZmUzNywgMHhmZTM3LAorCTB4ZmUzOSwgMHhmZTM5LAorCTB4ZmUz
YiwgMHhmZTNiLAorCTB4ZmUzZCwgMHhmZTNkLAorCTB4ZmUzZiwgMHhmZTNmLAorCTB4ZmU0MSwg
MHhmZTQxLAorCTB4ZmU0MywgMHhmZTQzLAorCTB4ZmU0NywgMHhmZTQ3LAorCTB4ZmU1OSwgMHhm
ZTU5LAorCTB4ZmU1YiwgMHhmZTViLAorCTB4ZmU1ZCwgMHhmZTVkLAorCTB4ZmYwOCwgMHhmZjA4
LAorCTB4ZmYzYiwgMHhmZjNiLAorCTB4ZmY1YiwgMHhmZjViLAorCTB4ZmY1ZiwgMHhmZjVmLAor
CTB4ZmY2MiwgMHhmZjYyLAorfTsgLyogQ1JfUHMgKi8KKworLyogJ1MnOiBNYWpvciBDYXRlZ29y
eSAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfU1tdID0geworCTIyNiwKKwkweDAw
MjQsIDB4MDAyNCwKKwkweDAwMmIsIDB4MDAyYiwKKwkweDAwM2MsIDB4MDAzZSwKKwkweDAwNWUs
IDB4MDA1ZSwKKwkweDAwNjAsIDB4MDA2MCwKKwkweDAwN2MsIDB4MDA3YywKKwkweDAwN2UsIDB4
MDA3ZSwKKwkweDAwYTIsIDB4MDBhNiwKKwkweDAwYTgsIDB4MDBhOSwKKwkweDAwYWMsIDB4MDBh
YywKKwkweDAwYWUsIDB4MDBiMSwKKwkweDAwYjQsIDB4MDBiNCwKKwkweDAwYjgsIDB4MDBiOCwK
KwkweDAwZDcsIDB4MDBkNywKKwkweDAwZjcsIDB4MDBmNywKKwkweDAyYzIsIDB4MDJjNSwKKwkw
eDAyZDIsIDB4MDJkZiwKKwkweDAyZTUsIDB4MDJlYiwKKwkweDAyZWQsIDB4MDJlZCwKKwkweDAy
ZWYsIDB4MDJmZiwKKwkweDAzNzUsIDB4MDM3NSwKKwkweDAzODQsIDB4MDM4NSwKKwkweDAzZjYs
IDB4MDNmNiwKKwkweDA0ODIsIDB4MDQ4MiwKKwkweDA1OGQsIDB4MDU4ZiwKKwkweDA2MDYsIDB4
MDYwOCwKKwkweDA2MGIsIDB4MDYwYiwKKwkweDA2MGUsIDB4MDYwZiwKKwkweDA2ZGUsIDB4MDZk
ZSwKKwkweDA2ZTksIDB4MDZlOSwKKwkweDA2ZmQsIDB4MDZmZSwKKwkweDA3ZjYsIDB4MDdmNiwK
KwkweDA3ZmUsIDB4MDdmZiwKKwkweDA5ZjIsIDB4MDlmMywKKwkweDA5ZmEsIDB4MDlmYiwKKwkw
eDBhZjEsIDB4MGFmMSwKKwkweDBiNzAsIDB4MGI3MCwKKwkweDBiZjMsIDB4MGJmYSwKKwkweDBj
N2YsIDB4MGM3ZiwKKwkweDBkNGYsIDB4MGQ0ZiwKKwkweDBkNzksIDB4MGQ3OSwKKwkweDBlM2Ys
IDB4MGUzZiwKKwkweDBmMDEsIDB4MGYwMywKKwkweDBmMTMsIDB4MGYxMywKKwkweDBmMTUsIDB4
MGYxNywKKwkweDBmMWEsIDB4MGYxZiwKKwkweDBmMzQsIDB4MGYzNCwKKwkweDBmMzYsIDB4MGYz
NiwKKwkweDBmMzgsIDB4MGYzOCwKKwkweDBmYmUsIDB4MGZjNSwKKwkweDBmYzcsIDB4MGZjYywK
KwkweDBmY2UsIDB4MGZjZiwKKwkweDBmZDUsIDB4MGZkOCwKKwkweDEwOWUsIDB4MTA5ZiwKKwkw
eDEzOTAsIDB4MTM5OSwKKwkweDE2NmQsIDB4MTY2ZCwKKwkweDE3ZGIsIDB4MTdkYiwKKwkweDE5
NDAsIDB4MTk0MCwKKwkweDE5ZGUsIDB4MTlmZiwKKwkweDFiNjEsIDB4MWI2YSwKKwkweDFiNzQs
IDB4MWI3YywKKwkweDFmYmQsIDB4MWZiZCwKKwkweDFmYmYsIDB4MWZjMSwKKwkweDFmY2QsIDB4
MWZjZiwKKwkweDFmZGQsIDB4MWZkZiwKKwkweDFmZWQsIDB4MWZlZiwKKwkweDFmZmQsIDB4MWZm
ZSwKKwkweDIwNDQsIDB4MjA0NCwKKwkweDIwNTIsIDB4MjA1MiwKKwkweDIwN2EsIDB4MjA3YywK
KwkweDIwOGEsIDB4MjA4YywKKwkweDIwYTAsIDB4MjBiZiwKKwkweDIxMDAsIDB4MjEwMSwKKwkw
eDIxMDMsIDB4MjEwNiwKKwkweDIxMDgsIDB4MjEwOSwKKwkweDIxMTQsIDB4MjExNCwKKwkweDIx
MTYsIDB4MjExOCwKKwkweDIxMWUsIDB4MjEyMywKKwkweDIxMjUsIDB4MjEyNSwKKwkweDIxMjcs
IDB4MjEyNywKKwkweDIxMjksIDB4MjEyOSwKKwkweDIxMmUsIDB4MjEyZSwKKwkweDIxM2EsIDB4
MjEzYiwKKwkweDIxNDAsIDB4MjE0NCwKKwkweDIxNGEsIDB4MjE0ZCwKKwkweDIxNGYsIDB4MjE0
ZiwKKwkweDIxOGEsIDB4MjE4YiwKKwkweDIxOTAsIDB4MjMwNywKKwkweDIzMGMsIDB4MjMyOCwK
KwkweDIzMmIsIDB4MjQyNiwKKwkweDI0NDAsIDB4MjQ0YSwKKwkweDI0OWMsIDB4MjRlOSwKKwkw
eDI1MDAsIDB4Mjc2NywKKwkweDI3OTQsIDB4MjdjNCwKKwkweDI3YzcsIDB4MjdlNSwKKwkweDI3
ZjAsIDB4Mjk4MiwKKwkweDI5OTksIDB4MjlkNywKKwkweDI5ZGMsIDB4MjlmYiwKKwkweDI5ZmUs
IDB4MmI3MywKKwkweDJiNzYsIDB4MmI5NSwKKwkweDJiOTgsIDB4MmJmZiwKKwkweDJjZTUsIDB4
MmNlYSwKKwkweDJlODAsIDB4MmU5OSwKKwkweDJlOWIsIDB4MmVmMywKKwkweDJmMDAsIDB4MmZk
NSwKKwkweDJmZjAsIDB4MmZmYiwKKwkweDMwMDQsIDB4MzAwNCwKKwkweDMwMTIsIDB4MzAxMywK
KwkweDMwMjAsIDB4MzAyMCwKKwkweDMwMzYsIDB4MzAzNywKKwkweDMwM2UsIDB4MzAzZiwKKwkw
eDMwOWIsIDB4MzA5YywKKwkweDMxOTAsIDB4MzE5MSwKKwkweDMxOTYsIDB4MzE5ZiwKKwkweDMx
YzAsIDB4MzFlMywKKwkweDMyMDAsIDB4MzIxZSwKKwkweDMyMmEsIDB4MzI0NywKKwkweDMyNTAs
IDB4MzI1MCwKKwkweDMyNjAsIDB4MzI3ZiwKKwkweDMyOGEsIDB4MzJiMCwKKwkweDMyYzAsIDB4
MzNmZiwKKwkweDRkYzAsIDB4NGRmZiwKKwkweGE0OTAsIDB4YTRjNiwKKwkweGE3MDAsIDB4YTcx
NiwKKwkweGE3MjAsIDB4YTcyMSwKKwkweGE3ODksIDB4YTc4YSwKKwkweGE4MjgsIDB4YTgyYiwK
KwkweGE4MzYsIDB4YTgzOSwKKwkweGFhNzcsIDB4YWE3OSwKKwkweGFiNWIsIDB4YWI1YiwKKwkw
eGZiMjksIDB4ZmIyOSwKKwkweGZiYjIsIDB4ZmJjMSwKKwkweGZkZmMsIDB4ZmRmZCwKKwkweGZl
NjIsIDB4ZmU2MiwKKwkweGZlNjQsIDB4ZmU2NiwKKwkweGZlNjksIDB4ZmU2OSwKKwkweGZmMDQs
IDB4ZmYwNCwKKwkweGZmMGIsIDB4ZmYwYiwKKwkweGZmMWMsIDB4ZmYxZSwKKwkweGZmM2UsIDB4
ZmYzZSwKKwkweGZmNDAsIDB4ZmY0MCwKKwkweGZmNWMsIDB4ZmY1YywKKwkweGZmNWUsIDB4ZmY1
ZSwKKwkweGZmZTAsIDB4ZmZlNiwKKwkweGZmZTgsIDB4ZmZlZSwKKwkweGZmZmMsIDB4ZmZmZCwK
KwkweDEwMTM3LCAweDEwMTNmLAorCTB4MTAxNzksIDB4MTAxODksCisJMHgxMDE4YywgMHgxMDE4
ZSwKKwkweDEwMTkwLCAweDEwMTliLAorCTB4MTAxYTAsIDB4MTAxYTAsCisJMHgxMDFkMCwgMHgx
MDFmYywKKwkweDEwODc3LCAweDEwODc4LAorCTB4MTBhYzgsIDB4MTBhYzgsCisJMHgxMTczZiwg
MHgxMTczZiwKKwkweDExZmQ1LCAweDExZmYxLAorCTB4MTZiM2MsIDB4MTZiM2YsCisJMHgxNmI0
NSwgMHgxNmI0NSwKKwkweDFiYzljLCAweDFiYzljLAorCTB4MWQwMDAsIDB4MWQwZjUsCisJMHgx
ZDEwMCwgMHgxZDEyNiwKKwkweDFkMTI5LCAweDFkMTY0LAorCTB4MWQxNmEsIDB4MWQxNmMsCisJ
MHgxZDE4MywgMHgxZDE4NCwKKwkweDFkMThjLCAweDFkMWE5LAorCTB4MWQxYWUsIDB4MWQxZTgs
CisJMHgxZDIwMCwgMHgxZDI0MSwKKwkweDFkMjQ1LCAweDFkMjQ1LAorCTB4MWQzMDAsIDB4MWQz
NTYsCisJMHgxZDZjMSwgMHgxZDZjMSwKKwkweDFkNmRiLCAweDFkNmRiLAorCTB4MWQ2ZmIsIDB4
MWQ2ZmIsCisJMHgxZDcxNSwgMHgxZDcxNSwKKwkweDFkNzM1LCAweDFkNzM1LAorCTB4MWQ3NGYs
IDB4MWQ3NGYsCisJMHgxZDc2ZiwgMHgxZDc2ZiwKKwkweDFkNzg5LCAweDFkNzg5LAorCTB4MWQ3
YTksIDB4MWQ3YTksCisJMHgxZDdjMywgMHgxZDdjMywKKwkweDFkODAwLCAweDFkOWZmLAorCTB4
MWRhMzcsIDB4MWRhM2EsCisJMHgxZGE2ZCwgMHgxZGE3NCwKKwkweDFkYTc2LCAweDFkYTgzLAor
CTB4MWRhODUsIDB4MWRhODYsCisJMHgxZTE0ZiwgMHgxZTE0ZiwKKwkweDFlMmZmLCAweDFlMmZm
LAorCTB4MWVjYWMsIDB4MWVjYWMsCisJMHgxZWNiMCwgMHgxZWNiMCwKKwkweDFlZDJlLCAweDFl
ZDJlLAorCTB4MWVlZjAsIDB4MWVlZjEsCisJMHgxZjAwMCwgMHgxZjAyYiwKKwkweDFmMDMwLCAw
eDFmMDkzLAorCTB4MWYwYTAsIDB4MWYwYWUsCisJMHgxZjBiMSwgMHgxZjBiZiwKKwkweDFmMGMx
LCAweDFmMGNmLAorCTB4MWYwZDEsIDB4MWYwZjUsCisJMHgxZjExMCwgMHgxZjE2YywKKwkweDFm
MTcwLCAweDFmMWFjLAorCTB4MWYxZTYsIDB4MWYyMDIsCisJMHgxZjIxMCwgMHgxZjIzYiwKKwkw
eDFmMjQwLCAweDFmMjQ4LAorCTB4MWYyNTAsIDB4MWYyNTEsCisJMHgxZjI2MCwgMHgxZjI2NSwK
KwkweDFmMzAwLCAweDFmNmQ1LAorCTB4MWY2ZTAsIDB4MWY2ZWMsCisJMHgxZjZmMCwgMHgxZjZm
YSwKKwkweDFmNzAwLCAweDFmNzczLAorCTB4MWY3ODAsIDB4MWY3ZDgsCisJMHgxZjdlMCwgMHgx
ZjdlYiwKKwkweDFmODAwLCAweDFmODBiLAorCTB4MWY4MTAsIDB4MWY4NDcsCisJMHgxZjg1MCwg
MHgxZjg1OSwKKwkweDFmODYwLCAweDFmODg3LAorCTB4MWY4OTAsIDB4MWY4YWQsCisJMHgxZjkw
MCwgMHgxZjkwYiwKKwkweDFmOTBkLCAweDFmOTcxLAorCTB4MWY5NzMsIDB4MWY5NzYsCisJMHgx
Zjk3YSwgMHgxZjlhMiwKKwkweDFmOWE1LCAweDFmOWFhLAorCTB4MWY5YWUsIDB4MWY5Y2EsCisJ
MHgxZjljZCwgMHgxZmE1MywKKwkweDFmYTYwLCAweDFmYTZkLAorCTB4MWZhNzAsIDB4MWZhNzMs
CisJMHgxZmE3OCwgMHgxZmE3YSwKKwkweDFmYTgwLCAweDFmYTgyLAorCTB4MWZhOTAsIDB4MWZh
OTUsCit9OyAvKiBDUl9TICovCisKKy8qICdTYyc6IEdlbmVyYWwgQ2F0ZWdvcnkgKi8KK3N0YXRp
YyBjb25zdCBPbmlnQ29kZVBvaW50IENSX1NjW10gPSB7CisJMjEsCisJMHgwMDI0LCAweDAwMjQs
CisJMHgwMGEyLCAweDAwYTUsCisJMHgwNThmLCAweDA1OGYsCisJMHgwNjBiLCAweDA2MGIsCisJ
MHgwN2ZlLCAweDA3ZmYsCisJMHgwOWYyLCAweDA5ZjMsCisJMHgwOWZiLCAweDA5ZmIsCisJMHgw
YWYxLCAweDBhZjEsCisJMHgwYmY5LCAweDBiZjksCisJMHgwZTNmLCAweDBlM2YsCisJMHgxN2Ri
LCAweDE3ZGIsCisJMHgyMGEwLCAweDIwYmYsCisJMHhhODM4LCAweGE4MzgsCisJMHhmZGZjLCAw
eGZkZmMsCisJMHhmZTY5LCAweGZlNjksCisJMHhmZjA0LCAweGZmMDQsCisJMHhmZmUwLCAweGZm
ZTEsCisJMHhmZmU1LCAweGZmZTYsCisJMHgxMWZkZCwgMHgxMWZlMCwKKwkweDFlMmZmLCAweDFl
MmZmLAorCTB4MWVjYjAsIDB4MWVjYjAsCit9OyAvKiBDUl9TYyAqLworCisvKiAnU2snOiBHZW5l
cmFsIENhdGVnb3J5ICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Ta1tdID0gewor
CTI5LAorCTB4MDA1ZSwgMHgwMDVlLAorCTB4MDA2MCwgMHgwMDYwLAorCTB4MDBhOCwgMHgwMGE4
LAorCTB4MDBhZiwgMHgwMGFmLAorCTB4MDBiNCwgMHgwMGI0LAorCTB4MDBiOCwgMHgwMGI4LAor
CTB4MDJjMiwgMHgwMmM1LAorCTB4MDJkMiwgMHgwMmRmLAorCTB4MDJlNSwgMHgwMmViLAorCTB4
MDJlZCwgMHgwMmVkLAorCTB4MDJlZiwgMHgwMmZmLAorCTB4MDM3NSwgMHgwMzc1LAorCTB4MDM4
NCwgMHgwMzg1LAorCTB4MWZiZCwgMHgxZmJkLAorCTB4MWZiZiwgMHgxZmMxLAorCTB4MWZjZCwg
MHgxZmNmLAorCTB4MWZkZCwgMHgxZmRmLAorCTB4MWZlZCwgMHgxZmVmLAorCTB4MWZmZCwgMHgx
ZmZlLAorCTB4MzA5YiwgMHgzMDljLAorCTB4YTcwMCwgMHhhNzE2LAorCTB4YTcyMCwgMHhhNzIx
LAorCTB4YTc4OSwgMHhhNzhhLAorCTB4YWI1YiwgMHhhYjViLAorCTB4ZmJiMiwgMHhmYmMxLAor
CTB4ZmYzZSwgMHhmZjNlLAorCTB4ZmY0MCwgMHhmZjQwLAorCTB4ZmZlMywgMHhmZmUzLAorCTB4
MWYzZmIsIDB4MWYzZmYsCit9OyAvKiBDUl9TayAqLworCisvKiAnU20nOiBHZW5lcmFsIENhdGVn
b3J5ICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9TbVtdID0geworCTY0LAorCTB4
MDAyYiwgMHgwMDJiLAorCTB4MDAzYywgMHgwMDNlLAorCTB4MDA3YywgMHgwMDdjLAorCTB4MDA3
ZSwgMHgwMDdlLAorCTB4MDBhYywgMHgwMGFjLAorCTB4MDBiMSwgMHgwMGIxLAorCTB4MDBkNywg
MHgwMGQ3LAorCTB4MDBmNywgMHgwMGY3LAorCTB4MDNmNiwgMHgwM2Y2LAorCTB4MDYwNiwgMHgw
NjA4LAorCTB4MjA0NCwgMHgyMDQ0LAorCTB4MjA1MiwgMHgyMDUyLAorCTB4MjA3YSwgMHgyMDdj
LAorCTB4MjA4YSwgMHgyMDhjLAorCTB4MjExOCwgMHgyMTE4LAorCTB4MjE0MCwgMHgyMTQ0LAor
CTB4MjE0YiwgMHgyMTRiLAorCTB4MjE5MCwgMHgyMTk0LAorCTB4MjE5YSwgMHgyMTliLAorCTB4
MjFhMCwgMHgyMWEwLAorCTB4MjFhMywgMHgyMWEzLAorCTB4MjFhNiwgMHgyMWE2LAorCTB4MjFh
ZSwgMHgyMWFlLAorCTB4MjFjZSwgMHgyMWNmLAorCTB4MjFkMiwgMHgyMWQyLAorCTB4MjFkNCwg
MHgyMWQ0LAorCTB4MjFmNCwgMHgyMmZmLAorCTB4MjMyMCwgMHgyMzIxLAorCTB4MjM3YywgMHgy
MzdjLAorCTB4MjM5YiwgMHgyM2IzLAorCTB4MjNkYywgMHgyM2UxLAorCTB4MjViNywgMHgyNWI3
LAorCTB4MjVjMSwgMHgyNWMxLAorCTB4MjVmOCwgMHgyNWZmLAorCTB4MjY2ZiwgMHgyNjZmLAor
CTB4MjdjMCwgMHgyN2M0LAorCTB4MjdjNywgMHgyN2U1LAorCTB4MjdmMCwgMHgyN2ZmLAorCTB4
MjkwMCwgMHgyOTgyLAorCTB4Mjk5OSwgMHgyOWQ3LAorCTB4MjlkYywgMHgyOWZiLAorCTB4Mjlm
ZSwgMHgyYWZmLAorCTB4MmIzMCwgMHgyYjQ0LAorCTB4MmI0NywgMHgyYjRjLAorCTB4ZmIyOSwg
MHhmYjI5LAorCTB4ZmU2MiwgMHhmZTYyLAorCTB4ZmU2NCwgMHhmZTY2LAorCTB4ZmYwYiwgMHhm
ZjBiLAorCTB4ZmYxYywgMHhmZjFlLAorCTB4ZmY1YywgMHhmZjVjLAorCTB4ZmY1ZSwgMHhmZjVl
LAorCTB4ZmZlMiwgMHhmZmUyLAorCTB4ZmZlOSwgMHhmZmVjLAorCTB4MWQ2YzEsIDB4MWQ2YzEs
CisJMHgxZDZkYiwgMHgxZDZkYiwKKwkweDFkNmZiLCAweDFkNmZiLAorCTB4MWQ3MTUsIDB4MWQ3
MTUsCisJMHgxZDczNSwgMHgxZDczNSwKKwkweDFkNzRmLCAweDFkNzRmLAorCTB4MWQ3NmYsIDB4
MWQ3NmYsCisJMHgxZDc4OSwgMHgxZDc4OSwKKwkweDFkN2E5LCAweDFkN2E5LAorCTB4MWQ3YzMs
IDB4MWQ3YzMsCisJMHgxZWVmMCwgMHgxZWVmMSwKK307IC8qIENSX1NtICovCisKKy8qICdTbyc6
IEdlbmVyYWwgQ2F0ZWdvcnkgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX1NvW10g
PSB7CisJMTgwLAorCTB4MDBhNiwgMHgwMGE2LAorCTB4MDBhOSwgMHgwMGE5LAorCTB4MDBhZSwg
MHgwMGFlLAorCTB4MDBiMCwgMHgwMGIwLAorCTB4MDQ4MiwgMHgwNDgyLAorCTB4MDU4ZCwgMHgw
NThlLAorCTB4MDYwZSwgMHgwNjBmLAorCTB4MDZkZSwgMHgwNmRlLAorCTB4MDZlOSwgMHgwNmU5
LAorCTB4MDZmZCwgMHgwNmZlLAorCTB4MDdmNiwgMHgwN2Y2LAorCTB4MDlmYSwgMHgwOWZhLAor
CTB4MGI3MCwgMHgwYjcwLAorCTB4MGJmMywgMHgwYmY4LAorCTB4MGJmYSwgMHgwYmZhLAorCTB4
MGM3ZiwgMHgwYzdmLAorCTB4MGQ0ZiwgMHgwZDRmLAorCTB4MGQ3OSwgMHgwZDc5LAorCTB4MGYw
MSwgMHgwZjAzLAorCTB4MGYxMywgMHgwZjEzLAorCTB4MGYxNSwgMHgwZjE3LAorCTB4MGYxYSwg
MHgwZjFmLAorCTB4MGYzNCwgMHgwZjM0LAorCTB4MGYzNiwgMHgwZjM2LAorCTB4MGYzOCwgMHgw
ZjM4LAorCTB4MGZiZSwgMHgwZmM1LAorCTB4MGZjNywgMHgwZmNjLAorCTB4MGZjZSwgMHgwZmNm
LAorCTB4MGZkNSwgMHgwZmQ4LAorCTB4MTA5ZSwgMHgxMDlmLAorCTB4MTM5MCwgMHgxMzk5LAor
CTB4MTY2ZCwgMHgxNjZkLAorCTB4MTk0MCwgMHgxOTQwLAorCTB4MTlkZSwgMHgxOWZmLAorCTB4
MWI2MSwgMHgxYjZhLAorCTB4MWI3NCwgMHgxYjdjLAorCTB4MjEwMCwgMHgyMTAxLAorCTB4MjEw
MywgMHgyMTA2LAorCTB4MjEwOCwgMHgyMTA5LAorCTB4MjExNCwgMHgyMTE0LAorCTB4MjExNiwg
MHgyMTE3LAorCTB4MjExZSwgMHgyMTIzLAorCTB4MjEyNSwgMHgyMTI1LAorCTB4MjEyNywgMHgy
MTI3LAorCTB4MjEyOSwgMHgyMTI5LAorCTB4MjEyZSwgMHgyMTJlLAorCTB4MjEzYSwgMHgyMTNi
LAorCTB4MjE0YSwgMHgyMTRhLAorCTB4MjE0YywgMHgyMTRkLAorCTB4MjE0ZiwgMHgyMTRmLAor
CTB4MjE4YSwgMHgyMThiLAorCTB4MjE5NSwgMHgyMTk5LAorCTB4MjE5YywgMHgyMTlmLAorCTB4
MjFhMSwgMHgyMWEyLAorCTB4MjFhNCwgMHgyMWE1LAorCTB4MjFhNywgMHgyMWFkLAorCTB4MjFh
ZiwgMHgyMWNkLAorCTB4MjFkMCwgMHgyMWQxLAorCTB4MjFkMywgMHgyMWQzLAorCTB4MjFkNSwg
MHgyMWYzLAorCTB4MjMwMCwgMHgyMzA3LAorCTB4MjMwYywgMHgyMzFmLAorCTB4MjMyMiwgMHgy
MzI4LAorCTB4MjMyYiwgMHgyMzdiLAorCTB4MjM3ZCwgMHgyMzlhLAorCTB4MjNiNCwgMHgyM2Ri
LAorCTB4MjNlMiwgMHgyNDI2LAorCTB4MjQ0MCwgMHgyNDRhLAorCTB4MjQ5YywgMHgyNGU5LAor
CTB4MjUwMCwgMHgyNWI2LAorCTB4MjViOCwgMHgyNWMwLAorCTB4MjVjMiwgMHgyNWY3LAorCTB4
MjYwMCwgMHgyNjZlLAorCTB4MjY3MCwgMHgyNzY3LAorCTB4Mjc5NCwgMHgyN2JmLAorCTB4Mjgw
MCwgMHgyOGZmLAorCTB4MmIwMCwgMHgyYjJmLAorCTB4MmI0NSwgMHgyYjQ2LAorCTB4MmI0ZCwg
MHgyYjczLAorCTB4MmI3NiwgMHgyYjk1LAorCTB4MmI5OCwgMHgyYmZmLAorCTB4MmNlNSwgMHgy
Y2VhLAorCTB4MmU4MCwgMHgyZTk5LAorCTB4MmU5YiwgMHgyZWYzLAorCTB4MmYwMCwgMHgyZmQ1
LAorCTB4MmZmMCwgMHgyZmZiLAorCTB4MzAwNCwgMHgzMDA0LAorCTB4MzAxMiwgMHgzMDEzLAor
CTB4MzAyMCwgMHgzMDIwLAorCTB4MzAzNiwgMHgzMDM3LAorCTB4MzAzZSwgMHgzMDNmLAorCTB4
MzE5MCwgMHgzMTkxLAorCTB4MzE5NiwgMHgzMTlmLAorCTB4MzFjMCwgMHgzMWUzLAorCTB4MzIw
MCwgMHgzMjFlLAorCTB4MzIyYSwgMHgzMjQ3LAorCTB4MzI1MCwgMHgzMjUwLAorCTB4MzI2MCwg
MHgzMjdmLAorCTB4MzI4YSwgMHgzMmIwLAorCTB4MzJjMCwgMHgzM2ZmLAorCTB4NGRjMCwgMHg0
ZGZmLAorCTB4YTQ5MCwgMHhhNGM2LAorCTB4YTgyOCwgMHhhODJiLAorCTB4YTgzNiwgMHhhODM3
LAorCTB4YTgzOSwgMHhhODM5LAorCTB4YWE3NywgMHhhYTc5LAorCTB4ZmRmZCwgMHhmZGZkLAor
CTB4ZmZlNCwgMHhmZmU0LAorCTB4ZmZlOCwgMHhmZmU4LAorCTB4ZmZlZCwgMHhmZmVlLAorCTB4
ZmZmYywgMHhmZmZkLAorCTB4MTAxMzcsIDB4MTAxM2YsCisJMHgxMDE3OSwgMHgxMDE4OSwKKwkw
eDEwMThjLCAweDEwMThlLAorCTB4MTAxOTAsIDB4MTAxOWIsCisJMHgxMDFhMCwgMHgxMDFhMCwK
KwkweDEwMWQwLCAweDEwMWZjLAorCTB4MTA4NzcsIDB4MTA4NzgsCisJMHgxMGFjOCwgMHgxMGFj
OCwKKwkweDExNzNmLCAweDExNzNmLAorCTB4MTFmZDUsIDB4MTFmZGMsCisJMHgxMWZlMSwgMHgx
MWZmMSwKKwkweDE2YjNjLCAweDE2YjNmLAorCTB4MTZiNDUsIDB4MTZiNDUsCisJMHgxYmM5Yywg
MHgxYmM5YywKKwkweDFkMDAwLCAweDFkMGY1LAorCTB4MWQxMDAsIDB4MWQxMjYsCisJMHgxZDEy
OSwgMHgxZDE2NCwKKwkweDFkMTZhLCAweDFkMTZjLAorCTB4MWQxODMsIDB4MWQxODQsCisJMHgx
ZDE4YywgMHgxZDFhOSwKKwkweDFkMWFlLCAweDFkMWU4LAorCTB4MWQyMDAsIDB4MWQyNDEsCisJ
MHgxZDI0NSwgMHgxZDI0NSwKKwkweDFkMzAwLCAweDFkMzU2LAorCTB4MWQ4MDAsIDB4MWQ5ZmYs
CisJMHgxZGEzNywgMHgxZGEzYSwKKwkweDFkYTZkLCAweDFkYTc0LAorCTB4MWRhNzYsIDB4MWRh
ODMsCisJMHgxZGE4NSwgMHgxZGE4NiwKKwkweDFlMTRmLCAweDFlMTRmLAorCTB4MWVjYWMsIDB4
MWVjYWMsCisJMHgxZWQyZSwgMHgxZWQyZSwKKwkweDFmMDAwLCAweDFmMDJiLAorCTB4MWYwMzAs
IDB4MWYwOTMsCisJMHgxZjBhMCwgMHgxZjBhZSwKKwkweDFmMGIxLCAweDFmMGJmLAorCTB4MWYw
YzEsIDB4MWYwY2YsCisJMHgxZjBkMSwgMHgxZjBmNSwKKwkweDFmMTEwLCAweDFmMTZjLAorCTB4
MWYxNzAsIDB4MWYxYWMsCisJMHgxZjFlNiwgMHgxZjIwMiwKKwkweDFmMjEwLCAweDFmMjNiLAor
CTB4MWYyNDAsIDB4MWYyNDgsCisJMHgxZjI1MCwgMHgxZjI1MSwKKwkweDFmMjYwLCAweDFmMjY1
LAorCTB4MWYzMDAsIDB4MWYzZmEsCisJMHgxZjQwMCwgMHgxZjZkNSwKKwkweDFmNmUwLCAweDFm
NmVjLAorCTB4MWY2ZjAsIDB4MWY2ZmEsCisJMHgxZjcwMCwgMHgxZjc3MywKKwkweDFmNzgwLCAw
eDFmN2Q4LAorCTB4MWY3ZTAsIDB4MWY3ZWIsCisJMHgxZjgwMCwgMHgxZjgwYiwKKwkweDFmODEw
LCAweDFmODQ3LAorCTB4MWY4NTAsIDB4MWY4NTksCisJMHgxZjg2MCwgMHgxZjg4NywKKwkweDFm
ODkwLCAweDFmOGFkLAorCTB4MWY5MDAsIDB4MWY5MGIsCisJMHgxZjkwZCwgMHgxZjk3MSwKKwkw
eDFmOTczLCAweDFmOTc2LAorCTB4MWY5N2EsIDB4MWY5YTIsCisJMHgxZjlhNSwgMHgxZjlhYSwK
KwkweDFmOWFlLCAweDFmOWNhLAorCTB4MWY5Y2QsIDB4MWZhNTMsCisJMHgxZmE2MCwgMHgxZmE2
ZCwKKwkweDFmYTcwLCAweDFmYTczLAorCTB4MWZhNzgsIDB4MWZhN2EsCisJMHgxZmE4MCwgMHgx
ZmE4MiwKKwkweDFmYTkwLCAweDFmYTk1LAorfTsgLyogQ1JfU28gKi8KKworLyogJ1onOiBNYWpv
ciBDYXRlZ29yeSAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfWltdID0geworCTgs
CisJMHgwMDIwLCAweDAwMjAsCisJMHgwMGEwLCAweDAwYTAsCisJMHgxNjgwLCAweDE2ODAsCisJ
MHgyMDAwLCAweDIwMGEsCisJMHgyMDI4LCAweDIwMjksCisJMHgyMDJmLCAweDIwMmYsCisJMHgy
MDVmLCAweDIwNWYsCisJMHgzMDAwLCAweDMwMDAsCit9OyAvKiBDUl9aICovCisKKy8qICdabCc6
IEdlbmVyYWwgQ2F0ZWdvcnkgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX1psW10g
PSB7CisJMSwKKwkweDIwMjgsIDB4MjAyOCwKK307IC8qIENSX1psICovCisKKy8qICdacCc6IEdl
bmVyYWwgQ2F0ZWdvcnkgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX1pwW10gPSB7
CisJMSwKKwkweDIwMjksIDB4MjAyOSwKK307IC8qIENSX1pwICovCisKKy8qICdacyc6IEdlbmVy
YWwgQ2F0ZWdvcnkgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX1pzW10gPSB7CisJ
NywKKwkweDAwMjAsIDB4MDAyMCwKKwkweDAwYTAsIDB4MDBhMCwKKwkweDE2ODAsIDB4MTY4MCwK
KwkweDIwMDAsIDB4MjAwYSwKKwkweDIwMmYsIDB4MjAyZiwKKwkweDIwNWYsIDB4MjA1ZiwKKwkw
eDMwMDAsIDB4MzAwMCwKK307IC8qIENSX1pzICovCisKKy8qICdNYXRoJzogRGVyaXZlZCBQcm9w
ZXJ0eSAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfTWF0aFtdID0geworCTEzOCwK
KwkweDAwMmIsIDB4MDAyYiwKKwkweDAwM2MsIDB4MDAzZSwKKwkweDAwNWUsIDB4MDA1ZSwKKwkw
eDAwN2MsIDB4MDA3YywKKwkweDAwN2UsIDB4MDA3ZSwKKwkweDAwYWMsIDB4MDBhYywKKwkweDAw
YjEsIDB4MDBiMSwKKwkweDAwZDcsIDB4MDBkNywKKwkweDAwZjcsIDB4MDBmNywKKwkweDAzZDAs
IDB4MDNkMiwKKwkweDAzZDUsIDB4MDNkNSwKKwkweDAzZjAsIDB4MDNmMSwKKwkweDAzZjQsIDB4
MDNmNiwKKwkweDA2MDYsIDB4MDYwOCwKKwkweDIwMTYsIDB4MjAxNiwKKwkweDIwMzIsIDB4MjAz
NCwKKwkweDIwNDAsIDB4MjA0MCwKKwkweDIwNDQsIDB4MjA0NCwKKwkweDIwNTIsIDB4MjA1MiwK
KwkweDIwNjEsIDB4MjA2NCwKKwkweDIwN2EsIDB4MjA3ZSwKKwkweDIwOGEsIDB4MjA4ZSwKKwkw
eDIwZDAsIDB4MjBkYywKKwkweDIwZTEsIDB4MjBlMSwKKwkweDIwZTUsIDB4MjBlNiwKKwkweDIw
ZWIsIDB4MjBlZiwKKwkweDIxMDIsIDB4MjEwMiwKKwkweDIxMDcsIDB4MjEwNywKKwkweDIxMGEs
IDB4MjExMywKKwkweDIxMTUsIDB4MjExNSwKKwkweDIxMTgsIDB4MjExZCwKKwkweDIxMjQsIDB4
MjEyNCwKKwkweDIxMjgsIDB4MjEyOSwKKwkweDIxMmMsIDB4MjEyZCwKKwkweDIxMmYsIDB4MjEz
MSwKKwkweDIxMzMsIDB4MjEzOCwKKwkweDIxM2MsIDB4MjE0OSwKKwkweDIxNGIsIDB4MjE0YiwK
KwkweDIxOTAsIDB4MjFhNywKKwkweDIxYTksIDB4MjFhZSwKKwkweDIxYjAsIDB4MjFiMSwKKwkw
eDIxYjYsIDB4MjFiNywKKwkweDIxYmMsIDB4MjFkYiwKKwkweDIxZGQsIDB4MjFkZCwKKwkweDIx
ZTQsIDB4MjFlNSwKKwkweDIxZjQsIDB4MjJmZiwKKwkweDIzMDgsIDB4MjMwYiwKKwkweDIzMjAs
IDB4MjMyMSwKKwkweDIzN2MsIDB4MjM3YywKKwkweDIzOWIsIDB4MjNiNSwKKwkweDIzYjcsIDB4
MjNiNywKKwkweDIzZDAsIDB4MjNkMCwKKwkweDIzZGMsIDB4MjNlMiwKKwkweDI1YTAsIDB4MjVh
MSwKKwkweDI1YWUsIDB4MjViNywKKwkweDI1YmMsIDB4MjVjMSwKKwkweDI1YzYsIDB4MjVjNywK
KwkweDI1Y2EsIDB4MjVjYiwKKwkweDI1Y2YsIDB4MjVkMywKKwkweDI1ZTIsIDB4MjVlMiwKKwkw
eDI1ZTQsIDB4MjVlNCwKKwkweDI1ZTcsIDB4MjVlYywKKwkweDI1ZjgsIDB4MjVmZiwKKwkweDI2
MDUsIDB4MjYwNiwKKwkweDI2NDAsIDB4MjY0MCwKKwkweDI2NDIsIDB4MjY0MiwKKwkweDI2NjAs
IDB4MjY2MywKKwkweDI2NmQsIDB4MjY2ZiwKKwkweDI3YzAsIDB4MjdmZiwKKwkweDI5MDAsIDB4
MmFmZiwKKwkweDJiMzAsIDB4MmI0NCwKKwkweDJiNDcsIDB4MmI0YywKKwkweGZiMjksIDB4ZmIy
OSwKKwkweGZlNjEsIDB4ZmU2NiwKKwkweGZlNjgsIDB4ZmU2OCwKKwkweGZmMGIsIDB4ZmYwYiwK
KwkweGZmMWMsIDB4ZmYxZSwKKwkweGZmM2MsIDB4ZmYzYywKKwkweGZmM2UsIDB4ZmYzZSwKKwkw
eGZmNWMsIDB4ZmY1YywKKwkweGZmNWUsIDB4ZmY1ZSwKKwkweGZmZTIsIDB4ZmZlMiwKKwkweGZm
ZTksIDB4ZmZlYywKKwkweDFkNDAwLCAweDFkNDU0LAorCTB4MWQ0NTYsIDB4MWQ0OWMsCisJMHgx
ZDQ5ZSwgMHgxZDQ5ZiwKKwkweDFkNGEyLCAweDFkNGEyLAorCTB4MWQ0YTUsIDB4MWQ0YTYsCisJ
MHgxZDRhOSwgMHgxZDRhYywKKwkweDFkNGFlLCAweDFkNGI5LAorCTB4MWQ0YmIsIDB4MWQ0YmIs
CisJMHgxZDRiZCwgMHgxZDRjMywKKwkweDFkNGM1LCAweDFkNTA1LAorCTB4MWQ1MDcsIDB4MWQ1
MGEsCisJMHgxZDUwZCwgMHgxZDUxNCwKKwkweDFkNTE2LCAweDFkNTFjLAorCTB4MWQ1MWUsIDB4
MWQ1MzksCisJMHgxZDUzYiwgMHgxZDUzZSwKKwkweDFkNTQwLCAweDFkNTQ0LAorCTB4MWQ1NDYs
IDB4MWQ1NDYsCisJMHgxZDU0YSwgMHgxZDU1MCwKKwkweDFkNTUyLCAweDFkNmE1LAorCTB4MWQ2
YTgsIDB4MWQ3Y2IsCisJMHgxZDdjZSwgMHgxZDdmZiwKKwkweDFlZTAwLCAweDFlZTAzLAorCTB4
MWVlMDUsIDB4MWVlMWYsCisJMHgxZWUyMSwgMHgxZWUyMiwKKwkweDFlZTI0LCAweDFlZTI0LAor
CTB4MWVlMjcsIDB4MWVlMjcsCisJMHgxZWUyOSwgMHgxZWUzMiwKKwkweDFlZTM0LCAweDFlZTM3
LAorCTB4MWVlMzksIDB4MWVlMzksCisJMHgxZWUzYiwgMHgxZWUzYiwKKwkweDFlZTQyLCAweDFl
ZTQyLAorCTB4MWVlNDcsIDB4MWVlNDcsCisJMHgxZWU0OSwgMHgxZWU0OSwKKwkweDFlZTRiLCAw
eDFlZTRiLAorCTB4MWVlNGQsIDB4MWVlNGYsCisJMHgxZWU1MSwgMHgxZWU1MiwKKwkweDFlZTU0
LCAweDFlZTU0LAorCTB4MWVlNTcsIDB4MWVlNTcsCisJMHgxZWU1OSwgMHgxZWU1OSwKKwkweDFl
ZTViLCAweDFlZTViLAorCTB4MWVlNWQsIDB4MWVlNWQsCisJMHgxZWU1ZiwgMHgxZWU1ZiwKKwkw
eDFlZTYxLCAweDFlZTYyLAorCTB4MWVlNjQsIDB4MWVlNjQsCisJMHgxZWU2NywgMHgxZWU2YSwK
KwkweDFlZTZjLCAweDFlZTcyLAorCTB4MWVlNzQsIDB4MWVlNzcsCisJMHgxZWU3OSwgMHgxZWU3
YywKKwkweDFlZTdlLCAweDFlZTdlLAorCTB4MWVlODAsIDB4MWVlODksCisJMHgxZWU4YiwgMHgx
ZWU5YiwKKwkweDFlZWExLCAweDFlZWEzLAorCTB4MWVlYTUsIDB4MWVlYTksCisJMHgxZWVhYiwg
MHgxZWViYiwKKwkweDFlZWYwLCAweDFlZWYxLAorfTsgLyogQ1JfTWF0aCAqLworCisvKiAnQWxw
aGFiZXRpYyc6IERlcml2ZWQgUHJvcGVydHkgKi8KKyNkZWZpbmUgQ1JfQWxwaGFiZXRpYyBDUl9B
bHBoYQorCisvKiAnTG93ZXJjYXNlJzogRGVyaXZlZCBQcm9wZXJ0eSAqLworI2RlZmluZSBDUl9M
b3dlcmNhc2UgQ1JfTG93ZXIKKworLyogJ1VwcGVyY2FzZSc6IERlcml2ZWQgUHJvcGVydHkgKi8K
KyNkZWZpbmUgQ1JfVXBwZXJjYXNlIENSX1VwcGVyCisKKy8qICdDYXNlZCc6IERlcml2ZWQgUHJv
cGVydHkgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0Nhc2VkW10gPSB7CisJMTQw
LAorCTB4MDA0MSwgMHgwMDVhLAorCTB4MDA2MSwgMHgwMDdhLAorCTB4MDBhYSwgMHgwMGFhLAor
CTB4MDBiNSwgMHgwMGI1LAorCTB4MDBiYSwgMHgwMGJhLAorCTB4MDBjMCwgMHgwMGQ2LAorCTB4
MDBkOCwgMHgwMGY2LAorCTB4MDBmOCwgMHgwMWJhLAorCTB4MDFiYywgMHgwMWJmLAorCTB4MDFj
NCwgMHgwMjkzLAorCTB4MDI5NSwgMHgwMmI4LAorCTB4MDJjMCwgMHgwMmMxLAorCTB4MDJlMCwg
MHgwMmU0LAorCTB4MDM0NSwgMHgwMzQ1LAorCTB4MDM3MCwgMHgwMzczLAorCTB4MDM3NiwgMHgw
Mzc3LAorCTB4MDM3YSwgMHgwMzdkLAorCTB4MDM3ZiwgMHgwMzdmLAorCTB4MDM4NiwgMHgwMzg2
LAorCTB4MDM4OCwgMHgwMzhhLAorCTB4MDM4YywgMHgwMzhjLAorCTB4MDM4ZSwgMHgwM2ExLAor
CTB4MDNhMywgMHgwM2Y1LAorCTB4MDNmNywgMHgwNDgxLAorCTB4MDQ4YSwgMHgwNTJmLAorCTB4
MDUzMSwgMHgwNTU2LAorCTB4MDU2MCwgMHgwNTg4LAorCTB4MTBhMCwgMHgxMGM1LAorCTB4MTBj
NywgMHgxMGM3LAorCTB4MTBjZCwgMHgxMGNkLAorCTB4MTBkMCwgMHgxMGZhLAorCTB4MTBmZCwg
MHgxMGZmLAorCTB4MTNhMCwgMHgxM2Y1LAorCTB4MTNmOCwgMHgxM2ZkLAorCTB4MWM4MCwgMHgx
Yzg4LAorCTB4MWM5MCwgMHgxY2JhLAorCTB4MWNiZCwgMHgxY2JmLAorCTB4MWQwMCwgMHgxZGJm
LAorCTB4MWUwMCwgMHgxZjE1LAorCTB4MWYxOCwgMHgxZjFkLAorCTB4MWYyMCwgMHgxZjQ1LAor
CTB4MWY0OCwgMHgxZjRkLAorCTB4MWY1MCwgMHgxZjU3LAorCTB4MWY1OSwgMHgxZjU5LAorCTB4
MWY1YiwgMHgxZjViLAorCTB4MWY1ZCwgMHgxZjVkLAorCTB4MWY1ZiwgMHgxZjdkLAorCTB4MWY4
MCwgMHgxZmI0LAorCTB4MWZiNiwgMHgxZmJjLAorCTB4MWZiZSwgMHgxZmJlLAorCTB4MWZjMiwg
MHgxZmM0LAorCTB4MWZjNiwgMHgxZmNjLAorCTB4MWZkMCwgMHgxZmQzLAorCTB4MWZkNiwgMHgx
ZmRiLAorCTB4MWZlMCwgMHgxZmVjLAorCTB4MWZmMiwgMHgxZmY0LAorCTB4MWZmNiwgMHgxZmZj
LAorCTB4MjA3MSwgMHgyMDcxLAorCTB4MjA3ZiwgMHgyMDdmLAorCTB4MjA5MCwgMHgyMDljLAor
CTB4MjEwMiwgMHgyMTAyLAorCTB4MjEwNywgMHgyMTA3LAorCTB4MjEwYSwgMHgyMTEzLAorCTB4
MjExNSwgMHgyMTE1LAorCTB4MjExOSwgMHgyMTFkLAorCTB4MjEyNCwgMHgyMTI0LAorCTB4MjEy
NiwgMHgyMTI2LAorCTB4MjEyOCwgMHgyMTI4LAorCTB4MjEyYSwgMHgyMTJkLAorCTB4MjEyZiwg
MHgyMTM0LAorCTB4MjEzOSwgMHgyMTM5LAorCTB4MjEzYywgMHgyMTNmLAorCTB4MjE0NSwgMHgy
MTQ5LAorCTB4MjE0ZSwgMHgyMTRlLAorCTB4MjE2MCwgMHgyMTdmLAorCTB4MjE4MywgMHgyMTg0
LAorCTB4MjRiNiwgMHgyNGU5LAorCTB4MmMwMCwgMHgyYzJlLAorCTB4MmMzMCwgMHgyYzVlLAor
CTB4MmM2MCwgMHgyY2U0LAorCTB4MmNlYiwgMHgyY2VlLAorCTB4MmNmMiwgMHgyY2YzLAorCTB4
MmQwMCwgMHgyZDI1LAorCTB4MmQyNywgMHgyZDI3LAorCTB4MmQyZCwgMHgyZDJkLAorCTB4YTY0
MCwgMHhhNjZkLAorCTB4YTY4MCwgMHhhNjlkLAorCTB4YTcyMiwgMHhhNzg3LAorCTB4YTc4Yiwg
MHhhNzhlLAorCTB4YTc5MCwgMHhhN2JmLAorCTB4YTdjMiwgMHhhN2M2LAorCTB4YTdmOCwgMHhh
N2ZhLAorCTB4YWIzMCwgMHhhYjVhLAorCTB4YWI1YywgMHhhYjY3LAorCTB4YWI3MCwgMHhhYmJm
LAorCTB4ZmIwMCwgMHhmYjA2LAorCTB4ZmIxMywgMHhmYjE3LAorCTB4ZmYyMSwgMHhmZjNhLAor
CTB4ZmY0MSwgMHhmZjVhLAorCTB4MTA0MDAsIDB4MTA0NGYsCisJMHgxMDRiMCwgMHgxMDRkMywK
KwkweDEwNGQ4LCAweDEwNGZiLAorCTB4MTBjODAsIDB4MTBjYjIsCisJMHgxMGNjMCwgMHgxMGNm
MiwKKwkweDExOGEwLCAweDExOGRmLAorCTB4MTZlNDAsIDB4MTZlN2YsCisJMHgxZDQwMCwgMHgx
ZDQ1NCwKKwkweDFkNDU2LCAweDFkNDljLAorCTB4MWQ0OWUsIDB4MWQ0OWYsCisJMHgxZDRhMiwg
MHgxZDRhMiwKKwkweDFkNGE1LCAweDFkNGE2LAorCTB4MWQ0YTksIDB4MWQ0YWMsCisJMHgxZDRh
ZSwgMHgxZDRiOSwKKwkweDFkNGJiLCAweDFkNGJiLAorCTB4MWQ0YmQsIDB4MWQ0YzMsCisJMHgx
ZDRjNSwgMHgxZDUwNSwKKwkweDFkNTA3LCAweDFkNTBhLAorCTB4MWQ1MGQsIDB4MWQ1MTQsCisJ
MHgxZDUxNiwgMHgxZDUxYywKKwkweDFkNTFlLCAweDFkNTM5LAorCTB4MWQ1M2IsIDB4MWQ1M2Us
CisJMHgxZDU0MCwgMHgxZDU0NCwKKwkweDFkNTQ2LCAweDFkNTQ2LAorCTB4MWQ1NGEsIDB4MWQ1
NTAsCisJMHgxZDU1MiwgMHgxZDZhNSwKKwkweDFkNmE4LCAweDFkNmMwLAorCTB4MWQ2YzIsIDB4
MWQ2ZGEsCisJMHgxZDZkYywgMHgxZDZmYSwKKwkweDFkNmZjLCAweDFkNzE0LAorCTB4MWQ3MTYs
IDB4MWQ3MzQsCisJMHgxZDczNiwgMHgxZDc0ZSwKKwkweDFkNzUwLCAweDFkNzZlLAorCTB4MWQ3
NzAsIDB4MWQ3ODgsCisJMHgxZDc4YSwgMHgxZDdhOCwKKwkweDFkN2FhLCAweDFkN2MyLAorCTB4
MWQ3YzQsIDB4MWQ3Y2IsCisJMHgxZTkwMCwgMHgxZTk0MywKKwkweDFmMTMwLCAweDFmMTQ5LAor
CTB4MWYxNTAsIDB4MWYxNjksCisJMHgxZjE3MCwgMHgxZjE4OSwKK307IC8qIENSX0Nhc2VkICov
CisKKy8qICdDYXNlX0lnbm9yYWJsZSc6IERlcml2ZWQgUHJvcGVydHkgKi8KK3N0YXRpYyBjb25z
dCBPbmlnQ29kZVBvaW50IENSX0Nhc2VfSWdub3JhYmxlW10gPSB7CisJNDAxLAorCTB4MDAyNywg
MHgwMDI3LAorCTB4MDAyZSwgMHgwMDJlLAorCTB4MDAzYSwgMHgwMDNhLAorCTB4MDA1ZSwgMHgw
MDVlLAorCTB4MDA2MCwgMHgwMDYwLAorCTB4MDBhOCwgMHgwMGE4LAorCTB4MDBhZCwgMHgwMGFk
LAorCTB4MDBhZiwgMHgwMGFmLAorCTB4MDBiNCwgMHgwMGI0LAorCTB4MDBiNywgMHgwMGI4LAor
CTB4MDJiMCwgMHgwMzZmLAorCTB4MDM3NCwgMHgwMzc1LAorCTB4MDM3YSwgMHgwMzdhLAorCTB4
MDM4NCwgMHgwMzg1LAorCTB4MDM4NywgMHgwMzg3LAorCTB4MDQ4MywgMHgwNDg5LAorCTB4MDU1
OSwgMHgwNTU5LAorCTB4MDU5MSwgMHgwNWJkLAorCTB4MDViZiwgMHgwNWJmLAorCTB4MDVjMSwg
MHgwNWMyLAorCTB4MDVjNCwgMHgwNWM1LAorCTB4MDVjNywgMHgwNWM3LAorCTB4MDVmNCwgMHgw
NWY0LAorCTB4MDYwMCwgMHgwNjA1LAorCTB4MDYxMCwgMHgwNjFhLAorCTB4MDYxYywgMHgwNjFj
LAorCTB4MDY0MCwgMHgwNjQwLAorCTB4MDY0YiwgMHgwNjVmLAorCTB4MDY3MCwgMHgwNjcwLAor
CTB4MDZkNiwgMHgwNmRkLAorCTB4MDZkZiwgMHgwNmU4LAorCTB4MDZlYSwgMHgwNmVkLAorCTB4
MDcwZiwgMHgwNzBmLAorCTB4MDcxMSwgMHgwNzExLAorCTB4MDczMCwgMHgwNzRhLAorCTB4MDdh
NiwgMHgwN2IwLAorCTB4MDdlYiwgMHgwN2Y1LAorCTB4MDdmYSwgMHgwN2ZhLAorCTB4MDdmZCwg
MHgwN2ZkLAorCTB4MDgxNiwgMHgwODJkLAorCTB4MDg1OSwgMHgwODViLAorCTB4MDhkMywgMHgw
OTAyLAorCTB4MDkzYSwgMHgwOTNhLAorCTB4MDkzYywgMHgwOTNjLAorCTB4MDk0MSwgMHgwOTQ4
LAorCTB4MDk0ZCwgMHgwOTRkLAorCTB4MDk1MSwgMHgwOTU3LAorCTB4MDk2MiwgMHgwOTYzLAor
CTB4MDk3MSwgMHgwOTcxLAorCTB4MDk4MSwgMHgwOTgxLAorCTB4MDliYywgMHgwOWJjLAorCTB4
MDljMSwgMHgwOWM0LAorCTB4MDljZCwgMHgwOWNkLAorCTB4MDllMiwgMHgwOWUzLAorCTB4MDlm
ZSwgMHgwOWZlLAorCTB4MGEwMSwgMHgwYTAyLAorCTB4MGEzYywgMHgwYTNjLAorCTB4MGE0MSwg
MHgwYTQyLAorCTB4MGE0NywgMHgwYTQ4LAorCTB4MGE0YiwgMHgwYTRkLAorCTB4MGE1MSwgMHgw
YTUxLAorCTB4MGE3MCwgMHgwYTcxLAorCTB4MGE3NSwgMHgwYTc1LAorCTB4MGE4MSwgMHgwYTgy
LAorCTB4MGFiYywgMHgwYWJjLAorCTB4MGFjMSwgMHgwYWM1LAorCTB4MGFjNywgMHgwYWM4LAor
CTB4MGFjZCwgMHgwYWNkLAorCTB4MGFlMiwgMHgwYWUzLAorCTB4MGFmYSwgMHgwYWZmLAorCTB4
MGIwMSwgMHgwYjAxLAorCTB4MGIzYywgMHgwYjNjLAorCTB4MGIzZiwgMHgwYjNmLAorCTB4MGI0
MSwgMHgwYjQ0LAorCTB4MGI0ZCwgMHgwYjRkLAorCTB4MGI1NiwgMHgwYjU2LAorCTB4MGI2Miwg
MHgwYjYzLAorCTB4MGI4MiwgMHgwYjgyLAorCTB4MGJjMCwgMHgwYmMwLAorCTB4MGJjZCwgMHgw
YmNkLAorCTB4MGMwMCwgMHgwYzAwLAorCTB4MGMwNCwgMHgwYzA0LAorCTB4MGMzZSwgMHgwYzQw
LAorCTB4MGM0NiwgMHgwYzQ4LAorCTB4MGM0YSwgMHgwYzRkLAorCTB4MGM1NSwgMHgwYzU2LAor
CTB4MGM2MiwgMHgwYzYzLAorCTB4MGM4MSwgMHgwYzgxLAorCTB4MGNiYywgMHgwY2JjLAorCTB4
MGNiZiwgMHgwY2JmLAorCTB4MGNjNiwgMHgwY2M2LAorCTB4MGNjYywgMHgwY2NkLAorCTB4MGNl
MiwgMHgwY2UzLAorCTB4MGQwMCwgMHgwZDAxLAorCTB4MGQzYiwgMHgwZDNjLAorCTB4MGQ0MSwg
MHgwZDQ0LAorCTB4MGQ0ZCwgMHgwZDRkLAorCTB4MGQ2MiwgMHgwZDYzLAorCTB4MGRjYSwgMHgw
ZGNhLAorCTB4MGRkMiwgMHgwZGQ0LAorCTB4MGRkNiwgMHgwZGQ2LAorCTB4MGUzMSwgMHgwZTMx
LAorCTB4MGUzNCwgMHgwZTNhLAorCTB4MGU0NiwgMHgwZTRlLAorCTB4MGViMSwgMHgwZWIxLAor
CTB4MGViNCwgMHgwZWJjLAorCTB4MGVjNiwgMHgwZWM2LAorCTB4MGVjOCwgMHgwZWNkLAorCTB4
MGYxOCwgMHgwZjE5LAorCTB4MGYzNSwgMHgwZjM1LAorCTB4MGYzNywgMHgwZjM3LAorCTB4MGYz
OSwgMHgwZjM5LAorCTB4MGY3MSwgMHgwZjdlLAorCTB4MGY4MCwgMHgwZjg0LAorCTB4MGY4Niwg
MHgwZjg3LAorCTB4MGY4ZCwgMHgwZjk3LAorCTB4MGY5OSwgMHgwZmJjLAorCTB4MGZjNiwgMHgw
ZmM2LAorCTB4MTAyZCwgMHgxMDMwLAorCTB4MTAzMiwgMHgxMDM3LAorCTB4MTAzOSwgMHgxMDNh
LAorCTB4MTAzZCwgMHgxMDNlLAorCTB4MTA1OCwgMHgxMDU5LAorCTB4MTA1ZSwgMHgxMDYwLAor
CTB4MTA3MSwgMHgxMDc0LAorCTB4MTA4MiwgMHgxMDgyLAorCTB4MTA4NSwgMHgxMDg2LAorCTB4
MTA4ZCwgMHgxMDhkLAorCTB4MTA5ZCwgMHgxMDlkLAorCTB4MTBmYywgMHgxMGZjLAorCTB4MTM1
ZCwgMHgxMzVmLAorCTB4MTcxMiwgMHgxNzE0LAorCTB4MTczMiwgMHgxNzM0LAorCTB4MTc1Miwg
MHgxNzUzLAorCTB4MTc3MiwgMHgxNzczLAorCTB4MTdiNCwgMHgxN2I1LAorCTB4MTdiNywgMHgx
N2JkLAorCTB4MTdjNiwgMHgxN2M2LAorCTB4MTdjOSwgMHgxN2QzLAorCTB4MTdkNywgMHgxN2Q3
LAorCTB4MTdkZCwgMHgxN2RkLAorCTB4MTgwYiwgMHgxODBlLAorCTB4MTg0MywgMHgxODQzLAor
CTB4MTg4NSwgMHgxODg2LAorCTB4MThhOSwgMHgxOGE5LAorCTB4MTkyMCwgMHgxOTIyLAorCTB4
MTkyNywgMHgxOTI4LAorCTB4MTkzMiwgMHgxOTMyLAorCTB4MTkzOSwgMHgxOTNiLAorCTB4MWEx
NywgMHgxYTE4LAorCTB4MWExYiwgMHgxYTFiLAorCTB4MWE1NiwgMHgxYTU2LAorCTB4MWE1OCwg
MHgxYTVlLAorCTB4MWE2MCwgMHgxYTYwLAorCTB4MWE2MiwgMHgxYTYyLAorCTB4MWE2NSwgMHgx
YTZjLAorCTB4MWE3MywgMHgxYTdjLAorCTB4MWE3ZiwgMHgxYTdmLAorCTB4MWFhNywgMHgxYWE3
LAorCTB4MWFiMCwgMHgxYWJlLAorCTB4MWIwMCwgMHgxYjAzLAorCTB4MWIzNCwgMHgxYjM0LAor
CTB4MWIzNiwgMHgxYjNhLAorCTB4MWIzYywgMHgxYjNjLAorCTB4MWI0MiwgMHgxYjQyLAorCTB4
MWI2YiwgMHgxYjczLAorCTB4MWI4MCwgMHgxYjgxLAorCTB4MWJhMiwgMHgxYmE1LAorCTB4MWJh
OCwgMHgxYmE5LAorCTB4MWJhYiwgMHgxYmFkLAorCTB4MWJlNiwgMHgxYmU2LAorCTB4MWJlOCwg
MHgxYmU5LAorCTB4MWJlZCwgMHgxYmVkLAorCTB4MWJlZiwgMHgxYmYxLAorCTB4MWMyYywgMHgx
YzMzLAorCTB4MWMzNiwgMHgxYzM3LAorCTB4MWM3OCwgMHgxYzdkLAorCTB4MWNkMCwgMHgxY2Qy
LAorCTB4MWNkNCwgMHgxY2UwLAorCTB4MWNlMiwgMHgxY2U4LAorCTB4MWNlZCwgMHgxY2VkLAor
CTB4MWNmNCwgMHgxY2Y0LAorCTB4MWNmOCwgMHgxY2Y5LAorCTB4MWQyYywgMHgxZDZhLAorCTB4
MWQ3OCwgMHgxZDc4LAorCTB4MWQ5YiwgMHgxZGY5LAorCTB4MWRmYiwgMHgxZGZmLAorCTB4MWZi
ZCwgMHgxZmJkLAorCTB4MWZiZiwgMHgxZmMxLAorCTB4MWZjZCwgMHgxZmNmLAorCTB4MWZkZCwg
MHgxZmRmLAorCTB4MWZlZCwgMHgxZmVmLAorCTB4MWZmZCwgMHgxZmZlLAorCTB4MjAwYiwgMHgy
MDBmLAorCTB4MjAxOCwgMHgyMDE5LAorCTB4MjAyNCwgMHgyMDI0LAorCTB4MjAyNywgMHgyMDI3
LAorCTB4MjAyYSwgMHgyMDJlLAorCTB4MjA2MCwgMHgyMDY0LAorCTB4MjA2NiwgMHgyMDZmLAor
CTB4MjA3MSwgMHgyMDcxLAorCTB4MjA3ZiwgMHgyMDdmLAorCTB4MjA5MCwgMHgyMDljLAorCTB4
MjBkMCwgMHgyMGYwLAorCTB4MmM3YywgMHgyYzdkLAorCTB4MmNlZiwgMHgyY2YxLAorCTB4MmQ2
ZiwgMHgyZDZmLAorCTB4MmQ3ZiwgMHgyZDdmLAorCTB4MmRlMCwgMHgyZGZmLAorCTB4MmUyZiwg
MHgyZTJmLAorCTB4MzAwNSwgMHgzMDA1LAorCTB4MzAyYSwgMHgzMDJkLAorCTB4MzAzMSwgMHgz
MDM1LAorCTB4MzAzYiwgMHgzMDNiLAorCTB4MzA5OSwgMHgzMDllLAorCTB4MzBmYywgMHgzMGZl
LAorCTB4YTAxNSwgMHhhMDE1LAorCTB4YTRmOCwgMHhhNGZkLAorCTB4YTYwYywgMHhhNjBjLAor
CTB4YTY2ZiwgMHhhNjcyLAorCTB4YTY3NCwgMHhhNjdkLAorCTB4YTY3ZiwgMHhhNjdmLAorCTB4
YTY5YywgMHhhNjlmLAorCTB4YTZmMCwgMHhhNmYxLAorCTB4YTcwMCwgMHhhNzIxLAorCTB4YTc3
MCwgMHhhNzcwLAorCTB4YTc4OCwgMHhhNzhhLAorCTB4YTdmOCwgMHhhN2Y5LAorCTB4YTgwMiwg
MHhhODAyLAorCTB4YTgwNiwgMHhhODA2LAorCTB4YTgwYiwgMHhhODBiLAorCTB4YTgyNSwgMHhh
ODI2LAorCTB4YThjNCwgMHhhOGM1LAorCTB4YThlMCwgMHhhOGYxLAorCTB4YThmZiwgMHhhOGZm
LAorCTB4YTkyNiwgMHhhOTJkLAorCTB4YTk0NywgMHhhOTUxLAorCTB4YTk4MCwgMHhhOTgyLAor
CTB4YTliMywgMHhhOWIzLAorCTB4YTliNiwgMHhhOWI5LAorCTB4YTliYywgMHhhOWJkLAorCTB4
YTljZiwgMHhhOWNmLAorCTB4YTllNSwgMHhhOWU2LAorCTB4YWEyOSwgMHhhYTJlLAorCTB4YWEz
MSwgMHhhYTMyLAorCTB4YWEzNSwgMHhhYTM2LAorCTB4YWE0MywgMHhhYTQzLAorCTB4YWE0Yywg
MHhhYTRjLAorCTB4YWE3MCwgMHhhYTcwLAorCTB4YWE3YywgMHhhYTdjLAorCTB4YWFiMCwgMHhh
YWIwLAorCTB4YWFiMiwgMHhhYWI0LAorCTB4YWFiNywgMHhhYWI4LAorCTB4YWFiZSwgMHhhYWJm
LAorCTB4YWFjMSwgMHhhYWMxLAorCTB4YWFkZCwgMHhhYWRkLAorCTB4YWFlYywgMHhhYWVkLAor
CTB4YWFmMywgMHhhYWY0LAorCTB4YWFmNiwgMHhhYWY2LAorCTB4YWI1YiwgMHhhYjVmLAorCTB4
YWJlNSwgMHhhYmU1LAorCTB4YWJlOCwgMHhhYmU4LAorCTB4YWJlZCwgMHhhYmVkLAorCTB4ZmIx
ZSwgMHhmYjFlLAorCTB4ZmJiMiwgMHhmYmMxLAorCTB4ZmUwMCwgMHhmZTBmLAorCTB4ZmUxMywg
MHhmZTEzLAorCTB4ZmUyMCwgMHhmZTJmLAorCTB4ZmU1MiwgMHhmZTUyLAorCTB4ZmU1NSwgMHhm
ZTU1LAorCTB4ZmVmZiwgMHhmZWZmLAorCTB4ZmYwNywgMHhmZjA3LAorCTB4ZmYwZSwgMHhmZjBl
LAorCTB4ZmYxYSwgMHhmZjFhLAorCTB4ZmYzZSwgMHhmZjNlLAorCTB4ZmY0MCwgMHhmZjQwLAor
CTB4ZmY3MCwgMHhmZjcwLAorCTB4ZmY5ZSwgMHhmZjlmLAorCTB4ZmZlMywgMHhmZmUzLAorCTB4
ZmZmOSwgMHhmZmZiLAorCTB4MTAxZmQsIDB4MTAxZmQsCisJMHgxMDJlMCwgMHgxMDJlMCwKKwkw
eDEwMzc2LCAweDEwMzdhLAorCTB4MTBhMDEsIDB4MTBhMDMsCisJMHgxMGEwNSwgMHgxMGEwNiwK
KwkweDEwYTBjLCAweDEwYTBmLAorCTB4MTBhMzgsIDB4MTBhM2EsCisJMHgxMGEzZiwgMHgxMGEz
ZiwKKwkweDEwYWU1LCAweDEwYWU2LAorCTB4MTBkMjQsIDB4MTBkMjcsCisJMHgxMGY0NiwgMHgx
MGY1MCwKKwkweDExMDAxLCAweDExMDAxLAorCTB4MTEwMzgsIDB4MTEwNDYsCisJMHgxMTA3Ziwg
MHgxMTA4MSwKKwkweDExMGIzLCAweDExMGI2LAorCTB4MTEwYjksIDB4MTEwYmEsCisJMHgxMTBi
ZCwgMHgxMTBiZCwKKwkweDExMGNkLCAweDExMGNkLAorCTB4MTExMDAsIDB4MTExMDIsCisJMHgx
MTEyNywgMHgxMTEyYiwKKwkweDExMTJkLCAweDExMTM0LAorCTB4MTExNzMsIDB4MTExNzMsCisJ
MHgxMTE4MCwgMHgxMTE4MSwKKwkweDExMWI2LCAweDExMWJlLAorCTB4MTExYzksIDB4MTExY2Ms
CisJMHgxMTIyZiwgMHgxMTIzMSwKKwkweDExMjM0LCAweDExMjM0LAorCTB4MTEyMzYsIDB4MTEy
MzcsCisJMHgxMTIzZSwgMHgxMTIzZSwKKwkweDExMmRmLCAweDExMmRmLAorCTB4MTEyZTMsIDB4
MTEyZWEsCisJMHgxMTMwMCwgMHgxMTMwMSwKKwkweDExMzNiLCAweDExMzNjLAorCTB4MTEzNDAs
IDB4MTEzNDAsCisJMHgxMTM2NiwgMHgxMTM2YywKKwkweDExMzcwLCAweDExMzc0LAorCTB4MTE0
MzgsIDB4MTE0M2YsCisJMHgxMTQ0MiwgMHgxMTQ0NCwKKwkweDExNDQ2LCAweDExNDQ2LAorCTB4
MTE0NWUsIDB4MTE0NWUsCisJMHgxMTRiMywgMHgxMTRiOCwKKwkweDExNGJhLCAweDExNGJhLAor
CTB4MTE0YmYsIDB4MTE0YzAsCisJMHgxMTRjMiwgMHgxMTRjMywKKwkweDExNWIyLCAweDExNWI1
LAorCTB4MTE1YmMsIDB4MTE1YmQsCisJMHgxMTViZiwgMHgxMTVjMCwKKwkweDExNWRjLCAweDEx
NWRkLAorCTB4MTE2MzMsIDB4MTE2M2EsCisJMHgxMTYzZCwgMHgxMTYzZCwKKwkweDExNjNmLCAw
eDExNjQwLAorCTB4MTE2YWIsIDB4MTE2YWIsCisJMHgxMTZhZCwgMHgxMTZhZCwKKwkweDExNmIw
LCAweDExNmI1LAorCTB4MTE2YjcsIDB4MTE2YjcsCisJMHgxMTcxZCwgMHgxMTcxZiwKKwkweDEx
NzIyLCAweDExNzI1LAorCTB4MTE3MjcsIDB4MTE3MmIsCisJMHgxMTgyZiwgMHgxMTgzNywKKwkw
eDExODM5LCAweDExODNhLAorCTB4MTE5ZDQsIDB4MTE5ZDcsCisJMHgxMTlkYSwgMHgxMTlkYiwK
KwkweDExOWUwLCAweDExOWUwLAorCTB4MTFhMDEsIDB4MTFhMGEsCisJMHgxMWEzMywgMHgxMWEz
OCwKKwkweDExYTNiLCAweDExYTNlLAorCTB4MTFhNDcsIDB4MTFhNDcsCisJMHgxMWE1MSwgMHgx
MWE1NiwKKwkweDExYTU5LCAweDExYTViLAorCTB4MTFhOGEsIDB4MTFhOTYsCisJMHgxMWE5OCwg
MHgxMWE5OSwKKwkweDExYzMwLCAweDExYzM2LAorCTB4MTFjMzgsIDB4MTFjM2QsCisJMHgxMWMz
ZiwgMHgxMWMzZiwKKwkweDExYzkyLCAweDExY2E3LAorCTB4MTFjYWEsIDB4MTFjYjAsCisJMHgx
MWNiMiwgMHgxMWNiMywKKwkweDExY2I1LCAweDExY2I2LAorCTB4MTFkMzEsIDB4MTFkMzYsCisJ
MHgxMWQzYSwgMHgxMWQzYSwKKwkweDExZDNjLCAweDExZDNkLAorCTB4MTFkM2YsIDB4MTFkNDUs
CisJMHgxMWQ0NywgMHgxMWQ0NywKKwkweDExZDkwLCAweDExZDkxLAorCTB4MTFkOTUsIDB4MTFk
OTUsCisJMHgxMWQ5NywgMHgxMWQ5NywKKwkweDExZWYzLCAweDExZWY0LAorCTB4MTM0MzAsIDB4
MTM0MzgsCisJMHgxNmFmMCwgMHgxNmFmNCwKKwkweDE2YjMwLCAweDE2YjM2LAorCTB4MTZiNDAs
IDB4MTZiNDMsCisJMHgxNmY0ZiwgMHgxNmY0ZiwKKwkweDE2ZjhmLCAweDE2ZjlmLAorCTB4MTZm
ZTAsIDB4MTZmZTEsCisJMHgxNmZlMywgMHgxNmZlMywKKwkweDFiYzlkLCAweDFiYzllLAorCTB4
MWJjYTAsIDB4MWJjYTMsCisJMHgxZDE2NywgMHgxZDE2OSwKKwkweDFkMTczLCAweDFkMTgyLAor
CTB4MWQxODUsIDB4MWQxOGIsCisJMHgxZDFhYSwgMHgxZDFhZCwKKwkweDFkMjQyLCAweDFkMjQ0
LAorCTB4MWRhMDAsIDB4MWRhMzYsCisJMHgxZGEzYiwgMHgxZGE2YywKKwkweDFkYTc1LCAweDFk
YTc1LAorCTB4MWRhODQsIDB4MWRhODQsCisJMHgxZGE5YiwgMHgxZGE5ZiwKKwkweDFkYWExLCAw
eDFkYWFmLAorCTB4MWUwMDAsIDB4MWUwMDYsCisJMHgxZTAwOCwgMHgxZTAxOCwKKwkweDFlMDFi
LCAweDFlMDIxLAorCTB4MWUwMjMsIDB4MWUwMjQsCisJMHgxZTAyNiwgMHgxZTAyYSwKKwkweDFl
MTMwLCAweDFlMTNkLAorCTB4MWUyZWMsIDB4MWUyZWYsCisJMHgxZThkMCwgMHgxZThkNiwKKwkw
eDFlOTQ0LCAweDFlOTRiLAorCTB4MWYzZmIsIDB4MWYzZmYsCisJMHhlMDAwMSwgMHhlMDAwMSwK
KwkweGUwMDIwLCAweGUwMDdmLAorCTB4ZTAxMDAsIDB4ZTAxZWYsCit9OyAvKiBDUl9DYXNlX0ln
bm9yYWJsZSAqLworCisvKiAnQ2hhbmdlc19XaGVuX0xvd2VyY2FzZWQnOiBEZXJpdmVkIFByb3Bl
cnR5ICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9DaGFuZ2VzX1doZW5fTG93ZXJj
YXNlZFtdID0geworCTU5OSwKKwkweDAwNDEsIDB4MDA1YSwKKwkweDAwYzAsIDB4MDBkNiwKKwkw
eDAwZDgsIDB4MDBkZSwKKwkweDAxMDAsIDB4MDEwMCwKKwkweDAxMDIsIDB4MDEwMiwKKwkweDAx
MDQsIDB4MDEwNCwKKwkweDAxMDYsIDB4MDEwNiwKKwkweDAxMDgsIDB4MDEwOCwKKwkweDAxMGEs
IDB4MDEwYSwKKwkweDAxMGMsIDB4MDEwYywKKwkweDAxMGUsIDB4MDEwZSwKKwkweDAxMTAsIDB4
MDExMCwKKwkweDAxMTIsIDB4MDExMiwKKwkweDAxMTQsIDB4MDExNCwKKwkweDAxMTYsIDB4MDEx
NiwKKwkweDAxMTgsIDB4MDExOCwKKwkweDAxMWEsIDB4MDExYSwKKwkweDAxMWMsIDB4MDExYywK
KwkweDAxMWUsIDB4MDExZSwKKwkweDAxMjAsIDB4MDEyMCwKKwkweDAxMjIsIDB4MDEyMiwKKwkw
eDAxMjQsIDB4MDEyNCwKKwkweDAxMjYsIDB4MDEyNiwKKwkweDAxMjgsIDB4MDEyOCwKKwkweDAx
MmEsIDB4MDEyYSwKKwkweDAxMmMsIDB4MDEyYywKKwkweDAxMmUsIDB4MDEyZSwKKwkweDAxMzAs
IDB4MDEzMCwKKwkweDAxMzIsIDB4MDEzMiwKKwkweDAxMzQsIDB4MDEzNCwKKwkweDAxMzYsIDB4
MDEzNiwKKwkweDAxMzksIDB4MDEzOSwKKwkweDAxM2IsIDB4MDEzYiwKKwkweDAxM2QsIDB4MDEz
ZCwKKwkweDAxM2YsIDB4MDEzZiwKKwkweDAxNDEsIDB4MDE0MSwKKwkweDAxNDMsIDB4MDE0MywK
KwkweDAxNDUsIDB4MDE0NSwKKwkweDAxNDcsIDB4MDE0NywKKwkweDAxNGEsIDB4MDE0YSwKKwkw
eDAxNGMsIDB4MDE0YywKKwkweDAxNGUsIDB4MDE0ZSwKKwkweDAxNTAsIDB4MDE1MCwKKwkweDAx
NTIsIDB4MDE1MiwKKwkweDAxNTQsIDB4MDE1NCwKKwkweDAxNTYsIDB4MDE1NiwKKwkweDAxNTgs
IDB4MDE1OCwKKwkweDAxNWEsIDB4MDE1YSwKKwkweDAxNWMsIDB4MDE1YywKKwkweDAxNWUsIDB4
MDE1ZSwKKwkweDAxNjAsIDB4MDE2MCwKKwkweDAxNjIsIDB4MDE2MiwKKwkweDAxNjQsIDB4MDE2
NCwKKwkweDAxNjYsIDB4MDE2NiwKKwkweDAxNjgsIDB4MDE2OCwKKwkweDAxNmEsIDB4MDE2YSwK
KwkweDAxNmMsIDB4MDE2YywKKwkweDAxNmUsIDB4MDE2ZSwKKwkweDAxNzAsIDB4MDE3MCwKKwkw
eDAxNzIsIDB4MDE3MiwKKwkweDAxNzQsIDB4MDE3NCwKKwkweDAxNzYsIDB4MDE3NiwKKwkweDAx
NzgsIDB4MDE3OSwKKwkweDAxN2IsIDB4MDE3YiwKKwkweDAxN2QsIDB4MDE3ZCwKKwkweDAxODEs
IDB4MDE4MiwKKwkweDAxODQsIDB4MDE4NCwKKwkweDAxODYsIDB4MDE4NywKKwkweDAxODksIDB4
MDE4YiwKKwkweDAxOGUsIDB4MDE5MSwKKwkweDAxOTMsIDB4MDE5NCwKKwkweDAxOTYsIDB4MDE5
OCwKKwkweDAxOWMsIDB4MDE5ZCwKKwkweDAxOWYsIDB4MDFhMCwKKwkweDAxYTIsIDB4MDFhMiwK
KwkweDAxYTQsIDB4MDFhNCwKKwkweDAxYTYsIDB4MDFhNywKKwkweDAxYTksIDB4MDFhOSwKKwkw
eDAxYWMsIDB4MDFhYywKKwkweDAxYWUsIDB4MDFhZiwKKwkweDAxYjEsIDB4MDFiMywKKwkweDAx
YjUsIDB4MDFiNSwKKwkweDAxYjcsIDB4MDFiOCwKKwkweDAxYmMsIDB4MDFiYywKKwkweDAxYzQs
IDB4MDFjNSwKKwkweDAxYzcsIDB4MDFjOCwKKwkweDAxY2EsIDB4MDFjYiwKKwkweDAxY2QsIDB4
MDFjZCwKKwkweDAxY2YsIDB4MDFjZiwKKwkweDAxZDEsIDB4MDFkMSwKKwkweDAxZDMsIDB4MDFk
MywKKwkweDAxZDUsIDB4MDFkNSwKKwkweDAxZDcsIDB4MDFkNywKKwkweDAxZDksIDB4MDFkOSwK
KwkweDAxZGIsIDB4MDFkYiwKKwkweDAxZGUsIDB4MDFkZSwKKwkweDAxZTAsIDB4MDFlMCwKKwkw
eDAxZTIsIDB4MDFlMiwKKwkweDAxZTQsIDB4MDFlNCwKKwkweDAxZTYsIDB4MDFlNiwKKwkweDAx
ZTgsIDB4MDFlOCwKKwkweDAxZWEsIDB4MDFlYSwKKwkweDAxZWMsIDB4MDFlYywKKwkweDAxZWUs
IDB4MDFlZSwKKwkweDAxZjEsIDB4MDFmMiwKKwkweDAxZjQsIDB4MDFmNCwKKwkweDAxZjYsIDB4
MDFmOCwKKwkweDAxZmEsIDB4MDFmYSwKKwkweDAxZmMsIDB4MDFmYywKKwkweDAxZmUsIDB4MDFm
ZSwKKwkweDAyMDAsIDB4MDIwMCwKKwkweDAyMDIsIDB4MDIwMiwKKwkweDAyMDQsIDB4MDIwNCwK
KwkweDAyMDYsIDB4MDIwNiwKKwkweDAyMDgsIDB4MDIwOCwKKwkweDAyMGEsIDB4MDIwYSwKKwkw
eDAyMGMsIDB4MDIwYywKKwkweDAyMGUsIDB4MDIwZSwKKwkweDAyMTAsIDB4MDIxMCwKKwkweDAy
MTIsIDB4MDIxMiwKKwkweDAyMTQsIDB4MDIxNCwKKwkweDAyMTYsIDB4MDIxNiwKKwkweDAyMTgs
IDB4MDIxOCwKKwkweDAyMWEsIDB4MDIxYSwKKwkweDAyMWMsIDB4MDIxYywKKwkweDAyMWUsIDB4
MDIxZSwKKwkweDAyMjAsIDB4MDIyMCwKKwkweDAyMjIsIDB4MDIyMiwKKwkweDAyMjQsIDB4MDIy
NCwKKwkweDAyMjYsIDB4MDIyNiwKKwkweDAyMjgsIDB4MDIyOCwKKwkweDAyMmEsIDB4MDIyYSwK
KwkweDAyMmMsIDB4MDIyYywKKwkweDAyMmUsIDB4MDIyZSwKKwkweDAyMzAsIDB4MDIzMCwKKwkw
eDAyMzIsIDB4MDIzMiwKKwkweDAyM2EsIDB4MDIzYiwKKwkweDAyM2QsIDB4MDIzZSwKKwkweDAy
NDEsIDB4MDI0MSwKKwkweDAyNDMsIDB4MDI0NiwKKwkweDAyNDgsIDB4MDI0OCwKKwkweDAyNGEs
IDB4MDI0YSwKKwkweDAyNGMsIDB4MDI0YywKKwkweDAyNGUsIDB4MDI0ZSwKKwkweDAzNzAsIDB4
MDM3MCwKKwkweDAzNzIsIDB4MDM3MiwKKwkweDAzNzYsIDB4MDM3NiwKKwkweDAzN2YsIDB4MDM3
ZiwKKwkweDAzODYsIDB4MDM4NiwKKwkweDAzODgsIDB4MDM4YSwKKwkweDAzOGMsIDB4MDM4YywK
KwkweDAzOGUsIDB4MDM4ZiwKKwkweDAzOTEsIDB4MDNhMSwKKwkweDAzYTMsIDB4MDNhYiwKKwkw
eDAzY2YsIDB4MDNjZiwKKwkweDAzZDgsIDB4MDNkOCwKKwkweDAzZGEsIDB4MDNkYSwKKwkweDAz
ZGMsIDB4MDNkYywKKwkweDAzZGUsIDB4MDNkZSwKKwkweDAzZTAsIDB4MDNlMCwKKwkweDAzZTIs
IDB4MDNlMiwKKwkweDAzZTQsIDB4MDNlNCwKKwkweDAzZTYsIDB4MDNlNiwKKwkweDAzZTgsIDB4
MDNlOCwKKwkweDAzZWEsIDB4MDNlYSwKKwkweDAzZWMsIDB4MDNlYywKKwkweDAzZWUsIDB4MDNl
ZSwKKwkweDAzZjQsIDB4MDNmNCwKKwkweDAzZjcsIDB4MDNmNywKKwkweDAzZjksIDB4MDNmYSwK
KwkweDAzZmQsIDB4MDQyZiwKKwkweDA0NjAsIDB4MDQ2MCwKKwkweDA0NjIsIDB4MDQ2MiwKKwkw
eDA0NjQsIDB4MDQ2NCwKKwkweDA0NjYsIDB4MDQ2NiwKKwkweDA0NjgsIDB4MDQ2OCwKKwkweDA0
NmEsIDB4MDQ2YSwKKwkweDA0NmMsIDB4MDQ2YywKKwkweDA0NmUsIDB4MDQ2ZSwKKwkweDA0NzAs
IDB4MDQ3MCwKKwkweDA0NzIsIDB4MDQ3MiwKKwkweDA0NzQsIDB4MDQ3NCwKKwkweDA0NzYsIDB4
MDQ3NiwKKwkweDA0NzgsIDB4MDQ3OCwKKwkweDA0N2EsIDB4MDQ3YSwKKwkweDA0N2MsIDB4MDQ3
YywKKwkweDA0N2UsIDB4MDQ3ZSwKKwkweDA0ODAsIDB4MDQ4MCwKKwkweDA0OGEsIDB4MDQ4YSwK
KwkweDA0OGMsIDB4MDQ4YywKKwkweDA0OGUsIDB4MDQ4ZSwKKwkweDA0OTAsIDB4MDQ5MCwKKwkw
eDA0OTIsIDB4MDQ5MiwKKwkweDA0OTQsIDB4MDQ5NCwKKwkweDA0OTYsIDB4MDQ5NiwKKwkweDA0
OTgsIDB4MDQ5OCwKKwkweDA0OWEsIDB4MDQ5YSwKKwkweDA0OWMsIDB4MDQ5YywKKwkweDA0OWUs
IDB4MDQ5ZSwKKwkweDA0YTAsIDB4MDRhMCwKKwkweDA0YTIsIDB4MDRhMiwKKwkweDA0YTQsIDB4
MDRhNCwKKwkweDA0YTYsIDB4MDRhNiwKKwkweDA0YTgsIDB4MDRhOCwKKwkweDA0YWEsIDB4MDRh
YSwKKwkweDA0YWMsIDB4MDRhYywKKwkweDA0YWUsIDB4MDRhZSwKKwkweDA0YjAsIDB4MDRiMCwK
KwkweDA0YjIsIDB4MDRiMiwKKwkweDA0YjQsIDB4MDRiNCwKKwkweDA0YjYsIDB4MDRiNiwKKwkw
eDA0YjgsIDB4MDRiOCwKKwkweDA0YmEsIDB4MDRiYSwKKwkweDA0YmMsIDB4MDRiYywKKwkweDA0
YmUsIDB4MDRiZSwKKwkweDA0YzAsIDB4MDRjMSwKKwkweDA0YzMsIDB4MDRjMywKKwkweDA0YzUs
IDB4MDRjNSwKKwkweDA0YzcsIDB4MDRjNywKKwkweDA0YzksIDB4MDRjOSwKKwkweDA0Y2IsIDB4
MDRjYiwKKwkweDA0Y2QsIDB4MDRjZCwKKwkweDA0ZDAsIDB4MDRkMCwKKwkweDA0ZDIsIDB4MDRk
MiwKKwkweDA0ZDQsIDB4MDRkNCwKKwkweDA0ZDYsIDB4MDRkNiwKKwkweDA0ZDgsIDB4MDRkOCwK
KwkweDA0ZGEsIDB4MDRkYSwKKwkweDA0ZGMsIDB4MDRkYywKKwkweDA0ZGUsIDB4MDRkZSwKKwkw
eDA0ZTAsIDB4MDRlMCwKKwkweDA0ZTIsIDB4MDRlMiwKKwkweDA0ZTQsIDB4MDRlNCwKKwkweDA0
ZTYsIDB4MDRlNiwKKwkweDA0ZTgsIDB4MDRlOCwKKwkweDA0ZWEsIDB4MDRlYSwKKwkweDA0ZWMs
IDB4MDRlYywKKwkweDA0ZWUsIDB4MDRlZSwKKwkweDA0ZjAsIDB4MDRmMCwKKwkweDA0ZjIsIDB4
MDRmMiwKKwkweDA0ZjQsIDB4MDRmNCwKKwkweDA0ZjYsIDB4MDRmNiwKKwkweDA0ZjgsIDB4MDRm
OCwKKwkweDA0ZmEsIDB4MDRmYSwKKwkweDA0ZmMsIDB4MDRmYywKKwkweDA0ZmUsIDB4MDRmZSwK
KwkweDA1MDAsIDB4MDUwMCwKKwkweDA1MDIsIDB4MDUwMiwKKwkweDA1MDQsIDB4MDUwNCwKKwkw
eDA1MDYsIDB4MDUwNiwKKwkweDA1MDgsIDB4MDUwOCwKKwkweDA1MGEsIDB4MDUwYSwKKwkweDA1
MGMsIDB4MDUwYywKKwkweDA1MGUsIDB4MDUwZSwKKwkweDA1MTAsIDB4MDUxMCwKKwkweDA1MTIs
IDB4MDUxMiwKKwkweDA1MTQsIDB4MDUxNCwKKwkweDA1MTYsIDB4MDUxNiwKKwkweDA1MTgsIDB4
MDUxOCwKKwkweDA1MWEsIDB4MDUxYSwKKwkweDA1MWMsIDB4MDUxYywKKwkweDA1MWUsIDB4MDUx
ZSwKKwkweDA1MjAsIDB4MDUyMCwKKwkweDA1MjIsIDB4MDUyMiwKKwkweDA1MjQsIDB4MDUyNCwK
KwkweDA1MjYsIDB4MDUyNiwKKwkweDA1MjgsIDB4MDUyOCwKKwkweDA1MmEsIDB4MDUyYSwKKwkw
eDA1MmMsIDB4MDUyYywKKwkweDA1MmUsIDB4MDUyZSwKKwkweDA1MzEsIDB4MDU1NiwKKwkweDEw
YTAsIDB4MTBjNSwKKwkweDEwYzcsIDB4MTBjNywKKwkweDEwY2QsIDB4MTBjZCwKKwkweDEzYTAs
IDB4MTNmNSwKKwkweDFjOTAsIDB4MWNiYSwKKwkweDFjYmQsIDB4MWNiZiwKKwkweDFlMDAsIDB4
MWUwMCwKKwkweDFlMDIsIDB4MWUwMiwKKwkweDFlMDQsIDB4MWUwNCwKKwkweDFlMDYsIDB4MWUw
NiwKKwkweDFlMDgsIDB4MWUwOCwKKwkweDFlMGEsIDB4MWUwYSwKKwkweDFlMGMsIDB4MWUwYywK
KwkweDFlMGUsIDB4MWUwZSwKKwkweDFlMTAsIDB4MWUxMCwKKwkweDFlMTIsIDB4MWUxMiwKKwkw
eDFlMTQsIDB4MWUxNCwKKwkweDFlMTYsIDB4MWUxNiwKKwkweDFlMTgsIDB4MWUxOCwKKwkweDFl
MWEsIDB4MWUxYSwKKwkweDFlMWMsIDB4MWUxYywKKwkweDFlMWUsIDB4MWUxZSwKKwkweDFlMjAs
IDB4MWUyMCwKKwkweDFlMjIsIDB4MWUyMiwKKwkweDFlMjQsIDB4MWUyNCwKKwkweDFlMjYsIDB4
MWUyNiwKKwkweDFlMjgsIDB4MWUyOCwKKwkweDFlMmEsIDB4MWUyYSwKKwkweDFlMmMsIDB4MWUy
YywKKwkweDFlMmUsIDB4MWUyZSwKKwkweDFlMzAsIDB4MWUzMCwKKwkweDFlMzIsIDB4MWUzMiwK
KwkweDFlMzQsIDB4MWUzNCwKKwkweDFlMzYsIDB4MWUzNiwKKwkweDFlMzgsIDB4MWUzOCwKKwkw
eDFlM2EsIDB4MWUzYSwKKwkweDFlM2MsIDB4MWUzYywKKwkweDFlM2UsIDB4MWUzZSwKKwkweDFl
NDAsIDB4MWU0MCwKKwkweDFlNDIsIDB4MWU0MiwKKwkweDFlNDQsIDB4MWU0NCwKKwkweDFlNDYs
IDB4MWU0NiwKKwkweDFlNDgsIDB4MWU0OCwKKwkweDFlNGEsIDB4MWU0YSwKKwkweDFlNGMsIDB4
MWU0YywKKwkweDFlNGUsIDB4MWU0ZSwKKwkweDFlNTAsIDB4MWU1MCwKKwkweDFlNTIsIDB4MWU1
MiwKKwkweDFlNTQsIDB4MWU1NCwKKwkweDFlNTYsIDB4MWU1NiwKKwkweDFlNTgsIDB4MWU1OCwK
KwkweDFlNWEsIDB4MWU1YSwKKwkweDFlNWMsIDB4MWU1YywKKwkweDFlNWUsIDB4MWU1ZSwKKwkw
eDFlNjAsIDB4MWU2MCwKKwkweDFlNjIsIDB4MWU2MiwKKwkweDFlNjQsIDB4MWU2NCwKKwkweDFl
NjYsIDB4MWU2NiwKKwkweDFlNjgsIDB4MWU2OCwKKwkweDFlNmEsIDB4MWU2YSwKKwkweDFlNmMs
IDB4MWU2YywKKwkweDFlNmUsIDB4MWU2ZSwKKwkweDFlNzAsIDB4MWU3MCwKKwkweDFlNzIsIDB4
MWU3MiwKKwkweDFlNzQsIDB4MWU3NCwKKwkweDFlNzYsIDB4MWU3NiwKKwkweDFlNzgsIDB4MWU3
OCwKKwkweDFlN2EsIDB4MWU3YSwKKwkweDFlN2MsIDB4MWU3YywKKwkweDFlN2UsIDB4MWU3ZSwK
KwkweDFlODAsIDB4MWU4MCwKKwkweDFlODIsIDB4MWU4MiwKKwkweDFlODQsIDB4MWU4NCwKKwkw
eDFlODYsIDB4MWU4NiwKKwkweDFlODgsIDB4MWU4OCwKKwkweDFlOGEsIDB4MWU4YSwKKwkweDFl
OGMsIDB4MWU4YywKKwkweDFlOGUsIDB4MWU4ZSwKKwkweDFlOTAsIDB4MWU5MCwKKwkweDFlOTIs
IDB4MWU5MiwKKwkweDFlOTQsIDB4MWU5NCwKKwkweDFlOWUsIDB4MWU5ZSwKKwkweDFlYTAsIDB4
MWVhMCwKKwkweDFlYTIsIDB4MWVhMiwKKwkweDFlYTQsIDB4MWVhNCwKKwkweDFlYTYsIDB4MWVh
NiwKKwkweDFlYTgsIDB4MWVhOCwKKwkweDFlYWEsIDB4MWVhYSwKKwkweDFlYWMsIDB4MWVhYywK
KwkweDFlYWUsIDB4MWVhZSwKKwkweDFlYjAsIDB4MWViMCwKKwkweDFlYjIsIDB4MWViMiwKKwkw
eDFlYjQsIDB4MWViNCwKKwkweDFlYjYsIDB4MWViNiwKKwkweDFlYjgsIDB4MWViOCwKKwkweDFl
YmEsIDB4MWViYSwKKwkweDFlYmMsIDB4MWViYywKKwkweDFlYmUsIDB4MWViZSwKKwkweDFlYzAs
IDB4MWVjMCwKKwkweDFlYzIsIDB4MWVjMiwKKwkweDFlYzQsIDB4MWVjNCwKKwkweDFlYzYsIDB4
MWVjNiwKKwkweDFlYzgsIDB4MWVjOCwKKwkweDFlY2EsIDB4MWVjYSwKKwkweDFlY2MsIDB4MWVj
YywKKwkweDFlY2UsIDB4MWVjZSwKKwkweDFlZDAsIDB4MWVkMCwKKwkweDFlZDIsIDB4MWVkMiwK
KwkweDFlZDQsIDB4MWVkNCwKKwkweDFlZDYsIDB4MWVkNiwKKwkweDFlZDgsIDB4MWVkOCwKKwkw
eDFlZGEsIDB4MWVkYSwKKwkweDFlZGMsIDB4MWVkYywKKwkweDFlZGUsIDB4MWVkZSwKKwkweDFl
ZTAsIDB4MWVlMCwKKwkweDFlZTIsIDB4MWVlMiwKKwkweDFlZTQsIDB4MWVlNCwKKwkweDFlZTYs
IDB4MWVlNiwKKwkweDFlZTgsIDB4MWVlOCwKKwkweDFlZWEsIDB4MWVlYSwKKwkweDFlZWMsIDB4
MWVlYywKKwkweDFlZWUsIDB4MWVlZSwKKwkweDFlZjAsIDB4MWVmMCwKKwkweDFlZjIsIDB4MWVm
MiwKKwkweDFlZjQsIDB4MWVmNCwKKwkweDFlZjYsIDB4MWVmNiwKKwkweDFlZjgsIDB4MWVmOCwK
KwkweDFlZmEsIDB4MWVmYSwKKwkweDFlZmMsIDB4MWVmYywKKwkweDFlZmUsIDB4MWVmZSwKKwkw
eDFmMDgsIDB4MWYwZiwKKwkweDFmMTgsIDB4MWYxZCwKKwkweDFmMjgsIDB4MWYyZiwKKwkweDFm
MzgsIDB4MWYzZiwKKwkweDFmNDgsIDB4MWY0ZCwKKwkweDFmNTksIDB4MWY1OSwKKwkweDFmNWIs
IDB4MWY1YiwKKwkweDFmNWQsIDB4MWY1ZCwKKwkweDFmNWYsIDB4MWY1ZiwKKwkweDFmNjgsIDB4
MWY2ZiwKKwkweDFmODgsIDB4MWY4ZiwKKwkweDFmOTgsIDB4MWY5ZiwKKwkweDFmYTgsIDB4MWZh
ZiwKKwkweDFmYjgsIDB4MWZiYywKKwkweDFmYzgsIDB4MWZjYywKKwkweDFmZDgsIDB4MWZkYiwK
KwkweDFmZTgsIDB4MWZlYywKKwkweDFmZjgsIDB4MWZmYywKKwkweDIxMjYsIDB4MjEyNiwKKwkw
eDIxMmEsIDB4MjEyYiwKKwkweDIxMzIsIDB4MjEzMiwKKwkweDIxNjAsIDB4MjE2ZiwKKwkweDIx
ODMsIDB4MjE4MywKKwkweDI0YjYsIDB4MjRjZiwKKwkweDJjMDAsIDB4MmMyZSwKKwkweDJjNjAs
IDB4MmM2MCwKKwkweDJjNjIsIDB4MmM2NCwKKwkweDJjNjcsIDB4MmM2NywKKwkweDJjNjksIDB4
MmM2OSwKKwkweDJjNmIsIDB4MmM2YiwKKwkweDJjNmQsIDB4MmM3MCwKKwkweDJjNzIsIDB4MmM3
MiwKKwkweDJjNzUsIDB4MmM3NSwKKwkweDJjN2UsIDB4MmM4MCwKKwkweDJjODIsIDB4MmM4MiwK
KwkweDJjODQsIDB4MmM4NCwKKwkweDJjODYsIDB4MmM4NiwKKwkweDJjODgsIDB4MmM4OCwKKwkw
eDJjOGEsIDB4MmM4YSwKKwkweDJjOGMsIDB4MmM4YywKKwkweDJjOGUsIDB4MmM4ZSwKKwkweDJj
OTAsIDB4MmM5MCwKKwkweDJjOTIsIDB4MmM5MiwKKwkweDJjOTQsIDB4MmM5NCwKKwkweDJjOTYs
IDB4MmM5NiwKKwkweDJjOTgsIDB4MmM5OCwKKwkweDJjOWEsIDB4MmM5YSwKKwkweDJjOWMsIDB4
MmM5YywKKwkweDJjOWUsIDB4MmM5ZSwKKwkweDJjYTAsIDB4MmNhMCwKKwkweDJjYTIsIDB4MmNh
MiwKKwkweDJjYTQsIDB4MmNhNCwKKwkweDJjYTYsIDB4MmNhNiwKKwkweDJjYTgsIDB4MmNhOCwK
KwkweDJjYWEsIDB4MmNhYSwKKwkweDJjYWMsIDB4MmNhYywKKwkweDJjYWUsIDB4MmNhZSwKKwkw
eDJjYjAsIDB4MmNiMCwKKwkweDJjYjIsIDB4MmNiMiwKKwkweDJjYjQsIDB4MmNiNCwKKwkweDJj
YjYsIDB4MmNiNiwKKwkweDJjYjgsIDB4MmNiOCwKKwkweDJjYmEsIDB4MmNiYSwKKwkweDJjYmMs
IDB4MmNiYywKKwkweDJjYmUsIDB4MmNiZSwKKwkweDJjYzAsIDB4MmNjMCwKKwkweDJjYzIsIDB4
MmNjMiwKKwkweDJjYzQsIDB4MmNjNCwKKwkweDJjYzYsIDB4MmNjNiwKKwkweDJjYzgsIDB4MmNj
OCwKKwkweDJjY2EsIDB4MmNjYSwKKwkweDJjY2MsIDB4MmNjYywKKwkweDJjY2UsIDB4MmNjZSwK
KwkweDJjZDAsIDB4MmNkMCwKKwkweDJjZDIsIDB4MmNkMiwKKwkweDJjZDQsIDB4MmNkNCwKKwkw
eDJjZDYsIDB4MmNkNiwKKwkweDJjZDgsIDB4MmNkOCwKKwkweDJjZGEsIDB4MmNkYSwKKwkweDJj
ZGMsIDB4MmNkYywKKwkweDJjZGUsIDB4MmNkZSwKKwkweDJjZTAsIDB4MmNlMCwKKwkweDJjZTIs
IDB4MmNlMiwKKwkweDJjZWIsIDB4MmNlYiwKKwkweDJjZWQsIDB4MmNlZCwKKwkweDJjZjIsIDB4
MmNmMiwKKwkweGE2NDAsIDB4YTY0MCwKKwkweGE2NDIsIDB4YTY0MiwKKwkweGE2NDQsIDB4YTY0
NCwKKwkweGE2NDYsIDB4YTY0NiwKKwkweGE2NDgsIDB4YTY0OCwKKwkweGE2NGEsIDB4YTY0YSwK
KwkweGE2NGMsIDB4YTY0YywKKwkweGE2NGUsIDB4YTY0ZSwKKwkweGE2NTAsIDB4YTY1MCwKKwkw
eGE2NTIsIDB4YTY1MiwKKwkweGE2NTQsIDB4YTY1NCwKKwkweGE2NTYsIDB4YTY1NiwKKwkweGE2
NTgsIDB4YTY1OCwKKwkweGE2NWEsIDB4YTY1YSwKKwkweGE2NWMsIDB4YTY1YywKKwkweGE2NWUs
IDB4YTY1ZSwKKwkweGE2NjAsIDB4YTY2MCwKKwkweGE2NjIsIDB4YTY2MiwKKwkweGE2NjQsIDB4
YTY2NCwKKwkweGE2NjYsIDB4YTY2NiwKKwkweGE2NjgsIDB4YTY2OCwKKwkweGE2NmEsIDB4YTY2
YSwKKwkweGE2NmMsIDB4YTY2YywKKwkweGE2ODAsIDB4YTY4MCwKKwkweGE2ODIsIDB4YTY4MiwK
KwkweGE2ODQsIDB4YTY4NCwKKwkweGE2ODYsIDB4YTY4NiwKKwkweGE2ODgsIDB4YTY4OCwKKwkw
eGE2OGEsIDB4YTY4YSwKKwkweGE2OGMsIDB4YTY4YywKKwkweGE2OGUsIDB4YTY4ZSwKKwkweGE2
OTAsIDB4YTY5MCwKKwkweGE2OTIsIDB4YTY5MiwKKwkweGE2OTQsIDB4YTY5NCwKKwkweGE2OTYs
IDB4YTY5NiwKKwkweGE2OTgsIDB4YTY5OCwKKwkweGE2OWEsIDB4YTY5YSwKKwkweGE3MjIsIDB4
YTcyMiwKKwkweGE3MjQsIDB4YTcyNCwKKwkweGE3MjYsIDB4YTcyNiwKKwkweGE3MjgsIDB4YTcy
OCwKKwkweGE3MmEsIDB4YTcyYSwKKwkweGE3MmMsIDB4YTcyYywKKwkweGE3MmUsIDB4YTcyZSwK
KwkweGE3MzIsIDB4YTczMiwKKwkweGE3MzQsIDB4YTczNCwKKwkweGE3MzYsIDB4YTczNiwKKwkw
eGE3MzgsIDB4YTczOCwKKwkweGE3M2EsIDB4YTczYSwKKwkweGE3M2MsIDB4YTczYywKKwkweGE3
M2UsIDB4YTczZSwKKwkweGE3NDAsIDB4YTc0MCwKKwkweGE3NDIsIDB4YTc0MiwKKwkweGE3NDQs
IDB4YTc0NCwKKwkweGE3NDYsIDB4YTc0NiwKKwkweGE3NDgsIDB4YTc0OCwKKwkweGE3NGEsIDB4
YTc0YSwKKwkweGE3NGMsIDB4YTc0YywKKwkweGE3NGUsIDB4YTc0ZSwKKwkweGE3NTAsIDB4YTc1
MCwKKwkweGE3NTIsIDB4YTc1MiwKKwkweGE3NTQsIDB4YTc1NCwKKwkweGE3NTYsIDB4YTc1NiwK
KwkweGE3NTgsIDB4YTc1OCwKKwkweGE3NWEsIDB4YTc1YSwKKwkweGE3NWMsIDB4YTc1YywKKwkw
eGE3NWUsIDB4YTc1ZSwKKwkweGE3NjAsIDB4YTc2MCwKKwkweGE3NjIsIDB4YTc2MiwKKwkweGE3
NjQsIDB4YTc2NCwKKwkweGE3NjYsIDB4YTc2NiwKKwkweGE3NjgsIDB4YTc2OCwKKwkweGE3NmEs
IDB4YTc2YSwKKwkweGE3NmMsIDB4YTc2YywKKwkweGE3NmUsIDB4YTc2ZSwKKwkweGE3NzksIDB4
YTc3OSwKKwkweGE3N2IsIDB4YTc3YiwKKwkweGE3N2QsIDB4YTc3ZSwKKwkweGE3ODAsIDB4YTc4
MCwKKwkweGE3ODIsIDB4YTc4MiwKKwkweGE3ODQsIDB4YTc4NCwKKwkweGE3ODYsIDB4YTc4NiwK
KwkweGE3OGIsIDB4YTc4YiwKKwkweGE3OGQsIDB4YTc4ZCwKKwkweGE3OTAsIDB4YTc5MCwKKwkw
eGE3OTIsIDB4YTc5MiwKKwkweGE3OTYsIDB4YTc5NiwKKwkweGE3OTgsIDB4YTc5OCwKKwkweGE3
OWEsIDB4YTc5YSwKKwkweGE3OWMsIDB4YTc5YywKKwkweGE3OWUsIDB4YTc5ZSwKKwkweGE3YTAs
IDB4YTdhMCwKKwkweGE3YTIsIDB4YTdhMiwKKwkweGE3YTQsIDB4YTdhNCwKKwkweGE3YTYsIDB4
YTdhNiwKKwkweGE3YTgsIDB4YTdhOCwKKwkweGE3YWEsIDB4YTdhZSwKKwkweGE3YjAsIDB4YTdi
NCwKKwkweGE3YjYsIDB4YTdiNiwKKwkweGE3YjgsIDB4YTdiOCwKKwkweGE3YmEsIDB4YTdiYSwK
KwkweGE3YmMsIDB4YTdiYywKKwkweGE3YmUsIDB4YTdiZSwKKwkweGE3YzIsIDB4YTdjMiwKKwkw
eGE3YzQsIDB4YTdjNiwKKwkweGZmMjEsIDB4ZmYzYSwKKwkweDEwNDAwLCAweDEwNDI3LAorCTB4
MTA0YjAsIDB4MTA0ZDMsCisJMHgxMGM4MCwgMHgxMGNiMiwKKwkweDExOGEwLCAweDExOGJmLAor
CTB4MTZlNDAsIDB4MTZlNWYsCisJMHgxZTkwMCwgMHgxZTkyMSwKK307IC8qIENSX0NoYW5nZXNf
V2hlbl9Mb3dlcmNhc2VkICovCisKKy8qICdDaGFuZ2VzX1doZW5fVXBwZXJjYXNlZCc6IERlcml2
ZWQgUHJvcGVydHkgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0NoYW5nZXNfV2hl
bl9VcHBlcmNhc2VkW10gPSB7CisJNjE2LAorCTB4MDA2MSwgMHgwMDdhLAorCTB4MDBiNSwgMHgw
MGI1LAorCTB4MDBkZiwgMHgwMGY2LAorCTB4MDBmOCwgMHgwMGZmLAorCTB4MDEwMSwgMHgwMTAx
LAorCTB4MDEwMywgMHgwMTAzLAorCTB4MDEwNSwgMHgwMTA1LAorCTB4MDEwNywgMHgwMTA3LAor
CTB4MDEwOSwgMHgwMTA5LAorCTB4MDEwYiwgMHgwMTBiLAorCTB4MDEwZCwgMHgwMTBkLAorCTB4
MDEwZiwgMHgwMTBmLAorCTB4MDExMSwgMHgwMTExLAorCTB4MDExMywgMHgwMTEzLAorCTB4MDEx
NSwgMHgwMTE1LAorCTB4MDExNywgMHgwMTE3LAorCTB4MDExOSwgMHgwMTE5LAorCTB4MDExYiwg
MHgwMTFiLAorCTB4MDExZCwgMHgwMTFkLAorCTB4MDExZiwgMHgwMTFmLAorCTB4MDEyMSwgMHgw
MTIxLAorCTB4MDEyMywgMHgwMTIzLAorCTB4MDEyNSwgMHgwMTI1LAorCTB4MDEyNywgMHgwMTI3
LAorCTB4MDEyOSwgMHgwMTI5LAorCTB4MDEyYiwgMHgwMTJiLAorCTB4MDEyZCwgMHgwMTJkLAor
CTB4MDEyZiwgMHgwMTJmLAorCTB4MDEzMSwgMHgwMTMxLAorCTB4MDEzMywgMHgwMTMzLAorCTB4
MDEzNSwgMHgwMTM1LAorCTB4MDEzNywgMHgwMTM3LAorCTB4MDEzYSwgMHgwMTNhLAorCTB4MDEz
YywgMHgwMTNjLAorCTB4MDEzZSwgMHgwMTNlLAorCTB4MDE0MCwgMHgwMTQwLAorCTB4MDE0Miwg
MHgwMTQyLAorCTB4MDE0NCwgMHgwMTQ0LAorCTB4MDE0NiwgMHgwMTQ2LAorCTB4MDE0OCwgMHgw
MTQ5LAorCTB4MDE0YiwgMHgwMTRiLAorCTB4MDE0ZCwgMHgwMTRkLAorCTB4MDE0ZiwgMHgwMTRm
LAorCTB4MDE1MSwgMHgwMTUxLAorCTB4MDE1MywgMHgwMTUzLAorCTB4MDE1NSwgMHgwMTU1LAor
CTB4MDE1NywgMHgwMTU3LAorCTB4MDE1OSwgMHgwMTU5LAorCTB4MDE1YiwgMHgwMTViLAorCTB4
MDE1ZCwgMHgwMTVkLAorCTB4MDE1ZiwgMHgwMTVmLAorCTB4MDE2MSwgMHgwMTYxLAorCTB4MDE2
MywgMHgwMTYzLAorCTB4MDE2NSwgMHgwMTY1LAorCTB4MDE2NywgMHgwMTY3LAorCTB4MDE2OSwg
MHgwMTY5LAorCTB4MDE2YiwgMHgwMTZiLAorCTB4MDE2ZCwgMHgwMTZkLAorCTB4MDE2ZiwgMHgw
MTZmLAorCTB4MDE3MSwgMHgwMTcxLAorCTB4MDE3MywgMHgwMTczLAorCTB4MDE3NSwgMHgwMTc1
LAorCTB4MDE3NywgMHgwMTc3LAorCTB4MDE3YSwgMHgwMTdhLAorCTB4MDE3YywgMHgwMTdjLAor
CTB4MDE3ZSwgMHgwMTgwLAorCTB4MDE4MywgMHgwMTgzLAorCTB4MDE4NSwgMHgwMTg1LAorCTB4
MDE4OCwgMHgwMTg4LAorCTB4MDE4YywgMHgwMThjLAorCTB4MDE5MiwgMHgwMTkyLAorCTB4MDE5
NSwgMHgwMTk1LAorCTB4MDE5OSwgMHgwMTlhLAorCTB4MDE5ZSwgMHgwMTllLAorCTB4MDFhMSwg
MHgwMWExLAorCTB4MDFhMywgMHgwMWEzLAorCTB4MDFhNSwgMHgwMWE1LAorCTB4MDFhOCwgMHgw
MWE4LAorCTB4MDFhZCwgMHgwMWFkLAorCTB4MDFiMCwgMHgwMWIwLAorCTB4MDFiNCwgMHgwMWI0
LAorCTB4MDFiNiwgMHgwMWI2LAorCTB4MDFiOSwgMHgwMWI5LAorCTB4MDFiZCwgMHgwMWJkLAor
CTB4MDFiZiwgMHgwMWJmLAorCTB4MDFjNSwgMHgwMWM2LAorCTB4MDFjOCwgMHgwMWM5LAorCTB4
MDFjYiwgMHgwMWNjLAorCTB4MDFjZSwgMHgwMWNlLAorCTB4MDFkMCwgMHgwMWQwLAorCTB4MDFk
MiwgMHgwMWQyLAorCTB4MDFkNCwgMHgwMWQ0LAorCTB4MDFkNiwgMHgwMWQ2LAorCTB4MDFkOCwg
MHgwMWQ4LAorCTB4MDFkYSwgMHgwMWRhLAorCTB4MDFkYywgMHgwMWRkLAorCTB4MDFkZiwgMHgw
MWRmLAorCTB4MDFlMSwgMHgwMWUxLAorCTB4MDFlMywgMHgwMWUzLAorCTB4MDFlNSwgMHgwMWU1
LAorCTB4MDFlNywgMHgwMWU3LAorCTB4MDFlOSwgMHgwMWU5LAorCTB4MDFlYiwgMHgwMWViLAor
CTB4MDFlZCwgMHgwMWVkLAorCTB4MDFlZiwgMHgwMWYwLAorCTB4MDFmMiwgMHgwMWYzLAorCTB4
MDFmNSwgMHgwMWY1LAorCTB4MDFmOSwgMHgwMWY5LAorCTB4MDFmYiwgMHgwMWZiLAorCTB4MDFm
ZCwgMHgwMWZkLAorCTB4MDFmZiwgMHgwMWZmLAorCTB4MDIwMSwgMHgwMjAxLAorCTB4MDIwMywg
MHgwMjAzLAorCTB4MDIwNSwgMHgwMjA1LAorCTB4MDIwNywgMHgwMjA3LAorCTB4MDIwOSwgMHgw
MjA5LAorCTB4MDIwYiwgMHgwMjBiLAorCTB4MDIwZCwgMHgwMjBkLAorCTB4MDIwZiwgMHgwMjBm
LAorCTB4MDIxMSwgMHgwMjExLAorCTB4MDIxMywgMHgwMjEzLAorCTB4MDIxNSwgMHgwMjE1LAor
CTB4MDIxNywgMHgwMjE3LAorCTB4MDIxOSwgMHgwMjE5LAorCTB4MDIxYiwgMHgwMjFiLAorCTB4
MDIxZCwgMHgwMjFkLAorCTB4MDIxZiwgMHgwMjFmLAorCTB4MDIyMywgMHgwMjIzLAorCTB4MDIy
NSwgMHgwMjI1LAorCTB4MDIyNywgMHgwMjI3LAorCTB4MDIyOSwgMHgwMjI5LAorCTB4MDIyYiwg
MHgwMjJiLAorCTB4MDIyZCwgMHgwMjJkLAorCTB4MDIyZiwgMHgwMjJmLAorCTB4MDIzMSwgMHgw
MjMxLAorCTB4MDIzMywgMHgwMjMzLAorCTB4MDIzYywgMHgwMjNjLAorCTB4MDIzZiwgMHgwMjQw
LAorCTB4MDI0MiwgMHgwMjQyLAorCTB4MDI0NywgMHgwMjQ3LAorCTB4MDI0OSwgMHgwMjQ5LAor
CTB4MDI0YiwgMHgwMjRiLAorCTB4MDI0ZCwgMHgwMjRkLAorCTB4MDI0ZiwgMHgwMjU0LAorCTB4
MDI1NiwgMHgwMjU3LAorCTB4MDI1OSwgMHgwMjU5LAorCTB4MDI1YiwgMHgwMjVjLAorCTB4MDI2
MCwgMHgwMjYxLAorCTB4MDI2MywgMHgwMjYzLAorCTB4MDI2NSwgMHgwMjY2LAorCTB4MDI2OCwg
MHgwMjZjLAorCTB4MDI2ZiwgMHgwMjZmLAorCTB4MDI3MSwgMHgwMjcyLAorCTB4MDI3NSwgMHgw
Mjc1LAorCTB4MDI3ZCwgMHgwMjdkLAorCTB4MDI4MCwgMHgwMjgwLAorCTB4MDI4MiwgMHgwMjgz
LAorCTB4MDI4NywgMHgwMjhjLAorCTB4MDI5MiwgMHgwMjkyLAorCTB4MDI5ZCwgMHgwMjllLAor
CTB4MDM0NSwgMHgwMzQ1LAorCTB4MDM3MSwgMHgwMzcxLAorCTB4MDM3MywgMHgwMzczLAorCTB4
MDM3NywgMHgwMzc3LAorCTB4MDM3YiwgMHgwMzdkLAorCTB4MDM5MCwgMHgwMzkwLAorCTB4MDNh
YywgMHgwM2NlLAorCTB4MDNkMCwgMHgwM2QxLAorCTB4MDNkNSwgMHgwM2Q3LAorCTB4MDNkOSwg
MHgwM2Q5LAorCTB4MDNkYiwgMHgwM2RiLAorCTB4MDNkZCwgMHgwM2RkLAorCTB4MDNkZiwgMHgw
M2RmLAorCTB4MDNlMSwgMHgwM2UxLAorCTB4MDNlMywgMHgwM2UzLAorCTB4MDNlNSwgMHgwM2U1
LAorCTB4MDNlNywgMHgwM2U3LAorCTB4MDNlOSwgMHgwM2U5LAorCTB4MDNlYiwgMHgwM2ViLAor
CTB4MDNlZCwgMHgwM2VkLAorCTB4MDNlZiwgMHgwM2YzLAorCTB4MDNmNSwgMHgwM2Y1LAorCTB4
MDNmOCwgMHgwM2Y4LAorCTB4MDNmYiwgMHgwM2ZiLAorCTB4MDQzMCwgMHgwNDVmLAorCTB4MDQ2
MSwgMHgwNDYxLAorCTB4MDQ2MywgMHgwNDYzLAorCTB4MDQ2NSwgMHgwNDY1LAorCTB4MDQ2Nywg
MHgwNDY3LAorCTB4MDQ2OSwgMHgwNDY5LAorCTB4MDQ2YiwgMHgwNDZiLAorCTB4MDQ2ZCwgMHgw
NDZkLAorCTB4MDQ2ZiwgMHgwNDZmLAorCTB4MDQ3MSwgMHgwNDcxLAorCTB4MDQ3MywgMHgwNDcz
LAorCTB4MDQ3NSwgMHgwNDc1LAorCTB4MDQ3NywgMHgwNDc3LAorCTB4MDQ3OSwgMHgwNDc5LAor
CTB4MDQ3YiwgMHgwNDdiLAorCTB4MDQ3ZCwgMHgwNDdkLAorCTB4MDQ3ZiwgMHgwNDdmLAorCTB4
MDQ4MSwgMHgwNDgxLAorCTB4MDQ4YiwgMHgwNDhiLAorCTB4MDQ4ZCwgMHgwNDhkLAorCTB4MDQ4
ZiwgMHgwNDhmLAorCTB4MDQ5MSwgMHgwNDkxLAorCTB4MDQ5MywgMHgwNDkzLAorCTB4MDQ5NSwg
MHgwNDk1LAorCTB4MDQ5NywgMHgwNDk3LAorCTB4MDQ5OSwgMHgwNDk5LAorCTB4MDQ5YiwgMHgw
NDliLAorCTB4MDQ5ZCwgMHgwNDlkLAorCTB4MDQ5ZiwgMHgwNDlmLAorCTB4MDRhMSwgMHgwNGEx
LAorCTB4MDRhMywgMHgwNGEzLAorCTB4MDRhNSwgMHgwNGE1LAorCTB4MDRhNywgMHgwNGE3LAor
CTB4MDRhOSwgMHgwNGE5LAorCTB4MDRhYiwgMHgwNGFiLAorCTB4MDRhZCwgMHgwNGFkLAorCTB4
MDRhZiwgMHgwNGFmLAorCTB4MDRiMSwgMHgwNGIxLAorCTB4MDRiMywgMHgwNGIzLAorCTB4MDRi
NSwgMHgwNGI1LAorCTB4MDRiNywgMHgwNGI3LAorCTB4MDRiOSwgMHgwNGI5LAorCTB4MDRiYiwg
MHgwNGJiLAorCTB4MDRiZCwgMHgwNGJkLAorCTB4MDRiZiwgMHgwNGJmLAorCTB4MDRjMiwgMHgw
NGMyLAorCTB4MDRjNCwgMHgwNGM0LAorCTB4MDRjNiwgMHgwNGM2LAorCTB4MDRjOCwgMHgwNGM4
LAorCTB4MDRjYSwgMHgwNGNhLAorCTB4MDRjYywgMHgwNGNjLAorCTB4MDRjZSwgMHgwNGNmLAor
CTB4MDRkMSwgMHgwNGQxLAorCTB4MDRkMywgMHgwNGQzLAorCTB4MDRkNSwgMHgwNGQ1LAorCTB4
MDRkNywgMHgwNGQ3LAorCTB4MDRkOSwgMHgwNGQ5LAorCTB4MDRkYiwgMHgwNGRiLAorCTB4MDRk
ZCwgMHgwNGRkLAorCTB4MDRkZiwgMHgwNGRmLAorCTB4MDRlMSwgMHgwNGUxLAorCTB4MDRlMywg
MHgwNGUzLAorCTB4MDRlNSwgMHgwNGU1LAorCTB4MDRlNywgMHgwNGU3LAorCTB4MDRlOSwgMHgw
NGU5LAorCTB4MDRlYiwgMHgwNGViLAorCTB4MDRlZCwgMHgwNGVkLAorCTB4MDRlZiwgMHgwNGVm
LAorCTB4MDRmMSwgMHgwNGYxLAorCTB4MDRmMywgMHgwNGYzLAorCTB4MDRmNSwgMHgwNGY1LAor
CTB4MDRmNywgMHgwNGY3LAorCTB4MDRmOSwgMHgwNGY5LAorCTB4MDRmYiwgMHgwNGZiLAorCTB4
MDRmZCwgMHgwNGZkLAorCTB4MDRmZiwgMHgwNGZmLAorCTB4MDUwMSwgMHgwNTAxLAorCTB4MDUw
MywgMHgwNTAzLAorCTB4MDUwNSwgMHgwNTA1LAorCTB4MDUwNywgMHgwNTA3LAorCTB4MDUwOSwg
MHgwNTA5LAorCTB4MDUwYiwgMHgwNTBiLAorCTB4MDUwZCwgMHgwNTBkLAorCTB4MDUwZiwgMHgw
NTBmLAorCTB4MDUxMSwgMHgwNTExLAorCTB4MDUxMywgMHgwNTEzLAorCTB4MDUxNSwgMHgwNTE1
LAorCTB4MDUxNywgMHgwNTE3LAorCTB4MDUxOSwgMHgwNTE5LAorCTB4MDUxYiwgMHgwNTFiLAor
CTB4MDUxZCwgMHgwNTFkLAorCTB4MDUxZiwgMHgwNTFmLAorCTB4MDUyMSwgMHgwNTIxLAorCTB4
MDUyMywgMHgwNTIzLAorCTB4MDUyNSwgMHgwNTI1LAorCTB4MDUyNywgMHgwNTI3LAorCTB4MDUy
OSwgMHgwNTI5LAorCTB4MDUyYiwgMHgwNTJiLAorCTB4MDUyZCwgMHgwNTJkLAorCTB4MDUyZiwg
MHgwNTJmLAorCTB4MDU2MSwgMHgwNTg3LAorCTB4MTBkMCwgMHgxMGZhLAorCTB4MTBmZCwgMHgx
MGZmLAorCTB4MTNmOCwgMHgxM2ZkLAorCTB4MWM4MCwgMHgxYzg4LAorCTB4MWQ3OSwgMHgxZDc5
LAorCTB4MWQ3ZCwgMHgxZDdkLAorCTB4MWQ4ZSwgMHgxZDhlLAorCTB4MWUwMSwgMHgxZTAxLAor
CTB4MWUwMywgMHgxZTAzLAorCTB4MWUwNSwgMHgxZTA1LAorCTB4MWUwNywgMHgxZTA3LAorCTB4
MWUwOSwgMHgxZTA5LAorCTB4MWUwYiwgMHgxZTBiLAorCTB4MWUwZCwgMHgxZTBkLAorCTB4MWUw
ZiwgMHgxZTBmLAorCTB4MWUxMSwgMHgxZTExLAorCTB4MWUxMywgMHgxZTEzLAorCTB4MWUxNSwg
MHgxZTE1LAorCTB4MWUxNywgMHgxZTE3LAorCTB4MWUxOSwgMHgxZTE5LAorCTB4MWUxYiwgMHgx
ZTFiLAorCTB4MWUxZCwgMHgxZTFkLAorCTB4MWUxZiwgMHgxZTFmLAorCTB4MWUyMSwgMHgxZTIx
LAorCTB4MWUyMywgMHgxZTIzLAorCTB4MWUyNSwgMHgxZTI1LAorCTB4MWUyNywgMHgxZTI3LAor
CTB4MWUyOSwgMHgxZTI5LAorCTB4MWUyYiwgMHgxZTJiLAorCTB4MWUyZCwgMHgxZTJkLAorCTB4
MWUyZiwgMHgxZTJmLAorCTB4MWUzMSwgMHgxZTMxLAorCTB4MWUzMywgMHgxZTMzLAorCTB4MWUz
NSwgMHgxZTM1LAorCTB4MWUzNywgMHgxZTM3LAorCTB4MWUzOSwgMHgxZTM5LAorCTB4MWUzYiwg
MHgxZTNiLAorCTB4MWUzZCwgMHgxZTNkLAorCTB4MWUzZiwgMHgxZTNmLAorCTB4MWU0MSwgMHgx
ZTQxLAorCTB4MWU0MywgMHgxZTQzLAorCTB4MWU0NSwgMHgxZTQ1LAorCTB4MWU0NywgMHgxZTQ3
LAorCTB4MWU0OSwgMHgxZTQ5LAorCTB4MWU0YiwgMHgxZTRiLAorCTB4MWU0ZCwgMHgxZTRkLAor
CTB4MWU0ZiwgMHgxZTRmLAorCTB4MWU1MSwgMHgxZTUxLAorCTB4MWU1MywgMHgxZTUzLAorCTB4
MWU1NSwgMHgxZTU1LAorCTB4MWU1NywgMHgxZTU3LAorCTB4MWU1OSwgMHgxZTU5LAorCTB4MWU1
YiwgMHgxZTViLAorCTB4MWU1ZCwgMHgxZTVkLAorCTB4MWU1ZiwgMHgxZTVmLAorCTB4MWU2MSwg
MHgxZTYxLAorCTB4MWU2MywgMHgxZTYzLAorCTB4MWU2NSwgMHgxZTY1LAorCTB4MWU2NywgMHgx
ZTY3LAorCTB4MWU2OSwgMHgxZTY5LAorCTB4MWU2YiwgMHgxZTZiLAorCTB4MWU2ZCwgMHgxZTZk
LAorCTB4MWU2ZiwgMHgxZTZmLAorCTB4MWU3MSwgMHgxZTcxLAorCTB4MWU3MywgMHgxZTczLAor
CTB4MWU3NSwgMHgxZTc1LAorCTB4MWU3NywgMHgxZTc3LAorCTB4MWU3OSwgMHgxZTc5LAorCTB4
MWU3YiwgMHgxZTdiLAorCTB4MWU3ZCwgMHgxZTdkLAorCTB4MWU3ZiwgMHgxZTdmLAorCTB4MWU4
MSwgMHgxZTgxLAorCTB4MWU4MywgMHgxZTgzLAorCTB4MWU4NSwgMHgxZTg1LAorCTB4MWU4Nywg
MHgxZTg3LAorCTB4MWU4OSwgMHgxZTg5LAorCTB4MWU4YiwgMHgxZThiLAorCTB4MWU4ZCwgMHgx
ZThkLAorCTB4MWU4ZiwgMHgxZThmLAorCTB4MWU5MSwgMHgxZTkxLAorCTB4MWU5MywgMHgxZTkz
LAorCTB4MWU5NSwgMHgxZTliLAorCTB4MWVhMSwgMHgxZWExLAorCTB4MWVhMywgMHgxZWEzLAor
CTB4MWVhNSwgMHgxZWE1LAorCTB4MWVhNywgMHgxZWE3LAorCTB4MWVhOSwgMHgxZWE5LAorCTB4
MWVhYiwgMHgxZWFiLAorCTB4MWVhZCwgMHgxZWFkLAorCTB4MWVhZiwgMHgxZWFmLAorCTB4MWVi
MSwgMHgxZWIxLAorCTB4MWViMywgMHgxZWIzLAorCTB4MWViNSwgMHgxZWI1LAorCTB4MWViNywg
MHgxZWI3LAorCTB4MWViOSwgMHgxZWI5LAorCTB4MWViYiwgMHgxZWJiLAorCTB4MWViZCwgMHgx
ZWJkLAorCTB4MWViZiwgMHgxZWJmLAorCTB4MWVjMSwgMHgxZWMxLAorCTB4MWVjMywgMHgxZWMz
LAorCTB4MWVjNSwgMHgxZWM1LAorCTB4MWVjNywgMHgxZWM3LAorCTB4MWVjOSwgMHgxZWM5LAor
CTB4MWVjYiwgMHgxZWNiLAorCTB4MWVjZCwgMHgxZWNkLAorCTB4MWVjZiwgMHgxZWNmLAorCTB4
MWVkMSwgMHgxZWQxLAorCTB4MWVkMywgMHgxZWQzLAorCTB4MWVkNSwgMHgxZWQ1LAorCTB4MWVk
NywgMHgxZWQ3LAorCTB4MWVkOSwgMHgxZWQ5LAorCTB4MWVkYiwgMHgxZWRiLAorCTB4MWVkZCwg
MHgxZWRkLAorCTB4MWVkZiwgMHgxZWRmLAorCTB4MWVlMSwgMHgxZWUxLAorCTB4MWVlMywgMHgx
ZWUzLAorCTB4MWVlNSwgMHgxZWU1LAorCTB4MWVlNywgMHgxZWU3LAorCTB4MWVlOSwgMHgxZWU5
LAorCTB4MWVlYiwgMHgxZWViLAorCTB4MWVlZCwgMHgxZWVkLAorCTB4MWVlZiwgMHgxZWVmLAor
CTB4MWVmMSwgMHgxZWYxLAorCTB4MWVmMywgMHgxZWYzLAorCTB4MWVmNSwgMHgxZWY1LAorCTB4
MWVmNywgMHgxZWY3LAorCTB4MWVmOSwgMHgxZWY5LAorCTB4MWVmYiwgMHgxZWZiLAorCTB4MWVm
ZCwgMHgxZWZkLAorCTB4MWVmZiwgMHgxZjA3LAorCTB4MWYxMCwgMHgxZjE1LAorCTB4MWYyMCwg
MHgxZjI3LAorCTB4MWYzMCwgMHgxZjM3LAorCTB4MWY0MCwgMHgxZjQ1LAorCTB4MWY1MCwgMHgx
ZjU3LAorCTB4MWY2MCwgMHgxZjY3LAorCTB4MWY3MCwgMHgxZjdkLAorCTB4MWY4MCwgMHgxZmI0
LAorCTB4MWZiNiwgMHgxZmI3LAorCTB4MWZiYywgMHgxZmJjLAorCTB4MWZiZSwgMHgxZmJlLAor
CTB4MWZjMiwgMHgxZmM0LAorCTB4MWZjNiwgMHgxZmM3LAorCTB4MWZjYywgMHgxZmNjLAorCTB4
MWZkMCwgMHgxZmQzLAorCTB4MWZkNiwgMHgxZmQ3LAorCTB4MWZlMCwgMHgxZmU3LAorCTB4MWZm
MiwgMHgxZmY0LAorCTB4MWZmNiwgMHgxZmY3LAorCTB4MWZmYywgMHgxZmZjLAorCTB4MjE0ZSwg
MHgyMTRlLAorCTB4MjE3MCwgMHgyMTdmLAorCTB4MjE4NCwgMHgyMTg0LAorCTB4MjRkMCwgMHgy
NGU5LAorCTB4MmMzMCwgMHgyYzVlLAorCTB4MmM2MSwgMHgyYzYxLAorCTB4MmM2NSwgMHgyYzY2
LAorCTB4MmM2OCwgMHgyYzY4LAorCTB4MmM2YSwgMHgyYzZhLAorCTB4MmM2YywgMHgyYzZjLAor
CTB4MmM3MywgMHgyYzczLAorCTB4MmM3NiwgMHgyYzc2LAorCTB4MmM4MSwgMHgyYzgxLAorCTB4
MmM4MywgMHgyYzgzLAorCTB4MmM4NSwgMHgyYzg1LAorCTB4MmM4NywgMHgyYzg3LAorCTB4MmM4
OSwgMHgyYzg5LAorCTB4MmM4YiwgMHgyYzhiLAorCTB4MmM4ZCwgMHgyYzhkLAorCTB4MmM4Ziwg
MHgyYzhmLAorCTB4MmM5MSwgMHgyYzkxLAorCTB4MmM5MywgMHgyYzkzLAorCTB4MmM5NSwgMHgy
Yzk1LAorCTB4MmM5NywgMHgyYzk3LAorCTB4MmM5OSwgMHgyYzk5LAorCTB4MmM5YiwgMHgyYzli
LAorCTB4MmM5ZCwgMHgyYzlkLAorCTB4MmM5ZiwgMHgyYzlmLAorCTB4MmNhMSwgMHgyY2ExLAor
CTB4MmNhMywgMHgyY2EzLAorCTB4MmNhNSwgMHgyY2E1LAorCTB4MmNhNywgMHgyY2E3LAorCTB4
MmNhOSwgMHgyY2E5LAorCTB4MmNhYiwgMHgyY2FiLAorCTB4MmNhZCwgMHgyY2FkLAorCTB4MmNh
ZiwgMHgyY2FmLAorCTB4MmNiMSwgMHgyY2IxLAorCTB4MmNiMywgMHgyY2IzLAorCTB4MmNiNSwg
MHgyY2I1LAorCTB4MmNiNywgMHgyY2I3LAorCTB4MmNiOSwgMHgyY2I5LAorCTB4MmNiYiwgMHgy
Y2JiLAorCTB4MmNiZCwgMHgyY2JkLAorCTB4MmNiZiwgMHgyY2JmLAorCTB4MmNjMSwgMHgyY2Mx
LAorCTB4MmNjMywgMHgyY2MzLAorCTB4MmNjNSwgMHgyY2M1LAorCTB4MmNjNywgMHgyY2M3LAor
CTB4MmNjOSwgMHgyY2M5LAorCTB4MmNjYiwgMHgyY2NiLAorCTB4MmNjZCwgMHgyY2NkLAorCTB4
MmNjZiwgMHgyY2NmLAorCTB4MmNkMSwgMHgyY2QxLAorCTB4MmNkMywgMHgyY2QzLAorCTB4MmNk
NSwgMHgyY2Q1LAorCTB4MmNkNywgMHgyY2Q3LAorCTB4MmNkOSwgMHgyY2Q5LAorCTB4MmNkYiwg
MHgyY2RiLAorCTB4MmNkZCwgMHgyY2RkLAorCTB4MmNkZiwgMHgyY2RmLAorCTB4MmNlMSwgMHgy
Y2UxLAorCTB4MmNlMywgMHgyY2UzLAorCTB4MmNlYywgMHgyY2VjLAorCTB4MmNlZSwgMHgyY2Vl
LAorCTB4MmNmMywgMHgyY2YzLAorCTB4MmQwMCwgMHgyZDI1LAorCTB4MmQyNywgMHgyZDI3LAor
CTB4MmQyZCwgMHgyZDJkLAorCTB4YTY0MSwgMHhhNjQxLAorCTB4YTY0MywgMHhhNjQzLAorCTB4
YTY0NSwgMHhhNjQ1LAorCTB4YTY0NywgMHhhNjQ3LAorCTB4YTY0OSwgMHhhNjQ5LAorCTB4YTY0
YiwgMHhhNjRiLAorCTB4YTY0ZCwgMHhhNjRkLAorCTB4YTY0ZiwgMHhhNjRmLAorCTB4YTY1MSwg
MHhhNjUxLAorCTB4YTY1MywgMHhhNjUzLAorCTB4YTY1NSwgMHhhNjU1LAorCTB4YTY1NywgMHhh
NjU3LAorCTB4YTY1OSwgMHhhNjU5LAorCTB4YTY1YiwgMHhhNjViLAorCTB4YTY1ZCwgMHhhNjVk
LAorCTB4YTY1ZiwgMHhhNjVmLAorCTB4YTY2MSwgMHhhNjYxLAorCTB4YTY2MywgMHhhNjYzLAor
CTB4YTY2NSwgMHhhNjY1LAorCTB4YTY2NywgMHhhNjY3LAorCTB4YTY2OSwgMHhhNjY5LAorCTB4
YTY2YiwgMHhhNjZiLAorCTB4YTY2ZCwgMHhhNjZkLAorCTB4YTY4MSwgMHhhNjgxLAorCTB4YTY4
MywgMHhhNjgzLAorCTB4YTY4NSwgMHhhNjg1LAorCTB4YTY4NywgMHhhNjg3LAorCTB4YTY4OSwg
MHhhNjg5LAorCTB4YTY4YiwgMHhhNjhiLAorCTB4YTY4ZCwgMHhhNjhkLAorCTB4YTY4ZiwgMHhh
NjhmLAorCTB4YTY5MSwgMHhhNjkxLAorCTB4YTY5MywgMHhhNjkzLAorCTB4YTY5NSwgMHhhNjk1
LAorCTB4YTY5NywgMHhhNjk3LAorCTB4YTY5OSwgMHhhNjk5LAorCTB4YTY5YiwgMHhhNjliLAor
CTB4YTcyMywgMHhhNzIzLAorCTB4YTcyNSwgMHhhNzI1LAorCTB4YTcyNywgMHhhNzI3LAorCTB4
YTcyOSwgMHhhNzI5LAorCTB4YTcyYiwgMHhhNzJiLAorCTB4YTcyZCwgMHhhNzJkLAorCTB4YTcy
ZiwgMHhhNzJmLAorCTB4YTczMywgMHhhNzMzLAorCTB4YTczNSwgMHhhNzM1LAorCTB4YTczNywg
MHhhNzM3LAorCTB4YTczOSwgMHhhNzM5LAorCTB4YTczYiwgMHhhNzNiLAorCTB4YTczZCwgMHhh
NzNkLAorCTB4YTczZiwgMHhhNzNmLAorCTB4YTc0MSwgMHhhNzQxLAorCTB4YTc0MywgMHhhNzQz
LAorCTB4YTc0NSwgMHhhNzQ1LAorCTB4YTc0NywgMHhhNzQ3LAorCTB4YTc0OSwgMHhhNzQ5LAor
CTB4YTc0YiwgMHhhNzRiLAorCTB4YTc0ZCwgMHhhNzRkLAorCTB4YTc0ZiwgMHhhNzRmLAorCTB4
YTc1MSwgMHhhNzUxLAorCTB4YTc1MywgMHhhNzUzLAorCTB4YTc1NSwgMHhhNzU1LAorCTB4YTc1
NywgMHhhNzU3LAorCTB4YTc1OSwgMHhhNzU5LAorCTB4YTc1YiwgMHhhNzViLAorCTB4YTc1ZCwg
MHhhNzVkLAorCTB4YTc1ZiwgMHhhNzVmLAorCTB4YTc2MSwgMHhhNzYxLAorCTB4YTc2MywgMHhh
NzYzLAorCTB4YTc2NSwgMHhhNzY1LAorCTB4YTc2NywgMHhhNzY3LAorCTB4YTc2OSwgMHhhNzY5
LAorCTB4YTc2YiwgMHhhNzZiLAorCTB4YTc2ZCwgMHhhNzZkLAorCTB4YTc2ZiwgMHhhNzZmLAor
CTB4YTc3YSwgMHhhNzdhLAorCTB4YTc3YywgMHhhNzdjLAorCTB4YTc3ZiwgMHhhNzdmLAorCTB4
YTc4MSwgMHhhNzgxLAorCTB4YTc4MywgMHhhNzgzLAorCTB4YTc4NSwgMHhhNzg1LAorCTB4YTc4
NywgMHhhNzg3LAorCTB4YTc4YywgMHhhNzhjLAorCTB4YTc5MSwgMHhhNzkxLAorCTB4YTc5Mywg
MHhhNzk0LAorCTB4YTc5NywgMHhhNzk3LAorCTB4YTc5OSwgMHhhNzk5LAorCTB4YTc5YiwgMHhh
NzliLAorCTB4YTc5ZCwgMHhhNzlkLAorCTB4YTc5ZiwgMHhhNzlmLAorCTB4YTdhMSwgMHhhN2Ex
LAorCTB4YTdhMywgMHhhN2EzLAorCTB4YTdhNSwgMHhhN2E1LAorCTB4YTdhNywgMHhhN2E3LAor
CTB4YTdhOSwgMHhhN2E5LAorCTB4YTdiNSwgMHhhN2I1LAorCTB4YTdiNywgMHhhN2I3LAorCTB4
YTdiOSwgMHhhN2I5LAorCTB4YTdiYiwgMHhhN2JiLAorCTB4YTdiZCwgMHhhN2JkLAorCTB4YTdi
ZiwgMHhhN2JmLAorCTB4YTdjMywgMHhhN2MzLAorCTB4YWI1MywgMHhhYjUzLAorCTB4YWI3MCwg
MHhhYmJmLAorCTB4ZmIwMCwgMHhmYjA2LAorCTB4ZmIxMywgMHhmYjE3LAorCTB4ZmY0MSwgMHhm
ZjVhLAorCTB4MTA0MjgsIDB4MTA0NGYsCisJMHgxMDRkOCwgMHgxMDRmYiwKKwkweDEwY2MwLCAw
eDEwY2YyLAorCTB4MTE4YzAsIDB4MTE4ZGYsCisJMHgxNmU2MCwgMHgxNmU3ZiwKKwkweDFlOTIy
LCAweDFlOTQzLAorfTsgLyogQ1JfQ2hhbmdlc19XaGVuX1VwcGVyY2FzZWQgKi8KKworLyogJ0No
YW5nZXNfV2hlbl9UaXRsZWNhc2VkJzogRGVyaXZlZCBQcm9wZXJ0eSAqLworc3RhdGljIGNvbnN0
IE9uaWdDb2RlUG9pbnQgQ1JfQ2hhbmdlc19XaGVuX1RpdGxlY2FzZWRbXSA9IHsKKwk2MTUsCisJ
MHgwMDYxLCAweDAwN2EsCisJMHgwMGI1LCAweDAwYjUsCisJMHgwMGRmLCAweDAwZjYsCisJMHgw
MGY4LCAweDAwZmYsCisJMHgwMTAxLCAweDAxMDEsCisJMHgwMTAzLCAweDAxMDMsCisJMHgwMTA1
LCAweDAxMDUsCisJMHgwMTA3LCAweDAxMDcsCisJMHgwMTA5LCAweDAxMDksCisJMHgwMTBiLCAw
eDAxMGIsCisJMHgwMTBkLCAweDAxMGQsCisJMHgwMTBmLCAweDAxMGYsCisJMHgwMTExLCAweDAx
MTEsCisJMHgwMTEzLCAweDAxMTMsCisJMHgwMTE1LCAweDAxMTUsCisJMHgwMTE3LCAweDAxMTcs
CisJMHgwMTE5LCAweDAxMTksCisJMHgwMTFiLCAweDAxMWIsCisJMHgwMTFkLCAweDAxMWQsCisJ
MHgwMTFmLCAweDAxMWYsCisJMHgwMTIxLCAweDAxMjEsCisJMHgwMTIzLCAweDAxMjMsCisJMHgw
MTI1LCAweDAxMjUsCisJMHgwMTI3LCAweDAxMjcsCisJMHgwMTI5LCAweDAxMjksCisJMHgwMTJi
LCAweDAxMmIsCisJMHgwMTJkLCAweDAxMmQsCisJMHgwMTJmLCAweDAxMmYsCisJMHgwMTMxLCAw
eDAxMzEsCisJMHgwMTMzLCAweDAxMzMsCisJMHgwMTM1LCAweDAxMzUsCisJMHgwMTM3LCAweDAx
MzcsCisJMHgwMTNhLCAweDAxM2EsCisJMHgwMTNjLCAweDAxM2MsCisJMHgwMTNlLCAweDAxM2Us
CisJMHgwMTQwLCAweDAxNDAsCisJMHgwMTQyLCAweDAxNDIsCisJMHgwMTQ0LCAweDAxNDQsCisJ
MHgwMTQ2LCAweDAxNDYsCisJMHgwMTQ4LCAweDAxNDksCisJMHgwMTRiLCAweDAxNGIsCisJMHgw
MTRkLCAweDAxNGQsCisJMHgwMTRmLCAweDAxNGYsCisJMHgwMTUxLCAweDAxNTEsCisJMHgwMTUz
LCAweDAxNTMsCisJMHgwMTU1LCAweDAxNTUsCisJMHgwMTU3LCAweDAxNTcsCisJMHgwMTU5LCAw
eDAxNTksCisJMHgwMTViLCAweDAxNWIsCisJMHgwMTVkLCAweDAxNWQsCisJMHgwMTVmLCAweDAx
NWYsCisJMHgwMTYxLCAweDAxNjEsCisJMHgwMTYzLCAweDAxNjMsCisJMHgwMTY1LCAweDAxNjUs
CisJMHgwMTY3LCAweDAxNjcsCisJMHgwMTY5LCAweDAxNjksCisJMHgwMTZiLCAweDAxNmIsCisJ
MHgwMTZkLCAweDAxNmQsCisJMHgwMTZmLCAweDAxNmYsCisJMHgwMTcxLCAweDAxNzEsCisJMHgw
MTczLCAweDAxNzMsCisJMHgwMTc1LCAweDAxNzUsCisJMHgwMTc3LCAweDAxNzcsCisJMHgwMTdh
LCAweDAxN2EsCisJMHgwMTdjLCAweDAxN2MsCisJMHgwMTdlLCAweDAxODAsCisJMHgwMTgzLCAw
eDAxODMsCisJMHgwMTg1LCAweDAxODUsCisJMHgwMTg4LCAweDAxODgsCisJMHgwMThjLCAweDAx
OGMsCisJMHgwMTkyLCAweDAxOTIsCisJMHgwMTk1LCAweDAxOTUsCisJMHgwMTk5LCAweDAxOWEs
CisJMHgwMTllLCAweDAxOWUsCisJMHgwMWExLCAweDAxYTEsCisJMHgwMWEzLCAweDAxYTMsCisJ
MHgwMWE1LCAweDAxYTUsCisJMHgwMWE4LCAweDAxYTgsCisJMHgwMWFkLCAweDAxYWQsCisJMHgw
MWIwLCAweDAxYjAsCisJMHgwMWI0LCAweDAxYjQsCisJMHgwMWI2LCAweDAxYjYsCisJMHgwMWI5
LCAweDAxYjksCisJMHgwMWJkLCAweDAxYmQsCisJMHgwMWJmLCAweDAxYmYsCisJMHgwMWM0LCAw
eDAxYzQsCisJMHgwMWM2LCAweDAxYzcsCisJMHgwMWM5LCAweDAxY2EsCisJMHgwMWNjLCAweDAx
Y2MsCisJMHgwMWNlLCAweDAxY2UsCisJMHgwMWQwLCAweDAxZDAsCisJMHgwMWQyLCAweDAxZDIs
CisJMHgwMWQ0LCAweDAxZDQsCisJMHgwMWQ2LCAweDAxZDYsCisJMHgwMWQ4LCAweDAxZDgsCisJ
MHgwMWRhLCAweDAxZGEsCisJMHgwMWRjLCAweDAxZGQsCisJMHgwMWRmLCAweDAxZGYsCisJMHgw
MWUxLCAweDAxZTEsCisJMHgwMWUzLCAweDAxZTMsCisJMHgwMWU1LCAweDAxZTUsCisJMHgwMWU3
LCAweDAxZTcsCisJMHgwMWU5LCAweDAxZTksCisJMHgwMWViLCAweDAxZWIsCisJMHgwMWVkLCAw
eDAxZWQsCisJMHgwMWVmLCAweDAxZjEsCisJMHgwMWYzLCAweDAxZjMsCisJMHgwMWY1LCAweDAx
ZjUsCisJMHgwMWY5LCAweDAxZjksCisJMHgwMWZiLCAweDAxZmIsCisJMHgwMWZkLCAweDAxZmQs
CisJMHgwMWZmLCAweDAxZmYsCisJMHgwMjAxLCAweDAyMDEsCisJMHgwMjAzLCAweDAyMDMsCisJ
MHgwMjA1LCAweDAyMDUsCisJMHgwMjA3LCAweDAyMDcsCisJMHgwMjA5LCAweDAyMDksCisJMHgw
MjBiLCAweDAyMGIsCisJMHgwMjBkLCAweDAyMGQsCisJMHgwMjBmLCAweDAyMGYsCisJMHgwMjEx
LCAweDAyMTEsCisJMHgwMjEzLCAweDAyMTMsCisJMHgwMjE1LCAweDAyMTUsCisJMHgwMjE3LCAw
eDAyMTcsCisJMHgwMjE5LCAweDAyMTksCisJMHgwMjFiLCAweDAyMWIsCisJMHgwMjFkLCAweDAy
MWQsCisJMHgwMjFmLCAweDAyMWYsCisJMHgwMjIzLCAweDAyMjMsCisJMHgwMjI1LCAweDAyMjUs
CisJMHgwMjI3LCAweDAyMjcsCisJMHgwMjI5LCAweDAyMjksCisJMHgwMjJiLCAweDAyMmIsCisJ
MHgwMjJkLCAweDAyMmQsCisJMHgwMjJmLCAweDAyMmYsCisJMHgwMjMxLCAweDAyMzEsCisJMHgw
MjMzLCAweDAyMzMsCisJMHgwMjNjLCAweDAyM2MsCisJMHgwMjNmLCAweDAyNDAsCisJMHgwMjQy
LCAweDAyNDIsCisJMHgwMjQ3LCAweDAyNDcsCisJMHgwMjQ5LCAweDAyNDksCisJMHgwMjRiLCAw
eDAyNGIsCisJMHgwMjRkLCAweDAyNGQsCisJMHgwMjRmLCAweDAyNTQsCisJMHgwMjU2LCAweDAy
NTcsCisJMHgwMjU5LCAweDAyNTksCisJMHgwMjViLCAweDAyNWMsCisJMHgwMjYwLCAweDAyNjEs
CisJMHgwMjYzLCAweDAyNjMsCisJMHgwMjY1LCAweDAyNjYsCisJMHgwMjY4LCAweDAyNmMsCisJ
MHgwMjZmLCAweDAyNmYsCisJMHgwMjcxLCAweDAyNzIsCisJMHgwMjc1LCAweDAyNzUsCisJMHgw
MjdkLCAweDAyN2QsCisJMHgwMjgwLCAweDAyODAsCisJMHgwMjgyLCAweDAyODMsCisJMHgwMjg3
LCAweDAyOGMsCisJMHgwMjkyLCAweDAyOTIsCisJMHgwMjlkLCAweDAyOWUsCisJMHgwMzQ1LCAw
eDAzNDUsCisJMHgwMzcxLCAweDAzNzEsCisJMHgwMzczLCAweDAzNzMsCisJMHgwMzc3LCAweDAz
NzcsCisJMHgwMzdiLCAweDAzN2QsCisJMHgwMzkwLCAweDAzOTAsCisJMHgwM2FjLCAweDAzY2Us
CisJMHgwM2QwLCAweDAzZDEsCisJMHgwM2Q1LCAweDAzZDcsCisJMHgwM2Q5LCAweDAzZDksCisJ
MHgwM2RiLCAweDAzZGIsCisJMHgwM2RkLCAweDAzZGQsCisJMHgwM2RmLCAweDAzZGYsCisJMHgw
M2UxLCAweDAzZTEsCisJMHgwM2UzLCAweDAzZTMsCisJMHgwM2U1LCAweDAzZTUsCisJMHgwM2U3
LCAweDAzZTcsCisJMHgwM2U5LCAweDAzZTksCisJMHgwM2ViLCAweDAzZWIsCisJMHgwM2VkLCAw
eDAzZWQsCisJMHgwM2VmLCAweDAzZjMsCisJMHgwM2Y1LCAweDAzZjUsCisJMHgwM2Y4LCAweDAz
ZjgsCisJMHgwM2ZiLCAweDAzZmIsCisJMHgwNDMwLCAweDA0NWYsCisJMHgwNDYxLCAweDA0NjEs
CisJMHgwNDYzLCAweDA0NjMsCisJMHgwNDY1LCAweDA0NjUsCisJMHgwNDY3LCAweDA0NjcsCisJ
MHgwNDY5LCAweDA0NjksCisJMHgwNDZiLCAweDA0NmIsCisJMHgwNDZkLCAweDA0NmQsCisJMHgw
NDZmLCAweDA0NmYsCisJMHgwNDcxLCAweDA0NzEsCisJMHgwNDczLCAweDA0NzMsCisJMHgwNDc1
LCAweDA0NzUsCisJMHgwNDc3LCAweDA0NzcsCisJMHgwNDc5LCAweDA0NzksCisJMHgwNDdiLCAw
eDA0N2IsCisJMHgwNDdkLCAweDA0N2QsCisJMHgwNDdmLCAweDA0N2YsCisJMHgwNDgxLCAweDA0
ODEsCisJMHgwNDhiLCAweDA0OGIsCisJMHgwNDhkLCAweDA0OGQsCisJMHgwNDhmLCAweDA0OGYs
CisJMHgwNDkxLCAweDA0OTEsCisJMHgwNDkzLCAweDA0OTMsCisJMHgwNDk1LCAweDA0OTUsCisJ
MHgwNDk3LCAweDA0OTcsCisJMHgwNDk5LCAweDA0OTksCisJMHgwNDliLCAweDA0OWIsCisJMHgw
NDlkLCAweDA0OWQsCisJMHgwNDlmLCAweDA0OWYsCisJMHgwNGExLCAweDA0YTEsCisJMHgwNGEz
LCAweDA0YTMsCisJMHgwNGE1LCAweDA0YTUsCisJMHgwNGE3LCAweDA0YTcsCisJMHgwNGE5LCAw
eDA0YTksCisJMHgwNGFiLCAweDA0YWIsCisJMHgwNGFkLCAweDA0YWQsCisJMHgwNGFmLCAweDA0
YWYsCisJMHgwNGIxLCAweDA0YjEsCisJMHgwNGIzLCAweDA0YjMsCisJMHgwNGI1LCAweDA0YjUs
CisJMHgwNGI3LCAweDA0YjcsCisJMHgwNGI5LCAweDA0YjksCisJMHgwNGJiLCAweDA0YmIsCisJ
MHgwNGJkLCAweDA0YmQsCisJMHgwNGJmLCAweDA0YmYsCisJMHgwNGMyLCAweDA0YzIsCisJMHgw
NGM0LCAweDA0YzQsCisJMHgwNGM2LCAweDA0YzYsCisJMHgwNGM4LCAweDA0YzgsCisJMHgwNGNh
LCAweDA0Y2EsCisJMHgwNGNjLCAweDA0Y2MsCisJMHgwNGNlLCAweDA0Y2YsCisJMHgwNGQxLCAw
eDA0ZDEsCisJMHgwNGQzLCAweDA0ZDMsCisJMHgwNGQ1LCAweDA0ZDUsCisJMHgwNGQ3LCAweDA0
ZDcsCisJMHgwNGQ5LCAweDA0ZDksCisJMHgwNGRiLCAweDA0ZGIsCisJMHgwNGRkLCAweDA0ZGQs
CisJMHgwNGRmLCAweDA0ZGYsCisJMHgwNGUxLCAweDA0ZTEsCisJMHgwNGUzLCAweDA0ZTMsCisJ
MHgwNGU1LCAweDA0ZTUsCisJMHgwNGU3LCAweDA0ZTcsCisJMHgwNGU5LCAweDA0ZTksCisJMHgw
NGViLCAweDA0ZWIsCisJMHgwNGVkLCAweDA0ZWQsCisJMHgwNGVmLCAweDA0ZWYsCisJMHgwNGYx
LCAweDA0ZjEsCisJMHgwNGYzLCAweDA0ZjMsCisJMHgwNGY1LCAweDA0ZjUsCisJMHgwNGY3LCAw
eDA0ZjcsCisJMHgwNGY5LCAweDA0ZjksCisJMHgwNGZiLCAweDA0ZmIsCisJMHgwNGZkLCAweDA0
ZmQsCisJMHgwNGZmLCAweDA0ZmYsCisJMHgwNTAxLCAweDA1MDEsCisJMHgwNTAzLCAweDA1MDMs
CisJMHgwNTA1LCAweDA1MDUsCisJMHgwNTA3LCAweDA1MDcsCisJMHgwNTA5LCAweDA1MDksCisJ
MHgwNTBiLCAweDA1MGIsCisJMHgwNTBkLCAweDA1MGQsCisJMHgwNTBmLCAweDA1MGYsCisJMHgw
NTExLCAweDA1MTEsCisJMHgwNTEzLCAweDA1MTMsCisJMHgwNTE1LCAweDA1MTUsCisJMHgwNTE3
LCAweDA1MTcsCisJMHgwNTE5LCAweDA1MTksCisJMHgwNTFiLCAweDA1MWIsCisJMHgwNTFkLCAw
eDA1MWQsCisJMHgwNTFmLCAweDA1MWYsCisJMHgwNTIxLCAweDA1MjEsCisJMHgwNTIzLCAweDA1
MjMsCisJMHgwNTI1LCAweDA1MjUsCisJMHgwNTI3LCAweDA1MjcsCisJMHgwNTI5LCAweDA1Mjks
CisJMHgwNTJiLCAweDA1MmIsCisJMHgwNTJkLCAweDA1MmQsCisJMHgwNTJmLCAweDA1MmYsCisJ
MHgwNTYxLCAweDA1ODcsCisJMHgxM2Y4LCAweDEzZmQsCisJMHgxYzgwLCAweDFjODgsCisJMHgx
ZDc5LCAweDFkNzksCisJMHgxZDdkLCAweDFkN2QsCisJMHgxZDhlLCAweDFkOGUsCisJMHgxZTAx
LCAweDFlMDEsCisJMHgxZTAzLCAweDFlMDMsCisJMHgxZTA1LCAweDFlMDUsCisJMHgxZTA3LCAw
eDFlMDcsCisJMHgxZTA5LCAweDFlMDksCisJMHgxZTBiLCAweDFlMGIsCisJMHgxZTBkLCAweDFl
MGQsCisJMHgxZTBmLCAweDFlMGYsCisJMHgxZTExLCAweDFlMTEsCisJMHgxZTEzLCAweDFlMTMs
CisJMHgxZTE1LCAweDFlMTUsCisJMHgxZTE3LCAweDFlMTcsCisJMHgxZTE5LCAweDFlMTksCisJ
MHgxZTFiLCAweDFlMWIsCisJMHgxZTFkLCAweDFlMWQsCisJMHgxZTFmLCAweDFlMWYsCisJMHgx
ZTIxLCAweDFlMjEsCisJMHgxZTIzLCAweDFlMjMsCisJMHgxZTI1LCAweDFlMjUsCisJMHgxZTI3
LCAweDFlMjcsCisJMHgxZTI5LCAweDFlMjksCisJMHgxZTJiLCAweDFlMmIsCisJMHgxZTJkLCAw
eDFlMmQsCisJMHgxZTJmLCAweDFlMmYsCisJMHgxZTMxLCAweDFlMzEsCisJMHgxZTMzLCAweDFl
MzMsCisJMHgxZTM1LCAweDFlMzUsCisJMHgxZTM3LCAweDFlMzcsCisJMHgxZTM5LCAweDFlMzks
CisJMHgxZTNiLCAweDFlM2IsCisJMHgxZTNkLCAweDFlM2QsCisJMHgxZTNmLCAweDFlM2YsCisJ
MHgxZTQxLCAweDFlNDEsCisJMHgxZTQzLCAweDFlNDMsCisJMHgxZTQ1LCAweDFlNDUsCisJMHgx
ZTQ3LCAweDFlNDcsCisJMHgxZTQ5LCAweDFlNDksCisJMHgxZTRiLCAweDFlNGIsCisJMHgxZTRk
LCAweDFlNGQsCisJMHgxZTRmLCAweDFlNGYsCisJMHgxZTUxLCAweDFlNTEsCisJMHgxZTUzLCAw
eDFlNTMsCisJMHgxZTU1LCAweDFlNTUsCisJMHgxZTU3LCAweDFlNTcsCisJMHgxZTU5LCAweDFl
NTksCisJMHgxZTViLCAweDFlNWIsCisJMHgxZTVkLCAweDFlNWQsCisJMHgxZTVmLCAweDFlNWYs
CisJMHgxZTYxLCAweDFlNjEsCisJMHgxZTYzLCAweDFlNjMsCisJMHgxZTY1LCAweDFlNjUsCisJ
MHgxZTY3LCAweDFlNjcsCisJMHgxZTY5LCAweDFlNjksCisJMHgxZTZiLCAweDFlNmIsCisJMHgx
ZTZkLCAweDFlNmQsCisJMHgxZTZmLCAweDFlNmYsCisJMHgxZTcxLCAweDFlNzEsCisJMHgxZTcz
LCAweDFlNzMsCisJMHgxZTc1LCAweDFlNzUsCisJMHgxZTc3LCAweDFlNzcsCisJMHgxZTc5LCAw
eDFlNzksCisJMHgxZTdiLCAweDFlN2IsCisJMHgxZTdkLCAweDFlN2QsCisJMHgxZTdmLCAweDFl
N2YsCisJMHgxZTgxLCAweDFlODEsCisJMHgxZTgzLCAweDFlODMsCisJMHgxZTg1LCAweDFlODUs
CisJMHgxZTg3LCAweDFlODcsCisJMHgxZTg5LCAweDFlODksCisJMHgxZThiLCAweDFlOGIsCisJ
MHgxZThkLCAweDFlOGQsCisJMHgxZThmLCAweDFlOGYsCisJMHgxZTkxLCAweDFlOTEsCisJMHgx
ZTkzLCAweDFlOTMsCisJMHgxZTk1LCAweDFlOWIsCisJMHgxZWExLCAweDFlYTEsCisJMHgxZWEz
LCAweDFlYTMsCisJMHgxZWE1LCAweDFlYTUsCisJMHgxZWE3LCAweDFlYTcsCisJMHgxZWE5LCAw
eDFlYTksCisJMHgxZWFiLCAweDFlYWIsCisJMHgxZWFkLCAweDFlYWQsCisJMHgxZWFmLCAweDFl
YWYsCisJMHgxZWIxLCAweDFlYjEsCisJMHgxZWIzLCAweDFlYjMsCisJMHgxZWI1LCAweDFlYjUs
CisJMHgxZWI3LCAweDFlYjcsCisJMHgxZWI5LCAweDFlYjksCisJMHgxZWJiLCAweDFlYmIsCisJ
MHgxZWJkLCAweDFlYmQsCisJMHgxZWJmLCAweDFlYmYsCisJMHgxZWMxLCAweDFlYzEsCisJMHgx
ZWMzLCAweDFlYzMsCisJMHgxZWM1LCAweDFlYzUsCisJMHgxZWM3LCAweDFlYzcsCisJMHgxZWM5
LCAweDFlYzksCisJMHgxZWNiLCAweDFlY2IsCisJMHgxZWNkLCAweDFlY2QsCisJMHgxZWNmLCAw
eDFlY2YsCisJMHgxZWQxLCAweDFlZDEsCisJMHgxZWQzLCAweDFlZDMsCisJMHgxZWQ1LCAweDFl
ZDUsCisJMHgxZWQ3LCAweDFlZDcsCisJMHgxZWQ5LCAweDFlZDksCisJMHgxZWRiLCAweDFlZGIs
CisJMHgxZWRkLCAweDFlZGQsCisJMHgxZWRmLCAweDFlZGYsCisJMHgxZWUxLCAweDFlZTEsCisJ
MHgxZWUzLCAweDFlZTMsCisJMHgxZWU1LCAweDFlZTUsCisJMHgxZWU3LCAweDFlZTcsCisJMHgx
ZWU5LCAweDFlZTksCisJMHgxZWViLCAweDFlZWIsCisJMHgxZWVkLCAweDFlZWQsCisJMHgxZWVm
LCAweDFlZWYsCisJMHgxZWYxLCAweDFlZjEsCisJMHgxZWYzLCAweDFlZjMsCisJMHgxZWY1LCAw
eDFlZjUsCisJMHgxZWY3LCAweDFlZjcsCisJMHgxZWY5LCAweDFlZjksCisJMHgxZWZiLCAweDFl
ZmIsCisJMHgxZWZkLCAweDFlZmQsCisJMHgxZWZmLCAweDFmMDcsCisJMHgxZjEwLCAweDFmMTUs
CisJMHgxZjIwLCAweDFmMjcsCisJMHgxZjMwLCAweDFmMzcsCisJMHgxZjQwLCAweDFmNDUsCisJ
MHgxZjUwLCAweDFmNTcsCisJMHgxZjYwLCAweDFmNjcsCisJMHgxZjcwLCAweDFmN2QsCisJMHgx
ZjgwLCAweDFmODcsCisJMHgxZjkwLCAweDFmOTcsCisJMHgxZmEwLCAweDFmYTcsCisJMHgxZmIw
LCAweDFmYjQsCisJMHgxZmI2LCAweDFmYjcsCisJMHgxZmJlLCAweDFmYmUsCisJMHgxZmMyLCAw
eDFmYzQsCisJMHgxZmM2LCAweDFmYzcsCisJMHgxZmQwLCAweDFmZDMsCisJMHgxZmQ2LCAweDFm
ZDcsCisJMHgxZmUwLCAweDFmZTcsCisJMHgxZmYyLCAweDFmZjQsCisJMHgxZmY2LCAweDFmZjcs
CisJMHgyMTRlLCAweDIxNGUsCisJMHgyMTcwLCAweDIxN2YsCisJMHgyMTg0LCAweDIxODQsCisJ
MHgyNGQwLCAweDI0ZTksCisJMHgyYzMwLCAweDJjNWUsCisJMHgyYzYxLCAweDJjNjEsCisJMHgy
YzY1LCAweDJjNjYsCisJMHgyYzY4LCAweDJjNjgsCisJMHgyYzZhLCAweDJjNmEsCisJMHgyYzZj
LCAweDJjNmMsCisJMHgyYzczLCAweDJjNzMsCisJMHgyYzc2LCAweDJjNzYsCisJMHgyYzgxLCAw
eDJjODEsCisJMHgyYzgzLCAweDJjODMsCisJMHgyYzg1LCAweDJjODUsCisJMHgyYzg3LCAweDJj
ODcsCisJMHgyYzg5LCAweDJjODksCisJMHgyYzhiLCAweDJjOGIsCisJMHgyYzhkLCAweDJjOGQs
CisJMHgyYzhmLCAweDJjOGYsCisJMHgyYzkxLCAweDJjOTEsCisJMHgyYzkzLCAweDJjOTMsCisJ
MHgyYzk1LCAweDJjOTUsCisJMHgyYzk3LCAweDJjOTcsCisJMHgyYzk5LCAweDJjOTksCisJMHgy
YzliLCAweDJjOWIsCisJMHgyYzlkLCAweDJjOWQsCisJMHgyYzlmLCAweDJjOWYsCisJMHgyY2Ex
LCAweDJjYTEsCisJMHgyY2EzLCAweDJjYTMsCisJMHgyY2E1LCAweDJjYTUsCisJMHgyY2E3LCAw
eDJjYTcsCisJMHgyY2E5LCAweDJjYTksCisJMHgyY2FiLCAweDJjYWIsCisJMHgyY2FkLCAweDJj
YWQsCisJMHgyY2FmLCAweDJjYWYsCisJMHgyY2IxLCAweDJjYjEsCisJMHgyY2IzLCAweDJjYjMs
CisJMHgyY2I1LCAweDJjYjUsCisJMHgyY2I3LCAweDJjYjcsCisJMHgyY2I5LCAweDJjYjksCisJ
MHgyY2JiLCAweDJjYmIsCisJMHgyY2JkLCAweDJjYmQsCisJMHgyY2JmLCAweDJjYmYsCisJMHgy
Y2MxLCAweDJjYzEsCisJMHgyY2MzLCAweDJjYzMsCisJMHgyY2M1LCAweDJjYzUsCisJMHgyY2M3
LCAweDJjYzcsCisJMHgyY2M5LCAweDJjYzksCisJMHgyY2NiLCAweDJjY2IsCisJMHgyY2NkLCAw
eDJjY2QsCisJMHgyY2NmLCAweDJjY2YsCisJMHgyY2QxLCAweDJjZDEsCisJMHgyY2QzLCAweDJj
ZDMsCisJMHgyY2Q1LCAweDJjZDUsCisJMHgyY2Q3LCAweDJjZDcsCisJMHgyY2Q5LCAweDJjZDks
CisJMHgyY2RiLCAweDJjZGIsCisJMHgyY2RkLCAweDJjZGQsCisJMHgyY2RmLCAweDJjZGYsCisJ
MHgyY2UxLCAweDJjZTEsCisJMHgyY2UzLCAweDJjZTMsCisJMHgyY2VjLCAweDJjZWMsCisJMHgy
Y2VlLCAweDJjZWUsCisJMHgyY2YzLCAweDJjZjMsCisJMHgyZDAwLCAweDJkMjUsCisJMHgyZDI3
LCAweDJkMjcsCisJMHgyZDJkLCAweDJkMmQsCisJMHhhNjQxLCAweGE2NDEsCisJMHhhNjQzLCAw
eGE2NDMsCisJMHhhNjQ1LCAweGE2NDUsCisJMHhhNjQ3LCAweGE2NDcsCisJMHhhNjQ5LCAweGE2
NDksCisJMHhhNjRiLCAweGE2NGIsCisJMHhhNjRkLCAweGE2NGQsCisJMHhhNjRmLCAweGE2NGYs
CisJMHhhNjUxLCAweGE2NTEsCisJMHhhNjUzLCAweGE2NTMsCisJMHhhNjU1LCAweGE2NTUsCisJ
MHhhNjU3LCAweGE2NTcsCisJMHhhNjU5LCAweGE2NTksCisJMHhhNjViLCAweGE2NWIsCisJMHhh
NjVkLCAweGE2NWQsCisJMHhhNjVmLCAweGE2NWYsCisJMHhhNjYxLCAweGE2NjEsCisJMHhhNjYz
LCAweGE2NjMsCisJMHhhNjY1LCAweGE2NjUsCisJMHhhNjY3LCAweGE2NjcsCisJMHhhNjY5LCAw
eGE2NjksCisJMHhhNjZiLCAweGE2NmIsCisJMHhhNjZkLCAweGE2NmQsCisJMHhhNjgxLCAweGE2
ODEsCisJMHhhNjgzLCAweGE2ODMsCisJMHhhNjg1LCAweGE2ODUsCisJMHhhNjg3LCAweGE2ODcs
CisJMHhhNjg5LCAweGE2ODksCisJMHhhNjhiLCAweGE2OGIsCisJMHhhNjhkLCAweGE2OGQsCisJ
MHhhNjhmLCAweGE2OGYsCisJMHhhNjkxLCAweGE2OTEsCisJMHhhNjkzLCAweGE2OTMsCisJMHhh
Njk1LCAweGE2OTUsCisJMHhhNjk3LCAweGE2OTcsCisJMHhhNjk5LCAweGE2OTksCisJMHhhNjli
LCAweGE2OWIsCisJMHhhNzIzLCAweGE3MjMsCisJMHhhNzI1LCAweGE3MjUsCisJMHhhNzI3LCAw
eGE3MjcsCisJMHhhNzI5LCAweGE3MjksCisJMHhhNzJiLCAweGE3MmIsCisJMHhhNzJkLCAweGE3
MmQsCisJMHhhNzJmLCAweGE3MmYsCisJMHhhNzMzLCAweGE3MzMsCisJMHhhNzM1LCAweGE3MzUs
CisJMHhhNzM3LCAweGE3MzcsCisJMHhhNzM5LCAweGE3MzksCisJMHhhNzNiLCAweGE3M2IsCisJ
MHhhNzNkLCAweGE3M2QsCisJMHhhNzNmLCAweGE3M2YsCisJMHhhNzQxLCAweGE3NDEsCisJMHhh
NzQzLCAweGE3NDMsCisJMHhhNzQ1LCAweGE3NDUsCisJMHhhNzQ3LCAweGE3NDcsCisJMHhhNzQ5
LCAweGE3NDksCisJMHhhNzRiLCAweGE3NGIsCisJMHhhNzRkLCAweGE3NGQsCisJMHhhNzRmLCAw
eGE3NGYsCisJMHhhNzUxLCAweGE3NTEsCisJMHhhNzUzLCAweGE3NTMsCisJMHhhNzU1LCAweGE3
NTUsCisJMHhhNzU3LCAweGE3NTcsCisJMHhhNzU5LCAweGE3NTksCisJMHhhNzViLCAweGE3NWIs
CisJMHhhNzVkLCAweGE3NWQsCisJMHhhNzVmLCAweGE3NWYsCisJMHhhNzYxLCAweGE3NjEsCisJ
MHhhNzYzLCAweGE3NjMsCisJMHhhNzY1LCAweGE3NjUsCisJMHhhNzY3LCAweGE3NjcsCisJMHhh
NzY5LCAweGE3NjksCisJMHhhNzZiLCAweGE3NmIsCisJMHhhNzZkLCAweGE3NmQsCisJMHhhNzZm
LCAweGE3NmYsCisJMHhhNzdhLCAweGE3N2EsCisJMHhhNzdjLCAweGE3N2MsCisJMHhhNzdmLCAw
eGE3N2YsCisJMHhhNzgxLCAweGE3ODEsCisJMHhhNzgzLCAweGE3ODMsCisJMHhhNzg1LCAweGE3
ODUsCisJMHhhNzg3LCAweGE3ODcsCisJMHhhNzhjLCAweGE3OGMsCisJMHhhNzkxLCAweGE3OTEs
CisJMHhhNzkzLCAweGE3OTQsCisJMHhhNzk3LCAweGE3OTcsCisJMHhhNzk5LCAweGE3OTksCisJ
MHhhNzliLCAweGE3OWIsCisJMHhhNzlkLCAweGE3OWQsCisJMHhhNzlmLCAweGE3OWYsCisJMHhh
N2ExLCAweGE3YTEsCisJMHhhN2EzLCAweGE3YTMsCisJMHhhN2E1LCAweGE3YTUsCisJMHhhN2E3
LCAweGE3YTcsCisJMHhhN2E5LCAweGE3YTksCisJMHhhN2I1LCAweGE3YjUsCisJMHhhN2I3LCAw
eGE3YjcsCisJMHhhN2I5LCAweGE3YjksCisJMHhhN2JiLCAweGE3YmIsCisJMHhhN2JkLCAweGE3
YmQsCisJMHhhN2JmLCAweGE3YmYsCisJMHhhN2MzLCAweGE3YzMsCisJMHhhYjUzLCAweGFiNTMs
CisJMHhhYjcwLCAweGFiYmYsCisJMHhmYjAwLCAweGZiMDYsCisJMHhmYjEzLCAweGZiMTcsCisJ
MHhmZjQxLCAweGZmNWEsCisJMHgxMDQyOCwgMHgxMDQ0ZiwKKwkweDEwNGQ4LCAweDEwNGZiLAor
CTB4MTBjYzAsIDB4MTBjZjIsCisJMHgxMThjMCwgMHgxMThkZiwKKwkweDE2ZTYwLCAweDE2ZTdm
LAorCTB4MWU5MjIsIDB4MWU5NDMsCit9OyAvKiBDUl9DaGFuZ2VzX1doZW5fVGl0bGVjYXNlZCAq
LworCisvKiAnQ2hhbmdlc19XaGVuX0Nhc2Vmb2xkZWQnOiBEZXJpdmVkIFByb3BlcnR5ICovCitz
dGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9DaGFuZ2VzX1doZW5fQ2FzZWZvbGRlZFtdID0g
eworCTYxMiwKKwkweDAwNDEsIDB4MDA1YSwKKwkweDAwYjUsIDB4MDBiNSwKKwkweDAwYzAsIDB4
MDBkNiwKKwkweDAwZDgsIDB4MDBkZiwKKwkweDAxMDAsIDB4MDEwMCwKKwkweDAxMDIsIDB4MDEw
MiwKKwkweDAxMDQsIDB4MDEwNCwKKwkweDAxMDYsIDB4MDEwNiwKKwkweDAxMDgsIDB4MDEwOCwK
KwkweDAxMGEsIDB4MDEwYSwKKwkweDAxMGMsIDB4MDEwYywKKwkweDAxMGUsIDB4MDEwZSwKKwkw
eDAxMTAsIDB4MDExMCwKKwkweDAxMTIsIDB4MDExMiwKKwkweDAxMTQsIDB4MDExNCwKKwkweDAx
MTYsIDB4MDExNiwKKwkweDAxMTgsIDB4MDExOCwKKwkweDAxMWEsIDB4MDExYSwKKwkweDAxMWMs
IDB4MDExYywKKwkweDAxMWUsIDB4MDExZSwKKwkweDAxMjAsIDB4MDEyMCwKKwkweDAxMjIsIDB4
MDEyMiwKKwkweDAxMjQsIDB4MDEyNCwKKwkweDAxMjYsIDB4MDEyNiwKKwkweDAxMjgsIDB4MDEy
OCwKKwkweDAxMmEsIDB4MDEyYSwKKwkweDAxMmMsIDB4MDEyYywKKwkweDAxMmUsIDB4MDEyZSwK
KwkweDAxMzAsIDB4MDEzMCwKKwkweDAxMzIsIDB4MDEzMiwKKwkweDAxMzQsIDB4MDEzNCwKKwkw
eDAxMzYsIDB4MDEzNiwKKwkweDAxMzksIDB4MDEzOSwKKwkweDAxM2IsIDB4MDEzYiwKKwkweDAx
M2QsIDB4MDEzZCwKKwkweDAxM2YsIDB4MDEzZiwKKwkweDAxNDEsIDB4MDE0MSwKKwkweDAxNDMs
IDB4MDE0MywKKwkweDAxNDUsIDB4MDE0NSwKKwkweDAxNDcsIDB4MDE0NywKKwkweDAxNDksIDB4
MDE0YSwKKwkweDAxNGMsIDB4MDE0YywKKwkweDAxNGUsIDB4MDE0ZSwKKwkweDAxNTAsIDB4MDE1
MCwKKwkweDAxNTIsIDB4MDE1MiwKKwkweDAxNTQsIDB4MDE1NCwKKwkweDAxNTYsIDB4MDE1NiwK
KwkweDAxNTgsIDB4MDE1OCwKKwkweDAxNWEsIDB4MDE1YSwKKwkweDAxNWMsIDB4MDE1YywKKwkw
eDAxNWUsIDB4MDE1ZSwKKwkweDAxNjAsIDB4MDE2MCwKKwkweDAxNjIsIDB4MDE2MiwKKwkweDAx
NjQsIDB4MDE2NCwKKwkweDAxNjYsIDB4MDE2NiwKKwkweDAxNjgsIDB4MDE2OCwKKwkweDAxNmEs
IDB4MDE2YSwKKwkweDAxNmMsIDB4MDE2YywKKwkweDAxNmUsIDB4MDE2ZSwKKwkweDAxNzAsIDB4
MDE3MCwKKwkweDAxNzIsIDB4MDE3MiwKKwkweDAxNzQsIDB4MDE3NCwKKwkweDAxNzYsIDB4MDE3
NiwKKwkweDAxNzgsIDB4MDE3OSwKKwkweDAxN2IsIDB4MDE3YiwKKwkweDAxN2QsIDB4MDE3ZCwK
KwkweDAxN2YsIDB4MDE3ZiwKKwkweDAxODEsIDB4MDE4MiwKKwkweDAxODQsIDB4MDE4NCwKKwkw
eDAxODYsIDB4MDE4NywKKwkweDAxODksIDB4MDE4YiwKKwkweDAxOGUsIDB4MDE5MSwKKwkweDAx
OTMsIDB4MDE5NCwKKwkweDAxOTYsIDB4MDE5OCwKKwkweDAxOWMsIDB4MDE5ZCwKKwkweDAxOWYs
IDB4MDFhMCwKKwkweDAxYTIsIDB4MDFhMiwKKwkweDAxYTQsIDB4MDFhNCwKKwkweDAxYTYsIDB4
MDFhNywKKwkweDAxYTksIDB4MDFhOSwKKwkweDAxYWMsIDB4MDFhYywKKwkweDAxYWUsIDB4MDFh
ZiwKKwkweDAxYjEsIDB4MDFiMywKKwkweDAxYjUsIDB4MDFiNSwKKwkweDAxYjcsIDB4MDFiOCwK
KwkweDAxYmMsIDB4MDFiYywKKwkweDAxYzQsIDB4MDFjNSwKKwkweDAxYzcsIDB4MDFjOCwKKwkw
eDAxY2EsIDB4MDFjYiwKKwkweDAxY2QsIDB4MDFjZCwKKwkweDAxY2YsIDB4MDFjZiwKKwkweDAx
ZDEsIDB4MDFkMSwKKwkweDAxZDMsIDB4MDFkMywKKwkweDAxZDUsIDB4MDFkNSwKKwkweDAxZDcs
IDB4MDFkNywKKwkweDAxZDksIDB4MDFkOSwKKwkweDAxZGIsIDB4MDFkYiwKKwkweDAxZGUsIDB4
MDFkZSwKKwkweDAxZTAsIDB4MDFlMCwKKwkweDAxZTIsIDB4MDFlMiwKKwkweDAxZTQsIDB4MDFl
NCwKKwkweDAxZTYsIDB4MDFlNiwKKwkweDAxZTgsIDB4MDFlOCwKKwkweDAxZWEsIDB4MDFlYSwK
KwkweDAxZWMsIDB4MDFlYywKKwkweDAxZWUsIDB4MDFlZSwKKwkweDAxZjEsIDB4MDFmMiwKKwkw
eDAxZjQsIDB4MDFmNCwKKwkweDAxZjYsIDB4MDFmOCwKKwkweDAxZmEsIDB4MDFmYSwKKwkweDAx
ZmMsIDB4MDFmYywKKwkweDAxZmUsIDB4MDFmZSwKKwkweDAyMDAsIDB4MDIwMCwKKwkweDAyMDIs
IDB4MDIwMiwKKwkweDAyMDQsIDB4MDIwNCwKKwkweDAyMDYsIDB4MDIwNiwKKwkweDAyMDgsIDB4
MDIwOCwKKwkweDAyMGEsIDB4MDIwYSwKKwkweDAyMGMsIDB4MDIwYywKKwkweDAyMGUsIDB4MDIw
ZSwKKwkweDAyMTAsIDB4MDIxMCwKKwkweDAyMTIsIDB4MDIxMiwKKwkweDAyMTQsIDB4MDIxNCwK
KwkweDAyMTYsIDB4MDIxNiwKKwkweDAyMTgsIDB4MDIxOCwKKwkweDAyMWEsIDB4MDIxYSwKKwkw
eDAyMWMsIDB4MDIxYywKKwkweDAyMWUsIDB4MDIxZSwKKwkweDAyMjAsIDB4MDIyMCwKKwkweDAy
MjIsIDB4MDIyMiwKKwkweDAyMjQsIDB4MDIyNCwKKwkweDAyMjYsIDB4MDIyNiwKKwkweDAyMjgs
IDB4MDIyOCwKKwkweDAyMmEsIDB4MDIyYSwKKwkweDAyMmMsIDB4MDIyYywKKwkweDAyMmUsIDB4
MDIyZSwKKwkweDAyMzAsIDB4MDIzMCwKKwkweDAyMzIsIDB4MDIzMiwKKwkweDAyM2EsIDB4MDIz
YiwKKwkweDAyM2QsIDB4MDIzZSwKKwkweDAyNDEsIDB4MDI0MSwKKwkweDAyNDMsIDB4MDI0NiwK
KwkweDAyNDgsIDB4MDI0OCwKKwkweDAyNGEsIDB4MDI0YSwKKwkweDAyNGMsIDB4MDI0YywKKwkw
eDAyNGUsIDB4MDI0ZSwKKwkweDAzNDUsIDB4MDM0NSwKKwkweDAzNzAsIDB4MDM3MCwKKwkweDAz
NzIsIDB4MDM3MiwKKwkweDAzNzYsIDB4MDM3NiwKKwkweDAzN2YsIDB4MDM3ZiwKKwkweDAzODYs
IDB4MDM4NiwKKwkweDAzODgsIDB4MDM4YSwKKwkweDAzOGMsIDB4MDM4YywKKwkweDAzOGUsIDB4
MDM4ZiwKKwkweDAzOTEsIDB4MDNhMSwKKwkweDAzYTMsIDB4MDNhYiwKKwkweDAzYzIsIDB4MDNj
MiwKKwkweDAzY2YsIDB4MDNkMSwKKwkweDAzZDUsIDB4MDNkNiwKKwkweDAzZDgsIDB4MDNkOCwK
KwkweDAzZGEsIDB4MDNkYSwKKwkweDAzZGMsIDB4MDNkYywKKwkweDAzZGUsIDB4MDNkZSwKKwkw
eDAzZTAsIDB4MDNlMCwKKwkweDAzZTIsIDB4MDNlMiwKKwkweDAzZTQsIDB4MDNlNCwKKwkweDAz
ZTYsIDB4MDNlNiwKKwkweDAzZTgsIDB4MDNlOCwKKwkweDAzZWEsIDB4MDNlYSwKKwkweDAzZWMs
IDB4MDNlYywKKwkweDAzZWUsIDB4MDNlZSwKKwkweDAzZjAsIDB4MDNmMSwKKwkweDAzZjQsIDB4
MDNmNSwKKwkweDAzZjcsIDB4MDNmNywKKwkweDAzZjksIDB4MDNmYSwKKwkweDAzZmQsIDB4MDQy
ZiwKKwkweDA0NjAsIDB4MDQ2MCwKKwkweDA0NjIsIDB4MDQ2MiwKKwkweDA0NjQsIDB4MDQ2NCwK
KwkweDA0NjYsIDB4MDQ2NiwKKwkweDA0NjgsIDB4MDQ2OCwKKwkweDA0NmEsIDB4MDQ2YSwKKwkw
eDA0NmMsIDB4MDQ2YywKKwkweDA0NmUsIDB4MDQ2ZSwKKwkweDA0NzAsIDB4MDQ3MCwKKwkweDA0
NzIsIDB4MDQ3MiwKKwkweDA0NzQsIDB4MDQ3NCwKKwkweDA0NzYsIDB4MDQ3NiwKKwkweDA0Nzgs
IDB4MDQ3OCwKKwkweDA0N2EsIDB4MDQ3YSwKKwkweDA0N2MsIDB4MDQ3YywKKwkweDA0N2UsIDB4
MDQ3ZSwKKwkweDA0ODAsIDB4MDQ4MCwKKwkweDA0OGEsIDB4MDQ4YSwKKwkweDA0OGMsIDB4MDQ4
YywKKwkweDA0OGUsIDB4MDQ4ZSwKKwkweDA0OTAsIDB4MDQ5MCwKKwkweDA0OTIsIDB4MDQ5MiwK
KwkweDA0OTQsIDB4MDQ5NCwKKwkweDA0OTYsIDB4MDQ5NiwKKwkweDA0OTgsIDB4MDQ5OCwKKwkw
eDA0OWEsIDB4MDQ5YSwKKwkweDA0OWMsIDB4MDQ5YywKKwkweDA0OWUsIDB4MDQ5ZSwKKwkweDA0
YTAsIDB4MDRhMCwKKwkweDA0YTIsIDB4MDRhMiwKKwkweDA0YTQsIDB4MDRhNCwKKwkweDA0YTYs
IDB4MDRhNiwKKwkweDA0YTgsIDB4MDRhOCwKKwkweDA0YWEsIDB4MDRhYSwKKwkweDA0YWMsIDB4
MDRhYywKKwkweDA0YWUsIDB4MDRhZSwKKwkweDA0YjAsIDB4MDRiMCwKKwkweDA0YjIsIDB4MDRi
MiwKKwkweDA0YjQsIDB4MDRiNCwKKwkweDA0YjYsIDB4MDRiNiwKKwkweDA0YjgsIDB4MDRiOCwK
KwkweDA0YmEsIDB4MDRiYSwKKwkweDA0YmMsIDB4MDRiYywKKwkweDA0YmUsIDB4MDRiZSwKKwkw
eDA0YzAsIDB4MDRjMSwKKwkweDA0YzMsIDB4MDRjMywKKwkweDA0YzUsIDB4MDRjNSwKKwkweDA0
YzcsIDB4MDRjNywKKwkweDA0YzksIDB4MDRjOSwKKwkweDA0Y2IsIDB4MDRjYiwKKwkweDA0Y2Qs
IDB4MDRjZCwKKwkweDA0ZDAsIDB4MDRkMCwKKwkweDA0ZDIsIDB4MDRkMiwKKwkweDA0ZDQsIDB4
MDRkNCwKKwkweDA0ZDYsIDB4MDRkNiwKKwkweDA0ZDgsIDB4MDRkOCwKKwkweDA0ZGEsIDB4MDRk
YSwKKwkweDA0ZGMsIDB4MDRkYywKKwkweDA0ZGUsIDB4MDRkZSwKKwkweDA0ZTAsIDB4MDRlMCwK
KwkweDA0ZTIsIDB4MDRlMiwKKwkweDA0ZTQsIDB4MDRlNCwKKwkweDA0ZTYsIDB4MDRlNiwKKwkw
eDA0ZTgsIDB4MDRlOCwKKwkweDA0ZWEsIDB4MDRlYSwKKwkweDA0ZWMsIDB4MDRlYywKKwkweDA0
ZWUsIDB4MDRlZSwKKwkweDA0ZjAsIDB4MDRmMCwKKwkweDA0ZjIsIDB4MDRmMiwKKwkweDA0ZjQs
IDB4MDRmNCwKKwkweDA0ZjYsIDB4MDRmNiwKKwkweDA0ZjgsIDB4MDRmOCwKKwkweDA0ZmEsIDB4
MDRmYSwKKwkweDA0ZmMsIDB4MDRmYywKKwkweDA0ZmUsIDB4MDRmZSwKKwkweDA1MDAsIDB4MDUw
MCwKKwkweDA1MDIsIDB4MDUwMiwKKwkweDA1MDQsIDB4MDUwNCwKKwkweDA1MDYsIDB4MDUwNiwK
KwkweDA1MDgsIDB4MDUwOCwKKwkweDA1MGEsIDB4MDUwYSwKKwkweDA1MGMsIDB4MDUwYywKKwkw
eDA1MGUsIDB4MDUwZSwKKwkweDA1MTAsIDB4MDUxMCwKKwkweDA1MTIsIDB4MDUxMiwKKwkweDA1
MTQsIDB4MDUxNCwKKwkweDA1MTYsIDB4MDUxNiwKKwkweDA1MTgsIDB4MDUxOCwKKwkweDA1MWEs
IDB4MDUxYSwKKwkweDA1MWMsIDB4MDUxYywKKwkweDA1MWUsIDB4MDUxZSwKKwkweDA1MjAsIDB4
MDUyMCwKKwkweDA1MjIsIDB4MDUyMiwKKwkweDA1MjQsIDB4MDUyNCwKKwkweDA1MjYsIDB4MDUy
NiwKKwkweDA1MjgsIDB4MDUyOCwKKwkweDA1MmEsIDB4MDUyYSwKKwkweDA1MmMsIDB4MDUyYywK
KwkweDA1MmUsIDB4MDUyZSwKKwkweDA1MzEsIDB4MDU1NiwKKwkweDA1ODcsIDB4MDU4NywKKwkw
eDEwYTAsIDB4MTBjNSwKKwkweDEwYzcsIDB4MTBjNywKKwkweDEwY2QsIDB4MTBjZCwKKwkweDEz
ZjgsIDB4MTNmZCwKKwkweDFjODAsIDB4MWM4OCwKKwkweDFjOTAsIDB4MWNiYSwKKwkweDFjYmQs
IDB4MWNiZiwKKwkweDFlMDAsIDB4MWUwMCwKKwkweDFlMDIsIDB4MWUwMiwKKwkweDFlMDQsIDB4
MWUwNCwKKwkweDFlMDYsIDB4MWUwNiwKKwkweDFlMDgsIDB4MWUwOCwKKwkweDFlMGEsIDB4MWUw
YSwKKwkweDFlMGMsIDB4MWUwYywKKwkweDFlMGUsIDB4MWUwZSwKKwkweDFlMTAsIDB4MWUxMCwK
KwkweDFlMTIsIDB4MWUxMiwKKwkweDFlMTQsIDB4MWUxNCwKKwkweDFlMTYsIDB4MWUxNiwKKwkw
eDFlMTgsIDB4MWUxOCwKKwkweDFlMWEsIDB4MWUxYSwKKwkweDFlMWMsIDB4MWUxYywKKwkweDFl
MWUsIDB4MWUxZSwKKwkweDFlMjAsIDB4MWUyMCwKKwkweDFlMjIsIDB4MWUyMiwKKwkweDFlMjQs
IDB4MWUyNCwKKwkweDFlMjYsIDB4MWUyNiwKKwkweDFlMjgsIDB4MWUyOCwKKwkweDFlMmEsIDB4
MWUyYSwKKwkweDFlMmMsIDB4MWUyYywKKwkweDFlMmUsIDB4MWUyZSwKKwkweDFlMzAsIDB4MWUz
MCwKKwkweDFlMzIsIDB4MWUzMiwKKwkweDFlMzQsIDB4MWUzNCwKKwkweDFlMzYsIDB4MWUzNiwK
KwkweDFlMzgsIDB4MWUzOCwKKwkweDFlM2EsIDB4MWUzYSwKKwkweDFlM2MsIDB4MWUzYywKKwkw
eDFlM2UsIDB4MWUzZSwKKwkweDFlNDAsIDB4MWU0MCwKKwkweDFlNDIsIDB4MWU0MiwKKwkweDFl
NDQsIDB4MWU0NCwKKwkweDFlNDYsIDB4MWU0NiwKKwkweDFlNDgsIDB4MWU0OCwKKwkweDFlNGEs
IDB4MWU0YSwKKwkweDFlNGMsIDB4MWU0YywKKwkweDFlNGUsIDB4MWU0ZSwKKwkweDFlNTAsIDB4
MWU1MCwKKwkweDFlNTIsIDB4MWU1MiwKKwkweDFlNTQsIDB4MWU1NCwKKwkweDFlNTYsIDB4MWU1
NiwKKwkweDFlNTgsIDB4MWU1OCwKKwkweDFlNWEsIDB4MWU1YSwKKwkweDFlNWMsIDB4MWU1YywK
KwkweDFlNWUsIDB4MWU1ZSwKKwkweDFlNjAsIDB4MWU2MCwKKwkweDFlNjIsIDB4MWU2MiwKKwkw
eDFlNjQsIDB4MWU2NCwKKwkweDFlNjYsIDB4MWU2NiwKKwkweDFlNjgsIDB4MWU2OCwKKwkweDFl
NmEsIDB4MWU2YSwKKwkweDFlNmMsIDB4MWU2YywKKwkweDFlNmUsIDB4MWU2ZSwKKwkweDFlNzAs
IDB4MWU3MCwKKwkweDFlNzIsIDB4MWU3MiwKKwkweDFlNzQsIDB4MWU3NCwKKwkweDFlNzYsIDB4
MWU3NiwKKwkweDFlNzgsIDB4MWU3OCwKKwkweDFlN2EsIDB4MWU3YSwKKwkweDFlN2MsIDB4MWU3
YywKKwkweDFlN2UsIDB4MWU3ZSwKKwkweDFlODAsIDB4MWU4MCwKKwkweDFlODIsIDB4MWU4MiwK
KwkweDFlODQsIDB4MWU4NCwKKwkweDFlODYsIDB4MWU4NiwKKwkweDFlODgsIDB4MWU4OCwKKwkw
eDFlOGEsIDB4MWU4YSwKKwkweDFlOGMsIDB4MWU4YywKKwkweDFlOGUsIDB4MWU4ZSwKKwkweDFl
OTAsIDB4MWU5MCwKKwkweDFlOTIsIDB4MWU5MiwKKwkweDFlOTQsIDB4MWU5NCwKKwkweDFlOWEs
IDB4MWU5YiwKKwkweDFlOWUsIDB4MWU5ZSwKKwkweDFlYTAsIDB4MWVhMCwKKwkweDFlYTIsIDB4
MWVhMiwKKwkweDFlYTQsIDB4MWVhNCwKKwkweDFlYTYsIDB4MWVhNiwKKwkweDFlYTgsIDB4MWVh
OCwKKwkweDFlYWEsIDB4MWVhYSwKKwkweDFlYWMsIDB4MWVhYywKKwkweDFlYWUsIDB4MWVhZSwK
KwkweDFlYjAsIDB4MWViMCwKKwkweDFlYjIsIDB4MWViMiwKKwkweDFlYjQsIDB4MWViNCwKKwkw
eDFlYjYsIDB4MWViNiwKKwkweDFlYjgsIDB4MWViOCwKKwkweDFlYmEsIDB4MWViYSwKKwkweDFl
YmMsIDB4MWViYywKKwkweDFlYmUsIDB4MWViZSwKKwkweDFlYzAsIDB4MWVjMCwKKwkweDFlYzIs
IDB4MWVjMiwKKwkweDFlYzQsIDB4MWVjNCwKKwkweDFlYzYsIDB4MWVjNiwKKwkweDFlYzgsIDB4
MWVjOCwKKwkweDFlY2EsIDB4MWVjYSwKKwkweDFlY2MsIDB4MWVjYywKKwkweDFlY2UsIDB4MWVj
ZSwKKwkweDFlZDAsIDB4MWVkMCwKKwkweDFlZDIsIDB4MWVkMiwKKwkweDFlZDQsIDB4MWVkNCwK
KwkweDFlZDYsIDB4MWVkNiwKKwkweDFlZDgsIDB4MWVkOCwKKwkweDFlZGEsIDB4MWVkYSwKKwkw
eDFlZGMsIDB4MWVkYywKKwkweDFlZGUsIDB4MWVkZSwKKwkweDFlZTAsIDB4MWVlMCwKKwkweDFl
ZTIsIDB4MWVlMiwKKwkweDFlZTQsIDB4MWVlNCwKKwkweDFlZTYsIDB4MWVlNiwKKwkweDFlZTgs
IDB4MWVlOCwKKwkweDFlZWEsIDB4MWVlYSwKKwkweDFlZWMsIDB4MWVlYywKKwkweDFlZWUsIDB4
MWVlZSwKKwkweDFlZjAsIDB4MWVmMCwKKwkweDFlZjIsIDB4MWVmMiwKKwkweDFlZjQsIDB4MWVm
NCwKKwkweDFlZjYsIDB4MWVmNiwKKwkweDFlZjgsIDB4MWVmOCwKKwkweDFlZmEsIDB4MWVmYSwK
KwkweDFlZmMsIDB4MWVmYywKKwkweDFlZmUsIDB4MWVmZSwKKwkweDFmMDgsIDB4MWYwZiwKKwkw
eDFmMTgsIDB4MWYxZCwKKwkweDFmMjgsIDB4MWYyZiwKKwkweDFmMzgsIDB4MWYzZiwKKwkweDFm
NDgsIDB4MWY0ZCwKKwkweDFmNTksIDB4MWY1OSwKKwkweDFmNWIsIDB4MWY1YiwKKwkweDFmNWQs
IDB4MWY1ZCwKKwkweDFmNWYsIDB4MWY1ZiwKKwkweDFmNjgsIDB4MWY2ZiwKKwkweDFmODAsIDB4
MWZhZiwKKwkweDFmYjIsIDB4MWZiNCwKKwkweDFmYjcsIDB4MWZiYywKKwkweDFmYzIsIDB4MWZj
NCwKKwkweDFmYzcsIDB4MWZjYywKKwkweDFmZDgsIDB4MWZkYiwKKwkweDFmZTgsIDB4MWZlYywK
KwkweDFmZjIsIDB4MWZmNCwKKwkweDFmZjcsIDB4MWZmYywKKwkweDIxMjYsIDB4MjEyNiwKKwkw
eDIxMmEsIDB4MjEyYiwKKwkweDIxMzIsIDB4MjEzMiwKKwkweDIxNjAsIDB4MjE2ZiwKKwkweDIx
ODMsIDB4MjE4MywKKwkweDI0YjYsIDB4MjRjZiwKKwkweDJjMDAsIDB4MmMyZSwKKwkweDJjNjAs
IDB4MmM2MCwKKwkweDJjNjIsIDB4MmM2NCwKKwkweDJjNjcsIDB4MmM2NywKKwkweDJjNjksIDB4
MmM2OSwKKwkweDJjNmIsIDB4MmM2YiwKKwkweDJjNmQsIDB4MmM3MCwKKwkweDJjNzIsIDB4MmM3
MiwKKwkweDJjNzUsIDB4MmM3NSwKKwkweDJjN2UsIDB4MmM4MCwKKwkweDJjODIsIDB4MmM4MiwK
KwkweDJjODQsIDB4MmM4NCwKKwkweDJjODYsIDB4MmM4NiwKKwkweDJjODgsIDB4MmM4OCwKKwkw
eDJjOGEsIDB4MmM4YSwKKwkweDJjOGMsIDB4MmM4YywKKwkweDJjOGUsIDB4MmM4ZSwKKwkweDJj
OTAsIDB4MmM5MCwKKwkweDJjOTIsIDB4MmM5MiwKKwkweDJjOTQsIDB4MmM5NCwKKwkweDJjOTYs
IDB4MmM5NiwKKwkweDJjOTgsIDB4MmM5OCwKKwkweDJjOWEsIDB4MmM5YSwKKwkweDJjOWMsIDB4
MmM5YywKKwkweDJjOWUsIDB4MmM5ZSwKKwkweDJjYTAsIDB4MmNhMCwKKwkweDJjYTIsIDB4MmNh
MiwKKwkweDJjYTQsIDB4MmNhNCwKKwkweDJjYTYsIDB4MmNhNiwKKwkweDJjYTgsIDB4MmNhOCwK
KwkweDJjYWEsIDB4MmNhYSwKKwkweDJjYWMsIDB4MmNhYywKKwkweDJjYWUsIDB4MmNhZSwKKwkw
eDJjYjAsIDB4MmNiMCwKKwkweDJjYjIsIDB4MmNiMiwKKwkweDJjYjQsIDB4MmNiNCwKKwkweDJj
YjYsIDB4MmNiNiwKKwkweDJjYjgsIDB4MmNiOCwKKwkweDJjYmEsIDB4MmNiYSwKKwkweDJjYmMs
IDB4MmNiYywKKwkweDJjYmUsIDB4MmNiZSwKKwkweDJjYzAsIDB4MmNjMCwKKwkweDJjYzIsIDB4
MmNjMiwKKwkweDJjYzQsIDB4MmNjNCwKKwkweDJjYzYsIDB4MmNjNiwKKwkweDJjYzgsIDB4MmNj
OCwKKwkweDJjY2EsIDB4MmNjYSwKKwkweDJjY2MsIDB4MmNjYywKKwkweDJjY2UsIDB4MmNjZSwK
KwkweDJjZDAsIDB4MmNkMCwKKwkweDJjZDIsIDB4MmNkMiwKKwkweDJjZDQsIDB4MmNkNCwKKwkw
eDJjZDYsIDB4MmNkNiwKKwkweDJjZDgsIDB4MmNkOCwKKwkweDJjZGEsIDB4MmNkYSwKKwkweDJj
ZGMsIDB4MmNkYywKKwkweDJjZGUsIDB4MmNkZSwKKwkweDJjZTAsIDB4MmNlMCwKKwkweDJjZTIs
IDB4MmNlMiwKKwkweDJjZWIsIDB4MmNlYiwKKwkweDJjZWQsIDB4MmNlZCwKKwkweDJjZjIsIDB4
MmNmMiwKKwkweGE2NDAsIDB4YTY0MCwKKwkweGE2NDIsIDB4YTY0MiwKKwkweGE2NDQsIDB4YTY0
NCwKKwkweGE2NDYsIDB4YTY0NiwKKwkweGE2NDgsIDB4YTY0OCwKKwkweGE2NGEsIDB4YTY0YSwK
KwkweGE2NGMsIDB4YTY0YywKKwkweGE2NGUsIDB4YTY0ZSwKKwkweGE2NTAsIDB4YTY1MCwKKwkw
eGE2NTIsIDB4YTY1MiwKKwkweGE2NTQsIDB4YTY1NCwKKwkweGE2NTYsIDB4YTY1NiwKKwkweGE2
NTgsIDB4YTY1OCwKKwkweGE2NWEsIDB4YTY1YSwKKwkweGE2NWMsIDB4YTY1YywKKwkweGE2NWUs
IDB4YTY1ZSwKKwkweGE2NjAsIDB4YTY2MCwKKwkweGE2NjIsIDB4YTY2MiwKKwkweGE2NjQsIDB4
YTY2NCwKKwkweGE2NjYsIDB4YTY2NiwKKwkweGE2NjgsIDB4YTY2OCwKKwkweGE2NmEsIDB4YTY2
YSwKKwkweGE2NmMsIDB4YTY2YywKKwkweGE2ODAsIDB4YTY4MCwKKwkweGE2ODIsIDB4YTY4MiwK
KwkweGE2ODQsIDB4YTY4NCwKKwkweGE2ODYsIDB4YTY4NiwKKwkweGE2ODgsIDB4YTY4OCwKKwkw
eGE2OGEsIDB4YTY4YSwKKwkweGE2OGMsIDB4YTY4YywKKwkweGE2OGUsIDB4YTY4ZSwKKwkweGE2
OTAsIDB4YTY5MCwKKwkweGE2OTIsIDB4YTY5MiwKKwkweGE2OTQsIDB4YTY5NCwKKwkweGE2OTYs
IDB4YTY5NiwKKwkweGE2OTgsIDB4YTY5OCwKKwkweGE2OWEsIDB4YTY5YSwKKwkweGE3MjIsIDB4
YTcyMiwKKwkweGE3MjQsIDB4YTcyNCwKKwkweGE3MjYsIDB4YTcyNiwKKwkweGE3MjgsIDB4YTcy
OCwKKwkweGE3MmEsIDB4YTcyYSwKKwkweGE3MmMsIDB4YTcyYywKKwkweGE3MmUsIDB4YTcyZSwK
KwkweGE3MzIsIDB4YTczMiwKKwkweGE3MzQsIDB4YTczNCwKKwkweGE3MzYsIDB4YTczNiwKKwkw
eGE3MzgsIDB4YTczOCwKKwkweGE3M2EsIDB4YTczYSwKKwkweGE3M2MsIDB4YTczYywKKwkweGE3
M2UsIDB4YTczZSwKKwkweGE3NDAsIDB4YTc0MCwKKwkweGE3NDIsIDB4YTc0MiwKKwkweGE3NDQs
IDB4YTc0NCwKKwkweGE3NDYsIDB4YTc0NiwKKwkweGE3NDgsIDB4YTc0OCwKKwkweGE3NGEsIDB4
YTc0YSwKKwkweGE3NGMsIDB4YTc0YywKKwkweGE3NGUsIDB4YTc0ZSwKKwkweGE3NTAsIDB4YTc1
MCwKKwkweGE3NTIsIDB4YTc1MiwKKwkweGE3NTQsIDB4YTc1NCwKKwkweGE3NTYsIDB4YTc1NiwK
KwkweGE3NTgsIDB4YTc1OCwKKwkweGE3NWEsIDB4YTc1YSwKKwkweGE3NWMsIDB4YTc1YywKKwkw
eGE3NWUsIDB4YTc1ZSwKKwkweGE3NjAsIDB4YTc2MCwKKwkweGE3NjIsIDB4YTc2MiwKKwkweGE3
NjQsIDB4YTc2NCwKKwkweGE3NjYsIDB4YTc2NiwKKwkweGE3NjgsIDB4YTc2OCwKKwkweGE3NmEs
IDB4YTc2YSwKKwkweGE3NmMsIDB4YTc2YywKKwkweGE3NmUsIDB4YTc2ZSwKKwkweGE3NzksIDB4
YTc3OSwKKwkweGE3N2IsIDB4YTc3YiwKKwkweGE3N2QsIDB4YTc3ZSwKKwkweGE3ODAsIDB4YTc4
MCwKKwkweGE3ODIsIDB4YTc4MiwKKwkweGE3ODQsIDB4YTc4NCwKKwkweGE3ODYsIDB4YTc4NiwK
KwkweGE3OGIsIDB4YTc4YiwKKwkweGE3OGQsIDB4YTc4ZCwKKwkweGE3OTAsIDB4YTc5MCwKKwkw
eGE3OTIsIDB4YTc5MiwKKwkweGE3OTYsIDB4YTc5NiwKKwkweGE3OTgsIDB4YTc5OCwKKwkweGE3
OWEsIDB4YTc5YSwKKwkweGE3OWMsIDB4YTc5YywKKwkweGE3OWUsIDB4YTc5ZSwKKwkweGE3YTAs
IDB4YTdhMCwKKwkweGE3YTIsIDB4YTdhMiwKKwkweGE3YTQsIDB4YTdhNCwKKwkweGE3YTYsIDB4
YTdhNiwKKwkweGE3YTgsIDB4YTdhOCwKKwkweGE3YWEsIDB4YTdhZSwKKwkweGE3YjAsIDB4YTdi
NCwKKwkweGE3YjYsIDB4YTdiNiwKKwkweGE3YjgsIDB4YTdiOCwKKwkweGE3YmEsIDB4YTdiYSwK
KwkweGE3YmMsIDB4YTdiYywKKwkweGE3YmUsIDB4YTdiZSwKKwkweGE3YzIsIDB4YTdjMiwKKwkw
eGE3YzQsIDB4YTdjNiwKKwkweGFiNzAsIDB4YWJiZiwKKwkweGZiMDAsIDB4ZmIwNiwKKwkweGZi
MTMsIDB4ZmIxNywKKwkweGZmMjEsIDB4ZmYzYSwKKwkweDEwNDAwLCAweDEwNDI3LAorCTB4MTA0
YjAsIDB4MTA0ZDMsCisJMHgxMGM4MCwgMHgxMGNiMiwKKwkweDExOGEwLCAweDExOGJmLAorCTB4
MTZlNDAsIDB4MTZlNWYsCisJMHgxZTkwMCwgMHgxZTkyMSwKK307IC8qIENSX0NoYW5nZXNfV2hl
bl9DYXNlZm9sZGVkICovCisKKy8qICdDaGFuZ2VzX1doZW5fQ2FzZW1hcHBlZCc6IERlcml2ZWQg
UHJvcGVydHkgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0NoYW5nZXNfV2hlbl9D
YXNlbWFwcGVkW10gPSB7CisJMTIzLAorCTB4MDA0MSwgMHgwMDVhLAorCTB4MDA2MSwgMHgwMDdh
LAorCTB4MDBiNSwgMHgwMGI1LAorCTB4MDBjMCwgMHgwMGQ2LAorCTB4MDBkOCwgMHgwMGY2LAor
CTB4MDBmOCwgMHgwMTM3LAorCTB4MDEzOSwgMHgwMThjLAorCTB4MDE4ZSwgMHgwMTlhLAorCTB4
MDE5YywgMHgwMWE5LAorCTB4MDFhYywgMHgwMWI5LAorCTB4MDFiYywgMHgwMWJkLAorCTB4MDFi
ZiwgMHgwMWJmLAorCTB4MDFjNCwgMHgwMjIwLAorCTB4MDIyMiwgMHgwMjMzLAorCTB4MDIzYSwg
MHgwMjU0LAorCTB4MDI1NiwgMHgwMjU3LAorCTB4MDI1OSwgMHgwMjU5LAorCTB4MDI1YiwgMHgw
MjVjLAorCTB4MDI2MCwgMHgwMjYxLAorCTB4MDI2MywgMHgwMjYzLAorCTB4MDI2NSwgMHgwMjY2
LAorCTB4MDI2OCwgMHgwMjZjLAorCTB4MDI2ZiwgMHgwMjZmLAorCTB4MDI3MSwgMHgwMjcyLAor
CTB4MDI3NSwgMHgwMjc1LAorCTB4MDI3ZCwgMHgwMjdkLAorCTB4MDI4MCwgMHgwMjgwLAorCTB4
MDI4MiwgMHgwMjgzLAorCTB4MDI4NywgMHgwMjhjLAorCTB4MDI5MiwgMHgwMjkyLAorCTB4MDI5
ZCwgMHgwMjllLAorCTB4MDM0NSwgMHgwMzQ1LAorCTB4MDM3MCwgMHgwMzczLAorCTB4MDM3Niwg
MHgwMzc3LAorCTB4MDM3YiwgMHgwMzdkLAorCTB4MDM3ZiwgMHgwMzdmLAorCTB4MDM4NiwgMHgw
Mzg2LAorCTB4MDM4OCwgMHgwMzhhLAorCTB4MDM4YywgMHgwMzhjLAorCTB4MDM4ZSwgMHgwM2Ex
LAorCTB4MDNhMywgMHgwM2QxLAorCTB4MDNkNSwgMHgwM2Y1LAorCTB4MDNmNywgMHgwM2ZiLAor
CTB4MDNmZCwgMHgwNDgxLAorCTB4MDQ4YSwgMHgwNTJmLAorCTB4MDUzMSwgMHgwNTU2LAorCTB4
MDU2MSwgMHgwNTg3LAorCTB4MTBhMCwgMHgxMGM1LAorCTB4MTBjNywgMHgxMGM3LAorCTB4MTBj
ZCwgMHgxMGNkLAorCTB4MTBkMCwgMHgxMGZhLAorCTB4MTBmZCwgMHgxMGZmLAorCTB4MTNhMCwg
MHgxM2Y1LAorCTB4MTNmOCwgMHgxM2ZkLAorCTB4MWM4MCwgMHgxYzg4LAorCTB4MWM5MCwgMHgx
Y2JhLAorCTB4MWNiZCwgMHgxY2JmLAorCTB4MWQ3OSwgMHgxZDc5LAorCTB4MWQ3ZCwgMHgxZDdk
LAorCTB4MWQ4ZSwgMHgxZDhlLAorCTB4MWUwMCwgMHgxZTliLAorCTB4MWU5ZSwgMHgxZTllLAor
CTB4MWVhMCwgMHgxZjE1LAorCTB4MWYxOCwgMHgxZjFkLAorCTB4MWYyMCwgMHgxZjQ1LAorCTB4
MWY0OCwgMHgxZjRkLAorCTB4MWY1MCwgMHgxZjU3LAorCTB4MWY1OSwgMHgxZjU5LAorCTB4MWY1
YiwgMHgxZjViLAorCTB4MWY1ZCwgMHgxZjVkLAorCTB4MWY1ZiwgMHgxZjdkLAorCTB4MWY4MCwg
MHgxZmI0LAorCTB4MWZiNiwgMHgxZmJjLAorCTB4MWZiZSwgMHgxZmJlLAorCTB4MWZjMiwgMHgx
ZmM0LAorCTB4MWZjNiwgMHgxZmNjLAorCTB4MWZkMCwgMHgxZmQzLAorCTB4MWZkNiwgMHgxZmRi
LAorCTB4MWZlMCwgMHgxZmVjLAorCTB4MWZmMiwgMHgxZmY0LAorCTB4MWZmNiwgMHgxZmZjLAor
CTB4MjEyNiwgMHgyMTI2LAorCTB4MjEyYSwgMHgyMTJiLAorCTB4MjEzMiwgMHgyMTMyLAorCTB4
MjE0ZSwgMHgyMTRlLAorCTB4MjE2MCwgMHgyMTdmLAorCTB4MjE4MywgMHgyMTg0LAorCTB4MjRi
NiwgMHgyNGU5LAorCTB4MmMwMCwgMHgyYzJlLAorCTB4MmMzMCwgMHgyYzVlLAorCTB4MmM2MCwg
MHgyYzcwLAorCTB4MmM3MiwgMHgyYzczLAorCTB4MmM3NSwgMHgyYzc2LAorCTB4MmM3ZSwgMHgy
Y2UzLAorCTB4MmNlYiwgMHgyY2VlLAorCTB4MmNmMiwgMHgyY2YzLAorCTB4MmQwMCwgMHgyZDI1
LAorCTB4MmQyNywgMHgyZDI3LAorCTB4MmQyZCwgMHgyZDJkLAorCTB4YTY0MCwgMHhhNjZkLAor
CTB4YTY4MCwgMHhhNjliLAorCTB4YTcyMiwgMHhhNzJmLAorCTB4YTczMiwgMHhhNzZmLAorCTB4
YTc3OSwgMHhhNzg3LAorCTB4YTc4YiwgMHhhNzhkLAorCTB4YTc5MCwgMHhhNzk0LAorCTB4YTc5
NiwgMHhhN2FlLAorCTB4YTdiMCwgMHhhN2JmLAorCTB4YTdjMiwgMHhhN2M2LAorCTB4YWI1Mywg
MHhhYjUzLAorCTB4YWI3MCwgMHhhYmJmLAorCTB4ZmIwMCwgMHhmYjA2LAorCTB4ZmIxMywgMHhm
YjE3LAorCTB4ZmYyMSwgMHhmZjNhLAorCTB4ZmY0MSwgMHhmZjVhLAorCTB4MTA0MDAsIDB4MTA0
NGYsCisJMHgxMDRiMCwgMHgxMDRkMywKKwkweDEwNGQ4LCAweDEwNGZiLAorCTB4MTBjODAsIDB4
MTBjYjIsCisJMHgxMGNjMCwgMHgxMGNmMiwKKwkweDExOGEwLCAweDExOGRmLAorCTB4MTZlNDAs
IDB4MTZlN2YsCisJMHgxZTkwMCwgMHgxZTk0MywKK307IC8qIENSX0NoYW5nZXNfV2hlbl9DYXNl
bWFwcGVkICovCisKKy8qICdJRF9TdGFydCc6IERlcml2ZWQgUHJvcGVydHkgKi8KK3N0YXRpYyBj
b25zdCBPbmlnQ29kZVBvaW50IENSX0lEX1N0YXJ0W10gPSB7CisJNjA5LAorCTB4MDA0MSwgMHgw
MDVhLAorCTB4MDA2MSwgMHgwMDdhLAorCTB4MDBhYSwgMHgwMGFhLAorCTB4MDBiNSwgMHgwMGI1
LAorCTB4MDBiYSwgMHgwMGJhLAorCTB4MDBjMCwgMHgwMGQ2LAorCTB4MDBkOCwgMHgwMGY2LAor
CTB4MDBmOCwgMHgwMmMxLAorCTB4MDJjNiwgMHgwMmQxLAorCTB4MDJlMCwgMHgwMmU0LAorCTB4
MDJlYywgMHgwMmVjLAorCTB4MDJlZSwgMHgwMmVlLAorCTB4MDM3MCwgMHgwMzc0LAorCTB4MDM3
NiwgMHgwMzc3LAorCTB4MDM3YSwgMHgwMzdkLAorCTB4MDM3ZiwgMHgwMzdmLAorCTB4MDM4Niwg
MHgwMzg2LAorCTB4MDM4OCwgMHgwMzhhLAorCTB4MDM4YywgMHgwMzhjLAorCTB4MDM4ZSwgMHgw
M2ExLAorCTB4MDNhMywgMHgwM2Y1LAorCTB4MDNmNywgMHgwNDgxLAorCTB4MDQ4YSwgMHgwNTJm
LAorCTB4MDUzMSwgMHgwNTU2LAorCTB4MDU1OSwgMHgwNTU5LAorCTB4MDU2MCwgMHgwNTg4LAor
CTB4MDVkMCwgMHgwNWVhLAorCTB4MDVlZiwgMHgwNWYyLAorCTB4MDYyMCwgMHgwNjRhLAorCTB4
MDY2ZSwgMHgwNjZmLAorCTB4MDY3MSwgMHgwNmQzLAorCTB4MDZkNSwgMHgwNmQ1LAorCTB4MDZl
NSwgMHgwNmU2LAorCTB4MDZlZSwgMHgwNmVmLAorCTB4MDZmYSwgMHgwNmZjLAorCTB4MDZmZiwg
MHgwNmZmLAorCTB4MDcxMCwgMHgwNzEwLAorCTB4MDcxMiwgMHgwNzJmLAorCTB4MDc0ZCwgMHgw
N2E1LAorCTB4MDdiMSwgMHgwN2IxLAorCTB4MDdjYSwgMHgwN2VhLAorCTB4MDdmNCwgMHgwN2Y1
LAorCTB4MDdmYSwgMHgwN2ZhLAorCTB4MDgwMCwgMHgwODE1LAorCTB4MDgxYSwgMHgwODFhLAor
CTB4MDgyNCwgMHgwODI0LAorCTB4MDgyOCwgMHgwODI4LAorCTB4MDg0MCwgMHgwODU4LAorCTB4
MDg2MCwgMHgwODZhLAorCTB4MDhhMCwgMHgwOGI0LAorCTB4MDhiNiwgMHgwOGJkLAorCTB4MDkw
NCwgMHgwOTM5LAorCTB4MDkzZCwgMHgwOTNkLAorCTB4MDk1MCwgMHgwOTUwLAorCTB4MDk1OCwg
MHgwOTYxLAorCTB4MDk3MSwgMHgwOTgwLAorCTB4MDk4NSwgMHgwOThjLAorCTB4MDk4ZiwgMHgw
OTkwLAorCTB4MDk5MywgMHgwOWE4LAorCTB4MDlhYSwgMHgwOWIwLAorCTB4MDliMiwgMHgwOWIy
LAorCTB4MDliNiwgMHgwOWI5LAorCTB4MDliZCwgMHgwOWJkLAorCTB4MDljZSwgMHgwOWNlLAor
CTB4MDlkYywgMHgwOWRkLAorCTB4MDlkZiwgMHgwOWUxLAorCTB4MDlmMCwgMHgwOWYxLAorCTB4
MDlmYywgMHgwOWZjLAorCTB4MGEwNSwgMHgwYTBhLAorCTB4MGEwZiwgMHgwYTEwLAorCTB4MGEx
MywgMHgwYTI4LAorCTB4MGEyYSwgMHgwYTMwLAorCTB4MGEzMiwgMHgwYTMzLAorCTB4MGEzNSwg
MHgwYTM2LAorCTB4MGEzOCwgMHgwYTM5LAorCTB4MGE1OSwgMHgwYTVjLAorCTB4MGE1ZSwgMHgw
YTVlLAorCTB4MGE3MiwgMHgwYTc0LAorCTB4MGE4NSwgMHgwYThkLAorCTB4MGE4ZiwgMHgwYTkx
LAorCTB4MGE5MywgMHgwYWE4LAorCTB4MGFhYSwgMHgwYWIwLAorCTB4MGFiMiwgMHgwYWIzLAor
CTB4MGFiNSwgMHgwYWI5LAorCTB4MGFiZCwgMHgwYWJkLAorCTB4MGFkMCwgMHgwYWQwLAorCTB4
MGFlMCwgMHgwYWUxLAorCTB4MGFmOSwgMHgwYWY5LAorCTB4MGIwNSwgMHgwYjBjLAorCTB4MGIw
ZiwgMHgwYjEwLAorCTB4MGIxMywgMHgwYjI4LAorCTB4MGIyYSwgMHgwYjMwLAorCTB4MGIzMiwg
MHgwYjMzLAorCTB4MGIzNSwgMHgwYjM5LAorCTB4MGIzZCwgMHgwYjNkLAorCTB4MGI1YywgMHgw
YjVkLAorCTB4MGI1ZiwgMHgwYjYxLAorCTB4MGI3MSwgMHgwYjcxLAorCTB4MGI4MywgMHgwYjgz
LAorCTB4MGI4NSwgMHgwYjhhLAorCTB4MGI4ZSwgMHgwYjkwLAorCTB4MGI5MiwgMHgwYjk1LAor
CTB4MGI5OSwgMHgwYjlhLAorCTB4MGI5YywgMHgwYjljLAorCTB4MGI5ZSwgMHgwYjlmLAorCTB4
MGJhMywgMHgwYmE0LAorCTB4MGJhOCwgMHgwYmFhLAorCTB4MGJhZSwgMHgwYmI5LAorCTB4MGJk
MCwgMHgwYmQwLAorCTB4MGMwNSwgMHgwYzBjLAorCTB4MGMwZSwgMHgwYzEwLAorCTB4MGMxMiwg
MHgwYzI4LAorCTB4MGMyYSwgMHgwYzM5LAorCTB4MGMzZCwgMHgwYzNkLAorCTB4MGM1OCwgMHgw
YzVhLAorCTB4MGM2MCwgMHgwYzYxLAorCTB4MGM4MCwgMHgwYzgwLAorCTB4MGM4NSwgMHgwYzhj
LAorCTB4MGM4ZSwgMHgwYzkwLAorCTB4MGM5MiwgMHgwY2E4LAorCTB4MGNhYSwgMHgwY2IzLAor
CTB4MGNiNSwgMHgwY2I5LAorCTB4MGNiZCwgMHgwY2JkLAorCTB4MGNkZSwgMHgwY2RlLAorCTB4
MGNlMCwgMHgwY2UxLAorCTB4MGNmMSwgMHgwY2YyLAorCTB4MGQwNSwgMHgwZDBjLAorCTB4MGQw
ZSwgMHgwZDEwLAorCTB4MGQxMiwgMHgwZDNhLAorCTB4MGQzZCwgMHgwZDNkLAorCTB4MGQ0ZSwg
MHgwZDRlLAorCTB4MGQ1NCwgMHgwZDU2LAorCTB4MGQ1ZiwgMHgwZDYxLAorCTB4MGQ3YSwgMHgw
ZDdmLAorCTB4MGQ4NSwgMHgwZDk2LAorCTB4MGQ5YSwgMHgwZGIxLAorCTB4MGRiMywgMHgwZGJi
LAorCTB4MGRiZCwgMHgwZGJkLAorCTB4MGRjMCwgMHgwZGM2LAorCTB4MGUwMSwgMHgwZTMwLAor
CTB4MGUzMiwgMHgwZTMzLAorCTB4MGU0MCwgMHgwZTQ2LAorCTB4MGU4MSwgMHgwZTgyLAorCTB4
MGU4NCwgMHgwZTg0LAorCTB4MGU4NiwgMHgwZThhLAorCTB4MGU4YywgMHgwZWEzLAorCTB4MGVh
NSwgMHgwZWE1LAorCTB4MGVhNywgMHgwZWIwLAorCTB4MGViMiwgMHgwZWIzLAorCTB4MGViZCwg
MHgwZWJkLAorCTB4MGVjMCwgMHgwZWM0LAorCTB4MGVjNiwgMHgwZWM2LAorCTB4MGVkYywgMHgw
ZWRmLAorCTB4MGYwMCwgMHgwZjAwLAorCTB4MGY0MCwgMHgwZjQ3LAorCTB4MGY0OSwgMHgwZjZj
LAorCTB4MGY4OCwgMHgwZjhjLAorCTB4MTAwMCwgMHgxMDJhLAorCTB4MTAzZiwgMHgxMDNmLAor
CTB4MTA1MCwgMHgxMDU1LAorCTB4MTA1YSwgMHgxMDVkLAorCTB4MTA2MSwgMHgxMDYxLAorCTB4
MTA2NSwgMHgxMDY2LAorCTB4MTA2ZSwgMHgxMDcwLAorCTB4MTA3NSwgMHgxMDgxLAorCTB4MTA4
ZSwgMHgxMDhlLAorCTB4MTBhMCwgMHgxMGM1LAorCTB4MTBjNywgMHgxMGM3LAorCTB4MTBjZCwg
MHgxMGNkLAorCTB4MTBkMCwgMHgxMGZhLAorCTB4MTBmYywgMHgxMjQ4LAorCTB4MTI0YSwgMHgx
MjRkLAorCTB4MTI1MCwgMHgxMjU2LAorCTB4MTI1OCwgMHgxMjU4LAorCTB4MTI1YSwgMHgxMjVk
LAorCTB4MTI2MCwgMHgxMjg4LAorCTB4MTI4YSwgMHgxMjhkLAorCTB4MTI5MCwgMHgxMmIwLAor
CTB4MTJiMiwgMHgxMmI1LAorCTB4MTJiOCwgMHgxMmJlLAorCTB4MTJjMCwgMHgxMmMwLAorCTB4
MTJjMiwgMHgxMmM1LAorCTB4MTJjOCwgMHgxMmQ2LAorCTB4MTJkOCwgMHgxMzEwLAorCTB4MTMx
MiwgMHgxMzE1LAorCTB4MTMxOCwgMHgxMzVhLAorCTB4MTM4MCwgMHgxMzhmLAorCTB4MTNhMCwg
MHgxM2Y1LAorCTB4MTNmOCwgMHgxM2ZkLAorCTB4MTQwMSwgMHgxNjZjLAorCTB4MTY2ZiwgMHgx
NjdmLAorCTB4MTY4MSwgMHgxNjlhLAorCTB4MTZhMCwgMHgxNmVhLAorCTB4MTZlZSwgMHgxNmY4
LAorCTB4MTcwMCwgMHgxNzBjLAorCTB4MTcwZSwgMHgxNzExLAorCTB4MTcyMCwgMHgxNzMxLAor
CTB4MTc0MCwgMHgxNzUxLAorCTB4MTc2MCwgMHgxNzZjLAorCTB4MTc2ZSwgMHgxNzcwLAorCTB4
MTc4MCwgMHgxN2IzLAorCTB4MTdkNywgMHgxN2Q3LAorCTB4MTdkYywgMHgxN2RjLAorCTB4MTgy
MCwgMHgxODc4LAorCTB4MTg4MCwgMHgxOGE4LAorCTB4MThhYSwgMHgxOGFhLAorCTB4MThiMCwg
MHgxOGY1LAorCTB4MTkwMCwgMHgxOTFlLAorCTB4MTk1MCwgMHgxOTZkLAorCTB4MTk3MCwgMHgx
OTc0LAorCTB4MTk4MCwgMHgxOWFiLAorCTB4MTliMCwgMHgxOWM5LAorCTB4MWEwMCwgMHgxYTE2
LAorCTB4MWEyMCwgMHgxYTU0LAorCTB4MWFhNywgMHgxYWE3LAorCTB4MWIwNSwgMHgxYjMzLAor
CTB4MWI0NSwgMHgxYjRiLAorCTB4MWI4MywgMHgxYmEwLAorCTB4MWJhZSwgMHgxYmFmLAorCTB4
MWJiYSwgMHgxYmU1LAorCTB4MWMwMCwgMHgxYzIzLAorCTB4MWM0ZCwgMHgxYzRmLAorCTB4MWM1
YSwgMHgxYzdkLAorCTB4MWM4MCwgMHgxYzg4LAorCTB4MWM5MCwgMHgxY2JhLAorCTB4MWNiZCwg
MHgxY2JmLAorCTB4MWNlOSwgMHgxY2VjLAorCTB4MWNlZSwgMHgxY2YzLAorCTB4MWNmNSwgMHgx
Y2Y2LAorCTB4MWNmYSwgMHgxY2ZhLAorCTB4MWQwMCwgMHgxZGJmLAorCTB4MWUwMCwgMHgxZjE1
LAorCTB4MWYxOCwgMHgxZjFkLAorCTB4MWYyMCwgMHgxZjQ1LAorCTB4MWY0OCwgMHgxZjRkLAor
CTB4MWY1MCwgMHgxZjU3LAorCTB4MWY1OSwgMHgxZjU5LAorCTB4MWY1YiwgMHgxZjViLAorCTB4
MWY1ZCwgMHgxZjVkLAorCTB4MWY1ZiwgMHgxZjdkLAorCTB4MWY4MCwgMHgxZmI0LAorCTB4MWZi
NiwgMHgxZmJjLAorCTB4MWZiZSwgMHgxZmJlLAorCTB4MWZjMiwgMHgxZmM0LAorCTB4MWZjNiwg
MHgxZmNjLAorCTB4MWZkMCwgMHgxZmQzLAorCTB4MWZkNiwgMHgxZmRiLAorCTB4MWZlMCwgMHgx
ZmVjLAorCTB4MWZmMiwgMHgxZmY0LAorCTB4MWZmNiwgMHgxZmZjLAorCTB4MjA3MSwgMHgyMDcx
LAorCTB4MjA3ZiwgMHgyMDdmLAorCTB4MjA5MCwgMHgyMDljLAorCTB4MjEwMiwgMHgyMTAyLAor
CTB4MjEwNywgMHgyMTA3LAorCTB4MjEwYSwgMHgyMTEzLAorCTB4MjExNSwgMHgyMTE1LAorCTB4
MjExOCwgMHgyMTFkLAorCTB4MjEyNCwgMHgyMTI0LAorCTB4MjEyNiwgMHgyMTI2LAorCTB4MjEy
OCwgMHgyMTI4LAorCTB4MjEyYSwgMHgyMTM5LAorCTB4MjEzYywgMHgyMTNmLAorCTB4MjE0NSwg
MHgyMTQ5LAorCTB4MjE0ZSwgMHgyMTRlLAorCTB4MjE2MCwgMHgyMTg4LAorCTB4MmMwMCwgMHgy
YzJlLAorCTB4MmMzMCwgMHgyYzVlLAorCTB4MmM2MCwgMHgyY2U0LAorCTB4MmNlYiwgMHgyY2Vl
LAorCTB4MmNmMiwgMHgyY2YzLAorCTB4MmQwMCwgMHgyZDI1LAorCTB4MmQyNywgMHgyZDI3LAor
CTB4MmQyZCwgMHgyZDJkLAorCTB4MmQzMCwgMHgyZDY3LAorCTB4MmQ2ZiwgMHgyZDZmLAorCTB4
MmQ4MCwgMHgyZDk2LAorCTB4MmRhMCwgMHgyZGE2LAorCTB4MmRhOCwgMHgyZGFlLAorCTB4MmRi
MCwgMHgyZGI2LAorCTB4MmRiOCwgMHgyZGJlLAorCTB4MmRjMCwgMHgyZGM2LAorCTB4MmRjOCwg
MHgyZGNlLAorCTB4MmRkMCwgMHgyZGQ2LAorCTB4MmRkOCwgMHgyZGRlLAorCTB4MzAwNSwgMHgz
MDA3LAorCTB4MzAyMSwgMHgzMDI5LAorCTB4MzAzMSwgMHgzMDM1LAorCTB4MzAzOCwgMHgzMDNj
LAorCTB4MzA0MSwgMHgzMDk2LAorCTB4MzA5YiwgMHgzMDlmLAorCTB4MzBhMSwgMHgzMGZhLAor
CTB4MzBmYywgMHgzMGZmLAorCTB4MzEwNSwgMHgzMTJmLAorCTB4MzEzMSwgMHgzMThlLAorCTB4
MzFhMCwgMHgzMWJhLAorCTB4MzFmMCwgMHgzMWZmLAorCTB4MzQwMCwgMHg0ZGI1LAorCTB4NGUw
MCwgMHg5ZmVmLAorCTB4YTAwMCwgMHhhNDhjLAorCTB4YTRkMCwgMHhhNGZkLAorCTB4YTUwMCwg
MHhhNjBjLAorCTB4YTYxMCwgMHhhNjFmLAorCTB4YTYyYSwgMHhhNjJiLAorCTB4YTY0MCwgMHhh
NjZlLAorCTB4YTY3ZiwgMHhhNjlkLAorCTB4YTZhMCwgMHhhNmVmLAorCTB4YTcxNywgMHhhNzFm
LAorCTB4YTcyMiwgMHhhNzg4LAorCTB4YTc4YiwgMHhhN2JmLAorCTB4YTdjMiwgMHhhN2M2LAor
CTB4YTdmNywgMHhhODAxLAorCTB4YTgwMywgMHhhODA1LAorCTB4YTgwNywgMHhhODBhLAorCTB4
YTgwYywgMHhhODIyLAorCTB4YTg0MCwgMHhhODczLAorCTB4YTg4MiwgMHhhOGIzLAorCTB4YThm
MiwgMHhhOGY3LAorCTB4YThmYiwgMHhhOGZiLAorCTB4YThmZCwgMHhhOGZlLAorCTB4YTkwYSwg
MHhhOTI1LAorCTB4YTkzMCwgMHhhOTQ2LAorCTB4YTk2MCwgMHhhOTdjLAorCTB4YTk4NCwgMHhh
OWIyLAorCTB4YTljZiwgMHhhOWNmLAorCTB4YTllMCwgMHhhOWU0LAorCTB4YTllNiwgMHhhOWVm
LAorCTB4YTlmYSwgMHhhOWZlLAorCTB4YWEwMCwgMHhhYTI4LAorCTB4YWE0MCwgMHhhYTQyLAor
CTB4YWE0NCwgMHhhYTRiLAorCTB4YWE2MCwgMHhhYTc2LAorCTB4YWE3YSwgMHhhYTdhLAorCTB4
YWE3ZSwgMHhhYWFmLAorCTB4YWFiMSwgMHhhYWIxLAorCTB4YWFiNSwgMHhhYWI2LAorCTB4YWFi
OSwgMHhhYWJkLAorCTB4YWFjMCwgMHhhYWMwLAorCTB4YWFjMiwgMHhhYWMyLAorCTB4YWFkYiwg
MHhhYWRkLAorCTB4YWFlMCwgMHhhYWVhLAorCTB4YWFmMiwgMHhhYWY0LAorCTB4YWIwMSwgMHhh
YjA2LAorCTB4YWIwOSwgMHhhYjBlLAorCTB4YWIxMSwgMHhhYjE2LAorCTB4YWIyMCwgMHhhYjI2
LAorCTB4YWIyOCwgMHhhYjJlLAorCTB4YWIzMCwgMHhhYjVhLAorCTB4YWI1YywgMHhhYjY3LAor
CTB4YWI3MCwgMHhhYmUyLAorCTB4YWMwMCwgMHhkN2EzLAorCTB4ZDdiMCwgMHhkN2M2LAorCTB4
ZDdjYiwgMHhkN2ZiLAorCTB4ZjkwMCwgMHhmYTZkLAorCTB4ZmE3MCwgMHhmYWQ5LAorCTB4ZmIw
MCwgMHhmYjA2LAorCTB4ZmIxMywgMHhmYjE3LAorCTB4ZmIxZCwgMHhmYjFkLAorCTB4ZmIxZiwg
MHhmYjI4LAorCTB4ZmIyYSwgMHhmYjM2LAorCTB4ZmIzOCwgMHhmYjNjLAorCTB4ZmIzZSwgMHhm
YjNlLAorCTB4ZmI0MCwgMHhmYjQxLAorCTB4ZmI0MywgMHhmYjQ0LAorCTB4ZmI0NiwgMHhmYmIx
LAorCTB4ZmJkMywgMHhmZDNkLAorCTB4ZmQ1MCwgMHhmZDhmLAorCTB4ZmQ5MiwgMHhmZGM3LAor
CTB4ZmRmMCwgMHhmZGZiLAorCTB4ZmU3MCwgMHhmZTc0LAorCTB4ZmU3NiwgMHhmZWZjLAorCTB4
ZmYyMSwgMHhmZjNhLAorCTB4ZmY0MSwgMHhmZjVhLAorCTB4ZmY2NiwgMHhmZmJlLAorCTB4ZmZj
MiwgMHhmZmM3LAorCTB4ZmZjYSwgMHhmZmNmLAorCTB4ZmZkMiwgMHhmZmQ3LAorCTB4ZmZkYSwg
MHhmZmRjLAorCTB4MTAwMDAsIDB4MTAwMGIsCisJMHgxMDAwZCwgMHgxMDAyNiwKKwkweDEwMDI4
LCAweDEwMDNhLAorCTB4MTAwM2MsIDB4MTAwM2QsCisJMHgxMDAzZiwgMHgxMDA0ZCwKKwkweDEw
MDUwLCAweDEwMDVkLAorCTB4MTAwODAsIDB4MTAwZmEsCisJMHgxMDE0MCwgMHgxMDE3NCwKKwkw
eDEwMjgwLCAweDEwMjljLAorCTB4MTAyYTAsIDB4MTAyZDAsCisJMHgxMDMwMCwgMHgxMDMxZiwK
KwkweDEwMzJkLCAweDEwMzRhLAorCTB4MTAzNTAsIDB4MTAzNzUsCisJMHgxMDM4MCwgMHgxMDM5
ZCwKKwkweDEwM2EwLCAweDEwM2MzLAorCTB4MTAzYzgsIDB4MTAzY2YsCisJMHgxMDNkMSwgMHgx
MDNkNSwKKwkweDEwNDAwLCAweDEwNDlkLAorCTB4MTA0YjAsIDB4MTA0ZDMsCisJMHgxMDRkOCwg
MHgxMDRmYiwKKwkweDEwNTAwLCAweDEwNTI3LAorCTB4MTA1MzAsIDB4MTA1NjMsCisJMHgxMDYw
MCwgMHgxMDczNiwKKwkweDEwNzQwLCAweDEwNzU1LAorCTB4MTA3NjAsIDB4MTA3NjcsCisJMHgx
MDgwMCwgMHgxMDgwNSwKKwkweDEwODA4LCAweDEwODA4LAorCTB4MTA4MGEsIDB4MTA4MzUsCisJ
MHgxMDgzNywgMHgxMDgzOCwKKwkweDEwODNjLCAweDEwODNjLAorCTB4MTA4M2YsIDB4MTA4NTUs
CisJMHgxMDg2MCwgMHgxMDg3NiwKKwkweDEwODgwLCAweDEwODllLAorCTB4MTA4ZTAsIDB4MTA4
ZjIsCisJMHgxMDhmNCwgMHgxMDhmNSwKKwkweDEwOTAwLCAweDEwOTE1LAorCTB4MTA5MjAsIDB4
MTA5MzksCisJMHgxMDk4MCwgMHgxMDliNywKKwkweDEwOWJlLCAweDEwOWJmLAorCTB4MTBhMDAs
IDB4MTBhMDAsCisJMHgxMGExMCwgMHgxMGExMywKKwkweDEwYTE1LCAweDEwYTE3LAorCTB4MTBh
MTksIDB4MTBhMzUsCisJMHgxMGE2MCwgMHgxMGE3YywKKwkweDEwYTgwLCAweDEwYTljLAorCTB4
MTBhYzAsIDB4MTBhYzcsCisJMHgxMGFjOSwgMHgxMGFlNCwKKwkweDEwYjAwLCAweDEwYjM1LAor
CTB4MTBiNDAsIDB4MTBiNTUsCisJMHgxMGI2MCwgMHgxMGI3MiwKKwkweDEwYjgwLCAweDEwYjkx
LAorCTB4MTBjMDAsIDB4MTBjNDgsCisJMHgxMGM4MCwgMHgxMGNiMiwKKwkweDEwY2MwLCAweDEw
Y2YyLAorCTB4MTBkMDAsIDB4MTBkMjMsCisJMHgxMGYwMCwgMHgxMGYxYywKKwkweDEwZjI3LCAw
eDEwZjI3LAorCTB4MTBmMzAsIDB4MTBmNDUsCisJMHgxMGZlMCwgMHgxMGZmNiwKKwkweDExMDAz
LCAweDExMDM3LAorCTB4MTEwODMsIDB4MTEwYWYsCisJMHgxMTBkMCwgMHgxMTBlOCwKKwkweDEx
MTAzLCAweDExMTI2LAorCTB4MTExNDQsIDB4MTExNDQsCisJMHgxMTE1MCwgMHgxMTE3MiwKKwkw
eDExMTc2LCAweDExMTc2LAorCTB4MTExODMsIDB4MTExYjIsCisJMHgxMTFjMSwgMHgxMTFjNCwK
KwkweDExMWRhLCAweDExMWRhLAorCTB4MTExZGMsIDB4MTExZGMsCisJMHgxMTIwMCwgMHgxMTIx
MSwKKwkweDExMjEzLCAweDExMjJiLAorCTB4MTEyODAsIDB4MTEyODYsCisJMHgxMTI4OCwgMHgx
MTI4OCwKKwkweDExMjhhLCAweDExMjhkLAorCTB4MTEyOGYsIDB4MTEyOWQsCisJMHgxMTI5Ziwg
MHgxMTJhOCwKKwkweDExMmIwLCAweDExMmRlLAorCTB4MTEzMDUsIDB4MTEzMGMsCisJMHgxMTMw
ZiwgMHgxMTMxMCwKKwkweDExMzEzLCAweDExMzI4LAorCTB4MTEzMmEsIDB4MTEzMzAsCisJMHgx
MTMzMiwgMHgxMTMzMywKKwkweDExMzM1LCAweDExMzM5LAorCTB4MTEzM2QsIDB4MTEzM2QsCisJ
MHgxMTM1MCwgMHgxMTM1MCwKKwkweDExMzVkLCAweDExMzYxLAorCTB4MTE0MDAsIDB4MTE0MzQs
CisJMHgxMTQ0NywgMHgxMTQ0YSwKKwkweDExNDVmLCAweDExNDVmLAorCTB4MTE0ODAsIDB4MTE0
YWYsCisJMHgxMTRjNCwgMHgxMTRjNSwKKwkweDExNGM3LCAweDExNGM3LAorCTB4MTE1ODAsIDB4
MTE1YWUsCisJMHgxMTVkOCwgMHgxMTVkYiwKKwkweDExNjAwLCAweDExNjJmLAorCTB4MTE2NDQs
IDB4MTE2NDQsCisJMHgxMTY4MCwgMHgxMTZhYSwKKwkweDExNmI4LCAweDExNmI4LAorCTB4MTE3
MDAsIDB4MTE3MWEsCisJMHgxMTgwMCwgMHgxMTgyYiwKKwkweDExOGEwLCAweDExOGRmLAorCTB4
MTE4ZmYsIDB4MTE4ZmYsCisJMHgxMTlhMCwgMHgxMTlhNywKKwkweDExOWFhLCAweDExOWQwLAor
CTB4MTE5ZTEsIDB4MTE5ZTEsCisJMHgxMTllMywgMHgxMTllMywKKwkweDExYTAwLCAweDExYTAw
LAorCTB4MTFhMGIsIDB4MTFhMzIsCisJMHgxMWEzYSwgMHgxMWEzYSwKKwkweDExYTUwLCAweDEx
YTUwLAorCTB4MTFhNWMsIDB4MTFhODksCisJMHgxMWE5ZCwgMHgxMWE5ZCwKKwkweDExYWMwLCAw
eDExYWY4LAorCTB4MTFjMDAsIDB4MTFjMDgsCisJMHgxMWMwYSwgMHgxMWMyZSwKKwkweDExYzQw
LCAweDExYzQwLAorCTB4MTFjNzIsIDB4MTFjOGYsCisJMHgxMWQwMCwgMHgxMWQwNiwKKwkweDEx
ZDA4LCAweDExZDA5LAorCTB4MTFkMGIsIDB4MTFkMzAsCisJMHgxMWQ0NiwgMHgxMWQ0NiwKKwkw
eDExZDYwLCAweDExZDY1LAorCTB4MTFkNjcsIDB4MTFkNjgsCisJMHgxMWQ2YSwgMHgxMWQ4OSwK
KwkweDExZDk4LCAweDExZDk4LAorCTB4MTFlZTAsIDB4MTFlZjIsCisJMHgxMjAwMCwgMHgxMjM5
OSwKKwkweDEyNDAwLCAweDEyNDZlLAorCTB4MTI0ODAsIDB4MTI1NDMsCisJMHgxMzAwMCwgMHgx
MzQyZSwKKwkweDE0NDAwLCAweDE0NjQ2LAorCTB4MTY4MDAsIDB4MTZhMzgsCisJMHgxNmE0MCwg
MHgxNmE1ZSwKKwkweDE2YWQwLCAweDE2YWVkLAorCTB4MTZiMDAsIDB4MTZiMmYsCisJMHgxNmI0
MCwgMHgxNmI0MywKKwkweDE2YjYzLCAweDE2Yjc3LAorCTB4MTZiN2QsIDB4MTZiOGYsCisJMHgx
NmU0MCwgMHgxNmU3ZiwKKwkweDE2ZjAwLCAweDE2ZjRhLAorCTB4MTZmNTAsIDB4MTZmNTAsCisJ
MHgxNmY5MywgMHgxNmY5ZiwKKwkweDE2ZmUwLCAweDE2ZmUxLAorCTB4MTZmZTMsIDB4MTZmZTMs
CisJMHgxNzAwMCwgMHgxODdmNywKKwkweDE4ODAwLCAweDE4YWYyLAorCTB4MWIwMDAsIDB4MWIx
MWUsCisJMHgxYjE1MCwgMHgxYjE1MiwKKwkweDFiMTY0LCAweDFiMTY3LAorCTB4MWIxNzAsIDB4
MWIyZmIsCisJMHgxYmMwMCwgMHgxYmM2YSwKKwkweDFiYzcwLCAweDFiYzdjLAorCTB4MWJjODAs
IDB4MWJjODgsCisJMHgxYmM5MCwgMHgxYmM5OSwKKwkweDFkNDAwLCAweDFkNDU0LAorCTB4MWQ0
NTYsIDB4MWQ0OWMsCisJMHgxZDQ5ZSwgMHgxZDQ5ZiwKKwkweDFkNGEyLCAweDFkNGEyLAorCTB4
MWQ0YTUsIDB4MWQ0YTYsCisJMHgxZDRhOSwgMHgxZDRhYywKKwkweDFkNGFlLCAweDFkNGI5LAor
CTB4MWQ0YmIsIDB4MWQ0YmIsCisJMHgxZDRiZCwgMHgxZDRjMywKKwkweDFkNGM1LCAweDFkNTA1
LAorCTB4MWQ1MDcsIDB4MWQ1MGEsCisJMHgxZDUwZCwgMHgxZDUxNCwKKwkweDFkNTE2LCAweDFk
NTFjLAorCTB4MWQ1MWUsIDB4MWQ1MzksCisJMHgxZDUzYiwgMHgxZDUzZSwKKwkweDFkNTQwLCAw
eDFkNTQ0LAorCTB4MWQ1NDYsIDB4MWQ1NDYsCisJMHgxZDU0YSwgMHgxZDU1MCwKKwkweDFkNTUy
LCAweDFkNmE1LAorCTB4MWQ2YTgsIDB4MWQ2YzAsCisJMHgxZDZjMiwgMHgxZDZkYSwKKwkweDFk
NmRjLCAweDFkNmZhLAorCTB4MWQ2ZmMsIDB4MWQ3MTQsCisJMHgxZDcxNiwgMHgxZDczNCwKKwkw
eDFkNzM2LCAweDFkNzRlLAorCTB4MWQ3NTAsIDB4MWQ3NmUsCisJMHgxZDc3MCwgMHgxZDc4OCwK
KwkweDFkNzhhLCAweDFkN2E4LAorCTB4MWQ3YWEsIDB4MWQ3YzIsCisJMHgxZDdjNCwgMHgxZDdj
YiwKKwkweDFlMTAwLCAweDFlMTJjLAorCTB4MWUxMzcsIDB4MWUxM2QsCisJMHgxZTE0ZSwgMHgx
ZTE0ZSwKKwkweDFlMmMwLCAweDFlMmViLAorCTB4MWU4MDAsIDB4MWU4YzQsCisJMHgxZTkwMCwg
MHgxZTk0MywKKwkweDFlOTRiLCAweDFlOTRiLAorCTB4MWVlMDAsIDB4MWVlMDMsCisJMHgxZWUw
NSwgMHgxZWUxZiwKKwkweDFlZTIxLCAweDFlZTIyLAorCTB4MWVlMjQsIDB4MWVlMjQsCisJMHgx
ZWUyNywgMHgxZWUyNywKKwkweDFlZTI5LCAweDFlZTMyLAorCTB4MWVlMzQsIDB4MWVlMzcsCisJ
MHgxZWUzOSwgMHgxZWUzOSwKKwkweDFlZTNiLCAweDFlZTNiLAorCTB4MWVlNDIsIDB4MWVlNDIs
CisJMHgxZWU0NywgMHgxZWU0NywKKwkweDFlZTQ5LCAweDFlZTQ5LAorCTB4MWVlNGIsIDB4MWVl
NGIsCisJMHgxZWU0ZCwgMHgxZWU0ZiwKKwkweDFlZTUxLCAweDFlZTUyLAorCTB4MWVlNTQsIDB4
MWVlNTQsCisJMHgxZWU1NywgMHgxZWU1NywKKwkweDFlZTU5LCAweDFlZTU5LAorCTB4MWVlNWIs
IDB4MWVlNWIsCisJMHgxZWU1ZCwgMHgxZWU1ZCwKKwkweDFlZTVmLCAweDFlZTVmLAorCTB4MWVl
NjEsIDB4MWVlNjIsCisJMHgxZWU2NCwgMHgxZWU2NCwKKwkweDFlZTY3LCAweDFlZTZhLAorCTB4
MWVlNmMsIDB4MWVlNzIsCisJMHgxZWU3NCwgMHgxZWU3NywKKwkweDFlZTc5LCAweDFlZTdjLAor
CTB4MWVlN2UsIDB4MWVlN2UsCisJMHgxZWU4MCwgMHgxZWU4OSwKKwkweDFlZThiLCAweDFlZTli
LAorCTB4MWVlYTEsIDB4MWVlYTMsCisJMHgxZWVhNSwgMHgxZWVhOSwKKwkweDFlZWFiLCAweDFl
ZWJiLAorCTB4MjAwMDAsIDB4MmE2ZDYsCisJMHgyYTcwMCwgMHgyYjczNCwKKwkweDJiNzQwLCAw
eDJiODFkLAorCTB4MmI4MjAsIDB4MmNlYTEsCisJMHgyY2ViMCwgMHgyZWJlMCwKKwkweDJmODAw
LCAweDJmYTFkLAorfTsgLyogQ1JfSURfU3RhcnQgKi8KKworLyogJ0lEX0NvbnRpbnVlJzogRGVy
aXZlZCBQcm9wZXJ0eSAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSURfQ29udGlu
dWVbXSA9IHsKKwk3MTMsCisJMHgwMDMwLCAweDAwMzksCisJMHgwMDQxLCAweDAwNWEsCisJMHgw
MDVmLCAweDAwNWYsCisJMHgwMDYxLCAweDAwN2EsCisJMHgwMGFhLCAweDAwYWEsCisJMHgwMGI1
LCAweDAwYjUsCisJMHgwMGI3LCAweDAwYjcsCisJMHgwMGJhLCAweDAwYmEsCisJMHgwMGMwLCAw
eDAwZDYsCisJMHgwMGQ4LCAweDAwZjYsCisJMHgwMGY4LCAweDAyYzEsCisJMHgwMmM2LCAweDAy
ZDEsCisJMHgwMmUwLCAweDAyZTQsCisJMHgwMmVjLCAweDAyZWMsCisJMHgwMmVlLCAweDAyZWUs
CisJMHgwMzAwLCAweDAzNzQsCisJMHgwMzc2LCAweDAzNzcsCisJMHgwMzdhLCAweDAzN2QsCisJ
MHgwMzdmLCAweDAzN2YsCisJMHgwMzg2LCAweDAzOGEsCisJMHgwMzhjLCAweDAzOGMsCisJMHgw
MzhlLCAweDAzYTEsCisJMHgwM2EzLCAweDAzZjUsCisJMHgwM2Y3LCAweDA0ODEsCisJMHgwNDgz
LCAweDA0ODcsCisJMHgwNDhhLCAweDA1MmYsCisJMHgwNTMxLCAweDA1NTYsCisJMHgwNTU5LCAw
eDA1NTksCisJMHgwNTYwLCAweDA1ODgsCisJMHgwNTkxLCAweDA1YmQsCisJMHgwNWJmLCAweDA1
YmYsCisJMHgwNWMxLCAweDA1YzIsCisJMHgwNWM0LCAweDA1YzUsCisJMHgwNWM3LCAweDA1Yzcs
CisJMHgwNWQwLCAweDA1ZWEsCisJMHgwNWVmLCAweDA1ZjIsCisJMHgwNjEwLCAweDA2MWEsCisJ
MHgwNjIwLCAweDA2NjksCisJMHgwNjZlLCAweDA2ZDMsCisJMHgwNmQ1LCAweDA2ZGMsCisJMHgw
NmRmLCAweDA2ZTgsCisJMHgwNmVhLCAweDA2ZmMsCisJMHgwNmZmLCAweDA2ZmYsCisJMHgwNzEw
LCAweDA3NGEsCisJMHgwNzRkLCAweDA3YjEsCisJMHgwN2MwLCAweDA3ZjUsCisJMHgwN2ZhLCAw
eDA3ZmEsCisJMHgwN2ZkLCAweDA3ZmQsCisJMHgwODAwLCAweDA4MmQsCisJMHgwODQwLCAweDA4
NWIsCisJMHgwODYwLCAweDA4NmEsCisJMHgwOGEwLCAweDA4YjQsCisJMHgwOGI2LCAweDA4YmQs
CisJMHgwOGQzLCAweDA4ZTEsCisJMHgwOGUzLCAweDA5NjMsCisJMHgwOTY2LCAweDA5NmYsCisJ
MHgwOTcxLCAweDA5ODMsCisJMHgwOTg1LCAweDA5OGMsCisJMHgwOThmLCAweDA5OTAsCisJMHgw
OTkzLCAweDA5YTgsCisJMHgwOWFhLCAweDA5YjAsCisJMHgwOWIyLCAweDA5YjIsCisJMHgwOWI2
LCAweDA5YjksCisJMHgwOWJjLCAweDA5YzQsCisJMHgwOWM3LCAweDA5YzgsCisJMHgwOWNiLCAw
eDA5Y2UsCisJMHgwOWQ3LCAweDA5ZDcsCisJMHgwOWRjLCAweDA5ZGQsCisJMHgwOWRmLCAweDA5
ZTMsCisJMHgwOWU2LCAweDA5ZjEsCisJMHgwOWZjLCAweDA5ZmMsCisJMHgwOWZlLCAweDA5ZmUs
CisJMHgwYTAxLCAweDBhMDMsCisJMHgwYTA1LCAweDBhMGEsCisJMHgwYTBmLCAweDBhMTAsCisJ
MHgwYTEzLCAweDBhMjgsCisJMHgwYTJhLCAweDBhMzAsCisJMHgwYTMyLCAweDBhMzMsCisJMHgw
YTM1LCAweDBhMzYsCisJMHgwYTM4LCAweDBhMzksCisJMHgwYTNjLCAweDBhM2MsCisJMHgwYTNl
LCAweDBhNDIsCisJMHgwYTQ3LCAweDBhNDgsCisJMHgwYTRiLCAweDBhNGQsCisJMHgwYTUxLCAw
eDBhNTEsCisJMHgwYTU5LCAweDBhNWMsCisJMHgwYTVlLCAweDBhNWUsCisJMHgwYTY2LCAweDBh
NzUsCisJMHgwYTgxLCAweDBhODMsCisJMHgwYTg1LCAweDBhOGQsCisJMHgwYThmLCAweDBhOTEs
CisJMHgwYTkzLCAweDBhYTgsCisJMHgwYWFhLCAweDBhYjAsCisJMHgwYWIyLCAweDBhYjMsCisJ
MHgwYWI1LCAweDBhYjksCisJMHgwYWJjLCAweDBhYzUsCisJMHgwYWM3LCAweDBhYzksCisJMHgw
YWNiLCAweDBhY2QsCisJMHgwYWQwLCAweDBhZDAsCisJMHgwYWUwLCAweDBhZTMsCisJMHgwYWU2
LCAweDBhZWYsCisJMHgwYWY5LCAweDBhZmYsCisJMHgwYjAxLCAweDBiMDMsCisJMHgwYjA1LCAw
eDBiMGMsCisJMHgwYjBmLCAweDBiMTAsCisJMHgwYjEzLCAweDBiMjgsCisJMHgwYjJhLCAweDBi
MzAsCisJMHgwYjMyLCAweDBiMzMsCisJMHgwYjM1LCAweDBiMzksCisJMHgwYjNjLCAweDBiNDQs
CisJMHgwYjQ3LCAweDBiNDgsCisJMHgwYjRiLCAweDBiNGQsCisJMHgwYjU2LCAweDBiNTcsCisJ
MHgwYjVjLCAweDBiNWQsCisJMHgwYjVmLCAweDBiNjMsCisJMHgwYjY2LCAweDBiNmYsCisJMHgw
YjcxLCAweDBiNzEsCisJMHgwYjgyLCAweDBiODMsCisJMHgwYjg1LCAweDBiOGEsCisJMHgwYjhl
LCAweDBiOTAsCisJMHgwYjkyLCAweDBiOTUsCisJMHgwYjk5LCAweDBiOWEsCisJMHgwYjljLCAw
eDBiOWMsCisJMHgwYjllLCAweDBiOWYsCisJMHgwYmEzLCAweDBiYTQsCisJMHgwYmE4LCAweDBi
YWEsCisJMHgwYmFlLCAweDBiYjksCisJMHgwYmJlLCAweDBiYzIsCisJMHgwYmM2LCAweDBiYzgs
CisJMHgwYmNhLCAweDBiY2QsCisJMHgwYmQwLCAweDBiZDAsCisJMHgwYmQ3LCAweDBiZDcsCisJ
MHgwYmU2LCAweDBiZWYsCisJMHgwYzAwLCAweDBjMGMsCisJMHgwYzBlLCAweDBjMTAsCisJMHgw
YzEyLCAweDBjMjgsCisJMHgwYzJhLCAweDBjMzksCisJMHgwYzNkLCAweDBjNDQsCisJMHgwYzQ2
LCAweDBjNDgsCisJMHgwYzRhLCAweDBjNGQsCisJMHgwYzU1LCAweDBjNTYsCisJMHgwYzU4LCAw
eDBjNWEsCisJMHgwYzYwLCAweDBjNjMsCisJMHgwYzY2LCAweDBjNmYsCisJMHgwYzgwLCAweDBj
ODMsCisJMHgwYzg1LCAweDBjOGMsCisJMHgwYzhlLCAweDBjOTAsCisJMHgwYzkyLCAweDBjYTgs
CisJMHgwY2FhLCAweDBjYjMsCisJMHgwY2I1LCAweDBjYjksCisJMHgwY2JjLCAweDBjYzQsCisJ
MHgwY2M2LCAweDBjYzgsCisJMHgwY2NhLCAweDBjY2QsCisJMHgwY2Q1LCAweDBjZDYsCisJMHgw
Y2RlLCAweDBjZGUsCisJMHgwY2UwLCAweDBjZTMsCisJMHgwY2U2LCAweDBjZWYsCisJMHgwY2Yx
LCAweDBjZjIsCisJMHgwZDAwLCAweDBkMDMsCisJMHgwZDA1LCAweDBkMGMsCisJMHgwZDBlLCAw
eDBkMTAsCisJMHgwZDEyLCAweDBkNDQsCisJMHgwZDQ2LCAweDBkNDgsCisJMHgwZDRhLCAweDBk
NGUsCisJMHgwZDU0LCAweDBkNTcsCisJMHgwZDVmLCAweDBkNjMsCisJMHgwZDY2LCAweDBkNmYs
CisJMHgwZDdhLCAweDBkN2YsCisJMHgwZDgyLCAweDBkODMsCisJMHgwZDg1LCAweDBkOTYsCisJ
MHgwZDlhLCAweDBkYjEsCisJMHgwZGIzLCAweDBkYmIsCisJMHgwZGJkLCAweDBkYmQsCisJMHgw
ZGMwLCAweDBkYzYsCisJMHgwZGNhLCAweDBkY2EsCisJMHgwZGNmLCAweDBkZDQsCisJMHgwZGQ2
LCAweDBkZDYsCisJMHgwZGQ4LCAweDBkZGYsCisJMHgwZGU2LCAweDBkZWYsCisJMHgwZGYyLCAw
eDBkZjMsCisJMHgwZTAxLCAweDBlM2EsCisJMHgwZTQwLCAweDBlNGUsCisJMHgwZTUwLCAweDBl
NTksCisJMHgwZTgxLCAweDBlODIsCisJMHgwZTg0LCAweDBlODQsCisJMHgwZTg2LCAweDBlOGEs
CisJMHgwZThjLCAweDBlYTMsCisJMHgwZWE1LCAweDBlYTUsCisJMHgwZWE3LCAweDBlYmQsCisJ
MHgwZWMwLCAweDBlYzQsCisJMHgwZWM2LCAweDBlYzYsCisJMHgwZWM4LCAweDBlY2QsCisJMHgw
ZWQwLCAweDBlZDksCisJMHgwZWRjLCAweDBlZGYsCisJMHgwZjAwLCAweDBmMDAsCisJMHgwZjE4
LCAweDBmMTksCisJMHgwZjIwLCAweDBmMjksCisJMHgwZjM1LCAweDBmMzUsCisJMHgwZjM3LCAw
eDBmMzcsCisJMHgwZjM5LCAweDBmMzksCisJMHgwZjNlLCAweDBmNDcsCisJMHgwZjQ5LCAweDBm
NmMsCisJMHgwZjcxLCAweDBmODQsCisJMHgwZjg2LCAweDBmOTcsCisJMHgwZjk5LCAweDBmYmMs
CisJMHgwZmM2LCAweDBmYzYsCisJMHgxMDAwLCAweDEwNDksCisJMHgxMDUwLCAweDEwOWQsCisJ
MHgxMGEwLCAweDEwYzUsCisJMHgxMGM3LCAweDEwYzcsCisJMHgxMGNkLCAweDEwY2QsCisJMHgx
MGQwLCAweDEwZmEsCisJMHgxMGZjLCAweDEyNDgsCisJMHgxMjRhLCAweDEyNGQsCisJMHgxMjUw
LCAweDEyNTYsCisJMHgxMjU4LCAweDEyNTgsCisJMHgxMjVhLCAweDEyNWQsCisJMHgxMjYwLCAw
eDEyODgsCisJMHgxMjhhLCAweDEyOGQsCisJMHgxMjkwLCAweDEyYjAsCisJMHgxMmIyLCAweDEy
YjUsCisJMHgxMmI4LCAweDEyYmUsCisJMHgxMmMwLCAweDEyYzAsCisJMHgxMmMyLCAweDEyYzUs
CisJMHgxMmM4LCAweDEyZDYsCisJMHgxMmQ4LCAweDEzMTAsCisJMHgxMzEyLCAweDEzMTUsCisJ
MHgxMzE4LCAweDEzNWEsCisJMHgxMzVkLCAweDEzNWYsCisJMHgxMzY5LCAweDEzNzEsCisJMHgx
MzgwLCAweDEzOGYsCisJMHgxM2EwLCAweDEzZjUsCisJMHgxM2Y4LCAweDEzZmQsCisJMHgxNDAx
LCAweDE2NmMsCisJMHgxNjZmLCAweDE2N2YsCisJMHgxNjgxLCAweDE2OWEsCisJMHgxNmEwLCAw
eDE2ZWEsCisJMHgxNmVlLCAweDE2ZjgsCisJMHgxNzAwLCAweDE3MGMsCisJMHgxNzBlLCAweDE3
MTQsCisJMHgxNzIwLCAweDE3MzQsCisJMHgxNzQwLCAweDE3NTMsCisJMHgxNzYwLCAweDE3NmMs
CisJMHgxNzZlLCAweDE3NzAsCisJMHgxNzcyLCAweDE3NzMsCisJMHgxNzgwLCAweDE3ZDMsCisJ
MHgxN2Q3LCAweDE3ZDcsCisJMHgxN2RjLCAweDE3ZGQsCisJMHgxN2UwLCAweDE3ZTksCisJMHgx
ODBiLCAweDE4MGQsCisJMHgxODEwLCAweDE4MTksCisJMHgxODIwLCAweDE4NzgsCisJMHgxODgw
LCAweDE4YWEsCisJMHgxOGIwLCAweDE4ZjUsCisJMHgxOTAwLCAweDE5MWUsCisJMHgxOTIwLCAw
eDE5MmIsCisJMHgxOTMwLCAweDE5M2IsCisJMHgxOTQ2LCAweDE5NmQsCisJMHgxOTcwLCAweDE5
NzQsCisJMHgxOTgwLCAweDE5YWIsCisJMHgxOWIwLCAweDE5YzksCisJMHgxOWQwLCAweDE5ZGEs
CisJMHgxYTAwLCAweDFhMWIsCisJMHgxYTIwLCAweDFhNWUsCisJMHgxYTYwLCAweDFhN2MsCisJ
MHgxYTdmLCAweDFhODksCisJMHgxYTkwLCAweDFhOTksCisJMHgxYWE3LCAweDFhYTcsCisJMHgx
YWIwLCAweDFhYmQsCisJMHgxYjAwLCAweDFiNGIsCisJMHgxYjUwLCAweDFiNTksCisJMHgxYjZi
LCAweDFiNzMsCisJMHgxYjgwLCAweDFiZjMsCisJMHgxYzAwLCAweDFjMzcsCisJMHgxYzQwLCAw
eDFjNDksCisJMHgxYzRkLCAweDFjN2QsCisJMHgxYzgwLCAweDFjODgsCisJMHgxYzkwLCAweDFj
YmEsCisJMHgxY2JkLCAweDFjYmYsCisJMHgxY2QwLCAweDFjZDIsCisJMHgxY2Q0LCAweDFjZmEs
CisJMHgxZDAwLCAweDFkZjksCisJMHgxZGZiLCAweDFmMTUsCisJMHgxZjE4LCAweDFmMWQsCisJ
MHgxZjIwLCAweDFmNDUsCisJMHgxZjQ4LCAweDFmNGQsCisJMHgxZjUwLCAweDFmNTcsCisJMHgx
ZjU5LCAweDFmNTksCisJMHgxZjViLCAweDFmNWIsCisJMHgxZjVkLCAweDFmNWQsCisJMHgxZjVm
LCAweDFmN2QsCisJMHgxZjgwLCAweDFmYjQsCisJMHgxZmI2LCAweDFmYmMsCisJMHgxZmJlLCAw
eDFmYmUsCisJMHgxZmMyLCAweDFmYzQsCisJMHgxZmM2LCAweDFmY2MsCisJMHgxZmQwLCAweDFm
ZDMsCisJMHgxZmQ2LCAweDFmZGIsCisJMHgxZmUwLCAweDFmZWMsCisJMHgxZmYyLCAweDFmZjQs
CisJMHgxZmY2LCAweDFmZmMsCisJMHgyMDNmLCAweDIwNDAsCisJMHgyMDU0LCAweDIwNTQsCisJ
MHgyMDcxLCAweDIwNzEsCisJMHgyMDdmLCAweDIwN2YsCisJMHgyMDkwLCAweDIwOWMsCisJMHgy
MGQwLCAweDIwZGMsCisJMHgyMGUxLCAweDIwZTEsCisJMHgyMGU1LCAweDIwZjAsCisJMHgyMTAy
LCAweDIxMDIsCisJMHgyMTA3LCAweDIxMDcsCisJMHgyMTBhLCAweDIxMTMsCisJMHgyMTE1LCAw
eDIxMTUsCisJMHgyMTE4LCAweDIxMWQsCisJMHgyMTI0LCAweDIxMjQsCisJMHgyMTI2LCAweDIx
MjYsCisJMHgyMTI4LCAweDIxMjgsCisJMHgyMTJhLCAweDIxMzksCisJMHgyMTNjLCAweDIxM2Ys
CisJMHgyMTQ1LCAweDIxNDksCisJMHgyMTRlLCAweDIxNGUsCisJMHgyMTYwLCAweDIxODgsCisJ
MHgyYzAwLCAweDJjMmUsCisJMHgyYzMwLCAweDJjNWUsCisJMHgyYzYwLCAweDJjZTQsCisJMHgy
Y2ViLCAweDJjZjMsCisJMHgyZDAwLCAweDJkMjUsCisJMHgyZDI3LCAweDJkMjcsCisJMHgyZDJk
LCAweDJkMmQsCisJMHgyZDMwLCAweDJkNjcsCisJMHgyZDZmLCAweDJkNmYsCisJMHgyZDdmLCAw
eDJkOTYsCisJMHgyZGEwLCAweDJkYTYsCisJMHgyZGE4LCAweDJkYWUsCisJMHgyZGIwLCAweDJk
YjYsCisJMHgyZGI4LCAweDJkYmUsCisJMHgyZGMwLCAweDJkYzYsCisJMHgyZGM4LCAweDJkY2Us
CisJMHgyZGQwLCAweDJkZDYsCisJMHgyZGQ4LCAweDJkZGUsCisJMHgyZGUwLCAweDJkZmYsCisJ
MHgzMDA1LCAweDMwMDcsCisJMHgzMDIxLCAweDMwMmYsCisJMHgzMDMxLCAweDMwMzUsCisJMHgz
MDM4LCAweDMwM2MsCisJMHgzMDQxLCAweDMwOTYsCisJMHgzMDk5LCAweDMwOWYsCisJMHgzMGEx
LCAweDMwZmEsCisJMHgzMGZjLCAweDMwZmYsCisJMHgzMTA1LCAweDMxMmYsCisJMHgzMTMxLCAw
eDMxOGUsCisJMHgzMWEwLCAweDMxYmEsCisJMHgzMWYwLCAweDMxZmYsCisJMHgzNDAwLCAweDRk
YjUsCisJMHg0ZTAwLCAweDlmZWYsCisJMHhhMDAwLCAweGE0OGMsCisJMHhhNGQwLCAweGE0ZmQs
CisJMHhhNTAwLCAweGE2MGMsCisJMHhhNjEwLCAweGE2MmIsCisJMHhhNjQwLCAweGE2NmYsCisJ
MHhhNjc0LCAweGE2N2QsCisJMHhhNjdmLCAweGE2ZjEsCisJMHhhNzE3LCAweGE3MWYsCisJMHhh
NzIyLCAweGE3ODgsCisJMHhhNzhiLCAweGE3YmYsCisJMHhhN2MyLCAweGE3YzYsCisJMHhhN2Y3
LCAweGE4MjcsCisJMHhhODQwLCAweGE4NzMsCisJMHhhODgwLCAweGE4YzUsCisJMHhhOGQwLCAw
eGE4ZDksCisJMHhhOGUwLCAweGE4ZjcsCisJMHhhOGZiLCAweGE4ZmIsCisJMHhhOGZkLCAweGE5
MmQsCisJMHhhOTMwLCAweGE5NTMsCisJMHhhOTYwLCAweGE5N2MsCisJMHhhOTgwLCAweGE5YzAs
CisJMHhhOWNmLCAweGE5ZDksCisJMHhhOWUwLCAweGE5ZmUsCisJMHhhYTAwLCAweGFhMzYsCisJ
MHhhYTQwLCAweGFhNGQsCisJMHhhYTUwLCAweGFhNTksCisJMHhhYTYwLCAweGFhNzYsCisJMHhh
YTdhLCAweGFhYzIsCisJMHhhYWRiLCAweGFhZGQsCisJMHhhYWUwLCAweGFhZWYsCisJMHhhYWYy
LCAweGFhZjYsCisJMHhhYjAxLCAweGFiMDYsCisJMHhhYjA5LCAweGFiMGUsCisJMHhhYjExLCAw
eGFiMTYsCisJMHhhYjIwLCAweGFiMjYsCisJMHhhYjI4LCAweGFiMmUsCisJMHhhYjMwLCAweGFi
NWEsCisJMHhhYjVjLCAweGFiNjcsCisJMHhhYjcwLCAweGFiZWEsCisJMHhhYmVjLCAweGFiZWQs
CisJMHhhYmYwLCAweGFiZjksCisJMHhhYzAwLCAweGQ3YTMsCisJMHhkN2IwLCAweGQ3YzYsCisJ
MHhkN2NiLCAweGQ3ZmIsCisJMHhmOTAwLCAweGZhNmQsCisJMHhmYTcwLCAweGZhZDksCisJMHhm
YjAwLCAweGZiMDYsCisJMHhmYjEzLCAweGZiMTcsCisJMHhmYjFkLCAweGZiMjgsCisJMHhmYjJh
LCAweGZiMzYsCisJMHhmYjM4LCAweGZiM2MsCisJMHhmYjNlLCAweGZiM2UsCisJMHhmYjQwLCAw
eGZiNDEsCisJMHhmYjQzLCAweGZiNDQsCisJMHhmYjQ2LCAweGZiYjEsCisJMHhmYmQzLCAweGZk
M2QsCisJMHhmZDUwLCAweGZkOGYsCisJMHhmZDkyLCAweGZkYzcsCisJMHhmZGYwLCAweGZkZmIs
CisJMHhmZTAwLCAweGZlMGYsCisJMHhmZTIwLCAweGZlMmYsCisJMHhmZTMzLCAweGZlMzQsCisJ
MHhmZTRkLCAweGZlNGYsCisJMHhmZTcwLCAweGZlNzQsCisJMHhmZTc2LCAweGZlZmMsCisJMHhm
ZjEwLCAweGZmMTksCisJMHhmZjIxLCAweGZmM2EsCisJMHhmZjNmLCAweGZmM2YsCisJMHhmZjQx
LCAweGZmNWEsCisJMHhmZjY2LCAweGZmYmUsCisJMHhmZmMyLCAweGZmYzcsCisJMHhmZmNhLCAw
eGZmY2YsCisJMHhmZmQyLCAweGZmZDcsCisJMHhmZmRhLCAweGZmZGMsCisJMHgxMDAwMCwgMHgx
MDAwYiwKKwkweDEwMDBkLCAweDEwMDI2LAorCTB4MTAwMjgsIDB4MTAwM2EsCisJMHgxMDAzYywg
MHgxMDAzZCwKKwkweDEwMDNmLCAweDEwMDRkLAorCTB4MTAwNTAsIDB4MTAwNWQsCisJMHgxMDA4
MCwgMHgxMDBmYSwKKwkweDEwMTQwLCAweDEwMTc0LAorCTB4MTAxZmQsIDB4MTAxZmQsCisJMHgx
MDI4MCwgMHgxMDI5YywKKwkweDEwMmEwLCAweDEwMmQwLAorCTB4MTAyZTAsIDB4MTAyZTAsCisJ
MHgxMDMwMCwgMHgxMDMxZiwKKwkweDEwMzJkLCAweDEwMzRhLAorCTB4MTAzNTAsIDB4MTAzN2Es
CisJMHgxMDM4MCwgMHgxMDM5ZCwKKwkweDEwM2EwLCAweDEwM2MzLAorCTB4MTAzYzgsIDB4MTAz
Y2YsCisJMHgxMDNkMSwgMHgxMDNkNSwKKwkweDEwNDAwLCAweDEwNDlkLAorCTB4MTA0YTAsIDB4
MTA0YTksCisJMHgxMDRiMCwgMHgxMDRkMywKKwkweDEwNGQ4LCAweDEwNGZiLAorCTB4MTA1MDAs
IDB4MTA1MjcsCisJMHgxMDUzMCwgMHgxMDU2MywKKwkweDEwNjAwLCAweDEwNzM2LAorCTB4MTA3
NDAsIDB4MTA3NTUsCisJMHgxMDc2MCwgMHgxMDc2NywKKwkweDEwODAwLCAweDEwODA1LAorCTB4
MTA4MDgsIDB4MTA4MDgsCisJMHgxMDgwYSwgMHgxMDgzNSwKKwkweDEwODM3LCAweDEwODM4LAor
CTB4MTA4M2MsIDB4MTA4M2MsCisJMHgxMDgzZiwgMHgxMDg1NSwKKwkweDEwODYwLCAweDEwODc2
LAorCTB4MTA4ODAsIDB4MTA4OWUsCisJMHgxMDhlMCwgMHgxMDhmMiwKKwkweDEwOGY0LCAweDEw
OGY1LAorCTB4MTA5MDAsIDB4MTA5MTUsCisJMHgxMDkyMCwgMHgxMDkzOSwKKwkweDEwOTgwLCAw
eDEwOWI3LAorCTB4MTA5YmUsIDB4MTA5YmYsCisJMHgxMGEwMCwgMHgxMGEwMywKKwkweDEwYTA1
LCAweDEwYTA2LAorCTB4MTBhMGMsIDB4MTBhMTMsCisJMHgxMGExNSwgMHgxMGExNywKKwkweDEw
YTE5LCAweDEwYTM1LAorCTB4MTBhMzgsIDB4MTBhM2EsCisJMHgxMGEzZiwgMHgxMGEzZiwKKwkw
eDEwYTYwLCAweDEwYTdjLAorCTB4MTBhODAsIDB4MTBhOWMsCisJMHgxMGFjMCwgMHgxMGFjNywK
KwkweDEwYWM5LCAweDEwYWU2LAorCTB4MTBiMDAsIDB4MTBiMzUsCisJMHgxMGI0MCwgMHgxMGI1
NSwKKwkweDEwYjYwLCAweDEwYjcyLAorCTB4MTBiODAsIDB4MTBiOTEsCisJMHgxMGMwMCwgMHgx
MGM0OCwKKwkweDEwYzgwLCAweDEwY2IyLAorCTB4MTBjYzAsIDB4MTBjZjIsCisJMHgxMGQwMCwg
MHgxMGQyNywKKwkweDEwZDMwLCAweDEwZDM5LAorCTB4MTBmMDAsIDB4MTBmMWMsCisJMHgxMGYy
NywgMHgxMGYyNywKKwkweDEwZjMwLCAweDEwZjUwLAorCTB4MTBmZTAsIDB4MTBmZjYsCisJMHgx
MTAwMCwgMHgxMTA0NiwKKwkweDExMDY2LCAweDExMDZmLAorCTB4MTEwN2YsIDB4MTEwYmEsCisJ
MHgxMTBkMCwgMHgxMTBlOCwKKwkweDExMGYwLCAweDExMGY5LAorCTB4MTExMDAsIDB4MTExMzQs
CisJMHgxMTEzNiwgMHgxMTEzZiwKKwkweDExMTQ0LCAweDExMTQ2LAorCTB4MTExNTAsIDB4MTEx
NzMsCisJMHgxMTE3NiwgMHgxMTE3NiwKKwkweDExMTgwLCAweDExMWM0LAorCTB4MTExYzksIDB4
MTExY2MsCisJMHgxMTFkMCwgMHgxMTFkYSwKKwkweDExMWRjLCAweDExMWRjLAorCTB4MTEyMDAs
IDB4MTEyMTEsCisJMHgxMTIxMywgMHgxMTIzNywKKwkweDExMjNlLCAweDExMjNlLAorCTB4MTEy
ODAsIDB4MTEyODYsCisJMHgxMTI4OCwgMHgxMTI4OCwKKwkweDExMjhhLCAweDExMjhkLAorCTB4
MTEyOGYsIDB4MTEyOWQsCisJMHgxMTI5ZiwgMHgxMTJhOCwKKwkweDExMmIwLCAweDExMmVhLAor
CTB4MTEyZjAsIDB4MTEyZjksCisJMHgxMTMwMCwgMHgxMTMwMywKKwkweDExMzA1LCAweDExMzBj
LAorCTB4MTEzMGYsIDB4MTEzMTAsCisJMHgxMTMxMywgMHgxMTMyOCwKKwkweDExMzJhLCAweDEx
MzMwLAorCTB4MTEzMzIsIDB4MTEzMzMsCisJMHgxMTMzNSwgMHgxMTMzOSwKKwkweDExMzNiLCAw
eDExMzQ0LAorCTB4MTEzNDcsIDB4MTEzNDgsCisJMHgxMTM0YiwgMHgxMTM0ZCwKKwkweDExMzUw
LCAweDExMzUwLAorCTB4MTEzNTcsIDB4MTEzNTcsCisJMHgxMTM1ZCwgMHgxMTM2MywKKwkweDEx
MzY2LCAweDExMzZjLAorCTB4MTEzNzAsIDB4MTEzNzQsCisJMHgxMTQwMCwgMHgxMTQ0YSwKKwkw
eDExNDUwLCAweDExNDU5LAorCTB4MTE0NWUsIDB4MTE0NWYsCisJMHgxMTQ4MCwgMHgxMTRjNSwK
KwkweDExNGM3LCAweDExNGM3LAorCTB4MTE0ZDAsIDB4MTE0ZDksCisJMHgxMTU4MCwgMHgxMTVi
NSwKKwkweDExNWI4LCAweDExNWMwLAorCTB4MTE1ZDgsIDB4MTE1ZGQsCisJMHgxMTYwMCwgMHgx
MTY0MCwKKwkweDExNjQ0LCAweDExNjQ0LAorCTB4MTE2NTAsIDB4MTE2NTksCisJMHgxMTY4MCwg
MHgxMTZiOCwKKwkweDExNmMwLCAweDExNmM5LAorCTB4MTE3MDAsIDB4MTE3MWEsCisJMHgxMTcx
ZCwgMHgxMTcyYiwKKwkweDExNzMwLCAweDExNzM5LAorCTB4MTE4MDAsIDB4MTE4M2EsCisJMHgx
MThhMCwgMHgxMThlOSwKKwkweDExOGZmLCAweDExOGZmLAorCTB4MTE5YTAsIDB4MTE5YTcsCisJ
MHgxMTlhYSwgMHgxMTlkNywKKwkweDExOWRhLCAweDExOWUxLAorCTB4MTE5ZTMsIDB4MTE5ZTQs
CisJMHgxMWEwMCwgMHgxMWEzZSwKKwkweDExYTQ3LCAweDExYTQ3LAorCTB4MTFhNTAsIDB4MTFh
OTksCisJMHgxMWE5ZCwgMHgxMWE5ZCwKKwkweDExYWMwLCAweDExYWY4LAorCTB4MTFjMDAsIDB4
MTFjMDgsCisJMHgxMWMwYSwgMHgxMWMzNiwKKwkweDExYzM4LCAweDExYzQwLAorCTB4MTFjNTAs
IDB4MTFjNTksCisJMHgxMWM3MiwgMHgxMWM4ZiwKKwkweDExYzkyLCAweDExY2E3LAorCTB4MTFj
YTksIDB4MTFjYjYsCisJMHgxMWQwMCwgMHgxMWQwNiwKKwkweDExZDA4LCAweDExZDA5LAorCTB4
MTFkMGIsIDB4MTFkMzYsCisJMHgxMWQzYSwgMHgxMWQzYSwKKwkweDExZDNjLCAweDExZDNkLAor
CTB4MTFkM2YsIDB4MTFkNDcsCisJMHgxMWQ1MCwgMHgxMWQ1OSwKKwkweDExZDYwLCAweDExZDY1
LAorCTB4MTFkNjcsIDB4MTFkNjgsCisJMHgxMWQ2YSwgMHgxMWQ4ZSwKKwkweDExZDkwLCAweDEx
ZDkxLAorCTB4MTFkOTMsIDB4MTFkOTgsCisJMHgxMWRhMCwgMHgxMWRhOSwKKwkweDExZWUwLCAw
eDExZWY2LAorCTB4MTIwMDAsIDB4MTIzOTksCisJMHgxMjQwMCwgMHgxMjQ2ZSwKKwkweDEyNDgw
LCAweDEyNTQzLAorCTB4MTMwMDAsIDB4MTM0MmUsCisJMHgxNDQwMCwgMHgxNDY0NiwKKwkweDE2
ODAwLCAweDE2YTM4LAorCTB4MTZhNDAsIDB4MTZhNWUsCisJMHgxNmE2MCwgMHgxNmE2OSwKKwkw
eDE2YWQwLCAweDE2YWVkLAorCTB4MTZhZjAsIDB4MTZhZjQsCisJMHgxNmIwMCwgMHgxNmIzNiwK
KwkweDE2YjQwLCAweDE2YjQzLAorCTB4MTZiNTAsIDB4MTZiNTksCisJMHgxNmI2MywgMHgxNmI3
NywKKwkweDE2YjdkLCAweDE2YjhmLAorCTB4MTZlNDAsIDB4MTZlN2YsCisJMHgxNmYwMCwgMHgx
NmY0YSwKKwkweDE2ZjRmLCAweDE2Zjg3LAorCTB4MTZmOGYsIDB4MTZmOWYsCisJMHgxNmZlMCwg
MHgxNmZlMSwKKwkweDE2ZmUzLCAweDE2ZmUzLAorCTB4MTcwMDAsIDB4MTg3ZjcsCisJMHgxODgw
MCwgMHgxOGFmMiwKKwkweDFiMDAwLCAweDFiMTFlLAorCTB4MWIxNTAsIDB4MWIxNTIsCisJMHgx
YjE2NCwgMHgxYjE2NywKKwkweDFiMTcwLCAweDFiMmZiLAorCTB4MWJjMDAsIDB4MWJjNmEsCisJ
MHgxYmM3MCwgMHgxYmM3YywKKwkweDFiYzgwLCAweDFiYzg4LAorCTB4MWJjOTAsIDB4MWJjOTks
CisJMHgxYmM5ZCwgMHgxYmM5ZSwKKwkweDFkMTY1LCAweDFkMTY5LAorCTB4MWQxNmQsIDB4MWQx
NzIsCisJMHgxZDE3YiwgMHgxZDE4MiwKKwkweDFkMTg1LCAweDFkMThiLAorCTB4MWQxYWEsIDB4
MWQxYWQsCisJMHgxZDI0MiwgMHgxZDI0NCwKKwkweDFkNDAwLCAweDFkNDU0LAorCTB4MWQ0NTYs
IDB4MWQ0OWMsCisJMHgxZDQ5ZSwgMHgxZDQ5ZiwKKwkweDFkNGEyLCAweDFkNGEyLAorCTB4MWQ0
YTUsIDB4MWQ0YTYsCisJMHgxZDRhOSwgMHgxZDRhYywKKwkweDFkNGFlLCAweDFkNGI5LAorCTB4
MWQ0YmIsIDB4MWQ0YmIsCisJMHgxZDRiZCwgMHgxZDRjMywKKwkweDFkNGM1LCAweDFkNTA1LAor
CTB4MWQ1MDcsIDB4MWQ1MGEsCisJMHgxZDUwZCwgMHgxZDUxNCwKKwkweDFkNTE2LCAweDFkNTFj
LAorCTB4MWQ1MWUsIDB4MWQ1MzksCisJMHgxZDUzYiwgMHgxZDUzZSwKKwkweDFkNTQwLCAweDFk
NTQ0LAorCTB4MWQ1NDYsIDB4MWQ1NDYsCisJMHgxZDU0YSwgMHgxZDU1MCwKKwkweDFkNTUyLCAw
eDFkNmE1LAorCTB4MWQ2YTgsIDB4MWQ2YzAsCisJMHgxZDZjMiwgMHgxZDZkYSwKKwkweDFkNmRj
LCAweDFkNmZhLAorCTB4MWQ2ZmMsIDB4MWQ3MTQsCisJMHgxZDcxNiwgMHgxZDczNCwKKwkweDFk
NzM2LCAweDFkNzRlLAorCTB4MWQ3NTAsIDB4MWQ3NmUsCisJMHgxZDc3MCwgMHgxZDc4OCwKKwkw
eDFkNzhhLCAweDFkN2E4LAorCTB4MWQ3YWEsIDB4MWQ3YzIsCisJMHgxZDdjNCwgMHgxZDdjYiwK
KwkweDFkN2NlLCAweDFkN2ZmLAorCTB4MWRhMDAsIDB4MWRhMzYsCisJMHgxZGEzYiwgMHgxZGE2
YywKKwkweDFkYTc1LCAweDFkYTc1LAorCTB4MWRhODQsIDB4MWRhODQsCisJMHgxZGE5YiwgMHgx
ZGE5ZiwKKwkweDFkYWExLCAweDFkYWFmLAorCTB4MWUwMDAsIDB4MWUwMDYsCisJMHgxZTAwOCwg
MHgxZTAxOCwKKwkweDFlMDFiLCAweDFlMDIxLAorCTB4MWUwMjMsIDB4MWUwMjQsCisJMHgxZTAy
NiwgMHgxZTAyYSwKKwkweDFlMTAwLCAweDFlMTJjLAorCTB4MWUxMzAsIDB4MWUxM2QsCisJMHgx
ZTE0MCwgMHgxZTE0OSwKKwkweDFlMTRlLCAweDFlMTRlLAorCTB4MWUyYzAsIDB4MWUyZjksCisJ
MHgxZTgwMCwgMHgxZThjNCwKKwkweDFlOGQwLCAweDFlOGQ2LAorCTB4MWU5MDAsIDB4MWU5NGIs
CisJMHgxZTk1MCwgMHgxZTk1OSwKKwkweDFlZTAwLCAweDFlZTAzLAorCTB4MWVlMDUsIDB4MWVl
MWYsCisJMHgxZWUyMSwgMHgxZWUyMiwKKwkweDFlZTI0LCAweDFlZTI0LAorCTB4MWVlMjcsIDB4
MWVlMjcsCisJMHgxZWUyOSwgMHgxZWUzMiwKKwkweDFlZTM0LCAweDFlZTM3LAorCTB4MWVlMzks
IDB4MWVlMzksCisJMHgxZWUzYiwgMHgxZWUzYiwKKwkweDFlZTQyLCAweDFlZTQyLAorCTB4MWVl
NDcsIDB4MWVlNDcsCisJMHgxZWU0OSwgMHgxZWU0OSwKKwkweDFlZTRiLCAweDFlZTRiLAorCTB4
MWVlNGQsIDB4MWVlNGYsCisJMHgxZWU1MSwgMHgxZWU1MiwKKwkweDFlZTU0LCAweDFlZTU0LAor
CTB4MWVlNTcsIDB4MWVlNTcsCisJMHgxZWU1OSwgMHgxZWU1OSwKKwkweDFlZTViLCAweDFlZTVi
LAorCTB4MWVlNWQsIDB4MWVlNWQsCisJMHgxZWU1ZiwgMHgxZWU1ZiwKKwkweDFlZTYxLCAweDFl
ZTYyLAorCTB4MWVlNjQsIDB4MWVlNjQsCisJMHgxZWU2NywgMHgxZWU2YSwKKwkweDFlZTZjLCAw
eDFlZTcyLAorCTB4MWVlNzQsIDB4MWVlNzcsCisJMHgxZWU3OSwgMHgxZWU3YywKKwkweDFlZTdl
LCAweDFlZTdlLAorCTB4MWVlODAsIDB4MWVlODksCisJMHgxZWU4YiwgMHgxZWU5YiwKKwkweDFl
ZWExLCAweDFlZWEzLAorCTB4MWVlYTUsIDB4MWVlYTksCisJMHgxZWVhYiwgMHgxZWViYiwKKwkw
eDIwMDAwLCAweDJhNmQ2LAorCTB4MmE3MDAsIDB4MmI3MzQsCisJMHgyYjc0MCwgMHgyYjgxZCwK
KwkweDJiODIwLCAweDJjZWExLAorCTB4MmNlYjAsIDB4MmViZTAsCisJMHgyZjgwMCwgMHgyZmEx
ZCwKKwkweGUwMTAwLCAweGUwMWVmLAorfTsgLyogQ1JfSURfQ29udGludWUgKi8KKworLyogJ1hJ
RF9TdGFydCc6IERlcml2ZWQgUHJvcGVydHkgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50
IENSX1hJRF9TdGFydFtdID0geworCTYxNiwKKwkweDAwNDEsIDB4MDA1YSwKKwkweDAwNjEsIDB4
MDA3YSwKKwkweDAwYWEsIDB4MDBhYSwKKwkweDAwYjUsIDB4MDBiNSwKKwkweDAwYmEsIDB4MDBi
YSwKKwkweDAwYzAsIDB4MDBkNiwKKwkweDAwZDgsIDB4MDBmNiwKKwkweDAwZjgsIDB4MDJjMSwK
KwkweDAyYzYsIDB4MDJkMSwKKwkweDAyZTAsIDB4MDJlNCwKKwkweDAyZWMsIDB4MDJlYywKKwkw
eDAyZWUsIDB4MDJlZSwKKwkweDAzNzAsIDB4MDM3NCwKKwkweDAzNzYsIDB4MDM3NywKKwkweDAz
N2IsIDB4MDM3ZCwKKwkweDAzN2YsIDB4MDM3ZiwKKwkweDAzODYsIDB4MDM4NiwKKwkweDAzODgs
IDB4MDM4YSwKKwkweDAzOGMsIDB4MDM4YywKKwkweDAzOGUsIDB4MDNhMSwKKwkweDAzYTMsIDB4
MDNmNSwKKwkweDAzZjcsIDB4MDQ4MSwKKwkweDA0OGEsIDB4MDUyZiwKKwkweDA1MzEsIDB4MDU1
NiwKKwkweDA1NTksIDB4MDU1OSwKKwkweDA1NjAsIDB4MDU4OCwKKwkweDA1ZDAsIDB4MDVlYSwK
KwkweDA1ZWYsIDB4MDVmMiwKKwkweDA2MjAsIDB4MDY0YSwKKwkweDA2NmUsIDB4MDY2ZiwKKwkw
eDA2NzEsIDB4MDZkMywKKwkweDA2ZDUsIDB4MDZkNSwKKwkweDA2ZTUsIDB4MDZlNiwKKwkweDA2
ZWUsIDB4MDZlZiwKKwkweDA2ZmEsIDB4MDZmYywKKwkweDA2ZmYsIDB4MDZmZiwKKwkweDA3MTAs
IDB4MDcxMCwKKwkweDA3MTIsIDB4MDcyZiwKKwkweDA3NGQsIDB4MDdhNSwKKwkweDA3YjEsIDB4
MDdiMSwKKwkweDA3Y2EsIDB4MDdlYSwKKwkweDA3ZjQsIDB4MDdmNSwKKwkweDA3ZmEsIDB4MDdm
YSwKKwkweDA4MDAsIDB4MDgxNSwKKwkweDA4MWEsIDB4MDgxYSwKKwkweDA4MjQsIDB4MDgyNCwK
KwkweDA4MjgsIDB4MDgyOCwKKwkweDA4NDAsIDB4MDg1OCwKKwkweDA4NjAsIDB4MDg2YSwKKwkw
eDA4YTAsIDB4MDhiNCwKKwkweDA4YjYsIDB4MDhiZCwKKwkweDA5MDQsIDB4MDkzOSwKKwkweDA5
M2QsIDB4MDkzZCwKKwkweDA5NTAsIDB4MDk1MCwKKwkweDA5NTgsIDB4MDk2MSwKKwkweDA5NzEs
IDB4MDk4MCwKKwkweDA5ODUsIDB4MDk4YywKKwkweDA5OGYsIDB4MDk5MCwKKwkweDA5OTMsIDB4
MDlhOCwKKwkweDA5YWEsIDB4MDliMCwKKwkweDA5YjIsIDB4MDliMiwKKwkweDA5YjYsIDB4MDli
OSwKKwkweDA5YmQsIDB4MDliZCwKKwkweDA5Y2UsIDB4MDljZSwKKwkweDA5ZGMsIDB4MDlkZCwK
KwkweDA5ZGYsIDB4MDllMSwKKwkweDA5ZjAsIDB4MDlmMSwKKwkweDA5ZmMsIDB4MDlmYywKKwkw
eDBhMDUsIDB4MGEwYSwKKwkweDBhMGYsIDB4MGExMCwKKwkweDBhMTMsIDB4MGEyOCwKKwkweDBh
MmEsIDB4MGEzMCwKKwkweDBhMzIsIDB4MGEzMywKKwkweDBhMzUsIDB4MGEzNiwKKwkweDBhMzgs
IDB4MGEzOSwKKwkweDBhNTksIDB4MGE1YywKKwkweDBhNWUsIDB4MGE1ZSwKKwkweDBhNzIsIDB4
MGE3NCwKKwkweDBhODUsIDB4MGE4ZCwKKwkweDBhOGYsIDB4MGE5MSwKKwkweDBhOTMsIDB4MGFh
OCwKKwkweDBhYWEsIDB4MGFiMCwKKwkweDBhYjIsIDB4MGFiMywKKwkweDBhYjUsIDB4MGFiOSwK
KwkweDBhYmQsIDB4MGFiZCwKKwkweDBhZDAsIDB4MGFkMCwKKwkweDBhZTAsIDB4MGFlMSwKKwkw
eDBhZjksIDB4MGFmOSwKKwkweDBiMDUsIDB4MGIwYywKKwkweDBiMGYsIDB4MGIxMCwKKwkweDBi
MTMsIDB4MGIyOCwKKwkweDBiMmEsIDB4MGIzMCwKKwkweDBiMzIsIDB4MGIzMywKKwkweDBiMzUs
IDB4MGIzOSwKKwkweDBiM2QsIDB4MGIzZCwKKwkweDBiNWMsIDB4MGI1ZCwKKwkweDBiNWYsIDB4
MGI2MSwKKwkweDBiNzEsIDB4MGI3MSwKKwkweDBiODMsIDB4MGI4MywKKwkweDBiODUsIDB4MGI4
YSwKKwkweDBiOGUsIDB4MGI5MCwKKwkweDBiOTIsIDB4MGI5NSwKKwkweDBiOTksIDB4MGI5YSwK
KwkweDBiOWMsIDB4MGI5YywKKwkweDBiOWUsIDB4MGI5ZiwKKwkweDBiYTMsIDB4MGJhNCwKKwkw
eDBiYTgsIDB4MGJhYSwKKwkweDBiYWUsIDB4MGJiOSwKKwkweDBiZDAsIDB4MGJkMCwKKwkweDBj
MDUsIDB4MGMwYywKKwkweDBjMGUsIDB4MGMxMCwKKwkweDBjMTIsIDB4MGMyOCwKKwkweDBjMmEs
IDB4MGMzOSwKKwkweDBjM2QsIDB4MGMzZCwKKwkweDBjNTgsIDB4MGM1YSwKKwkweDBjNjAsIDB4
MGM2MSwKKwkweDBjODAsIDB4MGM4MCwKKwkweDBjODUsIDB4MGM4YywKKwkweDBjOGUsIDB4MGM5
MCwKKwkweDBjOTIsIDB4MGNhOCwKKwkweDBjYWEsIDB4MGNiMywKKwkweDBjYjUsIDB4MGNiOSwK
KwkweDBjYmQsIDB4MGNiZCwKKwkweDBjZGUsIDB4MGNkZSwKKwkweDBjZTAsIDB4MGNlMSwKKwkw
eDBjZjEsIDB4MGNmMiwKKwkweDBkMDUsIDB4MGQwYywKKwkweDBkMGUsIDB4MGQxMCwKKwkweDBk
MTIsIDB4MGQzYSwKKwkweDBkM2QsIDB4MGQzZCwKKwkweDBkNGUsIDB4MGQ0ZSwKKwkweDBkNTQs
IDB4MGQ1NiwKKwkweDBkNWYsIDB4MGQ2MSwKKwkweDBkN2EsIDB4MGQ3ZiwKKwkweDBkODUsIDB4
MGQ5NiwKKwkweDBkOWEsIDB4MGRiMSwKKwkweDBkYjMsIDB4MGRiYiwKKwkweDBkYmQsIDB4MGRi
ZCwKKwkweDBkYzAsIDB4MGRjNiwKKwkweDBlMDEsIDB4MGUzMCwKKwkweDBlMzIsIDB4MGUzMiwK
KwkweDBlNDAsIDB4MGU0NiwKKwkweDBlODEsIDB4MGU4MiwKKwkweDBlODQsIDB4MGU4NCwKKwkw
eDBlODYsIDB4MGU4YSwKKwkweDBlOGMsIDB4MGVhMywKKwkweDBlYTUsIDB4MGVhNSwKKwkweDBl
YTcsIDB4MGViMCwKKwkweDBlYjIsIDB4MGViMiwKKwkweDBlYmQsIDB4MGViZCwKKwkweDBlYzAs
IDB4MGVjNCwKKwkweDBlYzYsIDB4MGVjNiwKKwkweDBlZGMsIDB4MGVkZiwKKwkweDBmMDAsIDB4
MGYwMCwKKwkweDBmNDAsIDB4MGY0NywKKwkweDBmNDksIDB4MGY2YywKKwkweDBmODgsIDB4MGY4
YywKKwkweDEwMDAsIDB4MTAyYSwKKwkweDEwM2YsIDB4MTAzZiwKKwkweDEwNTAsIDB4MTA1NSwK
KwkweDEwNWEsIDB4MTA1ZCwKKwkweDEwNjEsIDB4MTA2MSwKKwkweDEwNjUsIDB4MTA2NiwKKwkw
eDEwNmUsIDB4MTA3MCwKKwkweDEwNzUsIDB4MTA4MSwKKwkweDEwOGUsIDB4MTA4ZSwKKwkweDEw
YTAsIDB4MTBjNSwKKwkweDEwYzcsIDB4MTBjNywKKwkweDEwY2QsIDB4MTBjZCwKKwkweDEwZDAs
IDB4MTBmYSwKKwkweDEwZmMsIDB4MTI0OCwKKwkweDEyNGEsIDB4MTI0ZCwKKwkweDEyNTAsIDB4
MTI1NiwKKwkweDEyNTgsIDB4MTI1OCwKKwkweDEyNWEsIDB4MTI1ZCwKKwkweDEyNjAsIDB4MTI4
OCwKKwkweDEyOGEsIDB4MTI4ZCwKKwkweDEyOTAsIDB4MTJiMCwKKwkweDEyYjIsIDB4MTJiNSwK
KwkweDEyYjgsIDB4MTJiZSwKKwkweDEyYzAsIDB4MTJjMCwKKwkweDEyYzIsIDB4MTJjNSwKKwkw
eDEyYzgsIDB4MTJkNiwKKwkweDEyZDgsIDB4MTMxMCwKKwkweDEzMTIsIDB4MTMxNSwKKwkweDEz
MTgsIDB4MTM1YSwKKwkweDEzODAsIDB4MTM4ZiwKKwkweDEzYTAsIDB4MTNmNSwKKwkweDEzZjgs
IDB4MTNmZCwKKwkweDE0MDEsIDB4MTY2YywKKwkweDE2NmYsIDB4MTY3ZiwKKwkweDE2ODEsIDB4
MTY5YSwKKwkweDE2YTAsIDB4MTZlYSwKKwkweDE2ZWUsIDB4MTZmOCwKKwkweDE3MDAsIDB4MTcw
YywKKwkweDE3MGUsIDB4MTcxMSwKKwkweDE3MjAsIDB4MTczMSwKKwkweDE3NDAsIDB4MTc1MSwK
KwkweDE3NjAsIDB4MTc2YywKKwkweDE3NmUsIDB4MTc3MCwKKwkweDE3ODAsIDB4MTdiMywKKwkw
eDE3ZDcsIDB4MTdkNywKKwkweDE3ZGMsIDB4MTdkYywKKwkweDE4MjAsIDB4MTg3OCwKKwkweDE4
ODAsIDB4MThhOCwKKwkweDE4YWEsIDB4MThhYSwKKwkweDE4YjAsIDB4MThmNSwKKwkweDE5MDAs
IDB4MTkxZSwKKwkweDE5NTAsIDB4MTk2ZCwKKwkweDE5NzAsIDB4MTk3NCwKKwkweDE5ODAsIDB4
MTlhYiwKKwkweDE5YjAsIDB4MTljOSwKKwkweDFhMDAsIDB4MWExNiwKKwkweDFhMjAsIDB4MWE1
NCwKKwkweDFhYTcsIDB4MWFhNywKKwkweDFiMDUsIDB4MWIzMywKKwkweDFiNDUsIDB4MWI0YiwK
KwkweDFiODMsIDB4MWJhMCwKKwkweDFiYWUsIDB4MWJhZiwKKwkweDFiYmEsIDB4MWJlNSwKKwkw
eDFjMDAsIDB4MWMyMywKKwkweDFjNGQsIDB4MWM0ZiwKKwkweDFjNWEsIDB4MWM3ZCwKKwkweDFj
ODAsIDB4MWM4OCwKKwkweDFjOTAsIDB4MWNiYSwKKwkweDFjYmQsIDB4MWNiZiwKKwkweDFjZTks
IDB4MWNlYywKKwkweDFjZWUsIDB4MWNmMywKKwkweDFjZjUsIDB4MWNmNiwKKwkweDFjZmEsIDB4
MWNmYSwKKwkweDFkMDAsIDB4MWRiZiwKKwkweDFlMDAsIDB4MWYxNSwKKwkweDFmMTgsIDB4MWYx
ZCwKKwkweDFmMjAsIDB4MWY0NSwKKwkweDFmNDgsIDB4MWY0ZCwKKwkweDFmNTAsIDB4MWY1NywK
KwkweDFmNTksIDB4MWY1OSwKKwkweDFmNWIsIDB4MWY1YiwKKwkweDFmNWQsIDB4MWY1ZCwKKwkw
eDFmNWYsIDB4MWY3ZCwKKwkweDFmODAsIDB4MWZiNCwKKwkweDFmYjYsIDB4MWZiYywKKwkweDFm
YmUsIDB4MWZiZSwKKwkweDFmYzIsIDB4MWZjNCwKKwkweDFmYzYsIDB4MWZjYywKKwkweDFmZDAs
IDB4MWZkMywKKwkweDFmZDYsIDB4MWZkYiwKKwkweDFmZTAsIDB4MWZlYywKKwkweDFmZjIsIDB4
MWZmNCwKKwkweDFmZjYsIDB4MWZmYywKKwkweDIwNzEsIDB4MjA3MSwKKwkweDIwN2YsIDB4MjA3
ZiwKKwkweDIwOTAsIDB4MjA5YywKKwkweDIxMDIsIDB4MjEwMiwKKwkweDIxMDcsIDB4MjEwNywK
KwkweDIxMGEsIDB4MjExMywKKwkweDIxMTUsIDB4MjExNSwKKwkweDIxMTgsIDB4MjExZCwKKwkw
eDIxMjQsIDB4MjEyNCwKKwkweDIxMjYsIDB4MjEyNiwKKwkweDIxMjgsIDB4MjEyOCwKKwkweDIx
MmEsIDB4MjEzOSwKKwkweDIxM2MsIDB4MjEzZiwKKwkweDIxNDUsIDB4MjE0OSwKKwkweDIxNGUs
IDB4MjE0ZSwKKwkweDIxNjAsIDB4MjE4OCwKKwkweDJjMDAsIDB4MmMyZSwKKwkweDJjMzAsIDB4
MmM1ZSwKKwkweDJjNjAsIDB4MmNlNCwKKwkweDJjZWIsIDB4MmNlZSwKKwkweDJjZjIsIDB4MmNm
MywKKwkweDJkMDAsIDB4MmQyNSwKKwkweDJkMjcsIDB4MmQyNywKKwkweDJkMmQsIDB4MmQyZCwK
KwkweDJkMzAsIDB4MmQ2NywKKwkweDJkNmYsIDB4MmQ2ZiwKKwkweDJkODAsIDB4MmQ5NiwKKwkw
eDJkYTAsIDB4MmRhNiwKKwkweDJkYTgsIDB4MmRhZSwKKwkweDJkYjAsIDB4MmRiNiwKKwkweDJk
YjgsIDB4MmRiZSwKKwkweDJkYzAsIDB4MmRjNiwKKwkweDJkYzgsIDB4MmRjZSwKKwkweDJkZDAs
IDB4MmRkNiwKKwkweDJkZDgsIDB4MmRkZSwKKwkweDMwMDUsIDB4MzAwNywKKwkweDMwMjEsIDB4
MzAyOSwKKwkweDMwMzEsIDB4MzAzNSwKKwkweDMwMzgsIDB4MzAzYywKKwkweDMwNDEsIDB4MzA5
NiwKKwkweDMwOWQsIDB4MzA5ZiwKKwkweDMwYTEsIDB4MzBmYSwKKwkweDMwZmMsIDB4MzBmZiwK
KwkweDMxMDUsIDB4MzEyZiwKKwkweDMxMzEsIDB4MzE4ZSwKKwkweDMxYTAsIDB4MzFiYSwKKwkw
eDMxZjAsIDB4MzFmZiwKKwkweDM0MDAsIDB4NGRiNSwKKwkweDRlMDAsIDB4OWZlZiwKKwkweGEw
MDAsIDB4YTQ4YywKKwkweGE0ZDAsIDB4YTRmZCwKKwkweGE1MDAsIDB4YTYwYywKKwkweGE2MTAs
IDB4YTYxZiwKKwkweGE2MmEsIDB4YTYyYiwKKwkweGE2NDAsIDB4YTY2ZSwKKwkweGE2N2YsIDB4
YTY5ZCwKKwkweGE2YTAsIDB4YTZlZiwKKwkweGE3MTcsIDB4YTcxZiwKKwkweGE3MjIsIDB4YTc4
OCwKKwkweGE3OGIsIDB4YTdiZiwKKwkweGE3YzIsIDB4YTdjNiwKKwkweGE3ZjcsIDB4YTgwMSwK
KwkweGE4MDMsIDB4YTgwNSwKKwkweGE4MDcsIDB4YTgwYSwKKwkweGE4MGMsIDB4YTgyMiwKKwkw
eGE4NDAsIDB4YTg3MywKKwkweGE4ODIsIDB4YThiMywKKwkweGE4ZjIsIDB4YThmNywKKwkweGE4
ZmIsIDB4YThmYiwKKwkweGE4ZmQsIDB4YThmZSwKKwkweGE5MGEsIDB4YTkyNSwKKwkweGE5MzAs
IDB4YTk0NiwKKwkweGE5NjAsIDB4YTk3YywKKwkweGE5ODQsIDB4YTliMiwKKwkweGE5Y2YsIDB4
YTljZiwKKwkweGE5ZTAsIDB4YTllNCwKKwkweGE5ZTYsIDB4YTllZiwKKwkweGE5ZmEsIDB4YTlm
ZSwKKwkweGFhMDAsIDB4YWEyOCwKKwkweGFhNDAsIDB4YWE0MiwKKwkweGFhNDQsIDB4YWE0YiwK
KwkweGFhNjAsIDB4YWE3NiwKKwkweGFhN2EsIDB4YWE3YSwKKwkweGFhN2UsIDB4YWFhZiwKKwkw
eGFhYjEsIDB4YWFiMSwKKwkweGFhYjUsIDB4YWFiNiwKKwkweGFhYjksIDB4YWFiZCwKKwkweGFh
YzAsIDB4YWFjMCwKKwkweGFhYzIsIDB4YWFjMiwKKwkweGFhZGIsIDB4YWFkZCwKKwkweGFhZTAs
IDB4YWFlYSwKKwkweGFhZjIsIDB4YWFmNCwKKwkweGFiMDEsIDB4YWIwNiwKKwkweGFiMDksIDB4
YWIwZSwKKwkweGFiMTEsIDB4YWIxNiwKKwkweGFiMjAsIDB4YWIyNiwKKwkweGFiMjgsIDB4YWIy
ZSwKKwkweGFiMzAsIDB4YWI1YSwKKwkweGFiNWMsIDB4YWI2NywKKwkweGFiNzAsIDB4YWJlMiwK
KwkweGFjMDAsIDB4ZDdhMywKKwkweGQ3YjAsIDB4ZDdjNiwKKwkweGQ3Y2IsIDB4ZDdmYiwKKwkw
eGY5MDAsIDB4ZmE2ZCwKKwkweGZhNzAsIDB4ZmFkOSwKKwkweGZiMDAsIDB4ZmIwNiwKKwkweGZi
MTMsIDB4ZmIxNywKKwkweGZiMWQsIDB4ZmIxZCwKKwkweGZiMWYsIDB4ZmIyOCwKKwkweGZiMmEs
IDB4ZmIzNiwKKwkweGZiMzgsIDB4ZmIzYywKKwkweGZiM2UsIDB4ZmIzZSwKKwkweGZiNDAsIDB4
ZmI0MSwKKwkweGZiNDMsIDB4ZmI0NCwKKwkweGZiNDYsIDB4ZmJiMSwKKwkweGZiZDMsIDB4ZmM1
ZCwKKwkweGZjNjQsIDB4ZmQzZCwKKwkweGZkNTAsIDB4ZmQ4ZiwKKwkweGZkOTIsIDB4ZmRjNywK
KwkweGZkZjAsIDB4ZmRmOSwKKwkweGZlNzEsIDB4ZmU3MSwKKwkweGZlNzMsIDB4ZmU3MywKKwkw
eGZlNzcsIDB4ZmU3NywKKwkweGZlNzksIDB4ZmU3OSwKKwkweGZlN2IsIDB4ZmU3YiwKKwkweGZl
N2QsIDB4ZmU3ZCwKKwkweGZlN2YsIDB4ZmVmYywKKwkweGZmMjEsIDB4ZmYzYSwKKwkweGZmNDEs
IDB4ZmY1YSwKKwkweGZmNjYsIDB4ZmY5ZCwKKwkweGZmYTAsIDB4ZmZiZSwKKwkweGZmYzIsIDB4
ZmZjNywKKwkweGZmY2EsIDB4ZmZjZiwKKwkweGZmZDIsIDB4ZmZkNywKKwkweGZmZGEsIDB4ZmZk
YywKKwkweDEwMDAwLCAweDEwMDBiLAorCTB4MTAwMGQsIDB4MTAwMjYsCisJMHgxMDAyOCwgMHgx
MDAzYSwKKwkweDEwMDNjLCAweDEwMDNkLAorCTB4MTAwM2YsIDB4MTAwNGQsCisJMHgxMDA1MCwg
MHgxMDA1ZCwKKwkweDEwMDgwLCAweDEwMGZhLAorCTB4MTAxNDAsIDB4MTAxNzQsCisJMHgxMDI4
MCwgMHgxMDI5YywKKwkweDEwMmEwLCAweDEwMmQwLAorCTB4MTAzMDAsIDB4MTAzMWYsCisJMHgx
MDMyZCwgMHgxMDM0YSwKKwkweDEwMzUwLCAweDEwMzc1LAorCTB4MTAzODAsIDB4MTAzOWQsCisJ
MHgxMDNhMCwgMHgxMDNjMywKKwkweDEwM2M4LCAweDEwM2NmLAorCTB4MTAzZDEsIDB4MTAzZDUs
CisJMHgxMDQwMCwgMHgxMDQ5ZCwKKwkweDEwNGIwLCAweDEwNGQzLAorCTB4MTA0ZDgsIDB4MTA0
ZmIsCisJMHgxMDUwMCwgMHgxMDUyNywKKwkweDEwNTMwLCAweDEwNTYzLAorCTB4MTA2MDAsIDB4
MTA3MzYsCisJMHgxMDc0MCwgMHgxMDc1NSwKKwkweDEwNzYwLCAweDEwNzY3LAorCTB4MTA4MDAs
IDB4MTA4MDUsCisJMHgxMDgwOCwgMHgxMDgwOCwKKwkweDEwODBhLCAweDEwODM1LAorCTB4MTA4
MzcsIDB4MTA4MzgsCisJMHgxMDgzYywgMHgxMDgzYywKKwkweDEwODNmLCAweDEwODU1LAorCTB4
MTA4NjAsIDB4MTA4NzYsCisJMHgxMDg4MCwgMHgxMDg5ZSwKKwkweDEwOGUwLCAweDEwOGYyLAor
CTB4MTA4ZjQsIDB4MTA4ZjUsCisJMHgxMDkwMCwgMHgxMDkxNSwKKwkweDEwOTIwLCAweDEwOTM5
LAorCTB4MTA5ODAsIDB4MTA5YjcsCisJMHgxMDliZSwgMHgxMDliZiwKKwkweDEwYTAwLCAweDEw
YTAwLAorCTB4MTBhMTAsIDB4MTBhMTMsCisJMHgxMGExNSwgMHgxMGExNywKKwkweDEwYTE5LCAw
eDEwYTM1LAorCTB4MTBhNjAsIDB4MTBhN2MsCisJMHgxMGE4MCwgMHgxMGE5YywKKwkweDEwYWMw
LCAweDEwYWM3LAorCTB4MTBhYzksIDB4MTBhZTQsCisJMHgxMGIwMCwgMHgxMGIzNSwKKwkweDEw
YjQwLCAweDEwYjU1LAorCTB4MTBiNjAsIDB4MTBiNzIsCisJMHgxMGI4MCwgMHgxMGI5MSwKKwkw
eDEwYzAwLCAweDEwYzQ4LAorCTB4MTBjODAsIDB4MTBjYjIsCisJMHgxMGNjMCwgMHgxMGNmMiwK
KwkweDEwZDAwLCAweDEwZDIzLAorCTB4MTBmMDAsIDB4MTBmMWMsCisJMHgxMGYyNywgMHgxMGYy
NywKKwkweDEwZjMwLCAweDEwZjQ1LAorCTB4MTBmZTAsIDB4MTBmZjYsCisJMHgxMTAwMywgMHgx
MTAzNywKKwkweDExMDgzLCAweDExMGFmLAorCTB4MTEwZDAsIDB4MTEwZTgsCisJMHgxMTEwMywg
MHgxMTEyNiwKKwkweDExMTQ0LCAweDExMTQ0LAorCTB4MTExNTAsIDB4MTExNzIsCisJMHgxMTE3
NiwgMHgxMTE3NiwKKwkweDExMTgzLCAweDExMWIyLAorCTB4MTExYzEsIDB4MTExYzQsCisJMHgx
MTFkYSwgMHgxMTFkYSwKKwkweDExMWRjLCAweDExMWRjLAorCTB4MTEyMDAsIDB4MTEyMTEsCisJ
MHgxMTIxMywgMHgxMTIyYiwKKwkweDExMjgwLCAweDExMjg2LAorCTB4MTEyODgsIDB4MTEyODgs
CisJMHgxMTI4YSwgMHgxMTI4ZCwKKwkweDExMjhmLCAweDExMjlkLAorCTB4MTEyOWYsIDB4MTEy
YTgsCisJMHgxMTJiMCwgMHgxMTJkZSwKKwkweDExMzA1LCAweDExMzBjLAorCTB4MTEzMGYsIDB4
MTEzMTAsCisJMHgxMTMxMywgMHgxMTMyOCwKKwkweDExMzJhLCAweDExMzMwLAorCTB4MTEzMzIs
IDB4MTEzMzMsCisJMHgxMTMzNSwgMHgxMTMzOSwKKwkweDExMzNkLCAweDExMzNkLAorCTB4MTEz
NTAsIDB4MTEzNTAsCisJMHgxMTM1ZCwgMHgxMTM2MSwKKwkweDExNDAwLCAweDExNDM0LAorCTB4
MTE0NDcsIDB4MTE0NGEsCisJMHgxMTQ1ZiwgMHgxMTQ1ZiwKKwkweDExNDgwLCAweDExNGFmLAor
CTB4MTE0YzQsIDB4MTE0YzUsCisJMHgxMTRjNywgMHgxMTRjNywKKwkweDExNTgwLCAweDExNWFl
LAorCTB4MTE1ZDgsIDB4MTE1ZGIsCisJMHgxMTYwMCwgMHgxMTYyZiwKKwkweDExNjQ0LCAweDEx
NjQ0LAorCTB4MTE2ODAsIDB4MTE2YWEsCisJMHgxMTZiOCwgMHgxMTZiOCwKKwkweDExNzAwLCAw
eDExNzFhLAorCTB4MTE4MDAsIDB4MTE4MmIsCisJMHgxMThhMCwgMHgxMThkZiwKKwkweDExOGZm
LCAweDExOGZmLAorCTB4MTE5YTAsIDB4MTE5YTcsCisJMHgxMTlhYSwgMHgxMTlkMCwKKwkweDEx
OWUxLCAweDExOWUxLAorCTB4MTE5ZTMsIDB4MTE5ZTMsCisJMHgxMWEwMCwgMHgxMWEwMCwKKwkw
eDExYTBiLCAweDExYTMyLAorCTB4MTFhM2EsIDB4MTFhM2EsCisJMHgxMWE1MCwgMHgxMWE1MCwK
KwkweDExYTVjLCAweDExYTg5LAorCTB4MTFhOWQsIDB4MTFhOWQsCisJMHgxMWFjMCwgMHgxMWFm
OCwKKwkweDExYzAwLCAweDExYzA4LAorCTB4MTFjMGEsIDB4MTFjMmUsCisJMHgxMWM0MCwgMHgx
MWM0MCwKKwkweDExYzcyLCAweDExYzhmLAorCTB4MTFkMDAsIDB4MTFkMDYsCisJMHgxMWQwOCwg
MHgxMWQwOSwKKwkweDExZDBiLCAweDExZDMwLAorCTB4MTFkNDYsIDB4MTFkNDYsCisJMHgxMWQ2
MCwgMHgxMWQ2NSwKKwkweDExZDY3LCAweDExZDY4LAorCTB4MTFkNmEsIDB4MTFkODksCisJMHgx
MWQ5OCwgMHgxMWQ5OCwKKwkweDExZWUwLCAweDExZWYyLAorCTB4MTIwMDAsIDB4MTIzOTksCisJ
MHgxMjQwMCwgMHgxMjQ2ZSwKKwkweDEyNDgwLCAweDEyNTQzLAorCTB4MTMwMDAsIDB4MTM0MmUs
CisJMHgxNDQwMCwgMHgxNDY0NiwKKwkweDE2ODAwLCAweDE2YTM4LAorCTB4MTZhNDAsIDB4MTZh
NWUsCisJMHgxNmFkMCwgMHgxNmFlZCwKKwkweDE2YjAwLCAweDE2YjJmLAorCTB4MTZiNDAsIDB4
MTZiNDMsCisJMHgxNmI2MywgMHgxNmI3NywKKwkweDE2YjdkLCAweDE2YjhmLAorCTB4MTZlNDAs
IDB4MTZlN2YsCisJMHgxNmYwMCwgMHgxNmY0YSwKKwkweDE2ZjUwLCAweDE2ZjUwLAorCTB4MTZm
OTMsIDB4MTZmOWYsCisJMHgxNmZlMCwgMHgxNmZlMSwKKwkweDE2ZmUzLCAweDE2ZmUzLAorCTB4
MTcwMDAsIDB4MTg3ZjcsCisJMHgxODgwMCwgMHgxOGFmMiwKKwkweDFiMDAwLCAweDFiMTFlLAor
CTB4MWIxNTAsIDB4MWIxNTIsCisJMHgxYjE2NCwgMHgxYjE2NywKKwkweDFiMTcwLCAweDFiMmZi
LAorCTB4MWJjMDAsIDB4MWJjNmEsCisJMHgxYmM3MCwgMHgxYmM3YywKKwkweDFiYzgwLCAweDFi
Yzg4LAorCTB4MWJjOTAsIDB4MWJjOTksCisJMHgxZDQwMCwgMHgxZDQ1NCwKKwkweDFkNDU2LCAw
eDFkNDljLAorCTB4MWQ0OWUsIDB4MWQ0OWYsCisJMHgxZDRhMiwgMHgxZDRhMiwKKwkweDFkNGE1
LCAweDFkNGE2LAorCTB4MWQ0YTksIDB4MWQ0YWMsCisJMHgxZDRhZSwgMHgxZDRiOSwKKwkweDFk
NGJiLCAweDFkNGJiLAorCTB4MWQ0YmQsIDB4MWQ0YzMsCisJMHgxZDRjNSwgMHgxZDUwNSwKKwkw
eDFkNTA3LCAweDFkNTBhLAorCTB4MWQ1MGQsIDB4MWQ1MTQsCisJMHgxZDUxNiwgMHgxZDUxYywK
KwkweDFkNTFlLCAweDFkNTM5LAorCTB4MWQ1M2IsIDB4MWQ1M2UsCisJMHgxZDU0MCwgMHgxZDU0
NCwKKwkweDFkNTQ2LCAweDFkNTQ2LAorCTB4MWQ1NGEsIDB4MWQ1NTAsCisJMHgxZDU1MiwgMHgx
ZDZhNSwKKwkweDFkNmE4LCAweDFkNmMwLAorCTB4MWQ2YzIsIDB4MWQ2ZGEsCisJMHgxZDZkYywg
MHgxZDZmYSwKKwkweDFkNmZjLCAweDFkNzE0LAorCTB4MWQ3MTYsIDB4MWQ3MzQsCisJMHgxZDcz
NiwgMHgxZDc0ZSwKKwkweDFkNzUwLCAweDFkNzZlLAorCTB4MWQ3NzAsIDB4MWQ3ODgsCisJMHgx
ZDc4YSwgMHgxZDdhOCwKKwkweDFkN2FhLCAweDFkN2MyLAorCTB4MWQ3YzQsIDB4MWQ3Y2IsCisJ
MHgxZTEwMCwgMHgxZTEyYywKKwkweDFlMTM3LCAweDFlMTNkLAorCTB4MWUxNGUsIDB4MWUxNGUs
CisJMHgxZTJjMCwgMHgxZTJlYiwKKwkweDFlODAwLCAweDFlOGM0LAorCTB4MWU5MDAsIDB4MWU5
NDMsCisJMHgxZTk0YiwgMHgxZTk0YiwKKwkweDFlZTAwLCAweDFlZTAzLAorCTB4MWVlMDUsIDB4
MWVlMWYsCisJMHgxZWUyMSwgMHgxZWUyMiwKKwkweDFlZTI0LCAweDFlZTI0LAorCTB4MWVlMjcs
IDB4MWVlMjcsCisJMHgxZWUyOSwgMHgxZWUzMiwKKwkweDFlZTM0LCAweDFlZTM3LAorCTB4MWVl
MzksIDB4MWVlMzksCisJMHgxZWUzYiwgMHgxZWUzYiwKKwkweDFlZTQyLCAweDFlZTQyLAorCTB4
MWVlNDcsIDB4MWVlNDcsCisJMHgxZWU0OSwgMHgxZWU0OSwKKwkweDFlZTRiLCAweDFlZTRiLAor
CTB4MWVlNGQsIDB4MWVlNGYsCisJMHgxZWU1MSwgMHgxZWU1MiwKKwkweDFlZTU0LCAweDFlZTU0
LAorCTB4MWVlNTcsIDB4MWVlNTcsCisJMHgxZWU1OSwgMHgxZWU1OSwKKwkweDFlZTViLCAweDFl
ZTViLAorCTB4MWVlNWQsIDB4MWVlNWQsCisJMHgxZWU1ZiwgMHgxZWU1ZiwKKwkweDFlZTYxLCAw
eDFlZTYyLAorCTB4MWVlNjQsIDB4MWVlNjQsCisJMHgxZWU2NywgMHgxZWU2YSwKKwkweDFlZTZj
LCAweDFlZTcyLAorCTB4MWVlNzQsIDB4MWVlNzcsCisJMHgxZWU3OSwgMHgxZWU3YywKKwkweDFl
ZTdlLCAweDFlZTdlLAorCTB4MWVlODAsIDB4MWVlODksCisJMHgxZWU4YiwgMHgxZWU5YiwKKwkw
eDFlZWExLCAweDFlZWEzLAorCTB4MWVlYTUsIDB4MWVlYTksCisJMHgxZWVhYiwgMHgxZWViYiwK
KwkweDIwMDAwLCAweDJhNmQ2LAorCTB4MmE3MDAsIDB4MmI3MzQsCisJMHgyYjc0MCwgMHgyYjgx
ZCwKKwkweDJiODIwLCAweDJjZWExLAorCTB4MmNlYjAsIDB4MmViZTAsCisJMHgyZjgwMCwgMHgy
ZmExZCwKK307IC8qIENSX1hJRF9TdGFydCAqLworCisvKiAnWElEX0NvbnRpbnVlJzogRGVyaXZl
ZCBQcm9wZXJ0eSAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfWElEX0NvbnRpbnVl
W10gPSB7CisJNzIwLAorCTB4MDAzMCwgMHgwMDM5LAorCTB4MDA0MSwgMHgwMDVhLAorCTB4MDA1
ZiwgMHgwMDVmLAorCTB4MDA2MSwgMHgwMDdhLAorCTB4MDBhYSwgMHgwMGFhLAorCTB4MDBiNSwg
MHgwMGI1LAorCTB4MDBiNywgMHgwMGI3LAorCTB4MDBiYSwgMHgwMGJhLAorCTB4MDBjMCwgMHgw
MGQ2LAorCTB4MDBkOCwgMHgwMGY2LAorCTB4MDBmOCwgMHgwMmMxLAorCTB4MDJjNiwgMHgwMmQx
LAorCTB4MDJlMCwgMHgwMmU0LAorCTB4MDJlYywgMHgwMmVjLAorCTB4MDJlZSwgMHgwMmVlLAor
CTB4MDMwMCwgMHgwMzc0LAorCTB4MDM3NiwgMHgwMzc3LAorCTB4MDM3YiwgMHgwMzdkLAorCTB4
MDM3ZiwgMHgwMzdmLAorCTB4MDM4NiwgMHgwMzhhLAorCTB4MDM4YywgMHgwMzhjLAorCTB4MDM4
ZSwgMHgwM2ExLAorCTB4MDNhMywgMHgwM2Y1LAorCTB4MDNmNywgMHgwNDgxLAorCTB4MDQ4Mywg
MHgwNDg3LAorCTB4MDQ4YSwgMHgwNTJmLAorCTB4MDUzMSwgMHgwNTU2LAorCTB4MDU1OSwgMHgw
NTU5LAorCTB4MDU2MCwgMHgwNTg4LAorCTB4MDU5MSwgMHgwNWJkLAorCTB4MDViZiwgMHgwNWJm
LAorCTB4MDVjMSwgMHgwNWMyLAorCTB4MDVjNCwgMHgwNWM1LAorCTB4MDVjNywgMHgwNWM3LAor
CTB4MDVkMCwgMHgwNWVhLAorCTB4MDVlZiwgMHgwNWYyLAorCTB4MDYxMCwgMHgwNjFhLAorCTB4
MDYyMCwgMHgwNjY5LAorCTB4MDY2ZSwgMHgwNmQzLAorCTB4MDZkNSwgMHgwNmRjLAorCTB4MDZk
ZiwgMHgwNmU4LAorCTB4MDZlYSwgMHgwNmZjLAorCTB4MDZmZiwgMHgwNmZmLAorCTB4MDcxMCwg
MHgwNzRhLAorCTB4MDc0ZCwgMHgwN2IxLAorCTB4MDdjMCwgMHgwN2Y1LAorCTB4MDdmYSwgMHgw
N2ZhLAorCTB4MDdmZCwgMHgwN2ZkLAorCTB4MDgwMCwgMHgwODJkLAorCTB4MDg0MCwgMHgwODVi
LAorCTB4MDg2MCwgMHgwODZhLAorCTB4MDhhMCwgMHgwOGI0LAorCTB4MDhiNiwgMHgwOGJkLAor
CTB4MDhkMywgMHgwOGUxLAorCTB4MDhlMywgMHgwOTYzLAorCTB4MDk2NiwgMHgwOTZmLAorCTB4
MDk3MSwgMHgwOTgzLAorCTB4MDk4NSwgMHgwOThjLAorCTB4MDk4ZiwgMHgwOTkwLAorCTB4MDk5
MywgMHgwOWE4LAorCTB4MDlhYSwgMHgwOWIwLAorCTB4MDliMiwgMHgwOWIyLAorCTB4MDliNiwg
MHgwOWI5LAorCTB4MDliYywgMHgwOWM0LAorCTB4MDljNywgMHgwOWM4LAorCTB4MDljYiwgMHgw
OWNlLAorCTB4MDlkNywgMHgwOWQ3LAorCTB4MDlkYywgMHgwOWRkLAorCTB4MDlkZiwgMHgwOWUz
LAorCTB4MDllNiwgMHgwOWYxLAorCTB4MDlmYywgMHgwOWZjLAorCTB4MDlmZSwgMHgwOWZlLAor
CTB4MGEwMSwgMHgwYTAzLAorCTB4MGEwNSwgMHgwYTBhLAorCTB4MGEwZiwgMHgwYTEwLAorCTB4
MGExMywgMHgwYTI4LAorCTB4MGEyYSwgMHgwYTMwLAorCTB4MGEzMiwgMHgwYTMzLAorCTB4MGEz
NSwgMHgwYTM2LAorCTB4MGEzOCwgMHgwYTM5LAorCTB4MGEzYywgMHgwYTNjLAorCTB4MGEzZSwg
MHgwYTQyLAorCTB4MGE0NywgMHgwYTQ4LAorCTB4MGE0YiwgMHgwYTRkLAorCTB4MGE1MSwgMHgw
YTUxLAorCTB4MGE1OSwgMHgwYTVjLAorCTB4MGE1ZSwgMHgwYTVlLAorCTB4MGE2NiwgMHgwYTc1
LAorCTB4MGE4MSwgMHgwYTgzLAorCTB4MGE4NSwgMHgwYThkLAorCTB4MGE4ZiwgMHgwYTkxLAor
CTB4MGE5MywgMHgwYWE4LAorCTB4MGFhYSwgMHgwYWIwLAorCTB4MGFiMiwgMHgwYWIzLAorCTB4
MGFiNSwgMHgwYWI5LAorCTB4MGFiYywgMHgwYWM1LAorCTB4MGFjNywgMHgwYWM5LAorCTB4MGFj
YiwgMHgwYWNkLAorCTB4MGFkMCwgMHgwYWQwLAorCTB4MGFlMCwgMHgwYWUzLAorCTB4MGFlNiwg
MHgwYWVmLAorCTB4MGFmOSwgMHgwYWZmLAorCTB4MGIwMSwgMHgwYjAzLAorCTB4MGIwNSwgMHgw
YjBjLAorCTB4MGIwZiwgMHgwYjEwLAorCTB4MGIxMywgMHgwYjI4LAorCTB4MGIyYSwgMHgwYjMw
LAorCTB4MGIzMiwgMHgwYjMzLAorCTB4MGIzNSwgMHgwYjM5LAorCTB4MGIzYywgMHgwYjQ0LAor
CTB4MGI0NywgMHgwYjQ4LAorCTB4MGI0YiwgMHgwYjRkLAorCTB4MGI1NiwgMHgwYjU3LAorCTB4
MGI1YywgMHgwYjVkLAorCTB4MGI1ZiwgMHgwYjYzLAorCTB4MGI2NiwgMHgwYjZmLAorCTB4MGI3
MSwgMHgwYjcxLAorCTB4MGI4MiwgMHgwYjgzLAorCTB4MGI4NSwgMHgwYjhhLAorCTB4MGI4ZSwg
MHgwYjkwLAorCTB4MGI5MiwgMHgwYjk1LAorCTB4MGI5OSwgMHgwYjlhLAorCTB4MGI5YywgMHgw
YjljLAorCTB4MGI5ZSwgMHgwYjlmLAorCTB4MGJhMywgMHgwYmE0LAorCTB4MGJhOCwgMHgwYmFh
LAorCTB4MGJhZSwgMHgwYmI5LAorCTB4MGJiZSwgMHgwYmMyLAorCTB4MGJjNiwgMHgwYmM4LAor
CTB4MGJjYSwgMHgwYmNkLAorCTB4MGJkMCwgMHgwYmQwLAorCTB4MGJkNywgMHgwYmQ3LAorCTB4
MGJlNiwgMHgwYmVmLAorCTB4MGMwMCwgMHgwYzBjLAorCTB4MGMwZSwgMHgwYzEwLAorCTB4MGMx
MiwgMHgwYzI4LAorCTB4MGMyYSwgMHgwYzM5LAorCTB4MGMzZCwgMHgwYzQ0LAorCTB4MGM0Niwg
MHgwYzQ4LAorCTB4MGM0YSwgMHgwYzRkLAorCTB4MGM1NSwgMHgwYzU2LAorCTB4MGM1OCwgMHgw
YzVhLAorCTB4MGM2MCwgMHgwYzYzLAorCTB4MGM2NiwgMHgwYzZmLAorCTB4MGM4MCwgMHgwYzgz
LAorCTB4MGM4NSwgMHgwYzhjLAorCTB4MGM4ZSwgMHgwYzkwLAorCTB4MGM5MiwgMHgwY2E4LAor
CTB4MGNhYSwgMHgwY2IzLAorCTB4MGNiNSwgMHgwY2I5LAorCTB4MGNiYywgMHgwY2M0LAorCTB4
MGNjNiwgMHgwY2M4LAorCTB4MGNjYSwgMHgwY2NkLAorCTB4MGNkNSwgMHgwY2Q2LAorCTB4MGNk
ZSwgMHgwY2RlLAorCTB4MGNlMCwgMHgwY2UzLAorCTB4MGNlNiwgMHgwY2VmLAorCTB4MGNmMSwg
MHgwY2YyLAorCTB4MGQwMCwgMHgwZDAzLAorCTB4MGQwNSwgMHgwZDBjLAorCTB4MGQwZSwgMHgw
ZDEwLAorCTB4MGQxMiwgMHgwZDQ0LAorCTB4MGQ0NiwgMHgwZDQ4LAorCTB4MGQ0YSwgMHgwZDRl
LAorCTB4MGQ1NCwgMHgwZDU3LAorCTB4MGQ1ZiwgMHgwZDYzLAorCTB4MGQ2NiwgMHgwZDZmLAor
CTB4MGQ3YSwgMHgwZDdmLAorCTB4MGQ4MiwgMHgwZDgzLAorCTB4MGQ4NSwgMHgwZDk2LAorCTB4
MGQ5YSwgMHgwZGIxLAorCTB4MGRiMywgMHgwZGJiLAorCTB4MGRiZCwgMHgwZGJkLAorCTB4MGRj
MCwgMHgwZGM2LAorCTB4MGRjYSwgMHgwZGNhLAorCTB4MGRjZiwgMHgwZGQ0LAorCTB4MGRkNiwg
MHgwZGQ2LAorCTB4MGRkOCwgMHgwZGRmLAorCTB4MGRlNiwgMHgwZGVmLAorCTB4MGRmMiwgMHgw
ZGYzLAorCTB4MGUwMSwgMHgwZTNhLAorCTB4MGU0MCwgMHgwZTRlLAorCTB4MGU1MCwgMHgwZTU5
LAorCTB4MGU4MSwgMHgwZTgyLAorCTB4MGU4NCwgMHgwZTg0LAorCTB4MGU4NiwgMHgwZThhLAor
CTB4MGU4YywgMHgwZWEzLAorCTB4MGVhNSwgMHgwZWE1LAorCTB4MGVhNywgMHgwZWJkLAorCTB4
MGVjMCwgMHgwZWM0LAorCTB4MGVjNiwgMHgwZWM2LAorCTB4MGVjOCwgMHgwZWNkLAorCTB4MGVk
MCwgMHgwZWQ5LAorCTB4MGVkYywgMHgwZWRmLAorCTB4MGYwMCwgMHgwZjAwLAorCTB4MGYxOCwg
MHgwZjE5LAorCTB4MGYyMCwgMHgwZjI5LAorCTB4MGYzNSwgMHgwZjM1LAorCTB4MGYzNywgMHgw
ZjM3LAorCTB4MGYzOSwgMHgwZjM5LAorCTB4MGYzZSwgMHgwZjQ3LAorCTB4MGY0OSwgMHgwZjZj
LAorCTB4MGY3MSwgMHgwZjg0LAorCTB4MGY4NiwgMHgwZjk3LAorCTB4MGY5OSwgMHgwZmJjLAor
CTB4MGZjNiwgMHgwZmM2LAorCTB4MTAwMCwgMHgxMDQ5LAorCTB4MTA1MCwgMHgxMDlkLAorCTB4
MTBhMCwgMHgxMGM1LAorCTB4MTBjNywgMHgxMGM3LAorCTB4MTBjZCwgMHgxMGNkLAorCTB4MTBk
MCwgMHgxMGZhLAorCTB4MTBmYywgMHgxMjQ4LAorCTB4MTI0YSwgMHgxMjRkLAorCTB4MTI1MCwg
MHgxMjU2LAorCTB4MTI1OCwgMHgxMjU4LAorCTB4MTI1YSwgMHgxMjVkLAorCTB4MTI2MCwgMHgx
Mjg4LAorCTB4MTI4YSwgMHgxMjhkLAorCTB4MTI5MCwgMHgxMmIwLAorCTB4MTJiMiwgMHgxMmI1
LAorCTB4MTJiOCwgMHgxMmJlLAorCTB4MTJjMCwgMHgxMmMwLAorCTB4MTJjMiwgMHgxMmM1LAor
CTB4MTJjOCwgMHgxMmQ2LAorCTB4MTJkOCwgMHgxMzEwLAorCTB4MTMxMiwgMHgxMzE1LAorCTB4
MTMxOCwgMHgxMzVhLAorCTB4MTM1ZCwgMHgxMzVmLAorCTB4MTM2OSwgMHgxMzcxLAorCTB4MTM4
MCwgMHgxMzhmLAorCTB4MTNhMCwgMHgxM2Y1LAorCTB4MTNmOCwgMHgxM2ZkLAorCTB4MTQwMSwg
MHgxNjZjLAorCTB4MTY2ZiwgMHgxNjdmLAorCTB4MTY4MSwgMHgxNjlhLAorCTB4MTZhMCwgMHgx
NmVhLAorCTB4MTZlZSwgMHgxNmY4LAorCTB4MTcwMCwgMHgxNzBjLAorCTB4MTcwZSwgMHgxNzE0
LAorCTB4MTcyMCwgMHgxNzM0LAorCTB4MTc0MCwgMHgxNzUzLAorCTB4MTc2MCwgMHgxNzZjLAor
CTB4MTc2ZSwgMHgxNzcwLAorCTB4MTc3MiwgMHgxNzczLAorCTB4MTc4MCwgMHgxN2QzLAorCTB4
MTdkNywgMHgxN2Q3LAorCTB4MTdkYywgMHgxN2RkLAorCTB4MTdlMCwgMHgxN2U5LAorCTB4MTgw
YiwgMHgxODBkLAorCTB4MTgxMCwgMHgxODE5LAorCTB4MTgyMCwgMHgxODc4LAorCTB4MTg4MCwg
MHgxOGFhLAorCTB4MThiMCwgMHgxOGY1LAorCTB4MTkwMCwgMHgxOTFlLAorCTB4MTkyMCwgMHgx
OTJiLAorCTB4MTkzMCwgMHgxOTNiLAorCTB4MTk0NiwgMHgxOTZkLAorCTB4MTk3MCwgMHgxOTc0
LAorCTB4MTk4MCwgMHgxOWFiLAorCTB4MTliMCwgMHgxOWM5LAorCTB4MTlkMCwgMHgxOWRhLAor
CTB4MWEwMCwgMHgxYTFiLAorCTB4MWEyMCwgMHgxYTVlLAorCTB4MWE2MCwgMHgxYTdjLAorCTB4
MWE3ZiwgMHgxYTg5LAorCTB4MWE5MCwgMHgxYTk5LAorCTB4MWFhNywgMHgxYWE3LAorCTB4MWFi
MCwgMHgxYWJkLAorCTB4MWIwMCwgMHgxYjRiLAorCTB4MWI1MCwgMHgxYjU5LAorCTB4MWI2Yiwg
MHgxYjczLAorCTB4MWI4MCwgMHgxYmYzLAorCTB4MWMwMCwgMHgxYzM3LAorCTB4MWM0MCwgMHgx
YzQ5LAorCTB4MWM0ZCwgMHgxYzdkLAorCTB4MWM4MCwgMHgxYzg4LAorCTB4MWM5MCwgMHgxY2Jh
LAorCTB4MWNiZCwgMHgxY2JmLAorCTB4MWNkMCwgMHgxY2QyLAorCTB4MWNkNCwgMHgxY2ZhLAor
CTB4MWQwMCwgMHgxZGY5LAorCTB4MWRmYiwgMHgxZjE1LAorCTB4MWYxOCwgMHgxZjFkLAorCTB4
MWYyMCwgMHgxZjQ1LAorCTB4MWY0OCwgMHgxZjRkLAorCTB4MWY1MCwgMHgxZjU3LAorCTB4MWY1
OSwgMHgxZjU5LAorCTB4MWY1YiwgMHgxZjViLAorCTB4MWY1ZCwgMHgxZjVkLAorCTB4MWY1Ziwg
MHgxZjdkLAorCTB4MWY4MCwgMHgxZmI0LAorCTB4MWZiNiwgMHgxZmJjLAorCTB4MWZiZSwgMHgx
ZmJlLAorCTB4MWZjMiwgMHgxZmM0LAorCTB4MWZjNiwgMHgxZmNjLAorCTB4MWZkMCwgMHgxZmQz
LAorCTB4MWZkNiwgMHgxZmRiLAorCTB4MWZlMCwgMHgxZmVjLAorCTB4MWZmMiwgMHgxZmY0LAor
CTB4MWZmNiwgMHgxZmZjLAorCTB4MjAzZiwgMHgyMDQwLAorCTB4MjA1NCwgMHgyMDU0LAorCTB4
MjA3MSwgMHgyMDcxLAorCTB4MjA3ZiwgMHgyMDdmLAorCTB4MjA5MCwgMHgyMDljLAorCTB4MjBk
MCwgMHgyMGRjLAorCTB4MjBlMSwgMHgyMGUxLAorCTB4MjBlNSwgMHgyMGYwLAorCTB4MjEwMiwg
MHgyMTAyLAorCTB4MjEwNywgMHgyMTA3LAorCTB4MjEwYSwgMHgyMTEzLAorCTB4MjExNSwgMHgy
MTE1LAorCTB4MjExOCwgMHgyMTFkLAorCTB4MjEyNCwgMHgyMTI0LAorCTB4MjEyNiwgMHgyMTI2
LAorCTB4MjEyOCwgMHgyMTI4LAorCTB4MjEyYSwgMHgyMTM5LAorCTB4MjEzYywgMHgyMTNmLAor
CTB4MjE0NSwgMHgyMTQ5LAorCTB4MjE0ZSwgMHgyMTRlLAorCTB4MjE2MCwgMHgyMTg4LAorCTB4
MmMwMCwgMHgyYzJlLAorCTB4MmMzMCwgMHgyYzVlLAorCTB4MmM2MCwgMHgyY2U0LAorCTB4MmNl
YiwgMHgyY2YzLAorCTB4MmQwMCwgMHgyZDI1LAorCTB4MmQyNywgMHgyZDI3LAorCTB4MmQyZCwg
MHgyZDJkLAorCTB4MmQzMCwgMHgyZDY3LAorCTB4MmQ2ZiwgMHgyZDZmLAorCTB4MmQ3ZiwgMHgy
ZDk2LAorCTB4MmRhMCwgMHgyZGE2LAorCTB4MmRhOCwgMHgyZGFlLAorCTB4MmRiMCwgMHgyZGI2
LAorCTB4MmRiOCwgMHgyZGJlLAorCTB4MmRjMCwgMHgyZGM2LAorCTB4MmRjOCwgMHgyZGNlLAor
CTB4MmRkMCwgMHgyZGQ2LAorCTB4MmRkOCwgMHgyZGRlLAorCTB4MmRlMCwgMHgyZGZmLAorCTB4
MzAwNSwgMHgzMDA3LAorCTB4MzAyMSwgMHgzMDJmLAorCTB4MzAzMSwgMHgzMDM1LAorCTB4MzAz
OCwgMHgzMDNjLAorCTB4MzA0MSwgMHgzMDk2LAorCTB4MzA5OSwgMHgzMDlhLAorCTB4MzA5ZCwg
MHgzMDlmLAorCTB4MzBhMSwgMHgzMGZhLAorCTB4MzBmYywgMHgzMGZmLAorCTB4MzEwNSwgMHgz
MTJmLAorCTB4MzEzMSwgMHgzMThlLAorCTB4MzFhMCwgMHgzMWJhLAorCTB4MzFmMCwgMHgzMWZm
LAorCTB4MzQwMCwgMHg0ZGI1LAorCTB4NGUwMCwgMHg5ZmVmLAorCTB4YTAwMCwgMHhhNDhjLAor
CTB4YTRkMCwgMHhhNGZkLAorCTB4YTUwMCwgMHhhNjBjLAorCTB4YTYxMCwgMHhhNjJiLAorCTB4
YTY0MCwgMHhhNjZmLAorCTB4YTY3NCwgMHhhNjdkLAorCTB4YTY3ZiwgMHhhNmYxLAorCTB4YTcx
NywgMHhhNzFmLAorCTB4YTcyMiwgMHhhNzg4LAorCTB4YTc4YiwgMHhhN2JmLAorCTB4YTdjMiwg
MHhhN2M2LAorCTB4YTdmNywgMHhhODI3LAorCTB4YTg0MCwgMHhhODczLAorCTB4YTg4MCwgMHhh
OGM1LAorCTB4YThkMCwgMHhhOGQ5LAorCTB4YThlMCwgMHhhOGY3LAorCTB4YThmYiwgMHhhOGZi
LAorCTB4YThmZCwgMHhhOTJkLAorCTB4YTkzMCwgMHhhOTUzLAorCTB4YTk2MCwgMHhhOTdjLAor
CTB4YTk4MCwgMHhhOWMwLAorCTB4YTljZiwgMHhhOWQ5LAorCTB4YTllMCwgMHhhOWZlLAorCTB4
YWEwMCwgMHhhYTM2LAorCTB4YWE0MCwgMHhhYTRkLAorCTB4YWE1MCwgMHhhYTU5LAorCTB4YWE2
MCwgMHhhYTc2LAorCTB4YWE3YSwgMHhhYWMyLAorCTB4YWFkYiwgMHhhYWRkLAorCTB4YWFlMCwg
MHhhYWVmLAorCTB4YWFmMiwgMHhhYWY2LAorCTB4YWIwMSwgMHhhYjA2LAorCTB4YWIwOSwgMHhh
YjBlLAorCTB4YWIxMSwgMHhhYjE2LAorCTB4YWIyMCwgMHhhYjI2LAorCTB4YWIyOCwgMHhhYjJl
LAorCTB4YWIzMCwgMHhhYjVhLAorCTB4YWI1YywgMHhhYjY3LAorCTB4YWI3MCwgMHhhYmVhLAor
CTB4YWJlYywgMHhhYmVkLAorCTB4YWJmMCwgMHhhYmY5LAorCTB4YWMwMCwgMHhkN2EzLAorCTB4
ZDdiMCwgMHhkN2M2LAorCTB4ZDdjYiwgMHhkN2ZiLAorCTB4ZjkwMCwgMHhmYTZkLAorCTB4ZmE3
MCwgMHhmYWQ5LAorCTB4ZmIwMCwgMHhmYjA2LAorCTB4ZmIxMywgMHhmYjE3LAorCTB4ZmIxZCwg
MHhmYjI4LAorCTB4ZmIyYSwgMHhmYjM2LAorCTB4ZmIzOCwgMHhmYjNjLAorCTB4ZmIzZSwgMHhm
YjNlLAorCTB4ZmI0MCwgMHhmYjQxLAorCTB4ZmI0MywgMHhmYjQ0LAorCTB4ZmI0NiwgMHhmYmIx
LAorCTB4ZmJkMywgMHhmYzVkLAorCTB4ZmM2NCwgMHhmZDNkLAorCTB4ZmQ1MCwgMHhmZDhmLAor
CTB4ZmQ5MiwgMHhmZGM3LAorCTB4ZmRmMCwgMHhmZGY5LAorCTB4ZmUwMCwgMHhmZTBmLAorCTB4
ZmUyMCwgMHhmZTJmLAorCTB4ZmUzMywgMHhmZTM0LAorCTB4ZmU0ZCwgMHhmZTRmLAorCTB4ZmU3
MSwgMHhmZTcxLAorCTB4ZmU3MywgMHhmZTczLAorCTB4ZmU3NywgMHhmZTc3LAorCTB4ZmU3OSwg
MHhmZTc5LAorCTB4ZmU3YiwgMHhmZTdiLAorCTB4ZmU3ZCwgMHhmZTdkLAorCTB4ZmU3ZiwgMHhm
ZWZjLAorCTB4ZmYxMCwgMHhmZjE5LAorCTB4ZmYyMSwgMHhmZjNhLAorCTB4ZmYzZiwgMHhmZjNm
LAorCTB4ZmY0MSwgMHhmZjVhLAorCTB4ZmY2NiwgMHhmZmJlLAorCTB4ZmZjMiwgMHhmZmM3LAor
CTB4ZmZjYSwgMHhmZmNmLAorCTB4ZmZkMiwgMHhmZmQ3LAorCTB4ZmZkYSwgMHhmZmRjLAorCTB4
MTAwMDAsIDB4MTAwMGIsCisJMHgxMDAwZCwgMHgxMDAyNiwKKwkweDEwMDI4LCAweDEwMDNhLAor
CTB4MTAwM2MsIDB4MTAwM2QsCisJMHgxMDAzZiwgMHgxMDA0ZCwKKwkweDEwMDUwLCAweDEwMDVk
LAorCTB4MTAwODAsIDB4MTAwZmEsCisJMHgxMDE0MCwgMHgxMDE3NCwKKwkweDEwMWZkLCAweDEw
MWZkLAorCTB4MTAyODAsIDB4MTAyOWMsCisJMHgxMDJhMCwgMHgxMDJkMCwKKwkweDEwMmUwLCAw
eDEwMmUwLAorCTB4MTAzMDAsIDB4MTAzMWYsCisJMHgxMDMyZCwgMHgxMDM0YSwKKwkweDEwMzUw
LCAweDEwMzdhLAorCTB4MTAzODAsIDB4MTAzOWQsCisJMHgxMDNhMCwgMHgxMDNjMywKKwkweDEw
M2M4LCAweDEwM2NmLAorCTB4MTAzZDEsIDB4MTAzZDUsCisJMHgxMDQwMCwgMHgxMDQ5ZCwKKwkw
eDEwNGEwLCAweDEwNGE5LAorCTB4MTA0YjAsIDB4MTA0ZDMsCisJMHgxMDRkOCwgMHgxMDRmYiwK
KwkweDEwNTAwLCAweDEwNTI3LAorCTB4MTA1MzAsIDB4MTA1NjMsCisJMHgxMDYwMCwgMHgxMDcz
NiwKKwkweDEwNzQwLCAweDEwNzU1LAorCTB4MTA3NjAsIDB4MTA3NjcsCisJMHgxMDgwMCwgMHgx
MDgwNSwKKwkweDEwODA4LCAweDEwODA4LAorCTB4MTA4MGEsIDB4MTA4MzUsCisJMHgxMDgzNywg
MHgxMDgzOCwKKwkweDEwODNjLCAweDEwODNjLAorCTB4MTA4M2YsIDB4MTA4NTUsCisJMHgxMDg2
MCwgMHgxMDg3NiwKKwkweDEwODgwLCAweDEwODllLAorCTB4MTA4ZTAsIDB4MTA4ZjIsCisJMHgx
MDhmNCwgMHgxMDhmNSwKKwkweDEwOTAwLCAweDEwOTE1LAorCTB4MTA5MjAsIDB4MTA5MzksCisJ
MHgxMDk4MCwgMHgxMDliNywKKwkweDEwOWJlLCAweDEwOWJmLAorCTB4MTBhMDAsIDB4MTBhMDMs
CisJMHgxMGEwNSwgMHgxMGEwNiwKKwkweDEwYTBjLCAweDEwYTEzLAorCTB4MTBhMTUsIDB4MTBh
MTcsCisJMHgxMGExOSwgMHgxMGEzNSwKKwkweDEwYTM4LCAweDEwYTNhLAorCTB4MTBhM2YsIDB4
MTBhM2YsCisJMHgxMGE2MCwgMHgxMGE3YywKKwkweDEwYTgwLCAweDEwYTljLAorCTB4MTBhYzAs
IDB4MTBhYzcsCisJMHgxMGFjOSwgMHgxMGFlNiwKKwkweDEwYjAwLCAweDEwYjM1LAorCTB4MTBi
NDAsIDB4MTBiNTUsCisJMHgxMGI2MCwgMHgxMGI3MiwKKwkweDEwYjgwLCAweDEwYjkxLAorCTB4
MTBjMDAsIDB4MTBjNDgsCisJMHgxMGM4MCwgMHgxMGNiMiwKKwkweDEwY2MwLCAweDEwY2YyLAor
CTB4MTBkMDAsIDB4MTBkMjcsCisJMHgxMGQzMCwgMHgxMGQzOSwKKwkweDEwZjAwLCAweDEwZjFj
LAorCTB4MTBmMjcsIDB4MTBmMjcsCisJMHgxMGYzMCwgMHgxMGY1MCwKKwkweDEwZmUwLCAweDEw
ZmY2LAorCTB4MTEwMDAsIDB4MTEwNDYsCisJMHgxMTA2NiwgMHgxMTA2ZiwKKwkweDExMDdmLCAw
eDExMGJhLAorCTB4MTEwZDAsIDB4MTEwZTgsCisJMHgxMTBmMCwgMHgxMTBmOSwKKwkweDExMTAw
LCAweDExMTM0LAorCTB4MTExMzYsIDB4MTExM2YsCisJMHgxMTE0NCwgMHgxMTE0NiwKKwkweDEx
MTUwLCAweDExMTczLAorCTB4MTExNzYsIDB4MTExNzYsCisJMHgxMTE4MCwgMHgxMTFjNCwKKwkw
eDExMWM5LCAweDExMWNjLAorCTB4MTExZDAsIDB4MTExZGEsCisJMHgxMTFkYywgMHgxMTFkYywK
KwkweDExMjAwLCAweDExMjExLAorCTB4MTEyMTMsIDB4MTEyMzcsCisJMHgxMTIzZSwgMHgxMTIz
ZSwKKwkweDExMjgwLCAweDExMjg2LAorCTB4MTEyODgsIDB4MTEyODgsCisJMHgxMTI4YSwgMHgx
MTI4ZCwKKwkweDExMjhmLCAweDExMjlkLAorCTB4MTEyOWYsIDB4MTEyYTgsCisJMHgxMTJiMCwg
MHgxMTJlYSwKKwkweDExMmYwLCAweDExMmY5LAorCTB4MTEzMDAsIDB4MTEzMDMsCisJMHgxMTMw
NSwgMHgxMTMwYywKKwkweDExMzBmLCAweDExMzEwLAorCTB4MTEzMTMsIDB4MTEzMjgsCisJMHgx
MTMyYSwgMHgxMTMzMCwKKwkweDExMzMyLCAweDExMzMzLAorCTB4MTEzMzUsIDB4MTEzMzksCisJ
MHgxMTMzYiwgMHgxMTM0NCwKKwkweDExMzQ3LCAweDExMzQ4LAorCTB4MTEzNGIsIDB4MTEzNGQs
CisJMHgxMTM1MCwgMHgxMTM1MCwKKwkweDExMzU3LCAweDExMzU3LAorCTB4MTEzNWQsIDB4MTEz
NjMsCisJMHgxMTM2NiwgMHgxMTM2YywKKwkweDExMzcwLCAweDExMzc0LAorCTB4MTE0MDAsIDB4
MTE0NGEsCisJMHgxMTQ1MCwgMHgxMTQ1OSwKKwkweDExNDVlLCAweDExNDVmLAorCTB4MTE0ODAs
IDB4MTE0YzUsCisJMHgxMTRjNywgMHgxMTRjNywKKwkweDExNGQwLCAweDExNGQ5LAorCTB4MTE1
ODAsIDB4MTE1YjUsCisJMHgxMTViOCwgMHgxMTVjMCwKKwkweDExNWQ4LCAweDExNWRkLAorCTB4
MTE2MDAsIDB4MTE2NDAsCisJMHgxMTY0NCwgMHgxMTY0NCwKKwkweDExNjUwLCAweDExNjU5LAor
CTB4MTE2ODAsIDB4MTE2YjgsCisJMHgxMTZjMCwgMHgxMTZjOSwKKwkweDExNzAwLCAweDExNzFh
LAorCTB4MTE3MWQsIDB4MTE3MmIsCisJMHgxMTczMCwgMHgxMTczOSwKKwkweDExODAwLCAweDEx
ODNhLAorCTB4MTE4YTAsIDB4MTE4ZTksCisJMHgxMThmZiwgMHgxMThmZiwKKwkweDExOWEwLCAw
eDExOWE3LAorCTB4MTE5YWEsIDB4MTE5ZDcsCisJMHgxMTlkYSwgMHgxMTllMSwKKwkweDExOWUz
LCAweDExOWU0LAorCTB4MTFhMDAsIDB4MTFhM2UsCisJMHgxMWE0NywgMHgxMWE0NywKKwkweDEx
YTUwLCAweDExYTk5LAorCTB4MTFhOWQsIDB4MTFhOWQsCisJMHgxMWFjMCwgMHgxMWFmOCwKKwkw
eDExYzAwLCAweDExYzA4LAorCTB4MTFjMGEsIDB4MTFjMzYsCisJMHgxMWMzOCwgMHgxMWM0MCwK
KwkweDExYzUwLCAweDExYzU5LAorCTB4MTFjNzIsIDB4MTFjOGYsCisJMHgxMWM5MiwgMHgxMWNh
NywKKwkweDExY2E5LCAweDExY2I2LAorCTB4MTFkMDAsIDB4MTFkMDYsCisJMHgxMWQwOCwgMHgx
MWQwOSwKKwkweDExZDBiLCAweDExZDM2LAorCTB4MTFkM2EsIDB4MTFkM2EsCisJMHgxMWQzYywg
MHgxMWQzZCwKKwkweDExZDNmLCAweDExZDQ3LAorCTB4MTFkNTAsIDB4MTFkNTksCisJMHgxMWQ2
MCwgMHgxMWQ2NSwKKwkweDExZDY3LCAweDExZDY4LAorCTB4MTFkNmEsIDB4MTFkOGUsCisJMHgx
MWQ5MCwgMHgxMWQ5MSwKKwkweDExZDkzLCAweDExZDk4LAorCTB4MTFkYTAsIDB4MTFkYTksCisJ
MHgxMWVlMCwgMHgxMWVmNiwKKwkweDEyMDAwLCAweDEyMzk5LAorCTB4MTI0MDAsIDB4MTI0NmUs
CisJMHgxMjQ4MCwgMHgxMjU0MywKKwkweDEzMDAwLCAweDEzNDJlLAorCTB4MTQ0MDAsIDB4MTQ2
NDYsCisJMHgxNjgwMCwgMHgxNmEzOCwKKwkweDE2YTQwLCAweDE2YTVlLAorCTB4MTZhNjAsIDB4
MTZhNjksCisJMHgxNmFkMCwgMHgxNmFlZCwKKwkweDE2YWYwLCAweDE2YWY0LAorCTB4MTZiMDAs
IDB4MTZiMzYsCisJMHgxNmI0MCwgMHgxNmI0MywKKwkweDE2YjUwLCAweDE2YjU5LAorCTB4MTZi
NjMsIDB4MTZiNzcsCisJMHgxNmI3ZCwgMHgxNmI4ZiwKKwkweDE2ZTQwLCAweDE2ZTdmLAorCTB4
MTZmMDAsIDB4MTZmNGEsCisJMHgxNmY0ZiwgMHgxNmY4NywKKwkweDE2ZjhmLCAweDE2ZjlmLAor
CTB4MTZmZTAsIDB4MTZmZTEsCisJMHgxNmZlMywgMHgxNmZlMywKKwkweDE3MDAwLCAweDE4N2Y3
LAorCTB4MTg4MDAsIDB4MThhZjIsCisJMHgxYjAwMCwgMHgxYjExZSwKKwkweDFiMTUwLCAweDFi
MTUyLAorCTB4MWIxNjQsIDB4MWIxNjcsCisJMHgxYjE3MCwgMHgxYjJmYiwKKwkweDFiYzAwLCAw
eDFiYzZhLAorCTB4MWJjNzAsIDB4MWJjN2MsCisJMHgxYmM4MCwgMHgxYmM4OCwKKwkweDFiYzkw
LCAweDFiYzk5LAorCTB4MWJjOWQsIDB4MWJjOWUsCisJMHgxZDE2NSwgMHgxZDE2OSwKKwkweDFk
MTZkLCAweDFkMTcyLAorCTB4MWQxN2IsIDB4MWQxODIsCisJMHgxZDE4NSwgMHgxZDE4YiwKKwkw
eDFkMWFhLCAweDFkMWFkLAorCTB4MWQyNDIsIDB4MWQyNDQsCisJMHgxZDQwMCwgMHgxZDQ1NCwK
KwkweDFkNDU2LCAweDFkNDljLAorCTB4MWQ0OWUsIDB4MWQ0OWYsCisJMHgxZDRhMiwgMHgxZDRh
MiwKKwkweDFkNGE1LCAweDFkNGE2LAorCTB4MWQ0YTksIDB4MWQ0YWMsCisJMHgxZDRhZSwgMHgx
ZDRiOSwKKwkweDFkNGJiLCAweDFkNGJiLAorCTB4MWQ0YmQsIDB4MWQ0YzMsCisJMHgxZDRjNSwg
MHgxZDUwNSwKKwkweDFkNTA3LCAweDFkNTBhLAorCTB4MWQ1MGQsIDB4MWQ1MTQsCisJMHgxZDUx
NiwgMHgxZDUxYywKKwkweDFkNTFlLCAweDFkNTM5LAorCTB4MWQ1M2IsIDB4MWQ1M2UsCisJMHgx
ZDU0MCwgMHgxZDU0NCwKKwkweDFkNTQ2LCAweDFkNTQ2LAorCTB4MWQ1NGEsIDB4MWQ1NTAsCisJ
MHgxZDU1MiwgMHgxZDZhNSwKKwkweDFkNmE4LCAweDFkNmMwLAorCTB4MWQ2YzIsIDB4MWQ2ZGEs
CisJMHgxZDZkYywgMHgxZDZmYSwKKwkweDFkNmZjLCAweDFkNzE0LAorCTB4MWQ3MTYsIDB4MWQ3
MzQsCisJMHgxZDczNiwgMHgxZDc0ZSwKKwkweDFkNzUwLCAweDFkNzZlLAorCTB4MWQ3NzAsIDB4
MWQ3ODgsCisJMHgxZDc4YSwgMHgxZDdhOCwKKwkweDFkN2FhLCAweDFkN2MyLAorCTB4MWQ3YzQs
IDB4MWQ3Y2IsCisJMHgxZDdjZSwgMHgxZDdmZiwKKwkweDFkYTAwLCAweDFkYTM2LAorCTB4MWRh
M2IsIDB4MWRhNmMsCisJMHgxZGE3NSwgMHgxZGE3NSwKKwkweDFkYTg0LCAweDFkYTg0LAorCTB4
MWRhOWIsIDB4MWRhOWYsCisJMHgxZGFhMSwgMHgxZGFhZiwKKwkweDFlMDAwLCAweDFlMDA2LAor
CTB4MWUwMDgsIDB4MWUwMTgsCisJMHgxZTAxYiwgMHgxZTAyMSwKKwkweDFlMDIzLCAweDFlMDI0
LAorCTB4MWUwMjYsIDB4MWUwMmEsCisJMHgxZTEwMCwgMHgxZTEyYywKKwkweDFlMTMwLCAweDFl
MTNkLAorCTB4MWUxNDAsIDB4MWUxNDksCisJMHgxZTE0ZSwgMHgxZTE0ZSwKKwkweDFlMmMwLCAw
eDFlMmY5LAorCTB4MWU4MDAsIDB4MWU4YzQsCisJMHgxZThkMCwgMHgxZThkNiwKKwkweDFlOTAw
LCAweDFlOTRiLAorCTB4MWU5NTAsIDB4MWU5NTksCisJMHgxZWUwMCwgMHgxZWUwMywKKwkweDFl
ZTA1LCAweDFlZTFmLAorCTB4MWVlMjEsIDB4MWVlMjIsCisJMHgxZWUyNCwgMHgxZWUyNCwKKwkw
eDFlZTI3LCAweDFlZTI3LAorCTB4MWVlMjksIDB4MWVlMzIsCisJMHgxZWUzNCwgMHgxZWUzNywK
KwkweDFlZTM5LCAweDFlZTM5LAorCTB4MWVlM2IsIDB4MWVlM2IsCisJMHgxZWU0MiwgMHgxZWU0
MiwKKwkweDFlZTQ3LCAweDFlZTQ3LAorCTB4MWVlNDksIDB4MWVlNDksCisJMHgxZWU0YiwgMHgx
ZWU0YiwKKwkweDFlZTRkLCAweDFlZTRmLAorCTB4MWVlNTEsIDB4MWVlNTIsCisJMHgxZWU1NCwg
MHgxZWU1NCwKKwkweDFlZTU3LCAweDFlZTU3LAorCTB4MWVlNTksIDB4MWVlNTksCisJMHgxZWU1
YiwgMHgxZWU1YiwKKwkweDFlZTVkLCAweDFlZTVkLAorCTB4MWVlNWYsIDB4MWVlNWYsCisJMHgx
ZWU2MSwgMHgxZWU2MiwKKwkweDFlZTY0LCAweDFlZTY0LAorCTB4MWVlNjcsIDB4MWVlNmEsCisJ
MHgxZWU2YywgMHgxZWU3MiwKKwkweDFlZTc0LCAweDFlZTc3LAorCTB4MWVlNzksIDB4MWVlN2Ms
CisJMHgxZWU3ZSwgMHgxZWU3ZSwKKwkweDFlZTgwLCAweDFlZTg5LAorCTB4MWVlOGIsIDB4MWVl
OWIsCisJMHgxZWVhMSwgMHgxZWVhMywKKwkweDFlZWE1LCAweDFlZWE5LAorCTB4MWVlYWIsIDB4
MWVlYmIsCisJMHgyMDAwMCwgMHgyYTZkNiwKKwkweDJhNzAwLCAweDJiNzM0LAorCTB4MmI3NDAs
IDB4MmI4MWQsCisJMHgyYjgyMCwgMHgyY2VhMSwKKwkweDJjZWIwLCAweDJlYmUwLAorCTB4MmY4
MDAsIDB4MmZhMWQsCisJMHhlMDEwMCwgMHhlMDFlZiwKK307IC8qIENSX1hJRF9Db250aW51ZSAq
LworCisvKiAnRGVmYXVsdF9JZ25vcmFibGVfQ29kZV9Qb2ludCc6IERlcml2ZWQgUHJvcGVydHkg
Ki8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0RlZmF1bHRfSWdub3JhYmxlX0NvZGVf
UG9pbnRbXSA9IHsKKwkxNywKKwkweDAwYWQsIDB4MDBhZCwKKwkweDAzNGYsIDB4MDM0ZiwKKwkw
eDA2MWMsIDB4MDYxYywKKwkweDExNWYsIDB4MTE2MCwKKwkweDE3YjQsIDB4MTdiNSwKKwkweDE4
MGIsIDB4MTgwZSwKKwkweDIwMGIsIDB4MjAwZiwKKwkweDIwMmEsIDB4MjAyZSwKKwkweDIwNjAs
IDB4MjA2ZiwKKwkweDMxNjQsIDB4MzE2NCwKKwkweGZlMDAsIDB4ZmUwZiwKKwkweGZlZmYsIDB4
ZmVmZiwKKwkweGZmYTAsIDB4ZmZhMCwKKwkweGZmZjAsIDB4ZmZmOCwKKwkweDFiY2EwLCAweDFi
Y2EzLAorCTB4MWQxNzMsIDB4MWQxN2EsCisJMHhlMDAwMCwgMHhlMGZmZiwKK307IC8qIENSX0Rl
ZmF1bHRfSWdub3JhYmxlX0NvZGVfUG9pbnQgKi8KKworLyogJ0dyYXBoZW1lX0V4dGVuZCc6IERl
cml2ZWQgUHJvcGVydHkgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0dyYXBoZW1l
X0V4dGVuZFtdID0geworCTMzNSwKKwkweDAzMDAsIDB4MDM2ZiwKKwkweDA0ODMsIDB4MDQ4OSwK
KwkweDA1OTEsIDB4MDViZCwKKwkweDA1YmYsIDB4MDViZiwKKwkweDA1YzEsIDB4MDVjMiwKKwkw
eDA1YzQsIDB4MDVjNSwKKwkweDA1YzcsIDB4MDVjNywKKwkweDA2MTAsIDB4MDYxYSwKKwkweDA2
NGIsIDB4MDY1ZiwKKwkweDA2NzAsIDB4MDY3MCwKKwkweDA2ZDYsIDB4MDZkYywKKwkweDA2ZGYs
IDB4MDZlNCwKKwkweDA2ZTcsIDB4MDZlOCwKKwkweDA2ZWEsIDB4MDZlZCwKKwkweDA3MTEsIDB4
MDcxMSwKKwkweDA3MzAsIDB4MDc0YSwKKwkweDA3YTYsIDB4MDdiMCwKKwkweDA3ZWIsIDB4MDdm
MywKKwkweDA3ZmQsIDB4MDdmZCwKKwkweDA4MTYsIDB4MDgxOSwKKwkweDA4MWIsIDB4MDgyMywK
KwkweDA4MjUsIDB4MDgyNywKKwkweDA4MjksIDB4MDgyZCwKKwkweDA4NTksIDB4MDg1YiwKKwkw
eDA4ZDMsIDB4MDhlMSwKKwkweDA4ZTMsIDB4MDkwMiwKKwkweDA5M2EsIDB4MDkzYSwKKwkweDA5
M2MsIDB4MDkzYywKKwkweDA5NDEsIDB4MDk0OCwKKwkweDA5NGQsIDB4MDk0ZCwKKwkweDA5NTEs
IDB4MDk1NywKKwkweDA5NjIsIDB4MDk2MywKKwkweDA5ODEsIDB4MDk4MSwKKwkweDA5YmMsIDB4
MDliYywKKwkweDA5YmUsIDB4MDliZSwKKwkweDA5YzEsIDB4MDljNCwKKwkweDA5Y2QsIDB4MDlj
ZCwKKwkweDA5ZDcsIDB4MDlkNywKKwkweDA5ZTIsIDB4MDllMywKKwkweDA5ZmUsIDB4MDlmZSwK
KwkweDBhMDEsIDB4MGEwMiwKKwkweDBhM2MsIDB4MGEzYywKKwkweDBhNDEsIDB4MGE0MiwKKwkw
eDBhNDcsIDB4MGE0OCwKKwkweDBhNGIsIDB4MGE0ZCwKKwkweDBhNTEsIDB4MGE1MSwKKwkweDBh
NzAsIDB4MGE3MSwKKwkweDBhNzUsIDB4MGE3NSwKKwkweDBhODEsIDB4MGE4MiwKKwkweDBhYmMs
IDB4MGFiYywKKwkweDBhYzEsIDB4MGFjNSwKKwkweDBhYzcsIDB4MGFjOCwKKwkweDBhY2QsIDB4
MGFjZCwKKwkweDBhZTIsIDB4MGFlMywKKwkweDBhZmEsIDB4MGFmZiwKKwkweDBiMDEsIDB4MGIw
MSwKKwkweDBiM2MsIDB4MGIzYywKKwkweDBiM2UsIDB4MGIzZiwKKwkweDBiNDEsIDB4MGI0NCwK
KwkweDBiNGQsIDB4MGI0ZCwKKwkweDBiNTYsIDB4MGI1NywKKwkweDBiNjIsIDB4MGI2MywKKwkw
eDBiODIsIDB4MGI4MiwKKwkweDBiYmUsIDB4MGJiZSwKKwkweDBiYzAsIDB4MGJjMCwKKwkweDBi
Y2QsIDB4MGJjZCwKKwkweDBiZDcsIDB4MGJkNywKKwkweDBjMDAsIDB4MGMwMCwKKwkweDBjMDQs
IDB4MGMwNCwKKwkweDBjM2UsIDB4MGM0MCwKKwkweDBjNDYsIDB4MGM0OCwKKwkweDBjNGEsIDB4
MGM0ZCwKKwkweDBjNTUsIDB4MGM1NiwKKwkweDBjNjIsIDB4MGM2MywKKwkweDBjODEsIDB4MGM4
MSwKKwkweDBjYmMsIDB4MGNiYywKKwkweDBjYmYsIDB4MGNiZiwKKwkweDBjYzIsIDB4MGNjMiwK
KwkweDBjYzYsIDB4MGNjNiwKKwkweDBjY2MsIDB4MGNjZCwKKwkweDBjZDUsIDB4MGNkNiwKKwkw
eDBjZTIsIDB4MGNlMywKKwkweDBkMDAsIDB4MGQwMSwKKwkweDBkM2IsIDB4MGQzYywKKwkweDBk
M2UsIDB4MGQzZSwKKwkweDBkNDEsIDB4MGQ0NCwKKwkweDBkNGQsIDB4MGQ0ZCwKKwkweDBkNTcs
IDB4MGQ1NywKKwkweDBkNjIsIDB4MGQ2MywKKwkweDBkY2EsIDB4MGRjYSwKKwkweDBkY2YsIDB4
MGRjZiwKKwkweDBkZDIsIDB4MGRkNCwKKwkweDBkZDYsIDB4MGRkNiwKKwkweDBkZGYsIDB4MGRk
ZiwKKwkweDBlMzEsIDB4MGUzMSwKKwkweDBlMzQsIDB4MGUzYSwKKwkweDBlNDcsIDB4MGU0ZSwK
KwkweDBlYjEsIDB4MGViMSwKKwkweDBlYjQsIDB4MGViYywKKwkweDBlYzgsIDB4MGVjZCwKKwkw
eDBmMTgsIDB4MGYxOSwKKwkweDBmMzUsIDB4MGYzNSwKKwkweDBmMzcsIDB4MGYzNywKKwkweDBm
MzksIDB4MGYzOSwKKwkweDBmNzEsIDB4MGY3ZSwKKwkweDBmODAsIDB4MGY4NCwKKwkweDBmODYs
IDB4MGY4NywKKwkweDBmOGQsIDB4MGY5NywKKwkweDBmOTksIDB4MGZiYywKKwkweDBmYzYsIDB4
MGZjNiwKKwkweDEwMmQsIDB4MTAzMCwKKwkweDEwMzIsIDB4MTAzNywKKwkweDEwMzksIDB4MTAz
YSwKKwkweDEwM2QsIDB4MTAzZSwKKwkweDEwNTgsIDB4MTA1OSwKKwkweDEwNWUsIDB4MTA2MCwK
KwkweDEwNzEsIDB4MTA3NCwKKwkweDEwODIsIDB4MTA4MiwKKwkweDEwODUsIDB4MTA4NiwKKwkw
eDEwOGQsIDB4MTA4ZCwKKwkweDEwOWQsIDB4MTA5ZCwKKwkweDEzNWQsIDB4MTM1ZiwKKwkweDE3
MTIsIDB4MTcxNCwKKwkweDE3MzIsIDB4MTczNCwKKwkweDE3NTIsIDB4MTc1MywKKwkweDE3NzIs
IDB4MTc3MywKKwkweDE3YjQsIDB4MTdiNSwKKwkweDE3YjcsIDB4MTdiZCwKKwkweDE3YzYsIDB4
MTdjNiwKKwkweDE3YzksIDB4MTdkMywKKwkweDE3ZGQsIDB4MTdkZCwKKwkweDE4MGIsIDB4MTgw
ZCwKKwkweDE4ODUsIDB4MTg4NiwKKwkweDE4YTksIDB4MThhOSwKKwkweDE5MjAsIDB4MTkyMiwK
KwkweDE5MjcsIDB4MTkyOCwKKwkweDE5MzIsIDB4MTkzMiwKKwkweDE5MzksIDB4MTkzYiwKKwkw
eDFhMTcsIDB4MWExOCwKKwkweDFhMWIsIDB4MWExYiwKKwkweDFhNTYsIDB4MWE1NiwKKwkweDFh
NTgsIDB4MWE1ZSwKKwkweDFhNjAsIDB4MWE2MCwKKwkweDFhNjIsIDB4MWE2MiwKKwkweDFhNjUs
IDB4MWE2YywKKwkweDFhNzMsIDB4MWE3YywKKwkweDFhN2YsIDB4MWE3ZiwKKwkweDFhYjAsIDB4
MWFiZSwKKwkweDFiMDAsIDB4MWIwMywKKwkweDFiMzQsIDB4MWIzYSwKKwkweDFiM2MsIDB4MWIz
YywKKwkweDFiNDIsIDB4MWI0MiwKKwkweDFiNmIsIDB4MWI3MywKKwkweDFiODAsIDB4MWI4MSwK
KwkweDFiYTIsIDB4MWJhNSwKKwkweDFiYTgsIDB4MWJhOSwKKwkweDFiYWIsIDB4MWJhZCwKKwkw
eDFiZTYsIDB4MWJlNiwKKwkweDFiZTgsIDB4MWJlOSwKKwkweDFiZWQsIDB4MWJlZCwKKwkweDFi
ZWYsIDB4MWJmMSwKKwkweDFjMmMsIDB4MWMzMywKKwkweDFjMzYsIDB4MWMzNywKKwkweDFjZDAs
IDB4MWNkMiwKKwkweDFjZDQsIDB4MWNlMCwKKwkweDFjZTIsIDB4MWNlOCwKKwkweDFjZWQsIDB4
MWNlZCwKKwkweDFjZjQsIDB4MWNmNCwKKwkweDFjZjgsIDB4MWNmOSwKKwkweDFkYzAsIDB4MWRm
OSwKKwkweDFkZmIsIDB4MWRmZiwKKwkweDIwMGMsIDB4MjAwYywKKwkweDIwZDAsIDB4MjBmMCwK
KwkweDJjZWYsIDB4MmNmMSwKKwkweDJkN2YsIDB4MmQ3ZiwKKwkweDJkZTAsIDB4MmRmZiwKKwkw
eDMwMmEsIDB4MzAyZiwKKwkweDMwOTksIDB4MzA5YSwKKwkweGE2NmYsIDB4YTY3MiwKKwkweGE2
NzQsIDB4YTY3ZCwKKwkweGE2OWUsIDB4YTY5ZiwKKwkweGE2ZjAsIDB4YTZmMSwKKwkweGE4MDIs
IDB4YTgwMiwKKwkweGE4MDYsIDB4YTgwNiwKKwkweGE4MGIsIDB4YTgwYiwKKwkweGE4MjUsIDB4
YTgyNiwKKwkweGE4YzQsIDB4YThjNSwKKwkweGE4ZTAsIDB4YThmMSwKKwkweGE4ZmYsIDB4YThm
ZiwKKwkweGE5MjYsIDB4YTkyZCwKKwkweGE5NDcsIDB4YTk1MSwKKwkweGE5ODAsIDB4YTk4MiwK
KwkweGE5YjMsIDB4YTliMywKKwkweGE5YjYsIDB4YTliOSwKKwkweGE5YmMsIDB4YTliZCwKKwkw
eGE5ZTUsIDB4YTllNSwKKwkweGFhMjksIDB4YWEyZSwKKwkweGFhMzEsIDB4YWEzMiwKKwkweGFh
MzUsIDB4YWEzNiwKKwkweGFhNDMsIDB4YWE0MywKKwkweGFhNGMsIDB4YWE0YywKKwkweGFhN2Ms
IDB4YWE3YywKKwkweGFhYjAsIDB4YWFiMCwKKwkweGFhYjIsIDB4YWFiNCwKKwkweGFhYjcsIDB4
YWFiOCwKKwkweGFhYmUsIDB4YWFiZiwKKwkweGFhYzEsIDB4YWFjMSwKKwkweGFhZWMsIDB4YWFl
ZCwKKwkweGFhZjYsIDB4YWFmNiwKKwkweGFiZTUsIDB4YWJlNSwKKwkweGFiZTgsIDB4YWJlOCwK
KwkweGFiZWQsIDB4YWJlZCwKKwkweGZiMWUsIDB4ZmIxZSwKKwkweGZlMDAsIDB4ZmUwZiwKKwkw
eGZlMjAsIDB4ZmUyZiwKKwkweGZmOWUsIDB4ZmY5ZiwKKwkweDEwMWZkLCAweDEwMWZkLAorCTB4
MTAyZTAsIDB4MTAyZTAsCisJMHgxMDM3NiwgMHgxMDM3YSwKKwkweDEwYTAxLCAweDEwYTAzLAor
CTB4MTBhMDUsIDB4MTBhMDYsCisJMHgxMGEwYywgMHgxMGEwZiwKKwkweDEwYTM4LCAweDEwYTNh
LAorCTB4MTBhM2YsIDB4MTBhM2YsCisJMHgxMGFlNSwgMHgxMGFlNiwKKwkweDEwZDI0LCAweDEw
ZDI3LAorCTB4MTBmNDYsIDB4MTBmNTAsCisJMHgxMTAwMSwgMHgxMTAwMSwKKwkweDExMDM4LCAw
eDExMDQ2LAorCTB4MTEwN2YsIDB4MTEwODEsCisJMHgxMTBiMywgMHgxMTBiNiwKKwkweDExMGI5
LCAweDExMGJhLAorCTB4MTExMDAsIDB4MTExMDIsCisJMHgxMTEyNywgMHgxMTEyYiwKKwkweDEx
MTJkLCAweDExMTM0LAorCTB4MTExNzMsIDB4MTExNzMsCisJMHgxMTE4MCwgMHgxMTE4MSwKKwkw
eDExMWI2LCAweDExMWJlLAorCTB4MTExYzksIDB4MTExY2MsCisJMHgxMTIyZiwgMHgxMTIzMSwK
KwkweDExMjM0LCAweDExMjM0LAorCTB4MTEyMzYsIDB4MTEyMzcsCisJMHgxMTIzZSwgMHgxMTIz
ZSwKKwkweDExMmRmLCAweDExMmRmLAorCTB4MTEyZTMsIDB4MTEyZWEsCisJMHgxMTMwMCwgMHgx
MTMwMSwKKwkweDExMzNiLCAweDExMzNjLAorCTB4MTEzM2UsIDB4MTEzM2UsCisJMHgxMTM0MCwg
MHgxMTM0MCwKKwkweDExMzU3LCAweDExMzU3LAorCTB4MTEzNjYsIDB4MTEzNmMsCisJMHgxMTM3
MCwgMHgxMTM3NCwKKwkweDExNDM4LCAweDExNDNmLAorCTB4MTE0NDIsIDB4MTE0NDQsCisJMHgx
MTQ0NiwgMHgxMTQ0NiwKKwkweDExNDVlLCAweDExNDVlLAorCTB4MTE0YjAsIDB4MTE0YjAsCisJ
MHgxMTRiMywgMHgxMTRiOCwKKwkweDExNGJhLCAweDExNGJhLAorCTB4MTE0YmQsIDB4MTE0YmQs
CisJMHgxMTRiZiwgMHgxMTRjMCwKKwkweDExNGMyLCAweDExNGMzLAorCTB4MTE1YWYsIDB4MTE1
YWYsCisJMHgxMTViMiwgMHgxMTViNSwKKwkweDExNWJjLCAweDExNWJkLAorCTB4MTE1YmYsIDB4
MTE1YzAsCisJMHgxMTVkYywgMHgxMTVkZCwKKwkweDExNjMzLCAweDExNjNhLAorCTB4MTE2M2Qs
IDB4MTE2M2QsCisJMHgxMTYzZiwgMHgxMTY0MCwKKwkweDExNmFiLCAweDExNmFiLAorCTB4MTE2
YWQsIDB4MTE2YWQsCisJMHgxMTZiMCwgMHgxMTZiNSwKKwkweDExNmI3LCAweDExNmI3LAorCTB4
MTE3MWQsIDB4MTE3MWYsCisJMHgxMTcyMiwgMHgxMTcyNSwKKwkweDExNzI3LCAweDExNzJiLAor
CTB4MTE4MmYsIDB4MTE4MzcsCisJMHgxMTgzOSwgMHgxMTgzYSwKKwkweDExOWQ0LCAweDExOWQ3
LAorCTB4MTE5ZGEsIDB4MTE5ZGIsCisJMHgxMTllMCwgMHgxMTllMCwKKwkweDExYTAxLCAweDEx
YTBhLAorCTB4MTFhMzMsIDB4MTFhMzgsCisJMHgxMWEzYiwgMHgxMWEzZSwKKwkweDExYTQ3LCAw
eDExYTQ3LAorCTB4MTFhNTEsIDB4MTFhNTYsCisJMHgxMWE1OSwgMHgxMWE1YiwKKwkweDExYThh
LCAweDExYTk2LAorCTB4MTFhOTgsIDB4MTFhOTksCisJMHgxMWMzMCwgMHgxMWMzNiwKKwkweDEx
YzM4LCAweDExYzNkLAorCTB4MTFjM2YsIDB4MTFjM2YsCisJMHgxMWM5MiwgMHgxMWNhNywKKwkw
eDExY2FhLCAweDExY2IwLAorCTB4MTFjYjIsIDB4MTFjYjMsCisJMHgxMWNiNSwgMHgxMWNiNiwK
KwkweDExZDMxLCAweDExZDM2LAorCTB4MTFkM2EsIDB4MTFkM2EsCisJMHgxMWQzYywgMHgxMWQz
ZCwKKwkweDExZDNmLCAweDExZDQ1LAorCTB4MTFkNDcsIDB4MTFkNDcsCisJMHgxMWQ5MCwgMHgx
MWQ5MSwKKwkweDExZDk1LCAweDExZDk1LAorCTB4MTFkOTcsIDB4MTFkOTcsCisJMHgxMWVmMywg
MHgxMWVmNCwKKwkweDE2YWYwLCAweDE2YWY0LAorCTB4MTZiMzAsIDB4MTZiMzYsCisJMHgxNmY0
ZiwgMHgxNmY0ZiwKKwkweDE2ZjhmLCAweDE2ZjkyLAorCTB4MWJjOWQsIDB4MWJjOWUsCisJMHgx
ZDE2NSwgMHgxZDE2NSwKKwkweDFkMTY3LCAweDFkMTY5LAorCTB4MWQxNmUsIDB4MWQxNzIsCisJ
MHgxZDE3YiwgMHgxZDE4MiwKKwkweDFkMTg1LCAweDFkMThiLAorCTB4MWQxYWEsIDB4MWQxYWQs
CisJMHgxZDI0MiwgMHgxZDI0NCwKKwkweDFkYTAwLCAweDFkYTM2LAorCTB4MWRhM2IsIDB4MWRh
NmMsCisJMHgxZGE3NSwgMHgxZGE3NSwKKwkweDFkYTg0LCAweDFkYTg0LAorCTB4MWRhOWIsIDB4
MWRhOWYsCisJMHgxZGFhMSwgMHgxZGFhZiwKKwkweDFlMDAwLCAweDFlMDA2LAorCTB4MWUwMDgs
IDB4MWUwMTgsCisJMHgxZTAxYiwgMHgxZTAyMSwKKwkweDFlMDIzLCAweDFlMDI0LAorCTB4MWUw
MjYsIDB4MWUwMmEsCisJMHgxZTEzMCwgMHgxZTEzNiwKKwkweDFlMmVjLCAweDFlMmVmLAorCTB4
MWU4ZDAsIDB4MWU4ZDYsCisJMHgxZTk0NCwgMHgxZTk0YSwKKwkweGUwMDIwLCAweGUwMDdmLAor
CTB4ZTAxMDAsIDB4ZTAxZWYsCit9OyAvKiBDUl9HcmFwaGVtZV9FeHRlbmQgKi8KKworLyogJ0dy
YXBoZW1lX0Jhc2UnOiBEZXJpdmVkIFByb3BlcnR5ICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQ
b2ludCBDUl9HcmFwaGVtZV9CYXNlW10gPSB7CisJODE5LAorCTB4MDAyMCwgMHgwMDdlLAorCTB4
MDBhMCwgMHgwMGFjLAorCTB4MDBhZSwgMHgwMmZmLAorCTB4MDM3MCwgMHgwMzc3LAorCTB4MDM3
YSwgMHgwMzdmLAorCTB4MDM4NCwgMHgwMzhhLAorCTB4MDM4YywgMHgwMzhjLAorCTB4MDM4ZSwg
MHgwM2ExLAorCTB4MDNhMywgMHgwNDgyLAorCTB4MDQ4YSwgMHgwNTJmLAorCTB4MDUzMSwgMHgw
NTU2LAorCTB4MDU1OSwgMHgwNThhLAorCTB4MDU4ZCwgMHgwNThmLAorCTB4MDViZSwgMHgwNWJl
LAorCTB4MDVjMCwgMHgwNWMwLAorCTB4MDVjMywgMHgwNWMzLAorCTB4MDVjNiwgMHgwNWM2LAor
CTB4MDVkMCwgMHgwNWVhLAorCTB4MDVlZiwgMHgwNWY0LAorCTB4MDYwNiwgMHgwNjBmLAorCTB4
MDYxYiwgMHgwNjFiLAorCTB4MDYxZSwgMHgwNjRhLAorCTB4MDY2MCwgMHgwNjZmLAorCTB4MDY3
MSwgMHgwNmQ1LAorCTB4MDZkZSwgMHgwNmRlLAorCTB4MDZlNSwgMHgwNmU2LAorCTB4MDZlOSwg
MHgwNmU5LAorCTB4MDZlZSwgMHgwNzBkLAorCTB4MDcxMCwgMHgwNzEwLAorCTB4MDcxMiwgMHgw
NzJmLAorCTB4MDc0ZCwgMHgwN2E1LAorCTB4MDdiMSwgMHgwN2IxLAorCTB4MDdjMCwgMHgwN2Vh
LAorCTB4MDdmNCwgMHgwN2ZhLAorCTB4MDdmZSwgMHgwODE1LAorCTB4MDgxYSwgMHgwODFhLAor
CTB4MDgyNCwgMHgwODI0LAorCTB4MDgyOCwgMHgwODI4LAorCTB4MDgzMCwgMHgwODNlLAorCTB4
MDg0MCwgMHgwODU4LAorCTB4MDg1ZSwgMHgwODVlLAorCTB4MDg2MCwgMHgwODZhLAorCTB4MDhh
MCwgMHgwOGI0LAorCTB4MDhiNiwgMHgwOGJkLAorCTB4MDkwMywgMHgwOTM5LAorCTB4MDkzYiwg
MHgwOTNiLAorCTB4MDkzZCwgMHgwOTQwLAorCTB4MDk0OSwgMHgwOTRjLAorCTB4MDk0ZSwgMHgw
OTUwLAorCTB4MDk1OCwgMHgwOTYxLAorCTB4MDk2NCwgMHgwOTgwLAorCTB4MDk4MiwgMHgwOTgz
LAorCTB4MDk4NSwgMHgwOThjLAorCTB4MDk4ZiwgMHgwOTkwLAorCTB4MDk5MywgMHgwOWE4LAor
CTB4MDlhYSwgMHgwOWIwLAorCTB4MDliMiwgMHgwOWIyLAorCTB4MDliNiwgMHgwOWI5LAorCTB4
MDliZCwgMHgwOWJkLAorCTB4MDliZiwgMHgwOWMwLAorCTB4MDljNywgMHgwOWM4LAorCTB4MDlj
YiwgMHgwOWNjLAorCTB4MDljZSwgMHgwOWNlLAorCTB4MDlkYywgMHgwOWRkLAorCTB4MDlkZiwg
MHgwOWUxLAorCTB4MDllNiwgMHgwOWZkLAorCTB4MGEwMywgMHgwYTAzLAorCTB4MGEwNSwgMHgw
YTBhLAorCTB4MGEwZiwgMHgwYTEwLAorCTB4MGExMywgMHgwYTI4LAorCTB4MGEyYSwgMHgwYTMw
LAorCTB4MGEzMiwgMHgwYTMzLAorCTB4MGEzNSwgMHgwYTM2LAorCTB4MGEzOCwgMHgwYTM5LAor
CTB4MGEzZSwgMHgwYTQwLAorCTB4MGE1OSwgMHgwYTVjLAorCTB4MGE1ZSwgMHgwYTVlLAorCTB4
MGE2NiwgMHgwYTZmLAorCTB4MGE3MiwgMHgwYTc0LAorCTB4MGE3NiwgMHgwYTc2LAorCTB4MGE4
MywgMHgwYTgzLAorCTB4MGE4NSwgMHgwYThkLAorCTB4MGE4ZiwgMHgwYTkxLAorCTB4MGE5Mywg
MHgwYWE4LAorCTB4MGFhYSwgMHgwYWIwLAorCTB4MGFiMiwgMHgwYWIzLAorCTB4MGFiNSwgMHgw
YWI5LAorCTB4MGFiZCwgMHgwYWMwLAorCTB4MGFjOSwgMHgwYWM5LAorCTB4MGFjYiwgMHgwYWNj
LAorCTB4MGFkMCwgMHgwYWQwLAorCTB4MGFlMCwgMHgwYWUxLAorCTB4MGFlNiwgMHgwYWYxLAor
CTB4MGFmOSwgMHgwYWY5LAorCTB4MGIwMiwgMHgwYjAzLAorCTB4MGIwNSwgMHgwYjBjLAorCTB4
MGIwZiwgMHgwYjEwLAorCTB4MGIxMywgMHgwYjI4LAorCTB4MGIyYSwgMHgwYjMwLAorCTB4MGIz
MiwgMHgwYjMzLAorCTB4MGIzNSwgMHgwYjM5LAorCTB4MGIzZCwgMHgwYjNkLAorCTB4MGI0MCwg
MHgwYjQwLAorCTB4MGI0NywgMHgwYjQ4LAorCTB4MGI0YiwgMHgwYjRjLAorCTB4MGI1YywgMHgw
YjVkLAorCTB4MGI1ZiwgMHgwYjYxLAorCTB4MGI2NiwgMHgwYjc3LAorCTB4MGI4MywgMHgwYjgz
LAorCTB4MGI4NSwgMHgwYjhhLAorCTB4MGI4ZSwgMHgwYjkwLAorCTB4MGI5MiwgMHgwYjk1LAor
CTB4MGI5OSwgMHgwYjlhLAorCTB4MGI5YywgMHgwYjljLAorCTB4MGI5ZSwgMHgwYjlmLAorCTB4
MGJhMywgMHgwYmE0LAorCTB4MGJhOCwgMHgwYmFhLAorCTB4MGJhZSwgMHgwYmI5LAorCTB4MGJi
ZiwgMHgwYmJmLAorCTB4MGJjMSwgMHgwYmMyLAorCTB4MGJjNiwgMHgwYmM4LAorCTB4MGJjYSwg
MHgwYmNjLAorCTB4MGJkMCwgMHgwYmQwLAorCTB4MGJlNiwgMHgwYmZhLAorCTB4MGMwMSwgMHgw
YzAzLAorCTB4MGMwNSwgMHgwYzBjLAorCTB4MGMwZSwgMHgwYzEwLAorCTB4MGMxMiwgMHgwYzI4
LAorCTB4MGMyYSwgMHgwYzM5LAorCTB4MGMzZCwgMHgwYzNkLAorCTB4MGM0MSwgMHgwYzQ0LAor
CTB4MGM1OCwgMHgwYzVhLAorCTB4MGM2MCwgMHgwYzYxLAorCTB4MGM2NiwgMHgwYzZmLAorCTB4
MGM3NywgMHgwYzgwLAorCTB4MGM4MiwgMHgwYzhjLAorCTB4MGM4ZSwgMHgwYzkwLAorCTB4MGM5
MiwgMHgwY2E4LAorCTB4MGNhYSwgMHgwY2IzLAorCTB4MGNiNSwgMHgwY2I5LAorCTB4MGNiZCwg
MHgwY2JlLAorCTB4MGNjMCwgMHgwY2MxLAorCTB4MGNjMywgMHgwY2M0LAorCTB4MGNjNywgMHgw
Y2M4LAorCTB4MGNjYSwgMHgwY2NiLAorCTB4MGNkZSwgMHgwY2RlLAorCTB4MGNlMCwgMHgwY2Ux
LAorCTB4MGNlNiwgMHgwY2VmLAorCTB4MGNmMSwgMHgwY2YyLAorCTB4MGQwMiwgMHgwZDAzLAor
CTB4MGQwNSwgMHgwZDBjLAorCTB4MGQwZSwgMHgwZDEwLAorCTB4MGQxMiwgMHgwZDNhLAorCTB4
MGQzZCwgMHgwZDNkLAorCTB4MGQzZiwgMHgwZDQwLAorCTB4MGQ0NiwgMHgwZDQ4LAorCTB4MGQ0
YSwgMHgwZDRjLAorCTB4MGQ0ZSwgMHgwZDRmLAorCTB4MGQ1NCwgMHgwZDU2LAorCTB4MGQ1OCwg
MHgwZDYxLAorCTB4MGQ2NiwgMHgwZDdmLAorCTB4MGQ4MiwgMHgwZDgzLAorCTB4MGQ4NSwgMHgw
ZDk2LAorCTB4MGQ5YSwgMHgwZGIxLAorCTB4MGRiMywgMHgwZGJiLAorCTB4MGRiZCwgMHgwZGJk
LAorCTB4MGRjMCwgMHgwZGM2LAorCTB4MGRkMCwgMHgwZGQxLAorCTB4MGRkOCwgMHgwZGRlLAor
CTB4MGRlNiwgMHgwZGVmLAorCTB4MGRmMiwgMHgwZGY0LAorCTB4MGUwMSwgMHgwZTMwLAorCTB4
MGUzMiwgMHgwZTMzLAorCTB4MGUzZiwgMHgwZTQ2LAorCTB4MGU0ZiwgMHgwZTViLAorCTB4MGU4
MSwgMHgwZTgyLAorCTB4MGU4NCwgMHgwZTg0LAorCTB4MGU4NiwgMHgwZThhLAorCTB4MGU4Yywg
MHgwZWEzLAorCTB4MGVhNSwgMHgwZWE1LAorCTB4MGVhNywgMHgwZWIwLAorCTB4MGViMiwgMHgw
ZWIzLAorCTB4MGViZCwgMHgwZWJkLAorCTB4MGVjMCwgMHgwZWM0LAorCTB4MGVjNiwgMHgwZWM2
LAorCTB4MGVkMCwgMHgwZWQ5LAorCTB4MGVkYywgMHgwZWRmLAorCTB4MGYwMCwgMHgwZjE3LAor
CTB4MGYxYSwgMHgwZjM0LAorCTB4MGYzNiwgMHgwZjM2LAorCTB4MGYzOCwgMHgwZjM4LAorCTB4
MGYzYSwgMHgwZjQ3LAorCTB4MGY0OSwgMHgwZjZjLAorCTB4MGY3ZiwgMHgwZjdmLAorCTB4MGY4
NSwgMHgwZjg1LAorCTB4MGY4OCwgMHgwZjhjLAorCTB4MGZiZSwgMHgwZmM1LAorCTB4MGZjNywg
MHgwZmNjLAorCTB4MGZjZSwgMHgwZmRhLAorCTB4MTAwMCwgMHgxMDJjLAorCTB4MTAzMSwgMHgx
MDMxLAorCTB4MTAzOCwgMHgxMDM4LAorCTB4MTAzYiwgMHgxMDNjLAorCTB4MTAzZiwgMHgxMDU3
LAorCTB4MTA1YSwgMHgxMDVkLAorCTB4MTA2MSwgMHgxMDcwLAorCTB4MTA3NSwgMHgxMDgxLAor
CTB4MTA4MywgMHgxMDg0LAorCTB4MTA4NywgMHgxMDhjLAorCTB4MTA4ZSwgMHgxMDljLAorCTB4
MTA5ZSwgMHgxMGM1LAorCTB4MTBjNywgMHgxMGM3LAorCTB4MTBjZCwgMHgxMGNkLAorCTB4MTBk
MCwgMHgxMjQ4LAorCTB4MTI0YSwgMHgxMjRkLAorCTB4MTI1MCwgMHgxMjU2LAorCTB4MTI1OCwg
MHgxMjU4LAorCTB4MTI1YSwgMHgxMjVkLAorCTB4MTI2MCwgMHgxMjg4LAorCTB4MTI4YSwgMHgx
MjhkLAorCTB4MTI5MCwgMHgxMmIwLAorCTB4MTJiMiwgMHgxMmI1LAorCTB4MTJiOCwgMHgxMmJl
LAorCTB4MTJjMCwgMHgxMmMwLAorCTB4MTJjMiwgMHgxMmM1LAorCTB4MTJjOCwgMHgxMmQ2LAor
CTB4MTJkOCwgMHgxMzEwLAorCTB4MTMxMiwgMHgxMzE1LAorCTB4MTMxOCwgMHgxMzVhLAorCTB4
MTM2MCwgMHgxMzdjLAorCTB4MTM4MCwgMHgxMzk5LAorCTB4MTNhMCwgMHgxM2Y1LAorCTB4MTNm
OCwgMHgxM2ZkLAorCTB4MTQwMCwgMHgxNjljLAorCTB4MTZhMCwgMHgxNmY4LAorCTB4MTcwMCwg
MHgxNzBjLAorCTB4MTcwZSwgMHgxNzExLAorCTB4MTcyMCwgMHgxNzMxLAorCTB4MTczNSwgMHgx
NzM2LAorCTB4MTc0MCwgMHgxNzUxLAorCTB4MTc2MCwgMHgxNzZjLAorCTB4MTc2ZSwgMHgxNzcw
LAorCTB4MTc4MCwgMHgxN2IzLAorCTB4MTdiNiwgMHgxN2I2LAorCTB4MTdiZSwgMHgxN2M1LAor
CTB4MTdjNywgMHgxN2M4LAorCTB4MTdkNCwgMHgxN2RjLAorCTB4MTdlMCwgMHgxN2U5LAorCTB4
MTdmMCwgMHgxN2Y5LAorCTB4MTgwMCwgMHgxODBhLAorCTB4MTgxMCwgMHgxODE5LAorCTB4MTgy
MCwgMHgxODc4LAorCTB4MTg4MCwgMHgxODg0LAorCTB4MTg4NywgMHgxOGE4LAorCTB4MThhYSwg
MHgxOGFhLAorCTB4MThiMCwgMHgxOGY1LAorCTB4MTkwMCwgMHgxOTFlLAorCTB4MTkyMywgMHgx
OTI2LAorCTB4MTkyOSwgMHgxOTJiLAorCTB4MTkzMCwgMHgxOTMxLAorCTB4MTkzMywgMHgxOTM4
LAorCTB4MTk0MCwgMHgxOTQwLAorCTB4MTk0NCwgMHgxOTZkLAorCTB4MTk3MCwgMHgxOTc0LAor
CTB4MTk4MCwgMHgxOWFiLAorCTB4MTliMCwgMHgxOWM5LAorCTB4MTlkMCwgMHgxOWRhLAorCTB4
MTlkZSwgMHgxYTE2LAorCTB4MWExOSwgMHgxYTFhLAorCTB4MWExZSwgMHgxYTU1LAorCTB4MWE1
NywgMHgxYTU3LAorCTB4MWE2MSwgMHgxYTYxLAorCTB4MWE2MywgMHgxYTY0LAorCTB4MWE2ZCwg
MHgxYTcyLAorCTB4MWE4MCwgMHgxYTg5LAorCTB4MWE5MCwgMHgxYTk5LAorCTB4MWFhMCwgMHgx
YWFkLAorCTB4MWIwNCwgMHgxYjMzLAorCTB4MWIzYiwgMHgxYjNiLAorCTB4MWIzZCwgMHgxYjQx
LAorCTB4MWI0MywgMHgxYjRiLAorCTB4MWI1MCwgMHgxYjZhLAorCTB4MWI3NCwgMHgxYjdjLAor
CTB4MWI4MiwgMHgxYmExLAorCTB4MWJhNiwgMHgxYmE3LAorCTB4MWJhYSwgMHgxYmFhLAorCTB4
MWJhZSwgMHgxYmU1LAorCTB4MWJlNywgMHgxYmU3LAorCTB4MWJlYSwgMHgxYmVjLAorCTB4MWJl
ZSwgMHgxYmVlLAorCTB4MWJmMiwgMHgxYmYzLAorCTB4MWJmYywgMHgxYzJiLAorCTB4MWMzNCwg
MHgxYzM1LAorCTB4MWMzYiwgMHgxYzQ5LAorCTB4MWM0ZCwgMHgxYzg4LAorCTB4MWM5MCwgMHgx
Y2JhLAorCTB4MWNiZCwgMHgxY2M3LAorCTB4MWNkMywgMHgxY2QzLAorCTB4MWNlMSwgMHgxY2Ux
LAorCTB4MWNlOSwgMHgxY2VjLAorCTB4MWNlZSwgMHgxY2YzLAorCTB4MWNmNSwgMHgxY2Y3LAor
CTB4MWNmYSwgMHgxY2ZhLAorCTB4MWQwMCwgMHgxZGJmLAorCTB4MWUwMCwgMHgxZjE1LAorCTB4
MWYxOCwgMHgxZjFkLAorCTB4MWYyMCwgMHgxZjQ1LAorCTB4MWY0OCwgMHgxZjRkLAorCTB4MWY1
MCwgMHgxZjU3LAorCTB4MWY1OSwgMHgxZjU5LAorCTB4MWY1YiwgMHgxZjViLAorCTB4MWY1ZCwg
MHgxZjVkLAorCTB4MWY1ZiwgMHgxZjdkLAorCTB4MWY4MCwgMHgxZmI0LAorCTB4MWZiNiwgMHgx
ZmM0LAorCTB4MWZjNiwgMHgxZmQzLAorCTB4MWZkNiwgMHgxZmRiLAorCTB4MWZkZCwgMHgxZmVm
LAorCTB4MWZmMiwgMHgxZmY0LAorCTB4MWZmNiwgMHgxZmZlLAorCTB4MjAwMCwgMHgyMDBhLAor
CTB4MjAxMCwgMHgyMDI3LAorCTB4MjAyZiwgMHgyMDVmLAorCTB4MjA3MCwgMHgyMDcxLAorCTB4
MjA3NCwgMHgyMDhlLAorCTB4MjA5MCwgMHgyMDljLAorCTB4MjBhMCwgMHgyMGJmLAorCTB4MjEw
MCwgMHgyMThiLAorCTB4MjE5MCwgMHgyNDI2LAorCTB4MjQ0MCwgMHgyNDRhLAorCTB4MjQ2MCwg
MHgyYjczLAorCTB4MmI3NiwgMHgyYjk1LAorCTB4MmI5OCwgMHgyYzJlLAorCTB4MmMzMCwgMHgy
YzVlLAorCTB4MmM2MCwgMHgyY2VlLAorCTB4MmNmMiwgMHgyY2YzLAorCTB4MmNmOSwgMHgyZDI1
LAorCTB4MmQyNywgMHgyZDI3LAorCTB4MmQyZCwgMHgyZDJkLAorCTB4MmQzMCwgMHgyZDY3LAor
CTB4MmQ2ZiwgMHgyZDcwLAorCTB4MmQ4MCwgMHgyZDk2LAorCTB4MmRhMCwgMHgyZGE2LAorCTB4
MmRhOCwgMHgyZGFlLAorCTB4MmRiMCwgMHgyZGI2LAorCTB4MmRiOCwgMHgyZGJlLAorCTB4MmRj
MCwgMHgyZGM2LAorCTB4MmRjOCwgMHgyZGNlLAorCTB4MmRkMCwgMHgyZGQ2LAorCTB4MmRkOCwg
MHgyZGRlLAorCTB4MmUwMCwgMHgyZTRmLAorCTB4MmU4MCwgMHgyZTk5LAorCTB4MmU5YiwgMHgy
ZWYzLAorCTB4MmYwMCwgMHgyZmQ1LAorCTB4MmZmMCwgMHgyZmZiLAorCTB4MzAwMCwgMHgzMDI5
LAorCTB4MzAzMCwgMHgzMDNmLAorCTB4MzA0MSwgMHgzMDk2LAorCTB4MzA5YiwgMHgzMGZmLAor
CTB4MzEwNSwgMHgzMTJmLAorCTB4MzEzMSwgMHgzMThlLAorCTB4MzE5MCwgMHgzMWJhLAorCTB4
MzFjMCwgMHgzMWUzLAorCTB4MzFmMCwgMHgzMjFlLAorCTB4MzIyMCwgMHg0ZGI1LAorCTB4NGRj
MCwgMHg5ZmVmLAorCTB4YTAwMCwgMHhhNDhjLAorCTB4YTQ5MCwgMHhhNGM2LAorCTB4YTRkMCwg
MHhhNjJiLAorCTB4YTY0MCwgMHhhNjZlLAorCTB4YTY3MywgMHhhNjczLAorCTB4YTY3ZSwgMHhh
NjlkLAorCTB4YTZhMCwgMHhhNmVmLAorCTB4YTZmMiwgMHhhNmY3LAorCTB4YTcwMCwgMHhhN2Jm
LAorCTB4YTdjMiwgMHhhN2M2LAorCTB4YTdmNywgMHhhODAxLAorCTB4YTgwMywgMHhhODA1LAor
CTB4YTgwNywgMHhhODBhLAorCTB4YTgwYywgMHhhODI0LAorCTB4YTgyNywgMHhhODJiLAorCTB4
YTgzMCwgMHhhODM5LAorCTB4YTg0MCwgMHhhODc3LAorCTB4YTg4MCwgMHhhOGMzLAorCTB4YThj
ZSwgMHhhOGQ5LAorCTB4YThmMiwgMHhhOGZlLAorCTB4YTkwMCwgMHhhOTI1LAorCTB4YTkyZSwg
MHhhOTQ2LAorCTB4YTk1MiwgMHhhOTUzLAorCTB4YTk1ZiwgMHhhOTdjLAorCTB4YTk4MywgMHhh
OWIyLAorCTB4YTliNCwgMHhhOWI1LAorCTB4YTliYSwgMHhhOWJiLAorCTB4YTliZSwgMHhhOWNk
LAorCTB4YTljZiwgMHhhOWQ5LAorCTB4YTlkZSwgMHhhOWU0LAorCTB4YTllNiwgMHhhOWZlLAor
CTB4YWEwMCwgMHhhYTI4LAorCTB4YWEyZiwgMHhhYTMwLAorCTB4YWEzMywgMHhhYTM0LAorCTB4
YWE0MCwgMHhhYTQyLAorCTB4YWE0NCwgMHhhYTRiLAorCTB4YWE0ZCwgMHhhYTRkLAorCTB4YWE1
MCwgMHhhYTU5LAorCTB4YWE1YywgMHhhYTdiLAorCTB4YWE3ZCwgMHhhYWFmLAorCTB4YWFiMSwg
MHhhYWIxLAorCTB4YWFiNSwgMHhhYWI2LAorCTB4YWFiOSwgMHhhYWJkLAorCTB4YWFjMCwgMHhh
YWMwLAorCTB4YWFjMiwgMHhhYWMyLAorCTB4YWFkYiwgMHhhYWViLAorCTB4YWFlZSwgMHhhYWY1
LAorCTB4YWIwMSwgMHhhYjA2LAorCTB4YWIwOSwgMHhhYjBlLAorCTB4YWIxMSwgMHhhYjE2LAor
CTB4YWIyMCwgMHhhYjI2LAorCTB4YWIyOCwgMHhhYjJlLAorCTB4YWIzMCwgMHhhYjY3LAorCTB4
YWI3MCwgMHhhYmU0LAorCTB4YWJlNiwgMHhhYmU3LAorCTB4YWJlOSwgMHhhYmVjLAorCTB4YWJm
MCwgMHhhYmY5LAorCTB4YWMwMCwgMHhkN2EzLAorCTB4ZDdiMCwgMHhkN2M2LAorCTB4ZDdjYiwg
MHhkN2ZiLAorCTB4ZjkwMCwgMHhmYTZkLAorCTB4ZmE3MCwgMHhmYWQ5LAorCTB4ZmIwMCwgMHhm
YjA2LAorCTB4ZmIxMywgMHhmYjE3LAorCTB4ZmIxZCwgMHhmYjFkLAorCTB4ZmIxZiwgMHhmYjM2
LAorCTB4ZmIzOCwgMHhmYjNjLAorCTB4ZmIzZSwgMHhmYjNlLAorCTB4ZmI0MCwgMHhmYjQxLAor
CTB4ZmI0MywgMHhmYjQ0LAorCTB4ZmI0NiwgMHhmYmMxLAorCTB4ZmJkMywgMHhmZDNmLAorCTB4
ZmQ1MCwgMHhmZDhmLAorCTB4ZmQ5MiwgMHhmZGM3LAorCTB4ZmRmMCwgMHhmZGZkLAorCTB4ZmUx
MCwgMHhmZTE5LAorCTB4ZmUzMCwgMHhmZTUyLAorCTB4ZmU1NCwgMHhmZTY2LAorCTB4ZmU2OCwg
MHhmZTZiLAorCTB4ZmU3MCwgMHhmZTc0LAorCTB4ZmU3NiwgMHhmZWZjLAorCTB4ZmYwMSwgMHhm
ZjlkLAorCTB4ZmZhMCwgMHhmZmJlLAorCTB4ZmZjMiwgMHhmZmM3LAorCTB4ZmZjYSwgMHhmZmNm
LAorCTB4ZmZkMiwgMHhmZmQ3LAorCTB4ZmZkYSwgMHhmZmRjLAorCTB4ZmZlMCwgMHhmZmU2LAor
CTB4ZmZlOCwgMHhmZmVlLAorCTB4ZmZmYywgMHhmZmZkLAorCTB4MTAwMDAsIDB4MTAwMGIsCisJ
MHgxMDAwZCwgMHgxMDAyNiwKKwkweDEwMDI4LCAweDEwMDNhLAorCTB4MTAwM2MsIDB4MTAwM2Qs
CisJMHgxMDAzZiwgMHgxMDA0ZCwKKwkweDEwMDUwLCAweDEwMDVkLAorCTB4MTAwODAsIDB4MTAw
ZmEsCisJMHgxMDEwMCwgMHgxMDEwMiwKKwkweDEwMTA3LCAweDEwMTMzLAorCTB4MTAxMzcsIDB4
MTAxOGUsCisJMHgxMDE5MCwgMHgxMDE5YiwKKwkweDEwMWEwLCAweDEwMWEwLAorCTB4MTAxZDAs
IDB4MTAxZmMsCisJMHgxMDI4MCwgMHgxMDI5YywKKwkweDEwMmEwLCAweDEwMmQwLAorCTB4MTAy
ZTEsIDB4MTAyZmIsCisJMHgxMDMwMCwgMHgxMDMyMywKKwkweDEwMzJkLCAweDEwMzRhLAorCTB4
MTAzNTAsIDB4MTAzNzUsCisJMHgxMDM4MCwgMHgxMDM5ZCwKKwkweDEwMzlmLCAweDEwM2MzLAor
CTB4MTAzYzgsIDB4MTAzZDUsCisJMHgxMDQwMCwgMHgxMDQ5ZCwKKwkweDEwNGEwLCAweDEwNGE5
LAorCTB4MTA0YjAsIDB4MTA0ZDMsCisJMHgxMDRkOCwgMHgxMDRmYiwKKwkweDEwNTAwLCAweDEw
NTI3LAorCTB4MTA1MzAsIDB4MTA1NjMsCisJMHgxMDU2ZiwgMHgxMDU2ZiwKKwkweDEwNjAwLCAw
eDEwNzM2LAorCTB4MTA3NDAsIDB4MTA3NTUsCisJMHgxMDc2MCwgMHgxMDc2NywKKwkweDEwODAw
LCAweDEwODA1LAorCTB4MTA4MDgsIDB4MTA4MDgsCisJMHgxMDgwYSwgMHgxMDgzNSwKKwkweDEw
ODM3LCAweDEwODM4LAorCTB4MTA4M2MsIDB4MTA4M2MsCisJMHgxMDgzZiwgMHgxMDg1NSwKKwkw
eDEwODU3LCAweDEwODllLAorCTB4MTA4YTcsIDB4MTA4YWYsCisJMHgxMDhlMCwgMHgxMDhmMiwK
KwkweDEwOGY0LCAweDEwOGY1LAorCTB4MTA4ZmIsIDB4MTA5MWIsCisJMHgxMDkxZiwgMHgxMDkz
OSwKKwkweDEwOTNmLCAweDEwOTNmLAorCTB4MTA5ODAsIDB4MTA5YjcsCisJMHgxMDliYywgMHgx
MDljZiwKKwkweDEwOWQyLCAweDEwYTAwLAorCTB4MTBhMTAsIDB4MTBhMTMsCisJMHgxMGExNSwg
MHgxMGExNywKKwkweDEwYTE5LCAweDEwYTM1LAorCTB4MTBhNDAsIDB4MTBhNDgsCisJMHgxMGE1
MCwgMHgxMGE1OCwKKwkweDEwYTYwLCAweDEwYTlmLAorCTB4MTBhYzAsIDB4MTBhZTQsCisJMHgx
MGFlYiwgMHgxMGFmNiwKKwkweDEwYjAwLCAweDEwYjM1LAorCTB4MTBiMzksIDB4MTBiNTUsCisJ
MHgxMGI1OCwgMHgxMGI3MiwKKwkweDEwYjc4LCAweDEwYjkxLAorCTB4MTBiOTksIDB4MTBiOWMs
CisJMHgxMGJhOSwgMHgxMGJhZiwKKwkweDEwYzAwLCAweDEwYzQ4LAorCTB4MTBjODAsIDB4MTBj
YjIsCisJMHgxMGNjMCwgMHgxMGNmMiwKKwkweDEwY2ZhLCAweDEwZDIzLAorCTB4MTBkMzAsIDB4
MTBkMzksCisJMHgxMGU2MCwgMHgxMGU3ZSwKKwkweDEwZjAwLCAweDEwZjI3LAorCTB4MTBmMzAs
IDB4MTBmNDUsCisJMHgxMGY1MSwgMHgxMGY1OSwKKwkweDEwZmUwLCAweDEwZmY2LAorCTB4MTEw
MDAsIDB4MTEwMDAsCisJMHgxMTAwMiwgMHgxMTAzNywKKwkweDExMDQ3LCAweDExMDRkLAorCTB4
MTEwNTIsIDB4MTEwNmYsCisJMHgxMTA4MiwgMHgxMTBiMiwKKwkweDExMGI3LCAweDExMGI4LAor
CTB4MTEwYmIsIDB4MTEwYmMsCisJMHgxMTBiZSwgMHgxMTBjMSwKKwkweDExMGQwLCAweDExMGU4
LAorCTB4MTEwZjAsIDB4MTEwZjksCisJMHgxMTEwMywgMHgxMTEyNiwKKwkweDExMTJjLCAweDEx
MTJjLAorCTB4MTExMzYsIDB4MTExNDYsCisJMHgxMTE1MCwgMHgxMTE3MiwKKwkweDExMTc0LCAw
eDExMTc2LAorCTB4MTExODIsIDB4MTExYjUsCisJMHgxMTFiZiwgMHgxMTFjOCwKKwkweDExMWNk
LCAweDExMWNkLAorCTB4MTExZDAsIDB4MTExZGYsCisJMHgxMTFlMSwgMHgxMTFmNCwKKwkweDEx
MjAwLCAweDExMjExLAorCTB4MTEyMTMsIDB4MTEyMmUsCisJMHgxMTIzMiwgMHgxMTIzMywKKwkw
eDExMjM1LCAweDExMjM1LAorCTB4MTEyMzgsIDB4MTEyM2QsCisJMHgxMTI4MCwgMHgxMTI4NiwK
KwkweDExMjg4LCAweDExMjg4LAorCTB4MTEyOGEsIDB4MTEyOGQsCisJMHgxMTI4ZiwgMHgxMTI5
ZCwKKwkweDExMjlmLCAweDExMmE5LAorCTB4MTEyYjAsIDB4MTEyZGUsCisJMHgxMTJlMCwgMHgx
MTJlMiwKKwkweDExMmYwLCAweDExMmY5LAorCTB4MTEzMDIsIDB4MTEzMDMsCisJMHgxMTMwNSwg
MHgxMTMwYywKKwkweDExMzBmLCAweDExMzEwLAorCTB4MTEzMTMsIDB4MTEzMjgsCisJMHgxMTMy
YSwgMHgxMTMzMCwKKwkweDExMzMyLCAweDExMzMzLAorCTB4MTEzMzUsIDB4MTEzMzksCisJMHgx
MTMzZCwgMHgxMTMzZCwKKwkweDExMzNmLCAweDExMzNmLAorCTB4MTEzNDEsIDB4MTEzNDQsCisJ
MHgxMTM0NywgMHgxMTM0OCwKKwkweDExMzRiLCAweDExMzRkLAorCTB4MTEzNTAsIDB4MTEzNTAs
CisJMHgxMTM1ZCwgMHgxMTM2MywKKwkweDExNDAwLCAweDExNDM3LAorCTB4MTE0NDAsIDB4MTE0
NDEsCisJMHgxMTQ0NSwgMHgxMTQ0NSwKKwkweDExNDQ3LCAweDExNDU5LAorCTB4MTE0NWIsIDB4
MTE0NWIsCisJMHgxMTQ1ZCwgMHgxMTQ1ZCwKKwkweDExNDVmLCAweDExNDVmLAorCTB4MTE0ODAs
IDB4MTE0YWYsCisJMHgxMTRiMSwgMHgxMTRiMiwKKwkweDExNGI5LCAweDExNGI5LAorCTB4MTE0
YmIsIDB4MTE0YmMsCisJMHgxMTRiZSwgMHgxMTRiZSwKKwkweDExNGMxLCAweDExNGMxLAorCTB4
MTE0YzQsIDB4MTE0YzcsCisJMHgxMTRkMCwgMHgxMTRkOSwKKwkweDExNTgwLCAweDExNWFlLAor
CTB4MTE1YjAsIDB4MTE1YjEsCisJMHgxMTViOCwgMHgxMTViYiwKKwkweDExNWJlLCAweDExNWJl
LAorCTB4MTE1YzEsIDB4MTE1ZGIsCisJMHgxMTYwMCwgMHgxMTYzMiwKKwkweDExNjNiLCAweDEx
NjNjLAorCTB4MTE2M2UsIDB4MTE2M2UsCisJMHgxMTY0MSwgMHgxMTY0NCwKKwkweDExNjUwLCAw
eDExNjU5LAorCTB4MTE2NjAsIDB4MTE2NmMsCisJMHgxMTY4MCwgMHgxMTZhYSwKKwkweDExNmFj
LCAweDExNmFjLAorCTB4MTE2YWUsIDB4MTE2YWYsCisJMHgxMTZiNiwgMHgxMTZiNiwKKwkweDEx
NmI4LCAweDExNmI4LAorCTB4MTE2YzAsIDB4MTE2YzksCisJMHgxMTcwMCwgMHgxMTcxYSwKKwkw
eDExNzIwLCAweDExNzIxLAorCTB4MTE3MjYsIDB4MTE3MjYsCisJMHgxMTczMCwgMHgxMTczZiwK
KwkweDExODAwLCAweDExODJlLAorCTB4MTE4MzgsIDB4MTE4MzgsCisJMHgxMTgzYiwgMHgxMTgz
YiwKKwkweDExOGEwLCAweDExOGYyLAorCTB4MTE4ZmYsIDB4MTE4ZmYsCisJMHgxMTlhMCwgMHgx
MTlhNywKKwkweDExOWFhLCAweDExOWQzLAorCTB4MTE5ZGMsIDB4MTE5ZGYsCisJMHgxMTllMSwg
MHgxMTllNCwKKwkweDExYTAwLCAweDExYTAwLAorCTB4MTFhMGIsIDB4MTFhMzIsCisJMHgxMWEz
OSwgMHgxMWEzYSwKKwkweDExYTNmLCAweDExYTQ2LAorCTB4MTFhNTAsIDB4MTFhNTAsCisJMHgx
MWE1NywgMHgxMWE1OCwKKwkweDExYTVjLCAweDExYTg5LAorCTB4MTFhOTcsIDB4MTFhOTcsCisJ
MHgxMWE5YSwgMHgxMWFhMiwKKwkweDExYWMwLCAweDExYWY4LAorCTB4MTFjMDAsIDB4MTFjMDgs
CisJMHgxMWMwYSwgMHgxMWMyZiwKKwkweDExYzNlLCAweDExYzNlLAorCTB4MTFjNDAsIDB4MTFj
NDUsCisJMHgxMWM1MCwgMHgxMWM2YywKKwkweDExYzcwLCAweDExYzhmLAorCTB4MTFjYTksIDB4
MTFjYTksCisJMHgxMWNiMSwgMHgxMWNiMSwKKwkweDExY2I0LCAweDExY2I0LAorCTB4MTFkMDAs
IDB4MTFkMDYsCisJMHgxMWQwOCwgMHgxMWQwOSwKKwkweDExZDBiLCAweDExZDMwLAorCTB4MTFk
NDYsIDB4MTFkNDYsCisJMHgxMWQ1MCwgMHgxMWQ1OSwKKwkweDExZDYwLCAweDExZDY1LAorCTB4
MTFkNjcsIDB4MTFkNjgsCisJMHgxMWQ2YSwgMHgxMWQ4ZSwKKwkweDExZDkzLCAweDExZDk0LAor
CTB4MTFkOTYsIDB4MTFkOTYsCisJMHgxMWQ5OCwgMHgxMWQ5OCwKKwkweDExZGEwLCAweDExZGE5
LAorCTB4MTFlZTAsIDB4MTFlZjIsCisJMHgxMWVmNSwgMHgxMWVmOCwKKwkweDExZmMwLCAweDEx
ZmYxLAorCTB4MTFmZmYsIDB4MTIzOTksCisJMHgxMjQwMCwgMHgxMjQ2ZSwKKwkweDEyNDcwLCAw
eDEyNDc0LAorCTB4MTI0ODAsIDB4MTI1NDMsCisJMHgxMzAwMCwgMHgxMzQyZSwKKwkweDE0NDAw
LCAweDE0NjQ2LAorCTB4MTY4MDAsIDB4MTZhMzgsCisJMHgxNmE0MCwgMHgxNmE1ZSwKKwkweDE2
YTYwLCAweDE2YTY5LAorCTB4MTZhNmUsIDB4MTZhNmYsCisJMHgxNmFkMCwgMHgxNmFlZCwKKwkw
eDE2YWY1LCAweDE2YWY1LAorCTB4MTZiMDAsIDB4MTZiMmYsCisJMHgxNmIzNywgMHgxNmI0NSwK
KwkweDE2YjUwLCAweDE2YjU5LAorCTB4MTZiNWIsIDB4MTZiNjEsCisJMHgxNmI2MywgMHgxNmI3
NywKKwkweDE2YjdkLCAweDE2YjhmLAorCTB4MTZlNDAsIDB4MTZlOWEsCisJMHgxNmYwMCwgMHgx
NmY0YSwKKwkweDE2ZjUwLCAweDE2Zjg3LAorCTB4MTZmOTMsIDB4MTZmOWYsCisJMHgxNmZlMCwg
MHgxNmZlMywKKwkweDE3MDAwLCAweDE4N2Y3LAorCTB4MTg4MDAsIDB4MThhZjIsCisJMHgxYjAw
MCwgMHgxYjExZSwKKwkweDFiMTUwLCAweDFiMTUyLAorCTB4MWIxNjQsIDB4MWIxNjcsCisJMHgx
YjE3MCwgMHgxYjJmYiwKKwkweDFiYzAwLCAweDFiYzZhLAorCTB4MWJjNzAsIDB4MWJjN2MsCisJ
MHgxYmM4MCwgMHgxYmM4OCwKKwkweDFiYzkwLCAweDFiYzk5LAorCTB4MWJjOWMsIDB4MWJjOWMs
CisJMHgxYmM5ZiwgMHgxYmM5ZiwKKwkweDFkMDAwLCAweDFkMGY1LAorCTB4MWQxMDAsIDB4MWQx
MjYsCisJMHgxZDEyOSwgMHgxZDE2NCwKKwkweDFkMTY2LCAweDFkMTY2LAorCTB4MWQxNmEsIDB4
MWQxNmQsCisJMHgxZDE4MywgMHgxZDE4NCwKKwkweDFkMThjLCAweDFkMWE5LAorCTB4MWQxYWUs
IDB4MWQxZTgsCisJMHgxZDIwMCwgMHgxZDI0MSwKKwkweDFkMjQ1LCAweDFkMjQ1LAorCTB4MWQy
ZTAsIDB4MWQyZjMsCisJMHgxZDMwMCwgMHgxZDM1NiwKKwkweDFkMzYwLCAweDFkMzc4LAorCTB4
MWQ0MDAsIDB4MWQ0NTQsCisJMHgxZDQ1NiwgMHgxZDQ5YywKKwkweDFkNDllLCAweDFkNDlmLAor
CTB4MWQ0YTIsIDB4MWQ0YTIsCisJMHgxZDRhNSwgMHgxZDRhNiwKKwkweDFkNGE5LCAweDFkNGFj
LAorCTB4MWQ0YWUsIDB4MWQ0YjksCisJMHgxZDRiYiwgMHgxZDRiYiwKKwkweDFkNGJkLCAweDFk
NGMzLAorCTB4MWQ0YzUsIDB4MWQ1MDUsCisJMHgxZDUwNywgMHgxZDUwYSwKKwkweDFkNTBkLCAw
eDFkNTE0LAorCTB4MWQ1MTYsIDB4MWQ1MWMsCisJMHgxZDUxZSwgMHgxZDUzOSwKKwkweDFkNTNi
LCAweDFkNTNlLAorCTB4MWQ1NDAsIDB4MWQ1NDQsCisJMHgxZDU0NiwgMHgxZDU0NiwKKwkweDFk
NTRhLCAweDFkNTUwLAorCTB4MWQ1NTIsIDB4MWQ2YTUsCisJMHgxZDZhOCwgMHgxZDdjYiwKKwkw
eDFkN2NlLCAweDFkOWZmLAorCTB4MWRhMzcsIDB4MWRhM2EsCisJMHgxZGE2ZCwgMHgxZGE3NCwK
KwkweDFkYTc2LCAweDFkYTgzLAorCTB4MWRhODUsIDB4MWRhOGIsCisJMHgxZTEwMCwgMHgxZTEy
YywKKwkweDFlMTM3LCAweDFlMTNkLAorCTB4MWUxNDAsIDB4MWUxNDksCisJMHgxZTE0ZSwgMHgx
ZTE0ZiwKKwkweDFlMmMwLCAweDFlMmViLAorCTB4MWUyZjAsIDB4MWUyZjksCisJMHgxZTJmZiwg
MHgxZTJmZiwKKwkweDFlODAwLCAweDFlOGM0LAorCTB4MWU4YzcsIDB4MWU4Y2YsCisJMHgxZTkw
MCwgMHgxZTk0MywKKwkweDFlOTRiLCAweDFlOTRiLAorCTB4MWU5NTAsIDB4MWU5NTksCisJMHgx
ZTk1ZSwgMHgxZTk1ZiwKKwkweDFlYzcxLCAweDFlY2I0LAorCTB4MWVkMDEsIDB4MWVkM2QsCisJ
MHgxZWUwMCwgMHgxZWUwMywKKwkweDFlZTA1LCAweDFlZTFmLAorCTB4MWVlMjEsIDB4MWVlMjIs
CisJMHgxZWUyNCwgMHgxZWUyNCwKKwkweDFlZTI3LCAweDFlZTI3LAorCTB4MWVlMjksIDB4MWVl
MzIsCisJMHgxZWUzNCwgMHgxZWUzNywKKwkweDFlZTM5LCAweDFlZTM5LAorCTB4MWVlM2IsIDB4
MWVlM2IsCisJMHgxZWU0MiwgMHgxZWU0MiwKKwkweDFlZTQ3LCAweDFlZTQ3LAorCTB4MWVlNDks
IDB4MWVlNDksCisJMHgxZWU0YiwgMHgxZWU0YiwKKwkweDFlZTRkLCAweDFlZTRmLAorCTB4MWVl
NTEsIDB4MWVlNTIsCisJMHgxZWU1NCwgMHgxZWU1NCwKKwkweDFlZTU3LCAweDFlZTU3LAorCTB4
MWVlNTksIDB4MWVlNTksCisJMHgxZWU1YiwgMHgxZWU1YiwKKwkweDFlZTVkLCAweDFlZTVkLAor
CTB4MWVlNWYsIDB4MWVlNWYsCisJMHgxZWU2MSwgMHgxZWU2MiwKKwkweDFlZTY0LCAweDFlZTY0
LAorCTB4MWVlNjcsIDB4MWVlNmEsCisJMHgxZWU2YywgMHgxZWU3MiwKKwkweDFlZTc0LCAweDFl
ZTc3LAorCTB4MWVlNzksIDB4MWVlN2MsCisJMHgxZWU3ZSwgMHgxZWU3ZSwKKwkweDFlZTgwLCAw
eDFlZTg5LAorCTB4MWVlOGIsIDB4MWVlOWIsCisJMHgxZWVhMSwgMHgxZWVhMywKKwkweDFlZWE1
LCAweDFlZWE5LAorCTB4MWVlYWIsIDB4MWVlYmIsCisJMHgxZWVmMCwgMHgxZWVmMSwKKwkweDFm
MDAwLCAweDFmMDJiLAorCTB4MWYwMzAsIDB4MWYwOTMsCisJMHgxZjBhMCwgMHgxZjBhZSwKKwkw
eDFmMGIxLCAweDFmMGJmLAorCTB4MWYwYzEsIDB4MWYwY2YsCisJMHgxZjBkMSwgMHgxZjBmNSwK
KwkweDFmMTAwLCAweDFmMTBjLAorCTB4MWYxMTAsIDB4MWYxNmMsCisJMHgxZjE3MCwgMHgxZjFh
YywKKwkweDFmMWU2LCAweDFmMjAyLAorCTB4MWYyMTAsIDB4MWYyM2IsCisJMHgxZjI0MCwgMHgx
ZjI0OCwKKwkweDFmMjUwLCAweDFmMjUxLAorCTB4MWYyNjAsIDB4MWYyNjUsCisJMHgxZjMwMCwg
MHgxZjZkNSwKKwkweDFmNmUwLCAweDFmNmVjLAorCTB4MWY2ZjAsIDB4MWY2ZmEsCisJMHgxZjcw
MCwgMHgxZjc3MywKKwkweDFmNzgwLCAweDFmN2Q4LAorCTB4MWY3ZTAsIDB4MWY3ZWIsCisJMHgx
ZjgwMCwgMHgxZjgwYiwKKwkweDFmODEwLCAweDFmODQ3LAorCTB4MWY4NTAsIDB4MWY4NTksCisJ
MHgxZjg2MCwgMHgxZjg4NywKKwkweDFmODkwLCAweDFmOGFkLAorCTB4MWY5MDAsIDB4MWY5MGIs
CisJMHgxZjkwZCwgMHgxZjk3MSwKKwkweDFmOTczLCAweDFmOTc2LAorCTB4MWY5N2EsIDB4MWY5
YTIsCisJMHgxZjlhNSwgMHgxZjlhYSwKKwkweDFmOWFlLCAweDFmOWNhLAorCTB4MWY5Y2QsIDB4
MWZhNTMsCisJMHgxZmE2MCwgMHgxZmE2ZCwKKwkweDFmYTcwLCAweDFmYTczLAorCTB4MWZhNzgs
IDB4MWZhN2EsCisJMHgxZmE4MCwgMHgxZmE4MiwKKwkweDFmYTkwLCAweDFmYTk1LAorCTB4MjAw
MDAsIDB4MmE2ZDYsCisJMHgyYTcwMCwgMHgyYjczNCwKKwkweDJiNzQwLCAweDJiODFkLAorCTB4
MmI4MjAsIDB4MmNlYTEsCisJMHgyY2ViMCwgMHgyZWJlMCwKKwkweDJmODAwLCAweDJmYTFkLAor
fTsgLyogQ1JfR3JhcGhlbWVfQmFzZSAqLworCisvKiAnR3JhcGhlbWVfTGluayc6IERlcml2ZWQg
UHJvcGVydHkgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0dyYXBoZW1lX0xpbmtb
XSA9IHsKKwk1MiwKKwkweDA5NGQsIDB4MDk0ZCwKKwkweDA5Y2QsIDB4MDljZCwKKwkweDBhNGQs
IDB4MGE0ZCwKKwkweDBhY2QsIDB4MGFjZCwKKwkweDBiNGQsIDB4MGI0ZCwKKwkweDBiY2QsIDB4
MGJjZCwKKwkweDBjNGQsIDB4MGM0ZCwKKwkweDBjY2QsIDB4MGNjZCwKKwkweDBkM2IsIDB4MGQz
YywKKwkweDBkNGQsIDB4MGQ0ZCwKKwkweDBkY2EsIDB4MGRjYSwKKwkweDBlM2EsIDB4MGUzYSwK
KwkweDBlYmEsIDB4MGViYSwKKwkweDBmODQsIDB4MGY4NCwKKwkweDEwMzksIDB4MTAzYSwKKwkw
eDE3MTQsIDB4MTcxNCwKKwkweDE3MzQsIDB4MTczNCwKKwkweDE3ZDIsIDB4MTdkMiwKKwkweDFh
NjAsIDB4MWE2MCwKKwkweDFiNDQsIDB4MWI0NCwKKwkweDFiYWEsIDB4MWJhYiwKKwkweDFiZjIs
IDB4MWJmMywKKwkweDJkN2YsIDB4MmQ3ZiwKKwkweGE4MDYsIDB4YTgwNiwKKwkweGE4YzQsIDB4
YThjNCwKKwkweGE5NTMsIDB4YTk1MywKKwkweGE5YzAsIDB4YTljMCwKKwkweGFhZjYsIDB4YWFm
NiwKKwkweGFiZWQsIDB4YWJlZCwKKwkweDEwYTNmLCAweDEwYTNmLAorCTB4MTEwNDYsIDB4MTEw
NDYsCisJMHgxMTA3ZiwgMHgxMTA3ZiwKKwkweDExMGI5LCAweDExMGI5LAorCTB4MTExMzMsIDB4
MTExMzQsCisJMHgxMTFjMCwgMHgxMTFjMCwKKwkweDExMjM1LCAweDExMjM1LAorCTB4MTEyZWEs
IDB4MTEyZWEsCisJMHgxMTM0ZCwgMHgxMTM0ZCwKKwkweDExNDQyLCAweDExNDQyLAorCTB4MTE0
YzIsIDB4MTE0YzIsCisJMHgxMTViZiwgMHgxMTViZiwKKwkweDExNjNmLCAweDExNjNmLAorCTB4
MTE2YjYsIDB4MTE2YjYsCisJMHgxMTcyYiwgMHgxMTcyYiwKKwkweDExODM5LCAweDExODM5LAor
CTB4MTE5ZTAsIDB4MTE5ZTAsCisJMHgxMWEzNCwgMHgxMWEzNCwKKwkweDExYTQ3LCAweDExYTQ3
LAorCTB4MTFhOTksIDB4MTFhOTksCisJMHgxMWMzZiwgMHgxMWMzZiwKKwkweDExZDQ0LCAweDEx
ZDQ1LAorCTB4MTFkOTcsIDB4MTFkOTcsCit9OyAvKiBDUl9HcmFwaGVtZV9MaW5rICovCisKKy8q
ICdDb21tb24nOiBTY3JpcHQgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0NvbW1v
bltdID0geworCTE3MiwKKwkweDAwMDAsIDB4MDA0MCwKKwkweDAwNWIsIDB4MDA2MCwKKwkweDAw
N2IsIDB4MDBhOSwKKwkweDAwYWIsIDB4MDBiOSwKKwkweDAwYmIsIDB4MDBiZiwKKwkweDAwZDcs
IDB4MDBkNywKKwkweDAwZjcsIDB4MDBmNywKKwkweDAyYjksIDB4MDJkZiwKKwkweDAyZTUsIDB4
MDJlOSwKKwkweDAyZWMsIDB4MDJmZiwKKwkweDAzNzQsIDB4MDM3NCwKKwkweDAzN2UsIDB4MDM3
ZSwKKwkweDAzODUsIDB4MDM4NSwKKwkweDAzODcsIDB4MDM4NywKKwkweDA1ODksIDB4MDU4OSwK
KwkweDA2MDUsIDB4MDYwNSwKKwkweDA2MGMsIDB4MDYwYywKKwkweDA2MWIsIDB4MDYxYiwKKwkw
eDA2MWYsIDB4MDYxZiwKKwkweDA2NDAsIDB4MDY0MCwKKwkweDA2ZGQsIDB4MDZkZCwKKwkweDA4
ZTIsIDB4MDhlMiwKKwkweDA5NjQsIDB4MDk2NSwKKwkweDBlM2YsIDB4MGUzZiwKKwkweDBmZDUs
IDB4MGZkOCwKKwkweDEwZmIsIDB4MTBmYiwKKwkweDE2ZWIsIDB4MTZlZCwKKwkweDE3MzUsIDB4
MTczNiwKKwkweDE4MDIsIDB4MTgwMywKKwkweDE4MDUsIDB4MTgwNSwKKwkweDFjZDMsIDB4MWNk
MywKKwkweDFjZTEsIDB4MWNlMSwKKwkweDFjZTksIDB4MWNlYywKKwkweDFjZWUsIDB4MWNmMywK
KwkweDFjZjUsIDB4MWNmNywKKwkweDFjZmEsIDB4MWNmYSwKKwkweDIwMDAsIDB4MjAwYiwKKwkw
eDIwMGUsIDB4MjA2NCwKKwkweDIwNjYsIDB4MjA3MCwKKwkweDIwNzQsIDB4MjA3ZSwKKwkweDIw
ODAsIDB4MjA4ZSwKKwkweDIwYTAsIDB4MjBiZiwKKwkweDIxMDAsIDB4MjEyNSwKKwkweDIxMjcs
IDB4MjEyOSwKKwkweDIxMmMsIDB4MjEzMSwKKwkweDIxMzMsIDB4MjE0ZCwKKwkweDIxNGYsIDB4
MjE1ZiwKKwkweDIxODksIDB4MjE4YiwKKwkweDIxOTAsIDB4MjQyNiwKKwkweDI0NDAsIDB4MjQ0
YSwKKwkweDI0NjAsIDB4MjdmZiwKKwkweDI5MDAsIDB4MmI3MywKKwkweDJiNzYsIDB4MmI5NSwK
KwkweDJiOTgsIDB4MmJmZiwKKwkweDJlMDAsIDB4MmU0ZiwKKwkweDJmZjAsIDB4MmZmYiwKKwkw
eDMwMDAsIDB4MzAwNCwKKwkweDMwMDYsIDB4MzAwNiwKKwkweDMwMDgsIDB4MzAyMCwKKwkweDMw
MzAsIDB4MzAzNywKKwkweDMwM2MsIDB4MzAzZiwKKwkweDMwOWIsIDB4MzA5YywKKwkweDMwYTAs
IDB4MzBhMCwKKwkweDMwZmIsIDB4MzBmYywKKwkweDMxOTAsIDB4MzE5ZiwKKwkweDMxYzAsIDB4
MzFlMywKKwkweDMyMjAsIDB4MzI1ZiwKKwkweDMyN2YsIDB4MzJjZiwKKwkweDMyZmYsIDB4MzJm
ZiwKKwkweDMzNTgsIDB4MzNmZiwKKwkweDRkYzAsIDB4NGRmZiwKKwkweGE3MDAsIDB4YTcyMSwK
KwkweGE3ODgsIDB4YTc4YSwKKwkweGE4MzAsIDB4YTgzOSwKKwkweGE5MmUsIDB4YTkyZSwKKwkw
eGE5Y2YsIDB4YTljZiwKKwkweGFiNWIsIDB4YWI1YiwKKwkweGZkM2UsIDB4ZmQzZiwKKwkweGZl
MTAsIDB4ZmUxOSwKKwkweGZlMzAsIDB4ZmU1MiwKKwkweGZlNTQsIDB4ZmU2NiwKKwkweGZlNjgs
IDB4ZmU2YiwKKwkweGZlZmYsIDB4ZmVmZiwKKwkweGZmMDEsIDB4ZmYyMCwKKwkweGZmM2IsIDB4
ZmY0MCwKKwkweGZmNWIsIDB4ZmY2NSwKKwkweGZmNzAsIDB4ZmY3MCwKKwkweGZmOWUsIDB4ZmY5
ZiwKKwkweGZmZTAsIDB4ZmZlNiwKKwkweGZmZTgsIDB4ZmZlZSwKKwkweGZmZjksIDB4ZmZmZCwK
KwkweDEwMTAwLCAweDEwMTAyLAorCTB4MTAxMDcsIDB4MTAxMzMsCisJMHgxMDEzNywgMHgxMDEz
ZiwKKwkweDEwMTkwLCAweDEwMTliLAorCTB4MTAxZDAsIDB4MTAxZmMsCisJMHgxMDJlMSwgMHgx
MDJmYiwKKwkweDE2ZmUyLCAweDE2ZmUzLAorCTB4MWJjYTAsIDB4MWJjYTMsCisJMHgxZDAwMCwg
MHgxZDBmNSwKKwkweDFkMTAwLCAweDFkMTI2LAorCTB4MWQxMjksIDB4MWQxNjYsCisJMHgxZDE2
YSwgMHgxZDE3YSwKKwkweDFkMTgzLCAweDFkMTg0LAorCTB4MWQxOGMsIDB4MWQxYTksCisJMHgx
ZDFhZSwgMHgxZDFlOCwKKwkweDFkMmUwLCAweDFkMmYzLAorCTB4MWQzMDAsIDB4MWQzNTYsCisJ
MHgxZDM2MCwgMHgxZDM3OCwKKwkweDFkNDAwLCAweDFkNDU0LAorCTB4MWQ0NTYsIDB4MWQ0OWMs
CisJMHgxZDQ5ZSwgMHgxZDQ5ZiwKKwkweDFkNGEyLCAweDFkNGEyLAorCTB4MWQ0YTUsIDB4MWQ0
YTYsCisJMHgxZDRhOSwgMHgxZDRhYywKKwkweDFkNGFlLCAweDFkNGI5LAorCTB4MWQ0YmIsIDB4
MWQ0YmIsCisJMHgxZDRiZCwgMHgxZDRjMywKKwkweDFkNGM1LCAweDFkNTA1LAorCTB4MWQ1MDcs
IDB4MWQ1MGEsCisJMHgxZDUwZCwgMHgxZDUxNCwKKwkweDFkNTE2LCAweDFkNTFjLAorCTB4MWQ1
MWUsIDB4MWQ1MzksCisJMHgxZDUzYiwgMHgxZDUzZSwKKwkweDFkNTQwLCAweDFkNTQ0LAorCTB4
MWQ1NDYsIDB4MWQ1NDYsCisJMHgxZDU0YSwgMHgxZDU1MCwKKwkweDFkNTUyLCAweDFkNmE1LAor
CTB4MWQ2YTgsIDB4MWQ3Y2IsCisJMHgxZDdjZSwgMHgxZDdmZiwKKwkweDFlYzcxLCAweDFlY2I0
LAorCTB4MWVkMDEsIDB4MWVkM2QsCisJMHgxZjAwMCwgMHgxZjAyYiwKKwkweDFmMDMwLCAweDFm
MDkzLAorCTB4MWYwYTAsIDB4MWYwYWUsCisJMHgxZjBiMSwgMHgxZjBiZiwKKwkweDFmMGMxLCAw
eDFmMGNmLAorCTB4MWYwZDEsIDB4MWYwZjUsCisJMHgxZjEwMCwgMHgxZjEwYywKKwkweDFmMTEw
LCAweDFmMTZjLAorCTB4MWYxNzAsIDB4MWYxYWMsCisJMHgxZjFlNiwgMHgxZjFmZiwKKwkweDFm
MjAxLCAweDFmMjAyLAorCTB4MWYyMTAsIDB4MWYyM2IsCisJMHgxZjI0MCwgMHgxZjI0OCwKKwkw
eDFmMjUwLCAweDFmMjUxLAorCTB4MWYyNjAsIDB4MWYyNjUsCisJMHgxZjMwMCwgMHgxZjZkNSwK
KwkweDFmNmUwLCAweDFmNmVjLAorCTB4MWY2ZjAsIDB4MWY2ZmEsCisJMHgxZjcwMCwgMHgxZjc3
MywKKwkweDFmNzgwLCAweDFmN2Q4LAorCTB4MWY3ZTAsIDB4MWY3ZWIsCisJMHgxZjgwMCwgMHgx
ZjgwYiwKKwkweDFmODEwLCAweDFmODQ3LAorCTB4MWY4NTAsIDB4MWY4NTksCisJMHgxZjg2MCwg
MHgxZjg4NywKKwkweDFmODkwLCAweDFmOGFkLAorCTB4MWY5MDAsIDB4MWY5MGIsCisJMHgxZjkw
ZCwgMHgxZjk3MSwKKwkweDFmOTczLCAweDFmOTc2LAorCTB4MWY5N2EsIDB4MWY5YTIsCisJMHgx
ZjlhNSwgMHgxZjlhYSwKKwkweDFmOWFlLCAweDFmOWNhLAorCTB4MWY5Y2QsIDB4MWZhNTMsCisJ
MHgxZmE2MCwgMHgxZmE2ZCwKKwkweDFmYTcwLCAweDFmYTczLAorCTB4MWZhNzgsIDB4MWZhN2Es
CisJMHgxZmE4MCwgMHgxZmE4MiwKKwkweDFmYTkwLCAweDFmYTk1LAorCTB4ZTAwMDEsIDB4ZTAw
MDEsCisJMHhlMDAyMCwgMHhlMDA3ZiwKK307IC8qIENSX0NvbW1vbiAqLworCisvKiAnTGF0aW4n
OiBTY3JpcHQgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0xhdGluW10gPSB7CisJ
MzIsCisJMHgwMDQxLCAweDAwNWEsCisJMHgwMDYxLCAweDAwN2EsCisJMHgwMGFhLCAweDAwYWEs
CisJMHgwMGJhLCAweDAwYmEsCisJMHgwMGMwLCAweDAwZDYsCisJMHgwMGQ4LCAweDAwZjYsCisJ
MHgwMGY4LCAweDAyYjgsCisJMHgwMmUwLCAweDAyZTQsCisJMHgxZDAwLCAweDFkMjUsCisJMHgx
ZDJjLCAweDFkNWMsCisJMHgxZDYyLCAweDFkNjUsCisJMHgxZDZiLCAweDFkNzcsCisJMHgxZDc5
LCAweDFkYmUsCisJMHgxZTAwLCAweDFlZmYsCisJMHgyMDcxLCAweDIwNzEsCisJMHgyMDdmLCAw
eDIwN2YsCisJMHgyMDkwLCAweDIwOWMsCisJMHgyMTJhLCAweDIxMmIsCisJMHgyMTMyLCAweDIx
MzIsCisJMHgyMTRlLCAweDIxNGUsCisJMHgyMTYwLCAweDIxODgsCisJMHgyYzYwLCAweDJjN2Ys
CisJMHhhNzIyLCAweGE3ODcsCisJMHhhNzhiLCAweGE3YmYsCisJMHhhN2MyLCAweGE3YzYsCisJ
MHhhN2Y3LCAweGE3ZmYsCisJMHhhYjMwLCAweGFiNWEsCisJMHhhYjVjLCAweGFiNjQsCisJMHhh
YjY2LCAweGFiNjcsCisJMHhmYjAwLCAweGZiMDYsCisJMHhmZjIxLCAweGZmM2EsCisJMHhmZjQx
LCAweGZmNWEsCit9OyAvKiBDUl9MYXRpbiAqLworCisvKiAnR3JlZWsnOiBTY3JpcHQgKi8KK3N0
YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0dyZWVrW10gPSB7CisJMzYsCisJMHgwMzcwLCAw
eDAzNzMsCisJMHgwMzc1LCAweDAzNzcsCisJMHgwMzdhLCAweDAzN2QsCisJMHgwMzdmLCAweDAz
N2YsCisJMHgwMzg0LCAweDAzODQsCisJMHgwMzg2LCAweDAzODYsCisJMHgwMzg4LCAweDAzOGEs
CisJMHgwMzhjLCAweDAzOGMsCisJMHgwMzhlLCAweDAzYTEsCisJMHgwM2EzLCAweDAzZTEsCisJ
MHgwM2YwLCAweDAzZmYsCisJMHgxZDI2LCAweDFkMmEsCisJMHgxZDVkLCAweDFkNjEsCisJMHgx
ZDY2LCAweDFkNmEsCisJMHgxZGJmLCAweDFkYmYsCisJMHgxZjAwLCAweDFmMTUsCisJMHgxZjE4
LCAweDFmMWQsCisJMHgxZjIwLCAweDFmNDUsCisJMHgxZjQ4LCAweDFmNGQsCisJMHgxZjUwLCAw
eDFmNTcsCisJMHgxZjU5LCAweDFmNTksCisJMHgxZjViLCAweDFmNWIsCisJMHgxZjVkLCAweDFm
NWQsCisJMHgxZjVmLCAweDFmN2QsCisJMHgxZjgwLCAweDFmYjQsCisJMHgxZmI2LCAweDFmYzQs
CisJMHgxZmM2LCAweDFmZDMsCisJMHgxZmQ2LCAweDFmZGIsCisJMHgxZmRkLCAweDFmZWYsCisJ
MHgxZmYyLCAweDFmZjQsCisJMHgxZmY2LCAweDFmZmUsCisJMHgyMTI2LCAweDIxMjYsCisJMHhh
YjY1LCAweGFiNjUsCisJMHgxMDE0MCwgMHgxMDE4ZSwKKwkweDEwMWEwLCAweDEwMWEwLAorCTB4
MWQyMDAsIDB4MWQyNDUsCit9OyAvKiBDUl9HcmVlayAqLworCisvKiAnQ3lyaWxsaWMnOiBTY3Jp
cHQgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0N5cmlsbGljW10gPSB7CisJOCwK
KwkweDA0MDAsIDB4MDQ4NCwKKwkweDA0ODcsIDB4MDUyZiwKKwkweDFjODAsIDB4MWM4OCwKKwkw
eDFkMmIsIDB4MWQyYiwKKwkweDFkNzgsIDB4MWQ3OCwKKwkweDJkZTAsIDB4MmRmZiwKKwkweGE2
NDAsIDB4YTY5ZiwKKwkweGZlMmUsIDB4ZmUyZiwKK307IC8qIENSX0N5cmlsbGljICovCisKKy8q
ICdBcm1lbmlhbic6IFNjcmlwdCAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfQXJt
ZW5pYW5bXSA9IHsKKwk1LAorCTB4MDUzMSwgMHgwNTU2LAorCTB4MDU1OSwgMHgwNTg4LAorCTB4
MDU4YSwgMHgwNThhLAorCTB4MDU4ZCwgMHgwNThmLAorCTB4ZmIxMywgMHhmYjE3LAorfTsgLyog
Q1JfQXJtZW5pYW4gKi8KKworLyogJ0hlYnJldyc6IFNjcmlwdCAqLworc3RhdGljIGNvbnN0IE9u
aWdDb2RlUG9pbnQgQ1JfSGVicmV3W10gPSB7CisJOSwKKwkweDA1OTEsIDB4MDVjNywKKwkweDA1
ZDAsIDB4MDVlYSwKKwkweDA1ZWYsIDB4MDVmNCwKKwkweGZiMWQsIDB4ZmIzNiwKKwkweGZiMzgs
IDB4ZmIzYywKKwkweGZiM2UsIDB4ZmIzZSwKKwkweGZiNDAsIDB4ZmI0MSwKKwkweGZiNDMsIDB4
ZmI0NCwKKwkweGZiNDYsIDB4ZmI0ZiwKK307IC8qIENSX0hlYnJldyAqLworCisvKiAnQXJhYmlj
JzogU2NyaXB0ICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9BcmFiaWNbXSA9IHsK
Kwk1NywKKwkweDA2MDAsIDB4MDYwNCwKKwkweDA2MDYsIDB4MDYwYiwKKwkweDA2MGQsIDB4MDYx
YSwKKwkweDA2MWMsIDB4MDYxYywKKwkweDA2MWUsIDB4MDYxZSwKKwkweDA2MjAsIDB4MDYzZiwK
KwkweDA2NDEsIDB4MDY0YSwKKwkweDA2NTYsIDB4MDY2ZiwKKwkweDA2NzEsIDB4MDZkYywKKwkw
eDA2ZGUsIDB4MDZmZiwKKwkweDA3NTAsIDB4MDc3ZiwKKwkweDA4YTAsIDB4MDhiNCwKKwkweDA4
YjYsIDB4MDhiZCwKKwkweDA4ZDMsIDB4MDhlMSwKKwkweDA4ZTMsIDB4MDhmZiwKKwkweGZiNTAs
IDB4ZmJjMSwKKwkweGZiZDMsIDB4ZmQzZCwKKwkweGZkNTAsIDB4ZmQ4ZiwKKwkweGZkOTIsIDB4
ZmRjNywKKwkweGZkZjAsIDB4ZmRmZCwKKwkweGZlNzAsIDB4ZmU3NCwKKwkweGZlNzYsIDB4ZmVm
YywKKwkweDEwZTYwLCAweDEwZTdlLAorCTB4MWVlMDAsIDB4MWVlMDMsCisJMHgxZWUwNSwgMHgx
ZWUxZiwKKwkweDFlZTIxLCAweDFlZTIyLAorCTB4MWVlMjQsIDB4MWVlMjQsCisJMHgxZWUyNywg
MHgxZWUyNywKKwkweDFlZTI5LCAweDFlZTMyLAorCTB4MWVlMzQsIDB4MWVlMzcsCisJMHgxZWUz
OSwgMHgxZWUzOSwKKwkweDFlZTNiLCAweDFlZTNiLAorCTB4MWVlNDIsIDB4MWVlNDIsCisJMHgx
ZWU0NywgMHgxZWU0NywKKwkweDFlZTQ5LCAweDFlZTQ5LAorCTB4MWVlNGIsIDB4MWVlNGIsCisJ
MHgxZWU0ZCwgMHgxZWU0ZiwKKwkweDFlZTUxLCAweDFlZTUyLAorCTB4MWVlNTQsIDB4MWVlNTQs
CisJMHgxZWU1NywgMHgxZWU1NywKKwkweDFlZTU5LCAweDFlZTU5LAorCTB4MWVlNWIsIDB4MWVl
NWIsCisJMHgxZWU1ZCwgMHgxZWU1ZCwKKwkweDFlZTVmLCAweDFlZTVmLAorCTB4MWVlNjEsIDB4
MWVlNjIsCisJMHgxZWU2NCwgMHgxZWU2NCwKKwkweDFlZTY3LCAweDFlZTZhLAorCTB4MWVlNmMs
IDB4MWVlNzIsCisJMHgxZWU3NCwgMHgxZWU3NywKKwkweDFlZTc5LCAweDFlZTdjLAorCTB4MWVl
N2UsIDB4MWVlN2UsCisJMHgxZWU4MCwgMHgxZWU4OSwKKwkweDFlZThiLCAweDFlZTliLAorCTB4
MWVlYTEsIDB4MWVlYTMsCisJMHgxZWVhNSwgMHgxZWVhOSwKKwkweDFlZWFiLCAweDFlZWJiLAor
CTB4MWVlZjAsIDB4MWVlZjEsCit9OyAvKiBDUl9BcmFiaWMgKi8KKworLyogJ1N5cmlhYyc6IFNj
cmlwdCAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfU3lyaWFjW10gPSB7CisJNCwK
KwkweDA3MDAsIDB4MDcwZCwKKwkweDA3MGYsIDB4MDc0YSwKKwkweDA3NGQsIDB4MDc0ZiwKKwkw
eDA4NjAsIDB4MDg2YSwKK307IC8qIENSX1N5cmlhYyAqLworCisvKiAnVGhhYW5hJzogU2NyaXB0
ICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9UaGFhbmFbXSA9IHsKKwkxLAorCTB4
MDc4MCwgMHgwN2IxLAorfTsgLyogQ1JfVGhhYW5hICovCisKKy8qICdEZXZhbmFnYXJpJzogU2Ny
aXB0ICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9EZXZhbmFnYXJpW10gPSB7CisJ
NCwKKwkweDA5MDAsIDB4MDk1MCwKKwkweDA5NTUsIDB4MDk2MywKKwkweDA5NjYsIDB4MDk3ZiwK
KwkweGE4ZTAsIDB4YThmZiwKK307IC8qIENSX0RldmFuYWdhcmkgKi8KKworLyogJ0JlbmdhbGkn
OiBTY3JpcHQgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0JlbmdhbGlbXSA9IHsK
KwkxNCwKKwkweDA5ODAsIDB4MDk4MywKKwkweDA5ODUsIDB4MDk4YywKKwkweDA5OGYsIDB4MDk5
MCwKKwkweDA5OTMsIDB4MDlhOCwKKwkweDA5YWEsIDB4MDliMCwKKwkweDA5YjIsIDB4MDliMiwK
KwkweDA5YjYsIDB4MDliOSwKKwkweDA5YmMsIDB4MDljNCwKKwkweDA5YzcsIDB4MDljOCwKKwkw
eDA5Y2IsIDB4MDljZSwKKwkweDA5ZDcsIDB4MDlkNywKKwkweDA5ZGMsIDB4MDlkZCwKKwkweDA5
ZGYsIDB4MDllMywKKwkweDA5ZTYsIDB4MDlmZSwKK307IC8qIENSX0JlbmdhbGkgKi8KKworLyog
J0d1cm11a2hpJzogU2NyaXB0ICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9HdXJt
dWtoaVtdID0geworCTE2LAorCTB4MGEwMSwgMHgwYTAzLAorCTB4MGEwNSwgMHgwYTBhLAorCTB4
MGEwZiwgMHgwYTEwLAorCTB4MGExMywgMHgwYTI4LAorCTB4MGEyYSwgMHgwYTMwLAorCTB4MGEz
MiwgMHgwYTMzLAorCTB4MGEzNSwgMHgwYTM2LAorCTB4MGEzOCwgMHgwYTM5LAorCTB4MGEzYywg
MHgwYTNjLAorCTB4MGEzZSwgMHgwYTQyLAorCTB4MGE0NywgMHgwYTQ4LAorCTB4MGE0YiwgMHgw
YTRkLAorCTB4MGE1MSwgMHgwYTUxLAorCTB4MGE1OSwgMHgwYTVjLAorCTB4MGE1ZSwgMHgwYTVl
LAorCTB4MGE2NiwgMHgwYTc2LAorfTsgLyogQ1JfR3VybXVraGkgKi8KKworLyogJ0d1amFyYXRp
JzogU2NyaXB0ICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9HdWphcmF0aVtdID0g
eworCTE0LAorCTB4MGE4MSwgMHgwYTgzLAorCTB4MGE4NSwgMHgwYThkLAorCTB4MGE4ZiwgMHgw
YTkxLAorCTB4MGE5MywgMHgwYWE4LAorCTB4MGFhYSwgMHgwYWIwLAorCTB4MGFiMiwgMHgwYWIz
LAorCTB4MGFiNSwgMHgwYWI5LAorCTB4MGFiYywgMHgwYWM1LAorCTB4MGFjNywgMHgwYWM5LAor
CTB4MGFjYiwgMHgwYWNkLAorCTB4MGFkMCwgMHgwYWQwLAorCTB4MGFlMCwgMHgwYWUzLAorCTB4
MGFlNiwgMHgwYWYxLAorCTB4MGFmOSwgMHgwYWZmLAorfTsgLyogQ1JfR3VqYXJhdGkgKi8KKwor
LyogJ09yaXlhJzogU2NyaXB0ICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Pcml5
YVtdID0geworCTE0LAorCTB4MGIwMSwgMHgwYjAzLAorCTB4MGIwNSwgMHgwYjBjLAorCTB4MGIw
ZiwgMHgwYjEwLAorCTB4MGIxMywgMHgwYjI4LAorCTB4MGIyYSwgMHgwYjMwLAorCTB4MGIzMiwg
MHgwYjMzLAorCTB4MGIzNSwgMHgwYjM5LAorCTB4MGIzYywgMHgwYjQ0LAorCTB4MGI0NywgMHgw
YjQ4LAorCTB4MGI0YiwgMHgwYjRkLAorCTB4MGI1NiwgMHgwYjU3LAorCTB4MGI1YywgMHgwYjVk
LAorCTB4MGI1ZiwgMHgwYjYzLAorCTB4MGI2NiwgMHgwYjc3LAorfTsgLyogQ1JfT3JpeWEgKi8K
KworLyogJ1RhbWlsJzogU2NyaXB0ICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9U
YW1pbFtdID0geworCTE4LAorCTB4MGI4MiwgMHgwYjgzLAorCTB4MGI4NSwgMHgwYjhhLAorCTB4
MGI4ZSwgMHgwYjkwLAorCTB4MGI5MiwgMHgwYjk1LAorCTB4MGI5OSwgMHgwYjlhLAorCTB4MGI5
YywgMHgwYjljLAorCTB4MGI5ZSwgMHgwYjlmLAorCTB4MGJhMywgMHgwYmE0LAorCTB4MGJhOCwg
MHgwYmFhLAorCTB4MGJhZSwgMHgwYmI5LAorCTB4MGJiZSwgMHgwYmMyLAorCTB4MGJjNiwgMHgw
YmM4LAorCTB4MGJjYSwgMHgwYmNkLAorCTB4MGJkMCwgMHgwYmQwLAorCTB4MGJkNywgMHgwYmQ3
LAorCTB4MGJlNiwgMHgwYmZhLAorCTB4MTFmYzAsIDB4MTFmZjEsCisJMHgxMWZmZiwgMHgxMWZm
ZiwKK307IC8qIENSX1RhbWlsICovCisKKy8qICdUZWx1Z3UnOiBTY3JpcHQgKi8KK3N0YXRpYyBj
b25zdCBPbmlnQ29kZVBvaW50IENSX1RlbHVndVtdID0geworCTEyLAorCTB4MGMwMCwgMHgwYzBj
LAorCTB4MGMwZSwgMHgwYzEwLAorCTB4MGMxMiwgMHgwYzI4LAorCTB4MGMyYSwgMHgwYzM5LAor
CTB4MGMzZCwgMHgwYzQ0LAorCTB4MGM0NiwgMHgwYzQ4LAorCTB4MGM0YSwgMHgwYzRkLAorCTB4
MGM1NSwgMHgwYzU2LAorCTB4MGM1OCwgMHgwYzVhLAorCTB4MGM2MCwgMHgwYzYzLAorCTB4MGM2
NiwgMHgwYzZmLAorCTB4MGM3NywgMHgwYzdmLAorfTsgLyogQ1JfVGVsdWd1ICovCisKKy8qICdL
YW5uYWRhJzogU2NyaXB0ICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9LYW5uYWRh
W10gPSB7CisJMTMsCisJMHgwYzgwLCAweDBjOGMsCisJMHgwYzhlLCAweDBjOTAsCisJMHgwYzky
LCAweDBjYTgsCisJMHgwY2FhLCAweDBjYjMsCisJMHgwY2I1LCAweDBjYjksCisJMHgwY2JjLCAw
eDBjYzQsCisJMHgwY2M2LCAweDBjYzgsCisJMHgwY2NhLCAweDBjY2QsCisJMHgwY2Q1LCAweDBj
ZDYsCisJMHgwY2RlLCAweDBjZGUsCisJMHgwY2UwLCAweDBjZTMsCisJMHgwY2U2LCAweDBjZWYs
CisJMHgwY2YxLCAweDBjZjIsCit9OyAvKiBDUl9LYW5uYWRhICovCisKKy8qICdNYWxheWFsYW0n
OiBTY3JpcHQgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX01hbGF5YWxhbVtdID0g
eworCTgsCisJMHgwZDAwLCAweDBkMDMsCisJMHgwZDA1LCAweDBkMGMsCisJMHgwZDBlLCAweDBk
MTAsCisJMHgwZDEyLCAweDBkNDQsCisJMHgwZDQ2LCAweDBkNDgsCisJMHgwZDRhLCAweDBkNGYs
CisJMHgwZDU0LCAweDBkNjMsCisJMHgwZDY2LCAweDBkN2YsCit9OyAvKiBDUl9NYWxheWFsYW0g
Ki8KKworLyogJ1NpbmhhbGEnOiBTY3JpcHQgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50
IENSX1NpbmhhbGFbXSA9IHsKKwkxMywKKwkweDBkODIsIDB4MGQ4MywKKwkweDBkODUsIDB4MGQ5
NiwKKwkweDBkOWEsIDB4MGRiMSwKKwkweDBkYjMsIDB4MGRiYiwKKwkweDBkYmQsIDB4MGRiZCwK
KwkweDBkYzAsIDB4MGRjNiwKKwkweDBkY2EsIDB4MGRjYSwKKwkweDBkY2YsIDB4MGRkNCwKKwkw
eDBkZDYsIDB4MGRkNiwKKwkweDBkZDgsIDB4MGRkZiwKKwkweDBkZTYsIDB4MGRlZiwKKwkweDBk
ZjIsIDB4MGRmNCwKKwkweDExMWUxLCAweDExMWY0LAorfTsgLyogQ1JfU2luaGFsYSAqLworCisv
KiAnVGhhaSc6IFNjcmlwdCAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfVGhhaVtd
ID0geworCTIsCisJMHgwZTAxLCAweDBlM2EsCisJMHgwZTQwLCAweDBlNWIsCit9OyAvKiBDUl9U
aGFpICovCisKKy8qICdMYW8nOiBTY3JpcHQgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50
IENSX0xhb1tdID0geworCTExLAorCTB4MGU4MSwgMHgwZTgyLAorCTB4MGU4NCwgMHgwZTg0LAor
CTB4MGU4NiwgMHgwZThhLAorCTB4MGU4YywgMHgwZWEzLAorCTB4MGVhNSwgMHgwZWE1LAorCTB4
MGVhNywgMHgwZWJkLAorCTB4MGVjMCwgMHgwZWM0LAorCTB4MGVjNiwgMHgwZWM2LAorCTB4MGVj
OCwgMHgwZWNkLAorCTB4MGVkMCwgMHgwZWQ5LAorCTB4MGVkYywgMHgwZWRmLAorfTsgLyogQ1Jf
TGFvICovCisKKy8qICdUaWJldGFuJzogU2NyaXB0ICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQ
b2ludCBDUl9UaWJldGFuW10gPSB7CisJNywKKwkweDBmMDAsIDB4MGY0NywKKwkweDBmNDksIDB4
MGY2YywKKwkweDBmNzEsIDB4MGY5NywKKwkweDBmOTksIDB4MGZiYywKKwkweDBmYmUsIDB4MGZj
YywKKwkweDBmY2UsIDB4MGZkNCwKKwkweDBmZDksIDB4MGZkYSwKK307IC8qIENSX1RpYmV0YW4g
Ki8KKworLyogJ015YW5tYXInOiBTY3JpcHQgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50
IENSX015YW5tYXJbXSA9IHsKKwkzLAorCTB4MTAwMCwgMHgxMDlmLAorCTB4YTllMCwgMHhhOWZl
LAorCTB4YWE2MCwgMHhhYTdmLAorfTsgLyogQ1JfTXlhbm1hciAqLworCisvKiAnR2VvcmdpYW4n
OiBTY3JpcHQgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0dlb3JnaWFuW10gPSB7
CisJMTAsCisJMHgxMGEwLCAweDEwYzUsCisJMHgxMGM3LCAweDEwYzcsCisJMHgxMGNkLCAweDEw
Y2QsCisJMHgxMGQwLCAweDEwZmEsCisJMHgxMGZjLCAweDEwZmYsCisJMHgxYzkwLCAweDFjYmEs
CisJMHgxY2JkLCAweDFjYmYsCisJMHgyZDAwLCAweDJkMjUsCisJMHgyZDI3LCAweDJkMjcsCisJ
MHgyZDJkLCAweDJkMmQsCit9OyAvKiBDUl9HZW9yZ2lhbiAqLworCisvKiAnSGFuZ3VsJzogU2Ny
aXB0ICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9IYW5ndWxbXSA9IHsKKwkxNCwK
KwkweDExMDAsIDB4MTFmZiwKKwkweDMwMmUsIDB4MzAyZiwKKwkweDMxMzEsIDB4MzE4ZSwKKwkw
eDMyMDAsIDB4MzIxZSwKKwkweDMyNjAsIDB4MzI3ZSwKKwkweGE5NjAsIDB4YTk3YywKKwkweGFj
MDAsIDB4ZDdhMywKKwkweGQ3YjAsIDB4ZDdjNiwKKwkweGQ3Y2IsIDB4ZDdmYiwKKwkweGZmYTAs
IDB4ZmZiZSwKKwkweGZmYzIsIDB4ZmZjNywKKwkweGZmY2EsIDB4ZmZjZiwKKwkweGZmZDIsIDB4
ZmZkNywKKwkweGZmZGEsIDB4ZmZkYywKK307IC8qIENSX0hhbmd1bCAqLworCisvKiAnRXRoaW9w
aWMnOiBTY3JpcHQgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0V0aGlvcGljW10g
PSB7CisJMzIsCisJMHgxMjAwLCAweDEyNDgsCisJMHgxMjRhLCAweDEyNGQsCisJMHgxMjUwLCAw
eDEyNTYsCisJMHgxMjU4LCAweDEyNTgsCisJMHgxMjVhLCAweDEyNWQsCisJMHgxMjYwLCAweDEy
ODgsCisJMHgxMjhhLCAweDEyOGQsCisJMHgxMjkwLCAweDEyYjAsCisJMHgxMmIyLCAweDEyYjUs
CisJMHgxMmI4LCAweDEyYmUsCisJMHgxMmMwLCAweDEyYzAsCisJMHgxMmMyLCAweDEyYzUsCisJ
MHgxMmM4LCAweDEyZDYsCisJMHgxMmQ4LCAweDEzMTAsCisJMHgxMzEyLCAweDEzMTUsCisJMHgx
MzE4LCAweDEzNWEsCisJMHgxMzVkLCAweDEzN2MsCisJMHgxMzgwLCAweDEzOTksCisJMHgyZDgw
LCAweDJkOTYsCisJMHgyZGEwLCAweDJkYTYsCisJMHgyZGE4LCAweDJkYWUsCisJMHgyZGIwLCAw
eDJkYjYsCisJMHgyZGI4LCAweDJkYmUsCisJMHgyZGMwLCAweDJkYzYsCisJMHgyZGM4LCAweDJk
Y2UsCisJMHgyZGQwLCAweDJkZDYsCisJMHgyZGQ4LCAweDJkZGUsCisJMHhhYjAxLCAweGFiMDYs
CisJMHhhYjA5LCAweGFiMGUsCisJMHhhYjExLCAweGFiMTYsCisJMHhhYjIwLCAweGFiMjYsCisJ
MHhhYjI4LCAweGFiMmUsCit9OyAvKiBDUl9FdGhpb3BpYyAqLworCisvKiAnQ2hlcm9rZWUnOiBT
Y3JpcHQgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0NoZXJva2VlW10gPSB7CisJ
MywKKwkweDEzYTAsIDB4MTNmNSwKKwkweDEzZjgsIDB4MTNmZCwKKwkweGFiNzAsIDB4YWJiZiwK
K307IC8qIENSX0NoZXJva2VlICovCisKKy8qICdDYW5hZGlhbl9BYm9yaWdpbmFsJzogU2NyaXB0
ICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9DYW5hZGlhbl9BYm9yaWdpbmFsW10g
PSB7CisJMiwKKwkweDE0MDAsIDB4MTY3ZiwKKwkweDE4YjAsIDB4MThmNSwKK307IC8qIENSX0Nh
bmFkaWFuX0Fib3JpZ2luYWwgKi8KKworLyogJ09naGFtJzogU2NyaXB0ICovCitzdGF0aWMgY29u
c3QgT25pZ0NvZGVQb2ludCBDUl9PZ2hhbVtdID0geworCTEsCisJMHgxNjgwLCAweDE2OWMsCit9
OyAvKiBDUl9PZ2hhbSAqLworCisvKiAnUnVuaWMnOiBTY3JpcHQgKi8KK3N0YXRpYyBjb25zdCBP
bmlnQ29kZVBvaW50IENSX1J1bmljW10gPSB7CisJMiwKKwkweDE2YTAsIDB4MTZlYSwKKwkweDE2
ZWUsIDB4MTZmOCwKK307IC8qIENSX1J1bmljICovCisKKy8qICdLaG1lcic6IFNjcmlwdCAqLwor
c3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfS2htZXJbXSA9IHsKKwk0LAorCTB4MTc4MCwg
MHgxN2RkLAorCTB4MTdlMCwgMHgxN2U5LAorCTB4MTdmMCwgMHgxN2Y5LAorCTB4MTllMCwgMHgx
OWZmLAorfTsgLyogQ1JfS2htZXIgKi8KKworLyogJ01vbmdvbGlhbic6IFNjcmlwdCAqLworc3Rh
dGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfTW9uZ29saWFuW10gPSB7CisJNywKKwkweDE4MDAs
IDB4MTgwMSwKKwkweDE4MDQsIDB4MTgwNCwKKwkweDE4MDYsIDB4MTgwZSwKKwkweDE4MTAsIDB4
MTgxOSwKKwkweDE4MjAsIDB4MTg3OCwKKwkweDE4ODAsIDB4MThhYSwKKwkweDExNjYwLCAweDEx
NjZjLAorfTsgLyogQ1JfTW9uZ29saWFuICovCisKKy8qICdIaXJhZ2FuYSc6IFNjcmlwdCAqLwor
c3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSGlyYWdhbmFbXSA9IHsKKwk1LAorCTB4MzA0
MSwgMHgzMDk2LAorCTB4MzA5ZCwgMHgzMDlmLAorCTB4MWIwMDEsIDB4MWIxMWUsCisJMHgxYjE1
MCwgMHgxYjE1MiwKKwkweDFmMjAwLCAweDFmMjAwLAorfTsgLyogQ1JfSGlyYWdhbmEgKi8KKwor
LyogJ0thdGFrYW5hJzogU2NyaXB0ICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9L
YXRha2FuYVtdID0geworCTksCisJMHgzMGExLCAweDMwZmEsCisJMHgzMGZkLCAweDMwZmYsCisJ
MHgzMWYwLCAweDMxZmYsCisJMHgzMmQwLCAweDMyZmUsCisJMHgzMzAwLCAweDMzNTcsCisJMHhm
ZjY2LCAweGZmNmYsCisJMHhmZjcxLCAweGZmOWQsCisJMHgxYjAwMCwgMHgxYjAwMCwKKwkweDFi
MTY0LCAweDFiMTY3LAorfTsgLyogQ1JfS2F0YWthbmEgKi8KKworLyogJ0JvcG9tb2ZvJzogU2Ny
aXB0ICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Cb3BvbW9mb1tdID0geworCTMs
CisJMHgwMmVhLCAweDAyZWIsCisJMHgzMTA1LCAweDMxMmYsCisJMHgzMWEwLCAweDMxYmEsCit9
OyAvKiBDUl9Cb3BvbW9mbyAqLworCisvKiAnSGFuJzogU2NyaXB0ICovCitzdGF0aWMgY29uc3Qg
T25pZ0NvZGVQb2ludCBDUl9IYW5bXSA9IHsKKwkxNywKKwkweDJlODAsIDB4MmU5OSwKKwkweDJl
OWIsIDB4MmVmMywKKwkweDJmMDAsIDB4MmZkNSwKKwkweDMwMDUsIDB4MzAwNSwKKwkweDMwMDcs
IDB4MzAwNywKKwkweDMwMjEsIDB4MzAyOSwKKwkweDMwMzgsIDB4MzAzYiwKKwkweDM0MDAsIDB4
NGRiNSwKKwkweDRlMDAsIDB4OWZlZiwKKwkweGY5MDAsIDB4ZmE2ZCwKKwkweGZhNzAsIDB4ZmFk
OSwKKwkweDIwMDAwLCAweDJhNmQ2LAorCTB4MmE3MDAsIDB4MmI3MzQsCisJMHgyYjc0MCwgMHgy
YjgxZCwKKwkweDJiODIwLCAweDJjZWExLAorCTB4MmNlYjAsIDB4MmViZTAsCisJMHgyZjgwMCwg
MHgyZmExZCwKK307IC8qIENSX0hhbiAqLworCisvKiAnWWknOiBTY3JpcHQgKi8KK3N0YXRpYyBj
b25zdCBPbmlnQ29kZVBvaW50IENSX1lpW10gPSB7CisJMiwKKwkweGEwMDAsIDB4YTQ4YywKKwkw
eGE0OTAsIDB4YTRjNiwKK307IC8qIENSX1lpICovCisKKy8qICdPbGRfSXRhbGljJzogU2NyaXB0
ICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9PbGRfSXRhbGljW10gPSB7CisJMiwK
KwkweDEwMzAwLCAweDEwMzIzLAorCTB4MTAzMmQsIDB4MTAzMmYsCit9OyAvKiBDUl9PbGRfSXRh
bGljICovCisKKy8qICdHb3RoaWMnOiBTY3JpcHQgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBv
aW50IENSX0dvdGhpY1tdID0geworCTEsCisJMHgxMDMzMCwgMHgxMDM0YSwKK307IC8qIENSX0dv
dGhpYyAqLworCisvKiAnRGVzZXJldCc6IFNjcmlwdCAqLworc3RhdGljIGNvbnN0IE9uaWdDb2Rl
UG9pbnQgQ1JfRGVzZXJldFtdID0geworCTEsCisJMHgxMDQwMCwgMHgxMDQ0ZiwKK307IC8qIENS
X0Rlc2VyZXQgKi8KKworLyogJ0luaGVyaXRlZCc6IFNjcmlwdCAqLworc3RhdGljIGNvbnN0IE9u
aWdDb2RlUG9pbnQgQ1JfSW5oZXJpdGVkW10gPSB7CisJMjgsCisJMHgwMzAwLCAweDAzNmYsCisJ
MHgwNDg1LCAweDA0ODYsCisJMHgwNjRiLCAweDA2NTUsCisJMHgwNjcwLCAweDA2NzAsCisJMHgw
OTUxLCAweDA5NTQsCisJMHgxYWIwLCAweDFhYmUsCisJMHgxY2QwLCAweDFjZDIsCisJMHgxY2Q0
LCAweDFjZTAsCisJMHgxY2UyLCAweDFjZTgsCisJMHgxY2VkLCAweDFjZWQsCisJMHgxY2Y0LCAw
eDFjZjQsCisJMHgxY2Y4LCAweDFjZjksCisJMHgxZGMwLCAweDFkZjksCisJMHgxZGZiLCAweDFk
ZmYsCisJMHgyMDBjLCAweDIwMGQsCisJMHgyMGQwLCAweDIwZjAsCisJMHgzMDJhLCAweDMwMmQs
CisJMHgzMDk5LCAweDMwOWEsCisJMHhmZTAwLCAweGZlMGYsCisJMHhmZTIwLCAweGZlMmQsCisJ
MHgxMDFmZCwgMHgxMDFmZCwKKwkweDEwMmUwLCAweDEwMmUwLAorCTB4MTEzM2IsIDB4MTEzM2Is
CisJMHgxZDE2NywgMHgxZDE2OSwKKwkweDFkMTdiLCAweDFkMTgyLAorCTB4MWQxODUsIDB4MWQx
OGIsCisJMHgxZDFhYSwgMHgxZDFhZCwKKwkweGUwMTAwLCAweGUwMWVmLAorfTsgLyogQ1JfSW5o
ZXJpdGVkICovCisKKy8qICdUYWdhbG9nJzogU2NyaXB0ICovCitzdGF0aWMgY29uc3QgT25pZ0Nv
ZGVQb2ludCBDUl9UYWdhbG9nW10gPSB7CisJMiwKKwkweDE3MDAsIDB4MTcwYywKKwkweDE3MGUs
IDB4MTcxNCwKK307IC8qIENSX1RhZ2Fsb2cgKi8KKworLyogJ0hhbnVub28nOiBTY3JpcHQgKi8K
K3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0hhbnVub29bXSA9IHsKKwkxLAorCTB4MTcy
MCwgMHgxNzM0LAorfTsgLyogQ1JfSGFudW5vbyAqLworCisvKiAnQnVoaWQnOiBTY3JpcHQgKi8K
K3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0J1aGlkW10gPSB7CisJMSwKKwkweDE3NDAs
IDB4MTc1MywKK307IC8qIENSX0J1aGlkICovCisKKy8qICdUYWdiYW53YSc6IFNjcmlwdCAqLwor
c3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfVGFnYmFud2FbXSA9IHsKKwkzLAorCTB4MTc2
MCwgMHgxNzZjLAorCTB4MTc2ZSwgMHgxNzcwLAorCTB4MTc3MiwgMHgxNzczLAorfTsgLyogQ1Jf
VGFnYmFud2EgKi8KKworLyogJ0xpbWJ1JzogU2NyaXB0ICovCitzdGF0aWMgY29uc3QgT25pZ0Nv
ZGVQb2ludCBDUl9MaW1idVtdID0geworCTUsCisJMHgxOTAwLCAweDE5MWUsCisJMHgxOTIwLCAw
eDE5MmIsCisJMHgxOTMwLCAweDE5M2IsCisJMHgxOTQwLCAweDE5NDAsCisJMHgxOTQ0LCAweDE5
NGYsCit9OyAvKiBDUl9MaW1idSAqLworCisvKiAnVGFpX0xlJzogU2NyaXB0ICovCitzdGF0aWMg
Y29uc3QgT25pZ0NvZGVQb2ludCBDUl9UYWlfTGVbXSA9IHsKKwkyLAorCTB4MTk1MCwgMHgxOTZk
LAorCTB4MTk3MCwgMHgxOTc0LAorfTsgLyogQ1JfVGFpX0xlICovCisKKy8qICdMaW5lYXJfQic6
IFNjcmlwdCAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfTGluZWFyX0JbXSA9IHsK
Kwk3LAorCTB4MTAwMDAsIDB4MTAwMGIsCisJMHgxMDAwZCwgMHgxMDAyNiwKKwkweDEwMDI4LCAw
eDEwMDNhLAorCTB4MTAwM2MsIDB4MTAwM2QsCisJMHgxMDAzZiwgMHgxMDA0ZCwKKwkweDEwMDUw
LCAweDEwMDVkLAorCTB4MTAwODAsIDB4MTAwZmEsCit9OyAvKiBDUl9MaW5lYXJfQiAqLworCisv
KiAnVWdhcml0aWMnOiBTY3JpcHQgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX1Vn
YXJpdGljW10gPSB7CisJMiwKKwkweDEwMzgwLCAweDEwMzlkLAorCTB4MTAzOWYsIDB4MTAzOWYs
Cit9OyAvKiBDUl9VZ2FyaXRpYyAqLworCisvKiAnU2hhdmlhbic6IFNjcmlwdCAqLworc3RhdGlj
IGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfU2hhdmlhbltdID0geworCTEsCisJMHgxMDQ1MCwgMHgx
MDQ3ZiwKK307IC8qIENSX1NoYXZpYW4gKi8KKworLyogJ09zbWFueWEnOiBTY3JpcHQgKi8KK3N0
YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX09zbWFueWFbXSA9IHsKKwkyLAorCTB4MTA0ODAs
IDB4MTA0OWQsCisJMHgxMDRhMCwgMHgxMDRhOSwKK307IC8qIENSX09zbWFueWEgKi8KKworLyog
J0N5cHJpb3QnOiBTY3JpcHQgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0N5cHJp
b3RbXSA9IHsKKwk2LAorCTB4MTA4MDAsIDB4MTA4MDUsCisJMHgxMDgwOCwgMHgxMDgwOCwKKwkw
eDEwODBhLCAweDEwODM1LAorCTB4MTA4MzcsIDB4MTA4MzgsCisJMHgxMDgzYywgMHgxMDgzYywK
KwkweDEwODNmLCAweDEwODNmLAorfTsgLyogQ1JfQ3lwcmlvdCAqLworCisvKiAnQnJhaWxsZSc6
IFNjcmlwdCAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfQnJhaWxsZVtdID0gewor
CTEsCisJMHgyODAwLCAweDI4ZmYsCit9OyAvKiBDUl9CcmFpbGxlICovCisKKy8qICdCdWdpbmVz
ZSc6IFNjcmlwdCAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfQnVnaW5lc2VbXSA9
IHsKKwkyLAorCTB4MWEwMCwgMHgxYTFiLAorCTB4MWExZSwgMHgxYTFmLAorfTsgLyogQ1JfQnVn
aW5lc2UgKi8KKworLyogJ0NvcHRpYyc6IFNjcmlwdCAqLworc3RhdGljIGNvbnN0IE9uaWdDb2Rl
UG9pbnQgQ1JfQ29wdGljW10gPSB7CisJMywKKwkweDAzZTIsIDB4MDNlZiwKKwkweDJjODAsIDB4
MmNmMywKKwkweDJjZjksIDB4MmNmZiwKK307IC8qIENSX0NvcHRpYyAqLworCisvKiAnTmV3X1Rh
aV9MdWUnOiBTY3JpcHQgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX05ld19UYWlf
THVlW10gPSB7CisJNCwKKwkweDE5ODAsIDB4MTlhYiwKKwkweDE5YjAsIDB4MTljOSwKKwkweDE5
ZDAsIDB4MTlkYSwKKwkweDE5ZGUsIDB4MTlkZiwKK307IC8qIENSX05ld19UYWlfTHVlICovCisK
Ky8qICdHbGFnb2xpdGljJzogU2NyaXB0ICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBD
Ul9HbGFnb2xpdGljW10gPSB7CisJNywKKwkweDJjMDAsIDB4MmMyZSwKKwkweDJjMzAsIDB4MmM1
ZSwKKwkweDFlMDAwLCAweDFlMDA2LAorCTB4MWUwMDgsIDB4MWUwMTgsCisJMHgxZTAxYiwgMHgx
ZTAyMSwKKwkweDFlMDIzLCAweDFlMDI0LAorCTB4MWUwMjYsIDB4MWUwMmEsCit9OyAvKiBDUl9H
bGFnb2xpdGljICovCisKKy8qICdUaWZpbmFnaCc6IFNjcmlwdCAqLworc3RhdGljIGNvbnN0IE9u
aWdDb2RlUG9pbnQgQ1JfVGlmaW5hZ2hbXSA9IHsKKwkzLAorCTB4MmQzMCwgMHgyZDY3LAorCTB4
MmQ2ZiwgMHgyZDcwLAorCTB4MmQ3ZiwgMHgyZDdmLAorfTsgLyogQ1JfVGlmaW5hZ2ggKi8KKwor
LyogJ1N5bG90aV9OYWdyaSc6IFNjcmlwdCAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQg
Q1JfU3lsb3RpX05hZ3JpW10gPSB7CisJMSwKKwkweGE4MDAsIDB4YTgyYiwKK307IC8qIENSX1N5
bG90aV9OYWdyaSAqLworCisvKiAnT2xkX1BlcnNpYW4nOiBTY3JpcHQgKi8KK3N0YXRpYyBjb25z
dCBPbmlnQ29kZVBvaW50IENSX09sZF9QZXJzaWFuW10gPSB7CisJMiwKKwkweDEwM2EwLCAweDEw
M2MzLAorCTB4MTAzYzgsIDB4MTAzZDUsCit9OyAvKiBDUl9PbGRfUGVyc2lhbiAqLworCisvKiAn
S2hhcm9zaHRoaSc6IFNjcmlwdCAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfS2hh
cm9zaHRoaVtdID0geworCTgsCisJMHgxMGEwMCwgMHgxMGEwMywKKwkweDEwYTA1LCAweDEwYTA2
LAorCTB4MTBhMGMsIDB4MTBhMTMsCisJMHgxMGExNSwgMHgxMGExNywKKwkweDEwYTE5LCAweDEw
YTM1LAorCTB4MTBhMzgsIDB4MTBhM2EsCisJMHgxMGEzZiwgMHgxMGE0OCwKKwkweDEwYTUwLCAw
eDEwYTU4LAorfTsgLyogQ1JfS2hhcm9zaHRoaSAqLworCisvKiAnQmFsaW5lc2UnOiBTY3JpcHQg
Ki8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0JhbGluZXNlW10gPSB7CisJMiwKKwkw
eDFiMDAsIDB4MWI0YiwKKwkweDFiNTAsIDB4MWI3YywKK307IC8qIENSX0JhbGluZXNlICovCisK
Ky8qICdDdW5laWZvcm0nOiBTY3JpcHQgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENS
X0N1bmVpZm9ybVtdID0geworCTQsCisJMHgxMjAwMCwgMHgxMjM5OSwKKwkweDEyNDAwLCAweDEy
NDZlLAorCTB4MTI0NzAsIDB4MTI0NzQsCisJMHgxMjQ4MCwgMHgxMjU0MywKK307IC8qIENSX0N1
bmVpZm9ybSAqLworCisvKiAnUGhvZW5pY2lhbic6IFNjcmlwdCAqLworc3RhdGljIGNvbnN0IE9u
aWdDb2RlUG9pbnQgQ1JfUGhvZW5pY2lhbltdID0geworCTIsCisJMHgxMDkwMCwgMHgxMDkxYiwK
KwkweDEwOTFmLCAweDEwOTFmLAorfTsgLyogQ1JfUGhvZW5pY2lhbiAqLworCisvKiAnUGhhZ3Nf
UGEnOiBTY3JpcHQgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX1BoYWdzX1BhW10g
PSB7CisJMSwKKwkweGE4NDAsIDB4YTg3NywKK307IC8qIENSX1BoYWdzX1BhICovCisKKy8qICdO
a28nOiBTY3JpcHQgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX05rb1tdID0gewor
CTIsCisJMHgwN2MwLCAweDA3ZmEsCisJMHgwN2ZkLCAweDA3ZmYsCit9OyAvKiBDUl9Oa28gKi8K
KworLyogJ1N1bmRhbmVzZSc6IFNjcmlwdCAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQg
Q1JfU3VuZGFuZXNlW10gPSB7CisJMiwKKwkweDFiODAsIDB4MWJiZiwKKwkweDFjYzAsIDB4MWNj
NywKK307IC8qIENSX1N1bmRhbmVzZSAqLworCisvKiAnTGVwY2hhJzogU2NyaXB0ICovCitzdGF0
aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9MZXBjaGFbXSA9IHsKKwkzLAorCTB4MWMwMCwgMHgx
YzM3LAorCTB4MWMzYiwgMHgxYzQ5LAorCTB4MWM0ZCwgMHgxYzRmLAorfTsgLyogQ1JfTGVwY2hh
ICovCisKKy8qICdPbF9DaGlraSc6IFNjcmlwdCAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9p
bnQgQ1JfT2xfQ2hpa2lbXSA9IHsKKwkxLAorCTB4MWM1MCwgMHgxYzdmLAorfTsgLyogQ1JfT2xf
Q2hpa2kgKi8KKworLyogJ1ZhaSc6IFNjcmlwdCAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9p
bnQgQ1JfVmFpW10gPSB7CisJMSwKKwkweGE1MDAsIDB4YTYyYiwKK307IC8qIENSX1ZhaSAqLwor
CisvKiAnU2F1cmFzaHRyYSc6IFNjcmlwdCAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQg
Q1JfU2F1cmFzaHRyYVtdID0geworCTIsCisJMHhhODgwLCAweGE4YzUsCisJMHhhOGNlLCAweGE4
ZDksCit9OyAvKiBDUl9TYXVyYXNodHJhICovCisKKy8qICdLYXlhaF9MaSc6IFNjcmlwdCAqLwor
c3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfS2F5YWhfTGlbXSA9IHsKKwkyLAorCTB4YTkw
MCwgMHhhOTJkLAorCTB4YTkyZiwgMHhhOTJmLAorfTsgLyogQ1JfS2F5YWhfTGkgKi8KKworLyog
J1JlamFuZyc6IFNjcmlwdCAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfUmVqYW5n
W10gPSB7CisJMiwKKwkweGE5MzAsIDB4YTk1MywKKwkweGE5NWYsIDB4YTk1ZiwKK307IC8qIENS
X1JlamFuZyAqLworCisvKiAnTHljaWFuJzogU2NyaXB0ICovCitzdGF0aWMgY29uc3QgT25pZ0Nv
ZGVQb2ludCBDUl9MeWNpYW5bXSA9IHsKKwkxLAorCTB4MTAyODAsIDB4MTAyOWMsCit9OyAvKiBD
Ul9MeWNpYW4gKi8KKworLyogJ0Nhcmlhbic6IFNjcmlwdCAqLworc3RhdGljIGNvbnN0IE9uaWdD
b2RlUG9pbnQgQ1JfQ2FyaWFuW10gPSB7CisJMSwKKwkweDEwMmEwLCAweDEwMmQwLAorfTsgLyog
Q1JfQ2FyaWFuICovCisKKy8qICdMeWRpYW4nOiBTY3JpcHQgKi8KK3N0YXRpYyBjb25zdCBPbmln
Q29kZVBvaW50IENSX0x5ZGlhbltdID0geworCTIsCisJMHgxMDkyMCwgMHgxMDkzOSwKKwkweDEw
OTNmLCAweDEwOTNmLAorfTsgLyogQ1JfTHlkaWFuICovCisKKy8qICdDaGFtJzogU2NyaXB0ICov
CitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9DaGFtW10gPSB7CisJNCwKKwkweGFhMDAs
IDB4YWEzNiwKKwkweGFhNDAsIDB4YWE0ZCwKKwkweGFhNTAsIDB4YWE1OSwKKwkweGFhNWMsIDB4
YWE1ZiwKK307IC8qIENSX0NoYW0gKi8KKworLyogJ1RhaV9UaGFtJzogU2NyaXB0ICovCitzdGF0
aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9UYWlfVGhhbVtdID0geworCTUsCisJMHgxYTIwLCAw
eDFhNWUsCisJMHgxYTYwLCAweDFhN2MsCisJMHgxYTdmLCAweDFhODksCisJMHgxYTkwLCAweDFh
OTksCisJMHgxYWEwLCAweDFhYWQsCit9OyAvKiBDUl9UYWlfVGhhbSAqLworCisvKiAnVGFpX1Zp
ZXQnOiBTY3JpcHQgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX1RhaV9WaWV0W10g
PSB7CisJMiwKKwkweGFhODAsIDB4YWFjMiwKKwkweGFhZGIsIDB4YWFkZiwKK307IC8qIENSX1Rh
aV9WaWV0ICovCisKKy8qICdBdmVzdGFuJzogU2NyaXB0ICovCitzdGF0aWMgY29uc3QgT25pZ0Nv
ZGVQb2ludCBDUl9BdmVzdGFuW10gPSB7CisJMiwKKwkweDEwYjAwLCAweDEwYjM1LAorCTB4MTBi
MzksIDB4MTBiM2YsCit9OyAvKiBDUl9BdmVzdGFuICovCisKKy8qICdFZ3lwdGlhbl9IaWVyb2ds
eXBocyc6IFNjcmlwdCAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfRWd5cHRpYW5f
SGllcm9nbHlwaHNbXSA9IHsKKwkyLAorCTB4MTMwMDAsIDB4MTM0MmUsCisJMHgxMzQzMCwgMHgx
MzQzOCwKK307IC8qIENSX0VneXB0aWFuX0hpZXJvZ2x5cGhzICovCisKKy8qICdTYW1hcml0YW4n
OiBTY3JpcHQgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX1NhbWFyaXRhbltdID0g
eworCTIsCisJMHgwODAwLCAweDA4MmQsCisJMHgwODMwLCAweDA4M2UsCit9OyAvKiBDUl9TYW1h
cml0YW4gKi8KKworLyogJ0xpc3UnOiBTY3JpcHQgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBv
aW50IENSX0xpc3VbXSA9IHsKKwkxLAorCTB4YTRkMCwgMHhhNGZmLAorfTsgLyogQ1JfTGlzdSAq
LworCisvKiAnQmFtdW0nOiBTY3JpcHQgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENS
X0JhbXVtW10gPSB7CisJMiwKKwkweGE2YTAsIDB4YTZmNywKKwkweDE2ODAwLCAweDE2YTM4LAor
fTsgLyogQ1JfQmFtdW0gKi8KKworLyogJ0phdmFuZXNlJzogU2NyaXB0ICovCitzdGF0aWMgY29u
c3QgT25pZ0NvZGVQb2ludCBDUl9KYXZhbmVzZVtdID0geworCTMsCisJMHhhOTgwLCAweGE5Y2Qs
CisJMHhhOWQwLCAweGE5ZDksCisJMHhhOWRlLCAweGE5ZGYsCit9OyAvKiBDUl9KYXZhbmVzZSAq
LworCisvKiAnTWVldGVpX01heWVrJzogU2NyaXB0ICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQ
b2ludCBDUl9NZWV0ZWlfTWF5ZWtbXSA9IHsKKwkzLAorCTB4YWFlMCwgMHhhYWY2LAorCTB4YWJj
MCwgMHhhYmVkLAorCTB4YWJmMCwgMHhhYmY5LAorfTsgLyogQ1JfTWVldGVpX01heWVrICovCisK
Ky8qICdJbXBlcmlhbF9BcmFtYWljJzogU2NyaXB0ICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQ
b2ludCBDUl9JbXBlcmlhbF9BcmFtYWljW10gPSB7CisJMiwKKwkweDEwODQwLCAweDEwODU1LAor
CTB4MTA4NTcsIDB4MTA4NWYsCit9OyAvKiBDUl9JbXBlcmlhbF9BcmFtYWljICovCisKKy8qICdP
bGRfU291dGhfQXJhYmlhbic6IFNjcmlwdCAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQg
Q1JfT2xkX1NvdXRoX0FyYWJpYW5bXSA9IHsKKwkxLAorCTB4MTBhNjAsIDB4MTBhN2YsCit9OyAv
KiBDUl9PbGRfU291dGhfQXJhYmlhbiAqLworCisvKiAnSW5zY3JpcHRpb25hbF9QYXJ0aGlhbic6
IFNjcmlwdCAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5zY3JpcHRpb25hbF9Q
YXJ0aGlhbltdID0geworCTIsCisJMHgxMGI0MCwgMHgxMGI1NSwKKwkweDEwYjU4LCAweDEwYjVm
LAorfTsgLyogQ1JfSW5zY3JpcHRpb25hbF9QYXJ0aGlhbiAqLworCisvKiAnSW5zY3JpcHRpb25h
bF9QYWhsYXZpJzogU2NyaXB0ICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9JbnNj
cmlwdGlvbmFsX1BhaGxhdmlbXSA9IHsKKwkyLAorCTB4MTBiNjAsIDB4MTBiNzIsCisJMHgxMGI3
OCwgMHgxMGI3ZiwKK307IC8qIENSX0luc2NyaXB0aW9uYWxfUGFobGF2aSAqLworCisvKiAnT2xk
X1R1cmtpYyc6IFNjcmlwdCAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfT2xkX1R1
cmtpY1tdID0geworCTEsCisJMHgxMGMwMCwgMHgxMGM0OCwKK307IC8qIENSX09sZF9UdXJraWMg
Ki8KKworLyogJ0thaXRoaSc6IFNjcmlwdCAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQg
Q1JfS2FpdGhpW10gPSB7CisJMiwKKwkweDExMDgwLCAweDExMGMxLAorCTB4MTEwY2QsIDB4MTEw
Y2QsCit9OyAvKiBDUl9LYWl0aGkgKi8KKworLyogJ0JhdGFrJzogU2NyaXB0ICovCitzdGF0aWMg
Y29uc3QgT25pZ0NvZGVQb2ludCBDUl9CYXRha1tdID0geworCTIsCisJMHgxYmMwLCAweDFiZjMs
CisJMHgxYmZjLCAweDFiZmYsCit9OyAvKiBDUl9CYXRhayAqLworCisvKiAnQnJhaG1pJzogU2Ny
aXB0ICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9CcmFobWlbXSA9IHsKKwkzLAor
CTB4MTEwMDAsIDB4MTEwNGQsCisJMHgxMTA1MiwgMHgxMTA2ZiwKKwkweDExMDdmLCAweDExMDdm
LAorfTsgLyogQ1JfQnJhaG1pICovCisKKy8qICdNYW5kYWljJzogU2NyaXB0ICovCitzdGF0aWMg
Y29uc3QgT25pZ0NvZGVQb2ludCBDUl9NYW5kYWljW10gPSB7CisJMiwKKwkweDA4NDAsIDB4MDg1
YiwKKwkweDA4NWUsIDB4MDg1ZSwKK307IC8qIENSX01hbmRhaWMgKi8KKworLyogJ0NoYWttYSc6
IFNjcmlwdCAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfQ2hha21hW10gPSB7CisJ
MiwKKwkweDExMTAwLCAweDExMTM0LAorCTB4MTExMzYsIDB4MTExNDYsCit9OyAvKiBDUl9DaGFr
bWEgKi8KKworLyogJ01lcm9pdGljX0N1cnNpdmUnOiBTY3JpcHQgKi8KK3N0YXRpYyBjb25zdCBP
bmlnQ29kZVBvaW50IENSX01lcm9pdGljX0N1cnNpdmVbXSA9IHsKKwkzLAorCTB4MTA5YTAsIDB4
MTA5YjcsCisJMHgxMDliYywgMHgxMDljZiwKKwkweDEwOWQyLCAweDEwOWZmLAorfTsgLyogQ1Jf
TWVyb2l0aWNfQ3Vyc2l2ZSAqLworCisvKiAnTWVyb2l0aWNfSGllcm9nbHlwaHMnOiBTY3JpcHQg
Ki8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX01lcm9pdGljX0hpZXJvZ2x5cGhzW10g
PSB7CisJMSwKKwkweDEwOTgwLCAweDEwOTlmLAorfTsgLyogQ1JfTWVyb2l0aWNfSGllcm9nbHlw
aHMgKi8KKworLyogJ01pYW8nOiBTY3JpcHQgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50
IENSX01pYW9bXSA9IHsKKwkzLAorCTB4MTZmMDAsIDB4MTZmNGEsCisJMHgxNmY0ZiwgMHgxNmY4
NywKKwkweDE2ZjhmLCAweDE2ZjlmLAorfTsgLyogQ1JfTWlhbyAqLworCisvKiAnU2hhcmFkYSc6
IFNjcmlwdCAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfU2hhcmFkYVtdID0gewor
CTIsCisJMHgxMTE4MCwgMHgxMTFjZCwKKwkweDExMWQwLCAweDExMWRmLAorfTsgLyogQ1JfU2hh
cmFkYSAqLworCisvKiAnU29yYV9Tb21wZW5nJzogU2NyaXB0ICovCitzdGF0aWMgY29uc3QgT25p
Z0NvZGVQb2ludCBDUl9Tb3JhX1NvbXBlbmdbXSA9IHsKKwkyLAorCTB4MTEwZDAsIDB4MTEwZTgs
CisJMHgxMTBmMCwgMHgxMTBmOSwKK307IC8qIENSX1NvcmFfU29tcGVuZyAqLworCisvKiAnVGFr
cmknOiBTY3JpcHQgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX1Rha3JpW10gPSB7
CisJMiwKKwkweDExNjgwLCAweDExNmI4LAorCTB4MTE2YzAsIDB4MTE2YzksCit9OyAvKiBDUl9U
YWtyaSAqLworCisvKiAnQ2F1Y2FzaWFuX0FsYmFuaWFuJzogU2NyaXB0ICovCitzdGF0aWMgY29u
c3QgT25pZ0NvZGVQb2ludCBDUl9DYXVjYXNpYW5fQWxiYW5pYW5bXSA9IHsKKwkyLAorCTB4MTA1
MzAsIDB4MTA1NjMsCisJMHgxMDU2ZiwgMHgxMDU2ZiwKK307IC8qIENSX0NhdWNhc2lhbl9BbGJh
bmlhbiAqLworCisvKiAnQmFzc2FfVmFoJzogU2NyaXB0ICovCitzdGF0aWMgY29uc3QgT25pZ0Nv
ZGVQb2ludCBDUl9CYXNzYV9WYWhbXSA9IHsKKwkyLAorCTB4MTZhZDAsIDB4MTZhZWQsCisJMHgx
NmFmMCwgMHgxNmFmNSwKK307IC8qIENSX0Jhc3NhX1ZhaCAqLworCisvKiAnRHVwbG95YW4nOiBT
Y3JpcHQgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0R1cGxveWFuW10gPSB7CisJ
NSwKKwkweDFiYzAwLCAweDFiYzZhLAorCTB4MWJjNzAsIDB4MWJjN2MsCisJMHgxYmM4MCwgMHgx
YmM4OCwKKwkweDFiYzkwLCAweDFiYzk5LAorCTB4MWJjOWMsIDB4MWJjOWYsCit9OyAvKiBDUl9E
dXBsb3lhbiAqLworCisvKiAnRWxiYXNhbic6IFNjcmlwdCAqLworc3RhdGljIGNvbnN0IE9uaWdD
b2RlUG9pbnQgQ1JfRWxiYXNhbltdID0geworCTEsCisJMHgxMDUwMCwgMHgxMDUyNywKK307IC8q
IENSX0VsYmFzYW4gKi8KKworLyogJ0dyYW50aGEnOiBTY3JpcHQgKi8KK3N0YXRpYyBjb25zdCBP
bmlnQ29kZVBvaW50IENSX0dyYW50aGFbXSA9IHsKKwkxNSwKKwkweDExMzAwLCAweDExMzAzLAor
CTB4MTEzMDUsIDB4MTEzMGMsCisJMHgxMTMwZiwgMHgxMTMxMCwKKwkweDExMzEzLCAweDExMzI4
LAorCTB4MTEzMmEsIDB4MTEzMzAsCisJMHgxMTMzMiwgMHgxMTMzMywKKwkweDExMzM1LCAweDEx
MzM5LAorCTB4MTEzM2MsIDB4MTEzNDQsCisJMHgxMTM0NywgMHgxMTM0OCwKKwkweDExMzRiLCAw
eDExMzRkLAorCTB4MTEzNTAsIDB4MTEzNTAsCisJMHgxMTM1NywgMHgxMTM1NywKKwkweDExMzVk
LCAweDExMzYzLAorCTB4MTEzNjYsIDB4MTEzNmMsCisJMHgxMTM3MCwgMHgxMTM3NCwKK307IC8q
IENSX0dyYW50aGEgKi8KKworLyogJ1BhaGF3aF9IbW9uZyc6IFNjcmlwdCAqLworc3RhdGljIGNv
bnN0IE9uaWdDb2RlUG9pbnQgQ1JfUGFoYXdoX0htb25nW10gPSB7CisJNSwKKwkweDE2YjAwLCAw
eDE2YjQ1LAorCTB4MTZiNTAsIDB4MTZiNTksCisJMHgxNmI1YiwgMHgxNmI2MSwKKwkweDE2YjYz
LCAweDE2Yjc3LAorCTB4MTZiN2QsIDB4MTZiOGYsCit9OyAvKiBDUl9QYWhhd2hfSG1vbmcgKi8K
KworLyogJ0tob2praSc6IFNjcmlwdCAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1Jf
S2hvamtpW10gPSB7CisJMiwKKwkweDExMjAwLCAweDExMjExLAorCTB4MTEyMTMsIDB4MTEyM2Us
Cit9OyAvKiBDUl9LaG9qa2kgKi8KKworLyogJ0xpbmVhcl9BJzogU2NyaXB0ICovCitzdGF0aWMg
Y29uc3QgT25pZ0NvZGVQb2ludCBDUl9MaW5lYXJfQVtdID0geworCTMsCisJMHgxMDYwMCwgMHgx
MDczNiwKKwkweDEwNzQwLCAweDEwNzU1LAorCTB4MTA3NjAsIDB4MTA3NjcsCit9OyAvKiBDUl9M
aW5lYXJfQSAqLworCisvKiAnTWFoYWphbmknOiBTY3JpcHQgKi8KK3N0YXRpYyBjb25zdCBPbmln
Q29kZVBvaW50IENSX01haGFqYW5pW10gPSB7CisJMSwKKwkweDExMTUwLCAweDExMTc2LAorfTsg
LyogQ1JfTWFoYWphbmkgKi8KKworLyogJ01hbmljaGFlYW4nOiBTY3JpcHQgKi8KK3N0YXRpYyBj
b25zdCBPbmlnQ29kZVBvaW50IENSX01hbmljaGFlYW5bXSA9IHsKKwkyLAorCTB4MTBhYzAsIDB4
MTBhZTYsCisJMHgxMGFlYiwgMHgxMGFmNiwKK307IC8qIENSX01hbmljaGFlYW4gKi8KKworLyog
J01lbmRlX0tpa2FrdWknOiBTY3JpcHQgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENS
X01lbmRlX0tpa2FrdWlbXSA9IHsKKwkyLAorCTB4MWU4MDAsIDB4MWU4YzQsCisJMHgxZThjNywg
MHgxZThkNiwKK307IC8qIENSX01lbmRlX0tpa2FrdWkgKi8KKworLyogJ01vZGknOiBTY3JpcHQg
Ki8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX01vZGlbXSA9IHsKKwkyLAorCTB4MTE2
MDAsIDB4MTE2NDQsCisJMHgxMTY1MCwgMHgxMTY1OSwKK307IC8qIENSX01vZGkgKi8KKworLyog
J01ybyc6IFNjcmlwdCAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfTXJvW10gPSB7
CisJMywKKwkweDE2YTQwLCAweDE2YTVlLAorCTB4MTZhNjAsIDB4MTZhNjksCisJMHgxNmE2ZSwg
MHgxNmE2ZiwKK307IC8qIENSX01ybyAqLworCisvKiAnT2xkX05vcnRoX0FyYWJpYW4nOiBTY3Jp
cHQgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX09sZF9Ob3J0aF9BcmFiaWFuW10g
PSB7CisJMSwKKwkweDEwYTgwLCAweDEwYTlmLAorfTsgLyogQ1JfT2xkX05vcnRoX0FyYWJpYW4g
Ki8KKworLyogJ05hYmF0YWVhbic6IFNjcmlwdCAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9p
bnQgQ1JfTmFiYXRhZWFuW10gPSB7CisJMiwKKwkweDEwODgwLCAweDEwODllLAorCTB4MTA4YTcs
IDB4MTA4YWYsCit9OyAvKiBDUl9OYWJhdGFlYW4gKi8KKworLyogJ1BhbG15cmVuZSc6IFNjcmlw
dCAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfUGFsbXlyZW5lW10gPSB7CisJMSwK
KwkweDEwODYwLCAweDEwODdmLAorfTsgLyogQ1JfUGFsbXlyZW5lICovCisKKy8qICdQYXVfQ2lu
X0hhdSc6IFNjcmlwdCAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfUGF1X0Npbl9I
YXVbXSA9IHsKKwkxLAorCTB4MTFhYzAsIDB4MTFhZjgsCit9OyAvKiBDUl9QYXVfQ2luX0hhdSAq
LworCisvKiAnT2xkX1Blcm1pYyc6IFNjcmlwdCAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9p
bnQgQ1JfT2xkX1Blcm1pY1tdID0geworCTEsCisJMHgxMDM1MCwgMHgxMDM3YSwKK307IC8qIENS
X09sZF9QZXJtaWMgKi8KKworLyogJ1BzYWx0ZXJfUGFobGF2aSc6IFNjcmlwdCAqLworc3RhdGlj
IGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfUHNhbHRlcl9QYWhsYXZpW10gPSB7CisJMywKKwkweDEw
YjgwLCAweDEwYjkxLAorCTB4MTBiOTksIDB4MTBiOWMsCisJMHgxMGJhOSwgMHgxMGJhZiwKK307
IC8qIENSX1BzYWx0ZXJfUGFobGF2aSAqLworCisvKiAnU2lkZGhhbSc6IFNjcmlwdCAqLworc3Rh
dGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfU2lkZGhhbVtdID0geworCTIsCisJMHgxMTU4MCwg
MHgxMTViNSwKKwkweDExNWI4LCAweDExNWRkLAorfTsgLyogQ1JfU2lkZGhhbSAqLworCisvKiAn
S2h1ZGF3YWRpJzogU2NyaXB0ICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9LaHVk
YXdhZGlbXSA9IHsKKwkyLAorCTB4MTEyYjAsIDB4MTEyZWEsCisJMHgxMTJmMCwgMHgxMTJmOSwK
K307IC8qIENSX0todWRhd2FkaSAqLworCisvKiAnVGlyaHV0YSc6IFNjcmlwdCAqLworc3RhdGlj
IGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfVGlyaHV0YVtdID0geworCTIsCisJMHgxMTQ4MCwgMHgx
MTRjNywKKwkweDExNGQwLCAweDExNGQ5LAorfTsgLyogQ1JfVGlyaHV0YSAqLworCisvKiAnV2Fy
YW5nX0NpdGknOiBTY3JpcHQgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX1dhcmFu
Z19DaXRpW10gPSB7CisJMiwKKwkweDExOGEwLCAweDExOGYyLAorCTB4MTE4ZmYsIDB4MTE4ZmYs
Cit9OyAvKiBDUl9XYXJhbmdfQ2l0aSAqLworCisvKiAnQWhvbSc6IFNjcmlwdCAqLworc3RhdGlj
IGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfQWhvbVtdID0geworCTMsCisJMHgxMTcwMCwgMHgxMTcx
YSwKKwkweDExNzFkLCAweDExNzJiLAorCTB4MTE3MzAsIDB4MTE3M2YsCit9OyAvKiBDUl9BaG9t
ICovCisKKy8qICdBbmF0b2xpYW5fSGllcm9nbHlwaHMnOiBTY3JpcHQgKi8KK3N0YXRpYyBjb25z
dCBPbmlnQ29kZVBvaW50IENSX0FuYXRvbGlhbl9IaWVyb2dseXBoc1tdID0geworCTEsCisJMHgx
NDQwMCwgMHgxNDY0NiwKK307IC8qIENSX0FuYXRvbGlhbl9IaWVyb2dseXBocyAqLworCisvKiAn
SGF0cmFuJzogU2NyaXB0ICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9IYXRyYW5b
XSA9IHsKKwkzLAorCTB4MTA4ZTAsIDB4MTA4ZjIsCisJMHgxMDhmNCwgMHgxMDhmNSwKKwkweDEw
OGZiLCAweDEwOGZmLAorfTsgLyogQ1JfSGF0cmFuICovCisKKy8qICdNdWx0YW5pJzogU2NyaXB0
ICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9NdWx0YW5pW10gPSB7CisJNSwKKwkw
eDExMjgwLCAweDExMjg2LAorCTB4MTEyODgsIDB4MTEyODgsCisJMHgxMTI4YSwgMHgxMTI4ZCwK
KwkweDExMjhmLCAweDExMjlkLAorCTB4MTEyOWYsIDB4MTEyYTksCit9OyAvKiBDUl9NdWx0YW5p
ICovCisKKy8qICdPbGRfSHVuZ2FyaWFuJzogU2NyaXB0ICovCitzdGF0aWMgY29uc3QgT25pZ0Nv
ZGVQb2ludCBDUl9PbGRfSHVuZ2FyaWFuW10gPSB7CisJMywKKwkweDEwYzgwLCAweDEwY2IyLAor
CTB4MTBjYzAsIDB4MTBjZjIsCisJMHgxMGNmYSwgMHgxMGNmZiwKK307IC8qIENSX09sZF9IdW5n
YXJpYW4gKi8KKworLyogJ1NpZ25Xcml0aW5nJzogU2NyaXB0ICovCitzdGF0aWMgY29uc3QgT25p
Z0NvZGVQb2ludCBDUl9TaWduV3JpdGluZ1tdID0geworCTMsCisJMHgxZDgwMCwgMHgxZGE4YiwK
KwkweDFkYTliLCAweDFkYTlmLAorCTB4MWRhYTEsIDB4MWRhYWYsCit9OyAvKiBDUl9TaWduV3Jp
dGluZyAqLworCisvKiAnQWRsYW0nOiBTY3JpcHQgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBv
aW50IENSX0FkbGFtW10gPSB7CisJMywKKwkweDFlOTAwLCAweDFlOTRiLAorCTB4MWU5NTAsIDB4
MWU5NTksCisJMHgxZTk1ZSwgMHgxZTk1ZiwKK307IC8qIENSX0FkbGFtICovCisKKy8qICdCaGFp
a3N1a2knOiBTY3JpcHQgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0JoYWlrc3Vr
aVtdID0geworCTQsCisJMHgxMWMwMCwgMHgxMWMwOCwKKwkweDExYzBhLCAweDExYzM2LAorCTB4
MTFjMzgsIDB4MTFjNDUsCisJMHgxMWM1MCwgMHgxMWM2YywKK307IC8qIENSX0JoYWlrc3VraSAq
LworCisvKiAnTWFyY2hlbic6IFNjcmlwdCAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQg
Q1JfTWFyY2hlbltdID0geworCTMsCisJMHgxMWM3MCwgMHgxMWM4ZiwKKwkweDExYzkyLCAweDEx
Y2E3LAorCTB4MTFjYTksIDB4MTFjYjYsCit9OyAvKiBDUl9NYXJjaGVuICovCisKKy8qICdOZXdh
JzogU2NyaXB0ICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9OZXdhW10gPSB7CisJ
MywKKwkweDExNDAwLCAweDExNDU5LAorCTB4MTE0NWIsIDB4MTE0NWIsCisJMHgxMTQ1ZCwgMHgx
MTQ1ZiwKK307IC8qIENSX05ld2EgKi8KKworLyogJ09zYWdlJzogU2NyaXB0ICovCitzdGF0aWMg
Y29uc3QgT25pZ0NvZGVQb2ludCBDUl9Pc2FnZVtdID0geworCTIsCisJMHgxMDRiMCwgMHgxMDRk
MywKKwkweDEwNGQ4LCAweDEwNGZiLAorfTsgLyogQ1JfT3NhZ2UgKi8KKworLyogJ1Rhbmd1dCc6
IFNjcmlwdCAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfVGFuZ3V0W10gPSB7CisJ
MywKKwkweDE2ZmUwLCAweDE2ZmUwLAorCTB4MTcwMDAsIDB4MTg3ZjcsCisJMHgxODgwMCwgMHgx
OGFmMiwKK307IC8qIENSX1Rhbmd1dCAqLworCisvKiAnTWFzYXJhbV9Hb25kaSc6IFNjcmlwdCAq
Lworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfTWFzYXJhbV9Hb25kaVtdID0geworCTcs
CisJMHgxMWQwMCwgMHgxMWQwNiwKKwkweDExZDA4LCAweDExZDA5LAorCTB4MTFkMGIsIDB4MTFk
MzYsCisJMHgxMWQzYSwgMHgxMWQzYSwKKwkweDExZDNjLCAweDExZDNkLAorCTB4MTFkM2YsIDB4
MTFkNDcsCisJMHgxMWQ1MCwgMHgxMWQ1OSwKK307IC8qIENSX01hc2FyYW1fR29uZGkgKi8KKwor
LyogJ051c2h1JzogU2NyaXB0ICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9OdXNo
dVtdID0geworCTIsCisJMHgxNmZlMSwgMHgxNmZlMSwKKwkweDFiMTcwLCAweDFiMmZiLAorfTsg
LyogQ1JfTnVzaHUgKi8KKworLyogJ1NveW9tYm8nOiBTY3JpcHQgKi8KK3N0YXRpYyBjb25zdCBP
bmlnQ29kZVBvaW50IENSX1NveW9tYm9bXSA9IHsKKwkxLAorCTB4MTFhNTAsIDB4MTFhYTIsCit9
OyAvKiBDUl9Tb3lvbWJvICovCisKKy8qICdaYW5hYmF6YXJfU3F1YXJlJzogU2NyaXB0ICovCitz
dGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9aYW5hYmF6YXJfU3F1YXJlW10gPSB7CisJMSwK
KwkweDExYTAwLCAweDExYTQ3LAorfTsgLyogQ1JfWmFuYWJhemFyX1NxdWFyZSAqLworCisvKiAn
RG9ncmEnOiBTY3JpcHQgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0RvZ3JhW10g
PSB7CisJMSwKKwkweDExODAwLCAweDExODNiLAorfTsgLyogQ1JfRG9ncmEgKi8KKworLyogJ0d1
bmphbGFfR29uZGknOiBTY3JpcHQgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0d1
bmphbGFfR29uZGlbXSA9IHsKKwk2LAorCTB4MTFkNjAsIDB4MTFkNjUsCisJMHgxMWQ2NywgMHgx
MWQ2OCwKKwkweDExZDZhLCAweDExZDhlLAorCTB4MTFkOTAsIDB4MTFkOTEsCisJMHgxMWQ5Mywg
MHgxMWQ5OCwKKwkweDExZGEwLCAweDExZGE5LAorfTsgLyogQ1JfR3VuamFsYV9Hb25kaSAqLwor
CisvKiAnTWFrYXNhcic6IFNjcmlwdCAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1Jf
TWFrYXNhcltdID0geworCTEsCisJMHgxMWVlMCwgMHgxMWVmOCwKK307IC8qIENSX01ha2FzYXIg
Ki8KKworLyogJ01lZGVmYWlkcmluJzogU2NyaXB0ICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQ
b2ludCBDUl9NZWRlZmFpZHJpbltdID0geworCTEsCisJMHgxNmU0MCwgMHgxNmU5YSwKK307IC8q
IENSX01lZGVmYWlkcmluICovCisKKy8qICdIYW5pZmlfUm9oaW5neWEnOiBTY3JpcHQgKi8KK3N0
YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0hhbmlmaV9Sb2hpbmd5YVtdID0geworCTIsCisJ
MHgxMGQwMCwgMHgxMGQyNywKKwkweDEwZDMwLCAweDEwZDM5LAorfTsgLyogQ1JfSGFuaWZpX1Jv
aGluZ3lhICovCisKKy8qICdTb2dkaWFuJzogU2NyaXB0ICovCitzdGF0aWMgY29uc3QgT25pZ0Nv
ZGVQb2ludCBDUl9Tb2dkaWFuW10gPSB7CisJMSwKKwkweDEwZjMwLCAweDEwZjU5LAorfTsgLyog
Q1JfU29nZGlhbiAqLworCisvKiAnT2xkX1NvZ2RpYW4nOiBTY3JpcHQgKi8KK3N0YXRpYyBjb25z
dCBPbmlnQ29kZVBvaW50IENSX09sZF9Tb2dkaWFuW10gPSB7CisJMSwKKwkweDEwZjAwLCAweDEw
ZjI3LAorfTsgLyogQ1JfT2xkX1NvZ2RpYW4gKi8KKworLyogJ0VseW1haWMnOiBTY3JpcHQgKi8K
K3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0VseW1haWNbXSA9IHsKKwkxLAorCTB4MTBm
ZTAsIDB4MTBmZjYsCit9OyAvKiBDUl9FbHltYWljICovCisKKy8qICdOYW5kaW5hZ2FyaSc6IFNj
cmlwdCAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfTmFuZGluYWdhcmlbXSA9IHsK
KwkzLAorCTB4MTE5YTAsIDB4MTE5YTcsCisJMHgxMTlhYSwgMHgxMTlkNywKKwkweDExOWRhLCAw
eDExOWU0LAorfTsgLyogQ1JfTmFuZGluYWdhcmkgKi8KKworLyogJ055aWFrZW5nX1B1YWNodWVf
SG1vbmcnOiBTY3JpcHQgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX055aWFrZW5n
X1B1YWNodWVfSG1vbmdbXSA9IHsKKwk0LAorCTB4MWUxMDAsIDB4MWUxMmMsCisJMHgxZTEzMCwg
MHgxZTEzZCwKKwkweDFlMTQwLCAweDFlMTQ5LAorCTB4MWUxNGUsIDB4MWUxNGYsCit9OyAvKiBD
Ul9OeWlha2VuZ19QdWFjaHVlX0htb25nICovCisKKy8qICdXYW5jaG8nOiBTY3JpcHQgKi8KK3N0
YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX1dhbmNob1tdID0geworCTIsCisJMHgxZTJjMCwg
MHgxZTJmOSwKKwkweDFlMmZmLCAweDFlMmZmLAorfTsgLyogQ1JfV2FuY2hvICovCisKKy8qICdX
aGl0ZV9TcGFjZSc6IEJpbmFyeSBQcm9wZXJ0eSAqLworI2RlZmluZSBDUl9XaGl0ZV9TcGFjZSBD
Ul9TcGFjZQorCisvKiAnQmlkaV9Db250cm9sJzogQmluYXJ5IFByb3BlcnR5ICovCitzdGF0aWMg
Y29uc3QgT25pZ0NvZGVQb2ludCBDUl9CaWRpX0NvbnRyb2xbXSA9IHsKKwk0LAorCTB4MDYxYywg
MHgwNjFjLAorCTB4MjAwZSwgMHgyMDBmLAorCTB4MjAyYSwgMHgyMDJlLAorCTB4MjA2NiwgMHgy
MDY5LAorfTsgLyogQ1JfQmlkaV9Db250cm9sICovCisKKy8qICdKb2luX0NvbnRyb2wnOiBCaW5h
cnkgUHJvcGVydHkgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0pvaW5fQ29udHJv
bFtdID0geworCTEsCisJMHgyMDBjLCAweDIwMGQsCit9OyAvKiBDUl9Kb2luX0NvbnRyb2wgKi8K
KworLyogJ0Rhc2gnOiBCaW5hcnkgUHJvcGVydHkgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBv
aW50IENSX0Rhc2hbXSA9IHsKKwkyMSwKKwkweDAwMmQsIDB4MDAyZCwKKwkweDA1OGEsIDB4MDU4
YSwKKwkweDA1YmUsIDB4MDViZSwKKwkweDE0MDAsIDB4MTQwMCwKKwkweDE4MDYsIDB4MTgwNiwK
KwkweDIwMTAsIDB4MjAxNSwKKwkweDIwNTMsIDB4MjA1MywKKwkweDIwN2IsIDB4MjA3YiwKKwkw
eDIwOGIsIDB4MjA4YiwKKwkweDIyMTIsIDB4MjIxMiwKKwkweDJlMTcsIDB4MmUxNywKKwkweDJl
MWEsIDB4MmUxYSwKKwkweDJlM2EsIDB4MmUzYiwKKwkweDJlNDAsIDB4MmU0MCwKKwkweDMwMWMs
IDB4MzAxYywKKwkweDMwMzAsIDB4MzAzMCwKKwkweDMwYTAsIDB4MzBhMCwKKwkweGZlMzEsIDB4
ZmUzMiwKKwkweGZlNTgsIDB4ZmU1OCwKKwkweGZlNjMsIDB4ZmU2MywKKwkweGZmMGQsIDB4ZmYw
ZCwKK307IC8qIENSX0Rhc2ggKi8KKworLyogJ0h5cGhlbic6IEJpbmFyeSBQcm9wZXJ0eSAqLwor
c3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSHlwaGVuW10gPSB7CisJMTAsCisJMHgwMDJk
LCAweDAwMmQsCisJMHgwMGFkLCAweDAwYWQsCisJMHgwNThhLCAweDA1OGEsCisJMHgxODA2LCAw
eDE4MDYsCisJMHgyMDEwLCAweDIwMTEsCisJMHgyZTE3LCAweDJlMTcsCisJMHgzMGZiLCAweDMw
ZmIsCisJMHhmZTYzLCAweGZlNjMsCisJMHhmZjBkLCAweGZmMGQsCisJMHhmZjY1LCAweGZmNjUs
Cit9OyAvKiBDUl9IeXBoZW4gKi8KKworLyogJ1F1b3RhdGlvbl9NYXJrJzogQmluYXJ5IFByb3Bl
cnR5ICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9RdW90YXRpb25fTWFya1tdID0g
eworCTEzLAorCTB4MDAyMiwgMHgwMDIyLAorCTB4MDAyNywgMHgwMDI3LAorCTB4MDBhYiwgMHgw
MGFiLAorCTB4MDBiYiwgMHgwMGJiLAorCTB4MjAxOCwgMHgyMDFmLAorCTB4MjAzOSwgMHgyMDNh
LAorCTB4MmU0MiwgMHgyZTQyLAorCTB4MzAwYywgMHgzMDBmLAorCTB4MzAxZCwgMHgzMDFmLAor
CTB4ZmU0MSwgMHhmZTQ0LAorCTB4ZmYwMiwgMHhmZjAyLAorCTB4ZmYwNywgMHhmZjA3LAorCTB4
ZmY2MiwgMHhmZjYzLAorfTsgLyogQ1JfUXVvdGF0aW9uX01hcmsgKi8KKworLyogJ1Rlcm1pbmFs
X1B1bmN0dWF0aW9uJzogQmluYXJ5IFByb3BlcnR5ICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQ
b2ludCBDUl9UZXJtaW5hbF9QdW5jdHVhdGlvbltdID0geworCTEwMiwKKwkweDAwMjEsIDB4MDAy
MSwKKwkweDAwMmMsIDB4MDAyYywKKwkweDAwMmUsIDB4MDAyZSwKKwkweDAwM2EsIDB4MDAzYiwK
KwkweDAwM2YsIDB4MDAzZiwKKwkweDAzN2UsIDB4MDM3ZSwKKwkweDAzODcsIDB4MDM4NywKKwkw
eDA1ODksIDB4MDU4OSwKKwkweDA1YzMsIDB4MDVjMywKKwkweDA2MGMsIDB4MDYwYywKKwkweDA2
MWIsIDB4MDYxYiwKKwkweDA2MWUsIDB4MDYxZiwKKwkweDA2ZDQsIDB4MDZkNCwKKwkweDA3MDAs
IDB4MDcwYSwKKwkweDA3MGMsIDB4MDcwYywKKwkweDA3ZjgsIDB4MDdmOSwKKwkweDA4MzAsIDB4
MDgzZSwKKwkweDA4NWUsIDB4MDg1ZSwKKwkweDA5NjQsIDB4MDk2NSwKKwkweDBlNWEsIDB4MGU1
YiwKKwkweDBmMDgsIDB4MGYwOCwKKwkweDBmMGQsIDB4MGYxMiwKKwkweDEwNGEsIDB4MTA0YiwK
KwkweDEzNjEsIDB4MTM2OCwKKwkweDE2NmUsIDB4MTY2ZSwKKwkweDE2ZWIsIDB4MTZlZCwKKwkw
eDE3MzUsIDB4MTczNiwKKwkweDE3ZDQsIDB4MTdkNiwKKwkweDE3ZGEsIDB4MTdkYSwKKwkweDE4
MDIsIDB4MTgwNSwKKwkweDE4MDgsIDB4MTgwOSwKKwkweDE5NDQsIDB4MTk0NSwKKwkweDFhYTgs
IDB4MWFhYiwKKwkweDFiNWEsIDB4MWI1YiwKKwkweDFiNWQsIDB4MWI1ZiwKKwkweDFjM2IsIDB4
MWMzZiwKKwkweDFjN2UsIDB4MWM3ZiwKKwkweDIwM2MsIDB4MjAzZCwKKwkweDIwNDcsIDB4MjA0
OSwKKwkweDJlMmUsIDB4MmUyZSwKKwkweDJlM2MsIDB4MmUzYywKKwkweDJlNDEsIDB4MmU0MSwK
KwkweDJlNGMsIDB4MmU0YywKKwkweDJlNGUsIDB4MmU0ZiwKKwkweDMwMDEsIDB4MzAwMiwKKwkw
eGE0ZmUsIDB4YTRmZiwKKwkweGE2MGQsIDB4YTYwZiwKKwkweGE2ZjMsIDB4YTZmNywKKwkweGE4
NzYsIDB4YTg3NywKKwkweGE4Y2UsIDB4YThjZiwKKwkweGE5MmYsIDB4YTkyZiwKKwkweGE5Yzcs
IDB4YTljOSwKKwkweGFhNWQsIDB4YWE1ZiwKKwkweGFhZGYsIDB4YWFkZiwKKwkweGFhZjAsIDB4
YWFmMSwKKwkweGFiZWIsIDB4YWJlYiwKKwkweGZlNTAsIDB4ZmU1MiwKKwkweGZlNTQsIDB4ZmU1
NywKKwkweGZmMDEsIDB4ZmYwMSwKKwkweGZmMGMsIDB4ZmYwYywKKwkweGZmMGUsIDB4ZmYwZSwK
KwkweGZmMWEsIDB4ZmYxYiwKKwkweGZmMWYsIDB4ZmYxZiwKKwkweGZmNjEsIDB4ZmY2MSwKKwkw
eGZmNjQsIDB4ZmY2NCwKKwkweDEwMzlmLCAweDEwMzlmLAorCTB4MTAzZDAsIDB4MTAzZDAsCisJ
MHgxMDg1NywgMHgxMDg1NywKKwkweDEwOTFmLCAweDEwOTFmLAorCTB4MTBhNTYsIDB4MTBhNTcs
CisJMHgxMGFmMCwgMHgxMGFmNSwKKwkweDEwYjNhLCAweDEwYjNmLAorCTB4MTBiOTksIDB4MTBi
OWMsCisJMHgxMGY1NSwgMHgxMGY1OSwKKwkweDExMDQ3LCAweDExMDRkLAorCTB4MTEwYmUsIDB4
MTEwYzEsCisJMHgxMTE0MSwgMHgxMTE0MywKKwkweDExMWM1LCAweDExMWM2LAorCTB4MTExY2Qs
IDB4MTExY2QsCisJMHgxMTFkZSwgMHgxMTFkZiwKKwkweDExMjM4LCAweDExMjNjLAorCTB4MTEy
YTksIDB4MTEyYTksCisJMHgxMTQ0YiwgMHgxMTQ0ZCwKKwkweDExNDViLCAweDExNDViLAorCTB4
MTE1YzIsIDB4MTE1YzUsCisJMHgxMTVjOSwgMHgxMTVkNywKKwkweDExNjQxLCAweDExNjQyLAor
CTB4MTE3M2MsIDB4MTE3M2UsCisJMHgxMWE0MiwgMHgxMWE0MywKKwkweDExYTliLCAweDExYTlj
LAorCTB4MTFhYTEsIDB4MTFhYTIsCisJMHgxMWM0MSwgMHgxMWM0MywKKwkweDExYzcxLCAweDEx
YzcxLAorCTB4MTFlZjcsIDB4MTFlZjgsCisJMHgxMjQ3MCwgMHgxMjQ3NCwKKwkweDE2YTZlLCAw
eDE2YTZmLAorCTB4MTZhZjUsIDB4MTZhZjUsCisJMHgxNmIzNywgMHgxNmIzOSwKKwkweDE2YjQ0
LCAweDE2YjQ0LAorCTB4MTZlOTcsIDB4MTZlOTgsCisJMHgxYmM5ZiwgMHgxYmM5ZiwKKwkweDFk
YTg3LCAweDFkYThhLAorfTsgLyogQ1JfVGVybWluYWxfUHVuY3R1YXRpb24gKi8KKworLyogJ090
aGVyX01hdGgnOiBCaW5hcnkgUHJvcGVydHkgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50
IENSX090aGVyX01hdGhbXSA9IHsKKwkxMzQsCisJMHgwMDVlLCAweDAwNWUsCisJMHgwM2QwLCAw
eDAzZDIsCisJMHgwM2Q1LCAweDAzZDUsCisJMHgwM2YwLCAweDAzZjEsCisJMHgwM2Y0LCAweDAz
ZjUsCisJMHgyMDE2LCAweDIwMTYsCisJMHgyMDMyLCAweDIwMzQsCisJMHgyMDQwLCAweDIwNDAs
CisJMHgyMDYxLCAweDIwNjQsCisJMHgyMDdkLCAweDIwN2UsCisJMHgyMDhkLCAweDIwOGUsCisJ
MHgyMGQwLCAweDIwZGMsCisJMHgyMGUxLCAweDIwZTEsCisJMHgyMGU1LCAweDIwZTYsCisJMHgy
MGViLCAweDIwZWYsCisJMHgyMTAyLCAweDIxMDIsCisJMHgyMTA3LCAweDIxMDcsCisJMHgyMTBh
LCAweDIxMTMsCisJMHgyMTE1LCAweDIxMTUsCisJMHgyMTE5LCAweDIxMWQsCisJMHgyMTI0LCAw
eDIxMjQsCisJMHgyMTI4LCAweDIxMjksCisJMHgyMTJjLCAweDIxMmQsCisJMHgyMTJmLCAweDIx
MzEsCisJMHgyMTMzLCAweDIxMzgsCisJMHgyMTNjLCAweDIxM2YsCisJMHgyMTQ1LCAweDIxNDks
CisJMHgyMTk1LCAweDIxOTksCisJMHgyMTljLCAweDIxOWYsCisJMHgyMWExLCAweDIxYTIsCisJ
MHgyMWE0LCAweDIxYTUsCisJMHgyMWE3LCAweDIxYTcsCisJMHgyMWE5LCAweDIxYWQsCisJMHgy
MWIwLCAweDIxYjEsCisJMHgyMWI2LCAweDIxYjcsCisJMHgyMWJjLCAweDIxY2QsCisJMHgyMWQw
LCAweDIxZDEsCisJMHgyMWQzLCAweDIxZDMsCisJMHgyMWQ1LCAweDIxZGIsCisJMHgyMWRkLCAw
eDIxZGQsCisJMHgyMWU0LCAweDIxZTUsCisJMHgyMzA4LCAweDIzMGIsCisJMHgyM2I0LCAweDIz
YjUsCisJMHgyM2I3LCAweDIzYjcsCisJMHgyM2QwLCAweDIzZDAsCisJMHgyM2UyLCAweDIzZTIs
CisJMHgyNWEwLCAweDI1YTEsCisJMHgyNWFlLCAweDI1YjYsCisJMHgyNWJjLCAweDI1YzAsCisJ
MHgyNWM2LCAweDI1YzcsCisJMHgyNWNhLCAweDI1Y2IsCisJMHgyNWNmLCAweDI1ZDMsCisJMHgy
NWUyLCAweDI1ZTIsCisJMHgyNWU0LCAweDI1ZTQsCisJMHgyNWU3LCAweDI1ZWMsCisJMHgyNjA1
LCAweDI2MDYsCisJMHgyNjQwLCAweDI2NDAsCisJMHgyNjQyLCAweDI2NDIsCisJMHgyNjYwLCAw
eDI2NjMsCisJMHgyNjZkLCAweDI2NmUsCisJMHgyN2M1LCAweDI3YzYsCisJMHgyN2U2LCAweDI3
ZWYsCisJMHgyOTgzLCAweDI5OTgsCisJMHgyOWQ4LCAweDI5ZGIsCisJMHgyOWZjLCAweDI5ZmQs
CisJMHhmZTYxLCAweGZlNjEsCisJMHhmZTYzLCAweGZlNjMsCisJMHhmZTY4LCAweGZlNjgsCisJ
MHhmZjNjLCAweGZmM2MsCisJMHhmZjNlLCAweGZmM2UsCisJMHgxZDQwMCwgMHgxZDQ1NCwKKwkw
eDFkNDU2LCAweDFkNDljLAorCTB4MWQ0OWUsIDB4MWQ0OWYsCisJMHgxZDRhMiwgMHgxZDRhMiwK
KwkweDFkNGE1LCAweDFkNGE2LAorCTB4MWQ0YTksIDB4MWQ0YWMsCisJMHgxZDRhZSwgMHgxZDRi
OSwKKwkweDFkNGJiLCAweDFkNGJiLAorCTB4MWQ0YmQsIDB4MWQ0YzMsCisJMHgxZDRjNSwgMHgx
ZDUwNSwKKwkweDFkNTA3LCAweDFkNTBhLAorCTB4MWQ1MGQsIDB4MWQ1MTQsCisJMHgxZDUxNiwg
MHgxZDUxYywKKwkweDFkNTFlLCAweDFkNTM5LAorCTB4MWQ1M2IsIDB4MWQ1M2UsCisJMHgxZDU0
MCwgMHgxZDU0NCwKKwkweDFkNTQ2LCAweDFkNTQ2LAorCTB4MWQ1NGEsIDB4MWQ1NTAsCisJMHgx
ZDU1MiwgMHgxZDZhNSwKKwkweDFkNmE4LCAweDFkNmMwLAorCTB4MWQ2YzIsIDB4MWQ2ZGEsCisJ
MHgxZDZkYywgMHgxZDZmYSwKKwkweDFkNmZjLCAweDFkNzE0LAorCTB4MWQ3MTYsIDB4MWQ3MzQs
CisJMHgxZDczNiwgMHgxZDc0ZSwKKwkweDFkNzUwLCAweDFkNzZlLAorCTB4MWQ3NzAsIDB4MWQ3
ODgsCisJMHgxZDc4YSwgMHgxZDdhOCwKKwkweDFkN2FhLCAweDFkN2MyLAorCTB4MWQ3YzQsIDB4
MWQ3Y2IsCisJMHgxZDdjZSwgMHgxZDdmZiwKKwkweDFlZTAwLCAweDFlZTAzLAorCTB4MWVlMDUs
IDB4MWVlMWYsCisJMHgxZWUyMSwgMHgxZWUyMiwKKwkweDFlZTI0LCAweDFlZTI0LAorCTB4MWVl
MjcsIDB4MWVlMjcsCisJMHgxZWUyOSwgMHgxZWUzMiwKKwkweDFlZTM0LCAweDFlZTM3LAorCTB4
MWVlMzksIDB4MWVlMzksCisJMHgxZWUzYiwgMHgxZWUzYiwKKwkweDFlZTQyLCAweDFlZTQyLAor
CTB4MWVlNDcsIDB4MWVlNDcsCisJMHgxZWU0OSwgMHgxZWU0OSwKKwkweDFlZTRiLCAweDFlZTRi
LAorCTB4MWVlNGQsIDB4MWVlNGYsCisJMHgxZWU1MSwgMHgxZWU1MiwKKwkweDFlZTU0LCAweDFl
ZTU0LAorCTB4MWVlNTcsIDB4MWVlNTcsCisJMHgxZWU1OSwgMHgxZWU1OSwKKwkweDFlZTViLCAw
eDFlZTViLAorCTB4MWVlNWQsIDB4MWVlNWQsCisJMHgxZWU1ZiwgMHgxZWU1ZiwKKwkweDFlZTYx
LCAweDFlZTYyLAorCTB4MWVlNjQsIDB4MWVlNjQsCisJMHgxZWU2NywgMHgxZWU2YSwKKwkweDFl
ZTZjLCAweDFlZTcyLAorCTB4MWVlNzQsIDB4MWVlNzcsCisJMHgxZWU3OSwgMHgxZWU3YywKKwkw
eDFlZTdlLCAweDFlZTdlLAorCTB4MWVlODAsIDB4MWVlODksCisJMHgxZWU4YiwgMHgxZWU5YiwK
KwkweDFlZWExLCAweDFlZWEzLAorCTB4MWVlYTUsIDB4MWVlYTksCisJMHgxZWVhYiwgMHgxZWVi
YiwKK307IC8qIENSX090aGVyX01hdGggKi8KKworLyogJ0hleF9EaWdpdCc6IEJpbmFyeSBQcm9w
ZXJ0eSAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSGV4X0RpZ2l0W10gPSB7CisJ
NiwKKwkweDAwMzAsIDB4MDAzOSwKKwkweDAwNDEsIDB4MDA0NiwKKwkweDAwNjEsIDB4MDA2NiwK
KwkweGZmMTAsIDB4ZmYxOSwKKwkweGZmMjEsIDB4ZmYyNiwKKwkweGZmNDEsIDB4ZmY0NiwKK307
IC8qIENSX0hleF9EaWdpdCAqLworCisvKiAnQVNDSUlfSGV4X0RpZ2l0JzogQmluYXJ5IFByb3Bl
cnR5ICovCisjZGVmaW5lIENSX0FTQ0lJX0hleF9EaWdpdCBDUl9YRGlnaXQKKworLyogJ090aGVy
X0FscGhhYmV0aWMnOiBCaW5hcnkgUHJvcGVydHkgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBv
aW50IENSX090aGVyX0FscGhhYmV0aWNbXSA9IHsKKwkyMjEsCisJMHgwMzQ1LCAweDAzNDUsCisJ
MHgwNWIwLCAweDA1YmQsCisJMHgwNWJmLCAweDA1YmYsCisJMHgwNWMxLCAweDA1YzIsCisJMHgw
NWM0LCAweDA1YzUsCisJMHgwNWM3LCAweDA1YzcsCisJMHgwNjEwLCAweDA2MWEsCisJMHgwNjRi
LCAweDA2NTcsCisJMHgwNjU5LCAweDA2NWYsCisJMHgwNjcwLCAweDA2NzAsCisJMHgwNmQ2LCAw
eDA2ZGMsCisJMHgwNmUxLCAweDA2ZTQsCisJMHgwNmU3LCAweDA2ZTgsCisJMHgwNmVkLCAweDA2
ZWQsCisJMHgwNzExLCAweDA3MTEsCisJMHgwNzMwLCAweDA3M2YsCisJMHgwN2E2LCAweDA3YjAs
CisJMHgwODE2LCAweDA4MTcsCisJMHgwODFiLCAweDA4MjMsCisJMHgwODI1LCAweDA4MjcsCisJ
MHgwODI5LCAweDA4MmMsCisJMHgwOGQ0LCAweDA4ZGYsCisJMHgwOGUzLCAweDA4ZTksCisJMHgw
OGYwLCAweDA5MDMsCisJMHgwOTNhLCAweDA5M2IsCisJMHgwOTNlLCAweDA5NGMsCisJMHgwOTRl
LCAweDA5NGYsCisJMHgwOTU1LCAweDA5NTcsCisJMHgwOTYyLCAweDA5NjMsCisJMHgwOTgxLCAw
eDA5ODMsCisJMHgwOWJlLCAweDA5YzQsCisJMHgwOWM3LCAweDA5YzgsCisJMHgwOWNiLCAweDA5
Y2MsCisJMHgwOWQ3LCAweDA5ZDcsCisJMHgwOWUyLCAweDA5ZTMsCisJMHgwYTAxLCAweDBhMDMs
CisJMHgwYTNlLCAweDBhNDIsCisJMHgwYTQ3LCAweDBhNDgsCisJMHgwYTRiLCAweDBhNGMsCisJ
MHgwYTUxLCAweDBhNTEsCisJMHgwYTcwLCAweDBhNzEsCisJMHgwYTc1LCAweDBhNzUsCisJMHgw
YTgxLCAweDBhODMsCisJMHgwYWJlLCAweDBhYzUsCisJMHgwYWM3LCAweDBhYzksCisJMHgwYWNi
LCAweDBhY2MsCisJMHgwYWUyLCAweDBhZTMsCisJMHgwYWZhLCAweDBhZmMsCisJMHgwYjAxLCAw
eDBiMDMsCisJMHgwYjNlLCAweDBiNDQsCisJMHgwYjQ3LCAweDBiNDgsCisJMHgwYjRiLCAweDBi
NGMsCisJMHgwYjU2LCAweDBiNTcsCisJMHgwYjYyLCAweDBiNjMsCisJMHgwYjgyLCAweDBiODIs
CisJMHgwYmJlLCAweDBiYzIsCisJMHgwYmM2LCAweDBiYzgsCisJMHgwYmNhLCAweDBiY2MsCisJ
MHgwYmQ3LCAweDBiZDcsCisJMHgwYzAwLCAweDBjMDMsCisJMHgwYzNlLCAweDBjNDQsCisJMHgw
YzQ2LCAweDBjNDgsCisJMHgwYzRhLCAweDBjNGMsCisJMHgwYzU1LCAweDBjNTYsCisJMHgwYzYy
LCAweDBjNjMsCisJMHgwYzgxLCAweDBjODMsCisJMHgwY2JlLCAweDBjYzQsCisJMHgwY2M2LCAw
eDBjYzgsCisJMHgwY2NhLCAweDBjY2MsCisJMHgwY2Q1LCAweDBjZDYsCisJMHgwY2UyLCAweDBj
ZTMsCisJMHgwZDAwLCAweDBkMDMsCisJMHgwZDNlLCAweDBkNDQsCisJMHgwZDQ2LCAweDBkNDgs
CisJMHgwZDRhLCAweDBkNGMsCisJMHgwZDU3LCAweDBkNTcsCisJMHgwZDYyLCAweDBkNjMsCisJ
MHgwZDgyLCAweDBkODMsCisJMHgwZGNmLCAweDBkZDQsCisJMHgwZGQ2LCAweDBkZDYsCisJMHgw
ZGQ4LCAweDBkZGYsCisJMHgwZGYyLCAweDBkZjMsCisJMHgwZTMxLCAweDBlMzEsCisJMHgwZTM0
LCAweDBlM2EsCisJMHgwZTRkLCAweDBlNGQsCisJMHgwZWIxLCAweDBlYjEsCisJMHgwZWI0LCAw
eDBlYjksCisJMHgwZWJiLCAweDBlYmMsCisJMHgwZWNkLCAweDBlY2QsCisJMHgwZjcxLCAweDBm
ODEsCisJMHgwZjhkLCAweDBmOTcsCisJMHgwZjk5LCAweDBmYmMsCisJMHgxMDJiLCAweDEwMzYs
CisJMHgxMDM4LCAweDEwMzgsCisJMHgxMDNiLCAweDEwM2UsCisJMHgxMDU2LCAweDEwNTksCisJ
MHgxMDVlLCAweDEwNjAsCisJMHgxMDYyLCAweDEwNjQsCisJMHgxMDY3LCAweDEwNmQsCisJMHgx
MDcxLCAweDEwNzQsCisJMHgxMDgyLCAweDEwOGQsCisJMHgxMDhmLCAweDEwOGYsCisJMHgxMDlh
LCAweDEwOWQsCisJMHgxNzEyLCAweDE3MTMsCisJMHgxNzMyLCAweDE3MzMsCisJMHgxNzUyLCAw
eDE3NTMsCisJMHgxNzcyLCAweDE3NzMsCisJMHgxN2I2LCAweDE3YzgsCisJMHgxODg1LCAweDE4
ODYsCisJMHgxOGE5LCAweDE4YTksCisJMHgxOTIwLCAweDE5MmIsCisJMHgxOTMwLCAweDE5Mzgs
CisJMHgxYTE3LCAweDFhMWIsCisJMHgxYTU1LCAweDFhNWUsCisJMHgxYTYxLCAweDFhNzQsCisJ
MHgxYjAwLCAweDFiMDQsCisJMHgxYjM1LCAweDFiNDMsCisJMHgxYjgwLCAweDFiODIsCisJMHgx
YmExLCAweDFiYTksCisJMHgxYmFjLCAweDFiYWQsCisJMHgxYmU3LCAweDFiZjEsCisJMHgxYzI0
LCAweDFjMzYsCisJMHgxZGU3LCAweDFkZjQsCisJMHgyNGI2LCAweDI0ZTksCisJMHgyZGUwLCAw
eDJkZmYsCisJMHhhNjc0LCAweGE2N2IsCisJMHhhNjllLCAweGE2OWYsCisJMHhhODAyLCAweGE4
MDIsCisJMHhhODBiLCAweGE4MGIsCisJMHhhODIzLCAweGE4MjcsCisJMHhhODgwLCAweGE4ODEs
CisJMHhhOGI0LCAweGE4YzMsCisJMHhhOGM1LCAweGE4YzUsCisJMHhhOGZmLCAweGE4ZmYsCisJ
MHhhOTI2LCAweGE5MmEsCisJMHhhOTQ3LCAweGE5NTIsCisJMHhhOTgwLCAweGE5ODMsCisJMHhh
OWI0LCAweGE5YmYsCisJMHhhOWU1LCAweGE5ZTUsCisJMHhhYTI5LCAweGFhMzYsCisJMHhhYTQz
LCAweGFhNDMsCisJMHhhYTRjLCAweGFhNGQsCisJMHhhYTdiLCAweGFhN2QsCisJMHhhYWIwLCAw
eGFhYjAsCisJMHhhYWIyLCAweGFhYjQsCisJMHhhYWI3LCAweGFhYjgsCisJMHhhYWJlLCAweGFh
YmUsCisJMHhhYWViLCAweGFhZWYsCisJMHhhYWY1LCAweGFhZjUsCisJMHhhYmUzLCAweGFiZWEs
CisJMHhmYjFlLCAweGZiMWUsCisJMHgxMDM3NiwgMHgxMDM3YSwKKwkweDEwYTAxLCAweDEwYTAz
LAorCTB4MTBhMDUsIDB4MTBhMDYsCisJMHgxMGEwYywgMHgxMGEwZiwKKwkweDEwZDI0LCAweDEw
ZDI3LAorCTB4MTEwMDAsIDB4MTEwMDIsCisJMHgxMTAzOCwgMHgxMTA0NSwKKwkweDExMDgyLCAw
eDExMDgyLAorCTB4MTEwYjAsIDB4MTEwYjgsCisJMHgxMTEwMCwgMHgxMTEwMiwKKwkweDExMTI3
LCAweDExMTMyLAorCTB4MTExNDUsIDB4MTExNDYsCisJMHgxMTE4MCwgMHgxMTE4MiwKKwkweDEx
MWIzLCAweDExMWJmLAorCTB4MTEyMmMsIDB4MTEyMzQsCisJMHgxMTIzNywgMHgxMTIzNywKKwkw
eDExMjNlLCAweDExMjNlLAorCTB4MTEyZGYsIDB4MTEyZTgsCisJMHgxMTMwMCwgMHgxMTMwMywK
KwkweDExMzNlLCAweDExMzQ0LAorCTB4MTEzNDcsIDB4MTEzNDgsCisJMHgxMTM0YiwgMHgxMTM0
YywKKwkweDExMzU3LCAweDExMzU3LAorCTB4MTEzNjIsIDB4MTEzNjMsCisJMHgxMTQzNSwgMHgx
MTQ0MSwKKwkweDExNDQzLCAweDExNDQ1LAorCTB4MTE0YjAsIDB4MTE0YzEsCisJMHgxMTVhZiwg
MHgxMTViNSwKKwkweDExNWI4LCAweDExNWJlLAorCTB4MTE1ZGMsIDB4MTE1ZGQsCisJMHgxMTYz
MCwgMHgxMTYzZSwKKwkweDExNjQwLCAweDExNjQwLAorCTB4MTE2YWIsIDB4MTE2YjUsCisJMHgx
MTcxZCwgMHgxMTcyYSwKKwkweDExODJjLCAweDExODM4LAorCTB4MTE5ZDEsIDB4MTE5ZDcsCisJ
MHgxMTlkYSwgMHgxMTlkZiwKKwkweDExOWU0LCAweDExOWU0LAorCTB4MTFhMDEsIDB4MTFhMGEs
CisJMHgxMWEzNSwgMHgxMWEzOSwKKwkweDExYTNiLCAweDExYTNlLAorCTB4MTFhNTEsIDB4MTFh
NWIsCisJMHgxMWE4YSwgMHgxMWE5NywKKwkweDExYzJmLCAweDExYzM2LAorCTB4MTFjMzgsIDB4
MTFjM2UsCisJMHgxMWM5MiwgMHgxMWNhNywKKwkweDExY2E5LCAweDExY2I2LAorCTB4MTFkMzEs
IDB4MTFkMzYsCisJMHgxMWQzYSwgMHgxMWQzYSwKKwkweDExZDNjLCAweDExZDNkLAorCTB4MTFk
M2YsIDB4MTFkNDEsCisJMHgxMWQ0MywgMHgxMWQ0MywKKwkweDExZDQ3LCAweDExZDQ3LAorCTB4
MTFkOGEsIDB4MTFkOGUsCisJMHgxMWQ5MCwgMHgxMWQ5MSwKKwkweDExZDkzLCAweDExZDk2LAor
CTB4MTFlZjMsIDB4MTFlZjYsCisJMHgxNmY0ZiwgMHgxNmY0ZiwKKwkweDE2ZjUxLCAweDE2Zjg3
LAorCTB4MTZmOGYsIDB4MTZmOTIsCisJMHgxYmM5ZSwgMHgxYmM5ZSwKKwkweDFlMDAwLCAweDFl
MDA2LAorCTB4MWUwMDgsIDB4MWUwMTgsCisJMHgxZTAxYiwgMHgxZTAyMSwKKwkweDFlMDIzLCAw
eDFlMDI0LAorCTB4MWUwMjYsIDB4MWUwMmEsCisJMHgxZTk0NywgMHgxZTk0NywKKwkweDFmMTMw
LCAweDFmMTQ5LAorCTB4MWYxNTAsIDB4MWYxNjksCisJMHgxZjE3MCwgMHgxZjE4OSwKK307IC8q
IENSX090aGVyX0FscGhhYmV0aWMgKi8KKworLyogJ0lkZW9ncmFwaGljJzogQmluYXJ5IFByb3Bl
cnR5ICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9JZGVvZ3JhcGhpY1tdID0gewor
CTE2LAorCTB4MzAwNiwgMHgzMDA3LAorCTB4MzAyMSwgMHgzMDI5LAorCTB4MzAzOCwgMHgzMDNh
LAorCTB4MzQwMCwgMHg0ZGI1LAorCTB4NGUwMCwgMHg5ZmVmLAorCTB4ZjkwMCwgMHhmYTZkLAor
CTB4ZmE3MCwgMHhmYWQ5LAorCTB4MTcwMDAsIDB4MTg3ZjcsCisJMHgxODgwMCwgMHgxOGFmMiwK
KwkweDFiMTcwLCAweDFiMmZiLAorCTB4MjAwMDAsIDB4MmE2ZDYsCisJMHgyYTcwMCwgMHgyYjcz
NCwKKwkweDJiNzQwLCAweDJiODFkLAorCTB4MmI4MjAsIDB4MmNlYTEsCisJMHgyY2ViMCwgMHgy
ZWJlMCwKKwkweDJmODAwLCAweDJmYTFkLAorfTsgLyogQ1JfSWRlb2dyYXBoaWMgKi8KKworLyog
J0RpYWNyaXRpYyc6IEJpbmFyeSBQcm9wZXJ0eSAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9p
bnQgQ1JfRGlhY3JpdGljW10gPSB7CisJMTcxLAorCTB4MDA1ZSwgMHgwMDVlLAorCTB4MDA2MCwg
MHgwMDYwLAorCTB4MDBhOCwgMHgwMGE4LAorCTB4MDBhZiwgMHgwMGFmLAorCTB4MDBiNCwgMHgw
MGI0LAorCTB4MDBiNywgMHgwMGI4LAorCTB4MDJiMCwgMHgwMzRlLAorCTB4MDM1MCwgMHgwMzU3
LAorCTB4MDM1ZCwgMHgwMzYyLAorCTB4MDM3NCwgMHgwMzc1LAorCTB4MDM3YSwgMHgwMzdhLAor
CTB4MDM4NCwgMHgwMzg1LAorCTB4MDQ4MywgMHgwNDg3LAorCTB4MDU1OSwgMHgwNTU5LAorCTB4
MDU5MSwgMHgwNWExLAorCTB4MDVhMywgMHgwNWJkLAorCTB4MDViZiwgMHgwNWJmLAorCTB4MDVj
MSwgMHgwNWMyLAorCTB4MDVjNCwgMHgwNWM0LAorCTB4MDY0YiwgMHgwNjUyLAorCTB4MDY1Nywg
MHgwNjU4LAorCTB4MDZkZiwgMHgwNmUwLAorCTB4MDZlNSwgMHgwNmU2LAorCTB4MDZlYSwgMHgw
NmVjLAorCTB4MDczMCwgMHgwNzRhLAorCTB4MDdhNiwgMHgwN2IwLAorCTB4MDdlYiwgMHgwN2Y1
LAorCTB4MDgxOCwgMHgwODE5LAorCTB4MDhlMywgMHgwOGZlLAorCTB4MDkzYywgMHgwOTNjLAor
CTB4MDk0ZCwgMHgwOTRkLAorCTB4MDk1MSwgMHgwOTU0LAorCTB4MDk3MSwgMHgwOTcxLAorCTB4
MDliYywgMHgwOWJjLAorCTB4MDljZCwgMHgwOWNkLAorCTB4MGEzYywgMHgwYTNjLAorCTB4MGE0
ZCwgMHgwYTRkLAorCTB4MGFiYywgMHgwYWJjLAorCTB4MGFjZCwgMHgwYWNkLAorCTB4MGFmZCwg
MHgwYWZmLAorCTB4MGIzYywgMHgwYjNjLAorCTB4MGI0ZCwgMHgwYjRkLAorCTB4MGJjZCwgMHgw
YmNkLAorCTB4MGM0ZCwgMHgwYzRkLAorCTB4MGNiYywgMHgwY2JjLAorCTB4MGNjZCwgMHgwY2Nk
LAorCTB4MGQzYiwgMHgwZDNjLAorCTB4MGQ0ZCwgMHgwZDRkLAorCTB4MGRjYSwgMHgwZGNhLAor
CTB4MGU0NywgMHgwZTRjLAorCTB4MGU0ZSwgMHgwZTRlLAorCTB4MGViYSwgMHgwZWJhLAorCTB4
MGVjOCwgMHgwZWNjLAorCTB4MGYxOCwgMHgwZjE5LAorCTB4MGYzNSwgMHgwZjM1LAorCTB4MGYz
NywgMHgwZjM3LAorCTB4MGYzOSwgMHgwZjM5LAorCTB4MGYzZSwgMHgwZjNmLAorCTB4MGY4Miwg
MHgwZjg0LAorCTB4MGY4NiwgMHgwZjg3LAorCTB4MGZjNiwgMHgwZmM2LAorCTB4MTAzNywgMHgx
MDM3LAorCTB4MTAzOSwgMHgxMDNhLAorCTB4MTA2MywgMHgxMDY0LAorCTB4MTA2OSwgMHgxMDZk
LAorCTB4MTA4NywgMHgxMDhkLAorCTB4MTA4ZiwgMHgxMDhmLAorCTB4MTA5YSwgMHgxMDliLAor
CTB4MTM1ZCwgMHgxMzVmLAorCTB4MTdjOSwgMHgxN2QzLAorCTB4MTdkZCwgMHgxN2RkLAorCTB4
MTkzOSwgMHgxOTNiLAorCTB4MWE3NSwgMHgxYTdjLAorCTB4MWE3ZiwgMHgxYTdmLAorCTB4MWFi
MCwgMHgxYWJkLAorCTB4MWIzNCwgMHgxYjM0LAorCTB4MWI0NCwgMHgxYjQ0LAorCTB4MWI2Yiwg
MHgxYjczLAorCTB4MWJhYSwgMHgxYmFiLAorCTB4MWMzNiwgMHgxYzM3LAorCTB4MWM3OCwgMHgx
YzdkLAorCTB4MWNkMCwgMHgxY2U4LAorCTB4MWNlZCwgMHgxY2VkLAorCTB4MWNmNCwgMHgxY2Y0
LAorCTB4MWNmNywgMHgxY2Y5LAorCTB4MWQyYywgMHgxZDZhLAorCTB4MWRjNCwgMHgxZGNmLAor
CTB4MWRmNSwgMHgxZGY5LAorCTB4MWRmZCwgMHgxZGZmLAorCTB4MWZiZCwgMHgxZmJkLAorCTB4
MWZiZiwgMHgxZmMxLAorCTB4MWZjZCwgMHgxZmNmLAorCTB4MWZkZCwgMHgxZmRmLAorCTB4MWZl
ZCwgMHgxZmVmLAorCTB4MWZmZCwgMHgxZmZlLAorCTB4MmNlZiwgMHgyY2YxLAorCTB4MmUyZiwg
MHgyZTJmLAorCTB4MzAyYSwgMHgzMDJmLAorCTB4MzA5OSwgMHgzMDljLAorCTB4MzBmYywgMHgz
MGZjLAorCTB4YTY2ZiwgMHhhNjZmLAorCTB4YTY3YywgMHhhNjdkLAorCTB4YTY3ZiwgMHhhNjdm
LAorCTB4YTY5YywgMHhhNjlkLAorCTB4YTZmMCwgMHhhNmYxLAorCTB4YTcwMCwgMHhhNzIxLAor
CTB4YTc4OCwgMHhhNzhhLAorCTB4YTdmOCwgMHhhN2Y5LAorCTB4YThjNCwgMHhhOGM0LAorCTB4
YThlMCwgMHhhOGYxLAorCTB4YTkyYiwgMHhhOTJlLAorCTB4YTk1MywgMHhhOTUzLAorCTB4YTli
MywgMHhhOWIzLAorCTB4YTljMCwgMHhhOWMwLAorCTB4YTllNSwgMHhhOWU1LAorCTB4YWE3Yiwg
MHhhYTdkLAorCTB4YWFiZiwgMHhhYWMyLAorCTB4YWFmNiwgMHhhYWY2LAorCTB4YWI1YiwgMHhh
YjVmLAorCTB4YWJlYywgMHhhYmVkLAorCTB4ZmIxZSwgMHhmYjFlLAorCTB4ZmUyMCwgMHhmZTJm
LAorCTB4ZmYzZSwgMHhmZjNlLAorCTB4ZmY0MCwgMHhmZjQwLAorCTB4ZmY3MCwgMHhmZjcwLAor
CTB4ZmY5ZSwgMHhmZjlmLAorCTB4ZmZlMywgMHhmZmUzLAorCTB4MTAyZTAsIDB4MTAyZTAsCisJ
MHgxMGFlNSwgMHgxMGFlNiwKKwkweDEwZDIyLCAweDEwZDI3LAorCTB4MTBmNDYsIDB4MTBmNTAs
CisJMHgxMTBiOSwgMHgxMTBiYSwKKwkweDExMTMzLCAweDExMTM0LAorCTB4MTExNzMsIDB4MTEx
NzMsCisJMHgxMTFjMCwgMHgxMTFjMCwKKwkweDExMWNhLCAweDExMWNjLAorCTB4MTEyMzUsIDB4
MTEyMzYsCisJMHgxMTJlOSwgMHgxMTJlYSwKKwkweDExMzNjLCAweDExMzNjLAorCTB4MTEzNGQs
IDB4MTEzNGQsCisJMHgxMTM2NiwgMHgxMTM2YywKKwkweDExMzcwLCAweDExMzc0LAorCTB4MTE0
NDIsIDB4MTE0NDIsCisJMHgxMTQ0NiwgMHgxMTQ0NiwKKwkweDExNGMyLCAweDExNGMzLAorCTB4
MTE1YmYsIDB4MTE1YzAsCisJMHgxMTYzZiwgMHgxMTYzZiwKKwkweDExNmI2LCAweDExNmI3LAor
CTB4MTE3MmIsIDB4MTE3MmIsCisJMHgxMTgzOSwgMHgxMTgzYSwKKwkweDExOWUwLCAweDExOWUw
LAorCTB4MTFhMzQsIDB4MTFhMzQsCisJMHgxMWE0NywgMHgxMWE0NywKKwkweDExYTk5LCAweDEx
YTk5LAorCTB4MTFjM2YsIDB4MTFjM2YsCisJMHgxMWQ0MiwgMHgxMWQ0MiwKKwkweDExZDQ0LCAw
eDExZDQ1LAorCTB4MTFkOTcsIDB4MTFkOTcsCisJMHgxNmFmMCwgMHgxNmFmNCwKKwkweDE2YjMw
LCAweDE2YjM2LAorCTB4MTZmOGYsIDB4MTZmOWYsCisJMHgxZDE2NywgMHgxZDE2OSwKKwkweDFk
MTZkLCAweDFkMTcyLAorCTB4MWQxN2IsIDB4MWQxODIsCisJMHgxZDE4NSwgMHgxZDE4YiwKKwkw
eDFkMWFhLCAweDFkMWFkLAorCTB4MWUxMzAsIDB4MWUxMzYsCisJMHgxZTJlYywgMHgxZTJlZiwK
KwkweDFlOGQwLCAweDFlOGQ2LAorCTB4MWU5NDQsIDB4MWU5NDYsCisJMHgxZTk0OCwgMHgxZTk0
YSwKK307IC8qIENSX0RpYWNyaXRpYyAqLworCisvKiAnRXh0ZW5kZXInOiBCaW5hcnkgUHJvcGVy
dHkgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0V4dGVuZGVyW10gPSB7CisJMzEs
CisJMHgwMGI3LCAweDAwYjcsCisJMHgwMmQwLCAweDAyZDEsCisJMHgwNjQwLCAweDA2NDAsCisJ
MHgwN2ZhLCAweDA3ZmEsCisJMHgwZTQ2LCAweDBlNDYsCisJMHgwZWM2LCAweDBlYzYsCisJMHgx
ODBhLCAweDE4MGEsCisJMHgxODQzLCAweDE4NDMsCisJMHgxYWE3LCAweDFhYTcsCisJMHgxYzM2
LCAweDFjMzYsCisJMHgxYzdiLCAweDFjN2IsCisJMHgzMDA1LCAweDMwMDUsCisJMHgzMDMxLCAw
eDMwMzUsCisJMHgzMDlkLCAweDMwOWUsCisJMHgzMGZjLCAweDMwZmUsCisJMHhhMDE1LCAweGEw
MTUsCisJMHhhNjBjLCAweGE2MGMsCisJMHhhOWNmLCAweGE5Y2YsCisJMHhhOWU2LCAweGE5ZTYs
CisJMHhhYTcwLCAweGFhNzAsCisJMHhhYWRkLCAweGFhZGQsCisJMHhhYWYzLCAweGFhZjQsCisJ
MHhmZjcwLCAweGZmNzAsCisJMHgxMTM1ZCwgMHgxMTM1ZCwKKwkweDExNWM2LCAweDExNWM4LAor
CTB4MTFhOTgsIDB4MTFhOTgsCisJMHgxNmI0MiwgMHgxNmI0MywKKwkweDE2ZmUwLCAweDE2ZmUx
LAorCTB4MTZmZTMsIDB4MTZmZTMsCisJMHgxZTEzYywgMHgxZTEzZCwKKwkweDFlOTQ0LCAweDFl
OTQ2LAorfTsgLyogQ1JfRXh0ZW5kZXIgKi8KKworLyogJ090aGVyX0xvd2VyY2FzZSc6IEJpbmFy
eSBQcm9wZXJ0eSAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfT3RoZXJfTG93ZXJj
YXNlW10gPSB7CisJMjAsCisJMHgwMGFhLCAweDAwYWEsCisJMHgwMGJhLCAweDAwYmEsCisJMHgw
MmIwLCAweDAyYjgsCisJMHgwMmMwLCAweDAyYzEsCisJMHgwMmUwLCAweDAyZTQsCisJMHgwMzQ1
LCAweDAzNDUsCisJMHgwMzdhLCAweDAzN2EsCisJMHgxZDJjLCAweDFkNmEsCisJMHgxZDc4LCAw
eDFkNzgsCisJMHgxZDliLCAweDFkYmYsCisJMHgyMDcxLCAweDIwNzEsCisJMHgyMDdmLCAweDIw
N2YsCisJMHgyMDkwLCAweDIwOWMsCisJMHgyMTcwLCAweDIxN2YsCisJMHgyNGQwLCAweDI0ZTks
CisJMHgyYzdjLCAweDJjN2QsCisJMHhhNjljLCAweGE2OWQsCisJMHhhNzcwLCAweGE3NzAsCisJ
MHhhN2Y4LCAweGE3ZjksCisJMHhhYjVjLCAweGFiNWYsCit9OyAvKiBDUl9PdGhlcl9Mb3dlcmNh
c2UgKi8KKworLyogJ090aGVyX1VwcGVyY2FzZSc6IEJpbmFyeSBQcm9wZXJ0eSAqLworc3RhdGlj
IGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfT3RoZXJfVXBwZXJjYXNlW10gPSB7CisJNSwKKwkweDIx
NjAsIDB4MjE2ZiwKKwkweDI0YjYsIDB4MjRjZiwKKwkweDFmMTMwLCAweDFmMTQ5LAorCTB4MWYx
NTAsIDB4MWYxNjksCisJMHgxZjE3MCwgMHgxZjE4OSwKK307IC8qIENSX090aGVyX1VwcGVyY2Fz
ZSAqLworCisvKiAnTm9uY2hhcmFjdGVyX0NvZGVfUG9pbnQnOiBCaW5hcnkgUHJvcGVydHkgKi8K
K3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX05vbmNoYXJhY3Rlcl9Db2RlX1BvaW50W10g
PSB7CisJMTgsCisJMHhmZGQwLCAweGZkZWYsCisJMHhmZmZlLCAweGZmZmYsCisJMHgxZmZmZSwg
MHgxZmZmZiwKKwkweDJmZmZlLCAweDJmZmZmLAorCTB4M2ZmZmUsIDB4M2ZmZmYsCisJMHg0ZmZm
ZSwgMHg0ZmZmZiwKKwkweDVmZmZlLCAweDVmZmZmLAorCTB4NmZmZmUsIDB4NmZmZmYsCisJMHg3
ZmZmZSwgMHg3ZmZmZiwKKwkweDhmZmZlLCAweDhmZmZmLAorCTB4OWZmZmUsIDB4OWZmZmYsCisJ
MHhhZmZmZSwgMHhhZmZmZiwKKwkweGJmZmZlLCAweGJmZmZmLAorCTB4Y2ZmZmUsIDB4Y2ZmZmYs
CisJMHhkZmZmZSwgMHhkZmZmZiwKKwkweGVmZmZlLCAweGVmZmZmLAorCTB4ZmZmZmUsIDB4ZmZm
ZmYsCisJMHgxMGZmZmUsIDB4MTBmZmZmLAorfTsgLyogQ1JfTm9uY2hhcmFjdGVyX0NvZGVfUG9p
bnQgKi8KKworLyogJ090aGVyX0dyYXBoZW1lX0V4dGVuZCc6IEJpbmFyeSBQcm9wZXJ0eSAqLwor
c3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfT3RoZXJfR3JhcGhlbWVfRXh0ZW5kW10gPSB7
CisJMjQsCisJMHgwOWJlLCAweDA5YmUsCisJMHgwOWQ3LCAweDA5ZDcsCisJMHgwYjNlLCAweDBi
M2UsCisJMHgwYjU3LCAweDBiNTcsCisJMHgwYmJlLCAweDBiYmUsCisJMHgwYmQ3LCAweDBiZDcs
CisJMHgwY2MyLCAweDBjYzIsCisJMHgwY2Q1LCAweDBjZDYsCisJMHgwZDNlLCAweDBkM2UsCisJ
MHgwZDU3LCAweDBkNTcsCisJMHgwZGNmLCAweDBkY2YsCisJMHgwZGRmLCAweDBkZGYsCisJMHgx
YjM1LCAweDFiMzUsCisJMHgyMDBjLCAweDIwMGMsCisJMHgzMDJlLCAweDMwMmYsCisJMHhmZjll
LCAweGZmOWYsCisJMHgxMTMzZSwgMHgxMTMzZSwKKwkweDExMzU3LCAweDExMzU3LAorCTB4MTE0
YjAsIDB4MTE0YjAsCisJMHgxMTRiZCwgMHgxMTRiZCwKKwkweDExNWFmLCAweDExNWFmLAorCTB4
MWQxNjUsIDB4MWQxNjUsCisJMHgxZDE2ZSwgMHgxZDE3MiwKKwkweGUwMDIwLCAweGUwMDdmLAor
fTsgLyogQ1JfT3RoZXJfR3JhcGhlbWVfRXh0ZW5kICovCisKKy8qICdJRFNfQmluYXJ5X09wZXJh
dG9yJzogQmluYXJ5IFByb3BlcnR5ICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9J
RFNfQmluYXJ5X09wZXJhdG9yW10gPSB7CisJMiwKKwkweDJmZjAsIDB4MmZmMSwKKwkweDJmZjQs
IDB4MmZmYiwKK307IC8qIENSX0lEU19CaW5hcnlfT3BlcmF0b3IgKi8KKworLyogJ0lEU19Ucmlu
YXJ5X09wZXJhdG9yJzogQmluYXJ5IFByb3BlcnR5ICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQ
b2ludCBDUl9JRFNfVHJpbmFyeV9PcGVyYXRvcltdID0geworCTEsCisJMHgyZmYyLCAweDJmZjMs
Cit9OyAvKiBDUl9JRFNfVHJpbmFyeV9PcGVyYXRvciAqLworCisvKiAnUmFkaWNhbCc6IEJpbmFy
eSBQcm9wZXJ0eSAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfUmFkaWNhbFtdID0g
eworCTMsCisJMHgyZTgwLCAweDJlOTksCisJMHgyZTliLCAweDJlZjMsCisJMHgyZjAwLCAweDJm
ZDUsCit9OyAvKiBDUl9SYWRpY2FsICovCisKKy8qICdVbmlmaWVkX0lkZW9ncmFwaCc6IEJpbmFy
eSBQcm9wZXJ0eSAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfVW5pZmllZF9JZGVv
Z3JhcGhbXSA9IHsKKwkxNCwKKwkweDM0MDAsIDB4NGRiNSwKKwkweDRlMDAsIDB4OWZlZiwKKwkw
eGZhMGUsIDB4ZmEwZiwKKwkweGZhMTEsIDB4ZmExMSwKKwkweGZhMTMsIDB4ZmExNCwKKwkweGZh
MWYsIDB4ZmExZiwKKwkweGZhMjEsIDB4ZmEyMSwKKwkweGZhMjMsIDB4ZmEyNCwKKwkweGZhMjcs
IDB4ZmEyOSwKKwkweDIwMDAwLCAweDJhNmQ2LAorCTB4MmE3MDAsIDB4MmI3MzQsCisJMHgyYjc0
MCwgMHgyYjgxZCwKKwkweDJiODIwLCAweDJjZWExLAorCTB4MmNlYjAsIDB4MmViZTAsCit9OyAv
KiBDUl9VbmlmaWVkX0lkZW9ncmFwaCAqLworCisvKiAnT3RoZXJfRGVmYXVsdF9JZ25vcmFibGVf
Q29kZV9Qb2ludCc6IEJpbmFyeSBQcm9wZXJ0eSAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9p
bnQgQ1JfT3RoZXJfRGVmYXVsdF9JZ25vcmFibGVfQ29kZV9Qb2ludFtdID0geworCTExLAorCTB4
MDM0ZiwgMHgwMzRmLAorCTB4MTE1ZiwgMHgxMTYwLAorCTB4MTdiNCwgMHgxN2I1LAorCTB4MjA2
NSwgMHgyMDY1LAorCTB4MzE2NCwgMHgzMTY0LAorCTB4ZmZhMCwgMHhmZmEwLAorCTB4ZmZmMCwg
MHhmZmY4LAorCTB4ZTAwMDAsIDB4ZTAwMDAsCisJMHhlMDAwMiwgMHhlMDAxZiwKKwkweGUwMDgw
LCAweGUwMGZmLAorCTB4ZTAxZjAsIDB4ZTBmZmYsCit9OyAvKiBDUl9PdGhlcl9EZWZhdWx0X0ln
bm9yYWJsZV9Db2RlX1BvaW50ICovCisKKy8qICdEZXByZWNhdGVkJzogQmluYXJ5IFByb3BlcnR5
ICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9EZXByZWNhdGVkW10gPSB7CisJOCwK
KwkweDAxNDksIDB4MDE0OSwKKwkweDA2NzMsIDB4MDY3MywKKwkweDBmNzcsIDB4MGY3NywKKwkw
eDBmNzksIDB4MGY3OSwKKwkweDE3YTMsIDB4MTdhNCwKKwkweDIwNmEsIDB4MjA2ZiwKKwkweDIz
MjksIDB4MjMyYSwKKwkweGUwMDAxLCAweGUwMDAxLAorfTsgLyogQ1JfRGVwcmVjYXRlZCAqLwor
CisvKiAnU29mdF9Eb3R0ZWQnOiBCaW5hcnkgUHJvcGVydHkgKi8KK3N0YXRpYyBjb25zdCBPbmln
Q29kZVBvaW50IENSX1NvZnRfRG90dGVkW10gPSB7CisJMzEsCisJMHgwMDY5LCAweDAwNmEsCisJ
MHgwMTJmLCAweDAxMmYsCisJMHgwMjQ5LCAweDAyNDksCisJMHgwMjY4LCAweDAyNjgsCisJMHgw
MjlkLCAweDAyOWQsCisJMHgwMmIyLCAweDAyYjIsCisJMHgwM2YzLCAweDAzZjMsCisJMHgwNDU2
LCAweDA0NTYsCisJMHgwNDU4LCAweDA0NTgsCisJMHgxZDYyLCAweDFkNjIsCisJMHgxZDk2LCAw
eDFkOTYsCisJMHgxZGE0LCAweDFkYTQsCisJMHgxZGE4LCAweDFkYTgsCisJMHgxZTJkLCAweDFl
MmQsCisJMHgxZWNiLCAweDFlY2IsCisJMHgyMDcxLCAweDIwNzEsCisJMHgyMTQ4LCAweDIxNDks
CisJMHgyYzdjLCAweDJjN2MsCisJMHgxZDQyMiwgMHgxZDQyMywKKwkweDFkNDU2LCAweDFkNDU3
LAorCTB4MWQ0OGEsIDB4MWQ0OGIsCisJMHgxZDRiZSwgMHgxZDRiZiwKKwkweDFkNGYyLCAweDFk
NGYzLAorCTB4MWQ1MjYsIDB4MWQ1MjcsCisJMHgxZDU1YSwgMHgxZDU1YiwKKwkweDFkNThlLCAw
eDFkNThmLAorCTB4MWQ1YzIsIDB4MWQ1YzMsCisJMHgxZDVmNiwgMHgxZDVmNywKKwkweDFkNjJh
LCAweDFkNjJiLAorCTB4MWQ2NWUsIDB4MWQ2NWYsCisJMHgxZDY5MiwgMHgxZDY5MywKK307IC8q
IENSX1NvZnRfRG90dGVkICovCisKKy8qICdMb2dpY2FsX09yZGVyX0V4Y2VwdGlvbic6IEJpbmFy
eSBQcm9wZXJ0eSAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfTG9naWNhbF9PcmRl
cl9FeGNlcHRpb25bXSA9IHsKKwk3LAorCTB4MGU0MCwgMHgwZTQ0LAorCTB4MGVjMCwgMHgwZWM0
LAorCTB4MTliNSwgMHgxOWI3LAorCTB4MTliYSwgMHgxOWJhLAorCTB4YWFiNSwgMHhhYWI2LAor
CTB4YWFiOSwgMHhhYWI5LAorCTB4YWFiYiwgMHhhYWJjLAorfTsgLyogQ1JfTG9naWNhbF9PcmRl
cl9FeGNlcHRpb24gKi8KKworLyogJ090aGVyX0lEX1N0YXJ0JzogQmluYXJ5IFByb3BlcnR5ICov
CitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9PdGhlcl9JRF9TdGFydFtdID0geworCTQs
CisJMHgxODg1LCAweDE4ODYsCisJMHgyMTE4LCAweDIxMTgsCisJMHgyMTJlLCAweDIxMmUsCisJ
MHgzMDliLCAweDMwOWMsCit9OyAvKiBDUl9PdGhlcl9JRF9TdGFydCAqLworCisvKiAnT3RoZXJf
SURfQ29udGludWUnOiBCaW5hcnkgUHJvcGVydHkgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBv
aW50IENSX090aGVyX0lEX0NvbnRpbnVlW10gPSB7CisJNCwKKwkweDAwYjcsIDB4MDBiNywKKwkw
eDAzODcsIDB4MDM4NywKKwkweDEzNjksIDB4MTM3MSwKKwkweDE5ZGEsIDB4MTlkYSwKK307IC8q
IENSX090aGVyX0lEX0NvbnRpbnVlICovCisKKy8qICdTZW50ZW5jZV9UZXJtaW5hbCc6IEJpbmFy
eSBQcm9wZXJ0eSAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfU2VudGVuY2VfVGVy
bWluYWxbXSA9IHsKKwk3NCwKKwkweDAwMjEsIDB4MDAyMSwKKwkweDAwMmUsIDB4MDAyZSwKKwkw
eDAwM2YsIDB4MDAzZiwKKwkweDA1ODksIDB4MDU4OSwKKwkweDA2MWUsIDB4MDYxZiwKKwkweDA2
ZDQsIDB4MDZkNCwKKwkweDA3MDAsIDB4MDcwMiwKKwkweDA3ZjksIDB4MDdmOSwKKwkweDA4Mzcs
IDB4MDgzNywKKwkweDA4MzksIDB4MDgzOSwKKwkweDA4M2QsIDB4MDgzZSwKKwkweDA5NjQsIDB4
MDk2NSwKKwkweDEwNGEsIDB4MTA0YiwKKwkweDEzNjIsIDB4MTM2MiwKKwkweDEzNjcsIDB4MTM2
OCwKKwkweDE2NmUsIDB4MTY2ZSwKKwkweDE3MzUsIDB4MTczNiwKKwkweDE4MDMsIDB4MTgwMywK
KwkweDE4MDksIDB4MTgwOSwKKwkweDE5NDQsIDB4MTk0NSwKKwkweDFhYTgsIDB4MWFhYiwKKwkw
eDFiNWEsIDB4MWI1YiwKKwkweDFiNWUsIDB4MWI1ZiwKKwkweDFjM2IsIDB4MWMzYywKKwkweDFj
N2UsIDB4MWM3ZiwKKwkweDIwM2MsIDB4MjAzZCwKKwkweDIwNDcsIDB4MjA0OSwKKwkweDJlMmUs
IDB4MmUyZSwKKwkweDJlM2MsIDB4MmUzYywKKwkweDMwMDIsIDB4MzAwMiwKKwkweGE0ZmYsIDB4
YTRmZiwKKwkweGE2MGUsIDB4YTYwZiwKKwkweGE2ZjMsIDB4YTZmMywKKwkweGE2ZjcsIDB4YTZm
NywKKwkweGE4NzYsIDB4YTg3NywKKwkweGE4Y2UsIDB4YThjZiwKKwkweGE5MmYsIDB4YTkyZiwK
KwkweGE5YzgsIDB4YTljOSwKKwkweGFhNWQsIDB4YWE1ZiwKKwkweGFhZjAsIDB4YWFmMSwKKwkw
eGFiZWIsIDB4YWJlYiwKKwkweGZlNTIsIDB4ZmU1MiwKKwkweGZlNTYsIDB4ZmU1NywKKwkweGZm
MDEsIDB4ZmYwMSwKKwkweGZmMGUsIDB4ZmYwZSwKKwkweGZmMWYsIDB4ZmYxZiwKKwkweGZmNjEs
IDB4ZmY2MSwKKwkweDEwYTU2LCAweDEwYTU3LAorCTB4MTBmNTUsIDB4MTBmNTksCisJMHgxMTA0
NywgMHgxMTA0OCwKKwkweDExMGJlLCAweDExMGMxLAorCTB4MTExNDEsIDB4MTExNDMsCisJMHgx
MTFjNSwgMHgxMTFjNiwKKwkweDExMWNkLCAweDExMWNkLAorCTB4MTExZGUsIDB4MTExZGYsCisJ
MHgxMTIzOCwgMHgxMTIzOSwKKwkweDExMjNiLCAweDExMjNjLAorCTB4MTEyYTksIDB4MTEyYTks
CisJMHgxMTQ0YiwgMHgxMTQ0YywKKwkweDExNWMyLCAweDExNWMzLAorCTB4MTE1YzksIDB4MTE1
ZDcsCisJMHgxMTY0MSwgMHgxMTY0MiwKKwkweDExNzNjLCAweDExNzNlLAorCTB4MTFhNDIsIDB4
MTFhNDMsCisJMHgxMWE5YiwgMHgxMWE5YywKKwkweDExYzQxLCAweDExYzQyLAorCTB4MTFlZjcs
IDB4MTFlZjgsCisJMHgxNmE2ZSwgMHgxNmE2ZiwKKwkweDE2YWY1LCAweDE2YWY1LAorCTB4MTZi
MzcsIDB4MTZiMzgsCisJMHgxNmI0NCwgMHgxNmI0NCwKKwkweDE2ZTk4LCAweDE2ZTk4LAorCTB4
MWJjOWYsIDB4MWJjOWYsCisJMHgxZGE4OCwgMHgxZGE4OCwKK307IC8qIENSX1NlbnRlbmNlX1Rl
cm1pbmFsICovCisKKy8qICdWYXJpYXRpb25fU2VsZWN0b3InOiBCaW5hcnkgUHJvcGVydHkgKi8K
K3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX1ZhcmlhdGlvbl9TZWxlY3RvcltdID0gewor
CTMsCisJMHgxODBiLCAweDE4MGQsCisJMHhmZTAwLCAweGZlMGYsCisJMHhlMDEwMCwgMHhlMDFl
ZiwKK307IC8qIENSX1ZhcmlhdGlvbl9TZWxlY3RvciAqLworCisvKiAnUGF0dGVybl9XaGl0ZV9T
cGFjZSc6IEJpbmFyeSBQcm9wZXJ0eSAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1Jf
UGF0dGVybl9XaGl0ZV9TcGFjZVtdID0geworCTUsCisJMHgwMDA5LCAweDAwMGQsCisJMHgwMDIw
LCAweDAwMjAsCisJMHgwMDg1LCAweDAwODUsCisJMHgyMDBlLCAweDIwMGYsCisJMHgyMDI4LCAw
eDIwMjksCit9OyAvKiBDUl9QYXR0ZXJuX1doaXRlX1NwYWNlICovCisKKy8qICdQYXR0ZXJuX1N5
bnRheCc6IEJpbmFyeSBQcm9wZXJ0eSAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1Jf
UGF0dGVybl9TeW50YXhbXSA9IHsKKwkyOCwKKwkweDAwMjEsIDB4MDAyZiwKKwkweDAwM2EsIDB4
MDA0MCwKKwkweDAwNWIsIDB4MDA1ZSwKKwkweDAwNjAsIDB4MDA2MCwKKwkweDAwN2IsIDB4MDA3
ZSwKKwkweDAwYTEsIDB4MDBhNywKKwkweDAwYTksIDB4MDBhOSwKKwkweDAwYWIsIDB4MDBhYywK
KwkweDAwYWUsIDB4MDBhZSwKKwkweDAwYjAsIDB4MDBiMSwKKwkweDAwYjYsIDB4MDBiNiwKKwkw
eDAwYmIsIDB4MDBiYiwKKwkweDAwYmYsIDB4MDBiZiwKKwkweDAwZDcsIDB4MDBkNywKKwkweDAw
ZjcsIDB4MDBmNywKKwkweDIwMTAsIDB4MjAyNywKKwkweDIwMzAsIDB4MjAzZSwKKwkweDIwNDEs
IDB4MjA1MywKKwkweDIwNTUsIDB4MjA1ZSwKKwkweDIxOTAsIDB4MjQ1ZiwKKwkweDI1MDAsIDB4
Mjc3NSwKKwkweDI3OTQsIDB4MmJmZiwKKwkweDJlMDAsIDB4MmU3ZiwKKwkweDMwMDEsIDB4MzAw
MywKKwkweDMwMDgsIDB4MzAyMCwKKwkweDMwMzAsIDB4MzAzMCwKKwkweGZkM2UsIDB4ZmQzZiwK
KwkweGZlNDUsIDB4ZmU0NiwKK307IC8qIENSX1BhdHRlcm5fU3ludGF4ICovCisKKy8qICdQcmVw
ZW5kZWRfQ29uY2F0ZW5hdGlvbl9NYXJrJzogQmluYXJ5IFByb3BlcnR5ICovCitzdGF0aWMgY29u
c3QgT25pZ0NvZGVQb2ludCBDUl9QcmVwZW5kZWRfQ29uY2F0ZW5hdGlvbl9NYXJrW10gPSB7CisJ
NiwKKwkweDA2MDAsIDB4MDYwNSwKKwkweDA2ZGQsIDB4MDZkZCwKKwkweDA3MGYsIDB4MDcwZiwK
KwkweDA4ZTIsIDB4MDhlMiwKKwkweDExMGJkLCAweDExMGJkLAorCTB4MTEwY2QsIDB4MTEwY2Qs
Cit9OyAvKiBDUl9QcmVwZW5kZWRfQ29uY2F0ZW5hdGlvbl9NYXJrICovCisKKy8qICdSZWdpb25h
bF9JbmRpY2F0b3InOiBCaW5hcnkgUHJvcGVydHkgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBv
aW50IENSX1JlZ2lvbmFsX0luZGljYXRvcltdID0geworCTEsCisJMHgxZjFlNiwgMHgxZjFmZiwK
K307IC8qIENSX1JlZ2lvbmFsX0luZGljYXRvciAqLworCisvKiAnRW1vamknOiBFbW9qaSAqLwor
c3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfRW1vamlbXSA9IHsKKwkxNTEsCisJMHgwMDIz
LCAweDAwMjMsCisJMHgwMDJhLCAweDAwMmEsCisJMHgwMDMwLCAweDAwMzksCisJMHgwMGE5LCAw
eDAwYTksCisJMHgwMGFlLCAweDAwYWUsCisJMHgyMDNjLCAweDIwM2MsCisJMHgyMDQ5LCAweDIw
NDksCisJMHgyMTIyLCAweDIxMjIsCisJMHgyMTM5LCAweDIxMzksCisJMHgyMTk0LCAweDIxOTks
CisJMHgyMWE5LCAweDIxYWEsCisJMHgyMzFhLCAweDIzMWIsCisJMHgyMzI4LCAweDIzMjgsCisJ
MHgyM2NmLCAweDIzY2YsCisJMHgyM2U5LCAweDIzZjMsCisJMHgyM2Y4LCAweDIzZmEsCisJMHgy
NGMyLCAweDI0YzIsCisJMHgyNWFhLCAweDI1YWIsCisJMHgyNWI2LCAweDI1YjYsCisJMHgyNWMw
LCAweDI1YzAsCisJMHgyNWZiLCAweDI1ZmUsCisJMHgyNjAwLCAweDI2MDQsCisJMHgyNjBlLCAw
eDI2MGUsCisJMHgyNjExLCAweDI2MTEsCisJMHgyNjE0LCAweDI2MTUsCisJMHgyNjE4LCAweDI2
MTgsCisJMHgyNjFkLCAweDI2MWQsCisJMHgyNjIwLCAweDI2MjAsCisJMHgyNjIyLCAweDI2MjMs
CisJMHgyNjI2LCAweDI2MjYsCisJMHgyNjJhLCAweDI2MmEsCisJMHgyNjJlLCAweDI2MmYsCisJ
MHgyNjM4LCAweDI2M2EsCisJMHgyNjQwLCAweDI2NDAsCisJMHgyNjQyLCAweDI2NDIsCisJMHgy
NjQ4LCAweDI2NTMsCisJMHgyNjVmLCAweDI2NjAsCisJMHgyNjYzLCAweDI2NjMsCisJMHgyNjY1
LCAweDI2NjYsCisJMHgyNjY4LCAweDI2NjgsCisJMHgyNjdiLCAweDI2N2IsCisJMHgyNjdlLCAw
eDI2N2YsCisJMHgyNjkyLCAweDI2OTcsCisJMHgyNjk5LCAweDI2OTksCisJMHgyNjliLCAweDI2
OWMsCisJMHgyNmEwLCAweDI2YTEsCisJMHgyNmFhLCAweDI2YWIsCisJMHgyNmIwLCAweDI2YjEs
CisJMHgyNmJkLCAweDI2YmUsCisJMHgyNmM0LCAweDI2YzUsCisJMHgyNmM4LCAweDI2YzgsCisJ
MHgyNmNlLCAweDI2Y2YsCisJMHgyNmQxLCAweDI2ZDEsCisJMHgyNmQzLCAweDI2ZDQsCisJMHgy
NmU5LCAweDI2ZWEsCisJMHgyNmYwLCAweDI2ZjUsCisJMHgyNmY3LCAweDI2ZmEsCisJMHgyNmZk
LCAweDI2ZmQsCisJMHgyNzAyLCAweDI3MDIsCisJMHgyNzA1LCAweDI3MDUsCisJMHgyNzA4LCAw
eDI3MGQsCisJMHgyNzBmLCAweDI3MGYsCisJMHgyNzEyLCAweDI3MTIsCisJMHgyNzE0LCAweDI3
MTQsCisJMHgyNzE2LCAweDI3MTYsCisJMHgyNzFkLCAweDI3MWQsCisJMHgyNzIxLCAweDI3MjEs
CisJMHgyNzI4LCAweDI3MjgsCisJMHgyNzMzLCAweDI3MzQsCisJMHgyNzQ0LCAweDI3NDQsCisJ
MHgyNzQ3LCAweDI3NDcsCisJMHgyNzRjLCAweDI3NGMsCisJMHgyNzRlLCAweDI3NGUsCisJMHgy
NzUzLCAweDI3NTUsCisJMHgyNzU3LCAweDI3NTcsCisJMHgyNzYzLCAweDI3NjQsCisJMHgyNzk1
LCAweDI3OTcsCisJMHgyN2ExLCAweDI3YTEsCisJMHgyN2IwLCAweDI3YjAsCisJMHgyN2JmLCAw
eDI3YmYsCisJMHgyOTM0LCAweDI5MzUsCisJMHgyYjA1LCAweDJiMDcsCisJMHgyYjFiLCAweDJi
MWMsCisJMHgyYjUwLCAweDJiNTAsCisJMHgyYjU1LCAweDJiNTUsCisJMHgzMDMwLCAweDMwMzAs
CisJMHgzMDNkLCAweDMwM2QsCisJMHgzMjk3LCAweDMyOTcsCisJMHgzMjk5LCAweDMyOTksCisJ
MHgxZjAwNCwgMHgxZjAwNCwKKwkweDFmMGNmLCAweDFmMGNmLAorCTB4MWYxNzAsIDB4MWYxNzEs
CisJMHgxZjE3ZSwgMHgxZjE3ZiwKKwkweDFmMThlLCAweDFmMThlLAorCTB4MWYxOTEsIDB4MWYx
OWEsCisJMHgxZjFlNiwgMHgxZjFmZiwKKwkweDFmMjAxLCAweDFmMjAyLAorCTB4MWYyMWEsIDB4
MWYyMWEsCisJMHgxZjIyZiwgMHgxZjIyZiwKKwkweDFmMjMyLCAweDFmMjNhLAorCTB4MWYyNTAs
IDB4MWYyNTEsCisJMHgxZjMwMCwgMHgxZjMyMSwKKwkweDFmMzI0LCAweDFmMzkzLAorCTB4MWYz
OTYsIDB4MWYzOTcsCisJMHgxZjM5OSwgMHgxZjM5YiwKKwkweDFmMzllLCAweDFmM2YwLAorCTB4
MWYzZjMsIDB4MWYzZjUsCisJMHgxZjNmNywgMHgxZjRmZCwKKwkweDFmNGZmLCAweDFmNTNkLAor
CTB4MWY1NDksIDB4MWY1NGUsCisJMHgxZjU1MCwgMHgxZjU2NywKKwkweDFmNTZmLCAweDFmNTcw
LAorCTB4MWY1NzMsIDB4MWY1N2EsCisJMHgxZjU4NywgMHgxZjU4NywKKwkweDFmNThhLCAweDFm
NThkLAorCTB4MWY1OTAsIDB4MWY1OTAsCisJMHgxZjU5NSwgMHgxZjU5NiwKKwkweDFmNWE0LCAw
eDFmNWE1LAorCTB4MWY1YTgsIDB4MWY1YTgsCisJMHgxZjViMSwgMHgxZjViMiwKKwkweDFmNWJj
LCAweDFmNWJjLAorCTB4MWY1YzIsIDB4MWY1YzQsCisJMHgxZjVkMSwgMHgxZjVkMywKKwkweDFm
NWRjLCAweDFmNWRlLAorCTB4MWY1ZTEsIDB4MWY1ZTEsCisJMHgxZjVlMywgMHgxZjVlMywKKwkw
eDFmNWU4LCAweDFmNWU4LAorCTB4MWY1ZWYsIDB4MWY1ZWYsCisJMHgxZjVmMywgMHgxZjVmMywK
KwkweDFmNWZhLCAweDFmNjRmLAorCTB4MWY2ODAsIDB4MWY2YzUsCisJMHgxZjZjYiwgMHgxZjZk
MiwKKwkweDFmNmQ1LCAweDFmNmQ1LAorCTB4MWY2ZTAsIDB4MWY2ZTUsCisJMHgxZjZlOSwgMHgx
ZjZlOSwKKwkweDFmNmViLCAweDFmNmVjLAorCTB4MWY2ZjAsIDB4MWY2ZjAsCisJMHgxZjZmMywg
MHgxZjZmYSwKKwkweDFmN2UwLCAweDFmN2ViLAorCTB4MWY5MGQsIDB4MWY5M2EsCisJMHgxZjkz
YywgMHgxZjk0NSwKKwkweDFmOTQ3LCAweDFmOTcxLAorCTB4MWY5NzMsIDB4MWY5NzYsCisJMHgx
Zjk3YSwgMHgxZjlhMiwKKwkweDFmOWE1LCAweDFmOWFhLAorCTB4MWY5YWUsIDB4MWY5Y2EsCisJ
MHgxZjljZCwgMHgxZjlmZiwKKwkweDFmYTcwLCAweDFmYTczLAorCTB4MWZhNzgsIDB4MWZhN2Es
CisJMHgxZmE4MCwgMHgxZmE4MiwKKwkweDFmYTkwLCAweDFmYTk1LAorfTsgLyogQ1JfRW1vamkg
Ki8KKworLyogJ0Vtb2ppX1ByZXNlbnRhdGlvbic6IEVtb2ppICovCitzdGF0aWMgY29uc3QgT25p
Z0NvZGVQb2ludCBDUl9FbW9qaV9QcmVzZW50YXRpb25bXSA9IHsKKwk4MSwKKwkweDIzMWEsIDB4
MjMxYiwKKwkweDIzZTksIDB4MjNlYywKKwkweDIzZjAsIDB4MjNmMCwKKwkweDIzZjMsIDB4MjNm
MywKKwkweDI1ZmQsIDB4MjVmZSwKKwkweDI2MTQsIDB4MjYxNSwKKwkweDI2NDgsIDB4MjY1MywK
KwkweDI2N2YsIDB4MjY3ZiwKKwkweDI2OTMsIDB4MjY5MywKKwkweDI2YTEsIDB4MjZhMSwKKwkw
eDI2YWEsIDB4MjZhYiwKKwkweDI2YmQsIDB4MjZiZSwKKwkweDI2YzQsIDB4MjZjNSwKKwkweDI2
Y2UsIDB4MjZjZSwKKwkweDI2ZDQsIDB4MjZkNCwKKwkweDI2ZWEsIDB4MjZlYSwKKwkweDI2ZjIs
IDB4MjZmMywKKwkweDI2ZjUsIDB4MjZmNSwKKwkweDI2ZmEsIDB4MjZmYSwKKwkweDI2ZmQsIDB4
MjZmZCwKKwkweDI3MDUsIDB4MjcwNSwKKwkweDI3MGEsIDB4MjcwYiwKKwkweDI3MjgsIDB4Mjcy
OCwKKwkweDI3NGMsIDB4Mjc0YywKKwkweDI3NGUsIDB4Mjc0ZSwKKwkweDI3NTMsIDB4Mjc1NSwK
KwkweDI3NTcsIDB4Mjc1NywKKwkweDI3OTUsIDB4Mjc5NywKKwkweDI3YjAsIDB4MjdiMCwKKwkw
eDI3YmYsIDB4MjdiZiwKKwkweDJiMWIsIDB4MmIxYywKKwkweDJiNTAsIDB4MmI1MCwKKwkweDJi
NTUsIDB4MmI1NSwKKwkweDFmMDA0LCAweDFmMDA0LAorCTB4MWYwY2YsIDB4MWYwY2YsCisJMHgx
ZjE4ZSwgMHgxZjE4ZSwKKwkweDFmMTkxLCAweDFmMTlhLAorCTB4MWYxZTYsIDB4MWYxZmYsCisJ
MHgxZjIwMSwgMHgxZjIwMSwKKwkweDFmMjFhLCAweDFmMjFhLAorCTB4MWYyMmYsIDB4MWYyMmYs
CisJMHgxZjIzMiwgMHgxZjIzNiwKKwkweDFmMjM4LCAweDFmMjNhLAorCTB4MWYyNTAsIDB4MWYy
NTEsCisJMHgxZjMwMCwgMHgxZjMyMCwKKwkweDFmMzJkLCAweDFmMzM1LAorCTB4MWYzMzcsIDB4
MWYzN2MsCisJMHgxZjM3ZSwgMHgxZjM5MywKKwkweDFmM2EwLCAweDFmM2NhLAorCTB4MWYzY2Ys
IDB4MWYzZDMsCisJMHgxZjNlMCwgMHgxZjNmMCwKKwkweDFmM2Y0LCAweDFmM2Y0LAorCTB4MWYz
ZjgsIDB4MWY0M2UsCisJMHgxZjQ0MCwgMHgxZjQ0MCwKKwkweDFmNDQyLCAweDFmNGZjLAorCTB4
MWY0ZmYsIDB4MWY1M2QsCisJMHgxZjU0YiwgMHgxZjU0ZSwKKwkweDFmNTUwLCAweDFmNTY3LAor
CTB4MWY1N2EsIDB4MWY1N2EsCisJMHgxZjU5NSwgMHgxZjU5NiwKKwkweDFmNWE0LCAweDFmNWE0
LAorCTB4MWY1ZmIsIDB4MWY2NGYsCisJMHgxZjY4MCwgMHgxZjZjNSwKKwkweDFmNmNjLCAweDFm
NmNjLAorCTB4MWY2ZDAsIDB4MWY2ZDIsCisJMHgxZjZkNSwgMHgxZjZkNSwKKwkweDFmNmViLCAw
eDFmNmVjLAorCTB4MWY2ZjQsIDB4MWY2ZmEsCisJMHgxZjdlMCwgMHgxZjdlYiwKKwkweDFmOTBk
LCAweDFmOTNhLAorCTB4MWY5M2MsIDB4MWY5NDUsCisJMHgxZjk0NywgMHgxZjk3MSwKKwkweDFm
OTczLCAweDFmOTc2LAorCTB4MWY5N2EsIDB4MWY5YTIsCisJMHgxZjlhNSwgMHgxZjlhYSwKKwkw
eDFmOWFlLCAweDFmOWNhLAorCTB4MWY5Y2QsIDB4MWY5ZmYsCisJMHgxZmE3MCwgMHgxZmE3MywK
KwkweDFmYTc4LCAweDFmYTdhLAorCTB4MWZhODAsIDB4MWZhODIsCisJMHgxZmE5MCwgMHgxZmE5
NSwKK307IC8qIENSX0Vtb2ppX1ByZXNlbnRhdGlvbiAqLworCisvKiAnRW1vamlfTW9kaWZpZXIn
OiBFbW9qaSAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfRW1vamlfTW9kaWZpZXJb
XSA9IHsKKwkxLAorCTB4MWYzZmIsIDB4MWYzZmYsCit9OyAvKiBDUl9FbW9qaV9Nb2RpZmllciAq
LworCisvKiAnRW1vamlfTW9kaWZpZXJfQmFzZSc6IEVtb2ppICovCitzdGF0aWMgY29uc3QgT25p
Z0NvZGVQb2ludCBDUl9FbW9qaV9Nb2RpZmllcl9CYXNlW10gPSB7CisJMzYsCisJMHgyNjFkLCAw
eDI2MWQsCisJMHgyNmY5LCAweDI2ZjksCisJMHgyNzBhLCAweDI3MGQsCisJMHgxZjM4NSwgMHgx
ZjM4NSwKKwkweDFmM2MyLCAweDFmM2M0LAorCTB4MWYzYzcsIDB4MWYzYzcsCisJMHgxZjNjYSwg
MHgxZjNjYywKKwkweDFmNDQyLCAweDFmNDQzLAorCTB4MWY0NDYsIDB4MWY0NTAsCisJMHgxZjQ2
NiwgMHgxZjQ3OCwKKwkweDFmNDdjLCAweDFmNDdjLAorCTB4MWY0ODEsIDB4MWY0ODMsCisJMHgx
ZjQ4NSwgMHgxZjQ4NywKKwkweDFmNDhmLCAweDFmNDhmLAorCTB4MWY0OTEsIDB4MWY0OTEsCisJ
MHgxZjRhYSwgMHgxZjRhYSwKKwkweDFmNTc0LCAweDFmNTc1LAorCTB4MWY1N2EsIDB4MWY1N2Es
CisJMHgxZjU5MCwgMHgxZjU5MCwKKwkweDFmNTk1LCAweDFmNTk2LAorCTB4MWY2NDUsIDB4MWY2
NDcsCisJMHgxZjY0YiwgMHgxZjY0ZiwKKwkweDFmNmEzLCAweDFmNmEzLAorCTB4MWY2YjQsIDB4
MWY2YjYsCisJMHgxZjZjMCwgMHgxZjZjMCwKKwkweDFmNmNjLCAweDFmNmNjLAorCTB4MWY5MGYs
IDB4MWY5MGYsCisJMHgxZjkxOCwgMHgxZjkxZiwKKwkweDFmOTI2LCAweDFmOTI2LAorCTB4MWY5
MzAsIDB4MWY5MzksCisJMHgxZjkzYywgMHgxZjkzZSwKKwkweDFmOWI1LCAweDFmOWI2LAorCTB4
MWY5YjgsIDB4MWY5YjksCisJMHgxZjliYiwgMHgxZjliYiwKKwkweDFmOWNkLCAweDFmOWNmLAor
CTB4MWY5ZDEsIDB4MWY5ZGQsCit9OyAvKiBDUl9FbW9qaV9Nb2RpZmllcl9CYXNlICovCisKKy8q
ICdFbW9qaV9Db21wb25lbnQnOiBFbW9qaSAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQg
Q1JfRW1vamlfQ29tcG9uZW50W10gPSB7CisJMTAsCisJMHgwMDIzLCAweDAwMjMsCisJMHgwMDJh
LCAweDAwMmEsCisJMHgwMDMwLCAweDAwMzksCisJMHgyMDBkLCAweDIwMGQsCisJMHgyMGUzLCAw
eDIwZTMsCisJMHhmZTBmLCAweGZlMGYsCisJMHgxZjFlNiwgMHgxZjFmZiwKKwkweDFmM2ZiLCAw
eDFmM2ZmLAorCTB4MWY5YjAsIDB4MWY5YjMsCisJMHhlMDAyMCwgMHhlMDA3ZiwKK307IC8qIENS
X0Vtb2ppX0NvbXBvbmVudCAqLworCisvKiAnRXh0ZW5kZWRfUGljdG9ncmFwaGljJzogRW1vamkg
Ki8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0V4dGVuZGVkX1BpY3RvZ3JhcGhpY1td
ID0geworCTc3LAorCTB4MDBhOSwgMHgwMGE5LAorCTB4MDBhZSwgMHgwMGFlLAorCTB4MjAzYywg
MHgyMDNjLAorCTB4MjA0OSwgMHgyMDQ5LAorCTB4MjEyMiwgMHgyMTIyLAorCTB4MjEzOSwgMHgy
MTM5LAorCTB4MjE5NCwgMHgyMTk5LAorCTB4MjFhOSwgMHgyMWFhLAorCTB4MjMxYSwgMHgyMzFi
LAorCTB4MjMyOCwgMHgyMzI4LAorCTB4MjM4OCwgMHgyMzg4LAorCTB4MjNjZiwgMHgyM2NmLAor
CTB4MjNlOSwgMHgyM2YzLAorCTB4MjNmOCwgMHgyM2ZhLAorCTB4MjRjMiwgMHgyNGMyLAorCTB4
MjVhYSwgMHgyNWFiLAorCTB4MjViNiwgMHgyNWI2LAorCTB4MjVjMCwgMHgyNWMwLAorCTB4MjVm
YiwgMHgyNWZlLAorCTB4MjYwMCwgMHgyNjA1LAorCTB4MjYwNywgMHgyNjEyLAorCTB4MjYxNCwg
MHgyNjg1LAorCTB4MjY5MCwgMHgyNzA1LAorCTB4MjcwOCwgMHgyNzEyLAorCTB4MjcxNCwgMHgy
NzE0LAorCTB4MjcxNiwgMHgyNzE2LAorCTB4MjcxZCwgMHgyNzFkLAorCTB4MjcyMSwgMHgyNzIx
LAorCTB4MjcyOCwgMHgyNzI4LAorCTB4MjczMywgMHgyNzM0LAorCTB4Mjc0NCwgMHgyNzQ0LAor
CTB4Mjc0NywgMHgyNzQ3LAorCTB4Mjc0YywgMHgyNzRjLAorCTB4Mjc0ZSwgMHgyNzRlLAorCTB4
Mjc1MywgMHgyNzU1LAorCTB4Mjc1NywgMHgyNzU3LAorCTB4Mjc2MywgMHgyNzY3LAorCTB4Mjc5
NSwgMHgyNzk3LAorCTB4MjdhMSwgMHgyN2ExLAorCTB4MjdiMCwgMHgyN2IwLAorCTB4MjdiZiwg
MHgyN2JmLAorCTB4MjkzNCwgMHgyOTM1LAorCTB4MmIwNSwgMHgyYjA3LAorCTB4MmIxYiwgMHgy
YjFjLAorCTB4MmI1MCwgMHgyYjUwLAorCTB4MmI1NSwgMHgyYjU1LAorCTB4MzAzMCwgMHgzMDMw
LAorCTB4MzAzZCwgMHgzMDNkLAorCTB4MzI5NywgMHgzMjk3LAorCTB4MzI5OSwgMHgzMjk5LAor
CTB4MWYwMDAsIDB4MWYwZmYsCisJMHgxZjEwZCwgMHgxZjEwZiwKKwkweDFmMTJmLCAweDFmMTJm
LAorCTB4MWYxNmMsIDB4MWYxNzEsCisJMHgxZjE3ZSwgMHgxZjE3ZiwKKwkweDFmMThlLCAweDFm
MThlLAorCTB4MWYxOTEsIDB4MWYxOWEsCisJMHgxZjFhZCwgMHgxZjFlNSwKKwkweDFmMjAxLCAw
eDFmMjBmLAorCTB4MWYyMWEsIDB4MWYyMWEsCisJMHgxZjIyZiwgMHgxZjIyZiwKKwkweDFmMjMy
LCAweDFmMjNhLAorCTB4MWYyM2MsIDB4MWYyM2YsCisJMHgxZjI0OSwgMHgxZjNmYSwKKwkweDFm
NDAwLCAweDFmNTNkLAorCTB4MWY1NDYsIDB4MWY2NGYsCisJMHgxZjY4MCwgMHgxZjZmZiwKKwkw
eDFmNzc0LCAweDFmNzdmLAorCTB4MWY3ZDUsIDB4MWY3ZmYsCisJMHgxZjgwYywgMHgxZjgwZiwK
KwkweDFmODQ4LCAweDFmODRmLAorCTB4MWY4NWEsIDB4MWY4NWYsCisJMHgxZjg4OCwgMHgxZjg4
ZiwKKwkweDFmOGFlLCAweDFmOGZmLAorCTB4MWY5MGMsIDB4MWY5M2EsCisJMHgxZjkzYywgMHgx
Zjk0NSwKKwkweDFmOTQ3LCAweDFmZmZkLAorfTsgLyogQ1JfRXh0ZW5kZWRfUGljdG9ncmFwaGlj
ICovCisKKy8qICdVbmtub3duJzogU2NyaXB0ICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2lu
dCBDUl9Vbmtub3duW10gPSB7CisJNjY0LAorCTB4MDM3OCwgMHgwMzc5LAorCTB4MDM4MCwgMHgw
MzgzLAorCTB4MDM4YiwgMHgwMzhiLAorCTB4MDM4ZCwgMHgwMzhkLAorCTB4MDNhMiwgMHgwM2Ey
LAorCTB4MDUzMCwgMHgwNTMwLAorCTB4MDU1NywgMHgwNTU4LAorCTB4MDU4YiwgMHgwNThjLAor
CTB4MDU5MCwgMHgwNTkwLAorCTB4MDVjOCwgMHgwNWNmLAorCTB4MDVlYiwgMHgwNWVlLAorCTB4
MDVmNSwgMHgwNWZmLAorCTB4MDYxZCwgMHgwNjFkLAorCTB4MDcwZSwgMHgwNzBlLAorCTB4MDc0
YiwgMHgwNzRjLAorCTB4MDdiMiwgMHgwN2JmLAorCTB4MDdmYiwgMHgwN2ZjLAorCTB4MDgyZSwg
MHgwODJmLAorCTB4MDgzZiwgMHgwODNmLAorCTB4MDg1YywgMHgwODVkLAorCTB4MDg1ZiwgMHgw
ODVmLAorCTB4MDg2YiwgMHgwODlmLAorCTB4MDhiNSwgMHgwOGI1LAorCTB4MDhiZSwgMHgwOGQy
LAorCTB4MDk4NCwgMHgwOTg0LAorCTB4MDk4ZCwgMHgwOThlLAorCTB4MDk5MSwgMHgwOTkyLAor
CTB4MDlhOSwgMHgwOWE5LAorCTB4MDliMSwgMHgwOWIxLAorCTB4MDliMywgMHgwOWI1LAorCTB4
MDliYSwgMHgwOWJiLAorCTB4MDljNSwgMHgwOWM2LAorCTB4MDljOSwgMHgwOWNhLAorCTB4MDlj
ZiwgMHgwOWQ2LAorCTB4MDlkOCwgMHgwOWRiLAorCTB4MDlkZSwgMHgwOWRlLAorCTB4MDllNCwg
MHgwOWU1LAorCTB4MDlmZiwgMHgwYTAwLAorCTB4MGEwNCwgMHgwYTA0LAorCTB4MGEwYiwgMHgw
YTBlLAorCTB4MGExMSwgMHgwYTEyLAorCTB4MGEyOSwgMHgwYTI5LAorCTB4MGEzMSwgMHgwYTMx
LAorCTB4MGEzNCwgMHgwYTM0LAorCTB4MGEzNywgMHgwYTM3LAorCTB4MGEzYSwgMHgwYTNiLAor
CTB4MGEzZCwgMHgwYTNkLAorCTB4MGE0MywgMHgwYTQ2LAorCTB4MGE0OSwgMHgwYTRhLAorCTB4
MGE0ZSwgMHgwYTUwLAorCTB4MGE1MiwgMHgwYTU4LAorCTB4MGE1ZCwgMHgwYTVkLAorCTB4MGE1
ZiwgMHgwYTY1LAorCTB4MGE3NywgMHgwYTgwLAorCTB4MGE4NCwgMHgwYTg0LAorCTB4MGE4ZSwg
MHgwYThlLAorCTB4MGE5MiwgMHgwYTkyLAorCTB4MGFhOSwgMHgwYWE5LAorCTB4MGFiMSwgMHgw
YWIxLAorCTB4MGFiNCwgMHgwYWI0LAorCTB4MGFiYSwgMHgwYWJiLAorCTB4MGFjNiwgMHgwYWM2
LAorCTB4MGFjYSwgMHgwYWNhLAorCTB4MGFjZSwgMHgwYWNmLAorCTB4MGFkMSwgMHgwYWRmLAor
CTB4MGFlNCwgMHgwYWU1LAorCTB4MGFmMiwgMHgwYWY4LAorCTB4MGIwMCwgMHgwYjAwLAorCTB4
MGIwNCwgMHgwYjA0LAorCTB4MGIwZCwgMHgwYjBlLAorCTB4MGIxMSwgMHgwYjEyLAorCTB4MGIy
OSwgMHgwYjI5LAorCTB4MGIzMSwgMHgwYjMxLAorCTB4MGIzNCwgMHgwYjM0LAorCTB4MGIzYSwg
MHgwYjNiLAorCTB4MGI0NSwgMHgwYjQ2LAorCTB4MGI0OSwgMHgwYjRhLAorCTB4MGI0ZSwgMHgw
YjU1LAorCTB4MGI1OCwgMHgwYjViLAorCTB4MGI1ZSwgMHgwYjVlLAorCTB4MGI2NCwgMHgwYjY1
LAorCTB4MGI3OCwgMHgwYjgxLAorCTB4MGI4NCwgMHgwYjg0LAorCTB4MGI4YiwgMHgwYjhkLAor
CTB4MGI5MSwgMHgwYjkxLAorCTB4MGI5NiwgMHgwYjk4LAorCTB4MGI5YiwgMHgwYjliLAorCTB4
MGI5ZCwgMHgwYjlkLAorCTB4MGJhMCwgMHgwYmEyLAorCTB4MGJhNSwgMHgwYmE3LAorCTB4MGJh
YiwgMHgwYmFkLAorCTB4MGJiYSwgMHgwYmJkLAorCTB4MGJjMywgMHgwYmM1LAorCTB4MGJjOSwg
MHgwYmM5LAorCTB4MGJjZSwgMHgwYmNmLAorCTB4MGJkMSwgMHgwYmQ2LAorCTB4MGJkOCwgMHgw
YmU1LAorCTB4MGJmYiwgMHgwYmZmLAorCTB4MGMwZCwgMHgwYzBkLAorCTB4MGMxMSwgMHgwYzEx
LAorCTB4MGMyOSwgMHgwYzI5LAorCTB4MGMzYSwgMHgwYzNjLAorCTB4MGM0NSwgMHgwYzQ1LAor
CTB4MGM0OSwgMHgwYzQ5LAorCTB4MGM0ZSwgMHgwYzU0LAorCTB4MGM1NywgMHgwYzU3LAorCTB4
MGM1YiwgMHgwYzVmLAorCTB4MGM2NCwgMHgwYzY1LAorCTB4MGM3MCwgMHgwYzc2LAorCTB4MGM4
ZCwgMHgwYzhkLAorCTB4MGM5MSwgMHgwYzkxLAorCTB4MGNhOSwgMHgwY2E5LAorCTB4MGNiNCwg
MHgwY2I0LAorCTB4MGNiYSwgMHgwY2JiLAorCTB4MGNjNSwgMHgwY2M1LAorCTB4MGNjOSwgMHgw
Y2M5LAorCTB4MGNjZSwgMHgwY2Q0LAorCTB4MGNkNywgMHgwY2RkLAorCTB4MGNkZiwgMHgwY2Rm
LAorCTB4MGNlNCwgMHgwY2U1LAorCTB4MGNmMCwgMHgwY2YwLAorCTB4MGNmMywgMHgwY2ZmLAor
CTB4MGQwNCwgMHgwZDA0LAorCTB4MGQwZCwgMHgwZDBkLAorCTB4MGQxMSwgMHgwZDExLAorCTB4
MGQ0NSwgMHgwZDQ1LAorCTB4MGQ0OSwgMHgwZDQ5LAorCTB4MGQ1MCwgMHgwZDUzLAorCTB4MGQ2
NCwgMHgwZDY1LAorCTB4MGQ4MCwgMHgwZDgxLAorCTB4MGQ4NCwgMHgwZDg0LAorCTB4MGQ5Nywg
MHgwZDk5LAorCTB4MGRiMiwgMHgwZGIyLAorCTB4MGRiYywgMHgwZGJjLAorCTB4MGRiZSwgMHgw
ZGJmLAorCTB4MGRjNywgMHgwZGM5LAorCTB4MGRjYiwgMHgwZGNlLAorCTB4MGRkNSwgMHgwZGQ1
LAorCTB4MGRkNywgMHgwZGQ3LAorCTB4MGRlMCwgMHgwZGU1LAorCTB4MGRmMCwgMHgwZGYxLAor
CTB4MGRmNSwgMHgwZTAwLAorCTB4MGUzYiwgMHgwZTNlLAorCTB4MGU1YywgMHgwZTgwLAorCTB4
MGU4MywgMHgwZTgzLAorCTB4MGU4NSwgMHgwZTg1LAorCTB4MGU4YiwgMHgwZThiLAorCTB4MGVh
NCwgMHgwZWE0LAorCTB4MGVhNiwgMHgwZWE2LAorCTB4MGViZSwgMHgwZWJmLAorCTB4MGVjNSwg
MHgwZWM1LAorCTB4MGVjNywgMHgwZWM3LAorCTB4MGVjZSwgMHgwZWNmLAorCTB4MGVkYSwgMHgw
ZWRiLAorCTB4MGVlMCwgMHgwZWZmLAorCTB4MGY0OCwgMHgwZjQ4LAorCTB4MGY2ZCwgMHgwZjcw
LAorCTB4MGY5OCwgMHgwZjk4LAorCTB4MGZiZCwgMHgwZmJkLAorCTB4MGZjZCwgMHgwZmNkLAor
CTB4MGZkYiwgMHgwZmZmLAorCTB4MTBjNiwgMHgxMGM2LAorCTB4MTBjOCwgMHgxMGNjLAorCTB4
MTBjZSwgMHgxMGNmLAorCTB4MTI0OSwgMHgxMjQ5LAorCTB4MTI0ZSwgMHgxMjRmLAorCTB4MTI1
NywgMHgxMjU3LAorCTB4MTI1OSwgMHgxMjU5LAorCTB4MTI1ZSwgMHgxMjVmLAorCTB4MTI4OSwg
MHgxMjg5LAorCTB4MTI4ZSwgMHgxMjhmLAorCTB4MTJiMSwgMHgxMmIxLAorCTB4MTJiNiwgMHgx
MmI3LAorCTB4MTJiZiwgMHgxMmJmLAorCTB4MTJjMSwgMHgxMmMxLAorCTB4MTJjNiwgMHgxMmM3
LAorCTB4MTJkNywgMHgxMmQ3LAorCTB4MTMxMSwgMHgxMzExLAorCTB4MTMxNiwgMHgxMzE3LAor
CTB4MTM1YiwgMHgxMzVjLAorCTB4MTM3ZCwgMHgxMzdmLAorCTB4MTM5YSwgMHgxMzlmLAorCTB4
MTNmNiwgMHgxM2Y3LAorCTB4MTNmZSwgMHgxM2ZmLAorCTB4MTY5ZCwgMHgxNjlmLAorCTB4MTZm
OSwgMHgxNmZmLAorCTB4MTcwZCwgMHgxNzBkLAorCTB4MTcxNSwgMHgxNzFmLAorCTB4MTczNywg
MHgxNzNmLAorCTB4MTc1NCwgMHgxNzVmLAorCTB4MTc2ZCwgMHgxNzZkLAorCTB4MTc3MSwgMHgx
NzcxLAorCTB4MTc3NCwgMHgxNzdmLAorCTB4MTdkZSwgMHgxN2RmLAorCTB4MTdlYSwgMHgxN2Vm
LAorCTB4MTdmYSwgMHgxN2ZmLAorCTB4MTgwZiwgMHgxODBmLAorCTB4MTgxYSwgMHgxODFmLAor
CTB4MTg3OSwgMHgxODdmLAorCTB4MThhYiwgMHgxOGFmLAorCTB4MThmNiwgMHgxOGZmLAorCTB4
MTkxZiwgMHgxOTFmLAorCTB4MTkyYywgMHgxOTJmLAorCTB4MTkzYywgMHgxOTNmLAorCTB4MTk0
MSwgMHgxOTQzLAorCTB4MTk2ZSwgMHgxOTZmLAorCTB4MTk3NSwgMHgxOTdmLAorCTB4MTlhYywg
MHgxOWFmLAorCTB4MTljYSwgMHgxOWNmLAorCTB4MTlkYiwgMHgxOWRkLAorCTB4MWExYywgMHgx
YTFkLAorCTB4MWE1ZiwgMHgxYTVmLAorCTB4MWE3ZCwgMHgxYTdlLAorCTB4MWE4YSwgMHgxYThm
LAorCTB4MWE5YSwgMHgxYTlmLAorCTB4MWFhZSwgMHgxYWFmLAorCTB4MWFiZiwgMHgxYWZmLAor
CTB4MWI0YywgMHgxYjRmLAorCTB4MWI3ZCwgMHgxYjdmLAorCTB4MWJmNCwgMHgxYmZiLAorCTB4
MWMzOCwgMHgxYzNhLAorCTB4MWM0YSwgMHgxYzRjLAorCTB4MWM4OSwgMHgxYzhmLAorCTB4MWNi
YiwgMHgxY2JjLAorCTB4MWNjOCwgMHgxY2NmLAorCTB4MWNmYiwgMHgxY2ZmLAorCTB4MWRmYSwg
MHgxZGZhLAorCTB4MWYxNiwgMHgxZjE3LAorCTB4MWYxZSwgMHgxZjFmLAorCTB4MWY0NiwgMHgx
ZjQ3LAorCTB4MWY0ZSwgMHgxZjRmLAorCTB4MWY1OCwgMHgxZjU4LAorCTB4MWY1YSwgMHgxZjVh
LAorCTB4MWY1YywgMHgxZjVjLAorCTB4MWY1ZSwgMHgxZjVlLAorCTB4MWY3ZSwgMHgxZjdmLAor
CTB4MWZiNSwgMHgxZmI1LAorCTB4MWZjNSwgMHgxZmM1LAorCTB4MWZkNCwgMHgxZmQ1LAorCTB4
MWZkYywgMHgxZmRjLAorCTB4MWZmMCwgMHgxZmYxLAorCTB4MWZmNSwgMHgxZmY1LAorCTB4MWZm
ZiwgMHgxZmZmLAorCTB4MjA2NSwgMHgyMDY1LAorCTB4MjA3MiwgMHgyMDczLAorCTB4MjA4Ziwg
MHgyMDhmLAorCTB4MjA5ZCwgMHgyMDlmLAorCTB4MjBjMCwgMHgyMGNmLAorCTB4MjBmMSwgMHgy
MGZmLAorCTB4MjE4YywgMHgyMThmLAorCTB4MjQyNywgMHgyNDNmLAorCTB4MjQ0YiwgMHgyNDVm
LAorCTB4MmI3NCwgMHgyYjc1LAorCTB4MmI5NiwgMHgyYjk3LAorCTB4MmMyZiwgMHgyYzJmLAor
CTB4MmM1ZiwgMHgyYzVmLAorCTB4MmNmNCwgMHgyY2Y4LAorCTB4MmQyNiwgMHgyZDI2LAorCTB4
MmQyOCwgMHgyZDJjLAorCTB4MmQyZSwgMHgyZDJmLAorCTB4MmQ2OCwgMHgyZDZlLAorCTB4MmQ3
MSwgMHgyZDdlLAorCTB4MmQ5NywgMHgyZDlmLAorCTB4MmRhNywgMHgyZGE3LAorCTB4MmRhZiwg
MHgyZGFmLAorCTB4MmRiNywgMHgyZGI3LAorCTB4MmRiZiwgMHgyZGJmLAorCTB4MmRjNywgMHgy
ZGM3LAorCTB4MmRjZiwgMHgyZGNmLAorCTB4MmRkNywgMHgyZGQ3LAorCTB4MmRkZiwgMHgyZGRm
LAorCTB4MmU1MCwgMHgyZTdmLAorCTB4MmU5YSwgMHgyZTlhLAorCTB4MmVmNCwgMHgyZWZmLAor
CTB4MmZkNiwgMHgyZmVmLAorCTB4MmZmYywgMHgyZmZmLAorCTB4MzA0MCwgMHgzMDQwLAorCTB4
MzA5NywgMHgzMDk4LAorCTB4MzEwMCwgMHgzMTA0LAorCTB4MzEzMCwgMHgzMTMwLAorCTB4MzE4
ZiwgMHgzMThmLAorCTB4MzFiYiwgMHgzMWJmLAorCTB4MzFlNCwgMHgzMWVmLAorCTB4MzIxZiwg
MHgzMjFmLAorCTB4NGRiNiwgMHg0ZGJmLAorCTB4OWZmMCwgMHg5ZmZmLAorCTB4YTQ4ZCwgMHhh
NDhmLAorCTB4YTRjNywgMHhhNGNmLAorCTB4YTYyYywgMHhhNjNmLAorCTB4YTZmOCwgMHhhNmZm
LAorCTB4YTdjMCwgMHhhN2MxLAorCTB4YTdjNywgMHhhN2Y2LAorCTB4YTgyYywgMHhhODJmLAor
CTB4YTgzYSwgMHhhODNmLAorCTB4YTg3OCwgMHhhODdmLAorCTB4YThjNiwgMHhhOGNkLAorCTB4
YThkYSwgMHhhOGRmLAorCTB4YTk1NCwgMHhhOTVlLAorCTB4YTk3ZCwgMHhhOTdmLAorCTB4YTlj
ZSwgMHhhOWNlLAorCTB4YTlkYSwgMHhhOWRkLAorCTB4YTlmZiwgMHhhOWZmLAorCTB4YWEzNywg
MHhhYTNmLAorCTB4YWE0ZSwgMHhhYTRmLAorCTB4YWE1YSwgMHhhYTViLAorCTB4YWFjMywgMHhh
YWRhLAorCTB4YWFmNywgMHhhYjAwLAorCTB4YWIwNywgMHhhYjA4LAorCTB4YWIwZiwgMHhhYjEw
LAorCTB4YWIxNywgMHhhYjFmLAorCTB4YWIyNywgMHhhYjI3LAorCTB4YWIyZiwgMHhhYjJmLAor
CTB4YWI2OCwgMHhhYjZmLAorCTB4YWJlZSwgMHhhYmVmLAorCTB4YWJmYSwgMHhhYmZmLAorCTB4
ZDdhNCwgMHhkN2FmLAorCTB4ZDdjNywgMHhkN2NhLAorCTB4ZDdmYywgMHhmOGZmLAorCTB4ZmE2
ZSwgMHhmYTZmLAorCTB4ZmFkYSwgMHhmYWZmLAorCTB4ZmIwNywgMHhmYjEyLAorCTB4ZmIxOCwg
MHhmYjFjLAorCTB4ZmIzNywgMHhmYjM3LAorCTB4ZmIzZCwgMHhmYjNkLAorCTB4ZmIzZiwgMHhm
YjNmLAorCTB4ZmI0MiwgMHhmYjQyLAorCTB4ZmI0NSwgMHhmYjQ1LAorCTB4ZmJjMiwgMHhmYmQy
LAorCTB4ZmQ0MCwgMHhmZDRmLAorCTB4ZmQ5MCwgMHhmZDkxLAorCTB4ZmRjOCwgMHhmZGVmLAor
CTB4ZmRmZSwgMHhmZGZmLAorCTB4ZmUxYSwgMHhmZTFmLAorCTB4ZmU1MywgMHhmZTUzLAorCTB4
ZmU2NywgMHhmZTY3LAorCTB4ZmU2YywgMHhmZTZmLAorCTB4ZmU3NSwgMHhmZTc1LAorCTB4ZmVm
ZCwgMHhmZWZlLAorCTB4ZmYwMCwgMHhmZjAwLAorCTB4ZmZiZiwgMHhmZmMxLAorCTB4ZmZjOCwg
MHhmZmM5LAorCTB4ZmZkMCwgMHhmZmQxLAorCTB4ZmZkOCwgMHhmZmQ5LAorCTB4ZmZkZCwgMHhm
ZmRmLAorCTB4ZmZlNywgMHhmZmU3LAorCTB4ZmZlZiwgMHhmZmY4LAorCTB4ZmZmZSwgMHhmZmZm
LAorCTB4MTAwMGMsIDB4MTAwMGMsCisJMHgxMDAyNywgMHgxMDAyNywKKwkweDEwMDNiLCAweDEw
MDNiLAorCTB4MTAwM2UsIDB4MTAwM2UsCisJMHgxMDA0ZSwgMHgxMDA0ZiwKKwkweDEwMDVlLCAw
eDEwMDdmLAorCTB4MTAwZmIsIDB4MTAwZmYsCisJMHgxMDEwMywgMHgxMDEwNiwKKwkweDEwMTM0
LCAweDEwMTM2LAorCTB4MTAxOGYsIDB4MTAxOGYsCisJMHgxMDE5YywgMHgxMDE5ZiwKKwkweDEw
MWExLCAweDEwMWNmLAorCTB4MTAxZmUsIDB4MTAyN2YsCisJMHgxMDI5ZCwgMHgxMDI5ZiwKKwkw
eDEwMmQxLCAweDEwMmRmLAorCTB4MTAyZmMsIDB4MTAyZmYsCisJMHgxMDMyNCwgMHgxMDMyYywK
KwkweDEwMzRiLCAweDEwMzRmLAorCTB4MTAzN2IsIDB4MTAzN2YsCisJMHgxMDM5ZSwgMHgxMDM5
ZSwKKwkweDEwM2M0LCAweDEwM2M3LAorCTB4MTAzZDYsIDB4MTAzZmYsCisJMHgxMDQ5ZSwgMHgx
MDQ5ZiwKKwkweDEwNGFhLCAweDEwNGFmLAorCTB4MTA0ZDQsIDB4MTA0ZDcsCisJMHgxMDRmYywg
MHgxMDRmZiwKKwkweDEwNTI4LCAweDEwNTJmLAorCTB4MTA1NjQsIDB4MTA1NmUsCisJMHgxMDU3
MCwgMHgxMDVmZiwKKwkweDEwNzM3LCAweDEwNzNmLAorCTB4MTA3NTYsIDB4MTA3NWYsCisJMHgx
MDc2OCwgMHgxMDdmZiwKKwkweDEwODA2LCAweDEwODA3LAorCTB4MTA4MDksIDB4MTA4MDksCisJ
MHgxMDgzNiwgMHgxMDgzNiwKKwkweDEwODM5LCAweDEwODNiLAorCTB4MTA4M2QsIDB4MTA4M2Us
CisJMHgxMDg1NiwgMHgxMDg1NiwKKwkweDEwODlmLCAweDEwOGE2LAorCTB4MTA4YjAsIDB4MTA4
ZGYsCisJMHgxMDhmMywgMHgxMDhmMywKKwkweDEwOGY2LCAweDEwOGZhLAorCTB4MTA5MWMsIDB4
MTA5MWUsCisJMHgxMDkzYSwgMHgxMDkzZSwKKwkweDEwOTQwLCAweDEwOTdmLAorCTB4MTA5Yjgs
IDB4MTA5YmIsCisJMHgxMDlkMCwgMHgxMDlkMSwKKwkweDEwYTA0LCAweDEwYTA0LAorCTB4MTBh
MDcsIDB4MTBhMGIsCisJMHgxMGExNCwgMHgxMGExNCwKKwkweDEwYTE4LCAweDEwYTE4LAorCTB4
MTBhMzYsIDB4MTBhMzcsCisJMHgxMGEzYiwgMHgxMGEzZSwKKwkweDEwYTQ5LCAweDEwYTRmLAor
CTB4MTBhNTksIDB4MTBhNWYsCisJMHgxMGFhMCwgMHgxMGFiZiwKKwkweDEwYWU3LCAweDEwYWVh
LAorCTB4MTBhZjcsIDB4MTBhZmYsCisJMHgxMGIzNiwgMHgxMGIzOCwKKwkweDEwYjU2LCAweDEw
YjU3LAorCTB4MTBiNzMsIDB4MTBiNzcsCisJMHgxMGI5MiwgMHgxMGI5OCwKKwkweDEwYjlkLCAw
eDEwYmE4LAorCTB4MTBiYjAsIDB4MTBiZmYsCisJMHgxMGM0OSwgMHgxMGM3ZiwKKwkweDEwY2Iz
LCAweDEwY2JmLAorCTB4MTBjZjMsIDB4MTBjZjksCisJMHgxMGQyOCwgMHgxMGQyZiwKKwkweDEw
ZDNhLCAweDEwZTVmLAorCTB4MTBlN2YsIDB4MTBlZmYsCisJMHgxMGYyOCwgMHgxMGYyZiwKKwkw
eDEwZjVhLCAweDEwZmRmLAorCTB4MTBmZjcsIDB4MTBmZmYsCisJMHgxMTA0ZSwgMHgxMTA1MSwK
KwkweDExMDcwLCAweDExMDdlLAorCTB4MTEwYzIsIDB4MTEwY2MsCisJMHgxMTBjZSwgMHgxMTBj
ZiwKKwkweDExMGU5LCAweDExMGVmLAorCTB4MTEwZmEsIDB4MTEwZmYsCisJMHgxMTEzNSwgMHgx
MTEzNSwKKwkweDExMTQ3LCAweDExMTRmLAorCTB4MTExNzcsIDB4MTExN2YsCisJMHgxMTFjZSwg
MHgxMTFjZiwKKwkweDExMWUwLCAweDExMWUwLAorCTB4MTExZjUsIDB4MTExZmYsCisJMHgxMTIx
MiwgMHgxMTIxMiwKKwkweDExMjNmLCAweDExMjdmLAorCTB4MTEyODcsIDB4MTEyODcsCisJMHgx
MTI4OSwgMHgxMTI4OSwKKwkweDExMjhlLCAweDExMjhlLAorCTB4MTEyOWUsIDB4MTEyOWUsCisJ
MHgxMTJhYSwgMHgxMTJhZiwKKwkweDExMmViLCAweDExMmVmLAorCTB4MTEyZmEsIDB4MTEyZmYs
CisJMHgxMTMwNCwgMHgxMTMwNCwKKwkweDExMzBkLCAweDExMzBlLAorCTB4MTEzMTEsIDB4MTEz
MTIsCisJMHgxMTMyOSwgMHgxMTMyOSwKKwkweDExMzMxLCAweDExMzMxLAorCTB4MTEzMzQsIDB4
MTEzMzQsCisJMHgxMTMzYSwgMHgxMTMzYSwKKwkweDExMzQ1LCAweDExMzQ2LAorCTB4MTEzNDks
IDB4MTEzNGEsCisJMHgxMTM0ZSwgMHgxMTM0ZiwKKwkweDExMzUxLCAweDExMzU2LAorCTB4MTEz
NTgsIDB4MTEzNWMsCisJMHgxMTM2NCwgMHgxMTM2NSwKKwkweDExMzZkLCAweDExMzZmLAorCTB4
MTEzNzUsIDB4MTEzZmYsCisJMHgxMTQ1YSwgMHgxMTQ1YSwKKwkweDExNDVjLCAweDExNDVjLAor
CTB4MTE0NjAsIDB4MTE0N2YsCisJMHgxMTRjOCwgMHgxMTRjZiwKKwkweDExNGRhLCAweDExNTdm
LAorCTB4MTE1YjYsIDB4MTE1YjcsCisJMHgxMTVkZSwgMHgxMTVmZiwKKwkweDExNjQ1LCAweDEx
NjRmLAorCTB4MTE2NWEsIDB4MTE2NWYsCisJMHgxMTY2ZCwgMHgxMTY3ZiwKKwkweDExNmI5LCAw
eDExNmJmLAorCTB4MTE2Y2EsIDB4MTE2ZmYsCisJMHgxMTcxYiwgMHgxMTcxYywKKwkweDExNzJj
LCAweDExNzJmLAorCTB4MTE3NDAsIDB4MTE3ZmYsCisJMHgxMTgzYywgMHgxMTg5ZiwKKwkweDEx
OGYzLCAweDExOGZlLAorCTB4MTE5MDAsIDB4MTE5OWYsCisJMHgxMTlhOCwgMHgxMTlhOSwKKwkw
eDExOWQ4LCAweDExOWQ5LAorCTB4MTE5ZTUsIDB4MTE5ZmYsCisJMHgxMWE0OCwgMHgxMWE0ZiwK
KwkweDExYWEzLCAweDExYWJmLAorCTB4MTFhZjksIDB4MTFiZmYsCisJMHgxMWMwOSwgMHgxMWMw
OSwKKwkweDExYzM3LCAweDExYzM3LAorCTB4MTFjNDYsIDB4MTFjNGYsCisJMHgxMWM2ZCwgMHgx
MWM2ZiwKKwkweDExYzkwLCAweDExYzkxLAorCTB4MTFjYTgsIDB4MTFjYTgsCisJMHgxMWNiNywg
MHgxMWNmZiwKKwkweDExZDA3LCAweDExZDA3LAorCTB4MTFkMGEsIDB4MTFkMGEsCisJMHgxMWQz
NywgMHgxMWQzOSwKKwkweDExZDNiLCAweDExZDNiLAorCTB4MTFkM2UsIDB4MTFkM2UsCisJMHgx
MWQ0OCwgMHgxMWQ0ZiwKKwkweDExZDVhLCAweDExZDVmLAorCTB4MTFkNjYsIDB4MTFkNjYsCisJ
MHgxMWQ2OSwgMHgxMWQ2OSwKKwkweDExZDhmLCAweDExZDhmLAorCTB4MTFkOTIsIDB4MTFkOTIs
CisJMHgxMWQ5OSwgMHgxMWQ5ZiwKKwkweDExZGFhLCAweDExZWRmLAorCTB4MTFlZjksIDB4MTFm
YmYsCisJMHgxMWZmMiwgMHgxMWZmZSwKKwkweDEyMzlhLCAweDEyM2ZmLAorCTB4MTI0NmYsIDB4
MTI0NmYsCisJMHgxMjQ3NSwgMHgxMjQ3ZiwKKwkweDEyNTQ0LCAweDEyZmZmLAorCTB4MTM0MmYs
IDB4MTM0MmYsCisJMHgxMzQzOSwgMHgxNDNmZiwKKwkweDE0NjQ3LCAweDE2N2ZmLAorCTB4MTZh
MzksIDB4MTZhM2YsCisJMHgxNmE1ZiwgMHgxNmE1ZiwKKwkweDE2YTZhLCAweDE2YTZkLAorCTB4
MTZhNzAsIDB4MTZhY2YsCisJMHgxNmFlZSwgMHgxNmFlZiwKKwkweDE2YWY2LCAweDE2YWZmLAor
CTB4MTZiNDYsIDB4MTZiNGYsCisJMHgxNmI1YSwgMHgxNmI1YSwKKwkweDE2YjYyLCAweDE2YjYy
LAorCTB4MTZiNzgsIDB4MTZiN2MsCisJMHgxNmI5MCwgMHgxNmUzZiwKKwkweDE2ZTliLCAweDE2
ZWZmLAorCTB4MTZmNGIsIDB4MTZmNGUsCisJMHgxNmY4OCwgMHgxNmY4ZSwKKwkweDE2ZmEwLCAw
eDE2ZmRmLAorCTB4MTZmZTQsIDB4MTZmZmYsCisJMHgxODdmOCwgMHgxODdmZiwKKwkweDE4YWYz
LCAweDFhZmZmLAorCTB4MWIxMWYsIDB4MWIxNGYsCisJMHgxYjE1MywgMHgxYjE2MywKKwkweDFi
MTY4LCAweDFiMTZmLAorCTB4MWIyZmMsIDB4MWJiZmYsCisJMHgxYmM2YiwgMHgxYmM2ZiwKKwkw
eDFiYzdkLCAweDFiYzdmLAorCTB4MWJjODksIDB4MWJjOGYsCisJMHgxYmM5YSwgMHgxYmM5YiwK
KwkweDFiY2E0LCAweDFjZmZmLAorCTB4MWQwZjYsIDB4MWQwZmYsCisJMHgxZDEyNywgMHgxZDEy
OCwKKwkweDFkMWU5LCAweDFkMWZmLAorCTB4MWQyNDYsIDB4MWQyZGYsCisJMHgxZDJmNCwgMHgx
ZDJmZiwKKwkweDFkMzU3LCAweDFkMzVmLAorCTB4MWQzNzksIDB4MWQzZmYsCisJMHgxZDQ1NSwg
MHgxZDQ1NSwKKwkweDFkNDlkLCAweDFkNDlkLAorCTB4MWQ0YTAsIDB4MWQ0YTEsCisJMHgxZDRh
MywgMHgxZDRhNCwKKwkweDFkNGE3LCAweDFkNGE4LAorCTB4MWQ0YWQsIDB4MWQ0YWQsCisJMHgx
ZDRiYSwgMHgxZDRiYSwKKwkweDFkNGJjLCAweDFkNGJjLAorCTB4MWQ0YzQsIDB4MWQ0YzQsCisJ
MHgxZDUwNiwgMHgxZDUwNiwKKwkweDFkNTBiLCAweDFkNTBjLAorCTB4MWQ1MTUsIDB4MWQ1MTUs
CisJMHgxZDUxZCwgMHgxZDUxZCwKKwkweDFkNTNhLCAweDFkNTNhLAorCTB4MWQ1M2YsIDB4MWQ1
M2YsCisJMHgxZDU0NSwgMHgxZDU0NSwKKwkweDFkNTQ3LCAweDFkNTQ5LAorCTB4MWQ1NTEsIDB4
MWQ1NTEsCisJMHgxZDZhNiwgMHgxZDZhNywKKwkweDFkN2NjLCAweDFkN2NkLAorCTB4MWRhOGMs
IDB4MWRhOWEsCisJMHgxZGFhMCwgMHgxZGFhMCwKKwkweDFkYWIwLCAweDFkZmZmLAorCTB4MWUw
MDcsIDB4MWUwMDcsCisJMHgxZTAxOSwgMHgxZTAxYSwKKwkweDFlMDIyLCAweDFlMDIyLAorCTB4
MWUwMjUsIDB4MWUwMjUsCisJMHgxZTAyYiwgMHgxZTBmZiwKKwkweDFlMTJkLCAweDFlMTJmLAor
CTB4MWUxM2UsIDB4MWUxM2YsCisJMHgxZTE0YSwgMHgxZTE0ZCwKKwkweDFlMTUwLCAweDFlMmJm
LAorCTB4MWUyZmEsIDB4MWUyZmUsCisJMHgxZTMwMCwgMHgxZTdmZiwKKwkweDFlOGM1LCAweDFl
OGM2LAorCTB4MWU4ZDcsIDB4MWU4ZmYsCisJMHgxZTk0YywgMHgxZTk0ZiwKKwkweDFlOTVhLCAw
eDFlOTVkLAorCTB4MWU5NjAsIDB4MWVjNzAsCisJMHgxZWNiNSwgMHgxZWQwMCwKKwkweDFlZDNl
LCAweDFlZGZmLAorCTB4MWVlMDQsIDB4MWVlMDQsCisJMHgxZWUyMCwgMHgxZWUyMCwKKwkweDFl
ZTIzLCAweDFlZTIzLAorCTB4MWVlMjUsIDB4MWVlMjYsCisJMHgxZWUyOCwgMHgxZWUyOCwKKwkw
eDFlZTMzLCAweDFlZTMzLAorCTB4MWVlMzgsIDB4MWVlMzgsCisJMHgxZWUzYSwgMHgxZWUzYSwK
KwkweDFlZTNjLCAweDFlZTQxLAorCTB4MWVlNDMsIDB4MWVlNDYsCisJMHgxZWU0OCwgMHgxZWU0
OCwKKwkweDFlZTRhLCAweDFlZTRhLAorCTB4MWVlNGMsIDB4MWVlNGMsCisJMHgxZWU1MCwgMHgx
ZWU1MCwKKwkweDFlZTUzLCAweDFlZTUzLAorCTB4MWVlNTUsIDB4MWVlNTYsCisJMHgxZWU1OCwg
MHgxZWU1OCwKKwkweDFlZTVhLCAweDFlZTVhLAorCTB4MWVlNWMsIDB4MWVlNWMsCisJMHgxZWU1
ZSwgMHgxZWU1ZSwKKwkweDFlZTYwLCAweDFlZTYwLAorCTB4MWVlNjMsIDB4MWVlNjMsCisJMHgx
ZWU2NSwgMHgxZWU2NiwKKwkweDFlZTZiLCAweDFlZTZiLAorCTB4MWVlNzMsIDB4MWVlNzMsCisJ
MHgxZWU3OCwgMHgxZWU3OCwKKwkweDFlZTdkLCAweDFlZTdkLAorCTB4MWVlN2YsIDB4MWVlN2Ys
CisJMHgxZWU4YSwgMHgxZWU4YSwKKwkweDFlZTljLCAweDFlZWEwLAorCTB4MWVlYTQsIDB4MWVl
YTQsCisJMHgxZWVhYSwgMHgxZWVhYSwKKwkweDFlZWJjLCAweDFlZWVmLAorCTB4MWVlZjIsIDB4
MWVmZmYsCisJMHgxZjAyYywgMHgxZjAyZiwKKwkweDFmMDk0LCAweDFmMDlmLAorCTB4MWYwYWYs
IDB4MWYwYjAsCisJMHgxZjBjMCwgMHgxZjBjMCwKKwkweDFmMGQwLCAweDFmMGQwLAorCTB4MWYw
ZjYsIDB4MWYwZmYsCisJMHgxZjEwZCwgMHgxZjEwZiwKKwkweDFmMTZkLCAweDFmMTZmLAorCTB4
MWYxYWQsIDB4MWYxZTUsCisJMHgxZjIwMywgMHgxZjIwZiwKKwkweDFmMjNjLCAweDFmMjNmLAor
CTB4MWYyNDksIDB4MWYyNGYsCisJMHgxZjI1MiwgMHgxZjI1ZiwKKwkweDFmMjY2LCAweDFmMmZm
LAorCTB4MWY2ZDYsIDB4MWY2ZGYsCisJMHgxZjZlZCwgMHgxZjZlZiwKKwkweDFmNmZiLCAweDFm
NmZmLAorCTB4MWY3NzQsIDB4MWY3N2YsCisJMHgxZjdkOSwgMHgxZjdkZiwKKwkweDFmN2VjLCAw
eDFmN2ZmLAorCTB4MWY4MGMsIDB4MWY4MGYsCisJMHgxZjg0OCwgMHgxZjg0ZiwKKwkweDFmODVh
LCAweDFmODVmLAorCTB4MWY4ODgsIDB4MWY4OGYsCisJMHgxZjhhZSwgMHgxZjhmZiwKKwkweDFm
OTBjLCAweDFmOTBjLAorCTB4MWY5NzIsIDB4MWY5NzIsCisJMHgxZjk3NywgMHgxZjk3OSwKKwkw
eDFmOWEzLCAweDFmOWE0LAorCTB4MWY5YWIsIDB4MWY5YWQsCisJMHgxZjljYiwgMHgxZjljYywK
KwkweDFmYTU0LCAweDFmYTVmLAorCTB4MWZhNmUsIDB4MWZhNmYsCisJMHgxZmE3NCwgMHgxZmE3
NywKKwkweDFmYTdiLCAweDFmYTdmLAorCTB4MWZhODMsIDB4MWZhOGYsCisJMHgxZmE5NiwgMHgx
ZmZmZiwKKwkweDJhNmQ3LCAweDJhNmZmLAorCTB4MmI3MzUsIDB4MmI3M2YsCisJMHgyYjgxZSwg
MHgyYjgxZiwKKwkweDJjZWEyLCAweDJjZWFmLAorCTB4MmViZTEsIDB4MmY3ZmYsCisJMHgyZmEx
ZSwgMHhlMDAwMCwKKwkweGUwMDAyLCAweGUwMDFmLAorCTB4ZTAwODAsIDB4ZTAwZmYsCisJMHhl
MDFmMCwgMHgxMGZmZmYsCit9OyAvKiBDUl9Vbmtub3duICovCisKKyNpZmRlZiBVU0VfVU5JQ09E
RV9BR0VfUFJPUEVSVElFUworLyogJ0FnZV8xXzEnOiBEZXJpdmVkIEFnZSAxLjEgKi8KK3N0YXRp
YyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0FnZV8xXzFbXSA9IHsKKwkyODgsCisJMHgwMDAwLCAw
eDAxZjUsCisJMHgwMWZhLCAweDAyMTcsCisJMHgwMjUwLCAweDAyYTgsCisJMHgwMmIwLCAweDAy
ZGUsCisJMHgwMmUwLCAweDAyZTksCisJMHgwMzAwLCAweDAzNDUsCisJMHgwMzYwLCAweDAzNjEs
CisJMHgwMzc0LCAweDAzNzUsCisJMHgwMzdhLCAweDAzN2EsCisJMHgwMzdlLCAweDAzN2UsCisJ
MHgwMzg0LCAweDAzOGEsCisJMHgwMzhjLCAweDAzOGMsCisJMHgwMzhlLCAweDAzYTEsCisJMHgw
M2EzLCAweDAzY2UsCisJMHgwM2QwLCAweDAzZDYsCisJMHgwM2RhLCAweDAzZGEsCisJMHgwM2Rj
LCAweDAzZGMsCisJMHgwM2RlLCAweDAzZGUsCisJMHgwM2UwLCAweDAzZTAsCisJMHgwM2UyLCAw
eDAzZjMsCisJMHgwNDAxLCAweDA0MGMsCisJMHgwNDBlLCAweDA0NGYsCisJMHgwNDUxLCAweDA0
NWMsCisJMHgwNDVlLCAweDA0ODYsCisJMHgwNDkwLCAweDA0YzQsCisJMHgwNGM3LCAweDA0Yzgs
CisJMHgwNGNiLCAweDA0Y2MsCisJMHgwNGQwLCAweDA0ZWIsCisJMHgwNGVlLCAweDA0ZjUsCisJ
MHgwNGY4LCAweDA0ZjksCisJMHgwNTMxLCAweDA1NTYsCisJMHgwNTU5LCAweDA1NWYsCisJMHgw
NTYxLCAweDA1ODcsCisJMHgwNTg5LCAweDA1ODksCisJMHgwNWIwLCAweDA1YjksCisJMHgwNWJi
LCAweDA1YzMsCisJMHgwNWQwLCAweDA1ZWEsCisJMHgwNWYwLCAweDA1ZjQsCisJMHgwNjBjLCAw
eDA2MGMsCisJMHgwNjFiLCAweDA2MWIsCisJMHgwNjFmLCAweDA2MWYsCisJMHgwNjIxLCAweDA2
M2EsCisJMHgwNjQwLCAweDA2NTIsCisJMHgwNjYwLCAweDA2NmQsCisJMHgwNjcwLCAweDA2Yjcs
CisJMHgwNmJhLCAweDA2YmUsCisJMHgwNmMwLCAweDA2Y2UsCisJMHgwNmQwLCAweDA2ZWQsCisJ
MHgwNmYwLCAweDA2ZjksCisJMHgwOTAxLCAweDA5MDMsCisJMHgwOTA1LCAweDA5MzksCisJMHgw
OTNjLCAweDA5NGQsCisJMHgwOTUwLCAweDA5NTQsCisJMHgwOTU4LCAweDA5NzAsCisJMHgwOTgx
LCAweDA5ODMsCisJMHgwOTg1LCAweDA5OGMsCisJMHgwOThmLCAweDA5OTAsCisJMHgwOTkzLCAw
eDA5YTgsCisJMHgwOWFhLCAweDA5YjAsCisJMHgwOWIyLCAweDA5YjIsCisJMHgwOWI2LCAweDA5
YjksCisJMHgwOWJjLCAweDA5YmMsCisJMHgwOWJlLCAweDA5YzQsCisJMHgwOWM3LCAweDA5Yzgs
CisJMHgwOWNiLCAweDA5Y2QsCisJMHgwOWQ3LCAweDA5ZDcsCisJMHgwOWRjLCAweDA5ZGQsCisJ
MHgwOWRmLCAweDA5ZTMsCisJMHgwOWU2LCAweDA5ZmEsCisJMHgwYTAyLCAweDBhMDIsCisJMHgw
YTA1LCAweDBhMGEsCisJMHgwYTBmLCAweDBhMTAsCisJMHgwYTEzLCAweDBhMjgsCisJMHgwYTJh
LCAweDBhMzAsCisJMHgwYTMyLCAweDBhMzMsCisJMHgwYTM1LCAweDBhMzYsCisJMHgwYTM4LCAw
eDBhMzksCisJMHgwYTNjLCAweDBhM2MsCisJMHgwYTNlLCAweDBhNDIsCisJMHgwYTQ3LCAweDBh
NDgsCisJMHgwYTRiLCAweDBhNGQsCisJMHgwYTU5LCAweDBhNWMsCisJMHgwYTVlLCAweDBhNWUs
CisJMHgwYTY2LCAweDBhNzQsCisJMHgwYTgxLCAweDBhODMsCisJMHgwYTg1LCAweDBhOGIsCisJ
MHgwYThkLCAweDBhOGQsCisJMHgwYThmLCAweDBhOTEsCisJMHgwYTkzLCAweDBhYTgsCisJMHgw
YWFhLCAweDBhYjAsCisJMHgwYWIyLCAweDBhYjMsCisJMHgwYWI1LCAweDBhYjksCisJMHgwYWJj
LCAweDBhYzUsCisJMHgwYWM3LCAweDBhYzksCisJMHgwYWNiLCAweDBhY2QsCisJMHgwYWQwLCAw
eDBhZDAsCisJMHgwYWUwLCAweDBhZTAsCisJMHgwYWU2LCAweDBhZWYsCisJMHgwYjAxLCAweDBi
MDMsCisJMHgwYjA1LCAweDBiMGMsCisJMHgwYjBmLCAweDBiMTAsCisJMHgwYjEzLCAweDBiMjgs
CisJMHgwYjJhLCAweDBiMzAsCisJMHgwYjMyLCAweDBiMzMsCisJMHgwYjM2LCAweDBiMzksCisJ
MHgwYjNjLCAweDBiNDMsCisJMHgwYjQ3LCAweDBiNDgsCisJMHgwYjRiLCAweDBiNGQsCisJMHgw
YjU2LCAweDBiNTcsCisJMHgwYjVjLCAweDBiNWQsCisJMHgwYjVmLCAweDBiNjEsCisJMHgwYjY2
LCAweDBiNzAsCisJMHgwYjgyLCAweDBiODMsCisJMHgwYjg1LCAweDBiOGEsCisJMHgwYjhlLCAw
eDBiOTAsCisJMHgwYjkyLCAweDBiOTUsCisJMHgwYjk5LCAweDBiOWEsCisJMHgwYjljLCAweDBi
OWMsCisJMHgwYjllLCAweDBiOWYsCisJMHgwYmEzLCAweDBiYTQsCisJMHgwYmE4LCAweDBiYWEs
CisJMHgwYmFlLCAweDBiYjUsCisJMHgwYmI3LCAweDBiYjksCisJMHgwYmJlLCAweDBiYzIsCisJ
MHgwYmM2LCAweDBiYzgsCisJMHgwYmNhLCAweDBiY2QsCisJMHgwYmQ3LCAweDBiZDcsCisJMHgw
YmU3LCAweDBiZjIsCisJMHgwYzAxLCAweDBjMDMsCisJMHgwYzA1LCAweDBjMGMsCisJMHgwYzBl
LCAweDBjMTAsCisJMHgwYzEyLCAweDBjMjgsCisJMHgwYzJhLCAweDBjMzMsCisJMHgwYzM1LCAw
eDBjMzksCisJMHgwYzNlLCAweDBjNDQsCisJMHgwYzQ2LCAweDBjNDgsCisJMHgwYzRhLCAweDBj
NGQsCisJMHgwYzU1LCAweDBjNTYsCisJMHgwYzYwLCAweDBjNjEsCisJMHgwYzY2LCAweDBjNmYs
CisJMHgwYzgyLCAweDBjODMsCisJMHgwYzg1LCAweDBjOGMsCisJMHgwYzhlLCAweDBjOTAsCisJ
MHgwYzkyLCAweDBjYTgsCisJMHgwY2FhLCAweDBjYjMsCisJMHgwY2I1LCAweDBjYjksCisJMHgw
Y2JlLCAweDBjYzQsCisJMHgwY2M2LCAweDBjYzgsCisJMHgwY2NhLCAweDBjY2QsCisJMHgwY2Q1
LCAweDBjZDYsCisJMHgwY2RlLCAweDBjZGUsCisJMHgwY2UwLCAweDBjZTEsCisJMHgwY2U2LCAw
eDBjZWYsCisJMHgwZDAyLCAweDBkMDMsCisJMHgwZDA1LCAweDBkMGMsCisJMHgwZDBlLCAweDBk
MTAsCisJMHgwZDEyLCAweDBkMjgsCisJMHgwZDJhLCAweDBkMzksCisJMHgwZDNlLCAweDBkNDMs
CisJMHgwZDQ2LCAweDBkNDgsCisJMHgwZDRhLCAweDBkNGQsCisJMHgwZDU3LCAweDBkNTcsCisJ
MHgwZDYwLCAweDBkNjEsCisJMHgwZDY2LCAweDBkNmYsCisJMHgwZTAxLCAweDBlM2EsCisJMHgw
ZTNmLCAweDBlNWIsCisJMHgwZTgxLCAweDBlODIsCisJMHgwZTg0LCAweDBlODQsCisJMHgwZTg3
LCAweDBlODgsCisJMHgwZThhLCAweDBlOGEsCisJMHgwZThkLCAweDBlOGQsCisJMHgwZTk0LCAw
eDBlOTcsCisJMHgwZTk5LCAweDBlOWYsCisJMHgwZWExLCAweDBlYTMsCisJMHgwZWE1LCAweDBl
YTUsCisJMHgwZWE3LCAweDBlYTcsCisJMHgwZWFhLCAweDBlYWIsCisJMHgwZWFkLCAweDBlYjks
CisJMHgwZWJiLCAweDBlYmQsCisJMHgwZWMwLCAweDBlYzQsCisJMHgwZWM2LCAweDBlYzYsCisJ
MHgwZWM4LCAweDBlY2QsCisJMHgwZWQwLCAweDBlZDksCisJMHgwZWRjLCAweDBlZGQsCisJMHgx
MGEwLCAweDEwYzUsCisJMHgxMGQwLCAweDEwZjYsCisJMHgxMGZiLCAweDEwZmIsCisJMHgxMTAw
LCAweDExNTksCisJMHgxMTVmLCAweDExYTIsCisJMHgxMWE4LCAweDExZjksCisJMHgxZTAwLCAw
eDFlOWEsCisJMHgxZWEwLCAweDFlZjksCisJMHgxZjAwLCAweDFmMTUsCisJMHgxZjE4LCAweDFm
MWQsCisJMHgxZjIwLCAweDFmNDUsCisJMHgxZjQ4LCAweDFmNGQsCisJMHgxZjUwLCAweDFmNTcs
CisJMHgxZjU5LCAweDFmNTksCisJMHgxZjViLCAweDFmNWIsCisJMHgxZjVkLCAweDFmNWQsCisJ
MHgxZjVmLCAweDFmN2QsCisJMHgxZjgwLCAweDFmYjQsCisJMHgxZmI2LCAweDFmYzQsCisJMHgx
ZmM2LCAweDFmZDMsCisJMHgxZmQ2LCAweDFmZGIsCisJMHgxZmRkLCAweDFmZWYsCisJMHgxZmYy
LCAweDFmZjQsCisJMHgxZmY2LCAweDFmZmUsCisJMHgyMDAwLCAweDIwMmUsCisJMHgyMDMwLCAw
eDIwNDYsCisJMHgyMDZhLCAweDIwNzAsCisJMHgyMDc0LCAweDIwOGUsCisJMHgyMGEwLCAweDIw
YWEsCisJMHgyMGQwLCAweDIwZTEsCisJMHgyMTAwLCAweDIxMzgsCisJMHgyMTUzLCAweDIxODIs
CisJMHgyMTkwLCAweDIxZWEsCisJMHgyMjAwLCAweDIyZjEsCisJMHgyMzAwLCAweDIzMDAsCisJ
MHgyMzAyLCAweDIzN2EsCisJMHgyNDAwLCAweDI0MjQsCisJMHgyNDQwLCAweDI0NGEsCisJMHgy
NDYwLCAweDI0ZWEsCisJMHgyNTAwLCAweDI1OTUsCisJMHgyNWEwLCAweDI1ZWYsCisJMHgyNjAw
LCAweDI2MTMsCisJMHgyNjFhLCAweDI2NmYsCisJMHgyNzAxLCAweDI3MDQsCisJMHgyNzA2LCAw
eDI3MDksCisJMHgyNzBjLCAweDI3MjcsCisJMHgyNzI5LCAweDI3NGIsCisJMHgyNzRkLCAweDI3
NGQsCisJMHgyNzRmLCAweDI3NTIsCisJMHgyNzU2LCAweDI3NTYsCisJMHgyNzU4LCAweDI3NWUs
CisJMHgyNzYxLCAweDI3NjcsCisJMHgyNzc2LCAweDI3OTQsCisJMHgyNzk4LCAweDI3YWYsCisJ
MHgyN2IxLCAweDI3YmUsCisJMHgzMDAwLCAweDMwMzcsCisJMHgzMDNmLCAweDMwM2YsCisJMHgz
MDQxLCAweDMwOTQsCisJMHgzMDk5LCAweDMwOWUsCisJMHgzMGExLCAweDMwZmUsCisJMHgzMTA1
LCAweDMxMmMsCisJMHgzMTMxLCAweDMxOGUsCisJMHgzMTkwLCAweDMxOWYsCisJMHgzMjAwLCAw
eDMyMWMsCisJMHgzMjIwLCAweDMyNDMsCisJMHgzMjYwLCAweDMyN2IsCisJMHgzMjdmLCAweDMy
YjAsCisJMHgzMmMwLCAweDMyY2IsCisJMHgzMmQwLCAweDMyZmUsCisJMHgzMzAwLCAweDMzNzYs
CisJMHgzMzdiLCAweDMzZGQsCisJMHgzM2UwLCAweDMzZmUsCisJMHg0ZTAwLCAweDlmYTUsCisJ
MHhlMDAwLCAweGZhMmQsCisJMHhmYjAwLCAweGZiMDYsCisJMHhmYjEzLCAweGZiMTcsCisJMHhm
YjFlLCAweGZiMzYsCisJMHhmYjM4LCAweGZiM2MsCisJMHhmYjNlLCAweGZiM2UsCisJMHhmYjQw
LCAweGZiNDEsCisJMHhmYjQzLCAweGZiNDQsCisJMHhmYjQ2LCAweGZiYjEsCisJMHhmYmQzLCAw
eGZkM2YsCisJMHhmZDUwLCAweGZkOGYsCisJMHhmZDkyLCAweGZkYzcsCisJMHhmZGYwLCAweGZk
ZmIsCisJMHhmZTIwLCAweGZlMjMsCisJMHhmZTMwLCAweGZlNDQsCisJMHhmZTQ5LCAweGZlNTIs
CisJMHhmZTU0LCAweGZlNjYsCisJMHhmZTY4LCAweGZlNmIsCisJMHhmZTcwLCAweGZlNzIsCisJ
MHhmZTc0LCAweGZlNzQsCisJMHhmZTc2LCAweGZlZmMsCisJMHhmZWZmLCAweGZlZmYsCisJMHhm
ZjAxLCAweGZmNWUsCisJMHhmZjYxLCAweGZmYmUsCisJMHhmZmMyLCAweGZmYzcsCisJMHhmZmNh
LCAweGZmY2YsCisJMHhmZmQyLCAweGZmZDcsCisJMHhmZmRhLCAweGZmZGMsCisJMHhmZmUwLCAw
eGZmZTYsCisJMHhmZmU4LCAweGZmZWUsCisJMHhmZmZkLCAweGZmZmYsCit9OyAvKiBDUl9BZ2Vf
MV8xICovCisKKy8qICdBZ2VfMl8wJzogRGVyaXZlZCBBZ2UgMi4wICovCitzdGF0aWMgY29uc3Qg
T25pZ0NvZGVQb2ludCBDUl9BZ2VfMl8wW10gPSB7CisJMzEyLAorCTB4MDAwMCwgMHgwMWY1LAor
CTB4MDFmYSwgMHgwMjE3LAorCTB4MDI1MCwgMHgwMmE4LAorCTB4MDJiMCwgMHgwMmRlLAorCTB4
MDJlMCwgMHgwMmU5LAorCTB4MDMwMCwgMHgwMzQ1LAorCTB4MDM2MCwgMHgwMzYxLAorCTB4MDM3
NCwgMHgwMzc1LAorCTB4MDM3YSwgMHgwMzdhLAorCTB4MDM3ZSwgMHgwMzdlLAorCTB4MDM4NCwg
MHgwMzhhLAorCTB4MDM4YywgMHgwMzhjLAorCTB4MDM4ZSwgMHgwM2ExLAorCTB4MDNhMywgMHgw
M2NlLAorCTB4MDNkMCwgMHgwM2Q2LAorCTB4MDNkYSwgMHgwM2RhLAorCTB4MDNkYywgMHgwM2Rj
LAorCTB4MDNkZSwgMHgwM2RlLAorCTB4MDNlMCwgMHgwM2UwLAorCTB4MDNlMiwgMHgwM2YzLAor
CTB4MDQwMSwgMHgwNDBjLAorCTB4MDQwZSwgMHgwNDRmLAorCTB4MDQ1MSwgMHgwNDVjLAorCTB4
MDQ1ZSwgMHgwNDg2LAorCTB4MDQ5MCwgMHgwNGM0LAorCTB4MDRjNywgMHgwNGM4LAorCTB4MDRj
YiwgMHgwNGNjLAorCTB4MDRkMCwgMHgwNGViLAorCTB4MDRlZSwgMHgwNGY1LAorCTB4MDRmOCwg
MHgwNGY5LAorCTB4MDUzMSwgMHgwNTU2LAorCTB4MDU1OSwgMHgwNTVmLAorCTB4MDU2MSwgMHgw
NTg3LAorCTB4MDU4OSwgMHgwNTg5LAorCTB4MDU5MSwgMHgwNWExLAorCTB4MDVhMywgMHgwNWI5
LAorCTB4MDViYiwgMHgwNWM0LAorCTB4MDVkMCwgMHgwNWVhLAorCTB4MDVmMCwgMHgwNWY0LAor
CTB4MDYwYywgMHgwNjBjLAorCTB4MDYxYiwgMHgwNjFiLAorCTB4MDYxZiwgMHgwNjFmLAorCTB4
MDYyMSwgMHgwNjNhLAorCTB4MDY0MCwgMHgwNjUyLAorCTB4MDY2MCwgMHgwNjZkLAorCTB4MDY3
MCwgMHgwNmI3LAorCTB4MDZiYSwgMHgwNmJlLAorCTB4MDZjMCwgMHgwNmNlLAorCTB4MDZkMCwg
MHgwNmVkLAorCTB4MDZmMCwgMHgwNmY5LAorCTB4MDkwMSwgMHgwOTAzLAorCTB4MDkwNSwgMHgw
OTM5LAorCTB4MDkzYywgMHgwOTRkLAorCTB4MDk1MCwgMHgwOTU0LAorCTB4MDk1OCwgMHgwOTcw
LAorCTB4MDk4MSwgMHgwOTgzLAorCTB4MDk4NSwgMHgwOThjLAorCTB4MDk4ZiwgMHgwOTkwLAor
CTB4MDk5MywgMHgwOWE4LAorCTB4MDlhYSwgMHgwOWIwLAorCTB4MDliMiwgMHgwOWIyLAorCTB4
MDliNiwgMHgwOWI5LAorCTB4MDliYywgMHgwOWJjLAorCTB4MDliZSwgMHgwOWM0LAorCTB4MDlj
NywgMHgwOWM4LAorCTB4MDljYiwgMHgwOWNkLAorCTB4MDlkNywgMHgwOWQ3LAorCTB4MDlkYywg
MHgwOWRkLAorCTB4MDlkZiwgMHgwOWUzLAorCTB4MDllNiwgMHgwOWZhLAorCTB4MGEwMiwgMHgw
YTAyLAorCTB4MGEwNSwgMHgwYTBhLAorCTB4MGEwZiwgMHgwYTEwLAorCTB4MGExMywgMHgwYTI4
LAorCTB4MGEyYSwgMHgwYTMwLAorCTB4MGEzMiwgMHgwYTMzLAorCTB4MGEzNSwgMHgwYTM2LAor
CTB4MGEzOCwgMHgwYTM5LAorCTB4MGEzYywgMHgwYTNjLAorCTB4MGEzZSwgMHgwYTQyLAorCTB4
MGE0NywgMHgwYTQ4LAorCTB4MGE0YiwgMHgwYTRkLAorCTB4MGE1OSwgMHgwYTVjLAorCTB4MGE1
ZSwgMHgwYTVlLAorCTB4MGE2NiwgMHgwYTc0LAorCTB4MGE4MSwgMHgwYTgzLAorCTB4MGE4NSwg
MHgwYThiLAorCTB4MGE4ZCwgMHgwYThkLAorCTB4MGE4ZiwgMHgwYTkxLAorCTB4MGE5MywgMHgw
YWE4LAorCTB4MGFhYSwgMHgwYWIwLAorCTB4MGFiMiwgMHgwYWIzLAorCTB4MGFiNSwgMHgwYWI5
LAorCTB4MGFiYywgMHgwYWM1LAorCTB4MGFjNywgMHgwYWM5LAorCTB4MGFjYiwgMHgwYWNkLAor
CTB4MGFkMCwgMHgwYWQwLAorCTB4MGFlMCwgMHgwYWUwLAorCTB4MGFlNiwgMHgwYWVmLAorCTB4
MGIwMSwgMHgwYjAzLAorCTB4MGIwNSwgMHgwYjBjLAorCTB4MGIwZiwgMHgwYjEwLAorCTB4MGIx
MywgMHgwYjI4LAorCTB4MGIyYSwgMHgwYjMwLAorCTB4MGIzMiwgMHgwYjMzLAorCTB4MGIzNiwg
MHgwYjM5LAorCTB4MGIzYywgMHgwYjQzLAorCTB4MGI0NywgMHgwYjQ4LAorCTB4MGI0YiwgMHgw
YjRkLAorCTB4MGI1NiwgMHgwYjU3LAorCTB4MGI1YywgMHgwYjVkLAorCTB4MGI1ZiwgMHgwYjYx
LAorCTB4MGI2NiwgMHgwYjcwLAorCTB4MGI4MiwgMHgwYjgzLAorCTB4MGI4NSwgMHgwYjhhLAor
CTB4MGI4ZSwgMHgwYjkwLAorCTB4MGI5MiwgMHgwYjk1LAorCTB4MGI5OSwgMHgwYjlhLAorCTB4
MGI5YywgMHgwYjljLAorCTB4MGI5ZSwgMHgwYjlmLAorCTB4MGJhMywgMHgwYmE0LAorCTB4MGJh
OCwgMHgwYmFhLAorCTB4MGJhZSwgMHgwYmI1LAorCTB4MGJiNywgMHgwYmI5LAorCTB4MGJiZSwg
MHgwYmMyLAorCTB4MGJjNiwgMHgwYmM4LAorCTB4MGJjYSwgMHgwYmNkLAorCTB4MGJkNywgMHgw
YmQ3LAorCTB4MGJlNywgMHgwYmYyLAorCTB4MGMwMSwgMHgwYzAzLAorCTB4MGMwNSwgMHgwYzBj
LAorCTB4MGMwZSwgMHgwYzEwLAorCTB4MGMxMiwgMHgwYzI4LAorCTB4MGMyYSwgMHgwYzMzLAor
CTB4MGMzNSwgMHgwYzM5LAorCTB4MGMzZSwgMHgwYzQ0LAorCTB4MGM0NiwgMHgwYzQ4LAorCTB4
MGM0YSwgMHgwYzRkLAorCTB4MGM1NSwgMHgwYzU2LAorCTB4MGM2MCwgMHgwYzYxLAorCTB4MGM2
NiwgMHgwYzZmLAorCTB4MGM4MiwgMHgwYzgzLAorCTB4MGM4NSwgMHgwYzhjLAorCTB4MGM4ZSwg
MHgwYzkwLAorCTB4MGM5MiwgMHgwY2E4LAorCTB4MGNhYSwgMHgwY2IzLAorCTB4MGNiNSwgMHgw
Y2I5LAorCTB4MGNiZSwgMHgwY2M0LAorCTB4MGNjNiwgMHgwY2M4LAorCTB4MGNjYSwgMHgwY2Nk
LAorCTB4MGNkNSwgMHgwY2Q2LAorCTB4MGNkZSwgMHgwY2RlLAorCTB4MGNlMCwgMHgwY2UxLAor
CTB4MGNlNiwgMHgwY2VmLAorCTB4MGQwMiwgMHgwZDAzLAorCTB4MGQwNSwgMHgwZDBjLAorCTB4
MGQwZSwgMHgwZDEwLAorCTB4MGQxMiwgMHgwZDI4LAorCTB4MGQyYSwgMHgwZDM5LAorCTB4MGQz
ZSwgMHgwZDQzLAorCTB4MGQ0NiwgMHgwZDQ4LAorCTB4MGQ0YSwgMHgwZDRkLAorCTB4MGQ1Nywg
MHgwZDU3LAorCTB4MGQ2MCwgMHgwZDYxLAorCTB4MGQ2NiwgMHgwZDZmLAorCTB4MGUwMSwgMHgw
ZTNhLAorCTB4MGUzZiwgMHgwZTViLAorCTB4MGU4MSwgMHgwZTgyLAorCTB4MGU4NCwgMHgwZTg0
LAorCTB4MGU4NywgMHgwZTg4LAorCTB4MGU4YSwgMHgwZThhLAorCTB4MGU4ZCwgMHgwZThkLAor
CTB4MGU5NCwgMHgwZTk3LAorCTB4MGU5OSwgMHgwZTlmLAorCTB4MGVhMSwgMHgwZWEzLAorCTB4
MGVhNSwgMHgwZWE1LAorCTB4MGVhNywgMHgwZWE3LAorCTB4MGVhYSwgMHgwZWFiLAorCTB4MGVh
ZCwgMHgwZWI5LAorCTB4MGViYiwgMHgwZWJkLAorCTB4MGVjMCwgMHgwZWM0LAorCTB4MGVjNiwg
MHgwZWM2LAorCTB4MGVjOCwgMHgwZWNkLAorCTB4MGVkMCwgMHgwZWQ5LAorCTB4MGVkYywgMHgw
ZWRkLAorCTB4MGYwMCwgMHgwZjQ3LAorCTB4MGY0OSwgMHgwZjY5LAorCTB4MGY3MSwgMHgwZjhi
LAorCTB4MGY5MCwgMHgwZjk1LAorCTB4MGY5NywgMHgwZjk3LAorCTB4MGY5OSwgMHgwZmFkLAor
CTB4MGZiMSwgMHgwZmI3LAorCTB4MGZiOSwgMHgwZmI5LAorCTB4MTBhMCwgMHgxMGM1LAorCTB4
MTBkMCwgMHgxMGY2LAorCTB4MTBmYiwgMHgxMGZiLAorCTB4MTEwMCwgMHgxMTU5LAorCTB4MTE1
ZiwgMHgxMWEyLAorCTB4MTFhOCwgMHgxMWY5LAorCTB4MWUwMCwgMHgxZTliLAorCTB4MWVhMCwg
MHgxZWY5LAorCTB4MWYwMCwgMHgxZjE1LAorCTB4MWYxOCwgMHgxZjFkLAorCTB4MWYyMCwgMHgx
ZjQ1LAorCTB4MWY0OCwgMHgxZjRkLAorCTB4MWY1MCwgMHgxZjU3LAorCTB4MWY1OSwgMHgxZjU5
LAorCTB4MWY1YiwgMHgxZjViLAorCTB4MWY1ZCwgMHgxZjVkLAorCTB4MWY1ZiwgMHgxZjdkLAor
CTB4MWY4MCwgMHgxZmI0LAorCTB4MWZiNiwgMHgxZmM0LAorCTB4MWZjNiwgMHgxZmQzLAorCTB4
MWZkNiwgMHgxZmRiLAorCTB4MWZkZCwgMHgxZmVmLAorCTB4MWZmMiwgMHgxZmY0LAorCTB4MWZm
NiwgMHgxZmZlLAorCTB4MjAwMCwgMHgyMDJlLAorCTB4MjAzMCwgMHgyMDQ2LAorCTB4MjA2YSwg
MHgyMDcwLAorCTB4MjA3NCwgMHgyMDhlLAorCTB4MjBhMCwgMHgyMGFiLAorCTB4MjBkMCwgMHgy
MGUxLAorCTB4MjEwMCwgMHgyMTM4LAorCTB4MjE1MywgMHgyMTgyLAorCTB4MjE5MCwgMHgyMWVh
LAorCTB4MjIwMCwgMHgyMmYxLAorCTB4MjMwMCwgMHgyMzAwLAorCTB4MjMwMiwgMHgyMzdhLAor
CTB4MjQwMCwgMHgyNDI0LAorCTB4MjQ0MCwgMHgyNDRhLAorCTB4MjQ2MCwgMHgyNGVhLAorCTB4
MjUwMCwgMHgyNTk1LAorCTB4MjVhMCwgMHgyNWVmLAorCTB4MjYwMCwgMHgyNjEzLAorCTB4MjYx
YSwgMHgyNjZmLAorCTB4MjcwMSwgMHgyNzA0LAorCTB4MjcwNiwgMHgyNzA5LAorCTB4MjcwYywg
MHgyNzI3LAorCTB4MjcyOSwgMHgyNzRiLAorCTB4Mjc0ZCwgMHgyNzRkLAorCTB4Mjc0ZiwgMHgy
NzUyLAorCTB4Mjc1NiwgMHgyNzU2LAorCTB4Mjc1OCwgMHgyNzVlLAorCTB4Mjc2MSwgMHgyNzY3
LAorCTB4Mjc3NiwgMHgyNzk0LAorCTB4Mjc5OCwgMHgyN2FmLAorCTB4MjdiMSwgMHgyN2JlLAor
CTB4MzAwMCwgMHgzMDM3LAorCTB4MzAzZiwgMHgzMDNmLAorCTB4MzA0MSwgMHgzMDk0LAorCTB4
MzA5OSwgMHgzMDllLAorCTB4MzBhMSwgMHgzMGZlLAorCTB4MzEwNSwgMHgzMTJjLAorCTB4MzEz
MSwgMHgzMThlLAorCTB4MzE5MCwgMHgzMTlmLAorCTB4MzIwMCwgMHgzMjFjLAorCTB4MzIyMCwg
MHgzMjQzLAorCTB4MzI2MCwgMHgzMjdiLAorCTB4MzI3ZiwgMHgzMmIwLAorCTB4MzJjMCwgMHgz
MmNiLAorCTB4MzJkMCwgMHgzMmZlLAorCTB4MzMwMCwgMHgzMzc2LAorCTB4MzM3YiwgMHgzM2Rk
LAorCTB4MzNlMCwgMHgzM2ZlLAorCTB4NGUwMCwgMHg5ZmE1LAorCTB4YWMwMCwgMHhkN2EzLAor
CTB4ZDgwMCwgMHhmYTJkLAorCTB4ZmIwMCwgMHhmYjA2LAorCTB4ZmIxMywgMHhmYjE3LAorCTB4
ZmIxZSwgMHhmYjM2LAorCTB4ZmIzOCwgMHhmYjNjLAorCTB4ZmIzZSwgMHhmYjNlLAorCTB4ZmI0
MCwgMHhmYjQxLAorCTB4ZmI0MywgMHhmYjQ0LAorCTB4ZmI0NiwgMHhmYmIxLAorCTB4ZmJkMywg
MHhmZDNmLAorCTB4ZmQ1MCwgMHhmZDhmLAorCTB4ZmQ5MiwgMHhmZGM3LAorCTB4ZmRmMCwgMHhm
ZGZiLAorCTB4ZmUyMCwgMHhmZTIzLAorCTB4ZmUzMCwgMHhmZTQ0LAorCTB4ZmU0OSwgMHhmZTUy
LAorCTB4ZmU1NCwgMHhmZTY2LAorCTB4ZmU2OCwgMHhmZTZiLAorCTB4ZmU3MCwgMHhmZTcyLAor
CTB4ZmU3NCwgMHhmZTc0LAorCTB4ZmU3NiwgMHhmZWZjLAorCTB4ZmVmZiwgMHhmZWZmLAorCTB4
ZmYwMSwgMHhmZjVlLAorCTB4ZmY2MSwgMHhmZmJlLAorCTB4ZmZjMiwgMHhmZmM3LAorCTB4ZmZj
YSwgMHhmZmNmLAorCTB4ZmZkMiwgMHhmZmQ3LAorCTB4ZmZkYSwgMHhmZmRjLAorCTB4ZmZlMCwg
MHhmZmU2LAorCTB4ZmZlOCwgMHhmZmVlLAorCTB4ZmZmZCwgMHhmZmZmLAorCTB4MWZmZmUsIDB4
MWZmZmYsCisJMHgyZmZmZSwgMHgyZmZmZiwKKwkweDNmZmZlLCAweDNmZmZmLAorCTB4NGZmZmUs
IDB4NGZmZmYsCisJMHg1ZmZmZSwgMHg1ZmZmZiwKKwkweDZmZmZlLCAweDZmZmZmLAorCTB4N2Zm
ZmUsIDB4N2ZmZmYsCisJMHg4ZmZmZSwgMHg4ZmZmZiwKKwkweDlmZmZlLCAweDlmZmZmLAorCTB4
YWZmZmUsIDB4YWZmZmYsCisJMHhiZmZmZSwgMHhiZmZmZiwKKwkweGNmZmZlLCAweGNmZmZmLAor
CTB4ZGZmZmUsIDB4ZGZmZmYsCisJMHhlZmZmZSwgMHgxMGZmZmYsCit9OyAvKiBDUl9BZ2VfMl8w
ICovCisKKy8qICdBZ2VfMl8xJzogRGVyaXZlZCBBZ2UgMi4xICovCitzdGF0aWMgY29uc3QgT25p
Z0NvZGVQb2ludCBDUl9BZ2VfMl8xW10gPSB7CisJMzEyLAorCTB4MDAwMCwgMHgwMWY1LAorCTB4
MDFmYSwgMHgwMjE3LAorCTB4MDI1MCwgMHgwMmE4LAorCTB4MDJiMCwgMHgwMmRlLAorCTB4MDJl
MCwgMHgwMmU5LAorCTB4MDMwMCwgMHgwMzQ1LAorCTB4MDM2MCwgMHgwMzYxLAorCTB4MDM3NCwg
MHgwMzc1LAorCTB4MDM3YSwgMHgwMzdhLAorCTB4MDM3ZSwgMHgwMzdlLAorCTB4MDM4NCwgMHgw
MzhhLAorCTB4MDM4YywgMHgwMzhjLAorCTB4MDM4ZSwgMHgwM2ExLAorCTB4MDNhMywgMHgwM2Nl
LAorCTB4MDNkMCwgMHgwM2Q2LAorCTB4MDNkYSwgMHgwM2RhLAorCTB4MDNkYywgMHgwM2RjLAor
CTB4MDNkZSwgMHgwM2RlLAorCTB4MDNlMCwgMHgwM2UwLAorCTB4MDNlMiwgMHgwM2YzLAorCTB4
MDQwMSwgMHgwNDBjLAorCTB4MDQwZSwgMHgwNDRmLAorCTB4MDQ1MSwgMHgwNDVjLAorCTB4MDQ1
ZSwgMHgwNDg2LAorCTB4MDQ5MCwgMHgwNGM0LAorCTB4MDRjNywgMHgwNGM4LAorCTB4MDRjYiwg
MHgwNGNjLAorCTB4MDRkMCwgMHgwNGViLAorCTB4MDRlZSwgMHgwNGY1LAorCTB4MDRmOCwgMHgw
NGY5LAorCTB4MDUzMSwgMHgwNTU2LAorCTB4MDU1OSwgMHgwNTVmLAorCTB4MDU2MSwgMHgwNTg3
LAorCTB4MDU4OSwgMHgwNTg5LAorCTB4MDU5MSwgMHgwNWExLAorCTB4MDVhMywgMHgwNWI5LAor
CTB4MDViYiwgMHgwNWM0LAorCTB4MDVkMCwgMHgwNWVhLAorCTB4MDVmMCwgMHgwNWY0LAorCTB4
MDYwYywgMHgwNjBjLAorCTB4MDYxYiwgMHgwNjFiLAorCTB4MDYxZiwgMHgwNjFmLAorCTB4MDYy
MSwgMHgwNjNhLAorCTB4MDY0MCwgMHgwNjUyLAorCTB4MDY2MCwgMHgwNjZkLAorCTB4MDY3MCwg
MHgwNmI3LAorCTB4MDZiYSwgMHgwNmJlLAorCTB4MDZjMCwgMHgwNmNlLAorCTB4MDZkMCwgMHgw
NmVkLAorCTB4MDZmMCwgMHgwNmY5LAorCTB4MDkwMSwgMHgwOTAzLAorCTB4MDkwNSwgMHgwOTM5
LAorCTB4MDkzYywgMHgwOTRkLAorCTB4MDk1MCwgMHgwOTU0LAorCTB4MDk1OCwgMHgwOTcwLAor
CTB4MDk4MSwgMHgwOTgzLAorCTB4MDk4NSwgMHgwOThjLAorCTB4MDk4ZiwgMHgwOTkwLAorCTB4
MDk5MywgMHgwOWE4LAorCTB4MDlhYSwgMHgwOWIwLAorCTB4MDliMiwgMHgwOWIyLAorCTB4MDli
NiwgMHgwOWI5LAorCTB4MDliYywgMHgwOWJjLAorCTB4MDliZSwgMHgwOWM0LAorCTB4MDljNywg
MHgwOWM4LAorCTB4MDljYiwgMHgwOWNkLAorCTB4MDlkNywgMHgwOWQ3LAorCTB4MDlkYywgMHgw
OWRkLAorCTB4MDlkZiwgMHgwOWUzLAorCTB4MDllNiwgMHgwOWZhLAorCTB4MGEwMiwgMHgwYTAy
LAorCTB4MGEwNSwgMHgwYTBhLAorCTB4MGEwZiwgMHgwYTEwLAorCTB4MGExMywgMHgwYTI4LAor
CTB4MGEyYSwgMHgwYTMwLAorCTB4MGEzMiwgMHgwYTMzLAorCTB4MGEzNSwgMHgwYTM2LAorCTB4
MGEzOCwgMHgwYTM5LAorCTB4MGEzYywgMHgwYTNjLAorCTB4MGEzZSwgMHgwYTQyLAorCTB4MGE0
NywgMHgwYTQ4LAorCTB4MGE0YiwgMHgwYTRkLAorCTB4MGE1OSwgMHgwYTVjLAorCTB4MGE1ZSwg
MHgwYTVlLAorCTB4MGE2NiwgMHgwYTc0LAorCTB4MGE4MSwgMHgwYTgzLAorCTB4MGE4NSwgMHgw
YThiLAorCTB4MGE4ZCwgMHgwYThkLAorCTB4MGE4ZiwgMHgwYTkxLAorCTB4MGE5MywgMHgwYWE4
LAorCTB4MGFhYSwgMHgwYWIwLAorCTB4MGFiMiwgMHgwYWIzLAorCTB4MGFiNSwgMHgwYWI5LAor
CTB4MGFiYywgMHgwYWM1LAorCTB4MGFjNywgMHgwYWM5LAorCTB4MGFjYiwgMHgwYWNkLAorCTB4
MGFkMCwgMHgwYWQwLAorCTB4MGFlMCwgMHgwYWUwLAorCTB4MGFlNiwgMHgwYWVmLAorCTB4MGIw
MSwgMHgwYjAzLAorCTB4MGIwNSwgMHgwYjBjLAorCTB4MGIwZiwgMHgwYjEwLAorCTB4MGIxMywg
MHgwYjI4LAorCTB4MGIyYSwgMHgwYjMwLAorCTB4MGIzMiwgMHgwYjMzLAorCTB4MGIzNiwgMHgw
YjM5LAorCTB4MGIzYywgMHgwYjQzLAorCTB4MGI0NywgMHgwYjQ4LAorCTB4MGI0YiwgMHgwYjRk
LAorCTB4MGI1NiwgMHgwYjU3LAorCTB4MGI1YywgMHgwYjVkLAorCTB4MGI1ZiwgMHgwYjYxLAor
CTB4MGI2NiwgMHgwYjcwLAorCTB4MGI4MiwgMHgwYjgzLAorCTB4MGI4NSwgMHgwYjhhLAorCTB4
MGI4ZSwgMHgwYjkwLAorCTB4MGI5MiwgMHgwYjk1LAorCTB4MGI5OSwgMHgwYjlhLAorCTB4MGI5
YywgMHgwYjljLAorCTB4MGI5ZSwgMHgwYjlmLAorCTB4MGJhMywgMHgwYmE0LAorCTB4MGJhOCwg
MHgwYmFhLAorCTB4MGJhZSwgMHgwYmI1LAorCTB4MGJiNywgMHgwYmI5LAorCTB4MGJiZSwgMHgw
YmMyLAorCTB4MGJjNiwgMHgwYmM4LAorCTB4MGJjYSwgMHgwYmNkLAorCTB4MGJkNywgMHgwYmQ3
LAorCTB4MGJlNywgMHgwYmYyLAorCTB4MGMwMSwgMHgwYzAzLAorCTB4MGMwNSwgMHgwYzBjLAor
CTB4MGMwZSwgMHgwYzEwLAorCTB4MGMxMiwgMHgwYzI4LAorCTB4MGMyYSwgMHgwYzMzLAorCTB4
MGMzNSwgMHgwYzM5LAorCTB4MGMzZSwgMHgwYzQ0LAorCTB4MGM0NiwgMHgwYzQ4LAorCTB4MGM0
YSwgMHgwYzRkLAorCTB4MGM1NSwgMHgwYzU2LAorCTB4MGM2MCwgMHgwYzYxLAorCTB4MGM2Niwg
MHgwYzZmLAorCTB4MGM4MiwgMHgwYzgzLAorCTB4MGM4NSwgMHgwYzhjLAorCTB4MGM4ZSwgMHgw
YzkwLAorCTB4MGM5MiwgMHgwY2E4LAorCTB4MGNhYSwgMHgwY2IzLAorCTB4MGNiNSwgMHgwY2I5
LAorCTB4MGNiZSwgMHgwY2M0LAorCTB4MGNjNiwgMHgwY2M4LAorCTB4MGNjYSwgMHgwY2NkLAor
CTB4MGNkNSwgMHgwY2Q2LAorCTB4MGNkZSwgMHgwY2RlLAorCTB4MGNlMCwgMHgwY2UxLAorCTB4
MGNlNiwgMHgwY2VmLAorCTB4MGQwMiwgMHgwZDAzLAorCTB4MGQwNSwgMHgwZDBjLAorCTB4MGQw
ZSwgMHgwZDEwLAorCTB4MGQxMiwgMHgwZDI4LAorCTB4MGQyYSwgMHgwZDM5LAorCTB4MGQzZSwg
MHgwZDQzLAorCTB4MGQ0NiwgMHgwZDQ4LAorCTB4MGQ0YSwgMHgwZDRkLAorCTB4MGQ1NywgMHgw
ZDU3LAorCTB4MGQ2MCwgMHgwZDYxLAorCTB4MGQ2NiwgMHgwZDZmLAorCTB4MGUwMSwgMHgwZTNh
LAorCTB4MGUzZiwgMHgwZTViLAorCTB4MGU4MSwgMHgwZTgyLAorCTB4MGU4NCwgMHgwZTg0LAor
CTB4MGU4NywgMHgwZTg4LAorCTB4MGU4YSwgMHgwZThhLAorCTB4MGU4ZCwgMHgwZThkLAorCTB4
MGU5NCwgMHgwZTk3LAorCTB4MGU5OSwgMHgwZTlmLAorCTB4MGVhMSwgMHgwZWEzLAorCTB4MGVh
NSwgMHgwZWE1LAorCTB4MGVhNywgMHgwZWE3LAorCTB4MGVhYSwgMHgwZWFiLAorCTB4MGVhZCwg
MHgwZWI5LAorCTB4MGViYiwgMHgwZWJkLAorCTB4MGVjMCwgMHgwZWM0LAorCTB4MGVjNiwgMHgw
ZWM2LAorCTB4MGVjOCwgMHgwZWNkLAorCTB4MGVkMCwgMHgwZWQ5LAorCTB4MGVkYywgMHgwZWRk
LAorCTB4MGYwMCwgMHgwZjQ3LAorCTB4MGY0OSwgMHgwZjY5LAorCTB4MGY3MSwgMHgwZjhiLAor
CTB4MGY5MCwgMHgwZjk1LAorCTB4MGY5NywgMHgwZjk3LAorCTB4MGY5OSwgMHgwZmFkLAorCTB4
MGZiMSwgMHgwZmI3LAorCTB4MGZiOSwgMHgwZmI5LAorCTB4MTBhMCwgMHgxMGM1LAorCTB4MTBk
MCwgMHgxMGY2LAorCTB4MTBmYiwgMHgxMGZiLAorCTB4MTEwMCwgMHgxMTU5LAorCTB4MTE1Ziwg
MHgxMWEyLAorCTB4MTFhOCwgMHgxMWY5LAorCTB4MWUwMCwgMHgxZTliLAorCTB4MWVhMCwgMHgx
ZWY5LAorCTB4MWYwMCwgMHgxZjE1LAorCTB4MWYxOCwgMHgxZjFkLAorCTB4MWYyMCwgMHgxZjQ1
LAorCTB4MWY0OCwgMHgxZjRkLAorCTB4MWY1MCwgMHgxZjU3LAorCTB4MWY1OSwgMHgxZjU5LAor
CTB4MWY1YiwgMHgxZjViLAorCTB4MWY1ZCwgMHgxZjVkLAorCTB4MWY1ZiwgMHgxZjdkLAorCTB4
MWY4MCwgMHgxZmI0LAorCTB4MWZiNiwgMHgxZmM0LAorCTB4MWZjNiwgMHgxZmQzLAorCTB4MWZk
NiwgMHgxZmRiLAorCTB4MWZkZCwgMHgxZmVmLAorCTB4MWZmMiwgMHgxZmY0LAorCTB4MWZmNiwg
MHgxZmZlLAorCTB4MjAwMCwgMHgyMDJlLAorCTB4MjAzMCwgMHgyMDQ2LAorCTB4MjA2YSwgMHgy
MDcwLAorCTB4MjA3NCwgMHgyMDhlLAorCTB4MjBhMCwgMHgyMGFjLAorCTB4MjBkMCwgMHgyMGUx
LAorCTB4MjEwMCwgMHgyMTM4LAorCTB4MjE1MywgMHgyMTgyLAorCTB4MjE5MCwgMHgyMWVhLAor
CTB4MjIwMCwgMHgyMmYxLAorCTB4MjMwMCwgMHgyMzAwLAorCTB4MjMwMiwgMHgyMzdhLAorCTB4
MjQwMCwgMHgyNDI0LAorCTB4MjQ0MCwgMHgyNDRhLAorCTB4MjQ2MCwgMHgyNGVhLAorCTB4MjUw
MCwgMHgyNTk1LAorCTB4MjVhMCwgMHgyNWVmLAorCTB4MjYwMCwgMHgyNjEzLAorCTB4MjYxYSwg
MHgyNjZmLAorCTB4MjcwMSwgMHgyNzA0LAorCTB4MjcwNiwgMHgyNzA5LAorCTB4MjcwYywgMHgy
NzI3LAorCTB4MjcyOSwgMHgyNzRiLAorCTB4Mjc0ZCwgMHgyNzRkLAorCTB4Mjc0ZiwgMHgyNzUy
LAorCTB4Mjc1NiwgMHgyNzU2LAorCTB4Mjc1OCwgMHgyNzVlLAorCTB4Mjc2MSwgMHgyNzY3LAor
CTB4Mjc3NiwgMHgyNzk0LAorCTB4Mjc5OCwgMHgyN2FmLAorCTB4MjdiMSwgMHgyN2JlLAorCTB4
MzAwMCwgMHgzMDM3LAorCTB4MzAzZiwgMHgzMDNmLAorCTB4MzA0MSwgMHgzMDk0LAorCTB4MzA5
OSwgMHgzMDllLAorCTB4MzBhMSwgMHgzMGZlLAorCTB4MzEwNSwgMHgzMTJjLAorCTB4MzEzMSwg
MHgzMThlLAorCTB4MzE5MCwgMHgzMTlmLAorCTB4MzIwMCwgMHgzMjFjLAorCTB4MzIyMCwgMHgz
MjQzLAorCTB4MzI2MCwgMHgzMjdiLAorCTB4MzI3ZiwgMHgzMmIwLAorCTB4MzJjMCwgMHgzMmNi
LAorCTB4MzJkMCwgMHgzMmZlLAorCTB4MzMwMCwgMHgzMzc2LAorCTB4MzM3YiwgMHgzM2RkLAor
CTB4MzNlMCwgMHgzM2ZlLAorCTB4NGUwMCwgMHg5ZmE1LAorCTB4YWMwMCwgMHhkN2EzLAorCTB4
ZDgwMCwgMHhmYTJkLAorCTB4ZmIwMCwgMHhmYjA2LAorCTB4ZmIxMywgMHhmYjE3LAorCTB4ZmIx
ZSwgMHhmYjM2LAorCTB4ZmIzOCwgMHhmYjNjLAorCTB4ZmIzZSwgMHhmYjNlLAorCTB4ZmI0MCwg
MHhmYjQxLAorCTB4ZmI0MywgMHhmYjQ0LAorCTB4ZmI0NiwgMHhmYmIxLAorCTB4ZmJkMywgMHhm
ZDNmLAorCTB4ZmQ1MCwgMHhmZDhmLAorCTB4ZmQ5MiwgMHhmZGM3LAorCTB4ZmRmMCwgMHhmZGZi
LAorCTB4ZmUyMCwgMHhmZTIzLAorCTB4ZmUzMCwgMHhmZTQ0LAorCTB4ZmU0OSwgMHhmZTUyLAor
CTB4ZmU1NCwgMHhmZTY2LAorCTB4ZmU2OCwgMHhmZTZiLAorCTB4ZmU3MCwgMHhmZTcyLAorCTB4
ZmU3NCwgMHhmZTc0LAorCTB4ZmU3NiwgMHhmZWZjLAorCTB4ZmVmZiwgMHhmZWZmLAorCTB4ZmYw
MSwgMHhmZjVlLAorCTB4ZmY2MSwgMHhmZmJlLAorCTB4ZmZjMiwgMHhmZmM3LAorCTB4ZmZjYSwg
MHhmZmNmLAorCTB4ZmZkMiwgMHhmZmQ3LAorCTB4ZmZkYSwgMHhmZmRjLAorCTB4ZmZlMCwgMHhm
ZmU2LAorCTB4ZmZlOCwgMHhmZmVlLAorCTB4ZmZmYywgMHhmZmZmLAorCTB4MWZmZmUsIDB4MWZm
ZmYsCisJMHgyZmZmZSwgMHgyZmZmZiwKKwkweDNmZmZlLCAweDNmZmZmLAorCTB4NGZmZmUsIDB4
NGZmZmYsCisJMHg1ZmZmZSwgMHg1ZmZmZiwKKwkweDZmZmZlLCAweDZmZmZmLAorCTB4N2ZmZmUs
IDB4N2ZmZmYsCisJMHg4ZmZmZSwgMHg4ZmZmZiwKKwkweDlmZmZlLCAweDlmZmZmLAorCTB4YWZm
ZmUsIDB4YWZmZmYsCisJMHhiZmZmZSwgMHhiZmZmZiwKKwkweGNmZmZlLCAweGNmZmZmLAorCTB4
ZGZmZmUsIDB4ZGZmZmYsCisJMHhlZmZmZSwgMHgxMGZmZmYsCit9OyAvKiBDUl9BZ2VfMl8xICov
CisKKy8qICdBZ2VfM18wJzogRGVyaXZlZCBBZ2UgMy4wICovCitzdGF0aWMgY29uc3QgT25pZ0Nv
ZGVQb2ludCBDUl9BZ2VfM18wW10gPSB7CisJMzY5LAorCTB4MDAwMCwgMHgwMjFmLAorCTB4MDIy
MiwgMHgwMjMzLAorCTB4MDI1MCwgMHgwMmFkLAorCTB4MDJiMCwgMHgwMmVlLAorCTB4MDMwMCwg
MHgwMzRlLAorCTB4MDM2MCwgMHgwMzYyLAorCTB4MDM3NCwgMHgwMzc1LAorCTB4MDM3YSwgMHgw
MzdhLAorCTB4MDM3ZSwgMHgwMzdlLAorCTB4MDM4NCwgMHgwMzhhLAorCTB4MDM4YywgMHgwMzhj
LAorCTB4MDM4ZSwgMHgwM2ExLAorCTB4MDNhMywgMHgwM2NlLAorCTB4MDNkMCwgMHgwM2Q3LAor
CTB4MDNkYSwgMHgwM2YzLAorCTB4MDQwMCwgMHgwNDg2LAorCTB4MDQ4OCwgMHgwNDg5LAorCTB4
MDQ4YywgMHgwNGM0LAorCTB4MDRjNywgMHgwNGM4LAorCTB4MDRjYiwgMHgwNGNjLAorCTB4MDRk
MCwgMHgwNGY1LAorCTB4MDRmOCwgMHgwNGY5LAorCTB4MDUzMSwgMHgwNTU2LAorCTB4MDU1OSwg
MHgwNTVmLAorCTB4MDU2MSwgMHgwNTg3LAorCTB4MDU4OSwgMHgwNThhLAorCTB4MDU5MSwgMHgw
NWExLAorCTB4MDVhMywgMHgwNWI5LAorCTB4MDViYiwgMHgwNWM0LAorCTB4MDVkMCwgMHgwNWVh
LAorCTB4MDVmMCwgMHgwNWY0LAorCTB4MDYwYywgMHgwNjBjLAorCTB4MDYxYiwgMHgwNjFiLAor
CTB4MDYxZiwgMHgwNjFmLAorCTB4MDYyMSwgMHgwNjNhLAorCTB4MDY0MCwgMHgwNjU1LAorCTB4
MDY2MCwgMHgwNjZkLAorCTB4MDY3MCwgMHgwNmVkLAorCTB4MDZmMCwgMHgwNmZlLAorCTB4MDcw
MCwgMHgwNzBkLAorCTB4MDcwZiwgMHgwNzJjLAorCTB4MDczMCwgMHgwNzRhLAorCTB4MDc4MCwg
MHgwN2IwLAorCTB4MDkwMSwgMHgwOTAzLAorCTB4MDkwNSwgMHgwOTM5LAorCTB4MDkzYywgMHgw
OTRkLAorCTB4MDk1MCwgMHgwOTU0LAorCTB4MDk1OCwgMHgwOTcwLAorCTB4MDk4MSwgMHgwOTgz
LAorCTB4MDk4NSwgMHgwOThjLAorCTB4MDk4ZiwgMHgwOTkwLAorCTB4MDk5MywgMHgwOWE4LAor
CTB4MDlhYSwgMHgwOWIwLAorCTB4MDliMiwgMHgwOWIyLAorCTB4MDliNiwgMHgwOWI5LAorCTB4
MDliYywgMHgwOWJjLAorCTB4MDliZSwgMHgwOWM0LAorCTB4MDljNywgMHgwOWM4LAorCTB4MDlj
YiwgMHgwOWNkLAorCTB4MDlkNywgMHgwOWQ3LAorCTB4MDlkYywgMHgwOWRkLAorCTB4MDlkZiwg
MHgwOWUzLAorCTB4MDllNiwgMHgwOWZhLAorCTB4MGEwMiwgMHgwYTAyLAorCTB4MGEwNSwgMHgw
YTBhLAorCTB4MGEwZiwgMHgwYTEwLAorCTB4MGExMywgMHgwYTI4LAorCTB4MGEyYSwgMHgwYTMw
LAorCTB4MGEzMiwgMHgwYTMzLAorCTB4MGEzNSwgMHgwYTM2LAorCTB4MGEzOCwgMHgwYTM5LAor
CTB4MGEzYywgMHgwYTNjLAorCTB4MGEzZSwgMHgwYTQyLAorCTB4MGE0NywgMHgwYTQ4LAorCTB4
MGE0YiwgMHgwYTRkLAorCTB4MGE1OSwgMHgwYTVjLAorCTB4MGE1ZSwgMHgwYTVlLAorCTB4MGE2
NiwgMHgwYTc0LAorCTB4MGE4MSwgMHgwYTgzLAorCTB4MGE4NSwgMHgwYThiLAorCTB4MGE4ZCwg
MHgwYThkLAorCTB4MGE4ZiwgMHgwYTkxLAorCTB4MGE5MywgMHgwYWE4LAorCTB4MGFhYSwgMHgw
YWIwLAorCTB4MGFiMiwgMHgwYWIzLAorCTB4MGFiNSwgMHgwYWI5LAorCTB4MGFiYywgMHgwYWM1
LAorCTB4MGFjNywgMHgwYWM5LAorCTB4MGFjYiwgMHgwYWNkLAorCTB4MGFkMCwgMHgwYWQwLAor
CTB4MGFlMCwgMHgwYWUwLAorCTB4MGFlNiwgMHgwYWVmLAorCTB4MGIwMSwgMHgwYjAzLAorCTB4
MGIwNSwgMHgwYjBjLAorCTB4MGIwZiwgMHgwYjEwLAorCTB4MGIxMywgMHgwYjI4LAorCTB4MGIy
YSwgMHgwYjMwLAorCTB4MGIzMiwgMHgwYjMzLAorCTB4MGIzNiwgMHgwYjM5LAorCTB4MGIzYywg
MHgwYjQzLAorCTB4MGI0NywgMHgwYjQ4LAorCTB4MGI0YiwgMHgwYjRkLAorCTB4MGI1NiwgMHgw
YjU3LAorCTB4MGI1YywgMHgwYjVkLAorCTB4MGI1ZiwgMHgwYjYxLAorCTB4MGI2NiwgMHgwYjcw
LAorCTB4MGI4MiwgMHgwYjgzLAorCTB4MGI4NSwgMHgwYjhhLAorCTB4MGI4ZSwgMHgwYjkwLAor
CTB4MGI5MiwgMHgwYjk1LAorCTB4MGI5OSwgMHgwYjlhLAorCTB4MGI5YywgMHgwYjljLAorCTB4
MGI5ZSwgMHgwYjlmLAorCTB4MGJhMywgMHgwYmE0LAorCTB4MGJhOCwgMHgwYmFhLAorCTB4MGJh
ZSwgMHgwYmI1LAorCTB4MGJiNywgMHgwYmI5LAorCTB4MGJiZSwgMHgwYmMyLAorCTB4MGJjNiwg
MHgwYmM4LAorCTB4MGJjYSwgMHgwYmNkLAorCTB4MGJkNywgMHgwYmQ3LAorCTB4MGJlNywgMHgw
YmYyLAorCTB4MGMwMSwgMHgwYzAzLAorCTB4MGMwNSwgMHgwYzBjLAorCTB4MGMwZSwgMHgwYzEw
LAorCTB4MGMxMiwgMHgwYzI4LAorCTB4MGMyYSwgMHgwYzMzLAorCTB4MGMzNSwgMHgwYzM5LAor
CTB4MGMzZSwgMHgwYzQ0LAorCTB4MGM0NiwgMHgwYzQ4LAorCTB4MGM0YSwgMHgwYzRkLAorCTB4
MGM1NSwgMHgwYzU2LAorCTB4MGM2MCwgMHgwYzYxLAorCTB4MGM2NiwgMHgwYzZmLAorCTB4MGM4
MiwgMHgwYzgzLAorCTB4MGM4NSwgMHgwYzhjLAorCTB4MGM4ZSwgMHgwYzkwLAorCTB4MGM5Miwg
MHgwY2E4LAorCTB4MGNhYSwgMHgwY2IzLAorCTB4MGNiNSwgMHgwY2I5LAorCTB4MGNiZSwgMHgw
Y2M0LAorCTB4MGNjNiwgMHgwY2M4LAorCTB4MGNjYSwgMHgwY2NkLAorCTB4MGNkNSwgMHgwY2Q2
LAorCTB4MGNkZSwgMHgwY2RlLAorCTB4MGNlMCwgMHgwY2UxLAorCTB4MGNlNiwgMHgwY2VmLAor
CTB4MGQwMiwgMHgwZDAzLAorCTB4MGQwNSwgMHgwZDBjLAorCTB4MGQwZSwgMHgwZDEwLAorCTB4
MGQxMiwgMHgwZDI4LAorCTB4MGQyYSwgMHgwZDM5LAorCTB4MGQzZSwgMHgwZDQzLAorCTB4MGQ0
NiwgMHgwZDQ4LAorCTB4MGQ0YSwgMHgwZDRkLAorCTB4MGQ1NywgMHgwZDU3LAorCTB4MGQ2MCwg
MHgwZDYxLAorCTB4MGQ2NiwgMHgwZDZmLAorCTB4MGQ4MiwgMHgwZDgzLAorCTB4MGQ4NSwgMHgw
ZDk2LAorCTB4MGQ5YSwgMHgwZGIxLAorCTB4MGRiMywgMHgwZGJiLAorCTB4MGRiZCwgMHgwZGJk
LAorCTB4MGRjMCwgMHgwZGM2LAorCTB4MGRjYSwgMHgwZGNhLAorCTB4MGRjZiwgMHgwZGQ0LAor
CTB4MGRkNiwgMHgwZGQ2LAorCTB4MGRkOCwgMHgwZGRmLAorCTB4MGRmMiwgMHgwZGY0LAorCTB4
MGUwMSwgMHgwZTNhLAorCTB4MGUzZiwgMHgwZTViLAorCTB4MGU4MSwgMHgwZTgyLAorCTB4MGU4
NCwgMHgwZTg0LAorCTB4MGU4NywgMHgwZTg4LAorCTB4MGU4YSwgMHgwZThhLAorCTB4MGU4ZCwg
MHgwZThkLAorCTB4MGU5NCwgMHgwZTk3LAorCTB4MGU5OSwgMHgwZTlmLAorCTB4MGVhMSwgMHgw
ZWEzLAorCTB4MGVhNSwgMHgwZWE1LAorCTB4MGVhNywgMHgwZWE3LAorCTB4MGVhYSwgMHgwZWFi
LAorCTB4MGVhZCwgMHgwZWI5LAorCTB4MGViYiwgMHgwZWJkLAorCTB4MGVjMCwgMHgwZWM0LAor
CTB4MGVjNiwgMHgwZWM2LAorCTB4MGVjOCwgMHgwZWNkLAorCTB4MGVkMCwgMHgwZWQ5LAorCTB4
MGVkYywgMHgwZWRkLAorCTB4MGYwMCwgMHgwZjQ3LAorCTB4MGY0OSwgMHgwZjZhLAorCTB4MGY3
MSwgMHgwZjhiLAorCTB4MGY5MCwgMHgwZjk3LAorCTB4MGY5OSwgMHgwZmJjLAorCTB4MGZiZSwg
MHgwZmNjLAorCTB4MGZjZiwgMHgwZmNmLAorCTB4MTAwMCwgMHgxMDIxLAorCTB4MTAyMywgMHgx
MDI3LAorCTB4MTAyOSwgMHgxMDJhLAorCTB4MTAyYywgMHgxMDMyLAorCTB4MTAzNiwgMHgxMDM5
LAorCTB4MTA0MCwgMHgxMDU5LAorCTB4MTBhMCwgMHgxMGM1LAorCTB4MTBkMCwgMHgxMGY2LAor
CTB4MTBmYiwgMHgxMGZiLAorCTB4MTEwMCwgMHgxMTU5LAorCTB4MTE1ZiwgMHgxMWEyLAorCTB4
MTFhOCwgMHgxMWY5LAorCTB4MTIwMCwgMHgxMjA2LAorCTB4MTIwOCwgMHgxMjQ2LAorCTB4MTI0
OCwgMHgxMjQ4LAorCTB4MTI0YSwgMHgxMjRkLAorCTB4MTI1MCwgMHgxMjU2LAorCTB4MTI1OCwg
MHgxMjU4LAorCTB4MTI1YSwgMHgxMjVkLAorCTB4MTI2MCwgMHgxMjg2LAorCTB4MTI4OCwgMHgx
Mjg4LAorCTB4MTI4YSwgMHgxMjhkLAorCTB4MTI5MCwgMHgxMmFlLAorCTB4MTJiMCwgMHgxMmIw
LAorCTB4MTJiMiwgMHgxMmI1LAorCTB4MTJiOCwgMHgxMmJlLAorCTB4MTJjMCwgMHgxMmMwLAor
CTB4MTJjMiwgMHgxMmM1LAorCTB4MTJjOCwgMHgxMmNlLAorCTB4MTJkMCwgMHgxMmQ2LAorCTB4
MTJkOCwgMHgxMmVlLAorCTB4MTJmMCwgMHgxMzBlLAorCTB4MTMxMCwgMHgxMzEwLAorCTB4MTMx
MiwgMHgxMzE1LAorCTB4MTMxOCwgMHgxMzFlLAorCTB4MTMyMCwgMHgxMzQ2LAorCTB4MTM0OCwg
MHgxMzVhLAorCTB4MTM2MSwgMHgxMzdjLAorCTB4MTNhMCwgMHgxM2Y0LAorCTB4MTQwMSwgMHgx
Njc2LAorCTB4MTY4MCwgMHgxNjljLAorCTB4MTZhMCwgMHgxNmYwLAorCTB4MTc4MCwgMHgxN2Rj
LAorCTB4MTdlMCwgMHgxN2U5LAorCTB4MTgwMCwgMHgxODBlLAorCTB4MTgxMCwgMHgxODE5LAor
CTB4MTgyMCwgMHgxODc3LAorCTB4MTg4MCwgMHgxOGE5LAorCTB4MWUwMCwgMHgxZTliLAorCTB4
MWVhMCwgMHgxZWY5LAorCTB4MWYwMCwgMHgxZjE1LAorCTB4MWYxOCwgMHgxZjFkLAorCTB4MWYy
MCwgMHgxZjQ1LAorCTB4MWY0OCwgMHgxZjRkLAorCTB4MWY1MCwgMHgxZjU3LAorCTB4MWY1OSwg
MHgxZjU5LAorCTB4MWY1YiwgMHgxZjViLAorCTB4MWY1ZCwgMHgxZjVkLAorCTB4MWY1ZiwgMHgx
ZjdkLAorCTB4MWY4MCwgMHgxZmI0LAorCTB4MWZiNiwgMHgxZmM0LAorCTB4MWZjNiwgMHgxZmQz
LAorCTB4MWZkNiwgMHgxZmRiLAorCTB4MWZkZCwgMHgxZmVmLAorCTB4MWZmMiwgMHgxZmY0LAor
CTB4MWZmNiwgMHgxZmZlLAorCTB4MjAwMCwgMHgyMDQ2LAorCTB4MjA0OCwgMHgyMDRkLAorCTB4
MjA2YSwgMHgyMDcwLAorCTB4MjA3NCwgMHgyMDhlLAorCTB4MjBhMCwgMHgyMGFmLAorCTB4MjBk
MCwgMHgyMGUzLAorCTB4MjEwMCwgMHgyMTNhLAorCTB4MjE1MywgMHgyMTgzLAorCTB4MjE5MCwg
MHgyMWYzLAorCTB4MjIwMCwgMHgyMmYxLAorCTB4MjMwMCwgMHgyMzdiLAorCTB4MjM3ZCwgMHgy
MzlhLAorCTB4MjQwMCwgMHgyNDI2LAorCTB4MjQ0MCwgMHgyNDRhLAorCTB4MjQ2MCwgMHgyNGVh
LAorCTB4MjUwMCwgMHgyNTk1LAorCTB4MjVhMCwgMHgyNWY3LAorCTB4MjYwMCwgMHgyNjEzLAor
CTB4MjYxOSwgMHgyNjcxLAorCTB4MjcwMSwgMHgyNzA0LAorCTB4MjcwNiwgMHgyNzA5LAorCTB4
MjcwYywgMHgyNzI3LAorCTB4MjcyOSwgMHgyNzRiLAorCTB4Mjc0ZCwgMHgyNzRkLAorCTB4Mjc0
ZiwgMHgyNzUyLAorCTB4Mjc1NiwgMHgyNzU2LAorCTB4Mjc1OCwgMHgyNzVlLAorCTB4Mjc2MSwg
MHgyNzY3LAorCTB4Mjc3NiwgMHgyNzk0LAorCTB4Mjc5OCwgMHgyN2FmLAorCTB4MjdiMSwgMHgy
N2JlLAorCTB4MjgwMCwgMHgyOGZmLAorCTB4MmU4MCwgMHgyZTk5LAorCTB4MmU5YiwgMHgyZWYz
LAorCTB4MmYwMCwgMHgyZmQ1LAorCTB4MmZmMCwgMHgyZmZiLAorCTB4MzAwMCwgMHgzMDNhLAor
CTB4MzAzZSwgMHgzMDNmLAorCTB4MzA0MSwgMHgzMDk0LAorCTB4MzA5OSwgMHgzMDllLAorCTB4
MzBhMSwgMHgzMGZlLAorCTB4MzEwNSwgMHgzMTJjLAorCTB4MzEzMSwgMHgzMThlLAorCTB4MzE5
MCwgMHgzMWI3LAorCTB4MzIwMCwgMHgzMjFjLAorCTB4MzIyMCwgMHgzMjQzLAorCTB4MzI2MCwg
MHgzMjdiLAorCTB4MzI3ZiwgMHgzMmIwLAorCTB4MzJjMCwgMHgzMmNiLAorCTB4MzJkMCwgMHgz
MmZlLAorCTB4MzMwMCwgMHgzMzc2LAorCTB4MzM3YiwgMHgzM2RkLAorCTB4MzNlMCwgMHgzM2Zl
LAorCTB4MzQwMCwgMHg0ZGI1LAorCTB4NGUwMCwgMHg5ZmE1LAorCTB4YTAwMCwgMHhhNDhjLAor
CTB4YTQ5MCwgMHhhNGExLAorCTB4YTRhNCwgMHhhNGIzLAorCTB4YTRiNSwgMHhhNGMwLAorCTB4
YTRjMiwgMHhhNGM0LAorCTB4YTRjNiwgMHhhNGM2LAorCTB4YWMwMCwgMHhkN2EzLAorCTB4ZDgw
MCwgMHhmYTJkLAorCTB4ZmIwMCwgMHhmYjA2LAorCTB4ZmIxMywgMHhmYjE3LAorCTB4ZmIxZCwg
MHhmYjM2LAorCTB4ZmIzOCwgMHhmYjNjLAorCTB4ZmIzZSwgMHhmYjNlLAorCTB4ZmI0MCwgMHhm
YjQxLAorCTB4ZmI0MywgMHhmYjQ0LAorCTB4ZmI0NiwgMHhmYmIxLAorCTB4ZmJkMywgMHhmZDNm
LAorCTB4ZmQ1MCwgMHhmZDhmLAorCTB4ZmQ5MiwgMHhmZGM3LAorCTB4ZmRmMCwgMHhmZGZiLAor
CTB4ZmUyMCwgMHhmZTIzLAorCTB4ZmUzMCwgMHhmZTQ0LAorCTB4ZmU0OSwgMHhmZTUyLAorCTB4
ZmU1NCwgMHhmZTY2LAorCTB4ZmU2OCwgMHhmZTZiLAorCTB4ZmU3MCwgMHhmZTcyLAorCTB4ZmU3
NCwgMHhmZTc0LAorCTB4ZmU3NiwgMHhmZWZjLAorCTB4ZmVmZiwgMHhmZWZmLAorCTB4ZmYwMSwg
MHhmZjVlLAorCTB4ZmY2MSwgMHhmZmJlLAorCTB4ZmZjMiwgMHhmZmM3LAorCTB4ZmZjYSwgMHhm
ZmNmLAorCTB4ZmZkMiwgMHhmZmQ3LAorCTB4ZmZkYSwgMHhmZmRjLAorCTB4ZmZlMCwgMHhmZmU2
LAorCTB4ZmZlOCwgMHhmZmVlLAorCTB4ZmZmOSwgMHhmZmZmLAorCTB4MWZmZmUsIDB4MWZmZmYs
CisJMHgyZmZmZSwgMHgyZmZmZiwKKwkweDNmZmZlLCAweDNmZmZmLAorCTB4NGZmZmUsIDB4NGZm
ZmYsCisJMHg1ZmZmZSwgMHg1ZmZmZiwKKwkweDZmZmZlLCAweDZmZmZmLAorCTB4N2ZmZmUsIDB4
N2ZmZmYsCisJMHg4ZmZmZSwgMHg4ZmZmZiwKKwkweDlmZmZlLCAweDlmZmZmLAorCTB4YWZmZmUs
IDB4YWZmZmYsCisJMHhiZmZmZSwgMHhiZmZmZiwKKwkweGNmZmZlLCAweGNmZmZmLAorCTB4ZGZm
ZmUsIDB4ZGZmZmYsCisJMHhlZmZmZSwgMHgxMGZmZmYsCit9OyAvKiBDUl9BZ2VfM18wICovCisK
Ky8qICdBZ2VfM18xJzogRGVyaXZlZCBBZ2UgMy4xICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQ
b2ludCBDUl9BZ2VfM18xW10gPSB7CisJNDAyLAorCTB4MDAwMCwgMHgwMjFmLAorCTB4MDIyMiwg
MHgwMjMzLAorCTB4MDI1MCwgMHgwMmFkLAorCTB4MDJiMCwgMHgwMmVlLAorCTB4MDMwMCwgMHgw
MzRlLAorCTB4MDM2MCwgMHgwMzYyLAorCTB4MDM3NCwgMHgwMzc1LAorCTB4MDM3YSwgMHgwMzdh
LAorCTB4MDM3ZSwgMHgwMzdlLAorCTB4MDM4NCwgMHgwMzhhLAorCTB4MDM4YywgMHgwMzhjLAor
CTB4MDM4ZSwgMHgwM2ExLAorCTB4MDNhMywgMHgwM2NlLAorCTB4MDNkMCwgMHgwM2Q3LAorCTB4
MDNkYSwgMHgwM2Y1LAorCTB4MDQwMCwgMHgwNDg2LAorCTB4MDQ4OCwgMHgwNDg5LAorCTB4MDQ4
YywgMHgwNGM0LAorCTB4MDRjNywgMHgwNGM4LAorCTB4MDRjYiwgMHgwNGNjLAorCTB4MDRkMCwg
MHgwNGY1LAorCTB4MDRmOCwgMHgwNGY5LAorCTB4MDUzMSwgMHgwNTU2LAorCTB4MDU1OSwgMHgw
NTVmLAorCTB4MDU2MSwgMHgwNTg3LAorCTB4MDU4OSwgMHgwNThhLAorCTB4MDU5MSwgMHgwNWEx
LAorCTB4MDVhMywgMHgwNWI5LAorCTB4MDViYiwgMHgwNWM0LAorCTB4MDVkMCwgMHgwNWVhLAor
CTB4MDVmMCwgMHgwNWY0LAorCTB4MDYwYywgMHgwNjBjLAorCTB4MDYxYiwgMHgwNjFiLAorCTB4
MDYxZiwgMHgwNjFmLAorCTB4MDYyMSwgMHgwNjNhLAorCTB4MDY0MCwgMHgwNjU1LAorCTB4MDY2
MCwgMHgwNjZkLAorCTB4MDY3MCwgMHgwNmVkLAorCTB4MDZmMCwgMHgwNmZlLAorCTB4MDcwMCwg
MHgwNzBkLAorCTB4MDcwZiwgMHgwNzJjLAorCTB4MDczMCwgMHgwNzRhLAorCTB4MDc4MCwgMHgw
N2IwLAorCTB4MDkwMSwgMHgwOTAzLAorCTB4MDkwNSwgMHgwOTM5LAorCTB4MDkzYywgMHgwOTRk
LAorCTB4MDk1MCwgMHgwOTU0LAorCTB4MDk1OCwgMHgwOTcwLAorCTB4MDk4MSwgMHgwOTgzLAor
CTB4MDk4NSwgMHgwOThjLAorCTB4MDk4ZiwgMHgwOTkwLAorCTB4MDk5MywgMHgwOWE4LAorCTB4
MDlhYSwgMHgwOWIwLAorCTB4MDliMiwgMHgwOWIyLAorCTB4MDliNiwgMHgwOWI5LAorCTB4MDli
YywgMHgwOWJjLAorCTB4MDliZSwgMHgwOWM0LAorCTB4MDljNywgMHgwOWM4LAorCTB4MDljYiwg
MHgwOWNkLAorCTB4MDlkNywgMHgwOWQ3LAorCTB4MDlkYywgMHgwOWRkLAorCTB4MDlkZiwgMHgw
OWUzLAorCTB4MDllNiwgMHgwOWZhLAorCTB4MGEwMiwgMHgwYTAyLAorCTB4MGEwNSwgMHgwYTBh
LAorCTB4MGEwZiwgMHgwYTEwLAorCTB4MGExMywgMHgwYTI4LAorCTB4MGEyYSwgMHgwYTMwLAor
CTB4MGEzMiwgMHgwYTMzLAorCTB4MGEzNSwgMHgwYTM2LAorCTB4MGEzOCwgMHgwYTM5LAorCTB4
MGEzYywgMHgwYTNjLAorCTB4MGEzZSwgMHgwYTQyLAorCTB4MGE0NywgMHgwYTQ4LAorCTB4MGE0
YiwgMHgwYTRkLAorCTB4MGE1OSwgMHgwYTVjLAorCTB4MGE1ZSwgMHgwYTVlLAorCTB4MGE2Niwg
MHgwYTc0LAorCTB4MGE4MSwgMHgwYTgzLAorCTB4MGE4NSwgMHgwYThiLAorCTB4MGE4ZCwgMHgw
YThkLAorCTB4MGE4ZiwgMHgwYTkxLAorCTB4MGE5MywgMHgwYWE4LAorCTB4MGFhYSwgMHgwYWIw
LAorCTB4MGFiMiwgMHgwYWIzLAorCTB4MGFiNSwgMHgwYWI5LAorCTB4MGFiYywgMHgwYWM1LAor
CTB4MGFjNywgMHgwYWM5LAorCTB4MGFjYiwgMHgwYWNkLAorCTB4MGFkMCwgMHgwYWQwLAorCTB4
MGFlMCwgMHgwYWUwLAorCTB4MGFlNiwgMHgwYWVmLAorCTB4MGIwMSwgMHgwYjAzLAorCTB4MGIw
NSwgMHgwYjBjLAorCTB4MGIwZiwgMHgwYjEwLAorCTB4MGIxMywgMHgwYjI4LAorCTB4MGIyYSwg
MHgwYjMwLAorCTB4MGIzMiwgMHgwYjMzLAorCTB4MGIzNiwgMHgwYjM5LAorCTB4MGIzYywgMHgw
YjQzLAorCTB4MGI0NywgMHgwYjQ4LAorCTB4MGI0YiwgMHgwYjRkLAorCTB4MGI1NiwgMHgwYjU3
LAorCTB4MGI1YywgMHgwYjVkLAorCTB4MGI1ZiwgMHgwYjYxLAorCTB4MGI2NiwgMHgwYjcwLAor
CTB4MGI4MiwgMHgwYjgzLAorCTB4MGI4NSwgMHgwYjhhLAorCTB4MGI4ZSwgMHgwYjkwLAorCTB4
MGI5MiwgMHgwYjk1LAorCTB4MGI5OSwgMHgwYjlhLAorCTB4MGI5YywgMHgwYjljLAorCTB4MGI5
ZSwgMHgwYjlmLAorCTB4MGJhMywgMHgwYmE0LAorCTB4MGJhOCwgMHgwYmFhLAorCTB4MGJhZSwg
MHgwYmI1LAorCTB4MGJiNywgMHgwYmI5LAorCTB4MGJiZSwgMHgwYmMyLAorCTB4MGJjNiwgMHgw
YmM4LAorCTB4MGJjYSwgMHgwYmNkLAorCTB4MGJkNywgMHgwYmQ3LAorCTB4MGJlNywgMHgwYmYy
LAorCTB4MGMwMSwgMHgwYzAzLAorCTB4MGMwNSwgMHgwYzBjLAorCTB4MGMwZSwgMHgwYzEwLAor
CTB4MGMxMiwgMHgwYzI4LAorCTB4MGMyYSwgMHgwYzMzLAorCTB4MGMzNSwgMHgwYzM5LAorCTB4
MGMzZSwgMHgwYzQ0LAorCTB4MGM0NiwgMHgwYzQ4LAorCTB4MGM0YSwgMHgwYzRkLAorCTB4MGM1
NSwgMHgwYzU2LAorCTB4MGM2MCwgMHgwYzYxLAorCTB4MGM2NiwgMHgwYzZmLAorCTB4MGM4Miwg
MHgwYzgzLAorCTB4MGM4NSwgMHgwYzhjLAorCTB4MGM4ZSwgMHgwYzkwLAorCTB4MGM5MiwgMHgw
Y2E4LAorCTB4MGNhYSwgMHgwY2IzLAorCTB4MGNiNSwgMHgwY2I5LAorCTB4MGNiZSwgMHgwY2M0
LAorCTB4MGNjNiwgMHgwY2M4LAorCTB4MGNjYSwgMHgwY2NkLAorCTB4MGNkNSwgMHgwY2Q2LAor
CTB4MGNkZSwgMHgwY2RlLAorCTB4MGNlMCwgMHgwY2UxLAorCTB4MGNlNiwgMHgwY2VmLAorCTB4
MGQwMiwgMHgwZDAzLAorCTB4MGQwNSwgMHgwZDBjLAorCTB4MGQwZSwgMHgwZDEwLAorCTB4MGQx
MiwgMHgwZDI4LAorCTB4MGQyYSwgMHgwZDM5LAorCTB4MGQzZSwgMHgwZDQzLAorCTB4MGQ0Niwg
MHgwZDQ4LAorCTB4MGQ0YSwgMHgwZDRkLAorCTB4MGQ1NywgMHgwZDU3LAorCTB4MGQ2MCwgMHgw
ZDYxLAorCTB4MGQ2NiwgMHgwZDZmLAorCTB4MGQ4MiwgMHgwZDgzLAorCTB4MGQ4NSwgMHgwZDk2
LAorCTB4MGQ5YSwgMHgwZGIxLAorCTB4MGRiMywgMHgwZGJiLAorCTB4MGRiZCwgMHgwZGJkLAor
CTB4MGRjMCwgMHgwZGM2LAorCTB4MGRjYSwgMHgwZGNhLAorCTB4MGRjZiwgMHgwZGQ0LAorCTB4
MGRkNiwgMHgwZGQ2LAorCTB4MGRkOCwgMHgwZGRmLAorCTB4MGRmMiwgMHgwZGY0LAorCTB4MGUw
MSwgMHgwZTNhLAorCTB4MGUzZiwgMHgwZTViLAorCTB4MGU4MSwgMHgwZTgyLAorCTB4MGU4NCwg
MHgwZTg0LAorCTB4MGU4NywgMHgwZTg4LAorCTB4MGU4YSwgMHgwZThhLAorCTB4MGU4ZCwgMHgw
ZThkLAorCTB4MGU5NCwgMHgwZTk3LAorCTB4MGU5OSwgMHgwZTlmLAorCTB4MGVhMSwgMHgwZWEz
LAorCTB4MGVhNSwgMHgwZWE1LAorCTB4MGVhNywgMHgwZWE3LAorCTB4MGVhYSwgMHgwZWFiLAor
CTB4MGVhZCwgMHgwZWI5LAorCTB4MGViYiwgMHgwZWJkLAorCTB4MGVjMCwgMHgwZWM0LAorCTB4
MGVjNiwgMHgwZWM2LAorCTB4MGVjOCwgMHgwZWNkLAorCTB4MGVkMCwgMHgwZWQ5LAorCTB4MGVk
YywgMHgwZWRkLAorCTB4MGYwMCwgMHgwZjQ3LAorCTB4MGY0OSwgMHgwZjZhLAorCTB4MGY3MSwg
MHgwZjhiLAorCTB4MGY5MCwgMHgwZjk3LAorCTB4MGY5OSwgMHgwZmJjLAorCTB4MGZiZSwgMHgw
ZmNjLAorCTB4MGZjZiwgMHgwZmNmLAorCTB4MTAwMCwgMHgxMDIxLAorCTB4MTAyMywgMHgxMDI3
LAorCTB4MTAyOSwgMHgxMDJhLAorCTB4MTAyYywgMHgxMDMyLAorCTB4MTAzNiwgMHgxMDM5LAor
CTB4MTA0MCwgMHgxMDU5LAorCTB4MTBhMCwgMHgxMGM1LAorCTB4MTBkMCwgMHgxMGY2LAorCTB4
MTBmYiwgMHgxMGZiLAorCTB4MTEwMCwgMHgxMTU5LAorCTB4MTE1ZiwgMHgxMWEyLAorCTB4MTFh
OCwgMHgxMWY5LAorCTB4MTIwMCwgMHgxMjA2LAorCTB4MTIwOCwgMHgxMjQ2LAorCTB4MTI0OCwg
MHgxMjQ4LAorCTB4MTI0YSwgMHgxMjRkLAorCTB4MTI1MCwgMHgxMjU2LAorCTB4MTI1OCwgMHgx
MjU4LAorCTB4MTI1YSwgMHgxMjVkLAorCTB4MTI2MCwgMHgxMjg2LAorCTB4MTI4OCwgMHgxMjg4
LAorCTB4MTI4YSwgMHgxMjhkLAorCTB4MTI5MCwgMHgxMmFlLAorCTB4MTJiMCwgMHgxMmIwLAor
CTB4MTJiMiwgMHgxMmI1LAorCTB4MTJiOCwgMHgxMmJlLAorCTB4MTJjMCwgMHgxMmMwLAorCTB4
MTJjMiwgMHgxMmM1LAorCTB4MTJjOCwgMHgxMmNlLAorCTB4MTJkMCwgMHgxMmQ2LAorCTB4MTJk
OCwgMHgxMmVlLAorCTB4MTJmMCwgMHgxMzBlLAorCTB4MTMxMCwgMHgxMzEwLAorCTB4MTMxMiwg
MHgxMzE1LAorCTB4MTMxOCwgMHgxMzFlLAorCTB4MTMyMCwgMHgxMzQ2LAorCTB4MTM0OCwgMHgx
MzVhLAorCTB4MTM2MSwgMHgxMzdjLAorCTB4MTNhMCwgMHgxM2Y0LAorCTB4MTQwMSwgMHgxNjc2
LAorCTB4MTY4MCwgMHgxNjljLAorCTB4MTZhMCwgMHgxNmYwLAorCTB4MTc4MCwgMHgxN2RjLAor
CTB4MTdlMCwgMHgxN2U5LAorCTB4MTgwMCwgMHgxODBlLAorCTB4MTgxMCwgMHgxODE5LAorCTB4
MTgyMCwgMHgxODc3LAorCTB4MTg4MCwgMHgxOGE5LAorCTB4MWUwMCwgMHgxZTliLAorCTB4MWVh
MCwgMHgxZWY5LAorCTB4MWYwMCwgMHgxZjE1LAorCTB4MWYxOCwgMHgxZjFkLAorCTB4MWYyMCwg
MHgxZjQ1LAorCTB4MWY0OCwgMHgxZjRkLAorCTB4MWY1MCwgMHgxZjU3LAorCTB4MWY1OSwgMHgx
ZjU5LAorCTB4MWY1YiwgMHgxZjViLAorCTB4MWY1ZCwgMHgxZjVkLAorCTB4MWY1ZiwgMHgxZjdk
LAorCTB4MWY4MCwgMHgxZmI0LAorCTB4MWZiNiwgMHgxZmM0LAorCTB4MWZjNiwgMHgxZmQzLAor
CTB4MWZkNiwgMHgxZmRiLAorCTB4MWZkZCwgMHgxZmVmLAorCTB4MWZmMiwgMHgxZmY0LAorCTB4
MWZmNiwgMHgxZmZlLAorCTB4MjAwMCwgMHgyMDQ2LAorCTB4MjA0OCwgMHgyMDRkLAorCTB4MjA2
YSwgMHgyMDcwLAorCTB4MjA3NCwgMHgyMDhlLAorCTB4MjBhMCwgMHgyMGFmLAorCTB4MjBkMCwg
MHgyMGUzLAorCTB4MjEwMCwgMHgyMTNhLAorCTB4MjE1MywgMHgyMTgzLAorCTB4MjE5MCwgMHgy
MWYzLAorCTB4MjIwMCwgMHgyMmYxLAorCTB4MjMwMCwgMHgyMzdiLAorCTB4MjM3ZCwgMHgyMzlh
LAorCTB4MjQwMCwgMHgyNDI2LAorCTB4MjQ0MCwgMHgyNDRhLAorCTB4MjQ2MCwgMHgyNGVhLAor
CTB4MjUwMCwgMHgyNTk1LAorCTB4MjVhMCwgMHgyNWY3LAorCTB4MjYwMCwgMHgyNjEzLAorCTB4
MjYxOSwgMHgyNjcxLAorCTB4MjcwMSwgMHgyNzA0LAorCTB4MjcwNiwgMHgyNzA5LAorCTB4Mjcw
YywgMHgyNzI3LAorCTB4MjcyOSwgMHgyNzRiLAorCTB4Mjc0ZCwgMHgyNzRkLAorCTB4Mjc0Ziwg
MHgyNzUyLAorCTB4Mjc1NiwgMHgyNzU2LAorCTB4Mjc1OCwgMHgyNzVlLAorCTB4Mjc2MSwgMHgy
NzY3LAorCTB4Mjc3NiwgMHgyNzk0LAorCTB4Mjc5OCwgMHgyN2FmLAorCTB4MjdiMSwgMHgyN2Jl
LAorCTB4MjgwMCwgMHgyOGZmLAorCTB4MmU4MCwgMHgyZTk5LAorCTB4MmU5YiwgMHgyZWYzLAor
CTB4MmYwMCwgMHgyZmQ1LAorCTB4MmZmMCwgMHgyZmZiLAorCTB4MzAwMCwgMHgzMDNhLAorCTB4
MzAzZSwgMHgzMDNmLAorCTB4MzA0MSwgMHgzMDk0LAorCTB4MzA5OSwgMHgzMDllLAorCTB4MzBh
MSwgMHgzMGZlLAorCTB4MzEwNSwgMHgzMTJjLAorCTB4MzEzMSwgMHgzMThlLAorCTB4MzE5MCwg
MHgzMWI3LAorCTB4MzIwMCwgMHgzMjFjLAorCTB4MzIyMCwgMHgzMjQzLAorCTB4MzI2MCwgMHgz
MjdiLAorCTB4MzI3ZiwgMHgzMmIwLAorCTB4MzJjMCwgMHgzMmNiLAorCTB4MzJkMCwgMHgzMmZl
LAorCTB4MzMwMCwgMHgzMzc2LAorCTB4MzM3YiwgMHgzM2RkLAorCTB4MzNlMCwgMHgzM2ZlLAor
CTB4MzQwMCwgMHg0ZGI1LAorCTB4NGUwMCwgMHg5ZmE1LAorCTB4YTAwMCwgMHhhNDhjLAorCTB4
YTQ5MCwgMHhhNGExLAorCTB4YTRhNCwgMHhhNGIzLAorCTB4YTRiNSwgMHhhNGMwLAorCTB4YTRj
MiwgMHhhNGM0LAorCTB4YTRjNiwgMHhhNGM2LAorCTB4YWMwMCwgMHhkN2EzLAorCTB4ZDgwMCwg
MHhmYTJkLAorCTB4ZmIwMCwgMHhmYjA2LAorCTB4ZmIxMywgMHhmYjE3LAorCTB4ZmIxZCwgMHhm
YjM2LAorCTB4ZmIzOCwgMHhmYjNjLAorCTB4ZmIzZSwgMHhmYjNlLAorCTB4ZmI0MCwgMHhmYjQx
LAorCTB4ZmI0MywgMHhmYjQ0LAorCTB4ZmI0NiwgMHhmYmIxLAorCTB4ZmJkMywgMHhmZDNmLAor
CTB4ZmQ1MCwgMHhmZDhmLAorCTB4ZmQ5MiwgMHhmZGM3LAorCTB4ZmRkMCwgMHhmZGZiLAorCTB4
ZmUyMCwgMHhmZTIzLAorCTB4ZmUzMCwgMHhmZTQ0LAorCTB4ZmU0OSwgMHhmZTUyLAorCTB4ZmU1
NCwgMHhmZTY2LAorCTB4ZmU2OCwgMHhmZTZiLAorCTB4ZmU3MCwgMHhmZTcyLAorCTB4ZmU3NCwg
MHhmZTc0LAorCTB4ZmU3NiwgMHhmZWZjLAorCTB4ZmVmZiwgMHhmZWZmLAorCTB4ZmYwMSwgMHhm
ZjVlLAorCTB4ZmY2MSwgMHhmZmJlLAorCTB4ZmZjMiwgMHhmZmM3LAorCTB4ZmZjYSwgMHhmZmNm
LAorCTB4ZmZkMiwgMHhmZmQ3LAorCTB4ZmZkYSwgMHhmZmRjLAorCTB4ZmZlMCwgMHhmZmU2LAor
CTB4ZmZlOCwgMHhmZmVlLAorCTB4ZmZmOSwgMHhmZmZmLAorCTB4MTAzMDAsIDB4MTAzMWUsCisJ
MHgxMDMyMCwgMHgxMDMyMywKKwkweDEwMzMwLCAweDEwMzRhLAorCTB4MTA0MDAsIDB4MTA0MjUs
CisJMHgxMDQyOCwgMHgxMDQ0ZCwKKwkweDFkMDAwLCAweDFkMGY1LAorCTB4MWQxMDAsIDB4MWQx
MjYsCisJMHgxZDEyYSwgMHgxZDFkZCwKKwkweDFkNDAwLCAweDFkNDU0LAorCTB4MWQ0NTYsIDB4
MWQ0OWMsCisJMHgxZDQ5ZSwgMHgxZDQ5ZiwKKwkweDFkNGEyLCAweDFkNGEyLAorCTB4MWQ0YTUs
IDB4MWQ0YTYsCisJMHgxZDRhOSwgMHgxZDRhYywKKwkweDFkNGFlLCAweDFkNGI5LAorCTB4MWQ0
YmIsIDB4MWQ0YmIsCisJMHgxZDRiZCwgMHgxZDRjMCwKKwkweDFkNGMyLCAweDFkNGMzLAorCTB4
MWQ0YzUsIDB4MWQ1MDUsCisJMHgxZDUwNywgMHgxZDUwYSwKKwkweDFkNTBkLCAweDFkNTE0LAor
CTB4MWQ1MTYsIDB4MWQ1MWMsCisJMHgxZDUxZSwgMHgxZDUzOSwKKwkweDFkNTNiLCAweDFkNTNl
LAorCTB4MWQ1NDAsIDB4MWQ1NDQsCisJMHgxZDU0NiwgMHgxZDU0NiwKKwkweDFkNTRhLCAweDFk
NTUwLAorCTB4MWQ1NTIsIDB4MWQ2YTMsCisJMHgxZDZhOCwgMHgxZDdjOSwKKwkweDFkN2NlLCAw
eDFkN2ZmLAorCTB4MWZmZmUsIDB4MmE2ZDYsCisJMHgyZjgwMCwgMHgyZmExZCwKKwkweDJmZmZl
LCAweDJmZmZmLAorCTB4M2ZmZmUsIDB4M2ZmZmYsCisJMHg0ZmZmZSwgMHg0ZmZmZiwKKwkweDVm
ZmZlLCAweDVmZmZmLAorCTB4NmZmZmUsIDB4NmZmZmYsCisJMHg3ZmZmZSwgMHg3ZmZmZiwKKwkw
eDhmZmZlLCAweDhmZmZmLAorCTB4OWZmZmUsIDB4OWZmZmYsCisJMHhhZmZmZSwgMHhhZmZmZiwK
KwkweGJmZmZlLCAweGJmZmZmLAorCTB4Y2ZmZmUsIDB4Y2ZmZmYsCisJMHhkZmZmZSwgMHhkZmZm
ZiwKKwkweGUwMDAxLCAweGUwMDAxLAorCTB4ZTAwMjAsIDB4ZTAwN2YsCisJMHhlZmZmZSwgMHgx
MGZmZmYsCit9OyAvKiBDUl9BZ2VfM18xICovCisKKy8qICdBZ2VfM18yJzogRGVyaXZlZCBBZ2Ug
My4yICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9BZ2VfM18yW10gPSB7CisJMzk3
LAorCTB4MDAwMCwgMHgwMjIwLAorCTB4MDIyMiwgMHgwMjMzLAorCTB4MDI1MCwgMHgwMmFkLAor
CTB4MDJiMCwgMHgwMmVlLAorCTB4MDMwMCwgMHgwMzRmLAorCTB4MDM2MCwgMHgwMzZmLAorCTB4
MDM3NCwgMHgwMzc1LAorCTB4MDM3YSwgMHgwMzdhLAorCTB4MDM3ZSwgMHgwMzdlLAorCTB4MDM4
NCwgMHgwMzhhLAorCTB4MDM4YywgMHgwMzhjLAorCTB4MDM4ZSwgMHgwM2ExLAorCTB4MDNhMywg
MHgwM2NlLAorCTB4MDNkMCwgMHgwM2Y2LAorCTB4MDQwMCwgMHgwNDg2LAorCTB4MDQ4OCwgMHgw
NGNlLAorCTB4MDRkMCwgMHgwNGY1LAorCTB4MDRmOCwgMHgwNGY5LAorCTB4MDUwMCwgMHgwNTBm
LAorCTB4MDUzMSwgMHgwNTU2LAorCTB4MDU1OSwgMHgwNTVmLAorCTB4MDU2MSwgMHgwNTg3LAor
CTB4MDU4OSwgMHgwNThhLAorCTB4MDU5MSwgMHgwNWExLAorCTB4MDVhMywgMHgwNWI5LAorCTB4
MDViYiwgMHgwNWM0LAorCTB4MDVkMCwgMHgwNWVhLAorCTB4MDVmMCwgMHgwNWY0LAorCTB4MDYw
YywgMHgwNjBjLAorCTB4MDYxYiwgMHgwNjFiLAorCTB4MDYxZiwgMHgwNjFmLAorCTB4MDYyMSwg
MHgwNjNhLAorCTB4MDY0MCwgMHgwNjU1LAorCTB4MDY2MCwgMHgwNmVkLAorCTB4MDZmMCwgMHgw
NmZlLAorCTB4MDcwMCwgMHgwNzBkLAorCTB4MDcwZiwgMHgwNzJjLAorCTB4MDczMCwgMHgwNzRh
LAorCTB4MDc4MCwgMHgwN2IxLAorCTB4MDkwMSwgMHgwOTAzLAorCTB4MDkwNSwgMHgwOTM5LAor
CTB4MDkzYywgMHgwOTRkLAorCTB4MDk1MCwgMHgwOTU0LAorCTB4MDk1OCwgMHgwOTcwLAorCTB4
MDk4MSwgMHgwOTgzLAorCTB4MDk4NSwgMHgwOThjLAorCTB4MDk4ZiwgMHgwOTkwLAorCTB4MDk5
MywgMHgwOWE4LAorCTB4MDlhYSwgMHgwOWIwLAorCTB4MDliMiwgMHgwOWIyLAorCTB4MDliNiwg
MHgwOWI5LAorCTB4MDliYywgMHgwOWJjLAorCTB4MDliZSwgMHgwOWM0LAorCTB4MDljNywgMHgw
OWM4LAorCTB4MDljYiwgMHgwOWNkLAorCTB4MDlkNywgMHgwOWQ3LAorCTB4MDlkYywgMHgwOWRk
LAorCTB4MDlkZiwgMHgwOWUzLAorCTB4MDllNiwgMHgwOWZhLAorCTB4MGEwMiwgMHgwYTAyLAor
CTB4MGEwNSwgMHgwYTBhLAorCTB4MGEwZiwgMHgwYTEwLAorCTB4MGExMywgMHgwYTI4LAorCTB4
MGEyYSwgMHgwYTMwLAorCTB4MGEzMiwgMHgwYTMzLAorCTB4MGEzNSwgMHgwYTM2LAorCTB4MGEz
OCwgMHgwYTM5LAorCTB4MGEzYywgMHgwYTNjLAorCTB4MGEzZSwgMHgwYTQyLAorCTB4MGE0Nywg
MHgwYTQ4LAorCTB4MGE0YiwgMHgwYTRkLAorCTB4MGE1OSwgMHgwYTVjLAorCTB4MGE1ZSwgMHgw
YTVlLAorCTB4MGE2NiwgMHgwYTc0LAorCTB4MGE4MSwgMHgwYTgzLAorCTB4MGE4NSwgMHgwYThi
LAorCTB4MGE4ZCwgMHgwYThkLAorCTB4MGE4ZiwgMHgwYTkxLAorCTB4MGE5MywgMHgwYWE4LAor
CTB4MGFhYSwgMHgwYWIwLAorCTB4MGFiMiwgMHgwYWIzLAorCTB4MGFiNSwgMHgwYWI5LAorCTB4
MGFiYywgMHgwYWM1LAorCTB4MGFjNywgMHgwYWM5LAorCTB4MGFjYiwgMHgwYWNkLAorCTB4MGFk
MCwgMHgwYWQwLAorCTB4MGFlMCwgMHgwYWUwLAorCTB4MGFlNiwgMHgwYWVmLAorCTB4MGIwMSwg
MHgwYjAzLAorCTB4MGIwNSwgMHgwYjBjLAorCTB4MGIwZiwgMHgwYjEwLAorCTB4MGIxMywgMHgw
YjI4LAorCTB4MGIyYSwgMHgwYjMwLAorCTB4MGIzMiwgMHgwYjMzLAorCTB4MGIzNiwgMHgwYjM5
LAorCTB4MGIzYywgMHgwYjQzLAorCTB4MGI0NywgMHgwYjQ4LAorCTB4MGI0YiwgMHgwYjRkLAor
CTB4MGI1NiwgMHgwYjU3LAorCTB4MGI1YywgMHgwYjVkLAorCTB4MGI1ZiwgMHgwYjYxLAorCTB4
MGI2NiwgMHgwYjcwLAorCTB4MGI4MiwgMHgwYjgzLAorCTB4MGI4NSwgMHgwYjhhLAorCTB4MGI4
ZSwgMHgwYjkwLAorCTB4MGI5MiwgMHgwYjk1LAorCTB4MGI5OSwgMHgwYjlhLAorCTB4MGI5Yywg
MHgwYjljLAorCTB4MGI5ZSwgMHgwYjlmLAorCTB4MGJhMywgMHgwYmE0LAorCTB4MGJhOCwgMHgw
YmFhLAorCTB4MGJhZSwgMHgwYmI1LAorCTB4MGJiNywgMHgwYmI5LAorCTB4MGJiZSwgMHgwYmMy
LAorCTB4MGJjNiwgMHgwYmM4LAorCTB4MGJjYSwgMHgwYmNkLAorCTB4MGJkNywgMHgwYmQ3LAor
CTB4MGJlNywgMHgwYmYyLAorCTB4MGMwMSwgMHgwYzAzLAorCTB4MGMwNSwgMHgwYzBjLAorCTB4
MGMwZSwgMHgwYzEwLAorCTB4MGMxMiwgMHgwYzI4LAorCTB4MGMyYSwgMHgwYzMzLAorCTB4MGMz
NSwgMHgwYzM5LAorCTB4MGMzZSwgMHgwYzQ0LAorCTB4MGM0NiwgMHgwYzQ4LAorCTB4MGM0YSwg
MHgwYzRkLAorCTB4MGM1NSwgMHgwYzU2LAorCTB4MGM2MCwgMHgwYzYxLAorCTB4MGM2NiwgMHgw
YzZmLAorCTB4MGM4MiwgMHgwYzgzLAorCTB4MGM4NSwgMHgwYzhjLAorCTB4MGM4ZSwgMHgwYzkw
LAorCTB4MGM5MiwgMHgwY2E4LAorCTB4MGNhYSwgMHgwY2IzLAorCTB4MGNiNSwgMHgwY2I5LAor
CTB4MGNiZSwgMHgwY2M0LAorCTB4MGNjNiwgMHgwY2M4LAorCTB4MGNjYSwgMHgwY2NkLAorCTB4
MGNkNSwgMHgwY2Q2LAorCTB4MGNkZSwgMHgwY2RlLAorCTB4MGNlMCwgMHgwY2UxLAorCTB4MGNl
NiwgMHgwY2VmLAorCTB4MGQwMiwgMHgwZDAzLAorCTB4MGQwNSwgMHgwZDBjLAorCTB4MGQwZSwg
MHgwZDEwLAorCTB4MGQxMiwgMHgwZDI4LAorCTB4MGQyYSwgMHgwZDM5LAorCTB4MGQzZSwgMHgw
ZDQzLAorCTB4MGQ0NiwgMHgwZDQ4LAorCTB4MGQ0YSwgMHgwZDRkLAorCTB4MGQ1NywgMHgwZDU3
LAorCTB4MGQ2MCwgMHgwZDYxLAorCTB4MGQ2NiwgMHgwZDZmLAorCTB4MGQ4MiwgMHgwZDgzLAor
CTB4MGQ4NSwgMHgwZDk2LAorCTB4MGQ5YSwgMHgwZGIxLAorCTB4MGRiMywgMHgwZGJiLAorCTB4
MGRiZCwgMHgwZGJkLAorCTB4MGRjMCwgMHgwZGM2LAorCTB4MGRjYSwgMHgwZGNhLAorCTB4MGRj
ZiwgMHgwZGQ0LAorCTB4MGRkNiwgMHgwZGQ2LAorCTB4MGRkOCwgMHgwZGRmLAorCTB4MGRmMiwg
MHgwZGY0LAorCTB4MGUwMSwgMHgwZTNhLAorCTB4MGUzZiwgMHgwZTViLAorCTB4MGU4MSwgMHgw
ZTgyLAorCTB4MGU4NCwgMHgwZTg0LAorCTB4MGU4NywgMHgwZTg4LAorCTB4MGU4YSwgMHgwZThh
LAorCTB4MGU4ZCwgMHgwZThkLAorCTB4MGU5NCwgMHgwZTk3LAorCTB4MGU5OSwgMHgwZTlmLAor
CTB4MGVhMSwgMHgwZWEzLAorCTB4MGVhNSwgMHgwZWE1LAorCTB4MGVhNywgMHgwZWE3LAorCTB4
MGVhYSwgMHgwZWFiLAorCTB4MGVhZCwgMHgwZWI5LAorCTB4MGViYiwgMHgwZWJkLAorCTB4MGVj
MCwgMHgwZWM0LAorCTB4MGVjNiwgMHgwZWM2LAorCTB4MGVjOCwgMHgwZWNkLAorCTB4MGVkMCwg
MHgwZWQ5LAorCTB4MGVkYywgMHgwZWRkLAorCTB4MGYwMCwgMHgwZjQ3LAorCTB4MGY0OSwgMHgw
ZjZhLAorCTB4MGY3MSwgMHgwZjhiLAorCTB4MGY5MCwgMHgwZjk3LAorCTB4MGY5OSwgMHgwZmJj
LAorCTB4MGZiZSwgMHgwZmNjLAorCTB4MGZjZiwgMHgwZmNmLAorCTB4MTAwMCwgMHgxMDIxLAor
CTB4MTAyMywgMHgxMDI3LAorCTB4MTAyOSwgMHgxMDJhLAorCTB4MTAyYywgMHgxMDMyLAorCTB4
MTAzNiwgMHgxMDM5LAorCTB4MTA0MCwgMHgxMDU5LAorCTB4MTBhMCwgMHgxMGM1LAorCTB4MTBk
MCwgMHgxMGY4LAorCTB4MTBmYiwgMHgxMGZiLAorCTB4MTEwMCwgMHgxMTU5LAorCTB4MTE1Ziwg
MHgxMWEyLAorCTB4MTFhOCwgMHgxMWY5LAorCTB4MTIwMCwgMHgxMjA2LAorCTB4MTIwOCwgMHgx
MjQ2LAorCTB4MTI0OCwgMHgxMjQ4LAorCTB4MTI0YSwgMHgxMjRkLAorCTB4MTI1MCwgMHgxMjU2
LAorCTB4MTI1OCwgMHgxMjU4LAorCTB4MTI1YSwgMHgxMjVkLAorCTB4MTI2MCwgMHgxMjg2LAor
CTB4MTI4OCwgMHgxMjg4LAorCTB4MTI4YSwgMHgxMjhkLAorCTB4MTI5MCwgMHgxMmFlLAorCTB4
MTJiMCwgMHgxMmIwLAorCTB4MTJiMiwgMHgxMmI1LAorCTB4MTJiOCwgMHgxMmJlLAorCTB4MTJj
MCwgMHgxMmMwLAorCTB4MTJjMiwgMHgxMmM1LAorCTB4MTJjOCwgMHgxMmNlLAorCTB4MTJkMCwg
MHgxMmQ2LAorCTB4MTJkOCwgMHgxMmVlLAorCTB4MTJmMCwgMHgxMzBlLAorCTB4MTMxMCwgMHgx
MzEwLAorCTB4MTMxMiwgMHgxMzE1LAorCTB4MTMxOCwgMHgxMzFlLAorCTB4MTMyMCwgMHgxMzQ2
LAorCTB4MTM0OCwgMHgxMzVhLAorCTB4MTM2MSwgMHgxMzdjLAorCTB4MTNhMCwgMHgxM2Y0LAor
CTB4MTQwMSwgMHgxNjc2LAorCTB4MTY4MCwgMHgxNjljLAorCTB4MTZhMCwgMHgxNmYwLAorCTB4
MTcwMCwgMHgxNzBjLAorCTB4MTcwZSwgMHgxNzE0LAorCTB4MTcyMCwgMHgxNzM2LAorCTB4MTc0
MCwgMHgxNzUzLAorCTB4MTc2MCwgMHgxNzZjLAorCTB4MTc2ZSwgMHgxNzcwLAorCTB4MTc3Miwg
MHgxNzczLAorCTB4MTc4MCwgMHgxN2RjLAorCTB4MTdlMCwgMHgxN2U5LAorCTB4MTgwMCwgMHgx
ODBlLAorCTB4MTgxMCwgMHgxODE5LAorCTB4MTgyMCwgMHgxODc3LAorCTB4MTg4MCwgMHgxOGE5
LAorCTB4MWUwMCwgMHgxZTliLAorCTB4MWVhMCwgMHgxZWY5LAorCTB4MWYwMCwgMHgxZjE1LAor
CTB4MWYxOCwgMHgxZjFkLAorCTB4MWYyMCwgMHgxZjQ1LAorCTB4MWY0OCwgMHgxZjRkLAorCTB4
MWY1MCwgMHgxZjU3LAorCTB4MWY1OSwgMHgxZjU5LAorCTB4MWY1YiwgMHgxZjViLAorCTB4MWY1
ZCwgMHgxZjVkLAorCTB4MWY1ZiwgMHgxZjdkLAorCTB4MWY4MCwgMHgxZmI0LAorCTB4MWZiNiwg
MHgxZmM0LAorCTB4MWZjNiwgMHgxZmQzLAorCTB4MWZkNiwgMHgxZmRiLAorCTB4MWZkZCwgMHgx
ZmVmLAorCTB4MWZmMiwgMHgxZmY0LAorCTB4MWZmNiwgMHgxZmZlLAorCTB4MjAwMCwgMHgyMDUy
LAorCTB4MjA1NywgMHgyMDU3LAorCTB4MjA1ZiwgMHgyMDYzLAorCTB4MjA2YSwgMHgyMDcxLAor
CTB4MjA3NCwgMHgyMDhlLAorCTB4MjBhMCwgMHgyMGIxLAorCTB4MjBkMCwgMHgyMGVhLAorCTB4
MjEwMCwgMHgyMTNhLAorCTB4MjEzZCwgMHgyMTRiLAorCTB4MjE1MywgMHgyMTgzLAorCTB4MjE5
MCwgMHgyM2NlLAorCTB4MjQwMCwgMHgyNDI2LAorCTB4MjQ0MCwgMHgyNDRhLAorCTB4MjQ2MCwg
MHgyNGZlLAorCTB4MjUwMCwgMHgyNjEzLAorCTB4MjYxNiwgMHgyNjE3LAorCTB4MjYxOSwgMHgy
NjdkLAorCTB4MjY4MCwgMHgyNjg5LAorCTB4MjcwMSwgMHgyNzA0LAorCTB4MjcwNiwgMHgyNzA5
LAorCTB4MjcwYywgMHgyNzI3LAorCTB4MjcyOSwgMHgyNzRiLAorCTB4Mjc0ZCwgMHgyNzRkLAor
CTB4Mjc0ZiwgMHgyNzUyLAorCTB4Mjc1NiwgMHgyNzU2LAorCTB4Mjc1OCwgMHgyNzVlLAorCTB4
Mjc2MSwgMHgyNzk0LAorCTB4Mjc5OCwgMHgyN2FmLAorCTB4MjdiMSwgMHgyN2JlLAorCTB4Mjdk
MCwgMHgyN2ViLAorCTB4MjdmMCwgMHgyYWZmLAorCTB4MmU4MCwgMHgyZTk5LAorCTB4MmU5Yiwg
MHgyZWYzLAorCTB4MmYwMCwgMHgyZmQ1LAorCTB4MmZmMCwgMHgyZmZiLAorCTB4MzAwMCwgMHgz
MDNmLAorCTB4MzA0MSwgMHgzMDk2LAorCTB4MzA5OSwgMHgzMGZmLAorCTB4MzEwNSwgMHgzMTJj
LAorCTB4MzEzMSwgMHgzMThlLAorCTB4MzE5MCwgMHgzMWI3LAorCTB4MzFmMCwgMHgzMjFjLAor
CTB4MzIyMCwgMHgzMjQzLAorCTB4MzI1MSwgMHgzMjdiLAorCTB4MzI3ZiwgMHgzMmNiLAorCTB4
MzJkMCwgMHgzMmZlLAorCTB4MzMwMCwgMHgzMzc2LAorCTB4MzM3YiwgMHgzM2RkLAorCTB4MzNl
MCwgMHgzM2ZlLAorCTB4MzQwMCwgMHg0ZGI1LAorCTB4NGUwMCwgMHg5ZmE1LAorCTB4YTAwMCwg
MHhhNDhjLAorCTB4YTQ5MCwgMHhhNGM2LAorCTB4YWMwMCwgMHhkN2EzLAorCTB4ZDgwMCwgMHhm
YTJkLAorCTB4ZmEzMCwgMHhmYTZhLAorCTB4ZmIwMCwgMHhmYjA2LAorCTB4ZmIxMywgMHhmYjE3
LAorCTB4ZmIxZCwgMHhmYjM2LAorCTB4ZmIzOCwgMHhmYjNjLAorCTB4ZmIzZSwgMHhmYjNlLAor
CTB4ZmI0MCwgMHhmYjQxLAorCTB4ZmI0MywgMHhmYjQ0LAorCTB4ZmI0NiwgMHhmYmIxLAorCTB4
ZmJkMywgMHhmZDNmLAorCTB4ZmQ1MCwgMHhmZDhmLAorCTB4ZmQ5MiwgMHhmZGM3LAorCTB4ZmRk
MCwgMHhmZGZjLAorCTB4ZmUwMCwgMHhmZTBmLAorCTB4ZmUyMCwgMHhmZTIzLAorCTB4ZmUzMCwg
MHhmZTQ2LAorCTB4ZmU0OSwgMHhmZTUyLAorCTB4ZmU1NCwgMHhmZTY2LAorCTB4ZmU2OCwgMHhm
ZTZiLAorCTB4ZmU3MCwgMHhmZTc0LAorCTB4ZmU3NiwgMHhmZWZjLAorCTB4ZmVmZiwgMHhmZWZm
LAorCTB4ZmYwMSwgMHhmZmJlLAorCTB4ZmZjMiwgMHhmZmM3LAorCTB4ZmZjYSwgMHhmZmNmLAor
CTB4ZmZkMiwgMHhmZmQ3LAorCTB4ZmZkYSwgMHhmZmRjLAorCTB4ZmZlMCwgMHhmZmU2LAorCTB4
ZmZlOCwgMHhmZmVlLAorCTB4ZmZmOSwgMHhmZmZmLAorCTB4MTAzMDAsIDB4MTAzMWUsCisJMHgx
MDMyMCwgMHgxMDMyMywKKwkweDEwMzMwLCAweDEwMzRhLAorCTB4MTA0MDAsIDB4MTA0MjUsCisJ
MHgxMDQyOCwgMHgxMDQ0ZCwKKwkweDFkMDAwLCAweDFkMGY1LAorCTB4MWQxMDAsIDB4MWQxMjYs
CisJMHgxZDEyYSwgMHgxZDFkZCwKKwkweDFkNDAwLCAweDFkNDU0LAorCTB4MWQ0NTYsIDB4MWQ0
OWMsCisJMHgxZDQ5ZSwgMHgxZDQ5ZiwKKwkweDFkNGEyLCAweDFkNGEyLAorCTB4MWQ0YTUsIDB4
MWQ0YTYsCisJMHgxZDRhOSwgMHgxZDRhYywKKwkweDFkNGFlLCAweDFkNGI5LAorCTB4MWQ0YmIs
IDB4MWQ0YmIsCisJMHgxZDRiZCwgMHgxZDRjMCwKKwkweDFkNGMyLCAweDFkNGMzLAorCTB4MWQ0
YzUsIDB4MWQ1MDUsCisJMHgxZDUwNywgMHgxZDUwYSwKKwkweDFkNTBkLCAweDFkNTE0LAorCTB4
MWQ1MTYsIDB4MWQ1MWMsCisJMHgxZDUxZSwgMHgxZDUzOSwKKwkweDFkNTNiLCAweDFkNTNlLAor
CTB4MWQ1NDAsIDB4MWQ1NDQsCisJMHgxZDU0NiwgMHgxZDU0NiwKKwkweDFkNTRhLCAweDFkNTUw
LAorCTB4MWQ1NTIsIDB4MWQ2YTMsCisJMHgxZDZhOCwgMHgxZDdjOSwKKwkweDFkN2NlLCAweDFk
N2ZmLAorCTB4MWZmZmUsIDB4MmE2ZDYsCisJMHgyZjgwMCwgMHgyZmExZCwKKwkweDJmZmZlLCAw
eDJmZmZmLAorCTB4M2ZmZmUsIDB4M2ZmZmYsCisJMHg0ZmZmZSwgMHg0ZmZmZiwKKwkweDVmZmZl
LCAweDVmZmZmLAorCTB4NmZmZmUsIDB4NmZmZmYsCisJMHg3ZmZmZSwgMHg3ZmZmZiwKKwkweDhm
ZmZlLCAweDhmZmZmLAorCTB4OWZmZmUsIDB4OWZmZmYsCisJMHhhZmZmZSwgMHhhZmZmZiwKKwkw
eGJmZmZlLCAweGJmZmZmLAorCTB4Y2ZmZmUsIDB4Y2ZmZmYsCisJMHhkZmZmZSwgMHhkZmZmZiwK
KwkweGUwMDAxLCAweGUwMDAxLAorCTB4ZTAwMjAsIDB4ZTAwN2YsCisJMHhlZmZmZSwgMHgxMGZm
ZmYsCit9OyAvKiBDUl9BZ2VfM18yICovCisKKy8qICdBZ2VfNF8wJzogRGVyaXZlZCBBZ2UgNC4w
ICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9BZ2VfNF8wW10gPSB7CisJNDEyLAor
CTB4MDAwMCwgMHgwMjM2LAorCTB4MDI1MCwgMHgwMzU3LAorCTB4MDM1ZCwgMHgwMzZmLAorCTB4
MDM3NCwgMHgwMzc1LAorCTB4MDM3YSwgMHgwMzdhLAorCTB4MDM3ZSwgMHgwMzdlLAorCTB4MDM4
NCwgMHgwMzhhLAorCTB4MDM4YywgMHgwMzhjLAorCTB4MDM4ZSwgMHgwM2ExLAorCTB4MDNhMywg
MHgwM2NlLAorCTB4MDNkMCwgMHgwM2ZiLAorCTB4MDQwMCwgMHgwNDg2LAorCTB4MDQ4OCwgMHgw
NGNlLAorCTB4MDRkMCwgMHgwNGY1LAorCTB4MDRmOCwgMHgwNGY5LAorCTB4MDUwMCwgMHgwNTBm
LAorCTB4MDUzMSwgMHgwNTU2LAorCTB4MDU1OSwgMHgwNTVmLAorCTB4MDU2MSwgMHgwNTg3LAor
CTB4MDU4OSwgMHgwNThhLAorCTB4MDU5MSwgMHgwNWExLAorCTB4MDVhMywgMHgwNWI5LAorCTB4
MDViYiwgMHgwNWM0LAorCTB4MDVkMCwgMHgwNWVhLAorCTB4MDVmMCwgMHgwNWY0LAorCTB4MDYw
MCwgMHgwNjAzLAorCTB4MDYwYywgMHgwNjE1LAorCTB4MDYxYiwgMHgwNjFiLAorCTB4MDYxZiwg
MHgwNjFmLAorCTB4MDYyMSwgMHgwNjNhLAorCTB4MDY0MCwgMHgwNjU4LAorCTB4MDY2MCwgMHgw
NzBkLAorCTB4MDcwZiwgMHgwNzRhLAorCTB4MDc0ZCwgMHgwNzRmLAorCTB4MDc4MCwgMHgwN2Ix
LAorCTB4MDkwMSwgMHgwOTM5LAorCTB4MDkzYywgMHgwOTRkLAorCTB4MDk1MCwgMHgwOTU0LAor
CTB4MDk1OCwgMHgwOTcwLAorCTB4MDk4MSwgMHgwOTgzLAorCTB4MDk4NSwgMHgwOThjLAorCTB4
MDk4ZiwgMHgwOTkwLAorCTB4MDk5MywgMHgwOWE4LAorCTB4MDlhYSwgMHgwOWIwLAorCTB4MDli
MiwgMHgwOWIyLAorCTB4MDliNiwgMHgwOWI5LAorCTB4MDliYywgMHgwOWM0LAorCTB4MDljNywg
MHgwOWM4LAorCTB4MDljYiwgMHgwOWNkLAorCTB4MDlkNywgMHgwOWQ3LAorCTB4MDlkYywgMHgw
OWRkLAorCTB4MDlkZiwgMHgwOWUzLAorCTB4MDllNiwgMHgwOWZhLAorCTB4MGEwMSwgMHgwYTAz
LAorCTB4MGEwNSwgMHgwYTBhLAorCTB4MGEwZiwgMHgwYTEwLAorCTB4MGExMywgMHgwYTI4LAor
CTB4MGEyYSwgMHgwYTMwLAorCTB4MGEzMiwgMHgwYTMzLAorCTB4MGEzNSwgMHgwYTM2LAorCTB4
MGEzOCwgMHgwYTM5LAorCTB4MGEzYywgMHgwYTNjLAorCTB4MGEzZSwgMHgwYTQyLAorCTB4MGE0
NywgMHgwYTQ4LAorCTB4MGE0YiwgMHgwYTRkLAorCTB4MGE1OSwgMHgwYTVjLAorCTB4MGE1ZSwg
MHgwYTVlLAorCTB4MGE2NiwgMHgwYTc0LAorCTB4MGE4MSwgMHgwYTgzLAorCTB4MGE4NSwgMHgw
YThkLAorCTB4MGE4ZiwgMHgwYTkxLAorCTB4MGE5MywgMHgwYWE4LAorCTB4MGFhYSwgMHgwYWIw
LAorCTB4MGFiMiwgMHgwYWIzLAorCTB4MGFiNSwgMHgwYWI5LAorCTB4MGFiYywgMHgwYWM1LAor
CTB4MGFjNywgMHgwYWM5LAorCTB4MGFjYiwgMHgwYWNkLAorCTB4MGFkMCwgMHgwYWQwLAorCTB4
MGFlMCwgMHgwYWUzLAorCTB4MGFlNiwgMHgwYWVmLAorCTB4MGFmMSwgMHgwYWYxLAorCTB4MGIw
MSwgMHgwYjAzLAorCTB4MGIwNSwgMHgwYjBjLAorCTB4MGIwZiwgMHgwYjEwLAorCTB4MGIxMywg
MHgwYjI4LAorCTB4MGIyYSwgMHgwYjMwLAorCTB4MGIzMiwgMHgwYjMzLAorCTB4MGIzNSwgMHgw
YjM5LAorCTB4MGIzYywgMHgwYjQzLAorCTB4MGI0NywgMHgwYjQ4LAorCTB4MGI0YiwgMHgwYjRk
LAorCTB4MGI1NiwgMHgwYjU3LAorCTB4MGI1YywgMHgwYjVkLAorCTB4MGI1ZiwgMHgwYjYxLAor
CTB4MGI2NiwgMHgwYjcxLAorCTB4MGI4MiwgMHgwYjgzLAorCTB4MGI4NSwgMHgwYjhhLAorCTB4
MGI4ZSwgMHgwYjkwLAorCTB4MGI5MiwgMHgwYjk1LAorCTB4MGI5OSwgMHgwYjlhLAorCTB4MGI5
YywgMHgwYjljLAorCTB4MGI5ZSwgMHgwYjlmLAorCTB4MGJhMywgMHgwYmE0LAorCTB4MGJhOCwg
MHgwYmFhLAorCTB4MGJhZSwgMHgwYmI1LAorCTB4MGJiNywgMHgwYmI5LAorCTB4MGJiZSwgMHgw
YmMyLAorCTB4MGJjNiwgMHgwYmM4LAorCTB4MGJjYSwgMHgwYmNkLAorCTB4MGJkNywgMHgwYmQ3
LAorCTB4MGJlNywgMHgwYmZhLAorCTB4MGMwMSwgMHgwYzAzLAorCTB4MGMwNSwgMHgwYzBjLAor
CTB4MGMwZSwgMHgwYzEwLAorCTB4MGMxMiwgMHgwYzI4LAorCTB4MGMyYSwgMHgwYzMzLAorCTB4
MGMzNSwgMHgwYzM5LAorCTB4MGMzZSwgMHgwYzQ0LAorCTB4MGM0NiwgMHgwYzQ4LAorCTB4MGM0
YSwgMHgwYzRkLAorCTB4MGM1NSwgMHgwYzU2LAorCTB4MGM2MCwgMHgwYzYxLAorCTB4MGM2Niwg
MHgwYzZmLAorCTB4MGM4MiwgMHgwYzgzLAorCTB4MGM4NSwgMHgwYzhjLAorCTB4MGM4ZSwgMHgw
YzkwLAorCTB4MGM5MiwgMHgwY2E4LAorCTB4MGNhYSwgMHgwY2IzLAorCTB4MGNiNSwgMHgwY2I5
LAorCTB4MGNiYywgMHgwY2M0LAorCTB4MGNjNiwgMHgwY2M4LAorCTB4MGNjYSwgMHgwY2NkLAor
CTB4MGNkNSwgMHgwY2Q2LAorCTB4MGNkZSwgMHgwY2RlLAorCTB4MGNlMCwgMHgwY2UxLAorCTB4
MGNlNiwgMHgwY2VmLAorCTB4MGQwMiwgMHgwZDAzLAorCTB4MGQwNSwgMHgwZDBjLAorCTB4MGQw
ZSwgMHgwZDEwLAorCTB4MGQxMiwgMHgwZDI4LAorCTB4MGQyYSwgMHgwZDM5LAorCTB4MGQzZSwg
MHgwZDQzLAorCTB4MGQ0NiwgMHgwZDQ4LAorCTB4MGQ0YSwgMHgwZDRkLAorCTB4MGQ1NywgMHgw
ZDU3LAorCTB4MGQ2MCwgMHgwZDYxLAorCTB4MGQ2NiwgMHgwZDZmLAorCTB4MGQ4MiwgMHgwZDgz
LAorCTB4MGQ4NSwgMHgwZDk2LAorCTB4MGQ5YSwgMHgwZGIxLAorCTB4MGRiMywgMHgwZGJiLAor
CTB4MGRiZCwgMHgwZGJkLAorCTB4MGRjMCwgMHgwZGM2LAorCTB4MGRjYSwgMHgwZGNhLAorCTB4
MGRjZiwgMHgwZGQ0LAorCTB4MGRkNiwgMHgwZGQ2LAorCTB4MGRkOCwgMHgwZGRmLAorCTB4MGRm
MiwgMHgwZGY0LAorCTB4MGUwMSwgMHgwZTNhLAorCTB4MGUzZiwgMHgwZTViLAorCTB4MGU4MSwg
MHgwZTgyLAorCTB4MGU4NCwgMHgwZTg0LAorCTB4MGU4NywgMHgwZTg4LAorCTB4MGU4YSwgMHgw
ZThhLAorCTB4MGU4ZCwgMHgwZThkLAorCTB4MGU5NCwgMHgwZTk3LAorCTB4MGU5OSwgMHgwZTlm
LAorCTB4MGVhMSwgMHgwZWEzLAorCTB4MGVhNSwgMHgwZWE1LAorCTB4MGVhNywgMHgwZWE3LAor
CTB4MGVhYSwgMHgwZWFiLAorCTB4MGVhZCwgMHgwZWI5LAorCTB4MGViYiwgMHgwZWJkLAorCTB4
MGVjMCwgMHgwZWM0LAorCTB4MGVjNiwgMHgwZWM2LAorCTB4MGVjOCwgMHgwZWNkLAorCTB4MGVk
MCwgMHgwZWQ5LAorCTB4MGVkYywgMHgwZWRkLAorCTB4MGYwMCwgMHgwZjQ3LAorCTB4MGY0OSwg
MHgwZjZhLAorCTB4MGY3MSwgMHgwZjhiLAorCTB4MGY5MCwgMHgwZjk3LAorCTB4MGY5OSwgMHgw
ZmJjLAorCTB4MGZiZSwgMHgwZmNjLAorCTB4MGZjZiwgMHgwZmNmLAorCTB4MTAwMCwgMHgxMDIx
LAorCTB4MTAyMywgMHgxMDI3LAorCTB4MTAyOSwgMHgxMDJhLAorCTB4MTAyYywgMHgxMDMyLAor
CTB4MTAzNiwgMHgxMDM5LAorCTB4MTA0MCwgMHgxMDU5LAorCTB4MTBhMCwgMHgxMGM1LAorCTB4
MTBkMCwgMHgxMGY4LAorCTB4MTBmYiwgMHgxMGZiLAorCTB4MTEwMCwgMHgxMTU5LAorCTB4MTE1
ZiwgMHgxMWEyLAorCTB4MTFhOCwgMHgxMWY5LAorCTB4MTIwMCwgMHgxMjA2LAorCTB4MTIwOCwg
MHgxMjQ2LAorCTB4MTI0OCwgMHgxMjQ4LAorCTB4MTI0YSwgMHgxMjRkLAorCTB4MTI1MCwgMHgx
MjU2LAorCTB4MTI1OCwgMHgxMjU4LAorCTB4MTI1YSwgMHgxMjVkLAorCTB4MTI2MCwgMHgxMjg2
LAorCTB4MTI4OCwgMHgxMjg4LAorCTB4MTI4YSwgMHgxMjhkLAorCTB4MTI5MCwgMHgxMmFlLAor
CTB4MTJiMCwgMHgxMmIwLAorCTB4MTJiMiwgMHgxMmI1LAorCTB4MTJiOCwgMHgxMmJlLAorCTB4
MTJjMCwgMHgxMmMwLAorCTB4MTJjMiwgMHgxMmM1LAorCTB4MTJjOCwgMHgxMmNlLAorCTB4MTJk
MCwgMHgxMmQ2LAorCTB4MTJkOCwgMHgxMmVlLAorCTB4MTJmMCwgMHgxMzBlLAorCTB4MTMxMCwg
MHgxMzEwLAorCTB4MTMxMiwgMHgxMzE1LAorCTB4MTMxOCwgMHgxMzFlLAorCTB4MTMyMCwgMHgx
MzQ2LAorCTB4MTM0OCwgMHgxMzVhLAorCTB4MTM2MSwgMHgxMzdjLAorCTB4MTNhMCwgMHgxM2Y0
LAorCTB4MTQwMSwgMHgxNjc2LAorCTB4MTY4MCwgMHgxNjljLAorCTB4MTZhMCwgMHgxNmYwLAor
CTB4MTcwMCwgMHgxNzBjLAorCTB4MTcwZSwgMHgxNzE0LAorCTB4MTcyMCwgMHgxNzM2LAorCTB4
MTc0MCwgMHgxNzUzLAorCTB4MTc2MCwgMHgxNzZjLAorCTB4MTc2ZSwgMHgxNzcwLAorCTB4MTc3
MiwgMHgxNzczLAorCTB4MTc4MCwgMHgxN2RkLAorCTB4MTdlMCwgMHgxN2U5LAorCTB4MTdmMCwg
MHgxN2Y5LAorCTB4MTgwMCwgMHgxODBlLAorCTB4MTgxMCwgMHgxODE5LAorCTB4MTgyMCwgMHgx
ODc3LAorCTB4MTg4MCwgMHgxOGE5LAorCTB4MTkwMCwgMHgxOTFjLAorCTB4MTkyMCwgMHgxOTJi
LAorCTB4MTkzMCwgMHgxOTNiLAorCTB4MTk0MCwgMHgxOTQwLAorCTB4MTk0NCwgMHgxOTZkLAor
CTB4MTk3MCwgMHgxOTc0LAorCTB4MTllMCwgMHgxOWZmLAorCTB4MWQwMCwgMHgxZDZiLAorCTB4
MWUwMCwgMHgxZTliLAorCTB4MWVhMCwgMHgxZWY5LAorCTB4MWYwMCwgMHgxZjE1LAorCTB4MWYx
OCwgMHgxZjFkLAorCTB4MWYyMCwgMHgxZjQ1LAorCTB4MWY0OCwgMHgxZjRkLAorCTB4MWY1MCwg
MHgxZjU3LAorCTB4MWY1OSwgMHgxZjU5LAorCTB4MWY1YiwgMHgxZjViLAorCTB4MWY1ZCwgMHgx
ZjVkLAorCTB4MWY1ZiwgMHgxZjdkLAorCTB4MWY4MCwgMHgxZmI0LAorCTB4MWZiNiwgMHgxZmM0
LAorCTB4MWZjNiwgMHgxZmQzLAorCTB4MWZkNiwgMHgxZmRiLAorCTB4MWZkZCwgMHgxZmVmLAor
CTB4MWZmMiwgMHgxZmY0LAorCTB4MWZmNiwgMHgxZmZlLAorCTB4MjAwMCwgMHgyMDU0LAorCTB4
MjA1NywgMHgyMDU3LAorCTB4MjA1ZiwgMHgyMDYzLAorCTB4MjA2YSwgMHgyMDcxLAorCTB4MjA3
NCwgMHgyMDhlLAorCTB4MjBhMCwgMHgyMGIxLAorCTB4MjBkMCwgMHgyMGVhLAorCTB4MjEwMCwg
MHgyMTNiLAorCTB4MjEzZCwgMHgyMTRiLAorCTB4MjE1MywgMHgyMTgzLAorCTB4MjE5MCwgMHgy
M2QwLAorCTB4MjQwMCwgMHgyNDI2LAorCTB4MjQ0MCwgMHgyNDRhLAorCTB4MjQ2MCwgMHgyNjE3
LAorCTB4MjYxOSwgMHgyNjdkLAorCTB4MjY4MCwgMHgyNjkxLAorCTB4MjZhMCwgMHgyNmExLAor
CTB4MjcwMSwgMHgyNzA0LAorCTB4MjcwNiwgMHgyNzA5LAorCTB4MjcwYywgMHgyNzI3LAorCTB4
MjcyOSwgMHgyNzRiLAorCTB4Mjc0ZCwgMHgyNzRkLAorCTB4Mjc0ZiwgMHgyNzUyLAorCTB4Mjc1
NiwgMHgyNzU2LAorCTB4Mjc1OCwgMHgyNzVlLAorCTB4Mjc2MSwgMHgyNzk0LAorCTB4Mjc5OCwg
MHgyN2FmLAorCTB4MjdiMSwgMHgyN2JlLAorCTB4MjdkMCwgMHgyN2ViLAorCTB4MjdmMCwgMHgy
YjBkLAorCTB4MmU4MCwgMHgyZTk5LAorCTB4MmU5YiwgMHgyZWYzLAorCTB4MmYwMCwgMHgyZmQ1
LAorCTB4MmZmMCwgMHgyZmZiLAorCTB4MzAwMCwgMHgzMDNmLAorCTB4MzA0MSwgMHgzMDk2LAor
CTB4MzA5OSwgMHgzMGZmLAorCTB4MzEwNSwgMHgzMTJjLAorCTB4MzEzMSwgMHgzMThlLAorCTB4
MzE5MCwgMHgzMWI3LAorCTB4MzFmMCwgMHgzMjFlLAorCTB4MzIyMCwgMHgzMjQzLAorCTB4MzI1
MCwgMHgzMjdkLAorCTB4MzI3ZiwgMHgzMmZlLAorCTB4MzMwMCwgMHg0ZGI1LAorCTB4NGRjMCwg
MHg5ZmE1LAorCTB4YTAwMCwgMHhhNDhjLAorCTB4YTQ5MCwgMHhhNGM2LAorCTB4YWMwMCwgMHhk
N2EzLAorCTB4ZDgwMCwgMHhmYTJkLAorCTB4ZmEzMCwgMHhmYTZhLAorCTB4ZmIwMCwgMHhmYjA2
LAorCTB4ZmIxMywgMHhmYjE3LAorCTB4ZmIxZCwgMHhmYjM2LAorCTB4ZmIzOCwgMHhmYjNjLAor
CTB4ZmIzZSwgMHhmYjNlLAorCTB4ZmI0MCwgMHhmYjQxLAorCTB4ZmI0MywgMHhmYjQ0LAorCTB4
ZmI0NiwgMHhmYmIxLAorCTB4ZmJkMywgMHhmZDNmLAorCTB4ZmQ1MCwgMHhmZDhmLAorCTB4ZmQ5
MiwgMHhmZGM3LAorCTB4ZmRkMCwgMHhmZGZkLAorCTB4ZmUwMCwgMHhmZTBmLAorCTB4ZmUyMCwg
MHhmZTIzLAorCTB4ZmUzMCwgMHhmZTUyLAorCTB4ZmU1NCwgMHhmZTY2LAorCTB4ZmU2OCwgMHhm
ZTZiLAorCTB4ZmU3MCwgMHhmZTc0LAorCTB4ZmU3NiwgMHhmZWZjLAorCTB4ZmVmZiwgMHhmZWZm
LAorCTB4ZmYwMSwgMHhmZmJlLAorCTB4ZmZjMiwgMHhmZmM3LAorCTB4ZmZjYSwgMHhmZmNmLAor
CTB4ZmZkMiwgMHhmZmQ3LAorCTB4ZmZkYSwgMHhmZmRjLAorCTB4ZmZlMCwgMHhmZmU2LAorCTB4
ZmZlOCwgMHhmZmVlLAorCTB4ZmZmOSwgMHgxMDAwYiwKKwkweDEwMDBkLCAweDEwMDI2LAorCTB4
MTAwMjgsIDB4MTAwM2EsCisJMHgxMDAzYywgMHgxMDAzZCwKKwkweDEwMDNmLCAweDEwMDRkLAor
CTB4MTAwNTAsIDB4MTAwNWQsCisJMHgxMDA4MCwgMHgxMDBmYSwKKwkweDEwMTAwLCAweDEwMTAy
LAorCTB4MTAxMDcsIDB4MTAxMzMsCisJMHgxMDEzNywgMHgxMDEzZiwKKwkweDEwMzAwLCAweDEw
MzFlLAorCTB4MTAzMjAsIDB4MTAzMjMsCisJMHgxMDMzMCwgMHgxMDM0YSwKKwkweDEwMzgwLCAw
eDEwMzlkLAorCTB4MTAzOWYsIDB4MTAzOWYsCisJMHgxMDQwMCwgMHgxMDQ5ZCwKKwkweDEwNGEw
LCAweDEwNGE5LAorCTB4MTA4MDAsIDB4MTA4MDUsCisJMHgxMDgwOCwgMHgxMDgwOCwKKwkweDEw
ODBhLCAweDEwODM1LAorCTB4MTA4MzcsIDB4MTA4MzgsCisJMHgxMDgzYywgMHgxMDgzYywKKwkw
eDEwODNmLCAweDEwODNmLAorCTB4MWQwMDAsIDB4MWQwZjUsCisJMHgxZDEwMCwgMHgxZDEyNiwK
KwkweDFkMTJhLCAweDFkMWRkLAorCTB4MWQzMDAsIDB4MWQzNTYsCisJMHgxZDQwMCwgMHgxZDQ1
NCwKKwkweDFkNDU2LCAweDFkNDljLAorCTB4MWQ0OWUsIDB4MWQ0OWYsCisJMHgxZDRhMiwgMHgx
ZDRhMiwKKwkweDFkNGE1LCAweDFkNGE2LAorCTB4MWQ0YTksIDB4MWQ0YWMsCisJMHgxZDRhZSwg
MHgxZDRiOSwKKwkweDFkNGJiLCAweDFkNGJiLAorCTB4MWQ0YmQsIDB4MWQ0YzMsCisJMHgxZDRj
NSwgMHgxZDUwNSwKKwkweDFkNTA3LCAweDFkNTBhLAorCTB4MWQ1MGQsIDB4MWQ1MTQsCisJMHgx
ZDUxNiwgMHgxZDUxYywKKwkweDFkNTFlLCAweDFkNTM5LAorCTB4MWQ1M2IsIDB4MWQ1M2UsCisJ
MHgxZDU0MCwgMHgxZDU0NCwKKwkweDFkNTQ2LCAweDFkNTQ2LAorCTB4MWQ1NGEsIDB4MWQ1NTAs
CisJMHgxZDU1MiwgMHgxZDZhMywKKwkweDFkNmE4LCAweDFkN2M5LAorCTB4MWQ3Y2UsIDB4MWQ3
ZmYsCisJMHgxZmZmZSwgMHgyYTZkNiwKKwkweDJmODAwLCAweDJmYTFkLAorCTB4MmZmZmUsIDB4
MmZmZmYsCisJMHgzZmZmZSwgMHgzZmZmZiwKKwkweDRmZmZlLCAweDRmZmZmLAorCTB4NWZmZmUs
IDB4NWZmZmYsCisJMHg2ZmZmZSwgMHg2ZmZmZiwKKwkweDdmZmZlLCAweDdmZmZmLAorCTB4OGZm
ZmUsIDB4OGZmZmYsCisJMHg5ZmZmZSwgMHg5ZmZmZiwKKwkweGFmZmZlLCAweGFmZmZmLAorCTB4
YmZmZmUsIDB4YmZmZmYsCisJMHhjZmZmZSwgMHhjZmZmZiwKKwkweGRmZmZlLCAweGRmZmZmLAor
CTB4ZTAwMDEsIDB4ZTAwMDEsCisJMHhlMDAyMCwgMHhlMDA3ZiwKKwkweGUwMTAwLCAweGUwMWVm
LAorCTB4ZWZmZmUsIDB4MTBmZmZmLAorfTsgLyogQ1JfQWdlXzRfMCAqLworCisvKiAnQWdlXzRf
MSc6IERlcml2ZWQgQWdlIDQuMSAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfQWdl
XzRfMVtdID0geworCTQzMCwKKwkweDAwMDAsIDB4MDI0MSwKKwkweDAyNTAsIDB4MDM2ZiwKKwkw
eDAzNzQsIDB4MDM3NSwKKwkweDAzN2EsIDB4MDM3YSwKKwkweDAzN2UsIDB4MDM3ZSwKKwkweDAz
ODQsIDB4MDM4YSwKKwkweDAzOGMsIDB4MDM4YywKKwkweDAzOGUsIDB4MDNhMSwKKwkweDAzYTMs
IDB4MDNjZSwKKwkweDAzZDAsIDB4MDQ4NiwKKwkweDA0ODgsIDB4MDRjZSwKKwkweDA0ZDAsIDB4
MDRmOSwKKwkweDA1MDAsIDB4MDUwZiwKKwkweDA1MzEsIDB4MDU1NiwKKwkweDA1NTksIDB4MDU1
ZiwKKwkweDA1NjEsIDB4MDU4NywKKwkweDA1ODksIDB4MDU4YSwKKwkweDA1OTEsIDB4MDViOSwK
KwkweDA1YmIsIDB4MDVjNywKKwkweDA1ZDAsIDB4MDVlYSwKKwkweDA1ZjAsIDB4MDVmNCwKKwkw
eDA2MDAsIDB4MDYwMywKKwkweDA2MGIsIDB4MDYxNSwKKwkweDA2MWIsIDB4MDYxYiwKKwkweDA2
MWUsIDB4MDYxZiwKKwkweDA2MjEsIDB4MDYzYSwKKwkweDA2NDAsIDB4MDY1ZSwKKwkweDA2NjAs
IDB4MDcwZCwKKwkweDA3MGYsIDB4MDc0YSwKKwkweDA3NGQsIDB4MDc2ZCwKKwkweDA3ODAsIDB4
MDdiMSwKKwkweDA5MDEsIDB4MDkzOSwKKwkweDA5M2MsIDB4MDk0ZCwKKwkweDA5NTAsIDB4MDk1
NCwKKwkweDA5NTgsIDB4MDk3MCwKKwkweDA5N2QsIDB4MDk3ZCwKKwkweDA5ODEsIDB4MDk4MywK
KwkweDA5ODUsIDB4MDk4YywKKwkweDA5OGYsIDB4MDk5MCwKKwkweDA5OTMsIDB4MDlhOCwKKwkw
eDA5YWEsIDB4MDliMCwKKwkweDA5YjIsIDB4MDliMiwKKwkweDA5YjYsIDB4MDliOSwKKwkweDA5
YmMsIDB4MDljNCwKKwkweDA5YzcsIDB4MDljOCwKKwkweDA5Y2IsIDB4MDljZSwKKwkweDA5ZDcs
IDB4MDlkNywKKwkweDA5ZGMsIDB4MDlkZCwKKwkweDA5ZGYsIDB4MDllMywKKwkweDA5ZTYsIDB4
MDlmYSwKKwkweDBhMDEsIDB4MGEwMywKKwkweDBhMDUsIDB4MGEwYSwKKwkweDBhMGYsIDB4MGEx
MCwKKwkweDBhMTMsIDB4MGEyOCwKKwkweDBhMmEsIDB4MGEzMCwKKwkweDBhMzIsIDB4MGEzMywK
KwkweDBhMzUsIDB4MGEzNiwKKwkweDBhMzgsIDB4MGEzOSwKKwkweDBhM2MsIDB4MGEzYywKKwkw
eDBhM2UsIDB4MGE0MiwKKwkweDBhNDcsIDB4MGE0OCwKKwkweDBhNGIsIDB4MGE0ZCwKKwkweDBh
NTksIDB4MGE1YywKKwkweDBhNWUsIDB4MGE1ZSwKKwkweDBhNjYsIDB4MGE3NCwKKwkweDBhODEs
IDB4MGE4MywKKwkweDBhODUsIDB4MGE4ZCwKKwkweDBhOGYsIDB4MGE5MSwKKwkweDBhOTMsIDB4
MGFhOCwKKwkweDBhYWEsIDB4MGFiMCwKKwkweDBhYjIsIDB4MGFiMywKKwkweDBhYjUsIDB4MGFi
OSwKKwkweDBhYmMsIDB4MGFjNSwKKwkweDBhYzcsIDB4MGFjOSwKKwkweDBhY2IsIDB4MGFjZCwK
KwkweDBhZDAsIDB4MGFkMCwKKwkweDBhZTAsIDB4MGFlMywKKwkweDBhZTYsIDB4MGFlZiwKKwkw
eDBhZjEsIDB4MGFmMSwKKwkweDBiMDEsIDB4MGIwMywKKwkweDBiMDUsIDB4MGIwYywKKwkweDBi
MGYsIDB4MGIxMCwKKwkweDBiMTMsIDB4MGIyOCwKKwkweDBiMmEsIDB4MGIzMCwKKwkweDBiMzIs
IDB4MGIzMywKKwkweDBiMzUsIDB4MGIzOSwKKwkweDBiM2MsIDB4MGI0MywKKwkweDBiNDcsIDB4
MGI0OCwKKwkweDBiNGIsIDB4MGI0ZCwKKwkweDBiNTYsIDB4MGI1NywKKwkweDBiNWMsIDB4MGI1
ZCwKKwkweDBiNWYsIDB4MGI2MSwKKwkweDBiNjYsIDB4MGI3MSwKKwkweDBiODIsIDB4MGI4MywK
KwkweDBiODUsIDB4MGI4YSwKKwkweDBiOGUsIDB4MGI5MCwKKwkweDBiOTIsIDB4MGI5NSwKKwkw
eDBiOTksIDB4MGI5YSwKKwkweDBiOWMsIDB4MGI5YywKKwkweDBiOWUsIDB4MGI5ZiwKKwkweDBi
YTMsIDB4MGJhNCwKKwkweDBiYTgsIDB4MGJhYSwKKwkweDBiYWUsIDB4MGJiOSwKKwkweDBiYmUs
IDB4MGJjMiwKKwkweDBiYzYsIDB4MGJjOCwKKwkweDBiY2EsIDB4MGJjZCwKKwkweDBiZDcsIDB4
MGJkNywKKwkweDBiZTYsIDB4MGJmYSwKKwkweDBjMDEsIDB4MGMwMywKKwkweDBjMDUsIDB4MGMw
YywKKwkweDBjMGUsIDB4MGMxMCwKKwkweDBjMTIsIDB4MGMyOCwKKwkweDBjMmEsIDB4MGMzMywK
KwkweDBjMzUsIDB4MGMzOSwKKwkweDBjM2UsIDB4MGM0NCwKKwkweDBjNDYsIDB4MGM0OCwKKwkw
eDBjNGEsIDB4MGM0ZCwKKwkweDBjNTUsIDB4MGM1NiwKKwkweDBjNjAsIDB4MGM2MSwKKwkweDBj
NjYsIDB4MGM2ZiwKKwkweDBjODIsIDB4MGM4MywKKwkweDBjODUsIDB4MGM4YywKKwkweDBjOGUs
IDB4MGM5MCwKKwkweDBjOTIsIDB4MGNhOCwKKwkweDBjYWEsIDB4MGNiMywKKwkweDBjYjUsIDB4
MGNiOSwKKwkweDBjYmMsIDB4MGNjNCwKKwkweDBjYzYsIDB4MGNjOCwKKwkweDBjY2EsIDB4MGNj
ZCwKKwkweDBjZDUsIDB4MGNkNiwKKwkweDBjZGUsIDB4MGNkZSwKKwkweDBjZTAsIDB4MGNlMSwK
KwkweDBjZTYsIDB4MGNlZiwKKwkweDBkMDIsIDB4MGQwMywKKwkweDBkMDUsIDB4MGQwYywKKwkw
eDBkMGUsIDB4MGQxMCwKKwkweDBkMTIsIDB4MGQyOCwKKwkweDBkMmEsIDB4MGQzOSwKKwkweDBk
M2UsIDB4MGQ0MywKKwkweDBkNDYsIDB4MGQ0OCwKKwkweDBkNGEsIDB4MGQ0ZCwKKwkweDBkNTcs
IDB4MGQ1NywKKwkweDBkNjAsIDB4MGQ2MSwKKwkweDBkNjYsIDB4MGQ2ZiwKKwkweDBkODIsIDB4
MGQ4MywKKwkweDBkODUsIDB4MGQ5NiwKKwkweDBkOWEsIDB4MGRiMSwKKwkweDBkYjMsIDB4MGRi
YiwKKwkweDBkYmQsIDB4MGRiZCwKKwkweDBkYzAsIDB4MGRjNiwKKwkweDBkY2EsIDB4MGRjYSwK
KwkweDBkY2YsIDB4MGRkNCwKKwkweDBkZDYsIDB4MGRkNiwKKwkweDBkZDgsIDB4MGRkZiwKKwkw
eDBkZjIsIDB4MGRmNCwKKwkweDBlMDEsIDB4MGUzYSwKKwkweDBlM2YsIDB4MGU1YiwKKwkweDBl
ODEsIDB4MGU4MiwKKwkweDBlODQsIDB4MGU4NCwKKwkweDBlODcsIDB4MGU4OCwKKwkweDBlOGEs
IDB4MGU4YSwKKwkweDBlOGQsIDB4MGU4ZCwKKwkweDBlOTQsIDB4MGU5NywKKwkweDBlOTksIDB4
MGU5ZiwKKwkweDBlYTEsIDB4MGVhMywKKwkweDBlYTUsIDB4MGVhNSwKKwkweDBlYTcsIDB4MGVh
NywKKwkweDBlYWEsIDB4MGVhYiwKKwkweDBlYWQsIDB4MGViOSwKKwkweDBlYmIsIDB4MGViZCwK
KwkweDBlYzAsIDB4MGVjNCwKKwkweDBlYzYsIDB4MGVjNiwKKwkweDBlYzgsIDB4MGVjZCwKKwkw
eDBlZDAsIDB4MGVkOSwKKwkweDBlZGMsIDB4MGVkZCwKKwkweDBmMDAsIDB4MGY0NywKKwkweDBm
NDksIDB4MGY2YSwKKwkweDBmNzEsIDB4MGY4YiwKKwkweDBmOTAsIDB4MGY5NywKKwkweDBmOTks
IDB4MGZiYywKKwkweDBmYmUsIDB4MGZjYywKKwkweDBmY2YsIDB4MGZkMSwKKwkweDEwMDAsIDB4
MTAyMSwKKwkweDEwMjMsIDB4MTAyNywKKwkweDEwMjksIDB4MTAyYSwKKwkweDEwMmMsIDB4MTAz
MiwKKwkweDEwMzYsIDB4MTAzOSwKKwkweDEwNDAsIDB4MTA1OSwKKwkweDEwYTAsIDB4MTBjNSwK
KwkweDEwZDAsIDB4MTBmYywKKwkweDExMDAsIDB4MTE1OSwKKwkweDExNWYsIDB4MTFhMiwKKwkw
eDExYTgsIDB4MTFmOSwKKwkweDEyMDAsIDB4MTI0OCwKKwkweDEyNGEsIDB4MTI0ZCwKKwkweDEy
NTAsIDB4MTI1NiwKKwkweDEyNTgsIDB4MTI1OCwKKwkweDEyNWEsIDB4MTI1ZCwKKwkweDEyNjAs
IDB4MTI4OCwKKwkweDEyOGEsIDB4MTI4ZCwKKwkweDEyOTAsIDB4MTJiMCwKKwkweDEyYjIsIDB4
MTJiNSwKKwkweDEyYjgsIDB4MTJiZSwKKwkweDEyYzAsIDB4MTJjMCwKKwkweDEyYzIsIDB4MTJj
NSwKKwkweDEyYzgsIDB4MTJkNiwKKwkweDEyZDgsIDB4MTMxMCwKKwkweDEzMTIsIDB4MTMxNSwK
KwkweDEzMTgsIDB4MTM1YSwKKwkweDEzNWYsIDB4MTM3YywKKwkweDEzODAsIDB4MTM5OSwKKwkw
eDEzYTAsIDB4MTNmNCwKKwkweDE0MDEsIDB4MTY3NiwKKwkweDE2ODAsIDB4MTY5YywKKwkweDE2
YTAsIDB4MTZmMCwKKwkweDE3MDAsIDB4MTcwYywKKwkweDE3MGUsIDB4MTcxNCwKKwkweDE3MjAs
IDB4MTczNiwKKwkweDE3NDAsIDB4MTc1MywKKwkweDE3NjAsIDB4MTc2YywKKwkweDE3NmUsIDB4
MTc3MCwKKwkweDE3NzIsIDB4MTc3MywKKwkweDE3ODAsIDB4MTdkZCwKKwkweDE3ZTAsIDB4MTdl
OSwKKwkweDE3ZjAsIDB4MTdmOSwKKwkweDE4MDAsIDB4MTgwZSwKKwkweDE4MTAsIDB4MTgxOSwK
KwkweDE4MjAsIDB4MTg3NywKKwkweDE4ODAsIDB4MThhOSwKKwkweDE5MDAsIDB4MTkxYywKKwkw
eDE5MjAsIDB4MTkyYiwKKwkweDE5MzAsIDB4MTkzYiwKKwkweDE5NDAsIDB4MTk0MCwKKwkweDE5
NDQsIDB4MTk2ZCwKKwkweDE5NzAsIDB4MTk3NCwKKwkweDE5ODAsIDB4MTlhOSwKKwkweDE5YjAs
IDB4MTljOSwKKwkweDE5ZDAsIDB4MTlkOSwKKwkweDE5ZGUsIDB4MWExYiwKKwkweDFhMWUsIDB4
MWExZiwKKwkweDFkMDAsIDB4MWRjMywKKwkweDFlMDAsIDB4MWU5YiwKKwkweDFlYTAsIDB4MWVm
OSwKKwkweDFmMDAsIDB4MWYxNSwKKwkweDFmMTgsIDB4MWYxZCwKKwkweDFmMjAsIDB4MWY0NSwK
KwkweDFmNDgsIDB4MWY0ZCwKKwkweDFmNTAsIDB4MWY1NywKKwkweDFmNTksIDB4MWY1OSwKKwkw
eDFmNWIsIDB4MWY1YiwKKwkweDFmNWQsIDB4MWY1ZCwKKwkweDFmNWYsIDB4MWY3ZCwKKwkweDFm
ODAsIDB4MWZiNCwKKwkweDFmYjYsIDB4MWZjNCwKKwkweDFmYzYsIDB4MWZkMywKKwkweDFmZDYs
IDB4MWZkYiwKKwkweDFmZGQsIDB4MWZlZiwKKwkweDFmZjIsIDB4MWZmNCwKKwkweDFmZjYsIDB4
MWZmZSwKKwkweDIwMDAsIDB4MjA2MywKKwkweDIwNmEsIDB4MjA3MSwKKwkweDIwNzQsIDB4MjA4
ZSwKKwkweDIwOTAsIDB4MjA5NCwKKwkweDIwYTAsIDB4MjBiNSwKKwkweDIwZDAsIDB4MjBlYiwK
KwkweDIxMDAsIDB4MjE0YywKKwkweDIxNTMsIDB4MjE4MywKKwkweDIxOTAsIDB4MjNkYiwKKwkw
eDI0MDAsIDB4MjQyNiwKKwkweDI0NDAsIDB4MjQ0YSwKKwkweDI0NjAsIDB4MjY5YywKKwkweDI2
YTAsIDB4MjZiMSwKKwkweDI3MDEsIDB4MjcwNCwKKwkweDI3MDYsIDB4MjcwOSwKKwkweDI3MGMs
IDB4MjcyNywKKwkweDI3MjksIDB4Mjc0YiwKKwkweDI3NGQsIDB4Mjc0ZCwKKwkweDI3NGYsIDB4
Mjc1MiwKKwkweDI3NTYsIDB4Mjc1NiwKKwkweDI3NTgsIDB4Mjc1ZSwKKwkweDI3NjEsIDB4Mjc5
NCwKKwkweDI3OTgsIDB4MjdhZiwKKwkweDI3YjEsIDB4MjdiZSwKKwkweDI3YzAsIDB4MjdjNiwK
KwkweDI3ZDAsIDB4MjdlYiwKKwkweDI3ZjAsIDB4MmIxMywKKwkweDJjMDAsIDB4MmMyZSwKKwkw
eDJjMzAsIDB4MmM1ZSwKKwkweDJjODAsIDB4MmNlYSwKKwkweDJjZjksIDB4MmQyNSwKKwkweDJk
MzAsIDB4MmQ2NSwKKwkweDJkNmYsIDB4MmQ2ZiwKKwkweDJkODAsIDB4MmQ5NiwKKwkweDJkYTAs
IDB4MmRhNiwKKwkweDJkYTgsIDB4MmRhZSwKKwkweDJkYjAsIDB4MmRiNiwKKwkweDJkYjgsIDB4
MmRiZSwKKwkweDJkYzAsIDB4MmRjNiwKKwkweDJkYzgsIDB4MmRjZSwKKwkweDJkZDAsIDB4MmRk
NiwKKwkweDJkZDgsIDB4MmRkZSwKKwkweDJlMDAsIDB4MmUxNywKKwkweDJlMWMsIDB4MmUxZCwK
KwkweDJlODAsIDB4MmU5OSwKKwkweDJlOWIsIDB4MmVmMywKKwkweDJmMDAsIDB4MmZkNSwKKwkw
eDJmZjAsIDB4MmZmYiwKKwkweDMwMDAsIDB4MzAzZiwKKwkweDMwNDEsIDB4MzA5NiwKKwkweDMw
OTksIDB4MzBmZiwKKwkweDMxMDUsIDB4MzEyYywKKwkweDMxMzEsIDB4MzE4ZSwKKwkweDMxOTAs
IDB4MzFiNywKKwkweDMxYzAsIDB4MzFjZiwKKwkweDMxZjAsIDB4MzIxZSwKKwkweDMyMjAsIDB4
MzI0MywKKwkweDMyNTAsIDB4MzJmZSwKKwkweDMzMDAsIDB4NGRiNSwKKwkweDRkYzAsIDB4OWZi
YiwKKwkweGEwMDAsIDB4YTQ4YywKKwkweGE0OTAsIDB4YTRjNiwKKwkweGE3MDAsIDB4YTcxNiwK
KwkweGE4MDAsIDB4YTgyYiwKKwkweGFjMDAsIDB4ZDdhMywKKwkweGQ4MDAsIDB4ZmEyZCwKKwkw
eGZhMzAsIDB4ZmE2YSwKKwkweGZhNzAsIDB4ZmFkOSwKKwkweGZiMDAsIDB4ZmIwNiwKKwkweGZi
MTMsIDB4ZmIxNywKKwkweGZiMWQsIDB4ZmIzNiwKKwkweGZiMzgsIDB4ZmIzYywKKwkweGZiM2Us
IDB4ZmIzZSwKKwkweGZiNDAsIDB4ZmI0MSwKKwkweGZiNDMsIDB4ZmI0NCwKKwkweGZiNDYsIDB4
ZmJiMSwKKwkweGZiZDMsIDB4ZmQzZiwKKwkweGZkNTAsIDB4ZmQ4ZiwKKwkweGZkOTIsIDB4ZmRj
NywKKwkweGZkZDAsIDB4ZmRmZCwKKwkweGZlMDAsIDB4ZmUxOSwKKwkweGZlMjAsIDB4ZmUyMywK
KwkweGZlMzAsIDB4ZmU1MiwKKwkweGZlNTQsIDB4ZmU2NiwKKwkweGZlNjgsIDB4ZmU2YiwKKwkw
eGZlNzAsIDB4ZmU3NCwKKwkweGZlNzYsIDB4ZmVmYywKKwkweGZlZmYsIDB4ZmVmZiwKKwkweGZm
MDEsIDB4ZmZiZSwKKwkweGZmYzIsIDB4ZmZjNywKKwkweGZmY2EsIDB4ZmZjZiwKKwkweGZmZDIs
IDB4ZmZkNywKKwkweGZmZGEsIDB4ZmZkYywKKwkweGZmZTAsIDB4ZmZlNiwKKwkweGZmZTgsIDB4
ZmZlZSwKKwkweGZmZjksIDB4MTAwMGIsCisJMHgxMDAwZCwgMHgxMDAyNiwKKwkweDEwMDI4LCAw
eDEwMDNhLAorCTB4MTAwM2MsIDB4MTAwM2QsCisJMHgxMDAzZiwgMHgxMDA0ZCwKKwkweDEwMDUw
LCAweDEwMDVkLAorCTB4MTAwODAsIDB4MTAwZmEsCisJMHgxMDEwMCwgMHgxMDEwMiwKKwkweDEw
MTA3LCAweDEwMTMzLAorCTB4MTAxMzcsIDB4MTAxOGEsCisJMHgxMDMwMCwgMHgxMDMxZSwKKwkw
eDEwMzIwLCAweDEwMzIzLAorCTB4MTAzMzAsIDB4MTAzNGEsCisJMHgxMDM4MCwgMHgxMDM5ZCwK
KwkweDEwMzlmLCAweDEwM2MzLAorCTB4MTAzYzgsIDB4MTAzZDUsCisJMHgxMDQwMCwgMHgxMDQ5
ZCwKKwkweDEwNGEwLCAweDEwNGE5LAorCTB4MTA4MDAsIDB4MTA4MDUsCisJMHgxMDgwOCwgMHgx
MDgwOCwKKwkweDEwODBhLCAweDEwODM1LAorCTB4MTA4MzcsIDB4MTA4MzgsCisJMHgxMDgzYywg
MHgxMDgzYywKKwkweDEwODNmLCAweDEwODNmLAorCTB4MTBhMDAsIDB4MTBhMDMsCisJMHgxMGEw
NSwgMHgxMGEwNiwKKwkweDEwYTBjLCAweDEwYTEzLAorCTB4MTBhMTUsIDB4MTBhMTcsCisJMHgx
MGExOSwgMHgxMGEzMywKKwkweDEwYTM4LCAweDEwYTNhLAorCTB4MTBhM2YsIDB4MTBhNDcsCisJ
MHgxMGE1MCwgMHgxMGE1OCwKKwkweDFkMDAwLCAweDFkMGY1LAorCTB4MWQxMDAsIDB4MWQxMjYs
CisJMHgxZDEyYSwgMHgxZDFkZCwKKwkweDFkMjAwLCAweDFkMjQ1LAorCTB4MWQzMDAsIDB4MWQz
NTYsCisJMHgxZDQwMCwgMHgxZDQ1NCwKKwkweDFkNDU2LCAweDFkNDljLAorCTB4MWQ0OWUsIDB4
MWQ0OWYsCisJMHgxZDRhMiwgMHgxZDRhMiwKKwkweDFkNGE1LCAweDFkNGE2LAorCTB4MWQ0YTks
IDB4MWQ0YWMsCisJMHgxZDRhZSwgMHgxZDRiOSwKKwkweDFkNGJiLCAweDFkNGJiLAorCTB4MWQ0
YmQsIDB4MWQ0YzMsCisJMHgxZDRjNSwgMHgxZDUwNSwKKwkweDFkNTA3LCAweDFkNTBhLAorCTB4
MWQ1MGQsIDB4MWQ1MTQsCisJMHgxZDUxNiwgMHgxZDUxYywKKwkweDFkNTFlLCAweDFkNTM5LAor
CTB4MWQ1M2IsIDB4MWQ1M2UsCisJMHgxZDU0MCwgMHgxZDU0NCwKKwkweDFkNTQ2LCAweDFkNTQ2
LAorCTB4MWQ1NGEsIDB4MWQ1NTAsCisJMHgxZDU1MiwgMHgxZDZhNSwKKwkweDFkNmE4LCAweDFk
N2M5LAorCTB4MWQ3Y2UsIDB4MWQ3ZmYsCisJMHgxZmZmZSwgMHgyYTZkNiwKKwkweDJmODAwLCAw
eDJmYTFkLAorCTB4MmZmZmUsIDB4MmZmZmYsCisJMHgzZmZmZSwgMHgzZmZmZiwKKwkweDRmZmZl
LCAweDRmZmZmLAorCTB4NWZmZmUsIDB4NWZmZmYsCisJMHg2ZmZmZSwgMHg2ZmZmZiwKKwkweDdm
ZmZlLCAweDdmZmZmLAorCTB4OGZmZmUsIDB4OGZmZmYsCisJMHg5ZmZmZSwgMHg5ZmZmZiwKKwkw
eGFmZmZlLCAweGFmZmZmLAorCTB4YmZmZmUsIDB4YmZmZmYsCisJMHhjZmZmZSwgMHhjZmZmZiwK
KwkweGRmZmZlLCAweGRmZmZmLAorCTB4ZTAwMDEsIDB4ZTAwMDEsCisJMHhlMDAyMCwgMHhlMDA3
ZiwKKwkweGUwMTAwLCAweGUwMWVmLAorCTB4ZWZmZmUsIDB4MTBmZmZmLAorfTsgLyogQ1JfQWdl
XzRfMSAqLworCisvKiAnQWdlXzVfMCc6IERlcml2ZWQgQWdlIDUuMCAqLworc3RhdGljIGNvbnN0
IE9uaWdDb2RlUG9pbnQgQ1JfQWdlXzVfMFtdID0geworCTQ0MCwKKwkweDAwMDAsIDB4MDM2ZiwK
KwkweDAzNzQsIDB4MDM3NSwKKwkweDAzN2EsIDB4MDM3ZSwKKwkweDAzODQsIDB4MDM4YSwKKwkw
eDAzOGMsIDB4MDM4YywKKwkweDAzOGUsIDB4MDNhMSwKKwkweDAzYTMsIDB4MDNjZSwKKwkweDAz
ZDAsIDB4MDQ4NiwKKwkweDA0ODgsIDB4MDUxMywKKwkweDA1MzEsIDB4MDU1NiwKKwkweDA1NTks
IDB4MDU1ZiwKKwkweDA1NjEsIDB4MDU4NywKKwkweDA1ODksIDB4MDU4YSwKKwkweDA1OTEsIDB4
MDVjNywKKwkweDA1ZDAsIDB4MDVlYSwKKwkweDA1ZjAsIDB4MDVmNCwKKwkweDA2MDAsIDB4MDYw
MywKKwkweDA2MGIsIDB4MDYxNSwKKwkweDA2MWIsIDB4MDYxYiwKKwkweDA2MWUsIDB4MDYxZiwK
KwkweDA2MjEsIDB4MDYzYSwKKwkweDA2NDAsIDB4MDY1ZSwKKwkweDA2NjAsIDB4MDcwZCwKKwkw
eDA3MGYsIDB4MDc0YSwKKwkweDA3NGQsIDB4MDc2ZCwKKwkweDA3ODAsIDB4MDdiMSwKKwkweDA3
YzAsIDB4MDdmYSwKKwkweDA5MDEsIDB4MDkzOSwKKwkweDA5M2MsIDB4MDk0ZCwKKwkweDA5NTAs
IDB4MDk1NCwKKwkweDA5NTgsIDB4MDk3MCwKKwkweDA5N2IsIDB4MDk3ZiwKKwkweDA5ODEsIDB4
MDk4MywKKwkweDA5ODUsIDB4MDk4YywKKwkweDA5OGYsIDB4MDk5MCwKKwkweDA5OTMsIDB4MDlh
OCwKKwkweDA5YWEsIDB4MDliMCwKKwkweDA5YjIsIDB4MDliMiwKKwkweDA5YjYsIDB4MDliOSwK
KwkweDA5YmMsIDB4MDljNCwKKwkweDA5YzcsIDB4MDljOCwKKwkweDA5Y2IsIDB4MDljZSwKKwkw
eDA5ZDcsIDB4MDlkNywKKwkweDA5ZGMsIDB4MDlkZCwKKwkweDA5ZGYsIDB4MDllMywKKwkweDA5
ZTYsIDB4MDlmYSwKKwkweDBhMDEsIDB4MGEwMywKKwkweDBhMDUsIDB4MGEwYSwKKwkweDBhMGYs
IDB4MGExMCwKKwkweDBhMTMsIDB4MGEyOCwKKwkweDBhMmEsIDB4MGEzMCwKKwkweDBhMzIsIDB4
MGEzMywKKwkweDBhMzUsIDB4MGEzNiwKKwkweDBhMzgsIDB4MGEzOSwKKwkweDBhM2MsIDB4MGEz
YywKKwkweDBhM2UsIDB4MGE0MiwKKwkweDBhNDcsIDB4MGE0OCwKKwkweDBhNGIsIDB4MGE0ZCwK
KwkweDBhNTksIDB4MGE1YywKKwkweDBhNWUsIDB4MGE1ZSwKKwkweDBhNjYsIDB4MGE3NCwKKwkw
eDBhODEsIDB4MGE4MywKKwkweDBhODUsIDB4MGE4ZCwKKwkweDBhOGYsIDB4MGE5MSwKKwkweDBh
OTMsIDB4MGFhOCwKKwkweDBhYWEsIDB4MGFiMCwKKwkweDBhYjIsIDB4MGFiMywKKwkweDBhYjUs
IDB4MGFiOSwKKwkweDBhYmMsIDB4MGFjNSwKKwkweDBhYzcsIDB4MGFjOSwKKwkweDBhY2IsIDB4
MGFjZCwKKwkweDBhZDAsIDB4MGFkMCwKKwkweDBhZTAsIDB4MGFlMywKKwkweDBhZTYsIDB4MGFl
ZiwKKwkweDBhZjEsIDB4MGFmMSwKKwkweDBiMDEsIDB4MGIwMywKKwkweDBiMDUsIDB4MGIwYywK
KwkweDBiMGYsIDB4MGIxMCwKKwkweDBiMTMsIDB4MGIyOCwKKwkweDBiMmEsIDB4MGIzMCwKKwkw
eDBiMzIsIDB4MGIzMywKKwkweDBiMzUsIDB4MGIzOSwKKwkweDBiM2MsIDB4MGI0MywKKwkweDBi
NDcsIDB4MGI0OCwKKwkweDBiNGIsIDB4MGI0ZCwKKwkweDBiNTYsIDB4MGI1NywKKwkweDBiNWMs
IDB4MGI1ZCwKKwkweDBiNWYsIDB4MGI2MSwKKwkweDBiNjYsIDB4MGI3MSwKKwkweDBiODIsIDB4
MGI4MywKKwkweDBiODUsIDB4MGI4YSwKKwkweDBiOGUsIDB4MGI5MCwKKwkweDBiOTIsIDB4MGI5
NSwKKwkweDBiOTksIDB4MGI5YSwKKwkweDBiOWMsIDB4MGI5YywKKwkweDBiOWUsIDB4MGI5ZiwK
KwkweDBiYTMsIDB4MGJhNCwKKwkweDBiYTgsIDB4MGJhYSwKKwkweDBiYWUsIDB4MGJiOSwKKwkw
eDBiYmUsIDB4MGJjMiwKKwkweDBiYzYsIDB4MGJjOCwKKwkweDBiY2EsIDB4MGJjZCwKKwkweDBi
ZDcsIDB4MGJkNywKKwkweDBiZTYsIDB4MGJmYSwKKwkweDBjMDEsIDB4MGMwMywKKwkweDBjMDUs
IDB4MGMwYywKKwkweDBjMGUsIDB4MGMxMCwKKwkweDBjMTIsIDB4MGMyOCwKKwkweDBjMmEsIDB4
MGMzMywKKwkweDBjMzUsIDB4MGMzOSwKKwkweDBjM2UsIDB4MGM0NCwKKwkweDBjNDYsIDB4MGM0
OCwKKwkweDBjNGEsIDB4MGM0ZCwKKwkweDBjNTUsIDB4MGM1NiwKKwkweDBjNjAsIDB4MGM2MSwK
KwkweDBjNjYsIDB4MGM2ZiwKKwkweDBjODIsIDB4MGM4MywKKwkweDBjODUsIDB4MGM4YywKKwkw
eDBjOGUsIDB4MGM5MCwKKwkweDBjOTIsIDB4MGNhOCwKKwkweDBjYWEsIDB4MGNiMywKKwkweDBj
YjUsIDB4MGNiOSwKKwkweDBjYmMsIDB4MGNjNCwKKwkweDBjYzYsIDB4MGNjOCwKKwkweDBjY2Es
IDB4MGNjZCwKKwkweDBjZDUsIDB4MGNkNiwKKwkweDBjZGUsIDB4MGNkZSwKKwkweDBjZTAsIDB4
MGNlMywKKwkweDBjZTYsIDB4MGNlZiwKKwkweDBjZjEsIDB4MGNmMiwKKwkweDBkMDIsIDB4MGQw
MywKKwkweDBkMDUsIDB4MGQwYywKKwkweDBkMGUsIDB4MGQxMCwKKwkweDBkMTIsIDB4MGQyOCwK
KwkweDBkMmEsIDB4MGQzOSwKKwkweDBkM2UsIDB4MGQ0MywKKwkweDBkNDYsIDB4MGQ0OCwKKwkw
eDBkNGEsIDB4MGQ0ZCwKKwkweDBkNTcsIDB4MGQ1NywKKwkweDBkNjAsIDB4MGQ2MSwKKwkweDBk
NjYsIDB4MGQ2ZiwKKwkweDBkODIsIDB4MGQ4MywKKwkweDBkODUsIDB4MGQ5NiwKKwkweDBkOWEs
IDB4MGRiMSwKKwkweDBkYjMsIDB4MGRiYiwKKwkweDBkYmQsIDB4MGRiZCwKKwkweDBkYzAsIDB4
MGRjNiwKKwkweDBkY2EsIDB4MGRjYSwKKwkweDBkY2YsIDB4MGRkNCwKKwkweDBkZDYsIDB4MGRk
NiwKKwkweDBkZDgsIDB4MGRkZiwKKwkweDBkZjIsIDB4MGRmNCwKKwkweDBlMDEsIDB4MGUzYSwK
KwkweDBlM2YsIDB4MGU1YiwKKwkweDBlODEsIDB4MGU4MiwKKwkweDBlODQsIDB4MGU4NCwKKwkw
eDBlODcsIDB4MGU4OCwKKwkweDBlOGEsIDB4MGU4YSwKKwkweDBlOGQsIDB4MGU4ZCwKKwkweDBl
OTQsIDB4MGU5NywKKwkweDBlOTksIDB4MGU5ZiwKKwkweDBlYTEsIDB4MGVhMywKKwkweDBlYTUs
IDB4MGVhNSwKKwkweDBlYTcsIDB4MGVhNywKKwkweDBlYWEsIDB4MGVhYiwKKwkweDBlYWQsIDB4
MGViOSwKKwkweDBlYmIsIDB4MGViZCwKKwkweDBlYzAsIDB4MGVjNCwKKwkweDBlYzYsIDB4MGVj
NiwKKwkweDBlYzgsIDB4MGVjZCwKKwkweDBlZDAsIDB4MGVkOSwKKwkweDBlZGMsIDB4MGVkZCwK
KwkweDBmMDAsIDB4MGY0NywKKwkweDBmNDksIDB4MGY2YSwKKwkweDBmNzEsIDB4MGY4YiwKKwkw
eDBmOTAsIDB4MGY5NywKKwkweDBmOTksIDB4MGZiYywKKwkweDBmYmUsIDB4MGZjYywKKwkweDBm
Y2YsIDB4MGZkMSwKKwkweDEwMDAsIDB4MTAyMSwKKwkweDEwMjMsIDB4MTAyNywKKwkweDEwMjks
IDB4MTAyYSwKKwkweDEwMmMsIDB4MTAzMiwKKwkweDEwMzYsIDB4MTAzOSwKKwkweDEwNDAsIDB4
MTA1OSwKKwkweDEwYTAsIDB4MTBjNSwKKwkweDEwZDAsIDB4MTBmYywKKwkweDExMDAsIDB4MTE1
OSwKKwkweDExNWYsIDB4MTFhMiwKKwkweDExYTgsIDB4MTFmOSwKKwkweDEyMDAsIDB4MTI0OCwK
KwkweDEyNGEsIDB4MTI0ZCwKKwkweDEyNTAsIDB4MTI1NiwKKwkweDEyNTgsIDB4MTI1OCwKKwkw
eDEyNWEsIDB4MTI1ZCwKKwkweDEyNjAsIDB4MTI4OCwKKwkweDEyOGEsIDB4MTI4ZCwKKwkweDEy
OTAsIDB4MTJiMCwKKwkweDEyYjIsIDB4MTJiNSwKKwkweDEyYjgsIDB4MTJiZSwKKwkweDEyYzAs
IDB4MTJjMCwKKwkweDEyYzIsIDB4MTJjNSwKKwkweDEyYzgsIDB4MTJkNiwKKwkweDEyZDgsIDB4
MTMxMCwKKwkweDEzMTIsIDB4MTMxNSwKKwkweDEzMTgsIDB4MTM1YSwKKwkweDEzNWYsIDB4MTM3
YywKKwkweDEzODAsIDB4MTM5OSwKKwkweDEzYTAsIDB4MTNmNCwKKwkweDE0MDEsIDB4MTY3NiwK
KwkweDE2ODAsIDB4MTY5YywKKwkweDE2YTAsIDB4MTZmMCwKKwkweDE3MDAsIDB4MTcwYywKKwkw
eDE3MGUsIDB4MTcxNCwKKwkweDE3MjAsIDB4MTczNiwKKwkweDE3NDAsIDB4MTc1MywKKwkweDE3
NjAsIDB4MTc2YywKKwkweDE3NmUsIDB4MTc3MCwKKwkweDE3NzIsIDB4MTc3MywKKwkweDE3ODAs
IDB4MTdkZCwKKwkweDE3ZTAsIDB4MTdlOSwKKwkweDE3ZjAsIDB4MTdmOSwKKwkweDE4MDAsIDB4
MTgwZSwKKwkweDE4MTAsIDB4MTgxOSwKKwkweDE4MjAsIDB4MTg3NywKKwkweDE4ODAsIDB4MThh
OSwKKwkweDE5MDAsIDB4MTkxYywKKwkweDE5MjAsIDB4MTkyYiwKKwkweDE5MzAsIDB4MTkzYiwK
KwkweDE5NDAsIDB4MTk0MCwKKwkweDE5NDQsIDB4MTk2ZCwKKwkweDE5NzAsIDB4MTk3NCwKKwkw
eDE5ODAsIDB4MTlhOSwKKwkweDE5YjAsIDB4MTljOSwKKwkweDE5ZDAsIDB4MTlkOSwKKwkweDE5
ZGUsIDB4MWExYiwKKwkweDFhMWUsIDB4MWExZiwKKwkweDFiMDAsIDB4MWI0YiwKKwkweDFiNTAs
IDB4MWI3YywKKwkweDFkMDAsIDB4MWRjYSwKKwkweDFkZmUsIDB4MWU5YiwKKwkweDFlYTAsIDB4
MWVmOSwKKwkweDFmMDAsIDB4MWYxNSwKKwkweDFmMTgsIDB4MWYxZCwKKwkweDFmMjAsIDB4MWY0
NSwKKwkweDFmNDgsIDB4MWY0ZCwKKwkweDFmNTAsIDB4MWY1NywKKwkweDFmNTksIDB4MWY1OSwK
KwkweDFmNWIsIDB4MWY1YiwKKwkweDFmNWQsIDB4MWY1ZCwKKwkweDFmNWYsIDB4MWY3ZCwKKwkw
eDFmODAsIDB4MWZiNCwKKwkweDFmYjYsIDB4MWZjNCwKKwkweDFmYzYsIDB4MWZkMywKKwkweDFm
ZDYsIDB4MWZkYiwKKwkweDFmZGQsIDB4MWZlZiwKKwkweDFmZjIsIDB4MWZmNCwKKwkweDFmZjYs
IDB4MWZmZSwKKwkweDIwMDAsIDB4MjA2MywKKwkweDIwNmEsIDB4MjA3MSwKKwkweDIwNzQsIDB4
MjA4ZSwKKwkweDIwOTAsIDB4MjA5NCwKKwkweDIwYTAsIDB4MjBiNSwKKwkweDIwZDAsIDB4MjBl
ZiwKKwkweDIxMDAsIDB4MjE0ZSwKKwkweDIxNTMsIDB4MjE4NCwKKwkweDIxOTAsIDB4MjNlNywK
KwkweDI0MDAsIDB4MjQyNiwKKwkweDI0NDAsIDB4MjQ0YSwKKwkweDI0NjAsIDB4MjY5YywKKwkw
eDI2YTAsIDB4MjZiMiwKKwkweDI3MDEsIDB4MjcwNCwKKwkweDI3MDYsIDB4MjcwOSwKKwkweDI3
MGMsIDB4MjcyNywKKwkweDI3MjksIDB4Mjc0YiwKKwkweDI3NGQsIDB4Mjc0ZCwKKwkweDI3NGYs
IDB4Mjc1MiwKKwkweDI3NTYsIDB4Mjc1NiwKKwkweDI3NTgsIDB4Mjc1ZSwKKwkweDI3NjEsIDB4
Mjc5NCwKKwkweDI3OTgsIDB4MjdhZiwKKwkweDI3YjEsIDB4MjdiZSwKKwkweDI3YzAsIDB4Mjdj
YSwKKwkweDI3ZDAsIDB4MjdlYiwKKwkweDI3ZjAsIDB4MmIxYSwKKwkweDJiMjAsIDB4MmIyMywK
KwkweDJjMDAsIDB4MmMyZSwKKwkweDJjMzAsIDB4MmM1ZSwKKwkweDJjNjAsIDB4MmM2YywKKwkw
eDJjNzQsIDB4MmM3NywKKwkweDJjODAsIDB4MmNlYSwKKwkweDJjZjksIDB4MmQyNSwKKwkweDJk
MzAsIDB4MmQ2NSwKKwkweDJkNmYsIDB4MmQ2ZiwKKwkweDJkODAsIDB4MmQ5NiwKKwkweDJkYTAs
IDB4MmRhNiwKKwkweDJkYTgsIDB4MmRhZSwKKwkweDJkYjAsIDB4MmRiNiwKKwkweDJkYjgsIDB4
MmRiZSwKKwkweDJkYzAsIDB4MmRjNiwKKwkweDJkYzgsIDB4MmRjZSwKKwkweDJkZDAsIDB4MmRk
NiwKKwkweDJkZDgsIDB4MmRkZSwKKwkweDJlMDAsIDB4MmUxNywKKwkweDJlMWMsIDB4MmUxZCwK
KwkweDJlODAsIDB4MmU5OSwKKwkweDJlOWIsIDB4MmVmMywKKwkweDJmMDAsIDB4MmZkNSwKKwkw
eDJmZjAsIDB4MmZmYiwKKwkweDMwMDAsIDB4MzAzZiwKKwkweDMwNDEsIDB4MzA5NiwKKwkweDMw
OTksIDB4MzBmZiwKKwkweDMxMDUsIDB4MzEyYywKKwkweDMxMzEsIDB4MzE4ZSwKKwkweDMxOTAs
IDB4MzFiNywKKwkweDMxYzAsIDB4MzFjZiwKKwkweDMxZjAsIDB4MzIxZSwKKwkweDMyMjAsIDB4
MzI0MywKKwkweDMyNTAsIDB4MzJmZSwKKwkweDMzMDAsIDB4NGRiNSwKKwkweDRkYzAsIDB4OWZi
YiwKKwkweGEwMDAsIDB4YTQ4YywKKwkweGE0OTAsIDB4YTRjNiwKKwkweGE3MDAsIDB4YTcxYSwK
KwkweGE3MjAsIDB4YTcyMSwKKwkweGE4MDAsIDB4YTgyYiwKKwkweGE4NDAsIDB4YTg3NywKKwkw
eGFjMDAsIDB4ZDdhMywKKwkweGQ4MDAsIDB4ZmEyZCwKKwkweGZhMzAsIDB4ZmE2YSwKKwkweGZh
NzAsIDB4ZmFkOSwKKwkweGZiMDAsIDB4ZmIwNiwKKwkweGZiMTMsIDB4ZmIxNywKKwkweGZiMWQs
IDB4ZmIzNiwKKwkweGZiMzgsIDB4ZmIzYywKKwkweGZiM2UsIDB4ZmIzZSwKKwkweGZiNDAsIDB4
ZmI0MSwKKwkweGZiNDMsIDB4ZmI0NCwKKwkweGZiNDYsIDB4ZmJiMSwKKwkweGZiZDMsIDB4ZmQz
ZiwKKwkweGZkNTAsIDB4ZmQ4ZiwKKwkweGZkOTIsIDB4ZmRjNywKKwkweGZkZDAsIDB4ZmRmZCwK
KwkweGZlMDAsIDB4ZmUxOSwKKwkweGZlMjAsIDB4ZmUyMywKKwkweGZlMzAsIDB4ZmU1MiwKKwkw
eGZlNTQsIDB4ZmU2NiwKKwkweGZlNjgsIDB4ZmU2YiwKKwkweGZlNzAsIDB4ZmU3NCwKKwkweGZl
NzYsIDB4ZmVmYywKKwkweGZlZmYsIDB4ZmVmZiwKKwkweGZmMDEsIDB4ZmZiZSwKKwkweGZmYzIs
IDB4ZmZjNywKKwkweGZmY2EsIDB4ZmZjZiwKKwkweGZmZDIsIDB4ZmZkNywKKwkweGZmZGEsIDB4
ZmZkYywKKwkweGZmZTAsIDB4ZmZlNiwKKwkweGZmZTgsIDB4ZmZlZSwKKwkweGZmZjksIDB4MTAw
MGIsCisJMHgxMDAwZCwgMHgxMDAyNiwKKwkweDEwMDI4LCAweDEwMDNhLAorCTB4MTAwM2MsIDB4
MTAwM2QsCisJMHgxMDAzZiwgMHgxMDA0ZCwKKwkweDEwMDUwLCAweDEwMDVkLAorCTB4MTAwODAs
IDB4MTAwZmEsCisJMHgxMDEwMCwgMHgxMDEwMiwKKwkweDEwMTA3LCAweDEwMTMzLAorCTB4MTAx
MzcsIDB4MTAxOGEsCisJMHgxMDMwMCwgMHgxMDMxZSwKKwkweDEwMzIwLCAweDEwMzIzLAorCTB4
MTAzMzAsIDB4MTAzNGEsCisJMHgxMDM4MCwgMHgxMDM5ZCwKKwkweDEwMzlmLCAweDEwM2MzLAor
CTB4MTAzYzgsIDB4MTAzZDUsCisJMHgxMDQwMCwgMHgxMDQ5ZCwKKwkweDEwNGEwLCAweDEwNGE5
LAorCTB4MTA4MDAsIDB4MTA4MDUsCisJMHgxMDgwOCwgMHgxMDgwOCwKKwkweDEwODBhLCAweDEw
ODM1LAorCTB4MTA4MzcsIDB4MTA4MzgsCisJMHgxMDgzYywgMHgxMDgzYywKKwkweDEwODNmLCAw
eDEwODNmLAorCTB4MTA5MDAsIDB4MTA5MTksCisJMHgxMDkxZiwgMHgxMDkxZiwKKwkweDEwYTAw
LCAweDEwYTAzLAorCTB4MTBhMDUsIDB4MTBhMDYsCisJMHgxMGEwYywgMHgxMGExMywKKwkweDEw
YTE1LCAweDEwYTE3LAorCTB4MTBhMTksIDB4MTBhMzMsCisJMHgxMGEzOCwgMHgxMGEzYSwKKwkw
eDEwYTNmLCAweDEwYTQ3LAorCTB4MTBhNTAsIDB4MTBhNTgsCisJMHgxMjAwMCwgMHgxMjM2ZSwK
KwkweDEyNDAwLCAweDEyNDYyLAorCTB4MTI0NzAsIDB4MTI0NzMsCisJMHgxZDAwMCwgMHgxZDBm
NSwKKwkweDFkMTAwLCAweDFkMTI2LAorCTB4MWQxMmEsIDB4MWQxZGQsCisJMHgxZDIwMCwgMHgx
ZDI0NSwKKwkweDFkMzAwLCAweDFkMzU2LAorCTB4MWQzNjAsIDB4MWQzNzEsCisJMHgxZDQwMCwg
MHgxZDQ1NCwKKwkweDFkNDU2LCAweDFkNDljLAorCTB4MWQ0OWUsIDB4MWQ0OWYsCisJMHgxZDRh
MiwgMHgxZDRhMiwKKwkweDFkNGE1LCAweDFkNGE2LAorCTB4MWQ0YTksIDB4MWQ0YWMsCisJMHgx
ZDRhZSwgMHgxZDRiOSwKKwkweDFkNGJiLCAweDFkNGJiLAorCTB4MWQ0YmQsIDB4MWQ0YzMsCisJ
MHgxZDRjNSwgMHgxZDUwNSwKKwkweDFkNTA3LCAweDFkNTBhLAorCTB4MWQ1MGQsIDB4MWQ1MTQs
CisJMHgxZDUxNiwgMHgxZDUxYywKKwkweDFkNTFlLCAweDFkNTM5LAorCTB4MWQ1M2IsIDB4MWQ1
M2UsCisJMHgxZDU0MCwgMHgxZDU0NCwKKwkweDFkNTQ2LCAweDFkNTQ2LAorCTB4MWQ1NGEsIDB4
MWQ1NTAsCisJMHgxZDU1MiwgMHgxZDZhNSwKKwkweDFkNmE4LCAweDFkN2NiLAorCTB4MWQ3Y2Us
IDB4MWQ3ZmYsCisJMHgxZmZmZSwgMHgyYTZkNiwKKwkweDJmODAwLCAweDJmYTFkLAorCTB4MmZm
ZmUsIDB4MmZmZmYsCisJMHgzZmZmZSwgMHgzZmZmZiwKKwkweDRmZmZlLCAweDRmZmZmLAorCTB4
NWZmZmUsIDB4NWZmZmYsCisJMHg2ZmZmZSwgMHg2ZmZmZiwKKwkweDdmZmZlLCAweDdmZmZmLAor
CTB4OGZmZmUsIDB4OGZmZmYsCisJMHg5ZmZmZSwgMHg5ZmZmZiwKKwkweGFmZmZlLCAweGFmZmZm
LAorCTB4YmZmZmUsIDB4YmZmZmYsCisJMHhjZmZmZSwgMHhjZmZmZiwKKwkweGRmZmZlLCAweGRm
ZmZmLAorCTB4ZTAwMDEsIDB4ZTAwMDEsCisJMHhlMDAyMCwgMHhlMDA3ZiwKKwkweGUwMTAwLCAw
eGUwMWVmLAorCTB4ZWZmZmUsIDB4MTBmZmZmLAorfTsgLyogQ1JfQWdlXzVfMCAqLworCisvKiAn
QWdlXzVfMSc6IERlcml2ZWQgQWdlIDUuMSAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQg
Q1JfQWdlXzVfMVtdID0geworCTQ1NSwKKwkweDAwMDAsIDB4MDM3NywKKwkweDAzN2EsIDB4MDM3
ZSwKKwkweDAzODQsIDB4MDM4YSwKKwkweDAzOGMsIDB4MDM4YywKKwkweDAzOGUsIDB4MDNhMSwK
KwkweDAzYTMsIDB4MDUyMywKKwkweDA1MzEsIDB4MDU1NiwKKwkweDA1NTksIDB4MDU1ZiwKKwkw
eDA1NjEsIDB4MDU4NywKKwkweDA1ODksIDB4MDU4YSwKKwkweDA1OTEsIDB4MDVjNywKKwkweDA1
ZDAsIDB4MDVlYSwKKwkweDA1ZjAsIDB4MDVmNCwKKwkweDA2MDAsIDB4MDYwMywKKwkweDA2MDYs
IDB4MDYxYiwKKwkweDA2MWUsIDB4MDYxZiwKKwkweDA2MjEsIDB4MDY1ZSwKKwkweDA2NjAsIDB4
MDcwZCwKKwkweDA3MGYsIDB4MDc0YSwKKwkweDA3NGQsIDB4MDdiMSwKKwkweDA3YzAsIDB4MDdm
YSwKKwkweDA5MDEsIDB4MDkzOSwKKwkweDA5M2MsIDB4MDk0ZCwKKwkweDA5NTAsIDB4MDk1NCwK
KwkweDA5NTgsIDB4MDk3MiwKKwkweDA5N2IsIDB4MDk3ZiwKKwkweDA5ODEsIDB4MDk4MywKKwkw
eDA5ODUsIDB4MDk4YywKKwkweDA5OGYsIDB4MDk5MCwKKwkweDA5OTMsIDB4MDlhOCwKKwkweDA5
YWEsIDB4MDliMCwKKwkweDA5YjIsIDB4MDliMiwKKwkweDA5YjYsIDB4MDliOSwKKwkweDA5YmMs
IDB4MDljNCwKKwkweDA5YzcsIDB4MDljOCwKKwkweDA5Y2IsIDB4MDljZSwKKwkweDA5ZDcsIDB4
MDlkNywKKwkweDA5ZGMsIDB4MDlkZCwKKwkweDA5ZGYsIDB4MDllMywKKwkweDA5ZTYsIDB4MDlm
YSwKKwkweDBhMDEsIDB4MGEwMywKKwkweDBhMDUsIDB4MGEwYSwKKwkweDBhMGYsIDB4MGExMCwK
KwkweDBhMTMsIDB4MGEyOCwKKwkweDBhMmEsIDB4MGEzMCwKKwkweDBhMzIsIDB4MGEzMywKKwkw
eDBhMzUsIDB4MGEzNiwKKwkweDBhMzgsIDB4MGEzOSwKKwkweDBhM2MsIDB4MGEzYywKKwkweDBh
M2UsIDB4MGE0MiwKKwkweDBhNDcsIDB4MGE0OCwKKwkweDBhNGIsIDB4MGE0ZCwKKwkweDBhNTEs
IDB4MGE1MSwKKwkweDBhNTksIDB4MGE1YywKKwkweDBhNWUsIDB4MGE1ZSwKKwkweDBhNjYsIDB4
MGE3NSwKKwkweDBhODEsIDB4MGE4MywKKwkweDBhODUsIDB4MGE4ZCwKKwkweDBhOGYsIDB4MGE5
MSwKKwkweDBhOTMsIDB4MGFhOCwKKwkweDBhYWEsIDB4MGFiMCwKKwkweDBhYjIsIDB4MGFiMywK
KwkweDBhYjUsIDB4MGFiOSwKKwkweDBhYmMsIDB4MGFjNSwKKwkweDBhYzcsIDB4MGFjOSwKKwkw
eDBhY2IsIDB4MGFjZCwKKwkweDBhZDAsIDB4MGFkMCwKKwkweDBhZTAsIDB4MGFlMywKKwkweDBh
ZTYsIDB4MGFlZiwKKwkweDBhZjEsIDB4MGFmMSwKKwkweDBiMDEsIDB4MGIwMywKKwkweDBiMDUs
IDB4MGIwYywKKwkweDBiMGYsIDB4MGIxMCwKKwkweDBiMTMsIDB4MGIyOCwKKwkweDBiMmEsIDB4
MGIzMCwKKwkweDBiMzIsIDB4MGIzMywKKwkweDBiMzUsIDB4MGIzOSwKKwkweDBiM2MsIDB4MGI0
NCwKKwkweDBiNDcsIDB4MGI0OCwKKwkweDBiNGIsIDB4MGI0ZCwKKwkweDBiNTYsIDB4MGI1NywK
KwkweDBiNWMsIDB4MGI1ZCwKKwkweDBiNWYsIDB4MGI2MywKKwkweDBiNjYsIDB4MGI3MSwKKwkw
eDBiODIsIDB4MGI4MywKKwkweDBiODUsIDB4MGI4YSwKKwkweDBiOGUsIDB4MGI5MCwKKwkweDBi
OTIsIDB4MGI5NSwKKwkweDBiOTksIDB4MGI5YSwKKwkweDBiOWMsIDB4MGI5YywKKwkweDBiOWUs
IDB4MGI5ZiwKKwkweDBiYTMsIDB4MGJhNCwKKwkweDBiYTgsIDB4MGJhYSwKKwkweDBiYWUsIDB4
MGJiOSwKKwkweDBiYmUsIDB4MGJjMiwKKwkweDBiYzYsIDB4MGJjOCwKKwkweDBiY2EsIDB4MGJj
ZCwKKwkweDBiZDAsIDB4MGJkMCwKKwkweDBiZDcsIDB4MGJkNywKKwkweDBiZTYsIDB4MGJmYSwK
KwkweDBjMDEsIDB4MGMwMywKKwkweDBjMDUsIDB4MGMwYywKKwkweDBjMGUsIDB4MGMxMCwKKwkw
eDBjMTIsIDB4MGMyOCwKKwkweDBjMmEsIDB4MGMzMywKKwkweDBjMzUsIDB4MGMzOSwKKwkweDBj
M2QsIDB4MGM0NCwKKwkweDBjNDYsIDB4MGM0OCwKKwkweDBjNGEsIDB4MGM0ZCwKKwkweDBjNTUs
IDB4MGM1NiwKKwkweDBjNTgsIDB4MGM1OSwKKwkweDBjNjAsIDB4MGM2MywKKwkweDBjNjYsIDB4
MGM2ZiwKKwkweDBjNzgsIDB4MGM3ZiwKKwkweDBjODIsIDB4MGM4MywKKwkweDBjODUsIDB4MGM4
YywKKwkweDBjOGUsIDB4MGM5MCwKKwkweDBjOTIsIDB4MGNhOCwKKwkweDBjYWEsIDB4MGNiMywK
KwkweDBjYjUsIDB4MGNiOSwKKwkweDBjYmMsIDB4MGNjNCwKKwkweDBjYzYsIDB4MGNjOCwKKwkw
eDBjY2EsIDB4MGNjZCwKKwkweDBjZDUsIDB4MGNkNiwKKwkweDBjZGUsIDB4MGNkZSwKKwkweDBj
ZTAsIDB4MGNlMywKKwkweDBjZTYsIDB4MGNlZiwKKwkweDBjZjEsIDB4MGNmMiwKKwkweDBkMDIs
IDB4MGQwMywKKwkweDBkMDUsIDB4MGQwYywKKwkweDBkMGUsIDB4MGQxMCwKKwkweDBkMTIsIDB4
MGQyOCwKKwkweDBkMmEsIDB4MGQzOSwKKwkweDBkM2QsIDB4MGQ0NCwKKwkweDBkNDYsIDB4MGQ0
OCwKKwkweDBkNGEsIDB4MGQ0ZCwKKwkweDBkNTcsIDB4MGQ1NywKKwkweDBkNjAsIDB4MGQ2MywK
KwkweDBkNjYsIDB4MGQ3NSwKKwkweDBkNzksIDB4MGQ3ZiwKKwkweDBkODIsIDB4MGQ4MywKKwkw
eDBkODUsIDB4MGQ5NiwKKwkweDBkOWEsIDB4MGRiMSwKKwkweDBkYjMsIDB4MGRiYiwKKwkweDBk
YmQsIDB4MGRiZCwKKwkweDBkYzAsIDB4MGRjNiwKKwkweDBkY2EsIDB4MGRjYSwKKwkweDBkY2Ys
IDB4MGRkNCwKKwkweDBkZDYsIDB4MGRkNiwKKwkweDBkZDgsIDB4MGRkZiwKKwkweDBkZjIsIDB4
MGRmNCwKKwkweDBlMDEsIDB4MGUzYSwKKwkweDBlM2YsIDB4MGU1YiwKKwkweDBlODEsIDB4MGU4
MiwKKwkweDBlODQsIDB4MGU4NCwKKwkweDBlODcsIDB4MGU4OCwKKwkweDBlOGEsIDB4MGU4YSwK
KwkweDBlOGQsIDB4MGU4ZCwKKwkweDBlOTQsIDB4MGU5NywKKwkweDBlOTksIDB4MGU5ZiwKKwkw
eDBlYTEsIDB4MGVhMywKKwkweDBlYTUsIDB4MGVhNSwKKwkweDBlYTcsIDB4MGVhNywKKwkweDBl
YWEsIDB4MGVhYiwKKwkweDBlYWQsIDB4MGViOSwKKwkweDBlYmIsIDB4MGViZCwKKwkweDBlYzAs
IDB4MGVjNCwKKwkweDBlYzYsIDB4MGVjNiwKKwkweDBlYzgsIDB4MGVjZCwKKwkweDBlZDAsIDB4
MGVkOSwKKwkweDBlZGMsIDB4MGVkZCwKKwkweDBmMDAsIDB4MGY0NywKKwkweDBmNDksIDB4MGY2
YywKKwkweDBmNzEsIDB4MGY4YiwKKwkweDBmOTAsIDB4MGY5NywKKwkweDBmOTksIDB4MGZiYywK
KwkweDBmYmUsIDB4MGZjYywKKwkweDBmY2UsIDB4MGZkNCwKKwkweDEwMDAsIDB4MTA5OSwKKwkw
eDEwOWUsIDB4MTBjNSwKKwkweDEwZDAsIDB4MTBmYywKKwkweDExMDAsIDB4MTE1OSwKKwkweDEx
NWYsIDB4MTFhMiwKKwkweDExYTgsIDB4MTFmOSwKKwkweDEyMDAsIDB4MTI0OCwKKwkweDEyNGEs
IDB4MTI0ZCwKKwkweDEyNTAsIDB4MTI1NiwKKwkweDEyNTgsIDB4MTI1OCwKKwkweDEyNWEsIDB4
MTI1ZCwKKwkweDEyNjAsIDB4MTI4OCwKKwkweDEyOGEsIDB4MTI4ZCwKKwkweDEyOTAsIDB4MTJi
MCwKKwkweDEyYjIsIDB4MTJiNSwKKwkweDEyYjgsIDB4MTJiZSwKKwkweDEyYzAsIDB4MTJjMCwK
KwkweDEyYzIsIDB4MTJjNSwKKwkweDEyYzgsIDB4MTJkNiwKKwkweDEyZDgsIDB4MTMxMCwKKwkw
eDEzMTIsIDB4MTMxNSwKKwkweDEzMTgsIDB4MTM1YSwKKwkweDEzNWYsIDB4MTM3YywKKwkweDEz
ODAsIDB4MTM5OSwKKwkweDEzYTAsIDB4MTNmNCwKKwkweDE0MDEsIDB4MTY3NiwKKwkweDE2ODAs
IDB4MTY5YywKKwkweDE2YTAsIDB4MTZmMCwKKwkweDE3MDAsIDB4MTcwYywKKwkweDE3MGUsIDB4
MTcxNCwKKwkweDE3MjAsIDB4MTczNiwKKwkweDE3NDAsIDB4MTc1MywKKwkweDE3NjAsIDB4MTc2
YywKKwkweDE3NmUsIDB4MTc3MCwKKwkweDE3NzIsIDB4MTc3MywKKwkweDE3ODAsIDB4MTdkZCwK
KwkweDE3ZTAsIDB4MTdlOSwKKwkweDE3ZjAsIDB4MTdmOSwKKwkweDE4MDAsIDB4MTgwZSwKKwkw
eDE4MTAsIDB4MTgxOSwKKwkweDE4MjAsIDB4MTg3NywKKwkweDE4ODAsIDB4MThhYSwKKwkweDE5
MDAsIDB4MTkxYywKKwkweDE5MjAsIDB4MTkyYiwKKwkweDE5MzAsIDB4MTkzYiwKKwkweDE5NDAs
IDB4MTk0MCwKKwkweDE5NDQsIDB4MTk2ZCwKKwkweDE5NzAsIDB4MTk3NCwKKwkweDE5ODAsIDB4
MTlhOSwKKwkweDE5YjAsIDB4MTljOSwKKwkweDE5ZDAsIDB4MTlkOSwKKwkweDE5ZGUsIDB4MWEx
YiwKKwkweDFhMWUsIDB4MWExZiwKKwkweDFiMDAsIDB4MWI0YiwKKwkweDFiNTAsIDB4MWI3YywK
KwkweDFiODAsIDB4MWJhYSwKKwkweDFiYWUsIDB4MWJiOSwKKwkweDFjMDAsIDB4MWMzNywKKwkw
eDFjM2IsIDB4MWM0OSwKKwkweDFjNGQsIDB4MWM3ZiwKKwkweDFkMDAsIDB4MWRlNiwKKwkweDFk
ZmUsIDB4MWYxNSwKKwkweDFmMTgsIDB4MWYxZCwKKwkweDFmMjAsIDB4MWY0NSwKKwkweDFmNDgs
IDB4MWY0ZCwKKwkweDFmNTAsIDB4MWY1NywKKwkweDFmNTksIDB4MWY1OSwKKwkweDFmNWIsIDB4
MWY1YiwKKwkweDFmNWQsIDB4MWY1ZCwKKwkweDFmNWYsIDB4MWY3ZCwKKwkweDFmODAsIDB4MWZi
NCwKKwkweDFmYjYsIDB4MWZjNCwKKwkweDFmYzYsIDB4MWZkMywKKwkweDFmZDYsIDB4MWZkYiwK
KwkweDFmZGQsIDB4MWZlZiwKKwkweDFmZjIsIDB4MWZmNCwKKwkweDFmZjYsIDB4MWZmZSwKKwkw
eDIwMDAsIDB4MjA2NCwKKwkweDIwNmEsIDB4MjA3MSwKKwkweDIwNzQsIDB4MjA4ZSwKKwkweDIw
OTAsIDB4MjA5NCwKKwkweDIwYTAsIDB4MjBiNSwKKwkweDIwZDAsIDB4MjBmMCwKKwkweDIxMDAs
IDB4MjE0ZiwKKwkweDIxNTMsIDB4MjE4OCwKKwkweDIxOTAsIDB4MjNlNywKKwkweDI0MDAsIDB4
MjQyNiwKKwkweDI0NDAsIDB4MjQ0YSwKKwkweDI0NjAsIDB4MjY5ZCwKKwkweDI2YTAsIDB4MjZi
YywKKwkweDI2YzAsIDB4MjZjMywKKwkweDI3MDEsIDB4MjcwNCwKKwkweDI3MDYsIDB4MjcwOSwK
KwkweDI3MGMsIDB4MjcyNywKKwkweDI3MjksIDB4Mjc0YiwKKwkweDI3NGQsIDB4Mjc0ZCwKKwkw
eDI3NGYsIDB4Mjc1MiwKKwkweDI3NTYsIDB4Mjc1NiwKKwkweDI3NTgsIDB4Mjc1ZSwKKwkweDI3
NjEsIDB4Mjc5NCwKKwkweDI3OTgsIDB4MjdhZiwKKwkweDI3YjEsIDB4MjdiZSwKKwkweDI3YzAs
IDB4MjdjYSwKKwkweDI3Y2MsIDB4MjdjYywKKwkweDI3ZDAsIDB4MmI0YywKKwkweDJiNTAsIDB4
MmI1NCwKKwkweDJjMDAsIDB4MmMyZSwKKwkweDJjMzAsIDB4MmM1ZSwKKwkweDJjNjAsIDB4MmM2
ZiwKKwkweDJjNzEsIDB4MmM3ZCwKKwkweDJjODAsIDB4MmNlYSwKKwkweDJjZjksIDB4MmQyNSwK
KwkweDJkMzAsIDB4MmQ2NSwKKwkweDJkNmYsIDB4MmQ2ZiwKKwkweDJkODAsIDB4MmQ5NiwKKwkw
eDJkYTAsIDB4MmRhNiwKKwkweDJkYTgsIDB4MmRhZSwKKwkweDJkYjAsIDB4MmRiNiwKKwkweDJk
YjgsIDB4MmRiZSwKKwkweDJkYzAsIDB4MmRjNiwKKwkweDJkYzgsIDB4MmRjZSwKKwkweDJkZDAs
IDB4MmRkNiwKKwkweDJkZDgsIDB4MmRkZSwKKwkweDJkZTAsIDB4MmUzMCwKKwkweDJlODAsIDB4
MmU5OSwKKwkweDJlOWIsIDB4MmVmMywKKwkweDJmMDAsIDB4MmZkNSwKKwkweDJmZjAsIDB4MmZm
YiwKKwkweDMwMDAsIDB4MzAzZiwKKwkweDMwNDEsIDB4MzA5NiwKKwkweDMwOTksIDB4MzBmZiwK
KwkweDMxMDUsIDB4MzEyZCwKKwkweDMxMzEsIDB4MzE4ZSwKKwkweDMxOTAsIDB4MzFiNywKKwkw
eDMxYzAsIDB4MzFlMywKKwkweDMxZjAsIDB4MzIxZSwKKwkweDMyMjAsIDB4MzI0MywKKwkweDMy
NTAsIDB4MzJmZSwKKwkweDMzMDAsIDB4NGRiNSwKKwkweDRkYzAsIDB4OWZjMywKKwkweGEwMDAs
IDB4YTQ4YywKKwkweGE0OTAsIDB4YTRjNiwKKwkweGE1MDAsIDB4YTYyYiwKKwkweGE2NDAsIDB4
YTY1ZiwKKwkweGE2NjIsIDB4YTY3MywKKwkweGE2N2MsIDB4YTY5NywKKwkweGE3MDAsIDB4YTc4
YywKKwkweGE3ZmIsIDB4YTgyYiwKKwkweGE4NDAsIDB4YTg3NywKKwkweGE4ODAsIDB4YThjNCwK
KwkweGE4Y2UsIDB4YThkOSwKKwkweGE5MDAsIDB4YTk1MywKKwkweGE5NWYsIDB4YTk1ZiwKKwkw
eGFhMDAsIDB4YWEzNiwKKwkweGFhNDAsIDB4YWE0ZCwKKwkweGFhNTAsIDB4YWE1OSwKKwkweGFh
NWMsIDB4YWE1ZiwKKwkweGFjMDAsIDB4ZDdhMywKKwkweGQ4MDAsIDB4ZmEyZCwKKwkweGZhMzAs
IDB4ZmE2YSwKKwkweGZhNzAsIDB4ZmFkOSwKKwkweGZiMDAsIDB4ZmIwNiwKKwkweGZiMTMsIDB4
ZmIxNywKKwkweGZiMWQsIDB4ZmIzNiwKKwkweGZiMzgsIDB4ZmIzYywKKwkweGZiM2UsIDB4ZmIz
ZSwKKwkweGZiNDAsIDB4ZmI0MSwKKwkweGZiNDMsIDB4ZmI0NCwKKwkweGZiNDYsIDB4ZmJiMSwK
KwkweGZiZDMsIDB4ZmQzZiwKKwkweGZkNTAsIDB4ZmQ4ZiwKKwkweGZkOTIsIDB4ZmRjNywKKwkw
eGZkZDAsIDB4ZmRmZCwKKwkweGZlMDAsIDB4ZmUxOSwKKwkweGZlMjAsIDB4ZmUyNiwKKwkweGZl
MzAsIDB4ZmU1MiwKKwkweGZlNTQsIDB4ZmU2NiwKKwkweGZlNjgsIDB4ZmU2YiwKKwkweGZlNzAs
IDB4ZmU3NCwKKwkweGZlNzYsIDB4ZmVmYywKKwkweGZlZmYsIDB4ZmVmZiwKKwkweGZmMDEsIDB4
ZmZiZSwKKwkweGZmYzIsIDB4ZmZjNywKKwkweGZmY2EsIDB4ZmZjZiwKKwkweGZmZDIsIDB4ZmZk
NywKKwkweGZmZGEsIDB4ZmZkYywKKwkweGZmZTAsIDB4ZmZlNiwKKwkweGZmZTgsIDB4ZmZlZSwK
KwkweGZmZjksIDB4MTAwMGIsCisJMHgxMDAwZCwgMHgxMDAyNiwKKwkweDEwMDI4LCAweDEwMDNh
LAorCTB4MTAwM2MsIDB4MTAwM2QsCisJMHgxMDAzZiwgMHgxMDA0ZCwKKwkweDEwMDUwLCAweDEw
MDVkLAorCTB4MTAwODAsIDB4MTAwZmEsCisJMHgxMDEwMCwgMHgxMDEwMiwKKwkweDEwMTA3LCAw
eDEwMTMzLAorCTB4MTAxMzcsIDB4MTAxOGEsCisJMHgxMDE5MCwgMHgxMDE5YiwKKwkweDEwMWQw
LCAweDEwMWZkLAorCTB4MTAyODAsIDB4MTAyOWMsCisJMHgxMDJhMCwgMHgxMDJkMCwKKwkweDEw
MzAwLCAweDEwMzFlLAorCTB4MTAzMjAsIDB4MTAzMjMsCisJMHgxMDMzMCwgMHgxMDM0YSwKKwkw
eDEwMzgwLCAweDEwMzlkLAorCTB4MTAzOWYsIDB4MTAzYzMsCisJMHgxMDNjOCwgMHgxMDNkNSwK
KwkweDEwNDAwLCAweDEwNDlkLAorCTB4MTA0YTAsIDB4MTA0YTksCisJMHgxMDgwMCwgMHgxMDgw
NSwKKwkweDEwODA4LCAweDEwODA4LAorCTB4MTA4MGEsIDB4MTA4MzUsCisJMHgxMDgzNywgMHgx
MDgzOCwKKwkweDEwODNjLCAweDEwODNjLAorCTB4MTA4M2YsIDB4MTA4M2YsCisJMHgxMDkwMCwg
MHgxMDkxOSwKKwkweDEwOTFmLCAweDEwOTM5LAorCTB4MTA5M2YsIDB4MTA5M2YsCisJMHgxMGEw
MCwgMHgxMGEwMywKKwkweDEwYTA1LCAweDEwYTA2LAorCTB4MTBhMGMsIDB4MTBhMTMsCisJMHgx
MGExNSwgMHgxMGExNywKKwkweDEwYTE5LCAweDEwYTMzLAorCTB4MTBhMzgsIDB4MTBhM2EsCisJ
MHgxMGEzZiwgMHgxMGE0NywKKwkweDEwYTUwLCAweDEwYTU4LAorCTB4MTIwMDAsIDB4MTIzNmUs
CisJMHgxMjQwMCwgMHgxMjQ2MiwKKwkweDEyNDcwLCAweDEyNDczLAorCTB4MWQwMDAsIDB4MWQw
ZjUsCisJMHgxZDEwMCwgMHgxZDEyNiwKKwkweDFkMTI5LCAweDFkMWRkLAorCTB4MWQyMDAsIDB4
MWQyNDUsCisJMHgxZDMwMCwgMHgxZDM1NiwKKwkweDFkMzYwLCAweDFkMzcxLAorCTB4MWQ0MDAs
IDB4MWQ0NTQsCisJMHgxZDQ1NiwgMHgxZDQ5YywKKwkweDFkNDllLCAweDFkNDlmLAorCTB4MWQ0
YTIsIDB4MWQ0YTIsCisJMHgxZDRhNSwgMHgxZDRhNiwKKwkweDFkNGE5LCAweDFkNGFjLAorCTB4
MWQ0YWUsIDB4MWQ0YjksCisJMHgxZDRiYiwgMHgxZDRiYiwKKwkweDFkNGJkLCAweDFkNGMzLAor
CTB4MWQ0YzUsIDB4MWQ1MDUsCisJMHgxZDUwNywgMHgxZDUwYSwKKwkweDFkNTBkLCAweDFkNTE0
LAorCTB4MWQ1MTYsIDB4MWQ1MWMsCisJMHgxZDUxZSwgMHgxZDUzOSwKKwkweDFkNTNiLCAweDFk
NTNlLAorCTB4MWQ1NDAsIDB4MWQ1NDQsCisJMHgxZDU0NiwgMHgxZDU0NiwKKwkweDFkNTRhLCAw
eDFkNTUwLAorCTB4MWQ1NTIsIDB4MWQ2YTUsCisJMHgxZDZhOCwgMHgxZDdjYiwKKwkweDFkN2Nl
LCAweDFkN2ZmLAorCTB4MWYwMDAsIDB4MWYwMmIsCisJMHgxZjAzMCwgMHgxZjA5MywKKwkweDFm
ZmZlLCAweDJhNmQ2LAorCTB4MmY4MDAsIDB4MmZhMWQsCisJMHgyZmZmZSwgMHgyZmZmZiwKKwkw
eDNmZmZlLCAweDNmZmZmLAorCTB4NGZmZmUsIDB4NGZmZmYsCisJMHg1ZmZmZSwgMHg1ZmZmZiwK
KwkweDZmZmZlLCAweDZmZmZmLAorCTB4N2ZmZmUsIDB4N2ZmZmYsCisJMHg4ZmZmZSwgMHg4ZmZm
ZiwKKwkweDlmZmZlLCAweDlmZmZmLAorCTB4YWZmZmUsIDB4YWZmZmYsCisJMHhiZmZmZSwgMHhi
ZmZmZiwKKwkweGNmZmZlLCAweGNmZmZmLAorCTB4ZGZmZmUsIDB4ZGZmZmYsCisJMHhlMDAwMSwg
MHhlMDAwMSwKKwkweGUwMDIwLCAweGUwMDdmLAorCTB4ZTAxMDAsIDB4ZTAxZWYsCisJMHhlZmZm
ZSwgMHgxMGZmZmYsCit9OyAvKiBDUl9BZ2VfNV8xICovCisKKy8qICdBZ2VfNV8yJzogRGVyaXZl
ZCBBZ2UgNS4yICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9BZ2VfNV8yW10gPSB7
CisJNDk1LAorCTB4MDAwMCwgMHgwMzc3LAorCTB4MDM3YSwgMHgwMzdlLAorCTB4MDM4NCwgMHgw
MzhhLAorCTB4MDM4YywgMHgwMzhjLAorCTB4MDM4ZSwgMHgwM2ExLAorCTB4MDNhMywgMHgwNTI1
LAorCTB4MDUzMSwgMHgwNTU2LAorCTB4MDU1OSwgMHgwNTVmLAorCTB4MDU2MSwgMHgwNTg3LAor
CTB4MDU4OSwgMHgwNThhLAorCTB4MDU5MSwgMHgwNWM3LAorCTB4MDVkMCwgMHgwNWVhLAorCTB4
MDVmMCwgMHgwNWY0LAorCTB4MDYwMCwgMHgwNjAzLAorCTB4MDYwNiwgMHgwNjFiLAorCTB4MDYx
ZSwgMHgwNjFmLAorCTB4MDYyMSwgMHgwNjVlLAorCTB4MDY2MCwgMHgwNzBkLAorCTB4MDcwZiwg
MHgwNzRhLAorCTB4MDc0ZCwgMHgwN2IxLAorCTB4MDdjMCwgMHgwN2ZhLAorCTB4MDgwMCwgMHgw
ODJkLAorCTB4MDgzMCwgMHgwODNlLAorCTB4MDkwMCwgMHgwOTM5LAorCTB4MDkzYywgMHgwOTRl
LAorCTB4MDk1MCwgMHgwOTU1LAorCTB4MDk1OCwgMHgwOTcyLAorCTB4MDk3OSwgMHgwOTdmLAor
CTB4MDk4MSwgMHgwOTgzLAorCTB4MDk4NSwgMHgwOThjLAorCTB4MDk4ZiwgMHgwOTkwLAorCTB4
MDk5MywgMHgwOWE4LAorCTB4MDlhYSwgMHgwOWIwLAorCTB4MDliMiwgMHgwOWIyLAorCTB4MDli
NiwgMHgwOWI5LAorCTB4MDliYywgMHgwOWM0LAorCTB4MDljNywgMHgwOWM4LAorCTB4MDljYiwg
MHgwOWNlLAorCTB4MDlkNywgMHgwOWQ3LAorCTB4MDlkYywgMHgwOWRkLAorCTB4MDlkZiwgMHgw
OWUzLAorCTB4MDllNiwgMHgwOWZiLAorCTB4MGEwMSwgMHgwYTAzLAorCTB4MGEwNSwgMHgwYTBh
LAorCTB4MGEwZiwgMHgwYTEwLAorCTB4MGExMywgMHgwYTI4LAorCTB4MGEyYSwgMHgwYTMwLAor
CTB4MGEzMiwgMHgwYTMzLAorCTB4MGEzNSwgMHgwYTM2LAorCTB4MGEzOCwgMHgwYTM5LAorCTB4
MGEzYywgMHgwYTNjLAorCTB4MGEzZSwgMHgwYTQyLAorCTB4MGE0NywgMHgwYTQ4LAorCTB4MGE0
YiwgMHgwYTRkLAorCTB4MGE1MSwgMHgwYTUxLAorCTB4MGE1OSwgMHgwYTVjLAorCTB4MGE1ZSwg
MHgwYTVlLAorCTB4MGE2NiwgMHgwYTc1LAorCTB4MGE4MSwgMHgwYTgzLAorCTB4MGE4NSwgMHgw
YThkLAorCTB4MGE4ZiwgMHgwYTkxLAorCTB4MGE5MywgMHgwYWE4LAorCTB4MGFhYSwgMHgwYWIw
LAorCTB4MGFiMiwgMHgwYWIzLAorCTB4MGFiNSwgMHgwYWI5LAorCTB4MGFiYywgMHgwYWM1LAor
CTB4MGFjNywgMHgwYWM5LAorCTB4MGFjYiwgMHgwYWNkLAorCTB4MGFkMCwgMHgwYWQwLAorCTB4
MGFlMCwgMHgwYWUzLAorCTB4MGFlNiwgMHgwYWVmLAorCTB4MGFmMSwgMHgwYWYxLAorCTB4MGIw
MSwgMHgwYjAzLAorCTB4MGIwNSwgMHgwYjBjLAorCTB4MGIwZiwgMHgwYjEwLAorCTB4MGIxMywg
MHgwYjI4LAorCTB4MGIyYSwgMHgwYjMwLAorCTB4MGIzMiwgMHgwYjMzLAorCTB4MGIzNSwgMHgw
YjM5LAorCTB4MGIzYywgMHgwYjQ0LAorCTB4MGI0NywgMHgwYjQ4LAorCTB4MGI0YiwgMHgwYjRk
LAorCTB4MGI1NiwgMHgwYjU3LAorCTB4MGI1YywgMHgwYjVkLAorCTB4MGI1ZiwgMHgwYjYzLAor
CTB4MGI2NiwgMHgwYjcxLAorCTB4MGI4MiwgMHgwYjgzLAorCTB4MGI4NSwgMHgwYjhhLAorCTB4
MGI4ZSwgMHgwYjkwLAorCTB4MGI5MiwgMHgwYjk1LAorCTB4MGI5OSwgMHgwYjlhLAorCTB4MGI5
YywgMHgwYjljLAorCTB4MGI5ZSwgMHgwYjlmLAorCTB4MGJhMywgMHgwYmE0LAorCTB4MGJhOCwg
MHgwYmFhLAorCTB4MGJhZSwgMHgwYmI5LAorCTB4MGJiZSwgMHgwYmMyLAorCTB4MGJjNiwgMHgw
YmM4LAorCTB4MGJjYSwgMHgwYmNkLAorCTB4MGJkMCwgMHgwYmQwLAorCTB4MGJkNywgMHgwYmQ3
LAorCTB4MGJlNiwgMHgwYmZhLAorCTB4MGMwMSwgMHgwYzAzLAorCTB4MGMwNSwgMHgwYzBjLAor
CTB4MGMwZSwgMHgwYzEwLAorCTB4MGMxMiwgMHgwYzI4LAorCTB4MGMyYSwgMHgwYzMzLAorCTB4
MGMzNSwgMHgwYzM5LAorCTB4MGMzZCwgMHgwYzQ0LAorCTB4MGM0NiwgMHgwYzQ4LAorCTB4MGM0
YSwgMHgwYzRkLAorCTB4MGM1NSwgMHgwYzU2LAorCTB4MGM1OCwgMHgwYzU5LAorCTB4MGM2MCwg
MHgwYzYzLAorCTB4MGM2NiwgMHgwYzZmLAorCTB4MGM3OCwgMHgwYzdmLAorCTB4MGM4MiwgMHgw
YzgzLAorCTB4MGM4NSwgMHgwYzhjLAorCTB4MGM4ZSwgMHgwYzkwLAorCTB4MGM5MiwgMHgwY2E4
LAorCTB4MGNhYSwgMHgwY2IzLAorCTB4MGNiNSwgMHgwY2I5LAorCTB4MGNiYywgMHgwY2M0LAor
CTB4MGNjNiwgMHgwY2M4LAorCTB4MGNjYSwgMHgwY2NkLAorCTB4MGNkNSwgMHgwY2Q2LAorCTB4
MGNkZSwgMHgwY2RlLAorCTB4MGNlMCwgMHgwY2UzLAorCTB4MGNlNiwgMHgwY2VmLAorCTB4MGNm
MSwgMHgwY2YyLAorCTB4MGQwMiwgMHgwZDAzLAorCTB4MGQwNSwgMHgwZDBjLAorCTB4MGQwZSwg
MHgwZDEwLAorCTB4MGQxMiwgMHgwZDI4LAorCTB4MGQyYSwgMHgwZDM5LAorCTB4MGQzZCwgMHgw
ZDQ0LAorCTB4MGQ0NiwgMHgwZDQ4LAorCTB4MGQ0YSwgMHgwZDRkLAorCTB4MGQ1NywgMHgwZDU3
LAorCTB4MGQ2MCwgMHgwZDYzLAorCTB4MGQ2NiwgMHgwZDc1LAorCTB4MGQ3OSwgMHgwZDdmLAor
CTB4MGQ4MiwgMHgwZDgzLAorCTB4MGQ4NSwgMHgwZDk2LAorCTB4MGQ5YSwgMHgwZGIxLAorCTB4
MGRiMywgMHgwZGJiLAorCTB4MGRiZCwgMHgwZGJkLAorCTB4MGRjMCwgMHgwZGM2LAorCTB4MGRj
YSwgMHgwZGNhLAorCTB4MGRjZiwgMHgwZGQ0LAorCTB4MGRkNiwgMHgwZGQ2LAorCTB4MGRkOCwg
MHgwZGRmLAorCTB4MGRmMiwgMHgwZGY0LAorCTB4MGUwMSwgMHgwZTNhLAorCTB4MGUzZiwgMHgw
ZTViLAorCTB4MGU4MSwgMHgwZTgyLAorCTB4MGU4NCwgMHgwZTg0LAorCTB4MGU4NywgMHgwZTg4
LAorCTB4MGU4YSwgMHgwZThhLAorCTB4MGU4ZCwgMHgwZThkLAorCTB4MGU5NCwgMHgwZTk3LAor
CTB4MGU5OSwgMHgwZTlmLAorCTB4MGVhMSwgMHgwZWEzLAorCTB4MGVhNSwgMHgwZWE1LAorCTB4
MGVhNywgMHgwZWE3LAorCTB4MGVhYSwgMHgwZWFiLAorCTB4MGVhZCwgMHgwZWI5LAorCTB4MGVi
YiwgMHgwZWJkLAorCTB4MGVjMCwgMHgwZWM0LAorCTB4MGVjNiwgMHgwZWM2LAorCTB4MGVjOCwg
MHgwZWNkLAorCTB4MGVkMCwgMHgwZWQ5LAorCTB4MGVkYywgMHgwZWRkLAorCTB4MGYwMCwgMHgw
ZjQ3LAorCTB4MGY0OSwgMHgwZjZjLAorCTB4MGY3MSwgMHgwZjhiLAorCTB4MGY5MCwgMHgwZjk3
LAorCTB4MGY5OSwgMHgwZmJjLAorCTB4MGZiZSwgMHgwZmNjLAorCTB4MGZjZSwgMHgwZmQ4LAor
CTB4MTAwMCwgMHgxMGM1LAorCTB4MTBkMCwgMHgxMGZjLAorCTB4MTEwMCwgMHgxMjQ4LAorCTB4
MTI0YSwgMHgxMjRkLAorCTB4MTI1MCwgMHgxMjU2LAorCTB4MTI1OCwgMHgxMjU4LAorCTB4MTI1
YSwgMHgxMjVkLAorCTB4MTI2MCwgMHgxMjg4LAorCTB4MTI4YSwgMHgxMjhkLAorCTB4MTI5MCwg
MHgxMmIwLAorCTB4MTJiMiwgMHgxMmI1LAorCTB4MTJiOCwgMHgxMmJlLAorCTB4MTJjMCwgMHgx
MmMwLAorCTB4MTJjMiwgMHgxMmM1LAorCTB4MTJjOCwgMHgxMmQ2LAorCTB4MTJkOCwgMHgxMzEw
LAorCTB4MTMxMiwgMHgxMzE1LAorCTB4MTMxOCwgMHgxMzVhLAorCTB4MTM1ZiwgMHgxMzdjLAor
CTB4MTM4MCwgMHgxMzk5LAorCTB4MTNhMCwgMHgxM2Y0LAorCTB4MTQwMCwgMHgxNjljLAorCTB4
MTZhMCwgMHgxNmYwLAorCTB4MTcwMCwgMHgxNzBjLAorCTB4MTcwZSwgMHgxNzE0LAorCTB4MTcy
MCwgMHgxNzM2LAorCTB4MTc0MCwgMHgxNzUzLAorCTB4MTc2MCwgMHgxNzZjLAorCTB4MTc2ZSwg
MHgxNzcwLAorCTB4MTc3MiwgMHgxNzczLAorCTB4MTc4MCwgMHgxN2RkLAorCTB4MTdlMCwgMHgx
N2U5LAorCTB4MTdmMCwgMHgxN2Y5LAorCTB4MTgwMCwgMHgxODBlLAorCTB4MTgxMCwgMHgxODE5
LAorCTB4MTgyMCwgMHgxODc3LAorCTB4MTg4MCwgMHgxOGFhLAorCTB4MThiMCwgMHgxOGY1LAor
CTB4MTkwMCwgMHgxOTFjLAorCTB4MTkyMCwgMHgxOTJiLAorCTB4MTkzMCwgMHgxOTNiLAorCTB4
MTk0MCwgMHgxOTQwLAorCTB4MTk0NCwgMHgxOTZkLAorCTB4MTk3MCwgMHgxOTc0LAorCTB4MTk4
MCwgMHgxOWFiLAorCTB4MTliMCwgMHgxOWM5LAorCTB4MTlkMCwgMHgxOWRhLAorCTB4MTlkZSwg
MHgxYTFiLAorCTB4MWExZSwgMHgxYTVlLAorCTB4MWE2MCwgMHgxYTdjLAorCTB4MWE3ZiwgMHgx
YTg5LAorCTB4MWE5MCwgMHgxYTk5LAorCTB4MWFhMCwgMHgxYWFkLAorCTB4MWIwMCwgMHgxYjRi
LAorCTB4MWI1MCwgMHgxYjdjLAorCTB4MWI4MCwgMHgxYmFhLAorCTB4MWJhZSwgMHgxYmI5LAor
CTB4MWMwMCwgMHgxYzM3LAorCTB4MWMzYiwgMHgxYzQ5LAorCTB4MWM0ZCwgMHgxYzdmLAorCTB4
MWNkMCwgMHgxY2YyLAorCTB4MWQwMCwgMHgxZGU2LAorCTB4MWRmZCwgMHgxZjE1LAorCTB4MWYx
OCwgMHgxZjFkLAorCTB4MWYyMCwgMHgxZjQ1LAorCTB4MWY0OCwgMHgxZjRkLAorCTB4MWY1MCwg
MHgxZjU3LAorCTB4MWY1OSwgMHgxZjU5LAorCTB4MWY1YiwgMHgxZjViLAorCTB4MWY1ZCwgMHgx
ZjVkLAorCTB4MWY1ZiwgMHgxZjdkLAorCTB4MWY4MCwgMHgxZmI0LAorCTB4MWZiNiwgMHgxZmM0
LAorCTB4MWZjNiwgMHgxZmQzLAorCTB4MWZkNiwgMHgxZmRiLAorCTB4MWZkZCwgMHgxZmVmLAor
CTB4MWZmMiwgMHgxZmY0LAorCTB4MWZmNiwgMHgxZmZlLAorCTB4MjAwMCwgMHgyMDY0LAorCTB4
MjA2YSwgMHgyMDcxLAorCTB4MjA3NCwgMHgyMDhlLAorCTB4MjA5MCwgMHgyMDk0LAorCTB4MjBh
MCwgMHgyMGI4LAorCTB4MjBkMCwgMHgyMGYwLAorCTB4MjEwMCwgMHgyMTg5LAorCTB4MjE5MCwg
MHgyM2U4LAorCTB4MjQwMCwgMHgyNDI2LAorCTB4MjQ0MCwgMHgyNDRhLAorCTB4MjQ2MCwgMHgy
NmNkLAorCTB4MjZjZiwgMHgyNmUxLAorCTB4MjZlMywgMHgyNmUzLAorCTB4MjZlOCwgMHgyNmZm
LAorCTB4MjcwMSwgMHgyNzA0LAorCTB4MjcwNiwgMHgyNzA5LAorCTB4MjcwYywgMHgyNzI3LAor
CTB4MjcyOSwgMHgyNzRiLAorCTB4Mjc0ZCwgMHgyNzRkLAorCTB4Mjc0ZiwgMHgyNzUyLAorCTB4
Mjc1NiwgMHgyNzVlLAorCTB4Mjc2MSwgMHgyNzk0LAorCTB4Mjc5OCwgMHgyN2FmLAorCTB4Mjdi
MSwgMHgyN2JlLAorCTB4MjdjMCwgMHgyN2NhLAorCTB4MjdjYywgMHgyN2NjLAorCTB4MjdkMCwg
MHgyYjRjLAorCTB4MmI1MCwgMHgyYjU5LAorCTB4MmMwMCwgMHgyYzJlLAorCTB4MmMzMCwgMHgy
YzVlLAorCTB4MmM2MCwgMHgyY2YxLAorCTB4MmNmOSwgMHgyZDI1LAorCTB4MmQzMCwgMHgyZDY1
LAorCTB4MmQ2ZiwgMHgyZDZmLAorCTB4MmQ4MCwgMHgyZDk2LAorCTB4MmRhMCwgMHgyZGE2LAor
CTB4MmRhOCwgMHgyZGFlLAorCTB4MmRiMCwgMHgyZGI2LAorCTB4MmRiOCwgMHgyZGJlLAorCTB4
MmRjMCwgMHgyZGM2LAorCTB4MmRjOCwgMHgyZGNlLAorCTB4MmRkMCwgMHgyZGQ2LAorCTB4MmRk
OCwgMHgyZGRlLAorCTB4MmRlMCwgMHgyZTMxLAorCTB4MmU4MCwgMHgyZTk5LAorCTB4MmU5Yiwg
MHgyZWYzLAorCTB4MmYwMCwgMHgyZmQ1LAorCTB4MmZmMCwgMHgyZmZiLAorCTB4MzAwMCwgMHgz
MDNmLAorCTB4MzA0MSwgMHgzMDk2LAorCTB4MzA5OSwgMHgzMGZmLAorCTB4MzEwNSwgMHgzMTJk
LAorCTB4MzEzMSwgMHgzMThlLAorCTB4MzE5MCwgMHgzMWI3LAorCTB4MzFjMCwgMHgzMWUzLAor
CTB4MzFmMCwgMHgzMjFlLAorCTB4MzIyMCwgMHgzMmZlLAorCTB4MzMwMCwgMHg0ZGI1LAorCTB4
NGRjMCwgMHg5ZmNiLAorCTB4YTAwMCwgMHhhNDhjLAorCTB4YTQ5MCwgMHhhNGM2LAorCTB4YTRk
MCwgMHhhNjJiLAorCTB4YTY0MCwgMHhhNjVmLAorCTB4YTY2MiwgMHhhNjczLAorCTB4YTY3Yywg
MHhhNjk3LAorCTB4YTZhMCwgMHhhNmY3LAorCTB4YTcwMCwgMHhhNzhjLAorCTB4YTdmYiwgMHhh
ODJiLAorCTB4YTgzMCwgMHhhODM5LAorCTB4YTg0MCwgMHhhODc3LAorCTB4YTg4MCwgMHhhOGM0
LAorCTB4YThjZSwgMHhhOGQ5LAorCTB4YThlMCwgMHhhOGZiLAorCTB4YTkwMCwgMHhhOTUzLAor
CTB4YTk1ZiwgMHhhOTdjLAorCTB4YTk4MCwgMHhhOWNkLAorCTB4YTljZiwgMHhhOWQ5LAorCTB4
YTlkZSwgMHhhOWRmLAorCTB4YWEwMCwgMHhhYTM2LAorCTB4YWE0MCwgMHhhYTRkLAorCTB4YWE1
MCwgMHhhYTU5LAorCTB4YWE1YywgMHhhYTdiLAorCTB4YWE4MCwgMHhhYWMyLAorCTB4YWFkYiwg
MHhhYWRmLAorCTB4YWJjMCwgMHhhYmVkLAorCTB4YWJmMCwgMHhhYmY5LAorCTB4YWMwMCwgMHhk
N2EzLAorCTB4ZDdiMCwgMHhkN2M2LAorCTB4ZDdjYiwgMHhkN2ZiLAorCTB4ZDgwMCwgMHhmYTJk
LAorCTB4ZmEzMCwgMHhmYTZkLAorCTB4ZmE3MCwgMHhmYWQ5LAorCTB4ZmIwMCwgMHhmYjA2LAor
CTB4ZmIxMywgMHhmYjE3LAorCTB4ZmIxZCwgMHhmYjM2LAorCTB4ZmIzOCwgMHhmYjNjLAorCTB4
ZmIzZSwgMHhmYjNlLAorCTB4ZmI0MCwgMHhmYjQxLAorCTB4ZmI0MywgMHhmYjQ0LAorCTB4ZmI0
NiwgMHhmYmIxLAorCTB4ZmJkMywgMHhmZDNmLAorCTB4ZmQ1MCwgMHhmZDhmLAorCTB4ZmQ5Miwg
MHhmZGM3LAorCTB4ZmRkMCwgMHhmZGZkLAorCTB4ZmUwMCwgMHhmZTE5LAorCTB4ZmUyMCwgMHhm
ZTI2LAorCTB4ZmUzMCwgMHhmZTUyLAorCTB4ZmU1NCwgMHhmZTY2LAorCTB4ZmU2OCwgMHhmZTZi
LAorCTB4ZmU3MCwgMHhmZTc0LAorCTB4ZmU3NiwgMHhmZWZjLAorCTB4ZmVmZiwgMHhmZWZmLAor
CTB4ZmYwMSwgMHhmZmJlLAorCTB4ZmZjMiwgMHhmZmM3LAorCTB4ZmZjYSwgMHhmZmNmLAorCTB4
ZmZkMiwgMHhmZmQ3LAorCTB4ZmZkYSwgMHhmZmRjLAorCTB4ZmZlMCwgMHhmZmU2LAorCTB4ZmZl
OCwgMHhmZmVlLAorCTB4ZmZmOSwgMHgxMDAwYiwKKwkweDEwMDBkLCAweDEwMDI2LAorCTB4MTAw
MjgsIDB4MTAwM2EsCisJMHgxMDAzYywgMHgxMDAzZCwKKwkweDEwMDNmLCAweDEwMDRkLAorCTB4
MTAwNTAsIDB4MTAwNWQsCisJMHgxMDA4MCwgMHgxMDBmYSwKKwkweDEwMTAwLCAweDEwMTAyLAor
CTB4MTAxMDcsIDB4MTAxMzMsCisJMHgxMDEzNywgMHgxMDE4YSwKKwkweDEwMTkwLCAweDEwMTli
LAorCTB4MTAxZDAsIDB4MTAxZmQsCisJMHgxMDI4MCwgMHgxMDI5YywKKwkweDEwMmEwLCAweDEw
MmQwLAorCTB4MTAzMDAsIDB4MTAzMWUsCisJMHgxMDMyMCwgMHgxMDMyMywKKwkweDEwMzMwLCAw
eDEwMzRhLAorCTB4MTAzODAsIDB4MTAzOWQsCisJMHgxMDM5ZiwgMHgxMDNjMywKKwkweDEwM2M4
LCAweDEwM2Q1LAorCTB4MTA0MDAsIDB4MTA0OWQsCisJMHgxMDRhMCwgMHgxMDRhOSwKKwkweDEw
ODAwLCAweDEwODA1LAorCTB4MTA4MDgsIDB4MTA4MDgsCisJMHgxMDgwYSwgMHgxMDgzNSwKKwkw
eDEwODM3LCAweDEwODM4LAorCTB4MTA4M2MsIDB4MTA4M2MsCisJMHgxMDgzZiwgMHgxMDg1NSwK
KwkweDEwODU3LCAweDEwODVmLAorCTB4MTA5MDAsIDB4MTA5MWIsCisJMHgxMDkxZiwgMHgxMDkz
OSwKKwkweDEwOTNmLCAweDEwOTNmLAorCTB4MTBhMDAsIDB4MTBhMDMsCisJMHgxMGEwNSwgMHgx
MGEwNiwKKwkweDEwYTBjLCAweDEwYTEzLAorCTB4MTBhMTUsIDB4MTBhMTcsCisJMHgxMGExOSwg
MHgxMGEzMywKKwkweDEwYTM4LCAweDEwYTNhLAorCTB4MTBhM2YsIDB4MTBhNDcsCisJMHgxMGE1
MCwgMHgxMGE1OCwKKwkweDEwYTYwLCAweDEwYTdmLAorCTB4MTBiMDAsIDB4MTBiMzUsCisJMHgx
MGIzOSwgMHgxMGI1NSwKKwkweDEwYjU4LCAweDEwYjcyLAorCTB4MTBiNzgsIDB4MTBiN2YsCisJ
MHgxMGMwMCwgMHgxMGM0OCwKKwkweDEwZTYwLCAweDEwZTdlLAorCTB4MTEwODAsIDB4MTEwYzEs
CisJMHgxMjAwMCwgMHgxMjM2ZSwKKwkweDEyNDAwLCAweDEyNDYyLAorCTB4MTI0NzAsIDB4MTI0
NzMsCisJMHgxMzAwMCwgMHgxMzQyZSwKKwkweDFkMDAwLCAweDFkMGY1LAorCTB4MWQxMDAsIDB4
MWQxMjYsCisJMHgxZDEyOSwgMHgxZDFkZCwKKwkweDFkMjAwLCAweDFkMjQ1LAorCTB4MWQzMDAs
IDB4MWQzNTYsCisJMHgxZDM2MCwgMHgxZDM3MSwKKwkweDFkNDAwLCAweDFkNDU0LAorCTB4MWQ0
NTYsIDB4MWQ0OWMsCisJMHgxZDQ5ZSwgMHgxZDQ5ZiwKKwkweDFkNGEyLCAweDFkNGEyLAorCTB4
MWQ0YTUsIDB4MWQ0YTYsCisJMHgxZDRhOSwgMHgxZDRhYywKKwkweDFkNGFlLCAweDFkNGI5LAor
CTB4MWQ0YmIsIDB4MWQ0YmIsCisJMHgxZDRiZCwgMHgxZDRjMywKKwkweDFkNGM1LCAweDFkNTA1
LAorCTB4MWQ1MDcsIDB4MWQ1MGEsCisJMHgxZDUwZCwgMHgxZDUxNCwKKwkweDFkNTE2LCAweDFk
NTFjLAorCTB4MWQ1MWUsIDB4MWQ1MzksCisJMHgxZDUzYiwgMHgxZDUzZSwKKwkweDFkNTQwLCAw
eDFkNTQ0LAorCTB4MWQ1NDYsIDB4MWQ1NDYsCisJMHgxZDU0YSwgMHgxZDU1MCwKKwkweDFkNTUy
LCAweDFkNmE1LAorCTB4MWQ2YTgsIDB4MWQ3Y2IsCisJMHgxZDdjZSwgMHgxZDdmZiwKKwkweDFm
MDAwLCAweDFmMDJiLAorCTB4MWYwMzAsIDB4MWYwOTMsCisJMHgxZjEwMCwgMHgxZjEwYSwKKwkw
eDFmMTEwLCAweDFmMTJlLAorCTB4MWYxMzEsIDB4MWYxMzEsCisJMHgxZjEzZCwgMHgxZjEzZCwK
KwkweDFmMTNmLCAweDFmMTNmLAorCTB4MWYxNDIsIDB4MWYxNDIsCisJMHgxZjE0NiwgMHgxZjE0
NiwKKwkweDFmMTRhLCAweDFmMTRlLAorCTB4MWYxNTcsIDB4MWYxNTcsCisJMHgxZjE1ZiwgMHgx
ZjE1ZiwKKwkweDFmMTc5LCAweDFmMTc5LAorCTB4MWYxN2IsIDB4MWYxN2MsCisJMHgxZjE3Ziwg
MHgxZjE3ZiwKKwkweDFmMThhLCAweDFmMThkLAorCTB4MWYxOTAsIDB4MWYxOTAsCisJMHgxZjIw
MCwgMHgxZjIwMCwKKwkweDFmMjEwLCAweDFmMjMxLAorCTB4MWYyNDAsIDB4MWYyNDgsCisJMHgx
ZmZmZSwgMHgyYTZkNiwKKwkweDJhNzAwLCAweDJiNzM0LAorCTB4MmY4MDAsIDB4MmZhMWQsCisJ
MHgyZmZmZSwgMHgyZmZmZiwKKwkweDNmZmZlLCAweDNmZmZmLAorCTB4NGZmZmUsIDB4NGZmZmYs
CisJMHg1ZmZmZSwgMHg1ZmZmZiwKKwkweDZmZmZlLCAweDZmZmZmLAorCTB4N2ZmZmUsIDB4N2Zm
ZmYsCisJMHg4ZmZmZSwgMHg4ZmZmZiwKKwkweDlmZmZlLCAweDlmZmZmLAorCTB4YWZmZmUsIDB4
YWZmZmYsCisJMHhiZmZmZSwgMHhiZmZmZiwKKwkweGNmZmZlLCAweGNmZmZmLAorCTB4ZGZmZmUs
IDB4ZGZmZmYsCisJMHhlMDAwMSwgMHhlMDAwMSwKKwkweGUwMDIwLCAweGUwMDdmLAorCTB4ZTAx
MDAsIDB4ZTAxZWYsCisJMHhlZmZmZSwgMHgxMGZmZmYsCit9OyAvKiBDUl9BZ2VfNV8yICovCisK
Ky8qICdBZ2VfNl8wJzogRGVyaXZlZCBBZ2UgNi4wICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQ
b2ludCBDUl9BZ2VfNl8wW10gPSB7CisJNTExLAorCTB4MDAwMCwgMHgwMzc3LAorCTB4MDM3YSwg
MHgwMzdlLAorCTB4MDM4NCwgMHgwMzhhLAorCTB4MDM4YywgMHgwMzhjLAorCTB4MDM4ZSwgMHgw
M2ExLAorCTB4MDNhMywgMHgwNTI3LAorCTB4MDUzMSwgMHgwNTU2LAorCTB4MDU1OSwgMHgwNTVm
LAorCTB4MDU2MSwgMHgwNTg3LAorCTB4MDU4OSwgMHgwNThhLAorCTB4MDU5MSwgMHgwNWM3LAor
CTB4MDVkMCwgMHgwNWVhLAorCTB4MDVmMCwgMHgwNWY0LAorCTB4MDYwMCwgMHgwNjAzLAorCTB4
MDYwNiwgMHgwNjFiLAorCTB4MDYxZSwgMHgwNzBkLAorCTB4MDcwZiwgMHgwNzRhLAorCTB4MDc0
ZCwgMHgwN2IxLAorCTB4MDdjMCwgMHgwN2ZhLAorCTB4MDgwMCwgMHgwODJkLAorCTB4MDgzMCwg
MHgwODNlLAorCTB4MDg0MCwgMHgwODViLAorCTB4MDg1ZSwgMHgwODVlLAorCTB4MDkwMCwgMHgw
OTc3LAorCTB4MDk3OSwgMHgwOTdmLAorCTB4MDk4MSwgMHgwOTgzLAorCTB4MDk4NSwgMHgwOThj
LAorCTB4MDk4ZiwgMHgwOTkwLAorCTB4MDk5MywgMHgwOWE4LAorCTB4MDlhYSwgMHgwOWIwLAor
CTB4MDliMiwgMHgwOWIyLAorCTB4MDliNiwgMHgwOWI5LAorCTB4MDliYywgMHgwOWM0LAorCTB4
MDljNywgMHgwOWM4LAorCTB4MDljYiwgMHgwOWNlLAorCTB4MDlkNywgMHgwOWQ3LAorCTB4MDlk
YywgMHgwOWRkLAorCTB4MDlkZiwgMHgwOWUzLAorCTB4MDllNiwgMHgwOWZiLAorCTB4MGEwMSwg
MHgwYTAzLAorCTB4MGEwNSwgMHgwYTBhLAorCTB4MGEwZiwgMHgwYTEwLAorCTB4MGExMywgMHgw
YTI4LAorCTB4MGEyYSwgMHgwYTMwLAorCTB4MGEzMiwgMHgwYTMzLAorCTB4MGEzNSwgMHgwYTM2
LAorCTB4MGEzOCwgMHgwYTM5LAorCTB4MGEzYywgMHgwYTNjLAorCTB4MGEzZSwgMHgwYTQyLAor
CTB4MGE0NywgMHgwYTQ4LAorCTB4MGE0YiwgMHgwYTRkLAorCTB4MGE1MSwgMHgwYTUxLAorCTB4
MGE1OSwgMHgwYTVjLAorCTB4MGE1ZSwgMHgwYTVlLAorCTB4MGE2NiwgMHgwYTc1LAorCTB4MGE4
MSwgMHgwYTgzLAorCTB4MGE4NSwgMHgwYThkLAorCTB4MGE4ZiwgMHgwYTkxLAorCTB4MGE5Mywg
MHgwYWE4LAorCTB4MGFhYSwgMHgwYWIwLAorCTB4MGFiMiwgMHgwYWIzLAorCTB4MGFiNSwgMHgw
YWI5LAorCTB4MGFiYywgMHgwYWM1LAorCTB4MGFjNywgMHgwYWM5LAorCTB4MGFjYiwgMHgwYWNk
LAorCTB4MGFkMCwgMHgwYWQwLAorCTB4MGFlMCwgMHgwYWUzLAorCTB4MGFlNiwgMHgwYWVmLAor
CTB4MGFmMSwgMHgwYWYxLAorCTB4MGIwMSwgMHgwYjAzLAorCTB4MGIwNSwgMHgwYjBjLAorCTB4
MGIwZiwgMHgwYjEwLAorCTB4MGIxMywgMHgwYjI4LAorCTB4MGIyYSwgMHgwYjMwLAorCTB4MGIz
MiwgMHgwYjMzLAorCTB4MGIzNSwgMHgwYjM5LAorCTB4MGIzYywgMHgwYjQ0LAorCTB4MGI0Nywg
MHgwYjQ4LAorCTB4MGI0YiwgMHgwYjRkLAorCTB4MGI1NiwgMHgwYjU3LAorCTB4MGI1YywgMHgw
YjVkLAorCTB4MGI1ZiwgMHgwYjYzLAorCTB4MGI2NiwgMHgwYjc3LAorCTB4MGI4MiwgMHgwYjgz
LAorCTB4MGI4NSwgMHgwYjhhLAorCTB4MGI4ZSwgMHgwYjkwLAorCTB4MGI5MiwgMHgwYjk1LAor
CTB4MGI5OSwgMHgwYjlhLAorCTB4MGI5YywgMHgwYjljLAorCTB4MGI5ZSwgMHgwYjlmLAorCTB4
MGJhMywgMHgwYmE0LAorCTB4MGJhOCwgMHgwYmFhLAorCTB4MGJhZSwgMHgwYmI5LAorCTB4MGJi
ZSwgMHgwYmMyLAorCTB4MGJjNiwgMHgwYmM4LAorCTB4MGJjYSwgMHgwYmNkLAorCTB4MGJkMCwg
MHgwYmQwLAorCTB4MGJkNywgMHgwYmQ3LAorCTB4MGJlNiwgMHgwYmZhLAorCTB4MGMwMSwgMHgw
YzAzLAorCTB4MGMwNSwgMHgwYzBjLAorCTB4MGMwZSwgMHgwYzEwLAorCTB4MGMxMiwgMHgwYzI4
LAorCTB4MGMyYSwgMHgwYzMzLAorCTB4MGMzNSwgMHgwYzM5LAorCTB4MGMzZCwgMHgwYzQ0LAor
CTB4MGM0NiwgMHgwYzQ4LAorCTB4MGM0YSwgMHgwYzRkLAorCTB4MGM1NSwgMHgwYzU2LAorCTB4
MGM1OCwgMHgwYzU5LAorCTB4MGM2MCwgMHgwYzYzLAorCTB4MGM2NiwgMHgwYzZmLAorCTB4MGM3
OCwgMHgwYzdmLAorCTB4MGM4MiwgMHgwYzgzLAorCTB4MGM4NSwgMHgwYzhjLAorCTB4MGM4ZSwg
MHgwYzkwLAorCTB4MGM5MiwgMHgwY2E4LAorCTB4MGNhYSwgMHgwY2IzLAorCTB4MGNiNSwgMHgw
Y2I5LAorCTB4MGNiYywgMHgwY2M0LAorCTB4MGNjNiwgMHgwY2M4LAorCTB4MGNjYSwgMHgwY2Nk
LAorCTB4MGNkNSwgMHgwY2Q2LAorCTB4MGNkZSwgMHgwY2RlLAorCTB4MGNlMCwgMHgwY2UzLAor
CTB4MGNlNiwgMHgwY2VmLAorCTB4MGNmMSwgMHgwY2YyLAorCTB4MGQwMiwgMHgwZDAzLAorCTB4
MGQwNSwgMHgwZDBjLAorCTB4MGQwZSwgMHgwZDEwLAorCTB4MGQxMiwgMHgwZDNhLAorCTB4MGQz
ZCwgMHgwZDQ0LAorCTB4MGQ0NiwgMHgwZDQ4LAorCTB4MGQ0YSwgMHgwZDRlLAorCTB4MGQ1Nywg
MHgwZDU3LAorCTB4MGQ2MCwgMHgwZDYzLAorCTB4MGQ2NiwgMHgwZDc1LAorCTB4MGQ3OSwgMHgw
ZDdmLAorCTB4MGQ4MiwgMHgwZDgzLAorCTB4MGQ4NSwgMHgwZDk2LAorCTB4MGQ5YSwgMHgwZGIx
LAorCTB4MGRiMywgMHgwZGJiLAorCTB4MGRiZCwgMHgwZGJkLAorCTB4MGRjMCwgMHgwZGM2LAor
CTB4MGRjYSwgMHgwZGNhLAorCTB4MGRjZiwgMHgwZGQ0LAorCTB4MGRkNiwgMHgwZGQ2LAorCTB4
MGRkOCwgMHgwZGRmLAorCTB4MGRmMiwgMHgwZGY0LAorCTB4MGUwMSwgMHgwZTNhLAorCTB4MGUz
ZiwgMHgwZTViLAorCTB4MGU4MSwgMHgwZTgyLAorCTB4MGU4NCwgMHgwZTg0LAorCTB4MGU4Nywg
MHgwZTg4LAorCTB4MGU4YSwgMHgwZThhLAorCTB4MGU4ZCwgMHgwZThkLAorCTB4MGU5NCwgMHgw
ZTk3LAorCTB4MGU5OSwgMHgwZTlmLAorCTB4MGVhMSwgMHgwZWEzLAorCTB4MGVhNSwgMHgwZWE1
LAorCTB4MGVhNywgMHgwZWE3LAorCTB4MGVhYSwgMHgwZWFiLAorCTB4MGVhZCwgMHgwZWI5LAor
CTB4MGViYiwgMHgwZWJkLAorCTB4MGVjMCwgMHgwZWM0LAorCTB4MGVjNiwgMHgwZWM2LAorCTB4
MGVjOCwgMHgwZWNkLAorCTB4MGVkMCwgMHgwZWQ5LAorCTB4MGVkYywgMHgwZWRkLAorCTB4MGYw
MCwgMHgwZjQ3LAorCTB4MGY0OSwgMHgwZjZjLAorCTB4MGY3MSwgMHgwZjk3LAorCTB4MGY5OSwg
MHgwZmJjLAorCTB4MGZiZSwgMHgwZmNjLAorCTB4MGZjZSwgMHgwZmRhLAorCTB4MTAwMCwgMHgx
MGM1LAorCTB4MTBkMCwgMHgxMGZjLAorCTB4MTEwMCwgMHgxMjQ4LAorCTB4MTI0YSwgMHgxMjRk
LAorCTB4MTI1MCwgMHgxMjU2LAorCTB4MTI1OCwgMHgxMjU4LAorCTB4MTI1YSwgMHgxMjVkLAor
CTB4MTI2MCwgMHgxMjg4LAorCTB4MTI4YSwgMHgxMjhkLAorCTB4MTI5MCwgMHgxMmIwLAorCTB4
MTJiMiwgMHgxMmI1LAorCTB4MTJiOCwgMHgxMmJlLAorCTB4MTJjMCwgMHgxMmMwLAorCTB4MTJj
MiwgMHgxMmM1LAorCTB4MTJjOCwgMHgxMmQ2LAorCTB4MTJkOCwgMHgxMzEwLAorCTB4MTMxMiwg
MHgxMzE1LAorCTB4MTMxOCwgMHgxMzVhLAorCTB4MTM1ZCwgMHgxMzdjLAorCTB4MTM4MCwgMHgx
Mzk5LAorCTB4MTNhMCwgMHgxM2Y0LAorCTB4MTQwMCwgMHgxNjljLAorCTB4MTZhMCwgMHgxNmYw
LAorCTB4MTcwMCwgMHgxNzBjLAorCTB4MTcwZSwgMHgxNzE0LAorCTB4MTcyMCwgMHgxNzM2LAor
CTB4MTc0MCwgMHgxNzUzLAorCTB4MTc2MCwgMHgxNzZjLAorCTB4MTc2ZSwgMHgxNzcwLAorCTB4
MTc3MiwgMHgxNzczLAorCTB4MTc4MCwgMHgxN2RkLAorCTB4MTdlMCwgMHgxN2U5LAorCTB4MTdm
MCwgMHgxN2Y5LAorCTB4MTgwMCwgMHgxODBlLAorCTB4MTgxMCwgMHgxODE5LAorCTB4MTgyMCwg
MHgxODc3LAorCTB4MTg4MCwgMHgxOGFhLAorCTB4MThiMCwgMHgxOGY1LAorCTB4MTkwMCwgMHgx
OTFjLAorCTB4MTkyMCwgMHgxOTJiLAorCTB4MTkzMCwgMHgxOTNiLAorCTB4MTk0MCwgMHgxOTQw
LAorCTB4MTk0NCwgMHgxOTZkLAorCTB4MTk3MCwgMHgxOTc0LAorCTB4MTk4MCwgMHgxOWFiLAor
CTB4MTliMCwgMHgxOWM5LAorCTB4MTlkMCwgMHgxOWRhLAorCTB4MTlkZSwgMHgxYTFiLAorCTB4
MWExZSwgMHgxYTVlLAorCTB4MWE2MCwgMHgxYTdjLAorCTB4MWE3ZiwgMHgxYTg5LAorCTB4MWE5
MCwgMHgxYTk5LAorCTB4MWFhMCwgMHgxYWFkLAorCTB4MWIwMCwgMHgxYjRiLAorCTB4MWI1MCwg
MHgxYjdjLAorCTB4MWI4MCwgMHgxYmFhLAorCTB4MWJhZSwgMHgxYmI5LAorCTB4MWJjMCwgMHgx
YmYzLAorCTB4MWJmYywgMHgxYzM3LAorCTB4MWMzYiwgMHgxYzQ5LAorCTB4MWM0ZCwgMHgxYzdm
LAorCTB4MWNkMCwgMHgxY2YyLAorCTB4MWQwMCwgMHgxZGU2LAorCTB4MWRmYywgMHgxZjE1LAor
CTB4MWYxOCwgMHgxZjFkLAorCTB4MWYyMCwgMHgxZjQ1LAorCTB4MWY0OCwgMHgxZjRkLAorCTB4
MWY1MCwgMHgxZjU3LAorCTB4MWY1OSwgMHgxZjU5LAorCTB4MWY1YiwgMHgxZjViLAorCTB4MWY1
ZCwgMHgxZjVkLAorCTB4MWY1ZiwgMHgxZjdkLAorCTB4MWY4MCwgMHgxZmI0LAorCTB4MWZiNiwg
MHgxZmM0LAorCTB4MWZjNiwgMHgxZmQzLAorCTB4MWZkNiwgMHgxZmRiLAorCTB4MWZkZCwgMHgx
ZmVmLAorCTB4MWZmMiwgMHgxZmY0LAorCTB4MWZmNiwgMHgxZmZlLAorCTB4MjAwMCwgMHgyMDY0
LAorCTB4MjA2YSwgMHgyMDcxLAorCTB4MjA3NCwgMHgyMDhlLAorCTB4MjA5MCwgMHgyMDljLAor
CTB4MjBhMCwgMHgyMGI5LAorCTB4MjBkMCwgMHgyMGYwLAorCTB4MjEwMCwgMHgyMTg5LAorCTB4
MjE5MCwgMHgyM2YzLAorCTB4MjQwMCwgMHgyNDI2LAorCTB4MjQ0MCwgMHgyNDRhLAorCTB4MjQ2
MCwgMHgyNmZmLAorCTB4MjcwMSwgMHgyN2NhLAorCTB4MjdjYywgMHgyN2NjLAorCTB4MjdjZSwg
MHgyYjRjLAorCTB4MmI1MCwgMHgyYjU5LAorCTB4MmMwMCwgMHgyYzJlLAorCTB4MmMzMCwgMHgy
YzVlLAorCTB4MmM2MCwgMHgyY2YxLAorCTB4MmNmOSwgMHgyZDI1LAorCTB4MmQzMCwgMHgyZDY1
LAorCTB4MmQ2ZiwgMHgyZDcwLAorCTB4MmQ3ZiwgMHgyZDk2LAorCTB4MmRhMCwgMHgyZGE2LAor
CTB4MmRhOCwgMHgyZGFlLAorCTB4MmRiMCwgMHgyZGI2LAorCTB4MmRiOCwgMHgyZGJlLAorCTB4
MmRjMCwgMHgyZGM2LAorCTB4MmRjOCwgMHgyZGNlLAorCTB4MmRkMCwgMHgyZGQ2LAorCTB4MmRk
OCwgMHgyZGRlLAorCTB4MmRlMCwgMHgyZTMxLAorCTB4MmU4MCwgMHgyZTk5LAorCTB4MmU5Yiwg
MHgyZWYzLAorCTB4MmYwMCwgMHgyZmQ1LAorCTB4MmZmMCwgMHgyZmZiLAorCTB4MzAwMCwgMHgz
MDNmLAorCTB4MzA0MSwgMHgzMDk2LAorCTB4MzA5OSwgMHgzMGZmLAorCTB4MzEwNSwgMHgzMTJk
LAorCTB4MzEzMSwgMHgzMThlLAorCTB4MzE5MCwgMHgzMWJhLAorCTB4MzFjMCwgMHgzMWUzLAor
CTB4MzFmMCwgMHgzMjFlLAorCTB4MzIyMCwgMHgzMmZlLAorCTB4MzMwMCwgMHg0ZGI1LAorCTB4
NGRjMCwgMHg5ZmNiLAorCTB4YTAwMCwgMHhhNDhjLAorCTB4YTQ5MCwgMHhhNGM2LAorCTB4YTRk
MCwgMHhhNjJiLAorCTB4YTY0MCwgMHhhNjczLAorCTB4YTY3YywgMHhhNjk3LAorCTB4YTZhMCwg
MHhhNmY3LAorCTB4YTcwMCwgMHhhNzhlLAorCTB4YTc5MCwgMHhhNzkxLAorCTB4YTdhMCwgMHhh
N2E5LAorCTB4YTdmYSwgMHhhODJiLAorCTB4YTgzMCwgMHhhODM5LAorCTB4YTg0MCwgMHhhODc3
LAorCTB4YTg4MCwgMHhhOGM0LAorCTB4YThjZSwgMHhhOGQ5LAorCTB4YThlMCwgMHhhOGZiLAor
CTB4YTkwMCwgMHhhOTUzLAorCTB4YTk1ZiwgMHhhOTdjLAorCTB4YTk4MCwgMHhhOWNkLAorCTB4
YTljZiwgMHhhOWQ5LAorCTB4YTlkZSwgMHhhOWRmLAorCTB4YWEwMCwgMHhhYTM2LAorCTB4YWE0
MCwgMHhhYTRkLAorCTB4YWE1MCwgMHhhYTU5LAorCTB4YWE1YywgMHhhYTdiLAorCTB4YWE4MCwg
MHhhYWMyLAorCTB4YWFkYiwgMHhhYWRmLAorCTB4YWIwMSwgMHhhYjA2LAorCTB4YWIwOSwgMHhh
YjBlLAorCTB4YWIxMSwgMHhhYjE2LAorCTB4YWIyMCwgMHhhYjI2LAorCTB4YWIyOCwgMHhhYjJl
LAorCTB4YWJjMCwgMHhhYmVkLAorCTB4YWJmMCwgMHhhYmY5LAorCTB4YWMwMCwgMHhkN2EzLAor
CTB4ZDdiMCwgMHhkN2M2LAorCTB4ZDdjYiwgMHhkN2ZiLAorCTB4ZDgwMCwgMHhmYTJkLAorCTB4
ZmEzMCwgMHhmYTZkLAorCTB4ZmE3MCwgMHhmYWQ5LAorCTB4ZmIwMCwgMHhmYjA2LAorCTB4ZmIx
MywgMHhmYjE3LAorCTB4ZmIxZCwgMHhmYjM2LAorCTB4ZmIzOCwgMHhmYjNjLAorCTB4ZmIzZSwg
MHhmYjNlLAorCTB4ZmI0MCwgMHhmYjQxLAorCTB4ZmI0MywgMHhmYjQ0LAorCTB4ZmI0NiwgMHhm
YmMxLAorCTB4ZmJkMywgMHhmZDNmLAorCTB4ZmQ1MCwgMHhmZDhmLAorCTB4ZmQ5MiwgMHhmZGM3
LAorCTB4ZmRkMCwgMHhmZGZkLAorCTB4ZmUwMCwgMHhmZTE5LAorCTB4ZmUyMCwgMHhmZTI2LAor
CTB4ZmUzMCwgMHhmZTUyLAorCTB4ZmU1NCwgMHhmZTY2LAorCTB4ZmU2OCwgMHhmZTZiLAorCTB4
ZmU3MCwgMHhmZTc0LAorCTB4ZmU3NiwgMHhmZWZjLAorCTB4ZmVmZiwgMHhmZWZmLAorCTB4ZmYw
MSwgMHhmZmJlLAorCTB4ZmZjMiwgMHhmZmM3LAorCTB4ZmZjYSwgMHhmZmNmLAorCTB4ZmZkMiwg
MHhmZmQ3LAorCTB4ZmZkYSwgMHhmZmRjLAorCTB4ZmZlMCwgMHhmZmU2LAorCTB4ZmZlOCwgMHhm
ZmVlLAorCTB4ZmZmOSwgMHgxMDAwYiwKKwkweDEwMDBkLCAweDEwMDI2LAorCTB4MTAwMjgsIDB4
MTAwM2EsCisJMHgxMDAzYywgMHgxMDAzZCwKKwkweDEwMDNmLCAweDEwMDRkLAorCTB4MTAwNTAs
IDB4MTAwNWQsCisJMHgxMDA4MCwgMHgxMDBmYSwKKwkweDEwMTAwLCAweDEwMTAyLAorCTB4MTAx
MDcsIDB4MTAxMzMsCisJMHgxMDEzNywgMHgxMDE4YSwKKwkweDEwMTkwLCAweDEwMTliLAorCTB4
MTAxZDAsIDB4MTAxZmQsCisJMHgxMDI4MCwgMHgxMDI5YywKKwkweDEwMmEwLCAweDEwMmQwLAor
CTB4MTAzMDAsIDB4MTAzMWUsCisJMHgxMDMyMCwgMHgxMDMyMywKKwkweDEwMzMwLCAweDEwMzRh
LAorCTB4MTAzODAsIDB4MTAzOWQsCisJMHgxMDM5ZiwgMHgxMDNjMywKKwkweDEwM2M4LCAweDEw
M2Q1LAorCTB4MTA0MDAsIDB4MTA0OWQsCisJMHgxMDRhMCwgMHgxMDRhOSwKKwkweDEwODAwLCAw
eDEwODA1LAorCTB4MTA4MDgsIDB4MTA4MDgsCisJMHgxMDgwYSwgMHgxMDgzNSwKKwkweDEwODM3
LCAweDEwODM4LAorCTB4MTA4M2MsIDB4MTA4M2MsCisJMHgxMDgzZiwgMHgxMDg1NSwKKwkweDEw
ODU3LCAweDEwODVmLAorCTB4MTA5MDAsIDB4MTA5MWIsCisJMHgxMDkxZiwgMHgxMDkzOSwKKwkw
eDEwOTNmLCAweDEwOTNmLAorCTB4MTBhMDAsIDB4MTBhMDMsCisJMHgxMGEwNSwgMHgxMGEwNiwK
KwkweDEwYTBjLCAweDEwYTEzLAorCTB4MTBhMTUsIDB4MTBhMTcsCisJMHgxMGExOSwgMHgxMGEz
MywKKwkweDEwYTM4LCAweDEwYTNhLAorCTB4MTBhM2YsIDB4MTBhNDcsCisJMHgxMGE1MCwgMHgx
MGE1OCwKKwkweDEwYTYwLCAweDEwYTdmLAorCTB4MTBiMDAsIDB4MTBiMzUsCisJMHgxMGIzOSwg
MHgxMGI1NSwKKwkweDEwYjU4LCAweDEwYjcyLAorCTB4MTBiNzgsIDB4MTBiN2YsCisJMHgxMGMw
MCwgMHgxMGM0OCwKKwkweDEwZTYwLCAweDEwZTdlLAorCTB4MTEwMDAsIDB4MTEwNGQsCisJMHgx
MTA1MiwgMHgxMTA2ZiwKKwkweDExMDgwLCAweDExMGMxLAorCTB4MTIwMDAsIDB4MTIzNmUsCisJ
MHgxMjQwMCwgMHgxMjQ2MiwKKwkweDEyNDcwLCAweDEyNDczLAorCTB4MTMwMDAsIDB4MTM0MmUs
CisJMHgxNjgwMCwgMHgxNmEzOCwKKwkweDFiMDAwLCAweDFiMDAxLAorCTB4MWQwMDAsIDB4MWQw
ZjUsCisJMHgxZDEwMCwgMHgxZDEyNiwKKwkweDFkMTI5LCAweDFkMWRkLAorCTB4MWQyMDAsIDB4
MWQyNDUsCisJMHgxZDMwMCwgMHgxZDM1NiwKKwkweDFkMzYwLCAweDFkMzcxLAorCTB4MWQ0MDAs
IDB4MWQ0NTQsCisJMHgxZDQ1NiwgMHgxZDQ5YywKKwkweDFkNDllLCAweDFkNDlmLAorCTB4MWQ0
YTIsIDB4MWQ0YTIsCisJMHgxZDRhNSwgMHgxZDRhNiwKKwkweDFkNGE5LCAweDFkNGFjLAorCTB4
MWQ0YWUsIDB4MWQ0YjksCisJMHgxZDRiYiwgMHgxZDRiYiwKKwkweDFkNGJkLCAweDFkNGMzLAor
CTB4MWQ0YzUsIDB4MWQ1MDUsCisJMHgxZDUwNywgMHgxZDUwYSwKKwkweDFkNTBkLCAweDFkNTE0
LAorCTB4MWQ1MTYsIDB4MWQ1MWMsCisJMHgxZDUxZSwgMHgxZDUzOSwKKwkweDFkNTNiLCAweDFk
NTNlLAorCTB4MWQ1NDAsIDB4MWQ1NDQsCisJMHgxZDU0NiwgMHgxZDU0NiwKKwkweDFkNTRhLCAw
eDFkNTUwLAorCTB4MWQ1NTIsIDB4MWQ2YTUsCisJMHgxZDZhOCwgMHgxZDdjYiwKKwkweDFkN2Nl
LCAweDFkN2ZmLAorCTB4MWYwMDAsIDB4MWYwMmIsCisJMHgxZjAzMCwgMHgxZjA5MywKKwkweDFm
MGEwLCAweDFmMGFlLAorCTB4MWYwYjEsIDB4MWYwYmUsCisJMHgxZjBjMSwgMHgxZjBjZiwKKwkw
eDFmMGQxLCAweDFmMGRmLAorCTB4MWYxMDAsIDB4MWYxMGEsCisJMHgxZjExMCwgMHgxZjEyZSwK
KwkweDFmMTMwLCAweDFmMTY5LAorCTB4MWYxNzAsIDB4MWYxOWEsCisJMHgxZjFlNiwgMHgxZjIw
MiwKKwkweDFmMjEwLCAweDFmMjNhLAorCTB4MWYyNDAsIDB4MWYyNDgsCisJMHgxZjI1MCwgMHgx
ZjI1MSwKKwkweDFmMzAwLCAweDFmMzIwLAorCTB4MWYzMzAsIDB4MWYzMzUsCisJMHgxZjMzNywg
MHgxZjM3YywKKwkweDFmMzgwLCAweDFmMzkzLAorCTB4MWYzYTAsIDB4MWYzYzQsCisJMHgxZjNj
NiwgMHgxZjNjYSwKKwkweDFmM2UwLCAweDFmM2YwLAorCTB4MWY0MDAsIDB4MWY0M2UsCisJMHgx
ZjQ0MCwgMHgxZjQ0MCwKKwkweDFmNDQyLCAweDFmNGY3LAorCTB4MWY0ZjksIDB4MWY0ZmMsCisJ
MHgxZjUwMCwgMHgxZjUzZCwKKwkweDFmNTUwLCAweDFmNTY3LAorCTB4MWY1ZmIsIDB4MWY1ZmYs
CisJMHgxZjYwMSwgMHgxZjYxMCwKKwkweDFmNjEyLCAweDFmNjE0LAorCTB4MWY2MTYsIDB4MWY2
MTYsCisJMHgxZjYxOCwgMHgxZjYxOCwKKwkweDFmNjFhLCAweDFmNjFhLAorCTB4MWY2MWMsIDB4
MWY2MWUsCisJMHgxZjYyMCwgMHgxZjYyNSwKKwkweDFmNjI4LCAweDFmNjJiLAorCTB4MWY2MmQs
IDB4MWY2MmQsCisJMHgxZjYzMCwgMHgxZjYzMywKKwkweDFmNjM1LCAweDFmNjQwLAorCTB4MWY2
NDUsIDB4MWY2NGYsCisJMHgxZjY4MCwgMHgxZjZjNSwKKwkweDFmNzAwLCAweDFmNzczLAorCTB4
MWZmZmUsIDB4MmE2ZDYsCisJMHgyYTcwMCwgMHgyYjczNCwKKwkweDJiNzQwLCAweDJiODFkLAor
CTB4MmY4MDAsIDB4MmZhMWQsCisJMHgyZmZmZSwgMHgyZmZmZiwKKwkweDNmZmZlLCAweDNmZmZm
LAorCTB4NGZmZmUsIDB4NGZmZmYsCisJMHg1ZmZmZSwgMHg1ZmZmZiwKKwkweDZmZmZlLCAweDZm
ZmZmLAorCTB4N2ZmZmUsIDB4N2ZmZmYsCisJMHg4ZmZmZSwgMHg4ZmZmZiwKKwkweDlmZmZlLCAw
eDlmZmZmLAorCTB4YWZmZmUsIDB4YWZmZmYsCisJMHhiZmZmZSwgMHhiZmZmZiwKKwkweGNmZmZl
LCAweGNmZmZmLAorCTB4ZGZmZmUsIDB4ZGZmZmYsCisJMHhlMDAwMSwgMHhlMDAwMSwKKwkweGUw
MDIwLCAweGUwMDdmLAorCTB4ZTAxMDAsIDB4ZTAxZWYsCisJMHhlZmZmZSwgMHgxMGZmZmYsCit9
OyAvKiBDUl9BZ2VfNl8wICovCisKKy8qICdBZ2VfNl8xJzogRGVyaXZlZCBBZ2UgNi4xICovCitz
dGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9BZ2VfNl8xW10gPSB7CisJNTQ5LAorCTB4MDAw
MCwgMHgwMzc3LAorCTB4MDM3YSwgMHgwMzdlLAorCTB4MDM4NCwgMHgwMzhhLAorCTB4MDM4Yywg
MHgwMzhjLAorCTB4MDM4ZSwgMHgwM2ExLAorCTB4MDNhMywgMHgwNTI3LAorCTB4MDUzMSwgMHgw
NTU2LAorCTB4MDU1OSwgMHgwNTVmLAorCTB4MDU2MSwgMHgwNTg3LAorCTB4MDU4OSwgMHgwNThh
LAorCTB4MDU4ZiwgMHgwNThmLAorCTB4MDU5MSwgMHgwNWM3LAorCTB4MDVkMCwgMHgwNWVhLAor
CTB4MDVmMCwgMHgwNWY0LAorCTB4MDYwMCwgMHgwNjA0LAorCTB4MDYwNiwgMHgwNjFiLAorCTB4
MDYxZSwgMHgwNzBkLAorCTB4MDcwZiwgMHgwNzRhLAorCTB4MDc0ZCwgMHgwN2IxLAorCTB4MDdj
MCwgMHgwN2ZhLAorCTB4MDgwMCwgMHgwODJkLAorCTB4MDgzMCwgMHgwODNlLAorCTB4MDg0MCwg
MHgwODViLAorCTB4MDg1ZSwgMHgwODVlLAorCTB4MDhhMCwgMHgwOGEwLAorCTB4MDhhMiwgMHgw
OGFjLAorCTB4MDhlNCwgMHgwOGZlLAorCTB4MDkwMCwgMHgwOTc3LAorCTB4MDk3OSwgMHgwOTdm
LAorCTB4MDk4MSwgMHgwOTgzLAorCTB4MDk4NSwgMHgwOThjLAorCTB4MDk4ZiwgMHgwOTkwLAor
CTB4MDk5MywgMHgwOWE4LAorCTB4MDlhYSwgMHgwOWIwLAorCTB4MDliMiwgMHgwOWIyLAorCTB4
MDliNiwgMHgwOWI5LAorCTB4MDliYywgMHgwOWM0LAorCTB4MDljNywgMHgwOWM4LAorCTB4MDlj
YiwgMHgwOWNlLAorCTB4MDlkNywgMHgwOWQ3LAorCTB4MDlkYywgMHgwOWRkLAorCTB4MDlkZiwg
MHgwOWUzLAorCTB4MDllNiwgMHgwOWZiLAorCTB4MGEwMSwgMHgwYTAzLAorCTB4MGEwNSwgMHgw
YTBhLAorCTB4MGEwZiwgMHgwYTEwLAorCTB4MGExMywgMHgwYTI4LAorCTB4MGEyYSwgMHgwYTMw
LAorCTB4MGEzMiwgMHgwYTMzLAorCTB4MGEzNSwgMHgwYTM2LAorCTB4MGEzOCwgMHgwYTM5LAor
CTB4MGEzYywgMHgwYTNjLAorCTB4MGEzZSwgMHgwYTQyLAorCTB4MGE0NywgMHgwYTQ4LAorCTB4
MGE0YiwgMHgwYTRkLAorCTB4MGE1MSwgMHgwYTUxLAorCTB4MGE1OSwgMHgwYTVjLAorCTB4MGE1
ZSwgMHgwYTVlLAorCTB4MGE2NiwgMHgwYTc1LAorCTB4MGE4MSwgMHgwYTgzLAorCTB4MGE4NSwg
MHgwYThkLAorCTB4MGE4ZiwgMHgwYTkxLAorCTB4MGE5MywgMHgwYWE4LAorCTB4MGFhYSwgMHgw
YWIwLAorCTB4MGFiMiwgMHgwYWIzLAorCTB4MGFiNSwgMHgwYWI5LAorCTB4MGFiYywgMHgwYWM1
LAorCTB4MGFjNywgMHgwYWM5LAorCTB4MGFjYiwgMHgwYWNkLAorCTB4MGFkMCwgMHgwYWQwLAor
CTB4MGFlMCwgMHgwYWUzLAorCTB4MGFlNiwgMHgwYWYxLAorCTB4MGIwMSwgMHgwYjAzLAorCTB4
MGIwNSwgMHgwYjBjLAorCTB4MGIwZiwgMHgwYjEwLAorCTB4MGIxMywgMHgwYjI4LAorCTB4MGIy
YSwgMHgwYjMwLAorCTB4MGIzMiwgMHgwYjMzLAorCTB4MGIzNSwgMHgwYjM5LAorCTB4MGIzYywg
MHgwYjQ0LAorCTB4MGI0NywgMHgwYjQ4LAorCTB4MGI0YiwgMHgwYjRkLAorCTB4MGI1NiwgMHgw
YjU3LAorCTB4MGI1YywgMHgwYjVkLAorCTB4MGI1ZiwgMHgwYjYzLAorCTB4MGI2NiwgMHgwYjc3
LAorCTB4MGI4MiwgMHgwYjgzLAorCTB4MGI4NSwgMHgwYjhhLAorCTB4MGI4ZSwgMHgwYjkwLAor
CTB4MGI5MiwgMHgwYjk1LAorCTB4MGI5OSwgMHgwYjlhLAorCTB4MGI5YywgMHgwYjljLAorCTB4
MGI5ZSwgMHgwYjlmLAorCTB4MGJhMywgMHgwYmE0LAorCTB4MGJhOCwgMHgwYmFhLAorCTB4MGJh
ZSwgMHgwYmI5LAorCTB4MGJiZSwgMHgwYmMyLAorCTB4MGJjNiwgMHgwYmM4LAorCTB4MGJjYSwg
MHgwYmNkLAorCTB4MGJkMCwgMHgwYmQwLAorCTB4MGJkNywgMHgwYmQ3LAorCTB4MGJlNiwgMHgw
YmZhLAorCTB4MGMwMSwgMHgwYzAzLAorCTB4MGMwNSwgMHgwYzBjLAorCTB4MGMwZSwgMHgwYzEw
LAorCTB4MGMxMiwgMHgwYzI4LAorCTB4MGMyYSwgMHgwYzMzLAorCTB4MGMzNSwgMHgwYzM5LAor
CTB4MGMzZCwgMHgwYzQ0LAorCTB4MGM0NiwgMHgwYzQ4LAorCTB4MGM0YSwgMHgwYzRkLAorCTB4
MGM1NSwgMHgwYzU2LAorCTB4MGM1OCwgMHgwYzU5LAorCTB4MGM2MCwgMHgwYzYzLAorCTB4MGM2
NiwgMHgwYzZmLAorCTB4MGM3OCwgMHgwYzdmLAorCTB4MGM4MiwgMHgwYzgzLAorCTB4MGM4NSwg
MHgwYzhjLAorCTB4MGM4ZSwgMHgwYzkwLAorCTB4MGM5MiwgMHgwY2E4LAorCTB4MGNhYSwgMHgw
Y2IzLAorCTB4MGNiNSwgMHgwY2I5LAorCTB4MGNiYywgMHgwY2M0LAorCTB4MGNjNiwgMHgwY2M4
LAorCTB4MGNjYSwgMHgwY2NkLAorCTB4MGNkNSwgMHgwY2Q2LAorCTB4MGNkZSwgMHgwY2RlLAor
CTB4MGNlMCwgMHgwY2UzLAorCTB4MGNlNiwgMHgwY2VmLAorCTB4MGNmMSwgMHgwY2YyLAorCTB4
MGQwMiwgMHgwZDAzLAorCTB4MGQwNSwgMHgwZDBjLAorCTB4MGQwZSwgMHgwZDEwLAorCTB4MGQx
MiwgMHgwZDNhLAorCTB4MGQzZCwgMHgwZDQ0LAorCTB4MGQ0NiwgMHgwZDQ4LAorCTB4MGQ0YSwg
MHgwZDRlLAorCTB4MGQ1NywgMHgwZDU3LAorCTB4MGQ2MCwgMHgwZDYzLAorCTB4MGQ2NiwgMHgw
ZDc1LAorCTB4MGQ3OSwgMHgwZDdmLAorCTB4MGQ4MiwgMHgwZDgzLAorCTB4MGQ4NSwgMHgwZDk2
LAorCTB4MGQ5YSwgMHgwZGIxLAorCTB4MGRiMywgMHgwZGJiLAorCTB4MGRiZCwgMHgwZGJkLAor
CTB4MGRjMCwgMHgwZGM2LAorCTB4MGRjYSwgMHgwZGNhLAorCTB4MGRjZiwgMHgwZGQ0LAorCTB4
MGRkNiwgMHgwZGQ2LAorCTB4MGRkOCwgMHgwZGRmLAorCTB4MGRmMiwgMHgwZGY0LAorCTB4MGUw
MSwgMHgwZTNhLAorCTB4MGUzZiwgMHgwZTViLAorCTB4MGU4MSwgMHgwZTgyLAorCTB4MGU4NCwg
MHgwZTg0LAorCTB4MGU4NywgMHgwZTg4LAorCTB4MGU4YSwgMHgwZThhLAorCTB4MGU4ZCwgMHgw
ZThkLAorCTB4MGU5NCwgMHgwZTk3LAorCTB4MGU5OSwgMHgwZTlmLAorCTB4MGVhMSwgMHgwZWEz
LAorCTB4MGVhNSwgMHgwZWE1LAorCTB4MGVhNywgMHgwZWE3LAorCTB4MGVhYSwgMHgwZWFiLAor
CTB4MGVhZCwgMHgwZWI5LAorCTB4MGViYiwgMHgwZWJkLAorCTB4MGVjMCwgMHgwZWM0LAorCTB4
MGVjNiwgMHgwZWM2LAorCTB4MGVjOCwgMHgwZWNkLAorCTB4MGVkMCwgMHgwZWQ5LAorCTB4MGVk
YywgMHgwZWRmLAorCTB4MGYwMCwgMHgwZjQ3LAorCTB4MGY0OSwgMHgwZjZjLAorCTB4MGY3MSwg
MHgwZjk3LAorCTB4MGY5OSwgMHgwZmJjLAorCTB4MGZiZSwgMHgwZmNjLAorCTB4MGZjZSwgMHgw
ZmRhLAorCTB4MTAwMCwgMHgxMGM1LAorCTB4MTBjNywgMHgxMGM3LAorCTB4MTBjZCwgMHgxMGNk
LAorCTB4MTBkMCwgMHgxMjQ4LAorCTB4MTI0YSwgMHgxMjRkLAorCTB4MTI1MCwgMHgxMjU2LAor
CTB4MTI1OCwgMHgxMjU4LAorCTB4MTI1YSwgMHgxMjVkLAorCTB4MTI2MCwgMHgxMjg4LAorCTB4
MTI4YSwgMHgxMjhkLAorCTB4MTI5MCwgMHgxMmIwLAorCTB4MTJiMiwgMHgxMmI1LAorCTB4MTJi
OCwgMHgxMmJlLAorCTB4MTJjMCwgMHgxMmMwLAorCTB4MTJjMiwgMHgxMmM1LAorCTB4MTJjOCwg
MHgxMmQ2LAorCTB4MTJkOCwgMHgxMzEwLAorCTB4MTMxMiwgMHgxMzE1LAorCTB4MTMxOCwgMHgx
MzVhLAorCTB4MTM1ZCwgMHgxMzdjLAorCTB4MTM4MCwgMHgxMzk5LAorCTB4MTNhMCwgMHgxM2Y0
LAorCTB4MTQwMCwgMHgxNjljLAorCTB4MTZhMCwgMHgxNmYwLAorCTB4MTcwMCwgMHgxNzBjLAor
CTB4MTcwZSwgMHgxNzE0LAorCTB4MTcyMCwgMHgxNzM2LAorCTB4MTc0MCwgMHgxNzUzLAorCTB4
MTc2MCwgMHgxNzZjLAorCTB4MTc2ZSwgMHgxNzcwLAorCTB4MTc3MiwgMHgxNzczLAorCTB4MTc4
MCwgMHgxN2RkLAorCTB4MTdlMCwgMHgxN2U5LAorCTB4MTdmMCwgMHgxN2Y5LAorCTB4MTgwMCwg
MHgxODBlLAorCTB4MTgxMCwgMHgxODE5LAorCTB4MTgyMCwgMHgxODc3LAorCTB4MTg4MCwgMHgx
OGFhLAorCTB4MThiMCwgMHgxOGY1LAorCTB4MTkwMCwgMHgxOTFjLAorCTB4MTkyMCwgMHgxOTJi
LAorCTB4MTkzMCwgMHgxOTNiLAorCTB4MTk0MCwgMHgxOTQwLAorCTB4MTk0NCwgMHgxOTZkLAor
CTB4MTk3MCwgMHgxOTc0LAorCTB4MTk4MCwgMHgxOWFiLAorCTB4MTliMCwgMHgxOWM5LAorCTB4
MTlkMCwgMHgxOWRhLAorCTB4MTlkZSwgMHgxYTFiLAorCTB4MWExZSwgMHgxYTVlLAorCTB4MWE2
MCwgMHgxYTdjLAorCTB4MWE3ZiwgMHgxYTg5LAorCTB4MWE5MCwgMHgxYTk5LAorCTB4MWFhMCwg
MHgxYWFkLAorCTB4MWIwMCwgMHgxYjRiLAorCTB4MWI1MCwgMHgxYjdjLAorCTB4MWI4MCwgMHgx
YmYzLAorCTB4MWJmYywgMHgxYzM3LAorCTB4MWMzYiwgMHgxYzQ5LAorCTB4MWM0ZCwgMHgxYzdm
LAorCTB4MWNjMCwgMHgxY2M3LAorCTB4MWNkMCwgMHgxY2Y2LAorCTB4MWQwMCwgMHgxZGU2LAor
CTB4MWRmYywgMHgxZjE1LAorCTB4MWYxOCwgMHgxZjFkLAorCTB4MWYyMCwgMHgxZjQ1LAorCTB4
MWY0OCwgMHgxZjRkLAorCTB4MWY1MCwgMHgxZjU3LAorCTB4MWY1OSwgMHgxZjU5LAorCTB4MWY1
YiwgMHgxZjViLAorCTB4MWY1ZCwgMHgxZjVkLAorCTB4MWY1ZiwgMHgxZjdkLAorCTB4MWY4MCwg
MHgxZmI0LAorCTB4MWZiNiwgMHgxZmM0LAorCTB4MWZjNiwgMHgxZmQzLAorCTB4MWZkNiwgMHgx
ZmRiLAorCTB4MWZkZCwgMHgxZmVmLAorCTB4MWZmMiwgMHgxZmY0LAorCTB4MWZmNiwgMHgxZmZl
LAorCTB4MjAwMCwgMHgyMDY0LAorCTB4MjA2YSwgMHgyMDcxLAorCTB4MjA3NCwgMHgyMDhlLAor
CTB4MjA5MCwgMHgyMDljLAorCTB4MjBhMCwgMHgyMGI5LAorCTB4MjBkMCwgMHgyMGYwLAorCTB4
MjEwMCwgMHgyMTg5LAorCTB4MjE5MCwgMHgyM2YzLAorCTB4MjQwMCwgMHgyNDI2LAorCTB4MjQ0
MCwgMHgyNDRhLAorCTB4MjQ2MCwgMHgyNmZmLAorCTB4MjcwMSwgMHgyYjRjLAorCTB4MmI1MCwg
MHgyYjU5LAorCTB4MmMwMCwgMHgyYzJlLAorCTB4MmMzMCwgMHgyYzVlLAorCTB4MmM2MCwgMHgy
Y2YzLAorCTB4MmNmOSwgMHgyZDI1LAorCTB4MmQyNywgMHgyZDI3LAorCTB4MmQyZCwgMHgyZDJk
LAorCTB4MmQzMCwgMHgyZDY3LAorCTB4MmQ2ZiwgMHgyZDcwLAorCTB4MmQ3ZiwgMHgyZDk2LAor
CTB4MmRhMCwgMHgyZGE2LAorCTB4MmRhOCwgMHgyZGFlLAorCTB4MmRiMCwgMHgyZGI2LAorCTB4
MmRiOCwgMHgyZGJlLAorCTB4MmRjMCwgMHgyZGM2LAorCTB4MmRjOCwgMHgyZGNlLAorCTB4MmRk
MCwgMHgyZGQ2LAorCTB4MmRkOCwgMHgyZGRlLAorCTB4MmRlMCwgMHgyZTNiLAorCTB4MmU4MCwg
MHgyZTk5LAorCTB4MmU5YiwgMHgyZWYzLAorCTB4MmYwMCwgMHgyZmQ1LAorCTB4MmZmMCwgMHgy
ZmZiLAorCTB4MzAwMCwgMHgzMDNmLAorCTB4MzA0MSwgMHgzMDk2LAorCTB4MzA5OSwgMHgzMGZm
LAorCTB4MzEwNSwgMHgzMTJkLAorCTB4MzEzMSwgMHgzMThlLAorCTB4MzE5MCwgMHgzMWJhLAor
CTB4MzFjMCwgMHgzMWUzLAorCTB4MzFmMCwgMHgzMjFlLAorCTB4MzIyMCwgMHgzMmZlLAorCTB4
MzMwMCwgMHg0ZGI1LAorCTB4NGRjMCwgMHg5ZmNjLAorCTB4YTAwMCwgMHhhNDhjLAorCTB4YTQ5
MCwgMHhhNGM2LAorCTB4YTRkMCwgMHhhNjJiLAorCTB4YTY0MCwgMHhhNjk3LAorCTB4YTY5Ziwg
MHhhNmY3LAorCTB4YTcwMCwgMHhhNzhlLAorCTB4YTc5MCwgMHhhNzkzLAorCTB4YTdhMCwgMHhh
N2FhLAorCTB4YTdmOCwgMHhhODJiLAorCTB4YTgzMCwgMHhhODM5LAorCTB4YTg0MCwgMHhhODc3
LAorCTB4YTg4MCwgMHhhOGM0LAorCTB4YThjZSwgMHhhOGQ5LAorCTB4YThlMCwgMHhhOGZiLAor
CTB4YTkwMCwgMHhhOTUzLAorCTB4YTk1ZiwgMHhhOTdjLAorCTB4YTk4MCwgMHhhOWNkLAorCTB4
YTljZiwgMHhhOWQ5LAorCTB4YTlkZSwgMHhhOWRmLAorCTB4YWEwMCwgMHhhYTM2LAorCTB4YWE0
MCwgMHhhYTRkLAorCTB4YWE1MCwgMHhhYTU5LAorCTB4YWE1YywgMHhhYTdiLAorCTB4YWE4MCwg
MHhhYWMyLAorCTB4YWFkYiwgMHhhYWY2LAorCTB4YWIwMSwgMHhhYjA2LAorCTB4YWIwOSwgMHhh
YjBlLAorCTB4YWIxMSwgMHhhYjE2LAorCTB4YWIyMCwgMHhhYjI2LAorCTB4YWIyOCwgMHhhYjJl
LAorCTB4YWJjMCwgMHhhYmVkLAorCTB4YWJmMCwgMHhhYmY5LAorCTB4YWMwMCwgMHhkN2EzLAor
CTB4ZDdiMCwgMHhkN2M2LAorCTB4ZDdjYiwgMHhkN2ZiLAorCTB4ZDgwMCwgMHhmYTZkLAorCTB4
ZmE3MCwgMHhmYWQ5LAorCTB4ZmIwMCwgMHhmYjA2LAorCTB4ZmIxMywgMHhmYjE3LAorCTB4ZmIx
ZCwgMHhmYjM2LAorCTB4ZmIzOCwgMHhmYjNjLAorCTB4ZmIzZSwgMHhmYjNlLAorCTB4ZmI0MCwg
MHhmYjQxLAorCTB4ZmI0MywgMHhmYjQ0LAorCTB4ZmI0NiwgMHhmYmMxLAorCTB4ZmJkMywgMHhm
ZDNmLAorCTB4ZmQ1MCwgMHhmZDhmLAorCTB4ZmQ5MiwgMHhmZGM3LAorCTB4ZmRkMCwgMHhmZGZk
LAorCTB4ZmUwMCwgMHhmZTE5LAorCTB4ZmUyMCwgMHhmZTI2LAorCTB4ZmUzMCwgMHhmZTUyLAor
CTB4ZmU1NCwgMHhmZTY2LAorCTB4ZmU2OCwgMHhmZTZiLAorCTB4ZmU3MCwgMHhmZTc0LAorCTB4
ZmU3NiwgMHhmZWZjLAorCTB4ZmVmZiwgMHhmZWZmLAorCTB4ZmYwMSwgMHhmZmJlLAorCTB4ZmZj
MiwgMHhmZmM3LAorCTB4ZmZjYSwgMHhmZmNmLAorCTB4ZmZkMiwgMHhmZmQ3LAorCTB4ZmZkYSwg
MHhmZmRjLAorCTB4ZmZlMCwgMHhmZmU2LAorCTB4ZmZlOCwgMHhmZmVlLAorCTB4ZmZmOSwgMHgx
MDAwYiwKKwkweDEwMDBkLCAweDEwMDI2LAorCTB4MTAwMjgsIDB4MTAwM2EsCisJMHgxMDAzYywg
MHgxMDAzZCwKKwkweDEwMDNmLCAweDEwMDRkLAorCTB4MTAwNTAsIDB4MTAwNWQsCisJMHgxMDA4
MCwgMHgxMDBmYSwKKwkweDEwMTAwLCAweDEwMTAyLAorCTB4MTAxMDcsIDB4MTAxMzMsCisJMHgx
MDEzNywgMHgxMDE4YSwKKwkweDEwMTkwLCAweDEwMTliLAorCTB4MTAxZDAsIDB4MTAxZmQsCisJ
MHgxMDI4MCwgMHgxMDI5YywKKwkweDEwMmEwLCAweDEwMmQwLAorCTB4MTAzMDAsIDB4MTAzMWUs
CisJMHgxMDMyMCwgMHgxMDMyMywKKwkweDEwMzMwLCAweDEwMzRhLAorCTB4MTAzODAsIDB4MTAz
OWQsCisJMHgxMDM5ZiwgMHgxMDNjMywKKwkweDEwM2M4LCAweDEwM2Q1LAorCTB4MTA0MDAsIDB4
MTA0OWQsCisJMHgxMDRhMCwgMHgxMDRhOSwKKwkweDEwODAwLCAweDEwODA1LAorCTB4MTA4MDgs
IDB4MTA4MDgsCisJMHgxMDgwYSwgMHgxMDgzNSwKKwkweDEwODM3LCAweDEwODM4LAorCTB4MTA4
M2MsIDB4MTA4M2MsCisJMHgxMDgzZiwgMHgxMDg1NSwKKwkweDEwODU3LCAweDEwODVmLAorCTB4
MTA5MDAsIDB4MTA5MWIsCisJMHgxMDkxZiwgMHgxMDkzOSwKKwkweDEwOTNmLCAweDEwOTNmLAor
CTB4MTA5ODAsIDB4MTA5YjcsCisJMHgxMDliZSwgMHgxMDliZiwKKwkweDEwYTAwLCAweDEwYTAz
LAorCTB4MTBhMDUsIDB4MTBhMDYsCisJMHgxMGEwYywgMHgxMGExMywKKwkweDEwYTE1LCAweDEw
YTE3LAorCTB4MTBhMTksIDB4MTBhMzMsCisJMHgxMGEzOCwgMHgxMGEzYSwKKwkweDEwYTNmLCAw
eDEwYTQ3LAorCTB4MTBhNTAsIDB4MTBhNTgsCisJMHgxMGE2MCwgMHgxMGE3ZiwKKwkweDEwYjAw
LCAweDEwYjM1LAorCTB4MTBiMzksIDB4MTBiNTUsCisJMHgxMGI1OCwgMHgxMGI3MiwKKwkweDEw
Yjc4LCAweDEwYjdmLAorCTB4MTBjMDAsIDB4MTBjNDgsCisJMHgxMGU2MCwgMHgxMGU3ZSwKKwkw
eDExMDAwLCAweDExMDRkLAorCTB4MTEwNTIsIDB4MTEwNmYsCisJMHgxMTA4MCwgMHgxMTBjMSwK
KwkweDExMGQwLCAweDExMGU4LAorCTB4MTEwZjAsIDB4MTEwZjksCisJMHgxMTEwMCwgMHgxMTEz
NCwKKwkweDExMTM2LCAweDExMTQzLAorCTB4MTExODAsIDB4MTExYzgsCisJMHgxMTFkMCwgMHgx
MTFkOSwKKwkweDExNjgwLCAweDExNmI3LAorCTB4MTE2YzAsIDB4MTE2YzksCisJMHgxMjAwMCwg
MHgxMjM2ZSwKKwkweDEyNDAwLCAweDEyNDYyLAorCTB4MTI0NzAsIDB4MTI0NzMsCisJMHgxMzAw
MCwgMHgxMzQyZSwKKwkweDE2ODAwLCAweDE2YTM4LAorCTB4MTZmMDAsIDB4MTZmNDQsCisJMHgx
NmY1MCwgMHgxNmY3ZSwKKwkweDE2ZjhmLCAweDE2ZjlmLAorCTB4MWIwMDAsIDB4MWIwMDEsCisJ
MHgxZDAwMCwgMHgxZDBmNSwKKwkweDFkMTAwLCAweDFkMTI2LAorCTB4MWQxMjksIDB4MWQxZGQs
CisJMHgxZDIwMCwgMHgxZDI0NSwKKwkweDFkMzAwLCAweDFkMzU2LAorCTB4MWQzNjAsIDB4MWQz
NzEsCisJMHgxZDQwMCwgMHgxZDQ1NCwKKwkweDFkNDU2LCAweDFkNDljLAorCTB4MWQ0OWUsIDB4
MWQ0OWYsCisJMHgxZDRhMiwgMHgxZDRhMiwKKwkweDFkNGE1LCAweDFkNGE2LAorCTB4MWQ0YTks
IDB4MWQ0YWMsCisJMHgxZDRhZSwgMHgxZDRiOSwKKwkweDFkNGJiLCAweDFkNGJiLAorCTB4MWQ0
YmQsIDB4MWQ0YzMsCisJMHgxZDRjNSwgMHgxZDUwNSwKKwkweDFkNTA3LCAweDFkNTBhLAorCTB4
MWQ1MGQsIDB4MWQ1MTQsCisJMHgxZDUxNiwgMHgxZDUxYywKKwkweDFkNTFlLCAweDFkNTM5LAor
CTB4MWQ1M2IsIDB4MWQ1M2UsCisJMHgxZDU0MCwgMHgxZDU0NCwKKwkweDFkNTQ2LCAweDFkNTQ2
LAorCTB4MWQ1NGEsIDB4MWQ1NTAsCisJMHgxZDU1MiwgMHgxZDZhNSwKKwkweDFkNmE4LCAweDFk
N2NiLAorCTB4MWQ3Y2UsIDB4MWQ3ZmYsCisJMHgxZWUwMCwgMHgxZWUwMywKKwkweDFlZTA1LCAw
eDFlZTFmLAorCTB4MWVlMjEsIDB4MWVlMjIsCisJMHgxZWUyNCwgMHgxZWUyNCwKKwkweDFlZTI3
LCAweDFlZTI3LAorCTB4MWVlMjksIDB4MWVlMzIsCisJMHgxZWUzNCwgMHgxZWUzNywKKwkweDFl
ZTM5LCAweDFlZTM5LAorCTB4MWVlM2IsIDB4MWVlM2IsCisJMHgxZWU0MiwgMHgxZWU0MiwKKwkw
eDFlZTQ3LCAweDFlZTQ3LAorCTB4MWVlNDksIDB4MWVlNDksCisJMHgxZWU0YiwgMHgxZWU0YiwK
KwkweDFlZTRkLCAweDFlZTRmLAorCTB4MWVlNTEsIDB4MWVlNTIsCisJMHgxZWU1NCwgMHgxZWU1
NCwKKwkweDFlZTU3LCAweDFlZTU3LAorCTB4MWVlNTksIDB4MWVlNTksCisJMHgxZWU1YiwgMHgx
ZWU1YiwKKwkweDFlZTVkLCAweDFlZTVkLAorCTB4MWVlNWYsIDB4MWVlNWYsCisJMHgxZWU2MSwg
MHgxZWU2MiwKKwkweDFlZTY0LCAweDFlZTY0LAorCTB4MWVlNjcsIDB4MWVlNmEsCisJMHgxZWU2
YywgMHgxZWU3MiwKKwkweDFlZTc0LCAweDFlZTc3LAorCTB4MWVlNzksIDB4MWVlN2MsCisJMHgx
ZWU3ZSwgMHgxZWU3ZSwKKwkweDFlZTgwLCAweDFlZTg5LAorCTB4MWVlOGIsIDB4MWVlOWIsCisJ
MHgxZWVhMSwgMHgxZWVhMywKKwkweDFlZWE1LCAweDFlZWE5LAorCTB4MWVlYWIsIDB4MWVlYmIs
CisJMHgxZWVmMCwgMHgxZWVmMSwKKwkweDFmMDAwLCAweDFmMDJiLAorCTB4MWYwMzAsIDB4MWYw
OTMsCisJMHgxZjBhMCwgMHgxZjBhZSwKKwkweDFmMGIxLCAweDFmMGJlLAorCTB4MWYwYzEsIDB4
MWYwY2YsCisJMHgxZjBkMSwgMHgxZjBkZiwKKwkweDFmMTAwLCAweDFmMTBhLAorCTB4MWYxMTAs
IDB4MWYxMmUsCisJMHgxZjEzMCwgMHgxZjE2YiwKKwkweDFmMTcwLCAweDFmMTlhLAorCTB4MWYx
ZTYsIDB4MWYyMDIsCisJMHgxZjIxMCwgMHgxZjIzYSwKKwkweDFmMjQwLCAweDFmMjQ4LAorCTB4
MWYyNTAsIDB4MWYyNTEsCisJMHgxZjMwMCwgMHgxZjMyMCwKKwkweDFmMzMwLCAweDFmMzM1LAor
CTB4MWYzMzcsIDB4MWYzN2MsCisJMHgxZjM4MCwgMHgxZjM5MywKKwkweDFmM2EwLCAweDFmM2M0
LAorCTB4MWYzYzYsIDB4MWYzY2EsCisJMHgxZjNlMCwgMHgxZjNmMCwKKwkweDFmNDAwLCAweDFm
NDNlLAorCTB4MWY0NDAsIDB4MWY0NDAsCisJMHgxZjQ0MiwgMHgxZjRmNywKKwkweDFmNGY5LCAw
eDFmNGZjLAorCTB4MWY1MDAsIDB4MWY1M2QsCisJMHgxZjU0MCwgMHgxZjU0MywKKwkweDFmNTUw
LCAweDFmNTY3LAorCTB4MWY1ZmIsIDB4MWY2NDAsCisJMHgxZjY0NSwgMHgxZjY0ZiwKKwkweDFm
NjgwLCAweDFmNmM1LAorCTB4MWY3MDAsIDB4MWY3NzMsCisJMHgxZmZmZSwgMHgyYTZkNiwKKwkw
eDJhNzAwLCAweDJiNzM0LAorCTB4MmI3NDAsIDB4MmI4MWQsCisJMHgyZjgwMCwgMHgyZmExZCwK
KwkweDJmZmZlLCAweDJmZmZmLAorCTB4M2ZmZmUsIDB4M2ZmZmYsCisJMHg0ZmZmZSwgMHg0ZmZm
ZiwKKwkweDVmZmZlLCAweDVmZmZmLAorCTB4NmZmZmUsIDB4NmZmZmYsCisJMHg3ZmZmZSwgMHg3
ZmZmZiwKKwkweDhmZmZlLCAweDhmZmZmLAorCTB4OWZmZmUsIDB4OWZmZmYsCisJMHhhZmZmZSwg
MHhhZmZmZiwKKwkweGJmZmZlLCAweGJmZmZmLAorCTB4Y2ZmZmUsIDB4Y2ZmZmYsCisJMHhkZmZm
ZSwgMHhkZmZmZiwKKwkweGUwMDAxLCAweGUwMDAxLAorCTB4ZTAwMjAsIDB4ZTAwN2YsCisJMHhl
MDEwMCwgMHhlMDFlZiwKKwkweGVmZmZlLCAweDEwZmZmZiwKK307IC8qIENSX0FnZV82XzEgKi8K
KworLyogJ0FnZV82XzInOiBEZXJpdmVkIEFnZSA2LjIgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29k
ZVBvaW50IENSX0FnZV82XzJbXSA9IHsKKwk1NDksCisJMHgwMDAwLCAweDAzNzcsCisJMHgwMzdh
LCAweDAzN2UsCisJMHgwMzg0LCAweDAzOGEsCisJMHgwMzhjLCAweDAzOGMsCisJMHgwMzhlLCAw
eDAzYTEsCisJMHgwM2EzLCAweDA1MjcsCisJMHgwNTMxLCAweDA1NTYsCisJMHgwNTU5LCAweDA1
NWYsCisJMHgwNTYxLCAweDA1ODcsCisJMHgwNTg5LCAweDA1OGEsCisJMHgwNThmLCAweDA1OGYs
CisJMHgwNTkxLCAweDA1YzcsCisJMHgwNWQwLCAweDA1ZWEsCisJMHgwNWYwLCAweDA1ZjQsCisJ
MHgwNjAwLCAweDA2MDQsCisJMHgwNjA2LCAweDA2MWIsCisJMHgwNjFlLCAweDA3MGQsCisJMHgw
NzBmLCAweDA3NGEsCisJMHgwNzRkLCAweDA3YjEsCisJMHgwN2MwLCAweDA3ZmEsCisJMHgwODAw
LCAweDA4MmQsCisJMHgwODMwLCAweDA4M2UsCisJMHgwODQwLCAweDA4NWIsCisJMHgwODVlLCAw
eDA4NWUsCisJMHgwOGEwLCAweDA4YTAsCisJMHgwOGEyLCAweDA4YWMsCisJMHgwOGU0LCAweDA4
ZmUsCisJMHgwOTAwLCAweDA5NzcsCisJMHgwOTc5LCAweDA5N2YsCisJMHgwOTgxLCAweDA5ODMs
CisJMHgwOTg1LCAweDA5OGMsCisJMHgwOThmLCAweDA5OTAsCisJMHgwOTkzLCAweDA5YTgsCisJ
MHgwOWFhLCAweDA5YjAsCisJMHgwOWIyLCAweDA5YjIsCisJMHgwOWI2LCAweDA5YjksCisJMHgw
OWJjLCAweDA5YzQsCisJMHgwOWM3LCAweDA5YzgsCisJMHgwOWNiLCAweDA5Y2UsCisJMHgwOWQ3
LCAweDA5ZDcsCisJMHgwOWRjLCAweDA5ZGQsCisJMHgwOWRmLCAweDA5ZTMsCisJMHgwOWU2LCAw
eDA5ZmIsCisJMHgwYTAxLCAweDBhMDMsCisJMHgwYTA1LCAweDBhMGEsCisJMHgwYTBmLCAweDBh
MTAsCisJMHgwYTEzLCAweDBhMjgsCisJMHgwYTJhLCAweDBhMzAsCisJMHgwYTMyLCAweDBhMzMs
CisJMHgwYTM1LCAweDBhMzYsCisJMHgwYTM4LCAweDBhMzksCisJMHgwYTNjLCAweDBhM2MsCisJ
MHgwYTNlLCAweDBhNDIsCisJMHgwYTQ3LCAweDBhNDgsCisJMHgwYTRiLCAweDBhNGQsCisJMHgw
YTUxLCAweDBhNTEsCisJMHgwYTU5LCAweDBhNWMsCisJMHgwYTVlLCAweDBhNWUsCisJMHgwYTY2
LCAweDBhNzUsCisJMHgwYTgxLCAweDBhODMsCisJMHgwYTg1LCAweDBhOGQsCisJMHgwYThmLCAw
eDBhOTEsCisJMHgwYTkzLCAweDBhYTgsCisJMHgwYWFhLCAweDBhYjAsCisJMHgwYWIyLCAweDBh
YjMsCisJMHgwYWI1LCAweDBhYjksCisJMHgwYWJjLCAweDBhYzUsCisJMHgwYWM3LCAweDBhYzks
CisJMHgwYWNiLCAweDBhY2QsCisJMHgwYWQwLCAweDBhZDAsCisJMHgwYWUwLCAweDBhZTMsCisJ
MHgwYWU2LCAweDBhZjEsCisJMHgwYjAxLCAweDBiMDMsCisJMHgwYjA1LCAweDBiMGMsCisJMHgw
YjBmLCAweDBiMTAsCisJMHgwYjEzLCAweDBiMjgsCisJMHgwYjJhLCAweDBiMzAsCisJMHgwYjMy
LCAweDBiMzMsCisJMHgwYjM1LCAweDBiMzksCisJMHgwYjNjLCAweDBiNDQsCisJMHgwYjQ3LCAw
eDBiNDgsCisJMHgwYjRiLCAweDBiNGQsCisJMHgwYjU2LCAweDBiNTcsCisJMHgwYjVjLCAweDBi
NWQsCisJMHgwYjVmLCAweDBiNjMsCisJMHgwYjY2LCAweDBiNzcsCisJMHgwYjgyLCAweDBiODMs
CisJMHgwYjg1LCAweDBiOGEsCisJMHgwYjhlLCAweDBiOTAsCisJMHgwYjkyLCAweDBiOTUsCisJ
MHgwYjk5LCAweDBiOWEsCisJMHgwYjljLCAweDBiOWMsCisJMHgwYjllLCAweDBiOWYsCisJMHgw
YmEzLCAweDBiYTQsCisJMHgwYmE4LCAweDBiYWEsCisJMHgwYmFlLCAweDBiYjksCisJMHgwYmJl
LCAweDBiYzIsCisJMHgwYmM2LCAweDBiYzgsCisJMHgwYmNhLCAweDBiY2QsCisJMHgwYmQwLCAw
eDBiZDAsCisJMHgwYmQ3LCAweDBiZDcsCisJMHgwYmU2LCAweDBiZmEsCisJMHgwYzAxLCAweDBj
MDMsCisJMHgwYzA1LCAweDBjMGMsCisJMHgwYzBlLCAweDBjMTAsCisJMHgwYzEyLCAweDBjMjgs
CisJMHgwYzJhLCAweDBjMzMsCisJMHgwYzM1LCAweDBjMzksCisJMHgwYzNkLCAweDBjNDQsCisJ
MHgwYzQ2LCAweDBjNDgsCisJMHgwYzRhLCAweDBjNGQsCisJMHgwYzU1LCAweDBjNTYsCisJMHgw
YzU4LCAweDBjNTksCisJMHgwYzYwLCAweDBjNjMsCisJMHgwYzY2LCAweDBjNmYsCisJMHgwYzc4
LCAweDBjN2YsCisJMHgwYzgyLCAweDBjODMsCisJMHgwYzg1LCAweDBjOGMsCisJMHgwYzhlLCAw
eDBjOTAsCisJMHgwYzkyLCAweDBjYTgsCisJMHgwY2FhLCAweDBjYjMsCisJMHgwY2I1LCAweDBj
YjksCisJMHgwY2JjLCAweDBjYzQsCisJMHgwY2M2LCAweDBjYzgsCisJMHgwY2NhLCAweDBjY2Qs
CisJMHgwY2Q1LCAweDBjZDYsCisJMHgwY2RlLCAweDBjZGUsCisJMHgwY2UwLCAweDBjZTMsCisJ
MHgwY2U2LCAweDBjZWYsCisJMHgwY2YxLCAweDBjZjIsCisJMHgwZDAyLCAweDBkMDMsCisJMHgw
ZDA1LCAweDBkMGMsCisJMHgwZDBlLCAweDBkMTAsCisJMHgwZDEyLCAweDBkM2EsCisJMHgwZDNk
LCAweDBkNDQsCisJMHgwZDQ2LCAweDBkNDgsCisJMHgwZDRhLCAweDBkNGUsCisJMHgwZDU3LCAw
eDBkNTcsCisJMHgwZDYwLCAweDBkNjMsCisJMHgwZDY2LCAweDBkNzUsCisJMHgwZDc5LCAweDBk
N2YsCisJMHgwZDgyLCAweDBkODMsCisJMHgwZDg1LCAweDBkOTYsCisJMHgwZDlhLCAweDBkYjEs
CisJMHgwZGIzLCAweDBkYmIsCisJMHgwZGJkLCAweDBkYmQsCisJMHgwZGMwLCAweDBkYzYsCisJ
MHgwZGNhLCAweDBkY2EsCisJMHgwZGNmLCAweDBkZDQsCisJMHgwZGQ2LCAweDBkZDYsCisJMHgw
ZGQ4LCAweDBkZGYsCisJMHgwZGYyLCAweDBkZjQsCisJMHgwZTAxLCAweDBlM2EsCisJMHgwZTNm
LCAweDBlNWIsCisJMHgwZTgxLCAweDBlODIsCisJMHgwZTg0LCAweDBlODQsCisJMHgwZTg3LCAw
eDBlODgsCisJMHgwZThhLCAweDBlOGEsCisJMHgwZThkLCAweDBlOGQsCisJMHgwZTk0LCAweDBl
OTcsCisJMHgwZTk5LCAweDBlOWYsCisJMHgwZWExLCAweDBlYTMsCisJMHgwZWE1LCAweDBlYTUs
CisJMHgwZWE3LCAweDBlYTcsCisJMHgwZWFhLCAweDBlYWIsCisJMHgwZWFkLCAweDBlYjksCisJ
MHgwZWJiLCAweDBlYmQsCisJMHgwZWMwLCAweDBlYzQsCisJMHgwZWM2LCAweDBlYzYsCisJMHgw
ZWM4LCAweDBlY2QsCisJMHgwZWQwLCAweDBlZDksCisJMHgwZWRjLCAweDBlZGYsCisJMHgwZjAw
LCAweDBmNDcsCisJMHgwZjQ5LCAweDBmNmMsCisJMHgwZjcxLCAweDBmOTcsCisJMHgwZjk5LCAw
eDBmYmMsCisJMHgwZmJlLCAweDBmY2MsCisJMHgwZmNlLCAweDBmZGEsCisJMHgxMDAwLCAweDEw
YzUsCisJMHgxMGM3LCAweDEwYzcsCisJMHgxMGNkLCAweDEwY2QsCisJMHgxMGQwLCAweDEyNDgs
CisJMHgxMjRhLCAweDEyNGQsCisJMHgxMjUwLCAweDEyNTYsCisJMHgxMjU4LCAweDEyNTgsCisJ
MHgxMjVhLCAweDEyNWQsCisJMHgxMjYwLCAweDEyODgsCisJMHgxMjhhLCAweDEyOGQsCisJMHgx
MjkwLCAweDEyYjAsCisJMHgxMmIyLCAweDEyYjUsCisJMHgxMmI4LCAweDEyYmUsCisJMHgxMmMw
LCAweDEyYzAsCisJMHgxMmMyLCAweDEyYzUsCisJMHgxMmM4LCAweDEyZDYsCisJMHgxMmQ4LCAw
eDEzMTAsCisJMHgxMzEyLCAweDEzMTUsCisJMHgxMzE4LCAweDEzNWEsCisJMHgxMzVkLCAweDEz
N2MsCisJMHgxMzgwLCAweDEzOTksCisJMHgxM2EwLCAweDEzZjQsCisJMHgxNDAwLCAweDE2OWMs
CisJMHgxNmEwLCAweDE2ZjAsCisJMHgxNzAwLCAweDE3MGMsCisJMHgxNzBlLCAweDE3MTQsCisJ
MHgxNzIwLCAweDE3MzYsCisJMHgxNzQwLCAweDE3NTMsCisJMHgxNzYwLCAweDE3NmMsCisJMHgx
NzZlLCAweDE3NzAsCisJMHgxNzcyLCAweDE3NzMsCisJMHgxNzgwLCAweDE3ZGQsCisJMHgxN2Uw
LCAweDE3ZTksCisJMHgxN2YwLCAweDE3ZjksCisJMHgxODAwLCAweDE4MGUsCisJMHgxODEwLCAw
eDE4MTksCisJMHgxODIwLCAweDE4NzcsCisJMHgxODgwLCAweDE4YWEsCisJMHgxOGIwLCAweDE4
ZjUsCisJMHgxOTAwLCAweDE5MWMsCisJMHgxOTIwLCAweDE5MmIsCisJMHgxOTMwLCAweDE5M2Is
CisJMHgxOTQwLCAweDE5NDAsCisJMHgxOTQ0LCAweDE5NmQsCisJMHgxOTcwLCAweDE5NzQsCisJ
MHgxOTgwLCAweDE5YWIsCisJMHgxOWIwLCAweDE5YzksCisJMHgxOWQwLCAweDE5ZGEsCisJMHgx
OWRlLCAweDFhMWIsCisJMHgxYTFlLCAweDFhNWUsCisJMHgxYTYwLCAweDFhN2MsCisJMHgxYTdm
LCAweDFhODksCisJMHgxYTkwLCAweDFhOTksCisJMHgxYWEwLCAweDFhYWQsCisJMHgxYjAwLCAw
eDFiNGIsCisJMHgxYjUwLCAweDFiN2MsCisJMHgxYjgwLCAweDFiZjMsCisJMHgxYmZjLCAweDFj
MzcsCisJMHgxYzNiLCAweDFjNDksCisJMHgxYzRkLCAweDFjN2YsCisJMHgxY2MwLCAweDFjYzcs
CisJMHgxY2QwLCAweDFjZjYsCisJMHgxZDAwLCAweDFkZTYsCisJMHgxZGZjLCAweDFmMTUsCisJ
MHgxZjE4LCAweDFmMWQsCisJMHgxZjIwLCAweDFmNDUsCisJMHgxZjQ4LCAweDFmNGQsCisJMHgx
ZjUwLCAweDFmNTcsCisJMHgxZjU5LCAweDFmNTksCisJMHgxZjViLCAweDFmNWIsCisJMHgxZjVk
LCAweDFmNWQsCisJMHgxZjVmLCAweDFmN2QsCisJMHgxZjgwLCAweDFmYjQsCisJMHgxZmI2LCAw
eDFmYzQsCisJMHgxZmM2LCAweDFmZDMsCisJMHgxZmQ2LCAweDFmZGIsCisJMHgxZmRkLCAweDFm
ZWYsCisJMHgxZmYyLCAweDFmZjQsCisJMHgxZmY2LCAweDFmZmUsCisJMHgyMDAwLCAweDIwNjQs
CisJMHgyMDZhLCAweDIwNzEsCisJMHgyMDc0LCAweDIwOGUsCisJMHgyMDkwLCAweDIwOWMsCisJ
MHgyMGEwLCAweDIwYmEsCisJMHgyMGQwLCAweDIwZjAsCisJMHgyMTAwLCAweDIxODksCisJMHgy
MTkwLCAweDIzZjMsCisJMHgyNDAwLCAweDI0MjYsCisJMHgyNDQwLCAweDI0NGEsCisJMHgyNDYw
LCAweDI2ZmYsCisJMHgyNzAxLCAweDJiNGMsCisJMHgyYjUwLCAweDJiNTksCisJMHgyYzAwLCAw
eDJjMmUsCisJMHgyYzMwLCAweDJjNWUsCisJMHgyYzYwLCAweDJjZjMsCisJMHgyY2Y5LCAweDJk
MjUsCisJMHgyZDI3LCAweDJkMjcsCisJMHgyZDJkLCAweDJkMmQsCisJMHgyZDMwLCAweDJkNjcs
CisJMHgyZDZmLCAweDJkNzAsCisJMHgyZDdmLCAweDJkOTYsCisJMHgyZGEwLCAweDJkYTYsCisJ
MHgyZGE4LCAweDJkYWUsCisJMHgyZGIwLCAweDJkYjYsCisJMHgyZGI4LCAweDJkYmUsCisJMHgy
ZGMwLCAweDJkYzYsCisJMHgyZGM4LCAweDJkY2UsCisJMHgyZGQwLCAweDJkZDYsCisJMHgyZGQ4
LCAweDJkZGUsCisJMHgyZGUwLCAweDJlM2IsCisJMHgyZTgwLCAweDJlOTksCisJMHgyZTliLCAw
eDJlZjMsCisJMHgyZjAwLCAweDJmZDUsCisJMHgyZmYwLCAweDJmZmIsCisJMHgzMDAwLCAweDMw
M2YsCisJMHgzMDQxLCAweDMwOTYsCisJMHgzMDk5LCAweDMwZmYsCisJMHgzMTA1LCAweDMxMmQs
CisJMHgzMTMxLCAweDMxOGUsCisJMHgzMTkwLCAweDMxYmEsCisJMHgzMWMwLCAweDMxZTMsCisJ
MHgzMWYwLCAweDMyMWUsCisJMHgzMjIwLCAweDMyZmUsCisJMHgzMzAwLCAweDRkYjUsCisJMHg0
ZGMwLCAweDlmY2MsCisJMHhhMDAwLCAweGE0OGMsCisJMHhhNDkwLCAweGE0YzYsCisJMHhhNGQw
LCAweGE2MmIsCisJMHhhNjQwLCAweGE2OTcsCisJMHhhNjlmLCAweGE2ZjcsCisJMHhhNzAwLCAw
eGE3OGUsCisJMHhhNzkwLCAweGE3OTMsCisJMHhhN2EwLCAweGE3YWEsCisJMHhhN2Y4LCAweGE4
MmIsCisJMHhhODMwLCAweGE4MzksCisJMHhhODQwLCAweGE4NzcsCisJMHhhODgwLCAweGE4YzQs
CisJMHhhOGNlLCAweGE4ZDksCisJMHhhOGUwLCAweGE4ZmIsCisJMHhhOTAwLCAweGE5NTMsCisJ
MHhhOTVmLCAweGE5N2MsCisJMHhhOTgwLCAweGE5Y2QsCisJMHhhOWNmLCAweGE5ZDksCisJMHhh
OWRlLCAweGE5ZGYsCisJMHhhYTAwLCAweGFhMzYsCisJMHhhYTQwLCAweGFhNGQsCisJMHhhYTUw
LCAweGFhNTksCisJMHhhYTVjLCAweGFhN2IsCisJMHhhYTgwLCAweGFhYzIsCisJMHhhYWRiLCAw
eGFhZjYsCisJMHhhYjAxLCAweGFiMDYsCisJMHhhYjA5LCAweGFiMGUsCisJMHhhYjExLCAweGFi
MTYsCisJMHhhYjIwLCAweGFiMjYsCisJMHhhYjI4LCAweGFiMmUsCisJMHhhYmMwLCAweGFiZWQs
CisJMHhhYmYwLCAweGFiZjksCisJMHhhYzAwLCAweGQ3YTMsCisJMHhkN2IwLCAweGQ3YzYsCisJ
MHhkN2NiLCAweGQ3ZmIsCisJMHhkODAwLCAweGZhNmQsCisJMHhmYTcwLCAweGZhZDksCisJMHhm
YjAwLCAweGZiMDYsCisJMHhmYjEzLCAweGZiMTcsCisJMHhmYjFkLCAweGZiMzYsCisJMHhmYjM4
LCAweGZiM2MsCisJMHhmYjNlLCAweGZiM2UsCisJMHhmYjQwLCAweGZiNDEsCisJMHhmYjQzLCAw
eGZiNDQsCisJMHhmYjQ2LCAweGZiYzEsCisJMHhmYmQzLCAweGZkM2YsCisJMHhmZDUwLCAweGZk
OGYsCisJMHhmZDkyLCAweGZkYzcsCisJMHhmZGQwLCAweGZkZmQsCisJMHhmZTAwLCAweGZlMTks
CisJMHhmZTIwLCAweGZlMjYsCisJMHhmZTMwLCAweGZlNTIsCisJMHhmZTU0LCAweGZlNjYsCisJ
MHhmZTY4LCAweGZlNmIsCisJMHhmZTcwLCAweGZlNzQsCisJMHhmZTc2LCAweGZlZmMsCisJMHhm
ZWZmLCAweGZlZmYsCisJMHhmZjAxLCAweGZmYmUsCisJMHhmZmMyLCAweGZmYzcsCisJMHhmZmNh
LCAweGZmY2YsCisJMHhmZmQyLCAweGZmZDcsCisJMHhmZmRhLCAweGZmZGMsCisJMHhmZmUwLCAw
eGZmZTYsCisJMHhmZmU4LCAweGZmZWUsCisJMHhmZmY5LCAweDEwMDBiLAorCTB4MTAwMGQsIDB4
MTAwMjYsCisJMHgxMDAyOCwgMHgxMDAzYSwKKwkweDEwMDNjLCAweDEwMDNkLAorCTB4MTAwM2Ys
IDB4MTAwNGQsCisJMHgxMDA1MCwgMHgxMDA1ZCwKKwkweDEwMDgwLCAweDEwMGZhLAorCTB4MTAx
MDAsIDB4MTAxMDIsCisJMHgxMDEwNywgMHgxMDEzMywKKwkweDEwMTM3LCAweDEwMThhLAorCTB4
MTAxOTAsIDB4MTAxOWIsCisJMHgxMDFkMCwgMHgxMDFmZCwKKwkweDEwMjgwLCAweDEwMjljLAor
CTB4MTAyYTAsIDB4MTAyZDAsCisJMHgxMDMwMCwgMHgxMDMxZSwKKwkweDEwMzIwLCAweDEwMzIz
LAorCTB4MTAzMzAsIDB4MTAzNGEsCisJMHgxMDM4MCwgMHgxMDM5ZCwKKwkweDEwMzlmLCAweDEw
M2MzLAorCTB4MTAzYzgsIDB4MTAzZDUsCisJMHgxMDQwMCwgMHgxMDQ5ZCwKKwkweDEwNGEwLCAw
eDEwNGE5LAorCTB4MTA4MDAsIDB4MTA4MDUsCisJMHgxMDgwOCwgMHgxMDgwOCwKKwkweDEwODBh
LCAweDEwODM1LAorCTB4MTA4MzcsIDB4MTA4MzgsCisJMHgxMDgzYywgMHgxMDgzYywKKwkweDEw
ODNmLCAweDEwODU1LAorCTB4MTA4NTcsIDB4MTA4NWYsCisJMHgxMDkwMCwgMHgxMDkxYiwKKwkw
eDEwOTFmLCAweDEwOTM5LAorCTB4MTA5M2YsIDB4MTA5M2YsCisJMHgxMDk4MCwgMHgxMDliNywK
KwkweDEwOWJlLCAweDEwOWJmLAorCTB4MTBhMDAsIDB4MTBhMDMsCisJMHgxMGEwNSwgMHgxMGEw
NiwKKwkweDEwYTBjLCAweDEwYTEzLAorCTB4MTBhMTUsIDB4MTBhMTcsCisJMHgxMGExOSwgMHgx
MGEzMywKKwkweDEwYTM4LCAweDEwYTNhLAorCTB4MTBhM2YsIDB4MTBhNDcsCisJMHgxMGE1MCwg
MHgxMGE1OCwKKwkweDEwYTYwLCAweDEwYTdmLAorCTB4MTBiMDAsIDB4MTBiMzUsCisJMHgxMGIz
OSwgMHgxMGI1NSwKKwkweDEwYjU4LCAweDEwYjcyLAorCTB4MTBiNzgsIDB4MTBiN2YsCisJMHgx
MGMwMCwgMHgxMGM0OCwKKwkweDEwZTYwLCAweDEwZTdlLAorCTB4MTEwMDAsIDB4MTEwNGQsCisJ
MHgxMTA1MiwgMHgxMTA2ZiwKKwkweDExMDgwLCAweDExMGMxLAorCTB4MTEwZDAsIDB4MTEwZTgs
CisJMHgxMTBmMCwgMHgxMTBmOSwKKwkweDExMTAwLCAweDExMTM0LAorCTB4MTExMzYsIDB4MTEx
NDMsCisJMHgxMTE4MCwgMHgxMTFjOCwKKwkweDExMWQwLCAweDExMWQ5LAorCTB4MTE2ODAsIDB4
MTE2YjcsCisJMHgxMTZjMCwgMHgxMTZjOSwKKwkweDEyMDAwLCAweDEyMzZlLAorCTB4MTI0MDAs
IDB4MTI0NjIsCisJMHgxMjQ3MCwgMHgxMjQ3MywKKwkweDEzMDAwLCAweDEzNDJlLAorCTB4MTY4
MDAsIDB4MTZhMzgsCisJMHgxNmYwMCwgMHgxNmY0NCwKKwkweDE2ZjUwLCAweDE2ZjdlLAorCTB4
MTZmOGYsIDB4MTZmOWYsCisJMHgxYjAwMCwgMHgxYjAwMSwKKwkweDFkMDAwLCAweDFkMGY1LAor
CTB4MWQxMDAsIDB4MWQxMjYsCisJMHgxZDEyOSwgMHgxZDFkZCwKKwkweDFkMjAwLCAweDFkMjQ1
LAorCTB4MWQzMDAsIDB4MWQzNTYsCisJMHgxZDM2MCwgMHgxZDM3MSwKKwkweDFkNDAwLCAweDFk
NDU0LAorCTB4MWQ0NTYsIDB4MWQ0OWMsCisJMHgxZDQ5ZSwgMHgxZDQ5ZiwKKwkweDFkNGEyLCAw
eDFkNGEyLAorCTB4MWQ0YTUsIDB4MWQ0YTYsCisJMHgxZDRhOSwgMHgxZDRhYywKKwkweDFkNGFl
LCAweDFkNGI5LAorCTB4MWQ0YmIsIDB4MWQ0YmIsCisJMHgxZDRiZCwgMHgxZDRjMywKKwkweDFk
NGM1LCAweDFkNTA1LAorCTB4MWQ1MDcsIDB4MWQ1MGEsCisJMHgxZDUwZCwgMHgxZDUxNCwKKwkw
eDFkNTE2LCAweDFkNTFjLAorCTB4MWQ1MWUsIDB4MWQ1MzksCisJMHgxZDUzYiwgMHgxZDUzZSwK
KwkweDFkNTQwLCAweDFkNTQ0LAorCTB4MWQ1NDYsIDB4MWQ1NDYsCisJMHgxZDU0YSwgMHgxZDU1
MCwKKwkweDFkNTUyLCAweDFkNmE1LAorCTB4MWQ2YTgsIDB4MWQ3Y2IsCisJMHgxZDdjZSwgMHgx
ZDdmZiwKKwkweDFlZTAwLCAweDFlZTAzLAorCTB4MWVlMDUsIDB4MWVlMWYsCisJMHgxZWUyMSwg
MHgxZWUyMiwKKwkweDFlZTI0LCAweDFlZTI0LAorCTB4MWVlMjcsIDB4MWVlMjcsCisJMHgxZWUy
OSwgMHgxZWUzMiwKKwkweDFlZTM0LCAweDFlZTM3LAorCTB4MWVlMzksIDB4MWVlMzksCisJMHgx
ZWUzYiwgMHgxZWUzYiwKKwkweDFlZTQyLCAweDFlZTQyLAorCTB4MWVlNDcsIDB4MWVlNDcsCisJ
MHgxZWU0OSwgMHgxZWU0OSwKKwkweDFlZTRiLCAweDFlZTRiLAorCTB4MWVlNGQsIDB4MWVlNGYs
CisJMHgxZWU1MSwgMHgxZWU1MiwKKwkweDFlZTU0LCAweDFlZTU0LAorCTB4MWVlNTcsIDB4MWVl
NTcsCisJMHgxZWU1OSwgMHgxZWU1OSwKKwkweDFlZTViLCAweDFlZTViLAorCTB4MWVlNWQsIDB4
MWVlNWQsCisJMHgxZWU1ZiwgMHgxZWU1ZiwKKwkweDFlZTYxLCAweDFlZTYyLAorCTB4MWVlNjQs
IDB4MWVlNjQsCisJMHgxZWU2NywgMHgxZWU2YSwKKwkweDFlZTZjLCAweDFlZTcyLAorCTB4MWVl
NzQsIDB4MWVlNzcsCisJMHgxZWU3OSwgMHgxZWU3YywKKwkweDFlZTdlLCAweDFlZTdlLAorCTB4
MWVlODAsIDB4MWVlODksCisJMHgxZWU4YiwgMHgxZWU5YiwKKwkweDFlZWExLCAweDFlZWEzLAor
CTB4MWVlYTUsIDB4MWVlYTksCisJMHgxZWVhYiwgMHgxZWViYiwKKwkweDFlZWYwLCAweDFlZWYx
LAorCTB4MWYwMDAsIDB4MWYwMmIsCisJMHgxZjAzMCwgMHgxZjA5MywKKwkweDFmMGEwLCAweDFm
MGFlLAorCTB4MWYwYjEsIDB4MWYwYmUsCisJMHgxZjBjMSwgMHgxZjBjZiwKKwkweDFmMGQxLCAw
eDFmMGRmLAorCTB4MWYxMDAsIDB4MWYxMGEsCisJMHgxZjExMCwgMHgxZjEyZSwKKwkweDFmMTMw
LCAweDFmMTZiLAorCTB4MWYxNzAsIDB4MWYxOWEsCisJMHgxZjFlNiwgMHgxZjIwMiwKKwkweDFm
MjEwLCAweDFmMjNhLAorCTB4MWYyNDAsIDB4MWYyNDgsCisJMHgxZjI1MCwgMHgxZjI1MSwKKwkw
eDFmMzAwLCAweDFmMzIwLAorCTB4MWYzMzAsIDB4MWYzMzUsCisJMHgxZjMzNywgMHgxZjM3YywK
KwkweDFmMzgwLCAweDFmMzkzLAorCTB4MWYzYTAsIDB4MWYzYzQsCisJMHgxZjNjNiwgMHgxZjNj
YSwKKwkweDFmM2UwLCAweDFmM2YwLAorCTB4MWY0MDAsIDB4MWY0M2UsCisJMHgxZjQ0MCwgMHgx
ZjQ0MCwKKwkweDFmNDQyLCAweDFmNGY3LAorCTB4MWY0ZjksIDB4MWY0ZmMsCisJMHgxZjUwMCwg
MHgxZjUzZCwKKwkweDFmNTQwLCAweDFmNTQzLAorCTB4MWY1NTAsIDB4MWY1NjcsCisJMHgxZjVm
YiwgMHgxZjY0MCwKKwkweDFmNjQ1LCAweDFmNjRmLAorCTB4MWY2ODAsIDB4MWY2YzUsCisJMHgx
ZjcwMCwgMHgxZjc3MywKKwkweDFmZmZlLCAweDJhNmQ2LAorCTB4MmE3MDAsIDB4MmI3MzQsCisJ
MHgyYjc0MCwgMHgyYjgxZCwKKwkweDJmODAwLCAweDJmYTFkLAorCTB4MmZmZmUsIDB4MmZmZmYs
CisJMHgzZmZmZSwgMHgzZmZmZiwKKwkweDRmZmZlLCAweDRmZmZmLAorCTB4NWZmZmUsIDB4NWZm
ZmYsCisJMHg2ZmZmZSwgMHg2ZmZmZiwKKwkweDdmZmZlLCAweDdmZmZmLAorCTB4OGZmZmUsIDB4
OGZmZmYsCisJMHg5ZmZmZSwgMHg5ZmZmZiwKKwkweGFmZmZlLCAweGFmZmZmLAorCTB4YmZmZmUs
IDB4YmZmZmYsCisJMHhjZmZmZSwgMHhjZmZmZiwKKwkweGRmZmZlLCAweGRmZmZmLAorCTB4ZTAw
MDEsIDB4ZTAwMDEsCisJMHhlMDAyMCwgMHhlMDA3ZiwKKwkweGUwMTAwLCAweGUwMWVmLAorCTB4
ZWZmZmUsIDB4MTBmZmZmLAorfTsgLyogQ1JfQWdlXzZfMiAqLworCisvKiAnQWdlXzZfMyc6IERl
cml2ZWQgQWdlIDYuMyAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfQWdlXzZfM1td
ID0geworCTU0OSwKKwkweDAwMDAsIDB4MDM3NywKKwkweDAzN2EsIDB4MDM3ZSwKKwkweDAzODQs
IDB4MDM4YSwKKwkweDAzOGMsIDB4MDM4YywKKwkweDAzOGUsIDB4MDNhMSwKKwkweDAzYTMsIDB4
MDUyNywKKwkweDA1MzEsIDB4MDU1NiwKKwkweDA1NTksIDB4MDU1ZiwKKwkweDA1NjEsIDB4MDU4
NywKKwkweDA1ODksIDB4MDU4YSwKKwkweDA1OGYsIDB4MDU4ZiwKKwkweDA1OTEsIDB4MDVjNywK
KwkweDA1ZDAsIDB4MDVlYSwKKwkweDA1ZjAsIDB4MDVmNCwKKwkweDA2MDAsIDB4MDYwNCwKKwkw
eDA2MDYsIDB4MDYxYywKKwkweDA2MWUsIDB4MDcwZCwKKwkweDA3MGYsIDB4MDc0YSwKKwkweDA3
NGQsIDB4MDdiMSwKKwkweDA3YzAsIDB4MDdmYSwKKwkweDA4MDAsIDB4MDgyZCwKKwkweDA4MzAs
IDB4MDgzZSwKKwkweDA4NDAsIDB4MDg1YiwKKwkweDA4NWUsIDB4MDg1ZSwKKwkweDA4YTAsIDB4
MDhhMCwKKwkweDA4YTIsIDB4MDhhYywKKwkweDA4ZTQsIDB4MDhmZSwKKwkweDA5MDAsIDB4MDk3
NywKKwkweDA5NzksIDB4MDk3ZiwKKwkweDA5ODEsIDB4MDk4MywKKwkweDA5ODUsIDB4MDk4YywK
KwkweDA5OGYsIDB4MDk5MCwKKwkweDA5OTMsIDB4MDlhOCwKKwkweDA5YWEsIDB4MDliMCwKKwkw
eDA5YjIsIDB4MDliMiwKKwkweDA5YjYsIDB4MDliOSwKKwkweDA5YmMsIDB4MDljNCwKKwkweDA5
YzcsIDB4MDljOCwKKwkweDA5Y2IsIDB4MDljZSwKKwkweDA5ZDcsIDB4MDlkNywKKwkweDA5ZGMs
IDB4MDlkZCwKKwkweDA5ZGYsIDB4MDllMywKKwkweDA5ZTYsIDB4MDlmYiwKKwkweDBhMDEsIDB4
MGEwMywKKwkweDBhMDUsIDB4MGEwYSwKKwkweDBhMGYsIDB4MGExMCwKKwkweDBhMTMsIDB4MGEy
OCwKKwkweDBhMmEsIDB4MGEzMCwKKwkweDBhMzIsIDB4MGEzMywKKwkweDBhMzUsIDB4MGEzNiwK
KwkweDBhMzgsIDB4MGEzOSwKKwkweDBhM2MsIDB4MGEzYywKKwkweDBhM2UsIDB4MGE0MiwKKwkw
eDBhNDcsIDB4MGE0OCwKKwkweDBhNGIsIDB4MGE0ZCwKKwkweDBhNTEsIDB4MGE1MSwKKwkweDBh
NTksIDB4MGE1YywKKwkweDBhNWUsIDB4MGE1ZSwKKwkweDBhNjYsIDB4MGE3NSwKKwkweDBhODEs
IDB4MGE4MywKKwkweDBhODUsIDB4MGE4ZCwKKwkweDBhOGYsIDB4MGE5MSwKKwkweDBhOTMsIDB4
MGFhOCwKKwkweDBhYWEsIDB4MGFiMCwKKwkweDBhYjIsIDB4MGFiMywKKwkweDBhYjUsIDB4MGFi
OSwKKwkweDBhYmMsIDB4MGFjNSwKKwkweDBhYzcsIDB4MGFjOSwKKwkweDBhY2IsIDB4MGFjZCwK
KwkweDBhZDAsIDB4MGFkMCwKKwkweDBhZTAsIDB4MGFlMywKKwkweDBhZTYsIDB4MGFmMSwKKwkw
eDBiMDEsIDB4MGIwMywKKwkweDBiMDUsIDB4MGIwYywKKwkweDBiMGYsIDB4MGIxMCwKKwkweDBi
MTMsIDB4MGIyOCwKKwkweDBiMmEsIDB4MGIzMCwKKwkweDBiMzIsIDB4MGIzMywKKwkweDBiMzUs
IDB4MGIzOSwKKwkweDBiM2MsIDB4MGI0NCwKKwkweDBiNDcsIDB4MGI0OCwKKwkweDBiNGIsIDB4
MGI0ZCwKKwkweDBiNTYsIDB4MGI1NywKKwkweDBiNWMsIDB4MGI1ZCwKKwkweDBiNWYsIDB4MGI2
MywKKwkweDBiNjYsIDB4MGI3NywKKwkweDBiODIsIDB4MGI4MywKKwkweDBiODUsIDB4MGI4YSwK
KwkweDBiOGUsIDB4MGI5MCwKKwkweDBiOTIsIDB4MGI5NSwKKwkweDBiOTksIDB4MGI5YSwKKwkw
eDBiOWMsIDB4MGI5YywKKwkweDBiOWUsIDB4MGI5ZiwKKwkweDBiYTMsIDB4MGJhNCwKKwkweDBi
YTgsIDB4MGJhYSwKKwkweDBiYWUsIDB4MGJiOSwKKwkweDBiYmUsIDB4MGJjMiwKKwkweDBiYzYs
IDB4MGJjOCwKKwkweDBiY2EsIDB4MGJjZCwKKwkweDBiZDAsIDB4MGJkMCwKKwkweDBiZDcsIDB4
MGJkNywKKwkweDBiZTYsIDB4MGJmYSwKKwkweDBjMDEsIDB4MGMwMywKKwkweDBjMDUsIDB4MGMw
YywKKwkweDBjMGUsIDB4MGMxMCwKKwkweDBjMTIsIDB4MGMyOCwKKwkweDBjMmEsIDB4MGMzMywK
KwkweDBjMzUsIDB4MGMzOSwKKwkweDBjM2QsIDB4MGM0NCwKKwkweDBjNDYsIDB4MGM0OCwKKwkw
eDBjNGEsIDB4MGM0ZCwKKwkweDBjNTUsIDB4MGM1NiwKKwkweDBjNTgsIDB4MGM1OSwKKwkweDBj
NjAsIDB4MGM2MywKKwkweDBjNjYsIDB4MGM2ZiwKKwkweDBjNzgsIDB4MGM3ZiwKKwkweDBjODIs
IDB4MGM4MywKKwkweDBjODUsIDB4MGM4YywKKwkweDBjOGUsIDB4MGM5MCwKKwkweDBjOTIsIDB4
MGNhOCwKKwkweDBjYWEsIDB4MGNiMywKKwkweDBjYjUsIDB4MGNiOSwKKwkweDBjYmMsIDB4MGNj
NCwKKwkweDBjYzYsIDB4MGNjOCwKKwkweDBjY2EsIDB4MGNjZCwKKwkweDBjZDUsIDB4MGNkNiwK
KwkweDBjZGUsIDB4MGNkZSwKKwkweDBjZTAsIDB4MGNlMywKKwkweDBjZTYsIDB4MGNlZiwKKwkw
eDBjZjEsIDB4MGNmMiwKKwkweDBkMDIsIDB4MGQwMywKKwkweDBkMDUsIDB4MGQwYywKKwkweDBk
MGUsIDB4MGQxMCwKKwkweDBkMTIsIDB4MGQzYSwKKwkweDBkM2QsIDB4MGQ0NCwKKwkweDBkNDYs
IDB4MGQ0OCwKKwkweDBkNGEsIDB4MGQ0ZSwKKwkweDBkNTcsIDB4MGQ1NywKKwkweDBkNjAsIDB4
MGQ2MywKKwkweDBkNjYsIDB4MGQ3NSwKKwkweDBkNzksIDB4MGQ3ZiwKKwkweDBkODIsIDB4MGQ4
MywKKwkweDBkODUsIDB4MGQ5NiwKKwkweDBkOWEsIDB4MGRiMSwKKwkweDBkYjMsIDB4MGRiYiwK
KwkweDBkYmQsIDB4MGRiZCwKKwkweDBkYzAsIDB4MGRjNiwKKwkweDBkY2EsIDB4MGRjYSwKKwkw
eDBkY2YsIDB4MGRkNCwKKwkweDBkZDYsIDB4MGRkNiwKKwkweDBkZDgsIDB4MGRkZiwKKwkweDBk
ZjIsIDB4MGRmNCwKKwkweDBlMDEsIDB4MGUzYSwKKwkweDBlM2YsIDB4MGU1YiwKKwkweDBlODEs
IDB4MGU4MiwKKwkweDBlODQsIDB4MGU4NCwKKwkweDBlODcsIDB4MGU4OCwKKwkweDBlOGEsIDB4
MGU4YSwKKwkweDBlOGQsIDB4MGU4ZCwKKwkweDBlOTQsIDB4MGU5NywKKwkweDBlOTksIDB4MGU5
ZiwKKwkweDBlYTEsIDB4MGVhMywKKwkweDBlYTUsIDB4MGVhNSwKKwkweDBlYTcsIDB4MGVhNywK
KwkweDBlYWEsIDB4MGVhYiwKKwkweDBlYWQsIDB4MGViOSwKKwkweDBlYmIsIDB4MGViZCwKKwkw
eDBlYzAsIDB4MGVjNCwKKwkweDBlYzYsIDB4MGVjNiwKKwkweDBlYzgsIDB4MGVjZCwKKwkweDBl
ZDAsIDB4MGVkOSwKKwkweDBlZGMsIDB4MGVkZiwKKwkweDBmMDAsIDB4MGY0NywKKwkweDBmNDks
IDB4MGY2YywKKwkweDBmNzEsIDB4MGY5NywKKwkweDBmOTksIDB4MGZiYywKKwkweDBmYmUsIDB4
MGZjYywKKwkweDBmY2UsIDB4MGZkYSwKKwkweDEwMDAsIDB4MTBjNSwKKwkweDEwYzcsIDB4MTBj
NywKKwkweDEwY2QsIDB4MTBjZCwKKwkweDEwZDAsIDB4MTI0OCwKKwkweDEyNGEsIDB4MTI0ZCwK
KwkweDEyNTAsIDB4MTI1NiwKKwkweDEyNTgsIDB4MTI1OCwKKwkweDEyNWEsIDB4MTI1ZCwKKwkw
eDEyNjAsIDB4MTI4OCwKKwkweDEyOGEsIDB4MTI4ZCwKKwkweDEyOTAsIDB4MTJiMCwKKwkweDEy
YjIsIDB4MTJiNSwKKwkweDEyYjgsIDB4MTJiZSwKKwkweDEyYzAsIDB4MTJjMCwKKwkweDEyYzIs
IDB4MTJjNSwKKwkweDEyYzgsIDB4MTJkNiwKKwkweDEyZDgsIDB4MTMxMCwKKwkweDEzMTIsIDB4
MTMxNSwKKwkweDEzMTgsIDB4MTM1YSwKKwkweDEzNWQsIDB4MTM3YywKKwkweDEzODAsIDB4MTM5
OSwKKwkweDEzYTAsIDB4MTNmNCwKKwkweDE0MDAsIDB4MTY5YywKKwkweDE2YTAsIDB4MTZmMCwK
KwkweDE3MDAsIDB4MTcwYywKKwkweDE3MGUsIDB4MTcxNCwKKwkweDE3MjAsIDB4MTczNiwKKwkw
eDE3NDAsIDB4MTc1MywKKwkweDE3NjAsIDB4MTc2YywKKwkweDE3NmUsIDB4MTc3MCwKKwkweDE3
NzIsIDB4MTc3MywKKwkweDE3ODAsIDB4MTdkZCwKKwkweDE3ZTAsIDB4MTdlOSwKKwkweDE3ZjAs
IDB4MTdmOSwKKwkweDE4MDAsIDB4MTgwZSwKKwkweDE4MTAsIDB4MTgxOSwKKwkweDE4MjAsIDB4
MTg3NywKKwkweDE4ODAsIDB4MThhYSwKKwkweDE4YjAsIDB4MThmNSwKKwkweDE5MDAsIDB4MTkx
YywKKwkweDE5MjAsIDB4MTkyYiwKKwkweDE5MzAsIDB4MTkzYiwKKwkweDE5NDAsIDB4MTk0MCwK
KwkweDE5NDQsIDB4MTk2ZCwKKwkweDE5NzAsIDB4MTk3NCwKKwkweDE5ODAsIDB4MTlhYiwKKwkw
eDE5YjAsIDB4MTljOSwKKwkweDE5ZDAsIDB4MTlkYSwKKwkweDE5ZGUsIDB4MWExYiwKKwkweDFh
MWUsIDB4MWE1ZSwKKwkweDFhNjAsIDB4MWE3YywKKwkweDFhN2YsIDB4MWE4OSwKKwkweDFhOTAs
IDB4MWE5OSwKKwkweDFhYTAsIDB4MWFhZCwKKwkweDFiMDAsIDB4MWI0YiwKKwkweDFiNTAsIDB4
MWI3YywKKwkweDFiODAsIDB4MWJmMywKKwkweDFiZmMsIDB4MWMzNywKKwkweDFjM2IsIDB4MWM0
OSwKKwkweDFjNGQsIDB4MWM3ZiwKKwkweDFjYzAsIDB4MWNjNywKKwkweDFjZDAsIDB4MWNmNiwK
KwkweDFkMDAsIDB4MWRlNiwKKwkweDFkZmMsIDB4MWYxNSwKKwkweDFmMTgsIDB4MWYxZCwKKwkw
eDFmMjAsIDB4MWY0NSwKKwkweDFmNDgsIDB4MWY0ZCwKKwkweDFmNTAsIDB4MWY1NywKKwkweDFm
NTksIDB4MWY1OSwKKwkweDFmNWIsIDB4MWY1YiwKKwkweDFmNWQsIDB4MWY1ZCwKKwkweDFmNWYs
IDB4MWY3ZCwKKwkweDFmODAsIDB4MWZiNCwKKwkweDFmYjYsIDB4MWZjNCwKKwkweDFmYzYsIDB4
MWZkMywKKwkweDFmZDYsIDB4MWZkYiwKKwkweDFmZGQsIDB4MWZlZiwKKwkweDFmZjIsIDB4MWZm
NCwKKwkweDFmZjYsIDB4MWZmZSwKKwkweDIwMDAsIDB4MjA2NCwKKwkweDIwNjYsIDB4MjA3MSwK
KwkweDIwNzQsIDB4MjA4ZSwKKwkweDIwOTAsIDB4MjA5YywKKwkweDIwYTAsIDB4MjBiYSwKKwkw
eDIwZDAsIDB4MjBmMCwKKwkweDIxMDAsIDB4MjE4OSwKKwkweDIxOTAsIDB4MjNmMywKKwkweDI0
MDAsIDB4MjQyNiwKKwkweDI0NDAsIDB4MjQ0YSwKKwkweDI0NjAsIDB4MjZmZiwKKwkweDI3MDEs
IDB4MmI0YywKKwkweDJiNTAsIDB4MmI1OSwKKwkweDJjMDAsIDB4MmMyZSwKKwkweDJjMzAsIDB4
MmM1ZSwKKwkweDJjNjAsIDB4MmNmMywKKwkweDJjZjksIDB4MmQyNSwKKwkweDJkMjcsIDB4MmQy
NywKKwkweDJkMmQsIDB4MmQyZCwKKwkweDJkMzAsIDB4MmQ2NywKKwkweDJkNmYsIDB4MmQ3MCwK
KwkweDJkN2YsIDB4MmQ5NiwKKwkweDJkYTAsIDB4MmRhNiwKKwkweDJkYTgsIDB4MmRhZSwKKwkw
eDJkYjAsIDB4MmRiNiwKKwkweDJkYjgsIDB4MmRiZSwKKwkweDJkYzAsIDB4MmRjNiwKKwkweDJk
YzgsIDB4MmRjZSwKKwkweDJkZDAsIDB4MmRkNiwKKwkweDJkZDgsIDB4MmRkZSwKKwkweDJkZTAs
IDB4MmUzYiwKKwkweDJlODAsIDB4MmU5OSwKKwkweDJlOWIsIDB4MmVmMywKKwkweDJmMDAsIDB4
MmZkNSwKKwkweDJmZjAsIDB4MmZmYiwKKwkweDMwMDAsIDB4MzAzZiwKKwkweDMwNDEsIDB4MzA5
NiwKKwkweDMwOTksIDB4MzBmZiwKKwkweDMxMDUsIDB4MzEyZCwKKwkweDMxMzEsIDB4MzE4ZSwK
KwkweDMxOTAsIDB4MzFiYSwKKwkweDMxYzAsIDB4MzFlMywKKwkweDMxZjAsIDB4MzIxZSwKKwkw
eDMyMjAsIDB4MzJmZSwKKwkweDMzMDAsIDB4NGRiNSwKKwkweDRkYzAsIDB4OWZjYywKKwkweGEw
MDAsIDB4YTQ4YywKKwkweGE0OTAsIDB4YTRjNiwKKwkweGE0ZDAsIDB4YTYyYiwKKwkweGE2NDAs
IDB4YTY5NywKKwkweGE2OWYsIDB4YTZmNywKKwkweGE3MDAsIDB4YTc4ZSwKKwkweGE3OTAsIDB4
YTc5MywKKwkweGE3YTAsIDB4YTdhYSwKKwkweGE3ZjgsIDB4YTgyYiwKKwkweGE4MzAsIDB4YTgz
OSwKKwkweGE4NDAsIDB4YTg3NywKKwkweGE4ODAsIDB4YThjNCwKKwkweGE4Y2UsIDB4YThkOSwK
KwkweGE4ZTAsIDB4YThmYiwKKwkweGE5MDAsIDB4YTk1MywKKwkweGE5NWYsIDB4YTk3YywKKwkw
eGE5ODAsIDB4YTljZCwKKwkweGE5Y2YsIDB4YTlkOSwKKwkweGE5ZGUsIDB4YTlkZiwKKwkweGFh
MDAsIDB4YWEzNiwKKwkweGFhNDAsIDB4YWE0ZCwKKwkweGFhNTAsIDB4YWE1OSwKKwkweGFhNWMs
IDB4YWE3YiwKKwkweGFhODAsIDB4YWFjMiwKKwkweGFhZGIsIDB4YWFmNiwKKwkweGFiMDEsIDB4
YWIwNiwKKwkweGFiMDksIDB4YWIwZSwKKwkweGFiMTEsIDB4YWIxNiwKKwkweGFiMjAsIDB4YWIy
NiwKKwkweGFiMjgsIDB4YWIyZSwKKwkweGFiYzAsIDB4YWJlZCwKKwkweGFiZjAsIDB4YWJmOSwK
KwkweGFjMDAsIDB4ZDdhMywKKwkweGQ3YjAsIDB4ZDdjNiwKKwkweGQ3Y2IsIDB4ZDdmYiwKKwkw
eGQ4MDAsIDB4ZmE2ZCwKKwkweGZhNzAsIDB4ZmFkOSwKKwkweGZiMDAsIDB4ZmIwNiwKKwkweGZi
MTMsIDB4ZmIxNywKKwkweGZiMWQsIDB4ZmIzNiwKKwkweGZiMzgsIDB4ZmIzYywKKwkweGZiM2Us
IDB4ZmIzZSwKKwkweGZiNDAsIDB4ZmI0MSwKKwkweGZiNDMsIDB4ZmI0NCwKKwkweGZiNDYsIDB4
ZmJjMSwKKwkweGZiZDMsIDB4ZmQzZiwKKwkweGZkNTAsIDB4ZmQ4ZiwKKwkweGZkOTIsIDB4ZmRj
NywKKwkweGZkZDAsIDB4ZmRmZCwKKwkweGZlMDAsIDB4ZmUxOSwKKwkweGZlMjAsIDB4ZmUyNiwK
KwkweGZlMzAsIDB4ZmU1MiwKKwkweGZlNTQsIDB4ZmU2NiwKKwkweGZlNjgsIDB4ZmU2YiwKKwkw
eGZlNzAsIDB4ZmU3NCwKKwkweGZlNzYsIDB4ZmVmYywKKwkweGZlZmYsIDB4ZmVmZiwKKwkweGZm
MDEsIDB4ZmZiZSwKKwkweGZmYzIsIDB4ZmZjNywKKwkweGZmY2EsIDB4ZmZjZiwKKwkweGZmZDIs
IDB4ZmZkNywKKwkweGZmZGEsIDB4ZmZkYywKKwkweGZmZTAsIDB4ZmZlNiwKKwkweGZmZTgsIDB4
ZmZlZSwKKwkweGZmZjksIDB4MTAwMGIsCisJMHgxMDAwZCwgMHgxMDAyNiwKKwkweDEwMDI4LCAw
eDEwMDNhLAorCTB4MTAwM2MsIDB4MTAwM2QsCisJMHgxMDAzZiwgMHgxMDA0ZCwKKwkweDEwMDUw
LCAweDEwMDVkLAorCTB4MTAwODAsIDB4MTAwZmEsCisJMHgxMDEwMCwgMHgxMDEwMiwKKwkweDEw
MTA3LCAweDEwMTMzLAorCTB4MTAxMzcsIDB4MTAxOGEsCisJMHgxMDE5MCwgMHgxMDE5YiwKKwkw
eDEwMWQwLCAweDEwMWZkLAorCTB4MTAyODAsIDB4MTAyOWMsCisJMHgxMDJhMCwgMHgxMDJkMCwK
KwkweDEwMzAwLCAweDEwMzFlLAorCTB4MTAzMjAsIDB4MTAzMjMsCisJMHgxMDMzMCwgMHgxMDM0
YSwKKwkweDEwMzgwLCAweDEwMzlkLAorCTB4MTAzOWYsIDB4MTAzYzMsCisJMHgxMDNjOCwgMHgx
MDNkNSwKKwkweDEwNDAwLCAweDEwNDlkLAorCTB4MTA0YTAsIDB4MTA0YTksCisJMHgxMDgwMCwg
MHgxMDgwNSwKKwkweDEwODA4LCAweDEwODA4LAorCTB4MTA4MGEsIDB4MTA4MzUsCisJMHgxMDgz
NywgMHgxMDgzOCwKKwkweDEwODNjLCAweDEwODNjLAorCTB4MTA4M2YsIDB4MTA4NTUsCisJMHgx
MDg1NywgMHgxMDg1ZiwKKwkweDEwOTAwLCAweDEwOTFiLAorCTB4MTA5MWYsIDB4MTA5MzksCisJ
MHgxMDkzZiwgMHgxMDkzZiwKKwkweDEwOTgwLCAweDEwOWI3LAorCTB4MTA5YmUsIDB4MTA5YmYs
CisJMHgxMGEwMCwgMHgxMGEwMywKKwkweDEwYTA1LCAweDEwYTA2LAorCTB4MTBhMGMsIDB4MTBh
MTMsCisJMHgxMGExNSwgMHgxMGExNywKKwkweDEwYTE5LCAweDEwYTMzLAorCTB4MTBhMzgsIDB4
MTBhM2EsCisJMHgxMGEzZiwgMHgxMGE0NywKKwkweDEwYTUwLCAweDEwYTU4LAorCTB4MTBhNjAs
IDB4MTBhN2YsCisJMHgxMGIwMCwgMHgxMGIzNSwKKwkweDEwYjM5LCAweDEwYjU1LAorCTB4MTBi
NTgsIDB4MTBiNzIsCisJMHgxMGI3OCwgMHgxMGI3ZiwKKwkweDEwYzAwLCAweDEwYzQ4LAorCTB4
MTBlNjAsIDB4MTBlN2UsCisJMHgxMTAwMCwgMHgxMTA0ZCwKKwkweDExMDUyLCAweDExMDZmLAor
CTB4MTEwODAsIDB4MTEwYzEsCisJMHgxMTBkMCwgMHgxMTBlOCwKKwkweDExMGYwLCAweDExMGY5
LAorCTB4MTExMDAsIDB4MTExMzQsCisJMHgxMTEzNiwgMHgxMTE0MywKKwkweDExMTgwLCAweDEx
MWM4LAorCTB4MTExZDAsIDB4MTExZDksCisJMHgxMTY4MCwgMHgxMTZiNywKKwkweDExNmMwLCAw
eDExNmM5LAorCTB4MTIwMDAsIDB4MTIzNmUsCisJMHgxMjQwMCwgMHgxMjQ2MiwKKwkweDEyNDcw
LCAweDEyNDczLAorCTB4MTMwMDAsIDB4MTM0MmUsCisJMHgxNjgwMCwgMHgxNmEzOCwKKwkweDE2
ZjAwLCAweDE2ZjQ0LAorCTB4MTZmNTAsIDB4MTZmN2UsCisJMHgxNmY4ZiwgMHgxNmY5ZiwKKwkw
eDFiMDAwLCAweDFiMDAxLAorCTB4MWQwMDAsIDB4MWQwZjUsCisJMHgxZDEwMCwgMHgxZDEyNiwK
KwkweDFkMTI5LCAweDFkMWRkLAorCTB4MWQyMDAsIDB4MWQyNDUsCisJMHgxZDMwMCwgMHgxZDM1
NiwKKwkweDFkMzYwLCAweDFkMzcxLAorCTB4MWQ0MDAsIDB4MWQ0NTQsCisJMHgxZDQ1NiwgMHgx
ZDQ5YywKKwkweDFkNDllLCAweDFkNDlmLAorCTB4MWQ0YTIsIDB4MWQ0YTIsCisJMHgxZDRhNSwg
MHgxZDRhNiwKKwkweDFkNGE5LCAweDFkNGFjLAorCTB4MWQ0YWUsIDB4MWQ0YjksCisJMHgxZDRi
YiwgMHgxZDRiYiwKKwkweDFkNGJkLCAweDFkNGMzLAorCTB4MWQ0YzUsIDB4MWQ1MDUsCisJMHgx
ZDUwNywgMHgxZDUwYSwKKwkweDFkNTBkLCAweDFkNTE0LAorCTB4MWQ1MTYsIDB4MWQ1MWMsCisJ
MHgxZDUxZSwgMHgxZDUzOSwKKwkweDFkNTNiLCAweDFkNTNlLAorCTB4MWQ1NDAsIDB4MWQ1NDQs
CisJMHgxZDU0NiwgMHgxZDU0NiwKKwkweDFkNTRhLCAweDFkNTUwLAorCTB4MWQ1NTIsIDB4MWQ2
YTUsCisJMHgxZDZhOCwgMHgxZDdjYiwKKwkweDFkN2NlLCAweDFkN2ZmLAorCTB4MWVlMDAsIDB4
MWVlMDMsCisJMHgxZWUwNSwgMHgxZWUxZiwKKwkweDFlZTIxLCAweDFlZTIyLAorCTB4MWVlMjQs
IDB4MWVlMjQsCisJMHgxZWUyNywgMHgxZWUyNywKKwkweDFlZTI5LCAweDFlZTMyLAorCTB4MWVl
MzQsIDB4MWVlMzcsCisJMHgxZWUzOSwgMHgxZWUzOSwKKwkweDFlZTNiLCAweDFlZTNiLAorCTB4
MWVlNDIsIDB4MWVlNDIsCisJMHgxZWU0NywgMHgxZWU0NywKKwkweDFlZTQ5LCAweDFlZTQ5LAor
CTB4MWVlNGIsIDB4MWVlNGIsCisJMHgxZWU0ZCwgMHgxZWU0ZiwKKwkweDFlZTUxLCAweDFlZTUy
LAorCTB4MWVlNTQsIDB4MWVlNTQsCisJMHgxZWU1NywgMHgxZWU1NywKKwkweDFlZTU5LCAweDFl
ZTU5LAorCTB4MWVlNWIsIDB4MWVlNWIsCisJMHgxZWU1ZCwgMHgxZWU1ZCwKKwkweDFlZTVmLCAw
eDFlZTVmLAorCTB4MWVlNjEsIDB4MWVlNjIsCisJMHgxZWU2NCwgMHgxZWU2NCwKKwkweDFlZTY3
LCAweDFlZTZhLAorCTB4MWVlNmMsIDB4MWVlNzIsCisJMHgxZWU3NCwgMHgxZWU3NywKKwkweDFl
ZTc5LCAweDFlZTdjLAorCTB4MWVlN2UsIDB4MWVlN2UsCisJMHgxZWU4MCwgMHgxZWU4OSwKKwkw
eDFlZThiLCAweDFlZTliLAorCTB4MWVlYTEsIDB4MWVlYTMsCisJMHgxZWVhNSwgMHgxZWVhOSwK
KwkweDFlZWFiLCAweDFlZWJiLAorCTB4MWVlZjAsIDB4MWVlZjEsCisJMHgxZjAwMCwgMHgxZjAy
YiwKKwkweDFmMDMwLCAweDFmMDkzLAorCTB4MWYwYTAsIDB4MWYwYWUsCisJMHgxZjBiMSwgMHgx
ZjBiZSwKKwkweDFmMGMxLCAweDFmMGNmLAorCTB4MWYwZDEsIDB4MWYwZGYsCisJMHgxZjEwMCwg
MHgxZjEwYSwKKwkweDFmMTEwLCAweDFmMTJlLAorCTB4MWYxMzAsIDB4MWYxNmIsCisJMHgxZjE3
MCwgMHgxZjE5YSwKKwkweDFmMWU2LCAweDFmMjAyLAorCTB4MWYyMTAsIDB4MWYyM2EsCisJMHgx
ZjI0MCwgMHgxZjI0OCwKKwkweDFmMjUwLCAweDFmMjUxLAorCTB4MWYzMDAsIDB4MWYzMjAsCisJ
MHgxZjMzMCwgMHgxZjMzNSwKKwkweDFmMzM3LCAweDFmMzdjLAorCTB4MWYzODAsIDB4MWYzOTMs
CisJMHgxZjNhMCwgMHgxZjNjNCwKKwkweDFmM2M2LCAweDFmM2NhLAorCTB4MWYzZTAsIDB4MWYz
ZjAsCisJMHgxZjQwMCwgMHgxZjQzZSwKKwkweDFmNDQwLCAweDFmNDQwLAorCTB4MWY0NDIsIDB4
MWY0ZjcsCisJMHgxZjRmOSwgMHgxZjRmYywKKwkweDFmNTAwLCAweDFmNTNkLAorCTB4MWY1NDAs
IDB4MWY1NDMsCisJMHgxZjU1MCwgMHgxZjU2NywKKwkweDFmNWZiLCAweDFmNjQwLAorCTB4MWY2
NDUsIDB4MWY2NGYsCisJMHgxZjY4MCwgMHgxZjZjNSwKKwkweDFmNzAwLCAweDFmNzczLAorCTB4
MWZmZmUsIDB4MmE2ZDYsCisJMHgyYTcwMCwgMHgyYjczNCwKKwkweDJiNzQwLCAweDJiODFkLAor
CTB4MmY4MDAsIDB4MmZhMWQsCisJMHgyZmZmZSwgMHgyZmZmZiwKKwkweDNmZmZlLCAweDNmZmZm
LAorCTB4NGZmZmUsIDB4NGZmZmYsCisJMHg1ZmZmZSwgMHg1ZmZmZiwKKwkweDZmZmZlLCAweDZm
ZmZmLAorCTB4N2ZmZmUsIDB4N2ZmZmYsCisJMHg4ZmZmZSwgMHg4ZmZmZiwKKwkweDlmZmZlLCAw
eDlmZmZmLAorCTB4YWZmZmUsIDB4YWZmZmYsCisJMHhiZmZmZSwgMHhiZmZmZiwKKwkweGNmZmZl
LCAweGNmZmZmLAorCTB4ZGZmZmUsIDB4ZGZmZmYsCisJMHhlMDAwMSwgMHhlMDAwMSwKKwkweGUw
MDIwLCAweGUwMDdmLAorCTB4ZTAxMDAsIDB4ZTAxZWYsCisJMHhlZmZmZSwgMHgxMGZmZmYsCit9
OyAvKiBDUl9BZ2VfNl8zICovCisKKy8qICdBZ2VfN18wJzogRGVyaXZlZCBBZ2UgNy4wICovCitz
dGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9BZ2VfN18wW10gPSB7CisJNjEwLAorCTB4MDAw
MCwgMHgwMzc3LAorCTB4MDM3YSwgMHgwMzdmLAorCTB4MDM4NCwgMHgwMzhhLAorCTB4MDM4Yywg
MHgwMzhjLAorCTB4MDM4ZSwgMHgwM2ExLAorCTB4MDNhMywgMHgwNTJmLAorCTB4MDUzMSwgMHgw
NTU2LAorCTB4MDU1OSwgMHgwNTVmLAorCTB4MDU2MSwgMHgwNTg3LAorCTB4MDU4OSwgMHgwNThh
LAorCTB4MDU4ZCwgMHgwNThmLAorCTB4MDU5MSwgMHgwNWM3LAorCTB4MDVkMCwgMHgwNWVhLAor
CTB4MDVmMCwgMHgwNWY0LAorCTB4MDYwMCwgMHgwNjFjLAorCTB4MDYxZSwgMHgwNzBkLAorCTB4
MDcwZiwgMHgwNzRhLAorCTB4MDc0ZCwgMHgwN2IxLAorCTB4MDdjMCwgMHgwN2ZhLAorCTB4MDgw
MCwgMHgwODJkLAorCTB4MDgzMCwgMHgwODNlLAorCTB4MDg0MCwgMHgwODViLAorCTB4MDg1ZSwg
MHgwODVlLAorCTB4MDhhMCwgMHgwOGIyLAorCTB4MDhlNCwgMHgwOTgzLAorCTB4MDk4NSwgMHgw
OThjLAorCTB4MDk4ZiwgMHgwOTkwLAorCTB4MDk5MywgMHgwOWE4LAorCTB4MDlhYSwgMHgwOWIw
LAorCTB4MDliMiwgMHgwOWIyLAorCTB4MDliNiwgMHgwOWI5LAorCTB4MDliYywgMHgwOWM0LAor
CTB4MDljNywgMHgwOWM4LAorCTB4MDljYiwgMHgwOWNlLAorCTB4MDlkNywgMHgwOWQ3LAorCTB4
MDlkYywgMHgwOWRkLAorCTB4MDlkZiwgMHgwOWUzLAorCTB4MDllNiwgMHgwOWZiLAorCTB4MGEw
MSwgMHgwYTAzLAorCTB4MGEwNSwgMHgwYTBhLAorCTB4MGEwZiwgMHgwYTEwLAorCTB4MGExMywg
MHgwYTI4LAorCTB4MGEyYSwgMHgwYTMwLAorCTB4MGEzMiwgMHgwYTMzLAorCTB4MGEzNSwgMHgw
YTM2LAorCTB4MGEzOCwgMHgwYTM5LAorCTB4MGEzYywgMHgwYTNjLAorCTB4MGEzZSwgMHgwYTQy
LAorCTB4MGE0NywgMHgwYTQ4LAorCTB4MGE0YiwgMHgwYTRkLAorCTB4MGE1MSwgMHgwYTUxLAor
CTB4MGE1OSwgMHgwYTVjLAorCTB4MGE1ZSwgMHgwYTVlLAorCTB4MGE2NiwgMHgwYTc1LAorCTB4
MGE4MSwgMHgwYTgzLAorCTB4MGE4NSwgMHgwYThkLAorCTB4MGE4ZiwgMHgwYTkxLAorCTB4MGE5
MywgMHgwYWE4LAorCTB4MGFhYSwgMHgwYWIwLAorCTB4MGFiMiwgMHgwYWIzLAorCTB4MGFiNSwg
MHgwYWI5LAorCTB4MGFiYywgMHgwYWM1LAorCTB4MGFjNywgMHgwYWM5LAorCTB4MGFjYiwgMHgw
YWNkLAorCTB4MGFkMCwgMHgwYWQwLAorCTB4MGFlMCwgMHgwYWUzLAorCTB4MGFlNiwgMHgwYWYx
LAorCTB4MGIwMSwgMHgwYjAzLAorCTB4MGIwNSwgMHgwYjBjLAorCTB4MGIwZiwgMHgwYjEwLAor
CTB4MGIxMywgMHgwYjI4LAorCTB4MGIyYSwgMHgwYjMwLAorCTB4MGIzMiwgMHgwYjMzLAorCTB4
MGIzNSwgMHgwYjM5LAorCTB4MGIzYywgMHgwYjQ0LAorCTB4MGI0NywgMHgwYjQ4LAorCTB4MGI0
YiwgMHgwYjRkLAorCTB4MGI1NiwgMHgwYjU3LAorCTB4MGI1YywgMHgwYjVkLAorCTB4MGI1Ziwg
MHgwYjYzLAorCTB4MGI2NiwgMHgwYjc3LAorCTB4MGI4MiwgMHgwYjgzLAorCTB4MGI4NSwgMHgw
YjhhLAorCTB4MGI4ZSwgMHgwYjkwLAorCTB4MGI5MiwgMHgwYjk1LAorCTB4MGI5OSwgMHgwYjlh
LAorCTB4MGI5YywgMHgwYjljLAorCTB4MGI5ZSwgMHgwYjlmLAorCTB4MGJhMywgMHgwYmE0LAor
CTB4MGJhOCwgMHgwYmFhLAorCTB4MGJhZSwgMHgwYmI5LAorCTB4MGJiZSwgMHgwYmMyLAorCTB4
MGJjNiwgMHgwYmM4LAorCTB4MGJjYSwgMHgwYmNkLAorCTB4MGJkMCwgMHgwYmQwLAorCTB4MGJk
NywgMHgwYmQ3LAorCTB4MGJlNiwgMHgwYmZhLAorCTB4MGMwMCwgMHgwYzAzLAorCTB4MGMwNSwg
MHgwYzBjLAorCTB4MGMwZSwgMHgwYzEwLAorCTB4MGMxMiwgMHgwYzI4LAorCTB4MGMyYSwgMHgw
YzM5LAorCTB4MGMzZCwgMHgwYzQ0LAorCTB4MGM0NiwgMHgwYzQ4LAorCTB4MGM0YSwgMHgwYzRk
LAorCTB4MGM1NSwgMHgwYzU2LAorCTB4MGM1OCwgMHgwYzU5LAorCTB4MGM2MCwgMHgwYzYzLAor
CTB4MGM2NiwgMHgwYzZmLAorCTB4MGM3OCwgMHgwYzdmLAorCTB4MGM4MSwgMHgwYzgzLAorCTB4
MGM4NSwgMHgwYzhjLAorCTB4MGM4ZSwgMHgwYzkwLAorCTB4MGM5MiwgMHgwY2E4LAorCTB4MGNh
YSwgMHgwY2IzLAorCTB4MGNiNSwgMHgwY2I5LAorCTB4MGNiYywgMHgwY2M0LAorCTB4MGNjNiwg
MHgwY2M4LAorCTB4MGNjYSwgMHgwY2NkLAorCTB4MGNkNSwgMHgwY2Q2LAorCTB4MGNkZSwgMHgw
Y2RlLAorCTB4MGNlMCwgMHgwY2UzLAorCTB4MGNlNiwgMHgwY2VmLAorCTB4MGNmMSwgMHgwY2Yy
LAorCTB4MGQwMSwgMHgwZDAzLAorCTB4MGQwNSwgMHgwZDBjLAorCTB4MGQwZSwgMHgwZDEwLAor
CTB4MGQxMiwgMHgwZDNhLAorCTB4MGQzZCwgMHgwZDQ0LAorCTB4MGQ0NiwgMHgwZDQ4LAorCTB4
MGQ0YSwgMHgwZDRlLAorCTB4MGQ1NywgMHgwZDU3LAorCTB4MGQ2MCwgMHgwZDYzLAorCTB4MGQ2
NiwgMHgwZDc1LAorCTB4MGQ3OSwgMHgwZDdmLAorCTB4MGQ4MiwgMHgwZDgzLAorCTB4MGQ4NSwg
MHgwZDk2LAorCTB4MGQ5YSwgMHgwZGIxLAorCTB4MGRiMywgMHgwZGJiLAorCTB4MGRiZCwgMHgw
ZGJkLAorCTB4MGRjMCwgMHgwZGM2LAorCTB4MGRjYSwgMHgwZGNhLAorCTB4MGRjZiwgMHgwZGQ0
LAorCTB4MGRkNiwgMHgwZGQ2LAorCTB4MGRkOCwgMHgwZGRmLAorCTB4MGRlNiwgMHgwZGVmLAor
CTB4MGRmMiwgMHgwZGY0LAorCTB4MGUwMSwgMHgwZTNhLAorCTB4MGUzZiwgMHgwZTViLAorCTB4
MGU4MSwgMHgwZTgyLAorCTB4MGU4NCwgMHgwZTg0LAorCTB4MGU4NywgMHgwZTg4LAorCTB4MGU4
YSwgMHgwZThhLAorCTB4MGU4ZCwgMHgwZThkLAorCTB4MGU5NCwgMHgwZTk3LAorCTB4MGU5OSwg
MHgwZTlmLAorCTB4MGVhMSwgMHgwZWEzLAorCTB4MGVhNSwgMHgwZWE1LAorCTB4MGVhNywgMHgw
ZWE3LAorCTB4MGVhYSwgMHgwZWFiLAorCTB4MGVhZCwgMHgwZWI5LAorCTB4MGViYiwgMHgwZWJk
LAorCTB4MGVjMCwgMHgwZWM0LAorCTB4MGVjNiwgMHgwZWM2LAorCTB4MGVjOCwgMHgwZWNkLAor
CTB4MGVkMCwgMHgwZWQ5LAorCTB4MGVkYywgMHgwZWRmLAorCTB4MGYwMCwgMHgwZjQ3LAorCTB4
MGY0OSwgMHgwZjZjLAorCTB4MGY3MSwgMHgwZjk3LAorCTB4MGY5OSwgMHgwZmJjLAorCTB4MGZi
ZSwgMHgwZmNjLAorCTB4MGZjZSwgMHgwZmRhLAorCTB4MTAwMCwgMHgxMGM1LAorCTB4MTBjNywg
MHgxMGM3LAorCTB4MTBjZCwgMHgxMGNkLAorCTB4MTBkMCwgMHgxMjQ4LAorCTB4MTI0YSwgMHgx
MjRkLAorCTB4MTI1MCwgMHgxMjU2LAorCTB4MTI1OCwgMHgxMjU4LAorCTB4MTI1YSwgMHgxMjVk
LAorCTB4MTI2MCwgMHgxMjg4LAorCTB4MTI4YSwgMHgxMjhkLAorCTB4MTI5MCwgMHgxMmIwLAor
CTB4MTJiMiwgMHgxMmI1LAorCTB4MTJiOCwgMHgxMmJlLAorCTB4MTJjMCwgMHgxMmMwLAorCTB4
MTJjMiwgMHgxMmM1LAorCTB4MTJjOCwgMHgxMmQ2LAorCTB4MTJkOCwgMHgxMzEwLAorCTB4MTMx
MiwgMHgxMzE1LAorCTB4MTMxOCwgMHgxMzVhLAorCTB4MTM1ZCwgMHgxMzdjLAorCTB4MTM4MCwg
MHgxMzk5LAorCTB4MTNhMCwgMHgxM2Y0LAorCTB4MTQwMCwgMHgxNjljLAorCTB4MTZhMCwgMHgx
NmY4LAorCTB4MTcwMCwgMHgxNzBjLAorCTB4MTcwZSwgMHgxNzE0LAorCTB4MTcyMCwgMHgxNzM2
LAorCTB4MTc0MCwgMHgxNzUzLAorCTB4MTc2MCwgMHgxNzZjLAorCTB4MTc2ZSwgMHgxNzcwLAor
CTB4MTc3MiwgMHgxNzczLAorCTB4MTc4MCwgMHgxN2RkLAorCTB4MTdlMCwgMHgxN2U5LAorCTB4
MTdmMCwgMHgxN2Y5LAorCTB4MTgwMCwgMHgxODBlLAorCTB4MTgxMCwgMHgxODE5LAorCTB4MTgy
MCwgMHgxODc3LAorCTB4MTg4MCwgMHgxOGFhLAorCTB4MThiMCwgMHgxOGY1LAorCTB4MTkwMCwg
MHgxOTFlLAorCTB4MTkyMCwgMHgxOTJiLAorCTB4MTkzMCwgMHgxOTNiLAorCTB4MTk0MCwgMHgx
OTQwLAorCTB4MTk0NCwgMHgxOTZkLAorCTB4MTk3MCwgMHgxOTc0LAorCTB4MTk4MCwgMHgxOWFi
LAorCTB4MTliMCwgMHgxOWM5LAorCTB4MTlkMCwgMHgxOWRhLAorCTB4MTlkZSwgMHgxYTFiLAor
CTB4MWExZSwgMHgxYTVlLAorCTB4MWE2MCwgMHgxYTdjLAorCTB4MWE3ZiwgMHgxYTg5LAorCTB4
MWE5MCwgMHgxYTk5LAorCTB4MWFhMCwgMHgxYWFkLAorCTB4MWFiMCwgMHgxYWJlLAorCTB4MWIw
MCwgMHgxYjRiLAorCTB4MWI1MCwgMHgxYjdjLAorCTB4MWI4MCwgMHgxYmYzLAorCTB4MWJmYywg
MHgxYzM3LAorCTB4MWMzYiwgMHgxYzQ5LAorCTB4MWM0ZCwgMHgxYzdmLAorCTB4MWNjMCwgMHgx
Y2M3LAorCTB4MWNkMCwgMHgxY2Y2LAorCTB4MWNmOCwgMHgxY2Y5LAorCTB4MWQwMCwgMHgxZGY1
LAorCTB4MWRmYywgMHgxZjE1LAorCTB4MWYxOCwgMHgxZjFkLAorCTB4MWYyMCwgMHgxZjQ1LAor
CTB4MWY0OCwgMHgxZjRkLAorCTB4MWY1MCwgMHgxZjU3LAorCTB4MWY1OSwgMHgxZjU5LAorCTB4
MWY1YiwgMHgxZjViLAorCTB4MWY1ZCwgMHgxZjVkLAorCTB4MWY1ZiwgMHgxZjdkLAorCTB4MWY4
MCwgMHgxZmI0LAorCTB4MWZiNiwgMHgxZmM0LAorCTB4MWZjNiwgMHgxZmQzLAorCTB4MWZkNiwg
MHgxZmRiLAorCTB4MWZkZCwgMHgxZmVmLAorCTB4MWZmMiwgMHgxZmY0LAorCTB4MWZmNiwgMHgx
ZmZlLAorCTB4MjAwMCwgMHgyMDY0LAorCTB4MjA2NiwgMHgyMDcxLAorCTB4MjA3NCwgMHgyMDhl
LAorCTB4MjA5MCwgMHgyMDljLAorCTB4MjBhMCwgMHgyMGJkLAorCTB4MjBkMCwgMHgyMGYwLAor
CTB4MjEwMCwgMHgyMTg5LAorCTB4MjE5MCwgMHgyM2ZhLAorCTB4MjQwMCwgMHgyNDI2LAorCTB4
MjQ0MCwgMHgyNDRhLAorCTB4MjQ2MCwgMHgyYjczLAorCTB4MmI3NiwgMHgyYjk1LAorCTB4MmI5
OCwgMHgyYmI5LAorCTB4MmJiZCwgMHgyYmM4LAorCTB4MmJjYSwgMHgyYmQxLAorCTB4MmMwMCwg
MHgyYzJlLAorCTB4MmMzMCwgMHgyYzVlLAorCTB4MmM2MCwgMHgyY2YzLAorCTB4MmNmOSwgMHgy
ZDI1LAorCTB4MmQyNywgMHgyZDI3LAorCTB4MmQyZCwgMHgyZDJkLAorCTB4MmQzMCwgMHgyZDY3
LAorCTB4MmQ2ZiwgMHgyZDcwLAorCTB4MmQ3ZiwgMHgyZDk2LAorCTB4MmRhMCwgMHgyZGE2LAor
CTB4MmRhOCwgMHgyZGFlLAorCTB4MmRiMCwgMHgyZGI2LAorCTB4MmRiOCwgMHgyZGJlLAorCTB4
MmRjMCwgMHgyZGM2LAorCTB4MmRjOCwgMHgyZGNlLAorCTB4MmRkMCwgMHgyZGQ2LAorCTB4MmRk
OCwgMHgyZGRlLAorCTB4MmRlMCwgMHgyZTQyLAorCTB4MmU4MCwgMHgyZTk5LAorCTB4MmU5Yiwg
MHgyZWYzLAorCTB4MmYwMCwgMHgyZmQ1LAorCTB4MmZmMCwgMHgyZmZiLAorCTB4MzAwMCwgMHgz
MDNmLAorCTB4MzA0MSwgMHgzMDk2LAorCTB4MzA5OSwgMHgzMGZmLAorCTB4MzEwNSwgMHgzMTJk
LAorCTB4MzEzMSwgMHgzMThlLAorCTB4MzE5MCwgMHgzMWJhLAorCTB4MzFjMCwgMHgzMWUzLAor
CTB4MzFmMCwgMHgzMjFlLAorCTB4MzIyMCwgMHgzMmZlLAorCTB4MzMwMCwgMHg0ZGI1LAorCTB4
NGRjMCwgMHg5ZmNjLAorCTB4YTAwMCwgMHhhNDhjLAorCTB4YTQ5MCwgMHhhNGM2LAorCTB4YTRk
MCwgMHhhNjJiLAorCTB4YTY0MCwgMHhhNjlkLAorCTB4YTY5ZiwgMHhhNmY3LAorCTB4YTcwMCwg
MHhhNzhlLAorCTB4YTc5MCwgMHhhN2FkLAorCTB4YTdiMCwgMHhhN2IxLAorCTB4YTdmNywgMHhh
ODJiLAorCTB4YTgzMCwgMHhhODM5LAorCTB4YTg0MCwgMHhhODc3LAorCTB4YTg4MCwgMHhhOGM0
LAorCTB4YThjZSwgMHhhOGQ5LAorCTB4YThlMCwgMHhhOGZiLAorCTB4YTkwMCwgMHhhOTUzLAor
CTB4YTk1ZiwgMHhhOTdjLAorCTB4YTk4MCwgMHhhOWNkLAorCTB4YTljZiwgMHhhOWQ5LAorCTB4
YTlkZSwgMHhhOWZlLAorCTB4YWEwMCwgMHhhYTM2LAorCTB4YWE0MCwgMHhhYTRkLAorCTB4YWE1
MCwgMHhhYTU5LAorCTB4YWE1YywgMHhhYWMyLAorCTB4YWFkYiwgMHhhYWY2LAorCTB4YWIwMSwg
MHhhYjA2LAorCTB4YWIwOSwgMHhhYjBlLAorCTB4YWIxMSwgMHhhYjE2LAorCTB4YWIyMCwgMHhh
YjI2LAorCTB4YWIyOCwgMHhhYjJlLAorCTB4YWIzMCwgMHhhYjVmLAorCTB4YWI2NCwgMHhhYjY1
LAorCTB4YWJjMCwgMHhhYmVkLAorCTB4YWJmMCwgMHhhYmY5LAorCTB4YWMwMCwgMHhkN2EzLAor
CTB4ZDdiMCwgMHhkN2M2LAorCTB4ZDdjYiwgMHhkN2ZiLAorCTB4ZDgwMCwgMHhmYTZkLAorCTB4
ZmE3MCwgMHhmYWQ5LAorCTB4ZmIwMCwgMHhmYjA2LAorCTB4ZmIxMywgMHhmYjE3LAorCTB4ZmIx
ZCwgMHhmYjM2LAorCTB4ZmIzOCwgMHhmYjNjLAorCTB4ZmIzZSwgMHhmYjNlLAorCTB4ZmI0MCwg
MHhmYjQxLAorCTB4ZmI0MywgMHhmYjQ0LAorCTB4ZmI0NiwgMHhmYmMxLAorCTB4ZmJkMywgMHhm
ZDNmLAorCTB4ZmQ1MCwgMHhmZDhmLAorCTB4ZmQ5MiwgMHhmZGM3LAorCTB4ZmRkMCwgMHhmZGZk
LAorCTB4ZmUwMCwgMHhmZTE5LAorCTB4ZmUyMCwgMHhmZTJkLAorCTB4ZmUzMCwgMHhmZTUyLAor
CTB4ZmU1NCwgMHhmZTY2LAorCTB4ZmU2OCwgMHhmZTZiLAorCTB4ZmU3MCwgMHhmZTc0LAorCTB4
ZmU3NiwgMHhmZWZjLAorCTB4ZmVmZiwgMHhmZWZmLAorCTB4ZmYwMSwgMHhmZmJlLAorCTB4ZmZj
MiwgMHhmZmM3LAorCTB4ZmZjYSwgMHhmZmNmLAorCTB4ZmZkMiwgMHhmZmQ3LAorCTB4ZmZkYSwg
MHhmZmRjLAorCTB4ZmZlMCwgMHhmZmU2LAorCTB4ZmZlOCwgMHhmZmVlLAorCTB4ZmZmOSwgMHgx
MDAwYiwKKwkweDEwMDBkLCAweDEwMDI2LAorCTB4MTAwMjgsIDB4MTAwM2EsCisJMHgxMDAzYywg
MHgxMDAzZCwKKwkweDEwMDNmLCAweDEwMDRkLAorCTB4MTAwNTAsIDB4MTAwNWQsCisJMHgxMDA4
MCwgMHgxMDBmYSwKKwkweDEwMTAwLCAweDEwMTAyLAorCTB4MTAxMDcsIDB4MTAxMzMsCisJMHgx
MDEzNywgMHgxMDE4YywKKwkweDEwMTkwLCAweDEwMTliLAorCTB4MTAxYTAsIDB4MTAxYTAsCisJ
MHgxMDFkMCwgMHgxMDFmZCwKKwkweDEwMjgwLCAweDEwMjljLAorCTB4MTAyYTAsIDB4MTAyZDAs
CisJMHgxMDJlMCwgMHgxMDJmYiwKKwkweDEwMzAwLCAweDEwMzIzLAorCTB4MTAzMzAsIDB4MTAz
NGEsCisJMHgxMDM1MCwgMHgxMDM3YSwKKwkweDEwMzgwLCAweDEwMzlkLAorCTB4MTAzOWYsIDB4
MTAzYzMsCisJMHgxMDNjOCwgMHgxMDNkNSwKKwkweDEwNDAwLCAweDEwNDlkLAorCTB4MTA0YTAs
IDB4MTA0YTksCisJMHgxMDUwMCwgMHgxMDUyNywKKwkweDEwNTMwLCAweDEwNTYzLAorCTB4MTA1
NmYsIDB4MTA1NmYsCisJMHgxMDYwMCwgMHgxMDczNiwKKwkweDEwNzQwLCAweDEwNzU1LAorCTB4
MTA3NjAsIDB4MTA3NjcsCisJMHgxMDgwMCwgMHgxMDgwNSwKKwkweDEwODA4LCAweDEwODA4LAor
CTB4MTA4MGEsIDB4MTA4MzUsCisJMHgxMDgzNywgMHgxMDgzOCwKKwkweDEwODNjLCAweDEwODNj
LAorCTB4MTA4M2YsIDB4MTA4NTUsCisJMHgxMDg1NywgMHgxMDg5ZSwKKwkweDEwOGE3LCAweDEw
OGFmLAorCTB4MTA5MDAsIDB4MTA5MWIsCisJMHgxMDkxZiwgMHgxMDkzOSwKKwkweDEwOTNmLCAw
eDEwOTNmLAorCTB4MTA5ODAsIDB4MTA5YjcsCisJMHgxMDliZSwgMHgxMDliZiwKKwkweDEwYTAw
LCAweDEwYTAzLAorCTB4MTBhMDUsIDB4MTBhMDYsCisJMHgxMGEwYywgMHgxMGExMywKKwkweDEw
YTE1LCAweDEwYTE3LAorCTB4MTBhMTksIDB4MTBhMzMsCisJMHgxMGEzOCwgMHgxMGEzYSwKKwkw
eDEwYTNmLCAweDEwYTQ3LAorCTB4MTBhNTAsIDB4MTBhNTgsCisJMHgxMGE2MCwgMHgxMGE5ZiwK
KwkweDEwYWMwLCAweDEwYWU2LAorCTB4MTBhZWIsIDB4MTBhZjYsCisJMHgxMGIwMCwgMHgxMGIz
NSwKKwkweDEwYjM5LCAweDEwYjU1LAorCTB4MTBiNTgsIDB4MTBiNzIsCisJMHgxMGI3OCwgMHgx
MGI5MSwKKwkweDEwYjk5LCAweDEwYjljLAorCTB4MTBiYTksIDB4MTBiYWYsCisJMHgxMGMwMCwg
MHgxMGM0OCwKKwkweDEwZTYwLCAweDEwZTdlLAorCTB4MTEwMDAsIDB4MTEwNGQsCisJMHgxMTA1
MiwgMHgxMTA2ZiwKKwkweDExMDdmLCAweDExMGMxLAorCTB4MTEwZDAsIDB4MTEwZTgsCisJMHgx
MTBmMCwgMHgxMTBmOSwKKwkweDExMTAwLCAweDExMTM0LAorCTB4MTExMzYsIDB4MTExNDMsCisJ
MHgxMTE1MCwgMHgxMTE3NiwKKwkweDExMTgwLCAweDExMWM4LAorCTB4MTExY2QsIDB4MTExY2Qs
CisJMHgxMTFkMCwgMHgxMTFkYSwKKwkweDExMWUxLCAweDExMWY0LAorCTB4MTEyMDAsIDB4MTEy
MTEsCisJMHgxMTIxMywgMHgxMTIzZCwKKwkweDExMmIwLCAweDExMmVhLAorCTB4MTEyZjAsIDB4
MTEyZjksCisJMHgxMTMwMSwgMHgxMTMwMywKKwkweDExMzA1LCAweDExMzBjLAorCTB4MTEzMGYs
IDB4MTEzMTAsCisJMHgxMTMxMywgMHgxMTMyOCwKKwkweDExMzJhLCAweDExMzMwLAorCTB4MTEz
MzIsIDB4MTEzMzMsCisJMHgxMTMzNSwgMHgxMTMzOSwKKwkweDExMzNjLCAweDExMzQ0LAorCTB4
MTEzNDcsIDB4MTEzNDgsCisJMHgxMTM0YiwgMHgxMTM0ZCwKKwkweDExMzU3LCAweDExMzU3LAor
CTB4MTEzNWQsIDB4MTEzNjMsCisJMHgxMTM2NiwgMHgxMTM2YywKKwkweDExMzcwLCAweDExMzc0
LAorCTB4MTE0ODAsIDB4MTE0YzcsCisJMHgxMTRkMCwgMHgxMTRkOSwKKwkweDExNTgwLCAweDEx
NWI1LAorCTB4MTE1YjgsIDB4MTE1YzksCisJMHgxMTYwMCwgMHgxMTY0NCwKKwkweDExNjUwLCAw
eDExNjU5LAorCTB4MTE2ODAsIDB4MTE2YjcsCisJMHgxMTZjMCwgMHgxMTZjOSwKKwkweDExOGEw
LCAweDExOGYyLAorCTB4MTE4ZmYsIDB4MTE4ZmYsCisJMHgxMWFjMCwgMHgxMWFmOCwKKwkweDEy
MDAwLCAweDEyMzk4LAorCTB4MTI0MDAsIDB4MTI0NmUsCisJMHgxMjQ3MCwgMHgxMjQ3NCwKKwkw
eDEzMDAwLCAweDEzNDJlLAorCTB4MTY4MDAsIDB4MTZhMzgsCisJMHgxNmE0MCwgMHgxNmE1ZSwK
KwkweDE2YTYwLCAweDE2YTY5LAorCTB4MTZhNmUsIDB4MTZhNmYsCisJMHgxNmFkMCwgMHgxNmFl
ZCwKKwkweDE2YWYwLCAweDE2YWY1LAorCTB4MTZiMDAsIDB4MTZiNDUsCisJMHgxNmI1MCwgMHgx
NmI1OSwKKwkweDE2YjViLCAweDE2YjYxLAorCTB4MTZiNjMsIDB4MTZiNzcsCisJMHgxNmI3ZCwg
MHgxNmI4ZiwKKwkweDE2ZjAwLCAweDE2ZjQ0LAorCTB4MTZmNTAsIDB4MTZmN2UsCisJMHgxNmY4
ZiwgMHgxNmY5ZiwKKwkweDFiMDAwLCAweDFiMDAxLAorCTB4MWJjMDAsIDB4MWJjNmEsCisJMHgx
YmM3MCwgMHgxYmM3YywKKwkweDFiYzgwLCAweDFiYzg4LAorCTB4MWJjOTAsIDB4MWJjOTksCisJ
MHgxYmM5YywgMHgxYmNhMywKKwkweDFkMDAwLCAweDFkMGY1LAorCTB4MWQxMDAsIDB4MWQxMjYs
CisJMHgxZDEyOSwgMHgxZDFkZCwKKwkweDFkMjAwLCAweDFkMjQ1LAorCTB4MWQzMDAsIDB4MWQz
NTYsCisJMHgxZDM2MCwgMHgxZDM3MSwKKwkweDFkNDAwLCAweDFkNDU0LAorCTB4MWQ0NTYsIDB4
MWQ0OWMsCisJMHgxZDQ5ZSwgMHgxZDQ5ZiwKKwkweDFkNGEyLCAweDFkNGEyLAorCTB4MWQ0YTUs
IDB4MWQ0YTYsCisJMHgxZDRhOSwgMHgxZDRhYywKKwkweDFkNGFlLCAweDFkNGI5LAorCTB4MWQ0
YmIsIDB4MWQ0YmIsCisJMHgxZDRiZCwgMHgxZDRjMywKKwkweDFkNGM1LCAweDFkNTA1LAorCTB4
MWQ1MDcsIDB4MWQ1MGEsCisJMHgxZDUwZCwgMHgxZDUxNCwKKwkweDFkNTE2LCAweDFkNTFjLAor
CTB4MWQ1MWUsIDB4MWQ1MzksCisJMHgxZDUzYiwgMHgxZDUzZSwKKwkweDFkNTQwLCAweDFkNTQ0
LAorCTB4MWQ1NDYsIDB4MWQ1NDYsCisJMHgxZDU0YSwgMHgxZDU1MCwKKwkweDFkNTUyLCAweDFk
NmE1LAorCTB4MWQ2YTgsIDB4MWQ3Y2IsCisJMHgxZDdjZSwgMHgxZDdmZiwKKwkweDFlODAwLCAw
eDFlOGM0LAorCTB4MWU4YzcsIDB4MWU4ZDYsCisJMHgxZWUwMCwgMHgxZWUwMywKKwkweDFlZTA1
LCAweDFlZTFmLAorCTB4MWVlMjEsIDB4MWVlMjIsCisJMHgxZWUyNCwgMHgxZWUyNCwKKwkweDFl
ZTI3LCAweDFlZTI3LAorCTB4MWVlMjksIDB4MWVlMzIsCisJMHgxZWUzNCwgMHgxZWUzNywKKwkw
eDFlZTM5LCAweDFlZTM5LAorCTB4MWVlM2IsIDB4MWVlM2IsCisJMHgxZWU0MiwgMHgxZWU0MiwK
KwkweDFlZTQ3LCAweDFlZTQ3LAorCTB4MWVlNDksIDB4MWVlNDksCisJMHgxZWU0YiwgMHgxZWU0
YiwKKwkweDFlZTRkLCAweDFlZTRmLAorCTB4MWVlNTEsIDB4MWVlNTIsCisJMHgxZWU1NCwgMHgx
ZWU1NCwKKwkweDFlZTU3LCAweDFlZTU3LAorCTB4MWVlNTksIDB4MWVlNTksCisJMHgxZWU1Yiwg
MHgxZWU1YiwKKwkweDFlZTVkLCAweDFlZTVkLAorCTB4MWVlNWYsIDB4MWVlNWYsCisJMHgxZWU2
MSwgMHgxZWU2MiwKKwkweDFlZTY0LCAweDFlZTY0LAorCTB4MWVlNjcsIDB4MWVlNmEsCisJMHgx
ZWU2YywgMHgxZWU3MiwKKwkweDFlZTc0LCAweDFlZTc3LAorCTB4MWVlNzksIDB4MWVlN2MsCisJ
MHgxZWU3ZSwgMHgxZWU3ZSwKKwkweDFlZTgwLCAweDFlZTg5LAorCTB4MWVlOGIsIDB4MWVlOWIs
CisJMHgxZWVhMSwgMHgxZWVhMywKKwkweDFlZWE1LCAweDFlZWE5LAorCTB4MWVlYWIsIDB4MWVl
YmIsCisJMHgxZWVmMCwgMHgxZWVmMSwKKwkweDFmMDAwLCAweDFmMDJiLAorCTB4MWYwMzAsIDB4
MWYwOTMsCisJMHgxZjBhMCwgMHgxZjBhZSwKKwkweDFmMGIxLCAweDFmMGJmLAorCTB4MWYwYzEs
IDB4MWYwY2YsCisJMHgxZjBkMSwgMHgxZjBmNSwKKwkweDFmMTAwLCAweDFmMTBjLAorCTB4MWYx
MTAsIDB4MWYxMmUsCisJMHgxZjEzMCwgMHgxZjE2YiwKKwkweDFmMTcwLCAweDFmMTlhLAorCTB4
MWYxZTYsIDB4MWYyMDIsCisJMHgxZjIxMCwgMHgxZjIzYSwKKwkweDFmMjQwLCAweDFmMjQ4LAor
CTB4MWYyNTAsIDB4MWYyNTEsCisJMHgxZjMwMCwgMHgxZjMyYywKKwkweDFmMzMwLCAweDFmMzdk
LAorCTB4MWYzODAsIDB4MWYzY2UsCisJMHgxZjNkNCwgMHgxZjNmNywKKwkweDFmNDAwLCAweDFm
NGZlLAorCTB4MWY1MDAsIDB4MWY1NGEsCisJMHgxZjU1MCwgMHgxZjU3OSwKKwkweDFmNTdiLCAw
eDFmNWEzLAorCTB4MWY1YTUsIDB4MWY2NDIsCisJMHgxZjY0NSwgMHgxZjZjZiwKKwkweDFmNmUw
LCAweDFmNmVjLAorCTB4MWY2ZjAsIDB4MWY2ZjMsCisJMHgxZjcwMCwgMHgxZjc3MywKKwkweDFm
NzgwLCAweDFmN2Q0LAorCTB4MWY4MDAsIDB4MWY4MGIsCisJMHgxZjgxMCwgMHgxZjg0NywKKwkw
eDFmODUwLCAweDFmODU5LAorCTB4MWY4NjAsIDB4MWY4ODcsCisJMHgxZjg5MCwgMHgxZjhhZCwK
KwkweDFmZmZlLCAweDJhNmQ2LAorCTB4MmE3MDAsIDB4MmI3MzQsCisJMHgyYjc0MCwgMHgyYjgx
ZCwKKwkweDJmODAwLCAweDJmYTFkLAorCTB4MmZmZmUsIDB4MmZmZmYsCisJMHgzZmZmZSwgMHgz
ZmZmZiwKKwkweDRmZmZlLCAweDRmZmZmLAorCTB4NWZmZmUsIDB4NWZmZmYsCisJMHg2ZmZmZSwg
MHg2ZmZmZiwKKwkweDdmZmZlLCAweDdmZmZmLAorCTB4OGZmZmUsIDB4OGZmZmYsCisJMHg5ZmZm
ZSwgMHg5ZmZmZiwKKwkweGFmZmZlLCAweGFmZmZmLAorCTB4YmZmZmUsIDB4YmZmZmYsCisJMHhj
ZmZmZSwgMHhjZmZmZiwKKwkweGRmZmZlLCAweGRmZmZmLAorCTB4ZTAwMDEsIDB4ZTAwMDEsCisJ
MHhlMDAyMCwgMHhlMDA3ZiwKKwkweGUwMTAwLCAweGUwMWVmLAorCTB4ZWZmZmUsIDB4MTBmZmZm
LAorfTsgLyogQ1JfQWdlXzdfMCAqLworCisvKiAnQWdlXzhfMCc6IERlcml2ZWQgQWdlIDguMCAq
Lworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfQWdlXzhfMFtdID0geworCTYyMywKKwkw
eDAwMDAsIDB4MDM3NywKKwkweDAzN2EsIDB4MDM3ZiwKKwkweDAzODQsIDB4MDM4YSwKKwkweDAz
OGMsIDB4MDM4YywKKwkweDAzOGUsIDB4MDNhMSwKKwkweDAzYTMsIDB4MDUyZiwKKwkweDA1MzEs
IDB4MDU1NiwKKwkweDA1NTksIDB4MDU1ZiwKKwkweDA1NjEsIDB4MDU4NywKKwkweDA1ODksIDB4
MDU4YSwKKwkweDA1OGQsIDB4MDU4ZiwKKwkweDA1OTEsIDB4MDVjNywKKwkweDA1ZDAsIDB4MDVl
YSwKKwkweDA1ZjAsIDB4MDVmNCwKKwkweDA2MDAsIDB4MDYxYywKKwkweDA2MWUsIDB4MDcwZCwK
KwkweDA3MGYsIDB4MDc0YSwKKwkweDA3NGQsIDB4MDdiMSwKKwkweDA3YzAsIDB4MDdmYSwKKwkw
eDA4MDAsIDB4MDgyZCwKKwkweDA4MzAsIDB4MDgzZSwKKwkweDA4NDAsIDB4MDg1YiwKKwkweDA4
NWUsIDB4MDg1ZSwKKwkweDA4YTAsIDB4MDhiNCwKKwkweDA4ZTMsIDB4MDk4MywKKwkweDA5ODUs
IDB4MDk4YywKKwkweDA5OGYsIDB4MDk5MCwKKwkweDA5OTMsIDB4MDlhOCwKKwkweDA5YWEsIDB4
MDliMCwKKwkweDA5YjIsIDB4MDliMiwKKwkweDA5YjYsIDB4MDliOSwKKwkweDA5YmMsIDB4MDlj
NCwKKwkweDA5YzcsIDB4MDljOCwKKwkweDA5Y2IsIDB4MDljZSwKKwkweDA5ZDcsIDB4MDlkNywK
KwkweDA5ZGMsIDB4MDlkZCwKKwkweDA5ZGYsIDB4MDllMywKKwkweDA5ZTYsIDB4MDlmYiwKKwkw
eDBhMDEsIDB4MGEwMywKKwkweDBhMDUsIDB4MGEwYSwKKwkweDBhMGYsIDB4MGExMCwKKwkweDBh
MTMsIDB4MGEyOCwKKwkweDBhMmEsIDB4MGEzMCwKKwkweDBhMzIsIDB4MGEzMywKKwkweDBhMzUs
IDB4MGEzNiwKKwkweDBhMzgsIDB4MGEzOSwKKwkweDBhM2MsIDB4MGEzYywKKwkweDBhM2UsIDB4
MGE0MiwKKwkweDBhNDcsIDB4MGE0OCwKKwkweDBhNGIsIDB4MGE0ZCwKKwkweDBhNTEsIDB4MGE1
MSwKKwkweDBhNTksIDB4MGE1YywKKwkweDBhNWUsIDB4MGE1ZSwKKwkweDBhNjYsIDB4MGE3NSwK
KwkweDBhODEsIDB4MGE4MywKKwkweDBhODUsIDB4MGE4ZCwKKwkweDBhOGYsIDB4MGE5MSwKKwkw
eDBhOTMsIDB4MGFhOCwKKwkweDBhYWEsIDB4MGFiMCwKKwkweDBhYjIsIDB4MGFiMywKKwkweDBh
YjUsIDB4MGFiOSwKKwkweDBhYmMsIDB4MGFjNSwKKwkweDBhYzcsIDB4MGFjOSwKKwkweDBhY2Is
IDB4MGFjZCwKKwkweDBhZDAsIDB4MGFkMCwKKwkweDBhZTAsIDB4MGFlMywKKwkweDBhZTYsIDB4
MGFmMSwKKwkweDBhZjksIDB4MGFmOSwKKwkweDBiMDEsIDB4MGIwMywKKwkweDBiMDUsIDB4MGIw
YywKKwkweDBiMGYsIDB4MGIxMCwKKwkweDBiMTMsIDB4MGIyOCwKKwkweDBiMmEsIDB4MGIzMCwK
KwkweDBiMzIsIDB4MGIzMywKKwkweDBiMzUsIDB4MGIzOSwKKwkweDBiM2MsIDB4MGI0NCwKKwkw
eDBiNDcsIDB4MGI0OCwKKwkweDBiNGIsIDB4MGI0ZCwKKwkweDBiNTYsIDB4MGI1NywKKwkweDBi
NWMsIDB4MGI1ZCwKKwkweDBiNWYsIDB4MGI2MywKKwkweDBiNjYsIDB4MGI3NywKKwkweDBiODIs
IDB4MGI4MywKKwkweDBiODUsIDB4MGI4YSwKKwkweDBiOGUsIDB4MGI5MCwKKwkweDBiOTIsIDB4
MGI5NSwKKwkweDBiOTksIDB4MGI5YSwKKwkweDBiOWMsIDB4MGI5YywKKwkweDBiOWUsIDB4MGI5
ZiwKKwkweDBiYTMsIDB4MGJhNCwKKwkweDBiYTgsIDB4MGJhYSwKKwkweDBiYWUsIDB4MGJiOSwK
KwkweDBiYmUsIDB4MGJjMiwKKwkweDBiYzYsIDB4MGJjOCwKKwkweDBiY2EsIDB4MGJjZCwKKwkw
eDBiZDAsIDB4MGJkMCwKKwkweDBiZDcsIDB4MGJkNywKKwkweDBiZTYsIDB4MGJmYSwKKwkweDBj
MDAsIDB4MGMwMywKKwkweDBjMDUsIDB4MGMwYywKKwkweDBjMGUsIDB4MGMxMCwKKwkweDBjMTIs
IDB4MGMyOCwKKwkweDBjMmEsIDB4MGMzOSwKKwkweDBjM2QsIDB4MGM0NCwKKwkweDBjNDYsIDB4
MGM0OCwKKwkweDBjNGEsIDB4MGM0ZCwKKwkweDBjNTUsIDB4MGM1NiwKKwkweDBjNTgsIDB4MGM1
YSwKKwkweDBjNjAsIDB4MGM2MywKKwkweDBjNjYsIDB4MGM2ZiwKKwkweDBjNzgsIDB4MGM3ZiwK
KwkweDBjODEsIDB4MGM4MywKKwkweDBjODUsIDB4MGM4YywKKwkweDBjOGUsIDB4MGM5MCwKKwkw
eDBjOTIsIDB4MGNhOCwKKwkweDBjYWEsIDB4MGNiMywKKwkweDBjYjUsIDB4MGNiOSwKKwkweDBj
YmMsIDB4MGNjNCwKKwkweDBjYzYsIDB4MGNjOCwKKwkweDBjY2EsIDB4MGNjZCwKKwkweDBjZDUs
IDB4MGNkNiwKKwkweDBjZGUsIDB4MGNkZSwKKwkweDBjZTAsIDB4MGNlMywKKwkweDBjZTYsIDB4
MGNlZiwKKwkweDBjZjEsIDB4MGNmMiwKKwkweDBkMDEsIDB4MGQwMywKKwkweDBkMDUsIDB4MGQw
YywKKwkweDBkMGUsIDB4MGQxMCwKKwkweDBkMTIsIDB4MGQzYSwKKwkweDBkM2QsIDB4MGQ0NCwK
KwkweDBkNDYsIDB4MGQ0OCwKKwkweDBkNGEsIDB4MGQ0ZSwKKwkweDBkNTcsIDB4MGQ1NywKKwkw
eDBkNWYsIDB4MGQ2MywKKwkweDBkNjYsIDB4MGQ3NSwKKwkweDBkNzksIDB4MGQ3ZiwKKwkweDBk
ODIsIDB4MGQ4MywKKwkweDBkODUsIDB4MGQ5NiwKKwkweDBkOWEsIDB4MGRiMSwKKwkweDBkYjMs
IDB4MGRiYiwKKwkweDBkYmQsIDB4MGRiZCwKKwkweDBkYzAsIDB4MGRjNiwKKwkweDBkY2EsIDB4
MGRjYSwKKwkweDBkY2YsIDB4MGRkNCwKKwkweDBkZDYsIDB4MGRkNiwKKwkweDBkZDgsIDB4MGRk
ZiwKKwkweDBkZTYsIDB4MGRlZiwKKwkweDBkZjIsIDB4MGRmNCwKKwkweDBlMDEsIDB4MGUzYSwK
KwkweDBlM2YsIDB4MGU1YiwKKwkweDBlODEsIDB4MGU4MiwKKwkweDBlODQsIDB4MGU4NCwKKwkw
eDBlODcsIDB4MGU4OCwKKwkweDBlOGEsIDB4MGU4YSwKKwkweDBlOGQsIDB4MGU4ZCwKKwkweDBl
OTQsIDB4MGU5NywKKwkweDBlOTksIDB4MGU5ZiwKKwkweDBlYTEsIDB4MGVhMywKKwkweDBlYTUs
IDB4MGVhNSwKKwkweDBlYTcsIDB4MGVhNywKKwkweDBlYWEsIDB4MGVhYiwKKwkweDBlYWQsIDB4
MGViOSwKKwkweDBlYmIsIDB4MGViZCwKKwkweDBlYzAsIDB4MGVjNCwKKwkweDBlYzYsIDB4MGVj
NiwKKwkweDBlYzgsIDB4MGVjZCwKKwkweDBlZDAsIDB4MGVkOSwKKwkweDBlZGMsIDB4MGVkZiwK
KwkweDBmMDAsIDB4MGY0NywKKwkweDBmNDksIDB4MGY2YywKKwkweDBmNzEsIDB4MGY5NywKKwkw
eDBmOTksIDB4MGZiYywKKwkweDBmYmUsIDB4MGZjYywKKwkweDBmY2UsIDB4MGZkYSwKKwkweDEw
MDAsIDB4MTBjNSwKKwkweDEwYzcsIDB4MTBjNywKKwkweDEwY2QsIDB4MTBjZCwKKwkweDEwZDAs
IDB4MTI0OCwKKwkweDEyNGEsIDB4MTI0ZCwKKwkweDEyNTAsIDB4MTI1NiwKKwkweDEyNTgsIDB4
MTI1OCwKKwkweDEyNWEsIDB4MTI1ZCwKKwkweDEyNjAsIDB4MTI4OCwKKwkweDEyOGEsIDB4MTI4
ZCwKKwkweDEyOTAsIDB4MTJiMCwKKwkweDEyYjIsIDB4MTJiNSwKKwkweDEyYjgsIDB4MTJiZSwK
KwkweDEyYzAsIDB4MTJjMCwKKwkweDEyYzIsIDB4MTJjNSwKKwkweDEyYzgsIDB4MTJkNiwKKwkw
eDEyZDgsIDB4MTMxMCwKKwkweDEzMTIsIDB4MTMxNSwKKwkweDEzMTgsIDB4MTM1YSwKKwkweDEz
NWQsIDB4MTM3YywKKwkweDEzODAsIDB4MTM5OSwKKwkweDEzYTAsIDB4MTNmNSwKKwkweDEzZjgs
IDB4MTNmZCwKKwkweDE0MDAsIDB4MTY5YywKKwkweDE2YTAsIDB4MTZmOCwKKwkweDE3MDAsIDB4
MTcwYywKKwkweDE3MGUsIDB4MTcxNCwKKwkweDE3MjAsIDB4MTczNiwKKwkweDE3NDAsIDB4MTc1
MywKKwkweDE3NjAsIDB4MTc2YywKKwkweDE3NmUsIDB4MTc3MCwKKwkweDE3NzIsIDB4MTc3MywK
KwkweDE3ODAsIDB4MTdkZCwKKwkweDE3ZTAsIDB4MTdlOSwKKwkweDE3ZjAsIDB4MTdmOSwKKwkw
eDE4MDAsIDB4MTgwZSwKKwkweDE4MTAsIDB4MTgxOSwKKwkweDE4MjAsIDB4MTg3NywKKwkweDE4
ODAsIDB4MThhYSwKKwkweDE4YjAsIDB4MThmNSwKKwkweDE5MDAsIDB4MTkxZSwKKwkweDE5MjAs
IDB4MTkyYiwKKwkweDE5MzAsIDB4MTkzYiwKKwkweDE5NDAsIDB4MTk0MCwKKwkweDE5NDQsIDB4
MTk2ZCwKKwkweDE5NzAsIDB4MTk3NCwKKwkweDE5ODAsIDB4MTlhYiwKKwkweDE5YjAsIDB4MTlj
OSwKKwkweDE5ZDAsIDB4MTlkYSwKKwkweDE5ZGUsIDB4MWExYiwKKwkweDFhMWUsIDB4MWE1ZSwK
KwkweDFhNjAsIDB4MWE3YywKKwkweDFhN2YsIDB4MWE4OSwKKwkweDFhOTAsIDB4MWE5OSwKKwkw
eDFhYTAsIDB4MWFhZCwKKwkweDFhYjAsIDB4MWFiZSwKKwkweDFiMDAsIDB4MWI0YiwKKwkweDFi
NTAsIDB4MWI3YywKKwkweDFiODAsIDB4MWJmMywKKwkweDFiZmMsIDB4MWMzNywKKwkweDFjM2Is
IDB4MWM0OSwKKwkweDFjNGQsIDB4MWM3ZiwKKwkweDFjYzAsIDB4MWNjNywKKwkweDFjZDAsIDB4
MWNmNiwKKwkweDFjZjgsIDB4MWNmOSwKKwkweDFkMDAsIDB4MWRmNSwKKwkweDFkZmMsIDB4MWYx
NSwKKwkweDFmMTgsIDB4MWYxZCwKKwkweDFmMjAsIDB4MWY0NSwKKwkweDFmNDgsIDB4MWY0ZCwK
KwkweDFmNTAsIDB4MWY1NywKKwkweDFmNTksIDB4MWY1OSwKKwkweDFmNWIsIDB4MWY1YiwKKwkw
eDFmNWQsIDB4MWY1ZCwKKwkweDFmNWYsIDB4MWY3ZCwKKwkweDFmODAsIDB4MWZiNCwKKwkweDFm
YjYsIDB4MWZjNCwKKwkweDFmYzYsIDB4MWZkMywKKwkweDFmZDYsIDB4MWZkYiwKKwkweDFmZGQs
IDB4MWZlZiwKKwkweDFmZjIsIDB4MWZmNCwKKwkweDFmZjYsIDB4MWZmZSwKKwkweDIwMDAsIDB4
MjA2NCwKKwkweDIwNjYsIDB4MjA3MSwKKwkweDIwNzQsIDB4MjA4ZSwKKwkweDIwOTAsIDB4MjA5
YywKKwkweDIwYTAsIDB4MjBiZSwKKwkweDIwZDAsIDB4MjBmMCwKKwkweDIxMDAsIDB4MjE4YiwK
KwkweDIxOTAsIDB4MjNmYSwKKwkweDI0MDAsIDB4MjQyNiwKKwkweDI0NDAsIDB4MjQ0YSwKKwkw
eDI0NjAsIDB4MmI3MywKKwkweDJiNzYsIDB4MmI5NSwKKwkweDJiOTgsIDB4MmJiOSwKKwkweDJi
YmQsIDB4MmJjOCwKKwkweDJiY2EsIDB4MmJkMSwKKwkweDJiZWMsIDB4MmJlZiwKKwkweDJjMDAs
IDB4MmMyZSwKKwkweDJjMzAsIDB4MmM1ZSwKKwkweDJjNjAsIDB4MmNmMywKKwkweDJjZjksIDB4
MmQyNSwKKwkweDJkMjcsIDB4MmQyNywKKwkweDJkMmQsIDB4MmQyZCwKKwkweDJkMzAsIDB4MmQ2
NywKKwkweDJkNmYsIDB4MmQ3MCwKKwkweDJkN2YsIDB4MmQ5NiwKKwkweDJkYTAsIDB4MmRhNiwK
KwkweDJkYTgsIDB4MmRhZSwKKwkweDJkYjAsIDB4MmRiNiwKKwkweDJkYjgsIDB4MmRiZSwKKwkw
eDJkYzAsIDB4MmRjNiwKKwkweDJkYzgsIDB4MmRjZSwKKwkweDJkZDAsIDB4MmRkNiwKKwkweDJk
ZDgsIDB4MmRkZSwKKwkweDJkZTAsIDB4MmU0MiwKKwkweDJlODAsIDB4MmU5OSwKKwkweDJlOWIs
IDB4MmVmMywKKwkweDJmMDAsIDB4MmZkNSwKKwkweDJmZjAsIDB4MmZmYiwKKwkweDMwMDAsIDB4
MzAzZiwKKwkweDMwNDEsIDB4MzA5NiwKKwkweDMwOTksIDB4MzBmZiwKKwkweDMxMDUsIDB4MzEy
ZCwKKwkweDMxMzEsIDB4MzE4ZSwKKwkweDMxOTAsIDB4MzFiYSwKKwkweDMxYzAsIDB4MzFlMywK
KwkweDMxZjAsIDB4MzIxZSwKKwkweDMyMjAsIDB4MzJmZSwKKwkweDMzMDAsIDB4NGRiNSwKKwkw
eDRkYzAsIDB4OWZkNSwKKwkweGEwMDAsIDB4YTQ4YywKKwkweGE0OTAsIDB4YTRjNiwKKwkweGE0
ZDAsIDB4YTYyYiwKKwkweGE2NDAsIDB4YTZmNywKKwkweGE3MDAsIDB4YTdhZCwKKwkweGE3YjAs
IDB4YTdiNywKKwkweGE3ZjcsIDB4YTgyYiwKKwkweGE4MzAsIDB4YTgzOSwKKwkweGE4NDAsIDB4
YTg3NywKKwkweGE4ODAsIDB4YThjNCwKKwkweGE4Y2UsIDB4YThkOSwKKwkweGE4ZTAsIDB4YThm
ZCwKKwkweGE5MDAsIDB4YTk1MywKKwkweGE5NWYsIDB4YTk3YywKKwkweGE5ODAsIDB4YTljZCwK
KwkweGE5Y2YsIDB4YTlkOSwKKwkweGE5ZGUsIDB4YTlmZSwKKwkweGFhMDAsIDB4YWEzNiwKKwkw
eGFhNDAsIDB4YWE0ZCwKKwkweGFhNTAsIDB4YWE1OSwKKwkweGFhNWMsIDB4YWFjMiwKKwkweGFh
ZGIsIDB4YWFmNiwKKwkweGFiMDEsIDB4YWIwNiwKKwkweGFiMDksIDB4YWIwZSwKKwkweGFiMTEs
IDB4YWIxNiwKKwkweGFiMjAsIDB4YWIyNiwKKwkweGFiMjgsIDB4YWIyZSwKKwkweGFiMzAsIDB4
YWI2NSwKKwkweGFiNzAsIDB4YWJlZCwKKwkweGFiZjAsIDB4YWJmOSwKKwkweGFjMDAsIDB4ZDdh
MywKKwkweGQ3YjAsIDB4ZDdjNiwKKwkweGQ3Y2IsIDB4ZDdmYiwKKwkweGQ4MDAsIDB4ZmE2ZCwK
KwkweGZhNzAsIDB4ZmFkOSwKKwkweGZiMDAsIDB4ZmIwNiwKKwkweGZiMTMsIDB4ZmIxNywKKwkw
eGZiMWQsIDB4ZmIzNiwKKwkweGZiMzgsIDB4ZmIzYywKKwkweGZiM2UsIDB4ZmIzZSwKKwkweGZi
NDAsIDB4ZmI0MSwKKwkweGZiNDMsIDB4ZmI0NCwKKwkweGZiNDYsIDB4ZmJjMSwKKwkweGZiZDMs
IDB4ZmQzZiwKKwkweGZkNTAsIDB4ZmQ4ZiwKKwkweGZkOTIsIDB4ZmRjNywKKwkweGZkZDAsIDB4
ZmRmZCwKKwkweGZlMDAsIDB4ZmUxOSwKKwkweGZlMjAsIDB4ZmU1MiwKKwkweGZlNTQsIDB4ZmU2
NiwKKwkweGZlNjgsIDB4ZmU2YiwKKwkweGZlNzAsIDB4ZmU3NCwKKwkweGZlNzYsIDB4ZmVmYywK
KwkweGZlZmYsIDB4ZmVmZiwKKwkweGZmMDEsIDB4ZmZiZSwKKwkweGZmYzIsIDB4ZmZjNywKKwkw
eGZmY2EsIDB4ZmZjZiwKKwkweGZmZDIsIDB4ZmZkNywKKwkweGZmZGEsIDB4ZmZkYywKKwkweGZm
ZTAsIDB4ZmZlNiwKKwkweGZmZTgsIDB4ZmZlZSwKKwkweGZmZjksIDB4MTAwMGIsCisJMHgxMDAw
ZCwgMHgxMDAyNiwKKwkweDEwMDI4LCAweDEwMDNhLAorCTB4MTAwM2MsIDB4MTAwM2QsCisJMHgx
MDAzZiwgMHgxMDA0ZCwKKwkweDEwMDUwLCAweDEwMDVkLAorCTB4MTAwODAsIDB4MTAwZmEsCisJ
MHgxMDEwMCwgMHgxMDEwMiwKKwkweDEwMTA3LCAweDEwMTMzLAorCTB4MTAxMzcsIDB4MTAxOGMs
CisJMHgxMDE5MCwgMHgxMDE5YiwKKwkweDEwMWEwLCAweDEwMWEwLAorCTB4MTAxZDAsIDB4MTAx
ZmQsCisJMHgxMDI4MCwgMHgxMDI5YywKKwkweDEwMmEwLCAweDEwMmQwLAorCTB4MTAyZTAsIDB4
MTAyZmIsCisJMHgxMDMwMCwgMHgxMDMyMywKKwkweDEwMzMwLCAweDEwMzRhLAorCTB4MTAzNTAs
IDB4MTAzN2EsCisJMHgxMDM4MCwgMHgxMDM5ZCwKKwkweDEwMzlmLCAweDEwM2MzLAorCTB4MTAz
YzgsIDB4MTAzZDUsCisJMHgxMDQwMCwgMHgxMDQ5ZCwKKwkweDEwNGEwLCAweDEwNGE5LAorCTB4
MTA1MDAsIDB4MTA1MjcsCisJMHgxMDUzMCwgMHgxMDU2MywKKwkweDEwNTZmLCAweDEwNTZmLAor
CTB4MTA2MDAsIDB4MTA3MzYsCisJMHgxMDc0MCwgMHgxMDc1NSwKKwkweDEwNzYwLCAweDEwNzY3
LAorCTB4MTA4MDAsIDB4MTA4MDUsCisJMHgxMDgwOCwgMHgxMDgwOCwKKwkweDEwODBhLCAweDEw
ODM1LAorCTB4MTA4MzcsIDB4MTA4MzgsCisJMHgxMDgzYywgMHgxMDgzYywKKwkweDEwODNmLCAw
eDEwODU1LAorCTB4MTA4NTcsIDB4MTA4OWUsCisJMHgxMDhhNywgMHgxMDhhZiwKKwkweDEwOGUw
LCAweDEwOGYyLAorCTB4MTA4ZjQsIDB4MTA4ZjUsCisJMHgxMDhmYiwgMHgxMDkxYiwKKwkweDEw
OTFmLCAweDEwOTM5LAorCTB4MTA5M2YsIDB4MTA5M2YsCisJMHgxMDk4MCwgMHgxMDliNywKKwkw
eDEwOWJjLCAweDEwOWNmLAorCTB4MTA5ZDIsIDB4MTBhMDMsCisJMHgxMGEwNSwgMHgxMGEwNiwK
KwkweDEwYTBjLCAweDEwYTEzLAorCTB4MTBhMTUsIDB4MTBhMTcsCisJMHgxMGExOSwgMHgxMGEz
MywKKwkweDEwYTM4LCAweDEwYTNhLAorCTB4MTBhM2YsIDB4MTBhNDcsCisJMHgxMGE1MCwgMHgx
MGE1OCwKKwkweDEwYTYwLCAweDEwYTlmLAorCTB4MTBhYzAsIDB4MTBhZTYsCisJMHgxMGFlYiwg
MHgxMGFmNiwKKwkweDEwYjAwLCAweDEwYjM1LAorCTB4MTBiMzksIDB4MTBiNTUsCisJMHgxMGI1
OCwgMHgxMGI3MiwKKwkweDEwYjc4LCAweDEwYjkxLAorCTB4MTBiOTksIDB4MTBiOWMsCisJMHgx
MGJhOSwgMHgxMGJhZiwKKwkweDEwYzAwLCAweDEwYzQ4LAorCTB4MTBjODAsIDB4MTBjYjIsCisJ
MHgxMGNjMCwgMHgxMGNmMiwKKwkweDEwY2ZhLCAweDEwY2ZmLAorCTB4MTBlNjAsIDB4MTBlN2Us
CisJMHgxMTAwMCwgMHgxMTA0ZCwKKwkweDExMDUyLCAweDExMDZmLAorCTB4MTEwN2YsIDB4MTEw
YzEsCisJMHgxMTBkMCwgMHgxMTBlOCwKKwkweDExMGYwLCAweDExMGY5LAorCTB4MTExMDAsIDB4
MTExMzQsCisJMHgxMTEzNiwgMHgxMTE0MywKKwkweDExMTUwLCAweDExMTc2LAorCTB4MTExODAs
IDB4MTExY2QsCisJMHgxMTFkMCwgMHgxMTFkZiwKKwkweDExMWUxLCAweDExMWY0LAorCTB4MTEy
MDAsIDB4MTEyMTEsCisJMHgxMTIxMywgMHgxMTIzZCwKKwkweDExMjgwLCAweDExMjg2LAorCTB4
MTEyODgsIDB4MTEyODgsCisJMHgxMTI4YSwgMHgxMTI4ZCwKKwkweDExMjhmLCAweDExMjlkLAor
CTB4MTEyOWYsIDB4MTEyYTksCisJMHgxMTJiMCwgMHgxMTJlYSwKKwkweDExMmYwLCAweDExMmY5
LAorCTB4MTEzMDAsIDB4MTEzMDMsCisJMHgxMTMwNSwgMHgxMTMwYywKKwkweDExMzBmLCAweDEx
MzEwLAorCTB4MTEzMTMsIDB4MTEzMjgsCisJMHgxMTMyYSwgMHgxMTMzMCwKKwkweDExMzMyLCAw
eDExMzMzLAorCTB4MTEzMzUsIDB4MTEzMzksCisJMHgxMTMzYywgMHgxMTM0NCwKKwkweDExMzQ3
LCAweDExMzQ4LAorCTB4MTEzNGIsIDB4MTEzNGQsCisJMHgxMTM1MCwgMHgxMTM1MCwKKwkweDEx
MzU3LCAweDExMzU3LAorCTB4MTEzNWQsIDB4MTEzNjMsCisJMHgxMTM2NiwgMHgxMTM2YywKKwkw
eDExMzcwLCAweDExMzc0LAorCTB4MTE0ODAsIDB4MTE0YzcsCisJMHgxMTRkMCwgMHgxMTRkOSwK
KwkweDExNTgwLCAweDExNWI1LAorCTB4MTE1YjgsIDB4MTE1ZGQsCisJMHgxMTYwMCwgMHgxMTY0
NCwKKwkweDExNjUwLCAweDExNjU5LAorCTB4MTE2ODAsIDB4MTE2YjcsCisJMHgxMTZjMCwgMHgx
MTZjOSwKKwkweDExNzAwLCAweDExNzE5LAorCTB4MTE3MWQsIDB4MTE3MmIsCisJMHgxMTczMCwg
MHgxMTczZiwKKwkweDExOGEwLCAweDExOGYyLAorCTB4MTE4ZmYsIDB4MTE4ZmYsCisJMHgxMWFj
MCwgMHgxMWFmOCwKKwkweDEyMDAwLCAweDEyMzk5LAorCTB4MTI0MDAsIDB4MTI0NmUsCisJMHgx
MjQ3MCwgMHgxMjQ3NCwKKwkweDEyNDgwLCAweDEyNTQzLAorCTB4MTMwMDAsIDB4MTM0MmUsCisJ
MHgxNDQwMCwgMHgxNDY0NiwKKwkweDE2ODAwLCAweDE2YTM4LAorCTB4MTZhNDAsIDB4MTZhNWUs
CisJMHgxNmE2MCwgMHgxNmE2OSwKKwkweDE2YTZlLCAweDE2YTZmLAorCTB4MTZhZDAsIDB4MTZh
ZWQsCisJMHgxNmFmMCwgMHgxNmFmNSwKKwkweDE2YjAwLCAweDE2YjQ1LAorCTB4MTZiNTAsIDB4
MTZiNTksCisJMHgxNmI1YiwgMHgxNmI2MSwKKwkweDE2YjYzLCAweDE2Yjc3LAorCTB4MTZiN2Qs
IDB4MTZiOGYsCisJMHgxNmYwMCwgMHgxNmY0NCwKKwkweDE2ZjUwLCAweDE2ZjdlLAorCTB4MTZm
OGYsIDB4MTZmOWYsCisJMHgxYjAwMCwgMHgxYjAwMSwKKwkweDFiYzAwLCAweDFiYzZhLAorCTB4
MWJjNzAsIDB4MWJjN2MsCisJMHgxYmM4MCwgMHgxYmM4OCwKKwkweDFiYzkwLCAweDFiYzk5LAor
CTB4MWJjOWMsIDB4MWJjYTMsCisJMHgxZDAwMCwgMHgxZDBmNSwKKwkweDFkMTAwLCAweDFkMTI2
LAorCTB4MWQxMjksIDB4MWQxZTgsCisJMHgxZDIwMCwgMHgxZDI0NSwKKwkweDFkMzAwLCAweDFk
MzU2LAorCTB4MWQzNjAsIDB4MWQzNzEsCisJMHgxZDQwMCwgMHgxZDQ1NCwKKwkweDFkNDU2LCAw
eDFkNDljLAorCTB4MWQ0OWUsIDB4MWQ0OWYsCisJMHgxZDRhMiwgMHgxZDRhMiwKKwkweDFkNGE1
LCAweDFkNGE2LAorCTB4MWQ0YTksIDB4MWQ0YWMsCisJMHgxZDRhZSwgMHgxZDRiOSwKKwkweDFk
NGJiLCAweDFkNGJiLAorCTB4MWQ0YmQsIDB4MWQ0YzMsCisJMHgxZDRjNSwgMHgxZDUwNSwKKwkw
eDFkNTA3LCAweDFkNTBhLAorCTB4MWQ1MGQsIDB4MWQ1MTQsCisJMHgxZDUxNiwgMHgxZDUxYywK
KwkweDFkNTFlLCAweDFkNTM5LAorCTB4MWQ1M2IsIDB4MWQ1M2UsCisJMHgxZDU0MCwgMHgxZDU0
NCwKKwkweDFkNTQ2LCAweDFkNTQ2LAorCTB4MWQ1NGEsIDB4MWQ1NTAsCisJMHgxZDU1MiwgMHgx
ZDZhNSwKKwkweDFkNmE4LCAweDFkN2NiLAorCTB4MWQ3Y2UsIDB4MWRhOGIsCisJMHgxZGE5Yiwg
MHgxZGE5ZiwKKwkweDFkYWExLCAweDFkYWFmLAorCTB4MWU4MDAsIDB4MWU4YzQsCisJMHgxZThj
NywgMHgxZThkNiwKKwkweDFlZTAwLCAweDFlZTAzLAorCTB4MWVlMDUsIDB4MWVlMWYsCisJMHgx
ZWUyMSwgMHgxZWUyMiwKKwkweDFlZTI0LCAweDFlZTI0LAorCTB4MWVlMjcsIDB4MWVlMjcsCisJ
MHgxZWUyOSwgMHgxZWUzMiwKKwkweDFlZTM0LCAweDFlZTM3LAorCTB4MWVlMzksIDB4MWVlMzks
CisJMHgxZWUzYiwgMHgxZWUzYiwKKwkweDFlZTQyLCAweDFlZTQyLAorCTB4MWVlNDcsIDB4MWVl
NDcsCisJMHgxZWU0OSwgMHgxZWU0OSwKKwkweDFlZTRiLCAweDFlZTRiLAorCTB4MWVlNGQsIDB4
MWVlNGYsCisJMHgxZWU1MSwgMHgxZWU1MiwKKwkweDFlZTU0LCAweDFlZTU0LAorCTB4MWVlNTcs
IDB4MWVlNTcsCisJMHgxZWU1OSwgMHgxZWU1OSwKKwkweDFlZTViLCAweDFlZTViLAorCTB4MWVl
NWQsIDB4MWVlNWQsCisJMHgxZWU1ZiwgMHgxZWU1ZiwKKwkweDFlZTYxLCAweDFlZTYyLAorCTB4
MWVlNjQsIDB4MWVlNjQsCisJMHgxZWU2NywgMHgxZWU2YSwKKwkweDFlZTZjLCAweDFlZTcyLAor
CTB4MWVlNzQsIDB4MWVlNzcsCisJMHgxZWU3OSwgMHgxZWU3YywKKwkweDFlZTdlLCAweDFlZTdl
LAorCTB4MWVlODAsIDB4MWVlODksCisJMHgxZWU4YiwgMHgxZWU5YiwKKwkweDFlZWExLCAweDFl
ZWEzLAorCTB4MWVlYTUsIDB4MWVlYTksCisJMHgxZWVhYiwgMHgxZWViYiwKKwkweDFlZWYwLCAw
eDFlZWYxLAorCTB4MWYwMDAsIDB4MWYwMmIsCisJMHgxZjAzMCwgMHgxZjA5MywKKwkweDFmMGEw
LCAweDFmMGFlLAorCTB4MWYwYjEsIDB4MWYwYmYsCisJMHgxZjBjMSwgMHgxZjBjZiwKKwkweDFm
MGQxLCAweDFmMGY1LAorCTB4MWYxMDAsIDB4MWYxMGMsCisJMHgxZjExMCwgMHgxZjEyZSwKKwkw
eDFmMTMwLCAweDFmMTZiLAorCTB4MWYxNzAsIDB4MWYxOWEsCisJMHgxZjFlNiwgMHgxZjIwMiwK
KwkweDFmMjEwLCAweDFmMjNhLAorCTB4MWYyNDAsIDB4MWYyNDgsCisJMHgxZjI1MCwgMHgxZjI1
MSwKKwkweDFmMzAwLCAweDFmNTc5LAorCTB4MWY1N2IsIDB4MWY1YTMsCisJMHgxZjVhNSwgMHgx
ZjZkMCwKKwkweDFmNmUwLCAweDFmNmVjLAorCTB4MWY2ZjAsIDB4MWY2ZjMsCisJMHgxZjcwMCwg
MHgxZjc3MywKKwkweDFmNzgwLCAweDFmN2Q0LAorCTB4MWY4MDAsIDB4MWY4MGIsCisJMHgxZjgx
MCwgMHgxZjg0NywKKwkweDFmODUwLCAweDFmODU5LAorCTB4MWY4NjAsIDB4MWY4ODcsCisJMHgx
Zjg5MCwgMHgxZjhhZCwKKwkweDFmOTEwLCAweDFmOTE4LAorCTB4MWY5ODAsIDB4MWY5ODQsCisJ
MHgxZjljMCwgMHgxZjljMCwKKwkweDFmZmZlLCAweDJhNmQ2LAorCTB4MmE3MDAsIDB4MmI3MzQs
CisJMHgyYjc0MCwgMHgyYjgxZCwKKwkweDJiODIwLCAweDJjZWExLAorCTB4MmY4MDAsIDB4MmZh
MWQsCisJMHgyZmZmZSwgMHgyZmZmZiwKKwkweDNmZmZlLCAweDNmZmZmLAorCTB4NGZmZmUsIDB4
NGZmZmYsCisJMHg1ZmZmZSwgMHg1ZmZmZiwKKwkweDZmZmZlLCAweDZmZmZmLAorCTB4N2ZmZmUs
IDB4N2ZmZmYsCisJMHg4ZmZmZSwgMHg4ZmZmZiwKKwkweDlmZmZlLCAweDlmZmZmLAorCTB4YWZm
ZmUsIDB4YWZmZmYsCisJMHhiZmZmZSwgMHhiZmZmZiwKKwkweGNmZmZlLCAweGNmZmZmLAorCTB4
ZGZmZmUsIDB4ZGZmZmYsCisJMHhlMDAwMSwgMHhlMDAwMSwKKwkweGUwMDIwLCAweGUwMDdmLAor
CTB4ZTAxMDAsIDB4ZTAxZWYsCisJMHhlZmZmZSwgMHgxMGZmZmYsCit9OyAvKiBDUl9BZ2VfOF8w
ICovCisKKy8qICdBZ2VfOV8wJzogRGVyaXZlZCBBZ2UgOS4wICovCitzdGF0aWMgY29uc3QgT25p
Z0NvZGVQb2ludCBDUl9BZ2VfOV8wW10gPSB7CisJNjQ4LAorCTB4MDAwMCwgMHgwMzc3LAorCTB4
MDM3YSwgMHgwMzdmLAorCTB4MDM4NCwgMHgwMzhhLAorCTB4MDM4YywgMHgwMzhjLAorCTB4MDM4
ZSwgMHgwM2ExLAorCTB4MDNhMywgMHgwNTJmLAorCTB4MDUzMSwgMHgwNTU2LAorCTB4MDU1OSwg
MHgwNTVmLAorCTB4MDU2MSwgMHgwNTg3LAorCTB4MDU4OSwgMHgwNThhLAorCTB4MDU4ZCwgMHgw
NThmLAorCTB4MDU5MSwgMHgwNWM3LAorCTB4MDVkMCwgMHgwNWVhLAorCTB4MDVmMCwgMHgwNWY0
LAorCTB4MDYwMCwgMHgwNjFjLAorCTB4MDYxZSwgMHgwNzBkLAorCTB4MDcwZiwgMHgwNzRhLAor
CTB4MDc0ZCwgMHgwN2IxLAorCTB4MDdjMCwgMHgwN2ZhLAorCTB4MDgwMCwgMHgwODJkLAorCTB4
MDgzMCwgMHgwODNlLAorCTB4MDg0MCwgMHgwODViLAorCTB4MDg1ZSwgMHgwODVlLAorCTB4MDhh
MCwgMHgwOGI0LAorCTB4MDhiNiwgMHgwOGJkLAorCTB4MDhkNCwgMHgwOTgzLAorCTB4MDk4NSwg
MHgwOThjLAorCTB4MDk4ZiwgMHgwOTkwLAorCTB4MDk5MywgMHgwOWE4LAorCTB4MDlhYSwgMHgw
OWIwLAorCTB4MDliMiwgMHgwOWIyLAorCTB4MDliNiwgMHgwOWI5LAorCTB4MDliYywgMHgwOWM0
LAorCTB4MDljNywgMHgwOWM4LAorCTB4MDljYiwgMHgwOWNlLAorCTB4MDlkNywgMHgwOWQ3LAor
CTB4MDlkYywgMHgwOWRkLAorCTB4MDlkZiwgMHgwOWUzLAorCTB4MDllNiwgMHgwOWZiLAorCTB4
MGEwMSwgMHgwYTAzLAorCTB4MGEwNSwgMHgwYTBhLAorCTB4MGEwZiwgMHgwYTEwLAorCTB4MGEx
MywgMHgwYTI4LAorCTB4MGEyYSwgMHgwYTMwLAorCTB4MGEzMiwgMHgwYTMzLAorCTB4MGEzNSwg
MHgwYTM2LAorCTB4MGEzOCwgMHgwYTM5LAorCTB4MGEzYywgMHgwYTNjLAorCTB4MGEzZSwgMHgw
YTQyLAorCTB4MGE0NywgMHgwYTQ4LAorCTB4MGE0YiwgMHgwYTRkLAorCTB4MGE1MSwgMHgwYTUx
LAorCTB4MGE1OSwgMHgwYTVjLAorCTB4MGE1ZSwgMHgwYTVlLAorCTB4MGE2NiwgMHgwYTc1LAor
CTB4MGE4MSwgMHgwYTgzLAorCTB4MGE4NSwgMHgwYThkLAorCTB4MGE4ZiwgMHgwYTkxLAorCTB4
MGE5MywgMHgwYWE4LAorCTB4MGFhYSwgMHgwYWIwLAorCTB4MGFiMiwgMHgwYWIzLAorCTB4MGFi
NSwgMHgwYWI5LAorCTB4MGFiYywgMHgwYWM1LAorCTB4MGFjNywgMHgwYWM5LAorCTB4MGFjYiwg
MHgwYWNkLAorCTB4MGFkMCwgMHgwYWQwLAorCTB4MGFlMCwgMHgwYWUzLAorCTB4MGFlNiwgMHgw
YWYxLAorCTB4MGFmOSwgMHgwYWY5LAorCTB4MGIwMSwgMHgwYjAzLAorCTB4MGIwNSwgMHgwYjBj
LAorCTB4MGIwZiwgMHgwYjEwLAorCTB4MGIxMywgMHgwYjI4LAorCTB4MGIyYSwgMHgwYjMwLAor
CTB4MGIzMiwgMHgwYjMzLAorCTB4MGIzNSwgMHgwYjM5LAorCTB4MGIzYywgMHgwYjQ0LAorCTB4
MGI0NywgMHgwYjQ4LAorCTB4MGI0YiwgMHgwYjRkLAorCTB4MGI1NiwgMHgwYjU3LAorCTB4MGI1
YywgMHgwYjVkLAorCTB4MGI1ZiwgMHgwYjYzLAorCTB4MGI2NiwgMHgwYjc3LAorCTB4MGI4Miwg
MHgwYjgzLAorCTB4MGI4NSwgMHgwYjhhLAorCTB4MGI4ZSwgMHgwYjkwLAorCTB4MGI5MiwgMHgw
Yjk1LAorCTB4MGI5OSwgMHgwYjlhLAorCTB4MGI5YywgMHgwYjljLAorCTB4MGI5ZSwgMHgwYjlm
LAorCTB4MGJhMywgMHgwYmE0LAorCTB4MGJhOCwgMHgwYmFhLAorCTB4MGJhZSwgMHgwYmI5LAor
CTB4MGJiZSwgMHgwYmMyLAorCTB4MGJjNiwgMHgwYmM4LAorCTB4MGJjYSwgMHgwYmNkLAorCTB4
MGJkMCwgMHgwYmQwLAorCTB4MGJkNywgMHgwYmQ3LAorCTB4MGJlNiwgMHgwYmZhLAorCTB4MGMw
MCwgMHgwYzAzLAorCTB4MGMwNSwgMHgwYzBjLAorCTB4MGMwZSwgMHgwYzEwLAorCTB4MGMxMiwg
MHgwYzI4LAorCTB4MGMyYSwgMHgwYzM5LAorCTB4MGMzZCwgMHgwYzQ0LAorCTB4MGM0NiwgMHgw
YzQ4LAorCTB4MGM0YSwgMHgwYzRkLAorCTB4MGM1NSwgMHgwYzU2LAorCTB4MGM1OCwgMHgwYzVh
LAorCTB4MGM2MCwgMHgwYzYzLAorCTB4MGM2NiwgMHgwYzZmLAorCTB4MGM3OCwgMHgwYzgzLAor
CTB4MGM4NSwgMHgwYzhjLAorCTB4MGM4ZSwgMHgwYzkwLAorCTB4MGM5MiwgMHgwY2E4LAorCTB4
MGNhYSwgMHgwY2IzLAorCTB4MGNiNSwgMHgwY2I5LAorCTB4MGNiYywgMHgwY2M0LAorCTB4MGNj
NiwgMHgwY2M4LAorCTB4MGNjYSwgMHgwY2NkLAorCTB4MGNkNSwgMHgwY2Q2LAorCTB4MGNkZSwg
MHgwY2RlLAorCTB4MGNlMCwgMHgwY2UzLAorCTB4MGNlNiwgMHgwY2VmLAorCTB4MGNmMSwgMHgw
Y2YyLAorCTB4MGQwMSwgMHgwZDAzLAorCTB4MGQwNSwgMHgwZDBjLAorCTB4MGQwZSwgMHgwZDEw
LAorCTB4MGQxMiwgMHgwZDNhLAorCTB4MGQzZCwgMHgwZDQ0LAorCTB4MGQ0NiwgMHgwZDQ4LAor
CTB4MGQ0YSwgMHgwZDRmLAorCTB4MGQ1NCwgMHgwZDYzLAorCTB4MGQ2NiwgMHgwZDdmLAorCTB4
MGQ4MiwgMHgwZDgzLAorCTB4MGQ4NSwgMHgwZDk2LAorCTB4MGQ5YSwgMHgwZGIxLAorCTB4MGRi
MywgMHgwZGJiLAorCTB4MGRiZCwgMHgwZGJkLAorCTB4MGRjMCwgMHgwZGM2LAorCTB4MGRjYSwg
MHgwZGNhLAorCTB4MGRjZiwgMHgwZGQ0LAorCTB4MGRkNiwgMHgwZGQ2LAorCTB4MGRkOCwgMHgw
ZGRmLAorCTB4MGRlNiwgMHgwZGVmLAorCTB4MGRmMiwgMHgwZGY0LAorCTB4MGUwMSwgMHgwZTNh
LAorCTB4MGUzZiwgMHgwZTViLAorCTB4MGU4MSwgMHgwZTgyLAorCTB4MGU4NCwgMHgwZTg0LAor
CTB4MGU4NywgMHgwZTg4LAorCTB4MGU4YSwgMHgwZThhLAorCTB4MGU4ZCwgMHgwZThkLAorCTB4
MGU5NCwgMHgwZTk3LAorCTB4MGU5OSwgMHgwZTlmLAorCTB4MGVhMSwgMHgwZWEzLAorCTB4MGVh
NSwgMHgwZWE1LAorCTB4MGVhNywgMHgwZWE3LAorCTB4MGVhYSwgMHgwZWFiLAorCTB4MGVhZCwg
MHgwZWI5LAorCTB4MGViYiwgMHgwZWJkLAorCTB4MGVjMCwgMHgwZWM0LAorCTB4MGVjNiwgMHgw
ZWM2LAorCTB4MGVjOCwgMHgwZWNkLAorCTB4MGVkMCwgMHgwZWQ5LAorCTB4MGVkYywgMHgwZWRm
LAorCTB4MGYwMCwgMHgwZjQ3LAorCTB4MGY0OSwgMHgwZjZjLAorCTB4MGY3MSwgMHgwZjk3LAor
CTB4MGY5OSwgMHgwZmJjLAorCTB4MGZiZSwgMHgwZmNjLAorCTB4MGZjZSwgMHgwZmRhLAorCTB4
MTAwMCwgMHgxMGM1LAorCTB4MTBjNywgMHgxMGM3LAorCTB4MTBjZCwgMHgxMGNkLAorCTB4MTBk
MCwgMHgxMjQ4LAorCTB4MTI0YSwgMHgxMjRkLAorCTB4MTI1MCwgMHgxMjU2LAorCTB4MTI1OCwg
MHgxMjU4LAorCTB4MTI1YSwgMHgxMjVkLAorCTB4MTI2MCwgMHgxMjg4LAorCTB4MTI4YSwgMHgx
MjhkLAorCTB4MTI5MCwgMHgxMmIwLAorCTB4MTJiMiwgMHgxMmI1LAorCTB4MTJiOCwgMHgxMmJl
LAorCTB4MTJjMCwgMHgxMmMwLAorCTB4MTJjMiwgMHgxMmM1LAorCTB4MTJjOCwgMHgxMmQ2LAor
CTB4MTJkOCwgMHgxMzEwLAorCTB4MTMxMiwgMHgxMzE1LAorCTB4MTMxOCwgMHgxMzVhLAorCTB4
MTM1ZCwgMHgxMzdjLAorCTB4MTM4MCwgMHgxMzk5LAorCTB4MTNhMCwgMHgxM2Y1LAorCTB4MTNm
OCwgMHgxM2ZkLAorCTB4MTQwMCwgMHgxNjljLAorCTB4MTZhMCwgMHgxNmY4LAorCTB4MTcwMCwg
MHgxNzBjLAorCTB4MTcwZSwgMHgxNzE0LAorCTB4MTcyMCwgMHgxNzM2LAorCTB4MTc0MCwgMHgx
NzUzLAorCTB4MTc2MCwgMHgxNzZjLAorCTB4MTc2ZSwgMHgxNzcwLAorCTB4MTc3MiwgMHgxNzcz
LAorCTB4MTc4MCwgMHgxN2RkLAorCTB4MTdlMCwgMHgxN2U5LAorCTB4MTdmMCwgMHgxN2Y5LAor
CTB4MTgwMCwgMHgxODBlLAorCTB4MTgxMCwgMHgxODE5LAorCTB4MTgyMCwgMHgxODc3LAorCTB4
MTg4MCwgMHgxOGFhLAorCTB4MThiMCwgMHgxOGY1LAorCTB4MTkwMCwgMHgxOTFlLAorCTB4MTky
MCwgMHgxOTJiLAorCTB4MTkzMCwgMHgxOTNiLAorCTB4MTk0MCwgMHgxOTQwLAorCTB4MTk0NCwg
MHgxOTZkLAorCTB4MTk3MCwgMHgxOTc0LAorCTB4MTk4MCwgMHgxOWFiLAorCTB4MTliMCwgMHgx
OWM5LAorCTB4MTlkMCwgMHgxOWRhLAorCTB4MTlkZSwgMHgxYTFiLAorCTB4MWExZSwgMHgxYTVl
LAorCTB4MWE2MCwgMHgxYTdjLAorCTB4MWE3ZiwgMHgxYTg5LAorCTB4MWE5MCwgMHgxYTk5LAor
CTB4MWFhMCwgMHgxYWFkLAorCTB4MWFiMCwgMHgxYWJlLAorCTB4MWIwMCwgMHgxYjRiLAorCTB4
MWI1MCwgMHgxYjdjLAorCTB4MWI4MCwgMHgxYmYzLAorCTB4MWJmYywgMHgxYzM3LAorCTB4MWMz
YiwgMHgxYzQ5LAorCTB4MWM0ZCwgMHgxYzg4LAorCTB4MWNjMCwgMHgxY2M3LAorCTB4MWNkMCwg
MHgxY2Y2LAorCTB4MWNmOCwgMHgxY2Y5LAorCTB4MWQwMCwgMHgxZGY1LAorCTB4MWRmYiwgMHgx
ZjE1LAorCTB4MWYxOCwgMHgxZjFkLAorCTB4MWYyMCwgMHgxZjQ1LAorCTB4MWY0OCwgMHgxZjRk
LAorCTB4MWY1MCwgMHgxZjU3LAorCTB4MWY1OSwgMHgxZjU5LAorCTB4MWY1YiwgMHgxZjViLAor
CTB4MWY1ZCwgMHgxZjVkLAorCTB4MWY1ZiwgMHgxZjdkLAorCTB4MWY4MCwgMHgxZmI0LAorCTB4
MWZiNiwgMHgxZmM0LAorCTB4MWZjNiwgMHgxZmQzLAorCTB4MWZkNiwgMHgxZmRiLAorCTB4MWZk
ZCwgMHgxZmVmLAorCTB4MWZmMiwgMHgxZmY0LAorCTB4MWZmNiwgMHgxZmZlLAorCTB4MjAwMCwg
MHgyMDY0LAorCTB4MjA2NiwgMHgyMDcxLAorCTB4MjA3NCwgMHgyMDhlLAorCTB4MjA5MCwgMHgy
MDljLAorCTB4MjBhMCwgMHgyMGJlLAorCTB4MjBkMCwgMHgyMGYwLAorCTB4MjEwMCwgMHgyMThi
LAorCTB4MjE5MCwgMHgyM2ZlLAorCTB4MjQwMCwgMHgyNDI2LAorCTB4MjQ0MCwgMHgyNDRhLAor
CTB4MjQ2MCwgMHgyYjczLAorCTB4MmI3NiwgMHgyYjk1LAorCTB4MmI5OCwgMHgyYmI5LAorCTB4
MmJiZCwgMHgyYmM4LAorCTB4MmJjYSwgMHgyYmQxLAorCTB4MmJlYywgMHgyYmVmLAorCTB4MmMw
MCwgMHgyYzJlLAorCTB4MmMzMCwgMHgyYzVlLAorCTB4MmM2MCwgMHgyY2YzLAorCTB4MmNmOSwg
MHgyZDI1LAorCTB4MmQyNywgMHgyZDI3LAorCTB4MmQyZCwgMHgyZDJkLAorCTB4MmQzMCwgMHgy
ZDY3LAorCTB4MmQ2ZiwgMHgyZDcwLAorCTB4MmQ3ZiwgMHgyZDk2LAorCTB4MmRhMCwgMHgyZGE2
LAorCTB4MmRhOCwgMHgyZGFlLAorCTB4MmRiMCwgMHgyZGI2LAorCTB4MmRiOCwgMHgyZGJlLAor
CTB4MmRjMCwgMHgyZGM2LAorCTB4MmRjOCwgMHgyZGNlLAorCTB4MmRkMCwgMHgyZGQ2LAorCTB4
MmRkOCwgMHgyZGRlLAorCTB4MmRlMCwgMHgyZTQ0LAorCTB4MmU4MCwgMHgyZTk5LAorCTB4MmU5
YiwgMHgyZWYzLAorCTB4MmYwMCwgMHgyZmQ1LAorCTB4MmZmMCwgMHgyZmZiLAorCTB4MzAwMCwg
MHgzMDNmLAorCTB4MzA0MSwgMHgzMDk2LAorCTB4MzA5OSwgMHgzMGZmLAorCTB4MzEwNSwgMHgz
MTJkLAorCTB4MzEzMSwgMHgzMThlLAorCTB4MzE5MCwgMHgzMWJhLAorCTB4MzFjMCwgMHgzMWUz
LAorCTB4MzFmMCwgMHgzMjFlLAorCTB4MzIyMCwgMHgzMmZlLAorCTB4MzMwMCwgMHg0ZGI1LAor
CTB4NGRjMCwgMHg5ZmQ1LAorCTB4YTAwMCwgMHhhNDhjLAorCTB4YTQ5MCwgMHhhNGM2LAorCTB4
YTRkMCwgMHhhNjJiLAorCTB4YTY0MCwgMHhhNmY3LAorCTB4YTcwMCwgMHhhN2FlLAorCTB4YTdi
MCwgMHhhN2I3LAorCTB4YTdmNywgMHhhODJiLAorCTB4YTgzMCwgMHhhODM5LAorCTB4YTg0MCwg
MHhhODc3LAorCTB4YTg4MCwgMHhhOGM1LAorCTB4YThjZSwgMHhhOGQ5LAorCTB4YThlMCwgMHhh
OGZkLAorCTB4YTkwMCwgMHhhOTUzLAorCTB4YTk1ZiwgMHhhOTdjLAorCTB4YTk4MCwgMHhhOWNk
LAorCTB4YTljZiwgMHhhOWQ5LAorCTB4YTlkZSwgMHhhOWZlLAorCTB4YWEwMCwgMHhhYTM2LAor
CTB4YWE0MCwgMHhhYTRkLAorCTB4YWE1MCwgMHhhYTU5LAorCTB4YWE1YywgMHhhYWMyLAorCTB4
YWFkYiwgMHhhYWY2LAorCTB4YWIwMSwgMHhhYjA2LAorCTB4YWIwOSwgMHhhYjBlLAorCTB4YWIx
MSwgMHhhYjE2LAorCTB4YWIyMCwgMHhhYjI2LAorCTB4YWIyOCwgMHhhYjJlLAorCTB4YWIzMCwg
MHhhYjY1LAorCTB4YWI3MCwgMHhhYmVkLAorCTB4YWJmMCwgMHhhYmY5LAorCTB4YWMwMCwgMHhk
N2EzLAorCTB4ZDdiMCwgMHhkN2M2LAorCTB4ZDdjYiwgMHhkN2ZiLAorCTB4ZDgwMCwgMHhmYTZk
LAorCTB4ZmE3MCwgMHhmYWQ5LAorCTB4ZmIwMCwgMHhmYjA2LAorCTB4ZmIxMywgMHhmYjE3LAor
CTB4ZmIxZCwgMHhmYjM2LAorCTB4ZmIzOCwgMHhmYjNjLAorCTB4ZmIzZSwgMHhmYjNlLAorCTB4
ZmI0MCwgMHhmYjQxLAorCTB4ZmI0MywgMHhmYjQ0LAorCTB4ZmI0NiwgMHhmYmMxLAorCTB4ZmJk
MywgMHhmZDNmLAorCTB4ZmQ1MCwgMHhmZDhmLAorCTB4ZmQ5MiwgMHhmZGM3LAorCTB4ZmRkMCwg
MHhmZGZkLAorCTB4ZmUwMCwgMHhmZTE5LAorCTB4ZmUyMCwgMHhmZTUyLAorCTB4ZmU1NCwgMHhm
ZTY2LAorCTB4ZmU2OCwgMHhmZTZiLAorCTB4ZmU3MCwgMHhmZTc0LAorCTB4ZmU3NiwgMHhmZWZj
LAorCTB4ZmVmZiwgMHhmZWZmLAorCTB4ZmYwMSwgMHhmZmJlLAorCTB4ZmZjMiwgMHhmZmM3LAor
CTB4ZmZjYSwgMHhmZmNmLAorCTB4ZmZkMiwgMHhmZmQ3LAorCTB4ZmZkYSwgMHhmZmRjLAorCTB4
ZmZlMCwgMHhmZmU2LAorCTB4ZmZlOCwgMHhmZmVlLAorCTB4ZmZmOSwgMHgxMDAwYiwKKwkweDEw
MDBkLCAweDEwMDI2LAorCTB4MTAwMjgsIDB4MTAwM2EsCisJMHgxMDAzYywgMHgxMDAzZCwKKwkw
eDEwMDNmLCAweDEwMDRkLAorCTB4MTAwNTAsIDB4MTAwNWQsCisJMHgxMDA4MCwgMHgxMDBmYSwK
KwkweDEwMTAwLCAweDEwMTAyLAorCTB4MTAxMDcsIDB4MTAxMzMsCisJMHgxMDEzNywgMHgxMDE4
ZSwKKwkweDEwMTkwLCAweDEwMTliLAorCTB4MTAxYTAsIDB4MTAxYTAsCisJMHgxMDFkMCwgMHgx
MDFmZCwKKwkweDEwMjgwLCAweDEwMjljLAorCTB4MTAyYTAsIDB4MTAyZDAsCisJMHgxMDJlMCwg
MHgxMDJmYiwKKwkweDEwMzAwLCAweDEwMzIzLAorCTB4MTAzMzAsIDB4MTAzNGEsCisJMHgxMDM1
MCwgMHgxMDM3YSwKKwkweDEwMzgwLCAweDEwMzlkLAorCTB4MTAzOWYsIDB4MTAzYzMsCisJMHgx
MDNjOCwgMHgxMDNkNSwKKwkweDEwNDAwLCAweDEwNDlkLAorCTB4MTA0YTAsIDB4MTA0YTksCisJ
MHgxMDRiMCwgMHgxMDRkMywKKwkweDEwNGQ4LCAweDEwNGZiLAorCTB4MTA1MDAsIDB4MTA1Mjcs
CisJMHgxMDUzMCwgMHgxMDU2MywKKwkweDEwNTZmLCAweDEwNTZmLAorCTB4MTA2MDAsIDB4MTA3
MzYsCisJMHgxMDc0MCwgMHgxMDc1NSwKKwkweDEwNzYwLCAweDEwNzY3LAorCTB4MTA4MDAsIDB4
MTA4MDUsCisJMHgxMDgwOCwgMHgxMDgwOCwKKwkweDEwODBhLCAweDEwODM1LAorCTB4MTA4Mzcs
IDB4MTA4MzgsCisJMHgxMDgzYywgMHgxMDgzYywKKwkweDEwODNmLCAweDEwODU1LAorCTB4MTA4
NTcsIDB4MTA4OWUsCisJMHgxMDhhNywgMHgxMDhhZiwKKwkweDEwOGUwLCAweDEwOGYyLAorCTB4
MTA4ZjQsIDB4MTA4ZjUsCisJMHgxMDhmYiwgMHgxMDkxYiwKKwkweDEwOTFmLCAweDEwOTM5LAor
CTB4MTA5M2YsIDB4MTA5M2YsCisJMHgxMDk4MCwgMHgxMDliNywKKwkweDEwOWJjLCAweDEwOWNm
LAorCTB4MTA5ZDIsIDB4MTBhMDMsCisJMHgxMGEwNSwgMHgxMGEwNiwKKwkweDEwYTBjLCAweDEw
YTEzLAorCTB4MTBhMTUsIDB4MTBhMTcsCisJMHgxMGExOSwgMHgxMGEzMywKKwkweDEwYTM4LCAw
eDEwYTNhLAorCTB4MTBhM2YsIDB4MTBhNDcsCisJMHgxMGE1MCwgMHgxMGE1OCwKKwkweDEwYTYw
LCAweDEwYTlmLAorCTB4MTBhYzAsIDB4MTBhZTYsCisJMHgxMGFlYiwgMHgxMGFmNiwKKwkweDEw
YjAwLCAweDEwYjM1LAorCTB4MTBiMzksIDB4MTBiNTUsCisJMHgxMGI1OCwgMHgxMGI3MiwKKwkw
eDEwYjc4LCAweDEwYjkxLAorCTB4MTBiOTksIDB4MTBiOWMsCisJMHgxMGJhOSwgMHgxMGJhZiwK
KwkweDEwYzAwLCAweDEwYzQ4LAorCTB4MTBjODAsIDB4MTBjYjIsCisJMHgxMGNjMCwgMHgxMGNm
MiwKKwkweDEwY2ZhLCAweDEwY2ZmLAorCTB4MTBlNjAsIDB4MTBlN2UsCisJMHgxMTAwMCwgMHgx
MTA0ZCwKKwkweDExMDUyLCAweDExMDZmLAorCTB4MTEwN2YsIDB4MTEwYzEsCisJMHgxMTBkMCwg
MHgxMTBlOCwKKwkweDExMGYwLCAweDExMGY5LAorCTB4MTExMDAsIDB4MTExMzQsCisJMHgxMTEz
NiwgMHgxMTE0MywKKwkweDExMTUwLCAweDExMTc2LAorCTB4MTExODAsIDB4MTExY2QsCisJMHgx
MTFkMCwgMHgxMTFkZiwKKwkweDExMWUxLCAweDExMWY0LAorCTB4MTEyMDAsIDB4MTEyMTEsCisJ
MHgxMTIxMywgMHgxMTIzZSwKKwkweDExMjgwLCAweDExMjg2LAorCTB4MTEyODgsIDB4MTEyODgs
CisJMHgxMTI4YSwgMHgxMTI4ZCwKKwkweDExMjhmLCAweDExMjlkLAorCTB4MTEyOWYsIDB4MTEy
YTksCisJMHgxMTJiMCwgMHgxMTJlYSwKKwkweDExMmYwLCAweDExMmY5LAorCTB4MTEzMDAsIDB4
MTEzMDMsCisJMHgxMTMwNSwgMHgxMTMwYywKKwkweDExMzBmLCAweDExMzEwLAorCTB4MTEzMTMs
IDB4MTEzMjgsCisJMHgxMTMyYSwgMHgxMTMzMCwKKwkweDExMzMyLCAweDExMzMzLAorCTB4MTEz
MzUsIDB4MTEzMzksCisJMHgxMTMzYywgMHgxMTM0NCwKKwkweDExMzQ3LCAweDExMzQ4LAorCTB4
MTEzNGIsIDB4MTEzNGQsCisJMHgxMTM1MCwgMHgxMTM1MCwKKwkweDExMzU3LCAweDExMzU3LAor
CTB4MTEzNWQsIDB4MTEzNjMsCisJMHgxMTM2NiwgMHgxMTM2YywKKwkweDExMzcwLCAweDExMzc0
LAorCTB4MTE0MDAsIDB4MTE0NTksCisJMHgxMTQ1YiwgMHgxMTQ1YiwKKwkweDExNDVkLCAweDEx
NDVkLAorCTB4MTE0ODAsIDB4MTE0YzcsCisJMHgxMTRkMCwgMHgxMTRkOSwKKwkweDExNTgwLCAw
eDExNWI1LAorCTB4MTE1YjgsIDB4MTE1ZGQsCisJMHgxMTYwMCwgMHgxMTY0NCwKKwkweDExNjUw
LCAweDExNjU5LAorCTB4MTE2NjAsIDB4MTE2NmMsCisJMHgxMTY4MCwgMHgxMTZiNywKKwkweDEx
NmMwLCAweDExNmM5LAorCTB4MTE3MDAsIDB4MTE3MTksCisJMHgxMTcxZCwgMHgxMTcyYiwKKwkw
eDExNzMwLCAweDExNzNmLAorCTB4MTE4YTAsIDB4MTE4ZjIsCisJMHgxMThmZiwgMHgxMThmZiwK
KwkweDExYWMwLCAweDExYWY4LAorCTB4MTFjMDAsIDB4MTFjMDgsCisJMHgxMWMwYSwgMHgxMWMz
NiwKKwkweDExYzM4LCAweDExYzQ1LAorCTB4MTFjNTAsIDB4MTFjNmMsCisJMHgxMWM3MCwgMHgx
MWM4ZiwKKwkweDExYzkyLCAweDExY2E3LAorCTB4MTFjYTksIDB4MTFjYjYsCisJMHgxMjAwMCwg
MHgxMjM5OSwKKwkweDEyNDAwLCAweDEyNDZlLAorCTB4MTI0NzAsIDB4MTI0NzQsCisJMHgxMjQ4
MCwgMHgxMjU0MywKKwkweDEzMDAwLCAweDEzNDJlLAorCTB4MTQ0MDAsIDB4MTQ2NDYsCisJMHgx
NjgwMCwgMHgxNmEzOCwKKwkweDE2YTQwLCAweDE2YTVlLAorCTB4MTZhNjAsIDB4MTZhNjksCisJ
MHgxNmE2ZSwgMHgxNmE2ZiwKKwkweDE2YWQwLCAweDE2YWVkLAorCTB4MTZhZjAsIDB4MTZhZjUs
CisJMHgxNmIwMCwgMHgxNmI0NSwKKwkweDE2YjUwLCAweDE2YjU5LAorCTB4MTZiNWIsIDB4MTZi
NjEsCisJMHgxNmI2MywgMHgxNmI3NywKKwkweDE2YjdkLCAweDE2YjhmLAorCTB4MTZmMDAsIDB4
MTZmNDQsCisJMHgxNmY1MCwgMHgxNmY3ZSwKKwkweDE2ZjhmLCAweDE2ZjlmLAorCTB4MTZmZTAs
IDB4MTZmZTAsCisJMHgxNzAwMCwgMHgxODdlYywKKwkweDE4ODAwLCAweDE4YWYyLAorCTB4MWIw
MDAsIDB4MWIwMDEsCisJMHgxYmMwMCwgMHgxYmM2YSwKKwkweDFiYzcwLCAweDFiYzdjLAorCTB4
MWJjODAsIDB4MWJjODgsCisJMHgxYmM5MCwgMHgxYmM5OSwKKwkweDFiYzljLCAweDFiY2EzLAor
CTB4MWQwMDAsIDB4MWQwZjUsCisJMHgxZDEwMCwgMHgxZDEyNiwKKwkweDFkMTI5LCAweDFkMWU4
LAorCTB4MWQyMDAsIDB4MWQyNDUsCisJMHgxZDMwMCwgMHgxZDM1NiwKKwkweDFkMzYwLCAweDFk
MzcxLAorCTB4MWQ0MDAsIDB4MWQ0NTQsCisJMHgxZDQ1NiwgMHgxZDQ5YywKKwkweDFkNDllLCAw
eDFkNDlmLAorCTB4MWQ0YTIsIDB4MWQ0YTIsCisJMHgxZDRhNSwgMHgxZDRhNiwKKwkweDFkNGE5
LCAweDFkNGFjLAorCTB4MWQ0YWUsIDB4MWQ0YjksCisJMHgxZDRiYiwgMHgxZDRiYiwKKwkweDFk
NGJkLCAweDFkNGMzLAorCTB4MWQ0YzUsIDB4MWQ1MDUsCisJMHgxZDUwNywgMHgxZDUwYSwKKwkw
eDFkNTBkLCAweDFkNTE0LAorCTB4MWQ1MTYsIDB4MWQ1MWMsCisJMHgxZDUxZSwgMHgxZDUzOSwK
KwkweDFkNTNiLCAweDFkNTNlLAorCTB4MWQ1NDAsIDB4MWQ1NDQsCisJMHgxZDU0NiwgMHgxZDU0
NiwKKwkweDFkNTRhLCAweDFkNTUwLAorCTB4MWQ1NTIsIDB4MWQ2YTUsCisJMHgxZDZhOCwgMHgx
ZDdjYiwKKwkweDFkN2NlLCAweDFkYThiLAorCTB4MWRhOWIsIDB4MWRhOWYsCisJMHgxZGFhMSwg
MHgxZGFhZiwKKwkweDFlMDAwLCAweDFlMDA2LAorCTB4MWUwMDgsIDB4MWUwMTgsCisJMHgxZTAx
YiwgMHgxZTAyMSwKKwkweDFlMDIzLCAweDFlMDI0LAorCTB4MWUwMjYsIDB4MWUwMmEsCisJMHgx
ZTgwMCwgMHgxZThjNCwKKwkweDFlOGM3LCAweDFlOGQ2LAorCTB4MWU5MDAsIDB4MWU5NGEsCisJ
MHgxZTk1MCwgMHgxZTk1OSwKKwkweDFlOTVlLCAweDFlOTVmLAorCTB4MWVlMDAsIDB4MWVlMDMs
CisJMHgxZWUwNSwgMHgxZWUxZiwKKwkweDFlZTIxLCAweDFlZTIyLAorCTB4MWVlMjQsIDB4MWVl
MjQsCisJMHgxZWUyNywgMHgxZWUyNywKKwkweDFlZTI5LCAweDFlZTMyLAorCTB4MWVlMzQsIDB4
MWVlMzcsCisJMHgxZWUzOSwgMHgxZWUzOSwKKwkweDFlZTNiLCAweDFlZTNiLAorCTB4MWVlNDIs
IDB4MWVlNDIsCisJMHgxZWU0NywgMHgxZWU0NywKKwkweDFlZTQ5LCAweDFlZTQ5LAorCTB4MWVl
NGIsIDB4MWVlNGIsCisJMHgxZWU0ZCwgMHgxZWU0ZiwKKwkweDFlZTUxLCAweDFlZTUyLAorCTB4
MWVlNTQsIDB4MWVlNTQsCisJMHgxZWU1NywgMHgxZWU1NywKKwkweDFlZTU5LCAweDFlZTU5LAor
CTB4MWVlNWIsIDB4MWVlNWIsCisJMHgxZWU1ZCwgMHgxZWU1ZCwKKwkweDFlZTVmLCAweDFlZTVm
LAorCTB4MWVlNjEsIDB4MWVlNjIsCisJMHgxZWU2NCwgMHgxZWU2NCwKKwkweDFlZTY3LCAweDFl
ZTZhLAorCTB4MWVlNmMsIDB4MWVlNzIsCisJMHgxZWU3NCwgMHgxZWU3NywKKwkweDFlZTc5LCAw
eDFlZTdjLAorCTB4MWVlN2UsIDB4MWVlN2UsCisJMHgxZWU4MCwgMHgxZWU4OSwKKwkweDFlZThi
LCAweDFlZTliLAorCTB4MWVlYTEsIDB4MWVlYTMsCisJMHgxZWVhNSwgMHgxZWVhOSwKKwkweDFl
ZWFiLCAweDFlZWJiLAorCTB4MWVlZjAsIDB4MWVlZjEsCisJMHgxZjAwMCwgMHgxZjAyYiwKKwkw
eDFmMDMwLCAweDFmMDkzLAorCTB4MWYwYTAsIDB4MWYwYWUsCisJMHgxZjBiMSwgMHgxZjBiZiwK
KwkweDFmMGMxLCAweDFmMGNmLAorCTB4MWYwZDEsIDB4MWYwZjUsCisJMHgxZjEwMCwgMHgxZjEw
YywKKwkweDFmMTEwLCAweDFmMTJlLAorCTB4MWYxMzAsIDB4MWYxNmIsCisJMHgxZjE3MCwgMHgx
ZjFhYywKKwkweDFmMWU2LCAweDFmMjAyLAorCTB4MWYyMTAsIDB4MWYyM2IsCisJMHgxZjI0MCwg
MHgxZjI0OCwKKwkweDFmMjUwLCAweDFmMjUxLAorCTB4MWYzMDAsIDB4MWY2ZDIsCisJMHgxZjZl
MCwgMHgxZjZlYywKKwkweDFmNmYwLCAweDFmNmY2LAorCTB4MWY3MDAsIDB4MWY3NzMsCisJMHgx
Zjc4MCwgMHgxZjdkNCwKKwkweDFmODAwLCAweDFmODBiLAorCTB4MWY4MTAsIDB4MWY4NDcsCisJ
MHgxZjg1MCwgMHgxZjg1OSwKKwkweDFmODYwLCAweDFmODg3LAorCTB4MWY4OTAsIDB4MWY4YWQs
CisJMHgxZjkxMCwgMHgxZjkxZSwKKwkweDFmOTIwLCAweDFmOTI3LAorCTB4MWY5MzAsIDB4MWY5
MzAsCisJMHgxZjkzMywgMHgxZjkzZSwKKwkweDFmOTQwLCAweDFmOTRiLAorCTB4MWY5NTAsIDB4
MWY5NWUsCisJMHgxZjk4MCwgMHgxZjk5MSwKKwkweDFmOWMwLCAweDFmOWMwLAorCTB4MWZmZmUs
IDB4MmE2ZDYsCisJMHgyYTcwMCwgMHgyYjczNCwKKwkweDJiNzQwLCAweDJiODFkLAorCTB4MmI4
MjAsIDB4MmNlYTEsCisJMHgyZjgwMCwgMHgyZmExZCwKKwkweDJmZmZlLCAweDJmZmZmLAorCTB4
M2ZmZmUsIDB4M2ZmZmYsCisJMHg0ZmZmZSwgMHg0ZmZmZiwKKwkweDVmZmZlLCAweDVmZmZmLAor
CTB4NmZmZmUsIDB4NmZmZmYsCisJMHg3ZmZmZSwgMHg3ZmZmZiwKKwkweDhmZmZlLCAweDhmZmZm
LAorCTB4OWZmZmUsIDB4OWZmZmYsCisJMHhhZmZmZSwgMHhhZmZmZiwKKwkweGJmZmZlLCAweGJm
ZmZmLAorCTB4Y2ZmZmUsIDB4Y2ZmZmYsCisJMHhkZmZmZSwgMHhkZmZmZiwKKwkweGUwMDAxLCAw
eGUwMDAxLAorCTB4ZTAwMjAsIDB4ZTAwN2YsCisJMHhlMDEwMCwgMHhlMDFlZiwKKwkweGVmZmZl
LCAweDEwZmZmZiwKK307IC8qIENSX0FnZV85XzAgKi8KKworLyogJ0FnZV8xMF8wJzogRGVyaXZl
ZCBBZ2UgMTAuMCAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfQWdlXzEwXzBbXSA9
IHsKKwk2NTksCisJMHgwMDAwLCAweDAzNzcsCisJMHgwMzdhLCAweDAzN2YsCisJMHgwMzg0LCAw
eDAzOGEsCisJMHgwMzhjLCAweDAzOGMsCisJMHgwMzhlLCAweDAzYTEsCisJMHgwM2EzLCAweDA1
MmYsCisJMHgwNTMxLCAweDA1NTYsCisJMHgwNTU5LCAweDA1NWYsCisJMHgwNTYxLCAweDA1ODcs
CisJMHgwNTg5LCAweDA1OGEsCisJMHgwNThkLCAweDA1OGYsCisJMHgwNTkxLCAweDA1YzcsCisJ
MHgwNWQwLCAweDA1ZWEsCisJMHgwNWYwLCAweDA1ZjQsCisJMHgwNjAwLCAweDA2MWMsCisJMHgw
NjFlLCAweDA3MGQsCisJMHgwNzBmLCAweDA3NGEsCisJMHgwNzRkLCAweDA3YjEsCisJMHgwN2Mw
LCAweDA3ZmEsCisJMHgwODAwLCAweDA4MmQsCisJMHgwODMwLCAweDA4M2UsCisJMHgwODQwLCAw
eDA4NWIsCisJMHgwODVlLCAweDA4NWUsCisJMHgwODYwLCAweDA4NmEsCisJMHgwOGEwLCAweDA4
YjQsCisJMHgwOGI2LCAweDA4YmQsCisJMHgwOGQ0LCAweDA5ODMsCisJMHgwOTg1LCAweDA5OGMs
CisJMHgwOThmLCAweDA5OTAsCisJMHgwOTkzLCAweDA5YTgsCisJMHgwOWFhLCAweDA5YjAsCisJ
MHgwOWIyLCAweDA5YjIsCisJMHgwOWI2LCAweDA5YjksCisJMHgwOWJjLCAweDA5YzQsCisJMHgw
OWM3LCAweDA5YzgsCisJMHgwOWNiLCAweDA5Y2UsCisJMHgwOWQ3LCAweDA5ZDcsCisJMHgwOWRj
LCAweDA5ZGQsCisJMHgwOWRmLCAweDA5ZTMsCisJMHgwOWU2LCAweDA5ZmQsCisJMHgwYTAxLCAw
eDBhMDMsCisJMHgwYTA1LCAweDBhMGEsCisJMHgwYTBmLCAweDBhMTAsCisJMHgwYTEzLCAweDBh
MjgsCisJMHgwYTJhLCAweDBhMzAsCisJMHgwYTMyLCAweDBhMzMsCisJMHgwYTM1LCAweDBhMzYs
CisJMHgwYTM4LCAweDBhMzksCisJMHgwYTNjLCAweDBhM2MsCisJMHgwYTNlLCAweDBhNDIsCisJ
MHgwYTQ3LCAweDBhNDgsCisJMHgwYTRiLCAweDBhNGQsCisJMHgwYTUxLCAweDBhNTEsCisJMHgw
YTU5LCAweDBhNWMsCisJMHgwYTVlLCAweDBhNWUsCisJMHgwYTY2LCAweDBhNzUsCisJMHgwYTgx
LCAweDBhODMsCisJMHgwYTg1LCAweDBhOGQsCisJMHgwYThmLCAweDBhOTEsCisJMHgwYTkzLCAw
eDBhYTgsCisJMHgwYWFhLCAweDBhYjAsCisJMHgwYWIyLCAweDBhYjMsCisJMHgwYWI1LCAweDBh
YjksCisJMHgwYWJjLCAweDBhYzUsCisJMHgwYWM3LCAweDBhYzksCisJMHgwYWNiLCAweDBhY2Qs
CisJMHgwYWQwLCAweDBhZDAsCisJMHgwYWUwLCAweDBhZTMsCisJMHgwYWU2LCAweDBhZjEsCisJ
MHgwYWY5LCAweDBhZmYsCisJMHgwYjAxLCAweDBiMDMsCisJMHgwYjA1LCAweDBiMGMsCisJMHgw
YjBmLCAweDBiMTAsCisJMHgwYjEzLCAweDBiMjgsCisJMHgwYjJhLCAweDBiMzAsCisJMHgwYjMy
LCAweDBiMzMsCisJMHgwYjM1LCAweDBiMzksCisJMHgwYjNjLCAweDBiNDQsCisJMHgwYjQ3LCAw
eDBiNDgsCisJMHgwYjRiLCAweDBiNGQsCisJMHgwYjU2LCAweDBiNTcsCisJMHgwYjVjLCAweDBi
NWQsCisJMHgwYjVmLCAweDBiNjMsCisJMHgwYjY2LCAweDBiNzcsCisJMHgwYjgyLCAweDBiODMs
CisJMHgwYjg1LCAweDBiOGEsCisJMHgwYjhlLCAweDBiOTAsCisJMHgwYjkyLCAweDBiOTUsCisJ
MHgwYjk5LCAweDBiOWEsCisJMHgwYjljLCAweDBiOWMsCisJMHgwYjllLCAweDBiOWYsCisJMHgw
YmEzLCAweDBiYTQsCisJMHgwYmE4LCAweDBiYWEsCisJMHgwYmFlLCAweDBiYjksCisJMHgwYmJl
LCAweDBiYzIsCisJMHgwYmM2LCAweDBiYzgsCisJMHgwYmNhLCAweDBiY2QsCisJMHgwYmQwLCAw
eDBiZDAsCisJMHgwYmQ3LCAweDBiZDcsCisJMHgwYmU2LCAweDBiZmEsCisJMHgwYzAwLCAweDBj
MDMsCisJMHgwYzA1LCAweDBjMGMsCisJMHgwYzBlLCAweDBjMTAsCisJMHgwYzEyLCAweDBjMjgs
CisJMHgwYzJhLCAweDBjMzksCisJMHgwYzNkLCAweDBjNDQsCisJMHgwYzQ2LCAweDBjNDgsCisJ
MHgwYzRhLCAweDBjNGQsCisJMHgwYzU1LCAweDBjNTYsCisJMHgwYzU4LCAweDBjNWEsCisJMHgw
YzYwLCAweDBjNjMsCisJMHgwYzY2LCAweDBjNmYsCisJMHgwYzc4LCAweDBjODMsCisJMHgwYzg1
LCAweDBjOGMsCisJMHgwYzhlLCAweDBjOTAsCisJMHgwYzkyLCAweDBjYTgsCisJMHgwY2FhLCAw
eDBjYjMsCisJMHgwY2I1LCAweDBjYjksCisJMHgwY2JjLCAweDBjYzQsCisJMHgwY2M2LCAweDBj
YzgsCisJMHgwY2NhLCAweDBjY2QsCisJMHgwY2Q1LCAweDBjZDYsCisJMHgwY2RlLCAweDBjZGUs
CisJMHgwY2UwLCAweDBjZTMsCisJMHgwY2U2LCAweDBjZWYsCisJMHgwY2YxLCAweDBjZjIsCisJ
MHgwZDAwLCAweDBkMDMsCisJMHgwZDA1LCAweDBkMGMsCisJMHgwZDBlLCAweDBkMTAsCisJMHgw
ZDEyLCAweDBkNDQsCisJMHgwZDQ2LCAweDBkNDgsCisJMHgwZDRhLCAweDBkNGYsCisJMHgwZDU0
LCAweDBkNjMsCisJMHgwZDY2LCAweDBkN2YsCisJMHgwZDgyLCAweDBkODMsCisJMHgwZDg1LCAw
eDBkOTYsCisJMHgwZDlhLCAweDBkYjEsCisJMHgwZGIzLCAweDBkYmIsCisJMHgwZGJkLCAweDBk
YmQsCisJMHgwZGMwLCAweDBkYzYsCisJMHgwZGNhLCAweDBkY2EsCisJMHgwZGNmLCAweDBkZDQs
CisJMHgwZGQ2LCAweDBkZDYsCisJMHgwZGQ4LCAweDBkZGYsCisJMHgwZGU2LCAweDBkZWYsCisJ
MHgwZGYyLCAweDBkZjQsCisJMHgwZTAxLCAweDBlM2EsCisJMHgwZTNmLCAweDBlNWIsCisJMHgw
ZTgxLCAweDBlODIsCisJMHgwZTg0LCAweDBlODQsCisJMHgwZTg3LCAweDBlODgsCisJMHgwZThh
LCAweDBlOGEsCisJMHgwZThkLCAweDBlOGQsCisJMHgwZTk0LCAweDBlOTcsCisJMHgwZTk5LCAw
eDBlOWYsCisJMHgwZWExLCAweDBlYTMsCisJMHgwZWE1LCAweDBlYTUsCisJMHgwZWE3LCAweDBl
YTcsCisJMHgwZWFhLCAweDBlYWIsCisJMHgwZWFkLCAweDBlYjksCisJMHgwZWJiLCAweDBlYmQs
CisJMHgwZWMwLCAweDBlYzQsCisJMHgwZWM2LCAweDBlYzYsCisJMHgwZWM4LCAweDBlY2QsCisJ
MHgwZWQwLCAweDBlZDksCisJMHgwZWRjLCAweDBlZGYsCisJMHgwZjAwLCAweDBmNDcsCisJMHgw
ZjQ5LCAweDBmNmMsCisJMHgwZjcxLCAweDBmOTcsCisJMHgwZjk5LCAweDBmYmMsCisJMHgwZmJl
LCAweDBmY2MsCisJMHgwZmNlLCAweDBmZGEsCisJMHgxMDAwLCAweDEwYzUsCisJMHgxMGM3LCAw
eDEwYzcsCisJMHgxMGNkLCAweDEwY2QsCisJMHgxMGQwLCAweDEyNDgsCisJMHgxMjRhLCAweDEy
NGQsCisJMHgxMjUwLCAweDEyNTYsCisJMHgxMjU4LCAweDEyNTgsCisJMHgxMjVhLCAweDEyNWQs
CisJMHgxMjYwLCAweDEyODgsCisJMHgxMjhhLCAweDEyOGQsCisJMHgxMjkwLCAweDEyYjAsCisJ
MHgxMmIyLCAweDEyYjUsCisJMHgxMmI4LCAweDEyYmUsCisJMHgxMmMwLCAweDEyYzAsCisJMHgx
MmMyLCAweDEyYzUsCisJMHgxMmM4LCAweDEyZDYsCisJMHgxMmQ4LCAweDEzMTAsCisJMHgxMzEy
LCAweDEzMTUsCisJMHgxMzE4LCAweDEzNWEsCisJMHgxMzVkLCAweDEzN2MsCisJMHgxMzgwLCAw
eDEzOTksCisJMHgxM2EwLCAweDEzZjUsCisJMHgxM2Y4LCAweDEzZmQsCisJMHgxNDAwLCAweDE2
OWMsCisJMHgxNmEwLCAweDE2ZjgsCisJMHgxNzAwLCAweDE3MGMsCisJMHgxNzBlLCAweDE3MTQs
CisJMHgxNzIwLCAweDE3MzYsCisJMHgxNzQwLCAweDE3NTMsCisJMHgxNzYwLCAweDE3NmMsCisJ
MHgxNzZlLCAweDE3NzAsCisJMHgxNzcyLCAweDE3NzMsCisJMHgxNzgwLCAweDE3ZGQsCisJMHgx
N2UwLCAweDE3ZTksCisJMHgxN2YwLCAweDE3ZjksCisJMHgxODAwLCAweDE4MGUsCisJMHgxODEw
LCAweDE4MTksCisJMHgxODIwLCAweDE4NzcsCisJMHgxODgwLCAweDE4YWEsCisJMHgxOGIwLCAw
eDE4ZjUsCisJMHgxOTAwLCAweDE5MWUsCisJMHgxOTIwLCAweDE5MmIsCisJMHgxOTMwLCAweDE5
M2IsCisJMHgxOTQwLCAweDE5NDAsCisJMHgxOTQ0LCAweDE5NmQsCisJMHgxOTcwLCAweDE5NzQs
CisJMHgxOTgwLCAweDE5YWIsCisJMHgxOWIwLCAweDE5YzksCisJMHgxOWQwLCAweDE5ZGEsCisJ
MHgxOWRlLCAweDFhMWIsCisJMHgxYTFlLCAweDFhNWUsCisJMHgxYTYwLCAweDFhN2MsCisJMHgx
YTdmLCAweDFhODksCisJMHgxYTkwLCAweDFhOTksCisJMHgxYWEwLCAweDFhYWQsCisJMHgxYWIw
LCAweDFhYmUsCisJMHgxYjAwLCAweDFiNGIsCisJMHgxYjUwLCAweDFiN2MsCisJMHgxYjgwLCAw
eDFiZjMsCisJMHgxYmZjLCAweDFjMzcsCisJMHgxYzNiLCAweDFjNDksCisJMHgxYzRkLCAweDFj
ODgsCisJMHgxY2MwLCAweDFjYzcsCisJMHgxY2QwLCAweDFjZjksCisJMHgxZDAwLCAweDFkZjks
CisJMHgxZGZiLCAweDFmMTUsCisJMHgxZjE4LCAweDFmMWQsCisJMHgxZjIwLCAweDFmNDUsCisJ
MHgxZjQ4LCAweDFmNGQsCisJMHgxZjUwLCAweDFmNTcsCisJMHgxZjU5LCAweDFmNTksCisJMHgx
ZjViLCAweDFmNWIsCisJMHgxZjVkLCAweDFmNWQsCisJMHgxZjVmLCAweDFmN2QsCisJMHgxZjgw
LCAweDFmYjQsCisJMHgxZmI2LCAweDFmYzQsCisJMHgxZmM2LCAweDFmZDMsCisJMHgxZmQ2LCAw
eDFmZGIsCisJMHgxZmRkLCAweDFmZWYsCisJMHgxZmYyLCAweDFmZjQsCisJMHgxZmY2LCAweDFm
ZmUsCisJMHgyMDAwLCAweDIwNjQsCisJMHgyMDY2LCAweDIwNzEsCisJMHgyMDc0LCAweDIwOGUs
CisJMHgyMDkwLCAweDIwOWMsCisJMHgyMGEwLCAweDIwYmYsCisJMHgyMGQwLCAweDIwZjAsCisJ
MHgyMTAwLCAweDIxOGIsCisJMHgyMTkwLCAweDI0MjYsCisJMHgyNDQwLCAweDI0NGEsCisJMHgy
NDYwLCAweDJiNzMsCisJMHgyYjc2LCAweDJiOTUsCisJMHgyYjk4LCAweDJiYjksCisJMHgyYmJk
LCAweDJiYzgsCisJMHgyYmNhLCAweDJiZDIsCisJMHgyYmVjLCAweDJiZWYsCisJMHgyYzAwLCAw
eDJjMmUsCisJMHgyYzMwLCAweDJjNWUsCisJMHgyYzYwLCAweDJjZjMsCisJMHgyY2Y5LCAweDJk
MjUsCisJMHgyZDI3LCAweDJkMjcsCisJMHgyZDJkLCAweDJkMmQsCisJMHgyZDMwLCAweDJkNjcs
CisJMHgyZDZmLCAweDJkNzAsCisJMHgyZDdmLCAweDJkOTYsCisJMHgyZGEwLCAweDJkYTYsCisJ
MHgyZGE4LCAweDJkYWUsCisJMHgyZGIwLCAweDJkYjYsCisJMHgyZGI4LCAweDJkYmUsCisJMHgy
ZGMwLCAweDJkYzYsCisJMHgyZGM4LCAweDJkY2UsCisJMHgyZGQwLCAweDJkZDYsCisJMHgyZGQ4
LCAweDJkZGUsCisJMHgyZGUwLCAweDJlNDksCisJMHgyZTgwLCAweDJlOTksCisJMHgyZTliLCAw
eDJlZjMsCisJMHgyZjAwLCAweDJmZDUsCisJMHgyZmYwLCAweDJmZmIsCisJMHgzMDAwLCAweDMw
M2YsCisJMHgzMDQxLCAweDMwOTYsCisJMHgzMDk5LCAweDMwZmYsCisJMHgzMTA1LCAweDMxMmUs
CisJMHgzMTMxLCAweDMxOGUsCisJMHgzMTkwLCAweDMxYmEsCisJMHgzMWMwLCAweDMxZTMsCisJ
MHgzMWYwLCAweDMyMWUsCisJMHgzMjIwLCAweDMyZmUsCisJMHgzMzAwLCAweDRkYjUsCisJMHg0
ZGMwLCAweDlmZWEsCisJMHhhMDAwLCAweGE0OGMsCisJMHhhNDkwLCAweGE0YzYsCisJMHhhNGQw
LCAweGE2MmIsCisJMHhhNjQwLCAweGE2ZjcsCisJMHhhNzAwLCAweGE3YWUsCisJMHhhN2IwLCAw
eGE3YjcsCisJMHhhN2Y3LCAweGE4MmIsCisJMHhhODMwLCAweGE4MzksCisJMHhhODQwLCAweGE4
NzcsCisJMHhhODgwLCAweGE4YzUsCisJMHhhOGNlLCAweGE4ZDksCisJMHhhOGUwLCAweGE4ZmQs
CisJMHhhOTAwLCAweGE5NTMsCisJMHhhOTVmLCAweGE5N2MsCisJMHhhOTgwLCAweGE5Y2QsCisJ
MHhhOWNmLCAweGE5ZDksCisJMHhhOWRlLCAweGE5ZmUsCisJMHhhYTAwLCAweGFhMzYsCisJMHhh
YTQwLCAweGFhNGQsCisJMHhhYTUwLCAweGFhNTksCisJMHhhYTVjLCAweGFhYzIsCisJMHhhYWRi
LCAweGFhZjYsCisJMHhhYjAxLCAweGFiMDYsCisJMHhhYjA5LCAweGFiMGUsCisJMHhhYjExLCAw
eGFiMTYsCisJMHhhYjIwLCAweGFiMjYsCisJMHhhYjI4LCAweGFiMmUsCisJMHhhYjMwLCAweGFi
NjUsCisJMHhhYjcwLCAweGFiZWQsCisJMHhhYmYwLCAweGFiZjksCisJMHhhYzAwLCAweGQ3YTMs
CisJMHhkN2IwLCAweGQ3YzYsCisJMHhkN2NiLCAweGQ3ZmIsCisJMHhkODAwLCAweGZhNmQsCisJ
MHhmYTcwLCAweGZhZDksCisJMHhmYjAwLCAweGZiMDYsCisJMHhmYjEzLCAweGZiMTcsCisJMHhm
YjFkLCAweGZiMzYsCisJMHhmYjM4LCAweGZiM2MsCisJMHhmYjNlLCAweGZiM2UsCisJMHhmYjQw
LCAweGZiNDEsCisJMHhmYjQzLCAweGZiNDQsCisJMHhmYjQ2LCAweGZiYzEsCisJMHhmYmQzLCAw
eGZkM2YsCisJMHhmZDUwLCAweGZkOGYsCisJMHhmZDkyLCAweGZkYzcsCisJMHhmZGQwLCAweGZk
ZmQsCisJMHhmZTAwLCAweGZlMTksCisJMHhmZTIwLCAweGZlNTIsCisJMHhmZTU0LCAweGZlNjYs
CisJMHhmZTY4LCAweGZlNmIsCisJMHhmZTcwLCAweGZlNzQsCisJMHhmZTc2LCAweGZlZmMsCisJ
MHhmZWZmLCAweGZlZmYsCisJMHhmZjAxLCAweGZmYmUsCisJMHhmZmMyLCAweGZmYzcsCisJMHhm
ZmNhLCAweGZmY2YsCisJMHhmZmQyLCAweGZmZDcsCisJMHhmZmRhLCAweGZmZGMsCisJMHhmZmUw
LCAweGZmZTYsCisJMHhmZmU4LCAweGZmZWUsCisJMHhmZmY5LCAweDEwMDBiLAorCTB4MTAwMGQs
IDB4MTAwMjYsCisJMHgxMDAyOCwgMHgxMDAzYSwKKwkweDEwMDNjLCAweDEwMDNkLAorCTB4MTAw
M2YsIDB4MTAwNGQsCisJMHgxMDA1MCwgMHgxMDA1ZCwKKwkweDEwMDgwLCAweDEwMGZhLAorCTB4
MTAxMDAsIDB4MTAxMDIsCisJMHgxMDEwNywgMHgxMDEzMywKKwkweDEwMTM3LCAweDEwMThlLAor
CTB4MTAxOTAsIDB4MTAxOWIsCisJMHgxMDFhMCwgMHgxMDFhMCwKKwkweDEwMWQwLCAweDEwMWZk
LAorCTB4MTAyODAsIDB4MTAyOWMsCisJMHgxMDJhMCwgMHgxMDJkMCwKKwkweDEwMmUwLCAweDEw
MmZiLAorCTB4MTAzMDAsIDB4MTAzMjMsCisJMHgxMDMyZCwgMHgxMDM0YSwKKwkweDEwMzUwLCAw
eDEwMzdhLAorCTB4MTAzODAsIDB4MTAzOWQsCisJMHgxMDM5ZiwgMHgxMDNjMywKKwkweDEwM2M4
LCAweDEwM2Q1LAorCTB4MTA0MDAsIDB4MTA0OWQsCisJMHgxMDRhMCwgMHgxMDRhOSwKKwkweDEw
NGIwLCAweDEwNGQzLAorCTB4MTA0ZDgsIDB4MTA0ZmIsCisJMHgxMDUwMCwgMHgxMDUyNywKKwkw
eDEwNTMwLCAweDEwNTYzLAorCTB4MTA1NmYsIDB4MTA1NmYsCisJMHgxMDYwMCwgMHgxMDczNiwK
KwkweDEwNzQwLCAweDEwNzU1LAorCTB4MTA3NjAsIDB4MTA3NjcsCisJMHgxMDgwMCwgMHgxMDgw
NSwKKwkweDEwODA4LCAweDEwODA4LAorCTB4MTA4MGEsIDB4MTA4MzUsCisJMHgxMDgzNywgMHgx
MDgzOCwKKwkweDEwODNjLCAweDEwODNjLAorCTB4MTA4M2YsIDB4MTA4NTUsCisJMHgxMDg1Nywg
MHgxMDg5ZSwKKwkweDEwOGE3LCAweDEwOGFmLAorCTB4MTA4ZTAsIDB4MTA4ZjIsCisJMHgxMDhm
NCwgMHgxMDhmNSwKKwkweDEwOGZiLCAweDEwOTFiLAorCTB4MTA5MWYsIDB4MTA5MzksCisJMHgx
MDkzZiwgMHgxMDkzZiwKKwkweDEwOTgwLCAweDEwOWI3LAorCTB4MTA5YmMsIDB4MTA5Y2YsCisJ
MHgxMDlkMiwgMHgxMGEwMywKKwkweDEwYTA1LCAweDEwYTA2LAorCTB4MTBhMGMsIDB4MTBhMTMs
CisJMHgxMGExNSwgMHgxMGExNywKKwkweDEwYTE5LCAweDEwYTMzLAorCTB4MTBhMzgsIDB4MTBh
M2EsCisJMHgxMGEzZiwgMHgxMGE0NywKKwkweDEwYTUwLCAweDEwYTU4LAorCTB4MTBhNjAsIDB4
MTBhOWYsCisJMHgxMGFjMCwgMHgxMGFlNiwKKwkweDEwYWViLCAweDEwYWY2LAorCTB4MTBiMDAs
IDB4MTBiMzUsCisJMHgxMGIzOSwgMHgxMGI1NSwKKwkweDEwYjU4LCAweDEwYjcyLAorCTB4MTBi
NzgsIDB4MTBiOTEsCisJMHgxMGI5OSwgMHgxMGI5YywKKwkweDEwYmE5LCAweDEwYmFmLAorCTB4
MTBjMDAsIDB4MTBjNDgsCisJMHgxMGM4MCwgMHgxMGNiMiwKKwkweDEwY2MwLCAweDEwY2YyLAor
CTB4MTBjZmEsIDB4MTBjZmYsCisJMHgxMGU2MCwgMHgxMGU3ZSwKKwkweDExMDAwLCAweDExMDRk
LAorCTB4MTEwNTIsIDB4MTEwNmYsCisJMHgxMTA3ZiwgMHgxMTBjMSwKKwkweDExMGQwLCAweDEx
MGU4LAorCTB4MTEwZjAsIDB4MTEwZjksCisJMHgxMTEwMCwgMHgxMTEzNCwKKwkweDExMTM2LCAw
eDExMTQzLAorCTB4MTExNTAsIDB4MTExNzYsCisJMHgxMTE4MCwgMHgxMTFjZCwKKwkweDExMWQw
LCAweDExMWRmLAorCTB4MTExZTEsIDB4MTExZjQsCisJMHgxMTIwMCwgMHgxMTIxMSwKKwkweDEx
MjEzLCAweDExMjNlLAorCTB4MTEyODAsIDB4MTEyODYsCisJMHgxMTI4OCwgMHgxMTI4OCwKKwkw
eDExMjhhLCAweDExMjhkLAorCTB4MTEyOGYsIDB4MTEyOWQsCisJMHgxMTI5ZiwgMHgxMTJhOSwK
KwkweDExMmIwLCAweDExMmVhLAorCTB4MTEyZjAsIDB4MTEyZjksCisJMHgxMTMwMCwgMHgxMTMw
MywKKwkweDExMzA1LCAweDExMzBjLAorCTB4MTEzMGYsIDB4MTEzMTAsCisJMHgxMTMxMywgMHgx
MTMyOCwKKwkweDExMzJhLCAweDExMzMwLAorCTB4MTEzMzIsIDB4MTEzMzMsCisJMHgxMTMzNSwg
MHgxMTMzOSwKKwkweDExMzNjLCAweDExMzQ0LAorCTB4MTEzNDcsIDB4MTEzNDgsCisJMHgxMTM0
YiwgMHgxMTM0ZCwKKwkweDExMzUwLCAweDExMzUwLAorCTB4MTEzNTcsIDB4MTEzNTcsCisJMHgx
MTM1ZCwgMHgxMTM2MywKKwkweDExMzY2LCAweDExMzZjLAorCTB4MTEzNzAsIDB4MTEzNzQsCisJ
MHgxMTQwMCwgMHgxMTQ1OSwKKwkweDExNDViLCAweDExNDViLAorCTB4MTE0NWQsIDB4MTE0NWQs
CisJMHgxMTQ4MCwgMHgxMTRjNywKKwkweDExNGQwLCAweDExNGQ5LAorCTB4MTE1ODAsIDB4MTE1
YjUsCisJMHgxMTViOCwgMHgxMTVkZCwKKwkweDExNjAwLCAweDExNjQ0LAorCTB4MTE2NTAsIDB4
MTE2NTksCisJMHgxMTY2MCwgMHgxMTY2YywKKwkweDExNjgwLCAweDExNmI3LAorCTB4MTE2YzAs
IDB4MTE2YzksCisJMHgxMTcwMCwgMHgxMTcxOSwKKwkweDExNzFkLCAweDExNzJiLAorCTB4MTE3
MzAsIDB4MTE3M2YsCisJMHgxMThhMCwgMHgxMThmMiwKKwkweDExOGZmLCAweDExOGZmLAorCTB4
MTFhMDAsIDB4MTFhNDcsCisJMHgxMWE1MCwgMHgxMWE4MywKKwkweDExYTg2LCAweDExYTljLAor
CTB4MTFhOWUsIDB4MTFhYTIsCisJMHgxMWFjMCwgMHgxMWFmOCwKKwkweDExYzAwLCAweDExYzA4
LAorCTB4MTFjMGEsIDB4MTFjMzYsCisJMHgxMWMzOCwgMHgxMWM0NSwKKwkweDExYzUwLCAweDEx
YzZjLAorCTB4MTFjNzAsIDB4MTFjOGYsCisJMHgxMWM5MiwgMHgxMWNhNywKKwkweDExY2E5LCAw
eDExY2I2LAorCTB4MTFkMDAsIDB4MTFkMDYsCisJMHgxMWQwOCwgMHgxMWQwOSwKKwkweDExZDBi
LCAweDExZDM2LAorCTB4MTFkM2EsIDB4MTFkM2EsCisJMHgxMWQzYywgMHgxMWQzZCwKKwkweDEx
ZDNmLCAweDExZDQ3LAorCTB4MTFkNTAsIDB4MTFkNTksCisJMHgxMjAwMCwgMHgxMjM5OSwKKwkw
eDEyNDAwLCAweDEyNDZlLAorCTB4MTI0NzAsIDB4MTI0NzQsCisJMHgxMjQ4MCwgMHgxMjU0MywK
KwkweDEzMDAwLCAweDEzNDJlLAorCTB4MTQ0MDAsIDB4MTQ2NDYsCisJMHgxNjgwMCwgMHgxNmEz
OCwKKwkweDE2YTQwLCAweDE2YTVlLAorCTB4MTZhNjAsIDB4MTZhNjksCisJMHgxNmE2ZSwgMHgx
NmE2ZiwKKwkweDE2YWQwLCAweDE2YWVkLAorCTB4MTZhZjAsIDB4MTZhZjUsCisJMHgxNmIwMCwg
MHgxNmI0NSwKKwkweDE2YjUwLCAweDE2YjU5LAorCTB4MTZiNWIsIDB4MTZiNjEsCisJMHgxNmI2
MywgMHgxNmI3NywKKwkweDE2YjdkLCAweDE2YjhmLAorCTB4MTZmMDAsIDB4MTZmNDQsCisJMHgx
NmY1MCwgMHgxNmY3ZSwKKwkweDE2ZjhmLCAweDE2ZjlmLAorCTB4MTZmZTAsIDB4MTZmZTEsCisJ
MHgxNzAwMCwgMHgxODdlYywKKwkweDE4ODAwLCAweDE4YWYyLAorCTB4MWIwMDAsIDB4MWIxMWUs
CisJMHgxYjE3MCwgMHgxYjJmYiwKKwkweDFiYzAwLCAweDFiYzZhLAorCTB4MWJjNzAsIDB4MWJj
N2MsCisJMHgxYmM4MCwgMHgxYmM4OCwKKwkweDFiYzkwLCAweDFiYzk5LAorCTB4MWJjOWMsIDB4
MWJjYTMsCisJMHgxZDAwMCwgMHgxZDBmNSwKKwkweDFkMTAwLCAweDFkMTI2LAorCTB4MWQxMjks
IDB4MWQxZTgsCisJMHgxZDIwMCwgMHgxZDI0NSwKKwkweDFkMzAwLCAweDFkMzU2LAorCTB4MWQz
NjAsIDB4MWQzNzEsCisJMHgxZDQwMCwgMHgxZDQ1NCwKKwkweDFkNDU2LCAweDFkNDljLAorCTB4
MWQ0OWUsIDB4MWQ0OWYsCisJMHgxZDRhMiwgMHgxZDRhMiwKKwkweDFkNGE1LCAweDFkNGE2LAor
CTB4MWQ0YTksIDB4MWQ0YWMsCisJMHgxZDRhZSwgMHgxZDRiOSwKKwkweDFkNGJiLCAweDFkNGJi
LAorCTB4MWQ0YmQsIDB4MWQ0YzMsCisJMHgxZDRjNSwgMHgxZDUwNSwKKwkweDFkNTA3LCAweDFk
NTBhLAorCTB4MWQ1MGQsIDB4MWQ1MTQsCisJMHgxZDUxNiwgMHgxZDUxYywKKwkweDFkNTFlLCAw
eDFkNTM5LAorCTB4MWQ1M2IsIDB4MWQ1M2UsCisJMHgxZDU0MCwgMHgxZDU0NCwKKwkweDFkNTQ2
LCAweDFkNTQ2LAorCTB4MWQ1NGEsIDB4MWQ1NTAsCisJMHgxZDU1MiwgMHgxZDZhNSwKKwkweDFk
NmE4LCAweDFkN2NiLAorCTB4MWQ3Y2UsIDB4MWRhOGIsCisJMHgxZGE5YiwgMHgxZGE5ZiwKKwkw
eDFkYWExLCAweDFkYWFmLAorCTB4MWUwMDAsIDB4MWUwMDYsCisJMHgxZTAwOCwgMHgxZTAxOCwK
KwkweDFlMDFiLCAweDFlMDIxLAorCTB4MWUwMjMsIDB4MWUwMjQsCisJMHgxZTAyNiwgMHgxZTAy
YSwKKwkweDFlODAwLCAweDFlOGM0LAorCTB4MWU4YzcsIDB4MWU4ZDYsCisJMHgxZTkwMCwgMHgx
ZTk0YSwKKwkweDFlOTUwLCAweDFlOTU5LAorCTB4MWU5NWUsIDB4MWU5NWYsCisJMHgxZWUwMCwg
MHgxZWUwMywKKwkweDFlZTA1LCAweDFlZTFmLAorCTB4MWVlMjEsIDB4MWVlMjIsCisJMHgxZWUy
NCwgMHgxZWUyNCwKKwkweDFlZTI3LCAweDFlZTI3LAorCTB4MWVlMjksIDB4MWVlMzIsCisJMHgx
ZWUzNCwgMHgxZWUzNywKKwkweDFlZTM5LCAweDFlZTM5LAorCTB4MWVlM2IsIDB4MWVlM2IsCisJ
MHgxZWU0MiwgMHgxZWU0MiwKKwkweDFlZTQ3LCAweDFlZTQ3LAorCTB4MWVlNDksIDB4MWVlNDks
CisJMHgxZWU0YiwgMHgxZWU0YiwKKwkweDFlZTRkLCAweDFlZTRmLAorCTB4MWVlNTEsIDB4MWVl
NTIsCisJMHgxZWU1NCwgMHgxZWU1NCwKKwkweDFlZTU3LCAweDFlZTU3LAorCTB4MWVlNTksIDB4
MWVlNTksCisJMHgxZWU1YiwgMHgxZWU1YiwKKwkweDFlZTVkLCAweDFlZTVkLAorCTB4MWVlNWYs
IDB4MWVlNWYsCisJMHgxZWU2MSwgMHgxZWU2MiwKKwkweDFlZTY0LCAweDFlZTY0LAorCTB4MWVl
NjcsIDB4MWVlNmEsCisJMHgxZWU2YywgMHgxZWU3MiwKKwkweDFlZTc0LCAweDFlZTc3LAorCTB4
MWVlNzksIDB4MWVlN2MsCisJMHgxZWU3ZSwgMHgxZWU3ZSwKKwkweDFlZTgwLCAweDFlZTg5LAor
CTB4MWVlOGIsIDB4MWVlOWIsCisJMHgxZWVhMSwgMHgxZWVhMywKKwkweDFlZWE1LCAweDFlZWE5
LAorCTB4MWVlYWIsIDB4MWVlYmIsCisJMHgxZWVmMCwgMHgxZWVmMSwKKwkweDFmMDAwLCAweDFm
MDJiLAorCTB4MWYwMzAsIDB4MWYwOTMsCisJMHgxZjBhMCwgMHgxZjBhZSwKKwkweDFmMGIxLCAw
eDFmMGJmLAorCTB4MWYwYzEsIDB4MWYwY2YsCisJMHgxZjBkMSwgMHgxZjBmNSwKKwkweDFmMTAw
LCAweDFmMTBjLAorCTB4MWYxMTAsIDB4MWYxMmUsCisJMHgxZjEzMCwgMHgxZjE2YiwKKwkweDFm
MTcwLCAweDFmMWFjLAorCTB4MWYxZTYsIDB4MWYyMDIsCisJMHgxZjIxMCwgMHgxZjIzYiwKKwkw
eDFmMjQwLCAweDFmMjQ4LAorCTB4MWYyNTAsIDB4MWYyNTEsCisJMHgxZjI2MCwgMHgxZjI2NSwK
KwkweDFmMzAwLCAweDFmNmQ0LAorCTB4MWY2ZTAsIDB4MWY2ZWMsCisJMHgxZjZmMCwgMHgxZjZm
OCwKKwkweDFmNzAwLCAweDFmNzczLAorCTB4MWY3ODAsIDB4MWY3ZDQsCisJMHgxZjgwMCwgMHgx
ZjgwYiwKKwkweDFmODEwLCAweDFmODQ3LAorCTB4MWY4NTAsIDB4MWY4NTksCisJMHgxZjg2MCwg
MHgxZjg4NywKKwkweDFmODkwLCAweDFmOGFkLAorCTB4MWY5MDAsIDB4MWY5MGIsCisJMHgxZjkx
MCwgMHgxZjkzZSwKKwkweDFmOTQwLCAweDFmOTRjLAorCTB4MWY5NTAsIDB4MWY5NmIsCisJMHgx
Zjk4MCwgMHgxZjk5NywKKwkweDFmOWMwLCAweDFmOWMwLAorCTB4MWY5ZDAsIDB4MWY5ZTYsCisJ
MHgxZmZmZSwgMHgyYTZkNiwKKwkweDJhNzAwLCAweDJiNzM0LAorCTB4MmI3NDAsIDB4MmI4MWQs
CisJMHgyYjgyMCwgMHgyY2VhMSwKKwkweDJjZWIwLCAweDJlYmUwLAorCTB4MmY4MDAsIDB4MmZh
MWQsCisJMHgyZmZmZSwgMHgyZmZmZiwKKwkweDNmZmZlLCAweDNmZmZmLAorCTB4NGZmZmUsIDB4
NGZmZmYsCisJMHg1ZmZmZSwgMHg1ZmZmZiwKKwkweDZmZmZlLCAweDZmZmZmLAorCTB4N2ZmZmUs
IDB4N2ZmZmYsCisJMHg4ZmZmZSwgMHg4ZmZmZiwKKwkweDlmZmZlLCAweDlmZmZmLAorCTB4YWZm
ZmUsIDB4YWZmZmYsCisJMHhiZmZmZSwgMHhiZmZmZiwKKwkweGNmZmZlLCAweGNmZmZmLAorCTB4
ZGZmZmUsIDB4ZGZmZmYsCisJMHhlMDAwMSwgMHhlMDAwMSwKKwkweGUwMDIwLCAweGUwMDdmLAor
CTB4ZTAxMDAsIDB4ZTAxZWYsCisJMHhlZmZmZSwgMHgxMGZmZmYsCit9OyAvKiBDUl9BZ2VfMTBf
MCAqLworCisvKiAnQWdlXzExXzAnOiBEZXJpdmVkIEFnZSAxMS4wICovCitzdGF0aWMgY29uc3Qg
T25pZ0NvZGVQb2ludCBDUl9BZ2VfMTFfMFtdID0geworCTY2OCwKKwkweDAwMDAsIDB4MDM3NywK
KwkweDAzN2EsIDB4MDM3ZiwKKwkweDAzODQsIDB4MDM4YSwKKwkweDAzOGMsIDB4MDM4YywKKwkw
eDAzOGUsIDB4MDNhMSwKKwkweDAzYTMsIDB4MDUyZiwKKwkweDA1MzEsIDB4MDU1NiwKKwkweDA1
NTksIDB4MDU4YSwKKwkweDA1OGQsIDB4MDU4ZiwKKwkweDA1OTEsIDB4MDVjNywKKwkweDA1ZDAs
IDB4MDVlYSwKKwkweDA1ZWYsIDB4MDVmNCwKKwkweDA2MDAsIDB4MDYxYywKKwkweDA2MWUsIDB4
MDcwZCwKKwkweDA3MGYsIDB4MDc0YSwKKwkweDA3NGQsIDB4MDdiMSwKKwkweDA3YzAsIDB4MDdm
YSwKKwkweDA3ZmQsIDB4MDgyZCwKKwkweDA4MzAsIDB4MDgzZSwKKwkweDA4NDAsIDB4MDg1YiwK
KwkweDA4NWUsIDB4MDg1ZSwKKwkweDA4NjAsIDB4MDg2YSwKKwkweDA4YTAsIDB4MDhiNCwKKwkw
eDA4YjYsIDB4MDhiZCwKKwkweDA4ZDMsIDB4MDk4MywKKwkweDA5ODUsIDB4MDk4YywKKwkweDA5
OGYsIDB4MDk5MCwKKwkweDA5OTMsIDB4MDlhOCwKKwkweDA5YWEsIDB4MDliMCwKKwkweDA5YjIs
IDB4MDliMiwKKwkweDA5YjYsIDB4MDliOSwKKwkweDA5YmMsIDB4MDljNCwKKwkweDA5YzcsIDB4
MDljOCwKKwkweDA5Y2IsIDB4MDljZSwKKwkweDA5ZDcsIDB4MDlkNywKKwkweDA5ZGMsIDB4MDlk
ZCwKKwkweDA5ZGYsIDB4MDllMywKKwkweDA5ZTYsIDB4MDlmZSwKKwkweDBhMDEsIDB4MGEwMywK
KwkweDBhMDUsIDB4MGEwYSwKKwkweDBhMGYsIDB4MGExMCwKKwkweDBhMTMsIDB4MGEyOCwKKwkw
eDBhMmEsIDB4MGEzMCwKKwkweDBhMzIsIDB4MGEzMywKKwkweDBhMzUsIDB4MGEzNiwKKwkweDBh
MzgsIDB4MGEzOSwKKwkweDBhM2MsIDB4MGEzYywKKwkweDBhM2UsIDB4MGE0MiwKKwkweDBhNDcs
IDB4MGE0OCwKKwkweDBhNGIsIDB4MGE0ZCwKKwkweDBhNTEsIDB4MGE1MSwKKwkweDBhNTksIDB4
MGE1YywKKwkweDBhNWUsIDB4MGE1ZSwKKwkweDBhNjYsIDB4MGE3NiwKKwkweDBhODEsIDB4MGE4
MywKKwkweDBhODUsIDB4MGE4ZCwKKwkweDBhOGYsIDB4MGE5MSwKKwkweDBhOTMsIDB4MGFhOCwK
KwkweDBhYWEsIDB4MGFiMCwKKwkweDBhYjIsIDB4MGFiMywKKwkweDBhYjUsIDB4MGFiOSwKKwkw
eDBhYmMsIDB4MGFjNSwKKwkweDBhYzcsIDB4MGFjOSwKKwkweDBhY2IsIDB4MGFjZCwKKwkweDBh
ZDAsIDB4MGFkMCwKKwkweDBhZTAsIDB4MGFlMywKKwkweDBhZTYsIDB4MGFmMSwKKwkweDBhZjks
IDB4MGFmZiwKKwkweDBiMDEsIDB4MGIwMywKKwkweDBiMDUsIDB4MGIwYywKKwkweDBiMGYsIDB4
MGIxMCwKKwkweDBiMTMsIDB4MGIyOCwKKwkweDBiMmEsIDB4MGIzMCwKKwkweDBiMzIsIDB4MGIz
MywKKwkweDBiMzUsIDB4MGIzOSwKKwkweDBiM2MsIDB4MGI0NCwKKwkweDBiNDcsIDB4MGI0OCwK
KwkweDBiNGIsIDB4MGI0ZCwKKwkweDBiNTYsIDB4MGI1NywKKwkweDBiNWMsIDB4MGI1ZCwKKwkw
eDBiNWYsIDB4MGI2MywKKwkweDBiNjYsIDB4MGI3NywKKwkweDBiODIsIDB4MGI4MywKKwkweDBi
ODUsIDB4MGI4YSwKKwkweDBiOGUsIDB4MGI5MCwKKwkweDBiOTIsIDB4MGI5NSwKKwkweDBiOTks
IDB4MGI5YSwKKwkweDBiOWMsIDB4MGI5YywKKwkweDBiOWUsIDB4MGI5ZiwKKwkweDBiYTMsIDB4
MGJhNCwKKwkweDBiYTgsIDB4MGJhYSwKKwkweDBiYWUsIDB4MGJiOSwKKwkweDBiYmUsIDB4MGJj
MiwKKwkweDBiYzYsIDB4MGJjOCwKKwkweDBiY2EsIDB4MGJjZCwKKwkweDBiZDAsIDB4MGJkMCwK
KwkweDBiZDcsIDB4MGJkNywKKwkweDBiZTYsIDB4MGJmYSwKKwkweDBjMDAsIDB4MGMwYywKKwkw
eDBjMGUsIDB4MGMxMCwKKwkweDBjMTIsIDB4MGMyOCwKKwkweDBjMmEsIDB4MGMzOSwKKwkweDBj
M2QsIDB4MGM0NCwKKwkweDBjNDYsIDB4MGM0OCwKKwkweDBjNGEsIDB4MGM0ZCwKKwkweDBjNTUs
IDB4MGM1NiwKKwkweDBjNTgsIDB4MGM1YSwKKwkweDBjNjAsIDB4MGM2MywKKwkweDBjNjYsIDB4
MGM2ZiwKKwkweDBjNzgsIDB4MGM4YywKKwkweDBjOGUsIDB4MGM5MCwKKwkweDBjOTIsIDB4MGNh
OCwKKwkweDBjYWEsIDB4MGNiMywKKwkweDBjYjUsIDB4MGNiOSwKKwkweDBjYmMsIDB4MGNjNCwK
KwkweDBjYzYsIDB4MGNjOCwKKwkweDBjY2EsIDB4MGNjZCwKKwkweDBjZDUsIDB4MGNkNiwKKwkw
eDBjZGUsIDB4MGNkZSwKKwkweDBjZTAsIDB4MGNlMywKKwkweDBjZTYsIDB4MGNlZiwKKwkweDBj
ZjEsIDB4MGNmMiwKKwkweDBkMDAsIDB4MGQwMywKKwkweDBkMDUsIDB4MGQwYywKKwkweDBkMGUs
IDB4MGQxMCwKKwkweDBkMTIsIDB4MGQ0NCwKKwkweDBkNDYsIDB4MGQ0OCwKKwkweDBkNGEsIDB4
MGQ0ZiwKKwkweDBkNTQsIDB4MGQ2MywKKwkweDBkNjYsIDB4MGQ3ZiwKKwkweDBkODIsIDB4MGQ4
MywKKwkweDBkODUsIDB4MGQ5NiwKKwkweDBkOWEsIDB4MGRiMSwKKwkweDBkYjMsIDB4MGRiYiwK
KwkweDBkYmQsIDB4MGRiZCwKKwkweDBkYzAsIDB4MGRjNiwKKwkweDBkY2EsIDB4MGRjYSwKKwkw
eDBkY2YsIDB4MGRkNCwKKwkweDBkZDYsIDB4MGRkNiwKKwkweDBkZDgsIDB4MGRkZiwKKwkweDBk
ZTYsIDB4MGRlZiwKKwkweDBkZjIsIDB4MGRmNCwKKwkweDBlMDEsIDB4MGUzYSwKKwkweDBlM2Ys
IDB4MGU1YiwKKwkweDBlODEsIDB4MGU4MiwKKwkweDBlODQsIDB4MGU4NCwKKwkweDBlODcsIDB4
MGU4OCwKKwkweDBlOGEsIDB4MGU4YSwKKwkweDBlOGQsIDB4MGU4ZCwKKwkweDBlOTQsIDB4MGU5
NywKKwkweDBlOTksIDB4MGU5ZiwKKwkweDBlYTEsIDB4MGVhMywKKwkweDBlYTUsIDB4MGVhNSwK
KwkweDBlYTcsIDB4MGVhNywKKwkweDBlYWEsIDB4MGVhYiwKKwkweDBlYWQsIDB4MGViOSwKKwkw
eDBlYmIsIDB4MGViZCwKKwkweDBlYzAsIDB4MGVjNCwKKwkweDBlYzYsIDB4MGVjNiwKKwkweDBl
YzgsIDB4MGVjZCwKKwkweDBlZDAsIDB4MGVkOSwKKwkweDBlZGMsIDB4MGVkZiwKKwkweDBmMDAs
IDB4MGY0NywKKwkweDBmNDksIDB4MGY2YywKKwkweDBmNzEsIDB4MGY5NywKKwkweDBmOTksIDB4
MGZiYywKKwkweDBmYmUsIDB4MGZjYywKKwkweDBmY2UsIDB4MGZkYSwKKwkweDEwMDAsIDB4MTBj
NSwKKwkweDEwYzcsIDB4MTBjNywKKwkweDEwY2QsIDB4MTBjZCwKKwkweDEwZDAsIDB4MTI0OCwK
KwkweDEyNGEsIDB4MTI0ZCwKKwkweDEyNTAsIDB4MTI1NiwKKwkweDEyNTgsIDB4MTI1OCwKKwkw
eDEyNWEsIDB4MTI1ZCwKKwkweDEyNjAsIDB4MTI4OCwKKwkweDEyOGEsIDB4MTI4ZCwKKwkweDEy
OTAsIDB4MTJiMCwKKwkweDEyYjIsIDB4MTJiNSwKKwkweDEyYjgsIDB4MTJiZSwKKwkweDEyYzAs
IDB4MTJjMCwKKwkweDEyYzIsIDB4MTJjNSwKKwkweDEyYzgsIDB4MTJkNiwKKwkweDEyZDgsIDB4
MTMxMCwKKwkweDEzMTIsIDB4MTMxNSwKKwkweDEzMTgsIDB4MTM1YSwKKwkweDEzNWQsIDB4MTM3
YywKKwkweDEzODAsIDB4MTM5OSwKKwkweDEzYTAsIDB4MTNmNSwKKwkweDEzZjgsIDB4MTNmZCwK
KwkweDE0MDAsIDB4MTY5YywKKwkweDE2YTAsIDB4MTZmOCwKKwkweDE3MDAsIDB4MTcwYywKKwkw
eDE3MGUsIDB4MTcxNCwKKwkweDE3MjAsIDB4MTczNiwKKwkweDE3NDAsIDB4MTc1MywKKwkweDE3
NjAsIDB4MTc2YywKKwkweDE3NmUsIDB4MTc3MCwKKwkweDE3NzIsIDB4MTc3MywKKwkweDE3ODAs
IDB4MTdkZCwKKwkweDE3ZTAsIDB4MTdlOSwKKwkweDE3ZjAsIDB4MTdmOSwKKwkweDE4MDAsIDB4
MTgwZSwKKwkweDE4MTAsIDB4MTgxOSwKKwkweDE4MjAsIDB4MTg3OCwKKwkweDE4ODAsIDB4MThh
YSwKKwkweDE4YjAsIDB4MThmNSwKKwkweDE5MDAsIDB4MTkxZSwKKwkweDE5MjAsIDB4MTkyYiwK
KwkweDE5MzAsIDB4MTkzYiwKKwkweDE5NDAsIDB4MTk0MCwKKwkweDE5NDQsIDB4MTk2ZCwKKwkw
eDE5NzAsIDB4MTk3NCwKKwkweDE5ODAsIDB4MTlhYiwKKwkweDE5YjAsIDB4MTljOSwKKwkweDE5
ZDAsIDB4MTlkYSwKKwkweDE5ZGUsIDB4MWExYiwKKwkweDFhMWUsIDB4MWE1ZSwKKwkweDFhNjAs
IDB4MWE3YywKKwkweDFhN2YsIDB4MWE4OSwKKwkweDFhOTAsIDB4MWE5OSwKKwkweDFhYTAsIDB4
MWFhZCwKKwkweDFhYjAsIDB4MWFiZSwKKwkweDFiMDAsIDB4MWI0YiwKKwkweDFiNTAsIDB4MWI3
YywKKwkweDFiODAsIDB4MWJmMywKKwkweDFiZmMsIDB4MWMzNywKKwkweDFjM2IsIDB4MWM0OSwK
KwkweDFjNGQsIDB4MWM4OCwKKwkweDFjOTAsIDB4MWNiYSwKKwkweDFjYmQsIDB4MWNjNywKKwkw
eDFjZDAsIDB4MWNmOSwKKwkweDFkMDAsIDB4MWRmOSwKKwkweDFkZmIsIDB4MWYxNSwKKwkweDFm
MTgsIDB4MWYxZCwKKwkweDFmMjAsIDB4MWY0NSwKKwkweDFmNDgsIDB4MWY0ZCwKKwkweDFmNTAs
IDB4MWY1NywKKwkweDFmNTksIDB4MWY1OSwKKwkweDFmNWIsIDB4MWY1YiwKKwkweDFmNWQsIDB4
MWY1ZCwKKwkweDFmNWYsIDB4MWY3ZCwKKwkweDFmODAsIDB4MWZiNCwKKwkweDFmYjYsIDB4MWZj
NCwKKwkweDFmYzYsIDB4MWZkMywKKwkweDFmZDYsIDB4MWZkYiwKKwkweDFmZGQsIDB4MWZlZiwK
KwkweDFmZjIsIDB4MWZmNCwKKwkweDFmZjYsIDB4MWZmZSwKKwkweDIwMDAsIDB4MjA2NCwKKwkw
eDIwNjYsIDB4MjA3MSwKKwkweDIwNzQsIDB4MjA4ZSwKKwkweDIwOTAsIDB4MjA5YywKKwkweDIw
YTAsIDB4MjBiZiwKKwkweDIwZDAsIDB4MjBmMCwKKwkweDIxMDAsIDB4MjE4YiwKKwkweDIxOTAs
IDB4MjQyNiwKKwkweDI0NDAsIDB4MjQ0YSwKKwkweDI0NjAsIDB4MmI3MywKKwkweDJiNzYsIDB4
MmI5NSwKKwkweDJiOTgsIDB4MmJjOCwKKwkweDJiY2EsIDB4MmJmZSwKKwkweDJjMDAsIDB4MmMy
ZSwKKwkweDJjMzAsIDB4MmM1ZSwKKwkweDJjNjAsIDB4MmNmMywKKwkweDJjZjksIDB4MmQyNSwK
KwkweDJkMjcsIDB4MmQyNywKKwkweDJkMmQsIDB4MmQyZCwKKwkweDJkMzAsIDB4MmQ2NywKKwkw
eDJkNmYsIDB4MmQ3MCwKKwkweDJkN2YsIDB4MmQ5NiwKKwkweDJkYTAsIDB4MmRhNiwKKwkweDJk
YTgsIDB4MmRhZSwKKwkweDJkYjAsIDB4MmRiNiwKKwkweDJkYjgsIDB4MmRiZSwKKwkweDJkYzAs
IDB4MmRjNiwKKwkweDJkYzgsIDB4MmRjZSwKKwkweDJkZDAsIDB4MmRkNiwKKwkweDJkZDgsIDB4
MmRkZSwKKwkweDJkZTAsIDB4MmU0ZSwKKwkweDJlODAsIDB4MmU5OSwKKwkweDJlOWIsIDB4MmVm
MywKKwkweDJmMDAsIDB4MmZkNSwKKwkweDJmZjAsIDB4MmZmYiwKKwkweDMwMDAsIDB4MzAzZiwK
KwkweDMwNDEsIDB4MzA5NiwKKwkweDMwOTksIDB4MzBmZiwKKwkweDMxMDUsIDB4MzEyZiwKKwkw
eDMxMzEsIDB4MzE4ZSwKKwkweDMxOTAsIDB4MzFiYSwKKwkweDMxYzAsIDB4MzFlMywKKwkweDMx
ZjAsIDB4MzIxZSwKKwkweDMyMjAsIDB4MzJmZSwKKwkweDMzMDAsIDB4NGRiNSwKKwkweDRkYzAs
IDB4OWZlZiwKKwkweGEwMDAsIDB4YTQ4YywKKwkweGE0OTAsIDB4YTRjNiwKKwkweGE0ZDAsIDB4
YTYyYiwKKwkweGE2NDAsIDB4YTZmNywKKwkweGE3MDAsIDB4YTdiOSwKKwkweGE3ZjcsIDB4YTgy
YiwKKwkweGE4MzAsIDB4YTgzOSwKKwkweGE4NDAsIDB4YTg3NywKKwkweGE4ODAsIDB4YThjNSwK
KwkweGE4Y2UsIDB4YThkOSwKKwkweGE4ZTAsIDB4YTk1MywKKwkweGE5NWYsIDB4YTk3YywKKwkw
eGE5ODAsIDB4YTljZCwKKwkweGE5Y2YsIDB4YTlkOSwKKwkweGE5ZGUsIDB4YTlmZSwKKwkweGFh
MDAsIDB4YWEzNiwKKwkweGFhNDAsIDB4YWE0ZCwKKwkweGFhNTAsIDB4YWE1OSwKKwkweGFhNWMs
IDB4YWFjMiwKKwkweGFhZGIsIDB4YWFmNiwKKwkweGFiMDEsIDB4YWIwNiwKKwkweGFiMDksIDB4
YWIwZSwKKwkweGFiMTEsIDB4YWIxNiwKKwkweGFiMjAsIDB4YWIyNiwKKwkweGFiMjgsIDB4YWIy
ZSwKKwkweGFiMzAsIDB4YWI2NSwKKwkweGFiNzAsIDB4YWJlZCwKKwkweGFiZjAsIDB4YWJmOSwK
KwkweGFjMDAsIDB4ZDdhMywKKwkweGQ3YjAsIDB4ZDdjNiwKKwkweGQ3Y2IsIDB4ZDdmYiwKKwkw
eGQ4MDAsIDB4ZmE2ZCwKKwkweGZhNzAsIDB4ZmFkOSwKKwkweGZiMDAsIDB4ZmIwNiwKKwkweGZi
MTMsIDB4ZmIxNywKKwkweGZiMWQsIDB4ZmIzNiwKKwkweGZiMzgsIDB4ZmIzYywKKwkweGZiM2Us
IDB4ZmIzZSwKKwkweGZiNDAsIDB4ZmI0MSwKKwkweGZiNDMsIDB4ZmI0NCwKKwkweGZiNDYsIDB4
ZmJjMSwKKwkweGZiZDMsIDB4ZmQzZiwKKwkweGZkNTAsIDB4ZmQ4ZiwKKwkweGZkOTIsIDB4ZmRj
NywKKwkweGZkZDAsIDB4ZmRmZCwKKwkweGZlMDAsIDB4ZmUxOSwKKwkweGZlMjAsIDB4ZmU1MiwK
KwkweGZlNTQsIDB4ZmU2NiwKKwkweGZlNjgsIDB4ZmU2YiwKKwkweGZlNzAsIDB4ZmU3NCwKKwkw
eGZlNzYsIDB4ZmVmYywKKwkweGZlZmYsIDB4ZmVmZiwKKwkweGZmMDEsIDB4ZmZiZSwKKwkweGZm
YzIsIDB4ZmZjNywKKwkweGZmY2EsIDB4ZmZjZiwKKwkweGZmZDIsIDB4ZmZkNywKKwkweGZmZGEs
IDB4ZmZkYywKKwkweGZmZTAsIDB4ZmZlNiwKKwkweGZmZTgsIDB4ZmZlZSwKKwkweGZmZjksIDB4
MTAwMGIsCisJMHgxMDAwZCwgMHgxMDAyNiwKKwkweDEwMDI4LCAweDEwMDNhLAorCTB4MTAwM2Ms
IDB4MTAwM2QsCisJMHgxMDAzZiwgMHgxMDA0ZCwKKwkweDEwMDUwLCAweDEwMDVkLAorCTB4MTAw
ODAsIDB4MTAwZmEsCisJMHgxMDEwMCwgMHgxMDEwMiwKKwkweDEwMTA3LCAweDEwMTMzLAorCTB4
MTAxMzcsIDB4MTAxOGUsCisJMHgxMDE5MCwgMHgxMDE5YiwKKwkweDEwMWEwLCAweDEwMWEwLAor
CTB4MTAxZDAsIDB4MTAxZmQsCisJMHgxMDI4MCwgMHgxMDI5YywKKwkweDEwMmEwLCAweDEwMmQw
LAorCTB4MTAyZTAsIDB4MTAyZmIsCisJMHgxMDMwMCwgMHgxMDMyMywKKwkweDEwMzJkLCAweDEw
MzRhLAorCTB4MTAzNTAsIDB4MTAzN2EsCisJMHgxMDM4MCwgMHgxMDM5ZCwKKwkweDEwMzlmLCAw
eDEwM2MzLAorCTB4MTAzYzgsIDB4MTAzZDUsCisJMHgxMDQwMCwgMHgxMDQ5ZCwKKwkweDEwNGEw
LCAweDEwNGE5LAorCTB4MTA0YjAsIDB4MTA0ZDMsCisJMHgxMDRkOCwgMHgxMDRmYiwKKwkweDEw
NTAwLCAweDEwNTI3LAorCTB4MTA1MzAsIDB4MTA1NjMsCisJMHgxMDU2ZiwgMHgxMDU2ZiwKKwkw
eDEwNjAwLCAweDEwNzM2LAorCTB4MTA3NDAsIDB4MTA3NTUsCisJMHgxMDc2MCwgMHgxMDc2NywK
KwkweDEwODAwLCAweDEwODA1LAorCTB4MTA4MDgsIDB4MTA4MDgsCisJMHgxMDgwYSwgMHgxMDgz
NSwKKwkweDEwODM3LCAweDEwODM4LAorCTB4MTA4M2MsIDB4MTA4M2MsCisJMHgxMDgzZiwgMHgx
MDg1NSwKKwkweDEwODU3LCAweDEwODllLAorCTB4MTA4YTcsIDB4MTA4YWYsCisJMHgxMDhlMCwg
MHgxMDhmMiwKKwkweDEwOGY0LCAweDEwOGY1LAorCTB4MTA4ZmIsIDB4MTA5MWIsCisJMHgxMDkx
ZiwgMHgxMDkzOSwKKwkweDEwOTNmLCAweDEwOTNmLAorCTB4MTA5ODAsIDB4MTA5YjcsCisJMHgx
MDliYywgMHgxMDljZiwKKwkweDEwOWQyLCAweDEwYTAzLAorCTB4MTBhMDUsIDB4MTBhMDYsCisJ
MHgxMGEwYywgMHgxMGExMywKKwkweDEwYTE1LCAweDEwYTE3LAorCTB4MTBhMTksIDB4MTBhMzUs
CisJMHgxMGEzOCwgMHgxMGEzYSwKKwkweDEwYTNmLCAweDEwYTQ4LAorCTB4MTBhNTAsIDB4MTBh
NTgsCisJMHgxMGE2MCwgMHgxMGE5ZiwKKwkweDEwYWMwLCAweDEwYWU2LAorCTB4MTBhZWIsIDB4
MTBhZjYsCisJMHgxMGIwMCwgMHgxMGIzNSwKKwkweDEwYjM5LCAweDEwYjU1LAorCTB4MTBiNTgs
IDB4MTBiNzIsCisJMHgxMGI3OCwgMHgxMGI5MSwKKwkweDEwYjk5LCAweDEwYjljLAorCTB4MTBi
YTksIDB4MTBiYWYsCisJMHgxMGMwMCwgMHgxMGM0OCwKKwkweDEwYzgwLCAweDEwY2IyLAorCTB4
MTBjYzAsIDB4MTBjZjIsCisJMHgxMGNmYSwgMHgxMGQyNywKKwkweDEwZDMwLCAweDEwZDM5LAor
CTB4MTBlNjAsIDB4MTBlN2UsCisJMHgxMGYwMCwgMHgxMGYyNywKKwkweDEwZjMwLCAweDEwZjU5
LAorCTB4MTEwMDAsIDB4MTEwNGQsCisJMHgxMTA1MiwgMHgxMTA2ZiwKKwkweDExMDdmLCAweDEx
MGMxLAorCTB4MTEwY2QsIDB4MTEwY2QsCisJMHgxMTBkMCwgMHgxMTBlOCwKKwkweDExMGYwLCAw
eDExMGY5LAorCTB4MTExMDAsIDB4MTExMzQsCisJMHgxMTEzNiwgMHgxMTE0NiwKKwkweDExMTUw
LCAweDExMTc2LAorCTB4MTExODAsIDB4MTExY2QsCisJMHgxMTFkMCwgMHgxMTFkZiwKKwkweDEx
MWUxLCAweDExMWY0LAorCTB4MTEyMDAsIDB4MTEyMTEsCisJMHgxMTIxMywgMHgxMTIzZSwKKwkw
eDExMjgwLCAweDExMjg2LAorCTB4MTEyODgsIDB4MTEyODgsCisJMHgxMTI4YSwgMHgxMTI4ZCwK
KwkweDExMjhmLCAweDExMjlkLAorCTB4MTEyOWYsIDB4MTEyYTksCisJMHgxMTJiMCwgMHgxMTJl
YSwKKwkweDExMmYwLCAweDExMmY5LAorCTB4MTEzMDAsIDB4MTEzMDMsCisJMHgxMTMwNSwgMHgx
MTMwYywKKwkweDExMzBmLCAweDExMzEwLAorCTB4MTEzMTMsIDB4MTEzMjgsCisJMHgxMTMyYSwg
MHgxMTMzMCwKKwkweDExMzMyLCAweDExMzMzLAorCTB4MTEzMzUsIDB4MTEzMzksCisJMHgxMTMz
YiwgMHgxMTM0NCwKKwkweDExMzQ3LCAweDExMzQ4LAorCTB4MTEzNGIsIDB4MTEzNGQsCisJMHgx
MTM1MCwgMHgxMTM1MCwKKwkweDExMzU3LCAweDExMzU3LAorCTB4MTEzNWQsIDB4MTEzNjMsCisJ
MHgxMTM2NiwgMHgxMTM2YywKKwkweDExMzcwLCAweDExMzc0LAorCTB4MTE0MDAsIDB4MTE0NTks
CisJMHgxMTQ1YiwgMHgxMTQ1YiwKKwkweDExNDVkLCAweDExNDVlLAorCTB4MTE0ODAsIDB4MTE0
YzcsCisJMHgxMTRkMCwgMHgxMTRkOSwKKwkweDExNTgwLCAweDExNWI1LAorCTB4MTE1YjgsIDB4
MTE1ZGQsCisJMHgxMTYwMCwgMHgxMTY0NCwKKwkweDExNjUwLCAweDExNjU5LAorCTB4MTE2NjAs
IDB4MTE2NmMsCisJMHgxMTY4MCwgMHgxMTZiNywKKwkweDExNmMwLCAweDExNmM5LAorCTB4MTE3
MDAsIDB4MTE3MWEsCisJMHgxMTcxZCwgMHgxMTcyYiwKKwkweDExNzMwLCAweDExNzNmLAorCTB4
MTE4MDAsIDB4MTE4M2IsCisJMHgxMThhMCwgMHgxMThmMiwKKwkweDExOGZmLCAweDExOGZmLAor
CTB4MTFhMDAsIDB4MTFhNDcsCisJMHgxMWE1MCwgMHgxMWE4MywKKwkweDExYTg2LCAweDExYWEy
LAorCTB4MTFhYzAsIDB4MTFhZjgsCisJMHgxMWMwMCwgMHgxMWMwOCwKKwkweDExYzBhLCAweDEx
YzM2LAorCTB4MTFjMzgsIDB4MTFjNDUsCisJMHgxMWM1MCwgMHgxMWM2YywKKwkweDExYzcwLCAw
eDExYzhmLAorCTB4MTFjOTIsIDB4MTFjYTcsCisJMHgxMWNhOSwgMHgxMWNiNiwKKwkweDExZDAw
LCAweDExZDA2LAorCTB4MTFkMDgsIDB4MTFkMDksCisJMHgxMWQwYiwgMHgxMWQzNiwKKwkweDEx
ZDNhLCAweDExZDNhLAorCTB4MTFkM2MsIDB4MTFkM2QsCisJMHgxMWQzZiwgMHgxMWQ0NywKKwkw
eDExZDUwLCAweDExZDU5LAorCTB4MTFkNjAsIDB4MTFkNjUsCisJMHgxMWQ2NywgMHgxMWQ2OCwK
KwkweDExZDZhLCAweDExZDhlLAorCTB4MTFkOTAsIDB4MTFkOTEsCisJMHgxMWQ5MywgMHgxMWQ5
OCwKKwkweDExZGEwLCAweDExZGE5LAorCTB4MTFlZTAsIDB4MTFlZjgsCisJMHgxMjAwMCwgMHgx
MjM5OSwKKwkweDEyNDAwLCAweDEyNDZlLAorCTB4MTI0NzAsIDB4MTI0NzQsCisJMHgxMjQ4MCwg
MHgxMjU0MywKKwkweDEzMDAwLCAweDEzNDJlLAorCTB4MTQ0MDAsIDB4MTQ2NDYsCisJMHgxNjgw
MCwgMHgxNmEzOCwKKwkweDE2YTQwLCAweDE2YTVlLAorCTB4MTZhNjAsIDB4MTZhNjksCisJMHgx
NmE2ZSwgMHgxNmE2ZiwKKwkweDE2YWQwLCAweDE2YWVkLAorCTB4MTZhZjAsIDB4MTZhZjUsCisJ
MHgxNmIwMCwgMHgxNmI0NSwKKwkweDE2YjUwLCAweDE2YjU5LAorCTB4MTZiNWIsIDB4MTZiNjEs
CisJMHgxNmI2MywgMHgxNmI3NywKKwkweDE2YjdkLCAweDE2YjhmLAorCTB4MTZlNDAsIDB4MTZl
OWEsCisJMHgxNmYwMCwgMHgxNmY0NCwKKwkweDE2ZjUwLCAweDE2ZjdlLAorCTB4MTZmOGYsIDB4
MTZmOWYsCisJMHgxNmZlMCwgMHgxNmZlMSwKKwkweDE3MDAwLCAweDE4N2YxLAorCTB4MTg4MDAs
IDB4MThhZjIsCisJMHgxYjAwMCwgMHgxYjExZSwKKwkweDFiMTcwLCAweDFiMmZiLAorCTB4MWJj
MDAsIDB4MWJjNmEsCisJMHgxYmM3MCwgMHgxYmM3YywKKwkweDFiYzgwLCAweDFiYzg4LAorCTB4
MWJjOTAsIDB4MWJjOTksCisJMHgxYmM5YywgMHgxYmNhMywKKwkweDFkMDAwLCAweDFkMGY1LAor
CTB4MWQxMDAsIDB4MWQxMjYsCisJMHgxZDEyOSwgMHgxZDFlOCwKKwkweDFkMjAwLCAweDFkMjQ1
LAorCTB4MWQyZTAsIDB4MWQyZjMsCisJMHgxZDMwMCwgMHgxZDM1NiwKKwkweDFkMzYwLCAweDFk
Mzc4LAorCTB4MWQ0MDAsIDB4MWQ0NTQsCisJMHgxZDQ1NiwgMHgxZDQ5YywKKwkweDFkNDllLCAw
eDFkNDlmLAorCTB4MWQ0YTIsIDB4MWQ0YTIsCisJMHgxZDRhNSwgMHgxZDRhNiwKKwkweDFkNGE5
LCAweDFkNGFjLAorCTB4MWQ0YWUsIDB4MWQ0YjksCisJMHgxZDRiYiwgMHgxZDRiYiwKKwkweDFk
NGJkLCAweDFkNGMzLAorCTB4MWQ0YzUsIDB4MWQ1MDUsCisJMHgxZDUwNywgMHgxZDUwYSwKKwkw
eDFkNTBkLCAweDFkNTE0LAorCTB4MWQ1MTYsIDB4MWQ1MWMsCisJMHgxZDUxZSwgMHgxZDUzOSwK
KwkweDFkNTNiLCAweDFkNTNlLAorCTB4MWQ1NDAsIDB4MWQ1NDQsCisJMHgxZDU0NiwgMHgxZDU0
NiwKKwkweDFkNTRhLCAweDFkNTUwLAorCTB4MWQ1NTIsIDB4MWQ2YTUsCisJMHgxZDZhOCwgMHgx
ZDdjYiwKKwkweDFkN2NlLCAweDFkYThiLAorCTB4MWRhOWIsIDB4MWRhOWYsCisJMHgxZGFhMSwg
MHgxZGFhZiwKKwkweDFlMDAwLCAweDFlMDA2LAorCTB4MWUwMDgsIDB4MWUwMTgsCisJMHgxZTAx
YiwgMHgxZTAyMSwKKwkweDFlMDIzLCAweDFlMDI0LAorCTB4MWUwMjYsIDB4MWUwMmEsCisJMHgx
ZTgwMCwgMHgxZThjNCwKKwkweDFlOGM3LCAweDFlOGQ2LAorCTB4MWU5MDAsIDB4MWU5NGEsCisJ
MHgxZTk1MCwgMHgxZTk1OSwKKwkweDFlOTVlLCAweDFlOTVmLAorCTB4MWVjNzEsIDB4MWVjYjQs
CisJMHgxZWUwMCwgMHgxZWUwMywKKwkweDFlZTA1LCAweDFlZTFmLAorCTB4MWVlMjEsIDB4MWVl
MjIsCisJMHgxZWUyNCwgMHgxZWUyNCwKKwkweDFlZTI3LCAweDFlZTI3LAorCTB4MWVlMjksIDB4
MWVlMzIsCisJMHgxZWUzNCwgMHgxZWUzNywKKwkweDFlZTM5LCAweDFlZTM5LAorCTB4MWVlM2Is
IDB4MWVlM2IsCisJMHgxZWU0MiwgMHgxZWU0MiwKKwkweDFlZTQ3LCAweDFlZTQ3LAorCTB4MWVl
NDksIDB4MWVlNDksCisJMHgxZWU0YiwgMHgxZWU0YiwKKwkweDFlZTRkLCAweDFlZTRmLAorCTB4
MWVlNTEsIDB4MWVlNTIsCisJMHgxZWU1NCwgMHgxZWU1NCwKKwkweDFlZTU3LCAweDFlZTU3LAor
CTB4MWVlNTksIDB4MWVlNTksCisJMHgxZWU1YiwgMHgxZWU1YiwKKwkweDFlZTVkLCAweDFlZTVk
LAorCTB4MWVlNWYsIDB4MWVlNWYsCisJMHgxZWU2MSwgMHgxZWU2MiwKKwkweDFlZTY0LCAweDFl
ZTY0LAorCTB4MWVlNjcsIDB4MWVlNmEsCisJMHgxZWU2YywgMHgxZWU3MiwKKwkweDFlZTc0LCAw
eDFlZTc3LAorCTB4MWVlNzksIDB4MWVlN2MsCisJMHgxZWU3ZSwgMHgxZWU3ZSwKKwkweDFlZTgw
LCAweDFlZTg5LAorCTB4MWVlOGIsIDB4MWVlOWIsCisJMHgxZWVhMSwgMHgxZWVhMywKKwkweDFl
ZWE1LCAweDFlZWE5LAorCTB4MWVlYWIsIDB4MWVlYmIsCisJMHgxZWVmMCwgMHgxZWVmMSwKKwkw
eDFmMDAwLCAweDFmMDJiLAorCTB4MWYwMzAsIDB4MWYwOTMsCisJMHgxZjBhMCwgMHgxZjBhZSwK
KwkweDFmMGIxLCAweDFmMGJmLAorCTB4MWYwYzEsIDB4MWYwY2YsCisJMHgxZjBkMSwgMHgxZjBm
NSwKKwkweDFmMTAwLCAweDFmMTBjLAorCTB4MWYxMTAsIDB4MWYxNmIsCisJMHgxZjE3MCwgMHgx
ZjFhYywKKwkweDFmMWU2LCAweDFmMjAyLAorCTB4MWYyMTAsIDB4MWYyM2IsCisJMHgxZjI0MCwg
MHgxZjI0OCwKKwkweDFmMjUwLCAweDFmMjUxLAorCTB4MWYyNjAsIDB4MWYyNjUsCisJMHgxZjMw
MCwgMHgxZjZkNCwKKwkweDFmNmUwLCAweDFmNmVjLAorCTB4MWY2ZjAsIDB4MWY2ZjksCisJMHgx
ZjcwMCwgMHgxZjc3MywKKwkweDFmNzgwLCAweDFmN2Q4LAorCTB4MWY4MDAsIDB4MWY4MGIsCisJ
MHgxZjgxMCwgMHgxZjg0NywKKwkweDFmODUwLCAweDFmODU5LAorCTB4MWY4NjAsIDB4MWY4ODcs
CisJMHgxZjg5MCwgMHgxZjhhZCwKKwkweDFmOTAwLCAweDFmOTBiLAorCTB4MWY5MTAsIDB4MWY5
M2UsCisJMHgxZjk0MCwgMHgxZjk3MCwKKwkweDFmOTczLCAweDFmOTc2LAorCTB4MWY5N2EsIDB4
MWY5N2EsCisJMHgxZjk3YywgMHgxZjlhMiwKKwkweDFmOWIwLCAweDFmOWI5LAorCTB4MWY5YzAs
IDB4MWY5YzIsCisJMHgxZjlkMCwgMHgxZjlmZiwKKwkweDFmYTYwLCAweDFmYTZkLAorCTB4MWZm
ZmUsIDB4MmE2ZDYsCisJMHgyYTcwMCwgMHgyYjczNCwKKwkweDJiNzQwLCAweDJiODFkLAorCTB4
MmI4MjAsIDB4MmNlYTEsCisJMHgyY2ViMCwgMHgyZWJlMCwKKwkweDJmODAwLCAweDJmYTFkLAor
CTB4MmZmZmUsIDB4MmZmZmYsCisJMHgzZmZmZSwgMHgzZmZmZiwKKwkweDRmZmZlLCAweDRmZmZm
LAorCTB4NWZmZmUsIDB4NWZmZmYsCisJMHg2ZmZmZSwgMHg2ZmZmZiwKKwkweDdmZmZlLCAweDdm
ZmZmLAorCTB4OGZmZmUsIDB4OGZmZmYsCisJMHg5ZmZmZSwgMHg5ZmZmZiwKKwkweGFmZmZlLCAw
eGFmZmZmLAorCTB4YmZmZmUsIDB4YmZmZmYsCisJMHhjZmZmZSwgMHhjZmZmZiwKKwkweGRmZmZl
LCAweGRmZmZmLAorCTB4ZTAwMDEsIDB4ZTAwMDEsCisJMHhlMDAyMCwgMHhlMDA3ZiwKKwkweGUw
MTAwLCAweGUwMWVmLAorCTB4ZWZmZmUsIDB4MTBmZmZmLAorfTsgLyogQ1JfQWdlXzExXzAgKi8K
KworLyogJ0FnZV8xMl8wJzogRGVyaXZlZCBBZ2UgMTIuMCAqLworc3RhdGljIGNvbnN0IE9uaWdD
b2RlUG9pbnQgQ1JfQWdlXzEyXzBbXSA9IHsKKwk2NzcsCisJMHgwMDAwLCAweDAzNzcsCisJMHgw
MzdhLCAweDAzN2YsCisJMHgwMzg0LCAweDAzOGEsCisJMHgwMzhjLCAweDAzOGMsCisJMHgwMzhl
LCAweDAzYTEsCisJMHgwM2EzLCAweDA1MmYsCisJMHgwNTMxLCAweDA1NTYsCisJMHgwNTU5LCAw
eDA1OGEsCisJMHgwNThkLCAweDA1OGYsCisJMHgwNTkxLCAweDA1YzcsCisJMHgwNWQwLCAweDA1
ZWEsCisJMHgwNWVmLCAweDA1ZjQsCisJMHgwNjAwLCAweDA2MWMsCisJMHgwNjFlLCAweDA3MGQs
CisJMHgwNzBmLCAweDA3NGEsCisJMHgwNzRkLCAweDA3YjEsCisJMHgwN2MwLCAweDA3ZmEsCisJ
MHgwN2ZkLCAweDA4MmQsCisJMHgwODMwLCAweDA4M2UsCisJMHgwODQwLCAweDA4NWIsCisJMHgw
ODVlLCAweDA4NWUsCisJMHgwODYwLCAweDA4NmEsCisJMHgwOGEwLCAweDA4YjQsCisJMHgwOGI2
LCAweDA4YmQsCisJMHgwOGQzLCAweDA5ODMsCisJMHgwOTg1LCAweDA5OGMsCisJMHgwOThmLCAw
eDA5OTAsCisJMHgwOTkzLCAweDA5YTgsCisJMHgwOWFhLCAweDA5YjAsCisJMHgwOWIyLCAweDA5
YjIsCisJMHgwOWI2LCAweDA5YjksCisJMHgwOWJjLCAweDA5YzQsCisJMHgwOWM3LCAweDA5Yzgs
CisJMHgwOWNiLCAweDA5Y2UsCisJMHgwOWQ3LCAweDA5ZDcsCisJMHgwOWRjLCAweDA5ZGQsCisJ
MHgwOWRmLCAweDA5ZTMsCisJMHgwOWU2LCAweDA5ZmUsCisJMHgwYTAxLCAweDBhMDMsCisJMHgw
YTA1LCAweDBhMGEsCisJMHgwYTBmLCAweDBhMTAsCisJMHgwYTEzLCAweDBhMjgsCisJMHgwYTJh
LCAweDBhMzAsCisJMHgwYTMyLCAweDBhMzMsCisJMHgwYTM1LCAweDBhMzYsCisJMHgwYTM4LCAw
eDBhMzksCisJMHgwYTNjLCAweDBhM2MsCisJMHgwYTNlLCAweDBhNDIsCisJMHgwYTQ3LCAweDBh
NDgsCisJMHgwYTRiLCAweDBhNGQsCisJMHgwYTUxLCAweDBhNTEsCisJMHgwYTU5LCAweDBhNWMs
CisJMHgwYTVlLCAweDBhNWUsCisJMHgwYTY2LCAweDBhNzYsCisJMHgwYTgxLCAweDBhODMsCisJ
MHgwYTg1LCAweDBhOGQsCisJMHgwYThmLCAweDBhOTEsCisJMHgwYTkzLCAweDBhYTgsCisJMHgw
YWFhLCAweDBhYjAsCisJMHgwYWIyLCAweDBhYjMsCisJMHgwYWI1LCAweDBhYjksCisJMHgwYWJj
LCAweDBhYzUsCisJMHgwYWM3LCAweDBhYzksCisJMHgwYWNiLCAweDBhY2QsCisJMHgwYWQwLCAw
eDBhZDAsCisJMHgwYWUwLCAweDBhZTMsCisJMHgwYWU2LCAweDBhZjEsCisJMHgwYWY5LCAweDBh
ZmYsCisJMHgwYjAxLCAweDBiMDMsCisJMHgwYjA1LCAweDBiMGMsCisJMHgwYjBmLCAweDBiMTAs
CisJMHgwYjEzLCAweDBiMjgsCisJMHgwYjJhLCAweDBiMzAsCisJMHgwYjMyLCAweDBiMzMsCisJ
MHgwYjM1LCAweDBiMzksCisJMHgwYjNjLCAweDBiNDQsCisJMHgwYjQ3LCAweDBiNDgsCisJMHgw
YjRiLCAweDBiNGQsCisJMHgwYjU2LCAweDBiNTcsCisJMHgwYjVjLCAweDBiNWQsCisJMHgwYjVm
LCAweDBiNjMsCisJMHgwYjY2LCAweDBiNzcsCisJMHgwYjgyLCAweDBiODMsCisJMHgwYjg1LCAw
eDBiOGEsCisJMHgwYjhlLCAweDBiOTAsCisJMHgwYjkyLCAweDBiOTUsCisJMHgwYjk5LCAweDBi
OWEsCisJMHgwYjljLCAweDBiOWMsCisJMHgwYjllLCAweDBiOWYsCisJMHgwYmEzLCAweDBiYTQs
CisJMHgwYmE4LCAweDBiYWEsCisJMHgwYmFlLCAweDBiYjksCisJMHgwYmJlLCAweDBiYzIsCisJ
MHgwYmM2LCAweDBiYzgsCisJMHgwYmNhLCAweDBiY2QsCisJMHgwYmQwLCAweDBiZDAsCisJMHgw
YmQ3LCAweDBiZDcsCisJMHgwYmU2LCAweDBiZmEsCisJMHgwYzAwLCAweDBjMGMsCisJMHgwYzBl
LCAweDBjMTAsCisJMHgwYzEyLCAweDBjMjgsCisJMHgwYzJhLCAweDBjMzksCisJMHgwYzNkLCAw
eDBjNDQsCisJMHgwYzQ2LCAweDBjNDgsCisJMHgwYzRhLCAweDBjNGQsCisJMHgwYzU1LCAweDBj
NTYsCisJMHgwYzU4LCAweDBjNWEsCisJMHgwYzYwLCAweDBjNjMsCisJMHgwYzY2LCAweDBjNmYs
CisJMHgwYzc3LCAweDBjOGMsCisJMHgwYzhlLCAweDBjOTAsCisJMHgwYzkyLCAweDBjYTgsCisJ
MHgwY2FhLCAweDBjYjMsCisJMHgwY2I1LCAweDBjYjksCisJMHgwY2JjLCAweDBjYzQsCisJMHgw
Y2M2LCAweDBjYzgsCisJMHgwY2NhLCAweDBjY2QsCisJMHgwY2Q1LCAweDBjZDYsCisJMHgwY2Rl
LCAweDBjZGUsCisJMHgwY2UwLCAweDBjZTMsCisJMHgwY2U2LCAweDBjZWYsCisJMHgwY2YxLCAw
eDBjZjIsCisJMHgwZDAwLCAweDBkMDMsCisJMHgwZDA1LCAweDBkMGMsCisJMHgwZDBlLCAweDBk
MTAsCisJMHgwZDEyLCAweDBkNDQsCisJMHgwZDQ2LCAweDBkNDgsCisJMHgwZDRhLCAweDBkNGYs
CisJMHgwZDU0LCAweDBkNjMsCisJMHgwZDY2LCAweDBkN2YsCisJMHgwZDgyLCAweDBkODMsCisJ
MHgwZDg1LCAweDBkOTYsCisJMHgwZDlhLCAweDBkYjEsCisJMHgwZGIzLCAweDBkYmIsCisJMHgw
ZGJkLCAweDBkYmQsCisJMHgwZGMwLCAweDBkYzYsCisJMHgwZGNhLCAweDBkY2EsCisJMHgwZGNm
LCAweDBkZDQsCisJMHgwZGQ2LCAweDBkZDYsCisJMHgwZGQ4LCAweDBkZGYsCisJMHgwZGU2LCAw
eDBkZWYsCisJMHgwZGYyLCAweDBkZjQsCisJMHgwZTAxLCAweDBlM2EsCisJMHgwZTNmLCAweDBl
NWIsCisJMHgwZTgxLCAweDBlODIsCisJMHgwZTg0LCAweDBlODQsCisJMHgwZTg2LCAweDBlOGEs
CisJMHgwZThjLCAweDBlYTMsCisJMHgwZWE1LCAweDBlYTUsCisJMHgwZWE3LCAweDBlYmQsCisJ
MHgwZWMwLCAweDBlYzQsCisJMHgwZWM2LCAweDBlYzYsCisJMHgwZWM4LCAweDBlY2QsCisJMHgw
ZWQwLCAweDBlZDksCisJMHgwZWRjLCAweDBlZGYsCisJMHgwZjAwLCAweDBmNDcsCisJMHgwZjQ5
LCAweDBmNmMsCisJMHgwZjcxLCAweDBmOTcsCisJMHgwZjk5LCAweDBmYmMsCisJMHgwZmJlLCAw
eDBmY2MsCisJMHgwZmNlLCAweDBmZGEsCisJMHgxMDAwLCAweDEwYzUsCisJMHgxMGM3LCAweDEw
YzcsCisJMHgxMGNkLCAweDEwY2QsCisJMHgxMGQwLCAweDEyNDgsCisJMHgxMjRhLCAweDEyNGQs
CisJMHgxMjUwLCAweDEyNTYsCisJMHgxMjU4LCAweDEyNTgsCisJMHgxMjVhLCAweDEyNWQsCisJ
MHgxMjYwLCAweDEyODgsCisJMHgxMjhhLCAweDEyOGQsCisJMHgxMjkwLCAweDEyYjAsCisJMHgx
MmIyLCAweDEyYjUsCisJMHgxMmI4LCAweDEyYmUsCisJMHgxMmMwLCAweDEyYzAsCisJMHgxMmMy
LCAweDEyYzUsCisJMHgxMmM4LCAweDEyZDYsCisJMHgxMmQ4LCAweDEzMTAsCisJMHgxMzEyLCAw
eDEzMTUsCisJMHgxMzE4LCAweDEzNWEsCisJMHgxMzVkLCAweDEzN2MsCisJMHgxMzgwLCAweDEz
OTksCisJMHgxM2EwLCAweDEzZjUsCisJMHgxM2Y4LCAweDEzZmQsCisJMHgxNDAwLCAweDE2OWMs
CisJMHgxNmEwLCAweDE2ZjgsCisJMHgxNzAwLCAweDE3MGMsCisJMHgxNzBlLCAweDE3MTQsCisJ
MHgxNzIwLCAweDE3MzYsCisJMHgxNzQwLCAweDE3NTMsCisJMHgxNzYwLCAweDE3NmMsCisJMHgx
NzZlLCAweDE3NzAsCisJMHgxNzcyLCAweDE3NzMsCisJMHgxNzgwLCAweDE3ZGQsCisJMHgxN2Uw
LCAweDE3ZTksCisJMHgxN2YwLCAweDE3ZjksCisJMHgxODAwLCAweDE4MGUsCisJMHgxODEwLCAw
eDE4MTksCisJMHgxODIwLCAweDE4NzgsCisJMHgxODgwLCAweDE4YWEsCisJMHgxOGIwLCAweDE4
ZjUsCisJMHgxOTAwLCAweDE5MWUsCisJMHgxOTIwLCAweDE5MmIsCisJMHgxOTMwLCAweDE5M2Is
CisJMHgxOTQwLCAweDE5NDAsCisJMHgxOTQ0LCAweDE5NmQsCisJMHgxOTcwLCAweDE5NzQsCisJ
MHgxOTgwLCAweDE5YWIsCisJMHgxOWIwLCAweDE5YzksCisJMHgxOWQwLCAweDE5ZGEsCisJMHgx
OWRlLCAweDFhMWIsCisJMHgxYTFlLCAweDFhNWUsCisJMHgxYTYwLCAweDFhN2MsCisJMHgxYTdm
LCAweDFhODksCisJMHgxYTkwLCAweDFhOTksCisJMHgxYWEwLCAweDFhYWQsCisJMHgxYWIwLCAw
eDFhYmUsCisJMHgxYjAwLCAweDFiNGIsCisJMHgxYjUwLCAweDFiN2MsCisJMHgxYjgwLCAweDFi
ZjMsCisJMHgxYmZjLCAweDFjMzcsCisJMHgxYzNiLCAweDFjNDksCisJMHgxYzRkLCAweDFjODgs
CisJMHgxYzkwLCAweDFjYmEsCisJMHgxY2JkLCAweDFjYzcsCisJMHgxY2QwLCAweDFjZmEsCisJ
MHgxZDAwLCAweDFkZjksCisJMHgxZGZiLCAweDFmMTUsCisJMHgxZjE4LCAweDFmMWQsCisJMHgx
ZjIwLCAweDFmNDUsCisJMHgxZjQ4LCAweDFmNGQsCisJMHgxZjUwLCAweDFmNTcsCisJMHgxZjU5
LCAweDFmNTksCisJMHgxZjViLCAweDFmNWIsCisJMHgxZjVkLCAweDFmNWQsCisJMHgxZjVmLCAw
eDFmN2QsCisJMHgxZjgwLCAweDFmYjQsCisJMHgxZmI2LCAweDFmYzQsCisJMHgxZmM2LCAweDFm
ZDMsCisJMHgxZmQ2LCAweDFmZGIsCisJMHgxZmRkLCAweDFmZWYsCisJMHgxZmYyLCAweDFmZjQs
CisJMHgxZmY2LCAweDFmZmUsCisJMHgyMDAwLCAweDIwNjQsCisJMHgyMDY2LCAweDIwNzEsCisJ
MHgyMDc0LCAweDIwOGUsCisJMHgyMDkwLCAweDIwOWMsCisJMHgyMGEwLCAweDIwYmYsCisJMHgy
MGQwLCAweDIwZjAsCisJMHgyMTAwLCAweDIxOGIsCisJMHgyMTkwLCAweDI0MjYsCisJMHgyNDQw
LCAweDI0NGEsCisJMHgyNDYwLCAweDJiNzMsCisJMHgyYjc2LCAweDJiOTUsCisJMHgyYjk4LCAw
eDJjMmUsCisJMHgyYzMwLCAweDJjNWUsCisJMHgyYzYwLCAweDJjZjMsCisJMHgyY2Y5LCAweDJk
MjUsCisJMHgyZDI3LCAweDJkMjcsCisJMHgyZDJkLCAweDJkMmQsCisJMHgyZDMwLCAweDJkNjcs
CisJMHgyZDZmLCAweDJkNzAsCisJMHgyZDdmLCAweDJkOTYsCisJMHgyZGEwLCAweDJkYTYsCisJ
MHgyZGE4LCAweDJkYWUsCisJMHgyZGIwLCAweDJkYjYsCisJMHgyZGI4LCAweDJkYmUsCisJMHgy
ZGMwLCAweDJkYzYsCisJMHgyZGM4LCAweDJkY2UsCisJMHgyZGQwLCAweDJkZDYsCisJMHgyZGQ4
LCAweDJkZGUsCisJMHgyZGUwLCAweDJlNGYsCisJMHgyZTgwLCAweDJlOTksCisJMHgyZTliLCAw
eDJlZjMsCisJMHgyZjAwLCAweDJmZDUsCisJMHgyZmYwLCAweDJmZmIsCisJMHgzMDAwLCAweDMw
M2YsCisJMHgzMDQxLCAweDMwOTYsCisJMHgzMDk5LCAweDMwZmYsCisJMHgzMTA1LCAweDMxMmYs
CisJMHgzMTMxLCAweDMxOGUsCisJMHgzMTkwLCAweDMxYmEsCisJMHgzMWMwLCAweDMxZTMsCisJ
MHgzMWYwLCAweDMyMWUsCisJMHgzMjIwLCAweDMyZmUsCisJMHgzMzAwLCAweDRkYjUsCisJMHg0
ZGMwLCAweDlmZWYsCisJMHhhMDAwLCAweGE0OGMsCisJMHhhNDkwLCAweGE0YzYsCisJMHhhNGQw
LCAweGE2MmIsCisJMHhhNjQwLCAweGE2ZjcsCisJMHhhNzAwLCAweGE3YmYsCisJMHhhN2MyLCAw
eGE3YzYsCisJMHhhN2Y3LCAweGE4MmIsCisJMHhhODMwLCAweGE4MzksCisJMHhhODQwLCAweGE4
NzcsCisJMHhhODgwLCAweGE4YzUsCisJMHhhOGNlLCAweGE4ZDksCisJMHhhOGUwLCAweGE5NTMs
CisJMHhhOTVmLCAweGE5N2MsCisJMHhhOTgwLCAweGE5Y2QsCisJMHhhOWNmLCAweGE5ZDksCisJ
MHhhOWRlLCAweGE5ZmUsCisJMHhhYTAwLCAweGFhMzYsCisJMHhhYTQwLCAweGFhNGQsCisJMHhh
YTUwLCAweGFhNTksCisJMHhhYTVjLCAweGFhYzIsCisJMHhhYWRiLCAweGFhZjYsCisJMHhhYjAx
LCAweGFiMDYsCisJMHhhYjA5LCAweGFiMGUsCisJMHhhYjExLCAweGFiMTYsCisJMHhhYjIwLCAw
eGFiMjYsCisJMHhhYjI4LCAweGFiMmUsCisJMHhhYjMwLCAweGFiNjcsCisJMHhhYjcwLCAweGFi
ZWQsCisJMHhhYmYwLCAweGFiZjksCisJMHhhYzAwLCAweGQ3YTMsCisJMHhkN2IwLCAweGQ3YzYs
CisJMHhkN2NiLCAweGQ3ZmIsCisJMHhkODAwLCAweGZhNmQsCisJMHhmYTcwLCAweGZhZDksCisJ
MHhmYjAwLCAweGZiMDYsCisJMHhmYjEzLCAweGZiMTcsCisJMHhmYjFkLCAweGZiMzYsCisJMHhm
YjM4LCAweGZiM2MsCisJMHhmYjNlLCAweGZiM2UsCisJMHhmYjQwLCAweGZiNDEsCisJMHhmYjQz
LCAweGZiNDQsCisJMHhmYjQ2LCAweGZiYzEsCisJMHhmYmQzLCAweGZkM2YsCisJMHhmZDUwLCAw
eGZkOGYsCisJMHhmZDkyLCAweGZkYzcsCisJMHhmZGQwLCAweGZkZmQsCisJMHhmZTAwLCAweGZl
MTksCisJMHhmZTIwLCAweGZlNTIsCisJMHhmZTU0LCAweGZlNjYsCisJMHhmZTY4LCAweGZlNmIs
CisJMHhmZTcwLCAweGZlNzQsCisJMHhmZTc2LCAweGZlZmMsCisJMHhmZWZmLCAweGZlZmYsCisJ
MHhmZjAxLCAweGZmYmUsCisJMHhmZmMyLCAweGZmYzcsCisJMHhmZmNhLCAweGZmY2YsCisJMHhm
ZmQyLCAweGZmZDcsCisJMHhmZmRhLCAweGZmZGMsCisJMHhmZmUwLCAweGZmZTYsCisJMHhmZmU4
LCAweGZmZWUsCisJMHhmZmY5LCAweDEwMDBiLAorCTB4MTAwMGQsIDB4MTAwMjYsCisJMHgxMDAy
OCwgMHgxMDAzYSwKKwkweDEwMDNjLCAweDEwMDNkLAorCTB4MTAwM2YsIDB4MTAwNGQsCisJMHgx
MDA1MCwgMHgxMDA1ZCwKKwkweDEwMDgwLCAweDEwMGZhLAorCTB4MTAxMDAsIDB4MTAxMDIsCisJ
MHgxMDEwNywgMHgxMDEzMywKKwkweDEwMTM3LCAweDEwMThlLAorCTB4MTAxOTAsIDB4MTAxOWIs
CisJMHgxMDFhMCwgMHgxMDFhMCwKKwkweDEwMWQwLCAweDEwMWZkLAorCTB4MTAyODAsIDB4MTAy
OWMsCisJMHgxMDJhMCwgMHgxMDJkMCwKKwkweDEwMmUwLCAweDEwMmZiLAorCTB4MTAzMDAsIDB4
MTAzMjMsCisJMHgxMDMyZCwgMHgxMDM0YSwKKwkweDEwMzUwLCAweDEwMzdhLAorCTB4MTAzODAs
IDB4MTAzOWQsCisJMHgxMDM5ZiwgMHgxMDNjMywKKwkweDEwM2M4LCAweDEwM2Q1LAorCTB4MTA0
MDAsIDB4MTA0OWQsCisJMHgxMDRhMCwgMHgxMDRhOSwKKwkweDEwNGIwLCAweDEwNGQzLAorCTB4
MTA0ZDgsIDB4MTA0ZmIsCisJMHgxMDUwMCwgMHgxMDUyNywKKwkweDEwNTMwLCAweDEwNTYzLAor
CTB4MTA1NmYsIDB4MTA1NmYsCisJMHgxMDYwMCwgMHgxMDczNiwKKwkweDEwNzQwLCAweDEwNzU1
LAorCTB4MTA3NjAsIDB4MTA3NjcsCisJMHgxMDgwMCwgMHgxMDgwNSwKKwkweDEwODA4LCAweDEw
ODA4LAorCTB4MTA4MGEsIDB4MTA4MzUsCisJMHgxMDgzNywgMHgxMDgzOCwKKwkweDEwODNjLCAw
eDEwODNjLAorCTB4MTA4M2YsIDB4MTA4NTUsCisJMHgxMDg1NywgMHgxMDg5ZSwKKwkweDEwOGE3
LCAweDEwOGFmLAorCTB4MTA4ZTAsIDB4MTA4ZjIsCisJMHgxMDhmNCwgMHgxMDhmNSwKKwkweDEw
OGZiLCAweDEwOTFiLAorCTB4MTA5MWYsIDB4MTA5MzksCisJMHgxMDkzZiwgMHgxMDkzZiwKKwkw
eDEwOTgwLCAweDEwOWI3LAorCTB4MTA5YmMsIDB4MTA5Y2YsCisJMHgxMDlkMiwgMHgxMGEwMywK
KwkweDEwYTA1LCAweDEwYTA2LAorCTB4MTBhMGMsIDB4MTBhMTMsCisJMHgxMGExNSwgMHgxMGEx
NywKKwkweDEwYTE5LCAweDEwYTM1LAorCTB4MTBhMzgsIDB4MTBhM2EsCisJMHgxMGEzZiwgMHgx
MGE0OCwKKwkweDEwYTUwLCAweDEwYTU4LAorCTB4MTBhNjAsIDB4MTBhOWYsCisJMHgxMGFjMCwg
MHgxMGFlNiwKKwkweDEwYWViLCAweDEwYWY2LAorCTB4MTBiMDAsIDB4MTBiMzUsCisJMHgxMGIz
OSwgMHgxMGI1NSwKKwkweDEwYjU4LCAweDEwYjcyLAorCTB4MTBiNzgsIDB4MTBiOTEsCisJMHgx
MGI5OSwgMHgxMGI5YywKKwkweDEwYmE5LCAweDEwYmFmLAorCTB4MTBjMDAsIDB4MTBjNDgsCisJ
MHgxMGM4MCwgMHgxMGNiMiwKKwkweDEwY2MwLCAweDEwY2YyLAorCTB4MTBjZmEsIDB4MTBkMjcs
CisJMHgxMGQzMCwgMHgxMGQzOSwKKwkweDEwZTYwLCAweDEwZTdlLAorCTB4MTBmMDAsIDB4MTBm
MjcsCisJMHgxMGYzMCwgMHgxMGY1OSwKKwkweDEwZmUwLCAweDEwZmY2LAorCTB4MTEwMDAsIDB4
MTEwNGQsCisJMHgxMTA1MiwgMHgxMTA2ZiwKKwkweDExMDdmLCAweDExMGMxLAorCTB4MTEwY2Qs
IDB4MTEwY2QsCisJMHgxMTBkMCwgMHgxMTBlOCwKKwkweDExMGYwLCAweDExMGY5LAorCTB4MTEx
MDAsIDB4MTExMzQsCisJMHgxMTEzNiwgMHgxMTE0NiwKKwkweDExMTUwLCAweDExMTc2LAorCTB4
MTExODAsIDB4MTExY2QsCisJMHgxMTFkMCwgMHgxMTFkZiwKKwkweDExMWUxLCAweDExMWY0LAor
CTB4MTEyMDAsIDB4MTEyMTEsCisJMHgxMTIxMywgMHgxMTIzZSwKKwkweDExMjgwLCAweDExMjg2
LAorCTB4MTEyODgsIDB4MTEyODgsCisJMHgxMTI4YSwgMHgxMTI4ZCwKKwkweDExMjhmLCAweDEx
MjlkLAorCTB4MTEyOWYsIDB4MTEyYTksCisJMHgxMTJiMCwgMHgxMTJlYSwKKwkweDExMmYwLCAw
eDExMmY5LAorCTB4MTEzMDAsIDB4MTEzMDMsCisJMHgxMTMwNSwgMHgxMTMwYywKKwkweDExMzBm
LCAweDExMzEwLAorCTB4MTEzMTMsIDB4MTEzMjgsCisJMHgxMTMyYSwgMHgxMTMzMCwKKwkweDEx
MzMyLCAweDExMzMzLAorCTB4MTEzMzUsIDB4MTEzMzksCisJMHgxMTMzYiwgMHgxMTM0NCwKKwkw
eDExMzQ3LCAweDExMzQ4LAorCTB4MTEzNGIsIDB4MTEzNGQsCisJMHgxMTM1MCwgMHgxMTM1MCwK
KwkweDExMzU3LCAweDExMzU3LAorCTB4MTEzNWQsIDB4MTEzNjMsCisJMHgxMTM2NiwgMHgxMTM2
YywKKwkweDExMzcwLCAweDExMzc0LAorCTB4MTE0MDAsIDB4MTE0NTksCisJMHgxMTQ1YiwgMHgx
MTQ1YiwKKwkweDExNDVkLCAweDExNDVmLAorCTB4MTE0ODAsIDB4MTE0YzcsCisJMHgxMTRkMCwg
MHgxMTRkOSwKKwkweDExNTgwLCAweDExNWI1LAorCTB4MTE1YjgsIDB4MTE1ZGQsCisJMHgxMTYw
MCwgMHgxMTY0NCwKKwkweDExNjUwLCAweDExNjU5LAorCTB4MTE2NjAsIDB4MTE2NmMsCisJMHgx
MTY4MCwgMHgxMTZiOCwKKwkweDExNmMwLCAweDExNmM5LAorCTB4MTE3MDAsIDB4MTE3MWEsCisJ
MHgxMTcxZCwgMHgxMTcyYiwKKwkweDExNzMwLCAweDExNzNmLAorCTB4MTE4MDAsIDB4MTE4M2Is
CisJMHgxMThhMCwgMHgxMThmMiwKKwkweDExOGZmLCAweDExOGZmLAorCTB4MTE5YTAsIDB4MTE5
YTcsCisJMHgxMTlhYSwgMHgxMTlkNywKKwkweDExOWRhLCAweDExOWU0LAorCTB4MTFhMDAsIDB4
MTFhNDcsCisJMHgxMWE1MCwgMHgxMWFhMiwKKwkweDExYWMwLCAweDExYWY4LAorCTB4MTFjMDAs
IDB4MTFjMDgsCisJMHgxMWMwYSwgMHgxMWMzNiwKKwkweDExYzM4LCAweDExYzQ1LAorCTB4MTFj
NTAsIDB4MTFjNmMsCisJMHgxMWM3MCwgMHgxMWM4ZiwKKwkweDExYzkyLCAweDExY2E3LAorCTB4
MTFjYTksIDB4MTFjYjYsCisJMHgxMWQwMCwgMHgxMWQwNiwKKwkweDExZDA4LCAweDExZDA5LAor
CTB4MTFkMGIsIDB4MTFkMzYsCisJMHgxMWQzYSwgMHgxMWQzYSwKKwkweDExZDNjLCAweDExZDNk
LAorCTB4MTFkM2YsIDB4MTFkNDcsCisJMHgxMWQ1MCwgMHgxMWQ1OSwKKwkweDExZDYwLCAweDEx
ZDY1LAorCTB4MTFkNjcsIDB4MTFkNjgsCisJMHgxMWQ2YSwgMHgxMWQ4ZSwKKwkweDExZDkwLCAw
eDExZDkxLAorCTB4MTFkOTMsIDB4MTFkOTgsCisJMHgxMWRhMCwgMHgxMWRhOSwKKwkweDExZWUw
LCAweDExZWY4LAorCTB4MTFmYzAsIDB4MTFmZjEsCisJMHgxMWZmZiwgMHgxMjM5OSwKKwkweDEy
NDAwLCAweDEyNDZlLAorCTB4MTI0NzAsIDB4MTI0NzQsCisJMHgxMjQ4MCwgMHgxMjU0MywKKwkw
eDEzMDAwLCAweDEzNDJlLAorCTB4MTM0MzAsIDB4MTM0MzgsCisJMHgxNDQwMCwgMHgxNDY0NiwK
KwkweDE2ODAwLCAweDE2YTM4LAorCTB4MTZhNDAsIDB4MTZhNWUsCisJMHgxNmE2MCwgMHgxNmE2
OSwKKwkweDE2YTZlLCAweDE2YTZmLAorCTB4MTZhZDAsIDB4MTZhZWQsCisJMHgxNmFmMCwgMHgx
NmFmNSwKKwkweDE2YjAwLCAweDE2YjQ1LAorCTB4MTZiNTAsIDB4MTZiNTksCisJMHgxNmI1Yiwg
MHgxNmI2MSwKKwkweDE2YjYzLCAweDE2Yjc3LAorCTB4MTZiN2QsIDB4MTZiOGYsCisJMHgxNmU0
MCwgMHgxNmU5YSwKKwkweDE2ZjAwLCAweDE2ZjRhLAorCTB4MTZmNGYsIDB4MTZmODcsCisJMHgx
NmY4ZiwgMHgxNmY5ZiwKKwkweDE2ZmUwLCAweDE2ZmUzLAorCTB4MTcwMDAsIDB4MTg3ZjcsCisJ
MHgxODgwMCwgMHgxOGFmMiwKKwkweDFiMDAwLCAweDFiMTFlLAorCTB4MWIxNTAsIDB4MWIxNTIs
CisJMHgxYjE2NCwgMHgxYjE2NywKKwkweDFiMTcwLCAweDFiMmZiLAorCTB4MWJjMDAsIDB4MWJj
NmEsCisJMHgxYmM3MCwgMHgxYmM3YywKKwkweDFiYzgwLCAweDFiYzg4LAorCTB4MWJjOTAsIDB4
MWJjOTksCisJMHgxYmM5YywgMHgxYmNhMywKKwkweDFkMDAwLCAweDFkMGY1LAorCTB4MWQxMDAs
IDB4MWQxMjYsCisJMHgxZDEyOSwgMHgxZDFlOCwKKwkweDFkMjAwLCAweDFkMjQ1LAorCTB4MWQy
ZTAsIDB4MWQyZjMsCisJMHgxZDMwMCwgMHgxZDM1NiwKKwkweDFkMzYwLCAweDFkMzc4LAorCTB4
MWQ0MDAsIDB4MWQ0NTQsCisJMHgxZDQ1NiwgMHgxZDQ5YywKKwkweDFkNDllLCAweDFkNDlmLAor
CTB4MWQ0YTIsIDB4MWQ0YTIsCisJMHgxZDRhNSwgMHgxZDRhNiwKKwkweDFkNGE5LCAweDFkNGFj
LAorCTB4MWQ0YWUsIDB4MWQ0YjksCisJMHgxZDRiYiwgMHgxZDRiYiwKKwkweDFkNGJkLCAweDFk
NGMzLAorCTB4MWQ0YzUsIDB4MWQ1MDUsCisJMHgxZDUwNywgMHgxZDUwYSwKKwkweDFkNTBkLCAw
eDFkNTE0LAorCTB4MWQ1MTYsIDB4MWQ1MWMsCisJMHgxZDUxZSwgMHgxZDUzOSwKKwkweDFkNTNi
LCAweDFkNTNlLAorCTB4MWQ1NDAsIDB4MWQ1NDQsCisJMHgxZDU0NiwgMHgxZDU0NiwKKwkweDFk
NTRhLCAweDFkNTUwLAorCTB4MWQ1NTIsIDB4MWQ2YTUsCisJMHgxZDZhOCwgMHgxZDdjYiwKKwkw
eDFkN2NlLCAweDFkYThiLAorCTB4MWRhOWIsIDB4MWRhOWYsCisJMHgxZGFhMSwgMHgxZGFhZiwK
KwkweDFlMDAwLCAweDFlMDA2LAorCTB4MWUwMDgsIDB4MWUwMTgsCisJMHgxZTAxYiwgMHgxZTAy
MSwKKwkweDFlMDIzLCAweDFlMDI0LAorCTB4MWUwMjYsIDB4MWUwMmEsCisJMHgxZTEwMCwgMHgx
ZTEyYywKKwkweDFlMTMwLCAweDFlMTNkLAorCTB4MWUxNDAsIDB4MWUxNDksCisJMHgxZTE0ZSwg
MHgxZTE0ZiwKKwkweDFlMmMwLCAweDFlMmY5LAorCTB4MWUyZmYsIDB4MWUyZmYsCisJMHgxZTgw
MCwgMHgxZThjNCwKKwkweDFlOGM3LCAweDFlOGQ2LAorCTB4MWU5MDAsIDB4MWU5NGIsCisJMHgx
ZTk1MCwgMHgxZTk1OSwKKwkweDFlOTVlLCAweDFlOTVmLAorCTB4MWVjNzEsIDB4MWVjYjQsCisJ
MHgxZWQwMSwgMHgxZWQzZCwKKwkweDFlZTAwLCAweDFlZTAzLAorCTB4MWVlMDUsIDB4MWVlMWYs
CisJMHgxZWUyMSwgMHgxZWUyMiwKKwkweDFlZTI0LCAweDFlZTI0LAorCTB4MWVlMjcsIDB4MWVl
MjcsCisJMHgxZWUyOSwgMHgxZWUzMiwKKwkweDFlZTM0LCAweDFlZTM3LAorCTB4MWVlMzksIDB4
MWVlMzksCisJMHgxZWUzYiwgMHgxZWUzYiwKKwkweDFlZTQyLCAweDFlZTQyLAorCTB4MWVlNDcs
IDB4MWVlNDcsCisJMHgxZWU0OSwgMHgxZWU0OSwKKwkweDFlZTRiLCAweDFlZTRiLAorCTB4MWVl
NGQsIDB4MWVlNGYsCisJMHgxZWU1MSwgMHgxZWU1MiwKKwkweDFlZTU0LCAweDFlZTU0LAorCTB4
MWVlNTcsIDB4MWVlNTcsCisJMHgxZWU1OSwgMHgxZWU1OSwKKwkweDFlZTViLCAweDFlZTViLAor
CTB4MWVlNWQsIDB4MWVlNWQsCisJMHgxZWU1ZiwgMHgxZWU1ZiwKKwkweDFlZTYxLCAweDFlZTYy
LAorCTB4MWVlNjQsIDB4MWVlNjQsCisJMHgxZWU2NywgMHgxZWU2YSwKKwkweDFlZTZjLCAweDFl
ZTcyLAorCTB4MWVlNzQsIDB4MWVlNzcsCisJMHgxZWU3OSwgMHgxZWU3YywKKwkweDFlZTdlLCAw
eDFlZTdlLAorCTB4MWVlODAsIDB4MWVlODksCisJMHgxZWU4YiwgMHgxZWU5YiwKKwkweDFlZWEx
LCAweDFlZWEzLAorCTB4MWVlYTUsIDB4MWVlYTksCisJMHgxZWVhYiwgMHgxZWViYiwKKwkweDFl
ZWYwLCAweDFlZWYxLAorCTB4MWYwMDAsIDB4MWYwMmIsCisJMHgxZjAzMCwgMHgxZjA5MywKKwkw
eDFmMGEwLCAweDFmMGFlLAorCTB4MWYwYjEsIDB4MWYwYmYsCisJMHgxZjBjMSwgMHgxZjBjZiwK
KwkweDFmMGQxLCAweDFmMGY1LAorCTB4MWYxMDAsIDB4MWYxMGMsCisJMHgxZjExMCwgMHgxZjE2
YywKKwkweDFmMTcwLCAweDFmMWFjLAorCTB4MWYxZTYsIDB4MWYyMDIsCisJMHgxZjIxMCwgMHgx
ZjIzYiwKKwkweDFmMjQwLCAweDFmMjQ4LAorCTB4MWYyNTAsIDB4MWYyNTEsCisJMHgxZjI2MCwg
MHgxZjI2NSwKKwkweDFmMzAwLCAweDFmNmQ1LAorCTB4MWY2ZTAsIDB4MWY2ZWMsCisJMHgxZjZm
MCwgMHgxZjZmYSwKKwkweDFmNzAwLCAweDFmNzczLAorCTB4MWY3ODAsIDB4MWY3ZDgsCisJMHgx
ZjdlMCwgMHgxZjdlYiwKKwkweDFmODAwLCAweDFmODBiLAorCTB4MWY4MTAsIDB4MWY4NDcsCisJ
MHgxZjg1MCwgMHgxZjg1OSwKKwkweDFmODYwLCAweDFmODg3LAorCTB4MWY4OTAsIDB4MWY4YWQs
CisJMHgxZjkwMCwgMHgxZjkwYiwKKwkweDFmOTBkLCAweDFmOTcxLAorCTB4MWY5NzMsIDB4MWY5
NzYsCisJMHgxZjk3YSwgMHgxZjlhMiwKKwkweDFmOWE1LCAweDFmOWFhLAorCTB4MWY5YWUsIDB4
MWY5Y2EsCisJMHgxZjljZCwgMHgxZmE1MywKKwkweDFmYTYwLCAweDFmYTZkLAorCTB4MWZhNzAs
IDB4MWZhNzMsCisJMHgxZmE3OCwgMHgxZmE3YSwKKwkweDFmYTgwLCAweDFmYTgyLAorCTB4MWZh
OTAsIDB4MWZhOTUsCisJMHgxZmZmZSwgMHgyYTZkNiwKKwkweDJhNzAwLCAweDJiNzM0LAorCTB4
MmI3NDAsIDB4MmI4MWQsCisJMHgyYjgyMCwgMHgyY2VhMSwKKwkweDJjZWIwLCAweDJlYmUwLAor
CTB4MmY4MDAsIDB4MmZhMWQsCisJMHgyZmZmZSwgMHgyZmZmZiwKKwkweDNmZmZlLCAweDNmZmZm
LAorCTB4NGZmZmUsIDB4NGZmZmYsCisJMHg1ZmZmZSwgMHg1ZmZmZiwKKwkweDZmZmZlLCAweDZm
ZmZmLAorCTB4N2ZmZmUsIDB4N2ZmZmYsCisJMHg4ZmZmZSwgMHg4ZmZmZiwKKwkweDlmZmZlLCAw
eDlmZmZmLAorCTB4YWZmZmUsIDB4YWZmZmYsCisJMHhiZmZmZSwgMHhiZmZmZiwKKwkweGNmZmZl
LCAweGNmZmZmLAorCTB4ZGZmZmUsIDB4ZGZmZmYsCisJMHhlMDAwMSwgMHhlMDAwMSwKKwkweGUw
MDIwLCAweGUwMDdmLAorCTB4ZTAxMDAsIDB4ZTAxZWYsCisJMHhlZmZmZSwgMHgxMGZmZmYsCit9
OyAvKiBDUl9BZ2VfMTJfMCAqLworCisvKiAnQWdlXzEyXzEnOiBEZXJpdmVkIEFnZSAxMi4xICov
CitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9BZ2VfMTJfMVtdID0geworCTY3NiwKKwkw
eDAwMDAsIDB4MDM3NywKKwkweDAzN2EsIDB4MDM3ZiwKKwkweDAzODQsIDB4MDM4YSwKKwkweDAz
OGMsIDB4MDM4YywKKwkweDAzOGUsIDB4MDNhMSwKKwkweDAzYTMsIDB4MDUyZiwKKwkweDA1MzEs
IDB4MDU1NiwKKwkweDA1NTksIDB4MDU4YSwKKwkweDA1OGQsIDB4MDU4ZiwKKwkweDA1OTEsIDB4
MDVjNywKKwkweDA1ZDAsIDB4MDVlYSwKKwkweDA1ZWYsIDB4MDVmNCwKKwkweDA2MDAsIDB4MDYx
YywKKwkweDA2MWUsIDB4MDcwZCwKKwkweDA3MGYsIDB4MDc0YSwKKwkweDA3NGQsIDB4MDdiMSwK
KwkweDA3YzAsIDB4MDdmYSwKKwkweDA3ZmQsIDB4MDgyZCwKKwkweDA4MzAsIDB4MDgzZSwKKwkw
eDA4NDAsIDB4MDg1YiwKKwkweDA4NWUsIDB4MDg1ZSwKKwkweDA4NjAsIDB4MDg2YSwKKwkweDA4
YTAsIDB4MDhiNCwKKwkweDA4YjYsIDB4MDhiZCwKKwkweDA4ZDMsIDB4MDk4MywKKwkweDA5ODUs
IDB4MDk4YywKKwkweDA5OGYsIDB4MDk5MCwKKwkweDA5OTMsIDB4MDlhOCwKKwkweDA5YWEsIDB4
MDliMCwKKwkweDA5YjIsIDB4MDliMiwKKwkweDA5YjYsIDB4MDliOSwKKwkweDA5YmMsIDB4MDlj
NCwKKwkweDA5YzcsIDB4MDljOCwKKwkweDA5Y2IsIDB4MDljZSwKKwkweDA5ZDcsIDB4MDlkNywK
KwkweDA5ZGMsIDB4MDlkZCwKKwkweDA5ZGYsIDB4MDllMywKKwkweDA5ZTYsIDB4MDlmZSwKKwkw
eDBhMDEsIDB4MGEwMywKKwkweDBhMDUsIDB4MGEwYSwKKwkweDBhMGYsIDB4MGExMCwKKwkweDBh
MTMsIDB4MGEyOCwKKwkweDBhMmEsIDB4MGEzMCwKKwkweDBhMzIsIDB4MGEzMywKKwkweDBhMzUs
IDB4MGEzNiwKKwkweDBhMzgsIDB4MGEzOSwKKwkweDBhM2MsIDB4MGEzYywKKwkweDBhM2UsIDB4
MGE0MiwKKwkweDBhNDcsIDB4MGE0OCwKKwkweDBhNGIsIDB4MGE0ZCwKKwkweDBhNTEsIDB4MGE1
MSwKKwkweDBhNTksIDB4MGE1YywKKwkweDBhNWUsIDB4MGE1ZSwKKwkweDBhNjYsIDB4MGE3NiwK
KwkweDBhODEsIDB4MGE4MywKKwkweDBhODUsIDB4MGE4ZCwKKwkweDBhOGYsIDB4MGE5MSwKKwkw
eDBhOTMsIDB4MGFhOCwKKwkweDBhYWEsIDB4MGFiMCwKKwkweDBhYjIsIDB4MGFiMywKKwkweDBh
YjUsIDB4MGFiOSwKKwkweDBhYmMsIDB4MGFjNSwKKwkweDBhYzcsIDB4MGFjOSwKKwkweDBhY2Is
IDB4MGFjZCwKKwkweDBhZDAsIDB4MGFkMCwKKwkweDBhZTAsIDB4MGFlMywKKwkweDBhZTYsIDB4
MGFmMSwKKwkweDBhZjksIDB4MGFmZiwKKwkweDBiMDEsIDB4MGIwMywKKwkweDBiMDUsIDB4MGIw
YywKKwkweDBiMGYsIDB4MGIxMCwKKwkweDBiMTMsIDB4MGIyOCwKKwkweDBiMmEsIDB4MGIzMCwK
KwkweDBiMzIsIDB4MGIzMywKKwkweDBiMzUsIDB4MGIzOSwKKwkweDBiM2MsIDB4MGI0NCwKKwkw
eDBiNDcsIDB4MGI0OCwKKwkweDBiNGIsIDB4MGI0ZCwKKwkweDBiNTYsIDB4MGI1NywKKwkweDBi
NWMsIDB4MGI1ZCwKKwkweDBiNWYsIDB4MGI2MywKKwkweDBiNjYsIDB4MGI3NywKKwkweDBiODIs
IDB4MGI4MywKKwkweDBiODUsIDB4MGI4YSwKKwkweDBiOGUsIDB4MGI5MCwKKwkweDBiOTIsIDB4
MGI5NSwKKwkweDBiOTksIDB4MGI5YSwKKwkweDBiOWMsIDB4MGI5YywKKwkweDBiOWUsIDB4MGI5
ZiwKKwkweDBiYTMsIDB4MGJhNCwKKwkweDBiYTgsIDB4MGJhYSwKKwkweDBiYWUsIDB4MGJiOSwK
KwkweDBiYmUsIDB4MGJjMiwKKwkweDBiYzYsIDB4MGJjOCwKKwkweDBiY2EsIDB4MGJjZCwKKwkw
eDBiZDAsIDB4MGJkMCwKKwkweDBiZDcsIDB4MGJkNywKKwkweDBiZTYsIDB4MGJmYSwKKwkweDBj
MDAsIDB4MGMwYywKKwkweDBjMGUsIDB4MGMxMCwKKwkweDBjMTIsIDB4MGMyOCwKKwkweDBjMmEs
IDB4MGMzOSwKKwkweDBjM2QsIDB4MGM0NCwKKwkweDBjNDYsIDB4MGM0OCwKKwkweDBjNGEsIDB4
MGM0ZCwKKwkweDBjNTUsIDB4MGM1NiwKKwkweDBjNTgsIDB4MGM1YSwKKwkweDBjNjAsIDB4MGM2
MywKKwkweDBjNjYsIDB4MGM2ZiwKKwkweDBjNzcsIDB4MGM4YywKKwkweDBjOGUsIDB4MGM5MCwK
KwkweDBjOTIsIDB4MGNhOCwKKwkweDBjYWEsIDB4MGNiMywKKwkweDBjYjUsIDB4MGNiOSwKKwkw
eDBjYmMsIDB4MGNjNCwKKwkweDBjYzYsIDB4MGNjOCwKKwkweDBjY2EsIDB4MGNjZCwKKwkweDBj
ZDUsIDB4MGNkNiwKKwkweDBjZGUsIDB4MGNkZSwKKwkweDBjZTAsIDB4MGNlMywKKwkweDBjZTYs
IDB4MGNlZiwKKwkweDBjZjEsIDB4MGNmMiwKKwkweDBkMDAsIDB4MGQwMywKKwkweDBkMDUsIDB4
MGQwYywKKwkweDBkMGUsIDB4MGQxMCwKKwkweDBkMTIsIDB4MGQ0NCwKKwkweDBkNDYsIDB4MGQ0
OCwKKwkweDBkNGEsIDB4MGQ0ZiwKKwkweDBkNTQsIDB4MGQ2MywKKwkweDBkNjYsIDB4MGQ3ZiwK
KwkweDBkODIsIDB4MGQ4MywKKwkweDBkODUsIDB4MGQ5NiwKKwkweDBkOWEsIDB4MGRiMSwKKwkw
eDBkYjMsIDB4MGRiYiwKKwkweDBkYmQsIDB4MGRiZCwKKwkweDBkYzAsIDB4MGRjNiwKKwkweDBk
Y2EsIDB4MGRjYSwKKwkweDBkY2YsIDB4MGRkNCwKKwkweDBkZDYsIDB4MGRkNiwKKwkweDBkZDgs
IDB4MGRkZiwKKwkweDBkZTYsIDB4MGRlZiwKKwkweDBkZjIsIDB4MGRmNCwKKwkweDBlMDEsIDB4
MGUzYSwKKwkweDBlM2YsIDB4MGU1YiwKKwkweDBlODEsIDB4MGU4MiwKKwkweDBlODQsIDB4MGU4
NCwKKwkweDBlODYsIDB4MGU4YSwKKwkweDBlOGMsIDB4MGVhMywKKwkweDBlYTUsIDB4MGVhNSwK
KwkweDBlYTcsIDB4MGViZCwKKwkweDBlYzAsIDB4MGVjNCwKKwkweDBlYzYsIDB4MGVjNiwKKwkw
eDBlYzgsIDB4MGVjZCwKKwkweDBlZDAsIDB4MGVkOSwKKwkweDBlZGMsIDB4MGVkZiwKKwkweDBm
MDAsIDB4MGY0NywKKwkweDBmNDksIDB4MGY2YywKKwkweDBmNzEsIDB4MGY5NywKKwkweDBmOTks
IDB4MGZiYywKKwkweDBmYmUsIDB4MGZjYywKKwkweDBmY2UsIDB4MGZkYSwKKwkweDEwMDAsIDB4
MTBjNSwKKwkweDEwYzcsIDB4MTBjNywKKwkweDEwY2QsIDB4MTBjZCwKKwkweDEwZDAsIDB4MTI0
OCwKKwkweDEyNGEsIDB4MTI0ZCwKKwkweDEyNTAsIDB4MTI1NiwKKwkweDEyNTgsIDB4MTI1OCwK
KwkweDEyNWEsIDB4MTI1ZCwKKwkweDEyNjAsIDB4MTI4OCwKKwkweDEyOGEsIDB4MTI4ZCwKKwkw
eDEyOTAsIDB4MTJiMCwKKwkweDEyYjIsIDB4MTJiNSwKKwkweDEyYjgsIDB4MTJiZSwKKwkweDEy
YzAsIDB4MTJjMCwKKwkweDEyYzIsIDB4MTJjNSwKKwkweDEyYzgsIDB4MTJkNiwKKwkweDEyZDgs
IDB4MTMxMCwKKwkweDEzMTIsIDB4MTMxNSwKKwkweDEzMTgsIDB4MTM1YSwKKwkweDEzNWQsIDB4
MTM3YywKKwkweDEzODAsIDB4MTM5OSwKKwkweDEzYTAsIDB4MTNmNSwKKwkweDEzZjgsIDB4MTNm
ZCwKKwkweDE0MDAsIDB4MTY5YywKKwkweDE2YTAsIDB4MTZmOCwKKwkweDE3MDAsIDB4MTcwYywK
KwkweDE3MGUsIDB4MTcxNCwKKwkweDE3MjAsIDB4MTczNiwKKwkweDE3NDAsIDB4MTc1MywKKwkw
eDE3NjAsIDB4MTc2YywKKwkweDE3NmUsIDB4MTc3MCwKKwkweDE3NzIsIDB4MTc3MywKKwkweDE3
ODAsIDB4MTdkZCwKKwkweDE3ZTAsIDB4MTdlOSwKKwkweDE3ZjAsIDB4MTdmOSwKKwkweDE4MDAs
IDB4MTgwZSwKKwkweDE4MTAsIDB4MTgxOSwKKwkweDE4MjAsIDB4MTg3OCwKKwkweDE4ODAsIDB4
MThhYSwKKwkweDE4YjAsIDB4MThmNSwKKwkweDE5MDAsIDB4MTkxZSwKKwkweDE5MjAsIDB4MTky
YiwKKwkweDE5MzAsIDB4MTkzYiwKKwkweDE5NDAsIDB4MTk0MCwKKwkweDE5NDQsIDB4MTk2ZCwK
KwkweDE5NzAsIDB4MTk3NCwKKwkweDE5ODAsIDB4MTlhYiwKKwkweDE5YjAsIDB4MTljOSwKKwkw
eDE5ZDAsIDB4MTlkYSwKKwkweDE5ZGUsIDB4MWExYiwKKwkweDFhMWUsIDB4MWE1ZSwKKwkweDFh
NjAsIDB4MWE3YywKKwkweDFhN2YsIDB4MWE4OSwKKwkweDFhOTAsIDB4MWE5OSwKKwkweDFhYTAs
IDB4MWFhZCwKKwkweDFhYjAsIDB4MWFiZSwKKwkweDFiMDAsIDB4MWI0YiwKKwkweDFiNTAsIDB4
MWI3YywKKwkweDFiODAsIDB4MWJmMywKKwkweDFiZmMsIDB4MWMzNywKKwkweDFjM2IsIDB4MWM0
OSwKKwkweDFjNGQsIDB4MWM4OCwKKwkweDFjOTAsIDB4MWNiYSwKKwkweDFjYmQsIDB4MWNjNywK
KwkweDFjZDAsIDB4MWNmYSwKKwkweDFkMDAsIDB4MWRmOSwKKwkweDFkZmIsIDB4MWYxNSwKKwkw
eDFmMTgsIDB4MWYxZCwKKwkweDFmMjAsIDB4MWY0NSwKKwkweDFmNDgsIDB4MWY0ZCwKKwkweDFm
NTAsIDB4MWY1NywKKwkweDFmNTksIDB4MWY1OSwKKwkweDFmNWIsIDB4MWY1YiwKKwkweDFmNWQs
IDB4MWY1ZCwKKwkweDFmNWYsIDB4MWY3ZCwKKwkweDFmODAsIDB4MWZiNCwKKwkweDFmYjYsIDB4
MWZjNCwKKwkweDFmYzYsIDB4MWZkMywKKwkweDFmZDYsIDB4MWZkYiwKKwkweDFmZGQsIDB4MWZl
ZiwKKwkweDFmZjIsIDB4MWZmNCwKKwkweDFmZjYsIDB4MWZmZSwKKwkweDIwMDAsIDB4MjA2NCwK
KwkweDIwNjYsIDB4MjA3MSwKKwkweDIwNzQsIDB4MjA4ZSwKKwkweDIwOTAsIDB4MjA5YywKKwkw
eDIwYTAsIDB4MjBiZiwKKwkweDIwZDAsIDB4MjBmMCwKKwkweDIxMDAsIDB4MjE4YiwKKwkweDIx
OTAsIDB4MjQyNiwKKwkweDI0NDAsIDB4MjQ0YSwKKwkweDI0NjAsIDB4MmI3MywKKwkweDJiNzYs
IDB4MmI5NSwKKwkweDJiOTgsIDB4MmMyZSwKKwkweDJjMzAsIDB4MmM1ZSwKKwkweDJjNjAsIDB4
MmNmMywKKwkweDJjZjksIDB4MmQyNSwKKwkweDJkMjcsIDB4MmQyNywKKwkweDJkMmQsIDB4MmQy
ZCwKKwkweDJkMzAsIDB4MmQ2NywKKwkweDJkNmYsIDB4MmQ3MCwKKwkweDJkN2YsIDB4MmQ5NiwK
KwkweDJkYTAsIDB4MmRhNiwKKwkweDJkYTgsIDB4MmRhZSwKKwkweDJkYjAsIDB4MmRiNiwKKwkw
eDJkYjgsIDB4MmRiZSwKKwkweDJkYzAsIDB4MmRjNiwKKwkweDJkYzgsIDB4MmRjZSwKKwkweDJk
ZDAsIDB4MmRkNiwKKwkweDJkZDgsIDB4MmRkZSwKKwkweDJkZTAsIDB4MmU0ZiwKKwkweDJlODAs
IDB4MmU5OSwKKwkweDJlOWIsIDB4MmVmMywKKwkweDJmMDAsIDB4MmZkNSwKKwkweDJmZjAsIDB4
MmZmYiwKKwkweDMwMDAsIDB4MzAzZiwKKwkweDMwNDEsIDB4MzA5NiwKKwkweDMwOTksIDB4MzBm
ZiwKKwkweDMxMDUsIDB4MzEyZiwKKwkweDMxMzEsIDB4MzE4ZSwKKwkweDMxOTAsIDB4MzFiYSwK
KwkweDMxYzAsIDB4MzFlMywKKwkweDMxZjAsIDB4MzIxZSwKKwkweDMyMjAsIDB4NGRiNSwKKwkw
eDRkYzAsIDB4OWZlZiwKKwkweGEwMDAsIDB4YTQ4YywKKwkweGE0OTAsIDB4YTRjNiwKKwkweGE0
ZDAsIDB4YTYyYiwKKwkweGE2NDAsIDB4YTZmNywKKwkweGE3MDAsIDB4YTdiZiwKKwkweGE3YzIs
IDB4YTdjNiwKKwkweGE3ZjcsIDB4YTgyYiwKKwkweGE4MzAsIDB4YTgzOSwKKwkweGE4NDAsIDB4
YTg3NywKKwkweGE4ODAsIDB4YThjNSwKKwkweGE4Y2UsIDB4YThkOSwKKwkweGE4ZTAsIDB4YTk1
MywKKwkweGE5NWYsIDB4YTk3YywKKwkweGE5ODAsIDB4YTljZCwKKwkweGE5Y2YsIDB4YTlkOSwK
KwkweGE5ZGUsIDB4YTlmZSwKKwkweGFhMDAsIDB4YWEzNiwKKwkweGFhNDAsIDB4YWE0ZCwKKwkw
eGFhNTAsIDB4YWE1OSwKKwkweGFhNWMsIDB4YWFjMiwKKwkweGFhZGIsIDB4YWFmNiwKKwkweGFi
MDEsIDB4YWIwNiwKKwkweGFiMDksIDB4YWIwZSwKKwkweGFiMTEsIDB4YWIxNiwKKwkweGFiMjAs
IDB4YWIyNiwKKwkweGFiMjgsIDB4YWIyZSwKKwkweGFiMzAsIDB4YWI2NywKKwkweGFiNzAsIDB4
YWJlZCwKKwkweGFiZjAsIDB4YWJmOSwKKwkweGFjMDAsIDB4ZDdhMywKKwkweGQ3YjAsIDB4ZDdj
NiwKKwkweGQ3Y2IsIDB4ZDdmYiwKKwkweGQ4MDAsIDB4ZmE2ZCwKKwkweGZhNzAsIDB4ZmFkOSwK
KwkweGZiMDAsIDB4ZmIwNiwKKwkweGZiMTMsIDB4ZmIxNywKKwkweGZiMWQsIDB4ZmIzNiwKKwkw
eGZiMzgsIDB4ZmIzYywKKwkweGZiM2UsIDB4ZmIzZSwKKwkweGZiNDAsIDB4ZmI0MSwKKwkweGZi
NDMsIDB4ZmI0NCwKKwkweGZiNDYsIDB4ZmJjMSwKKwkweGZiZDMsIDB4ZmQzZiwKKwkweGZkNTAs
IDB4ZmQ4ZiwKKwkweGZkOTIsIDB4ZmRjNywKKwkweGZkZDAsIDB4ZmRmZCwKKwkweGZlMDAsIDB4
ZmUxOSwKKwkweGZlMjAsIDB4ZmU1MiwKKwkweGZlNTQsIDB4ZmU2NiwKKwkweGZlNjgsIDB4ZmU2
YiwKKwkweGZlNzAsIDB4ZmU3NCwKKwkweGZlNzYsIDB4ZmVmYywKKwkweGZlZmYsIDB4ZmVmZiwK
KwkweGZmMDEsIDB4ZmZiZSwKKwkweGZmYzIsIDB4ZmZjNywKKwkweGZmY2EsIDB4ZmZjZiwKKwkw
eGZmZDIsIDB4ZmZkNywKKwkweGZmZGEsIDB4ZmZkYywKKwkweGZmZTAsIDB4ZmZlNiwKKwkweGZm
ZTgsIDB4ZmZlZSwKKwkweGZmZjksIDB4MTAwMGIsCisJMHgxMDAwZCwgMHgxMDAyNiwKKwkweDEw
MDI4LCAweDEwMDNhLAorCTB4MTAwM2MsIDB4MTAwM2QsCisJMHgxMDAzZiwgMHgxMDA0ZCwKKwkw
eDEwMDUwLCAweDEwMDVkLAorCTB4MTAwODAsIDB4MTAwZmEsCisJMHgxMDEwMCwgMHgxMDEwMiwK
KwkweDEwMTA3LCAweDEwMTMzLAorCTB4MTAxMzcsIDB4MTAxOGUsCisJMHgxMDE5MCwgMHgxMDE5
YiwKKwkweDEwMWEwLCAweDEwMWEwLAorCTB4MTAxZDAsIDB4MTAxZmQsCisJMHgxMDI4MCwgMHgx
MDI5YywKKwkweDEwMmEwLCAweDEwMmQwLAorCTB4MTAyZTAsIDB4MTAyZmIsCisJMHgxMDMwMCwg
MHgxMDMyMywKKwkweDEwMzJkLCAweDEwMzRhLAorCTB4MTAzNTAsIDB4MTAzN2EsCisJMHgxMDM4
MCwgMHgxMDM5ZCwKKwkweDEwMzlmLCAweDEwM2MzLAorCTB4MTAzYzgsIDB4MTAzZDUsCisJMHgx
MDQwMCwgMHgxMDQ5ZCwKKwkweDEwNGEwLCAweDEwNGE5LAorCTB4MTA0YjAsIDB4MTA0ZDMsCisJ
MHgxMDRkOCwgMHgxMDRmYiwKKwkweDEwNTAwLCAweDEwNTI3LAorCTB4MTA1MzAsIDB4MTA1NjMs
CisJMHgxMDU2ZiwgMHgxMDU2ZiwKKwkweDEwNjAwLCAweDEwNzM2LAorCTB4MTA3NDAsIDB4MTA3
NTUsCisJMHgxMDc2MCwgMHgxMDc2NywKKwkweDEwODAwLCAweDEwODA1LAorCTB4MTA4MDgsIDB4
MTA4MDgsCisJMHgxMDgwYSwgMHgxMDgzNSwKKwkweDEwODM3LCAweDEwODM4LAorCTB4MTA4M2Ms
IDB4MTA4M2MsCisJMHgxMDgzZiwgMHgxMDg1NSwKKwkweDEwODU3LCAweDEwODllLAorCTB4MTA4
YTcsIDB4MTA4YWYsCisJMHgxMDhlMCwgMHgxMDhmMiwKKwkweDEwOGY0LCAweDEwOGY1LAorCTB4
MTA4ZmIsIDB4MTA5MWIsCisJMHgxMDkxZiwgMHgxMDkzOSwKKwkweDEwOTNmLCAweDEwOTNmLAor
CTB4MTA5ODAsIDB4MTA5YjcsCisJMHgxMDliYywgMHgxMDljZiwKKwkweDEwOWQyLCAweDEwYTAz
LAorCTB4MTBhMDUsIDB4MTBhMDYsCisJMHgxMGEwYywgMHgxMGExMywKKwkweDEwYTE1LCAweDEw
YTE3LAorCTB4MTBhMTksIDB4MTBhMzUsCisJMHgxMGEzOCwgMHgxMGEzYSwKKwkweDEwYTNmLCAw
eDEwYTQ4LAorCTB4MTBhNTAsIDB4MTBhNTgsCisJMHgxMGE2MCwgMHgxMGE5ZiwKKwkweDEwYWMw
LCAweDEwYWU2LAorCTB4MTBhZWIsIDB4MTBhZjYsCisJMHgxMGIwMCwgMHgxMGIzNSwKKwkweDEw
YjM5LCAweDEwYjU1LAorCTB4MTBiNTgsIDB4MTBiNzIsCisJMHgxMGI3OCwgMHgxMGI5MSwKKwkw
eDEwYjk5LCAweDEwYjljLAorCTB4MTBiYTksIDB4MTBiYWYsCisJMHgxMGMwMCwgMHgxMGM0OCwK
KwkweDEwYzgwLCAweDEwY2IyLAorCTB4MTBjYzAsIDB4MTBjZjIsCisJMHgxMGNmYSwgMHgxMGQy
NywKKwkweDEwZDMwLCAweDEwZDM5LAorCTB4MTBlNjAsIDB4MTBlN2UsCisJMHgxMGYwMCwgMHgx
MGYyNywKKwkweDEwZjMwLCAweDEwZjU5LAorCTB4MTBmZTAsIDB4MTBmZjYsCisJMHgxMTAwMCwg
MHgxMTA0ZCwKKwkweDExMDUyLCAweDExMDZmLAorCTB4MTEwN2YsIDB4MTEwYzEsCisJMHgxMTBj
ZCwgMHgxMTBjZCwKKwkweDExMGQwLCAweDExMGU4LAorCTB4MTEwZjAsIDB4MTEwZjksCisJMHgx
MTEwMCwgMHgxMTEzNCwKKwkweDExMTM2LCAweDExMTQ2LAorCTB4MTExNTAsIDB4MTExNzYsCisJ
MHgxMTE4MCwgMHgxMTFjZCwKKwkweDExMWQwLCAweDExMWRmLAorCTB4MTExZTEsIDB4MTExZjQs
CisJMHgxMTIwMCwgMHgxMTIxMSwKKwkweDExMjEzLCAweDExMjNlLAorCTB4MTEyODAsIDB4MTEy
ODYsCisJMHgxMTI4OCwgMHgxMTI4OCwKKwkweDExMjhhLCAweDExMjhkLAorCTB4MTEyOGYsIDB4
MTEyOWQsCisJMHgxMTI5ZiwgMHgxMTJhOSwKKwkweDExMmIwLCAweDExMmVhLAorCTB4MTEyZjAs
IDB4MTEyZjksCisJMHgxMTMwMCwgMHgxMTMwMywKKwkweDExMzA1LCAweDExMzBjLAorCTB4MTEz
MGYsIDB4MTEzMTAsCisJMHgxMTMxMywgMHgxMTMyOCwKKwkweDExMzJhLCAweDExMzMwLAorCTB4
MTEzMzIsIDB4MTEzMzMsCisJMHgxMTMzNSwgMHgxMTMzOSwKKwkweDExMzNiLCAweDExMzQ0LAor
CTB4MTEzNDcsIDB4MTEzNDgsCisJMHgxMTM0YiwgMHgxMTM0ZCwKKwkweDExMzUwLCAweDExMzUw
LAorCTB4MTEzNTcsIDB4MTEzNTcsCisJMHgxMTM1ZCwgMHgxMTM2MywKKwkweDExMzY2LCAweDEx
MzZjLAorCTB4MTEzNzAsIDB4MTEzNzQsCisJMHgxMTQwMCwgMHgxMTQ1OSwKKwkweDExNDViLCAw
eDExNDViLAorCTB4MTE0NWQsIDB4MTE0NWYsCisJMHgxMTQ4MCwgMHgxMTRjNywKKwkweDExNGQw
LCAweDExNGQ5LAorCTB4MTE1ODAsIDB4MTE1YjUsCisJMHgxMTViOCwgMHgxMTVkZCwKKwkweDEx
NjAwLCAweDExNjQ0LAorCTB4MTE2NTAsIDB4MTE2NTksCisJMHgxMTY2MCwgMHgxMTY2YywKKwkw
eDExNjgwLCAweDExNmI4LAorCTB4MTE2YzAsIDB4MTE2YzksCisJMHgxMTcwMCwgMHgxMTcxYSwK
KwkweDExNzFkLCAweDExNzJiLAorCTB4MTE3MzAsIDB4MTE3M2YsCisJMHgxMTgwMCwgMHgxMTgz
YiwKKwkweDExOGEwLCAweDExOGYyLAorCTB4MTE4ZmYsIDB4MTE4ZmYsCisJMHgxMTlhMCwgMHgx
MTlhNywKKwkweDExOWFhLCAweDExOWQ3LAorCTB4MTE5ZGEsIDB4MTE5ZTQsCisJMHgxMWEwMCwg
MHgxMWE0NywKKwkweDExYTUwLCAweDExYWEyLAorCTB4MTFhYzAsIDB4MTFhZjgsCisJMHgxMWMw
MCwgMHgxMWMwOCwKKwkweDExYzBhLCAweDExYzM2LAorCTB4MTFjMzgsIDB4MTFjNDUsCisJMHgx
MWM1MCwgMHgxMWM2YywKKwkweDExYzcwLCAweDExYzhmLAorCTB4MTFjOTIsIDB4MTFjYTcsCisJ
MHgxMWNhOSwgMHgxMWNiNiwKKwkweDExZDAwLCAweDExZDA2LAorCTB4MTFkMDgsIDB4MTFkMDks
CisJMHgxMWQwYiwgMHgxMWQzNiwKKwkweDExZDNhLCAweDExZDNhLAorCTB4MTFkM2MsIDB4MTFk
M2QsCisJMHgxMWQzZiwgMHgxMWQ0NywKKwkweDExZDUwLCAweDExZDU5LAorCTB4MTFkNjAsIDB4
MTFkNjUsCisJMHgxMWQ2NywgMHgxMWQ2OCwKKwkweDExZDZhLCAweDExZDhlLAorCTB4MTFkOTAs
IDB4MTFkOTEsCisJMHgxMWQ5MywgMHgxMWQ5OCwKKwkweDExZGEwLCAweDExZGE5LAorCTB4MTFl
ZTAsIDB4MTFlZjgsCisJMHgxMWZjMCwgMHgxMWZmMSwKKwkweDExZmZmLCAweDEyMzk5LAorCTB4
MTI0MDAsIDB4MTI0NmUsCisJMHgxMjQ3MCwgMHgxMjQ3NCwKKwkweDEyNDgwLCAweDEyNTQzLAor
CTB4MTMwMDAsIDB4MTM0MmUsCisJMHgxMzQzMCwgMHgxMzQzOCwKKwkweDE0NDAwLCAweDE0NjQ2
LAorCTB4MTY4MDAsIDB4MTZhMzgsCisJMHgxNmE0MCwgMHgxNmE1ZSwKKwkweDE2YTYwLCAweDE2
YTY5LAorCTB4MTZhNmUsIDB4MTZhNmYsCisJMHgxNmFkMCwgMHgxNmFlZCwKKwkweDE2YWYwLCAw
eDE2YWY1LAorCTB4MTZiMDAsIDB4MTZiNDUsCisJMHgxNmI1MCwgMHgxNmI1OSwKKwkweDE2YjVi
LCAweDE2YjYxLAorCTB4MTZiNjMsIDB4MTZiNzcsCisJMHgxNmI3ZCwgMHgxNmI4ZiwKKwkweDE2
ZTQwLCAweDE2ZTlhLAorCTB4MTZmMDAsIDB4MTZmNGEsCisJMHgxNmY0ZiwgMHgxNmY4NywKKwkw
eDE2ZjhmLCAweDE2ZjlmLAorCTB4MTZmZTAsIDB4MTZmZTMsCisJMHgxNzAwMCwgMHgxODdmNywK
KwkweDE4ODAwLCAweDE4YWYyLAorCTB4MWIwMDAsIDB4MWIxMWUsCisJMHgxYjE1MCwgMHgxYjE1
MiwKKwkweDFiMTY0LCAweDFiMTY3LAorCTB4MWIxNzAsIDB4MWIyZmIsCisJMHgxYmMwMCwgMHgx
YmM2YSwKKwkweDFiYzcwLCAweDFiYzdjLAorCTB4MWJjODAsIDB4MWJjODgsCisJMHgxYmM5MCwg
MHgxYmM5OSwKKwkweDFiYzljLCAweDFiY2EzLAorCTB4MWQwMDAsIDB4MWQwZjUsCisJMHgxZDEw
MCwgMHgxZDEyNiwKKwkweDFkMTI5LCAweDFkMWU4LAorCTB4MWQyMDAsIDB4MWQyNDUsCisJMHgx
ZDJlMCwgMHgxZDJmMywKKwkweDFkMzAwLCAweDFkMzU2LAorCTB4MWQzNjAsIDB4MWQzNzgsCisJ
MHgxZDQwMCwgMHgxZDQ1NCwKKwkweDFkNDU2LCAweDFkNDljLAorCTB4MWQ0OWUsIDB4MWQ0OWYs
CisJMHgxZDRhMiwgMHgxZDRhMiwKKwkweDFkNGE1LCAweDFkNGE2LAorCTB4MWQ0YTksIDB4MWQ0
YWMsCisJMHgxZDRhZSwgMHgxZDRiOSwKKwkweDFkNGJiLCAweDFkNGJiLAorCTB4MWQ0YmQsIDB4
MWQ0YzMsCisJMHgxZDRjNSwgMHgxZDUwNSwKKwkweDFkNTA3LCAweDFkNTBhLAorCTB4MWQ1MGQs
IDB4MWQ1MTQsCisJMHgxZDUxNiwgMHgxZDUxYywKKwkweDFkNTFlLCAweDFkNTM5LAorCTB4MWQ1
M2IsIDB4MWQ1M2UsCisJMHgxZDU0MCwgMHgxZDU0NCwKKwkweDFkNTQ2LCAweDFkNTQ2LAorCTB4
MWQ1NGEsIDB4MWQ1NTAsCisJMHgxZDU1MiwgMHgxZDZhNSwKKwkweDFkNmE4LCAweDFkN2NiLAor
CTB4MWQ3Y2UsIDB4MWRhOGIsCisJMHgxZGE5YiwgMHgxZGE5ZiwKKwkweDFkYWExLCAweDFkYWFm
LAorCTB4MWUwMDAsIDB4MWUwMDYsCisJMHgxZTAwOCwgMHgxZTAxOCwKKwkweDFlMDFiLCAweDFl
MDIxLAorCTB4MWUwMjMsIDB4MWUwMjQsCisJMHgxZTAyNiwgMHgxZTAyYSwKKwkweDFlMTAwLCAw
eDFlMTJjLAorCTB4MWUxMzAsIDB4MWUxM2QsCisJMHgxZTE0MCwgMHgxZTE0OSwKKwkweDFlMTRl
LCAweDFlMTRmLAorCTB4MWUyYzAsIDB4MWUyZjksCisJMHgxZTJmZiwgMHgxZTJmZiwKKwkweDFl
ODAwLCAweDFlOGM0LAorCTB4MWU4YzcsIDB4MWU4ZDYsCisJMHgxZTkwMCwgMHgxZTk0YiwKKwkw
eDFlOTUwLCAweDFlOTU5LAorCTB4MWU5NWUsIDB4MWU5NWYsCisJMHgxZWM3MSwgMHgxZWNiNCwK
KwkweDFlZDAxLCAweDFlZDNkLAorCTB4MWVlMDAsIDB4MWVlMDMsCisJMHgxZWUwNSwgMHgxZWUx
ZiwKKwkweDFlZTIxLCAweDFlZTIyLAorCTB4MWVlMjQsIDB4MWVlMjQsCisJMHgxZWUyNywgMHgx
ZWUyNywKKwkweDFlZTI5LCAweDFlZTMyLAorCTB4MWVlMzQsIDB4MWVlMzcsCisJMHgxZWUzOSwg
MHgxZWUzOSwKKwkweDFlZTNiLCAweDFlZTNiLAorCTB4MWVlNDIsIDB4MWVlNDIsCisJMHgxZWU0
NywgMHgxZWU0NywKKwkweDFlZTQ5LCAweDFlZTQ5LAorCTB4MWVlNGIsIDB4MWVlNGIsCisJMHgx
ZWU0ZCwgMHgxZWU0ZiwKKwkweDFlZTUxLCAweDFlZTUyLAorCTB4MWVlNTQsIDB4MWVlNTQsCisJ
MHgxZWU1NywgMHgxZWU1NywKKwkweDFlZTU5LCAweDFlZTU5LAorCTB4MWVlNWIsIDB4MWVlNWIs
CisJMHgxZWU1ZCwgMHgxZWU1ZCwKKwkweDFlZTVmLCAweDFlZTVmLAorCTB4MWVlNjEsIDB4MWVl
NjIsCisJMHgxZWU2NCwgMHgxZWU2NCwKKwkweDFlZTY3LCAweDFlZTZhLAorCTB4MWVlNmMsIDB4
MWVlNzIsCisJMHgxZWU3NCwgMHgxZWU3NywKKwkweDFlZTc5LCAweDFlZTdjLAorCTB4MWVlN2Us
IDB4MWVlN2UsCisJMHgxZWU4MCwgMHgxZWU4OSwKKwkweDFlZThiLCAweDFlZTliLAorCTB4MWVl
YTEsIDB4MWVlYTMsCisJMHgxZWVhNSwgMHgxZWVhOSwKKwkweDFlZWFiLCAweDFlZWJiLAorCTB4
MWVlZjAsIDB4MWVlZjEsCisJMHgxZjAwMCwgMHgxZjAyYiwKKwkweDFmMDMwLCAweDFmMDkzLAor
CTB4MWYwYTAsIDB4MWYwYWUsCisJMHgxZjBiMSwgMHgxZjBiZiwKKwkweDFmMGMxLCAweDFmMGNm
LAorCTB4MWYwZDEsIDB4MWYwZjUsCisJMHgxZjEwMCwgMHgxZjEwYywKKwkweDFmMTEwLCAweDFm
MTZjLAorCTB4MWYxNzAsIDB4MWYxYWMsCisJMHgxZjFlNiwgMHgxZjIwMiwKKwkweDFmMjEwLCAw
eDFmMjNiLAorCTB4MWYyNDAsIDB4MWYyNDgsCisJMHgxZjI1MCwgMHgxZjI1MSwKKwkweDFmMjYw
LCAweDFmMjY1LAorCTB4MWYzMDAsIDB4MWY2ZDUsCisJMHgxZjZlMCwgMHgxZjZlYywKKwkweDFm
NmYwLCAweDFmNmZhLAorCTB4MWY3MDAsIDB4MWY3NzMsCisJMHgxZjc4MCwgMHgxZjdkOCwKKwkw
eDFmN2UwLCAweDFmN2ViLAorCTB4MWY4MDAsIDB4MWY4MGIsCisJMHgxZjgxMCwgMHgxZjg0NywK
KwkweDFmODUwLCAweDFmODU5LAorCTB4MWY4NjAsIDB4MWY4ODcsCisJMHgxZjg5MCwgMHgxZjhh
ZCwKKwkweDFmOTAwLCAweDFmOTBiLAorCTB4MWY5MGQsIDB4MWY5NzEsCisJMHgxZjk3MywgMHgx
Zjk3NiwKKwkweDFmOTdhLCAweDFmOWEyLAorCTB4MWY5YTUsIDB4MWY5YWEsCisJMHgxZjlhZSwg
MHgxZjljYSwKKwkweDFmOWNkLCAweDFmYTUzLAorCTB4MWZhNjAsIDB4MWZhNmQsCisJMHgxZmE3
MCwgMHgxZmE3MywKKwkweDFmYTc4LCAweDFmYTdhLAorCTB4MWZhODAsIDB4MWZhODIsCisJMHgx
ZmE5MCwgMHgxZmE5NSwKKwkweDFmZmZlLCAweDJhNmQ2LAorCTB4MmE3MDAsIDB4MmI3MzQsCisJ
MHgyYjc0MCwgMHgyYjgxZCwKKwkweDJiODIwLCAweDJjZWExLAorCTB4MmNlYjAsIDB4MmViZTAs
CisJMHgyZjgwMCwgMHgyZmExZCwKKwkweDJmZmZlLCAweDJmZmZmLAorCTB4M2ZmZmUsIDB4M2Zm
ZmYsCisJMHg0ZmZmZSwgMHg0ZmZmZiwKKwkweDVmZmZlLCAweDVmZmZmLAorCTB4NmZmZmUsIDB4
NmZmZmYsCisJMHg3ZmZmZSwgMHg3ZmZmZiwKKwkweDhmZmZlLCAweDhmZmZmLAorCTB4OWZmZmUs
IDB4OWZmZmYsCisJMHhhZmZmZSwgMHhhZmZmZiwKKwkweGJmZmZlLCAweGJmZmZmLAorCTB4Y2Zm
ZmUsIDB4Y2ZmZmYsCisJMHhkZmZmZSwgMHhkZmZmZiwKKwkweGUwMDAxLCAweGUwMDAxLAorCTB4
ZTAwMjAsIDB4ZTAwN2YsCisJMHhlMDEwMCwgMHhlMDFlZiwKKwkweGVmZmZlLCAweDEwZmZmZiwK
K307IC8qIENSX0FnZV8xMl8xICovCisKKyNlbmRpZiAvKiBVU0VfVU5JQ09ERV9BR0VfUFJPUEVS
VElFUyAqLworLyogJ0dyYXBoZW1lX0NsdXN0ZXJfQnJlYWtfUHJlcGVuZCc6IEdyYXBoZW1lX0Ns
dXN0ZXJfQnJlYWs9UHJlcGVuZCAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfR3Jh
cGhlbWVfQ2x1c3Rlcl9CcmVha19QcmVwZW5kW10gPSB7CisJMTEsCisJMHgwNjAwLCAweDA2MDUs
CisJMHgwNmRkLCAweDA2ZGQsCisJMHgwNzBmLCAweDA3MGYsCisJMHgwOGUyLCAweDA4ZTIsCisJ
MHgwZDRlLCAweDBkNGUsCisJMHgxMTBiZCwgMHgxMTBiZCwKKwkweDExMGNkLCAweDExMGNkLAor
CTB4MTExYzIsIDB4MTExYzMsCisJMHgxMWEzYSwgMHgxMWEzYSwKKwkweDExYTg0LCAweDExYTg5
LAorCTB4MTFkNDYsIDB4MTFkNDYsCit9OyAvKiBDUl9HcmFwaGVtZV9DbHVzdGVyX0JyZWFrX1By
ZXBlbmQgKi8KKworLyogJ0dyYXBoZW1lX0NsdXN0ZXJfQnJlYWtfQ1InOiBHcmFwaGVtZV9DbHVz
dGVyX0JyZWFrPUNSICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9HcmFwaGVtZV9D
bHVzdGVyX0JyZWFrX0NSW10gPSB7CisJMSwKKwkweDAwMGQsIDB4MDAwZCwKK307IC8qIENSX0dy
YXBoZW1lX0NsdXN0ZXJfQnJlYWtfQ1IgKi8KKworLyogJ0dyYXBoZW1lX0NsdXN0ZXJfQnJlYWtf
TEYnOiBHcmFwaGVtZV9DbHVzdGVyX0JyZWFrPUxGICovCisjZGVmaW5lIENSX0dyYXBoZW1lX0Ns
dXN0ZXJfQnJlYWtfTEYgQ1JfTkVXTElORQorCisvKiAnR3JhcGhlbWVfQ2x1c3Rlcl9CcmVha19D
b250cm9sJzogR3JhcGhlbWVfQ2x1c3Rlcl9CcmVhaz1Db250cm9sICovCitzdGF0aWMgY29uc3Qg
T25pZ0NvZGVQb2ludCBDUl9HcmFwaGVtZV9DbHVzdGVyX0JyZWFrX0NvbnRyb2xbXSA9IHsKKwkx
OSwKKwkweDAwMDAsIDB4MDAwOSwKKwkweDAwMGIsIDB4MDAwYywKKwkweDAwMGUsIDB4MDAxZiwK
KwkweDAwN2YsIDB4MDA5ZiwKKwkweDAwYWQsIDB4MDBhZCwKKwkweDA2MWMsIDB4MDYxYywKKwkw
eDE4MGUsIDB4MTgwZSwKKwkweDIwMGIsIDB4MjAwYiwKKwkweDIwMGUsIDB4MjAwZiwKKwkweDIw
MjgsIDB4MjAyZSwKKwkweDIwNjAsIDB4MjA2ZiwKKwkweGZlZmYsIDB4ZmVmZiwKKwkweGZmZjAs
IDB4ZmZmYiwKKwkweDEzNDMwLCAweDEzNDM4LAorCTB4MWJjYTAsIDB4MWJjYTMsCisJMHgxZDE3
MywgMHgxZDE3YSwKKwkweGUwMDAwLCAweGUwMDFmLAorCTB4ZTAwODAsIDB4ZTAwZmYsCisJMHhl
MDFmMCwgMHhlMGZmZiwKK307IC8qIENSX0dyYXBoZW1lX0NsdXN0ZXJfQnJlYWtfQ29udHJvbCAq
LworCisvKiAnR3JhcGhlbWVfQ2x1c3Rlcl9CcmVha19FeHRlbmQnOiBHcmFwaGVtZV9DbHVzdGVy
X0JyZWFrPUV4dGVuZCAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfR3JhcGhlbWVf
Q2x1c3Rlcl9CcmVha19FeHRlbmRbXSA9IHsKKwkzMzYsCisJMHgwMzAwLCAweDAzNmYsCisJMHgw
NDgzLCAweDA0ODksCisJMHgwNTkxLCAweDA1YmQsCisJMHgwNWJmLCAweDA1YmYsCisJMHgwNWMx
LCAweDA1YzIsCisJMHgwNWM0LCAweDA1YzUsCisJMHgwNWM3LCAweDA1YzcsCisJMHgwNjEwLCAw
eDA2MWEsCisJMHgwNjRiLCAweDA2NWYsCisJMHgwNjcwLCAweDA2NzAsCisJMHgwNmQ2LCAweDA2
ZGMsCisJMHgwNmRmLCAweDA2ZTQsCisJMHgwNmU3LCAweDA2ZTgsCisJMHgwNmVhLCAweDA2ZWQs
CisJMHgwNzExLCAweDA3MTEsCisJMHgwNzMwLCAweDA3NGEsCisJMHgwN2E2LCAweDA3YjAsCisJ
MHgwN2ViLCAweDA3ZjMsCisJMHgwN2ZkLCAweDA3ZmQsCisJMHgwODE2LCAweDA4MTksCisJMHgw
ODFiLCAweDA4MjMsCisJMHgwODI1LCAweDA4MjcsCisJMHgwODI5LCAweDA4MmQsCisJMHgwODU5
LCAweDA4NWIsCisJMHgwOGQzLCAweDA4ZTEsCisJMHgwOGUzLCAweDA5MDIsCisJMHgwOTNhLCAw
eDA5M2EsCisJMHgwOTNjLCAweDA5M2MsCisJMHgwOTQxLCAweDA5NDgsCisJMHgwOTRkLCAweDA5
NGQsCisJMHgwOTUxLCAweDA5NTcsCisJMHgwOTYyLCAweDA5NjMsCisJMHgwOTgxLCAweDA5ODEs
CisJMHgwOWJjLCAweDA5YmMsCisJMHgwOWJlLCAweDA5YmUsCisJMHgwOWMxLCAweDA5YzQsCisJ
MHgwOWNkLCAweDA5Y2QsCisJMHgwOWQ3LCAweDA5ZDcsCisJMHgwOWUyLCAweDA5ZTMsCisJMHgw
OWZlLCAweDA5ZmUsCisJMHgwYTAxLCAweDBhMDIsCisJMHgwYTNjLCAweDBhM2MsCisJMHgwYTQx
LCAweDBhNDIsCisJMHgwYTQ3LCAweDBhNDgsCisJMHgwYTRiLCAweDBhNGQsCisJMHgwYTUxLCAw
eDBhNTEsCisJMHgwYTcwLCAweDBhNzEsCisJMHgwYTc1LCAweDBhNzUsCisJMHgwYTgxLCAweDBh
ODIsCisJMHgwYWJjLCAweDBhYmMsCisJMHgwYWMxLCAweDBhYzUsCisJMHgwYWM3LCAweDBhYzgs
CisJMHgwYWNkLCAweDBhY2QsCisJMHgwYWUyLCAweDBhZTMsCisJMHgwYWZhLCAweDBhZmYsCisJ
MHgwYjAxLCAweDBiMDEsCisJMHgwYjNjLCAweDBiM2MsCisJMHgwYjNlLCAweDBiM2YsCisJMHgw
YjQxLCAweDBiNDQsCisJMHgwYjRkLCAweDBiNGQsCisJMHgwYjU2LCAweDBiNTcsCisJMHgwYjYy
LCAweDBiNjMsCisJMHgwYjgyLCAweDBiODIsCisJMHgwYmJlLCAweDBiYmUsCisJMHgwYmMwLCAw
eDBiYzAsCisJMHgwYmNkLCAweDBiY2QsCisJMHgwYmQ3LCAweDBiZDcsCisJMHgwYzAwLCAweDBj
MDAsCisJMHgwYzA0LCAweDBjMDQsCisJMHgwYzNlLCAweDBjNDAsCisJMHgwYzQ2LCAweDBjNDgs
CisJMHgwYzRhLCAweDBjNGQsCisJMHgwYzU1LCAweDBjNTYsCisJMHgwYzYyLCAweDBjNjMsCisJ
MHgwYzgxLCAweDBjODEsCisJMHgwY2JjLCAweDBjYmMsCisJMHgwY2JmLCAweDBjYmYsCisJMHgw
Y2MyLCAweDBjYzIsCisJMHgwY2M2LCAweDBjYzYsCisJMHgwY2NjLCAweDBjY2QsCisJMHgwY2Q1
LCAweDBjZDYsCisJMHgwY2UyLCAweDBjZTMsCisJMHgwZDAwLCAweDBkMDEsCisJMHgwZDNiLCAw
eDBkM2MsCisJMHgwZDNlLCAweDBkM2UsCisJMHgwZDQxLCAweDBkNDQsCisJMHgwZDRkLCAweDBk
NGQsCisJMHgwZDU3LCAweDBkNTcsCisJMHgwZDYyLCAweDBkNjMsCisJMHgwZGNhLCAweDBkY2Es
CisJMHgwZGNmLCAweDBkY2YsCisJMHgwZGQyLCAweDBkZDQsCisJMHgwZGQ2LCAweDBkZDYsCisJ
MHgwZGRmLCAweDBkZGYsCisJMHgwZTMxLCAweDBlMzEsCisJMHgwZTM0LCAweDBlM2EsCisJMHgw
ZTQ3LCAweDBlNGUsCisJMHgwZWIxLCAweDBlYjEsCisJMHgwZWI0LCAweDBlYmMsCisJMHgwZWM4
LCAweDBlY2QsCisJMHgwZjE4LCAweDBmMTksCisJMHgwZjM1LCAweDBmMzUsCisJMHgwZjM3LCAw
eDBmMzcsCisJMHgwZjM5LCAweDBmMzksCisJMHgwZjcxLCAweDBmN2UsCisJMHgwZjgwLCAweDBm
ODQsCisJMHgwZjg2LCAweDBmODcsCisJMHgwZjhkLCAweDBmOTcsCisJMHgwZjk5LCAweDBmYmMs
CisJMHgwZmM2LCAweDBmYzYsCisJMHgxMDJkLCAweDEwMzAsCisJMHgxMDMyLCAweDEwMzcsCisJ
MHgxMDM5LCAweDEwM2EsCisJMHgxMDNkLCAweDEwM2UsCisJMHgxMDU4LCAweDEwNTksCisJMHgx
MDVlLCAweDEwNjAsCisJMHgxMDcxLCAweDEwNzQsCisJMHgxMDgyLCAweDEwODIsCisJMHgxMDg1
LCAweDEwODYsCisJMHgxMDhkLCAweDEwOGQsCisJMHgxMDlkLCAweDEwOWQsCisJMHgxMzVkLCAw
eDEzNWYsCisJMHgxNzEyLCAweDE3MTQsCisJMHgxNzMyLCAweDE3MzQsCisJMHgxNzUyLCAweDE3
NTMsCisJMHgxNzcyLCAweDE3NzMsCisJMHgxN2I0LCAweDE3YjUsCisJMHgxN2I3LCAweDE3YmQs
CisJMHgxN2M2LCAweDE3YzYsCisJMHgxN2M5LCAweDE3ZDMsCisJMHgxN2RkLCAweDE3ZGQsCisJ
MHgxODBiLCAweDE4MGQsCisJMHgxODg1LCAweDE4ODYsCisJMHgxOGE5LCAweDE4YTksCisJMHgx
OTIwLCAweDE5MjIsCisJMHgxOTI3LCAweDE5MjgsCisJMHgxOTMyLCAweDE5MzIsCisJMHgxOTM5
LCAweDE5M2IsCisJMHgxYTE3LCAweDFhMTgsCisJMHgxYTFiLCAweDFhMWIsCisJMHgxYTU2LCAw
eDFhNTYsCisJMHgxYTU4LCAweDFhNWUsCisJMHgxYTYwLCAweDFhNjAsCisJMHgxYTYyLCAweDFh
NjIsCisJMHgxYTY1LCAweDFhNmMsCisJMHgxYTczLCAweDFhN2MsCisJMHgxYTdmLCAweDFhN2Ys
CisJMHgxYWIwLCAweDFhYmUsCisJMHgxYjAwLCAweDFiMDMsCisJMHgxYjM0LCAweDFiM2EsCisJ
MHgxYjNjLCAweDFiM2MsCisJMHgxYjQyLCAweDFiNDIsCisJMHgxYjZiLCAweDFiNzMsCisJMHgx
YjgwLCAweDFiODEsCisJMHgxYmEyLCAweDFiYTUsCisJMHgxYmE4LCAweDFiYTksCisJMHgxYmFi
LCAweDFiYWQsCisJMHgxYmU2LCAweDFiZTYsCisJMHgxYmU4LCAweDFiZTksCisJMHgxYmVkLCAw
eDFiZWQsCisJMHgxYmVmLCAweDFiZjEsCisJMHgxYzJjLCAweDFjMzMsCisJMHgxYzM2LCAweDFj
MzcsCisJMHgxY2QwLCAweDFjZDIsCisJMHgxY2Q0LCAweDFjZTAsCisJMHgxY2UyLCAweDFjZTgs
CisJMHgxY2VkLCAweDFjZWQsCisJMHgxY2Y0LCAweDFjZjQsCisJMHgxY2Y4LCAweDFjZjksCisJ
MHgxZGMwLCAweDFkZjksCisJMHgxZGZiLCAweDFkZmYsCisJMHgyMDBjLCAweDIwMGMsCisJMHgy
MGQwLCAweDIwZjAsCisJMHgyY2VmLCAweDJjZjEsCisJMHgyZDdmLCAweDJkN2YsCisJMHgyZGUw
LCAweDJkZmYsCisJMHgzMDJhLCAweDMwMmYsCisJMHgzMDk5LCAweDMwOWEsCisJMHhhNjZmLCAw
eGE2NzIsCisJMHhhNjc0LCAweGE2N2QsCisJMHhhNjllLCAweGE2OWYsCisJMHhhNmYwLCAweGE2
ZjEsCisJMHhhODAyLCAweGE4MDIsCisJMHhhODA2LCAweGE4MDYsCisJMHhhODBiLCAweGE4MGIs
CisJMHhhODI1LCAweGE4MjYsCisJMHhhOGM0LCAweGE4YzUsCisJMHhhOGUwLCAweGE4ZjEsCisJ
MHhhOGZmLCAweGE4ZmYsCisJMHhhOTI2LCAweGE5MmQsCisJMHhhOTQ3LCAweGE5NTEsCisJMHhh
OTgwLCAweGE5ODIsCisJMHhhOWIzLCAweGE5YjMsCisJMHhhOWI2LCAweGE5YjksCisJMHhhOWJj
LCAweGE5YmQsCisJMHhhOWU1LCAweGE5ZTUsCisJMHhhYTI5LCAweGFhMmUsCisJMHhhYTMxLCAw
eGFhMzIsCisJMHhhYTM1LCAweGFhMzYsCisJMHhhYTQzLCAweGFhNDMsCisJMHhhYTRjLCAweGFh
NGMsCisJMHhhYTdjLCAweGFhN2MsCisJMHhhYWIwLCAweGFhYjAsCisJMHhhYWIyLCAweGFhYjQs
CisJMHhhYWI3LCAweGFhYjgsCisJMHhhYWJlLCAweGFhYmYsCisJMHhhYWMxLCAweGFhYzEsCisJ
MHhhYWVjLCAweGFhZWQsCisJMHhhYWY2LCAweGFhZjYsCisJMHhhYmU1LCAweGFiZTUsCisJMHhh
YmU4LCAweGFiZTgsCisJMHhhYmVkLCAweGFiZWQsCisJMHhmYjFlLCAweGZiMWUsCisJMHhmZTAw
LCAweGZlMGYsCisJMHhmZTIwLCAweGZlMmYsCisJMHhmZjllLCAweGZmOWYsCisJMHgxMDFmZCwg
MHgxMDFmZCwKKwkweDEwMmUwLCAweDEwMmUwLAorCTB4MTAzNzYsIDB4MTAzN2EsCisJMHgxMGEw
MSwgMHgxMGEwMywKKwkweDEwYTA1LCAweDEwYTA2LAorCTB4MTBhMGMsIDB4MTBhMGYsCisJMHgx
MGEzOCwgMHgxMGEzYSwKKwkweDEwYTNmLCAweDEwYTNmLAorCTB4MTBhZTUsIDB4MTBhZTYsCisJ
MHgxMGQyNCwgMHgxMGQyNywKKwkweDEwZjQ2LCAweDEwZjUwLAorCTB4MTEwMDEsIDB4MTEwMDEs
CisJMHgxMTAzOCwgMHgxMTA0NiwKKwkweDExMDdmLCAweDExMDgxLAorCTB4MTEwYjMsIDB4MTEw
YjYsCisJMHgxMTBiOSwgMHgxMTBiYSwKKwkweDExMTAwLCAweDExMTAyLAorCTB4MTExMjcsIDB4
MTExMmIsCisJMHgxMTEyZCwgMHgxMTEzNCwKKwkweDExMTczLCAweDExMTczLAorCTB4MTExODAs
IDB4MTExODEsCisJMHgxMTFiNiwgMHgxMTFiZSwKKwkweDExMWM5LCAweDExMWNjLAorCTB4MTEy
MmYsIDB4MTEyMzEsCisJMHgxMTIzNCwgMHgxMTIzNCwKKwkweDExMjM2LCAweDExMjM3LAorCTB4
MTEyM2UsIDB4MTEyM2UsCisJMHgxMTJkZiwgMHgxMTJkZiwKKwkweDExMmUzLCAweDExMmVhLAor
CTB4MTEzMDAsIDB4MTEzMDEsCisJMHgxMTMzYiwgMHgxMTMzYywKKwkweDExMzNlLCAweDExMzNl
LAorCTB4MTEzNDAsIDB4MTEzNDAsCisJMHgxMTM1NywgMHgxMTM1NywKKwkweDExMzY2LCAweDEx
MzZjLAorCTB4MTEzNzAsIDB4MTEzNzQsCisJMHgxMTQzOCwgMHgxMTQzZiwKKwkweDExNDQyLCAw
eDExNDQ0LAorCTB4MTE0NDYsIDB4MTE0NDYsCisJMHgxMTQ1ZSwgMHgxMTQ1ZSwKKwkweDExNGIw
LCAweDExNGIwLAorCTB4MTE0YjMsIDB4MTE0YjgsCisJMHgxMTRiYSwgMHgxMTRiYSwKKwkweDEx
NGJkLCAweDExNGJkLAorCTB4MTE0YmYsIDB4MTE0YzAsCisJMHgxMTRjMiwgMHgxMTRjMywKKwkw
eDExNWFmLCAweDExNWFmLAorCTB4MTE1YjIsIDB4MTE1YjUsCisJMHgxMTViYywgMHgxMTViZCwK
KwkweDExNWJmLCAweDExNWMwLAorCTB4MTE1ZGMsIDB4MTE1ZGQsCisJMHgxMTYzMywgMHgxMTYz
YSwKKwkweDExNjNkLCAweDExNjNkLAorCTB4MTE2M2YsIDB4MTE2NDAsCisJMHgxMTZhYiwgMHgx
MTZhYiwKKwkweDExNmFkLCAweDExNmFkLAorCTB4MTE2YjAsIDB4MTE2YjUsCisJMHgxMTZiNywg
MHgxMTZiNywKKwkweDExNzFkLCAweDExNzFmLAorCTB4MTE3MjIsIDB4MTE3MjUsCisJMHgxMTcy
NywgMHgxMTcyYiwKKwkweDExODJmLCAweDExODM3LAorCTB4MTE4MzksIDB4MTE4M2EsCisJMHgx
MTlkNCwgMHgxMTlkNywKKwkweDExOWRhLCAweDExOWRiLAorCTB4MTE5ZTAsIDB4MTE5ZTAsCisJ
MHgxMWEwMSwgMHgxMWEwYSwKKwkweDExYTMzLCAweDExYTM4LAorCTB4MTFhM2IsIDB4MTFhM2Us
CisJMHgxMWE0NywgMHgxMWE0NywKKwkweDExYTUxLCAweDExYTU2LAorCTB4MTFhNTksIDB4MTFh
NWIsCisJMHgxMWE4YSwgMHgxMWE5NiwKKwkweDExYTk4LCAweDExYTk5LAorCTB4MTFjMzAsIDB4
MTFjMzYsCisJMHgxMWMzOCwgMHgxMWMzZCwKKwkweDExYzNmLCAweDExYzNmLAorCTB4MTFjOTIs
IDB4MTFjYTcsCisJMHgxMWNhYSwgMHgxMWNiMCwKKwkweDExY2IyLCAweDExY2IzLAorCTB4MTFj
YjUsIDB4MTFjYjYsCisJMHgxMWQzMSwgMHgxMWQzNiwKKwkweDExZDNhLCAweDExZDNhLAorCTB4
MTFkM2MsIDB4MTFkM2QsCisJMHgxMWQzZiwgMHgxMWQ0NSwKKwkweDExZDQ3LCAweDExZDQ3LAor
CTB4MTFkOTAsIDB4MTFkOTEsCisJMHgxMWQ5NSwgMHgxMWQ5NSwKKwkweDExZDk3LCAweDExZDk3
LAorCTB4MTFlZjMsIDB4MTFlZjQsCisJMHgxNmFmMCwgMHgxNmFmNCwKKwkweDE2YjMwLCAweDE2
YjM2LAorCTB4MTZmNGYsIDB4MTZmNGYsCisJMHgxNmY4ZiwgMHgxNmY5MiwKKwkweDFiYzlkLCAw
eDFiYzllLAorCTB4MWQxNjUsIDB4MWQxNjUsCisJMHgxZDE2NywgMHgxZDE2OSwKKwkweDFkMTZl
LCAweDFkMTcyLAorCTB4MWQxN2IsIDB4MWQxODIsCisJMHgxZDE4NSwgMHgxZDE4YiwKKwkweDFk
MWFhLCAweDFkMWFkLAorCTB4MWQyNDIsIDB4MWQyNDQsCisJMHgxZGEwMCwgMHgxZGEzNiwKKwkw
eDFkYTNiLCAweDFkYTZjLAorCTB4MWRhNzUsIDB4MWRhNzUsCisJMHgxZGE4NCwgMHgxZGE4NCwK
KwkweDFkYTliLCAweDFkYTlmLAorCTB4MWRhYTEsIDB4MWRhYWYsCisJMHgxZTAwMCwgMHgxZTAw
NiwKKwkweDFlMDA4LCAweDFlMDE4LAorCTB4MWUwMWIsIDB4MWUwMjEsCisJMHgxZTAyMywgMHgx
ZTAyNCwKKwkweDFlMDI2LCAweDFlMDJhLAorCTB4MWUxMzAsIDB4MWUxMzYsCisJMHgxZTJlYywg
MHgxZTJlZiwKKwkweDFlOGQwLCAweDFlOGQ2LAorCTB4MWU5NDQsIDB4MWU5NGEsCisJMHgxZjNm
YiwgMHgxZjNmZiwKKwkweGUwMDIwLCAweGUwMDdmLAorCTB4ZTAxMDAsIDB4ZTAxZWYsCit9OyAv
KiBDUl9HcmFwaGVtZV9DbHVzdGVyX0JyZWFrX0V4dGVuZCAqLworCisvKiAnR3JhcGhlbWVfQ2x1
c3Rlcl9CcmVha19SZWdpb25hbF9JbmRpY2F0b3InOiBHcmFwaGVtZV9DbHVzdGVyX0JyZWFrPVJl
Z2lvbmFsX0luZGljYXRvciAqLworI2RlZmluZSBDUl9HcmFwaGVtZV9DbHVzdGVyX0JyZWFrX1Jl
Z2lvbmFsX0luZGljYXRvciBDUl9SZWdpb25hbF9JbmRpY2F0b3IKKworLyogJ0dyYXBoZW1lX0Ns
dXN0ZXJfQnJlYWtfU3BhY2luZ01hcmsnOiBHcmFwaGVtZV9DbHVzdGVyX0JyZWFrPVNwYWNpbmdN
YXJrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9HcmFwaGVtZV9DbHVzdGVyX0Jy
ZWFrX1NwYWNpbmdNYXJrW10gPSB7CisJMTUyLAorCTB4MDkwMywgMHgwOTAzLAorCTB4MDkzYiwg
MHgwOTNiLAorCTB4MDkzZSwgMHgwOTQwLAorCTB4MDk0OSwgMHgwOTRjLAorCTB4MDk0ZSwgMHgw
OTRmLAorCTB4MDk4MiwgMHgwOTgzLAorCTB4MDliZiwgMHgwOWMwLAorCTB4MDljNywgMHgwOWM4
LAorCTB4MDljYiwgMHgwOWNjLAorCTB4MGEwMywgMHgwYTAzLAorCTB4MGEzZSwgMHgwYTQwLAor
CTB4MGE4MywgMHgwYTgzLAorCTB4MGFiZSwgMHgwYWMwLAorCTB4MGFjOSwgMHgwYWM5LAorCTB4
MGFjYiwgMHgwYWNjLAorCTB4MGIwMiwgMHgwYjAzLAorCTB4MGI0MCwgMHgwYjQwLAorCTB4MGI0
NywgMHgwYjQ4LAorCTB4MGI0YiwgMHgwYjRjLAorCTB4MGJiZiwgMHgwYmJmLAorCTB4MGJjMSwg
MHgwYmMyLAorCTB4MGJjNiwgMHgwYmM4LAorCTB4MGJjYSwgMHgwYmNjLAorCTB4MGMwMSwgMHgw
YzAzLAorCTB4MGM0MSwgMHgwYzQ0LAorCTB4MGM4MiwgMHgwYzgzLAorCTB4MGNiZSwgMHgwY2Jl
LAorCTB4MGNjMCwgMHgwY2MxLAorCTB4MGNjMywgMHgwY2M0LAorCTB4MGNjNywgMHgwY2M4LAor
CTB4MGNjYSwgMHgwY2NiLAorCTB4MGQwMiwgMHgwZDAzLAorCTB4MGQzZiwgMHgwZDQwLAorCTB4
MGQ0NiwgMHgwZDQ4LAorCTB4MGQ0YSwgMHgwZDRjLAorCTB4MGQ4MiwgMHgwZDgzLAorCTB4MGRk
MCwgMHgwZGQxLAorCTB4MGRkOCwgMHgwZGRlLAorCTB4MGRmMiwgMHgwZGYzLAorCTB4MGUzMywg
MHgwZTMzLAorCTB4MGViMywgMHgwZWIzLAorCTB4MGYzZSwgMHgwZjNmLAorCTB4MGY3ZiwgMHgw
ZjdmLAorCTB4MTAzMSwgMHgxMDMxLAorCTB4MTAzYiwgMHgxMDNjLAorCTB4MTA1NiwgMHgxMDU3
LAorCTB4MTA4NCwgMHgxMDg0LAorCTB4MTdiNiwgMHgxN2I2LAorCTB4MTdiZSwgMHgxN2M1LAor
CTB4MTdjNywgMHgxN2M4LAorCTB4MTkyMywgMHgxOTI2LAorCTB4MTkyOSwgMHgxOTJiLAorCTB4
MTkzMCwgMHgxOTMxLAorCTB4MTkzMywgMHgxOTM4LAorCTB4MWExOSwgMHgxYTFhLAorCTB4MWE1
NSwgMHgxYTU1LAorCTB4MWE1NywgMHgxYTU3LAorCTB4MWE2ZCwgMHgxYTcyLAorCTB4MWIwNCwg
MHgxYjA0LAorCTB4MWIzYiwgMHgxYjNiLAorCTB4MWIzZCwgMHgxYjQxLAorCTB4MWI0MywgMHgx
YjQ0LAorCTB4MWI4MiwgMHgxYjgyLAorCTB4MWJhMSwgMHgxYmExLAorCTB4MWJhNiwgMHgxYmE3
LAorCTB4MWJhYSwgMHgxYmFhLAorCTB4MWJlNywgMHgxYmU3LAorCTB4MWJlYSwgMHgxYmVjLAor
CTB4MWJlZSwgMHgxYmVlLAorCTB4MWJmMiwgMHgxYmYzLAorCTB4MWMyNCwgMHgxYzJiLAorCTB4
MWMzNCwgMHgxYzM1LAorCTB4MWNlMSwgMHgxY2UxLAorCTB4MWNmNywgMHgxY2Y3LAorCTB4YTgy
MywgMHhhODI0LAorCTB4YTgyNywgMHhhODI3LAorCTB4YTg4MCwgMHhhODgxLAorCTB4YThiNCwg
MHhhOGMzLAorCTB4YTk1MiwgMHhhOTUzLAorCTB4YTk4MywgMHhhOTgzLAorCTB4YTliNCwgMHhh
OWI1LAorCTB4YTliYSwgMHhhOWJiLAorCTB4YTliZSwgMHhhOWMwLAorCTB4YWEyZiwgMHhhYTMw
LAorCTB4YWEzMywgMHhhYTM0LAorCTB4YWE0ZCwgMHhhYTRkLAorCTB4YWFlYiwgMHhhYWViLAor
CTB4YWFlZSwgMHhhYWVmLAorCTB4YWFmNSwgMHhhYWY1LAorCTB4YWJlMywgMHhhYmU0LAorCTB4
YWJlNiwgMHhhYmU3LAorCTB4YWJlOSwgMHhhYmVhLAorCTB4YWJlYywgMHhhYmVjLAorCTB4MTEw
MDAsIDB4MTEwMDAsCisJMHgxMTAwMiwgMHgxMTAwMiwKKwkweDExMDgyLCAweDExMDgyLAorCTB4
MTEwYjAsIDB4MTEwYjIsCisJMHgxMTBiNywgMHgxMTBiOCwKKwkweDExMTJjLCAweDExMTJjLAor
CTB4MTExNDUsIDB4MTExNDYsCisJMHgxMTE4MiwgMHgxMTE4MiwKKwkweDExMWIzLCAweDExMWI1
LAorCTB4MTExYmYsIDB4MTExYzAsCisJMHgxMTIyYywgMHgxMTIyZSwKKwkweDExMjMyLCAweDEx
MjMzLAorCTB4MTEyMzUsIDB4MTEyMzUsCisJMHgxMTJlMCwgMHgxMTJlMiwKKwkweDExMzAyLCAw
eDExMzAzLAorCTB4MTEzM2YsIDB4MTEzM2YsCisJMHgxMTM0MSwgMHgxMTM0NCwKKwkweDExMzQ3
LCAweDExMzQ4LAorCTB4MTEzNGIsIDB4MTEzNGQsCisJMHgxMTM2MiwgMHgxMTM2MywKKwkweDEx
NDM1LCAweDExNDM3LAorCTB4MTE0NDAsIDB4MTE0NDEsCisJMHgxMTQ0NSwgMHgxMTQ0NSwKKwkw
eDExNGIxLCAweDExNGIyLAorCTB4MTE0YjksIDB4MTE0YjksCisJMHgxMTRiYiwgMHgxMTRiYywK
KwkweDExNGJlLCAweDExNGJlLAorCTB4MTE0YzEsIDB4MTE0YzEsCisJMHgxMTViMCwgMHgxMTVi
MSwKKwkweDExNWI4LCAweDExNWJiLAorCTB4MTE1YmUsIDB4MTE1YmUsCisJMHgxMTYzMCwgMHgx
MTYzMiwKKwkweDExNjNiLCAweDExNjNjLAorCTB4MTE2M2UsIDB4MTE2M2UsCisJMHgxMTZhYywg
MHgxMTZhYywKKwkweDExNmFlLCAweDExNmFmLAorCTB4MTE2YjYsIDB4MTE2YjYsCisJMHgxMTcy
MCwgMHgxMTcyMSwKKwkweDExNzI2LCAweDExNzI2LAorCTB4MTE4MmMsIDB4MTE4MmUsCisJMHgx
MTgzOCwgMHgxMTgzOCwKKwkweDExOWQxLCAweDExOWQzLAorCTB4MTE5ZGMsIDB4MTE5ZGYsCisJ
MHgxMTllNCwgMHgxMTllNCwKKwkweDExYTM5LCAweDExYTM5LAorCTB4MTFhNTcsIDB4MTFhNTgs
CisJMHgxMWE5NywgMHgxMWE5NywKKwkweDExYzJmLCAweDExYzJmLAorCTB4MTFjM2UsIDB4MTFj
M2UsCisJMHgxMWNhOSwgMHgxMWNhOSwKKwkweDExY2IxLCAweDExY2IxLAorCTB4MTFjYjQsIDB4
MTFjYjQsCisJMHgxMWQ4YSwgMHgxMWQ4ZSwKKwkweDExZDkzLCAweDExZDk0LAorCTB4MTFkOTYs
IDB4MTFkOTYsCisJMHgxMWVmNSwgMHgxMWVmNiwKKwkweDE2ZjUxLCAweDE2Zjg3LAorCTB4MWQx
NjYsIDB4MWQxNjYsCisJMHgxZDE2ZCwgMHgxZDE2ZCwKK307IC8qIENSX0dyYXBoZW1lX0NsdXN0
ZXJfQnJlYWtfU3BhY2luZ01hcmsgKi8KKworLyogJ0dyYXBoZW1lX0NsdXN0ZXJfQnJlYWtfTCc6
IEdyYXBoZW1lX0NsdXN0ZXJfQnJlYWs9TCAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQg
Q1JfR3JhcGhlbWVfQ2x1c3Rlcl9CcmVha19MW10gPSB7CisJMiwKKwkweDExMDAsIDB4MTE1ZiwK
KwkweGE5NjAsIDB4YTk3YywKK307IC8qIENSX0dyYXBoZW1lX0NsdXN0ZXJfQnJlYWtfTCAqLwor
CisvKiAnR3JhcGhlbWVfQ2x1c3Rlcl9CcmVha19WJzogR3JhcGhlbWVfQ2x1c3Rlcl9CcmVhaz1W
ICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9HcmFwaGVtZV9DbHVzdGVyX0JyZWFr
X1ZbXSA9IHsKKwkyLAorCTB4MTE2MCwgMHgxMWE3LAorCTB4ZDdiMCwgMHhkN2M2LAorfTsgLyog
Q1JfR3JhcGhlbWVfQ2x1c3Rlcl9CcmVha19WICovCisKKy8qICdHcmFwaGVtZV9DbHVzdGVyX0Jy
ZWFrX1QnOiBHcmFwaGVtZV9DbHVzdGVyX0JyZWFrPVQgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29k
ZVBvaW50IENSX0dyYXBoZW1lX0NsdXN0ZXJfQnJlYWtfVFtdID0geworCTIsCisJMHgxMWE4LCAw
eDExZmYsCisJMHhkN2NiLCAweGQ3ZmIsCit9OyAvKiBDUl9HcmFwaGVtZV9DbHVzdGVyX0JyZWFr
X1QgKi8KKworLyogJ0dyYXBoZW1lX0NsdXN0ZXJfQnJlYWtfTFYnOiBHcmFwaGVtZV9DbHVzdGVy
X0JyZWFrPUxWICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9HcmFwaGVtZV9DbHVz
dGVyX0JyZWFrX0xWW10gPSB7CisJMzk5LAorCTB4YWMwMCwgMHhhYzAwLAorCTB4YWMxYywgMHhh
YzFjLAorCTB4YWMzOCwgMHhhYzM4LAorCTB4YWM1NCwgMHhhYzU0LAorCTB4YWM3MCwgMHhhYzcw
LAorCTB4YWM4YywgMHhhYzhjLAorCTB4YWNhOCwgMHhhY2E4LAorCTB4YWNjNCwgMHhhY2M0LAor
CTB4YWNlMCwgMHhhY2UwLAorCTB4YWNmYywgMHhhY2ZjLAorCTB4YWQxOCwgMHhhZDE4LAorCTB4
YWQzNCwgMHhhZDM0LAorCTB4YWQ1MCwgMHhhZDUwLAorCTB4YWQ2YywgMHhhZDZjLAorCTB4YWQ4
OCwgMHhhZDg4LAorCTB4YWRhNCwgMHhhZGE0LAorCTB4YWRjMCwgMHhhZGMwLAorCTB4YWRkYywg
MHhhZGRjLAorCTB4YWRmOCwgMHhhZGY4LAorCTB4YWUxNCwgMHhhZTE0LAorCTB4YWUzMCwgMHhh
ZTMwLAorCTB4YWU0YywgMHhhZTRjLAorCTB4YWU2OCwgMHhhZTY4LAorCTB4YWU4NCwgMHhhZTg0
LAorCTB4YWVhMCwgMHhhZWEwLAorCTB4YWViYywgMHhhZWJjLAorCTB4YWVkOCwgMHhhZWQ4LAor
CTB4YWVmNCwgMHhhZWY0LAorCTB4YWYxMCwgMHhhZjEwLAorCTB4YWYyYywgMHhhZjJjLAorCTB4
YWY0OCwgMHhhZjQ4LAorCTB4YWY2NCwgMHhhZjY0LAorCTB4YWY4MCwgMHhhZjgwLAorCTB4YWY5
YywgMHhhZjljLAorCTB4YWZiOCwgMHhhZmI4LAorCTB4YWZkNCwgMHhhZmQ0LAorCTB4YWZmMCwg
MHhhZmYwLAorCTB4YjAwYywgMHhiMDBjLAorCTB4YjAyOCwgMHhiMDI4LAorCTB4YjA0NCwgMHhi
MDQ0LAorCTB4YjA2MCwgMHhiMDYwLAorCTB4YjA3YywgMHhiMDdjLAorCTB4YjA5OCwgMHhiMDk4
LAorCTB4YjBiNCwgMHhiMGI0LAorCTB4YjBkMCwgMHhiMGQwLAorCTB4YjBlYywgMHhiMGVjLAor
CTB4YjEwOCwgMHhiMTA4LAorCTB4YjEyNCwgMHhiMTI0LAorCTB4YjE0MCwgMHhiMTQwLAorCTB4
YjE1YywgMHhiMTVjLAorCTB4YjE3OCwgMHhiMTc4LAorCTB4YjE5NCwgMHhiMTk0LAorCTB4YjFi
MCwgMHhiMWIwLAorCTB4YjFjYywgMHhiMWNjLAorCTB4YjFlOCwgMHhiMWU4LAorCTB4YjIwNCwg
MHhiMjA0LAorCTB4YjIyMCwgMHhiMjIwLAorCTB4YjIzYywgMHhiMjNjLAorCTB4YjI1OCwgMHhi
MjU4LAorCTB4YjI3NCwgMHhiMjc0LAorCTB4YjI5MCwgMHhiMjkwLAorCTB4YjJhYywgMHhiMmFj
LAorCTB4YjJjOCwgMHhiMmM4LAorCTB4YjJlNCwgMHhiMmU0LAorCTB4YjMwMCwgMHhiMzAwLAor
CTB4YjMxYywgMHhiMzFjLAorCTB4YjMzOCwgMHhiMzM4LAorCTB4YjM1NCwgMHhiMzU0LAorCTB4
YjM3MCwgMHhiMzcwLAorCTB4YjM4YywgMHhiMzhjLAorCTB4YjNhOCwgMHhiM2E4LAorCTB4YjNj
NCwgMHhiM2M0LAorCTB4YjNlMCwgMHhiM2UwLAorCTB4YjNmYywgMHhiM2ZjLAorCTB4YjQxOCwg
MHhiNDE4LAorCTB4YjQzNCwgMHhiNDM0LAorCTB4YjQ1MCwgMHhiNDUwLAorCTB4YjQ2YywgMHhi
NDZjLAorCTB4YjQ4OCwgMHhiNDg4LAorCTB4YjRhNCwgMHhiNGE0LAorCTB4YjRjMCwgMHhiNGMw
LAorCTB4YjRkYywgMHhiNGRjLAorCTB4YjRmOCwgMHhiNGY4LAorCTB4YjUxNCwgMHhiNTE0LAor
CTB4YjUzMCwgMHhiNTMwLAorCTB4YjU0YywgMHhiNTRjLAorCTB4YjU2OCwgMHhiNTY4LAorCTB4
YjU4NCwgMHhiNTg0LAorCTB4YjVhMCwgMHhiNWEwLAorCTB4YjViYywgMHhiNWJjLAorCTB4YjVk
OCwgMHhiNWQ4LAorCTB4YjVmNCwgMHhiNWY0LAorCTB4YjYxMCwgMHhiNjEwLAorCTB4YjYyYywg
MHhiNjJjLAorCTB4YjY0OCwgMHhiNjQ4LAorCTB4YjY2NCwgMHhiNjY0LAorCTB4YjY4MCwgMHhi
NjgwLAorCTB4YjY5YywgMHhiNjljLAorCTB4YjZiOCwgMHhiNmI4LAorCTB4YjZkNCwgMHhiNmQ0
LAorCTB4YjZmMCwgMHhiNmYwLAorCTB4YjcwYywgMHhiNzBjLAorCTB4YjcyOCwgMHhiNzI4LAor
CTB4Yjc0NCwgMHhiNzQ0LAorCTB4Yjc2MCwgMHhiNzYwLAorCTB4Yjc3YywgMHhiNzdjLAorCTB4
Yjc5OCwgMHhiNzk4LAorCTB4YjdiNCwgMHhiN2I0LAorCTB4YjdkMCwgMHhiN2QwLAorCTB4Yjdl
YywgMHhiN2VjLAorCTB4YjgwOCwgMHhiODA4LAorCTB4YjgyNCwgMHhiODI0LAorCTB4Yjg0MCwg
MHhiODQwLAorCTB4Yjg1YywgMHhiODVjLAorCTB4Yjg3OCwgMHhiODc4LAorCTB4Yjg5NCwgMHhi
ODk0LAorCTB4YjhiMCwgMHhiOGIwLAorCTB4YjhjYywgMHhiOGNjLAorCTB4YjhlOCwgMHhiOGU4
LAorCTB4YjkwNCwgMHhiOTA0LAorCTB4YjkyMCwgMHhiOTIwLAorCTB4YjkzYywgMHhiOTNjLAor
CTB4Yjk1OCwgMHhiOTU4LAorCTB4Yjk3NCwgMHhiOTc0LAorCTB4Yjk5MCwgMHhiOTkwLAorCTB4
YjlhYywgMHhiOWFjLAorCTB4YjljOCwgMHhiOWM4LAorCTB4YjllNCwgMHhiOWU0LAorCTB4YmEw
MCwgMHhiYTAwLAorCTB4YmExYywgMHhiYTFjLAorCTB4YmEzOCwgMHhiYTM4LAorCTB4YmE1NCwg
MHhiYTU0LAorCTB4YmE3MCwgMHhiYTcwLAorCTB4YmE4YywgMHhiYThjLAorCTB4YmFhOCwgMHhi
YWE4LAorCTB4YmFjNCwgMHhiYWM0LAorCTB4YmFlMCwgMHhiYWUwLAorCTB4YmFmYywgMHhiYWZj
LAorCTB4YmIxOCwgMHhiYjE4LAorCTB4YmIzNCwgMHhiYjM0LAorCTB4YmI1MCwgMHhiYjUwLAor
CTB4YmI2YywgMHhiYjZjLAorCTB4YmI4OCwgMHhiYjg4LAorCTB4YmJhNCwgMHhiYmE0LAorCTB4
YmJjMCwgMHhiYmMwLAorCTB4YmJkYywgMHhiYmRjLAorCTB4YmJmOCwgMHhiYmY4LAorCTB4YmMx
NCwgMHhiYzE0LAorCTB4YmMzMCwgMHhiYzMwLAorCTB4YmM0YywgMHhiYzRjLAorCTB4YmM2OCwg
MHhiYzY4LAorCTB4YmM4NCwgMHhiYzg0LAorCTB4YmNhMCwgMHhiY2EwLAorCTB4YmNiYywgMHhi
Y2JjLAorCTB4YmNkOCwgMHhiY2Q4LAorCTB4YmNmNCwgMHhiY2Y0LAorCTB4YmQxMCwgMHhiZDEw
LAorCTB4YmQyYywgMHhiZDJjLAorCTB4YmQ0OCwgMHhiZDQ4LAorCTB4YmQ2NCwgMHhiZDY0LAor
CTB4YmQ4MCwgMHhiZDgwLAorCTB4YmQ5YywgMHhiZDljLAorCTB4YmRiOCwgMHhiZGI4LAorCTB4
YmRkNCwgMHhiZGQ0LAorCTB4YmRmMCwgMHhiZGYwLAorCTB4YmUwYywgMHhiZTBjLAorCTB4YmUy
OCwgMHhiZTI4LAorCTB4YmU0NCwgMHhiZTQ0LAorCTB4YmU2MCwgMHhiZTYwLAorCTB4YmU3Yywg
MHhiZTdjLAorCTB4YmU5OCwgMHhiZTk4LAorCTB4YmViNCwgMHhiZWI0LAorCTB4YmVkMCwgMHhi
ZWQwLAorCTB4YmVlYywgMHhiZWVjLAorCTB4YmYwOCwgMHhiZjA4LAorCTB4YmYyNCwgMHhiZjI0
LAorCTB4YmY0MCwgMHhiZjQwLAorCTB4YmY1YywgMHhiZjVjLAorCTB4YmY3OCwgMHhiZjc4LAor
CTB4YmY5NCwgMHhiZjk0LAorCTB4YmZiMCwgMHhiZmIwLAorCTB4YmZjYywgMHhiZmNjLAorCTB4
YmZlOCwgMHhiZmU4LAorCTB4YzAwNCwgMHhjMDA0LAorCTB4YzAyMCwgMHhjMDIwLAorCTB4YzAz
YywgMHhjMDNjLAorCTB4YzA1OCwgMHhjMDU4LAorCTB4YzA3NCwgMHhjMDc0LAorCTB4YzA5MCwg
MHhjMDkwLAorCTB4YzBhYywgMHhjMGFjLAorCTB4YzBjOCwgMHhjMGM4LAorCTB4YzBlNCwgMHhj
MGU0LAorCTB4YzEwMCwgMHhjMTAwLAorCTB4YzExYywgMHhjMTFjLAorCTB4YzEzOCwgMHhjMTM4
LAorCTB4YzE1NCwgMHhjMTU0LAorCTB4YzE3MCwgMHhjMTcwLAorCTB4YzE4YywgMHhjMThjLAor
CTB4YzFhOCwgMHhjMWE4LAorCTB4YzFjNCwgMHhjMWM0LAorCTB4YzFlMCwgMHhjMWUwLAorCTB4
YzFmYywgMHhjMWZjLAorCTB4YzIxOCwgMHhjMjE4LAorCTB4YzIzNCwgMHhjMjM0LAorCTB4YzI1
MCwgMHhjMjUwLAorCTB4YzI2YywgMHhjMjZjLAorCTB4YzI4OCwgMHhjMjg4LAorCTB4YzJhNCwg
MHhjMmE0LAorCTB4YzJjMCwgMHhjMmMwLAorCTB4YzJkYywgMHhjMmRjLAorCTB4YzJmOCwgMHhj
MmY4LAorCTB4YzMxNCwgMHhjMzE0LAorCTB4YzMzMCwgMHhjMzMwLAorCTB4YzM0YywgMHhjMzRj
LAorCTB4YzM2OCwgMHhjMzY4LAorCTB4YzM4NCwgMHhjMzg0LAorCTB4YzNhMCwgMHhjM2EwLAor
CTB4YzNiYywgMHhjM2JjLAorCTB4YzNkOCwgMHhjM2Q4LAorCTB4YzNmNCwgMHhjM2Y0LAorCTB4
YzQxMCwgMHhjNDEwLAorCTB4YzQyYywgMHhjNDJjLAorCTB4YzQ0OCwgMHhjNDQ4LAorCTB4YzQ2
NCwgMHhjNDY0LAorCTB4YzQ4MCwgMHhjNDgwLAorCTB4YzQ5YywgMHhjNDljLAorCTB4YzRiOCwg
MHhjNGI4LAorCTB4YzRkNCwgMHhjNGQ0LAorCTB4YzRmMCwgMHhjNGYwLAorCTB4YzUwYywgMHhj
NTBjLAorCTB4YzUyOCwgMHhjNTI4LAorCTB4YzU0NCwgMHhjNTQ0LAorCTB4YzU2MCwgMHhjNTYw
LAorCTB4YzU3YywgMHhjNTdjLAorCTB4YzU5OCwgMHhjNTk4LAorCTB4YzViNCwgMHhjNWI0LAor
CTB4YzVkMCwgMHhjNWQwLAorCTB4YzVlYywgMHhjNWVjLAorCTB4YzYwOCwgMHhjNjA4LAorCTB4
YzYyNCwgMHhjNjI0LAorCTB4YzY0MCwgMHhjNjQwLAorCTB4YzY1YywgMHhjNjVjLAorCTB4YzY3
OCwgMHhjNjc4LAorCTB4YzY5NCwgMHhjNjk0LAorCTB4YzZiMCwgMHhjNmIwLAorCTB4YzZjYywg
MHhjNmNjLAorCTB4YzZlOCwgMHhjNmU4LAorCTB4YzcwNCwgMHhjNzA0LAorCTB4YzcyMCwgMHhj
NzIwLAorCTB4YzczYywgMHhjNzNjLAorCTB4Yzc1OCwgMHhjNzU4LAorCTB4Yzc3NCwgMHhjNzc0
LAorCTB4Yzc5MCwgMHhjNzkwLAorCTB4YzdhYywgMHhjN2FjLAorCTB4YzdjOCwgMHhjN2M4LAor
CTB4YzdlNCwgMHhjN2U0LAorCTB4YzgwMCwgMHhjODAwLAorCTB4YzgxYywgMHhjODFjLAorCTB4
YzgzOCwgMHhjODM4LAorCTB4Yzg1NCwgMHhjODU0LAorCTB4Yzg3MCwgMHhjODcwLAorCTB4Yzg4
YywgMHhjODhjLAorCTB4YzhhOCwgMHhjOGE4LAorCTB4YzhjNCwgMHhjOGM0LAorCTB4YzhlMCwg
MHhjOGUwLAorCTB4YzhmYywgMHhjOGZjLAorCTB4YzkxOCwgMHhjOTE4LAorCTB4YzkzNCwgMHhj
OTM0LAorCTB4Yzk1MCwgMHhjOTUwLAorCTB4Yzk2YywgMHhjOTZjLAorCTB4Yzk4OCwgMHhjOTg4
LAorCTB4YzlhNCwgMHhjOWE0LAorCTB4YzljMCwgMHhjOWMwLAorCTB4YzlkYywgMHhjOWRjLAor
CTB4YzlmOCwgMHhjOWY4LAorCTB4Y2ExNCwgMHhjYTE0LAorCTB4Y2EzMCwgMHhjYTMwLAorCTB4
Y2E0YywgMHhjYTRjLAorCTB4Y2E2OCwgMHhjYTY4LAorCTB4Y2E4NCwgMHhjYTg0LAorCTB4Y2Fh
MCwgMHhjYWEwLAorCTB4Y2FiYywgMHhjYWJjLAorCTB4Y2FkOCwgMHhjYWQ4LAorCTB4Y2FmNCwg
MHhjYWY0LAorCTB4Y2IxMCwgMHhjYjEwLAorCTB4Y2IyYywgMHhjYjJjLAorCTB4Y2I0OCwgMHhj
YjQ4LAorCTB4Y2I2NCwgMHhjYjY0LAorCTB4Y2I4MCwgMHhjYjgwLAorCTB4Y2I5YywgMHhjYjlj
LAorCTB4Y2JiOCwgMHhjYmI4LAorCTB4Y2JkNCwgMHhjYmQ0LAorCTB4Y2JmMCwgMHhjYmYwLAor
CTB4Y2MwYywgMHhjYzBjLAorCTB4Y2MyOCwgMHhjYzI4LAorCTB4Y2M0NCwgMHhjYzQ0LAorCTB4
Y2M2MCwgMHhjYzYwLAorCTB4Y2M3YywgMHhjYzdjLAorCTB4Y2M5OCwgMHhjYzk4LAorCTB4Y2Ni
NCwgMHhjY2I0LAorCTB4Y2NkMCwgMHhjY2QwLAorCTB4Y2NlYywgMHhjY2VjLAorCTB4Y2QwOCwg
MHhjZDA4LAorCTB4Y2QyNCwgMHhjZDI0LAorCTB4Y2Q0MCwgMHhjZDQwLAorCTB4Y2Q1YywgMHhj
ZDVjLAorCTB4Y2Q3OCwgMHhjZDc4LAorCTB4Y2Q5NCwgMHhjZDk0LAorCTB4Y2RiMCwgMHhjZGIw
LAorCTB4Y2RjYywgMHhjZGNjLAorCTB4Y2RlOCwgMHhjZGU4LAorCTB4Y2UwNCwgMHhjZTA0LAor
CTB4Y2UyMCwgMHhjZTIwLAorCTB4Y2UzYywgMHhjZTNjLAorCTB4Y2U1OCwgMHhjZTU4LAorCTB4
Y2U3NCwgMHhjZTc0LAorCTB4Y2U5MCwgMHhjZTkwLAorCTB4Y2VhYywgMHhjZWFjLAorCTB4Y2Vj
OCwgMHhjZWM4LAorCTB4Y2VlNCwgMHhjZWU0LAorCTB4Y2YwMCwgMHhjZjAwLAorCTB4Y2YxYywg
MHhjZjFjLAorCTB4Y2YzOCwgMHhjZjM4LAorCTB4Y2Y1NCwgMHhjZjU0LAorCTB4Y2Y3MCwgMHhj
ZjcwLAorCTB4Y2Y4YywgMHhjZjhjLAorCTB4Y2ZhOCwgMHhjZmE4LAorCTB4Y2ZjNCwgMHhjZmM0
LAorCTB4Y2ZlMCwgMHhjZmUwLAorCTB4Y2ZmYywgMHhjZmZjLAorCTB4ZDAxOCwgMHhkMDE4LAor
CTB4ZDAzNCwgMHhkMDM0LAorCTB4ZDA1MCwgMHhkMDUwLAorCTB4ZDA2YywgMHhkMDZjLAorCTB4
ZDA4OCwgMHhkMDg4LAorCTB4ZDBhNCwgMHhkMGE0LAorCTB4ZDBjMCwgMHhkMGMwLAorCTB4ZDBk
YywgMHhkMGRjLAorCTB4ZDBmOCwgMHhkMGY4LAorCTB4ZDExNCwgMHhkMTE0LAorCTB4ZDEzMCwg
MHhkMTMwLAorCTB4ZDE0YywgMHhkMTRjLAorCTB4ZDE2OCwgMHhkMTY4LAorCTB4ZDE4NCwgMHhk
MTg0LAorCTB4ZDFhMCwgMHhkMWEwLAorCTB4ZDFiYywgMHhkMWJjLAorCTB4ZDFkOCwgMHhkMWQ4
LAorCTB4ZDFmNCwgMHhkMWY0LAorCTB4ZDIxMCwgMHhkMjEwLAorCTB4ZDIyYywgMHhkMjJjLAor
CTB4ZDI0OCwgMHhkMjQ4LAorCTB4ZDI2NCwgMHhkMjY0LAorCTB4ZDI4MCwgMHhkMjgwLAorCTB4
ZDI5YywgMHhkMjljLAorCTB4ZDJiOCwgMHhkMmI4LAorCTB4ZDJkNCwgMHhkMmQ0LAorCTB4ZDJm
MCwgMHhkMmYwLAorCTB4ZDMwYywgMHhkMzBjLAorCTB4ZDMyOCwgMHhkMzI4LAorCTB4ZDM0NCwg
MHhkMzQ0LAorCTB4ZDM2MCwgMHhkMzYwLAorCTB4ZDM3YywgMHhkMzdjLAorCTB4ZDM5OCwgMHhk
Mzk4LAorCTB4ZDNiNCwgMHhkM2I0LAorCTB4ZDNkMCwgMHhkM2QwLAorCTB4ZDNlYywgMHhkM2Vj
LAorCTB4ZDQwOCwgMHhkNDA4LAorCTB4ZDQyNCwgMHhkNDI0LAorCTB4ZDQ0MCwgMHhkNDQwLAor
CTB4ZDQ1YywgMHhkNDVjLAorCTB4ZDQ3OCwgMHhkNDc4LAorCTB4ZDQ5NCwgMHhkNDk0LAorCTB4
ZDRiMCwgMHhkNGIwLAorCTB4ZDRjYywgMHhkNGNjLAorCTB4ZDRlOCwgMHhkNGU4LAorCTB4ZDUw
NCwgMHhkNTA0LAorCTB4ZDUyMCwgMHhkNTIwLAorCTB4ZDUzYywgMHhkNTNjLAorCTB4ZDU1OCwg
MHhkNTU4LAorCTB4ZDU3NCwgMHhkNTc0LAorCTB4ZDU5MCwgMHhkNTkwLAorCTB4ZDVhYywgMHhk
NWFjLAorCTB4ZDVjOCwgMHhkNWM4LAorCTB4ZDVlNCwgMHhkNWU0LAorCTB4ZDYwMCwgMHhkNjAw
LAorCTB4ZDYxYywgMHhkNjFjLAorCTB4ZDYzOCwgMHhkNjM4LAorCTB4ZDY1NCwgMHhkNjU0LAor
CTB4ZDY3MCwgMHhkNjcwLAorCTB4ZDY4YywgMHhkNjhjLAorCTB4ZDZhOCwgMHhkNmE4LAorCTB4
ZDZjNCwgMHhkNmM0LAorCTB4ZDZlMCwgMHhkNmUwLAorCTB4ZDZmYywgMHhkNmZjLAorCTB4ZDcx
OCwgMHhkNzE4LAorCTB4ZDczNCwgMHhkNzM0LAorCTB4ZDc1MCwgMHhkNzUwLAorCTB4ZDc2Yywg
MHhkNzZjLAorCTB4ZDc4OCwgMHhkNzg4LAorfTsgLyogQ1JfR3JhcGhlbWVfQ2x1c3Rlcl9CcmVh
a19MViAqLworCisvKiAnR3JhcGhlbWVfQ2x1c3Rlcl9CcmVha19MVlQnOiBHcmFwaGVtZV9DbHVz
dGVyX0JyZWFrPUxWVCAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfR3JhcGhlbWVf
Q2x1c3Rlcl9CcmVha19MVlRbXSA9IHsKKwkzOTksCisJMHhhYzAxLCAweGFjMWIsCisJMHhhYzFk
LCAweGFjMzcsCisJMHhhYzM5LCAweGFjNTMsCisJMHhhYzU1LCAweGFjNmYsCisJMHhhYzcxLCAw
eGFjOGIsCisJMHhhYzhkLCAweGFjYTcsCisJMHhhY2E5LCAweGFjYzMsCisJMHhhY2M1LCAweGFj
ZGYsCisJMHhhY2UxLCAweGFjZmIsCisJMHhhY2ZkLCAweGFkMTcsCisJMHhhZDE5LCAweGFkMzMs
CisJMHhhZDM1LCAweGFkNGYsCisJMHhhZDUxLCAweGFkNmIsCisJMHhhZDZkLCAweGFkODcsCisJ
MHhhZDg5LCAweGFkYTMsCisJMHhhZGE1LCAweGFkYmYsCisJMHhhZGMxLCAweGFkZGIsCisJMHhh
ZGRkLCAweGFkZjcsCisJMHhhZGY5LCAweGFlMTMsCisJMHhhZTE1LCAweGFlMmYsCisJMHhhZTMx
LCAweGFlNGIsCisJMHhhZTRkLCAweGFlNjcsCisJMHhhZTY5LCAweGFlODMsCisJMHhhZTg1LCAw
eGFlOWYsCisJMHhhZWExLCAweGFlYmIsCisJMHhhZWJkLCAweGFlZDcsCisJMHhhZWQ5LCAweGFl
ZjMsCisJMHhhZWY1LCAweGFmMGYsCisJMHhhZjExLCAweGFmMmIsCisJMHhhZjJkLCAweGFmNDcs
CisJMHhhZjQ5LCAweGFmNjMsCisJMHhhZjY1LCAweGFmN2YsCisJMHhhZjgxLCAweGFmOWIsCisJ
MHhhZjlkLCAweGFmYjcsCisJMHhhZmI5LCAweGFmZDMsCisJMHhhZmQ1LCAweGFmZWYsCisJMHhh
ZmYxLCAweGIwMGIsCisJMHhiMDBkLCAweGIwMjcsCisJMHhiMDI5LCAweGIwNDMsCisJMHhiMDQ1
LCAweGIwNWYsCisJMHhiMDYxLCAweGIwN2IsCisJMHhiMDdkLCAweGIwOTcsCisJMHhiMDk5LCAw
eGIwYjMsCisJMHhiMGI1LCAweGIwY2YsCisJMHhiMGQxLCAweGIwZWIsCisJMHhiMGVkLCAweGIx
MDcsCisJMHhiMTA5LCAweGIxMjMsCisJMHhiMTI1LCAweGIxM2YsCisJMHhiMTQxLCAweGIxNWIs
CisJMHhiMTVkLCAweGIxNzcsCisJMHhiMTc5LCAweGIxOTMsCisJMHhiMTk1LCAweGIxYWYsCisJ
MHhiMWIxLCAweGIxY2IsCisJMHhiMWNkLCAweGIxZTcsCisJMHhiMWU5LCAweGIyMDMsCisJMHhi
MjA1LCAweGIyMWYsCisJMHhiMjIxLCAweGIyM2IsCisJMHhiMjNkLCAweGIyNTcsCisJMHhiMjU5
LCAweGIyNzMsCisJMHhiMjc1LCAweGIyOGYsCisJMHhiMjkxLCAweGIyYWIsCisJMHhiMmFkLCAw
eGIyYzcsCisJMHhiMmM5LCAweGIyZTMsCisJMHhiMmU1LCAweGIyZmYsCisJMHhiMzAxLCAweGIz
MWIsCisJMHhiMzFkLCAweGIzMzcsCisJMHhiMzM5LCAweGIzNTMsCisJMHhiMzU1LCAweGIzNmYs
CisJMHhiMzcxLCAweGIzOGIsCisJMHhiMzhkLCAweGIzYTcsCisJMHhiM2E5LCAweGIzYzMsCisJ
MHhiM2M1LCAweGIzZGYsCisJMHhiM2UxLCAweGIzZmIsCisJMHhiM2ZkLCAweGI0MTcsCisJMHhi
NDE5LCAweGI0MzMsCisJMHhiNDM1LCAweGI0NGYsCisJMHhiNDUxLCAweGI0NmIsCisJMHhiNDZk
LCAweGI0ODcsCisJMHhiNDg5LCAweGI0YTMsCisJMHhiNGE1LCAweGI0YmYsCisJMHhiNGMxLCAw
eGI0ZGIsCisJMHhiNGRkLCAweGI0ZjcsCisJMHhiNGY5LCAweGI1MTMsCisJMHhiNTE1LCAweGI1
MmYsCisJMHhiNTMxLCAweGI1NGIsCisJMHhiNTRkLCAweGI1NjcsCisJMHhiNTY5LCAweGI1ODMs
CisJMHhiNTg1LCAweGI1OWYsCisJMHhiNWExLCAweGI1YmIsCisJMHhiNWJkLCAweGI1ZDcsCisJ
MHhiNWQ5LCAweGI1ZjMsCisJMHhiNWY1LCAweGI2MGYsCisJMHhiNjExLCAweGI2MmIsCisJMHhi
NjJkLCAweGI2NDcsCisJMHhiNjQ5LCAweGI2NjMsCisJMHhiNjY1LCAweGI2N2YsCisJMHhiNjgx
LCAweGI2OWIsCisJMHhiNjlkLCAweGI2YjcsCisJMHhiNmI5LCAweGI2ZDMsCisJMHhiNmQ1LCAw
eGI2ZWYsCisJMHhiNmYxLCAweGI3MGIsCisJMHhiNzBkLCAweGI3MjcsCisJMHhiNzI5LCAweGI3
NDMsCisJMHhiNzQ1LCAweGI3NWYsCisJMHhiNzYxLCAweGI3N2IsCisJMHhiNzdkLCAweGI3OTcs
CisJMHhiNzk5LCAweGI3YjMsCisJMHhiN2I1LCAweGI3Y2YsCisJMHhiN2QxLCAweGI3ZWIsCisJ
MHhiN2VkLCAweGI4MDcsCisJMHhiODA5LCAweGI4MjMsCisJMHhiODI1LCAweGI4M2YsCisJMHhi
ODQxLCAweGI4NWIsCisJMHhiODVkLCAweGI4NzcsCisJMHhiODc5LCAweGI4OTMsCisJMHhiODk1
LCAweGI4YWYsCisJMHhiOGIxLCAweGI4Y2IsCisJMHhiOGNkLCAweGI4ZTcsCisJMHhiOGU5LCAw
eGI5MDMsCisJMHhiOTA1LCAweGI5MWYsCisJMHhiOTIxLCAweGI5M2IsCisJMHhiOTNkLCAweGI5
NTcsCisJMHhiOTU5LCAweGI5NzMsCisJMHhiOTc1LCAweGI5OGYsCisJMHhiOTkxLCAweGI5YWIs
CisJMHhiOWFkLCAweGI5YzcsCisJMHhiOWM5LCAweGI5ZTMsCisJMHhiOWU1LCAweGI5ZmYsCisJ
MHhiYTAxLCAweGJhMWIsCisJMHhiYTFkLCAweGJhMzcsCisJMHhiYTM5LCAweGJhNTMsCisJMHhi
YTU1LCAweGJhNmYsCisJMHhiYTcxLCAweGJhOGIsCisJMHhiYThkLCAweGJhYTcsCisJMHhiYWE5
LCAweGJhYzMsCisJMHhiYWM1LCAweGJhZGYsCisJMHhiYWUxLCAweGJhZmIsCisJMHhiYWZkLCAw
eGJiMTcsCisJMHhiYjE5LCAweGJiMzMsCisJMHhiYjM1LCAweGJiNGYsCisJMHhiYjUxLCAweGJi
NmIsCisJMHhiYjZkLCAweGJiODcsCisJMHhiYjg5LCAweGJiYTMsCisJMHhiYmE1LCAweGJiYmYs
CisJMHhiYmMxLCAweGJiZGIsCisJMHhiYmRkLCAweGJiZjcsCisJMHhiYmY5LCAweGJjMTMsCisJ
MHhiYzE1LCAweGJjMmYsCisJMHhiYzMxLCAweGJjNGIsCisJMHhiYzRkLCAweGJjNjcsCisJMHhi
YzY5LCAweGJjODMsCisJMHhiYzg1LCAweGJjOWYsCisJMHhiY2ExLCAweGJjYmIsCisJMHhiY2Jk
LCAweGJjZDcsCisJMHhiY2Q5LCAweGJjZjMsCisJMHhiY2Y1LCAweGJkMGYsCisJMHhiZDExLCAw
eGJkMmIsCisJMHhiZDJkLCAweGJkNDcsCisJMHhiZDQ5LCAweGJkNjMsCisJMHhiZDY1LCAweGJk
N2YsCisJMHhiZDgxLCAweGJkOWIsCisJMHhiZDlkLCAweGJkYjcsCisJMHhiZGI5LCAweGJkZDMs
CisJMHhiZGQ1LCAweGJkZWYsCisJMHhiZGYxLCAweGJlMGIsCisJMHhiZTBkLCAweGJlMjcsCisJ
MHhiZTI5LCAweGJlNDMsCisJMHhiZTQ1LCAweGJlNWYsCisJMHhiZTYxLCAweGJlN2IsCisJMHhi
ZTdkLCAweGJlOTcsCisJMHhiZTk5LCAweGJlYjMsCisJMHhiZWI1LCAweGJlY2YsCisJMHhiZWQx
LCAweGJlZWIsCisJMHhiZWVkLCAweGJmMDcsCisJMHhiZjA5LCAweGJmMjMsCisJMHhiZjI1LCAw
eGJmM2YsCisJMHhiZjQxLCAweGJmNWIsCisJMHhiZjVkLCAweGJmNzcsCisJMHhiZjc5LCAweGJm
OTMsCisJMHhiZjk1LCAweGJmYWYsCisJMHhiZmIxLCAweGJmY2IsCisJMHhiZmNkLCAweGJmZTcs
CisJMHhiZmU5LCAweGMwMDMsCisJMHhjMDA1LCAweGMwMWYsCisJMHhjMDIxLCAweGMwM2IsCisJ
MHhjMDNkLCAweGMwNTcsCisJMHhjMDU5LCAweGMwNzMsCisJMHhjMDc1LCAweGMwOGYsCisJMHhj
MDkxLCAweGMwYWIsCisJMHhjMGFkLCAweGMwYzcsCisJMHhjMGM5LCAweGMwZTMsCisJMHhjMGU1
LCAweGMwZmYsCisJMHhjMTAxLCAweGMxMWIsCisJMHhjMTFkLCAweGMxMzcsCisJMHhjMTM5LCAw
eGMxNTMsCisJMHhjMTU1LCAweGMxNmYsCisJMHhjMTcxLCAweGMxOGIsCisJMHhjMThkLCAweGMx
YTcsCisJMHhjMWE5LCAweGMxYzMsCisJMHhjMWM1LCAweGMxZGYsCisJMHhjMWUxLCAweGMxZmIs
CisJMHhjMWZkLCAweGMyMTcsCisJMHhjMjE5LCAweGMyMzMsCisJMHhjMjM1LCAweGMyNGYsCisJ
MHhjMjUxLCAweGMyNmIsCisJMHhjMjZkLCAweGMyODcsCisJMHhjMjg5LCAweGMyYTMsCisJMHhj
MmE1LCAweGMyYmYsCisJMHhjMmMxLCAweGMyZGIsCisJMHhjMmRkLCAweGMyZjcsCisJMHhjMmY5
LCAweGMzMTMsCisJMHhjMzE1LCAweGMzMmYsCisJMHhjMzMxLCAweGMzNGIsCisJMHhjMzRkLCAw
eGMzNjcsCisJMHhjMzY5LCAweGMzODMsCisJMHhjMzg1LCAweGMzOWYsCisJMHhjM2ExLCAweGMz
YmIsCisJMHhjM2JkLCAweGMzZDcsCisJMHhjM2Q5LCAweGMzZjMsCisJMHhjM2Y1LCAweGM0MGYs
CisJMHhjNDExLCAweGM0MmIsCisJMHhjNDJkLCAweGM0NDcsCisJMHhjNDQ5LCAweGM0NjMsCisJ
MHhjNDY1LCAweGM0N2YsCisJMHhjNDgxLCAweGM0OWIsCisJMHhjNDlkLCAweGM0YjcsCisJMHhj
NGI5LCAweGM0ZDMsCisJMHhjNGQ1LCAweGM0ZWYsCisJMHhjNGYxLCAweGM1MGIsCisJMHhjNTBk
LCAweGM1MjcsCisJMHhjNTI5LCAweGM1NDMsCisJMHhjNTQ1LCAweGM1NWYsCisJMHhjNTYxLCAw
eGM1N2IsCisJMHhjNTdkLCAweGM1OTcsCisJMHhjNTk5LCAweGM1YjMsCisJMHhjNWI1LCAweGM1
Y2YsCisJMHhjNWQxLCAweGM1ZWIsCisJMHhjNWVkLCAweGM2MDcsCisJMHhjNjA5LCAweGM2MjMs
CisJMHhjNjI1LCAweGM2M2YsCisJMHhjNjQxLCAweGM2NWIsCisJMHhjNjVkLCAweGM2NzcsCisJ
MHhjNjc5LCAweGM2OTMsCisJMHhjNjk1LCAweGM2YWYsCisJMHhjNmIxLCAweGM2Y2IsCisJMHhj
NmNkLCAweGM2ZTcsCisJMHhjNmU5LCAweGM3MDMsCisJMHhjNzA1LCAweGM3MWYsCisJMHhjNzIx
LCAweGM3M2IsCisJMHhjNzNkLCAweGM3NTcsCisJMHhjNzU5LCAweGM3NzMsCisJMHhjNzc1LCAw
eGM3OGYsCisJMHhjNzkxLCAweGM3YWIsCisJMHhjN2FkLCAweGM3YzcsCisJMHhjN2M5LCAweGM3
ZTMsCisJMHhjN2U1LCAweGM3ZmYsCisJMHhjODAxLCAweGM4MWIsCisJMHhjODFkLCAweGM4Mzcs
CisJMHhjODM5LCAweGM4NTMsCisJMHhjODU1LCAweGM4NmYsCisJMHhjODcxLCAweGM4OGIsCisJ
MHhjODhkLCAweGM4YTcsCisJMHhjOGE5LCAweGM4YzMsCisJMHhjOGM1LCAweGM4ZGYsCisJMHhj
OGUxLCAweGM4ZmIsCisJMHhjOGZkLCAweGM5MTcsCisJMHhjOTE5LCAweGM5MzMsCisJMHhjOTM1
LCAweGM5NGYsCisJMHhjOTUxLCAweGM5NmIsCisJMHhjOTZkLCAweGM5ODcsCisJMHhjOTg5LCAw
eGM5YTMsCisJMHhjOWE1LCAweGM5YmYsCisJMHhjOWMxLCAweGM5ZGIsCisJMHhjOWRkLCAweGM5
ZjcsCisJMHhjOWY5LCAweGNhMTMsCisJMHhjYTE1LCAweGNhMmYsCisJMHhjYTMxLCAweGNhNGIs
CisJMHhjYTRkLCAweGNhNjcsCisJMHhjYTY5LCAweGNhODMsCisJMHhjYTg1LCAweGNhOWYsCisJ
MHhjYWExLCAweGNhYmIsCisJMHhjYWJkLCAweGNhZDcsCisJMHhjYWQ5LCAweGNhZjMsCisJMHhj
YWY1LCAweGNiMGYsCisJMHhjYjExLCAweGNiMmIsCisJMHhjYjJkLCAweGNiNDcsCisJMHhjYjQ5
LCAweGNiNjMsCisJMHhjYjY1LCAweGNiN2YsCisJMHhjYjgxLCAweGNiOWIsCisJMHhjYjlkLCAw
eGNiYjcsCisJMHhjYmI5LCAweGNiZDMsCisJMHhjYmQ1LCAweGNiZWYsCisJMHhjYmYxLCAweGNj
MGIsCisJMHhjYzBkLCAweGNjMjcsCisJMHhjYzI5LCAweGNjNDMsCisJMHhjYzQ1LCAweGNjNWYs
CisJMHhjYzYxLCAweGNjN2IsCisJMHhjYzdkLCAweGNjOTcsCisJMHhjYzk5LCAweGNjYjMsCisJ
MHhjY2I1LCAweGNjY2YsCisJMHhjY2QxLCAweGNjZWIsCisJMHhjY2VkLCAweGNkMDcsCisJMHhj
ZDA5LCAweGNkMjMsCisJMHhjZDI1LCAweGNkM2YsCisJMHhjZDQxLCAweGNkNWIsCisJMHhjZDVk
LCAweGNkNzcsCisJMHhjZDc5LCAweGNkOTMsCisJMHhjZDk1LCAweGNkYWYsCisJMHhjZGIxLCAw
eGNkY2IsCisJMHhjZGNkLCAweGNkZTcsCisJMHhjZGU5LCAweGNlMDMsCisJMHhjZTA1LCAweGNl
MWYsCisJMHhjZTIxLCAweGNlM2IsCisJMHhjZTNkLCAweGNlNTcsCisJMHhjZTU5LCAweGNlNzMs
CisJMHhjZTc1LCAweGNlOGYsCisJMHhjZTkxLCAweGNlYWIsCisJMHhjZWFkLCAweGNlYzcsCisJ
MHhjZWM5LCAweGNlZTMsCisJMHhjZWU1LCAweGNlZmYsCisJMHhjZjAxLCAweGNmMWIsCisJMHhj
ZjFkLCAweGNmMzcsCisJMHhjZjM5LCAweGNmNTMsCisJMHhjZjU1LCAweGNmNmYsCisJMHhjZjcx
LCAweGNmOGIsCisJMHhjZjhkLCAweGNmYTcsCisJMHhjZmE5LCAweGNmYzMsCisJMHhjZmM1LCAw
eGNmZGYsCisJMHhjZmUxLCAweGNmZmIsCisJMHhjZmZkLCAweGQwMTcsCisJMHhkMDE5LCAweGQw
MzMsCisJMHhkMDM1LCAweGQwNGYsCisJMHhkMDUxLCAweGQwNmIsCisJMHhkMDZkLCAweGQwODcs
CisJMHhkMDg5LCAweGQwYTMsCisJMHhkMGE1LCAweGQwYmYsCisJMHhkMGMxLCAweGQwZGIsCisJ
MHhkMGRkLCAweGQwZjcsCisJMHhkMGY5LCAweGQxMTMsCisJMHhkMTE1LCAweGQxMmYsCisJMHhk
MTMxLCAweGQxNGIsCisJMHhkMTRkLCAweGQxNjcsCisJMHhkMTY5LCAweGQxODMsCisJMHhkMTg1
LCAweGQxOWYsCisJMHhkMWExLCAweGQxYmIsCisJMHhkMWJkLCAweGQxZDcsCisJMHhkMWQ5LCAw
eGQxZjMsCisJMHhkMWY1LCAweGQyMGYsCisJMHhkMjExLCAweGQyMmIsCisJMHhkMjJkLCAweGQy
NDcsCisJMHhkMjQ5LCAweGQyNjMsCisJMHhkMjY1LCAweGQyN2YsCisJMHhkMjgxLCAweGQyOWIs
CisJMHhkMjlkLCAweGQyYjcsCisJMHhkMmI5LCAweGQyZDMsCisJMHhkMmQ1LCAweGQyZWYsCisJ
MHhkMmYxLCAweGQzMGIsCisJMHhkMzBkLCAweGQzMjcsCisJMHhkMzI5LCAweGQzNDMsCisJMHhk
MzQ1LCAweGQzNWYsCisJMHhkMzYxLCAweGQzN2IsCisJMHhkMzdkLCAweGQzOTcsCisJMHhkMzk5
LCAweGQzYjMsCisJMHhkM2I1LCAweGQzY2YsCisJMHhkM2QxLCAweGQzZWIsCisJMHhkM2VkLCAw
eGQ0MDcsCisJMHhkNDA5LCAweGQ0MjMsCisJMHhkNDI1LCAweGQ0M2YsCisJMHhkNDQxLCAweGQ0
NWIsCisJMHhkNDVkLCAweGQ0NzcsCisJMHhkNDc5LCAweGQ0OTMsCisJMHhkNDk1LCAweGQ0YWYs
CisJMHhkNGIxLCAweGQ0Y2IsCisJMHhkNGNkLCAweGQ0ZTcsCisJMHhkNGU5LCAweGQ1MDMsCisJ
MHhkNTA1LCAweGQ1MWYsCisJMHhkNTIxLCAweGQ1M2IsCisJMHhkNTNkLCAweGQ1NTcsCisJMHhk
NTU5LCAweGQ1NzMsCisJMHhkNTc1LCAweGQ1OGYsCisJMHhkNTkxLCAweGQ1YWIsCisJMHhkNWFk
LCAweGQ1YzcsCisJMHhkNWM5LCAweGQ1ZTMsCisJMHhkNWU1LCAweGQ1ZmYsCisJMHhkNjAxLCAw
eGQ2MWIsCisJMHhkNjFkLCAweGQ2MzcsCisJMHhkNjM5LCAweGQ2NTMsCisJMHhkNjU1LCAweGQ2
NmYsCisJMHhkNjcxLCAweGQ2OGIsCisJMHhkNjhkLCAweGQ2YTcsCisJMHhkNmE5LCAweGQ2YzMs
CisJMHhkNmM1LCAweGQ2ZGYsCisJMHhkNmUxLCAweGQ2ZmIsCisJMHhkNmZkLCAweGQ3MTcsCisJ
MHhkNzE5LCAweGQ3MzMsCisJMHhkNzM1LCAweGQ3NGYsCisJMHhkNzUxLCAweGQ3NmIsCisJMHhk
NzZkLCAweGQ3ODcsCisJMHhkNzg5LCAweGQ3YTMsCit9OyAvKiBDUl9HcmFwaGVtZV9DbHVzdGVy
X0JyZWFrX0xWVCAqLworCisvKiAnR3JhcGhlbWVfQ2x1c3Rlcl9CcmVha19aV0onOiBHcmFwaGVt
ZV9DbHVzdGVyX0JyZWFrPVpXSiAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfR3Jh
cGhlbWVfQ2x1c3Rlcl9CcmVha19aV0pbXSA9IHsKKwkxLAorCTB4MjAwZCwgMHgyMDBkLAorfTsg
LyogQ1JfR3JhcGhlbWVfQ2x1c3Rlcl9CcmVha19aV0ogKi8KKworLyogJ0luX0Jhc2ljX0xhdGlu
JzogQmxvY2sgKi8KKyNkZWZpbmUgQ1JfSW5fQmFzaWNfTGF0aW4gQ1JfQVNDSUkKKworLyogJ0lu
X0xhdGluXzFfU3VwcGxlbWVudCc6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2lu
dCBDUl9Jbl9MYXRpbl8xX1N1cHBsZW1lbnRbXSA9IHsKKwkxLAorCTB4MDA4MCwgMHgwMGZmLAor
fTsgLyogQ1JfSW5fTGF0aW5fMV9TdXBwbGVtZW50ICovCisKKy8qICdJbl9MYXRpbl9FeHRlbmRl
ZF9BJzogQmxvY2sgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0luX0xhdGluX0V4
dGVuZGVkX0FbXSA9IHsKKwkxLAorCTB4MDEwMCwgMHgwMTdmLAorfTsgLyogQ1JfSW5fTGF0aW5f
RXh0ZW5kZWRfQSAqLworCisvKiAnSW5fTGF0aW5fRXh0ZW5kZWRfQic6IEJsb2NrICovCitzdGF0
aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9MYXRpbl9FeHRlbmRlZF9CW10gPSB7CisJMSwK
KwkweDAxODAsIDB4MDI0ZiwKK307IC8qIENSX0luX0xhdGluX0V4dGVuZGVkX0IgKi8KKworLyog
J0luX0lQQV9FeHRlbnNpb25zJzogQmxvY2sgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50
IENSX0luX0lQQV9FeHRlbnNpb25zW10gPSB7CisJMSwKKwkweDAyNTAsIDB4MDJhZiwKK307IC8q
IENSX0luX0lQQV9FeHRlbnNpb25zICovCisKKy8qICdJbl9TcGFjaW5nX01vZGlmaWVyX0xldHRl
cnMnOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fU3BhY2luZ19N
b2RpZmllcl9MZXR0ZXJzW10gPSB7CisJMSwKKwkweDAyYjAsIDB4MDJmZiwKK307IC8qIENSX0lu
X1NwYWNpbmdfTW9kaWZpZXJfTGV0dGVycyAqLworCisvKiAnSW5fQ29tYmluaW5nX0RpYWNyaXRp
Y2FsX01hcmtzJzogQmxvY2sgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0luX0Nv
bWJpbmluZ19EaWFjcml0aWNhbF9NYXJrc1tdID0geworCTEsCisJMHgwMzAwLCAweDAzNmYsCit9
OyAvKiBDUl9Jbl9Db21iaW5pbmdfRGlhY3JpdGljYWxfTWFya3MgKi8KKworLyogJ0luX0dyZWVr
X2FuZF9Db3B0aWMnOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5f
R3JlZWtfYW5kX0NvcHRpY1tdID0geworCTEsCisJMHgwMzcwLCAweDAzZmYsCit9OyAvKiBDUl9J
bl9HcmVla19hbmRfQ29wdGljICovCisKKy8qICdJbl9DeXJpbGxpYyc6IEJsb2NrICovCitzdGF0
aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9DeXJpbGxpY1tdID0geworCTEsCisJMHgwNDAw
LCAweDA0ZmYsCit9OyAvKiBDUl9Jbl9DeXJpbGxpYyAqLworCisvKiAnSW5fQ3lyaWxsaWNfU3Vw
cGxlbWVudCc6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9DeXJp
bGxpY19TdXBwbGVtZW50W10gPSB7CisJMSwKKwkweDA1MDAsIDB4MDUyZiwKK307IC8qIENSX0lu
X0N5cmlsbGljX1N1cHBsZW1lbnQgKi8KKworLyogJ0luX0FybWVuaWFuJzogQmxvY2sgKi8KK3N0
YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0luX0FybWVuaWFuW10gPSB7CisJMSwKKwkweDA1
MzAsIDB4MDU4ZiwKK307IC8qIENSX0luX0FybWVuaWFuICovCisKKy8qICdJbl9IZWJyZXcnOiBC
bG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fSGVicmV3W10gPSB7CisJ
MSwKKwkweDA1OTAsIDB4MDVmZiwKK307IC8qIENSX0luX0hlYnJldyAqLworCisvKiAnSW5fQXJh
YmljJzogQmxvY2sgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0luX0FyYWJpY1td
ID0geworCTEsCisJMHgwNjAwLCAweDA2ZmYsCit9OyAvKiBDUl9Jbl9BcmFiaWMgKi8KKworLyog
J0luX1N5cmlhYyc6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9T
eXJpYWNbXSA9IHsKKwkxLAorCTB4MDcwMCwgMHgwNzRmLAorfTsgLyogQ1JfSW5fU3lyaWFjICov
CisKKy8qICdJbl9BcmFiaWNfU3VwcGxlbWVudCc6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25p
Z0NvZGVQb2ludCBDUl9Jbl9BcmFiaWNfU3VwcGxlbWVudFtdID0geworCTEsCisJMHgwNzUwLCAw
eDA3N2YsCit9OyAvKiBDUl9Jbl9BcmFiaWNfU3VwcGxlbWVudCAqLworCisvKiAnSW5fVGhhYW5h
JzogQmxvY2sgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0luX1RoYWFuYVtdID0g
eworCTEsCisJMHgwNzgwLCAweDA3YmYsCit9OyAvKiBDUl9Jbl9UaGFhbmEgKi8KKworLyogJ0lu
X05Lbyc6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9OS29bXSA9
IHsKKwkxLAorCTB4MDdjMCwgMHgwN2ZmLAorfTsgLyogQ1JfSW5fTktvICovCisKKy8qICdJbl9T
YW1hcml0YW4nOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fU2Ft
YXJpdGFuW10gPSB7CisJMSwKKwkweDA4MDAsIDB4MDgzZiwKK307IC8qIENSX0luX1NhbWFyaXRh
biAqLworCisvKiAnSW5fTWFuZGFpYyc6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQ
b2ludCBDUl9Jbl9NYW5kYWljW10gPSB7CisJMSwKKwkweDA4NDAsIDB4MDg1ZiwKK307IC8qIENS
X0luX01hbmRhaWMgKi8KKworLyogJ0luX1N5cmlhY19TdXBwbGVtZW50JzogQmxvY2sgKi8KK3N0
YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0luX1N5cmlhY19TdXBwbGVtZW50W10gPSB7CisJ
MSwKKwkweDA4NjAsIDB4MDg2ZiwKK307IC8qIENSX0luX1N5cmlhY19TdXBwbGVtZW50ICovCisK
Ky8qICdJbl9BcmFiaWNfRXh0ZW5kZWRfQSc6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0Nv
ZGVQb2ludCBDUl9Jbl9BcmFiaWNfRXh0ZW5kZWRfQVtdID0geworCTEsCisJMHgwOGEwLCAweDA4
ZmYsCit9OyAvKiBDUl9Jbl9BcmFiaWNfRXh0ZW5kZWRfQSAqLworCisvKiAnSW5fRGV2YW5hZ2Fy
aSc6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9EZXZhbmFnYXJp
W10gPSB7CisJMSwKKwkweDA5MDAsIDB4MDk3ZiwKK307IC8qIENSX0luX0RldmFuYWdhcmkgKi8K
KworLyogJ0luX0JlbmdhbGknOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQg
Q1JfSW5fQmVuZ2FsaVtdID0geworCTEsCisJMHgwOTgwLCAweDA5ZmYsCit9OyAvKiBDUl9Jbl9C
ZW5nYWxpICovCisKKy8qICdJbl9HdXJtdWtoaSc6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25p
Z0NvZGVQb2ludCBDUl9Jbl9HdXJtdWtoaVtdID0geworCTEsCisJMHgwYTAwLCAweDBhN2YsCit9
OyAvKiBDUl9Jbl9HdXJtdWtoaSAqLworCisvKiAnSW5fR3VqYXJhdGknOiBCbG9jayAqLworc3Rh
dGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fR3VqYXJhdGlbXSA9IHsKKwkxLAorCTB4MGE4
MCwgMHgwYWZmLAorfTsgLyogQ1JfSW5fR3VqYXJhdGkgKi8KKworLyogJ0luX09yaXlhJzogQmxv
Y2sgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0luX09yaXlhW10gPSB7CisJMSwK
KwkweDBiMDAsIDB4MGI3ZiwKK307IC8qIENSX0luX09yaXlhICovCisKKy8qICdJbl9UYW1pbCc6
IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9UYW1pbFtdID0gewor
CTEsCisJMHgwYjgwLCAweDBiZmYsCit9OyAvKiBDUl9Jbl9UYW1pbCAqLworCisvKiAnSW5fVGVs
dWd1JzogQmxvY2sgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0luX1RlbHVndVtd
ID0geworCTEsCisJMHgwYzAwLCAweDBjN2YsCit9OyAvKiBDUl9Jbl9UZWx1Z3UgKi8KKworLyog
J0luX0thbm5hZGEnOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5f
S2FubmFkYVtdID0geworCTEsCisJMHgwYzgwLCAweDBjZmYsCit9OyAvKiBDUl9Jbl9LYW5uYWRh
ICovCisKKy8qICdJbl9NYWxheWFsYW0nOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2Rl
UG9pbnQgQ1JfSW5fTWFsYXlhbGFtW10gPSB7CisJMSwKKwkweDBkMDAsIDB4MGQ3ZiwKK307IC8q
IENSX0luX01hbGF5YWxhbSAqLworCisvKiAnSW5fU2luaGFsYSc6IEJsb2NrICovCitzdGF0aWMg
Y29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9TaW5oYWxhW10gPSB7CisJMSwKKwkweDBkODAsIDB4
MGRmZiwKK307IC8qIENSX0luX1NpbmhhbGEgKi8KKworLyogJ0luX1RoYWknOiBCbG9jayAqLwor
c3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fVGhhaVtdID0geworCTEsCisJMHgwZTAw
LCAweDBlN2YsCit9OyAvKiBDUl9Jbl9UaGFpICovCisKKy8qICdJbl9MYW8nOiBCbG9jayAqLwor
c3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fTGFvW10gPSB7CisJMSwKKwkweDBlODAs
IDB4MGVmZiwKK307IC8qIENSX0luX0xhbyAqLworCisvKiAnSW5fVGliZXRhbic6IEJsb2NrICov
CitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9UaWJldGFuW10gPSB7CisJMSwKKwkw
eDBmMDAsIDB4MGZmZiwKK307IC8qIENSX0luX1RpYmV0YW4gKi8KKworLyogJ0luX015YW5tYXIn
OiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fTXlhbm1hcltdID0g
eworCTEsCisJMHgxMDAwLCAweDEwOWYsCit9OyAvKiBDUl9Jbl9NeWFubWFyICovCisKKy8qICdJ
bl9HZW9yZ2lhbic6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9H
ZW9yZ2lhbltdID0geworCTEsCisJMHgxMGEwLCAweDEwZmYsCit9OyAvKiBDUl9Jbl9HZW9yZ2lh
biAqLworCisvKiAnSW5fSGFuZ3VsX0phbW8nOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdD
b2RlUG9pbnQgQ1JfSW5fSGFuZ3VsX0phbW9bXSA9IHsKKwkxLAorCTB4MTEwMCwgMHgxMWZmLAor
fTsgLyogQ1JfSW5fSGFuZ3VsX0phbW8gKi8KKworLyogJ0luX0V0aGlvcGljJzogQmxvY2sgKi8K
K3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0luX0V0aGlvcGljW10gPSB7CisJMSwKKwkw
eDEyMDAsIDB4MTM3ZiwKK307IC8qIENSX0luX0V0aGlvcGljICovCisKKy8qICdJbl9FdGhpb3Bp
Y19TdXBwbGVtZW50JzogQmxvY2sgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0lu
X0V0aGlvcGljX1N1cHBsZW1lbnRbXSA9IHsKKwkxLAorCTB4MTM4MCwgMHgxMzlmLAorfTsgLyog
Q1JfSW5fRXRoaW9waWNfU3VwcGxlbWVudCAqLworCisvKiAnSW5fQ2hlcm9rZWUnOiBCbG9jayAq
Lworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fQ2hlcm9rZWVbXSA9IHsKKwkxLAor
CTB4MTNhMCwgMHgxM2ZmLAorfTsgLyogQ1JfSW5fQ2hlcm9rZWUgKi8KKworLyogJ0luX1VuaWZp
ZWRfQ2FuYWRpYW5fQWJvcmlnaW5hbF9TeWxsYWJpY3MnOiBCbG9jayAqLworc3RhdGljIGNvbnN0
IE9uaWdDb2RlUG9pbnQgQ1JfSW5fVW5pZmllZF9DYW5hZGlhbl9BYm9yaWdpbmFsX1N5bGxhYmlj
c1tdID0geworCTEsCisJMHgxNDAwLCAweDE2N2YsCit9OyAvKiBDUl9Jbl9VbmlmaWVkX0NhbmFk
aWFuX0Fib3JpZ2luYWxfU3lsbGFiaWNzICovCisKKy8qICdJbl9PZ2hhbSc6IEJsb2NrICovCitz
dGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9PZ2hhbVtdID0geworCTEsCisJMHgxNjgw
LCAweDE2OWYsCit9OyAvKiBDUl9Jbl9PZ2hhbSAqLworCisvKiAnSW5fUnVuaWMnOiBCbG9jayAq
Lworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fUnVuaWNbXSA9IHsKKwkxLAorCTB4
MTZhMCwgMHgxNmZmLAorfTsgLyogQ1JfSW5fUnVuaWMgKi8KKworLyogJ0luX1RhZ2Fsb2cnOiBC
bG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fVGFnYWxvZ1tdID0gewor
CTEsCisJMHgxNzAwLCAweDE3MWYsCit9OyAvKiBDUl9Jbl9UYWdhbG9nICovCisKKy8qICdJbl9I
YW51bm9vJzogQmxvY2sgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0luX0hhbnVu
b29bXSA9IHsKKwkxLAorCTB4MTcyMCwgMHgxNzNmLAorfTsgLyogQ1JfSW5fSGFudW5vbyAqLwor
CisvKiAnSW5fQnVoaWQnOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1Jf
SW5fQnVoaWRbXSA9IHsKKwkxLAorCTB4MTc0MCwgMHgxNzVmLAorfTsgLyogQ1JfSW5fQnVoaWQg
Ki8KKworLyogJ0luX1RhZ2JhbndhJzogQmxvY2sgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBv
aW50IENSX0luX1RhZ2JhbndhW10gPSB7CisJMSwKKwkweDE3NjAsIDB4MTc3ZiwKK307IC8qIENS
X0luX1RhZ2JhbndhICovCisKKy8qICdJbl9LaG1lcic6IEJsb2NrICovCitzdGF0aWMgY29uc3Qg
T25pZ0NvZGVQb2ludCBDUl9Jbl9LaG1lcltdID0geworCTEsCisJMHgxNzgwLCAweDE3ZmYsCit9
OyAvKiBDUl9Jbl9LaG1lciAqLworCisvKiAnSW5fTW9uZ29saWFuJzogQmxvY2sgKi8KK3N0YXRp
YyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0luX01vbmdvbGlhbltdID0geworCTEsCisJMHgxODAw
LCAweDE4YWYsCit9OyAvKiBDUl9Jbl9Nb25nb2xpYW4gKi8KKworLyogJ0luX1VuaWZpZWRfQ2Fu
YWRpYW5fQWJvcmlnaW5hbF9TeWxsYWJpY3NfRXh0ZW5kZWQnOiBCbG9jayAqLworc3RhdGljIGNv
bnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fVW5pZmllZF9DYW5hZGlhbl9BYm9yaWdpbmFsX1N5bGxh
Ymljc19FeHRlbmRlZFtdID0geworCTEsCisJMHgxOGIwLCAweDE4ZmYsCit9OyAvKiBDUl9Jbl9V
bmlmaWVkX0NhbmFkaWFuX0Fib3JpZ2luYWxfU3lsbGFiaWNzX0V4dGVuZGVkICovCisKKy8qICdJ
bl9MaW1idSc6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9MaW1i
dVtdID0geworCTEsCisJMHgxOTAwLCAweDE5NGYsCit9OyAvKiBDUl9Jbl9MaW1idSAqLworCisv
KiAnSW5fVGFpX0xlJzogQmxvY2sgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0lu
X1RhaV9MZVtdID0geworCTEsCisJMHgxOTUwLCAweDE5N2YsCit9OyAvKiBDUl9Jbl9UYWlfTGUg
Ki8KKworLyogJ0luX05ld19UYWlfTHVlJzogQmxvY2sgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29k
ZVBvaW50IENSX0luX05ld19UYWlfTHVlW10gPSB7CisJMSwKKwkweDE5ODAsIDB4MTlkZiwKK307
IC8qIENSX0luX05ld19UYWlfTHVlICovCisKKy8qICdJbl9LaG1lcl9TeW1ib2xzJzogQmxvY2sg
Ki8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0luX0tobWVyX1N5bWJvbHNbXSA9IHsK
KwkxLAorCTB4MTllMCwgMHgxOWZmLAorfTsgLyogQ1JfSW5fS2htZXJfU3ltYm9scyAqLworCisv
KiAnSW5fQnVnaW5lc2UnOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1Jf
SW5fQnVnaW5lc2VbXSA9IHsKKwkxLAorCTB4MWEwMCwgMHgxYTFmLAorfTsgLyogQ1JfSW5fQnVn
aW5lc2UgKi8KKworLyogJ0luX1RhaV9UaGFtJzogQmxvY2sgKi8KK3N0YXRpYyBjb25zdCBPbmln
Q29kZVBvaW50IENSX0luX1RhaV9UaGFtW10gPSB7CisJMSwKKwkweDFhMjAsIDB4MWFhZiwKK307
IC8qIENSX0luX1RhaV9UaGFtICovCisKKy8qICdJbl9Db21iaW5pbmdfRGlhY3JpdGljYWxfTWFy
a3NfRXh0ZW5kZWQnOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5f
Q29tYmluaW5nX0RpYWNyaXRpY2FsX01hcmtzX0V4dGVuZGVkW10gPSB7CisJMSwKKwkweDFhYjAs
IDB4MWFmZiwKK307IC8qIENSX0luX0NvbWJpbmluZ19EaWFjcml0aWNhbF9NYXJrc19FeHRlbmRl
ZCAqLworCisvKiAnSW5fQmFsaW5lc2UnOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2Rl
UG9pbnQgQ1JfSW5fQmFsaW5lc2VbXSA9IHsKKwkxLAorCTB4MWIwMCwgMHgxYjdmLAorfTsgLyog
Q1JfSW5fQmFsaW5lc2UgKi8KKworLyogJ0luX1N1bmRhbmVzZSc6IEJsb2NrICovCitzdGF0aWMg
Y29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9TdW5kYW5lc2VbXSA9IHsKKwkxLAorCTB4MWI4MCwg
MHgxYmJmLAorfTsgLyogQ1JfSW5fU3VuZGFuZXNlICovCisKKy8qICdJbl9CYXRhayc6IEJsb2Nr
ICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9CYXRha1tdID0geworCTEsCisJ
MHgxYmMwLCAweDFiZmYsCit9OyAvKiBDUl9Jbl9CYXRhayAqLworCisvKiAnSW5fTGVwY2hhJzog
QmxvY2sgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0luX0xlcGNoYVtdID0gewor
CTEsCisJMHgxYzAwLCAweDFjNGYsCit9OyAvKiBDUl9Jbl9MZXBjaGEgKi8KKworLyogJ0luX09s
X0NoaWtpJzogQmxvY2sgKi8KKyNkZWZpbmUgQ1JfSW5fT2xfQ2hpa2kgQ1JfT2xfQ2hpa2kKKwor
LyogJ0luX0N5cmlsbGljX0V4dGVuZGVkX0MnOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdD
b2RlUG9pbnQgQ1JfSW5fQ3lyaWxsaWNfRXh0ZW5kZWRfQ1tdID0geworCTEsCisJMHgxYzgwLCAw
eDFjOGYsCit9OyAvKiBDUl9Jbl9DeXJpbGxpY19FeHRlbmRlZF9DICovCisKKy8qICdJbl9HZW9y
Z2lhbl9FeHRlbmRlZCc6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9J
bl9HZW9yZ2lhbl9FeHRlbmRlZFtdID0geworCTEsCisJMHgxYzkwLCAweDFjYmYsCit9OyAvKiBD
Ul9Jbl9HZW9yZ2lhbl9FeHRlbmRlZCAqLworCisvKiAnSW5fU3VuZGFuZXNlX1N1cHBsZW1lbnQn
OiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fU3VuZGFuZXNlX1N1
cHBsZW1lbnRbXSA9IHsKKwkxLAorCTB4MWNjMCwgMHgxY2NmLAorfTsgLyogQ1JfSW5fU3VuZGFu
ZXNlX1N1cHBsZW1lbnQgKi8KKworLyogJ0luX1ZlZGljX0V4dGVuc2lvbnMnOiBCbG9jayAqLwor
c3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fVmVkaWNfRXh0ZW5zaW9uc1tdID0gewor
CTEsCisJMHgxY2QwLCAweDFjZmYsCit9OyAvKiBDUl9Jbl9WZWRpY19FeHRlbnNpb25zICovCisK
Ky8qICdJbl9QaG9uZXRpY19FeHRlbnNpb25zJzogQmxvY2sgKi8KK3N0YXRpYyBjb25zdCBPbmln
Q29kZVBvaW50IENSX0luX1Bob25ldGljX0V4dGVuc2lvbnNbXSA9IHsKKwkxLAorCTB4MWQwMCwg
MHgxZDdmLAorfTsgLyogQ1JfSW5fUGhvbmV0aWNfRXh0ZW5zaW9ucyAqLworCisvKiAnSW5fUGhv
bmV0aWNfRXh0ZW5zaW9uc19TdXBwbGVtZW50JzogQmxvY2sgKi8KK3N0YXRpYyBjb25zdCBPbmln
Q29kZVBvaW50IENSX0luX1Bob25ldGljX0V4dGVuc2lvbnNfU3VwcGxlbWVudFtdID0geworCTEs
CisJMHgxZDgwLCAweDFkYmYsCit9OyAvKiBDUl9Jbl9QaG9uZXRpY19FeHRlbnNpb25zX1N1cHBs
ZW1lbnQgKi8KKworLyogJ0luX0NvbWJpbmluZ19EaWFjcml0aWNhbF9NYXJrc19TdXBwbGVtZW50
JzogQmxvY2sgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0luX0NvbWJpbmluZ19E
aWFjcml0aWNhbF9NYXJrc19TdXBwbGVtZW50W10gPSB7CisJMSwKKwkweDFkYzAsIDB4MWRmZiwK
K307IC8qIENSX0luX0NvbWJpbmluZ19EaWFjcml0aWNhbF9NYXJrc19TdXBwbGVtZW50ICovCisK
Ky8qICdJbl9MYXRpbl9FeHRlbmRlZF9BZGRpdGlvbmFsJzogQmxvY2sgKi8KK3N0YXRpYyBjb25z
dCBPbmlnQ29kZVBvaW50IENSX0luX0xhdGluX0V4dGVuZGVkX0FkZGl0aW9uYWxbXSA9IHsKKwkx
LAorCTB4MWUwMCwgMHgxZWZmLAorfTsgLyogQ1JfSW5fTGF0aW5fRXh0ZW5kZWRfQWRkaXRpb25h
bCAqLworCisvKiAnSW5fR3JlZWtfRXh0ZW5kZWQnOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9u
aWdDb2RlUG9pbnQgQ1JfSW5fR3JlZWtfRXh0ZW5kZWRbXSA9IHsKKwkxLAorCTB4MWYwMCwgMHgx
ZmZmLAorfTsgLyogQ1JfSW5fR3JlZWtfRXh0ZW5kZWQgKi8KKworLyogJ0luX0dlbmVyYWxfUHVu
Y3R1YXRpb24nOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fR2Vu
ZXJhbF9QdW5jdHVhdGlvbltdID0geworCTEsCisJMHgyMDAwLCAweDIwNmYsCit9OyAvKiBDUl9J
bl9HZW5lcmFsX1B1bmN0dWF0aW9uICovCisKKy8qICdJbl9TdXBlcnNjcmlwdHNfYW5kX1N1YnNj
cmlwdHMnOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fU3VwZXJz
Y3JpcHRzX2FuZF9TdWJzY3JpcHRzW10gPSB7CisJMSwKKwkweDIwNzAsIDB4MjA5ZiwKK307IC8q
IENSX0luX1N1cGVyc2NyaXB0c19hbmRfU3Vic2NyaXB0cyAqLworCisvKiAnSW5fQ3VycmVuY3lf
U3ltYm9scyc6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9DdXJy
ZW5jeV9TeW1ib2xzW10gPSB7CisJMSwKKwkweDIwYTAsIDB4MjBjZiwKK307IC8qIENSX0luX0N1
cnJlbmN5X1N5bWJvbHMgKi8KKworLyogJ0luX0NvbWJpbmluZ19EaWFjcml0aWNhbF9NYXJrc19m
b3JfU3ltYm9scyc6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9D
b21iaW5pbmdfRGlhY3JpdGljYWxfTWFya3NfZm9yX1N5bWJvbHNbXSA9IHsKKwkxLAorCTB4MjBk
MCwgMHgyMGZmLAorfTsgLyogQ1JfSW5fQ29tYmluaW5nX0RpYWNyaXRpY2FsX01hcmtzX2Zvcl9T
eW1ib2xzICovCisKKy8qICdJbl9MZXR0ZXJsaWtlX1N5bWJvbHMnOiBCbG9jayAqLworc3RhdGlj
IGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fTGV0dGVybGlrZV9TeW1ib2xzW10gPSB7CisJMSwK
KwkweDIxMDAsIDB4MjE0ZiwKK307IC8qIENSX0luX0xldHRlcmxpa2VfU3ltYm9scyAqLworCisv
KiAnSW5fTnVtYmVyX0Zvcm1zJzogQmxvY2sgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50
IENSX0luX051bWJlcl9Gb3Jtc1tdID0geworCTEsCisJMHgyMTUwLCAweDIxOGYsCit9OyAvKiBD
Ul9Jbl9OdW1iZXJfRm9ybXMgKi8KKworLyogJ0luX0Fycm93cyc6IEJsb2NrICovCitzdGF0aWMg
Y29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9BcnJvd3NbXSA9IHsKKwkxLAorCTB4MjE5MCwgMHgy
MWZmLAorfTsgLyogQ1JfSW5fQXJyb3dzICovCisKKy8qICdJbl9NYXRoZW1hdGljYWxfT3BlcmF0
b3JzJzogQmxvY2sgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0luX01hdGhlbWF0
aWNhbF9PcGVyYXRvcnNbXSA9IHsKKwkxLAorCTB4MjIwMCwgMHgyMmZmLAorfTsgLyogQ1JfSW5f
TWF0aGVtYXRpY2FsX09wZXJhdG9ycyAqLworCisvKiAnSW5fTWlzY2VsbGFuZW91c19UZWNobmlj
YWwnOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fTWlzY2VsbGFu
ZW91c19UZWNobmljYWxbXSA9IHsKKwkxLAorCTB4MjMwMCwgMHgyM2ZmLAorfTsgLyogQ1JfSW5f
TWlzY2VsbGFuZW91c19UZWNobmljYWwgKi8KKworLyogJ0luX0NvbnRyb2xfUGljdHVyZXMnOiBC
bG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fQ29udHJvbF9QaWN0dXJl
c1tdID0geworCTEsCisJMHgyNDAwLCAweDI0M2YsCit9OyAvKiBDUl9Jbl9Db250cm9sX1BpY3R1
cmVzICovCisKKy8qICdJbl9PcHRpY2FsX0NoYXJhY3Rlcl9SZWNvZ25pdGlvbic6IEJsb2NrICov
CitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9PcHRpY2FsX0NoYXJhY3Rlcl9SZWNv
Z25pdGlvbltdID0geworCTEsCisJMHgyNDQwLCAweDI0NWYsCit9OyAvKiBDUl9Jbl9PcHRpY2Fs
X0NoYXJhY3Rlcl9SZWNvZ25pdGlvbiAqLworCisvKiAnSW5fRW5jbG9zZWRfQWxwaGFudW1lcmlj
cyc6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9FbmNsb3NlZF9B
bHBoYW51bWVyaWNzW10gPSB7CisJMSwKKwkweDI0NjAsIDB4MjRmZiwKK307IC8qIENSX0luX0Vu
Y2xvc2VkX0FscGhhbnVtZXJpY3MgKi8KKworLyogJ0luX0JveF9EcmF3aW5nJzogQmxvY2sgKi8K
K3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0luX0JveF9EcmF3aW5nW10gPSB7CisJMSwK
KwkweDI1MDAsIDB4MjU3ZiwKK307IC8qIENSX0luX0JveF9EcmF3aW5nICovCisKKy8qICdJbl9C
bG9ja19FbGVtZW50cyc6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9J
bl9CbG9ja19FbGVtZW50c1tdID0geworCTEsCisJMHgyNTgwLCAweDI1OWYsCit9OyAvKiBDUl9J
bl9CbG9ja19FbGVtZW50cyAqLworCisvKiAnSW5fR2VvbWV0cmljX1NoYXBlcyc6IEJsb2NrICov
CitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9HZW9tZXRyaWNfU2hhcGVzW10gPSB7
CisJMSwKKwkweDI1YTAsIDB4MjVmZiwKK307IC8qIENSX0luX0dlb21ldHJpY19TaGFwZXMgKi8K
KworLyogJ0luX01pc2NlbGxhbmVvdXNfU3ltYm9scyc6IEJsb2NrICovCitzdGF0aWMgY29uc3Qg
T25pZ0NvZGVQb2ludCBDUl9Jbl9NaXNjZWxsYW5lb3VzX1N5bWJvbHNbXSA9IHsKKwkxLAorCTB4
MjYwMCwgMHgyNmZmLAorfTsgLyogQ1JfSW5fTWlzY2VsbGFuZW91c19TeW1ib2xzICovCisKKy8q
ICdJbl9EaW5nYmF0cyc6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9J
bl9EaW5nYmF0c1tdID0geworCTEsCisJMHgyNzAwLCAweDI3YmYsCit9OyAvKiBDUl9Jbl9EaW5n
YmF0cyAqLworCisvKiAnSW5fTWlzY2VsbGFuZW91c19NYXRoZW1hdGljYWxfU3ltYm9sc19BJzog
QmxvY2sgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0luX01pc2NlbGxhbmVvdXNf
TWF0aGVtYXRpY2FsX1N5bWJvbHNfQVtdID0geworCTEsCisJMHgyN2MwLCAweDI3ZWYsCit9OyAv
KiBDUl9Jbl9NaXNjZWxsYW5lb3VzX01hdGhlbWF0aWNhbF9TeW1ib2xzX0EgKi8KKworLyogJ0lu
X1N1cHBsZW1lbnRhbF9BcnJvd3NfQSc6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQ
b2ludCBDUl9Jbl9TdXBwbGVtZW50YWxfQXJyb3dzX0FbXSA9IHsKKwkxLAorCTB4MjdmMCwgMHgy
N2ZmLAorfTsgLyogQ1JfSW5fU3VwcGxlbWVudGFsX0Fycm93c19BICovCisKKy8qICdJbl9CcmFp
bGxlX1BhdHRlcm5zJzogQmxvY2sgKi8KKyNkZWZpbmUgQ1JfSW5fQnJhaWxsZV9QYXR0ZXJucyBD
Ul9CcmFpbGxlCisKKy8qICdJbl9TdXBwbGVtZW50YWxfQXJyb3dzX0InOiBCbG9jayAqLworc3Rh
dGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fU3VwcGxlbWVudGFsX0Fycm93c19CW10gPSB7
CisJMSwKKwkweDI5MDAsIDB4Mjk3ZiwKK307IC8qIENSX0luX1N1cHBsZW1lbnRhbF9BcnJvd3Nf
QiAqLworCisvKiAnSW5fTWlzY2VsbGFuZW91c19NYXRoZW1hdGljYWxfU3ltYm9sc19CJzogQmxv
Y2sgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0luX01pc2NlbGxhbmVvdXNfTWF0
aGVtYXRpY2FsX1N5bWJvbHNfQltdID0geworCTEsCisJMHgyOTgwLCAweDI5ZmYsCit9OyAvKiBD
Ul9Jbl9NaXNjZWxsYW5lb3VzX01hdGhlbWF0aWNhbF9TeW1ib2xzX0IgKi8KKworLyogJ0luX1N1
cHBsZW1lbnRhbF9NYXRoZW1hdGljYWxfT3BlcmF0b3JzJzogQmxvY2sgKi8KK3N0YXRpYyBjb25z
dCBPbmlnQ29kZVBvaW50IENSX0luX1N1cHBsZW1lbnRhbF9NYXRoZW1hdGljYWxfT3BlcmF0b3Jz
W10gPSB7CisJMSwKKwkweDJhMDAsIDB4MmFmZiwKK307IC8qIENSX0luX1N1cHBsZW1lbnRhbF9N
YXRoZW1hdGljYWxfT3BlcmF0b3JzICovCisKKy8qICdJbl9NaXNjZWxsYW5lb3VzX1N5bWJvbHNf
YW5kX0Fycm93cyc6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9N
aXNjZWxsYW5lb3VzX1N5bWJvbHNfYW5kX0Fycm93c1tdID0geworCTEsCisJMHgyYjAwLCAweDJi
ZmYsCit9OyAvKiBDUl9Jbl9NaXNjZWxsYW5lb3VzX1N5bWJvbHNfYW5kX0Fycm93cyAqLworCisv
KiAnSW5fR2xhZ29saXRpYyc6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBD
Ul9Jbl9HbGFnb2xpdGljW10gPSB7CisJMSwKKwkweDJjMDAsIDB4MmM1ZiwKK307IC8qIENSX0lu
X0dsYWdvbGl0aWMgKi8KKworLyogJ0luX0xhdGluX0V4dGVuZGVkX0MnOiBCbG9jayAqLworc3Rh
dGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fTGF0aW5fRXh0ZW5kZWRfQ1tdID0geworCTEs
CisJMHgyYzYwLCAweDJjN2YsCit9OyAvKiBDUl9Jbl9MYXRpbl9FeHRlbmRlZF9DICovCisKKy8q
ICdJbl9Db3B0aWMnOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5f
Q29wdGljW10gPSB7CisJMSwKKwkweDJjODAsIDB4MmNmZiwKK307IC8qIENSX0luX0NvcHRpYyAq
LworCisvKiAnSW5fR2VvcmdpYW5fU3VwcGxlbWVudCc6IEJsb2NrICovCitzdGF0aWMgY29uc3Qg
T25pZ0NvZGVQb2ludCBDUl9Jbl9HZW9yZ2lhbl9TdXBwbGVtZW50W10gPSB7CisJMSwKKwkweDJk
MDAsIDB4MmQyZiwKK307IC8qIENSX0luX0dlb3JnaWFuX1N1cHBsZW1lbnQgKi8KKworLyogJ0lu
X1RpZmluYWdoJzogQmxvY2sgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0luX1Rp
ZmluYWdoW10gPSB7CisJMSwKKwkweDJkMzAsIDB4MmQ3ZiwKK307IC8qIENSX0luX1RpZmluYWdo
ICovCisKKy8qICdJbl9FdGhpb3BpY19FeHRlbmRlZCc6IEJsb2NrICovCitzdGF0aWMgY29uc3Qg
T25pZ0NvZGVQb2ludCBDUl9Jbl9FdGhpb3BpY19FeHRlbmRlZFtdID0geworCTEsCisJMHgyZDgw
LCAweDJkZGYsCit9OyAvKiBDUl9Jbl9FdGhpb3BpY19FeHRlbmRlZCAqLworCisvKiAnSW5fQ3ly
aWxsaWNfRXh0ZW5kZWRfQSc6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBD
Ul9Jbl9DeXJpbGxpY19FeHRlbmRlZF9BW10gPSB7CisJMSwKKwkweDJkZTAsIDB4MmRmZiwKK307
IC8qIENSX0luX0N5cmlsbGljX0V4dGVuZGVkX0EgKi8KKworLyogJ0luX1N1cHBsZW1lbnRhbF9Q
dW5jdHVhdGlvbic6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9T
dXBwbGVtZW50YWxfUHVuY3R1YXRpb25bXSA9IHsKKwkxLAorCTB4MmUwMCwgMHgyZTdmLAorfTsg
LyogQ1JfSW5fU3VwcGxlbWVudGFsX1B1bmN0dWF0aW9uICovCisKKy8qICdJbl9DSktfUmFkaWNh
bHNfU3VwcGxlbWVudCc6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9J
bl9DSktfUmFkaWNhbHNfU3VwcGxlbWVudFtdID0geworCTEsCisJMHgyZTgwLCAweDJlZmYsCit9
OyAvKiBDUl9Jbl9DSktfUmFkaWNhbHNfU3VwcGxlbWVudCAqLworCisvKiAnSW5fS2FuZ3hpX1Jh
ZGljYWxzJzogQmxvY2sgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0luX0thbmd4
aV9SYWRpY2Fsc1tdID0geworCTEsCisJMHgyZjAwLCAweDJmZGYsCit9OyAvKiBDUl9Jbl9LYW5n
eGlfUmFkaWNhbHMgKi8KKworLyogJ0luX0lkZW9ncmFwaGljX0Rlc2NyaXB0aW9uX0NoYXJhY3Rl
cnMnOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fSWRlb2dyYXBo
aWNfRGVzY3JpcHRpb25fQ2hhcmFjdGVyc1tdID0geworCTEsCisJMHgyZmYwLCAweDJmZmYsCit9
OyAvKiBDUl9Jbl9JZGVvZ3JhcGhpY19EZXNjcmlwdGlvbl9DaGFyYWN0ZXJzICovCisKKy8qICdJ
bl9DSktfU3ltYm9sc19hbmRfUHVuY3R1YXRpb24nOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9u
aWdDb2RlUG9pbnQgQ1JfSW5fQ0pLX1N5bWJvbHNfYW5kX1B1bmN0dWF0aW9uW10gPSB7CisJMSwK
KwkweDMwMDAsIDB4MzAzZiwKK307IC8qIENSX0luX0NKS19TeW1ib2xzX2FuZF9QdW5jdHVhdGlv
biAqLworCisvKiAnSW5fSGlyYWdhbmEnOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2Rl
UG9pbnQgQ1JfSW5fSGlyYWdhbmFbXSA9IHsKKwkxLAorCTB4MzA0MCwgMHgzMDlmLAorfTsgLyog
Q1JfSW5fSGlyYWdhbmEgKi8KKworLyogJ0luX0thdGFrYW5hJzogQmxvY2sgKi8KK3N0YXRpYyBj
b25zdCBPbmlnQ29kZVBvaW50IENSX0luX0thdGFrYW5hW10gPSB7CisJMSwKKwkweDMwYTAsIDB4
MzBmZiwKK307IC8qIENSX0luX0thdGFrYW5hICovCisKKy8qICdJbl9Cb3BvbW9mbyc6IEJsb2Nr
ICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9Cb3BvbW9mb1tdID0geworCTEs
CisJMHgzMTAwLCAweDMxMmYsCit9OyAvKiBDUl9Jbl9Cb3BvbW9mbyAqLworCisvKiAnSW5fSGFu
Z3VsX0NvbXBhdGliaWxpdHlfSmFtbyc6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQ
b2ludCBDUl9Jbl9IYW5ndWxfQ29tcGF0aWJpbGl0eV9KYW1vW10gPSB7CisJMSwKKwkweDMxMzAs
IDB4MzE4ZiwKK307IC8qIENSX0luX0hhbmd1bF9Db21wYXRpYmlsaXR5X0phbW8gKi8KKworLyog
J0luX0thbmJ1bic6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9L
YW5idW5bXSA9IHsKKwkxLAorCTB4MzE5MCwgMHgzMTlmLAorfTsgLyogQ1JfSW5fS2FuYnVuICov
CisKKy8qICdJbl9Cb3BvbW9mb19FeHRlbmRlZCc6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25p
Z0NvZGVQb2ludCBDUl9Jbl9Cb3BvbW9mb19FeHRlbmRlZFtdID0geworCTEsCisJMHgzMWEwLCAw
eDMxYmYsCit9OyAvKiBDUl9Jbl9Cb3BvbW9mb19FeHRlbmRlZCAqLworCisvKiAnSW5fQ0pLX1N0
cm9rZXMnOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fQ0pLX1N0
cm9rZXNbXSA9IHsKKwkxLAorCTB4MzFjMCwgMHgzMWVmLAorfTsgLyogQ1JfSW5fQ0pLX1N0cm9r
ZXMgKi8KKworLyogJ0luX0thdGFrYW5hX1Bob25ldGljX0V4dGVuc2lvbnMnOiBCbG9jayAqLwor
c3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fS2F0YWthbmFfUGhvbmV0aWNfRXh0ZW5z
aW9uc1tdID0geworCTEsCisJMHgzMWYwLCAweDMxZmYsCit9OyAvKiBDUl9Jbl9LYXRha2FuYV9Q
aG9uZXRpY19FeHRlbnNpb25zICovCisKKy8qICdJbl9FbmNsb3NlZF9DSktfTGV0dGVyc19hbmRf
TW9udGhzJzogQmxvY2sgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0luX0VuY2xv
c2VkX0NKS19MZXR0ZXJzX2FuZF9Nb250aHNbXSA9IHsKKwkxLAorCTB4MzIwMCwgMHgzMmZmLAor
fTsgLyogQ1JfSW5fRW5jbG9zZWRfQ0pLX0xldHRlcnNfYW5kX01vbnRocyAqLworCisvKiAnSW5f
Q0pLX0NvbXBhdGliaWxpdHknOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQg
Q1JfSW5fQ0pLX0NvbXBhdGliaWxpdHlbXSA9IHsKKwkxLAorCTB4MzMwMCwgMHgzM2ZmLAorfTsg
LyogQ1JfSW5fQ0pLX0NvbXBhdGliaWxpdHkgKi8KKworLyogJ0luX0NKS19VbmlmaWVkX0lkZW9n
cmFwaHNfRXh0ZW5zaW9uX0EnOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQg
Q1JfSW5fQ0pLX1VuaWZpZWRfSWRlb2dyYXBoc19FeHRlbnNpb25fQVtdID0geworCTEsCisJMHgz
NDAwLCAweDRkYmYsCit9OyAvKiBDUl9Jbl9DSktfVW5pZmllZF9JZGVvZ3JhcGhzX0V4dGVuc2lv
bl9BICovCisKKy8qICdJbl9ZaWppbmdfSGV4YWdyYW1fU3ltYm9scyc6IEJsb2NrICovCitzdGF0
aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9ZaWppbmdfSGV4YWdyYW1fU3ltYm9sc1tdID0g
eworCTEsCisJMHg0ZGMwLCAweDRkZmYsCit9OyAvKiBDUl9Jbl9ZaWppbmdfSGV4YWdyYW1fU3lt
Ym9scyAqLworCisvKiAnSW5fQ0pLX1VuaWZpZWRfSWRlb2dyYXBocyc6IEJsb2NrICovCitzdGF0
aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9DSktfVW5pZmllZF9JZGVvZ3JhcGhzW10gPSB7
CisJMSwKKwkweDRlMDAsIDB4OWZmZiwKK307IC8qIENSX0luX0NKS19VbmlmaWVkX0lkZW9ncmFw
aHMgKi8KKworLyogJ0luX1lpX1N5bGxhYmxlcyc6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25p
Z0NvZGVQb2ludCBDUl9Jbl9ZaV9TeWxsYWJsZXNbXSA9IHsKKwkxLAorCTB4YTAwMCwgMHhhNDhm
LAorfTsgLyogQ1JfSW5fWWlfU3lsbGFibGVzICovCisKKy8qICdJbl9ZaV9SYWRpY2Fscyc6IEJs
b2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9ZaV9SYWRpY2Fsc1tdID0g
eworCTEsCisJMHhhNDkwLCAweGE0Y2YsCit9OyAvKiBDUl9Jbl9ZaV9SYWRpY2FscyAqLworCisv
KiAnSW5fTGlzdSc6IEJsb2NrICovCisjZGVmaW5lIENSX0luX0xpc3UgQ1JfTGlzdQorCisvKiAn
SW5fVmFpJzogQmxvY2sgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0luX1ZhaVtd
ID0geworCTEsCisJMHhhNTAwLCAweGE2M2YsCit9OyAvKiBDUl9Jbl9WYWkgKi8KKworLyogJ0lu
X0N5cmlsbGljX0V4dGVuZGVkX0InOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9p
bnQgQ1JfSW5fQ3lyaWxsaWNfRXh0ZW5kZWRfQltdID0geworCTEsCisJMHhhNjQwLCAweGE2OWYs
Cit9OyAvKiBDUl9Jbl9DeXJpbGxpY19FeHRlbmRlZF9CICovCisKKy8qICdJbl9CYW11bSc6IEJs
b2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9CYW11bVtdID0geworCTEs
CisJMHhhNmEwLCAweGE2ZmYsCit9OyAvKiBDUl9Jbl9CYW11bSAqLworCisvKiAnSW5fTW9kaWZp
ZXJfVG9uZV9MZXR0ZXJzJzogQmxvY2sgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENS
X0luX01vZGlmaWVyX1RvbmVfTGV0dGVyc1tdID0geworCTEsCisJMHhhNzAwLCAweGE3MWYsCit9
OyAvKiBDUl9Jbl9Nb2RpZmllcl9Ub25lX0xldHRlcnMgKi8KKworLyogJ0luX0xhdGluX0V4dGVu
ZGVkX0QnOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fTGF0aW5f
RXh0ZW5kZWRfRFtdID0geworCTEsCisJMHhhNzIwLCAweGE3ZmYsCit9OyAvKiBDUl9Jbl9MYXRp
bl9FeHRlbmRlZF9EICovCisKKy8qICdJbl9TeWxvdGlfTmFncmknOiBCbG9jayAqLworc3RhdGlj
IGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fU3lsb3RpX05hZ3JpW10gPSB7CisJMSwKKwkweGE4
MDAsIDB4YTgyZiwKK307IC8qIENSX0luX1N5bG90aV9OYWdyaSAqLworCisvKiAnSW5fQ29tbW9u
X0luZGljX051bWJlcl9Gb3Jtcyc6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2lu
dCBDUl9Jbl9Db21tb25fSW5kaWNfTnVtYmVyX0Zvcm1zW10gPSB7CisJMSwKKwkweGE4MzAsIDB4
YTgzZiwKK307IC8qIENSX0luX0NvbW1vbl9JbmRpY19OdW1iZXJfRm9ybXMgKi8KKworLyogJ0lu
X1BoYWdzX3BhJzogQmxvY2sgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0luX1Bo
YWdzX3BhW10gPSB7CisJMSwKKwkweGE4NDAsIDB4YTg3ZiwKK307IC8qIENSX0luX1BoYWdzX3Bh
ICovCisKKy8qICdJbl9TYXVyYXNodHJhJzogQmxvY2sgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29k
ZVBvaW50IENSX0luX1NhdXJhc2h0cmFbXSA9IHsKKwkxLAorCTB4YTg4MCwgMHhhOGRmLAorfTsg
LyogQ1JfSW5fU2F1cmFzaHRyYSAqLworCisvKiAnSW5fRGV2YW5hZ2FyaV9FeHRlbmRlZCc6IEJs
b2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9EZXZhbmFnYXJpX0V4dGVu
ZGVkW10gPSB7CisJMSwKKwkweGE4ZTAsIDB4YThmZiwKK307IC8qIENSX0luX0RldmFuYWdhcmlf
RXh0ZW5kZWQgKi8KKworLyogJ0luX0theWFoX0xpJzogQmxvY2sgKi8KK3N0YXRpYyBjb25zdCBP
bmlnQ29kZVBvaW50IENSX0luX0theWFoX0xpW10gPSB7CisJMSwKKwkweGE5MDAsIDB4YTkyZiwK
K307IC8qIENSX0luX0theWFoX0xpICovCisKKy8qICdJbl9SZWphbmcnOiBCbG9jayAqLworc3Rh
dGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fUmVqYW5nW10gPSB7CisJMSwKKwkweGE5MzAs
IDB4YTk1ZiwKK307IC8qIENSX0luX1JlamFuZyAqLworCisvKiAnSW5fSGFuZ3VsX0phbW9fRXh0
ZW5kZWRfQSc6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9IYW5n
dWxfSmFtb19FeHRlbmRlZF9BW10gPSB7CisJMSwKKwkweGE5NjAsIDB4YTk3ZiwKK307IC8qIENS
X0luX0hhbmd1bF9KYW1vX0V4dGVuZGVkX0EgKi8KKworLyogJ0luX0phdmFuZXNlJzogQmxvY2sg
Ki8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0luX0phdmFuZXNlW10gPSB7CisJMSwK
KwkweGE5ODAsIDB4YTlkZiwKK307IC8qIENSX0luX0phdmFuZXNlICovCisKKy8qICdJbl9NeWFu
bWFyX0V4dGVuZGVkX0InOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1Jf
SW5fTXlhbm1hcl9FeHRlbmRlZF9CW10gPSB7CisJMSwKKwkweGE5ZTAsIDB4YTlmZiwKK307IC8q
IENSX0luX015YW5tYXJfRXh0ZW5kZWRfQiAqLworCisvKiAnSW5fQ2hhbSc6IEJsb2NrICovCitz
dGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9DaGFtW10gPSB7CisJMSwKKwkweGFhMDAs
IDB4YWE1ZiwKK307IC8qIENSX0luX0NoYW0gKi8KKworLyogJ0luX015YW5tYXJfRXh0ZW5kZWRf
QSc6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9NeWFubWFyX0V4
dGVuZGVkX0FbXSA9IHsKKwkxLAorCTB4YWE2MCwgMHhhYTdmLAorfTsgLyogQ1JfSW5fTXlhbm1h
cl9FeHRlbmRlZF9BICovCisKKy8qICdJbl9UYWlfVmlldCc6IEJsb2NrICovCitzdGF0aWMgY29u
c3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9UYWlfVmlldFtdID0geworCTEsCisJMHhhYTgwLCAweGFh
ZGYsCit9OyAvKiBDUl9Jbl9UYWlfVmlldCAqLworCisvKiAnSW5fTWVldGVpX01heWVrX0V4dGVu
c2lvbnMnOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fTWVldGVp
X01heWVrX0V4dGVuc2lvbnNbXSA9IHsKKwkxLAorCTB4YWFlMCwgMHhhYWZmLAorfTsgLyogQ1Jf
SW5fTWVldGVpX01heWVrX0V4dGVuc2lvbnMgKi8KKworLyogJ0luX0V0aGlvcGljX0V4dGVuZGVk
X0EnOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fRXRoaW9waWNf
RXh0ZW5kZWRfQVtdID0geworCTEsCisJMHhhYjAwLCAweGFiMmYsCit9OyAvKiBDUl9Jbl9FdGhp
b3BpY19FeHRlbmRlZF9BICovCisKKy8qICdJbl9MYXRpbl9FeHRlbmRlZF9FJzogQmxvY2sgKi8K
K3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0luX0xhdGluX0V4dGVuZGVkX0VbXSA9IHsK
KwkxLAorCTB4YWIzMCwgMHhhYjZmLAorfTsgLyogQ1JfSW5fTGF0aW5fRXh0ZW5kZWRfRSAqLwor
CisvKiAnSW5fQ2hlcm9rZWVfU3VwcGxlbWVudCc6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25p
Z0NvZGVQb2ludCBDUl9Jbl9DaGVyb2tlZV9TdXBwbGVtZW50W10gPSB7CisJMSwKKwkweGFiNzAs
IDB4YWJiZiwKK307IC8qIENSX0luX0NoZXJva2VlX1N1cHBsZW1lbnQgKi8KKworLyogJ0luX01l
ZXRlaV9NYXllayc6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9N
ZWV0ZWlfTWF5ZWtbXSA9IHsKKwkxLAorCTB4YWJjMCwgMHhhYmZmLAorfTsgLyogQ1JfSW5fTWVl
dGVpX01heWVrICovCisKKy8qICdJbl9IYW5ndWxfU3lsbGFibGVzJzogQmxvY2sgKi8KK3N0YXRp
YyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0luX0hhbmd1bF9TeWxsYWJsZXNbXSA9IHsKKwkxLAor
CTB4YWMwMCwgMHhkN2FmLAorfTsgLyogQ1JfSW5fSGFuZ3VsX1N5bGxhYmxlcyAqLworCisvKiAn
SW5fSGFuZ3VsX0phbW9fRXh0ZW5kZWRfQic6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0Nv
ZGVQb2ludCBDUl9Jbl9IYW5ndWxfSmFtb19FeHRlbmRlZF9CW10gPSB7CisJMSwKKwkweGQ3YjAs
IDB4ZDdmZiwKK307IC8qIENSX0luX0hhbmd1bF9KYW1vX0V4dGVuZGVkX0IgKi8KKworLyogJ0lu
X0hpZ2hfU3Vycm9nYXRlcyc6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBD
Ul9Jbl9IaWdoX1N1cnJvZ2F0ZXNbXSA9IHsKKwkxLAorCTB4ZDgwMCwgMHhkYjdmLAorfTsgLyog
Q1JfSW5fSGlnaF9TdXJyb2dhdGVzICovCisKKy8qICdJbl9IaWdoX1ByaXZhdGVfVXNlX1N1cnJv
Z2F0ZXMnOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fSGlnaF9Q
cml2YXRlX1VzZV9TdXJyb2dhdGVzW10gPSB7CisJMSwKKwkweGRiODAsIDB4ZGJmZiwKK307IC8q
IENSX0luX0hpZ2hfUHJpdmF0ZV9Vc2VfU3Vycm9nYXRlcyAqLworCisvKiAnSW5fTG93X1N1cnJv
Z2F0ZXMnOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fTG93X1N1
cnJvZ2F0ZXNbXSA9IHsKKwkxLAorCTB4ZGMwMCwgMHhkZmZmLAorfTsgLyogQ1JfSW5fTG93X1N1
cnJvZ2F0ZXMgKi8KKworLyogJ0luX1ByaXZhdGVfVXNlX0FyZWEnOiBCbG9jayAqLworc3RhdGlj
IGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fUHJpdmF0ZV9Vc2VfQXJlYVtdID0geworCTEsCisJ
MHhlMDAwLCAweGY4ZmYsCit9OyAvKiBDUl9Jbl9Qcml2YXRlX1VzZV9BcmVhICovCisKKy8qICdJ
bl9DSktfQ29tcGF0aWJpbGl0eV9JZGVvZ3JhcGhzJzogQmxvY2sgKi8KK3N0YXRpYyBjb25zdCBP
bmlnQ29kZVBvaW50IENSX0luX0NKS19Db21wYXRpYmlsaXR5X0lkZW9ncmFwaHNbXSA9IHsKKwkx
LAorCTB4ZjkwMCwgMHhmYWZmLAorfTsgLyogQ1JfSW5fQ0pLX0NvbXBhdGliaWxpdHlfSWRlb2dy
YXBocyAqLworCisvKiAnSW5fQWxwaGFiZXRpY19QcmVzZW50YXRpb25fRm9ybXMnOiBCbG9jayAq
Lworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fQWxwaGFiZXRpY19QcmVzZW50YXRp
b25fRm9ybXNbXSA9IHsKKwkxLAorCTB4ZmIwMCwgMHhmYjRmLAorfTsgLyogQ1JfSW5fQWxwaGFi
ZXRpY19QcmVzZW50YXRpb25fRm9ybXMgKi8KKworLyogJ0luX0FyYWJpY19QcmVzZW50YXRpb25f
Rm9ybXNfQSc6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9BcmFi
aWNfUHJlc2VudGF0aW9uX0Zvcm1zX0FbXSA9IHsKKwkxLAorCTB4ZmI1MCwgMHhmZGZmLAorfTsg
LyogQ1JfSW5fQXJhYmljX1ByZXNlbnRhdGlvbl9Gb3Jtc19BICovCisKKy8qICdJbl9WYXJpYXRp
b25fU2VsZWN0b3JzJzogQmxvY2sgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0lu
X1ZhcmlhdGlvbl9TZWxlY3RvcnNbXSA9IHsKKwkxLAorCTB4ZmUwMCwgMHhmZTBmLAorfTsgLyog
Q1JfSW5fVmFyaWF0aW9uX1NlbGVjdG9ycyAqLworCisvKiAnSW5fVmVydGljYWxfRm9ybXMnOiBC
bG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fVmVydGljYWxfRm9ybXNb
XSA9IHsKKwkxLAorCTB4ZmUxMCwgMHhmZTFmLAorfTsgLyogQ1JfSW5fVmVydGljYWxfRm9ybXMg
Ki8KKworLyogJ0luX0NvbWJpbmluZ19IYWxmX01hcmtzJzogQmxvY2sgKi8KK3N0YXRpYyBjb25z
dCBPbmlnQ29kZVBvaW50IENSX0luX0NvbWJpbmluZ19IYWxmX01hcmtzW10gPSB7CisJMSwKKwkw
eGZlMjAsIDB4ZmUyZiwKK307IC8qIENSX0luX0NvbWJpbmluZ19IYWxmX01hcmtzICovCisKKy8q
ICdJbl9DSktfQ29tcGF0aWJpbGl0eV9Gb3Jtcyc6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25p
Z0NvZGVQb2ludCBDUl9Jbl9DSktfQ29tcGF0aWJpbGl0eV9Gb3Jtc1tdID0geworCTEsCisJMHhm
ZTMwLCAweGZlNGYsCit9OyAvKiBDUl9Jbl9DSktfQ29tcGF0aWJpbGl0eV9Gb3JtcyAqLworCisv
KiAnSW5fU21hbGxfRm9ybV9WYXJpYW50cyc6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0Nv
ZGVQb2ludCBDUl9Jbl9TbWFsbF9Gb3JtX1ZhcmlhbnRzW10gPSB7CisJMSwKKwkweGZlNTAsIDB4
ZmU2ZiwKK307IC8qIENSX0luX1NtYWxsX0Zvcm1fVmFyaWFudHMgKi8KKworLyogJ0luX0FyYWJp
Y19QcmVzZW50YXRpb25fRm9ybXNfQic6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQ
b2ludCBDUl9Jbl9BcmFiaWNfUHJlc2VudGF0aW9uX0Zvcm1zX0JbXSA9IHsKKwkxLAorCTB4ZmU3
MCwgMHhmZWZmLAorfTsgLyogQ1JfSW5fQXJhYmljX1ByZXNlbnRhdGlvbl9Gb3Jtc19CICovCisK
Ky8qICdJbl9IYWxmd2lkdGhfYW5kX0Z1bGx3aWR0aF9Gb3Jtcyc6IEJsb2NrICovCitzdGF0aWMg
Y29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9IYWxmd2lkdGhfYW5kX0Z1bGx3aWR0aF9Gb3Jtc1td
ID0geworCTEsCisJMHhmZjAwLCAweGZmZWYsCit9OyAvKiBDUl9Jbl9IYWxmd2lkdGhfYW5kX0Z1
bGx3aWR0aF9Gb3JtcyAqLworCisvKiAnSW5fU3BlY2lhbHMnOiBCbG9jayAqLworc3RhdGljIGNv
bnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fU3BlY2lhbHNbXSA9IHsKKwkxLAorCTB4ZmZmMCwgMHhm
ZmZmLAorfTsgLyogQ1JfSW5fU3BlY2lhbHMgKi8KKworLyogJ0luX0xpbmVhcl9CX1N5bGxhYmFy
eSc6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9MaW5lYXJfQl9T
eWxsYWJhcnlbXSA9IHsKKwkxLAorCTB4MTAwMDAsIDB4MTAwN2YsCit9OyAvKiBDUl9Jbl9MaW5l
YXJfQl9TeWxsYWJhcnkgKi8KKworLyogJ0luX0xpbmVhcl9CX0lkZW9ncmFtcyc6IEJsb2NrICov
CitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9MaW5lYXJfQl9JZGVvZ3JhbXNbXSA9
IHsKKwkxLAorCTB4MTAwODAsIDB4MTAwZmYsCit9OyAvKiBDUl9Jbl9MaW5lYXJfQl9JZGVvZ3Jh
bXMgKi8KKworLyogJ0luX0FlZ2Vhbl9OdW1iZXJzJzogQmxvY2sgKi8KK3N0YXRpYyBjb25zdCBP
bmlnQ29kZVBvaW50IENSX0luX0FlZ2Vhbl9OdW1iZXJzW10gPSB7CisJMSwKKwkweDEwMTAwLCAw
eDEwMTNmLAorfTsgLyogQ1JfSW5fQWVnZWFuX051bWJlcnMgKi8KKworLyogJ0luX0FuY2llbnRf
R3JlZWtfTnVtYmVycyc6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9J
bl9BbmNpZW50X0dyZWVrX051bWJlcnNbXSA9IHsKKwkxLAorCTB4MTAxNDAsIDB4MTAxOGYsCit9
OyAvKiBDUl9Jbl9BbmNpZW50X0dyZWVrX051bWJlcnMgKi8KKworLyogJ0luX0FuY2llbnRfU3lt
Ym9scyc6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9BbmNpZW50
X1N5bWJvbHNbXSA9IHsKKwkxLAorCTB4MTAxOTAsIDB4MTAxY2YsCit9OyAvKiBDUl9Jbl9BbmNp
ZW50X1N5bWJvbHMgKi8KKworLyogJ0luX1BoYWlzdG9zX0Rpc2MnOiBCbG9jayAqLworc3RhdGlj
IGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fUGhhaXN0b3NfRGlzY1tdID0geworCTEsCisJMHgx
MDFkMCwgMHgxMDFmZiwKK307IC8qIENSX0luX1BoYWlzdG9zX0Rpc2MgKi8KKworLyogJ0luX0x5
Y2lhbic6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9MeWNpYW5b
XSA9IHsKKwkxLAorCTB4MTAyODAsIDB4MTAyOWYsCit9OyAvKiBDUl9Jbl9MeWNpYW4gKi8KKwor
LyogJ0luX0Nhcmlhbic6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9J
bl9DYXJpYW5bXSA9IHsKKwkxLAorCTB4MTAyYTAsIDB4MTAyZGYsCit9OyAvKiBDUl9Jbl9DYXJp
YW4gKi8KKworLyogJ0luX0NvcHRpY19FcGFjdF9OdW1iZXJzJzogQmxvY2sgKi8KK3N0YXRpYyBj
b25zdCBPbmlnQ29kZVBvaW50IENSX0luX0NvcHRpY19FcGFjdF9OdW1iZXJzW10gPSB7CisJMSwK
KwkweDEwMmUwLCAweDEwMmZmLAorfTsgLyogQ1JfSW5fQ29wdGljX0VwYWN0X051bWJlcnMgKi8K
KworLyogJ0luX09sZF9JdGFsaWMnOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9p
bnQgQ1JfSW5fT2xkX0l0YWxpY1tdID0geworCTEsCisJMHgxMDMwMCwgMHgxMDMyZiwKK307IC8q
IENSX0luX09sZF9JdGFsaWMgKi8KKworLyogJ0luX0dvdGhpYyc6IEJsb2NrICovCitzdGF0aWMg
Y29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9Hb3RoaWNbXSA9IHsKKwkxLAorCTB4MTAzMzAsIDB4
MTAzNGYsCit9OyAvKiBDUl9Jbl9Hb3RoaWMgKi8KKworLyogJ0luX09sZF9QZXJtaWMnOiBCbG9j
ayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fT2xkX1Blcm1pY1tdID0gewor
CTEsCisJMHgxMDM1MCwgMHgxMDM3ZiwKK307IC8qIENSX0luX09sZF9QZXJtaWMgKi8KKworLyog
J0luX1VnYXJpdGljJzogQmxvY2sgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0lu
X1VnYXJpdGljW10gPSB7CisJMSwKKwkweDEwMzgwLCAweDEwMzlmLAorfTsgLyogQ1JfSW5fVWdh
cml0aWMgKi8KKworLyogJ0luX09sZF9QZXJzaWFuJzogQmxvY2sgKi8KK3N0YXRpYyBjb25zdCBP
bmlnQ29kZVBvaW50IENSX0luX09sZF9QZXJzaWFuW10gPSB7CisJMSwKKwkweDEwM2EwLCAweDEw
M2RmLAorfTsgLyogQ1JfSW5fT2xkX1BlcnNpYW4gKi8KKworLyogJ0luX0Rlc2VyZXQnOiBCbG9j
ayAqLworI2RlZmluZSBDUl9Jbl9EZXNlcmV0IENSX0Rlc2VyZXQKKworLyogJ0luX1NoYXZpYW4n
OiBCbG9jayAqLworI2RlZmluZSBDUl9Jbl9TaGF2aWFuIENSX1NoYXZpYW4KKworLyogJ0luX09z
bWFueWEnOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fT3NtYW55
YVtdID0geworCTEsCisJMHgxMDQ4MCwgMHgxMDRhZiwKK307IC8qIENSX0luX09zbWFueWEgKi8K
KworLyogJ0luX09zYWdlJzogQmxvY2sgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENS
X0luX09zYWdlW10gPSB7CisJMSwKKwkweDEwNGIwLCAweDEwNGZmLAorfTsgLyogQ1JfSW5fT3Nh
Z2UgKi8KKworLyogJ0luX0VsYmFzYW4nOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2Rl
UG9pbnQgQ1JfSW5fRWxiYXNhbltdID0geworCTEsCisJMHgxMDUwMCwgMHgxMDUyZiwKK307IC8q
IENSX0luX0VsYmFzYW4gKi8KKworLyogJ0luX0NhdWNhc2lhbl9BbGJhbmlhbic6IEJsb2NrICov
CitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9DYXVjYXNpYW5fQWxiYW5pYW5bXSA9
IHsKKwkxLAorCTB4MTA1MzAsIDB4MTA1NmYsCit9OyAvKiBDUl9Jbl9DYXVjYXNpYW5fQWxiYW5p
YW4gKi8KKworLyogJ0luX0xpbmVhcl9BJzogQmxvY2sgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29k
ZVBvaW50IENSX0luX0xpbmVhcl9BW10gPSB7CisJMSwKKwkweDEwNjAwLCAweDEwNzdmLAorfTsg
LyogQ1JfSW5fTGluZWFyX0EgKi8KKworLyogJ0luX0N5cHJpb3RfU3lsbGFiYXJ5JzogQmxvY2sg
Ki8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0luX0N5cHJpb3RfU3lsbGFiYXJ5W10g
PSB7CisJMSwKKwkweDEwODAwLCAweDEwODNmLAorfTsgLyogQ1JfSW5fQ3lwcmlvdF9TeWxsYWJh
cnkgKi8KKworLyogJ0luX0ltcGVyaWFsX0FyYW1haWMnOiBCbG9jayAqLworc3RhdGljIGNvbnN0
IE9uaWdDb2RlUG9pbnQgQ1JfSW5fSW1wZXJpYWxfQXJhbWFpY1tdID0geworCTEsCisJMHgxMDg0
MCwgMHgxMDg1ZiwKK307IC8qIENSX0luX0ltcGVyaWFsX0FyYW1haWMgKi8KKworLyogJ0luX1Bh
bG15cmVuZSc6IEJsb2NrICovCisjZGVmaW5lIENSX0luX1BhbG15cmVuZSBDUl9QYWxteXJlbmUK
KworLyogJ0luX05hYmF0YWVhbic6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2lu
dCBDUl9Jbl9OYWJhdGFlYW5bXSA9IHsKKwkxLAorCTB4MTA4ODAsIDB4MTA4YWYsCit9OyAvKiBD
Ul9Jbl9OYWJhdGFlYW4gKi8KKworLyogJ0luX0hhdHJhbic6IEJsb2NrICovCitzdGF0aWMgY29u
c3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9IYXRyYW5bXSA9IHsKKwkxLAorCTB4MTA4ZTAsIDB4MTA4
ZmYsCit9OyAvKiBDUl9Jbl9IYXRyYW4gKi8KKworLyogJ0luX1Bob2VuaWNpYW4nOiBCbG9jayAq
Lworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fUGhvZW5pY2lhbltdID0geworCTEs
CisJMHgxMDkwMCwgMHgxMDkxZiwKK307IC8qIENSX0luX1Bob2VuaWNpYW4gKi8KKworLyogJ0lu
X0x5ZGlhbic6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9MeWRp
YW5bXSA9IHsKKwkxLAorCTB4MTA5MjAsIDB4MTA5M2YsCit9OyAvKiBDUl9Jbl9MeWRpYW4gKi8K
KworLyogJ0luX01lcm9pdGljX0hpZXJvZ2x5cGhzJzogQmxvY2sgKi8KKyNkZWZpbmUgQ1JfSW5f
TWVyb2l0aWNfSGllcm9nbHlwaHMgQ1JfTWVyb2l0aWNfSGllcm9nbHlwaHMKKworLyogJ0luX01l
cm9pdGljX0N1cnNpdmUnOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1Jf
SW5fTWVyb2l0aWNfQ3Vyc2l2ZVtdID0geworCTEsCisJMHgxMDlhMCwgMHgxMDlmZiwKK307IC8q
IENSX0luX01lcm9pdGljX0N1cnNpdmUgKi8KKworLyogJ0luX0toYXJvc2h0aGknOiBCbG9jayAq
Lworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fS2hhcm9zaHRoaVtdID0geworCTEs
CisJMHgxMGEwMCwgMHgxMGE1ZiwKK307IC8qIENSX0luX0toYXJvc2h0aGkgKi8KKworLyogJ0lu
X09sZF9Tb3V0aF9BcmFiaWFuJzogQmxvY2sgKi8KKyNkZWZpbmUgQ1JfSW5fT2xkX1NvdXRoX0Fy
YWJpYW4gQ1JfT2xkX1NvdXRoX0FyYWJpYW4KKworLyogJ0luX09sZF9Ob3J0aF9BcmFiaWFuJzog
QmxvY2sgKi8KKyNkZWZpbmUgQ1JfSW5fT2xkX05vcnRoX0FyYWJpYW4gQ1JfT2xkX05vcnRoX0Fy
YWJpYW4KKworLyogJ0luX01hbmljaGFlYW4nOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdD
b2RlUG9pbnQgQ1JfSW5fTWFuaWNoYWVhbltdID0geworCTEsCisJMHgxMGFjMCwgMHgxMGFmZiwK
K307IC8qIENSX0luX01hbmljaGFlYW4gKi8KKworLyogJ0luX0F2ZXN0YW4nOiBCbG9jayAqLwor
c3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fQXZlc3RhbltdID0geworCTEsCisJMHgx
MGIwMCwgMHgxMGIzZiwKK307IC8qIENSX0luX0F2ZXN0YW4gKi8KKworLyogJ0luX0luc2NyaXB0
aW9uYWxfUGFydGhpYW4nOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1Jf
SW5fSW5zY3JpcHRpb25hbF9QYXJ0aGlhbltdID0geworCTEsCisJMHgxMGI0MCwgMHgxMGI1ZiwK
K307IC8qIENSX0luX0luc2NyaXB0aW9uYWxfUGFydGhpYW4gKi8KKworLyogJ0luX0luc2NyaXB0
aW9uYWxfUGFobGF2aSc6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9J
bl9JbnNjcmlwdGlvbmFsX1BhaGxhdmlbXSA9IHsKKwkxLAorCTB4MTBiNjAsIDB4MTBiN2YsCit9
OyAvKiBDUl9Jbl9JbnNjcmlwdGlvbmFsX1BhaGxhdmkgKi8KKworLyogJ0luX1BzYWx0ZXJfUGFo
bGF2aSc6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9Qc2FsdGVy
X1BhaGxhdmlbXSA9IHsKKwkxLAorCTB4MTBiODAsIDB4MTBiYWYsCit9OyAvKiBDUl9Jbl9Qc2Fs
dGVyX1BhaGxhdmkgKi8KKworLyogJ0luX09sZF9UdXJraWMnOiBCbG9jayAqLworc3RhdGljIGNv
bnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fT2xkX1R1cmtpY1tdID0geworCTEsCisJMHgxMGMwMCwg
MHgxMGM0ZiwKK307IC8qIENSX0luX09sZF9UdXJraWMgKi8KKworLyogJ0luX09sZF9IdW5nYXJp
YW4nOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fT2xkX0h1bmdh
cmlhbltdID0geworCTEsCisJMHgxMGM4MCwgMHgxMGNmZiwKK307IC8qIENSX0luX09sZF9IdW5n
YXJpYW4gKi8KKworLyogJ0luX0hhbmlmaV9Sb2hpbmd5YSc6IEJsb2NrICovCitzdGF0aWMgY29u
c3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9IYW5pZmlfUm9oaW5neWFbXSA9IHsKKwkxLAorCTB4MTBk
MDAsIDB4MTBkM2YsCit9OyAvKiBDUl9Jbl9IYW5pZmlfUm9oaW5neWEgKi8KKworLyogJ0luX1J1
bWlfTnVtZXJhbF9TeW1ib2xzJzogQmxvY2sgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50
IENSX0luX1J1bWlfTnVtZXJhbF9TeW1ib2xzW10gPSB7CisJMSwKKwkweDEwZTYwLCAweDEwZTdm
LAorfTsgLyogQ1JfSW5fUnVtaV9OdW1lcmFsX1N5bWJvbHMgKi8KKworLyogJ0luX09sZF9Tb2dk
aWFuJzogQmxvY2sgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0luX09sZF9Tb2dk
aWFuW10gPSB7CisJMSwKKwkweDEwZjAwLCAweDEwZjJmLAorfTsgLyogQ1JfSW5fT2xkX1NvZ2Rp
YW4gKi8KKworLyogJ0luX1NvZ2RpYW4nOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2Rl
UG9pbnQgQ1JfSW5fU29nZGlhbltdID0geworCTEsCisJMHgxMGYzMCwgMHgxMGY2ZiwKK307IC8q
IENSX0luX1NvZ2RpYW4gKi8KKworLyogJ0luX0VseW1haWMnOiBCbG9jayAqLworc3RhdGljIGNv
bnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fRWx5bWFpY1tdID0geworCTEsCisJMHgxMGZlMCwgMHgx
MGZmZiwKK307IC8qIENSX0luX0VseW1haWMgKi8KKworLyogJ0luX0JyYWhtaSc6IEJsb2NrICov
CitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9CcmFobWlbXSA9IHsKKwkxLAorCTB4
MTEwMDAsIDB4MTEwN2YsCit9OyAvKiBDUl9Jbl9CcmFobWkgKi8KKworLyogJ0luX0thaXRoaSc6
IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9LYWl0aGlbXSA9IHsK
KwkxLAorCTB4MTEwODAsIDB4MTEwY2YsCit9OyAvKiBDUl9Jbl9LYWl0aGkgKi8KKworLyogJ0lu
X1NvcmFfU29tcGVuZyc6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9J
bl9Tb3JhX1NvbXBlbmdbXSA9IHsKKwkxLAorCTB4MTEwZDAsIDB4MTEwZmYsCit9OyAvKiBDUl9J
bl9Tb3JhX1NvbXBlbmcgKi8KKworLyogJ0luX0NoYWttYSc6IEJsb2NrICovCitzdGF0aWMgY29u
c3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9DaGFrbWFbXSA9IHsKKwkxLAorCTB4MTExMDAsIDB4MTEx
NGYsCit9OyAvKiBDUl9Jbl9DaGFrbWEgKi8KKworLyogJ0luX01haGFqYW5pJzogQmxvY2sgKi8K
K3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0luX01haGFqYW5pW10gPSB7CisJMSwKKwkw
eDExMTUwLCAweDExMTdmLAorfTsgLyogQ1JfSW5fTWFoYWphbmkgKi8KKworLyogJ0luX1NoYXJh
ZGEnOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fU2hhcmFkYVtd
ID0geworCTEsCisJMHgxMTE4MCwgMHgxMTFkZiwKK307IC8qIENSX0luX1NoYXJhZGEgKi8KKwor
LyogJ0luX1NpbmhhbGFfQXJjaGFpY19OdW1iZXJzJzogQmxvY2sgKi8KK3N0YXRpYyBjb25zdCBP
bmlnQ29kZVBvaW50IENSX0luX1NpbmhhbGFfQXJjaGFpY19OdW1iZXJzW10gPSB7CisJMSwKKwkw
eDExMWUwLCAweDExMWZmLAorfTsgLyogQ1JfSW5fU2luaGFsYV9BcmNoYWljX051bWJlcnMgKi8K
KworLyogJ0luX0tob2praSc6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBD
Ul9Jbl9LaG9qa2lbXSA9IHsKKwkxLAorCTB4MTEyMDAsIDB4MTEyNGYsCit9OyAvKiBDUl9Jbl9L
aG9qa2kgKi8KKworLyogJ0luX011bHRhbmknOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdD
b2RlUG9pbnQgQ1JfSW5fTXVsdGFuaVtdID0geworCTEsCisJMHgxMTI4MCwgMHgxMTJhZiwKK307
IC8qIENSX0luX011bHRhbmkgKi8KKworLyogJ0luX0todWRhd2FkaSc6IEJsb2NrICovCitzdGF0
aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9LaHVkYXdhZGlbXSA9IHsKKwkxLAorCTB4MTEy
YjAsIDB4MTEyZmYsCit9OyAvKiBDUl9Jbl9LaHVkYXdhZGkgKi8KKworLyogJ0luX0dyYW50aGEn
OiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fR3JhbnRoYVtdID0g
eworCTEsCisJMHgxMTMwMCwgMHgxMTM3ZiwKK307IC8qIENSX0luX0dyYW50aGEgKi8KKworLyog
J0luX05ld2EnOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fTmV3
YVtdID0geworCTEsCisJMHgxMTQwMCwgMHgxMTQ3ZiwKK307IC8qIENSX0luX05ld2EgKi8KKwor
LyogJ0luX1Rpcmh1dGEnOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1Jf
SW5fVGlyaHV0YVtdID0geworCTEsCisJMHgxMTQ4MCwgMHgxMTRkZiwKK307IC8qIENSX0luX1Rp
cmh1dGEgKi8KKworLyogJ0luX1NpZGRoYW0nOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdD
b2RlUG9pbnQgQ1JfSW5fU2lkZGhhbVtdID0geworCTEsCisJMHgxMTU4MCwgMHgxMTVmZiwKK307
IC8qIENSX0luX1NpZGRoYW0gKi8KKworLyogJ0luX01vZGknOiBCbG9jayAqLworc3RhdGljIGNv
bnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fTW9kaVtdID0geworCTEsCisJMHgxMTYwMCwgMHgxMTY1
ZiwKK307IC8qIENSX0luX01vZGkgKi8KKworLyogJ0luX01vbmdvbGlhbl9TdXBwbGVtZW50Jzog
QmxvY2sgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0luX01vbmdvbGlhbl9TdXBw
bGVtZW50W10gPSB7CisJMSwKKwkweDExNjYwLCAweDExNjdmLAorfTsgLyogQ1JfSW5fTW9uZ29s
aWFuX1N1cHBsZW1lbnQgKi8KKworLyogJ0luX1Rha3JpJzogQmxvY2sgKi8KK3N0YXRpYyBjb25z
dCBPbmlnQ29kZVBvaW50IENSX0luX1Rha3JpW10gPSB7CisJMSwKKwkweDExNjgwLCAweDExNmNm
LAorfTsgLyogQ1JfSW5fVGFrcmkgKi8KKworLyogJ0luX0Fob20nOiBCbG9jayAqLworc3RhdGlj
IGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fQWhvbVtdID0geworCTEsCisJMHgxMTcwMCwgMHgx
MTczZiwKK307IC8qIENSX0luX0Fob20gKi8KKworLyogJ0luX0RvZ3JhJzogQmxvY2sgKi8KK3N0
YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0luX0RvZ3JhW10gPSB7CisJMSwKKwkweDExODAw
LCAweDExODRmLAorfTsgLyogQ1JfSW5fRG9ncmEgKi8KKworLyogJ0luX1dhcmFuZ19DaXRpJzog
QmxvY2sgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0luX1dhcmFuZ19DaXRpW10g
PSB7CisJMSwKKwkweDExOGEwLCAweDExOGZmLAorfTsgLyogQ1JfSW5fV2FyYW5nX0NpdGkgKi8K
KworLyogJ0luX05hbmRpbmFnYXJpJzogQmxvY2sgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBv
aW50IENSX0luX05hbmRpbmFnYXJpW10gPSB7CisJMSwKKwkweDExOWEwLCAweDExOWZmLAorfTsg
LyogQ1JfSW5fTmFuZGluYWdhcmkgKi8KKworLyogJ0luX1phbmFiYXphcl9TcXVhcmUnOiBCbG9j
ayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fWmFuYWJhemFyX1NxdWFyZVtd
ID0geworCTEsCisJMHgxMWEwMCwgMHgxMWE0ZiwKK307IC8qIENSX0luX1phbmFiYXphcl9TcXVh
cmUgKi8KKworLyogJ0luX1NveW9tYm8nOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2Rl
UG9pbnQgQ1JfSW5fU295b21ib1tdID0geworCTEsCisJMHgxMWE1MCwgMHgxMWFhZiwKK307IC8q
IENSX0luX1NveW9tYm8gKi8KKworLyogJ0luX1BhdV9DaW5fSGF1JzogQmxvY2sgKi8KK3N0YXRp
YyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0luX1BhdV9DaW5fSGF1W10gPSB7CisJMSwKKwkweDEx
YWMwLCAweDExYWZmLAorfTsgLyogQ1JfSW5fUGF1X0Npbl9IYXUgKi8KKworLyogJ0luX0JoYWlr
c3VraSc6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9CaGFpa3N1
a2lbXSA9IHsKKwkxLAorCTB4MTFjMDAsIDB4MTFjNmYsCit9OyAvKiBDUl9Jbl9CaGFpa3N1a2kg
Ki8KKworLyogJ0luX01hcmNoZW4nOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9p
bnQgQ1JfSW5fTWFyY2hlbltdID0geworCTEsCisJMHgxMWM3MCwgMHgxMWNiZiwKK307IC8qIENS
X0luX01hcmNoZW4gKi8KKworLyogJ0luX01hc2FyYW1fR29uZGknOiBCbG9jayAqLworc3RhdGlj
IGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fTWFzYXJhbV9Hb25kaVtdID0geworCTEsCisJMHgx
MWQwMCwgMHgxMWQ1ZiwKK307IC8qIENSX0luX01hc2FyYW1fR29uZGkgKi8KKworLyogJ0luX0d1
bmphbGFfR29uZGknOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5f
R3VuamFsYV9Hb25kaVtdID0geworCTEsCisJMHgxMWQ2MCwgMHgxMWRhZiwKK307IC8qIENSX0lu
X0d1bmphbGFfR29uZGkgKi8KKworLyogJ0luX01ha2FzYXInOiBCbG9jayAqLworc3RhdGljIGNv
bnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fTWFrYXNhcltdID0geworCTEsCisJMHgxMWVlMCwgMHgx
MWVmZiwKK307IC8qIENSX0luX01ha2FzYXIgKi8KKworLyogJ0luX1RhbWlsX1N1cHBsZW1lbnQn
OiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fVGFtaWxfU3VwcGxl
bWVudFtdID0geworCTEsCisJMHgxMWZjMCwgMHgxMWZmZiwKK307IC8qIENSX0luX1RhbWlsX1N1
cHBsZW1lbnQgKi8KKworLyogJ0luX0N1bmVpZm9ybSc6IEJsb2NrICovCitzdGF0aWMgY29uc3Qg
T25pZ0NvZGVQb2ludCBDUl9Jbl9DdW5laWZvcm1bXSA9IHsKKwkxLAorCTB4MTIwMDAsIDB4MTIz
ZmYsCit9OyAvKiBDUl9Jbl9DdW5laWZvcm0gKi8KKworLyogJ0luX0N1bmVpZm9ybV9OdW1iZXJz
X2FuZF9QdW5jdHVhdGlvbic6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBD
Ul9Jbl9DdW5laWZvcm1fTnVtYmVyc19hbmRfUHVuY3R1YXRpb25bXSA9IHsKKwkxLAorCTB4MTI0
MDAsIDB4MTI0N2YsCit9OyAvKiBDUl9Jbl9DdW5laWZvcm1fTnVtYmVyc19hbmRfUHVuY3R1YXRp
b24gKi8KKworLyogJ0luX0Vhcmx5X0R5bmFzdGljX0N1bmVpZm9ybSc6IEJsb2NrICovCitzdGF0
aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9FYXJseV9EeW5hc3RpY19DdW5laWZvcm1bXSA9
IHsKKwkxLAorCTB4MTI0ODAsIDB4MTI1NGYsCit9OyAvKiBDUl9Jbl9FYXJseV9EeW5hc3RpY19D
dW5laWZvcm0gKi8KKworLyogJ0luX0VneXB0aWFuX0hpZXJvZ2x5cGhzJzogQmxvY2sgKi8KK3N0
YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0luX0VneXB0aWFuX0hpZXJvZ2x5cGhzW10gPSB7
CisJMSwKKwkweDEzMDAwLCAweDEzNDJmLAorfTsgLyogQ1JfSW5fRWd5cHRpYW5fSGllcm9nbHlw
aHMgKi8KKworLyogJ0luX0VneXB0aWFuX0hpZXJvZ2x5cGhfRm9ybWF0X0NvbnRyb2xzJzogQmxv
Y2sgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0luX0VneXB0aWFuX0hpZXJvZ2x5
cGhfRm9ybWF0X0NvbnRyb2xzW10gPSB7CisJMSwKKwkweDEzNDMwLCAweDEzNDNmLAorfTsgLyog
Q1JfSW5fRWd5cHRpYW5fSGllcm9nbHlwaF9Gb3JtYXRfQ29udHJvbHMgKi8KKworLyogJ0luX0Fu
YXRvbGlhbl9IaWVyb2dseXBocyc6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2lu
dCBDUl9Jbl9BbmF0b2xpYW5fSGllcm9nbHlwaHNbXSA9IHsKKwkxLAorCTB4MTQ0MDAsIDB4MTQ2
N2YsCit9OyAvKiBDUl9Jbl9BbmF0b2xpYW5fSGllcm9nbHlwaHMgKi8KKworLyogJ0luX0JhbXVt
X1N1cHBsZW1lbnQnOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5f
QmFtdW1fU3VwcGxlbWVudFtdID0geworCTEsCisJMHgxNjgwMCwgMHgxNmEzZiwKK307IC8qIENS
X0luX0JhbXVtX1N1cHBsZW1lbnQgKi8KKworLyogJ0luX01ybyc6IEJsb2NrICovCitzdGF0aWMg
Y29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9Ncm9bXSA9IHsKKwkxLAorCTB4MTZhNDAsIDB4MTZh
NmYsCit9OyAvKiBDUl9Jbl9Ncm8gKi8KKworLyogJ0luX0Jhc3NhX1ZhaCc6IEJsb2NrICovCitz
dGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9CYXNzYV9WYWhbXSA9IHsKKwkxLAorCTB4
MTZhZDAsIDB4MTZhZmYsCit9OyAvKiBDUl9Jbl9CYXNzYV9WYWggKi8KKworLyogJ0luX1BhaGF3
aF9IbW9uZyc6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9QYWhh
d2hfSG1vbmdbXSA9IHsKKwkxLAorCTB4MTZiMDAsIDB4MTZiOGYsCit9OyAvKiBDUl9Jbl9QYWhh
d2hfSG1vbmcgKi8KKworLyogJ0luX01lZGVmYWlkcmluJzogQmxvY2sgKi8KK3N0YXRpYyBjb25z
dCBPbmlnQ29kZVBvaW50IENSX0luX01lZGVmYWlkcmluW10gPSB7CisJMSwKKwkweDE2ZTQwLCAw
eDE2ZTlmLAorfTsgLyogQ1JfSW5fTWVkZWZhaWRyaW4gKi8KKworLyogJ0luX01pYW8nOiBCbG9j
ayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fTWlhb1tdID0geworCTEsCisJ
MHgxNmYwMCwgMHgxNmY5ZiwKK307IC8qIENSX0luX01pYW8gKi8KKworLyogJ0luX0lkZW9ncmFw
aGljX1N5bWJvbHNfYW5kX1B1bmN0dWF0aW9uJzogQmxvY2sgKi8KK3N0YXRpYyBjb25zdCBPbmln
Q29kZVBvaW50IENSX0luX0lkZW9ncmFwaGljX1N5bWJvbHNfYW5kX1B1bmN0dWF0aW9uW10gPSB7
CisJMSwKKwkweDE2ZmUwLCAweDE2ZmZmLAorfTsgLyogQ1JfSW5fSWRlb2dyYXBoaWNfU3ltYm9s
c19hbmRfUHVuY3R1YXRpb24gKi8KKworLyogJ0luX1Rhbmd1dCc6IEJsb2NrICovCitzdGF0aWMg
Y29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9UYW5ndXRbXSA9IHsKKwkxLAorCTB4MTcwMDAsIDB4
MTg3ZmYsCit9OyAvKiBDUl9Jbl9UYW5ndXQgKi8KKworLyogJ0luX1Rhbmd1dF9Db21wb25lbnRz
JzogQmxvY2sgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0luX1Rhbmd1dF9Db21w
b25lbnRzW10gPSB7CisJMSwKKwkweDE4ODAwLCAweDE4YWZmLAorfTsgLyogQ1JfSW5fVGFuZ3V0
X0NvbXBvbmVudHMgKi8KKworLyogJ0luX0thbmFfU3VwcGxlbWVudCc6IEJsb2NrICovCitzdGF0
aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9LYW5hX1N1cHBsZW1lbnRbXSA9IHsKKwkxLAor
CTB4MWIwMDAsIDB4MWIwZmYsCit9OyAvKiBDUl9Jbl9LYW5hX1N1cHBsZW1lbnQgKi8KKworLyog
J0luX0thbmFfRXh0ZW5kZWRfQSc6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2lu
dCBDUl9Jbl9LYW5hX0V4dGVuZGVkX0FbXSA9IHsKKwkxLAorCTB4MWIxMDAsIDB4MWIxMmYsCit9
OyAvKiBDUl9Jbl9LYW5hX0V4dGVuZGVkX0EgKi8KKworLyogJ0luX1NtYWxsX0thbmFfRXh0ZW5z
aW9uJzogQmxvY2sgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0luX1NtYWxsX0th
bmFfRXh0ZW5zaW9uW10gPSB7CisJMSwKKwkweDFiMTMwLCAweDFiMTZmLAorfTsgLyogQ1JfSW5f
U21hbGxfS2FuYV9FeHRlbnNpb24gKi8KKworLyogJ0luX051c2h1JzogQmxvY2sgKi8KK3N0YXRp
YyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0luX051c2h1W10gPSB7CisJMSwKKwkweDFiMTcwLCAw
eDFiMmZmLAorfTsgLyogQ1JfSW5fTnVzaHUgKi8KKworLyogJ0luX0R1cGxveWFuJzogQmxvY2sg
Ki8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0luX0R1cGxveWFuW10gPSB7CisJMSwK
KwkweDFiYzAwLCAweDFiYzlmLAorfTsgLyogQ1JfSW5fRHVwbG95YW4gKi8KKworLyogJ0luX1No
b3J0aGFuZF9Gb3JtYXRfQ29udHJvbHMnOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2Rl
UG9pbnQgQ1JfSW5fU2hvcnRoYW5kX0Zvcm1hdF9Db250cm9sc1tdID0geworCTEsCisJMHgxYmNh
MCwgMHgxYmNhZiwKK307IC8qIENSX0luX1Nob3J0aGFuZF9Gb3JtYXRfQ29udHJvbHMgKi8KKwor
LyogJ0luX0J5emFudGluZV9NdXNpY2FsX1N5bWJvbHMnOiBCbG9jayAqLworc3RhdGljIGNvbnN0
IE9uaWdDb2RlUG9pbnQgQ1JfSW5fQnl6YW50aW5lX011c2ljYWxfU3ltYm9sc1tdID0geworCTEs
CisJMHgxZDAwMCwgMHgxZDBmZiwKK307IC8qIENSX0luX0J5emFudGluZV9NdXNpY2FsX1N5bWJv
bHMgKi8KKworLyogJ0luX011c2ljYWxfU3ltYm9scyc6IEJsb2NrICovCitzdGF0aWMgY29uc3Qg
T25pZ0NvZGVQb2ludCBDUl9Jbl9NdXNpY2FsX1N5bWJvbHNbXSA9IHsKKwkxLAorCTB4MWQxMDAs
IDB4MWQxZmYsCit9OyAvKiBDUl9Jbl9NdXNpY2FsX1N5bWJvbHMgKi8KKworLyogJ0luX0FuY2ll
bnRfR3JlZWtfTXVzaWNhbF9Ob3RhdGlvbic6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0Nv
ZGVQb2ludCBDUl9Jbl9BbmNpZW50X0dyZWVrX011c2ljYWxfTm90YXRpb25bXSA9IHsKKwkxLAor
CTB4MWQyMDAsIDB4MWQyNGYsCit9OyAvKiBDUl9Jbl9BbmNpZW50X0dyZWVrX011c2ljYWxfTm90
YXRpb24gKi8KKworLyogJ0luX01heWFuX051bWVyYWxzJzogQmxvY2sgKi8KK3N0YXRpYyBjb25z
dCBPbmlnQ29kZVBvaW50IENSX0luX01heWFuX051bWVyYWxzW10gPSB7CisJMSwKKwkweDFkMmUw
LCAweDFkMmZmLAorfTsgLyogQ1JfSW5fTWF5YW5fTnVtZXJhbHMgKi8KKworLyogJ0luX1RhaV9Y
dWFuX0ppbmdfU3ltYm9scyc6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBD
Ul9Jbl9UYWlfWHVhbl9KaW5nX1N5bWJvbHNbXSA9IHsKKwkxLAorCTB4MWQzMDAsIDB4MWQzNWYs
Cit9OyAvKiBDUl9Jbl9UYWlfWHVhbl9KaW5nX1N5bWJvbHMgKi8KKworLyogJ0luX0NvdW50aW5n
X1JvZF9OdW1lcmFscyc6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9J
bl9Db3VudGluZ19Sb2RfTnVtZXJhbHNbXSA9IHsKKwkxLAorCTB4MWQzNjAsIDB4MWQzN2YsCit9
OyAvKiBDUl9Jbl9Db3VudGluZ19Sb2RfTnVtZXJhbHMgKi8KKworLyogJ0luX01hdGhlbWF0aWNh
bF9BbHBoYW51bWVyaWNfU3ltYm9scyc6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQ
b2ludCBDUl9Jbl9NYXRoZW1hdGljYWxfQWxwaGFudW1lcmljX1N5bWJvbHNbXSA9IHsKKwkxLAor
CTB4MWQ0MDAsIDB4MWQ3ZmYsCit9OyAvKiBDUl9Jbl9NYXRoZW1hdGljYWxfQWxwaGFudW1lcmlj
X1N5bWJvbHMgKi8KKworLyogJ0luX1N1dHRvbl9TaWduV3JpdGluZyc6IEJsb2NrICovCitzdGF0
aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9TdXR0b25fU2lnbldyaXRpbmdbXSA9IHsKKwkx
LAorCTB4MWQ4MDAsIDB4MWRhYWYsCit9OyAvKiBDUl9Jbl9TdXR0b25fU2lnbldyaXRpbmcgKi8K
KworLyogJ0luX0dsYWdvbGl0aWNfU3VwcGxlbWVudCc6IEJsb2NrICovCitzdGF0aWMgY29uc3Qg
T25pZ0NvZGVQb2ludCBDUl9Jbl9HbGFnb2xpdGljX1N1cHBsZW1lbnRbXSA9IHsKKwkxLAorCTB4
MWUwMDAsIDB4MWUwMmYsCit9OyAvKiBDUl9Jbl9HbGFnb2xpdGljX1N1cHBsZW1lbnQgKi8KKwor
LyogJ0luX055aWFrZW5nX1B1YWNodWVfSG1vbmcnOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9u
aWdDb2RlUG9pbnQgQ1JfSW5fTnlpYWtlbmdfUHVhY2h1ZV9IbW9uZ1tdID0geworCTEsCisJMHgx
ZTEwMCwgMHgxZTE0ZiwKK307IC8qIENSX0luX055aWFrZW5nX1B1YWNodWVfSG1vbmcgKi8KKwor
LyogJ0luX1dhbmNobyc6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9J
bl9XYW5jaG9bXSA9IHsKKwkxLAorCTB4MWUyYzAsIDB4MWUyZmYsCit9OyAvKiBDUl9Jbl9XYW5j
aG8gKi8KKworLyogJ0luX01lbmRlX0tpa2FrdWknOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9u
aWdDb2RlUG9pbnQgQ1JfSW5fTWVuZGVfS2lrYWt1aVtdID0geworCTEsCisJMHgxZTgwMCwgMHgx
ZThkZiwKK307IC8qIENSX0luX01lbmRlX0tpa2FrdWkgKi8KKworLyogJ0luX0FkbGFtJzogQmxv
Y2sgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0luX0FkbGFtW10gPSB7CisJMSwK
KwkweDFlOTAwLCAweDFlOTVmLAorfTsgLyogQ1JfSW5fQWRsYW0gKi8KKworLyogJ0luX0luZGlj
X1NpeWFxX051bWJlcnMnOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1Jf
SW5fSW5kaWNfU2l5YXFfTnVtYmVyc1tdID0geworCTEsCisJMHgxZWM3MCwgMHgxZWNiZiwKK307
IC8qIENSX0luX0luZGljX1NpeWFxX051bWJlcnMgKi8KKworLyogJ0luX090dG9tYW5fU2l5YXFf
TnVtYmVycyc6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9PdHRv
bWFuX1NpeWFxX051bWJlcnNbXSA9IHsKKwkxLAorCTB4MWVkMDAsIDB4MWVkNGYsCit9OyAvKiBD
Ul9Jbl9PdHRvbWFuX1NpeWFxX051bWJlcnMgKi8KKworLyogJ0luX0FyYWJpY19NYXRoZW1hdGlj
YWxfQWxwaGFiZXRpY19TeW1ib2xzJzogQmxvY2sgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBv
aW50IENSX0luX0FyYWJpY19NYXRoZW1hdGljYWxfQWxwaGFiZXRpY19TeW1ib2xzW10gPSB7CisJ
MSwKKwkweDFlZTAwLCAweDFlZWZmLAorfTsgLyogQ1JfSW5fQXJhYmljX01hdGhlbWF0aWNhbF9B
bHBoYWJldGljX1N5bWJvbHMgKi8KKworLyogJ0luX01haGpvbmdfVGlsZXMnOiBCbG9jayAqLwor
c3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fTWFoam9uZ19UaWxlc1tdID0geworCTEs
CisJMHgxZjAwMCwgMHgxZjAyZiwKK307IC8qIENSX0luX01haGpvbmdfVGlsZXMgKi8KKworLyog
J0luX0RvbWlub19UaWxlcyc6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBD
Ul9Jbl9Eb21pbm9fVGlsZXNbXSA9IHsKKwkxLAorCTB4MWYwMzAsIDB4MWYwOWYsCit9OyAvKiBD
Ul9Jbl9Eb21pbm9fVGlsZXMgKi8KKworLyogJ0luX1BsYXlpbmdfQ2FyZHMnOiBCbG9jayAqLwor
c3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fUGxheWluZ19DYXJkc1tdID0geworCTEs
CisJMHgxZjBhMCwgMHgxZjBmZiwKK307IC8qIENSX0luX1BsYXlpbmdfQ2FyZHMgKi8KKworLyog
J0luX0VuY2xvc2VkX0FscGhhbnVtZXJpY19TdXBwbGVtZW50JzogQmxvY2sgKi8KK3N0YXRpYyBj
b25zdCBPbmlnQ29kZVBvaW50IENSX0luX0VuY2xvc2VkX0FscGhhbnVtZXJpY19TdXBwbGVtZW50
W10gPSB7CisJMSwKKwkweDFmMTAwLCAweDFmMWZmLAorfTsgLyogQ1JfSW5fRW5jbG9zZWRfQWxw
aGFudW1lcmljX1N1cHBsZW1lbnQgKi8KKworLyogJ0luX0VuY2xvc2VkX0lkZW9ncmFwaGljX1N1
cHBsZW1lbnQnOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fRW5j
bG9zZWRfSWRlb2dyYXBoaWNfU3VwcGxlbWVudFtdID0geworCTEsCisJMHgxZjIwMCwgMHgxZjJm
ZiwKK307IC8qIENSX0luX0VuY2xvc2VkX0lkZW9ncmFwaGljX1N1cHBsZW1lbnQgKi8KKworLyog
J0luX01pc2NlbGxhbmVvdXNfU3ltYm9sc19hbmRfUGljdG9ncmFwaHMnOiBCbG9jayAqLworc3Rh
dGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fTWlzY2VsbGFuZW91c19TeW1ib2xzX2FuZF9Q
aWN0b2dyYXBoc1tdID0geworCTEsCisJMHgxZjMwMCwgMHgxZjVmZiwKK307IC8qIENSX0luX01p
c2NlbGxhbmVvdXNfU3ltYm9sc19hbmRfUGljdG9ncmFwaHMgKi8KKworLyogJ0luX0Vtb3RpY29u
cyc6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9FbW90aWNvbnNb
XSA9IHsKKwkxLAorCTB4MWY2MDAsIDB4MWY2NGYsCit9OyAvKiBDUl9Jbl9FbW90aWNvbnMgKi8K
KworLyogJ0luX09ybmFtZW50YWxfRGluZ2JhdHMnOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9u
aWdDb2RlUG9pbnQgQ1JfSW5fT3JuYW1lbnRhbF9EaW5nYmF0c1tdID0geworCTEsCisJMHgxZjY1
MCwgMHgxZjY3ZiwKK307IC8qIENSX0luX09ybmFtZW50YWxfRGluZ2JhdHMgKi8KKworLyogJ0lu
X1RyYW5zcG9ydF9hbmRfTWFwX1N5bWJvbHMnOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdD
b2RlUG9pbnQgQ1JfSW5fVHJhbnNwb3J0X2FuZF9NYXBfU3ltYm9sc1tdID0geworCTEsCisJMHgx
ZjY4MCwgMHgxZjZmZiwKK307IC8qIENSX0luX1RyYW5zcG9ydF9hbmRfTWFwX1N5bWJvbHMgKi8K
KworLyogJ0luX0FsY2hlbWljYWxfU3ltYm9scyc6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25p
Z0NvZGVQb2ludCBDUl9Jbl9BbGNoZW1pY2FsX1N5bWJvbHNbXSA9IHsKKwkxLAorCTB4MWY3MDAs
IDB4MWY3N2YsCit9OyAvKiBDUl9Jbl9BbGNoZW1pY2FsX1N5bWJvbHMgKi8KKworLyogJ0luX0dl
b21ldHJpY19TaGFwZXNfRXh0ZW5kZWQnOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2Rl
UG9pbnQgQ1JfSW5fR2VvbWV0cmljX1NoYXBlc19FeHRlbmRlZFtdID0geworCTEsCisJMHgxZjc4
MCwgMHgxZjdmZiwKK307IC8qIENSX0luX0dlb21ldHJpY19TaGFwZXNfRXh0ZW5kZWQgKi8KKwor
LyogJ0luX1N1cHBsZW1lbnRhbF9BcnJvd3NfQyc6IEJsb2NrICovCitzdGF0aWMgY29uc3QgT25p
Z0NvZGVQb2ludCBDUl9Jbl9TdXBwbGVtZW50YWxfQXJyb3dzX0NbXSA9IHsKKwkxLAorCTB4MWY4
MDAsIDB4MWY4ZmYsCit9OyAvKiBDUl9Jbl9TdXBwbGVtZW50YWxfQXJyb3dzX0MgKi8KKworLyog
J0luX1N1cHBsZW1lbnRhbF9TeW1ib2xzX2FuZF9QaWN0b2dyYXBocyc6IEJsb2NrICovCitzdGF0
aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9TdXBwbGVtZW50YWxfU3ltYm9sc19hbmRfUGlj
dG9ncmFwaHNbXSA9IHsKKwkxLAorCTB4MWY5MDAsIDB4MWY5ZmYsCit9OyAvKiBDUl9Jbl9TdXBw
bGVtZW50YWxfU3ltYm9sc19hbmRfUGljdG9ncmFwaHMgKi8KKworLyogJ0luX0NoZXNzX1N5bWJv
bHMnOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fQ2hlc3NfU3lt
Ym9sc1tdID0geworCTEsCisJMHgxZmEwMCwgMHgxZmE2ZiwKK307IC8qIENSX0luX0NoZXNzX1N5
bWJvbHMgKi8KKworLyogJ0luX1N5bWJvbHNfYW5kX1BpY3RvZ3JhcGhzX0V4dGVuZGVkX0EnOiBC
bG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fU3ltYm9sc19hbmRfUGlj
dG9ncmFwaHNfRXh0ZW5kZWRfQVtdID0geworCTEsCisJMHgxZmE3MCwgMHgxZmFmZiwKK307IC8q
IENSX0luX1N5bWJvbHNfYW5kX1BpY3RvZ3JhcGhzX0V4dGVuZGVkX0EgKi8KKworLyogJ0luX0NK
S19VbmlmaWVkX0lkZW9ncmFwaHNfRXh0ZW5zaW9uX0InOiBCbG9jayAqLworc3RhdGljIGNvbnN0
IE9uaWdDb2RlUG9pbnQgQ1JfSW5fQ0pLX1VuaWZpZWRfSWRlb2dyYXBoc19FeHRlbnNpb25fQltd
ID0geworCTEsCisJMHgyMDAwMCwgMHgyYTZkZiwKK307IC8qIENSX0luX0NKS19VbmlmaWVkX0lk
ZW9ncmFwaHNfRXh0ZW5zaW9uX0IgKi8KKworLyogJ0luX0NKS19VbmlmaWVkX0lkZW9ncmFwaHNf
RXh0ZW5zaW9uX0MnOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5f
Q0pLX1VuaWZpZWRfSWRlb2dyYXBoc19FeHRlbnNpb25fQ1tdID0geworCTEsCisJMHgyYTcwMCwg
MHgyYjczZiwKK307IC8qIENSX0luX0NKS19VbmlmaWVkX0lkZW9ncmFwaHNfRXh0ZW5zaW9uX0Mg
Ki8KKworLyogJ0luX0NKS19VbmlmaWVkX0lkZW9ncmFwaHNfRXh0ZW5zaW9uX0QnOiBCbG9jayAq
Lworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fQ0pLX1VuaWZpZWRfSWRlb2dyYXBo
c19FeHRlbnNpb25fRFtdID0geworCTEsCisJMHgyYjc0MCwgMHgyYjgxZiwKK307IC8qIENSX0lu
X0NKS19VbmlmaWVkX0lkZW9ncmFwaHNfRXh0ZW5zaW9uX0QgKi8KKworLyogJ0luX0NKS19Vbmlm
aWVkX0lkZW9ncmFwaHNfRXh0ZW5zaW9uX0UnOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdD
b2RlUG9pbnQgQ1JfSW5fQ0pLX1VuaWZpZWRfSWRlb2dyYXBoc19FeHRlbnNpb25fRVtdID0gewor
CTEsCisJMHgyYjgyMCwgMHgyY2VhZiwKK307IC8qIENSX0luX0NKS19VbmlmaWVkX0lkZW9ncmFw
aHNfRXh0ZW5zaW9uX0UgKi8KKworLyogJ0luX0NKS19VbmlmaWVkX0lkZW9ncmFwaHNfRXh0ZW5z
aW9uX0YnOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fQ0pLX1Vu
aWZpZWRfSWRlb2dyYXBoc19FeHRlbnNpb25fRltdID0geworCTEsCisJMHgyY2ViMCwgMHgyZWJl
ZiwKK307IC8qIENSX0luX0NKS19VbmlmaWVkX0lkZW9ncmFwaHNfRXh0ZW5zaW9uX0YgKi8KKwor
LyogJ0luX0NKS19Db21wYXRpYmlsaXR5X0lkZW9ncmFwaHNfU3VwcGxlbWVudCc6IEJsb2NrICov
CitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9DSktfQ29tcGF0aWJpbGl0eV9JZGVv
Z3JhcGhzX1N1cHBsZW1lbnRbXSA9IHsKKwkxLAorCTB4MmY4MDAsIDB4MmZhMWYsCit9OyAvKiBD
Ul9Jbl9DSktfQ29tcGF0aWJpbGl0eV9JZGVvZ3JhcGhzX1N1cHBsZW1lbnQgKi8KKworLyogJ0lu
X1RhZ3MnOiBCbG9jayAqLworc3RhdGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fVGFnc1td
ID0geworCTEsCisJMHhlMDAwMCwgMHhlMDA3ZiwKK307IC8qIENSX0luX1RhZ3MgKi8KKworLyog
J0luX1ZhcmlhdGlvbl9TZWxlY3RvcnNfU3VwcGxlbWVudCc6IEJsb2NrICovCitzdGF0aWMgY29u
c3QgT25pZ0NvZGVQb2ludCBDUl9Jbl9WYXJpYXRpb25fU2VsZWN0b3JzX1N1cHBsZW1lbnRbXSA9
IHsKKwkxLAorCTB4ZTAxMDAsIDB4ZTAxZWYsCit9OyAvKiBDUl9Jbl9WYXJpYXRpb25fU2VsZWN0
b3JzX1N1cHBsZW1lbnQgKi8KKworLyogJ0luX1N1cHBsZW1lbnRhcnlfUHJpdmF0ZV9Vc2VfQXJl
YV9BJzogQmxvY2sgKi8KK3N0YXRpYyBjb25zdCBPbmlnQ29kZVBvaW50IENSX0luX1N1cHBsZW1l
bnRhcnlfUHJpdmF0ZV9Vc2VfQXJlYV9BW10gPSB7CisJMSwKKwkweGYwMDAwLCAweGZmZmZmLAor
fTsgLyogQ1JfSW5fU3VwcGxlbWVudGFyeV9Qcml2YXRlX1VzZV9BcmVhX0EgKi8KKworLyogJ0lu
X1N1cHBsZW1lbnRhcnlfUHJpdmF0ZV9Vc2VfQXJlYV9CJzogQmxvY2sgKi8KK3N0YXRpYyBjb25z
dCBPbmlnQ29kZVBvaW50IENSX0luX1N1cHBsZW1lbnRhcnlfUHJpdmF0ZV9Vc2VfQXJlYV9CW10g
PSB7CisJMSwKKwkweDEwMDAwMCwgMHgxMGZmZmYsCit9OyAvKiBDUl9Jbl9TdXBwbGVtZW50YXJ5
X1ByaXZhdGVfVXNlX0FyZWFfQiAqLworCisvKiAnSW5fTm9fQmxvY2snOiBCbG9jayAqLworc3Rh
dGljIGNvbnN0IE9uaWdDb2RlUG9pbnQgQ1JfSW5fTm9fQmxvY2tbXSA9IHsKKwk1MywKKwkweDA4
NzAsIDB4MDg5ZiwKKwkweDJmZTAsIDB4MmZlZiwKKwkweDEwMjAwLCAweDEwMjdmLAorCTB4MTAz
ZTAsIDB4MTAzZmYsCisJMHgxMDU3MCwgMHgxMDVmZiwKKwkweDEwNzgwLCAweDEwN2ZmLAorCTB4
MTA4YjAsIDB4MTA4ZGYsCisJMHgxMDk0MCwgMHgxMDk3ZiwKKwkweDEwYWEwLCAweDEwYWJmLAor
CTB4MTBiYjAsIDB4MTBiZmYsCisJMHgxMGM1MCwgMHgxMGM3ZiwKKwkweDEwZDQwLCAweDEwZTVm
LAorCTB4MTBlODAsIDB4MTBlZmYsCisJMHgxMGY3MCwgMHgxMGZkZiwKKwkweDExMjUwLCAweDEx
MjdmLAorCTB4MTEzODAsIDB4MTEzZmYsCisJMHgxMTRlMCwgMHgxMTU3ZiwKKwkweDExNmQwLCAw
eDExNmZmLAorCTB4MTE3NDAsIDB4MTE3ZmYsCisJMHgxMTg1MCwgMHgxMTg5ZiwKKwkweDExOTAw
LCAweDExOTlmLAorCTB4MTFhYjAsIDB4MTFhYmYsCisJMHgxMWIwMCwgMHgxMWJmZiwKKwkweDEx
Y2MwLCAweDExY2ZmLAorCTB4MTFkYjAsIDB4MTFlZGYsCisJMHgxMWYwMCwgMHgxMWZiZiwKKwkw
eDEyNTUwLCAweDEyZmZmLAorCTB4MTM0NDAsIDB4MTQzZmYsCisJMHgxNDY4MCwgMHgxNjdmZiwK
KwkweDE2YTcwLCAweDE2YWNmLAorCTB4MTZiOTAsIDB4MTZlM2YsCisJMHgxNmVhMCwgMHgxNmVm
ZiwKKwkweDE2ZmEwLCAweDE2ZmRmLAorCTB4MThiMDAsIDB4MWFmZmYsCisJMHgxYjMwMCwgMHgx
YmJmZiwKKwkweDFiY2IwLCAweDFjZmZmLAorCTB4MWQyNTAsIDB4MWQyZGYsCisJMHgxZDM4MCwg
MHgxZDNmZiwKKwkweDFkYWIwLCAweDFkZmZmLAorCTB4MWUwMzAsIDB4MWUwZmYsCisJMHgxZTE1
MCwgMHgxZTJiZiwKKwkweDFlMzAwLCAweDFlN2ZmLAorCTB4MWU4ZTAsIDB4MWU4ZmYsCisJMHgx
ZTk2MCwgMHgxZWM2ZiwKKwkweDFlY2MwLCAweDFlY2ZmLAorCTB4MWVkNTAsIDB4MWVkZmYsCisJ
MHgxZWYwMCwgMHgxZWZmZiwKKwkweDFmYjAwLCAweDFmZmZmLAorCTB4MmE2ZTAsIDB4MmE2ZmYs
CisJMHgyZWJmMCwgMHgyZjdmZiwKKwkweDJmYTIwLCAweGRmZmZmLAorCTB4ZTAwODAsIDB4ZTAw
ZmYsCisJMHhlMDFmMCwgMHhlZmZmZiwKK307IC8qIENSX0luX05vX0Jsb2NrICovCisKKyNlbmRp
ZiAvKiBVU0VfVU5JQ09ERV9QUk9QRVJUSUVTICovCitzdGF0aWMgY29uc3QgT25pZ0NvZGVQb2lu
dCogY29uc3QgQ29kZVJhbmdlc1tdID0geworICBDUl9ORVdMSU5FLAorICBDUl9BbHBoYSwKKyAg
Q1JfQmxhbmssCisgIENSX0NudHJsLAorICBDUl9EaWdpdCwKKyAgQ1JfR3JhcGgsCisgIENSX0xv
d2VyLAorICBDUl9QcmludCwKKyAgQ1JfWFBvc2l4UHVuY3QsCisgIENSX1NwYWNlLAorICBDUl9V
cHBlciwKKyAgQ1JfWERpZ2l0LAorICBDUl9Xb3JkLAorICBDUl9BbG51bSwKKyAgQ1JfQVNDSUks
CisgIENSX1B1bmN0LAorI2lmZGVmIFVTRV9VTklDT0RFX1BST1BFUlRJRVMKKyAgQ1JfQW55LAor
ICBDUl9Bc3NpZ25lZCwKKyAgQ1JfQywKKyAgQ1JfQ2MsCisgIENSX0NmLAorICBDUl9DbiwKKyAg
Q1JfQ28sCisgIENSX0NzLAorICBDUl9MLAorICBDUl9MQywKKyAgQ1JfTGwsCisgIENSX0xtLAor
ICBDUl9MbywKKyAgQ1JfTHQsCisgIENSX0x1LAorICBDUl9NLAorICBDUl9NYywKKyAgQ1JfTWUs
CisgIENSX01uLAorICBDUl9OLAorICBDUl9OZCwKKyAgQ1JfTmwsCisgIENSX05vLAorICBDUl9Q
LAorICBDUl9QYywKKyAgQ1JfUGQsCisgIENSX1BlLAorICBDUl9QZiwKKyAgQ1JfUGksCisgIENS
X1BvLAorICBDUl9QcywKKyAgQ1JfUywKKyAgQ1JfU2MsCisgIENSX1NrLAorICBDUl9TbSwKKyAg
Q1JfU28sCisgIENSX1osCisgIENSX1psLAorICBDUl9acCwKKyAgQ1JfWnMsCisgIENSX01hdGgs
CisgIENSX0FscGhhYmV0aWMsCisgIENSX0xvd2VyY2FzZSwKKyAgQ1JfVXBwZXJjYXNlLAorICBD
Ul9DYXNlZCwKKyAgQ1JfQ2FzZV9JZ25vcmFibGUsCisgIENSX0NoYW5nZXNfV2hlbl9Mb3dlcmNh
c2VkLAorICBDUl9DaGFuZ2VzX1doZW5fVXBwZXJjYXNlZCwKKyAgQ1JfQ2hhbmdlc19XaGVuX1Rp
dGxlY2FzZWQsCisgIENSX0NoYW5nZXNfV2hlbl9DYXNlZm9sZGVkLAorICBDUl9DaGFuZ2VzX1do
ZW5fQ2FzZW1hcHBlZCwKKyAgQ1JfSURfU3RhcnQsCisgIENSX0lEX0NvbnRpbnVlLAorICBDUl9Y
SURfU3RhcnQsCisgIENSX1hJRF9Db250aW51ZSwKKyAgQ1JfRGVmYXVsdF9JZ25vcmFibGVfQ29k
ZV9Qb2ludCwKKyAgQ1JfR3JhcGhlbWVfRXh0ZW5kLAorICBDUl9HcmFwaGVtZV9CYXNlLAorICBD
Ul9HcmFwaGVtZV9MaW5rLAorICBDUl9Db21tb24sCisgIENSX0xhdGluLAorICBDUl9HcmVlaywK
KyAgQ1JfQ3lyaWxsaWMsCisgIENSX0FybWVuaWFuLAorICBDUl9IZWJyZXcsCisgIENSX0FyYWJp
YywKKyAgQ1JfU3lyaWFjLAorICBDUl9UaGFhbmEsCisgIENSX0RldmFuYWdhcmksCisgIENSX0Jl
bmdhbGksCisgIENSX0d1cm11a2hpLAorICBDUl9HdWphcmF0aSwKKyAgQ1JfT3JpeWEsCisgIENS
X1RhbWlsLAorICBDUl9UZWx1Z3UsCisgIENSX0thbm5hZGEsCisgIENSX01hbGF5YWxhbSwKKyAg
Q1JfU2luaGFsYSwKKyAgQ1JfVGhhaSwKKyAgQ1JfTGFvLAorICBDUl9UaWJldGFuLAorICBDUl9N
eWFubWFyLAorICBDUl9HZW9yZ2lhbiwKKyAgQ1JfSGFuZ3VsLAorICBDUl9FdGhpb3BpYywKKyAg
Q1JfQ2hlcm9rZWUsCisgIENSX0NhbmFkaWFuX0Fib3JpZ2luYWwsCisgIENSX09naGFtLAorICBD
Ul9SdW5pYywKKyAgQ1JfS2htZXIsCisgIENSX01vbmdvbGlhbiwKKyAgQ1JfSGlyYWdhbmEsCisg
IENSX0thdGFrYW5hLAorICBDUl9Cb3BvbW9mbywKKyAgQ1JfSGFuLAorICBDUl9ZaSwKKyAgQ1Jf
T2xkX0l0YWxpYywKKyAgQ1JfR290aGljLAorICBDUl9EZXNlcmV0LAorICBDUl9Jbmhlcml0ZWQs
CisgIENSX1RhZ2Fsb2csCisgIENSX0hhbnVub28sCisgIENSX0J1aGlkLAorICBDUl9UYWdiYW53
YSwKKyAgQ1JfTGltYnUsCisgIENSX1RhaV9MZSwKKyAgQ1JfTGluZWFyX0IsCisgIENSX1VnYXJp
dGljLAorICBDUl9TaGF2aWFuLAorICBDUl9Pc21hbnlhLAorICBDUl9DeXByaW90LAorICBDUl9C
cmFpbGxlLAorICBDUl9CdWdpbmVzZSwKKyAgQ1JfQ29wdGljLAorICBDUl9OZXdfVGFpX0x1ZSwK
KyAgQ1JfR2xhZ29saXRpYywKKyAgQ1JfVGlmaW5hZ2gsCisgIENSX1N5bG90aV9OYWdyaSwKKyAg
Q1JfT2xkX1BlcnNpYW4sCisgIENSX0toYXJvc2h0aGksCisgIENSX0JhbGluZXNlLAorICBDUl9D
dW5laWZvcm0sCisgIENSX1Bob2VuaWNpYW4sCisgIENSX1BoYWdzX1BhLAorICBDUl9Oa28sCisg
IENSX1N1bmRhbmVzZSwKKyAgQ1JfTGVwY2hhLAorICBDUl9PbF9DaGlraSwKKyAgQ1JfVmFpLAor
ICBDUl9TYXVyYXNodHJhLAorICBDUl9LYXlhaF9MaSwKKyAgQ1JfUmVqYW5nLAorICBDUl9MeWNp
YW4sCisgIENSX0NhcmlhbiwKKyAgQ1JfTHlkaWFuLAorICBDUl9DaGFtLAorICBDUl9UYWlfVGhh
bSwKKyAgQ1JfVGFpX1ZpZXQsCisgIENSX0F2ZXN0YW4sCisgIENSX0VneXB0aWFuX0hpZXJvZ2x5
cGhzLAorICBDUl9TYW1hcml0YW4sCisgIENSX0xpc3UsCisgIENSX0JhbXVtLAorICBDUl9KYXZh
bmVzZSwKKyAgQ1JfTWVldGVpX01heWVrLAorICBDUl9JbXBlcmlhbF9BcmFtYWljLAorICBDUl9P
bGRfU291dGhfQXJhYmlhbiwKKyAgQ1JfSW5zY3JpcHRpb25hbF9QYXJ0aGlhbiwKKyAgQ1JfSW5z
Y3JpcHRpb25hbF9QYWhsYXZpLAorICBDUl9PbGRfVHVya2ljLAorICBDUl9LYWl0aGksCisgIENS
X0JhdGFrLAorICBDUl9CcmFobWksCisgIENSX01hbmRhaWMsCisgIENSX0NoYWttYSwKKyAgQ1Jf
TWVyb2l0aWNfQ3Vyc2l2ZSwKKyAgQ1JfTWVyb2l0aWNfSGllcm9nbHlwaHMsCisgIENSX01pYW8s
CisgIENSX1NoYXJhZGEsCisgIENSX1NvcmFfU29tcGVuZywKKyAgQ1JfVGFrcmksCisgIENSX0Nh
dWNhc2lhbl9BbGJhbmlhbiwKKyAgQ1JfQmFzc2FfVmFoLAorICBDUl9EdXBsb3lhbiwKKyAgQ1Jf
RWxiYXNhbiwKKyAgQ1JfR3JhbnRoYSwKKyAgQ1JfUGFoYXdoX0htb25nLAorICBDUl9LaG9qa2ks
CisgIENSX0xpbmVhcl9BLAorICBDUl9NYWhhamFuaSwKKyAgQ1JfTWFuaWNoYWVhbiwKKyAgQ1Jf
TWVuZGVfS2lrYWt1aSwKKyAgQ1JfTW9kaSwKKyAgQ1JfTXJvLAorICBDUl9PbGRfTm9ydGhfQXJh
YmlhbiwKKyAgQ1JfTmFiYXRhZWFuLAorICBDUl9QYWxteXJlbmUsCisgIENSX1BhdV9DaW5fSGF1
LAorICBDUl9PbGRfUGVybWljLAorICBDUl9Qc2FsdGVyX1BhaGxhdmksCisgIENSX1NpZGRoYW0s
CisgIENSX0todWRhd2FkaSwKKyAgQ1JfVGlyaHV0YSwKKyAgQ1JfV2FyYW5nX0NpdGksCisgIENS
X0Fob20sCisgIENSX0FuYXRvbGlhbl9IaWVyb2dseXBocywKKyAgQ1JfSGF0cmFuLAorICBDUl9N
dWx0YW5pLAorICBDUl9PbGRfSHVuZ2FyaWFuLAorICBDUl9TaWduV3JpdGluZywKKyAgQ1JfQWRs
YW0sCisgIENSX0JoYWlrc3VraSwKKyAgQ1JfTWFyY2hlbiwKKyAgQ1JfTmV3YSwKKyAgQ1JfT3Nh
Z2UsCisgIENSX1Rhbmd1dCwKKyAgQ1JfTWFzYXJhbV9Hb25kaSwKKyAgQ1JfTnVzaHUsCisgIENS
X1NveW9tYm8sCisgIENSX1phbmFiYXphcl9TcXVhcmUsCisgIENSX0RvZ3JhLAorICBDUl9HdW5q
YWxhX0dvbmRpLAorICBDUl9NYWthc2FyLAorICBDUl9NZWRlZmFpZHJpbiwKKyAgQ1JfSGFuaWZp
X1JvaGluZ3lhLAorICBDUl9Tb2dkaWFuLAorICBDUl9PbGRfU29nZGlhbiwKKyAgQ1JfRWx5bWFp
YywKKyAgQ1JfTmFuZGluYWdhcmksCisgIENSX055aWFrZW5nX1B1YWNodWVfSG1vbmcsCisgIENS
X1dhbmNobywKKyAgQ1JfV2hpdGVfU3BhY2UsCisgIENSX0JpZGlfQ29udHJvbCwKKyAgQ1JfSm9p
bl9Db250cm9sLAorICBDUl9EYXNoLAorICBDUl9IeXBoZW4sCisgIENSX1F1b3RhdGlvbl9NYXJr
LAorICBDUl9UZXJtaW5hbF9QdW5jdHVhdGlvbiwKKyAgQ1JfT3RoZXJfTWF0aCwKKyAgQ1JfSGV4
X0RpZ2l0LAorICBDUl9BU0NJSV9IZXhfRGlnaXQsCisgIENSX090aGVyX0FscGhhYmV0aWMsCisg
IENSX0lkZW9ncmFwaGljLAorICBDUl9EaWFjcml0aWMsCisgIENSX0V4dGVuZGVyLAorICBDUl9P
dGhlcl9Mb3dlcmNhc2UsCisgIENSX090aGVyX1VwcGVyY2FzZSwKKyAgQ1JfTm9uY2hhcmFjdGVy
X0NvZGVfUG9pbnQsCisgIENSX090aGVyX0dyYXBoZW1lX0V4dGVuZCwKKyAgQ1JfSURTX0JpbmFy
eV9PcGVyYXRvciwKKyAgQ1JfSURTX1RyaW5hcnlfT3BlcmF0b3IsCisgIENSX1JhZGljYWwsCisg
IENSX1VuaWZpZWRfSWRlb2dyYXBoLAorICBDUl9PdGhlcl9EZWZhdWx0X0lnbm9yYWJsZV9Db2Rl
X1BvaW50LAorICBDUl9EZXByZWNhdGVkLAorICBDUl9Tb2Z0X0RvdHRlZCwKKyAgQ1JfTG9naWNh
bF9PcmRlcl9FeGNlcHRpb24sCisgIENSX090aGVyX0lEX1N0YXJ0LAorICBDUl9PdGhlcl9JRF9D
b250aW51ZSwKKyAgQ1JfU2VudGVuY2VfVGVybWluYWwsCisgIENSX1ZhcmlhdGlvbl9TZWxlY3Rv
ciwKKyAgQ1JfUGF0dGVybl9XaGl0ZV9TcGFjZSwKKyAgQ1JfUGF0dGVybl9TeW50YXgsCisgIENS
X1ByZXBlbmRlZF9Db25jYXRlbmF0aW9uX01hcmssCisgIENSX1JlZ2lvbmFsX0luZGljYXRvciwK
KyAgQ1JfRW1vamksCisgIENSX0Vtb2ppX1ByZXNlbnRhdGlvbiwKKyAgQ1JfRW1vamlfTW9kaWZp
ZXIsCisgIENSX0Vtb2ppX01vZGlmaWVyX0Jhc2UsCisgIENSX0Vtb2ppX0NvbXBvbmVudCwKKyAg
Q1JfRXh0ZW5kZWRfUGljdG9ncmFwaGljLAorICBDUl9Vbmtub3duLAorI2lmZGVmIFVTRV9VTklD
T0RFX0FHRV9QUk9QRVJUSUVTCisgIENSX0FnZV8xXzEsCisgIENSX0FnZV8yXzAsCisgIENSX0Fn
ZV8yXzEsCisgIENSX0FnZV8zXzAsCisgIENSX0FnZV8zXzEsCisgIENSX0FnZV8zXzIsCisgIENS
X0FnZV80XzAsCisgIENSX0FnZV80XzEsCisgIENSX0FnZV81XzAsCisgIENSX0FnZV81XzEsCisg
IENSX0FnZV81XzIsCisgIENSX0FnZV82XzAsCisgIENSX0FnZV82XzEsCisgIENSX0FnZV82XzIs
CisgIENSX0FnZV82XzMsCisgIENSX0FnZV83XzAsCisgIENSX0FnZV84XzAsCisgIENSX0FnZV85
XzAsCisgIENSX0FnZV8xMF8wLAorICBDUl9BZ2VfMTFfMCwKKyAgQ1JfQWdlXzEyXzAsCisgIENS
X0FnZV8xMl8xLAorI2VuZGlmIC8qIFVTRV9VTklDT0RFX0FHRV9QUk9QRVJUSUVTICovCisgIENS
X0dyYXBoZW1lX0NsdXN0ZXJfQnJlYWtfUHJlcGVuZCwKKyAgQ1JfR3JhcGhlbWVfQ2x1c3Rlcl9C
cmVha19DUiwKKyAgQ1JfR3JhcGhlbWVfQ2x1c3Rlcl9CcmVha19MRiwKKyAgQ1JfR3JhcGhlbWVf
Q2x1c3Rlcl9CcmVha19Db250cm9sLAorICBDUl9HcmFwaGVtZV9DbHVzdGVyX0JyZWFrX0V4dGVu
ZCwKKyAgQ1JfR3JhcGhlbWVfQ2x1c3Rlcl9CcmVha19SZWdpb25hbF9JbmRpY2F0b3IsCisgIENS
X0dyYXBoZW1lX0NsdXN0ZXJfQnJlYWtfU3BhY2luZ01hcmssCisgIENSX0dyYXBoZW1lX0NsdXN0
ZXJfQnJlYWtfTCwKKyAgQ1JfR3JhcGhlbWVfQ2x1c3Rlcl9CcmVha19WLAorICBDUl9HcmFwaGVt
ZV9DbHVzdGVyX0JyZWFrX1QsCisgIENSX0dyYXBoZW1lX0NsdXN0ZXJfQnJlYWtfTFYsCisgIENS
X0dyYXBoZW1lX0NsdXN0ZXJfQnJlYWtfTFZULAorICBDUl9HcmFwaGVtZV9DbHVzdGVyX0JyZWFr
X1pXSiwKKyAgQ1JfSW5fQmFzaWNfTGF0aW4sCisgIENSX0luX0xhdGluXzFfU3VwcGxlbWVudCwK
KyAgQ1JfSW5fTGF0aW5fRXh0ZW5kZWRfQSwKKyAgQ1JfSW5fTGF0aW5fRXh0ZW5kZWRfQiwKKyAg
Q1JfSW5fSVBBX0V4dGVuc2lvbnMsCisgIENSX0luX1NwYWNpbmdfTW9kaWZpZXJfTGV0dGVycywK
KyAgQ1JfSW5fQ29tYmluaW5nX0RpYWNyaXRpY2FsX01hcmtzLAorICBDUl9Jbl9HcmVla19hbmRf
Q29wdGljLAorICBDUl9Jbl9DeXJpbGxpYywKKyAgQ1JfSW5fQ3lyaWxsaWNfU3VwcGxlbWVudCwK
KyAgQ1JfSW5fQXJtZW5pYW4sCisgIENSX0luX0hlYnJldywKKyAgQ1JfSW5fQXJhYmljLAorICBD
Ul9Jbl9TeXJpYWMsCisgIENSX0luX0FyYWJpY19TdXBwbGVtZW50LAorICBDUl9Jbl9UaGFhbmEs
CisgIENSX0luX05LbywKKyAgQ1JfSW5fU2FtYXJpdGFuLAorICBDUl9Jbl9NYW5kYWljLAorICBD
Ul9Jbl9TeXJpYWNfU3VwcGxlbWVudCwKKyAgQ1JfSW5fQXJhYmljX0V4dGVuZGVkX0EsCisgIENS
X0luX0RldmFuYWdhcmksCisgIENSX0luX0JlbmdhbGksCisgIENSX0luX0d1cm11a2hpLAorICBD
Ul9Jbl9HdWphcmF0aSwKKyAgQ1JfSW5fT3JpeWEsCisgIENSX0luX1RhbWlsLAorICBDUl9Jbl9U
ZWx1Z3UsCisgIENSX0luX0thbm5hZGEsCisgIENSX0luX01hbGF5YWxhbSwKKyAgQ1JfSW5fU2lu
aGFsYSwKKyAgQ1JfSW5fVGhhaSwKKyAgQ1JfSW5fTGFvLAorICBDUl9Jbl9UaWJldGFuLAorICBD
Ul9Jbl9NeWFubWFyLAorICBDUl9Jbl9HZW9yZ2lhbiwKKyAgQ1JfSW5fSGFuZ3VsX0phbW8sCisg
IENSX0luX0V0aGlvcGljLAorICBDUl9Jbl9FdGhpb3BpY19TdXBwbGVtZW50LAorICBDUl9Jbl9D
aGVyb2tlZSwKKyAgQ1JfSW5fVW5pZmllZF9DYW5hZGlhbl9BYm9yaWdpbmFsX1N5bGxhYmljcywK
KyAgQ1JfSW5fT2doYW0sCisgIENSX0luX1J1bmljLAorICBDUl9Jbl9UYWdhbG9nLAorICBDUl9J
bl9IYW51bm9vLAorICBDUl9Jbl9CdWhpZCwKKyAgQ1JfSW5fVGFnYmFud2EsCisgIENSX0luX0to
bWVyLAorICBDUl9Jbl9Nb25nb2xpYW4sCisgIENSX0luX1VuaWZpZWRfQ2FuYWRpYW5fQWJvcmln
aW5hbF9TeWxsYWJpY3NfRXh0ZW5kZWQsCisgIENSX0luX0xpbWJ1LAorICBDUl9Jbl9UYWlfTGUs
CisgIENSX0luX05ld19UYWlfTHVlLAorICBDUl9Jbl9LaG1lcl9TeW1ib2xzLAorICBDUl9Jbl9C
dWdpbmVzZSwKKyAgQ1JfSW5fVGFpX1RoYW0sCisgIENSX0luX0NvbWJpbmluZ19EaWFjcml0aWNh
bF9NYXJrc19FeHRlbmRlZCwKKyAgQ1JfSW5fQmFsaW5lc2UsCisgIENSX0luX1N1bmRhbmVzZSwK
KyAgQ1JfSW5fQmF0YWssCisgIENSX0luX0xlcGNoYSwKKyAgQ1JfSW5fT2xfQ2hpa2ksCisgIENS
X0luX0N5cmlsbGljX0V4dGVuZGVkX0MsCisgIENSX0luX0dlb3JnaWFuX0V4dGVuZGVkLAorICBD
Ul9Jbl9TdW5kYW5lc2VfU3VwcGxlbWVudCwKKyAgQ1JfSW5fVmVkaWNfRXh0ZW5zaW9ucywKKyAg
Q1JfSW5fUGhvbmV0aWNfRXh0ZW5zaW9ucywKKyAgQ1JfSW5fUGhvbmV0aWNfRXh0ZW5zaW9uc19T
dXBwbGVtZW50LAorICBDUl9Jbl9Db21iaW5pbmdfRGlhY3JpdGljYWxfTWFya3NfU3VwcGxlbWVu
dCwKKyAgQ1JfSW5fTGF0aW5fRXh0ZW5kZWRfQWRkaXRpb25hbCwKKyAgQ1JfSW5fR3JlZWtfRXh0
ZW5kZWQsCisgIENSX0luX0dlbmVyYWxfUHVuY3R1YXRpb24sCisgIENSX0luX1N1cGVyc2NyaXB0
c19hbmRfU3Vic2NyaXB0cywKKyAgQ1JfSW5fQ3VycmVuY3lfU3ltYm9scywKKyAgQ1JfSW5fQ29t
YmluaW5nX0RpYWNyaXRpY2FsX01hcmtzX2Zvcl9TeW1ib2xzLAorICBDUl9Jbl9MZXR0ZXJsaWtl
X1N5bWJvbHMsCisgIENSX0luX051bWJlcl9Gb3JtcywKKyAgQ1JfSW5fQXJyb3dzLAorICBDUl9J
bl9NYXRoZW1hdGljYWxfT3BlcmF0b3JzLAorICBDUl9Jbl9NaXNjZWxsYW5lb3VzX1RlY2huaWNh
bCwKKyAgQ1JfSW5fQ29udHJvbF9QaWN0dXJlcywKKyAgQ1JfSW5fT3B0aWNhbF9DaGFyYWN0ZXJf
UmVjb2duaXRpb24sCisgIENSX0luX0VuY2xvc2VkX0FscGhhbnVtZXJpY3MsCisgIENSX0luX0Jv
eF9EcmF3aW5nLAorICBDUl9Jbl9CbG9ja19FbGVtZW50cywKKyAgQ1JfSW5fR2VvbWV0cmljX1No
YXBlcywKKyAgQ1JfSW5fTWlzY2VsbGFuZW91c19TeW1ib2xzLAorICBDUl9Jbl9EaW5nYmF0cywK
KyAgQ1JfSW5fTWlzY2VsbGFuZW91c19NYXRoZW1hdGljYWxfU3ltYm9sc19BLAorICBDUl9Jbl9T
dXBwbGVtZW50YWxfQXJyb3dzX0EsCisgIENSX0luX0JyYWlsbGVfUGF0dGVybnMsCisgIENSX0lu
X1N1cHBsZW1lbnRhbF9BcnJvd3NfQiwKKyAgQ1JfSW5fTWlzY2VsbGFuZW91c19NYXRoZW1hdGlj
YWxfU3ltYm9sc19CLAorICBDUl9Jbl9TdXBwbGVtZW50YWxfTWF0aGVtYXRpY2FsX09wZXJhdG9y
cywKKyAgQ1JfSW5fTWlzY2VsbGFuZW91c19TeW1ib2xzX2FuZF9BcnJvd3MsCisgIENSX0luX0ds
YWdvbGl0aWMsCisgIENSX0luX0xhdGluX0V4dGVuZGVkX0MsCisgIENSX0luX0NvcHRpYywKKyAg
Q1JfSW5fR2VvcmdpYW5fU3VwcGxlbWVudCwKKyAgQ1JfSW5fVGlmaW5hZ2gsCisgIENSX0luX0V0
aGlvcGljX0V4dGVuZGVkLAorICBDUl9Jbl9DeXJpbGxpY19FeHRlbmRlZF9BLAorICBDUl9Jbl9T
dXBwbGVtZW50YWxfUHVuY3R1YXRpb24sCisgIENSX0luX0NKS19SYWRpY2Fsc19TdXBwbGVtZW50
LAorICBDUl9Jbl9LYW5neGlfUmFkaWNhbHMsCisgIENSX0luX0lkZW9ncmFwaGljX0Rlc2NyaXB0
aW9uX0NoYXJhY3RlcnMsCisgIENSX0luX0NKS19TeW1ib2xzX2FuZF9QdW5jdHVhdGlvbiwKKyAg
Q1JfSW5fSGlyYWdhbmEsCisgIENSX0luX0thdGFrYW5hLAorICBDUl9Jbl9Cb3BvbW9mbywKKyAg
Q1JfSW5fSGFuZ3VsX0NvbXBhdGliaWxpdHlfSmFtbywKKyAgQ1JfSW5fS2FuYnVuLAorICBDUl9J
bl9Cb3BvbW9mb19FeHRlbmRlZCwKKyAgQ1JfSW5fQ0pLX1N0cm9rZXMsCisgIENSX0luX0thdGFr
YW5hX1Bob25ldGljX0V4dGVuc2lvbnMsCisgIENSX0luX0VuY2xvc2VkX0NKS19MZXR0ZXJzX2Fu
ZF9Nb250aHMsCisgIENSX0luX0NKS19Db21wYXRpYmlsaXR5LAorICBDUl9Jbl9DSktfVW5pZmll
ZF9JZGVvZ3JhcGhzX0V4dGVuc2lvbl9BLAorICBDUl9Jbl9ZaWppbmdfSGV4YWdyYW1fU3ltYm9s
cywKKyAgQ1JfSW5fQ0pLX1VuaWZpZWRfSWRlb2dyYXBocywKKyAgQ1JfSW5fWWlfU3lsbGFibGVz
LAorICBDUl9Jbl9ZaV9SYWRpY2FscywKKyAgQ1JfSW5fTGlzdSwKKyAgQ1JfSW5fVmFpLAorICBD
Ul9Jbl9DeXJpbGxpY19FeHRlbmRlZF9CLAorICBDUl9Jbl9CYW11bSwKKyAgQ1JfSW5fTW9kaWZp
ZXJfVG9uZV9MZXR0ZXJzLAorICBDUl9Jbl9MYXRpbl9FeHRlbmRlZF9ELAorICBDUl9Jbl9TeWxv
dGlfTmFncmksCisgIENSX0luX0NvbW1vbl9JbmRpY19OdW1iZXJfRm9ybXMsCisgIENSX0luX1Bo
YWdzX3BhLAorICBDUl9Jbl9TYXVyYXNodHJhLAorICBDUl9Jbl9EZXZhbmFnYXJpX0V4dGVuZGVk
LAorICBDUl9Jbl9LYXlhaF9MaSwKKyAgQ1JfSW5fUmVqYW5nLAorICBDUl9Jbl9IYW5ndWxfSmFt
b19FeHRlbmRlZF9BLAorICBDUl9Jbl9KYXZhbmVzZSwKKyAgQ1JfSW5fTXlhbm1hcl9FeHRlbmRl
ZF9CLAorICBDUl9Jbl9DaGFtLAorICBDUl9Jbl9NeWFubWFyX0V4dGVuZGVkX0EsCisgIENSX0lu
X1RhaV9WaWV0LAorICBDUl9Jbl9NZWV0ZWlfTWF5ZWtfRXh0ZW5zaW9ucywKKyAgQ1JfSW5fRXRo
aW9waWNfRXh0ZW5kZWRfQSwKKyAgQ1JfSW5fTGF0aW5fRXh0ZW5kZWRfRSwKKyAgQ1JfSW5fQ2hl
cm9rZWVfU3VwcGxlbWVudCwKKyAgQ1JfSW5fTWVldGVpX01heWVrLAorICBDUl9Jbl9IYW5ndWxf
U3lsbGFibGVzLAorICBDUl9Jbl9IYW5ndWxfSmFtb19FeHRlbmRlZF9CLAorICBDUl9Jbl9IaWdo
X1N1cnJvZ2F0ZXMsCisgIENSX0luX0hpZ2hfUHJpdmF0ZV9Vc2VfU3Vycm9nYXRlcywKKyAgQ1Jf
SW5fTG93X1N1cnJvZ2F0ZXMsCisgIENSX0luX1ByaXZhdGVfVXNlX0FyZWEsCisgIENSX0luX0NK
S19Db21wYXRpYmlsaXR5X0lkZW9ncmFwaHMsCisgIENSX0luX0FscGhhYmV0aWNfUHJlc2VudGF0
aW9uX0Zvcm1zLAorICBDUl9Jbl9BcmFiaWNfUHJlc2VudGF0aW9uX0Zvcm1zX0EsCisgIENSX0lu
X1ZhcmlhdGlvbl9TZWxlY3RvcnMsCisgIENSX0luX1ZlcnRpY2FsX0Zvcm1zLAorICBDUl9Jbl9D
b21iaW5pbmdfSGFsZl9NYXJrcywKKyAgQ1JfSW5fQ0pLX0NvbXBhdGliaWxpdHlfRm9ybXMsCisg
IENSX0luX1NtYWxsX0Zvcm1fVmFyaWFudHMsCisgIENSX0luX0FyYWJpY19QcmVzZW50YXRpb25f
Rm9ybXNfQiwKKyAgQ1JfSW5fSGFsZndpZHRoX2FuZF9GdWxsd2lkdGhfRm9ybXMsCisgIENSX0lu
X1NwZWNpYWxzLAorICBDUl9Jbl9MaW5lYXJfQl9TeWxsYWJhcnksCisgIENSX0luX0xpbmVhcl9C
X0lkZW9ncmFtcywKKyAgQ1JfSW5fQWVnZWFuX051bWJlcnMsCisgIENSX0luX0FuY2llbnRfR3Jl
ZWtfTnVtYmVycywKKyAgQ1JfSW5fQW5jaWVudF9TeW1ib2xzLAorICBDUl9Jbl9QaGFpc3Rvc19E
aXNjLAorICBDUl9Jbl9MeWNpYW4sCisgIENSX0luX0NhcmlhbiwKKyAgQ1JfSW5fQ29wdGljX0Vw
YWN0X051bWJlcnMsCisgIENSX0luX09sZF9JdGFsaWMsCisgIENSX0luX0dvdGhpYywKKyAgQ1Jf
SW5fT2xkX1Blcm1pYywKKyAgQ1JfSW5fVWdhcml0aWMsCisgIENSX0luX09sZF9QZXJzaWFuLAor
ICBDUl9Jbl9EZXNlcmV0LAorICBDUl9Jbl9TaGF2aWFuLAorICBDUl9Jbl9Pc21hbnlhLAorICBD
Ul9Jbl9Pc2FnZSwKKyAgQ1JfSW5fRWxiYXNhbiwKKyAgQ1JfSW5fQ2F1Y2FzaWFuX0FsYmFuaWFu
LAorICBDUl9Jbl9MaW5lYXJfQSwKKyAgQ1JfSW5fQ3lwcmlvdF9TeWxsYWJhcnksCisgIENSX0lu
X0ltcGVyaWFsX0FyYW1haWMsCisgIENSX0luX1BhbG15cmVuZSwKKyAgQ1JfSW5fTmFiYXRhZWFu
LAorICBDUl9Jbl9IYXRyYW4sCisgIENSX0luX1Bob2VuaWNpYW4sCisgIENSX0luX0x5ZGlhbiwK
KyAgQ1JfSW5fTWVyb2l0aWNfSGllcm9nbHlwaHMsCisgIENSX0luX01lcm9pdGljX0N1cnNpdmUs
CisgIENSX0luX0toYXJvc2h0aGksCisgIENSX0luX09sZF9Tb3V0aF9BcmFiaWFuLAorICBDUl9J
bl9PbGRfTm9ydGhfQXJhYmlhbiwKKyAgQ1JfSW5fTWFuaWNoYWVhbiwKKyAgQ1JfSW5fQXZlc3Rh
biwKKyAgQ1JfSW5fSW5zY3JpcHRpb25hbF9QYXJ0aGlhbiwKKyAgQ1JfSW5fSW5zY3JpcHRpb25h
bF9QYWhsYXZpLAorICBDUl9Jbl9Qc2FsdGVyX1BhaGxhdmksCisgIENSX0luX09sZF9UdXJraWMs
CisgIENSX0luX09sZF9IdW5nYXJpYW4sCisgIENSX0luX0hhbmlmaV9Sb2hpbmd5YSwKKyAgQ1Jf
SW5fUnVtaV9OdW1lcmFsX1N5bWJvbHMsCisgIENSX0luX09sZF9Tb2dkaWFuLAorICBDUl9Jbl9T
b2dkaWFuLAorICBDUl9Jbl9FbHltYWljLAorICBDUl9Jbl9CcmFobWksCisgIENSX0luX0thaXRo
aSwKKyAgQ1JfSW5fU29yYV9Tb21wZW5nLAorICBDUl9Jbl9DaGFrbWEsCisgIENSX0luX01haGFq
YW5pLAorICBDUl9Jbl9TaGFyYWRhLAorICBDUl9Jbl9TaW5oYWxhX0FyY2hhaWNfTnVtYmVycywK
KyAgQ1JfSW5fS2hvamtpLAorICBDUl9Jbl9NdWx0YW5pLAorICBDUl9Jbl9LaHVkYXdhZGksCisg
IENSX0luX0dyYW50aGEsCisgIENSX0luX05ld2EsCisgIENSX0luX1Rpcmh1dGEsCisgIENSX0lu
X1NpZGRoYW0sCisgIENSX0luX01vZGksCisgIENSX0luX01vbmdvbGlhbl9TdXBwbGVtZW50LAor
ICBDUl9Jbl9UYWtyaSwKKyAgQ1JfSW5fQWhvbSwKKyAgQ1JfSW5fRG9ncmEsCisgIENSX0luX1dh
cmFuZ19DaXRpLAorICBDUl9Jbl9OYW5kaW5hZ2FyaSwKKyAgQ1JfSW5fWmFuYWJhemFyX1NxdWFy
ZSwKKyAgQ1JfSW5fU295b21ibywKKyAgQ1JfSW5fUGF1X0Npbl9IYXUsCisgIENSX0luX0JoYWlr
c3VraSwKKyAgQ1JfSW5fTWFyY2hlbiwKKyAgQ1JfSW5fTWFzYXJhbV9Hb25kaSwKKyAgQ1JfSW5f
R3VuamFsYV9Hb25kaSwKKyAgQ1JfSW5fTWFrYXNhciwKKyAgQ1JfSW5fVGFtaWxfU3VwcGxlbWVu
dCwKKyAgQ1JfSW5fQ3VuZWlmb3JtLAorICBDUl9Jbl9DdW5laWZvcm1fTnVtYmVyc19hbmRfUHVu
Y3R1YXRpb24sCisgIENSX0luX0Vhcmx5X0R5bmFzdGljX0N1bmVpZm9ybSwKKyAgQ1JfSW5fRWd5
cHRpYW5fSGllcm9nbHlwaHMsCisgIENSX0luX0VneXB0aWFuX0hpZXJvZ2x5cGhfRm9ybWF0X0Nv
bnRyb2xzLAorICBDUl9Jbl9BbmF0b2xpYW5fSGllcm9nbHlwaHMsCisgIENSX0luX0JhbXVtX1N1
cHBsZW1lbnQsCisgIENSX0luX01ybywKKyAgQ1JfSW5fQmFzc2FfVmFoLAorICBDUl9Jbl9QYWhh
d2hfSG1vbmcsCisgIENSX0luX01lZGVmYWlkcmluLAorICBDUl9Jbl9NaWFvLAorICBDUl9Jbl9J
ZGVvZ3JhcGhpY19TeW1ib2xzX2FuZF9QdW5jdHVhdGlvbiwKKyAgQ1JfSW5fVGFuZ3V0LAorICBD
Ul9Jbl9UYW5ndXRfQ29tcG9uZW50cywKKyAgQ1JfSW5fS2FuYV9TdXBwbGVtZW50LAorICBDUl9J
bl9LYW5hX0V4dGVuZGVkX0EsCisgIENSX0luX1NtYWxsX0thbmFfRXh0ZW5zaW9uLAorICBDUl9J
bl9OdXNodSwKKyAgQ1JfSW5fRHVwbG95YW4sCisgIENSX0luX1Nob3J0aGFuZF9Gb3JtYXRfQ29u
dHJvbHMsCisgIENSX0luX0J5emFudGluZV9NdXNpY2FsX1N5bWJvbHMsCisgIENSX0luX011c2lj
YWxfU3ltYm9scywKKyAgQ1JfSW5fQW5jaWVudF9HcmVla19NdXNpY2FsX05vdGF0aW9uLAorICBD
Ul9Jbl9NYXlhbl9OdW1lcmFscywKKyAgQ1JfSW5fVGFpX1h1YW5fSmluZ19TeW1ib2xzLAorICBD
Ul9Jbl9Db3VudGluZ19Sb2RfTnVtZXJhbHMsCisgIENSX0luX01hdGhlbWF0aWNhbF9BbHBoYW51
bWVyaWNfU3ltYm9scywKKyAgQ1JfSW5fU3V0dG9uX1NpZ25Xcml0aW5nLAorICBDUl9Jbl9HbGFn
b2xpdGljX1N1cHBsZW1lbnQsCisgIENSX0luX055aWFrZW5nX1B1YWNodWVfSG1vbmcsCisgIENS
X0luX1dhbmNobywKKyAgQ1JfSW5fTWVuZGVfS2lrYWt1aSwKKyAgQ1JfSW5fQWRsYW0sCisgIENS
X0luX0luZGljX1NpeWFxX051bWJlcnMsCisgIENSX0luX090dG9tYW5fU2l5YXFfTnVtYmVycywK
KyAgQ1JfSW5fQXJhYmljX01hdGhlbWF0aWNhbF9BbHBoYWJldGljX1N5bWJvbHMsCisgIENSX0lu
X01haGpvbmdfVGlsZXMsCisgIENSX0luX0RvbWlub19UaWxlcywKKyAgQ1JfSW5fUGxheWluZ19D
YXJkcywKKyAgQ1JfSW5fRW5jbG9zZWRfQWxwaGFudW1lcmljX1N1cHBsZW1lbnQsCisgIENSX0lu
X0VuY2xvc2VkX0lkZW9ncmFwaGljX1N1cHBsZW1lbnQsCisgIENSX0luX01pc2NlbGxhbmVvdXNf
U3ltYm9sc19hbmRfUGljdG9ncmFwaHMsCisgIENSX0luX0Vtb3RpY29ucywKKyAgQ1JfSW5fT3Ju
YW1lbnRhbF9EaW5nYmF0cywKKyAgQ1JfSW5fVHJhbnNwb3J0X2FuZF9NYXBfU3ltYm9scywKKyAg
Q1JfSW5fQWxjaGVtaWNhbF9TeW1ib2xzLAorICBDUl9Jbl9HZW9tZXRyaWNfU2hhcGVzX0V4dGVu
ZGVkLAorICBDUl9Jbl9TdXBwbGVtZW50YWxfQXJyb3dzX0MsCisgIENSX0luX1N1cHBsZW1lbnRh
bF9TeW1ib2xzX2FuZF9QaWN0b2dyYXBocywKKyAgQ1JfSW5fQ2hlc3NfU3ltYm9scywKKyAgQ1Jf
SW5fU3ltYm9sc19hbmRfUGljdG9ncmFwaHNfRXh0ZW5kZWRfQSwKKyAgQ1JfSW5fQ0pLX1VuaWZp
ZWRfSWRlb2dyYXBoc19FeHRlbnNpb25fQiwKKyAgQ1JfSW5fQ0pLX1VuaWZpZWRfSWRlb2dyYXBo
c19FeHRlbnNpb25fQywKKyAgQ1JfSW5fQ0pLX1VuaWZpZWRfSWRlb2dyYXBoc19FeHRlbnNpb25f
RCwKKyAgQ1JfSW5fQ0pLX1VuaWZpZWRfSWRlb2dyYXBoc19FeHRlbnNpb25fRSwKKyAgQ1JfSW5f
Q0pLX1VuaWZpZWRfSWRlb2dyYXBoc19FeHRlbnNpb25fRiwKKyAgQ1JfSW5fQ0pLX0NvbXBhdGli
aWxpdHlfSWRlb2dyYXBoc19TdXBwbGVtZW50LAorICBDUl9Jbl9UYWdzLAorICBDUl9Jbl9WYXJp
YXRpb25fU2VsZWN0b3JzX1N1cHBsZW1lbnQsCisgIENSX0luX1N1cHBsZW1lbnRhcnlfUHJpdmF0
ZV9Vc2VfQXJlYV9BLAorICBDUl9Jbl9TdXBwbGVtZW50YXJ5X1ByaXZhdGVfVXNlX0FyZWFfQiwK
KyAgQ1JfSW5fTm9fQmxvY2ssCisjZW5kaWYgLyogVVNFX1VOSUNPREVfUFJPUEVSVElFUyAqLwor
fTsKK3N0cnVjdCB1bmluYW1lMmN0eXBlX3N0cnVjdCB7CisgIHNob3J0IG5hbWU7CisgIHVuc2ln
bmVkIHNob3J0IGN0eXBlOworfTsKKyNkZWZpbmUgdW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyKSBv
ZmZzZXRvZihzdHJ1Y3QgdW5pbmFtZTJjdHlwZV9wb29sX3QsIHVuaW5hbWUyY3R5cGVfcG9vbF8j
I3N0cikKKworc3RhdGljIGNvbnN0IHN0cnVjdCB1bmluYW1lMmN0eXBlX3N0cnVjdCAqdW5pbmFt
ZTJjdHlwZV9wKAorI2lmICEoMSswKSAvKiBpZiBBTlNJLCBvbGQgc3R5bGUgbm90IHRvIGNvbmZs
aWN0IHdpdGggZ2VuZXJhdGVkIHByb3RvdHlwZSAqLworICAgIGNvbnN0IGNoYXIgKiwgdW5zaWdu
ZWQgaW50CisjZW5kaWYKKyk7CisKKyNpZm5kZWYgVVNFX1VOSUNPREVfUFJPUEVSVElFUworI2Rl
ZmluZSBUT1RBTF9LRVlXT1JEUyAxNQorI2RlZmluZSBNSU5fV09SRF9MRU5HVEggNAorI2RlZmlu
ZSBNQVhfV09SRF9MRU5HVEggMTEKKyNkZWZpbmUgTUlOX0hBU0hfVkFMVUUgNgorI2RlZmluZSBN
QVhfSEFTSF9WQUxVRSAyMAorLyogbWF4aW11bSBrZXkgcmFuZ2UgPSAxNSwgZHVwbGljYXRlcyA9
IDAgKi8KKyNlbHNlIC8qIFVTRV9VTklDT0RFX1BST1BFUlRJRVMgKi8KKyNpZm5kZWYgVVNFX1VO
SUNPREVfQUdFX1BST1BFUlRJRVMKKyNkZWZpbmUgVE9UQUxfS0VZV09SRFMgODE0CisjZWxzZSAv
KiBVU0VfVU5JQ09ERV9BR0VfUFJPUEVSVElFUyAqLworI2RlZmluZSBUT1RBTF9LRVlXT1JEUyA4
MzYKKyNlbmRpZiAvKiBVU0VfVU5JQ09ERV9BR0VfUFJPUEVSVElFUyAqLworI2RlZmluZSBNSU5f
V09SRF9MRU5HVEggMQorI2RlZmluZSBNQVhfV09SRF9MRU5HVEggNDQKKyNkZWZpbmUgTUlOX0hB
U0hfVkFMVUUgMTEKKyNkZWZpbmUgTUFYX0hBU0hfVkFMVUUgNjA5OAorLyogbWF4aW11bSBrZXkg
cmFuZ2UgPSA2MDg4LCBkdXBsaWNhdGVzID0gMCAqLworI2VuZGlmIC8qIFVTRV9VTklDT0RFX1BS
T1BFUlRJRVMgKi8KKworI2lmZGVmIF9fR05VQ19fCitfX2lubGluZQorI2Vsc2UKKyNpZmRlZiBf
X2NwbHVzcGx1cworaW5saW5lCisjZW5kaWYKKyNlbmRpZgorc3RhdGljIHVuc2lnbmVkIGludAor
dW5pbmFtZTJjdHlwZV9oYXNoIChyZWdpc3RlciBjb25zdCBjaGFyICpzdHIsIHJlZ2lzdGVyIHNp
emVfdCBsZW4pCit7CisjaWZuZGVmIFVTRV9VTklDT0RFX1BST1BFUlRJRVMKKyAgc3RhdGljIGNv
bnN0IHVuc2lnbmVkIGNoYXIgYXNzb192YWx1ZXNbXSA9CisjZWxzZSAvKiBVU0VfVU5JQ09ERV9Q
Uk9QRVJUSUVTICovCisgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBzaG9ydCBhc3NvX3ZhbHVlc1td
ID0KKyNlbmRpZiAvKiBVU0VfVU5JQ09ERV9QUk9QRVJUSUVTICovCisgICAgeworI2lmbmRlZiBV
U0VfVU5JQ09ERV9QUk9QRVJUSUVTCisgICAgICAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwg
MjEsIDIxLCAyMSwKKyAgICAgIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIx
LAorICAgICAgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsCisgICAgICAy
MSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwKKyAgICAgIDIxLCAyMSwgMjEs
IDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLAorICAgICAgMjEsIDIxLCAyMSwgMjEsIDIxLCAy
MSwgMjEsIDIxLCAyMSwgMjEsCisgICAgICAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEs
IDIxLCAyMSwKKyAgICAgIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLAor
ICAgICAgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsCisgICAgICAyMSwg
MjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgIDMsIDEyLCAgNSwKKyAgICAgICA0LCAyMSwgMjEsIDEw
LCAyMSwgIDEsIDIxLCAyMSwgMTEsIDIxLAorICAgICAgIDIsICAxLCAgMSwgMjEsICAxLCAgNywg
IDQsICA2LCAyMSwgIDEsCisgICAgICAgNCwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEKKyNl
bHNlIC8qIFVTRV9VTklDT0RFX1BST1BFUlRJRVMgKi8KKyAgICAgIDYwOTksIDYwOTksIDYwOTks
IDYwOTksIDYwOTksIDYwOTksIDYwOTksIDYwOTksIDYwOTksIDYwOTksCisgICAgICA2MDk5LCA2
MDk5LCA2MDk5LCA2MDk5LCA2MDk5LCA2MDk5LCA2MDk5LCA2MDk5LCA2MDk5LCA2MDk5LAorICAg
ICAgNjA5OSwgNjA5OSwgNjA5OSwgNjA5OSwgNjA5OSwgNjA5OSwgNjA5OSwgNjA5OSwgNjA5OSwg
NjA5OSwKKyAgICAgIDYwOTksIDYwOTksIDYwOTksIDYwOTksIDYwOTksIDYwOTksIDYwOTksIDYw
OTksIDYwOTksIDYwOTksCisjaWZuZGVmIFVTRV9VTklDT0RFX0FHRV9QUk9QRVJUSUVTCisgICAg
ICA2MDk5LCA2MDk5LCA2MDk5LCA2MDk5LCA2MDk5LCA2MDk5LCA2MDk5LCA2MDk5LCA2MDk5LCA2
MDk5LAorICAgICAgNjA5OSwgNjA5OSwgNjA5OSwgNjA5OSwgNjA5OSwgNjA5OSwgNjA5OSwgNjA5
OSwgNjA5OSwgNjA5OSwKKyNlbHNlIC8qIFVTRV9VTklDT0RFX0FHRV9QUk9QRVJUSUVTICovCisg
ICAgICA2MDk5LCA2MDk5LCA2MDk5LCA2MDk5LCA2MDk5LCA2MDk5LCAgIDE3LCA2MDk5LCAgICAz
LCAgICAxLAorICAgICAgICAgNCwgICAxMywgICAgMywgICAyMiwgICAgOSwgICAxNiwgICAxMiwg
ICAgNSwgNjA5OSwgNjA5OSwKKyNlbmRpZiAvKiBVU0VfVU5JQ09ERV9BR0VfUFJPUEVSVElFUyAq
LworICAgICAgNjA5OSwgNjA5OSwgNjA5OSwgNjA5OSwgNjA5OSwgNjA5OSwgNjA5OSwgNjA5OSwg
NjA5OSwgNjA5OSwKKyAgICAgIDYwOTksIDYwOTksIDYwOTksIDYwOTksIDYwOTksIDYwOTksIDYw
OTksIDYwOTksIDYwOTksIDYwOTksCisgICAgICA2MDk5LCA2MDk5LCA2MDk5LCA2MDk5LCA2MDk5
LCA2MDk5LCA2MDk5LCA2MDk5LCA2MDk5LCA2MDk5LAorICAgICAgNjA5OSwgNjA5OSwgNjA5OSwg
NjA5OSwgNjA5OSwgNjA5OSwgNjA5OSwgICAgMSwgMTQyNSwgIDExMywKKyAgICAgICA0MzcsICAg
MzcsIDEwMjMsIDEwNzEsIDEwNTEsICAgIDQsIDE0OTIsICAgIDksICA1MDAsICAgODgsCisgICAg
ICAgICA4LCAgIDE4LCAxMzcxLCAgNzk3LCAgIDU0LCAgMjAzLCAgMzEwLCAgNjE5LCAxNjA4LCAg
NjAzLAorICAgICAgIDM2NCwgMTQzOCwgICAyMCwgICAgMSwgICAgMywgNjA5OSwgNjA5OSwgNjA5
OSwgNjA5OSwgNjA5OQorI2VuZGlmIC8qIFVTRV9VTklDT0RFX1BST1BFUlRJRVMgKi8KKyAgICB9
OworI2lmbmRlZiBVU0VfVU5JQ09ERV9QUk9QRVJUSUVTCisgIHJldHVybiBsZW4gKyBhc3NvX3Zh
bHVlc1sodW5zaWduZWQgY2hhcilzdHJbMl1dICsgYXNzb192YWx1ZXNbKHVuc2lnbmVkIGNoYXIp
c3RyWzBdXTsKKyNlbHNlIC8qIFVTRV9VTklDT0RFX1BST1BFUlRJRVMgKi8KKyAgcmVnaXN0ZXIg
dW5zaWduZWQgaW50IGh2YWwgPSAodW5zaWduZWQgaW50KWxlbjsKKworICBzd2l0Y2ggKGh2YWwp
CisgICAgeworICAgICAgZGVmYXVsdDoKKyAgICAgICAgaHZhbCArPSBhc3NvX3ZhbHVlc1sodW5z
aWduZWQgY2hhcilzdHJbMTVdXTsKKyAgICAgIC8qRkFMTFRIUk9VR0gqLworICAgICAgY2FzZSAx
NToKKyAgICAgIGNhc2UgMTQ6CisgICAgICBjYXNlIDEzOgorICAgICAgY2FzZSAxMjoKKyAgICAg
ICAgaHZhbCArPSBhc3NvX3ZhbHVlc1sodW5zaWduZWQgY2hhcilzdHJbMTFdXTsKKyAgICAgIC8q
RkFMTFRIUk9VR0gqLworICAgICAgY2FzZSAxMToKKyAgICAgIGNhc2UgMTA6CisgICAgICBjYXNl
IDk6CisgICAgICBjYXNlIDg6CisgICAgICBjYXNlIDc6CisgICAgICBjYXNlIDY6CisgICAgICAg
IGh2YWwgKz0gYXNzb192YWx1ZXNbKHVuc2lnbmVkIGNoYXIpc3RyWzVdXTsKKyAgICAgIC8qRkFM
TFRIUk9VR0gqLworICAgICAgY2FzZSA1OgorICAgICAgICBodmFsICs9IGFzc29fdmFsdWVzWyh1
bnNpZ25lZCBjaGFyKXN0cls0XV07CisgICAgICAvKkZBTExUSFJPVUdIKi8KKyAgICAgIGNhc2Ug
NDoKKyAgICAgIGNhc2UgMzoKKyAgICAgICAgaHZhbCArPSBhc3NvX3ZhbHVlc1sodW5zaWduZWQg
Y2hhcilzdHJbMl1dOworICAgICAgLypGQUxMVEhST1VHSCovCisgICAgICBjYXNlIDI6CisgICAg
ICAgIGh2YWwgKz0gYXNzb192YWx1ZXNbKHVuc2lnbmVkIGNoYXIpc3RyWzFdXTsKKyAgICAgIC8q
RkFMTFRIUk9VR0gqLworICAgICAgY2FzZSAxOgorICAgICAgICBodmFsICs9IGFzc29fdmFsdWVz
Wyh1bnNpZ25lZCBjaGFyKXN0clswXSsyXTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorICByZXR1
cm4gaHZhbCArIGFzc29fdmFsdWVzWyh1bnNpZ25lZCBjaGFyKXN0cltsZW4gLSAxXV07CisjZW5k
aWYgLyogVVNFX1VOSUNPREVfUFJPUEVSVElFUyAqLworfQorCitzdHJ1Y3QgdW5pbmFtZTJjdHlw
ZV9wb29sX3QKKyAgeworI2lmbmRlZiBVU0VfVU5JQ09ERV9QUk9QRVJUSUVTCisgICAgY2hhciB1
bmluYW1lMmN0eXBlX3Bvb2xfc3RyNltzaXplb2YoIndvcmQiKV07CisgICAgY2hhciB1bmluYW1l
MmN0eXBlX3Bvb2xfc3RyN1tzaXplb2YoInByaW50IildOworICAgIGNoYXIgdW5pbmFtZTJjdHlw
ZV9wb29sX3N0cjhbc2l6ZW9mKCJwdW5jdCIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9v
bF9zdHI5W3NpemVvZigiYWxwaGEiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3Ry
MTBbc2l6ZW9mKCJhbG51bSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxMVtz
aXplb2YoInhkaWdpdCIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxMltzaXpl
b2YoInVwcGVyIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjEzW3NpemVvZigi
YXNjaWkiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTRbc2l6ZW9mKCJjbnRy
bCIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxNVtzaXplb2YoInNwYWNlIild
OworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjE2W3NpemVvZigieHBvc2l4cHVuY3Qi
KV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTdbc2l6ZW9mKCJsb3dlciIpXTsK
KyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxOFtzaXplb2YoImdyYXBoIildOworICAg
IGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjE5W3NpemVvZigiZGlnaXQiKV07CisgICAgY2hh
ciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMjBbc2l6ZW9mKCJibGFuayIpXTsKKyNlbHNlIC8qIFVT
RV9VTklDT0RFX1BST1BFUlRJRVMgKi8KKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIx
MVtzaXplb2YoInlpIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjE3W3NpemVv
ZigieWlpaSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIyMltzaXplb2YoImxh
bmEiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMjRbc2l6ZW9mKCJ6IildOwor
ICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjI1W3NpemVvZigibGluYSIpXTsKKyAgICBj
aGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIzM1tzaXplb2YoIm1ha2EiKV07CisgICAgY2hhciB1
bmluYW1lMmN0eXBlX3Bvb2xfc3RyMzVbc2l6ZW9mKCJtYW5pIildOworICAgIGNoYXIgdW5pbmFt
ZTJjdHlwZV9wb29sX3N0cjM2W3NpemVvZigibW4iKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBl
X3Bvb2xfc3RyNDVbc2l6ZW9mKCJtaWFvIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29s
X3N0cjQ2W3NpemVvZigibG8iKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyNDdb
c2l6ZW9mKCJjaSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHI0OFtzaXplb2Yo
ImxhbyIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHI0OVtzaXplb2YoImxhb28i
KV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyNTJbc2l6ZW9mKCJpbmthbm5hZGEi
KV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyNTVbc2l6ZW9mKCJjbiIpXTsKKyAg
ICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHI2NFtzaXplb2YoInBpIildOworICAgIGNoYXIg
dW5pbmFtZTJjdHlwZV9wb29sX3N0cjY2W3NpemVvZigiaW5ua28iKV07CisgICAgY2hhciB1bmlu
YW1lMmN0eXBlX3Bvb2xfc3RyNjdbc2l6ZW9mKCJ6enp6IildOworICAgIGNoYXIgdW5pbmFtZTJj
dHlwZV9wb29sX3N0cjcxW3NpemVvZigiZ3JhbiIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVf
cG9vbF9zdHI3NVtzaXplb2YoImNvIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0
cjgzW3NpemVvZigibGluZWFyYSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHI4
NltzaXplb2YoIm1hcmsiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyOTJbc2l6
ZW9mKCJwbyIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHI5NFtzaXplb2YoIm1l
IildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjEwMFtzaXplb2YoImNhcmkiKV07
CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTAxW3NpemVvZigiaW5raGFyb3NodGhp
IildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjEwMltzaXplb2YoImthbmEiKV07
CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTAzW3NpemVvZigibG9lIildOworICAg
IGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjEwN1tzaXplb2YoIm0iKV07CisgICAgY2hhciB1
bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTA4W3NpemVvZigiZ3JlayIpXTsKKyAgICBjaGFyIHVuaW5h
bWUyY3R5cGVfcG9vbF9zdHIxMTFbc2l6ZW9mKCJtcm8iKV07CisgICAgY2hhciB1bmluYW1lMmN0
eXBlX3Bvb2xfc3RyMTEyW3NpemVvZigibXJvbyIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVf
cG9vbF9zdHIxMTVbc2l6ZW9mKCJjYXJpYW4iKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bv
b2xfc3RyMTE3W3NpemVvZigiZ2VvciIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9z
dHIxMThbc2l6ZW9mKCJncmVlayIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIx
MjJbc2l6ZW9mKCJnb25tIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjEyOVtz
aXplb2YoIm1lbmRla2lrYWt1aSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIx
MzBbc2l6ZW9mKCJwZSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxMzFbc2l6
ZW9mKCJtZXJvIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjEzNFtzaXplb2Yo
Imlub3NtYW55YSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxMzlbc2l6ZW9m
KCJjYWttIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjE0NVtzaXplb2YoImlu
bWFuaWNoYWVhbiIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxNDZbc2l6ZW9m
KCJpbm1ybyIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxNDhbc2l6ZW9mKCJp
bm1pYW8iKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTQ5W3NpemVvZigiaW5j
aGFrbWEiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTUxW3NpemVvZigiYyIp
XTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxNTJbc2l6ZW9mKCJtYW5kYWljIild
OworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjE1M1tzaXplb2YoIm1lZXRlaW1heWVr
IildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjE2MVtzaXplb2YoImluYXJtZW5p
YW4iKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTc3W3NpemVvZigiaW5teWFu
bWFyIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjE3OFtzaXplb2YoImlubWFr
YXNhciIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxODNbc2l6ZW9mKCJjb21t
b24iKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTg2W3NpemVvZigibG0iKV07
CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTkwW3NpemVvZigibWFyYyIpXTsKKyAg
ICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIyMDNbc2l6ZW9mKCJpbnJ1bmljIildOworICAg
IGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjIwNFtzaXplb2YoImluY2FyaWFuIildOworICAg
IGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjIxMFtzaXplb2YoImluaWRlb2dyYXBoaWNzeW1i
b2xzYW5kcHVuY3R1YXRpb24iKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMjEy
W3NpemVvZigiaW5raG1lciIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIyMTNb
c2l6ZW9mKCJxYWFpIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjIxOFtzaXpl
b2YoImluYWhvbSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIyMjZbc2l6ZW9m
KCJtZXJjIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjIzMVtzaXplb2YoImNv
bWJpbmluZ21hcmsiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMjM2W3NpemVv
ZigibGMiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMjM3W3NpemVvZigicGVy
bSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIyNDZbc2l6ZW9mKCJtYyIpXTsK
KyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIyNTBbc2l6ZW9mKCJjb25uZWN0b3JwdW5j
dHVhdGlvbiIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIyNTNbc2l6ZW9mKCJj
YW5zIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjI2MFtzaXplb2YoImluY3Vu
ZWlmb3JtbnVtYmVyc2FuZHB1bmN0dWF0aW9uIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9w
b29sX3N0cjI2M1tzaXplb2YoImFybWkiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xf
c3RyMjY1W3NpemVvZigiY2MiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMjY3
W3NpemVvZigiYXJtbiIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIyNjhbc2l6
ZW9mKCJpbmNoZXJva2VlIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjI3MFtz
aXplb2YoInByZXBlbmRlZGNvbmNhdGVuYXRpb25tYXJrIildOworICAgIGNoYXIgdW5pbmFtZTJj
dHlwZV9wb29sX3N0cjI3NFtzaXplb2YoImluY3VuZWlmb3JtIildOworICAgIGNoYXIgdW5pbmFt
ZTJjdHlwZV9wb29sX3N0cjI3NVtzaXplb2YoImluYXZlc3RhbiIpXTsKKyAgICBjaGFyIHVuaW5h
bWUyY3R5cGVfcG9vbF9zdHIyODFbc2l6ZW9mKCJpbmlwYWV4dGVuc2lvbnMiKV07CisgICAgY2hh
ciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMjgyW3NpemVvZigicGMiKV07CisgICAgY2hhciB1bmlu
YW1lMmN0eXBlX3Bvb2xfc3RyMjgzW3NpemVvZigiYXJtZW5pYW4iKV07CisgICAgY2hhciB1bmlu
YW1lMmN0eXBlX3Bvb2xfc3RyMjg1W3NpemVvZigiaW5zaGFyYWRhIildOworICAgIGNoYXIgdW5p
bmFtZTJjdHlwZV9wb29sX3N0cjI4OVtzaXplb2YoImlubWFyY2hlbiIpXTsKKyAgICBjaGFyIHVu
aW5hbWUyY3R5cGVfcG9vbF9zdHIyOTNbc2l6ZW9mKCJtYWthc2FyIildOworICAgIGNoYXIgdW5p
bmFtZTJjdHlwZV9wb29sX3N0cjI5N1tzaXplb2YoIm1hc2FyYW1nb25kaSIpXTsKKyAgICBjaGFy
IHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIzMDFbc2l6ZW9mKCJpbmFycm93cyIpXTsKKyAgICBjaGFy
IHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIzMTFbc2l6ZW9mKCJpbmN5cmlsbGljIildOworICAgIGNo
YXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjMxM1tzaXplb2YoImluY2hhbSIpXTsKKyAgICBjaGFy
IHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIzMTVbc2l6ZW9mKCJxbWFyayIpXTsKKyAgICBjaGFyIHVu
aW5hbWUyY3R5cGVfcG9vbF9zdHIzMjBbc2l6ZW9mKCJyaSIpXTsKKyAgICBjaGFyIHVuaW5hbWUy
Y3R5cGVfcG9vbF9zdHIzMjJbc2l6ZW9mKCJxYWFjIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlw
ZV9wb29sX3N0cjMyOFtzaXplb2YoImluc2FtYXJpdGFuIildOworICAgIGNoYXIgdW5pbmFtZTJj
dHlwZV9wb29sX3N0cjMzMVtzaXplb2YoImxhdG4iKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBl
X3Bvb2xfc3RyMzM1W3NpemVvZigiaW5tYXNhcmFtZ29uZGkiKV07CisgICAgY2hhciB1bmluYW1l
MmN0eXBlX3Bvb2xfc3RyMzM4W3NpemVvZigiaW50aGFhbmEiKV07CisgICAgY2hhciB1bmluYW1l
MmN0eXBlX3Bvb2xfc3RyMzQwW3NpemVvZigibGF0aW4iKV07CisgICAgY2hhciB1bmluYW1lMmN0
eXBlX3Bvb2xfc3RyMzQyW3NpemVvZigiaW50aGFpIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlw
ZV9wb29sX3N0cjM0NVtzaXplb2YoImxpbmVzZXBhcmF0b3IiKV07CisgICAgY2hhciB1bmluYW1l
MmN0eXBlX3Bvb2xfc3RyMzQ2W3NpemVvZigicGNtIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlw
ZV9wb29sX3N0cjM0OFtzaXplb2YoImlua2F0YWthbmEiKV07CisgICAgY2hhciB1bmluYW1lMmN0
eXBlX3Bvb2xfc3RyMzUyW3NpemVvZigiaW5rYWl0aGkiKV07CisgICAgY2hhciB1bmluYW1lMmN0
eXBlX3Bvb2xfc3RyMzU3W3NpemVvZigiaW56YW5hYmF6YXJzcXVhcmUiKV07CisgICAgY2hhciB1
bmluYW1lMmN0eXBlX3Bvb2xfc3RyMzYyW3NpemVvZigiaW5zY3JpcHRpb25hbHBhcnRoaWFuIild
OworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjM2NltzaXplb2YoImluaXRpYWxwdW5j
dHVhdGlvbiIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIzNzNbc2l6ZW9mKCJt
dGVpIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjM3NltzaXplb2YoInZhaSIp
XTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIzNzdbc2l6ZW9mKCJ2YWlpIildOwor
ICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjM4NltzaXplb2YoImlua2htZXJzeW1ib2xz
IildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjM5OVtzaXplb2YoImluc3lyaWFj
IildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjQwMVtzaXplb2YoImludGFrcmki
KV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyNDA0W3NpemVvZigiYXJhYmljIild
OworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjQxMVtzaXplb2YoInpzIildOworICAg
IGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjQxOFtzaXplb2YoImthdGFrYW5hIildOworICAg
IGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjQyNltzaXplb2YoInBydGkiKV07CisgICAgY2hh
ciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyNDQyW3NpemVvZigiYXNjaWkiKV07CisgICAgY2hhciB1
bmluYW1lMmN0eXBlX3Bvb2xfc3RyNDQ1W3NpemVvZigiY3MiKV07CisgICAgY2hhciB1bmluYW1l
MmN0eXBlX3Bvb2xfc3RyNDYyW3NpemVvZigicHMiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBl
X3Bvb2xfc3RyNDY4W3NpemVvZigibWFuZCIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9v
bF9zdHI0NzBbc2l6ZW9mKCJwcml2YXRldXNlIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9w
b29sX3N0cjQ3NVtzaXplb2YoImlucnVtaW51bWVyYWxzeW1ib2xzIildOworICAgIGNoYXIgdW5p
bmFtZTJjdHlwZV9wb29sX3N0cjQ4MFtzaXplb2YoImlubXlhbm1hcmV4dGVuZGVkYSIpXTsKKyAg
ICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHI0ODFbc2l6ZW9mKCJtb2RpIildOworICAgIGNo
YXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjQ4NltzaXplb2YoImluY2prY29tcGF0aWJpbGl0eWZv
cm1zIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjQ4OFtzaXplb2YoImlua2Fu
YWV4dGVuZGVkYSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHI0OTFbc2l6ZW9m
KCJpbmNqa2NvbXBhdGliaWxpdHlpZGVvZ3JhcGhzIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlw
ZV9wb29sX3N0cjUwMFtzaXplb2YoImJyYWkiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bv
b2xfc3RyNTA0W3NpemVvZigibWVuZCIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9z
dHI1MDVbc2l6ZW9mKCJpZGVvIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjUw
NltzaXplb2YoImxldHRlciIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHI1MDlb
c2l6ZW9mKCJsIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjUxMVtzaXplb2Yo
ImlubWVldGVpbWF5ZWsiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyNTIwW3Np
emVvZigiaW5pZGVvZ3JhcGhpY2Rlc2NyaXB0aW9uY2hhcmFjdGVycyIpXTsKKyAgICBjaGFyIHVu
aW5hbWUyY3R5cGVfcG9vbF9zdHI1MzVbc2l6ZW9mKCJ4aWRjb250aW51ZSIpXTsKKyAgICBjaGFy
IHVuaW5hbWUyY3R5cGVfcG9vbF9zdHI1Mzhbc2l6ZW9mKCJrbmRhIildOworICAgIGNoYXIgdW5p
bmFtZTJjdHlwZV9wb29sX3N0cjU0MVtzaXplb2YoImlubmFuZGluYWdhcmkiKV07CisgICAgY2hh
ciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyNTQzW3NpemVvZigia2FubmFkYSIpXTsKKyAgICBjaGFy
IHVuaW5hbWUyY3R5cGVfcG9vbF9zdHI1NTZbc2l6ZW9mKCJpbm1vZGkiKV07CisgICAgY2hhciB1
bmluYW1lMmN0eXBlX3Bvb2xfc3RyNTU4W3NpemVvZigiaW5sYW8iKV07CisgICAgY2hhciB1bmlu
YW1lMmN0eXBlX3Bvb2xfc3RyNTYwW3NpemVvZigiaW5vbGRub3J0aGFyYWJpYW4iKV07CisgICAg
Y2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyNTY1W3NpemVvZigiaW50cmFuc3BvcnRhbmRtYXBz
eW1ib2xzIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjU2NltzaXplb2YoImxl
dHRlcm51bWJlciIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHI1Njhbc2l6ZW9m
KCJnb3RoaWMiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyNTcyW3NpemVvZigi
aW5saW5lYXJhIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjU3N1tzaXplb2Yo
ImlubWVuZGVraWtha3VpIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjU3OFtz
aXplb2YoInhpZGMiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyNTc5W3NpemVv
ZigibW9uZ29saWFuIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjU4MltzaXpl
b2YoImlubWlzY2VsbGFuZW91c21hdGhlbWF0aWNhbHN5bWJvbHNhIildOworICAgIGNoYXIgdW5p
bmFtZTJjdHlwZV9wb29sX3N0cjU4M1tzaXplb2YoImluc3BlY2lhbHMiKV07CisgICAgY2hhciB1
bmluYW1lMmN0eXBlX3Bvb2xfc3RyNTkwW3NpemVvZigiZ3JsaW5rIildOworICAgIGNoYXIgdW5p
bmFtZTJjdHlwZV9wb29sX3N0cjU5NFtzaXplb2YoImJyYWhtaSIpXTsKKyAgICBjaGFyIHVuaW5h
bWUyY3R5cGVfcG9vbF9zdHI1OTZbc2l6ZW9mKCJpbmVtb3RpY29ucyIpXTsKKyAgICBjaGFyIHVu
aW5hbWUyY3R5cGVfcG9vbF9zdHI1OTdbc2l6ZW9mKCJrYWxpIildOworICAgIGNoYXIgdW5pbmFt
ZTJjdHlwZV9wb29sX3N0cjYwMFtzaXplb2YoImlub2xkaXRhbGljIildOworICAgIGNoYXIgdW5p
bmFtZTJjdHlwZV9wb29sX3N0cjYwNFtzaXplb2YoImlubWVkZWZhaWRyaW4iKV07CisgICAgY2hh
ciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyNjA1W3NpemVvZigiaW5jaGVzc3N5bWJvbHMiKV07Cisg
ICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyNjA4W3NpemVvZigiaW5jamtjb21wYXRpYmls
aXR5aWRlb2dyYXBoc3N1cHBsZW1lbnQiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xf
c3RyNjE0W3NpemVvZigiaW5hZGxhbSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9z
dHI2MjRbc2l6ZW9mKCJwc2FsdGVycGFobGF2aSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVf
cG9vbF9zdHI2MjVbc2l6ZW9mKCJpbmNvbW1vbmluZGljbnVtYmVyZm9ybXMiKV07CisgICAgY2hh
ciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyNjMwW3NpemVvZigibHQiKV07CisgICAgY2hhciB1bmlu
YW1lMmN0eXBlX3Bvb2xfc3RyNjM2W3NpemVvZigiaW5uZXdhIildOworICAgIGNoYXIgdW5pbmFt
ZTJjdHlwZV9wb29sX3N0cjYzOVtzaXplb2YoInNrIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlw
ZV9wb29sX3N0cjY0MltzaXplb2YoImNvbnRyb2wiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBl
X3Bvb2xfc3RyNjQ1W3NpemVvZigiaW5hbmNpZW50c3ltYm9scyIpXTsKKyAgICBjaGFyIHVuaW5h
bWUyY3R5cGVfcG9vbF9zdHI2NDdbc2l6ZW9mKCJwYWxtIildOworICAgIGNoYXIgdW5pbmFtZTJj
dHlwZV9wb29sX3N0cjY1MFtzaXplb2YoImlubHljaWFuIildOworICAgIGNoYXIgdW5pbmFtZTJj
dHlwZV9wb29sX3N0cjY1N1tzaXplb2YoInNvIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9w
b29sX3N0cjY2MFtzaXplb2YoInBhdHRlcm53aGl0ZXNwYWNlIildOworICAgIGNoYXIgdW5pbmFt
ZTJjdHlwZV9wb29sX3N0cjY2OFtzaXplb2YoInhpZHMiKV07CisgICAgY2hhciB1bmluYW1lMmN0
eXBlX3Bvb2xfc3RyNjcyW3NpemVvZigiaW5tYW5kYWljIildOworICAgIGNoYXIgdW5pbmFtZTJj
dHlwZV9wb29sX3N0cjY3NVtzaXplb2YoImlkYyIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVf
cG9vbF9zdHI2Nzhbc2l6ZW9mKCJtZXJvaXRpY2N1cnNpdmUiKV07CisgICAgY2hhciB1bmluYW1l
MmN0eXBlX3Bvb2xfc3RyNjk1W3NpemVvZigiaW53YXJhbmdjaXRpIildOworICAgIGNoYXIgdW5p
bmFtZTJjdHlwZV9wb29sX3N0cjY5NltzaXplb2YoInNvcmEiKV07CisgICAgY2hhciB1bmluYW1l
MmN0eXBlX3Bvb2xfc3RyNjk3W3NpemVvZigiaW5vcHRpY2FsY2hhcmFjdGVycmVjb2duaXRpb24i
KV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyNzAzW3NpemVvZigiaW5vbGRzb2dk
aWFuIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjcwNVtzaXplb2YoImlubWFs
YXlhbGFtIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjcwN1tzaXplb2YoImJh
bXVtIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjcwOFtzaXplb2YoImlua2Fu
YXN1cHBsZW1lbnQiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyNzEzW3NpemVv
ZigiaW5zdW5kYW5lc2UiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyNzIwW3Np
emVvZigiZ3JleHQiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyNzM3W3NpemVv
ZigicHJpbnQiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyNzM4W3NpemVvZigi
aW50YWl0aGFtIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjc0MltzaXplb2Yo
Imxvd2VyIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjc1M1tzaXplb2YoImpv
aW5jIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjc1NVtzaXplb2YoImlub2xk
c291dGhhcmFiaWFuIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjc2MFtzaXpl
b2YoImluY2prc3Ryb2tlcyIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHI3NjFb
c2l6ZW9mKCJiYXRrIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjc2NltzaXpl
b2YoInNhbXIiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyNzY3W3NpemVvZigi
aW53YW5jaG8iKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyNzcxW3NpemVvZigi
YmF0YWsiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyNzcyW3NpemVvZigidnMi
KV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyNzc2W3NpemVvZigicGF0d3MiKV07
CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyNzgzW3NpemVvZigic2FtYXJpdGFuIild
OworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjc4N1tzaXplb2YoImlkc2JpbmFyeW9w
ZXJhdG9yIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjc5MVtzaXplb2YoInBh
dWMiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyNzk0W3NpemVvZigiaW5zbWFs
bGthbmFleHRlbnNpb24iKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyNzk3W3Np
emVvZigic20iKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyNzk5W3NpemVvZigi
aW5kb21pbm90aWxlcyIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHI4MDJbc2l6
ZW9mKCJhbG51bSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHI4MDlbc2l6ZW9m
KCJpbnN5bG90aW5hZ3JpIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjgxNFtz
aXplb2YoImludWdhcml0aWMiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyODE4
W3NpemVvZigiaW5jb250cm9scGljdHVyZXMiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bv
b2xfc3RyODIxW3NpemVvZigiaW5saW5lYXJiaWRlb2dyYW1zIildOworICAgIGNoYXIgdW5pbmFt
ZTJjdHlwZV9wb29sX3N0cjgyMltzaXplb2YoImlubXVzaWNhbHN5bWJvbHMiKV07CisgICAgY2hh
ciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyODIzW3NpemVvZigicyIpXTsKKyAgICBjaGFyIHVuaW5h
bWUyY3R5cGVfcG9vbF9zdHI4MjRbc2l6ZW9mKCJpdGFsIildOworICAgIGNoYXIgdW5pbmFtZTJj
dHlwZV9wb29sX3N0cjgyNVtzaXplb2YoImlubW9kaWZpZXJ0b25lbGV0dGVycyIpXTsKKyAgICBj
aGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHI4Mjhbc2l6ZW9mKCJpbmFuY2llbnRncmVla211c2lj
YWxub3RhdGlvbiIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHI4MzRbc2l6ZW9m
KCJwYXR0ZXJuc3ludGF4IildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjgzOFtz
aXplb2YoImxpc3UiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyODQyW3NpemVv
ZigibG93ZXJjYXNlIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjg0NVtzaXpl
b2YoImN3Y20iKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyODQ3W3NpemVvZigi
c2MiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyODQ4W3NpemVvZigiYmFzcyIp
XTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHI4NTVbc2l6ZW9mKCJpZHMiKV07Cisg
ICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyODU3W3NpemVvZigiaW5sYXRpbmV4dGVuZGVk
YSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHI4NjJbc2l6ZW9mKCJvcml5YSIp
XTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHI4NzVbc2l6ZW9mKCJpbnRhaWxlIild
OworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjg4NltzaXplb2YoImlubWlzY2VsbGFu
ZW91c3N5bWJvbHMiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyODk1W3NpemVv
ZigiaW5taXNjZWxsYW5lb3Vzc3ltYm9sc2FuZGFycm93cyIpXTsKKyAgICBjaGFyIHVuaW5hbWUy
Y3R5cGVfcG9vbF9zdHI4OThbc2l6ZW9mKCJpbmNhdWNhc2lhbmFsYmFuaWFuIildOworICAgIGNo
YXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjkwMFtzaXplb2YoImlubWlzY2VsbGFuZW91c3N5bWJv
bHNhbmRwaWN0b2dyYXBocyIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHI5MDZb
c2l6ZW9mKCJpbm9sZHR1cmtpYyIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHI5
MDdbc2l6ZW9mKCJpbnNhdXJhc2h0cmEiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xf
c3RyOTI0W3NpemVvZigiaWRjb250aW51ZSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9v
bF9zdHI5MjZbc2l6ZW9mKCJpbnRhbWlsIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29s
X3N0cjkyOFtzaXplb2YoImlubXVsdGFuaSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9v
bF9zdHI5Mjlbc2l6ZW9mKCJpbmxhdGluZXh0ZW5kZWRlIildOworICAgIGNoYXIgdW5pbmFtZTJj
dHlwZV9wb29sX3N0cjkzMFtzaXplb2YoInBkIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9w
b29sX3N0cjk0NltzaXplb2YoImJhbGkiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xf
c3RyOTYxW3NpemVvZigiYmxhbmsiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3Ry
OTYzW3NpemVvZigiaWRzdCIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHI5NzRb
c2l6ZW9mKCJpbmx5ZGlhbiIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHI5ODZb
c2l6ZW9mKCJpbm5ld3RhaWx1ZSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHI5
OTRbc2l6ZW9mKCJiZW5nYWxpIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjk5
NVtzaXplb2YoInJ1bnIiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTAwNVtz
aXplb2YoInpsIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjEwMDlbc2l6ZW9m
KCJpbmN5cmlsbGljZXh0ZW5kZWRhIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0
cjEwMTBbc2l6ZW9mKCJsbCIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxMDEz
W3NpemVvZigiaW5kZXNlcmV0IildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjEw
MTRbc2l6ZW9mKCJpbnRhaXh1YW5qaW5nc3ltYm9scyIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5
cGVfcG9vbF9zdHIxMDE1W3NpemVvZigiaW5hbmNpZW50Z3JlZWtudW1iZXJzIildOworICAgIGNo
YXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjEwMjFbc2l6ZW9mKCJpZHN0YXJ0IildOworICAgIGNo
YXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjEwMjVbc2l6ZW9mKCJpbm1lZXRlaW1heWVrZXh0ZW5z
aW9ucyIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxMDI4W3NpemVvZigiYmFs
aW5lc2UiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTAzMltzaXplb2YoImRp
YSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxMDMzW3NpemVvZigiZGkiKV07
CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTAzNVtzaXplb2YoImluc3BhY2luZ21v
ZGlmaWVybGV0dGVycyIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxMDM2W3Np
emVvZigiaW5lYXJseWR5bmFzdGljY3VuZWlmb3JtIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlw
ZV9wb29sX3N0cjEwNDlbc2l6ZW9mKCJwbHJkIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9w
b29sX3N0cjEwNjdbc2l6ZW9mKCJjYW5hZGlhbmFib3JpZ2luYWwiKV07CisgICAgY2hhciB1bmlu
YW1lMmN0eXBlX3Bvb2xfc3RyMTA3MFtzaXplb2YoInppbmgiKV07CisgICAgY2hhciB1bmluYW1l
MmN0eXBlX3Bvb2xfc3RyMTA3MltzaXplb2YoInNpbmQiKV07CisgICAgY2hhciB1bmluYW1lMmN0
eXBlX3Bvb2xfc3RyMTA4MFtzaXplb2YoIm9zYWdlIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlw
ZV9wb29sX3N0cjEwODFbc2l6ZW9mKCJpbmxhdGluZXh0ZW5kZWRjIildOworICAgIGNoYXIgdW5p
bmFtZTJjdHlwZV9wb29sX3N0cjEwODVbc2l6ZW9mKCJ1aWRlbyIpXTsKKyAgICBjaGFyIHVuaW5h
bWUyY3R5cGVfcG9vbF9zdHIxMDg3W3NpemVvZigiaW5jb3VudGluZ3JvZG51bWVyYWxzIildOwor
ICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjEwOTBbc2l6ZW9mKCJ4aWRzdGFydCIpXTsK
KyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxMDkxW3NpemVvZigieGRpZ2l0IildOwor
ICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjEwOTNbc2l6ZW9mKCJvc21hIildOworICAg
IGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjEwOTdbc2l6ZW9mKCJpbmtodWRhd2FkaSIpXTsK
KyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxMTAyW3NpemVvZigiaW5oYW5pZmlyb2hp
bmd5YSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxMTA1W3NpemVvZigiZ29u
ZyIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxMTA3W3NpemVvZigiaW5ncmFu
dGhhIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjExMDlbc2l6ZW9mKCJiaWRp
YyIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxMTE5W3NpemVvZigibW9uZyIp
XTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxMTIwW3NpemVvZigiY2FzZWQiKV07
CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTEyMVtzaXplb2YoImluY3lyaWxsaWNl
eHRlbmRlZGMiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTEzNFtzaXplb2Yo
ImluaGlyYWdhbmEiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTE0MFtzaXpl
b2YoInNpbmhhbGEiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTE0MltzaXpl
b2YoImFkbG0iKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTE0NltzaXplb2Yo
ImdsYWdvbGl0aWMiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTE0N1tzaXpl
b2YoInN0ZXJtIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjExNDlbc2l6ZW9m
KCJiYW11IildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjExNTBbc2l6ZW9mKCJn
ZW9yZ2lhbiIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxMTUxW3NpemVvZigi
aW5vc2FnZSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxMTUyW3NpemVvZigi
Z3VuamFsYWdvbmRpIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjExNTNbc2l6
ZW9mKCJwaG9lbmljaWFuIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjExNTdb
c2l6ZW9mKCJtdWx0YW5pIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjExNThb
c2l6ZW9mKCJrYWl0aGkiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTE2NFtz
aXplb2YoImpvaW5jb250cm9sIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjEx
Njhbc2l6ZW9mKCJydW5pYyIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxMTcw
W3NpemVvZigiaW5nZW5lcmFscHVuY3R1YXRpb24iKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBl
X3Bvb2xfc3RyMTE3MVtzaXplb2YoImlubWFoYWphbmkiKV07CisgICAgY2hhciB1bmluYW1lMmN0
eXBlX3Bvb2xfc3RyMTE3NFtzaXplb2YoImluY3lyaWxsaWNzdXBwbGVtZW50IildOworICAgIGNo
YXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjExNzVbc2l6ZW9mKCJsb3dlcmNhc2VsZXR0ZXIiKV07
CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTE3NltzaXplb2YoIm1hcmNoZW4iKV07
CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTE3N1tzaXplb2YoImdyYXBoZW1lbGlu
ayIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxMTc4W3NpemVvZigiaW5nZW9y
Z2lhbiIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxMTgwW3NpemVvZigia2hv
amtpIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjExODFbc2l6ZW9mKCJjaGFt
IildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjExODJbc2l6ZW9mKCJpbm9naGFt
IildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjExODNbc2l6ZW9mKCJjaGVyIild
OworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjExODVbc2l6ZW9mKCJjaGFrbWEiKV07
CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTE5MFtzaXplb2YoImVtb2ppIildOwor
ICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjExOTFbc2l6ZW9mKCJpbnNpZGRoYW0iKV07
CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTE5N1tzaXplb2YoImNoZXJva2VlIild
OworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjExOThbc2l6ZW9mKCJraGFyIildOwor
ICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjEyMDNbc2l6ZW9mKCJpbm1vbmdvbGlhbiIp
XTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxMjA3W3NpemVvZigiaW5jaGVyb2tl
ZXN1cHBsZW1lbnQiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTIwOFtzaXpl
b2YoImRpYWNyaXRpYyIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxMjA5W3Np
emVvZigibWFuaWNoYWVhbiIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxMjEw
W3NpemVvZigieHN1eCIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxMjEyW3Np
emVvZigiaW5vbGNoaWtpIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjEyMjdb
c2l6ZW9mKCJxdW90YXRpb25tYXJrIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0
cjEyMzFbc2l6ZW9mKCJhZGxhbSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIx
MjMyW3NpemVvZigiaW5ldGhpb3BpYyIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9z
dHIxMjMzW3NpemVvZigiZ3JhcGhlbWViYXNlIildOworI2lmZGVmIFVTRV9VTklDT0RFX0FHRV9Q
Uk9QRVJUSUVTCisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTIzNFtzaXplb2YoImFn
ZT0xMS4wIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjEyMzVbc2l6ZW9mKCJh
Z2U9MTIuMSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxMjM2W3NpemVvZigi
YWdlPTEwLjAiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTIzN1tzaXplb2Yo
ImFnZT0xMi4wIildOworI2VuZGlmIC8qIFVTRV9VTklDT0RFX0FHRV9QUk9QRVJUSUVTICovCisg
ICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTI0M1tzaXplb2YoImNhc2VkbGV0dGVyIild
OworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjEyNDRbc2l6ZW9mKCJpbmd1cm11a2hp
IildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjEyNDVbc2l6ZW9mKCJvZGkiKV07
CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTI0NltzaXplb2YoImluY2prdW5pZmll
ZGlkZW9ncmFwaHNleHRlbnNpb25hIildOworI2lmZGVmIFVTRV9VTklDT0RFX0FHRV9QUk9QRVJU
SUVTCisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTI0N1tzaXplb2YoImFnZT0xLjEi
KV07CisjZW5kaWYgLyogVVNFX1VOSUNPREVfQUdFX1BST1BFUlRJRVMgKi8KKyAgICBjaGFyIHVu
aW5hbWUyY3R5cGVfcG9vbF9zdHIxMjQ4W3NpemVvZigibHUiKV07CisjaWZkZWYgVVNFX1VOSUNP
REVfQUdFX1BST1BFUlRJRVMKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxMjQ5W3Np
emVvZigiYWdlPTQuMSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxMjUwW3Np
emVvZigiYWdlPTIuMSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxMjUxW3Np
emVvZigiYWdlPTQuMCIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxMjUyW3Np
emVvZigiYWdlPTIuMCIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxMjUzW3Np
emVvZigiYWdlPTkuMCIpXTsKKyNlbmRpZiAvKiBVU0VfVU5JQ09ERV9BR0VfUFJPUEVSVElFUyAq
LworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjEyNTRbc2l6ZW9mKCJpbnRhbWlsc3Vw
cGxlbWVudCIpXTsKKyNpZmRlZiBVU0VfVU5JQ09ERV9BR0VfUFJPUEVSVElFUworICAgIGNoYXIg
dW5pbmFtZTJjdHlwZV9wb29sX3N0cjEyNTVbc2l6ZW9mKCJhZ2U9Ni4xIildOworI2VuZGlmIC8q
IFVTRV9VTklDT0RFX0FHRV9QUk9QRVJUSUVTICovCisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bv
b2xfc3RyMTI1NltzaXplb2YoInVua25vd24iKV07CisjaWZkZWYgVVNFX1VOSUNPREVfQUdFX1BS
T1BFUlRJRVMKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxMjU3W3NpemVvZigiYWdl
PTYuMCIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxMjU4W3NpemVvZigiYWdl
PTYuMiIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxMjU5W3NpemVvZigiYWdl
PTMuMSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxMjYwW3NpemVvZigiYWdl
PTguMCIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxMjYxW3NpemVvZigiYWdl
PTMuMCIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxMjYyW3NpemVvZigiYWdl
PTMuMiIpXTsKKyNlbmRpZiAvKiBVU0VfVU5JQ09ERV9BR0VfUFJPUEVSVElFUyAqLworICAgIGNo
YXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjEyNjNbc2l6ZW9mKCJjd3QiKV07CisjaWZkZWYgVVNF
X1VOSUNPREVfQUdFX1BST1BFUlRJRVMKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIx
MjY0W3NpemVvZigiYWdlPTcuMCIpXTsKKyNlbmRpZiAvKiBVU0VfVU5JQ09ERV9BR0VfUFJPUEVS
VElFUyAqLworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjEyNjZbc2l6ZW9mKCJ1bmFz
c2lnbmVkIildOworI2lmZGVmIFVTRV9VTklDT0RFX0FHRV9QUk9QRVJUSUVTCisgICAgY2hhciB1
bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTI2N1tzaXplb2YoImFnZT02LjMiKV07CisgICAgY2hhciB1
bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTI2OFtzaXplb2YoImFnZT01LjEiKV07CisgICAgY2hhciB1
bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTI3MFtzaXplb2YoImFnZT01LjAiKV07CisgICAgY2hhciB1
bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTI3MVtzaXplb2YoImFnZT01LjIiKV07CisjZW5kaWYgLyog
VVNFX1VOSUNPREVfQUdFX1BST1BFUlRJRVMgKi8KKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9v
bF9zdHIxMjc0W3NpemVvZigiYWhvbSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9z
dHIxMjgyW3NpemVvZigiaW5jamt1bmlmaWVkaWRlb2dyYXBoc2V4dGVuc2lvbmUiKV07CisgICAg
Y2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTI4NVtzaXplb2YoImtobXIiKV07CisgICAgY2hh
ciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTI4OVtzaXplb2YoImluc2luaGFsYSIpXTsKKyAgICBj
aGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxMjkyW3NpemVvZigiaW5taXNjZWxsYW5lb3VzdGVj
aG5pY2FsIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjEyOTdbc2l6ZW9mKCJz
YXVyIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjEzMDBbc2l6ZW9mKCJndXJ1
IildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjEzMDFbc2l6ZW9mKCJzdW5kYW5l
c2UiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTMwNltzaXplb2YoInB1bmN0
IildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjEzMTRbc2l6ZW9mKCJwYXVjaW5o
YXUiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTMxN1tzaXplb2YoImd1cm11
a2hpIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjEzMTlbc2l6ZW9mKCJ2YXJp
YXRpb25zZWxlY3RvciIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxMzMxW3Np
emVvZigibG9naWNhbG9yZGVyZXhjZXB0aW9uIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9w
b29sX3N0cjEzNDBbc2l6ZW9mKCJraG1lciIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9v
bF9zdHIxMzQzW3NpemVvZigibGltYnUiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xf
c3RyMTM1NFtzaXplb2YoImluc2NyaXB0aW9uYWxwYWhsYXZpIildOworICAgIGNoYXIgdW5pbmFt
ZTJjdHlwZV9wb29sX3N0cjEzNTVbc2l6ZW9mKCJvaWRjIildOworICAgIGNoYXIgdW5pbmFtZTJj
dHlwZV9wb29sX3N0cjEzNThbc2l6ZW9mKCJpbmNqa3VuaWZpZWRpZGVvZ3JhcGhzZXh0ZW5zaW9u
YyIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxMzYwW3NpemVvZigiY250cmwi
KV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTM2NVtzaXplb2YoImlubGF0aW5l
eHRlbmRlZGFkZGl0aW9uYWwiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTM2
NltzaXplb2YoImRlY2ltYWxudW1iZXIiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xf
c3RyMTM2N1tzaXplb2YoImluc29yYXNvbXBlbmciKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBl
X3Bvb2xfc3RyMTM2OVtzaXplb2YoInJhZGljYWwiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBl
X3Bvb2xfc3RyMTM3M1tzaXplb2YoImVtb2ppbW9kaWZpZXIiKV07CisgICAgY2hhciB1bmluYW1l
MmN0eXBlX3Bvb2xfc3RyMTM3NVtzaXplb2YoImtoYXJvc2h0aGkiKV07CisgICAgY2hhciB1bmlu
YW1lMmN0eXBlX3Bvb2xfc3RyMTM4MFtzaXplb2YoIm4iKV07CisgICAgY2hhciB1bmluYW1lMmN0
eXBlX3Bvb2xfc3RyMTM4NFtzaXplb2YoIm1hdGgiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBl
X3Bvb2xfc3RyMTM4N1tzaXplb2YoImdvdGgiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bv
b2xfc3RyMTQwMFtzaXplb2YoImFuYXRvbGlhbmhpZXJvZ2x5cGhzIildOworICAgIGNoYXIgdW5p
bmFtZTJjdHlwZV9wb29sX3N0cjE0MDFbc2l6ZW9mKCJpbmVuY2xvc2VkYWxwaGFudW1lcmljcyIp
XTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxNDA3W3NpemVvZigibmFuZGluYWdh
cmkiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTQwOVtzaXplb2YoIm5vIild
OworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjE0MTlbc2l6ZW9mKCJua28iKV07Cisg
ICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTQyMFtzaXplb2YoIm5rb28iKV07CisgICAg
Y2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTQyMltzaXplb2YoImluZ3JlZWthbmRjb3B0aWMi
KV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTQyM1tzaXplb2YoIm9sY2siKV07
CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTQyNltzaXplb2YoInAiKV07CisgICAg
Y2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTQyOFtzaXplb2YoImdyYW50aGEiKV07CisgICAg
Y2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTQzNFtzaXplb2YoIm9sY2hpa2kiKV07CisgICAg
Y2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTQzOFtzaXplb2YoImluY2prdW5pZmllZGlkZW9n
cmFwaHMiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTQ0MVtzaXplb2YoInph
bmIiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTQ0MltzaXplb2YoImludGly
aHV0YSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxNDQ1W3NpemVvZigib2lk
cyIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxNDQ4W3NpemVvZigiaW5oYXRy
YW4iKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTQ0OVtzaXplb2YoImxpbmIi
KV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTQ1MFtzaXplb2YoInhwZW8iKV07
CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTQ1MVtzaXplb2YoIm11bHQiKV07Cisg
ICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTQ1NFtzaXplb2YoInNhdXJhc2h0cmEiKV07
CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTQ1N1tzaXplb2YoImt0aGkiKV07Cisg
ICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTQ2MltzaXplb2YoImluYmhhaWtzdWtpIild
OworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjE0NjZbc2l6ZW9mKCJvbG93ZXIiKV07
CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTQ3MFtzaXplb2YoImlubmFiYXRhZWFu
IildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjE0NzFbc2l6ZW9mKCJpbnBob2Vu
aWNpYW4iKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTQ3NVtzaXplb2YoImlu
a2FuYnVuIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjE0NzZbc2l6ZW9mKCJp
bm1lcm9pdGljaGllcm9nbHlwaHMiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3Ry
MTQ3OFtzaXplb2YoImlua2F5YWhsaSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9z
dHIxNDgxW3NpemVvZigicGhueCIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIx
NDg1W3NpemVvZigiaW5vcml5YSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIx
NDg5W3NpemVvZigiZW5jbG9zaW5nbWFyayIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9v
bF9zdHIxNDk1W3NpemVvZigic2QiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3Ry
MTQ5N1tzaXplb2YoImluZWxiYXNhbiIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9z
dHIxNDk4W3NpemVvZigid2FyYSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIx
NDk5W3NpemVvZigiaW5lbmNsb3NlZGlkZW9ncmFwaGljc3VwcGxlbWVudCIpXTsKKyAgICBjaGFy
IHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxNTAxW3NpemVvZigic2lkZCIpXTsKKyAgICBjaGFyIHVu
aW5hbWUyY3R5cGVfcG9vbF9zdHIxNTA3W3NpemVvZigibGluZWFyYiIpXTsKKyAgICBjaGFyIHVu
aW5hbWUyY3R5cGVfcG9vbF9zdHIxNTA5W3NpemVvZigiaGFuaSIpXTsKKyAgICBjaGFyIHVuaW5h
bWUyY3R5cGVfcG9vbF9zdHIxNTEyW3NpemVvZigiaGFuIildOworICAgIGNoYXIgdW5pbmFtZTJj
dHlwZV9wb29sX3N0cjE1MTdbc2l6ZW9mKCJpbmVuY2xvc2VkYWxwaGFudW1lcmljc3VwcGxlbWVu
dCIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxNTE5W3NpemVvZigibWVkZiIp
XTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxNTIwW3NpemVvZigiYmlkaWNvbnRy
b2wiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTUyM1tzaXplb2YoImhhbm8i
KV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTUyNFtzaXplb2YoImlucGhhaXN0
b3NkaXNjIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjE1Mjlbc2l6ZW9mKCJs
aW1iIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjE1MzFbc2l6ZW9mKCJpbmth
bmd4aXJhZGljYWxzIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjE1MzNbc2l6
ZW9mKCJsZXBjIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjE1MzVbc2l6ZW9m
KCJtZWRlZmFpZHJpbiIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxNTM2W3Np
emVvZigiYnJhaWxsZSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxNTM3W3Np
emVvZigicmVnaW9uYWxpbmRpY2F0b3IiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xf
c3RyMTU0MltzaXplb2YoImlubG93c3Vycm9nYXRlcyIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5
cGVfcG9vbF9zdHIxNTQ0W3NpemVvZigiaW5zaG9ydGhhbmRmb3JtYXRjb250cm9scyIpXTsKKyAg
ICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxNTQ3W3NpemVvZigiYnJhaCIpXTsKKyAgICBj
aGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxNTQ4W3NpemVvZigiaW5raG9qa2kiKV07CisgICAg
Y2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTU0OVtzaXplb2YoImlub2xkaHVuZ2FyaWFuIild
OworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjE1NTJbc2l6ZW9mKCJoYW51bm9vIild
OworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjE1NTVbc2l6ZW9mKCJoaXJhIildOwor
ICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjE1NTdbc2l6ZW9mKCJiZW5nIildOworICAg
IGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjE1NjNbc2l6ZW9mKCJlbW9qaW1vZGlmaWVyYmFz
ZSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxNTY1W3NpemVvZigiaW5hcmFi
aWMiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTU2N1tzaXplb2YoImx5Y2ki
KV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTU2OVtzaXplb2YoImFoZXgiKV07
CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTU3MltzaXplb2YoImluaGVyaXRlZCIp
XTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxNTgwW3NpemVvZigiZ2xhZyIpXTsK
KyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxNTgyW3NpemVvZigibHljaWFuIildOwor
ICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjE1ODdbc2l6ZW9mKCJpbmRvZ3JhIildOwor
ICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjE1OTRbc2l6ZW9mKCJkc3J0IildOworICAg
IGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjE1OTdbc2l6ZW9mKCJhcmFiIildOworICAgIGNo
YXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjE2MDJbc2l6ZW9mKCJteW1yIildOworICAgIGNoYXIg
dW5pbmFtZTJjdHlwZV9wb29sX3N0cjE2MDdbc2l6ZW9mKCJteWFubWFyIildOworICAgIGNoYXIg
dW5pbmFtZTJjdHlwZV9wb29sX3N0cjE2MTNbc2l6ZW9mKCJwaGxpIildOworICAgIGNoYXIgdW5p
bmFtZTJjdHlwZV9wb29sX3N0cjE2MTdbc2l6ZW9mKCJpbmltcGVyaWFsYXJhbWFpYyIpXTsKKyAg
ICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxNjIyW3NpemVvZigiaW5ncmVla2V4dGVuZGVk
IildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjE2MjNbc2l6ZW9mKCJpbmFuYXRv
bGlhbmhpZXJvZ2x5cGhzIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjE2Mjlb
c2l6ZW9mKCJwdW5jdHVhdGlvbiIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIx
NjMxW3NpemVvZigidGFrcmkiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTYz
NVtzaXplb2YoImdyYXBoZW1lZXh0ZW5kIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29s
X3N0cjE2Mzhbc2l6ZW9mKCJpbnZhaSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9z
dHIxNjQzW3NpemVvZigiY3dsIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjE2
NTRbc2l6ZW9mKCJpbmdlb21ldHJpY3NoYXBlcyIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVf
cG9vbF9zdHIxNjU1W3NpemVvZigiZW1vamljb21wb25lbnQiKV07CisgICAgY2hhciB1bmluYW1l
MmN0eXBlX3Bvb2xfc3RyMTY2MltzaXplb2YoImNvcHRpYyIpXTsKKyAgICBjaGFyIHVuaW5hbWUy
Y3R5cGVfcG9vbF9zdHIxNjcxW3NpemVvZigiZGVzZXJldCIpXTsKKyAgICBjaGFyIHVuaW5hbWUy
Y3R5cGVfcG9vbF9zdHIxNjc1W3NpemVvZigiaW5hcmFiaWNwcmVzZW50YXRpb25mb3Jtc2EiKV07
CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTY3NltzaXplb2YoInRha3IiKV07Cisg
ICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTY3N1tzaXplb2YoImluYmFzaWNsYXRpbiIp
XTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxNjgyW3NpemVvZigiaW5jamt1bmlm
aWVkaWRlb2dyYXBoc2V4dGVuc2lvbmQiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xf
c3RyMTY4NltzaXplb2YoInNpbmgiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3Ry
MTY4N1tzaXplb2YoInN1bmQiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTY5
MVtzaXplb2YoInNoYXZpYW4iKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTY5
MltzaXplb2YoInRhaWxlIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjE2OTlb
c2l6ZW9mKCJpbnN1bmRhbmVzZXN1cHBsZW1lbnQiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBl
X3Bvb2xfc3RyMTcwMltzaXplb2YoImluZWx5bWFpYyIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5
cGVfcG9vbF9zdHIxNzAzW3NpemVvZigiaW5zb3lvbWJvIildOworICAgIGNoYXIgdW5pbmFtZTJj
dHlwZV9wb29sX3N0cjE3MDRbc2l6ZW9mKCJiaGtzIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlw
ZV9wb29sX3N0cjE3MTRbc2l6ZW9mKCJiaGFpa3N1a2kiKV07CisgICAgY2hhciB1bmluYW1lMmN0
eXBlX3Bvb2xfc3RyMTcxNltzaXplb2YoImluY2prY29tcGF0aWJpbGl0eSIpXTsKKyAgICBjaGFy
IHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxNzIyW3NpemVvZigiaW5oYW51bm9vIildOworICAgIGNo
YXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjE3MjRbc2l6ZW9mKCJpbnRhbmd1dCIpXTsKKyAgICBj
aGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxNzI4W3NpemVvZigic29nZGlhbiIpXTsKKyAgICBj
aGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxNzI5W3NpemVvZigiaW5sYXRpbmV4dGVuZGVkZCIp
XTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxNzMwW3NpemVvZigic29nbyIpXTsK
KyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxNzMxW3NpemVvZigiaW5zaW5oYWxhYXJj
aGFpY251bWJlcnMiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTczMltzaXpl
b2YoImlkZW9ncmFwaGljIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjE3MzNb
c2l6ZW9mKCJ1Z2FyIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjE3NDBbc2l6
ZW9mKCJjb3B0IildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjE3NDJbc2l6ZW9m
KCJpbXBlcmlhbGFyYW1haWMiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTc0
NVtzaXplb2YoImluc29nZGlhbiIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIx
NzQ2W3NpemVvZigiaW5kaW5nYmF0cyIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9z
dHIxNzUwW3NpemVvZigiZm9ybWF0IildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0
cjE3NTJbc2l6ZW9mKCJpbmluc2NyaXB0aW9uYWxwYWhsYXZpIildOworICAgIGNoYXIgdW5pbmFt
ZTJjdHlwZV9wb29sX3N0cjE3NTdbc2l6ZW9mKCJpbmluc2NyaXB0aW9uYWxwYXJ0aGlhbiIpXTsK
KyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxNzY2W3NpemVvZigiZ3JiYXNlIildOwor
ICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjE3Njlbc2l6ZW9mKCJpbmJhdGFrIildOwor
ICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjE3NzZbc2l6ZW9mKCJjcHJ0IildOworICAg
IGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjE3ODBbc2l6ZW9mKCJjd2NmIildOworICAgIGNo
YXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjE3ODhbc2l6ZW9mKCJjdW5laWZvcm0iKV07CisgICAg
Y2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTc5MVtzaXplb2YoInRlcm0iKV07CisgICAgY2hh
ciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTgwNltzaXplb2YoImludGliZXRhbiIpXTsKKyAgICBj
aGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxODEwW3NpemVvZigiaW50YWdzIildOworICAgIGNo
YXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjE4MTFbc2l6ZW9mKCJhc2NpaWhleGRpZ2l0IildOwor
ICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjE4MTNbc2l6ZW9mKCJzZW50ZW5jZXRlcm1p
bmFsIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjE4MTZbc2l6ZW9mKCJpbm1h
eWFubnVtZXJhbHMiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTgyMVtzaXpl
b2YoIm5hbmQiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTgyNVtzaXplb2Yo
InBhdHN5biIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxODI2W3NpemVvZigi
aGF0cmFuIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjE4Mjhbc2l6ZW9mKCJp
bmJsb2NrZWxlbWVudHMiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTgzOFtz
aXplb2YoImlub3JuYW1lbnRhbGRpbmdiYXRzIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9w
b29sX3N0cjE4NDJbc2l6ZW9mKCJpbm51bWJlcmZvcm1zIildOworICAgIGNoYXIgdW5pbmFtZTJj
dHlwZV9wb29sX3N0cjE4NDNbc2l6ZW9mKCJvbGRwZXJzaWFuIildOworICAgIGNoYXIgdW5pbmFt
ZTJjdHlwZV9wb29sX3N0cjE4NDZbc2l6ZW9mKCJpbnNoYXZpYW4iKV07CisgICAgY2hhciB1bmlu
YW1lMmN0eXBlX3Bvb2xfc3RyMTg0OFtzaXplb2YoImJvcG8iKV07CisgICAgY2hhciB1bmluYW1l
MmN0eXBlX3Bvb2xfc3RyMTg2MVtzaXplb2YoImhhdHIiKV07CisgICAgY2hhciB1bmluYW1lMmN0
eXBlX3Bvb2xfc3RyMTg2NltzaXplb2YoImNhc2VpZ25vcmFibGUiKV07CisgICAgY2hhciB1bmlu
YW1lMmN0eXBlX3Bvb2xfc3RyMTg3MVtzaXplb2YoImlub2xkcGVyc2lhbiIpXTsKKyAgICBjaGFy
IHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxODc4W3NpemVvZigibW9kaWZpZXJsZXR0ZXIiKV07Cisg
ICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTg4MVtzaXplb2YoImN3dSIpXTsKKyAgICBj
aGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxODkxW3NpemVvZigibHlkaSIpXTsKKyAgICBjaGFy
IHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxODkyW3NpemVvZigiaW5ieXphbnRpbmVtdXNpY2Fsc3lt
Ym9scyIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxODk2W3NpemVvZigiaW5n
ZW9tZXRyaWNzaGFwZXNleHRlbmRlZCIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9z
dHIxOTA0W3NpemVvZigiaW5teWFubWFyZXh0ZW5kZWRiIildOworICAgIGNoYXIgdW5pbmFtZTJj
dHlwZV9wb29sX3N0cjE5MDVbc2l6ZW9mKCJpbm51c2h1IildOworICAgIGNoYXIgdW5pbmFtZTJj
dHlwZV9wb29sX3N0cjE5MDZbc2l6ZW9mKCJseWRpYW4iKV07CisgICAgY2hhciB1bmluYW1lMmN0
eXBlX3Bvb2xfc3RyMTkxMVtzaXplb2YoImludW5pZmllZGNhbmFkaWFuYWJvcmlnaW5hbHN5bGxh
YmljcyIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxOTE1W3NpemVvZigib3Jr
aCIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxOTI4W3NpemVvZigiaW55aXJh
ZGljYWxzIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjE5Mjlbc2l6ZW9mKCJp
bmthdGFrYW5hcGhvbmV0aWNleHRlbnNpb25zIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9w
b29sX3N0cjE5MzBbc2l6ZW9mKCJpbmV0aGlvcGljZXh0ZW5kZWRhIildOworICAgIGNoYXIgdW5p
bmFtZTJjdHlwZV9wb29sX3N0cjE5MzJbc2l6ZW9mKCJpbmNvcHRpYyIpXTsKKyAgICBjaGFyIHVu
aW5hbWUyY3R5cGVfcG9vbF9zdHIxOTM2W3NpemVvZigiaW5hcmFiaWNleHRlbmRlZGEiKV07Cisg
ICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTk0N1tzaXplb2YoIm9sZHBlcm1pYyIpXTsK
KyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIxOTUwW3NpemVvZigiaW5jamtzeW1ib2xz
YW5kcHVuY3R1YXRpb24iKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTk1MVtz
aXplb2YoIndvcmQiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTk1OFtzaXpl
b2YoImJvcG9tb2ZvIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjE5NjFbc2l6
ZW9mKCJvZ2FtIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjE5NjRbc2l6ZW9m
KCJpbmxpc3UiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTk2N1tzaXplb2Yo
Imlub2xkcGVybWljIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjE5Njhbc2l6
ZW9mKCJpbm5vYmxvY2siKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTk3MVtz
aXplb2YoInRhaXZpZXQiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMTk4NVtz
aXplb2YoImluYnJhaWxsZXBhdHRlcm5zIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29s
X3N0cjE5OTFbc2l6ZW9mKCJhbHBoYSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9z
dHIxOTkzW3NpemVvZigiaW5iYWxpbmVzZSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9v
bF9zdHIxOTk0W3NpemVvZigic29yYXNvbXBlbmciKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBl
X3Bvb2xfc3RyMTk5NltzaXplb2YoImNsb3NlcHVuY3R1YXRpb24iKV07CisgICAgY2hhciB1bmlu
YW1lMmN0eXBlX3Bvb2xfc3RyMjAwNltzaXplb2YoImlubWlzY2VsbGFuZW91c21hdGhlbWF0aWNh
bHN5bWJvbHNiIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjIwMTBbc2l6ZW9m
KCJpbmxlcGNoYSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIyMDE0W3NpemVv
ZigiaW5zeXJpYWNzdXBwbGVtZW50IildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0
cjIwMTZbc2l6ZW9mKCJuZXdhIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjIw
MjNbc2l6ZW9mKCJzcGFjaW5nbWFyayIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9z
dHIyMDI0W3NpemVvZigiaW5wYWxteXJlbmUiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bv
b2xfc3RyMjAzM1tzaXplb2YoImN5cmwiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xf
c3RyMjA0M1tzaXplb2YoImFzc2lnbmVkIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29s
X3N0cjIwNDhbc2l6ZW9mKCJtbHltIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0
cjIwNTVbc2l6ZW9mKCJtYWxheWFsYW0iKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xf
c3RyMjA1OFtzaXplb2YoImV4dCIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIy
MDYyW3NpemVvZigibmV3dGFpbHVlIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0
cjIwNzBbc2l6ZW9mKCJzcGFjZSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIy
MDczW3NpemVvZigiaW50ZWx1Z3UiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3Ry
MjA3OFtzaXplb2YoImlkc2IiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMjA4
M1tzaXplb2YoImluZGV2YW5hZ2FyaSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9z
dHIyMDg0W3NpemVvZigiYXZlc3RhbiIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9z
dHIyMDg1W3NpemVvZigiY2YiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMjA5
M1tzaXplb2YoInBhbG15cmVuZSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIy
MDk1W3NpemVvZigiaW5ldGhpb3BpY3N1cHBsZW1lbnQiKV07CisgICAgY2hhciB1bmluYW1lMmN0
eXBlX3Bvb2xfc3RyMjA5N1tzaXplb2YoInNveW8iKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBl
X3Bvb2xfc3RyMjA5OFtzaXplb2YoInhwb3NpeHB1bmN0IildOworICAgIGNoYXIgdW5pbmFtZTJj
dHlwZV9wb29sX3N0cjIxMDJbc2l6ZW9mKCJwZiIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVf
cG9vbF9zdHIyMTAzW3NpemVvZigic2FyYiIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9v
bF9zdHIyMTA5W3NpemVvZigiemFuYWJhemFyc3F1YXJlIildOworICAgIGNoYXIgdW5pbmFtZTJj
dHlwZV9wb29sX3N0cjIxMTBbc2l6ZW9mKCJ1Z2FyaXRpYyIpXTsKKyAgICBjaGFyIHVuaW5hbWUy
Y3R5cGVfcG9vbF9zdHIyMTEyW3NpemVvZigib3NnZSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5
cGVfcG9vbF9zdHIyMTE0W3NpemVvZigiamF2YSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVf
cG9vbF9zdHIyMTE3W3NpemVvZigic2hhcmFkYSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVf
cG9vbF9zdHIyMTE5W3NpemVvZigiZG9ncmEiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bv
b2xfc3RyMjEzNVtzaXplb2YoImJ1Z2kiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xf
c3RyMjEzN1tzaXplb2YoIm1lcm9pdGljaGllcm9nbHlwaHMiKV07CisgICAgY2hhciB1bmluYW1l
MmN0eXBlX3Bvb2xfc3RyMjE0NVtzaXplb2YoInNlcGFyYXRvciIpXTsKKyAgICBjaGFyIHVuaW5h
bWUyY3R5cGVfcG9vbF9zdHIyMTQ2W3NpemVvZigiaW5nZW9yZ2lhbnN1cHBsZW1lbnQiKV07Cisg
ICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMjE0OVtzaXplb2YoInNvZ2QiKV07CisgICAg
Y2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMjE1MFtzaXplb2YoInRhbGUiKV07CisgICAgY2hh
ciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMjE1M1tzaXplb2YoImludW5pZmllZGNhbmFkaWFuYWJv
cmlnaW5hbHN5bGxhYmljc2V4dGVuZGVkIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29s
X3N0cjIxNjFbc2l6ZW9mKCJ0ZXJtaW5hbHB1bmN0dWF0aW9uIildOworICAgIGNoYXIgdW5pbmFt
ZTJjdHlwZV9wb29sX3N0cjIxNjVbc2l6ZW9mKCJzaHJkIildOworICAgIGNoYXIgdW5pbmFtZTJj
dHlwZV9wb29sX3N0cjIxNjZbc2l6ZW9mKCJncmFwaCIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5
cGVfcG9vbF9zdHIyMTY3W3NpemVvZigib2xkaXRhbGljIildOworICAgIGNoYXIgdW5pbmFtZTJj
dHlwZV9wb29sX3N0cjIxNzBbc2l6ZW9mKCJkb2dyIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlw
ZV9wb29sX3N0cjIxNzNbc2l6ZW9mKCJndWpyIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9w
b29sX3N0cjIxODFbc2l6ZW9mKCJwaGFnIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29s
X3N0cjIxODJbc2l6ZW9mKCJndWphcmF0aSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9v
bF9zdHIyMTk1W3NpemVvZigiaW5oYW5ndWxqYW1vIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlw
ZV9wb29sX3N0cjIxOTlbc2l6ZW9mKCJqYXZhbmVzZSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5
cGVfcG9vbF9zdHIyMjAxW3NpemVvZigidGFtbCIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVf
cG9vbF9zdHIyMjA0W3NpemVvZigiaW5waG9uZXRpY2V4dGVuc2lvbnMiKV07CisgICAgY2hhciB1
bmluYW1lMmN0eXBlX3Bvb2xfc3RyMjIwN1tzaXplb2YoInNpZGRoYW0iKV07CisgICAgY2hhciB1
bmluYW1lMmN0eXBlX3Bvb2xfc3RyMjIxN1tzaXplb2YoImJ1Z2luZXNlIildOworICAgIGNoYXIg
dW5pbmFtZTJjdHlwZV9wb29sX3N0cjIyMThbc2l6ZW9mKCJpbm1vbmdvbGlhbnN1cHBsZW1lbnQi
KV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMjIyMltzaXplb2YoImludmFyaWF0
aW9uc2VsZWN0b3JzIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjIyMjRbc2l6
ZW9mKCJpbmhhbmd1bGphbW9leHRlbmRlZGEiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bv
b2xfc3RyMjIyNVtzaXplb2YoImludmVydGljYWxmb3JtcyIpXTsKKyAgICBjaGFyIHVuaW5hbWUy
Y3R5cGVfcG9vbF9zdHIyMjI4W3NpemVvZigic3lyYyIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5
cGVfcG9vbF9zdHIyMjI5W3NpemVvZigibnVtYmVyIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlw
ZV9wb29sX3N0cjIyMzVbc2l6ZW9mKCJpbmNvcHRpY2VwYWN0bnVtYmVycyIpXTsKKyAgICBjaGFy
IHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIyMjM4W3NpemVvZigiYXZzdCIpXTsKKyAgICBjaGFyIHVu
aW5hbWUyY3R5cGVfcG9vbF9zdHIyMjQ0W3NpemVvZigiaW5iYW11bSIpXTsKKyAgICBjaGFyIHVu
aW5hbWUyY3R5cGVfcG9vbF9zdHIyMjQ3W3NpemVvZigibmQiKV07CisgICAgY2hhciB1bmluYW1l
MmN0eXBlX3Bvb2xfc3RyMjI0OFtzaXplb2YoImluc3V0dG9uc2lnbndyaXRpbmciKV07CisgICAg
Y2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMjI1MltzaXplb2YoImV4dGVuZGVyIildOworICAg
IGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjIyNThbc2l6ZW9mKCJpbnRhaXZpZXQiKV07Cisg
ICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMjI2MFtzaXplb2YoImhleCIpXTsKKyAgICBj
aGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIyMjY4W3NpemVvZigiaW5jamt1bmlmaWVkaWRlb2dy
YXBoc2V4dGVuc2lvbmYiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMjI3MVtz
aXplb2YoIm90aGVyIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjIyNzJbc2l6
ZW9mKCJvdGhlcmlkY29udGludWUiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3Ry
MjI3OFtzaXplb2YoInNoYXciKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMjI4
MltzaXplb2YoImRhc2giKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMjI4NVtz
aXplb2YoIm90aGVybnVtYmVyIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjIy
OTRbc2l6ZW9mKCJvcnlhIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjIzMDJb
c2l6ZW9mKCJpbnZlZGljZXh0ZW5zaW9ucyIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9v
bF9zdHIyMzA1W3NpemVvZigic2dudyIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9z
dHIyMzEyW3NpemVvZigiY2F1Y2FzaWFuYWxiYW5pYW4iKV07CisgICAgY2hhciB1bmluYW1lMmN0
eXBlX3Bvb2xfc3RyMjMxNVtzaXplb2YoImlubWF0aGVtYXRpY2FsYWxwaGFudW1lcmljc3ltYm9s
cyIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIyMzIxW3NpemVvZigiaW5waG9u
ZXRpY2V4dGVuc2lvbnNzdXBwbGVtZW50IildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29s
X3N0cjIzMzlbc2l6ZW9mKCJpbnZhcmlhdGlvbnNlbGVjdG9yc3N1cHBsZW1lbnQiKV07CisgICAg
Y2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMjM0M1tzaXplb2YoImluZHVwbG95YW4iKV07Cisg
ICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMjM0NFtzaXplb2YoInN5cmlhYyIpXTsKKyAg
ICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIyMzU3W3NpemVvZigib2FscGhhIildOworICAg
IGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjIzNjFbc2l6ZW9mKCJpbm55aWFrZW5ncHVhY2h1
ZWhtb25nIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjIzNjRbc2l6ZW9mKCJp
bmNvbWJpbmluZ2RpYWNyaXRpY2FsbWFya3MiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bv
b2xfc3RyMjM2NVtzaXplb2YoImluZXRoaW9waWNleHRlbmRlZCIpXTsKKyAgICBjaGFyIHVuaW5h
bWUyY3R5cGVfcG9vbF9zdHIyMzczW3NpemVvZigibmwiKV07CisgICAgY2hhciB1bmluYW1lMmN0
eXBlX3Bvb2xfc3RyMjM3NFtzaXplb2YoImluY29tYmluaW5nZGlhY3JpdGljYWxtYXJrc2ZvcnN5
bWJvbHMiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMjM3NVtzaXplb2YoImto
dWRhd2FkaSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIyMzc4W3NpemVvZigi
b3RoZXJhbHBoYWJldGljIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjIzODlb
c2l6ZW9mKCJvbGRodW5nYXJpYW4iKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3Ry
MjM5NltzaXplb2YoImluY3VycmVuY3lzeW1ib2xzIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlw
ZV9wb29sX3N0cjIzOTdbc2l6ZW9mKCJpbmNqa3JhZGljYWxzc3VwcGxlbWVudCIpXTsKKyAgICBj
aGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIyMzk4W3NpemVvZigiaW5nbGFnb2xpdGljIildOwor
ICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjI0MTVbc2l6ZW9mKCJpbnRpZmluYWdoIild
OworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjI0MTZbc2l6ZW9mKCJpbmdlb3JnaWFu
ZXh0ZW5kZWQiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMjQyN1tzaXplb2Yo
InN1cnJvZ2F0ZSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIyNDMzW3NpemVv
ZigiaW5jeXJpbGxpY2V4dGVuZGVkYiIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9z
dHIyNDQwW3NpemVvZigiZXRoaSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIy
NDUxW3NpemVvZigidGl0bGVjYXNlbGV0dGVyIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9w
b29sX3N0cjI0NTRbc2l6ZW9mKCJyb2hnIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29s
X3N0cjI0NThbc2l6ZW9mKCJpbm1lcm9pdGljY3Vyc2l2ZSIpXTsKKyAgICBjaGFyIHVuaW5hbWUy
Y3R5cGVfcG9vbF9zdHIyNDYwW3NpemVvZigiaWRzdHJpbmFyeW9wZXJhdG9yIildOworICAgIGNo
YXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjI0NzBbc2l6ZW9mKCJpbnBoYWdzcGEiKV07CisgICAg
Y2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMjQ3NVtzaXplb2YoImxlcGNoYSIpXTsKKyAgICBj
aGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIyNDc5W3NpemVvZigiaW50YWdhbG9nIildOworICAg
IGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjI0ODBbc2l6ZW9mKCJtYXRoc3ltYm9sIildOwor
ICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjI0ODFbc2l6ZW9mKCJpbmNvbWJpbmluZ2Rp
YWNyaXRpY2FsbWFya3NzdXBwbGVtZW50IildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29s
X3N0cjI1MDZbc2l6ZW9mKCJpbmJyYWhtaSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9v
bF9zdHIyNTEzW3NpemVvZigiaW5zeW1ib2xzYW5kcGljdG9ncmFwaHNleHRlbmRlZGEiKV07Cisg
ICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMjUxOVtzaXplb2YoImlubGluZWFyYnN5bGxh
YmFyeSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIyNTI5W3NpemVvZigib2xk
dHVya2ljIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjI1MzRbc2l6ZW9mKCJp
bmJlbmdhbGkiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMjU0MFtzaXplb2Yo
IndhbmNobyIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIyNTQyW3NpemVvZigi
b3NtYW55YSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIyNTQ4W3NpemVvZigi
YnVoZCIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIyNTUyW3NpemVvZigiaW5z
bWFsbGZvcm12YXJpYW50cyIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIyNTYx
W3NpemVvZigiaW5kZXZhbmFnYXJpZXh0ZW5kZWQiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBl
X3Bvb2xfc3RyMjU2MltzaXplb2YoInNvZnRkb3R0ZWQiKV07CisgICAgY2hhciB1bmluYW1lMmN0
eXBlX3Bvb2xfc3RyMjU2NFtzaXplb2YoImluYnVnaW5lc2UiKV07CisgICAgY2hhciB1bmluYW1l
MmN0eXBlX3Bvb2xfc3RyMjU2NltzaXplb2YoIm1haGoiKV07CisgICAgY2hhciB1bmluYW1lMmN0
eXBlX3Bvb2xfc3RyMjU2N1tzaXplb2YoImlubGF0aW4xc3VwcGxlbWVudCIpXTsKKyAgICBjaGFy
IHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIyNTcwW3NpemVvZigiaW5nb3RoaWMiKV07CisgICAgY2hh
ciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMjU3NVtzaXplb2YoIm1haGFqYW5pIildOworICAgIGNo
YXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjI1NzZbc2l6ZW9mKCJoYW5nIildOworICAgIGNoYXIg
dW5pbmFtZTJjdHlwZV9wb29sX3N0cjI1Nzlbc2l6ZW9mKCJzeWxvIildOworICAgIGNoYXIgdW5p
bmFtZTJjdHlwZV9wb29sX3N0cjI1ODZbc2l6ZW9mKCJ3YXJhbmdjaXRpIildOworICAgIGNoYXIg
dW5pbmFtZTJjdHlwZV9wb29sX3N0cjI1OTVbc2l6ZW9mKCJpbmd1amFyYXRpIildOworICAgIGNo
YXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjI2MDNbc2l6ZW9mKCJ0aXJodXRhIildOworICAgIGNo
YXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjI2MDZbc2l6ZW9mKCJpbmNvbWJpbmluZ2RpYWNyaXRp
Y2FsbWFya3NleHRlbmRlZCIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIyNjA5
W3NpemVvZigic3BhY2VzZXBhcmF0b3IiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xf
c3RyMjYxNFtzaXplb2YoImluZ3VuamFsYWdvbmRpIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlw
ZV9wb29sX3N0cjI2MjRbc2l6ZW9mKCJ3Y2hvIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9w
b29sX3N0cjI2MzFbc2l6ZW9mKCJoaXJhZ2FuYSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVf
cG9vbF9zdHIyNjM0W3NpemVvZigiZXh0ZW5kZWRwaWN0b2dyYXBoaWMiKV07CisgICAgY2hhciB1
bmluYW1lMmN0eXBlX3Bvb2xfc3RyMjY0M1tzaXplb2YoImlucmVqYW5nIildOworICAgIGNoYXIg
dW5pbmFtZTJjdHlwZV9wb29sX3N0cjI2NDRbc2l6ZW9mKCJpbm90dG9tYW5zaXlhcW51bWJlcnMi
KV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMjY0OFtzaXplb2YoIm5jaGFyIild
OworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjI2NTBbc2l6ZW9mKCJjeXJpbGxpYyIp
XTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIyNjUzW3NpemVvZigia2hvaiIpXTsK
KyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIyNjU2W3NpemVvZigiaW5saW1idSIpXTsK
KyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIyNjYzW3NpemVvZigiaG1uZyIpXTsKKyAg
ICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIyNjY1W3NpemVvZigidGhhYSIpXTsKKyAgICBj
aGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIyNjY4W3NpemVvZigidGhhaSIpXTsKKyAgICBjaGFy
IHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIyNjcwW3NpemVvZigiaW5jamt1bmlmaWVkaWRlb2dyYXBo
c2V4dGVuc2lvbmIiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMjY3M1tzaXpl
b2YoImRldmEiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMjY3NltzaXplb2Yo
InRoYWFuYSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIyNjg4W3NpemVvZigi
cGhhZ3NwYSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIyNjkxW3NpemVvZigi
ZGV2YW5hZ2FyaSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIyNjkyW3NpemVv
ZigidGFuZyIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIyNjk0W3NpemVvZigi
Y3VycmVuY3lzeW1ib2wiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMjY5OFtz
aXplb2YoInRhZ2JhbndhIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjI3MDFb
c2l6ZW9mKCJpbmVuY2xvc2VkY2prbGV0dGVyc2FuZG1vbnRocyIpXTsKKyAgICBjaGFyIHVuaW5h
bWUyY3R5cGVfcG9vbF9zdHIyNzAyW3NpemVvZigidGFtaWwiKV07CisgICAgY2hhciB1bmluYW1l
MmN0eXBlX3Bvb2xfc3RyMjcyMVtzaXplb2YoInRpcmgiKV07CisgICAgY2hhciB1bmluYW1lMmN0
eXBlX3Bvb2xfc3RyMjcyM1tzaXplb2YoImRpZ2l0IildOworICAgIGNoYXIgdW5pbmFtZTJjdHlw
ZV9wb29sX3N0cjI3MzJbc2l6ZW9mKCJ0YWx1IildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9w
b29sX3N0cjI3NDdbc2l6ZW9mKCJ6cCIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9z
dHIyNzUwW3NpemVvZigiaW5wYXVjaW5oYXUiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bv
b2xfc3RyMjc2MFtzaXplb2YoInRhaXRoYW0iKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bv
b2xfc3RyMjc2NFtzaXplb2YoIm90aGVybG93ZXJjYXNlIildOworICAgIGNoYXIgdW5pbmFtZTJj
dHlwZV9wb29sX3N0cjI3Njhbc2l6ZW9mKCJ0ZWx1IildOworICAgIGNoYXIgdW5pbmFtZTJjdHlw
ZV9wb29sX3N0cjI3Njlbc2l6ZW9mKCJpbmFlZ2Vhbm51bWJlcnMiKV07CisgICAgY2hhciB1bmlu
YW1lMmN0eXBlX3Bvb2xfc3RyMjc3N1tzaXplb2YoIm90aGVybGV0dGVyIildOworICAgIGNoYXIg
dW5pbmFtZTJjdHlwZV9wb29sX3N0cjI3ODBbc2l6ZW9mKCJ3aGl0ZXNwYWNlIildOworICAgIGNo
YXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjI3OTNbc2l6ZW9mKCJub25zcGFjaW5nbWFyayIpXTsK
KyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIyODE2W3NpemVvZigiZ3JhcGhlbWVjbHVz
dGVyYnJlYWs9c3BhY2luZ21hcmsiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3Ry
MjgyMVtzaXplb2YoImlubGV0dGVybGlrZXN5bWJvbHMiKV07CisgICAgY2hhciB1bmluYW1lMmN0
eXBlX3Bvb2xfc3RyMjgzNFtzaXplb2YoImludGFnYmFud2EiKV07CisgICAgY2hhciB1bmluYW1l
MmN0eXBlX3Bvb2xfc3RyMjg0MVtzaXplb2YoIm9sZHNvZ2RpYW4iKV07CisgICAgY2hhciB1bmlu
YW1lMmN0eXBlX3Bvb2xfc3RyMjg0OFtzaXplb2YoIm90aGVyaWRzdGFydCIpXTsKKyAgICBjaGFy
IHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIyODUyW3NpemVvZigiZ3JhcGhlbWVjbHVzdGVyYnJlYWs9
Y3IiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMjg1NVtzaXplb2YoIm5hcmIi
KV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMjg1NltzaXplb2YoImNoYW5nZXN3
aGVuY2FzZW1hcHBlZCIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIyODU5W3Np
emVvZigiaW5ib3BvbW9mbyIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIyODYy
W3NpemVvZigidGFuZ3V0IildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjI4Njdb
c2l6ZW9mKCJncmFwaGVtZWNsdXN0ZXJicmVhaz1yZWdpb25hbGluZGljYXRvciIpXTsKKyAgICBj
aGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIyODcxW3NpemVvZigibm9uY2hhcmFjdGVyY29kZXBv
aW50IildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjI4ODNbc2l6ZW9mKCJvdGhl
cnVwcGVyY2FzZSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIyODg1W3NpemVv
ZigicmpuZyIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIyODg2W3NpemVvZigi
c3lsb3RpbmFncmkiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMjkwNFtzaXpl
b2YoImluaGFuZ3Vsc3lsbGFibGVzIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0
cjI5MDVbc2l6ZW9mKCJlbW9qaXByZXNlbnRhdGlvbiIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5
cGVfcG9vbF9zdHIyOTA2W3NpemVvZigiaW5pbmRpY3NpeWFxbnVtYmVycyIpXTsKKyAgICBjaGFy
IHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIyOTA5W3NpemVvZigiaW5iYXNzYXZhaCIpXTsKKyAgICBj
aGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIyOTEyW3NpemVvZigib2dyZXh0IildOworICAgIGNo
YXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjI5MjZbc2l6ZW9mKCJvdGhlcnN5bWJvbCIpXTsKKyAg
ICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIyOTM4W3NpemVvZigib3VwcGVyIildOworICAg
IGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjI5NDFbc2l6ZW9mKCJpbmJ1aGlkIildOworICAg
IGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjI5NjNbc2l6ZW9mKCJobW5wIildOworICAgIGNo
YXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjI5NjRbc2l6ZW9mKCJpbnBzYWx0ZXJwYWhsYXZpIild
OworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjI5Njdbc2l6ZW9mKCJmaW5hbHB1bmN0
dWF0aW9uIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjI5ODBbc2l6ZW9mKCJw
aGxwIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjI5ODRbc2l6ZW9mKCJpbmJh
bXVtc3VwcGxlbWVudCIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIyOTg2W3Np
emVvZigiYnVoaWQiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMjk4N1tzaXpl
b2YoInBhcmFncmFwaHNlcGFyYXRvciIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9z
dHIyOTg4W3NpemVvZigiaW5hbHBoYWJldGljcHJlc2VudGF0aW9uZm9ybXMiKV07CisgICAgY2hh
ciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMjk5M1tzaXplb2YoIm9tYXRoIildOworICAgIGNoYXIg
dW5pbmFtZTJjdHlwZV9wb29sX3N0cjMwMDBbc2l6ZW9mKCJhbnkiKV07CisgICAgY2hhciB1bmlu
YW1lMmN0eXBlX3Bvb2xfc3RyMzAwMVtzaXplb2YoImVsYmEiKV07CisgICAgY2hhciB1bmluYW1l
MmN0eXBlX3Bvb2xfc3RyMzAwMltzaXplb2YoImNoYW5nZXN3aGVudGl0bGVjYXNlZCIpXTsKKyAg
ICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIzMDA1W3NpemVvZigiaW5jb21iaW5pbmdoYWxm
bWFya3MiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMzAwNltzaXplb2YoImlu
dGFuZ3V0Y29tcG9uZW50cyIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIzMDEy
W3NpemVvZigiaGViciIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIzMDI4W3Np
emVvZigiZGVwcmVjYXRlZCIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIzMDQ1
W3NpemVvZigiaW5hcmFiaWNtYXRoZW1hdGljYWxhbHBoYWJldGljc3ltYm9scyIpXTsKKyAgICBj
aGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIzMDU1W3NpemVvZigiaW5wcml2YXRldXNlYXJlYSIp
XTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIzMDg5W3NpemVvZigia2F5YWhsaSIp
XTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIzMDk4W3NpemVvZigiaW5wbGF5aW5n
Y2FyZHMiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMzA5OVtzaXplb2YoImlu
YXJhYmljcHJlc2VudGF0aW9uZm9ybXNiIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29s
X3N0cjMxMDBbc2l6ZW9mKCJvZ2hhbSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9z
dHIzMTAxW3NpemVvZigiZWx5bSIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIz
MTA3W3NpemVvZigiZ3JhcGhlbWVjbHVzdGVyYnJlYWs9dCIpXTsKKyAgICBjaGFyIHVuaW5hbWUy
Y3R5cGVfcG9vbF9zdHIzMTA5W3NpemVvZigiZ3JhcGhlbWVjbHVzdGVyYnJlYWs9bHZ0IildOwor
ICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjMxMTFbc2l6ZW9mKCJuYmF0IildOworICAg
IGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjMxMjVbc2l6ZW9mKCJuYWJhdGFlYW4iKV07Cisg
ICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMzEyNltzaXplb2YoImhhbmd1bCIpXTsKKyAg
ICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIzMTM0W3NpemVvZigiZWx5bWFpYyIpXTsKKyAg
ICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIzMTU4W3NpemVvZigiaW5oZWJyZXciKV07Cisg
ICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMzE2NVtzaXplb2YoImluamF2YW5lc2UiKV07
CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMzE2OVtzaXplb2YoInN5bWJvbCIpXTsK
KyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIzMTc2W3NpemVvZigiaW5tYXRoZW1hdGlj
YWxvcGVyYXRvcnMiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMzE4MFtzaXpl
b2YoImluYXJhYmljc3VwcGxlbWVudCIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9z
dHIzMTg1W3NpemVvZigiY3lwcmlvdCIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9z
dHIzMTk0W3NpemVvZigiaHVuZyIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIz
MjA1W3NpemVvZigid3NwYWNlIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjMy
MDlbc2l6ZW9mKCJjaGFuZ2Vzd2hlbmxvd2VyY2FzZWQiKV07CisgICAgY2hhciB1bmluYW1lMmN0
eXBlX3Bvb2xfc3RyMzIxNVtzaXplb2YoImVsYmFzYW4iKV07CisgICAgY2hhciB1bmluYW1lMmN0
eXBlX3Bvb2xfc3RyMzIxOFtzaXplb2YoImhsdXciKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBl
X3Bvb2xfc3RyMzIzN1tzaXplb2YoImluc3VwZXJzY3JpcHRzYW5kc3Vic2NyaXB0cyIpXTsKKyAg
ICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIzMjM5W3NpemVvZigiZ3JhcGhlbWVjbHVzdGVy
YnJlYWs9ZXh0ZW5kIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjMyNDBbc2l6
ZW9mKCJncmFwaGVtZWNsdXN0ZXJicmVhaz1wcmVwZW5kIildOworICAgIGNoYXIgdW5pbmFtZTJj
dHlwZV9wb29sX3N0cjMyNDhbc2l6ZW9mKCJuc2h1IildOworICAgIGNoYXIgdW5pbmFtZTJjdHlw
ZV9wb29sX3N0cjMyNTRbc2l6ZW9mKCJvbGRub3J0aGFyYWJpYW4iKV07CisgICAgY2hhciB1bmlu
YW1lMmN0eXBlX3Bvb2xfc3RyMzI2NltzaXplb2YoImlueWlqaW5naGV4YWdyYW1zeW1ib2xzIild
OworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjMyODZbc2l6ZW9mKCJoZXhkaWdpdCIp
XTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIzMjk3W3NpemVvZigiZ3JhcGhlbWVj
bHVzdGVyYnJlYWs9bCIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIzMzAzW3Np
emVvZigiZ3JhcGhlbWVjbHVzdGVyYnJlYWs9Y29udHJvbCIpXTsKKyAgICBjaGFyIHVuaW5hbWUy
Y3R5cGVfcG9vbF9zdHIzMzA5W3NpemVvZigiYmFzc2F2YWgiKV07CisgICAgY2hhciB1bmluYW1l
MmN0eXBlX3Bvb2xfc3RyMzMxN1tzaXplb2YoIm90aGVyZGVmYXVsdGlnbm9yYWJsZWNvZGVwb2lu
dCIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIzMzI4W3NpemVvZigiY2hhbmdl
c3doZW51cHBlcmNhc2VkIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjMzMjlb
c2l6ZW9mKCJpbmFsY2hlbWljYWxzeW1ib2xzIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9w
b29sX3N0cjMzNDhbc2l6ZW9mKCJpbnN1cHBsZW1lbnRhbGFycm93c2EiKV07CisgICAgY2hhciB1
bmluYW1lMmN0eXBlX3Bvb2xfc3RyMzM0OVtzaXplb2YoImlueWlzeWxsYWJsZXMiKV07CisgICAg
Y2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMzM1MVtzaXplb2YoInRpYnQiKV07CisgICAgY2hh
ciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMzM2MFtzaXplb2YoIm90aGVybWF0aCIpXTsKKyAgICBj
aGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIzMzYzW3NpemVvZigidGliZXRhbiIpXTsKKyAgICBj
aGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIzMzY1W3NpemVvZigiaW5tYWhqb25ndGlsZXMiKV07
CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMzQzM1tzaXplb2YoInNpZ253cml0aW5n
IildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjM0MzZbc2l6ZW9mKCJudXNodSIp
XTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIzNDM5W3NpemVvZigibW9kaWZpZXJz
eW1ib2wiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMzQ0MltzaXplb2YoImlu
aGFsZndpZHRoYW5kZnVsbHdpZHRoZm9ybXMiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bv
b2xfc3RyMzQ1OFtzaXplb2YoInVwcGVyIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29s
X3N0cjM0NjBbc2l6ZW9mKCJpbnN1cHBsZW1lbnRhbGFycm93c2MiKV07CisgICAgY2hhciB1bmlu
YW1lMmN0eXBlX3Bvb2xfc3RyMzUxMVtzaXplb2YoImluc3VwcGxlbWVudGFsbWF0aGVtYXRpY2Fs
b3BlcmF0b3JzIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjM1MTJbc2l6ZW9m
KCJpbmN5cHJpb3RzeWxsYWJhcnkiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3Ry
MzUxN1tzaXplb2YoImR1cGwiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMzUz
MVtzaXplb2YoInRhdnQiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMzUzMltz
aXplb2YoImlucGFoYXdoaG1vbmciKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3Ry
MzUzM1tzaXplb2YoImFscGhhYmV0aWMiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xf
c3RyMzU1MFtzaXplb2YoImRhc2hwdW5jdHVhdGlvbiIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5
cGVfcG9vbF9zdHIzNTU4W3NpemVvZigidXBwZXJjYXNlIildOworICAgIGNoYXIgdW5pbmFtZTJj
dHlwZV9wb29sX3N0cjM2MTNbc2l6ZW9mKCJzb3lvbWJvIildOworICAgIGNoYXIgdW5pbmFtZTJj
dHlwZV9wb29sX3N0cjM2MTRbc2l6ZW9mKCJoYW5pZmlyb2hpbmd5YSIpXTsKKyAgICBjaGFyIHVu
aW5hbWUyY3R5cGVfcG9vbF9zdHIzNjE2W3NpemVvZigib3RoZXJwdW5jdHVhdGlvbiIpXTsKKyAg
ICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIzNjI4W3NpemVvZigiZGVmYXVsdGlnbm9yYWJs
ZWNvZGVwb2ludCIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIzNjQ4W3NpemVv
ZigiaW5oYW5ndWxqYW1vZXh0ZW5kZWRiIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29s
X3N0cjM2NjRbc2l6ZW9mKCJhZ2hiIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0
cjM3MDNbc2l6ZW9mKCJ0aWZpbmFnaCIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9z
dHIzNzA1W3NpemVvZigiaW5sYXRpbmV4dGVuZGVkYiIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5
cGVfcG9vbF9zdHIzNzE0W3NpemVvZigidGZuZyIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVf
cG9vbF9zdHIzNzY2W3NpemVvZigiaW5oaWdocHJpdmF0ZXVzZXN1cnJvZ2F0ZXMiKV07CisgICAg
Y2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMzc5MVtzaXplb2YoImNoYW5nZXN3aGVuY2FzZWZv
bGRlZCIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIzODA1W3NpemVvZigiZGVw
IildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjM4MTlbc2l6ZW9mKCJvbGRzb3V0
aGFyYWJpYW4iKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyMzgyMVtzaXplb2Yo
ImdyYXBoZW1lY2x1c3RlcmJyZWFrPWxmIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29s
X3N0cjM4NDJbc2l6ZW9mKCJwYWhhd2hobW9uZyIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVf
cG9vbF9zdHIzODQ1W3NpemVvZigidW5pZmllZGlkZW9ncmFwaCIpXTsKKyAgICBjaGFyIHVuaW5h
bWUyY3R5cGVfcG9vbF9zdHIzODkxW3NpemVvZigidXBwZXJjYXNlbGV0dGVyIildOworICAgIGNo
YXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjM5MjRbc2l6ZW9mKCJpbnN1cHBsZW1lbnRhbHB1bmN0
dWF0aW9uIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjM5NDJbc2l6ZW9mKCJl
dGhpb3BpYyIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHIzOTc2W3NpemVvZigi
aW5nbGFnb2xpdGljc3VwcGxlbWVudCIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9z
dHIzOTk1W3NpemVvZigicmVqYW5nIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0
cjQwODdbc2l6ZW9mKCJpbmJvcG9tb2ZvZXh0ZW5kZWQiKV07CisgICAgY2hhciB1bmluYW1lMmN0
eXBlX3Bvb2xfc3RyNDEwOVtzaXplb2YoInRhZ2IiKV07CisgICAgY2hhciB1bmluYW1lMmN0eXBl
X3Bvb2xfc3RyNDEzN1tzaXplb2YoIm90aGVyZ3JhcGhlbWVleHRlbmQiKV07CisgICAgY2hhciB1
bmluYW1lMmN0eXBlX3Bvb2xfc3RyNDE2MltzaXplb2YoImluZWd5cHRpYW5oaWVyb2dseXBocyIp
XTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHI0MTc1W3NpemVvZigiaW5lZ3lwdGlh
bmhpZXJvZ2x5cGhmb3JtYXRjb250cm9scyIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9v
bF9zdHI0MjAzW3NpemVvZigiaGVicmV3IildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29s
X3N0cjQyNTRbc2l6ZW9mKCJ0Z2xnIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0
cjQyNzZbc2l6ZW9mKCJ0YWdhbG9nIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0
cjQyOTFbc2l6ZW9mKCJncmFwaGVtZWNsdXN0ZXJicmVhaz16d2oiKV07CisgICAgY2hhciB1bmlu
YW1lMmN0eXBlX3Bvb2xfc3RyNDMyMVtzaXplb2YoInp5eXkiKV07CisgICAgY2hhciB1bmluYW1l
MmN0eXBlX3Bvb2xfc3RyNDM2MFtzaXplb2YoImh5cGhlbiIpXTsKKyAgICBjaGFyIHVuaW5hbWUy
Y3R5cGVfcG9vbF9zdHI0Mzk3W3NpemVvZigiaW5ib3hkcmF3aW5nIildOworICAgIGNoYXIgdW5p
bmFtZTJjdHlwZV9wb29sX3N0cjQ0MDVbc2l6ZW9mKCJncmFwaGVtZWNsdXN0ZXJicmVhaz12Iild
OworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjQ0MDZbc2l6ZW9mKCJncmFwaGVtZWNs
dXN0ZXJicmVhaz1sdiIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHI0NDYwW3Np
emVvZigidGVsdWd1IildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjQ0ODVbc2l6
ZW9mKCJkdXBsb3lhbiIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHI0NTI4W3Np
emVvZigib3BlbnB1bmN0dWF0aW9uIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0
cjQ2NzRbc2l6ZW9mKCJpbnN1cHBsZW1lbnRhcnlwcml2YXRldXNlYXJlYWEiKV07CisgICAgY2hh
ciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyNDY4M1tzaXplb2YoImluaGlnaHN1cnJvZ2F0ZXMiKV07
CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyNDc3MltzaXplb2YoImluc3VwcGxlbWVu
dGFsYXJyb3dzYiIpXTsKKyAgICBjaGFyIHVuaW5hbWUyY3R5cGVfcG9vbF9zdHI0OTQ4W3NpemVv
ZigiaW5zdXBwbGVtZW50YWxzeW1ib2xzYW5kcGljdG9ncmFwaHMiKV07CisgICAgY2hhciB1bmlu
YW1lMmN0eXBlX3Bvb2xfc3RyNDk1NVtzaXplb2YoImVneXAiKV07CisgICAgY2hhciB1bmluYW1l
MmN0eXBlX3Bvb2xfc3RyNDk4NltzaXplb2YoImluaGFuZ3VsY29tcGF0aWJpbGl0eWphbW8iKV07
CisgICAgY2hhciB1bmluYW1lMmN0eXBlX3Bvb2xfc3RyNTExNFtzaXplb2YoIm55aWFrZW5ncHVh
Y2h1ZWhtb25nIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0cjU2MDhbc2l6ZW9m
KCJlZ3lwdGlhbmhpZXJvZ2x5cGhzIildOworICAgIGNoYXIgdW5pbmFtZTJjdHlwZV9wb29sX3N0
cjYwOThbc2l6ZW9mKCJpbnN1cHBsZW1lbnRhcnlwcml2YXRldXNlYXJlYWIiKV07CisjZW5kaWYg
LyogVVNFX1VOSUNPREVfUFJPUEVSVElFUyAqLworICB9Oworc3RhdGljIGNvbnN0IHN0cnVjdCB1
bmluYW1lMmN0eXBlX3Bvb2xfdCB1bmluYW1lMmN0eXBlX3Bvb2xfY29udGVudHMgPQorICB7Cisj
aWZuZGVmIFVTRV9VTklDT0RFX1BST1BFUlRJRVMKKyAgICAid29yZCIsCisjZWxzZSAvKiBVU0Vf
VU5JQ09ERV9QUk9QRVJUSUVTICovCisgICAgInlpIiwKKyAgICAieWlpaSIsCisgICAgImxhbmEi
LAorICAgICJ6IiwKKyAgICAibGluYSIsCisgICAgIm1ha2EiLAorICAgICJtYW5pIiwKKyAgICAi
bW4iLAorICAgICJtaWFvIiwKKyAgICAibG8iLAorICAgICJjaSIsCisgICAgImxhbyIsCisgICAg
Imxhb28iLAorICAgICJpbmthbm5hZGEiLAorICAgICJjbiIsCisgICAgInBpIiwKKyAgICAiaW5u
a28iLAorICAgICJ6enp6IiwKKyAgICAiZ3JhbiIsCisgICAgImNvIiwKKyAgICAibGluZWFyYSIs
CisgICAgIm1hcmsiLAorICAgICJwbyIsCisgICAgIm1lIiwKKyAgICAiY2FyaSIsCisgICAgImlu
a2hhcm9zaHRoaSIsCisgICAgImthbmEiLAorICAgICJsb2UiLAorICAgICJtIiwKKyAgICAiZ3Jl
ayIsCisgICAgIm1ybyIsCisgICAgIm1yb28iLAorICAgICJjYXJpYW4iLAorICAgICJnZW9yIiwK
KyAgICAiZ3JlZWsiLAorICAgICJnb25tIiwKKyAgICAibWVuZGVraWtha3VpIiwKKyAgICAicGUi
LAorICAgICJtZXJvIiwKKyAgICAiaW5vc21hbnlhIiwKKyAgICAiY2FrbSIsCisgICAgImlubWFu
aWNoYWVhbiIsCisgICAgImlubXJvIiwKKyAgICAiaW5taWFvIiwKKyAgICAiaW5jaGFrbWEiLAor
ICAgICJjIiwKKyAgICAibWFuZGFpYyIsCisgICAgIm1lZXRlaW1heWVrIiwKKyAgICAiaW5hcm1l
bmlhbiIsCisgICAgImlubXlhbm1hciIsCisgICAgImlubWFrYXNhciIsCisgICAgImNvbW1vbiIs
CisgICAgImxtIiwKKyAgICAibWFyYyIsCisgICAgImlucnVuaWMiLAorICAgICJpbmNhcmlhbiIs
CisgICAgImluaWRlb2dyYXBoaWNzeW1ib2xzYW5kcHVuY3R1YXRpb24iLAorICAgICJpbmtobWVy
IiwKKyAgICAicWFhaSIsCisgICAgImluYWhvbSIsCisgICAgIm1lcmMiLAorICAgICJjb21iaW5p
bmdtYXJrIiwKKyAgICAibGMiLAorICAgICJwZXJtIiwKKyAgICAibWMiLAorICAgICJjb25uZWN0
b3JwdW5jdHVhdGlvbiIsCisgICAgImNhbnMiLAorICAgICJpbmN1bmVpZm9ybW51bWJlcnNhbmRw
dW5jdHVhdGlvbiIsCisgICAgImFybWkiLAorICAgICJjYyIsCisgICAgImFybW4iLAorICAgICJp
bmNoZXJva2VlIiwKKyAgICAicHJlcGVuZGVkY29uY2F0ZW5hdGlvbm1hcmsiLAorICAgICJpbmN1
bmVpZm9ybSIsCisgICAgImluYXZlc3RhbiIsCisgICAgImluaXBhZXh0ZW5zaW9ucyIsCisgICAg
InBjIiwKKyAgICAiYXJtZW5pYW4iLAorICAgICJpbnNoYXJhZGEiLAorICAgICJpbm1hcmNoZW4i
LAorICAgICJtYWthc2FyIiwKKyAgICAibWFzYXJhbWdvbmRpIiwKKyAgICAiaW5hcnJvd3MiLAor
ICAgICJpbmN5cmlsbGljIiwKKyAgICAiaW5jaGFtIiwKKyAgICAicW1hcmsiLAorICAgICJyaSIs
CisgICAgInFhYWMiLAorICAgICJpbnNhbWFyaXRhbiIsCisgICAgImxhdG4iLAorICAgICJpbm1h
c2FyYW1nb25kaSIsCisgICAgImludGhhYW5hIiwKKyAgICAibGF0aW4iLAorICAgICJpbnRoYWki
LAorICAgICJsaW5lc2VwYXJhdG9yIiwKKyAgICAicGNtIiwKKyAgICAiaW5rYXRha2FuYSIsCisg
ICAgImlua2FpdGhpIiwKKyAgICAiaW56YW5hYmF6YXJzcXVhcmUiLAorICAgICJpbnNjcmlwdGlv
bmFscGFydGhpYW4iLAorICAgICJpbml0aWFscHVuY3R1YXRpb24iLAorICAgICJtdGVpIiwKKyAg
ICAidmFpIiwKKyAgICAidmFpaSIsCisgICAgImlua2htZXJzeW1ib2xzIiwKKyAgICAiaW5zeXJp
YWMiLAorICAgICJpbnRha3JpIiwKKyAgICAiYXJhYmljIiwKKyAgICAienMiLAorICAgICJrYXRh
a2FuYSIsCisgICAgInBydGkiLAorICAgICJhc2NpaSIsCisgICAgImNzIiwKKyAgICAicHMiLAor
ICAgICJtYW5kIiwKKyAgICAicHJpdmF0ZXVzZSIsCisgICAgImlucnVtaW51bWVyYWxzeW1ib2xz
IiwKKyAgICAiaW5teWFubWFyZXh0ZW5kZWRhIiwKKyAgICAibW9kaSIsCisgICAgImluY2prY29t
cGF0aWJpbGl0eWZvcm1zIiwKKyAgICAiaW5rYW5hZXh0ZW5kZWRhIiwKKyAgICAiaW5jamtjb21w
YXRpYmlsaXR5aWRlb2dyYXBocyIsCisgICAgImJyYWkiLAorICAgICJtZW5kIiwKKyAgICAiaWRl
byIsCisgICAgImxldHRlciIsCisgICAgImwiLAorICAgICJpbm1lZXRlaW1heWVrIiwKKyAgICAi
aW5pZGVvZ3JhcGhpY2Rlc2NyaXB0aW9uY2hhcmFjdGVycyIsCisgICAgInhpZGNvbnRpbnVlIiwK
KyAgICAia25kYSIsCisgICAgImlubmFuZGluYWdhcmkiLAorICAgICJrYW5uYWRhIiwKKyAgICAi
aW5tb2RpIiwKKyAgICAiaW5sYW8iLAorICAgICJpbm9sZG5vcnRoYXJhYmlhbiIsCisgICAgImlu
dHJhbnNwb3J0YW5kbWFwc3ltYm9scyIsCisgICAgImxldHRlcm51bWJlciIsCisgICAgImdvdGhp
YyIsCisgICAgImlubGluZWFyYSIsCisgICAgImlubWVuZGVraWtha3VpIiwKKyAgICAieGlkYyIs
CisgICAgIm1vbmdvbGlhbiIsCisgICAgImlubWlzY2VsbGFuZW91c21hdGhlbWF0aWNhbHN5bWJv
bHNhIiwKKyAgICAiaW5zcGVjaWFscyIsCisgICAgImdybGluayIsCisgICAgImJyYWhtaSIsCisg
ICAgImluZW1vdGljb25zIiwKKyAgICAia2FsaSIsCisgICAgImlub2xkaXRhbGljIiwKKyAgICAi
aW5tZWRlZmFpZHJpbiIsCisgICAgImluY2hlc3NzeW1ib2xzIiwKKyAgICAiaW5jamtjb21wYXRp
YmlsaXR5aWRlb2dyYXBoc3N1cHBsZW1lbnQiLAorICAgICJpbmFkbGFtIiwKKyAgICAicHNhbHRl
cnBhaGxhdmkiLAorICAgICJpbmNvbW1vbmluZGljbnVtYmVyZm9ybXMiLAorICAgICJsdCIsCisg
ICAgImlubmV3YSIsCisgICAgInNrIiwKKyAgICAiY29udHJvbCIsCisgICAgImluYW5jaWVudHN5
bWJvbHMiLAorICAgICJwYWxtIiwKKyAgICAiaW5seWNpYW4iLAorICAgICJzbyIsCisgICAgInBh
dHRlcm53aGl0ZXNwYWNlIiwKKyAgICAieGlkcyIsCisgICAgImlubWFuZGFpYyIsCisgICAgImlk
YyIsCisgICAgIm1lcm9pdGljY3Vyc2l2ZSIsCisgICAgImlud2FyYW5nY2l0aSIsCisgICAgInNv
cmEiLAorICAgICJpbm9wdGljYWxjaGFyYWN0ZXJyZWNvZ25pdGlvbiIsCisgICAgImlub2xkc29n
ZGlhbiIsCisgICAgImlubWFsYXlhbGFtIiwKKyAgICAiYmFtdW0iLAorICAgICJpbmthbmFzdXBw
bGVtZW50IiwKKyAgICAiaW5zdW5kYW5lc2UiLAorICAgICJncmV4dCIsCisjZW5kaWYgLyogVVNF
X1VOSUNPREVfUFJPUEVSVElFUyAqLworICAgICJwcmludCIsCisjaWZuZGVmIFVTRV9VTklDT0RF
X1BST1BFUlRJRVMKKyAgICAicHVuY3QiLAorICAgICJhbHBoYSIsCisjZWxzZSAvKiBVU0VfVU5J
Q09ERV9QUk9QRVJUSUVTICovCisgICAgImludGFpdGhhbSIsCisgICAgImxvd2VyIiwKKyAgICAi
am9pbmMiLAorICAgICJpbm9sZHNvdXRoYXJhYmlhbiIsCisgICAgImluY2prc3Ryb2tlcyIsCisg
ICAgImJhdGsiLAorICAgICJzYW1yIiwKKyAgICAiaW53YW5jaG8iLAorICAgICJiYXRhayIsCisg
ICAgInZzIiwKKyAgICAicGF0d3MiLAorICAgICJzYW1hcml0YW4iLAorICAgICJpZHNiaW5hcnlv
cGVyYXRvciIsCisgICAgInBhdWMiLAorICAgICJpbnNtYWxsa2FuYWV4dGVuc2lvbiIsCisgICAg
InNtIiwKKyAgICAiaW5kb21pbm90aWxlcyIsCisjZW5kaWYgLyogVVNFX1VOSUNPREVfUFJPUEVS
VElFUyAqLworICAgICJhbG51bSIsCisjaWZkZWYgVVNFX1VOSUNPREVfUFJPUEVSVElFUworICAg
ICJpbnN5bG90aW5hZ3JpIiwKKyAgICAiaW51Z2FyaXRpYyIsCisgICAgImluY29udHJvbHBpY3R1
cmVzIiwKKyAgICAiaW5saW5lYXJiaWRlb2dyYW1zIiwKKyAgICAiaW5tdXNpY2Fsc3ltYm9scyIs
CisgICAgInMiLAorICAgICJpdGFsIiwKKyAgICAiaW5tb2RpZmllcnRvbmVsZXR0ZXJzIiwKKyAg
ICAiaW5hbmNpZW50Z3JlZWttdXNpY2Fsbm90YXRpb24iLAorICAgICJwYXR0ZXJuc3ludGF4IiwK
KyAgICAibGlzdSIsCisgICAgImxvd2VyY2FzZSIsCisgICAgImN3Y20iLAorICAgICJzYyIsCisg
ICAgImJhc3MiLAorICAgICJpZHMiLAorICAgICJpbmxhdGluZXh0ZW5kZWRhIiwKKyAgICAib3Jp
eWEiLAorICAgICJpbnRhaWxlIiwKKyAgICAiaW5taXNjZWxsYW5lb3Vzc3ltYm9scyIsCisgICAg
ImlubWlzY2VsbGFuZW91c3N5bWJvbHNhbmRhcnJvd3MiLAorICAgICJpbmNhdWNhc2lhbmFsYmFu
aWFuIiwKKyAgICAiaW5taXNjZWxsYW5lb3Vzc3ltYm9sc2FuZHBpY3RvZ3JhcGhzIiwKKyAgICAi
aW5vbGR0dXJraWMiLAorICAgICJpbnNhdXJhc2h0cmEiLAorICAgICJpZGNvbnRpbnVlIiwKKyAg
ICAiaW50YW1pbCIsCisgICAgImlubXVsdGFuaSIsCisgICAgImlubGF0aW5leHRlbmRlZGUiLAor
ICAgICJwZCIsCisgICAgImJhbGkiLAorICAgICJibGFuayIsCisgICAgImlkc3QiLAorICAgICJp
bmx5ZGlhbiIsCisgICAgImlubmV3dGFpbHVlIiwKKyAgICAiYmVuZ2FsaSIsCisgICAgInJ1bnIi
LAorICAgICJ6bCIsCisgICAgImluY3lyaWxsaWNleHRlbmRlZGEiLAorICAgICJsbCIsCisgICAg
ImluZGVzZXJldCIsCisgICAgImludGFpeHVhbmppbmdzeW1ib2xzIiwKKyAgICAiaW5hbmNpZW50
Z3JlZWtudW1iZXJzIiwKKyAgICAiaWRzdGFydCIsCisgICAgImlubWVldGVpbWF5ZWtleHRlbnNp
b25zIiwKKyAgICAiYmFsaW5lc2UiLAorICAgICJkaWEiLAorICAgICJkaSIsCisgICAgImluc3Bh
Y2luZ21vZGlmaWVybGV0dGVycyIsCisgICAgImluZWFybHlkeW5hc3RpY2N1bmVpZm9ybSIsCisg
ICAgInBscmQiLAorICAgICJjYW5hZGlhbmFib3JpZ2luYWwiLAorICAgICJ6aW5oIiwKKyAgICAi
c2luZCIsCisgICAgIm9zYWdlIiwKKyAgICAiaW5sYXRpbmV4dGVuZGVkYyIsCisgICAgInVpZGVv
IiwKKyAgICAiaW5jb3VudGluZ3JvZG51bWVyYWxzIiwKKyAgICAieGlkc3RhcnQiLAorI2VuZGlm
IC8qIFVTRV9VTklDT0RFX1BST1BFUlRJRVMgKi8KKyAgICAieGRpZ2l0IiwKKyNpZm5kZWYgVVNF
X1VOSUNPREVfUFJPUEVSVElFUworICAgICJ1cHBlciIsCisgICAgImFzY2lpIiwKKyNlbHNlIC8q
IFVTRV9VTklDT0RFX1BST1BFUlRJRVMgKi8KKyAgICAib3NtYSIsCisgICAgImlua2h1ZGF3YWRp
IiwKKyAgICAiaW5oYW5pZmlyb2hpbmd5YSIsCisgICAgImdvbmciLAorICAgICJpbmdyYW50aGEi
LAorICAgICJiaWRpYyIsCisgICAgIm1vbmciLAorICAgICJjYXNlZCIsCisgICAgImluY3lyaWxs
aWNleHRlbmRlZGMiLAorICAgICJpbmhpcmFnYW5hIiwKKyAgICAic2luaGFsYSIsCisgICAgImFk
bG0iLAorICAgICJnbGFnb2xpdGljIiwKKyAgICAic3Rlcm0iLAorICAgICJiYW11IiwKKyAgICAi
Z2VvcmdpYW4iLAorICAgICJpbm9zYWdlIiwKKyAgICAiZ3VuamFsYWdvbmRpIiwKKyAgICAicGhv
ZW5pY2lhbiIsCisgICAgIm11bHRhbmkiLAorICAgICJrYWl0aGkiLAorICAgICJqb2luY29udHJv
bCIsCisgICAgInJ1bmljIiwKKyAgICAiaW5nZW5lcmFscHVuY3R1YXRpb24iLAorICAgICJpbm1h
aGFqYW5pIiwKKyAgICAiaW5jeXJpbGxpY3N1cHBsZW1lbnQiLAorICAgICJsb3dlcmNhc2VsZXR0
ZXIiLAorICAgICJtYXJjaGVuIiwKKyAgICAiZ3JhcGhlbWVsaW5rIiwKKyAgICAiaW5nZW9yZ2lh
biIsCisgICAgImtob2praSIsCisgICAgImNoYW0iLAorICAgICJpbm9naGFtIiwKKyAgICAiY2hl
ciIsCisgICAgImNoYWttYSIsCisgICAgImVtb2ppIiwKKyAgICAiaW5zaWRkaGFtIiwKKyAgICAi
Y2hlcm9rZWUiLAorICAgICJraGFyIiwKKyAgICAiaW5tb25nb2xpYW4iLAorICAgICJpbmNoZXJv
a2Vlc3VwcGxlbWVudCIsCisgICAgImRpYWNyaXRpYyIsCisgICAgIm1hbmljaGFlYW4iLAorICAg
ICJ4c3V4IiwKKyAgICAiaW5vbGNoaWtpIiwKKyAgICAicXVvdGF0aW9ubWFyayIsCisgICAgImFk
bGFtIiwKKyAgICAiaW5ldGhpb3BpYyIsCisgICAgImdyYXBoZW1lYmFzZSIsCisjaWZkZWYgVVNF
X1VOSUNPREVfQUdFX1BST1BFUlRJRVMKKyAgICAiYWdlPTExLjAiLAorICAgICJhZ2U9MTIuMSIs
CisgICAgImFnZT0xMC4wIiwKKyAgICAiYWdlPTEyLjAiLAorI2VuZGlmIC8qIFVTRV9VTklDT0RF
X0FHRV9QUk9QRVJUSUVTICovCisgICAgImNhc2VkbGV0dGVyIiwKKyAgICAiaW5ndXJtdWtoaSIs
CisgICAgIm9kaSIsCisgICAgImluY2prdW5pZmllZGlkZW9ncmFwaHNleHRlbnNpb25hIiwKKyNp
ZmRlZiBVU0VfVU5JQ09ERV9BR0VfUFJPUEVSVElFUworICAgICJhZ2U9MS4xIiwKKyNlbmRpZiAv
KiBVU0VfVU5JQ09ERV9BR0VfUFJPUEVSVElFUyAqLworICAgICJsdSIsCisjaWZkZWYgVVNFX1VO
SUNPREVfQUdFX1BST1BFUlRJRVMKKyAgICAiYWdlPTQuMSIsCisgICAgImFnZT0yLjEiLAorICAg
ICJhZ2U9NC4wIiwKKyAgICAiYWdlPTIuMCIsCisgICAgImFnZT05LjAiLAorI2VuZGlmIC8qIFVT
RV9VTklDT0RFX0FHRV9QUk9QRVJUSUVTICovCisgICAgImludGFtaWxzdXBwbGVtZW50IiwKKyNp
ZmRlZiBVU0VfVU5JQ09ERV9BR0VfUFJPUEVSVElFUworICAgICJhZ2U9Ni4xIiwKKyNlbmRpZiAv
KiBVU0VfVU5JQ09ERV9BR0VfUFJPUEVSVElFUyAqLworICAgICJ1bmtub3duIiwKKyNpZmRlZiBV
U0VfVU5JQ09ERV9BR0VfUFJPUEVSVElFUworICAgICJhZ2U9Ni4wIiwKKyAgICAiYWdlPTYuMiIs
CisgICAgImFnZT0zLjEiLAorICAgICJhZ2U9OC4wIiwKKyAgICAiYWdlPTMuMCIsCisgICAgImFn
ZT0zLjIiLAorI2VuZGlmIC8qIFVTRV9VTklDT0RFX0FHRV9QUk9QRVJUSUVTICovCisgICAgImN3
dCIsCisjaWZkZWYgVVNFX1VOSUNPREVfQUdFX1BST1BFUlRJRVMKKyAgICAiYWdlPTcuMCIsCisj
ZW5kaWYgLyogVVNFX1VOSUNPREVfQUdFX1BST1BFUlRJRVMgKi8KKyAgICAidW5hc3NpZ25lZCIs
CisjaWZkZWYgVVNFX1VOSUNPREVfQUdFX1BST1BFUlRJRVMKKyAgICAiYWdlPTYuMyIsCisgICAg
ImFnZT01LjEiLAorICAgICJhZ2U9NS4wIiwKKyAgICAiYWdlPTUuMiIsCisjZW5kaWYgLyogVVNF
X1VOSUNPREVfQUdFX1BST1BFUlRJRVMgKi8KKyAgICAiYWhvbSIsCisgICAgImluY2prdW5pZmll
ZGlkZW9ncmFwaHNleHRlbnNpb25lIiwKKyAgICAia2htciIsCisgICAgImluc2luaGFsYSIsCisg
ICAgImlubWlzY2VsbGFuZW91c3RlY2huaWNhbCIsCisgICAgInNhdXIiLAorICAgICJndXJ1IiwK
KyAgICAic3VuZGFuZXNlIiwKKyAgICAicHVuY3QiLAorICAgICJwYXVjaW5oYXUiLAorICAgICJn
dXJtdWtoaSIsCisgICAgInZhcmlhdGlvbnNlbGVjdG9yIiwKKyAgICAibG9naWNhbG9yZGVyZXhj
ZXB0aW9uIiwKKyAgICAia2htZXIiLAorICAgICJsaW1idSIsCisgICAgImluc2NyaXB0aW9uYWxw
YWhsYXZpIiwKKyAgICAib2lkYyIsCisgICAgImluY2prdW5pZmllZGlkZW9ncmFwaHNleHRlbnNp
b25jIiwKKyNlbmRpZiAvKiBVU0VfVU5JQ09ERV9QUk9QRVJUSUVTICovCisgICAgImNudHJsIiwK
KyNpZmRlZiBVU0VfVU5JQ09ERV9QUk9QRVJUSUVTCisgICAgImlubGF0aW5leHRlbmRlZGFkZGl0
aW9uYWwiLAorICAgICJkZWNpbWFsbnVtYmVyIiwKKyAgICAiaW5zb3Jhc29tcGVuZyIsCisgICAg
InJhZGljYWwiLAorICAgICJlbW9qaW1vZGlmaWVyIiwKKyAgICAia2hhcm9zaHRoaSIsCisgICAg
Im4iLAorICAgICJtYXRoIiwKKyAgICAiZ290aCIsCisgICAgImFuYXRvbGlhbmhpZXJvZ2x5cGhz
IiwKKyAgICAiaW5lbmNsb3NlZGFscGhhbnVtZXJpY3MiLAorICAgICJuYW5kaW5hZ2FyaSIsCisg
ICAgIm5vIiwKKyAgICAibmtvIiwKKyAgICAibmtvbyIsCisgICAgImluZ3JlZWthbmRjb3B0aWMi
LAorICAgICJvbGNrIiwKKyAgICAicCIsCisgICAgImdyYW50aGEiLAorICAgICJvbGNoaWtpIiwK
KyAgICAiaW5jamt1bmlmaWVkaWRlb2dyYXBocyIsCisgICAgInphbmIiLAorICAgICJpbnRpcmh1
dGEiLAorICAgICJvaWRzIiwKKyAgICAiaW5oYXRyYW4iLAorICAgICJsaW5iIiwKKyAgICAieHBl
byIsCisgICAgIm11bHQiLAorICAgICJzYXVyYXNodHJhIiwKKyAgICAia3RoaSIsCisgICAgImlu
YmhhaWtzdWtpIiwKKyAgICAib2xvd2VyIiwKKyAgICAiaW5uYWJhdGFlYW4iLAorICAgICJpbnBo
b2VuaWNpYW4iLAorICAgICJpbmthbmJ1biIsCisgICAgImlubWVyb2l0aWNoaWVyb2dseXBocyIs
CisgICAgImlua2F5YWhsaSIsCisgICAgInBobngiLAorICAgICJpbm9yaXlhIiwKKyAgICAiZW5j
bG9zaW5nbWFyayIsCisgICAgInNkIiwKKyAgICAiaW5lbGJhc2FuIiwKKyAgICAid2FyYSIsCisg
ICAgImluZW5jbG9zZWRpZGVvZ3JhcGhpY3N1cHBsZW1lbnQiLAorICAgICJzaWRkIiwKKyAgICAi
bGluZWFyYiIsCisgICAgImhhbmkiLAorICAgICJoYW4iLAorICAgICJpbmVuY2xvc2VkYWxwaGFu
dW1lcmljc3VwcGxlbWVudCIsCisgICAgIm1lZGYiLAorICAgICJiaWRpY29udHJvbCIsCisgICAg
Imhhbm8iLAorICAgICJpbnBoYWlzdG9zZGlzYyIsCisgICAgImxpbWIiLAorICAgICJpbmthbmd4
aXJhZGljYWxzIiwKKyAgICAibGVwYyIsCisgICAgIm1lZGVmYWlkcmluIiwKKyAgICAiYnJhaWxs
ZSIsCisgICAgInJlZ2lvbmFsaW5kaWNhdG9yIiwKKyAgICAiaW5sb3dzdXJyb2dhdGVzIiwKKyAg
ICAiaW5zaG9ydGhhbmRmb3JtYXRjb250cm9scyIsCisgICAgImJyYWgiLAorICAgICJpbmtob2pr
aSIsCisgICAgImlub2xkaHVuZ2FyaWFuIiwKKyAgICAiaGFudW5vbyIsCisgICAgImhpcmEiLAor
ICAgICJiZW5nIiwKKyAgICAiZW1vamltb2RpZmllcmJhc2UiLAorICAgICJpbmFyYWJpYyIsCisg
ICAgImx5Y2kiLAorICAgICJhaGV4IiwKKyAgICAiaW5oZXJpdGVkIiwKKyAgICAiZ2xhZyIsCisg
ICAgImx5Y2lhbiIsCisgICAgImluZG9ncmEiLAorICAgICJkc3J0IiwKKyAgICAiYXJhYiIsCisg
ICAgIm15bXIiLAorICAgICJteWFubWFyIiwKKyAgICAicGhsaSIsCisgICAgImluaW1wZXJpYWxh
cmFtYWljIiwKKyAgICAiaW5ncmVla2V4dGVuZGVkIiwKKyAgICAiaW5hbmF0b2xpYW5oaWVyb2ds
eXBocyIsCisgICAgInB1bmN0dWF0aW9uIiwKKyAgICAidGFrcmkiLAorICAgICJncmFwaGVtZWV4
dGVuZCIsCisgICAgImludmFpIiwKKyAgICAiY3dsIiwKKyAgICAiaW5nZW9tZXRyaWNzaGFwZXMi
LAorICAgICJlbW9qaWNvbXBvbmVudCIsCisgICAgImNvcHRpYyIsCisgICAgImRlc2VyZXQiLAor
ICAgICJpbmFyYWJpY3ByZXNlbnRhdGlvbmZvcm1zYSIsCisgICAgInRha3IiLAorICAgICJpbmJh
c2ljbGF0aW4iLAorICAgICJpbmNqa3VuaWZpZWRpZGVvZ3JhcGhzZXh0ZW5zaW9uZCIsCisgICAg
InNpbmgiLAorICAgICJzdW5kIiwKKyAgICAic2hhdmlhbiIsCisgICAgInRhaWxlIiwKKyAgICAi
aW5zdW5kYW5lc2VzdXBwbGVtZW50IiwKKyAgICAiaW5lbHltYWljIiwKKyAgICAiaW5zb3lvbWJv
IiwKKyAgICAiYmhrcyIsCisgICAgImJoYWlrc3VraSIsCisgICAgImluY2prY29tcGF0aWJpbGl0
eSIsCisgICAgImluaGFudW5vbyIsCisgICAgImludGFuZ3V0IiwKKyAgICAic29nZGlhbiIsCisg
ICAgImlubGF0aW5leHRlbmRlZGQiLAorICAgICJzb2dvIiwKKyAgICAiaW5zaW5oYWxhYXJjaGFp
Y251bWJlcnMiLAorICAgICJpZGVvZ3JhcGhpYyIsCisgICAgInVnYXIiLAorICAgICJjb3B0IiwK
KyAgICAiaW1wZXJpYWxhcmFtYWljIiwKKyAgICAiaW5zb2dkaWFuIiwKKyAgICAiaW5kaW5nYmF0
cyIsCisgICAgImZvcm1hdCIsCisgICAgImluaW5zY3JpcHRpb25hbHBhaGxhdmkiLAorICAgICJp
bmluc2NyaXB0aW9uYWxwYXJ0aGlhbiIsCisgICAgImdyYmFzZSIsCisgICAgImluYmF0YWsiLAor
ICAgICJjcHJ0IiwKKyAgICAiY3djZiIsCisgICAgImN1bmVpZm9ybSIsCisgICAgInRlcm0iLAor
ICAgICJpbnRpYmV0YW4iLAorICAgICJpbnRhZ3MiLAorICAgICJhc2NpaWhleGRpZ2l0IiwKKyAg
ICAic2VudGVuY2V0ZXJtaW5hbCIsCisgICAgImlubWF5YW5udW1lcmFscyIsCisgICAgIm5hbmQi
LAorICAgICJwYXRzeW4iLAorICAgICJoYXRyYW4iLAorICAgICJpbmJsb2NrZWxlbWVudHMiLAor
ICAgICJpbm9ybmFtZW50YWxkaW5nYmF0cyIsCisgICAgImlubnVtYmVyZm9ybXMiLAorICAgICJv
bGRwZXJzaWFuIiwKKyAgICAiaW5zaGF2aWFuIiwKKyAgICAiYm9wbyIsCisgICAgImhhdHIiLAor
ICAgICJjYXNlaWdub3JhYmxlIiwKKyAgICAiaW5vbGRwZXJzaWFuIiwKKyAgICAibW9kaWZpZXJs
ZXR0ZXIiLAorICAgICJjd3UiLAorICAgICJseWRpIiwKKyAgICAiaW5ieXphbnRpbmVtdXNpY2Fs
c3ltYm9scyIsCisgICAgImluZ2VvbWV0cmljc2hhcGVzZXh0ZW5kZWQiLAorICAgICJpbm15YW5t
YXJleHRlbmRlZGIiLAorICAgICJpbm51c2h1IiwKKyAgICAibHlkaWFuIiwKKyAgICAiaW51bmlm
aWVkY2FuYWRpYW5hYm9yaWdpbmFsc3lsbGFiaWNzIiwKKyAgICAib3JraCIsCisgICAgImlueWly
YWRpY2FscyIsCisgICAgImlua2F0YWthbmFwaG9uZXRpY2V4dGVuc2lvbnMiLAorICAgICJpbmV0
aGlvcGljZXh0ZW5kZWRhIiwKKyAgICAiaW5jb3B0aWMiLAorICAgICJpbmFyYWJpY2V4dGVuZGVk
YSIsCisgICAgIm9sZHBlcm1pYyIsCisgICAgImluY2prc3ltYm9sc2FuZHB1bmN0dWF0aW9uIiwK
KyAgICAid29yZCIsCisgICAgImJvcG9tb2ZvIiwKKyAgICAib2dhbSIsCisgICAgImlubGlzdSIs
CisgICAgImlub2xkcGVybWljIiwKKyAgICAiaW5ub2Jsb2NrIiwKKyAgICAidGFpdmlldCIsCisg
ICAgImluYnJhaWxsZXBhdHRlcm5zIiwKKyAgICAiYWxwaGEiLAorICAgICJpbmJhbGluZXNlIiwK
KyAgICAic29yYXNvbXBlbmciLAorICAgICJjbG9zZXB1bmN0dWF0aW9uIiwKKyAgICAiaW5taXNj
ZWxsYW5lb3VzbWF0aGVtYXRpY2Fsc3ltYm9sc2IiLAorICAgICJpbmxlcGNoYSIsCisgICAgImlu
c3lyaWFjc3VwcGxlbWVudCIsCisgICAgIm5ld2EiLAorICAgICJzcGFjaW5nbWFyayIsCisgICAg
ImlucGFsbXlyZW5lIiwKKyAgICAiY3lybCIsCisgICAgImFzc2lnbmVkIiwKKyAgICAibWx5bSIs
CisgICAgIm1hbGF5YWxhbSIsCisgICAgImV4dCIsCisgICAgIm5ld3RhaWx1ZSIsCisjZW5kaWYg
LyogVVNFX1VOSUNPREVfUFJPUEVSVElFUyAqLworICAgICJzcGFjZSIsCisjaWZkZWYgVVNFX1VO
SUNPREVfUFJPUEVSVElFUworICAgICJpbnRlbHVndSIsCisgICAgImlkc2IiLAorICAgICJpbmRl
dmFuYWdhcmkiLAorICAgICJhdmVzdGFuIiwKKyAgICAiY2YiLAorICAgICJwYWxteXJlbmUiLAor
ICAgICJpbmV0aGlvcGljc3VwcGxlbWVudCIsCisgICAgInNveW8iLAorI2VuZGlmIC8qIFVTRV9V
TklDT0RFX1BST1BFUlRJRVMgKi8KKyAgICAieHBvc2l4cHVuY3QiLAorI2lmbmRlZiBVU0VfVU5J
Q09ERV9QUk9QRVJUSUVTCisgICAgImxvd2VyIiwKKyNlbHNlIC8qIFVTRV9VTklDT0RFX1BST1BF
UlRJRVMgKi8KKyAgICAicGYiLAorICAgICJzYXJiIiwKKyAgICAiemFuYWJhemFyc3F1YXJlIiwK
KyAgICAidWdhcml0aWMiLAorICAgICJvc2dlIiwKKyAgICAiamF2YSIsCisgICAgInNoYXJhZGEi
LAorICAgICJkb2dyYSIsCisgICAgImJ1Z2kiLAorICAgICJtZXJvaXRpY2hpZXJvZ2x5cGhzIiwK
KyAgICAic2VwYXJhdG9yIiwKKyAgICAiaW5nZW9yZ2lhbnN1cHBsZW1lbnQiLAorICAgICJzb2dk
IiwKKyAgICAidGFsZSIsCisgICAgImludW5pZmllZGNhbmFkaWFuYWJvcmlnaW5hbHN5bGxhYmlj
c2V4dGVuZGVkIiwKKyAgICAidGVybWluYWxwdW5jdHVhdGlvbiIsCisgICAgInNocmQiLAorI2Vu
ZGlmIC8qIFVTRV9VTklDT0RFX1BST1BFUlRJRVMgKi8KKyAgICAiZ3JhcGgiLAorI2lmZGVmIFVT
RV9VTklDT0RFX1BST1BFUlRJRVMKKyAgICAib2xkaXRhbGljIiwKKyAgICAiZG9nciIsCisgICAg
Imd1anIiLAorICAgICJwaGFnIiwKKyAgICAiZ3VqYXJhdGkiLAorICAgICJpbmhhbmd1bGphbW8i
LAorICAgICJqYXZhbmVzZSIsCisgICAgInRhbWwiLAorICAgICJpbnBob25ldGljZXh0ZW5zaW9u
cyIsCisgICAgInNpZGRoYW0iLAorICAgICJidWdpbmVzZSIsCisgICAgImlubW9uZ29saWFuc3Vw
cGxlbWVudCIsCisgICAgImludmFyaWF0aW9uc2VsZWN0b3JzIiwKKyAgICAiaW5oYW5ndWxqYW1v
ZXh0ZW5kZWRhIiwKKyAgICAiaW52ZXJ0aWNhbGZvcm1zIiwKKyAgICAic3lyYyIsCisgICAgIm51
bWJlciIsCisgICAgImluY29wdGljZXBhY3RudW1iZXJzIiwKKyAgICAiYXZzdCIsCisgICAgImlu
YmFtdW0iLAorICAgICJuZCIsCisgICAgImluc3V0dG9uc2lnbndyaXRpbmciLAorICAgICJleHRl
bmRlciIsCisgICAgImludGFpdmlldCIsCisgICAgImhleCIsCisgICAgImluY2prdW5pZmllZGlk
ZW9ncmFwaHNleHRlbnNpb25mIiwKKyAgICAib3RoZXIiLAorICAgICJvdGhlcmlkY29udGludWUi
LAorICAgICJzaGF3IiwKKyAgICAiZGFzaCIsCisgICAgIm90aGVybnVtYmVyIiwKKyAgICAib3J5
YSIsCisgICAgImludmVkaWNleHRlbnNpb25zIiwKKyAgICAic2dudyIsCisgICAgImNhdWNhc2lh
bmFsYmFuaWFuIiwKKyAgICAiaW5tYXRoZW1hdGljYWxhbHBoYW51bWVyaWNzeW1ib2xzIiwKKyAg
ICAiaW5waG9uZXRpY2V4dGVuc2lvbnNzdXBwbGVtZW50IiwKKyAgICAiaW52YXJpYXRpb25zZWxl
Y3RvcnNzdXBwbGVtZW50IiwKKyAgICAiaW5kdXBsb3lhbiIsCisgICAgInN5cmlhYyIsCisgICAg
Im9hbHBoYSIsCisgICAgImlubnlpYWtlbmdwdWFjaHVlaG1vbmciLAorICAgICJpbmNvbWJpbmlu
Z2RpYWNyaXRpY2FsbWFya3MiLAorICAgICJpbmV0aGlvcGljZXh0ZW5kZWQiLAorICAgICJubCIs
CisgICAgImluY29tYmluaW5nZGlhY3JpdGljYWxtYXJrc2ZvcnN5bWJvbHMiLAorICAgICJraHVk
YXdhZGkiLAorICAgICJvdGhlcmFscGhhYmV0aWMiLAorICAgICJvbGRodW5nYXJpYW4iLAorICAg
ICJpbmN1cnJlbmN5c3ltYm9scyIsCisgICAgImluY2prcmFkaWNhbHNzdXBwbGVtZW50IiwKKyAg
ICAiaW5nbGFnb2xpdGljIiwKKyAgICAiaW50aWZpbmFnaCIsCisgICAgImluZ2VvcmdpYW5leHRl
bmRlZCIsCisgICAgInN1cnJvZ2F0ZSIsCisgICAgImluY3lyaWxsaWNleHRlbmRlZGIiLAorICAg
ICJldGhpIiwKKyAgICAidGl0bGVjYXNlbGV0dGVyIiwKKyAgICAicm9oZyIsCisgICAgImlubWVy
b2l0aWNjdXJzaXZlIiwKKyAgICAiaWRzdHJpbmFyeW9wZXJhdG9yIiwKKyAgICAiaW5waGFnc3Bh
IiwKKyAgICAibGVwY2hhIiwKKyAgICAiaW50YWdhbG9nIiwKKyAgICAibWF0aHN5bWJvbCIsCisg
ICAgImluY29tYmluaW5nZGlhY3JpdGljYWxtYXJrc3N1cHBsZW1lbnQiLAorICAgICJpbmJyYWht
aSIsCisgICAgImluc3ltYm9sc2FuZHBpY3RvZ3JhcGhzZXh0ZW5kZWRhIiwKKyAgICAiaW5saW5l
YXJic3lsbGFiYXJ5IiwKKyAgICAib2xkdHVya2ljIiwKKyAgICAiaW5iZW5nYWxpIiwKKyAgICAi
d2FuY2hvIiwKKyAgICAib3NtYW55YSIsCisgICAgImJ1aGQiLAorICAgICJpbnNtYWxsZm9ybXZh
cmlhbnRzIiwKKyAgICAiaW5kZXZhbmFnYXJpZXh0ZW5kZWQiLAorICAgICJzb2Z0ZG90dGVkIiwK
KyAgICAiaW5idWdpbmVzZSIsCisgICAgIm1haGoiLAorICAgICJpbmxhdGluMXN1cHBsZW1lbnQi
LAorICAgICJpbmdvdGhpYyIsCisgICAgIm1haGFqYW5pIiwKKyAgICAiaGFuZyIsCisgICAgInN5
bG8iLAorICAgICJ3YXJhbmdjaXRpIiwKKyAgICAiaW5ndWphcmF0aSIsCisgICAgInRpcmh1dGEi
LAorICAgICJpbmNvbWJpbmluZ2RpYWNyaXRpY2FsbWFya3NleHRlbmRlZCIsCisgICAgInNwYWNl
c2VwYXJhdG9yIiwKKyAgICAiaW5ndW5qYWxhZ29uZGkiLAorICAgICJ3Y2hvIiwKKyAgICAiaGly
YWdhbmEiLAorICAgICJleHRlbmRlZHBpY3RvZ3JhcGhpYyIsCisgICAgImlucmVqYW5nIiwKKyAg
ICAiaW5vdHRvbWFuc2l5YXFudW1iZXJzIiwKKyAgICAibmNoYXIiLAorICAgICJjeXJpbGxpYyIs
CisgICAgImtob2oiLAorICAgICJpbmxpbWJ1IiwKKyAgICAiaG1uZyIsCisgICAgInRoYWEiLAor
ICAgICJ0aGFpIiwKKyAgICAiaW5jamt1bmlmaWVkaWRlb2dyYXBoc2V4dGVuc2lvbmIiLAorICAg
ICJkZXZhIiwKKyAgICAidGhhYW5hIiwKKyAgICAicGhhZ3NwYSIsCisgICAgImRldmFuYWdhcmki
LAorICAgICJ0YW5nIiwKKyAgICAiY3VycmVuY3lzeW1ib2wiLAorICAgICJ0YWdiYW53YSIsCisg
ICAgImluZW5jbG9zZWRjamtsZXR0ZXJzYW5kbW9udGhzIiwKKyAgICAidGFtaWwiLAorICAgICJ0
aXJoIiwKKyNlbmRpZiAvKiBVU0VfVU5JQ09ERV9QUk9QRVJUSUVTICovCisgICAgImRpZ2l0IiwK
KyNpZm5kZWYgVVNFX1VOSUNPREVfUFJPUEVSVElFUworICAgICJibGFuayIKKyNlbHNlIC8qIFVT
RV9VTklDT0RFX1BST1BFUlRJRVMgKi8KKyAgICAidGFsdSIsCisgICAgInpwIiwKKyAgICAiaW5w
YXVjaW5oYXUiLAorICAgICJ0YWl0aGFtIiwKKyAgICAib3RoZXJsb3dlcmNhc2UiLAorICAgICJ0
ZWx1IiwKKyAgICAiaW5hZWdlYW5udW1iZXJzIiwKKyAgICAib3RoZXJsZXR0ZXIiLAorICAgICJ3
aGl0ZXNwYWNlIiwKKyAgICAibm9uc3BhY2luZ21hcmsiLAorICAgICJncmFwaGVtZWNsdXN0ZXJi
cmVhaz1zcGFjaW5nbWFyayIsCisgICAgImlubGV0dGVybGlrZXN5bWJvbHMiLAorICAgICJpbnRh
Z2JhbndhIiwKKyAgICAib2xkc29nZGlhbiIsCisgICAgIm90aGVyaWRzdGFydCIsCisgICAgImdy
YXBoZW1lY2x1c3RlcmJyZWFrPWNyIiwKKyAgICAibmFyYiIsCisgICAgImNoYW5nZXN3aGVuY2Fz
ZW1hcHBlZCIsCisgICAgImluYm9wb21vZm8iLAorICAgICJ0YW5ndXQiLAorICAgICJncmFwaGVt
ZWNsdXN0ZXJicmVhaz1yZWdpb25hbGluZGljYXRvciIsCisgICAgIm5vbmNoYXJhY3RlcmNvZGVw
b2ludCIsCisgICAgIm90aGVydXBwZXJjYXNlIiwKKyAgICAicmpuZyIsCisgICAgInN5bG90aW5h
Z3JpIiwKKyAgICAiaW5oYW5ndWxzeWxsYWJsZXMiLAorICAgICJlbW9qaXByZXNlbnRhdGlvbiIs
CisgICAgImluaW5kaWNzaXlhcW51bWJlcnMiLAorICAgICJpbmJhc3NhdmFoIiwKKyAgICAib2dy
ZXh0IiwKKyAgICAib3RoZXJzeW1ib2wiLAorICAgICJvdXBwZXIiLAorICAgICJpbmJ1aGlkIiwK
KyAgICAiaG1ucCIsCisgICAgImlucHNhbHRlcnBhaGxhdmkiLAorICAgICJmaW5hbHB1bmN0dWF0
aW9uIiwKKyAgICAicGhscCIsCisgICAgImluYmFtdW1zdXBwbGVtZW50IiwKKyAgICAiYnVoaWQi
LAorICAgICJwYXJhZ3JhcGhzZXBhcmF0b3IiLAorICAgICJpbmFscGhhYmV0aWNwcmVzZW50YXRp
b25mb3JtcyIsCisgICAgIm9tYXRoIiwKKyAgICAiYW55IiwKKyAgICAiZWxiYSIsCisgICAgImNo
YW5nZXN3aGVudGl0bGVjYXNlZCIsCisgICAgImluY29tYmluaW5naGFsZm1hcmtzIiwKKyAgICAi
aW50YW5ndXRjb21wb25lbnRzIiwKKyAgICAiaGViciIsCisgICAgImRlcHJlY2F0ZWQiLAorICAg
ICJpbmFyYWJpY21hdGhlbWF0aWNhbGFscGhhYmV0aWNzeW1ib2xzIiwKKyAgICAiaW5wcml2YXRl
dXNlYXJlYSIsCisgICAgImtheWFobGkiLAorICAgICJpbnBsYXlpbmdjYXJkcyIsCisgICAgImlu
YXJhYmljcHJlc2VudGF0aW9uZm9ybXNiIiwKKyAgICAib2doYW0iLAorICAgICJlbHltIiwKKyAg
ICAiZ3JhcGhlbWVjbHVzdGVyYnJlYWs9dCIsCisgICAgImdyYXBoZW1lY2x1c3RlcmJyZWFrPWx2
dCIsCisgICAgIm5iYXQiLAorICAgICJuYWJhdGFlYW4iLAorICAgICJoYW5ndWwiLAorICAgICJl
bHltYWljIiwKKyAgICAiaW5oZWJyZXciLAorICAgICJpbmphdmFuZXNlIiwKKyAgICAic3ltYm9s
IiwKKyAgICAiaW5tYXRoZW1hdGljYWxvcGVyYXRvcnMiLAorICAgICJpbmFyYWJpY3N1cHBsZW1l
bnQiLAorICAgICJjeXByaW90IiwKKyAgICAiaHVuZyIsCisgICAgIndzcGFjZSIsCisgICAgImNo
YW5nZXN3aGVubG93ZXJjYXNlZCIsCisgICAgImVsYmFzYW4iLAorICAgICJobHV3IiwKKyAgICAi
aW5zdXBlcnNjcmlwdHNhbmRzdWJzY3JpcHRzIiwKKyAgICAiZ3JhcGhlbWVjbHVzdGVyYnJlYWs9
ZXh0ZW5kIiwKKyAgICAiZ3JhcGhlbWVjbHVzdGVyYnJlYWs9cHJlcGVuZCIsCisgICAgIm5zaHUi
LAorICAgICJvbGRub3J0aGFyYWJpYW4iLAorICAgICJpbnlpamluZ2hleGFncmFtc3ltYm9scyIs
CisgICAgImhleGRpZ2l0IiwKKyAgICAiZ3JhcGhlbWVjbHVzdGVyYnJlYWs9bCIsCisgICAgImdy
YXBoZW1lY2x1c3RlcmJyZWFrPWNvbnRyb2wiLAorICAgICJiYXNzYXZhaCIsCisgICAgIm90aGVy
ZGVmYXVsdGlnbm9yYWJsZWNvZGVwb2ludCIsCisgICAgImNoYW5nZXN3aGVudXBwZXJjYXNlZCIs
CisgICAgImluYWxjaGVtaWNhbHN5bWJvbHMiLAorICAgICJpbnN1cHBsZW1lbnRhbGFycm93c2Ei
LAorICAgICJpbnlpc3lsbGFibGVzIiwKKyAgICAidGlidCIsCisgICAgIm90aGVybWF0aCIsCisg
ICAgInRpYmV0YW4iLAorICAgICJpbm1haGpvbmd0aWxlcyIsCisgICAgInNpZ253cml0aW5nIiwK
KyAgICAibnVzaHUiLAorICAgICJtb2RpZmllcnN5bWJvbCIsCisgICAgImluaGFsZndpZHRoYW5k
ZnVsbHdpZHRoZm9ybXMiLAorICAgICJ1cHBlciIsCisgICAgImluc3VwcGxlbWVudGFsYXJyb3dz
YyIsCisgICAgImluc3VwcGxlbWVudGFsbWF0aGVtYXRpY2Fsb3BlcmF0b3JzIiwKKyAgICAiaW5j
eXByaW90c3lsbGFiYXJ5IiwKKyAgICAiZHVwbCIsCisgICAgInRhdnQiLAorICAgICJpbnBhaGF3
aGhtb25nIiwKKyAgICAiYWxwaGFiZXRpYyIsCisgICAgImRhc2hwdW5jdHVhdGlvbiIsCisgICAg
InVwcGVyY2FzZSIsCisgICAgInNveW9tYm8iLAorICAgICJoYW5pZmlyb2hpbmd5YSIsCisgICAg
Im90aGVycHVuY3R1YXRpb24iLAorICAgICJkZWZhdWx0aWdub3JhYmxlY29kZXBvaW50IiwKKyAg
ICAiaW5oYW5ndWxqYW1vZXh0ZW5kZWRiIiwKKyAgICAiYWdoYiIsCisgICAgInRpZmluYWdoIiwK
KyAgICAiaW5sYXRpbmV4dGVuZGVkYiIsCisgICAgInRmbmciLAorICAgICJpbmhpZ2hwcml2YXRl
dXNlc3Vycm9nYXRlcyIsCisgICAgImNoYW5nZXN3aGVuY2FzZWZvbGRlZCIsCisgICAgImRlcCIs
CisgICAgIm9sZHNvdXRoYXJhYmlhbiIsCisgICAgImdyYXBoZW1lY2x1c3RlcmJyZWFrPWxmIiwK
KyAgICAicGFoYXdoaG1vbmciLAorICAgICJ1bmlmaWVkaWRlb2dyYXBoIiwKKyAgICAidXBwZXJj
YXNlbGV0dGVyIiwKKyAgICAiaW5zdXBwbGVtZW50YWxwdW5jdHVhdGlvbiIsCisgICAgImV0aGlv
cGljIiwKKyAgICAiaW5nbGFnb2xpdGljc3VwcGxlbWVudCIsCisgICAgInJlamFuZyIsCisgICAg
ImluYm9wb21vZm9leHRlbmRlZCIsCisgICAgInRhZ2IiLAorICAgICJvdGhlcmdyYXBoZW1lZXh0
ZW5kIiwKKyAgICAiaW5lZ3lwdGlhbmhpZXJvZ2x5cGhzIiwKKyAgICAiaW5lZ3lwdGlhbmhpZXJv
Z2x5cGhmb3JtYXRjb250cm9scyIsCisgICAgImhlYnJldyIsCisgICAgInRnbGciLAorICAgICJ0
YWdhbG9nIiwKKyAgICAiZ3JhcGhlbWVjbHVzdGVyYnJlYWs9endqIiwKKyAgICAienl5eSIsCisg
ICAgImh5cGhlbiIsCisgICAgImluYm94ZHJhd2luZyIsCisgICAgImdyYXBoZW1lY2x1c3RlcmJy
ZWFrPXYiLAorICAgICJncmFwaGVtZWNsdXN0ZXJicmVhaz1sdiIsCisgICAgInRlbHVndSIsCisg
ICAgImR1cGxveWFuIiwKKyAgICAib3BlbnB1bmN0dWF0aW9uIiwKKyAgICAiaW5zdXBwbGVtZW50
YXJ5cHJpdmF0ZXVzZWFyZWFhIiwKKyAgICAiaW5oaWdoc3Vycm9nYXRlcyIsCisgICAgImluc3Vw
cGxlbWVudGFsYXJyb3dzYiIsCisgICAgImluc3VwcGxlbWVudGFsc3ltYm9sc2FuZHBpY3RvZ3Jh
cGhzIiwKKyAgICAiZWd5cCIsCisgICAgImluaGFuZ3VsY29tcGF0aWJpbGl0eWphbW8iLAorICAg
ICJueWlha2VuZ3B1YWNodWVobW9uZyIsCisgICAgImVneXB0aWFuaGllcm9nbHlwaHMiLAorICAg
ICJpbnN1cHBsZW1lbnRhcnlwcml2YXRldXNlYXJlYWIiCisjZW5kaWYgLyogVVNFX1VOSUNPREVf
UFJPUEVSVElFUyAqLworICB9OworI2RlZmluZSB1bmluYW1lMmN0eXBlX3Bvb2wgKChjb25zdCBj
aGFyICopICZ1bmluYW1lMmN0eXBlX3Bvb2xfY29udGVudHMpCitjb25zdCBzdHJ1Y3QgdW5pbmFt
ZTJjdHlwZV9zdHJ1Y3QgKgordW5pbmFtZTJjdHlwZV9wIChyZWdpc3RlciBjb25zdCBjaGFyICpz
dHIsIHJlZ2lzdGVyIHNpemVfdCBsZW4pCit7CisgIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdW5pbmFt
ZTJjdHlwZV9zdHJ1Y3Qgd29yZGxpc3RbXSA9CisgICAgeworI2lmZGVmIFVTRV9VTklDT0RFX1BS
T1BFUlRJRVMKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0s
IHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zm
c2V0KHN0cjExKSwgMTExfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisg
ICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTcpLCAxMTF9LAorICAgICAgey0xfSwgey0x
fSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIyMiksIDE1Mn0s
CisgICAgICB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjI0KSwgNTJ9LAor
ICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjI1KSwgMTg0fSwKKyAgICAgIHstMX0sIHst
MX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9v
ZmZzZXQoc3RyMzMpLCAyMTh9LAorICAgICAgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29m
ZnNldChzdHIzNSksIDE4Nn0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMzYpLCAz
NH0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9
LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjQ1KSwgMTczfSwKKyAgICAgIHt1bmlu
YW1lMmN0eXBlX29mZnNldChzdHI0NiksIDI4fSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNl
dChzdHI0NyksIDYxfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHI0OCksIDk1fSwK
KyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHI0OSksIDk1fSwKKyAgICAgIHstMX0sIHst
MX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyNTIpLCAzMzF9LAorICAgICAgey0x
fSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHI1NSksIDIxfSwKKyAgICAg
IHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7
dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyNjQpLCA0NH0sCisgICAgICB7LTF9LAorICAgICAge3Vu
aW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjY2KSwgMzE5fSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29m
ZnNldChzdHI2NyksIDI2N30sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5h
bWUyY3R5cGVfb2Zmc2V0KHN0cjcxKSwgMTgxfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sCisg
ICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyNzUpLCAyMn0sCisgICAgICB7LTF9LCB7LTF9
LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zm
c2V0KHN0cjgzKSwgMTg0fSwKKyAgICAgIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlw
ZV9vZmZzZXQoc3RyODYpLCAzMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9
LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjkyKSwgNDV9LAorICAgICAgey0xfSwK
KyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHI5NCksIDMzfSwKKyAgICAgIHstMX0sIHst
MX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTAw
KSwgMTQ5fSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxMDEpLCA0OTZ9LAorICAg
ICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjEwMiksIDEwOH0sCisgICAgICB7dW5pbmFtZTJj
dHlwZV9vZmZzZXQoc3RyMTAzKSwgMjUyfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sCisgICAg
ICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTA3KSwgMzF9LAorICAgICAge3VuaW5hbWUyY3R5
cGVfb2Zmc2V0KHN0cjEwOCksIDc3fSwKKyAgICAgIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFt
ZTJjdHlwZV9vZmZzZXQoc3RyMTExKSwgMTg5fSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNl
dChzdHIxMTIpLCAxODl9LAorICAgICAgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBl
X29mZnNldChzdHIxMTUpLCAxNDl9LAorICAgICAgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBl
X29mZnNldChzdHIxMTcpLCA5OH0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTE4
KSwgNzd9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29m
ZnNldChzdHIxMjIpLCAyMTJ9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwg
ey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxMjkpLCAxODd9LAorICAgICAg
e3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjEzMCksIDQyfSwKKyAgICAgIHt1bmluYW1lMmN0eXBl
X29mZnNldChzdHIxMzEpLCAxNzJ9LAorICAgICAgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1l
MmN0eXBlX29mZnNldChzdHIxMzQpLCA0ODJ9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0x
fSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxMzkpLCAxNzB9LAorICAgICAgey0x
fSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChz
dHIxNDUpLCA0OTl9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjE0NiksIDU0OH0s
CisgICAgICB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjE0OCksIDU1Mn0s
CisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTQ5KSwgNTE0fSwKKyAgICAgIHstMX0s
CisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTUxKSwgMTh9LAorICAgICAge3VuaW5h
bWUyY3R5cGVfb2Zmc2V0KHN0cjE1MiksIDE2OX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZz
ZXQoc3RyMTUzKSwgMTYwfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHst
MX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTYxKSwgMzEzfSwKKyAg
ICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0s
CisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5h
bWUyY3R5cGVfb2Zmc2V0KHN0cjE3NyksIDMzN30sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZz
ZXQoc3RyMTc4KSwgNTM5fSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7
dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTgzKSwgNzV9LAorICAgICAgey0xfSwgey0xfSwKKyAg
ICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxODYpLCAyN30sCisgICAgICB7LTF9LCB7LTF9
LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjE5MCksIDIwOH0sCisgICAg
ICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAor
ICAgICAgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIy
MDMpLCAzNDV9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjIwNCksIDQ3M30sCisg
ICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVf
b2Zmc2V0KHN0cjIxMCksIDU1M30sCisgICAgICB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVf
b2Zmc2V0KHN0cjIxMiksIDM1MH0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMjEz
KSwgMTE1fSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJj
dHlwZV9vZmZzZXQoc3RyMjE4KSwgNTI4fSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0s
IHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMjI2KSwg
MTcxfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlw
ZV9vZmZzZXQoc3RyMjMxKSwgMzF9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAg
ICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIyMzYpLCAyNX0sCisgICAgICB7dW5pbmFtZTJj
dHlwZV9vZmZzZXQoc3RyMjM3KSwgMTk0fSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0s
IHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3Ry
MjQ2KSwgMzJ9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBl
X29mZnNldChzdHIyNTApLCA0MH0sCisgICAgICB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUy
Y3R5cGVfb2Zmc2V0KHN0cjI1MyksIDEwMn0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9
LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjI2MCksIDU0Mn0s
CisgICAgICB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjI2Myks
IDE2MX0sCisgICAgICB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjI2NSks
IDE5fSwKKyAgICAgIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMjY3KSwg
Nzl9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjI2OCksIDM0Mn0sCisgICAgICB7
LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjI3MCksIDI1OX0sCisgICAgICB7
LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjI3NCksIDU0
MX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMjc1KSwgNTAwfSwKKyAgICAgIHst
MX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQo
c3RyMjgxKSwgMzA3fSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIyODIpLCA0MH0s
CisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMjgzKSwgNzl9LAorICAgICAgey0xfSwK
KyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIyODUpLCA1MTZ9LAorICAgICAgey0xfSwg
ey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIyODkpLCA1MzZ9LAor
ICAgICAgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIy
OTMpLCAyMTh9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBl
X29mZnNldChzdHIyOTcpLCAyMTJ9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1
bmluYW1lMmN0eXBlX29mZnNldChzdHIzMDEpLCAzODB9LAorICAgICAgey0xfSwgey0xfSwgey0x
fSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0
eXBlX29mZnNldChzdHIzMTEpLCAzMTF9LAorICAgICAgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0
eXBlX29mZnNldChzdHIzMTMpLCA0NDF9LAorICAgICAgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0
eXBlX29mZnNldChzdHIzMTUpLCAyMzJ9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwK
KyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIzMjApLCAyNjB9LAorICAgICAgey0xfSwK
KyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIzMjIpLCAxMjl9LAorICAgICAgey0xfSwg
ey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIz
MjgpLCAzMjB9LAorICAgICAgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNl
dChzdHIzMzEpLCA3Nn0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUy
Y3R5cGVfb2Zmc2V0KHN0cjMzNSksIDUzN30sCisgICAgICB7LTF9LCB7LTF9LAorICAgICAge3Vu
aW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjMzOCksIDMxOH0sCisgICAgICB7LTF9LAorICAgICAge3Vu
aW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjM0MCksIDc2fSwKKyAgICAgIHstMX0sCisgICAgICB7dW5p
bmFtZTJjdHlwZV9vZmZzZXQoc3RyMzQyKSwgMzM0fSwKKyAgICAgIHstMX0sIHstMX0sCisgICAg
ICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMzQ1KSwgNTN9LAorICAgICAge3VuaW5hbWUyY3R5
cGVfb2Zmc2V0KHN0cjM0NiksIDI1OX0sCisgICAgICB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5
cGVfb2Zmc2V0KHN0cjM0OCksIDQxMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAg
e3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjM1MiksIDUxMn0sCisgICAgICB7LTF9LCB7LTF9LCB7
LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjM1NyksIDUzMn0sCisg
ICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0
KHN0cjM2MiksIDE2M30sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUy
Y3R5cGVfb2Zmc2V0KHN0cjM2NiksIDQ0fSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0s
IHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMzczKSwgMTYwfSwK
KyAgICAgIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMzc2KSwg
MTQ0fSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIzNzcpLCAxNDR9LAorICAgICAg
ey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1
bmluYW1lMmN0eXBlX29mZnNldChzdHIzODYpLCAzNTZ9LAorICAgICAgey0xfSwgey0xfSwgey0x
fSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0s
IHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMzk5KSwgMzE2fSwKKyAgICAg
IHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyNDAxKSwgNTI3fSwKKyAgICAg
IHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyNDA0KSwgODF9LAor
ICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1l
MmN0eXBlX29mZnNldChzdHI0MTEpLCA1NX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9
LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjQxOCksIDEwOH0s
CisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAg
e3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjQyNiksIDE2M30sCisgICAgICB7LTF9LCB7LTF9LCB7
LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0x
fSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChz
dHI0NDIpLCAxNH0sCisgICAgICB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zm
c2V0KHN0cjQ0NSksIDIzfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHst
MX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9
LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjQ2MiksIDQ2fSwK
KyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlw
ZV9vZmZzZXQoc3RyNDY4KSwgMTY5fSwKKyAgICAgIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlw
ZV9vZmZzZXQoc3RyNDcwKSwgMjJ9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAg
ICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHI0NzUpLCA1MDd9LAorICAgICAgey0xfSwgey0x
fSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHI0ODApLCA0NDJ9
LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjQ4MSksIDE4OH0sCisgICAgICB7LTF9
LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjQ4Niks
IDQ2MX0sCisgICAgICB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjQ4OCks
IDU1N30sCisgICAgICB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0
cjQ5MSksIDQ1NX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7
LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjUwMCksIDEyN30sCisg
ICAgICB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjUw
NCksIDE4N30sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyNTA1KSwgMjM4fSwKKyAg
ICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHI1MDYpLCAyNH0sCisgICAgICB7LTF9LCB7LTF9
LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjUwOSksIDI0fSwKKyAgICAgIHstMX0s
CisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyNTExKSwgNDQ4fSwKKyAgICAgIHstMX0s
IHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFt
ZTJjdHlwZV9vZmZzZXQoc3RyNTIwKSwgNDA4fSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHst
MX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9
LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjUzNSksIDcwfSwK
KyAgICAgIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyNTM4KSwg
OTF9LAorICAgICAgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHI1
NDEpLCA1MzF9LAorICAgICAgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHI1
NDMpLCA5MX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9
LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0
eXBlX29mZnNldChzdHI1NTYpLCA1MjV9LAorICAgICAgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0
eXBlX29mZnNldChzdHI1NTgpLCAzMzV9LAorICAgICAgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0
eXBlX29mZnNldChzdHI1NjApLCA0OTh9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwK
KyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHI1NjUpLCA1ODZ9LAorICAgICAge3VuaW5h
bWUyY3R5cGVfb2Zmc2V0KHN0cjU2NiksIDM3fSwKKyAgICAgIHstMX0sCisgICAgICB7dW5pbmFt
ZTJjdHlwZV9vZmZzZXQoc3RyNTY4KSwgMTEzfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sCisg
ICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyNTcyKSwgNDg2fSwKKyAgICAgIHstMX0sIHst
MX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyNTc3KSwgNTcz
fSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHI1NzgpLCA3MH0sCisgICAgICB7dW5p
bmFtZTJjdHlwZV9vZmZzZXQoc3RyNTc5KSwgMTA2fSwKKyAgICAgIHstMX0sIHstMX0sCisgICAg
ICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyNTgyKSwgMzkxfSwKKyAgICAgIHt1bmluYW1lMmN0
eXBlX29mZnNldChzdHI1ODMpLCA0NjV9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwg
ey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHI1OTApLCA3NH0sCisg
ICAgICB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjU5
NCksIDE2OH0sCisgICAgICB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjU5
NiksIDU4NH0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyNTk3KSwgMTQ2fSwKKyAg
ICAgIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyNjAwKSwgNDc1
fSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQo
c3RyNjA0KSwgNTUxfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHI2MDUpLCA1OTF9
LAorICAgICAgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHI2MDgp
LCA1OTh9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmlu
YW1lMmN0eXBlX29mZnNldChzdHI2MTQpLCA1NzR9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwg
ey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBl
X29mZnNldChzdHI2MjQpLCAxOTV9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjYy
NSksIDQzMn0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUy
Y3R5cGVfb2Zmc2V0KHN0cjYzMCksIDI5fSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0s
IHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyNjM2KSwgNTIyfSwKKyAgICAg
IHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyNjM5KSwgNDl9LAor
ICAgICAgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHI2NDIpLCAx
OX0sCisgICAgICB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjY0
NSksIDQ3MH0sCisgICAgICB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjY0
NyksIDE5Mn0sCisgICAgICB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0
KHN0cjY1MCksIDQ3Mn0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9
LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjY1NyksIDUxfSwKKyAgICAgIHstMX0s
IHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyNjYwKSwgMjU3fSwKKyAgICAg
IHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFt
ZTJjdHlwZV9vZmZzZXQoc3RyNjY4KSwgNjl9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwKKyAg
ICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHI2NzIpLCAzMjF9LAorICAgICAgey0xfSwgey0x
fSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHI2NzUpLCA2OH0sCisgICAgICB7LTF9
LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjY3OCksIDE3MX0sCisgICAg
ICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAor
ICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1
bmluYW1lMmN0eXBlX29mZnNldChzdHI2OTUpLCA1MzB9LAorICAgICAge3VuaW5hbWUyY3R5cGVf
b2Zmc2V0KHN0cjY5NiksIDE3NX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyNjk3
KSwgMzg0fSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5p
bmFtZTJjdHlwZV9vZmZzZXQoc3RyNzAzKSwgNTA4fSwKKyAgICAgIHstMX0sCisgICAgICB7dW5p
bmFtZTJjdHlwZV9vZmZzZXQoc3RyNzA1KSwgMzMyfSwKKyAgICAgIHstMX0sCisgICAgICB7dW5p
bmFtZTJjdHlwZV9vZmZzZXQoc3RyNzA3KSwgMTU4fSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29m
ZnNldChzdHI3MDgpLCA1NTZ9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAg
IHt1bmluYW1lMmN0eXBlX29mZnNldChzdHI3MTMpLCAzNjF9LAorICAgICAgey0xfSwgey0xfSwg
ey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHI3
MjApLCA3Mn0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9
LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwg
ey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHI3MzcpLCA3fSwKKyAgICAgIHt1
bmluYW1lMmN0eXBlX29mZnNldChzdHI3MzgpLCAzNTh9LAorICAgICAgey0xfSwgey0xfSwgey0x
fSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHI3NDIpLCA2fSwKKyAgICAgIHstMX0s
IHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7
LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjc1MyksIDIyOX0sCisgICAgICB7
LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjc1NSksIDQ5N30sCisgICAgICB7
LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjc2
MCksIDQxNn0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyNzYxKSwgMTY3fSwKKyAg
ICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQo
c3RyNzY2KSwgMTU2fSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHI3NjcpLCA1NzJ9
LAorICAgICAgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChz
dHI3NzEpLCAxNjd9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjc3MiksIDI1Nn0s
CisgICAgICB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0
cjc3NiksIDI1N30sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAor
ICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjc4MyksIDE1Nn0sCisgICAgICB7LTF9LCB7
LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjc4NyksIDI0NX0sCisg
ICAgICB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjc5
MSksIDE5M30sCisgICAgICB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0
KHN0cjc5NCksIDU1OH0sCisgICAgICB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVf
b2Zmc2V0KHN0cjc5NyksIDUwfSwKKyAgICAgIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9v
ZmZzZXQoc3RyNzk5KSwgNTc5fSwKKyAgICAgIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJj
dHlwZV9vZmZzZXQoc3RyODAyKSwgMTN9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwg
ey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHI4MDkpLCA0MzF9LAor
ICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNl
dChzdHI4MTQpLCA0Nzh9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1l
MmN0eXBlX29mZnNldChzdHI4MTgpLCAzODN9LAorICAgICAgey0xfSwgey0xfSwKKyAgICAgIHt1
bmluYW1lMmN0eXBlX29mZnNldChzdHI4MjEpLCA0Njd9LAorICAgICAge3VuaW5hbWUyY3R5cGVf
b2Zmc2V0KHN0cjgyMiksIDU2M30sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyODIz
KSwgNDd9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjgyNCksIDExMn0sCisgICAg
ICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyODI1KSwgNDI5fSwKKyAgICAgIHstMX0sIHstMX0s
CisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyODI4KSwgNTY0fSwKKyAgICAgIHstMX0s
IHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3Ry
ODM0KSwgMjU4fSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlw
ZV9vZmZzZXQoc3RyODM4KSwgMTU3fSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7
dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyODQyKSwgNTh9LAorICAgICAgey0xfSwgey0xfSwKKyAg
ICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHI4NDUpLCA2Nn0sCisgICAgICB7LTF9LAorICAg
ICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjg0NyksIDQ4fSwKKyAgICAgIHt1bmluYW1lMmN0
eXBlX29mZnNldChzdHI4NDgpLCAxNzh9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwg
ey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHI4NTUpLCA2N30sCisg
ICAgICB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjg1NyksIDMwNX0sCisg
ICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0
KHN0cjg2MiksIDg4fSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0s
IHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5h
bWUyY3R5cGVfb2Zmc2V0KHN0cjg3NSksIDM1NH0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7
LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwKKyAgICAgIHt1
bmluYW1lMmN0eXBlX29mZnNldChzdHI4ODYpLCAzODl9LAorICAgICAgey0xfSwgey0xfSwgey0x
fSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29m
ZnNldChzdHI4OTUpLCAzOTd9LAorICAgICAgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0
eXBlX29mZnNldChzdHI4OTgpLCA0ODV9LAorICAgICAgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0
eXBlX29mZnNldChzdHI5MDApLCA1ODN9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwg
ey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHI5MDYpLCA1MDR9LAorICAgICAg
e3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjkwNyksIDQzNH0sCisgICAgICB7LTF9LCB7LTF9LCB7
LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0x
fSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29m
ZnNldChzdHI5MjQpLCA2OH0sCisgICAgICB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zm
c2V0KHN0cjkyNiksIDMyOX0sCisgICAgICB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zm
c2V0KHN0cjkyOCksIDUxOX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyOTI5KSwg
NDQ2fSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHI5MzApLCA0MX0sCisgICAgICB7
LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAg
ICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0
eXBlX29mZnNldChzdHI5NDYpLCAxMzZ9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwg
ey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHst
MX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyOTYxKSwgMn0sCisgICAg
ICB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjk2MyksIDI0Nn0sCisgICAg
ICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAor
ICAgICAgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHI5NzQpLCA0OTN9LAor
ICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0x
fSwKKyAgICAgIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyOTg2
KSwgMzU1fSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0s
CisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyOTk0KSwgODV9LAorICAgICAge3VuaW5h
bWUyY3R5cGVfb2Zmc2V0KHN0cjk5NSksIDEwNH0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7
LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVf
b2Zmc2V0KHN0cjEwMDUpLCA1M30sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3Vu
aW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjEwMDkpLCA0MDR9LAorICAgICAge3VuaW5hbWUyY3R5cGVf
b2Zmc2V0KHN0cjEwMTApLCAyNn0sCisgICAgICB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUy
Y3R5cGVfb2Zmc2V0KHN0cjEwMTMpLCA0ODB9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0
KHN0cjEwMTQpLCA1NjZ9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjEwMTUpLCA0
Njl9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1l
MmN0eXBlX29mZnNldChzdHIxMDIxKSwgNjd9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwKKyAg
ICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxMDI1KSwgNDQ0fSwKKyAgICAgIHstMX0sIHst
MX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTAyOCksIDEzNn0sCisgICAgICB7
LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjEwMzIpLCAy
Mzl9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjEwMzMpLCA3MX0sCisgICAgICB7
LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjEwMzUpLCAzMDh9LAorICAgICAg
e3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjEwMzYpLCA1NDN9LAorICAgICAgey0xfSwgey0xfSwg
ey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHst
MX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTA0OSksIDE3M30sCisg
ICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9
LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwK
KyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxMDY3KSwgMTAyfSwKKyAgICAgIHstMX0s
IHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTA3MCksIDExNX0sCisgICAg
ICB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjEwNzIpLCAxOTd9LAorICAg
ICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmlu
YW1lMmN0eXBlX29mZnNldChzdHIxMDgwKSwgMjEwfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29m
ZnNldChzdHIxMDgxKSwgMzk5fSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5p
bmFtZTJjdHlwZV9vZmZzZXQoc3RyMTA4NSksIDI0OH0sCisgICAgICB7LTF9LAorICAgICAge3Vu
aW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjEwODcpLCA1Njd9LAorICAgICAgey0xfSwgey0xfSwKKyAg
ICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxMDkwKSwgNjl9LAorICAgICAge3VuaW5hbWUy
Y3R5cGVfb2Zmc2V0KHN0cjEwOTEpLCAxMX0sCisgICAgICB7LTF9LAorICAgICAge3VuaW5hbWUy
Y3R5cGVfb2Zmc2V0KHN0cjEwOTMpLCAxMjV9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwKKyAg
ICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxMDk3KSwgNTIwfSwKKyAgICAgIHstMX0sIHst
MX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTEwMiksIDUw
Nn0sCisgICAgICB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjEx
MDUpLCAyMTd9LAorICAgICAgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIx
MTA3KSwgNTIxfSwKKyAgICAgIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3Ry
MTEwOSksIDIyOH0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7
LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjExMTkpLCAx
MDZ9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjExMjApLCA2MH0sCisgICAgICB7
dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTEyMSksIDM2NX0sCisgICAgICB7LTF9LCB7LTF9LCB7
LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0x
fSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxMTM0KSwgNDEwfSwKKyAg
ICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9v
ZmZzZXQoc3RyMTE0MCksIDkzfSwKKyAgICAgIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9v
ZmZzZXQoc3RyMTE0MiksIDIwNn0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3Vu
aW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjExNDYpLCAxMzF9LAorICAgICAge3VuaW5hbWUyY3R5cGVf
b2Zmc2V0KHN0cjExNDcpLCAyNTV9LAorICAgICAgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBl
X29mZnNldChzdHIxMTQ5KSwgMTU4fSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIx
MTUwKSwgOTh9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjExNTEpLCA0ODN9LAor
ICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjExNTIpLCAyMTd9LAorICAgICAge3VuaW5h
bWUyY3R5cGVfb2Zmc2V0KHN0cjExNTMpLCAxMzh9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwK
KyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxMTU3KSwgMjAzfSwKKyAgICAgIHt1bmlu
YW1lMmN0eXBlX29mZnNldChzdHIxMTU4KSwgMTY2fSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0s
IHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTE2NCksIDIyOX0s
CisgICAgICB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0
cjExNjgpLCAxMDR9LAorICAgICAgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChz
dHIxMTcwKSwgMzc0fSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxMTcxKSwgNTE1
fSwKKyAgICAgIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTE3
NCksIDMxMn0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTE3NSksIDI2fSwKKyAg
ICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxMTc2KSwgMjA4fSwKKyAgICAgIHt1bmluYW1l
MmN0eXBlX29mZnNldChzdHIxMTc3KSwgNzR9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0
KHN0cjExNzgpLCAzMzh9LAorICAgICAgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNl
dChzdHIxMTgwKSwgMTgzfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxMTgxKSwg
MTUxfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxMTgyKSwgMzQ0fSwKKyAgICAg
IHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxMTgzKSwgMTAxfSwKKyAgICAgIHstMX0sCisgICAg
ICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTE4NSksIDE3MH0sCisgICAgICB7LTF9LCB7LTF9
LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjExOTApLCAyNjF9
LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjExOTEpLCA1MjR9LAorICAgICAgey0x
fSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChz
dHIxMTk3KSwgMTAxfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxMTk4KSwgMTM1
fSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9v
ZmZzZXQoc3RyMTIwMyksIDM1MX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3Vu
aW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjEyMDcpLCA0NDd9LAorICAgICAge3VuaW5hbWUyY3R5cGVf
b2Zmc2V0KHN0cjEyMDgpLCAyMzl9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjEy
MDkpLCAxODZ9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjEyMTApLCAxMzd9LAor
ICAgICAgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxMjEyKSwgMzY0fSwK
KyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHst
MX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUy
Y3R5cGVfb2Zmc2V0KHN0cjEyMjcpLCAyMzJ9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwKKyAg
ICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxMjMxKSwgMjA2fSwKKyAgICAgIHt1bmluYW1l
MmN0eXBlX29mZnNldChzdHIxMjMyKSwgMzQwfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNl
dChzdHIxMjMzKSwgNzN9LAorI2lmbmRlZiBVU0VfVU5JQ09ERV9BR0VfUFJPUEVSVElFUworICAg
ICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwK
KyNlbHNlIC8qIFVTRV9VTklDT0RFX0FHRV9QUk9QRVJUSUVTICovCisgICAgICB7dW5pbmFtZTJj
dHlwZV9vZmZzZXQoc3RyMTIzNCksIDI4N30sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQo
c3RyMTIzNSksIDI4OX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTIzNiksIDI4
Nn0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTIzNyksIDI4OH0sCisgICAgICB7
LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorI2VuZGlmIC8qIFVTRV9VTklDT0RFX0FHRV9Q
Uk9QRVJUSUVTICovCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTI0MyksIDI1fSwK
KyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxMjQ0KSwgMzI2fSwKKyAgICAgIHt1bmlu
YW1lMmN0eXBlX29mZnNldChzdHIxMjQ1KSwgMjQ5fSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29m
ZnNldChzdHIxMjQ2KSwgNDIwfSwKKyNpZm5kZWYgVVNFX1VOSUNPREVfQUdFX1BST1BFUlRJRVMK
KyAgICAgIHstMX0sCisjZWxzZSAvKiBVU0VfVU5JQ09ERV9BR0VfUFJPUEVSVElFUyAqLworICAg
ICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjEyNDcpLCAyNjh9LAorI2VuZGlmIC8qIFVTRV9V
TklDT0RFX0FHRV9QUk9QRVJUSUVTICovCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3Ry
MTI0OCksIDMwfSwKKyNpZm5kZWYgVVNFX1VOSUNPREVfQUdFX1BST1BFUlRJRVMKKyAgICAgIHst
MX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisjZWxzZSAvKiBVU0VfVU5JQ09ERV9BR0VfUFJP
UEVSVElFUyAqLworICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjEyNDkpLCAyNzV9LAor
ICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjEyNTApLCAyNzB9LAorICAgICAge3VuaW5h
bWUyY3R5cGVfb2Zmc2V0KHN0cjEyNTEpLCAyNzR9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zm
c2V0KHN0cjEyNTIpLCAyNjl9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjEyNTMp
LCAyODV9LAorI2VuZGlmIC8qIFVTRV9VTklDT0RFX0FHRV9QUk9QRVJUSUVTICovCisgICAgICB7
dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTI1NCksIDU0MH0sCisjaWZuZGVmIFVTRV9VTklDT0RF
X0FHRV9QUk9QRVJUSUVTCisgICAgICB7LTF9LAorI2Vsc2UgLyogVVNFX1VOSUNPREVfQUdFX1BS
T1BFUlRJRVMgKi8KKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxMjU1KSwgMjgwfSwK
KyNlbmRpZiAvKiBVU0VfVU5JQ09ERV9BR0VfUFJPUEVSVElFUyAqLworICAgICAge3VuaW5hbWUy
Y3R5cGVfb2Zmc2V0KHN0cjEyNTYpLCAyNjd9LAorI2lmbmRlZiBVU0VfVU5JQ09ERV9BR0VfUFJP
UEVSVElFUworICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyNlbHNl
IC8qIFVTRV9VTklDT0RFX0FHRV9QUk9QRVJUSUVTICovCisgICAgICB7dW5pbmFtZTJjdHlwZV9v
ZmZzZXQoc3RyMTI1NyksIDI3OX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTI1
OCksIDI4MX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTI1OSksIDI3Mn0sCisg
ICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTI2MCksIDI4NH0sCisgICAgICB7dW5pbmFt
ZTJjdHlwZV9vZmZzZXQoc3RyMTI2MSksIDI3MX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZz
ZXQoc3RyMTI2MiksIDI3M30sCisjZW5kaWYgLyogVVNFX1VOSUNPREVfQUdFX1BST1BFUlRJRVMg
Ki8KKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxMjYzKSwgNjR9LAorI2lmbmRlZiBV
U0VfVU5JQ09ERV9BR0VfUFJPUEVSVElFUworICAgICAgey0xfSwgey0xfSwKKyNlbHNlIC8qIFVT
RV9VTklDT0RFX0FHRV9QUk9QRVJUSUVTICovCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQo
c3RyMTI2NCksIDI4M30sCisgICAgICB7LTF9LAorI2VuZGlmIC8qIFVTRV9VTklDT0RFX0FHRV9Q
Uk9QRVJUSUVTICovCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTI2NiksIDIxfSwK
KyNpZm5kZWYgVVNFX1VOSUNPREVfQUdFX1BST1BFUlRJRVMKKyAgICAgIHstMX0sIHstMX0sIHst
MX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisjZWxzZSAvKiBVU0VfVU5JQ09ERV9BR0VfUFJP
UEVSVElFUyAqLworICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjEyNjcpLCAyODJ9LAor
ICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjEyNjgpLCAyNzd9LAorICAgICAgey0xfSwK
KyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxMjcwKSwgMjc2fSwKKyAgICAgIHt1bmlu
YW1lMmN0eXBlX29mZnNldChzdHIxMjcxKSwgMjc4fSwKKyAgICAgIHstMX0sIHstMX0sCisjZW5k
aWYgLyogVVNFX1VOSUNPREVfQUdFX1BST1BFUlRJRVMgKi8KKyAgICAgIHt1bmluYW1lMmN0eXBl
X29mZnNldChzdHIxMjc0KSwgMjAwfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHst
MX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTI4MiksIDU5
Nn0sCisgICAgICB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjEy
ODUpLCAxMDV9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBl
X29mZnNldChzdHIxMjg5KSwgMzMzfSwKKyAgICAgIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFt
ZTJjdHlwZV9vZmZzZXQoc3RyMTI5MiksIDM4Mn0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7
LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjEyOTcpLCAxNDV9LAorICAgICAg
ey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxMzAwKSwgODZ9LAor
ICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjEzMDEpLCAxNDF9LAorICAgICAgey0xfSwg
ey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxMzA2KSwg
MTV9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAg
ICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxMzE0KSwgMTkzfSwKKyAgICAgIHstMX0sIHst
MX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTMxNyksIDg2fSwKKyAgICAgIHst
MX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTMxOSksIDI1Nn0sCisgICAgICB7
LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAg
ICAgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxMzMxKSwgMjUy
fSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0s
CisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTM0MCksIDEwNX0sCisgICAgICB7LTF9
LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjEzNDMpLCAxMjB9LAorICAg
ICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwK
KyAgICAgIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTM1NCksIDE2NH0s
CisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTM1NSksIDI1NH0sCisgICAgICB7LTF9
LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjEzNTgpLCA1OTR9LAorICAg
ICAgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxMzYwKSwgM30sCisgICAg
ICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0
cjEzNjUpLCAzNzJ9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjEzNjYpLCAzNn0s
CisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTM2NyksIDUxM30sCisgICAgICB7LTF9
LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjEzNjkpLCAyNDd9LAorICAgICAgey0x
fSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxMzczKSwgMjYz
fSwKKyAgICAgIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTM3NSksIDEz
NX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVf
b2Zmc2V0KHN0cjEzODApLCAzNX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3Vu
aW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjEzODQpLCA1Nn0sCisgICAgICB7LTF9LCB7LTF9LAorICAg
ICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjEzODcpLCAxMTN9LAorICAgICAgey0xfSwgey0x
fSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0s
IHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTQwMCksIDIwMX0s
CisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTQwMSksIDM4NX0sCisgICAgICB7LTF9
LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0
cjE0MDcpLCAyMjR9LAorICAgICAgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChz
dHIxNDA5KSwgMzh9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwg
ey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxNDE5KSwg
MTQwfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxNDIwKSwgMTQwfSwKKyAgICAg
IHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTQyMiksIDMxMH0sCisgICAg
ICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTQyMyksIDE0M30sCisgICAgICB7LTF9LCB7LTF9
LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjE0MjYpLCAzOX0sCisgICAgICB7LTF9
LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjE0MjgpLCAxODF9LAorICAgICAgey0x
fSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChz
dHIxNDM0KSwgMTQzfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJj
dHlwZV9vZmZzZXQoc3RyMTQzOCksIDQyMn0sCisgICAgICB7LTF9LCB7LTF9LAorICAgICAge3Vu
aW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjE0NDEpLCAyMTV9LAorICAgICAge3VuaW5hbWUyY3R5cGVf
b2Zmc2V0KHN0cjE0NDIpLCA1MjN9LAorICAgICAgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1l
MmN0eXBlX29mZnNldChzdHIxNDQ1KSwgMjUzfSwKKyAgICAgIHstMX0sIHstMX0sCisgICAgICB7
dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTQ0OCksIDQ5MX0sCisgICAgICB7dW5pbmFtZTJjdHlw
ZV9vZmZzZXQoc3RyMTQ0OSksIDEyMn0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3Ry
MTQ1MCksIDEzNH0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTQ1MSksIDIwM30s
CisgICAgICB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjE0NTQp
LCAxNDV9LAorICAgICAgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChz
dHIxNDU3KSwgMTY2fSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5p
bmFtZTJjdHlwZV9vZmZzZXQoc3RyMTQ2MiksIDUzNX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9
LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjE0NjYpLCAyNDF9LAorICAgICAgey0x
fSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxNDcwKSwgNDkw
fSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxNDcxKSwgNDkyfSwKKyAgICAgIHst
MX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTQ3NSksIDQx
NH0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTQ3NiksIDQ5NH0sCisgICAgICB7
LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjE0NzgpLCA0MzZ9LAorICAgICAg
ey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxNDgxKSwgMTM4fSwK
KyAgICAgIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3Ry
MTQ4NSksIDMyOH0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5
cGVfb2Zmc2V0KHN0cjE0ODkpLCAzM30sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7
LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjE0OTUpLCAyNTF9LAorICAgICAg
ey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxNDk3KSwgNDg0fSwKKyAgICAg
IHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxNDk4KSwgMTk5fSwKKyAgICAgIHt1bmluYW1lMmN0
eXBlX29mZnNldChzdHIxNDk5KSwgNTgyfSwKKyAgICAgIHstMX0sCisgICAgICB7dW5pbmFtZTJj
dHlwZV9vZmZzZXQoc3RyMTUwMSksIDE5Nn0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9
LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjE1MDcpLCAxMjJ9LAorICAg
ICAgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxNTA5KSwgMTEwfSwKKyAg
ICAgIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTUxMiksIDEx
MH0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVf
b2Zmc2V0KHN0cjE1MTcpLCA1ODF9LAorICAgICAgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBl
X29mZnNldChzdHIxNTE5KSwgMjE5fSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIx
NTIwKSwgMjI4fSwKKyAgICAgIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZz
ZXQoc3RyMTUyMyksIDExN30sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTUyNCks
IDQ3MX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5
cGVfb2Zmc2V0KHN0cjE1MjkpLCAxMjB9LAorICAgICAgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0
eXBlX29mZnNldChzdHIxNTMxKSwgNDA3fSwKKyAgICAgIHstMX0sCisgICAgICB7dW5pbmFtZTJj
dHlwZV9vZmZzZXQoc3RyMTUzMyksIDE0Mn0sCisgICAgICB7LTF9LAorICAgICAge3VuaW5hbWUy
Y3R5cGVfb2Zmc2V0KHN0cjE1MzUpLCAyMTl9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0
KHN0cjE1MzYpLCAxMjd9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjE1MzcpLCAy
NjB9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBl
X29mZnNldChzdHIxNTQyKSwgNDUzfSwKKyAgICAgIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlw
ZV9vZmZzZXQoc3RyMTU0NCksIDU2MX0sCisgICAgICB7LTF9LCB7LTF9LAorICAgICAge3VuaW5h
bWUyY3R5cGVfb2Zmc2V0KHN0cjE1NDcpLCAxNjh9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zm
c2V0KHN0cjE1NDgpLCA1MTh9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjE1NDkp
LCA1MDV9LAorICAgICAgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChz
dHIxNTUyKSwgMTE3fSwKKyAgICAgIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9v
ZmZzZXQoc3RyMTU1NSksIDEwN30sCisgICAgICB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVf
b2Zmc2V0KHN0cjE1NTcpLCA4NX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9
LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjE1NjMpLCAyNjR9LAorICAgICAgey0x
fSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxNTY1KSwgMzE1fSwKKyAgICAgIHst
MX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTU2NyksIDE0OH0sCisgICAgICB7
LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjE1NjkpLCAyMzZ9LAorICAgICAg
ey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxNTcyKSwgMTE1fSwK
KyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7
dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTU4MCksIDEzMX0sCisgICAgICB7LTF9LAorICAgICAg
e3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjE1ODIpLCAxNDh9LAorICAgICAgey0xfSwgey0xfSwg
ey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxNTg3KSwgNTI5fSwK
KyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFt
ZTJjdHlwZV9vZmZzZXQoc3RyMTU5NCksIDExNH0sCisgICAgICB7LTF9LCB7LTF9LAorICAgICAg
e3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjE1OTcpLCA4MX0sCisgICAgICB7LTF9LCB7LTF9LCB7
LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjE2MDIpLCA5N30sCisg
ICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0
KHN0cjE2MDcpLCA5N30sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAg
ICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjE2MTMpLCAxNjR9LAorICAgICAgey0xfSwgey0x
fSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxNjE3KSwgNDg4fSwKKyAg
ICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQo
c3RyMTYyMiksIDM3M30sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTYyMyksIDU0
Nn0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUy
Y3R5cGVfb2Zmc2V0KHN0cjE2MjkpLCAzOX0sCisgICAgICB7LTF9LAorICAgICAge3VuaW5hbWUy
Y3R5cGVfb2Zmc2V0KHN0cjE2MzEpLCAxNzZ9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwKKyAg
ICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxNjM1KSwgNzJ9LAorICAgICAgey0xfSwgey0x
fSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxNjM4KSwgNDI2fSwKKyAgICAgIHst
MX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTY0
MyksIDYyfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0s
IHstMX0sIHstMX0sCisgICAgICB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0
cjE2NTQpLCAzODh9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjE2NTUpLCAyNjV9
LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmlu
YW1lMmN0eXBlX29mZnNldChzdHIxNjYyKSwgMTI5fSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0s
IHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZz
ZXQoc3RyMTY3MSksIDExNH0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5h
bWUyY3R5cGVfb2Zmc2V0KHN0cjE2NzUpLCA0NTd9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zm
c2V0KHN0cjE2NzYpLCAxNzZ9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjE2Nzcp
LCAzMDN9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0
eXBlX29mZnNldChzdHIxNjgyKSwgNTk1fSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sCisgICAg
ICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTY4NiksIDkzfSwKKyAgICAgIHt1bmluYW1lMmN0
eXBlX29mZnNldChzdHIxNjg3KSwgMTQxfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sCisgICAg
ICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTY5MSksIDEyNH0sCisgICAgICB7dW5pbmFtZTJj
dHlwZV9vZmZzZXQoc3RyMTY5MiksIDEyMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9
LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjE2OTkpLCAzNjd9
LAorICAgICAgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxNzAy
KSwgNTEwfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxNzAzKSwgNTMzfSwKKyAg
ICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxNzA0KSwgMjA3fSwKKyAgICAgIHstMX0sIHst
MX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5p
bmFtZTJjdHlwZV9vZmZzZXQoc3RyMTcxNCksIDIwN30sCisgICAgICB7LTF9LAorICAgICAge3Vu
aW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjE3MTYpLCA0MTl9LAorICAgICAgey0xfSwgey0xfSwgey0x
fSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxNzIyKSwgMzQ3
fSwKKyAgICAgIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTcyNCksIDU1
NH0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0
KHN0cjE3MjgpLCAyMjF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjE3MjkpLCA0
MzB9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjE3MzApLCAyMjJ9LAorICAgICAg
e3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjE3MzEpLCA1MTd9LAorICAgICAge3VuaW5hbWUyY3R5
cGVfb2Zmc2V0KHN0cjE3MzIpLCAyMzh9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0
cjE3MzMpLCAxMjN9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwK
KyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxNzQwKSwgMTI5fSwKKyAgICAgIHstMX0s
CisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTc0MiksIDE2MX0sCisgICAgICB7LTF9
LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjE3NDUpLCA1MDl9LAorICAg
ICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjE3NDYpLCAzOTB9LAorICAgICAgey0xfSwgey0x
fSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxNzUwKSwgMjB9LAorICAg
ICAgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxNzUyKSwgNTAyfSwKKyAg
ICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQo
c3RyMTc1NyksIDUwMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9
LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjE3NjYpLCA3M30s
CisgICAgICB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjE3Njkp
LCAzNjJ9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAg
IHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxNzc2KSwgMTI2fSwKKyAgICAgIHstMX0sIHstMX0s
IHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTc4MCksIDY1fSwKKyAgICAg
IHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFt
ZTJjdHlwZV9vZmZzZXQoc3RyMTc4OCksIDEzN30sCisgICAgICB7LTF9LCB7LTF9LAorICAgICAg
e3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjE3OTEpLCAyMzN9LAorICAgICAgey0xfSwgey0xfSwg
ey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHst
MX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTgw
NiksIDMzNn0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVf
b2Zmc2V0KHN0cjE4MTApLCA1OTl9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjE4
MTEpLCAyMzZ9LAorICAgICAgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIx
ODEzKSwgMjU1fSwKKyAgICAgIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZz
ZXQoc3RyMTgxNiksIDU2NX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAg
e3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjE4MjEpLCAyMjR9LAorICAgICAgey0xfSwgey0xfSwg
ey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxODI1KSwgMjU4fSwKKyAgICAg
IHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxODI2KSwgMjAyfSwKKyAgICAgIHstMX0sCisgICAg
ICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTgyOCksIDM4N30sCisgICAgICB7LTF9LCB7LTF9
LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5h
bWUyY3R5cGVfb2Zmc2V0KHN0cjE4MzgpLCA1ODV9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwK
KyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxODQyKSwgMzc5fSwKKyAgICAgIHt1bmlu
YW1lMmN0eXBlX29mZnNldChzdHIxODQzKSwgMTM0fSwKKyAgICAgIHstMX0sIHstMX0sCisgICAg
ICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTg0NiksIDQ4MX0sCisgICAgICB7LTF9LAorICAg
ICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjE4NDgpLCAxMDl9LAorICAgICAgey0xfSwgey0x
fSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0s
IHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTg2MSksIDIwMn0s
CisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zm
c2V0KHN0cjE4NjYpLCA2MX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAg
e3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjE4NzEpLCA0Nzl9LAorICAgICAgey0xfSwgey0xfSwg
ey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIx
ODc4KSwgMjd9LAorICAgICAgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNl
dChzdHIxODgxKSwgNjN9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0x
fSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxODkx
KSwgMTUwfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxODkyKSwgNTYyfSwKKyAg
ICAgIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTg5
NiksIDU4OH0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9
LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjE5MDQpLCA0NDB9LAorICAgICAge3Vu
aW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjE5MDUpLCA1NTl9LAorICAgICAge3VuaW5hbWUyY3R5cGVf
b2Zmc2V0KHN0cjE5MDYpLCAxNTB9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAg
ICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxOTExKSwgMzQzfSwKKyAgICAgIHstMX0sIHst
MX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTkxNSksIDE2NX0sCisg
ICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9
LAorICAgICAgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChz
dHIxOTI4KSwgNDI0fSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxOTI5KSwgNDE3
fSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxOTMwKSwgNDQ1fSwKKyAgICAgIHst
MX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTkzMiksIDQwMH0sCisgICAgICB7
LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjE5MzYpLCAz
MjN9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0x
fSwgey0xfSwKKyAgICAgIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTk0
NyksIDE5NH0sCisgICAgICB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0
KHN0cjE5NTApLCA0MDl9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjE5NTEpLCAx
Mn0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3Vu
aW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjE5NTgpLCAxMDl9LAorICAgICAgey0xfSwgey0xfSwKKyAg
ICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxOTYxKSwgMTAzfSwKKyAgICAgIHstMX0sIHst
MX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTk2NCksIDQyNX0sCisgICAgICB7
LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjE5NjcpLCA0Nzd9LAor
ICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjE5NjgpLCA2MDN9LAorICAgICAgey0xfSwg
ey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxOTcxKSwgMTUzfSwKKyAgICAg
IHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisg
ICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0
KHN0cjE5ODUpLCAzOTN9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAg
ICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxOTkxKSwgMX0sCisgICAgICB7LTF9LAorICAg
ICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjE5OTMpLCAzNjB9LAorICAgICAge3VuaW5hbWUy
Y3R5cGVfb2Zmc2V0KHN0cjE5OTQpLCAxNzV9LAorICAgICAgey0xfSwKKyAgICAgIHt1bmluYW1l
MmN0eXBlX29mZnNldChzdHIxOTk2KSwgNDJ9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0x
fSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29m
ZnNldChzdHIyMDA2KSwgMzk1fSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5p
bmFtZTJjdHlwZV9vZmZzZXQoc3RyMjAxMCksIDM2M30sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9
LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjIwMTQpLCAzMjJ9LAorICAgICAgey0x
fSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIyMDE2KSwgMjA5fSwKKyAgICAgIHst
MX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9v
ZmZzZXQoc3RyMjAyMyksIDMyfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIyMDI0
KSwgNDg5fSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0s
IHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMjAzMyksIDc4fSwKKyAgICAg
IHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisg
ICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMjA0MyksIDE3fSwKKyAgICAgIHstMX0sIHst
MX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMjA0OCksIDky
fSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5p
bmFtZTJjdHlwZV9vZmZzZXQoc3RyMjA1NSksIDkyfSwKKyAgICAgIHstMX0sIHstMX0sCisgICAg
ICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMjA1OCksIDI0MH0sCisgICAgICB7LTF9LCB7LTF9
LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjIwNjIpLCAxMzB9LAorICAg
ICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmlu
YW1lMmN0eXBlX29mZnNldChzdHIyMDcwKSwgOX0sCisgICAgICB7LTF9LCB7LTF9LAorICAgICAg
e3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjIwNzMpLCAzMzB9LAorICAgICAgey0xfSwgey0xfSwg
ey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIyMDc4KSwgMjQ1fSwK
KyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZz
ZXQoc3RyMjA4MyksIDMyNH0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMjA4NCks
IDE1NH0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMjA4NSksIDIwfSwKKyAgICAg
IHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFt
ZTJjdHlwZV9vZmZzZXQoc3RyMjA5MyksIDE5Mn0sCisgICAgICB7LTF9LAorICAgICAge3VuaW5h
bWUyY3R5cGVfb2Zmc2V0KHN0cjIwOTUpLCAzNDF9LAorICAgICAgey0xfSwKKyAgICAgIHt1bmlu
YW1lMmN0eXBlX29mZnNldChzdHIyMDk3KSwgMjE0fSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29m
ZnNldChzdHIyMDk4KSwgOH0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5h
bWUyY3R5cGVfb2Zmc2V0KHN0cjIxMDIpLCA0M30sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZz
ZXQoc3RyMjEwMyksIDE2Mn0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAor
ICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjIxMDkpLCAyMTV9LAorICAgICAge3VuaW5h
bWUyY3R5cGVfb2Zmc2V0KHN0cjIxMTApLCAxMjN9LAorICAgICAgey0xfSwKKyAgICAgIHt1bmlu
YW1lMmN0eXBlX29mZnNldChzdHIyMTEyKSwgMjEwfSwKKyAgICAgIHstMX0sCisgICAgICB7dW5p
bmFtZTJjdHlwZV9vZmZzZXQoc3RyMjExNCksIDE1OX0sCisgICAgICB7LTF9LCB7LTF9LAorICAg
ICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjIxMTcpLCAxNzR9LAorICAgICAgey0xfSwKKyAg
ICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIyMTE5KSwgMjE2fSwKKyAgICAgIHstMX0sIHst
MX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9
LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zm
c2V0KHN0cjIxMzUpLCAxMjh9LAorICAgICAgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29m
ZnNldChzdHIyMTM3KSwgMTcyfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0s
IHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMjE0NSksIDUyfSwK
KyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIyMTQ2KSwgNDAxfSwKKyAgICAgIHstMX0s
IHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMjE0OSksIDIyMX0sCisgICAg
ICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMjE1MCksIDEyMX0sCisgICAgICB7LTF9LCB7LTF9
LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjIxNTMpLCAzNTJ9LAorICAgICAgey0x
fSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0
eXBlX29mZnNldChzdHIyMTYxKSwgMjMzfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sCisgICAg
ICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMjE2NSksIDE3NH0sCisgICAgICB7dW5pbmFtZTJj
dHlwZV9vZmZzZXQoc3RyMjE2NiksIDV9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0
cjIxNjcpLCAxMTJ9LAorICAgICAgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29m
ZnNldChzdHIyMTcwKSwgMjE2fSwKKyAgICAgIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJj
dHlwZV9vZmZzZXQoc3RyMjE3MyksIDg3fSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0s
IHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMjE4MSks
IDEzOX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMjE4MiksIDg3fSwKKyAgICAg
IHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisg
ICAgICB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjIx
OTUpLCAzMzl9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBl
X29mZnNldChzdHIyMTk5KSwgMTU5fSwKKyAgICAgIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlw
ZV9vZmZzZXQoc3RyMjIwMSksIDg5fSwKKyAgICAgIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFt
ZTJjdHlwZV9vZmZzZXQoc3RyMjIwNCksIDM2OX0sCisgICAgICB7LTF9LCB7LTF9LAorICAgICAg
e3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjIyMDcpLCAxOTZ9LAorICAgICAgey0xfSwgey0xfSwg
ey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1l
MmN0eXBlX29mZnNldChzdHIyMjE3KSwgMTI4fSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNl
dChzdHIyMjE4KSwgNTI2fSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFt
ZTJjdHlwZV9vZmZzZXQoc3RyMjIyMiksIDQ1OH0sCisgICAgICB7LTF9LAorICAgICAge3VuaW5h
bWUyY3R5cGVfb2Zmc2V0KHN0cjIyMjQpLCA0Mzh9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zm
c2V0KHN0cjIyMjUpLCA0NTl9LAorICAgICAgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0
eXBlX29mZnNldChzdHIyMjI4KSwgODJ9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0
cjIyMjkpLCAzNX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAg
e3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjIyMzUpLCA0NzR9LAorICAgICAgey0xfSwgey0xfSwK
KyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIyMjM4KSwgMTU0fSwKKyAgICAgIHstMX0s
IHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3Ry
MjI0NCksIDQyOH0sCisgICAgICB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zm
c2V0KHN0cjIyNDcpLCAzNn0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMjI0OCks
IDU2OX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zm
c2V0KHN0cjIyNTIpLCAyNDB9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwK
KyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIyMjU4KSwgNDQzfSwKKyAgICAgIHstMX0s
CisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMjI2MCksIDIzNX0sCisgICAgICB7LTF9
LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5
cGVfb2Zmc2V0KHN0cjIyNjgpLCA1OTd9LAorICAgICAgey0xfSwgey0xfSwKKyAgICAgIHt1bmlu
YW1lMmN0eXBlX29mZnNldChzdHIyMjcxKSwgMTh9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zm
c2V0KHN0cjIyNzIpLCAyNTR9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwK
KyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIyMjc4KSwgMTI0fSwKKyAgICAgIHstMX0s
IHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMjI4MiksIDIzMH0s
CisgICAgICB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjIyODUp
LCAzOH0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7
LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjIyOTQpLCA4OH0sCisgICAgICB7
LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUy
Y3R5cGVfb2Zmc2V0KHN0cjIzMDIpLCAzNjh9LAorICAgICAgey0xfSwgey0xfSwKKyAgICAgIHt1
bmluYW1lMmN0eXBlX29mZnNldChzdHIyMzA1KSwgMjA1fSwKKyAgICAgIHstMX0sIHstMX0sIHst
MX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMjMx
MiksIDE3N30sCisgICAgICB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0
KHN0cjIzMTUpLCA1Njh9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAg
ICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIyMzIxKSwgMzcwfSwKKyAgICAgIHstMX0sIHst
MX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9
LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5h
bWUyY3R5cGVfb2Zmc2V0KHN0cjIzMzkpLCA2MDB9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwK
KyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIyMzQzKSwgNTYwfSwKKyAgICAgIHt1bmlu
YW1lMmN0eXBlX29mZnNldChzdHIyMzQ0KSwgODJ9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwg
ey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0sIHst
MX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMjM1NyksIDIzN30sCisgICAgICB7
LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjIzNjEpLCA1
NzF9LAorICAgICAgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIy
MzY0KSwgMzA5fSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIyMzY1KSwgNDAzfSwK
KyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7
dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMjM3MyksIDM3fSwKKyAgICAgIHt1bmluYW1lMmN0eXBl
X29mZnNldChzdHIyMzc0KSwgMzc3fSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIy
Mzc1KSwgMTk3fSwKKyAgICAgIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZz
ZXQoc3RyMjM3OCksIDIzN30sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7
LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBl
X29mZnNldChzdHIyMzg5KSwgMjA0fSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHst
MX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMjM5NiksIDM3Nn0sCisg
ICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMjM5NyksIDQwNn0sCisgICAgICB7dW5pbmFt
ZTJjdHlwZV9vZmZzZXQoc3RyMjM5OCksIDM5OH0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7
LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0x
fSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChz
dHIyNDE1KSwgNDAyfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIyNDE2KSwgMzY2
fSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0s
IHstMX0sCisgICAgICB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjI0Mjcp
LCAyM30sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5h
bWUyY3R5cGVfb2Zmc2V0KHN0cjI0MzMpLCA0Mjd9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwg
ey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIyNDQwKSwg
MTAwfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHst
MX0sIHstMX0sCisgICAgICB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjI0
NTEpLCAyOX0sCisgICAgICB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0
KHN0cjI0NTQpLCAyMjB9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1l
MmN0eXBlX29mZnNldChzdHIyNDU4KSwgNDk1fSwKKyAgICAgIHstMX0sCisgICAgICB7dW5pbmFt
ZTJjdHlwZV9vZmZzZXQoc3RyMjQ2MCksIDI0Nn0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7
LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVf
b2Zmc2V0KHN0cjI0NzApLCA0MzN9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAg
ICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIyNDc1KSwgMTQyfSwKKyAgICAgIHstMX0sIHst
MX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMjQ3OSksIDM0Nn0sCisg
ICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMjQ4MCksIDUwfSwKKyAgICAgIHt1bmluYW1l
MmN0eXBlX29mZnNldChzdHIyNDgxKSwgMzcxfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHst
MX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9
LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwg
ey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIy
NTA2KSwgNTExfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisg
ICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMjUxMyksIDU5Mn0sCisgICAgICB7LTF9LCB7
LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjI1
MTkpLCA0NjZ9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0x
fSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIyNTI5KSwgMTY1
fSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9v
ZmZzZXQoc3RyMjUzNCksIDMyNX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9
LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjI1NDApLCAyMjZ9LAorICAgICAgey0x
fSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIyNTQyKSwgMTI1fSwKKyAgICAgIHst
MX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQo
c3RyMjU0OCksIDExOH0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUy
Y3R5cGVfb2Zmc2V0KHN0cjI1NTIpLCA0NjJ9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0x
fSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChz
dHIyNTYxKSwgNDM1fSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIyNTYyKSwgMjUx
fSwKKyAgICAgIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMjU2NCksIDM1
N30sCisgICAgICB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjI1NjYpLCAx
ODV9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjI1NjcpLCAzMDR9LAorICAgICAg
ey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIyNTcwKSwgNDc2fSwK
KyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZz
ZXQoc3RyMjU3NSksIDE4NX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMjU3Niks
IDk5fSwKKyAgICAgIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3Ry
MjU3OSksIDEzM30sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAor
ICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjI1ODYpLCAxOTl9LAorICAgICAgey0xfSwg
ey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1l
MmN0eXBlX29mZnNldChzdHIyNTk1KSwgMzI3fSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHst
MX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMjYw
MyksIDE5OH0sCisgICAgICB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0
KHN0cjI2MDYpLCAzNTl9LAorICAgICAgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBl
X29mZnNldChzdHIyNjA5KSwgNTV9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAg
ICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIyNjE0KSwgNTM4fSwKKyAgICAgIHstMX0sIHst
MX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5p
bmFtZTJjdHlwZV9vZmZzZXQoc3RyMjYyNCksIDIyNn0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9
LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjI2MzEp
LCAxMDd9LAorICAgICAgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChz
dHIyNjM0KSwgMjY2fSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0s
IHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMjY0MyksIDQzN30s
CisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMjY0NCksIDU3Nn0sCisgICAgICB7LTF9
LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjI2NDgpLCAyNDN9
LAorICAgICAgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIyNjUwKSwgNzh9
LAorICAgICAgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIyNjUz
KSwgMTgzfSwKKyAgICAgIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQo
c3RyMjY1NiksIDM1M30sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9
LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjI2NjMpLCAxODJ9LAorICAgICAgey0x
fSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIyNjY1KSwgODN9LAorICAgICAgey0x
fSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIyNjY4KSwgOTR9LAorICAg
ICAgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIyNjcwKSwgNTkzfSwKKyAg
ICAgIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMjY3MyksIDg0
fSwKKyAgICAgIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMjY3
NiksIDgzfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0s
IHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zm
c2V0KHN0cjI2ODgpLCAxMzl9LAorICAgICAgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0
eXBlX29mZnNldChzdHIyNjkxKSwgODR9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0
cjI2OTIpLCAyMTF9LAorICAgICAgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChz
dHIyNjk0KSwgNDh9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0
eXBlX29mZnNldChzdHIyNjk4KSwgMTE5fSwKKyAgICAgIHstMX0sIHstMX0sCisgICAgICB7dW5p
bmFtZTJjdHlwZV9vZmZzZXQoc3RyMjcwMSksIDQxOH0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9v
ZmZzZXQoc3RyMjcwMiksIDg5fSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0s
IHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7
LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0
KHN0cjI3MjEpLCAxOTh9LAorICAgICAgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNl
dChzdHIyNzIzKSwgNH0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9
LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjI3MzIpLCAxMzB9
LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwg
ey0xfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFt
ZTJjdHlwZV9vZmZzZXQoc3RyMjc0NyksIDU0fSwKKyAgICAgIHstMX0sIHstMX0sCisgICAgICB7
dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMjc1MCksIDUzNH0sCisgICAgICB7LTF9LCB7LTF9LCB7
LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUy
Y3R5cGVfb2Zmc2V0KHN0cjI3NjApLCAxNTJ9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwKKyAg
ICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIyNzY0KSwgMjQxfSwKKyAgICAgIHstMX0sIHst
MX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMjc2OCksIDkwfSwKKyAg
ICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIyNzY5KSwgNDY4fSwKKyAgICAgIHstMX0sIHst
MX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9v
ZmZzZXQoc3RyMjc3NyksIDI4fSwKKyAgICAgIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJj
dHlwZV9vZmZzZXQoc3RyMjc4MCksIDIyN30sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9
LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwK
KyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIyNzkzKSwgMzR9LAorICAgICAgey0xfSwg
ey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHst
MX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAg
ICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0
cjI4MTYpLCAyOTZ9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmlu
YW1lMmN0eXBlX29mZnNldChzdHIyODIxKSwgMzc4fSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0s
IHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7
LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjI4MzQpLCAzNDl9LAorICAgICAg
ey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBl
X29mZnNldChzdHIyODQxKSwgMjIyfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHst
MX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMjg0OCksIDI1M30sCisg
ICAgICB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjI4
NTIpLCAyOTF9LAorICAgICAgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNl
dChzdHIyODU1KSwgMTkwfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIyODU2KSwg
NjZ9LAorICAgICAgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIy
ODU5KSwgNDEyfSwKKyAgICAgIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZz
ZXQoc3RyMjg2MiksIDIxMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAg
e3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjI4NjcpLCAyOTV9LAorICAgICAgey0xfSwgey0xfSwg
ey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIyODcxKSwgMjQzfSwKKyAgICAg
IHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisg
ICAgICB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjI4ODMpLCAy
NDJ9LAorICAgICAgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIyODg1KSwg
MTQ3fSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIyODg2KSwgMTMzfSwKKyAgICAg
IHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisg
ICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAg
ICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjI5MDQpLCA0NDl9LAorICAgICAge3VuaW5hbWUy
Y3R5cGVfb2Zmc2V0KHN0cjI5MDUpLCAyNjJ9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0
KHN0cjI5MDYpLCA1NzV9LAorICAgICAgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBl
X29mZnNldChzdHIyOTA5KSwgNTQ5fSwKKyAgICAgIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFt
ZTJjdHlwZV9vZmZzZXQoc3RyMjkxMiksIDI0NH0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7
LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0x
fSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIyOTI2KSwgNTF9LAorICAg
ICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwK
KyAgICAgIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMjkzOCks
IDI0Mn0sCisgICAgICB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0
cjI5NDEpLCAzNDh9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwg
ey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHst
MX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3Vu
aW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjI5NjMpLCAyMjV9LAorICAgICAge3VuaW5hbWUyY3R5cGVf
b2Zmc2V0KHN0cjI5NjQpLCA1MDN9LAorICAgICAgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1l
MmN0eXBlX29mZnNldChzdHIyOTY3KSwgNDN9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0x
fSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0s
CisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMjk4MCksIDE5NX0sCisgICAgICB7LTF9
LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjI5ODQpLCA1NDd9
LAorICAgICAgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIyOTg2KSwgMTE4
fSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIyOTg3KSwgNTR9LAorICAgICAge3Vu
aW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjI5ODgpLCA0NTZ9LAorICAgICAgey0xfSwgey0xfSwgey0x
fSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIyOTkzKSwgMjM0fSwKKyAg
ICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJj
dHlwZV9vZmZzZXQoc3RyMzAwMCksIDE2fSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChz
dHIzMDAxKSwgMTgwfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIzMDAyKSwgNjR9
LAorICAgICAgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIzMDA1
KSwgNDYwfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIzMDA2KSwgNTU1fSwKKyAg
ICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9v
ZmZzZXQoc3RyMzAxMiksIDgwfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0s
IHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7
LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjMwMjgpLCAyNTB9LAor
ICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0x
fSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAg
ICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMzA0NSksIDU3N30sCisgICAgICB7LTF9LCB7LTF9
LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5h
bWUyY3R5cGVfb2Zmc2V0KHN0cjMwNTUpLCA0NTR9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwg
ey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0sIHst
MX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9
LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwg
ey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNl
dChzdHIzMDg5KSwgMTQ2fSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHst
MX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMzA5OCksIDU4
MH0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMzA5OSksIDQ2M30sCisgICAgICB7
dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMzEwMCksIDEwM30sCisgICAgICB7dW5pbmFtZTJjdHlw
ZV9vZmZzZXQoc3RyMzEwMSksIDIyM30sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7
LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjMxMDcpLCAyOTl9LAorICAgICAg
ey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIzMTA5KSwgMzAxfSwKKyAgICAg
IHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMzExMSksIDE5MX0sCisgICAg
ICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAor
ICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNl
dChzdHIzMTI1KSwgMTkxfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIzMTI2KSwg
OTl9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAg
ICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIzMTM0KSwgMjIzfSwKKyAgICAgIHstMX0sIHst
MX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9
LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAg
ey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNl
dChzdHIzMTU4KSwgMzE0fSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHst
MX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMzE2NSksIDQzOX0sCisgICAgICB7
LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjMxNjkpLCA0
N30sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3Vu
aW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjMxNzYpLCAzODF9LAorICAgICAgey0xfSwgey0xfSwgey0x
fSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIzMTgwKSwgMzE3fSwKKyAgICAgIHst
MX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMzE4
NSksIDEyNn0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9
LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjMxOTQpLCAyMDR9LAorICAg
ICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwK
KyAgICAgIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMzIwNSksIDIyN30s
CisgICAgICB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0
cjMyMDkpLCA2Mn0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAg
e3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjMyMTUpLCAxODB9LAorICAgICAgey0xfSwgey0xfSwK
KyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIzMjE4KSwgMjAxfSwKKyAgICAgIHstMX0s
IHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7
LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAg
ICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjMyMzcpLCAzNzV9LAorICAgICAgey0xfSwKKyAg
ICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIzMjM5KSwgMjk0fSwKKyAgICAgIHt1bmluYW1l
MmN0eXBlX29mZnNldChzdHIzMjQwKSwgMjkwfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHst
MX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMzI0
OCksIDIxM30sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3Vu
aW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjMyNTQpLCAxOTB9LAorICAgICAgey0xfSwgey0xfSwgey0x
fSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0s
CisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMzI2NiksIDQyMX0sCisgICAgICB7LTF9
LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAg
ey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAg
ICAgIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMzI4NiksIDIzNX0sCisg
ICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9
LAorICAgICAgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIzMjk3KSwgMjk3
fSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJj
dHlwZV9vZmZzZXQoc3RyMzMwMyksIDI5M30sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9
LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjMzMDkpLCAxNzh9LAorICAg
ICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmlu
YW1lMmN0eXBlX29mZnNldChzdHIzMzE3KSwgMjQ5fSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0s
IHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LAorICAgICAg
e3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjMzMjgpLCA2M30sCisgICAgICB7dW5pbmFtZTJjdHlw
ZV9vZmZzZXQoc3RyMzMyOSksIDU4N30sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7
LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0x
fSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29m
ZnNldChzdHIzMzQ4KSwgMzkyfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIzMzQ5
KSwgNDIzfSwKKyAgICAgIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMzM1
MSksIDk2fSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0s
IHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMzM2MCksIDIzNH0sCisgICAg
ICB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjMzNjMpLCA5Nn0s
CisgICAgICB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjMzNjUpLCA1Nzh9
LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwg
ey0xfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHst
MX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9
LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwg
ey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHst
MX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9
LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwg
ey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHst
MX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMzQzMyksIDIwNX0sCisgICAgICB7
LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjM0MzYpLCAyMTN9LAor
ICAgICAgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIzNDM5KSwg
NDl9LAorICAgICAgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIz
NDQyKSwgNDY0fSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHst
MX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9
LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjM0NTgpLCAxMH0sCisgICAgICB7LTF9
LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjM0NjApLCA1ODl9LAorICAgICAgey0x
fSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAg
IHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisg
ICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9
LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwg
ey0xfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHst
MX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3Vu
aW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjM1MTEpLCAzOTZ9LAorICAgICAge3VuaW5hbWUyY3R5cGVf
b2Zmc2V0KHN0cjM1MTIpLCA0ODd9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAg
ICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIzNTE3KSwgMTc5fSwKKyAgICAgIHstMX0sIHst
MX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9
LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjM1MzEp
LCAxNTN9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjM1MzIpLCA1NTB9LAorICAg
ICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjM1MzMpLCA1N30sCisgICAgICB7LTF9LCB7LTF9
LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwg
ey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBl
X29mZnNldChzdHIzNTUwKSwgNDF9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0x
fSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIzNTU4KSwgNTl9
LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwg
ey0xfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHst
MX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9
LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwg
ey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHst
MX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9
LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0
cjM2MTMpLCAyMTR9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjM2MTQpLCAyMjB9
LAorICAgICAgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIzNjE2KSwgNDV9
LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwg
ey0xfSwKKyAgICAgIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3Ry
MzYyOCksIDcxfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHst
MX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9
LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29m
ZnNldChzdHIzNjQ4KSwgNDUwfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0s
IHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7
LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjM2NjQpLCAxNzd9LAor
ICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0x
fSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0s
IHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7
LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0x
fSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9v
ZmZzZXQoc3RyMzcwMyksIDEzMn0sCisgICAgICB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVf
b2Zmc2V0KHN0cjM3MDUpLCAzMDZ9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0x
fSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIzNzE0
KSwgMTMyfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0s
IHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7
LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0x
fSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0s
IHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7
LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0x
fSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIzNzY2KSwgNDUy
fSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0s
IHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7
LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAg
ICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIzNzkxKSwgNjV9LAorICAgICAgey0xfSwgey0x
fSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0s
IHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMzgwNSks
IDI1MH0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7
LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1l
MmN0eXBlX29mZnNldChzdHIzODE5KSwgMTYyfSwKKyAgICAgIHstMX0sCisgICAgICB7dW5pbmFt
ZTJjdHlwZV9vZmZzZXQoc3RyMzgyMSksIDI5Mn0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7
LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0x
fSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0s
CisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMzg0MiksIDE4Mn0sCisgICAgICB7LTF9
LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjM4NDUpLCAyNDh9LAorICAg
ICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwK
KyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHst
MX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9
LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwg
ey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHst
MX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMzg5MSksIDMw
fSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0s
IHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7
LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0x
fSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAg
ICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMzkyNCksIDQwNX0sCisgICAgICB7LTF9LCB7LTF9
LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwg
ey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1l
MmN0eXBlX29mZnNldChzdHIzOTQyKSwgMTAwfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHst
MX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9
LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwg
ey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHst
MX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQo
c3RyMzk3NiksIDU3MH0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9
LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwg
ey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIz
OTk1KSwgMTQ3fSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHst
MX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9
LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwg
ey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHst
MX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9
LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwg
ey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0sIHst
MX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9
LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwg
ey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHst
MX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAg
ICB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjQwODcpLCA0MTV9LAorICAg
ICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwK
KyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHst
MX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0
KHN0cjQxMDkpLCAxMTl9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0x
fSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0s
IHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7
LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0
KHN0cjQxMzcpLCAyNDR9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0x
fSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0s
IHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7
LTF9LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjQxNjIpLCA1NDR9LAor
ICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0x
fSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQo
c3RyNDE3NSksIDU0NX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9
LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwg
ey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHst
MX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQo
c3RyNDIwMyksIDgwfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0s
IHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7
LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0x
fSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0s
IHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7
LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0x
fSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHI0MjU0KSwgMTE2
fSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0s
IHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7
LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBl
X29mZnNldChzdHI0Mjc2KSwgMTE2fSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHst
MX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9
LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjQyOTEpLCAzMDJ9LAorICAg
ICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwK
KyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHst
MX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9
LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChz
dHI0MzIxKSwgNzV9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwg
ey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHst
MX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9
LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwg
ey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0sCisgICAgICB7
dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyNDM2MCksIDIzMX0sCisgICAgICB7LTF9LCB7LTF9LCB7
LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0x
fSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0s
IHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7
LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAg
ICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjQzOTcpLCAzODZ9LAorICAgICAgey0xfSwgey0x
fSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29m
ZnNldChzdHI0NDA1KSwgMjk4fSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHI0NDA2
KSwgMzAwfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0s
IHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7
LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0x
fSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0s
IHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7
LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0x
fSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChz
dHI0NDYwKSwgOTB9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwg
ey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHst
MX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9
LCB7LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjQ0ODUpLCAxNzl9LAorICAg
ICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwK
KyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHst
MX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9
LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwg
ey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisg
ICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyNDUyOCksIDQ2fSwKKyAgICAgIHstMX0sIHst
MX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9
LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAg
ey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAg
ICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0s
CisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7
LTF9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0x
fSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0s
IHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7
LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0x
fSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0s
IHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7
LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0x
fSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0s
IHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7
LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0x
fSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0s
IHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7
LTF9LAorICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjQ2NzQpLCA2MDF9LAorICAgICAg
ey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1
bmluYW1lMmN0eXBlX29mZnNldChzdHI0NjgzKSwgNDUxfSwKKyAgICAgIHstMX0sIHstMX0sIHst
MX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9
LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwg
ey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHst
MX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAg
ICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAor
ICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0x
fSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0s
IHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7
LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0x
fSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0s
IHstMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyNDc3MiksIDM5NH0sCisgICAg
ICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAor
ICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0x
fSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0s
IHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7
LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0x
fSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0s
IHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7
LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0x
fSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0s
IHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7
LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0x
fSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0s
IHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7
LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0x
fSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAg
IHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisg
ICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9
LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwg
ey0xfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHst
MX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9
LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmlu
YW1lMmN0eXBlX29mZnNldChzdHI0OTQ4KSwgNTkwfSwKKyNlbmRpZiAvKiBVU0VfVU5JQ09ERV9Q
Uk9QRVJUSUVTICovCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAor
I2lmbmRlZiBVU0VfVU5JQ09ERV9QUk9QRVJUSUVTCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZz
ZXQoc3RyNiksIDEyfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHI3KSwgN30sCisg
ICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyOCksIDE1fSwKKyAgICAgIHt1bmluYW1lMmN0
eXBlX29mZnNldChzdHI5KSwgMX0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTAp
LCAxM30sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTEpLCAxMX0sCisgICAgICB7
dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTIpLCAxMH0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9v
ZmZzZXQoc3RyMTMpLCAxNH0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyMTQpLCAz
fSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxNSksIDl9LAorICAgICAge3VuaW5h
bWUyY3R5cGVfb2Zmc2V0KHN0cjE2KSwgOH0sCisgICAgICB7dW5pbmFtZTJjdHlwZV9vZmZzZXQo
c3RyMTcpLCA2fSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHIxOCksIDV9LAorICAg
ICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjE5KSwgNH0sCisgICAgICB7dW5pbmFtZTJjdHlw
ZV9vZmZzZXQoc3RyMjApLCAyfQorI2Vsc2UgLyogVVNFX1VOSUNPREVfUFJPUEVSVElFUyAqLwor
ICAgICAge3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjQ5NTUpLCAxNTV9LAorICAgICAgey0xfSwg
ey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHst
MX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAg
ICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAor
ICAgICAgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHI0
OTg2KSwgNDEzfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHst
MX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9
LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwg
ey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHst
MX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9
LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwg
ey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0sIHst
MX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9
LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwg
ey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHst
MX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAg
ICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAor
ICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0x
fSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0s
IHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7
LTF9LCB7LTF9LAorICAgICAgey0xfSwKKyAgICAgIHt1bmluYW1lMmN0eXBlX29mZnNldChzdHI1
MTE0KSwgMjI1fSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHst
MX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9
LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwg
ey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHst
MX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9
LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwg
ey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0sIHst
MX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9
LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwg
ey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHst
MX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAg
ICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAor
ICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0x
fSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0s
IHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7
LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0x
fSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0s
IHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7
LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0x
fSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0s
IHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7
LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0x
fSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0s
IHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7
LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0x
fSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAg
IHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisg
ICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9
LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwg
ey0xfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHst
MX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9
LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwg
ey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHst
MX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9
LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwg
ey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHst
MX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9
LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwg
ey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHst
MX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9
LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAg
ey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAg
ICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0s
CisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7
LTF9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0x
fSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0s
IHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7
LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0x
fSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0s
IHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7
LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0x
fSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0s
IHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7
LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0x
fSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0s
IHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7
LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAg
ICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwK
KyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7
dW5pbmFtZTJjdHlwZV9vZmZzZXQoc3RyNTYwOCksIDE1NX0sCisgICAgICB7LTF9LCB7LTF9LCB7
LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0x
fSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0s
IHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7
LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAg
ICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwK
KyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHst
MX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9
LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwg
ey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHst
MX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9
LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwg
ey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHst
MX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9
LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwg
ey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0sIHst
MX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9
LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwg
ey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHst
MX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAg
ICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAor
ICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0x
fSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0s
IHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7
LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0x
fSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0s
IHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7
LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0x
fSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0s
IHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7
LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0x
fSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0s
IHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7
LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0x
fSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAg
IHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisg
ICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9
LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwg
ey0xfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHst
MX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9
LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwg
ey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHst
MX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9
LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwg
ey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHst
MX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9
LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwg
ey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHst
MX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9
LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAg
ey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKKyAg
ICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0s
CisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7
LTF9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0x
fSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0s
IHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7LTF9LCB7
LTF9LCB7LTF9LCB7LTF9LAorICAgICAgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwgey0x
fSwgey0xfSwgey0xfSwgey0xfSwKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0s
IHstMX0sIHstMX0sIHstMX0sIHstMX0sCisgICAgICB7LTF9LCB7LTF9LCB7LTF9LAorICAgICAg
e3VuaW5hbWUyY3R5cGVfb2Zmc2V0KHN0cjYwOTgpLCA2MDJ9CisjZW5kaWYgLyogVVNFX1VOSUNP
REVfUFJPUEVSVElFUyAqLworICAgIH07CisKKyAgaWYgKGxlbiA8PSBNQVhfV09SRF9MRU5HVEgg
JiYgbGVuID49IE1JTl9XT1JEX0xFTkdUSCkKKyAgICB7CisgICAgICByZWdpc3RlciB1bnNpZ25l
ZCBpbnQga2V5ID0gdW5pbmFtZTJjdHlwZV9oYXNoIChzdHIsIGxlbik7CisKKyAgICAgIGlmIChr
ZXkgPD0gTUFYX0hBU0hfVkFMVUUpCisgICAgICAgIHsKKyAgICAgICAgICByZWdpc3RlciBpbnQg
byA9IHdvcmRsaXN0W2tleV0ubmFtZTsKKyAgICAgICAgICBpZiAobyA+PSAwKQorICAgICAgICAg
ICAgeworICAgICAgICAgICAgICByZWdpc3RlciBjb25zdCBjaGFyICpzID0gbyArIHVuaW5hbWUy
Y3R5cGVfcG9vbDsKKworICAgICAgICAgICAgICBpZiAoKnN0ciA9PSAqcyAmJiAhc3RybmNtcCAo
c3RyICsgMSwgcyArIDEsIGxlbiAtIDEpICYmIHNbbGVuXSA9PSAnXDAnKQorICAgICAgICAgICAg
ICAgIHJldHVybiAmd29yZGxpc3Rba2V5XTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAg
IH0KKyAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQKK3VuaW5hbWUyY3R5cGUoY29uc3QgVUNo
YXIgKm5hbWUsIHVuc2lnbmVkIGludCBsZW4pCit7CisgIGNvbnN0IHN0cnVjdCB1bmluYW1lMmN0
eXBlX3N0cnVjdCAqcCA9IHVuaW5hbWUyY3R5cGVfcCgoY29uc3QgY2hhciAqKW5hbWUsIGxlbik7
CisgIGlmIChwKSByZXR1cm4gcC0+Y3R5cGU7CisgIHJldHVybiAtMTsKK30KKyNpZiBkZWZpbmVk
IE9OSUdfVU5JQ09ERV9WRVJTSU9OX1NUUklORyAmJiAhKCBcCisgICAgICBPTklHX1VOSUNPREVf
VkVSU0lPTl9NQUpPUiA9PSAxMiAmJiBcCisgICAgICBPTklHX1VOSUNPREVfVkVSU0lPTl9NSU5P
UiA9PSAxICYmIFwKKyAgICAgIE9OSUdfVU5JQ09ERV9WRVJTSU9OX1RFRU5ZID09IDAgJiYgXAor
ICAgICAgMSkKKyMgZXJyb3IgT05JR19VTklDT0RFX1ZFUlNJT05fU1RSSU5HIG1pc21hdGNoCisj
ZW5kaWYKKyNkZWZpbmUgT05JR19VTklDT0RFX1ZFUlNJT05fU1RSSU5HICIxMi4xLjAiCisjZGVm
aW5lIE9OSUdfVU5JQ09ERV9WRVJTSU9OX01BSk9SIDEyCisjZGVmaW5lIE9OSUdfVU5JQ09ERV9W
RVJTSU9OX01JTk9SIDEKKyNkZWZpbmUgT05JR19VTklDT0RFX1ZFUlNJT05fVEVFTlkgMAorI2lm
IGRlZmluZWQgT05JR19VTklDT0RFX0VNT0pJX1ZFUlNJT05fU1RSSU5HICYmICEoIFwKKyAgICAg
IE9OSUdfVU5JQ09ERV9FTU9KSV9WRVJTSU9OX01BSk9SID09IDEyICYmIFwKKyAgICAgIE9OSUdf
VU5JQ09ERV9FTU9KSV9WRVJTSU9OX01JTk9SID09IDAgJiYgXAorICAgICAgMSkKKyMgZXJyb3Ig
T05JR19VTklDT0RFX0VNT0pJX1ZFUlNJT05fU1RSSU5HIG1pc21hdGNoCisjZW5kaWYKKyNkZWZp
bmUgT05JR19VTklDT0RFX0VNT0pJX1ZFUlNJT05fU1RSSU5HICIxMi4wIgorI2RlZmluZSBPTklH
X1VOSUNPREVfRU1PSklfVkVSU0lPTl9NQUpPUiAxMgorI2RlZmluZSBPTklHX1VOSUNPREVfRU1P
SklfVkVSU0lPTl9NSU5PUiAwCmRpZmYgLS1naXQgYS9nZW5lcmF0ZWQvZW5jZGIuaCBiL2dlbmVy
YXRlZC9lbmNkYi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM0N2ZhZmMK
LS0tIC9kZXYvbnVsbAorKysgYi9nZW5lcmF0ZWQvZW5jZGIuaApAQCAtMCwwICsxLDE3MiBAQAor
RU5DX0RFRklORSgiQVNDSUktOEJJVCIpOworRU5DX0RFRklORSgiVVRGLTgiKTsKK0VOQ19ERUZJ
TkUoIlVTLUFTQ0lJIik7CitFTkNfREVGSU5FKCJCaWc1Iik7CitFTkNfREVGSU5FKCJCaWc1LUhL
U0NTIik7CitFTkNfREVGSU5FKCJCaWc1LVVBTyIpOworRU5DX0RFRklORSgiQ1A5NDkiKTsKK0VO
Q19ERUZJTkUoIkVtYWNzLU11bGUiKTsKK0VOQ19ERUZJTkUoIkVVQy1KUCIpOworRU5DX0RFRklO
RSgiRVVDLUtSIik7CitFTkNfREVGSU5FKCJFVUMtVFciKTsKK0VOQ19ERUZJTkUoIkdCMjMxMiIp
OworRU5DX0RFRklORSgiR0IxODAzMCIpOworRU5DX0RFRklORSgiR0JLIik7CitFTkNfREVGSU5F
KCJJU08tODg1OS0xIik7CitFTkNfREVGSU5FKCJJU08tODg1OS0yIik7CitFTkNfREVGSU5FKCJJ
U08tODg1OS0zIik7CitFTkNfREVGSU5FKCJJU08tODg1OS00Iik7CitFTkNfREVGSU5FKCJJU08t
ODg1OS01Iik7CitFTkNfREVGSU5FKCJJU08tODg1OS02Iik7CitFTkNfREVGSU5FKCJJU08tODg1
OS03Iik7CitFTkNfREVGSU5FKCJJU08tODg1OS04Iik7CitFTkNfREVGSU5FKCJJU08tODg1OS05
Iik7CitFTkNfREVGSU5FKCJJU08tODg1OS0xMCIpOworRU5DX0RFRklORSgiSVNPLTg4NTktMTEi
KTsKK0VOQ19ERUZJTkUoIklTTy04ODU5LTEzIik7CitFTkNfREVGSU5FKCJJU08tODg1OS0xNCIp
OworRU5DX0RFRklORSgiSVNPLTg4NTktMTUiKTsKK0VOQ19ERUZJTkUoIklTTy04ODU5LTE2Iik7
CitFTkNfREVGSU5FKCJLT0k4LVIiKTsKK0VOQ19ERUZJTkUoIktPSTgtVSIpOworRU5DX0RFRklO
RSgiU2hpZnRfSklTIik7CitFTkNfREVGSU5FKCJVVEYtMTZCRSIpOworRU5DX0RFRklORSgiVVRG
LTE2TEUiKTsKK0VOQ19ERUZJTkUoIlVURi0zMkJFIik7CitFTkNfREVGSU5FKCJVVEYtMzJMRSIp
OworRU5DX0RFRklORSgiV2luZG93cy0zMUoiKTsKK0VOQ19ERUZJTkUoIldpbmRvd3MtMTI1MCIp
OworRU5DX0RFRklORSgiV2luZG93cy0xMjUxIik7CitFTkNfREVGSU5FKCJXaW5kb3dzLTEyNTIi
KTsKK0VOQ19ERUZJTkUoIldpbmRvd3MtMTI1MyIpOworRU5DX0RFRklORSgiV2luZG93cy0xMjU0
Iik7CitFTkNfREVGSU5FKCJXaW5kb3dzLTEyNTciKTsKK0VOQ19BTElBUygiQklOQVJZIiwgIkFT
Q0lJLThCSVQiKTsKK0VOQ19SRVBMSUNBVEUoIklCTTQzNyIsICJBU0NJSS04QklUIik7CitFTkNf
QUxJQVMoIkNQNDM3IiwgIklCTTQzNyIpOworRU5DX1JFUExJQ0FURSgiSUJNNzM3IiwgIkFTQ0lJ
LThCSVQiKTsKK0VOQ19BTElBUygiQ1A3MzciLCAiSUJNNzM3Iik7CitFTkNfUkVQTElDQVRFKCJJ
Qk03NzUiLCAiQVNDSUktOEJJVCIpOworRU5DX0FMSUFTKCJDUDc3NSIsICJJQk03NzUiKTsKK0VO
Q19SRVBMSUNBVEUoIkNQODUwIiwgIkFTQ0lJLThCSVQiKTsKK0VOQ19BTElBUygiSUJNODUwIiwg
IkNQODUwIik7CitFTkNfUkVQTElDQVRFKCJJQk04NTIiLCAiQVNDSUktOEJJVCIpOworRU5DX1JF
UExJQ0FURSgiQ1A4NTIiLCAiSUJNODUyIik7CitFTkNfUkVQTElDQVRFKCJJQk04NTUiLCAiQVND
SUktOEJJVCIpOworRU5DX1JFUExJQ0FURSgiQ1A4NTUiLCAiSUJNODU1Iik7CitFTkNfUkVQTElD
QVRFKCJJQk04NTciLCAiQVNDSUktOEJJVCIpOworRU5DX0FMSUFTKCJDUDg1NyIsICJJQk04NTci
KTsKK0VOQ19SRVBMSUNBVEUoIklCTTg2MCIsICJBU0NJSS04QklUIik7CitFTkNfQUxJQVMoIkNQ
ODYwIiwgIklCTTg2MCIpOworRU5DX1JFUExJQ0FURSgiSUJNODYxIiwgIkFTQ0lJLThCSVQiKTsK
K0VOQ19BTElBUygiQ1A4NjEiLCAiSUJNODYxIik7CitFTkNfUkVQTElDQVRFKCJJQk04NjIiLCAi
QVNDSUktOEJJVCIpOworRU5DX0FMSUFTKCJDUDg2MiIsICJJQk04NjIiKTsKK0VOQ19SRVBMSUNB
VEUoIklCTTg2MyIsICJBU0NJSS04QklUIik7CitFTkNfQUxJQVMoIkNQODYzIiwgIklCTTg2MyIp
OworRU5DX1JFUExJQ0FURSgiSUJNODY0IiwgIkFTQ0lJLThCSVQiKTsKK0VOQ19BTElBUygiQ1A4
NjQiLCAiSUJNODY0Iik7CitFTkNfUkVQTElDQVRFKCJJQk04NjUiLCAiQVNDSUktOEJJVCIpOwor
RU5DX0FMSUFTKCJDUDg2NSIsICJJQk04NjUiKTsKK0VOQ19SRVBMSUNBVEUoIklCTTg2NiIsICJB
U0NJSS04QklUIik7CitFTkNfQUxJQVMoIkNQODY2IiwgIklCTTg2NiIpOworRU5DX1JFUExJQ0FU
RSgiSUJNODY5IiwgIkFTQ0lJLThCSVQiKTsKK0VOQ19BTElBUygiQ1A4NjkiLCAiSUJNODY5Iik7
CitFTkNfUkVQTElDQVRFKCJXaW5kb3dzLTEyNTgiLCAiQVNDSUktOEJJVCIpOworRU5DX0FMSUFT
KCJDUDEyNTgiLCAiV2luZG93cy0xMjU4Iik7CitFTkNfUkVQTElDQVRFKCJHQjE5ODgiLCAiQVND
SUktOEJJVCIpOworRU5DX1JFUExJQ0FURSgibWFjQ2VudEV1cm8iLCAiQVNDSUktOEJJVCIpOwor
RU5DX1JFUExJQ0FURSgibWFjQ3JvYXRpYW4iLCAiQVNDSUktOEJJVCIpOworRU5DX1JFUExJQ0FU
RSgibWFjQ3lyaWxsaWMiLCAiQVNDSUktOEJJVCIpOworRU5DX1JFUExJQ0FURSgibWFjR3JlZWsi
LCAiQVNDSUktOEJJVCIpOworRU5DX1JFUExJQ0FURSgibWFjSWNlbGFuZCIsICJBU0NJSS04QklU
Iik7CitFTkNfUkVQTElDQVRFKCJtYWNSb21hbiIsICJBU0NJSS04QklUIik7CitFTkNfUkVQTElD
QVRFKCJtYWNSb21hbmlhIiwgIkFTQ0lJLThCSVQiKTsKK0VOQ19SRVBMSUNBVEUoIm1hY1RoYWki
LCAiQVNDSUktOEJJVCIpOworRU5DX1JFUExJQ0FURSgibWFjVHVya2lzaCIsICJBU0NJSS04QklU
Iik7CitFTkNfUkVQTElDQVRFKCJtYWNVa3JhaW5lIiwgIkFTQ0lJLThCSVQiKTsKK0VOQ19SRVBM
SUNBVEUoIkNQOTUwIiwgIkJpZzUiKTsKK0VOQ19TRVRfQkFTRSgiQmlnNS1IS1NDUyIsICJCaWc1
Iik7CitFTkNfQUxJQVMoIkJpZzUtSEtTQ1M6MjAwOCIsICJCaWc1LUhLU0NTIik7CitFTkNfUkVQ
TElDQVRFKCJDUDk1MSIsICJCaWc1LUhLU0NTIik7CitFTkNfU0VUX0JBU0UoIkJpZzUtVUFPIiwg
IkJpZzUiKTsKK0VOQ19EVU1NWSgiSUJNMDM3Iik7CitFTkNfQUxJQVMoImViY2RpYy1jcC11cyIs
ICJJQk0wMzciKTsKK0VOQ19SRVBMSUNBVEUoInN0YXRlbGVzcy1JU08tMjAyMi1KUCIsICJFbWFj
cy1NdWxlIik7CitFTkNfQUxJQVMoImV1Y0pQIiwgIkVVQy1KUCIpIC8qIFVJLU9TRiBBcHBsaWNh
dGlvbiBQbGF0Zm9ybSBQcm9maWxlIGZvciBKYXBhbmVzZSBFbnZpcm9ubWVudCBWZXJzaW9uIDEu
MSAqLzsKK0VOQ19SRVBMSUNBVEUoImV1Y0pQLW1zIiwgIkVVQy1KUCIpIC8qIFRPRy9KVkMgQ0RF
L01vdGlmIFRlY2huaWNhbCBXRyAqLzsKK0VOQ19BTElBUygiZXVjLWpwLW1zIiwgImV1Y0pQLW1z
Iik7CitFTkNfUkVQTElDQVRFKCJDUDUxOTMyIiwgIkVVQy1KUCIpOworRU5DX1JFUExJQ0FURSgi
RVVDLUpJUy0yMDA0IiwgIkVVQy1KUCIpIC8qIGRlZmluZWQgYXQgSklTIFggMDIxMzoyMDA0ICov
OworRU5DX0FMSUFTKCJFVUMtSklTWDAyMTMiLCAiRVVDLUpJUy0yMDA0IikgLyogZGVmaW5lZCBh
dCBKSVMgWCAwMjEzOjIwMDAsIGFuZCBvYnNvbGV0ZSBhdCBKSVMgWCAwMjEzOjIwMDQgKi87CitF
TkNfQUxJQVMoImV1Y0tSIiwgIkVVQy1LUiIpOworRU5DX0FMSUFTKCJldWNUVyIsICJFVUMtVFci
KTsKK0VOQ19BTElBUygiRVVDLUNOIiwgIkdCMjMxMiIpOworRU5DX0FMSUFTKCJldWNDTiIsICJH
QjIzMTIiKTsKK0VOQ19SRVBMSUNBVEUoIkdCMTIzNDUiLCAiR0IyMzEyIik7CitFTkNfQUxJQVMo
IkNQOTM2IiwgIkdCSyIpOworRU5DX0RVTU1ZKCJJU08tMjAyMi1KUCIpOworRU5DX0FMSUFTKCJJ
U08yMDIyLUpQIiwgIklTTy0yMDIyLUpQIik7CitFTkNfUkVQTElDQVRFKCJJU08tMjAyMi1KUC0y
IiwgIklTTy0yMDIyLUpQIik7CitFTkNfQUxJQVMoIklTTzIwMjItSlAyIiwgIklTTy0yMDIyLUpQ
LTIiKTsKK0VOQ19SRVBMSUNBVEUoIkNQNTAyMjAiLCAiSVNPLTIwMjItSlAiKTsKK0VOQ19SRVBM
SUNBVEUoIkNQNTAyMjEiLCAiSVNPLTIwMjItSlAiKTsKK0VOQ19BTElBUygiSVNPODg1OS0xIiwg
IklTTy04ODU5LTEiKTsKK0VOQ19BTElBUygiSVNPODg1OS0yIiwgIklTTy04ODU5LTIiKTsKK0VO
Q19BTElBUygiSVNPODg1OS0zIiwgIklTTy04ODU5LTMiKTsKK0VOQ19BTElBUygiSVNPODg1OS00
IiwgIklTTy04ODU5LTQiKTsKK0VOQ19BTElBUygiSVNPODg1OS01IiwgIklTTy04ODU5LTUiKTsK
K0VOQ19BTElBUygiSVNPODg1OS02IiwgIklTTy04ODU5LTYiKTsKK0VOQ19SRVBMSUNBVEUoIldp
bmRvd3MtMTI1NiIsICJJU08tODg1OS02Iik7CitFTkNfQUxJQVMoIkNQMTI1NiIsICJXaW5kb3dz
LTEyNTYiKTsKK0VOQ19BTElBUygiSVNPODg1OS03IiwgIklTTy04ODU5LTciKTsKK0VOQ19BTElB
UygiSVNPODg1OS04IiwgIklTTy04ODU5LTgiKTsKK0VOQ19SRVBMSUNBVEUoIldpbmRvd3MtMTI1
NSIsICJJU08tODg1OS04Iik7CitFTkNfQUxJQVMoIkNQMTI1NSIsICJXaW5kb3dzLTEyNTUiKTsK
K0VOQ19BTElBUygiSVNPODg1OS05IiwgIklTTy04ODU5LTkiKTsKK0VOQ19BTElBUygiSVNPODg1
OS0xMCIsICJJU08tODg1OS0xMCIpOworRU5DX0FMSUFTKCJJU084ODU5LTExIiwgIklTTy04ODU5
LTExIik7CitFTkNfUkVQTElDQVRFKCJUSVMtNjIwIiwgIklTTy04ODU5LTExIik7CitFTkNfUkVQ
TElDQVRFKCJXaW5kb3dzLTg3NCIsICJJU08tODg1OS0xMSIpOworRU5DX0FMSUFTKCJDUDg3NCIs
ICJXaW5kb3dzLTg3NCIpOworRU5DX0FMSUFTKCJJU084ODU5LTEzIiwgIklTTy04ODU5LTEzIik7
CitFTkNfQUxJQVMoIklTTzg4NTktMTQiLCAiSVNPLTg4NTktMTQiKTsKK0VOQ19BTElBUygiSVNP
ODg1OS0xNSIsICJJU08tODg1OS0xNSIpOworRU5DX0FMSUFTKCJJU084ODU5LTE2IiwgIklTTy04
ODU5LTE2Iik7CitFTkNfQUxJQVMoIkNQODc4IiwgIktPSTgtUiIpOworRU5DX1JFUExJQ0FURSgi
TWFjSmFwYW5lc2UiLCAiU2hpZnRfSklTIik7CitFTkNfQUxJQVMoIk1hY0phcGFuIiwgIk1hY0ph
cGFuZXNlIik7CitFTkNfQUxJQVMoIkFTQ0lJIiwgIlVTLUFTQ0lJIik7CitFTkNfQUxJQVMoIkFO
U0lfWDMuNC0xOTY4IiwgIlVTLUFTQ0lJIik7CitFTkNfQUxJQVMoIjY0NiIsICJVUy1BU0NJSSIp
OworRU5DX0RVTU1ZKCJVVEYtNyIpOworRU5DX0FMSUFTKCJDUDY1MDAwIiwgIlVURi03Iik7CitF
TkNfQUxJQVMoIkNQNjUwMDEiLCAiVVRGLTgiKTsKK0VOQ19SRVBMSUNBVEUoIlVURjgtTUFDIiwg
IlVURi04Iik7CitFTkNfQUxJQVMoIlVURi04LU1BQyIsICJVVEY4LU1BQyIpOworRU5DX0FMSUFT
KCJVVEYtOC1IRlMiLCAiVVRGOC1NQUMiKSAvKiBFbWFjcyAyMy4yICovOworRU5DX0RVTU1ZX1VO
SUNPREUoIlVURi0xNiIpOworRU5DX0RVTU1ZX1VOSUNPREUoIlVURi0zMiIpOworRU5DX0FMSUFT
KCJVQ1MtMkJFIiwgIlVURi0xNkJFIik7CitFTkNfQUxJQVMoIlVDUy00QkUiLCAiVVRGLTMyQkUi
KTsKK0VOQ19BTElBUygiVUNTLTRMRSIsICJVVEYtMzJMRSIpOworRU5DX0FMSUFTKCJDUDkzMiIs
ICJXaW5kb3dzLTMxSiIpOworRU5DX0FMSUFTKCJjc1dpbmRvd3MzMUoiLCAiV2luZG93cy0zMUoi
KSAvKiBJQU5BLiAgSUU2IGRvbid0IGFjY2VwdCBXaW5kb3dzLTMxSiBidXQgY3NXaW5kb3dzMzFK
LiAqLzsKK0VOQ19BTElBUygiU0pJUyIsICJXaW5kb3dzLTMxSiIpOworRU5DX0FMSUFTKCJQQ0si
LCAiV2luZG93cy0zMUoiKTsKK0VOQ19BTElBUygiQ1AxMjUwIiwgIldpbmRvd3MtMTI1MCIpOwor
RU5DX0FMSUFTKCJDUDEyNTEiLCAiV2luZG93cy0xMjUxIik7CitFTkNfQUxJQVMoIkNQMTI1MiIs
ICJXaW5kb3dzLTEyNTIiKTsKK0VOQ19BTElBUygiQ1AxMjUzIiwgIldpbmRvd3MtMTI1MyIpOwor
RU5DX0FMSUFTKCJDUDEyNTQiLCAiV2luZG93cy0xMjU0Iik7CitFTkNfQUxJQVMoIkNQMTI1NyIs
ICJXaW5kb3dzLTEyNTciKTsKK0VOQ19SRVBMSUNBVEUoIlVURjgtRG9Db01vIiwgIlVURi04Iik7
CitFTkNfUkVQTElDQVRFKCJTSklTLURvQ29NbyIsICJXaW5kb3dzLTMxSiIpOworRU5DX1JFUExJ
Q0FURSgiVVRGOC1LRERJIiwgIlVURi04Iik7CitFTkNfUkVQTElDQVRFKCJTSklTLUtEREkiLCAi
V2luZG93cy0zMUoiKTsKK0VOQ19SRVBMSUNBVEUoIklTTy0yMDIyLUpQLUtEREkiLCAiSVNPLTIw
MjItSlAiKTsKK0VOQ19SRVBMSUNBVEUoInN0YXRlbGVzcy1JU08tMjAyMi1KUC1LRERJIiwgInN0
YXRlbGVzcy1JU08tMjAyMi1KUCIpOworRU5DX1JFUExJQ0FURSgiVVRGOC1Tb2Z0QmFuayIsICJV
VEYtOCIpOworRU5DX1JFUExJQ0FURSgiU0pJUy1Tb2Z0QmFuayIsICJXaW5kb3dzLTMxSiIpOwor
CisjZGVmaW5lIEVOQ09ESU5HX0NPVU5UIDEwMQotLSAKMi4yMC4xCgoKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlz
dApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9q
ZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Mon Dec 09 13:42:12 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 09 Dec 2019 13:42:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ieJIh-0003xP-6M; Mon, 09 Dec 2019 13:42:11 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=qLlK=Z6=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1idtHw-0007gO-Sh
 for minios-devel@lists.xen.org; Sun, 08 Dec 2019 09:55:41 +0000
X-Inumbo-ID: db9b9522-19a0-11ea-8694-12813bfff9fa
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id db9b9522-19a0-11ea-8694-12813bfff9fa;
 Sun, 08 Dec 2019 09:55:27 +0000 (UTC)
IronPort-SDR: ifQsV8SUY/SntS6FMI30YECNdhKKEeKVc2Mr+ze6fSsPFA6aGuJN5KsHB/xsZQyEIfYFDnR+KE
 MOLJTrkgqIHQ==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 08 Dec 2019 11:55:18 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id E751A1A60EC5;
 Sun,  8 Dec 2019 11:55:18 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id 1JhGnJUzQQKl; Sun,  8 Dec 2019 11:55:18 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id B3DD41A60DF0;
 Sun,  8 Dec 2019 11:55:18 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id sLH0_NVOOzCa; Sun,  8 Dec 2019 11:55:18 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 6CA421A60FFD;
 Sun,  8 Dec 2019 11:55:17 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Sun,  8 Dec 2019 11:54:55 +0200
Message-Id: <20191208095507.27384-5-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191208095507.27384-1-costin.lupu@cs.pub.ro>
References: <20191208095507.27384-1-costin.lupu@cs.pub.ro>
X-Mailman-Approved-At: Mon, 09 Dec 2019 13:42:09 +0000
Subject: [Minios-devel] [UNIKRAFT/RUBY PATCH 04/16] core: Add generated
 files for core
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com, Andrei Gogonea <andrei.gogonea09@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogQW5kcmVpIEdvZ29uZWEgPGFuZHJlaS5nb2dvbmVhMDlAZ21haWwuY29tPgoKU29tZSBv
ZiB0aGUgZmlsZXMgbmVlZGVkIGZvciBidWlsZGluZyB0aGUgUnVieSBpbnRlcnByZXRlciBhcmUg
Z2VuZXJhdGVkIGF0CmJ1aWxkIHRpbWUgYnkgUnVieSdzIGJ1aWxkIHN5c3RlbS4gV2UganVzdCBj
b3B5IHRoZXNlIGZpbGVzIGludG8gb3VyIGdsdWUKbGlicmFyeS4gRnVydGhlciBpbXByb3ZlbWVu
dHMgbWF5IGJlIGRvbmUgdG8gZ2VuZXJhdGUgKHNvbWUgb2YpIHRoZXNlIGZpbGVzIGF0CmJ1aWxk
IHRpbWUgZm9yIFVuaWtyYWZ0J3MgYnVpbGQgYXMgd2VsbC4KClNpZ25lZC1vZmYtYnk6IEFuZHJl
aSBHb2dvbmVhIDxhbmRyZWkuZ29nb25lYTA5QGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogQ29z
dGluIEx1cHUgPGNvc3Rpbi5sdXB1QGNzLnB1Yi5ybz4KLS0tCiBnZW5lcmF0ZWQvaWQuYyAgICAg
ICAgICAgICAgICAgICAgICAgfCAgIDEzNSArCiBnZW5lcmF0ZWQvaWQuaCAgICAgICAgICAgICAg
ICAgICAgICAgfCAgIDI1MiArCiBnZW5lcmF0ZWQvaW5zbnMuaW5jICAgICAgICAgICAgICAgICAg
fCAgIDI0OSArCiBnZW5lcmF0ZWQvaW5zbnNfaW5mby5pbmMgICAgICAgICAgICAgfCAgOTM3NCAr
KysrKysrKysrKysrCiBnZW5lcmF0ZWQva25vd25fZXJyb3JzLmluYyAgICAgICAgICAgfCAgIDc5
MSArKwogZ2VuZXJhdGVkL2xleC5jICAgICAgICAgICAgICAgICAgICAgIHwgICAzMDMgKwogZ2Vu
ZXJhdGVkL21pbmlwcmVsdWRlLmMgICAgICAgICAgICAgIHwgICAgIDkgKwogZ2VuZXJhdGVkL21q
aXRfY29tcGlsZS5pbmMgICAgICAgICAgIHwgIDQyMjYgKysrKysrCiBnZW5lcmF0ZWQvbWppdF9j
b25maWcuaCAgICAgICAgICAgICAgfCAgICAyMCArCiBnZW5lcmF0ZWQvbm9kZV9uYW1lLmluYyAg
ICAgICAgICAgICAgfCAgIDIwMCArCiBnZW5lcmF0ZWQvb3B0aW5zbi5pbmMgICAgICAgICAgICAg
ICAgfCAgIDEyOCArCiBnZW5lcmF0ZWQvcGFyc2UuYyAgICAgICAgICAgICAgICAgICAgfCAxNzcz
NyArKysrKysrKysrKysrKysrKysrKysrKysrCiBnZW5lcmF0ZWQvcGFyc2UuaCAgICAgICAgICAg
ICAgICAgICAgfCAgIDIxMSArCiBnZW5lcmF0ZWQvcHJlbHVkZS5jICAgICAgICAgICAgICAgICAg
fCAgIDI0NiArCiBnZW5lcmF0ZWQvcHJvYmVzLmRteWggICAgICAgICAgICAgICAgfCAgICA4MCAr
CiBnZW5lcmF0ZWQvcHJvYmVzLmggICAgICAgICAgICAgICAgICAgfCAgICAgMSArCiBnZW5lcmF0
ZWQvcmV2aXNpb24uaCAgICAgICAgICAgICAgICAgfCAgICAgMAogZ2VuZXJhdGVkL3ZlcmNvbmYu
aCAgICAgICAgICAgICAgICAgIHwgICAgMTMgKwogZ2VuZXJhdGVkL3ZtLmluYyAgICAgICAgICAg
ICAgICAgICAgIHwgIDQ1MDQgKysrKysrKwogZ2VuZXJhdGVkL3ZtX2NhbGxfaXNlcV9vcHRpbWl6
ZWQuaW5jIHwgICAyMTMgKwogZ2VuZXJhdGVkL3ZtdGMuaW5jICAgICAgICAgICAgICAgICAgIHwg
ICAyNDMgKwogMjEgZmlsZXMgY2hhbmdlZCwgMzg5MzUgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1v
ZGUgMTAwNjQ0IGdlbmVyYXRlZC9pZC5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2lk
LmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvaW5zbnMuaW5jCiBjcmVhdGUgbW9kZSAx
MDA2NDQgZ2VuZXJhdGVkL2luc25zX2luZm8uaW5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJh
dGVkL2tub3duX2Vycm9ycy5pbmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvbGV4LmMK
IGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvbWluaXByZWx1ZGUuYwogY3JlYXRlIG1vZGUg
MTAwNjQ0IGdlbmVyYXRlZC9taml0X2NvbXBpbGUuaW5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2Vu
ZXJhdGVkL21qaXRfY29uZmlnLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvbm9kZV9u
YW1lLmluYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9vcHRpbnNuLmluYwogY3JlYXRl
IG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9wYXJzZS5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJh
dGVkL3BhcnNlLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvcHJlbHVkZS5jCiBjcmVh
dGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL3Byb2Jlcy5kbXloCiBjcmVhdGUgbW9kZSAxMDA2NDQg
Z2VuZXJhdGVkL3Byb2Jlcy5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL3JldmlzaW9u
LmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvdmVyY29uZi5oCiBjcmVhdGUgbW9kZSAx
MDA2NDQgZ2VuZXJhdGVkL3ZtLmluYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC92bV9j
YWxsX2lzZXFfb3B0aW1pemVkLmluYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC92bXRj
LmluYwoKZGlmZiAtLWdpdCBhL2dlbmVyYXRlZC9pZC5jIGIvZ2VuZXJhdGVkL2lkLmMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGY4YmY3MgotLS0gL2Rldi9udWxsCisrKyBi
L2dlbmVyYXRlZC9pZC5jCkBAIC0wLDAgKzEsMTM1IEBACisvKiBETyBOT1QgRURJVCBUSElTIEZJ
TEUgRElSRUNUTFkgKi8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisKKyAgaWQuYyAtCisKKyAgJEF1dGhvciQK
KyAgY3JlYXRlZCBhdDogV2VkIERlYyAgNSAwMjozNjoxMCAyMDEyCisKKyAgQ29weXJpZ2h0IChD
KSAyMDA0LTIwMDcgS29pY2hpIFNhc2FkYQorCisqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjZGVmaW5lIHRE
T1QyIFJVQllfVE9LRU4oRE9UMikKKyNkZWZpbmUgdERPVDMgUlVCWV9UT0tFTihET1QzKQorI2Rl
ZmluZSB0VVBMVVMgUlVCWV9UT0tFTihVUExVUykKKyNkZWZpbmUgdFVNSU5VUyBSVUJZX1RPS0VO
KFVNSU5VUykKKyNkZWZpbmUgdFBPVyBSVUJZX1RPS0VOKFBPVykKKyNkZWZpbmUgdENNUCBSVUJZ
X1RPS0VOKENNUCkKKyNkZWZpbmUgdExTSEZUIFJVQllfVE9LRU4oTFNIRlQpCisjZGVmaW5lIHRS
U0hGVCBSVUJZX1RPS0VOKFJTSEZUKQorI2RlZmluZSB0TEVRIFJVQllfVE9LRU4oTEVRKQorI2Rl
ZmluZSB0R0VRIFJVQllfVE9LRU4oR0VRKQorI2RlZmluZSB0RVEgUlVCWV9UT0tFTihFUSkKKyNk
ZWZpbmUgdEVRUSBSVUJZX1RPS0VOKEVRUSkKKyNkZWZpbmUgdE5FUSBSVUJZX1RPS0VOKE5FUSkK
KyNkZWZpbmUgdE1BVENIIFJVQllfVE9LRU4oTUFUQ0gpCisjZGVmaW5lIHROTUFUQ0ggUlVCWV9U
T0tFTihOTUFUQ0gpCisjZGVmaW5lIHRBUkVGIFJVQllfVE9LRU4oQVJFRikKKyNkZWZpbmUgdEFT
RVQgUlVCWV9UT0tFTihBU0VUKQorI2RlZmluZSB0Q09MT04yIFJVQllfVE9LRU4oQ09MT04yKQor
I2RlZmluZSB0QU5ET1AgUlVCWV9UT0tFTihBTkRPUCkKKyNkZWZpbmUgdE9ST1AgUlVCWV9UT0tF
TihPUk9QKQorI2RlZmluZSB0QU5ERE9UIFJVQllfVE9LRU4oQU5ERE9UKQorCitzdGF0aWMgY29u
c3Qgc3RydWN0IHsKKyAgICB1bnNpZ25lZCBzaG9ydCB0b2tlbjsKKyAgICBjb25zdCBjaGFyIG5h
bWVbM10sIHRlcm07Cit9IG9wX3RibFtdID0geworICAgIHt0RE9UMiwgIi4uIn0sCisgICAge3RE
T1QzLCAiLi4uIn0sCisgICAge3RVUExVUywgIitAIn0sCisgICAge3RVTUlOVVMsICItQCJ9LAor
ICAgIHt0UE9XLCAiKioifSwKKyAgICB7dENNUCwgIjw9PiJ9LAorICAgIHt0TFNIRlQsICI8PCJ9
LAorICAgIHt0UlNIRlQsICI+PiJ9LAorICAgIHt0TEVRLCAiPD0ifSwKKyAgICB7dEdFUSwgIj49
In0sCisgICAge3RFUSwgIj09In0sCisgICAge3RFUVEsICI9PT0ifSwKKyAgICB7dE5FUSwgIiE9
In0sCisgICAge3RNQVRDSCwgIj1+In0sCisgICAge3ROTUFUQ0gsICIhfiJ9LAorICAgIHt0QVJF
RiwgIltdIn0sCisgICAge3RBU0VULCAiW109In0sCisgICAge3RDT0xPTjIsICI6OiJ9LAorICAg
IHt0QU5ET1AsICImJiJ9LAorICAgIHt0T1JPUCwgInx8In0sCisgICAge3RBTkRET1QsICImLiJ9
LAorfTsKKworc3RhdGljIHZvaWQKK0luaXRfaWQodm9pZCkKK3sKKyN1bmRlZiByYl9pbnRlcm4K
KyNkZWZpbmUgcmJfaW50ZXJuKHN0cikgcmJfaW50ZXJuX2NvbnN0KHN0cikKKyAgICByYl9lbmNv
ZGluZyAqZW5jID0gcmJfdXNhc2NpaV9lbmNvZGluZygpOworCisgICAgUkVHSVNURVJfU1lNSUQo
aWRNYXgsICJtYXgiKTsKKyAgICBSRUdJU1RFUl9TWU1JRChpZE1pbiwgIm1pbiIpOworICAgIFJF
R0lTVEVSX1NZTUlEKGlkRnJlZXplLCAiZnJlZXplIik7CisgICAgUkVHSVNURVJfU1lNSUQoaWRJ
bnNwZWN0LCAiaW5zcGVjdCIpOworICAgIFJFR0lTVEVSX1NZTUlEKGlkSW50ZXJuLCAiaW50ZXJu
Iik7CisgICAgUkVHSVNURVJfU1lNSUQoaWRPYmplY3RfaWQsICJvYmplY3RfaWQiKTsKKyAgICBS
RUdJU1RFUl9TWU1JRChpZENvbnN0X21pc3NpbmcsICJjb25zdF9taXNzaW5nIik7CisgICAgUkVH
SVNURVJfU1lNSUQoaWRNZXRob2RNaXNzaW5nLCAibWV0aG9kX21pc3NpbmciKTsKKyAgICBSRUdJ
U1RFUl9TWU1JRChpZE1ldGhvZF9hZGRlZCwgIm1ldGhvZF9hZGRlZCIpOworICAgIFJFR0lTVEVS
X1NZTUlEKGlkU2luZ2xldG9uX21ldGhvZF9hZGRlZCwgInNpbmdsZXRvbl9tZXRob2RfYWRkZWQi
KTsKKyAgICBSRUdJU1RFUl9TWU1JRChpZE1ldGhvZF9yZW1vdmVkLCAibWV0aG9kX3JlbW92ZWQi
KTsKKyAgICBSRUdJU1RFUl9TWU1JRChpZFNpbmdsZXRvbl9tZXRob2RfcmVtb3ZlZCwgInNpbmds
ZXRvbl9tZXRob2RfcmVtb3ZlZCIpOworICAgIFJFR0lTVEVSX1NZTUlEKGlkTWV0aG9kX3VuZGVm
aW5lZCwgIm1ldGhvZF91bmRlZmluZWQiKTsKKyAgICBSRUdJU1RFUl9TWU1JRChpZFNpbmdsZXRv
bl9tZXRob2RfdW5kZWZpbmVkLCAic2luZ2xldG9uX21ldGhvZF91bmRlZmluZWQiKTsKKyAgICBS
RUdJU1RFUl9TWU1JRChpZExlbmd0aCwgImxlbmd0aCIpOworICAgIFJFR0lTVEVSX1NZTUlEKGlk
U2l6ZSwgInNpemUiKTsKKyAgICBSRUdJU1RFUl9TWU1JRChpZEdldHMsICJnZXRzIik7CisgICAg
UkVHSVNURVJfU1lNSUQoaWRTdWNjLCAic3VjYyIpOworICAgIFJFR0lTVEVSX1NZTUlEKGlkRWFj
aCwgImVhY2giKTsKKyAgICBSRUdJU1RFUl9TWU1JRChpZFByb2MsICJwcm9jIik7CisgICAgUkVH
SVNURVJfU1lNSUQoaWRMYW1iZGEsICJsYW1iZGEiKTsKKyAgICBSRUdJU1RFUl9TWU1JRChpZFNl
bmQsICJzZW5kIik7CisgICAgUkVHSVNURVJfU1lNSUQoaWRfX3NlbmRfXywgIl9fc2VuZF9fIik7
CisgICAgUkVHSVNURVJfU1lNSUQoaWRfX2F0dGFjaGVkX18sICJfX2F0dGFjaGVkX18iKTsKKyAg
ICBSRUdJU1RFUl9TWU1JRChpZEluaXRpYWxpemUsICJpbml0aWFsaXplIik7CisgICAgUkVHSVNU
RVJfU1lNSUQoaWRJbml0aWFsaXplX2NvcHksICJpbml0aWFsaXplX2NvcHkiKTsKKyAgICBSRUdJ
U1RFUl9TWU1JRChpZEluaXRpYWxpemVfY2xvbmUsICJpbml0aWFsaXplX2Nsb25lIik7CisgICAg
UkVHSVNURVJfU1lNSUQoaWRJbml0aWFsaXplX2R1cCwgImluaXRpYWxpemVfZHVwIik7CisgICAg
UkVHSVNURVJfU1lNSUQoaWRUb19pbnQsICJ0b19pbnQiKTsKKyAgICBSRUdJU1RFUl9TWU1JRChp
ZFRvX2FyeSwgInRvX2FyeSIpOworICAgIFJFR0lTVEVSX1NZTUlEKGlkVG9fc3RyLCAidG9fc3Ry
Iik7CisgICAgUkVHSVNURVJfU1lNSUQoaWRUb19zeW0sICJ0b19zeW0iKTsKKyAgICBSRUdJU1RF
Ul9TWU1JRChpZFRvX2hhc2gsICJ0b19oYXNoIik7CisgICAgUkVHSVNURVJfU1lNSUQoaWRUb19w
cm9jLCAidG9fcHJvYyIpOworICAgIFJFR0lTVEVSX1NZTUlEKGlkVG9faW8sICJ0b19pbyIpOwor
ICAgIFJFR0lTVEVSX1NZTUlEKGlkVG9fYSwgInRvX2EiKTsKKyAgICBSRUdJU1RFUl9TWU1JRChp
ZFRvX3MsICJ0b19zIik7CisgICAgUkVHSVNURVJfU1lNSUQoaWRUb19pLCAidG9faSIpOworICAg
IFJFR0lTVEVSX1NZTUlEKGlkVG9fZiwgInRvX2YiKTsKKyAgICBSRUdJU1RFUl9TWU1JRChpZFRv
X3IsICJ0b19yIik7CisgICAgUkVHSVNURVJfU1lNSUQoaWRCdCwgImJ0Iik7CisgICAgUkVHSVNU
RVJfU1lNSUQoaWRCdF9sb2NhdGlvbnMsICJidF9sb2NhdGlvbnMiKTsKKyAgICBSRUdJU1RFUl9T
WU1JRChpZENhbGwsICJjYWxsIik7CisgICAgUkVHSVNURVJfU1lNSUQoaWRNZXNnLCAibWVzZyIp
OworICAgIFJFR0lTVEVSX1NZTUlEKGlkRXhjZXB0aW9uLCAiZXhjZXB0aW9uIik7CisgICAgUkVH
SVNURVJfU1lNSUQoaWROT1QsICJub3QiKTsKKyAgICBSRUdJU1RFUl9TWU1JRChpZEFORCwgImFu
ZCIpOworICAgIFJFR0lTVEVSX1NZTUlEKGlkT1IsICJvciIpOworICAgIFJFR0lTVEVSX1NZTUlE
KGlkVVNjb3JlLCAiXyIpOworICAgIFJFR0lTVEVSX1NZTUlEKGlkTlVMTCwgIiIvKk5VTEwqLyIi
KTsKKyAgICBSRUdJU1RFUl9TWU1JRChpZEVtcHR5UCwgImVtcHR5PyIpOworICAgIFJFR0lTVEVS
X1NZTUlEKGlkRXFsUCwgImVxbD8iKTsKKyAgICBSRUdJU1RFUl9TWU1JRChpZFJlc3BvbmRfdG8s
ICJyZXNwb25kX3RvPyIpOworICAgIFJFR0lTVEVSX1NZTUlEKGlkUmVzcG9uZF90b19taXNzaW5n
LCAicmVzcG9uZF90b19taXNzaW5nPyIpOworICAgIFJFR0lTVEVSX1NZTUlEKGlkSUZVTkMsICI8
SUZVTkM+Iik7CisgICAgUkVHSVNURVJfU1lNSUQoaWRDRlVOQywgIjxDRlVOQz4iKTsKKyAgICBS
RUdJU1RFUl9TWU1JRChpZF9jb3JlX3NldF9tZXRob2RfYWxpYXMsICJjb3JlI3NldF9tZXRob2Rf
YWxpYXMiKTsKKyAgICBSRUdJU1RFUl9TWU1JRChpZF9jb3JlX3NldF92YXJpYWJsZV9hbGlhcywg
ImNvcmUjc2V0X3ZhcmlhYmxlX2FsaWFzIik7CisgICAgUkVHSVNURVJfU1lNSUQoaWRfY29yZV91
bmRlZl9tZXRob2QsICJjb3JlI3VuZGVmX21ldGhvZCIpOworICAgIFJFR0lTVEVSX1NZTUlEKGlk
X2NvcmVfZGVmaW5lX21ldGhvZCwgImNvcmUjZGVmaW5lX21ldGhvZCIpOworICAgIFJFR0lTVEVS
X1NZTUlEKGlkX2NvcmVfZGVmaW5lX3NpbmdsZXRvbl9tZXRob2QsICJjb3JlI2RlZmluZV9zaW5n
bGV0b25fbWV0aG9kIik7CisgICAgUkVHSVNURVJfU1lNSUQoaWRfY29yZV9zZXRfcG9zdGV4ZSwg
ImNvcmUjc2V0X3Bvc3RleGUiKTsKKyAgICBSRUdJU1RFUl9TWU1JRChpZF9jb3JlX2hhc2hfbWVy
Z2VfcHRyLCAiY29yZSNoYXNoX21lcmdlX3B0ciIpOworICAgIFJFR0lTVEVSX1NZTUlEKGlkX2Nv
cmVfaGFzaF9tZXJnZV9rd2QsICJjb3JlI2hhc2hfbWVyZ2Vfa3dkIik7CisgICAgUkVHSVNURVJf
U1lNSUQoaWRMQVNUTElORSwgIiRfIik7CisgICAgUkVHSVNURVJfU1lNSUQoaWRCQUNLUkVGLCAi
JH4iKTsKK30KZGlmZiAtLWdpdCBhL2dlbmVyYXRlZC9pZC5oIGIvZ2VuZXJhdGVkL2lkLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTM1MTVlMwotLS0gL2Rldi9udWxsCisr
KyBiL2dlbmVyYXRlZC9pZC5oCkBAIC0wLDAgKzEsMjUyIEBACisvKiBETyBOT1QgRURJVCBUSElT
IEZJTEUgRElSRUNUTFkgKi8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisKKyAgaWQuaCAtCisKKyAgJEF1dGhv
ciQKKyAgY3JlYXRlZCBhdDogU3VuIE9jdCAxOSAyMToxMjo1MSAyMDA4CisKKyAgQ29weXJpZ2h0
IChDKSAyMDA3IEtvaWNoaSBTYXNhZGEKKworKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2lmbmRlZiBSVUJZ
X0lEX0gKKyNkZWZpbmUgUlVCWV9JRF9ICisKK2VudW0gcnVieV9pZF90eXBlcyB7CisgICAgUlVC
WV9JRF9TVEFUSUNfU1lNICA9IDB4MDEsCisgICAgUlVCWV9JRF9MT0NBTCAgICAgICA9IDB4MDAs
CisgICAgUlVCWV9JRF9JTlNUQU5DRSAgICA9ICgweDAxPDwxKSwKKyAgICBSVUJZX0lEX0dMT0JB
TCAgICAgID0gKDB4MDM8PDEpLAorICAgIFJVQllfSURfQVRUUlNFVCAgICAgPSAoMHgwNDw8MSks
CisgICAgUlVCWV9JRF9DT05TVCAgICAgICA9ICgweDA1PDwxKSwKKyAgICBSVUJZX0lEX0NMQVNT
ICAgICAgID0gKDB4MDY8PDEpLAorICAgIFJVQllfSURfSlVOSyAgICAgICAgPSAoMHgwNzw8MSks
CisgICAgUlVCWV9JRF9JTlRFUk5BTCAgICA9IFJVQllfSURfSlVOSywKKyAgICBSVUJZX0lEX1ND
T1BFX1NISUZUID0gNCwKKyAgICBSVUJZX0lEX1NDT1BFX01BU0sgID0gKH4ofjBVPDwoUlVCWV9J
RF9TQ09QRV9TSElGVC0xKSk8PDEpCit9OworCisjZGVmaW5lIElEX1NUQVRJQ19TWU0gIFJVQllf
SURfU1RBVElDX1NZTQorI2RlZmluZSBJRF9TQ09QRV9TSElGVCBSVUJZX0lEX1NDT1BFX1NISUZU
CisjZGVmaW5lIElEX1NDT1BFX01BU0sgIFJVQllfSURfU0NPUEVfTUFTSworI2RlZmluZSBJRF9M
T0NBTCAgICAgICBSVUJZX0lEX0xPQ0FMCisjZGVmaW5lIElEX0lOU1RBTkNFICAgIFJVQllfSURf
SU5TVEFOQ0UKKyNkZWZpbmUgSURfR0xPQkFMICAgICAgUlVCWV9JRF9HTE9CQUwKKyNkZWZpbmUg
SURfQVRUUlNFVCAgICAgUlVCWV9JRF9BVFRSU0VUCisjZGVmaW5lIElEX0NPTlNUICAgICAgIFJV
QllfSURfQ09OU1QKKyNkZWZpbmUgSURfQ0xBU1MgICAgICAgUlVCWV9JRF9DTEFTUworI2RlZmlu
ZSBJRF9KVU5LICAgICAgICBSVUJZX0lEX0pVTksKKyNkZWZpbmUgSURfSU5URVJOQUwgICAgUlVC
WV9JRF9JTlRFUk5BTAorCisjZGVmaW5lIHN5bUlGVU5DIElEMlNZTShpZElGVU5DKQorI2RlZmlu
ZSBzeW1DRlVOQyBJRDJTWU0oaWRDRlVOQykKKworI2RlZmluZSBSVUJZX1RPS0VOX0RPVDIgMTI4
CisjZGVmaW5lIFJVQllfVE9LRU5fRE9UMyAxMjkKKyNkZWZpbmUgUlVCWV9UT0tFTl9VUExVUyAx
MzAKKyNkZWZpbmUgUlVCWV9UT0tFTl9VTUlOVVMgMTMxCisjZGVmaW5lIFJVQllfVE9LRU5fUE9X
IDEzMgorI2RlZmluZSBSVUJZX1RPS0VOX0NNUCAxMzMKKyNkZWZpbmUgUlVCWV9UT0tFTl9MU0hG
VCAxMzQKKyNkZWZpbmUgUlVCWV9UT0tFTl9SU0hGVCAxMzUKKyNkZWZpbmUgUlVCWV9UT0tFTl9M
RVEgMTM2CisjZGVmaW5lIFJVQllfVE9LRU5fR0VRIDEzNworI2RlZmluZSBSVUJZX1RPS0VOX0VR
IDEzOAorI2RlZmluZSBSVUJZX1RPS0VOX0VRUSAxMzkKKyNkZWZpbmUgUlVCWV9UT0tFTl9ORVEg
MTQwCisjZGVmaW5lIFJVQllfVE9LRU5fTUFUQ0ggMTQxCisjZGVmaW5lIFJVQllfVE9LRU5fTk1B
VENIIDE0MgorI2RlZmluZSBSVUJZX1RPS0VOX0FSRUYgMTQzCisjZGVmaW5lIFJVQllfVE9LRU5f
QVNFVCAxNDQKKyNkZWZpbmUgUlVCWV9UT0tFTl9DT0xPTjIgMTQ1CisjZGVmaW5lIFJVQllfVE9L
RU5fQU5ET1AgMTQ2CisjZGVmaW5lIFJVQllfVE9LRU5fT1JPUCAxNDcKKyNkZWZpbmUgUlVCWV9U
T0tFTl9BTkRET1QgMTQ4CisjZGVmaW5lIFJVQllfVE9LRU4odCkgUlVCWV9UT0tFTl8jI3QKKwor
I2RlZmluZSBSVUJZX1RPS0VOMklEX1RZUEUodG9rLCB0eXBlKSAoKHRvazw8UlVCWV9JRF9TQ09Q
RV9TSElGVCl8dHlwZXxSVUJZX0lEX1NUQVRJQ19TWU0pCisjZGVmaW5lIFRPS0VOMkxPQ0FMSUQo
dG9rKSBSVUJZX1RPS0VOMklEX1RZUEUodG9rLCBSVUJZX0lEX0xPQ0FMKQorI2RlZmluZSBUT0tF
TjJJTlNUQU5DRUlEKHRvaykgUlVCWV9UT0tFTjJJRF9UWVBFKHRvaywgUlVCWV9JRF9JTlNUQU5D
RSkKKyNkZWZpbmUgVE9LRU4yR0xPQkFMSUQodG9rKSBSVUJZX1RPS0VOMklEX1RZUEUodG9rLCBS
VUJZX0lEX0dMT0JBTCkKKyNkZWZpbmUgVE9LRU4yQ09OU1RJRCh0b2spIFJVQllfVE9LRU4ySURf
VFlQRSh0b2ssIFJVQllfSURfQ09OU1QpCisjZGVmaW5lIFRPS0VOMkNMQVNTSUQodG9rKSBSVUJZ
X1RPS0VOMklEX1RZUEUodG9rLCBSVUJZX0lEX0NMQVNTKQorI2RlZmluZSBUT0tFTjJBVFRSU0VU
SUQodG9rKSBSVUJZX1RPS0VOMklEX1RZUEUodG9rLCBSVUJZX0lEX0FUVFJTRVQpCisKK2VudW0g
cnVieV9tZXRob2RfaWRzIHsKKyAgICBpZERvdDIgPSBSVUJZX1RPS0VOKERPVDIpLAorICAgIGlk
RG90MyA9IFJVQllfVE9LRU4oRE9UMyksCisgICAgaWRVUGx1cyA9IFJVQllfVE9LRU4oVVBMVVMp
LAorICAgIGlkVU1pbnVzID0gUlVCWV9UT0tFTihVTUlOVVMpLAorICAgIGlkUG93ID0gUlVCWV9U
T0tFTihQT1cpLAorICAgIGlkQ21wID0gUlVCWV9UT0tFTihDTVApLAorICAgIGlkUExVUyA9ICcr
JywKKyAgICBpZE1JTlVTID0gJy0nLAorICAgIGlkTVVMVCA9ICcqJywKKyAgICBpZERJViA9ICcv
JywKKyAgICBpZE1PRCA9ICclJywKKyAgICBpZExUTFQgPSBSVUJZX1RPS0VOKExTSEZUKSwKKyAg
ICBpZEdUR1QgPSBSVUJZX1RPS0VOKFJTSEZUKSwKKyAgICBpZExUID0gJzwnLAorICAgIGlkTEUg
PSBSVUJZX1RPS0VOKExFUSksCisgICAgaWRHVCA9ICc+JywKKyAgICBpZEdFID0gUlVCWV9UT0tF
TihHRVEpLAorICAgIGlkRXEgPSBSVUJZX1RPS0VOKEVRKSwKKyAgICBpZEVxcSA9IFJVQllfVE9L
RU4oRVFRKSwKKyAgICBpZE5lcSA9IFJVQllfVE9LRU4oTkVRKSwKKyAgICBpZE5vdCA9ICchJywK
KyAgICBpZEFuZCA9ICcmJywKKyAgICBpZE9yID0gJ3wnLAorICAgIGlkQmFja3F1b3RlID0gJ2An
LAorICAgIGlkRXFUaWxkZSA9IFJVQllfVE9LRU4oTUFUQ0gpLAorICAgIGlkTmVxVGlsZGUgPSBS
VUJZX1RPS0VOKE5NQVRDSCksCisgICAgaWRBUkVGID0gUlVCWV9UT0tFTihBUkVGKSwKKyAgICBp
ZEFTRVQgPSBSVUJZX1RPS0VOKEFTRVQpLAorICAgIGlkQ09MT04yID0gUlVCWV9UT0tFTihDT0xP
TjIpLAorICAgIGlkQU5ET1AgPSBSVUJZX1RPS0VOKEFORE9QKSwKKyAgICBpZE9ST1AgPSBSVUJZ
X1RPS0VOKE9ST1ApLAorICAgIGlkQU5ERE9UID0gUlVCWV9UT0tFTihBTkRET1QpLAorICAgIHRQ
UkVTRVJWRURfSURfQkVHSU4gPSAxNDgsCisgICAgaWROVUxMLAorICAgIGlkRW1wdHlQLAorICAg
IGlkRXFsUCwKKyAgICBpZFJlc3BvbmRfdG8sCisgICAgaWRSZXNwb25kX3RvX21pc3NpbmcsCisg
ICAgaWRJRlVOQywKKyAgICBpZENGVU5DLAorICAgIGlkX2NvcmVfc2V0X21ldGhvZF9hbGlhcywK
KyAgICBpZF9jb3JlX3NldF92YXJpYWJsZV9hbGlhcywKKyAgICBpZF9jb3JlX3VuZGVmX21ldGhv
ZCwKKyAgICBpZF9jb3JlX2RlZmluZV9tZXRob2QsCisgICAgaWRfY29yZV9kZWZpbmVfc2luZ2xl
dG9uX21ldGhvZCwKKyAgICBpZF9jb3JlX3NldF9wb3N0ZXhlLAorICAgIGlkX2NvcmVfaGFzaF9t
ZXJnZV9wdHIsCisgICAgaWRfY29yZV9oYXNoX21lcmdlX2t3ZCwKKyAgICBpZF9kZWJ1Z19jcmVh
dGVkX2luZm8sCisgICAgdFBSRVNFUlZFRF9JRF9FTkQsCisgICAgdFRPS0VOX0xPQ0FMX0JFR0lO
ID0gdFBSRVNFUlZFRF9JRF9FTkQtMSwKKyAgICB0TWF4LAorICAgIHRNaW4sCisgICAgdEZyZWV6
ZSwKKyAgICB0SW5zcGVjdCwKKyAgICB0SW50ZXJuLAorICAgIHRPYmplY3RfaWQsCisgICAgdENv
bnN0X21pc3NpbmcsCisgICAgdE1ldGhvZE1pc3NpbmcsCisgICAgdE1ldGhvZF9hZGRlZCwKKyAg
ICB0U2luZ2xldG9uX21ldGhvZF9hZGRlZCwKKyAgICB0TWV0aG9kX3JlbW92ZWQsCisgICAgdFNp
bmdsZXRvbl9tZXRob2RfcmVtb3ZlZCwKKyAgICB0TWV0aG9kX3VuZGVmaW5lZCwKKyAgICB0U2lu
Z2xldG9uX21ldGhvZF91bmRlZmluZWQsCisgICAgdExlbmd0aCwKKyAgICB0U2l6ZSwKKyAgICB0
R2V0cywKKyAgICB0U3VjYywKKyAgICB0RWFjaCwKKyAgICB0UHJvYywKKyAgICB0TGFtYmRhLAor
ICAgIHRTZW5kLAorICAgIHRfX3NlbmRfXywKKyAgICB0X19hdHRhY2hlZF9fLAorICAgIHRJbml0
aWFsaXplLAorICAgIHRJbml0aWFsaXplX2NvcHksCisgICAgdEluaXRpYWxpemVfY2xvbmUsCisg
ICAgdEluaXRpYWxpemVfZHVwLAorICAgIHRUb19pbnQsCisgICAgdFRvX2FyeSwKKyAgICB0VG9f
c3RyLAorICAgIHRUb19zeW0sCisgICAgdFRvX2hhc2gsCisgICAgdFRvX3Byb2MsCisgICAgdFRv
X2lvLAorICAgIHRUb19hLAorICAgIHRUb19zLAorICAgIHRUb19pLAorICAgIHRUb19mLAorICAg
IHRUb19yLAorICAgIHRCdCwKKyAgICB0QnRfbG9jYXRpb25zLAorICAgIHRDYWxsLAorICAgIHRN
ZXNnLAorICAgIHRFeGNlcHRpb24sCisgICAgdE5PVCwKKyAgICB0QU5ELAorICAgIHRPUiwKKyAg
ICB0VVNjb3JlLAorICAgIHRUT0tFTl9MT0NBTF9FTkQsCisgICAgdFRPS0VOX0lOU1RBTkNFX0JF
R0lOID0gdFRPS0VOX0xPQ0FMX0VORC0xLAorICAgIHRUT0tFTl9JTlNUQU5DRV9FTkQsCisgICAg
dFRPS0VOX0dMT0JBTF9CRUdJTiA9IHRUT0tFTl9JTlNUQU5DRV9FTkQtMSwKKyAgICB0TEFTVExJ
TkUsCisgICAgdEJBQ0tSRUYsCisgICAgdFRPS0VOX0dMT0JBTF9FTkQsCisgICAgdFRPS0VOX0NP
TlNUX0JFR0lOID0gdFRPS0VOX0dMT0JBTF9FTkQtMSwKKyAgICB0VE9LRU5fQ09OU1RfRU5ELAor
ICAgIHRUT0tFTl9DTEFTU19CRUdJTiA9IHRUT0tFTl9DT05TVF9FTkQtMSwKKyAgICB0VE9LRU5f
Q0xBU1NfRU5ELAorICAgIHRUT0tFTl9BVFRSU0VUX0JFR0lOID0gdFRPS0VOX0NMQVNTX0VORC0x
LAorICAgIHRUT0tFTl9BVFRSU0VUX0VORCwKKyAgICB0TkVYVF9JRCA9IHRUT0tFTl9BVFRSU0VU
X0VORCwKKyNkZWZpbmUgREVGSU5FX0xPQ0FMSURfRlJPTV9UT0tFTihuKSBpZCMjbiA9IFRPS0VO
MkxPQ0FMSUQodCMjbikKKyAgICBERUZJTkVfTE9DQUxJRF9GUk9NX1RPS0VOKE1heCksCisgICAg
REVGSU5FX0xPQ0FMSURfRlJPTV9UT0tFTihNaW4pLAorICAgIERFRklORV9MT0NBTElEX0ZST01f
VE9LRU4oRnJlZXplKSwKKyAgICBERUZJTkVfTE9DQUxJRF9GUk9NX1RPS0VOKEluc3BlY3QpLAor
ICAgIERFRklORV9MT0NBTElEX0ZST01fVE9LRU4oSW50ZXJuKSwKKyAgICBERUZJTkVfTE9DQUxJ
RF9GUk9NX1RPS0VOKE9iamVjdF9pZCksCisgICAgREVGSU5FX0xPQ0FMSURfRlJPTV9UT0tFTihD
b25zdF9taXNzaW5nKSwKKyAgICBERUZJTkVfTE9DQUxJRF9GUk9NX1RPS0VOKE1ldGhvZE1pc3Np
bmcpLAorICAgIERFRklORV9MT0NBTElEX0ZST01fVE9LRU4oTWV0aG9kX2FkZGVkKSwKKyAgICBE
RUZJTkVfTE9DQUxJRF9GUk9NX1RPS0VOKFNpbmdsZXRvbl9tZXRob2RfYWRkZWQpLAorICAgIERF
RklORV9MT0NBTElEX0ZST01fVE9LRU4oTWV0aG9kX3JlbW92ZWQpLAorICAgIERFRklORV9MT0NB
TElEX0ZST01fVE9LRU4oU2luZ2xldG9uX21ldGhvZF9yZW1vdmVkKSwKKyAgICBERUZJTkVfTE9D
QUxJRF9GUk9NX1RPS0VOKE1ldGhvZF91bmRlZmluZWQpLAorICAgIERFRklORV9MT0NBTElEX0ZS
T01fVE9LRU4oU2luZ2xldG9uX21ldGhvZF91bmRlZmluZWQpLAorICAgIERFRklORV9MT0NBTElE
X0ZST01fVE9LRU4oTGVuZ3RoKSwKKyAgICBERUZJTkVfTE9DQUxJRF9GUk9NX1RPS0VOKFNpemUp
LAorICAgIERFRklORV9MT0NBTElEX0ZST01fVE9LRU4oR2V0cyksCisgICAgREVGSU5FX0xPQ0FM
SURfRlJPTV9UT0tFTihTdWNjKSwKKyAgICBERUZJTkVfTE9DQUxJRF9GUk9NX1RPS0VOKEVhY2gp
LAorICAgIERFRklORV9MT0NBTElEX0ZST01fVE9LRU4oUHJvYyksCisgICAgREVGSU5FX0xPQ0FM
SURfRlJPTV9UT0tFTihMYW1iZGEpLAorICAgIERFRklORV9MT0NBTElEX0ZST01fVE9LRU4oU2Vu
ZCksCisgICAgREVGSU5FX0xPQ0FMSURfRlJPTV9UT0tFTihfX3NlbmRfXyksCisgICAgREVGSU5F
X0xPQ0FMSURfRlJPTV9UT0tFTihfX2F0dGFjaGVkX18pLAorICAgIERFRklORV9MT0NBTElEX0ZS
T01fVE9LRU4oSW5pdGlhbGl6ZSksCisgICAgREVGSU5FX0xPQ0FMSURfRlJPTV9UT0tFTihJbml0
aWFsaXplX2NvcHkpLAorICAgIERFRklORV9MT0NBTElEX0ZST01fVE9LRU4oSW5pdGlhbGl6ZV9j
bG9uZSksCisgICAgREVGSU5FX0xPQ0FMSURfRlJPTV9UT0tFTihJbml0aWFsaXplX2R1cCksCisg
ICAgREVGSU5FX0xPQ0FMSURfRlJPTV9UT0tFTihUb19pbnQpLAorICAgIERFRklORV9MT0NBTElE
X0ZST01fVE9LRU4oVG9fYXJ5KSwKKyAgICBERUZJTkVfTE9DQUxJRF9GUk9NX1RPS0VOKFRvX3N0
ciksCisgICAgREVGSU5FX0xPQ0FMSURfRlJPTV9UT0tFTihUb19zeW0pLAorICAgIERFRklORV9M
T0NBTElEX0ZST01fVE9LRU4oVG9faGFzaCksCisgICAgREVGSU5FX0xPQ0FMSURfRlJPTV9UT0tF
TihUb19wcm9jKSwKKyAgICBERUZJTkVfTE9DQUxJRF9GUk9NX1RPS0VOKFRvX2lvKSwKKyAgICBE
RUZJTkVfTE9DQUxJRF9GUk9NX1RPS0VOKFRvX2EpLAorICAgIERFRklORV9MT0NBTElEX0ZST01f
VE9LRU4oVG9fcyksCisgICAgREVGSU5FX0xPQ0FMSURfRlJPTV9UT0tFTihUb19pKSwKKyAgICBE
RUZJTkVfTE9DQUxJRF9GUk9NX1RPS0VOKFRvX2YpLAorICAgIERFRklORV9MT0NBTElEX0ZST01f
VE9LRU4oVG9fciksCisgICAgREVGSU5FX0xPQ0FMSURfRlJPTV9UT0tFTihCdCksCisgICAgREVG
SU5FX0xPQ0FMSURfRlJPTV9UT0tFTihCdF9sb2NhdGlvbnMpLAorICAgIERFRklORV9MT0NBTElE
X0ZST01fVE9LRU4oQ2FsbCksCisgICAgREVGSU5FX0xPQ0FMSURfRlJPTV9UT0tFTihNZXNnKSwK
KyAgICBERUZJTkVfTE9DQUxJRF9GUk9NX1RPS0VOKEV4Y2VwdGlvbiksCisgICAgREVGSU5FX0xP
Q0FMSURfRlJPTV9UT0tFTihOT1QpLAorICAgIERFRklORV9MT0NBTElEX0ZST01fVE9LRU4oQU5E
KSwKKyAgICBERUZJTkVfTE9DQUxJRF9GUk9NX1RPS0VOKE9SKSwKKyAgICBERUZJTkVfTE9DQUxJ
RF9GUk9NX1RPS0VOKFVTY29yZSksCisjZGVmaW5lIERFRklORV9JTlNUQU5DRUlEX0ZST01fVE9L
RU4obikgaWQjI24gPSBUT0tFTjJJTlNUQU5DRUlEKHQjI24pCisjZGVmaW5lIERFRklORV9HTE9C
QUxJRF9GUk9NX1RPS0VOKG4pIGlkIyNuID0gVE9LRU4yR0xPQkFMSUQodCMjbikKKyAgICBERUZJ
TkVfR0xPQkFMSURfRlJPTV9UT0tFTihMQVNUTElORSksCisgICAgREVGSU5FX0dMT0JBTElEX0ZS
T01fVE9LRU4oQkFDS1JFRiksCisjZGVmaW5lIERFRklORV9DT05TVElEX0ZST01fVE9LRU4obikg
aWQjI24gPSBUT0tFTjJDT05TVElEKHQjI24pCisjZGVmaW5lIERFRklORV9DTEFTU0lEX0ZST01f
VE9LRU4obikgaWQjI24gPSBUT0tFTjJDTEFTU0lEKHQjI24pCisjZGVmaW5lIERFRklORV9BVFRS
U0VUSURfRlJPTV9UT0tFTihuKSBpZCMjbiA9IFRPS0VOMkFUVFJTRVRJRCh0IyNuKQorICAgIHRM
QVNUX09QX0lEID0gdFBSRVNFUlZFRF9JRF9FTkQtMSwKKyAgICBpZExBU1RfT1BfSUQgPSB0TEFT
VF9PUF9JRCA+PiBJRF9TQ09QRV9TSElGVAorfTsKKworI2VuZGlmIC8qIFJVQllfSURfSCAqLwpk
aWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2luc25zLmluYyBiL2dlbmVyYXRlZC9pbnNucy5pbmMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWI0OWM4ZgotLS0gL2Rldi9udWxsCisr
KyBiL2dlbmVyYXRlZC9pbnNucy5pbmMKQEAgLTAsMCArMSwyNDkgQEAKKy8qIC0qLSBtb2RlOmM7
IHN0eWxlOnJ1Ynk7IGNvZGluZzogdXRmLTg7IGluZGVudC10YWJzLW1vZGU6IG5pbCAtKi0gKi8K
KworLyogVGhpcyBpcyAgYW4gYXV0by1nZW5lcmF0ZWQgZmlsZSAgYW5kIGlzIGEgIHBhcnQgb2Yg
dGhlICBwcm9ncmFtbWluZyBsYW5ndWFnZQorICogUnVieS4gIFRoZSAgcGVyc29uIHdobyAgY3Jl
YXRlZCAgYSAgcHJvZ3JhbSAgdG8gIGdlbmVyYXRlIHRoaXMgIGZpbGUgIChgYEknJworICogaGVy
ZWFmdGVyKSB3b3VsZCBsaWtlICB0byByZWZyYWluIGZyb20gZGVmaW5pbmcgbGljZW5zaW5nICBv
ZiB0aGlzIGdlbmVyYXRlZAorICogc291cmNlIGNvZGUuCisgKgorICogVGhpcyBmaWxlIGNvbnNp
c3Qgb2YgbWFueSBzbWFsbCAgcGFydHMgb2YgY29kZXMgY29weXJpZ2h0ZWQgYnkgZWFjaCBhdXRo
b3JzLAorICogbm90ICBvbmx5ICB0aGUgIGBgSScnICBwZXJzb24uICAgVGhvc2UgIG9yaWdpbmFs
ICBhdXRob3JzICBhZ3JlZSAgd2l0aCAgc29tZQorICogb3Blbi1zb3VyY2UgbGljZW5zZS4gIEkg
IGJlbGlldmUgdGhhdCB0aGUgbGljZW5zZSB3ZSBhZ3JlZSAgaXMgdGhlIGNvbmRpdGlvbgorICog
bWVudGlvbmVkIGluICB0aGUgZmlsZSBDT1BZSU5HLiAgSXQgIHN0YXRlcyAiNC4gIFlvdSBtYXkg
IG1vZGlmeSBhbmQgaW5jbHVkZQorICogdGhlIHBhcnQgb2YgdGhlIHNvZnR3YXJlIGludG8gYW55
ICBvdGhlciBzb2Z0d2FyZSAuLi4iLiAgQnV0IHRoZSBwcm9ibGVtIGlzLAorICogdGhlIGxpY2Vu
c2UgbmV2ZXIgbWFrZXMgaXQgY2xlYXIgaWYgIHN1Y2ggbW9kaWZpZWQgcGFydHMgc3RpbGwgcmVt
YWluIGluIHRoZQorICogc2FtZSAgbGljZW5zZSwgb3IgIG5vdC4gICBUaGUgZmFjdCAgdGhhdCAg
d2UgYWdyZWUgIHdpdGggIHRoZSBzb3VyY2UgIGNvZGUncworICogbGljZW5zaW5nIHRlcm1zIGRv
IG5vdCBhdXRvbWF0aWNhbGx5IGRlZmluZSB0aGF0IG9mIGdlbmVyYXRlZCBvbmVzLiAgVGhpcyBp
cworICogdGhlIHJlYXNvbiAgd2h5IHRoaXMgZmlsZSAgaXMgdW5kZXIgdW5jbGVhciBzaXR1YXRp
b24uICAgQWxsIHRoYXQgSSAga25vdyBpcworICogdGhhdCBhYm92ZSBwcm92aXNpb24gZ3VhcmFu
dGVlcyB0aGlzIGZpbGUgdG8gZXhpc3QuCisgKgorICogUGxlYXNlIGxldCBtZSAgaGVzaXRhdGUg
dG8gZGVjbGFyZSBzb21ldGhpbmcgYWJvdXQgdGhpcyAgbnVhbmNlZCBjb250cmFjdC4gSQorICog
YW0gbm90IGluIHRoZSBwb3NpdGlvbiB0byB0YWtlICBvdmVyIG90aGVyIGF1dGhvcnMnIGxpY2Vu
c2UgdG8gbWVyZ2UgaW50byBteQorICogb25lLiAgQ2hhbmdpbmcgdGhlbSB0byAoc2F5KSBHUEx2
MyAgaXMgbm90IGRvYWJsZSBieSBteXNlbGYuIFBlcmhhcHMgc29tZWRheQorICogaXQgbWlnaHQg
dHVybiBvdXQgdG8gYmUgb2theSB0byBzYXkgdGhpcyBmaWxlIGlzIHVuZGVyIGEgbGljZW5zZS4g
SSB3aXNoIHRoZQorICogc2l0dWF0aW9uIHdvdWxkIGJlY29tZSBtb3JlIGNsZWFyIGluIHRoZSBm
dXR1cmUuICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8q
KgorICBUaGlzIGZpbGUgY29udGFpbnMgWUFSViBpbnN0cnVjdGlvbiBsaXN0LgorCisgIC0tLS0K
KyAgVGhpcyBmaWxlIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IGluc25zMnZtLnJiCisgIERPIE5PVCBU
T1VDSCEKKworICBJZiB5b3Ugd2FudCB0byBmaXggc29tZXRoaW5nLCB5b3UgbXVzdCBlZGl0ICJ0
b29sL3J1Ynlfdm0vdmlld3MvaW5zbnMuaW5jLmVyYiIKKyAgb3IgdG9vbC9pbnNuczJ2bS5yYgor
ICovCisKKy8qIEJJTiA6IEJhc2ljIEluc3RydWN0aW9uIE5hbWUgKi8KKyNkZWZpbmUgQklOKG4p
IFlBUlZJTlNOXyMjbgorCitlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgeworICAgIEJJTihub3ApLAor
ICAgIEJJTihnZXRsb2NhbCksCisgICAgQklOKHNldGxvY2FsKSwKKyAgICBCSU4oZ2V0YmxvY2tw
YXJhbSksCisgICAgQklOKHNldGJsb2NrcGFyYW0pLAorICAgIEJJTihnZXRibG9ja3BhcmFtcHJv
eHkpLAorICAgIEJJTihnZXRzcGVjaWFsKSwKKyAgICBCSU4oc2V0c3BlY2lhbCksCisgICAgQklO
KGdldGluc3RhbmNldmFyaWFibGUpLAorICAgIEJJTihzZXRpbnN0YW5jZXZhcmlhYmxlKSwKKyAg
ICBCSU4oZ2V0Y2xhc3N2YXJpYWJsZSksCisgICAgQklOKHNldGNsYXNzdmFyaWFibGUpLAorICAg
IEJJTihnZXRjb25zdGFudCksCisgICAgQklOKHNldGNvbnN0YW50KSwKKyAgICBCSU4oZ2V0Z2xv
YmFsKSwKKyAgICBCSU4oc2V0Z2xvYmFsKSwKKyAgICBCSU4ocHV0bmlsKSwKKyAgICBCSU4ocHV0
c2VsZiksCisgICAgQklOKHB1dG9iamVjdCksCisgICAgQklOKHB1dHNwZWNpYWxvYmplY3QpLAor
ICAgIEJJTihwdXRpc2VxKSwKKyAgICBCSU4ocHV0c3RyaW5nKSwKKyAgICBCSU4oY29uY2F0c3Ry
aW5ncyksCisgICAgQklOKHRvc3RyaW5nKSwKKyAgICBCSU4oZnJlZXplc3RyaW5nKSwKKyAgICBC
SU4odG9yZWdleHApLAorICAgIEJJTihpbnRlcm4pLAorICAgIEJJTihuZXdhcnJheSksCisgICAg
QklOKGR1cGFycmF5KSwKKyAgICBCSU4oZHVwaGFzaCksCisgICAgQklOKGV4cGFuZGFycmF5KSwK
KyAgICBCSU4oY29uY2F0YXJyYXkpLAorICAgIEJJTihzcGxhdGFycmF5KSwKKyAgICBCSU4obmV3
aGFzaCksCisgICAgQklOKG5ld3JhbmdlKSwKKyAgICBCSU4ocG9wKSwKKyAgICBCSU4oZHVwKSwK
KyAgICBCSU4oZHVwbiksCisgICAgQklOKHN3YXApLAorICAgIEJJTihyZXZlcnNlKSwKKyAgICBC
SU4ocmVwdXQpLAorICAgIEJJTih0b3BuKSwKKyAgICBCSU4oc2V0biksCisgICAgQklOKGFkanVz
dHN0YWNrKSwKKyAgICBCSU4oZGVmaW5lZCksCisgICAgQklOKGNoZWNrbWF0Y2gpLAorICAgIEJJ
TihjaGVja2tleXdvcmQpLAorICAgIEJJTihjaGVja3R5cGUpLAorICAgIEJJTihkZWZpbmVjbGFz
cyksCisgICAgQklOKHNlbmQpLAorICAgIEJJTihvcHRfc2VuZF93aXRob3V0X2Jsb2NrKSwKKyAg
ICBCSU4ob3B0X3N0cl9mcmVlemUpLAorICAgIEJJTihvcHRfc3RyX3VtaW51cyksCisgICAgQklO
KG9wdF9uZXdhcnJheV9tYXgpLAorICAgIEJJTihvcHRfbmV3YXJyYXlfbWluKSwKKyAgICBCSU4o
aW52b2tlc3VwZXIpLAorICAgIEJJTihpbnZva2VibG9jayksCisgICAgQklOKGxlYXZlKSwKKyAg
ICBCSU4odGhyb3cpLAorICAgIEJJTihqdW1wKSwKKyAgICBCSU4oYnJhbmNoaWYpLAorICAgIEJJ
TihicmFuY2h1bmxlc3MpLAorICAgIEJJTihicmFuY2huaWwpLAorICAgIEJJTihvcHRfZ2V0aW5s
aW5lY2FjaGUpLAorICAgIEJJTihvcHRfc2V0aW5saW5lY2FjaGUpLAorICAgIEJJTihvbmNlKSwK
KyAgICBCSU4ob3B0X2Nhc2VfZGlzcGF0Y2gpLAorICAgIEJJTihvcHRfcGx1cyksCisgICAgQklO
KG9wdF9taW51cyksCisgICAgQklOKG9wdF9tdWx0KSwKKyAgICBCSU4ob3B0X2RpdiksCisgICAg
QklOKG9wdF9tb2QpLAorICAgIEJJTihvcHRfZXEpLAorICAgIEJJTihvcHRfbmVxKSwKKyAgICBC
SU4ob3B0X2x0KSwKKyAgICBCSU4ob3B0X2xlKSwKKyAgICBCSU4ob3B0X2d0KSwKKyAgICBCSU4o
b3B0X2dlKSwKKyAgICBCSU4ob3B0X2x0bHQpLAorICAgIEJJTihvcHRfYW5kKSwKKyAgICBCSU4o
b3B0X29yKSwKKyAgICBCSU4ob3B0X2FyZWYpLAorICAgIEJJTihvcHRfYXNldCksCisgICAgQklO
KG9wdF9hc2V0X3dpdGgpLAorICAgIEJJTihvcHRfYXJlZl93aXRoKSwKKyAgICBCSU4ob3B0X2xl
bmd0aCksCisgICAgQklOKG9wdF9zaXplKSwKKyAgICBCSU4ob3B0X2VtcHR5X3ApLAorICAgIEJJ
TihvcHRfc3VjYyksCisgICAgQklOKG9wdF9ub3QpLAorICAgIEJJTihvcHRfcmVnZXhwbWF0Y2gx
KSwKKyAgICBCSU4ob3B0X3JlZ2V4cG1hdGNoMiksCisgICAgQklOKG9wdF9jYWxsX2NfZnVuY3Rp
b24pLAorICAgIEJJTihiaXRibHQpLAorICAgIEJJTihhbnN3ZXIpLAorICAgIEJJTihnZXRsb2Nh
bF9XQ18wKSwKKyAgICBCSU4oZ2V0bG9jYWxfV0NfMSksCisgICAgQklOKHNldGxvY2FsX1dDXzAp
LAorICAgIEJJTihzZXRsb2NhbF9XQ18xKSwKKyAgICBCSU4ocHV0b2JqZWN0X0lOVDJGSVhfMF8p
LAorICAgIEJJTihwdXRvYmplY3RfSU5UMkZJWF8xXyksCisgICAgQklOKHRyYWNlX25vcCksCisg
ICAgQklOKHRyYWNlX2dldGxvY2FsKSwKKyAgICBCSU4odHJhY2Vfc2V0bG9jYWwpLAorICAgIEJJ
Tih0cmFjZV9nZXRibG9ja3BhcmFtKSwKKyAgICBCSU4odHJhY2Vfc2V0YmxvY2twYXJhbSksCisg
ICAgQklOKHRyYWNlX2dldGJsb2NrcGFyYW1wcm94eSksCisgICAgQklOKHRyYWNlX2dldHNwZWNp
YWwpLAorICAgIEJJTih0cmFjZV9zZXRzcGVjaWFsKSwKKyAgICBCSU4odHJhY2VfZ2V0aW5zdGFu
Y2V2YXJpYWJsZSksCisgICAgQklOKHRyYWNlX3NldGluc3RhbmNldmFyaWFibGUpLAorICAgIEJJ
Tih0cmFjZV9nZXRjbGFzc3ZhcmlhYmxlKSwKKyAgICBCSU4odHJhY2Vfc2V0Y2xhc3N2YXJpYWJs
ZSksCisgICAgQklOKHRyYWNlX2dldGNvbnN0YW50KSwKKyAgICBCSU4odHJhY2Vfc2V0Y29uc3Rh
bnQpLAorICAgIEJJTih0cmFjZV9nZXRnbG9iYWwpLAorICAgIEJJTih0cmFjZV9zZXRnbG9iYWwp
LAorICAgIEJJTih0cmFjZV9wdXRuaWwpLAorICAgIEJJTih0cmFjZV9wdXRzZWxmKSwKKyAgICBC
SU4odHJhY2VfcHV0b2JqZWN0KSwKKyAgICBCSU4odHJhY2VfcHV0c3BlY2lhbG9iamVjdCksCisg
ICAgQklOKHRyYWNlX3B1dGlzZXEpLAorICAgIEJJTih0cmFjZV9wdXRzdHJpbmcpLAorICAgIEJJ
Tih0cmFjZV9jb25jYXRzdHJpbmdzKSwKKyAgICBCSU4odHJhY2VfdG9zdHJpbmcpLAorICAgIEJJ
Tih0cmFjZV9mcmVlemVzdHJpbmcpLAorICAgIEJJTih0cmFjZV90b3JlZ2V4cCksCisgICAgQklO
KHRyYWNlX2ludGVybiksCisgICAgQklOKHRyYWNlX25ld2FycmF5KSwKKyAgICBCSU4odHJhY2Vf
ZHVwYXJyYXkpLAorICAgIEJJTih0cmFjZV9kdXBoYXNoKSwKKyAgICBCSU4odHJhY2VfZXhwYW5k
YXJyYXkpLAorICAgIEJJTih0cmFjZV9jb25jYXRhcnJheSksCisgICAgQklOKHRyYWNlX3NwbGF0
YXJyYXkpLAorICAgIEJJTih0cmFjZV9uZXdoYXNoKSwKKyAgICBCSU4odHJhY2VfbmV3cmFuZ2Up
LAorICAgIEJJTih0cmFjZV9wb3ApLAorICAgIEJJTih0cmFjZV9kdXApLAorICAgIEJJTih0cmFj
ZV9kdXBuKSwKKyAgICBCSU4odHJhY2Vfc3dhcCksCisgICAgQklOKHRyYWNlX3JldmVyc2UpLAor
ICAgIEJJTih0cmFjZV9yZXB1dCksCisgICAgQklOKHRyYWNlX3RvcG4pLAorICAgIEJJTih0cmFj
ZV9zZXRuKSwKKyAgICBCSU4odHJhY2VfYWRqdXN0c3RhY2spLAorICAgIEJJTih0cmFjZV9kZWZp
bmVkKSwKKyAgICBCSU4odHJhY2VfY2hlY2ttYXRjaCksCisgICAgQklOKHRyYWNlX2NoZWNra2V5
d29yZCksCisgICAgQklOKHRyYWNlX2NoZWNrdHlwZSksCisgICAgQklOKHRyYWNlX2RlZmluZWNs
YXNzKSwKKyAgICBCSU4odHJhY2Vfc2VuZCksCisgICAgQklOKHRyYWNlX29wdF9zZW5kX3dpdGhv
dXRfYmxvY2spLAorICAgIEJJTih0cmFjZV9vcHRfc3RyX2ZyZWV6ZSksCisgICAgQklOKHRyYWNl
X29wdF9zdHJfdW1pbnVzKSwKKyAgICBCSU4odHJhY2Vfb3B0X25ld2FycmF5X21heCksCisgICAg
QklOKHRyYWNlX29wdF9uZXdhcnJheV9taW4pLAorICAgIEJJTih0cmFjZV9pbnZva2VzdXBlciks
CisgICAgQklOKHRyYWNlX2ludm9rZWJsb2NrKSwKKyAgICBCSU4odHJhY2VfbGVhdmUpLAorICAg
IEJJTih0cmFjZV90aHJvdyksCisgICAgQklOKHRyYWNlX2p1bXApLAorICAgIEJJTih0cmFjZV9i
cmFuY2hpZiksCisgICAgQklOKHRyYWNlX2JyYW5jaHVubGVzcyksCisgICAgQklOKHRyYWNlX2Jy
YW5jaG5pbCksCisgICAgQklOKHRyYWNlX29wdF9nZXRpbmxpbmVjYWNoZSksCisgICAgQklOKHRy
YWNlX29wdF9zZXRpbmxpbmVjYWNoZSksCisgICAgQklOKHRyYWNlX29uY2UpLAorICAgIEJJTih0
cmFjZV9vcHRfY2FzZV9kaXNwYXRjaCksCisgICAgQklOKHRyYWNlX29wdF9wbHVzKSwKKyAgICBC
SU4odHJhY2Vfb3B0X21pbnVzKSwKKyAgICBCSU4odHJhY2Vfb3B0X211bHQpLAorICAgIEJJTih0
cmFjZV9vcHRfZGl2KSwKKyAgICBCSU4odHJhY2Vfb3B0X21vZCksCisgICAgQklOKHRyYWNlX29w
dF9lcSksCisgICAgQklOKHRyYWNlX29wdF9uZXEpLAorICAgIEJJTih0cmFjZV9vcHRfbHQpLAor
ICAgIEJJTih0cmFjZV9vcHRfbGUpLAorICAgIEJJTih0cmFjZV9vcHRfZ3QpLAorICAgIEJJTih0
cmFjZV9vcHRfZ2UpLAorICAgIEJJTih0cmFjZV9vcHRfbHRsdCksCisgICAgQklOKHRyYWNlX29w
dF9hbmQpLAorICAgIEJJTih0cmFjZV9vcHRfb3IpLAorICAgIEJJTih0cmFjZV9vcHRfYXJlZiks
CisgICAgQklOKHRyYWNlX29wdF9hc2V0KSwKKyAgICBCSU4odHJhY2Vfb3B0X2FzZXRfd2l0aCks
CisgICAgQklOKHRyYWNlX29wdF9hcmVmX3dpdGgpLAorICAgIEJJTih0cmFjZV9vcHRfbGVuZ3Ro
KSwKKyAgICBCSU4odHJhY2Vfb3B0X3NpemUpLAorICAgIEJJTih0cmFjZV9vcHRfZW1wdHlfcCks
CisgICAgQklOKHRyYWNlX29wdF9zdWNjKSwKKyAgICBCSU4odHJhY2Vfb3B0X25vdCksCisgICAg
QklOKHRyYWNlX29wdF9yZWdleHBtYXRjaDEpLAorICAgIEJJTih0cmFjZV9vcHRfcmVnZXhwbWF0
Y2gyKSwKKyAgICBCSU4odHJhY2Vfb3B0X2NhbGxfY19mdW5jdGlvbiksCisgICAgQklOKHRyYWNl
X2JpdGJsdCksCisgICAgQklOKHRyYWNlX2Fuc3dlciksCisgICAgQklOKHRyYWNlX2dldGxvY2Fs
X1dDXzApLAorICAgIEJJTih0cmFjZV9nZXRsb2NhbF9XQ18xKSwKKyAgICBCSU4odHJhY2Vfc2V0
bG9jYWxfV0NfMCksCisgICAgQklOKHRyYWNlX3NldGxvY2FsX1dDXzEpLAorICAgIEJJTih0cmFj
ZV9wdXRvYmplY3RfSU5UMkZJWF8wXyksCisgICAgQklOKHRyYWNlX3B1dG9iamVjdF9JTlQyRklY
XzFfKSwKKyAgICBWTV9JTlNUUlVDVElPTl9TSVpFCit9OworCisjZGVmaW5lIEFTU0VSVF9WTV9J
TlNUUlVDVElPTl9TSVpFKGFycmF5KSBcCisgICAgU1RBVElDX0FTU0VSVChudW1iZXJvZl8jI2Fy
cmF5LCBudW1iZXJvZihhcnJheSkgPT0gVk1fSU5TVFJVQ1RJT05fU0laRSkKZGlmZiAtLWdpdCBh
L2dlbmVyYXRlZC9pbnNuc19pbmZvLmluYyBiL2dlbmVyYXRlZC9pbnNuc19pbmZvLmluYwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjRiMTc4Ci0tLSAvZGV2L251bGwKKysr
IGIvZ2VuZXJhdGVkL2luc25zX2luZm8uaW5jCkBAIC0wLDAgKzEsOTM3NCBAQAorLyogLSotIG1v
ZGU6Yzsgc3R5bGU6cnVieTsgY29kaW5nOiB1dGYtODsgaW5kZW50LXRhYnMtbW9kZTogbmlsIC0q
LSAqLworCisvKiBUaGlzIGlzICBhbiBhdXRvLWdlbmVyYXRlZCBmaWxlICBhbmQgaXMgYSAgcGFy
dCBvZiB0aGUgIHByb2dyYW1taW5nIGxhbmd1YWdlCisgKiBSdWJ5LiAgVGhlICBwZXJzb24gd2hv
ICBjcmVhdGVkICBhICBwcm9ncmFtICB0byAgZ2VuZXJhdGUgdGhpcyAgZmlsZSAgKGBgSScnCisg
KiBoZXJlYWZ0ZXIpIHdvdWxkIGxpa2UgIHRvIHJlZnJhaW4gZnJvbSBkZWZpbmluZyBsaWNlbnNp
bmcgIG9mIHRoaXMgZ2VuZXJhdGVkCisgKiBzb3VyY2UgY29kZS4KKyAqCisgKiBUaGlzIGZpbGUg
Y29uc2lzdCBvZiBtYW55IHNtYWxsICBwYXJ0cyBvZiBjb2RlcyBjb3B5cmlnaHRlZCBieSBlYWNo
IGF1dGhvcnMsCisgKiBub3QgIG9ubHkgIHRoZSAgYGBJJycgIHBlcnNvbi4gICBUaG9zZSAgb3Jp
Z2luYWwgIGF1dGhvcnMgIGFncmVlICB3aXRoICBzb21lCisgKiBvcGVuLXNvdXJjZSBsaWNlbnNl
LiAgSSAgYmVsaWV2ZSB0aGF0IHRoZSBsaWNlbnNlIHdlIGFncmVlICBpcyB0aGUgY29uZGl0aW9u
CisgKiBtZW50aW9uZWQgaW4gIHRoZSBmaWxlIENPUFlJTkcuICBJdCAgc3RhdGVzICI0LiAgWW91
IG1heSAgbW9kaWZ5IGFuZCBpbmNsdWRlCisgKiB0aGUgcGFydCBvZiB0aGUgc29mdHdhcmUgaW50
byBhbnkgIG90aGVyIHNvZnR3YXJlIC4uLiIuICBCdXQgdGhlIHByb2JsZW0gaXMsCisgKiB0aGUg
bGljZW5zZSBuZXZlciBtYWtlcyBpdCBjbGVhciBpZiAgc3VjaCBtb2RpZmllZCBwYXJ0cyBzdGls
bCByZW1haW4gaW4gdGhlCisgKiBzYW1lICBsaWNlbnNlLCBvciAgbm90LiAgIFRoZSBmYWN0ICB0
aGF0ICB3ZSBhZ3JlZSAgd2l0aCAgdGhlIHNvdXJjZSAgY29kZSdzCisgKiBsaWNlbnNpbmcgdGVy
bXMgZG8gbm90IGF1dG9tYXRpY2FsbHkgZGVmaW5lIHRoYXQgb2YgZ2VuZXJhdGVkIG9uZXMuICBU
aGlzIGlzCisgKiB0aGUgcmVhc29uICB3aHkgdGhpcyBmaWxlICBpcyB1bmRlciB1bmNsZWFyIHNp
dHVhdGlvbi4gICBBbGwgdGhhdCBJICBrbm93IGlzCisgKiB0aGF0IGFib3ZlIHByb3Zpc2lvbiBn
dWFyYW50ZWVzIHRoaXMgZmlsZSB0byBleGlzdC4KKyAqCisgKiBQbGVhc2UgbGV0IG1lICBoZXNp
dGF0ZSB0byBkZWNsYXJlIHNvbWV0aGluZyBhYm91dCB0aGlzICBudWFuY2VkIGNvbnRyYWN0LiBJ
CisgKiBhbSBub3QgaW4gdGhlIHBvc2l0aW9uIHRvIHRha2UgIG92ZXIgb3RoZXIgYXV0aG9ycycg
bGljZW5zZSB0byBtZXJnZSBpbnRvIG15CisgKiBvbmUuICBDaGFuZ2luZyB0aGVtIHRvIChzYXkp
IEdQTHYzICBpcyBub3QgZG9hYmxlIGJ5IG15c2VsZi4gUGVyaGFwcyBzb21lZGF5CisgKiBpdCBt
aWdodCB0dXJuIG91dCB0byBiZSBva2F5IHRvIHNheSB0aGlzIGZpbGUgaXMgdW5kZXIgYSBsaWNl
bnNlLiBJIHdpc2ggdGhlCisgKiBzaXR1YXRpb24gd291bGQgYmVjb21lIG1vcmUgY2xlYXIgaW4g
dGhlIGZ1dHVyZS4gKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
LworLyoqCisgIFRoaXMgZmlsZSBjb250YWlucyBpbnN0cnVjdGlvbiBpbmZvcm1hdGlvbiBmb3Ig
eWFydiBpbnN0cnVjdGlvbiBzZXF1ZW5jZS4uCisKKyAgLS0tLQorICBUaGlzIGZpbGUgaXMgYXV0
byBnZW5lcmF0ZWQgYnkgaW5zbnMydm0ucmIKKyAgRE8gTk9UIFRPVUNIIQorCisgIElmIHlvdSB3
YW50IHRvIGZpeCBzb21ldGhpbmcsIHlvdSBtdXN0IGVkaXQgInRvb2wvcnVieV92bS92aWV3cy9p
bnNuc19pbmZvLmluYy5lcmIiCisgIG9yIHRvb2wvaW5zbnMydm0ucmIKKyAqLworCitlbnVtIHJ1
YnlfaW5zbl90eXBlX2NoYXJzIHsKKyAgICBUU19WQVJJQUJMRSA9ICcuJywKKyAgICBUU19DQUxM
Q0FDSEUgPSAnRScsCisgICAgVFNfQ0FMTElORk8gPSAnQycsCisgICAgVFNfQ0RIQVNIID0gJ0gn
LAorICAgIFRTX0dFTlRSWSA9ICdHJywKKyAgICBUU19JQyA9ICdLJywKKyAgICBUU19JRCA9ICdJ
JywKKyAgICBUU19JU0UgPSAnVCcsCisgICAgVFNfSVNFUSA9ICdTJywKKyAgICBUU19PRkZTRVQg
PSAnTycsCisgICAgVFNfVkFMVUUgPSAnVicsCisgICAgVFNfTElOREVYID0gJ0wnLAorICAgIFRT
X0ZVTkNQVFIgPSAnRicsCisgICAgVFNfTlVNID0gJ04nCit9OworCitDT05TVEZVTkMoTUFZQkVf
VU5VU0VEKHN0YXRpYyBjb25zdCBjaGFyICppbnNuX25hbWUoVkFMVUUgaW5zbikpKTsKK2V4dGVy
biBjb25zdCBjaGFyICpyYl92bV9pbnNuX25hbWVfaW5mbzsKK01KSVRfU1lNQk9MX0VYUE9SVF9C
RUdJTgorZXh0ZXJuIGNvbnN0IHVuc2lnbmVkIHNob3J0IHJiX3ZtX2luc25fbmFtZV9vZmZzZXRb
XTsKK01KSVRfU1lNQk9MX0VYUE9SVF9FTkQKKworI2lmZGVmIFJVQllfVk1fSU5TTlNfSU5GTwor
Y29uc3QgdW5zaWduZWQgc2hvcnQgcmJfdm1faW5zbl9uYW1lX29mZnNldFtdID0geworICAgICAg
IDAsICAgIDQsICAgMTMsICAgMjIsICAgMzYsICAgNTAsICAgNjksICAgODAsICAgOTEsICAxMTEs
ICAxMzEsICAxNDgsCisgICAgIDE2NSwgIDE3NywgIDE4OSwgIDE5OSwgIDIwOSwgIDIxNiwgIDIy
NCwgIDIzNCwgIDI1MSwgIDI1OSwgIDI2OSwgIDI4MywKKyAgICAgMjkyLCAgMzA1LCAgMzE0LCAg
MzIxLCAgMzMwLCAgMzM5LCAgMzQ3LCAgMzU5LCAgMzcxLCAgMzgyLCAgMzkwLCAgMzk5LAorICAg
ICA0MDMsICA0MDcsICA0MTIsICA0MTcsICA0MjUsICA0MzEsICA0MzYsICA0NDEsICA0NTMsICA0
NjEsICA0NzIsICA0ODUsCisgICAgIDQ5NSwgIDUwNywgIDUxMiwgIDUzNSwgIDU1MCwgIDU2NSwg
IDU4MiwgIDU5OSwgIDYxMSwgIDYyMywgIDYyOSwgIDYzNSwKKyAgICAgNjQwLCAgNjQ5LCAgNjYy
LCAgNjcyLCAgNjkxLCAgNzEwLCAgNzE1LCAgNzMzLCAgNzQyLCAgNzUyLCAgNzYxLCAgNzY5LAor
ICAgICA3NzcsICA3ODQsICA3OTIsICA3OTksICA4MDYsICA4MTMsICA4MjAsICA4MjksICA4Mzcs
ICA4NDQsICA4NTMsICA4NjIsCisgICAgIDg3NiwgIDg5MCwgIDkwMSwgIDkxMCwgIDkyMiwgIDkz
MSwgIDkzOSwgIDk1NiwgIDk3MywgIDk5MywgMTAwMCwgMTAwNywKKyAgICAxMDIxLCAxMDM1LCAx
MDQ5LCAxMDYzLCAxMDg0LCAxMTA1LCAxMTE1LCAxMTMwLCAxMTQ1LCAxMTY1LCAxMTg1LCAxMjEw
LAorICAgIDEyMjcsIDEyNDQsIDEyNzAsIDEyOTYsIDEzMTksIDEzNDIsIDEzNjAsIDEzNzgsIDEz
OTQsIDE0MTAsIDE0MjMsIDE0MzcsCisgICAgMTQ1MywgMTQ3NiwgMTQ5MCwgMTUwNiwgMTUyNiwg
MTU0MSwgMTU2MCwgMTU3NSwgMTU4OCwgMTYwMywgMTYxOCwgMTYzMiwKKyAgICAxNjUwLCAxNjY4
LCAxNjg1LCAxNjk5LCAxNzE0LCAxNzI0LCAxNzM0LCAxNzQ1LCAxNzU2LCAxNzcwLCAxNzgyLCAx
NzkzLAorICAgIDE4MDQsIDE4MjIsIDE4MzYsIDE4NTMsIDE4NzIsIDE4ODgsIDE5MDYsIDE5MTcs
IDE5NDYsIDE5NjcsIDE5ODgsIDIwMTEsCisgICAgMjAzNCwgMjA1MiwgMjA3MCwgMjA4MiwgMjA5
NCwgMjEwNSwgMjEyMCwgMjEzOSwgMjE1NSwgMjE4MCwgMjIwNSwgMjIxNiwKKyAgICAyMjQwLCAy
MjU1LCAyMjcxLCAyMjg2LCAyMzAwLCAyMzE0LCAyMzI3LCAyMzQxLCAyMzU0LCAyMzY3LCAyMzgw
LCAyMzkzLAorICAgIDI0MDgsIDI0MjIsIDI0MzUsIDI0NTAsIDI0NjUsIDI0ODUsIDI1MDUsIDI1
MjIsIDI1MzcsIDI1NTUsIDI1NzAsIDI1ODQsCisgICAgMjYwNywgMjYzMCwgMjY1NiwgMjY2OSwg
MjY4MiwgMjcwMiwgMjcyMiwgMjc0MiwgMjc2MiwgMjc4OSwKK307Citjb25zdCBpbnQgcmJfdm1f
bWF4X2luc25fbmFtZV9zaXplID0gMjg7CitBU1NFUlRfVk1fSU5TVFJVQ1RJT05fU0laRShyYl92
bV9pbnNuX25hbWVfb2Zmc2V0KTsKKworUEFDS0VEX1NUUlVDVChzdHJ1Y3QgcmJfdm1faW5zbl9u
YW1lX2luZm9fdGFnIHsKKyAgICBjb25zdCBjaGFyIEwwMDBbIDRdOyBjb25zdCBjaGFyIEwwMDFb
IDldOyBjb25zdCBjaGFyIEwwMDJbIDldOworICAgIGNvbnN0IGNoYXIgTDAwM1sxNF07IGNvbnN0
IGNoYXIgTDAwNFsxNF07IGNvbnN0IGNoYXIgTDAwNVsxOV07CisgICAgY29uc3QgY2hhciBMMDA2
WzExXTsgY29uc3QgY2hhciBMMDA3WzExXTsgY29uc3QgY2hhciBMMDA4WzIwXTsKKyAgICBjb25z
dCBjaGFyIEwwMDlbMjBdOyBjb25zdCBjaGFyIEwwMTBbMTddOyBjb25zdCBjaGFyIEwwMTFbMTdd
OworICAgIGNvbnN0IGNoYXIgTDAxMlsxMl07IGNvbnN0IGNoYXIgTDAxM1sxMl07IGNvbnN0IGNo
YXIgTDAxNFsxMF07CisgICAgY29uc3QgY2hhciBMMDE1WzEwXTsgY29uc3QgY2hhciBMMDE2WyA3
XTsgY29uc3QgY2hhciBMMDE3WyA4XTsKKyAgICBjb25zdCBjaGFyIEwwMThbMTBdOyBjb25zdCBj
aGFyIEwwMTlbMTddOyBjb25zdCBjaGFyIEwwMjBbIDhdOworICAgIGNvbnN0IGNoYXIgTDAyMVsx
MF07IGNvbnN0IGNoYXIgTDAyMlsxNF07IGNvbnN0IGNoYXIgTDAyM1sgOV07CisgICAgY29uc3Qg
Y2hhciBMMDI0WzEzXTsgY29uc3QgY2hhciBMMDI1WyA5XTsgY29uc3QgY2hhciBMMDI2WyA3XTsK
KyAgICBjb25zdCBjaGFyIEwwMjdbIDldOyBjb25zdCBjaGFyIEwwMjhbIDldOyBjb25zdCBjaGFy
IEwwMjlbIDhdOworICAgIGNvbnN0IGNoYXIgTDAzMFsxMl07IGNvbnN0IGNoYXIgTDAzMVsxMl07
IGNvbnN0IGNoYXIgTDAzMlsxMV07CisgICAgY29uc3QgY2hhciBMMDMzWyA4XTsgY29uc3QgY2hh
ciBMMDM0WyA5XTsgY29uc3QgY2hhciBMMDM1WyA0XTsKKyAgICBjb25zdCBjaGFyIEwwMzZbIDRd
OyBjb25zdCBjaGFyIEwwMzdbIDVdOyBjb25zdCBjaGFyIEwwMzhbIDVdOworICAgIGNvbnN0IGNo
YXIgTDAzOVsgOF07IGNvbnN0IGNoYXIgTDA0MFsgNl07IGNvbnN0IGNoYXIgTDA0MVsgNV07Cisg
ICAgY29uc3QgY2hhciBMMDQyWyA1XTsgY29uc3QgY2hhciBMMDQzWzEyXTsgY29uc3QgY2hhciBM
MDQ0WyA4XTsKKyAgICBjb25zdCBjaGFyIEwwNDVbMTFdOyBjb25zdCBjaGFyIEwwNDZbMTNdOyBj
b25zdCBjaGFyIEwwNDdbMTBdOworICAgIGNvbnN0IGNoYXIgTDA0OFsxMl07IGNvbnN0IGNoYXIg
TDA0OVsgNV07IGNvbnN0IGNoYXIgTDA1MFsyM107CisgICAgY29uc3QgY2hhciBMMDUxWzE1XTsg
Y29uc3QgY2hhciBMMDUyWzE1XTsgY29uc3QgY2hhciBMMDUzWzE3XTsKKyAgICBjb25zdCBjaGFy
IEwwNTRbMTddOyBjb25zdCBjaGFyIEwwNTVbMTJdOyBjb25zdCBjaGFyIEwwNTZbMTJdOworICAg
IGNvbnN0IGNoYXIgTDA1N1sgNl07IGNvbnN0IGNoYXIgTDA1OFsgNl07IGNvbnN0IGNoYXIgTDA1
OVsgNV07CisgICAgY29uc3QgY2hhciBMMDYwWyA5XTsgY29uc3QgY2hhciBMMDYxWzEzXTsgY29u
c3QgY2hhciBMMDYyWzEwXTsKKyAgICBjb25zdCBjaGFyIEwwNjNbMTldOyBjb25zdCBjaGFyIEww
NjRbMTldOyBjb25zdCBjaGFyIEwwNjVbIDVdOworICAgIGNvbnN0IGNoYXIgTDA2NlsxOF07IGNv
bnN0IGNoYXIgTDA2N1sgOV07IGNvbnN0IGNoYXIgTDA2OFsxMF07CisgICAgY29uc3QgY2hhciBM
MDY5WyA5XTsgY29uc3QgY2hhciBMMDcwWyA4XTsgY29uc3QgY2hhciBMMDcxWyA4XTsKKyAgICBj
b25zdCBjaGFyIEwwNzJbIDddOyBjb25zdCBjaGFyIEwwNzNbIDhdOyBjb25zdCBjaGFyIEwwNzRb
IDddOworICAgIGNvbnN0IGNoYXIgTDA3NVsgN107IGNvbnN0IGNoYXIgTDA3NlsgN107IGNvbnN0
IGNoYXIgTDA3N1sgN107CisgICAgY29uc3QgY2hhciBMMDc4WyA5XTsgY29uc3QgY2hhciBMMDc5
WyA4XTsgY29uc3QgY2hhciBMMDgwWyA3XTsKKyAgICBjb25zdCBjaGFyIEwwODFbIDldOyBjb25z
dCBjaGFyIEwwODJbIDldOyBjb25zdCBjaGFyIEwwODNbMTRdOworICAgIGNvbnN0IGNoYXIgTDA4
NFsxNF07IGNvbnN0IGNoYXIgTDA4NVsxMV07IGNvbnN0IGNoYXIgTDA4NlsgOV07CisgICAgY29u
c3QgY2hhciBMMDg3WzEyXTsgY29uc3QgY2hhciBMMDg4WyA5XTsgY29uc3QgY2hhciBMMDg5WyA4
XTsKKyAgICBjb25zdCBjaGFyIEwwOTBbMTddOyBjb25zdCBjaGFyIEwwOTFbMTddOyBjb25zdCBj
aGFyIEwwOTJbMjBdOworICAgIGNvbnN0IGNoYXIgTDA5M1sgN107IGNvbnN0IGNoYXIgTDA5NFsg
N107IGNvbnN0IGNoYXIgTDA5NVsxNF07CisgICAgY29uc3QgY2hhciBMMDk2WzE0XTsgY29uc3Qg
Y2hhciBMMDk3WzE0XTsgY29uc3QgY2hhciBMMDk4WzE0XTsKKyAgICBjb25zdCBjaGFyIEwwOTlb
MjFdOyBjb25zdCBjaGFyIEwxMDBbMjFdOyBjb25zdCBjaGFyIEwxMDFbMTBdOworICAgIGNvbnN0
IGNoYXIgTDEwMlsxNV07IGNvbnN0IGNoYXIgTDEwM1sxNV07IGNvbnN0IGNoYXIgTDEwNFsyMF07
CisgICAgY29uc3QgY2hhciBMMTA1WzIwXTsgY29uc3QgY2hhciBMMTA2WzI1XTsgY29uc3QgY2hh
ciBMMTA3WzE3XTsKKyAgICBjb25zdCBjaGFyIEwxMDhbMTddOyBjb25zdCBjaGFyIEwxMDlbMjZd
OyBjb25zdCBjaGFyIEwxMTBbMjZdOworICAgIGNvbnN0IGNoYXIgTDExMVsyM107IGNvbnN0IGNo
YXIgTDExMlsyM107IGNvbnN0IGNoYXIgTDExM1sxOF07CisgICAgY29uc3QgY2hhciBMMTE0WzE4
XTsgY29uc3QgY2hhciBMMTE1WzE2XTsgY29uc3QgY2hhciBMMTE2WzE2XTsKKyAgICBjb25zdCBj
aGFyIEwxMTdbMTNdOyBjb25zdCBjaGFyIEwxMThbMTRdOyBjb25zdCBjaGFyIEwxMTlbMTZdOwor
ICAgIGNvbnN0IGNoYXIgTDEyMFsyM107IGNvbnN0IGNoYXIgTDEyMVsxNF07IGNvbnN0IGNoYXIg
TDEyMlsxNl07CisgICAgY29uc3QgY2hhciBMMTIzWzIwXTsgY29uc3QgY2hhciBMMTI0WzE1XTsg
Y29uc3QgY2hhciBMMTI1WzE5XTsKKyAgICBjb25zdCBjaGFyIEwxMjZbMTVdOyBjb25zdCBjaGFy
IEwxMjdbMTNdOyBjb25zdCBjaGFyIEwxMjhbMTVdOworICAgIGNvbnN0IGNoYXIgTDEyOVsxNV07
IGNvbnN0IGNoYXIgTDEzMFsxNF07IGNvbnN0IGNoYXIgTDEzMVsxOF07CisgICAgY29uc3QgY2hh
ciBMMTMyWzE4XTsgY29uc3QgY2hhciBMMTMzWzE3XTsgY29uc3QgY2hhciBMMTM0WzE0XTsKKyAg
ICBjb25zdCBjaGFyIEwxMzVbMTVdOyBjb25zdCBjaGFyIEwxMzZbMTBdOyBjb25zdCBjaGFyIEwx
MzdbMTBdOworICAgIGNvbnN0IGNoYXIgTDEzOFsxMV07IGNvbnN0IGNoYXIgTDEzOVsxMV07IGNv
bnN0IGNoYXIgTDE0MFsxNF07CisgICAgY29uc3QgY2hhciBMMTQxWzEyXTsgY29uc3QgY2hhciBM
MTQyWzExXTsgY29uc3QgY2hhciBMMTQzWzExXTsKKyAgICBjb25zdCBjaGFyIEwxNDRbMThdOyBj
b25zdCBjaGFyIEwxNDVbMTRdOyBjb25zdCBjaGFyIEwxNDZbMTddOworICAgIGNvbnN0IGNoYXIg
TDE0N1sxOV07IGNvbnN0IGNoYXIgTDE0OFsxNl07IGNvbnN0IGNoYXIgTDE0OVsxOF07CisgICAg
Y29uc3QgY2hhciBMMTUwWzExXTsgY29uc3QgY2hhciBMMTUxWzI5XTsgY29uc3QgY2hhciBMMTUy
WzIxXTsKKyAgICBjb25zdCBjaGFyIEwxNTNbMjFdOyBjb25zdCBjaGFyIEwxNTRbMjNdOyBjb25z
dCBjaGFyIEwxNTVbMjNdOworICAgIGNvbnN0IGNoYXIgTDE1NlsxOF07IGNvbnN0IGNoYXIgTDE1
N1sxOF07IGNvbnN0IGNoYXIgTDE1OFsxMl07CisgICAgY29uc3QgY2hhciBMMTU5WzEyXTsgY29u
c3QgY2hhciBMMTYwWzExXTsgY29uc3QgY2hhciBMMTYxWzE1XTsKKyAgICBjb25zdCBjaGFyIEwx
NjJbMTldOyBjb25zdCBjaGFyIEwxNjNbMTZdOyBjb25zdCBjaGFyIEwxNjRbMjVdOworICAgIGNv
bnN0IGNoYXIgTDE2NVsyNV07IGNvbnN0IGNoYXIgTDE2NlsxMV07IGNvbnN0IGNoYXIgTDE2N1sy
NF07CisgICAgY29uc3QgY2hhciBMMTY4WzE1XTsgY29uc3QgY2hhciBMMTY5WzE2XTsgY29uc3Qg
Y2hhciBMMTcwWzE1XTsKKyAgICBjb25zdCBjaGFyIEwxNzFbMTRdOyBjb25zdCBjaGFyIEwxNzJb
MTRdOyBjb25zdCBjaGFyIEwxNzNbMTNdOworICAgIGNvbnN0IGNoYXIgTDE3NFsxNF07IGNvbnN0
IGNoYXIgTDE3NVsxM107IGNvbnN0IGNoYXIgTDE3NlsxM107CisgICAgY29uc3QgY2hhciBMMTc3
WzEzXTsgY29uc3QgY2hhciBMMTc4WzEzXTsgY29uc3QgY2hhciBMMTc5WzE1XTsKKyAgICBjb25z
dCBjaGFyIEwxODBbMTRdOyBjb25zdCBjaGFyIEwxODFbMTNdOyBjb25zdCBjaGFyIEwxODJbMTVd
OworICAgIGNvbnN0IGNoYXIgTDE4M1sxNV07IGNvbnN0IGNoYXIgTDE4NFsyMF07IGNvbnN0IGNo
YXIgTDE4NVsyMF07CisgICAgY29uc3QgY2hhciBMMTg2WzE3XTsgY29uc3QgY2hhciBMMTg3WzE1
XTsgY29uc3QgY2hhciBMMTg4WzE4XTsKKyAgICBjb25zdCBjaGFyIEwxODlbMTVdOyBjb25zdCBj
aGFyIEwxOTBbMTRdOyBjb25zdCBjaGFyIEwxOTFbMjNdOworICAgIGNvbnN0IGNoYXIgTDE5Mlsy
M107IGNvbnN0IGNoYXIgTDE5M1syNl07IGNvbnN0IGNoYXIgTDE5NFsxM107CisgICAgY29uc3Qg
Y2hhciBMMTk1WzEzXTsgY29uc3QgY2hhciBMMTk2WzIwXTsgY29uc3QgY2hhciBMMTk3WzIwXTsK
KyAgICBjb25zdCBjaGFyIEwxOThbMjBdOyBjb25zdCBjaGFyIEwxOTlbMjBdOyBjb25zdCBjaGFy
IEwyMDBbMjddOworICAgIGNvbnN0IGNoYXIgTDIwMVsyN107Cit9KTsKKworc3RhdGljIGNvbnN0
IHN0cnVjdCByYl92bV9pbnNuX25hbWVfaW5mb190YWcgcmJfdm1faW5zbl9uYW1lX2Jhc2UgPSB7
CisgICAgIm5vcCIgICAgICAgICAgICAgICAgICAgICAgICAgLCAiZ2V0bG9jYWwiICAgICAgICAg
ICAgICAgICAgICAsCisgICAgInNldGxvY2FsIiAgICAgICAgICAgICAgICAgICAgLCAiZ2V0Ymxv
Y2twYXJhbSIgICAgICAgICAgICAgICAsCisgICAgInNldGJsb2NrcGFyYW0iICAgICAgICAgICAg
ICAgLCAiZ2V0YmxvY2twYXJhbXByb3h5IiAgICAgICAgICAsCisgICAgImdldHNwZWNpYWwiICAg
ICAgICAgICAgICAgICAgLCAic2V0c3BlY2lhbCIgICAgICAgICAgICAgICAgICAsCisgICAgImdl
dGluc3RhbmNldmFyaWFibGUiICAgICAgICAgLCAic2V0aW5zdGFuY2V2YXJpYWJsZSIgICAgICAg
ICAsCisgICAgImdldGNsYXNzdmFyaWFibGUiICAgICAgICAgICAgLCAic2V0Y2xhc3N2YXJpYWJs
ZSIgICAgICAgICAgICAsCisgICAgImdldGNvbnN0YW50IiAgICAgICAgICAgICAgICAgLCAic2V0
Y29uc3RhbnQiICAgICAgICAgICAgICAgICAsCisgICAgImdldGdsb2JhbCIgICAgICAgICAgICAg
ICAgICAgLCAic2V0Z2xvYmFsIiAgICAgICAgICAgICAgICAgICAsCisgICAgInB1dG5pbCIgICAg
ICAgICAgICAgICAgICAgICAgLCAicHV0c2VsZiIgICAgICAgICAgICAgICAgICAgICAsCisgICAg
InB1dG9iamVjdCIgICAgICAgICAgICAgICAgICAgLCAicHV0c3BlY2lhbG9iamVjdCIgICAgICAg
ICAgICAsCisgICAgInB1dGlzZXEiICAgICAgICAgICAgICAgICAgICAgLCAicHV0c3RyaW5nIiAg
ICAgICAgICAgICAgICAgICAsCisgICAgImNvbmNhdHN0cmluZ3MiICAgICAgICAgICAgICAgLCAi
dG9zdHJpbmciICAgICAgICAgICAgICAgICAgICAsCisgICAgImZyZWV6ZXN0cmluZyIgICAgICAg
ICAgICAgICAgLCAidG9yZWdleHAiICAgICAgICAgICAgICAgICAgICAsCisgICAgImludGVybiIg
ICAgICAgICAgICAgICAgICAgICAgLCAibmV3YXJyYXkiICAgICAgICAgICAgICAgICAgICAsCisg
ICAgImR1cGFycmF5IiAgICAgICAgICAgICAgICAgICAgLCAiZHVwaGFzaCIgICAgICAgICAgICAg
ICAgICAgICAsCisgICAgImV4cGFuZGFycmF5IiAgICAgICAgICAgICAgICAgLCAiY29uY2F0YXJy
YXkiICAgICAgICAgICAgICAgICAsCisgICAgInNwbGF0YXJyYXkiICAgICAgICAgICAgICAgICAg
LCAibmV3aGFzaCIgICAgICAgICAgICAgICAgICAgICAsCisgICAgIm5ld3JhbmdlIiAgICAgICAg
ICAgICAgICAgICAgLCAicG9wIiAgICAgICAgICAgICAgICAgICAgICAgICAsCisgICAgImR1cCIg
ICAgICAgICAgICAgICAgICAgICAgICAgLCAiZHVwbiIgICAgICAgICAgICAgICAgICAgICAgICAs
CisgICAgInN3YXAiICAgICAgICAgICAgICAgICAgICAgICAgLCAicmV2ZXJzZSIgICAgICAgICAg
ICAgICAgICAgICAsCisgICAgInJlcHV0IiAgICAgICAgICAgICAgICAgICAgICAgLCAidG9wbiIg
ICAgICAgICAgICAgICAgICAgICAgICAsCisgICAgInNldG4iICAgICAgICAgICAgICAgICAgICAg
ICAgLCAiYWRqdXN0c3RhY2siICAgICAgICAgICAgICAgICAsCisgICAgImRlZmluZWQiICAgICAg
ICAgICAgICAgICAgICAgLCAiY2hlY2ttYXRjaCIgICAgICAgICAgICAgICAgICAsCisgICAgImNo
ZWNra2V5d29yZCIgICAgICAgICAgICAgICAgLCAiY2hlY2t0eXBlIiAgICAgICAgICAgICAgICAg
ICAsCisgICAgImRlZmluZWNsYXNzIiAgICAgICAgICAgICAgICAgLCAic2VuZCIgICAgICAgICAg
ICAgICAgICAgICAgICAsCisgICAgIm9wdF9zZW5kX3dpdGhvdXRfYmxvY2siICAgICAgLCAib3B0
X3N0cl9mcmVlemUiICAgICAgICAgICAgICAsCisgICAgIm9wdF9zdHJfdW1pbnVzIiAgICAgICAg
ICAgICAgLCAib3B0X25ld2FycmF5X21heCIgICAgICAgICAgICAsCisgICAgIm9wdF9uZXdhcnJh
eV9taW4iICAgICAgICAgICAgLCAiaW52b2tlc3VwZXIiICAgICAgICAgICAgICAgICAsCisgICAg
Imludm9rZWJsb2NrIiAgICAgICAgICAgICAgICAgLCAibGVhdmUiICAgICAgICAgICAgICAgICAg
ICAgICAsCisgICAgInRocm93IiAgICAgICAgICAgICAgICAgICAgICAgLCAianVtcCIgICAgICAg
ICAgICAgICAgICAgICAgICAsCisgICAgImJyYW5jaGlmIiAgICAgICAgICAgICAgICAgICAgLCAi
YnJhbmNodW5sZXNzIiAgICAgICAgICAgICAgICAsCisgICAgImJyYW5jaG5pbCIgICAgICAgICAg
ICAgICAgICAgLCAib3B0X2dldGlubGluZWNhY2hlIiAgICAgICAgICAsCisgICAgIm9wdF9zZXRp
bmxpbmVjYWNoZSIgICAgICAgICAgLCAib25jZSIgICAgICAgICAgICAgICAgICAgICAgICAsCisg
ICAgIm9wdF9jYXNlX2Rpc3BhdGNoIiAgICAgICAgICAgLCAib3B0X3BsdXMiICAgICAgICAgICAg
ICAgICAgICAsCisgICAgIm9wdF9taW51cyIgICAgICAgICAgICAgICAgICAgLCAib3B0X211bHQi
ICAgICAgICAgICAgICAgICAgICAsCisgICAgIm9wdF9kaXYiICAgICAgICAgICAgICAgICAgICAg
LCAib3B0X21vZCIgICAgICAgICAgICAgICAgICAgICAsCisgICAgIm9wdF9lcSIgICAgICAgICAg
ICAgICAgICAgICAgLCAib3B0X25lcSIgICAgICAgICAgICAgICAgICAgICAsCisgICAgIm9wdF9s
dCIgICAgICAgICAgICAgICAgICAgICAgLCAib3B0X2xlIiAgICAgICAgICAgICAgICAgICAgICAs
CisgICAgIm9wdF9ndCIgICAgICAgICAgICAgICAgICAgICAgLCAib3B0X2dlIiAgICAgICAgICAg
ICAgICAgICAgICAsCisgICAgIm9wdF9sdGx0IiAgICAgICAgICAgICAgICAgICAgLCAib3B0X2Fu
ZCIgICAgICAgICAgICAgICAgICAgICAsCisgICAgIm9wdF9vciIgICAgICAgICAgICAgICAgICAg
ICAgLCAib3B0X2FyZWYiICAgICAgICAgICAgICAgICAgICAsCisgICAgIm9wdF9hc2V0IiAgICAg
ICAgICAgICAgICAgICAgLCAib3B0X2FzZXRfd2l0aCIgICAgICAgICAgICAgICAsCisgICAgIm9w
dF9hcmVmX3dpdGgiICAgICAgICAgICAgICAgLCAib3B0X2xlbmd0aCIgICAgICAgICAgICAgICAg
ICAsCisgICAgIm9wdF9zaXplIiAgICAgICAgICAgICAgICAgICAgLCAib3B0X2VtcHR5X3AiICAg
ICAgICAgICAgICAgICAsCisgICAgIm9wdF9zdWNjIiAgICAgICAgICAgICAgICAgICAgLCAib3B0
X25vdCIgICAgICAgICAgICAgICAgICAgICAsCisgICAgIm9wdF9yZWdleHBtYXRjaDEiICAgICAg
ICAgICAgLCAib3B0X3JlZ2V4cG1hdGNoMiIgICAgICAgICAgICAsCisgICAgIm9wdF9jYWxsX2Nf
ZnVuY3Rpb24iICAgICAgICAgLCAiYml0Ymx0IiAgICAgICAgICAgICAgICAgICAgICAsCisgICAg
ImFuc3dlciIgICAgICAgICAgICAgICAgICAgICAgLCAiZ2V0bG9jYWxfV0NfMCIgICAgICAgICAg
ICAgICAsCisgICAgImdldGxvY2FsX1dDXzEiICAgICAgICAgICAgICAgLCAic2V0bG9jYWxfV0Nf
MCIgICAgICAgICAgICAgICAsCisgICAgInNldGxvY2FsX1dDXzEiICAgICAgICAgICAgICAgLCAi
cHV0b2JqZWN0X0lOVDJGSVhfMF8iICAgICAgICAsCisgICAgInB1dG9iamVjdF9JTlQyRklYXzFf
IiAgICAgICAgLCAidHJhY2Vfbm9wIiAgICAgICAgICAgICAgICAgICAsCisgICAgInRyYWNlX2dl
dGxvY2FsIiAgICAgICAgICAgICAgLCAidHJhY2Vfc2V0bG9jYWwiICAgICAgICAgICAgICAsCisg
ICAgInRyYWNlX2dldGJsb2NrcGFyYW0iICAgICAgICAgLCAidHJhY2Vfc2V0YmxvY2twYXJhbSIg
ICAgICAgICAsCisgICAgInRyYWNlX2dldGJsb2NrcGFyYW1wcm94eSIgICAgLCAidHJhY2VfZ2V0
c3BlY2lhbCIgICAgICAgICAgICAsCisgICAgInRyYWNlX3NldHNwZWNpYWwiICAgICAgICAgICAg
LCAidHJhY2VfZ2V0aW5zdGFuY2V2YXJpYWJsZSIgICAsCisgICAgInRyYWNlX3NldGluc3RhbmNl
dmFyaWFibGUiICAgLCAidHJhY2VfZ2V0Y2xhc3N2YXJpYWJsZSIgICAgICAsCisgICAgInRyYWNl
X3NldGNsYXNzdmFyaWFibGUiICAgICAgLCAidHJhY2VfZ2V0Y29uc3RhbnQiICAgICAgICAgICAs
CisgICAgInRyYWNlX3NldGNvbnN0YW50IiAgICAgICAgICAgLCAidHJhY2VfZ2V0Z2xvYmFsIiAg
ICAgICAgICAgICAsCisgICAgInRyYWNlX3NldGdsb2JhbCIgICAgICAgICAgICAgLCAidHJhY2Vf
cHV0bmlsIiAgICAgICAgICAgICAgICAsCisgICAgInRyYWNlX3B1dHNlbGYiICAgICAgICAgICAg
ICAgLCAidHJhY2VfcHV0b2JqZWN0IiAgICAgICAgICAgICAsCisgICAgInRyYWNlX3B1dHNwZWNp
YWxvYmplY3QiICAgICAgLCAidHJhY2VfcHV0aXNlcSIgICAgICAgICAgICAgICAsCisgICAgInRy
YWNlX3B1dHN0cmluZyIgICAgICAgICAgICAgLCAidHJhY2VfY29uY2F0c3RyaW5ncyIgICAgICAg
ICAsCisgICAgInRyYWNlX3Rvc3RyaW5nIiAgICAgICAgICAgICAgLCAidHJhY2VfZnJlZXplc3Ry
aW5nIiAgICAgICAgICAsCisgICAgInRyYWNlX3RvcmVnZXhwIiAgICAgICAgICAgICAgLCAidHJh
Y2VfaW50ZXJuIiAgICAgICAgICAgICAgICAsCisgICAgInRyYWNlX25ld2FycmF5IiAgICAgICAg
ICAgICAgLCAidHJhY2VfZHVwYXJyYXkiICAgICAgICAgICAgICAsCisgICAgInRyYWNlX2R1cGhh
c2giICAgICAgICAgICAgICAgLCAidHJhY2VfZXhwYW5kYXJyYXkiICAgICAgICAgICAsCisgICAg
InRyYWNlX2NvbmNhdGFycmF5IiAgICAgICAgICAgLCAidHJhY2Vfc3BsYXRhcnJheSIgICAgICAg
ICAgICAsCisgICAgInRyYWNlX25ld2hhc2giICAgICAgICAgICAgICAgLCAidHJhY2VfbmV3cmFu
Z2UiICAgICAgICAgICAgICAsCisgICAgInRyYWNlX3BvcCIgICAgICAgICAgICAgICAgICAgLCAi
dHJhY2VfZHVwIiAgICAgICAgICAgICAgICAgICAsCisgICAgInRyYWNlX2R1cG4iICAgICAgICAg
ICAgICAgICAgLCAidHJhY2Vfc3dhcCIgICAgICAgICAgICAgICAgICAsCisgICAgInRyYWNlX3Jl
dmVyc2UiICAgICAgICAgICAgICAgLCAidHJhY2VfcmVwdXQiICAgICAgICAgICAgICAgICAsCisg
ICAgInRyYWNlX3RvcG4iICAgICAgICAgICAgICAgICAgLCAidHJhY2Vfc2V0biIgICAgICAgICAg
ICAgICAgICAsCisgICAgInRyYWNlX2FkanVzdHN0YWNrIiAgICAgICAgICAgLCAidHJhY2VfZGVm
aW5lZCIgICAgICAgICAgICAgICAsCisgICAgInRyYWNlX2NoZWNrbWF0Y2giICAgICAgICAgICAg
LCAidHJhY2VfY2hlY2trZXl3b3JkIiAgICAgICAgICAsCisgICAgInRyYWNlX2NoZWNrdHlwZSIg
ICAgICAgICAgICAgLCAidHJhY2VfZGVmaW5lY2xhc3MiICAgICAgICAgICAsCisgICAgInRyYWNl
X3NlbmQiICAgICAgICAgICAgICAgICAgLCAidHJhY2Vfb3B0X3NlbmRfd2l0aG91dF9ibG9jayIs
CisgICAgInRyYWNlX29wdF9zdHJfZnJlZXplIiAgICAgICAgLCAidHJhY2Vfb3B0X3N0cl91bWlu
dXMiICAgICAgICAsCisgICAgInRyYWNlX29wdF9uZXdhcnJheV9tYXgiICAgICAgLCAidHJhY2Vf
b3B0X25ld2FycmF5X21pbiIgICAgICAsCisgICAgInRyYWNlX2ludm9rZXN1cGVyIiAgICAgICAg
ICAgLCAidHJhY2VfaW52b2tlYmxvY2siICAgICAgICAgICAsCisgICAgInRyYWNlX2xlYXZlIiAg
ICAgICAgICAgICAgICAgLCAidHJhY2VfdGhyb3ciICAgICAgICAgICAgICAgICAsCisgICAgInRy
YWNlX2p1bXAiICAgICAgICAgICAgICAgICAgLCAidHJhY2VfYnJhbmNoaWYiICAgICAgICAgICAg
ICAsCisgICAgInRyYWNlX2JyYW5jaHVubGVzcyIgICAgICAgICAgLCAidHJhY2VfYnJhbmNobmls
IiAgICAgICAgICAgICAsCisgICAgInRyYWNlX29wdF9nZXRpbmxpbmVjYWNoZSIgICAgLCAidHJh
Y2Vfb3B0X3NldGlubGluZWNhY2hlIiAgICAsCisgICAgInRyYWNlX29uY2UiICAgICAgICAgICAg
ICAgICAgLCAidHJhY2Vfb3B0X2Nhc2VfZGlzcGF0Y2giICAgICAsCisgICAgInRyYWNlX29wdF9w
bHVzIiAgICAgICAgICAgICAgLCAidHJhY2Vfb3B0X21pbnVzIiAgICAgICAgICAgICAsCisgICAg
InRyYWNlX29wdF9tdWx0IiAgICAgICAgICAgICAgLCAidHJhY2Vfb3B0X2RpdiIgICAgICAgICAg
ICAgICAsCisgICAgInRyYWNlX29wdF9tb2QiICAgICAgICAgICAgICAgLCAidHJhY2Vfb3B0X2Vx
IiAgICAgICAgICAgICAgICAsCisgICAgInRyYWNlX29wdF9uZXEiICAgICAgICAgICAgICAgLCAi
dHJhY2Vfb3B0X2x0IiAgICAgICAgICAgICAgICAsCisgICAgInRyYWNlX29wdF9sZSIgICAgICAg
ICAgICAgICAgLCAidHJhY2Vfb3B0X2d0IiAgICAgICAgICAgICAgICAsCisgICAgInRyYWNlX29w
dF9nZSIgICAgICAgICAgICAgICAgLCAidHJhY2Vfb3B0X2x0bHQiICAgICAgICAgICAgICAsCisg
ICAgInRyYWNlX29wdF9hbmQiICAgICAgICAgICAgICAgLCAidHJhY2Vfb3B0X29yIiAgICAgICAg
ICAgICAgICAsCisgICAgInRyYWNlX29wdF9hcmVmIiAgICAgICAgICAgICAgLCAidHJhY2Vfb3B0
X2FzZXQiICAgICAgICAgICAgICAsCisgICAgInRyYWNlX29wdF9hc2V0X3dpdGgiICAgICAgICAg
LCAidHJhY2Vfb3B0X2FyZWZfd2l0aCIgICAgICAgICAsCisgICAgInRyYWNlX29wdF9sZW5ndGgi
ICAgICAgICAgICAgLCAidHJhY2Vfb3B0X3NpemUiICAgICAgICAgICAgICAsCisgICAgInRyYWNl
X29wdF9lbXB0eV9wIiAgICAgICAgICAgLCAidHJhY2Vfb3B0X3N1Y2MiICAgICAgICAgICAgICAs
CisgICAgInRyYWNlX29wdF9ub3QiICAgICAgICAgICAgICAgLCAidHJhY2Vfb3B0X3JlZ2V4cG1h
dGNoMSIgICAgICAsCisgICAgInRyYWNlX29wdF9yZWdleHBtYXRjaDIiICAgICAgLCAidHJhY2Vf
b3B0X2NhbGxfY19mdW5jdGlvbiIgICAsCisgICAgInRyYWNlX2JpdGJsdCIgICAgICAgICAgICAg
ICAgLCAidHJhY2VfYW5zd2VyIiAgICAgICAgICAgICAgICAsCisgICAgInRyYWNlX2dldGxvY2Fs
X1dDXzAiICAgICAgICAgLCAidHJhY2VfZ2V0bG9jYWxfV0NfMSIgICAgICAgICAsCisgICAgInRy
YWNlX3NldGxvY2FsX1dDXzAiICAgICAgICAgLCAidHJhY2Vfc2V0bG9jYWxfV0NfMSIgICAgICAg
ICAsCisgICAgInRyYWNlX3B1dG9iamVjdF9JTlQyRklYXzBfIiAgLCAidHJhY2VfcHV0b2JqZWN0
X0lOVDJGSVhfMV8iICAsCit9OworCitjb25zdCBjaGFyICpyYl92bV9pbnNuX25hbWVfaW5mbyA9
IChjb25zdCBjaGFyICopJnJiX3ZtX2luc25fbmFtZV9iYXNlOworI2VuZGlmCisKK2NvbnN0IGNo
YXIgKgoraW5zbl9uYW1lKFZBTFVFIGkpCit7CisgICAgcmV0dXJuICZyYl92bV9pbnNuX25hbWVf
aW5mb1tyYl92bV9pbnNuX25hbWVfb2Zmc2V0W2ldXTsKK30KKworQ09OU1RGVU5DKE1BWUJFX1VO
VVNFRChzdGF0aWMgaW50IGluc25fbGVuKFZBTFVFIGluc24pKSk7CitleHRlcm4gY29uc3QgY2hh
ciByYl92bV9pbnNuX2xlbl9pbmZvW107CisKKyNpZmRlZiBSVUJZX1ZNX0lOU05TX0lORk8KK2Nv
bnN0IGNoYXIgcmJfdm1faW5zbl9sZW5faW5mb1tdID0geworICAgIDEsIDMsIDMsIDMsIDMsIDMs
IDMsIDIsIDMsIDMsIDIsIDIsIDIsIDIsIDIsIDIsIDEsIDEsIDIsIDIsIDIsIDIsIDIsIDEsIDIs
CisgICAgMywgMSwgMiwgMiwgMiwgMywgMSwgMiwgMiwgMiwgMSwgMSwgMiwgMSwgMiwgMSwgMiwg
MiwgMiwgNCwgMiwgMywgMiwgNCwgNCwKKyAgICAzLCA0LCA0LCAyLCAyLCA0LCAyLCAxLCAyLCAy
LCAyLCAyLCAyLCAzLCAyLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCA1LCAzLAorICAgIDMsIDMs
IDMsIDMsIDMsIDMsIDMsIDMsIDQsIDQsIDMsIDMsIDMsIDMsIDMsIDIsIDMsIDIsIDEsIDEsIDIs
IDIsIDIsIDIsIDEsCisgICAgMSwgMSwgMywgMywgMywgMywgMywgMywgMiwgMywgMywgMiwgMiwg
MiwgMiwgMiwgMiwgMSwgMSwgMiwgMiwgMiwgMiwgMiwgMSwKKyAgICAyLCAzLCAxLCAyLCAyLCAy
LCAzLCAxLCAyLCAyLCAyLCAxLCAxLCAyLCAxLCAyLCAxLCAyLCAyLCAyLCA0LCAyLCAzLCAyLCA0
LAorICAgIDQsIDMsIDQsIDQsIDIsIDIsIDQsIDIsIDEsIDIsIDIsIDIsIDIsIDIsIDMsIDIsIDMs
IDMsIDMsIDMsIDMsIDMsIDMsIDMsIDUsCisgICAgMywgMywgMywgMywgMywgMywgMywgMywgMywg
NCwgNCwgMywgMywgMywgMywgMywgMiwgMywgMiwgMSwgMSwgMiwgMiwgMiwgMiwKKyAgICAxLCAx
LAorfTsKKyNlbmRpZgorCitpbnQKK2luc25fbGVuKFZBTFVFIGkpCit7CisgICAgcmV0dXJuIHJi
X3ZtX2luc25fbGVuX2luZm9baV07Cit9CisKK0NPTlNURlVOQyhNQVlCRV9VTlVTRUQoc3RhdGlj
IGNvbnN0IGNoYXIgKmluc25fb3BfdHlwZXMoVkFMVUUgaW5zbikpKTsKK0NPTlNURlVOQyhNQVlC
RV9VTlVTRUQoc3RhdGljIGludCBpbnNuX29wX3R5cGUoVkFMVUUgaW5zbiwgbG9uZyBwb3MpKSk7
CitleHRlcm4gY29uc3QgY2hhciAqcmJfdm1faW5zbl9vcF9pbmZvOworZXh0ZXJuIGNvbnN0IHVu
c2lnbmVkIHNob3J0IHJiX3ZtX2luc25fb3Bfb2Zmc2V0W107CisKKyNpZmRlZiBSVUJZX1ZNX0lO
U05TX0lORk8KK2NvbnN0IHVuc2lnbmVkIHNob3J0IHJiX3ZtX2luc25fb3Bfb2Zmc2V0W10gPSB7
CisgICAgICAwLCAgIDEsICAgNCwgICA3LCAgMTAsICAxMywgIDE2LCAgMTksICAyMSwgIDI0LCAg
MjcsICAyOSwgIDMxLCAgMzMsCisgICAgIDM1LCAgMzcsICAzOSwgIDQwLCAgNDEsICA0MywgIDQ1
LCAgNDcsICA0OSwgIDUxLCAgNTIsICA1NCwgIDU3LCAgNTgsCisgICAgIDYwLCAgNjIsICA2NCwg
IDY3LCAgNjgsICA3MCwgIDcyLCAgNzQsICA3NSwgIDc2LCAgNzgsICA3OSwgIDgxLCAgODIsCisg
ICAgIDg0LCAgODYsICA4OCwgIDkyLCAgOTQsICA5NywgIDk5LCAxMDMsIDEwNywgMTEwLCAxMTQs
IDExOCwgMTIwLCAxMjIsCisgICAgMTI2LCAxMjgsIDEyOSwgMTMxLCAxMzMsIDEzNSwgMTM3LCAx
MzksIDE0MiwgMTQ0LCAxNDcsIDE1MCwgMTUzLCAxNTYsCisgICAgMTU5LCAxNjIsIDE2NSwgMTY4
LCAxNzMsIDE3NiwgMTc5LCAxODIsIDE4NSwgMTg4LCAxOTEsIDE5NCwgMTk3LCAyMDAsCisgICAg
MjA0LCAyMDgsIDIxMSwgMjE0LCAyMTcsIDIyMCwgMjIzLCAyMjUsIDIyOCwgMjMwLCAyMzEsIDIz
MiwgMjM0LCAyMzYsCisgICAgMjM4LCAyNDAsIDI0MSwgMjQyLCAyNDMsIDI0NiwgMjQ5LCAyNTIs
IDI1NSwgMjU4LCAyNjEsIDI2MywgMjY2LCAyNjksCisgICAgMjcxLCAyNzMsIDI3NSwgMjc3LCAy
NzksIDI4MSwgMjgyLCAyODMsIDI4NSwgMjg3LCAyODksIDI5MSwgMjkzLCAyOTQsCisgICAgMjk2
LCAyOTksIDMwMCwgMzAyLCAzMDQsIDMwNiwgMzA5LCAzMTAsIDMxMiwgMzE0LCAzMTYsIDMxNywg
MzE4LCAzMjAsCisgICAgMzIxLCAzMjMsIDMyNCwgMzI2LCAzMjgsIDMzMCwgMzM0LCAzMzYsIDMz
OSwgMzQxLCAzNDUsIDM0OSwgMzUyLCAzNTYsCisgICAgMzYwLCAzNjIsIDM2NCwgMzY4LCAzNzAs
IDM3MSwgMzczLCAzNzUsIDM3NywgMzc5LCAzODEsIDM4NCwgMzg2LCAzODksCisgICAgMzkyLCAz
OTUsIDM5OCwgNDAxLCA0MDQsIDQwNywgNDEwLCA0MTUsIDQxOCwgNDIxLCA0MjQsIDQyNywgNDMw
LCA0MzMsCisgICAgNDM2LCA0MzksIDQ0MiwgNDQ2LCA0NTAsIDQ1MywgNDU2LCA0NTksIDQ2Miwg
NDY1LCA0NjcsIDQ3MCwgNDcyLCA0NzMsCisgICAgNDc0LCA0NzYsIDQ3OCwgNDgwLCA0ODIsIDQ4
MywKK307CitBU1NFUlRfVk1fSU5TVFJVQ1RJT05fU0laRShyYl92bV9pbnNuX29wX29mZnNldCk7
CisKK1BBQ0tFRF9TVFJVQ1Qoc3RydWN0IHJiX3ZtX2luc25fb3BfaW5mb190YWcgeworICAgIGNv
bnN0IGNoYXIgTDAwMFsgMV07IGNvbnN0IGNoYXIgTDAwMVsgM107IGNvbnN0IGNoYXIgTDAwMlsg
M107CisgICAgY29uc3QgY2hhciBMMDAzWyAzXTsgY29uc3QgY2hhciBMMDA0WyAzXTsgY29uc3Qg
Y2hhciBMMDA1WyAzXTsKKyAgICBjb25zdCBjaGFyIEwwMDZbIDNdOyBjb25zdCBjaGFyIEwwMDdb
IDJdOyBjb25zdCBjaGFyIEwwMDhbIDNdOworICAgIGNvbnN0IGNoYXIgTDAwOVsgM107IGNvbnN0
IGNoYXIgTDAxMFsgMl07IGNvbnN0IGNoYXIgTDAxMVsgMl07CisgICAgY29uc3QgY2hhciBMMDEy
WyAyXTsgY29uc3QgY2hhciBMMDEzWyAyXTsgY29uc3QgY2hhciBMMDE0WyAyXTsKKyAgICBjb25z
dCBjaGFyIEwwMTVbIDJdOyBjb25zdCBjaGFyIEwwMTZbIDFdOyBjb25zdCBjaGFyIEwwMTdbIDFd
OworICAgIGNvbnN0IGNoYXIgTDAxOFsgMl07IGNvbnN0IGNoYXIgTDAxOVsgMl07IGNvbnN0IGNo
YXIgTDAyMFsgMl07CisgICAgY29uc3QgY2hhciBMMDIxWyAyXTsgY29uc3QgY2hhciBMMDIyWyAy
XTsgY29uc3QgY2hhciBMMDIzWyAxXTsKKyAgICBjb25zdCBjaGFyIEwwMjRbIDJdOyBjb25zdCBj
aGFyIEwwMjVbIDNdOyBjb25zdCBjaGFyIEwwMjZbIDFdOworICAgIGNvbnN0IGNoYXIgTDAyN1sg
Ml07IGNvbnN0IGNoYXIgTDAyOFsgMl07IGNvbnN0IGNoYXIgTDAyOVsgMl07CisgICAgY29uc3Qg
Y2hhciBMMDMwWyAzXTsgY29uc3QgY2hhciBMMDMxWyAxXTsgY29uc3QgY2hhciBMMDMyWyAyXTsK
KyAgICBjb25zdCBjaGFyIEwwMzNbIDJdOyBjb25zdCBjaGFyIEwwMzRbIDJdOyBjb25zdCBjaGFy
IEwwMzVbIDFdOworICAgIGNvbnN0IGNoYXIgTDAzNlsgMV07IGNvbnN0IGNoYXIgTDAzN1sgMl07
IGNvbnN0IGNoYXIgTDAzOFsgMV07CisgICAgY29uc3QgY2hhciBMMDM5WyAyXTsgY29uc3QgY2hh
ciBMMDQwWyAxXTsgY29uc3QgY2hhciBMMDQxWyAyXTsKKyAgICBjb25zdCBjaGFyIEwwNDJbIDJd
OyBjb25zdCBjaGFyIEwwNDNbIDJdOyBjb25zdCBjaGFyIEwwNDRbIDRdOworICAgIGNvbnN0IGNo
YXIgTDA0NVsgMl07IGNvbnN0IGNoYXIgTDA0NlsgM107IGNvbnN0IGNoYXIgTDA0N1sgMl07Cisg
ICAgY29uc3QgY2hhciBMMDQ4WyA0XTsgY29uc3QgY2hhciBMMDQ5WyA0XTsgY29uc3QgY2hhciBM
MDUwWyAzXTsKKyAgICBjb25zdCBjaGFyIEwwNTFbIDRdOyBjb25zdCBjaGFyIEwwNTJbIDRdOyBj
b25zdCBjaGFyIEwwNTNbIDJdOworICAgIGNvbnN0IGNoYXIgTDA1NFsgMl07IGNvbnN0IGNoYXIg
TDA1NVsgNF07IGNvbnN0IGNoYXIgTDA1NlsgMl07CisgICAgY29uc3QgY2hhciBMMDU3WyAxXTsg
Y29uc3QgY2hhciBMMDU4WyAyXTsgY29uc3QgY2hhciBMMDU5WyAyXTsKKyAgICBjb25zdCBjaGFy
IEwwNjBbIDJdOyBjb25zdCBjaGFyIEwwNjFbIDJdOyBjb25zdCBjaGFyIEwwNjJbIDJdOworICAg
IGNvbnN0IGNoYXIgTDA2M1sgM107IGNvbnN0IGNoYXIgTDA2NFsgMl07IGNvbnN0IGNoYXIgTDA2
NVsgM107CisgICAgY29uc3QgY2hhciBMMDY2WyAzXTsgY29uc3QgY2hhciBMMDY3WyAzXTsgY29u
c3QgY2hhciBMMDY4WyAzXTsKKyAgICBjb25zdCBjaGFyIEwwNjlbIDNdOyBjb25zdCBjaGFyIEww
NzBbIDNdOyBjb25zdCBjaGFyIEwwNzFbIDNdOworICAgIGNvbnN0IGNoYXIgTDA3MlsgM107IGNv
bnN0IGNoYXIgTDA3M1sgNV07IGNvbnN0IGNoYXIgTDA3NFsgM107CisgICAgY29uc3QgY2hhciBM
MDc1WyAzXTsgY29uc3QgY2hhciBMMDc2WyAzXTsgY29uc3QgY2hhciBMMDc3WyAzXTsKKyAgICBj
b25zdCBjaGFyIEwwNzhbIDNdOyBjb25zdCBjaGFyIEwwNzlbIDNdOyBjb25zdCBjaGFyIEwwODBb
IDNdOworICAgIGNvbnN0IGNoYXIgTDA4MVsgM107IGNvbnN0IGNoYXIgTDA4MlsgM107IGNvbnN0
IGNoYXIgTDA4M1sgNF07CisgICAgY29uc3QgY2hhciBMMDg0WyA0XTsgY29uc3QgY2hhciBMMDg1
WyAzXTsgY29uc3QgY2hhciBMMDg2WyAzXTsKKyAgICBjb25zdCBjaGFyIEwwODdbIDNdOyBjb25z
dCBjaGFyIEwwODhbIDNdOyBjb25zdCBjaGFyIEwwODlbIDNdOworICAgIGNvbnN0IGNoYXIgTDA5
MFsgMl07IGNvbnN0IGNoYXIgTDA5MVsgM107IGNvbnN0IGNoYXIgTDA5MlsgMl07CisgICAgY29u
c3QgY2hhciBMMDkzWyAxXTsgY29uc3QgY2hhciBMMDk0WyAxXTsgY29uc3QgY2hhciBMMDk1WyAy
XTsKKyAgICBjb25zdCBjaGFyIEwwOTZbIDJdOyBjb25zdCBjaGFyIEwwOTdbIDJdOyBjb25zdCBj
aGFyIEwwOThbIDJdOworICAgIGNvbnN0IGNoYXIgTDA5OVsgMV07IGNvbnN0IGNoYXIgTDEwMFsg
MV07IGNvbnN0IGNoYXIgTDEwMVsgMV07CisgICAgY29uc3QgY2hhciBMMTAyWyAzXTsgY29uc3Qg
Y2hhciBMMTAzWyAzXTsgY29uc3QgY2hhciBMMTA0WyAzXTsKKyAgICBjb25zdCBjaGFyIEwxMDVb
IDNdOyBjb25zdCBjaGFyIEwxMDZbIDNdOyBjb25zdCBjaGFyIEwxMDdbIDNdOworICAgIGNvbnN0
IGNoYXIgTDEwOFsgMl07IGNvbnN0IGNoYXIgTDEwOVsgM107IGNvbnN0IGNoYXIgTDExMFsgM107
CisgICAgY29uc3QgY2hhciBMMTExWyAyXTsgY29uc3QgY2hhciBMMTEyWyAyXTsgY29uc3QgY2hh
ciBMMTEzWyAyXTsKKyAgICBjb25zdCBjaGFyIEwxMTRbIDJdOyBjb25zdCBjaGFyIEwxMTVbIDJd
OyBjb25zdCBjaGFyIEwxMTZbIDJdOworICAgIGNvbnN0IGNoYXIgTDExN1sgMV07IGNvbnN0IGNo
YXIgTDExOFsgMV07IGNvbnN0IGNoYXIgTDExOVsgMl07CisgICAgY29uc3QgY2hhciBMMTIwWyAy
XTsgY29uc3QgY2hhciBMMTIxWyAyXTsgY29uc3QgY2hhciBMMTIyWyAyXTsKKyAgICBjb25zdCBj
aGFyIEwxMjNbIDJdOyBjb25zdCBjaGFyIEwxMjRbIDFdOyBjb25zdCBjaGFyIEwxMjVbIDJdOwor
ICAgIGNvbnN0IGNoYXIgTDEyNlsgM107IGNvbnN0IGNoYXIgTDEyN1sgMV07IGNvbnN0IGNoYXIg
TDEyOFsgMl07CisgICAgY29uc3QgY2hhciBMMTI5WyAyXTsgY29uc3QgY2hhciBMMTMwWyAyXTsg
Y29uc3QgY2hhciBMMTMxWyAzXTsKKyAgICBjb25zdCBjaGFyIEwxMzJbIDFdOyBjb25zdCBjaGFy
IEwxMzNbIDJdOyBjb25zdCBjaGFyIEwxMzRbIDJdOworICAgIGNvbnN0IGNoYXIgTDEzNVsgMl07
IGNvbnN0IGNoYXIgTDEzNlsgMV07IGNvbnN0IGNoYXIgTDEzN1sgMV07CisgICAgY29uc3QgY2hh
ciBMMTM4WyAyXTsgY29uc3QgY2hhciBMMTM5WyAxXTsgY29uc3QgY2hhciBMMTQwWyAyXTsKKyAg
ICBjb25zdCBjaGFyIEwxNDFbIDFdOyBjb25zdCBjaGFyIEwxNDJbIDJdOyBjb25zdCBjaGFyIEwx
NDNbIDJdOworICAgIGNvbnN0IGNoYXIgTDE0NFsgMl07IGNvbnN0IGNoYXIgTDE0NVsgNF07IGNv
bnN0IGNoYXIgTDE0NlsgMl07CisgICAgY29uc3QgY2hhciBMMTQ3WyAzXTsgY29uc3QgY2hhciBM
MTQ4WyAyXTsgY29uc3QgY2hhciBMMTQ5WyA0XTsKKyAgICBjb25zdCBjaGFyIEwxNTBbIDRdOyBj
b25zdCBjaGFyIEwxNTFbIDNdOyBjb25zdCBjaGFyIEwxNTJbIDRdOworICAgIGNvbnN0IGNoYXIg
TDE1M1sgNF07IGNvbnN0IGNoYXIgTDE1NFsgMl07IGNvbnN0IGNoYXIgTDE1NVsgMl07CisgICAg
Y29uc3QgY2hhciBMMTU2WyA0XTsgY29uc3QgY2hhciBMMTU3WyAyXTsgY29uc3QgY2hhciBMMTU4
WyAxXTsKKyAgICBjb25zdCBjaGFyIEwxNTlbIDJdOyBjb25zdCBjaGFyIEwxNjBbIDJdOyBjb25z
dCBjaGFyIEwxNjFbIDJdOworICAgIGNvbnN0IGNoYXIgTDE2MlsgMl07IGNvbnN0IGNoYXIgTDE2
M1sgMl07IGNvbnN0IGNoYXIgTDE2NFsgM107CisgICAgY29uc3QgY2hhciBMMTY1WyAyXTsgY29u
c3QgY2hhciBMMTY2WyAzXTsgY29uc3QgY2hhciBMMTY3WyAzXTsKKyAgICBjb25zdCBjaGFyIEwx
NjhbIDNdOyBjb25zdCBjaGFyIEwxNjlbIDNdOyBjb25zdCBjaGFyIEwxNzBbIDNdOworICAgIGNv
bnN0IGNoYXIgTDE3MVsgM107IGNvbnN0IGNoYXIgTDE3MlsgM107IGNvbnN0IGNoYXIgTDE3M1sg
M107CisgICAgY29uc3QgY2hhciBMMTc0WyA1XTsgY29uc3QgY2hhciBMMTc1WyAzXTsgY29uc3Qg
Y2hhciBMMTc2WyAzXTsKKyAgICBjb25zdCBjaGFyIEwxNzdbIDNdOyBjb25zdCBjaGFyIEwxNzhb
IDNdOyBjb25zdCBjaGFyIEwxNzlbIDNdOworICAgIGNvbnN0IGNoYXIgTDE4MFsgM107IGNvbnN0
IGNoYXIgTDE4MVsgM107IGNvbnN0IGNoYXIgTDE4MlsgM107CisgICAgY29uc3QgY2hhciBMMTgz
WyAzXTsgY29uc3QgY2hhciBMMTg0WyA0XTsgY29uc3QgY2hhciBMMTg1WyA0XTsKKyAgICBjb25z
dCBjaGFyIEwxODZbIDNdOyBjb25zdCBjaGFyIEwxODdbIDNdOyBjb25zdCBjaGFyIEwxODhbIDNd
OworICAgIGNvbnN0IGNoYXIgTDE4OVsgM107IGNvbnN0IGNoYXIgTDE5MFsgM107IGNvbnN0IGNo
YXIgTDE5MVsgMl07CisgICAgY29uc3QgY2hhciBMMTkyWyAzXTsgY29uc3QgY2hhciBMMTkzWyAy
XTsgY29uc3QgY2hhciBMMTk0WyAxXTsKKyAgICBjb25zdCBjaGFyIEwxOTVbIDFdOyBjb25zdCBj
aGFyIEwxOTZbIDJdOyBjb25zdCBjaGFyIEwxOTdbIDJdOworICAgIGNvbnN0IGNoYXIgTDE5OFsg
Ml07IGNvbnN0IGNoYXIgTDE5OVsgMl07IGNvbnN0IGNoYXIgTDIwMFsgMV07CisgICAgY29uc3Qg
Y2hhciBMMjAxWyAxXTsKK30pOworCitzdGF0aWMgY29uc3Qgc3RydWN0IHJiX3ZtX2luc25fb3Bf
aW5mb190YWcgcmJfdm1faW5zbl9vcF9iYXNlID0geworICAgICIiICAgICwgIkxOIiAgLCAiTE4i
ICAsICJMTiIgICwgIkxOIiAgLCAiTE4iICAsICJOTiIgICwgIk4iICAgLAorICAgICJJSyIgICwg
IklLIiAgLCAiSSIgICAsICJJIiAgICwgIkkiICAgLCAiSSIgICAsICJHIiAgICwgIkciICAgLAor
ICAgICIiICAgICwgIiIgICAgLCAiViIgICAsICJOIiAgICwgIlMiICAgLCAiViIgICAsICJOIiAg
ICwgIiIgICAgLAorICAgICJWIiAgICwgIk5OIiAgLCAiIiAgICAsICJOIiAgICwgIlYiICAgLCAi
ViIgICAsICJOTiIgICwgIiIgICAgLAorICAgICJWIiAgICwgIk4iICAgLCAiTiIgICAsICIiICAg
ICwgIiIgICAgLCAiTiIgICAsICIiICAgICwgIk4iICAgLAorICAgICIiICAgICwgIk4iICAgLCAi
TiIgICAsICJOIiAgICwgIk5WViIgLCAiTiIgICAsICJMTCIgICwgIk4iICAgLAorICAgICJJU04i
ICwgIkNFUyIgLCAiQ0UiICAsICJWQ0UiICwgIlZDRSIgLCAiTiIgICAsICJOIiAgICwgIkNFUyIg
LAorICAgICJDIiAgICwgIiIgICAgLCAiTiIgICAsICJPIiAgICwgIk8iICAgLCAiTyIgICAsICJP
IiAgICwgIk9LIiAgLAorICAgICJLIiAgICwgIlNUIiAgLCAiSE8iICAsICJDRSIgICwgIkNFIiAg
LCAiQ0UiICAsICJDRSIgICwgIkNFIiAgLAorICAgICJDRSIgICwgIkNFQ0UiLCAiQ0UiICAsICJD
RSIgICwgIkNFIiAgLCAiQ0UiICAsICJDRSIgICwgIkNFIiAgLAorICAgICJDRSIgICwgIkNFIiAg
LCAiQ0UiICAsICJWQ0UiICwgIlZDRSIgLCAiQ0UiICAsICJDRSIgICwgIkNFIiAgLAorICAgICJD
RSIgICwgIkNFIiAgLCAiViIgICAsICJDRSIgICwgIkYiICAgLCAiIiAgICAsICIiICAgICwgIkwi
ICAgLAorICAgICJMIiAgICwgIkwiICAgLCAiTCIgICAsICIiICAgICwgIiIgICAgLCAiIiAgICAs
ICJMTiIgICwgIkxOIiAgLAorICAgICJMTiIgICwgIkxOIiAgLCAiTE4iICAsICJOTiIgICwgIk4i
ICAgLCAiSUsiICAsICJJSyIgICwgIkkiICAgLAorICAgICJJIiAgICwgIkkiICAgLCAiSSIgICAs
ICJHIiAgICwgIkciICAgLCAiIiAgICAsICIiICAgICwgIlYiICAgLAorICAgICJOIiAgICwgIlMi
ICAgLCAiViIgICAsICJOIiAgICwgIiIgICAgLCAiViIgICAsICJOTiIgICwgIiIgICAgLAorICAg
ICJOIiAgICwgIlYiICAgLCAiViIgICAsICJOTiIgICwgIiIgICAgLCAiViIgICAsICJOIiAgICwg
Ik4iICAgLAorICAgICIiICAgICwgIiIgICAgLCAiTiIgICAsICIiICAgICwgIk4iICAgLCAiIiAg
ICAsICJOIiAgICwgIk4iICAgLAorICAgICJOIiAgICwgIk5WViIgLCAiTiIgICAsICJMTCIgICwg
Ik4iICAgLCAiSVNOIiAsICJDRVMiICwgIkNFIiAgLAorICAgICJWQ0UiICwgIlZDRSIgLCAiTiIg
ICAsICJOIiAgICwgIkNFUyIgLCAiQyIgICAsICIiICAgICwgIk4iICAgLAorICAgICJPIiAgICwg
Ik8iICAgLCAiTyIgICAsICJPIiAgICwgIk9LIiAgLCAiSyIgICAsICJTVCIgICwgIkhPIiAgLAor
ICAgICJDRSIgICwgIkNFIiAgLCAiQ0UiICAsICJDRSIgICwgIkNFIiAgLCAiQ0UiICAsICJDRUNF
IiwgIkNFIiAgLAorICAgICJDRSIgICwgIkNFIiAgLCAiQ0UiICAsICJDRSIgICwgIkNFIiAgLCAi
Q0UiICAsICJDRSIgICwgIkNFIiAgLAorICAgICJWQ0UiICwgIlZDRSIgLCAiQ0UiICAsICJDRSIg
ICwgIkNFIiAgLCAiQ0UiICAsICJDRSIgICwgIlYiICAgLAorICAgICJDRSIgICwgIkYiICAgLCAi
IiAgICAsICIiICAgICwgIkwiICAgLCAiTCIgICAsICJMIiAgICwgIkwiICAgLAorICAgICIiICAg
ICwgIiIgICAgLAorfTsKKworY29uc3QgY2hhciAqcmJfdm1faW5zbl9vcF9pbmZvID0gKGNvbnN0
IGNoYXIgKikmcmJfdm1faW5zbl9vcF9iYXNlOworI2VuZGlmCisKK2NvbnN0IGNoYXIgKgoraW5z
bl9vcF90eXBlcyhWQUxVRSBpKQoreworICAgIHJldHVybiAmcmJfdm1faW5zbl9vcF9pbmZvW3Ji
X3ZtX2luc25fb3Bfb2Zmc2V0W2ldXTsKK30KKworaW50CitpbnNuX29wX3R5cGUoVkFMVUUgaSwg
bG9uZyBqKQoreworICAgIGlmIChqID49IGluc25fbGVuKGkpKSB7CisgICAgICAgIHJldHVybiAw
OworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgcmV0dXJuIGluc25fb3BfdHlwZXMoaSlbal07
CisgICAgfQorfQorCisKK3N0YXRpYyBib29sCitsZWFmbmVzc19vZl9nZXRnbG9iYWwoVkFMVUUg
Z2VudHJ5KQoreworICAgIGNvbnN0IHN0cnVjdCByYl9nbG9iYWxfZW50cnkgKmUgPSAodm9pZCAq
KWdlbnRyeTsKKworICAgIGlmIChVTkxJS0VMWShyYl9ndmFyX2lzX3RyYWNlZChlKSkpIHsKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgLyogV2UgY2Fu
bm90IHdyaXRlIHRoaXMgZnVuY3Rpb24gdXNpbmcgYSBzd2l0Y2goKSBiZWNhdXNlIGEKKyAgICAg
ICAgICogY2FzZSBsYWJlbCBjYW5ub3QgYmUgYSBmdW5jdGlvbiBwb2ludGVyLiAqLworICAgICAg
ICBzdGF0aWMgcmJfZ3Zhcl9nZXR0ZXJfdCAqY29uc3QgYWxsb3dsaXN0W10gPSB7CisgICAgICAg
ICAgICByYl9ndmFyX3ZhbF9nZXR0ZXIsCisgICAgICAgICAgICByYl9ndmFyX3Zhcl9nZXR0ZXIs
CisgICAgICAgICAgICByYl9ndmFyX3VuZGVmX2dldHRlciwKKyAgICAgICAgfTsKKyAgICAgICAg
cmJfZ3Zhcl9nZXR0ZXJfdCAqZiA9IHJiX2d2YXJfZ2V0dGVyX2Z1bmN0aW9uX29mKGUpOworICAg
ICAgICBpbnQgaTsKKworICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbnVtYmVyb2YoYWxsb3dsaXN0
KTsgaSsrKSB7CisgICAgICAgICAgICBpZiAoZiA9PSBhbGxvd2xpc3RbaV0pIHsKKyAgICAgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgfQorfQorCitzdGF0aWMgYm9vbAorbGVhZm5lc3Nfb2Zfc2V0Z2xv
YmFsKFZBTFVFIGdlbnRyeSkKK3sKKyAgICBjb25zdCBzdHJ1Y3QgcmJfZ2xvYmFsX2VudHJ5ICpl
ID0gKHZvaWQgKilnZW50cnk7CisKKyAgICBpZiAoVU5MSUtFTFkocmJfZ3Zhcl9pc190cmFjZWQo
ZSkpKSB7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAg
IC8qIFdlIGNhbm5vdCB3cml0ZSB0aGlzIGZ1bmN0aW9uIHVzaW5nIGEgc3dpdGNoKCkgYmVjYXVz
ZSBhCisgICAgICAgICAqIGNhc2UgbGFiZWwgY2Fubm90IGJlIGEgZnVuY3Rpb24gcG9pbnRlci4g
Ki8KKyAgICAgICAgc3RhdGljIHJiX2d2YXJfc2V0dGVyX3QgKmNvbnN0IGFsbG93bGlzdFtdID0g
eworICAgICAgICAgICAgcmJfZ3Zhcl92YWxfc2V0dGVyLAorICAgICAgICAgICAgcmJfZ3Zhcl9y
ZWFkb25seV9zZXR0ZXIsCisgICAgICAgICAgICByYl9ndmFyX3Zhcl9zZXR0ZXIsCisgICAgICAg
ICAgICByYl9ndmFyX3VuZGVmX3NldHRlciwKKyAgICAgICAgfTsKKyAgICAgICAgcmJfZ3Zhcl9z
ZXR0ZXJfdCAqZiA9IHJiX2d2YXJfc2V0dGVyX2Z1bmN0aW9uX29mKGUpOworICAgICAgICBpbnQg
aTsKKworICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbnVtYmVyb2YoYWxsb3dsaXN0KTsgaSsrKSB7
CisgICAgICAgICAgICBpZiAoZiA9PSBhbGxvd2xpc3RbaV0pIHsKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgfQorfQorCisjaW5jbHVkZSAiaXNlcS5oIgorCitzdGF0aWMgYm9vbAorbGVhZm5l
c3Nfb2ZfZGVmaW5lZChyYl9udW1fdCBvcF90eXBlKQoreworICAgIC8qIHNlZSBhbHNvOiB2bV9p
bnNuaGVscGVyLmM6dm1fZGVmaW5lZCgpICovCisgICAgc3dpdGNoIChvcF90eXBlKSB7CisgICAg
ICBjYXNlIERFRklORURfSVZBUjoKKyAgICAgIGNhc2UgREVGSU5FRF9JVkFSMjoKKyAgICAgIGNh
c2UgREVGSU5FRF9HVkFSOgorICAgICAgY2FzZSBERUZJTkVEX0NWQVI6CisgICAgICBjYXNlIERF
RklORURfWUlFTEQ6CisgICAgICBjYXNlIERFRklORURfUkVGOgorICAgICAgY2FzZSBERUZJTkVE
X1pTVVBFUjoKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgY2FzZSBERUZJTkVEX0NPTlNU
OgorICAgICAgICAvKiBoYXMgcmJfYXV0b2xvYWRfbG9hZCgpOyAqLworICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgICBjYXNlIERFRklORURfRlVOQzoKKyAgICAgIGNhc2UgREVGSU5FRF9NRVRI
T0Q6CisgICAgICAgIC8qIGNhbGxzICNyZXNwb25kX3RvX21pc3Npbmc/ICovCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICAgIGRlZmF1bHQ6CisgICAgICAgIHJiX2J1ZygidW5rbm93biBvcGVy
YW5kICVsZDogYmxhbWUgQHNoeW91aGVpLiIsIG9wX3R5cGUpOworICAgIH0KK30KKworc3RhdGlj
IGJvb2wKK2xlYWZuZXNzX29mX2NoZWNrbWF0Y2gocmJfbnVtX3QgZmxhZykKK3sKKyAgICAvKiBz
ZWUgYWxzbzogdm1faW5zbmhlbHBlci5jOmNoZWNrX21hdGNoKCkgKi8KKyAgICBpZiAoZmxhZyA9
PSBWTV9DSEVDS01BVENIX1RZUEVfV0hFTikgeworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9
CisgICAgZWxzZSB7CisgICAgICAgIC8qIGhhcyByYl9mdW5jYWxsdigpICovCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICB9Cit9CisKKyNpZm5kZWYgUlVCWV9WTV9FWEVDX0gKKy8qIGNhbid0
ICNpbmNsdWRlICJ2bV9leGVjLmgiIGhlcmUuLi4gKi8KK3R5cGVkZWYgbG9uZyBPRkZTRVQ7Cit0
eXBlZGVmIHVuc2lnbmVkIGxvbmcgbGluZGV4X3Q7Cit0eXBlZGVmIFZBTFVFIEdFTlRSWTsKK3R5
cGVkZWYgcmJfaXNlcV90ICpJU0VROworI2VuZGlmCisKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChz
dGF0aWMgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGF0dHJfYmluX25vcCh2b2lkKSkpOworUFVSRUZV
TkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfaGFuZGxlc19zcF9ub3Aodm9pZCkpKTsK
K1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2xlYWZfbm9wKHZvaWQpKSk7
CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGNvbnN0IGNoYXIqIGF0dHJfbmFtZV9ub3Ao
dm9pZCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9vcGVu
X25vcCh2b2lkKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRy
X3BvcG5fbm9wKHZvaWQpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90
IGF0dHJfcmV0bl9ub3Aodm9pZCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJf
c251bV90IGF0dHJfc3BfaW5jX25vcCh2b2lkKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0
YXRpYyByYl9udW1fdCBhdHRyX3dpZHRoX25vcCh2b2lkKSkpOworUFVSRUZVTkMoTUFZQkVfVU5V
U0VEKHN0YXRpYyBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYXR0cl9iaW5fZ2V0bG9jYWwobGluZGV4
X3QgaWR4LCByYl9udW1fdCBsZXZlbCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMg
Ym9vbCBhdHRyX2hhbmRsZXNfc3BfZ2V0bG9jYWwobGluZGV4X3QgaWR4LCByYl9udW1fdCBsZXZl
bCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2xlYWZfZ2V0bG9j
YWwobGluZGV4X3QgaWR4LCByYl9udW1fdCBsZXZlbCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNF
RChzdGF0aWMgY29uc3QgY2hhciogYXR0cl9uYW1lX2dldGxvY2FsKGxpbmRleF90IGlkeCwgcmJf
bnVtX3QgbGV2ZWwpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0
dHJfb3Blbl9nZXRsb2NhbChsaW5kZXhfdCBpZHgsIHJiX251bV90IGxldmVsKSkpOworUFVSRUZV
TkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3BvcG5fZ2V0bG9jYWwobGluZGV4
X3QgaWR4LCByYl9udW1fdCBsZXZlbCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMg
cmJfbnVtX3QgYXR0cl9yZXRuX2dldGxvY2FsKGxpbmRleF90IGlkeCwgcmJfbnVtX3QgbGV2ZWwp
KSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX3NudW1fdCBhdHRyX3NwX2luY19n
ZXRsb2NhbChsaW5kZXhfdCBpZHgsIHJiX251bV90IGxldmVsKSkpOworUFVSRUZVTkMoTUFZQkVf
VU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3dpZHRoX2dldGxvY2FsKGxpbmRleF90IGlkeCwg
cmJfbnVtX3QgbGV2ZWwpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGVudW0gcnVi
eV92bWluc25fdHlwZSBhdHRyX2Jpbl9zZXRsb2NhbChsaW5kZXhfdCBpZHgsIHJiX251bV90IGxl
dmVsKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfaGFuZGxlc19z
cF9zZXRsb2NhbChsaW5kZXhfdCBpZHgsIHJiX251bV90IGxldmVsKSkpOworUFVSRUZVTkMoTUFZ
QkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfbGVhZl9zZXRsb2NhbChsaW5kZXhfdCBpZHgsIHJi
X251bV90IGxldmVsKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBjb25zdCBjaGFy
KiBhdHRyX25hbWVfc2V0bG9jYWwobGluZGV4X3QgaWR4LCByYl9udW1fdCBsZXZlbCkpKTsKK1BV
UkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9vcGVuX3NldGxvY2FsKGxp
bmRleF90IGlkeCwgcmJfbnVtX3QgbGV2ZWwpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3Rh
dGljIHJiX251bV90IGF0dHJfcG9wbl9zZXRsb2NhbChsaW5kZXhfdCBpZHgsIHJiX251bV90IGxl
dmVsKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3JldG5f
c2V0bG9jYWwobGluZGV4X3QgaWR4LCByYl9udW1fdCBsZXZlbCkpKTsKK1BVUkVGVU5DKE1BWUJF
X1VOVVNFRChzdGF0aWMgcmJfc251bV90IGF0dHJfc3BfaW5jX3NldGxvY2FsKGxpbmRleF90IGlk
eCwgcmJfbnVtX3QgbGV2ZWwpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251
bV90IGF0dHJfd2lkdGhfc2V0bG9jYWwobGluZGV4X3QgaWR4LCByYl9udW1fdCBsZXZlbCkpKTsK
K1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGF0dHJf
YmluX2dldGJsb2NrcGFyYW0obGluZGV4X3QgaWR4LCByYl9udW1fdCBsZXZlbCkpKTsKK1BVUkVG
VU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2hhbmRsZXNfc3BfZ2V0YmxvY2twYXJh
bShsaW5kZXhfdCBpZHgsIHJiX251bV90IGxldmVsKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VE
KHN0YXRpYyBib29sIGF0dHJfbGVhZl9nZXRibG9ja3BhcmFtKGxpbmRleF90IGlkeCwgcmJfbnVt
X3QgbGV2ZWwpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGNvbnN0IGNoYXIqIGF0
dHJfbmFtZV9nZXRibG9ja3BhcmFtKGxpbmRleF90IGlkeCwgcmJfbnVtX3QgbGV2ZWwpKSk7CitQ
VVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfb3Blbl9nZXRibG9ja3Bh
cmFtKGxpbmRleF90IGlkeCwgcmJfbnVtX3QgbGV2ZWwpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVT
RUQoc3RhdGljIHJiX251bV90IGF0dHJfcG9wbl9nZXRibG9ja3BhcmFtKGxpbmRleF90IGlkeCwg
cmJfbnVtX3QgbGV2ZWwpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90
IGF0dHJfcmV0bl9nZXRibG9ja3BhcmFtKGxpbmRleF90IGlkeCwgcmJfbnVtX3QgbGV2ZWwpKSk7
CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX3NudW1fdCBhdHRyX3NwX2luY19nZXRi
bG9ja3BhcmFtKGxpbmRleF90IGlkeCwgcmJfbnVtX3QgbGV2ZWwpKSk7CitQVVJFRlVOQyhNQVlC
RV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfd2lkdGhfZ2V0YmxvY2twYXJhbShsaW5kZXhf
dCBpZHgsIHJiX251bV90IGxldmVsKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBl
bnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYXR0cl9iaW5fc2V0YmxvY2twYXJhbShsaW5kZXhfdCBpZHgs
IHJiX251bV90IGxldmVsKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0
dHJfaGFuZGxlc19zcF9zZXRibG9ja3BhcmFtKGxpbmRleF90IGlkeCwgcmJfbnVtX3QgbGV2ZWwp
KSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9sZWFmX3NldGJsb2Nr
cGFyYW0obGluZGV4X3QgaWR4LCByYl9udW1fdCBsZXZlbCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VO
VVNFRChzdGF0aWMgY29uc3QgY2hhciogYXR0cl9uYW1lX3NldGJsb2NrcGFyYW0obGluZGV4X3Qg
aWR4LCByYl9udW1fdCBsZXZlbCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJf
bnVtX3QgYXR0cl9vcGVuX3NldGJsb2NrcGFyYW0obGluZGV4X3QgaWR4LCByYl9udW1fdCBsZXZl
bCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9wb3BuX3Nl
dGJsb2NrcGFyYW0obGluZGV4X3QgaWR4LCByYl9udW1fdCBsZXZlbCkpKTsKK1BVUkVGVU5DKE1B
WUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9yZXRuX3NldGJsb2NrcGFyYW0obGluZGV4
X3QgaWR4LCByYl9udW1fdCBsZXZlbCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMg
cmJfc251bV90IGF0dHJfc3BfaW5jX3NldGJsb2NrcGFyYW0obGluZGV4X3QgaWR4LCByYl9udW1f
dCBsZXZlbCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl93
aWR0aF9zZXRibG9ja3BhcmFtKGxpbmRleF90IGlkeCwgcmJfbnVtX3QgbGV2ZWwpKSk7CitQVVJF
RlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGVudW0gcnVieV92bWluc25fdHlwZSBhdHRyX2Jpbl9n
ZXRibG9ja3BhcmFtcHJveHkobGluZGV4X3QgaWR4LCByYl9udW1fdCBsZXZlbCkpKTsKK1BVUkVG
VU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2hhbmRsZXNfc3BfZ2V0YmxvY2twYXJh
bXByb3h5KGxpbmRleF90IGlkeCwgcmJfbnVtX3QgbGV2ZWwpKSk7CitQVVJFRlVOQyhNQVlCRV9V
TlVTRUQoc3RhdGljIGJvb2wgYXR0cl9sZWFmX2dldGJsb2NrcGFyYW1wcm94eShsaW5kZXhfdCBp
ZHgsIHJiX251bV90IGxldmVsKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBjb25z
dCBjaGFyKiBhdHRyX25hbWVfZ2V0YmxvY2twYXJhbXByb3h5KGxpbmRleF90IGlkeCwgcmJfbnVt
X3QgbGV2ZWwpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJf
b3Blbl9nZXRibG9ja3BhcmFtcHJveHkobGluZGV4X3QgaWR4LCByYl9udW1fdCBsZXZlbCkpKTsK
K1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9wb3BuX2dldGJsb2Nr
cGFyYW1wcm94eShsaW5kZXhfdCBpZHgsIHJiX251bV90IGxldmVsKSkpOworUFVSRUZVTkMoTUFZ
QkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3JldG5fZ2V0YmxvY2twYXJhbXByb3h5KGxp
bmRleF90IGlkeCwgcmJfbnVtX3QgbGV2ZWwpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3Rh
dGljIHJiX3NudW1fdCBhdHRyX3NwX2luY19nZXRibG9ja3BhcmFtcHJveHkobGluZGV4X3QgaWR4
LCByYl9udW1fdCBsZXZlbCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVt
X3QgYXR0cl93aWR0aF9nZXRibG9ja3BhcmFtcHJveHkobGluZGV4X3QgaWR4LCByYl9udW1fdCBs
ZXZlbCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgZW51bSBydWJ5X3ZtaW5zbl90
eXBlIGF0dHJfYmluX2dldHNwZWNpYWwocmJfbnVtX3Qga2V5LCByYl9udW1fdCB0eXBlKSkpOwor
UFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfaGFuZGxlc19zcF9nZXRzcGVj
aWFsKHJiX251bV90IGtleSwgcmJfbnVtX3QgdHlwZSkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNF
RChzdGF0aWMgYm9vbCBhdHRyX2xlYWZfZ2V0c3BlY2lhbChyYl9udW1fdCBrZXksIHJiX251bV90
IHR5cGUpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGNvbnN0IGNoYXIqIGF0dHJf
bmFtZV9nZXRzcGVjaWFsKHJiX251bV90IGtleSwgcmJfbnVtX3QgdHlwZSkpKTsKK1BVUkVGVU5D
KE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9vcGVuX2dldHNwZWNpYWwocmJfbnVt
X3Qga2V5LCByYl9udW1fdCB0eXBlKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBy
Yl9udW1fdCBhdHRyX3BvcG5fZ2V0c3BlY2lhbChyYl9udW1fdCBrZXksIHJiX251bV90IHR5cGUp
KSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcmV0bl9nZXRz
cGVjaWFsKHJiX251bV90IGtleSwgcmJfbnVtX3QgdHlwZSkpKTsKK1BVUkVGVU5DKE1BWUJFX1VO
VVNFRChzdGF0aWMgcmJfc251bV90IGF0dHJfc3BfaW5jX2dldHNwZWNpYWwocmJfbnVtX3Qga2V5
LCByYl9udW1fdCB0eXBlKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1f
dCBhdHRyX3dpZHRoX2dldHNwZWNpYWwocmJfbnVtX3Qga2V5LCByYl9udW1fdCB0eXBlKSkpOwor
UFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYXR0cl9i
aW5fc2V0c3BlY2lhbChyYl9udW1fdCBrZXkpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3Rh
dGljIGJvb2wgYXR0cl9oYW5kbGVzX3NwX3NldHNwZWNpYWwocmJfbnVtX3Qga2V5KSkpOworUFVS
RUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfbGVhZl9zZXRzcGVjaWFsKHJiX251
bV90IGtleSkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgY29uc3QgY2hhciogYXR0
cl9uYW1lX3NldHNwZWNpYWwocmJfbnVtX3Qga2V5KSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VE
KHN0YXRpYyByYl9udW1fdCBhdHRyX29wZW5fc2V0c3BlY2lhbChyYl9udW1fdCBrZXkpKSk7CitQ
VVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcG9wbl9zZXRzcGVjaWFs
KHJiX251bV90IGtleSkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3Qg
YXR0cl9yZXRuX3NldHNwZWNpYWwocmJfbnVtX3Qga2V5KSkpOworUFVSRUZVTkMoTUFZQkVfVU5V
U0VEKHN0YXRpYyByYl9zbnVtX3QgYXR0cl9zcF9pbmNfc2V0c3BlY2lhbChyYl9udW1fdCBrZXkp
KSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfd2lkdGhfc2V0
c3BlY2lhbChyYl9udW1fdCBrZXkpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGVu
dW0gcnVieV92bWluc25fdHlwZSBhdHRyX2Jpbl9nZXRpbnN0YW5jZXZhcmlhYmxlKElEIGlkLCBJ
QyBpYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2hhbmRsZXNf
c3BfZ2V0aW5zdGFuY2V2YXJpYWJsZShJRCBpZCwgSUMgaWMpKSk7CitQVVJFRlVOQyhNQVlCRV9V
TlVTRUQoc3RhdGljIGJvb2wgYXR0cl9sZWFmX2dldGluc3RhbmNldmFyaWFibGUoSUQgaWQsIElD
IGljKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBjb25zdCBjaGFyKiBhdHRyX25h
bWVfZ2V0aW5zdGFuY2V2YXJpYWJsZShJRCBpZCwgSUMgaWMpKSk7CitQVVJFRlVOQyhNQVlCRV9V
TlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfb3Blbl9nZXRpbnN0YW5jZXZhcmlhYmxlKElEIGlk
LCBJQyBpYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9w
b3BuX2dldGluc3RhbmNldmFyaWFibGUoSUQgaWQsIElDIGljKSkpOworUFVSRUZVTkMoTUFZQkVf
VU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3JldG5fZ2V0aW5zdGFuY2V2YXJpYWJsZShJRCBp
ZCwgSUMgaWMpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX3NudW1fdCBhdHRy
X3NwX2luY19nZXRpbnN0YW5jZXZhcmlhYmxlKElEIGlkLCBJQyBpYykpKTsKK1BVUkVGVU5DKE1B
WUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl93aWR0aF9nZXRpbnN0YW5jZXZhcmlhYmxl
KElEIGlkLCBJQyBpYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgZW51bSBydWJ5
X3ZtaW5zbl90eXBlIGF0dHJfYmluX3NldGluc3RhbmNldmFyaWFibGUoSUQgaWQsIElDIGljKSkp
OworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfaGFuZGxlc19zcF9zZXRp
bnN0YW5jZXZhcmlhYmxlKElEIGlkLCBJQyBpYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChz
dGF0aWMgYm9vbCBhdHRyX2xlYWZfc2V0aW5zdGFuY2V2YXJpYWJsZShJRCBpZCwgSUMgaWMpKSk7
CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGNvbnN0IGNoYXIqIGF0dHJfbmFtZV9zZXRp
bnN0YW5jZXZhcmlhYmxlKElEIGlkLCBJQyBpYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChz
dGF0aWMgcmJfbnVtX3QgYXR0cl9vcGVuX3NldGluc3RhbmNldmFyaWFibGUoSUQgaWQsIElDIGlj
KSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3BvcG5fc2V0
aW5zdGFuY2V2YXJpYWJsZShJRCBpZCwgSUMgaWMpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQo
c3RhdGljIHJiX251bV90IGF0dHJfcmV0bl9zZXRpbnN0YW5jZXZhcmlhYmxlKElEIGlkLCBJQyBp
YykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfc251bV90IGF0dHJfc3BfaW5j
X3NldGluc3RhbmNldmFyaWFibGUoSUQgaWQsIElDIGljKSkpOworUFVSRUZVTkMoTUFZQkVfVU5V
U0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3dpZHRoX3NldGluc3RhbmNldmFyaWFibGUoSUQgaWQs
IElDIGljKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBlbnVtIHJ1Ynlfdm1pbnNu
X3R5cGUgYXR0cl9iaW5fZ2V0Y2xhc3N2YXJpYWJsZShJRCBpZCkpKTsKK1BVUkVGVU5DKE1BWUJF
X1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2hhbmRsZXNfc3BfZ2V0Y2xhc3N2YXJpYWJsZShJRCBp
ZCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2xlYWZfZ2V0Y2xh
c3N2YXJpYWJsZShJRCBpZCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgY29uc3Qg
Y2hhciogYXR0cl9uYW1lX2dldGNsYXNzdmFyaWFibGUoSUQgaWQpKSk7CitQVVJFRlVOQyhNQVlC
RV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfb3Blbl9nZXRjbGFzc3ZhcmlhYmxlKElEIGlk
KSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3BvcG5fZ2V0
Y2xhc3N2YXJpYWJsZShJRCBpZCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJf
bnVtX3QgYXR0cl9yZXRuX2dldGNsYXNzdmFyaWFibGUoSUQgaWQpKSk7CitQVVJFRlVOQyhNQVlC
RV9VTlVTRUQoc3RhdGljIHJiX3NudW1fdCBhdHRyX3NwX2luY19nZXRjbGFzc3ZhcmlhYmxlKElE
IGlkKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3dpZHRo
X2dldGNsYXNzdmFyaWFibGUoSUQgaWQpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGlj
IGVudW0gcnVieV92bWluc25fdHlwZSBhdHRyX2Jpbl9zZXRjbGFzc3ZhcmlhYmxlKElEIGlkKSkp
OworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfaGFuZGxlc19zcF9zZXRj
bGFzc3ZhcmlhYmxlKElEIGlkKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29s
IGF0dHJfbGVhZl9zZXRjbGFzc3ZhcmlhYmxlKElEIGlkKSkpOworUFVSRUZVTkMoTUFZQkVfVU5V
U0VEKHN0YXRpYyBjb25zdCBjaGFyKiBhdHRyX25hbWVfc2V0Y2xhc3N2YXJpYWJsZShJRCBpZCkp
KTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9vcGVuX3NldGNs
YXNzdmFyaWFibGUoSUQgaWQpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251
bV90IGF0dHJfcG9wbl9zZXRjbGFzc3ZhcmlhYmxlKElEIGlkKSkpOworUFVSRUZVTkMoTUFZQkVf
VU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3JldG5fc2V0Y2xhc3N2YXJpYWJsZShJRCBpZCkp
KTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfc251bV90IGF0dHJfc3BfaW5jX3Nl
dGNsYXNzdmFyaWFibGUoSUQgaWQpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJi
X251bV90IGF0dHJfd2lkdGhfc2V0Y2xhc3N2YXJpYWJsZShJRCBpZCkpKTsKK1BVUkVGVU5DKE1B
WUJFX1VOVVNFRChzdGF0aWMgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGF0dHJfYmluX2dldGNvbnN0
YW50KElEIGlkKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfaGFu
ZGxlc19zcF9nZXRjb25zdGFudChJRCBpZCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0
aWMgYm9vbCBhdHRyX2xlYWZfZ2V0Y29uc3RhbnQoSUQgaWQpKSk7CitQVVJFRlVOQyhNQVlCRV9V
TlVTRUQoc3RhdGljIGNvbnN0IGNoYXIqIGF0dHJfbmFtZV9nZXRjb25zdGFudChJRCBpZCkpKTsK
K1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9vcGVuX2dldGNvbnN0
YW50KElEIGlkKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRy
X3BvcG5fZ2V0Y29uc3RhbnQoSUQgaWQpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGlj
IHJiX251bV90IGF0dHJfcmV0bl9nZXRjb25zdGFudChJRCBpZCkpKTsKK1BVUkVGVU5DKE1BWUJF
X1VOVVNFRChzdGF0aWMgcmJfc251bV90IGF0dHJfc3BfaW5jX2dldGNvbnN0YW50KElEIGlkKSkp
OworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3dpZHRoX2dldGNv
bnN0YW50KElEIGlkKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBlbnVtIHJ1Ynlf
dm1pbnNuX3R5cGUgYXR0cl9iaW5fc2V0Y29uc3RhbnQoSUQgaWQpKSk7CitQVVJFRlVOQyhNQVlC
RV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9oYW5kbGVzX3NwX3NldGNvbnN0YW50KElEIGlkKSkp
OworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfbGVhZl9zZXRjb25zdGFu
dChJRCBpZCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgY29uc3QgY2hhciogYXR0
cl9uYW1lX3NldGNvbnN0YW50KElEIGlkKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRp
YyByYl9udW1fdCBhdHRyX29wZW5fc2V0Y29uc3RhbnQoSUQgaWQpKSk7CitQVVJFRlVOQyhNQVlC
RV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcG9wbl9zZXRjb25zdGFudChJRCBpZCkpKTsK
K1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9yZXRuX3NldGNvbnN0
YW50KElEIGlkKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9zbnVtX3QgYXR0
cl9zcF9pbmNfc2V0Y29uc3RhbnQoSUQgaWQpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3Rh
dGljIHJiX251bV90IGF0dHJfd2lkdGhfc2V0Y29uc3RhbnQoSUQgaWQpKSk7CitQVVJFRlVOQyhN
QVlCRV9VTlVTRUQoc3RhdGljIGVudW0gcnVieV92bWluc25fdHlwZSBhdHRyX2Jpbl9nZXRnbG9i
YWwoR0VOVFJZIGVudHJ5KSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0
dHJfaGFuZGxlc19zcF9nZXRnbG9iYWwoR0VOVFJZIGVudHJ5KSkpOworUFVSRUZVTkMoTUFZQkVf
VU5VU0VEKHN0YXRpYyBib29sIGF0dHJfbGVhZl9nZXRnbG9iYWwoR0VOVFJZIGVudHJ5KSkpOwor
UFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBjb25zdCBjaGFyKiBhdHRyX25hbWVfZ2V0Z2xv
YmFsKEdFTlRSWSBlbnRyeSkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVt
X3QgYXR0cl9vcGVuX2dldGdsb2JhbChHRU5UUlkgZW50cnkpKSk7CitQVVJFRlVOQyhNQVlCRV9V
TlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcG9wbl9nZXRnbG9iYWwoR0VOVFJZIGVudHJ5KSkp
OworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3JldG5fZ2V0Z2xv
YmFsKEdFTlRSWSBlbnRyeSkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfc251
bV90IGF0dHJfc3BfaW5jX2dldGdsb2JhbChHRU5UUlkgZW50cnkpKSk7CitQVVJFRlVOQyhNQVlC
RV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfd2lkdGhfZ2V0Z2xvYmFsKEdFTlRSWSBlbnRy
eSkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgZW51bSBydWJ5X3ZtaW5zbl90eXBl
IGF0dHJfYmluX3NldGdsb2JhbChHRU5UUlkgZW50cnkpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVT
RUQoc3RhdGljIGJvb2wgYXR0cl9oYW5kbGVzX3NwX3NldGdsb2JhbChHRU5UUlkgZW50cnkpKSk7
CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9sZWFmX3NldGdsb2JhbChH
RU5UUlkgZW50cnkpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGNvbnN0IGNoYXIq
IGF0dHJfbmFtZV9zZXRnbG9iYWwoR0VOVFJZIGVudHJ5KSkpOworUFVSRUZVTkMoTUFZQkVfVU5V
U0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX29wZW5fc2V0Z2xvYmFsKEdFTlRSWSBlbnRyeSkpKTsK
K1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9wb3BuX3NldGdsb2Jh
bChHRU5UUlkgZW50cnkpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90
IGF0dHJfcmV0bl9zZXRnbG9iYWwoR0VOVFJZIGVudHJ5KSkpOworUFVSRUZVTkMoTUFZQkVfVU5V
U0VEKHN0YXRpYyByYl9zbnVtX3QgYXR0cl9zcF9pbmNfc2V0Z2xvYmFsKEdFTlRSWSBlbnRyeSkp
KTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl93aWR0aF9zZXRn
bG9iYWwoR0VOVFJZIGVudHJ5KSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBlbnVt
IHJ1Ynlfdm1pbnNuX3R5cGUgYXR0cl9iaW5fcHV0bmlsKHZvaWQpKSk7CitQVVJFRlVOQyhNQVlC
RV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9oYW5kbGVzX3NwX3B1dG5pbCh2b2lkKSkpOworUFVS
RUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfbGVhZl9wdXRuaWwodm9pZCkpKTsK
K1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgY29uc3QgY2hhciogYXR0cl9uYW1lX3B1dG5p
bCh2b2lkKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX29w
ZW5fcHV0bmlsKHZvaWQpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90
IGF0dHJfcG9wbl9wdXRuaWwodm9pZCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMg
cmJfbnVtX3QgYXR0cl9yZXRuX3B1dG5pbCh2b2lkKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VE
KHN0YXRpYyByYl9zbnVtX3QgYXR0cl9zcF9pbmNfcHV0bmlsKHZvaWQpKSk7CitQVVJFRlVOQyhN
QVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfd2lkdGhfcHV0bmlsKHZvaWQpKSk7CitQ
VVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGVudW0gcnVieV92bWluc25fdHlwZSBhdHRyX2Jp
bl9wdXRzZWxmKHZvaWQpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0
cl9oYW5kbGVzX3NwX3B1dHNlbGYodm9pZCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0
aWMgYm9vbCBhdHRyX2xlYWZfcHV0c2VsZih2b2lkKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VE
KHN0YXRpYyBjb25zdCBjaGFyKiBhdHRyX25hbWVfcHV0c2VsZih2b2lkKSkpOworUFVSRUZVTkMo
TUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX29wZW5fcHV0c2VsZih2b2lkKSkpOwor
UFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3BvcG5fcHV0c2VsZih2
b2lkKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3JldG5f
cHV0c2VsZih2b2lkKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9zbnVtX3Qg
YXR0cl9zcF9pbmNfcHV0c2VsZih2b2lkKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRp
YyByYl9udW1fdCBhdHRyX3dpZHRoX3B1dHNlbGYodm9pZCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VO
VVNFRChzdGF0aWMgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGF0dHJfYmluX3B1dG9iamVjdChWQUxV
RSB2YWwpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9oYW5kbGVz
X3NwX3B1dG9iamVjdChWQUxVRSB2YWwpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGlj
IGJvb2wgYXR0cl9sZWFmX3B1dG9iamVjdChWQUxVRSB2YWwpKSk7CitQVVJFRlVOQyhNQVlCRV9V
TlVTRUQoc3RhdGljIGNvbnN0IGNoYXIqIGF0dHJfbmFtZV9wdXRvYmplY3QoVkFMVUUgdmFsKSkp
OworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX29wZW5fcHV0b2Jq
ZWN0KFZBTFVFIHZhbCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3Qg
YXR0cl9wb3BuX3B1dG9iamVjdChWQUxVRSB2YWwpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQo
c3RhdGljIHJiX251bV90IGF0dHJfcmV0bl9wdXRvYmplY3QoVkFMVUUgdmFsKSkpOworUFVSRUZV
TkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9zbnVtX3QgYXR0cl9zcF9pbmNfcHV0b2JqZWN0KFZB
TFVFIHZhbCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl93
aWR0aF9wdXRvYmplY3QoVkFMVUUgdmFsKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRp
YyBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYXR0cl9iaW5fcHV0c3BlY2lhbG9iamVjdChyYl9udW1f
dCB2YWx1ZV90eXBlKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJf
aGFuZGxlc19zcF9wdXRzcGVjaWFsb2JqZWN0KHJiX251bV90IHZhbHVlX3R5cGUpKSk7CitQVVJF
RlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9sZWFmX3B1dHNwZWNpYWxvYmplY3Qo
cmJfbnVtX3QgdmFsdWVfdHlwZSkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgY29u
c3QgY2hhciogYXR0cl9uYW1lX3B1dHNwZWNpYWxvYmplY3QocmJfbnVtX3QgdmFsdWVfdHlwZSkp
KTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9vcGVuX3B1dHNw
ZWNpYWxvYmplY3QocmJfbnVtX3QgdmFsdWVfdHlwZSkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNF
RChzdGF0aWMgcmJfbnVtX3QgYXR0cl9wb3BuX3B1dHNwZWNpYWxvYmplY3QocmJfbnVtX3QgdmFs
dWVfdHlwZSkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9y
ZXRuX3B1dHNwZWNpYWxvYmplY3QocmJfbnVtX3QgdmFsdWVfdHlwZSkpKTsKK1BVUkVGVU5DKE1B
WUJFX1VOVVNFRChzdGF0aWMgcmJfc251bV90IGF0dHJfc3BfaW5jX3B1dHNwZWNpYWxvYmplY3Qo
cmJfbnVtX3QgdmFsdWVfdHlwZSkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJf
bnVtX3QgYXR0cl93aWR0aF9wdXRzcGVjaWFsb2JqZWN0KHJiX251bV90IHZhbHVlX3R5cGUpKSk7
CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGVudW0gcnVieV92bWluc25fdHlwZSBhdHRy
X2Jpbl9wdXRpc2VxKElTRVEgaXNlcSkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMg
Ym9vbCBhdHRyX2hhbmRsZXNfc3BfcHV0aXNlcShJU0VRIGlzZXEpKSk7CitQVVJFRlVOQyhNQVlC
RV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9sZWFmX3B1dGlzZXEoSVNFUSBpc2VxKSkpOworUFVS
RUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBjb25zdCBjaGFyKiBhdHRyX25hbWVfcHV0aXNlcShJ
U0VRIGlzZXEpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJf
b3Blbl9wdXRpc2VxKElTRVEgaXNlcSkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMg
cmJfbnVtX3QgYXR0cl9wb3BuX3B1dGlzZXEoSVNFUSBpc2VxKSkpOworUFVSRUZVTkMoTUFZQkVf
VU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3JldG5fcHV0aXNlcShJU0VRIGlzZXEpKSk7CitQ
VVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX3NudW1fdCBhdHRyX3NwX2luY19wdXRpc2Vx
KElTRVEgaXNlcSkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0
cl93aWR0aF9wdXRpc2VxKElTRVEgaXNlcSkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0
aWMgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGF0dHJfYmluX3B1dHN0cmluZyhWQUxVRSBzdHIpKSk7
CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9oYW5kbGVzX3NwX3B1dHN0
cmluZyhWQUxVRSBzdHIpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0
cl9sZWFmX3B1dHN0cmluZyhWQUxVRSBzdHIpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3Rh
dGljIGNvbnN0IGNoYXIqIGF0dHJfbmFtZV9wdXRzdHJpbmcoVkFMVUUgc3RyKSkpOworUFVSRUZV
TkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX29wZW5fcHV0c3RyaW5nKFZBTFVF
IHN0cikpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9wb3Bu
X3B1dHN0cmluZyhWQUxVRSBzdHIpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJi
X251bV90IGF0dHJfcmV0bl9wdXRzdHJpbmcoVkFMVUUgc3RyKSkpOworUFVSRUZVTkMoTUFZQkVf
VU5VU0VEKHN0YXRpYyByYl9zbnVtX3QgYXR0cl9zcF9pbmNfcHV0c3RyaW5nKFZBTFVFIHN0cikp
KTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl93aWR0aF9wdXRz
dHJpbmcoVkFMVUUgc3RyKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBlbnVtIHJ1
Ynlfdm1pbnNuX3R5cGUgYXR0cl9iaW5fY29uY2F0c3RyaW5ncyhyYl9udW1fdCBudW0pKSk7CitQ
VVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9oYW5kbGVzX3NwX2NvbmNhdHN0
cmluZ3MocmJfbnVtX3QgbnVtKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29s
IGF0dHJfbGVhZl9jb25jYXRzdHJpbmdzKHJiX251bV90IG51bSkpKTsKK1BVUkVGVU5DKE1BWUJF
X1VOVVNFRChzdGF0aWMgY29uc3QgY2hhciogYXR0cl9uYW1lX2NvbmNhdHN0cmluZ3MocmJfbnVt
X3QgbnVtKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX29w
ZW5fY29uY2F0c3RyaW5ncyhyYl9udW1fdCBudW0pKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQo
c3RhdGljIHJiX251bV90IGF0dHJfcG9wbl9jb25jYXRzdHJpbmdzKHJiX251bV90IG51bSkpKTsK
K1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9yZXRuX2NvbmNhdHN0
cmluZ3MocmJfbnVtX3QgbnVtKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9z
bnVtX3QgYXR0cl9zcF9pbmNfY29uY2F0c3RyaW5ncyhyYl9udW1fdCBudW0pKSk7CitQVVJFRlVO
QyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfd2lkdGhfY29uY2F0c3RyaW5ncyhy
Yl9udW1fdCBudW0pKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGVudW0gcnVieV92
bWluc25fdHlwZSBhdHRyX2Jpbl90b3N0cmluZyh2b2lkKSkpOworUFVSRUZVTkMoTUFZQkVfVU5V
U0VEKHN0YXRpYyBib29sIGF0dHJfaGFuZGxlc19zcF90b3N0cmluZyh2b2lkKSkpOworUFVSRUZV
TkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfbGVhZl90b3N0cmluZyh2b2lkKSkpOwor
UFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBjb25zdCBjaGFyKiBhdHRyX25hbWVfdG9zdHJp
bmcodm9pZCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9v
cGVuX3Rvc3RyaW5nKHZvaWQpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251
bV90IGF0dHJfcG9wbl90b3N0cmluZyh2b2lkKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0
YXRpYyByYl9udW1fdCBhdHRyX3JldG5fdG9zdHJpbmcodm9pZCkpKTsKK1BVUkVGVU5DKE1BWUJF
X1VOVVNFRChzdGF0aWMgcmJfc251bV90IGF0dHJfc3BfaW5jX3Rvc3RyaW5nKHZvaWQpKSk7CitQ
VVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfd2lkdGhfdG9zdHJpbmco
dm9pZCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgZW51bSBydWJ5X3ZtaW5zbl90
eXBlIGF0dHJfYmluX2ZyZWV6ZXN0cmluZyhWQUxVRSBkZWJ1Z19pbmZvKSkpOworUFVSRUZVTkMo
TUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfaGFuZGxlc19zcF9mcmVlemVzdHJpbmcoVkFM
VUUgZGVidWdfaW5mbykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRy
X2xlYWZfZnJlZXplc3RyaW5nKFZBTFVFIGRlYnVnX2luZm8pKSk7CitQVVJFRlVOQyhNQVlCRV9V
TlVTRUQoc3RhdGljIGNvbnN0IGNoYXIqIGF0dHJfbmFtZV9mcmVlemVzdHJpbmcoVkFMVUUgZGVi
dWdfaW5mbykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9v
cGVuX2ZyZWV6ZXN0cmluZyhWQUxVRSBkZWJ1Z19pbmZvKSkpOworUFVSRUZVTkMoTUFZQkVfVU5V
U0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3BvcG5fZnJlZXplc3RyaW5nKFZBTFVFIGRlYnVnX2lu
Zm8pKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcmV0bl9m
cmVlemVzdHJpbmcoVkFMVUUgZGVidWdfaW5mbykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChz
dGF0aWMgcmJfc251bV90IGF0dHJfc3BfaW5jX2ZyZWV6ZXN0cmluZyhWQUxVRSBkZWJ1Z19pbmZv
KSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3dpZHRoX2Zy
ZWV6ZXN0cmluZyhWQUxVRSBkZWJ1Z19pbmZvKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0
YXRpYyBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYXR0cl9iaW5fdG9yZWdleHAocmJfbnVtX3Qgb3B0
LCByYl9udW1fdCBjbnQpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0
cl9oYW5kbGVzX3NwX3RvcmVnZXhwKHJiX251bV90IG9wdCwgcmJfbnVtX3QgY250KSkpOworUFVS
RUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfbGVhZl90b3JlZ2V4cChyYl9udW1f
dCBvcHQsIHJiX251bV90IGNudCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgY29u
c3QgY2hhciogYXR0cl9uYW1lX3RvcmVnZXhwKHJiX251bV90IG9wdCwgcmJfbnVtX3QgY250KSkp
OworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX29wZW5fdG9yZWdl
eHAocmJfbnVtX3Qgb3B0LCByYl9udW1fdCBjbnQpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQo
c3RhdGljIHJiX251bV90IGF0dHJfcG9wbl90b3JlZ2V4cChyYl9udW1fdCBvcHQsIHJiX251bV90
IGNudCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9yZXRu
X3RvcmVnZXhwKHJiX251bV90IG9wdCwgcmJfbnVtX3QgY250KSkpOworUFVSRUZVTkMoTUFZQkVf
VU5VU0VEKHN0YXRpYyByYl9zbnVtX3QgYXR0cl9zcF9pbmNfdG9yZWdleHAocmJfbnVtX3Qgb3B0
LCByYl9udW1fdCBjbnQpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90
IGF0dHJfd2lkdGhfdG9yZWdleHAocmJfbnVtX3Qgb3B0LCByYl9udW1fdCBjbnQpKSk7CitQVVJF
RlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGVudW0gcnVieV92bWluc25fdHlwZSBhdHRyX2Jpbl9p
bnRlcm4odm9pZCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2hh
bmRsZXNfc3BfaW50ZXJuKHZvaWQpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJv
b2wgYXR0cl9sZWFmX2ludGVybih2b2lkKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRp
YyBjb25zdCBjaGFyKiBhdHRyX25hbWVfaW50ZXJuKHZvaWQpKSk7CitQVVJFRlVOQyhNQVlCRV9V
TlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfb3Blbl9pbnRlcm4odm9pZCkpKTsKK1BVUkVGVU5D
KE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9wb3BuX2ludGVybih2b2lkKSkpOwor
UFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3JldG5faW50ZXJuKHZv
aWQpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX3NudW1fdCBhdHRyX3NwX2lu
Y19pbnRlcm4odm9pZCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3Qg
YXR0cl93aWR0aF9pbnRlcm4odm9pZCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMg
ZW51bSBydWJ5X3ZtaW5zbl90eXBlIGF0dHJfYmluX25ld2FycmF5KHJiX251bV90IG51bSkpKTsK
K1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2hhbmRsZXNfc3BfbmV3YXJy
YXkocmJfbnVtX3QgbnVtKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0
dHJfbGVhZl9uZXdhcnJheShyYl9udW1fdCBudW0pKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQo
c3RhdGljIGNvbnN0IGNoYXIqIGF0dHJfbmFtZV9uZXdhcnJheShyYl9udW1fdCBudW0pKSk7CitQ
VVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfb3Blbl9uZXdhcnJheShy
Yl9udW1fdCBudW0pKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0
dHJfcG9wbl9uZXdhcnJheShyYl9udW1fdCBudW0pKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQo
c3RhdGljIHJiX251bV90IGF0dHJfcmV0bl9uZXdhcnJheShyYl9udW1fdCBudW0pKSk7CitQVVJF
RlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX3NudW1fdCBhdHRyX3NwX2luY19uZXdhcnJheShy
Yl9udW1fdCBudW0pKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0
dHJfd2lkdGhfbmV3YXJyYXkocmJfbnVtX3QgbnVtKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VE
KHN0YXRpYyBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYXR0cl9iaW5fZHVwYXJyYXkoVkFMVUUgYXJ5
KSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfaGFuZGxlc19zcF9k
dXBhcnJheShWQUxVRSBhcnkpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wg
YXR0cl9sZWFmX2R1cGFycmF5KFZBTFVFIGFyeSkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChz
dGF0aWMgY29uc3QgY2hhciogYXR0cl9uYW1lX2R1cGFycmF5KFZBTFVFIGFyeSkpKTsKK1BVUkVG
VU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9vcGVuX2R1cGFycmF5KFZBTFVF
IGFyeSkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9wb3Bu
X2R1cGFycmF5KFZBTFVFIGFyeSkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJf
bnVtX3QgYXR0cl9yZXRuX2R1cGFycmF5KFZBTFVFIGFyeSkpKTsKK1BVUkVGVU5DKE1BWUJFX1VO
VVNFRChzdGF0aWMgcmJfc251bV90IGF0dHJfc3BfaW5jX2R1cGFycmF5KFZBTFVFIGFyeSkpKTsK
K1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl93aWR0aF9kdXBhcnJh
eShWQUxVRSBhcnkpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGVudW0gcnVieV92
bWluc25fdHlwZSBhdHRyX2Jpbl9kdXBoYXNoKFZBTFVFIGhhc2gpKSk7CitQVVJFRlVOQyhNQVlC
RV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9oYW5kbGVzX3NwX2R1cGhhc2goVkFMVUUgaGFzaCkp
KTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2xlYWZfZHVwaGFzaChW
QUxVRSBoYXNoKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBjb25zdCBjaGFyKiBh
dHRyX25hbWVfZHVwaGFzaChWQUxVRSBoYXNoKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0
YXRpYyByYl9udW1fdCBhdHRyX29wZW5fZHVwaGFzaChWQUxVRSBoYXNoKSkpOworUFVSRUZVTkMo
TUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3BvcG5fZHVwaGFzaChWQUxVRSBoYXNo
KSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3JldG5fZHVw
aGFzaChWQUxVRSBoYXNoKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9zbnVt
X3QgYXR0cl9zcF9pbmNfZHVwaGFzaChWQUxVRSBoYXNoKSkpOworUFVSRUZVTkMoTUFZQkVfVU5V
U0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3dpZHRoX2R1cGhhc2goVkFMVUUgaGFzaCkpKTsKK1BV
UkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGF0dHJfYmlu
X2V4cGFuZGFycmF5KHJiX251bV90IG51bSwgcmJfbnVtX3QgZmxhZykpKTsKK1BVUkVGVU5DKE1B
WUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2hhbmRsZXNfc3BfZXhwYW5kYXJyYXkocmJfbnVt
X3QgbnVtLCByYl9udW1fdCBmbGFnKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBi
b29sIGF0dHJfbGVhZl9leHBhbmRhcnJheShyYl9udW1fdCBudW0sIHJiX251bV90IGZsYWcpKSk7
CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGNvbnN0IGNoYXIqIGF0dHJfbmFtZV9leHBh
bmRhcnJheShyYl9udW1fdCBudW0sIHJiX251bV90IGZsYWcpKSk7CitQVVJFRlVOQyhNQVlCRV9V
TlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfb3Blbl9leHBhbmRhcnJheShyYl9udW1fdCBudW0s
IHJiX251bV90IGZsYWcpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90
IGF0dHJfcG9wbl9leHBhbmRhcnJheShyYl9udW1fdCBudW0sIHJiX251bV90IGZsYWcpKSk7CitQ
VVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcmV0bl9leHBhbmRhcnJh
eShyYl9udW1fdCBudW0sIHJiX251bV90IGZsYWcpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQo
c3RhdGljIHJiX3NudW1fdCBhdHRyX3NwX2luY19leHBhbmRhcnJheShyYl9udW1fdCBudW0sIHJi
X251bV90IGZsYWcpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0
dHJfd2lkdGhfZXhwYW5kYXJyYXkocmJfbnVtX3QgbnVtLCByYl9udW1fdCBmbGFnKSkpOworUFVS
RUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYXR0cl9iaW5f
Y29uY2F0YXJyYXkodm9pZCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBh
dHRyX2hhbmRsZXNfc3BfY29uY2F0YXJyYXkodm9pZCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNF
RChzdGF0aWMgYm9vbCBhdHRyX2xlYWZfY29uY2F0YXJyYXkodm9pZCkpKTsKK1BVUkVGVU5DKE1B
WUJFX1VOVVNFRChzdGF0aWMgY29uc3QgY2hhciogYXR0cl9uYW1lX2NvbmNhdGFycmF5KHZvaWQp
KSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfb3Blbl9jb25j
YXRhcnJheSh2b2lkKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBh
dHRyX3BvcG5fY29uY2F0YXJyYXkodm9pZCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0
aWMgcmJfbnVtX3QgYXR0cl9yZXRuX2NvbmNhdGFycmF5KHZvaWQpKSk7CitQVVJFRlVOQyhNQVlC
RV9VTlVTRUQoc3RhdGljIHJiX3NudW1fdCBhdHRyX3NwX2luY19jb25jYXRhcnJheSh2b2lkKSkp
OworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3dpZHRoX2NvbmNh
dGFycmF5KHZvaWQpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGVudW0gcnVieV92
bWluc25fdHlwZSBhdHRyX2Jpbl9zcGxhdGFycmF5KFZBTFVFIGZsYWcpKSk7CitQVVJFRlVOQyhN
QVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9oYW5kbGVzX3NwX3NwbGF0YXJyYXkoVkFMVUUg
ZmxhZykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2xlYWZfc3Bs
YXRhcnJheShWQUxVRSBmbGFnKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBjb25z
dCBjaGFyKiBhdHRyX25hbWVfc3BsYXRhcnJheShWQUxVRSBmbGFnKSkpOworUFVSRUZVTkMoTUFZ
QkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX29wZW5fc3BsYXRhcnJheShWQUxVRSBmbGFn
KSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3BvcG5fc3Bs
YXRhcnJheShWQUxVRSBmbGFnKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9u
dW1fdCBhdHRyX3JldG5fc3BsYXRhcnJheShWQUxVRSBmbGFnKSkpOworUFVSRUZVTkMoTUFZQkVf
VU5VU0VEKHN0YXRpYyByYl9zbnVtX3QgYXR0cl9zcF9pbmNfc3BsYXRhcnJheShWQUxVRSBmbGFn
KSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3dpZHRoX3Nw
bGF0YXJyYXkoVkFMVUUgZmxhZykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgZW51
bSBydWJ5X3ZtaW5zbl90eXBlIGF0dHJfYmluX25ld2hhc2gocmJfbnVtX3QgbnVtKSkpOworUFVS
RUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfaGFuZGxlc19zcF9uZXdoYXNoKHJi
X251bV90IG51bSkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2xl
YWZfbmV3aGFzaChyYl9udW1fdCBudW0pKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGlj
IGNvbnN0IGNoYXIqIGF0dHJfbmFtZV9uZXdoYXNoKHJiX251bV90IG51bSkpKTsKK1BVUkVGVU5D
KE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9vcGVuX25ld2hhc2gocmJfbnVtX3Qg
bnVtKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3BvcG5f
bmV3aGFzaChyYl9udW1fdCBudW0pKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJi
X251bV90IGF0dHJfcmV0bl9uZXdoYXNoKHJiX251bV90IG51bSkpKTsKK1BVUkVGVU5DKE1BWUJF
X1VOVVNFRChzdGF0aWMgcmJfc251bV90IGF0dHJfc3BfaW5jX25ld2hhc2gocmJfbnVtX3QgbnVt
KSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3dpZHRoX25l
d2hhc2gocmJfbnVtX3QgbnVtKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBlbnVt
IHJ1Ynlfdm1pbnNuX3R5cGUgYXR0cl9iaW5fbmV3cmFuZ2UocmJfbnVtX3QgZmxhZykpKTsKK1BV
UkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2hhbmRsZXNfc3BfbmV3cmFuZ2Uo
cmJfbnVtX3QgZmxhZykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRy
X2xlYWZfbmV3cmFuZ2UocmJfbnVtX3QgZmxhZykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChz
dGF0aWMgY29uc3QgY2hhciogYXR0cl9uYW1lX25ld3JhbmdlKHJiX251bV90IGZsYWcpKSk7CitQ
VVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfb3Blbl9uZXdyYW5nZShy
Yl9udW1fdCBmbGFnKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBh
dHRyX3BvcG5fbmV3cmFuZ2UocmJfbnVtX3QgZmxhZykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNF
RChzdGF0aWMgcmJfbnVtX3QgYXR0cl9yZXRuX25ld3JhbmdlKHJiX251bV90IGZsYWcpKSk7CitQ
VVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX3NudW1fdCBhdHRyX3NwX2luY19uZXdyYW5n
ZShyYl9udW1fdCBmbGFnKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1f
dCBhdHRyX3dpZHRoX25ld3JhbmdlKHJiX251bV90IGZsYWcpKSk7CitQVVJFRlVOQyhNQVlCRV9V
TlVTRUQoc3RhdGljIGVudW0gcnVieV92bWluc25fdHlwZSBhdHRyX2Jpbl9wb3Aodm9pZCkpKTsK
K1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2hhbmRsZXNfc3BfcG9wKHZv
aWQpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9sZWFmX3BvcCh2
b2lkKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBjb25zdCBjaGFyKiBhdHRyX25h
bWVfcG9wKHZvaWQpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0
dHJfb3Blbl9wb3Aodm9pZCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVt
X3QgYXR0cl9wb3BuX3BvcCh2b2lkKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBy
Yl9udW1fdCBhdHRyX3JldG5fcG9wKHZvaWQpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3Rh
dGljIHJiX3NudW1fdCBhdHRyX3NwX2luY19wb3Aodm9pZCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VO
VVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl93aWR0aF9wb3Aodm9pZCkpKTsKK1BVUkVGVU5DKE1B
WUJFX1VOVVNFRChzdGF0aWMgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGF0dHJfYmluX2R1cCh2b2lk
KSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfaGFuZGxlc19zcF9k
dXAodm9pZCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2xlYWZf
ZHVwKHZvaWQpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGNvbnN0IGNoYXIqIGF0
dHJfbmFtZV9kdXAodm9pZCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVt
X3QgYXR0cl9vcGVuX2R1cCh2b2lkKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBy
Yl9udW1fdCBhdHRyX3BvcG5fZHVwKHZvaWQpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3Rh
dGljIHJiX251bV90IGF0dHJfcmV0bl9kdXAodm9pZCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNF
RChzdGF0aWMgcmJfc251bV90IGF0dHJfc3BfaW5jX2R1cCh2b2lkKSkpOworUFVSRUZVTkMoTUFZ
QkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3dpZHRoX2R1cCh2b2lkKSkpOworUFVSRUZV
TkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYXR0cl9iaW5fZHVw
bihyYl9udW1fdCBuKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJf
aGFuZGxlc19zcF9kdXBuKHJiX251bV90IG4pKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3Rh
dGljIGJvb2wgYXR0cl9sZWFmX2R1cG4ocmJfbnVtX3QgbikpKTsKK1BVUkVGVU5DKE1BWUJFX1VO
VVNFRChzdGF0aWMgY29uc3QgY2hhciogYXR0cl9uYW1lX2R1cG4ocmJfbnVtX3QgbikpKTsKK1BV
UkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9vcGVuX2R1cG4ocmJfbnVt
X3QgbikpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9wb3Bu
X2R1cG4ocmJfbnVtX3QgbikpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVt
X3QgYXR0cl9yZXRuX2R1cG4ocmJfbnVtX3QgbikpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChz
dGF0aWMgcmJfc251bV90IGF0dHJfc3BfaW5jX2R1cG4ocmJfbnVtX3QgbikpKTsKK1BVUkVGVU5D
KE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl93aWR0aF9kdXBuKHJiX251bV90IG4p
KSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGVudW0gcnVieV92bWluc25fdHlwZSBh
dHRyX2Jpbl9zd2FwKHZvaWQpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wg
YXR0cl9oYW5kbGVzX3NwX3N3YXAodm9pZCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0
aWMgYm9vbCBhdHRyX2xlYWZfc3dhcCh2b2lkKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0
YXRpYyBjb25zdCBjaGFyKiBhdHRyX25hbWVfc3dhcCh2b2lkKSkpOworUFVSRUZVTkMoTUFZQkVf
VU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX29wZW5fc3dhcCh2b2lkKSkpOworUFVSRUZVTkMo
TUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3BvcG5fc3dhcCh2b2lkKSkpOworUFVS
RUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3JldG5fc3dhcCh2b2lkKSkp
OworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9zbnVtX3QgYXR0cl9zcF9pbmNfc3dh
cCh2b2lkKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3dp
ZHRoX3N3YXAodm9pZCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgZW51bSBydWJ5
X3ZtaW5zbl90eXBlIGF0dHJfYmluX3JldmVyc2UocmJfbnVtX3QgbikpKTsKK1BVUkVGVU5DKE1B
WUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2hhbmRsZXNfc3BfcmV2ZXJzZShyYl9udW1fdCBu
KSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfbGVhZl9yZXZlcnNl
KHJiX251bV90IG4pKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGNvbnN0IGNoYXIq
IGF0dHJfbmFtZV9yZXZlcnNlKHJiX251bV90IG4pKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQo
c3RhdGljIHJiX251bV90IGF0dHJfb3Blbl9yZXZlcnNlKHJiX251bV90IG4pKSk7CitQVVJFRlVO
QyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcG9wbl9yZXZlcnNlKHJiX251bV90
IG4pKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcmV0bl9y
ZXZlcnNlKHJiX251bV90IG4pKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX3Nu
dW1fdCBhdHRyX3NwX2luY19yZXZlcnNlKHJiX251bV90IG4pKSk7CitQVVJFRlVOQyhNQVlCRV9V
TlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfd2lkdGhfcmV2ZXJzZShyYl9udW1fdCBuKSkpOwor
UFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYXR0cl9i
aW5fcmVwdXQodm9pZCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRy
X2hhbmRsZXNfc3BfcmVwdXQodm9pZCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMg
Ym9vbCBhdHRyX2xlYWZfcmVwdXQodm9pZCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0
aWMgY29uc3QgY2hhciogYXR0cl9uYW1lX3JlcHV0KHZvaWQpKSk7CitQVVJFRlVOQyhNQVlCRV9V
TlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfb3Blbl9yZXB1dCh2b2lkKSkpOworUFVSRUZVTkMo
TUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3BvcG5fcmVwdXQodm9pZCkpKTsKK1BV
UkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9yZXRuX3JlcHV0KHZvaWQp
KSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX3NudW1fdCBhdHRyX3NwX2luY19y
ZXB1dCh2b2lkKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRy
X3dpZHRoX3JlcHV0KHZvaWQpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGVudW0g
cnVieV92bWluc25fdHlwZSBhdHRyX2Jpbl90b3BuKHJiX251bV90IG4pKSk7CitQVVJFRlVOQyhN
QVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9oYW5kbGVzX3NwX3RvcG4ocmJfbnVtX3Qgbikp
KTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2xlYWZfdG9wbihyYl9u
dW1fdCBuKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBjb25zdCBjaGFyKiBhdHRy
X25hbWVfdG9wbihyYl9udW1fdCBuKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBy
Yl9udW1fdCBhdHRyX29wZW5fdG9wbihyYl9udW1fdCBuKSkpOworUFVSRUZVTkMoTUFZQkVfVU5V
U0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3BvcG5fdG9wbihyYl9udW1fdCBuKSkpOworUFVSRUZV
TkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3JldG5fdG9wbihyYl9udW1fdCBu
KSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9zbnVtX3QgYXR0cl9zcF9pbmNf
dG9wbihyYl9udW1fdCBuKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1f
dCBhdHRyX3dpZHRoX3RvcG4ocmJfbnVtX3QgbikpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChz
dGF0aWMgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGF0dHJfYmluX3NldG4ocmJfbnVtX3QgbikpKTsK
K1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2hhbmRsZXNfc3Bfc2V0bihy
Yl9udW1fdCBuKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfbGVh
Zl9zZXRuKHJiX251bV90IG4pKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGNvbnN0
IGNoYXIqIGF0dHJfbmFtZV9zZXRuKHJiX251bV90IG4pKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVT
RUQoc3RhdGljIHJiX251bV90IGF0dHJfb3Blbl9zZXRuKHJiX251bV90IG4pKSk7CitQVVJFRlVO
QyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcG9wbl9zZXRuKHJiX251bV90IG4p
KSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcmV0bl9zZXRu
KHJiX251bV90IG4pKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX3NudW1fdCBh
dHRyX3NwX2luY19zZXRuKHJiX251bV90IG4pKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3Rh
dGljIHJiX251bV90IGF0dHJfd2lkdGhfc2V0bihyYl9udW1fdCBuKSkpOworUFVSRUZVTkMoTUFZ
QkVfVU5VU0VEKHN0YXRpYyBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYXR0cl9iaW5fYWRqdXN0c3Rh
Y2socmJfbnVtX3QgbikpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRy
X2hhbmRsZXNfc3BfYWRqdXN0c3RhY2socmJfbnVtX3QgbikpKTsKK1BVUkVGVU5DKE1BWUJFX1VO
VVNFRChzdGF0aWMgYm9vbCBhdHRyX2xlYWZfYWRqdXN0c3RhY2socmJfbnVtX3QgbikpKTsKK1BV
UkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgY29uc3QgY2hhciogYXR0cl9uYW1lX2FkanVzdHN0
YWNrKHJiX251bV90IG4pKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90
IGF0dHJfb3Blbl9hZGp1c3RzdGFjayhyYl9udW1fdCBuKSkpOworUFVSRUZVTkMoTUFZQkVfVU5V
U0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3BvcG5fYWRqdXN0c3RhY2socmJfbnVtX3QgbikpKTsK
K1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9yZXRuX2FkanVzdHN0
YWNrKHJiX251bV90IG4pKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX3NudW1f
dCBhdHRyX3NwX2luY19hZGp1c3RzdGFjayhyYl9udW1fdCBuKSkpOworUFVSRUZVTkMoTUFZQkVf
VU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3dpZHRoX2FkanVzdHN0YWNrKHJiX251bV90IG4p
KSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGVudW0gcnVieV92bWluc25fdHlwZSBh
dHRyX2Jpbl9kZWZpbmVkKHJiX251bV90IG9wX3R5cGUsIFZBTFVFIG9iaiwgVkFMVUUgbmVlZHN0
cikpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2hhbmRsZXNfc3Bf
ZGVmaW5lZChyYl9udW1fdCBvcF90eXBlLCBWQUxVRSBvYmosIFZBTFVFIG5lZWRzdHIpKSk7CitQ
VVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9sZWFmX2RlZmluZWQocmJfbnVt
X3Qgb3BfdHlwZSwgVkFMVUUgb2JqLCBWQUxVRSBuZWVkc3RyKSkpOworUFVSRUZVTkMoTUFZQkVf
VU5VU0VEKHN0YXRpYyBjb25zdCBjaGFyKiBhdHRyX25hbWVfZGVmaW5lZChyYl9udW1fdCBvcF90
eXBlLCBWQUxVRSBvYmosIFZBTFVFIG5lZWRzdHIpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQo
c3RhdGljIHJiX251bV90IGF0dHJfb3Blbl9kZWZpbmVkKHJiX251bV90IG9wX3R5cGUsIFZBTFVF
IG9iaiwgVkFMVUUgbmVlZHN0cikpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJf
bnVtX3QgYXR0cl9wb3BuX2RlZmluZWQocmJfbnVtX3Qgb3BfdHlwZSwgVkFMVUUgb2JqLCBWQUxV
RSBuZWVkc3RyKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRy
X3JldG5fZGVmaW5lZChyYl9udW1fdCBvcF90eXBlLCBWQUxVRSBvYmosIFZBTFVFIG5lZWRzdHIp
KSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX3NudW1fdCBhdHRyX3NwX2luY19k
ZWZpbmVkKHJiX251bV90IG9wX3R5cGUsIFZBTFVFIG9iaiwgVkFMVUUgbmVlZHN0cikpKTsKK1BV
UkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl93aWR0aF9kZWZpbmVkKHJi
X251bV90IG9wX3R5cGUsIFZBTFVFIG9iaiwgVkFMVUUgbmVlZHN0cikpKTsKK1BVUkVGVU5DKE1B
WUJFX1VOVVNFRChzdGF0aWMgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGF0dHJfYmluX2NoZWNrbWF0
Y2gocmJfbnVtX3QgZmxhZykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBh
dHRyX2hhbmRsZXNfc3BfY2hlY2ttYXRjaChyYl9udW1fdCBmbGFnKSkpOworUFVSRUZVTkMoTUFZ
QkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfbGVhZl9jaGVja21hdGNoKHJiX251bV90IGZsYWcp
KSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGNvbnN0IGNoYXIqIGF0dHJfbmFtZV9j
aGVja21hdGNoKHJiX251bV90IGZsYWcpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGlj
IHJiX251bV90IGF0dHJfb3Blbl9jaGVja21hdGNoKHJiX251bV90IGZsYWcpKSk7CitQVVJFRlVO
QyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcG9wbl9jaGVja21hdGNoKHJiX251
bV90IGZsYWcpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJf
cmV0bl9jaGVja21hdGNoKHJiX251bV90IGZsYWcpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQo
c3RhdGljIHJiX3NudW1fdCBhdHRyX3NwX2luY19jaGVja21hdGNoKHJiX251bV90IGZsYWcpKSk7
CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfd2lkdGhfY2hlY2tt
YXRjaChyYl9udW1fdCBmbGFnKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBlbnVt
IHJ1Ynlfdm1pbnNuX3R5cGUgYXR0cl9iaW5fY2hlY2trZXl3b3JkKGxpbmRleF90IGt3X2JpdHNf
aW5kZXgsIGxpbmRleF90IGtleXdvcmRfaW5kZXgpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQo
c3RhdGljIGJvb2wgYXR0cl9oYW5kbGVzX3NwX2NoZWNra2V5d29yZChsaW5kZXhfdCBrd19iaXRz
X2luZGV4LCBsaW5kZXhfdCBrZXl3b3JkX2luZGV4KSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VE
KHN0YXRpYyBib29sIGF0dHJfbGVhZl9jaGVja2tleXdvcmQobGluZGV4X3Qga3dfYml0c19pbmRl
eCwgbGluZGV4X3Qga2V5d29yZF9pbmRleCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0
aWMgY29uc3QgY2hhciogYXR0cl9uYW1lX2NoZWNra2V5d29yZChsaW5kZXhfdCBrd19iaXRzX2lu
ZGV4LCBsaW5kZXhfdCBrZXl3b3JkX2luZGV4KSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0
YXRpYyByYl9udW1fdCBhdHRyX29wZW5fY2hlY2trZXl3b3JkKGxpbmRleF90IGt3X2JpdHNfaW5k
ZXgsIGxpbmRleF90IGtleXdvcmRfaW5kZXgpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3Rh
dGljIHJiX251bV90IGF0dHJfcG9wbl9jaGVja2tleXdvcmQobGluZGV4X3Qga3dfYml0c19pbmRl
eCwgbGluZGV4X3Qga2V5d29yZF9pbmRleCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0
aWMgcmJfbnVtX3QgYXR0cl9yZXRuX2NoZWNra2V5d29yZChsaW5kZXhfdCBrd19iaXRzX2luZGV4
LCBsaW5kZXhfdCBrZXl3b3JkX2luZGV4KSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRp
YyByYl9zbnVtX3QgYXR0cl9zcF9pbmNfY2hlY2trZXl3b3JkKGxpbmRleF90IGt3X2JpdHNfaW5k
ZXgsIGxpbmRleF90IGtleXdvcmRfaW5kZXgpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3Rh
dGljIHJiX251bV90IGF0dHJfd2lkdGhfY2hlY2trZXl3b3JkKGxpbmRleF90IGt3X2JpdHNfaW5k
ZXgsIGxpbmRleF90IGtleXdvcmRfaW5kZXgpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3Rh
dGljIGVudW0gcnVieV92bWluc25fdHlwZSBhdHRyX2Jpbl9jaGVja3R5cGUocmJfbnVtX3QgdHlw
ZSkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2hhbmRsZXNfc3Bf
Y2hlY2t0eXBlKHJiX251bV90IHR5cGUpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGlj
IGJvb2wgYXR0cl9sZWFmX2NoZWNrdHlwZShyYl9udW1fdCB0eXBlKSkpOworUFVSRUZVTkMoTUFZ
QkVfVU5VU0VEKHN0YXRpYyBjb25zdCBjaGFyKiBhdHRyX25hbWVfY2hlY2t0eXBlKHJiX251bV90
IHR5cGUpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfb3Bl
bl9jaGVja3R5cGUocmJfbnVtX3QgdHlwZSkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0
aWMgcmJfbnVtX3QgYXR0cl9wb3BuX2NoZWNrdHlwZShyYl9udW1fdCB0eXBlKSkpOworUFVSRUZV
TkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3JldG5fY2hlY2t0eXBlKHJiX251
bV90IHR5cGUpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX3NudW1fdCBhdHRy
X3NwX2luY19jaGVja3R5cGUocmJfbnVtX3QgdHlwZSkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNF
RChzdGF0aWMgcmJfbnVtX3QgYXR0cl93aWR0aF9jaGVja3R5cGUocmJfbnVtX3QgdHlwZSkpKTsK
K1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGF0dHJf
YmluX2RlZmluZWNsYXNzKElEIGlkLCBJU0VRIGNsYXNzX2lzZXEsIHJiX251bV90IGZsYWdzKSkp
OworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfaGFuZGxlc19zcF9kZWZp
bmVjbGFzcyhJRCBpZCwgSVNFUSBjbGFzc19pc2VxLCByYl9udW1fdCBmbGFncykpKTsKK1BVUkVG
VU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2xlYWZfZGVmaW5lY2xhc3MoSUQgaWQs
IElTRVEgY2xhc3NfaXNlcSwgcmJfbnVtX3QgZmxhZ3MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVT
RUQoc3RhdGljIGNvbnN0IGNoYXIqIGF0dHJfbmFtZV9kZWZpbmVjbGFzcyhJRCBpZCwgSVNFUSBj
bGFzc19pc2VxLCByYl9udW1fdCBmbGFncykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0
aWMgcmJfbnVtX3QgYXR0cl9vcGVuX2RlZmluZWNsYXNzKElEIGlkLCBJU0VRIGNsYXNzX2lzZXEs
IHJiX251bV90IGZsYWdzKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1f
dCBhdHRyX3BvcG5fZGVmaW5lY2xhc3MoSUQgaWQsIElTRVEgY2xhc3NfaXNlcSwgcmJfbnVtX3Qg
ZmxhZ3MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcmV0
bl9kZWZpbmVjbGFzcyhJRCBpZCwgSVNFUSBjbGFzc19pc2VxLCByYl9udW1fdCBmbGFncykpKTsK
K1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfc251bV90IGF0dHJfc3BfaW5jX2RlZmlu
ZWNsYXNzKElEIGlkLCBJU0VRIGNsYXNzX2lzZXEsIHJiX251bV90IGZsYWdzKSkpOworUFVSRUZV
TkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3dpZHRoX2RlZmluZWNsYXNzKElE
IGlkLCBJU0VRIGNsYXNzX2lzZXEsIHJiX251bV90IGZsYWdzKSkpOworUFVSRUZVTkMoTUFZQkVf
VU5VU0VEKHN0YXRpYyBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYXR0cl9iaW5fc2VuZChDQUxMX0lO
Rk8gY2ksIENBTExfQ0FDSEUgY2MsIElTRVEgYmxvY2tpc2VxKSkpOworUFVSRUZVTkMoTUFZQkVf
VU5VU0VEKHN0YXRpYyBib29sIGF0dHJfaGFuZGxlc19zcF9zZW5kKENBTExfSU5GTyBjaSwgQ0FM
TF9DQUNIRSBjYywgSVNFUSBibG9ja2lzZXEpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3Rh
dGljIGJvb2wgYXR0cl9sZWFmX3NlbmQoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjLCBJU0VR
IGJsb2NraXNlcSkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgY29uc3QgY2hhciog
YXR0cl9uYW1lX3NlbmQoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjLCBJU0VRIGJsb2NraXNl
cSkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9vcGVuX3Nl
bmQoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjLCBJU0VRIGJsb2NraXNlcSkpKTsKK1BVUkVG
VU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9wb3BuX3NlbmQoQ0FMTF9JTkZP
IGNpLCBDQUxMX0NBQ0hFIGNjLCBJU0VRIGJsb2NraXNlcSkpKTsKK1BVUkVGVU5DKE1BWUJFX1VO
VVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9yZXRuX3NlbmQoQ0FMTF9JTkZPIGNpLCBDQUxMX0NB
Q0hFIGNjLCBJU0VRIGJsb2NraXNlcSkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMg
cmJfc251bV90IGF0dHJfc3BfaW5jX3NlbmQoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjLCBJ
U0VRIGJsb2NraXNlcSkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3Qg
YXR0cl93aWR0aF9zZW5kKENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYywgSVNFUSBibG9ja2lz
ZXEpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGVudW0gcnVieV92bWluc25fdHlw
ZSBhdHRyX2Jpbl9vcHRfc2VuZF93aXRob3V0X2Jsb2NrKENBTExfSU5GTyBjaSwgQ0FMTF9DQUNI
RSBjYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2hhbmRsZXNf
c3Bfb3B0X3NlbmRfd2l0aG91dF9ibG9jayhDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7
CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9sZWFmX29wdF9zZW5kX3dp
dGhvdXRfYmxvY2soQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOworUFVSRUZVTkMoTUFZ
QkVfVU5VU0VEKHN0YXRpYyBjb25zdCBjaGFyKiBhdHRyX25hbWVfb3B0X3NlbmRfd2l0aG91dF9i
bG9jayhDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVT
RUQoc3RhdGljIHJiX251bV90IGF0dHJfb3Blbl9vcHRfc2VuZF93aXRob3V0X2Jsb2NrKENBTExf
SU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMg
cmJfbnVtX3QgYXR0cl9wb3BuX29wdF9zZW5kX3dpdGhvdXRfYmxvY2soQ0FMTF9JTkZPIGNpLCBD
QUxMX0NBQ0hFIGNjKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBh
dHRyX3JldG5fb3B0X3NlbmRfd2l0aG91dF9ibG9jayhDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUg
Y2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX3NudW1fdCBhdHRyX3NwX2lu
Y19vcHRfc2VuZF93aXRob3V0X2Jsb2NrKENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsK
K1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl93aWR0aF9vcHRfc2Vu
ZF93aXRob3V0X2Jsb2NrKENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKK1BVUkVGVU5D
KE1BWUJFX1VOVVNFRChzdGF0aWMgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGF0dHJfYmluX29wdF9z
dHJfZnJlZXplKFZBTFVFIHN0ciwgQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOworUFVS
RUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfaGFuZGxlc19zcF9vcHRfc3RyX2Zy
ZWV6ZShWQUxVRSBzdHIsIENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKK1BVUkVGVU5D
KE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2xlYWZfb3B0X3N0cl9mcmVlemUoVkFMVUUg
c3RyLCBDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVT
RUQoc3RhdGljIGNvbnN0IGNoYXIqIGF0dHJfbmFtZV9vcHRfc3RyX2ZyZWV6ZShWQUxVRSBzdHIs
IENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChz
dGF0aWMgcmJfbnVtX3QgYXR0cl9vcGVuX29wdF9zdHJfZnJlZXplKFZBTFVFIHN0ciwgQ0FMTF9J
TkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBy
Yl9udW1fdCBhdHRyX3BvcG5fb3B0X3N0cl9mcmVlemUoVkFMVUUgc3RyLCBDQUxMX0lORk8gY2ks
IENBTExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90
IGF0dHJfcmV0bl9vcHRfc3RyX2ZyZWV6ZShWQUxVRSBzdHIsIENBTExfSU5GTyBjaSwgQ0FMTF9D
QUNIRSBjYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfc251bV90IGF0dHJf
c3BfaW5jX29wdF9zdHJfZnJlZXplKFZBTFVFIHN0ciwgQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hF
IGNjKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3dpZHRo
X29wdF9zdHJfZnJlZXplKFZBTFVFIHN0ciwgQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkp
OworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYXR0
cl9iaW5fb3B0X3N0cl91bWludXMoVkFMVUUgc3RyLCBDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUg
Y2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9oYW5kbGVzX3Nw
X29wdF9zdHJfdW1pbnVzKFZBTFVFIHN0ciwgQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkp
OworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfbGVhZl9vcHRfc3RyX3Vt
aW51cyhWQUxVRSBzdHIsIENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKK1BVUkVGVU5D
KE1BWUJFX1VOVVNFRChzdGF0aWMgY29uc3QgY2hhciogYXR0cl9uYW1lX29wdF9zdHJfdW1pbnVz
KFZBTFVFIHN0ciwgQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOworUFVSRUZVTkMoTUFZ
QkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX29wZW5fb3B0X3N0cl91bWludXMoVkFMVUUg
c3RyLCBDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVT
RUQoc3RhdGljIHJiX251bV90IGF0dHJfcG9wbl9vcHRfc3RyX3VtaW51cyhWQUxVRSBzdHIsIENB
TExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0
aWMgcmJfbnVtX3QgYXR0cl9yZXRuX29wdF9zdHJfdW1pbnVzKFZBTFVFIHN0ciwgQ0FMTF9JTkZP
IGNpLCBDQUxMX0NBQ0hFIGNjKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9z
bnVtX3QgYXR0cl9zcF9pbmNfb3B0X3N0cl91bWludXMoVkFMVUUgc3RyLCBDQUxMX0lORk8gY2ks
IENBTExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90
IGF0dHJfd2lkdGhfb3B0X3N0cl91bWludXMoVkFMVUUgc3RyLCBDQUxMX0lORk8gY2ksIENBTExf
Q0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGVudW0gcnVieV92bWlu
c25fdHlwZSBhdHRyX2Jpbl9vcHRfbmV3YXJyYXlfbWF4KHJiX251bV90IG51bSkpKTsKK1BVUkVG
VU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2hhbmRsZXNfc3Bfb3B0X25ld2FycmF5
X21heChyYl9udW1fdCBudW0pKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wg
YXR0cl9sZWFmX29wdF9uZXdhcnJheV9tYXgocmJfbnVtX3QgbnVtKSkpOworUFVSRUZVTkMoTUFZ
QkVfVU5VU0VEKHN0YXRpYyBjb25zdCBjaGFyKiBhdHRyX25hbWVfb3B0X25ld2FycmF5X21heChy
Yl9udW1fdCBudW0pKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0
dHJfb3Blbl9vcHRfbmV3YXJyYXlfbWF4KHJiX251bV90IG51bSkpKTsKK1BVUkVGVU5DKE1BWUJF
X1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9wb3BuX29wdF9uZXdhcnJheV9tYXgocmJfbnVt
X3QgbnVtKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3Jl
dG5fb3B0X25ld2FycmF5X21heChyYl9udW1fdCBudW0pKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVT
RUQoc3RhdGljIHJiX3NudW1fdCBhdHRyX3NwX2luY19vcHRfbmV3YXJyYXlfbWF4KHJiX251bV90
IG51bSkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl93aWR0
aF9vcHRfbmV3YXJyYXlfbWF4KHJiX251bV90IG51bSkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNF
RChzdGF0aWMgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGF0dHJfYmluX29wdF9uZXdhcnJheV9taW4o
cmJfbnVtX3QgbnVtKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJf
aGFuZGxlc19zcF9vcHRfbmV3YXJyYXlfbWluKHJiX251bV90IG51bSkpKTsKK1BVUkVGVU5DKE1B
WUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2xlYWZfb3B0X25ld2FycmF5X21pbihyYl9udW1f
dCBudW0pKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGNvbnN0IGNoYXIqIGF0dHJf
bmFtZV9vcHRfbmV3YXJyYXlfbWluKHJiX251bV90IG51bSkpKTsKK1BVUkVGVU5DKE1BWUJFX1VO
VVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9vcGVuX29wdF9uZXdhcnJheV9taW4ocmJfbnVtX3Qg
bnVtKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3BvcG5f
b3B0X25ld2FycmF5X21pbihyYl9udW1fdCBudW0pKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQo
c3RhdGljIHJiX251bV90IGF0dHJfcmV0bl9vcHRfbmV3YXJyYXlfbWluKHJiX251bV90IG51bSkp
KTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfc251bV90IGF0dHJfc3BfaW5jX29w
dF9uZXdhcnJheV9taW4ocmJfbnVtX3QgbnVtKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0
YXRpYyByYl9udW1fdCBhdHRyX3dpZHRoX29wdF9uZXdhcnJheV9taW4ocmJfbnVtX3QgbnVtKSkp
OworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYXR0
cl9iaW5faW52b2tlc3VwZXIoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjLCBJU0VRIGJsb2Nr
aXNlcSkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2hhbmRsZXNf
c3BfaW52b2tlc3VwZXIoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjLCBJU0VRIGJsb2NraXNl
cSkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2xlYWZfaW52b2tl
c3VwZXIoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjLCBJU0VRIGJsb2NraXNlcSkpKTsKK1BV
UkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgY29uc3QgY2hhciogYXR0cl9uYW1lX2ludm9rZXN1
cGVyKENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYywgSVNFUSBibG9ja2lzZXEpKSk7CitQVVJF
RlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfb3Blbl9pbnZva2VzdXBlcihD
QUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MsIElTRVEgYmxvY2tpc2VxKSkpOworUFVSRUZVTkMo
TUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3BvcG5faW52b2tlc3VwZXIoQ0FMTF9J
TkZPIGNpLCBDQUxMX0NBQ0hFIGNjLCBJU0VRIGJsb2NraXNlcSkpKTsKK1BVUkVGVU5DKE1BWUJF
X1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9yZXRuX2ludm9rZXN1cGVyKENBTExfSU5GTyBj
aSwgQ0FMTF9DQUNIRSBjYywgSVNFUSBibG9ja2lzZXEpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVT
RUQoc3RhdGljIHJiX3NudW1fdCBhdHRyX3NwX2luY19pbnZva2VzdXBlcihDQUxMX0lORk8gY2ks
IENBTExfQ0FDSEUgY2MsIElTRVEgYmxvY2tpc2VxKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VE
KHN0YXRpYyByYl9udW1fdCBhdHRyX3dpZHRoX2ludm9rZXN1cGVyKENBTExfSU5GTyBjaSwgQ0FM
TF9DQUNIRSBjYywgSVNFUSBibG9ja2lzZXEpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3Rh
dGljIGVudW0gcnVieV92bWluc25fdHlwZSBhdHRyX2Jpbl9pbnZva2VibG9jayhDQUxMX0lORk8g
Y2kpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9oYW5kbGVzX3Nw
X2ludm9rZWJsb2NrKENBTExfSU5GTyBjaSkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0
aWMgYm9vbCBhdHRyX2xlYWZfaW52b2tlYmxvY2soQ0FMTF9JTkZPIGNpKSkpOworUFVSRUZVTkMo
TUFZQkVfVU5VU0VEKHN0YXRpYyBjb25zdCBjaGFyKiBhdHRyX25hbWVfaW52b2tlYmxvY2soQ0FM
TF9JTkZPIGNpKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRy
X29wZW5faW52b2tlYmxvY2soQ0FMTF9JTkZPIGNpKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VE
KHN0YXRpYyByYl9udW1fdCBhdHRyX3BvcG5faW52b2tlYmxvY2soQ0FMTF9JTkZPIGNpKSkpOwor
UFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3JldG5faW52b2tlYmxv
Y2soQ0FMTF9JTkZPIGNpKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9zbnVt
X3QgYXR0cl9zcF9pbmNfaW52b2tlYmxvY2soQ0FMTF9JTkZPIGNpKSkpOworUFVSRUZVTkMoTUFZ
QkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3dpZHRoX2ludm9rZWJsb2NrKENBTExfSU5G
TyBjaSkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgZW51bSBydWJ5X3ZtaW5zbl90
eXBlIGF0dHJfYmluX2xlYXZlKHZvaWQpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGlj
IGJvb2wgYXR0cl9oYW5kbGVzX3NwX2xlYXZlKHZvaWQpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVT
RUQoc3RhdGljIGJvb2wgYXR0cl9sZWFmX2xlYXZlKHZvaWQpKSk7CitQVVJFRlVOQyhNQVlCRV9V
TlVTRUQoc3RhdGljIGNvbnN0IGNoYXIqIGF0dHJfbmFtZV9sZWF2ZSh2b2lkKSkpOworUFVSRUZV
TkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX29wZW5fbGVhdmUodm9pZCkpKTsK
K1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9wb3BuX2xlYXZlKHZv
aWQpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcmV0bl9s
ZWF2ZSh2b2lkKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9zbnVtX3QgYXR0
cl9zcF9pbmNfbGVhdmUodm9pZCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJf
bnVtX3QgYXR0cl93aWR0aF9sZWF2ZSh2b2lkKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0
YXRpYyBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYXR0cl9iaW5fdGhyb3cocmJfbnVtX3QgdGhyb3df
c3RhdGUpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9oYW5kbGVz
X3NwX3Rocm93KHJiX251bV90IHRocm93X3N0YXRlKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VE
KHN0YXRpYyBib29sIGF0dHJfbGVhZl90aHJvdyhyYl9udW1fdCB0aHJvd19zdGF0ZSkpKTsKK1BV
UkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgY29uc3QgY2hhciogYXR0cl9uYW1lX3Rocm93KHJi
X251bV90IHRocm93X3N0YXRlKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9u
dW1fdCBhdHRyX29wZW5fdGhyb3cocmJfbnVtX3QgdGhyb3dfc3RhdGUpKSk7CitQVVJFRlVOQyhN
QVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcG9wbl90aHJvdyhyYl9udW1fdCB0aHJv
d19zdGF0ZSkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9y
ZXRuX3Rocm93KHJiX251bV90IHRocm93X3N0YXRlKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VE
KHN0YXRpYyByYl9zbnVtX3QgYXR0cl9zcF9pbmNfdGhyb3cocmJfbnVtX3QgdGhyb3dfc3RhdGUp
KSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfd2lkdGhfdGhy
b3cocmJfbnVtX3QgdGhyb3dfc3RhdGUpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGlj
IGVudW0gcnVieV92bWluc25fdHlwZSBhdHRyX2Jpbl9qdW1wKE9GRlNFVCBkc3QpKSk7CitQVVJF
RlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9oYW5kbGVzX3NwX2p1bXAoT0ZGU0VU
IGRzdCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2xlYWZfanVt
cChPRkZTRVQgZHN0KSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBjb25zdCBjaGFy
KiBhdHRyX25hbWVfanVtcChPRkZTRVQgZHN0KSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0
YXRpYyByYl9udW1fdCBhdHRyX29wZW5fanVtcChPRkZTRVQgZHN0KSkpOworUFVSRUZVTkMoTUFZ
QkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3BvcG5fanVtcChPRkZTRVQgZHN0KSkpOwor
UFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3JldG5fanVtcChPRkZT
RVQgZHN0KSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9zbnVtX3QgYXR0cl9z
cF9pbmNfanVtcChPRkZTRVQgZHN0KSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBy
Yl9udW1fdCBhdHRyX3dpZHRoX2p1bXAoT0ZGU0VUIGRzdCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VO
VVNFRChzdGF0aWMgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGF0dHJfYmluX2JyYW5jaGlmKE9GRlNF
VCBkc3QpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9oYW5kbGVz
X3NwX2JyYW5jaGlmKE9GRlNFVCBkc3QpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGlj
IGJvb2wgYXR0cl9sZWFmX2JyYW5jaGlmKE9GRlNFVCBkc3QpKSk7CitQVVJFRlVOQyhNQVlCRV9V
TlVTRUQoc3RhdGljIGNvbnN0IGNoYXIqIGF0dHJfbmFtZV9icmFuY2hpZihPRkZTRVQgZHN0KSkp
OworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX29wZW5fYnJhbmNo
aWYoT0ZGU0VUIGRzdCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3Qg
YXR0cl9wb3BuX2JyYW5jaGlmKE9GRlNFVCBkc3QpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQo
c3RhdGljIHJiX251bV90IGF0dHJfcmV0bl9icmFuY2hpZihPRkZTRVQgZHN0KSkpOworUFVSRUZV
TkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9zbnVtX3QgYXR0cl9zcF9pbmNfYnJhbmNoaWYoT0ZG
U0VUIGRzdCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl93
aWR0aF9icmFuY2hpZihPRkZTRVQgZHN0KSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRp
YyBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYXR0cl9iaW5fYnJhbmNodW5sZXNzKE9GRlNFVCBkc3Qp
KSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9oYW5kbGVzX3NwX2Jy
YW5jaHVubGVzcyhPRkZTRVQgZHN0KSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBi
b29sIGF0dHJfbGVhZl9icmFuY2h1bmxlc3MoT0ZGU0VUIGRzdCkpKTsKK1BVUkVGVU5DKE1BWUJF
X1VOVVNFRChzdGF0aWMgY29uc3QgY2hhciogYXR0cl9uYW1lX2JyYW5jaHVubGVzcyhPRkZTRVQg
ZHN0KSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX29wZW5f
YnJhbmNodW5sZXNzKE9GRlNFVCBkc3QpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGlj
IHJiX251bV90IGF0dHJfcG9wbl9icmFuY2h1bmxlc3MoT0ZGU0VUIGRzdCkpKTsKK1BVUkVGVU5D
KE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9yZXRuX2JyYW5jaHVubGVzcyhPRkZT
RVQgZHN0KSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9zbnVtX3QgYXR0cl9z
cF9pbmNfYnJhbmNodW5sZXNzKE9GRlNFVCBkc3QpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQo
c3RhdGljIHJiX251bV90IGF0dHJfd2lkdGhfYnJhbmNodW5sZXNzKE9GRlNFVCBkc3QpKSk7CitQ
VVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGVudW0gcnVieV92bWluc25fdHlwZSBhdHRyX2Jp
bl9icmFuY2huaWwoT0ZGU0VUIGRzdCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMg
Ym9vbCBhdHRyX2hhbmRsZXNfc3BfYnJhbmNobmlsKE9GRlNFVCBkc3QpKSk7CitQVVJFRlVOQyhN
QVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9sZWFmX2JyYW5jaG5pbChPRkZTRVQgZHN0KSkp
OworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBjb25zdCBjaGFyKiBhdHRyX25hbWVfYnJh
bmNobmlsKE9GRlNFVCBkc3QpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251
bV90IGF0dHJfb3Blbl9icmFuY2huaWwoT0ZGU0VUIGRzdCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VO
VVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9wb3BuX2JyYW5jaG5pbChPRkZTRVQgZHN0KSkpOwor
UFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3JldG5fYnJhbmNobmls
KE9GRlNFVCBkc3QpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX3NudW1fdCBh
dHRyX3NwX2luY19icmFuY2huaWwoT0ZGU0VUIGRzdCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNF
RChzdGF0aWMgcmJfbnVtX3QgYXR0cl93aWR0aF9icmFuY2huaWwoT0ZGU0VUIGRzdCkpKTsKK1BV
UkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGF0dHJfYmlu
X29wdF9nZXRpbmxpbmVjYWNoZShPRkZTRVQgZHN0LCBJQyBpYykpKTsKK1BVUkVGVU5DKE1BWUJF
X1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2hhbmRsZXNfc3Bfb3B0X2dldGlubGluZWNhY2hlKE9G
RlNFVCBkc3QsIElDIGljKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0
dHJfbGVhZl9vcHRfZ2V0aW5saW5lY2FjaGUoT0ZGU0VUIGRzdCwgSUMgaWMpKSk7CitQVVJFRlVO
QyhNQVlCRV9VTlVTRUQoc3RhdGljIGNvbnN0IGNoYXIqIGF0dHJfbmFtZV9vcHRfZ2V0aW5saW5l
Y2FjaGUoT0ZGU0VUIGRzdCwgSUMgaWMpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGlj
IHJiX251bV90IGF0dHJfb3Blbl9vcHRfZ2V0aW5saW5lY2FjaGUoT0ZGU0VUIGRzdCwgSUMgaWMp
KSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcG9wbl9vcHRf
Z2V0aW5saW5lY2FjaGUoT0ZGU0VUIGRzdCwgSUMgaWMpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVT
RUQoc3RhdGljIHJiX251bV90IGF0dHJfcmV0bl9vcHRfZ2V0aW5saW5lY2FjaGUoT0ZGU0VUIGRz
dCwgSUMgaWMpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX3NudW1fdCBhdHRy
X3NwX2luY19vcHRfZ2V0aW5saW5lY2FjaGUoT0ZGU0VUIGRzdCwgSUMgaWMpKSk7CitQVVJFRlVO
QyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfd2lkdGhfb3B0X2dldGlubGluZWNh
Y2hlKE9GRlNFVCBkc3QsIElDIGljKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBl
bnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYXR0cl9iaW5fb3B0X3NldGlubGluZWNhY2hlKElDIGljKSkp
OworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfaGFuZGxlc19zcF9vcHRf
c2V0aW5saW5lY2FjaGUoSUMgaWMpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJv
b2wgYXR0cl9sZWFmX29wdF9zZXRpbmxpbmVjYWNoZShJQyBpYykpKTsKK1BVUkVGVU5DKE1BWUJF
X1VOVVNFRChzdGF0aWMgY29uc3QgY2hhciogYXR0cl9uYW1lX29wdF9zZXRpbmxpbmVjYWNoZShJ
QyBpYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9vcGVu
X29wdF9zZXRpbmxpbmVjYWNoZShJQyBpYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0
aWMgcmJfbnVtX3QgYXR0cl9wb3BuX29wdF9zZXRpbmxpbmVjYWNoZShJQyBpYykpKTsKK1BVUkVG
VU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9yZXRuX29wdF9zZXRpbmxpbmVj
YWNoZShJQyBpYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfc251bV90IGF0
dHJfc3BfaW5jX29wdF9zZXRpbmxpbmVjYWNoZShJQyBpYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VO
VVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl93aWR0aF9vcHRfc2V0aW5saW5lY2FjaGUoSUMgaWMp
KSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGVudW0gcnVieV92bWluc25fdHlwZSBh
dHRyX2Jpbl9vbmNlKElTRVEgaXNlcSwgSVNFIGlzZSkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNF
RChzdGF0aWMgYm9vbCBhdHRyX2hhbmRsZXNfc3Bfb25jZShJU0VRIGlzZXEsIElTRSBpc2UpKSk7
CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9sZWFmX29uY2UoSVNFUSBp
c2VxLCBJU0UgaXNlKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBjb25zdCBjaGFy
KiBhdHRyX25hbWVfb25jZShJU0VRIGlzZXEsIElTRSBpc2UpKSk7CitQVVJFRlVOQyhNQVlCRV9V
TlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfb3Blbl9vbmNlKElTRVEgaXNlcSwgSVNFIGlzZSkp
KTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9wb3BuX29uY2Uo
SVNFUSBpc2VxLCBJU0UgaXNlKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9u
dW1fdCBhdHRyX3JldG5fb25jZShJU0VRIGlzZXEsIElTRSBpc2UpKSk7CitQVVJFRlVOQyhNQVlC
RV9VTlVTRUQoc3RhdGljIHJiX3NudW1fdCBhdHRyX3NwX2luY19vbmNlKElTRVEgaXNlcSwgSVNF
IGlzZSkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl93aWR0
aF9vbmNlKElTRVEgaXNlcSwgSVNFIGlzZSkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0
aWMgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGF0dHJfYmluX29wdF9jYXNlX2Rpc3BhdGNoKENESEFT
SCBoYXNoLCBPRkZTRVQgZWxzZV9vZmZzZXQpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3Rh
dGljIGJvb2wgYXR0cl9oYW5kbGVzX3NwX29wdF9jYXNlX2Rpc3BhdGNoKENESEFTSCBoYXNoLCBP
RkZTRVQgZWxzZV9vZmZzZXQpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wg
YXR0cl9sZWFmX29wdF9jYXNlX2Rpc3BhdGNoKENESEFTSCBoYXNoLCBPRkZTRVQgZWxzZV9vZmZz
ZXQpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGNvbnN0IGNoYXIqIGF0dHJfbmFt
ZV9vcHRfY2FzZV9kaXNwYXRjaChDREhBU0ggaGFzaCwgT0ZGU0VUIGVsc2Vfb2Zmc2V0KSkpOwor
UFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX29wZW5fb3B0X2Nhc2Vf
ZGlzcGF0Y2goQ0RIQVNIIGhhc2gsIE9GRlNFVCBlbHNlX29mZnNldCkpKTsKK1BVUkVGVU5DKE1B
WUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9wb3BuX29wdF9jYXNlX2Rpc3BhdGNoKENE
SEFTSCBoYXNoLCBPRkZTRVQgZWxzZV9vZmZzZXQpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQo
c3RhdGljIHJiX251bV90IGF0dHJfcmV0bl9vcHRfY2FzZV9kaXNwYXRjaChDREhBU0ggaGFzaCwg
T0ZGU0VUIGVsc2Vfb2Zmc2V0KSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9z
bnVtX3QgYXR0cl9zcF9pbmNfb3B0X2Nhc2VfZGlzcGF0Y2goQ0RIQVNIIGhhc2gsIE9GRlNFVCBl
bHNlX29mZnNldCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0
cl93aWR0aF9vcHRfY2FzZV9kaXNwYXRjaChDREhBU0ggaGFzaCwgT0ZGU0VUIGVsc2Vfb2Zmc2V0
KSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUg
YXR0cl9iaW5fb3B0X3BsdXMoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOworUFVSRUZV
TkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfaGFuZGxlc19zcF9vcHRfcGx1cyhDQUxM
X0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGlj
IGJvb2wgYXR0cl9sZWFmX29wdF9wbHVzKENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsK
K1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgY29uc3QgY2hhciogYXR0cl9uYW1lX29wdF9w
bHVzKENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNF
RChzdGF0aWMgcmJfbnVtX3QgYXR0cl9vcGVuX29wdF9wbHVzKENBTExfSU5GTyBjaSwgQ0FMTF9D
QUNIRSBjYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9w
b3BuX29wdF9wbHVzKENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKK1BVUkVGVU5DKE1B
WUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9yZXRuX29wdF9wbHVzKENBTExfSU5GTyBj
aSwgQ0FMTF9DQUNIRSBjYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfc251
bV90IGF0dHJfc3BfaW5jX29wdF9wbHVzKENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsK
K1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl93aWR0aF9vcHRfcGx1
cyhDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQo
c3RhdGljIGVudW0gcnVieV92bWluc25fdHlwZSBhdHRyX2Jpbl9vcHRfbWludXMoQ0FMTF9JTkZP
IGNpLCBDQUxMX0NBQ0hFIGNjKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29s
IGF0dHJfaGFuZGxlc19zcF9vcHRfbWludXMoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkp
OworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfbGVhZl9vcHRfbWludXMo
Q0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0
YXRpYyBjb25zdCBjaGFyKiBhdHRyX25hbWVfb3B0X21pbnVzKENBTExfSU5GTyBjaSwgQ0FMTF9D
QUNIRSBjYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9v
cGVuX29wdF9taW51cyhDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhN
QVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcG9wbl9vcHRfbWludXMoQ0FMTF9JTkZP
IGNpLCBDQUxMX0NBQ0hFIGNjKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9u
dW1fdCBhdHRyX3JldG5fb3B0X21pbnVzKENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsK
K1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfc251bV90IGF0dHJfc3BfaW5jX29wdF9t
aW51cyhDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVT
RUQoc3RhdGljIHJiX251bV90IGF0dHJfd2lkdGhfb3B0X21pbnVzKENBTExfSU5GTyBjaSwgQ0FM
TF9DQUNIRSBjYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgZW51bSBydWJ5X3Zt
aW5zbl90eXBlIGF0dHJfYmluX29wdF9tdWx0KENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykp
KTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2hhbmRsZXNfc3Bfb3B0
X211bHQoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOworUFVSRUZVTkMoTUFZQkVfVU5V
U0VEKHN0YXRpYyBib29sIGF0dHJfbGVhZl9vcHRfbXVsdChDQUxMX0lORk8gY2ksIENBTExfQ0FD
SEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGNvbnN0IGNoYXIqIGF0dHJf
bmFtZV9vcHRfbXVsdChDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhN
QVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfb3Blbl9vcHRfbXVsdChDQUxMX0lORk8g
Y2ksIENBTExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251
bV90IGF0dHJfcG9wbl9vcHRfbXVsdChDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7CitQ
VVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcmV0bl9vcHRfbXVsdChD
QUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3Rh
dGljIHJiX3NudW1fdCBhdHRyX3NwX2luY19vcHRfbXVsdChDQUxMX0lORk8gY2ksIENBTExfQ0FD
SEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfd2lk
dGhfb3B0X211bHQoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOworUFVSRUZVTkMoTUFZ
QkVfVU5VU0VEKHN0YXRpYyBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYXR0cl9iaW5fb3B0X2RpdihD
QUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3Rh
dGljIGJvb2wgYXR0cl9oYW5kbGVzX3NwX29wdF9kaXYoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hF
IGNjKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfbGVhZl9vcHRf
ZGl2KENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNF
RChzdGF0aWMgY29uc3QgY2hhciogYXR0cl9uYW1lX29wdF9kaXYoQ0FMTF9JTkZPIGNpLCBDQUxM
X0NBQ0hFIGNjKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRy
X29wZW5fb3B0X2RpdihDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhN
QVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcG9wbl9vcHRfZGl2KENBTExfSU5GTyBj
aSwgQ0FMTF9DQUNIRSBjYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVt
X3QgYXR0cl9yZXRuX29wdF9kaXYoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOworUFVS
RUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9zbnVtX3QgYXR0cl9zcF9pbmNfb3B0X2RpdihD
QUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3Rh
dGljIHJiX251bV90IGF0dHJfd2lkdGhfb3B0X2RpdihDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUg
Y2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGVudW0gcnVieV92bWluc25fdHlw
ZSBhdHRyX2Jpbl9vcHRfbW9kKENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKK1BVUkVG
VU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2hhbmRsZXNfc3Bfb3B0X21vZChDQUxM
X0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGlj
IGJvb2wgYXR0cl9sZWFmX29wdF9tb2QoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwor
UFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBjb25zdCBjaGFyKiBhdHRyX25hbWVfb3B0X21v
ZChDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQo
c3RhdGljIHJiX251bV90IGF0dHJfb3Blbl9vcHRfbW9kKENBTExfSU5GTyBjaSwgQ0FMTF9DQUNI
RSBjYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9wb3Bu
X29wdF9tb2QoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOworUFVSRUZVTkMoTUFZQkVf
VU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3JldG5fb3B0X21vZChDQUxMX0lORk8gY2ksIENB
TExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX3NudW1fdCBh
dHRyX3NwX2luY19vcHRfbW9kKENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKK1BVUkVG
VU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl93aWR0aF9vcHRfbW9kKENBTExf
SU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMg
ZW51bSBydWJ5X3ZtaW5zbl90eXBlIGF0dHJfYmluX29wdF9lcShDQUxMX0lORk8gY2ksIENBTExf
Q0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9oYW5k
bGVzX3NwX29wdF9lcShDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhN
QVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9sZWFmX29wdF9lcShDQUxMX0lORk8gY2ksIENB
TExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGNvbnN0IGNoYXIq
IGF0dHJfbmFtZV9vcHRfZXEoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOworUFVSRUZV
TkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX29wZW5fb3B0X2VxKENBTExfSU5G
TyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJf
bnVtX3QgYXR0cl9wb3BuX29wdF9lcShDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7CitQ
VVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcmV0bl9vcHRfZXEoQ0FM
TF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRp
YyByYl9zbnVtX3QgYXR0cl9zcF9pbmNfb3B0X2VxKENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBj
YykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl93aWR0aF9v
cHRfZXEoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOworUFVSRUZVTkMoTUFZQkVfVU5V
U0VEKHN0YXRpYyBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYXR0cl9iaW5fb3B0X25lcShDQUxMX0lO
Rk8gY2lfZXEsIENBTExfQ0FDSEUgY2NfZXEsIENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykp
KTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2hhbmRsZXNfc3Bfb3B0
X25lcShDQUxMX0lORk8gY2lfZXEsIENBTExfQ0FDSEUgY2NfZXEsIENBTExfSU5GTyBjaSwgQ0FM
TF9DQUNIRSBjYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2xl
YWZfb3B0X25lcShDQUxMX0lORk8gY2lfZXEsIENBTExfQ0FDSEUgY2NfZXEsIENBTExfSU5GTyBj
aSwgQ0FMTF9DQUNIRSBjYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgY29uc3Qg
Y2hhciogYXR0cl9uYW1lX29wdF9uZXEoQ0FMTF9JTkZPIGNpX2VxLCBDQUxMX0NBQ0hFIGNjX2Vx
LCBDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQo
c3RhdGljIHJiX251bV90IGF0dHJfb3Blbl9vcHRfbmVxKENBTExfSU5GTyBjaV9lcSwgQ0FMTF9D
QUNIRSBjY19lcSwgQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOworUFVSRUZVTkMoTUFZ
QkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3BvcG5fb3B0X25lcShDQUxMX0lORk8gY2lf
ZXEsIENBTExfQ0FDSEUgY2NfZXEsIENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKK1BV
UkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9yZXRuX29wdF9uZXEoQ0FM
TF9JTkZPIGNpX2VxLCBDQUxMX0NBQ0hFIGNjX2VxLCBDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUg
Y2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX3NudW1fdCBhdHRyX3NwX2lu
Y19vcHRfbmVxKENBTExfSU5GTyBjaV9lcSwgQ0FMTF9DQUNIRSBjY19lcSwgQ0FMTF9JTkZPIGNp
LCBDQUxMX0NBQ0hFIGNjKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1f
dCBhdHRyX3dpZHRoX29wdF9uZXEoQ0FMTF9JTkZPIGNpX2VxLCBDQUxMX0NBQ0hFIGNjX2VxLCBD
QUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3Rh
dGljIGVudW0gcnVieV92bWluc25fdHlwZSBhdHRyX2Jpbl9vcHRfbHQoQ0FMTF9JTkZPIGNpLCBD
QUxMX0NBQ0hFIGNjKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJf
aGFuZGxlc19zcF9vcHRfbHQoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOworUFVSRUZV
TkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfbGVhZl9vcHRfbHQoQ0FMTF9JTkZPIGNp
LCBDQUxMX0NBQ0hFIGNjKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBjb25zdCBj
aGFyKiBhdHRyX25hbWVfb3B0X2x0KENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKK1BV
UkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9vcGVuX29wdF9sdChDQUxM
X0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGlj
IHJiX251bV90IGF0dHJfcG9wbl9vcHRfbHQoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkp
OworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3JldG5fb3B0X2x0
KENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChz
dGF0aWMgcmJfc251bV90IGF0dHJfc3BfaW5jX29wdF9sdChDQUxMX0lORk8gY2ksIENBTExfQ0FD
SEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfd2lk
dGhfb3B0X2x0KENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKK1BVUkVGVU5DKE1BWUJF
X1VOVVNFRChzdGF0aWMgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGF0dHJfYmluX29wdF9sZShDQUxM
X0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGlj
IGJvb2wgYXR0cl9oYW5kbGVzX3NwX29wdF9sZShDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2Mp
KSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9sZWFmX29wdF9sZShD
QUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3Rh
dGljIGNvbnN0IGNoYXIqIGF0dHJfbmFtZV9vcHRfbGUoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hF
IGNjKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX29wZW5f
b3B0X2xlKENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VO
VVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9wb3BuX29wdF9sZShDQUxMX0lORk8gY2ksIENBTExf
Q0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJf
cmV0bl9vcHRfbGUoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOworUFVSRUZVTkMoTUFZ
QkVfVU5VU0VEKHN0YXRpYyByYl9zbnVtX3QgYXR0cl9zcF9pbmNfb3B0X2xlKENBTExfSU5GTyBj
aSwgQ0FMTF9DQUNIRSBjYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVt
X3QgYXR0cl93aWR0aF9vcHRfbGUoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOworUFVS
RUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYXR0cl9iaW5f
b3B0X2d0KENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VO
VVNFRChzdGF0aWMgYm9vbCBhdHRyX2hhbmRsZXNfc3Bfb3B0X2d0KENBTExfSU5GTyBjaSwgQ0FM
TF9DQUNIRSBjYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2xl
YWZfb3B0X2d0KENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKK1BVUkVGVU5DKE1BWUJF
X1VOVVNFRChzdGF0aWMgY29uc3QgY2hhciogYXR0cl9uYW1lX29wdF9ndChDQUxMX0lORk8gY2ks
IENBTExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90
IGF0dHJfb3Blbl9vcHRfZ3QoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOworUFVSRUZV
TkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3BvcG5fb3B0X2d0KENBTExfSU5G
TyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJf
bnVtX3QgYXR0cl9yZXRuX29wdF9ndChDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7CitQ
VVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX3NudW1fdCBhdHRyX3NwX2luY19vcHRfZ3Qo
Q0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0
YXRpYyByYl9udW1fdCBhdHRyX3dpZHRoX29wdF9ndChDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUg
Y2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGVudW0gcnVieV92bWluc25fdHlw
ZSBhdHRyX2Jpbl9vcHRfZ2UoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOworUFVSRUZV
TkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfaGFuZGxlc19zcF9vcHRfZ2UoQ0FMTF9J
TkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBi
b29sIGF0dHJfbGVhZl9vcHRfZ2UoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOworUFVS
RUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBjb25zdCBjaGFyKiBhdHRyX25hbWVfb3B0X2dlKENB
TExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0
aWMgcmJfbnVtX3QgYXR0cl9vcGVuX29wdF9nZShDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2Mp
KSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcG9wbl9vcHRf
Z2UoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VE
KHN0YXRpYyByYl9udW1fdCBhdHRyX3JldG5fb3B0X2dlKENBTExfSU5GTyBjaSwgQ0FMTF9DQUNI
RSBjYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfc251bV90IGF0dHJfc3Bf
aW5jX29wdF9nZShDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlC
RV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfd2lkdGhfb3B0X2dlKENBTExfSU5GTyBjaSwg
Q0FMTF9DQUNIRSBjYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgZW51bSBydWJ5
X3ZtaW5zbl90eXBlIGF0dHJfYmluX29wdF9sdGx0KENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBj
YykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2hhbmRsZXNfc3Bf
b3B0X2x0bHQoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOworUFVSRUZVTkMoTUFZQkVf
VU5VU0VEKHN0YXRpYyBib29sIGF0dHJfbGVhZl9vcHRfbHRsdChDQUxMX0lORk8gY2ksIENBTExf
Q0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGNvbnN0IGNoYXIqIGF0
dHJfbmFtZV9vcHRfbHRsdChDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7CitQVVJFRlVO
QyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfb3Blbl9vcHRfbHRsdChDQUxMX0lO
Rk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJi
X251bV90IGF0dHJfcG9wbl9vcHRfbHRsdChDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7
CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcmV0bl9vcHRfbHRs
dChDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQo
c3RhdGljIHJiX3NudW1fdCBhdHRyX3NwX2luY19vcHRfbHRsdChDQUxMX0lORk8gY2ksIENBTExf
Q0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJf
d2lkdGhfb3B0X2x0bHQoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOworUFVSRUZVTkMo
TUFZQkVfVU5VU0VEKHN0YXRpYyBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYXR0cl9iaW5fb3B0X2Fu
ZChDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQo
c3RhdGljIGJvb2wgYXR0cl9oYW5kbGVzX3NwX29wdF9hbmQoQ0FMTF9JTkZPIGNpLCBDQUxMX0NB
Q0hFIGNjKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfbGVhZl9v
cHRfYW5kKENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VO
VVNFRChzdGF0aWMgY29uc3QgY2hhciogYXR0cl9uYW1lX29wdF9hbmQoQ0FMTF9JTkZPIGNpLCBD
QUxMX0NBQ0hFIGNjKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBh
dHRyX29wZW5fb3B0X2FuZChDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7CitQVVJFRlVO
QyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcG9wbl9vcHRfYW5kKENBTExfSU5G
TyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJf
bnVtX3QgYXR0cl9yZXRuX29wdF9hbmQoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwor
UFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9zbnVtX3QgYXR0cl9zcF9pbmNfb3B0X2Fu
ZChDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQo
c3RhdGljIHJiX251bV90IGF0dHJfd2lkdGhfb3B0X2FuZChDQUxMX0lORk8gY2ksIENBTExfQ0FD
SEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGVudW0gcnVieV92bWluc25f
dHlwZSBhdHRyX2Jpbl9vcHRfb3IoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOworUFVS
RUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfaGFuZGxlc19zcF9vcHRfb3IoQ0FM
TF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRp
YyBib29sIGF0dHJfbGVhZl9vcHRfb3IoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwor
UFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBjb25zdCBjaGFyKiBhdHRyX25hbWVfb3B0X29y
KENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChz
dGF0aWMgcmJfbnVtX3QgYXR0cl9vcGVuX29wdF9vcihDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUg
Y2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcG9wbl9v
cHRfb3IoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOworUFVSRUZVTkMoTUFZQkVfVU5V
U0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3JldG5fb3B0X29yKENBTExfSU5GTyBjaSwgQ0FMTF9D
QUNIRSBjYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfc251bV90IGF0dHJf
c3BfaW5jX29wdF9vcihDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhN
QVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfd2lkdGhfb3B0X29yKENBTExfSU5GTyBj
aSwgQ0FMTF9DQUNIRSBjYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgZW51bSBy
dWJ5X3ZtaW5zbl90eXBlIGF0dHJfYmluX29wdF9hcmVmKENBTExfSU5GTyBjaSwgQ0FMTF9DQUNI
RSBjYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2hhbmRsZXNf
c3Bfb3B0X2FyZWYoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOworUFVSRUZVTkMoTUFZ
QkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfbGVhZl9vcHRfYXJlZihDQUxMX0lORk8gY2ksIENB
TExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGNvbnN0IGNoYXIq
IGF0dHJfbmFtZV9vcHRfYXJlZihDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7CitQVVJF
RlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfb3Blbl9vcHRfYXJlZihDQUxM
X0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGlj
IHJiX251bV90IGF0dHJfcG9wbl9vcHRfYXJlZihDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2Mp
KSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcmV0bl9vcHRf
YXJlZihDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVT
RUQoc3RhdGljIHJiX3NudW1fdCBhdHRyX3NwX2luY19vcHRfYXJlZihDQUxMX0lORk8gY2ksIENB
TExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0
dHJfd2lkdGhfb3B0X2FyZWYoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOworUFVSRUZV
TkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYXR0cl9iaW5fb3B0
X2FzZXQoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOworUFVSRUZVTkMoTUFZQkVfVU5V
U0VEKHN0YXRpYyBib29sIGF0dHJfaGFuZGxlc19zcF9vcHRfYXNldChDQUxMX0lORk8gY2ksIENB
TExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9s
ZWFmX29wdF9hc2V0KENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKK1BVUkVGVU5DKE1B
WUJFX1VOVVNFRChzdGF0aWMgY29uc3QgY2hhciogYXR0cl9uYW1lX29wdF9hc2V0KENBTExfSU5G
TyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJf
bnVtX3QgYXR0cl9vcGVuX29wdF9hc2V0KENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsK
K1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9wb3BuX29wdF9hc2V0
KENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChz
dGF0aWMgcmJfbnVtX3QgYXR0cl9yZXRuX29wdF9hc2V0KENBTExfSU5GTyBjaSwgQ0FMTF9DQUNI
RSBjYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfc251bV90IGF0dHJfc3Bf
aW5jX29wdF9hc2V0KENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKK1BVUkVGVU5DKE1B
WUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl93aWR0aF9vcHRfYXNldChDQUxMX0lORk8g
Y2ksIENBTExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGVudW0g
cnVieV92bWluc25fdHlwZSBhdHRyX2Jpbl9vcHRfYXNldF93aXRoKFZBTFVFIGtleSwgQ0FMTF9J
TkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBi
b29sIGF0dHJfaGFuZGxlc19zcF9vcHRfYXNldF93aXRoKFZBTFVFIGtleSwgQ0FMTF9JTkZPIGNp
LCBDQUxMX0NBQ0hFIGNjKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0
dHJfbGVhZl9vcHRfYXNldF93aXRoKFZBTFVFIGtleSwgQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hF
IGNjKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBjb25zdCBjaGFyKiBhdHRyX25h
bWVfb3B0X2FzZXRfd2l0aChWQUxVRSBrZXksIENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykp
KTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9vcGVuX29wdF9h
c2V0X3dpdGgoVkFMVUUga2V5LCBDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7CitQVVJF
RlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcG9wbl9vcHRfYXNldF93aXRo
KFZBTFVFIGtleSwgQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOworUFVSRUZVTkMoTUFZ
QkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3JldG5fb3B0X2FzZXRfd2l0aChWQUxVRSBr
ZXksIENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNF
RChzdGF0aWMgcmJfc251bV90IGF0dHJfc3BfaW5jX29wdF9hc2V0X3dpdGgoVkFMVUUga2V5LCBD
QUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3Rh
dGljIHJiX251bV90IGF0dHJfd2lkdGhfb3B0X2FzZXRfd2l0aChWQUxVRSBrZXksIENBTExfSU5G
TyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgZW51
bSBydWJ5X3ZtaW5zbl90eXBlIGF0dHJfYmluX29wdF9hcmVmX3dpdGgoVkFMVUUga2V5LCBDQUxM
X0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGlj
IGJvb2wgYXR0cl9oYW5kbGVzX3NwX29wdF9hcmVmX3dpdGgoVkFMVUUga2V5LCBDQUxMX0lORk8g
Y2ksIENBTExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wg
YXR0cl9sZWFmX29wdF9hcmVmX3dpdGgoVkFMVUUga2V5LCBDQUxMX0lORk8gY2ksIENBTExfQ0FD
SEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGNvbnN0IGNoYXIqIGF0dHJf
bmFtZV9vcHRfYXJlZl93aXRoKFZBTFVFIGtleSwgQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNj
KSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX29wZW5fb3B0
X2FyZWZfd2l0aChWQUxVRSBrZXksIENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKK1BV
UkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9wb3BuX29wdF9hcmVmX3dp
dGgoVkFMVUUga2V5LCBDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhN
QVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcmV0bl9vcHRfYXJlZl93aXRoKFZBTFVF
IGtleSwgQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOworUFVSRUZVTkMoTUFZQkVfVU5V
U0VEKHN0YXRpYyByYl9zbnVtX3QgYXR0cl9zcF9pbmNfb3B0X2FyZWZfd2l0aChWQUxVRSBrZXks
IENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChz
dGF0aWMgcmJfbnVtX3QgYXR0cl93aWR0aF9vcHRfYXJlZl93aXRoKFZBTFVFIGtleSwgQ0FMTF9J
TkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBl
bnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYXR0cl9iaW5fb3B0X2xlbmd0aChDQUxMX0lORk8gY2ksIENB
TExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9o
YW5kbGVzX3NwX29wdF9sZW5ndGgoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOworUFVS
RUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfbGVhZl9vcHRfbGVuZ3RoKENBTExf
SU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMg
Y29uc3QgY2hhciogYXR0cl9uYW1lX29wdF9sZW5ndGgoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hF
IGNjKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX29wZW5f
b3B0X2xlbmd0aChDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlC
RV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcG9wbl9vcHRfbGVuZ3RoKENBTExfSU5GTyBj
aSwgQ0FMTF9DQUNIRSBjYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVt
X3QgYXR0cl9yZXRuX29wdF9sZW5ndGgoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwor
UFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9zbnVtX3QgYXR0cl9zcF9pbmNfb3B0X2xl
bmd0aChDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVT
RUQoc3RhdGljIHJiX251bV90IGF0dHJfd2lkdGhfb3B0X2xlbmd0aChDQUxMX0lORk8gY2ksIENB
TExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGVudW0gcnVieV92
bWluc25fdHlwZSBhdHRyX2Jpbl9vcHRfc2l6ZShDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2Mp
KSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9oYW5kbGVzX3NwX29w
dF9zaXplKENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VO
VVNFRChzdGF0aWMgYm9vbCBhdHRyX2xlYWZfb3B0X3NpemUoQ0FMTF9JTkZPIGNpLCBDQUxMX0NB
Q0hFIGNjKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBjb25zdCBjaGFyKiBhdHRy
X25hbWVfb3B0X3NpemUoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOworUFVSRUZVTkMo
TUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX29wZW5fb3B0X3NpemUoQ0FMTF9JTkZP
IGNpLCBDQUxMX0NBQ0hFIGNjKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9u
dW1fdCBhdHRyX3BvcG5fb3B0X3NpemUoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwor
UFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3JldG5fb3B0X3NpemUo
Q0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0
YXRpYyByYl9zbnVtX3QgYXR0cl9zcF9pbmNfb3B0X3NpemUoQ0FMTF9JTkZPIGNpLCBDQUxMX0NB
Q0hFIGNjKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3dp
ZHRoX29wdF9zaXplKENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKK1BVUkVGVU5DKE1B
WUJFX1VOVVNFRChzdGF0aWMgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGF0dHJfYmluX29wdF9lbXB0
eV9wKENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNF
RChzdGF0aWMgYm9vbCBhdHRyX2hhbmRsZXNfc3Bfb3B0X2VtcHR5X3AoQ0FMTF9JTkZPIGNpLCBD
QUxMX0NBQ0hFIGNjKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJf
bGVhZl9vcHRfZW1wdHlfcChDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7CitQVVJFRlVO
QyhNQVlCRV9VTlVTRUQoc3RhdGljIGNvbnN0IGNoYXIqIGF0dHJfbmFtZV9vcHRfZW1wdHlfcChD
QUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3Rh
dGljIHJiX251bV90IGF0dHJfb3Blbl9vcHRfZW1wdHlfcChDQUxMX0lORk8gY2ksIENBTExfQ0FD
SEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcG9w
bl9vcHRfZW1wdHlfcChDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhN
QVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcmV0bl9vcHRfZW1wdHlfcChDQUxMX0lO
Rk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJi
X3NudW1fdCBhdHRyX3NwX2luY19vcHRfZW1wdHlfcChDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUg
Y2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfd2lkdGhf
b3B0X2VtcHR5X3AoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOworUFVSRUZVTkMoTUFZ
QkVfVU5VU0VEKHN0YXRpYyBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYXR0cl9iaW5fb3B0X3N1Y2Mo
Q0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0
YXRpYyBib29sIGF0dHJfaGFuZGxlc19zcF9vcHRfc3VjYyhDQUxMX0lORk8gY2ksIENBTExfQ0FD
SEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9sZWFmX29w
dF9zdWNjKENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VO
VVNFRChzdGF0aWMgY29uc3QgY2hhciogYXR0cl9uYW1lX29wdF9zdWNjKENBTExfSU5GTyBjaSwg
Q0FMTF9DQUNIRSBjYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3Qg
YXR0cl9vcGVuX29wdF9zdWNjKENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKK1BVUkVG
VU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9wb3BuX29wdF9zdWNjKENBTExf
SU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMg
cmJfbnVtX3QgYXR0cl9yZXRuX29wdF9zdWNjKENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykp
KTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfc251bV90IGF0dHJfc3BfaW5jX29w
dF9zdWNjKENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VO
VVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl93aWR0aF9vcHRfc3VjYyhDQUxMX0lORk8gY2ksIENB
TExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGVudW0gcnVieV92
bWluc25fdHlwZSBhdHRyX2Jpbl9vcHRfbm90KENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykp
KTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2hhbmRsZXNfc3Bfb3B0
X25vdChDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVT
RUQoc3RhdGljIGJvb2wgYXR0cl9sZWFmX29wdF9ub3QoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hF
IGNjKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBjb25zdCBjaGFyKiBhdHRyX25h
bWVfb3B0X25vdChDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlC
RV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfb3Blbl9vcHRfbm90KENBTExfSU5GTyBjaSwg
Q0FMTF9DQUNIRSBjYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3Qg
YXR0cl9wb3BuX29wdF9ub3QoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOworUFVSRUZV
TkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3JldG5fb3B0X25vdChDQUxMX0lO
Rk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJi
X3NudW1fdCBhdHRyX3NwX2luY19vcHRfbm90KENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykp
KTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl93aWR0aF9vcHRf
bm90KENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNF
RChzdGF0aWMgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGF0dHJfYmluX29wdF9yZWdleHBtYXRjaDEo
VkFMVUUgcmVjdikpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2hh
bmRsZXNfc3Bfb3B0X3JlZ2V4cG1hdGNoMShWQUxVRSByZWN2KSkpOworUFVSRUZVTkMoTUFZQkVf
VU5VU0VEKHN0YXRpYyBib29sIGF0dHJfbGVhZl9vcHRfcmVnZXhwbWF0Y2gxKFZBTFVFIHJlY3Yp
KSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGNvbnN0IGNoYXIqIGF0dHJfbmFtZV9v
cHRfcmVnZXhwbWF0Y2gxKFZBTFVFIHJlY3YpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3Rh
dGljIHJiX251bV90IGF0dHJfb3Blbl9vcHRfcmVnZXhwbWF0Y2gxKFZBTFVFIHJlY3YpKSk7CitQ
VVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcG9wbl9vcHRfcmVnZXhw
bWF0Y2gxKFZBTFVFIHJlY3YpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251
bV90IGF0dHJfcmV0bl9vcHRfcmVnZXhwbWF0Y2gxKFZBTFVFIHJlY3YpKSk7CitQVVJFRlVOQyhN
QVlCRV9VTlVTRUQoc3RhdGljIHJiX3NudW1fdCBhdHRyX3NwX2luY19vcHRfcmVnZXhwbWF0Y2gx
KFZBTFVFIHJlY3YpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0
dHJfd2lkdGhfb3B0X3JlZ2V4cG1hdGNoMShWQUxVRSByZWN2KSkpOworUFVSRUZVTkMoTUFZQkVf
VU5VU0VEKHN0YXRpYyBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYXR0cl9iaW5fb3B0X3JlZ2V4cG1h
dGNoMihDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVT
RUQoc3RhdGljIGJvb2wgYXR0cl9oYW5kbGVzX3NwX29wdF9yZWdleHBtYXRjaDIoQ0FMTF9JTkZP
IGNpLCBDQUxMX0NBQ0hFIGNjKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29s
IGF0dHJfbGVhZl9vcHRfcmVnZXhwbWF0Y2gyKENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykp
KTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgY29uc3QgY2hhciogYXR0cl9uYW1lX29w
dF9yZWdleHBtYXRjaDIoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOworUFVSRUZVTkMo
TUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX29wZW5fb3B0X3JlZ2V4cG1hdGNoMihD
QUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3Rh
dGljIHJiX251bV90IGF0dHJfcG9wbl9vcHRfcmVnZXhwbWF0Y2gyKENBTExfSU5GTyBjaSwgQ0FM
TF9DQUNIRSBjYykpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0
cl9yZXRuX29wdF9yZWdleHBtYXRjaDIoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwor
UFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9zbnVtX3QgYXR0cl9zcF9pbmNfb3B0X3Jl
Z2V4cG1hdGNoMihDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlC
RV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfd2lkdGhfb3B0X3JlZ2V4cG1hdGNoMihDQUxM
X0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGlj
IGVudW0gcnVieV92bWluc25fdHlwZSBhdHRyX2Jpbl9vcHRfY2FsbF9jX2Z1bmN0aW9uKHJiX2lu
c25fZnVuY190IGZ1bmNwdHIpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wg
YXR0cl9oYW5kbGVzX3NwX29wdF9jYWxsX2NfZnVuY3Rpb24ocmJfaW5zbl9mdW5jX3QgZnVuY3B0
cikpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2xlYWZfb3B0X2Nh
bGxfY19mdW5jdGlvbihyYl9pbnNuX2Z1bmNfdCBmdW5jcHRyKSkpOworUFVSRUZVTkMoTUFZQkVf
VU5VU0VEKHN0YXRpYyBjb25zdCBjaGFyKiBhdHRyX25hbWVfb3B0X2NhbGxfY19mdW5jdGlvbihy
Yl9pbnNuX2Z1bmNfdCBmdW5jcHRyKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBy
Yl9udW1fdCBhdHRyX29wZW5fb3B0X2NhbGxfY19mdW5jdGlvbihyYl9pbnNuX2Z1bmNfdCBmdW5j
cHRyKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3BvcG5f
b3B0X2NhbGxfY19mdW5jdGlvbihyYl9pbnNuX2Z1bmNfdCBmdW5jcHRyKSkpOworUFVSRUZVTkMo
TUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3JldG5fb3B0X2NhbGxfY19mdW5jdGlv
bihyYl9pbnNuX2Z1bmNfdCBmdW5jcHRyKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRp
YyByYl9zbnVtX3QgYXR0cl9zcF9pbmNfb3B0X2NhbGxfY19mdW5jdGlvbihyYl9pbnNuX2Z1bmNf
dCBmdW5jcHRyKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRy
X3dpZHRoX29wdF9jYWxsX2NfZnVuY3Rpb24ocmJfaW5zbl9mdW5jX3QgZnVuY3B0cikpKTsKK1BV
UkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGF0dHJfYmlu
X2JpdGJsdCh2b2lkKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJf
aGFuZGxlc19zcF9iaXRibHQodm9pZCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMg
Ym9vbCBhdHRyX2xlYWZfYml0Ymx0KHZvaWQpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3Rh
dGljIGNvbnN0IGNoYXIqIGF0dHJfbmFtZV9iaXRibHQodm9pZCkpKTsKK1BVUkVGVU5DKE1BWUJF
X1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9vcGVuX2JpdGJsdCh2b2lkKSkpOworUFVSRUZV
TkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3BvcG5fYml0Ymx0KHZvaWQpKSk7
CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcmV0bl9iaXRibHQo
dm9pZCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfc251bV90IGF0dHJfc3Bf
aW5jX2JpdGJsdCh2b2lkKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1f
dCBhdHRyX3dpZHRoX2JpdGJsdCh2b2lkKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRp
YyBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYXR0cl9iaW5fYW5zd2VyKHZvaWQpKSk7CitQVVJFRlVO
QyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9oYW5kbGVzX3NwX2Fuc3dlcih2b2lkKSkp
OworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfbGVhZl9hbnN3ZXIodm9p
ZCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgY29uc3QgY2hhciogYXR0cl9uYW1l
X2Fuc3dlcih2b2lkKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBh
dHRyX29wZW5fYW5zd2VyKHZvaWQpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJi
X251bV90IGF0dHJfcG9wbl9hbnN3ZXIodm9pZCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChz
dGF0aWMgcmJfbnVtX3QgYXR0cl9yZXRuX2Fuc3dlcih2b2lkKSkpOworUFVSRUZVTkMoTUFZQkVf
VU5VU0VEKHN0YXRpYyByYl9zbnVtX3QgYXR0cl9zcF9pbmNfYW5zd2VyKHZvaWQpKSk7CitQVVJF
RlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfd2lkdGhfYW5zd2VyKHZvaWQp
KSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGVudW0gcnVieV92bWluc25fdHlwZSBh
dHRyX2Jpbl9nZXRsb2NhbF9XQ18wKGxpbmRleF90IGlkeCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VO
VVNFRChzdGF0aWMgYm9vbCBhdHRyX2hhbmRsZXNfc3BfZ2V0bG9jYWxfV0NfMChsaW5kZXhfdCBp
ZHgpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9sZWFmX2dldGxv
Y2FsX1dDXzAobGluZGV4X3QgaWR4KSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBj
b25zdCBjaGFyKiBhdHRyX25hbWVfZ2V0bG9jYWxfV0NfMChsaW5kZXhfdCBpZHgpKSk7CitQVVJF
RlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfb3Blbl9nZXRsb2NhbF9XQ18w
KGxpbmRleF90IGlkeCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3Qg
YXR0cl9wb3BuX2dldGxvY2FsX1dDXzAobGluZGV4X3QgaWR4KSkpOworUFVSRUZVTkMoTUFZQkVf
VU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3JldG5fZ2V0bG9jYWxfV0NfMChsaW5kZXhfdCBp
ZHgpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX3NudW1fdCBhdHRyX3NwX2lu
Y19nZXRsb2NhbF9XQ18wKGxpbmRleF90IGlkeCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChz
dGF0aWMgcmJfbnVtX3QgYXR0cl93aWR0aF9nZXRsb2NhbF9XQ18wKGxpbmRleF90IGlkeCkpKTsK
K1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGF0dHJf
YmluX2dldGxvY2FsX1dDXzEobGluZGV4X3QgaWR4KSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VE
KHN0YXRpYyBib29sIGF0dHJfaGFuZGxlc19zcF9nZXRsb2NhbF9XQ18xKGxpbmRleF90IGlkeCkp
KTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2xlYWZfZ2V0bG9jYWxf
V0NfMShsaW5kZXhfdCBpZHgpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGNvbnN0
IGNoYXIqIGF0dHJfbmFtZV9nZXRsb2NhbF9XQ18xKGxpbmRleF90IGlkeCkpKTsKK1BVUkVGVU5D
KE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9vcGVuX2dldGxvY2FsX1dDXzEobGlu
ZGV4X3QgaWR4KSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRy
X3BvcG5fZ2V0bG9jYWxfV0NfMShsaW5kZXhfdCBpZHgpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVT
RUQoc3RhdGljIHJiX251bV90IGF0dHJfcmV0bl9nZXRsb2NhbF9XQ18xKGxpbmRleF90IGlkeCkp
KTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfc251bV90IGF0dHJfc3BfaW5jX2dl
dGxvY2FsX1dDXzEobGluZGV4X3QgaWR4KSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRp
YyByYl9udW1fdCBhdHRyX3dpZHRoX2dldGxvY2FsX1dDXzEobGluZGV4X3QgaWR4KSkpOworUFVS
RUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYXR0cl9iaW5f
c2V0bG9jYWxfV0NfMChsaW5kZXhfdCBpZHgpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3Rh
dGljIGJvb2wgYXR0cl9oYW5kbGVzX3NwX3NldGxvY2FsX1dDXzAobGluZGV4X3QgaWR4KSkpOwor
UFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfbGVhZl9zZXRsb2NhbF9XQ18w
KGxpbmRleF90IGlkeCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgY29uc3QgY2hh
ciogYXR0cl9uYW1lX3NldGxvY2FsX1dDXzAobGluZGV4X3QgaWR4KSkpOworUFVSRUZVTkMoTUFZ
QkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX29wZW5fc2V0bG9jYWxfV0NfMChsaW5kZXhf
dCBpZHgpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcG9w
bl9zZXRsb2NhbF9XQ18wKGxpbmRleF90IGlkeCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChz
dGF0aWMgcmJfbnVtX3QgYXR0cl9yZXRuX3NldGxvY2FsX1dDXzAobGluZGV4X3QgaWR4KSkpOwor
UFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9zbnVtX3QgYXR0cl9zcF9pbmNfc2V0bG9j
YWxfV0NfMChsaW5kZXhfdCBpZHgpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJi
X251bV90IGF0dHJfd2lkdGhfc2V0bG9jYWxfV0NfMChsaW5kZXhfdCBpZHgpKSk7CitQVVJFRlVO
QyhNQVlCRV9VTlVTRUQoc3RhdGljIGVudW0gcnVieV92bWluc25fdHlwZSBhdHRyX2Jpbl9zZXRs
b2NhbF9XQ18xKGxpbmRleF90IGlkeCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMg
Ym9vbCBhdHRyX2hhbmRsZXNfc3Bfc2V0bG9jYWxfV0NfMShsaW5kZXhfdCBpZHgpKSk7CitQVVJF
RlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9sZWFmX3NldGxvY2FsX1dDXzEobGlu
ZGV4X3QgaWR4KSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBjb25zdCBjaGFyKiBh
dHRyX25hbWVfc2V0bG9jYWxfV0NfMShsaW5kZXhfdCBpZHgpKSk7CitQVVJFRlVOQyhNQVlCRV9V
TlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfb3Blbl9zZXRsb2NhbF9XQ18xKGxpbmRleF90IGlk
eCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9wb3BuX3Nl
dGxvY2FsX1dDXzEobGluZGV4X3QgaWR4KSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRp
YyByYl9udW1fdCBhdHRyX3JldG5fc2V0bG9jYWxfV0NfMShsaW5kZXhfdCBpZHgpKSk7CitQVVJF
RlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX3NudW1fdCBhdHRyX3NwX2luY19zZXRsb2NhbF9X
Q18xKGxpbmRleF90IGlkeCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVt
X3QgYXR0cl93aWR0aF9zZXRsb2NhbF9XQ18xKGxpbmRleF90IGlkeCkpKTsKK1BVUkVGVU5DKE1B
WUJFX1VOVVNFRChzdGF0aWMgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGF0dHJfYmluX3B1dG9iamVj
dF9JTlQyRklYXzBfKHZvaWQpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wg
YXR0cl9oYW5kbGVzX3NwX3B1dG9iamVjdF9JTlQyRklYXzBfKHZvaWQpKSk7CitQVVJFRlVOQyhN
QVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9sZWFmX3B1dG9iamVjdF9JTlQyRklYXzBfKHZv
aWQpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGNvbnN0IGNoYXIqIGF0dHJfbmFt
ZV9wdXRvYmplY3RfSU5UMkZJWF8wXyh2b2lkKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0
YXRpYyByYl9udW1fdCBhdHRyX29wZW5fcHV0b2JqZWN0X0lOVDJGSVhfMF8odm9pZCkpKTsKK1BV
UkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9wb3BuX3B1dG9iamVjdF9J
TlQyRklYXzBfKHZvaWQpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90
IGF0dHJfcmV0bl9wdXRvYmplY3RfSU5UMkZJWF8wXyh2b2lkKSkpOworUFVSRUZVTkMoTUFZQkVf
VU5VU0VEKHN0YXRpYyByYl9zbnVtX3QgYXR0cl9zcF9pbmNfcHV0b2JqZWN0X0lOVDJGSVhfMF8o
dm9pZCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl93aWR0
aF9wdXRvYmplY3RfSU5UMkZJWF8wXyh2b2lkKSkpOworUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0
YXRpYyBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYXR0cl9iaW5fcHV0b2JqZWN0X0lOVDJGSVhfMV8o
dm9pZCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2hhbmRsZXNf
c3BfcHV0b2JqZWN0X0lOVDJGSVhfMV8odm9pZCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChz
dGF0aWMgYm9vbCBhdHRyX2xlYWZfcHV0b2JqZWN0X0lOVDJGSVhfMV8odm9pZCkpKTsKK1BVUkVG
VU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgY29uc3QgY2hhciogYXR0cl9uYW1lX3B1dG9iamVjdF9J
TlQyRklYXzFfKHZvaWQpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90
IGF0dHJfb3Blbl9wdXRvYmplY3RfSU5UMkZJWF8xXyh2b2lkKSkpOworUFVSRUZVTkMoTUFZQkVf
VU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3BvcG5fcHV0b2JqZWN0X0lOVDJGSVhfMV8odm9p
ZCkpKTsKK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9yZXRuX3B1
dG9iamVjdF9JTlQyRklYXzFfKHZvaWQpKSk7CitQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGlj
IHJiX3NudW1fdCBhdHRyX3NwX2luY19wdXRvYmplY3RfSU5UMkZJWF8xXyh2b2lkKSkpOworUFVS
RUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3dpZHRoX3B1dG9iamVjdF9J
TlQyRklYXzFfKHZvaWQpKSk7CisKKy8qIGF0dHIgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGJpbiBA
IG5vcCgpKCkoKSAqLworZW51bSBydWJ5X3ZtaW5zbl90eXBlCithdHRyX2Jpbl9ub3Aodm9pZCkK
K3sKKyAgICByZXR1cm4gQklOKG5vcCk7Cit9CisKKy8qIGF0dHIgYm9vbCBoYW5kbGVzX3NwIEAg
bm9wKCkoKSgpICovCitib29sCithdHRyX2hhbmRsZXNfc3Bfbm9wKHZvaWQpCit7CisgICAgcmV0
dXJuIGZhbHNlOworfQorCisvKiBhdHRyIGJvb2wgbGVhZiBAIG5vcCgpKCkoKSAqLworYm9vbAor
YXR0cl9sZWFmX25vcCh2b2lkKQoreworICAgIHJldHVybiB0cnVlOworfQorCisvKiBhdHRyIGNv
bnN0IGNoYXIqIG5hbWUgQCBub3AoKSgpKCkgKi8KK2NvbnN0IGNoYXIqCithdHRyX25hbWVfbm9w
KHZvaWQpCit7CisgICAgcmV0dXJuIGluc25fbmFtZShCSU4obm9wKSk7Cit9CisKKy8qIGF0dHIg
cmJfbnVtX3Qgb3BlbiBAIG5vcCgpKCkoKSAqLworcmJfbnVtX3QKK2F0dHJfb3Blbl9ub3Aodm9p
ZCkKK3sKKyAgICByZXR1cm4gMDsKK30KKworLyogYXR0ciByYl9udW1fdCBwb3BuIEAgbm9wKCko
KSgpICovCityYl9udW1fdAorYXR0cl9wb3BuX25vcCh2b2lkKQoreworICAgIHJldHVybiAwOwor
fQorCisvKiBhdHRyIHJiX251bV90IHJldG4gQCBub3AoKSgpKCkgKi8KK3JiX251bV90CithdHRy
X3JldG5fbm9wKHZvaWQpCit7CisgICAgcmV0dXJuIDA7Cit9CisKKy8qIGF0dHIgcmJfc251bV90
IHNwX2luYyBAIG5vcCgpKCkoKSAqLworcmJfc251bV90CithdHRyX3NwX2luY19ub3Aodm9pZCkK
K3sKKyAgICByZXR1cm4gMDsKK30KKworLyogYXR0ciByYl9udW1fdCB3aWR0aCBAIG5vcCgpKCko
KSAqLworcmJfbnVtX3QKK2F0dHJfd2lkdGhfbm9wKHZvaWQpCit7CisgICAgcmV0dXJuIDE7Cit9
CisKKy8qIGF0dHIgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGJpbiBAIGdldGxvY2FsKGlkeCwgbGV2
ZWwpKCkodmFsKSAqLworZW51bSBydWJ5X3ZtaW5zbl90eXBlCithdHRyX2Jpbl9nZXRsb2NhbCgK
KyAgICBNQVlCRV9VTlVTRUQobGluZGV4X3QgaWR4KSwKKyAgICBNQVlCRV9VTlVTRUQocmJfbnVt
X3QgbGV2ZWwpCispCit7CisgICAgcmV0dXJuIEJJTihnZXRsb2NhbCk7Cit9CisKKy8qIGF0dHIg
Ym9vbCBoYW5kbGVzX3NwIEAgZ2V0bG9jYWwoaWR4LCBsZXZlbCkoKSh2YWwpICovCitib29sCith
dHRyX2hhbmRsZXNfc3BfZ2V0bG9jYWwoCisgICAgTUFZQkVfVU5VU0VEKGxpbmRleF90IGlkeCks
CisgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IGxldmVsKQorKQoreworICAgIHJldHVybiBmYWxz
ZTsKK30KKworLyogYXR0ciBib29sIGxlYWYgQCBnZXRsb2NhbChpZHgsIGxldmVsKSgpKHZhbCkg
Ki8KK2Jvb2wKK2F0dHJfbGVhZl9nZXRsb2NhbCgKKyAgICBNQVlCRV9VTlVTRUQobGluZGV4X3Qg
aWR4KSwKKyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QgbGV2ZWwpCispCit7CisgICAgcmV0dXJu
IHRydWU7Cit9CisKKy8qIGF0dHIgY29uc3QgY2hhciogbmFtZSBAIGdldGxvY2FsKGlkeCwgbGV2
ZWwpKCkodmFsKSAqLworY29uc3QgY2hhcioKK2F0dHJfbmFtZV9nZXRsb2NhbCgKKyAgICBNQVlC
RV9VTlVTRUQobGluZGV4X3QgaWR4KSwKKyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QgbGV2ZWwp
CispCit7CisgICAgcmV0dXJuIGluc25fbmFtZShCSU4oZ2V0bG9jYWwpKTsKK30KKworLyogYXR0
ciByYl9udW1fdCBvcGVuIEAgZ2V0bG9jYWwoaWR4LCBsZXZlbCkoKSh2YWwpICovCityYl9udW1f
dAorYXR0cl9vcGVuX2dldGxvY2FsKAorICAgIE1BWUJFX1VOVVNFRChsaW5kZXhfdCBpZHgpLAor
ICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCBsZXZlbCkKKykKK3sKKyAgICByZXR1cm4gMjsKK30K
KworLyogYXR0ciByYl9udW1fdCBwb3BuIEAgZ2V0bG9jYWwoaWR4LCBsZXZlbCkoKSh2YWwpICov
CityYl9udW1fdAorYXR0cl9wb3BuX2dldGxvY2FsKAorICAgIE1BWUJFX1VOVVNFRChsaW5kZXhf
dCBpZHgpLAorICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCBsZXZlbCkKKykKK3sKKyAgICByZXR1
cm4gMDsKK30KKworLyogYXR0ciByYl9udW1fdCByZXRuIEAgZ2V0bG9jYWwoaWR4LCBsZXZlbCko
KSh2YWwpICovCityYl9udW1fdAorYXR0cl9yZXRuX2dldGxvY2FsKAorICAgIE1BWUJFX1VOVVNF
RChsaW5kZXhfdCBpZHgpLAorICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCBsZXZlbCkKKykKK3sK
KyAgICByZXR1cm4gMTsKK30KKworLyogYXR0ciByYl9zbnVtX3Qgc3BfaW5jIEAgZ2V0bG9jYWwo
aWR4LCBsZXZlbCkoKSh2YWwpICovCityYl9zbnVtX3QKK2F0dHJfc3BfaW5jX2dldGxvY2FsKAor
ICAgIE1BWUJFX1VOVVNFRChsaW5kZXhfdCBpZHgpLAorICAgIE1BWUJFX1VOVVNFRChyYl9udW1f
dCBsZXZlbCkKKykKK3sKKyAgICByZXR1cm4gMTsKK30KKworLyogYXR0ciByYl9udW1fdCB3aWR0
aCBAIGdldGxvY2FsKGlkeCwgbGV2ZWwpKCkodmFsKSAqLworcmJfbnVtX3QKK2F0dHJfd2lkdGhf
Z2V0bG9jYWwoCisgICAgTUFZQkVfVU5VU0VEKGxpbmRleF90IGlkeCksCisgICAgTUFZQkVfVU5V
U0VEKHJiX251bV90IGxldmVsKQorKQoreworICAgIHJldHVybiAzOworfQorCisvKiBhdHRyIGVu
dW0gcnVieV92bWluc25fdHlwZSBiaW4gQCBzZXRsb2NhbChpZHgsIGxldmVsKSh2YWwpKCkgKi8K
K2VudW0gcnVieV92bWluc25fdHlwZQorYXR0cl9iaW5fc2V0bG9jYWwoCisgICAgTUFZQkVfVU5V
U0VEKGxpbmRleF90IGlkeCksCisgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IGxldmVsKQorKQor
eworICAgIHJldHVybiBCSU4oc2V0bG9jYWwpOworfQorCisvKiBhdHRyIGJvb2wgaGFuZGxlc19z
cCBAIHNldGxvY2FsKGlkeCwgbGV2ZWwpKHZhbCkoKSAqLworYm9vbAorYXR0cl9oYW5kbGVzX3Nw
X3NldGxvY2FsKAorICAgIE1BWUJFX1VOVVNFRChsaW5kZXhfdCBpZHgpLAorICAgIE1BWUJFX1VO
VVNFRChyYl9udW1fdCBsZXZlbCkKKykKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKKy8qIGF0
dHIgYm9vbCBsZWFmIEAgc2V0bG9jYWwoaWR4LCBsZXZlbCkodmFsKSgpICovCitib29sCithdHRy
X2xlYWZfc2V0bG9jYWwoCisgICAgTUFZQkVfVU5VU0VEKGxpbmRleF90IGlkeCksCisgICAgTUFZ
QkVfVU5VU0VEKHJiX251bV90IGxldmVsKQorKQoreworICAgIHJldHVybiB0cnVlOworfQorCisv
KiBhdHRyIGNvbnN0IGNoYXIqIG5hbWUgQCBzZXRsb2NhbChpZHgsIGxldmVsKSh2YWwpKCkgKi8K
K2NvbnN0IGNoYXIqCithdHRyX25hbWVfc2V0bG9jYWwoCisgICAgTUFZQkVfVU5VU0VEKGxpbmRl
eF90IGlkeCksCisgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IGxldmVsKQorKQoreworICAgIHJl
dHVybiBpbnNuX25hbWUoQklOKHNldGxvY2FsKSk7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3Qgb3Bl
biBAIHNldGxvY2FsKGlkeCwgbGV2ZWwpKHZhbCkoKSAqLworcmJfbnVtX3QKK2F0dHJfb3Blbl9z
ZXRsb2NhbCgKKyAgICBNQVlCRV9VTlVTRUQobGluZGV4X3QgaWR4KSwKKyAgICBNQVlCRV9VTlVT
RUQocmJfbnVtX3QgbGV2ZWwpCispCit7CisgICAgcmV0dXJuIDI7Cit9CisKKy8qIGF0dHIgcmJf
bnVtX3QgcG9wbiBAIHNldGxvY2FsKGlkeCwgbGV2ZWwpKHZhbCkoKSAqLworcmJfbnVtX3QKK2F0
dHJfcG9wbl9zZXRsb2NhbCgKKyAgICBNQVlCRV9VTlVTRUQobGluZGV4X3QgaWR4KSwKKyAgICBN
QVlCRV9VTlVTRUQocmJfbnVtX3QgbGV2ZWwpCispCit7CisgICAgcmV0dXJuIDE7Cit9CisKKy8q
IGF0dHIgcmJfbnVtX3QgcmV0biBAIHNldGxvY2FsKGlkeCwgbGV2ZWwpKHZhbCkoKSAqLworcmJf
bnVtX3QKK2F0dHJfcmV0bl9zZXRsb2NhbCgKKyAgICBNQVlCRV9VTlVTRUQobGluZGV4X3QgaWR4
KSwKKyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QgbGV2ZWwpCispCit7CisgICAgcmV0dXJuIDA7
Cit9CisKKy8qIGF0dHIgcmJfc251bV90IHNwX2luYyBAIHNldGxvY2FsKGlkeCwgbGV2ZWwpKHZh
bCkoKSAqLworcmJfc251bV90CithdHRyX3NwX2luY19zZXRsb2NhbCgKKyAgICBNQVlCRV9VTlVT
RUQobGluZGV4X3QgaWR4KSwKKyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QgbGV2ZWwpCispCit7
CisgICAgcmV0dXJuIC0xOworfQorCisvKiBhdHRyIHJiX251bV90IHdpZHRoIEAgc2V0bG9jYWwo
aWR4LCBsZXZlbCkodmFsKSgpICovCityYl9udW1fdAorYXR0cl93aWR0aF9zZXRsb2NhbCgKKyAg
ICBNQVlCRV9VTlVTRUQobGluZGV4X3QgaWR4KSwKKyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3Qg
bGV2ZWwpCispCit7CisgICAgcmV0dXJuIDM7Cit9CisKKy8qIGF0dHIgZW51bSBydWJ5X3ZtaW5z
bl90eXBlIGJpbiBAIGdldGJsb2NrcGFyYW0oaWR4LCBsZXZlbCkoKSh2YWwpICovCitlbnVtIHJ1
Ynlfdm1pbnNuX3R5cGUKK2F0dHJfYmluX2dldGJsb2NrcGFyYW0oCisgICAgTUFZQkVfVU5VU0VE
KGxpbmRleF90IGlkeCksCisgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IGxldmVsKQorKQorewor
ICAgIHJldHVybiBCSU4oZ2V0YmxvY2twYXJhbSk7Cit9CisKKy8qIGF0dHIgYm9vbCBoYW5kbGVz
X3NwIEAgZ2V0YmxvY2twYXJhbShpZHgsIGxldmVsKSgpKHZhbCkgKi8KK2Jvb2wKK2F0dHJfaGFu
ZGxlc19zcF9nZXRibG9ja3BhcmFtKAorICAgIE1BWUJFX1VOVVNFRChsaW5kZXhfdCBpZHgpLAor
ICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCBsZXZlbCkKKykKK3sKKyAgICByZXR1cm4gZmFsc2U7
Cit9CisKKy8qIGF0dHIgYm9vbCBsZWFmIEAgZ2V0YmxvY2twYXJhbShpZHgsIGxldmVsKSgpKHZh
bCkgKi8KK2Jvb2wKK2F0dHJfbGVhZl9nZXRibG9ja3BhcmFtKAorICAgIE1BWUJFX1VOVVNFRChs
aW5kZXhfdCBpZHgpLAorICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCBsZXZlbCkKKykKK3sKKyAg
ICByZXR1cm4gdHJ1ZTsKK30KKworLyogYXR0ciBjb25zdCBjaGFyKiBuYW1lIEAgZ2V0YmxvY2tw
YXJhbShpZHgsIGxldmVsKSgpKHZhbCkgKi8KK2NvbnN0IGNoYXIqCithdHRyX25hbWVfZ2V0Ymxv
Y2twYXJhbSgKKyAgICBNQVlCRV9VTlVTRUQobGluZGV4X3QgaWR4KSwKKyAgICBNQVlCRV9VTlVT
RUQocmJfbnVtX3QgbGV2ZWwpCispCit7CisgICAgcmV0dXJuIGluc25fbmFtZShCSU4oZ2V0Ymxv
Y2twYXJhbSkpOworfQorCisvKiBhdHRyIHJiX251bV90IG9wZW4gQCBnZXRibG9ja3BhcmFtKGlk
eCwgbGV2ZWwpKCkodmFsKSAqLworcmJfbnVtX3QKK2F0dHJfb3Blbl9nZXRibG9ja3BhcmFtKAor
ICAgIE1BWUJFX1VOVVNFRChsaW5kZXhfdCBpZHgpLAorICAgIE1BWUJFX1VOVVNFRChyYl9udW1f
dCBsZXZlbCkKKykKK3sKKyAgICByZXR1cm4gMjsKK30KKworLyogYXR0ciByYl9udW1fdCBwb3Bu
IEAgZ2V0YmxvY2twYXJhbShpZHgsIGxldmVsKSgpKHZhbCkgKi8KK3JiX251bV90CithdHRyX3Bv
cG5fZ2V0YmxvY2twYXJhbSgKKyAgICBNQVlCRV9VTlVTRUQobGluZGV4X3QgaWR4KSwKKyAgICBN
QVlCRV9VTlVTRUQocmJfbnVtX3QgbGV2ZWwpCispCit7CisgICAgcmV0dXJuIDA7Cit9CisKKy8q
IGF0dHIgcmJfbnVtX3QgcmV0biBAIGdldGJsb2NrcGFyYW0oaWR4LCBsZXZlbCkoKSh2YWwpICov
CityYl9udW1fdAorYXR0cl9yZXRuX2dldGJsb2NrcGFyYW0oCisgICAgTUFZQkVfVU5VU0VEKGxp
bmRleF90IGlkeCksCisgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IGxldmVsKQorKQoreworICAg
IHJldHVybiAxOworfQorCisvKiBhdHRyIHJiX3NudW1fdCBzcF9pbmMgQCBnZXRibG9ja3BhcmFt
KGlkeCwgbGV2ZWwpKCkodmFsKSAqLworcmJfc251bV90CithdHRyX3NwX2luY19nZXRibG9ja3Bh
cmFtKAorICAgIE1BWUJFX1VOVVNFRChsaW5kZXhfdCBpZHgpLAorICAgIE1BWUJFX1VOVVNFRChy
Yl9udW1fdCBsZXZlbCkKKykKK3sKKyAgICByZXR1cm4gMTsKK30KKworLyogYXR0ciByYl9udW1f
dCB3aWR0aCBAIGdldGJsb2NrcGFyYW0oaWR4LCBsZXZlbCkoKSh2YWwpICovCityYl9udW1fdAor
YXR0cl93aWR0aF9nZXRibG9ja3BhcmFtKAorICAgIE1BWUJFX1VOVVNFRChsaW5kZXhfdCBpZHgp
LAorICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCBsZXZlbCkKKykKK3sKKyAgICByZXR1cm4gMzsK
K30KKworLyogYXR0ciBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYmluIEAgc2V0YmxvY2twYXJhbShp
ZHgsIGxldmVsKSh2YWwpKCkgKi8KK2VudW0gcnVieV92bWluc25fdHlwZQorYXR0cl9iaW5fc2V0
YmxvY2twYXJhbSgKKyAgICBNQVlCRV9VTlVTRUQobGluZGV4X3QgaWR4KSwKKyAgICBNQVlCRV9V
TlVTRUQocmJfbnVtX3QgbGV2ZWwpCispCit7CisgICAgcmV0dXJuIEJJTihzZXRibG9ja3BhcmFt
KTsKK30KKworLyogYXR0ciBib29sIGhhbmRsZXNfc3AgQCBzZXRibG9ja3BhcmFtKGlkeCwgbGV2
ZWwpKHZhbCkoKSAqLworYm9vbAorYXR0cl9oYW5kbGVzX3NwX3NldGJsb2NrcGFyYW0oCisgICAg
TUFZQkVfVU5VU0VEKGxpbmRleF90IGlkeCksCisgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IGxl
dmVsKQorKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKworLyogYXR0ciBib29sIGxlYWYgQCBz
ZXRibG9ja3BhcmFtKGlkeCwgbGV2ZWwpKHZhbCkoKSAqLworYm9vbAorYXR0cl9sZWFmX3NldGJs
b2NrcGFyYW0oCisgICAgTUFZQkVfVU5VU0VEKGxpbmRleF90IGlkeCksCisgICAgTUFZQkVfVU5V
U0VEKHJiX251bV90IGxldmVsKQorKQoreworICAgIHJldHVybiB0cnVlOworfQorCisvKiBhdHRy
IGNvbnN0IGNoYXIqIG5hbWUgQCBzZXRibG9ja3BhcmFtKGlkeCwgbGV2ZWwpKHZhbCkoKSAqLwor
Y29uc3QgY2hhcioKK2F0dHJfbmFtZV9zZXRibG9ja3BhcmFtKAorICAgIE1BWUJFX1VOVVNFRChs
aW5kZXhfdCBpZHgpLAorICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCBsZXZlbCkKKykKK3sKKyAg
ICByZXR1cm4gaW5zbl9uYW1lKEJJTihzZXRibG9ja3BhcmFtKSk7Cit9CisKKy8qIGF0dHIgcmJf
bnVtX3Qgb3BlbiBAIHNldGJsb2NrcGFyYW0oaWR4LCBsZXZlbCkodmFsKSgpICovCityYl9udW1f
dAorYXR0cl9vcGVuX3NldGJsb2NrcGFyYW0oCisgICAgTUFZQkVfVU5VU0VEKGxpbmRleF90IGlk
eCksCisgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IGxldmVsKQorKQoreworICAgIHJldHVybiAy
OworfQorCisvKiBhdHRyIHJiX251bV90IHBvcG4gQCBzZXRibG9ja3BhcmFtKGlkeCwgbGV2ZWwp
KHZhbCkoKSAqLworcmJfbnVtX3QKK2F0dHJfcG9wbl9zZXRibG9ja3BhcmFtKAorICAgIE1BWUJF
X1VOVVNFRChsaW5kZXhfdCBpZHgpLAorICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCBsZXZlbCkK
KykKK3sKKyAgICByZXR1cm4gMTsKK30KKworLyogYXR0ciByYl9udW1fdCByZXRuIEAgc2V0Ymxv
Y2twYXJhbShpZHgsIGxldmVsKSh2YWwpKCkgKi8KK3JiX251bV90CithdHRyX3JldG5fc2V0Ymxv
Y2twYXJhbSgKKyAgICBNQVlCRV9VTlVTRUQobGluZGV4X3QgaWR4KSwKKyAgICBNQVlCRV9VTlVT
RUQocmJfbnVtX3QgbGV2ZWwpCispCit7CisgICAgcmV0dXJuIDA7Cit9CisKKy8qIGF0dHIgcmJf
c251bV90IHNwX2luYyBAIHNldGJsb2NrcGFyYW0oaWR4LCBsZXZlbCkodmFsKSgpICovCityYl9z
bnVtX3QKK2F0dHJfc3BfaW5jX3NldGJsb2NrcGFyYW0oCisgICAgTUFZQkVfVU5VU0VEKGxpbmRl
eF90IGlkeCksCisgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IGxldmVsKQorKQoreworICAgIHJl
dHVybiAtMTsKK30KKworLyogYXR0ciByYl9udW1fdCB3aWR0aCBAIHNldGJsb2NrcGFyYW0oaWR4
LCBsZXZlbCkodmFsKSgpICovCityYl9udW1fdAorYXR0cl93aWR0aF9zZXRibG9ja3BhcmFtKAor
ICAgIE1BWUJFX1VOVVNFRChsaW5kZXhfdCBpZHgpLAorICAgIE1BWUJFX1VOVVNFRChyYl9udW1f
dCBsZXZlbCkKKykKK3sKKyAgICByZXR1cm4gMzsKK30KKworLyogYXR0ciBlbnVtIHJ1Ynlfdm1p
bnNuX3R5cGUgYmluIEAgZ2V0YmxvY2twYXJhbXByb3h5KGlkeCwgbGV2ZWwpKCkodmFsKSAqLwor
ZW51bSBydWJ5X3ZtaW5zbl90eXBlCithdHRyX2Jpbl9nZXRibG9ja3BhcmFtcHJveHkoCisgICAg
TUFZQkVfVU5VU0VEKGxpbmRleF90IGlkeCksCisgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IGxl
dmVsKQorKQoreworICAgIHJldHVybiBCSU4oZ2V0YmxvY2twYXJhbXByb3h5KTsKK30KKworLyog
YXR0ciBib29sIGhhbmRsZXNfc3AgQCBnZXRibG9ja3BhcmFtcHJveHkoaWR4LCBsZXZlbCkoKSh2
YWwpICovCitib29sCithdHRyX2hhbmRsZXNfc3BfZ2V0YmxvY2twYXJhbXByb3h5KAorICAgIE1B
WUJFX1VOVVNFRChsaW5kZXhfdCBpZHgpLAorICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCBsZXZl
bCkKKykKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKKy8qIGF0dHIgYm9vbCBsZWFmIEAgZ2V0
YmxvY2twYXJhbXByb3h5KGlkeCwgbGV2ZWwpKCkodmFsKSAqLworYm9vbAorYXR0cl9sZWFmX2dl
dGJsb2NrcGFyYW1wcm94eSgKKyAgICBNQVlCRV9VTlVTRUQobGluZGV4X3QgaWR4KSwKKyAgICBN
QVlCRV9VTlVTRUQocmJfbnVtX3QgbGV2ZWwpCispCit7CisgICAgcmV0dXJuIHRydWU7Cit9CisK
Ky8qIGF0dHIgY29uc3QgY2hhciogbmFtZSBAIGdldGJsb2NrcGFyYW1wcm94eShpZHgsIGxldmVs
KSgpKHZhbCkgKi8KK2NvbnN0IGNoYXIqCithdHRyX25hbWVfZ2V0YmxvY2twYXJhbXByb3h5KAor
ICAgIE1BWUJFX1VOVVNFRChsaW5kZXhfdCBpZHgpLAorICAgIE1BWUJFX1VOVVNFRChyYl9udW1f
dCBsZXZlbCkKKykKK3sKKyAgICByZXR1cm4gaW5zbl9uYW1lKEJJTihnZXRibG9ja3BhcmFtcHJv
eHkpKTsKK30KKworLyogYXR0ciByYl9udW1fdCBvcGVuIEAgZ2V0YmxvY2twYXJhbXByb3h5KGlk
eCwgbGV2ZWwpKCkodmFsKSAqLworcmJfbnVtX3QKK2F0dHJfb3Blbl9nZXRibG9ja3BhcmFtcHJv
eHkoCisgICAgTUFZQkVfVU5VU0VEKGxpbmRleF90IGlkeCksCisgICAgTUFZQkVfVU5VU0VEKHJi
X251bV90IGxldmVsKQorKQoreworICAgIHJldHVybiAyOworfQorCisvKiBhdHRyIHJiX251bV90
IHBvcG4gQCBnZXRibG9ja3BhcmFtcHJveHkoaWR4LCBsZXZlbCkoKSh2YWwpICovCityYl9udW1f
dAorYXR0cl9wb3BuX2dldGJsb2NrcGFyYW1wcm94eSgKKyAgICBNQVlCRV9VTlVTRUQobGluZGV4
X3QgaWR4KSwKKyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QgbGV2ZWwpCispCit7CisgICAgcmV0
dXJuIDA7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3QgcmV0biBAIGdldGJsb2NrcGFyYW1wcm94eShp
ZHgsIGxldmVsKSgpKHZhbCkgKi8KK3JiX251bV90CithdHRyX3JldG5fZ2V0YmxvY2twYXJhbXBy
b3h5KAorICAgIE1BWUJFX1VOVVNFRChsaW5kZXhfdCBpZHgpLAorICAgIE1BWUJFX1VOVVNFRChy
Yl9udW1fdCBsZXZlbCkKKykKK3sKKyAgICByZXR1cm4gMTsKK30KKworLyogYXR0ciByYl9zbnVt
X3Qgc3BfaW5jIEAgZ2V0YmxvY2twYXJhbXByb3h5KGlkeCwgbGV2ZWwpKCkodmFsKSAqLworcmJf
c251bV90CithdHRyX3NwX2luY19nZXRibG9ja3BhcmFtcHJveHkoCisgICAgTUFZQkVfVU5VU0VE
KGxpbmRleF90IGlkeCksCisgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IGxldmVsKQorKQorewor
ICAgIHJldHVybiAxOworfQorCisvKiBhdHRyIHJiX251bV90IHdpZHRoIEAgZ2V0YmxvY2twYXJh
bXByb3h5KGlkeCwgbGV2ZWwpKCkodmFsKSAqLworcmJfbnVtX3QKK2F0dHJfd2lkdGhfZ2V0Ymxv
Y2twYXJhbXByb3h5KAorICAgIE1BWUJFX1VOVVNFRChsaW5kZXhfdCBpZHgpLAorICAgIE1BWUJF
X1VOVVNFRChyYl9udW1fdCBsZXZlbCkKKykKK3sKKyAgICByZXR1cm4gMzsKK30KKworLyogYXR0
ciBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYmluIEAgZ2V0c3BlY2lhbChrZXksIHR5cGUpKCkodmFs
KSAqLworZW51bSBydWJ5X3ZtaW5zbl90eXBlCithdHRyX2Jpbl9nZXRzcGVjaWFsKAorICAgIE1B
WUJFX1VOVVNFRChyYl9udW1fdCBrZXkpLAorICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCB0eXBl
KQorKQoreworICAgIHJldHVybiBCSU4oZ2V0c3BlY2lhbCk7Cit9CisKKy8qIGF0dHIgYm9vbCBo
YW5kbGVzX3NwIEAgZ2V0c3BlY2lhbChrZXksIHR5cGUpKCkodmFsKSAqLworYm9vbAorYXR0cl9o
YW5kbGVzX3NwX2dldHNwZWNpYWwoCisgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IGtleSksCisg
ICAgTUFZQkVfVU5VU0VEKHJiX251bV90IHR5cGUpCispCit7CisgICAgcmV0dXJuIGZhbHNlOwor
fQorCisvKiBhdHRyIGJvb2wgbGVhZiBAIGdldHNwZWNpYWwoa2V5LCB0eXBlKSgpKHZhbCkgKi8K
K2Jvb2wKK2F0dHJfbGVhZl9nZXRzcGVjaWFsKAorICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCBr
ZXkpLAorICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCB0eXBlKQorKQoreworICAgIHJldHVybiB0
cnVlOworfQorCisvKiBhdHRyIGNvbnN0IGNoYXIqIG5hbWUgQCBnZXRzcGVjaWFsKGtleSwgdHlw
ZSkoKSh2YWwpICovCitjb25zdCBjaGFyKgorYXR0cl9uYW1lX2dldHNwZWNpYWwoCisgICAgTUFZ
QkVfVU5VU0VEKHJiX251bV90IGtleSksCisgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IHR5cGUp
CispCit7CisgICAgcmV0dXJuIGluc25fbmFtZShCSU4oZ2V0c3BlY2lhbCkpOworfQorCisvKiBh
dHRyIHJiX251bV90IG9wZW4gQCBnZXRzcGVjaWFsKGtleSwgdHlwZSkoKSh2YWwpICovCityYl9u
dW1fdAorYXR0cl9vcGVuX2dldHNwZWNpYWwoCisgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IGtl
eSksCisgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IHR5cGUpCispCit7CisgICAgcmV0dXJuIDI7
Cit9CisKKy8qIGF0dHIgcmJfbnVtX3QgcG9wbiBAIGdldHNwZWNpYWwoa2V5LCB0eXBlKSgpKHZh
bCkgKi8KK3JiX251bV90CithdHRyX3BvcG5fZ2V0c3BlY2lhbCgKKyAgICBNQVlCRV9VTlVTRUQo
cmJfbnVtX3Qga2V5KSwKKyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QgdHlwZSkKKykKK3sKKyAg
ICByZXR1cm4gMDsKK30KKworLyogYXR0ciByYl9udW1fdCByZXRuIEAgZ2V0c3BlY2lhbChrZXks
IHR5cGUpKCkodmFsKSAqLworcmJfbnVtX3QKK2F0dHJfcmV0bl9nZXRzcGVjaWFsKAorICAgIE1B
WUJFX1VOVVNFRChyYl9udW1fdCBrZXkpLAorICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCB0eXBl
KQorKQoreworICAgIHJldHVybiAxOworfQorCisvKiBhdHRyIHJiX3NudW1fdCBzcF9pbmMgQCBn
ZXRzcGVjaWFsKGtleSwgdHlwZSkoKSh2YWwpICovCityYl9zbnVtX3QKK2F0dHJfc3BfaW5jX2dl
dHNwZWNpYWwoCisgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IGtleSksCisgICAgTUFZQkVfVU5V
U0VEKHJiX251bV90IHR5cGUpCispCit7CisgICAgcmV0dXJuIDE7Cit9CisKKy8qIGF0dHIgcmJf
bnVtX3Qgd2lkdGggQCBnZXRzcGVjaWFsKGtleSwgdHlwZSkoKSh2YWwpICovCityYl9udW1fdAor
YXR0cl93aWR0aF9nZXRzcGVjaWFsKAorICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCBrZXkpLAor
ICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCB0eXBlKQorKQoreworICAgIHJldHVybiAzOworfQor
CisvKiBhdHRyIGVudW0gcnVieV92bWluc25fdHlwZSBiaW4gQCBzZXRzcGVjaWFsKGtleSkob2Jq
KSgpICovCitlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUKK2F0dHJfYmluX3NldHNwZWNpYWwoTUFZQkVf
VU5VU0VEKHJiX251bV90IGtleSkpCit7CisgICAgcmV0dXJuIEJJTihzZXRzcGVjaWFsKTsKK30K
KworLyogYXR0ciBib29sIGhhbmRsZXNfc3AgQCBzZXRzcGVjaWFsKGtleSkob2JqKSgpICovCiti
b29sCithdHRyX2hhbmRsZXNfc3Bfc2V0c3BlY2lhbChNQVlCRV9VTlVTRUQocmJfbnVtX3Qga2V5
KSkKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKKy8qIGF0dHIgYm9vbCBsZWFmIEAgc2V0c3Bl
Y2lhbChrZXkpKG9iaikoKSAqLworYm9vbAorYXR0cl9sZWFmX3NldHNwZWNpYWwoTUFZQkVfVU5V
U0VEKHJiX251bV90IGtleSkpCit7CisgICAgcmV0dXJuIHRydWU7Cit9CisKKy8qIGF0dHIgY29u
c3QgY2hhciogbmFtZSBAIHNldHNwZWNpYWwoa2V5KShvYmopKCkgKi8KK2NvbnN0IGNoYXIqCith
dHRyX25hbWVfc2V0c3BlY2lhbChNQVlCRV9VTlVTRUQocmJfbnVtX3Qga2V5KSkKK3sKKyAgICBy
ZXR1cm4gaW5zbl9uYW1lKEJJTihzZXRzcGVjaWFsKSk7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3Qg
b3BlbiBAIHNldHNwZWNpYWwoa2V5KShvYmopKCkgKi8KK3JiX251bV90CithdHRyX29wZW5fc2V0
c3BlY2lhbChNQVlCRV9VTlVTRUQocmJfbnVtX3Qga2V5KSkKK3sKKyAgICByZXR1cm4gMTsKK30K
KworLyogYXR0ciByYl9udW1fdCBwb3BuIEAgc2V0c3BlY2lhbChrZXkpKG9iaikoKSAqLworcmJf
bnVtX3QKK2F0dHJfcG9wbl9zZXRzcGVjaWFsKE1BWUJFX1VOVVNFRChyYl9udW1fdCBrZXkpKQor
eworICAgIHJldHVybiAxOworfQorCisvKiBhdHRyIHJiX251bV90IHJldG4gQCBzZXRzcGVjaWFs
KGtleSkob2JqKSgpICovCityYl9udW1fdAorYXR0cl9yZXRuX3NldHNwZWNpYWwoTUFZQkVfVU5V
U0VEKHJiX251bV90IGtleSkpCit7CisgICAgcmV0dXJuIDA7Cit9CisKKy8qIGF0dHIgcmJfc251
bV90IHNwX2luYyBAIHNldHNwZWNpYWwoa2V5KShvYmopKCkgKi8KK3JiX3NudW1fdAorYXR0cl9z
cF9pbmNfc2V0c3BlY2lhbChNQVlCRV9VTlVTRUQocmJfbnVtX3Qga2V5KSkKK3sKKyAgICByZXR1
cm4gLTE7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3Qgd2lkdGggQCBzZXRzcGVjaWFsKGtleSkob2Jq
KSgpICovCityYl9udW1fdAorYXR0cl93aWR0aF9zZXRzcGVjaWFsKE1BWUJFX1VOVVNFRChyYl9u
dW1fdCBrZXkpKQoreworICAgIHJldHVybiAyOworfQorCisvKiBhdHRyIGVudW0gcnVieV92bWlu
c25fdHlwZSBiaW4gQCBnZXRpbnN0YW5jZXZhcmlhYmxlKGlkLCBpYykoKSh2YWwpICovCitlbnVt
IHJ1Ynlfdm1pbnNuX3R5cGUKK2F0dHJfYmluX2dldGluc3RhbmNldmFyaWFibGUoCisgICAgTUFZ
QkVfVU5VU0VEKElEIGlkKSwKKyAgICBNQVlCRV9VTlVTRUQoSUMgaWMpCispCit7CisgICAgcmV0
dXJuIEJJTihnZXRpbnN0YW5jZXZhcmlhYmxlKTsKK30KKworLyogYXR0ciBib29sIGhhbmRsZXNf
c3AgQCBnZXRpbnN0YW5jZXZhcmlhYmxlKGlkLCBpYykoKSh2YWwpICovCitib29sCithdHRyX2hh
bmRsZXNfc3BfZ2V0aW5zdGFuY2V2YXJpYWJsZSgKKyAgICBNQVlCRV9VTlVTRUQoSUQgaWQpLAor
ICAgIE1BWUJFX1VOVVNFRChJQyBpYykKKykKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKKy8q
IGF0dHIgYm9vbCBsZWFmIEAgZ2V0aW5zdGFuY2V2YXJpYWJsZShpZCwgaWMpKCkodmFsKSAqLwor
Ym9vbAorYXR0cl9sZWFmX2dldGluc3RhbmNldmFyaWFibGUoCisgICAgTUFZQkVfVU5VU0VEKElE
IGlkKSwKKyAgICBNQVlCRV9VTlVTRUQoSUMgaWMpCispCit7CisgICAgcmV0dXJuCisjbGluZSAy
MTIgImluc25zLmRlZiIKK2ZhbHNlOworI2xpbmUgMjE1MCAiaW5zbnNfaW5mby5pbmMiCit9CisK
Ky8qIGF0dHIgY29uc3QgY2hhciogbmFtZSBAIGdldGluc3RhbmNldmFyaWFibGUoaWQsIGljKSgp
KHZhbCkgKi8KK2NvbnN0IGNoYXIqCithdHRyX25hbWVfZ2V0aW5zdGFuY2V2YXJpYWJsZSgKKyAg
ICBNQVlCRV9VTlVTRUQoSUQgaWQpLAorICAgIE1BWUJFX1VOVVNFRChJQyBpYykKKykKK3sKKyAg
ICByZXR1cm4gaW5zbl9uYW1lKEJJTihnZXRpbnN0YW5jZXZhcmlhYmxlKSk7Cit9CisKKy8qIGF0
dHIgcmJfbnVtX3Qgb3BlbiBAIGdldGluc3RhbmNldmFyaWFibGUoaWQsIGljKSgpKHZhbCkgKi8K
K3JiX251bV90CithdHRyX29wZW5fZ2V0aW5zdGFuY2V2YXJpYWJsZSgKKyAgICBNQVlCRV9VTlVT
RUQoSUQgaWQpLAorICAgIE1BWUJFX1VOVVNFRChJQyBpYykKKykKK3sKKyAgICByZXR1cm4gMjsK
K30KKworLyogYXR0ciByYl9udW1fdCBwb3BuIEAgZ2V0aW5zdGFuY2V2YXJpYWJsZShpZCwgaWMp
KCkodmFsKSAqLworcmJfbnVtX3QKK2F0dHJfcG9wbl9nZXRpbnN0YW5jZXZhcmlhYmxlKAorICAg
IE1BWUJFX1VOVVNFRChJRCBpZCksCisgICAgTUFZQkVfVU5VU0VEKElDIGljKQorKQoreworICAg
IHJldHVybiAwOworfQorCisvKiBhdHRyIHJiX251bV90IHJldG4gQCBnZXRpbnN0YW5jZXZhcmlh
YmxlKGlkLCBpYykoKSh2YWwpICovCityYl9udW1fdAorYXR0cl9yZXRuX2dldGluc3RhbmNldmFy
aWFibGUoCisgICAgTUFZQkVfVU5VU0VEKElEIGlkKSwKKyAgICBNQVlCRV9VTlVTRUQoSUMgaWMp
CispCit7CisgICAgcmV0dXJuIDE7Cit9CisKKy8qIGF0dHIgcmJfc251bV90IHNwX2luYyBAIGdl
dGluc3RhbmNldmFyaWFibGUoaWQsIGljKSgpKHZhbCkgKi8KK3JiX3NudW1fdAorYXR0cl9zcF9p
bmNfZ2V0aW5zdGFuY2V2YXJpYWJsZSgKKyAgICBNQVlCRV9VTlVTRUQoSUQgaWQpLAorICAgIE1B
WUJFX1VOVVNFRChJQyBpYykKKykKK3sKKyAgICByZXR1cm4gMTsKK30KKworLyogYXR0ciByYl9u
dW1fdCB3aWR0aCBAIGdldGluc3RhbmNldmFyaWFibGUoaWQsIGljKSgpKHZhbCkgKi8KK3JiX251
bV90CithdHRyX3dpZHRoX2dldGluc3RhbmNldmFyaWFibGUoCisgICAgTUFZQkVfVU5VU0VEKElE
IGlkKSwKKyAgICBNQVlCRV9VTlVTRUQoSUMgaWMpCispCit7CisgICAgcmV0dXJuIDM7Cit9CisK
Ky8qIGF0dHIgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGJpbiBAIHNldGluc3RhbmNldmFyaWFibGUo
aWQsIGljKSh2YWwpKCkgKi8KK2VudW0gcnVieV92bWluc25fdHlwZQorYXR0cl9iaW5fc2V0aW5z
dGFuY2V2YXJpYWJsZSgKKyAgICBNQVlCRV9VTlVTRUQoSUQgaWQpLAorICAgIE1BWUJFX1VOVVNF
RChJQyBpYykKKykKK3sKKyAgICByZXR1cm4gQklOKHNldGluc3RhbmNldmFyaWFibGUpOworfQor
CisvKiBhdHRyIGJvb2wgaGFuZGxlc19zcCBAIHNldGluc3RhbmNldmFyaWFibGUoaWQsIGljKSh2
YWwpKCkgKi8KK2Jvb2wKK2F0dHJfaGFuZGxlc19zcF9zZXRpbnN0YW5jZXZhcmlhYmxlKAorICAg
IE1BWUJFX1VOVVNFRChJRCBpZCksCisgICAgTUFZQkVfVU5VU0VEKElDIGljKQorKQoreworICAg
IHJldHVybiBmYWxzZTsKK30KKworLyogYXR0ciBib29sIGxlYWYgQCBzZXRpbnN0YW5jZXZhcmlh
YmxlKGlkLCBpYykodmFsKSgpICovCitib29sCithdHRyX2xlYWZfc2V0aW5zdGFuY2V2YXJpYWJs
ZSgKKyAgICBNQVlCRV9VTlVTRUQoSUQgaWQpLAorICAgIE1BWUJFX1VOVVNFRChJQyBpYykKKykK
K3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworLyogYXR0ciBjb25zdCBjaGFyKiBuYW1lIEAgc2V0
aW5zdGFuY2V2YXJpYWJsZShpZCwgaWMpKHZhbCkoKSAqLworY29uc3QgY2hhcioKK2F0dHJfbmFt
ZV9zZXRpbnN0YW5jZXZhcmlhYmxlKAorICAgIE1BWUJFX1VOVVNFRChJRCBpZCksCisgICAgTUFZ
QkVfVU5VU0VEKElDIGljKQorKQoreworICAgIHJldHVybiBpbnNuX25hbWUoQklOKHNldGluc3Rh
bmNldmFyaWFibGUpKTsKK30KKworLyogYXR0ciByYl9udW1fdCBvcGVuIEAgc2V0aW5zdGFuY2V2
YXJpYWJsZShpZCwgaWMpKHZhbCkoKSAqLworcmJfbnVtX3QKK2F0dHJfb3Blbl9zZXRpbnN0YW5j
ZXZhcmlhYmxlKAorICAgIE1BWUJFX1VOVVNFRChJRCBpZCksCisgICAgTUFZQkVfVU5VU0VEKElD
IGljKQorKQoreworICAgIHJldHVybiAyOworfQorCisvKiBhdHRyIHJiX251bV90IHBvcG4gQCBz
ZXRpbnN0YW5jZXZhcmlhYmxlKGlkLCBpYykodmFsKSgpICovCityYl9udW1fdAorYXR0cl9wb3Bu
X3NldGluc3RhbmNldmFyaWFibGUoCisgICAgTUFZQkVfVU5VU0VEKElEIGlkKSwKKyAgICBNQVlC
RV9VTlVTRUQoSUMgaWMpCispCit7CisgICAgcmV0dXJuIDE7Cit9CisKKy8qIGF0dHIgcmJfbnVt
X3QgcmV0biBAIHNldGluc3RhbmNldmFyaWFibGUoaWQsIGljKSh2YWwpKCkgKi8KK3JiX251bV90
CithdHRyX3JldG5fc2V0aW5zdGFuY2V2YXJpYWJsZSgKKyAgICBNQVlCRV9VTlVTRUQoSUQgaWQp
LAorICAgIE1BWUJFX1VOVVNFRChJQyBpYykKKykKK3sKKyAgICByZXR1cm4gMDsKK30KKworLyog
YXR0ciByYl9zbnVtX3Qgc3BfaW5jIEAgc2V0aW5zdGFuY2V2YXJpYWJsZShpZCwgaWMpKHZhbCko
KSAqLworcmJfc251bV90CithdHRyX3NwX2luY19zZXRpbnN0YW5jZXZhcmlhYmxlKAorICAgIE1B
WUJFX1VOVVNFRChJRCBpZCksCisgICAgTUFZQkVfVU5VU0VEKElDIGljKQorKQoreworICAgIHJl
dHVybiAtMTsKK30KKworLyogYXR0ciByYl9udW1fdCB3aWR0aCBAIHNldGluc3RhbmNldmFyaWFi
bGUoaWQsIGljKSh2YWwpKCkgKi8KK3JiX251bV90CithdHRyX3dpZHRoX3NldGluc3RhbmNldmFy
aWFibGUoCisgICAgTUFZQkVfVU5VU0VEKElEIGlkKSwKKyAgICBNQVlCRV9VTlVTRUQoSUMgaWMp
CispCit7CisgICAgcmV0dXJuIDM7Cit9CisKKy8qIGF0dHIgZW51bSBydWJ5X3ZtaW5zbl90eXBl
IGJpbiBAIGdldGNsYXNzdmFyaWFibGUoaWQpKCkodmFsKSAqLworZW51bSBydWJ5X3ZtaW5zbl90
eXBlCithdHRyX2Jpbl9nZXRjbGFzc3ZhcmlhYmxlKE1BWUJFX1VOVVNFRChJRCBpZCkpCit7Cisg
ICAgcmV0dXJuIEJJTihnZXRjbGFzc3ZhcmlhYmxlKTsKK30KKworLyogYXR0ciBib29sIGhhbmRs
ZXNfc3AgQCBnZXRjbGFzc3ZhcmlhYmxlKGlkKSgpKHZhbCkgKi8KK2Jvb2wKK2F0dHJfaGFuZGxl
c19zcF9nZXRjbGFzc3ZhcmlhYmxlKE1BWUJFX1VOVVNFRChJRCBpZCkpCit7CisgICAgcmV0dXJu
IGZhbHNlOworfQorCisvKiBhdHRyIGJvb2wgbGVhZiBAIGdldGNsYXNzdmFyaWFibGUoaWQpKCko
dmFsKSAqLworYm9vbAorYXR0cl9sZWFmX2dldGNsYXNzdmFyaWFibGUoTUFZQkVfVU5VU0VEKElE
IGlkKSkKK3sKKyAgICByZXR1cm4KKyNsaW5lIDIzNCAiaW5zbnMuZGVmIgorZmFsc2U7CisjbGlu
ZSAyMzI0ICJpbnNuc19pbmZvLmluYyIKK30KKworLyogYXR0ciBjb25zdCBjaGFyKiBuYW1lIEAg
Z2V0Y2xhc3N2YXJpYWJsZShpZCkoKSh2YWwpICovCitjb25zdCBjaGFyKgorYXR0cl9uYW1lX2dl
dGNsYXNzdmFyaWFibGUoTUFZQkVfVU5VU0VEKElEIGlkKSkKK3sKKyAgICByZXR1cm4gaW5zbl9u
YW1lKEJJTihnZXRjbGFzc3ZhcmlhYmxlKSk7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3Qgb3BlbiBA
IGdldGNsYXNzdmFyaWFibGUoaWQpKCkodmFsKSAqLworcmJfbnVtX3QKK2F0dHJfb3Blbl9nZXRj
bGFzc3ZhcmlhYmxlKE1BWUJFX1VOVVNFRChJRCBpZCkpCit7CisgICAgcmV0dXJuIDE7Cit9CisK
Ky8qIGF0dHIgcmJfbnVtX3QgcG9wbiBAIGdldGNsYXNzdmFyaWFibGUoaWQpKCkodmFsKSAqLwor
cmJfbnVtX3QKK2F0dHJfcG9wbl9nZXRjbGFzc3ZhcmlhYmxlKE1BWUJFX1VOVVNFRChJRCBpZCkp
Cit7CisgICAgcmV0dXJuIDA7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3QgcmV0biBAIGdldGNsYXNz
dmFyaWFibGUoaWQpKCkodmFsKSAqLworcmJfbnVtX3QKK2F0dHJfcmV0bl9nZXRjbGFzc3Zhcmlh
YmxlKE1BWUJFX1VOVVNFRChJRCBpZCkpCit7CisgICAgcmV0dXJuIDE7Cit9CisKKy8qIGF0dHIg
cmJfc251bV90IHNwX2luYyBAIGdldGNsYXNzdmFyaWFibGUoaWQpKCkodmFsKSAqLworcmJfc251
bV90CithdHRyX3NwX2luY19nZXRjbGFzc3ZhcmlhYmxlKE1BWUJFX1VOVVNFRChJRCBpZCkpCit7
CisgICAgcmV0dXJuIDE7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3Qgd2lkdGggQCBnZXRjbGFzc3Zh
cmlhYmxlKGlkKSgpKHZhbCkgKi8KK3JiX251bV90CithdHRyX3dpZHRoX2dldGNsYXNzdmFyaWFi
bGUoTUFZQkVfVU5VU0VEKElEIGlkKSkKK3sKKyAgICByZXR1cm4gMjsKK30KKworLyogYXR0ciBl
bnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYmluIEAgc2V0Y2xhc3N2YXJpYWJsZShpZCkodmFsKSgpICov
CitlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUKK2F0dHJfYmluX3NldGNsYXNzdmFyaWFibGUoTUFZQkVf
VU5VU0VEKElEIGlkKSkKK3sKKyAgICByZXR1cm4gQklOKHNldGNsYXNzdmFyaWFibGUpOworfQor
CisvKiBhdHRyIGJvb2wgaGFuZGxlc19zcCBAIHNldGNsYXNzdmFyaWFibGUoaWQpKHZhbCkoKSAq
LworYm9vbAorYXR0cl9oYW5kbGVzX3NwX3NldGNsYXNzdmFyaWFibGUoTUFZQkVfVU5VU0VEKElE
IGlkKSkKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKKy8qIGF0dHIgYm9vbCBsZWFmIEAgc2V0
Y2xhc3N2YXJpYWJsZShpZCkodmFsKSgpICovCitib29sCithdHRyX2xlYWZfc2V0Y2xhc3N2YXJp
YWJsZShNQVlCRV9VTlVTRUQoSUQgaWQpKQoreworICAgIHJldHVybgorI2xpbmUgMjQ2ICJpbnNu
cy5kZWYiCitmYWxzZTsKKyNsaW5lIDIzOTAgImluc25zX2luZm8uaW5jIgorfQorCisvKiBhdHRy
IGNvbnN0IGNoYXIqIG5hbWUgQCBzZXRjbGFzc3ZhcmlhYmxlKGlkKSh2YWwpKCkgKi8KK2NvbnN0
IGNoYXIqCithdHRyX25hbWVfc2V0Y2xhc3N2YXJpYWJsZShNQVlCRV9VTlVTRUQoSUQgaWQpKQor
eworICAgIHJldHVybiBpbnNuX25hbWUoQklOKHNldGNsYXNzdmFyaWFibGUpKTsKK30KKworLyog
YXR0ciByYl9udW1fdCBvcGVuIEAgc2V0Y2xhc3N2YXJpYWJsZShpZCkodmFsKSgpICovCityYl9u
dW1fdAorYXR0cl9vcGVuX3NldGNsYXNzdmFyaWFibGUoTUFZQkVfVU5VU0VEKElEIGlkKSkKK3sK
KyAgICByZXR1cm4gMTsKK30KKworLyogYXR0ciByYl9udW1fdCBwb3BuIEAgc2V0Y2xhc3N2YXJp
YWJsZShpZCkodmFsKSgpICovCityYl9udW1fdAorYXR0cl9wb3BuX3NldGNsYXNzdmFyaWFibGUo
TUFZQkVfVU5VU0VEKElEIGlkKSkKK3sKKyAgICByZXR1cm4gMTsKK30KKworLyogYXR0ciByYl9u
dW1fdCByZXRuIEAgc2V0Y2xhc3N2YXJpYWJsZShpZCkodmFsKSgpICovCityYl9udW1fdAorYXR0
cl9yZXRuX3NldGNsYXNzdmFyaWFibGUoTUFZQkVfVU5VU0VEKElEIGlkKSkKK3sKKyAgICByZXR1
cm4gMDsKK30KKworLyogYXR0ciByYl9zbnVtX3Qgc3BfaW5jIEAgc2V0Y2xhc3N2YXJpYWJsZShp
ZCkodmFsKSgpICovCityYl9zbnVtX3QKK2F0dHJfc3BfaW5jX3NldGNsYXNzdmFyaWFibGUoTUFZ
QkVfVU5VU0VEKElEIGlkKSkKK3sKKyAgICByZXR1cm4gLTE7Cit9CisKKy8qIGF0dHIgcmJfbnVt
X3Qgd2lkdGggQCBzZXRjbGFzc3ZhcmlhYmxlKGlkKSh2YWwpKCkgKi8KK3JiX251bV90CithdHRy
X3dpZHRoX3NldGNsYXNzdmFyaWFibGUoTUFZQkVfVU5VU0VEKElEIGlkKSkKK3sKKyAgICByZXR1
cm4gMjsKK30KKworLyogYXR0ciBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYmluIEAgZ2V0Y29uc3Rh
bnQoaWQpKGtsYXNzKSh2YWwpICovCitlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUKK2F0dHJfYmluX2dl
dGNvbnN0YW50KE1BWUJFX1VOVVNFRChJRCBpZCkpCit7CisgICAgcmV0dXJuIEJJTihnZXRjb25z
dGFudCk7Cit9CisKKy8qIGF0dHIgYm9vbCBoYW5kbGVzX3NwIEAgZ2V0Y29uc3RhbnQoaWQpKGts
YXNzKSh2YWwpICovCitib29sCithdHRyX2hhbmRsZXNfc3BfZ2V0Y29uc3RhbnQoTUFZQkVfVU5V
U0VEKElEIGlkKSkKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKKy8qIGF0dHIgYm9vbCBsZWFm
IEAgZ2V0Y29uc3RhbnQoaWQpKGtsYXNzKSh2YWwpICovCitib29sCithdHRyX2xlYWZfZ2V0Y29u
c3RhbnQoTUFZQkVfVU5VU0VEKElEIGlkKSkKK3sKKyAgICByZXR1cm4KKyNsaW5lIDI2MiAiaW5z
bnMuZGVmIgorZmFsc2U7CisjbGluZSAyNDU2ICJpbnNuc19pbmZvLmluYyIKK30KKworLyogYXR0
ciBjb25zdCBjaGFyKiBuYW1lIEAgZ2V0Y29uc3RhbnQoaWQpKGtsYXNzKSh2YWwpICovCitjb25z
dCBjaGFyKgorYXR0cl9uYW1lX2dldGNvbnN0YW50KE1BWUJFX1VOVVNFRChJRCBpZCkpCit7Cisg
ICAgcmV0dXJuIGluc25fbmFtZShCSU4oZ2V0Y29uc3RhbnQpKTsKK30KKworLyogYXR0ciByYl9u
dW1fdCBvcGVuIEAgZ2V0Y29uc3RhbnQoaWQpKGtsYXNzKSh2YWwpICovCityYl9udW1fdAorYXR0
cl9vcGVuX2dldGNvbnN0YW50KE1BWUJFX1VOVVNFRChJRCBpZCkpCit7CisgICAgcmV0dXJuIDE7
Cit9CisKKy8qIGF0dHIgcmJfbnVtX3QgcG9wbiBAIGdldGNvbnN0YW50KGlkKShrbGFzcykodmFs
KSAqLworcmJfbnVtX3QKK2F0dHJfcG9wbl9nZXRjb25zdGFudChNQVlCRV9VTlVTRUQoSUQgaWQp
KQoreworICAgIHJldHVybiAxOworfQorCisvKiBhdHRyIHJiX251bV90IHJldG4gQCBnZXRjb25z
dGFudChpZCkoa2xhc3MpKHZhbCkgKi8KK3JiX251bV90CithdHRyX3JldG5fZ2V0Y29uc3RhbnQo
TUFZQkVfVU5VU0VEKElEIGlkKSkKK3sKKyAgICByZXR1cm4gMTsKK30KKworLyogYXR0ciByYl9z
bnVtX3Qgc3BfaW5jIEAgZ2V0Y29uc3RhbnQoaWQpKGtsYXNzKSh2YWwpICovCityYl9zbnVtX3QK
K2F0dHJfc3BfaW5jX2dldGNvbnN0YW50KE1BWUJFX1VOVVNFRChJRCBpZCkpCit7CisgICAgcmV0
dXJuIDA7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3Qgd2lkdGggQCBnZXRjb25zdGFudChpZCkoa2xh
c3MpKHZhbCkgKi8KK3JiX251bV90CithdHRyX3dpZHRoX2dldGNvbnN0YW50KE1BWUJFX1VOVVNF
RChJRCBpZCkpCit7CisgICAgcmV0dXJuIDI7Cit9CisKKy8qIGF0dHIgZW51bSBydWJ5X3ZtaW5z
bl90eXBlIGJpbiBAIHNldGNvbnN0YW50KGlkKSh2YWwsIGNiYXNlKSgpICovCitlbnVtIHJ1Ynlf
dm1pbnNuX3R5cGUKK2F0dHJfYmluX3NldGNvbnN0YW50KE1BWUJFX1VOVVNFRChJRCBpZCkpCit7
CisgICAgcmV0dXJuIEJJTihzZXRjb25zdGFudCk7Cit9CisKKy8qIGF0dHIgYm9vbCBoYW5kbGVz
X3NwIEAgc2V0Y29uc3RhbnQoaWQpKHZhbCwgY2Jhc2UpKCkgKi8KK2Jvb2wKK2F0dHJfaGFuZGxl
c19zcF9zZXRjb25zdGFudChNQVlCRV9VTlVTRUQoSUQgaWQpKQoreworICAgIHJldHVybiBmYWxz
ZTsKK30KKworLyogYXR0ciBib29sIGxlYWYgQCBzZXRjb25zdGFudChpZCkodmFsLCBjYmFzZSko
KSAqLworYm9vbAorYXR0cl9sZWFmX3NldGNvbnN0YW50KE1BWUJFX1VOVVNFRChJRCBpZCkpCit7
CisgICAgcmV0dXJuCisjbGluZSAyNzggImluc25zLmRlZiIKK2ZhbHNlOworI2xpbmUgMjUyMiAi
aW5zbnNfaW5mby5pbmMiCit9CisKKy8qIGF0dHIgY29uc3QgY2hhciogbmFtZSBAIHNldGNvbnN0
YW50KGlkKSh2YWwsIGNiYXNlKSgpICovCitjb25zdCBjaGFyKgorYXR0cl9uYW1lX3NldGNvbnN0
YW50KE1BWUJFX1VOVVNFRChJRCBpZCkpCit7CisgICAgcmV0dXJuIGluc25fbmFtZShCSU4oc2V0
Y29uc3RhbnQpKTsKK30KKworLyogYXR0ciByYl9udW1fdCBvcGVuIEAgc2V0Y29uc3RhbnQoaWQp
KHZhbCwgY2Jhc2UpKCkgKi8KK3JiX251bV90CithdHRyX29wZW5fc2V0Y29uc3RhbnQoTUFZQkVf
VU5VU0VEKElEIGlkKSkKK3sKKyAgICByZXR1cm4gMTsKK30KKworLyogYXR0ciByYl9udW1fdCBw
b3BuIEAgc2V0Y29uc3RhbnQoaWQpKHZhbCwgY2Jhc2UpKCkgKi8KK3JiX251bV90CithdHRyX3Bv
cG5fc2V0Y29uc3RhbnQoTUFZQkVfVU5VU0VEKElEIGlkKSkKK3sKKyAgICByZXR1cm4gMjsKK30K
KworLyogYXR0ciByYl9udW1fdCByZXRuIEAgc2V0Y29uc3RhbnQoaWQpKHZhbCwgY2Jhc2UpKCkg
Ki8KK3JiX251bV90CithdHRyX3JldG5fc2V0Y29uc3RhbnQoTUFZQkVfVU5VU0VEKElEIGlkKSkK
K3sKKyAgICByZXR1cm4gMDsKK30KKworLyogYXR0ciByYl9zbnVtX3Qgc3BfaW5jIEAgc2V0Y29u
c3RhbnQoaWQpKHZhbCwgY2Jhc2UpKCkgKi8KK3JiX3NudW1fdAorYXR0cl9zcF9pbmNfc2V0Y29u
c3RhbnQoTUFZQkVfVU5VU0VEKElEIGlkKSkKK3sKKyAgICByZXR1cm4gLTI7Cit9CisKKy8qIGF0
dHIgcmJfbnVtX3Qgd2lkdGggQCBzZXRjb25zdGFudChpZCkodmFsLCBjYmFzZSkoKSAqLworcmJf
bnVtX3QKK2F0dHJfd2lkdGhfc2V0Y29uc3RhbnQoTUFZQkVfVU5VU0VEKElEIGlkKSkKK3sKKyAg
ICByZXR1cm4gMjsKK30KKworLyogYXR0ciBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYmluIEAgZ2V0
Z2xvYmFsKGVudHJ5KSgpKHZhbCkgKi8KK2VudW0gcnVieV92bWluc25fdHlwZQorYXR0cl9iaW5f
Z2V0Z2xvYmFsKE1BWUJFX1VOVVNFRChHRU5UUlkgZW50cnkpKQoreworICAgIHJldHVybiBCSU4o
Z2V0Z2xvYmFsKTsKK30KKworLyogYXR0ciBib29sIGhhbmRsZXNfc3AgQCBnZXRnbG9iYWwoZW50
cnkpKCkodmFsKSAqLworYm9vbAorYXR0cl9oYW5kbGVzX3NwX2dldGdsb2JhbChNQVlCRV9VTlVT
RUQoR0VOVFJZIGVudHJ5KSkKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKKy8qIGF0dHIgYm9v
bCBsZWFmIEAgZ2V0Z2xvYmFsKGVudHJ5KSgpKHZhbCkgKi8KK2Jvb2wKK2F0dHJfbGVhZl9nZXRn
bG9iYWwoTUFZQkVfVU5VU0VEKEdFTlRSWSBlbnRyeSkpCit7CisgICAgcmV0dXJuCisjbGluZSAy
OTEgImluc25zLmRlZiIKK2xlYWZuZXNzX29mX2dldGdsb2JhbChlbnRyeSk7CisjbGluZSAyNTg4
ICJpbnNuc19pbmZvLmluYyIKK30KKworLyogYXR0ciBjb25zdCBjaGFyKiBuYW1lIEAgZ2V0Z2xv
YmFsKGVudHJ5KSgpKHZhbCkgKi8KK2NvbnN0IGNoYXIqCithdHRyX25hbWVfZ2V0Z2xvYmFsKE1B
WUJFX1VOVVNFRChHRU5UUlkgZW50cnkpKQoreworICAgIHJldHVybiBpbnNuX25hbWUoQklOKGdl
dGdsb2JhbCkpOworfQorCisvKiBhdHRyIHJiX251bV90IG9wZW4gQCBnZXRnbG9iYWwoZW50cnkp
KCkodmFsKSAqLworcmJfbnVtX3QKK2F0dHJfb3Blbl9nZXRnbG9iYWwoTUFZQkVfVU5VU0VEKEdF
TlRSWSBlbnRyeSkpCit7CisgICAgcmV0dXJuIDE7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3QgcG9w
biBAIGdldGdsb2JhbChlbnRyeSkoKSh2YWwpICovCityYl9udW1fdAorYXR0cl9wb3BuX2dldGds
b2JhbChNQVlCRV9VTlVTRUQoR0VOVFJZIGVudHJ5KSkKK3sKKyAgICByZXR1cm4gMDsKK30KKwor
LyogYXR0ciByYl9udW1fdCByZXRuIEAgZ2V0Z2xvYmFsKGVudHJ5KSgpKHZhbCkgKi8KK3JiX251
bV90CithdHRyX3JldG5fZ2V0Z2xvYmFsKE1BWUJFX1VOVVNFRChHRU5UUlkgZW50cnkpKQorewor
ICAgIHJldHVybiAxOworfQorCisvKiBhdHRyIHJiX3NudW1fdCBzcF9pbmMgQCBnZXRnbG9iYWwo
ZW50cnkpKCkodmFsKSAqLworcmJfc251bV90CithdHRyX3NwX2luY19nZXRnbG9iYWwoTUFZQkVf
VU5VU0VEKEdFTlRSWSBlbnRyeSkpCit7CisgICAgcmV0dXJuIDE7Cit9CisKKy8qIGF0dHIgcmJf
bnVtX3Qgd2lkdGggQCBnZXRnbG9iYWwoZW50cnkpKCkodmFsKSAqLworcmJfbnVtX3QKK2F0dHJf
d2lkdGhfZ2V0Z2xvYmFsKE1BWUJFX1VOVVNFRChHRU5UUlkgZW50cnkpKQoreworICAgIHJldHVy
biAyOworfQorCisvKiBhdHRyIGVudW0gcnVieV92bWluc25fdHlwZSBiaW4gQCBzZXRnbG9iYWwo
ZW50cnkpKHZhbCkoKSAqLworZW51bSBydWJ5X3ZtaW5zbl90eXBlCithdHRyX2Jpbl9zZXRnbG9i
YWwoTUFZQkVfVU5VU0VEKEdFTlRSWSBlbnRyeSkpCit7CisgICAgcmV0dXJuIEJJTihzZXRnbG9i
YWwpOworfQorCisvKiBhdHRyIGJvb2wgaGFuZGxlc19zcCBAIHNldGdsb2JhbChlbnRyeSkodmFs
KSgpICovCitib29sCithdHRyX2hhbmRsZXNfc3Bfc2V0Z2xvYmFsKE1BWUJFX1VOVVNFRChHRU5U
UlkgZW50cnkpKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKworLyogYXR0ciBib29sIGxlYWYg
QCBzZXRnbG9iYWwoZW50cnkpKHZhbCkoKSAqLworYm9vbAorYXR0cl9sZWFmX3NldGdsb2JhbChN
QVlCRV9VTlVTRUQoR0VOVFJZIGVudHJ5KSkKK3sKKyAgICByZXR1cm4KKyNsaW5lIDMwMiAiaW5z
bnMuZGVmIgorbGVhZm5lc3Nfb2Zfc2V0Z2xvYmFsKGVudHJ5KTsKKyNsaW5lIDI2NTQgImluc25z
X2luZm8uaW5jIgorfQorCisvKiBhdHRyIGNvbnN0IGNoYXIqIG5hbWUgQCBzZXRnbG9iYWwoZW50
cnkpKHZhbCkoKSAqLworY29uc3QgY2hhcioKK2F0dHJfbmFtZV9zZXRnbG9iYWwoTUFZQkVfVU5V
U0VEKEdFTlRSWSBlbnRyeSkpCit7CisgICAgcmV0dXJuIGluc25fbmFtZShCSU4oc2V0Z2xvYmFs
KSk7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3Qgb3BlbiBAIHNldGdsb2JhbChlbnRyeSkodmFsKSgp
ICovCityYl9udW1fdAorYXR0cl9vcGVuX3NldGdsb2JhbChNQVlCRV9VTlVTRUQoR0VOVFJZIGVu
dHJ5KSkKK3sKKyAgICByZXR1cm4gMTsKK30KKworLyogYXR0ciByYl9udW1fdCBwb3BuIEAgc2V0
Z2xvYmFsKGVudHJ5KSh2YWwpKCkgKi8KK3JiX251bV90CithdHRyX3BvcG5fc2V0Z2xvYmFsKE1B
WUJFX1VOVVNFRChHRU5UUlkgZW50cnkpKQoreworICAgIHJldHVybiAxOworfQorCisvKiBhdHRy
IHJiX251bV90IHJldG4gQCBzZXRnbG9iYWwoZW50cnkpKHZhbCkoKSAqLworcmJfbnVtX3QKK2F0
dHJfcmV0bl9zZXRnbG9iYWwoTUFZQkVfVU5VU0VEKEdFTlRSWSBlbnRyeSkpCit7CisgICAgcmV0
dXJuIDA7Cit9CisKKy8qIGF0dHIgcmJfc251bV90IHNwX2luYyBAIHNldGdsb2JhbChlbnRyeSko
dmFsKSgpICovCityYl9zbnVtX3QKK2F0dHJfc3BfaW5jX3NldGdsb2JhbChNQVlCRV9VTlVTRUQo
R0VOVFJZIGVudHJ5KSkKK3sKKyAgICByZXR1cm4gLTE7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3Qg
d2lkdGggQCBzZXRnbG9iYWwoZW50cnkpKHZhbCkoKSAqLworcmJfbnVtX3QKK2F0dHJfd2lkdGhf
c2V0Z2xvYmFsKE1BWUJFX1VOVVNFRChHRU5UUlkgZW50cnkpKQoreworICAgIHJldHVybiAyOwor
fQorCisvKiBhdHRyIGVudW0gcnVieV92bWluc25fdHlwZSBiaW4gQCBwdXRuaWwoKSgpKHZhbCkg
Ki8KK2VudW0gcnVieV92bWluc25fdHlwZQorYXR0cl9iaW5fcHV0bmlsKHZvaWQpCit7CisgICAg
cmV0dXJuIEJJTihwdXRuaWwpOworfQorCisvKiBhdHRyIGJvb2wgaGFuZGxlc19zcCBAIHB1dG5p
bCgpKCkodmFsKSAqLworYm9vbAorYXR0cl9oYW5kbGVzX3NwX3B1dG5pbCh2b2lkKQoreworICAg
IHJldHVybiBmYWxzZTsKK30KKworLyogYXR0ciBib29sIGxlYWYgQCBwdXRuaWwoKSgpKHZhbCkg
Ki8KK2Jvb2wKK2F0dHJfbGVhZl9wdXRuaWwodm9pZCkKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30K
KworLyogYXR0ciBjb25zdCBjaGFyKiBuYW1lIEAgcHV0bmlsKCkoKSh2YWwpICovCitjb25zdCBj
aGFyKgorYXR0cl9uYW1lX3B1dG5pbCh2b2lkKQoreworICAgIHJldHVybiBpbnNuX25hbWUoQklO
KHB1dG5pbCkpOworfQorCisvKiBhdHRyIHJiX251bV90IG9wZW4gQCBwdXRuaWwoKSgpKHZhbCkg
Ki8KK3JiX251bV90CithdHRyX29wZW5fcHV0bmlsKHZvaWQpCit7CisgICAgcmV0dXJuIDA7Cit9
CisKKy8qIGF0dHIgcmJfbnVtX3QgcG9wbiBAIHB1dG5pbCgpKCkodmFsKSAqLworcmJfbnVtX3QK
K2F0dHJfcG9wbl9wdXRuaWwodm9pZCkKK3sKKyAgICByZXR1cm4gMDsKK30KKworLyogYXR0ciBy
Yl9udW1fdCByZXRuIEAgcHV0bmlsKCkoKSh2YWwpICovCityYl9udW1fdAorYXR0cl9yZXRuX3B1
dG5pbCh2b2lkKQoreworICAgIHJldHVybiAxOworfQorCisvKiBhdHRyIHJiX3NudW1fdCBzcF9p
bmMgQCBwdXRuaWwoKSgpKHZhbCkgKi8KK3JiX3NudW1fdAorYXR0cl9zcF9pbmNfcHV0bmlsKHZv
aWQpCit7CisgICAgcmV0dXJuIDE7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3Qgd2lkdGggQCBwdXRu
aWwoKSgpKHZhbCkgKi8KK3JiX251bV90CithdHRyX3dpZHRoX3B1dG5pbCh2b2lkKQoreworICAg
IHJldHVybiAxOworfQorCisvKiBhdHRyIGVudW0gcnVieV92bWluc25fdHlwZSBiaW4gQCBwdXRz
ZWxmKCkoKSh2YWwpICovCitlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUKK2F0dHJfYmluX3B1dHNlbGYo
dm9pZCkKK3sKKyAgICByZXR1cm4gQklOKHB1dHNlbGYpOworfQorCisvKiBhdHRyIGJvb2wgaGFu
ZGxlc19zcCBAIHB1dHNlbGYoKSgpKHZhbCkgKi8KK2Jvb2wKK2F0dHJfaGFuZGxlc19zcF9wdXRz
ZWxmKHZvaWQpCit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCisvKiBhdHRyIGJvb2wgbGVhZiBA
IHB1dHNlbGYoKSgpKHZhbCkgKi8KK2Jvb2wKK2F0dHJfbGVhZl9wdXRzZWxmKHZvaWQpCit7Cisg
ICAgcmV0dXJuIHRydWU7Cit9CisKKy8qIGF0dHIgY29uc3QgY2hhciogbmFtZSBAIHB1dHNlbGYo
KSgpKHZhbCkgKi8KK2NvbnN0IGNoYXIqCithdHRyX25hbWVfcHV0c2VsZih2b2lkKQoreworICAg
IHJldHVybiBpbnNuX25hbWUoQklOKHB1dHNlbGYpKTsKK30KKworLyogYXR0ciByYl9udW1fdCBv
cGVuIEAgcHV0c2VsZigpKCkodmFsKSAqLworcmJfbnVtX3QKK2F0dHJfb3Blbl9wdXRzZWxmKHZv
aWQpCit7CisgICAgcmV0dXJuIDA7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3QgcG9wbiBAIHB1dHNl
bGYoKSgpKHZhbCkgKi8KK3JiX251bV90CithdHRyX3BvcG5fcHV0c2VsZih2b2lkKQoreworICAg
IHJldHVybiAwOworfQorCisvKiBhdHRyIHJiX251bV90IHJldG4gQCBwdXRzZWxmKCkoKSh2YWwp
ICovCityYl9udW1fdAorYXR0cl9yZXRuX3B1dHNlbGYodm9pZCkKK3sKKyAgICByZXR1cm4gMTsK
K30KKworLyogYXR0ciByYl9zbnVtX3Qgc3BfaW5jIEAgcHV0c2VsZigpKCkodmFsKSAqLworcmJf
c251bV90CithdHRyX3NwX2luY19wdXRzZWxmKHZvaWQpCit7CisgICAgcmV0dXJuIDE7Cit9CisK
Ky8qIGF0dHIgcmJfbnVtX3Qgd2lkdGggQCBwdXRzZWxmKCkoKSh2YWwpICovCityYl9udW1fdAor
YXR0cl93aWR0aF9wdXRzZWxmKHZvaWQpCit7CisgICAgcmV0dXJuIDE7Cit9CisKKy8qIGF0dHIg
ZW51bSBydWJ5X3ZtaW5zbl90eXBlIGJpbiBAIHB1dG9iamVjdCh2YWwpKCkodmFsKSAqLworZW51
bSBydWJ5X3ZtaW5zbl90eXBlCithdHRyX2Jpbl9wdXRvYmplY3QoTUFZQkVfVU5VU0VEKFZBTFVF
IHZhbCkpCit7CisgICAgcmV0dXJuIEJJTihwdXRvYmplY3QpOworfQorCisvKiBhdHRyIGJvb2wg
aGFuZGxlc19zcCBAIHB1dG9iamVjdCh2YWwpKCkodmFsKSAqLworYm9vbAorYXR0cl9oYW5kbGVz
X3NwX3B1dG9iamVjdChNQVlCRV9VTlVTRUQoVkFMVUUgdmFsKSkKK3sKKyAgICByZXR1cm4gZmFs
c2U7Cit9CisKKy8qIGF0dHIgYm9vbCBsZWFmIEAgcHV0b2JqZWN0KHZhbCkoKSh2YWwpICovCiti
b29sCithdHRyX2xlYWZfcHV0b2JqZWN0KE1BWUJFX1VOVVNFRChWQUxVRSB2YWwpKQoreworICAg
IHJldHVybiB0cnVlOworfQorCisvKiBhdHRyIGNvbnN0IGNoYXIqIG5hbWUgQCBwdXRvYmplY3Qo
dmFsKSgpKHZhbCkgKi8KK2NvbnN0IGNoYXIqCithdHRyX25hbWVfcHV0b2JqZWN0KE1BWUJFX1VO
VVNFRChWQUxVRSB2YWwpKQoreworICAgIHJldHVybiBpbnNuX25hbWUoQklOKHB1dG9iamVjdCkp
OworfQorCisvKiBhdHRyIHJiX251bV90IG9wZW4gQCBwdXRvYmplY3QodmFsKSgpKHZhbCkgKi8K
K3JiX251bV90CithdHRyX29wZW5fcHV0b2JqZWN0KE1BWUJFX1VOVVNFRChWQUxVRSB2YWwpKQor
eworICAgIHJldHVybiAxOworfQorCisvKiBhdHRyIHJiX251bV90IHBvcG4gQCBwdXRvYmplY3Qo
dmFsKSgpKHZhbCkgKi8KK3JiX251bV90CithdHRyX3BvcG5fcHV0b2JqZWN0KE1BWUJFX1VOVVNF
RChWQUxVRSB2YWwpKQoreworICAgIHJldHVybiAwOworfQorCisvKiBhdHRyIHJiX251bV90IHJl
dG4gQCBwdXRvYmplY3QodmFsKSgpKHZhbCkgKi8KK3JiX251bV90CithdHRyX3JldG5fcHV0b2Jq
ZWN0KE1BWUJFX1VOVVNFRChWQUxVRSB2YWwpKQoreworICAgIHJldHVybiAxOworfQorCisvKiBh
dHRyIHJiX3NudW1fdCBzcF9pbmMgQCBwdXRvYmplY3QodmFsKSgpKHZhbCkgKi8KK3JiX3NudW1f
dAorYXR0cl9zcF9pbmNfcHV0b2JqZWN0KE1BWUJFX1VOVVNFRChWQUxVRSB2YWwpKQoreworICAg
IHJldHVybiAxOworfQorCisvKiBhdHRyIHJiX251bV90IHdpZHRoIEAgcHV0b2JqZWN0KHZhbCko
KSh2YWwpICovCityYl9udW1fdAorYXR0cl93aWR0aF9wdXRvYmplY3QoTUFZQkVfVU5VU0VEKFZB
TFVFIHZhbCkpCit7CisgICAgcmV0dXJuIDI7Cit9CisKKy8qIGF0dHIgZW51bSBydWJ5X3ZtaW5z
bl90eXBlIGJpbiBAIHB1dHNwZWNpYWxvYmplY3QodmFsdWVfdHlwZSkoKSh2YWwpICovCitlbnVt
IHJ1Ynlfdm1pbnNuX3R5cGUKK2F0dHJfYmluX3B1dHNwZWNpYWxvYmplY3QoTUFZQkVfVU5VU0VE
KHJiX251bV90IHZhbHVlX3R5cGUpKQoreworICAgIHJldHVybiBCSU4ocHV0c3BlY2lhbG9iamVj
dCk7Cit9CisKKy8qIGF0dHIgYm9vbCBoYW5kbGVzX3NwIEAgcHV0c3BlY2lhbG9iamVjdCh2YWx1
ZV90eXBlKSgpKHZhbCkgKi8KK2Jvb2wKK2F0dHJfaGFuZGxlc19zcF9wdXRzcGVjaWFsb2JqZWN0
KE1BWUJFX1VOVVNFRChyYl9udW1fdCB2YWx1ZV90eXBlKSkKK3sKKyAgICByZXR1cm4gZmFsc2U7
Cit9CisKKy8qIGF0dHIgYm9vbCBsZWFmIEAgcHV0c3BlY2lhbG9iamVjdCh2YWx1ZV90eXBlKSgp
KHZhbCkgKi8KK2Jvb2wKK2F0dHJfbGVhZl9wdXRzcGVjaWFsb2JqZWN0KE1BWUJFX1VOVVNFRChy
Yl9udW1fdCB2YWx1ZV90eXBlKSkKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworLyogYXR0ciBj
b25zdCBjaGFyKiBuYW1lIEAgcHV0c3BlY2lhbG9iamVjdCh2YWx1ZV90eXBlKSgpKHZhbCkgKi8K
K2NvbnN0IGNoYXIqCithdHRyX25hbWVfcHV0c3BlY2lhbG9iamVjdChNQVlCRV9VTlVTRUQocmJf
bnVtX3QgdmFsdWVfdHlwZSkpCit7CisgICAgcmV0dXJuIGluc25fbmFtZShCSU4ocHV0c3BlY2lh
bG9iamVjdCkpOworfQorCisvKiBhdHRyIHJiX251bV90IG9wZW4gQCBwdXRzcGVjaWFsb2JqZWN0
KHZhbHVlX3R5cGUpKCkodmFsKSAqLworcmJfbnVtX3QKK2F0dHJfb3Blbl9wdXRzcGVjaWFsb2Jq
ZWN0KE1BWUJFX1VOVVNFRChyYl9udW1fdCB2YWx1ZV90eXBlKSkKK3sKKyAgICByZXR1cm4gMTsK
K30KKworLyogYXR0ciByYl9udW1fdCBwb3BuIEAgcHV0c3BlY2lhbG9iamVjdCh2YWx1ZV90eXBl
KSgpKHZhbCkgKi8KK3JiX251bV90CithdHRyX3BvcG5fcHV0c3BlY2lhbG9iamVjdChNQVlCRV9V
TlVTRUQocmJfbnVtX3QgdmFsdWVfdHlwZSkpCit7CisgICAgcmV0dXJuIDA7Cit9CisKKy8qIGF0
dHIgcmJfbnVtX3QgcmV0biBAIHB1dHNwZWNpYWxvYmplY3QodmFsdWVfdHlwZSkoKSh2YWwpICov
CityYl9udW1fdAorYXR0cl9yZXRuX3B1dHNwZWNpYWxvYmplY3QoTUFZQkVfVU5VU0VEKHJiX251
bV90IHZhbHVlX3R5cGUpKQoreworICAgIHJldHVybiAxOworfQorCisvKiBhdHRyIHJiX3NudW1f
dCBzcF9pbmMgQCBwdXRzcGVjaWFsb2JqZWN0KHZhbHVlX3R5cGUpKCkodmFsKSAqLworcmJfc251
bV90CithdHRyX3NwX2luY19wdXRzcGVjaWFsb2JqZWN0KE1BWUJFX1VOVVNFRChyYl9udW1fdCB2
YWx1ZV90eXBlKSkKK3sKKyAgICByZXR1cm4gMTsKK30KKworLyogYXR0ciByYl9udW1fdCB3aWR0
aCBAIHB1dHNwZWNpYWxvYmplY3QodmFsdWVfdHlwZSkoKSh2YWwpICovCityYl9udW1fdAorYXR0
cl93aWR0aF9wdXRzcGVjaWFsb2JqZWN0KE1BWUJFX1VOVVNFRChyYl9udW1fdCB2YWx1ZV90eXBl
KSkKK3sKKyAgICByZXR1cm4gMjsKK30KKworLyogYXR0ciBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUg
YmluIEAgcHV0aXNlcShpc2VxKSgpKHJldCkgKi8KK2VudW0gcnVieV92bWluc25fdHlwZQorYXR0
cl9iaW5fcHV0aXNlcShNQVlCRV9VTlVTRUQoSVNFUSBpc2VxKSkKK3sKKyAgICByZXR1cm4gQklO
KHB1dGlzZXEpOworfQorCisvKiBhdHRyIGJvb2wgaGFuZGxlc19zcCBAIHB1dGlzZXEoaXNlcSko
KShyZXQpICovCitib29sCithdHRyX2hhbmRsZXNfc3BfcHV0aXNlcShNQVlCRV9VTlVTRUQoSVNF
USBpc2VxKSkKK3sKKyAgICByZXR1cm4KKyNsaW5lIDM2MiAiaW5zbnMuZGVmIgorZmFsc2U7Cisj
bGluZSAyOTY1ICJpbnNuc19pbmZvLmluYyIKK30KKworLyogYXR0ciBib29sIGxlYWYgQCBwdXRp
c2VxKGlzZXEpKCkocmV0KSAqLworYm9vbAorYXR0cl9sZWFmX3B1dGlzZXEoTUFZQkVfVU5VU0VE
KElTRVEgaXNlcSkpCit7CisgICAgcmV0dXJuIHRydWU7Cit9CisKKy8qIGF0dHIgY29uc3QgY2hh
ciogbmFtZSBAIHB1dGlzZXEoaXNlcSkoKShyZXQpICovCitjb25zdCBjaGFyKgorYXR0cl9uYW1l
X3B1dGlzZXEoTUFZQkVfVU5VU0VEKElTRVEgaXNlcSkpCit7CisgICAgcmV0dXJuIGluc25fbmFt
ZShCSU4ocHV0aXNlcSkpOworfQorCisvKiBhdHRyIHJiX251bV90IG9wZW4gQCBwdXRpc2VxKGlz
ZXEpKCkocmV0KSAqLworcmJfbnVtX3QKK2F0dHJfb3Blbl9wdXRpc2VxKE1BWUJFX1VOVVNFRChJ
U0VRIGlzZXEpKQoreworICAgIHJldHVybiAxOworfQorCisvKiBhdHRyIHJiX251bV90IHBvcG4g
QCBwdXRpc2VxKGlzZXEpKCkocmV0KSAqLworcmJfbnVtX3QKK2F0dHJfcG9wbl9wdXRpc2VxKE1B
WUJFX1VOVVNFRChJU0VRIGlzZXEpKQoreworICAgIHJldHVybiAwOworfQorCisvKiBhdHRyIHJi
X251bV90IHJldG4gQCBwdXRpc2VxKGlzZXEpKCkocmV0KSAqLworcmJfbnVtX3QKK2F0dHJfcmV0
bl9wdXRpc2VxKE1BWUJFX1VOVVNFRChJU0VRIGlzZXEpKQoreworICAgIHJldHVybiAxOworfQor
CisvKiBhdHRyIHJiX3NudW1fdCBzcF9pbmMgQCBwdXRpc2VxKGlzZXEpKCkocmV0KSAqLworcmJf
c251bV90CithdHRyX3NwX2luY19wdXRpc2VxKE1BWUJFX1VOVVNFRChJU0VRIGlzZXEpKQorewor
ICAgIHJldHVybiAxOworfQorCisvKiBhdHRyIHJiX251bV90IHdpZHRoIEAgcHV0aXNlcShpc2Vx
KSgpKHJldCkgKi8KK3JiX251bV90CithdHRyX3dpZHRoX3B1dGlzZXEoTUFZQkVfVU5VU0VEKElT
RVEgaXNlcSkpCit7CisgICAgcmV0dXJuIDI7Cit9CisKKy8qIGF0dHIgZW51bSBydWJ5X3ZtaW5z
bl90eXBlIGJpbiBAIHB1dHN0cmluZyhzdHIpKCkodmFsKSAqLworZW51bSBydWJ5X3ZtaW5zbl90
eXBlCithdHRyX2Jpbl9wdXRzdHJpbmcoTUFZQkVfVU5VU0VEKFZBTFVFIHN0cikpCit7CisgICAg
cmV0dXJuIEJJTihwdXRzdHJpbmcpOworfQorCisvKiBhdHRyIGJvb2wgaGFuZGxlc19zcCBAIHB1
dHN0cmluZyhzdHIpKCkodmFsKSAqLworYm9vbAorYXR0cl9oYW5kbGVzX3NwX3B1dHN0cmluZyhN
QVlCRV9VTlVTRUQoVkFMVUUgc3RyKSkKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKKy8qIGF0
dHIgYm9vbCBsZWFmIEAgcHV0c3RyaW5nKHN0cikoKSh2YWwpICovCitib29sCithdHRyX2xlYWZf
cHV0c3RyaW5nKE1BWUJFX1VOVVNFRChWQUxVRSBzdHIpKQoreworICAgIHJldHVybiB0cnVlOwor
fQorCisvKiBhdHRyIGNvbnN0IGNoYXIqIG5hbWUgQCBwdXRzdHJpbmcoc3RyKSgpKHZhbCkgKi8K
K2NvbnN0IGNoYXIqCithdHRyX25hbWVfcHV0c3RyaW5nKE1BWUJFX1VOVVNFRChWQUxVRSBzdHIp
KQoreworICAgIHJldHVybiBpbnNuX25hbWUoQklOKHB1dHN0cmluZykpOworfQorCisvKiBhdHRy
IHJiX251bV90IG9wZW4gQCBwdXRzdHJpbmcoc3RyKSgpKHZhbCkgKi8KK3JiX251bV90CithdHRy
X29wZW5fcHV0c3RyaW5nKE1BWUJFX1VOVVNFRChWQUxVRSBzdHIpKQoreworICAgIHJldHVybiAx
OworfQorCisvKiBhdHRyIHJiX251bV90IHBvcG4gQCBwdXRzdHJpbmcoc3RyKSgpKHZhbCkgKi8K
K3JiX251bV90CithdHRyX3BvcG5fcHV0c3RyaW5nKE1BWUJFX1VOVVNFRChWQUxVRSBzdHIpKQor
eworICAgIHJldHVybiAwOworfQorCisvKiBhdHRyIHJiX251bV90IHJldG4gQCBwdXRzdHJpbmco
c3RyKSgpKHZhbCkgKi8KK3JiX251bV90CithdHRyX3JldG5fcHV0c3RyaW5nKE1BWUJFX1VOVVNF
RChWQUxVRSBzdHIpKQoreworICAgIHJldHVybiAxOworfQorCisvKiBhdHRyIHJiX3NudW1fdCBz
cF9pbmMgQCBwdXRzdHJpbmcoc3RyKSgpKHZhbCkgKi8KK3JiX3NudW1fdAorYXR0cl9zcF9pbmNf
cHV0c3RyaW5nKE1BWUJFX1VOVVNFRChWQUxVRSBzdHIpKQoreworICAgIHJldHVybiAxOworfQor
CisvKiBhdHRyIHJiX251bV90IHdpZHRoIEAgcHV0c3RyaW5nKHN0cikoKSh2YWwpICovCityYl9u
dW1fdAorYXR0cl93aWR0aF9wdXRzdHJpbmcoTUFZQkVfVU5VU0VEKFZBTFVFIHN0cikpCit7Cisg
ICAgcmV0dXJuIDI7Cit9CisKKy8qIGF0dHIgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGJpbiBAIGNv
bmNhdHN0cmluZ3MobnVtKSguLi4pKHZhbCkgKi8KK2VudW0gcnVieV92bWluc25fdHlwZQorYXR0
cl9iaW5fY29uY2F0c3RyaW5ncyhNQVlCRV9VTlVTRUQocmJfbnVtX3QgbnVtKSkKK3sKKyAgICBy
ZXR1cm4gQklOKGNvbmNhdHN0cmluZ3MpOworfQorCisvKiBhdHRyIGJvb2wgaGFuZGxlc19zcCBA
IGNvbmNhdHN0cmluZ3MobnVtKSguLi4pKHZhbCkgKi8KK2Jvb2wKK2F0dHJfaGFuZGxlc19zcF9j
b25jYXRzdHJpbmdzKE1BWUJFX1VOVVNFRChyYl9udW1fdCBudW0pKQoreworICAgIHJldHVybiBm
YWxzZTsKK30KKworLyogYXR0ciBib29sIGxlYWYgQCBjb25jYXRzdHJpbmdzKG51bSkoLi4uKSh2
YWwpICovCitib29sCithdHRyX2xlYWZfY29uY2F0c3RyaW5ncyhNQVlCRV9VTlVTRUQocmJfbnVt
X3QgbnVtKSkKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworLyogYXR0ciBjb25zdCBjaGFyKiBu
YW1lIEAgY29uY2F0c3RyaW5ncyhudW0pKC4uLikodmFsKSAqLworY29uc3QgY2hhcioKK2F0dHJf
bmFtZV9jb25jYXRzdHJpbmdzKE1BWUJFX1VOVVNFRChyYl9udW1fdCBudW0pKQoreworICAgIHJl
dHVybiBpbnNuX25hbWUoQklOKGNvbmNhdHN0cmluZ3MpKTsKK30KKworLyogYXR0ciByYl9udW1f
dCBvcGVuIEAgY29uY2F0c3RyaW5ncyhudW0pKC4uLikodmFsKSAqLworcmJfbnVtX3QKK2F0dHJf
b3Blbl9jb25jYXRzdHJpbmdzKE1BWUJFX1VOVVNFRChyYl9udW1fdCBudW0pKQoreworICAgIHJl
dHVybiAxOworfQorCisvKiBhdHRyIHJiX251bV90IHBvcG4gQCBjb25jYXRzdHJpbmdzKG51bSko
Li4uKSh2YWwpICovCityYl9udW1fdAorYXR0cl9wb3BuX2NvbmNhdHN0cmluZ3MoTUFZQkVfVU5V
U0VEKHJiX251bV90IG51bSkpCit7CisgICAgcmV0dXJuIDA7Cit9CisKKy8qIGF0dHIgcmJfbnVt
X3QgcmV0biBAIGNvbmNhdHN0cmluZ3MobnVtKSguLi4pKHZhbCkgKi8KK3JiX251bV90CithdHRy
X3JldG5fY29uY2F0c3RyaW5ncyhNQVlCRV9VTlVTRUQocmJfbnVtX3QgbnVtKSkKK3sKKyAgICBy
ZXR1cm4gMTsKK30KKworLyogYXR0ciByYl9zbnVtX3Qgc3BfaW5jIEAgY29uY2F0c3RyaW5ncyhu
dW0pKC4uLikodmFsKSAqLworcmJfc251bV90CithdHRyX3NwX2luY19jb25jYXRzdHJpbmdzKE1B
WUJFX1VOVVNFRChyYl9udW1fdCBudW0pKQoreworICAgIHJldHVybgorI2xpbmUgMzgzICJpbnNu
cy5kZWYiCisxIC0gKHJiX3NudW1fdCludW07CisjbGluZSAzMTM2ICJpbnNuc19pbmZvLmluYyIK
K30KKworLyogYXR0ciByYl9udW1fdCB3aWR0aCBAIGNvbmNhdHN0cmluZ3MobnVtKSguLi4pKHZh
bCkgKi8KK3JiX251bV90CithdHRyX3dpZHRoX2NvbmNhdHN0cmluZ3MoTUFZQkVfVU5VU0VEKHJi
X251bV90IG51bSkpCit7CisgICAgcmV0dXJuIDI7Cit9CisKKy8qIGF0dHIgZW51bSBydWJ5X3Zt
aW5zbl90eXBlIGJpbiBAIHRvc3RyaW5nKCkodmFsLCBzdHIpKHZhbCkgKi8KK2VudW0gcnVieV92
bWluc25fdHlwZQorYXR0cl9iaW5fdG9zdHJpbmcodm9pZCkKK3sKKyAgICByZXR1cm4gQklOKHRv
c3RyaW5nKTsKK30KKworLyogYXR0ciBib29sIGhhbmRsZXNfc3AgQCB0b3N0cmluZygpKHZhbCwg
c3RyKSh2YWwpICovCitib29sCithdHRyX2hhbmRsZXNfc3BfdG9zdHJpbmcodm9pZCkKK3sKKyAg
ICByZXR1cm4gZmFsc2U7Cit9CisKKy8qIGF0dHIgYm9vbCBsZWFmIEAgdG9zdHJpbmcoKSh2YWws
IHN0cikodmFsKSAqLworYm9vbAorYXR0cl9sZWFmX3Rvc3RyaW5nKHZvaWQpCit7CisgICAgcmV0
dXJuIHRydWU7Cit9CisKKy8qIGF0dHIgY29uc3QgY2hhciogbmFtZSBAIHRvc3RyaW5nKCkodmFs
LCBzdHIpKHZhbCkgKi8KK2NvbnN0IGNoYXIqCithdHRyX25hbWVfdG9zdHJpbmcodm9pZCkKK3sK
KyAgICByZXR1cm4gaW5zbl9uYW1lKEJJTih0b3N0cmluZykpOworfQorCisvKiBhdHRyIHJiX251
bV90IG9wZW4gQCB0b3N0cmluZygpKHZhbCwgc3RyKSh2YWwpICovCityYl9udW1fdAorYXR0cl9v
cGVuX3Rvc3RyaW5nKHZvaWQpCit7CisgICAgcmV0dXJuIDA7Cit9CisKKy8qIGF0dHIgcmJfbnVt
X3QgcG9wbiBAIHRvc3RyaW5nKCkodmFsLCBzdHIpKHZhbCkgKi8KK3JiX251bV90CithdHRyX3Bv
cG5fdG9zdHJpbmcodm9pZCkKK3sKKyAgICByZXR1cm4gMjsKK30KKworLyogYXR0ciByYl9udW1f
dCByZXRuIEAgdG9zdHJpbmcoKSh2YWwsIHN0cikodmFsKSAqLworcmJfbnVtX3QKK2F0dHJfcmV0
bl90b3N0cmluZyh2b2lkKQoreworICAgIHJldHVybiAxOworfQorCisvKiBhdHRyIHJiX3NudW1f
dCBzcF9pbmMgQCB0b3N0cmluZygpKHZhbCwgc3RyKSh2YWwpICovCityYl9zbnVtX3QKK2F0dHJf
c3BfaW5jX3Rvc3RyaW5nKHZvaWQpCit7CisgICAgcmV0dXJuIC0xOworfQorCisvKiBhdHRyIHJi
X251bV90IHdpZHRoIEAgdG9zdHJpbmcoKSh2YWwsIHN0cikodmFsKSAqLworcmJfbnVtX3QKK2F0
dHJfd2lkdGhfdG9zdHJpbmcodm9pZCkKK3sKKyAgICByZXR1cm4gMTsKK30KKworLyogYXR0ciBl
bnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYmluIEAgZnJlZXplc3RyaW5nKGRlYnVnX2luZm8pKHN0ciko
c3RyKSAqLworZW51bSBydWJ5X3ZtaW5zbl90eXBlCithdHRyX2Jpbl9mcmVlemVzdHJpbmcoTUFZ
QkVfVU5VU0VEKFZBTFVFIGRlYnVnX2luZm8pKQoreworICAgIHJldHVybiBCSU4oZnJlZXplc3Ry
aW5nKTsKK30KKworLyogYXR0ciBib29sIGhhbmRsZXNfc3AgQCBmcmVlemVzdHJpbmcoZGVidWdf
aW5mbykoc3RyKShzdHIpICovCitib29sCithdHRyX2hhbmRsZXNfc3BfZnJlZXplc3RyaW5nKE1B
WUJFX1VOVVNFRChWQUxVRSBkZWJ1Z19pbmZvKSkKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisK
Ky8qIGF0dHIgYm9vbCBsZWFmIEAgZnJlZXplc3RyaW5nKGRlYnVnX2luZm8pKHN0cikoc3RyKSAq
LworYm9vbAorYXR0cl9sZWFmX2ZyZWV6ZXN0cmluZyhNQVlCRV9VTlVTRUQoVkFMVUUgZGVidWdf
aW5mbykpCit7CisgICAgcmV0dXJuIHRydWU7Cit9CisKKy8qIGF0dHIgY29uc3QgY2hhciogbmFt
ZSBAIGZyZWV6ZXN0cmluZyhkZWJ1Z19pbmZvKShzdHIpKHN0cikgKi8KK2NvbnN0IGNoYXIqCith
dHRyX25hbWVfZnJlZXplc3RyaW5nKE1BWUJFX1VOVVNFRChWQUxVRSBkZWJ1Z19pbmZvKSkKK3sK
KyAgICByZXR1cm4gaW5zbl9uYW1lKEJJTihmcmVlemVzdHJpbmcpKTsKK30KKworLyogYXR0ciBy
Yl9udW1fdCBvcGVuIEAgZnJlZXplc3RyaW5nKGRlYnVnX2luZm8pKHN0cikoc3RyKSAqLworcmJf
bnVtX3QKK2F0dHJfb3Blbl9mcmVlemVzdHJpbmcoTUFZQkVfVU5VU0VEKFZBTFVFIGRlYnVnX2lu
Zm8pKQoreworICAgIHJldHVybiAxOworfQorCisvKiBhdHRyIHJiX251bV90IHBvcG4gQCBmcmVl
emVzdHJpbmcoZGVidWdfaW5mbykoc3RyKShzdHIpICovCityYl9udW1fdAorYXR0cl9wb3BuX2Zy
ZWV6ZXN0cmluZyhNQVlCRV9VTlVTRUQoVkFMVUUgZGVidWdfaW5mbykpCit7CisgICAgcmV0dXJu
IDE7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3QgcmV0biBAIGZyZWV6ZXN0cmluZyhkZWJ1Z19pbmZv
KShzdHIpKHN0cikgKi8KK3JiX251bV90CithdHRyX3JldG5fZnJlZXplc3RyaW5nKE1BWUJFX1VO
VVNFRChWQUxVRSBkZWJ1Z19pbmZvKSkKK3sKKyAgICByZXR1cm4gMTsKK30KKworLyogYXR0ciBy
Yl9zbnVtX3Qgc3BfaW5jIEAgZnJlZXplc3RyaW5nKGRlYnVnX2luZm8pKHN0cikoc3RyKSAqLwor
cmJfc251bV90CithdHRyX3NwX2luY19mcmVlemVzdHJpbmcoTUFZQkVfVU5VU0VEKFZBTFVFIGRl
YnVnX2luZm8pKQoreworICAgIHJldHVybiAwOworfQorCisvKiBhdHRyIHJiX251bV90IHdpZHRo
IEAgZnJlZXplc3RyaW5nKGRlYnVnX2luZm8pKHN0cikoc3RyKSAqLworcmJfbnVtX3QKK2F0dHJf
d2lkdGhfZnJlZXplc3RyaW5nKE1BWUJFX1VOVVNFRChWQUxVRSBkZWJ1Z19pbmZvKSkKK3sKKyAg
ICByZXR1cm4gMjsKK30KKworLyogYXR0ciBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYmluIEAgdG9y
ZWdleHAob3B0LCBjbnQpKC4uLikodmFsKSAqLworZW51bSBydWJ5X3ZtaW5zbl90eXBlCithdHRy
X2Jpbl90b3JlZ2V4cCgKKyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3Qgb3B0KSwKKyAgICBNQVlC
RV9VTlVTRUQocmJfbnVtX3QgY250KQorKQoreworICAgIHJldHVybiBCSU4odG9yZWdleHApOwor
fQorCisvKiBhdHRyIGJvb2wgaGFuZGxlc19zcCBAIHRvcmVnZXhwKG9wdCwgY250KSguLi4pKHZh
bCkgKi8KK2Jvb2wKK2F0dHJfaGFuZGxlc19zcF90b3JlZ2V4cCgKKyAgICBNQVlCRV9VTlVTRUQo
cmJfbnVtX3Qgb3B0KSwKKyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QgY250KQorKQoreworICAg
IHJldHVybiBmYWxzZTsKK30KKworLyogYXR0ciBib29sIGxlYWYgQCB0b3JlZ2V4cChvcHQsIGNu
dCkoLi4uKSh2YWwpICovCitib29sCithdHRyX2xlYWZfdG9yZWdleHAoCisgICAgTUFZQkVfVU5V
U0VEKHJiX251bV90IG9wdCksCisgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IGNudCkKKykKK3sK
KyAgICByZXR1cm4KKyNsaW5lIDQxOCAiaW5zbnMuZGVmIgordHJ1ZTsKKyNsaW5lIDMzMDIgImlu
c25zX2luZm8uaW5jIgorfQorCisvKiBhdHRyIGNvbnN0IGNoYXIqIG5hbWUgQCB0b3JlZ2V4cChv
cHQsIGNudCkoLi4uKSh2YWwpICovCitjb25zdCBjaGFyKgorYXR0cl9uYW1lX3RvcmVnZXhwKAor
ICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCBvcHQpLAorICAgIE1BWUJFX1VOVVNFRChyYl9udW1f
dCBjbnQpCispCit7CisgICAgcmV0dXJuIGluc25fbmFtZShCSU4odG9yZWdleHApKTsKK30KKwor
LyogYXR0ciByYl9udW1fdCBvcGVuIEAgdG9yZWdleHAob3B0LCBjbnQpKC4uLikodmFsKSAqLwor
cmJfbnVtX3QKK2F0dHJfb3Blbl90b3JlZ2V4cCgKKyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3Qg
b3B0KSwKKyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QgY250KQorKQoreworICAgIHJldHVybiAy
OworfQorCisvKiBhdHRyIHJiX251bV90IHBvcG4gQCB0b3JlZ2V4cChvcHQsIGNudCkoLi4uKSh2
YWwpICovCityYl9udW1fdAorYXR0cl9wb3BuX3RvcmVnZXhwKAorICAgIE1BWUJFX1VOVVNFRChy
Yl9udW1fdCBvcHQpLAorICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCBjbnQpCispCit7CisgICAg
cmV0dXJuIDA7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3QgcmV0biBAIHRvcmVnZXhwKG9wdCwgY250
KSguLi4pKHZhbCkgKi8KK3JiX251bV90CithdHRyX3JldG5fdG9yZWdleHAoCisgICAgTUFZQkVf
VU5VU0VEKHJiX251bV90IG9wdCksCisgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IGNudCkKKykK
K3sKKyAgICByZXR1cm4gMTsKK30KKworLyogYXR0ciByYl9zbnVtX3Qgc3BfaW5jIEAgdG9yZWdl
eHAob3B0LCBjbnQpKC4uLikodmFsKSAqLworcmJfc251bV90CithdHRyX3NwX2luY190b3JlZ2V4
cCgKKyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3Qgb3B0KSwKKyAgICBNQVlCRV9VTlVTRUQocmJf
bnVtX3QgY250KQorKQoreworICAgIHJldHVybgorI2xpbmUgNDE5ICJpbnNucy5kZWYiCisxIC0g
KHJiX3NudW1fdCljbnQ7CisjbGluZSAzMzU1ICJpbnNuc19pbmZvLmluYyIKK30KKworLyogYXR0
ciByYl9udW1fdCB3aWR0aCBAIHRvcmVnZXhwKG9wdCwgY250KSguLi4pKHZhbCkgKi8KK3JiX251
bV90CithdHRyX3dpZHRoX3RvcmVnZXhwKAorICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCBvcHQp
LAorICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCBjbnQpCispCit7CisgICAgcmV0dXJuIDM7Cit9
CisKKy8qIGF0dHIgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGJpbiBAIGludGVybigpKHN0cikoc3lt
KSAqLworZW51bSBydWJ5X3ZtaW5zbl90eXBlCithdHRyX2Jpbl9pbnRlcm4odm9pZCkKK3sKKyAg
ICByZXR1cm4gQklOKGludGVybik7Cit9CisKKy8qIGF0dHIgYm9vbCBoYW5kbGVzX3NwIEAgaW50
ZXJuKCkoc3RyKShzeW0pICovCitib29sCithdHRyX2hhbmRsZXNfc3BfaW50ZXJuKHZvaWQpCit7
CisgICAgcmV0dXJuIGZhbHNlOworfQorCisvKiBhdHRyIGJvb2wgbGVhZiBAIGludGVybigpKHN0
cikoc3ltKSAqLworYm9vbAorYXR0cl9sZWFmX2ludGVybih2b2lkKQoreworICAgIHJldHVybiB0
cnVlOworfQorCisvKiBhdHRyIGNvbnN0IGNoYXIqIG5hbWUgQCBpbnRlcm4oKShzdHIpKHN5bSkg
Ki8KK2NvbnN0IGNoYXIqCithdHRyX25hbWVfaW50ZXJuKHZvaWQpCit7CisgICAgcmV0dXJuIGlu
c25fbmFtZShCSU4oaW50ZXJuKSk7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3Qgb3BlbiBAIGludGVy
bigpKHN0cikoc3ltKSAqLworcmJfbnVtX3QKK2F0dHJfb3Blbl9pbnRlcm4odm9pZCkKK3sKKyAg
ICByZXR1cm4gMDsKK30KKworLyogYXR0ciByYl9udW1fdCBwb3BuIEAgaW50ZXJuKCkoc3RyKShz
eW0pICovCityYl9udW1fdAorYXR0cl9wb3BuX2ludGVybih2b2lkKQoreworICAgIHJldHVybiAx
OworfQorCisvKiBhdHRyIHJiX251bV90IHJldG4gQCBpbnRlcm4oKShzdHIpKHN5bSkgKi8KK3Ji
X251bV90CithdHRyX3JldG5faW50ZXJuKHZvaWQpCit7CisgICAgcmV0dXJuIDE7Cit9CisKKy8q
IGF0dHIgcmJfc251bV90IHNwX2luYyBAIGludGVybigpKHN0cikoc3ltKSAqLworcmJfc251bV90
CithdHRyX3NwX2luY19pbnRlcm4odm9pZCkKK3sKKyAgICByZXR1cm4gMDsKK30KKworLyogYXR0
ciByYl9udW1fdCB3aWR0aCBAIGludGVybigpKHN0cikoc3ltKSAqLworcmJfbnVtX3QKK2F0dHJf
d2lkdGhfaW50ZXJuKHZvaWQpCit7CisgICAgcmV0dXJuIDE7Cit9CisKKy8qIGF0dHIgZW51bSBy
dWJ5X3ZtaW5zbl90eXBlIGJpbiBAIG5ld2FycmF5KG51bSkoLi4uKSh2YWwpICovCitlbnVtIHJ1
Ynlfdm1pbnNuX3R5cGUKK2F0dHJfYmluX25ld2FycmF5KE1BWUJFX1VOVVNFRChyYl9udW1fdCBu
dW0pKQoreworICAgIHJldHVybiBCSU4obmV3YXJyYXkpOworfQorCisvKiBhdHRyIGJvb2wgaGFu
ZGxlc19zcCBAIG5ld2FycmF5KG51bSkoLi4uKSh2YWwpICovCitib29sCithdHRyX2hhbmRsZXNf
c3BfbmV3YXJyYXkoTUFZQkVfVU5VU0VEKHJiX251bV90IG51bSkpCit7CisgICAgcmV0dXJuIGZh
bHNlOworfQorCisvKiBhdHRyIGJvb2wgbGVhZiBAIG5ld2FycmF5KG51bSkoLi4uKSh2YWwpICov
Citib29sCithdHRyX2xlYWZfbmV3YXJyYXkoTUFZQkVfVU5VU0VEKHJiX251bV90IG51bSkpCit7
CisgICAgcmV0dXJuIHRydWU7Cit9CisKKy8qIGF0dHIgY29uc3QgY2hhciogbmFtZSBAIG5ld2Fy
cmF5KG51bSkoLi4uKSh2YWwpICovCitjb25zdCBjaGFyKgorYXR0cl9uYW1lX25ld2FycmF5KE1B
WUJFX1VOVVNFRChyYl9udW1fdCBudW0pKQoreworICAgIHJldHVybiBpbnNuX25hbWUoQklOKG5l
d2FycmF5KSk7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3Qgb3BlbiBAIG5ld2FycmF5KG51bSkoLi4u
KSh2YWwpICovCityYl9udW1fdAorYXR0cl9vcGVuX25ld2FycmF5KE1BWUJFX1VOVVNFRChyYl9u
dW1fdCBudW0pKQoreworICAgIHJldHVybiAxOworfQorCisvKiBhdHRyIHJiX251bV90IHBvcG4g
QCBuZXdhcnJheShudW0pKC4uLikodmFsKSAqLworcmJfbnVtX3QKK2F0dHJfcG9wbl9uZXdhcnJh
eShNQVlCRV9VTlVTRUQocmJfbnVtX3QgbnVtKSkKK3sKKyAgICByZXR1cm4gMDsKK30KKworLyog
YXR0ciByYl9udW1fdCByZXRuIEAgbmV3YXJyYXkobnVtKSguLi4pKHZhbCkgKi8KK3JiX251bV90
CithdHRyX3JldG5fbmV3YXJyYXkoTUFZQkVfVU5VU0VEKHJiX251bV90IG51bSkpCit7CisgICAg
cmV0dXJuIDE7Cit9CisKKy8qIGF0dHIgcmJfc251bV90IHNwX2luYyBAIG5ld2FycmF5KG51bSko
Li4uKSh2YWwpICovCityYl9zbnVtX3QKK2F0dHJfc3BfaW5jX25ld2FycmF5KE1BWUJFX1VOVVNF
RChyYl9udW1fdCBudW0pKQoreworICAgIHJldHVybgorI2xpbmUgNDQyICJpbnNucy5kZWYiCisx
IC0gKHJiX3NudW1fdCludW07CisjbGluZSAzNDg3ICJpbnNuc19pbmZvLmluYyIKK30KKworLyog
YXR0ciByYl9udW1fdCB3aWR0aCBAIG5ld2FycmF5KG51bSkoLi4uKSh2YWwpICovCityYl9udW1f
dAorYXR0cl93aWR0aF9uZXdhcnJheShNQVlCRV9VTlVTRUQocmJfbnVtX3QgbnVtKSkKK3sKKyAg
ICByZXR1cm4gMjsKK30KKworLyogYXR0ciBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYmluIEAgZHVw
YXJyYXkoYXJ5KSgpKHZhbCkgKi8KK2VudW0gcnVieV92bWluc25fdHlwZQorYXR0cl9iaW5fZHVw
YXJyYXkoTUFZQkVfVU5VU0VEKFZBTFVFIGFyeSkpCit7CisgICAgcmV0dXJuIEJJTihkdXBhcnJh
eSk7Cit9CisKKy8qIGF0dHIgYm9vbCBoYW5kbGVzX3NwIEAgZHVwYXJyYXkoYXJ5KSgpKHZhbCkg
Ki8KK2Jvb2wKK2F0dHJfaGFuZGxlc19zcF9kdXBhcnJheShNQVlCRV9VTlVTRUQoVkFMVUUgYXJ5
KSkKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKKy8qIGF0dHIgYm9vbCBsZWFmIEAgZHVwYXJy
YXkoYXJ5KSgpKHZhbCkgKi8KK2Jvb2wKK2F0dHJfbGVhZl9kdXBhcnJheShNQVlCRV9VTlVTRUQo
VkFMVUUgYXJ5KSkKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworLyogYXR0ciBjb25zdCBjaGFy
KiBuYW1lIEAgZHVwYXJyYXkoYXJ5KSgpKHZhbCkgKi8KK2NvbnN0IGNoYXIqCithdHRyX25hbWVf
ZHVwYXJyYXkoTUFZQkVfVU5VU0VEKFZBTFVFIGFyeSkpCit7CisgICAgcmV0dXJuIGluc25fbmFt
ZShCSU4oZHVwYXJyYXkpKTsKK30KKworLyogYXR0ciByYl9udW1fdCBvcGVuIEAgZHVwYXJyYXko
YXJ5KSgpKHZhbCkgKi8KK3JiX251bV90CithdHRyX29wZW5fZHVwYXJyYXkoTUFZQkVfVU5VU0VE
KFZBTFVFIGFyeSkpCit7CisgICAgcmV0dXJuIDE7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3QgcG9w
biBAIGR1cGFycmF5KGFyeSkoKSh2YWwpICovCityYl9udW1fdAorYXR0cl9wb3BuX2R1cGFycmF5
KE1BWUJFX1VOVVNFRChWQUxVRSBhcnkpKQoreworICAgIHJldHVybiAwOworfQorCisvKiBhdHRy
IHJiX251bV90IHJldG4gQCBkdXBhcnJheShhcnkpKCkodmFsKSAqLworcmJfbnVtX3QKK2F0dHJf
cmV0bl9kdXBhcnJheShNQVlCRV9VTlVTRUQoVkFMVUUgYXJ5KSkKK3sKKyAgICByZXR1cm4gMTsK
K30KKworLyogYXR0ciByYl9zbnVtX3Qgc3BfaW5jIEAgZHVwYXJyYXkoYXJ5KSgpKHZhbCkgKi8K
K3JiX3NudW1fdAorYXR0cl9zcF9pbmNfZHVwYXJyYXkoTUFZQkVfVU5VU0VEKFZBTFVFIGFyeSkp
Cit7CisgICAgcmV0dXJuIDE7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3Qgd2lkdGggQCBkdXBhcnJh
eShhcnkpKCkodmFsKSAqLworcmJfbnVtX3QKK2F0dHJfd2lkdGhfZHVwYXJyYXkoTUFZQkVfVU5V
U0VEKFZBTFVFIGFyeSkpCit7CisgICAgcmV0dXJuIDI7Cit9CisKKy8qIGF0dHIgZW51bSBydWJ5
X3ZtaW5zbl90eXBlIGJpbiBAIGR1cGhhc2goaGFzaCkoKSh2YWwpICovCitlbnVtIHJ1Ynlfdm1p
bnNuX3R5cGUKK2F0dHJfYmluX2R1cGhhc2goTUFZQkVfVU5VU0VEKFZBTFVFIGhhc2gpKQorewor
ICAgIHJldHVybiBCSU4oZHVwaGFzaCk7Cit9CisKKy8qIGF0dHIgYm9vbCBoYW5kbGVzX3NwIEAg
ZHVwaGFzaChoYXNoKSgpKHZhbCkgKi8KK2Jvb2wKK2F0dHJfaGFuZGxlc19zcF9kdXBoYXNoKE1B
WUJFX1VOVVNFRChWQUxVRSBoYXNoKSkKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKKy8qIGF0
dHIgYm9vbCBsZWFmIEAgZHVwaGFzaChoYXNoKSgpKHZhbCkgKi8KK2Jvb2wKK2F0dHJfbGVhZl9k
dXBoYXNoKE1BWUJFX1VOVVNFRChWQUxVRSBoYXNoKSkKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30K
KworLyogYXR0ciBjb25zdCBjaGFyKiBuYW1lIEAgZHVwaGFzaChoYXNoKSgpKHZhbCkgKi8KK2Nv
bnN0IGNoYXIqCithdHRyX25hbWVfZHVwaGFzaChNQVlCRV9VTlVTRUQoVkFMVUUgaGFzaCkpCit7
CisgICAgcmV0dXJuIGluc25fbmFtZShCSU4oZHVwaGFzaCkpOworfQorCisvKiBhdHRyIHJiX251
bV90IG9wZW4gQCBkdXBoYXNoKGhhc2gpKCkodmFsKSAqLworcmJfbnVtX3QKK2F0dHJfb3Blbl9k
dXBoYXNoKE1BWUJFX1VOVVNFRChWQUxVRSBoYXNoKSkKK3sKKyAgICByZXR1cm4gMTsKK30KKwor
LyogYXR0ciByYl9udW1fdCBwb3BuIEAgZHVwaGFzaChoYXNoKSgpKHZhbCkgKi8KK3JiX251bV90
CithdHRyX3BvcG5fZHVwaGFzaChNQVlCRV9VTlVTRUQoVkFMVUUgaGFzaCkpCit7CisgICAgcmV0
dXJuIDA7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3QgcmV0biBAIGR1cGhhc2goaGFzaCkoKSh2YWwp
ICovCityYl9udW1fdAorYXR0cl9yZXRuX2R1cGhhc2goTUFZQkVfVU5VU0VEKFZBTFVFIGhhc2gp
KQoreworICAgIHJldHVybiAxOworfQorCisvKiBhdHRyIHJiX3NudW1fdCBzcF9pbmMgQCBkdXBo
YXNoKGhhc2gpKCkodmFsKSAqLworcmJfc251bV90CithdHRyX3NwX2luY19kdXBoYXNoKE1BWUJF
X1VOVVNFRChWQUxVRSBoYXNoKSkKK3sKKyAgICByZXR1cm4gMTsKK30KKworLyogYXR0ciByYl9u
dW1fdCB3aWR0aCBAIGR1cGhhc2goaGFzaCkoKSh2YWwpICovCityYl9udW1fdAorYXR0cl93aWR0
aF9kdXBoYXNoKE1BWUJFX1VOVVNFRChWQUxVRSBoYXNoKSkKK3sKKyAgICByZXR1cm4gMjsKK30K
KworLyogYXR0ciBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYmluIEAgZXhwYW5kYXJyYXkobnVtLCBm
bGFnKSguLi4sIGFyeSkoLi4uKSAqLworZW51bSBydWJ5X3ZtaW5zbl90eXBlCithdHRyX2Jpbl9l
eHBhbmRhcnJheSgKKyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QgbnVtKSwKKyAgICBNQVlCRV9V
TlVTRUQocmJfbnVtX3QgZmxhZykKKykKK3sKKyAgICByZXR1cm4gQklOKGV4cGFuZGFycmF5KTsK
K30KKworLyogYXR0ciBib29sIGhhbmRsZXNfc3AgQCBleHBhbmRhcnJheShudW0sIGZsYWcpKC4u
LiwgYXJ5KSguLi4pICovCitib29sCithdHRyX2hhbmRsZXNfc3BfZXhwYW5kYXJyYXkoCisgICAg
TUFZQkVfVU5VU0VEKHJiX251bV90IG51bSksCisgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IGZs
YWcpCispCit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCisvKiBhdHRyIGJvb2wgbGVhZiBAIGV4
cGFuZGFycmF5KG51bSwgZmxhZykoLi4uLCBhcnkpKC4uLikgKi8KK2Jvb2wKK2F0dHJfbGVhZl9l
eHBhbmRhcnJheSgKKyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QgbnVtKSwKKyAgICBNQVlCRV9V
TlVTRUQocmJfbnVtX3QgZmxhZykKKykKK3sKKyAgICByZXR1cm4KKyNsaW5lIDQ4MyAiaW5zbnMu
ZGVmIgorZmFsc2U7CisjbGluZSAzNjUzICJpbnNuc19pbmZvLmluYyIKK30KKworLyogYXR0ciBj
b25zdCBjaGFyKiBuYW1lIEAgZXhwYW5kYXJyYXkobnVtLCBmbGFnKSguLi4sIGFyeSkoLi4uKSAq
LworY29uc3QgY2hhcioKK2F0dHJfbmFtZV9leHBhbmRhcnJheSgKKyAgICBNQVlCRV9VTlVTRUQo
cmJfbnVtX3QgbnVtKSwKKyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QgZmxhZykKKykKK3sKKyAg
ICByZXR1cm4gaW5zbl9uYW1lKEJJTihleHBhbmRhcnJheSkpOworfQorCisvKiBhdHRyIHJiX251
bV90IG9wZW4gQCBleHBhbmRhcnJheShudW0sIGZsYWcpKC4uLiwgYXJ5KSguLi4pICovCityYl9u
dW1fdAorYXR0cl9vcGVuX2V4cGFuZGFycmF5KAorICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCBu
dW0pLAorICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCBmbGFnKQorKQoreworICAgIHJldHVybiAy
OworfQorCisvKiBhdHRyIHJiX251bV90IHBvcG4gQCBleHBhbmRhcnJheShudW0sIGZsYWcpKC4u
LiwgYXJ5KSguLi4pICovCityYl9udW1fdAorYXR0cl9wb3BuX2V4cGFuZGFycmF5KAorICAgIE1B
WUJFX1VOVVNFRChyYl9udW1fdCBudW0pLAorICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCBmbGFn
KQorKQoreworICAgIHJldHVybiAxOworfQorCisvKiBhdHRyIHJiX251bV90IHJldG4gQCBleHBh
bmRhcnJheShudW0sIGZsYWcpKC4uLiwgYXJ5KSguLi4pICovCityYl9udW1fdAorYXR0cl9yZXRu
X2V4cGFuZGFycmF5KAorICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCBudW0pLAorICAgIE1BWUJF
X1VOVVNFRChyYl9udW1fdCBmbGFnKQorKQoreworICAgIHJldHVybiAwOworfQorCisvKiBhdHRy
IHJiX3NudW1fdCBzcF9pbmMgQCBleHBhbmRhcnJheShudW0sIGZsYWcpKC4uLiwgYXJ5KSguLi4p
ICovCityYl9zbnVtX3QKK2F0dHJfc3BfaW5jX2V4cGFuZGFycmF5KAorICAgIE1BWUJFX1VOVVNF
RChyYl9udW1fdCBudW0pLAorICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCBmbGFnKQorKQorewor
ICAgIHJldHVybgorI2xpbmUgNDg0ICJpbnNucy5kZWYiCisocmJfc251bV90KW51bSAtIDEgKyAo
ZmxhZyAmIDEgPyAxIDogMCk7CisjbGluZSAzNzA2ICJpbnNuc19pbmZvLmluYyIKK30KKworLyog
YXR0ciByYl9udW1fdCB3aWR0aCBAIGV4cGFuZGFycmF5KG51bSwgZmxhZykoLi4uLCBhcnkpKC4u
LikgKi8KK3JiX251bV90CithdHRyX3dpZHRoX2V4cGFuZGFycmF5KAorICAgIE1BWUJFX1VOVVNF
RChyYl9udW1fdCBudW0pLAorICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCBmbGFnKQorKQorewor
ICAgIHJldHVybiAzOworfQorCisvKiBhdHRyIGVudW0gcnVieV92bWluc25fdHlwZSBiaW4gQCBj
b25jYXRhcnJheSgpKGFyeTEsIGFyeTIpKGFyeSkgKi8KK2VudW0gcnVieV92bWluc25fdHlwZQor
YXR0cl9iaW5fY29uY2F0YXJyYXkodm9pZCkKK3sKKyAgICByZXR1cm4gQklOKGNvbmNhdGFycmF5
KTsKK30KKworLyogYXR0ciBib29sIGhhbmRsZXNfc3AgQCBjb25jYXRhcnJheSgpKGFyeTEsIGFy
eTIpKGFyeSkgKi8KK2Jvb2wKK2F0dHJfaGFuZGxlc19zcF9jb25jYXRhcnJheSh2b2lkKQorewor
ICAgIHJldHVybiBmYWxzZTsKK30KKworLyogYXR0ciBib29sIGxlYWYgQCBjb25jYXRhcnJheSgp
KGFyeTEsIGFyeTIpKGFyeSkgKi8KK2Jvb2wKK2F0dHJfbGVhZl9jb25jYXRhcnJheSh2b2lkKQor
eworICAgIHJldHVybgorI2xpbmUgNDk1ICJpbnNucy5kZWYiCitmYWxzZTsKKyNsaW5lIDM3NDAg
Imluc25zX2luZm8uaW5jIgorfQorCisvKiBhdHRyIGNvbnN0IGNoYXIqIG5hbWUgQCBjb25jYXRh
cnJheSgpKGFyeTEsIGFyeTIpKGFyeSkgKi8KK2NvbnN0IGNoYXIqCithdHRyX25hbWVfY29uY2F0
YXJyYXkodm9pZCkKK3sKKyAgICByZXR1cm4gaW5zbl9uYW1lKEJJTihjb25jYXRhcnJheSkpOwor
fQorCisvKiBhdHRyIHJiX251bV90IG9wZW4gQCBjb25jYXRhcnJheSgpKGFyeTEsIGFyeTIpKGFy
eSkgKi8KK3JiX251bV90CithdHRyX29wZW5fY29uY2F0YXJyYXkodm9pZCkKK3sKKyAgICByZXR1
cm4gMDsKK30KKworLyogYXR0ciByYl9udW1fdCBwb3BuIEAgY29uY2F0YXJyYXkoKShhcnkxLCBh
cnkyKShhcnkpICovCityYl9udW1fdAorYXR0cl9wb3BuX2NvbmNhdGFycmF5KHZvaWQpCit7Cisg
ICAgcmV0dXJuIDI7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3QgcmV0biBAIGNvbmNhdGFycmF5KCko
YXJ5MSwgYXJ5MikoYXJ5KSAqLworcmJfbnVtX3QKK2F0dHJfcmV0bl9jb25jYXRhcnJheSh2b2lk
KQoreworICAgIHJldHVybiAxOworfQorCisvKiBhdHRyIHJiX3NudW1fdCBzcF9pbmMgQCBjb25j
YXRhcnJheSgpKGFyeTEsIGFyeTIpKGFyeSkgKi8KK3JiX3NudW1fdAorYXR0cl9zcF9pbmNfY29u
Y2F0YXJyYXkodm9pZCkKK3sKKyAgICByZXR1cm4gLTE7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3Qg
d2lkdGggQCBjb25jYXRhcnJheSgpKGFyeTEsIGFyeTIpKGFyeSkgKi8KK3JiX251bV90CithdHRy
X3dpZHRoX2NvbmNhdGFycmF5KHZvaWQpCit7CisgICAgcmV0dXJuIDE7Cit9CisKKy8qIGF0dHIg
ZW51bSBydWJ5X3ZtaW5zbl90eXBlIGJpbiBAIHNwbGF0YXJyYXkoZmxhZykoYXJ5KShvYmopICov
CitlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUKK2F0dHJfYmluX3NwbGF0YXJyYXkoTUFZQkVfVU5VU0VE
KFZBTFVFIGZsYWcpKQoreworICAgIHJldHVybiBCSU4oc3BsYXRhcnJheSk7Cit9CisKKy8qIGF0
dHIgYm9vbCBoYW5kbGVzX3NwIEAgc3BsYXRhcnJheShmbGFnKShhcnkpKG9iaikgKi8KK2Jvb2wK
K2F0dHJfaGFuZGxlc19zcF9zcGxhdGFycmF5KE1BWUJFX1VOVVNFRChWQUxVRSBmbGFnKSkKK3sK
KyAgICByZXR1cm4gZmFsc2U7Cit9CisKKy8qIGF0dHIgYm9vbCBsZWFmIEAgc3BsYXRhcnJheShm
bGFnKShhcnkpKG9iaikgKi8KK2Jvb2wKK2F0dHJfbGVhZl9zcGxhdGFycmF5KE1BWUJFX1VOVVNF
RChWQUxVRSBmbGFnKSkKK3sKKyAgICByZXR1cm4KKyNsaW5lIDUwNiAiaW5zbnMuZGVmIgorZmFs
c2U7CisjbGluZSAzODA2ICJpbnNuc19pbmZvLmluYyIKK30KKworLyogYXR0ciBjb25zdCBjaGFy
KiBuYW1lIEAgc3BsYXRhcnJheShmbGFnKShhcnkpKG9iaikgKi8KK2NvbnN0IGNoYXIqCithdHRy
X25hbWVfc3BsYXRhcnJheShNQVlCRV9VTlVTRUQoVkFMVUUgZmxhZykpCit7CisgICAgcmV0dXJu
IGluc25fbmFtZShCSU4oc3BsYXRhcnJheSkpOworfQorCisvKiBhdHRyIHJiX251bV90IG9wZW4g
QCBzcGxhdGFycmF5KGZsYWcpKGFyeSkob2JqKSAqLworcmJfbnVtX3QKK2F0dHJfb3Blbl9zcGxh
dGFycmF5KE1BWUJFX1VOVVNFRChWQUxVRSBmbGFnKSkKK3sKKyAgICByZXR1cm4gMTsKK30KKwor
LyogYXR0ciByYl9udW1fdCBwb3BuIEAgc3BsYXRhcnJheShmbGFnKShhcnkpKG9iaikgKi8KK3Ji
X251bV90CithdHRyX3BvcG5fc3BsYXRhcnJheShNQVlCRV9VTlVTRUQoVkFMVUUgZmxhZykpCit7
CisgICAgcmV0dXJuIDE7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3QgcmV0biBAIHNwbGF0YXJyYXko
ZmxhZykoYXJ5KShvYmopICovCityYl9udW1fdAorYXR0cl9yZXRuX3NwbGF0YXJyYXkoTUFZQkVf
VU5VU0VEKFZBTFVFIGZsYWcpKQoreworICAgIHJldHVybiAxOworfQorCisvKiBhdHRyIHJiX3Nu
dW1fdCBzcF9pbmMgQCBzcGxhdGFycmF5KGZsYWcpKGFyeSkob2JqKSAqLworcmJfc251bV90Cith
dHRyX3NwX2luY19zcGxhdGFycmF5KE1BWUJFX1VOVVNFRChWQUxVRSBmbGFnKSkKK3sKKyAgICBy
ZXR1cm4gMDsKK30KKworLyogYXR0ciByYl9udW1fdCB3aWR0aCBAIHNwbGF0YXJyYXkoZmxhZyko
YXJ5KShvYmopICovCityYl9udW1fdAorYXR0cl93aWR0aF9zcGxhdGFycmF5KE1BWUJFX1VOVVNF
RChWQUxVRSBmbGFnKSkKK3sKKyAgICByZXR1cm4gMjsKK30KKworLyogYXR0ciBlbnVtIHJ1Ynlf
dm1pbnNuX3R5cGUgYmluIEAgbmV3aGFzaChudW0pKC4uLikodmFsKSAqLworZW51bSBydWJ5X3Zt
aW5zbl90eXBlCithdHRyX2Jpbl9uZXdoYXNoKE1BWUJFX1VOVVNFRChyYl9udW1fdCBudW0pKQor
eworICAgIHJldHVybiBCSU4obmV3aGFzaCk7Cit9CisKKy8qIGF0dHIgYm9vbCBoYW5kbGVzX3Nw
IEAgbmV3aGFzaChudW0pKC4uLikodmFsKSAqLworYm9vbAorYXR0cl9oYW5kbGVzX3NwX25ld2hh
c2goTUFZQkVfVU5VU0VEKHJiX251bV90IG51bSkpCit7CisgICAgcmV0dXJuIGZhbHNlOworfQor
CisvKiBhdHRyIGJvb2wgbGVhZiBAIG5ld2hhc2gobnVtKSguLi4pKHZhbCkgKi8KK2Jvb2wKK2F0
dHJfbGVhZl9uZXdoYXNoKE1BWUJFX1VOVVNFRChyYl9udW1fdCBudW0pKQoreworICAgIHJldHVy
bgorI2xpbmUgNTE3ICJpbnNucy5kZWYiCitmYWxzZTsKKyNsaW5lIDM4NzIgImluc25zX2luZm8u
aW5jIgorfQorCisvKiBhdHRyIGNvbnN0IGNoYXIqIG5hbWUgQCBuZXdoYXNoKG51bSkoLi4uKSh2
YWwpICovCitjb25zdCBjaGFyKgorYXR0cl9uYW1lX25ld2hhc2goTUFZQkVfVU5VU0VEKHJiX251
bV90IG51bSkpCit7CisgICAgcmV0dXJuIGluc25fbmFtZShCSU4obmV3aGFzaCkpOworfQorCisv
KiBhdHRyIHJiX251bV90IG9wZW4gQCBuZXdoYXNoKG51bSkoLi4uKSh2YWwpICovCityYl9udW1f
dAorYXR0cl9vcGVuX25ld2hhc2goTUFZQkVfVU5VU0VEKHJiX251bV90IG51bSkpCit7CisgICAg
cmV0dXJuIDE7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3QgcG9wbiBAIG5ld2hhc2gobnVtKSguLi4p
KHZhbCkgKi8KK3JiX251bV90CithdHRyX3BvcG5fbmV3aGFzaChNQVlCRV9VTlVTRUQocmJfbnVt
X3QgbnVtKSkKK3sKKyAgICByZXR1cm4gMDsKK30KKworLyogYXR0ciByYl9udW1fdCByZXRuIEAg
bmV3aGFzaChudW0pKC4uLikodmFsKSAqLworcmJfbnVtX3QKK2F0dHJfcmV0bl9uZXdoYXNoKE1B
WUJFX1VOVVNFRChyYl9udW1fdCBudW0pKQoreworICAgIHJldHVybiAxOworfQorCisvKiBhdHRy
IHJiX3NudW1fdCBzcF9pbmMgQCBuZXdoYXNoKG51bSkoLi4uKSh2YWwpICovCityYl9zbnVtX3QK
K2F0dHJfc3BfaW5jX25ld2hhc2goTUFZQkVfVU5VU0VEKHJiX251bV90IG51bSkpCit7CisgICAg
cmV0dXJuCisjbGluZSA1MTggImluc25zLmRlZiIKKzEgLSAocmJfc251bV90KW51bTsKKyNsaW5l
IDM5MTAgImluc25zX2luZm8uaW5jIgorfQorCisvKiBhdHRyIHJiX251bV90IHdpZHRoIEAgbmV3
aGFzaChudW0pKC4uLikodmFsKSAqLworcmJfbnVtX3QKK2F0dHJfd2lkdGhfbmV3aGFzaChNQVlC
RV9VTlVTRUQocmJfbnVtX3QgbnVtKSkKK3sKKyAgICByZXR1cm4gMjsKK30KKworLyogYXR0ciBl
bnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYmluIEAgbmV3cmFuZ2UoZmxhZykobG93LCBoaWdoKSh2YWwp
ICovCitlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUKK2F0dHJfYmluX25ld3JhbmdlKE1BWUJFX1VOVVNF
RChyYl9udW1fdCBmbGFnKSkKK3sKKyAgICByZXR1cm4gQklOKG5ld3JhbmdlKTsKK30KKworLyog
YXR0ciBib29sIGhhbmRsZXNfc3AgQCBuZXdyYW5nZShmbGFnKShsb3csIGhpZ2gpKHZhbCkgKi8K
K2Jvb2wKK2F0dHJfaGFuZGxlc19zcF9uZXdyYW5nZShNQVlCRV9VTlVTRUQocmJfbnVtX3QgZmxh
ZykpCit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCisvKiBhdHRyIGJvb2wgbGVhZiBAIG5ld3Jh
bmdlKGZsYWcpKGxvdywgaGlnaCkodmFsKSAqLworYm9vbAorYXR0cl9sZWFmX25ld3JhbmdlKE1B
WUJFX1VOVVNFRChyYl9udW1fdCBmbGFnKSkKK3sKKyAgICByZXR1cm4KKyNsaW5lIDUzNiAiaW5z
bnMuZGVmIgorZmFsc2U7CisjbGluZSAzOTQxICJpbnNuc19pbmZvLmluYyIKK30KKworLyogYXR0
ciBjb25zdCBjaGFyKiBuYW1lIEAgbmV3cmFuZ2UoZmxhZykobG93LCBoaWdoKSh2YWwpICovCitj
b25zdCBjaGFyKgorYXR0cl9uYW1lX25ld3JhbmdlKE1BWUJFX1VOVVNFRChyYl9udW1fdCBmbGFn
KSkKK3sKKyAgICByZXR1cm4gaW5zbl9uYW1lKEJJTihuZXdyYW5nZSkpOworfQorCisvKiBhdHRy
IHJiX251bV90IG9wZW4gQCBuZXdyYW5nZShmbGFnKShsb3csIGhpZ2gpKHZhbCkgKi8KK3JiX251
bV90CithdHRyX29wZW5fbmV3cmFuZ2UoTUFZQkVfVU5VU0VEKHJiX251bV90IGZsYWcpKQorewor
ICAgIHJldHVybiAxOworfQorCisvKiBhdHRyIHJiX251bV90IHBvcG4gQCBuZXdyYW5nZShmbGFn
KShsb3csIGhpZ2gpKHZhbCkgKi8KK3JiX251bV90CithdHRyX3BvcG5fbmV3cmFuZ2UoTUFZQkVf
VU5VU0VEKHJiX251bV90IGZsYWcpKQoreworICAgIHJldHVybiAyOworfQorCisvKiBhdHRyIHJi
X251bV90IHJldG4gQCBuZXdyYW5nZShmbGFnKShsb3csIGhpZ2gpKHZhbCkgKi8KK3JiX251bV90
CithdHRyX3JldG5fbmV3cmFuZ2UoTUFZQkVfVU5VU0VEKHJiX251bV90IGZsYWcpKQoreworICAg
IHJldHVybiAxOworfQorCisvKiBhdHRyIHJiX3NudW1fdCBzcF9pbmMgQCBuZXdyYW5nZShmbGFn
KShsb3csIGhpZ2gpKHZhbCkgKi8KK3JiX3NudW1fdAorYXR0cl9zcF9pbmNfbmV3cmFuZ2UoTUFZ
QkVfVU5VU0VEKHJiX251bV90IGZsYWcpKQoreworICAgIHJldHVybiAtMTsKK30KKworLyogYXR0
ciByYl9udW1fdCB3aWR0aCBAIG5ld3JhbmdlKGZsYWcpKGxvdywgaGlnaCkodmFsKSAqLworcmJf
bnVtX3QKK2F0dHJfd2lkdGhfbmV3cmFuZ2UoTUFZQkVfVU5VU0VEKHJiX251bV90IGZsYWcpKQor
eworICAgIHJldHVybiAyOworfQorCisvKiBhdHRyIGVudW0gcnVieV92bWluc25fdHlwZSBiaW4g
QCBwb3AoKSh2YWwpKCkgKi8KK2VudW0gcnVieV92bWluc25fdHlwZQorYXR0cl9iaW5fcG9wKHZv
aWQpCit7CisgICAgcmV0dXJuIEJJTihwb3ApOworfQorCisvKiBhdHRyIGJvb2wgaGFuZGxlc19z
cCBAIHBvcCgpKHZhbCkoKSAqLworYm9vbAorYXR0cl9oYW5kbGVzX3NwX3BvcCh2b2lkKQorewor
ICAgIHJldHVybiBmYWxzZTsKK30KKworLyogYXR0ciBib29sIGxlYWYgQCBwb3AoKSh2YWwpKCkg
Ki8KK2Jvb2wKK2F0dHJfbGVhZl9wb3Aodm9pZCkKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwor
LyogYXR0ciBjb25zdCBjaGFyKiBuYW1lIEAgcG9wKCkodmFsKSgpICovCitjb25zdCBjaGFyKgor
YXR0cl9uYW1lX3BvcCh2b2lkKQoreworICAgIHJldHVybiBpbnNuX25hbWUoQklOKHBvcCkpOwor
fQorCisvKiBhdHRyIHJiX251bV90IG9wZW4gQCBwb3AoKSh2YWwpKCkgKi8KK3JiX251bV90Cith
dHRyX29wZW5fcG9wKHZvaWQpCit7CisgICAgcmV0dXJuIDA7Cit9CisKKy8qIGF0dHIgcmJfbnVt
X3QgcG9wbiBAIHBvcCgpKHZhbCkoKSAqLworcmJfbnVtX3QKK2F0dHJfcG9wbl9wb3Aodm9pZCkK
K3sKKyAgICByZXR1cm4gMTsKK30KKworLyogYXR0ciByYl9udW1fdCByZXRuIEAgcG9wKCkodmFs
KSgpICovCityYl9udW1fdAorYXR0cl9yZXRuX3BvcCh2b2lkKQoreworICAgIHJldHVybiAwOwor
fQorCisvKiBhdHRyIHJiX3NudW1fdCBzcF9pbmMgQCBwb3AoKSh2YWwpKCkgKi8KK3JiX3NudW1f
dAorYXR0cl9zcF9pbmNfcG9wKHZvaWQpCit7CisgICAgcmV0dXJuIC0xOworfQorCisvKiBhdHRy
IHJiX251bV90IHdpZHRoIEAgcG9wKCkodmFsKSgpICovCityYl9udW1fdAorYXR0cl93aWR0aF9w
b3Aodm9pZCkKK3sKKyAgICByZXR1cm4gMTsKK30KKworLyogYXR0ciBlbnVtIHJ1Ynlfdm1pbnNu
X3R5cGUgYmluIEAgZHVwKCkodmFsKSh2YWwxLCB2YWwyKSAqLworZW51bSBydWJ5X3ZtaW5zbl90
eXBlCithdHRyX2Jpbl9kdXAodm9pZCkKK3sKKyAgICByZXR1cm4gQklOKGR1cCk7Cit9CisKKy8q
IGF0dHIgYm9vbCBoYW5kbGVzX3NwIEAgZHVwKCkodmFsKSh2YWwxLCB2YWwyKSAqLworYm9vbAor
YXR0cl9oYW5kbGVzX3NwX2R1cCh2b2lkKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKworLyog
YXR0ciBib29sIGxlYWYgQCBkdXAoKSh2YWwpKHZhbDEsIHZhbDIpICovCitib29sCithdHRyX2xl
YWZfZHVwKHZvaWQpCit7CisgICAgcmV0dXJuIHRydWU7Cit9CisKKy8qIGF0dHIgY29uc3QgY2hh
ciogbmFtZSBAIGR1cCgpKHZhbCkodmFsMSwgdmFsMikgKi8KK2NvbnN0IGNoYXIqCithdHRyX25h
bWVfZHVwKHZvaWQpCit7CisgICAgcmV0dXJuIGluc25fbmFtZShCSU4oZHVwKSk7Cit9CisKKy8q
IGF0dHIgcmJfbnVtX3Qgb3BlbiBAIGR1cCgpKHZhbCkodmFsMSwgdmFsMikgKi8KK3JiX251bV90
CithdHRyX29wZW5fZHVwKHZvaWQpCit7CisgICAgcmV0dXJuIDA7Cit9CisKKy8qIGF0dHIgcmJf
bnVtX3QgcG9wbiBAIGR1cCgpKHZhbCkodmFsMSwgdmFsMikgKi8KK3JiX251bV90CithdHRyX3Bv
cG5fZHVwKHZvaWQpCit7CisgICAgcmV0dXJuIDE7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3QgcmV0
biBAIGR1cCgpKHZhbCkodmFsMSwgdmFsMikgKi8KK3JiX251bV90CithdHRyX3JldG5fZHVwKHZv
aWQpCit7CisgICAgcmV0dXJuIDI7Cit9CisKKy8qIGF0dHIgcmJfc251bV90IHNwX2luYyBAIGR1
cCgpKHZhbCkodmFsMSwgdmFsMikgKi8KK3JiX3NudW1fdAorYXR0cl9zcF9pbmNfZHVwKHZvaWQp
Cit7CisgICAgcmV0dXJuIDE7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3Qgd2lkdGggQCBkdXAoKSh2
YWwpKHZhbDEsIHZhbDIpICovCityYl9udW1fdAorYXR0cl93aWR0aF9kdXAodm9pZCkKK3sKKyAg
ICByZXR1cm4gMTsKK30KKworLyogYXR0ciBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYmluIEAgZHVw
bihuKSguLi4pKC4uLikgKi8KK2VudW0gcnVieV92bWluc25fdHlwZQorYXR0cl9iaW5fZHVwbihN
QVlCRV9VTlVTRUQocmJfbnVtX3QgbikpCit7CisgICAgcmV0dXJuIEJJTihkdXBuKTsKK30KKwor
LyogYXR0ciBib29sIGhhbmRsZXNfc3AgQCBkdXBuKG4pKC4uLikoLi4uKSAqLworYm9vbAorYXR0
cl9oYW5kbGVzX3NwX2R1cG4oTUFZQkVfVU5VU0VEKHJiX251bV90IG4pKQoreworICAgIHJldHVy
biBmYWxzZTsKK30KKworLyogYXR0ciBib29sIGxlYWYgQCBkdXBuKG4pKC4uLikoLi4uKSAqLwor
Ym9vbAorYXR0cl9sZWFmX2R1cG4oTUFZQkVfVU5VU0VEKHJiX251bV90IG4pKQoreworICAgIHJl
dHVybiB0cnVlOworfQorCisvKiBhdHRyIGNvbnN0IGNoYXIqIG5hbWUgQCBkdXBuKG4pKC4uLiko
Li4uKSAqLworY29uc3QgY2hhcioKK2F0dHJfbmFtZV9kdXBuKE1BWUJFX1VOVVNFRChyYl9udW1f
dCBuKSkKK3sKKyAgICByZXR1cm4gaW5zbl9uYW1lKEJJTihkdXBuKSk7Cit9CisKKy8qIGF0dHIg
cmJfbnVtX3Qgb3BlbiBAIGR1cG4obikoLi4uKSguLi4pICovCityYl9udW1fdAorYXR0cl9vcGVu
X2R1cG4oTUFZQkVfVU5VU0VEKHJiX251bV90IG4pKQoreworICAgIHJldHVybiAxOworfQorCisv
KiBhdHRyIHJiX251bV90IHBvcG4gQCBkdXBuKG4pKC4uLikoLi4uKSAqLworcmJfbnVtX3QKK2F0
dHJfcG9wbl9kdXBuKE1BWUJFX1VOVVNFRChyYl9udW1fdCBuKSkKK3sKKyAgICByZXR1cm4gMDsK
K30KKworLyogYXR0ciByYl9udW1fdCByZXRuIEAgZHVwbihuKSguLi4pKC4uLikgKi8KK3JiX251
bV90CithdHRyX3JldG5fZHVwbihNQVlCRV9VTlVTRUQocmJfbnVtX3QgbikpCit7CisgICAgcmV0
dXJuIDA7Cit9CisKKy8qIGF0dHIgcmJfc251bV90IHNwX2luYyBAIGR1cG4obikoLi4uKSguLi4p
ICovCityYl9zbnVtX3QKK2F0dHJfc3BfaW5jX2R1cG4oTUFZQkVfVU5VU0VEKHJiX251bV90IG4p
KQoreworICAgIHJldHVybgorI2xpbmUgNTcyICJpbnNucy5kZWYiCituOworI2xpbmUgNDE2OCAi
aW5zbnNfaW5mby5pbmMiCit9CisKKy8qIGF0dHIgcmJfbnVtX3Qgd2lkdGggQCBkdXBuKG4pKC4u
LikoLi4uKSAqLworcmJfbnVtX3QKK2F0dHJfd2lkdGhfZHVwbihNQVlCRV9VTlVTRUQocmJfbnVt
X3QgbikpCit7CisgICAgcmV0dXJuIDI7Cit9CisKKy8qIGF0dHIgZW51bSBydWJ5X3ZtaW5zbl90
eXBlIGJpbiBAIHN3YXAoKSh2YWwsIG9iaikob2JqLCB2YWwpICovCitlbnVtIHJ1Ynlfdm1pbnNu
X3R5cGUKK2F0dHJfYmluX3N3YXAodm9pZCkKK3sKKyAgICByZXR1cm4gQklOKHN3YXApOworfQor
CisvKiBhdHRyIGJvb2wgaGFuZGxlc19zcCBAIHN3YXAoKSh2YWwsIG9iaikob2JqLCB2YWwpICov
Citib29sCithdHRyX2hhbmRsZXNfc3Bfc3dhcCh2b2lkKQoreworICAgIHJldHVybiBmYWxzZTsK
K30KKworLyogYXR0ciBib29sIGxlYWYgQCBzd2FwKCkodmFsLCBvYmopKG9iaiwgdmFsKSAqLwor
Ym9vbAorYXR0cl9sZWFmX3N3YXAodm9pZCkKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworLyog
YXR0ciBjb25zdCBjaGFyKiBuYW1lIEAgc3dhcCgpKHZhbCwgb2JqKShvYmosIHZhbCkgKi8KK2Nv
bnN0IGNoYXIqCithdHRyX25hbWVfc3dhcCh2b2lkKQoreworICAgIHJldHVybiBpbnNuX25hbWUo
QklOKHN3YXApKTsKK30KKworLyogYXR0ciByYl9udW1fdCBvcGVuIEAgc3dhcCgpKHZhbCwgb2Jq
KShvYmosIHZhbCkgKi8KK3JiX251bV90CithdHRyX29wZW5fc3dhcCh2b2lkKQoreworICAgIHJl
dHVybiAwOworfQorCisvKiBhdHRyIHJiX251bV90IHBvcG4gQCBzd2FwKCkodmFsLCBvYmopKG9i
aiwgdmFsKSAqLworcmJfbnVtX3QKK2F0dHJfcG9wbl9zd2FwKHZvaWQpCit7CisgICAgcmV0dXJu
IDI7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3QgcmV0biBAIHN3YXAoKSh2YWwsIG9iaikob2JqLCB2
YWwpICovCityYl9udW1fdAorYXR0cl9yZXRuX3N3YXAodm9pZCkKK3sKKyAgICByZXR1cm4gMjsK
K30KKworLyogYXR0ciByYl9zbnVtX3Qgc3BfaW5jIEAgc3dhcCgpKHZhbCwgb2JqKShvYmosIHZh
bCkgKi8KK3JiX3NudW1fdAorYXR0cl9zcF9pbmNfc3dhcCh2b2lkKQoreworICAgIHJldHVybiAw
OworfQorCisvKiBhdHRyIHJiX251bV90IHdpZHRoIEAgc3dhcCgpKHZhbCwgb2JqKShvYmosIHZh
bCkgKi8KK3JiX251bV90CithdHRyX3dpZHRoX3N3YXAodm9pZCkKK3sKKyAgICByZXR1cm4gMTsK
K30KKworLyogYXR0ciBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYmluIEAgcmV2ZXJzZShuKSguLi4p
KC4uLikgKi8KK2VudW0gcnVieV92bWluc25fdHlwZQorYXR0cl9iaW5fcmV2ZXJzZShNQVlCRV9V
TlVTRUQocmJfbnVtX3QgbikpCit7CisgICAgcmV0dXJuIEJJTihyZXZlcnNlKTsKK30KKworLyog
YXR0ciBib29sIGhhbmRsZXNfc3AgQCByZXZlcnNlKG4pKC4uLikoLi4uKSAqLworYm9vbAorYXR0
cl9oYW5kbGVzX3NwX3JldmVyc2UoTUFZQkVfVU5VU0VEKHJiX251bV90IG4pKQoreworICAgIHJl
dHVybiBmYWxzZTsKK30KKworLyogYXR0ciBib29sIGxlYWYgQCByZXZlcnNlKG4pKC4uLikoLi4u
KSAqLworYm9vbAorYXR0cl9sZWFmX3JldmVyc2UoTUFZQkVfVU5VU0VEKHJiX251bV90IG4pKQor
eworICAgIHJldHVybiB0cnVlOworfQorCisvKiBhdHRyIGNvbnN0IGNoYXIqIG5hbWUgQCByZXZl
cnNlKG4pKC4uLikoLi4uKSAqLworY29uc3QgY2hhcioKK2F0dHJfbmFtZV9yZXZlcnNlKE1BWUJF
X1VOVVNFRChyYl9udW1fdCBuKSkKK3sKKyAgICByZXR1cm4gaW5zbl9uYW1lKEJJTihyZXZlcnNl
KSk7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3Qgb3BlbiBAIHJldmVyc2UobikoLi4uKSguLi4pICov
CityYl9udW1fdAorYXR0cl9vcGVuX3JldmVyc2UoTUFZQkVfVU5VU0VEKHJiX251bV90IG4pKQor
eworICAgIHJldHVybiAxOworfQorCisvKiBhdHRyIHJiX251bV90IHBvcG4gQCByZXZlcnNlKG4p
KC4uLikoLi4uKSAqLworcmJfbnVtX3QKK2F0dHJfcG9wbl9yZXZlcnNlKE1BWUJFX1VOVVNFRChy
Yl9udW1fdCBuKSkKK3sKKyAgICByZXR1cm4gMDsKK30KKworLyogYXR0ciByYl9udW1fdCByZXRu
IEAgcmV2ZXJzZShuKSguLi4pKC4uLikgKi8KK3JiX251bV90CithdHRyX3JldG5fcmV2ZXJzZShN
QVlCRV9VTlVTRUQocmJfbnVtX3QgbikpCit7CisgICAgcmV0dXJuIDA7Cit9CisKKy8qIGF0dHIg
cmJfc251bV90IHNwX2luYyBAIHJldmVyc2UobikoLi4uKSguLi4pICovCityYl9zbnVtX3QKK2F0
dHJfc3BfaW5jX3JldmVyc2UoTUFZQkVfVU5VU0VEKHJiX251bV90IG4pKQoreworICAgIHJldHVy
bgorI2xpbmUgNTk2ICJpbnNucy5kZWYiCiswOworI2xpbmUgNDI5NyAiaW5zbnNfaW5mby5pbmMi
Cit9CisKKy8qIGF0dHIgcmJfbnVtX3Qgd2lkdGggQCByZXZlcnNlKG4pKC4uLikoLi4uKSAqLwor
cmJfbnVtX3QKK2F0dHJfd2lkdGhfcmV2ZXJzZShNQVlCRV9VTlVTRUQocmJfbnVtX3QgbikpCit7
CisgICAgcmV0dXJuIDI7Cit9CisKKy8qIGF0dHIgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGJpbiBA
IHJlcHV0KCkoLi4uLCB2YWwpKHZhbCkgKi8KK2VudW0gcnVieV92bWluc25fdHlwZQorYXR0cl9i
aW5fcmVwdXQodm9pZCkKK3sKKyAgICByZXR1cm4gQklOKHJlcHV0KTsKK30KKworLyogYXR0ciBi
b29sIGhhbmRsZXNfc3AgQCByZXB1dCgpKC4uLiwgdmFsKSh2YWwpICovCitib29sCithdHRyX2hh
bmRsZXNfc3BfcmVwdXQodm9pZCkKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKKy8qIGF0dHIg
Ym9vbCBsZWFmIEAgcmVwdXQoKSguLi4sIHZhbCkodmFsKSAqLworYm9vbAorYXR0cl9sZWFmX3Jl
cHV0KHZvaWQpCit7CisgICAgcmV0dXJuIHRydWU7Cit9CisKKy8qIGF0dHIgY29uc3QgY2hhciog
bmFtZSBAIHJlcHV0KCkoLi4uLCB2YWwpKHZhbCkgKi8KK2NvbnN0IGNoYXIqCithdHRyX25hbWVf
cmVwdXQodm9pZCkKK3sKKyAgICByZXR1cm4gaW5zbl9uYW1lKEJJTihyZXB1dCkpOworfQorCisv
KiBhdHRyIHJiX251bV90IG9wZW4gQCByZXB1dCgpKC4uLiwgdmFsKSh2YWwpICovCityYl9udW1f
dAorYXR0cl9vcGVuX3JlcHV0KHZvaWQpCit7CisgICAgcmV0dXJuIDA7Cit9CisKKy8qIGF0dHIg
cmJfbnVtX3QgcG9wbiBAIHJlcHV0KCkoLi4uLCB2YWwpKHZhbCkgKi8KK3JiX251bV90CithdHRy
X3BvcG5fcmVwdXQodm9pZCkKK3sKKyAgICByZXR1cm4gMTsKK30KKworLyogYXR0ciByYl9udW1f
dCByZXRuIEAgcmVwdXQoKSguLi4sIHZhbCkodmFsKSAqLworcmJfbnVtX3QKK2F0dHJfcmV0bl9y
ZXB1dCh2b2lkKQoreworICAgIHJldHVybiAxOworfQorCisvKiBhdHRyIHJiX3NudW1fdCBzcF9p
bmMgQCByZXB1dCgpKC4uLiwgdmFsKSh2YWwpICovCityYl9zbnVtX3QKK2F0dHJfc3BfaW5jX3Jl
cHV0KHZvaWQpCit7CisgICAgcmV0dXJuCisjbGluZSA2MTUgImluc25zLmRlZiIKKzA7CisjbGlu
ZSA0MzYzICJpbnNuc19pbmZvLmluYyIKK30KKworLyogYXR0ciByYl9udW1fdCB3aWR0aCBAIHJl
cHV0KCkoLi4uLCB2YWwpKHZhbCkgKi8KK3JiX251bV90CithdHRyX3dpZHRoX3JlcHV0KHZvaWQp
Cit7CisgICAgcmV0dXJuIDE7Cit9CisKKy8qIGF0dHIgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGJp
biBAIHRvcG4obikoLi4uKSh2YWwpICovCitlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUKK2F0dHJfYmlu
X3RvcG4oTUFZQkVfVU5VU0VEKHJiX251bV90IG4pKQoreworICAgIHJldHVybiBCSU4odG9wbik7
Cit9CisKKy8qIGF0dHIgYm9vbCBoYW5kbGVzX3NwIEAgdG9wbihuKSguLi4pKHZhbCkgKi8KK2Jv
b2wKK2F0dHJfaGFuZGxlc19zcF90b3BuKE1BWUJFX1VOVVNFRChyYl9udW1fdCBuKSkKK3sKKyAg
ICByZXR1cm4gZmFsc2U7Cit9CisKKy8qIGF0dHIgYm9vbCBsZWFmIEAgdG9wbihuKSguLi4pKHZh
bCkgKi8KK2Jvb2wKK2F0dHJfbGVhZl90b3BuKE1BWUJFX1VOVVNFRChyYl9udW1fdCBuKSkKK3sK
KyAgICByZXR1cm4gdHJ1ZTsKK30KKworLyogYXR0ciBjb25zdCBjaGFyKiBuYW1lIEAgdG9wbihu
KSguLi4pKHZhbCkgKi8KK2NvbnN0IGNoYXIqCithdHRyX25hbWVfdG9wbihNQVlCRV9VTlVTRUQo
cmJfbnVtX3QgbikpCit7CisgICAgcmV0dXJuIGluc25fbmFtZShCSU4odG9wbikpOworfQorCisv
KiBhdHRyIHJiX251bV90IG9wZW4gQCB0b3BuKG4pKC4uLikodmFsKSAqLworcmJfbnVtX3QKK2F0
dHJfb3Blbl90b3BuKE1BWUJFX1VOVVNFRChyYl9udW1fdCBuKSkKK3sKKyAgICByZXR1cm4gMTsK
K30KKworLyogYXR0ciByYl9udW1fdCBwb3BuIEAgdG9wbihuKSguLi4pKHZhbCkgKi8KK3JiX251
bV90CithdHRyX3BvcG5fdG9wbihNQVlCRV9VTlVTRUQocmJfbnVtX3QgbikpCit7CisgICAgcmV0
dXJuIDA7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3QgcmV0biBAIHRvcG4obikoLi4uKSh2YWwpICov
CityYl9udW1fdAorYXR0cl9yZXRuX3RvcG4oTUFZQkVfVU5VU0VEKHJiX251bV90IG4pKQorewor
ICAgIHJldHVybiAxOworfQorCisvKiBhdHRyIHJiX3NudW1fdCBzcF9pbmMgQCB0b3BuKG4pKC4u
LikodmFsKSAqLworcmJfc251bV90CithdHRyX3NwX2luY190b3BuKE1BWUJFX1VOVVNFRChyYl9u
dW1fdCBuKSkKK3sKKyAgICByZXR1cm4KKyNsaW5lIDYyNiAiaW5zbnMuZGVmIgorMTsKKyNsaW5l
IDQ0MjkgImluc25zX2luZm8uaW5jIgorfQorCisvKiBhdHRyIHJiX251bV90IHdpZHRoIEAgdG9w
bihuKSguLi4pKHZhbCkgKi8KK3JiX251bV90CithdHRyX3dpZHRoX3RvcG4oTUFZQkVfVU5VU0VE
KHJiX251bV90IG4pKQoreworICAgIHJldHVybiAyOworfQorCisvKiBhdHRyIGVudW0gcnVieV92
bWluc25fdHlwZSBiaW4gQCBzZXRuKG4pKC4uLiwgdmFsKSh2YWwpICovCitlbnVtIHJ1Ynlfdm1p
bnNuX3R5cGUKK2F0dHJfYmluX3NldG4oTUFZQkVfVU5VU0VEKHJiX251bV90IG4pKQoreworICAg
IHJldHVybiBCSU4oc2V0bik7Cit9CisKKy8qIGF0dHIgYm9vbCBoYW5kbGVzX3NwIEAgc2V0bihu
KSguLi4sIHZhbCkodmFsKSAqLworYm9vbAorYXR0cl9oYW5kbGVzX3NwX3NldG4oTUFZQkVfVU5V
U0VEKHJiX251bV90IG4pKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKworLyogYXR0ciBib29s
IGxlYWYgQCBzZXRuKG4pKC4uLiwgdmFsKSh2YWwpICovCitib29sCithdHRyX2xlYWZfc2V0bihN
QVlCRV9VTlVTRUQocmJfbnVtX3QgbikpCit7CisgICAgcmV0dXJuIHRydWU7Cit9CisKKy8qIGF0
dHIgY29uc3QgY2hhciogbmFtZSBAIHNldG4obikoLi4uLCB2YWwpKHZhbCkgKi8KK2NvbnN0IGNo
YXIqCithdHRyX25hbWVfc2V0bihNQVlCRV9VTlVTRUQocmJfbnVtX3QgbikpCit7CisgICAgcmV0
dXJuIGluc25fbmFtZShCSU4oc2V0bikpOworfQorCisvKiBhdHRyIHJiX251bV90IG9wZW4gQCBz
ZXRuKG4pKC4uLiwgdmFsKSh2YWwpICovCityYl9udW1fdAorYXR0cl9vcGVuX3NldG4oTUFZQkVf
VU5VU0VEKHJiX251bV90IG4pKQoreworICAgIHJldHVybiAxOworfQorCisvKiBhdHRyIHJiX251
bV90IHBvcG4gQCBzZXRuKG4pKC4uLiwgdmFsKSh2YWwpICovCityYl9udW1fdAorYXR0cl9wb3Bu
X3NldG4oTUFZQkVfVU5VU0VEKHJiX251bV90IG4pKQoreworICAgIHJldHVybiAxOworfQorCisv
KiBhdHRyIHJiX251bV90IHJldG4gQCBzZXRuKG4pKC4uLiwgdmFsKSh2YWwpICovCityYl9udW1f
dAorYXR0cl9yZXRuX3NldG4oTUFZQkVfVU5VU0VEKHJiX251bV90IG4pKQoreworICAgIHJldHVy
biAxOworfQorCisvKiBhdHRyIHJiX3NudW1fdCBzcF9pbmMgQCBzZXRuKG4pKC4uLiwgdmFsKSh2
YWwpICovCityYl9zbnVtX3QKK2F0dHJfc3BfaW5jX3NldG4oTUFZQkVfVU5VU0VEKHJiX251bV90
IG4pKQoreworICAgIHJldHVybgorI2xpbmUgNjM3ICJpbnNucy5kZWYiCiswOworI2xpbmUgNDQ5
NSAiaW5zbnNfaW5mby5pbmMiCit9CisKKy8qIGF0dHIgcmJfbnVtX3Qgd2lkdGggQCBzZXRuKG4p
KC4uLiwgdmFsKSh2YWwpICovCityYl9udW1fdAorYXR0cl93aWR0aF9zZXRuKE1BWUJFX1VOVVNF
RChyYl9udW1fdCBuKSkKK3sKKyAgICByZXR1cm4gMjsKK30KKworLyogYXR0ciBlbnVtIHJ1Ynlf
dm1pbnNuX3R5cGUgYmluIEAgYWRqdXN0c3RhY2sobikoLi4uKSguLi4pICovCitlbnVtIHJ1Ynlf
dm1pbnNuX3R5cGUKK2F0dHJfYmluX2FkanVzdHN0YWNrKE1BWUJFX1VOVVNFRChyYl9udW1fdCBu
KSkKK3sKKyAgICByZXR1cm4gQklOKGFkanVzdHN0YWNrKTsKK30KKworLyogYXR0ciBib29sIGhh
bmRsZXNfc3AgQCBhZGp1c3RzdGFjayhuKSguLi4pKC4uLikgKi8KK2Jvb2wKK2F0dHJfaGFuZGxl
c19zcF9hZGp1c3RzdGFjayhNQVlCRV9VTlVTRUQocmJfbnVtX3QgbikpCit7CisgICAgcmV0dXJu
IGZhbHNlOworfQorCisvKiBhdHRyIGJvb2wgbGVhZiBAIGFkanVzdHN0YWNrKG4pKC4uLikoLi4u
KSAqLworYm9vbAorYXR0cl9sZWFmX2FkanVzdHN0YWNrKE1BWUJFX1VOVVNFRChyYl9udW1fdCBu
KSkKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworLyogYXR0ciBjb25zdCBjaGFyKiBuYW1lIEAg
YWRqdXN0c3RhY2sobikoLi4uKSguLi4pICovCitjb25zdCBjaGFyKgorYXR0cl9uYW1lX2FkanVz
dHN0YWNrKE1BWUJFX1VOVVNFRChyYl9udW1fdCBuKSkKK3sKKyAgICByZXR1cm4gaW5zbl9uYW1l
KEJJTihhZGp1c3RzdGFjaykpOworfQorCisvKiBhdHRyIHJiX251bV90IG9wZW4gQCBhZGp1c3Rz
dGFjayhuKSguLi4pKC4uLikgKi8KK3JiX251bV90CithdHRyX29wZW5fYWRqdXN0c3RhY2soTUFZ
QkVfVU5VU0VEKHJiX251bV90IG4pKQoreworICAgIHJldHVybiAxOworfQorCisvKiBhdHRyIHJi
X251bV90IHBvcG4gQCBhZGp1c3RzdGFjayhuKSguLi4pKC4uLikgKi8KK3JiX251bV90CithdHRy
X3BvcG5fYWRqdXN0c3RhY2soTUFZQkVfVU5VU0VEKHJiX251bV90IG4pKQoreworICAgIHJldHVy
biAwOworfQorCisvKiBhdHRyIHJiX251bV90IHJldG4gQCBhZGp1c3RzdGFjayhuKSguLi4pKC4u
LikgKi8KK3JiX251bV90CithdHRyX3JldG5fYWRqdXN0c3RhY2soTUFZQkVfVU5VU0VEKHJiX251
bV90IG4pKQoreworICAgIHJldHVybiAwOworfQorCisvKiBhdHRyIHJiX3NudW1fdCBzcF9pbmMg
QCBhZGp1c3RzdGFjayhuKSguLi4pKC4uLikgKi8KK3JiX3NudW1fdAorYXR0cl9zcF9pbmNfYWRq
dXN0c3RhY2soTUFZQkVfVU5VU0VEKHJiX251bV90IG4pKQoreworICAgIHJldHVybgorI2xpbmUg
NjQ4ICJpbnNucy5kZWYiCistKHJiX3NudW1fdCluOworI2xpbmUgNDU2MSAiaW5zbnNfaW5mby5p
bmMiCit9CisKKy8qIGF0dHIgcmJfbnVtX3Qgd2lkdGggQCBhZGp1c3RzdGFjayhuKSguLi4pKC4u
LikgKi8KK3JiX251bV90CithdHRyX3dpZHRoX2FkanVzdHN0YWNrKE1BWUJFX1VOVVNFRChyYl9u
dW1fdCBuKSkKK3sKKyAgICByZXR1cm4gMjsKK30KKworLyogYXR0ciBlbnVtIHJ1Ynlfdm1pbnNu
X3R5cGUgYmluIEAgZGVmaW5lZChvcF90eXBlLCBvYmosIG5lZWRzdHIpKHYpKHZhbCkgKi8KK2Vu
dW0gcnVieV92bWluc25fdHlwZQorYXR0cl9iaW5fZGVmaW5lZCgKKyAgICBNQVlCRV9VTlVTRUQo
cmJfbnVtX3Qgb3BfdHlwZSksCisgICAgTUFZQkVfVU5VU0VEKFZBTFVFIG9iaiksCisgICAgTUFZ
QkVfVU5VU0VEKFZBTFVFIG5lZWRzdHIpCispCit7CisgICAgcmV0dXJuIEJJTihkZWZpbmVkKTsK
K30KKworLyogYXR0ciBib29sIGhhbmRsZXNfc3AgQCBkZWZpbmVkKG9wX3R5cGUsIG9iaiwgbmVl
ZHN0cikodikodmFsKSAqLworYm9vbAorYXR0cl9oYW5kbGVzX3NwX2RlZmluZWQoCisgICAgTUFZ
QkVfVU5VU0VEKHJiX251bV90IG9wX3R5cGUpLAorICAgIE1BWUJFX1VOVVNFRChWQUxVRSBvYmop
LAorICAgIE1BWUJFX1VOVVNFRChWQUxVRSBuZWVkc3RyKQorKQoreworICAgIHJldHVybiBmYWxz
ZTsKK30KKworLyogYXR0ciBib29sIGxlYWYgQCBkZWZpbmVkKG9wX3R5cGUsIG9iaiwgbmVlZHN0
cikodikodmFsKSAqLworYm9vbAorYXR0cl9sZWFmX2RlZmluZWQoCisgICAgTUFZQkVfVU5VU0VE
KHJiX251bV90IG9wX3R5cGUpLAorICAgIE1BWUJFX1VOVVNFRChWQUxVRSBvYmopLAorICAgIE1B
WUJFX1VOVVNFRChWQUxVRSBuZWVkc3RyKQorKQoreworICAgIHJldHVybgorI2xpbmUgNjYzICJp
bnNucy5kZWYiCitsZWFmbmVzc19vZl9kZWZpbmVkKG9wX3R5cGUpOworI2xpbmUgNDYwNCAiaW5z
bnNfaW5mby5pbmMiCit9CisKKy8qIGF0dHIgY29uc3QgY2hhciogbmFtZSBAIGRlZmluZWQob3Bf
dHlwZSwgb2JqLCBuZWVkc3RyKSh2KSh2YWwpICovCitjb25zdCBjaGFyKgorYXR0cl9uYW1lX2Rl
ZmluZWQoCisgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IG9wX3R5cGUpLAorICAgIE1BWUJFX1VO
VVNFRChWQUxVRSBvYmopLAorICAgIE1BWUJFX1VOVVNFRChWQUxVRSBuZWVkc3RyKQorKQorewor
ICAgIHJldHVybiBpbnNuX25hbWUoQklOKGRlZmluZWQpKTsKK30KKworLyogYXR0ciByYl9udW1f
dCBvcGVuIEAgZGVmaW5lZChvcF90eXBlLCBvYmosIG5lZWRzdHIpKHYpKHZhbCkgKi8KK3JiX251
bV90CithdHRyX29wZW5fZGVmaW5lZCgKKyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3Qgb3BfdHlw
ZSksCisgICAgTUFZQkVfVU5VU0VEKFZBTFVFIG9iaiksCisgICAgTUFZQkVfVU5VU0VEKFZBTFVF
IG5lZWRzdHIpCispCit7CisgICAgcmV0dXJuIDM7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3QgcG9w
biBAIGRlZmluZWQob3BfdHlwZSwgb2JqLCBuZWVkc3RyKSh2KSh2YWwpICovCityYl9udW1fdAor
YXR0cl9wb3BuX2RlZmluZWQoCisgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IG9wX3R5cGUpLAor
ICAgIE1BWUJFX1VOVVNFRChWQUxVRSBvYmopLAorICAgIE1BWUJFX1VOVVNFRChWQUxVRSBuZWVk
c3RyKQorKQoreworICAgIHJldHVybiAxOworfQorCisvKiBhdHRyIHJiX251bV90IHJldG4gQCBk
ZWZpbmVkKG9wX3R5cGUsIG9iaiwgbmVlZHN0cikodikodmFsKSAqLworcmJfbnVtX3QKK2F0dHJf
cmV0bl9kZWZpbmVkKAorICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCBvcF90eXBlKSwKKyAgICBN
QVlCRV9VTlVTRUQoVkFMVUUgb2JqKSwKKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUgbmVlZHN0cikK
KykKK3sKKyAgICByZXR1cm4gMTsKK30KKworLyogYXR0ciByYl9zbnVtX3Qgc3BfaW5jIEAgZGVm
aW5lZChvcF90eXBlLCBvYmosIG5lZWRzdHIpKHYpKHZhbCkgKi8KK3JiX3NudW1fdAorYXR0cl9z
cF9pbmNfZGVmaW5lZCgKKyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3Qgb3BfdHlwZSksCisgICAg
TUFZQkVfVU5VU0VEKFZBTFVFIG9iaiksCisgICAgTUFZQkVfVU5VU0VEKFZBTFVFIG5lZWRzdHIp
CispCit7CisgICAgcmV0dXJuIDA7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3Qgd2lkdGggQCBkZWZp
bmVkKG9wX3R5cGUsIG9iaiwgbmVlZHN0cikodikodmFsKSAqLworcmJfbnVtX3QKK2F0dHJfd2lk
dGhfZGVmaW5lZCgKKyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3Qgb3BfdHlwZSksCisgICAgTUFZ
QkVfVU5VU0VEKFZBTFVFIG9iaiksCisgICAgTUFZQkVfVU5VU0VEKFZBTFVFIG5lZWRzdHIpCisp
Cit7CisgICAgcmV0dXJuIDQ7Cit9CisKKy8qIGF0dHIgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGJp
biBAIGNoZWNrbWF0Y2goZmxhZykodGFyZ2V0LCBwYXR0ZXJuKShyZXN1bHQpICovCitlbnVtIHJ1
Ynlfdm1pbnNuX3R5cGUKK2F0dHJfYmluX2NoZWNrbWF0Y2goTUFZQkVfVU5VU0VEKHJiX251bV90
IGZsYWcpKQoreworICAgIHJldHVybiBCSU4oY2hlY2ttYXRjaCk7Cit9CisKKy8qIGF0dHIgYm9v
bCBoYW5kbGVzX3NwIEAgY2hlY2ttYXRjaChmbGFnKSh0YXJnZXQsIHBhdHRlcm4pKHJlc3VsdCkg
Ki8KK2Jvb2wKK2F0dHJfaGFuZGxlc19zcF9jaGVja21hdGNoKE1BWUJFX1VOVVNFRChyYl9udW1f
dCBmbGFnKSkKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKKy8qIGF0dHIgYm9vbCBsZWFmIEAg
Y2hlY2ttYXRjaChmbGFnKSh0YXJnZXQsIHBhdHRlcm4pKHJlc3VsdCkgKi8KK2Jvb2wKK2F0dHJf
bGVhZl9jaGVja21hdGNoKE1BWUJFX1VOVVNFRChyYl9udW1fdCBmbGFnKSkKK3sKKyAgICByZXR1
cm4KKyNsaW5lIDY4MCAiaW5zbnMuZGVmIgorbGVhZm5lc3Nfb2ZfY2hlY2ttYXRjaChmbGFnKTsK
KyNsaW5lIDQ2OTQgImluc25zX2luZm8uaW5jIgorfQorCisvKiBhdHRyIGNvbnN0IGNoYXIqIG5h
bWUgQCBjaGVja21hdGNoKGZsYWcpKHRhcmdldCwgcGF0dGVybikocmVzdWx0KSAqLworY29uc3Qg
Y2hhcioKK2F0dHJfbmFtZV9jaGVja21hdGNoKE1BWUJFX1VOVVNFRChyYl9udW1fdCBmbGFnKSkK
K3sKKyAgICByZXR1cm4gaW5zbl9uYW1lKEJJTihjaGVja21hdGNoKSk7Cit9CisKKy8qIGF0dHIg
cmJfbnVtX3Qgb3BlbiBAIGNoZWNrbWF0Y2goZmxhZykodGFyZ2V0LCBwYXR0ZXJuKShyZXN1bHQp
ICovCityYl9udW1fdAorYXR0cl9vcGVuX2NoZWNrbWF0Y2goTUFZQkVfVU5VU0VEKHJiX251bV90
IGZsYWcpKQoreworICAgIHJldHVybiAxOworfQorCisvKiBhdHRyIHJiX251bV90IHBvcG4gQCBj
aGVja21hdGNoKGZsYWcpKHRhcmdldCwgcGF0dGVybikocmVzdWx0KSAqLworcmJfbnVtX3QKK2F0
dHJfcG9wbl9jaGVja21hdGNoKE1BWUJFX1VOVVNFRChyYl9udW1fdCBmbGFnKSkKK3sKKyAgICBy
ZXR1cm4gMjsKK30KKworLyogYXR0ciByYl9udW1fdCByZXRuIEAgY2hlY2ttYXRjaChmbGFnKSh0
YXJnZXQsIHBhdHRlcm4pKHJlc3VsdCkgKi8KK3JiX251bV90CithdHRyX3JldG5fY2hlY2ttYXRj
aChNQVlCRV9VTlVTRUQocmJfbnVtX3QgZmxhZykpCit7CisgICAgcmV0dXJuIDE7Cit9CisKKy8q
IGF0dHIgcmJfc251bV90IHNwX2luYyBAIGNoZWNrbWF0Y2goZmxhZykodGFyZ2V0LCBwYXR0ZXJu
KShyZXN1bHQpICovCityYl9zbnVtX3QKK2F0dHJfc3BfaW5jX2NoZWNrbWF0Y2goTUFZQkVfVU5V
U0VEKHJiX251bV90IGZsYWcpKQoreworICAgIHJldHVybiAtMTsKK30KKworLyogYXR0ciByYl9u
dW1fdCB3aWR0aCBAIGNoZWNrbWF0Y2goZmxhZykodGFyZ2V0LCBwYXR0ZXJuKShyZXN1bHQpICov
CityYl9udW1fdAorYXR0cl93aWR0aF9jaGVja21hdGNoKE1BWUJFX1VOVVNFRChyYl9udW1fdCBm
bGFnKSkKK3sKKyAgICByZXR1cm4gMjsKK30KKworLyogYXR0ciBlbnVtIHJ1Ynlfdm1pbnNuX3R5
cGUgYmluIEAgY2hlY2trZXl3b3JkKGt3X2JpdHNfaW5kZXgsIGtleXdvcmRfaW5kZXgpKCkocmV0
KSAqLworZW51bSBydWJ5X3ZtaW5zbl90eXBlCithdHRyX2Jpbl9jaGVja2tleXdvcmQoCisgICAg
TUFZQkVfVU5VU0VEKGxpbmRleF90IGt3X2JpdHNfaW5kZXgpLAorICAgIE1BWUJFX1VOVVNFRChs
aW5kZXhfdCBrZXl3b3JkX2luZGV4KQorKQoreworICAgIHJldHVybiBCSU4oY2hlY2trZXl3b3Jk
KTsKK30KKworLyogYXR0ciBib29sIGhhbmRsZXNfc3AgQCBjaGVja2tleXdvcmQoa3dfYml0c19p
bmRleCwga2V5d29yZF9pbmRleCkoKShyZXQpICovCitib29sCithdHRyX2hhbmRsZXNfc3BfY2hl
Y2trZXl3b3JkKAorICAgIE1BWUJFX1VOVVNFRChsaW5kZXhfdCBrd19iaXRzX2luZGV4KSwKKyAg
ICBNQVlCRV9VTlVTRUQobGluZGV4X3Qga2V5d29yZF9pbmRleCkKKykKK3sKKyAgICByZXR1cm4g
ZmFsc2U7Cit9CisKKy8qIGF0dHIgYm9vbCBsZWFmIEAgY2hlY2trZXl3b3JkKGt3X2JpdHNfaW5k
ZXgsIGtleXdvcmRfaW5kZXgpKCkocmV0KSAqLworYm9vbAorYXR0cl9sZWFmX2NoZWNra2V5d29y
ZCgKKyAgICBNQVlCRV9VTlVTRUQobGluZGV4X3Qga3dfYml0c19pbmRleCksCisgICAgTUFZQkVf
VU5VU0VEKGxpbmRleF90IGtleXdvcmRfaW5kZXgpCispCit7CisgICAgcmV0dXJuIHRydWU7Cit9
CisKKy8qIGF0dHIgY29uc3QgY2hhciogbmFtZSBAIGNoZWNra2V5d29yZChrd19iaXRzX2luZGV4
LCBrZXl3b3JkX2luZGV4KSgpKHJldCkgKi8KK2NvbnN0IGNoYXIqCithdHRyX25hbWVfY2hlY2tr
ZXl3b3JkKAorICAgIE1BWUJFX1VOVVNFRChsaW5kZXhfdCBrd19iaXRzX2luZGV4KSwKKyAgICBN
QVlCRV9VTlVTRUQobGluZGV4X3Qga2V5d29yZF9pbmRleCkKKykKK3sKKyAgICByZXR1cm4gaW5z
bl9uYW1lKEJJTihjaGVja2tleXdvcmQpKTsKK30KKworLyogYXR0ciByYl9udW1fdCBvcGVuIEAg
Y2hlY2trZXl3b3JkKGt3X2JpdHNfaW5kZXgsIGtleXdvcmRfaW5kZXgpKCkocmV0KSAqLworcmJf
bnVtX3QKK2F0dHJfb3Blbl9jaGVja2tleXdvcmQoCisgICAgTUFZQkVfVU5VU0VEKGxpbmRleF90
IGt3X2JpdHNfaW5kZXgpLAorICAgIE1BWUJFX1VOVVNFRChsaW5kZXhfdCBrZXl3b3JkX2luZGV4
KQorKQoreworICAgIHJldHVybiAyOworfQorCisvKiBhdHRyIHJiX251bV90IHBvcG4gQCBjaGVj
a2tleXdvcmQoa3dfYml0c19pbmRleCwga2V5d29yZF9pbmRleCkoKShyZXQpICovCityYl9udW1f
dAorYXR0cl9wb3BuX2NoZWNra2V5d29yZCgKKyAgICBNQVlCRV9VTlVTRUQobGluZGV4X3Qga3df
Yml0c19pbmRleCksCisgICAgTUFZQkVfVU5VU0VEKGxpbmRleF90IGtleXdvcmRfaW5kZXgpCisp
Cit7CisgICAgcmV0dXJuIDA7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3QgcmV0biBAIGNoZWNra2V5
d29yZChrd19iaXRzX2luZGV4LCBrZXl3b3JkX2luZGV4KSgpKHJldCkgKi8KK3JiX251bV90Cith
dHRyX3JldG5fY2hlY2trZXl3b3JkKAorICAgIE1BWUJFX1VOVVNFRChsaW5kZXhfdCBrd19iaXRz
X2luZGV4KSwKKyAgICBNQVlCRV9VTlVTRUQobGluZGV4X3Qga2V5d29yZF9pbmRleCkKKykKK3sK
KyAgICByZXR1cm4gMTsKK30KKworLyogYXR0ciByYl9zbnVtX3Qgc3BfaW5jIEAgY2hlY2trZXl3
b3JkKGt3X2JpdHNfaW5kZXgsIGtleXdvcmRfaW5kZXgpKCkocmV0KSAqLworcmJfc251bV90Cith
dHRyX3NwX2luY19jaGVja2tleXdvcmQoCisgICAgTUFZQkVfVU5VU0VEKGxpbmRleF90IGt3X2Jp
dHNfaW5kZXgpLAorICAgIE1BWUJFX1VOVVNFRChsaW5kZXhfdCBrZXl3b3JkX2luZGV4KQorKQor
eworICAgIHJldHVybiAxOworfQorCisvKiBhdHRyIHJiX251bV90IHdpZHRoIEAgY2hlY2trZXl3
b3JkKGt3X2JpdHNfaW5kZXgsIGtleXdvcmRfaW5kZXgpKCkocmV0KSAqLworcmJfbnVtX3QKK2F0
dHJfd2lkdGhfY2hlY2trZXl3b3JkKAorICAgIE1BWUJFX1VOVVNFRChsaW5kZXhfdCBrd19iaXRz
X2luZGV4KSwKKyAgICBNQVlCRV9VTlVTRUQobGluZGV4X3Qga2V5d29yZF9pbmRleCkKKykKK3sK
KyAgICByZXR1cm4gMzsKK30KKworLyogYXR0ciBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYmluIEAg
Y2hlY2t0eXBlKHR5cGUpKHZhbCkocmV0KSAqLworZW51bSBydWJ5X3ZtaW5zbl90eXBlCithdHRy
X2Jpbl9jaGVja3R5cGUoTUFZQkVfVU5VU0VEKHJiX251bV90IHR5cGUpKQoreworICAgIHJldHVy
biBCSU4oY2hlY2t0eXBlKTsKK30KKworLyogYXR0ciBib29sIGhhbmRsZXNfc3AgQCBjaGVja3R5
cGUodHlwZSkodmFsKShyZXQpICovCitib29sCithdHRyX2hhbmRsZXNfc3BfY2hlY2t0eXBlKE1B
WUJFX1VOVVNFRChyYl9udW1fdCB0eXBlKSkKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKKy8q
IGF0dHIgYm9vbCBsZWFmIEAgY2hlY2t0eXBlKHR5cGUpKHZhbCkocmV0KSAqLworYm9vbAorYXR0
cl9sZWFmX2NoZWNrdHlwZShNQVlCRV9VTlVTRUQocmJfbnVtX3QgdHlwZSkpCit7CisgICAgcmV0
dXJuIHRydWU7Cit9CisKKy8qIGF0dHIgY29uc3QgY2hhciogbmFtZSBAIGNoZWNrdHlwZSh0eXBl
KSh2YWwpKHJldCkgKi8KK2NvbnN0IGNoYXIqCithdHRyX25hbWVfY2hlY2t0eXBlKE1BWUJFX1VO
VVNFRChyYl9udW1fdCB0eXBlKSkKK3sKKyAgICByZXR1cm4gaW5zbl9uYW1lKEJJTihjaGVja3R5
cGUpKTsKK30KKworLyogYXR0ciByYl9udW1fdCBvcGVuIEAgY2hlY2t0eXBlKHR5cGUpKHZhbCko
cmV0KSAqLworcmJfbnVtX3QKK2F0dHJfb3Blbl9jaGVja3R5cGUoTUFZQkVfVU5VU0VEKHJiX251
bV90IHR5cGUpKQoreworICAgIHJldHVybiAxOworfQorCisvKiBhdHRyIHJiX251bV90IHBvcG4g
QCBjaGVja3R5cGUodHlwZSkodmFsKShyZXQpICovCityYl9udW1fdAorYXR0cl9wb3BuX2NoZWNr
dHlwZShNQVlCRV9VTlVTRUQocmJfbnVtX3QgdHlwZSkpCit7CisgICAgcmV0dXJuIDE7Cit9CisK
Ky8qIGF0dHIgcmJfbnVtX3QgcmV0biBAIGNoZWNrdHlwZSh0eXBlKSh2YWwpKHJldCkgKi8KK3Ji
X251bV90CithdHRyX3JldG5fY2hlY2t0eXBlKE1BWUJFX1VOVVNFRChyYl9udW1fdCB0eXBlKSkK
K3sKKyAgICByZXR1cm4gMTsKK30KKworLyogYXR0ciByYl9zbnVtX3Qgc3BfaW5jIEAgY2hlY2t0
eXBlKHR5cGUpKHZhbCkocmV0KSAqLworcmJfc251bV90CithdHRyX3NwX2luY19jaGVja3R5cGUo
TUFZQkVfVU5VU0VEKHJiX251bV90IHR5cGUpKQoreworICAgIHJldHVybiAwOworfQorCisvKiBh
dHRyIHJiX251bV90IHdpZHRoIEAgY2hlY2t0eXBlKHR5cGUpKHZhbCkocmV0KSAqLworcmJfbnVt
X3QKK2F0dHJfd2lkdGhfY2hlY2t0eXBlKE1BWUJFX1VOVVNFRChyYl9udW1fdCB0eXBlKSkKK3sK
KyAgICByZXR1cm4gMjsKK30KKworLyogYXR0ciBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYmluIEAg
ZGVmaW5lY2xhc3MoaWQsIGNsYXNzX2lzZXEsIGZsYWdzKShjYmFzZSwgc3VwZXIpKHZhbCkgKi8K
K2VudW0gcnVieV92bWluc25fdHlwZQorYXR0cl9iaW5fZGVmaW5lY2xhc3MoCisgICAgTUFZQkVf
VU5VU0VEKElEIGlkKSwKKyAgICBNQVlCRV9VTlVTRUQoSVNFUSBjbGFzc19pc2VxKSwKKyAgICBN
QVlCRV9VTlVTRUQocmJfbnVtX3QgZmxhZ3MpCispCit7CisgICAgcmV0dXJuIEJJTihkZWZpbmVj
bGFzcyk7Cit9CisKKy8qIGF0dHIgYm9vbCBoYW5kbGVzX3NwIEAgZGVmaW5lY2xhc3MoaWQsIGNs
YXNzX2lzZXEsIGZsYWdzKShjYmFzZSwgc3VwZXIpKHZhbCkgKi8KK2Jvb2wKK2F0dHJfaGFuZGxl
c19zcF9kZWZpbmVjbGFzcygKKyAgICBNQVlCRV9VTlVTRUQoSUQgaWQpLAorICAgIE1BWUJFX1VO
VVNFRChJU0VRIGNsYXNzX2lzZXEpLAorICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCBmbGFncykK
KykKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworLyogYXR0ciBib29sIGxlYWYgQCBkZWZpbmVj
bGFzcyhpZCwgY2xhc3NfaXNlcSwgZmxhZ3MpKGNiYXNlLCBzdXBlcikodmFsKSAqLworYm9vbAor
YXR0cl9sZWFmX2RlZmluZWNsYXNzKAorICAgIE1BWUJFX1VOVVNFRChJRCBpZCksCisgICAgTUFZ
QkVfVU5VU0VEKElTRVEgY2xhc3NfaXNlcSksCisgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IGZs
YWdzKQorKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKworLyogYXR0ciBjb25zdCBjaGFyKiBu
YW1lIEAgZGVmaW5lY2xhc3MoaWQsIGNsYXNzX2lzZXEsIGZsYWdzKShjYmFzZSwgc3VwZXIpKHZh
bCkgKi8KK2NvbnN0IGNoYXIqCithdHRyX25hbWVfZGVmaW5lY2xhc3MoCisgICAgTUFZQkVfVU5V
U0VEKElEIGlkKSwKKyAgICBNQVlCRV9VTlVTRUQoSVNFUSBjbGFzc19pc2VxKSwKKyAgICBNQVlC
RV9VTlVTRUQocmJfbnVtX3QgZmxhZ3MpCispCit7CisgICAgcmV0dXJuIGluc25fbmFtZShCSU4o
ZGVmaW5lY2xhc3MpKTsKK30KKworLyogYXR0ciByYl9udW1fdCBvcGVuIEAgZGVmaW5lY2xhc3Mo
aWQsIGNsYXNzX2lzZXEsIGZsYWdzKShjYmFzZSwgc3VwZXIpKHZhbCkgKi8KK3JiX251bV90Cith
dHRyX29wZW5fZGVmaW5lY2xhc3MoCisgICAgTUFZQkVfVU5VU0VEKElEIGlkKSwKKyAgICBNQVlC
RV9VTlVTRUQoSVNFUSBjbGFzc19pc2VxKSwKKyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QgZmxh
Z3MpCispCit7CisgICAgcmV0dXJuIDM7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3QgcG9wbiBAIGRl
ZmluZWNsYXNzKGlkLCBjbGFzc19pc2VxLCBmbGFncykoY2Jhc2UsIHN1cGVyKSh2YWwpICovCity
Yl9udW1fdAorYXR0cl9wb3BuX2RlZmluZWNsYXNzKAorICAgIE1BWUJFX1VOVVNFRChJRCBpZCks
CisgICAgTUFZQkVfVU5VU0VEKElTRVEgY2xhc3NfaXNlcSksCisgICAgTUFZQkVfVU5VU0VEKHJi
X251bV90IGZsYWdzKQorKQoreworICAgIHJldHVybiAyOworfQorCisvKiBhdHRyIHJiX251bV90
IHJldG4gQCBkZWZpbmVjbGFzcyhpZCwgY2xhc3NfaXNlcSwgZmxhZ3MpKGNiYXNlLCBzdXBlciko
dmFsKSAqLworcmJfbnVtX3QKK2F0dHJfcmV0bl9kZWZpbmVjbGFzcygKKyAgICBNQVlCRV9VTlVT
RUQoSUQgaWQpLAorICAgIE1BWUJFX1VOVVNFRChJU0VRIGNsYXNzX2lzZXEpLAorICAgIE1BWUJF
X1VOVVNFRChyYl9udW1fdCBmbGFncykKKykKK3sKKyAgICByZXR1cm4gMTsKK30KKworLyogYXR0
ciByYl9zbnVtX3Qgc3BfaW5jIEAgZGVmaW5lY2xhc3MoaWQsIGNsYXNzX2lzZXEsIGZsYWdzKShj
YmFzZSwgc3VwZXIpKHZhbCkgKi8KK3JiX3NudW1fdAorYXR0cl9zcF9pbmNfZGVmaW5lY2xhc3Mo
CisgICAgTUFZQkVfVU5VU0VEKElEIGlkKSwKKyAgICBNQVlCRV9VTlVTRUQoSVNFUSBjbGFzc19p
c2VxKSwKKyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QgZmxhZ3MpCispCit7CisgICAgcmV0dXJu
IC0xOworfQorCisvKiBhdHRyIHJiX251bV90IHdpZHRoIEAgZGVmaW5lY2xhc3MoaWQsIGNsYXNz
X2lzZXEsIGZsYWdzKShjYmFzZSwgc3VwZXIpKHZhbCkgKi8KK3JiX251bV90CithdHRyX3dpZHRo
X2RlZmluZWNsYXNzKAorICAgIE1BWUJFX1VOVVNFRChJRCBpZCksCisgICAgTUFZQkVfVU5VU0VE
KElTRVEgY2xhc3NfaXNlcSksCisgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IGZsYWdzKQorKQor
eworICAgIHJldHVybiA0OworfQorCisvKiBhdHRyIGVudW0gcnVieV92bWluc25fdHlwZSBiaW4g
QCBzZW5kKGNpLCBjYywgYmxvY2tpc2VxKSguLi4pKHZhbCkgKi8KK2VudW0gcnVieV92bWluc25f
dHlwZQorYXR0cl9iaW5fc2VuZCgKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAg
ICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYyksCisgICAgTUFZQkVfVU5VU0VEKElTRVEgYmxv
Y2tpc2VxKQorKQoreworICAgIHJldHVybiBCSU4oc2VuZCk7Cit9CisKKy8qIGF0dHIgYm9vbCBo
YW5kbGVzX3NwIEAgc2VuZChjaSwgY2MsIGJsb2NraXNlcSkoLi4uKSh2YWwpICovCitib29sCith
dHRyX2hhbmRsZXNfc3Bfc2VuZCgKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAg
ICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYyksCisgICAgTUFZQkVfVU5VU0VEKElTRVEgYmxv
Y2tpc2VxKQorKQoreworICAgIHJldHVybiB0cnVlOworfQorCisvKiBhdHRyIGJvb2wgbGVhZiBA
IHNlbmQoY2ksIGNjLCBibG9ja2lzZXEpKC4uLikodmFsKSAqLworYm9vbAorYXR0cl9sZWFmX3Nl
bmQoCisgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCisgICAgTUFZQkVfVU5VU0VEKENB
TExfQ0FDSEUgY2MpLAorICAgIE1BWUJFX1VOVVNFRChJU0VRIGJsb2NraXNlcSkKKykKK3sKKyAg
ICByZXR1cm4gZmFsc2U7Cit9CisKKy8qIGF0dHIgY29uc3QgY2hhciogbmFtZSBAIHNlbmQoY2ks
IGNjLCBibG9ja2lzZXEpKC4uLikodmFsKSAqLworY29uc3QgY2hhcioKK2F0dHJfbmFtZV9zZW5k
KAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNFRChDQUxM
X0NBQ0hFIGNjKSwKKyAgICBNQVlCRV9VTlVTRUQoSVNFUSBibG9ja2lzZXEpCispCit7CisgICAg
cmV0dXJuIGluc25fbmFtZShCSU4oc2VuZCkpOworfQorCisvKiBhdHRyIHJiX251bV90IG9wZW4g
QCBzZW5kKGNpLCBjYywgYmxvY2tpc2VxKSguLi4pKHZhbCkgKi8KK3JiX251bV90CithdHRyX29w
ZW5fc2VuZCgKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAgICBNQVlCRV9VTlVT
RUQoQ0FMTF9DQUNIRSBjYyksCisgICAgTUFZQkVfVU5VU0VEKElTRVEgYmxvY2tpc2VxKQorKQor
eworICAgIHJldHVybiAzOworfQorCisvKiBhdHRyIHJiX251bV90IHBvcG4gQCBzZW5kKGNpLCBj
YywgYmxvY2tpc2VxKSguLi4pKHZhbCkgKi8KK3JiX251bV90CithdHRyX3BvcG5fc2VuZCgKKyAg
ICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNI
RSBjYyksCisgICAgTUFZQkVfVU5VU0VEKElTRVEgYmxvY2tpc2VxKQorKQoreworICAgIHJldHVy
biAwOworfQorCisvKiBhdHRyIHJiX251bV90IHJldG4gQCBzZW5kKGNpLCBjYywgYmxvY2tpc2Vx
KSguLi4pKHZhbCkgKi8KK3JiX251bV90CithdHRyX3JldG5fc2VuZCgKKyAgICBNQVlCRV9VTlVT
RUQoQ0FMTF9JTkZPIGNpKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYyksCisgICAg
TUFZQkVfVU5VU0VEKElTRVEgYmxvY2tpc2VxKQorKQoreworICAgIHJldHVybiAxOworfQorCisv
KiBhdHRyIHJiX3NudW1fdCBzcF9pbmMgQCBzZW5kKGNpLCBjYywgYmxvY2tpc2VxKSguLi4pKHZh
bCkgKi8KK3JiX3NudW1fdAorYXR0cl9zcF9pbmNfc2VuZCgKKyAgICBNQVlCRV9VTlVTRUQoQ0FM
TF9JTkZPIGNpKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYyksCisgICAgTUFZQkVf
VU5VU0VEKElTRVEgYmxvY2tpc2VxKQorKQoreworICAgIHJldHVybgorI2xpbmUgNzQzICJpbnNu
cy5kZWYiCistIChpbnQpKGNpLT5vcmlnX2FyZ2MgKyAoKGNpLT5mbGFnICYgVk1fQ0FMTF9BUkdT
X0JMT0NLQVJHKSA/IDEgOiAwKSk7CisjbGluZSA1MDc5ICJpbnNuc19pbmZvLmluYyIKK30KKwor
LyogYXR0ciByYl9udW1fdCB3aWR0aCBAIHNlbmQoY2ksIGNjLCBibG9ja2lzZXEpKC4uLikodmFs
KSAqLworcmJfbnVtX3QKK2F0dHJfd2lkdGhfc2VuZCgKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9J
TkZPIGNpKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYyksCisgICAgTUFZQkVfVU5V
U0VEKElTRVEgYmxvY2tpc2VxKQorKQoreworICAgIHJldHVybiA0OworfQorCisvKiBhdHRyIGVu
dW0gcnVieV92bWluc25fdHlwZSBiaW4gQCBvcHRfc2VuZF93aXRob3V0X2Jsb2NrKGNpLCBjYyko
Li4uKSh2YWwpICovCitlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUKK2F0dHJfYmluX29wdF9zZW5kX3dp
dGhvdXRfYmxvY2soCisgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCisgICAgTUFZQkVf
VU5VU0VEKENBTExfQ0FDSEUgY2MpCispCit7CisgICAgcmV0dXJuIEJJTihvcHRfc2VuZF93aXRo
b3V0X2Jsb2NrKTsKK30KKworLyogYXR0ciBib29sIGhhbmRsZXNfc3AgQCBvcHRfc2VuZF93aXRo
b3V0X2Jsb2NrKGNpLCBjYykoLi4uKSh2YWwpICovCitib29sCithdHRyX2hhbmRsZXNfc3Bfb3B0
X3NlbmRfd2l0aG91dF9ibG9jaygKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAg
ICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKKykKK3sKKyAgICByZXR1cm4KKyNsaW5lIDc1
OSAiaW5zbnMuZGVmIgordHJ1ZTsKKyNsaW5lIDUxMTMgImluc25zX2luZm8uaW5jIgorfQorCisv
KiBhdHRyIGJvb2wgbGVhZiBAIG9wdF9zZW5kX3dpdGhvdXRfYmxvY2soY2ksIGNjKSguLi4pKHZh
bCkgKi8KK2Jvb2wKK2F0dHJfbGVhZl9vcHRfc2VuZF93aXRob3V0X2Jsb2NrKAorICAgIE1BWUJF
X1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQor
KQoreworICAgIHJldHVybiAhIGF0dHJfaGFuZGxlc19zcF9vcHRfc2VuZF93aXRob3V0X2Jsb2Nr
KGNpLCBjYyk7Cit9CisKKy8qIGF0dHIgY29uc3QgY2hhciogbmFtZSBAIG9wdF9zZW5kX3dpdGhv
dXRfYmxvY2soY2ksIGNjKSguLi4pKHZhbCkgKi8KK2NvbnN0IGNoYXIqCithdHRyX25hbWVfb3B0
X3NlbmRfd2l0aG91dF9ibG9jaygKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAg
ICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKKykKK3sKKyAgICByZXR1cm4gaW5zbl9uYW1l
KEJJTihvcHRfc2VuZF93aXRob3V0X2Jsb2NrKSk7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3Qgb3Bl
biBAIG9wdF9zZW5kX3dpdGhvdXRfYmxvY2soY2ksIGNjKSguLi4pKHZhbCkgKi8KK3JiX251bV90
CithdHRyX29wZW5fb3B0X3NlbmRfd2l0aG91dF9ibG9jaygKKyAgICBNQVlCRV9VTlVTRUQoQ0FM
TF9JTkZPIGNpKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKKykKK3sKKyAgICBy
ZXR1cm4gMjsKK30KKworLyogYXR0ciByYl9udW1fdCBwb3BuIEAgb3B0X3NlbmRfd2l0aG91dF9i
bG9jayhjaSwgY2MpKC4uLikodmFsKSAqLworcmJfbnVtX3QKK2F0dHJfcG9wbl9vcHRfc2VuZF93
aXRob3V0X2Jsb2NrKAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJF
X1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiAwOworfQorCisvKiBhdHRy
IHJiX251bV90IHJldG4gQCBvcHRfc2VuZF93aXRob3V0X2Jsb2NrKGNpLCBjYykoLi4uKSh2YWwp
ICovCityYl9udW1fdAorYXR0cl9yZXRuX29wdF9zZW5kX3dpdGhvdXRfYmxvY2soCisgICAgTUFZ
QkVfVU5VU0VEKENBTExfSU5GTyBjaSksCisgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2Mp
CispCit7CisgICAgcmV0dXJuIDE7Cit9CisKKy8qIGF0dHIgcmJfc251bV90IHNwX2luYyBAIG9w
dF9zZW5kX3dpdGhvdXRfYmxvY2soY2ksIGNjKSguLi4pKHZhbCkgKi8KK3JiX3NudW1fdAorYXR0
cl9zcF9pbmNfb3B0X3NlbmRfd2l0aG91dF9ibG9jaygKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9J
TkZPIGNpKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKKykKK3sKKyAgICByZXR1
cm4KKyNsaW5lIDc2MCAiaW5zbnMuZGVmIgorLWNpLT5vcmlnX2FyZ2M7CisjbGluZSA1MTc2ICJp
bnNuc19pbmZvLmluYyIKK30KKworLyogYXR0ciByYl9udW1fdCB3aWR0aCBAIG9wdF9zZW5kX3dp
dGhvdXRfYmxvY2soY2ksIGNjKSguLi4pKHZhbCkgKi8KK3JiX251bV90CithdHRyX3dpZHRoX29w
dF9zZW5kX3dpdGhvdXRfYmxvY2soCisgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCisg
ICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCispCit7CisgICAgcmV0dXJuIDM7Cit9CisK
Ky8qIGF0dHIgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGJpbiBAIG9wdF9zdHJfZnJlZXplKHN0ciwg
Y2ksIGNjKSgpKHZhbCkgKi8KK2VudW0gcnVieV92bWluc25fdHlwZQorYXR0cl9iaW5fb3B0X3N0
cl9mcmVlemUoCisgICAgTUFZQkVfVU5VU0VEKFZBTFVFIHN0ciksCisgICAgTUFZQkVfVU5VU0VE
KENBTExfSU5GTyBjaSksCisgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCispCit7Cisg
ICAgcmV0dXJuIEJJTihvcHRfc3RyX2ZyZWV6ZSk7Cit9CisKKy8qIGF0dHIgYm9vbCBoYW5kbGVz
X3NwIEAgb3B0X3N0cl9mcmVlemUoc3RyLCBjaSwgY2MpKCkodmFsKSAqLworYm9vbAorYXR0cl9o
YW5kbGVzX3NwX29wdF9zdHJfZnJlZXplKAorICAgIE1BWUJFX1VOVVNFRChWQUxVRSBzdHIpLAor
ICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0NB
Q0hFIGNjKQorKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKworLyogYXR0ciBib29sIGxlYWYg
QCBvcHRfc3RyX2ZyZWV6ZShzdHIsIGNpLCBjYykoKSh2YWwpICovCitib29sCithdHRyX2xlYWZf
b3B0X3N0cl9mcmVlemUoCisgICAgTUFZQkVfVU5VU0VEKFZBTFVFIHN0ciksCisgICAgTUFZQkVf
VU5VU0VEKENBTExfSU5GTyBjaSksCisgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCisp
Cit7CisgICAgcmV0dXJuIHRydWU7Cit9CisKKy8qIGF0dHIgY29uc3QgY2hhciogbmFtZSBAIG9w
dF9zdHJfZnJlZXplKHN0ciwgY2ksIGNjKSgpKHZhbCkgKi8KK2NvbnN0IGNoYXIqCithdHRyX25h
bWVfb3B0X3N0cl9mcmVlemUoCisgICAgTUFZQkVfVU5VU0VEKFZBTFVFIHN0ciksCisgICAgTUFZ
QkVfVU5VU0VEKENBTExfSU5GTyBjaSksCisgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2Mp
CispCit7CisgICAgcmV0dXJuIGluc25fbmFtZShCSU4ob3B0X3N0cl9mcmVlemUpKTsKK30KKwor
LyogYXR0ciByYl9udW1fdCBvcGVuIEAgb3B0X3N0cl9mcmVlemUoc3RyLCBjaSwgY2MpKCkodmFs
KSAqLworcmJfbnVtX3QKK2F0dHJfb3Blbl9vcHRfc3RyX2ZyZWV6ZSgKKyAgICBNQVlCRV9VTlVT
RUQoVkFMVUUgc3RyKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAgICBNQVlC
RV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKKykKK3sKKyAgICByZXR1cm4gMzsKK30KKworLyogYXR0
ciByYl9udW1fdCBwb3BuIEAgb3B0X3N0cl9mcmVlemUoc3RyLCBjaSwgY2MpKCkodmFsKSAqLwor
cmJfbnVtX3QKK2F0dHJfcG9wbl9vcHRfc3RyX2ZyZWV6ZSgKKyAgICBNQVlCRV9VTlVTRUQoVkFM
VUUgc3RyKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAgICBNQVlCRV9VTlVT
RUQoQ0FMTF9DQUNIRSBjYykKKykKK3sKKyAgICByZXR1cm4gMDsKK30KKworLyogYXR0ciByYl9u
dW1fdCByZXRuIEAgb3B0X3N0cl9mcmVlemUoc3RyLCBjaSwgY2MpKCkodmFsKSAqLworcmJfbnVt
X3QKK2F0dHJfcmV0bl9vcHRfc3RyX2ZyZWV6ZSgKKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUgc3Ry
KSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FM
TF9DQUNIRSBjYykKKykKK3sKKyAgICByZXR1cm4gMTsKK30KKworLyogYXR0ciByYl9zbnVtX3Qg
c3BfaW5jIEAgb3B0X3N0cl9mcmVlemUoc3RyLCBjaSwgY2MpKCkodmFsKSAqLworcmJfc251bV90
CithdHRyX3NwX2luY19vcHRfc3RyX2ZyZWV6ZSgKKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUgc3Ry
KSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FM
TF9DQUNIRSBjYykKKykKK3sKKyAgICByZXR1cm4gMTsKK30KKworLyogYXR0ciByYl9udW1fdCB3
aWR0aCBAIG9wdF9zdHJfZnJlZXplKHN0ciwgY2ksIGNjKSgpKHZhbCkgKi8KK3JiX251bV90Cith
dHRyX3dpZHRoX29wdF9zdHJfZnJlZXplKAorICAgIE1BWUJFX1VOVVNFRChWQUxVRSBzdHIpLAor
ICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0NB
Q0hFIGNjKQorKQoreworICAgIHJldHVybiA0OworfQorCisvKiBhdHRyIGVudW0gcnVieV92bWlu
c25fdHlwZSBiaW4gQCBvcHRfc3RyX3VtaW51cyhzdHIsIGNpLCBjYykoKSh2YWwpICovCitlbnVt
IHJ1Ynlfdm1pbnNuX3R5cGUKK2F0dHJfYmluX29wdF9zdHJfdW1pbnVzKAorICAgIE1BWUJFX1VO
VVNFRChWQUxVRSBzdHIpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1B
WUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiBCSU4ob3B0X3N0cl91
bWludXMpOworfQorCisvKiBhdHRyIGJvb2wgaGFuZGxlc19zcCBAIG9wdF9zdHJfdW1pbnVzKHN0
ciwgY2ksIGNjKSgpKHZhbCkgKi8KK2Jvb2wKK2F0dHJfaGFuZGxlc19zcF9vcHRfc3RyX3VtaW51
cygKKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUgc3RyKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9J
TkZPIGNpKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKKykKK3sKKyAgICByZXR1
cm4gZmFsc2U7Cit9CisKKy8qIGF0dHIgYm9vbCBsZWFmIEAgb3B0X3N0cl91bWludXMoc3RyLCBj
aSwgY2MpKCkodmFsKSAqLworYm9vbAorYXR0cl9sZWFmX29wdF9zdHJfdW1pbnVzKAorICAgIE1B
WUJFX1VOVVNFRChWQUxVRSBzdHIpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAor
ICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiB0cnVlOwor
fQorCisvKiBhdHRyIGNvbnN0IGNoYXIqIG5hbWUgQCBvcHRfc3RyX3VtaW51cyhzdHIsIGNpLCBj
YykoKSh2YWwpICovCitjb25zdCBjaGFyKgorYXR0cl9uYW1lX29wdF9zdHJfdW1pbnVzKAorICAg
IE1BWUJFX1VOVVNFRChWQUxVRSBzdHIpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kp
LAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiBpbnNu
X25hbWUoQklOKG9wdF9zdHJfdW1pbnVzKSk7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3Qgb3BlbiBA
IG9wdF9zdHJfdW1pbnVzKHN0ciwgY2ksIGNjKSgpKHZhbCkgKi8KK3JiX251bV90CithdHRyX29w
ZW5fb3B0X3N0cl91bWludXMoCisgICAgTUFZQkVfVU5VU0VEKFZBTFVFIHN0ciksCisgICAgTUFZ
QkVfVU5VU0VEKENBTExfSU5GTyBjaSksCisgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2Mp
CispCit7CisgICAgcmV0dXJuIDM7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3QgcG9wbiBAIG9wdF9z
dHJfdW1pbnVzKHN0ciwgY2ksIGNjKSgpKHZhbCkgKi8KK3JiX251bV90CithdHRyX3BvcG5fb3B0
X3N0cl91bWludXMoCisgICAgTUFZQkVfVU5VU0VEKFZBTFVFIHN0ciksCisgICAgTUFZQkVfVU5V
U0VEKENBTExfSU5GTyBjaSksCisgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCispCit7
CisgICAgcmV0dXJuIDA7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3QgcmV0biBAIG9wdF9zdHJfdW1p
bnVzKHN0ciwgY2ksIGNjKSgpKHZhbCkgKi8KK3JiX251bV90CithdHRyX3JldG5fb3B0X3N0cl91
bWludXMoCisgICAgTUFZQkVfVU5VU0VEKFZBTFVFIHN0ciksCisgICAgTUFZQkVfVU5VU0VEKENB
TExfSU5GTyBjaSksCisgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCispCit7CisgICAg
cmV0dXJuIDE7Cit9CisKKy8qIGF0dHIgcmJfc251bV90IHNwX2luYyBAIG9wdF9zdHJfdW1pbnVz
KHN0ciwgY2ksIGNjKSgpKHZhbCkgKi8KK3JiX3NudW1fdAorYXR0cl9zcF9pbmNfb3B0X3N0cl91
bWludXMoCisgICAgTUFZQkVfVU5VU0VEKFZBTFVFIHN0ciksCisgICAgTUFZQkVfVU5VU0VEKENB
TExfSU5GTyBjaSksCisgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCispCit7CisgICAg
cmV0dXJuIDE7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3Qgd2lkdGggQCBvcHRfc3RyX3VtaW51cyhz
dHIsIGNpLCBjYykoKSh2YWwpICovCityYl9udW1fdAorYXR0cl93aWR0aF9vcHRfc3RyX3VtaW51
cygKKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUgc3RyKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9J
TkZPIGNpKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKKykKK3sKKyAgICByZXR1
cm4gNDsKK30KKworLyogYXR0ciBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYmluIEAgb3B0X25ld2Fy
cmF5X21heChudW0pKC4uLikodmFsKSAqLworZW51bSBydWJ5X3ZtaW5zbl90eXBlCithdHRyX2Jp
bl9vcHRfbmV3YXJyYXlfbWF4KE1BWUJFX1VOVVNFRChyYl9udW1fdCBudW0pKQoreworICAgIHJl
dHVybiBCSU4ob3B0X25ld2FycmF5X21heCk7Cit9CisKKy8qIGF0dHIgYm9vbCBoYW5kbGVzX3Nw
IEAgb3B0X25ld2FycmF5X21heChudW0pKC4uLikodmFsKSAqLworYm9vbAorYXR0cl9oYW5kbGVz
X3NwX29wdF9uZXdhcnJheV9tYXgoTUFZQkVfVU5VU0VEKHJiX251bV90IG51bSkpCit7CisgICAg
cmV0dXJuIGZhbHNlOworfQorCisvKiBhdHRyIGJvb2wgbGVhZiBAIG9wdF9uZXdhcnJheV9tYXgo
bnVtKSguLi4pKHZhbCkgKi8KK2Jvb2wKK2F0dHJfbGVhZl9vcHRfbmV3YXJyYXlfbWF4KE1BWUJF
X1VOVVNFRChyYl9udW1fdCBudW0pKQoreworICAgIHJldHVybgorI2xpbmUgODA1ICJpbnNucy5k
ZWYiCitmYWxzZTsKKyNsaW5lIDU0MDggImluc25zX2luZm8uaW5jIgorfQorCisvKiBhdHRyIGNv
bnN0IGNoYXIqIG5hbWUgQCBvcHRfbmV3YXJyYXlfbWF4KG51bSkoLi4uKSh2YWwpICovCitjb25z
dCBjaGFyKgorYXR0cl9uYW1lX29wdF9uZXdhcnJheV9tYXgoTUFZQkVfVU5VU0VEKHJiX251bV90
IG51bSkpCit7CisgICAgcmV0dXJuIGluc25fbmFtZShCSU4ob3B0X25ld2FycmF5X21heCkpOwor
fQorCisvKiBhdHRyIHJiX251bV90IG9wZW4gQCBvcHRfbmV3YXJyYXlfbWF4KG51bSkoLi4uKSh2
YWwpICovCityYl9udW1fdAorYXR0cl9vcGVuX29wdF9uZXdhcnJheV9tYXgoTUFZQkVfVU5VU0VE
KHJiX251bV90IG51bSkpCit7CisgICAgcmV0dXJuIDE7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3Qg
cG9wbiBAIG9wdF9uZXdhcnJheV9tYXgobnVtKSguLi4pKHZhbCkgKi8KK3JiX251bV90CithdHRy
X3BvcG5fb3B0X25ld2FycmF5X21heChNQVlCRV9VTlVTRUQocmJfbnVtX3QgbnVtKSkKK3sKKyAg
ICByZXR1cm4gMDsKK30KKworLyogYXR0ciByYl9udW1fdCByZXRuIEAgb3B0X25ld2FycmF5X21h
eChudW0pKC4uLikodmFsKSAqLworcmJfbnVtX3QKK2F0dHJfcmV0bl9vcHRfbmV3YXJyYXlfbWF4
KE1BWUJFX1VOVVNFRChyYl9udW1fdCBudW0pKQoreworICAgIHJldHVybiAxOworfQorCisvKiBh
dHRyIHJiX3NudW1fdCBzcF9pbmMgQCBvcHRfbmV3YXJyYXlfbWF4KG51bSkoLi4uKSh2YWwpICov
CityYl9zbnVtX3QKK2F0dHJfc3BfaW5jX29wdF9uZXdhcnJheV9tYXgoTUFZQkVfVU5VU0VEKHJi
X251bV90IG51bSkpCit7CisgICAgcmV0dXJuCisjbGluZSA4MDYgImluc25zLmRlZiIKKzEgLSAo
cmJfc251bV90KW51bTsKKyNsaW5lIDU0NDYgImluc25zX2luZm8uaW5jIgorfQorCisvKiBhdHRy
IHJiX251bV90IHdpZHRoIEAgb3B0X25ld2FycmF5X21heChudW0pKC4uLikodmFsKSAqLworcmJf
bnVtX3QKK2F0dHJfd2lkdGhfb3B0X25ld2FycmF5X21heChNQVlCRV9VTlVTRUQocmJfbnVtX3Qg
bnVtKSkKK3sKKyAgICByZXR1cm4gMjsKK30KKworLyogYXR0ciBlbnVtIHJ1Ynlfdm1pbnNuX3R5
cGUgYmluIEAgb3B0X25ld2FycmF5X21pbihudW0pKC4uLikodmFsKSAqLworZW51bSBydWJ5X3Zt
aW5zbl90eXBlCithdHRyX2Jpbl9vcHRfbmV3YXJyYXlfbWluKE1BWUJFX1VOVVNFRChyYl9udW1f
dCBudW0pKQoreworICAgIHJldHVybiBCSU4ob3B0X25ld2FycmF5X21pbik7Cit9CisKKy8qIGF0
dHIgYm9vbCBoYW5kbGVzX3NwIEAgb3B0X25ld2FycmF5X21pbihudW0pKC4uLikodmFsKSAqLwor
Ym9vbAorYXR0cl9oYW5kbGVzX3NwX29wdF9uZXdhcnJheV9taW4oTUFZQkVfVU5VU0VEKHJiX251
bV90IG51bSkpCit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCisvKiBhdHRyIGJvb2wgbGVhZiBA
IG9wdF9uZXdhcnJheV9taW4obnVtKSguLi4pKHZhbCkgKi8KK2Jvb2wKK2F0dHJfbGVhZl9vcHRf
bmV3YXJyYXlfbWluKE1BWUJFX1VOVVNFRChyYl9udW1fdCBudW0pKQoreworICAgIHJldHVybgor
I2xpbmUgODE3ICJpbnNucy5kZWYiCitmYWxzZTsKKyNsaW5lIDU0NzcgImluc25zX2luZm8uaW5j
IgorfQorCisvKiBhdHRyIGNvbnN0IGNoYXIqIG5hbWUgQCBvcHRfbmV3YXJyYXlfbWluKG51bSko
Li4uKSh2YWwpICovCitjb25zdCBjaGFyKgorYXR0cl9uYW1lX29wdF9uZXdhcnJheV9taW4oTUFZ
QkVfVU5VU0VEKHJiX251bV90IG51bSkpCit7CisgICAgcmV0dXJuIGluc25fbmFtZShCSU4ob3B0
X25ld2FycmF5X21pbikpOworfQorCisvKiBhdHRyIHJiX251bV90IG9wZW4gQCBvcHRfbmV3YXJy
YXlfbWluKG51bSkoLi4uKSh2YWwpICovCityYl9udW1fdAorYXR0cl9vcGVuX29wdF9uZXdhcnJh
eV9taW4oTUFZQkVfVU5VU0VEKHJiX251bV90IG51bSkpCit7CisgICAgcmV0dXJuIDE7Cit9CisK
Ky8qIGF0dHIgcmJfbnVtX3QgcG9wbiBAIG9wdF9uZXdhcnJheV9taW4obnVtKSguLi4pKHZhbCkg
Ki8KK3JiX251bV90CithdHRyX3BvcG5fb3B0X25ld2FycmF5X21pbihNQVlCRV9VTlVTRUQocmJf
bnVtX3QgbnVtKSkKK3sKKyAgICByZXR1cm4gMDsKK30KKworLyogYXR0ciByYl9udW1fdCByZXRu
IEAgb3B0X25ld2FycmF5X21pbihudW0pKC4uLikodmFsKSAqLworcmJfbnVtX3QKK2F0dHJfcmV0
bl9vcHRfbmV3YXJyYXlfbWluKE1BWUJFX1VOVVNFRChyYl9udW1fdCBudW0pKQoreworICAgIHJl
dHVybiAxOworfQorCisvKiBhdHRyIHJiX3NudW1fdCBzcF9pbmMgQCBvcHRfbmV3YXJyYXlfbWlu
KG51bSkoLi4uKSh2YWwpICovCityYl9zbnVtX3QKK2F0dHJfc3BfaW5jX29wdF9uZXdhcnJheV9t
aW4oTUFZQkVfVU5VU0VEKHJiX251bV90IG51bSkpCit7CisgICAgcmV0dXJuCisjbGluZSA4MTgg
Imluc25zLmRlZiIKKzEgLSAocmJfc251bV90KW51bTsKKyNsaW5lIDU1MTUgImluc25zX2luZm8u
aW5jIgorfQorCisvKiBhdHRyIHJiX251bV90IHdpZHRoIEAgb3B0X25ld2FycmF5X21pbihudW0p
KC4uLikodmFsKSAqLworcmJfbnVtX3QKK2F0dHJfd2lkdGhfb3B0X25ld2FycmF5X21pbihNQVlC
RV9VTlVTRUQocmJfbnVtX3QgbnVtKSkKK3sKKyAgICByZXR1cm4gMjsKK30KKworLyogYXR0ciBl
bnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYmluIEAgaW52b2tlc3VwZXIoY2ksIGNjLCBibG9ja2lzZXEp
KC4uLikodmFsKSAqLworZW51bSBydWJ5X3ZtaW5zbl90eXBlCithdHRyX2Jpbl9pbnZva2VzdXBl
cigKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FM
TF9DQUNIRSBjYyksCisgICAgTUFZQkVfVU5VU0VEKElTRVEgYmxvY2tpc2VxKQorKQoreworICAg
IHJldHVybiBCSU4oaW52b2tlc3VwZXIpOworfQorCisvKiBhdHRyIGJvb2wgaGFuZGxlc19zcCBA
IGludm9rZXN1cGVyKGNpLCBjYywgYmxvY2tpc2VxKSguLi4pKHZhbCkgKi8KK2Jvb2wKK2F0dHJf
aGFuZGxlc19zcF9pbnZva2VzdXBlcigKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwK
KyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYyksCisgICAgTUFZQkVfVU5VU0VEKElTRVEg
YmxvY2tpc2VxKQorKQoreworICAgIHJldHVybiB0cnVlOworfQorCisvKiBhdHRyIGJvb2wgbGVh
ZiBAIGludm9rZXN1cGVyKGNpLCBjYywgYmxvY2tpc2VxKSguLi4pKHZhbCkgKi8KK2Jvb2wKK2F0
dHJfbGVhZl9pbnZva2VzdXBlcigKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAg
ICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYyksCisgICAgTUFZQkVfVU5VU0VEKElTRVEgYmxv
Y2tpc2VxKQorKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKworLyogYXR0ciBjb25zdCBjaGFy
KiBuYW1lIEAgaW52b2tlc3VwZXIoY2ksIGNjLCBibG9ja2lzZXEpKC4uLikodmFsKSAqLworY29u
c3QgY2hhcioKK2F0dHJfbmFtZV9pbnZva2VzdXBlcigKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9J
TkZPIGNpKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYyksCisgICAgTUFZQkVfVU5V
U0VEKElTRVEgYmxvY2tpc2VxKQorKQoreworICAgIHJldHVybiBpbnNuX25hbWUoQklOKGludm9r
ZXN1cGVyKSk7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3Qgb3BlbiBAIGludm9rZXN1cGVyKGNpLCBj
YywgYmxvY2tpc2VxKSguLi4pKHZhbCkgKi8KK3JiX251bV90CithdHRyX29wZW5faW52b2tlc3Vw
ZXIoCisgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCisgICAgTUFZQkVfVU5VU0VEKENB
TExfQ0FDSEUgY2MpLAorICAgIE1BWUJFX1VOVVNFRChJU0VRIGJsb2NraXNlcSkKKykKK3sKKyAg
ICByZXR1cm4gMzsKK30KKworLyogYXR0ciByYl9udW1fdCBwb3BuIEAgaW52b2tlc3VwZXIoY2ks
IGNjLCBibG9ja2lzZXEpKC4uLikodmFsKSAqLworcmJfbnVtX3QKK2F0dHJfcG9wbl9pbnZva2Vz
dXBlcigKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAgICBNQVlCRV9VTlVTRUQo
Q0FMTF9DQUNIRSBjYyksCisgICAgTUFZQkVfVU5VU0VEKElTRVEgYmxvY2tpc2VxKQorKQorewor
ICAgIHJldHVybiAwOworfQorCisvKiBhdHRyIHJiX251bV90IHJldG4gQCBpbnZva2VzdXBlcihj
aSwgY2MsIGJsb2NraXNlcSkoLi4uKSh2YWwpICovCityYl9udW1fdAorYXR0cl9yZXRuX2ludm9r
ZXN1cGVyKAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNF
RChDQUxMX0NBQ0hFIGNjKSwKKyAgICBNQVlCRV9VTlVTRUQoSVNFUSBibG9ja2lzZXEpCispCit7
CisgICAgcmV0dXJuIDE7Cit9CisKKy8qIGF0dHIgcmJfc251bV90IHNwX2luYyBAIGludm9rZXN1
cGVyKGNpLCBjYywgYmxvY2tpc2VxKSguLi4pKHZhbCkgKi8KK3JiX3NudW1fdAorYXR0cl9zcF9p
bmNfaW52b2tlc3VwZXIoCisgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCisgICAgTUFZ
QkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpLAorICAgIE1BWUJFX1VOVVNFRChJU0VRIGJsb2NraXNl
cSkKKykKK3sKKyAgICByZXR1cm4KKyNsaW5lIDgyOSAiaW5zbnMuZGVmIgorLSAoaW50KShjaS0+
b3JpZ19hcmdjICsgKChjaS0+ZmxhZyAmIFZNX0NBTExfQVJHU19CTE9DS0FSRykgPyAxIDogMCkp
OworI2xpbmUgNTYxMyAiaW5zbnNfaW5mby5pbmMiCit9CisKKy8qIGF0dHIgcmJfbnVtX3Qgd2lk
dGggQCBpbnZva2VzdXBlcihjaSwgY2MsIGJsb2NraXNlcSkoLi4uKSh2YWwpICovCityYl9udW1f
dAorYXR0cl93aWR0aF9pbnZva2VzdXBlcigKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNp
KSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYyksCisgICAgTUFZQkVfVU5VU0VEKElT
RVEgYmxvY2tpc2VxKQorKQoreworICAgIHJldHVybiA0OworfQorCisvKiBhdHRyIGVudW0gcnVi
eV92bWluc25fdHlwZSBiaW4gQCBpbnZva2VibG9jayhjaSkoLi4uKSh2YWwpICovCitlbnVtIHJ1
Ynlfdm1pbnNuX3R5cGUKK2F0dHJfYmluX2ludm9rZWJsb2NrKE1BWUJFX1VOVVNFRChDQUxMX0lO
Rk8gY2kpKQoreworICAgIHJldHVybiBCSU4oaW52b2tlYmxvY2spOworfQorCisvKiBhdHRyIGJv
b2wgaGFuZGxlc19zcCBAIGludm9rZWJsb2NrKGNpKSguLi4pKHZhbCkgKi8KK2Jvb2wKK2F0dHJf
aGFuZGxlc19zcF9pbnZva2VibG9jayhNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSkKK3sKKyAg
ICByZXR1cm4KKyNsaW5lIDg0NSAiaW5zbnMuZGVmIgordHJ1ZTsKKyNsaW5lIDU2NDEgImluc25z
X2luZm8uaW5jIgorfQorCisvKiBhdHRyIGJvb2wgbGVhZiBAIGludm9rZWJsb2NrKGNpKSguLi4p
KHZhbCkgKi8KK2Jvb2wKK2F0dHJfbGVhZl9pbnZva2VibG9jayhNQVlCRV9VTlVTRUQoQ0FMTF9J
TkZPIGNpKSkKK3sKKyAgICByZXR1cm4gISBhdHRyX2hhbmRsZXNfc3BfaW52b2tlYmxvY2soY2kp
OworfQorCisvKiBhdHRyIGNvbnN0IGNoYXIqIG5hbWUgQCBpbnZva2VibG9jayhjaSkoLi4uKSh2
YWwpICovCitjb25zdCBjaGFyKgorYXR0cl9uYW1lX2ludm9rZWJsb2NrKE1BWUJFX1VOVVNFRChD
QUxMX0lORk8gY2kpKQoreworICAgIHJldHVybiBpbnNuX25hbWUoQklOKGludm9rZWJsb2NrKSk7
Cit9CisKKy8qIGF0dHIgcmJfbnVtX3Qgb3BlbiBAIGludm9rZWJsb2NrKGNpKSguLi4pKHZhbCkg
Ki8KK3JiX251bV90CithdHRyX29wZW5faW52b2tlYmxvY2soTUFZQkVfVU5VU0VEKENBTExfSU5G
TyBjaSkpCit7CisgICAgcmV0dXJuIDE7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3QgcG9wbiBAIGlu
dm9rZWJsb2NrKGNpKSguLi4pKHZhbCkgKi8KK3JiX251bV90CithdHRyX3BvcG5faW52b2tlYmxv
Y2soTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSkpCit7CisgICAgcmV0dXJuIDA7Cit9CisKKy8q
IGF0dHIgcmJfbnVtX3QgcmV0biBAIGludm9rZWJsb2NrKGNpKSguLi4pKHZhbCkgKi8KK3JiX251
bV90CithdHRyX3JldG5faW52b2tlYmxvY2soTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSkpCit7
CisgICAgcmV0dXJuIDE7Cit9CisKKy8qIGF0dHIgcmJfc251bV90IHNwX2luYyBAIGludm9rZWJs
b2NrKGNpKSguLi4pKHZhbCkgKi8KK3JiX3NudW1fdAorYXR0cl9zcF9pbmNfaW52b2tlYmxvY2so
TUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSkpCit7CisgICAgcmV0dXJuCisjbGluZSA4NDYgImlu
c25zLmRlZiIKKzEgLSBjaS0+b3JpZ19hcmdjOworI2xpbmUgNTY4NiAiaW5zbnNfaW5mby5pbmMi
Cit9CisKKy8qIGF0dHIgcmJfbnVtX3Qgd2lkdGggQCBpbnZva2VibG9jayhjaSkoLi4uKSh2YWwp
ICovCityYl9udW1fdAorYXR0cl93aWR0aF9pbnZva2VibG9jayhNQVlCRV9VTlVTRUQoQ0FMTF9J
TkZPIGNpKSkKK3sKKyAgICByZXR1cm4gMjsKK30KKworLyogYXR0ciBlbnVtIHJ1Ynlfdm1pbnNu
X3R5cGUgYmluIEAgbGVhdmUoKSh2YWwpKHZhbCkgKi8KK2VudW0gcnVieV92bWluc25fdHlwZQor
YXR0cl9iaW5fbGVhdmUodm9pZCkKK3sKKyAgICByZXR1cm4gQklOKGxlYXZlKTsKK30KKworLyog
YXR0ciBib29sIGhhbmRsZXNfc3AgQCBsZWF2ZSgpKHZhbCkodmFsKSAqLworYm9vbAorYXR0cl9o
YW5kbGVzX3NwX2xlYXZlKHZvaWQpCit7CisgICAgcmV0dXJuCisjbGluZSA4NzYgImluc25zLmRl
ZiIKK3RydWU7CisjbGluZSA1NzEwICJpbnNuc19pbmZvLmluYyIKK30KKworLyogYXR0ciBib29s
IGxlYWYgQCBsZWF2ZSgpKHZhbCkodmFsKSAqLworYm9vbAorYXR0cl9sZWFmX2xlYXZlKHZvaWQp
Cit7CisgICAgcmV0dXJuCisjbGluZSA4NzUgImluc25zLmRlZiIKK2ZhbHNlOworI2xpbmUgNTcy
MCAiaW5zbnNfaW5mby5pbmMiCit9CisKKy8qIGF0dHIgY29uc3QgY2hhciogbmFtZSBAIGxlYXZl
KCkodmFsKSh2YWwpICovCitjb25zdCBjaGFyKgorYXR0cl9uYW1lX2xlYXZlKHZvaWQpCit7Cisg
ICAgcmV0dXJuIGluc25fbmFtZShCSU4obGVhdmUpKTsKK30KKworLyogYXR0ciByYl9udW1fdCBv
cGVuIEAgbGVhdmUoKSh2YWwpKHZhbCkgKi8KK3JiX251bV90CithdHRyX29wZW5fbGVhdmUodm9p
ZCkKK3sKKyAgICByZXR1cm4gMDsKK30KKworLyogYXR0ciByYl9udW1fdCBwb3BuIEAgbGVhdmUo
KSh2YWwpKHZhbCkgKi8KK3JiX251bV90CithdHRyX3BvcG5fbGVhdmUodm9pZCkKK3sKKyAgICBy
ZXR1cm4gMTsKK30KKworLyogYXR0ciByYl9udW1fdCByZXRuIEAgbGVhdmUoKSh2YWwpKHZhbCkg
Ki8KK3JiX251bV90CithdHRyX3JldG5fbGVhdmUodm9pZCkKK3sKKyAgICByZXR1cm4gMTsKK30K
KworLyogYXR0ciByYl9zbnVtX3Qgc3BfaW5jIEAgbGVhdmUoKSh2YWwpKHZhbCkgKi8KK3JiX3Nu
dW1fdAorYXR0cl9zcF9pbmNfbGVhdmUodm9pZCkKK3sKKyAgICByZXR1cm4gMDsKK30KKworLyog
YXR0ciByYl9udW1fdCB3aWR0aCBAIGxlYXZlKCkodmFsKSh2YWwpICovCityYl9udW1fdAorYXR0
cl93aWR0aF9sZWF2ZSh2b2lkKQoreworICAgIHJldHVybiAxOworfQorCisvKiBhdHRyIGVudW0g
cnVieV92bWluc25fdHlwZSBiaW4gQCB0aHJvdyh0aHJvd19zdGF0ZSkodGhyb3dvYmopKHZhbCkg
Ki8KK2VudW0gcnVieV92bWluc25fdHlwZQorYXR0cl9iaW5fdGhyb3coTUFZQkVfVU5VU0VEKHJi
X251bV90IHRocm93X3N0YXRlKSkKK3sKKyAgICByZXR1cm4gQklOKHRocm93KTsKK30KKworLyog
YXR0ciBib29sIGhhbmRsZXNfc3AgQCB0aHJvdyh0aHJvd19zdGF0ZSkodGhyb3dvYmopKHZhbCkg
Ki8KK2Jvb2wKK2F0dHJfaGFuZGxlc19zcF90aHJvdyhNQVlCRV9VTlVTRUQocmJfbnVtX3QgdGhy
b3dfc3RhdGUpKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKworLyogYXR0ciBib29sIGxlYWYg
QCB0aHJvdyh0aHJvd19zdGF0ZSkodGhyb3dvYmopKHZhbCkgKi8KK2Jvb2wKK2F0dHJfbGVhZl90
aHJvdyhNQVlCRV9VTlVTRUQocmJfbnVtX3QgdGhyb3dfc3RhdGUpKQoreworICAgIHJldHVybgor
I2xpbmUgOTExICJpbnNucy5kZWYiCitmYWxzZTsKKyNsaW5lIDU3ODYgImluc25zX2luZm8uaW5j
IgorfQorCisvKiBhdHRyIGNvbnN0IGNoYXIqIG5hbWUgQCB0aHJvdyh0aHJvd19zdGF0ZSkodGhy
b3dvYmopKHZhbCkgKi8KK2NvbnN0IGNoYXIqCithdHRyX25hbWVfdGhyb3coTUFZQkVfVU5VU0VE
KHJiX251bV90IHRocm93X3N0YXRlKSkKK3sKKyAgICByZXR1cm4gaW5zbl9uYW1lKEJJTih0aHJv
dykpOworfQorCisvKiBhdHRyIHJiX251bV90IG9wZW4gQCB0aHJvdyh0aHJvd19zdGF0ZSkodGhy
b3dvYmopKHZhbCkgKi8KK3JiX251bV90CithdHRyX29wZW5fdGhyb3coTUFZQkVfVU5VU0VEKHJi
X251bV90IHRocm93X3N0YXRlKSkKK3sKKyAgICByZXR1cm4gMTsKK30KKworLyogYXR0ciByYl9u
dW1fdCBwb3BuIEAgdGhyb3codGhyb3dfc3RhdGUpKHRocm93b2JqKSh2YWwpICovCityYl9udW1f
dAorYXR0cl9wb3BuX3Rocm93KE1BWUJFX1VOVVNFRChyYl9udW1fdCB0aHJvd19zdGF0ZSkpCit7
CisgICAgcmV0dXJuIDE7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3QgcmV0biBAIHRocm93KHRocm93
X3N0YXRlKSh0aHJvd29iaikodmFsKSAqLworcmJfbnVtX3QKK2F0dHJfcmV0bl90aHJvdyhNQVlC
RV9VTlVTRUQocmJfbnVtX3QgdGhyb3dfc3RhdGUpKQoreworICAgIHJldHVybiAxOworfQorCisv
KiBhdHRyIHJiX3NudW1fdCBzcF9pbmMgQCB0aHJvdyh0aHJvd19zdGF0ZSkodGhyb3dvYmopKHZh
bCkgKi8KK3JiX3NudW1fdAorYXR0cl9zcF9pbmNfdGhyb3coTUFZQkVfVU5VU0VEKHJiX251bV90
IHRocm93X3N0YXRlKSkKK3sKKyAgICByZXR1cm4gMDsKK30KKworLyogYXR0ciByYl9udW1fdCB3
aWR0aCBAIHRocm93KHRocm93X3N0YXRlKSh0aHJvd29iaikodmFsKSAqLworcmJfbnVtX3QKK2F0
dHJfd2lkdGhfdGhyb3coTUFZQkVfVU5VU0VEKHJiX251bV90IHRocm93X3N0YXRlKSkKK3sKKyAg
ICByZXR1cm4gMjsKK30KKworLyogYXR0ciBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYmluIEAganVt
cChkc3QpKCkoKSAqLworZW51bSBydWJ5X3ZtaW5zbl90eXBlCithdHRyX2Jpbl9qdW1wKE1BWUJF
X1VOVVNFRChPRkZTRVQgZHN0KSkKK3sKKyAgICByZXR1cm4gQklOKGp1bXApOworfQorCisvKiBh
dHRyIGJvb2wgaGFuZGxlc19zcCBAIGp1bXAoZHN0KSgpKCkgKi8KK2Jvb2wKK2F0dHJfaGFuZGxl
c19zcF9qdW1wKE1BWUJFX1VOVVNFRChPRkZTRVQgZHN0KSkKK3sKKyAgICByZXR1cm4gZmFsc2U7
Cit9CisKKy8qIGF0dHIgYm9vbCBsZWFmIEAganVtcChkc3QpKCkoKSAqLworYm9vbAorYXR0cl9s
ZWFmX2p1bXAoTUFZQkVfVU5VU0VEKE9GRlNFVCBkc3QpKQoreworICAgIHJldHVybgorI2xpbmUg
OTMwICJpbnNucy5kZWYiCitmYWxzZTsKKyNsaW5lIDU4NTIgImluc25zX2luZm8uaW5jIgorfQor
CisvKiBhdHRyIGNvbnN0IGNoYXIqIG5hbWUgQCBqdW1wKGRzdCkoKSgpICovCitjb25zdCBjaGFy
KgorYXR0cl9uYW1lX2p1bXAoTUFZQkVfVU5VU0VEKE9GRlNFVCBkc3QpKQoreworICAgIHJldHVy
biBpbnNuX25hbWUoQklOKGp1bXApKTsKK30KKworLyogYXR0ciByYl9udW1fdCBvcGVuIEAganVt
cChkc3QpKCkoKSAqLworcmJfbnVtX3QKK2F0dHJfb3Blbl9qdW1wKE1BWUJFX1VOVVNFRChPRkZT
RVQgZHN0KSkKK3sKKyAgICByZXR1cm4gMTsKK30KKworLyogYXR0ciByYl9udW1fdCBwb3BuIEAg
anVtcChkc3QpKCkoKSAqLworcmJfbnVtX3QKK2F0dHJfcG9wbl9qdW1wKE1BWUJFX1VOVVNFRChP
RkZTRVQgZHN0KSkKK3sKKyAgICByZXR1cm4gMDsKK30KKworLyogYXR0ciByYl9udW1fdCByZXRu
IEAganVtcChkc3QpKCkoKSAqLworcmJfbnVtX3QKK2F0dHJfcmV0bl9qdW1wKE1BWUJFX1VOVVNF
RChPRkZTRVQgZHN0KSkKK3sKKyAgICByZXR1cm4gMDsKK30KKworLyogYXR0ciByYl9zbnVtX3Qg
c3BfaW5jIEAganVtcChkc3QpKCkoKSAqLworcmJfc251bV90CithdHRyX3NwX2luY19qdW1wKE1B
WUJFX1VOVVNFRChPRkZTRVQgZHN0KSkKK3sKKyAgICByZXR1cm4gMDsKK30KKworLyogYXR0ciBy
Yl9udW1fdCB3aWR0aCBAIGp1bXAoZHN0KSgpKCkgKi8KK3JiX251bV90CithdHRyX3dpZHRoX2p1
bXAoTUFZQkVfVU5VU0VEKE9GRlNFVCBkc3QpKQoreworICAgIHJldHVybiAyOworfQorCisvKiBh
dHRyIGVudW0gcnVieV92bWluc25fdHlwZSBiaW4gQCBicmFuY2hpZihkc3QpKHZhbCkoKSAqLwor
ZW51bSBydWJ5X3ZtaW5zbl90eXBlCithdHRyX2Jpbl9icmFuY2hpZihNQVlCRV9VTlVTRUQoT0ZG
U0VUIGRzdCkpCit7CisgICAgcmV0dXJuIEJJTihicmFuY2hpZik7Cit9CisKKy8qIGF0dHIgYm9v
bCBoYW5kbGVzX3NwIEAgYnJhbmNoaWYoZHN0KSh2YWwpKCkgKi8KK2Jvb2wKK2F0dHJfaGFuZGxl
c19zcF9icmFuY2hpZihNQVlCRV9VTlVTRUQoT0ZGU0VUIGRzdCkpCit7CisgICAgcmV0dXJuIGZh
bHNlOworfQorCisvKiBhdHRyIGJvb2wgbGVhZiBAIGJyYW5jaGlmKGRzdCkodmFsKSgpICovCiti
b29sCithdHRyX2xlYWZfYnJhbmNoaWYoTUFZQkVfVU5VU0VEKE9GRlNFVCBkc3QpKQoreworICAg
IHJldHVybgorI2xpbmUgOTQzICJpbnNucy5kZWYiCitmYWxzZTsKKyNsaW5lIDU5MTggImluc25z
X2luZm8uaW5jIgorfQorCisvKiBhdHRyIGNvbnN0IGNoYXIqIG5hbWUgQCBicmFuY2hpZihkc3Qp
KHZhbCkoKSAqLworY29uc3QgY2hhcioKK2F0dHJfbmFtZV9icmFuY2hpZihNQVlCRV9VTlVTRUQo
T0ZGU0VUIGRzdCkpCit7CisgICAgcmV0dXJuIGluc25fbmFtZShCSU4oYnJhbmNoaWYpKTsKK30K
KworLyogYXR0ciByYl9udW1fdCBvcGVuIEAgYnJhbmNoaWYoZHN0KSh2YWwpKCkgKi8KK3JiX251
bV90CithdHRyX29wZW5fYnJhbmNoaWYoTUFZQkVfVU5VU0VEKE9GRlNFVCBkc3QpKQoreworICAg
IHJldHVybiAxOworfQorCisvKiBhdHRyIHJiX251bV90IHBvcG4gQCBicmFuY2hpZihkc3QpKHZh
bCkoKSAqLworcmJfbnVtX3QKK2F0dHJfcG9wbl9icmFuY2hpZihNQVlCRV9VTlVTRUQoT0ZGU0VU
IGRzdCkpCit7CisgICAgcmV0dXJuIDE7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3QgcmV0biBAIGJy
YW5jaGlmKGRzdCkodmFsKSgpICovCityYl9udW1fdAorYXR0cl9yZXRuX2JyYW5jaGlmKE1BWUJF
X1VOVVNFRChPRkZTRVQgZHN0KSkKK3sKKyAgICByZXR1cm4gMDsKK30KKworLyogYXR0ciByYl9z
bnVtX3Qgc3BfaW5jIEAgYnJhbmNoaWYoZHN0KSh2YWwpKCkgKi8KK3JiX3NudW1fdAorYXR0cl9z
cF9pbmNfYnJhbmNoaWYoTUFZQkVfVU5VU0VEKE9GRlNFVCBkc3QpKQoreworICAgIHJldHVybiAt
MTsKK30KKworLyogYXR0ciByYl9udW1fdCB3aWR0aCBAIGJyYW5jaGlmKGRzdCkodmFsKSgpICov
CityYl9udW1fdAorYXR0cl93aWR0aF9icmFuY2hpZihNQVlCRV9VTlVTRUQoT0ZGU0VUIGRzdCkp
Cit7CisgICAgcmV0dXJuIDI7Cit9CisKKy8qIGF0dHIgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGJp
biBAIGJyYW5jaHVubGVzcyhkc3QpKHZhbCkoKSAqLworZW51bSBydWJ5X3ZtaW5zbl90eXBlCith
dHRyX2Jpbl9icmFuY2h1bmxlc3MoTUFZQkVfVU5VU0VEKE9GRlNFVCBkc3QpKQoreworICAgIHJl
dHVybiBCSU4oYnJhbmNodW5sZXNzKTsKK30KKworLyogYXR0ciBib29sIGhhbmRsZXNfc3AgQCBi
cmFuY2h1bmxlc3MoZHN0KSh2YWwpKCkgKi8KK2Jvb2wKK2F0dHJfaGFuZGxlc19zcF9icmFuY2h1
bmxlc3MoTUFZQkVfVU5VU0VEKE9GRlNFVCBkc3QpKQoreworICAgIHJldHVybiBmYWxzZTsKK30K
KworLyogYXR0ciBib29sIGxlYWYgQCBicmFuY2h1bmxlc3MoZHN0KSh2YWwpKCkgKi8KK2Jvb2wK
K2F0dHJfbGVhZl9icmFuY2h1bmxlc3MoTUFZQkVfVU5VU0VEKE9GRlNFVCBkc3QpKQoreworICAg
IHJldHVybgorI2xpbmUgOTU4ICJpbnNucy5kZWYiCitmYWxzZTsKKyNsaW5lIDU5ODQgImluc25z
X2luZm8uaW5jIgorfQorCisvKiBhdHRyIGNvbnN0IGNoYXIqIG5hbWUgQCBicmFuY2h1bmxlc3Mo
ZHN0KSh2YWwpKCkgKi8KK2NvbnN0IGNoYXIqCithdHRyX25hbWVfYnJhbmNodW5sZXNzKE1BWUJF
X1VOVVNFRChPRkZTRVQgZHN0KSkKK3sKKyAgICByZXR1cm4gaW5zbl9uYW1lKEJJTihicmFuY2h1
bmxlc3MpKTsKK30KKworLyogYXR0ciByYl9udW1fdCBvcGVuIEAgYnJhbmNodW5sZXNzKGRzdCko
dmFsKSgpICovCityYl9udW1fdAorYXR0cl9vcGVuX2JyYW5jaHVubGVzcyhNQVlCRV9VTlVTRUQo
T0ZGU0VUIGRzdCkpCit7CisgICAgcmV0dXJuIDE7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3QgcG9w
biBAIGJyYW5jaHVubGVzcyhkc3QpKHZhbCkoKSAqLworcmJfbnVtX3QKK2F0dHJfcG9wbl9icmFu
Y2h1bmxlc3MoTUFZQkVfVU5VU0VEKE9GRlNFVCBkc3QpKQoreworICAgIHJldHVybiAxOworfQor
CisvKiBhdHRyIHJiX251bV90IHJldG4gQCBicmFuY2h1bmxlc3MoZHN0KSh2YWwpKCkgKi8KK3Ji
X251bV90CithdHRyX3JldG5fYnJhbmNodW5sZXNzKE1BWUJFX1VOVVNFRChPRkZTRVQgZHN0KSkK
K3sKKyAgICByZXR1cm4gMDsKK30KKworLyogYXR0ciByYl9zbnVtX3Qgc3BfaW5jIEAgYnJhbmNo
dW5sZXNzKGRzdCkodmFsKSgpICovCityYl9zbnVtX3QKK2F0dHJfc3BfaW5jX2JyYW5jaHVubGVz
cyhNQVlCRV9VTlVTRUQoT0ZGU0VUIGRzdCkpCit7CisgICAgcmV0dXJuIC0xOworfQorCisvKiBh
dHRyIHJiX251bV90IHdpZHRoIEAgYnJhbmNodW5sZXNzKGRzdCkodmFsKSgpICovCityYl9udW1f
dAorYXR0cl93aWR0aF9icmFuY2h1bmxlc3MoTUFZQkVfVU5VU0VEKE9GRlNFVCBkc3QpKQorewor
ICAgIHJldHVybiAyOworfQorCisvKiBhdHRyIGVudW0gcnVieV92bWluc25fdHlwZSBiaW4gQCBi
cmFuY2huaWwoZHN0KSh2YWwpKCkgKi8KK2VudW0gcnVieV92bWluc25fdHlwZQorYXR0cl9iaW5f
YnJhbmNobmlsKE1BWUJFX1VOVVNFRChPRkZTRVQgZHN0KSkKK3sKKyAgICByZXR1cm4gQklOKGJy
YW5jaG5pbCk7Cit9CisKKy8qIGF0dHIgYm9vbCBoYW5kbGVzX3NwIEAgYnJhbmNobmlsKGRzdCko
dmFsKSgpICovCitib29sCithdHRyX2hhbmRsZXNfc3BfYnJhbmNobmlsKE1BWUJFX1VOVVNFRChP
RkZTRVQgZHN0KSkKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKKy8qIGF0dHIgYm9vbCBsZWFm
IEAgYnJhbmNobmlsKGRzdCkodmFsKSgpICovCitib29sCithdHRyX2xlYWZfYnJhbmNobmlsKE1B
WUJFX1VOVVNFRChPRkZTRVQgZHN0KSkKK3sKKyAgICByZXR1cm4KKyNsaW5lIDk3MyAiaW5zbnMu
ZGVmIgorZmFsc2U7CisjbGluZSA2MDUwICJpbnNuc19pbmZvLmluYyIKK30KKworLyogYXR0ciBj
b25zdCBjaGFyKiBuYW1lIEAgYnJhbmNobmlsKGRzdCkodmFsKSgpICovCitjb25zdCBjaGFyKgor
YXR0cl9uYW1lX2JyYW5jaG5pbChNQVlCRV9VTlVTRUQoT0ZGU0VUIGRzdCkpCit7CisgICAgcmV0
dXJuIGluc25fbmFtZShCSU4oYnJhbmNobmlsKSk7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3Qgb3Bl
biBAIGJyYW5jaG5pbChkc3QpKHZhbCkoKSAqLworcmJfbnVtX3QKK2F0dHJfb3Blbl9icmFuY2hu
aWwoTUFZQkVfVU5VU0VEKE9GRlNFVCBkc3QpKQoreworICAgIHJldHVybiAxOworfQorCisvKiBh
dHRyIHJiX251bV90IHBvcG4gQCBicmFuY2huaWwoZHN0KSh2YWwpKCkgKi8KK3JiX251bV90Cith
dHRyX3BvcG5fYnJhbmNobmlsKE1BWUJFX1VOVVNFRChPRkZTRVQgZHN0KSkKK3sKKyAgICByZXR1
cm4gMTsKK30KKworLyogYXR0ciByYl9udW1fdCByZXRuIEAgYnJhbmNobmlsKGRzdCkodmFsKSgp
ICovCityYl9udW1fdAorYXR0cl9yZXRuX2JyYW5jaG5pbChNQVlCRV9VTlVTRUQoT0ZGU0VUIGRz
dCkpCit7CisgICAgcmV0dXJuIDA7Cit9CisKKy8qIGF0dHIgcmJfc251bV90IHNwX2luYyBAIGJy
YW5jaG5pbChkc3QpKHZhbCkoKSAqLworcmJfc251bV90CithdHRyX3NwX2luY19icmFuY2huaWwo
TUFZQkVfVU5VU0VEKE9GRlNFVCBkc3QpKQoreworICAgIHJldHVybiAtMTsKK30KKworLyogYXR0
ciByYl9udW1fdCB3aWR0aCBAIGJyYW5jaG5pbChkc3QpKHZhbCkoKSAqLworcmJfbnVtX3QKK2F0
dHJfd2lkdGhfYnJhbmNobmlsKE1BWUJFX1VOVVNFRChPRkZTRVQgZHN0KSkKK3sKKyAgICByZXR1
cm4gMjsKK30KKworLyogYXR0ciBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYmluIEAgb3B0X2dldGlu
bGluZWNhY2hlKGRzdCwgaWMpKCkodmFsKSAqLworZW51bSBydWJ5X3ZtaW5zbl90eXBlCithdHRy
X2Jpbl9vcHRfZ2V0aW5saW5lY2FjaGUoCisgICAgTUFZQkVfVU5VU0VEKE9GRlNFVCBkc3QpLAor
ICAgIE1BWUJFX1VOVVNFRChJQyBpYykKKykKK3sKKyAgICByZXR1cm4gQklOKG9wdF9nZXRpbmxp
bmVjYWNoZSk7Cit9CisKKy8qIGF0dHIgYm9vbCBoYW5kbGVzX3NwIEAgb3B0X2dldGlubGluZWNh
Y2hlKGRzdCwgaWMpKCkodmFsKSAqLworYm9vbAorYXR0cl9oYW5kbGVzX3NwX29wdF9nZXRpbmxp
bmVjYWNoZSgKKyAgICBNQVlCRV9VTlVTRUQoT0ZGU0VUIGRzdCksCisgICAgTUFZQkVfVU5VU0VE
KElDIGljKQorKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKworLyogYXR0ciBib29sIGxlYWYg
QCBvcHRfZ2V0aW5saW5lY2FjaGUoZHN0LCBpYykoKSh2YWwpICovCitib29sCithdHRyX2xlYWZf
b3B0X2dldGlubGluZWNhY2hlKAorICAgIE1BWUJFX1VOVVNFRChPRkZTRVQgZHN0KSwKKyAgICBN
QVlCRV9VTlVTRUQoSUMgaWMpCispCit7CisgICAgcmV0dXJuIHRydWU7Cit9CisKKy8qIGF0dHIg
Y29uc3QgY2hhciogbmFtZSBAIG9wdF9nZXRpbmxpbmVjYWNoZShkc3QsIGljKSgpKHZhbCkgKi8K
K2NvbnN0IGNoYXIqCithdHRyX25hbWVfb3B0X2dldGlubGluZWNhY2hlKAorICAgIE1BWUJFX1VO
VVNFRChPRkZTRVQgZHN0KSwKKyAgICBNQVlCRV9VTlVTRUQoSUMgaWMpCispCit7CisgICAgcmV0
dXJuIGluc25fbmFtZShCSU4ob3B0X2dldGlubGluZWNhY2hlKSk7Cit9CisKKy8qIGF0dHIgcmJf
bnVtX3Qgb3BlbiBAIG9wdF9nZXRpbmxpbmVjYWNoZShkc3QsIGljKSgpKHZhbCkgKi8KK3JiX251
bV90CithdHRyX29wZW5fb3B0X2dldGlubGluZWNhY2hlKAorICAgIE1BWUJFX1VOVVNFRChPRkZT
RVQgZHN0KSwKKyAgICBNQVlCRV9VTlVTRUQoSUMgaWMpCispCit7CisgICAgcmV0dXJuIDI7Cit9
CisKKy8qIGF0dHIgcmJfbnVtX3QgcG9wbiBAIG9wdF9nZXRpbmxpbmVjYWNoZShkc3QsIGljKSgp
KHZhbCkgKi8KK3JiX251bV90CithdHRyX3BvcG5fb3B0X2dldGlubGluZWNhY2hlKAorICAgIE1B
WUJFX1VOVVNFRChPRkZTRVQgZHN0KSwKKyAgICBNQVlCRV9VTlVTRUQoSUMgaWMpCispCit7Cisg
ICAgcmV0dXJuIDA7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3QgcmV0biBAIG9wdF9nZXRpbmxpbmVj
YWNoZShkc3QsIGljKSgpKHZhbCkgKi8KK3JiX251bV90CithdHRyX3JldG5fb3B0X2dldGlubGlu
ZWNhY2hlKAorICAgIE1BWUJFX1VOVVNFRChPRkZTRVQgZHN0KSwKKyAgICBNQVlCRV9VTlVTRUQo
SUMgaWMpCispCit7CisgICAgcmV0dXJuIDE7Cit9CisKKy8qIGF0dHIgcmJfc251bV90IHNwX2lu
YyBAIG9wdF9nZXRpbmxpbmVjYWNoZShkc3QsIGljKSgpKHZhbCkgKi8KK3JiX3NudW1fdAorYXR0
cl9zcF9pbmNfb3B0X2dldGlubGluZWNhY2hlKAorICAgIE1BWUJFX1VOVVNFRChPRkZTRVQgZHN0
KSwKKyAgICBNQVlCRV9VTlVTRUQoSUMgaWMpCispCit7CisgICAgcmV0dXJuIDE7Cit9CisKKy8q
IGF0dHIgcmJfbnVtX3Qgd2lkdGggQCBvcHRfZ2V0aW5saW5lY2FjaGUoZHN0LCBpYykoKSh2YWwp
ICovCityYl9udW1fdAorYXR0cl93aWR0aF9vcHRfZ2V0aW5saW5lY2FjaGUoCisgICAgTUFZQkVf
VU5VU0VEKE9GRlNFVCBkc3QpLAorICAgIE1BWUJFX1VOVVNFRChJQyBpYykKKykKK3sKKyAgICBy
ZXR1cm4gMzsKK30KKworLyogYXR0ciBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYmluIEAgb3B0X3Nl
dGlubGluZWNhY2hlKGljKSh2YWwpKHZhbCkgKi8KK2VudW0gcnVieV92bWluc25fdHlwZQorYXR0
cl9iaW5fb3B0X3NldGlubGluZWNhY2hlKE1BWUJFX1VOVVNFRChJQyBpYykpCit7CisgICAgcmV0
dXJuIEJJTihvcHRfc2V0aW5saW5lY2FjaGUpOworfQorCisvKiBhdHRyIGJvb2wgaGFuZGxlc19z
cCBAIG9wdF9zZXRpbmxpbmVjYWNoZShpYykodmFsKSh2YWwpICovCitib29sCithdHRyX2hhbmRs
ZXNfc3Bfb3B0X3NldGlubGluZWNhY2hlKE1BWUJFX1VOVVNFRChJQyBpYykpCit7CisgICAgcmV0
dXJuIGZhbHNlOworfQorCisvKiBhdHRyIGJvb2wgbGVhZiBAIG9wdF9zZXRpbmxpbmVjYWNoZShp
YykodmFsKSh2YWwpICovCitib29sCithdHRyX2xlYWZfb3B0X3NldGlubGluZWNhY2hlKE1BWUJF
X1VOVVNFRChJQyBpYykpCit7CisgICAgcmV0dXJuIHRydWU7Cit9CisKKy8qIGF0dHIgY29uc3Qg
Y2hhciogbmFtZSBAIG9wdF9zZXRpbmxpbmVjYWNoZShpYykodmFsKSh2YWwpICovCitjb25zdCBj
aGFyKgorYXR0cl9uYW1lX29wdF9zZXRpbmxpbmVjYWNoZShNQVlCRV9VTlVTRUQoSUMgaWMpKQor
eworICAgIHJldHVybiBpbnNuX25hbWUoQklOKG9wdF9zZXRpbmxpbmVjYWNoZSkpOworfQorCisv
KiBhdHRyIHJiX251bV90IG9wZW4gQCBvcHRfc2V0aW5saW5lY2FjaGUoaWMpKHZhbCkodmFsKSAq
LworcmJfbnVtX3QKK2F0dHJfb3Blbl9vcHRfc2V0aW5saW5lY2FjaGUoTUFZQkVfVU5VU0VEKElD
IGljKSkKK3sKKyAgICByZXR1cm4gMTsKK30KKworLyogYXR0ciByYl9udW1fdCBwb3BuIEAgb3B0
X3NldGlubGluZWNhY2hlKGljKSh2YWwpKHZhbCkgKi8KK3JiX251bV90CithdHRyX3BvcG5fb3B0
X3NldGlubGluZWNhY2hlKE1BWUJFX1VOVVNFRChJQyBpYykpCit7CisgICAgcmV0dXJuIDE7Cit9
CisKKy8qIGF0dHIgcmJfbnVtX3QgcmV0biBAIG9wdF9zZXRpbmxpbmVjYWNoZShpYykodmFsKSh2
YWwpICovCityYl9udW1fdAorYXR0cl9yZXRuX29wdF9zZXRpbmxpbmVjYWNoZShNQVlCRV9VTlVT
RUQoSUMgaWMpKQoreworICAgIHJldHVybiAxOworfQorCisvKiBhdHRyIHJiX3NudW1fdCBzcF9p
bmMgQCBvcHRfc2V0aW5saW5lY2FjaGUoaWMpKHZhbCkodmFsKSAqLworcmJfc251bV90CithdHRy
X3NwX2luY19vcHRfc2V0aW5saW5lY2FjaGUoTUFZQkVfVU5VU0VEKElDIGljKSkKK3sKKyAgICBy
ZXR1cm4gMDsKK30KKworLyogYXR0ciByYl9udW1fdCB3aWR0aCBAIG9wdF9zZXRpbmxpbmVjYWNo
ZShpYykodmFsKSh2YWwpICovCityYl9udW1fdAorYXR0cl93aWR0aF9vcHRfc2V0aW5saW5lY2Fj
aGUoTUFZQkVfVU5VU0VEKElDIGljKSkKK3sKKyAgICByZXR1cm4gMjsKK30KKworLyogYXR0ciBl
bnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYmluIEAgb25jZShpc2VxLCBpc2UpKCkodmFsKSAqLworZW51
bSBydWJ5X3ZtaW5zbl90eXBlCithdHRyX2Jpbl9vbmNlKAorICAgIE1BWUJFX1VOVVNFRChJU0VR
IGlzZXEpLAorICAgIE1BWUJFX1VOVVNFRChJU0UgaXNlKQorKQoreworICAgIHJldHVybiBCSU4o
b25jZSk7Cit9CisKKy8qIGF0dHIgYm9vbCBoYW5kbGVzX3NwIEAgb25jZShpc2VxLCBpc2UpKCko
dmFsKSAqLworYm9vbAorYXR0cl9oYW5kbGVzX3NwX29uY2UoCisgICAgTUFZQkVfVU5VU0VEKElT
RVEgaXNlcSksCisgICAgTUFZQkVfVU5VU0VEKElTRSBpc2UpCispCit7CisgICAgcmV0dXJuIHRy
dWU7Cit9CisKKy8qIGF0dHIgYm9vbCBsZWFmIEAgb25jZShpc2VxLCBpc2UpKCkodmFsKSAqLwor
Ym9vbAorYXR0cl9sZWFmX29uY2UoCisgICAgTUFZQkVfVU5VU0VEKElTRVEgaXNlcSksCisgICAg
TUFZQkVfVU5VU0VEKElTRSBpc2UpCispCit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCisvKiBh
dHRyIGNvbnN0IGNoYXIqIG5hbWUgQCBvbmNlKGlzZXEsIGlzZSkoKSh2YWwpICovCitjb25zdCBj
aGFyKgorYXR0cl9uYW1lX29uY2UoCisgICAgTUFZQkVfVU5VU0VEKElTRVEgaXNlcSksCisgICAg
TUFZQkVfVU5VU0VEKElTRSBpc2UpCispCit7CisgICAgcmV0dXJuIGluc25fbmFtZShCSU4ob25j
ZSkpOworfQorCisvKiBhdHRyIHJiX251bV90IG9wZW4gQCBvbmNlKGlzZXEsIGlzZSkoKSh2YWwp
ICovCityYl9udW1fdAorYXR0cl9vcGVuX29uY2UoCisgICAgTUFZQkVfVU5VU0VEKElTRVEgaXNl
cSksCisgICAgTUFZQkVfVU5VU0VEKElTRSBpc2UpCispCit7CisgICAgcmV0dXJuIDI7Cit9CisK
Ky8qIGF0dHIgcmJfbnVtX3QgcG9wbiBAIG9uY2UoaXNlcSwgaXNlKSgpKHZhbCkgKi8KK3JiX251
bV90CithdHRyX3BvcG5fb25jZSgKKyAgICBNQVlCRV9VTlVTRUQoSVNFUSBpc2VxKSwKKyAgICBN
QVlCRV9VTlVTRUQoSVNFIGlzZSkKKykKK3sKKyAgICByZXR1cm4gMDsKK30KKworLyogYXR0ciBy
Yl9udW1fdCByZXRuIEAgb25jZShpc2VxLCBpc2UpKCkodmFsKSAqLworcmJfbnVtX3QKK2F0dHJf
cmV0bl9vbmNlKAorICAgIE1BWUJFX1VOVVNFRChJU0VRIGlzZXEpLAorICAgIE1BWUJFX1VOVVNF
RChJU0UgaXNlKQorKQoreworICAgIHJldHVybiAxOworfQorCisvKiBhdHRyIHJiX3NudW1fdCBz
cF9pbmMgQCBvbmNlKGlzZXEsIGlzZSkoKSh2YWwpICovCityYl9zbnVtX3QKK2F0dHJfc3BfaW5j
X29uY2UoCisgICAgTUFZQkVfVU5VU0VEKElTRVEgaXNlcSksCisgICAgTUFZQkVfVU5VU0VEKElT
RSBpc2UpCispCit7CisgICAgcmV0dXJuIDE7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3Qgd2lkdGgg
QCBvbmNlKGlzZXEsIGlzZSkoKSh2YWwpICovCityYl9udW1fdAorYXR0cl93aWR0aF9vbmNlKAor
ICAgIE1BWUJFX1VOVVNFRChJU0VRIGlzZXEpLAorICAgIE1BWUJFX1VOVVNFRChJU0UgaXNlKQor
KQoreworICAgIHJldHVybiAzOworfQorCisvKiBhdHRyIGVudW0gcnVieV92bWluc25fdHlwZSBi
aW4gQCBvcHRfY2FzZV9kaXNwYXRjaChoYXNoLCBlbHNlX29mZnNldCkoLi4uLCBrZXkpKCkgKi8K
K2VudW0gcnVieV92bWluc25fdHlwZQorYXR0cl9iaW5fb3B0X2Nhc2VfZGlzcGF0Y2goCisgICAg
TUFZQkVfVU5VU0VEKENESEFTSCBoYXNoKSwKKyAgICBNQVlCRV9VTlVTRUQoT0ZGU0VUIGVsc2Vf
b2Zmc2V0KQorKQoreworICAgIHJldHVybiBCSU4ob3B0X2Nhc2VfZGlzcGF0Y2gpOworfQorCisv
KiBhdHRyIGJvb2wgaGFuZGxlc19zcCBAIG9wdF9jYXNlX2Rpc3BhdGNoKGhhc2gsIGVsc2Vfb2Zm
c2V0KSguLi4sIGtleSkoKSAqLworYm9vbAorYXR0cl9oYW5kbGVzX3NwX29wdF9jYXNlX2Rpc3Bh
dGNoKAorICAgIE1BWUJFX1VOVVNFRChDREhBU0ggaGFzaCksCisgICAgTUFZQkVfVU5VU0VEKE9G
RlNFVCBlbHNlX29mZnNldCkKKykKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKKy8qIGF0dHIg
Ym9vbCBsZWFmIEAgb3B0X2Nhc2VfZGlzcGF0Y2goaGFzaCwgZWxzZV9vZmZzZXQpKC4uLiwga2V5
KSgpICovCitib29sCithdHRyX2xlYWZfb3B0X2Nhc2VfZGlzcGF0Y2goCisgICAgTUFZQkVfVU5V
U0VEKENESEFTSCBoYXNoKSwKKyAgICBNQVlCRV9VTlVTRUQoT0ZGU0VUIGVsc2Vfb2Zmc2V0KQor
KQoreworICAgIHJldHVybiB0cnVlOworfQorCisvKiBhdHRyIGNvbnN0IGNoYXIqIG5hbWUgQCBv
cHRfY2FzZV9kaXNwYXRjaChoYXNoLCBlbHNlX29mZnNldCkoLi4uLCBrZXkpKCkgKi8KK2NvbnN0
IGNoYXIqCithdHRyX25hbWVfb3B0X2Nhc2VfZGlzcGF0Y2goCisgICAgTUFZQkVfVU5VU0VEKENE
SEFTSCBoYXNoKSwKKyAgICBNQVlCRV9VTlVTRUQoT0ZGU0VUIGVsc2Vfb2Zmc2V0KQorKQorewor
ICAgIHJldHVybiBpbnNuX25hbWUoQklOKG9wdF9jYXNlX2Rpc3BhdGNoKSk7Cit9CisKKy8qIGF0
dHIgcmJfbnVtX3Qgb3BlbiBAIG9wdF9jYXNlX2Rpc3BhdGNoKGhhc2gsIGVsc2Vfb2Zmc2V0KSgu
Li4sIGtleSkoKSAqLworcmJfbnVtX3QKK2F0dHJfb3Blbl9vcHRfY2FzZV9kaXNwYXRjaCgKKyAg
ICBNQVlCRV9VTlVTRUQoQ0RIQVNIIGhhc2gpLAorICAgIE1BWUJFX1VOVVNFRChPRkZTRVQgZWxz
ZV9vZmZzZXQpCispCit7CisgICAgcmV0dXJuIDI7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3QgcG9w
biBAIG9wdF9jYXNlX2Rpc3BhdGNoKGhhc2gsIGVsc2Vfb2Zmc2V0KSguLi4sIGtleSkoKSAqLwor
cmJfbnVtX3QKK2F0dHJfcG9wbl9vcHRfY2FzZV9kaXNwYXRjaCgKKyAgICBNQVlCRV9VTlVTRUQo
Q0RIQVNIIGhhc2gpLAorICAgIE1BWUJFX1VOVVNFRChPRkZTRVQgZWxzZV9vZmZzZXQpCispCit7
CisgICAgcmV0dXJuIDE7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3QgcmV0biBAIG9wdF9jYXNlX2Rp
c3BhdGNoKGhhc2gsIGVsc2Vfb2Zmc2V0KSguLi4sIGtleSkoKSAqLworcmJfbnVtX3QKK2F0dHJf
cmV0bl9vcHRfY2FzZV9kaXNwYXRjaCgKKyAgICBNQVlCRV9VTlVTRUQoQ0RIQVNIIGhhc2gpLAor
ICAgIE1BWUJFX1VOVVNFRChPRkZTRVQgZWxzZV9vZmZzZXQpCispCit7CisgICAgcmV0dXJuIDA7
Cit9CisKKy8qIGF0dHIgcmJfc251bV90IHNwX2luYyBAIG9wdF9jYXNlX2Rpc3BhdGNoKGhhc2gs
IGVsc2Vfb2Zmc2V0KSguLi4sIGtleSkoKSAqLworcmJfc251bV90CithdHRyX3NwX2luY19vcHRf
Y2FzZV9kaXNwYXRjaCgKKyAgICBNQVlCRV9VTlVTRUQoQ0RIQVNIIGhhc2gpLAorICAgIE1BWUJF
X1VOVVNFRChPRkZTRVQgZWxzZV9vZmZzZXQpCispCit7CisgICAgcmV0dXJuCisjbGluZSAxMDI3
ICJpbnNucy5kZWYiCistMTsKKyNsaW5lIDY0MTggImluc25zX2luZm8uaW5jIgorfQorCisvKiBh
dHRyIHJiX251bV90IHdpZHRoIEAgb3B0X2Nhc2VfZGlzcGF0Y2goaGFzaCwgZWxzZV9vZmZzZXQp
KC4uLiwga2V5KSgpICovCityYl9udW1fdAorYXR0cl93aWR0aF9vcHRfY2FzZV9kaXNwYXRjaCgK
KyAgICBNQVlCRV9VTlVTRUQoQ0RIQVNIIGhhc2gpLAorICAgIE1BWUJFX1VOVVNFRChPRkZTRVQg
ZWxzZV9vZmZzZXQpCispCit7CisgICAgcmV0dXJuIDM7Cit9CisKKy8qIGF0dHIgZW51bSBydWJ5
X3ZtaW5zbl90eXBlIGJpbiBAIG9wdF9wbHVzKGNpLCBjYykocmVjdiwgb2JqKSh2YWwpICovCitl
bnVtIHJ1Ynlfdm1pbnNuX3R5cGUKK2F0dHJfYmluX29wdF9wbHVzKAorICAgIE1BWUJFX1VOVVNF
RChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQorewor
ICAgIHJldHVybiBCSU4ob3B0X3BsdXMpOworfQorCisvKiBhdHRyIGJvb2wgaGFuZGxlc19zcCBA
IG9wdF9wbHVzKGNpLCBjYykocmVjdiwgb2JqKSh2YWwpICovCitib29sCithdHRyX2hhbmRsZXNf
c3Bfb3B0X3BsdXMoCisgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCisgICAgTUFZQkVf
VU5VU0VEKENBTExfQ0FDSEUgY2MpCispCit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCisvKiBh
dHRyIGJvb2wgbGVhZiBAIG9wdF9wbHVzKGNpLCBjYykocmVjdiwgb2JqKSh2YWwpICovCitib29s
CithdHRyX2xlYWZfb3B0X3BsdXMoCisgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCisg
ICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCispCit7CisgICAgcmV0dXJuCisjbGluZSAx
MDQ2ICJpbnNucy5kZWYiCitmYWxzZTsKKyNsaW5lIDY0NjEgImluc25zX2luZm8uaW5jIgorfQor
CisvKiBhdHRyIGNvbnN0IGNoYXIqIG5hbWUgQCBvcHRfcGx1cyhjaSwgY2MpKHJlY3YsIG9iaiko
dmFsKSAqLworY29uc3QgY2hhcioKK2F0dHJfbmFtZV9vcHRfcGx1cygKKyAgICBNQVlCRV9VTlVT
RUQoQ0FMTF9JTkZPIGNpKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKKykKK3sK
KyAgICByZXR1cm4gaW5zbl9uYW1lKEJJTihvcHRfcGx1cykpOworfQorCisvKiBhdHRyIHJiX251
bV90IG9wZW4gQCBvcHRfcGx1cyhjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLworcmJfbnVtX3QK
K2F0dHJfb3Blbl9vcHRfcGx1cygKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAg
ICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKKykKK3sKKyAgICByZXR1cm4gMjsKK30KKwor
LyogYXR0ciByYl9udW1fdCBwb3BuIEAgb3B0X3BsdXMoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkg
Ki8KK3JiX251bV90CithdHRyX3BvcG5fb3B0X3BsdXMoCisgICAgTUFZQkVfVU5VU0VEKENBTExf
SU5GTyBjaSksCisgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCispCit7CisgICAgcmV0
dXJuIDI7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3QgcmV0biBAIG9wdF9wbHVzKGNpLCBjYykocmVj
diwgb2JqKSh2YWwpICovCityYl9udW1fdAorYXR0cl9yZXRuX29wdF9wbHVzKAorICAgIE1BWUJF
X1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQor
KQoreworICAgIHJldHVybiAxOworfQorCisvKiBhdHRyIHJiX3NudW1fdCBzcF9pbmMgQCBvcHRf
cGx1cyhjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLworcmJfc251bV90CithdHRyX3NwX2luY19v
cHRfcGx1cygKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAgICBNQVlCRV9VTlVT
RUQoQ0FMTF9DQUNIRSBjYykKKykKK3sKKyAgICByZXR1cm4gLTE7Cit9CisKKy8qIGF0dHIgcmJf
bnVtX3Qgd2lkdGggQCBvcHRfcGx1cyhjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLworcmJfbnVt
X3QKK2F0dHJfd2lkdGhfb3B0X3BsdXMoCisgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSks
CisgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCispCit7CisgICAgcmV0dXJuIDM7Cit9
CisKKy8qIGF0dHIgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGJpbiBAIG9wdF9taW51cyhjaSwgY2Mp
KHJlY3YsIG9iaikodmFsKSAqLworZW51bSBydWJ5X3ZtaW5zbl90eXBlCithdHRyX2Jpbl9vcHRf
bWludXMoCisgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCisgICAgTUFZQkVfVU5VU0VE
KENBTExfQ0FDSEUgY2MpCispCit7CisgICAgcmV0dXJuIEJJTihvcHRfbWludXMpOworfQorCisv
KiBhdHRyIGJvb2wgaGFuZGxlc19zcCBAIG9wdF9taW51cyhjaSwgY2MpKHJlY3YsIG9iaikodmFs
KSAqLworYm9vbAorYXR0cl9oYW5kbGVzX3NwX29wdF9taW51cygKKyAgICBNQVlCRV9VTlVTRUQo
Q0FMTF9JTkZPIGNpKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKKykKK3sKKyAg
ICByZXR1cm4gZmFsc2U7Cit9CisKKy8qIGF0dHIgYm9vbCBsZWFmIEAgb3B0X21pbnVzKGNpLCBj
YykocmVjdiwgb2JqKSh2YWwpICovCitib29sCithdHRyX2xlYWZfb3B0X21pbnVzKAorICAgIE1B
WUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNj
KQorKQoreworICAgIHJldHVybiB0cnVlOworfQorCisvKiBhdHRyIGNvbnN0IGNoYXIqIG5hbWUg
QCBvcHRfbWludXMoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KK2NvbnN0IGNoYXIqCithdHRy
X25hbWVfb3B0X21pbnVzKAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1B
WUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiBpbnNuX25hbWUoQklO
KG9wdF9taW51cykpOworfQorCisvKiBhdHRyIHJiX251bV90IG9wZW4gQCBvcHRfbWludXMoY2ks
IGNjKShyZWN2LCBvYmopKHZhbCkgKi8KK3JiX251bV90CithdHRyX29wZW5fb3B0X21pbnVzKAor
ICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0NB
Q0hFIGNjKQorKQoreworICAgIHJldHVybiAyOworfQorCisvKiBhdHRyIHJiX251bV90IHBvcG4g
QCBvcHRfbWludXMoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KK3JiX251bV90CithdHRyX3Bv
cG5fb3B0X21pbnVzKAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJF
X1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiAyOworfQorCisvKiBhdHRy
IHJiX251bV90IHJldG4gQCBvcHRfbWludXMoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KK3Ji
X251bV90CithdHRyX3JldG5fb3B0X21pbnVzKAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8g
Y2kpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiAx
OworfQorCisvKiBhdHRyIHJiX3NudW1fdCBzcF9pbmMgQCBvcHRfbWludXMoY2ksIGNjKShyZWN2
LCBvYmopKHZhbCkgKi8KK3JiX3NudW1fdAorYXR0cl9zcF9pbmNfb3B0X21pbnVzKAorICAgIE1B
WUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNj
KQorKQoreworICAgIHJldHVybiAtMTsKK30KKworLyogYXR0ciByYl9udW1fdCB3aWR0aCBAIG9w
dF9taW51cyhjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLworcmJfbnVtX3QKK2F0dHJfd2lkdGhf
b3B0X21pbnVzKAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VO
VVNFRChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiAzOworfQorCisvKiBhdHRyIGVu
dW0gcnVieV92bWluc25fdHlwZSBiaW4gQCBvcHRfbXVsdChjaSwgY2MpKHJlY3YsIG9iaikodmFs
KSAqLworZW51bSBydWJ5X3ZtaW5zbl90eXBlCithdHRyX2Jpbl9vcHRfbXVsdCgKKyAgICBNQVlC
RV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykK
KykKK3sKKyAgICByZXR1cm4gQklOKG9wdF9tdWx0KTsKK30KKworLyogYXR0ciBib29sIGhhbmRs
ZXNfc3AgQCBvcHRfbXVsdChjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLworYm9vbAorYXR0cl9o
YW5kbGVzX3NwX29wdF9tdWx0KAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAg
IE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiBmYWxzZTsKK30K
KworLyogYXR0ciBib29sIGxlYWYgQCBvcHRfbXVsdChjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAq
LworYm9vbAorYXR0cl9sZWFmX29wdF9tdWx0KAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8g
Y2kpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiB0
cnVlOworfQorCisvKiBhdHRyIGNvbnN0IGNoYXIqIG5hbWUgQCBvcHRfbXVsdChjaSwgY2MpKHJl
Y3YsIG9iaikodmFsKSAqLworY29uc3QgY2hhcioKK2F0dHJfbmFtZV9vcHRfbXVsdCgKKyAgICBN
QVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBj
YykKKykKK3sKKyAgICByZXR1cm4gaW5zbl9uYW1lKEJJTihvcHRfbXVsdCkpOworfQorCisvKiBh
dHRyIHJiX251bV90IG9wZW4gQCBvcHRfbXVsdChjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLwor
cmJfbnVtX3QKK2F0dHJfb3Blbl9vcHRfbXVsdCgKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZP
IGNpKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKKykKK3sKKyAgICByZXR1cm4g
MjsKK30KKworLyogYXR0ciByYl9udW1fdCBwb3BuIEAgb3B0X211bHQoY2ksIGNjKShyZWN2LCBv
YmopKHZhbCkgKi8KK3JiX251bV90CithdHRyX3BvcG5fb3B0X211bHQoCisgICAgTUFZQkVfVU5V
U0VEKENBTExfSU5GTyBjaSksCisgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCispCit7
CisgICAgcmV0dXJuIDI7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3QgcmV0biBAIG9wdF9tdWx0KGNp
LCBjYykocmVjdiwgb2JqKSh2YWwpICovCityYl9udW1fdAorYXR0cl9yZXRuX29wdF9tdWx0KAor
ICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0NB
Q0hFIGNjKQorKQoreworICAgIHJldHVybiAxOworfQorCisvKiBhdHRyIHJiX3NudW1fdCBzcF9p
bmMgQCBvcHRfbXVsdChjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLworcmJfc251bV90CithdHRy
X3NwX2luY19vcHRfbXVsdCgKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAgICBN
QVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKKykKK3sKKyAgICByZXR1cm4gLTE7Cit9CisKKy8q
IGF0dHIgcmJfbnVtX3Qgd2lkdGggQCBvcHRfbXVsdChjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAq
LworcmJfbnVtX3QKK2F0dHJfd2lkdGhfb3B0X211bHQoCisgICAgTUFZQkVfVU5VU0VEKENBTExf
SU5GTyBjaSksCisgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCispCit7CisgICAgcmV0
dXJuIDM7Cit9CisKKy8qIGF0dHIgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGJpbiBAIG9wdF9kaXYo
Y2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KK2VudW0gcnVieV92bWluc25fdHlwZQorYXR0cl9i
aW5fb3B0X2RpdigKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAgICBNQVlCRV9V
TlVTRUQoQ0FMTF9DQUNIRSBjYykKKykKK3sKKyAgICByZXR1cm4gQklOKG9wdF9kaXYpOworfQor
CisvKiBhdHRyIGJvb2wgaGFuZGxlc19zcCBAIG9wdF9kaXYoY2ksIGNjKShyZWN2LCBvYmopKHZh
bCkgKi8KK2Jvb2wKK2F0dHJfaGFuZGxlc19zcF9vcHRfZGl2KAorICAgIE1BWUJFX1VOVVNFRChD
QUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQoreworICAg
IHJldHVybiBmYWxzZTsKK30KKworLyogYXR0ciBib29sIGxlYWYgQCBvcHRfZGl2KGNpLCBjYyko
cmVjdiwgb2JqKSh2YWwpICovCitib29sCithdHRyX2xlYWZfb3B0X2RpdigKKyAgICBNQVlCRV9V
TlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKKykK
K3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworLyogYXR0ciBjb25zdCBjaGFyKiBuYW1lIEAgb3B0
X2RpdihjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLworY29uc3QgY2hhcioKK2F0dHJfbmFtZV9v
cHRfZGl2KAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNF
RChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiBpbnNuX25hbWUoQklOKG9wdF9kaXYp
KTsKK30KKworLyogYXR0ciByYl9udW1fdCBvcGVuIEAgb3B0X2RpdihjaSwgY2MpKHJlY3YsIG9i
aikodmFsKSAqLworcmJfbnVtX3QKK2F0dHJfb3Blbl9vcHRfZGl2KAorICAgIE1BWUJFX1VOVVNF
RChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQorewor
ICAgIHJldHVybiAyOworfQorCisvKiBhdHRyIHJiX251bV90IHBvcG4gQCBvcHRfZGl2KGNpLCBj
YykocmVjdiwgb2JqKSh2YWwpICovCityYl9udW1fdAorYXR0cl9wb3BuX29wdF9kaXYoCisgICAg
TUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCisgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUg
Y2MpCispCit7CisgICAgcmV0dXJuIDI7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3QgcmV0biBAIG9w
dF9kaXYoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KK3JiX251bV90CithdHRyX3JldG5fb3B0
X2RpdigKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAgICBNQVlCRV9VTlVTRUQo
Q0FMTF9DQUNIRSBjYykKKykKK3sKKyAgICByZXR1cm4gMTsKK30KKworLyogYXR0ciByYl9zbnVt
X3Qgc3BfaW5jIEAgb3B0X2RpdihjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLworcmJfc251bV90
CithdHRyX3NwX2luY19vcHRfZGl2KAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAor
ICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiAtMTsKK30K
KworLyogYXR0ciByYl9udW1fdCB3aWR0aCBAIG9wdF9kaXYoY2ksIGNjKShyZWN2LCBvYmopKHZh
bCkgKi8KK3JiX251bV90CithdHRyX3dpZHRoX29wdF9kaXYoCisgICAgTUFZQkVfVU5VU0VEKENB
TExfSU5GTyBjaSksCisgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCispCit7CisgICAg
cmV0dXJuIDM7Cit9CisKKy8qIGF0dHIgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGJpbiBAIG9wdF9t
b2QoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KK2VudW0gcnVieV92bWluc25fdHlwZQorYXR0
cl9iaW5fb3B0X21vZCgKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAgICBNQVlC
RV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKKykKK3sKKyAgICByZXR1cm4gQklOKG9wdF9tb2QpOwor
fQorCisvKiBhdHRyIGJvb2wgaGFuZGxlc19zcCBAIG9wdF9tb2QoY2ksIGNjKShyZWN2LCBvYmop
KHZhbCkgKi8KK2Jvb2wKK2F0dHJfaGFuZGxlc19zcF9vcHRfbW9kKAorICAgIE1BWUJFX1VOVVNF
RChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQorewor
ICAgIHJldHVybiBmYWxzZTsKK30KKworLyogYXR0ciBib29sIGxlYWYgQCBvcHRfbW9kKGNpLCBj
YykocmVjdiwgb2JqKSh2YWwpICovCitib29sCithdHRyX2xlYWZfb3B0X21vZCgKKyAgICBNQVlC
RV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykK
KykKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworLyogYXR0ciBjb25zdCBjaGFyKiBuYW1lIEAg
b3B0X21vZChjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLworY29uc3QgY2hhcioKK2F0dHJfbmFt
ZV9vcHRfbW9kKAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VO
VVNFRChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiBpbnNuX25hbWUoQklOKG9wdF9t
b2QpKTsKK30KKworLyogYXR0ciByYl9udW1fdCBvcGVuIEAgb3B0X21vZChjaSwgY2MpKHJlY3Ys
IG9iaikodmFsKSAqLworcmJfbnVtX3QKK2F0dHJfb3Blbl9vcHRfbW9kKAorICAgIE1BWUJFX1VO
VVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQor
eworICAgIHJldHVybiAyOworfQorCisvKiBhdHRyIHJiX251bV90IHBvcG4gQCBvcHRfbW9kKGNp
LCBjYykocmVjdiwgb2JqKSh2YWwpICovCityYl9udW1fdAorYXR0cl9wb3BuX29wdF9tb2QoCisg
ICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCisgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FD
SEUgY2MpCispCit7CisgICAgcmV0dXJuIDI7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3QgcmV0biBA
IG9wdF9tb2QoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KK3JiX251bV90CithdHRyX3JldG5f
b3B0X21vZCgKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAgICBNQVlCRV9VTlVT
RUQoQ0FMTF9DQUNIRSBjYykKKykKK3sKKyAgICByZXR1cm4gMTsKK30KKworLyogYXR0ciByYl9z
bnVtX3Qgc3BfaW5jIEAgb3B0X21vZChjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLworcmJfc251
bV90CithdHRyX3NwX2luY19vcHRfbW9kKAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kp
LAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiAtMTsK
K30KKworLyogYXR0ciByYl9udW1fdCB3aWR0aCBAIG9wdF9tb2QoY2ksIGNjKShyZWN2LCBvYmop
KHZhbCkgKi8KK3JiX251bV90CithdHRyX3dpZHRoX29wdF9tb2QoCisgICAgTUFZQkVfVU5VU0VE
KENBTExfSU5GTyBjaSksCisgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCispCit7Cisg
ICAgcmV0dXJuIDM7Cit9CisKKy8qIGF0dHIgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGJpbiBAIG9w
dF9lcShjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLworZW51bSBydWJ5X3ZtaW5zbl90eXBlCith
dHRyX2Jpbl9vcHRfZXEoCisgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCisgICAgTUFZ
QkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCispCit7CisgICAgcmV0dXJuIEJJTihvcHRfZXEpOwor
fQorCisvKiBhdHRyIGJvb2wgaGFuZGxlc19zcCBAIG9wdF9lcShjaSwgY2MpKHJlY3YsIG9iaiko
dmFsKSAqLworYm9vbAorYXR0cl9oYW5kbGVzX3NwX29wdF9lcSgKKyAgICBNQVlCRV9VTlVTRUQo
Q0FMTF9JTkZPIGNpKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKKykKK3sKKyAg
ICByZXR1cm4gZmFsc2U7Cit9CisKKy8qIGF0dHIgYm9vbCBsZWFmIEAgb3B0X2VxKGNpLCBjYyko
cmVjdiwgb2JqKSh2YWwpICovCitib29sCithdHRyX2xlYWZfb3B0X2VxKAorICAgIE1BWUJFX1VO
VVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQor
eworICAgIHJldHVybgorI2xpbmUgMTEyMCAiaW5zbnMuZGVmIgorZmFsc2U7CisjbGluZSA2OTE0
ICJpbnNuc19pbmZvLmluYyIKK30KKworLyogYXR0ciBjb25zdCBjaGFyKiBuYW1lIEAgb3B0X2Vx
KGNpLCBjYykocmVjdiwgb2JqKSh2YWwpICovCitjb25zdCBjaGFyKgorYXR0cl9uYW1lX29wdF9l
cSgKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FM
TF9DQUNIRSBjYykKKykKK3sKKyAgICByZXR1cm4gaW5zbl9uYW1lKEJJTihvcHRfZXEpKTsKK30K
KworLyogYXR0ciByYl9udW1fdCBvcGVuIEAgb3B0X2VxKGNpLCBjYykocmVjdiwgb2JqKSh2YWwp
ICovCityYl9udW1fdAorYXR0cl9vcGVuX29wdF9lcSgKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9J
TkZPIGNpKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKKykKK3sKKyAgICByZXR1
cm4gMjsKK30KKworLyogYXR0ciByYl9udW1fdCBwb3BuIEAgb3B0X2VxKGNpLCBjYykocmVjdiwg
b2JqKSh2YWwpICovCityYl9udW1fdAorYXR0cl9wb3BuX29wdF9lcSgKKyAgICBNQVlCRV9VTlVT
RUQoQ0FMTF9JTkZPIGNpKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKKykKK3sK
KyAgICByZXR1cm4gMjsKK30KKworLyogYXR0ciByYl9udW1fdCByZXRuIEAgb3B0X2VxKGNpLCBj
YykocmVjdiwgb2JqKSh2YWwpICovCityYl9udW1fdAorYXR0cl9yZXRuX29wdF9lcSgKKyAgICBN
QVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBj
YykKKykKK3sKKyAgICByZXR1cm4gMTsKK30KKworLyogYXR0ciByYl9zbnVtX3Qgc3BfaW5jIEAg
b3B0X2VxKGNpLCBjYykocmVjdiwgb2JqKSh2YWwpICovCityYl9zbnVtX3QKK2F0dHJfc3BfaW5j
X29wdF9lcSgKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAgICBNQVlCRV9VTlVT
RUQoQ0FMTF9DQUNIRSBjYykKKykKK3sKKyAgICByZXR1cm4gLTE7Cit9CisKKy8qIGF0dHIgcmJf
bnVtX3Qgd2lkdGggQCBvcHRfZXEoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KK3JiX251bV90
CithdHRyX3dpZHRoX29wdF9lcSgKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAg
ICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKKykKK3sKKyAgICByZXR1cm4gMzsKK30KKwor
LyogYXR0ciBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYmluIEAgb3B0X25lcShjaV9lcSwgY2NfZXEs
IGNpLCBjYykocmVjdiwgb2JqKSh2YWwpICovCitlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUKK2F0dHJf
YmluX29wdF9uZXEoCisgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaV9lcSksCisgICAgTUFZ
QkVfVU5VU0VEKENBTExfQ0FDSEUgY2NfZXEpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8g
Y2kpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiBC
SU4ob3B0X25lcSk7Cit9CisKKy8qIGF0dHIgYm9vbCBoYW5kbGVzX3NwIEAgb3B0X25lcShjaV9l
cSwgY2NfZXEsIGNpLCBjYykocmVjdiwgb2JqKSh2YWwpICovCitib29sCithdHRyX2hhbmRsZXNf
c3Bfb3B0X25lcSgKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpX2VxKSwKKyAgICBNQVlC
RV9VTlVTRUQoQ0FMTF9DQUNIRSBjY19lcSksCisgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBj
aSksCisgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCispCit7CisgICAgcmV0dXJuIGZh
bHNlOworfQorCisvKiBhdHRyIGJvb2wgbGVhZiBAIG9wdF9uZXEoY2lfZXEsIGNjX2VxLCBjaSwg
Y2MpKHJlY3YsIG9iaikodmFsKSAqLworYm9vbAorYXR0cl9sZWFmX29wdF9uZXEoCisgICAgTUFZ
QkVfVU5VU0VEKENBTExfSU5GTyBjaV9lcSksCisgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUg
Y2NfZXEpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNF
RChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybgorI2xpbmUgMTEzNiAiaW5zbnMuZGVm
IgorZmFsc2U7CisjbGluZSA3MDEzICJpbnNuc19pbmZvLmluYyIKK30KKworLyogYXR0ciBjb25z
dCBjaGFyKiBuYW1lIEAgb3B0X25lcShjaV9lcSwgY2NfZXEsIGNpLCBjYykocmVjdiwgb2JqKSh2
YWwpICovCitjb25zdCBjaGFyKgorYXR0cl9uYW1lX29wdF9uZXEoCisgICAgTUFZQkVfVU5VU0VE
KENBTExfSU5GTyBjaV9lcSksCisgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2NfZXEpLAor
ICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0NB
Q0hFIGNjKQorKQoreworICAgIHJldHVybiBpbnNuX25hbWUoQklOKG9wdF9uZXEpKTsKK30KKwor
LyogYXR0ciByYl9udW1fdCBvcGVuIEAgb3B0X25lcShjaV9lcSwgY2NfZXEsIGNpLCBjYykocmVj
diwgb2JqKSh2YWwpICovCityYl9udW1fdAorYXR0cl9vcGVuX29wdF9uZXEoCisgICAgTUFZQkVf
VU5VU0VEKENBTExfSU5GTyBjaV9lcSksCisgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2Nf
ZXEpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNFRChD
QUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiA0OworfQorCisvKiBhdHRyIHJiX251bV90
IHBvcG4gQCBvcHRfbmVxKGNpX2VxLCBjY19lcSwgY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8K
K3JiX251bV90CithdHRyX3BvcG5fb3B0X25lcSgKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZP
IGNpX2VxKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjY19lcSksCisgICAgTUFZQkVf
VU5VU0VEKENBTExfSU5GTyBjaSksCisgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCisp
Cit7CisgICAgcmV0dXJuIDI7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3QgcmV0biBAIG9wdF9uZXEo
Y2lfZXEsIGNjX2VxLCBjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLworcmJfbnVtX3QKK2F0dHJf
cmV0bl9vcHRfbmVxKAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2lfZXEpLAorICAgIE1B
WUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjX2VxKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZP
IGNpKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKKykKK3sKKyAgICByZXR1cm4g
MTsKK30KKworLyogYXR0ciByYl9zbnVtX3Qgc3BfaW5jIEAgb3B0X25lcShjaV9lcSwgY2NfZXEs
IGNpLCBjYykocmVjdiwgb2JqKSh2YWwpICovCityYl9zbnVtX3QKK2F0dHJfc3BfaW5jX29wdF9u
ZXEoCisgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaV9lcSksCisgICAgTUFZQkVfVU5VU0VE
KENBTExfQ0FDSEUgY2NfZXEpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAg
IE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiAtMTsKK30KKwor
LyogYXR0ciByYl9udW1fdCB3aWR0aCBAIG9wdF9uZXEoY2lfZXEsIGNjX2VxLCBjaSwgY2MpKHJl
Y3YsIG9iaikodmFsKSAqLworcmJfbnVtX3QKK2F0dHJfd2lkdGhfb3B0X25lcSgKKyAgICBNQVlC
RV9VTlVTRUQoQ0FMTF9JTkZPIGNpX2VxKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBj
Y19lcSksCisgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCisgICAgTUFZQkVfVU5VU0VE
KENBTExfQ0FDSEUgY2MpCispCit7CisgICAgcmV0dXJuIDU7Cit9CisKKy8qIGF0dHIgZW51bSBy
dWJ5X3ZtaW5zbl90eXBlIGJpbiBAIG9wdF9sdChjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLwor
ZW51bSBydWJ5X3ZtaW5zbl90eXBlCithdHRyX2Jpbl9vcHRfbHQoCisgICAgTUFZQkVfVU5VU0VE
KENBTExfSU5GTyBjaSksCisgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCispCit7Cisg
ICAgcmV0dXJuIEJJTihvcHRfbHQpOworfQorCisvKiBhdHRyIGJvb2wgaGFuZGxlc19zcCBAIG9w
dF9sdChjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLworYm9vbAorYXR0cl9oYW5kbGVzX3NwX29w
dF9sdCgKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAgICBNQVlCRV9VTlVTRUQo
Q0FMTF9DQUNIRSBjYykKKykKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKKy8qIGF0dHIgYm9v
bCBsZWFmIEAgb3B0X2x0KGNpLCBjYykocmVjdiwgb2JqKSh2YWwpICovCitib29sCithdHRyX2xl
YWZfb3B0X2x0KAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VO
VVNFRChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiB0cnVlOworfQorCisvKiBhdHRy
IGNvbnN0IGNoYXIqIG5hbWUgQCBvcHRfbHQoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KK2Nv
bnN0IGNoYXIqCithdHRyX25hbWVfb3B0X2x0KAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8g
Y2kpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiBp
bnNuX25hbWUoQklOKG9wdF9sdCkpOworfQorCisvKiBhdHRyIHJiX251bV90IG9wZW4gQCBvcHRf
bHQoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KK3JiX251bV90CithdHRyX29wZW5fb3B0X2x0
KAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNFRChDQUxM
X0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiAyOworfQorCisvKiBhdHRyIHJiX251bV90IHBv
cG4gQCBvcHRfbHQoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KK3JiX251bV90CithdHRyX3Bv
cG5fb3B0X2x0KAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VO
VVNFRChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiAyOworfQorCisvKiBhdHRyIHJi
X251bV90IHJldG4gQCBvcHRfbHQoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KK3JiX251bV90
CithdHRyX3JldG5fb3B0X2x0KAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAg
IE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiAxOworfQorCisv
KiBhdHRyIHJiX3NudW1fdCBzcF9pbmMgQCBvcHRfbHQoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkg
Ki8KK3JiX3NudW1fdAorYXR0cl9zcF9pbmNfb3B0X2x0KAorICAgIE1BWUJFX1VOVVNFRChDQUxM
X0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJl
dHVybiAtMTsKK30KKworLyogYXR0ciByYl9udW1fdCB3aWR0aCBAIG9wdF9sdChjaSwgY2MpKHJl
Y3YsIG9iaikodmFsKSAqLworcmJfbnVtX3QKK2F0dHJfd2lkdGhfb3B0X2x0KAorICAgIE1BWUJF
X1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQor
KQoreworICAgIHJldHVybiAzOworfQorCisvKiBhdHRyIGVudW0gcnVieV92bWluc25fdHlwZSBi
aW4gQCBvcHRfbGUoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KK2VudW0gcnVieV92bWluc25f
dHlwZQorYXR0cl9iaW5fb3B0X2xlKAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAor
ICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiBCSU4ob3B0
X2xlKTsKK30KKworLyogYXR0ciBib29sIGhhbmRsZXNfc3AgQCBvcHRfbGUoY2ksIGNjKShyZWN2
LCBvYmopKHZhbCkgKi8KK2Jvb2wKK2F0dHJfaGFuZGxlc19zcF9vcHRfbGUoCisgICAgTUFZQkVf
VU5VU0VEKENBTExfSU5GTyBjaSksCisgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCisp
Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCisvKiBhdHRyIGJvb2wgbGVhZiBAIG9wdF9sZShj
aSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLworYm9vbAorYXR0cl9sZWFmX29wdF9sZSgKKyAgICBN
QVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBj
YykKKykKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworLyogYXR0ciBjb25zdCBjaGFyKiBuYW1l
IEAgb3B0X2xlKGNpLCBjYykocmVjdiwgb2JqKSh2YWwpICovCitjb25zdCBjaGFyKgorYXR0cl9u
YW1lX29wdF9sZSgKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAgICBNQVlCRV9V
TlVTRUQoQ0FMTF9DQUNIRSBjYykKKykKK3sKKyAgICByZXR1cm4gaW5zbl9uYW1lKEJJTihvcHRf
bGUpKTsKK30KKworLyogYXR0ciByYl9udW1fdCBvcGVuIEAgb3B0X2xlKGNpLCBjYykocmVjdiwg
b2JqKSh2YWwpICovCityYl9udW1fdAorYXR0cl9vcGVuX29wdF9sZSgKKyAgICBNQVlCRV9VTlVT
RUQoQ0FMTF9JTkZPIGNpKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKKykKK3sK
KyAgICByZXR1cm4gMjsKK30KKworLyogYXR0ciByYl9udW1fdCBwb3BuIEAgb3B0X2xlKGNpLCBj
YykocmVjdiwgb2JqKSh2YWwpICovCityYl9udW1fdAorYXR0cl9wb3BuX29wdF9sZSgKKyAgICBN
QVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBj
YykKKykKK3sKKyAgICByZXR1cm4gMjsKK30KKworLyogYXR0ciByYl9udW1fdCByZXRuIEAgb3B0
X2xlKGNpLCBjYykocmVjdiwgb2JqKSh2YWwpICovCityYl9udW1fdAorYXR0cl9yZXRuX29wdF9s
ZSgKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FM
TF9DQUNIRSBjYykKKykKK3sKKyAgICByZXR1cm4gMTsKK30KKworLyogYXR0ciByYl9zbnVtX3Qg
c3BfaW5jIEAgb3B0X2xlKGNpLCBjYykocmVjdiwgb2JqKSh2YWwpICovCityYl9zbnVtX3QKK2F0
dHJfc3BfaW5jX29wdF9sZSgKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAgICBN
QVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKKykKK3sKKyAgICByZXR1cm4gLTE7Cit9CisKKy8q
IGF0dHIgcmJfbnVtX3Qgd2lkdGggQCBvcHRfbGUoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8K
K3JiX251bV90CithdHRyX3dpZHRoX29wdF9sZSgKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZP
IGNpKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKKykKK3sKKyAgICByZXR1cm4g
MzsKK30KKworLyogYXR0ciBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYmluIEAgb3B0X2d0KGNpLCBj
YykocmVjdiwgb2JqKSh2YWwpICovCitlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUKK2F0dHJfYmluX29w
dF9ndCgKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAgICBNQVlCRV9VTlVTRUQo
Q0FMTF9DQUNIRSBjYykKKykKK3sKKyAgICByZXR1cm4gQklOKG9wdF9ndCk7Cit9CisKKy8qIGF0
dHIgYm9vbCBoYW5kbGVzX3NwIEAgb3B0X2d0KGNpLCBjYykocmVjdiwgb2JqKSh2YWwpICovCiti
b29sCithdHRyX2hhbmRsZXNfc3Bfb3B0X2d0KAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8g
Y2kpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiBm
YWxzZTsKK30KKworLyogYXR0ciBib29sIGxlYWYgQCBvcHRfZ3QoY2ksIGNjKShyZWN2LCBvYmop
KHZhbCkgKi8KK2Jvb2wKK2F0dHJfbGVhZl9vcHRfZ3QoCisgICAgTUFZQkVfVU5VU0VEKENBTExf
SU5GTyBjaSksCisgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCispCit7CisgICAgcmV0
dXJuIHRydWU7Cit9CisKKy8qIGF0dHIgY29uc3QgY2hhciogbmFtZSBAIG9wdF9ndChjaSwgY2Mp
KHJlY3YsIG9iaikodmFsKSAqLworY29uc3QgY2hhcioKK2F0dHJfbmFtZV9vcHRfZ3QoCisgICAg
TUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCisgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUg
Y2MpCispCit7CisgICAgcmV0dXJuIGluc25fbmFtZShCSU4ob3B0X2d0KSk7Cit9CisKKy8qIGF0
dHIgcmJfbnVtX3Qgb3BlbiBAIG9wdF9ndChjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLworcmJf
bnVtX3QKK2F0dHJfb3Blbl9vcHRfZ3QoCisgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSks
CisgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCispCit7CisgICAgcmV0dXJuIDI7Cit9
CisKKy8qIGF0dHIgcmJfbnVtX3QgcG9wbiBAIG9wdF9ndChjaSwgY2MpKHJlY3YsIG9iaikodmFs
KSAqLworcmJfbnVtX3QKK2F0dHJfcG9wbl9vcHRfZ3QoCisgICAgTUFZQkVfVU5VU0VEKENBTExf
SU5GTyBjaSksCisgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCispCit7CisgICAgcmV0
dXJuIDI7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3QgcmV0biBAIG9wdF9ndChjaSwgY2MpKHJlY3Ys
IG9iaikodmFsKSAqLworcmJfbnVtX3QKK2F0dHJfcmV0bl9vcHRfZ3QoCisgICAgTUFZQkVfVU5V
U0VEKENBTExfSU5GTyBjaSksCisgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCispCit7
CisgICAgcmV0dXJuIDE7Cit9CisKKy8qIGF0dHIgcmJfc251bV90IHNwX2luYyBAIG9wdF9ndChj
aSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLworcmJfc251bV90CithdHRyX3NwX2luY19vcHRfZ3Qo
CisgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCisgICAgTUFZQkVfVU5VU0VEKENBTExf
Q0FDSEUgY2MpCispCit7CisgICAgcmV0dXJuIC0xOworfQorCisvKiBhdHRyIHJiX251bV90IHdp
ZHRoIEAgb3B0X2d0KGNpLCBjYykocmVjdiwgb2JqKSh2YWwpICovCityYl9udW1fdAorYXR0cl93
aWR0aF9vcHRfZ3QoCisgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCisgICAgTUFZQkVf
VU5VU0VEKENBTExfQ0FDSEUgY2MpCispCit7CisgICAgcmV0dXJuIDM7Cit9CisKKy8qIGF0dHIg
ZW51bSBydWJ5X3ZtaW5zbl90eXBlIGJpbiBAIG9wdF9nZShjaSwgY2MpKHJlY3YsIG9iaikodmFs
KSAqLworZW51bSBydWJ5X3ZtaW5zbl90eXBlCithdHRyX2Jpbl9vcHRfZ2UoCisgICAgTUFZQkVf
VU5VU0VEKENBTExfSU5GTyBjaSksCisgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCisp
Cit7CisgICAgcmV0dXJuIEJJTihvcHRfZ2UpOworfQorCisvKiBhdHRyIGJvb2wgaGFuZGxlc19z
cCBAIG9wdF9nZShjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLworYm9vbAorYXR0cl9oYW5kbGVz
X3NwX29wdF9nZSgKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAgICBNQVlCRV9V
TlVTRUQoQ0FMTF9DQUNIRSBjYykKKykKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKKy8qIGF0
dHIgYm9vbCBsZWFmIEAgb3B0X2dlKGNpLCBjYykocmVjdiwgb2JqKSh2YWwpICovCitib29sCith
dHRyX2xlYWZfb3B0X2dlKAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1B
WUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiB0cnVlOworfQorCisv
KiBhdHRyIGNvbnN0IGNoYXIqIG5hbWUgQCBvcHRfZ2UoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkg
Ki8KK2NvbnN0IGNoYXIqCithdHRyX25hbWVfb3B0X2dlKAorICAgIE1BWUJFX1VOVVNFRChDQUxM
X0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJl
dHVybiBpbnNuX25hbWUoQklOKG9wdF9nZSkpOworfQorCisvKiBhdHRyIHJiX251bV90IG9wZW4g
QCBvcHRfZ2UoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KK3JiX251bV90CithdHRyX29wZW5f
b3B0X2dlKAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNF
RChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiAyOworfQorCisvKiBhdHRyIHJiX251
bV90IHBvcG4gQCBvcHRfZ2UoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KK3JiX251bV90Cith
dHRyX3BvcG5fb3B0X2dlKAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1B
WUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiAyOworfQorCisvKiBh
dHRyIHJiX251bV90IHJldG4gQCBvcHRfZ2UoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KK3Ji
X251bV90CithdHRyX3JldG5fb3B0X2dlKAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kp
LAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiAxOwor
fQorCisvKiBhdHRyIHJiX3NudW1fdCBzcF9pbmMgQCBvcHRfZ2UoY2ksIGNjKShyZWN2LCBvYmop
KHZhbCkgKi8KK3JiX3NudW1fdAorYXR0cl9zcF9pbmNfb3B0X2dlKAorICAgIE1BWUJFX1VOVVNF
RChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQorewor
ICAgIHJldHVybiAtMTsKK30KKworLyogYXR0ciByYl9udW1fdCB3aWR0aCBAIG9wdF9nZShjaSwg
Y2MpKHJlY3YsIG9iaikodmFsKSAqLworcmJfbnVtX3QKK2F0dHJfd2lkdGhfb3B0X2dlKAorICAg
IE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hF
IGNjKQorKQoreworICAgIHJldHVybiAzOworfQorCisvKiBhdHRyIGVudW0gcnVieV92bWluc25f
dHlwZSBiaW4gQCBvcHRfbHRsdChjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLworZW51bSBydWJ5
X3ZtaW5zbl90eXBlCithdHRyX2Jpbl9vcHRfbHRsdCgKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9J
TkZPIGNpKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKKykKK3sKKyAgICByZXR1
cm4gQklOKG9wdF9sdGx0KTsKK30KKworLyogYXR0ciBib29sIGhhbmRsZXNfc3AgQCBvcHRfbHRs
dChjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLworYm9vbAorYXR0cl9oYW5kbGVzX3NwX29wdF9s
dGx0KAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNFRChD
QUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKworLyogYXR0ciBib29s
IGxlYWYgQCBvcHRfbHRsdChjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLworYm9vbAorYXR0cl9s
ZWFmX29wdF9sdGx0KAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJF
X1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiB0cnVlOworfQorCisvKiBh
dHRyIGNvbnN0IGNoYXIqIG5hbWUgQCBvcHRfbHRsdChjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAq
LworY29uc3QgY2hhcioKK2F0dHJfbmFtZV9vcHRfbHRsdCgKKyAgICBNQVlCRV9VTlVTRUQoQ0FM
TF9JTkZPIGNpKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKKykKK3sKKyAgICBy
ZXR1cm4gaW5zbl9uYW1lKEJJTihvcHRfbHRsdCkpOworfQorCisvKiBhdHRyIHJiX251bV90IG9w
ZW4gQCBvcHRfbHRsdChjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLworcmJfbnVtX3QKK2F0dHJf
b3Blbl9vcHRfbHRsdCgKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAgICBNQVlC
RV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKKykKK3sKKyAgICByZXR1cm4gMjsKK30KKworLyogYXR0
ciByYl9udW1fdCBwb3BuIEAgb3B0X2x0bHQoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KK3Ji
X251bV90CithdHRyX3BvcG5fb3B0X2x0bHQoCisgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBj
aSksCisgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCispCit7CisgICAgcmV0dXJuIDI7
Cit9CisKKy8qIGF0dHIgcmJfbnVtX3QgcmV0biBAIG9wdF9sdGx0KGNpLCBjYykocmVjdiwgb2Jq
KSh2YWwpICovCityYl9udW1fdAorYXR0cl9yZXRuX29wdF9sdGx0KAorICAgIE1BWUJFX1VOVVNF
RChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQorewor
ICAgIHJldHVybiAxOworfQorCisvKiBhdHRyIHJiX3NudW1fdCBzcF9pbmMgQCBvcHRfbHRsdChj
aSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLworcmJfc251bV90CithdHRyX3NwX2luY19vcHRfbHRs
dCgKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FM
TF9DQUNIRSBjYykKKykKK3sKKyAgICByZXR1cm4gLTE7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3Qg
d2lkdGggQCBvcHRfbHRsdChjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLworcmJfbnVtX3QKK2F0
dHJfd2lkdGhfb3B0X2x0bHQoCisgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCisgICAg
TUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCispCit7CisgICAgcmV0dXJuIDM7Cit9CisKKy8q
IGF0dHIgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGJpbiBAIG9wdF9hbmQoY2ksIGNjKShyZWN2LCBv
YmopKHZhbCkgKi8KK2VudW0gcnVieV92bWluc25fdHlwZQorYXR0cl9iaW5fb3B0X2FuZCgKKyAg
ICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNI
RSBjYykKKykKK3sKKyAgICByZXR1cm4gQklOKG9wdF9hbmQpOworfQorCisvKiBhdHRyIGJvb2wg
aGFuZGxlc19zcCBAIG9wdF9hbmQoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KK2Jvb2wKK2F0
dHJfaGFuZGxlc19zcF9vcHRfYW5kKAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAor
ICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiBmYWxzZTsK
K30KKworLyogYXR0ciBib29sIGxlYWYgQCBvcHRfYW5kKGNpLCBjYykocmVjdiwgb2JqKSh2YWwp
ICovCitib29sCithdHRyX2xlYWZfb3B0X2FuZCgKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZP
IGNpKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKKykKK3sKKyAgICByZXR1cm4g
dHJ1ZTsKK30KKworLyogYXR0ciBjb25zdCBjaGFyKiBuYW1lIEAgb3B0X2FuZChjaSwgY2MpKHJl
Y3YsIG9iaikodmFsKSAqLworY29uc3QgY2hhcioKK2F0dHJfbmFtZV9vcHRfYW5kKAorICAgIE1B
WUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNj
KQorKQoreworICAgIHJldHVybiBpbnNuX25hbWUoQklOKG9wdF9hbmQpKTsKK30KKworLyogYXR0
ciByYl9udW1fdCBvcGVuIEAgb3B0X2FuZChjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLworcmJf
bnVtX3QKK2F0dHJfb3Blbl9vcHRfYW5kKAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kp
LAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiAyOwor
fQorCisvKiBhdHRyIHJiX251bV90IHBvcG4gQCBvcHRfYW5kKGNpLCBjYykocmVjdiwgb2JqKSh2
YWwpICovCityYl9udW1fdAorYXR0cl9wb3BuX29wdF9hbmQoCisgICAgTUFZQkVfVU5VU0VEKENB
TExfSU5GTyBjaSksCisgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCispCit7CisgICAg
cmV0dXJuIDI7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3QgcmV0biBAIG9wdF9hbmQoY2ksIGNjKShy
ZWN2LCBvYmopKHZhbCkgKi8KK3JiX251bV90CithdHRyX3JldG5fb3B0X2FuZCgKKyAgICBNQVlC
RV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykK
KykKK3sKKyAgICByZXR1cm4gMTsKK30KKworLyogYXR0ciByYl9zbnVtX3Qgc3BfaW5jIEAgb3B0
X2FuZChjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLworcmJfc251bV90CithdHRyX3NwX2luY19v
cHRfYW5kKAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNF
RChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiAtMTsKK30KKworLyogYXR0ciByYl9u
dW1fdCB3aWR0aCBAIG9wdF9hbmQoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KK3JiX251bV90
CithdHRyX3dpZHRoX29wdF9hbmQoCisgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCisg
ICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCispCit7CisgICAgcmV0dXJuIDM7Cit9CisK
Ky8qIGF0dHIgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGJpbiBAIG9wdF9vcihjaSwgY2MpKHJlY3Ys
IG9iaikodmFsKSAqLworZW51bSBydWJ5X3ZtaW5zbl90eXBlCithdHRyX2Jpbl9vcHRfb3IoCisg
ICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCisgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FD
SEUgY2MpCispCit7CisgICAgcmV0dXJuIEJJTihvcHRfb3IpOworfQorCisvKiBhdHRyIGJvb2wg
aGFuZGxlc19zcCBAIG9wdF9vcihjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLworYm9vbAorYXR0
cl9oYW5kbGVzX3NwX29wdF9vcigKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAg
ICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKKykKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9
CisKKy8qIGF0dHIgYm9vbCBsZWFmIEAgb3B0X29yKGNpLCBjYykocmVjdiwgb2JqKSh2YWwpICov
Citib29sCithdHRyX2xlYWZfb3B0X29yKAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kp
LAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiB0cnVl
OworfQorCisvKiBhdHRyIGNvbnN0IGNoYXIqIG5hbWUgQCBvcHRfb3IoY2ksIGNjKShyZWN2LCBv
YmopKHZhbCkgKi8KK2NvbnN0IGNoYXIqCithdHRyX25hbWVfb3B0X29yKAorICAgIE1BWUJFX1VO
VVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQor
eworICAgIHJldHVybiBpbnNuX25hbWUoQklOKG9wdF9vcikpOworfQorCisvKiBhdHRyIHJiX251
bV90IG9wZW4gQCBvcHRfb3IoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KK3JiX251bV90Cith
dHRyX29wZW5fb3B0X29yKAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1B
WUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiAyOworfQorCisvKiBh
dHRyIHJiX251bV90IHBvcG4gQCBvcHRfb3IoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KK3Ji
X251bV90CithdHRyX3BvcG5fb3B0X29yKAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kp
LAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiAyOwor
fQorCisvKiBhdHRyIHJiX251bV90IHJldG4gQCBvcHRfb3IoY2ksIGNjKShyZWN2LCBvYmopKHZh
bCkgKi8KK3JiX251bV90CithdHRyX3JldG5fb3B0X29yKAorICAgIE1BWUJFX1VOVVNFRChDQUxM
X0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJl
dHVybiAxOworfQorCisvKiBhdHRyIHJiX3NudW1fdCBzcF9pbmMgQCBvcHRfb3IoY2ksIGNjKShy
ZWN2LCBvYmopKHZhbCkgKi8KK3JiX3NudW1fdAorYXR0cl9zcF9pbmNfb3B0X29yKAorICAgIE1B
WUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNj
KQorKQoreworICAgIHJldHVybiAtMTsKK30KKworLyogYXR0ciByYl9udW1fdCB3aWR0aCBAIG9w
dF9vcihjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLworcmJfbnVtX3QKK2F0dHJfd2lkdGhfb3B0
X29yKAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNFRChD
QUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiAzOworfQorCisvKiBhdHRyIGVudW0gcnVi
eV92bWluc25fdHlwZSBiaW4gQCBvcHRfYXJlZihjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLwor
ZW51bSBydWJ5X3ZtaW5zbl90eXBlCithdHRyX2Jpbl9vcHRfYXJlZigKKyAgICBNQVlCRV9VTlVT
RUQoQ0FMTF9JTkZPIGNpKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKKykKK3sK
KyAgICByZXR1cm4gQklOKG9wdF9hcmVmKTsKK30KKworLyogYXR0ciBib29sIGhhbmRsZXNfc3Ag
QCBvcHRfYXJlZihjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLworYm9vbAorYXR0cl9oYW5kbGVz
X3NwX29wdF9hcmVmKAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJF
X1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKworLyog
YXR0ciBib29sIGxlYWYgQCBvcHRfYXJlZihjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLworYm9v
bAorYXR0cl9sZWFmX29wdF9hcmVmKAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAor
ICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybgorI2xpbmUg
MTI1MyAiaW5zbnMuZGVmIgorZmFsc2U7CisjbGluZSA3NzQ4ICJpbnNuc19pbmZvLmluYyIKK30K
KworLyogYXR0ciBjb25zdCBjaGFyKiBuYW1lIEAgb3B0X2FyZWYoY2ksIGNjKShyZWN2LCBvYmop
KHZhbCkgKi8KK2NvbnN0IGNoYXIqCithdHRyX25hbWVfb3B0X2FyZWYoCisgICAgTUFZQkVfVU5V
U0VEKENBTExfSU5GTyBjaSksCisgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCispCit7
CisgICAgcmV0dXJuIGluc25fbmFtZShCSU4ob3B0X2FyZWYpKTsKK30KKworLyogYXR0ciByYl9u
dW1fdCBvcGVuIEAgb3B0X2FyZWYoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KK3JiX251bV90
CithdHRyX29wZW5fb3B0X2FyZWYoCisgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCisg
ICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCispCit7CisgICAgcmV0dXJuIDI7Cit9CisK
Ky8qIGF0dHIgcmJfbnVtX3QgcG9wbiBAIG9wdF9hcmVmKGNpLCBjYykocmVjdiwgb2JqKSh2YWwp
ICovCityYl9udW1fdAorYXR0cl9wb3BuX29wdF9hcmVmKAorICAgIE1BWUJFX1VOVVNFRChDQUxM
X0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJl
dHVybiAyOworfQorCisvKiBhdHRyIHJiX251bV90IHJldG4gQCBvcHRfYXJlZihjaSwgY2MpKHJl
Y3YsIG9iaikodmFsKSAqLworcmJfbnVtX3QKK2F0dHJfcmV0bl9vcHRfYXJlZigKKyAgICBNQVlC
RV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykK
KykKK3sKKyAgICByZXR1cm4gMTsKK30KKworLyogYXR0ciByYl9zbnVtX3Qgc3BfaW5jIEAgb3B0
X2FyZWYoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KK3JiX3NudW1fdAorYXR0cl9zcF9pbmNf
b3B0X2FyZWYoCisgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCisgICAgTUFZQkVfVU5V
U0VEKENBTExfQ0FDSEUgY2MpCispCit7CisgICAgcmV0dXJuIC0xOworfQorCisvKiBhdHRyIHJi
X251bV90IHdpZHRoIEAgb3B0X2FyZWYoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KK3JiX251
bV90CithdHRyX3dpZHRoX29wdF9hcmVmKAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kp
LAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiAzOwor
fQorCisvKiBhdHRyIGVudW0gcnVieV92bWluc25fdHlwZSBiaW4gQCBvcHRfYXNldChjaSwgY2Mp
KHJlY3YsIG9iaiwgc2V0KSh2YWwpICovCitlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUKK2F0dHJfYmlu
X29wdF9hc2V0KAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VO
VVNFRChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiBCSU4ob3B0X2FzZXQpOworfQor
CisvKiBhdHRyIGJvb2wgaGFuZGxlc19zcCBAIG9wdF9hc2V0KGNpLCBjYykocmVjdiwgb2JqLCBz
ZXQpKHZhbCkgKi8KK2Jvb2wKK2F0dHJfaGFuZGxlc19zcF9vcHRfYXNldCgKKyAgICBNQVlCRV9V
TlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKKykK
K3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKKy8qIGF0dHIgYm9vbCBsZWFmIEAgb3B0X2FzZXQo
Y2ksIGNjKShyZWN2LCBvYmosIHNldCkodmFsKSAqLworYm9vbAorYXR0cl9sZWFmX29wdF9hc2V0
KAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNFRChDQUxM
X0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybgorI2xpbmUgMTI3MCAiaW5zbnMuZGVmIgorZmFs
c2U7CisjbGluZSA3ODQxICJpbnNuc19pbmZvLmluYyIKK30KKworLyogYXR0ciBjb25zdCBjaGFy
KiBuYW1lIEAgb3B0X2FzZXQoY2ksIGNjKShyZWN2LCBvYmosIHNldCkodmFsKSAqLworY29uc3Qg
Y2hhcioKK2F0dHJfbmFtZV9vcHRfYXNldCgKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNp
KSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKKykKK3sKKyAgICByZXR1cm4gaW5z
bl9uYW1lKEJJTihvcHRfYXNldCkpOworfQorCisvKiBhdHRyIHJiX251bV90IG9wZW4gQCBvcHRf
YXNldChjaSwgY2MpKHJlY3YsIG9iaiwgc2V0KSh2YWwpICovCityYl9udW1fdAorYXR0cl9vcGVu
X29wdF9hc2V0KAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VO
VVNFRChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiAyOworfQorCisvKiBhdHRyIHJi
X251bV90IHBvcG4gQCBvcHRfYXNldChjaSwgY2MpKHJlY3YsIG9iaiwgc2V0KSh2YWwpICovCity
Yl9udW1fdAorYXR0cl9wb3BuX29wdF9hc2V0KAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8g
Y2kpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiAz
OworfQorCisvKiBhdHRyIHJiX251bV90IHJldG4gQCBvcHRfYXNldChjaSwgY2MpKHJlY3YsIG9i
aiwgc2V0KSh2YWwpICovCityYl9udW1fdAorYXR0cl9yZXRuX29wdF9hc2V0KAorICAgIE1BWUJF
X1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQor
KQoreworICAgIHJldHVybiAxOworfQorCisvKiBhdHRyIHJiX3NudW1fdCBzcF9pbmMgQCBvcHRf
YXNldChjaSwgY2MpKHJlY3YsIG9iaiwgc2V0KSh2YWwpICovCityYl9zbnVtX3QKK2F0dHJfc3Bf
aW5jX29wdF9hc2V0KAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJF
X1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiAtMjsKK30KKworLyogYXR0
ciByYl9udW1fdCB3aWR0aCBAIG9wdF9hc2V0KGNpLCBjYykocmVjdiwgb2JqLCBzZXQpKHZhbCkg
Ki8KK3JiX251bV90CithdHRyX3dpZHRoX29wdF9hc2V0KAorICAgIE1BWUJFX1VOVVNFRChDQUxM
X0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJl
dHVybiAzOworfQorCisvKiBhdHRyIGVudW0gcnVieV92bWluc25fdHlwZSBiaW4gQCBvcHRfYXNl
dF93aXRoKGtleSwgY2ksIGNjKShyZWN2LCB2YWwpKHZhbCkgKi8KK2VudW0gcnVieV92bWluc25f
dHlwZQorYXR0cl9iaW5fb3B0X2FzZXRfd2l0aCgKKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUga2V5
KSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FM
TF9DQUNIRSBjYykKKykKK3sKKyAgICByZXR1cm4gQklOKG9wdF9hc2V0X3dpdGgpOworfQorCisv
KiBhdHRyIGJvb2wgaGFuZGxlc19zcCBAIG9wdF9hc2V0X3dpdGgoa2V5LCBjaSwgY2MpKHJlY3Ys
IHZhbCkodmFsKSAqLworYm9vbAorYXR0cl9oYW5kbGVzX3NwX29wdF9hc2V0X3dpdGgoCisgICAg
TUFZQkVfVU5VU0VEKFZBTFVFIGtleSksCisgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSks
CisgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCispCit7CisgICAgcmV0dXJuIGZhbHNl
OworfQorCisvKiBhdHRyIGJvb2wgbGVhZiBAIG9wdF9hc2V0X3dpdGgoa2V5LCBjaSwgY2MpKHJl
Y3YsIHZhbCkodmFsKSAqLworYm9vbAorYXR0cl9sZWFmX29wdF9hc2V0X3dpdGgoCisgICAgTUFZ
QkVfVU5VU0VEKFZBTFVFIGtleSksCisgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCisg
ICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCispCit7CisgICAgcmV0dXJuCisjbGluZSAx
Mjg2ICJpbnNucy5kZWYiCitmYWxzZTsKKyNsaW5lIDc5MzcgImluc25zX2luZm8uaW5jIgorfQor
CisvKiBhdHRyIGNvbnN0IGNoYXIqIG5hbWUgQCBvcHRfYXNldF93aXRoKGtleSwgY2ksIGNjKShy
ZWN2LCB2YWwpKHZhbCkgKi8KK2NvbnN0IGNoYXIqCithdHRyX25hbWVfb3B0X2FzZXRfd2l0aCgK
KyAgICBNQVlCRV9VTlVTRUQoVkFMVUUga2V5KSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZP
IGNpKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKKykKK3sKKyAgICByZXR1cm4g
aW5zbl9uYW1lKEJJTihvcHRfYXNldF93aXRoKSk7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3Qgb3Bl
biBAIG9wdF9hc2V0X3dpdGgoa2V5LCBjaSwgY2MpKHJlY3YsIHZhbCkodmFsKSAqLworcmJfbnVt
X3QKK2F0dHJfb3Blbl9vcHRfYXNldF93aXRoKAorICAgIE1BWUJFX1VOVVNFRChWQUxVRSBrZXkp
LAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNFRChDQUxM
X0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiAzOworfQorCisvKiBhdHRyIHJiX251bV90IHBv
cG4gQCBvcHRfYXNldF93aXRoKGtleSwgY2ksIGNjKShyZWN2LCB2YWwpKHZhbCkgKi8KK3JiX251
bV90CithdHRyX3BvcG5fb3B0X2FzZXRfd2l0aCgKKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUga2V5
KSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FM
TF9DQUNIRSBjYykKKykKK3sKKyAgICByZXR1cm4gMjsKK30KKworLyogYXR0ciByYl9udW1fdCBy
ZXRuIEAgb3B0X2FzZXRfd2l0aChrZXksIGNpLCBjYykocmVjdiwgdmFsKSh2YWwpICovCityYl9u
dW1fdAorYXR0cl9yZXRuX29wdF9hc2V0X3dpdGgoCisgICAgTUFZQkVfVU5VU0VEKFZBTFVFIGtl
eSksCisgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCisgICAgTUFZQkVfVU5VU0VEKENB
TExfQ0FDSEUgY2MpCispCit7CisgICAgcmV0dXJuIDE7Cit9CisKKy8qIGF0dHIgcmJfc251bV90
IHNwX2luYyBAIG9wdF9hc2V0X3dpdGgoa2V5LCBjaSwgY2MpKHJlY3YsIHZhbCkodmFsKSAqLwor
cmJfc251bV90CithdHRyX3NwX2luY19vcHRfYXNldF93aXRoKAorICAgIE1BWUJFX1VOVVNFRChW
QUxVRSBrZXkpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VO
VVNFRChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiAtMTsKK30KKworLyogYXR0ciBy
Yl9udW1fdCB3aWR0aCBAIG9wdF9hc2V0X3dpdGgoa2V5LCBjaSwgY2MpKHJlY3YsIHZhbCkodmFs
KSAqLworcmJfbnVtX3QKK2F0dHJfd2lkdGhfb3B0X2FzZXRfd2l0aCgKKyAgICBNQVlCRV9VTlVT
RUQoVkFMVUUga2V5KSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAgICBNQVlC
RV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKKykKK3sKKyAgICByZXR1cm4gNDsKK30KKworLyogYXR0
ciBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYmluIEAgb3B0X2FyZWZfd2l0aChrZXksIGNpLCBjYyko
cmVjdikodmFsKSAqLworZW51bSBydWJ5X3ZtaW5zbl90eXBlCithdHRyX2Jpbl9vcHRfYXJlZl93
aXRoKAorICAgIE1BWUJFX1VOVVNFRChWQUxVRSBrZXkpLAorICAgIE1BWUJFX1VOVVNFRChDQUxM
X0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJl
dHVybiBCSU4ob3B0X2FyZWZfd2l0aCk7Cit9CisKKy8qIGF0dHIgYm9vbCBoYW5kbGVzX3NwIEAg
b3B0X2FyZWZfd2l0aChrZXksIGNpLCBjYykocmVjdikodmFsKSAqLworYm9vbAorYXR0cl9oYW5k
bGVzX3NwX29wdF9hcmVmX3dpdGgoCisgICAgTUFZQkVfVU5VU0VEKFZBTFVFIGtleSksCisgICAg
TUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCisgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUg
Y2MpCispCit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCisvKiBhdHRyIGJvb2wgbGVhZiBAIG9w
dF9hcmVmX3dpdGgoa2V5LCBjaSwgY2MpKHJlY3YpKHZhbCkgKi8KK2Jvb2wKK2F0dHJfbGVhZl9v
cHRfYXJlZl93aXRoKAorICAgIE1BWUJFX1VOVVNFRChWQUxVRSBrZXkpLAorICAgIE1BWUJFX1VO
VVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQor
eworICAgIHJldHVybgorI2xpbmUgMTMwOSAiaW5zbnMuZGVmIgorZmFsc2U7CisjbGluZSA4MDM5
ICJpbnNuc19pbmZvLmluYyIKK30KKworLyogYXR0ciBjb25zdCBjaGFyKiBuYW1lIEAgb3B0X2Fy
ZWZfd2l0aChrZXksIGNpLCBjYykocmVjdikodmFsKSAqLworY29uc3QgY2hhcioKK2F0dHJfbmFt
ZV9vcHRfYXJlZl93aXRoKAorICAgIE1BWUJFX1VOVVNFRChWQUxVRSBrZXkpLAorICAgIE1BWUJF
X1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQor
KQoreworICAgIHJldHVybiBpbnNuX25hbWUoQklOKG9wdF9hcmVmX3dpdGgpKTsKK30KKworLyog
YXR0ciByYl9udW1fdCBvcGVuIEAgb3B0X2FyZWZfd2l0aChrZXksIGNpLCBjYykocmVjdikodmFs
KSAqLworcmJfbnVtX3QKK2F0dHJfb3Blbl9vcHRfYXJlZl93aXRoKAorICAgIE1BWUJFX1VOVVNF
RChWQUxVRSBrZXkpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJF
X1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiAzOworfQorCisvKiBhdHRy
IHJiX251bV90IHBvcG4gQCBvcHRfYXJlZl93aXRoKGtleSwgY2ksIGNjKShyZWN2KSh2YWwpICov
CityYl9udW1fdAorYXR0cl9wb3BuX29wdF9hcmVmX3dpdGgoCisgICAgTUFZQkVfVU5VU0VEKFZB
TFVFIGtleSksCisgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCisgICAgTUFZQkVfVU5V
U0VEKENBTExfQ0FDSEUgY2MpCispCit7CisgICAgcmV0dXJuIDE7Cit9CisKKy8qIGF0dHIgcmJf
bnVtX3QgcmV0biBAIG9wdF9hcmVmX3dpdGgoa2V5LCBjaSwgY2MpKHJlY3YpKHZhbCkgKi8KK3Ji
X251bV90CithdHRyX3JldG5fb3B0X2FyZWZfd2l0aCgKKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUg
a2V5KSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAgICBNQVlCRV9VTlVTRUQo
Q0FMTF9DQUNIRSBjYykKKykKK3sKKyAgICByZXR1cm4gMTsKK30KKworLyogYXR0ciByYl9zbnVt
X3Qgc3BfaW5jIEAgb3B0X2FyZWZfd2l0aChrZXksIGNpLCBjYykocmVjdikodmFsKSAqLworcmJf
c251bV90CithdHRyX3NwX2luY19vcHRfYXJlZl93aXRoKAorICAgIE1BWUJFX1VOVVNFRChWQUxV
RSBrZXkpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNF
RChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiAwOworfQorCisvKiBhdHRyIHJiX251
bV90IHdpZHRoIEAgb3B0X2FyZWZfd2l0aChrZXksIGNpLCBjYykocmVjdikodmFsKSAqLworcmJf
bnVtX3QKK2F0dHJfd2lkdGhfb3B0X2FyZWZfd2l0aCgKKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUg
a2V5KSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAgICBNQVlCRV9VTlVTRUQo
Q0FMTF9DQUNIRSBjYykKKykKK3sKKyAgICByZXR1cm4gNDsKK30KKworLyogYXR0ciBlbnVtIHJ1
Ynlfdm1pbnNuX3R5cGUgYmluIEAgb3B0X2xlbmd0aChjaSwgY2MpKHJlY3YpKHZhbCkgKi8KK2Vu
dW0gcnVieV92bWluc25fdHlwZQorYXR0cl9iaW5fb3B0X2xlbmd0aCgKKyAgICBNQVlCRV9VTlVT
RUQoQ0FMTF9JTkZPIGNpKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKKykKK3sK
KyAgICByZXR1cm4gQklOKG9wdF9sZW5ndGgpOworfQorCisvKiBhdHRyIGJvb2wgaGFuZGxlc19z
cCBAIG9wdF9sZW5ndGgoY2ksIGNjKShyZWN2KSh2YWwpICovCitib29sCithdHRyX2hhbmRsZXNf
c3Bfb3B0X2xlbmd0aCgKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAgICBNQVlC
RV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKKykKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKKy8q
IGF0dHIgYm9vbCBsZWFmIEAgb3B0X2xlbmd0aChjaSwgY2MpKHJlY3YpKHZhbCkgKi8KK2Jvb2wK
K2F0dHJfbGVhZl9vcHRfbGVuZ3RoKAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAor
ICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiB0cnVlOwor
fQorCisvKiBhdHRyIGNvbnN0IGNoYXIqIG5hbWUgQCBvcHRfbGVuZ3RoKGNpLCBjYykocmVjdiko
dmFsKSAqLworY29uc3QgY2hhcioKK2F0dHJfbmFtZV9vcHRfbGVuZ3RoKAorICAgIE1BWUJFX1VO
VVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQor
eworICAgIHJldHVybiBpbnNuX25hbWUoQklOKG9wdF9sZW5ndGgpKTsKK30KKworLyogYXR0ciBy
Yl9udW1fdCBvcGVuIEAgb3B0X2xlbmd0aChjaSwgY2MpKHJlY3YpKHZhbCkgKi8KK3JiX251bV90
CithdHRyX29wZW5fb3B0X2xlbmd0aCgKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwK
KyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKKykKK3sKKyAgICByZXR1cm4gMjsKK30K
KworLyogYXR0ciByYl9udW1fdCBwb3BuIEAgb3B0X2xlbmd0aChjaSwgY2MpKHJlY3YpKHZhbCkg
Ki8KK3JiX251bV90CithdHRyX3BvcG5fb3B0X2xlbmd0aCgKKyAgICBNQVlCRV9VTlVTRUQoQ0FM
TF9JTkZPIGNpKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKKykKK3sKKyAgICBy
ZXR1cm4gMTsKK30KKworLyogYXR0ciByYl9udW1fdCByZXRuIEAgb3B0X2xlbmd0aChjaSwgY2Mp
KHJlY3YpKHZhbCkgKi8KK3JiX251bV90CithdHRyX3JldG5fb3B0X2xlbmd0aCgKKyAgICBNQVlC
RV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykK
KykKK3sKKyAgICByZXR1cm4gMTsKK30KKworLyogYXR0ciByYl9zbnVtX3Qgc3BfaW5jIEAgb3B0
X2xlbmd0aChjaSwgY2MpKHJlY3YpKHZhbCkgKi8KK3JiX3NudW1fdAorYXR0cl9zcF9pbmNfb3B0
X2xlbmd0aCgKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAgICBNQVlCRV9VTlVT
RUQoQ0FMTF9DQUNIRSBjYykKKykKK3sKKyAgICByZXR1cm4gMDsKK30KKworLyogYXR0ciByYl9u
dW1fdCB3aWR0aCBAIG9wdF9sZW5ndGgoY2ksIGNjKShyZWN2KSh2YWwpICovCityYl9udW1fdAor
YXR0cl93aWR0aF9vcHRfbGVuZ3RoKAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAor
ICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiAzOworfQor
CisvKiBhdHRyIGVudW0gcnVieV92bWluc25fdHlwZSBiaW4gQCBvcHRfc2l6ZShjaSwgY2MpKHJl
Y3YpKHZhbCkgKi8KK2VudW0gcnVieV92bWluc25fdHlwZQorYXR0cl9iaW5fb3B0X3NpemUoCisg
ICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCisgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FD
SEUgY2MpCispCit7CisgICAgcmV0dXJuIEJJTihvcHRfc2l6ZSk7Cit9CisKKy8qIGF0dHIgYm9v
bCBoYW5kbGVzX3NwIEAgb3B0X3NpemUoY2ksIGNjKShyZWN2KSh2YWwpICovCitib29sCithdHRy
X2hhbmRsZXNfc3Bfb3B0X3NpemUoCisgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCisg
ICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCispCit7CisgICAgcmV0dXJuIGZhbHNlOwor
fQorCisvKiBhdHRyIGJvb2wgbGVhZiBAIG9wdF9zaXplKGNpLCBjYykocmVjdikodmFsKSAqLwor
Ym9vbAorYXR0cl9sZWFmX29wdF9zaXplKAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kp
LAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiB0cnVl
OworfQorCisvKiBhdHRyIGNvbnN0IGNoYXIqIG5hbWUgQCBvcHRfc2l6ZShjaSwgY2MpKHJlY3Yp
KHZhbCkgKi8KK2NvbnN0IGNoYXIqCithdHRyX25hbWVfb3B0X3NpemUoCisgICAgTUFZQkVfVU5V
U0VEKENBTExfSU5GTyBjaSksCisgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCispCit7
CisgICAgcmV0dXJuIGluc25fbmFtZShCSU4ob3B0X3NpemUpKTsKK30KKworLyogYXR0ciByYl9u
dW1fdCBvcGVuIEAgb3B0X3NpemUoY2ksIGNjKShyZWN2KSh2YWwpICovCityYl9udW1fdAorYXR0
cl9vcGVuX29wdF9zaXplKAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1B
WUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiAyOworfQorCisvKiBh
dHRyIHJiX251bV90IHBvcG4gQCBvcHRfc2l6ZShjaSwgY2MpKHJlY3YpKHZhbCkgKi8KK3JiX251
bV90CithdHRyX3BvcG5fb3B0X3NpemUoCisgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSks
CisgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCispCit7CisgICAgcmV0dXJuIDE7Cit9
CisKKy8qIGF0dHIgcmJfbnVtX3QgcmV0biBAIG9wdF9zaXplKGNpLCBjYykocmVjdikodmFsKSAq
LworcmJfbnVtX3QKK2F0dHJfcmV0bl9vcHRfc2l6ZSgKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9J
TkZPIGNpKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKKykKK3sKKyAgICByZXR1
cm4gMTsKK30KKworLyogYXR0ciByYl9zbnVtX3Qgc3BfaW5jIEAgb3B0X3NpemUoY2ksIGNjKShy
ZWN2KSh2YWwpICovCityYl9zbnVtX3QKK2F0dHJfc3BfaW5jX29wdF9zaXplKAorICAgIE1BWUJF
X1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQor
KQoreworICAgIHJldHVybiAwOworfQorCisvKiBhdHRyIHJiX251bV90IHdpZHRoIEAgb3B0X3Np
emUoY2ksIGNjKShyZWN2KSh2YWwpICovCityYl9udW1fdAorYXR0cl93aWR0aF9vcHRfc2l6ZSgK
KyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9D
QUNIRSBjYykKKykKK3sKKyAgICByZXR1cm4gMzsKK30KKworLyogYXR0ciBlbnVtIHJ1Ynlfdm1p
bnNuX3R5cGUgYmluIEAgb3B0X2VtcHR5X3AoY2ksIGNjKShyZWN2KSh2YWwpICovCitlbnVtIHJ1
Ynlfdm1pbnNuX3R5cGUKK2F0dHJfYmluX29wdF9lbXB0eV9wKAorICAgIE1BWUJFX1VOVVNFRChD
QUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQoreworICAg
IHJldHVybiBCSU4ob3B0X2VtcHR5X3ApOworfQorCisvKiBhdHRyIGJvb2wgaGFuZGxlc19zcCBA
IG9wdF9lbXB0eV9wKGNpLCBjYykocmVjdikodmFsKSAqLworYm9vbAorYXR0cl9oYW5kbGVzX3Nw
X29wdF9lbXB0eV9wKAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJF
X1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKworLyog
YXR0ciBib29sIGxlYWYgQCBvcHRfZW1wdHlfcChjaSwgY2MpKHJlY3YpKHZhbCkgKi8KK2Jvb2wK
K2F0dHJfbGVhZl9vcHRfZW1wdHlfcCgKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwK
KyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKKykKK3sKKyAgICByZXR1cm4gdHJ1ZTsK
K30KKworLyogYXR0ciBjb25zdCBjaGFyKiBuYW1lIEAgb3B0X2VtcHR5X3AoY2ksIGNjKShyZWN2
KSh2YWwpICovCitjb25zdCBjaGFyKgorYXR0cl9uYW1lX29wdF9lbXB0eV9wKAorICAgIE1BWUJF
X1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQor
KQoreworICAgIHJldHVybiBpbnNuX25hbWUoQklOKG9wdF9lbXB0eV9wKSk7Cit9CisKKy8qIGF0
dHIgcmJfbnVtX3Qgb3BlbiBAIG9wdF9lbXB0eV9wKGNpLCBjYykocmVjdikodmFsKSAqLworcmJf
bnVtX3QKK2F0dHJfb3Blbl9vcHRfZW1wdHlfcCgKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZP
IGNpKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKKykKK3sKKyAgICByZXR1cm4g
MjsKK30KKworLyogYXR0ciByYl9udW1fdCBwb3BuIEAgb3B0X2VtcHR5X3AoY2ksIGNjKShyZWN2
KSh2YWwpICovCityYl9udW1fdAorYXR0cl9wb3BuX29wdF9lbXB0eV9wKAorICAgIE1BWUJFX1VO
VVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQor
eworICAgIHJldHVybiAxOworfQorCisvKiBhdHRyIHJiX251bV90IHJldG4gQCBvcHRfZW1wdHlf
cChjaSwgY2MpKHJlY3YpKHZhbCkgKi8KK3JiX251bV90CithdHRyX3JldG5fb3B0X2VtcHR5X3Ao
CisgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCisgICAgTUFZQkVfVU5VU0VEKENBTExf
Q0FDSEUgY2MpCispCit7CisgICAgcmV0dXJuIDE7Cit9CisKKy8qIGF0dHIgcmJfc251bV90IHNw
X2luYyBAIG9wdF9lbXB0eV9wKGNpLCBjYykocmVjdikodmFsKSAqLworcmJfc251bV90CithdHRy
X3NwX2luY19vcHRfZW1wdHlfcCgKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAg
ICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKKykKK3sKKyAgICByZXR1cm4gMDsKK30KKwor
LyogYXR0ciByYl9udW1fdCB3aWR0aCBAIG9wdF9lbXB0eV9wKGNpLCBjYykocmVjdikodmFsKSAq
LworcmJfbnVtX3QKK2F0dHJfd2lkdGhfb3B0X2VtcHR5X3AoCisgICAgTUFZQkVfVU5VU0VEKENB
TExfSU5GTyBjaSksCisgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCispCit7CisgICAg
cmV0dXJuIDM7Cit9CisKKy8qIGF0dHIgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGJpbiBAIG9wdF9z
dWNjKGNpLCBjYykocmVjdikodmFsKSAqLworZW51bSBydWJ5X3ZtaW5zbl90eXBlCithdHRyX2Jp
bl9vcHRfc3VjYygKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAgICBNQVlCRV9V
TlVTRUQoQ0FMTF9DQUNIRSBjYykKKykKK3sKKyAgICByZXR1cm4gQklOKG9wdF9zdWNjKTsKK30K
KworLyogYXR0ciBib29sIGhhbmRsZXNfc3AgQCBvcHRfc3VjYyhjaSwgY2MpKHJlY3YpKHZhbCkg
Ki8KK2Jvb2wKK2F0dHJfaGFuZGxlc19zcF9vcHRfc3VjYygKKyAgICBNQVlCRV9VTlVTRUQoQ0FM
TF9JTkZPIGNpKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKKykKK3sKKyAgICBy
ZXR1cm4gZmFsc2U7Cit9CisKKy8qIGF0dHIgYm9vbCBsZWFmIEAgb3B0X3N1Y2MoY2ksIGNjKShy
ZWN2KSh2YWwpICovCitib29sCithdHRyX2xlYWZfb3B0X3N1Y2MoCisgICAgTUFZQkVfVU5VU0VE
KENBTExfSU5GTyBjaSksCisgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCispCit7Cisg
ICAgcmV0dXJuIHRydWU7Cit9CisKKy8qIGF0dHIgY29uc3QgY2hhciogbmFtZSBAIG9wdF9zdWNj
KGNpLCBjYykocmVjdikodmFsKSAqLworY29uc3QgY2hhcioKK2F0dHJfbmFtZV9vcHRfc3VjYygK
KyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9D
QUNIRSBjYykKKykKK3sKKyAgICByZXR1cm4gaW5zbl9uYW1lKEJJTihvcHRfc3VjYykpOworfQor
CisvKiBhdHRyIHJiX251bV90IG9wZW4gQCBvcHRfc3VjYyhjaSwgY2MpKHJlY3YpKHZhbCkgKi8K
K3JiX251bV90CithdHRyX29wZW5fb3B0X3N1Y2MoCisgICAgTUFZQkVfVU5VU0VEKENBTExfSU5G
TyBjaSksCisgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCispCit7CisgICAgcmV0dXJu
IDI7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3QgcG9wbiBAIG9wdF9zdWNjKGNpLCBjYykocmVjdiko
dmFsKSAqLworcmJfbnVtX3QKK2F0dHJfcG9wbl9vcHRfc3VjYygKKyAgICBNQVlCRV9VTlVTRUQo
Q0FMTF9JTkZPIGNpKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKKykKK3sKKyAg
ICByZXR1cm4gMTsKK30KKworLyogYXR0ciByYl9udW1fdCByZXRuIEAgb3B0X3N1Y2MoY2ksIGNj
KShyZWN2KSh2YWwpICovCityYl9udW1fdAorYXR0cl9yZXRuX29wdF9zdWNjKAorICAgIE1BWUJF
X1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQor
KQoreworICAgIHJldHVybiAxOworfQorCisvKiBhdHRyIHJiX3NudW1fdCBzcF9pbmMgQCBvcHRf
c3VjYyhjaSwgY2MpKHJlY3YpKHZhbCkgKi8KK3JiX3NudW1fdAorYXR0cl9zcF9pbmNfb3B0X3N1
Y2MoCisgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCisgICAgTUFZQkVfVU5VU0VEKENB
TExfQ0FDSEUgY2MpCispCit7CisgICAgcmV0dXJuIDA7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3Qg
d2lkdGggQCBvcHRfc3VjYyhjaSwgY2MpKHJlY3YpKHZhbCkgKi8KK3JiX251bV90CithdHRyX3dp
ZHRoX29wdF9zdWNjKAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJF
X1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiAzOworfQorCisvKiBhdHRy
IGVudW0gcnVieV92bWluc25fdHlwZSBiaW4gQCBvcHRfbm90KGNpLCBjYykocmVjdikodmFsKSAq
LworZW51bSBydWJ5X3ZtaW5zbl90eXBlCithdHRyX2Jpbl9vcHRfbm90KAorICAgIE1BWUJFX1VO
VVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQor
eworICAgIHJldHVybiBCSU4ob3B0X25vdCk7Cit9CisKKy8qIGF0dHIgYm9vbCBoYW5kbGVzX3Nw
IEAgb3B0X25vdChjaSwgY2MpKHJlY3YpKHZhbCkgKi8KK2Jvb2wKK2F0dHJfaGFuZGxlc19zcF9v
cHRfbm90KAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNF
RChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKworLyogYXR0ciBi
b29sIGxlYWYgQCBvcHRfbm90KGNpLCBjYykocmVjdikodmFsKSAqLworYm9vbAorYXR0cl9sZWFm
X29wdF9ub3QoCisgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCisgICAgTUFZQkVfVU5V
U0VEKENBTExfQ0FDSEUgY2MpCispCit7CisgICAgcmV0dXJuIHRydWU7Cit9CisKKy8qIGF0dHIg
Y29uc3QgY2hhciogbmFtZSBAIG9wdF9ub3QoY2ksIGNjKShyZWN2KSh2YWwpICovCitjb25zdCBj
aGFyKgorYXR0cl9uYW1lX29wdF9ub3QoCisgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSks
CisgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCispCit7CisgICAgcmV0dXJuIGluc25f
bmFtZShCSU4ob3B0X25vdCkpOworfQorCisvKiBhdHRyIHJiX251bV90IG9wZW4gQCBvcHRfbm90
KGNpLCBjYykocmVjdikodmFsKSAqLworcmJfbnVtX3QKK2F0dHJfb3Blbl9vcHRfbm90KAorICAg
IE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hF
IGNjKQorKQoreworICAgIHJldHVybiAyOworfQorCisvKiBhdHRyIHJiX251bV90IHBvcG4gQCBv
cHRfbm90KGNpLCBjYykocmVjdikodmFsKSAqLworcmJfbnVtX3QKK2F0dHJfcG9wbl9vcHRfbm90
KAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNFRChDQUxM
X0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiAxOworfQorCisvKiBhdHRyIHJiX251bV90IHJl
dG4gQCBvcHRfbm90KGNpLCBjYykocmVjdikodmFsKSAqLworcmJfbnVtX3QKK2F0dHJfcmV0bl9v
cHRfbm90KAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAgIE1BWUJFX1VOVVNF
RChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiAxOworfQorCisvKiBhdHRyIHJiX3Nu
dW1fdCBzcF9pbmMgQCBvcHRfbm90KGNpLCBjYykocmVjdikodmFsKSAqLworcmJfc251bV90Cith
dHRyX3NwX2luY19vcHRfbm90KAorICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAorICAg
IE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQorKQoreworICAgIHJldHVybiAwOworfQorCisv
KiBhdHRyIHJiX251bV90IHdpZHRoIEAgb3B0X25vdChjaSwgY2MpKHJlY3YpKHZhbCkgKi8KK3Ji
X251bV90CithdHRyX3dpZHRoX29wdF9ub3QoCisgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBj
aSksCisgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCispCit7CisgICAgcmV0dXJuIDM7
Cit9CisKKy8qIGF0dHIgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGJpbiBAIG9wdF9yZWdleHBtYXRj
aDEocmVjdikob2JqKSh2YWwpICovCitlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUKK2F0dHJfYmluX29w
dF9yZWdleHBtYXRjaDEoTUFZQkVfVU5VU0VEKFZBTFVFIHJlY3YpKQoreworICAgIHJldHVybiBC
SU4ob3B0X3JlZ2V4cG1hdGNoMSk7Cit9CisKKy8qIGF0dHIgYm9vbCBoYW5kbGVzX3NwIEAgb3B0
X3JlZ2V4cG1hdGNoMShyZWN2KShvYmopKHZhbCkgKi8KK2Jvb2wKK2F0dHJfaGFuZGxlc19zcF9v
cHRfcmVnZXhwbWF0Y2gxKE1BWUJFX1VOVVNFRChWQUxVRSByZWN2KSkKK3sKKyAgICByZXR1cm4g
ZmFsc2U7Cit9CisKKy8qIGF0dHIgYm9vbCBsZWFmIEAgb3B0X3JlZ2V4cG1hdGNoMShyZWN2KShv
YmopKHZhbCkgKi8KK2Jvb2wKK2F0dHJfbGVhZl9vcHRfcmVnZXhwbWF0Y2gxKE1BWUJFX1VOVVNF
RChWQUxVRSByZWN2KSkKK3sKKyAgICByZXR1cm4KKyNsaW5lIDEzOTcgImluc25zLmRlZiIKK0JB
U0lDX09QX1VOUkVERUZJTkVEX1AoQk9QX01BVENILCBSRUdFWFBfUkVERUZJTkVEX09QX0ZMQUcp
OworI2xpbmUgODU3OSAiaW5zbnNfaW5mby5pbmMiCit9CisKKy8qIGF0dHIgY29uc3QgY2hhciog
bmFtZSBAIG9wdF9yZWdleHBtYXRjaDEocmVjdikob2JqKSh2YWwpICovCitjb25zdCBjaGFyKgor
YXR0cl9uYW1lX29wdF9yZWdleHBtYXRjaDEoTUFZQkVfVU5VU0VEKFZBTFVFIHJlY3YpKQorewor
ICAgIHJldHVybiBpbnNuX25hbWUoQklOKG9wdF9yZWdleHBtYXRjaDEpKTsKK30KKworLyogYXR0
ciByYl9udW1fdCBvcGVuIEAgb3B0X3JlZ2V4cG1hdGNoMShyZWN2KShvYmopKHZhbCkgKi8KK3Ji
X251bV90CithdHRyX29wZW5fb3B0X3JlZ2V4cG1hdGNoMShNQVlCRV9VTlVTRUQoVkFMVUUgcmVj
dikpCit7CisgICAgcmV0dXJuIDE7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3QgcG9wbiBAIG9wdF9y
ZWdleHBtYXRjaDEocmVjdikob2JqKSh2YWwpICovCityYl9udW1fdAorYXR0cl9wb3BuX29wdF9y
ZWdleHBtYXRjaDEoTUFZQkVfVU5VU0VEKFZBTFVFIHJlY3YpKQoreworICAgIHJldHVybiAxOwor
fQorCisvKiBhdHRyIHJiX251bV90IHJldG4gQCBvcHRfcmVnZXhwbWF0Y2gxKHJlY3YpKG9iaiko
dmFsKSAqLworcmJfbnVtX3QKK2F0dHJfcmV0bl9vcHRfcmVnZXhwbWF0Y2gxKE1BWUJFX1VOVVNF
RChWQUxVRSByZWN2KSkKK3sKKyAgICByZXR1cm4gMTsKK30KKworLyogYXR0ciByYl9zbnVtX3Qg
c3BfaW5jIEAgb3B0X3JlZ2V4cG1hdGNoMShyZWN2KShvYmopKHZhbCkgKi8KK3JiX3NudW1fdAor
YXR0cl9zcF9pbmNfb3B0X3JlZ2V4cG1hdGNoMShNQVlCRV9VTlVTRUQoVkFMVUUgcmVjdikpCit7
CisgICAgcmV0dXJuIDA7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3Qgd2lkdGggQCBvcHRfcmVnZXhw
bWF0Y2gxKHJlY3YpKG9iaikodmFsKSAqLworcmJfbnVtX3QKK2F0dHJfd2lkdGhfb3B0X3JlZ2V4
cG1hdGNoMShNQVlCRV9VTlVTRUQoVkFMVUUgcmVjdikpCit7CisgICAgcmV0dXJuIDI7Cit9CisK
Ky8qIGF0dHIgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGJpbiBAIG9wdF9yZWdleHBtYXRjaDIoY2ks
IGNjKShvYmoyLCBvYmoxKSh2YWwpICovCitlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUKK2F0dHJfYmlu
X29wdF9yZWdleHBtYXRjaDIoCisgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCisgICAg
TUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCispCit7CisgICAgcmV0dXJuIEJJTihvcHRfcmVn
ZXhwbWF0Y2gyKTsKK30KKworLyogYXR0ciBib29sIGhhbmRsZXNfc3AgQCBvcHRfcmVnZXhwbWF0
Y2gyKGNpLCBjYykob2JqMiwgb2JqMSkodmFsKSAqLworYm9vbAorYXR0cl9oYW5kbGVzX3NwX29w
dF9yZWdleHBtYXRjaDIoCisgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCisgICAgTUFZ
QkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCispCit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCisv
KiBhdHRyIGJvb2wgbGVhZiBAIG9wdF9yZWdleHBtYXRjaDIoY2ksIGNjKShvYmoyLCBvYmoxKSh2
YWwpICovCitib29sCithdHRyX2xlYWZfb3B0X3JlZ2V4cG1hdGNoMigKKyAgICBNQVlCRV9VTlVT
RUQoQ0FMTF9JTkZPIGNpKSwKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKKykKK3sK
KyAgICByZXR1cm4gdHJ1ZTsKK30KKworLyogYXR0ciBjb25zdCBjaGFyKiBuYW1lIEAgb3B0X3Jl
Z2V4cG1hdGNoMihjaSwgY2MpKG9iajIsIG9iajEpKHZhbCkgKi8KK2NvbnN0IGNoYXIqCithdHRy
X25hbWVfb3B0X3JlZ2V4cG1hdGNoMigKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwK
KyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKKykKK3sKKyAgICByZXR1cm4gaW5zbl9u
YW1lKEJJTihvcHRfcmVnZXhwbWF0Y2gyKSk7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3Qgb3BlbiBA
IG9wdF9yZWdleHBtYXRjaDIoY2ksIGNjKShvYmoyLCBvYmoxKSh2YWwpICovCityYl9udW1fdAor
YXR0cl9vcGVuX29wdF9yZWdleHBtYXRjaDIoCisgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBj
aSksCisgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCispCit7CisgICAgcmV0dXJuIDI7
Cit9CisKKy8qIGF0dHIgcmJfbnVtX3QgcG9wbiBAIG9wdF9yZWdleHBtYXRjaDIoY2ksIGNjKShv
YmoyLCBvYmoxKSh2YWwpICovCityYl9udW1fdAorYXR0cl9wb3BuX29wdF9yZWdleHBtYXRjaDIo
CisgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCisgICAgTUFZQkVfVU5VU0VEKENBTExf
Q0FDSEUgY2MpCispCit7CisgICAgcmV0dXJuIDI7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3QgcmV0
biBAIG9wdF9yZWdleHBtYXRjaDIoY2ksIGNjKShvYmoyLCBvYmoxKSh2YWwpICovCityYl9udW1f
dAorYXR0cl9yZXRuX29wdF9yZWdleHBtYXRjaDIoCisgICAgTUFZQkVfVU5VU0VEKENBTExfSU5G
TyBjaSksCisgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCispCit7CisgICAgcmV0dXJu
IDE7Cit9CisKKy8qIGF0dHIgcmJfc251bV90IHNwX2luYyBAIG9wdF9yZWdleHBtYXRjaDIoY2ks
IGNjKShvYmoyLCBvYmoxKSh2YWwpICovCityYl9zbnVtX3QKK2F0dHJfc3BfaW5jX29wdF9yZWdl
eHBtYXRjaDIoCisgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCisgICAgTUFZQkVfVU5V
U0VEKENBTExfQ0FDSEUgY2MpCispCit7CisgICAgcmV0dXJuIC0xOworfQorCisvKiBhdHRyIHJi
X251bV90IHdpZHRoIEAgb3B0X3JlZ2V4cG1hdGNoMihjaSwgY2MpKG9iajIsIG9iajEpKHZhbCkg
Ki8KK3JiX251bV90CithdHRyX3dpZHRoX29wdF9yZWdleHBtYXRjaDIoCisgICAgTUFZQkVfVU5V
U0VEKENBTExfSU5GTyBjaSksCisgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCispCit7
CisgICAgcmV0dXJuIDM7Cit9CisKKy8qIGF0dHIgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGJpbiBA
IG9wdF9jYWxsX2NfZnVuY3Rpb24oZnVuY3B0cikoKSgpICovCitlbnVtIHJ1Ynlfdm1pbnNuX3R5
cGUKK2F0dHJfYmluX29wdF9jYWxsX2NfZnVuY3Rpb24oTUFZQkVfVU5VU0VEKHJiX2luc25fZnVu
Y190IGZ1bmNwdHIpKQoreworICAgIHJldHVybiBCSU4ob3B0X2NhbGxfY19mdW5jdGlvbik7Cit9
CisKKy8qIGF0dHIgYm9vbCBoYW5kbGVzX3NwIEAgb3B0X2NhbGxfY19mdW5jdGlvbihmdW5jcHRy
KSgpKCkgKi8KK2Jvb2wKK2F0dHJfaGFuZGxlc19zcF9vcHRfY2FsbF9jX2Z1bmN0aW9uKE1BWUJF
X1VOVVNFRChyYl9pbnNuX2Z1bmNfdCBmdW5jcHRyKSkKK3sKKyAgICByZXR1cm4KKyNsaW5lIDE0
MjMgImluc25zLmRlZiIKK3RydWU7CisjbGluZSA4NzI4ICJpbnNuc19pbmZvLmluYyIKK30KKwor
LyogYXR0ciBib29sIGxlYWYgQCBvcHRfY2FsbF9jX2Z1bmN0aW9uKGZ1bmNwdHIpKCkoKSAqLwor
Ym9vbAorYXR0cl9sZWFmX29wdF9jYWxsX2NfZnVuY3Rpb24oTUFZQkVfVU5VU0VEKHJiX2luc25f
ZnVuY190IGZ1bmNwdHIpKQoreworICAgIHJldHVybgorI2xpbmUgMTQyMiAiaW5zbnMuZGVmIgor
ZmFsc2U7CisjbGluZSA4NzM4ICJpbnNuc19pbmZvLmluYyIKK30KKworLyogYXR0ciBjb25zdCBj
aGFyKiBuYW1lIEAgb3B0X2NhbGxfY19mdW5jdGlvbihmdW5jcHRyKSgpKCkgKi8KK2NvbnN0IGNo
YXIqCithdHRyX25hbWVfb3B0X2NhbGxfY19mdW5jdGlvbihNQVlCRV9VTlVTRUQocmJfaW5zbl9m
dW5jX3QgZnVuY3B0cikpCit7CisgICAgcmV0dXJuIGluc25fbmFtZShCSU4ob3B0X2NhbGxfY19m
dW5jdGlvbikpOworfQorCisvKiBhdHRyIHJiX251bV90IG9wZW4gQCBvcHRfY2FsbF9jX2Z1bmN0
aW9uKGZ1bmNwdHIpKCkoKSAqLworcmJfbnVtX3QKK2F0dHJfb3Blbl9vcHRfY2FsbF9jX2Z1bmN0
aW9uKE1BWUJFX1VOVVNFRChyYl9pbnNuX2Z1bmNfdCBmdW5jcHRyKSkKK3sKKyAgICByZXR1cm4g
MTsKK30KKworLyogYXR0ciByYl9udW1fdCBwb3BuIEAgb3B0X2NhbGxfY19mdW5jdGlvbihmdW5j
cHRyKSgpKCkgKi8KK3JiX251bV90CithdHRyX3BvcG5fb3B0X2NhbGxfY19mdW5jdGlvbihNQVlC
RV9VTlVTRUQocmJfaW5zbl9mdW5jX3QgZnVuY3B0cikpCit7CisgICAgcmV0dXJuIDA7Cit9CisK
Ky8qIGF0dHIgcmJfbnVtX3QgcmV0biBAIG9wdF9jYWxsX2NfZnVuY3Rpb24oZnVuY3B0cikoKSgp
ICovCityYl9udW1fdAorYXR0cl9yZXRuX29wdF9jYWxsX2NfZnVuY3Rpb24oTUFZQkVfVU5VU0VE
KHJiX2luc25fZnVuY190IGZ1bmNwdHIpKQoreworICAgIHJldHVybiAwOworfQorCisvKiBhdHRy
IHJiX3NudW1fdCBzcF9pbmMgQCBvcHRfY2FsbF9jX2Z1bmN0aW9uKGZ1bmNwdHIpKCkoKSAqLwor
cmJfc251bV90CithdHRyX3NwX2luY19vcHRfY2FsbF9jX2Z1bmN0aW9uKE1BWUJFX1VOVVNFRChy
Yl9pbnNuX2Z1bmNfdCBmdW5jcHRyKSkKK3sKKyAgICByZXR1cm4gMDsKK30KKworLyogYXR0ciBy
Yl9udW1fdCB3aWR0aCBAIG9wdF9jYWxsX2NfZnVuY3Rpb24oZnVuY3B0cikoKSgpICovCityYl9u
dW1fdAorYXR0cl93aWR0aF9vcHRfY2FsbF9jX2Z1bmN0aW9uKE1BWUJFX1VOVVNFRChyYl9pbnNu
X2Z1bmNfdCBmdW5jcHRyKSkKK3sKKyAgICByZXR1cm4gMjsKK30KKworLyogYXR0ciBlbnVtIHJ1
Ynlfdm1pbnNuX3R5cGUgYmluIEAgYml0Ymx0KCkoKShyZXQpICovCitlbnVtIHJ1Ynlfdm1pbnNu
X3R5cGUKK2F0dHJfYmluX2JpdGJsdCh2b2lkKQoreworICAgIHJldHVybiBCSU4oYml0Ymx0KTsK
K30KKworLyogYXR0ciBib29sIGhhbmRsZXNfc3AgQCBiaXRibHQoKSgpKHJldCkgKi8KK2Jvb2wK
K2F0dHJfaGFuZGxlc19zcF9iaXRibHQodm9pZCkKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisK
Ky8qIGF0dHIgYm9vbCBsZWFmIEAgYml0Ymx0KCkoKShyZXQpICovCitib29sCithdHRyX2xlYWZf
Yml0Ymx0KHZvaWQpCit7CisgICAgcmV0dXJuIHRydWU7Cit9CisKKy8qIGF0dHIgY29uc3QgY2hh
ciogbmFtZSBAIGJpdGJsdCgpKCkocmV0KSAqLworY29uc3QgY2hhcioKK2F0dHJfbmFtZV9iaXRi
bHQodm9pZCkKK3sKKyAgICByZXR1cm4gaW5zbl9uYW1lKEJJTihiaXRibHQpKTsKK30KKworLyog
YXR0ciByYl9udW1fdCBvcGVuIEAgYml0Ymx0KCkoKShyZXQpICovCityYl9udW1fdAorYXR0cl9v
cGVuX2JpdGJsdCh2b2lkKQoreworICAgIHJldHVybiAwOworfQorCisvKiBhdHRyIHJiX251bV90
IHBvcG4gQCBiaXRibHQoKSgpKHJldCkgKi8KK3JiX251bV90CithdHRyX3BvcG5fYml0Ymx0KHZv
aWQpCit7CisgICAgcmV0dXJuIDA7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3QgcmV0biBAIGJpdGJs
dCgpKCkocmV0KSAqLworcmJfbnVtX3QKK2F0dHJfcmV0bl9iaXRibHQodm9pZCkKK3sKKyAgICBy
ZXR1cm4gMTsKK30KKworLyogYXR0ciByYl9zbnVtX3Qgc3BfaW5jIEAgYml0Ymx0KCkoKShyZXQp
ICovCityYl9zbnVtX3QKK2F0dHJfc3BfaW5jX2JpdGJsdCh2b2lkKQoreworICAgIHJldHVybiAx
OworfQorCisvKiBhdHRyIHJiX251bV90IHdpZHRoIEAgYml0Ymx0KCkoKShyZXQpICovCityYl9u
dW1fdAorYXR0cl93aWR0aF9iaXRibHQodm9pZCkKK3sKKyAgICByZXR1cm4gMTsKK30KKworLyog
YXR0ciBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYmluIEAgYW5zd2VyKCkoKShyZXQpICovCitlbnVt
IHJ1Ynlfdm1pbnNuX3R5cGUKK2F0dHJfYmluX2Fuc3dlcih2b2lkKQoreworICAgIHJldHVybiBC
SU4oYW5zd2VyKTsKK30KKworLyogYXR0ciBib29sIGhhbmRsZXNfc3AgQCBhbnN3ZXIoKSgpKHJl
dCkgKi8KK2Jvb2wKK2F0dHJfaGFuZGxlc19zcF9hbnN3ZXIodm9pZCkKK3sKKyAgICByZXR1cm4g
ZmFsc2U7Cit9CisKKy8qIGF0dHIgYm9vbCBsZWFmIEAgYW5zd2VyKCkoKShyZXQpICovCitib29s
CithdHRyX2xlYWZfYW5zd2VyKHZvaWQpCit7CisgICAgcmV0dXJuIHRydWU7Cit9CisKKy8qIGF0
dHIgY29uc3QgY2hhciogbmFtZSBAIGFuc3dlcigpKCkocmV0KSAqLworY29uc3QgY2hhcioKK2F0
dHJfbmFtZV9hbnN3ZXIodm9pZCkKK3sKKyAgICByZXR1cm4gaW5zbl9uYW1lKEJJTihhbnN3ZXIp
KTsKK30KKworLyogYXR0ciByYl9udW1fdCBvcGVuIEAgYW5zd2VyKCkoKShyZXQpICovCityYl9u
dW1fdAorYXR0cl9vcGVuX2Fuc3dlcih2b2lkKQoreworICAgIHJldHVybiAwOworfQorCisvKiBh
dHRyIHJiX251bV90IHBvcG4gQCBhbnN3ZXIoKSgpKHJldCkgKi8KK3JiX251bV90CithdHRyX3Bv
cG5fYW5zd2VyKHZvaWQpCit7CisgICAgcmV0dXJuIDA7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3Qg
cmV0biBAIGFuc3dlcigpKCkocmV0KSAqLworcmJfbnVtX3QKK2F0dHJfcmV0bl9hbnN3ZXIodm9p
ZCkKK3sKKyAgICByZXR1cm4gMTsKK30KKworLyogYXR0ciByYl9zbnVtX3Qgc3BfaW5jIEAgYW5z
d2VyKCkoKShyZXQpICovCityYl9zbnVtX3QKK2F0dHJfc3BfaW5jX2Fuc3dlcih2b2lkKQorewor
ICAgIHJldHVybiAxOworfQorCisvKiBhdHRyIHJiX251bV90IHdpZHRoIEAgYW5zd2VyKCkoKShy
ZXQpICovCityYl9udW1fdAorYXR0cl93aWR0aF9hbnN3ZXIodm9pZCkKK3sKKyAgICByZXR1cm4g
MTsKK30KKworLyogYXR0ciBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYmluIEAgZ2V0bG9jYWxfV0Nf
MChpZHgpKCkodmFsKSAqLworZW51bSBydWJ5X3ZtaW5zbl90eXBlCithdHRyX2Jpbl9nZXRsb2Nh
bF9XQ18wKE1BWUJFX1VOVVNFRChsaW5kZXhfdCBpZHgpKQoreworICAgIHJldHVybiBCSU4oZ2V0
bG9jYWxfV0NfMCk7Cit9CisKKy8qIGF0dHIgYm9vbCBoYW5kbGVzX3NwIEAgZ2V0bG9jYWxfV0Nf
MChpZHgpKCkodmFsKSAqLworYm9vbAorYXR0cl9oYW5kbGVzX3NwX2dldGxvY2FsX1dDXzAoTUFZ
QkVfVU5VU0VEKGxpbmRleF90IGlkeCkpCit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCisvKiBh
dHRyIGJvb2wgbGVhZiBAIGdldGxvY2FsX1dDXzAoaWR4KSgpKHZhbCkgKi8KK2Jvb2wKK2F0dHJf
bGVhZl9nZXRsb2NhbF9XQ18wKE1BWUJFX1VOVVNFRChsaW5kZXhfdCBpZHgpKQoreworICAgIHJl
dHVybiB0cnVlOworfQorCisvKiBhdHRyIGNvbnN0IGNoYXIqIG5hbWUgQCBnZXRsb2NhbF9XQ18w
KGlkeCkoKSh2YWwpICovCitjb25zdCBjaGFyKgorYXR0cl9uYW1lX2dldGxvY2FsX1dDXzAoTUFZ
QkVfVU5VU0VEKGxpbmRleF90IGlkeCkpCit7CisgICAgcmV0dXJuIGluc25fbmFtZShCSU4oZ2V0
bG9jYWxfV0NfMCkpOworfQorCisvKiBhdHRyIHJiX251bV90IG9wZW4gQCBnZXRsb2NhbF9XQ18w
KGlkeCkoKSh2YWwpICovCityYl9udW1fdAorYXR0cl9vcGVuX2dldGxvY2FsX1dDXzAoTUFZQkVf
VU5VU0VEKGxpbmRleF90IGlkeCkpCit7CisgICAgcmV0dXJuIDE7Cit9CisKKy8qIGF0dHIgcmJf
bnVtX3QgcG9wbiBAIGdldGxvY2FsX1dDXzAoaWR4KSgpKHZhbCkgKi8KK3JiX251bV90CithdHRy
X3BvcG5fZ2V0bG9jYWxfV0NfMChNQVlCRV9VTlVTRUQobGluZGV4X3QgaWR4KSkKK3sKKyAgICBy
ZXR1cm4gMDsKK30KKworLyogYXR0ciByYl9udW1fdCByZXRuIEAgZ2V0bG9jYWxfV0NfMChpZHgp
KCkodmFsKSAqLworcmJfbnVtX3QKK2F0dHJfcmV0bl9nZXRsb2NhbF9XQ18wKE1BWUJFX1VOVVNF
RChsaW5kZXhfdCBpZHgpKQoreworICAgIHJldHVybiAxOworfQorCisvKiBhdHRyIHJiX3NudW1f
dCBzcF9pbmMgQCBnZXRsb2NhbF9XQ18wKGlkeCkoKSh2YWwpICovCityYl9zbnVtX3QKK2F0dHJf
c3BfaW5jX2dldGxvY2FsX1dDXzAoTUFZQkVfVU5VU0VEKGxpbmRleF90IGlkeCkpCit7CisgICAg
cmV0dXJuIDE7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3Qgd2lkdGggQCBnZXRsb2NhbF9XQ18wKGlk
eCkoKSh2YWwpICovCityYl9udW1fdAorYXR0cl93aWR0aF9nZXRsb2NhbF9XQ18wKE1BWUJFX1VO
VVNFRChsaW5kZXhfdCBpZHgpKQoreworICAgIHJldHVybiAyOworfQorCisvKiBhdHRyIGVudW0g
cnVieV92bWluc25fdHlwZSBiaW4gQCBnZXRsb2NhbF9XQ18xKGlkeCkoKSh2YWwpICovCitlbnVt
IHJ1Ynlfdm1pbnNuX3R5cGUKK2F0dHJfYmluX2dldGxvY2FsX1dDXzEoTUFZQkVfVU5VU0VEKGxp
bmRleF90IGlkeCkpCit7CisgICAgcmV0dXJuIEJJTihnZXRsb2NhbF9XQ18xKTsKK30KKworLyog
YXR0ciBib29sIGhhbmRsZXNfc3AgQCBnZXRsb2NhbF9XQ18xKGlkeCkoKSh2YWwpICovCitib29s
CithdHRyX2hhbmRsZXNfc3BfZ2V0bG9jYWxfV0NfMShNQVlCRV9VTlVTRUQobGluZGV4X3QgaWR4
KSkKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKKy8qIGF0dHIgYm9vbCBsZWFmIEAgZ2V0bG9j
YWxfV0NfMShpZHgpKCkodmFsKSAqLworYm9vbAorYXR0cl9sZWFmX2dldGxvY2FsX1dDXzEoTUFZ
QkVfVU5VU0VEKGxpbmRleF90IGlkeCkpCit7CisgICAgcmV0dXJuIHRydWU7Cit9CisKKy8qIGF0
dHIgY29uc3QgY2hhciogbmFtZSBAIGdldGxvY2FsX1dDXzEoaWR4KSgpKHZhbCkgKi8KK2NvbnN0
IGNoYXIqCithdHRyX25hbWVfZ2V0bG9jYWxfV0NfMShNQVlCRV9VTlVTRUQobGluZGV4X3QgaWR4
KSkKK3sKKyAgICByZXR1cm4gaW5zbl9uYW1lKEJJTihnZXRsb2NhbF9XQ18xKSk7Cit9CisKKy8q
IGF0dHIgcmJfbnVtX3Qgb3BlbiBAIGdldGxvY2FsX1dDXzEoaWR4KSgpKHZhbCkgKi8KK3JiX251
bV90CithdHRyX29wZW5fZ2V0bG9jYWxfV0NfMShNQVlCRV9VTlVTRUQobGluZGV4X3QgaWR4KSkK
K3sKKyAgICByZXR1cm4gMTsKK30KKworLyogYXR0ciByYl9udW1fdCBwb3BuIEAgZ2V0bG9jYWxf
V0NfMShpZHgpKCkodmFsKSAqLworcmJfbnVtX3QKK2F0dHJfcG9wbl9nZXRsb2NhbF9XQ18xKE1B
WUJFX1VOVVNFRChsaW5kZXhfdCBpZHgpKQoreworICAgIHJldHVybiAwOworfQorCisvKiBhdHRy
IHJiX251bV90IHJldG4gQCBnZXRsb2NhbF9XQ18xKGlkeCkoKSh2YWwpICovCityYl9udW1fdAor
YXR0cl9yZXRuX2dldGxvY2FsX1dDXzEoTUFZQkVfVU5VU0VEKGxpbmRleF90IGlkeCkpCit7Cisg
ICAgcmV0dXJuIDE7Cit9CisKKy8qIGF0dHIgcmJfc251bV90IHNwX2luYyBAIGdldGxvY2FsX1dD
XzEoaWR4KSgpKHZhbCkgKi8KK3JiX3NudW1fdAorYXR0cl9zcF9pbmNfZ2V0bG9jYWxfV0NfMShN
QVlCRV9VTlVTRUQobGluZGV4X3QgaWR4KSkKK3sKKyAgICByZXR1cm4gMTsKK30KKworLyogYXR0
ciByYl9udW1fdCB3aWR0aCBAIGdldGxvY2FsX1dDXzEoaWR4KSgpKHZhbCkgKi8KK3JiX251bV90
CithdHRyX3dpZHRoX2dldGxvY2FsX1dDXzEoTUFZQkVfVU5VU0VEKGxpbmRleF90IGlkeCkpCit7
CisgICAgcmV0dXJuIDI7Cit9CisKKy8qIGF0dHIgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGJpbiBA
IHNldGxvY2FsX1dDXzAoaWR4KSh2YWwpKCkgKi8KK2VudW0gcnVieV92bWluc25fdHlwZQorYXR0
cl9iaW5fc2V0bG9jYWxfV0NfMChNQVlCRV9VTlVTRUQobGluZGV4X3QgaWR4KSkKK3sKKyAgICBy
ZXR1cm4gQklOKHNldGxvY2FsX1dDXzApOworfQorCisvKiBhdHRyIGJvb2wgaGFuZGxlc19zcCBA
IHNldGxvY2FsX1dDXzAoaWR4KSh2YWwpKCkgKi8KK2Jvb2wKK2F0dHJfaGFuZGxlc19zcF9zZXRs
b2NhbF9XQ18wKE1BWUJFX1VOVVNFRChsaW5kZXhfdCBpZHgpKQoreworICAgIHJldHVybiBmYWxz
ZTsKK30KKworLyogYXR0ciBib29sIGxlYWYgQCBzZXRsb2NhbF9XQ18wKGlkeCkodmFsKSgpICov
Citib29sCithdHRyX2xlYWZfc2V0bG9jYWxfV0NfMChNQVlCRV9VTlVTRUQobGluZGV4X3QgaWR4
KSkKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworLyogYXR0ciBjb25zdCBjaGFyKiBuYW1lIEAg
c2V0bG9jYWxfV0NfMChpZHgpKHZhbCkoKSAqLworY29uc3QgY2hhcioKK2F0dHJfbmFtZV9zZXRs
b2NhbF9XQ18wKE1BWUJFX1VOVVNFRChsaW5kZXhfdCBpZHgpKQoreworICAgIHJldHVybiBpbnNu
X25hbWUoQklOKHNldGxvY2FsX1dDXzApKTsKK30KKworLyogYXR0ciByYl9udW1fdCBvcGVuIEAg
c2V0bG9jYWxfV0NfMChpZHgpKHZhbCkoKSAqLworcmJfbnVtX3QKK2F0dHJfb3Blbl9zZXRsb2Nh
bF9XQ18wKE1BWUJFX1VOVVNFRChsaW5kZXhfdCBpZHgpKQoreworICAgIHJldHVybiAxOworfQor
CisvKiBhdHRyIHJiX251bV90IHBvcG4gQCBzZXRsb2NhbF9XQ18wKGlkeCkodmFsKSgpICovCity
Yl9udW1fdAorYXR0cl9wb3BuX3NldGxvY2FsX1dDXzAoTUFZQkVfVU5VU0VEKGxpbmRleF90IGlk
eCkpCit7CisgICAgcmV0dXJuIDE7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3QgcmV0biBAIHNldGxv
Y2FsX1dDXzAoaWR4KSh2YWwpKCkgKi8KK3JiX251bV90CithdHRyX3JldG5fc2V0bG9jYWxfV0Nf
MChNQVlCRV9VTlVTRUQobGluZGV4X3QgaWR4KSkKK3sKKyAgICByZXR1cm4gMDsKK30KKworLyog
YXR0ciByYl9zbnVtX3Qgc3BfaW5jIEAgc2V0bG9jYWxfV0NfMChpZHgpKHZhbCkoKSAqLworcmJf
c251bV90CithdHRyX3NwX2luY19zZXRsb2NhbF9XQ18wKE1BWUJFX1VOVVNFRChsaW5kZXhfdCBp
ZHgpKQoreworICAgIHJldHVybiAtMTsKK30KKworLyogYXR0ciByYl9udW1fdCB3aWR0aCBAIHNl
dGxvY2FsX1dDXzAoaWR4KSh2YWwpKCkgKi8KK3JiX251bV90CithdHRyX3dpZHRoX3NldGxvY2Fs
X1dDXzAoTUFZQkVfVU5VU0VEKGxpbmRleF90IGlkeCkpCit7CisgICAgcmV0dXJuIDI7Cit9CisK
Ky8qIGF0dHIgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGJpbiBAIHNldGxvY2FsX1dDXzEoaWR4KSh2
YWwpKCkgKi8KK2VudW0gcnVieV92bWluc25fdHlwZQorYXR0cl9iaW5fc2V0bG9jYWxfV0NfMShN
QVlCRV9VTlVTRUQobGluZGV4X3QgaWR4KSkKK3sKKyAgICByZXR1cm4gQklOKHNldGxvY2FsX1dD
XzEpOworfQorCisvKiBhdHRyIGJvb2wgaGFuZGxlc19zcCBAIHNldGxvY2FsX1dDXzEoaWR4KSh2
YWwpKCkgKi8KK2Jvb2wKK2F0dHJfaGFuZGxlc19zcF9zZXRsb2NhbF9XQ18xKE1BWUJFX1VOVVNF
RChsaW5kZXhfdCBpZHgpKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKworLyogYXR0ciBib29s
IGxlYWYgQCBzZXRsb2NhbF9XQ18xKGlkeCkodmFsKSgpICovCitib29sCithdHRyX2xlYWZfc2V0
bG9jYWxfV0NfMShNQVlCRV9VTlVTRUQobGluZGV4X3QgaWR4KSkKK3sKKyAgICByZXR1cm4gdHJ1
ZTsKK30KKworLyogYXR0ciBjb25zdCBjaGFyKiBuYW1lIEAgc2V0bG9jYWxfV0NfMShpZHgpKHZh
bCkoKSAqLworY29uc3QgY2hhcioKK2F0dHJfbmFtZV9zZXRsb2NhbF9XQ18xKE1BWUJFX1VOVVNF
RChsaW5kZXhfdCBpZHgpKQoreworICAgIHJldHVybiBpbnNuX25hbWUoQklOKHNldGxvY2FsX1dD
XzEpKTsKK30KKworLyogYXR0ciByYl9udW1fdCBvcGVuIEAgc2V0bG9jYWxfV0NfMShpZHgpKHZh
bCkoKSAqLworcmJfbnVtX3QKK2F0dHJfb3Blbl9zZXRsb2NhbF9XQ18xKE1BWUJFX1VOVVNFRChs
aW5kZXhfdCBpZHgpKQoreworICAgIHJldHVybiAxOworfQorCisvKiBhdHRyIHJiX251bV90IHBv
cG4gQCBzZXRsb2NhbF9XQ18xKGlkeCkodmFsKSgpICovCityYl9udW1fdAorYXR0cl9wb3BuX3Nl
dGxvY2FsX1dDXzEoTUFZQkVfVU5VU0VEKGxpbmRleF90IGlkeCkpCit7CisgICAgcmV0dXJuIDE7
Cit9CisKKy8qIGF0dHIgcmJfbnVtX3QgcmV0biBAIHNldGxvY2FsX1dDXzEoaWR4KSh2YWwpKCkg
Ki8KK3JiX251bV90CithdHRyX3JldG5fc2V0bG9jYWxfV0NfMShNQVlCRV9VTlVTRUQobGluZGV4
X3QgaWR4KSkKK3sKKyAgICByZXR1cm4gMDsKK30KKworLyogYXR0ciByYl9zbnVtX3Qgc3BfaW5j
IEAgc2V0bG9jYWxfV0NfMShpZHgpKHZhbCkoKSAqLworcmJfc251bV90CithdHRyX3NwX2luY19z
ZXRsb2NhbF9XQ18xKE1BWUJFX1VOVVNFRChsaW5kZXhfdCBpZHgpKQoreworICAgIHJldHVybiAt
MTsKK30KKworLyogYXR0ciByYl9udW1fdCB3aWR0aCBAIHNldGxvY2FsX1dDXzEoaWR4KSh2YWwp
KCkgKi8KK3JiX251bV90CithdHRyX3dpZHRoX3NldGxvY2FsX1dDXzEoTUFZQkVfVU5VU0VEKGxp
bmRleF90IGlkeCkpCit7CisgICAgcmV0dXJuIDI7Cit9CisKKy8qIGF0dHIgZW51bSBydWJ5X3Zt
aW5zbl90eXBlIGJpbiBAIHB1dG9iamVjdF9JTlQyRklYXzBfKCkoKSh2YWwpICovCitlbnVtIHJ1
Ynlfdm1pbnNuX3R5cGUKK2F0dHJfYmluX3B1dG9iamVjdF9JTlQyRklYXzBfKHZvaWQpCit7Cisg
ICAgcmV0dXJuIEJJTihwdXRvYmplY3RfSU5UMkZJWF8wXyk7Cit9CisKKy8qIGF0dHIgYm9vbCBo
YW5kbGVzX3NwIEAgcHV0b2JqZWN0X0lOVDJGSVhfMF8oKSgpKHZhbCkgKi8KK2Jvb2wKK2F0dHJf
aGFuZGxlc19zcF9wdXRvYmplY3RfSU5UMkZJWF8wXyh2b2lkKQoreworICAgIHJldHVybiBmYWxz
ZTsKK30KKworLyogYXR0ciBib29sIGxlYWYgQCBwdXRvYmplY3RfSU5UMkZJWF8wXygpKCkodmFs
KSAqLworYm9vbAorYXR0cl9sZWFmX3B1dG9iamVjdF9JTlQyRklYXzBfKHZvaWQpCit7CisgICAg
cmV0dXJuIHRydWU7Cit9CisKKy8qIGF0dHIgY29uc3QgY2hhciogbmFtZSBAIHB1dG9iamVjdF9J
TlQyRklYXzBfKCkoKSh2YWwpICovCitjb25zdCBjaGFyKgorYXR0cl9uYW1lX3B1dG9iamVjdF9J
TlQyRklYXzBfKHZvaWQpCit7CisgICAgcmV0dXJuIGluc25fbmFtZShCSU4ocHV0b2JqZWN0X0lO
VDJGSVhfMF8pKTsKK30KKworLyogYXR0ciByYl9udW1fdCBvcGVuIEAgcHV0b2JqZWN0X0lOVDJG
SVhfMF8oKSgpKHZhbCkgKi8KK3JiX251bV90CithdHRyX29wZW5fcHV0b2JqZWN0X0lOVDJGSVhf
MF8odm9pZCkKK3sKKyAgICByZXR1cm4gMDsKK30KKworLyogYXR0ciByYl9udW1fdCBwb3BuIEAg
cHV0b2JqZWN0X0lOVDJGSVhfMF8oKSgpKHZhbCkgKi8KK3JiX251bV90CithdHRyX3BvcG5fcHV0
b2JqZWN0X0lOVDJGSVhfMF8odm9pZCkKK3sKKyAgICByZXR1cm4gMDsKK30KKworLyogYXR0ciBy
Yl9udW1fdCByZXRuIEAgcHV0b2JqZWN0X0lOVDJGSVhfMF8oKSgpKHZhbCkgKi8KK3JiX251bV90
CithdHRyX3JldG5fcHV0b2JqZWN0X0lOVDJGSVhfMF8odm9pZCkKK3sKKyAgICByZXR1cm4gMTsK
K30KKworLyogYXR0ciByYl9zbnVtX3Qgc3BfaW5jIEAgcHV0b2JqZWN0X0lOVDJGSVhfMF8oKSgp
KHZhbCkgKi8KK3JiX3NudW1fdAorYXR0cl9zcF9pbmNfcHV0b2JqZWN0X0lOVDJGSVhfMF8odm9p
ZCkKK3sKKyAgICByZXR1cm4gMTsKK30KKworLyogYXR0ciByYl9udW1fdCB3aWR0aCBAIHB1dG9i
amVjdF9JTlQyRklYXzBfKCkoKSh2YWwpICovCityYl9udW1fdAorYXR0cl93aWR0aF9wdXRvYmpl
Y3RfSU5UMkZJWF8wXyh2b2lkKQoreworICAgIHJldHVybiAxOworfQorCisvKiBhdHRyIGVudW0g
cnVieV92bWluc25fdHlwZSBiaW4gQCBwdXRvYmplY3RfSU5UMkZJWF8xXygpKCkodmFsKSAqLwor
ZW51bSBydWJ5X3ZtaW5zbl90eXBlCithdHRyX2Jpbl9wdXRvYmplY3RfSU5UMkZJWF8xXyh2b2lk
KQoreworICAgIHJldHVybiBCSU4ocHV0b2JqZWN0X0lOVDJGSVhfMV8pOworfQorCisvKiBhdHRy
IGJvb2wgaGFuZGxlc19zcCBAIHB1dG9iamVjdF9JTlQyRklYXzFfKCkoKSh2YWwpICovCitib29s
CithdHRyX2hhbmRsZXNfc3BfcHV0b2JqZWN0X0lOVDJGSVhfMV8odm9pZCkKK3sKKyAgICByZXR1
cm4gZmFsc2U7Cit9CisKKy8qIGF0dHIgYm9vbCBsZWFmIEAgcHV0b2JqZWN0X0lOVDJGSVhfMV8o
KSgpKHZhbCkgKi8KK2Jvb2wKK2F0dHJfbGVhZl9wdXRvYmplY3RfSU5UMkZJWF8xXyh2b2lkKQor
eworICAgIHJldHVybiB0cnVlOworfQorCisvKiBhdHRyIGNvbnN0IGNoYXIqIG5hbWUgQCBwdXRv
YmplY3RfSU5UMkZJWF8xXygpKCkodmFsKSAqLworY29uc3QgY2hhcioKK2F0dHJfbmFtZV9wdXRv
YmplY3RfSU5UMkZJWF8xXyh2b2lkKQoreworICAgIHJldHVybiBpbnNuX25hbWUoQklOKHB1dG9i
amVjdF9JTlQyRklYXzFfKSk7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3Qgb3BlbiBAIHB1dG9iamVj
dF9JTlQyRklYXzFfKCkoKSh2YWwpICovCityYl9udW1fdAorYXR0cl9vcGVuX3B1dG9iamVjdF9J
TlQyRklYXzFfKHZvaWQpCit7CisgICAgcmV0dXJuIDA7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3Qg
cG9wbiBAIHB1dG9iamVjdF9JTlQyRklYXzFfKCkoKSh2YWwpICovCityYl9udW1fdAorYXR0cl9w
b3BuX3B1dG9iamVjdF9JTlQyRklYXzFfKHZvaWQpCit7CisgICAgcmV0dXJuIDA7Cit9CisKKy8q
IGF0dHIgcmJfbnVtX3QgcmV0biBAIHB1dG9iamVjdF9JTlQyRklYXzFfKCkoKSh2YWwpICovCity
Yl9udW1fdAorYXR0cl9yZXRuX3B1dG9iamVjdF9JTlQyRklYXzFfKHZvaWQpCit7CisgICAgcmV0
dXJuIDE7Cit9CisKKy8qIGF0dHIgcmJfc251bV90IHNwX2luYyBAIHB1dG9iamVjdF9JTlQyRklY
XzFfKCkoKSh2YWwpICovCityYl9zbnVtX3QKK2F0dHJfc3BfaW5jX3B1dG9iamVjdF9JTlQyRklY
XzFfKHZvaWQpCit7CisgICAgcmV0dXJuIDE7Cit9CisKKy8qIGF0dHIgcmJfbnVtX3Qgd2lkdGgg
QCBwdXRvYmplY3RfSU5UMkZJWF8xXygpKCkodmFsKSAqLworcmJfbnVtX3QKK2F0dHJfd2lkdGhf
cHV0b2JqZWN0X0lOVDJGSVhfMV8odm9pZCkKK3sKKyAgICByZXR1cm4gMTsKK30KKworUFVSRUZV
TkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBpbnQgaW5zbl9zdGFja19pbmNyZWFzZShpbnQgZGVwdGgs
IGludCBpbnNuLCBjb25zdCBWQUxVRSAqb3BlcykpKTsKK1BVUkVGVU5DKHN0YXRpYyByYl9zbnVt
X3QgaW5zbl9zdGFja19pbmNyZWFzZV9kaXNwYXRjaChlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgaW5z
biwgY29uc3QgVkFMVUUgKm9wZXMpKTsKKworcmJfc251bV90CitpbnNuX3N0YWNrX2luY3JlYXNl
X2Rpc3BhdGNoKGVudW0gcnVieV92bWluc25fdHlwZSBpbnNuLCBjb25zdCBWQUxVRSAqb3BlcykK
K3sKKyAgICBzdGF0aWMgY29uc3Qgc2lnbmVkIGNoYXIgdFtdID0geworICAgICAgICAgICAwLCAg
ICAxLCAgIC0xLCAgICAxLCAgIC0xLCAgICAxLCAgICAxLCAgIC0xLAorICAgICAgICAgICAxLCAg
IC0xLCAgICAxLCAgIC0xLCAgICAwLCAgIC0yLCAgICAxLCAgIC0xLAorICAgICAgICAgICAxLCAg
ICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAtMTI3LCAgIC0xLAorICAgICAgICAgICAwLCAt
MTI3LCAgICAwLCAtMTI3LCAgICAxLCAgICAxLCAtMTI3LCAgIC0xLAorICAgICAgICAgICAwLCAt
MTI3LCAgIC0xLCAgIC0xLCAgICAxLCAtMTI3LCAgICAwLCAtMTI3LAorICAgICAgICAtMTI3LCAt
MTI3LCAtMTI3LCAtMTI3LCAgICAwLCAgIC0xLCAgICAxLCAgICAwLAorICAgICAgICAgIC0xLCAt
MTI3LCAtMTI3LCAgICAxLCAgICAxLCAtMTI3LCAtMTI3LCAtMTI3LAorICAgICAgICAtMTI3LCAg
ICAwLCAgICAwLCAgICAwLCAgIC0xLCAgIC0xLCAgIC0xLCAgICAxLAorICAgICAgICAgICAwLCAg
ICAxLCAtMTI3LCAgIC0xLCAgIC0xLCAgIC0xLCAgIC0xLCAgIC0xLAorICAgICAgICAgIC0xLCAg
IC0xLCAgIC0xLCAgIC0xLCAgIC0xLCAgIC0xLCAgIC0xLCAgIC0xLAorICAgICAgICAgIC0xLCAg
IC0xLCAgIC0yLCAgIC0xLCAgICAwLCAgICAwLCAgICAwLCAgICAwLAorICAgICAgICAgICAwLCAg
ICAwLCAgICAwLCAgIC0xLCAgICAwLCAgICAxLCAgICAxLCAgICAxLAorICAgICAgICAgICAxLCAg
IC0xLCAgIC0xLCAgICAxLCAgICAxLCAgICAwLCAgICAwLCAgICAwLAorICAgICAgICAgICAwLCAg
ICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLAorICAgICAgICAgICAwLCAg
ICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLAorICAgICAgICAgICAwLCAg
ICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLAorICAgICAgICAgICAwLCAg
ICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLAorICAgICAgICAgICAwLCAg
ICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLAorICAgICAgICAgICAwLCAg
ICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLAorICAgICAgICAgICAwLCAg
ICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLAorICAgICAgICAgICAwLCAg
ICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLAorICAgICAgICAgICAwLCAg
ICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLAorICAgICAgICAgICAwLCAg
ICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLAorICAgICAgICAgICAwLCAg
ICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLAorICAgICAgICAgICAwLCAg
ICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLAorICAgICAgICAgICAwLCAg
ICAwLAorICAgIH07CisgICAgc2lnbmVkIGNoYXIgYyA9IHRbaW5zbl07CisKKyAgICBBU1NFUlRf
Vk1fSU5TVFJVQ1RJT05fU0laRSh0KTsKKyAgICBpZiAoYyAhPSAtMTI3KSB7CisgICAgICAgIHJl
dHVybiBjOworICAgIH0KKyAgICBlbHNlIHN3aXRjaChpbnNuKSB7CisgICAgZGVmYXVsdDoKKyAg
ICAgICAgVU5SRUFDSEFCTEU7CisgICAgY2FzZSBCSU4oY29uY2F0c3RyaW5ncyk6CisgICAgICAg
IHJldHVybiBhdHRyX3NwX2luY19jb25jYXRzdHJpbmdzKE5VTTJMT05HKG9wZXNbMF0pKTsKKyAg
ICBjYXNlIEJJTih0b3JlZ2V4cCk6CisgICAgICAgIHJldHVybiBhdHRyX3NwX2luY190b3JlZ2V4
cChOVU0yTE9ORyhvcGVzWzBdKSwgTlVNMkxPTkcob3Blc1sxXSkpOworICAgIGNhc2UgQklOKG5l
d2FycmF5KToKKyAgICAgICAgcmV0dXJuIGF0dHJfc3BfaW5jX25ld2FycmF5KE5VTTJMT05HKG9w
ZXNbMF0pKTsKKyAgICBjYXNlIEJJTihleHBhbmRhcnJheSk6CisgICAgICAgIHJldHVybiBhdHRy
X3NwX2luY19leHBhbmRhcnJheShOVU0yTE9ORyhvcGVzWzBdKSwgTlVNMkxPTkcob3Blc1sxXSkp
OworICAgIGNhc2UgQklOKG5ld2hhc2gpOgorICAgICAgICByZXR1cm4gYXR0cl9zcF9pbmNfbmV3
aGFzaChOVU0yTE9ORyhvcGVzWzBdKSk7CisgICAgY2FzZSBCSU4oZHVwbik6CisgICAgICAgIHJl
dHVybiBhdHRyX3NwX2luY19kdXBuKE5VTTJMT05HKG9wZXNbMF0pKTsKKyAgICBjYXNlIEJJTihy
ZXZlcnNlKToKKyAgICAgICAgcmV0dXJuIGF0dHJfc3BfaW5jX3JldmVyc2UoTlVNMkxPTkcob3Bl
c1swXSkpOworICAgIGNhc2UgQklOKHJlcHV0KToKKyAgICAgICAgcmV0dXJuIGF0dHJfc3BfaW5j
X3JlcHV0KCk7CisgICAgY2FzZSBCSU4odG9wbik6CisgICAgICAgIHJldHVybiBhdHRyX3NwX2lu
Y190b3BuKE5VTTJMT05HKG9wZXNbMF0pKTsKKyAgICBjYXNlIEJJTihzZXRuKToKKyAgICAgICAg
cmV0dXJuIGF0dHJfc3BfaW5jX3NldG4oTlVNMkxPTkcob3Blc1swXSkpOworICAgIGNhc2UgQklO
KGFkanVzdHN0YWNrKToKKyAgICAgICAgcmV0dXJuIGF0dHJfc3BfaW5jX2FkanVzdHN0YWNrKE5V
TTJMT05HKG9wZXNbMF0pKTsKKyAgICBjYXNlIEJJTihzZW5kKToKKyAgICAgICAgcmV0dXJuIGF0
dHJfc3BfaW5jX3NlbmQoKENBTExfSU5GTykob3Blc1swXSksIChDQUxMX0NBQ0hFKShvcGVzWzFd
KSwgKElTRVEpKG9wZXNbMl0pKTsKKyAgICBjYXNlIEJJTihvcHRfc2VuZF93aXRob3V0X2Jsb2Nr
KToKKyAgICAgICAgcmV0dXJuIGF0dHJfc3BfaW5jX29wdF9zZW5kX3dpdGhvdXRfYmxvY2soKENB
TExfSU5GTykob3Blc1swXSksIChDQUxMX0NBQ0hFKShvcGVzWzFdKSk7CisgICAgY2FzZSBCSU4o
b3B0X25ld2FycmF5X21heCk6CisgICAgICAgIHJldHVybiBhdHRyX3NwX2luY19vcHRfbmV3YXJy
YXlfbWF4KE5VTTJMT05HKG9wZXNbMF0pKTsKKyAgICBjYXNlIEJJTihvcHRfbmV3YXJyYXlfbWlu
KToKKyAgICAgICAgcmV0dXJuIGF0dHJfc3BfaW5jX29wdF9uZXdhcnJheV9taW4oTlVNMkxPTkco
b3Blc1swXSkpOworICAgIGNhc2UgQklOKGludm9rZXN1cGVyKToKKyAgICAgICAgcmV0dXJuIGF0
dHJfc3BfaW5jX2ludm9rZXN1cGVyKChDQUxMX0lORk8pKG9wZXNbMF0pLCAoQ0FMTF9DQUNIRSko
b3Blc1sxXSksIChJU0VRKShvcGVzWzJdKSk7CisgICAgY2FzZSBCSU4oaW52b2tlYmxvY2spOgor
ICAgICAgICByZXR1cm4gYXR0cl9zcF9pbmNfaW52b2tlYmxvY2soKENBTExfSU5GTykob3Blc1sw
XSkpOworICAgIGNhc2UgQklOKG9wdF9jYXNlX2Rpc3BhdGNoKToKKyAgICAgICAgcmV0dXJuIGF0
dHJfc3BfaW5jX29wdF9jYXNlX2Rpc3BhdGNoKChDREhBU0gpKG9wZXNbMF0pLCAoT0ZGU0VUKShv
cGVzWzFdKSk7CisgICAgfQorfQorCitpbnQKK2luc25fc3RhY2tfaW5jcmVhc2UoaW50IGRlcHRo
LCBpbnQgaW5zbiwgY29uc3QgVkFMVUUgKm9wZXMpCit7CisgICAgZW51bSBydWJ5X3ZtaW5zbl90
eXBlIGl0eXBlID0gKGVudW0gcnVieV92bWluc25fdHlwZSlpbnNuOworICAgIHJldHVybiBkZXB0
aCArIChpbnQpaW5zbl9zdGFja19pbmNyZWFzZV9kaXNwYXRjaChpdHlwZSwgb3Blcyk7Cit9CisK
ZGlmZiAtLWdpdCBhL2dlbmVyYXRlZC9rbm93bl9lcnJvcnMuaW5jIGIvZ2VuZXJhdGVkL2tub3du
X2Vycm9ycy5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjM0NzgxMAot
LS0gL2Rldi9udWxsCisrKyBiL2dlbmVyYXRlZC9rbm93bl9lcnJvcnMuaW5jCkBAIC0wLDAgKzEs
NzkxIEBACisvKiogLSotYy0qLQorICogRE8gTk9UIEVESVQKKyAqIFRoaXMgZmlsZSBpcyBhdXRv
bWF0aWNhbGx5IGdlbmVyYXRlZCBieSB0b29sL2dlbmVyaWNfZXJiLnJiIGZyb20KKyAqIHRlbXBs
YXRlL2tub3duX2Vycm9ycy5pbmMudG1wbCBhbmQgZGVmcy9rbm93bl9lcnJvcnMuZGVmLgorICov
CisKKyNpZmRlZiBFMkJJRworICAgICAgICBkZWZpbmVkX2Vycm9yKCJFMkJJRyIsIEUyQklHKQor
I2Vsc2UKKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFMkJJRyIpCisjZW5kaWYKKyNpZmRlZiBF
QUNDRVMKKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRUFDQ0VTIiwgRUFDQ0VTKQorI2Vsc2UKKyAg
ICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFQUNDRVMiKQorI2VuZGlmCisjaWZkZWYgRUFERFJJTlVT
RQorICAgICAgICBkZWZpbmVkX2Vycm9yKCJFQUREUklOVVNFIiwgRUFERFJJTlVTRSkKKyNlbHNl
CisgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRUFERFJJTlVTRSIpCisjZW5kaWYKKyNpZmRlZiBF
QUREUk5PVEFWQUlMCisgICAgICAgIGRlZmluZWRfZXJyb3IoIkVBRERSTk9UQVZBSUwiLCBFQURE
Uk5PVEFWQUlMKQorI2Vsc2UKKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFQUREUk5PVEFWQUlM
IikKKyNlbmRpZgorI2lmZGVmIEVBRFYKKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRUFEViIsIEVB
RFYpCisjZWxzZQorICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVBRFYiKQorI2VuZGlmCisjaWZk
ZWYgRUFGTk9TVVBQT1JUCisgICAgICAgIGRlZmluZWRfZXJyb3IoIkVBRk5PU1VQUE9SVCIsIEVB
Rk5PU1VQUE9SVCkKKyNlbHNlCisgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRUFGTk9TVVBQT1JU
IikKKyNlbmRpZgorI2lmZGVmIEVBR0FJTgorICAgICAgICBkZWZpbmVkX2Vycm9yKCJFQUdBSU4i
LCBFQUdBSU4pCisjZWxzZQorICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVBR0FJTiIpCisjZW5k
aWYKKyNpZmRlZiBFQUxSRUFEWQorICAgICAgICBkZWZpbmVkX2Vycm9yKCJFQUxSRUFEWSIsIEVB
TFJFQURZKQorI2Vsc2UKKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFQUxSRUFEWSIpCisjZW5k
aWYKKyNpZmRlZiBFQVVUSAorICAgICAgICBkZWZpbmVkX2Vycm9yKCJFQVVUSCIsIEVBVVRIKQor
I2Vsc2UKKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFQVVUSCIpCisjZW5kaWYKKyNpZmRlZiBF
QkFEQVJDSAorICAgICAgICBkZWZpbmVkX2Vycm9yKCJFQkFEQVJDSCIsIEVCQURBUkNIKQorI2Vs
c2UKKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFQkFEQVJDSCIpCisjZW5kaWYKKyNpZmRlZiBF
QkFERQorICAgICAgICBkZWZpbmVkX2Vycm9yKCJFQkFERSIsIEVCQURFKQorI2Vsc2UKKyAgICAg
ICAgdW5kZWZpbmVkX2Vycm9yKCJFQkFERSIpCisjZW5kaWYKKyNpZmRlZiBFQkFERVhFQworICAg
ICAgICBkZWZpbmVkX2Vycm9yKCJFQkFERVhFQyIsIEVCQURFWEVDKQorI2Vsc2UKKyAgICAgICAg
dW5kZWZpbmVkX2Vycm9yKCJFQkFERVhFQyIpCisjZW5kaWYKKyNpZmRlZiBFQkFERgorICAgICAg
ICBkZWZpbmVkX2Vycm9yKCJFQkFERiIsIEVCQURGKQorI2Vsc2UKKyAgICAgICAgdW5kZWZpbmVk
X2Vycm9yKCJFQkFERiIpCisjZW5kaWYKKyNpZmRlZiBFQkFERkQKKyAgICAgICAgZGVmaW5lZF9l
cnJvcigiRUJBREZEIiwgRUJBREZEKQorI2Vsc2UKKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJF
QkFERkQiKQorI2VuZGlmCisjaWZkZWYgRUJBRE1BQ0hPCisgICAgICAgIGRlZmluZWRfZXJyb3Io
IkVCQURNQUNITyIsIEVCQURNQUNITykKKyNlbHNlCisgICAgICAgIHVuZGVmaW5lZF9lcnJvcigi
RUJBRE1BQ0hPIikKKyNlbmRpZgorI2lmZGVmIEVCQURNU0cKKyAgICAgICAgZGVmaW5lZF9lcnJv
cigiRUJBRE1TRyIsIEVCQURNU0cpCisjZWxzZQorICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVC
QURNU0ciKQorI2VuZGlmCisjaWZkZWYgRUJBRFIKKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRUJB
RFIiLCBFQkFEUikKKyNlbHNlCisgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRUJBRFIiKQorI2Vu
ZGlmCisjaWZkZWYgRUJBRFJQQworICAgICAgICBkZWZpbmVkX2Vycm9yKCJFQkFEUlBDIiwgRUJB
RFJQQykKKyNlbHNlCisgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRUJBRFJQQyIpCisjZW5kaWYK
KyNpZmRlZiBFQkFEUlFDCisgICAgICAgIGRlZmluZWRfZXJyb3IoIkVCQURSUUMiLCBFQkFEUlFD
KQorI2Vsc2UKKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFQkFEUlFDIikKKyNlbmRpZgorI2lm
ZGVmIEVCQURTTFQKKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRUJBRFNMVCIsIEVCQURTTFQpCisj
ZWxzZQorICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVCQURTTFQiKQorI2VuZGlmCisjaWZkZWYg
RUJGT05UCisgICAgICAgIGRlZmluZWRfZXJyb3IoIkVCRk9OVCIsIEVCRk9OVCkKKyNlbHNlCisg
ICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRUJGT05UIikKKyNlbmRpZgorI2lmZGVmIEVCVVNZCisg
ICAgICAgIGRlZmluZWRfZXJyb3IoIkVCVVNZIiwgRUJVU1kpCisjZWxzZQorICAgICAgICB1bmRl
ZmluZWRfZXJyb3IoIkVCVVNZIikKKyNlbmRpZgorI2lmZGVmIEVDQU5DRUxFRAorICAgICAgICBk
ZWZpbmVkX2Vycm9yKCJFQ0FOQ0VMRUQiLCBFQ0FOQ0VMRUQpCisjZWxzZQorICAgICAgICB1bmRl
ZmluZWRfZXJyb3IoIkVDQU5DRUxFRCIpCisjZW5kaWYKKyNpZmRlZiBFQ0FQTU9ERQorICAgICAg
ICBkZWZpbmVkX2Vycm9yKCJFQ0FQTU9ERSIsIEVDQVBNT0RFKQorI2Vsc2UKKyAgICAgICAgdW5k
ZWZpbmVkX2Vycm9yKCJFQ0FQTU9ERSIpCisjZW5kaWYKKyNpZmRlZiBFQ0hJTEQKKyAgICAgICAg
ZGVmaW5lZF9lcnJvcigiRUNISUxEIiwgRUNISUxEKQorI2Vsc2UKKyAgICAgICAgdW5kZWZpbmVk
X2Vycm9yKCJFQ0hJTEQiKQorI2VuZGlmCisjaWZkZWYgRUNIUk5HCisgICAgICAgIGRlZmluZWRf
ZXJyb3IoIkVDSFJORyIsIEVDSFJORykKKyNlbHNlCisgICAgICAgIHVuZGVmaW5lZF9lcnJvcigi
RUNIUk5HIikKKyNlbmRpZgorI2lmZGVmIEVDT01NCisgICAgICAgIGRlZmluZWRfZXJyb3IoIkVD
T01NIiwgRUNPTU0pCisjZWxzZQorICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVDT01NIikKKyNl
bmRpZgorI2lmZGVmIEVDT05OQUJPUlRFRAorICAgICAgICBkZWZpbmVkX2Vycm9yKCJFQ09OTkFC
T1JURUQiLCBFQ09OTkFCT1JURUQpCisjZWxzZQorICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVD
T05OQUJPUlRFRCIpCisjZW5kaWYKKyNpZmRlZiBFQ09OTlJFRlVTRUQKKyAgICAgICAgZGVmaW5l
ZF9lcnJvcigiRUNPTk5SRUZVU0VEIiwgRUNPTk5SRUZVU0VEKQorI2Vsc2UKKyAgICAgICAgdW5k
ZWZpbmVkX2Vycm9yKCJFQ09OTlJFRlVTRUQiKQorI2VuZGlmCisjaWZkZWYgRUNPTk5SRVNFVAor
ICAgICAgICBkZWZpbmVkX2Vycm9yKCJFQ09OTlJFU0VUIiwgRUNPTk5SRVNFVCkKKyNlbHNlCisg
ICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRUNPTk5SRVNFVCIpCisjZW5kaWYKKyNpZmRlZiBFREVB
RExLCisgICAgICAgIGRlZmluZWRfZXJyb3IoIkVERUFETEsiLCBFREVBRExLKQorI2Vsc2UKKyAg
ICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFREVBRExLIikKKyNlbmRpZgorI2lmZGVmIEVERUFETE9D
SworICAgICAgICBkZWZpbmVkX2Vycm9yKCJFREVBRExPQ0siLCBFREVBRExPQ0spCisjZWxzZQor
ICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVERUFETE9DSyIpCisjZW5kaWYKKyNpZmRlZiBFREVT
VEFERFJSRVEKKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRURFU1RBRERSUkVRIiwgRURFU1RBRERS
UkVRKQorI2Vsc2UKKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFREVTVEFERFJSRVEiKQorI2Vu
ZGlmCisjaWZkZWYgRURFVkVSUgorICAgICAgICBkZWZpbmVkX2Vycm9yKCJFREVWRVJSIiwgRURF
VkVSUikKKyNlbHNlCisgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRURFVkVSUiIpCisjZW5kaWYK
KyNpZmRlZiBFRE9NCisgICAgICAgIGRlZmluZWRfZXJyb3IoIkVET00iLCBFRE9NKQorI2Vsc2UK
KyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFRE9NIikKKyNlbmRpZgorI2lmZGVmIEVET09GVVMK
KyAgICAgICAgZGVmaW5lZF9lcnJvcigiRURPT0ZVUyIsIEVET09GVVMpCisjZWxzZQorICAgICAg
ICB1bmRlZmluZWRfZXJyb3IoIkVET09GVVMiKQorI2VuZGlmCisjaWZkZWYgRURPVERPVAorICAg
ICAgICBkZWZpbmVkX2Vycm9yKCJFRE9URE9UIiwgRURPVERPVCkKKyNlbHNlCisgICAgICAgIHVu
ZGVmaW5lZF9lcnJvcigiRURPVERPVCIpCisjZW5kaWYKKyNpZmRlZiBFRFFVT1QKKyAgICAgICAg
ZGVmaW5lZF9lcnJvcigiRURRVU9UIiwgRURRVU9UKQorI2Vsc2UKKyAgICAgICAgdW5kZWZpbmVk
X2Vycm9yKCJFRFFVT1QiKQorI2VuZGlmCisjaWZkZWYgRUVYSVNUCisgICAgICAgIGRlZmluZWRf
ZXJyb3IoIkVFWElTVCIsIEVFWElTVCkKKyNlbHNlCisgICAgICAgIHVuZGVmaW5lZF9lcnJvcigi
RUVYSVNUIikKKyNlbmRpZgorI2lmZGVmIEVGQVVMVAorICAgICAgICBkZWZpbmVkX2Vycm9yKCJF
RkFVTFQiLCBFRkFVTFQpCisjZWxzZQorICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVGQVVMVCIp
CisjZW5kaWYKKyNpZmRlZiBFRkJJRworICAgICAgICBkZWZpbmVkX2Vycm9yKCJFRkJJRyIsIEVG
QklHKQorI2Vsc2UKKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFRkJJRyIpCisjZW5kaWYKKyNp
ZmRlZiBFRlRZUEUKKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRUZUWVBFIiwgRUZUWVBFKQorI2Vs
c2UKKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFRlRZUEUiKQorI2VuZGlmCisjaWZkZWYgRUhP
U1RET1dOCisgICAgICAgIGRlZmluZWRfZXJyb3IoIkVIT1NURE9XTiIsIEVIT1NURE9XTikKKyNl
bHNlCisgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRUhPU1RET1dOIikKKyNlbmRpZgorI2lmZGVm
IEVIT1NUVU5SRUFDSAorICAgICAgICBkZWZpbmVkX2Vycm9yKCJFSE9TVFVOUkVBQ0giLCBFSE9T
VFVOUkVBQ0gpCisjZWxzZQorICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVIT1NUVU5SRUFDSCIp
CisjZW5kaWYKKyNpZmRlZiBFSFdQT0lTT04KKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRUhXUE9J
U09OIiwgRUhXUE9JU09OKQorI2Vsc2UKKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFSFdQT0lT
T04iKQorI2VuZGlmCisjaWZkZWYgRUlEUk0KKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRUlEUk0i
LCBFSURSTSkKKyNlbHNlCisgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRUlEUk0iKQorI2VuZGlm
CisjaWZkZWYgRUlMU0VRCisgICAgICAgIGRlZmluZWRfZXJyb3IoIkVJTFNFUSIsIEVJTFNFUSkK
KyNlbHNlCisgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRUlMU0VRIikKKyNlbmRpZgorI2lmZGVm
IEVJTlBST0dSRVNTCisgICAgICAgIGRlZmluZWRfZXJyb3IoIkVJTlBST0dSRVNTIiwgRUlOUFJP
R1JFU1MpCisjZWxzZQorICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVJTlBST0dSRVNTIikKKyNl
bmRpZgorI2lmZGVmIEVJTlRSCisgICAgICAgIGRlZmluZWRfZXJyb3IoIkVJTlRSIiwgRUlOVFIp
CisjZWxzZQorICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVJTlRSIikKKyNlbmRpZgorI2lmZGVm
IEVJTlZBTAorICAgICAgICBkZWZpbmVkX2Vycm9yKCJFSU5WQUwiLCBFSU5WQUwpCisjZWxzZQor
ICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVJTlZBTCIpCisjZW5kaWYKKyNpZmRlZiBFSU8KKyAg
ICAgICAgZGVmaW5lZF9lcnJvcigiRUlPIiwgRUlPKQorI2Vsc2UKKyAgICAgICAgdW5kZWZpbmVk
X2Vycm9yKCJFSU8iKQorI2VuZGlmCisjaWZkZWYgRUlQU0VDCisgICAgICAgIGRlZmluZWRfZXJy
b3IoIkVJUFNFQyIsIEVJUFNFQykKKyNlbHNlCisgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRUlQ
U0VDIikKKyNlbmRpZgorI2lmZGVmIEVJU0NPTk4KKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRUlT
Q09OTiIsIEVJU0NPTk4pCisjZWxzZQorICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVJU0NPTk4i
KQorI2VuZGlmCisjaWZkZWYgRUlTRElSCisgICAgICAgIGRlZmluZWRfZXJyb3IoIkVJU0RJUiIs
IEVJU0RJUikKKyNlbHNlCisgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRUlTRElSIikKKyNlbmRp
ZgorI2lmZGVmIEVJU05BTQorICAgICAgICBkZWZpbmVkX2Vycm9yKCJFSVNOQU0iLCBFSVNOQU0p
CisjZWxzZQorICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVJU05BTSIpCisjZW5kaWYKKyNpZmRl
ZiBFS0VZRVhQSVJFRAorICAgICAgICBkZWZpbmVkX2Vycm9yKCJFS0VZRVhQSVJFRCIsIEVLRVlF
WFBJUkVEKQorI2Vsc2UKKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFS0VZRVhQSVJFRCIpCisj
ZW5kaWYKKyNpZmRlZiBFS0VZUkVKRUNURUQKKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRUtFWVJF
SkVDVEVEIiwgRUtFWVJFSkVDVEVEKQorI2Vsc2UKKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJF
S0VZUkVKRUNURUQiKQorI2VuZGlmCisjaWZkZWYgRUtFWVJFVk9LRUQKKyAgICAgICAgZGVmaW5l
ZF9lcnJvcigiRUtFWVJFVk9LRUQiLCBFS0VZUkVWT0tFRCkKKyNlbHNlCisgICAgICAgIHVuZGVm
aW5lZF9lcnJvcigiRUtFWVJFVk9LRUQiKQorI2VuZGlmCisjaWZkZWYgRUwySExUCisgICAgICAg
IGRlZmluZWRfZXJyb3IoIkVMMkhMVCIsIEVMMkhMVCkKKyNlbHNlCisgICAgICAgIHVuZGVmaW5l
ZF9lcnJvcigiRUwySExUIikKKyNlbmRpZgorI2lmZGVmIEVMMk5TWU5DCisgICAgICAgIGRlZmlu
ZWRfZXJyb3IoIkVMMk5TWU5DIiwgRUwyTlNZTkMpCisjZWxzZQorICAgICAgICB1bmRlZmluZWRf
ZXJyb3IoIkVMMk5TWU5DIikKKyNlbmRpZgorI2lmZGVmIEVMM0hMVAorICAgICAgICBkZWZpbmVk
X2Vycm9yKCJFTDNITFQiLCBFTDNITFQpCisjZWxzZQorICAgICAgICB1bmRlZmluZWRfZXJyb3Io
IkVMM0hMVCIpCisjZW5kaWYKKyNpZmRlZiBFTDNSU1QKKyAgICAgICAgZGVmaW5lZF9lcnJvcigi
RUwzUlNUIiwgRUwzUlNUKQorI2Vsc2UKKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFTDNSU1Qi
KQorI2VuZGlmCisjaWZkZWYgRUxBU1QKKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRUxBU1QiLCBF
TEFTVCkKKyNlbHNlCisgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRUxBU1QiKQorI2VuZGlmCisj
aWZkZWYgRUxJQkFDQworICAgICAgICBkZWZpbmVkX2Vycm9yKCJFTElCQUNDIiwgRUxJQkFDQykK
KyNlbHNlCisgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRUxJQkFDQyIpCisjZW5kaWYKKyNpZmRl
ZiBFTElCQkFECisgICAgICAgIGRlZmluZWRfZXJyb3IoIkVMSUJCQUQiLCBFTElCQkFEKQorI2Vs
c2UKKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFTElCQkFEIikKKyNlbmRpZgorI2lmZGVmIEVM
SUJFWEVDCisgICAgICAgIGRlZmluZWRfZXJyb3IoIkVMSUJFWEVDIiwgRUxJQkVYRUMpCisjZWxz
ZQorICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVMSUJFWEVDIikKKyNlbmRpZgorI2lmZGVmIEVM
SUJNQVgKKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRUxJQk1BWCIsIEVMSUJNQVgpCisjZWxzZQor
ICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVMSUJNQVgiKQorI2VuZGlmCisjaWZkZWYgRUxJQlND
TgorICAgICAgICBkZWZpbmVkX2Vycm9yKCJFTElCU0NOIiwgRUxJQlNDTikKKyNlbHNlCisgICAg
ICAgIHVuZGVmaW5lZF9lcnJvcigiRUxJQlNDTiIpCisjZW5kaWYKKyNpZmRlZiBFTE5STkcKKyAg
ICAgICAgZGVmaW5lZF9lcnJvcigiRUxOUk5HIiwgRUxOUk5HKQorI2Vsc2UKKyAgICAgICAgdW5k
ZWZpbmVkX2Vycm9yKCJFTE5STkciKQorI2VuZGlmCisjaWZkZWYgRUxPT1AKKyAgICAgICAgZGVm
aW5lZF9lcnJvcigiRUxPT1AiLCBFTE9PUCkKKyNlbHNlCisgICAgICAgIHVuZGVmaW5lZF9lcnJv
cigiRUxPT1AiKQorI2VuZGlmCisjaWZkZWYgRU1FRElVTVRZUEUKKyAgICAgICAgZGVmaW5lZF9l
cnJvcigiRU1FRElVTVRZUEUiLCBFTUVESVVNVFlQRSkKKyNlbHNlCisgICAgICAgIHVuZGVmaW5l
ZF9lcnJvcigiRU1FRElVTVRZUEUiKQorI2VuZGlmCisjaWZkZWYgRU1GSUxFCisgICAgICAgIGRl
ZmluZWRfZXJyb3IoIkVNRklMRSIsIEVNRklMRSkKKyNlbHNlCisgICAgICAgIHVuZGVmaW5lZF9l
cnJvcigiRU1GSUxFIikKKyNlbmRpZgorI2lmZGVmIEVNTElOSworICAgICAgICBkZWZpbmVkX2Vy
cm9yKCJFTUxJTksiLCBFTUxJTkspCisjZWxzZQorICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVN
TElOSyIpCisjZW5kaWYKKyNpZmRlZiBFTVNHU0laRQorICAgICAgICBkZWZpbmVkX2Vycm9yKCJF
TVNHU0laRSIsIEVNU0dTSVpFKQorI2Vsc2UKKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFTVNH
U0laRSIpCisjZW5kaWYKKyNpZmRlZiBFTVVMVElIT1AKKyAgICAgICAgZGVmaW5lZF9lcnJvcigi
RU1VTFRJSE9QIiwgRU1VTFRJSE9QKQorI2Vsc2UKKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJF
TVVMVElIT1AiKQorI2VuZGlmCisjaWZkZWYgRU5BTUVUT09MT05HCisgICAgICAgIGRlZmluZWRf
ZXJyb3IoIkVOQU1FVE9PTE9ORyIsIEVOQU1FVE9PTE9ORykKKyNlbHNlCisgICAgICAgIHVuZGVm
aW5lZF9lcnJvcigiRU5BTUVUT09MT05HIikKKyNlbmRpZgorI2lmZGVmIEVOQVZBSUwKKyAgICAg
ICAgZGVmaW5lZF9lcnJvcigiRU5BVkFJTCIsIEVOQVZBSUwpCisjZWxzZQorICAgICAgICB1bmRl
ZmluZWRfZXJyb3IoIkVOQVZBSUwiKQorI2VuZGlmCisjaWZkZWYgRU5FRURBVVRICisgICAgICAg
IGRlZmluZWRfZXJyb3IoIkVORUVEQVVUSCIsIEVORUVEQVVUSCkKKyNlbHNlCisgICAgICAgIHVu
ZGVmaW5lZF9lcnJvcigiRU5FRURBVVRIIikKKyNlbmRpZgorI2lmZGVmIEVORVRET1dOCisgICAg
ICAgIGRlZmluZWRfZXJyb3IoIkVORVRET1dOIiwgRU5FVERPV04pCisjZWxzZQorICAgICAgICB1
bmRlZmluZWRfZXJyb3IoIkVORVRET1dOIikKKyNlbmRpZgorI2lmZGVmIEVORVRSRVNFVAorICAg
ICAgICBkZWZpbmVkX2Vycm9yKCJFTkVUUkVTRVQiLCBFTkVUUkVTRVQpCisjZWxzZQorICAgICAg
ICB1bmRlZmluZWRfZXJyb3IoIkVORVRSRVNFVCIpCisjZW5kaWYKKyNpZmRlZiBFTkVUVU5SRUFD
SAorICAgICAgICBkZWZpbmVkX2Vycm9yKCJFTkVUVU5SRUFDSCIsIEVORVRVTlJFQUNIKQorI2Vs
c2UKKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFTkVUVU5SRUFDSCIpCisjZW5kaWYKKyNpZmRl
ZiBFTkZJTEUKKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRU5GSUxFIiwgRU5GSUxFKQorI2Vsc2UK
KyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFTkZJTEUiKQorI2VuZGlmCisjaWZkZWYgRU5PQU5P
CisgICAgICAgIGRlZmluZWRfZXJyb3IoIkVOT0FOTyIsIEVOT0FOTykKKyNlbHNlCisgICAgICAg
IHVuZGVmaW5lZF9lcnJvcigiRU5PQU5PIikKKyNlbmRpZgorI2lmZGVmIEVOT0FUVFIKKyAgICAg
ICAgZGVmaW5lZF9lcnJvcigiRU5PQVRUUiIsIEVOT0FUVFIpCisjZWxzZQorICAgICAgICB1bmRl
ZmluZWRfZXJyb3IoIkVOT0FUVFIiKQorI2VuZGlmCisjaWZkZWYgRU5PQlVGUworICAgICAgICBk
ZWZpbmVkX2Vycm9yKCJFTk9CVUZTIiwgRU5PQlVGUykKKyNlbHNlCisgICAgICAgIHVuZGVmaW5l
ZF9lcnJvcigiRU5PQlVGUyIpCisjZW5kaWYKKyNpZmRlZiBFTk9DU0kKKyAgICAgICAgZGVmaW5l
ZF9lcnJvcigiRU5PQ1NJIiwgRU5PQ1NJKQorI2Vsc2UKKyAgICAgICAgdW5kZWZpbmVkX2Vycm9y
KCJFTk9DU0kiKQorI2VuZGlmCisjaWZkZWYgRU5PREFUQQorICAgICAgICBkZWZpbmVkX2Vycm9y
KCJFTk9EQVRBIiwgRU5PREFUQSkKKyNlbHNlCisgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRU5P
REFUQSIpCisjZW5kaWYKKyNpZmRlZiBFTk9ERVYKKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRU5P
REVWIiwgRU5PREVWKQorI2Vsc2UKKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFTk9ERVYiKQor
I2VuZGlmCisjaWZkZWYgRU5PRU5UCisgICAgICAgIGRlZmluZWRfZXJyb3IoIkVOT0VOVCIsIEVO
T0VOVCkKKyNlbHNlCisgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRU5PRU5UIikKKyNlbmRpZgor
I2lmZGVmIEVOT0VYRUMKKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRU5PRVhFQyIsIEVOT0VYRUMp
CisjZWxzZQorICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVOT0VYRUMiKQorI2VuZGlmCisjaWZk
ZWYgRU5PS0VZCisgICAgICAgIGRlZmluZWRfZXJyb3IoIkVOT0tFWSIsIEVOT0tFWSkKKyNlbHNl
CisgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRU5PS0VZIikKKyNlbmRpZgorI2lmZGVmIEVOT0xD
SworICAgICAgICBkZWZpbmVkX2Vycm9yKCJFTk9MQ0siLCBFTk9MQ0spCisjZWxzZQorICAgICAg
ICB1bmRlZmluZWRfZXJyb3IoIkVOT0xDSyIpCisjZW5kaWYKKyNpZmRlZiBFTk9MSU5LCisgICAg
ICAgIGRlZmluZWRfZXJyb3IoIkVOT0xJTksiLCBFTk9MSU5LKQorI2Vsc2UKKyAgICAgICAgdW5k
ZWZpbmVkX2Vycm9yKCJFTk9MSU5LIikKKyNlbmRpZgorI2lmZGVmIEVOT01FRElVTQorICAgICAg
ICBkZWZpbmVkX2Vycm9yKCJFTk9NRURJVU0iLCBFTk9NRURJVU0pCisjZWxzZQorICAgICAgICB1
bmRlZmluZWRfZXJyb3IoIkVOT01FRElVTSIpCisjZW5kaWYKKyNpZmRlZiBFTk9NRU0KKyAgICAg
ICAgZGVmaW5lZF9lcnJvcigiRU5PTUVNIiwgRU5PTUVNKQorI2Vsc2UKKyAgICAgICAgdW5kZWZp
bmVkX2Vycm9yKCJFTk9NRU0iKQorI2VuZGlmCisjaWZkZWYgRU5PTVNHCisgICAgICAgIGRlZmlu
ZWRfZXJyb3IoIkVOT01TRyIsIEVOT01TRykKKyNlbHNlCisgICAgICAgIHVuZGVmaW5lZF9lcnJv
cigiRU5PTVNHIikKKyNlbmRpZgorI2lmZGVmIEVOT05FVAorICAgICAgICBkZWZpbmVkX2Vycm9y
KCJFTk9ORVQiLCBFTk9ORVQpCisjZWxzZQorICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVOT05F
VCIpCisjZW5kaWYKKyNpZmRlZiBFTk9QS0cKKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRU5PUEtH
IiwgRU5PUEtHKQorI2Vsc2UKKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFTk9QS0ciKQorI2Vu
ZGlmCisjaWZkZWYgRU5PUE9MSUNZCisgICAgICAgIGRlZmluZWRfZXJyb3IoIkVOT1BPTElDWSIs
IEVOT1BPTElDWSkKKyNlbHNlCisgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRU5PUE9MSUNZIikK
KyNlbmRpZgorI2lmZGVmIEVOT1BST1RPT1BUCisgICAgICAgIGRlZmluZWRfZXJyb3IoIkVOT1BS
T1RPT1BUIiwgRU5PUFJPVE9PUFQpCisjZWxzZQorICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVO
T1BST1RPT1BUIikKKyNlbmRpZgorI2lmZGVmIEVOT1NQQworICAgICAgICBkZWZpbmVkX2Vycm9y
KCJFTk9TUEMiLCBFTk9TUEMpCisjZWxzZQorICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVOT1NQ
QyIpCisjZW5kaWYKKyNpZmRlZiBFTk9TUgorICAgICAgICBkZWZpbmVkX2Vycm9yKCJFTk9TUiIs
IEVOT1NSKQorI2Vsc2UKKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFTk9TUiIpCisjZW5kaWYK
KyNpZmRlZiBFTk9TVFIKKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRU5PU1RSIiwgRU5PU1RSKQor
I2Vsc2UKKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFTk9TVFIiKQorI2VuZGlmCisjaWZkZWYg
RU5PU1lTCisgICAgICAgIGRlZmluZWRfZXJyb3IoIkVOT1NZUyIsIEVOT1NZUykKKyNlbHNlCisg
ICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRU5PU1lTIikKKyNlbmRpZgorI2lmZGVmIEVOT1RCTEsK
KyAgICAgICAgZGVmaW5lZF9lcnJvcigiRU5PVEJMSyIsIEVOT1RCTEspCisjZWxzZQorICAgICAg
ICB1bmRlZmluZWRfZXJyb3IoIkVOT1RCTEsiKQorI2VuZGlmCisjaWZkZWYgRU5PVENBUEFCTEUK
KyAgICAgICAgZGVmaW5lZF9lcnJvcigiRU5PVENBUEFCTEUiLCBFTk9UQ0FQQUJMRSkKKyNlbHNl
CisgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRU5PVENBUEFCTEUiKQorI2VuZGlmCisjaWZkZWYg
RU5PVENPTk4KKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRU5PVENPTk4iLCBFTk9UQ09OTikKKyNl
bHNlCisgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRU5PVENPTk4iKQorI2VuZGlmCisjaWZkZWYg
RU5PVERJUgorICAgICAgICBkZWZpbmVkX2Vycm9yKCJFTk9URElSIiwgRU5PVERJUikKKyNlbHNl
CisgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRU5PVERJUiIpCisjZW5kaWYKKyNpZmRlZiBFTk9U
RU1QVFkKKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRU5PVEVNUFRZIiwgRU5PVEVNUFRZKQorI2Vs
c2UKKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFTk9URU1QVFkiKQorI2VuZGlmCisjaWZkZWYg
RU5PVE5BTQorICAgICAgICBkZWZpbmVkX2Vycm9yKCJFTk9UTkFNIiwgRU5PVE5BTSkKKyNlbHNl
CisgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRU5PVE5BTSIpCisjZW5kaWYKKyNpZmRlZiBFTk9U
UkVDT1ZFUkFCTEUKKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRU5PVFJFQ09WRVJBQkxFIiwgRU5P
VFJFQ09WRVJBQkxFKQorI2Vsc2UKKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFTk9UUkVDT1ZF
UkFCTEUiKQorI2VuZGlmCisjaWZkZWYgRU5PVFNPQ0sKKyAgICAgICAgZGVmaW5lZF9lcnJvcigi
RU5PVFNPQ0siLCBFTk9UU09DSykKKyNlbHNlCisgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRU5P
VFNPQ0siKQorI2VuZGlmCisjaWZkZWYgRU5PVFNVUAorICAgICAgICBkZWZpbmVkX2Vycm9yKCJF
Tk9UU1VQIiwgRU5PVFNVUCkKKyNlbHNlCisgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRU5PVFNV
UCIpCisjZW5kaWYKKyNpZmRlZiBFTk9UVFkKKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRU5PVFRZ
IiwgRU5PVFRZKQorI2Vsc2UKKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFTk9UVFkiKQorI2Vu
ZGlmCisjaWZkZWYgRU5PVFVOSVEKKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRU5PVFVOSVEiLCBF
Tk9UVU5JUSkKKyNlbHNlCisgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRU5PVFVOSVEiKQorI2Vu
ZGlmCisjaWZkZWYgRU5YSU8KKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRU5YSU8iLCBFTlhJTykK
KyNlbHNlCisgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRU5YSU8iKQorI2VuZGlmCisjaWZkZWYg
RU9QTk9UU1VQUAorICAgICAgICBkZWZpbmVkX2Vycm9yKCJFT1BOT1RTVVBQIiwgRU9QTk9UU1VQ
UCkKKyNlbHNlCisgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRU9QTk9UU1VQUCIpCisjZW5kaWYK
KyNpZmRlZiBFT1ZFUkZMT1cKKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRU9WRVJGTE9XIiwgRU9W
RVJGTE9XKQorI2Vsc2UKKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFT1ZFUkZMT1ciKQorI2Vu
ZGlmCisjaWZkZWYgRU9XTkVSREVBRAorICAgICAgICBkZWZpbmVkX2Vycm9yKCJFT1dORVJERUFE
IiwgRU9XTkVSREVBRCkKKyNlbHNlCisgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRU9XTkVSREVB
RCIpCisjZW5kaWYKKyNpZmRlZiBFUEVSTQorICAgICAgICBkZWZpbmVkX2Vycm9yKCJFUEVSTSIs
IEVQRVJNKQorI2Vsc2UKKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFUEVSTSIpCisjZW5kaWYK
KyNpZmRlZiBFUEZOT1NVUFBPUlQKKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRVBGTk9TVVBQT1JU
IiwgRVBGTk9TVVBQT1JUKQorI2Vsc2UKKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFUEZOT1NV
UFBPUlQiKQorI2VuZGlmCisjaWZkZWYgRVBJUEUKKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRVBJ
UEUiLCBFUElQRSkKKyNlbHNlCisgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRVBJUEUiKQorI2Vu
ZGlmCisjaWZkZWYgRVBST0NMSU0KKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRVBST0NMSU0iLCBF
UFJPQ0xJTSkKKyNlbHNlCisgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRVBST0NMSU0iKQorI2Vu
ZGlmCisjaWZkZWYgRVBST0NVTkFWQUlMCisgICAgICAgIGRlZmluZWRfZXJyb3IoIkVQUk9DVU5B
VkFJTCIsIEVQUk9DVU5BVkFJTCkKKyNlbHNlCisgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRVBS
T0NVTkFWQUlMIikKKyNlbmRpZgorI2lmZGVmIEVQUk9HTUlTTUFUQ0gKKyAgICAgICAgZGVmaW5l
ZF9lcnJvcigiRVBST0dNSVNNQVRDSCIsIEVQUk9HTUlTTUFUQ0gpCisjZWxzZQorICAgICAgICB1
bmRlZmluZWRfZXJyb3IoIkVQUk9HTUlTTUFUQ0giKQorI2VuZGlmCisjaWZkZWYgRVBST0dVTkFW
QUlMCisgICAgICAgIGRlZmluZWRfZXJyb3IoIkVQUk9HVU5BVkFJTCIsIEVQUk9HVU5BVkFJTCkK
KyNlbHNlCisgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRVBST0dVTkFWQUlMIikKKyNlbmRpZgor
I2lmZGVmIEVQUk9UTworICAgICAgICBkZWZpbmVkX2Vycm9yKCJFUFJPVE8iLCBFUFJPVE8pCisj
ZWxzZQorICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVQUk9UTyIpCisjZW5kaWYKKyNpZmRlZiBF
UFJPVE9OT1NVUFBPUlQKKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRVBST1RPTk9TVVBQT1JUIiwg
RVBST1RPTk9TVVBQT1JUKQorI2Vsc2UKKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFUFJPVE9O
T1NVUFBPUlQiKQorI2VuZGlmCisjaWZkZWYgRVBST1RPVFlQRQorICAgICAgICBkZWZpbmVkX2Vy
cm9yKCJFUFJPVE9UWVBFIiwgRVBST1RPVFlQRSkKKyNlbHNlCisgICAgICAgIHVuZGVmaW5lZF9l
cnJvcigiRVBST1RPVFlQRSIpCisjZW5kaWYKKyNpZmRlZiBFUFdST0ZGCisgICAgICAgIGRlZmlu
ZWRfZXJyb3IoIkVQV1JPRkYiLCBFUFdST0ZGKQorI2Vsc2UKKyAgICAgICAgdW5kZWZpbmVkX2Vy
cm9yKCJFUFdST0ZGIikKKyNlbmRpZgorI2lmZGVmIEVRRlVMTAorICAgICAgICBkZWZpbmVkX2Vy
cm9yKCJFUUZVTEwiLCBFUUZVTEwpCisjZWxzZQorICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVR
RlVMTCIpCisjZW5kaWYKKyNpZmRlZiBFUkFOR0UKKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRVJB
TkdFIiwgRVJBTkdFKQorI2Vsc2UKKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFUkFOR0UiKQor
I2VuZGlmCisjaWZkZWYgRVJFTUNIRworICAgICAgICBkZWZpbmVkX2Vycm9yKCJFUkVNQ0hHIiwg
RVJFTUNIRykKKyNlbHNlCisgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRVJFTUNIRyIpCisjZW5k
aWYKKyNpZmRlZiBFUkVNT1RFCisgICAgICAgIGRlZmluZWRfZXJyb3IoIkVSRU1PVEUiLCBFUkVN
T1RFKQorI2Vsc2UKKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFUkVNT1RFIikKKyNlbmRpZgor
I2lmZGVmIEVSRU1PVEVJTworICAgICAgICBkZWZpbmVkX2Vycm9yKCJFUkVNT1RFSU8iLCBFUkVN
T1RFSU8pCisjZWxzZQorICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVSRU1PVEVJTyIpCisjZW5k
aWYKKyNpZmRlZiBFUkVTVEFSVAorICAgICAgICBkZWZpbmVkX2Vycm9yKCJFUkVTVEFSVCIsIEVS
RVNUQVJUKQorI2Vsc2UKKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFUkVTVEFSVCIpCisjZW5k
aWYKKyNpZmRlZiBFUkZLSUxMCisgICAgICAgIGRlZmluZWRfZXJyb3IoIkVSRktJTEwiLCBFUkZL
SUxMKQorI2Vsc2UKKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFUkZLSUxMIikKKyNlbmRpZgor
I2lmZGVmIEVST0ZTCisgICAgICAgIGRlZmluZWRfZXJyb3IoIkVST0ZTIiwgRVJPRlMpCisjZWxz
ZQorICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVST0ZTIikKKyNlbmRpZgorI2lmZGVmIEVSUENN
SVNNQVRDSAorICAgICAgICBkZWZpbmVkX2Vycm9yKCJFUlBDTUlTTUFUQ0giLCBFUlBDTUlTTUFU
Q0gpCisjZWxzZQorICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVSUENNSVNNQVRDSCIpCisjZW5k
aWYKKyNpZmRlZiBFU0hMSUJWRVJTCisgICAgICAgIGRlZmluZWRfZXJyb3IoIkVTSExJQlZFUlMi
LCBFU0hMSUJWRVJTKQorI2Vsc2UKKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFU0hMSUJWRVJT
IikKKyNlbmRpZgorI2lmZGVmIEVTSFVURE9XTgorICAgICAgICBkZWZpbmVkX2Vycm9yKCJFU0hV
VERPV04iLCBFU0hVVERPV04pCisjZWxzZQorICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVTSFVU
RE9XTiIpCisjZW5kaWYKKyNpZmRlZiBFU09DS1ROT1NVUFBPUlQKKyAgICAgICAgZGVmaW5lZF9l
cnJvcigiRVNPQ0tUTk9TVVBQT1JUIiwgRVNPQ0tUTk9TVVBQT1JUKQorI2Vsc2UKKyAgICAgICAg
dW5kZWZpbmVkX2Vycm9yKCJFU09DS1ROT1NVUFBPUlQiKQorI2VuZGlmCisjaWZkZWYgRVNQSVBF
CisgICAgICAgIGRlZmluZWRfZXJyb3IoIkVTUElQRSIsIEVTUElQRSkKKyNlbHNlCisgICAgICAg
IHVuZGVmaW5lZF9lcnJvcigiRVNQSVBFIikKKyNlbmRpZgorI2lmZGVmIEVTUkNICisgICAgICAg
IGRlZmluZWRfZXJyb3IoIkVTUkNIIiwgRVNSQ0gpCisjZWxzZQorICAgICAgICB1bmRlZmluZWRf
ZXJyb3IoIkVTUkNIIikKKyNlbmRpZgorI2lmZGVmIEVTUk1OVAorICAgICAgICBkZWZpbmVkX2Vy
cm9yKCJFU1JNTlQiLCBFU1JNTlQpCisjZWxzZQorICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVT
Uk1OVCIpCisjZW5kaWYKKyNpZmRlZiBFU1RBTEUKKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRVNU
QUxFIiwgRVNUQUxFKQorI2Vsc2UKKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFU1RBTEUiKQor
I2VuZGlmCisjaWZkZWYgRVNUUlBJUEUKKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRVNUUlBJUEUi
LCBFU1RSUElQRSkKKyNlbHNlCisgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRVNUUlBJUEUiKQor
I2VuZGlmCisjaWZkZWYgRVRJTUUKKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRVRJTUUiLCBFVElN
RSkKKyNlbHNlCisgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRVRJTUUiKQorI2VuZGlmCisjaWZk
ZWYgRVRJTUVET1VUCisgICAgICAgIGRlZmluZWRfZXJyb3IoIkVUSU1FRE9VVCIsIEVUSU1FRE9V
VCkKKyNlbHNlCisgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRVRJTUVET1VUIikKKyNlbmRpZgor
I2lmZGVmIEVUT09NQU5ZUkVGUworICAgICAgICBkZWZpbmVkX2Vycm9yKCJFVE9PTUFOWVJFRlMi
LCBFVE9PTUFOWVJFRlMpCisjZWxzZQorICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVUT09NQU5Z
UkVGUyIpCisjZW5kaWYKKyNpZmRlZiBFVFhUQlNZCisgICAgICAgIGRlZmluZWRfZXJyb3IoIkVU
WFRCU1kiLCBFVFhUQlNZKQorI2Vsc2UKKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFVFhUQlNZ
IikKKyNlbmRpZgorI2lmZGVmIEVVQ0xFQU4KKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRVVDTEVB
TiIsIEVVQ0xFQU4pCisjZWxzZQorICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVVQ0xFQU4iKQor
I2VuZGlmCisjaWZkZWYgRVVOQVRDSAorICAgICAgICBkZWZpbmVkX2Vycm9yKCJFVU5BVENIIiwg
RVVOQVRDSCkKKyNlbHNlCisgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRVVOQVRDSCIpCisjZW5k
aWYKKyNpZmRlZiBFVVNFUlMKKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRVVTRVJTIiwgRVVTRVJT
KQorI2Vsc2UKKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFVVNFUlMiKQorI2VuZGlmCisjaWZk
ZWYgRVdPVUxEQkxPQ0sKKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRVdPVUxEQkxPQ0siLCBFV09V
TERCTE9DSykKKyNlbHNlCisgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRVdPVUxEQkxPQ0siKQor
I2VuZGlmCisjaWZkZWYgRVhERVYKKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRVhERVYiLCBFWERF
VikKKyNlbHNlCisgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRVhERVYiKQorI2VuZGlmCisjaWZk
ZWYgRVhGVUxMCisgICAgICAgIGRlZmluZWRfZXJyb3IoIkVYRlVMTCIsIEVYRlVMTCkKKyNlbHNl
CisgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRVhGVUxMIikKKyNlbmRpZgpkaWZmIC0tZ2l0IGEv
Z2VuZXJhdGVkL2xleC5jIGIvZ2VuZXJhdGVkL2xleC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLjkyYTQ3OTMKLS0tIC9kZXYvbnVsbAorKysgYi9nZW5lcmF0ZWQvbGV4LmMK
QEAgLTAsMCArMSwzMDMgQEAKKy8qIEFOU0ktQyBjb2RlIHByb2R1Y2VkIGJ5IGdwZXJmIHZlcnNp
b24gMy4xICovCisvKiBDb21tYW5kLWxpbmU6IGdwZXJmIC1DIC1QIC1wIC1qMSAtaSAxIC1nIC1v
IC10IC1OIHJiX3Jlc2VydmVkX3dvcmQgLWsnMSwzLCQnIGRlZnMva2V5d29yZHMgICovCisKKyNp
ZiAhKCgnICcgPT0gMzIpICYmICgnIScgPT0gMzMpICYmICgnIicgPT0gMzQpICYmICgnIycgPT0g
MzUpIFwKKyAgICAgICYmICgnJScgPT0gMzcpICYmICgnJicgPT0gMzgpICYmICgnXCcnID09IDM5
KSAmJiAoJygnID09IDQwKSBcCisgICAgICAmJiAoJyknID09IDQxKSAmJiAoJyonID09IDQyKSAm
JiAoJysnID09IDQzKSAmJiAoJywnID09IDQ0KSBcCisgICAgICAmJiAoJy0nID09IDQ1KSAmJiAo
Jy4nID09IDQ2KSAmJiAoJy8nID09IDQ3KSAmJiAoJzAnID09IDQ4KSBcCisgICAgICAmJiAoJzEn
ID09IDQ5KSAmJiAoJzInID09IDUwKSAmJiAoJzMnID09IDUxKSAmJiAoJzQnID09IDUyKSBcCisg
ICAgICAmJiAoJzUnID09IDUzKSAmJiAoJzYnID09IDU0KSAmJiAoJzcnID09IDU1KSAmJiAoJzgn
ID09IDU2KSBcCisgICAgICAmJiAoJzknID09IDU3KSAmJiAoJzonID09IDU4KSAmJiAoJzsnID09
IDU5KSAmJiAoJzwnID09IDYwKSBcCisgICAgICAmJiAoJz0nID09IDYxKSAmJiAoJz4nID09IDYy
KSAmJiAoJz8nID09IDYzKSAmJiAoJ0EnID09IDY1KSBcCisgICAgICAmJiAoJ0InID09IDY2KSAm
JiAoJ0MnID09IDY3KSAmJiAoJ0QnID09IDY4KSAmJiAoJ0UnID09IDY5KSBcCisgICAgICAmJiAo
J0YnID09IDcwKSAmJiAoJ0cnID09IDcxKSAmJiAoJ0gnID09IDcyKSAmJiAoJ0knID09IDczKSBc
CisgICAgICAmJiAoJ0onID09IDc0KSAmJiAoJ0snID09IDc1KSAmJiAoJ0wnID09IDc2KSAmJiAo
J00nID09IDc3KSBcCisgICAgICAmJiAoJ04nID09IDc4KSAmJiAoJ08nID09IDc5KSAmJiAoJ1An
ID09IDgwKSAmJiAoJ1EnID09IDgxKSBcCisgICAgICAmJiAoJ1InID09IDgyKSAmJiAoJ1MnID09
IDgzKSAmJiAoJ1QnID09IDg0KSAmJiAoJ1UnID09IDg1KSBcCisgICAgICAmJiAoJ1YnID09IDg2
KSAmJiAoJ1cnID09IDg3KSAmJiAoJ1gnID09IDg4KSAmJiAoJ1knID09IDg5KSBcCisgICAgICAm
JiAoJ1onID09IDkwKSAmJiAoJ1snID09IDkxKSAmJiAoJ1xcJyA9PSA5MikgJiYgKCddJyA9PSA5
MykgXAorICAgICAgJiYgKCdeJyA9PSA5NCkgJiYgKCdfJyA9PSA5NSkgJiYgKCdhJyA9PSA5Nykg
JiYgKCdiJyA9PSA5OCkgXAorICAgICAgJiYgKCdjJyA9PSA5OSkgJiYgKCdkJyA9PSAxMDApICYm
ICgnZScgPT0gMTAxKSAmJiAoJ2YnID09IDEwMikgXAorICAgICAgJiYgKCdnJyA9PSAxMDMpICYm
ICgnaCcgPT0gMTA0KSAmJiAoJ2knID09IDEwNSkgJiYgKCdqJyA9PSAxMDYpIFwKKyAgICAgICYm
ICgnaycgPT0gMTA3KSAmJiAoJ2wnID09IDEwOCkgJiYgKCdtJyA9PSAxMDkpICYmICgnbicgPT0g
MTEwKSBcCisgICAgICAmJiAoJ28nID09IDExMSkgJiYgKCdwJyA9PSAxMTIpICYmICgncScgPT0g
MTEzKSAmJiAoJ3InID09IDExNCkgXAorICAgICAgJiYgKCdzJyA9PSAxMTUpICYmICgndCcgPT0g
MTE2KSAmJiAoJ3UnID09IDExNykgJiYgKCd2JyA9PSAxMTgpIFwKKyAgICAgICYmICgndycgPT0g
MTE5KSAmJiAoJ3gnID09IDEyMCkgJiYgKCd5JyA9PSAxMjEpICYmICgneicgPT0gMTIyKSBcCisg
ICAgICAmJiAoJ3snID09IDEyMykgJiYgKCd8JyA9PSAxMjQpICYmICgnfScgPT0gMTI1KSAmJiAo
J34nID09IDEyNikpCisvKiBUaGUgY2hhcmFjdGVyIHNldCBpcyBub3QgYmFzZWQgb24gSVNPLTY0
Ni4gICovCisjZXJyb3IgImdwZXJmIGdlbmVyYXRlZCB0YWJsZXMgZG9uJ3Qgd29yayB3aXRoIHRo
aXMgZXhlY3V0aW9uIGNoYXJhY3RlciBzZXQuIFBsZWFzZSByZXBvcnQgYSBidWcgdG8gPGJ1Zy1n
cGVyZkBnbnUub3JnPi4iCisjZW5kaWYKKworI2RlZmluZSBncGVyZl9vZmZzZXRvZihzLCBuKSAo
c2hvcnQpb2Zmc2V0b2Yoc3RydWN0IHMjI190LCBzIyNfc3RyIyNuKQorI2xpbmUgMSAiZGVmcy9r
ZXl3b3JkcyIKKworc3RydWN0IGt3dGFibGUge3Nob3J0IG5hbWUsIGlkWzJdLCBzdGF0ZTt9Owor
Y29uc3Qgc3RydWN0IGt3dGFibGUgKnJiX3Jlc2VydmVkX3dvcmQoY29uc3QgY2hhciAqLCB1bnNp
Z25lZCBpbnQpOworI2lmbmRlZiBSSVBQRVIKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qga3d0YWJsZSAq
cmVzZXJ2ZWRfd29yZCgvKmNvbnN0IGNoYXIgKiwgdW5zaWduZWQgaW50Ki8pOworI2RlZmluZSBy
Yl9yZXNlcnZlZF93b3JkKHN0ciwgbGVuKSByZXNlcnZlZF93b3JkKHN0ciwgbGVuKQorI2xpbmUg
OSAiZGVmcy9rZXl3b3JkcyIKK3N0cnVjdCBrd3RhYmxlOworCisjZGVmaW5lIFRPVEFMX0tFWVdP
UkRTIDQxCisjZGVmaW5lIE1JTl9XT1JEX0xFTkdUSCAyCisjZGVmaW5lIE1BWF9XT1JEX0xFTkdU
SCAxMgorI2RlZmluZSBNSU5fSEFTSF9WQUxVRSA4CisjZGVmaW5lIE1BWF9IQVNIX1ZBTFVFIDUw
CisvKiBtYXhpbXVtIGtleSByYW5nZSA9IDQzLCBkdXBsaWNhdGVzID0gMCAqLworCisjaWZkZWYg
X19HTlVDX18KK19faW5saW5lCisjZWxzZQorI2lmZGVmIF9fY3BsdXNwbHVzCitpbmxpbmUKKyNl
bmRpZgorI2VuZGlmCitzdGF0aWMgdW5zaWduZWQgaW50CitoYXNoIChyZWdpc3RlciBjb25zdCBj
aGFyICpzdHIsIHJlZ2lzdGVyIHNpemVfdCBsZW4pCit7CisgIHN0YXRpYyBjb25zdCB1bnNpZ25l
ZCBjaGFyIGFzc29fdmFsdWVzW10gPQorICAgIHsKKyAgICAgIDUxLCA1MSwgNTEsIDUxLCA1MSwg
NTEsIDUxLCA1MSwgNTEsIDUxLAorICAgICAgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUx
LCA1MSwgNTEsCisgICAgICA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwK
KyAgICAgIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLAorICAgICAgNTEs
IDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsCisgICAgICA1MSwgNTEsIDUxLCA1
MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwKKyAgICAgIDUxLCA1MSwgNTEsIDI2LCA1MSwgNTEs
IDE0LCA1MSwgMTYsICA4LAorICAgICAgMTEsIDEzLCA1MSwgNTEsIDUxLCA1MSwgMTAsIDUxLCAx
MywgNTEsCisgICAgICA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwKKyAg
ICAgIDUxLCA1MSwgNTEsIDUxLCA1MSwgMTEsIDUxLCAxMywgIDEsIDI2LAorICAgICAgIDQsICAx
LCAgOCwgMjgsIDUxLCAyMywgNTEsICAxLCAgMSwgMjcsCisgICAgICAgNSwgMTksIDIxLCA1MSwg
IDgsICAzLCAgMywgMTEsIDUxLCAyMSwKKyAgICAgIDI0LCAxNiwgNTEsIDUxLCA1MSwgNTEsIDUx
LCA1MSwgNTEsIDUxLAorICAgICAgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwg
NTEsCisgICAgICA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwKKyAgICAg
IDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLAorICAgICAgNTEsIDUxLCA1
MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsCisgICAgICA1MSwgNTEsIDUxLCA1MSwgNTEs
IDUxLCA1MSwgNTEsIDUxLCA1MSwKKyAgICAgIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1
MSwgNTEsIDUxLAorICAgICAgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEs
CisgICAgICA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwKKyAgICAgIDUx
LCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLAorICAgICAgNTEsIDUxLCA1MSwg
NTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsCisgICAgICA1MSwgNTEsIDUxLCA1MSwgNTEsIDUx
LCA1MSwgNTEsIDUxLCA1MSwKKyAgICAgIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwg
NTEsIDUxLAorICAgICAgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MQorICAgIH07CisgIHJlZ2lzdGVy
IHVuc2lnbmVkIGludCBodmFsID0gKHVuc2lnbmVkIGludClsZW47CisKKyAgc3dpdGNoIChodmFs
KQorICAgIHsKKyAgICAgIGRlZmF1bHQ6CisgICAgICAgIGh2YWwgKz0gYXNzb192YWx1ZXNbKHVu
c2lnbmVkIGNoYXIpc3RyWzJdXTsKKyAgICAgIC8qRkFMTFRIUk9VR0gqLworICAgICAgY2FzZSAy
OgorICAgICAgY2FzZSAxOgorICAgICAgICBodmFsICs9IGFzc29fdmFsdWVzWyh1bnNpZ25lZCBj
aGFyKXN0clswXV07CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgcmV0dXJuICh1bnNpZ25lZCBp
bnQpaHZhbCArIGFzc29fdmFsdWVzWyh1bnNpZ25lZCBjaGFyKXN0cltsZW4gLSAxXV07Cit9CisK
K3N0cnVjdCBzdHJpbmdwb29sX3QKKyAgeworICAgIGNoYXIgc3RyaW5ncG9vbF9zdHI4W3NpemVv
ZigiYnJlYWsiKV07CisgICAgY2hhciBzdHJpbmdwb29sX3N0cjlbc2l6ZW9mKCJlbHNlIildOwor
ICAgIGNoYXIgc3RyaW5ncG9vbF9zdHIxMFtzaXplb2YoIm5pbCIpXTsKKyAgICBjaGFyIHN0cmlu
Z3Bvb2xfc3RyMTFbc2l6ZW9mKCJlbnN1cmUiKV07CisgICAgY2hhciBzdHJpbmdwb29sX3N0cjEy
W3NpemVvZigiZW5kIildOworICAgIGNoYXIgc3RyaW5ncG9vbF9zdHIxM1tzaXplb2YoInRoZW4i
KV07CisgICAgY2hhciBzdHJpbmdwb29sX3N0cjE0W3NpemVvZigibm90IildOworICAgIGNoYXIg
c3RyaW5ncG9vbF9zdHIxNVtzaXplb2YoImZhbHNlIildOworICAgIGNoYXIgc3RyaW5ncG9vbF9z
dHIxNltzaXplb2YoInNlbGYiKV07CisgICAgY2hhciBzdHJpbmdwb29sX3N0cjE3W3NpemVvZigi
ZWxzaWYiKV07CisgICAgY2hhciBzdHJpbmdwb29sX3N0cjE4W3NpemVvZigicmVzY3VlIildOwor
ICAgIGNoYXIgc3RyaW5ncG9vbF9zdHIxOVtzaXplb2YoInRydWUiKV07CisgICAgY2hhciBzdHJp
bmdwb29sX3N0cjIwW3NpemVvZigidW50aWwiKV07CisgICAgY2hhciBzdHJpbmdwb29sX3N0cjIx
W3NpemVvZigidW5sZXNzIildOworICAgIGNoYXIgc3RyaW5ncG9vbF9zdHIyMltzaXplb2YoInJl
dHVybiIpXTsKKyAgICBjaGFyIHN0cmluZ3Bvb2xfc3RyMjNbc2l6ZW9mKCJkZWYiKV07CisgICAg
Y2hhciBzdHJpbmdwb29sX3N0cjI0W3NpemVvZigiYW5kIildOworICAgIGNoYXIgc3RyaW5ncG9v
bF9zdHIyNVtzaXplb2YoImRvIildOworICAgIGNoYXIgc3RyaW5ncG9vbF9zdHIyNltzaXplb2Yo
InlpZWxkIildOworICAgIGNoYXIgc3RyaW5ncG9vbF9zdHIyN1tzaXplb2YoImZvciIpXTsKKyAg
ICBjaGFyIHN0cmluZ3Bvb2xfc3RyMjhbc2l6ZW9mKCJ1bmRlZiIpXTsKKyAgICBjaGFyIHN0cmlu
Z3Bvb2xfc3RyMjlbc2l6ZW9mKCJvciIpXTsKKyAgICBjaGFyIHN0cmluZ3Bvb2xfc3RyMzBbc2l6
ZW9mKCJpbiIpXTsKKyAgICBjaGFyIHN0cmluZ3Bvb2xfc3RyMzFbc2l6ZW9mKCJ3aGVuIildOwor
ICAgIGNoYXIgc3RyaW5ncG9vbF9zdHIzMltzaXplb2YoInJldHJ5IildOworICAgIGNoYXIgc3Ry
aW5ncG9vbF9zdHIzM1tzaXplb2YoImlmIildOworICAgIGNoYXIgc3RyaW5ncG9vbF9zdHIzNFtz
aXplb2YoImNhc2UiKV07CisgICAgY2hhciBzdHJpbmdwb29sX3N0cjM1W3NpemVvZigicmVkbyIp
XTsKKyAgICBjaGFyIHN0cmluZ3Bvb2xfc3RyMzZbc2l6ZW9mKCJuZXh0IildOworICAgIGNoYXIg
c3RyaW5ncG9vbF9zdHIzN1tzaXplb2YoInN1cGVyIildOworICAgIGNoYXIgc3RyaW5ncG9vbF9z
dHIzOFtzaXplb2YoIm1vZHVsZSIpXTsKKyAgICBjaGFyIHN0cmluZ3Bvb2xfc3RyMzlbc2l6ZW9m
KCJiZWdpbiIpXTsKKyAgICBjaGFyIHN0cmluZ3Bvb2xfc3RyNDBbc2l6ZW9mKCJfX0xJTkVfXyIp
XTsKKyAgICBjaGFyIHN0cmluZ3Bvb2xfc3RyNDFbc2l6ZW9mKCJfX0ZJTEVfXyIpXTsKKyAgICBj
aGFyIHN0cmluZ3Bvb2xfc3RyNDJbc2l6ZW9mKCJfX0VOQ09ESU5HX18iKV07CisgICAgY2hhciBz
dHJpbmdwb29sX3N0cjQzW3NpemVvZigiRU5EIildOworICAgIGNoYXIgc3RyaW5ncG9vbF9zdHI0
NFtzaXplb2YoImFsaWFzIildOworICAgIGNoYXIgc3RyaW5ncG9vbF9zdHI0NVtzaXplb2YoIkJF
R0lOIildOworICAgIGNoYXIgc3RyaW5ncG9vbF9zdHI0NltzaXplb2YoImRlZmluZWQ/IildOwor
ICAgIGNoYXIgc3RyaW5ncG9vbF9zdHI0N1tzaXplb2YoImNsYXNzIildOworICAgIGNoYXIgc3Ry
aW5ncG9vbF9zdHI1MFtzaXplb2YoIndoaWxlIildOworICB9Oworc3RhdGljIGNvbnN0IHN0cnVj
dCBzdHJpbmdwb29sX3Qgc3RyaW5ncG9vbF9jb250ZW50cyA9CisgIHsKKyAgICAiYnJlYWsiLAor
ICAgICJlbHNlIiwKKyAgICAibmlsIiwKKyAgICAiZW5zdXJlIiwKKyAgICAiZW5kIiwKKyAgICAi
dGhlbiIsCisgICAgIm5vdCIsCisgICAgImZhbHNlIiwKKyAgICAic2VsZiIsCisgICAgImVsc2lm
IiwKKyAgICAicmVzY3VlIiwKKyAgICAidHJ1ZSIsCisgICAgInVudGlsIiwKKyAgICAidW5sZXNz
IiwKKyAgICAicmV0dXJuIiwKKyAgICAiZGVmIiwKKyAgICAiYW5kIiwKKyAgICAiZG8iLAorICAg
ICJ5aWVsZCIsCisgICAgImZvciIsCisgICAgInVuZGVmIiwKKyAgICAib3IiLAorICAgICJpbiIs
CisgICAgIndoZW4iLAorICAgICJyZXRyeSIsCisgICAgImlmIiwKKyAgICAiY2FzZSIsCisgICAg
InJlZG8iLAorICAgICJuZXh0IiwKKyAgICAic3VwZXIiLAorICAgICJtb2R1bGUiLAorICAgICJi
ZWdpbiIsCisgICAgIl9fTElORV9fIiwKKyAgICAiX19GSUxFX18iLAorICAgICJfX0VOQ09ESU5H
X18iLAorICAgICJFTkQiLAorICAgICJhbGlhcyIsCisgICAgIkJFR0lOIiwKKyAgICAiZGVmaW5l
ZD8iLAorICAgICJjbGFzcyIsCisgICAgIndoaWxlIgorICB9OworI2RlZmluZSBzdHJpbmdwb29s
ICgoY29uc3QgY2hhciAqKSAmc3RyaW5ncG9vbF9jb250ZW50cykKK2NvbnN0IHN0cnVjdCBrd3Rh
YmxlICoKK3JiX3Jlc2VydmVkX3dvcmQgKHJlZ2lzdGVyIGNvbnN0IGNoYXIgKnN0ciwgcmVnaXN0
ZXIgc2l6ZV90IGxlbikKK3sKKyAgc3RhdGljIGNvbnN0IHN0cnVjdCBrd3RhYmxlIHdvcmRsaXN0
W10gPQorICAgIHsKKyAgICAgIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHstMX0sIHst
MX0sIHstMX0sCisjbGluZSAxOSAiZGVmcy9rZXl3b3JkcyIKKyAgICAgIHtncGVyZl9vZmZzZXRv
ZihzdHJpbmdwb29sLCA4KSwge2tleXdvcmRfYnJlYWssIGtleXdvcmRfYnJlYWt9LCBFWFBSX01J
RH0sCisjbGluZSAyNSAiZGVmcy9rZXl3b3JkcyIKKyAgICAgIHtncGVyZl9vZmZzZXRvZihzdHJp
bmdwb29sLCA5KSwge2tleXdvcmRfZWxzZSwga2V5d29yZF9lbHNlfSwgRVhQUl9CRUd9LAorI2xp
bmUgMzUgImRlZnMva2V5d29yZHMiCisgICAgICB7Z3BlcmZfb2Zmc2V0b2Yoc3RyaW5ncG9vbCwg
MTApLCB7a2V5d29yZF9uaWwsIGtleXdvcmRfbmlsfSwgRVhQUl9FTkR9LAorI2xpbmUgMjggImRl
ZnMva2V5d29yZHMiCisgICAgICB7Z3BlcmZfb2Zmc2V0b2Yoc3RyaW5ncG9vbCwgMTEpLCB7a2V5
d29yZF9lbnN1cmUsIGtleXdvcmRfZW5zdXJlfSwgRVhQUl9CRUd9LAorI2xpbmUgMjcgImRlZnMv
a2V5d29yZHMiCisgICAgICB7Z3BlcmZfb2Zmc2V0b2Yoc3RyaW5ncG9vbCwgMTIpLCB7a2V5d29y
ZF9lbmQsIGtleXdvcmRfZW5kfSwgRVhQUl9FTkR9LAorI2xpbmUgNDQgImRlZnMva2V5d29yZHMi
CisgICAgICB7Z3BlcmZfb2Zmc2V0b2Yoc3RyaW5ncG9vbCwgMTMpLCB7a2V5d29yZF90aGVuLCBr
ZXl3b3JkX3RoZW59LCBFWFBSX0JFR30sCisjbGluZSAzNiAiZGVmcy9rZXl3b3JkcyIKKyAgICAg
IHtncGVyZl9vZmZzZXRvZihzdHJpbmdwb29sLCAxNCksIHtrZXl3b3JkX25vdCwga2V5d29yZF9u
b3R9LCBFWFBSX0FSR30sCisjbGluZSAyOSAiZGVmcy9rZXl3b3JkcyIKKyAgICAgIHtncGVyZl9v
ZmZzZXRvZihzdHJpbmdwb29sLCAxNSksIHtrZXl3b3JkX2ZhbHNlLCBrZXl3b3JkX2ZhbHNlfSwg
RVhQUl9FTkR9LAorI2xpbmUgNDIgImRlZnMva2V5d29yZHMiCisgICAgICB7Z3BlcmZfb2Zmc2V0
b2Yoc3RyaW5ncG9vbCwgMTYpLCB7a2V5d29yZF9zZWxmLCBrZXl3b3JkX3NlbGZ9LCBFWFBSX0VO
RH0sCisjbGluZSAyNiAiZGVmcy9rZXl3b3JkcyIKKyAgICAgIHtncGVyZl9vZmZzZXRvZihzdHJp
bmdwb29sLCAxNyksIHtrZXl3b3JkX2Vsc2lmLCBrZXl3b3JkX2Vsc2lmfSwgRVhQUl9WQUxVRX0s
CisjbGluZSAzOSAiZGVmcy9rZXl3b3JkcyIKKyAgICAgIHtncGVyZl9vZmZzZXRvZihzdHJpbmdw
b29sLCAxOCksIHtrZXl3b3JkX3Jlc2N1ZSwgbW9kaWZpZXJfcmVzY3VlfSwgRVhQUl9NSUR9LAor
I2xpbmUgNDUgImRlZnMva2V5d29yZHMiCisgICAgICB7Z3BlcmZfb2Zmc2V0b2Yoc3RyaW5ncG9v
bCwgMTkpLCB7a2V5d29yZF90cnVlLCBrZXl3b3JkX3RydWV9LCBFWFBSX0VORH0sCisjbGluZSA0
OCAiZGVmcy9rZXl3b3JkcyIKKyAgICAgIHtncGVyZl9vZmZzZXRvZihzdHJpbmdwb29sLCAyMCks
IHtrZXl3b3JkX3VudGlsLCBtb2RpZmllcl91bnRpbH0sIEVYUFJfVkFMVUV9LAorI2xpbmUgNDcg
ImRlZnMva2V5d29yZHMiCisgICAgICB7Z3BlcmZfb2Zmc2V0b2Yoc3RyaW5ncG9vbCwgMjEpLCB7
a2V5d29yZF91bmxlc3MsIG1vZGlmaWVyX3VubGVzc30sIEVYUFJfVkFMVUV9LAorI2xpbmUgNDEg
ImRlZnMva2V5d29yZHMiCisgICAgICB7Z3BlcmZfb2Zmc2V0b2Yoc3RyaW5ncG9vbCwgMjIpLCB7
a2V5d29yZF9yZXR1cm4sIGtleXdvcmRfcmV0dXJufSwgRVhQUl9NSUR9LAorI2xpbmUgMjIgImRl
ZnMva2V5d29yZHMiCisgICAgICB7Z3BlcmZfb2Zmc2V0b2Yoc3RyaW5ncG9vbCwgMjMpLCB7a2V5
d29yZF9kZWYsIGtleXdvcmRfZGVmfSwgRVhQUl9GTkFNRX0sCisjbGluZSAxNyAiZGVmcy9rZXl3
b3JkcyIKKyAgICAgIHtncGVyZl9vZmZzZXRvZihzdHJpbmdwb29sLCAyNCksIHtrZXl3b3JkX2Fu
ZCwga2V5d29yZF9hbmR9LCBFWFBSX1ZBTFVFfSwKKyNsaW5lIDI0ICJkZWZzL2tleXdvcmRzIgor
ICAgICAge2dwZXJmX29mZnNldG9mKHN0cmluZ3Bvb2wsIDI1KSwge2tleXdvcmRfZG8sIGtleXdv
cmRfZG99LCBFWFBSX0JFR30sCisjbGluZSA1MSAiZGVmcy9rZXl3b3JkcyIKKyAgICAgIHtncGVy
Zl9vZmZzZXRvZihzdHJpbmdwb29sLCAyNiksIHtrZXl3b3JkX3lpZWxkLCBrZXl3b3JkX3lpZWxk
fSwgRVhQUl9BUkd9LAorI2xpbmUgMzAgImRlZnMva2V5d29yZHMiCisgICAgICB7Z3BlcmZfb2Zm
c2V0b2Yoc3RyaW5ncG9vbCwgMjcpLCB7a2V5d29yZF9mb3IsIGtleXdvcmRfZm9yfSwgRVhQUl9W
QUxVRX0sCisjbGluZSA0NiAiZGVmcy9rZXl3b3JkcyIKKyAgICAgIHtncGVyZl9vZmZzZXRvZihz
dHJpbmdwb29sLCAyOCksIHtrZXl3b3JkX3VuZGVmLCBrZXl3b3JkX3VuZGVmfSwgRVhQUl9GTkFN
RXxFWFBSX0ZJVEVNfSwKKyNsaW5lIDM3ICJkZWZzL2tleXdvcmRzIgorICAgICAge2dwZXJmX29m
ZnNldG9mKHN0cmluZ3Bvb2wsIDI5KSwge2tleXdvcmRfb3IsIGtleXdvcmRfb3J9LCBFWFBSX1ZB
TFVFfSwKKyNsaW5lIDMyICJkZWZzL2tleXdvcmRzIgorICAgICAge2dwZXJmX29mZnNldG9mKHN0
cmluZ3Bvb2wsIDMwKSwge2tleXdvcmRfaW4sIGtleXdvcmRfaW59LCBFWFBSX1ZBTFVFfSwKKyNs
aW5lIDQ5ICJkZWZzL2tleXdvcmRzIgorICAgICAge2dwZXJmX29mZnNldG9mKHN0cmluZ3Bvb2ws
IDMxKSwge2tleXdvcmRfd2hlbiwga2V5d29yZF93aGVufSwgRVhQUl9WQUxVRX0sCisjbGluZSA0
MCAiZGVmcy9rZXl3b3JkcyIKKyAgICAgIHtncGVyZl9vZmZzZXRvZihzdHJpbmdwb29sLCAzMiks
IHtrZXl3b3JkX3JldHJ5LCBrZXl3b3JkX3JldHJ5fSwgRVhQUl9FTkR9LAorI2xpbmUgMzEgImRl
ZnMva2V5d29yZHMiCisgICAgICB7Z3BlcmZfb2Zmc2V0b2Yoc3RyaW5ncG9vbCwgMzMpLCB7a2V5
d29yZF9pZiwgbW9kaWZpZXJfaWZ9LCBFWFBSX1ZBTFVFfSwKKyNsaW5lIDIwICJkZWZzL2tleXdv
cmRzIgorICAgICAge2dwZXJmX29mZnNldG9mKHN0cmluZ3Bvb2wsIDM0KSwge2tleXdvcmRfY2Fz
ZSwga2V5d29yZF9jYXNlfSwgRVhQUl9WQUxVRX0sCisjbGluZSAzOCAiZGVmcy9rZXl3b3JkcyIK
KyAgICAgIHtncGVyZl9vZmZzZXRvZihzdHJpbmdwb29sLCAzNSksIHtrZXl3b3JkX3JlZG8sIGtl
eXdvcmRfcmVkb30sIEVYUFJfRU5EfSwKKyNsaW5lIDM0ICJkZWZzL2tleXdvcmRzIgorICAgICAg
e2dwZXJmX29mZnNldG9mKHN0cmluZ3Bvb2wsIDM2KSwge2tleXdvcmRfbmV4dCwga2V5d29yZF9u
ZXh0fSwgRVhQUl9NSUR9LAorI2xpbmUgNDMgImRlZnMva2V5d29yZHMiCisgICAgICB7Z3BlcmZf
b2Zmc2V0b2Yoc3RyaW5ncG9vbCwgMzcpLCB7a2V5d29yZF9zdXBlciwga2V5d29yZF9zdXBlcn0s
IEVYUFJfQVJHfSwKKyNsaW5lIDMzICJkZWZzL2tleXdvcmRzIgorICAgICAge2dwZXJmX29mZnNl
dG9mKHN0cmluZ3Bvb2wsIDM4KSwge2tleXdvcmRfbW9kdWxlLCBrZXl3b3JkX21vZHVsZX0sIEVY
UFJfVkFMVUV9LAorI2xpbmUgMTggImRlZnMva2V5d29yZHMiCisgICAgICB7Z3BlcmZfb2Zmc2V0
b2Yoc3RyaW5ncG9vbCwgMzkpLCB7a2V5d29yZF9iZWdpbiwga2V5d29yZF9iZWdpbn0sIEVYUFJf
QkVHfSwKKyNsaW5lIDEyICJkZWZzL2tleXdvcmRzIgorICAgICAge2dwZXJmX29mZnNldG9mKHN0
cmluZ3Bvb2wsIDQwKSwge2tleXdvcmRfX0xJTkVfXywga2V5d29yZF9fTElORV9ffSwgRVhQUl9F
TkR9LAorI2xpbmUgMTMgImRlZnMva2V5d29yZHMiCisgICAgICB7Z3BlcmZfb2Zmc2V0b2Yoc3Ry
aW5ncG9vbCwgNDEpLCB7a2V5d29yZF9fRklMRV9fLCBrZXl3b3JkX19GSUxFX199LCBFWFBSX0VO
RH0sCisjbGluZSAxMSAiZGVmcy9rZXl3b3JkcyIKKyAgICAgIHtncGVyZl9vZmZzZXRvZihzdHJp
bmdwb29sLCA0MiksIHtrZXl3b3JkX19FTkNPRElOR19fLCBrZXl3b3JkX19FTkNPRElOR19ffSwg
RVhQUl9FTkR9LAorI2xpbmUgMTUgImRlZnMva2V5d29yZHMiCisgICAgICB7Z3BlcmZfb2Zmc2V0
b2Yoc3RyaW5ncG9vbCwgNDMpLCB7a2V5d29yZF9FTkQsIGtleXdvcmRfRU5EfSwgRVhQUl9FTkR9
LAorI2xpbmUgMTYgImRlZnMva2V5d29yZHMiCisgICAgICB7Z3BlcmZfb2Zmc2V0b2Yoc3RyaW5n
cG9vbCwgNDQpLCB7a2V5d29yZF9hbGlhcywga2V5d29yZF9hbGlhc30sIEVYUFJfRk5BTUV8RVhQ
Ul9GSVRFTX0sCisjbGluZSAxNCAiZGVmcy9rZXl3b3JkcyIKKyAgICAgIHtncGVyZl9vZmZzZXRv
ZihzdHJpbmdwb29sLCA0NSksIHtrZXl3b3JkX0JFR0lOLCBrZXl3b3JkX0JFR0lOfSwgRVhQUl9F
TkR9LAorI2xpbmUgMjMgImRlZnMva2V5d29yZHMiCisgICAgICB7Z3BlcmZfb2Zmc2V0b2Yoc3Ry
aW5ncG9vbCwgNDYpLCB7a2V5d29yZF9kZWZpbmVkLCBrZXl3b3JkX2RlZmluZWR9LCBFWFBSX0FS
R30sCisjbGluZSAyMSAiZGVmcy9rZXl3b3JkcyIKKyAgICAgIHtncGVyZl9vZmZzZXRvZihzdHJp
bmdwb29sLCA0NyksIHtrZXl3b3JkX2NsYXNzLCBrZXl3b3JkX2NsYXNzfSwgRVhQUl9DTEFTU30s
CisgICAgICB7LTF9LCB7LTF9LAorI2xpbmUgNTAgImRlZnMva2V5d29yZHMiCisgICAgICB7Z3Bl
cmZfb2Zmc2V0b2Yoc3RyaW5ncG9vbCwgNTApLCB7a2V5d29yZF93aGlsZSwgbW9kaWZpZXJfd2hp
bGV9LCBFWFBSX1ZBTFVFfQorICAgIH07CisKKyAgaWYgKGxlbiA8PSBNQVhfV09SRF9MRU5HVEgg
JiYgbGVuID49IE1JTl9XT1JEX0xFTkdUSCkKKyAgICB7CisgICAgICByZWdpc3RlciB1bnNpZ25l
ZCBpbnQga2V5ID0gaGFzaCAoc3RyLCBsZW4pOworCisgICAgICBpZiAoa2V5IDw9IE1BWF9IQVNI
X1ZBTFVFKQorICAgICAgICB7CisgICAgICAgICAgcmVnaXN0ZXIgaW50IG8gPSB3b3JkbGlzdFtr
ZXldLm5hbWU7CisgICAgICAgICAgaWYgKG8gPj0gMCkKKyAgICAgICAgICAgIHsKKyAgICAgICAg
ICAgICAgcmVnaXN0ZXIgY29uc3QgY2hhciAqcyA9IG8gKyBzdHJpbmdwb29sOworCisgICAgICAg
ICAgICAgIGlmICgqc3RyID09ICpzICYmICFzdHJjbXAgKHN0ciArIDEsIHMgKyAxKSkKKyAgICAg
ICAgICAgICAgICByZXR1cm4gJndvcmRsaXN0W2tleV07CisgICAgICAgICAgICB9CisgICAgICAg
IH0KKyAgICB9CisgIHJldHVybiAwOworfQorI2xpbmUgNTIgImRlZnMva2V5d29yZHMiCisKKyNl
bmRpZgpkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL21pbmlwcmVsdWRlLmMgYi9nZW5lcmF0ZWQvbWlu
aXByZWx1ZGUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kN2JiMDY4Ci0t
LSAvZGV2L251bGwKKysrIGIvZ2VuZXJhdGVkL21pbmlwcmVsdWRlLmMKQEAgLTAsMCArMSw5IEBA
CisvKiAtKi1jLSotCisgVEhJUyBGSUxFIFdBUyBBVVRPR0VORVJBVEVEIEJZIHRlbXBsYXRlL3By
ZWx1ZGUuYy50bXBsLiBETyBOT1QgRURJVC4KKworIHNvdXJjZXM6IAorKi8KK3ZvaWQKK0luaXRf
cHJlbHVkZSh2b2lkKQoreworfQpkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL21qaXRfY29tcGlsZS5p
bmMgYi9nZW5lcmF0ZWQvbWppdF9jb21waWxlLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi42NzdkMjRkCi0tLSAvZGV2L251bGwKKysrIGIvZ2VuZXJhdGVkL21qaXRfY29t
cGlsZS5pbmMKQEAgLTAsMCArMSw0MjI2IEBACisvKiAtKi0gbW9kZTpjOyBzdHlsZTpydWJ5OyBj
b2Rpbmc6IHV0Zi04OyBpbmRlbnQtdGFicy1tb2RlOiBuaWwgLSotICovCisKKy8qIFRoaXMgaXMg
IGFuIGF1dG8tZ2VuZXJhdGVkIGZpbGUgIGFuZCBpcyBhICBwYXJ0IG9mIHRoZSAgcHJvZ3JhbW1p
bmcgbGFuZ3VhZ2UKKyAqIFJ1YnkuICBUaGUgIHBlcnNvbiB3aG8gIGNyZWF0ZWQgIGEgIHByb2dy
YW0gIHRvICBnZW5lcmF0ZSB0aGlzICBmaWxlICAoYGBJJycKKyAqIGhlcmVhZnRlcikgd291bGQg
bGlrZSAgdG8gcmVmcmFpbiBmcm9tIGRlZmluaW5nIGxpY2Vuc2luZyAgb2YgdGhpcyBnZW5lcmF0
ZWQKKyAqIHNvdXJjZSBjb2RlLgorICoKKyAqIFRoaXMgZmlsZSBjb25zaXN0IG9mIG1hbnkgc21h
bGwgIHBhcnRzIG9mIGNvZGVzIGNvcHlyaWdodGVkIGJ5IGVhY2ggYXV0aG9ycywKKyAqIG5vdCAg
b25seSAgdGhlICBgYEknJyAgcGVyc29uLiAgIFRob3NlICBvcmlnaW5hbCAgYXV0aG9ycyAgYWdy
ZWUgIHdpdGggIHNvbWUKKyAqIG9wZW4tc291cmNlIGxpY2Vuc2UuICBJICBiZWxpZXZlIHRoYXQg
dGhlIGxpY2Vuc2Ugd2UgYWdyZWUgIGlzIHRoZSBjb25kaXRpb24KKyAqIG1lbnRpb25lZCBpbiAg
dGhlIGZpbGUgQ09QWUlORy4gIEl0ICBzdGF0ZXMgIjQuICBZb3UgbWF5ICBtb2RpZnkgYW5kIGlu
Y2x1ZGUKKyAqIHRoZSBwYXJ0IG9mIHRoZSBzb2Z0d2FyZSBpbnRvIGFueSAgb3RoZXIgc29mdHdh
cmUgLi4uIi4gIEJ1dCB0aGUgcHJvYmxlbSBpcywKKyAqIHRoZSBsaWNlbnNlIG5ldmVyIG1ha2Vz
IGl0IGNsZWFyIGlmICBzdWNoIG1vZGlmaWVkIHBhcnRzIHN0aWxsIHJlbWFpbiBpbiB0aGUKKyAq
IHNhbWUgIGxpY2Vuc2UsIG9yICBub3QuICAgVGhlIGZhY3QgIHRoYXQgIHdlIGFncmVlICB3aXRo
ICB0aGUgc291cmNlICBjb2RlJ3MKKyAqIGxpY2Vuc2luZyB0ZXJtcyBkbyBub3QgYXV0b21hdGlj
YWxseSBkZWZpbmUgdGhhdCBvZiBnZW5lcmF0ZWQgb25lcy4gIFRoaXMgaXMKKyAqIHRoZSByZWFz
b24gIHdoeSB0aGlzIGZpbGUgIGlzIHVuZGVyIHVuY2xlYXIgc2l0dWF0aW9uLiAgIEFsbCB0aGF0
IEkgIGtub3cgaXMKKyAqIHRoYXQgYWJvdmUgcHJvdmlzaW9uIGd1YXJhbnRlZXMgdGhpcyBmaWxl
IHRvIGV4aXN0LgorICoKKyAqIFBsZWFzZSBsZXQgbWUgIGhlc2l0YXRlIHRvIGRlY2xhcmUgc29t
ZXRoaW5nIGFib3V0IHRoaXMgIG51YW5jZWQgY29udHJhY3QuIEkKKyAqIGFtIG5vdCBpbiB0aGUg
cG9zaXRpb24gdG8gdGFrZSAgb3ZlciBvdGhlciBhdXRob3JzJyBsaWNlbnNlIHRvIG1lcmdlIGlu
dG8gbXkKKyAqIG9uZS4gIENoYW5naW5nIHRoZW0gdG8gKHNheSkgR1BMdjMgIGlzIG5vdCBkb2Fi
bGUgYnkgbXlzZWxmLiBQZXJoYXBzIHNvbWVkYXkKKyAqIGl0IG1pZ2h0IHR1cm4gb3V0IHRvIGJl
IG9rYXkgdG8gc2F5IHRoaXMgZmlsZSBpcyB1bmRlciBhIGxpY2Vuc2UuIEkgd2lzaCB0aGUKKyAq
IHNpdHVhdGlvbiB3b3VsZCBiZWNvbWUgbW9yZSBjbGVhciBpbiB0aGUgZnV0dXJlLiAqLworCisv
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKi8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKioKKyAgVGhpcyBmaWxl
IGlzIHRoZSBtYWluIHBhcnQgb2YgY29tcGlsZV9pbnNuKCkgaW4gbWppdF9jb21waWxlLmMuCisK
KyAgLS0tLQorICBUaGlzIGZpbGUgaXMgYXV0byBnZW5lcmF0ZWQgYnkgaW5zbnMydm0ucmIKKyAg
RE8gTk9UIFRPVUNIIQorCisgIElmIHlvdSB3YW50IHRvIGZpeCBzb21ldGhpbmcsIHlvdSBtdXN0
IGVkaXQgInRvb2wvcnVieV92bS92aWV3cy9taml0X2NvbXBpbGUuaW5jLmVyYiIKKyAgb3IgdG9v
bC9pbnNuczJ2bS5yYgorICovCisKK3N3aXRjaCAoaW5zbikgeworICBjYXNlIEJJTihub3ApOgor
ICAgIGZwcmludGYoZiwgIntcbiIpOworICAgIHsKKyAgICAgICAgTUFZQkVfVU5VU0VEKGludCBw
Y19tb3ZlZF9wKSA9IEZBTFNFOworICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7
CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVuc2lnbmVkIGludCkg
c3RhY2tfc2l6ZSA9ICV1O1xuIiwgYi0+c3RhY2tfc2l6ZSk7CisgICAgICAgIH0KKworICAgICAg
ICBpZiAoYm9keS0+Y2F0Y2hfZXhjZXB0X3AgfHwgRkFMU0UpIHsKKyAgICAgICAgICAgIGZwcmlu
dGYoZiwgIiAgICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4
dF9wb3MpOyAvKiBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7ICovCisgICAgICAgICAgICBwY19t
b3ZlZF9wID0gVFJVRTsKKyAgICAgICAgfQorICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFj
a19wKSB7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBmcHJpbnRmKGYs
ICIgICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3Rh
Y2tfc2l6ZSArIDEpOworICAgICAgICB9CisgICAgICAgIGZwcmludGYoZiwgIiAgICB7XG4iKTsK
KyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICAvKiBub25lICovXG4iKTsKKyAgICAgICAgZnBy
aW50ZihmLCAiICAgIH1cbiIpOworICAgICAgICBiLT5zdGFja19zaXplICs9IGF0dHJfc3BfaW5j
X25vcCgpOworICAgIH0KKyAgICBmcHJpbnRmKGYsICJ9XG4iKTsKKyAgICBicmVhazsKKyAgY2Fz
ZSBCSU4oZ2V0bG9jYWwpOgorICAgIGZwcmludGYoZiwgIntcbiIpOworICAgIHsKKyAgICAgICAg
TUFZQkVfVU5VU0VEKGludCBwY19tb3ZlZF9wKSA9IEZBTFNFOworICAgICAgICBNQVlCRV9VTlVT
RUQobGluZGV4X3QgaWR4KSA9IChsaW5kZXhfdClvcGVyYW5kc1swXTsKKyAgICAgICAgTUFZQkVf
VU5VU0VEKHJiX251bV90IGxldmVsKSA9IChyYl9udW1fdClvcGVyYW5kc1sxXTsKKyAgICAgICAg
aWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAg
IE1BWUJFX1VOVVNFRCh1bnNpZ25lZCBpbnQpIHN0YWNrX3NpemUgPSAldTtcbiIsIGItPnN0YWNr
X3NpemUpOworICAgICAgICB9CisgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQo
VkFMVUUpIHZhbDtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKGxp
bmRleF90KSBpZHg7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChy
Yl9udW1fdCkgbGV2ZWw7XG4iKTsKKworICAgICAgICBmcHJpbnRmKGYsICIgICAgaWR4ID0gKGxp
bmRleF90KTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRzWzBdKTsKKyAgICAgICAgZnByaW50Zihm
LCAiXG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIGxldmVsID0gKHJiX251bV90KTB4JSJQ
Ukl4VkFMVUUiOyIsIG9wZXJhbmRzWzFdKTsKKyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsKKyAg
ICAgICAgaWYgKGJvZHktPmNhdGNoX2V4Y2VwdF9wIHx8IEZBTFNFKSB7CisgICAgICAgICAgICBm
cHJpbnRmKGYsICIgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIs
IG5leHRfcG9zKTsgLyogQUREX1BDKElOU05fQVRUUih3aWR0aCkpOyAqLworICAgICAgICAgICAg
cGNfbW92ZWRfcCA9IFRSVUU7CisgICAgICAgIH0KKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxf
c3RhY2tfcCkgeworICAgICAgICB9CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgZnByaW50
ZihmLCAiICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGIt
PnN0YWNrX3NpemUgKyAxKTsKKyAgICAgICAgfQorICAgICAgICBmcHJpbnRmKGYsICIgICAge1xu
Iik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgdmFsID0gKih2bV9nZXRfZXAoR0VUX0VQ
KCksIGxldmVsKSAtIGlkeCk7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICBSQl9E
RUJVR19DT1VOVEVSX0lOQyhsdmFyX2dldCk7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAg
ICAgICAodm9pZClSQl9ERUJVR19DT1VOVEVSX0lOQ19JRihsdmFyX2dldF9keW5hbWljLCBsZXZl
bCA+IDApO1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICB9XG4iKTsKKyAgICAgICAgZnBy
aW50ZihmLCAiICAgIHN0YWNrWyVkXSA9IHZhbDtcbiIsIGItPnN0YWNrX3NpemUgKyAoaW50KWF0
dHJfc3BfaW5jX2dldGxvY2FsKGlkeCwgbGV2ZWwpIC0gMSk7CisgICAgICAgIGItPnN0YWNrX3Np
emUgKz0gYXR0cl9zcF9pbmNfZ2V0bG9jYWwoaWR4LCBsZXZlbCk7CisgICAgfQorICAgIGZwcmlu
dGYoZiwgIn1cbiIpOworICAgIGJyZWFrOworICBjYXNlIEJJTihzZXRsb2NhbCk6CisgICAgZnBy
aW50ZihmLCAie1xuIik7CisgICAgeworICAgICAgICBNQVlCRV9VTlVTRUQoaW50IHBjX21vdmVk
X3ApID0gRkFMU0U7CisgICAgICAgIE1BWUJFX1VOVVNFRChsaW5kZXhfdCBpZHgpID0gKGxpbmRl
eF90KW9wZXJhbmRzWzBdOworICAgICAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QgbGV2ZWwpID0g
KHJiX251bV90KW9wZXJhbmRzWzFdOworICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19w
KSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVuc2lnbmVkIGlu
dCkgc3RhY2tfc2l6ZSA9ICV1O1xuIiwgYi0+c3RhY2tfc2l6ZSk7CisgICAgICAgIH0KKyAgICAg
ICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgdmFsO1xuIik7CisgICAgICAg
IGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQobGluZGV4X3QpIGlkeDtcbiIpOworICAgICAg
ICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHJiX251bV90KSBsZXZlbDtcbiIpOworCisg
ICAgICAgIGZwcmludGYoZiwgIiAgICBpZHggPSAobGluZGV4X3QpMHglIlBSSXhWQUxVRSI7Iiwg
b3BlcmFuZHNbMF0pOworICAgICAgICBmcHJpbnRmKGYsICJcbiIpOworICAgICAgICBmcHJpbnRm
KGYsICIgICAgbGV2ZWwgPSAocmJfbnVtX3QpMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNbMV0p
OworICAgICAgICBmcHJpbnRmKGYsICJcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgdmFs
ID0gc3RhY2tbJWRdO1xuIiwgYi0+c3RhY2tfc2l6ZSAtIDEpOworICAgICAgICBpZiAoYm9keS0+
Y2F0Y2hfZXhjZXB0X3AgfHwgRkFMU0UpIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICBy
ZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3MpOyAvKiBB
RERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7ICovCisgICAgICAgICAgICBwY19tb3ZlZF9wID0gVFJV
RTsKKyAgICAgICAgfQorICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAg
ICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2Nm
cC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEp
OworICAgICAgICB9CisgICAgICAgIGZwcmludGYoZiwgIiAgICB7XG4iKTsKKyAgICAgICAgZnBy
aW50ZihmLCAiICAgICAgICB2bV9lbnZfd3JpdGUodm1fZ2V0X2VwKEdFVF9FUCgpLCBsZXZlbCks
IC0oaW50KWlkeCwgdmFsKTtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIFJCX0RF
QlVHX0NPVU5URVJfSU5DKGx2YXJfc2V0KTtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAg
ICAgICh2b2lkKVJCX0RFQlVHX0NPVU5URVJfSU5DX0lGKGx2YXJfc2V0X2R5bmFtaWMsIGxldmVs
ID4gMCk7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIpOworICAgICAgICBiLT5z
dGFja19zaXplICs9IGF0dHJfc3BfaW5jX3NldGxvY2FsKGlkeCwgbGV2ZWwpOworICAgIH0KKyAg
ICBmcHJpbnRmKGYsICJ9XG4iKTsKKyAgICBicmVhazsKKyAgY2FzZSBCSU4oZ2V0YmxvY2twYXJh
bSk6CisgICAgZnByaW50ZihmLCAie1xuIik7CisgICAgeworICAgICAgICBNQVlCRV9VTlVTRUQo
aW50IHBjX21vdmVkX3ApID0gRkFMU0U7CisgICAgICAgIE1BWUJFX1VOVVNFRChsaW5kZXhfdCBp
ZHgpID0gKGxpbmRleF90KW9wZXJhbmRzWzBdOworICAgICAgICBNQVlCRV9VTlVTRUQocmJfbnVt
X3QgbGV2ZWwpID0gKHJiX251bV90KW9wZXJhbmRzWzFdOworICAgICAgICBpZiAoc3RhdHVzLT5s
b2NhbF9zdGFja19wKSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VE
KHVuc2lnbmVkIGludCkgc3RhY2tfc2l6ZSA9ICV1O1xuIiwgYi0+c3RhY2tfc2l6ZSk7CisgICAg
ICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgdmFsO1xu
Iik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQobGluZGV4X3QpIGlkeDtc
biIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHJiX251bV90KSBsZXZl
bDtcbiIpOworCisgICAgICAgIGZwcmludGYoZiwgIiAgICBpZHggPSAobGluZGV4X3QpMHglIlBS
SXhWQUxVRSI7Iiwgb3BlcmFuZHNbMF0pOworICAgICAgICBmcHJpbnRmKGYsICJcbiIpOworICAg
ICAgICBmcHJpbnRmKGYsICIgICAgbGV2ZWwgPSAocmJfbnVtX3QpMHglIlBSSXhWQUxVRSI7Iiwg
b3BlcmFuZHNbMV0pOworICAgICAgICBmcHJpbnRmKGYsICJcbiIpOworICAgICAgICBpZiAoYm9k
eS0+Y2F0Y2hfZXhjZXB0X3AgfHwgRkFMU0UpIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAg
ICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3MpOyAv
KiBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7ICovCisgICAgICAgICAgICBwY19tb3ZlZF9wID0g
VFJVRTsKKyAgICAgICAgfQorICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cisg
ICAgICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVn
X2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSAr
IDEpOworICAgICAgICB9CisgICAgICAgIGZwcmludGYoZiwgIiAgICB7XG4iKTsKKyAgICAgICAg
ZnByaW50ZihmLCAiICAgICAgICBjb25zdCBWQUxVRSAqZXAgPSB2bV9nZXRfZXAoR0VUX0VQKCks
IGxldmVsKTtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIFZNX0FTU0VSVChWTV9F
TlZfTE9DQUxfUChlcCkpO1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIlxuIik7CisgICAgICAg
IGZwcmludGYoZiwgIiAgICAgICAgaWYgKCFWTV9FTlZfRkxBR1MoZXAsIFZNX0ZSQU1FX0ZMQUdf
TU9ESUZJRURfQkxPQ0tfUEFSQU0pKSB7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgICAg
ICAgICAgdmFsID0gcmJfdm1fYmhfdG9fcHJvY3ZhbChlYywgVk1fRU5WX0JMT0NLX0hBTkRMRVIo
ZXApKTtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgICAgICB2bV9lbnZfd3JpdGUo
ZXAsIC0oaW50KWlkeCwgdmFsKTtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgICAg
ICBWTV9FTlZfRkxBR1NfU0VUKGVwLCBWTV9GUkFNRV9GTEFHX01PRElGSUVEX0JMT0NLX1BBUkFN
KTtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIH1cbiIpOworICAgICAgICBmcHJp
bnRmKGYsICIgICAgICAgIGVsc2Uge1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAg
ICAgIHZhbCA9ICooZXAgLSBpZHgpO1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAg
ICAgIFJCX0RFQlVHX0NPVU5URVJfSU5DKGx2YXJfZ2V0KTtcbiIpOworICAgICAgICBmcHJpbnRm
KGYsICIgICAgICAgICAgICAodm9pZClSQl9ERUJVR19DT1VOVEVSX0lOQ19JRihsdmFyX2dldF9k
eW5hbWljLCBsZXZlbCA+IDApO1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgfVxu
Iik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICB9XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAi
ICAgIHN0YWNrWyVkXSA9IHZhbDtcbiIsIGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5j
X2dldGJsb2NrcGFyYW0oaWR4LCBsZXZlbCkgLSAxKTsKKyAgICAgICAgYi0+c3RhY2tfc2l6ZSAr
PSBhdHRyX3NwX2luY19nZXRibG9ja3BhcmFtKGlkeCwgbGV2ZWwpOworICAgIH0KKyAgICBmcHJp
bnRmKGYsICJ9XG4iKTsKKyAgICBicmVhazsKKyAgY2FzZSBCSU4oc2V0YmxvY2twYXJhbSk6Cisg
ICAgZnByaW50ZihmLCAie1xuIik7CisgICAgeworICAgICAgICBNQVlCRV9VTlVTRUQoaW50IHBj
X21vdmVkX3ApID0gRkFMU0U7CisgICAgICAgIE1BWUJFX1VOVVNFRChsaW5kZXhfdCBpZHgpID0g
KGxpbmRleF90KW9wZXJhbmRzWzBdOworICAgICAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QgbGV2
ZWwpID0gKHJiX251bV90KW9wZXJhbmRzWzFdOworICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9z
dGFja19wKSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVuc2ln
bmVkIGludCkgc3RhY2tfc2l6ZSA9ICV1O1xuIiwgYi0+c3RhY2tfc2l6ZSk7CisgICAgICAgIH0K
KyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgdmFsO1xuIik7Cisg
ICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQobGluZGV4X3QpIGlkeDtcbiIpOwor
ICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHJiX251bV90KSBsZXZlbDtcbiIp
OworCisgICAgICAgIGZwcmludGYoZiwgIiAgICBpZHggPSAobGluZGV4X3QpMHglIlBSSXhWQUxV
RSI7Iiwgb3BlcmFuZHNbMF0pOworICAgICAgICBmcHJpbnRmKGYsICJcbiIpOworICAgICAgICBm
cHJpbnRmKGYsICIgICAgbGV2ZWwgPSAocmJfbnVtX3QpMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFu
ZHNbMV0pOworICAgICAgICBmcHJpbnRmKGYsICJcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIg
ICAgdmFsID0gc3RhY2tbJWRdO1xuIiwgYi0+c3RhY2tfc2l6ZSAtIDEpOworICAgICAgICBpZiAo
Ym9keS0+Y2F0Y2hfZXhjZXB0X3AgfHwgRkFMU0UpIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwg
IiAgICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3Mp
OyAvKiBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7ICovCisgICAgICAgICAgICBwY19tb3ZlZF9w
ID0gVFJVRTsKKyAgICAgICAgfQorICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7
CisgICAgICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAg
cmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6
ZSArIDEpOworICAgICAgICB9CisgICAgICAgIGZwcmludGYoZiwgIiAgICB7XG4iKTsKKyAgICAg
ICAgZnByaW50ZihmLCAiICAgICAgICBjb25zdCBWQUxVRSAqZXAgPSB2bV9nZXRfZXAoR0VUX0VQ
KCksIGxldmVsKTtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIFZNX0FTU0VSVChW
TV9FTlZfTE9DQUxfUChlcCkpO1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIlxuIik7CisgICAg
ICAgIGZwcmludGYoZiwgIiAgICAgICAgdm1fZW52X3dyaXRlKGVwLCAtKGludClpZHgsIHZhbCk7
XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICBSQl9ERUJVR19DT1VOVEVSX0lOQyhs
dmFyX3NldCk7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICAodm9pZClSQl9ERUJV
R19DT1VOVEVSX0lOQ19JRihsdmFyX3NldF9keW5hbWljLCBsZXZlbCA+IDApO1xuIik7CisgICAg
ICAgIGZwcmludGYoZiwgIlxuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgVk1fRU5W
X0ZMQUdTX1NFVChlcCwgVk1fRlJBTUVfRkxBR19NT0RJRklFRF9CTE9DS19QQVJBTSk7XG4iKTsK
KyAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIpOworICAgICAgICBiLT5zdGFja19zaXplICs9
IGF0dHJfc3BfaW5jX3NldGJsb2NrcGFyYW0oaWR4LCBsZXZlbCk7CisgICAgfQorICAgIGZwcmlu
dGYoZiwgIn1cbiIpOworICAgIGJyZWFrOworICBjYXNlIEJJTihnZXRzcGVjaWFsKToKKyAgICBm
cHJpbnRmKGYsICJ7XG4iKTsKKyAgICB7CisgICAgICAgIE1BWUJFX1VOVVNFRChpbnQgcGNfbW92
ZWRfcCkgPSBGQUxTRTsKKyAgICAgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IGtleSkgPSAocmJf
bnVtX3Qpb3BlcmFuZHNbMF07CisgICAgICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCB0eXBlKSA9
IChyYl9udW1fdClvcGVyYW5kc1sxXTsKKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tf
cCkgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRCh1bnNpZ25lZCBp
bnQpIHN0YWNrX3NpemUgPSAldTtcbiIsIGItPnN0YWNrX3NpemUpOworICAgICAgICB9CisgICAg
ICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIHZhbDtcbiIpOworICAgICAg
ICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHJiX251bV90KSBrZXksIHR5cGU7XG4iKTsK
KworICAgICAgICBmcHJpbnRmKGYsICIgICAga2V5ID0gKHJiX251bV90KTB4JSJQUkl4VkFMVUUi
OyIsIG9wZXJhbmRzWzBdKTsKKyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsKKyAgICAgICAgZnBy
aW50ZihmLCAiICAgIHR5cGUgPSAocmJfbnVtX3QpMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNb
MV0pOworICAgICAgICBmcHJpbnRmKGYsICJcbiIpOworICAgICAgICBpZiAoYm9keS0+Y2F0Y2hf
ZXhjZXB0X3AgfHwgRkFMU0UpIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2Zw
LT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3MpOyAvKiBBRERfUEMo
SU5TTl9BVFRSKHdpZHRoKSk7ICovCisgICAgICAgICAgICBwY19tb3ZlZF9wID0gVFJVRTsKKyAg
ICAgICAgfQorICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAgIH0K
KyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+c3Ag
PSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEpOworICAg
ICAgICB9CisgICAgICAgIGZwcmludGYoZiwgIiAgICB7XG4iKTsKKyAgICAgICAgZnByaW50Zihm
LCAiICAgICAgICB2YWwgPSB2bV9nZXRzcGVjaWFsKGVjLCBHRVRfTEVQKCksIGtleSwgdHlwZSk7
XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIpOworICAgICAgICBmcHJpbnRmKGYs
ICIgICAgc3RhY2tbJWRdID0gdmFsO1xuIiwgYi0+c3RhY2tfc2l6ZSArIChpbnQpYXR0cl9zcF9p
bmNfZ2V0c3BlY2lhbChrZXksIHR5cGUpIC0gMSk7CisgICAgICAgIGItPnN0YWNrX3NpemUgKz0g
YXR0cl9zcF9pbmNfZ2V0c3BlY2lhbChrZXksIHR5cGUpOworICAgIH0KKyAgICBmcHJpbnRmKGYs
ICJ9XG4iKTsKKyAgICBicmVhazsKKyAgY2FzZSBCSU4oc2V0c3BlY2lhbCk6CisgICAgZnByaW50
ZihmLCAie1xuIik7CisgICAgeworICAgICAgICBNQVlCRV9VTlVTRUQoaW50IHBjX21vdmVkX3Ap
ID0gRkFMU0U7CisgICAgICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCBrZXkpID0gKHJiX251bV90
KW9wZXJhbmRzWzBdOworICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAg
ICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVuc2lnbmVkIGludCkgc3RhY2tf
c2l6ZSA9ICV1O1xuIiwgYi0+c3RhY2tfc2l6ZSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50
ZihmLCAiICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgb2JqO1xuIik7CisgICAgICAgIGZwcmludGYo
ZiwgIiAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QpIGtleTtcbiIpOworCisgICAgICAgIGZwcmlu
dGYoZiwgIiAgICBrZXkgPSAocmJfbnVtX3QpMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNbMF0p
OworICAgICAgICBmcHJpbnRmKGYsICJcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgb2Jq
ID0gc3RhY2tbJWRdO1xuIiwgYi0+c3RhY2tfc2l6ZSAtIDEpOworICAgICAgICBpZiAoYm9keS0+
Y2F0Y2hfZXhjZXB0X3AgfHwgRkFMU0UpIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICBy
ZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3MpOyAvKiBB
RERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7ICovCisgICAgICAgICAgICBwY19tb3ZlZF9wID0gVFJV
RTsKKyAgICAgICAgfQorICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAg
ICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2Nm
cC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEp
OworICAgICAgICB9CisgICAgICAgIGZwcmludGYoZiwgIiAgICB7XG4iKTsKKyAgICAgICAgZnBy
aW50ZihmLCAiICAgICAgICBsZXBfc3Zhcl9zZXQoZWMsIEdFVF9MRVAoKSwga2V5LCBvYmopO1xu
Iik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICB9XG4iKTsKKyAgICAgICAgYi0+c3RhY2tfc2l6
ZSArPSBhdHRyX3NwX2luY19zZXRzcGVjaWFsKGtleSk7CisgICAgfQorICAgIGZwcmludGYoZiwg
In1cbiIpOworICAgIGJyZWFrOworICBjYXNlIEJJTihnZXRpbnN0YW5jZXZhcmlhYmxlKToKKyNp
ZiBPUFRfSUNfRk9SX0lWQVIKK3sKKyAgICBNQVlCRV9VTlVTRUQoSUQgaWQpID0gKElEKW9wZXJh
bmRzWzBdOworICAgIE1BWUJFX1VOVVNFRChJQyBpYykgPSAoSUMpb3BlcmFuZHNbMV07CisgICAg
SUMgaWNfY29weSA9ICYoc3RhdHVzLT5pc19lbnRyaWVzICsgKCh1bmlvbiBpc2VxX2lubGluZV9z
dG9yYWdlX2VudHJ5ICopaWMgLSBib2R5LT5pc19lbnRyaWVzKSktPmNhY2hlOworICAgIGlmIChp
Y19jb3B5LT5pY19zZXJpYWwpIHsKKyAgICAgICAgZnByaW50ZihmLCAie1xuIik7CisgICAgICAg
IGZwcmludGYoZiwgIiAgICBWQUxVRSBvYmogPSBHRVRfU0VMRigpO1xuIik7CisgICAgICAgIGZw
cmludGYoZiwgIiAgICBjb25zdCByYl9zZXJpYWxfdCBpY19zZXJpYWwgPSAocmJfc2VyaWFsX3Qp
JSJQUklfU0VSSUFMVF9QUkVGSVgidTtcbiIsIGljX2NvcHktPmljX3NlcmlhbCk7CisgICAgICAg
IGZwcmludGYoZiwgIiAgICBjb25zdCBzdF9pbmRleF90IGluZGV4ID0gJSJQUkl1U0laRSI7XG4i
LCBpY19jb3B5LT5pY192YWx1ZS5pbmRleCk7CisgICAgICAgIGZwcmludGYoZiwgIiAgICBWQUxV
RSB2YWw7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIGlmIChMSUtFTFkoUkJfVFlQRV9Q
KG9iaiwgVF9PQkpFQ1QpICYmIGljX3NlcmlhbCA9PSBSQ0xBU1NfU0VSSUFMKFJCQVNJQyhvYmop
LT5rbGFzcykgJiYgaW5kZXggPCBST0JKRUNUX05VTUlWKG9iaikgJiYgKHZhbCA9IFJPQkpFQ1Rf
SVZQVFIob2JqKVtpbmRleF0pICE9IFF1bmRlZikpIHtcbiIpOworICAgICAgICBmcHJpbnRmKGYs
ICIgICAgICAgIHN0YWNrWyVkXSA9IHZhbDtcbiIsIGItPnN0YWNrX3NpemUpOworICAgICAgICBm
cHJpbnRmKGYsICIgICAgfVxuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICBlbHNlIHtcbiIp
OworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9k
eV9pc2VxICsgJWQ7XG4iLCBwb3MpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHJlZ19j
ZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAx
KTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICBnb3RvIGNhbmNlbDtcbiIpOworICAgICAg
ICBmcHJpbnRmKGYsICIgICAgfVxuIik7CisKKyAgICAgICAgYi0+c3RhY2tfc2l6ZSArPSBhdHRy
X3NwX2luY19nZXRpbnN0YW5jZXZhcmlhYmxlKGlkLCBpYyk7CisgICAgICAgIGZwcmludGYoZiwg
In1cbiIpOworICAgICAgICBicmVhazsKKyAgICB9Cit9CisjZW5kaWYgLyogT1BUX0lDX0ZPUl9J
VkFSICovCisgICAgZnByaW50ZihmLCAie1xuIik7CisgICAgeworICAgICAgICBNQVlCRV9VTlVT
RUQoaW50IHBjX21vdmVkX3ApID0gRkFMU0U7CisgICAgICAgIE1BWUJFX1VOVVNFRChJRCBpZCkg
PSAoSUQpb3BlcmFuZHNbMF07CisgICAgICAgIE1BWUJFX1VOVVNFRChJQyBpYykgPSAoSUMpb3Bl
cmFuZHNbMV07CisgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKKyAgICAgICAg
ICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQodW5zaWduZWQgaW50KSBzdGFja19zaXpl
ID0gJXU7XG4iLCBiLT5zdGFja19zaXplKTsKKyAgICAgICAgfQorICAgICAgICBmcHJpbnRmKGYs
ICIgICAgTUFZQkVfVU5VU0VEKElDKSBpYztcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAg
TUFZQkVfVU5VU0VEKElEKSBpZDtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVf
VU5VU0VEKFZBTFVFKSB2YWw7XG4iKTsKKworICAgICAgICBmcHJpbnRmKGYsICIgICAgaWQgPSAo
SUQpMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNbMF0pOworICAgICAgICBjb21tZW50X2lkKGYs
IChJRClvcGVyYW5kc1swXSk7CisgICAgICAgIGZwcmludGYoZiwgIlxuIik7CisgICAgICAgIGZw
cmludGYoZiwgIiAgICBpYyA9IChJQykweCUiUFJJeFZBTFVFIjsiLCBvcGVyYW5kc1sxXSk7Cisg
ICAgICAgIGZwcmludGYoZiwgIlxuIik7CisgICAgICAgIGlmIChib2R5LT5jYXRjaF9leGNlcHRf
cCB8fCBUUlVFKSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+cGMgPSBv
cmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsgLyogQUREX1BDKElOU05fQVRU
Uih3aWR0aCkpOyAqLworICAgICAgICAgICAgcGNfbW92ZWRfcCA9IFRSVUU7CisgICAgICAgIH0K
KyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgeworICAgICAgICB9CisgICAgICAg
IGVsc2UgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnNwID0gKFZBTFVF
ICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAxKTsKKyAgICAgICAgfQor
ICAgICAgICBmcHJpbnRmKGYsICIgICAge1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAg
ICAgdmFsID0gdm1fZ2V0aW5zdGFuY2V2YXJpYWJsZShHRVRfU0VMRigpLCBpZCwgaWMpO1xuIik7
CisgICAgICAgIGZwcmludGYoZiwgIiAgICB9XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAg
IHN0YWNrWyVkXSA9IHZhbDtcbiIsIGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5jX2dl
dGluc3RhbmNldmFyaWFibGUoaWQsIGljKSAtIDEpOworICAgICAgICBmcHJpbnRmKGYsICIgICAg
aWYgKFVOTElLRUxZKHJ1Ynlfdm1fZXZlbnRfZW5hYmxlZF9nbG9iYWxfZmxhZ3MgJiBJU0VRX1RS
QUNFX0VWRU5UUykpIHtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHJlZ19jZnAt
PnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAoaW50
KWF0dHJfc3BfaW5jX2dldGluc3RhbmNldmFyaWFibGUoaWQsIGljKSArIDEpOworICAgICAgICBp
ZiAoIXBjX21vdmVkX3ApIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgcmVnX2Nm
cC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsKKyAgICAgICAg
fQorICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIGdvdG8gY2FuY2VsO1xuIik7CisgICAgICAg
IGZwcmludGYoZiwgIiAgICB9XG4iKTsKKyAgICAgICAgYi0+c3RhY2tfc2l6ZSArPSBhdHRyX3Nw
X2luY19nZXRpbnN0YW5jZXZhcmlhYmxlKGlkLCBpYyk7CisgICAgfQorICAgIGZwcmludGYoZiwg
In1cbiIpOworICAgIGJyZWFrOworICBjYXNlIEJJTihzZXRpbnN0YW5jZXZhcmlhYmxlKToKKyNp
ZiBPUFRfSUNfRk9SX0lWQVIKK3sKKyAgICBNQVlCRV9VTlVTRUQoSUQgaWQpID0gKElEKW9wZXJh
bmRzWzBdOworICAgIE1BWUJFX1VOVVNFRChJQyBpYykgPSAoSUMpb3BlcmFuZHNbMV07CisgICAg
SUMgaWNfY29weSA9ICYoc3RhdHVzLT5pc19lbnRyaWVzICsgKCh1bmlvbiBpc2VxX2lubGluZV9z
dG9yYWdlX2VudHJ5ICopaWMgLSBib2R5LT5pc19lbnRyaWVzKSktPmNhY2hlOworICAgIGlmIChp
Y19jb3B5LT5pY19zZXJpYWwpIHsKKyAgICAgICAgZnByaW50ZihmLCAie1xuIik7CisgICAgICAg
IGZwcmludGYoZiwgIiAgICBWQUxVRSBvYmogPSBHRVRfU0VMRigpO1xuIik7CisgICAgICAgIGZw
cmludGYoZiwgIiAgICBjb25zdCByYl9zZXJpYWxfdCBpY19zZXJpYWwgPSAocmJfc2VyaWFsX3Qp
JSJQUklfU0VSSUFMVF9QUkVGSVgidTtcbiIsIGljX2NvcHktPmljX3NlcmlhbCk7CisgICAgICAg
IGZwcmludGYoZiwgIiAgICBjb25zdCBzdF9pbmRleF90IGluZGV4ID0gJSJQUkl1U0laRSI7XG4i
LCBpY19jb3B5LT5pY192YWx1ZS5pbmRleCk7CisgICAgICAgIGZwcmludGYoZiwgIiAgICBWQUxV
RSB2YWwgPSBzdGFja1slZF07XG4iLCBiLT5zdGFja19zaXplIC0gMSk7CisgICAgICAgIGZwcmlu
dGYoZiwgIiAgICBpZiAoTElLRUxZKFJCX1RZUEVfUChvYmosIFRfT0JKRUNUKSAmJiBpY19zZXJp
YWwgPT0gUkNMQVNTX1NFUklBTChSQkFTSUMob2JqKS0+a2xhc3MpICYmIGluZGV4IDwgUk9CSkVD
VF9OVU1JVihvYmopKSkge1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgVkFMVUUg
KnB0ciA9IFJPQkpFQ1RfSVZQVFIob2JqKTtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAg
ICAgIFJCX09CSl9XUklURShvYmosICZwdHJbaW5kZXhdLCB2YWwpO1xuIik7CisgICAgICAgIGZw
cmludGYoZiwgIiAgICB9XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIGVsc2Uge1xuIik7
CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5
X2lzZXEgKyAlZDtcbiIsIHBvcyk7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgcmVnX2Nm
cC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEp
OworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIGdvdG8gY2FuY2VsO1xuIik7CisgICAgICAg
IGZwcmludGYoZiwgIiAgICB9XG4iKTsKKworICAgICAgICBiLT5zdGFja19zaXplICs9IGF0dHJf
c3BfaW5jX3NldGluc3RhbmNldmFyaWFibGUoaWQsIGljKTsKKyAgICAgICAgZnByaW50ZihmLCAi
fVxuIik7CisgICAgICAgIGJyZWFrOworICAgIH0KK30KKyNlbmRpZiAvKiBPUFRfSUNfRk9SX0lW
QVIgKi8KKyAgICBmcHJpbnRmKGYsICJ7XG4iKTsKKyAgICB7CisgICAgICAgIE1BWUJFX1VOVVNF
RChpbnQgcGNfbW92ZWRfcCkgPSBGQUxTRTsKKyAgICAgICAgTUFZQkVfVU5VU0VEKElEIGlkKSA9
IChJRClvcGVyYW5kc1swXTsKKyAgICAgICAgTUFZQkVfVU5VU0VEKElDIGljKSA9IChJQylvcGVy
YW5kc1sxXTsKKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgeworICAgICAgICAg
ICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRCh1bnNpZ25lZCBpbnQpIHN0YWNrX3NpemUg
PSAldTtcbiIsIGItPnN0YWNrX3NpemUpOworICAgICAgICB9CisgICAgICAgIGZwcmludGYoZiwg
IiAgICBNQVlCRV9VTlVTRUQoSUMpIGljO1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICBN
QVlCRV9VTlVTRUQoSUQpIGlkO1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9V
TlVTRUQoVkFMVUUpIHZhbDtcbiIpOworCisgICAgICAgIGZwcmludGYoZiwgIiAgICBpZCA9IChJ
RCkweCUiUFJJeFZBTFVFIjsiLCBvcGVyYW5kc1swXSk7CisgICAgICAgIGNvbW1lbnRfaWQoZiwg
KElEKW9wZXJhbmRzWzBdKTsKKyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsKKyAgICAgICAgZnBy
aW50ZihmLCAiICAgIGljID0gKElDKTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRzWzFdKTsKKyAg
ICAgICAgZnByaW50ZihmLCAiXG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIHZhbCA9IHN0
YWNrWyVkXTtcbiIsIGItPnN0YWNrX3NpemUgLSAxKTsKKyAgICAgICAgaWYgKGJvZHktPmNhdGNo
X2V4Y2VwdF9wIHx8IEZBTFNFKSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2Nm
cC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsgLyogQUREX1BD
KElOU05fQVRUUih3aWR0aCkpOyAqLworICAgICAgICAgICAgcGNfbW92ZWRfcCA9IFRSVUU7Cisg
ICAgICAgIH0KKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgeworICAgICAgICB9
CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnNw
ID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAxKTsKKyAg
ICAgICAgfQorICAgICAgICBmcHJpbnRmKGYsICIgICAge1xuIik7CisgICAgICAgIGZwcmludGYo
ZiwgIiAgICAgICAgdm1fc2V0aW5zdGFuY2V2YXJpYWJsZShHRVRfU0VMRigpLCBpZCwgdmFsLCBp
Yyk7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIpOworICAgICAgICBiLT5zdGFj
a19zaXplICs9IGF0dHJfc3BfaW5jX3NldGluc3RhbmNldmFyaWFibGUoaWQsIGljKTsKKyAgICB9
CisgICAgZnByaW50ZihmLCAifVxuIik7CisgICAgYnJlYWs7CisgIGNhc2UgQklOKGdldGNsYXNz
dmFyaWFibGUpOgorICAgIGZwcmludGYoZiwgIntcbiIpOworICAgIHsKKyAgICAgICAgTUFZQkVf
VU5VU0VEKGludCBwY19tb3ZlZF9wKSA9IEZBTFNFOworICAgICAgICBNQVlCRV9VTlVTRUQoSUQg
aWQpID0gKElEKW9wZXJhbmRzWzBdOworICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19w
KSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVuc2lnbmVkIGlu
dCkgc3RhY2tfc2l6ZSA9ICV1O1xuIiwgYi0+c3RhY2tfc2l6ZSk7CisgICAgICAgIH0KKyAgICAg
ICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChJRCkgaWQ7XG4iKTsKKyAgICAgICAgZnBy
aW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgdmFsO1xuIik7CisKKyAgICAgICAgZnBy
aW50ZihmLCAiICAgIGlkID0gKElEKTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRzWzBdKTsKKyAg
ICAgICAgY29tbWVudF9pZChmLCAoSUQpb3BlcmFuZHNbMF0pOworICAgICAgICBmcHJpbnRmKGYs
ICJcbiIpOworICAgICAgICBpZiAoYm9keS0+Y2F0Y2hfZXhjZXB0X3AgfHwgVFJVRSkgeworICAg
ICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2Vx
ICsgJWQ7XG4iLCBuZXh0X3Bvcyk7IC8qIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsgKi8KKyAg
ICAgICAgICAgIHBjX21vdmVkX3AgPSBUUlVFOworICAgICAgICB9CisgICAgICAgIGlmIChzdGF0
dXMtPmxvY2FsX3N0YWNrX3ApIHsKKyAgICAgICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAg
ICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsg
JWQ7XG4iLCBiLT5zdGFja19zaXplICsgMSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50Zihm
LCAiICAgIHtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHZhbCA9IHJiX2N2YXJf
Z2V0KHZtX2dldF9jdmFyX2Jhc2UocmJfdm1fZ2V0X2NyZWYoR0VUX0VQKCkpLCBHRVRfQ0ZQKCkp
LCBpZCk7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIpOworICAgICAgICBmcHJp
bnRmKGYsICIgICAgc3RhY2tbJWRdID0gdmFsO1xuIiwgYi0+c3RhY2tfc2l6ZSArIChpbnQpYXR0
cl9zcF9pbmNfZ2V0Y2xhc3N2YXJpYWJsZShpZCkgLSAxKTsKKyAgICAgICAgZnByaW50ZihmLCAi
ICAgIGlmIChVTkxJS0VMWShydWJ5X3ZtX2V2ZW50X2VuYWJsZWRfZ2xvYmFsX2ZsYWdzICYgSVNF
UV9UUkFDRV9FVkVOVFMpKSB7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICByZWdf
Y2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsg
KGludClhdHRyX3NwX2luY19nZXRjbGFzc3ZhcmlhYmxlKGlkKSArIDEpOworICAgICAgICBpZiAo
IXBjX21vdmVkX3ApIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgcmVnX2NmcC0+
cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsKKyAgICAgICAgfQor
ICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIGdvdG8gY2FuY2VsO1xuIik7CisgICAgICAgIGZw
cmludGYoZiwgIiAgICB9XG4iKTsKKyAgICAgICAgYi0+c3RhY2tfc2l6ZSArPSBhdHRyX3NwX2lu
Y19nZXRjbGFzc3ZhcmlhYmxlKGlkKTsKKyAgICB9CisgICAgZnByaW50ZihmLCAifVxuIik7Cisg
ICAgYnJlYWs7CisgIGNhc2UgQklOKHNldGNsYXNzdmFyaWFibGUpOgorICAgIGZwcmludGYoZiwg
IntcbiIpOworICAgIHsKKyAgICAgICAgTUFZQkVfVU5VU0VEKGludCBwY19tb3ZlZF9wKSA9IEZB
TFNFOworICAgICAgICBNQVlCRV9VTlVTRUQoSUQgaWQpID0gKElEKW9wZXJhbmRzWzBdOworICAg
ICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAgICAgICBmcHJpbnRmKGYs
ICIgICAgTUFZQkVfVU5VU0VEKHVuc2lnbmVkIGludCkgc3RhY2tfc2l6ZSA9ICV1O1xuIiwgYi0+
c3RhY2tfc2l6ZSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VO
VVNFRChJRCkgaWQ7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChW
QUxVRSkgdmFsO1xuIik7CisKKyAgICAgICAgZnByaW50ZihmLCAiICAgIGlkID0gKElEKTB4JSJQ
Ukl4VkFMVUUiOyIsIG9wZXJhbmRzWzBdKTsKKyAgICAgICAgY29tbWVudF9pZChmLCAoSUQpb3Bl
cmFuZHNbMF0pOworICAgICAgICBmcHJpbnRmKGYsICJcbiIpOworICAgICAgICBmcHJpbnRmKGYs
ICIgICAgdmFsID0gc3RhY2tbJWRdO1xuIiwgYi0+c3RhY2tfc2l6ZSAtIDEpOworICAgICAgICBp
ZiAoYm9keS0+Y2F0Y2hfZXhjZXB0X3AgfHwgVFJVRSkgeworICAgICAgICAgICAgZnByaW50Zihm
LCAiICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBuZXh0X3Bv
cyk7IC8qIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsgKi8KKyAgICAgICAgICAgIHBjX21vdmVk
X3AgPSBUUlVFOworICAgICAgICB9CisgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3Ap
IHsKKyAgICAgICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAg
ICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19z
aXplICsgMSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAiICAgIHtcbiIpOworICAg
ICAgICBmcHJpbnRmKGYsICIgICAgICAgIHZtX2Vuc3VyZV9ub3RfcmVmaW5lbWVudF9tb2R1bGUo
R0VUX1NFTEYoKSk7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICByYl9jdmFyX3Nl
dCh2bV9nZXRfY3Zhcl9iYXNlKHJiX3ZtX2dldF9jcmVmKEdFVF9FUCgpKSwgR0VUX0NGUCgpKSwg
aWQsIHZhbCk7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIpOworICAgICAgICBm
cHJpbnRmKGYsICIgICAgaWYgKFVOTElLRUxZKHJ1Ynlfdm1fZXZlbnRfZW5hYmxlZF9nbG9iYWxf
ZmxhZ3MgJiBJU0VRX1RSQUNFX0VWRU5UUykpIHtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIg
ICAgICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0
YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5jX3NldGNsYXNzdmFyaWFibGUoaWQpICsgMSk7Cisg
ICAgICAgIGlmICghcGNfbW92ZWRfcCkgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgICAg
ICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3MpOwor
ICAgICAgICB9CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgZ290byBjYW5jZWw7XG4iKTsK
KyAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIpOworICAgICAgICBiLT5zdGFja19zaXplICs9
IGF0dHJfc3BfaW5jX3NldGNsYXNzdmFyaWFibGUoaWQpOworICAgIH0KKyAgICBmcHJpbnRmKGYs
ICJ9XG4iKTsKKyAgICBicmVhazsKKyAgY2FzZSBCSU4oZ2V0Y29uc3RhbnQpOgorICAgIGZwcmlu
dGYoZiwgIntcbiIpOworICAgIHsKKyAgICAgICAgTUFZQkVfVU5VU0VEKGludCBwY19tb3ZlZF9w
KSA9IEZBTFNFOworICAgICAgICBNQVlCRV9VTlVTRUQoSUQgaWQpID0gKElEKW9wZXJhbmRzWzBd
OworICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAgICAgICBmcHJp
bnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVuc2lnbmVkIGludCkgc3RhY2tfc2l6ZSA9ICV1O1xu
IiwgYi0+c3RhY2tfc2l6ZSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1B
WUJFX1VOVVNFRChJRCkgaWQ7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VO
VVNFRChWQUxVRSkga2xhc3MsIHZhbDtcbiIpOworCisgICAgICAgIGZwcmludGYoZiwgIiAgICBp
ZCA9IChJRCkweCUiUFJJeFZBTFVFIjsiLCBvcGVyYW5kc1swXSk7CisgICAgICAgIGNvbW1lbnRf
aWQoZiwgKElEKW9wZXJhbmRzWzBdKTsKKyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsKKyAgICAg
ICAgZnByaW50ZihmLCAiICAgIGtsYXNzID0gc3RhY2tbJWRdO1xuIiwgYi0+c3RhY2tfc2l6ZSAt
IDEpOworICAgICAgICBpZiAoYm9keS0+Y2F0Y2hfZXhjZXB0X3AgfHwgVFJVRSkgeworICAgICAg
ICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsg
JWQ7XG4iLCBuZXh0X3Bvcyk7IC8qIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsgKi8KKyAgICAg
ICAgICAgIHBjX21vdmVkX3AgPSBUUlVFOworICAgICAgICB9CisgICAgICAgIGlmIChzdGF0dXMt
PmxvY2FsX3N0YWNrX3ApIHsKKyAgICAgICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAg
IGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7
XG4iLCBiLT5zdGFja19zaXplICsgMSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAi
ICAgIHtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHZhbCA9IHZtX2dldF9ldl9j
b25zdChlYywga2xhc3MsIGlkLCAwKTtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgfVxu
Iik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICBzdGFja1slZF0gPSB2YWw7XG4iLCBiLT5zdGFj
a19zaXplICsgKGludClhdHRyX3NwX2luY19nZXRjb25zdGFudChpZCkgLSAxKTsKKyAgICAgICAg
ZnByaW50ZihmLCAiICAgIGlmIChVTkxJS0VMWShydWJ5X3ZtX2V2ZW50X2VuYWJsZWRfZ2xvYmFs
X2ZsYWdzICYgSVNFUV9UUkFDRV9FVkVOVFMpKSB7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAi
ICAgICAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5z
dGFja19zaXplICsgKGludClhdHRyX3NwX2luY19nZXRjb25zdGFudChpZCkgKyAxKTsKKyAgICAg
ICAgaWYgKCFwY19tb3ZlZF9wKSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHJl
Z19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBuZXh0X3Bvcyk7CisgICAg
ICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICBnb3RvIGNhbmNlbDtcbiIpOworICAg
ICAgICBmcHJpbnRmKGYsICIgICAgfVxuIik7CisgICAgICAgIGItPnN0YWNrX3NpemUgKz0gYXR0
cl9zcF9pbmNfZ2V0Y29uc3RhbnQoaWQpOworICAgIH0KKyAgICBmcHJpbnRmKGYsICJ9XG4iKTsK
KyAgICBicmVhazsKKyAgY2FzZSBCSU4oc2V0Y29uc3RhbnQpOgorICAgIGZwcmludGYoZiwgIntc
biIpOworICAgIHsKKyAgICAgICAgTUFZQkVfVU5VU0VEKGludCBwY19tb3ZlZF9wKSA9IEZBTFNF
OworICAgICAgICBNQVlCRV9VTlVTRUQoSUQgaWQpID0gKElEKW9wZXJhbmRzWzBdOworICAgICAg
ICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIg
ICAgTUFZQkVfVU5VU0VEKHVuc2lnbmVkIGludCkgc3RhY2tfc2l6ZSA9ICV1O1xuIiwgYi0+c3Rh
Y2tfc2l6ZSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNF
RChJRCkgaWQ7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChWQUxV
RSkgY2Jhc2UsIHZhbDtcbiIpOworCisgICAgICAgIGZwcmludGYoZiwgIiAgICBpZCA9IChJRCkw
eCUiUFJJeFZBTFVFIjsiLCBvcGVyYW5kc1swXSk7CisgICAgICAgIGNvbW1lbnRfaWQoZiwgKElE
KW9wZXJhbmRzWzBdKTsKKyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsKKyAgICAgICAgZnByaW50
ZihmLCAiICAgIHZhbCA9IHN0YWNrWyVkXTtcbiIsIGItPnN0YWNrX3NpemUgLSAyKTsKKyAgICAg
ICAgZnByaW50ZihmLCAiICAgIGNiYXNlID0gc3RhY2tbJWRdO1xuIiwgYi0+c3RhY2tfc2l6ZSAt
IDEpOworICAgICAgICBpZiAoYm9keS0+Y2F0Y2hfZXhjZXB0X3AgfHwgVFJVRSkgeworICAgICAg
ICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsg
JWQ7XG4iLCBuZXh0X3Bvcyk7IC8qIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsgKi8KKyAgICAg
ICAgICAgIHBjX21vdmVkX3AgPSBUUlVFOworICAgICAgICB9CisgICAgICAgIGlmIChzdGF0dXMt
PmxvY2FsX3N0YWNrX3ApIHsKKyAgICAgICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAg
IGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7
XG4iLCBiLT5zdGFja19zaXplICsgMSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAi
ICAgIHtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHZtX2NoZWNrX2lmX25hbWVz
cGFjZShjYmFzZSk7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICB2bV9lbnN1cmVf
bm90X3JlZmluZW1lbnRfbW9kdWxlKEdFVF9TRUxGKCkpO1xuIik7CisgICAgICAgIGZwcmludGYo
ZiwgIiAgICAgICAgcmJfY29uc3Rfc2V0KGNiYXNlLCBpZCwgdmFsKTtcbiIpOworICAgICAgICBm
cHJpbnRmKGYsICIgICAgfVxuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICBpZiAoVU5MSUtF
TFkocnVieV92bV9ldmVudF9lbmFibGVkX2dsb2JhbF9mbGFncyAmIElTRVFfVFJBQ0VfRVZFTlRT
KSkge1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgcmVnX2NmcC0+c3AgPSAoVkFM
VUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIChpbnQpYXR0cl9zcF9p
bmNfc2V0Y29uc3RhbnQoaWQpICsgMSk7CisgICAgICAgIGlmICghcGNfbW92ZWRfcCkgeworICAg
ICAgICAgICAgZnByaW50ZihmLCAiICAgICAgICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlf
aXNlcSArICVkO1xuIiwgbmV4dF9wb3MpOworICAgICAgICB9CisgICAgICAgIGZwcmludGYoZiwg
IiAgICAgICAgZ290byBjYW5jZWw7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIp
OworICAgICAgICBiLT5zdGFja19zaXplICs9IGF0dHJfc3BfaW5jX3NldGNvbnN0YW50KGlkKTsK
KyAgICB9CisgICAgZnByaW50ZihmLCAifVxuIik7CisgICAgYnJlYWs7CisgIGNhc2UgQklOKGdl
dGdsb2JhbCk6CisgICAgZnByaW50ZihmLCAie1xuIik7CisgICAgeworICAgICAgICBNQVlCRV9V
TlVTRUQoaW50IHBjX21vdmVkX3ApID0gRkFMU0U7CisgICAgICAgIE1BWUJFX1VOVVNFRChHRU5U
UlkgZW50cnkpID0gKEdFTlRSWSlvcGVyYW5kc1swXTsKKyAgICAgICAgaWYgKHN0YXR1cy0+bG9j
YWxfc3RhY2tfcCkgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRCh1
bnNpZ25lZCBpbnQpIHN0YWNrX3NpemUgPSAldTtcbiIsIGItPnN0YWNrX3NpemUpOworICAgICAg
ICB9CisgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQoR0VOVFJZKSBlbnRyeTtc
biIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSB2YWw7XG4i
KTsKKworICAgICAgICBmcHJpbnRmKGYsICIgICAgZW50cnkgPSAoR0VOVFJZKTB4JSJQUkl4VkFM
VUUiOyIsIG9wZXJhbmRzWzBdKTsKKyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsKKyAgICAgICAg
aWYgKGJvZHktPmNhdGNoX2V4Y2VwdF9wIHx8IFRSVUUpIHsKKyAgICAgICAgICAgIGZwcmludGYo
ZiwgIiAgICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9w
b3MpOyAvKiBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7ICovCisgICAgICAgICAgICBwY19tb3Zl
ZF9wID0gVFJVRTsKKyAgICAgICAgfQorICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19w
KSB7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIg
ICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tf
c2l6ZSArIDEpOworICAgICAgICB9CisgICAgICAgIGZwcmludGYoZiwgIiAgICB7XG4iKTsKKyAg
ICAgICAgZnByaW50ZihmLCAiICAgICAgICB2YWwgPSBHRVRfR0xPQkFMKChWQUxVRSllbnRyeSk7
XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIpOworICAgICAgICBmcHJpbnRmKGYs
ICIgICAgc3RhY2tbJWRdID0gdmFsO1xuIiwgYi0+c3RhY2tfc2l6ZSArIChpbnQpYXR0cl9zcF9p
bmNfZ2V0Z2xvYmFsKGVudHJ5KSAtIDEpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgaWYgKFVO
TElLRUxZKHJ1Ynlfdm1fZXZlbnRfZW5hYmxlZF9nbG9iYWxfZmxhZ3MgJiBJU0VRX1RSQUNFX0VW
RU5UUykpIHtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHJlZ19jZnAtPnNwID0g
KFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJf
c3BfaW5jX2dldGdsb2JhbChlbnRyeSkgKyAxKTsKKyAgICAgICAgaWYgKCFwY19tb3ZlZF9wKSB7
CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxf
Ym9keV9pc2VxICsgJWQ7XG4iLCBuZXh0X3Bvcyk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50
ZihmLCAiICAgICAgICBnb3RvIGNhbmNlbDtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAg
fVxuIik7CisgICAgICAgIGItPnN0YWNrX3NpemUgKz0gYXR0cl9zcF9pbmNfZ2V0Z2xvYmFsKGVu
dHJ5KTsKKyAgICB9CisgICAgZnByaW50ZihmLCAifVxuIik7CisgICAgYnJlYWs7CisgIGNhc2Ug
QklOKHNldGdsb2JhbCk6CisgICAgZnByaW50ZihmLCAie1xuIik7CisgICAgeworICAgICAgICBN
QVlCRV9VTlVTRUQoaW50IHBjX21vdmVkX3ApID0gRkFMU0U7CisgICAgICAgIE1BWUJFX1VOVVNF
RChHRU5UUlkgZW50cnkpID0gKEdFTlRSWSlvcGVyYW5kc1swXTsKKyAgICAgICAgaWYgKHN0YXR1
cy0+bG9jYWxfc3RhY2tfcCkgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VO
VVNFRCh1bnNpZ25lZCBpbnQpIHN0YWNrX3NpemUgPSAldTtcbiIsIGItPnN0YWNrX3NpemUpOwor
ICAgICAgICB9CisgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQoR0VOVFJZKSBl
bnRyeTtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSB2
YWw7XG4iKTsKKworICAgICAgICBmcHJpbnRmKGYsICIgICAgZW50cnkgPSAoR0VOVFJZKTB4JSJQ
Ukl4VkFMVUUiOyIsIG9wZXJhbmRzWzBdKTsKKyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsKKyAg
ICAgICAgZnByaW50ZihmLCAiICAgIHZhbCA9IHN0YWNrWyVkXTtcbiIsIGItPnN0YWNrX3NpemUg
LSAxKTsKKyAgICAgICAgaWYgKGJvZHktPmNhdGNoX2V4Y2VwdF9wIHx8IFRSVUUpIHsKKyAgICAg
ICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSAr
ICVkO1xuIiwgbmV4dF9wb3MpOyAvKiBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7ICovCisgICAg
ICAgICAgICBwY19tb3ZlZF9wID0gVFJVRTsKKyAgICAgICAgfQorICAgICAgICBpZiAoc3RhdHVz
LT5sb2NhbF9zdGFja19wKSB7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAg
ICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVk
O1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEpOworICAgICAgICB9CisgICAgICAgIGZwcmludGYoZiwg
IiAgICB7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICBTRVRfR0xPQkFMKChWQUxV
RSllbnRyeSwgdmFsKTtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgfVxuIik7CisgICAg
ICAgIGZwcmludGYoZiwgIiAgICBpZiAoVU5MSUtFTFkocnVieV92bV9ldmVudF9lbmFibGVkX2ds
b2JhbF9mbGFncyAmIElTRVFfVFJBQ0VfRVZFTlRTKSkge1xuIik7CisgICAgICAgIGZwcmludGYo
ZiwgIiAgICAgICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwg
Yi0+c3RhY2tfc2l6ZSArIChpbnQpYXR0cl9zcF9pbmNfc2V0Z2xvYmFsKGVudHJ5KSArIDEpOwor
ICAgICAgICBpZiAoIXBjX21vdmVkX3ApIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICAg
ICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsK
KyAgICAgICAgfQorICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIGdvdG8gY2FuY2VsO1xuIik7
CisgICAgICAgIGZwcmludGYoZiwgIiAgICB9XG4iKTsKKyAgICAgICAgYi0+c3RhY2tfc2l6ZSAr
PSBhdHRyX3NwX2luY19zZXRnbG9iYWwoZW50cnkpOworICAgIH0KKyAgICBmcHJpbnRmKGYsICJ9
XG4iKTsKKyAgICBicmVhazsKKyAgY2FzZSBCSU4ocHV0bmlsKToKKyAgICBmcHJpbnRmKGYsICJ7
XG4iKTsKKyAgICB7CisgICAgICAgIE1BWUJFX1VOVVNFRChpbnQgcGNfbW92ZWRfcCkgPSBGQUxT
RTsKKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgeworICAgICAgICAgICAgZnBy
aW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRCh1bnNpZ25lZCBpbnQpIHN0YWNrX3NpemUgPSAldTtc
biIsIGItPnN0YWNrX3NpemUpOworICAgICAgICB9CisgICAgICAgIGZwcmludGYoZiwgIiAgICBN
QVlCRV9VTlVTRUQoVkFMVUUpIHZhbDtcbiIpOworCisgICAgICAgIGlmIChib2R5LT5jYXRjaF9l
eGNlcHRfcCB8fCBGQUxTRSkgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAt
PnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBuZXh0X3Bvcyk7IC8qIEFERF9QQyhJ
TlNOX0FUVFIod2lkdGgpKTsgKi8KKyAgICAgICAgICAgIHBjX21vdmVkX3AgPSBUUlVFOworICAg
ICAgICB9CisgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKKyAgICAgICAgfQor
ICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5zcCA9
IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgMSk7CisgICAg
ICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAiICAgIHtcbiIpOworICAgICAgICBmcHJpbnRmKGYs
ICIgICAgICAgIHZhbCA9IFFuaWw7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIp
OworICAgICAgICBmcHJpbnRmKGYsICIgICAgc3RhY2tbJWRdID0gdmFsO1xuIiwgYi0+c3RhY2tf
c2l6ZSArIChpbnQpYXR0cl9zcF9pbmNfcHV0bmlsKCkgLSAxKTsKKyAgICAgICAgYi0+c3RhY2tf
c2l6ZSArPSBhdHRyX3NwX2luY19wdXRuaWwoKTsKKyAgICB9CisgICAgZnByaW50ZihmLCAifVxu
Iik7CisgICAgYnJlYWs7CisgIGNhc2UgQklOKHB1dHNlbGYpOgorICAgIGZwcmludGYoZiwgIntc
biIpOworICAgIHsKKyAgICAgICAgTUFZQkVfVU5VU0VEKGludCBwY19tb3ZlZF9wKSA9IEZBTFNF
OworICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAgICAgICBmcHJp
bnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVuc2lnbmVkIGludCkgc3RhY2tfc2l6ZSA9ICV1O1xu
IiwgYi0+c3RhY2tfc2l6ZSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1B
WUJFX1VOVVNFRChWQUxVRSkgdmFsO1xuIik7CisKKyAgICAgICAgaWYgKGJvZHktPmNhdGNoX2V4
Y2VwdF9wIHx8IEZBTFNFKSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+
cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsgLyogQUREX1BDKElO
U05fQVRUUih3aWR0aCkpOyAqLworICAgICAgICAgICAgcGNfbW92ZWRfcCA9IFRSVUU7CisgICAg
ICAgIH0KKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgeworICAgICAgICB9Cisg
ICAgICAgIGVsc2UgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnNwID0g
KFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAxKTsKKyAgICAg
ICAgfQorICAgICAgICBmcHJpbnRmKGYsICIgICAge1xuIik7CisgICAgICAgIGZwcmludGYoZiwg
IiAgICAgICAgdmFsID0gR0VUX1NFTEYoKTtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAg
fVxuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICBzdGFja1slZF0gPSB2YWw7XG4iLCBiLT5z
dGFja19zaXplICsgKGludClhdHRyX3NwX2luY19wdXRzZWxmKCkgLSAxKTsKKyAgICAgICAgYi0+
c3RhY2tfc2l6ZSArPSBhdHRyX3NwX2luY19wdXRzZWxmKCk7CisgICAgfQorICAgIGZwcmludGYo
ZiwgIn1cbiIpOworICAgIGJyZWFrOworICBjYXNlIEJJTihwdXRvYmplY3QpOgorICAgIGZwcmlu
dGYoZiwgIntcbiIpOworICAgIHsKKyAgICAgICAgTUFZQkVfVU5VU0VEKGludCBwY19tb3ZlZF9w
KSA9IEZBTFNFOworICAgICAgICBNQVlCRV9VTlVTRUQoVkFMVUUgdmFsKSA9IChWQUxVRSlvcGVy
YW5kc1swXTsKKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgeworICAgICAgICAg
ICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRCh1bnNpZ25lZCBpbnQpIHN0YWNrX3NpemUg
PSAldTtcbiIsIGItPnN0YWNrX3NpemUpOworICAgICAgICB9CisgICAgICAgIGZwcmludGYoZiwg
IiAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIHZhbDtcbiIpOworCisgICAgICAgIGZwcmludGYoZiwg
IiAgICB2YWwgPSAoVkFMVUUpMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNbMF0pOworICAgICAg
ICBpZiAoU1lNQk9MX1AoKFZBTFVFKW9wZXJhbmRzWzBdKSkgY29tbWVudF9pZChmLCBTWU0ySUQo
KFZBTFVFKW9wZXJhbmRzWzBdKSk7CisgICAgICAgIGZwcmludGYoZiwgIlxuIik7CisgICAgICAg
IGlmIChib2R5LT5jYXRjaF9leGNlcHRfcCB8fCBGQUxTRSkgeworICAgICAgICAgICAgZnByaW50
ZihmLCAiICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBuZXh0
X3Bvcyk7IC8qIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsgKi8KKyAgICAgICAgICAgIHBjX21v
dmVkX3AgPSBUUlVFOworICAgICAgICB9CisgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNr
X3ApIHsKKyAgICAgICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwg
IiAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFj
a19zaXplICsgMSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAiICAgIHtcbiIpOwor
ICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIC8qICovXG4iKTsKKyAgICAgICAgZnByaW50Zihm
LCAiICAgIH1cbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgc3RhY2tbJWRdID0gdmFsO1xu
IiwgYi0+c3RhY2tfc2l6ZSArIChpbnQpYXR0cl9zcF9pbmNfcHV0b2JqZWN0KHZhbCkgLSAxKTsK
KyAgICAgICAgYi0+c3RhY2tfc2l6ZSArPSBhdHRyX3NwX2luY19wdXRvYmplY3QodmFsKTsKKyAg
ICB9CisgICAgZnByaW50ZihmLCAifVxuIik7CisgICAgYnJlYWs7CisgIGNhc2UgQklOKHB1dHNw
ZWNpYWxvYmplY3QpOgorICAgIGZwcmludGYoZiwgIntcbiIpOworICAgIHsKKyAgICAgICAgTUFZ
QkVfVU5VU0VEKGludCBwY19tb3ZlZF9wKSA9IEZBTFNFOworICAgICAgICBNQVlCRV9VTlVTRUQo
cmJfbnVtX3QgdmFsdWVfdHlwZSkgPSAocmJfbnVtX3Qpb3BlcmFuZHNbMF07CisgICAgICAgIGlm
IChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICBN
QVlCRV9VTlVTRUQodW5zaWduZWQgaW50KSBzdGFja19zaXplID0gJXU7XG4iLCBiLT5zdGFja19z
aXplKTsKKyAgICAgICAgfQorICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKFZB
TFVFKSB2YWw7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChyYl9u
dW1fdCkgdmFsdWVfdHlwZTtcbiIpOworCisgICAgICAgIGZwcmludGYoZiwgIiAgICB2YWx1ZV90
eXBlID0gKHJiX251bV90KTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRzWzBdKTsKKyAgICAgICAg
ZnByaW50ZihmLCAiXG4iKTsKKyAgICAgICAgaWYgKGJvZHktPmNhdGNoX2V4Y2VwdF9wIHx8IEZB
TFNFKSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5h
bF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsgLyogQUREX1BDKElOU05fQVRUUih3aWR0
aCkpOyAqLworICAgICAgICAgICAgcGNfbW92ZWRfcCA9IFRSVUU7CisgICAgICAgIH0KKyAgICAg
ICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgeworICAgICAgICB9CisgICAgICAgIGVsc2Ug
eworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVn
X2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAxKTsKKyAgICAgICAgfQorICAgICAg
ICBmcHJpbnRmKGYsICIgICAge1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgZW51
bSB2bV9zcGVjaWFsX29iamVjdF90eXBlIHR5cGU7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAi
XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICB0eXBlID0gKGVudW0gdm1fc3BlY2lh
bF9vYmplY3RfdHlwZSl2YWx1ZV90eXBlO1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAg
ICAgdmFsID0gdm1fZ2V0X3NwZWNpYWxfb2JqZWN0KEdFVF9FUCgpLCB0eXBlKTtcbiIpOworICAg
ICAgICBmcHJpbnRmKGYsICIgICAgfVxuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICBzdGFj
a1slZF0gPSB2YWw7XG4iLCBiLT5zdGFja19zaXplICsgKGludClhdHRyX3NwX2luY19wdXRzcGVj
aWFsb2JqZWN0KHZhbHVlX3R5cGUpIC0gMSk7CisgICAgICAgIGItPnN0YWNrX3NpemUgKz0gYXR0
cl9zcF9pbmNfcHV0c3BlY2lhbG9iamVjdCh2YWx1ZV90eXBlKTsKKyAgICB9CisgICAgZnByaW50
ZihmLCAifVxuIik7CisgICAgYnJlYWs7CisgIGNhc2UgQklOKHB1dGlzZXEpOgorICAgIGZwcmlu
dGYoZiwgIntcbiIpOworICAgIHsKKyAgICAgICAgTUFZQkVfVU5VU0VEKGludCBwY19tb3ZlZF9w
KSA9IEZBTFNFOworICAgICAgICBNQVlCRV9VTlVTRUQoSVNFUSBpc2VxKSA9IChJU0VRKW9wZXJh
bmRzWzBdOworICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAgICAg
ICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVuc2lnbmVkIGludCkgc3RhY2tfc2l6ZSA9
ICV1O1xuIiwgYi0+c3RhY2tfc2l6ZSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAi
ICAgIE1BWUJFX1VOVVNFRChJU0VRKSBpc2VxO1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAg
ICBNQVlCRV9VTlVTRUQoVkFMVUUpIHJldDtcbiIpOworCisgICAgICAgIGZwcmludGYoZiwgIiAg
ICBpc2VxID0gKElTRVEpMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNbMF0pOworICAgICAgICBm
cHJpbnRmKGYsICJcbiIpOworICAgICAgICBpZiAoYm9keS0+Y2F0Y2hfZXhjZXB0X3AgfHwgRkFM
U0UpIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFs
X2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3MpOyAvKiBBRERfUEMoSU5TTl9BVFRSKHdpZHRo
KSk7ICovCisgICAgICAgICAgICBwY19tb3ZlZF9wID0gVFJVRTsKKyAgICAgICAgfQorICAgICAg
ICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSB7
CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdf
Y2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEpOworICAgICAgICB9CisgICAgICAg
IGZwcmludGYoZiwgIiAgICB7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICByZXQg
PSAoVkFMVUUpaXNlcTtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgfVxuIik7CisgICAg
ICAgIGZwcmludGYoZiwgIiAgICBzdGFja1slZF0gPSByZXQ7XG4iLCBiLT5zdGFja19zaXplICsg
KGludClhdHRyX3NwX2luY19wdXRpc2VxKGlzZXEpIC0gMSk7CisgICAgICAgIGItPnN0YWNrX3Np
emUgKz0gYXR0cl9zcF9pbmNfcHV0aXNlcShpc2VxKTsKKyAgICB9CisgICAgZnByaW50ZihmLCAi
fVxuIik7CisgICAgYnJlYWs7CisgIGNhc2UgQklOKHB1dHN0cmluZyk6CisgICAgZnByaW50Zihm
LCAie1xuIik7CisgICAgeworICAgICAgICBNQVlCRV9VTlVTRUQoaW50IHBjX21vdmVkX3ApID0g
RkFMU0U7CisgICAgICAgIE1BWUJFX1VOVVNFRChWQUxVRSBzdHIpID0gKFZBTFVFKW9wZXJhbmRz
WzBdOworICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAgICAgICBm
cHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVuc2lnbmVkIGludCkgc3RhY2tfc2l6ZSA9ICV1
O1xuIiwgYi0+c3RhY2tfc2l6ZSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAiICAg
IE1BWUJFX1VOVVNFRChWQUxVRSkgc3RyLCB2YWw7XG4iKTsKKworICAgICAgICBmcHJpbnRmKGYs
ICIgICAgc3RyID0gKFZBTFVFKTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRzWzBdKTsKKyAgICAg
ICAgaWYgKFNZTUJPTF9QKChWQUxVRSlvcGVyYW5kc1swXSkpIGNvbW1lbnRfaWQoZiwgU1lNMklE
KChWQUxVRSlvcGVyYW5kc1swXSkpOworICAgICAgICBmcHJpbnRmKGYsICJcbiIpOworICAgICAg
ICBpZiAoYm9keS0+Y2F0Y2hfZXhjZXB0X3AgfHwgRkFMU0UpIHsKKyAgICAgICAgICAgIGZwcmlu
dGYoZiwgIiAgICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4
dF9wb3MpOyAvKiBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7ICovCisgICAgICAgICAgICBwY19t
b3ZlZF9wID0gVFJVRTsKKyAgICAgICAgfQorICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFj
a19wKSB7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBmcHJpbnRmKGYs
ICIgICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3Rh
Y2tfc2l6ZSArIDEpOworICAgICAgICB9CisgICAgICAgIGZwcmludGYoZiwgIiAgICB7XG4iKTsK
KyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICB2YWwgPSByYl9zdHJfcmVzdXJyZWN0KHN0cik7
XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIpOworICAgICAgICBmcHJpbnRmKGYs
ICIgICAgc3RhY2tbJWRdID0gdmFsO1xuIiwgYi0+c3RhY2tfc2l6ZSArIChpbnQpYXR0cl9zcF9p
bmNfcHV0c3RyaW5nKHN0cikgLSAxKTsKKyAgICAgICAgYi0+c3RhY2tfc2l6ZSArPSBhdHRyX3Nw
X2luY19wdXRzdHJpbmcoc3RyKTsKKyAgICB9CisgICAgZnByaW50ZihmLCAifVxuIik7CisgICAg
YnJlYWs7CisgIGNhc2UgQklOKGNvbmNhdHN0cmluZ3MpOgorICAgIGZwcmludGYoZiwgIntcbiIp
OworICAgIHsKKyAgICAgICAgTUFZQkVfVU5VU0VEKGludCBwY19tb3ZlZF9wKSA9IEZBTFNFOwor
ICAgICAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QgbnVtKSA9IChyYl9udW1fdClvcGVyYW5kc1sw
XTsKKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgeworICAgICAgICAgICAgZnBy
aW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRCh1bnNpZ25lZCBpbnQpIHN0YWNrX3NpemUgPSAldTtc
biIsIGItPnN0YWNrX3NpemUpOworICAgICAgICB9CisgICAgICAgIGZwcmludGYoZiwgIiAgICBN
QVlCRV9VTlVTRUQoVkFMVUUpIHZhbDtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZ
QkVfVU5VU0VEKHJiX251bV90KSBudW07XG4iKTsKKworICAgICAgICBmcHJpbnRmKGYsICIgICAg
bnVtID0gKHJiX251bV90KTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRzWzBdKTsKKyAgICAgICAg
ZnByaW50ZihmLCAiXG4iKTsKKyAgICAgICAgaWYgKGJvZHktPmNhdGNoX2V4Y2VwdF9wIHx8IEZB
TFNFKSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5h
bF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsgLyogQUREX1BDKElOU05fQVRUUih3aWR0
aCkpOyAqLworICAgICAgICAgICAgcGNfbW92ZWRfcCA9IFRSVUU7CisgICAgICAgIH0KKyAgICAg
ICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgeworICAgICAgICB9CisgICAgICAgIGVsc2Ug
eworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVn
X2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAxKTsKKyAgICAgICAgfQorICAgICAg
ICBmcHJpbnRmKGYsICIgICAge1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgdmFs
ID0gcmJfc3RyX2NvbmNhdF9saXRlcmFscyhudW0sICVzKTtcbiIsCisgICAgICAgICAgICAgICAg
KHN0YXR1cy0+bG9jYWxfc3RhY2tfcCA/ICJzdGFjayArIChzdGFja19zaXplIC0gKG51bSkpIiA6
ICJTVEFDS19BRERSX0ZST01fVE9QKG51bSkiKSk7CisgICAgICAgIGZwcmludGYoZiwgIiAgICB9
XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIHN0YWNrWyVkXSA9IHZhbDtcbiIsIGItPnN0
YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5jX2NvbmNhdHN0cmluZ3MobnVtKSAtIDEpOworICAg
ICAgICBiLT5zdGFja19zaXplICs9IGF0dHJfc3BfaW5jX2NvbmNhdHN0cmluZ3MobnVtKTsKKyAg
ICB9CisgICAgZnByaW50ZihmLCAifVxuIik7CisgICAgYnJlYWs7CisgIGNhc2UgQklOKHRvc3Ry
aW5nKToKKyAgICBmcHJpbnRmKGYsICJ7XG4iKTsKKyAgICB7CisgICAgICAgIE1BWUJFX1VOVVNF
RChpbnQgcGNfbW92ZWRfcCkgPSBGQUxTRTsKKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3Rh
Y2tfcCkgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRCh1bnNpZ25l
ZCBpbnQpIHN0YWNrX3NpemUgPSAldTtcbiIsIGItPnN0YWNrX3NpemUpOworICAgICAgICB9Cisg
ICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIHN0ciwgdmFsO1xuIik7
CisKKyAgICAgICAgZnByaW50ZihmLCAiICAgIHZhbCA9IHN0YWNrWyVkXTtcbiIsIGItPnN0YWNr
X3NpemUgLSAyKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIHN0ciA9IHN0YWNrWyVkXTtcbiIs
IGItPnN0YWNrX3NpemUgLSAxKTsKKyAgICAgICAgaWYgKGJvZHktPmNhdGNoX2V4Y2VwdF9wIHx8
IEZBTFNFKSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+cGMgPSBvcmln
aW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsgLyogQUREX1BDKElOU05fQVRUUih3
aWR0aCkpOyAqLworICAgICAgICAgICAgcGNfbW92ZWRfcCA9IFRSVUU7CisgICAgICAgIH0KKyAg
ICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgeworICAgICAgICB9CisgICAgICAgIGVs
c2UgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICop
cmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAxKTsKKyAgICAgICAgfQorICAg
ICAgICBmcHJpbnRmKGYsICIgICAge1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAg
dmFsID0gcmJfb2JqX2FzX3N0cmluZ19yZXN1bHQoc3RyLCB2YWwpO1xuIik7CisgICAgICAgIGZw
cmludGYoZiwgIiAgICB9XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIHN0YWNrWyVkXSA9
IHZhbDtcbiIsIGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5jX3Rvc3RyaW5nKCkgLSAx
KTsKKyAgICAgICAgYi0+c3RhY2tfc2l6ZSArPSBhdHRyX3NwX2luY190b3N0cmluZygpOworICAg
IH0KKyAgICBmcHJpbnRmKGYsICJ9XG4iKTsKKyAgICBicmVhazsKKyAgY2FzZSBCSU4oZnJlZXpl
c3RyaW5nKToKKyAgICBmcHJpbnRmKGYsICJ7XG4iKTsKKyAgICB7CisgICAgICAgIE1BWUJFX1VO
VVNFRChpbnQgcGNfbW92ZWRfcCkgPSBGQUxTRTsKKyAgICAgICAgTUFZQkVfVU5VU0VEKFZBTFVF
IGRlYnVnX2luZm8pID0gKFZBTFVFKW9wZXJhbmRzWzBdOworICAgICAgICBpZiAoc3RhdHVzLT5s
b2NhbF9zdGFja19wKSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VE
KHVuc2lnbmVkIGludCkgc3RhY2tfc2l6ZSA9ICV1O1xuIiwgYi0+c3RhY2tfc2l6ZSk7CisgICAg
ICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgZGVidWdf
aW5mbywgc3RyO1xuIik7CisKKyAgICAgICAgZnByaW50ZihmLCAiICAgIGRlYnVnX2luZm8gPSAo
VkFMVUUpMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNbMF0pOworICAgICAgICBpZiAoU1lNQk9M
X1AoKFZBTFVFKW9wZXJhbmRzWzBdKSkgY29tbWVudF9pZChmLCBTWU0ySUQoKFZBTFVFKW9wZXJh
bmRzWzBdKSk7CisgICAgICAgIGZwcmludGYoZiwgIlxuIik7CisgICAgICAgIGZwcmludGYoZiwg
IiAgICBzdHIgPSBzdGFja1slZF07XG4iLCBiLT5zdGFja19zaXplIC0gMSk7CisgICAgICAgIGlm
IChib2R5LT5jYXRjaF9leGNlcHRfcCB8fCBGQUxTRSkgeworICAgICAgICAgICAgZnByaW50Zihm
LCAiICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBuZXh0X3Bv
cyk7IC8qIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsgKi8KKyAgICAgICAgICAgIHBjX21vdmVk
X3AgPSBUUlVFOworICAgICAgICB9CisgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3Ap
IHsKKyAgICAgICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAg
ICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19z
aXplICsgMSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAiICAgIHtcbiIpOworICAg
ICAgICBmcHJpbnRmKGYsICIgICAgICAgIHZtX2ZyZWV6ZXN0cmluZyhzdHIsIGRlYnVnX2luZm8p
O1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICB9XG4iKTsKKyAgICAgICAgZnByaW50Zihm
LCAiICAgIHN0YWNrWyVkXSA9IHN0cjtcbiIsIGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3Bf
aW5jX2ZyZWV6ZXN0cmluZyhkZWJ1Z19pbmZvKSAtIDEpOworICAgICAgICBiLT5zdGFja19zaXpl
ICs9IGF0dHJfc3BfaW5jX2ZyZWV6ZXN0cmluZyhkZWJ1Z19pbmZvKTsKKyAgICB9CisgICAgZnBy
aW50ZihmLCAifVxuIik7CisgICAgYnJlYWs7CisgIGNhc2UgQklOKHRvcmVnZXhwKToKKyAgICBm
cHJpbnRmKGYsICJ7XG4iKTsKKyAgICB7CisgICAgICAgIE1BWUJFX1VOVVNFRChpbnQgcGNfbW92
ZWRfcCkgPSBGQUxTRTsKKyAgICAgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IG9wdCkgPSAocmJf
bnVtX3Qpb3BlcmFuZHNbMF07CisgICAgICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCBjbnQpID0g
KHJiX251bV90KW9wZXJhbmRzWzFdOworICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19w
KSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVuc2lnbmVkIGlu
dCkgc3RhY2tfc2l6ZSA9ICV1O1xuIiwgYi0+c3RhY2tfc2l6ZSk7CisgICAgICAgIH0KKyAgICAg
ICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgdmFsO1xuIik7CisgICAgICAg
IGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QpIGNudCwgb3B0O1xuIik7CisK
KyAgICAgICAgZnByaW50ZihmLCAiICAgIG9wdCA9IChyYl9udW1fdCkweCUiUFJJeFZBTFVFIjsi
LCBvcGVyYW5kc1swXSk7CisgICAgICAgIGZwcmludGYoZiwgIlxuIik7CisgICAgICAgIGZwcmlu
dGYoZiwgIiAgICBjbnQgPSAocmJfbnVtX3QpMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNbMV0p
OworICAgICAgICBmcHJpbnRmKGYsICJcbiIpOworICAgICAgICBpZiAoYm9keS0+Y2F0Y2hfZXhj
ZXB0X3AgfHwgRkFMU0UpIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5w
YyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3MpOyAvKiBBRERfUEMoSU5T
Tl9BVFRSKHdpZHRoKSk7ICovCisgICAgICAgICAgICBwY19tb3ZlZF9wID0gVFJVRTsKKyAgICAg
ICAgfQorICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAgIH0KKyAg
ICAgICAgZWxzZSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+c3AgPSAo
VkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEpOworICAgICAg
ICB9CisgICAgICAgIGZwcmludGYoZiwgIiAgICB7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAi
ICAgICAgICBjb25zdCBWQUxVRSBhcnkgPSByYl9hcnlfdG1wX25ld19mcm9tX3ZhbHVlcygwLCBj
bnQsICVzKTtcbiIsCisgICAgICAgICAgICAgICAgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCA/ICJz
dGFjayArIChzdGFja19zaXplIC0gKGNudCkpIiA6ICJTVEFDS19BRERSX0ZST01fVE9QKGNudCki
KSk7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgdmFsID0gcmJfcmVnX25ld19hcnkoYXJ5
LCAoaW50KW9wdCk7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICByYl9hcnlfY2xl
YXIoYXJ5KTtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgfVxuIik7CisgICAgICAgIGZw
cmludGYoZiwgIiAgICBzdGFja1slZF0gPSB2YWw7XG4iLCBiLT5zdGFja19zaXplICsgKGludClh
dHRyX3NwX2luY190b3JlZ2V4cChvcHQsIGNudCkgLSAxKTsKKyAgICAgICAgYi0+c3RhY2tfc2l6
ZSArPSBhdHRyX3NwX2luY190b3JlZ2V4cChvcHQsIGNudCk7CisgICAgfQorICAgIGZwcmludGYo
ZiwgIn1cbiIpOworICAgIGJyZWFrOworICBjYXNlIEJJTihpbnRlcm4pOgorICAgIGZwcmludGYo
ZiwgIntcbiIpOworICAgIHsKKyAgICAgICAgTUFZQkVfVU5VU0VEKGludCBwY19tb3ZlZF9wKSA9
IEZBTFNFOworICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAgICAg
ICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVuc2lnbmVkIGludCkgc3RhY2tfc2l6ZSA9
ICV1O1xuIiwgYi0+c3RhY2tfc2l6ZSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAi
ICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgc3RyLCBzeW07XG4iKTsKKworICAgICAgICBmcHJpbnRm
KGYsICIgICAgc3RyID0gc3RhY2tbJWRdO1xuIiwgYi0+c3RhY2tfc2l6ZSAtIDEpOworICAgICAg
ICBpZiAoYm9keS0+Y2F0Y2hfZXhjZXB0X3AgfHwgRkFMU0UpIHsKKyAgICAgICAgICAgIGZwcmlu
dGYoZiwgIiAgICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4
dF9wb3MpOyAvKiBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7ICovCisgICAgICAgICAgICBwY19t
b3ZlZF9wID0gVFJVRTsKKyAgICAgICAgfQorICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFj
a19wKSB7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBmcHJpbnRmKGYs
ICIgICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3Rh
Y2tfc2l6ZSArIDEpOworICAgICAgICB9CisgICAgICAgIGZwcmludGYoZiwgIiAgICB7XG4iKTsK
KyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICBzeW0gPSByYl9zdHJfaW50ZXJuKHN0cik7XG4i
KTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIpOworICAgICAgICBmcHJpbnRmKGYsICIg
ICAgc3RhY2tbJWRdID0gc3ltO1xuIiwgYi0+c3RhY2tfc2l6ZSArIChpbnQpYXR0cl9zcF9pbmNf
aW50ZXJuKCkgLSAxKTsKKyAgICAgICAgYi0+c3RhY2tfc2l6ZSArPSBhdHRyX3NwX2luY19pbnRl
cm4oKTsKKyAgICB9CisgICAgZnByaW50ZihmLCAifVxuIik7CisgICAgYnJlYWs7CisgIGNhc2Ug
QklOKG5ld2FycmF5KToKKyAgICBmcHJpbnRmKGYsICJ7XG4iKTsKKyAgICB7CisgICAgICAgIE1B
WUJFX1VOVVNFRChpbnQgcGNfbW92ZWRfcCkgPSBGQUxTRTsKKyAgICAgICAgTUFZQkVfVU5VU0VE
KHJiX251bV90IG51bSkgPSAocmJfbnVtX3Qpb3BlcmFuZHNbMF07CisgICAgICAgIGlmIChzdGF0
dXMtPmxvY2FsX3N0YWNrX3ApIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9V
TlVTRUQodW5zaWduZWQgaW50KSBzdGFja19zaXplID0gJXU7XG4iLCBiLT5zdGFja19zaXplKTsK
KyAgICAgICAgfQorICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSB2
YWw7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCkg
bnVtO1xuIik7CisKKyAgICAgICAgZnByaW50ZihmLCAiICAgIG51bSA9IChyYl9udW1fdCkweCUi
UFJJeFZBTFVFIjsiLCBvcGVyYW5kc1swXSk7CisgICAgICAgIGZwcmludGYoZiwgIlxuIik7Cisg
ICAgICAgIGlmIChib2R5LT5jYXRjaF9leGNlcHRfcCB8fCBGQUxTRSkgeworICAgICAgICAgICAg
ZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4i
LCBuZXh0X3Bvcyk7IC8qIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsgKi8KKyAgICAgICAgICAg
IHBjX21vdmVkX3AgPSBUUlVFOworICAgICAgICB9CisgICAgICAgIGlmIChzdGF0dXMtPmxvY2Fs
X3N0YWNrX3ApIHsKKyAgICAgICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIGZwcmlu
dGYoZiwgIiAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBi
LT5zdGFja19zaXplICsgMSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAiICAgIHtc
biIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHZhbCA9IHJiX2FyeV9uZXc0KG51bSwg
JXMpO1xuIiwKKyAgICAgICAgICAgICAgICAoc3RhdHVzLT5sb2NhbF9zdGFja19wID8gInN0YWNr
ICsgKHN0YWNrX3NpemUgLSAobnVtKSkiIDogIlNUQUNLX0FERFJfRlJPTV9UT1AobnVtKSIpKTsK
KyAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAg
c3RhY2tbJWRdID0gdmFsO1xuIiwgYi0+c3RhY2tfc2l6ZSArIChpbnQpYXR0cl9zcF9pbmNfbmV3
YXJyYXkobnVtKSAtIDEpOworICAgICAgICBiLT5zdGFja19zaXplICs9IGF0dHJfc3BfaW5jX25l
d2FycmF5KG51bSk7CisgICAgfQorICAgIGZwcmludGYoZiwgIn1cbiIpOworICAgIGJyZWFrOwor
ICBjYXNlIEJJTihkdXBhcnJheSk6CisgICAgZnByaW50ZihmLCAie1xuIik7CisgICAgeworICAg
ICAgICBNQVlCRV9VTlVTRUQoaW50IHBjX21vdmVkX3ApID0gRkFMU0U7CisgICAgICAgIE1BWUJF
X1VOVVNFRChWQUxVRSBhcnkpID0gKFZBTFVFKW9wZXJhbmRzWzBdOworICAgICAgICBpZiAoc3Rh
dHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVf
VU5VU0VEKHVuc2lnbmVkIGludCkgc3RhY2tfc2l6ZSA9ICV1O1xuIiwgYi0+c3RhY2tfc2l6ZSk7
CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChWQUxVRSkg
YXJ5LCB2YWw7XG4iKTsKKworICAgICAgICBmcHJpbnRmKGYsICIgICAgYXJ5ID0gKFZBTFVFKTB4
JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRzWzBdKTsKKyAgICAgICAgaWYgKFNZTUJPTF9QKChWQUxV
RSlvcGVyYW5kc1swXSkpIGNvbW1lbnRfaWQoZiwgU1lNMklEKChWQUxVRSlvcGVyYW5kc1swXSkp
OworICAgICAgICBmcHJpbnRmKGYsICJcbiIpOworICAgICAgICBpZiAoYm9keS0+Y2F0Y2hfZXhj
ZXB0X3AgfHwgRkFMU0UpIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5w
YyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3MpOyAvKiBBRERfUEMoSU5T
Tl9BVFRSKHdpZHRoKSk7ICovCisgICAgICAgICAgICBwY19tb3ZlZF9wID0gVFJVRTsKKyAgICAg
ICAgfQorICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAgIH0KKyAg
ICAgICAgZWxzZSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+c3AgPSAo
VkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEpOworICAgICAg
ICB9CisgICAgICAgIGZwcmludGYoZiwgIiAgICB7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAi
ICAgICAgICBSVUJZX0RUUkFDRV9DUkVBVEVfSE9PSyhBUlJBWSwgUkFSUkFZX0xFTihhcnkpKTtc
biIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHZhbCA9IHJiX2FyeV9yZXN1cnJlY3Qo
YXJ5KTtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgfVxuIik7CisgICAgICAgIGZwcmlu
dGYoZiwgIiAgICBzdGFja1slZF0gPSB2YWw7XG4iLCBiLT5zdGFja19zaXplICsgKGludClhdHRy
X3NwX2luY19kdXBhcnJheShhcnkpIC0gMSk7CisgICAgICAgIGItPnN0YWNrX3NpemUgKz0gYXR0
cl9zcF9pbmNfZHVwYXJyYXkoYXJ5KTsKKyAgICB9CisgICAgZnByaW50ZihmLCAifVxuIik7Cisg
ICAgYnJlYWs7CisgIGNhc2UgQklOKGR1cGhhc2gpOgorICAgIGZwcmludGYoZiwgIntcbiIpOwor
ICAgIHsKKyAgICAgICAgTUFZQkVfVU5VU0VEKGludCBwY19tb3ZlZF9wKSA9IEZBTFNFOworICAg
ICAgICBNQVlCRV9VTlVTRUQoVkFMVUUgaGFzaCkgPSAoVkFMVUUpb3BlcmFuZHNbMF07CisgICAg
ICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwg
IiAgICBNQVlCRV9VTlVTRUQodW5zaWduZWQgaW50KSBzdGFja19zaXplID0gJXU7XG4iLCBiLT5z
dGFja19zaXplKTsKKyAgICAgICAgfQorICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5V
U0VEKFZBTFVFKSBoYXNoLCB2YWw7XG4iKTsKKworICAgICAgICBmcHJpbnRmKGYsICIgICAgaGFz
aCA9IChWQUxVRSkweCUiUFJJeFZBTFVFIjsiLCBvcGVyYW5kc1swXSk7CisgICAgICAgIGlmIChT
WU1CT0xfUCgoVkFMVUUpb3BlcmFuZHNbMF0pKSBjb21tZW50X2lkKGYsIFNZTTJJRCgoVkFMVUUp
b3BlcmFuZHNbMF0pKTsKKyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsKKyAgICAgICAgaWYgKGJv
ZHktPmNhdGNoX2V4Y2VwdF9wIHx8IEZBTFNFKSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIg
ICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsg
LyogQUREX1BDKElOU05fQVRUUih3aWR0aCkpOyAqLworICAgICAgICAgICAgcGNfbW92ZWRfcCA9
IFRSVUU7CisgICAgICAgIH0KKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgewor
ICAgICAgICB9CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJl
Z19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUg
KyAxKTsKKyAgICAgICAgfQorICAgICAgICBmcHJpbnRmKGYsICIgICAge1xuIik7CisgICAgICAg
IGZwcmludGYoZiwgIiAgICAgICAgUlVCWV9EVFJBQ0VfQ1JFQVRFX0hPT0soSEFTSCwgUkhBU0hf
U0laRShoYXNoKSA8PCAxKTtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHZhbCA9
IHJiX2hhc2hfcmVzdXJyZWN0KGhhc2gpO1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICB9
XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIHN0YWNrWyVkXSA9IHZhbDtcbiIsIGItPnN0
YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5jX2R1cGhhc2goaGFzaCkgLSAxKTsKKyAgICAgICAg
Yi0+c3RhY2tfc2l6ZSArPSBhdHRyX3NwX2luY19kdXBoYXNoKGhhc2gpOworICAgIH0KKyAgICBm
cHJpbnRmKGYsICJ9XG4iKTsKKyAgICBicmVhazsKKyAgY2FzZSBCSU4oZXhwYW5kYXJyYXkpOgor
ICAgIGZwcmludGYoZiwgIntcbiIpOworICAgIHsKKyAgICAgICAgTUFZQkVfVU5VU0VEKGludCBw
Y19tb3ZlZF9wKSA9IEZBTFNFOworICAgICAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QgbnVtKSA9
IChyYl9udW1fdClvcGVyYW5kc1swXTsKKyAgICAgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IGZs
YWcpID0gKHJiX251bV90KW9wZXJhbmRzWzFdOworICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9z
dGFja19wKSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVuc2ln
bmVkIGludCkgc3RhY2tfc2l6ZSA9ICV1O1xuIiwgYi0+c3RhY2tfc2l6ZSk7CisgICAgICAgIH0K
KyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgYXJ5O1xuIik7Cisg
ICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QpIGZsYWcsIG51bTtc
biIpOworCisgICAgICAgIGZwcmludGYoZiwgIiAgICBudW0gPSAocmJfbnVtX3QpMHglIlBSSXhW
QUxVRSI7Iiwgb3BlcmFuZHNbMF0pOworICAgICAgICBmcHJpbnRmKGYsICJcbiIpOworICAgICAg
ICBmcHJpbnRmKGYsICIgICAgZmxhZyA9IChyYl9udW1fdCkweCUiUFJJeFZBTFVFIjsiLCBvcGVy
YW5kc1sxXSk7CisgICAgICAgIGZwcmludGYoZiwgIlxuIik7CisgICAgICAgIGZwcmludGYoZiwg
IiAgICBhcnkgPSBzdGFja1slZF07XG4iLCBiLT5zdGFja19zaXplIC0gMSk7CisgICAgICAgIGlm
IChib2R5LT5jYXRjaF9leGNlcHRfcCB8fCBUUlVFKSB7CisgICAgICAgICAgICBmcHJpbnRmKGYs
ICIgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9z
KTsgLyogQUREX1BDKElOU05fQVRUUih3aWR0aCkpOyAqLworICAgICAgICAgICAgcGNfbW92ZWRf
cCA9IFRSVUU7CisgICAgICAgIH0KKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkg
eworICAgICAgICB9CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAg
IHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3Np
emUgKyAxKTsKKyAgICAgICAgfQorICAgICAgICBmcHJpbnRmKGYsICIgICAge1xuIik7CisgICAg
ICAgIGZwcmludGYoZiwgIiAgICAgICAgdm1fZXhwYW5kYXJyYXkoJXMsIGFyeSwgbnVtLCAoaW50
KWZsYWcpO1xuIiwgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCA/ICIoc3RhY2sgKyBzdGFja19zaXpl
KSIgOiAiR0VUX1NQKCkiKSk7CisgICAgICAgIGZwcmludGYoZiwgIiAgICB9XG4iKTsKKyAgICAg
ICAgZnByaW50ZihmLCAiICAgIGlmIChVTkxJS0VMWShydWJ5X3ZtX2V2ZW50X2VuYWJsZWRfZ2xv
YmFsX2ZsYWdzICYgSVNFUV9UUkFDRV9FVkVOVFMpKSB7XG4iKTsKKyAgICAgICAgZnByaW50Zihm
LCAiICAgICAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBi
LT5zdGFja19zaXplICsgKGludClhdHRyX3NwX2luY19leHBhbmRhcnJheShudW0sIGZsYWcpICsg
MSk7CisgICAgICAgIGlmICghcGNfbW92ZWRfcCkgeworICAgICAgICAgICAgZnByaW50ZihmLCAi
ICAgICAgICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9w
b3MpOworICAgICAgICB9CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgZ290byBjYW5jZWw7
XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIpOworICAgICAgICBiLT5zdGFja19z
aXplICs9IGF0dHJfc3BfaW5jX2V4cGFuZGFycmF5KG51bSwgZmxhZyk7CisgICAgfQorICAgIGZw
cmludGYoZiwgIn1cbiIpOworICAgIGJyZWFrOworICBjYXNlIEJJTihjb25jYXRhcnJheSk6Cisg
ICAgZnByaW50ZihmLCAie1xuIik7CisgICAgeworICAgICAgICBNQVlCRV9VTlVTRUQoaW50IHBj
X21vdmVkX3ApID0gRkFMU0U7CisgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsK
KyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQodW5zaWduZWQgaW50KSBz
dGFja19zaXplID0gJXU7XG4iLCBiLT5zdGFja19zaXplKTsKKyAgICAgICAgfQorICAgICAgICBm
cHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSBhcnksIGFyeTEsIGFyeTI7XG4iKTsK
KworICAgICAgICBmcHJpbnRmKGYsICIgICAgYXJ5MSA9IHN0YWNrWyVkXTtcbiIsIGItPnN0YWNr
X3NpemUgLSAyKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIGFyeTIgPSBzdGFja1slZF07XG4i
LCBiLT5zdGFja19zaXplIC0gMSk7CisgICAgICAgIGlmIChib2R5LT5jYXRjaF9leGNlcHRfcCB8
fCBUUlVFKSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+cGMgPSBvcmln
aW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsgLyogQUREX1BDKElOU05fQVRUUih3
aWR0aCkpOyAqLworICAgICAgICAgICAgcGNfbW92ZWRfcCA9IFRSVUU7CisgICAgICAgIH0KKyAg
ICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgeworICAgICAgICB9CisgICAgICAgIGVs
c2UgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICop
cmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAxKTsKKyAgICAgICAgfQorICAg
ICAgICBmcHJpbnRmKGYsICIgICAge1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAg
YXJ5ID0gdm1fY29uY2F0X2FycmF5KGFyeTEsIGFyeTIpO1xuIik7CisgICAgICAgIGZwcmludGYo
ZiwgIiAgICB9XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIHN0YWNrWyVkXSA9IGFyeTtc
biIsIGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5jX2NvbmNhdGFycmF5KCkgLSAxKTsK
KyAgICAgICAgZnByaW50ZihmLCAiICAgIGlmIChVTkxJS0VMWShydWJ5X3ZtX2V2ZW50X2VuYWJs
ZWRfZ2xvYmFsX2ZsYWdzICYgSVNFUV9UUkFDRV9FVkVOVFMpKSB7XG4iKTsKKyAgICAgICAgZnBy
aW50ZihmLCAiICAgICAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7
XG4iLCBiLT5zdGFja19zaXplICsgKGludClhdHRyX3NwX2luY19jb25jYXRhcnJheSgpICsgMSk7
CisgICAgICAgIGlmICghcGNfbW92ZWRfcCkgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAg
ICAgICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3Mp
OworICAgICAgICB9CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgZ290byBjYW5jZWw7XG4i
KTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIpOworICAgICAgICBiLT5zdGFja19zaXpl
ICs9IGF0dHJfc3BfaW5jX2NvbmNhdGFycmF5KCk7CisgICAgfQorICAgIGZwcmludGYoZiwgIn1c
biIpOworICAgIGJyZWFrOworICBjYXNlIEJJTihzcGxhdGFycmF5KToKKyAgICBmcHJpbnRmKGYs
ICJ7XG4iKTsKKyAgICB7CisgICAgICAgIE1BWUJFX1VOVVNFRChpbnQgcGNfbW92ZWRfcCkgPSBG
QUxTRTsKKyAgICAgICAgTUFZQkVfVU5VU0VEKFZBTFVFIGZsYWcpID0gKFZBTFVFKW9wZXJhbmRz
WzBdOworICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAgICAgICBm
cHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVuc2lnbmVkIGludCkgc3RhY2tfc2l6ZSA9ICV1
O1xuIiwgYi0+c3RhY2tfc2l6ZSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAiICAg
IE1BWUJFX1VOVVNFRChWQUxVRSkgYXJ5LCBmbGFnLCBvYmo7XG4iKTsKKworICAgICAgICBmcHJp
bnRmKGYsICIgICAgZmxhZyA9IChWQUxVRSkweCUiUFJJeFZBTFVFIjsiLCBvcGVyYW5kc1swXSk7
CisgICAgICAgIGlmIChTWU1CT0xfUCgoVkFMVUUpb3BlcmFuZHNbMF0pKSBjb21tZW50X2lkKGYs
IFNZTTJJRCgoVkFMVUUpb3BlcmFuZHNbMF0pKTsKKyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsK
KyAgICAgICAgZnByaW50ZihmLCAiICAgIGFyeSA9IHN0YWNrWyVkXTtcbiIsIGItPnN0YWNrX3Np
emUgLSAxKTsKKyAgICAgICAgaWYgKGJvZHktPmNhdGNoX2V4Y2VwdF9wIHx8IFRSVUUpIHsKKyAg
ICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNl
cSArICVkO1xuIiwgbmV4dF9wb3MpOyAvKiBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7ICovCisg
ICAgICAgICAgICBwY19tb3ZlZF9wID0gVFJVRTsKKyAgICAgICAgfQorICAgICAgICBpZiAoc3Rh
dHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAgICAg
ICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCAr
ICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEpOworICAgICAgICB9CisgICAgICAgIGZwcmludGYo
ZiwgIiAgICB7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICBvYmogPSB2bV9zcGxh
dF9hcnJheShmbGFnLCBhcnkpO1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICB9XG4iKTsK
KyAgICAgICAgZnByaW50ZihmLCAiICAgIHN0YWNrWyVkXSA9IG9iajtcbiIsIGItPnN0YWNrX3Np
emUgKyAoaW50KWF0dHJfc3BfaW5jX3NwbGF0YXJyYXkoZmxhZykgLSAxKTsKKyAgICAgICAgZnBy
aW50ZihmLCAiICAgIGlmIChVTkxJS0VMWShydWJ5X3ZtX2V2ZW50X2VuYWJsZWRfZ2xvYmFsX2Zs
YWdzICYgSVNFUV9UUkFDRV9FVkVOVFMpKSB7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAg
ICAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFj
a19zaXplICsgKGludClhdHRyX3NwX2luY19zcGxhdGFycmF5KGZsYWcpICsgMSk7CisgICAgICAg
IGlmICghcGNfbW92ZWRfcCkgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgICAgICByZWdf
Y2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3MpOworICAgICAg
ICB9CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgZ290byBjYW5jZWw7XG4iKTsKKyAgICAg
ICAgZnByaW50ZihmLCAiICAgIH1cbiIpOworICAgICAgICBiLT5zdGFja19zaXplICs9IGF0dHJf
c3BfaW5jX3NwbGF0YXJyYXkoZmxhZyk7CisgICAgfQorICAgIGZwcmludGYoZiwgIn1cbiIpOwor
ICAgIGJyZWFrOworICBjYXNlIEJJTihuZXdoYXNoKToKKyAgICBmcHJpbnRmKGYsICJ7XG4iKTsK
KyAgICB7CisgICAgICAgIE1BWUJFX1VOVVNFRChpbnQgcGNfbW92ZWRfcCkgPSBGQUxTRTsKKyAg
ICAgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IG51bSkgPSAocmJfbnVtX3Qpb3BlcmFuZHNbMF07
CisgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKKyAgICAgICAgICAgIGZwcmlu
dGYoZiwgIiAgICBNQVlCRV9VTlVTRUQodW5zaWduZWQgaW50KSBzdGFja19zaXplID0gJXU7XG4i
LCBiLT5zdGFja19zaXplKTsKKyAgICAgICAgfQorICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZ
QkVfVU5VU0VEKFZBTFVFKSB2YWw7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJF
X1VOVVNFRChyYl9udW1fdCkgbnVtO1xuIik7CisKKyAgICAgICAgZnByaW50ZihmLCAiICAgIG51
bSA9IChyYl9udW1fdCkweCUiUFJJeFZBTFVFIjsiLCBvcGVyYW5kc1swXSk7CisgICAgICAgIGZw
cmludGYoZiwgIlxuIik7CisgICAgICAgIGlmIChib2R5LT5jYXRjaF9leGNlcHRfcCB8fCBUUlVF
KSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9i
b2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsgLyogQUREX1BDKElOU05fQVRUUih3aWR0aCkp
OyAqLworICAgICAgICAgICAgcGNfbW92ZWRfcCA9IFRSVUU7CisgICAgICAgIH0KKyAgICAgICAg
aWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgeworICAgICAgICB9CisgICAgICAgIGVsc2Ugewor
ICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2Nm
cC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAxKTsKKyAgICAgICAgfQorICAgICAgICBm
cHJpbnRmKGYsICIgICAge1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgUlVCWV9E
VFJBQ0VfQ1JFQVRFX0hPT0soSEFTSCwgbnVtKTtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICJc
biIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHZhbCA9IHJiX2hhc2hfbmV3X3dpdGhf
c2l6ZShudW0gLyAyKTtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICJcbiIpOworICAgICAgICBm
cHJpbnRmKGYsICIgICAgICAgIGlmIChudW0pIHtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIg
ICAgICAgICAgICByYl9oYXNoX2J1bGtfaW5zZXJ0KG51bSwgJXMsIHZhbCk7XG4iLAorICAgICAg
ICAgICAgICAgIChzdGF0dXMtPmxvY2FsX3N0YWNrX3AgPyAic3RhY2sgKyAoc3RhY2tfc2l6ZSAt
IChudW0pKSIgOiAiU1RBQ0tfQUREUl9GUk9NX1RPUChudW0pIikpOworICAgICAgICBmcHJpbnRm
KGYsICIgICAgICAgIH1cbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgfVxuIik7CisgICAg
ICAgIGZwcmludGYoZiwgIiAgICBzdGFja1slZF0gPSB2YWw7XG4iLCBiLT5zdGFja19zaXplICsg
KGludClhdHRyX3NwX2luY19uZXdoYXNoKG51bSkgLSAxKTsKKyAgICAgICAgZnByaW50ZihmLCAi
ICAgIGlmIChVTkxJS0VMWShydWJ5X3ZtX2V2ZW50X2VuYWJsZWRfZ2xvYmFsX2ZsYWdzICYgSVNF
UV9UUkFDRV9FVkVOVFMpKSB7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICByZWdf
Y2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsg
KGludClhdHRyX3NwX2luY19uZXdoYXNoKG51bSkgKyAxKTsKKyAgICAgICAgaWYgKCFwY19tb3Zl
ZF9wKSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHJlZ19jZnAtPnBjID0gb3Jp
Z2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBuZXh0X3Bvcyk7CisgICAgICAgIH0KKyAgICAgICAg
ZnByaW50ZihmLCAiICAgICAgICBnb3RvIGNhbmNlbDtcbiIpOworICAgICAgICBmcHJpbnRmKGYs
ICIgICAgfVxuIik7CisgICAgICAgIGItPnN0YWNrX3NpemUgKz0gYXR0cl9zcF9pbmNfbmV3aGFz
aChudW0pOworICAgIH0KKyAgICBmcHJpbnRmKGYsICJ9XG4iKTsKKyAgICBicmVhazsKKyAgY2Fz
ZSBCSU4obmV3cmFuZ2UpOgorICAgIGZwcmludGYoZiwgIntcbiIpOworICAgIHsKKyAgICAgICAg
TUFZQkVfVU5VU0VEKGludCBwY19tb3ZlZF9wKSA9IEZBTFNFOworICAgICAgICBNQVlCRV9VTlVT
RUQocmJfbnVtX3QgZmxhZykgPSAocmJfbnVtX3Qpb3BlcmFuZHNbMF07CisgICAgICAgIGlmIChz
dGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlC
RV9VTlVTRUQodW5zaWduZWQgaW50KSBzdGFja19zaXplID0gJXU7XG4iLCBiLT5zdGFja19zaXpl
KTsKKyAgICAgICAgfQorICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKFZBTFVF
KSBoaWdoLCBsb3csIHZhbDtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5V
U0VEKHJiX251bV90KSBmbGFnO1xuIik7CisKKyAgICAgICAgZnByaW50ZihmLCAiICAgIGZsYWcg
PSAocmJfbnVtX3QpMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNbMF0pOworICAgICAgICBmcHJp
bnRmKGYsICJcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgbG93ID0gc3RhY2tbJWRdO1xu
IiwgYi0+c3RhY2tfc2l6ZSAtIDIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgaGlnaCA9IHN0
YWNrWyVkXTtcbiIsIGItPnN0YWNrX3NpemUgLSAxKTsKKyAgICAgICAgaWYgKGJvZHktPmNhdGNo
X2V4Y2VwdF9wIHx8IFRSVUUpIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2Zw
LT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3MpOyAvKiBBRERfUEMo
SU5TTl9BVFRSKHdpZHRoKSk7ICovCisgICAgICAgICAgICBwY19tb3ZlZF9wID0gVFJVRTsKKyAg
ICAgICAgfQorICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAgIH0K
KyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+c3Ag
PSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEpOworICAg
ICAgICB9CisgICAgICAgIGZwcmludGYoZiwgIiAgICB7XG4iKTsKKyAgICAgICAgZnByaW50Zihm
LCAiICAgICAgICB2YWwgPSByYl9yYW5nZV9uZXcobG93LCBoaWdoLCAoaW50KWZsYWcpO1xuIik7
CisgICAgICAgIGZwcmludGYoZiwgIiAgICB9XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAg
IHN0YWNrWyVkXSA9IHZhbDtcbiIsIGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5jX25l
d3JhbmdlKGZsYWcpIC0gMSk7CisgICAgICAgIGZwcmludGYoZiwgIiAgICBpZiAoVU5MSUtFTFko
cnVieV92bV9ldmVudF9lbmFibGVkX2dsb2JhbF9mbGFncyAmIElTRVFfVFJBQ0VfRVZFTlRTKSkg
e1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUg
KilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIChpbnQpYXR0cl9zcF9pbmNf
bmV3cmFuZ2UoZmxhZykgKyAxKTsKKyAgICAgICAgaWYgKCFwY19tb3ZlZF9wKSB7CisgICAgICAg
ICAgICBmcHJpbnRmKGYsICIgICAgICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2Vx
ICsgJWQ7XG4iLCBuZXh0X3Bvcyk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAiICAg
ICAgICBnb3RvIGNhbmNlbDtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgfVxuIik7Cisg
ICAgICAgIGItPnN0YWNrX3NpemUgKz0gYXR0cl9zcF9pbmNfbmV3cmFuZ2UoZmxhZyk7CisgICAg
fQorICAgIGZwcmludGYoZiwgIn1cbiIpOworICAgIGJyZWFrOworICBjYXNlIEJJTihwb3ApOgor
ICAgIGZwcmludGYoZiwgIntcbiIpOworICAgIHsKKyAgICAgICAgTUFZQkVfVU5VU0VEKGludCBw
Y19tb3ZlZF9wKSA9IEZBTFNFOworICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7
CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVuc2lnbmVkIGludCkg
c3RhY2tfc2l6ZSA9ICV1O1xuIiwgYi0+c3RhY2tfc2l6ZSk7CisgICAgICAgIH0KKyAgICAgICAg
ZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgdmFsO1xuIik7CisKKyAgICAgICAg
ZnByaW50ZihmLCAiICAgIHZhbCA9IHN0YWNrWyVkXTtcbiIsIGItPnN0YWNrX3NpemUgLSAxKTsK
KyAgICAgICAgaWYgKGJvZHktPmNhdGNoX2V4Y2VwdF9wIHx8IEZBTFNFKSB7CisgICAgICAgICAg
ICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtc
biIsIG5leHRfcG9zKTsgLyogQUREX1BDKElOU05fQVRUUih3aWR0aCkpOyAqLworICAgICAgICAg
ICAgcGNfbW92ZWRfcCA9IFRSVUU7CisgICAgICAgIH0KKyAgICAgICAgaWYgKHN0YXR1cy0+bG9j
YWxfc3RhY2tfcCkgeworICAgICAgICB9CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgZnBy
aW50ZihmLCAiICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIs
IGItPnN0YWNrX3NpemUgKyAxKTsKKyAgICAgICAgfQorICAgICAgICBmcHJpbnRmKGYsICIgICAg
e1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgKHZvaWQpdmFsO1xuIik7CisgICAg
ICAgIGZwcmludGYoZiwgIiAgICAgICAgLyogbm9uZSAqL1xuIik7CisgICAgICAgIGZwcmludGYo
ZiwgIiAgICB9XG4iKTsKKyAgICAgICAgYi0+c3RhY2tfc2l6ZSArPSBhdHRyX3NwX2luY19wb3Ao
KTsKKyAgICB9CisgICAgZnByaW50ZihmLCAifVxuIik7CisgICAgYnJlYWs7CisgIGNhc2UgQklO
KGR1cCk6CisgICAgZnByaW50ZihmLCAie1xuIik7CisgICAgeworICAgICAgICBNQVlCRV9VTlVT
RUQoaW50IHBjX21vdmVkX3ApID0gRkFMU0U7CisgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0
YWNrX3ApIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQodW5zaWdu
ZWQgaW50KSBzdGFja19zaXplID0gJXU7XG4iLCBiLT5zdGFja19zaXplKTsKKyAgICAgICAgfQor
ICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSB2YWwsIHZhbDEsIHZh
bDI7XG4iKTsKKworICAgICAgICBmcHJpbnRmKGYsICIgICAgdmFsID0gc3RhY2tbJWRdO1xuIiwg
Yi0+c3RhY2tfc2l6ZSAtIDEpOworICAgICAgICBpZiAoYm9keS0+Y2F0Y2hfZXhjZXB0X3AgfHwg
RkFMU0UpIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5wYyA9IG9yaWdp
bmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3MpOyAvKiBBRERfUEMoSU5TTl9BVFRSKHdp
ZHRoKSk7ICovCisgICAgICAgICAgICBwY19tb3ZlZF9wID0gVFJVRTsKKyAgICAgICAgfQorICAg
ICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAgIH0KKyAgICAgICAgZWxz
ZSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKily
ZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEpOworICAgICAgICB9CisgICAg
ICAgIGZwcmludGYoZiwgIiAgICB7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICB2
YWwxID0gdmFsMiA9IHZhbDtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgfVxuIik7Cisg
ICAgICAgIGZwcmludGYoZiwgIiAgICBzdGFja1slZF0gPSB2YWwyO1xuIiwgYi0+c3RhY2tfc2l6
ZSArIChpbnQpYXR0cl9zcF9pbmNfZHVwKCkgLSAxKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAg
IHN0YWNrWyVkXSA9IHZhbDE7XG4iLCBiLT5zdGFja19zaXplICsgKGludClhdHRyX3NwX2luY19k
dXAoKSAtIDIpOworICAgICAgICBiLT5zdGFja19zaXplICs9IGF0dHJfc3BfaW5jX2R1cCgpOwor
ICAgIH0KKyAgICBmcHJpbnRmKGYsICJ9XG4iKTsKKyAgICBicmVhazsKKyAgY2FzZSBCSU4oZHVw
bik6CisgICAgZnByaW50ZihmLCAie1xuIik7CisgICAgeworICAgICAgICBNQVlCRV9VTlVTRUQo
aW50IHBjX21vdmVkX3ApID0gRkFMU0U7CisgICAgICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCBu
KSA9IChyYl9udW1fdClvcGVyYW5kc1swXTsKKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3Rh
Y2tfcCkgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRCh1bnNpZ25l
ZCBpbnQpIHN0YWNrX3NpemUgPSAldTtcbiIsIGItPnN0YWNrX3NpemUpOworICAgICAgICB9Cisg
ICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QpIG47XG4iKTsKKwor
ICAgICAgICBmcHJpbnRmKGYsICIgICAgbiA9IChyYl9udW1fdCkweCUiUFJJeFZBTFVFIjsiLCBv
cGVyYW5kc1swXSk7CisgICAgICAgIGZwcmludGYoZiwgIlxuIik7CisgICAgICAgIGlmIChib2R5
LT5jYXRjaF9leGNlcHRfcCB8fCBGQUxTRSkgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAg
IHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBuZXh0X3Bvcyk7IC8q
IEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsgKi8KKyAgICAgICAgICAgIHBjX21vdmVkX3AgPSBU
UlVFOworICAgICAgICB9CisgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKKyAg
ICAgICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdf
Y2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsg
MSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAiICAgIHtcbiIpOworICAgICAgICBm
cHJpbnRmKGYsICIgICAgICAgIHZvaWQgKmRzdCA9ICVzO1xuIiwgKHN0YXR1cy0+bG9jYWxfc3Rh
Y2tfcCA/ICIoc3RhY2sgKyBzdGFja19zaXplKSIgOiAiR0VUX1NQKCkiKSk7CisgICAgICAgIGZw
cmludGYoZiwgIiAgICAgICAgdm9pZCAqc3JjID0gJXM7XG4iLAorICAgICAgICAgICAgICAgIChz
dGF0dXMtPmxvY2FsX3N0YWNrX3AgPyAic3RhY2sgKyAoc3RhY2tfc2l6ZSAtIChuKSkiIDogIlNU
QUNLX0FERFJfRlJPTV9UT1AobikiKSk7CisgICAgICAgIGZwcmludGYoZiwgIlxuIik7CisgICAg
ICAgIGZwcmludGYoZiwgIiAgICAgICAgTUVNQ1BZKGRzdCwgc3JjLCBWQUxVRSwgbik7XG4iKTsK
KyAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIpOworICAgICAgICBiLT5zdGFja19zaXplICs9
IGF0dHJfc3BfaW5jX2R1cG4obik7CisgICAgfQorICAgIGZwcmludGYoZiwgIn1cbiIpOworICAg
IGJyZWFrOworICBjYXNlIEJJTihzd2FwKToKKyAgICBmcHJpbnRmKGYsICJ7XG4iKTsKKyAgICB7
CisgICAgICAgIE1BWUJFX1VOVVNFRChpbnQgcGNfbW92ZWRfcCkgPSBGQUxTRTsKKyAgICAgICAg
aWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAg
IE1BWUJFX1VOVVNFRCh1bnNpZ25lZCBpbnQpIHN0YWNrX3NpemUgPSAldTtcbiIsIGItPnN0YWNr
X3NpemUpOworICAgICAgICB9CisgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQo
VkFMVUUpIG9iaiwgdmFsO1xuIik7CisKKyAgICAgICAgZnByaW50ZihmLCAiICAgIHZhbCA9IHN0
YWNrWyVkXTtcbiIsIGItPnN0YWNrX3NpemUgLSAyKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAg
IG9iaiA9IHN0YWNrWyVkXTtcbiIsIGItPnN0YWNrX3NpemUgLSAxKTsKKyAgICAgICAgaWYgKGJv
ZHktPmNhdGNoX2V4Y2VwdF9wIHx8IEZBTFNFKSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIg
ICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsg
LyogQUREX1BDKElOU05fQVRUUih3aWR0aCkpOyAqLworICAgICAgICAgICAgcGNfbW92ZWRfcCA9
IFRSVUU7CisgICAgICAgIH0KKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgewor
ICAgICAgICB9CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJl
Z19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUg
KyAxKTsKKyAgICAgICAgfQorICAgICAgICBmcHJpbnRmKGYsICIgICAge1xuIik7CisgICAgICAg
IGZwcmludGYoZiwgIiAgICAgICAgLyogbm9uZSAqL1xuIik7CisgICAgICAgIGZwcmludGYoZiwg
IiAgICB9XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIHN0YWNrWyVkXSA9IHZhbDtcbiIs
IGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5jX3N3YXAoKSAtIDEpOworICAgICAgICBm
cHJpbnRmKGYsICIgICAgc3RhY2tbJWRdID0gb2JqO1xuIiwgYi0+c3RhY2tfc2l6ZSArIChpbnQp
YXR0cl9zcF9pbmNfc3dhcCgpIC0gMik7CisgICAgICAgIGItPnN0YWNrX3NpemUgKz0gYXR0cl9z
cF9pbmNfc3dhcCgpOworICAgIH0KKyAgICBmcHJpbnRmKGYsICJ9XG4iKTsKKyAgICBicmVhazsK
KyAgY2FzZSBCSU4ocmV2ZXJzZSk6CisgICAgZnByaW50ZihmLCAie1xuIik7CisgICAgeworICAg
ICAgICBNQVlCRV9VTlVTRUQoaW50IHBjX21vdmVkX3ApID0gRkFMU0U7CisgICAgICAgIE1BWUJF
X1VOVVNFRChyYl9udW1fdCBuKSA9IChyYl9udW1fdClvcGVyYW5kc1swXTsKKyAgICAgICAgaWYg
KHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIE1B
WUJFX1VOVVNFRCh1bnNpZ25lZCBpbnQpIHN0YWNrX3NpemUgPSAldTtcbiIsIGItPnN0YWNrX3Np
emUpOworICAgICAgICB9CisgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQocmJf
bnVtX3QpIG47XG4iKTsKKworICAgICAgICBmcHJpbnRmKGYsICIgICAgbiA9IChyYl9udW1fdCkw
eCUiUFJJeFZBTFVFIjsiLCBvcGVyYW5kc1swXSk7CisgICAgICAgIGZwcmludGYoZiwgIlxuIik7
CisgICAgICAgIGlmIChib2R5LT5jYXRjaF9leGNlcHRfcCB8fCBGQUxTRSkgeworICAgICAgICAg
ICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7
XG4iLCBuZXh0X3Bvcyk7IC8qIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsgKi8KKyAgICAgICAg
ICAgIHBjX21vdmVkX3AgPSBUUlVFOworICAgICAgICB9CisgICAgICAgIGlmIChzdGF0dXMtPmxv
Y2FsX3N0YWNrX3ApIHsKKyAgICAgICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIGZw
cmludGYoZiwgIiAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4i
LCBiLT5zdGFja19zaXplICsgMSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAiICAg
IHtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHJiX251bV90IGk7XG4iKTsKKyAg
ICAgICAgZnByaW50ZihmLCAiICAgICAgICBWQUxVRSAqc3AgPSAlcztcbiIsCisgICAgICAgICAg
ICAgICAgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCA/ICJzdGFjayArIChzdGFja19zaXplIC0gKG4p
KSIgOiAiU1RBQ0tfQUREUl9GUk9NX1RPUChuKSIpKTsKKyAgICAgICAgZnByaW50ZihmLCAiXG4i
KTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICBmb3IgKGk9MDsgaTxuLzI7IGkrKykge1xu
Iik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgIFZBTFVFIHYwID0gc3BbaV07XG4i
KTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICAgICAgVkFMVUUgdjEgPSAlcztcbiIsCisg
ICAgICAgICAgICAgIChzdGF0dXMtPmxvY2FsX3N0YWNrX3AgPyAiKihzdGFjayArIChzdGFja19z
aXplIC0gKGkpIC0gMSkpIiA6ICJUT1BOKGkpIikpOworICAgICAgICBmcHJpbnRmKGYsICIgICAg
ICAgICAgICBzcFtpXSA9IHYxO1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAg
ICVzID0gdjA7XG4iLAorICAgICAgICAgICAgICAoc3RhdHVzLT5sb2NhbF9zdGFja19wID8gIioo
c3RhY2sgKyAoc3RhY2tfc2l6ZSAtIChpKSAtIDEpKSIgOiAiVE9QTihpKSIpKTsKKyAgICAgICAg
ZnByaW50ZihmLCAiICAgICAgICB9XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIp
OworICAgICAgICBiLT5zdGFja19zaXplICs9IGF0dHJfc3BfaW5jX3JldmVyc2Uobik7CisgICAg
fQorICAgIGZwcmludGYoZiwgIn1cbiIpOworICAgIGJyZWFrOworICBjYXNlIEJJTihyZXB1dCk6
CisgICAgZnByaW50ZihmLCAie1xuIik7CisgICAgeworICAgICAgICBNQVlCRV9VTlVTRUQoaW50
IHBjX21vdmVkX3ApID0gRkFMU0U7CisgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3Ap
IHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQodW5zaWduZWQgaW50
KSBzdGFja19zaXplID0gJXU7XG4iLCBiLT5zdGFja19zaXplKTsKKyAgICAgICAgfQorICAgICAg
ICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSB2YWw7XG4iKTsKKworICAgICAg
ICBmcHJpbnRmKGYsICIgICAgdmFsID0gc3RhY2tbJWRdO1xuIiwgYi0+c3RhY2tfc2l6ZSAtIDEp
OworICAgICAgICBpZiAoYm9keS0+Y2F0Y2hfZXhjZXB0X3AgfHwgRkFMU0UpIHsKKyAgICAgICAg
ICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVk
O1xuIiwgbmV4dF9wb3MpOyAvKiBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7ICovCisgICAgICAg
ICAgICBwY19tb3ZlZF9wID0gVFJVRTsKKyAgICAgICAgfQorICAgICAgICBpZiAoc3RhdHVzLT5s
b2NhbF9zdGFja19wKSB7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBm
cHJpbnRmKGYsICIgICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xu
IiwgYi0+c3RhY2tfc2l6ZSArIDEpOworICAgICAgICB9CisgICAgICAgIGZwcmludGYoZiwgIiAg
ICB7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICAvKiBub25lICovXG4iKTsKKyAg
ICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgc3Rh
Y2tbJWRdID0gdmFsO1xuIiwgYi0+c3RhY2tfc2l6ZSArIChpbnQpYXR0cl9zcF9pbmNfcmVwdXQo
KSAtIDEpOworICAgICAgICBiLT5zdGFja19zaXplICs9IGF0dHJfc3BfaW5jX3JlcHV0KCk7Cisg
ICAgfQorICAgIGZwcmludGYoZiwgIn1cbiIpOworICAgIGJyZWFrOworICBjYXNlIEJJTih0b3Bu
KToKKyAgICBmcHJpbnRmKGYsICJ7XG4iKTsKKyAgICB7CisgICAgICAgIE1BWUJFX1VOVVNFRChp
bnQgcGNfbW92ZWRfcCkgPSBGQUxTRTsKKyAgICAgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IG4p
ID0gKHJiX251bV90KW9wZXJhbmRzWzBdOworICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFj
a19wKSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVuc2lnbmVk
IGludCkgc3RhY2tfc2l6ZSA9ICV1O1xuIiwgYi0+c3RhY2tfc2l6ZSk7CisgICAgICAgIH0KKyAg
ICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgdmFsO1xuIik7CisgICAg
ICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QpIG47XG4iKTsKKworICAg
ICAgICBmcHJpbnRmKGYsICIgICAgbiA9IChyYl9udW1fdCkweCUiUFJJeFZBTFVFIjsiLCBvcGVy
YW5kc1swXSk7CisgICAgICAgIGZwcmludGYoZiwgIlxuIik7CisgICAgICAgIGlmIChib2R5LT5j
YXRjaF9leGNlcHRfcCB8fCBGQUxTRSkgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJl
Z19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBuZXh0X3Bvcyk7IC8qIEFE
RF9QQyhJTlNOX0FUVFIod2lkdGgpKTsgKi8KKyAgICAgICAgICAgIHBjX21vdmVkX3AgPSBUUlVF
OworICAgICAgICB9CisgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKKyAgICAg
ICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2Zw
LT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgMSk7
CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAiICAgIHtcbiIpOworICAgICAgICBmcHJp
bnRmKGYsICIgICAgICAgIHZhbCA9ICVzO1xuIiwKKyAgICAgICAgICAgICAgKHN0YXR1cy0+bG9j
YWxfc3RhY2tfcCA/ICIqKHN0YWNrICsgKHN0YWNrX3NpemUgLSAobikgLSAxKSkiIDogIlRPUE4o
bikiKSk7CisgICAgICAgIGZwcmludGYoZiwgIiAgICB9XG4iKTsKKyAgICAgICAgZnByaW50Zihm
LCAiICAgIHN0YWNrWyVkXSA9IHZhbDtcbiIsIGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3Bf
aW5jX3RvcG4obikgLSAxKTsKKyAgICAgICAgYi0+c3RhY2tfc2l6ZSArPSBhdHRyX3NwX2luY190
b3BuKG4pOworICAgIH0KKyAgICBmcHJpbnRmKGYsICJ9XG4iKTsKKyAgICBicmVhazsKKyAgY2Fz
ZSBCSU4oc2V0bik6CisgICAgZnByaW50ZihmLCAie1xuIik7CisgICAgeworICAgICAgICBNQVlC
RV9VTlVTRUQoaW50IHBjX21vdmVkX3ApID0gRkFMU0U7CisgICAgICAgIE1BWUJFX1VOVVNFRChy
Yl9udW1fdCBuKSA9IChyYl9udW1fdClvcGVyYW5kc1swXTsKKyAgICAgICAgaWYgKHN0YXR1cy0+
bG9jYWxfc3RhY2tfcCkgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNF
RCh1bnNpZ25lZCBpbnQpIHN0YWNrX3NpemUgPSAldTtcbiIsIGItPnN0YWNrX3NpemUpOworICAg
ICAgICB9CisgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIHZhbDtc
biIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHJiX251bV90KSBuO1xu
Iik7CisKKyAgICAgICAgZnByaW50ZihmLCAiICAgIG4gPSAocmJfbnVtX3QpMHglIlBSSXhWQUxV
RSI7Iiwgb3BlcmFuZHNbMF0pOworICAgICAgICBmcHJpbnRmKGYsICJcbiIpOworICAgICAgICBm
cHJpbnRmKGYsICIgICAgdmFsID0gc3RhY2tbJWRdO1xuIiwgYi0+c3RhY2tfc2l6ZSAtIDEpOwor
ICAgICAgICBpZiAoYm9keS0+Y2F0Y2hfZXhjZXB0X3AgfHwgRkFMU0UpIHsKKyAgICAgICAgICAg
IGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xu
IiwgbmV4dF9wb3MpOyAvKiBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7ICovCisgICAgICAgICAg
ICBwY19tb3ZlZF9wID0gVFJVRTsKKyAgICAgICAgfQorICAgICAgICBpZiAoc3RhdHVzLT5sb2Nh
bF9zdGFja19wKSB7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBmcHJp
bnRmKGYsICIgICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwg
Yi0+c3RhY2tfc2l6ZSArIDEpOworICAgICAgICB9CisgICAgICAgIGZwcmludGYoZiwgIiAgICB7
XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICAlcyA9IHZhbDtcbiIsCisgICAgICAg
ICAgICAgIChzdGF0dXMtPmxvY2FsX3N0YWNrX3AgPyAiKihzdGFjayArIChzdGFja19zaXplIC0g
KG4pIC0gMSkpIiA6ICJUT1BOKG4pIikpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgfVxuIik7
CisgICAgICAgIGZwcmludGYoZiwgIiAgICBzdGFja1slZF0gPSB2YWw7XG4iLCBiLT5zdGFja19z
aXplICsgKGludClhdHRyX3NwX2luY19zZXRuKG4pIC0gMSk7CisgICAgICAgIGItPnN0YWNrX3Np
emUgKz0gYXR0cl9zcF9pbmNfc2V0bihuKTsKKyAgICB9CisgICAgZnByaW50ZihmLCAifVxuIik7
CisgICAgYnJlYWs7CisgIGNhc2UgQklOKGFkanVzdHN0YWNrKToKKyAgICBmcHJpbnRmKGYsICJ7
XG4iKTsKKyAgICB7CisgICAgICAgIE1BWUJFX1VOVVNFRChpbnQgcGNfbW92ZWRfcCkgPSBGQUxT
RTsKKyAgICAgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IG4pID0gKHJiX251bV90KW9wZXJhbmRz
WzBdOworICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAgICAgICBm
cHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVuc2lnbmVkIGludCkgc3RhY2tfc2l6ZSA9ICV1
O1xuIiwgYi0+c3RhY2tfc2l6ZSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAiICAg
IE1BWUJFX1VOVVNFRChyYl9udW1fdCkgbjtcbiIpOworCisgICAgICAgIGZwcmludGYoZiwgIiAg
ICBuID0gKHJiX251bV90KTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRzWzBdKTsKKyAgICAgICAg
ZnByaW50ZihmLCAiXG4iKTsKKyAgICAgICAgaWYgKGJvZHktPmNhdGNoX2V4Y2VwdF9wIHx8IEZB
TFNFKSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5h
bF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsgLyogQUREX1BDKElOU05fQVRUUih3aWR0
aCkpOyAqLworICAgICAgICAgICAgcGNfbW92ZWRfcCA9IFRSVUU7CisgICAgICAgIH0KKyAgICAg
ICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgeworICAgICAgICB9CisgICAgICAgIGVsc2Ug
eworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVn
X2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAxKTsKKyAgICAgICAgfQorICAgICAg
ICBmcHJpbnRmKGYsICIgICAge1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgLyog
bm9uZSAqL1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICB9XG4iKTsKKyAgICAgICAgYi0+
c3RhY2tfc2l6ZSArPSBhdHRyX3NwX2luY19hZGp1c3RzdGFjayhuKTsKKyAgICB9CisgICAgZnBy
aW50ZihmLCAifVxuIik7CisgICAgYnJlYWs7CisgIGNhc2UgQklOKGRlZmluZWQpOgorICAgIGZw
cmludGYoZiwgIntcbiIpOworICAgIHsKKyAgICAgICAgTUFZQkVfVU5VU0VEKGludCBwY19tb3Zl
ZF9wKSA9IEZBTFNFOworICAgICAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3Qgb3BfdHlwZSkgPSAo
cmJfbnVtX3Qpb3BlcmFuZHNbMF07CisgICAgICAgIE1BWUJFX1VOVVNFRChWQUxVRSBvYmopID0g
KFZBTFVFKW9wZXJhbmRzWzFdOworICAgICAgICBNQVlCRV9VTlVTRUQoVkFMVUUgbmVlZHN0cikg
PSAoVkFMVUUpb3BlcmFuZHNbMl07CisgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3Ap
IHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQodW5zaWduZWQgaW50
KSBzdGFja19zaXplID0gJXU7XG4iLCBiLT5zdGFja19zaXplKTsKKyAgICAgICAgfQorICAgICAg
ICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSBuZWVkc3RyLCBvYmosIHYsIHZh
bDtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHJiX251bV90KSBv
cF90eXBlO1xuIik7CisKKyAgICAgICAgZnByaW50ZihmLCAiICAgIG9wX3R5cGUgPSAocmJfbnVt
X3QpMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNbMF0pOworICAgICAgICBmcHJpbnRmKGYsICJc
biIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgb2JqID0gKFZBTFVFKTB4JSJQUkl4VkFMVUUi
OyIsIG9wZXJhbmRzWzFdKTsKKyAgICAgICAgaWYgKFNZTUJPTF9QKChWQUxVRSlvcGVyYW5kc1sx
XSkpIGNvbW1lbnRfaWQoZiwgU1lNMklEKChWQUxVRSlvcGVyYW5kc1sxXSkpOworICAgICAgICBm
cHJpbnRmKGYsICJcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgbmVlZHN0ciA9IChWQUxV
RSkweCUiUFJJeFZBTFVFIjsiLCBvcGVyYW5kc1syXSk7CisgICAgICAgIGlmIChTWU1CT0xfUCgo
VkFMVUUpb3BlcmFuZHNbMl0pKSBjb21tZW50X2lkKGYsIFNZTTJJRCgoVkFMVUUpb3BlcmFuZHNb
Ml0pKTsKKyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAg
IHYgPSBzdGFja1slZF07XG4iLCBiLT5zdGFja19zaXplIC0gMSk7CisgICAgICAgIGlmIChib2R5
LT5jYXRjaF9leGNlcHRfcCB8fCBUUlVFKSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAg
cmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsgLyog
QUREX1BDKElOU05fQVRUUih3aWR0aCkpOyAqLworICAgICAgICAgICAgcGNfbW92ZWRfcCA9IFRS
VUU7CisgICAgICAgIH0KKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgeworICAg
ICAgICB9CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19j
ZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAx
KTsKKyAgICAgICAgfQorICAgICAgICBmcHJpbnRmKGYsICIgICAge1xuIik7CisgICAgICAgIGZw
cmludGYoZiwgIiAgICAgICAgdmFsID0gdm1fZGVmaW5lZChlYywgR0VUX0NGUCgpLCBvcF90eXBl
LCBvYmosIG5lZWRzdHIsIHYpO1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICB9XG4iKTsK
KyAgICAgICAgZnByaW50ZihmLCAiICAgIHN0YWNrWyVkXSA9IHZhbDtcbiIsIGItPnN0YWNrX3Np
emUgKyAoaW50KWF0dHJfc3BfaW5jX2RlZmluZWQob3BfdHlwZSwgb2JqLCBuZWVkc3RyKSAtIDEp
OworICAgICAgICBmcHJpbnRmKGYsICIgICAgaWYgKFVOTElLRUxZKHJ1Ynlfdm1fZXZlbnRfZW5h
YmxlZF9nbG9iYWxfZmxhZ3MgJiBJU0VRX1RSQUNFX0VWRU5UUykpIHtcbiIpOworICAgICAgICBm
cHJpbnRmKGYsICIgICAgICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAl
ZDtcbiIsIGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5jX2RlZmluZWQob3BfdHlwZSwg
b2JqLCBuZWVkc3RyKSArIDEpOworICAgICAgICBpZiAoIXBjX21vdmVkX3ApIHsKKyAgICAgICAg
ICAgIGZwcmludGYoZiwgIiAgICAgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEg
KyAlZDtcbiIsIG5leHRfcG9zKTsKKyAgICAgICAgfQorICAgICAgICBmcHJpbnRmKGYsICIgICAg
ICAgIGdvdG8gY2FuY2VsO1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICB9XG4iKTsKKyAg
ICAgICAgYi0+c3RhY2tfc2l6ZSArPSBhdHRyX3NwX2luY19kZWZpbmVkKG9wX3R5cGUsIG9iaiwg
bmVlZHN0cik7CisgICAgfQorICAgIGZwcmludGYoZiwgIn1cbiIpOworICAgIGJyZWFrOworICBj
YXNlIEJJTihjaGVja21hdGNoKToKKyAgICBmcHJpbnRmKGYsICJ7XG4iKTsKKyAgICB7CisgICAg
ICAgIE1BWUJFX1VOVVNFRChpbnQgcGNfbW92ZWRfcCkgPSBGQUxTRTsKKyAgICAgICAgTUFZQkVf
VU5VU0VEKHJiX251bV90IGZsYWcpID0gKHJiX251bV90KW9wZXJhbmRzWzBdOworICAgICAgICBp
ZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAg
TUFZQkVfVU5VU0VEKHVuc2lnbmVkIGludCkgc3RhY2tfc2l6ZSA9ICV1O1xuIiwgYi0+c3RhY2tf
c2l6ZSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChW
QUxVRSkgcGF0dGVybiwgcmVzdWx0LCB0YXJnZXQ7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAi
ICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCkgZmxhZztcbiIpOworCisgICAgICAgIGZwcmludGYo
ZiwgIiAgICBmbGFnID0gKHJiX251bV90KTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRzWzBdKTsK
KyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIHRhcmdl
dCA9IHN0YWNrWyVkXTtcbiIsIGItPnN0YWNrX3NpemUgLSAyKTsKKyAgICAgICAgZnByaW50Zihm
LCAiICAgIHBhdHRlcm4gPSBzdGFja1slZF07XG4iLCBiLT5zdGFja19zaXplIC0gMSk7CisgICAg
ICAgIGlmIChib2R5LT5jYXRjaF9leGNlcHRfcCB8fCBUUlVFKSB7CisgICAgICAgICAgICBmcHJp
bnRmKGYsICIgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5l
eHRfcG9zKTsgLyogQUREX1BDKElOU05fQVRUUih3aWR0aCkpOyAqLworICAgICAgICAgICAgcGNf
bW92ZWRfcCA9IFRSVUU7CisgICAgICAgIH0KKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3Rh
Y2tfcCkgeworICAgICAgICB9CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgZnByaW50Zihm
LCAiICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0
YWNrX3NpemUgKyAxKTsKKyAgICAgICAgfQorICAgICAgICBmcHJpbnRmKGYsICIgICAge1xuIik7
CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgcmVzdWx0ID0gdm1fY2hlY2tfbWF0Y2goZWMs
IHRhcmdldCwgcGF0dGVybiwgZmxhZyk7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIH1c
biIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgc3RhY2tbJWRdID0gcmVzdWx0O1xuIiwgYi0+
c3RhY2tfc2l6ZSArIChpbnQpYXR0cl9zcF9pbmNfY2hlY2ttYXRjaChmbGFnKSAtIDEpOworICAg
ICAgICBmcHJpbnRmKGYsICIgICAgaWYgKFVOTElLRUxZKHJ1Ynlfdm1fZXZlbnRfZW5hYmxlZF9n
bG9iYWxfZmxhZ3MgJiBJU0VRX1RSQUNFX0VWRU5UUykpIHtcbiIpOworICAgICAgICBmcHJpbnRm
KGYsICIgICAgICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIs
IGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5jX2NoZWNrbWF0Y2goZmxhZykgKyAxKTsK
KyAgICAgICAgaWYgKCFwY19tb3ZlZF9wKSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAg
ICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBuZXh0X3Bvcyk7
CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICBnb3RvIGNhbmNlbDtcbiIp
OworICAgICAgICBmcHJpbnRmKGYsICIgICAgfVxuIik7CisgICAgICAgIGItPnN0YWNrX3NpemUg
Kz0gYXR0cl9zcF9pbmNfY2hlY2ttYXRjaChmbGFnKTsKKyAgICB9CisgICAgZnByaW50ZihmLCAi
fVxuIik7CisgICAgYnJlYWs7CisgIGNhc2UgQklOKGNoZWNra2V5d29yZCk6CisgICAgZnByaW50
ZihmLCAie1xuIik7CisgICAgeworICAgICAgICBNQVlCRV9VTlVTRUQoaW50IHBjX21vdmVkX3Ap
ID0gRkFMU0U7CisgICAgICAgIE1BWUJFX1VOVVNFRChsaW5kZXhfdCBrd19iaXRzX2luZGV4KSA9
IChsaW5kZXhfdClvcGVyYW5kc1swXTsKKyAgICAgICAgTUFZQkVfVU5VU0VEKGxpbmRleF90IGtl
eXdvcmRfaW5kZXgpID0gKGxpbmRleF90KW9wZXJhbmRzWzFdOworICAgICAgICBpZiAoc3RhdHVz
LT5sb2NhbF9zdGFja19wKSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5V
U0VEKHVuc2lnbmVkIGludCkgc3RhY2tfc2l6ZSA9ICV1O1xuIiwgYi0+c3RhY2tfc2l6ZSk7Cisg
ICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgcmV0
O1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQobGluZGV4X3QpIGtl
eXdvcmRfaW5kZXgsIGt3X2JpdHNfaW5kZXg7XG4iKTsKKworICAgICAgICBmcHJpbnRmKGYsICIg
ICAga3dfYml0c19pbmRleCA9IChsaW5kZXhfdCkweCUiUFJJeFZBTFVFIjsiLCBvcGVyYW5kc1sw
XSk7CisgICAgICAgIGZwcmludGYoZiwgIlxuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICBr
ZXl3b3JkX2luZGV4ID0gKGxpbmRleF90KTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRzWzFdKTsK
KyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsKKyAgICAgICAgaWYgKGJvZHktPmNhdGNoX2V4Y2Vw
dF9wIHx8IEZBTFNFKSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+cGMg
PSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsgLyogQUREX1BDKElOU05f
QVRUUih3aWR0aCkpOyAqLworICAgICAgICAgICAgcGNfbW92ZWRfcCA9IFRSVUU7CisgICAgICAg
IH0KKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgeworICAgICAgICB9CisgICAg
ICAgIGVsc2UgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnNwID0gKFZB
TFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAxKTsKKyAgICAgICAg
fQorICAgICAgICBmcHJpbnRmKGYsICIgICAge1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAg
ICAgICAgcmV0ID0gdm1fY2hlY2tfa2V5d29yZChrd19iaXRzX2luZGV4LCBrZXl3b3JkX2luZGV4
LCBHRVRfRVAoKSk7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIpOworICAgICAg
ICBmcHJpbnRmKGYsICIgICAgc3RhY2tbJWRdID0gcmV0O1xuIiwgYi0+c3RhY2tfc2l6ZSArIChp
bnQpYXR0cl9zcF9pbmNfY2hlY2trZXl3b3JkKGt3X2JpdHNfaW5kZXgsIGtleXdvcmRfaW5kZXgp
IC0gMSk7CisgICAgICAgIGItPnN0YWNrX3NpemUgKz0gYXR0cl9zcF9pbmNfY2hlY2trZXl3b3Jk
KGt3X2JpdHNfaW5kZXgsIGtleXdvcmRfaW5kZXgpOworICAgIH0KKyAgICBmcHJpbnRmKGYsICJ9
XG4iKTsKKyAgICBicmVhazsKKyAgY2FzZSBCSU4oY2hlY2t0eXBlKToKKyAgICBmcHJpbnRmKGYs
ICJ7XG4iKTsKKyAgICB7CisgICAgICAgIE1BWUJFX1VOVVNFRChpbnQgcGNfbW92ZWRfcCkgPSBG
QUxTRTsKKyAgICAgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IHR5cGUpID0gKHJiX251bV90KW9w
ZXJhbmRzWzBdOworICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAg
ICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVuc2lnbmVkIGludCkgc3RhY2tfc2l6
ZSA9ICV1O1xuIiwgYi0+c3RhY2tfc2l6ZSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50Zihm
LCAiICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgcmV0LCB2YWw7XG4iKTsKKyAgICAgICAgZnByaW50
ZihmLCAiICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCkgdHlwZTtcbiIpOworCisgICAgICAgIGZw
cmludGYoZiwgIiAgICB0eXBlID0gKHJiX251bV90KTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRz
WzBdKTsKKyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAg
IHZhbCA9IHN0YWNrWyVkXTtcbiIsIGItPnN0YWNrX3NpemUgLSAxKTsKKyAgICAgICAgaWYgKGJv
ZHktPmNhdGNoX2V4Y2VwdF9wIHx8IEZBTFNFKSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIg
ICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsg
LyogQUREX1BDKElOU05fQVRUUih3aWR0aCkpOyAqLworICAgICAgICAgICAgcGNfbW92ZWRfcCA9
IFRSVUU7CisgICAgICAgIH0KKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgewor
ICAgICAgICB9CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJl
Z19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUg
KyAxKTsKKyAgICAgICAgfQorICAgICAgICBmcHJpbnRmKGYsICIgICAge1xuIik7CisgICAgICAg
IGZwcmludGYoZiwgIiAgICAgICAgcmV0ID0gKFRZUEUodmFsKSA9PSAoaW50KXR5cGUpID8gUXRy
dWUgOiBRZmFsc2U7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIpOworICAgICAg
ICBmcHJpbnRmKGYsICIgICAgc3RhY2tbJWRdID0gcmV0O1xuIiwgYi0+c3RhY2tfc2l6ZSArIChp
bnQpYXR0cl9zcF9pbmNfY2hlY2t0eXBlKHR5cGUpIC0gMSk7CisgICAgICAgIGItPnN0YWNrX3Np
emUgKz0gYXR0cl9zcF9pbmNfY2hlY2t0eXBlKHR5cGUpOworICAgIH0KKyAgICBmcHJpbnRmKGYs
ICJ9XG4iKTsKKyAgICBicmVhazsKKyAgY2FzZSBCSU4oc2VuZCk6Cit7CisgICAgTUFZQkVfVU5V
U0VEKGludCBwY19tb3ZlZF9wKSA9IEZBTFNFOworICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8g
Y2kpID0gKENBTExfSU5GTylvcGVyYW5kc1swXTsKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNI
RSBjYykgPSAoQ0FMTF9DQUNIRSlvcGVyYW5kc1sxXTsKKyAgICBNQVlCRV9VTlVTRUQoSVNFUSBi
bG9ja2lzZXEpID0gKElTRVEpb3BlcmFuZHNbMl07CisgICAgQ0FMTF9DQUNIRSBjY19jb3B5ID0g
c3RhdHVzLT5jY19lbnRyaWVzICsgKGNjIC0gYm9keS0+Y2NfZW50cmllcyk7CisgICAgaWYgKGhh
c192YWxpZF9tZXRob2RfdHlwZShjY19jb3B5KSkgeworICAgICAgICBjb25zdCByYl9pc2VxX3Qg
KmlzZXE7CisgICAgICAgIHVuc2lnbmVkIGludCBhcmdjID0gY2ktPm9yaWdfYXJnYzsgLyogdW5s
aWtlIGBjaS0+b3JpZ19hcmdjYCwgYGFyZ2NgIG1heSBpbmNsdWRlIGJsb2NrYXJnICovCisgICAg
ICAgIGFyZ2MgKz0gKChjaS0+ZmxhZyAmIFZNX0NBTExfQVJHU19CTE9DS0FSRykgPyAxIDogMCk7
CisKKyAgICAgICAgaWYgKCEoY2ktPmZsYWcgJiBWTV9DQUxMX1RBSUxDQUxMKSAmJiAvKiBpbmxp
bmluZyBub24tdGFpbGNhbGwgcGF0aCAqLworICAgICAgICAgICAgY2NfY29weS0+bWUtPmRlZi0+
dHlwZSA9PSBWTV9NRVRIT0RfVFlQRV9JU0VRICYmIGlubGluYWJsZV9pc2VxX3AoY2ksIGNjX2Nv
cHksIGlzZXEgPSBkZWZfaXNlcV9wdHIoY2NfY29weS0+bWUtPmRlZikpIC8qIENDX1NFVF9GQVNU
UEFUSCBpbiB2bV9jYWxsZWVfc2V0dXBfYXJnICovKSB7CisgICAgICAgICAgICBpbnQgcGFyYW1f
c2l6ZSA9IGlzZXEtPmJvZHktPnBhcmFtLnNpemU7IC8qIFRPRE86IGNoZWNrIGNhbGxpbmctPmFy
Z2MgZm9yIGFyZ3VtZW50X2FyaXR5X2Vycm9yICovCisKKyAgICAgICAgICAgIGZwcmludGYoZiwg
IntcbiIpOworICAgICAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgeworICAgICAg
ICAgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQodW5zaWduZWQgaW50KSBzdGFj
a19zaXplID0gJXU7XG4iLCBiLT5zdGFja19zaXplKTsKKyAgICAgICAgICAgIH0KKworICAgICAg
ICAgICAgZnByaW50ZihmLCAiICAgIGlmIChVTkxJS0VMWShHRVRfR0xPQkFMX01FVEhPRF9TVEFU
RSgpICE9ICUiUFJJX1NFUklBTFRfUFJFRklYInUgfHxcbiIsIGNjX2NvcHktPm1ldGhvZF9zdGF0
ZSk7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIFJDTEFTU19TRVJJQUwoQ0xBU1Nf
T0Yoc3RhY2tbJWRdKSkgIT0gJSJQUklfU0VSSUFMVF9QUkVGSVgidSkpIHtcbiIsIGItPnN0YWNr
X3NpemUgLSAxIC0gYXJnYywgY2NfY29weS0+Y2xhc3Nfc2VyaWFsKTsKKyAgICAgICAgICAgIGZw
cmludGYoZiwgIiAgICAgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtc
biIsIHBvcyk7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHJlZ19jZnAtPnNwID0g
KFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAxKTsKKyAgICAg
ICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgZ290byBjYW5jZWw7XG4iKTsKKyAgICAgICAgICAg
IGZwcmludGYoZiwgIiAgICB9XG4iKTsKKworICAgICAgICBpZiAoYm9keS0+Y2F0Y2hfZXhjZXB0
X3AgfHwgVFJVRSkgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnBjID0g
b3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBuZXh0X3Bvcyk7IC8qIEFERF9QQyhJTlNOX0FU
VFIod2lkdGgpKTsgKi8KKyAgICAgICAgICAgIHBjX21vdmVkX3AgPSBUUlVFOworICAgICAgICB9
CisgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKKyAgICAgICAgICAgIHsKKyAg
ICAgICAgICAgICAgICByYl9zbnVtX3QgaSwgcHVzaF9zaXplOworICAgICAgICAgICAgICAgIHB1
c2hfc2l6ZSA9IC1hdHRyX3NwX2luY19zZW5kKGNpLCBjYywgYmxvY2tpc2VxKSArIDEgLSAwOwor
ICAgICAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJl
Z19jZnAtPmJwICsgJWxkICsgMTtcbiIsIHB1c2hfc2l6ZSk7IC8qIFBPUE4oSU5TTl9BVFRSKHBv
cG4pKTsgKi8KKyAgICAgICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgcHVzaF9zaXplOyBpKysp
IHsKKyAgICAgICAgICAgICAgICAgICAgZnByaW50ZihmLCAiICAgICoocmVnX2NmcC0+c3AgKyAl
bGQpID0gc3RhY2tbJWxkXTtcbiIsIGkgLSBwdXNoX3NpemUsIChyYl9zbnVtX3QpYi0+c3RhY2tf
c2l6ZSAtIHB1c2hfc2l6ZSArIGkpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0K
KyAgICAgICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICBy
ZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXpl
ICsgMSAtIDApOyAvKiBQT1BOKElOU05fQVRUUihwb3BuKSk7ICovCisgICAgICAgIH0KKworICAg
ICAgICAgICAgZnByaW50ZihmLCAiICAgIHtcbiIpOworICAgICAgICAgICAgZnByaW50ZihmLCAi
ICAgICAgICBzdHJ1Y3QgcmJfY2FsbGluZ19pbmZvIGNhbGxpbmc7XG4iKTsKKyAgICAgICAgICAg
IGZwcmludGYoZiwgIiAgICAgICAgY2FsbGluZy5ibG9ja19oYW5kbGVyID0gdm1fY2FsbGVyX3Nl
dHVwX2FyZ19ibG9jayhlYywgcmVnX2NmcCwgKENBTExfSU5GTykweCUiUFJJeFZBTFVFIiwgKHJi
X2lzZXFfdCAqKTB4JSJQUkl4VkFMVUUiLCBGQUxTRSk7XG4iLCBvcGVyYW5kc1swXSwgb3BlcmFu
ZHNbMl0pOworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgICAgICBjYWxsaW5nLmFyZ2MgPSAl
ZDtcbiIsIGNpLT5vcmlnX2FyZ2MpOworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgICAgICBj
YWxsaW5nLnJlY3YgPSBzdGFja1slZF07XG4iLCBiLT5zdGFja19zaXplIC0gMSAtIGFyZ2MpOwor
CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHtcbiIpOworICAgICAgICAgICAgZnBy
aW50ZihmLCAiICAgICAgICAgICAgVkFMVUUgdjtcbiIpOworICAgICAgICAgICAgZnByaW50Zihm
LCAiICAgICAgICAgICAgdm1fY2FsbF9pc2VxX3NldHVwX25vcm1hbChlYywgcmVnX2NmcCwgJmNh
bGxpbmcsIChjb25zdCByYl9jYWxsYWJsZV9tZXRob2RfZW50cnlfdCAqKTB4JSJQUkl4VkFMVUUi
LCAwLCAlZCwgJWQpO1xuIiwKKyAgICAgICAgICAgICAgICAgICAgKFZBTFVFKWNjX2NvcHktPm1l
LCBwYXJhbV9zaXplLCBpc2VxLT5ib2R5LT5sb2NhbF90YWJsZV9zaXplKTsgLyogcmJfc2ltcGxl
X2lzZXFfcCBjaGVja3MgcmJfc2ltcGxlX2lzZXFfcCwgd2hpY2ggZW5zdXJlcyBoYXNfb3B0ID09
IEZBTFNFICovCisgICAgICAgICAgICBpZiAoaXNlcS0+Ym9keS0+Y2F0Y2hfZXhjZXB0X3ApIHsK
KyAgICAgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgICAgICBWTV9FTlZfRkxBR1NfU0VU
KGVjLT5jZnAtPmVwLCBWTV9GUkFNRV9GTEFHX0ZJTklTSCk7XG4iKTsKKyAgICAgICAgICAgICAg
ICBmcHJpbnRmKGYsICIgICAgICAgICAgICB2ID0gdm1fZXhlYyhlYywgVFJVRSk7XG4iKTsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgIGZwcmludGYo
ZiwgIiAgICAgICAgICAgIGlmICgodiA9IG1qaXRfZXhlYyhlYykpID09IFF1bmRlZikge1xuIik7
CisgICAgICAgICAgICAgICAgZnByaW50ZihmLCAiICAgICAgICAgICAgICAgIFZNX0VOVl9GTEFH
U19TRVQoZWMtPmNmcC0+ZXAsIFZNX0ZSQU1FX0ZMQUdfRklOSVNIKTtcbiIpOyAvKiBUaGlzIGlz
IHZtX2NhbGwwX2JvZHkncyBjb2RlIGFmdGVyIHZtX2NhbGxfaXNlcV9zZXR1cCAqLworICAgICAg
ICAgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgICAgICB2ID0gdm1fZXhlYyhlYywgRkFM
U0UpO1xuIik7CisgICAgICAgICAgICAgICAgZnByaW50ZihmLCAiICAgICAgICAgICAgfVxuIik7
CisgICAgICAgICAgICB9CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgICAgICBzdGFj
a1slZF0gPSB2O1xuIiwgYi0+c3RhY2tfc2l6ZSAtIGFyZ2MgLSAxKTsKKyAgICAgICAgICAgIGZw
cmludGYoZiwgIiAgICAgICAgfVxuIik7CisKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICB9
XG4iKTsKKworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIGlmIChVTkxJS0VMWShydWJ5X3Zt
X2V2ZW50X2VuYWJsZWRfZ2xvYmFsX2ZsYWdzICYgSVNFUV9UUkFDRV9FVkVOVFMpKSB7XG4iKTsK
KyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKily
ZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIChpbnQpYXR0cl9zcF9pbmNfc2Vu
ZChjaSwgY2MsIGJsb2NraXNlcSkgKyAxKTsKKyAgICAgICAgICAgIGlmICghcGNfbW92ZWRfcCkg
eworICAgICAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgcmVnX2NmcC0+cGMgPSBvcmln
aW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgZ290byBjYW5jZWw7XG4iKTsKKyAgICAgICAgICAg
IGZwcmludGYoZiwgIiAgICB9XG4iKTsKKworICAgICAgICAgICAgYi0+c3RhY2tfc2l6ZSArPSBh
dHRyX3NwX2luY19zZW5kKGNpLCBjYywgYmxvY2tpc2VxKTsKKworICAgICAgICAgICAgZnByaW50
ZihmLCAifVxuIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KK30KKyAg
ICBmcHJpbnRmKGYsICJ7XG4iKTsKKyAgICB7CisgICAgICAgIE1BWUJFX1VOVVNFRChpbnQgcGNf
bW92ZWRfcCkgPSBGQUxTRTsKKyAgICAgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSkgPSAo
Q0FMTF9JTkZPKW9wZXJhbmRzWzBdOworICAgICAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBj
YykgPSAoQ0FMTF9DQUNIRSlvcGVyYW5kc1sxXTsKKyAgICAgICAgTUFZQkVfVU5VU0VEKElTRVEg
YmxvY2tpc2VxKSA9IChJU0VRKW9wZXJhbmRzWzJdOworICAgICAgICBpZiAoc3RhdHVzLT5sb2Nh
bF9zdGFja19wKSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVu
c2lnbmVkIGludCkgc3RhY2tfc2l6ZSA9ICV1O1xuIiwgYi0+c3RhY2tfc2l6ZSk7CisgICAgICAg
IH0KKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFKSBjYztc
biIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTykgY2k7
XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChJU0VRKSBibG9ja2lz
ZXE7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgdmFs
O1xuIik7CisKKyAgICAgICAgZnByaW50ZihmLCAiICAgIGNpID0gKENBTExfSU5GTykweCUiUFJJ
eFZBTFVFIjsiLCBvcGVyYW5kc1swXSk7CisgICAgICAgIGNvbW1lbnRfaWQoZiwgKChDQUxMX0lO
Rk8pb3BlcmFuZHNbMF0pLT5taWQpOworICAgICAgICBmcHJpbnRmKGYsICJcbiIpOworICAgICAg
ICBmcHJpbnRmKGYsICIgICAgY2MgPSAoQ0FMTF9DQUNIRSkweCUiUFJJeFZBTFVFIjsiLCBvcGVy
YW5kc1sxXSk7CisgICAgICAgIGZwcmludGYoZiwgIlxuIik7CisgICAgICAgIGZwcmludGYoZiwg
IiAgICBibG9ja2lzZXEgPSAoSVNFUSkweCUiUFJJeFZBTFVFIjsiLCBvcGVyYW5kc1syXSk7Cisg
ICAgICAgIGZwcmludGYoZiwgIlxuIik7CisgICAgICAgIGlmIChib2R5LT5jYXRjaF9leGNlcHRf
cCB8fCBUUlVFKSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+cGMgPSBv
cmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsgLyogQUREX1BDKElOU05fQVRU
Uih3aWR0aCkpOyAqLworICAgICAgICAgICAgcGNfbW92ZWRfcCA9IFRSVUU7CisgICAgICAgIH0K
KyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgeworICAgICAgICAgICAgeworICAg
ICAgICAgICAgICAgIHJiX3NudW1fdCBpLCBwdXNoX3NpemU7CisgICAgICAgICAgICAgICAgcHVz
aF9zaXplID0gLWF0dHJfc3BfaW5jX3NlbmQoY2ksIGNjLCBibG9ja2lzZXEpICsgMSAtIDA7Cisg
ICAgICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVn
X2NmcC0+YnAgKyAlbGQgKyAxO1xuIiwgcHVzaF9zaXplKTsgLyogUE9QTihJTlNOX0FUVFIocG9w
bikpOyAqLworICAgICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBwdXNoX3NpemU7IGkrKykg
eworICAgICAgICAgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgKihyZWdfY2ZwLT5zcCArICVs
ZCkgPSBzdGFja1slbGRdO1xuIiwgaSAtIHB1c2hfc2l6ZSwgKHJiX3NudW1fdCliLT5zdGFja19z
aXplIC0gcHVzaF9zaXplICsgaSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQor
ICAgICAgICB9CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJl
Z19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUg
KyAxIC0gMCk7IC8qIFBPUE4oSU5TTl9BVFRSKHBvcG4pKTsgKi8KKyAgICAgICAgfQorICAgICAg
ICBmcHJpbnRmKGYsICIgICAge1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgc3Ry
dWN0IHJiX2NhbGxpbmdfaW5mbyBjYWxsaW5nO1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIlxu
Iik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgY2FsbGluZy5ibG9ja19oYW5kbGVyID0g
dm1fY2FsbGVyX3NldHVwX2FyZ19ibG9jayhlYywgcmVnX2NmcCwgY2ksIGJsb2NraXNlcSwgRkFM
U0UpO1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgY2FsbGluZy5yZWN2ID0gVE9Q
TihjYWxsaW5nLmFyZ2MgPSBjaS0+b3JpZ19hcmdjKTtcbiIpOworICAgICAgICBmcHJpbnRmKGYs
ICIgICAgICAgIHZtX3NlYXJjaF9tZXRob2QoY2ksIGNjLCBjYWxsaW5nLnJlY3YpO1xuIik7Cisg
ICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgQ0FMTF9NRVRIT0QoJmNhbGxpbmcsIGNpLCBjYyk7
XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIpOworICAgICAgICBmcHJpbnRmKGYs
ICIgICAgc3RhY2tbJWRdID0gdmFsO1xuIiwgYi0+c3RhY2tfc2l6ZSArIChpbnQpYXR0cl9zcF9p
bmNfc2VuZChjaSwgY2MsIGJsb2NraXNlcSkgLSAxKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAg
IGlmIChVTkxJS0VMWShydWJ5X3ZtX2V2ZW50X2VuYWJsZWRfZ2xvYmFsX2ZsYWdzICYgSVNFUV9U
UkFDRV9FVkVOVFMpKSB7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICByZWdfY2Zw
LT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgKGlu
dClhdHRyX3NwX2luY19zZW5kKGNpLCBjYywgYmxvY2tpc2VxKSArIDEpOworICAgICAgICBpZiAo
IXBjX21vdmVkX3ApIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgcmVnX2NmcC0+
cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsKKyAgICAgICAgfQor
ICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIGdvdG8gY2FuY2VsO1xuIik7CisgICAgICAgIGZw
cmludGYoZiwgIiAgICB9XG4iKTsKKyAgICAgICAgYi0+c3RhY2tfc2l6ZSArPSBhdHRyX3NwX2lu
Y19zZW5kKGNpLCBjYywgYmxvY2tpc2VxKTsKKyAgICB9CisgICAgZnByaW50ZihmLCAifVxuIik7
CisgICAgYnJlYWs7CisgIGNhc2UgQklOKG9wdF9zZW5kX3dpdGhvdXRfYmxvY2spOgoreworICAg
IE1BWUJFX1VOVVNFRChpbnQgcGNfbW92ZWRfcCkgPSBGQUxTRTsKKyAgICBNQVlCRV9VTlVTRUQo
Q0FMTF9JTkZPIGNpKSA9IChDQUxMX0lORk8pb3BlcmFuZHNbMF07CisgICAgTUFZQkVfVU5VU0VE
KENBTExfQ0FDSEUgY2MpID0gKENBTExfQ0FDSEUpb3BlcmFuZHNbMV07CisgICAgQ0FMTF9DQUNI
RSBjY19jb3B5ID0gc3RhdHVzLT5jY19lbnRyaWVzICsgKGNjIC0gYm9keS0+Y2NfZW50cmllcyk7
CisgICAgaWYgKGhhc192YWxpZF9tZXRob2RfdHlwZShjY19jb3B5KSkgeworICAgICAgICBjb25z
dCByYl9pc2VxX3QgKmlzZXE7CisgICAgICAgIHVuc2lnbmVkIGludCBhcmdjID0gY2ktPm9yaWdf
YXJnYzsgLyogdW5saWtlIGBjaS0+b3JpZ19hcmdjYCwgYGFyZ2NgIG1heSBpbmNsdWRlIGJsb2Nr
YXJnICovCisKKyAgICAgICAgaWYgKCEoY2ktPmZsYWcgJiBWTV9DQUxMX1RBSUxDQUxMKSAmJiAv
KiBpbmxpbmluZyBub24tdGFpbGNhbGwgcGF0aCAqLworICAgICAgICAgICAgY2NfY29weS0+bWUt
PmRlZi0+dHlwZSA9PSBWTV9NRVRIT0RfVFlQRV9JU0VRICYmIGlubGluYWJsZV9pc2VxX3AoY2ks
IGNjX2NvcHksIGlzZXEgPSBkZWZfaXNlcV9wdHIoY2NfY29weS0+bWUtPmRlZikpIC8qIENDX1NF
VF9GQVNUUEFUSCBpbiB2bV9jYWxsZWVfc2V0dXBfYXJnICovKSB7CisgICAgICAgICAgICBpbnQg
cGFyYW1fc2l6ZSA9IGlzZXEtPmJvZHktPnBhcmFtLnNpemU7IC8qIFRPRE86IGNoZWNrIGNhbGxp
bmctPmFyZ2MgZm9yIGFyZ3VtZW50X2FyaXR5X2Vycm9yICovCisKKyAgICAgICAgICAgIGZwcmlu
dGYoZiwgIntcbiIpOworICAgICAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgewor
ICAgICAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQodW5zaWduZWQgaW50
KSBzdGFja19zaXplID0gJXU7XG4iLCBiLT5zdGFja19zaXplKTsKKyAgICAgICAgICAgIH0KKwor
ICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIGlmIChVTkxJS0VMWShHRVRfR0xPQkFMX01FVEhP
RF9TVEFURSgpICE9ICUiUFJJX1NFUklBTFRfUFJFRklYInUgfHxcbiIsIGNjX2NvcHktPm1ldGhv
ZF9zdGF0ZSk7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIFJDTEFTU19TRVJJQUwo
Q0xBU1NfT0Yoc3RhY2tbJWRdKSkgIT0gJSJQUklfU0VSSUFMVF9QUkVGSVgidSkpIHtcbiIsIGIt
PnN0YWNrX3NpemUgLSAxIC0gYXJnYywgY2NfY29weS0+Y2xhc3Nfc2VyaWFsKTsKKyAgICAgICAg
ICAgIGZwcmludGYoZiwgIiAgICAgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEg
KyAlZDtcbiIsIHBvcyk7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHJlZ19jZnAt
PnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAxKTsK
KyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgZ290byBjYW5jZWw7XG4iKTsKKyAgICAg
ICAgICAgIGZwcmludGYoZiwgIiAgICB9XG4iKTsKKworICAgICAgICBpZiAoYm9keS0+Y2F0Y2hf
ZXhjZXB0X3AgfHwgVFJVRSkgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAt
PnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBuZXh0X3Bvcyk7IC8qIEFERF9QQyhJ
TlNOX0FUVFIod2lkdGgpKTsgKi8KKyAgICAgICAgICAgIHBjX21vdmVkX3AgPSBUUlVFOworICAg
ICAgICB9CisgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKKyAgICAgICAgICAg
IHsKKyAgICAgICAgICAgICAgICByYl9zbnVtX3QgaSwgcHVzaF9zaXplOworICAgICAgICAgICAg
ICAgIHB1c2hfc2l6ZSA9IC1hdHRyX3NwX2luY19vcHRfc2VuZF93aXRob3V0X2Jsb2NrKGNpLCBj
YykgKyAxIC0gMDsKKyAgICAgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+c3Ag
PSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVsZCArIDE7XG4iLCBwdXNoX3NpemUpOyAvKiBQT1BO
KElOU05fQVRUUihwb3BuKSk7ICovCisgICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IHB1
c2hfc2l6ZTsgaSsrKSB7CisgICAgICAgICAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICAqKHJl
Z19jZnAtPnNwICsgJWxkKSA9IHN0YWNrWyVsZF07XG4iLCBpIC0gcHVzaF9zaXplLCAocmJfc251
bV90KWItPnN0YWNrX3NpemUgLSBwdXNoX3NpemUgKyBpKTsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBmcHJp
bnRmKGYsICIgICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwg
Yi0+c3RhY2tfc2l6ZSArIDEgLSAwKTsgLyogUE9QTihJTlNOX0FUVFIocG9wbikpOyAqLworICAg
ICAgICB9CisKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICB7XG4iKTsKKyAgICAgICAgICAg
IGZwcmludGYoZiwgIiAgICAgICAgc3RydWN0IHJiX2NhbGxpbmdfaW5mbyBjYWxsaW5nO1xuIik7
CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIGNhbGxpbmcuYmxvY2tfaGFuZGxlciA9
IFZNX0JMT0NLX0hBTkRMRVJfTk9ORTtcbiIpOworICAgICAgICAgICAgZnByaW50ZihmLCAiICAg
ICAgICBjYWxsaW5nLmFyZ2MgPSAlZDtcbiIsIGNpLT5vcmlnX2FyZ2MpOworICAgICAgICAgICAg
ZnByaW50ZihmLCAiICAgICAgICBjYWxsaW5nLnJlY3YgPSBzdGFja1slZF07XG4iLCBiLT5zdGFj
a19zaXplIC0gMSAtIGFyZ2MpOworCisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHtc
biIpOworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgICAgICAgICAgVkFMVUUgdjtcbiIpOwor
ICAgICAgICAgICAgZnByaW50ZihmLCAiICAgICAgICAgICAgdm1fY2FsbF9pc2VxX3NldHVwX25v
cm1hbChlYywgcmVnX2NmcCwgJmNhbGxpbmcsIChjb25zdCByYl9jYWxsYWJsZV9tZXRob2RfZW50
cnlfdCAqKTB4JSJQUkl4VkFMVUUiLCAwLCAlZCwgJWQpO1xuIiwKKyAgICAgICAgICAgICAgICAg
ICAgKFZBTFVFKWNjX2NvcHktPm1lLCBwYXJhbV9zaXplLCBpc2VxLT5ib2R5LT5sb2NhbF90YWJs
ZV9zaXplKTsgLyogcmJfc2ltcGxlX2lzZXFfcCBjaGVja3MgcmJfc2ltcGxlX2lzZXFfcCwgd2hp
Y2ggZW5zdXJlcyBoYXNfb3B0ID09IEZBTFNFICovCisgICAgICAgICAgICBpZiAoaXNlcS0+Ym9k
eS0+Y2F0Y2hfZXhjZXB0X3ApIHsKKyAgICAgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgICAg
ICAgICBWTV9FTlZfRkxBR1NfU0VUKGVjLT5jZnAtPmVwLCBWTV9GUkFNRV9GTEFHX0ZJTklTSCk7
XG4iKTsKKyAgICAgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgICAgICB2ID0gdm1fZXhl
YyhlYywgVFJVRSk7XG4iKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UgeworICAg
ICAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgIGlmICgodiA9IG1qaXRfZXhlYyhl
YykpID09IFF1bmRlZikge1xuIik7CisgICAgICAgICAgICAgICAgZnByaW50ZihmLCAiICAgICAg
ICAgICAgICAgIFZNX0VOVl9GTEFHU19TRVQoZWMtPmNmcC0+ZXAsIFZNX0ZSQU1FX0ZMQUdfRklO
SVNIKTtcbiIpOyAvKiBUaGlzIGlzIHZtX2NhbGwwX2JvZHkncyBjb2RlIGFmdGVyIHZtX2NhbGxf
aXNlcV9zZXR1cCAqLworICAgICAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgICAg
ICB2ID0gdm1fZXhlYyhlYywgRkFMU0UpO1xuIik7CisgICAgICAgICAgICAgICAgZnByaW50Zihm
LCAiICAgICAgICAgICAgfVxuIik7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBmcHJpbnRm
KGYsICIgICAgICAgICAgICBzdGFja1slZF0gPSB2O1xuIiwgYi0+c3RhY2tfc2l6ZSAtIGFyZ2Mg
LSAxKTsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgfVxuIik7CisKKyAgICAgICAg
ICAgIGZwcmludGYoZiwgIiAgICB9XG4iKTsKKworICAgICAgICAgICAgZnByaW50ZihmLCAiICAg
IGlmIChVTkxJS0VMWShydWJ5X3ZtX2V2ZW50X2VuYWJsZWRfZ2xvYmFsX2ZsYWdzICYgSVNFUV9U
UkFDRV9FVkVOVFMpKSB7XG4iKTsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgcmVn
X2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSAr
IChpbnQpYXR0cl9zcF9pbmNfb3B0X3NlbmRfd2l0aG91dF9ibG9jayhjaSwgY2MpICsgMSk7Cisg
ICAgICAgICAgICBpZiAoIXBjX21vdmVkX3ApIHsKKyAgICAgICAgICAgICAgICBmcHJpbnRmKGYs
ICIgICAgICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBuZXh0
X3Bvcyk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIGdv
dG8gY2FuY2VsO1xuIik7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgfVxuIik7CisKKyAg
ICAgICAgICAgIGItPnN0YWNrX3NpemUgKz0gYXR0cl9zcF9pbmNfb3B0X3NlbmRfd2l0aG91dF9i
bG9jayhjaSwgY2MpOworCisgICAgICAgICAgICBmcHJpbnRmKGYsICJ9XG4iKTsKKyAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorfQorICAgIGZwcmludGYoZiwgIntcbiIpOwor
ICAgIHsKKyAgICAgICAgTUFZQkVfVU5VU0VEKGludCBwY19tb3ZlZF9wKSA9IEZBTFNFOworICAg
ICAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSA9IChDQUxMX0lORk8pb3BlcmFuZHNbMF07
CisgICAgICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKSA9IChDQUxMX0NBQ0hFKW9wZXJh
bmRzWzFdOworICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAgICAg
ICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVuc2lnbmVkIGludCkgc3RhY2tfc2l6ZSA9
ICV1O1xuIiwgYi0+c3RhY2tfc2l6ZSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAi
ICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFKSBjYztcbiIpOworICAgICAgICBmcHJpbnRmKGYs
ICIgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTykgY2k7XG4iKTsKKyAgICAgICAgZnByaW50Zihm
LCAiICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgdmFsO1xuIik7CisKKyAgICAgICAgZnByaW50Zihm
LCAiICAgIGNpID0gKENBTExfSU5GTykweCUiUFJJeFZBTFVFIjsiLCBvcGVyYW5kc1swXSk7Cisg
ICAgICAgIGNvbW1lbnRfaWQoZiwgKChDQUxMX0lORk8pb3BlcmFuZHNbMF0pLT5taWQpOworICAg
ICAgICBmcHJpbnRmKGYsICJcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgY2MgPSAoQ0FM
TF9DQUNIRSkweCUiUFJJeFZBTFVFIjsiLCBvcGVyYW5kc1sxXSk7CisgICAgICAgIGZwcmludGYo
ZiwgIlxuIik7CisgICAgICAgIGlmIChib2R5LT5jYXRjaF9leGNlcHRfcCB8fCBUUlVFKSB7Cisg
ICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lz
ZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsgLyogQUREX1BDKElOU05fQVRUUih3aWR0aCkpOyAqLwor
ICAgICAgICAgICAgcGNfbW92ZWRfcCA9IFRSVUU7CisgICAgICAgIH0KKyAgICAgICAgaWYgKHN0
YXR1cy0+bG9jYWxfc3RhY2tfcCkgeworICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHJi
X3NudW1fdCBpLCBwdXNoX3NpemU7CisgICAgICAgICAgICAgICAgcHVzaF9zaXplID0gLWF0dHJf
c3BfaW5jX29wdF9zZW5kX3dpdGhvdXRfYmxvY2soY2ksIGNjKSArIDEgLSAwOworICAgICAgICAg
ICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJw
ICsgJWxkICsgMTtcbiIsIHB1c2hfc2l6ZSk7IC8qIFBPUE4oSU5TTl9BVFRSKHBvcG4pKTsgKi8K
KyAgICAgICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgcHVzaF9zaXplOyBpKyspIHsKKyAgICAg
ICAgICAgICAgICAgICAgZnByaW50ZihmLCAiICAgICoocmVnX2NmcC0+c3AgKyAlbGQpID0gc3Rh
Y2tbJWxkXTtcbiIsIGkgLSBwdXNoX3NpemUsIChyYl9zbnVtX3QpYi0+c3RhY2tfc2l6ZSAtIHB1
c2hfc2l6ZSArIGkpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAg
fQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5z
cCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgMSAtIDAp
OyAvKiBQT1BOKElOU05fQVRUUihwb3BuKSk7ICovCisgICAgICAgIH0KKyAgICAgICAgZnByaW50
ZihmLCAiICAgIHtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHN0cnVjdCByYl9j
YWxsaW5nX2luZm8gY2FsbGluZztcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIGNh
bGxpbmcuYmxvY2tfaGFuZGxlciA9IFZNX0JMT0NLX0hBTkRMRVJfTk9ORTtcbiIpOworICAgICAg
ICBmcHJpbnRmKGYsICIgICAgICAgIHZtX3NlYXJjaF9tZXRob2QoY2ksIGNjLCBjYWxsaW5nLnJl
Y3YgPSBUT1BOKGNhbGxpbmcuYXJnYyA9IGNpLT5vcmlnX2FyZ2MpKTtcbiIpOworICAgICAgICBm
cHJpbnRmKGYsICIgICAgICAgIENBTExfTUVUSE9EKCZjYWxsaW5nLCBjaSwgY2MpO1xuIik7Cisg
ICAgICAgIGZwcmludGYoZiwgIiAgICB9XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIHN0
YWNrWyVkXSA9IHZhbDtcbiIsIGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5jX29wdF9z
ZW5kX3dpdGhvdXRfYmxvY2soY2ksIGNjKSAtIDEpOworICAgICAgICBmcHJpbnRmKGYsICIgICAg
aWYgKFVOTElLRUxZKHJ1Ynlfdm1fZXZlbnRfZW5hYmxlZF9nbG9iYWxfZmxhZ3MgJiBJU0VRX1RS
QUNFX0VWRU5UUykpIHtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHJlZ19jZnAt
PnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAoaW50
KWF0dHJfc3BfaW5jX29wdF9zZW5kX3dpdGhvdXRfYmxvY2soY2ksIGNjKSArIDEpOworICAgICAg
ICBpZiAoIXBjX21vdmVkX3ApIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgcmVn
X2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsKKyAgICAg
ICAgfQorICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIGdvdG8gY2FuY2VsO1xuIik7CisgICAg
ICAgIGZwcmludGYoZiwgIiAgICB9XG4iKTsKKyAgICAgICAgYi0+c3RhY2tfc2l6ZSArPSBhdHRy
X3NwX2luY19vcHRfc2VuZF93aXRob3V0X2Jsb2NrKGNpLCBjYyk7CisgICAgfQorICAgIGZwcmlu
dGYoZiwgIn1cbiIpOworICAgIGJyZWFrOworICBjYXNlIEJJTihvcHRfc3RyX2ZyZWV6ZSk6Cisg
ICAgZnByaW50ZihmLCAie1xuIik7CisgICAgeworICAgICAgICBNQVlCRV9VTlVTRUQoaW50IHBj
X21vdmVkX3ApID0gRkFMU0U7CisgICAgICAgIE1BWUJFX1VOVVNFRChWQUxVRSBzdHIpID0gKFZB
TFVFKW9wZXJhbmRzWzBdOworICAgICAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSA9IChD
QUxMX0lORk8pb3BlcmFuZHNbMV07CisgICAgICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNj
KSA9IChDQUxMX0NBQ0hFKW9wZXJhbmRzWzJdOworICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9z
dGFja19wKSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVuc2ln
bmVkIGludCkgc3RhY2tfc2l6ZSA9ICV1O1xuIiwgYi0+c3RhY2tfc2l6ZSk7CisgICAgICAgIH0K
KyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFKSBjYztcbiIp
OworICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTykgY2k7XG4i
KTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgc3RyLCB2YWw7
XG4iKTsKKworICAgICAgICBmcHJpbnRmKGYsICIgICAgc3RyID0gKFZBTFVFKTB4JSJQUkl4VkFM
VUUiOyIsIG9wZXJhbmRzWzBdKTsKKyAgICAgICAgaWYgKFNZTUJPTF9QKChWQUxVRSlvcGVyYW5k
c1swXSkpIGNvbW1lbnRfaWQoZiwgU1lNMklEKChWQUxVRSlvcGVyYW5kc1swXSkpOworICAgICAg
ICBmcHJpbnRmKGYsICJcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgY2kgPSAoQ0FMTF9J
TkZPKTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRzWzFdKTsKKyAgICAgICAgY29tbWVudF9pZChm
LCAoKENBTExfSU5GTylvcGVyYW5kc1sxXSktPm1pZCk7CisgICAgICAgIGZwcmludGYoZiwgIlxu
Iik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICBjYyA9IChDQUxMX0NBQ0hFKTB4JSJQUkl4VkFM
VUUiOyIsIG9wZXJhbmRzWzJdKTsKKyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsKKyAgICAgICAg
aWYgKGJvZHktPmNhdGNoX2V4Y2VwdF9wIHx8IEZBTFNFKSB7CisgICAgICAgICAgICBmcHJpbnRm
KGYsICIgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRf
cG9zKTsgLyogQUREX1BDKElOU05fQVRUUih3aWR0aCkpOyAqLworICAgICAgICAgICAgcGNfbW92
ZWRfcCA9IFRSVUU7CisgICAgICAgIH0KKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tf
cCkgeworICAgICAgICB9CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgZnByaW50ZihmLCAi
ICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNr
X3NpemUgKyAxKTsKKyAgICAgICAgfQorICAgICAgICBmcHJpbnRmKGYsICIgICAge1xuIik7Cisg
ICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgdmFsID0gdm1fb3B0X3N0cl9mcmVlemUoc3RyLCBC
T1BfRlJFRVpFLCBpZEZyZWV6ZSk7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsKKyAg
ICAgICAgZnByaW50ZihmLCAiICAgICAgICBpZiAodmFsID09IFF1bmRlZikge1xuIik7CisgICAg
ICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgIFBVU0gocmJfc3RyX3Jlc3VycmVjdChzdHIpKTtc
biIpOworICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAgICAgICBm
cHJpbnRmKGYsICIgICAgICAgICAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJw
ICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgMSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50
ZihmLCAiICAgICAgICAgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtc
biIsIHBvcyk7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgIGdvdG8gY2FuY2VsO1xu
Iik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgfVxuIik7CisgICAgICAgIGZwcmludGYo
ZiwgIiAgICB9XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIHN0YWNrWyVkXSA9IHZhbDtc
biIsIGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5jX29wdF9zdHJfZnJlZXplKHN0ciwg
Y2ksIGNjKSAtIDEpOworICAgICAgICBiLT5zdGFja19zaXplICs9IGF0dHJfc3BfaW5jX29wdF9z
dHJfZnJlZXplKHN0ciwgY2ksIGNjKTsKKyAgICB9CisgICAgZnByaW50ZihmLCAifVxuIik7Cisg
ICAgYnJlYWs7CisgIGNhc2UgQklOKG9wdF9zdHJfdW1pbnVzKToKKyAgICBmcHJpbnRmKGYsICJ7
XG4iKTsKKyAgICB7CisgICAgICAgIE1BWUJFX1VOVVNFRChpbnQgcGNfbW92ZWRfcCkgPSBGQUxT
RTsKKyAgICAgICAgTUFZQkVfVU5VU0VEKFZBTFVFIHN0cikgPSAoVkFMVUUpb3BlcmFuZHNbMF07
CisgICAgICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpID0gKENBTExfSU5GTylvcGVyYW5k
c1sxXTsKKyAgICAgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpID0gKENBTExfQ0FDSEUp
b3BlcmFuZHNbMl07CisgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKKyAgICAg
ICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQodW5zaWduZWQgaW50KSBzdGFja19z
aXplID0gJXU7XG4iLCBiLT5zdGFja19zaXplKTsKKyAgICAgICAgfQorICAgICAgICBmcHJpbnRm
KGYsICIgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUpIGNjO1xuIik7CisgICAgICAgIGZwcmlu
dGYoZiwgIiAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPKSBjaTtcbiIpOworICAgICAgICBmcHJp
bnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSBzdHIsIHZhbDtcbiIpOworCisgICAgICAg
IGZwcmludGYoZiwgIiAgICBzdHIgPSAoVkFMVUUpMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNb
MF0pOworICAgICAgICBpZiAoU1lNQk9MX1AoKFZBTFVFKW9wZXJhbmRzWzBdKSkgY29tbWVudF9p
ZChmLCBTWU0ySUQoKFZBTFVFKW9wZXJhbmRzWzBdKSk7CisgICAgICAgIGZwcmludGYoZiwgIlxu
Iik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICBjaSA9IChDQUxMX0lORk8pMHglIlBSSXhWQUxV
RSI7Iiwgb3BlcmFuZHNbMV0pOworICAgICAgICBjb21tZW50X2lkKGYsICgoQ0FMTF9JTkZPKW9w
ZXJhbmRzWzFdKS0+bWlkKTsKKyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsKKyAgICAgICAgZnBy
aW50ZihmLCAiICAgIGNjID0gKENBTExfQ0FDSEUpMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNb
Ml0pOworICAgICAgICBmcHJpbnRmKGYsICJcbiIpOworICAgICAgICBpZiAoYm9keS0+Y2F0Y2hf
ZXhjZXB0X3AgfHwgRkFMU0UpIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2Zw
LT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3MpOyAvKiBBRERfUEMo
SU5TTl9BVFRSKHdpZHRoKSk7ICovCisgICAgICAgICAgICBwY19tb3ZlZF9wID0gVFJVRTsKKyAg
ICAgICAgfQorICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAgIH0K
KyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+c3Ag
PSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEpOworICAg
ICAgICB9CisgICAgICAgIGZwcmludGYoZiwgIiAgICB7XG4iKTsKKyAgICAgICAgZnByaW50Zihm
LCAiICAgICAgICB2YWwgPSB2bV9vcHRfc3RyX2ZyZWV6ZShzdHIsIEJPUF9VTUlOVVMsIGlkVU1p
bnVzKTtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICJcbiIpOworICAgICAgICBmcHJpbnRmKGYs
ICIgICAgICAgIGlmICh2YWwgPT0gUXVuZGVmKSB7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAi
ICAgICAgICAgICAgUFVTSChyYl9zdHJfcmVzdXJyZWN0KHN0cikpO1xuIik7CisgICAgICAgIGlm
IChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICAg
ICAgICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0
YWNrX3NpemUgKyAxKTsKKyAgICAgICAgfQorICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgICAg
ICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgcG9zKTsKKyAgICAg
ICAgZnByaW50ZihmLCAiICAgICAgICAgICAgZ290byBjYW5jZWw7XG4iKTsKKyAgICAgICAgZnBy
aW50ZihmLCAiICAgICAgICB9XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIpOwor
ICAgICAgICBmcHJpbnRmKGYsICIgICAgc3RhY2tbJWRdID0gdmFsO1xuIiwgYi0+c3RhY2tfc2l6
ZSArIChpbnQpYXR0cl9zcF9pbmNfb3B0X3N0cl91bWludXMoc3RyLCBjaSwgY2MpIC0gMSk7Cisg
ICAgICAgIGItPnN0YWNrX3NpemUgKz0gYXR0cl9zcF9pbmNfb3B0X3N0cl91bWludXMoc3RyLCBj
aSwgY2MpOworICAgIH0KKyAgICBmcHJpbnRmKGYsICJ9XG4iKTsKKyAgICBicmVhazsKKyAgY2Fz
ZSBCSU4ob3B0X25ld2FycmF5X21heCk6CisgICAgZnByaW50ZihmLCAie1xuIik7CisgICAgewor
ICAgICAgICBNQVlCRV9VTlVTRUQoaW50IHBjX21vdmVkX3ApID0gRkFMU0U7CisgICAgICAgIE1B
WUJFX1VOVVNFRChyYl9udW1fdCBudW0pID0gKHJiX251bV90KW9wZXJhbmRzWzBdOworICAgICAg
ICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIg
ICAgTUFZQkVfVU5VU0VEKHVuc2lnbmVkIGludCkgc3RhY2tfc2l6ZSA9ICV1O1xuIiwgYi0+c3Rh
Y2tfc2l6ZSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNF
RChWQUxVRSkgdmFsO1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQo
cmJfbnVtX3QpIG51bTtcbiIpOworCisgICAgICAgIGZwcmludGYoZiwgIiAgICBudW0gPSAocmJf
bnVtX3QpMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNbMF0pOworICAgICAgICBmcHJpbnRmKGYs
ICJcbiIpOworICAgICAgICBpZiAoYm9keS0+Y2F0Y2hfZXhjZXB0X3AgfHwgVFJVRSkgeworICAg
ICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2Vx
ICsgJWQ7XG4iLCBuZXh0X3Bvcyk7IC8qIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsgKi8KKyAg
ICAgICAgICAgIHBjX21vdmVkX3AgPSBUUlVFOworICAgICAgICB9CisgICAgICAgIGlmIChzdGF0
dXMtPmxvY2FsX3N0YWNrX3ApIHsKKyAgICAgICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAg
ICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsg
JWQ7XG4iLCBiLT5zdGFja19zaXplICsgMSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50Zihm
LCAiICAgIHtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHZhbCA9IHZtX29wdF9u
ZXdhcnJheV9tYXgobnVtLCAlcyk7XG4iLAorICAgICAgICAgICAgICAgIChzdGF0dXMtPmxvY2Fs
X3N0YWNrX3AgPyAic3RhY2sgKyAoc3RhY2tfc2l6ZSAtIChudW0pKSIgOiAiU1RBQ0tfQUREUl9G
Uk9NX1RPUChudW0pIikpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgfVxuIik7CisgICAgICAg
IGZwcmludGYoZiwgIiAgICBzdGFja1slZF0gPSB2YWw7XG4iLCBiLT5zdGFja19zaXplICsgKGlu
dClhdHRyX3NwX2luY19vcHRfbmV3YXJyYXlfbWF4KG51bSkgLSAxKTsKKyAgICAgICAgZnByaW50
ZihmLCAiICAgIGlmIChVTkxJS0VMWShydWJ5X3ZtX2V2ZW50X2VuYWJsZWRfZ2xvYmFsX2ZsYWdz
ICYgSVNFUV9UUkFDRV9FVkVOVFMpKSB7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgICAg
ICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19z
aXplICsgKGludClhdHRyX3NwX2luY19vcHRfbmV3YXJyYXlfbWF4KG51bSkgKyAxKTsKKyAgICAg
ICAgaWYgKCFwY19tb3ZlZF9wKSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHJl
Z19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBuZXh0X3Bvcyk7CisgICAg
ICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICBnb3RvIGNhbmNlbDtcbiIpOworICAg
ICAgICBmcHJpbnRmKGYsICIgICAgfVxuIik7CisgICAgICAgIGItPnN0YWNrX3NpemUgKz0gYXR0
cl9zcF9pbmNfb3B0X25ld2FycmF5X21heChudW0pOworICAgIH0KKyAgICBmcHJpbnRmKGYsICJ9
XG4iKTsKKyAgICBicmVhazsKKyAgY2FzZSBCSU4ob3B0X25ld2FycmF5X21pbik6CisgICAgZnBy
aW50ZihmLCAie1xuIik7CisgICAgeworICAgICAgICBNQVlCRV9VTlVTRUQoaW50IHBjX21vdmVk
X3ApID0gRkFMU0U7CisgICAgICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCBudW0pID0gKHJiX251
bV90KW9wZXJhbmRzWzBdOworICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cisg
ICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVuc2lnbmVkIGludCkgc3Rh
Y2tfc2l6ZSA9ICV1O1xuIiwgYi0+c3RhY2tfc2l6ZSk7CisgICAgICAgIH0KKyAgICAgICAgZnBy
aW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgdmFsO1xuIik7CisgICAgICAgIGZwcmlu
dGYoZiwgIiAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QpIG51bTtcbiIpOworCisgICAgICAgIGZw
cmludGYoZiwgIiAgICBudW0gPSAocmJfbnVtX3QpMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNb
MF0pOworICAgICAgICBmcHJpbnRmKGYsICJcbiIpOworICAgICAgICBpZiAoYm9keS0+Y2F0Y2hf
ZXhjZXB0X3AgfHwgVFJVRSkgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAt
PnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBuZXh0X3Bvcyk7IC8qIEFERF9QQyhJ
TlNOX0FUVFIod2lkdGgpKTsgKi8KKyAgICAgICAgICAgIHBjX21vdmVkX3AgPSBUUlVFOworICAg
ICAgICB9CisgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKKyAgICAgICAgfQor
ICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5zcCA9
IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgMSk7CisgICAg
ICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAiICAgIHtcbiIpOworICAgICAgICBmcHJpbnRmKGYs
ICIgICAgICAgIHZhbCA9IHZtX29wdF9uZXdhcnJheV9taW4obnVtLCAlcyk7XG4iLAorICAgICAg
ICAgICAgICAgIChzdGF0dXMtPmxvY2FsX3N0YWNrX3AgPyAic3RhY2sgKyAoc3RhY2tfc2l6ZSAt
IChudW0pKSIgOiAiU1RBQ0tfQUREUl9GUk9NX1RPUChudW0pIikpOworICAgICAgICBmcHJpbnRm
KGYsICIgICAgfVxuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICBzdGFja1slZF0gPSB2YWw7
XG4iLCBiLT5zdGFja19zaXplICsgKGludClhdHRyX3NwX2luY19vcHRfbmV3YXJyYXlfbWluKG51
bSkgLSAxKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIGlmIChVTkxJS0VMWShydWJ5X3ZtX2V2
ZW50X2VuYWJsZWRfZ2xvYmFsX2ZsYWdzICYgSVNFUV9UUkFDRV9FVkVOVFMpKSB7XG4iKTsKKyAg
ICAgICAgZnByaW50ZihmLCAiICAgICAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAt
PmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgKGludClhdHRyX3NwX2luY19vcHRfbmV3YXJy
YXlfbWluKG51bSkgKyAxKTsKKyAgICAgICAgaWYgKCFwY19tb3ZlZF9wKSB7CisgICAgICAgICAg
ICBmcHJpbnRmKGYsICIgICAgICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsg
JWQ7XG4iLCBuZXh0X3Bvcyk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAiICAgICAg
ICBnb3RvIGNhbmNlbDtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgfVxuIik7CisgICAg
ICAgIGItPnN0YWNrX3NpemUgKz0gYXR0cl9zcF9pbmNfb3B0X25ld2FycmF5X21pbihudW0pOwor
ICAgIH0KKyAgICBmcHJpbnRmKGYsICJ9XG4iKTsKKyAgICBicmVhazsKKyAgY2FzZSBCSU4oaW52
b2tlc3VwZXIpOgorICAgIGZwcmludGYoZiwgIntcbiIpOworICAgIHsKKyAgICAgICAgTUFZQkVf
VU5VU0VEKGludCBwY19tb3ZlZF9wKSA9IEZBTFNFOworICAgICAgICBNQVlCRV9VTlVTRUQoQ0FM
TF9JTkZPIGNpKSA9IChDQUxMX0lORk8pb3BlcmFuZHNbMF07CisgICAgICAgIE1BWUJFX1VOVVNF
RChDQUxMX0NBQ0hFIGNjKSA9IChDQUxMX0NBQ0hFKW9wZXJhbmRzWzFdOworICAgICAgICBNQVlC
RV9VTlVTRUQoSVNFUSBibG9ja2lzZXEpID0gKElTRVEpb3BlcmFuZHNbMl07CisgICAgICAgIGlm
IChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICBN
QVlCRV9VTlVTRUQodW5zaWduZWQgaW50KSBzdGFja19zaXplID0gJXU7XG4iLCBiLT5zdGFja19z
aXplKTsKKyAgICAgICAgfQorICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKENB
TExfQ0FDSEUpIGNjO1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQo
Q0FMTF9JTkZPKSBjaTtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VE
KElTRVEpIGJsb2NraXNlcTtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5V
U0VEKFZBTFVFKSB2YWw7XG4iKTsKKworICAgICAgICBmcHJpbnRmKGYsICIgICAgY2kgPSAoQ0FM
TF9JTkZPKTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRzWzBdKTsKKyAgICAgICAgY29tbWVudF9p
ZChmLCAoKENBTExfSU5GTylvcGVyYW5kc1swXSktPm1pZCk7CisgICAgICAgIGZwcmludGYoZiwg
IlxuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICBjYyA9IChDQUxMX0NBQ0hFKTB4JSJQUkl4
VkFMVUUiOyIsIG9wZXJhbmRzWzFdKTsKKyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsKKyAgICAg
ICAgZnByaW50ZihmLCAiICAgIGJsb2NraXNlcSA9IChJU0VRKTB4JSJQUkl4VkFMVUUiOyIsIG9w
ZXJhbmRzWzJdKTsKKyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsKKyAgICAgICAgaWYgKGJvZHkt
PmNhdGNoX2V4Y2VwdF9wIHx8IFRSVUUpIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICBy
ZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3MpOyAvKiBB
RERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7ICovCisgICAgICAgICAgICBwY19tb3ZlZF9wID0gVFJV
RTsKKyAgICAgICAgfQorICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAg
ICAgICAgICB7CisgICAgICAgICAgICAgICAgcmJfc251bV90IGksIHB1c2hfc2l6ZTsKKyAgICAg
ICAgICAgICAgICBwdXNoX3NpemUgPSAtYXR0cl9zcF9pbmNfaW52b2tlc3VwZXIoY2ksIGNjLCBi
bG9ja2lzZXEpICsgMSAtIDA7CisgICAgICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19j
ZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlbGQgKyAxO1xuIiwgcHVzaF9zaXplKTsg
LyogUE9QTihJTlNOX0FUVFIocG9wbikpOyAqLworICAgICAgICAgICAgICAgIGZvciAoaSA9IDA7
IGkgPCBwdXNoX3NpemU7IGkrKykgeworICAgICAgICAgICAgICAgICAgICBmcHJpbnRmKGYsICIg
ICAgKihyZWdfY2ZwLT5zcCArICVsZCkgPSBzdGFja1slbGRdO1xuIiwgaSAtIHB1c2hfc2l6ZSwg
KHJiX3NudW1fdCliLT5zdGFja19zaXplIC0gcHVzaF9zaXplICsgaSk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGVsc2UgeworICAgICAgICAg
ICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAl
ZDtcbiIsIGItPnN0YWNrX3NpemUgKyAxIC0gMCk7IC8qIFBPUE4oSU5TTl9BVFRSKHBvcG4pKTsg
Ki8KKyAgICAgICAgfQorICAgICAgICBmcHJpbnRmKGYsICIgICAge1xuIik7CisgICAgICAgIGZw
cmludGYoZiwgIiAgICAgICAgc3RydWN0IHJiX2NhbGxpbmdfaW5mbyBjYWxsaW5nO1xuIik7Cisg
ICAgICAgIGZwcmludGYoZiwgIlxuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgY2Fs
bGluZy5ibG9ja19oYW5kbGVyID0gdm1fY2FsbGVyX3NldHVwX2FyZ19ibG9jayhlYywgcmVnX2Nm
cCwgY2ksIGJsb2NraXNlcSwgVFJVRSk7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgICAg
ICBjYWxsaW5nLnJlY3YgPSBUT1BOKGNhbGxpbmcuYXJnYyA9IGNpLT5vcmlnX2FyZ2MpO1xuIik7
CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgdm1fc2VhcmNoX3N1cGVyX21ldGhvZChlYywg
R0VUX0NGUCgpLCAmY2FsbGluZywgY2ksIGNjKTtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIg
ICAgICAgIENBTExfTUVUSE9EKCZjYWxsaW5nLCBjaSwgY2MpO1xuIik7CisgICAgICAgIGZwcmlu
dGYoZiwgIiAgICB9XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIHN0YWNrWyVkXSA9IHZh
bDtcbiIsIGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5jX2ludm9rZXN1cGVyKGNpLCBj
YywgYmxvY2tpc2VxKSAtIDEpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgaWYgKFVOTElLRUxZ
KHJ1Ynlfdm1fZXZlbnRfZW5hYmxlZF9nbG9iYWxfZmxhZ3MgJiBJU0VRX1RSQUNFX0VWRU5UUykp
IHtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHJlZ19jZnAtPnNwID0gKFZBTFVF
ICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5j
X2ludm9rZXN1cGVyKGNpLCBjYywgYmxvY2tpc2VxKSArIDEpOworICAgICAgICBpZiAoIXBjX21v
dmVkX3ApIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgcmVnX2NmcC0+cGMgPSBv
cmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsKKyAgICAgICAgfQorICAgICAg
ICBmcHJpbnRmKGYsICIgICAgICAgIGdvdG8gY2FuY2VsO1xuIik7CisgICAgICAgIGZwcmludGYo
ZiwgIiAgICB9XG4iKTsKKyAgICAgICAgYi0+c3RhY2tfc2l6ZSArPSBhdHRyX3NwX2luY19pbnZv
a2VzdXBlcihjaSwgY2MsIGJsb2NraXNlcSk7CisgICAgfQorICAgIGZwcmludGYoZiwgIn1cbiIp
OworICAgIGJyZWFrOworICBjYXNlIEJJTihpbnZva2VibG9jayk6CisgICAgZnByaW50ZihmLCAi
e1xuIik7CisgICAgeworICAgICAgICBNQVlCRV9VTlVTRUQoaW50IHBjX21vdmVkX3ApID0gRkFM
U0U7CisgICAgICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpID0gKENBTExfSU5GTylvcGVy
YW5kc1swXTsKKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgeworICAgICAgICAg
ICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRCh1bnNpZ25lZCBpbnQpIHN0YWNrX3NpemUg
PSAldTtcbiIsIGItPnN0YWNrX3NpemUpOworICAgICAgICB9CisgICAgICAgIGZwcmludGYoZiwg
IiAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPKSBjaTtcbiIpOworICAgICAgICBmcHJpbnRmKGYs
ICIgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSB2YWw7XG4iKTsKKworICAgICAgICBmcHJpbnRmKGYs
ICIgICAgY2kgPSAoQ0FMTF9JTkZPKTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRzWzBdKTsKKyAg
ICAgICAgY29tbWVudF9pZChmLCAoKENBTExfSU5GTylvcGVyYW5kc1swXSktPm1pZCk7CisgICAg
ICAgIGZwcmludGYoZiwgIlxuIik7CisgICAgICAgIGlmIChib2R5LT5jYXRjaF9leGNlcHRfcCB8
fCBUUlVFKSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+cGMgPSBvcmln
aW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsgLyogQUREX1BDKElOU05fQVRUUih3
aWR0aCkpOyAqLworICAgICAgICAgICAgcGNfbW92ZWRfcCA9IFRSVUU7CisgICAgICAgIH0KKyAg
ICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgeworICAgICAgICAgICAgeworICAgICAg
ICAgICAgICAgIHJiX3NudW1fdCBpLCBwdXNoX3NpemU7CisgICAgICAgICAgICAgICAgcHVzaF9z
aXplID0gLWF0dHJfc3BfaW5jX2ludm9rZWJsb2NrKGNpKSArIDEgLSAwOworICAgICAgICAgICAg
ICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsg
JWxkICsgMTtcbiIsIHB1c2hfc2l6ZSk7IC8qIFBPUE4oSU5TTl9BVFRSKHBvcG4pKTsgKi8KKyAg
ICAgICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgcHVzaF9zaXplOyBpKyspIHsKKyAgICAgICAg
ICAgICAgICAgICAgZnByaW50ZihmLCAiICAgICoocmVnX2NmcC0+c3AgKyAlbGQpID0gc3RhY2tb
JWxkXTtcbiIsIGkgLSBwdXNoX3NpemUsIChyYl9zbnVtX3QpYi0+c3RhY2tfc2l6ZSAtIHB1c2hf
c2l6ZSArIGkpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQor
ICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5zcCA9
IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgMSAtIDApOyAv
KiBQT1BOKElOU05fQVRUUihwb3BuKSk7ICovCisgICAgICAgIH0KKyAgICAgICAgZnByaW50Zihm
LCAiICAgIHtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHN0cnVjdCByYl9jYWxs
aW5nX2luZm8gY2FsbGluZztcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIFZBTFVF
IGJsb2NrX2hhbmRsZXI7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsKKyAgICAgICAg
ZnByaW50ZihmLCAiICAgICAgICBjYWxsaW5nLmFyZ2MgPSBjaS0+b3JpZ19hcmdjO1xuIik7Cisg
ICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgY2FsbGluZy5ibG9ja19oYW5kbGVyID0gVk1fQkxP
Q0tfSEFORExFUl9OT05FO1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgY2FsbGlu
Zy5yZWN2ID0gUXVuZGVmOyAvKiBzaG91bGQgbm90IGJlIHVzZWQgKi9cbiIpOworICAgICAgICBm
cHJpbnRmKGYsICJcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIGJsb2NrX2hhbmRs
ZXIgPSBWTV9DRl9CTE9DS19IQU5ETEVSKEdFVF9DRlAoKSk7XG4iKTsKKyAgICAgICAgZnByaW50
ZihmLCAiICAgICAgICBpZiAoYmxvY2tfaGFuZGxlciA9PSBWTV9CTE9DS19IQU5ETEVSX05PTkUp
IHtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgICAgICByYl92bV9sb2NhbGp1bXBf
ZXJyb3IoXCJubyBibG9jayBnaXZlbiAoeWllbGQpXCIsIFFuaWwsIDApO1xuIik7CisgICAgICAg
IGZwcmludGYoZiwgIiAgICAgICAgfVxuIik7CisgICAgICAgIGZwcmludGYoZiwgIlxuIik7Cisg
ICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgdmFsID0gdm1faW52b2tlX2Jsb2NrKGVjLCBHRVRf
Q0ZQKCksICZjYWxsaW5nLCBjaSwgYmxvY2tfaGFuZGxlcik7XG4iKTsKKyAgICAgICAgZnByaW50
ZihmLCAiICAgICAgICBpZiAodmFsID09IFF1bmRlZikge1xuIik7CisgICAgICAgIGZwcmludGYo
ZiwgIiAgICAgICAgICAgIEVYRUNfRUNfQ0ZQKHZhbCk7XG4iKTsKKyAgICAgICAgZnByaW50Zihm
LCAiICAgICAgICB9XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIpOworICAgICAg
ICBmcHJpbnRmKGYsICIgICAgc3RhY2tbJWRdID0gdmFsO1xuIiwgYi0+c3RhY2tfc2l6ZSArIChp
bnQpYXR0cl9zcF9pbmNfaW52b2tlYmxvY2soY2kpIC0gMSk7CisgICAgICAgIGZwcmludGYoZiwg
IiAgICBpZiAoVU5MSUtFTFkocnVieV92bV9ldmVudF9lbmFibGVkX2dsb2JhbF9mbGFncyAmIElT
RVFfVFJBQ0VfRVZFTlRTKSkge1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgcmVn
X2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSAr
IChpbnQpYXR0cl9zcF9pbmNfaW52b2tlYmxvY2soY2kpICsgMSk7CisgICAgICAgIGlmICghcGNf
bW92ZWRfcCkgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgICAgICByZWdfY2ZwLT5wYyA9
IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3MpOworICAgICAgICB9CisgICAg
ICAgIGZwcmludGYoZiwgIiAgICAgICAgZ290byBjYW5jZWw7XG4iKTsKKyAgICAgICAgZnByaW50
ZihmLCAiICAgIH1cbiIpOworICAgICAgICBiLT5zdGFja19zaXplICs9IGF0dHJfc3BfaW5jX2lu
dm9rZWJsb2NrKGNpKTsKKyAgICB9CisgICAgZnByaW50ZihmLCAifVxuIik7CisgICAgYnJlYWs7
CisgIGNhc2UgQklOKGxlYXZlKToKKyAgICBpZiAoYi0+c3RhY2tfc2l6ZSAhPSAxKSB7CisgICAg
ICAgIGlmIChtaml0X29wdHMud2FybmluZ3MgfHwgbWppdF9vcHRzLnZlcmJvc2UpCisgICAgICAg
ICAgICBmcHJpbnRmKHN0ZGVyciwgIk1KSVQgd2FybmluZzogVW5leHBlY3RlZCBKSVQgc3RhY2tf
c2l6ZSBvbiBsZWF2ZTogJWRcbiIsIGItPnN0YWNrX3NpemUpOworICAgICAgICBzdGF0dXMtPnN1
Y2Nlc3MgPSBGQUxTRTsKKyAgICB9CisgICAgZnByaW50ZihmLCAie1xuIik7CisgICAgeworICAg
ICAgICBNQVlCRV9VTlVTRUQoaW50IHBjX21vdmVkX3ApID0gRkFMU0U7CisgICAgICAgIGlmIChz
dGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlC
RV9VTlVTRUQodW5zaWduZWQgaW50KSBzdGFja19zaXplID0gJXU7XG4iLCBiLT5zdGFja19zaXpl
KTsKKyAgICAgICAgfQorICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKFZBTFVF
KSB2YWw7XG4iKTsKKworICAgICAgICBmcHJpbnRmKGYsICIgICAgdmFsID0gc3RhY2tbJWRdO1xu
IiwgYi0+c3RhY2tfc2l6ZSAtIDEpOworICAgICAgICBpZiAoYm9keS0+Y2F0Y2hfZXhjZXB0X3Ag
fHwgVFJVRSkgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnBjID0gb3Jp
Z2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBuZXh0X3Bvcyk7IC8qIEFERF9QQyhJTlNOX0FUVFIo
d2lkdGgpKTsgKi8KKyAgICAgICAgICAgIHBjX21vdmVkX3AgPSBUUlVFOworICAgICAgICB9Cisg
ICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKKyAgICAgICAgICAgIHsKKyAgICAg
ICAgICAgICAgICByYl9zbnVtX3QgaSwgcHVzaF9zaXplOworICAgICAgICAgICAgICAgIHB1c2hf
c2l6ZSA9IC1hdHRyX3NwX2luY19sZWF2ZSgpICsgMSAtIDE7CisgICAgICAgICAgICAgICAgZnBy
aW50ZihmLCAiICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlbGQgKyAx
O1xuIiwgcHVzaF9zaXplKTsgLyogUE9QTihJTlNOX0FUVFIocG9wbikpOyAqLworICAgICAgICAg
ICAgICAgIGZvciAoaSA9IDA7IGkgPCBwdXNoX3NpemU7IGkrKykgeworICAgICAgICAgICAgICAg
ICAgICBmcHJpbnRmKGYsICIgICAgKihyZWdfY2ZwLT5zcCArICVsZCkgPSBzdGFja1slbGRdO1xu
IiwgaSAtIHB1c2hfc2l6ZSwgKHJiX3NudW1fdCliLT5zdGFja19zaXplIC0gcHVzaF9zaXplICsg
aSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAg
IGVsc2UgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnNwID0gKFZBTFVF
ICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAxIC0gMSk7IC8qIFBPUE4o
SU5TTl9BVFRSKHBvcG4pKTsgKi8KKyAgICAgICAgfQorICAgICAgICBmcHJpbnRmKGYsICIgICAg
e1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgaWYgKE9QVF9DSEVDS0VEX1JVTikg
e1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgIGNvbnN0IFZBTFVFICpjb25z
dCBicCA9IHZtX2Jhc2VfcHRyKHJlZ19jZnApO1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAg
ICAgICAgICAgIGlmIChyZWdfY2ZwLT5zcCAhPSBicCkge1xuIik7CisgICAgICAgIGZwcmludGYo
ZiwgIiAgICAgICAgICAgICAgICB2bV9zdGFja19jb25zaXN0ZW5jeV9lcnJvcihlYywgcmVnX2Nm
cCwgYnApO1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgIH1cbiIpOworICAg
ICAgICBmcHJpbnRmKGYsICIgICAgICAgIH1cbiIpOworICAgICAgICBmcHJpbnRmKGYsICJcbiIp
OworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIFJVQllfVk1fQ0hFQ0tfSU5UUyhlYyk7XG4i
KTsKKyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgICAg
ICBpZiAodm1fcG9wX2ZyYW1lKGVjLCBHRVRfQ0ZQKCksIEdFVF9FUCgpKSkge1xuIik7CisgICAg
ICAgIGZwcmludGYoZiwgIiNpZiBPUFRfQ0FMTF9USFJFQURFRF9DT0RFXG4iKTsKKyAgICAgICAg
ZnByaW50ZihmLCAiICAgICAgICAgICAgcmJfZWNfdGhyZWFkX3B0cihlYyktPnJldHZhbCA9IHZh
bDtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgICAgICByZXR1cm4gMDtcbiIpOwor
ICAgICAgICBmcHJpbnRmKGYsICIjZWxzZVxuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAg
ICAgICAgIHJldHVybiB2YWw7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiI2VuZGlmXG4iKTsK
KyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICB9XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAi
ICAgICAgICBlbHNlIHtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIjaWYgT1BUX0NBTExfVEhS
RUFERURfQ09ERVxuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgIHJiX2VjX3Ro
cmVhZF9wdHIoZWMpLT5yZXR2YWwgPSB2YWw7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAg
ICAgICAgICAgcmV0dXJuIDA7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiI2Vsc2VcbiIpOwor
ICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgICAgICByZXR1cm4gdmFsO1xuIik7CisgICAgICAg
IGZwcmludGYoZiwgIiNlbmRpZlxuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgfVxu
Iik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICB9XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAi
ICAgIHN0YWNrWyVkXSA9IHZhbDtcbiIsIGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5j
X2xlYXZlKCkgLSAxKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIGlmIChVTkxJS0VMWShydWJ5
X3ZtX2V2ZW50X2VuYWJsZWRfZ2xvYmFsX2ZsYWdzICYgSVNFUV9UUkFDRV9FVkVOVFMpKSB7XG4i
KTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJl
Z19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgKGludClhdHRyX3NwX2luY19sZWF2
ZSgpICsgMSk7CisgICAgICAgIGlmICghcGNfbW92ZWRfcCkgeworICAgICAgICAgICAgZnByaW50
ZihmLCAiICAgICAgICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwg
bmV4dF9wb3MpOworICAgICAgICB9CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgZ290byBj
YW5jZWw7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIpOworICAgICAgICBiLT5z
dGFja19zaXplICs9IGF0dHJfc3BfaW5jX2xlYXZlKCk7CisgICAgfQorICAgIGZwcmludGYoZiwg
In1cbiIpOworICAgIGItPmZpbmlzaF9wID0gVFJVRTsKKyAgICBicmVhazsKKyAgY2FzZSBCSU4o
dGhyb3cpOgorICAgIGZwcmludGYoZiwgIntcbiIpOworICAgIHsKKyAgICAgICAgTUFZQkVfVU5V
U0VEKGludCBwY19tb3ZlZF9wKSA9IEZBTFNFOworICAgICAgICBNQVlCRV9VTlVTRUQocmJfbnVt
X3QgdGhyb3dfc3RhdGUpID0gKHJiX251bV90KW9wZXJhbmRzWzBdOworICAgICAgICBpZiAoc3Rh
dHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVf
VU5VU0VEKHVuc2lnbmVkIGludCkgc3RhY2tfc2l6ZSA9ICV1O1xuIiwgYi0+c3RhY2tfc2l6ZSk7
CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChWQUxVRSkg
dGhyb3dvYmosIHZhbDtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VE
KHJiX251bV90KSB0aHJvd19zdGF0ZTtcbiIpOworCisgICAgICAgIGZwcmludGYoZiwgIiAgICB0
aHJvd19zdGF0ZSA9IChyYl9udW1fdCkweCUiUFJJeFZBTFVFIjsiLCBvcGVyYW5kc1swXSk7Cisg
ICAgICAgIGZwcmludGYoZiwgIlxuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICB0aHJvd29i
aiA9IHN0YWNrWyVkXTtcbiIsIGItPnN0YWNrX3NpemUgLSAxKTsKKyAgICAgICAgaWYgKGJvZHkt
PmNhdGNoX2V4Y2VwdF9wIHx8IFRSVUUpIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICBy
ZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3MpOyAvKiBB
RERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7ICovCisgICAgICAgICAgICBwY19tb3ZlZF9wID0gVFJV
RTsKKyAgICAgICAgfQorICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAg
ICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2Nm
cC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEp
OworICAgICAgICB9CisgICAgICAgIGZwcmludGYoZiwgIiAgICB7XG4iKTsKKyAgICAgICAgZnBy
aW50ZihmLCAiICAgICAgICBSVUJZX1ZNX0NIRUNLX0lOVFMoZWMpO1xuIik7CisgICAgICAgIGZw
cmludGYoZiwgIiAgICAgICAgdmFsID0gdm1fdGhyb3coZWMsIEdFVF9DRlAoKSwgdGhyb3dfc3Rh
dGUsIHRocm93b2JqKTtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIFRIUk9XX0VY
Q0VQVElPTih2YWwpO1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgLyogdW5yZWFj
aGFibGUgKi9cbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgfVxuIik7CisgICAgICAgIGZw
cmludGYoZiwgIiAgICBzdGFja1slZF0gPSB2YWw7XG4iLCBiLT5zdGFja19zaXplICsgKGludClh
dHRyX3NwX2luY190aHJvdyh0aHJvd19zdGF0ZSkgLSAxKTsKKyAgICAgICAgZnByaW50ZihmLCAi
ICAgIGlmIChVTkxJS0VMWShydWJ5X3ZtX2V2ZW50X2VuYWJsZWRfZ2xvYmFsX2ZsYWdzICYgSVNF
UV9UUkFDRV9FVkVOVFMpKSB7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICByZWdf
Y2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsg
KGludClhdHRyX3NwX2luY190aHJvdyh0aHJvd19zdGF0ZSkgKyAxKTsKKyAgICAgICAgaWYgKCFw
Y19tb3ZlZF9wKSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHJlZ19jZnAtPnBj
ID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBuZXh0X3Bvcyk7CisgICAgICAgIH0KKyAg
ICAgICAgZnByaW50ZihmLCAiICAgICAgICBnb3RvIGNhbmNlbDtcbiIpOworICAgICAgICBmcHJp
bnRmKGYsICIgICAgfVxuIik7CisgICAgICAgIGItPnN0YWNrX3NpemUgKz0gYXR0cl9zcF9pbmNf
dGhyb3codGhyb3dfc3RhdGUpOworICAgIH0KKyAgICBmcHJpbnRmKGYsICJ9XG4iKTsKKyAgICBi
LT5maW5pc2hfcCA9IFRSVUU7CisgICAgYnJlYWs7CisgIGNhc2UgQklOKGp1bXApOgorICAgIGZw
cmludGYoZiwgIntcbiIpOworICAgIHsKKyAgICAgICAgTUFZQkVfVU5VU0VEKGludCBwY19tb3Zl
ZF9wKSA9IEZBTFNFOworICAgICAgICBNQVlCRV9VTlVTRUQoT0ZGU0VUIGRzdCkgPSAoT0ZGU0VU
KW9wZXJhbmRzWzBdOworICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAg
ICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVuc2lnbmVkIGludCkgc3RhY2tf
c2l6ZSA9ICV1O1xuIiwgYi0+c3RhY2tfc2l6ZSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50
ZihmLCAiICAgIE1BWUJFX1VOVVNFRChPRkZTRVQpIGRzdDtcbiIpOworCisgICAgICAgIGZwcmlu
dGYoZiwgIiAgICBkc3QgPSAoT0ZGU0VUKTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRzWzBdKTsK
KyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsKKyAgICAgICAgaWYgKGJvZHktPmNhdGNoX2V4Y2Vw
dF9wIHx8IFRSVUUpIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5wYyA9
IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3MpOyAvKiBBRERfUEMoSU5TTl9B
VFRSKHdpZHRoKSk7ICovCisgICAgICAgICAgICBwY19tb3ZlZF9wID0gVFJVRTsKKyAgICAgICAg
fQorICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAgIH0KKyAgICAg
ICAgZWxzZSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+c3AgPSAoVkFM
VUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEpOworICAgICAgICB9
CisgICAgICAgIGZwcmludGYoZiwgIiAgICB7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAg
ICAgICBSVUJZX1ZNX0NIRUNLX0lOVFMoZWMpO1xuIik7CisgICAgICAgIG5leHRfcG9zID0gcG9z
ICsgaW5zbl9sZW4oaW5zbikgKyAodW5zaWduZWQgaW50KWRzdDsKKyAgICAgICAgZnByaW50Zihm
LCAiICAgICAgICAgICAgZ290byBsYWJlbF8lZDtcbiIsIG5leHRfcG9zKTsKKyAgICAgICAgZnBy
aW50ZihmLCAiICAgIH1cbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgaWYgKFVOTElLRUxZ
KHJ1Ynlfdm1fZXZlbnRfZW5hYmxlZF9nbG9iYWxfZmxhZ3MgJiBJU0VRX1RSQUNFX0VWRU5UUykp
IHtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHJlZ19jZnAtPnNwID0gKFZBTFVF
ICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5j
X2p1bXAoZHN0KSArIDEpOworICAgICAgICBpZiAoIXBjX21vdmVkX3ApIHsKKyAgICAgICAgICAg
IGZwcmludGYoZiwgIiAgICAgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAl
ZDtcbiIsIG5leHRfcG9zKTsKKyAgICAgICAgfQorICAgICAgICBmcHJpbnRmKGYsICIgICAgICAg
IGdvdG8gY2FuY2VsO1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICB9XG4iKTsKKyAgICAg
ICAgYi0+c3RhY2tfc2l6ZSArPSBhdHRyX3NwX2luY19qdW1wKGRzdCk7CisgICAgfQorICAgIGZw
cmludGYoZiwgIn1cbiIpOworICAgIGJyZWFrOworICBjYXNlIEJJTihicmFuY2hpZik6CisgICAg
ZnByaW50ZihmLCAie1xuIik7CisgICAgeworICAgICAgICBNQVlCRV9VTlVTRUQoaW50IHBjX21v
dmVkX3ApID0gRkFMU0U7CisgICAgICAgIE1BWUJFX1VOVVNFRChPRkZTRVQgZHN0KSA9IChPRkZT
RVQpb3BlcmFuZHNbMF07CisgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKKyAg
ICAgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQodW5zaWduZWQgaW50KSBzdGFj
a19zaXplID0gJXU7XG4iLCBiLT5zdGFja19zaXplKTsKKyAgICAgICAgfQorICAgICAgICBmcHJp
bnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKE9GRlNFVCkgZHN0O1xuIik7CisgICAgICAgIGZwcmlu
dGYoZiwgIiAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIHZhbDtcbiIpOworCisgICAgICAgIGZwcmlu
dGYoZiwgIiAgICBkc3QgPSAoT0ZGU0VUKTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRzWzBdKTsK
KyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIHZhbCA9
IHN0YWNrWyVkXTtcbiIsIGItPnN0YWNrX3NpemUgLSAxKTsKKyAgICAgICAgaWYgKGJvZHktPmNh
dGNoX2V4Y2VwdF9wIHx8IFRSVUUpIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdf
Y2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3MpOyAvKiBBRERf
UEMoSU5TTl9BVFRSKHdpZHRoKSk7ICovCisgICAgICAgICAgICBwY19tb3ZlZF9wID0gVFJVRTsK
KyAgICAgICAgfQorICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAg
IH0KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+
c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEpOwor
ICAgICAgICB9CisgICAgICAgIGZwcmludGYoZiwgIiAgICB7XG4iKTsKKyAgICAgICAgZnByaW50
ZihmLCAiICAgICAgICBpZiAoUlRFU1QodmFsKSkge1xuIik7CisgICAgICAgIGZwcmludGYoZiwg
IiAgICAgICAgICAgIFJVQllfVk1fQ0hFQ0tfSU5UUyhlYyk7XG4iKTsKKyAgICAgICAgbmV4dF9w
b3MgPSBwb3MgKyBpbnNuX2xlbihpbnNuKSArICh1bnNpZ25lZCBpbnQpZHN0OworICAgICAgICBm
cHJpbnRmKGYsICIgICAgICAgICAgICBnb3RvIGxhYmVsXyVkO1xuIiwgbmV4dF9wb3MpOworICAg
ICAgICBmcHJpbnRmKGYsICIgICAgICAgIH1cbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAg
fVxuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICBpZiAoVU5MSUtFTFkocnVieV92bV9ldmVu
dF9lbmFibGVkX2dsb2JhbF9mbGFncyAmIElTRVFfVFJBQ0VfRVZFTlRTKSkge1xuIik7CisgICAg
ICAgIGZwcmludGYoZiwgIiAgICAgICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5i
cCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIChpbnQpYXR0cl9zcF9pbmNfYnJhbmNoaWYoZHN0
KSArIDEpOworICAgICAgICBpZiAoIXBjX21vdmVkX3ApIHsKKyAgICAgICAgICAgIGZwcmludGYo
ZiwgIiAgICAgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5l
eHRfcG9zKTsKKyAgICAgICAgfQorICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIGdvdG8gY2Fu
Y2VsO1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICB9XG4iKTsKKyAgICAgICAgYi0+c3Rh
Y2tfc2l6ZSArPSBhdHRyX3NwX2luY19icmFuY2hpZihkc3QpOworICAgIH0KKyAgICBmcHJpbnRm
KGYsICJ9XG4iKTsKKyAgICBjb21waWxlX2luc25zKGYsIGJvZHksIGItPnN0YWNrX3NpemUsIHBv
cyArIGluc25fbGVuKGluc24pLCBzdGF0dXMpOworICAgIGJyZWFrOworICBjYXNlIEJJTihicmFu
Y2h1bmxlc3MpOgorICAgIGZwcmludGYoZiwgIntcbiIpOworICAgIHsKKyAgICAgICAgTUFZQkVf
VU5VU0VEKGludCBwY19tb3ZlZF9wKSA9IEZBTFNFOworICAgICAgICBNQVlCRV9VTlVTRUQoT0ZG
U0VUIGRzdCkgPSAoT0ZGU0VUKW9wZXJhbmRzWzBdOworICAgICAgICBpZiAoc3RhdHVzLT5sb2Nh
bF9zdGFja19wKSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVu
c2lnbmVkIGludCkgc3RhY2tfc2l6ZSA9ICV1O1xuIiwgYi0+c3RhY2tfc2l6ZSk7CisgICAgICAg
IH0KKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChPRkZTRVQpIGRzdDtcbiIp
OworICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSB2YWw7XG4iKTsK
KworICAgICAgICBmcHJpbnRmKGYsICIgICAgZHN0ID0gKE9GRlNFVCkweCUiUFJJeFZBTFVFIjsi
LCBvcGVyYW5kc1swXSk7CisgICAgICAgIGZwcmludGYoZiwgIlxuIik7CisgICAgICAgIGZwcmlu
dGYoZiwgIiAgICB2YWwgPSBzdGFja1slZF07XG4iLCBiLT5zdGFja19zaXplIC0gMSk7CisgICAg
ICAgIGlmIChib2R5LT5jYXRjaF9leGNlcHRfcCB8fCBUUlVFKSB7CisgICAgICAgICAgICBmcHJp
bnRmKGYsICIgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5l
eHRfcG9zKTsgLyogQUREX1BDKElOU05fQVRUUih3aWR0aCkpOyAqLworICAgICAgICAgICAgcGNf
bW92ZWRfcCA9IFRSVUU7CisgICAgICAgIH0KKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3Rh
Y2tfcCkgeworICAgICAgICB9CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgZnByaW50Zihm
LCAiICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0
YWNrX3NpemUgKyAxKTsKKyAgICAgICAgfQorICAgICAgICBmcHJpbnRmKGYsICIgICAge1xuIik7
CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgaWYgKCFSVEVTVCh2YWwpKSB7XG4iKTsKKyAg
ICAgICAgZnByaW50ZihmLCAiICAgICAgICAgICAgUlVCWV9WTV9DSEVDS19JTlRTKGVjKTtcbiIp
OworICAgICAgICBuZXh0X3BvcyA9IHBvcyArIGluc25fbGVuKGluc24pICsgKHVuc2lnbmVkIGlu
dClkc3Q7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgIGdvdG8gbGFiZWxfJWQ7XG4i
LCBuZXh0X3Bvcyk7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgfVxuIik7CisgICAgICAg
IGZwcmludGYoZiwgIiAgICB9XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIGlmIChVTkxJ
S0VMWShydWJ5X3ZtX2V2ZW50X2VuYWJsZWRfZ2xvYmFsX2ZsYWdzICYgSVNFUV9UUkFDRV9FVkVO
VFMpKSB7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICByZWdfY2ZwLT5zcCA9IChW
QUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgKGludClhdHRyX3Nw
X2luY19icmFuY2h1bmxlc3MoZHN0KSArIDEpOworICAgICAgICBpZiAoIXBjX21vdmVkX3ApIHsK
KyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9i
b2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsKKyAgICAgICAgfQorICAgICAgICBmcHJpbnRm
KGYsICIgICAgICAgIGdvdG8gY2FuY2VsO1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICB9
XG4iKTsKKyAgICAgICAgYi0+c3RhY2tfc2l6ZSArPSBhdHRyX3NwX2luY19icmFuY2h1bmxlc3Mo
ZHN0KTsKKyAgICB9CisgICAgZnByaW50ZihmLCAifVxuIik7CisgICAgY29tcGlsZV9pbnNucyhm
LCBib2R5LCBiLT5zdGFja19zaXplLCBwb3MgKyBpbnNuX2xlbihpbnNuKSwgc3RhdHVzKTsKKyAg
ICBicmVhazsKKyAgY2FzZSBCSU4oYnJhbmNobmlsKToKKyAgICBmcHJpbnRmKGYsICJ7XG4iKTsK
KyAgICB7CisgICAgICAgIE1BWUJFX1VOVVNFRChpbnQgcGNfbW92ZWRfcCkgPSBGQUxTRTsKKyAg
ICAgICAgTUFZQkVfVU5VU0VEKE9GRlNFVCBkc3QpID0gKE9GRlNFVClvcGVyYW5kc1swXTsKKyAg
ICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgeworICAgICAgICAgICAgZnByaW50Zihm
LCAiICAgIE1BWUJFX1VOVVNFRCh1bnNpZ25lZCBpbnQpIHN0YWNrX3NpemUgPSAldTtcbiIsIGIt
PnN0YWNrX3NpemUpOworICAgICAgICB9CisgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9V
TlVTRUQoT0ZGU0VUKSBkc3Q7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VO
VVNFRChWQUxVRSkgdmFsO1xuIik7CisKKyAgICAgICAgZnByaW50ZihmLCAiICAgIGRzdCA9IChP
RkZTRVQpMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNbMF0pOworICAgICAgICBmcHJpbnRmKGYs
ICJcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgdmFsID0gc3RhY2tbJWRdO1xuIiwgYi0+
c3RhY2tfc2l6ZSAtIDEpOworICAgICAgICBpZiAoYm9keS0+Y2F0Y2hfZXhjZXB0X3AgfHwgVFJV
RSkgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxf
Ym9keV9pc2VxICsgJWQ7XG4iLCBuZXh0X3Bvcyk7IC8qIEFERF9QQyhJTlNOX0FUVFIod2lkdGgp
KTsgKi8KKyAgICAgICAgICAgIHBjX21vdmVkX3AgPSBUUlVFOworICAgICAgICB9CisgICAgICAg
IGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKKyAgICAgICAgfQorICAgICAgICBlbHNlIHsK
KyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19j
ZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgMSk7CisgICAgICAgIH0KKyAgICAgICAg
ZnByaW50ZihmLCAiICAgIHtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIGlmIChO
SUxfUCh2YWwpKSB7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICAgICAgUlVCWV9W
TV9DSEVDS19JTlRTKGVjKTtcbiIpOworICAgICAgICBuZXh0X3BvcyA9IHBvcyArIGluc25fbGVu
KGluc24pICsgKHVuc2lnbmVkIGludClkc3Q7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAg
ICAgIGdvdG8gbGFiZWxfJWQ7XG4iLCBuZXh0X3Bvcyk7CisgICAgICAgIGZwcmludGYoZiwgIiAg
ICAgICAgfVxuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICB9XG4iKTsKKyAgICAgICAgZnBy
aW50ZihmLCAiICAgIGlmIChVTkxJS0VMWShydWJ5X3ZtX2V2ZW50X2VuYWJsZWRfZ2xvYmFsX2Zs
YWdzICYgSVNFUV9UUkFDRV9FVkVOVFMpKSB7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAg
ICAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFj
a19zaXplICsgKGludClhdHRyX3NwX2luY19icmFuY2huaWwoZHN0KSArIDEpOworICAgICAgICBp
ZiAoIXBjX21vdmVkX3ApIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgcmVnX2Nm
cC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsKKyAgICAgICAg
fQorICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIGdvdG8gY2FuY2VsO1xuIik7CisgICAgICAg
IGZwcmludGYoZiwgIiAgICB9XG4iKTsKKyAgICAgICAgYi0+c3RhY2tfc2l6ZSArPSBhdHRyX3Nw
X2luY19icmFuY2huaWwoZHN0KTsKKyAgICB9CisgICAgZnByaW50ZihmLCAifVxuIik7CisgICAg
Y29tcGlsZV9pbnNucyhmLCBib2R5LCBiLT5zdGFja19zaXplLCBwb3MgKyBpbnNuX2xlbihpbnNu
KSwgc3RhdHVzKTsKKyAgICBicmVhazsKKyAgY2FzZSBCSU4ob3B0X2dldGlubGluZWNhY2hlKToK
KyAgICBmcHJpbnRmKGYsICJ7XG4iKTsKKyAgICB7CisgICAgICAgIE1BWUJFX1VOVVNFRChpbnQg
cGNfbW92ZWRfcCkgPSBGQUxTRTsKKyAgICAgICAgTUFZQkVfVU5VU0VEKE9GRlNFVCBkc3QpID0g
KE9GRlNFVClvcGVyYW5kc1swXTsKKyAgICAgICAgTUFZQkVfVU5VU0VEKElDIGljKSA9IChJQylv
cGVyYW5kc1sxXTsKKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgeworICAgICAg
ICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRCh1bnNpZ25lZCBpbnQpIHN0YWNrX3Np
emUgPSAldTtcbiIsIGItPnN0YWNrX3NpemUpOworICAgICAgICB9CisgICAgICAgIGZwcmludGYo
ZiwgIiAgICBNQVlCRV9VTlVTRUQoSUMpIGljO1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAg
ICBNQVlCRV9VTlVTRUQoT0ZGU0VUKSBkc3Q7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAg
IE1BWUJFX1VOVVNFRChWQUxVRSkgdmFsO1xuIik7CisKKyAgICAgICAgZnByaW50ZihmLCAiICAg
IGRzdCA9IChPRkZTRVQpMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNbMF0pOworICAgICAgICBm
cHJpbnRmKGYsICJcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgaWMgPSAoSUMpMHglIlBS
SXhWQUxVRSI7Iiwgb3BlcmFuZHNbMV0pOworICAgICAgICBmcHJpbnRmKGYsICJcbiIpOworICAg
ICAgICBpZiAoYm9keS0+Y2F0Y2hfZXhjZXB0X3AgfHwgRkFMU0UpIHsKKyAgICAgICAgICAgIGZw
cmludGYoZiwgIiAgICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwg
bmV4dF9wb3MpOyAvKiBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7ICovCisgICAgICAgICAgICBw
Y19tb3ZlZF9wID0gVFJVRTsKKyAgICAgICAgfQorICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9z
dGFja19wKSB7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBmcHJpbnRm
KGYsICIgICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+
c3RhY2tfc2l6ZSArIDEpOworICAgICAgICB9CisgICAgICAgIGZwcmludGYoZiwgIiAgICB7XG4i
KTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICBpZiAodm1faWNfaGl0X3AoaWMsIEdFVF9F
UCgpKSkge1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgIHZhbCA9IGljLT5p
Y192YWx1ZS52YWx1ZTtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgICAgICBzdGFj
a1slZF0gPSB2YWw7XG4iLCBiLT5zdGFja19zaXplICsgKGludClhdHRyX3NwX2luY19vcHRfZ2V0
aW5saW5lY2FjaGUoZHN0LCBpYykgLSAxKTsKKyAgICAgICAgbmV4dF9wb3MgPSBwb3MgKyBpbnNu
X2xlbihpbnNuKSArICh1bnNpZ25lZCBpbnQpZHN0OworICAgICAgICBmcHJpbnRmKGYsICIgICAg
ICAgICAgICBnb3RvIGxhYmVsXyVkO1xuIiwgbmV4dF9wb3MpOworICAgICAgICBmcHJpbnRmKGYs
ICIgICAgICAgIH1cbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIGVsc2Uge1xuIik7
CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgIHZhbCA9IFFuaWw7XG4iKTsKKyAgICAg
ICAgZnByaW50ZihmLCAiICAgICAgICB9XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIH1c
biIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgc3RhY2tbJWRdID0gdmFsO1xuIiwgYi0+c3Rh
Y2tfc2l6ZSArIChpbnQpYXR0cl9zcF9pbmNfb3B0X2dldGlubGluZWNhY2hlKGRzdCwgaWMpIC0g
MSk7CisgICAgICAgIGItPnN0YWNrX3NpemUgKz0gYXR0cl9zcF9pbmNfb3B0X2dldGlubGluZWNh
Y2hlKGRzdCwgaWMpOworICAgIH0KKyAgICBmcHJpbnRmKGYsICJ9XG4iKTsKKyAgICBjb21waWxl
X2luc25zKGYsIGJvZHksIGItPnN0YWNrX3NpemUsIHBvcyArIGluc25fbGVuKGluc24pLCBzdGF0
dXMpOworICAgIGJyZWFrOworICBjYXNlIEJJTihvcHRfc2V0aW5saW5lY2FjaGUpOgorICAgIGZw
cmludGYoZiwgIntcbiIpOworICAgIHsKKyAgICAgICAgTUFZQkVfVU5VU0VEKGludCBwY19tb3Zl
ZF9wKSA9IEZBTFNFOworICAgICAgICBNQVlCRV9VTlVTRUQoSUMgaWMpID0gKElDKW9wZXJhbmRz
WzBdOworICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAgICAgICBm
cHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVuc2lnbmVkIGludCkgc3RhY2tfc2l6ZSA9ICV1
O1xuIiwgYi0+c3RhY2tfc2l6ZSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAiICAg
IE1BWUJFX1VOVVNFRChJQykgaWM7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJF
X1VOVVNFRChWQUxVRSkgdmFsO1xuIik7CisKKyAgICAgICAgZnByaW50ZihmLCAiICAgIGljID0g
KElDKTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRzWzBdKTsKKyAgICAgICAgZnByaW50ZihmLCAi
XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIHZhbCA9IHN0YWNrWyVkXTtcbiIsIGItPnN0
YWNrX3NpemUgLSAxKTsKKyAgICAgICAgaWYgKGJvZHktPmNhdGNoX2V4Y2VwdF9wIHx8IEZBTFNF
KSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9i
b2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsgLyogQUREX1BDKElOU05fQVRUUih3aWR0aCkp
OyAqLworICAgICAgICAgICAgcGNfbW92ZWRfcCA9IFRSVUU7CisgICAgICAgIH0KKyAgICAgICAg
aWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgeworICAgICAgICB9CisgICAgICAgIGVsc2Ugewor
ICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2Nm
cC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAxKTsKKyAgICAgICAgfQorICAgICAgICBm
cHJpbnRmKGYsICIgICAge1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgdm1faWNf
dXBkYXRlKGljLCB2YWwsIEdFVF9FUCgpKTtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAg
fVxuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICBzdGFja1slZF0gPSB2YWw7XG4iLCBiLT5z
dGFja19zaXplICsgKGludClhdHRyX3NwX2luY19vcHRfc2V0aW5saW5lY2FjaGUoaWMpIC0gMSk7
CisgICAgICAgIGItPnN0YWNrX3NpemUgKz0gYXR0cl9zcF9pbmNfb3B0X3NldGlubGluZWNhY2hl
KGljKTsKKyAgICB9CisgICAgZnByaW50ZihmLCAifVxuIik7CisgICAgYnJlYWs7CisgIGNhc2Ug
QklOKG9uY2UpOgorICAgIGZwcmludGYoZiwgIntcbiIpOworICAgIHsKKyAgICAgICAgTUFZQkVf
VU5VU0VEKGludCBwY19tb3ZlZF9wKSA9IEZBTFNFOworICAgICAgICBNQVlCRV9VTlVTRUQoSVNF
USBpc2VxKSA9IChJU0VRKW9wZXJhbmRzWzBdOworICAgICAgICBNQVlCRV9VTlVTRUQoSVNFIGlz
ZSkgPSAoSVNFKW9wZXJhbmRzWzFdOworICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19w
KSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVuc2lnbmVkIGlu
dCkgc3RhY2tfc2l6ZSA9ICV1O1xuIiwgYi0+c3RhY2tfc2l6ZSk7CisgICAgICAgIH0KKyAgICAg
ICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChJU0UpIGlzZTtcbiIpOworICAgICAgICBm
cHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKElTRVEpIGlzZXE7XG4iKTsKKyAgICAgICAgZnBy
aW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgdmFsO1xuIik7CisKKyAgICAgICAgZnBy
aW50ZihmLCAiICAgIGlzZXEgPSAoSVNFUSkweCUiUFJJeFZBTFVFIjsiLCBvcGVyYW5kc1swXSk7
CisgICAgICAgIGZwcmludGYoZiwgIlxuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICBpc2Ug
PSAoSVNFKTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRzWzFdKTsKKyAgICAgICAgZnByaW50Zihm
LCAiXG4iKTsKKyAgICAgICAgaWYgKGJvZHktPmNhdGNoX2V4Y2VwdF9wIHx8IFRSVUUpIHsKKyAg
ICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNl
cSArICVkO1xuIiwgbmV4dF9wb3MpOyAvKiBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7ICovCisg
ICAgICAgICAgICBwY19tb3ZlZF9wID0gVFJVRTsKKyAgICAgICAgfQorICAgICAgICBpZiAoc3Rh
dHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcmJf
c251bV90IGksIHB1c2hfc2l6ZTsKKyAgICAgICAgICAgICAgICBwdXNoX3NpemUgPSAtYXR0cl9z
cF9pbmNfb25jZShpc2VxLCBpc2UpICsgMSAtIDA7CisgICAgICAgICAgICAgICAgZnByaW50Zihm
LCAiICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlbGQgKyAxO1xuIiwg
cHVzaF9zaXplKTsgLyogUE9QTihJTlNOX0FUVFIocG9wbikpOyAqLworICAgICAgICAgICAgICAg
IGZvciAoaSA9IDA7IGkgPCBwdXNoX3NpemU7IGkrKykgeworICAgICAgICAgICAgICAgICAgICBm
cHJpbnRmKGYsICIgICAgKihyZWdfY2ZwLT5zcCArICVsZCkgPSBzdGFja1slbGRdO1xuIiwgaSAt
IHB1c2hfc2l6ZSwgKHJiX3NudW1fdCliLT5zdGFja19zaXplIC0gcHVzaF9zaXplICsgaSk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGVsc2Ug
eworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVn
X2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAxIC0gMCk7IC8qIFBPUE4oSU5TTl9B
VFRSKHBvcG4pKTsgKi8KKyAgICAgICAgfQorICAgICAgICBmcHJpbnRmKGYsICIgICAge1xuIik7
CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgdmFsID0gdm1fb25jZV9kaXNwYXRjaChlYywg
aXNlcSwgaXNlKTtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgfVxuIik7CisgICAgICAg
IGZwcmludGYoZiwgIiAgICBzdGFja1slZF0gPSB2YWw7XG4iLCBiLT5zdGFja19zaXplICsgKGlu
dClhdHRyX3NwX2luY19vbmNlKGlzZXEsIGlzZSkgLSAxKTsKKyAgICAgICAgZnByaW50ZihmLCAi
ICAgIGlmIChVTkxJS0VMWShydWJ5X3ZtX2V2ZW50X2VuYWJsZWRfZ2xvYmFsX2ZsYWdzICYgSVNF
UV9UUkFDRV9FVkVOVFMpKSB7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICByZWdf
Y2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsg
KGludClhdHRyX3NwX2luY19vbmNlKGlzZXEsIGlzZSkgKyAxKTsKKyAgICAgICAgaWYgKCFwY19t
b3ZlZF9wKSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHJlZ19jZnAtPnBjID0g
b3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBuZXh0X3Bvcyk7CisgICAgICAgIH0KKyAgICAg
ICAgZnByaW50ZihmLCAiICAgICAgICBnb3RvIGNhbmNlbDtcbiIpOworICAgICAgICBmcHJpbnRm
KGYsICIgICAgfVxuIik7CisgICAgICAgIGItPnN0YWNrX3NpemUgKz0gYXR0cl9zcF9pbmNfb25j
ZShpc2VxLCBpc2UpOworICAgIH0KKyAgICBmcHJpbnRmKGYsICJ9XG4iKTsKKyAgICBicmVhazsK
KyAgY2FzZSBCSU4ob3B0X2Nhc2VfZGlzcGF0Y2gpOgorICAgIGZwcmludGYoZiwgIntcbiIpOwor
ICAgIHsKKyAgICAgICAgTUFZQkVfVU5VU0VEKGludCBwY19tb3ZlZF9wKSA9IEZBTFNFOworICAg
ICAgICBNQVlCRV9VTlVTRUQoQ0RIQVNIIGhhc2gpID0gKENESEFTSClvcGVyYW5kc1swXTsKKyAg
ICAgICAgTUFZQkVfVU5VU0VEKE9GRlNFVCBlbHNlX29mZnNldCkgPSAoT0ZGU0VUKW9wZXJhbmRz
WzFdOworICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAgICAgICBm
cHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVuc2lnbmVkIGludCkgc3RhY2tfc2l6ZSA9ICV1
O1xuIiwgYi0+c3RhY2tfc2l6ZSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAiICAg
IE1BWUJFX1VOVVNFRChDREhBU0gpIGhhc2g7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAg
IE1BWUJFX1VOVVNFRChPRkZTRVQpIGVsc2Vfb2Zmc2V0O1xuIik7CisgICAgICAgIGZwcmludGYo
ZiwgIiAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIGtleTtcbiIpOworCisgICAgICAgIGZwcmludGYo
ZiwgIiAgICBoYXNoID0gKENESEFTSCkweCUiUFJJeFZBTFVFIjsiLCBvcGVyYW5kc1swXSk7Cisg
ICAgICAgIGZwcmludGYoZiwgIlxuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICBlbHNlX29m
ZnNldCA9IChPRkZTRVQpMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNbMV0pOworICAgICAgICBm
cHJpbnRmKGYsICJcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAga2V5ID0gc3RhY2tbJWRd
O1xuIiwgYi0+c3RhY2tfc2l6ZSAtIDEpOworICAgICAgICBpZiAoYm9keS0+Y2F0Y2hfZXhjZXB0
X3AgfHwgRkFMU0UpIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5wYyA9
IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3MpOyAvKiBBRERfUEMoSU5TTl9B
VFRSKHdpZHRoKSk7ICovCisgICAgICAgICAgICBwY19tb3ZlZF9wID0gVFJVRTsKKyAgICAgICAg
fQorICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAgIH0KKyAgICAg
ICAgZWxzZSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+c3AgPSAoVkFM
VUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEpOworICAgICAgICB9
CisgICAgICAgIGZwcmludGYoZiwgIiAgICB7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAg
ICAgICBPRkZTRVQgZHN0ID0gdm1fY2FzZV9kaXNwYXRjaChoYXNoLCBlbHNlX29mZnNldCwga2V5
KTtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICJcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIg
ICAgICAgIGlmIChkc3QpIHtcbiIpOworICAgICAgICB7CisgICAgICAgICAgICBzdHJ1Y3QgY2Fz
ZV9kaXNwYXRjaF92YXIgYXJnOworICAgICAgICAgICAgYXJnLmYgPSBmOworICAgICAgICAgICAg
YXJnLmJhc2VfcG9zID0gcG9zICsgaW5zbl9sZW4oaW5zbik7CisgICAgICAgICAgICBhcmcubGFz
dF92YWx1ZSA9IFF1bmRlZjsKKworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHN3aXRjaCAo
ZHN0KSB7XG4iKTsKKyAgICAgICAgICAgIHN0X2ZvcmVhY2goUkhBU0hfVEJMX1JBVyhoYXNoKSwg
Y29tcGlsZV9jYXNlX2Rpc3BhdGNoX2VhY2gsIChWQUxVRSkmYXJnKTsKKyAgICAgICAgICAgIGZw
cmludGYoZiwgIiAgICAgIGNhc2UgJWx1OlxuIiwgZWxzZV9vZmZzZXQpOworICAgICAgICAgICAg
ZnByaW50ZihmLCAiICAgICAgICBnb3RvIGxhYmVsXyVsdTtcbiIsIGFyZy5iYXNlX3BvcyArIGVs
c2Vfb2Zmc2V0KTsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICB9XG4iKTsKKyAgICAgICAg
fQorICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIH1cbiIpOworICAgICAgICBmcHJpbnRmKGYs
ICIgICAgfVxuIik7CisgICAgICAgIGItPnN0YWNrX3NpemUgKz0gYXR0cl9zcF9pbmNfb3B0X2Nh
c2VfZGlzcGF0Y2goaGFzaCwgZWxzZV9vZmZzZXQpOworICAgIH0KKyAgICBmcHJpbnRmKGYsICJ9
XG4iKTsKKyAgICBjb21waWxlX2luc25zKGYsIGJvZHksIGItPnN0YWNrX3NpemUsIHBvcyArIGlu
c25fbGVuKGluc24pLCBzdGF0dXMpOworICAgIGJyZWFrOworICBjYXNlIEJJTihvcHRfcGx1cyk6
CisgICAgZnByaW50ZihmLCAie1xuIik7CisgICAgeworICAgICAgICBNQVlCRV9VTlVTRUQoaW50
IHBjX21vdmVkX3ApID0gRkFMU0U7CisgICAgICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kp
ID0gKENBTExfSU5GTylvcGVyYW5kc1swXTsKKyAgICAgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FD
SEUgY2MpID0gKENBTExfQ0FDSEUpb3BlcmFuZHNbMV07CisgICAgICAgIGlmIChzdGF0dXMtPmxv
Y2FsX3N0YWNrX3ApIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQo
dW5zaWduZWQgaW50KSBzdGFja19zaXplID0gJXU7XG4iLCBiLT5zdGFja19zaXplKTsKKyAgICAg
ICAgfQorICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUpIGNj
O1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPKSBj
aTtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSBvYmos
IHJlY3YsIHZhbDtcbiIpOworCisgICAgICAgIGZwcmludGYoZiwgIiAgICBjaSA9IChDQUxMX0lO
Rk8pMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNbMF0pOworICAgICAgICBjb21tZW50X2lkKGYs
ICgoQ0FMTF9JTkZPKW9wZXJhbmRzWzBdKS0+bWlkKTsKKyAgICAgICAgZnByaW50ZihmLCAiXG4i
KTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIGNjID0gKENBTExfQ0FDSEUpMHglIlBSSXhWQUxV
RSI7Iiwgb3BlcmFuZHNbMV0pOworICAgICAgICBmcHJpbnRmKGYsICJcbiIpOworICAgICAgICBm
cHJpbnRmKGYsICIgICAgcmVjdiA9IHN0YWNrWyVkXTtcbiIsIGItPnN0YWNrX3NpemUgLSAyKTsK
KyAgICAgICAgZnByaW50ZihmLCAiICAgIG9iaiA9IHN0YWNrWyVkXTtcbiIsIGItPnN0YWNrX3Np
emUgLSAxKTsKKyAgICAgICAgaWYgKGJvZHktPmNhdGNoX2V4Y2VwdF9wIHx8IFRSVUUpIHsKKyAg
ICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNl
cSArICVkO1xuIiwgbmV4dF9wb3MpOyAvKiBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7ICovCisg
ICAgICAgICAgICBwY19tb3ZlZF9wID0gVFJVRTsKKyAgICAgICAgfQorICAgICAgICBpZiAoc3Rh
dHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAgICAg
ICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCAr
ICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEpOworICAgICAgICB9CisgICAgICAgIGZwcmludGYo
ZiwgIiAgICB7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICB2YWwgPSB2bV9vcHRf
cGx1cyhyZWN2LCBvYmopO1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIlxuIik7CisgICAgICAg
IGZwcmludGYoZiwgIiAgICAgICAgaWYgKHZhbCA9PSBRdW5kZWYpIHtcbiIpOworICAgICAgICBp
ZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAg
ICAgICAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5z
dGFja19zaXplICsgMSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICAg
ICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIHBvcyk7CisgICAg
ICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgIGdvdG8gY2FuY2VsO1xuIik7CisgICAgICAgIGZw
cmludGYoZiwgIiAgICAgICAgfVxuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICB9XG4iKTsK
KyAgICAgICAgZnByaW50ZihmLCAiICAgIHN0YWNrWyVkXSA9IHZhbDtcbiIsIGItPnN0YWNrX3Np
emUgKyAoaW50KWF0dHJfc3BfaW5jX29wdF9wbHVzKGNpLCBjYykgLSAxKTsKKyAgICAgICAgZnBy
aW50ZihmLCAiICAgIGlmIChVTkxJS0VMWShydWJ5X3ZtX2V2ZW50X2VuYWJsZWRfZ2xvYmFsX2Zs
YWdzICYgSVNFUV9UUkFDRV9FVkVOVFMpKSB7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAg
ICAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFj
a19zaXplICsgKGludClhdHRyX3NwX2luY19vcHRfcGx1cyhjaSwgY2MpICsgMSk7CisgICAgICAg
IGlmICghcGNfbW92ZWRfcCkgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgICAgICByZWdf
Y2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3MpOworICAgICAg
ICB9CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgZ290byBjYW5jZWw7XG4iKTsKKyAgICAg
ICAgZnByaW50ZihmLCAiICAgIH1cbiIpOworICAgICAgICBiLT5zdGFja19zaXplICs9IGF0dHJf
c3BfaW5jX29wdF9wbHVzKGNpLCBjYyk7CisgICAgfQorICAgIGZwcmludGYoZiwgIn1cbiIpOwor
ICAgIGJyZWFrOworICBjYXNlIEJJTihvcHRfbWludXMpOgorICAgIGZwcmludGYoZiwgIntcbiIp
OworICAgIHsKKyAgICAgICAgTUFZQkVfVU5VU0VEKGludCBwY19tb3ZlZF9wKSA9IEZBTFNFOwor
ICAgICAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSA9IChDQUxMX0lORk8pb3BlcmFuZHNb
MF07CisgICAgICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKSA9IChDQUxMX0NBQ0hFKW9w
ZXJhbmRzWzFdOworICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAg
ICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVuc2lnbmVkIGludCkgc3RhY2tfc2l6
ZSA9ICV1O1xuIiwgYi0+c3RhY2tfc2l6ZSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50Zihm
LCAiICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFKSBjYztcbiIpOworICAgICAgICBmcHJpbnRm
KGYsICIgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTykgY2k7XG4iKTsKKyAgICAgICAgZnByaW50
ZihmLCAiICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgb2JqLCByZWN2LCB2YWw7XG4iKTsKKworICAg
ICAgICBmcHJpbnRmKGYsICIgICAgY2kgPSAoQ0FMTF9JTkZPKTB4JSJQUkl4VkFMVUUiOyIsIG9w
ZXJhbmRzWzBdKTsKKyAgICAgICAgY29tbWVudF9pZChmLCAoKENBTExfSU5GTylvcGVyYW5kc1sw
XSktPm1pZCk7CisgICAgICAgIGZwcmludGYoZiwgIlxuIik7CisgICAgICAgIGZwcmludGYoZiwg
IiAgICBjYyA9IChDQUxMX0NBQ0hFKTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRzWzFdKTsKKyAg
ICAgICAgZnByaW50ZihmLCAiXG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIHJlY3YgPSBz
dGFja1slZF07XG4iLCBiLT5zdGFja19zaXplIC0gMik7CisgICAgICAgIGZwcmludGYoZiwgIiAg
ICBvYmogPSBzdGFja1slZF07XG4iLCBiLT5zdGFja19zaXplIC0gMSk7CisgICAgICAgIGlmIChi
b2R5LT5jYXRjaF9leGNlcHRfcCB8fCBGQUxTRSkgeworICAgICAgICAgICAgZnByaW50ZihmLCAi
ICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBuZXh0X3Bvcyk7
IC8qIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsgKi8KKyAgICAgICAgICAgIHBjX21vdmVkX3Ag
PSBUUlVFOworICAgICAgICB9CisgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsK
KyAgICAgICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICBy
ZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXpl
ICsgMSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAiICAgIHtcbiIpOworICAgICAg
ICBmcHJpbnRmKGYsICIgICAgICAgIHZhbCA9IHZtX29wdF9taW51cyhyZWN2LCBvYmopO1xuIik7
CisgICAgICAgIGZwcmludGYoZiwgIlxuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAg
aWYgKHZhbCA9PSBRdW5kZWYpIHtcbiIpOworICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFj
a19wKSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgICAgICByZWdfY2ZwLT5zcCA9
IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgMSk7CisgICAg
ICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICAgICAgcmVnX2NmcC0+cGMgPSBvcmln
aW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIHBvcyk7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAg
ICAgICAgIGdvdG8gY2FuY2VsO1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgfVxu
Iik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICB9XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAi
ICAgIHN0YWNrWyVkXSA9IHZhbDtcbiIsIGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5j
X29wdF9taW51cyhjaSwgY2MpIC0gMSk7CisgICAgICAgIGItPnN0YWNrX3NpemUgKz0gYXR0cl9z
cF9pbmNfb3B0X21pbnVzKGNpLCBjYyk7CisgICAgfQorICAgIGZwcmludGYoZiwgIn1cbiIpOwor
ICAgIGJyZWFrOworICBjYXNlIEJJTihvcHRfbXVsdCk6CisgICAgZnByaW50ZihmLCAie1xuIik7
CisgICAgeworICAgICAgICBNQVlCRV9VTlVTRUQoaW50IHBjX21vdmVkX3ApID0gRkFMU0U7Cisg
ICAgICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpID0gKENBTExfSU5GTylvcGVyYW5kc1sw
XTsKKyAgICAgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpID0gKENBTExfQ0FDSEUpb3Bl
cmFuZHNbMV07CisgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKKyAgICAgICAg
ICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQodW5zaWduZWQgaW50KSBzdGFja19zaXpl
ID0gJXU7XG4iLCBiLT5zdGFja19zaXplKTsKKyAgICAgICAgfQorICAgICAgICBmcHJpbnRmKGYs
ICIgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUpIGNjO1xuIik7CisgICAgICAgIGZwcmludGYo
ZiwgIiAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPKSBjaTtcbiIpOworICAgICAgICBmcHJpbnRm
KGYsICIgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSBvYmosIHJlY3YsIHZhbDtcbiIpOworCisgICAg
ICAgIGZwcmludGYoZiwgIiAgICBjaSA9IChDQUxMX0lORk8pMHglIlBSSXhWQUxVRSI7Iiwgb3Bl
cmFuZHNbMF0pOworICAgICAgICBjb21tZW50X2lkKGYsICgoQ0FMTF9JTkZPKW9wZXJhbmRzWzBd
KS0+bWlkKTsKKyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAi
ICAgIGNjID0gKENBTExfQ0FDSEUpMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNbMV0pOworICAg
ICAgICBmcHJpbnRmKGYsICJcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVjdiA9IHN0
YWNrWyVkXTtcbiIsIGItPnN0YWNrX3NpemUgLSAyKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAg
IG9iaiA9IHN0YWNrWyVkXTtcbiIsIGItPnN0YWNrX3NpemUgLSAxKTsKKyAgICAgICAgaWYgKGJv
ZHktPmNhdGNoX2V4Y2VwdF9wIHx8IEZBTFNFKSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIg
ICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsg
LyogQUREX1BDKElOU05fQVRUUih3aWR0aCkpOyAqLworICAgICAgICAgICAgcGNfbW92ZWRfcCA9
IFRSVUU7CisgICAgICAgIH0KKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgewor
ICAgICAgICB9CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJl
Z19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUg
KyAxKTsKKyAgICAgICAgfQorICAgICAgICBmcHJpbnRmKGYsICIgICAge1xuIik7CisgICAgICAg
IGZwcmludGYoZiwgIiAgICAgICAgdmFsID0gdm1fb3B0X211bHQocmVjdiwgb2JqKTtcbiIpOwor
ICAgICAgICBmcHJpbnRmKGYsICJcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIGlm
ICh2YWwgPT0gUXVuZGVmKSB7XG4iKTsKKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tf
cCkgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgICAgICAgICAgcmVnX2NmcC0+c3AgPSAo
VkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEpOworICAgICAg
ICB9CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgIHJlZ19jZnAtPnBjID0gb3JpZ2lu
YWxfYm9keV9pc2VxICsgJWQ7XG4iLCBwb3MpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAg
ICAgICBnb3RvIGNhbmNlbDtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIH1cbiIp
OworICAgICAgICBmcHJpbnRmKGYsICIgICAgfVxuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAg
ICBzdGFja1slZF0gPSB2YWw7XG4iLCBiLT5zdGFja19zaXplICsgKGludClhdHRyX3NwX2luY19v
cHRfbXVsdChjaSwgY2MpIC0gMSk7CisgICAgICAgIGItPnN0YWNrX3NpemUgKz0gYXR0cl9zcF9p
bmNfb3B0X211bHQoY2ksIGNjKTsKKyAgICB9CisgICAgZnByaW50ZihmLCAifVxuIik7CisgICAg
YnJlYWs7CisgIGNhc2UgQklOKG9wdF9kaXYpOgorICAgIGZwcmludGYoZiwgIntcbiIpOworICAg
IHsKKyAgICAgICAgTUFZQkVfVU5VU0VEKGludCBwY19tb3ZlZF9wKSA9IEZBTFNFOworICAgICAg
ICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSA9IChDQUxMX0lORk8pb3BlcmFuZHNbMF07Cisg
ICAgICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKSA9IChDQUxMX0NBQ0hFKW9wZXJhbmRz
WzFdOworICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAgICAgICBm
cHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVuc2lnbmVkIGludCkgc3RhY2tfc2l6ZSA9ICV1
O1xuIiwgYi0+c3RhY2tfc2l6ZSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAiICAg
IE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFKSBjYztcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIg
ICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTykgY2k7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAi
ICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgb2JqLCByZWN2LCB2YWw7XG4iKTsKKworICAgICAgICBm
cHJpbnRmKGYsICIgICAgY2kgPSAoQ0FMTF9JTkZPKTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRz
WzBdKTsKKyAgICAgICAgY29tbWVudF9pZChmLCAoKENBTExfSU5GTylvcGVyYW5kc1swXSktPm1p
ZCk7CisgICAgICAgIGZwcmludGYoZiwgIlxuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICBj
YyA9IChDQUxMX0NBQ0hFKTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRzWzFdKTsKKyAgICAgICAg
ZnByaW50ZihmLCAiXG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIHJlY3YgPSBzdGFja1sl
ZF07XG4iLCBiLT5zdGFja19zaXplIC0gMik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICBvYmog
PSBzdGFja1slZF07XG4iLCBiLT5zdGFja19zaXplIC0gMSk7CisgICAgICAgIGlmIChib2R5LT5j
YXRjaF9leGNlcHRfcCB8fCBGQUxTRSkgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJl
Z19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBuZXh0X3Bvcyk7IC8qIEFE
RF9QQyhJTlNOX0FUVFIod2lkdGgpKTsgKi8KKyAgICAgICAgICAgIHBjX21vdmVkX3AgPSBUUlVF
OworICAgICAgICB9CisgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKKyAgICAg
ICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2Zw
LT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgMSk7
CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAiICAgIHtcbiIpOworICAgICAgICBmcHJp
bnRmKGYsICIgICAgICAgIHZhbCA9IHZtX29wdF9kaXYocmVjdiwgb2JqKTtcbiIpOworICAgICAg
ICBmcHJpbnRmKGYsICJcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIGlmICh2YWwg
PT0gUXVuZGVmKSB7XG4iKTsKKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgewor
ICAgICAgICAgICAgZnByaW50ZihmLCAiICAgICAgICAgICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUg
KilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEpOworICAgICAgICB9Cisg
ICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9k
eV9pc2VxICsgJWQ7XG4iLCBwb3MpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgICAgICBn
b3RvIGNhbmNlbDtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIH1cbiIpOworICAg
ICAgICBmcHJpbnRmKGYsICIgICAgfVxuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICBzdGFj
a1slZF0gPSB2YWw7XG4iLCBiLT5zdGFja19zaXplICsgKGludClhdHRyX3NwX2luY19vcHRfZGl2
KGNpLCBjYykgLSAxKTsKKyAgICAgICAgYi0+c3RhY2tfc2l6ZSArPSBhdHRyX3NwX2luY19vcHRf
ZGl2KGNpLCBjYyk7CisgICAgfQorICAgIGZwcmludGYoZiwgIn1cbiIpOworICAgIGJyZWFrOwor
ICBjYXNlIEJJTihvcHRfbW9kKToKKyAgICBmcHJpbnRmKGYsICJ7XG4iKTsKKyAgICB7CisgICAg
ICAgIE1BWUJFX1VOVVNFRChpbnQgcGNfbW92ZWRfcCkgPSBGQUxTRTsKKyAgICAgICAgTUFZQkVf
VU5VU0VEKENBTExfSU5GTyBjaSkgPSAoQ0FMTF9JTkZPKW9wZXJhbmRzWzBdOworICAgICAgICBN
QVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykgPSAoQ0FMTF9DQUNIRSlvcGVyYW5kc1sxXTsKKyAg
ICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgeworICAgICAgICAgICAgZnByaW50Zihm
LCAiICAgIE1BWUJFX1VOVVNFRCh1bnNpZ25lZCBpbnQpIHN0YWNrX3NpemUgPSAldTtcbiIsIGIt
PnN0YWNrX3NpemUpOworICAgICAgICB9CisgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9V
TlVTRUQoQ0FMTF9DQUNIRSkgY2M7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJF
X1VOVVNFRChDQUxMX0lORk8pIGNpO1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlC
RV9VTlVTRUQoVkFMVUUpIG9iaiwgcmVjdiwgdmFsO1xuIik7CisKKyAgICAgICAgZnByaW50Zihm
LCAiICAgIGNpID0gKENBTExfSU5GTykweCUiUFJJeFZBTFVFIjsiLCBvcGVyYW5kc1swXSk7Cisg
ICAgICAgIGNvbW1lbnRfaWQoZiwgKChDQUxMX0lORk8pb3BlcmFuZHNbMF0pLT5taWQpOworICAg
ICAgICBmcHJpbnRmKGYsICJcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgY2MgPSAoQ0FM
TF9DQUNIRSkweCUiUFJJeFZBTFVFIjsiLCBvcGVyYW5kc1sxXSk7CisgICAgICAgIGZwcmludGYo
ZiwgIlxuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICByZWN2ID0gc3RhY2tbJWRdO1xuIiwg
Yi0+c3RhY2tfc2l6ZSAtIDIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgb2JqID0gc3RhY2tb
JWRdO1xuIiwgYi0+c3RhY2tfc2l6ZSAtIDEpOworICAgICAgICBpZiAoYm9keS0+Y2F0Y2hfZXhj
ZXB0X3AgfHwgRkFMU0UpIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5w
YyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3MpOyAvKiBBRERfUEMoSU5T
Tl9BVFRSKHdpZHRoKSk7ICovCisgICAgICAgICAgICBwY19tb3ZlZF9wID0gVFJVRTsKKyAgICAg
ICAgfQorICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAgIH0KKyAg
ICAgICAgZWxzZSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+c3AgPSAo
VkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEpOworICAgICAg
ICB9CisgICAgICAgIGZwcmludGYoZiwgIiAgICB7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAi
ICAgICAgICB2YWwgPSB2bV9vcHRfbW9kKHJlY3YsIG9iaik7XG4iKTsKKyAgICAgICAgZnByaW50
ZihmLCAiXG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICBpZiAodmFsID09IFF1bmRl
Zikge1xuIik7CisgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKKyAgICAgICAg
ICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2Nm
cC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAxKTsKKyAgICAgICAgfQorICAgICAgICBm
cHJpbnRmKGYsICIgICAgICAgICAgICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSAr
ICVkO1xuIiwgcG9zKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICAgICAgZ290byBjYW5j
ZWw7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICB9XG4iKTsKKyAgICAgICAgZnBy
aW50ZihmLCAiICAgIH1cbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgc3RhY2tbJWRdID0g
dmFsO1xuIiwgYi0+c3RhY2tfc2l6ZSArIChpbnQpYXR0cl9zcF9pbmNfb3B0X21vZChjaSwgY2Mp
IC0gMSk7CisgICAgICAgIGItPnN0YWNrX3NpemUgKz0gYXR0cl9zcF9pbmNfb3B0X21vZChjaSwg
Y2MpOworICAgIH0KKyAgICBmcHJpbnRmKGYsICJ9XG4iKTsKKyAgICBicmVhazsKKyAgY2FzZSBC
SU4ob3B0X2VxKToKKyAgICBmcHJpbnRmKGYsICJ7XG4iKTsKKyAgICB7CisgICAgICAgIE1BWUJF
X1VOVVNFRChpbnQgcGNfbW92ZWRfcCkgPSBGQUxTRTsKKyAgICAgICAgTUFZQkVfVU5VU0VEKENB
TExfSU5GTyBjaSkgPSAoQ0FMTF9JTkZPKW9wZXJhbmRzWzBdOworICAgICAgICBNQVlCRV9VTlVT
RUQoQ0FMTF9DQUNIRSBjYykgPSAoQ0FMTF9DQUNIRSlvcGVyYW5kc1sxXTsKKyAgICAgICAgaWYg
KHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIE1B
WUJFX1VOVVNFRCh1bnNpZ25lZCBpbnQpIHN0YWNrX3NpemUgPSAldTtcbiIsIGItPnN0YWNrX3Np
emUpOworICAgICAgICB9CisgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQoQ0FM
TF9DQUNIRSkgY2M7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChD
QUxMX0lORk8pIGNpO1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQo
VkFMVUUpIG9iaiwgcmVjdiwgdmFsO1xuIik7CisKKyAgICAgICAgZnByaW50ZihmLCAiICAgIGNp
ID0gKENBTExfSU5GTykweCUiUFJJeFZBTFVFIjsiLCBvcGVyYW5kc1swXSk7CisgICAgICAgIGNv
bW1lbnRfaWQoZiwgKChDQUxMX0lORk8pb3BlcmFuZHNbMF0pLT5taWQpOworICAgICAgICBmcHJp
bnRmKGYsICJcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgY2MgPSAoQ0FMTF9DQUNIRSkw
eCUiUFJJeFZBTFVFIjsiLCBvcGVyYW5kc1sxXSk7CisgICAgICAgIGZwcmludGYoZiwgIlxuIik7
CisgICAgICAgIGZwcmludGYoZiwgIiAgICByZWN2ID0gc3RhY2tbJWRdO1xuIiwgYi0+c3RhY2tf
c2l6ZSAtIDIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgb2JqID0gc3RhY2tbJWRdO1xuIiwg
Yi0+c3RhY2tfc2l6ZSAtIDEpOworICAgICAgICBpZiAoYm9keS0+Y2F0Y2hfZXhjZXB0X3AgfHwg
VFJVRSkgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnBjID0gb3JpZ2lu
YWxfYm9keV9pc2VxICsgJWQ7XG4iLCBuZXh0X3Bvcyk7IC8qIEFERF9QQyhJTlNOX0FUVFIod2lk
dGgpKTsgKi8KKyAgICAgICAgICAgIHBjX21vdmVkX3AgPSBUUlVFOworICAgICAgICB9CisgICAg
ICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKKyAgICAgICAgfQorICAgICAgICBlbHNl
IHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJl
Z19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgMSk7CisgICAgICAgIH0KKyAgICAg
ICAgZnByaW50ZihmLCAiICAgIHtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHZh
bCA9IG9wdF9lcV9mdW5jKHJlY3YsIG9iaiwgY2ksIGNjKTtcbiIpOworICAgICAgICBmcHJpbnRm
KGYsICJcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIGlmICh2YWwgPT0gUXVuZGVm
KSB7XG4iKTsKKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgeworICAgICAgICAg
ICAgZnByaW50ZihmLCAiICAgICAgICAgICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2Zw
LT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEpOworICAgICAgICB9CisgICAgICAgIGZw
cmludGYoZiwgIiAgICAgICAgICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsg
JWQ7XG4iLCBwb3MpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgICAgICBnb3RvIGNhbmNl
bDtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIH1cbiIpOworICAgICAgICBmcHJp
bnRmKGYsICIgICAgfVxuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICBzdGFja1slZF0gPSB2
YWw7XG4iLCBiLT5zdGFja19zaXplICsgKGludClhdHRyX3NwX2luY19vcHRfZXEoY2ksIGNjKSAt
IDEpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgaWYgKFVOTElLRUxZKHJ1Ynlfdm1fZXZlbnRf
ZW5hYmxlZF9nbG9iYWxfZmxhZ3MgJiBJU0VRX1RSQUNFX0VWRU5UUykpIHtcbiIpOworICAgICAg
ICBmcHJpbnRmKGYsICIgICAgICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAg
KyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5jX29wdF9lcShjaSwgY2Mp
ICsgMSk7CisgICAgICAgIGlmICghcGNfbW92ZWRfcCkgeworICAgICAgICAgICAgZnByaW50Zihm
LCAiICAgICAgICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4
dF9wb3MpOworICAgICAgICB9CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgZ290byBjYW5j
ZWw7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIpOworICAgICAgICBiLT5zdGFj
a19zaXplICs9IGF0dHJfc3BfaW5jX29wdF9lcShjaSwgY2MpOworICAgIH0KKyAgICBmcHJpbnRm
KGYsICJ9XG4iKTsKKyAgICBicmVhazsKKyAgY2FzZSBCSU4ob3B0X25lcSk6CisgICAgZnByaW50
ZihmLCAie1xuIik7CisgICAgeworICAgICAgICBNQVlCRV9VTlVTRUQoaW50IHBjX21vdmVkX3Ap
ID0gRkFMU0U7CisgICAgICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2lfZXEpID0gKENBTExf
SU5GTylvcGVyYW5kc1swXTsKKyAgICAgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2NfZXEp
ID0gKENBTExfQ0FDSEUpb3BlcmFuZHNbMV07CisgICAgICAgIE1BWUJFX1VOVVNFRChDQUxMX0lO
Rk8gY2kpID0gKENBTExfSU5GTylvcGVyYW5kc1syXTsKKyAgICAgICAgTUFZQkVfVU5VU0VEKENB
TExfQ0FDSEUgY2MpID0gKENBTExfQ0FDSEUpb3BlcmFuZHNbM107CisgICAgICAgIGlmIChzdGF0
dXMtPmxvY2FsX3N0YWNrX3ApIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9V
TlVTRUQodW5zaWduZWQgaW50KSBzdGFja19zaXplID0gJXU7XG4iLCBiLT5zdGFja19zaXplKTsK
KyAgICAgICAgfQorICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FD
SEUpIGNjLCBjY19lcTtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VE
KENBTExfSU5GTykgY2ksIGNpX2VxO1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlC
RV9VTlVTRUQoVkFMVUUpIG9iaiwgcmVjdiwgdmFsO1xuIik7CisKKyAgICAgICAgZnByaW50Zihm
LCAiICAgIGNpX2VxID0gKENBTExfSU5GTykweCUiUFJJeFZBTFVFIjsiLCBvcGVyYW5kc1swXSk7
CisgICAgICAgIGNvbW1lbnRfaWQoZiwgKChDQUxMX0lORk8pb3BlcmFuZHNbMF0pLT5taWQpOwor
ICAgICAgICBmcHJpbnRmKGYsICJcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgY2NfZXEg
PSAoQ0FMTF9DQUNIRSkweCUiUFJJeFZBTFVFIjsiLCBvcGVyYW5kc1sxXSk7CisgICAgICAgIGZw
cmludGYoZiwgIlxuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICBjaSA9IChDQUxMX0lORk8p
MHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNbMl0pOworICAgICAgICBjb21tZW50X2lkKGYsICgo
Q0FMTF9JTkZPKW9wZXJhbmRzWzJdKS0+bWlkKTsKKyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsK
KyAgICAgICAgZnByaW50ZihmLCAiICAgIGNjID0gKENBTExfQ0FDSEUpMHglIlBSSXhWQUxVRSI7
Iiwgb3BlcmFuZHNbM10pOworICAgICAgICBmcHJpbnRmKGYsICJcbiIpOworICAgICAgICBmcHJp
bnRmKGYsICIgICAgcmVjdiA9IHN0YWNrWyVkXTtcbiIsIGItPnN0YWNrX3NpemUgLSAyKTsKKyAg
ICAgICAgZnByaW50ZihmLCAiICAgIG9iaiA9IHN0YWNrWyVkXTtcbiIsIGItPnN0YWNrX3NpemUg
LSAxKTsKKyAgICAgICAgaWYgKGJvZHktPmNhdGNoX2V4Y2VwdF9wIHx8IFRSVUUpIHsKKyAgICAg
ICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSAr
ICVkO1xuIiwgbmV4dF9wb3MpOyAvKiBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7ICovCisgICAg
ICAgICAgICBwY19tb3ZlZF9wID0gVFJVRTsKKyAgICAgICAgfQorICAgICAgICBpZiAoc3RhdHVz
LT5sb2NhbF9zdGFja19wKSB7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAg
ICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVk
O1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEpOworICAgICAgICB9CisgICAgICAgIGZwcmludGYoZiwg
IiAgICB7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICB2YWwgPSB2bV9vcHRfbmVx
KGNpLCBjYywgY2lfZXEsIGNjX2VxLCByZWN2LCBvYmopO1xuIik7CisgICAgICAgIGZwcmludGYo
ZiwgIlxuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgaWYgKHZhbCA9PSBRdW5kZWYp
IHtcbiIpOworICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAgICAg
ICBmcHJpbnRmKGYsICIgICAgICAgICAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAt
PmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgMSk7CisgICAgICAgIH0KKyAgICAgICAgZnBy
aW50ZihmLCAiICAgICAgICAgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAl
ZDtcbiIsIHBvcyk7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgIGdvdG8gY2FuY2Vs
O1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgfVxuIik7CisgICAgICAgIGZwcmlu
dGYoZiwgIiAgICB9XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIHN0YWNrWyVkXSA9IHZh
bDtcbiIsIGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5jX29wdF9uZXEoY2lfZXEsIGNj
X2VxLCBjaSwgY2MpIC0gMSk7CisgICAgICAgIGZwcmludGYoZiwgIiAgICBpZiAoVU5MSUtFTFko
cnVieV92bV9ldmVudF9lbmFibGVkX2dsb2JhbF9mbGFncyAmIElTRVFfVFJBQ0VfRVZFTlRTKSkg
e1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUg
KilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIChpbnQpYXR0cl9zcF9pbmNf
b3B0X25lcShjaV9lcSwgY2NfZXEsIGNpLCBjYykgKyAxKTsKKyAgICAgICAgaWYgKCFwY19tb3Zl
ZF9wKSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHJlZ19jZnAtPnBjID0gb3Jp
Z2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBuZXh0X3Bvcyk7CisgICAgICAgIH0KKyAgICAgICAg
ZnByaW50ZihmLCAiICAgICAgICBnb3RvIGNhbmNlbDtcbiIpOworICAgICAgICBmcHJpbnRmKGYs
ICIgICAgfVxuIik7CisgICAgICAgIGItPnN0YWNrX3NpemUgKz0gYXR0cl9zcF9pbmNfb3B0X25l
cShjaV9lcSwgY2NfZXEsIGNpLCBjYyk7CisgICAgfQorICAgIGZwcmludGYoZiwgIn1cbiIpOwor
ICAgIGJyZWFrOworICBjYXNlIEJJTihvcHRfbHQpOgorICAgIGZwcmludGYoZiwgIntcbiIpOwor
ICAgIHsKKyAgICAgICAgTUFZQkVfVU5VU0VEKGludCBwY19tb3ZlZF9wKSA9IEZBTFNFOworICAg
ICAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSA9IChDQUxMX0lORk8pb3BlcmFuZHNbMF07
CisgICAgICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKSA9IChDQUxMX0NBQ0hFKW9wZXJh
bmRzWzFdOworICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAgICAg
ICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVuc2lnbmVkIGludCkgc3RhY2tfc2l6ZSA9
ICV1O1xuIiwgYi0+c3RhY2tfc2l6ZSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAi
ICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFKSBjYztcbiIpOworICAgICAgICBmcHJpbnRmKGYs
ICIgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTykgY2k7XG4iKTsKKyAgICAgICAgZnByaW50Zihm
LCAiICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgb2JqLCByZWN2LCB2YWw7XG4iKTsKKworICAgICAg
ICBmcHJpbnRmKGYsICIgICAgY2kgPSAoQ0FMTF9JTkZPKTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJh
bmRzWzBdKTsKKyAgICAgICAgY29tbWVudF9pZChmLCAoKENBTExfSU5GTylvcGVyYW5kc1swXSkt
Pm1pZCk7CisgICAgICAgIGZwcmludGYoZiwgIlxuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAg
ICBjYyA9IChDQUxMX0NBQ0hFKTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRzWzFdKTsKKyAgICAg
ICAgZnByaW50ZihmLCAiXG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIHJlY3YgPSBzdGFj
a1slZF07XG4iLCBiLT5zdGFja19zaXplIC0gMik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICBv
YmogPSBzdGFja1slZF07XG4iLCBiLT5zdGFja19zaXplIC0gMSk7CisgICAgICAgIGlmIChib2R5
LT5jYXRjaF9leGNlcHRfcCB8fCBGQUxTRSkgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAg
IHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBuZXh0X3Bvcyk7IC8q
IEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsgKi8KKyAgICAgICAgICAgIHBjX21vdmVkX3AgPSBU
UlVFOworICAgICAgICB9CisgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKKyAg
ICAgICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdf
Y2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsg
MSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAiICAgIHtcbiIpOworICAgICAgICBm
cHJpbnRmKGYsICIgICAgICAgIHZhbCA9IHZtX29wdF9sdChyZWN2LCBvYmopO1xuIik7CisgICAg
ICAgIGZwcmludGYoZiwgIlxuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgaWYgKHZh
bCA9PSBRdW5kZWYpIHtcbiIpOworICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7
CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgICAgICByZWdfY2ZwLT5zcCA9IChWQUxV
RSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgMSk7CisgICAgICAgIH0K
KyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICAgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9i
b2R5X2lzZXEgKyAlZDtcbiIsIHBvcyk7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAg
IGdvdG8gY2FuY2VsO1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgfVxuIik7Cisg
ICAgICAgIGZwcmludGYoZiwgIiAgICB9XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIHN0
YWNrWyVkXSA9IHZhbDtcbiIsIGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5jX29wdF9s
dChjaSwgY2MpIC0gMSk7CisgICAgICAgIGItPnN0YWNrX3NpemUgKz0gYXR0cl9zcF9pbmNfb3B0
X2x0KGNpLCBjYyk7CisgICAgfQorICAgIGZwcmludGYoZiwgIn1cbiIpOworICAgIGJyZWFrOwor
ICBjYXNlIEJJTihvcHRfbGUpOgorICAgIGZwcmludGYoZiwgIntcbiIpOworICAgIHsKKyAgICAg
ICAgTUFZQkVfVU5VU0VEKGludCBwY19tb3ZlZF9wKSA9IEZBTFNFOworICAgICAgICBNQVlCRV9V
TlVTRUQoQ0FMTF9JTkZPIGNpKSA9IChDQUxMX0lORk8pb3BlcmFuZHNbMF07CisgICAgICAgIE1B
WUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKSA9IChDQUxMX0NBQ0hFKW9wZXJhbmRzWzFdOworICAg
ICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAgICAgICBmcHJpbnRmKGYs
ICIgICAgTUFZQkVfVU5VU0VEKHVuc2lnbmVkIGludCkgc3RhY2tfc2l6ZSA9ICV1O1xuIiwgYi0+
c3RhY2tfc2l6ZSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VO
VVNFRChDQUxMX0NBQ0hFKSBjYztcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVf
VU5VU0VEKENBTExfSU5GTykgY2k7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJF
X1VOVVNFRChWQUxVRSkgb2JqLCByZWN2LCB2YWw7XG4iKTsKKworICAgICAgICBmcHJpbnRmKGYs
ICIgICAgY2kgPSAoQ0FMTF9JTkZPKTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRzWzBdKTsKKyAg
ICAgICAgY29tbWVudF9pZChmLCAoKENBTExfSU5GTylvcGVyYW5kc1swXSktPm1pZCk7CisgICAg
ICAgIGZwcmludGYoZiwgIlxuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICBjYyA9IChDQUxM
X0NBQ0hFKTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRzWzFdKTsKKyAgICAgICAgZnByaW50Zihm
LCAiXG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIHJlY3YgPSBzdGFja1slZF07XG4iLCBi
LT5zdGFja19zaXplIC0gMik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICBvYmogPSBzdGFja1sl
ZF07XG4iLCBiLT5zdGFja19zaXplIC0gMSk7CisgICAgICAgIGlmIChib2R5LT5jYXRjaF9leGNl
cHRfcCB8fCBGQUxTRSkgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnBj
ID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBuZXh0X3Bvcyk7IC8qIEFERF9QQyhJTlNO
X0FUVFIod2lkdGgpKTsgKi8KKyAgICAgICAgICAgIHBjX21vdmVkX3AgPSBUUlVFOworICAgICAg
ICB9CisgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKKyAgICAgICAgfQorICAg
ICAgICBlbHNlIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5zcCA9IChW
QUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgMSk7CisgICAgICAg
IH0KKyAgICAgICAgZnByaW50ZihmLCAiICAgIHtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIg
ICAgICAgIHZhbCA9IHZtX29wdF9sZShyZWN2LCBvYmopO1xuIik7CisgICAgICAgIGZwcmludGYo
ZiwgIlxuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgaWYgKHZhbCA9PSBRdW5kZWYp
IHtcbiIpOworICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAgICAg
ICBmcHJpbnRmKGYsICIgICAgICAgICAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAt
PmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgMSk7CisgICAgICAgIH0KKyAgICAgICAgZnBy
aW50ZihmLCAiICAgICAgICAgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAl
ZDtcbiIsIHBvcyk7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgIGdvdG8gY2FuY2Vs
O1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgfVxuIik7CisgICAgICAgIGZwcmlu
dGYoZiwgIiAgICB9XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIHN0YWNrWyVkXSA9IHZh
bDtcbiIsIGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5jX29wdF9sZShjaSwgY2MpIC0g
MSk7CisgICAgICAgIGItPnN0YWNrX3NpemUgKz0gYXR0cl9zcF9pbmNfb3B0X2xlKGNpLCBjYyk7
CisgICAgfQorICAgIGZwcmludGYoZiwgIn1cbiIpOworICAgIGJyZWFrOworICBjYXNlIEJJTihv
cHRfZ3QpOgorICAgIGZwcmludGYoZiwgIntcbiIpOworICAgIHsKKyAgICAgICAgTUFZQkVfVU5V
U0VEKGludCBwY19tb3ZlZF9wKSA9IEZBTFNFOworICAgICAgICBNQVlCRV9VTlVTRUQoQ0FMTF9J
TkZPIGNpKSA9IChDQUxMX0lORk8pb3BlcmFuZHNbMF07CisgICAgICAgIE1BWUJFX1VOVVNFRChD
QUxMX0NBQ0hFIGNjKSA9IChDQUxMX0NBQ0hFKW9wZXJhbmRzWzFdOworICAgICAgICBpZiAoc3Rh
dHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVf
VU5VU0VEKHVuc2lnbmVkIGludCkgc3RhY2tfc2l6ZSA9ICV1O1xuIiwgYi0+c3RhY2tfc2l6ZSk7
CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChDQUxMX0NB
Q0hFKSBjYztcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKENBTExf
SU5GTykgY2k7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChWQUxV
RSkgb2JqLCByZWN2LCB2YWw7XG4iKTsKKworICAgICAgICBmcHJpbnRmKGYsICIgICAgY2kgPSAo
Q0FMTF9JTkZPKTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRzWzBdKTsKKyAgICAgICAgY29tbWVu
dF9pZChmLCAoKENBTExfSU5GTylvcGVyYW5kc1swXSktPm1pZCk7CisgICAgICAgIGZwcmludGYo
ZiwgIlxuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICBjYyA9IChDQUxMX0NBQ0hFKTB4JSJQ
Ukl4VkFMVUUiOyIsIG9wZXJhbmRzWzFdKTsKKyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsKKyAg
ICAgICAgZnByaW50ZihmLCAiICAgIHJlY3YgPSBzdGFja1slZF07XG4iLCBiLT5zdGFja19zaXpl
IC0gMik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICBvYmogPSBzdGFja1slZF07XG4iLCBiLT5z
dGFja19zaXplIC0gMSk7CisgICAgICAgIGlmIChib2R5LT5jYXRjaF9leGNlcHRfcCB8fCBGQUxT
RSkgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxf
Ym9keV9pc2VxICsgJWQ7XG4iLCBuZXh0X3Bvcyk7IC8qIEFERF9QQyhJTlNOX0FUVFIod2lkdGgp
KTsgKi8KKyAgICAgICAgICAgIHBjX21vdmVkX3AgPSBUUlVFOworICAgICAgICB9CisgICAgICAg
IGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKKyAgICAgICAgfQorICAgICAgICBlbHNlIHsK
KyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19j
ZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgMSk7CisgICAgICAgIH0KKyAgICAgICAg
ZnByaW50ZihmLCAiICAgIHtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHZhbCA9
IHZtX29wdF9ndChyZWN2LCBvYmopO1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIlxuIik7Cisg
ICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgaWYgKHZhbCA9PSBRdW5kZWYpIHtcbiIpOworICAg
ICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAgICAgICBmcHJpbnRmKGYs
ICIgICAgICAgICAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4i
LCBiLT5zdGFja19zaXplICsgMSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAiICAg
ICAgICAgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIHBvcyk7
CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgIGdvdG8gY2FuY2VsO1xuIik7CisgICAg
ICAgIGZwcmludGYoZiwgIiAgICAgICAgfVxuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICB9
XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIHN0YWNrWyVkXSA9IHZhbDtcbiIsIGItPnN0
YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5jX29wdF9ndChjaSwgY2MpIC0gMSk7CisgICAgICAg
IGItPnN0YWNrX3NpemUgKz0gYXR0cl9zcF9pbmNfb3B0X2d0KGNpLCBjYyk7CisgICAgfQorICAg
IGZwcmludGYoZiwgIn1cbiIpOworICAgIGJyZWFrOworICBjYXNlIEJJTihvcHRfZ2UpOgorICAg
IGZwcmludGYoZiwgIntcbiIpOworICAgIHsKKyAgICAgICAgTUFZQkVfVU5VU0VEKGludCBwY19t
b3ZlZF9wKSA9IEZBTFNFOworICAgICAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSA9IChD
QUxMX0lORk8pb3BlcmFuZHNbMF07CisgICAgICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNj
KSA9IChDQUxMX0NBQ0hFKW9wZXJhbmRzWzFdOworICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9z
dGFja19wKSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVuc2ln
bmVkIGludCkgc3RhY2tfc2l6ZSA9ICV1O1xuIiwgYi0+c3RhY2tfc2l6ZSk7CisgICAgICAgIH0K
KyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFKSBjYztcbiIp
OworICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTykgY2k7XG4i
KTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgb2JqLCByZWN2
LCB2YWw7XG4iKTsKKworICAgICAgICBmcHJpbnRmKGYsICIgICAgY2kgPSAoQ0FMTF9JTkZPKTB4
JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRzWzBdKTsKKyAgICAgICAgY29tbWVudF9pZChmLCAoKENB
TExfSU5GTylvcGVyYW5kc1swXSktPm1pZCk7CisgICAgICAgIGZwcmludGYoZiwgIlxuIik7Cisg
ICAgICAgIGZwcmludGYoZiwgIiAgICBjYyA9IChDQUxMX0NBQ0hFKTB4JSJQUkl4VkFMVUUiOyIs
IG9wZXJhbmRzWzFdKTsKKyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsKKyAgICAgICAgZnByaW50
ZihmLCAiICAgIHJlY3YgPSBzdGFja1slZF07XG4iLCBiLT5zdGFja19zaXplIC0gMik7CisgICAg
ICAgIGZwcmludGYoZiwgIiAgICBvYmogPSBzdGFja1slZF07XG4iLCBiLT5zdGFja19zaXplIC0g
MSk7CisgICAgICAgIGlmIChib2R5LT5jYXRjaF9leGNlcHRfcCB8fCBGQUxTRSkgeworICAgICAg
ICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsg
JWQ7XG4iLCBuZXh0X3Bvcyk7IC8qIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsgKi8KKyAgICAg
ICAgICAgIHBjX21vdmVkX3AgPSBUUlVFOworICAgICAgICB9CisgICAgICAgIGlmIChzdGF0dXMt
PmxvY2FsX3N0YWNrX3ApIHsKKyAgICAgICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAg
IGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7
XG4iLCBiLT5zdGFja19zaXplICsgMSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAi
ICAgIHtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHZhbCA9IHZtX29wdF9nZShy
ZWN2LCBvYmopO1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIlxuIik7CisgICAgICAgIGZwcmlu
dGYoZiwgIiAgICAgICAgaWYgKHZhbCA9PSBRdW5kZWYpIHtcbiIpOworICAgICAgICBpZiAoc3Rh
dHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgICAg
ICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19z
aXplICsgMSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICAgICAgcmVn
X2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIHBvcyk7CisgICAgICAgIGZw
cmludGYoZiwgIiAgICAgICAgICAgIGdvdG8gY2FuY2VsO1xuIik7CisgICAgICAgIGZwcmludGYo
ZiwgIiAgICAgICAgfVxuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICB9XG4iKTsKKyAgICAg
ICAgZnByaW50ZihmLCAiICAgIHN0YWNrWyVkXSA9IHZhbDtcbiIsIGItPnN0YWNrX3NpemUgKyAo
aW50KWF0dHJfc3BfaW5jX29wdF9nZShjaSwgY2MpIC0gMSk7CisgICAgICAgIGItPnN0YWNrX3Np
emUgKz0gYXR0cl9zcF9pbmNfb3B0X2dlKGNpLCBjYyk7CisgICAgfQorICAgIGZwcmludGYoZiwg
In1cbiIpOworICAgIGJyZWFrOworICBjYXNlIEJJTihvcHRfbHRsdCk6CisgICAgZnByaW50Zihm
LCAie1xuIik7CisgICAgeworICAgICAgICBNQVlCRV9VTlVTRUQoaW50IHBjX21vdmVkX3ApID0g
RkFMU0U7CisgICAgICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpID0gKENBTExfSU5GTylv
cGVyYW5kc1swXTsKKyAgICAgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpID0gKENBTExf
Q0FDSEUpb3BlcmFuZHNbMV07CisgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsK
KyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQodW5zaWduZWQgaW50KSBz
dGFja19zaXplID0gJXU7XG4iLCBiLT5zdGFja19zaXplKTsKKyAgICAgICAgfQorICAgICAgICBm
cHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUpIGNjO1xuIik7CisgICAgICAg
IGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPKSBjaTtcbiIpOworICAgICAg
ICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSBvYmosIHJlY3YsIHZhbDtcbiIp
OworCisgICAgICAgIGZwcmludGYoZiwgIiAgICBjaSA9IChDQUxMX0lORk8pMHglIlBSSXhWQUxV
RSI7Iiwgb3BlcmFuZHNbMF0pOworICAgICAgICBjb21tZW50X2lkKGYsICgoQ0FMTF9JTkZPKW9w
ZXJhbmRzWzBdKS0+bWlkKTsKKyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsKKyAgICAgICAgZnBy
aW50ZihmLCAiICAgIGNjID0gKENBTExfQ0FDSEUpMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNb
MV0pOworICAgICAgICBmcHJpbnRmKGYsICJcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAg
cmVjdiA9IHN0YWNrWyVkXTtcbiIsIGItPnN0YWNrX3NpemUgLSAyKTsKKyAgICAgICAgZnByaW50
ZihmLCAiICAgIG9iaiA9IHN0YWNrWyVkXTtcbiIsIGItPnN0YWNrX3NpemUgLSAxKTsKKyAgICAg
ICAgaWYgKGJvZHktPmNhdGNoX2V4Y2VwdF9wIHx8IEZBTFNFKSB7CisgICAgICAgICAgICBmcHJp
bnRmKGYsICIgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5l
eHRfcG9zKTsgLyogQUREX1BDKElOU05fQVRUUih3aWR0aCkpOyAqLworICAgICAgICAgICAgcGNf
bW92ZWRfcCA9IFRSVUU7CisgICAgICAgIH0KKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3Rh
Y2tfcCkgeworICAgICAgICB9CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgZnByaW50Zihm
LCAiICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0
YWNrX3NpemUgKyAxKTsKKyAgICAgICAgfQorICAgICAgICBmcHJpbnRmKGYsICIgICAge1xuIik7
CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgdmFsID0gdm1fb3B0X2x0bHQocmVjdiwgb2Jq
KTtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICJcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIg
ICAgICAgIGlmICh2YWwgPT0gUXVuZGVmKSB7XG4iKTsKKyAgICAgICAgaWYgKHN0YXR1cy0+bG9j
YWxfc3RhY2tfcCkgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgICAgICAgICAgcmVnX2Nm
cC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEp
OworICAgICAgICB9CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgIHJlZ19jZnAtPnBj
ID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBwb3MpOworICAgICAgICBmcHJpbnRmKGYs
ICIgICAgICAgICAgICBnb3RvIGNhbmNlbDtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAg
ICAgIH1cbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgfVxuIik7CisgICAgICAgIGZwcmlu
dGYoZiwgIiAgICBzdGFja1slZF0gPSB2YWw7XG4iLCBiLT5zdGFja19zaXplICsgKGludClhdHRy
X3NwX2luY19vcHRfbHRsdChjaSwgY2MpIC0gMSk7CisgICAgICAgIGItPnN0YWNrX3NpemUgKz0g
YXR0cl9zcF9pbmNfb3B0X2x0bHQoY2ksIGNjKTsKKyAgICB9CisgICAgZnByaW50ZihmLCAifVxu
Iik7CisgICAgYnJlYWs7CisgIGNhc2UgQklOKG9wdF9hbmQpOgorICAgIGZwcmludGYoZiwgIntc
biIpOworICAgIHsKKyAgICAgICAgTUFZQkVfVU5VU0VEKGludCBwY19tb3ZlZF9wKSA9IEZBTFNF
OworICAgICAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSA9IChDQUxMX0lORk8pb3BlcmFu
ZHNbMF07CisgICAgICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKSA9IChDQUxMX0NBQ0hF
KW9wZXJhbmRzWzFdOworICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAg
ICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVuc2lnbmVkIGludCkgc3RhY2tf
c2l6ZSA9ICV1O1xuIiwgYi0+c3RhY2tfc2l6ZSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50
ZihmLCAiICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFKSBjYztcbiIpOworICAgICAgICBmcHJp
bnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTykgY2k7XG4iKTsKKyAgICAgICAgZnBy
aW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgb2JqLCByZWN2LCB2YWw7XG4iKTsKKwor
ICAgICAgICBmcHJpbnRmKGYsICIgICAgY2kgPSAoQ0FMTF9JTkZPKTB4JSJQUkl4VkFMVUUiOyIs
IG9wZXJhbmRzWzBdKTsKKyAgICAgICAgY29tbWVudF9pZChmLCAoKENBTExfSU5GTylvcGVyYW5k
c1swXSktPm1pZCk7CisgICAgICAgIGZwcmludGYoZiwgIlxuIik7CisgICAgICAgIGZwcmludGYo
ZiwgIiAgICBjYyA9IChDQUxMX0NBQ0hFKTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRzWzFdKTsK
KyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIHJlY3Yg
PSBzdGFja1slZF07XG4iLCBiLT5zdGFja19zaXplIC0gMik7CisgICAgICAgIGZwcmludGYoZiwg
IiAgICBvYmogPSBzdGFja1slZF07XG4iLCBiLT5zdGFja19zaXplIC0gMSk7CisgICAgICAgIGlm
IChib2R5LT5jYXRjaF9leGNlcHRfcCB8fCBGQUxTRSkgeworICAgICAgICAgICAgZnByaW50Zihm
LCAiICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBuZXh0X3Bv
cyk7IC8qIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsgKi8KKyAgICAgICAgICAgIHBjX21vdmVk
X3AgPSBUUlVFOworICAgICAgICB9CisgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3Ap
IHsKKyAgICAgICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAg
ICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19z
aXplICsgMSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAiICAgIHtcbiIpOworICAg
ICAgICBmcHJpbnRmKGYsICIgICAgICAgIHZhbCA9IHZtX29wdF9hbmQocmVjdiwgb2JqKTtcbiIp
OworICAgICAgICBmcHJpbnRmKGYsICJcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAg
IGlmICh2YWwgPT0gUXVuZGVmKSB7XG4iKTsKKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3Rh
Y2tfcCkgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgICAgICAgICAgcmVnX2NmcC0+c3Ag
PSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEpOworICAg
ICAgICB9CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgIHJlZ19jZnAtPnBjID0gb3Jp
Z2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBwb3MpOworICAgICAgICBmcHJpbnRmKGYsICIgICAg
ICAgICAgICBnb3RvIGNhbmNlbDtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIH1c
biIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgfVxuIik7CisgICAgICAgIGZwcmludGYoZiwg
IiAgICBzdGFja1slZF0gPSB2YWw7XG4iLCBiLT5zdGFja19zaXplICsgKGludClhdHRyX3NwX2lu
Y19vcHRfYW5kKGNpLCBjYykgLSAxKTsKKyAgICAgICAgYi0+c3RhY2tfc2l6ZSArPSBhdHRyX3Nw
X2luY19vcHRfYW5kKGNpLCBjYyk7CisgICAgfQorICAgIGZwcmludGYoZiwgIn1cbiIpOworICAg
IGJyZWFrOworICBjYXNlIEJJTihvcHRfb3IpOgorICAgIGZwcmludGYoZiwgIntcbiIpOworICAg
IHsKKyAgICAgICAgTUFZQkVfVU5VU0VEKGludCBwY19tb3ZlZF9wKSA9IEZBTFNFOworICAgICAg
ICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSA9IChDQUxMX0lORk8pb3BlcmFuZHNbMF07Cisg
ICAgICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKSA9IChDQUxMX0NBQ0hFKW9wZXJhbmRz
WzFdOworICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAgICAgICBm
cHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVuc2lnbmVkIGludCkgc3RhY2tfc2l6ZSA9ICV1
O1xuIiwgYi0+c3RhY2tfc2l6ZSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAiICAg
IE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFKSBjYztcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIg
ICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTykgY2k7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAi
ICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgb2JqLCByZWN2LCB2YWw7XG4iKTsKKworICAgICAgICBm
cHJpbnRmKGYsICIgICAgY2kgPSAoQ0FMTF9JTkZPKTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRz
WzBdKTsKKyAgICAgICAgY29tbWVudF9pZChmLCAoKENBTExfSU5GTylvcGVyYW5kc1swXSktPm1p
ZCk7CisgICAgICAgIGZwcmludGYoZiwgIlxuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICBj
YyA9IChDQUxMX0NBQ0hFKTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRzWzFdKTsKKyAgICAgICAg
ZnByaW50ZihmLCAiXG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIHJlY3YgPSBzdGFja1sl
ZF07XG4iLCBiLT5zdGFja19zaXplIC0gMik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICBvYmog
PSBzdGFja1slZF07XG4iLCBiLT5zdGFja19zaXplIC0gMSk7CisgICAgICAgIGlmIChib2R5LT5j
YXRjaF9leGNlcHRfcCB8fCBGQUxTRSkgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJl
Z19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBuZXh0X3Bvcyk7IC8qIEFE
RF9QQyhJTlNOX0FUVFIod2lkdGgpKTsgKi8KKyAgICAgICAgICAgIHBjX21vdmVkX3AgPSBUUlVF
OworICAgICAgICB9CisgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKKyAgICAg
ICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2Zw
LT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgMSk7
CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAiICAgIHtcbiIpOworICAgICAgICBmcHJp
bnRmKGYsICIgICAgICAgIHZhbCA9IHZtX29wdF9vcihyZWN2LCBvYmopO1xuIik7CisgICAgICAg
IGZwcmludGYoZiwgIlxuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgaWYgKHZhbCA9
PSBRdW5kZWYpIHtcbiIpOworICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cisg
ICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgICAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAq
KXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgMSk7CisgICAgICAgIH0KKyAg
ICAgICAgZnByaW50ZihmLCAiICAgICAgICAgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5
X2lzZXEgKyAlZDtcbiIsIHBvcyk7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgIGdv
dG8gY2FuY2VsO1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgfVxuIik7CisgICAg
ICAgIGZwcmludGYoZiwgIiAgICB9XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIHN0YWNr
WyVkXSA9IHZhbDtcbiIsIGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5jX29wdF9vcihj
aSwgY2MpIC0gMSk7CisgICAgICAgIGItPnN0YWNrX3NpemUgKz0gYXR0cl9zcF9pbmNfb3B0X29y
KGNpLCBjYyk7CisgICAgfQorICAgIGZwcmludGYoZiwgIn1cbiIpOworICAgIGJyZWFrOworICBj
YXNlIEJJTihvcHRfYXJlZik6Cit7CisgICAgTUFZQkVfVU5VU0VEKGludCBwY19tb3ZlZF9wKSA9
IEZBTFNFOworICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpID0gKENBTExfSU5GTylvcGVy
YW5kc1swXTsKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykgPSAoQ0FMTF9DQUNIRSlv
cGVyYW5kc1sxXTsKKyAgICBDQUxMX0NBQ0hFIGNjX2NvcHkgPSBzdGF0dXMtPmNjX2VudHJpZXMg
KyAoY2MgLSBib2R5LT5jY19lbnRyaWVzKTsKKyAgICBpZiAoaGFzX3ZhbGlkX21ldGhvZF90eXBl
KGNjX2NvcHkpKSB7CisgICAgICAgIGNvbnN0IHJiX2lzZXFfdCAqaXNlcTsKKyAgICAgICAgdW5z
aWduZWQgaW50IGFyZ2MgPSBjaS0+b3JpZ19hcmdjOyAvKiB1bmxpa2UgYGNpLT5vcmlnX2FyZ2Ng
LCBgYXJnY2AgbWF5IGluY2x1ZGUgYmxvY2thcmcgKi8KKworICAgICAgICBpZiAoIShjaS0+Zmxh
ZyAmIFZNX0NBTExfVEFJTENBTEwpICYmIC8qIGlubGluaW5nIG5vbi10YWlsY2FsbCBwYXRoICov
CisgICAgICAgICAgICBjY19jb3B5LT5tZS0+ZGVmLT50eXBlID09IFZNX01FVEhPRF9UWVBFX0lT
RVEgJiYgaW5saW5hYmxlX2lzZXFfcChjaSwgY2NfY29weSwgaXNlcSA9IGRlZl9pc2VxX3B0cihj
Y19jb3B5LT5tZS0+ZGVmKSkgLyogQ0NfU0VUX0ZBU1RQQVRIIGluIHZtX2NhbGxlZV9zZXR1cF9h
cmcgKi8pIHsKKyAgICAgICAgICAgIGludCBwYXJhbV9zaXplID0gaXNlcS0+Ym9keS0+cGFyYW0u
c2l6ZTsgLyogVE9ETzogY2hlY2sgY2FsbGluZy0+YXJnYyBmb3IgYXJndW1lbnRfYXJpdHlfZXJy
b3IgKi8KKworICAgICAgICAgICAgZnByaW50ZihmLCAie1xuIik7CisgICAgICAgICAgICBpZiAo
c3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAgICAgICAgICAgZnByaW50ZihmLCAiICAg
IE1BWUJFX1VOVVNFRCh1bnNpZ25lZCBpbnQpIHN0YWNrX3NpemUgPSAldTtcbiIsIGItPnN0YWNr
X3NpemUpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgaWYg
KFVOTElLRUxZKEdFVF9HTE9CQUxfTUVUSE9EX1NUQVRFKCkgIT0gJSJQUklfU0VSSUFMVF9QUkVG
SVgidSB8fFxuIiwgY2NfY29weS0+bWV0aG9kX3N0YXRlKTsKKyAgICAgICAgICAgIGZwcmludGYo
ZiwgIiAgICAgICAgUkNMQVNTX1NFUklBTChDTEFTU19PRihzdGFja1slZF0pKSAhPSAlIlBSSV9T
RVJJQUxUX1BSRUZJWCJ1KSkge1xuIiwgYi0+c3RhY2tfc2l6ZSAtIDEgLSBhcmdjLCBjY19jb3B5
LT5jbGFzc19zZXJpYWwpOworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgICAgICByZWdfY2Zw
LT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgcG9zKTsKKyAgICAgICAgICAgIGZw
cmludGYoZiwgIiAgICAgICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVk
O1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEpOworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgICAg
ICBnb3RvIGNhbmNlbDtcbiIpOworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIpOwor
CisgICAgICAgIGlmIChib2R5LT5jYXRjaF9leGNlcHRfcCB8fCBUUlVFKSB7CisgICAgICAgICAg
ICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtc
biIsIG5leHRfcG9zKTsgLyogQUREX1BDKElOU05fQVRUUih3aWR0aCkpOyAqLworICAgICAgICAg
ICAgcGNfbW92ZWRfcCA9IFRSVUU7CisgICAgICAgIH0KKyAgICAgICAgaWYgKHN0YXR1cy0+bG9j
YWxfc3RhY2tfcCkgeworICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHJiX3NudW1fdCBp
LCBwdXNoX3NpemU7CisgICAgICAgICAgICAgICAgcHVzaF9zaXplID0gLWF0dHJfc3BfaW5jX29w
dF9zZW5kX3dpdGhvdXRfYmxvY2soY2ksIGNjKSArIDEgLSAwOworICAgICAgICAgICAgICAgIGZw
cmludGYoZiwgIiAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWxkICsg
MTtcbiIsIHB1c2hfc2l6ZSk7IC8qIFBPUE4oSU5TTl9BVFRSKHBvcG4pKTsgKi8KKyAgICAgICAg
ICAgICAgICBmb3IgKGkgPSAwOyBpIDwgcHVzaF9zaXplOyBpKyspIHsKKyAgICAgICAgICAgICAg
ICAgICAgZnByaW50ZihmLCAiICAgICoocmVnX2NmcC0+c3AgKyAlbGQpID0gc3RhY2tbJWxkXTtc
biIsIGkgLSBwdXNoX3NpemUsIChyYl9zbnVtX3QpYi0+c3RhY2tfc2l6ZSAtIHB1c2hfc2l6ZSAr
IGkpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAg
ICBlbHNlIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5zcCA9IChWQUxV
RSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgMSAtIDApOyAvKiBQT1BO
KElOU05fQVRUUihwb3BuKSk7ICovCisgICAgICAgIH0KKworICAgICAgICAgICAgZnByaW50Zihm
LCAiICAgIHtcbiIpOworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgICAgICBzdHJ1Y3QgcmJf
Y2FsbGluZ19pbmZvIGNhbGxpbmc7XG4iKTsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICAg
ICAgY2FsbGluZy5ibG9ja19oYW5kbGVyID0gVk1fQkxPQ0tfSEFORExFUl9OT05FO1xuIik7Cisg
ICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIGNhbGxpbmcuYXJnYyA9ICVkO1xuIiwgY2kt
Pm9yaWdfYXJnYyk7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIGNhbGxpbmcucmVj
diA9IHN0YWNrWyVkXTtcbiIsIGItPnN0YWNrX3NpemUgLSAxIC0gYXJnYyk7CisKKyAgICAgICAg
ICAgIGZwcmludGYoZiwgIiAgICAgICAge1xuIik7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIg
ICAgICAgICAgICBWQUxVRSB2O1xuIik7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgICAg
ICAgICB2bV9jYWxsX2lzZXFfc2V0dXBfbm9ybWFsKGVjLCByZWdfY2ZwLCAmY2FsbGluZywgKGNv
bnN0IHJiX2NhbGxhYmxlX21ldGhvZF9lbnRyeV90ICopMHglIlBSSXhWQUxVRSIsIDAsICVkLCAl
ZCk7XG4iLAorICAgICAgICAgICAgICAgICAgICAoVkFMVUUpY2NfY29weS0+bWUsIHBhcmFtX3Np
emUsIGlzZXEtPmJvZHktPmxvY2FsX3RhYmxlX3NpemUpOyAvKiByYl9zaW1wbGVfaXNlcV9wIGNo
ZWNrcyByYl9zaW1wbGVfaXNlcV9wLCB3aGljaCBlbnN1cmVzIGhhc19vcHQgPT0gRkFMU0UgKi8K
KyAgICAgICAgICAgIGlmIChpc2VxLT5ib2R5LT5jYXRjaF9leGNlcHRfcCkgeworICAgICAgICAg
ICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgIFZNX0VOVl9GTEFHU19TRVQoZWMtPmNmcC0+
ZXAsIFZNX0ZSQU1FX0ZMQUdfRklOSVNIKTtcbiIpOworICAgICAgICAgICAgICAgIGZwcmludGYo
ZiwgIiAgICAgICAgICAgIHYgPSB2bV9leGVjKGVjLCBUUlVFKTtcbiIpOworICAgICAgICAgICAg
fQorICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgZnByaW50ZihmLCAiICAgICAg
ICAgICAgaWYgKCh2ID0gbWppdF9leGVjKGVjKSkgPT0gUXVuZGVmKSB7XG4iKTsKKyAgICAgICAg
ICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgICAgICAgICAgVk1fRU5WX0ZMQUdTX1NFVChlYy0+
Y2ZwLT5lcCwgVk1fRlJBTUVfRkxBR19GSU5JU0gpO1xuIik7IC8qIFRoaXMgaXMgdm1fY2FsbDBf
Ym9keSdzIGNvZGUgYWZ0ZXIgdm1fY2FsbF9pc2VxX3NldHVwICovCisgICAgICAgICAgICAgICAg
ZnByaW50ZihmLCAiICAgICAgICAgICAgICAgIHYgPSB2bV9leGVjKGVjLCBGQUxTRSk7XG4iKTsK
KyAgICAgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgICAgICB9XG4iKTsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgIHN0YWNrWyVkXSA9IHY7
XG4iLCBiLT5zdGFja19zaXplIC0gYXJnYyAtIDEpOworICAgICAgICAgICAgZnByaW50ZihmLCAi
ICAgICAgICB9XG4iKTsKKworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIpOworCisg
ICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgaWYgKFVOTElLRUxZKHJ1Ynlfdm1fZXZlbnRfZW5h
YmxlZF9nbG9iYWxfZmxhZ3MgJiBJU0VRX1RSQUNFX0VWRU5UUykpIHtcbiIpOworICAgICAgICAg
ICAgZnByaW50ZihmLCAiICAgICAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJw
ICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgKGludClhdHRyX3NwX2luY19vcHRfc2VuZF93aXRo
b3V0X2Jsb2NrKGNpLCBjYykgKyAxKTsKKyAgICAgICAgICAgIGlmICghcGNfbW92ZWRfcCkgewor
ICAgICAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5h
bF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIGZwcmludGYoZiwgIiAgICAgICAgZ290byBjYW5jZWw7XG4iKTsKKyAgICAgICAgICAgIGZw
cmludGYoZiwgIiAgICB9XG4iKTsKKworICAgICAgICAgICAgYi0+c3RhY2tfc2l6ZSArPSBhdHRy
X3NwX2luY19vcHRfc2VuZF93aXRob3V0X2Jsb2NrKGNpLCBjYyk7CisKKyAgICAgICAgICAgIGZw
cmludGYoZiwgIn1cbiIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9Cit9
CisgICAgZnByaW50ZihmLCAie1xuIik7CisgICAgeworICAgICAgICBNQVlCRV9VTlVTRUQoaW50
IHBjX21vdmVkX3ApID0gRkFMU0U7CisgICAgICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kp
ID0gKENBTExfSU5GTylvcGVyYW5kc1swXTsKKyAgICAgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FD
SEUgY2MpID0gKENBTExfQ0FDSEUpb3BlcmFuZHNbMV07CisgICAgICAgIGlmIChzdGF0dXMtPmxv
Y2FsX3N0YWNrX3ApIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQo
dW5zaWduZWQgaW50KSBzdGFja19zaXplID0gJXU7XG4iLCBiLT5zdGFja19zaXplKTsKKyAgICAg
ICAgfQorICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUpIGNj
O1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPKSBj
aTtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSBvYmos
IHJlY3YsIHZhbDtcbiIpOworCisgICAgICAgIGZwcmludGYoZiwgIiAgICBjaSA9IChDQUxMX0lO
Rk8pMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNbMF0pOworICAgICAgICBjb21tZW50X2lkKGYs
ICgoQ0FMTF9JTkZPKW9wZXJhbmRzWzBdKS0+bWlkKTsKKyAgICAgICAgZnByaW50ZihmLCAiXG4i
KTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIGNjID0gKENBTExfQ0FDSEUpMHglIlBSSXhWQUxV
RSI7Iiwgb3BlcmFuZHNbMV0pOworICAgICAgICBmcHJpbnRmKGYsICJcbiIpOworICAgICAgICBm
cHJpbnRmKGYsICIgICAgcmVjdiA9IHN0YWNrWyVkXTtcbiIsIGItPnN0YWNrX3NpemUgLSAyKTsK
KyAgICAgICAgZnByaW50ZihmLCAiICAgIG9iaiA9IHN0YWNrWyVkXTtcbiIsIGItPnN0YWNrX3Np
emUgLSAxKTsKKyAgICAgICAgaWYgKGJvZHktPmNhdGNoX2V4Y2VwdF9wIHx8IFRSVUUpIHsKKyAg
ICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNl
cSArICVkO1xuIiwgbmV4dF9wb3MpOyAvKiBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7ICovCisg
ICAgICAgICAgICBwY19tb3ZlZF9wID0gVFJVRTsKKyAgICAgICAgfQorICAgICAgICBpZiAoc3Rh
dHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAgICAg
ICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCAr
ICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEpOworICAgICAgICB9CisgICAgICAgIGZwcmludGYo
ZiwgIiAgICB7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICB2YWwgPSB2bV9vcHRf
YXJlZihyZWN2LCBvYmopO1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIlxuIik7CisgICAgICAg
IGZwcmludGYoZiwgIiAgICAgICAgaWYgKHZhbCA9PSBRdW5kZWYpIHtcbiIpOworICAgICAgICBp
ZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAg
ICAgICAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5z
dGFja19zaXplICsgMSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICAg
ICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIHBvcyk7CisgICAg
ICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgIGdvdG8gY2FuY2VsO1xuIik7CisgICAgICAgIGZw
cmludGYoZiwgIiAgICAgICAgfVxuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICB9XG4iKTsK
KyAgICAgICAgZnByaW50ZihmLCAiICAgIHN0YWNrWyVkXSA9IHZhbDtcbiIsIGItPnN0YWNrX3Np
emUgKyAoaW50KWF0dHJfc3BfaW5jX29wdF9hcmVmKGNpLCBjYykgLSAxKTsKKyAgICAgICAgZnBy
aW50ZihmLCAiICAgIGlmIChVTkxJS0VMWShydWJ5X3ZtX2V2ZW50X2VuYWJsZWRfZ2xvYmFsX2Zs
YWdzICYgSVNFUV9UUkFDRV9FVkVOVFMpKSB7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAg
ICAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFj
a19zaXplICsgKGludClhdHRyX3NwX2luY19vcHRfYXJlZihjaSwgY2MpICsgMSk7CisgICAgICAg
IGlmICghcGNfbW92ZWRfcCkgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgICAgICByZWdf
Y2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3MpOworICAgICAg
ICB9CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgZ290byBjYW5jZWw7XG4iKTsKKyAgICAg
ICAgZnByaW50ZihmLCAiICAgIH1cbiIpOworICAgICAgICBiLT5zdGFja19zaXplICs9IGF0dHJf
c3BfaW5jX29wdF9hcmVmKGNpLCBjYyk7CisgICAgfQorICAgIGZwcmludGYoZiwgIn1cbiIpOwor
ICAgIGJyZWFrOworICBjYXNlIEJJTihvcHRfYXNldCk6CisgICAgZnByaW50ZihmLCAie1xuIik7
CisgICAgeworICAgICAgICBNQVlCRV9VTlVTRUQoaW50IHBjX21vdmVkX3ApID0gRkFMU0U7Cisg
ICAgICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpID0gKENBTExfSU5GTylvcGVyYW5kc1sw
XTsKKyAgICAgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpID0gKENBTExfQ0FDSEUpb3Bl
cmFuZHNbMV07CisgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKKyAgICAgICAg
ICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQodW5zaWduZWQgaW50KSBzdGFja19zaXpl
ID0gJXU7XG4iLCBiLT5zdGFja19zaXplKTsKKyAgICAgICAgfQorICAgICAgICBmcHJpbnRmKGYs
ICIgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUpIGNjO1xuIik7CisgICAgICAgIGZwcmludGYo
ZiwgIiAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPKSBjaTtcbiIpOworICAgICAgICBmcHJpbnRm
KGYsICIgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSBvYmosIHJlY3YsIHNldCwgdmFsO1xuIik7CisK
KyAgICAgICAgZnByaW50ZihmLCAiICAgIGNpID0gKENBTExfSU5GTykweCUiUFJJeFZBTFVFIjsi
LCBvcGVyYW5kc1swXSk7CisgICAgICAgIGNvbW1lbnRfaWQoZiwgKChDQUxMX0lORk8pb3BlcmFu
ZHNbMF0pLT5taWQpOworICAgICAgICBmcHJpbnRmKGYsICJcbiIpOworICAgICAgICBmcHJpbnRm
KGYsICIgICAgY2MgPSAoQ0FMTF9DQUNIRSkweCUiUFJJeFZBTFVFIjsiLCBvcGVyYW5kc1sxXSk7
CisgICAgICAgIGZwcmludGYoZiwgIlxuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICByZWN2
ID0gc3RhY2tbJWRdO1xuIiwgYi0+c3RhY2tfc2l6ZSAtIDMpOworICAgICAgICBmcHJpbnRmKGYs
ICIgICAgb2JqID0gc3RhY2tbJWRdO1xuIiwgYi0+c3RhY2tfc2l6ZSAtIDIpOworICAgICAgICBm
cHJpbnRmKGYsICIgICAgc2V0ID0gc3RhY2tbJWRdO1xuIiwgYi0+c3RhY2tfc2l6ZSAtIDEpOwor
ICAgICAgICBpZiAoYm9keS0+Y2F0Y2hfZXhjZXB0X3AgfHwgVFJVRSkgeworICAgICAgICAgICAg
ZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4i
LCBuZXh0X3Bvcyk7IC8qIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsgKi8KKyAgICAgICAgICAg
IHBjX21vdmVkX3AgPSBUUlVFOworICAgICAgICB9CisgICAgICAgIGlmIChzdGF0dXMtPmxvY2Fs
X3N0YWNrX3ApIHsKKyAgICAgICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIGZwcmlu
dGYoZiwgIiAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBi
LT5zdGFja19zaXplICsgMSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAiICAgIHtc
biIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHZhbCA9IHZtX29wdF9hc2V0KHJlY3Ys
IG9iaiwgc2V0KTtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICJcbiIpOworICAgICAgICBmcHJp
bnRmKGYsICIgICAgICAgIGlmICh2YWwgPT0gUXVuZGVmKSB7XG4iKTsKKyAgICAgICAgaWYgKHN0
YXR1cy0+bG9jYWxfc3RhY2tfcCkgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgICAgICAg
ICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tf
c2l6ZSArIDEpOworICAgICAgICB9CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgIHJl
Z19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBwb3MpOworICAgICAgICBm
cHJpbnRmKGYsICIgICAgICAgICAgICBnb3RvIGNhbmNlbDtcbiIpOworICAgICAgICBmcHJpbnRm
KGYsICIgICAgICAgIH1cbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgfVxuIik7CisgICAg
ICAgIGZwcmludGYoZiwgIiAgICBzdGFja1slZF0gPSB2YWw7XG4iLCBiLT5zdGFja19zaXplICsg
KGludClhdHRyX3NwX2luY19vcHRfYXNldChjaSwgY2MpIC0gMSk7CisgICAgICAgIGZwcmludGYo
ZiwgIiAgICBpZiAoVU5MSUtFTFkocnVieV92bV9ldmVudF9lbmFibGVkX2dsb2JhbF9mbGFncyAm
IElTRVFfVFJBQ0VfRVZFTlRTKSkge1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAg
cmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6
ZSArIChpbnQpYXR0cl9zcF9pbmNfb3B0X2FzZXQoY2ksIGNjKSArIDEpOworICAgICAgICBpZiAo
IXBjX21vdmVkX3ApIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgcmVnX2NmcC0+
cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsKKyAgICAgICAgfQor
ICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIGdvdG8gY2FuY2VsO1xuIik7CisgICAgICAgIGZw
cmludGYoZiwgIiAgICB9XG4iKTsKKyAgICAgICAgYi0+c3RhY2tfc2l6ZSArPSBhdHRyX3NwX2lu
Y19vcHRfYXNldChjaSwgY2MpOworICAgIH0KKyAgICBmcHJpbnRmKGYsICJ9XG4iKTsKKyAgICBi
cmVhazsKKyAgY2FzZSBCSU4ob3B0X2FzZXRfd2l0aCk6CisgICAgZnByaW50ZihmLCAie1xuIik7
CisgICAgeworICAgICAgICBNQVlCRV9VTlVTRUQoaW50IHBjX21vdmVkX3ApID0gRkFMU0U7Cisg
ICAgICAgIE1BWUJFX1VOVVNFRChWQUxVRSBrZXkpID0gKFZBTFVFKW9wZXJhbmRzWzBdOworICAg
ICAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSA9IChDQUxMX0lORk8pb3BlcmFuZHNbMV07
CisgICAgICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKSA9IChDQUxMX0NBQ0hFKW9wZXJh
bmRzWzJdOworICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAgICAg
ICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVuc2lnbmVkIGludCkgc3RhY2tfc2l6ZSA9
ICV1O1xuIiwgYi0+c3RhY2tfc2l6ZSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAi
ICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFKSBjYztcbiIpOworICAgICAgICBmcHJpbnRmKGYs
ICIgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTykgY2k7XG4iKTsKKyAgICAgICAgZnByaW50Zihm
LCAiICAgIE1BWUJFX1VOVVNFRChWQUxVRSkga2V5LCByZWN2LCB2YWw7XG4iKTsKKworICAgICAg
ICBmcHJpbnRmKGYsICIgICAga2V5ID0gKFZBTFVFKTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRz
WzBdKTsKKyAgICAgICAgaWYgKFNZTUJPTF9QKChWQUxVRSlvcGVyYW5kc1swXSkpIGNvbW1lbnRf
aWQoZiwgU1lNMklEKChWQUxVRSlvcGVyYW5kc1swXSkpOworICAgICAgICBmcHJpbnRmKGYsICJc
biIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgY2kgPSAoQ0FMTF9JTkZPKTB4JSJQUkl4VkFM
VUUiOyIsIG9wZXJhbmRzWzFdKTsKKyAgICAgICAgY29tbWVudF9pZChmLCAoKENBTExfSU5GTylv
cGVyYW5kc1sxXSktPm1pZCk7CisgICAgICAgIGZwcmludGYoZiwgIlxuIik7CisgICAgICAgIGZw
cmludGYoZiwgIiAgICBjYyA9IChDQUxMX0NBQ0hFKTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRz
WzJdKTsKKyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAg
IHJlY3YgPSBzdGFja1slZF07XG4iLCBiLT5zdGFja19zaXplIC0gMik7CisgICAgICAgIGZwcmlu
dGYoZiwgIiAgICB2YWwgPSBzdGFja1slZF07XG4iLCBiLT5zdGFja19zaXplIC0gMSk7CisgICAg
ICAgIGlmIChib2R5LT5jYXRjaF9leGNlcHRfcCB8fCBUUlVFKSB7CisgICAgICAgICAgICBmcHJp
bnRmKGYsICIgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5l
eHRfcG9zKTsgLyogQUREX1BDKElOU05fQVRUUih3aWR0aCkpOyAqLworICAgICAgICAgICAgcGNf
bW92ZWRfcCA9IFRSVUU7CisgICAgICAgIH0KKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3Rh
Y2tfcCkgeworICAgICAgICB9CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgZnByaW50Zihm
LCAiICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0
YWNrX3NpemUgKyAxKTsKKyAgICAgICAgfQorICAgICAgICBmcHJpbnRmKGYsICIgICAge1xuIik7
CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgVkFMVUUgdG1wID0gdm1fb3B0X2FzZXRfd2l0
aChyZWN2LCBrZXksIHZhbCk7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsKKyAgICAg
ICAgZnByaW50ZihmLCAiICAgICAgICBpZiAodG1wICE9IFF1bmRlZikge1xuIik7CisgICAgICAg
IGZwcmludGYoZiwgIiAgICAgICAgICAgIHZhbCA9IHRtcDtcbiIpOworICAgICAgICBmcHJpbnRm
KGYsICIgICAgICAgIH1cbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIGVsc2Uge1xu
Iik7CisgICAgICAgIGZwcmludGYoZiwgIiNpZm5kZWYgTUpJVF9IRUFERVJcbiIpOworICAgICAg
ICBmcHJpbnRmKGYsICIgICAgICAgICAgICAlcyA9IHJiX3N0cl9yZXN1cnJlY3Qoa2V5KTtcbiIs
CisgICAgICAgICAgICAgIChzdGF0dXMtPmxvY2FsX3N0YWNrX3AgPyAiKihzdGFjayArIChzdGFj
a19zaXplIC0gKDApIC0gMSkpIiA6ICJUT1BOKDApIikpOworICAgICAgICBmcHJpbnRmKGYsICIg
ICAgICAgICAgICBQVVNIKHZhbCk7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiI2VuZGlmXG4i
KTsKKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgeworICAgICAgICAgICAgZnBy
aW50ZihmLCAiICAgICAgICAgICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCAr
ICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEpOworICAgICAgICB9CisgICAgICAgIGZwcmludGYo
ZiwgIiAgICAgICAgICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4i
LCBwb3MpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgICAgICBnb3RvIGNhbmNlbDtcbiIp
OworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIH1cbiIpOworICAgICAgICBmcHJpbnRmKGYs
ICIgICAgfVxuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICBzdGFja1slZF0gPSB2YWw7XG4i
LCBiLT5zdGFja19zaXplICsgKGludClhdHRyX3NwX2luY19vcHRfYXNldF93aXRoKGtleSwgY2ks
IGNjKSAtIDEpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgaWYgKFVOTElLRUxZKHJ1Ynlfdm1f
ZXZlbnRfZW5hYmxlZF9nbG9iYWxfZmxhZ3MgJiBJU0VRX1RSQUNFX0VWRU5UUykpIHtcbiIpOwor
ICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2Nm
cC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5jX29wdF9hc2V0
X3dpdGgoa2V5LCBjaSwgY2MpICsgMSk7CisgICAgICAgIGlmICghcGNfbW92ZWRfcCkgeworICAg
ICAgICAgICAgZnByaW50ZihmLCAiICAgICAgICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlf
aXNlcSArICVkO1xuIiwgbmV4dF9wb3MpOworICAgICAgICB9CisgICAgICAgIGZwcmludGYoZiwg
IiAgICAgICAgZ290byBjYW5jZWw7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIp
OworICAgICAgICBiLT5zdGFja19zaXplICs9IGF0dHJfc3BfaW5jX29wdF9hc2V0X3dpdGgoa2V5
LCBjaSwgY2MpOworICAgIH0KKyAgICBmcHJpbnRmKGYsICJ9XG4iKTsKKyAgICBicmVhazsKKyAg
Y2FzZSBCSU4ob3B0X2FyZWZfd2l0aCk6CisgICAgZnByaW50ZihmLCAie1xuIik7CisgICAgewor
ICAgICAgICBNQVlCRV9VTlVTRUQoaW50IHBjX21vdmVkX3ApID0gRkFMU0U7CisgICAgICAgIE1B
WUJFX1VOVVNFRChWQUxVRSBrZXkpID0gKFZBTFVFKW9wZXJhbmRzWzBdOworICAgICAgICBNQVlC
RV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSA9IChDQUxMX0lORk8pb3BlcmFuZHNbMV07CisgICAgICAg
IE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKSA9IChDQUxMX0NBQ0hFKW9wZXJhbmRzWzJdOwor
ICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAgICAgICBmcHJpbnRm
KGYsICIgICAgTUFZQkVfVU5VU0VEKHVuc2lnbmVkIGludCkgc3RhY2tfc2l6ZSA9ICV1O1xuIiwg
Yi0+c3RhY2tfc2l6ZSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJF
X1VOVVNFRChDQUxMX0NBQ0hFKSBjYztcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZ
QkVfVU5VU0VEKENBTExfSU5GTykgY2k7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1B
WUJFX1VOVVNFRChWQUxVRSkga2V5LCByZWN2LCB2YWw7XG4iKTsKKworICAgICAgICBmcHJpbnRm
KGYsICIgICAga2V5ID0gKFZBTFVFKTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRzWzBdKTsKKyAg
ICAgICAgaWYgKFNZTUJPTF9QKChWQUxVRSlvcGVyYW5kc1swXSkpIGNvbW1lbnRfaWQoZiwgU1lN
MklEKChWQUxVRSlvcGVyYW5kc1swXSkpOworICAgICAgICBmcHJpbnRmKGYsICJcbiIpOworICAg
ICAgICBmcHJpbnRmKGYsICIgICAgY2kgPSAoQ0FMTF9JTkZPKTB4JSJQUkl4VkFMVUUiOyIsIG9w
ZXJhbmRzWzFdKTsKKyAgICAgICAgY29tbWVudF9pZChmLCAoKENBTExfSU5GTylvcGVyYW5kc1sx
XSktPm1pZCk7CisgICAgICAgIGZwcmludGYoZiwgIlxuIik7CisgICAgICAgIGZwcmludGYoZiwg
IiAgICBjYyA9IChDQUxMX0NBQ0hFKTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRzWzJdKTsKKyAg
ICAgICAgZnByaW50ZihmLCAiXG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIHJlY3YgPSBz
dGFja1slZF07XG4iLCBiLT5zdGFja19zaXplIC0gMSk7CisgICAgICAgIGlmIChib2R5LT5jYXRj
aF9leGNlcHRfcCB8fCBUUlVFKSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2Nm
cC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsgLyogQUREX1BD
KElOU05fQVRUUih3aWR0aCkpOyAqLworICAgICAgICAgICAgcGNfbW92ZWRfcCA9IFRSVUU7Cisg
ICAgICAgIH0KKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgeworICAgICAgICB9
CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnNw
ID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAxKTsKKyAg
ICAgICAgfQorICAgICAgICBmcHJpbnRmKGYsICIgICAge1xuIik7CisgICAgICAgIGZwcmludGYo
ZiwgIiAgICAgICAgdmFsID0gdm1fb3B0X2FyZWZfd2l0aChyZWN2LCBrZXkpO1xuIik7CisgICAg
ICAgIGZwcmludGYoZiwgIlxuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgaWYgKHZh
bCA9PSBRdW5kZWYpIHtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIjaWZuZGVmIE1KSVRfSEVB
REVSXG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICAgICAgUFVTSChyYl9zdHJfcmVz
dXJyZWN0KGtleSkpO1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiNlbmRpZlxuIik7CisgICAg
ICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwg
IiAgICAgICAgICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIs
IGItPnN0YWNrX3NpemUgKyAxKTsKKyAgICAgICAgfQorICAgICAgICBmcHJpbnRmKGYsICIgICAg
ICAgICAgICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgcG9zKTsK
KyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICAgICAgZ290byBjYW5jZWw7XG4iKTsKKyAgICAg
ICAgZnByaW50ZihmLCAiICAgICAgICB9XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIH1c
biIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgc3RhY2tbJWRdID0gdmFsO1xuIiwgYi0+c3Rh
Y2tfc2l6ZSArIChpbnQpYXR0cl9zcF9pbmNfb3B0X2FyZWZfd2l0aChrZXksIGNpLCBjYykgLSAx
KTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIGlmIChVTkxJS0VMWShydWJ5X3ZtX2V2ZW50X2Vu
YWJsZWRfZ2xvYmFsX2ZsYWdzICYgSVNFUV9UUkFDRV9FVkVOVFMpKSB7XG4iKTsKKyAgICAgICAg
ZnByaW50ZihmLCAiICAgICAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsg
JWQ7XG4iLCBiLT5zdGFja19zaXplICsgKGludClhdHRyX3NwX2luY19vcHRfYXJlZl93aXRoKGtl
eSwgY2ksIGNjKSArIDEpOworICAgICAgICBpZiAoIXBjX21vdmVkX3ApIHsKKyAgICAgICAgICAg
IGZwcmludGYoZiwgIiAgICAgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAl
ZDtcbiIsIG5leHRfcG9zKTsKKyAgICAgICAgfQorICAgICAgICBmcHJpbnRmKGYsICIgICAgICAg
IGdvdG8gY2FuY2VsO1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICB9XG4iKTsKKyAgICAg
ICAgYi0+c3RhY2tfc2l6ZSArPSBhdHRyX3NwX2luY19vcHRfYXJlZl93aXRoKGtleSwgY2ksIGNj
KTsKKyAgICB9CisgICAgZnByaW50ZihmLCAifVxuIik7CisgICAgYnJlYWs7CisgIGNhc2UgQklO
KG9wdF9sZW5ndGgpOgorICAgIGZwcmludGYoZiwgIntcbiIpOworICAgIHsKKyAgICAgICAgTUFZ
QkVfVU5VU0VEKGludCBwY19tb3ZlZF9wKSA9IEZBTFNFOworICAgICAgICBNQVlCRV9VTlVTRUQo
Q0FMTF9JTkZPIGNpKSA9IChDQUxMX0lORk8pb3BlcmFuZHNbMF07CisgICAgICAgIE1BWUJFX1VO
VVNFRChDQUxMX0NBQ0hFIGNjKSA9IChDQUxMX0NBQ0hFKW9wZXJhbmRzWzFdOworICAgICAgICBp
ZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAg
TUFZQkVfVU5VU0VEKHVuc2lnbmVkIGludCkgc3RhY2tfc2l6ZSA9ICV1O1xuIiwgYi0+c3RhY2tf
c2l6ZSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChD
QUxMX0NBQ0hFKSBjYztcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VE
KENBTExfSU5GTykgY2k7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNF
RChWQUxVRSkgcmVjdiwgdmFsO1xuIik7CisKKyAgICAgICAgZnByaW50ZihmLCAiICAgIGNpID0g
KENBTExfSU5GTykweCUiUFJJeFZBTFVFIjsiLCBvcGVyYW5kc1swXSk7CisgICAgICAgIGNvbW1l
bnRfaWQoZiwgKChDQUxMX0lORk8pb3BlcmFuZHNbMF0pLT5taWQpOworICAgICAgICBmcHJpbnRm
KGYsICJcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgY2MgPSAoQ0FMTF9DQUNIRSkweCUi
UFJJeFZBTFVFIjsiLCBvcGVyYW5kc1sxXSk7CisgICAgICAgIGZwcmludGYoZiwgIlxuIik7Cisg
ICAgICAgIGZwcmludGYoZiwgIiAgICByZWN2ID0gc3RhY2tbJWRdO1xuIiwgYi0+c3RhY2tfc2l6
ZSAtIDEpOworICAgICAgICBpZiAoYm9keS0+Y2F0Y2hfZXhjZXB0X3AgfHwgRkFMU0UpIHsKKyAg
ICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNl
cSArICVkO1xuIiwgbmV4dF9wb3MpOyAvKiBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7ICovCisg
ICAgICAgICAgICBwY19tb3ZlZF9wID0gVFJVRTsKKyAgICAgICAgfQorICAgICAgICBpZiAoc3Rh
dHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAgICAg
ICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCAr
ICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEpOworICAgICAgICB9CisgICAgICAgIGZwcmludGYo
ZiwgIiAgICB7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICB2YWwgPSB2bV9vcHRf
bGVuZ3RoKHJlY3YsIEJPUF9MRU5HVEgpO1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIlxuIik7
CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgaWYgKHZhbCA9PSBRdW5kZWYpIHtcbiIpOwor
ICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAgICAgICBmcHJpbnRm
KGYsICIgICAgICAgICAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7
XG4iLCBiLT5zdGFja19zaXplICsgMSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAi
ICAgICAgICAgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIHBv
cyk7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgIGdvdG8gY2FuY2VsO1xuIik7Cisg
ICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgfVxuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAg
ICB9XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIHN0YWNrWyVkXSA9IHZhbDtcbiIsIGIt
PnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5jX29wdF9sZW5ndGgoY2ksIGNjKSAtIDEpOwor
ICAgICAgICBiLT5zdGFja19zaXplICs9IGF0dHJfc3BfaW5jX29wdF9sZW5ndGgoY2ksIGNjKTsK
KyAgICB9CisgICAgZnByaW50ZihmLCAifVxuIik7CisgICAgYnJlYWs7CisgIGNhc2UgQklOKG9w
dF9zaXplKToKKyAgICBmcHJpbnRmKGYsICJ7XG4iKTsKKyAgICB7CisgICAgICAgIE1BWUJFX1VO
VVNFRChpbnQgcGNfbW92ZWRfcCkgPSBGQUxTRTsKKyAgICAgICAgTUFZQkVfVU5VU0VEKENBTExf
SU5GTyBjaSkgPSAoQ0FMTF9JTkZPKW9wZXJhbmRzWzBdOworICAgICAgICBNQVlCRV9VTlVTRUQo
Q0FMTF9DQUNIRSBjYykgPSAoQ0FMTF9DQUNIRSlvcGVyYW5kc1sxXTsKKyAgICAgICAgaWYgKHN0
YXR1cy0+bG9jYWxfc3RhY2tfcCkgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJF
X1VOVVNFRCh1bnNpZ25lZCBpbnQpIHN0YWNrX3NpemUgPSAldTtcbiIsIGItPnN0YWNrX3NpemUp
OworICAgICAgICB9CisgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQoQ0FMTF9D
QUNIRSkgY2M7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChDQUxM
X0lORk8pIGNpO1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQoVkFM
VUUpIHJlY3YsIHZhbDtcbiIpOworCisgICAgICAgIGZwcmludGYoZiwgIiAgICBjaSA9IChDQUxM
X0lORk8pMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNbMF0pOworICAgICAgICBjb21tZW50X2lk
KGYsICgoQ0FMTF9JTkZPKW9wZXJhbmRzWzBdKS0+bWlkKTsKKyAgICAgICAgZnByaW50ZihmLCAi
XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIGNjID0gKENBTExfQ0FDSEUpMHglIlBSSXhW
QUxVRSI7Iiwgb3BlcmFuZHNbMV0pOworICAgICAgICBmcHJpbnRmKGYsICJcbiIpOworICAgICAg
ICBmcHJpbnRmKGYsICIgICAgcmVjdiA9IHN0YWNrWyVkXTtcbiIsIGItPnN0YWNrX3NpemUgLSAx
KTsKKyAgICAgICAgaWYgKGJvZHktPmNhdGNoX2V4Y2VwdF9wIHx8IEZBTFNFKSB7CisgICAgICAg
ICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAl
ZDtcbiIsIG5leHRfcG9zKTsgLyogQUREX1BDKElOU05fQVRUUih3aWR0aCkpOyAqLworICAgICAg
ICAgICAgcGNfbW92ZWRfcCA9IFRSVUU7CisgICAgICAgIH0KKyAgICAgICAgaWYgKHN0YXR1cy0+
bG9jYWxfc3RhY2tfcCkgeworICAgICAgICB9CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAg
ZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtc
biIsIGItPnN0YWNrX3NpemUgKyAxKTsKKyAgICAgICAgfQorICAgICAgICBmcHJpbnRmKGYsICIg
ICAge1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgdmFsID0gdm1fb3B0X2xlbmd0
aChyZWN2LCBCT1BfU0laRSk7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsKKyAgICAg
ICAgZnByaW50ZihmLCAiICAgICAgICBpZiAodmFsID09IFF1bmRlZikge1xuIik7CisgICAgICAg
IGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAg
ICAgICAgICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGIt
PnN0YWNrX3NpemUgKyAxKTsKKyAgICAgICAgfQorICAgICAgICBmcHJpbnRmKGYsICIgICAgICAg
ICAgICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgcG9zKTsKKyAg
ICAgICAgZnByaW50ZihmLCAiICAgICAgICAgICAgZ290byBjYW5jZWw7XG4iKTsKKyAgICAgICAg
ZnByaW50ZihmLCAiICAgICAgICB9XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIp
OworICAgICAgICBmcHJpbnRmKGYsICIgICAgc3RhY2tbJWRdID0gdmFsO1xuIiwgYi0+c3RhY2tf
c2l6ZSArIChpbnQpYXR0cl9zcF9pbmNfb3B0X3NpemUoY2ksIGNjKSAtIDEpOworICAgICAgICBi
LT5zdGFja19zaXplICs9IGF0dHJfc3BfaW5jX29wdF9zaXplKGNpLCBjYyk7CisgICAgfQorICAg
IGZwcmludGYoZiwgIn1cbiIpOworICAgIGJyZWFrOworICBjYXNlIEJJTihvcHRfZW1wdHlfcCk6
CisgICAgZnByaW50ZihmLCAie1xuIik7CisgICAgeworICAgICAgICBNQVlCRV9VTlVTRUQoaW50
IHBjX21vdmVkX3ApID0gRkFMU0U7CisgICAgICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kp
ID0gKENBTExfSU5GTylvcGVyYW5kc1swXTsKKyAgICAgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FD
SEUgY2MpID0gKENBTExfQ0FDSEUpb3BlcmFuZHNbMV07CisgICAgICAgIGlmIChzdGF0dXMtPmxv
Y2FsX3N0YWNrX3ApIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQo
dW5zaWduZWQgaW50KSBzdGFja19zaXplID0gJXU7XG4iLCBiLT5zdGFja19zaXplKTsKKyAgICAg
ICAgfQorICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUpIGNj
O1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPKSBj
aTtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSByZWN2
LCB2YWw7XG4iKTsKKworICAgICAgICBmcHJpbnRmKGYsICIgICAgY2kgPSAoQ0FMTF9JTkZPKTB4
JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRzWzBdKTsKKyAgICAgICAgY29tbWVudF9pZChmLCAoKENB
TExfSU5GTylvcGVyYW5kc1swXSktPm1pZCk7CisgICAgICAgIGZwcmludGYoZiwgIlxuIik7Cisg
ICAgICAgIGZwcmludGYoZiwgIiAgICBjYyA9IChDQUxMX0NBQ0hFKTB4JSJQUkl4VkFMVUUiOyIs
IG9wZXJhbmRzWzFdKTsKKyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsKKyAgICAgICAgZnByaW50
ZihmLCAiICAgIHJlY3YgPSBzdGFja1slZF07XG4iLCBiLT5zdGFja19zaXplIC0gMSk7CisgICAg
ICAgIGlmIChib2R5LT5jYXRjaF9leGNlcHRfcCB8fCBGQUxTRSkgeworICAgICAgICAgICAgZnBy
aW50ZihmLCAiICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBu
ZXh0X3Bvcyk7IC8qIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsgKi8KKyAgICAgICAgICAgIHBj
X21vdmVkX3AgPSBUUlVFOworICAgICAgICB9CisgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0
YWNrX3ApIHsKKyAgICAgICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIGZwcmludGYo
ZiwgIiAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5z
dGFja19zaXplICsgMSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAiICAgIHtcbiIp
OworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHZhbCA9IHZtX29wdF9lbXB0eV9wKHJlY3Yp
O1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIlxuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAg
ICAgICAgaWYgKHZhbCA9PSBRdW5kZWYpIHtcbiIpOworICAgICAgICBpZiAoc3RhdHVzLT5sb2Nh
bF9zdGFja19wKSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgICAgICByZWdfY2Zw
LT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgMSk7
CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICAgICAgcmVnX2NmcC0+cGMg
PSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIHBvcyk7CisgICAgICAgIGZwcmludGYoZiwg
IiAgICAgICAgICAgIGdvdG8gY2FuY2VsO1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAg
ICAgfVxuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICB9XG4iKTsKKyAgICAgICAgZnByaW50
ZihmLCAiICAgIHN0YWNrWyVkXSA9IHZhbDtcbiIsIGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJf
c3BfaW5jX29wdF9lbXB0eV9wKGNpLCBjYykgLSAxKTsKKyAgICAgICAgYi0+c3RhY2tfc2l6ZSAr
PSBhdHRyX3NwX2luY19vcHRfZW1wdHlfcChjaSwgY2MpOworICAgIH0KKyAgICBmcHJpbnRmKGYs
ICJ9XG4iKTsKKyAgICBicmVhazsKKyAgY2FzZSBCSU4ob3B0X3N1Y2MpOgorICAgIGZwcmludGYo
ZiwgIntcbiIpOworICAgIHsKKyAgICAgICAgTUFZQkVfVU5VU0VEKGludCBwY19tb3ZlZF9wKSA9
IEZBTFNFOworICAgICAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSA9IChDQUxMX0lORk8p
b3BlcmFuZHNbMF07CisgICAgICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKSA9IChDQUxM
X0NBQ0hFKW9wZXJhbmRzWzFdOworICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7
CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVuc2lnbmVkIGludCkg
c3RhY2tfc2l6ZSA9ICV1O1xuIiwgYi0+c3RhY2tfc2l6ZSk7CisgICAgICAgIH0KKyAgICAgICAg
ZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFKSBjYztcbiIpOworICAgICAg
ICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTykgY2k7XG4iKTsKKyAgICAg
ICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgcmVjdiwgdmFsO1xuIik7CisK
KyAgICAgICAgZnByaW50ZihmLCAiICAgIGNpID0gKENBTExfSU5GTykweCUiUFJJeFZBTFVFIjsi
LCBvcGVyYW5kc1swXSk7CisgICAgICAgIGNvbW1lbnRfaWQoZiwgKChDQUxMX0lORk8pb3BlcmFu
ZHNbMF0pLT5taWQpOworICAgICAgICBmcHJpbnRmKGYsICJcbiIpOworICAgICAgICBmcHJpbnRm
KGYsICIgICAgY2MgPSAoQ0FMTF9DQUNIRSkweCUiUFJJeFZBTFVFIjsiLCBvcGVyYW5kc1sxXSk7
CisgICAgICAgIGZwcmludGYoZiwgIlxuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICByZWN2
ID0gc3RhY2tbJWRdO1xuIiwgYi0+c3RhY2tfc2l6ZSAtIDEpOworICAgICAgICBpZiAoYm9keS0+
Y2F0Y2hfZXhjZXB0X3AgfHwgRkFMU0UpIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICBy
ZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3MpOyAvKiBB
RERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7ICovCisgICAgICAgICAgICBwY19tb3ZlZF9wID0gVFJV
RTsKKyAgICAgICAgfQorICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAg
ICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2Nm
cC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEp
OworICAgICAgICB9CisgICAgICAgIGZwcmludGYoZiwgIiAgICB7XG4iKTsKKyAgICAgICAgZnBy
aW50ZihmLCAiICAgICAgICB2YWwgPSB2bV9vcHRfc3VjYyhyZWN2KTtcbiIpOworICAgICAgICBm
cHJpbnRmKGYsICJcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIGlmICh2YWwgPT0g
UXVuZGVmKSB7XG4iKTsKKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgeworICAg
ICAgICAgICAgZnByaW50ZihmLCAiICAgICAgICAgICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKily
ZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEpOworICAgICAgICB9CisgICAg
ICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9p
c2VxICsgJWQ7XG4iLCBwb3MpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgICAgICBnb3Rv
IGNhbmNlbDtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIH1cbiIpOworICAgICAg
ICBmcHJpbnRmKGYsICIgICAgfVxuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICBzdGFja1sl
ZF0gPSB2YWw7XG4iLCBiLT5zdGFja19zaXplICsgKGludClhdHRyX3NwX2luY19vcHRfc3VjYyhj
aSwgY2MpIC0gMSk7CisgICAgICAgIGItPnN0YWNrX3NpemUgKz0gYXR0cl9zcF9pbmNfb3B0X3N1
Y2MoY2ksIGNjKTsKKyAgICB9CisgICAgZnByaW50ZihmLCAifVxuIik7CisgICAgYnJlYWs7Cisg
IGNhc2UgQklOKG9wdF9ub3QpOgorICAgIGZwcmludGYoZiwgIntcbiIpOworICAgIHsKKyAgICAg
ICAgTUFZQkVfVU5VU0VEKGludCBwY19tb3ZlZF9wKSA9IEZBTFNFOworICAgICAgICBNQVlCRV9V
TlVTRUQoQ0FMTF9JTkZPIGNpKSA9IChDQUxMX0lORk8pb3BlcmFuZHNbMF07CisgICAgICAgIE1B
WUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKSA9IChDQUxMX0NBQ0hFKW9wZXJhbmRzWzFdOworICAg
ICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAgICAgICBmcHJpbnRmKGYs
ICIgICAgTUFZQkVfVU5VU0VEKHVuc2lnbmVkIGludCkgc3RhY2tfc2l6ZSA9ICV1O1xuIiwgYi0+
c3RhY2tfc2l6ZSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VO
VVNFRChDQUxMX0NBQ0hFKSBjYztcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVf
VU5VU0VEKENBTExfSU5GTykgY2k7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJF
X1VOVVNFRChWQUxVRSkgcmVjdiwgdmFsO1xuIik7CisKKyAgICAgICAgZnByaW50ZihmLCAiICAg
IGNpID0gKENBTExfSU5GTykweCUiUFJJeFZBTFVFIjsiLCBvcGVyYW5kc1swXSk7CisgICAgICAg
IGNvbW1lbnRfaWQoZiwgKChDQUxMX0lORk8pb3BlcmFuZHNbMF0pLT5taWQpOworICAgICAgICBm
cHJpbnRmKGYsICJcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgY2MgPSAoQ0FMTF9DQUNI
RSkweCUiUFJJeFZBTFVFIjsiLCBvcGVyYW5kc1sxXSk7CisgICAgICAgIGZwcmludGYoZiwgIlxu
Iik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICByZWN2ID0gc3RhY2tbJWRdO1xuIiwgYi0+c3Rh
Y2tfc2l6ZSAtIDEpOworICAgICAgICBpZiAoYm9keS0+Y2F0Y2hfZXhjZXB0X3AgfHwgRkFMU0Up
IHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2Jv
ZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3MpOyAvKiBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7
ICovCisgICAgICAgICAgICBwY19tb3ZlZF9wID0gVFJVRTsKKyAgICAgICAgfQorICAgICAgICBp
ZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSB7Cisg
ICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2Zw
LT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEpOworICAgICAgICB9CisgICAgICAgIGZw
cmludGYoZiwgIiAgICB7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICB2YWwgPSB2
bV9vcHRfbm90KGNpLCBjYywgcmVjdik7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsK
KyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICBpZiAodmFsID09IFF1bmRlZikge1xuIik7Cisg
ICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKKyAgICAgICAgICAgIGZwcmludGYo
ZiwgIiAgICAgICAgICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtc
biIsIGItPnN0YWNrX3NpemUgKyAxKTsKKyAgICAgICAgfQorICAgICAgICBmcHJpbnRmKGYsICIg
ICAgICAgICAgICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgcG9z
KTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICAgICAgZ290byBjYW5jZWw7XG4iKTsKKyAg
ICAgICAgZnByaW50ZihmLCAiICAgICAgICB9XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAg
IH1cbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgc3RhY2tbJWRdID0gdmFsO1xuIiwgYi0+
c3RhY2tfc2l6ZSArIChpbnQpYXR0cl9zcF9pbmNfb3B0X25vdChjaSwgY2MpIC0gMSk7CisgICAg
ICAgIGItPnN0YWNrX3NpemUgKz0gYXR0cl9zcF9pbmNfb3B0X25vdChjaSwgY2MpOworICAgIH0K
KyAgICBmcHJpbnRmKGYsICJ9XG4iKTsKKyAgICBicmVhazsKKyAgY2FzZSBCSU4ob3B0X3JlZ2V4
cG1hdGNoMSk6CisgICAgZnByaW50ZihmLCAie1xuIik7CisgICAgeworICAgICAgICBNQVlCRV9V
TlVTRUQoaW50IHBjX21vdmVkX3ApID0gRkFMU0U7CisgICAgICAgIE1BWUJFX1VOVVNFRChWQUxV
RSByZWN2KSA9IChWQUxVRSlvcGVyYW5kc1swXTsKKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxf
c3RhY2tfcCkgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRCh1bnNp
Z25lZCBpbnQpIHN0YWNrX3NpemUgPSAldTtcbiIsIGItPnN0YWNrX3NpemUpOworICAgICAgICB9
CisgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIG9iaiwgcmVjdiwg
dmFsO1xuIik7CisKKyAgICAgICAgZnByaW50ZihmLCAiICAgIHJlY3YgPSAoVkFMVUUpMHglIlBS
SXhWQUxVRSI7Iiwgb3BlcmFuZHNbMF0pOworICAgICAgICBpZiAoU1lNQk9MX1AoKFZBTFVFKW9w
ZXJhbmRzWzBdKSkgY29tbWVudF9pZChmLCBTWU0ySUQoKFZBTFVFKW9wZXJhbmRzWzBdKSk7Cisg
ICAgICAgIGZwcmludGYoZiwgIlxuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICBvYmogPSBz
dGFja1slZF07XG4iLCBiLT5zdGFja19zaXplIC0gMSk7CisgICAgICAgIGlmIChib2R5LT5jYXRj
aF9leGNlcHRfcCB8fCBUUlVFKSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2Nm
cC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsgLyogQUREX1BD
KElOU05fQVRUUih3aWR0aCkpOyAqLworICAgICAgICAgICAgcGNfbW92ZWRfcCA9IFRSVUU7Cisg
ICAgICAgIH0KKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgeworICAgICAgICB9
CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnNw
ID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAxKTsKKyAg
ICAgICAgfQorICAgICAgICBmcHJpbnRmKGYsICIgICAge1xuIik7CisgICAgICAgIGZwcmludGYo
ZiwgIiAgICAgICAgdmFsID0gdm1fb3B0X3JlZ2V4cG1hdGNoMShyZWN2LCBvYmopO1xuIik7Cisg
ICAgICAgIGZwcmludGYoZiwgIiAgICB9XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIHN0
YWNrWyVkXSA9IHZhbDtcbiIsIGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5jX29wdF9y
ZWdleHBtYXRjaDEocmVjdikgLSAxKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIGlmIChVTkxJ
S0VMWShydWJ5X3ZtX2V2ZW50X2VuYWJsZWRfZ2xvYmFsX2ZsYWdzICYgSVNFUV9UUkFDRV9FVkVO
VFMpKSB7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICByZWdfY2ZwLT5zcCA9IChW
QUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgKGludClhdHRyX3Nw
X2luY19vcHRfcmVnZXhwbWF0Y2gxKHJlY3YpICsgMSk7CisgICAgICAgIGlmICghcGNfbW92ZWRf
cCkgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgICAgICByZWdfY2ZwLT5wYyA9IG9yaWdp
bmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3MpOworICAgICAgICB9CisgICAgICAgIGZw
cmludGYoZiwgIiAgICAgICAgZ290byBjYW5jZWw7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAi
ICAgIH1cbiIpOworICAgICAgICBiLT5zdGFja19zaXplICs9IGF0dHJfc3BfaW5jX29wdF9yZWdl
eHBtYXRjaDEocmVjdik7CisgICAgfQorICAgIGZwcmludGYoZiwgIn1cbiIpOworICAgIGJyZWFr
OworICBjYXNlIEJJTihvcHRfcmVnZXhwbWF0Y2gyKToKKyAgICBmcHJpbnRmKGYsICJ7XG4iKTsK
KyAgICB7CisgICAgICAgIE1BWUJFX1VOVVNFRChpbnQgcGNfbW92ZWRfcCkgPSBGQUxTRTsKKyAg
ICAgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSkgPSAoQ0FMTF9JTkZPKW9wZXJhbmRzWzBd
OworICAgICAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykgPSAoQ0FMTF9DQUNIRSlvcGVy
YW5kc1sxXTsKKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgeworICAgICAgICAg
ICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRCh1bnNpZ25lZCBpbnQpIHN0YWNrX3NpemUg
PSAldTtcbiIsIGItPnN0YWNrX3NpemUpOworICAgICAgICB9CisgICAgICAgIGZwcmludGYoZiwg
IiAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSkgY2M7XG4iKTsKKyAgICAgICAgZnByaW50Zihm
LCAiICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8pIGNpO1xuIik7CisgICAgICAgIGZwcmludGYo
ZiwgIiAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIG9iajEsIG9iajIsIHZhbDtcbiIpOworCisgICAg
ICAgIGZwcmludGYoZiwgIiAgICBjaSA9IChDQUxMX0lORk8pMHglIlBSSXhWQUxVRSI7Iiwgb3Bl
cmFuZHNbMF0pOworICAgICAgICBjb21tZW50X2lkKGYsICgoQ0FMTF9JTkZPKW9wZXJhbmRzWzBd
KS0+bWlkKTsKKyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAi
ICAgIGNjID0gKENBTExfQ0FDSEUpMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNbMV0pOworICAg
ICAgICBmcHJpbnRmKGYsICJcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgb2JqMiA9IHN0
YWNrWyVkXTtcbiIsIGItPnN0YWNrX3NpemUgLSAyKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAg
IG9iajEgPSBzdGFja1slZF07XG4iLCBiLT5zdGFja19zaXplIC0gMSk7CisgICAgICAgIGlmIChi
b2R5LT5jYXRjaF9leGNlcHRfcCB8fCBGQUxTRSkgeworICAgICAgICAgICAgZnByaW50ZihmLCAi
ICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBuZXh0X3Bvcyk7
IC8qIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsgKi8KKyAgICAgICAgICAgIHBjX21vdmVkX3Ag
PSBUUlVFOworICAgICAgICB9CisgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsK
KyAgICAgICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICBy
ZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXpl
ICsgMSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAiICAgIHtcbiIpOworICAgICAg
ICBmcHJpbnRmKGYsICIgICAgICAgIHZhbCA9IHZtX29wdF9yZWdleHBtYXRjaDIob2JqMiwgb2Jq
MSk7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAi
ICAgICAgICBpZiAodmFsID09IFF1bmRlZikge1xuIik7CisgICAgICAgIGlmIChzdGF0dXMtPmxv
Y2FsX3N0YWNrX3ApIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgIHJlZ19j
ZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAx
KTsKKyAgICAgICAgfQorICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgICAgICByZWdfY2ZwLT5w
YyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgcG9zKTsKKyAgICAgICAgZnByaW50Zihm
LCAiICAgICAgICAgICAgZ290byBjYW5jZWw7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAg
ICAgICB9XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIpOworICAgICAgICBmcHJp
bnRmKGYsICIgICAgc3RhY2tbJWRdID0gdmFsO1xuIiwgYi0+c3RhY2tfc2l6ZSArIChpbnQpYXR0
cl9zcF9pbmNfb3B0X3JlZ2V4cG1hdGNoMihjaSwgY2MpIC0gMSk7CisgICAgICAgIGItPnN0YWNr
X3NpemUgKz0gYXR0cl9zcF9pbmNfb3B0X3JlZ2V4cG1hdGNoMihjaSwgY2MpOworICAgIH0KKyAg
ICBmcHJpbnRmKGYsICJ9XG4iKTsKKyAgICBicmVhazsKKyAgY2FzZSBCSU4oYml0Ymx0KToKKyAg
ICBmcHJpbnRmKGYsICJ7XG4iKTsKKyAgICB7CisgICAgICAgIE1BWUJFX1VOVVNFRChpbnQgcGNf
bW92ZWRfcCkgPSBGQUxTRTsKKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgewor
ICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRCh1bnNpZ25lZCBpbnQpIHN0
YWNrX3NpemUgPSAldTtcbiIsIGItPnN0YWNrX3NpemUpOworICAgICAgICB9CisgICAgICAgIGZw
cmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIHJldDtcbiIpOworCisgICAgICAgIGlm
IChib2R5LT5jYXRjaF9leGNlcHRfcCB8fCBGQUxTRSkgeworICAgICAgICAgICAgZnByaW50Zihm
LCAiICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBuZXh0X3Bv
cyk7IC8qIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsgKi8KKyAgICAgICAgICAgIHBjX21vdmVk
X3AgPSBUUlVFOworICAgICAgICB9CisgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3Ap
IHsKKyAgICAgICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAg
ICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19z
aXplICsgMSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAiICAgIHtcbiIpOworICAg
ICAgICBmcHJpbnRmKGYsICIgICAgICAgIHJldCA9IHJiX3N0cl9uZXcyKFwiYSBiaXQgb2YgYmFj
b24sIGxldHR1Y2UgYW5kIHRvbWF0b1wiKTtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAg
fVxuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICBzdGFja1slZF0gPSByZXQ7XG4iLCBiLT5z
dGFja19zaXplICsgKGludClhdHRyX3NwX2luY19iaXRibHQoKSAtIDEpOworICAgICAgICBiLT5z
dGFja19zaXplICs9IGF0dHJfc3BfaW5jX2JpdGJsdCgpOworICAgIH0KKyAgICBmcHJpbnRmKGYs
ICJ9XG4iKTsKKyAgICBicmVhazsKKyAgY2FzZSBCSU4oYW5zd2VyKToKKyAgICBmcHJpbnRmKGYs
ICJ7XG4iKTsKKyAgICB7CisgICAgICAgIE1BWUJFX1VOVVNFRChpbnQgcGNfbW92ZWRfcCkgPSBG
QUxTRTsKKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgeworICAgICAgICAgICAg
ZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRCh1bnNpZ25lZCBpbnQpIHN0YWNrX3NpemUgPSAl
dTtcbiIsIGItPnN0YWNrX3NpemUpOworICAgICAgICB9CisgICAgICAgIGZwcmludGYoZiwgIiAg
ICBNQVlCRV9VTlVTRUQoVkFMVUUpIHJldDtcbiIpOworCisgICAgICAgIGlmIChib2R5LT5jYXRj
aF9leGNlcHRfcCB8fCBGQUxTRSkgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19j
ZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBuZXh0X3Bvcyk7IC8qIEFERF9Q
QyhJTlNOX0FUVFIod2lkdGgpKTsgKi8KKyAgICAgICAgICAgIHBjX21vdmVkX3AgPSBUUlVFOwor
ICAgICAgICB9CisgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKKyAgICAgICAg
fQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5z
cCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgMSk7Cisg
ICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAiICAgIHtcbiIpOworICAgICAgICBmcHJpbnRm
KGYsICIgICAgICAgIHJldCA9IElOVDJGSVgoNDIpO1xuIik7CisgICAgICAgIGZwcmludGYoZiwg
IiAgICB9XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIHN0YWNrWyVkXSA9IHJldDtcbiIs
IGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5jX2Fuc3dlcigpIC0gMSk7CisgICAgICAg
IGItPnN0YWNrX3NpemUgKz0gYXR0cl9zcF9pbmNfYW5zd2VyKCk7CisgICAgfQorICAgIGZwcmlu
dGYoZiwgIn1cbiIpOworICAgIGJyZWFrOworICBjYXNlIEJJTihnZXRsb2NhbF9XQ18wKToKKyAg
ICBmcHJpbnRmKGYsICJ7XG4iKTsKKyAgICB7CisgICAgICAgIE1BWUJFX1VOVVNFRChpbnQgcGNf
bW92ZWRfcCkgPSBGQUxTRTsKKyAgICAgICAgTUFZQkVfVU5VU0VEKGxpbmRleF90IGlkeCkgPSAo
bGluZGV4X3Qpb3BlcmFuZHNbMF07CisgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3Ap
IHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQodW5zaWduZWQgaW50
KSBzdGFja19zaXplID0gJXU7XG4iLCBiLT5zdGFja19zaXplKTsKKyAgICAgICAgfQorICAgICAg
ICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSB2YWw7XG4iKTsKKyAgICAgICAg
ZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChsaW5kZXhfdCkgaWR4O1xuIik7CisgICAgICAg
IGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QpIGxldmVsO1xuIik7CisKKyAg
ICAgICAgZnByaW50ZihmLCAiICAgIGxldmVsID0gMDtcbiIpOworICAgICAgICBmcHJpbnRmKGYs
ICIgICAgaWR4ID0gKGxpbmRleF90KTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRzWzBdKTsKKyAg
ICAgICAgZnByaW50ZihmLCAiXG4iKTsKKyAgICAgICAgaWYgKGJvZHktPmNhdGNoX2V4Y2VwdF9w
IHx8IEZBTFNFKSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+cGMgPSBv
cmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsgLyogQUREX1BDKElOU05fQVRU
Uih3aWR0aCkpOyAqLworICAgICAgICAgICAgcGNfbW92ZWRfcCA9IFRSVUU7CisgICAgICAgIH0K
KyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgeworICAgICAgICB9CisgICAgICAg
IGVsc2UgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnNwID0gKFZBTFVF
ICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAxKTsKKyAgICAgICAgfQor
ICAgICAgICBmcHJpbnRmKGYsICIgICAge1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAg
ICAgdmFsID0gKih2bV9nZXRfZXAoR0VUX0VQKCksIGxldmVsKSAtIGlkeCk7XG4iKTsKKyAgICAg
ICAgZnByaW50ZihmLCAiICAgICAgICBSQl9ERUJVR19DT1VOVEVSX0lOQyhsdmFyX2dldCk7XG4i
KTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICAodm9pZClSQl9ERUJVR19DT1VOVEVSX0lO
Q19JRihsdmFyX2dldF9keW5hbWljLCBsZXZlbCA+IDApO1xuIik7CisgICAgICAgIGZwcmludGYo
ZiwgIiAgICB9XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIHN0YWNrWyVkXSA9IHZhbDtc
biIsIGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5jX2dldGxvY2FsX1dDXzAoaWR4KSAt
IDEpOworICAgICAgICBiLT5zdGFja19zaXplICs9IGF0dHJfc3BfaW5jX2dldGxvY2FsX1dDXzAo
aWR4KTsKKyAgICB9CisgICAgZnByaW50ZihmLCAifVxuIik7CisgICAgYnJlYWs7CisgIGNhc2Ug
QklOKGdldGxvY2FsX1dDXzEpOgorICAgIGZwcmludGYoZiwgIntcbiIpOworICAgIHsKKyAgICAg
ICAgTUFZQkVfVU5VU0VEKGludCBwY19tb3ZlZF9wKSA9IEZBTFNFOworICAgICAgICBNQVlCRV9V
TlVTRUQobGluZGV4X3QgaWR4KSA9IChsaW5kZXhfdClvcGVyYW5kc1swXTsKKyAgICAgICAgaWYg
KHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIE1B
WUJFX1VOVVNFRCh1bnNpZ25lZCBpbnQpIHN0YWNrX3NpemUgPSAldTtcbiIsIGItPnN0YWNrX3Np
emUpOworICAgICAgICB9CisgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQoVkFM
VUUpIHZhbDtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKGxpbmRl
eF90KSBpZHg7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChyYl9u
dW1fdCkgbGV2ZWw7XG4iKTsKKworICAgICAgICBmcHJpbnRmKGYsICIgICAgbGV2ZWwgPSAxO1xu
Iik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICBpZHggPSAobGluZGV4X3QpMHglIlBSSXhWQUxV
RSI7Iiwgb3BlcmFuZHNbMF0pOworICAgICAgICBmcHJpbnRmKGYsICJcbiIpOworICAgICAgICBp
ZiAoYm9keS0+Y2F0Y2hfZXhjZXB0X3AgfHwgRkFMU0UpIHsKKyAgICAgICAgICAgIGZwcmludGYo
ZiwgIiAgICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9w
b3MpOyAvKiBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7ICovCisgICAgICAgICAgICBwY19tb3Zl
ZF9wID0gVFJVRTsKKyAgICAgICAgfQorICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19w
KSB7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIg
ICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tf
c2l6ZSArIDEpOworICAgICAgICB9CisgICAgICAgIGZwcmludGYoZiwgIiAgICB7XG4iKTsKKyAg
ICAgICAgZnByaW50ZihmLCAiICAgICAgICB2YWwgPSAqKHZtX2dldF9lcChHRVRfRVAoKSwgbGV2
ZWwpIC0gaWR4KTtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIFJCX0RFQlVHX0NP
VU5URVJfSU5DKGx2YXJfZ2V0KTtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgICh2
b2lkKVJCX0RFQlVHX0NPVU5URVJfSU5DX0lGKGx2YXJfZ2V0X2R5bmFtaWMsIGxldmVsID4gMCk7
XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIpOworICAgICAgICBmcHJpbnRmKGYs
ICIgICAgc3RhY2tbJWRdID0gdmFsO1xuIiwgYi0+c3RhY2tfc2l6ZSArIChpbnQpYXR0cl9zcF9p
bmNfZ2V0bG9jYWxfV0NfMShpZHgpIC0gMSk7CisgICAgICAgIGItPnN0YWNrX3NpemUgKz0gYXR0
cl9zcF9pbmNfZ2V0bG9jYWxfV0NfMShpZHgpOworICAgIH0KKyAgICBmcHJpbnRmKGYsICJ9XG4i
KTsKKyAgICBicmVhazsKKyAgY2FzZSBCSU4oc2V0bG9jYWxfV0NfMCk6CisgICAgZnByaW50Zihm
LCAie1xuIik7CisgICAgeworICAgICAgICBNQVlCRV9VTlVTRUQoaW50IHBjX21vdmVkX3ApID0g
RkFMU0U7CisgICAgICAgIE1BWUJFX1VOVVNFRChsaW5kZXhfdCBpZHgpID0gKGxpbmRleF90KW9w
ZXJhbmRzWzBdOworICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAg
ICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVuc2lnbmVkIGludCkgc3RhY2tfc2l6
ZSA9ICV1O1xuIiwgYi0+c3RhY2tfc2l6ZSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50Zihm
LCAiICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgdmFsO1xuIik7CisgICAgICAgIGZwcmludGYoZiwg
IiAgICBNQVlCRV9VTlVTRUQobGluZGV4X3QpIGlkeDtcbiIpOworICAgICAgICBmcHJpbnRmKGYs
ICIgICAgTUFZQkVfVU5VU0VEKHJiX251bV90KSBsZXZlbDtcbiIpOworCisgICAgICAgIGZwcmlu
dGYoZiwgIiAgICBsZXZlbCA9IDA7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIGlkeCA9
IChsaW5kZXhfdCkweCUiUFJJeFZBTFVFIjsiLCBvcGVyYW5kc1swXSk7CisgICAgICAgIGZwcmlu
dGYoZiwgIlxuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICB2YWwgPSBzdGFja1slZF07XG4i
LCBiLT5zdGFja19zaXplIC0gMSk7CisgICAgICAgIGlmIChib2R5LT5jYXRjaF9leGNlcHRfcCB8
fCBGQUxTRSkgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnBjID0gb3Jp
Z2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBuZXh0X3Bvcyk7IC8qIEFERF9QQyhJTlNOX0FUVFIo
d2lkdGgpKTsgKi8KKyAgICAgICAgICAgIHBjX21vdmVkX3AgPSBUUlVFOworICAgICAgICB9Cisg
ICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKKyAgICAgICAgfQorICAgICAgICBl
bHNlIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAq
KXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgMSk7CisgICAgICAgIH0KKyAg
ICAgICAgZnByaW50ZihmLCAiICAgIHtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAg
IHZtX2Vudl93cml0ZSh2bV9nZXRfZXAoR0VUX0VQKCksIGxldmVsKSwgLShpbnQpaWR4LCB2YWwp
O1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgUkJfREVCVUdfQ09VTlRFUl9JTkMo
bHZhcl9zZXQpO1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgKHZvaWQpUkJfREVC
VUdfQ09VTlRFUl9JTkNfSUYobHZhcl9zZXRfZHluYW1pYywgbGV2ZWwgPiAwKTtcbiIpOworICAg
ICAgICBmcHJpbnRmKGYsICIgICAgfVxuIik7CisgICAgICAgIGItPnN0YWNrX3NpemUgKz0gYXR0
cl9zcF9pbmNfc2V0bG9jYWxfV0NfMChpZHgpOworICAgIH0KKyAgICBmcHJpbnRmKGYsICJ9XG4i
KTsKKyAgICBicmVhazsKKyAgY2FzZSBCSU4oc2V0bG9jYWxfV0NfMSk6CisgICAgZnByaW50Zihm
LCAie1xuIik7CisgICAgeworICAgICAgICBNQVlCRV9VTlVTRUQoaW50IHBjX21vdmVkX3ApID0g
RkFMU0U7CisgICAgICAgIE1BWUJFX1VOVVNFRChsaW5kZXhfdCBpZHgpID0gKGxpbmRleF90KW9w
ZXJhbmRzWzBdOworICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAgICAg
ICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVuc2lnbmVkIGludCkgc3RhY2tfc2l6
ZSA9ICV1O1xuIiwgYi0+c3RhY2tfc2l6ZSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50Zihm
LCAiICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgdmFsO1xuIik7CisgICAgICAgIGZwcmludGYoZiwg
IiAgICBNQVlCRV9VTlVTRUQobGluZGV4X3QpIGlkeDtcbiIpOworICAgICAgICBmcHJpbnRmKGYs
ICIgICAgTUFZQkVfVU5VU0VEKHJiX251bV90KSBsZXZlbDtcbiIpOworCisgICAgICAgIGZwcmlu
dGYoZiwgIiAgICBsZXZlbCA9IDE7XG4iKTsKKyAgICAgICAgZnByaW50ZihmLCAiICAgIGlkeCA9
IChsaW5kZXhfdCkweCUiUFJJeFZBTFVFIjsiLCBvcGVyYW5kc1swXSk7CisgICAgICAgIGZwcmlu
dGYoZiwgIlxuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICB2YWwgPSBzdGFja1slZF07XG4i
LCBiLT5zdGFja19zaXplIC0gMSk7CisgICAgICAgIGlmIChib2R5LT5jYXRjaF9leGNlcHRfcCB8
fCBGQUxTRSkgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnBjID0gb3Jp
Z2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBuZXh0X3Bvcyk7IC8qIEFERF9QQyhJTlNOX0FUVFIo
d2lkdGgpKTsgKi8KKyAgICAgICAgICAgIHBjX21vdmVkX3AgPSBUUlVFOworICAgICAgICB9Cisg
ICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKKyAgICAgICAgfQorICAgICAgICBl
bHNlIHsKKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAq
KXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgMSk7CisgICAgICAgIH0KKyAg
ICAgICAgZnByaW50ZihmLCAiICAgIHtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAg
IHZtX2Vudl93cml0ZSh2bV9nZXRfZXAoR0VUX0VQKCksIGxldmVsKSwgLShpbnQpaWR4LCB2YWwp
O1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgUkJfREVCVUdfQ09VTlRFUl9JTkMo
bHZhcl9zZXQpO1xuIik7CisgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgKHZvaWQpUkJfREVC
VUdfQ09VTlRFUl9JTkNfSUYobHZhcl9zZXRfZHluYW1pYywgbGV2ZWwgPiAwKTtcbiIpOworICAg
ICAgICBmcHJpbnRmKGYsICIgICAgfVxuIik7CisgICAgICAgIGItPnN0YWNrX3NpemUgKz0gYXR0
cl9zcF9pbmNfc2V0bG9jYWxfV0NfMShpZHgpOworICAgIH0KKyAgICBmcHJpbnRmKGYsICJ9XG4i
KTsKKyAgICBicmVhazsKKyAgY2FzZSBCSU4ocHV0b2JqZWN0X0lOVDJGSVhfMF8pOgorICAgIGZw
cmludGYoZiwgIntcbiIpOworICAgIHsKKyAgICAgICAgTUFZQkVfVU5VU0VEKGludCBwY19tb3Zl
ZF9wKSA9IEZBTFNFOworICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7CisgICAg
ICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVuc2lnbmVkIGludCkgc3RhY2tf
c2l6ZSA9ICV1O1xuIiwgYi0+c3RhY2tfc2l6ZSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50
ZihmLCAiICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgdmFsO1xuIik7CisKKyAgICAgICAgZnByaW50
ZihmLCAiICAgIHZhbCA9IElOVDJGSVgoMCk7XG4iKTsKKyAgICAgICAgaWYgKGJvZHktPmNhdGNo
X2V4Y2VwdF9wIHx8IEZBTFNFKSB7CisgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2Nm
cC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsgLyogQUREX1BD
KElOU05fQVRUUih3aWR0aCkpOyAqLworICAgICAgICAgICAgcGNfbW92ZWRfcCA9IFRSVUU7Cisg
ICAgICAgIH0KKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgeworICAgICAgICB9
CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnNw
ID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAxKTsKKyAg
ICAgICAgfQorICAgICAgICBmcHJpbnRmKGYsICIgICAge1xuIik7CisgICAgICAgIGZwcmludGYo
ZiwgIiAgICAgICAgLyogKi9cbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgfVxuIik7Cisg
ICAgICAgIGZwcmludGYoZiwgIiAgICBzdGFja1slZF0gPSB2YWw7XG4iLCBiLT5zdGFja19zaXpl
ICsgKGludClhdHRyX3NwX2luY19wdXRvYmplY3RfSU5UMkZJWF8wXygpIC0gMSk7CisgICAgICAg
IGItPnN0YWNrX3NpemUgKz0gYXR0cl9zcF9pbmNfcHV0b2JqZWN0X0lOVDJGSVhfMF8oKTsKKyAg
ICB9CisgICAgZnByaW50ZihmLCAifVxuIik7CisgICAgYnJlYWs7CisgIGNhc2UgQklOKHB1dG9i
amVjdF9JTlQyRklYXzFfKToKKyAgICBmcHJpbnRmKGYsICJ7XG4iKTsKKyAgICB7CisgICAgICAg
IE1BWUJFX1VOVVNFRChpbnQgcGNfbW92ZWRfcCkgPSBGQUxTRTsKKyAgICAgICAgaWYgKHN0YXR1
cy0+bG9jYWxfc3RhY2tfcCkgeworICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VO
VVNFRCh1bnNpZ25lZCBpbnQpIHN0YWNrX3NpemUgPSAldTtcbiIsIGItPnN0YWNrX3NpemUpOwor
ICAgICAgICB9CisgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIHZh
bDtcbiIpOworCisgICAgICAgIGZwcmludGYoZiwgIiAgICB2YWwgPSBJTlQyRklYKDEpO1xuIik7
CisgICAgICAgIGlmIChib2R5LT5jYXRjaF9leGNlcHRfcCB8fCBGQUxTRSkgeworICAgICAgICAg
ICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7
XG4iLCBuZXh0X3Bvcyk7IC8qIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsgKi8KKyAgICAgICAg
ICAgIHBjX21vdmVkX3AgPSBUUlVFOworICAgICAgICB9CisgICAgICAgIGlmIChzdGF0dXMtPmxv
Y2FsX3N0YWNrX3ApIHsKKyAgICAgICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIGZw
cmludGYoZiwgIiAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4i
LCBiLT5zdGFja19zaXplICsgMSk7CisgICAgICAgIH0KKyAgICAgICAgZnByaW50ZihmLCAiICAg
IHtcbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIC8qICovXG4iKTsKKyAgICAgICAg
ZnByaW50ZihmLCAiICAgIH1cbiIpOworICAgICAgICBmcHJpbnRmKGYsICIgICAgc3RhY2tbJWRd
ID0gdmFsO1xuIiwgYi0+c3RhY2tfc2l6ZSArIChpbnQpYXR0cl9zcF9pbmNfcHV0b2JqZWN0X0lO
VDJGSVhfMV8oKSAtIDEpOworICAgICAgICBiLT5zdGFja19zaXplICs9IGF0dHJfc3BfaW5jX3B1
dG9iamVjdF9JTlQyRklYXzFfKCk7CisgICAgfQorICAgIGZwcmludGYoZiwgIn1cbiIpOworICAg
IGJyZWFrOworICBkZWZhdWx0OgorICAgIGlmIChtaml0X29wdHMud2FybmluZ3MgfHwgbWppdF9v
cHRzLnZlcmJvc2UpCisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiTUpJVCB3YXJuaW5nOiBTa2lw
cGVkIHRvIGNvbXBpbGUgdW5zdXBwb3J0ZWQgaW5zdHJ1Y3Rpb246ICVzXG4iLCBpbnNuX25hbWUo
aW5zbikpOworICAgIHN0YXR1cy0+c3VjY2VzcyA9IEZBTFNFOworICAgIGJyZWFrOworfQpkaWZm
IC0tZ2l0IGEvZ2VuZXJhdGVkL21qaXRfY29uZmlnLmggYi9nZW5lcmF0ZWQvbWppdF9jb25maWcu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYzA3OTI5Ci0tLSAvZGV2L251
bGwKKysrIGIvZ2VuZXJhdGVkL21qaXRfY29uZmlnLmgKQEAgLTAsMCArMSwyMCBAQAorI2lmbmRl
ZiBSVUJZX01KSVRfQ09ORklHX0gKKyNkZWZpbmUgUlVCWV9NSklUX0NPTkZJR19IIDEKKworI2lm
ZGVmIExPQURfUkVMQVRJVkUKKyNkZWZpbmUgTUpJVF9IRUFERVJfSU5TVEFMTF9ESVIgIi9pbmNs
dWRlL3J1YnktMi42LjAveDg2XzY0LWxpbnV4IgorI2Vsc2UKKyNkZWZpbmUgTUpJVF9IRUFERVJf
SU5TVEFMTF9ESVIgIi9ob21lL3dvbGYvbmZ2L2Rldi91bmlrcmFmdC9hcHBzL3VrdXRlc3QuZ2l0
L2J1aWxkL2xpYnJ1Ynkvb3JpZ2luL3J1YnktcnVieV8yXzYvZGlzdC9pbmNsdWRlL3J1YnktMi42
LjAveDg2XzY0LWxpbnV4IgorI2VuZGlmCisjZGVmaW5lIE1KSVRfTUlOX0hFQURFUl9OQU1FICJy
Yl9taml0X21pbl9oZWFkZXItMi42LjYuaCIKKyNkZWZpbmUgTUpJVF9DQ19DT01NT04gICAiL3Vz
ci9iaW4vZ2NjIiwKKyNkZWZpbmUgTUpJVF9DRkxBR1MgICAgICBNSklUX0FSQ0hGTEFHICItdyIs
CisjZGVmaW5lIE1KSVRfT1BURkxBR1MgICAgIi1PMyIsCisjZGVmaW5lIE1KSVRfREVCVUdGTEFH
UyAgIi1nZ2RiMyIsCisjZGVmaW5lIE1KSVRfTERTSEFSRUQgICAgIi91c3IvYmluL2djYyIsICIt
c2hhcmVkIiwKKyNkZWZpbmUgTUpJVF9ETERGTEFHUyAgICBNSklUX0FSQ0hGTEFHICItV2wsLS1j
b21wcmVzcy1kZWJ1Zy1zZWN0aW9ucz16bGliIiwKKyNkZWZpbmUgTUpJVF9MSUJTICAgICAgICAi
LVdsLC1ycGF0aCwvaG9tZS93b2xmL25mdi9kZXYvdW5pa3JhZnQvYXBwcy91a3V0ZXN0LmdpdC9i
dWlsZC9saWJydWJ5L29yaWdpbi9ydWJ5LXJ1YnlfMl82L2Rpc3QvbGliIiwgIi1ML2hvbWUvd29s
Zi9uZnYvZGV2L3VuaWtyYWZ0L2FwcHMvdWt1dGVzdC5naXQvYnVpbGQvbGlicnVieS9vcmlnaW4v
cnVieS1ydWJ5XzJfNi9kaXN0L2xpYiIsCisjZGVmaW5lIFBSRUxPQURFTlYgICAgICAgIkxEX1BS
RUxPQUQiCisjZGVmaW5lIE1KSVRfQVJDSEZMQUcgICAgLyogbm8gZmxhZyAqLworCisjZW5kaWYg
LyogUlVCWV9NSklUX0NPTkZJR19IICovCmRpZmYgLS1naXQgYS9nZW5lcmF0ZWQvbm9kZV9uYW1l
LmluYyBiL2dlbmVyYXRlZC9ub2RlX25hbWUuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLmEwMmM3OTIKLS0tIC9kZXYvbnVsbAorKysgYi9nZW5lcmF0ZWQvbm9kZV9uYW1l
LmluYwpAQCAtMCwwICsxLDIwMCBAQAorICAgICAgY2FzZSBOT0RFX1NDT1BFOgorCXJldHVybiAi
Tk9ERV9TQ09QRSI7CisgICAgICBjYXNlIE5PREVfQkxPQ0s6CisJcmV0dXJuICJOT0RFX0JMT0NL
IjsKKyAgICAgIGNhc2UgTk9ERV9JRjoKKwlyZXR1cm4gIk5PREVfSUYiOworICAgICAgY2FzZSBO
T0RFX1VOTEVTUzoKKwlyZXR1cm4gIk5PREVfVU5MRVNTIjsKKyAgICAgIGNhc2UgTk9ERV9DQVNF
OgorCXJldHVybiAiTk9ERV9DQVNFIjsKKyAgICAgIGNhc2UgTk9ERV9DQVNFMjoKKwlyZXR1cm4g
Ik5PREVfQ0FTRTIiOworICAgICAgY2FzZSBOT0RFX1dIRU46CisJcmV0dXJuICJOT0RFX1dIRU4i
OworICAgICAgY2FzZSBOT0RFX1dISUxFOgorCXJldHVybiAiTk9ERV9XSElMRSI7CisgICAgICBj
YXNlIE5PREVfVU5USUw6CisJcmV0dXJuICJOT0RFX1VOVElMIjsKKyAgICAgIGNhc2UgTk9ERV9J
VEVSOgorCXJldHVybiAiTk9ERV9JVEVSIjsKKyAgICAgIGNhc2UgTk9ERV9GT1I6CisJcmV0dXJu
ICJOT0RFX0ZPUiI7CisgICAgICBjYXNlIE5PREVfRk9SX01BU0dOOgorCXJldHVybiAiTk9ERV9G
T1JfTUFTR04iOworICAgICAgY2FzZSBOT0RFX0JSRUFLOgorCXJldHVybiAiTk9ERV9CUkVBSyI7
CisgICAgICBjYXNlIE5PREVfTkVYVDoKKwlyZXR1cm4gIk5PREVfTkVYVCI7CisgICAgICBjYXNl
IE5PREVfUkVETzoKKwlyZXR1cm4gIk5PREVfUkVETyI7CisgICAgICBjYXNlIE5PREVfUkVUUlk6
CisJcmV0dXJuICJOT0RFX1JFVFJZIjsKKyAgICAgIGNhc2UgTk9ERV9CRUdJTjoKKwlyZXR1cm4g
Ik5PREVfQkVHSU4iOworICAgICAgY2FzZSBOT0RFX1JFU0NVRToKKwlyZXR1cm4gIk5PREVfUkVT
Q1VFIjsKKyAgICAgIGNhc2UgTk9ERV9SRVNCT0RZOgorCXJldHVybiAiTk9ERV9SRVNCT0RZIjsK
KyAgICAgIGNhc2UgTk9ERV9FTlNVUkU6CisJcmV0dXJuICJOT0RFX0VOU1VSRSI7CisgICAgICBj
YXNlIE5PREVfQU5EOgorCXJldHVybiAiTk9ERV9BTkQiOworICAgICAgY2FzZSBOT0RFX09SOgor
CXJldHVybiAiTk9ERV9PUiI7CisgICAgICBjYXNlIE5PREVfTUFTR046CisJcmV0dXJuICJOT0RF
X01BU0dOIjsKKyAgICAgIGNhc2UgTk9ERV9MQVNHTjoKKwlyZXR1cm4gIk5PREVfTEFTR04iOwor
ICAgICAgY2FzZSBOT0RFX0RBU0dOOgorCXJldHVybiAiTk9ERV9EQVNHTiI7CisgICAgICBjYXNl
IE5PREVfREFTR05fQ1VSUjoKKwlyZXR1cm4gIk5PREVfREFTR05fQ1VSUiI7CisgICAgICBjYXNl
IE5PREVfR0FTR046CisJcmV0dXJuICJOT0RFX0dBU0dOIjsKKyAgICAgIGNhc2UgTk9ERV9JQVNH
TjoKKwlyZXR1cm4gIk5PREVfSUFTR04iOworICAgICAgY2FzZSBOT0RFX0NERUNMOgorCXJldHVy
biAiTk9ERV9DREVDTCI7CisgICAgICBjYXNlIE5PREVfQ1ZBU0dOOgorCXJldHVybiAiTk9ERV9D
VkFTR04iOworICAgICAgY2FzZSBOT0RFX09QX0FTR04xOgorCXJldHVybiAiTk9ERV9PUF9BU0dO
MSI7CisgICAgICBjYXNlIE5PREVfT1BfQVNHTjI6CisJcmV0dXJuICJOT0RFX09QX0FTR04yIjsK
KyAgICAgIGNhc2UgTk9ERV9PUF9BU0dOX0FORDoKKwlyZXR1cm4gIk5PREVfT1BfQVNHTl9BTkQi
OworICAgICAgY2FzZSBOT0RFX09QX0FTR05fT1I6CisJcmV0dXJuICJOT0RFX09QX0FTR05fT1Ii
OworICAgICAgY2FzZSBOT0RFX09QX0NERUNMOgorCXJldHVybiAiTk9ERV9PUF9DREVDTCI7Cisg
ICAgICBjYXNlIE5PREVfQ0FMTDoKKwlyZXR1cm4gIk5PREVfQ0FMTCI7CisgICAgICBjYXNlIE5P
REVfT1BDQUxMOgorCXJldHVybiAiTk9ERV9PUENBTEwiOworICAgICAgY2FzZSBOT0RFX0ZDQUxM
OgorCXJldHVybiAiTk9ERV9GQ0FMTCI7CisgICAgICBjYXNlIE5PREVfVkNBTEw6CisJcmV0dXJu
ICJOT0RFX1ZDQUxMIjsKKyAgICAgIGNhc2UgTk9ERV9RQ0FMTDoKKwlyZXR1cm4gIk5PREVfUUNB
TEwiOworICAgICAgY2FzZSBOT0RFX1NVUEVSOgorCXJldHVybiAiTk9ERV9TVVBFUiI7CisgICAg
ICBjYXNlIE5PREVfWlNVUEVSOgorCXJldHVybiAiTk9ERV9aU1VQRVIiOworICAgICAgY2FzZSBO
T0RFX0FSUkFZOgorCXJldHVybiAiTk9ERV9BUlJBWSI7CisgICAgICBjYXNlIE5PREVfWkFSUkFZ
OgorCXJldHVybiAiTk9ERV9aQVJSQVkiOworICAgICAgY2FzZSBOT0RFX1ZBTFVFUzoKKwlyZXR1
cm4gIk5PREVfVkFMVUVTIjsKKyAgICAgIGNhc2UgTk9ERV9IQVNIOgorCXJldHVybiAiTk9ERV9I
QVNIIjsKKyAgICAgIGNhc2UgTk9ERV9SRVRVUk46CisJcmV0dXJuICJOT0RFX1JFVFVSTiI7Cisg
ICAgICBjYXNlIE5PREVfWUlFTEQ6CisJcmV0dXJuICJOT0RFX1lJRUxEIjsKKyAgICAgIGNhc2Ug
Tk9ERV9MVkFSOgorCXJldHVybiAiTk9ERV9MVkFSIjsKKyAgICAgIGNhc2UgTk9ERV9EVkFSOgor
CXJldHVybiAiTk9ERV9EVkFSIjsKKyAgICAgIGNhc2UgTk9ERV9HVkFSOgorCXJldHVybiAiTk9E
RV9HVkFSIjsKKyAgICAgIGNhc2UgTk9ERV9JVkFSOgorCXJldHVybiAiTk9ERV9JVkFSIjsKKyAg
ICAgIGNhc2UgTk9ERV9DT05TVDoKKwlyZXR1cm4gIk5PREVfQ09OU1QiOworICAgICAgY2FzZSBO
T0RFX0NWQVI6CisJcmV0dXJuICJOT0RFX0NWQVIiOworICAgICAgY2FzZSBOT0RFX05USF9SRUY6
CisJcmV0dXJuICJOT0RFX05USF9SRUYiOworICAgICAgY2FzZSBOT0RFX0JBQ0tfUkVGOgorCXJl
dHVybiAiTk9ERV9CQUNLX1JFRiI7CisgICAgICBjYXNlIE5PREVfTUFUQ0g6CisJcmV0dXJuICJO
T0RFX01BVENIIjsKKyAgICAgIGNhc2UgTk9ERV9NQVRDSDI6CisJcmV0dXJuICJOT0RFX01BVENI
MiI7CisgICAgICBjYXNlIE5PREVfTUFUQ0gzOgorCXJldHVybiAiTk9ERV9NQVRDSDMiOworICAg
ICAgY2FzZSBOT0RFX0xJVDoKKwlyZXR1cm4gIk5PREVfTElUIjsKKyAgICAgIGNhc2UgTk9ERV9T
VFI6CisJcmV0dXJuICJOT0RFX1NUUiI7CisgICAgICBjYXNlIE5PREVfRFNUUjoKKwlyZXR1cm4g
Ik5PREVfRFNUUiI7CisgICAgICBjYXNlIE5PREVfWFNUUjoKKwlyZXR1cm4gIk5PREVfWFNUUiI7
CisgICAgICBjYXNlIE5PREVfRFhTVFI6CisJcmV0dXJuICJOT0RFX0RYU1RSIjsKKyAgICAgIGNh
c2UgTk9ERV9FVlNUUjoKKwlyZXR1cm4gIk5PREVfRVZTVFIiOworICAgICAgY2FzZSBOT0RFX0RS
RUdYOgorCXJldHVybiAiTk9ERV9EUkVHWCI7CisgICAgICBjYXNlIE5PREVfT05DRToKKwlyZXR1
cm4gIk5PREVfT05DRSI7CisgICAgICBjYXNlIE5PREVfQVJHUzoKKwlyZXR1cm4gIk5PREVfQVJH
UyI7CisgICAgICBjYXNlIE5PREVfQVJHU19BVVg6CisJcmV0dXJuICJOT0RFX0FSR1NfQVVYIjsK
KyAgICAgIGNhc2UgTk9ERV9PUFRfQVJHOgorCXJldHVybiAiTk9ERV9PUFRfQVJHIjsKKyAgICAg
IGNhc2UgTk9ERV9LV19BUkc6CisJcmV0dXJuICJOT0RFX0tXX0FSRyI7CisgICAgICBjYXNlIE5P
REVfUE9TVEFSRzoKKwlyZXR1cm4gIk5PREVfUE9TVEFSRyI7CisgICAgICBjYXNlIE5PREVfQVJH
U0NBVDoKKwlyZXR1cm4gIk5PREVfQVJHU0NBVCI7CisgICAgICBjYXNlIE5PREVfQVJHU1BVU0g6
CisJcmV0dXJuICJOT0RFX0FSR1NQVVNIIjsKKyAgICAgIGNhc2UgTk9ERV9TUExBVDoKKwlyZXR1
cm4gIk5PREVfU1BMQVQiOworICAgICAgY2FzZSBOT0RFX0JMT0NLX1BBU1M6CisJcmV0dXJuICJO
T0RFX0JMT0NLX1BBU1MiOworICAgICAgY2FzZSBOT0RFX0RFRk46CisJcmV0dXJuICJOT0RFX0RF
Rk4iOworICAgICAgY2FzZSBOT0RFX0RFRlM6CisJcmV0dXJuICJOT0RFX0RFRlMiOworICAgICAg
Y2FzZSBOT0RFX0FMSUFTOgorCXJldHVybiAiTk9ERV9BTElBUyI7CisgICAgICBjYXNlIE5PREVf
VkFMSUFTOgorCXJldHVybiAiTk9ERV9WQUxJQVMiOworICAgICAgY2FzZSBOT0RFX1VOREVGOgor
CXJldHVybiAiTk9ERV9VTkRFRiI7CisgICAgICBjYXNlIE5PREVfQ0xBU1M6CisJcmV0dXJuICJO
T0RFX0NMQVNTIjsKKyAgICAgIGNhc2UgTk9ERV9NT0RVTEU6CisJcmV0dXJuICJOT0RFX01PRFVM
RSI7CisgICAgICBjYXNlIE5PREVfU0NMQVNTOgorCXJldHVybiAiTk9ERV9TQ0xBU1MiOworICAg
ICAgY2FzZSBOT0RFX0NPTE9OMjoKKwlyZXR1cm4gIk5PREVfQ09MT04yIjsKKyAgICAgIGNhc2Ug
Tk9ERV9DT0xPTjM6CisJcmV0dXJuICJOT0RFX0NPTE9OMyI7CisgICAgICBjYXNlIE5PREVfRE9U
MjoKKwlyZXR1cm4gIk5PREVfRE9UMiI7CisgICAgICBjYXNlIE5PREVfRE9UMzoKKwlyZXR1cm4g
Ik5PREVfRE9UMyI7CisgICAgICBjYXNlIE5PREVfRkxJUDI6CisJcmV0dXJuICJOT0RFX0ZMSVAy
IjsKKyAgICAgIGNhc2UgTk9ERV9GTElQMzoKKwlyZXR1cm4gIk5PREVfRkxJUDMiOworICAgICAg
Y2FzZSBOT0RFX1NFTEY6CisJcmV0dXJuICJOT0RFX1NFTEYiOworICAgICAgY2FzZSBOT0RFX05J
TDoKKwlyZXR1cm4gIk5PREVfTklMIjsKKyAgICAgIGNhc2UgTk9ERV9UUlVFOgorCXJldHVybiAi
Tk9ERV9UUlVFIjsKKyAgICAgIGNhc2UgTk9ERV9GQUxTRToKKwlyZXR1cm4gIk5PREVfRkFMU0Ui
OworICAgICAgY2FzZSBOT0RFX0VSUklORk86CisJcmV0dXJuICJOT0RFX0VSUklORk8iOworICAg
ICAgY2FzZSBOT0RFX0RFRklORUQ6CisJcmV0dXJuICJOT0RFX0RFRklORUQiOworICAgICAgY2Fz
ZSBOT0RFX1BPU1RFWEU6CisJcmV0dXJuICJOT0RFX1BPU1RFWEUiOworICAgICAgY2FzZSBOT0RF
X0RTWU06CisJcmV0dXJuICJOT0RFX0RTWU0iOworICAgICAgY2FzZSBOT0RFX0FUVFJBU0dOOgor
CXJldHVybiAiTk9ERV9BVFRSQVNHTiI7CisgICAgICBjYXNlIE5PREVfTEFNQkRBOgorCXJldHVy
biAiTk9ERV9MQU1CREEiOwpkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL29wdGluc24uaW5jIGIvZ2Vu
ZXJhdGVkL29wdGluc24uaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA0
ODk4ZDgKLS0tIC9kZXYvbnVsbAorKysgYi9nZW5lcmF0ZWQvb3B0aW5zbi5pbmMKQEAgLTAsMCAr
MSwxMjggQEAKKy8qIC0qLSBtb2RlOmM7IHN0eWxlOnJ1Ynk7IGNvZGluZzogdXRmLTg7IGluZGVu
dC10YWJzLW1vZGU6IG5pbCAtKi0gKi8KKworLyogVGhpcyBpcyAgYW4gYXV0by1nZW5lcmF0ZWQg
ZmlsZSAgYW5kIGlzIGEgIHBhcnQgb2YgdGhlICBwcm9ncmFtbWluZyBsYW5ndWFnZQorICogUnVi
eS4gIFRoZSAgcGVyc29uIHdobyAgY3JlYXRlZCAgYSAgcHJvZ3JhbSAgdG8gIGdlbmVyYXRlIHRo
aXMgIGZpbGUgIChgYEknJworICogaGVyZWFmdGVyKSB3b3VsZCBsaWtlICB0byByZWZyYWluIGZy
b20gZGVmaW5pbmcgbGljZW5zaW5nICBvZiB0aGlzIGdlbmVyYXRlZAorICogc291cmNlIGNvZGUu
CisgKgorICogVGhpcyBmaWxlIGNvbnNpc3Qgb2YgbWFueSBzbWFsbCAgcGFydHMgb2YgY29kZXMg
Y29weXJpZ2h0ZWQgYnkgZWFjaCBhdXRob3JzLAorICogbm90ICBvbmx5ICB0aGUgIGBgSScnICBw
ZXJzb24uICAgVGhvc2UgIG9yaWdpbmFsICBhdXRob3JzICBhZ3JlZSAgd2l0aCAgc29tZQorICog
b3Blbi1zb3VyY2UgbGljZW5zZS4gIEkgIGJlbGlldmUgdGhhdCB0aGUgbGljZW5zZSB3ZSBhZ3Jl
ZSAgaXMgdGhlIGNvbmRpdGlvbgorICogbWVudGlvbmVkIGluICB0aGUgZmlsZSBDT1BZSU5HLiAg
SXQgIHN0YXRlcyAiNC4gIFlvdSBtYXkgIG1vZGlmeSBhbmQgaW5jbHVkZQorICogdGhlIHBhcnQg
b2YgdGhlIHNvZnR3YXJlIGludG8gYW55ICBvdGhlciBzb2Z0d2FyZSAuLi4iLiAgQnV0IHRoZSBw
cm9ibGVtIGlzLAorICogdGhlIGxpY2Vuc2UgbmV2ZXIgbWFrZXMgaXQgY2xlYXIgaWYgIHN1Y2gg
bW9kaWZpZWQgcGFydHMgc3RpbGwgcmVtYWluIGluIHRoZQorICogc2FtZSAgbGljZW5zZSwgb3Ig
IG5vdC4gICBUaGUgZmFjdCAgdGhhdCAgd2UgYWdyZWUgIHdpdGggIHRoZSBzb3VyY2UgIGNvZGUn
cworICogbGljZW5zaW5nIHRlcm1zIGRvIG5vdCBhdXRvbWF0aWNhbGx5IGRlZmluZSB0aGF0IG9m
IGdlbmVyYXRlZCBvbmVzLiAgVGhpcyBpcworICogdGhlIHJlYXNvbiAgd2h5IHRoaXMgZmlsZSAg
aXMgdW5kZXIgdW5jbGVhciBzaXR1YXRpb24uICAgQWxsIHRoYXQgSSAga25vdyBpcworICogdGhh
dCBhYm92ZSBwcm92aXNpb24gZ3VhcmFudGVlcyB0aGlzIGZpbGUgdG8gZXhpc3QuCisgKgorICog
UGxlYXNlIGxldCBtZSAgaGVzaXRhdGUgdG8gZGVjbGFyZSBzb21ldGhpbmcgYWJvdXQgdGhpcyAg
bnVhbmNlZCBjb250cmFjdC4gSQorICogYW0gbm90IGluIHRoZSBwb3NpdGlvbiB0byB0YWtlICBv
dmVyIG90aGVyIGF1dGhvcnMnIGxpY2Vuc2UgdG8gbWVyZ2UgaW50byBteQorICogb25lLiAgQ2hh
bmdpbmcgdGhlbSB0byAoc2F5KSBHUEx2MyAgaXMgbm90IGRvYWJsZSBieSBteXNlbGYuIFBlcmhh
cHMgc29tZWRheQorICogaXQgbWlnaHQgdHVybiBvdXQgdG8gYmUgb2theSB0byBzYXkgdGhpcyBm
aWxlIGlzIHVuZGVyIGEgbGljZW5zZS4gSSB3aXNoIHRoZQorICogc2l0dWF0aW9uIHdvdWxkIGJl
Y29tZSBtb3JlIGNsZWFyIGluIHRoZSBmdXR1cmUuICovCisvKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKiovCisvKioKKyAgVGhpcyBmaWxlIGlzIGZvciB0aHJlYWRlZCBjb2Rl
LgorCisgIC0tLS0KKyAgVGhpcyBmaWxlIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IGluc25zMnZtLnJi
CisgIERPIE5PVCBUT1VDSCEKKworICBJZiB5b3Ugd2FudCB0byBmaXggc29tZXRoaW5nLCB5b3Ug
bXVzdCBlZGl0ICJ0b29sL3J1Ynlfdm0vdmlld3Mvb3B0aW5zbi5pbmMuZXJiIgorICBvciB0b29s
L2luc25zMnZtLnJiCisgKi8KKworc3RhdGljIElOU04gKgoraW5zbl9vcGVyYW5kc191bmlmaWNh
dGlvbihJTlNOICppb2JqKQoreworI2lmZGVmIE9QVF9PUEVSQU5EU19VTklGSUNBVElPTgorICAg
IFZBTFVFICpvcCA9IGlvYmotPm9wZXJhbmRzOworCisgICAgc3dpdGNoIChpb2JqLT5pbnNuX2lk
KSB7CisgICAgZGVmYXVsdDoKKyAgICAgICAgLyogZG8gbm90aGluZyAqLzsKKyAgICAgICAgYnJl
YWs7CisKKyAgICBjYXNlIEJJTihnZXRsb2NhbCk6CisKKyAgICAgICAgLyogZ2V0bG9jYWxfV0Nf
MChpZHgpKCkodmFsKSAqLworICAgICAgICBpZiAoIG9wWzFdID09IExPTkcyTlVNKDApICkgewor
ICAgICAgICAgICAgaW9iai0+aW5zbl9pZCAgICAgID0gQklOKGdldGxvY2FsX1dDXzApOworICAg
ICAgICAgICAgaW9iai0+b3BlcmFuZF9zaXplID0gMTsKKyAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICB9CisKKyAgICAgICAgLyogZ2V0bG9jYWxfV0NfMShpZHgpKCkodmFsKSAqLworICAgICAg
ICBpZiAoIG9wWzFdID09IExPTkcyTlVNKDEpICkgeworICAgICAgICAgICAgaW9iai0+aW5zbl9p
ZCAgICAgID0gQklOKGdldGxvY2FsX1dDXzEpOworICAgICAgICAgICAgaW9iai0+b3BlcmFuZF9z
aXplID0gMTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgYnJlYWs7
CisgICAgY2FzZSBCSU4oc2V0bG9jYWwpOgorCisgICAgICAgIC8qIHNldGxvY2FsX1dDXzAoaWR4
KSh2YWwpKCkgKi8KKyAgICAgICAgaWYgKCBvcFsxXSA9PSBMT05HMk5VTSgwKSApIHsKKyAgICAg
ICAgICAgIGlvYmotPmluc25faWQgICAgICA9IEJJTihzZXRsb2NhbF9XQ18wKTsKKyAgICAgICAg
ICAgIGlvYmotPm9wZXJhbmRfc2l6ZSA9IDE7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
fQorCisgICAgICAgIC8qIHNldGxvY2FsX1dDXzEoaWR4KSh2YWwpKCkgKi8KKyAgICAgICAgaWYg
KCBvcFsxXSA9PSBMT05HMk5VTSgxKSApIHsKKyAgICAgICAgICAgIGlvYmotPmluc25faWQgICAg
ICA9IEJJTihzZXRsb2NhbF9XQ18xKTsKKyAgICAgICAgICAgIGlvYmotPm9wZXJhbmRfc2l6ZSA9
IDE7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGJyZWFrOworICAg
IGNhc2UgQklOKHB1dG9iamVjdCk6CisKKyAgICAgICAgLyogcHV0b2JqZWN0X0lOVDJGSVhfMF8o
KSgpKHZhbCkgKi8KKyAgICAgICAgaWYgKCBvcFswXSA9PSBJTlQyRklYKDApICkgeworICAgICAg
ICAgICAgaW9iai0+aW5zbl9pZCAgICAgID0gQklOKHB1dG9iamVjdF9JTlQyRklYXzBfKTsKKyAg
ICAgICAgICAgIGlvYmotPm9wZXJhbmRfc2l6ZSA9IDA7CisgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgfQorCisgICAgICAgIC8qIHB1dG9iamVjdF9JTlQyRklYXzFfKCkoKSh2YWwpICovCisg
ICAgICAgIGlmICggb3BbMF0gPT0gSU5UMkZJWCgxKSApIHsKKyAgICAgICAgICAgIGlvYmotPmlu
c25faWQgICAgICA9IEJJTihwdXRvYmplY3RfSU5UMkZJWF8xXyk7CisgICAgICAgICAgICBpb2Jq
LT5vcGVyYW5kX3NpemUgPSAwOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAg
ICAgICBicmVhazsKKyAgICB9CisjZW5kaWYKKyAgICByZXR1cm4gaW9iajsKK30KKworaW50City
Yl9pbnNuX3VuaWZpZWRfbG9jYWxfdmFyX2xldmVsKFZBTFVFIGluc24pCit7CisjaWZkZWYgT1BU
X09QRVJBTkRTX1VOSUZJQ0FUSU9OCisgICAgLyogb3B0aW1pemUgcnVsZSAqLworICAgIHN3aXRj
aCAoaW5zbikgeworICAgICAgZGVmYXVsdDoKKwlyZXR1cm4gLTE7IC8qIGRvIG5vdGhpbmcgKi87
CisgICAgICBjYXNlIEJJTihnZXRsb2NhbF9XQ18wKToKKwlyZXR1cm4gMDsKKyAgICAgIGNhc2Ug
QklOKGdldGxvY2FsX1dDXzEpOgorCXJldHVybiAxOworICAgICAgY2FzZSBCSU4oc2V0bG9jYWxf
V0NfMCk6CisJcmV0dXJuIDA7CisgICAgICBjYXNlIEJJTihzZXRsb2NhbF9XQ18xKToKKwlyZXR1
cm4gMTsKKyAgICAgIGNhc2UgQklOKHB1dG9iamVjdF9JTlQyRklYXzBfKToKKwlyZXR1cm4gSU5U
MkZJWCgwKTsKKyAgICAgIGNhc2UgQklOKHB1dG9iamVjdF9JTlQyRklYXzFfKToKKwlyZXR1cm4g
SU5UMkZJWCgxKTsKKyAgICB9CisjZW5kaWYKKyAgICByZXR1cm4gLTE7Cit9CmRpZmYgLS1naXQg
YS9nZW5lcmF0ZWQvcGFyc2UuYyBiL2dlbmVyYXRlZC9wYXJzZS5jCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLjNhNjc1ZTkKLS0tIC9kZXYvbnVsbAorKysgYi9nZW5lcmF0ZWQv
cGFyc2UuYwpAQCAtMCwwICsxLDE3NzM3IEBACisvKiBBIEJpc29uIHBhcnNlciwgbWFkZSBieSBH
TlUgQmlzb24gMy4zLjIuICAqLworCisvKiBCaXNvbiBpbXBsZW1lbnRhdGlvbiBmb3IgWWFjYy1s
aWtlIHBhcnNlcnMgaW4gQworCisgICBDb3B5cmlnaHQgKEMpIDE5ODQsIDE5ODktMTk5MCwgMjAw
MC0yMDE1LCAyMDE4LTIwMTkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLAorICAgSW5jLgorCisg
ICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yIG1vZGlmeQorICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisgICAoYXQgeW91ciBv
cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCisgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0
ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgIGJ1dCBXSVRIT1VUIEFO
WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgICBNRVJD
SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl
CisgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisgICBZ
b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZQorICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDov
L3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLworCisvKiBBcyBhIHNwZWNpYWwgZXhjZXB0aW9u
LCB5b3UgbWF5IGNyZWF0ZSBhIGxhcmdlciB3b3JrIHRoYXQgY29udGFpbnMKKyAgIHBhcnQgb3Ig
YWxsIG9mIHRoZSBCaXNvbiBwYXJzZXIgc2tlbGV0b24gYW5kIGRpc3RyaWJ1dGUgdGhhdCB3b3Jr
CisgICB1bmRlciB0ZXJtcyBvZiB5b3VyIGNob2ljZSwgc28gbG9uZyBhcyB0aGF0IHdvcmsgaXNu
J3QgaXRzZWxmIGEKKyAgIHBhcnNlciBnZW5lcmF0b3IgdXNpbmcgdGhlIHNrZWxldG9uIG9yIGEg
bW9kaWZpZWQgdmVyc2lvbiB0aGVyZW9mCisgICBhcyBhIHBhcnNlciBza2VsZXRvbi4gIEFsdGVy
bmF0aXZlbHksIGlmIHlvdSBtb2RpZnkgb3IgcmVkaXN0cmlidXRlCisgICB0aGUgcGFyc2VyIHNr
ZWxldG9uIGl0c2VsZiwgeW91IG1heSAoYXQgeW91ciBvcHRpb24pIHJlbW92ZSB0aGlzCisgICBz
cGVjaWFsIGV4Y2VwdGlvbiwgd2hpY2ggd2lsbCBjYXVzZSB0aGUgc2tlbGV0b24gYW5kIHRoZSBy
ZXN1bHRpbmcKKyAgIEJpc29uIG91dHB1dCBmaWxlcyB0byBiZSBsaWNlbnNlZCB1bmRlciB0aGUg
R05VIEdlbmVyYWwgUHVibGljCisgICBMaWNlbnNlIHdpdGhvdXQgdGhpcyBzcGVjaWFsIGV4Y2Vw
dGlvbi4KKworICAgVGhpcyBzcGVjaWFsIGV4Y2VwdGlvbiB3YXMgYWRkZWQgYnkgdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbiBpbgorICAgdmVyc2lvbiAyLjIgb2YgQmlzb24uICAqLworCisv
KiBDIExBTFIoMSkgcGFyc2VyIHNrZWxldG9uIHdyaXR0ZW4gYnkgUmljaGFyZCBTdGFsbG1hbiwg
YnkKKyAgIHNpbXBsaWZ5aW5nIHRoZSBvcmlnaW5hbCBzby1jYWxsZWQgInNlbWFudGljIiBwYXJz
ZXIuICAqLworCisvKiBBbGwgc3ltYm9scyBkZWZpbmVkIGJlbG93IHNob3VsZCBiZWdpbiB3aXRo
IHl5IG9yIFlZLCB0byBhdm9pZAorICAgaW5mcmluZ2luZyBvbiB1c2VyIG5hbWUgc3BhY2UuICBU
aGlzIHNob3VsZCBiZSBkb25lIGV2ZW4gZm9yIGxvY2FsCisgICB2YXJpYWJsZXMsIGFzIHRoZXkg
bWlnaHQgb3RoZXJ3aXNlIGJlIGV4cGFuZGVkIGJ5IHVzZXIgbWFjcm9zLgorICAgVGhlcmUgYXJl
IHNvbWUgdW5hdm9pZGFibGUgZXhjZXB0aW9ucyB3aXRoaW4gaW5jbHVkZSBmaWxlcyB0bworICAg
ZGVmaW5lIG5lY2Vzc2FyeSBsaWJyYXJ5IHN5bWJvbHM7IHRoZXkgYXJlIG5vdGVkICJJTkZSSU5H
RVMgT04KKyAgIFVTRVIgTkFNRSBTUEFDRSIgYmVsb3cuICAqLworCisvKiBVbmRvY3VtZW50ZWQg
bWFjcm9zLCBlc3BlY2lhbGx5IHRob3NlIHdob3NlIG5hbWUgc3RhcnQgd2l0aCBZWV8sCisgICBh
cmUgcHJpdmF0ZSBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzLiAgRG8gbm90IHJlbHkgb24gdGhlbS4g
ICovCisKKy8qIElkZW50aWZ5IEJpc29uIG91dHB1dC4gICovCisjZGVmaW5lIFlZQklTT04gMQor
CisvKiBCaXNvbiB2ZXJzaW9uLiAgKi8KKyNkZWZpbmUgWVlCSVNPTl9WRVJTSU9OICIzLjMuMiIK
KworLyogU2tlbGV0b24gbmFtZS4gICovCisjZGVmaW5lIFlZU0tFTEVUT05fTkFNRSAieWFjYy5j
IgorCisvKiBQdXJlIHBhcnNlcnMuICAqLworI2RlZmluZSBZWVBVUkUgMQorCisvKiBQdXNoIHBh
cnNlcnMuICAqLworI2RlZmluZSBZWVBVU0ggMAorCisvKiBQdWxsIHBhcnNlcnMuICAqLworI2Rl
ZmluZSBZWVBVTEwgMQorCisKKworCisvKiBGaXJzdCBwYXJ0IG9mIHVzZXIgcHJvbG9ndWUuICAq
LworI2xpbmUgMTIgInBhcnNlLnkiIC8qIHlhY2MuYzozMzcgICovCisKKworI2lmICFZWVBVUkUK
KyMgZXJyb3IgbmVlZHMgcHVyZSBwYXJzZXIKKyNlbmRpZgorI2RlZmluZSBZWURFQlVHIDEKKyNk
ZWZpbmUgWVlFUlJPUl9WRVJCT1NFIDEKKyNkZWZpbmUgWVlTVEFDS19VU0VfQUxMT0NBIDAKKyNk
ZWZpbmUgWVlMVFlQRSByYl9jb2RlX2xvY2F0aW9uX3QKKyNkZWZpbmUgWVlMVFlQRV9JU19ERUNM
QVJFRCAxCisKKyNpbmNsdWRlICJydWJ5L3J1YnkuaCIKKyNpbmNsdWRlICJydWJ5L3N0LmgiCisj
aW5jbHVkZSAicnVieS9lbmNvZGluZy5oIgorI2luY2x1ZGUgImludGVybmFsLmgiCisjaW5jbHVk
ZSAibm9kZS5oIgorI2luY2x1ZGUgInBhcnNlLmgiCisjaW5jbHVkZSAic3ltYm9sLmgiCisjaW5j
bHVkZSAicmVnZW5jLmgiCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxlcnJuby5oPgor
I2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSAicHJvYmVzLmgiCisKKyNpZm5kZWYgV0FSTl9Q
QVNUX1NDT1BFCisjIGRlZmluZSBXQVJOX1BBU1RfU0NPUEUgMAorI2VuZGlmCisKKyNkZWZpbmUg
VEFCX1dJRFRIIDgKKworI2RlZmluZSB5eWRlYnVnIChwLT5kZWJ1ZykJLyogZGlzYWJsZSB0aGUg
Z2xvYmFsIHZhcmlhYmxlIGRlZmluaXRpb24gKi8KKworI2RlZmluZSBZWU1BTExPQyhzaXplKQkJ
cmJfcGFyc2VyX21hbGxvYyhwLCAoc2l6ZSkpCisjZGVmaW5lIFlZUkVBTExPQyhwdHIsIHNpemUp
CXJiX3BhcnNlcl9yZWFsbG9jKHAsIChwdHIpLCAoc2l6ZSkpCisjZGVmaW5lIFlZQ0FMTE9DKG5l
bGVtLCBzaXplKQlyYl9wYXJzZXJfY2FsbG9jKHAsIChuZWxlbSksIChzaXplKSkKKyNkZWZpbmUg
WVlGUkVFKHB0cikJCXJiX3BhcnNlcl9mcmVlKHAsIChwdHIpKQorI2RlZmluZSBZWUZQUklOVEYJ
CXJiX3BhcnNlcl9wcmludGYKKyNkZWZpbmUgWVlQUklOVChvdXQsIHRvaywgdmFsKQlwYXJzZXJf
dG9rZW5fdmFsdWVfcHJpbnQocCwgKHRvayksICYodmFsKSkKKyNkZWZpbmUgWVlfTE9DQVRJT05f
UFJJTlQoRmlsZSwgbG9jKSBcCisgICAgIHJiX3BhcnNlcl9wcmludGYocCwgIiVkLiVkLSVkLiVk
IiwgXAorCQkgICAgICAobG9jKS5iZWdfcG9zLmxpbmVubywgKGxvYykuYmVnX3Bvcy5jb2x1bW4s
XAorCQkgICAgICAobG9jKS5lbmRfcG9zLmxpbmVubywgKGxvYykuZW5kX3Bvcy5jb2x1bW4pCisj
ZGVmaW5lIFlZTExPQ19ERUZBVUxUKEN1cnJlbnQsIFJocywgTikJCQkJCVwKKyAgICBkbwkJCQkJ
CQkJCVwKKyAgICAgIGlmIChOKQkJCQkJCQkJXAorCXsJCQkJCQkJCVwKKwkgIChDdXJyZW50KS5i
ZWdfcG9zID0gWVlSSFNMT0MoUmhzLCAxKS5iZWdfcG9zOwkJCVwKKwkgIChDdXJyZW50KS5lbmRf
cG9zID0gWVlSSFNMT0MoUmhzLCBOKS5lbmRfcG9zOwkJCVwKKwl9CQkJCQkJCQlcCisgICAgICBl
bHNlCQkJCQkJCQlcCisgICAgICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgKEN1cnJlbnQpLmJlZ19w
b3MgPSBZWVJIU0xPQyhSaHMsIDApLmVuZF9wb3M7ICAgICAgICAgICAgICAgICBcCisgICAgICAg
ICAgKEN1cnJlbnQpLmVuZF9wb3MgPSBZWVJIU0xPQyhSaHMsIDApLmVuZF9wb3M7ICAgICAgICAg
ICAgICAgICBcCisgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgd2hpbGUgKDApCisKKyNkZWZpbmUgUlVC
WV9TRVRfWVlMTE9DX0ZST01fU1RSVEVSTV9IRVJFRE9DKEN1cnJlbnQpCQkJXAorICAgIHJiX3Bh
cnNlcl9zZXRfbG9jYXRpb25fZnJvbV9zdHJ0ZXJtX2hlcmVkb2MocCwgJnAtPmxleC5zdHJ0ZXJt
LT51LmhlcmVkb2MsICYoQ3VycmVudCkpCisjZGVmaW5lIFJVQllfU0VUX1lZTExPQ19PRl9OT05F
KEN1cnJlbnQpCQkJCQlcCisgICAgcmJfcGFyc2VyX3NldF9sb2NhdGlvbl9vZl9ub25lKHAsICYo
Q3VycmVudCkpCisjZGVmaW5lIFJVQllfU0VUX1lZTExPQyhDdXJyZW50KQkJCQkJXAorICAgIHJi
X3BhcnNlcl9zZXRfbG9jYXRpb24ocCwgJihDdXJyZW50KSkKKworZW51bSBsZXhfc3RhdGVfYml0
cyB7CisgICAgRVhQUl9CRUdfYml0LAkJLyogaWdub3JlIG5ld2xpbmUsICsvLSBpcyBhIHNpZ24u
ICovCisgICAgRVhQUl9FTkRfYml0LAkJLyogbmV3bGluZSBzaWduaWZpY2FudCwgKy8tIGlzIGFu
IG9wZXJhdG9yLiAqLworICAgIEVYUFJfRU5EQVJHX2JpdCwJCS8qIGRpdHRvLCBhbmQgdW5ib3Vu
ZCBicmFjZXMuICovCisgICAgRVhQUl9FTkRGTl9iaXQsCQkvKiBkaXR0bywgYW5kIHVuYm91bmQg
YnJhY2VzLiAqLworICAgIEVYUFJfQVJHX2JpdCwJCS8qIG5ld2xpbmUgc2lnbmlmaWNhbnQsICsv
LSBpcyBhbiBvcGVyYXRvci4gKi8KKyAgICBFWFBSX0NNREFSR19iaXQsCQkvKiBuZXdsaW5lIHNp
Z25pZmljYW50LCArLy0gaXMgYW4gb3BlcmF0b3IuICovCisgICAgRVhQUl9NSURfYml0LAkJLyog
bmV3bGluZSBzaWduaWZpY2FudCwgKy8tIGlzIGFuIG9wZXJhdG9yLiAqLworICAgIEVYUFJfRk5B
TUVfYml0LAkJLyogaWdub3JlIG5ld2xpbmUsIG5vIHJlc2VydmVkIHdvcmRzLiAqLworICAgIEVY
UFJfRE9UX2JpdCwJCS8qIHJpZ2h0IGFmdGVyIGAuJyBvciBgOjonLCBubyByZXNlcnZlZCB3b3Jk
cy4gKi8KKyAgICBFWFBSX0NMQVNTX2JpdCwJCS8qIGltbWVkaWF0ZSBhZnRlciBgY2xhc3MnLCBu
byBoZXJlIGRvY3VtZW50LiAqLworICAgIEVYUFJfTEFCRUxfYml0LAkJLyogZmxhZyBiaXQsIGxh
YmVsIGlzIGFsbG93ZWQuICovCisgICAgRVhQUl9MQUJFTEVEX2JpdCwJCS8qIGZsYWcgYml0LCBq
dXN0IGFmdGVyIGEgbGFiZWwuICovCisgICAgRVhQUl9GSVRFTV9iaXQsCQkvKiBzeW1ib2wgbGl0
ZXJhbCBhcyBGTkFNRS4gKi8KKyAgICBFWFBSX01BWF9TVEFURQorfTsKKy8qIGV4YW1pbmUgY29t
YmluYXRpb25zICovCitlbnVtIGxleF9zdGF0ZV9lIHsKKyNkZWZpbmUgREVGX0VYUFIobikgRVhQ
Ul8jI24gPSAoMSA8PCBFWFBSXyMjbiMjX2JpdCkKKyAgICBERUZfRVhQUihCRUcpLAorICAgIERF
Rl9FWFBSKEVORCksCisgICAgREVGX0VYUFIoRU5EQVJHKSwKKyAgICBERUZfRVhQUihFTkRGTiks
CisgICAgREVGX0VYUFIoQVJHKSwKKyAgICBERUZfRVhQUihDTURBUkcpLAorICAgIERFRl9FWFBS
KE1JRCksCisgICAgREVGX0VYUFIoRk5BTUUpLAorICAgIERFRl9FWFBSKERPVCksCisgICAgREVG
X0VYUFIoQ0xBU1MpLAorICAgIERFRl9FWFBSKExBQkVMKSwKKyAgICBERUZfRVhQUihMQUJFTEVE
KSwKKyAgICBERUZfRVhQUihGSVRFTSksCisgICAgRVhQUl9WQUxVRSA9IEVYUFJfQkVHLAorICAg
IEVYUFJfQkVHX0FOWSAgPSAgKEVYUFJfQkVHIHwgRVhQUl9NSUQgfCBFWFBSX0NMQVNTKSwKKyAg
ICBFWFBSX0FSR19BTlkgID0gIChFWFBSX0FSRyB8IEVYUFJfQ01EQVJHKSwKKyAgICBFWFBSX0VO
RF9BTlkgID0gIChFWFBSX0VORCB8IEVYUFJfRU5EQVJHIHwgRVhQUl9FTkRGTiksCisgICAgRVhQ
Ul9OT05FID0gMAorfTsKKyNkZWZpbmUgSVNfbGV4X3N0YXRlX2Zvcih4LCBscykJKCh4KSAmIChs
cykpCisjZGVmaW5lIElTX2xleF9zdGF0ZV9hbGxfZm9yKHgsIGxzKSAoKCh4KSAmIChscykpID09
IChscykpCisjZGVmaW5lIElTX2xleF9zdGF0ZShscykJSVNfbGV4X3N0YXRlX2ZvcihwLT5sZXgu
c3RhdGUsIChscykpCisjZGVmaW5lIElTX2xleF9zdGF0ZV9hbGwobHMpCUlTX2xleF9zdGF0ZV9h
bGxfZm9yKHAtPmxleC5zdGF0ZSwgKGxzKSkKKworIyBkZWZpbmUgU0VUX0xFWF9TVEFURShscykg
XAorICAgIChwLT5sZXguc3RhdGUgPSBcCisgICAgIChwLT5kZWJ1ZyA/IFwKKyAgICAgIHJiX3Bh
cnNlcl90cmFjZV9sZXhfc3RhdGUocCwgcC0+bGV4LnN0YXRlLCAobHMpLCBfX0xJTkVfXykgOiBc
CisgICAgICAoZW51bSBsZXhfc3RhdGVfZSkobHMpKSkKKwordHlwZWRlZiBWQUxVRSBzdGFja190
eXBlOworCitzdGF0aWMgY29uc3QgcmJfY29kZV9sb2NhdGlvbl90IE5VTExfTE9DID0geyB7MCwg
LTF9LCB7MCwgLTF9IH07CisKKyMgZGVmaW5lIFNIT1dfQklUU1RBQ0soc3RhY2ssIG5hbWUpIChw
LT5kZWJ1ZyA/IHJiX3BhcnNlcl9zaG93X2JpdHN0YWNrKHAsIHN0YWNrLCBuYW1lLCBfX0xJTkVf
XykgOiAodm9pZCkwKQorIyBkZWZpbmUgQklUU1RBQ0tfUFVTSChzdGFjaywgbikgKCgocC0+c3Rh
Y2spID0gKChwLT5zdGFjayk8PDEpfCgobikmMSkpLCBTSE9XX0JJVFNUQUNLKHAtPnN0YWNrLCAj
c3RhY2siKHB1c2gpIikpCisjIGRlZmluZSBCSVRTVEFDS19QT1Aoc3RhY2spCSAoKChwLT5zdGFj
aykgPSAocC0+c3RhY2spID4+IDEpLCBTSE9XX0JJVFNUQUNLKHAtPnN0YWNrLCAjc3RhY2siKHBv
cCkiKSkKKyMgZGVmaW5lIEJJVFNUQUNLX1NFVF9QKHN0YWNrKQkgKFNIT1dfQklUU1RBQ0socC0+
c3RhY2ssICNzdGFjayksIChwLT5zdGFjaykmMSkKKyMgZGVmaW5lIEJJVFNUQUNLX1NFVChzdGFj
aywgbikJICgocC0+c3RhY2spPShuKSwgU0hPV19CSVRTVEFDSyhwLT5zdGFjaywgI3N0YWNrIihz
ZXQpIikpCisKKy8qIEEgZmxhZyB0byBpZGVudGlmeSBrZXl3b3JkX2RvX2NvbmQsICJkbyIga2V5
d29yZCBhZnRlciBjb25kaXRpb24gZXhwcmVzc2lvbi4KKyAgIEV4YW1wbGVzOiBgd2hpbGUgLi4u
IGRvYCwgYHVudGlsIC4uLiBkb2AsIGFuZCBgZm9yIC4uLiBpbiAuLi4gZG9gICovCisjZGVmaW5l
IENPTkRfUFVTSChuKQlCSVRTVEFDS19QVVNIKGNvbmRfc3RhY2ssIChuKSkKKyNkZWZpbmUgQ09O
RF9QT1AoKQlCSVRTVEFDS19QT1AoY29uZF9zdGFjaykKKyNkZWZpbmUgQ09ORF9QKCkJQklUU1RB
Q0tfU0VUX1AoY29uZF9zdGFjaykKKyNkZWZpbmUgQ09ORF9TRVQobikJQklUU1RBQ0tfU0VUKGNv
bmRfc3RhY2ssIChuKSkKKworLyogQSBmbGFnIHRvIGlkZW50aWZ5IGtleXdvcmRfZG9fYmxvY2s7
ICJkbyIga2V5d29yZCBhZnRlciBjb21tYW5kX2NhbGwuCisgICBFeGFtcGxlOiBgZm9vIDEsIDIg
ZG9gLiAqLworI2RlZmluZSBDTURBUkdfUFVTSChuKQlCSVRTVEFDS19QVVNIKGNtZGFyZ19zdGFj
aywgKG4pKQorI2RlZmluZSBDTURBUkdfUE9QKCkJQklUU1RBQ0tfUE9QKGNtZGFyZ19zdGFjaykK
KyNkZWZpbmUgQ01EQVJHX1AoKQlCSVRTVEFDS19TRVRfUChjbWRhcmdfc3RhY2spCisjZGVmaW5l
IENNREFSR19TRVQobikJQklUU1RBQ0tfU0VUKGNtZGFyZ19zdGFjaywgKG4pKQorCitzdHJ1Y3Qg
dnRhYmxlIHsKKyAgICBJRCAqdGJsOworICAgIGludCBwb3M7CisgICAgaW50IGNhcGE7CisgICAg
c3RydWN0IHZ0YWJsZSAqcHJldjsKK307CisKK3N0cnVjdCBsb2NhbF92YXJzIHsKKyAgICBzdHJ1
Y3QgdnRhYmxlICphcmdzOworICAgIHN0cnVjdCB2dGFibGUgKnZhcnM7CisgICAgc3RydWN0IHZ0
YWJsZSAqdXNlZDsKKyMgaWYgV0FSTl9QQVNUX1NDT1BFCisgICAgc3RydWN0IHZ0YWJsZSAqcGFz
dDsKKyMgZW5kaWYKKyAgICBzdHJ1Y3QgbG9jYWxfdmFycyAqcHJldjsKK307CisKKyNkZWZpbmUg
RFZBUlNfSU5IRVJJVCAoKHZvaWQqKTEpCisjZGVmaW5lIERWQVJTX1RPUFNDT1BFIE5VTEwKKyNk
ZWZpbmUgRFZBUlNfVEVSTUlOQUxfUCh0YmwpICgodGJsKSA9PSBEVkFSU19JTkhFUklUIHx8ICh0
YmwpID09IERWQVJTX1RPUFNDT1BFKQorCit0eXBlZGVmIHN0cnVjdCB0b2tlbl9pbmZvIHsKKyAg
ICBjb25zdCBjaGFyICp0b2tlbjsKKyAgICBpbnQgbGluZW51bTsKKyAgICBpbnQgY29sdW1uOwor
ICAgIGludCBub25zcGM7CisgICAgc3RydWN0IHRva2VuX2luZm8gKm5leHQ7Cit9IHRva2VuX2lu
Zm87CisKK3R5cGVkZWYgc3RydWN0IHJiX3N0cnRlcm1fc3RydWN0IHJiX3N0cnRlcm1fdDsKKwor
LyoKKyAgICBTdHJ1Y3R1cmUgb2YgTGV4ZXIgQnVmZmVyOgorCisgbGV4LnBiZWcgICAgIGxleC5w
dG9rICAgICBsZXgucGN1ciAgICAgbGV4LnBlbmQKKyAgICB8ICAgICAgICAgICAgfCAgICAgICAg
ICAgIHwgICAgICAgICAgICB8CisgICAgfC0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0t
LS0tLS0tfAorICAgICAgICAgICAgICAgICB8PC0tLS0tLS0tLS0+fAorICAgICAgICAgICAgICAg
ICAgICAgdG9rZW4KKyovCitzdHJ1Y3QgcGFyc2VyX3BhcmFtcyB7CisgICAgcmJfaW1lbW9fdG1w
YnVmX3QgKmhlYXA7CisKKyAgICBZWVNUWVBFICpsdmFsOworCisgICAgc3RydWN0IHsKKwlyYl9z
dHJ0ZXJtX3QgKnN0cnRlcm07CisJVkFMVUUgKCpnZXRzKShzdHJ1Y3QgcGFyc2VyX3BhcmFtcyos
VkFMVUUpOworCVZBTFVFIGlucHV0OworCVZBTFVFIHByZXZsaW5lOworCVZBTFVFIGxhc3RsaW5l
OworCVZBTFVFIG5leHRsaW5lOworCWNvbnN0IGNoYXIgKnBiZWc7CisJY29uc3QgY2hhciAqcGN1
cjsKKwljb25zdCBjaGFyICpwZW5kOworCWNvbnN0IGNoYXIgKnB0b2s7CisJdW5pb24geworCSAg
ICBsb25nIHB0cjsKKwkgICAgVkFMVUUgKCpjYWxsKShWQUxVRSwgaW50KTsKKwl9IGdldHNfOwor
CWVudW0gbGV4X3N0YXRlX2Ugc3RhdGU7CisJLyogdHJhY2sgdGhlIG5lc3QgbGV2ZWwgb2YgYW55
IHBhcmVucyAiKClbXXt9IiAqLworCWludCBwYXJlbl9uZXN0OworCS8qIGtlZXAgcC0+bGV4LnBh
cmVuX25lc3QgYXQgdGhlIGJlZ2lubmluZyBvZiBsYW1iZGEgIi0+IiB0byBkZXRlY3QgdExBTUJF
RyBhbmQga2V5d29yZF9kb19MQU1CREEgKi8KKwlpbnQgbHBhcl9iZWc7CisJLyogdHJhY2sgdGhl
IG5lc3QgbGV2ZWwgb2Ygb25seSBicmFjZXMgInt9IiAqLworCWludCBicmFjZV9uZXN0OworICAg
IH0gbGV4OworICAgIHN0YWNrX3R5cGUgY29uZF9zdGFjazsKKyAgICBzdGFja190eXBlIGNtZGFy
Z19zdGFjazsKKyAgICBpbnQgdG9raWR4OworICAgIGludCB0b2tzaXo7CisgICAgaW50IHRva2xp
bmU7CisgICAgaW50IGhlcmVkb2NfZW5kOworICAgIGludCBoZXJlZG9jX2luZGVudDsKKyAgICBp
bnQgaGVyZWRvY19saW5lX2luZGVudDsKKyAgICBjaGFyICp0b2tlbmJ1ZjsKKyAgICBzdHJ1Y3Qg
bG9jYWxfdmFycyAqbHZ0Ymw7CisgICAgaW50IGxpbmVfY291bnQ7CisgICAgaW50IHJ1Ynlfc291
cmNlbGluZTsJLyogY3VycmVudCBsaW5lIG5vLiAqLworICAgIGNvbnN0IGNoYXIgKnJ1Ynlfc291
cmNlZmlsZTsgLyogY3VycmVudCBzb3VyY2UgZmlsZSAqLworICAgIFZBTFVFIHJ1Ynlfc291cmNl
ZmlsZV9zdHJpbmc7CisgICAgcmJfZW5jb2RpbmcgKmVuYzsKKyAgICB0b2tlbl9pbmZvICp0b2tl
bl9pbmZvOworICAgIFZBTFVFIGNvbXBpbGVfb3B0aW9uOworCisgICAgVkFMVUUgZGVidWdfYnVm
ZmVyOworICAgIFZBTFVFIGRlYnVnX291dHB1dDsKKworICAgIElEIGN1cl9hcmc7CisKKyAgICBy
Yl9hc3RfdCAqYXN0OworICAgIGludCBub2RlX2lkOworCisgICAgdW5zaWduZWQgaW50IGNvbW1h
bmRfc3RhcnQ6MTsKKyAgICB1bnNpZ25lZCBpbnQgZW9mcDogMTsKKyAgICB1bnNpZ25lZCBpbnQg
cnVieV9fZW5kX19zZWVuOiAxOworICAgIHVuc2lnbmVkIGludCBkZWJ1ZzogMTsKKyAgICB1bnNp
Z25lZCBpbnQgaGFzX3NoZWJhbmc6IDE7CisgICAgdW5zaWduZWQgaW50IGluX2RlZmluZWQ6IDE7
CisgICAgdW5zaWduZWQgaW50IGluX21haW46IDE7CisgICAgdW5zaWduZWQgaW50IGluX2t3YXJn
OiAxOworICAgIHVuc2lnbmVkIGludCBpbl9kZWY6IDE7CisgICAgdW5zaWduZWQgaW50IGluX2Ns
YXNzOiAxOworICAgIHVuc2lnbmVkIGludCB0b2tlbl9zZWVuOiAxOworICAgIHVuc2lnbmVkIGlu
dCB0b2tlbl9pbmZvX2VuYWJsZWQ6IDE7CisjIGlmIFdBUk5fUEFTVF9TQ09QRQorICAgIHVuc2ln
bmVkIGludCBwYXN0X3Njb3BlX2VuYWJsZWQ6IDE7CisjIGVuZGlmCisgICAgdW5zaWduZWQgaW50
IGVycm9yX3A6IDE7CisgICAgdW5zaWduZWQgaW50IGNyX3NlZW46IDE7CisKKyNpZm5kZWYgUklQ
UEVSCisgICAgLyogUnVieSBjb3JlIG9ubHkgKi8KKworICAgIHVuc2lnbmVkIGludCBkb19wcmlu
dDogMTsKKyAgICB1bnNpZ25lZCBpbnQgZG9fbG9vcDogMTsKKyAgICB1bnNpZ25lZCBpbnQgZG9f
Y2hvbXA6IDE7CisgICAgdW5zaWduZWQgaW50IGRvX3NwbGl0OiAxOworICAgIHVuc2lnbmVkIGlu
dCB3YXJuX2xvY2F0aW9uOiAxOworCisgICAgTk9ERSAqZXZhbF90cmVlX2JlZ2luOworICAgIE5P
REUgKmV2YWxfdHJlZTsKKyAgICBWQUxVRSBlcnJvcl9idWZmZXI7CisgICAgVkFMVUUgZGVidWdf
bGluZXM7CisgICAgY29uc3Qgc3RydWN0IHJiX2Jsb2NrICpiYXNlX2Jsb2NrOworI2Vsc2UKKyAg
ICAvKiBSaXBwZXIgb25seSAqLworCisgICAgVkFMVUUgZGVsYXllZDsKKyAgICBpbnQgZGVsYXll
ZF9saW5lOworICAgIGludCBkZWxheWVkX2NvbDsKKworICAgIFZBTFVFIHZhbHVlOworICAgIFZB
TFVFIHJlc3VsdDsKKyAgICBWQUxVRSBwYXJzaW5nX3RocmVhZDsKKyNlbmRpZgorfTsKKworI2Rl
ZmluZSBuZXdfdG1wYnVmKCkgXAorICAgIChyYl9pbWVtb190bXBidWZfdCAqKWFkZF9tYXJrX29i
amVjdChwLCByYl9pbWVtb190bXBidWZfYXV0b19mcmVlX3BvaW50ZXIoTlVMTCkpCisKKyNkZWZp
bmUgaW50ZXJuX2NzdHIobixsLGVuKSByYl9pbnRlcm4zKG4sbCxlbikKKworI2RlZmluZSBTVFJf
TkVXKHB0cixsZW4pIHJiX2VuY19zdHJfbmV3KChwdHIpLChsZW4pLHAtPmVuYykKKyNkZWZpbmUg
U1RSX05FVzAoKSByYl9lbmNfc3RyX25ldygwLDAscC0+ZW5jKQorI2RlZmluZSBTVFJfTkVXMihw
dHIpIHJiX2VuY19zdHJfbmV3KChwdHIpLHN0cmxlbihwdHIpLHAtPmVuYykKKyNkZWZpbmUgU1RS
X05FVzMocHRyLGxlbixlLGZ1bmMpIHBhcnNlcl9zdHJfbmV3KChwdHIpLChsZW4pLChlKSwoZnVu
YykscC0+ZW5jKQorI2RlZmluZSBUT0tfSU5URVJOKCkgaW50ZXJuX2NzdHIodG9rKHApLCB0b2ts
ZW4ocCksIHAtPmVuYykKKworc3RhdGljIGludCBwYXJzZXJfeXllcnJvcihzdHJ1Y3QgcGFyc2Vy
X3BhcmFtcyosIGNvbnN0IFlZTFRZUEUgKnl5bGxvYywgY29uc3QgY2hhciopOworI2RlZmluZSB5
eWVycm9yMChtc2cpIHBhcnNlcl95eWVycm9yKHAsIE5VTEwsIChtc2cpKQorI2RlZmluZSB5eWVy
cm9yMShsb2MsIG1zZykgcGFyc2VyX3l5ZXJyb3IocCwgKGxvYyksIChtc2cpKQorI2RlZmluZSB5
eWVycm9yKHl5bGxvYywgcCwgbXNnKSBwYXJzZXJfeXllcnJvcihwLCB5eWxsb2MsIG1zZykKKyNk
ZWZpbmUgdG9rZW5fZmx1c2gocHRyKSAoKHB0ciktPmxleC5wdG9rID0gKHB0ciktPmxleC5wY3Vy
KQorCisjaWZkZWYgUklQUEVSCisjZGVmaW5lIGNvbXBpbGVfZm9yX2V2YWwJKDApCisjZWxzZQor
I2RlZmluZSBjb21waWxlX2Zvcl9ldmFsCShwLT5iYXNlX2Jsb2NrICE9IDAgJiYgIXAtPmluX21h
aW4pCisjZW5kaWYKKworI2RlZmluZSB0b2tlbl9jb2x1bW4JCSgoaW50KShwLT5sZXgucHRvayAt
IHAtPmxleC5wYmVnKSkKKworI2RlZmluZSBDQUxMX1FfUChxKSAoKHEpID09IFRPS0VOMlZBTCh0
QU5ERE9UKSkKKyNkZWZpbmUgTk9ERV9DQUxMX1EocSkgKENBTExfUV9QKHEpID8gTk9ERV9RQ0FM
TCA6IE5PREVfQ0FMTCkKKyNkZWZpbmUgTkVXX1FDQUxMKHEscixtLGEsbG9jKSBORVdfTk9ERShO
T0RFX0NBTExfUShxKSxyLG0sYSxsb2MpCisKKyNkZWZpbmUgbGFtYmRhX2JlZ2lubmluZ19wKCkg
KHAtPmxleC5scGFyX2JlZyA9PSBwLT5sZXgucGFyZW5fbmVzdCkKKworc3RhdGljIGVudW0geXl0
b2tlbnR5cGUgeXlsZXgoWVlTVFlQRSosIFlZTFRZUEUqLCBzdHJ1Y3QgcGFyc2VyX3BhcmFtcyop
OworCisjaWZuZGVmIFJJUFBFUgorc3RhdGljIGlubGluZSB2b2lkCityYl9kaXNjYXJkX25vZGUo
c3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIE5PREUgKm4pCit7CisgICAgcmJfYXN0X2RlbGV0ZV9u
b2RlKHAtPmFzdCwgbik7Cit9CisjZW5kaWYKKworc3RhdGljIGlubGluZSBWQUxVRQorYWRkX21h
cmtfb2JqZWN0KHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBWQUxVRSBvYmopCit7CisgICAgaWYg
KCFTUEVDSUFMX0NPTlNUX1Aob2JqKQorI2lmZGVmIFJJUFBFUgorCSYmICFSQl9UWVBFX1Aob2Jq
LCBUX05PREUpIC8qIFJpcHBlciBqdW1ibGVzIE5PREUgb2JqZWN0cyBhbmQgb3RoZXIgb2JqZWN0
cy4uLiAqLworI2VuZGlmCisgICAgKSB7CisJcmJfYXN0X2FkZF9tYXJrX29iamVjdChwLT5hc3Qs
IG9iaik7CisgICAgfQorICAgIHJldHVybiBvYmo7Cit9CisKK3N0YXRpYyBOT0RFKiBub2RlX25l
d25vZGUoc3RydWN0IHBhcnNlcl9wYXJhbXMgKiwgZW51bSBub2RlX3R5cGUsIFZBTFVFLCBWQUxV
RSwgVkFMVUUsIGNvbnN0IHJiX2NvZGVfbG9jYXRpb25fdCopOworI2RlZmluZSByYl9ub2RlX25l
d25vZGUodHlwZSwgYTEsIGEyLCBhMywgbG9jKSBub2RlX25ld25vZGUocCwgKHR5cGUpLCAoYTEp
LCAoYTIpLCAoYTMpLCAobG9jKSkKKworc3RhdGljIE5PREUgKm5kX3NldF9sb2MoTk9ERSAqbmQs
IGNvbnN0IFlZTFRZUEUgKmxvYyk7CisKK3N0YXRpYyBpbnQKK3BhcnNlcl9nZXRfbm9kZV9pZChz
dHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCkKK3sKKyAgICBpbnQgbm9kZV9pZCA9IHAtPm5vZGVfaWQ7
CisgICAgcC0+bm9kZV9pZCsrOworICAgIHJldHVybiBub2RlX2lkOworfQorCisjaWZuZGVmIFJJ
UFBFUgorc3RhdGljIGlubGluZSB2b2lkCitzZXRfbGluZV9ib2R5KE5PREUgKmJvZHksIGludCBs
aW5lKQoreworICAgIGlmICghYm9keSkgcmV0dXJuOworICAgIHN3aXRjaCAobmRfdHlwZShib2R5
KSkgeworICAgICAgY2FzZSBOT0RFX1JFU0NVRToKKyAgICAgIGNhc2UgTk9ERV9FTlNVUkU6CisJ
bmRfc2V0X2xpbmUoYm9keSwgbGluZSk7CisgICAgfQorfQorCisjZGVmaW5lIHl5cGFyc2UgcnVi
eV95eXBhcnNlCisKK3N0YXRpYyBOT0RFKiBjb25kKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBO
T0RFICpub2RlLCBjb25zdCBZWUxUWVBFICpsb2MpOworc3RhdGljIE5PREUqIG1ldGhvZF9jb25k
KHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBOT0RFICpub2RlLCBjb25zdCBZWUxUWVBFICpsb2Mp
OworI2RlZmluZSBuZXdfbmlsKGxvYykgTkVXX05JTChsb2MpCitzdGF0aWMgTk9ERSAqbmV3X2lm
KHN0cnVjdCBwYXJzZXJfcGFyYW1zKixOT0RFKixOT0RFKixOT0RFKixjb25zdCBZWUxUWVBFKik7
CitzdGF0aWMgTk9ERSAqbmV3X3VubGVzcyhzdHJ1Y3QgcGFyc2VyX3BhcmFtcyosTk9ERSosTk9E
RSosTk9ERSosY29uc3QgWVlMVFlQRSopOworc3RhdGljIE5PREUgKmxvZ29wKHN0cnVjdCBwYXJz
ZXJfcGFyYW1zKixJRCxOT0RFKixOT0RFKixjb25zdCBZWUxUWVBFKixjb25zdCBZWUxUWVBFKik7
CisKK3N0YXRpYyBOT0RFICpuZXdsaW5lX25vZGUoTk9ERSopOworc3RhdGljIHZvaWQgZml4cG9z
KE5PREUqLE5PREUqKTsKKworc3RhdGljIGludCB2YWx1ZV9leHByX2dlbihzdHJ1Y3QgcGFyc2Vy
X3BhcmFtcyosTk9ERSopOworc3RhdGljIHZvaWQgdm9pZF9leHByKHN0cnVjdCBwYXJzZXJfcGFy
YW1zKixOT0RFKik7CitzdGF0aWMgTk9ERSAqcmVtb3ZlX2JlZ2luKE5PREUqKTsKK3N0YXRpYyBO
T0RFICpyZW1vdmVfYmVnaW5fYWxsKE5PREUqKTsKKyNkZWZpbmUgdmFsdWVfZXhwcihub2RlKSB2
YWx1ZV9leHByX2dlbihwLCAobm9kZSkgPSByZW1vdmVfYmVnaW4obm9kZSkpCitzdGF0aWMgTk9E
RSAqdm9pZF9zdG10cyhzdHJ1Y3QgcGFyc2VyX3BhcmFtcyosTk9ERSopOworc3RhdGljIHZvaWQg
cmVkdWNlX25vZGVzKHN0cnVjdCBwYXJzZXJfcGFyYW1zKixOT0RFKiopOworc3RhdGljIHZvaWQg
YmxvY2tfZHVwX2NoZWNrKHN0cnVjdCBwYXJzZXJfcGFyYW1zKixOT0RFKixOT0RFKik7CisKK3N0
YXRpYyBOT0RFICpibG9ja19hcHBlbmQoc3RydWN0IHBhcnNlcl9wYXJhbXMqLE5PREUqLE5PREUq
KTsKK3N0YXRpYyBOT0RFICpsaXN0X2FwcGVuZChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyosTk9ERSos
Tk9ERSopOworc3RhdGljIE5PREUgKmxpc3RfY29uY2F0KE5PREUqLE5PREUqKTsKK3N0YXRpYyBO
T0RFICphcmdfYXBwZW5kKHN0cnVjdCBwYXJzZXJfcGFyYW1zKixOT0RFKixOT0RFKixjb25zdCBZ
WUxUWVBFKik7CitzdGF0aWMgTk9ERSAqbGFzdF9hcmdfYXBwZW5kKHN0cnVjdCBwYXJzZXJfcGFy
YW1zICpwLCBOT0RFICphcmdzLCBOT0RFICpsYXN0X2FyZywgY29uc3QgWVlMVFlQRSAqbG9jKTsK
K3N0YXRpYyBOT0RFICpyZXN0X2FyZ19hcHBlbmQoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIE5P
REUgKmFyZ3MsIE5PREUgKnJlc3RfYXJnLCBjb25zdCBZWUxUWVBFICpsb2MpOworc3RhdGljIE5P
REUgKmxpdGVyYWxfY29uY2F0KHN0cnVjdCBwYXJzZXJfcGFyYW1zKixOT0RFKixOT0RFKixjb25z
dCBZWUxUWVBFKik7CitzdGF0aWMgTk9ERSAqbmV3X2V2c3RyKHN0cnVjdCBwYXJzZXJfcGFyYW1z
KixOT0RFKixjb25zdCBZWUxUWVBFKik7CitzdGF0aWMgTk9ERSAqZXZzdHIyZHN0cihzdHJ1Y3Qg
cGFyc2VyX3BhcmFtcyosTk9ERSopOworc3RhdGljIE5PREUgKnNwbGF0X2FycmF5KE5PREUqKTsK
Kworc3RhdGljIE5PREUgKmNhbGxfYmluX29wKHN0cnVjdCBwYXJzZXJfcGFyYW1zKixOT0RFKixJ
RCxOT0RFKixjb25zdCBZWUxUWVBFKixjb25zdCBZWUxUWVBFKik7CitzdGF0aWMgTk9ERSAqY2Fs
bF91bmlfb3Aoc3RydWN0IHBhcnNlcl9wYXJhbXMqLE5PREUqLElELGNvbnN0IFlZTFRZUEUqLGNv
bnN0IFlZTFRZUEUqKTsKK3N0YXRpYyBOT0RFICpuZXdfcWNhbGwoc3RydWN0IHBhcnNlcl9wYXJh
bXMqIHAsIElEIGF0eXBlLCBOT0RFICpyZWN2LCBJRCBtaWQsIE5PREUgKmFyZ3MsIGNvbnN0IFlZ
TFRZUEUgKm9wX2xvYywgY29uc3QgWVlMVFlQRSAqbG9jKTsKK3N0YXRpYyBOT0RFICpuZXdfY29t
bWFuZF9xY2FsbChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyogcCwgSUQgYXR5cGUsIE5PREUgKnJlY3Ys
IElEIG1pZCwgTk9ERSAqYXJncywgTk9ERSAqYmxvY2ssIGNvbnN0IFlZTFRZUEUgKm9wX2xvYywg
Y29uc3QgWVlMVFlQRSAqbG9jKTsKK3N0YXRpYyBOT0RFICptZXRob2RfYWRkX2Jsb2NrKHN0cnVj
dCBwYXJzZXJfcGFyYW1zKnAsIE5PREUgKm0sIE5PREUgKmIsIGNvbnN0IFlZTFRZUEUgKmxvYykg
e2ItPm5kX2l0ZXIgPSBtOyBiLT5uZF9sb2MgPSAqbG9jOyByZXR1cm4gYjt9CisKK3N0YXRpYyBO
T0RFICpuZXdfYXJncyhzdHJ1Y3QgcGFyc2VyX3BhcmFtcyosTk9ERSosTk9ERSosSUQsTk9ERSos
Tk9ERSosY29uc3QgWVlMVFlQRSopOworc3RhdGljIE5PREUgKm5ld19hcmdzX3RhaWwoc3RydWN0
IHBhcnNlcl9wYXJhbXMqLE5PREUqLElELElELGNvbnN0IFlZTFRZUEUqKTsKK3N0YXRpYyBOT0RF
ICpuZXdfa3dfYXJnKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBOT0RFICprLCBjb25zdCBZWUxU
WVBFICpsb2MpOworCitzdGF0aWMgVkFMVUUgbmVnYXRlX2xpdChzdHJ1Y3QgcGFyc2VyX3BhcmFt
cyosIFZBTFVFKTsKK3N0YXRpYyBOT0RFICpyZXRfYXJncyhzdHJ1Y3QgcGFyc2VyX3BhcmFtcyos
Tk9ERSopOworc3RhdGljIE5PREUgKmFyZ19ibGtfcGFzcyhOT0RFKixOT0RFKik7CitzdGF0aWMg
Tk9ERSAqbmV3X3lpZWxkKHN0cnVjdCBwYXJzZXJfcGFyYW1zKixOT0RFKixjb25zdCBZWUxUWVBF
Kik7CitzdGF0aWMgTk9ERSAqZHN5bV9ub2RlKHN0cnVjdCBwYXJzZXJfcGFyYW1zKixOT0RFKixj
b25zdCBZWUxUWVBFKik7CisKK3N0YXRpYyBOT0RFICpnZXR0YWJsZShzdHJ1Y3QgcGFyc2VyX3Bh
cmFtcyosSUQsY29uc3QgWVlMVFlQRSopOworc3RhdGljIE5PREUgKmFzc2lnbmFibGUoc3RydWN0
IHBhcnNlcl9wYXJhbXMqLElELE5PREUqLGNvbnN0IFlZTFRZUEUqKTsKKworc3RhdGljIE5PREUg
KmFyeXNldChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyosTk9ERSosTk9ERSosY29uc3QgWVlMVFlQRSop
Oworc3RhdGljIE5PREUgKmF0dHJzZXQoc3RydWN0IHBhcnNlcl9wYXJhbXMqLE5PREUqLElELElE
LGNvbnN0IFlZTFRZUEUqKTsKKworc3RhdGljIHZvaWQgcmJfYmFja3JlZl9lcnJvcihzdHJ1Y3Qg
cGFyc2VyX3BhcmFtcyosTk9ERSopOworc3RhdGljIE5PREUgKm5vZGVfYXNzaWduKHN0cnVjdCBw
YXJzZXJfcGFyYW1zKixOT0RFKixOT0RFKixjb25zdCBZWUxUWVBFKik7CisKK3N0YXRpYyBOT0RF
ICpuZXdfb3BfYXNzaWduKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBOT0RFICpsaHMsIElEIG9w
LCBOT0RFICpyaHMsIGNvbnN0IFlZTFRZUEUgKmxvYyk7CitzdGF0aWMgTk9ERSAqbmV3X2FyeV9v
cF9hc3NpZ24oc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIE5PREUgKmFyeSwgTk9ERSAqYXJncywg
SUQgb3AsIE5PREUgKnJocywgY29uc3QgWVlMVFlQRSAqYXJnc19sb2MsIGNvbnN0IFlZTFRZUEUg
KmxvYyk7CitzdGF0aWMgTk9ERSAqbmV3X2F0dHJfb3BfYXNzaWduKHN0cnVjdCBwYXJzZXJfcGFy
YW1zICpwLCBOT0RFICpsaHMsIElEIGF0eXBlLCBJRCBhdHRyLCBJRCBvcCwgTk9ERSAqcmhzLCBj
b25zdCBZWUxUWVBFICpsb2MpOworc3RhdGljIE5PREUgKm5ld19jb25zdF9vcF9hc3NpZ24oc3Ry
dWN0IHBhcnNlcl9wYXJhbXMgKnAsIE5PREUgKmxocywgSUQgb3AsIE5PREUgKnJocywgY29uc3Qg
WVlMVFlQRSAqbG9jKTsKK3N0YXRpYyBOT0RFICpuZXdfYm9keXN0bXQoc3RydWN0IHBhcnNlcl9w
YXJhbXMgKnAsIE5PREUgKmhlYWQsIE5PREUgKnJlc2N1ZSwgTk9ERSAqcmVzY3VlX2Vsc2UsIE5P
REUgKmVuc3VyZSwgY29uc3QgWVlMVFlQRSAqbG9jKTsKKworc3RhdGljIE5PREUgKmNvbnN0X2Rl
Y2woc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIE5PREUqIHBhdGgsIGNvbnN0IFlZTFRZUEUgKmxv
Yyk7CisKK3N0YXRpYyBOT0RFICpvcHRfYXJnX2FwcGVuZChOT0RFKiwgTk9ERSopOworc3RhdGlj
IE5PREUgKmt3ZF9hcHBlbmQoTk9ERSosIE5PREUqKTsKKworc3RhdGljIE5PREUgKm5ld19oYXNo
KHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBOT0RFICpoYXNoLCBjb25zdCBZWUxUWVBFICpsb2Mp
OworCitzdGF0aWMgTk9ERSAqbmV3X2RlZmluZWQoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIE5P
REUgKmV4cHIsIGNvbnN0IFlZTFRZUEUgKmxvYyk7CisKK3N0YXRpYyBOT0RFICpuZXdfcmVnZXhw
KHN0cnVjdCBwYXJzZXJfcGFyYW1zICosIE5PREUgKiwgaW50LCBjb25zdCBZWUxUWVBFICopOwor
CisjZGVmaW5lIG1ha2VfYXJyYXkoYXJ5LCBsb2MpICgoYXJ5KSA/IChuZF9zZXRfbG9jKGFyeSwg
bG9jKSwgYXJ5KSA6IE5FV19aQVJSQVkobG9jKSkKKworc3RhdGljIE5PREUgKm5ld194c3RyaW5n
KHN0cnVjdCBwYXJzZXJfcGFyYW1zICosIE5PREUgKiwgY29uc3QgWVlMVFlQRSAqbG9jKTsKKwor
c3RhdGljIE5PREUgKnN5bWJvbF9hcHBlbmQoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIE5PREUg
KnN5bWJvbHMsIE5PREUgKnN5bWJvbCk7CisKK3N0YXRpYyBOT0RFICptYXRjaF9vcChzdHJ1Y3Qg
cGFyc2VyX3BhcmFtcyosTk9ERSosTk9ERSosY29uc3QgWVlMVFlQRSosY29uc3QgWVlMVFlQRSop
OworCitzdGF0aWMgSUQgICpsb2NhbF90Ymwoc3RydWN0IHBhcnNlcl9wYXJhbXMqKTsKKworc3Rh
dGljIFZBTFVFIHJlZ19jb21waWxlKHN0cnVjdCBwYXJzZXJfcGFyYW1zKiwgVkFMVUUsIGludCk7
CitzdGF0aWMgdm9pZCByZWdfZnJhZ21lbnRfc2V0ZW5jKHN0cnVjdCBwYXJzZXJfcGFyYW1zKiwg
VkFMVUUsIGludCk7CitzdGF0aWMgaW50IHJlZ19mcmFnbWVudF9jaGVjayhzdHJ1Y3QgcGFyc2Vy
X3BhcmFtcyosIFZBTFVFLCBpbnQpOworc3RhdGljIE5PREUgKnJlZ19uYW1lZF9jYXB0dXJlX2Fz
c2lnbihzdHJ1Y3QgcGFyc2VyX3BhcmFtcyogcCwgVkFMVUUgcmVnZXhwLCBjb25zdCBZWUxUWVBF
ICpsb2MpOworCitzdGF0aWMgaW50IGxpdGVyYWxfY29uY2F0MChzdHJ1Y3QgcGFyc2VyX3BhcmFt
cyAqcCwgVkFMVUUgaGVhZCwgVkFMVUUgdGFpbCk7CitzdGF0aWMgTk9ERSAqaGVyZWRvY19kZWRl
bnQoc3RydWN0IHBhcnNlcl9wYXJhbXMqLE5PREUqKTsKKyNkZWZpbmUgZ2V0X2lkKGlkKSAoaWQp
CisjZGVmaW5lIGdldF92YWx1ZSh2YWwpICh2YWwpCisjZWxzZSAgLyogUklQUEVSICovCisjZGVm
aW5lIE5PREVfUklQUEVSIE5PREVfQ0RFQ0wKKworc3RhdGljIGlubGluZSBWQUxVRQorcmlwcGVy
X25ld195eWx2YWwoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIElEIGEsIFZBTFVFIGIsIFZBTFVF
IGMpCit7CisgICAgYWRkX21hcmtfb2JqZWN0KHAsIGIpOworICAgIGFkZF9tYXJrX29iamVjdChw
LCBjKTsKKyAgICByZXR1cm4gKFZBTFVFKU5FV19DREVDTChhLCBiLCBjLCAmTlVMTF9MT0MpOwor
fQorCitzdGF0aWMgaW5saW5lIGludAorcmlwcGVyX2lzX25vZGVfeXlsdmFsKFZBTFVFIG4pCit7
CisgICAgcmV0dXJuIFJCX1RZUEVfUChuLCBUX05PREUpICYmIG5kX3R5cGUoUk5PREUobikpID09
IE5PREVfUklQUEVSOworfQorCisjZGVmaW5lIHZhbHVlX2V4cHIobm9kZSkgKCh2b2lkKShub2Rl
KSkKKyNkZWZpbmUgcmVtb3ZlX2JlZ2luKG5vZGUpIChub2RlKQorI2RlZmluZSB2b2lkX3N0bXRz
KHAseCkgKHgpCisjZGVmaW5lIHJiX2R2YXJfZGVmaW5lZChpZCwgYmFzZSkgMAorI2RlZmluZSBy
Yl9sb2NhbF9kZWZpbmVkKGlkLCBiYXNlKSAwCitzdGF0aWMgSUQgcmlwcGVyX2dldF9pZChWQUxV
RSk7CisjZGVmaW5lIGdldF9pZChpZCkgcmlwcGVyX2dldF9pZChpZCkKK3N0YXRpYyBWQUxVRSBy
aXBwZXJfZ2V0X3ZhbHVlKFZBTFVFKTsKKyNkZWZpbmUgZ2V0X3ZhbHVlKHZhbCkgcmlwcGVyX2dl
dF92YWx1ZSh2YWwpCitzdGF0aWMgVkFMVUUgYXNzaWduYWJsZShzdHJ1Y3QgcGFyc2VyX3BhcmFt
cyosVkFMVUUpOworc3RhdGljIGludCBpZF9pc192YXIoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAs
IElEIGlkKTsKKworI2RlZmluZSBtZXRob2RfY29uZChwLG5vZGUsbG9jKSAobm9kZSkKKyNkZWZp
bmUgY2FsbF9iaW5fb3AocCwgcmVjdixpZCxhcmcxLG9wX2xvYyxsb2MpIGRpc3BhdGNoMyhiaW5h
cnksIChyZWN2KSwgU1RBVElDX0lEMlNZTShpZCksIChhcmcxKSkKKyNkZWZpbmUgbWF0Y2hfb3Ao
cCxub2RlMSxub2RlMixvcF9sb2MsbG9jKSBjYWxsX2Jpbl9vcCgwLCAobm9kZTEpLCBpZEVxVGls
ZGUsIChub2RlMiksIG9wX2xvYywgbG9jKQorI2RlZmluZSBjYWxsX3VuaV9vcChwLCByZWN2LGlk
LG9wX2xvYyxsb2MpIGRpc3BhdGNoMih1bmFyeSwgU1RBVElDX0lEMlNZTShpZCksIChyZWN2KSkK
KyNkZWZpbmUgbG9nb3AocCxpZCxub2RlMSxub2RlMixvcF9sb2MsbG9jKSBjYWxsX2Jpbl9vcCgw
LCAobm9kZTEpLCAoaWQpLCAobm9kZTIpLCBvcF9sb2MsIGxvYykKKworI2RlZmluZSBuZXdfbmls
KGxvYykgUW5pbAorCitzdGF0aWMgVkFMVUUgbmV3X3JlZ2V4cChzdHJ1Y3QgcGFyc2VyX3BhcmFt
cyAqLCBWQUxVRSwgVkFMVUUsIGNvbnN0IFlZTFRZUEUgKik7CisKK3N0YXRpYyBWQUxVRSBjb25z
dF9kZWNsKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBWQUxVRSBwYXRoKTsKKworc3RhdGljIFZB
TFVFIHZhcl9maWVsZChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgVkFMVUUgYSk7CitzdGF0aWMg
VkFMVUUgYXNzaWduX2Vycm9yKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBWQUxVRSBhKTsKKwor
c3RhdGljIFZBTFVFIHBhcnNlcl9yZWdfY29tcGlsZShzdHJ1Y3QgcGFyc2VyX3BhcmFtcyosIFZB
TFVFLCBpbnQsIFZBTFVFICopOworCisjZW5kaWYgLyogIVJJUFBFUiAqLworCisvKiBmb3J3YXJk
IGRlY2xhcmF0aW9uICovCit0eXBlZGVmIHN0cnVjdCByYl9zdHJ0ZXJtX2hlcmVkb2Nfc3RydWN0
IHJiX3N0cnRlcm1faGVyZWRvY190OworCitSVUJZX1NZTUJPTF9FWFBPUlRfQkVHSU4KK1ZBTFVF
IHJiX3BhcnNlcl9yZWdfY29tcGlsZShzdHJ1Y3QgcGFyc2VyX3BhcmFtcyogcCwgVkFMVUUgc3Ry
LCBpbnQgb3B0aW9ucyk7CitpbnQgcmJfcmVnX2ZyYWdtZW50X3NldGVuYyhzdHJ1Y3QgcGFyc2Vy
X3BhcmFtcyosIFZBTFVFLCBpbnQpOworZW51bSBsZXhfc3RhdGVfZSByYl9wYXJzZXJfdHJhY2Vf
bGV4X3N0YXRlKHN0cnVjdCBwYXJzZXJfcGFyYW1zICosIGVudW0gbGV4X3N0YXRlX2UsIGVudW0g
bGV4X3N0YXRlX2UsIGludCk7CitWQUxVRSByYl9wYXJzZXJfbGV4X3N0YXRlX25hbWUoZW51bSBs
ZXhfc3RhdGVfZSBzdGF0ZSk7Cit2b2lkIHJiX3BhcnNlcl9zaG93X2JpdHN0YWNrKHN0cnVjdCBw
YXJzZXJfcGFyYW1zICosIHN0YWNrX3R5cGUsIGNvbnN0IGNoYXIgKiwgaW50KTsKK1BSSU5URl9B
UkdTKHZvaWQgcmJfcGFyc2VyX2ZhdGFsKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBjb25zdCBj
aGFyICpmbXQsIC4uLiksIDIsIDMpOwordm9pZCByYl9wYXJzZXJfc2V0X2xvY2F0aW9uX2Zyb21f
c3RydGVybV9oZXJlZG9jKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCByYl9zdHJ0ZXJtX2hlcmVk
b2NfdCAqaGVyZSwgWVlMVFlQRSAqeXlsbG9jKTsKK3ZvaWQgcmJfcGFyc2VyX3NldF9sb2NhdGlv
bl9vZl9ub25lKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBZWUxUWVBFICp5eWxsb2MpOwordm9p
ZCByYl9wYXJzZXJfc2V0X2xvY2F0aW9uKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBZWUxUWVBF
ICp5eWxsb2MpOworUlVCWV9TWU1CT0xfRVhQT1JUX0VORAorCitzdGF0aWMgdm9pZCBwYXJzZXJf
dG9rZW5fdmFsdWVfcHJpbnQoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIGVudW0geXl0b2tlbnR5
cGUgdHlwZSwgY29uc3QgWVlTVFlQRSAqdmFscCk7CitzdGF0aWMgSUQgZm9ybWFsX2FyZ3VtZW50
KHN0cnVjdCBwYXJzZXJfcGFyYW1zKiwgSUQpOworc3RhdGljIElEIHNoYWRvd2luZ19sdmFyKHN0
cnVjdCBwYXJzZXJfcGFyYW1zKixJRCk7CitzdGF0aWMgdm9pZCBuZXdfYnYoc3RydWN0IHBhcnNl
cl9wYXJhbXMqLElEKTsKKworc3RhdGljIHZvaWQgbG9jYWxfcHVzaChzdHJ1Y3QgcGFyc2VyX3Bh
cmFtcyosaW50KTsKK3N0YXRpYyB2b2lkIGxvY2FsX3BvcChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyop
Oworc3RhdGljIHZvaWQgbG9jYWxfdmFyKHN0cnVjdCBwYXJzZXJfcGFyYW1zKiwgSUQpOworc3Rh
dGljIHZvaWQgYXJnX3ZhcihzdHJ1Y3QgcGFyc2VyX3BhcmFtcyosIElEKTsKK3N0YXRpYyBpbnQg
IGxvY2FsX2lkKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBJRCBpZCk7CitzdGF0aWMgaW50ICBs
b2NhbF9pZF9yZWYoc3RydWN0IHBhcnNlcl9wYXJhbXMqLCBJRCwgSUQgKiopOworc3RhdGljIElE
ICAgaW50ZXJuYWxfaWQoc3RydWN0IHBhcnNlcl9wYXJhbXMqKTsKKworc3RhdGljIGNvbnN0IHN0
cnVjdCB2dGFibGUgKmR5bmFfcHVzaChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqKTsKK3N0YXRpYyB2
b2lkIGR5bmFfcG9wKHN0cnVjdCBwYXJzZXJfcGFyYW1zKiwgY29uc3Qgc3RydWN0IHZ0YWJsZSAq
KTsKK3N0YXRpYyBpbnQgZHluYV9pbl9ibG9jayhzdHJ1Y3QgcGFyc2VyX3BhcmFtcyopOworI2Rl
ZmluZSBkeW5hX3ZhcihwLCBpZCkgbG9jYWxfdmFyKHAsIGlkKQorc3RhdGljIGludCBkdmFyX2Rl
ZmluZWQoc3RydWN0IHBhcnNlcl9wYXJhbXMqLCBJRCk7CitzdGF0aWMgaW50IGR2YXJfZGVmaW5l
ZF9yZWYoc3RydWN0IHBhcnNlcl9wYXJhbXMqLCBJRCwgSUQqKik7CitzdGF0aWMgaW50IGR2YXJf
Y3VycihzdHJ1Y3QgcGFyc2VyX3BhcmFtcyosSUQpOworCitzdGF0aWMgaW50IGx2YXJfZGVmaW5l
ZChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyosIElEKTsKKworI2lmZGVmIFJJUFBFUgorIyBkZWZpbmUg
TUVUSE9EX05PVCBpZE5PVAorI2Vsc2UKKyMgZGVmaW5lIE1FVEhPRF9OT1QgJyEnCisjZW5kaWYK
KworI2RlZmluZSBSRV9PUFRJT05fT05DRSAoMTw8MTYpCisjZGVmaW5lIFJFX09QVElPTl9FTkNP
RElOR19TSElGVCA4CisjZGVmaW5lIFJFX09QVElPTl9FTkNPRElORyhlKSAoKChlKSYweGZmKTw8
UkVfT1BUSU9OX0VOQ09ESU5HX1NISUZUKQorI2RlZmluZSBSRV9PUFRJT05fRU5DT0RJTkdfSURY
KG8pICgoKG8pPj5SRV9PUFRJT05fRU5DT0RJTkdfU0hJRlQpJjB4ZmYpCisjZGVmaW5lIFJFX09Q
VElPTl9FTkNPRElOR19OT05FKG8pICgobykmUkVfT1BUSU9OX0FSR19FTkNPRElOR19OT05FKQor
I2RlZmluZSBSRV9PUFRJT05fTUFTSyAgMHhmZgorI2RlZmluZSBSRV9PUFRJT05fQVJHX0VOQ09E
SU5HX05PTkUgMzIKKworLyogc3RydWN0cyBmb3IgbWFuYWdpbmcgdGVybWluYXRvciBvZiBzdHJp
bmcgbGl0ZXJhbCBhbmQgaGVyZWRvY21lbnQgKi8KK3R5cGVkZWYgc3RydWN0IHJiX3N0cnRlcm1f
bGl0ZXJhbF9zdHJ1Y3QgeworICAgIHVuaW9uIHsKKwlWQUxVRSBkdW1teTsKKwlsb25nIG5lc3Q7
CisgICAgfSB1MDsKKyAgICB1bmlvbiB7CisJVkFMVUUgZHVtbXk7CisJbG9uZyBmdW5jOwkgICAg
LyogU1RSX0ZVTkNfKiAoZS5nLiwgU1RSX0ZVTkNfRVNDQVBFIGFuZCBTVFJfRlVOQ19FWFBBTkQp
ICovCisgICAgfSB1MTsKKyAgICB1bmlvbiB7CisJVkFMVUUgZHVtbXk7CisJbG9uZyBwYXJlbjsJ
ICAgIC8qICcoJyBvZiBgJXEoLi4uKWAgKi8KKyAgICB9IHUyOworICAgIHVuaW9uIHsKKwlWQUxV
RSBkdW1teTsKKwlsb25nIHRlcm07CSAgICAvKiAnKScgb2YgYCVxKC4uLilgICovCisgICAgfSB1
MzsKK30gcmJfc3RydGVybV9saXRlcmFsX3Q7CisKK3N0cnVjdCByYl9zdHJ0ZXJtX2hlcmVkb2Nf
c3RydWN0IHsKKyAgICBTSUdORURfVkFMVUUgc291cmNlbGluZTsgLyogbGluZW5vIG9mIHRoZSBs
aW5lIHRoYXQgY29udGFpbnMgYDw8IkVORCJgICovCisgICAgVkFMVUUgdGVybTsJCS8qIGAiRU5E
ImAgb2YgYDw8IkVORCJgICovCisgICAgVkFMVUUgbGFzdGxpbmU7CS8qIHRoZSBzdHJpbmcgb2Yg
bGluZSB0aGF0IGNvbnRhaW5zIGA8PCJFTkQiYCAqLworICAgIHVuaW9uIHsKKwlWQUxVRSBkdW1t
eTsKKwlsb25nIGxhc3RpZHg7CS8qIHRoZSBjb2x1bW4gb2YgYDw8IkVORCJgICovCisgICAgfSB1
MzsKK307CisKKyNkZWZpbmUgU1RSVEVSTV9IRVJFRE9DIElNRU1PX0ZMX1VTRVIwCisKK3N0cnVj
dCByYl9zdHJ0ZXJtX3N0cnVjdCB7CisgICAgVkFMVUUgZmxhZ3M7CisgICAgdW5pb24geworCXJi
X3N0cnRlcm1fbGl0ZXJhbF90IGxpdGVyYWw7CisJcmJfc3RydGVybV9oZXJlZG9jX3QgaGVyZWRv
YzsKKyAgICB9IHU7Cit9OworCisjaWZuZGVmIFJJUFBFUgordm9pZAorcmJfc3RydGVybV9tYXJr
KFZBTFVFIG9iaikKK3sKKyAgICByYl9zdHJ0ZXJtX3QgKnN0cnRlcm0gPSAocmJfc3RydGVybV90
KilvYmo7CisgICAgaWYgKFJCQVNJQyhvYmopLT5mbGFncyAmIFNUUlRFUk1fSEVSRURPQykgewor
CXJiX3N0cnRlcm1faGVyZWRvY190ICpoZXJlZG9jID0gJnN0cnRlcm0tPnUuaGVyZWRvYzsKKwly
Yl9nY19tYXJrKGhlcmVkb2MtPnRlcm0pOworCXJiX2djX21hcmsoaGVyZWRvYy0+bGFzdGxpbmUp
OworICAgIH0KK30KKyNlbmRpZgorCisjZGVmaW5lIFRPS0VOMklEKHRvaykgKCBcCisgICAgdFRP
S0VOX0xPQ0FMX0JFR0lOPCh0b2spJiYodG9rKTx0VE9LRU5fTE9DQUxfRU5EID8gVE9LRU4yTE9D
QUxJRCh0b2spIDogXAorICAgIHRUT0tFTl9JTlNUQU5DRV9CRUdJTjwodG9rKSYmKHRvayk8dFRP
S0VOX0lOU1RBTkNFX0VORCA/IFRPS0VOMklOU1RBTkNFSUQodG9rKSA6IFwKKyAgICB0VE9LRU5f
R0xPQkFMX0JFR0lOPCh0b2spJiYodG9rKTx0VE9LRU5fR0xPQkFMX0VORCA/IFRPS0VOMkdMT0JB
TElEKHRvaykgOiBcCisgICAgdFRPS0VOX0NPTlNUX0JFR0lOPCh0b2spJiYodG9rKTx0VE9LRU5f
Q09OU1RfRU5EID8gVE9LRU4yQ09OU1RJRCh0b2spIDogXAorICAgIHRUT0tFTl9DTEFTU19CRUdJ
TjwodG9rKSYmKHRvayk8dFRPS0VOX0NMQVNTX0VORCA/IFRPS0VOMkNMQVNTSUQodG9rKSA6IFwK
KyAgICB0VE9LRU5fQVRUUlNFVF9CRUdJTjwodG9rKSYmKHRvayk8dFRPS0VOX0FUVFJTRVRfRU5E
ID8gVE9LRU4yQVRUUlNFVElEKHRvaykgOiBcCisgICAgKCh0b2spIC8gKCh0b2spPHRQUkVTRVJW
RURfSURfRU5EICYmICgodG9rKT49MTI4IHx8IHJiX2lzcHVuY3QodG9rKSkpKSkKKworLyoqKioq
KiBSaXBwZXIgKioqKioqKi8KKworI2lmZGVmIFJJUFBFUgorI2RlZmluZSBSSVBQRVJfVkVSU0lP
TiAiMC4xLjAiCisKK3N0YXRpYyBpbmxpbmUgVkFMVUUgaW50ZXJuX3N5bShjb25zdCBjaGFyICpu
YW1lKTsKKworI2luY2x1ZGUgImV2ZW50aWRzMS5jIgorI2luY2x1ZGUgImV2ZW50aWRzMi5jIgor
CitzdGF0aWMgVkFMVUUgcmlwcGVyX2Rpc3BhdGNoMChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyosSUQp
Oworc3RhdGljIFZBTFVFIHJpcHBlcl9kaXNwYXRjaDEoc3RydWN0IHBhcnNlcl9wYXJhbXMqLElE
LFZBTFVFKTsKK3N0YXRpYyBWQUxVRSByaXBwZXJfZGlzcGF0Y2gyKHN0cnVjdCBwYXJzZXJfcGFy
YW1zKixJRCxWQUxVRSxWQUxVRSk7CitzdGF0aWMgVkFMVUUgcmlwcGVyX2Rpc3BhdGNoMyhzdHJ1
Y3QgcGFyc2VyX3BhcmFtcyosSUQsVkFMVUUsVkFMVUUsVkFMVUUpOworc3RhdGljIFZBTFVFIHJp
cHBlcl9kaXNwYXRjaDQoc3RydWN0IHBhcnNlcl9wYXJhbXMqLElELFZBTFVFLFZBTFVFLFZBTFVF
LFZBTFVFKTsKK3N0YXRpYyBWQUxVRSByaXBwZXJfZGlzcGF0Y2g1KHN0cnVjdCBwYXJzZXJfcGFy
YW1zKixJRCxWQUxVRSxWQUxVRSxWQUxVRSxWQUxVRSxWQUxVRSk7CitzdGF0aWMgVkFMVUUgcmlw
cGVyX2Rpc3BhdGNoNyhzdHJ1Y3QgcGFyc2VyX3BhcmFtcyosSUQsVkFMVUUsVkFMVUUsVkFMVUUs
VkFMVUUsVkFMVUUsVkFMVUUsVkFMVUUpOworc3RhdGljIHZvaWQgcmlwcGVyX2Vycm9yKHN0cnVj
dCBwYXJzZXJfcGFyYW1zICpwKTsKKworI2RlZmluZSBkaXNwYXRjaDAobikgICAgICAgICAgICBy
aXBwZXJfZGlzcGF0Y2gwKHAsIFRPS0VOX1BBU1RFKHJpcHBlcl9pZF8sIG4pKQorI2RlZmluZSBk
aXNwYXRjaDEobixhKSAgICAgICAgICByaXBwZXJfZGlzcGF0Y2gxKHAsIFRPS0VOX1BBU1RFKHJp
cHBlcl9pZF8sIG4pLCAoYSkpCisjZGVmaW5lIGRpc3BhdGNoMihuLGEsYikgICAgICAgIHJpcHBl
cl9kaXNwYXRjaDIocCwgVE9LRU5fUEFTVEUocmlwcGVyX2lkXywgbiksIChhKSwgKGIpKQorI2Rl
ZmluZSBkaXNwYXRjaDMobixhLGIsYykgICAgICByaXBwZXJfZGlzcGF0Y2gzKHAsIFRPS0VOX1BB
U1RFKHJpcHBlcl9pZF8sIG4pLCAoYSksIChiKSwgKGMpKQorI2RlZmluZSBkaXNwYXRjaDQobixh
LGIsYyxkKSAgICByaXBwZXJfZGlzcGF0Y2g0KHAsIFRPS0VOX1BBU1RFKHJpcHBlcl9pZF8sIG4p
LCAoYSksIChiKSwgKGMpLCAoZCkpCisjZGVmaW5lIGRpc3BhdGNoNShuLGEsYixjLGQsZSkgIHJp
cHBlcl9kaXNwYXRjaDUocCwgVE9LRU5fUEFTVEUocmlwcGVyX2lkXywgbiksIChhKSwgKGIpLCAo
YyksIChkKSwgKGUpKQorI2RlZmluZSBkaXNwYXRjaDcobixhLGIsYyxkLGUsZixnKSByaXBwZXJf
ZGlzcGF0Y2g3KHAsIFRPS0VOX1BBU1RFKHJpcHBlcl9pZF8sIG4pLCAoYSksIChiKSwgKGMpLCAo
ZCksIChlKSwgKGYpLCAoZykpCisKKyNkZWZpbmUgeXlwYXJzZSByaXBwZXJfeXlwYXJzZQorCisj
ZGVmaW5lIElEMlZBTChpZCkgU1RBVElDX0lEMlNZTShpZCkKKyNkZWZpbmUgVE9LRU4yVkFMKHQp
IElEMlZBTChUT0tFTjJJRCh0KSkKKyNkZWZpbmUgS1dEMkVJRCh0LCB2KSByaXBwZXJfbmV3X3l5
bHZhbChwLCBrZXl3b3JkXyMjdCwgZ2V0X3ZhbHVlKHYpLCAwKQorCisjZGVmaW5lIHBhcmFtc19u
ZXcocGFycywgb3B0cywgcmVzdCwgcGFyczIsIGt3cywga3dyZXN0LCBibGspIFwKKyAgICAgICAg
ZGlzcGF0Y2g3KHBhcmFtcywgKHBhcnMpLCAob3B0cyksIChyZXN0KSwgKHBhcnMyKSwgKGt3cyks
IChrd3Jlc3QpLCAoYmxrKSkKKworI2RlZmluZSBlc2NhcGVfUXVuZGVmKHgpICgoeCk9PVF1bmRl
ZiA/IFFuaWwgOiAoeCkpCisKK3N0YXRpYyBpbmxpbmUgVkFMVUUKK25ld19hcmdzKHN0cnVjdCBw
YXJzZXJfcGFyYW1zICpwLCBWQUxVRSBwcmVfYXJncywgVkFMVUUgb3B0X2FyZ3MsIFZBTFVFIHJl
c3RfYXJnLCBWQUxVRSBwb3N0X2FyZ3MsIFZBTFVFIHRhaWwsIFlZTFRZUEUgKmxvYykKK3sKKyAg
ICBOT0RFICp0ID0gKE5PREUgKil0YWlsOworICAgIFZBTFVFIGt3X2FyZ3MgPSB0LT51MS52YWx1
ZSwga3dfcmVzdF9hcmcgPSB0LT51Mi52YWx1ZSwgYmxvY2sgPSB0LT51My52YWx1ZTsKKyAgICBy
ZXR1cm4gcGFyYW1zX25ldyhwcmVfYXJncywgb3B0X2FyZ3MsIHJlc3RfYXJnLCBwb3N0X2FyZ3Ms
IGt3X2FyZ3MsIGt3X3Jlc3RfYXJnLCBlc2NhcGVfUXVuZGVmKGJsb2NrKSk7Cit9CisKK3N0YXRp
YyBpbmxpbmUgVkFMVUUKK25ld19hcmdzX3RhaWwoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIFZB
TFVFIGt3X2FyZ3MsIFZBTFVFIGt3X3Jlc3RfYXJnLCBWQUxVRSBibG9jaywgWVlMVFlQRSAqbG9j
KQoreworICAgIE5PREUgKnQgPSByYl9ub2RlX25ld25vZGUoTk9ERV9BUkdTX0FVWCwga3dfYXJn
cywga3dfcmVzdF9hcmcsIGJsb2NrLCAmTlVMTF9MT0MpOworICAgIGFkZF9tYXJrX29iamVjdChw
LCBrd19hcmdzKTsKKyAgICBhZGRfbWFya19vYmplY3QocCwga3dfcmVzdF9hcmcpOworICAgIGFk
ZF9tYXJrX29iamVjdChwLCBibG9jayk7CisgICAgcmV0dXJuIChWQUxVRSl0OworfQorCisjZGVm
aW5lIG5ld19kZWZpbmVkKHAsZXhwcixsb2MpIGRpc3BhdGNoMShkZWZpbmVkLCAoZXhwcikpCisK
K3N0YXRpYyBWQUxVRSBoZXJlZG9jX2RlZGVudChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyosVkFMVUUp
OworCisjZWxzZQorI2RlZmluZSBJRDJWQUwoaWQpICgoVkFMVUUpKGlkKSkKKyNkZWZpbmUgVE9L
RU4yVkFMKHQpIElEMlZBTCh0KQorI2RlZmluZSBLV0QyRUlEKHQsIHYpIGtleXdvcmRfIyN0Cisj
ZW5kaWYgLyogUklQUEVSICovCisKKyNpZm5kZWYgUklQUEVSCisjIGRlZmluZSBRbm9uZSAwCisj
IGRlZmluZSBRbnVsbCAwCisjIGRlZmluZSBpZm5kZWZfcmlwcGVyKHgpICh4KQorI2Vsc2UKKyMg
ZGVmaW5lIFFub25lIFFuaWwKKyMgZGVmaW5lIFFudWxsIFF1bmRlZgorIyBkZWZpbmUgaWZuZGVm
X3JpcHBlcih4KQorI2VuZGlmCisKKyMgZGVmaW5lIHJiX3dhcm4wKGZtdCkgICAgICAgICBXQVJO
X0NBTEwoV0FSTl9BUkdTKGZtdCwgMSkpCisjIGRlZmluZSByYl93YXJuMShmbXQsYSkgICAgICAg
V0FSTl9DQUxMKFdBUk5fQVJHUyhmbXQsIDIpLCAoYSkpCisjIGRlZmluZSByYl93YXJuMihmbXQs
YSxiKSAgICAgV0FSTl9DQUxMKFdBUk5fQVJHUyhmbXQsIDMpLCAoYSksIChiKSkKKyMgZGVmaW5l
IHJiX3dhcm4zKGZtdCxhLGIsYykgICBXQVJOX0NBTEwoV0FSTl9BUkdTKGZtdCwgNCksIChhKSwg
KGIpLCAoYykpCisjIGRlZmluZSByYl93YXJuNChmbXQsYSxiLGMsZCkgV0FSTl9DQUxMKFdBUk5f
QVJHUyhmbXQsIDUpLCAoYSksIChiKSwgKGMpLCAoZCkpCisjIGRlZmluZSByYl93YXJuaW5nMChm
bXQpICAgICAgICAgV0FSTklOR19DQUxMKFdBUk5JTkdfQVJHUyhmbXQsIDEpKQorIyBkZWZpbmUg
cmJfd2FybmluZzEoZm10LGEpICAgICAgIFdBUk5JTkdfQ0FMTChXQVJOSU5HX0FSR1MoZm10LCAy
KSwgKGEpKQorIyBkZWZpbmUgcmJfd2FybmluZzIoZm10LGEsYikgICAgIFdBUk5JTkdfQ0FMTChX
QVJOSU5HX0FSR1MoZm10LCAzKSwgKGEpLCAoYikpCisjIGRlZmluZSByYl93YXJuaW5nMyhmbXQs
YSxiLGMpICAgV0FSTklOR19DQUxMKFdBUk5JTkdfQVJHUyhmbXQsIDQpLCAoYSksIChiKSwgKGMp
KQorIyBkZWZpbmUgcmJfd2FybmluZzQoZm10LGEsYixjLGQpIFdBUk5JTkdfQ0FMTChXQVJOSU5H
X0FSR1MoZm10LCA1KSwgKGEpLCAoYiksIChjKSwgKGQpKQorIyBkZWZpbmUgcmJfd2FybjBMKGws
Zm10KSAgICAgICAgIFdBUk5fQ0FMTChXQVJOX0FSR1NfTChsLCBmbXQsIDEpKQorIyBkZWZpbmUg
cmJfd2FybjFMKGwsZm10LGEpICAgICAgIFdBUk5fQ0FMTChXQVJOX0FSR1NfTChsLCBmbXQsIDIp
LCAoYSkpCisjIGRlZmluZSByYl93YXJuMkwobCxmbXQsYSxiKSAgICAgV0FSTl9DQUxMKFdBUk5f
QVJHU19MKGwsIGZtdCwgMyksIChhKSwgKGIpKQorIyBkZWZpbmUgcmJfd2FybjNMKGwsZm10LGEs
YixjKSAgIFdBUk5fQ0FMTChXQVJOX0FSR1NfTChsLCBmbXQsIDQpLCAoYSksIChiKSwgKGMpKQor
IyBkZWZpbmUgcmJfd2FybjRMKGwsZm10LGEsYixjLGQpIFdBUk5fQ0FMTChXQVJOX0FSR1NfTChs
LCBmbXQsIDUpLCAoYSksIChiKSwgKGMpLCAoZCkpCisjIGRlZmluZSByYl93YXJuaW5nMEwobCxm
bXQpICAgICAgICAgV0FSTklOR19DQUxMKFdBUk5JTkdfQVJHU19MKGwsIGZtdCwgMSkpCisjIGRl
ZmluZSByYl93YXJuaW5nMUwobCxmbXQsYSkgICAgICAgV0FSTklOR19DQUxMKFdBUk5JTkdfQVJH
U19MKGwsIGZtdCwgMiksIChhKSkKKyMgZGVmaW5lIHJiX3dhcm5pbmcyTChsLGZtdCxhLGIpICAg
ICBXQVJOSU5HX0NBTEwoV0FSTklOR19BUkdTX0wobCwgZm10LCAzKSwgKGEpLCAoYikpCisjIGRl
ZmluZSByYl93YXJuaW5nM0wobCxmbXQsYSxiLGMpICAgV0FSTklOR19DQUxMKFdBUk5JTkdfQVJH
U19MKGwsIGZtdCwgNCksIChhKSwgKGIpLCAoYykpCisjIGRlZmluZSByYl93YXJuaW5nNEwobCxm
bXQsYSxiLGMsZCkgV0FSTklOR19DQUxMKFdBUk5JTkdfQVJHU19MKGwsIGZtdCwgNSksIChhKSwg
KGIpLCAoYyksIChkKSkKKyNpZmRlZiBSSVBQRVIKK3N0YXRpYyBJRCBpZF93YXJuLCBpZF93YXJu
aW5nLCBpZF9nZXRzOworIyBkZWZpbmUgV0FSTl9TX0wocyxsKSBTVFJfTkVXKHMsbCkKKyMgZGVm
aW5lIFdBUk5fUyhzKSBTVFJfTkVXMihzKQorIyBkZWZpbmUgV0FSTl9JKGkpIElOVDJOVU0oaSkK
KyMgZGVmaW5lIFdBUk5fSUQoaSkgcmJfaWQyc3RyKGkpCisjIGRlZmluZSBQUklzV0FSTiAicyIK
KyMgZGVmaW5lIFdBUk5fQVJHUyhmbXQsbikgcC0+dmFsdWUsIGlkX3dhcm4sIG4sIHJiX3VzYXNj
aWlfc3RyX25ld19saXQoZm10KQorIyBkZWZpbmUgV0FSTl9BUkdTX0wobCxmbXQsbikgV0FSTl9B
UkdTKGZtdCxuKQorIyBpZmRlZiBIQVZFX1ZBX0FSR1NfTUFDUk8KKyMgZGVmaW5lIFdBUk5fQ0FM
TCguLi4pIHJiX2Z1bmNhbGwoX19WQV9BUkdTX18pCisjIGVsc2UKKyMgZGVmaW5lIFdBUk5fQ0FM
TCByYl9mdW5jYWxsCisjIGVuZGlmCisjIGRlZmluZSBXQVJOSU5HX0FSR1MoZm10LG4pIHAtPnZh
bHVlLCBpZF93YXJuaW5nLCBuLCByYl91c2FzY2lpX3N0cl9uZXdfbGl0KGZtdCkKKyMgZGVmaW5l
IFdBUk5JTkdfQVJHU19MKGwsIGZtdCxuKSBXQVJOSU5HX0FSR1MoZm10LG4pCisjIGlmZGVmIEhB
VkVfVkFfQVJHU19NQUNSTworIyBkZWZpbmUgV0FSTklOR19DQUxMKC4uLikgcmJfZnVuY2FsbChf
X1ZBX0FSR1NfXykKKyMgZWxzZQorIyBkZWZpbmUgV0FSTklOR19DQUxMIHJiX2Z1bmNhbGwKKyMg
ZW5kaWYKK1BSSU5URl9BUkdTKHN0YXRpYyB2b2lkIHJpcHBlcl9jb21waWxlX2Vycm9yKHN0cnVj
dCBwYXJzZXJfcGFyYW1zKiwgY29uc3QgY2hhciAqZm10LCAuLi4pLCAyLCAzKTsKKyMgZGVmaW5l
IGNvbXBpbGVfZXJyb3IgcmlwcGVyX2NvbXBpbGVfZXJyb3IKKyNlbHNlCisjIGRlZmluZSBXQVJO
X1NfTChzLGwpIHMKKyMgZGVmaW5lIFdBUk5fUyhzKSBzCisjIGRlZmluZSBXQVJOX0koaSkgaQor
IyBkZWZpbmUgV0FSTl9JRChpKSByYl9pZDJuYW1lKGkpCisjIGRlZmluZSBQUklzV0FSTiBQUklz
VkFMVUUKKyMgZGVmaW5lIFdBUk5fQVJHUyhmbXQsbikgV0FSTl9BUkdTX0wocC0+cnVieV9zb3Vy
Y2VsaW5lLGZtdCxuKQorIyBkZWZpbmUgV0FSTl9BUkdTX0wobCxmbXQsbikgcC0+cnVieV9zb3Vy
Y2VmaWxlLCAobCksIChmbXQpCisjIGRlZmluZSBXQVJOX0NBTEwgcmJfY29tcGlsZV93YXJuCisj
IGRlZmluZSBXQVJOSU5HX0FSR1MoZm10LG4pIFdBUk5fQVJHUyhmbXQsbikKKyMgZGVmaW5lIFdB
Uk5JTkdfQVJHU19MKGwsZm10LG4pIFdBUk5fQVJHU19MKGwsZm10LG4pCisjIGRlZmluZSBXQVJO
SU5HX0NBTEwgcmJfY29tcGlsZV93YXJuaW5nCitQUklOVEZfQVJHUyhzdGF0aWMgdm9pZCBwYXJz
ZXJfY29tcGlsZV9lcnJvcihzdHJ1Y3QgcGFyc2VyX3BhcmFtcyosIGNvbnN0IGNoYXIgKmZtdCwg
Li4uKSwgMiwgMyk7CisjIGRlZmluZSBjb21waWxlX2Vycm9yIHBhcnNlcl9jb21waWxlX2Vycm9y
CisjZW5kaWYKKworc3RhdGljIHZvaWQgdG9rZW5faW5mb19wdXNoKHN0cnVjdCBwYXJzZXJfcGFy
YW1zKiwgY29uc3QgY2hhciAqdG9rZW4sIGNvbnN0IHJiX2NvZGVfbG9jYXRpb25fdCAqbG9jKTsK
K3N0YXRpYyB2b2lkIHRva2VuX2luZm9fcG9wKHN0cnVjdCBwYXJzZXJfcGFyYW1zKiwgY29uc3Qg
Y2hhciAqdG9rZW4sIGNvbnN0IHJiX2NvZGVfbG9jYXRpb25fdCAqbG9jKTsKK3N0YXRpYyB2b2lk
IHRva2VuX2luZm9fd2FybihzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgY29uc3QgY2hhciAqdG9r
ZW4sIHRva2VuX2luZm8gKnB0aW5mb19iZWcsIGludCBzYW1lLCBjb25zdCByYl9jb2RlX2xvY2F0
aW9uX3QgKmxvYyk7CisKKyNsaW5lIDgxOSAicGFyc2UuYyIgLyogeWFjYy5jOjMzNyAgKi8KKyMg
aWZuZGVmIFlZX05VTExQVFIKKyMgIGlmIGRlZmluZWQgX19jcGx1c3BsdXMKKyMgICBpZiAyMDEx
MDNMIDw9IF9fY3BsdXNwbHVzCisjICAgIGRlZmluZSBZWV9OVUxMUFRSIG51bGxwdHIKKyMgICBl
bHNlCisjICAgIGRlZmluZSBZWV9OVUxMUFRSIDAKKyMgICBlbmRpZgorIyAgZWxzZQorIyAgIGRl
ZmluZSBZWV9OVUxMUFRSICgodm9pZCopMCkKKyMgIGVuZGlmCisjIGVuZGlmCisKKy8qIEVuYWJs
aW5nIHZlcmJvc2UgZXJyb3IgbWVzc2FnZXMuICAqLworI2lmZGVmIFlZRVJST1JfVkVSQk9TRQor
IyB1bmRlZiBZWUVSUk9SX1ZFUkJPU0UKKyMgZGVmaW5lIFlZRVJST1JfVkVSQk9TRSAxCisjZWxz
ZQorIyBkZWZpbmUgWVlFUlJPUl9WRVJCT1NFIDAKKyNlbmRpZgorCisvKiBJbiBhIGZ1dHVyZSBy
ZWxlYXNlIG9mIEJpc29uLCB0aGlzIHNlY3Rpb24gd2lsbCBiZSByZXBsYWNlZAorICAgYnkgI2lu
Y2x1ZGUgInkudGFiLmgiLiAgKi8KKyNpZm5kZWYgWVlfWVlfWV9UQUJfSF9JTkNMVURFRAorIyBk
ZWZpbmUgWVlfWVlfWV9UQUJfSF9JTkNMVURFRAorLyogRGVidWcgdHJhY2VzLiAgKi8KKyNpZm5k
ZWYgWVlERUJVRworIyBkZWZpbmUgWVlERUJVRyAwCisjZW5kaWYKKyNpZiBZWURFQlVHCisjaWZu
ZGVmIHl5ZGVidWcKK2V4dGVybiBpbnQgeXlkZWJ1ZzsKKyNlbmRpZgorI2VuZGlmCisKKy8qIFRv
a2VuIHR5cGUuICAqLworI2lmbmRlZiBZWVRPS0VOVFlQRQorIyBkZWZpbmUgWVlUT0tFTlRZUEUK
KyAgZW51bSB5eXRva2VudHlwZQorICB7CisgICAgRU5EX09GX0lOUFVUID0gMCwKKyAgICBrZXl3
b3JkX2NsYXNzID0gMjU4LAorICAgIGtleXdvcmRfbW9kdWxlID0gMjU5LAorICAgIGtleXdvcmRf
ZGVmID0gMjYwLAorICAgIGtleXdvcmRfdW5kZWYgPSAyNjEsCisgICAga2V5d29yZF9iZWdpbiA9
IDI2MiwKKyAgICBrZXl3b3JkX3Jlc2N1ZSA9IDI2MywKKyAgICBrZXl3b3JkX2Vuc3VyZSA9IDI2
NCwKKyAgICBrZXl3b3JkX2VuZCA9IDI2NSwKKyAgICBrZXl3b3JkX2lmID0gMjY2LAorICAgIGtl
eXdvcmRfdW5sZXNzID0gMjY3LAorICAgIGtleXdvcmRfdGhlbiA9IDI2OCwKKyAgICBrZXl3b3Jk
X2Vsc2lmID0gMjY5LAorICAgIGtleXdvcmRfZWxzZSA9IDI3MCwKKyAgICBrZXl3b3JkX2Nhc2Ug
PSAyNzEsCisgICAga2V5d29yZF93aGVuID0gMjcyLAorICAgIGtleXdvcmRfd2hpbGUgPSAyNzMs
CisgICAga2V5d29yZF91bnRpbCA9IDI3NCwKKyAgICBrZXl3b3JkX2ZvciA9IDI3NSwKKyAgICBr
ZXl3b3JkX2JyZWFrID0gMjc2LAorICAgIGtleXdvcmRfbmV4dCA9IDI3NywKKyAgICBrZXl3b3Jk
X3JlZG8gPSAyNzgsCisgICAga2V5d29yZF9yZXRyeSA9IDI3OSwKKyAgICBrZXl3b3JkX2luID0g
MjgwLAorICAgIGtleXdvcmRfZG8gPSAyODEsCisgICAga2V5d29yZF9kb19jb25kID0gMjgyLAor
ICAgIGtleXdvcmRfZG9fYmxvY2sgPSAyODMsCisgICAga2V5d29yZF9kb19MQU1CREEgPSAyODQs
CisgICAga2V5d29yZF9yZXR1cm4gPSAyODUsCisgICAga2V5d29yZF95aWVsZCA9IDI4NiwKKyAg
ICBrZXl3b3JkX3N1cGVyID0gMjg3LAorICAgIGtleXdvcmRfc2VsZiA9IDI4OCwKKyAgICBrZXl3
b3JkX25pbCA9IDI4OSwKKyAgICBrZXl3b3JkX3RydWUgPSAyOTAsCisgICAga2V5d29yZF9mYWxz
ZSA9IDI5MSwKKyAgICBrZXl3b3JkX2FuZCA9IDI5MiwKKyAgICBrZXl3b3JkX29yID0gMjkzLAor
ICAgIGtleXdvcmRfbm90ID0gMjk0LAorICAgIG1vZGlmaWVyX2lmID0gMjk1LAorICAgIG1vZGlm
aWVyX3VubGVzcyA9IDI5NiwKKyAgICBtb2RpZmllcl93aGlsZSA9IDI5NywKKyAgICBtb2RpZmll
cl91bnRpbCA9IDI5OCwKKyAgICBtb2RpZmllcl9yZXNjdWUgPSAyOTksCisgICAga2V5d29yZF9h
bGlhcyA9IDMwMCwKKyAgICBrZXl3b3JkX2RlZmluZWQgPSAzMDEsCisgICAga2V5d29yZF9CRUdJ
TiA9IDMwMiwKKyAgICBrZXl3b3JkX0VORCA9IDMwMywKKyAgICBrZXl3b3JkX19MSU5FX18gPSAz
MDQsCisgICAga2V5d29yZF9fRklMRV9fID0gMzA1LAorICAgIGtleXdvcmRfX0VOQ09ESU5HX18g
PSAzMDYsCisgICAgdElERU5USUZJRVIgPSAzMDcsCisgICAgdEZJRCA9IDMwOCwKKyAgICB0R1ZB
UiA9IDMwOSwKKyAgICB0SVZBUiA9IDMxMCwKKyAgICB0Q09OU1RBTlQgPSAzMTEsCisgICAgdENW
QVIgPSAzMTIsCisgICAgdExBQkVMID0gMzEzLAorICAgIHRJTlRFR0VSID0gMzE0LAorICAgIHRG
TE9BVCA9IDMxNSwKKyAgICB0UkFUSU9OQUwgPSAzMTYsCisgICAgdElNQUdJTkFSWSA9IDMxNywK
KyAgICB0U1RSSU5HX0NPTlRFTlQgPSAzMTgsCisgICAgdENIQVIgPSAzMTksCisgICAgdE5USF9S
RUYgPSAzMjAsCisgICAgdEJBQ0tfUkVGID0gMzIxLAorICAgIHRSRUdFWFBfRU5EID0gMzIyLAor
ICAgIHRTUCA9IDMyMywKKyAgICB0VVBMVVMgPSAxMzAsCisgICAgdFVNSU5VUyA9IDEzMSwKKyAg
ICB0UE9XID0gMTMyLAorICAgIHRDTVAgPSAxMzMsCisgICAgdEVRID0gMTM4LAorICAgIHRFUVEg
PSAxMzksCisgICAgdE5FUSA9IDE0MCwKKyAgICB0R0VRID0gMTM3LAorICAgIHRMRVEgPSAxMzYs
CisgICAgdEFORE9QID0gMTQ2LAorICAgIHRPUk9QID0gMTQ3LAorICAgIHRNQVRDSCA9IDE0MSwK
KyAgICB0Tk1BVENIID0gMTQyLAorICAgIHRET1QyID0gMTI4LAorICAgIHRET1QzID0gMTI5LAor
ICAgIHRBUkVGID0gMTQzLAorICAgIHRBU0VUID0gMTQ0LAorICAgIHRMU0hGVCA9IDEzNCwKKyAg
ICB0UlNIRlQgPSAxMzUsCisgICAgdEFORERPVCA9IDE0OCwKKyAgICB0Q09MT04yID0gMTQ1LAor
ICAgIHRDT0xPTjMgPSAzMjQsCisgICAgdE9QX0FTR04gPSAzMjUsCisgICAgdEFTU09DID0gMzI2
LAorICAgIHRMUEFSRU4gPSAzMjcsCisgICAgdExQQVJFTl9BUkcgPSAzMjgsCisgICAgdFJQQVJF
TiA9IDMyOSwKKyAgICB0TEJSQUNLID0gMzMwLAorICAgIHRMQlJBQ0UgPSAzMzEsCisgICAgdExC
UkFDRV9BUkcgPSAzMzIsCisgICAgdFNUQVIgPSAzMzMsCisgICAgdERTVEFSID0gMzM0LAorICAg
IHRBTVBFUiA9IDMzNSwKKyAgICB0TEFNQkRBID0gMzM2LAorICAgIHRTWU1CRUcgPSAzMzcsCisg
ICAgdFNUUklOR19CRUcgPSAzMzgsCisgICAgdFhTVFJJTkdfQkVHID0gMzM5LAorICAgIHRSRUdF
WFBfQkVHID0gMzQwLAorICAgIHRXT1JEU19CRUcgPSAzNDEsCisgICAgdFFXT1JEU19CRUcgPSAz
NDIsCisgICAgdFNZTUJPTFNfQkVHID0gMzQzLAorICAgIHRRU1lNQk9MU19CRUcgPSAzNDQsCisg
ICAgdFNUUklOR19EQkVHID0gMzQ1LAorICAgIHRTVFJJTkdfREVORCA9IDM0NiwKKyAgICB0U1RS
SU5HX0RWQVIgPSAzNDcsCisgICAgdFNUUklOR19FTkQgPSAzNDgsCisgICAgdExBTUJFRyA9IDM0
OSwKKyAgICB0TEFCRUxfRU5EID0gMzUwLAorICAgIHRMT1dFU1QgPSAzNTEsCisgICAgdFVNSU5V
U19OVU0gPSAzNTIsCisgICAgdExBU1RfVE9LRU4gPSAzNTMKKyAgfTsKKyNlbmRpZgorCisvKiBW
YWx1ZSB0eXBlLiAgKi8KKyNpZiAhIGRlZmluZWQgWVlTVFlQRSAmJiAhIGRlZmluZWQgWVlTVFlQ
RV9JU19ERUNMQVJFRAorCit1bmlvbiBZWVNUWVBFCit7CisjbGluZSA3NjkgInBhcnNlLnkiIC8q
IHlhY2MuYzozNTIgICovCisKKyAgICBWQUxVRSB2YWw7CisgICAgTk9ERSAqbm9kZTsKKyAgICBJ
RCBpZDsKKyAgICBpbnQgbnVtOworICAgIGNvbnN0IHN0cnVjdCB2dGFibGUgKnZhcnM7CisgICAg
c3RydWN0IHJiX3N0cnRlcm1fc3RydWN0ICpzdHJ0ZXJtOworCisjbGluZSA5OTIgInBhcnNlLmMi
IC8qIHlhY2MuYzozNTIgICovCit9OworCit0eXBlZGVmIHVuaW9uIFlZU1RZUEUgWVlTVFlQRTsK
KyMgZGVmaW5lIFlZU1RZUEVfSVNfVFJJVklBTCAxCisjIGRlZmluZSBZWVNUWVBFX0lTX0RFQ0xB
UkVEIDEKKyNlbmRpZgorCisvKiBMb2NhdGlvbiB0eXBlLiAgKi8KKyNpZiAhIGRlZmluZWQgWVlM
VFlQRSAmJiAhIGRlZmluZWQgWVlMVFlQRV9JU19ERUNMQVJFRAordHlwZWRlZiBzdHJ1Y3QgWVlM
VFlQRSBZWUxUWVBFOworc3RydWN0IFlZTFRZUEUKK3sKKyAgaW50IGZpcnN0X2xpbmU7CisgIGlu
dCBmaXJzdF9jb2x1bW47CisgIGludCBsYXN0X2xpbmU7CisgIGludCBsYXN0X2NvbHVtbjsKK307
CisjIGRlZmluZSBZWUxUWVBFX0lTX0RFQ0xBUkVEIDEKKyMgZGVmaW5lIFlZTFRZUEVfSVNfVFJJ
VklBTCAxCisjZW5kaWYKKworCisKK2ludCB5eXBhcnNlIChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAq
cCk7CisKKyNlbmRpZiAvKiAhWVlfWVlfWV9UQUJfSF9JTkNMVURFRCAgKi8KKworCisKKyNpZmRl
ZiBzaG9ydAorIyB1bmRlZiBzaG9ydAorI2VuZGlmCisKKyNpZmRlZiBZWVRZUEVfVUlOVDgKK3R5
cGVkZWYgWVlUWVBFX1VJTlQ4IHl5dHlwZV91aW50ODsKKyNlbHNlCit0eXBlZGVmIHVuc2lnbmVk
IGNoYXIgeXl0eXBlX3VpbnQ4OworI2VuZGlmCisKKyNpZmRlZiBZWVRZUEVfSU5UOAordHlwZWRl
ZiBZWVRZUEVfSU5UOCB5eXR5cGVfaW50ODsKKyNlbHNlCit0eXBlZGVmIHNpZ25lZCBjaGFyIHl5
dHlwZV9pbnQ4OworI2VuZGlmCisKKyNpZmRlZiBZWVRZUEVfVUlOVDE2Cit0eXBlZGVmIFlZVFlQ
RV9VSU5UMTYgeXl0eXBlX3VpbnQxNjsKKyNlbHNlCit0eXBlZGVmIHVuc2lnbmVkIHNob3J0IHl5
dHlwZV91aW50MTY7CisjZW5kaWYKKworI2lmZGVmIFlZVFlQRV9JTlQxNgordHlwZWRlZiBZWVRZ
UEVfSU5UMTYgeXl0eXBlX2ludDE2OworI2Vsc2UKK3R5cGVkZWYgc2hvcnQgeXl0eXBlX2ludDE2
OworI2VuZGlmCisKKyNpZm5kZWYgWVlTSVpFX1QKKyMgaWZkZWYgX19TSVpFX1RZUEVfXworIyAg
ZGVmaW5lIFlZU0laRV9UIF9fU0laRV9UWVBFX18KKyMgZWxpZiBkZWZpbmVkIHNpemVfdAorIyAg
ZGVmaW5lIFlZU0laRV9UIHNpemVfdAorIyBlbGlmICEgZGVmaW5lZCBZWVNJWkVfVAorIyAgaW5j
bHVkZSA8c3RkZGVmLmg+IC8qIElORlJJTkdFUyBPTiBVU0VSIE5BTUUgU1BBQ0UgKi8KKyMgIGRl
ZmluZSBZWVNJWkVfVCBzaXplX3QKKyMgZWxzZQorIyAgZGVmaW5lIFlZU0laRV9UIHVuc2lnbmVk
CisjIGVuZGlmCisjZW5kaWYKKworI2RlZmluZSBZWVNJWkVfTUFYSU1VTSAoKFlZU0laRV9UKSAt
MSkKKworI2lmbmRlZiBZWV8KKyMgaWYgZGVmaW5lZCBZWUVOQUJMRV9OTFMgJiYgWVlFTkFCTEVf
TkxTCisjICBpZiBFTkFCTEVfTkxTCisjICAgaW5jbHVkZSA8bGliaW50bC5oPiAvKiBJTkZSSU5H
RVMgT04gVVNFUiBOQU1FIFNQQUNFICovCisjICAgZGVmaW5lIFlZXyhNc2dpZCkgZGdldHRleHQg
KCJiaXNvbi1ydW50aW1lIiwgTXNnaWQpCisjICBlbmRpZgorIyBlbmRpZgorIyBpZm5kZWYgWVlf
CisjICBkZWZpbmUgWVlfKE1zZ2lkKSBNc2dpZAorIyBlbmRpZgorI2VuZGlmCisKKyNpZm5kZWYg
WVlfQVRUUklCVVRFCisjIGlmIChkZWZpbmVkIF9fR05VQ19fICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAmJiAoMiA8IF9fR05VQ19fIHx8IChf
X0dOVUNfXyA9PSAyICYmIDk2IDw9IF9fR05VQ19NSU5PUl9fKSkpICBcCisgICAgIHx8IGRlZmlu
ZWQgX19TVU5QUk9fQyAmJiAweDUxMTAgPD0gX19TVU5QUk9fQworIyAgZGVmaW5lIFlZX0FUVFJJ
QlVURShTcGVjKSBfX2F0dHJpYnV0ZV9fKFNwZWMpCisjIGVsc2UKKyMgIGRlZmluZSBZWV9BVFRS
SUJVVEUoU3BlYykgLyogZW1wdHkgKi8KKyMgZW5kaWYKKyNlbmRpZgorCisjaWZuZGVmIFlZX0FU
VFJJQlVURV9QVVJFCisjIGRlZmluZSBZWV9BVFRSSUJVVEVfUFVSRSAgIFlZX0FUVFJJQlVURSAo
KF9fcHVyZV9fKSkKKyNlbmRpZgorCisjaWZuZGVmIFlZX0FUVFJJQlVURV9VTlVTRUQKKyMgZGVm
aW5lIFlZX0FUVFJJQlVURV9VTlVTRUQgWVlfQVRUUklCVVRFICgoX191bnVzZWRfXykpCisjZW5k
aWYKKworLyogU3VwcHJlc3MgdW51c2VkLXZhcmlhYmxlIHdhcm5pbmdzIGJ5ICJ1c2luZyIgRS4g
ICovCisjaWYgISBkZWZpbmVkIGxpbnQgfHwgZGVmaW5lZCBfX0dOVUNfXworIyBkZWZpbmUgWVlV
U0UoRSkgKCh2b2lkKSAoRSkpCisjZWxzZQorIyBkZWZpbmUgWVlVU0UoRSkgLyogZW1wdHkgKi8K
KyNlbmRpZgorCisjaWYgZGVmaW5lZCBfX0dOVUNfXyAmJiAhIGRlZmluZWQgX19JQ0MgJiYgNDA3
IDw9IF9fR05VQ19fICogMTAwICsgX19HTlVDX01JTk9SX18KKy8qIFN1cHByZXNzIGFuIGluY29y
cmVjdCBkaWFnbm9zdGljIGFib3V0IHl5bHZhbCBiZWluZyB1bmluaXRpYWxpemVkLiAgKi8KKyMg
ZGVmaW5lIFlZX0lHTk9SRV9NQVlCRV9VTklOSVRJQUxJWkVEX0JFR0lOIFwKKyAgICBfUHJhZ21h
ICgiR0NDIGRpYWdub3N0aWMgcHVzaCIpIFwKKyAgICBfUHJhZ21hICgiR0NDIGRpYWdub3N0aWMg
aWdub3JlZCBcIi1XdW5pbml0aWFsaXplZFwiIilcCisgICAgX1ByYWdtYSAoIkdDQyBkaWFnbm9z
dGljIGlnbm9yZWQgXCItV21heWJlLXVuaW5pdGlhbGl6ZWRcIiIpCisjIGRlZmluZSBZWV9JR05P
UkVfTUFZQkVfVU5JTklUSUFMSVpFRF9FTkQgXAorICAgIF9QcmFnbWEgKCJHQ0MgZGlhZ25vc3Rp
YyBwb3AiKQorI2Vsc2UKKyMgZGVmaW5lIFlZX0lOSVRJQUxfVkFMVUUoVmFsdWUpIFZhbHVlCisj
ZW5kaWYKKyNpZm5kZWYgWVlfSUdOT1JFX01BWUJFX1VOSU5JVElBTElaRURfQkVHSU4KKyMgZGVm
aW5lIFlZX0lHTk9SRV9NQVlCRV9VTklOSVRJQUxJWkVEX0JFR0lOCisjIGRlZmluZSBZWV9JR05P
UkVfTUFZQkVfVU5JTklUSUFMSVpFRF9FTkQKKyNlbmRpZgorI2lmbmRlZiBZWV9JTklUSUFMX1ZB
TFVFCisjIGRlZmluZSBZWV9JTklUSUFMX1ZBTFVFKFZhbHVlKSAvKiBOb3RoaW5nLiAqLworI2Vu
ZGlmCisKKworI2lmICEgZGVmaW5lZCB5eW92ZXJmbG93IHx8IFlZRVJST1JfVkVSQk9TRQorCisv
KiBUaGUgcGFyc2VyIGludm9rZXMgYWxsb2NhIG9yIG1hbGxvYzsgZGVmaW5lIHRoZSBuZWNlc3Nh
cnkgc3ltYm9scy4gICovCisKKyMgaWZkZWYgWVlTVEFDS19VU0VfQUxMT0NBCisjICBpZiBZWVNU
QUNLX1VTRV9BTExPQ0EKKyMgICBpZmRlZiBfX0dOVUNfXworIyAgICBkZWZpbmUgWVlTVEFDS19B
TExPQyBfX2J1aWx0aW5fYWxsb2NhCisjICAgZWxpZiBkZWZpbmVkIF9fQlVJTFRJTl9WQV9BUkdf
SU5DUgorIyAgICBpbmNsdWRlIDxhbGxvY2EuaD4gLyogSU5GUklOR0VTIE9OIFVTRVIgTkFNRSBT
UEFDRSAqLworIyAgIGVsaWYgZGVmaW5lZCBfQUlYCisjICAgIGRlZmluZSBZWVNUQUNLX0FMTE9D
IF9fYWxsb2NhCisjICAgZWxpZiBkZWZpbmVkIF9NU0NfVkVSCisjICAgIGluY2x1ZGUgPG1hbGxv
Yy5oPiAvKiBJTkZSSU5HRVMgT04gVVNFUiBOQU1FIFNQQUNFICovCisjICAgIGRlZmluZSBhbGxv
Y2EgX2FsbG9jYQorIyAgIGVsc2UKKyMgICAgZGVmaW5lIFlZU1RBQ0tfQUxMT0MgYWxsb2NhCisj
ICAgIGlmICEgZGVmaW5lZCBfQUxMT0NBX0ggJiYgISBkZWZpbmVkIEVYSVRfU1VDQ0VTUworIyAg
ICAgaW5jbHVkZSA8c3RkbGliLmg+IC8qIElORlJJTkdFUyBPTiBVU0VSIE5BTUUgU1BBQ0UgKi8K
KyAgICAgIC8qIFVzZSBFWElUX1NVQ0NFU1MgYXMgYSB3aXRuZXNzIGZvciBzdGRsaWIuaC4gICov
CisjICAgICBpZm5kZWYgRVhJVF9TVUNDRVNTCisjICAgICAgZGVmaW5lIEVYSVRfU1VDQ0VTUyAw
CisjICAgICBlbmRpZgorIyAgICBlbmRpZgorIyAgIGVuZGlmCisjICBlbmRpZgorIyBlbmRpZgor
CisjIGlmZGVmIFlZU1RBQ0tfQUxMT0MKKyAgIC8qIFBhY2lmeSBHQ0MncyAnZW1wdHkgaWYtYm9k
eScgd2FybmluZy4gICovCisjICBkZWZpbmUgWVlTVEFDS19GUkVFKFB0cikgZG8geyAvKiBlbXB0
eSAqLzsgfSB3aGlsZSAoMCkKKyMgIGlmbmRlZiBZWVNUQUNLX0FMTE9DX01BWElNVU0KKyAgICAv
KiBUaGUgT1MgbWlnaHQgZ3VhcmFudGVlIG9ubHkgb25lIGd1YXJkIHBhZ2UgYXQgdGhlIGJvdHRv
bSBvZiB0aGUgc3RhY2ssCisgICAgICAgYW5kIGEgcGFnZSBzaXplIGNhbiBiZSBhcyBzbWFsbCBh
cyA0MDk2IGJ5dGVzLiAgU28gd2UgY2Fubm90IHNhZmVseQorICAgICAgIGludm9rZSBhbGxvY2Eg
KE4pIGlmIE4gZXhjZWVkcyA0MDk2LiAgVXNlIGEgc2xpZ2h0bHkgc21hbGxlciBudW1iZXIKKyAg
ICAgICB0byBhbGxvdyBmb3IgYSBmZXcgY29tcGlsZXItYWxsb2NhdGVkIHRlbXBvcmFyeSBzdGFj
ayBzbG90cy4gICovCisjICAgZGVmaW5lIFlZU1RBQ0tfQUxMT0NfTUFYSU1VTSA0MDMyIC8qIHJl
YXNvbmFibGUgY2lyY2EgMjAwNiAqLworIyAgZW5kaWYKKyMgZWxzZQorIyAgZGVmaW5lIFlZU1RB
Q0tfQUxMT0MgWVlNQUxMT0MKKyMgIGRlZmluZSBZWVNUQUNLX0ZSRUUgWVlGUkVFCisjICBpZm5k
ZWYgWVlTVEFDS19BTExPQ19NQVhJTVVNCisjICAgZGVmaW5lIFlZU1RBQ0tfQUxMT0NfTUFYSU1V
TSBZWVNJWkVfTUFYSU1VTQorIyAgZW5kaWYKKyMgIGlmIChkZWZpbmVkIF9fY3BsdXNwbHVzICYm
ICEgZGVmaW5lZCBFWElUX1NVQ0NFU1MgXAorICAgICAgICYmICEgKChkZWZpbmVkIFlZTUFMTE9D
IHx8IGRlZmluZWQgbWFsbG9jKSBcCisgICAgICAgICAgICAgJiYgKGRlZmluZWQgWVlGUkVFIHx8
IGRlZmluZWQgZnJlZSkpKQorIyAgIGluY2x1ZGUgPHN0ZGxpYi5oPiAvKiBJTkZSSU5HRVMgT04g
VVNFUiBOQU1FIFNQQUNFICovCisjICAgaWZuZGVmIEVYSVRfU1VDQ0VTUworIyAgICBkZWZpbmUg
RVhJVF9TVUNDRVNTIDAKKyMgICBlbmRpZgorIyAgZW5kaWYKKyMgIGlmbmRlZiBZWU1BTExPQwor
IyAgIGRlZmluZSBZWU1BTExPQyBtYWxsb2MKKyMgICBpZiAhIGRlZmluZWQgbWFsbG9jICYmICEg
ZGVmaW5lZCBFWElUX1NVQ0NFU1MKK3ZvaWQgKm1hbGxvYyAoWVlTSVpFX1QpOyAvKiBJTkZSSU5H
RVMgT04gVVNFUiBOQU1FIFNQQUNFICovCisjICAgZW5kaWYKKyMgIGVuZGlmCisjICBpZm5kZWYg
WVlGUkVFCisjICAgZGVmaW5lIFlZRlJFRSBmcmVlCisjICAgaWYgISBkZWZpbmVkIGZyZWUgJiYg
ISBkZWZpbmVkIEVYSVRfU1VDQ0VTUwordm9pZCBmcmVlICh2b2lkICopOyAvKiBJTkZSSU5HRVMg
T04gVVNFUiBOQU1FIFNQQUNFICovCisjICAgZW5kaWYKKyMgIGVuZGlmCisjIGVuZGlmCisjZW5k
aWYgLyogISBkZWZpbmVkIHl5b3ZlcmZsb3cgfHwgWVlFUlJPUl9WRVJCT1NFICovCisKKworI2lm
ICghIGRlZmluZWQgeXlvdmVyZmxvdyBcCisgICAgICYmICghIGRlZmluZWQgX19jcGx1c3BsdXMg
XAorICAgICAgICAgfHwgKGRlZmluZWQgWVlMVFlQRV9JU19UUklWSUFMICYmIFlZTFRZUEVfSVNf
VFJJVklBTCBcCisgICAgICAgICAgICAgJiYgZGVmaW5lZCBZWVNUWVBFX0lTX1RSSVZJQUwgJiYg
WVlTVFlQRV9JU19UUklWSUFMKSkpCisKKy8qIEEgdHlwZSB0aGF0IGlzIHByb3Blcmx5IGFsaWdu
ZWQgZm9yIGFueSBzdGFjayBtZW1iZXIuICAqLwordW5pb24geXlhbGxvYworeworICB5eXR5cGVf
aW50MTYgeXlzc19hbGxvYzsKKyAgWVlTVFlQRSB5eXZzX2FsbG9jOworICBZWUxUWVBFIHl5bHNf
YWxsb2M7Cit9OworCisvKiBUaGUgc2l6ZSBvZiB0aGUgbWF4aW11bSBnYXAgYmV0d2VlbiBvbmUg
YWxpZ25lZCBzdGFjayBhbmQgdGhlIG5leHQuICAqLworIyBkZWZpbmUgWVlTVEFDS19HQVBfTUFY
SU1VTSAoc2l6ZW9mICh1bmlvbiB5eWFsbG9jKSAtIDEpCisKKy8qIFRoZSBzaXplIG9mIGFuIGFy
cmF5IGxhcmdlIHRvIGVub3VnaCB0byBob2xkIGFsbCBzdGFja3MsIGVhY2ggd2l0aAorICAgTiBl
bGVtZW50cy4gICovCisjIGRlZmluZSBZWVNUQUNLX0JZVEVTKE4pIFwKKyAgICAgKChOKSAqIChz
aXplb2YgKHl5dHlwZV9pbnQxNikgKyBzaXplb2YgKFlZU1RZUEUpICsgc2l6ZW9mIChZWUxUWVBF
KSkgXAorICAgICAgKyAyICogWVlTVEFDS19HQVBfTUFYSU1VTSkKKworIyBkZWZpbmUgWVlDT1BZ
X05FRURFRCAxCisKKy8qIFJlbG9jYXRlIFNUQUNLIGZyb20gaXRzIG9sZCBsb2NhdGlvbiB0byB0
aGUgbmV3IG9uZS4gIFRoZQorICAgbG9jYWwgdmFyaWFibGVzIFlZU0laRSBhbmQgWVlTVEFDS1NJ
WkUgZ2l2ZSB0aGUgb2xkIGFuZCBuZXcgbnVtYmVyIG9mCisgICBlbGVtZW50cyBpbiB0aGUgc3Rh
Y2ssIGFuZCBZWVBUUiBnaXZlcyB0aGUgbmV3IGxvY2F0aW9uIG9mIHRoZQorICAgc3RhY2suICBB
ZHZhbmNlIFlZUFRSIHRvIGEgcHJvcGVybHkgYWxpZ25lZCBsb2NhdGlvbiBmb3IgdGhlIG5leHQK
KyAgIHN0YWNrLiAgKi8KKyMgZGVmaW5lIFlZU1RBQ0tfUkVMT0NBVEUoU3RhY2tfYWxsb2MsIFN0
YWNrKSAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBkbyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAg
IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKKyAgICAgICAgWVlTSVpFX1QgeXluZXdieXRlczsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgWVlDT1BZICgmeXlwdHItPlN0
YWNrX2FsbG9jLCBTdGFjaywgeXlzaXplKTsgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAg
U3RhY2sgPSAmeXlwdHItPlN0YWNrX2FsbG9jOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKKyAgICAgICAgeXluZXdieXRlcyA9IHl5c3RhY2tzaXplICogc2l6ZW9mICgqU3Rh
Y2spICsgWVlTVEFDS19HQVBfTUFYSU1VTTsgXAorICAgICAgICB5eXB0ciArPSB5eW5ld2J5dGVz
IC8gc2l6ZW9mICgqeXlwdHIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgfSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAorICAgIHdoaWxlICgwKQorCisjZW5kaWYKKworI2lmIGRlZmluZWQgWVlDT1BZX05F
RURFRCAmJiBZWUNPUFlfTkVFREVECisvKiBDb3B5IENPVU5UIG9iamVjdHMgZnJvbSBTUkMgdG8g
RFNULiAgVGhlIHNvdXJjZSBhbmQgZGVzdGluYXRpb24gZG8KKyAgIG5vdCBvdmVybGFwLiAgKi8K
KyMgaWZuZGVmIFlZQ09QWQorIyAgaWYgZGVmaW5lZCBfX0dOVUNfXyAmJiAxIDwgX19HTlVDX18K
KyMgICBkZWZpbmUgWVlDT1BZKERzdCwgU3JjLCBDb3VudCkgXAorICAgICAgX19idWlsdGluX21l
bWNweSAoRHN0LCBTcmMsIChDb3VudCkgKiBzaXplb2YgKCooU3JjKSkpCisjICBlbHNlCisjICAg
ZGVmaW5lIFlZQ09QWShEc3QsIFNyYywgQ291bnQpICAgICAgICAgICAgICBcCisgICAgICBkbyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIHsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgWVlTSVpFX1QgeXlp
OyAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgZm9yICh5eWkgPSAwOyB5eWkg
PCAoQ291bnQpOyB5eWkrKykgICBcCisgICAgICAgICAgICAoRHN0KVt5eWldID0gKFNyYylbeXlp
XTsgICAgICAgICAgICBcCisgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCisgICAgICB3aGlsZSAoMCkKKyMgIGVuZGlmCisjIGVuZGlmCisjZW5kaWYgLyog
IVlZQ09QWV9ORUVERUQgKi8KKworLyogWVlGSU5BTCAtLSBTdGF0ZSBudW1iZXIgb2YgdGhlIHRl
cm1pbmF0aW9uIHN0YXRlLiAgKi8KKyNkZWZpbmUgWVlGSU5BTCAgMworLyogWVlMQVNUIC0tIExh
c3QgaW5kZXggaW4gWVlUQUJMRS4gICovCisjZGVmaW5lIFlZTEFTVCAgIDEyNTcwCisKKy8qIFlZ
TlRPS0VOUyAtLSBOdW1iZXIgb2YgdGVybWluYWxzLiAgKi8KKyNkZWZpbmUgWVlOVE9LRU5TICAx
NTIKKy8qIFlZTk5UUyAtLSBOdW1iZXIgb2Ygbm9udGVybWluYWxzLiAgKi8KKyNkZWZpbmUgWVlO
TlRTICAyMTUKKy8qIFlZTlJVTEVTIC0tIE51bWJlciBvZiBydWxlcy4gICovCisjZGVmaW5lIFlZ
TlJVTEVTICA2NDAKKy8qIFlZTlNUQVRFUyAtLSBOdW1iZXIgb2Ygc3RhdGVzLiAgKi8KKyNkZWZp
bmUgWVlOU1RBVEVTICAxMDc2CisKKyNkZWZpbmUgWVlVTkRFRlRPSyAgMgorI2RlZmluZSBZWU1B
WFVUT0sgICAzNTMKKworLyogWVlUUkFOU0xBVEUoVE9LRU4tTlVNKSAtLSBTeW1ib2wgbnVtYmVy
IGNvcnJlc3BvbmRpbmcgdG8gVE9LRU4tTlVNCisgICBhcyByZXR1cm5lZCBieSB5eWxleCwgd2l0
aCBvdXQtb2YtYm91bmRzIGNoZWNraW5nLiAgKi8KKyNkZWZpbmUgWVlUUkFOU0xBVEUoWVlYKSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgKCh1bnNp
Z25lZCkgKFlZWCkgPD0gWVlNQVhVVE9LID8geXl0cmFuc2xhdGVbWVlYXSA6IFlZVU5ERUZUT0sp
CisKKy8qIFlZVFJBTlNMQVRFW1RPS0VOLU5VTV0gLS0gU3ltYm9sIG51bWJlciBjb3JyZXNwb25k
aW5nIHRvIFRPS0VOLU5VTQorICAgYXMgcmV0dXJuZWQgYnkgeXlsZXguICAqLworc3RhdGljIGNv
bnN0IHl5dHlwZV91aW50OCB5eXRyYW5zbGF0ZVtdID0KK3sKKyAgICAgICAwLCAgICAgMiwgICAg
IDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgIDcxLAorICAg
ICAxNTEsICAgIDc0LCAgICA3MiwgICAgNzMsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAg
ICAgMiwgICAgIDIsCisgICAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAy
LCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwKKyAgICAgICAyLCAgICAgMiwgICAxNTAsICAg
MTM4LCAgICAgMiwgICAgIDIsICAgICAyLCAgIDEzNiwgICAxMzEsICAgICAyLAorICAgICAxNDYs
ICAgMTQ3LCAgIDEzNCwgICAxMzIsICAgMTQ0LCAgIDEzMywgICAgNjgsICAgMTM1LCAgICAgMiwg
ICAgIDIsCisgICAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAg
MiwgICAgIDIsICAgMTI2LCAgIDE0OSwKKyAgICAgMTI4LCAgIDEyNCwgICAxMjcsICAgMTI1LCAg
ICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLAorICAgICAgIDIsICAgICAy
LCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIs
CisgICAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAg
IDIsICAgICAyLCAgICAgMiwKKyAgICAgICAyLCAgIDE0MywgICAgNjksICAgMTQ4LCAgIDEzMCwg
ICAgIDIsICAgMTQ1LCAgICAgMiwgICAgIDIsICAgICAyLAorICAgICAgIDIsICAgICAyLCAgICAg
MiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsCisgICAg
ICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAg
ICAyLCAgICAgMiwKKyAgICAgICAyLCAgICAgMiwgICAgIDIsICAgMTQxLCAgIDEyOSwgICAxNDIs
ICAgMTM5LCAgICAgMiwgICAgODgsICAgIDg5LAorICAgICAgNzUsICAgIDc2LCAgICA3NywgICAg
NzgsICAgIDkyLCAgICA5MywgICAgODMsICAgIDgyLCAgICA3OSwgICAgODAsCisgICAgICA4MSwg
ICAgODYsICAgIDg3LCAgICA5MCwgICAgOTEsICAgIDk1LCAgICA4NCwgICAgODUsICAgIDk0LCAg
ICAgMiwKKyAgICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAy
LCAgICAgMiwgICAgIDIsICAgICAyLAorICAgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAg
ICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsCisgICAgICAgMiwgICAgIDIs
ICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwK
KyAgICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAg
MiwgICAgIDIsICAgICAyLAorICAgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAg
ICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsCisgICAgICAgMiwgICAgIDIsICAgICAy
LCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwKKyAgICAg
ICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAg
IDIsICAgICAyLAorICAgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwg
ICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsCisgICAgICAgMiwgICAgIDIsICAgICAyLCAgICAg
MiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwKKyAgICAgICAyLCAg
ICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAg
ICAyLAorICAgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDEs
ICAgICAyLCAgICAgMywgICAgIDQsCisgICAgICAgNSwgICAgIDYsICAgICA3LCAgICAgOCwgICAg
IDksICAgIDEwLCAgICAxMSwgICAgMTIsICAgIDEzLCAgICAxNCwKKyAgICAgIDE1LCAgICAxNiwg
ICAgMTcsICAgIDE4LCAgICAxOSwgICAgMjAsICAgIDIxLCAgICAyMiwgICAgMjMsICAgIDI0LAor
ICAgICAgMjUsICAgIDI2LCAgICAyNywgICAgMjgsICAgIDI5LCAgICAzMCwgICAgMzEsICAgIDMy
LCAgICAzMywgICAgMzQsCisgICAgICAzNSwgICAgMzYsICAgIDM3LCAgICAzOCwgICAgMzksICAg
IDQwLCAgICA0MSwgICAgNDIsICAgIDQzLCAgICA0NCwKKyAgICAgIDQ1LCAgICA0NiwgICAgNDcs
ICAgIDQ4LCAgICA0OSwgICAgNTAsICAgIDUxLCAgICA1MiwgICAgNTMsICAgIDU0LAorICAgICAg
NTUsICAgIDU2LCAgICA1NywgICAgNTgsICAgIDU5LCAgICA2MCwgICAgNjEsICAgIDYyLCAgICA2
MywgICAgNjQsCisgICAgICA2NSwgICAgNjYsICAgIDY3LCAgICA3MCwgICAgOTYsICAgIDk3LCAg
ICA5OCwgICAgOTksICAgMTAwLCAgIDEwMSwKKyAgICAgMTAyLCAgIDEwMywgICAxMDQsICAgMTA1
LCAgIDEwNiwgICAxMDcsICAgMTA4LCAgIDEwOSwgICAxMTAsICAgMTExLAorICAgICAxMTIsICAg
MTEzLCAgIDExNCwgICAxMTUsICAgMTE2LCAgIDExNywgICAxMTgsICAgMTE5LCAgIDEyMCwgICAx
MjEsCisgICAgIDEyMiwgICAxMjMsICAgMTM3LCAgIDE0MAorfTsKKworI2lmIFlZREVCVUcKKyAg
LyogWVlSTElORVtZWU5dIC0tIFNvdXJjZSBsaW5lIHdoZXJlIHJ1bGUgbnVtYmVyIFlZTiB3YXMg
ZGVmaW5lZC4gICovCitzdGF0aWMgY29uc3QgeXl0eXBlX3VpbnQxNiB5eXJsaW5lW10gPQorewor
ICAgICAgIDAsICAgOTM2LCAgIDkzNiwgICA5MzYsICAgOTYyLCAgIDk2OCwgICA5NzUsICAgOTgy
LCAgIDk4OSwgICA5OTUsCisgICAgIDk5NiwgIDEwMDIsICAxMDE1LCAgMTAxMywgIDEwMjQsICAx
MDM1LCAgMTA0MSwgIDEwNDgsICAxMDU1LCAgMTA2MiwKKyAgICAxMDY4LCAgMTA3MywgIDEwNzIs
ICAxMDgxLCAgMTA4MSwgIDEwODgsICAxMDk1LCAgMTEwNSwgIDExMTMsICAxMTIwLAorICAgIDEx
MjgsICAxMTM2LCAgMTE0OCwgIDExNjAsICAxMTcwLCAgMTE4NCwgIDExODUsICAxMTkzLCAgMTIw
MSwgIDEyMDgsCisgICAgMTIxMSwgIDEyMTksICAxMjI3LCAgMTIzNiwgIDEyNDQsICAxMjUyLCAg
MTI2MCwgIDEyNjgsICAxMjc4LCAgMTI4MywKKyAgICAxMjkyLCAgMTI5NSwgIDEyOTYsICAxMzAw
LCAgMTMwNCwgIDEzMDgsICAxMzEyLCAgMTMxNSwgIDEzMjIsICAxMzIyLAorICAgIDEzMjIsICAx
MzI4LCAgMTMyOSwgIDEzMzIsICAxMzMzLCAgMTM0MiwgIDEzNTIsICAxMzYyLCAgMTM3MSwgIDEz
ODIsCisgICAgMTM4OSwgIDEzOTYsICAxNDAzLCAgMTQxMCwgIDE0MTgsICAxNDI2LCAgMTQzMywg
IDE0NDAsICAxNDQ5LCAgMTQ1MCwKKyAgICAxNDU5LCAgMTQ2MCwgIDE0NjksICAxNDc2LCAgMTQ4
MywgIDE0OTAsICAxNDk3LCAgMTUwNCwgIDE1MTEsICAxNTE4LAorICAgIDE1MjUsICAxNTMyLCAg
MTU0MSwgIDE1NDIsICAxNTUxLCAgMTU1OCwgIDE1NjcsICAxNTc0LCAgMTU4MywgIDE1OTAsCisg
ICAgMTU5NywgIDE2MDQsICAxNjExLCAgMTYxOCwgIDE2MjUsICAxNjMyLCAgMTYzOSwgIDE2NDks
ICAxNjU2LCAgMTY2MywKKyAgICAxNjcwLCAgMTY3NywgIDE2ODQsICAxNjkxLCAgMTY5OCwgIDE3
MDUsICAxNzE1LCAgMTcyMiwgIDE3MjUsICAxNzMyLAorICAgIDE3MzksICAxNzQ4LCAgMTc0OSwg
IDE3NTAsICAxNzUxLCAgMTc1NiwgIDE3NjMsICAxNzY0LCAgMTc2NywgIDE3NzQsCisgICAgMTc3
NywgIDE3ODQsICAxNzg0LCAgMTc5NCwgIDE3OTUsICAxNzk2LCAgMTc5NywgIDE3OTgsICAxNzk5
LCAgMTgwMCwKKyAgICAxODAxLCAgMTgwMiwgIDE4MDMsICAxODA0LCAgMTgwNSwgIDE4MDYsICAx
ODA3LCAgMTgwOCwgIDE4MDksICAxODEwLAorICAgIDE4MTEsICAxODEyLCAgMTgxMywgIDE4MTQs
ICAxODE1LCAgMTgxNiwgIDE4MTcsICAxODE4LCAgMTgxOSwgIDE4MjAsCisgICAgMTgyMSwgIDE4
MjIsICAxODIzLCAgMTgyNiwgIDE4MjYsICAxODI2LCAgMTgyNywgIDE4MjcsICAxODI4LCAgMTgy
OCwKKyAgICAxODI4LCAgMTgyOSwgIDE4MjksICAxODI5LCAgMTgyOSwgIDE4MzAsICAxODMwLCAg
MTgzMCwgIDE4MzAsICAxODMxLAorICAgIDE4MzEsICAxODMxLCAgMTgzMiwgIDE4MzIsICAxODMy
LCAgMTgzMiwgIDE4MzMsICAxODMzLCAgMTgzMywgIDE4MzMsCisgICAgMTgzNCwgIDE4MzQsICAx
ODM0LCAgMTgzNCwgIDE4MzUsICAxODM1LCAgMTgzNSwgIDE4MzUsICAxODM2LCAgMTgzNiwKKyAg
ICAxODM2LCAgMTgzNiwgIDE4MzcsICAxODM3LCAgMTg0MCwgIDE4NDcsICAxODU0LCAgMTg2Miwg
IDE4NzAsICAxODc4LAorICAgIDE4ODYsICAxODk0LCAgMTkwMSwgIDE5MDksICAxOTE4LCAgMTky
NywgIDE5MzksICAxOTUxLCAgMTk1NSwgIDE5NTksCisgICAgMTk2MywgIDE5NjcsICAxOTcxLCAg
MTk3NSwgIDE5NzksICAxOTgzLCAgMTk4NywgIDE5OTEsICAxOTk1LCAgMTk5OSwKKyAgICAyMDAz
LCAgMjAwNCwgIDIwMDgsICAyMDEyLCAgMjAxNiwgIDIwMjAsICAyMDI0LCAgMjAyOCwgIDIwMzIs
ICAyMDM2LAorICAgIDIwNDAsICAyMDQ0LCAgMjA0OCwgIDIwNDgsICAyMDUzLCAgMjA2MiwgIDIw
NjgsICAyMDY5LCAgMjA3MCwgIDIwNzEsCisgICAgMjA3NCwgIDIwNzgsICAyMDg1LCAgMjA5Miwg
IDIwOTMsICAyMDk3LCAgMjEwNCwgIDIxMTMsICAyMTE4LCAgMjEyOSwKKyAgICAyMTM4LCAgMjEz
OSwgIDIxNDIsICAyMTQzLCAgMjE0NCwgIDIxNDgsICAyMTU1LCAgMjE2NCwgIDIxNzIsICAyMTc5
LAorICAgIDIxODcsICAyMTk1LCAgMjE5OSwgIDIxOTksICAyMjM2LCAgMjI0NSwgIDIyNDksICAy
MjU1LCAgMjI2MiwgIDIyNjksCisgICAgMjI3NiwgIDIyODUsICAyMjg2LCAgMjI4OSwgIDIyOTYs
ICAyMzAzLCAgMjMxMiwgIDIzMTMsICAyMzE0LCAgMjMxNSwKKyAgICAyMzE2LCAgMjMxNywgIDIz
MTgsICAyMzE5LCAgMjMyMCwgIDIzMjEsICAyMzIyLCAgMjMzMCwgIDIzMjksICAyMzQ0LAorICAg
IDIzNDQsICAyMzUxLCAgMjM1MSwgIDIzNTgsICAyMzY1LCAgMjM3MiwgIDIzNzksICAyMzg2LCAg
MjM5NCwgIDI0MDEsCisgICAgMjQwOCwgIDI0MTUsICAyNDIyLCAgMjQyMiwgIDI0MjcsICAyNDMx
LCAgMjQzNSwgIDI0NDIsICAyNDQzLCAgMjQ1MiwKKyAgICAyNDUxLCAgMjQ2MiwgIDI0NzMsICAy
NDg0LCAgMjQ5NCwgIDI1MDQsICAyNTE0LCAgMjUyMSwgIDI1NjcsICAyNTY2LAorICAgIDI1OTAs
ICAyNTg5LCAgMjYxMiwgIDI2MTEsICAyNjM1LCAgMjY0MCwgIDI2MzQsICAyNjYwLCAgMjY2MSwg
IDI2NjAsCisgICAgMjY4NSwgIDI2OTIsICAyNjk5LCAgMjcwNiwgIDI3MTUsICAyNzIyLCAgMjcy
OCwgIDI3MzQsICAyNzQwLCAgMjc0NiwKKyAgICAyNzUyLCAgMjc1OCwgIDI3NjQsICAyNzcwLCAg
Mjc3NiwgIDI3ODIsICAyNzg4LCAgMjc5NCwgIDI4MDAsICAyODA2LAorICAgIDI4MTIsICAyODIw
LCAgMjgyNiwgIDI4MzIsICAyODM5LCAgMjg0MCwgIDI4NDEsICAyODQ0LCAgMjg0NSwgIDI4NDgs
CisgICAgMjg0OSwgIDI4NjEsICAyODYyLCAgMjg3MSwgIDI4NzIsICAyODc1LCAgMjg4MiwgIDI4
OTEsICAyODk4LCAgMjkwNywKKyAgICAyOTE0LCAgMjkyMSwgIDI5MjgsICAyOTM1LCAgMjk0Miwg
IDI5NDksICAyOTU2LCAgMjk2MywgIDI5NzMsICAyOTc3LAorICAgIDI5ODEsICAyOTg1LCAgMjk5
MSwgIDI5OTYsICAzMDAxLCAgMzAwNSwgIDMwMDksICAzMDEzLCAgMzAxNywgIDMwMjEsCisgICAg
MzAzMCwgIDMwMzQsICAzMDM4LCAgMzA0MiwgIDMwNDYsICAzMDUwLCAgMzA1NCwgIDMwNTgsICAz
MDYyLCAgMzA2OCwKKyAgICAzMDY5LCAgMzA3NSwgIDMwODMsICAzMDkwLCAgMzEwMSwgIDMxMDUs
ICAzMTE0LCAgMzExNiwgIDMxMjAsICAzMTI1LAorICAgIDMxMzEsICAzMTM0LCAgMzEzOSwgIDMx
MzEsICAzMTU5LCAgMzE2NiwgIDMxNzIsICAzMTc3LCAgMzE4MywgIDMxOTMsCisgICAgMzIwNywg
IDMyMTQsICAzMjIxLCAgMzIzMCwgIDMyMzksICAzMjQ3LCAgMzI1NSwgIDMyNjIsICAzMjcwLCAg
MzI3OCwKKyAgICAzMjg1LCAgMzI5MiwgIDMzMDUsICAzMzEzLCAgMzMyMywgIDMzMjMsICAzMzM0
LCAgMzMzNSwgIDMzMzQsICAzMzQ3LAorICAgIDMzNTksICAzMzYwLCAgMzM2MywgIDMzNzUsICAz
Mzc4LCAgMzM4NSwgIDMzOTIsICAzMzk1LCAgMzM5OSwgIDM0MDIsCisgICAgMzQwOSwgIDM0MTIs
ICAzNDEzLCAgMzQyMCwgIDM0MjMsICAzNDM5LCAgMzQ0MCwgIDM0NDEsICAzNDUwLCAgMzQ2MCwK
KyAgICAzNDY5LCAgMzQ3NSwgIDM0ODUsICAzNDkxLCAgMzUwMCwgIDM1MDIsICAzNTExLCAgMzUy
MSwgIDM1MjcsICAzNTM2LAorICAgIDM1NDUsICAzNTU1LCAgMzU2MSwgIDM1NzEsICAzNTc3LCAg
MzU4NywgIDM1OTMsICAzNjAzLCAgMzYwOSwgIDM2MTksCisgICAgMzYyOSwgIDM2NzAsICAzNjcy
LCAgMzY3MSwgIDM2ODgsICAzNjkyLCAgMzY5NywgIDM3MDEsICAzNzA1LCAgMzY4NywKKyAgICAz
NzI2LCAgMzczMywgIDM3NDAsICAzNzQ3LCAgMzc1MCwgIDM3NjAsICAzNzYxLCAgMzc2MiwgIDM3
NjMsICAzNzY2LAorICAgIDM3NzYsICAzNzc3LCAgMzc4NywgIDM3ODgsICAzNzg5LCAgMzc5MCwg
IDM3OTMsICAzNzk0LCAgMzc5NSwgIDM3OTYsCisgICAgMzc5NywgIDM4MDAsICAzODAxLCAgMzgw
MiwgIDM4MDMsICAzODA0LCAgMzgwNSwgIDM4MDYsICAzODA5LCAgMzgyMiwKKyAgICAzODMxLCAg
MzgzOCwgIDM4NDcsICAzODQ4LCAgMzg1MiwgIDM4NTEsICAzODYxLCAgMzg2OSwgIDM4NzgsICAz
ODc4LAorICAgIDM4OTIsICAzODk2LCAgMzkwMCwgIDM5MDQsICAzOTEwLCAgMzkxNSwgIDM5MjAs
ICAzOTI0LCAgMzkyOCwgIDM5MzIsCisgICAgMzkzNiwgIDM5NDAsICAzOTQ0LCAgMzk0OCwgIDM5
NTIsICAzOTU2LCAgMzk2MCwgIDM5NjQsICAzOTY4LCAgMzk3MiwKKyAgICAzOTc3LCAgMzk4Mywg
IDM5OTEsICAzOTk5LCAgNDAwNywgIDQwMTcsICA0MDE4LCAgNDAyNSwgIDQwMzQsICA0MDQyLAor
ICAgIDQwNjUsICA0MDY3LCAgNDA4MCwgIDQwODksICA0MDk3LCAgNDEwNywgIDQxMTQsICA0MTIz
LCAgNDEzMCwgIDQxNDAsCisgICAgNDE0NywgIDQxNTYsICA0MTU3LCAgNDE2MCwgIDQxNjgsICA0
MTc4LCAgNDE4OCwgIDQxOTgsICA0MjA1LCAgNDIxNCwKKyAgICA0MjIxLCAgNDIzMCwgIDQyMzEs
ICA0MjM0LCAgNDI0MiwgIDQyNTIsICA0MjUzLCAgNDI1NiwgIDQyNjYsICA0MjcwLAorICAgIDQy
NzksICA0Mjg0LCAgNDI4NCwgIDQzMDgsICA0MzA5LCAgNDMxOCwgIDQzMjAsICA0MzQzLCAgNDM1
NCwgIDQzNjEsCisgICAgNDM2OSwgIDQzODIsICA0MzgzLCAgNDM4NCwgIDQzODcsICA0Mzg4LCAg
NDM4OSwgIDQzOTAsICA0MzkzLCAgNDM5NCwKKyAgICA0Mzk1LCAgNDM5OCwgIDQzOTksICA0NDAy
LCAgNDQwMywgIDQ0MDYsICA0NDA3LCAgNDQxMCwgIDQ0MTEsICA0NDE0LAorICAgIDQ0MTUsICA0
NDE4LCAgNDQyMSwgIDQ0MjQsICA0NDI1LCAgNDQyNiwgIDQ0MjksICA0NDMwLCAgNDQzMywgIDQ0
MzQsCisgICAgNDQzOAorfTsKKyNlbmRpZgorCisjaWYgWVlERUJVRyB8fCBZWUVSUk9SX1ZFUkJP
U0UgfHwgMAorLyogWVlUTkFNRVtTWU1CT0wtTlVNXSAtLSBTdHJpbmcgbmFtZSBvZiB0aGUgc3lt
Ym9sIFNZTUJPTC1OVU0uCisgICBGaXJzdCwgdGhlIHRlcm1pbmFscywgdGhlbiwgc3RhcnRpbmcg
YXQgWVlOVE9LRU5TLCBub250ZXJtaW5hbHMuICAqLworc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0
IHl5dG5hbWVbXSA9Cit7CisgICJcImVuZC1vZi1pbnB1dFwiIiwgImVycm9yIiwgIiR1bmRlZmlu
ZWQiLCAiXCJjbGFzc1wiIiwgIlwibW9kdWxlXCIiLAorICAiXCJkZWZcIiIsICJcInVuZGVmXCIi
LCAiXCJiZWdpblwiIiwgIlwicmVzY3VlXCIiLCAiXCJlbnN1cmVcIiIsCisgICJcImVuZFwiIiwg
IlwiaWZcIiIsICJcInVubGVzc1wiIiwgIlwidGhlblwiIiwgIlwiZWxzaWZcIiIsICJcImVsc2Vc
IiIsCisgICJcImNhc2VcIiIsICJcIndoZW5cIiIsICJcIndoaWxlXCIiLCAiXCJ1bnRpbFwiIiwg
IlwiZm9yXCIiLCAiXCJicmVha1wiIiwKKyAgIlwibmV4dFwiIiwgIlwicmVkb1wiIiwgIlwicmV0
cnlcIiIsICJcImluXCIiLCAiXCJkb1wiIiwKKyAgIlwiZG8gKGZvciBjb25kaXRpb24pXCIiLCAi
XCJkbyAoZm9yIGJsb2NrKVwiIiwgIlwiZG8gKGZvciBsYW1iZGEpXCIiLAorICAiXCJyZXR1cm5c
IiIsICJcInlpZWxkXCIiLCAiXCJzdXBlclwiIiwgIlwic2VsZlwiIiwgIlwibmlsXCIiLAorICAi
XCJ0cnVlXCIiLCAiXCJmYWxzZVwiIiwgIlwiYW5kXCIiLCAiXCJvclwiIiwgIlwibm90XCIiLAor
ICAiXCJpZiAobW9kaWZpZXIpXCIiLCAiXCJ1bmxlc3MgKG1vZGlmaWVyKVwiIiwgIlwid2hpbGUg
KG1vZGlmaWVyKVwiIiwKKyAgIlwidW50aWwgKG1vZGlmaWVyKVwiIiwgIlwicmVzY3VlIChtb2Rp
ZmllcilcIiIsICJcImFsaWFzXCIiLAorICAiXCJkZWZpbmVkP1wiIiwgIlwiQkVHSU5cIiIsICJc
IkVORFwiIiwgIlwiX19MSU5FX19cIiIsICJcIl9fRklMRV9fXCIiLAorICAiXCJfX0VOQ09ESU5H
X19cIiIsICJ0SURFTlRJRklFUiIsICJ0RklEIiwgInRHVkFSIiwgInRJVkFSIiwgInRDT05TVEFO
VCIsCisgICJ0Q1ZBUiIsICJ0TEFCRUwiLCAidElOVEVHRVIiLCAidEZMT0FUIiwgInRSQVRJT05B
TCIsICJ0SU1BR0lOQVJZIiwKKyAgInRTVFJJTkdfQ09OVEVOVCIsICJ0Q0hBUiIsICJ0TlRIX1JF
RiIsICJ0QkFDS19SRUYiLCAidFJFR0VYUF9FTkQiLAorICAiJy4nIiwgIlwiYmFja3NsYXNoXCIi
LCAiXCJlc2NhcGVkIHNwYWNlXCIiLAorICAiXCJlc2NhcGVkIGhvcml6b250YWwgdGFiXCIiLCAi
XCJlc2NhcGVkIGZvcm0gZmVlZFwiIiwKKyAgIlwiZXNjYXBlZCBjYXJyaWFnZSByZXR1cm5cIiIs
ICJcImVzY2FwZWQgdmVydGljYWwgdGFiXCIiLCAiXCJ1bmFyeStcIiIsCisgICJcInVuYXJ5LVwi
IiwgIlwiKipcIiIsICJcIjw9PlwiIiwgIlwiPT1cIiIsICJcIj09PVwiIiwgIlwiIT1cIiIsCisg
ICJcIj49XCIiLCAiXCI8PVwiIiwgIlwiJiZcIiIsICJcInx8XCIiLCAiXCI9flwiIiwgIlwiIX5c
IiIsICJcIi4uXCIiLAorICAiXCIuLi5cIiIsICJcIltdXCIiLCAiXCJbXT1cIiIsICJcIjw8XCIi
LCAiXCI+PlwiIiwgIlwiJi5cIiIsICJcIjo6XCIiLAorICAiXCI6OiBhdCBFWFBSX0JFR1wiIiwg
InRPUF9BU0dOIiwgIlwiPT5cIiIsICJcIihcIiIsICJcIiggYXJnXCIiLAorICAiXCIpXCIiLCAi
XCJbXCIiLCAiXCJ7XCIiLCAiXCJ7IGFyZ1wiIiwgIlwiKlwiIiwgIlwiKiphcmdcIiIsICJcIiZc
IiIsCisgICJcIi0+XCIiLCAidFNZTUJFRyIsICJ0U1RSSU5HX0JFRyIsICJ0WFNUUklOR19CRUci
LCAidFJFR0VYUF9CRUciLAorICAidFdPUkRTX0JFRyIsICJ0UVdPUkRTX0JFRyIsICJ0U1lNQk9M
U19CRUciLCAidFFTWU1CT0xTX0JFRyIsCisgICJ0U1RSSU5HX0RCRUciLCAidFNUUklOR19ERU5E
IiwgInRTVFJJTkdfRFZBUiIsICJ0U1RSSU5HX0VORCIsICJ0TEFNQkVHIiwKKyAgInRMQUJFTF9F
TkQiLCAidExPV0VTVCIsICInPSciLCAiJz8nIiwgIic6JyIsICInPiciLCAiJzwnIiwgIid8JyIs
ICInXiciLAorICAiJyYnIiwgIicrJyIsICInLSciLCAiJyonIiwgIicvJyIsICInJSciLCAidFVN
SU5VU19OVU0iLCAiJyEnIiwgIid+JyIsCisgICJ0TEFTVF9UT0tFTiIsICIneyciLCAiJ30nIiwg
IidbJyIsICInLCciLCAiJ2AnIiwgIicoJyIsICInKSciLCAiJ10nIiwKKyAgIic7JyIsICInICci
LCAiJ1xcbiciLCAiJGFjY2VwdCIsICJwcm9ncmFtIiwgIiRAMSIsICJ0b3BfY29tcHN0bXQiLAor
ICAidG9wX3N0bXRzIiwgInRvcF9zdG10IiwgImJlZ2luX2Jsb2NrIiwgImJvZHlzdG10IiwgIiRA
MiIsICJjb21wc3RtdCIsCisgICJzdG10cyIsICJzdG10X29yX2JlZ2luIiwgIiRAMyIsICJzdG10
IiwgIiRANCIsICJjb21tYW5kX2FzZ24iLAorICAiY29tbWFuZF9yaHMiLCAiZXhwciIsICJleHBy
X3ZhbHVlIiwgImV4cHJfdmFsdWVfZG8iLCAiJEA1IiwgIiRANiIsCisgICJjb21tYW5kX2NhbGwi
LCAiYmxvY2tfY29tbWFuZCIsICJjbWRfYnJhY2VfYmxvY2siLCAiZmNhbGwiLCAiY29tbWFuZCIs
CisgICJtbGhzIiwgIm1saHNfaW5uZXIiLCAibWxoc19iYXNpYyIsICJtbGhzX2l0ZW0iLCAibWxo
c19oZWFkIiwKKyAgIm1saHNfcG9zdCIsICJtbGhzX25vZGUiLCAibGhzIiwgImNuYW1lIiwgImNw
YXRoIiwgImZuYW1lIiwgImZzeW0iLAorICAiZml0ZW0iLCAidW5kZWZfbGlzdCIsICIkQDciLCAi
b3AiLCAicmVzd29yZHMiLCAiYXJnIiwgIiRAOCIsICJyZWxvcCIsCisgICJyZWxfZXhwciIsICJh
cmdfdmFsdWUiLCAiYXJlZl9hcmdzIiwgImFyZ19yaHMiLCAicGFyZW5fYXJncyIsCisgICJvcHRf
cGFyZW5fYXJncyIsICJvcHRfY2FsbF9hcmdzIiwgImNhbGxfYXJncyIsICJjb21tYW5kX2FyZ3Mi
LCAiJEA5IiwKKyAgImJsb2NrX2FyZyIsICJvcHRfYmxvY2tfYXJnIiwgImFyZ3MiLCAibXJoc19h
cmciLCAibXJocyIsICJwcmltYXJ5IiwKKyAgIiRAMTAiLCAiJEAxMSIsICIkQDEyIiwgIiRAMTMi
LCAiJEAxNCIsICIkQDE1IiwgIkAxNiIsICIkQDE3IiwgIkAxOCIsCisgICJAMTkiLCAiQDIwIiwg
IkAyMSIsICJwcmltYXJ5X3ZhbHVlIiwgImtfYmVnaW4iLCAia19pZiIsICJrX3VubGVzcyIsCisg
ICJrX3doaWxlIiwgImtfdW50aWwiLCAia19jYXNlIiwgImtfZm9yIiwgImtfY2xhc3MiLCAia19t
b2R1bGUiLCAia19kZWYiLAorICAia19kbyIsICJrX2RvX2Jsb2NrIiwgImtfcmVzY3VlIiwgImtf
ZW5zdXJlIiwgImtfd2hlbiIsICJrX2Vsc2UiLAorICAia19lbHNpZiIsICJrX2VuZCIsICJrX3Jl
dHVybiIsICJ0aGVuIiwgImRvIiwgImlmX3RhaWwiLCAib3B0X2Vsc2UiLAorICAiZm9yX3ZhciIs
ICJmX21hcmciLCAiZl9tYXJnX2xpc3QiLCAiZl9tYXJncyIsICJibG9ja19hcmdzX3RhaWwiLAor
ICAib3B0X2Jsb2NrX2FyZ3NfdGFpbCIsICJibG9ja19wYXJhbSIsICJvcHRfYmxvY2tfcGFyYW0i
LAorICAiYmxvY2tfcGFyYW1fZGVmIiwgIm9wdF9idl9kZWNsIiwgImJ2X2RlY2xzIiwgImJ2YXIi
LCAibGFtYmRhIiwgIkAyMiIsCisgICJAMjMiLCAiJEAyNCIsICJmX2xhcmdsaXN0IiwgImxhbWJk
YV9ib2R5IiwgImRvX2Jsb2NrIiwgImJsb2NrX2NhbGwiLAorICAibWV0aG9kX2NhbGwiLCAiYnJh
Y2VfYmxvY2siLCAiYnJhY2VfYm9keSIsICJAMjUiLCAiZG9fYm9keSIsICJAMjYiLAorICAiJEAy
NyIsICJjYXNlX2JvZHkiLCAiY2FzZXMiLCAib3B0X3Jlc2N1ZSIsICJleGNfbGlzdCIsICJleGNf
dmFyIiwKKyAgIm9wdF9lbnN1cmUiLCAibGl0ZXJhbCIsICJzdHJpbmdzIiwgInN0cmluZyIsICJz
dHJpbmcxIiwgInhzdHJpbmciLAorICAicmVnZXhwIiwgIndvcmRzIiwgIndvcmRfbGlzdCIsICJ3
b3JkIiwgInN5bWJvbHMiLCAic3ltYm9sX2xpc3QiLAorICAicXdvcmRzIiwgInFzeW1ib2xzIiwg
InF3b3JkX2xpc3QiLCAicXN5bV9saXN0IiwgInN0cmluZ19jb250ZW50cyIsCisgICJ4c3RyaW5n
X2NvbnRlbnRzIiwgInJlZ2V4cF9jb250ZW50cyIsICJzdHJpbmdfY29udGVudCIsICJAMjgiLCAi
JEAyOSIsCisgICJAMzAiLCAiQDMxIiwgIkAzMiIsICJAMzMiLCAic3RyaW5nX2R2YXIiLCAic3lt
Ym9sIiwgInN5bSIsICJkc3ltIiwKKyAgIm51bWVyaWMiLCAic2ltcGxlX251bWVyaWMiLCAidXNl
cl92YXJpYWJsZSIsICJrZXl3b3JkX3ZhcmlhYmxlIiwKKyAgInZhcl9yZWYiLCAidmFyX2xocyIs
ICJiYWNrcmVmIiwgInN1cGVyY2xhc3MiLCAiJEAzNCIsICJmX2FyZ2xpc3QiLAorICAiQDM1Iiwg
ImFyZ3NfdGFpbCIsICJvcHRfYXJnc190YWlsIiwgImZfYXJncyIsICJmX2JhZF9hcmciLCAiZl9u
b3JtX2FyZyIsCisgICJmX2FyZ19hc2duIiwgImZfYXJnX2l0ZW0iLCAiZl9hcmciLCAiZl9sYWJl
bCIsICJmX2t3IiwgImZfYmxvY2tfa3ciLAorICAiZl9ibG9ja19rd2FyZyIsICJmX2t3YXJnIiwg
Imt3cmVzdF9tYXJrIiwgImZfa3dyZXN0IiwgImZfb3B0IiwKKyAgImZfYmxvY2tfb3B0IiwgImZf
YmxvY2tfb3B0YXJnIiwgImZfb3B0YXJnIiwgInJlc3RhcmdfbWFyayIsCisgICJmX3Jlc3RfYXJn
IiwgImJsa2FyZ19tYXJrIiwgImZfYmxvY2tfYXJnIiwgIm9wdF9mX2Jsb2NrX2FyZyIsCisgICJz
aW5nbGV0b24iLCAiJEAzNiIsICJhc3NvY19saXN0IiwgImFzc29jcyIsICJhc3NvYyIsICJvcGVy
YXRpb24iLAorICAib3BlcmF0aW9uMiIsICJvcGVyYXRpb24zIiwgImRvdF9vcl9jb2xvbiIsICJj
YWxsX29wIiwgImNhbGxfb3AyIiwKKyAgIm9wdF90ZXJtcyIsICJvcHRfbmwiLCAicnBhcmVuIiwg
InJicmFja2V0IiwgInRyYWlsZXIiLCAidGVybSIsICJ0ZXJtcyIsCisgICJub25lIiwgWVlfTlVM
TFBUUgorfTsKKyNlbmRpZgorCisjIGlmZGVmIFlZUFJJTlQKKy8qIFlZVE9LTlVNW05VTV0gLS0g
KEV4dGVybmFsKSB0b2tlbiBudW1iZXIgY29ycmVzcG9uZGluZyB0byB0aGUKKyAgIChpbnRlcm5h
bCkgc3ltYm9sIG51bWJlciBOVU0gKHdoaWNoIG11c3QgYmUgdGhhdCBvZiBhIHRva2VuKS4gICov
CitzdGF0aWMgY29uc3QgeXl0eXBlX3VpbnQxNiB5eXRva251bVtdID0KK3sKKyAgICAgICAwLCAg
IDI1NiwgICAyNTcsICAgMjU4LCAgIDI1OSwgICAyNjAsICAgMjYxLCAgIDI2MiwgICAyNjMsICAg
MjY0LAorICAgICAyNjUsICAgMjY2LCAgIDI2NywgICAyNjgsICAgMjY5LCAgIDI3MCwgICAyNzEs
ICAgMjcyLCAgIDI3MywgICAyNzQsCisgICAgIDI3NSwgICAyNzYsICAgMjc3LCAgIDI3OCwgICAy
NzksICAgMjgwLCAgIDI4MSwgICAyODIsICAgMjgzLCAgIDI4NCwKKyAgICAgMjg1LCAgIDI4Niwg
ICAyODcsICAgMjg4LCAgIDI4OSwgICAyOTAsICAgMjkxLCAgIDI5MiwgICAyOTMsICAgMjk0LAor
ICAgICAyOTUsICAgMjk2LCAgIDI5NywgICAyOTgsICAgMjk5LCAgIDMwMCwgICAzMDEsICAgMzAy
LCAgIDMwMywgICAzMDQsCisgICAgIDMwNSwgICAzMDYsICAgMzA3LCAgIDMwOCwgICAzMDksICAg
MzEwLCAgIDMxMSwgICAzMTIsICAgMzEzLCAgIDMxNCwKKyAgICAgMzE1LCAgIDMxNiwgICAzMTcs
ICAgMzE4LCAgIDMxOSwgICAzMjAsICAgMzIxLCAgIDMyMiwgICAgNDYsICAgIDkyLAorICAgICAz
MjMsICAgICA5LCAgICAxMiwgICAgMTMsICAgIDExLCAgIDEzMCwgICAxMzEsICAgMTMyLCAgIDEz
MywgICAxMzgsCisgICAgIDEzOSwgICAxNDAsICAgMTM3LCAgIDEzNiwgICAxNDYsICAgMTQ3LCAg
IDE0MSwgICAxNDIsICAgMTI4LCAgIDEyOSwKKyAgICAgMTQzLCAgIDE0NCwgICAxMzQsICAgMTM1
LCAgIDE0OCwgICAxNDUsICAgMzI0LCAgIDMyNSwgICAzMjYsICAgMzI3LAorICAgICAzMjgsICAg
MzI5LCAgIDMzMCwgICAzMzEsICAgMzMyLCAgIDMzMywgICAzMzQsICAgMzM1LCAgIDMzNiwgICAz
MzcsCisgICAgIDMzOCwgICAzMzksICAgMzQwLCAgIDM0MSwgICAzNDIsICAgMzQzLCAgIDM0NCwg
ICAzNDUsICAgMzQ2LCAgIDM0NywKKyAgICAgMzQ4LCAgIDM0OSwgICAzNTAsICAgMzUxLCAgICA2
MSwgICAgNjMsICAgIDU4LCAgICA2MiwgICAgNjAsICAgMTI0LAorICAgICAgOTQsICAgIDM4LCAg
ICA0MywgICAgNDUsICAgIDQyLCAgICA0NywgICAgMzcsICAgMzUyLCAgICAzMywgICAxMjYsCisg
ICAgIDM1MywgICAxMjMsICAgMTI1LCAgICA5MSwgICAgNDQsICAgIDk2LCAgICA0MCwgICAgNDEs
ICAgIDkzLCAgICA1OSwKKyAgICAgIDMyLCAgICAxMAorfTsKKyMgZW5kaWYKKworI2RlZmluZSBZ
WVBBQ1RfTklORiAtODU2CisKKyNkZWZpbmUgeXlwYWN0X3ZhbHVlX2lzX2RlZmF1bHQoWXlzdGF0
ZSkgXAorICAoISEoKFl5c3RhdGUpID09ICgtODU2KSkpCisKKyNkZWZpbmUgWVlUQUJMRV9OSU5G
IC02NDEKKworI2RlZmluZSB5eXRhYmxlX3ZhbHVlX2lzX2Vycm9yKFl5dGFibGVfdmFsdWUpIFwK
KyAgKCEhKChZeXRhYmxlX3ZhbHVlKSA9PSAoLTY0MSkpKQorCisgIC8qIFlZUEFDVFtTVEFURS1O
VU1dIC0tIEluZGV4IGluIFlZVEFCTEUgb2YgdGhlIHBvcnRpb24gZGVzY3JpYmluZworICAgICBT
VEFURS1OVU0uICAqLworc3RhdGljIGNvbnN0IHl5dHlwZV9pbnQxNiB5eXBhY3RbXSA9Cit7Cisg
ICAgLTg1NiwgICAgODgsICAzMzM0LCAgLTg1NiwgIDgzNTksICAtODU2LCAgLTg1NiwgIC04NTYs
ICA3OTUyLCAgLTg1NiwKKyAgICAtODU2LCAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwgIC04
NTYsICA4NDgzLCAgODQ4MywgIC04NTYsICAtODU2LAorICAgIC04NTYsICA0NjExLCAgNDE3Niwg
IC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYsICAgLTE2LCAgNzgwOSwgICAtNTAsCisgICAgIC0y
NCwgICAtMTksICAtODU2LCAgLTg1NiwgIC04NTYsICAzNDUxLCAgNDMyMSwgIC04NTYsICAtODU2
LCAgMzU5NiwKKyAgICAtODU2LCAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYsICAt
ODU2LCAgLTg1NiwgIDk5NzEsICA5OTcxLAorICAgICAgOTUsICA2MDM1LCAgODYwNywgIDg4NTUs
ICA5MjI3LCAgMzA0NywgIC04NTYsICA3NjY2LCAgLTg1NiwgIC04NTYsCisgICAgLTg1NiwgICAg
NzgsICAgMTA3LCAgIDExMSwgICAxMTUsICAgOTc2LCAxMDA5NSwgIDk5NzEsICAtODU2LCAgICAx
NiwKKyAgICAtODU2LCAgMTE2MSwgIC04NTYsICAgNTE4LCAgLTg1NiwgIC04NTYsICAgIDYzLCAg
IDIxMywgICAxOTgsICAtODU2LAorICAgICAxNDUsIDEwMzQzLCAgLTg1NiwgICAyMDMsICAzNDI5
LCAgIDk4MywgICAzNDYsICAgMzY2LCAgLTg1NiwgMTAyMTksCisgICAxMDIxOSwgIC04NTYsICAt
ODU2LCAgNzAwMywgMTA0NjMsIDEwNTgzLCAxMDcwMywgIDc1MjIsICA4NDgzLCAgICA2MSwKKyAg
ICAgIDcxLCAgLTg1NiwgIC04NTYsICAgMjMxLCAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1Niwg
IC04NTYsICAtODU2LAorICAgIC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYsICAtODU2LCAgICAy
NCwgICAyNjgsICAtODU2LCAgIDI3OCwgICAzMjUsCisgICAgLTg1NiwgIC04NTYsICAtODU2LCAg
LTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwKKyAgICAtODU2
LCAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYs
ICAtODU2LAorICAgIC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwgIC04
NTYsICAtODU2LCAgLTg1NiwgIC04NTYsCisgICAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1Niwg
IC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwKKyAgICAtODU2LCAgLTg1
NiwgIC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYsICAtODU2
LAorICAgIC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYsICAt
ODU2LCAgLTg1NiwgIC04NTYsCisgICAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYs
ICAtODU2LCAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwKKyAgICAtODU2LCAgLTg1NiwgIC04
NTYsICAtODU2LCAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYsICAtODU2LAorICAg
ICAyNDAsICAtODU2LCAgLTg1NiwgIC04NTYsICAtODU2LCAgIDI0MSwgIDk5NzEsICAgMzQyLCAg
NjE4NCwgIDk5NzEsCisgICAgOTk3MSwgIDk5NzEsICAtODU2LCAgOTk3MSwgIC04NTYsICAgMjc2
LCAgMzQyOSwgICAzMTAsICAtODU2LCAgLTg1NiwKKyAgICAgMjc3LCAgIDQyMiwgICAgMzAsICAg
MTUzLCAgIDMyOSwgICAyMzMsICAgMjg2LCAgLTg1NiwgIC04NTYsICA2ODc5LAorICAgIC04NTYs
ICA4NDgzLCAgODQ4MywgIC04NTYsICAtODU2LCAgNzEyNywgIC04NTYsIDEwMjE5LCAgIDY5NSwg
IC04NTYsCisgICAgIDMwMCwgIDYzMzMsICAtODU2LCAgNjQ4MiwgIC04NTYsICAtODU2LCAgIDMw
NiwgICAzMjQsICAgIDYzLCAgLTg1NiwKKyAgICAgNTA3LCAgLTg1NiwgICA0MzAsICAgMzk4LCAg
ODYwNywgIC04NTYsICA2MDM1LCAgIDMyOCwgICAgMTYsICAtODU2LAorICAgIDExNjEsICAgLTUw
LCAgIDM3MCwgIC04NTYsICAxMTYxLCAgIC01MCwgICAzNzIsICAgLTI4LCAgIDE5NiwgIC04NTYs
CisgICAgIDMxMCwgICA0MDYsICAgMTk2LCAgLTg1NiwgICAtNTAsICAgNDg3LCAgIDk3NiwgMTA4
MjMsICAgNDE2LCAgLTg1NiwKKyAgICAgNTUyLCAgIDU1NCwgICA1NTgsICAgNjUyLCAgLTg1Niwg
IC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYsICAgNDQ3LAorICAgIC04NTYsICAgNjA5LCAgIDg3
NCwgICA0MTksICAtODU2LCAgLTg1NiwgIC04NTYsICAtODU2LCAgIDQ3MywgIC04NTYsCisgICAg
LTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYsICAtODU2LCAgNzI1MSwgMTAyMTksIDEw
MjE5LCAxMDIxOSwKKyAgIDEwMjE5LCAgODYwNywgMTAyMTksIDEwMjE5LCAgLTg1NiwgIC04NTYs
ICAtODU2LCAgIDQ1OCwgIC04NTYsICAtODU2LAorICAgIC04NTYsICAtODU2LCAgLTg1NiwgIDkz
NTEsICAtODU2LCAgNjAzNSwgIDgyMzIsICAgNDM0LCAgOTM1MSwgIDk5NzEsCisgICAgOTk3MSwg
IDk5NzEsICA5OTcxLCAgOTk3MSwgIC04NTYsICAtODU2LCAgOTk3MSwgIDk5NzEsICA5OTcxLCAg
OTk3MSwKKyAgICA5OTcxLCAgOTk3MSwgIDk5NzEsICA5OTcxLCAgOTk3MSwgIC04NTYsICAtODU2
LCAgOTk3MSwgIDk5NzEsICA5OTcxLAorICAgIDk5NzEsICA5OTcxLCAgOTk3MSwgIDk5NzEsICA5
OTcxLCAgOTk3MSwgIDk5NzEsICAtODU2LCAgLTg1NiwgMTExMDUsCisgICAgODQ4MywgMTExOTMs
ICA1MzQwLCAgIDUxOCwgICAxNTEsICAgMTUxLCAgNjYzMSwgMTAyMTksICA2NjMxLCAgICAxNiwK
KyAgICAgNTU3LCAgIDQzNiwgICA1MzYsICAtODU2LCAgLTg1NiwgICA3MDUsICAgNTY4LCAgICA1
NywgICAgODcsICAgMTAxLAorICAgICA3OTUsICAgODEyLCAxMDIxOSwgICAyMDAsICAtODU2LCAg
IDQ4NiwgICA3MTIsICAtODU2LCAgLTg1NiwgIC04NTYsCisgICAgLTg1NiwgICAgNTIsICAgMzYx
LCAgIDM4MywgICA0MjMsICAgNDYyLCAgIDQ3NiwgICA1OTMsICAgNTk0LCAgIDU5NywKKyAgICAt
ODU2LCAgLTg1NiwgIC04NTYsICAgNTk4LCAgLTg1NiwgIC04NTYsICAtODU2LCAxMjQyNSwgIC04
NTYsICAtODU2LAorICAgMTAwOTUsIDEwMDk1LCAgLTg1NiwgIC04NTYsICAgNTcyLCAgLTg1Niwg
IC04NTYsICAtODU2LCAgMTEwMCwgIDk5NzEsCisgICAgOTk3MSwgIDg3MzEsICAtODU2LCAgLTg1
NiwgMTEyODEsICA4NDgzLCAxMTM2OSwgIDk5NzEsICA5OTcxLCAgODk3OSwKKyAgICAtODU2LCAg
IC01MCwgICA0NjQsICAtODU2LCAgLTg1NiwgICAtNTAsICAtODU2LCAgIDQ3MSwgICA0NzQsICAt
ODU2LAorICAgICAgMzYsICAtODU2LCAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwgIDc5NTIs
ICAtODU2LCAgOTk3MSwgICA0ODgsCisgICAgIDQ5MCwgMTEyODEsIDExMzY5LCAgOTk3MSwgIDEx
NjEsICAgLTI0LCAgIC01MCwgIC04NTYsICAtODU2LCAgNzM3NSwKKyAgICAgNDg0LCAgIC01MCwg
IC04NTYsICAtODU2LCAgOTEwMywgIC04NTYsICAtODU2LCAgOTIyNywgIC04NTYsICAtODU2LAor
ICAgIC04NTYsICAgMzAwLCAgIDcxOCwgIC04NTYsICAtODU2LCAgIDQ5MywgMTA4MjMsIDExNDU3
LCAgODQ4MywgMTE1NDUsCisgICAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYsICAt
ODU2LCAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwKKyAgICAtODU2LCAgLTg1NiwgICA4ODYs
ICAgIDE0LCAgIDg5OSwgICAgNjUsICA5OTcxLCAgLTg1NiwgIC04NTYsICAtODU2LAorICAgIC04
NTYsICAtODU2LCAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwgICA1MDIsICAgIDMzLCAgLTg1
NiwgIC04NTYsCisgICAgIDY1MCwgIC04NTYsICAgNjUwLCAgOTk3MSwgIC04NTYsICAgNTI0LCAg
IDUyOSwgIC04NTYsICAtODU2LCAgIC01MCwKKyAgIDEwODIzLCAgIDUzMiwgIC04NTYsICAtODU2
LCAgLTg1NiwgICA2MzksICAgNTYxLCAgMjcyMSwgIC04NTYsICAtODU2LAorICAgIC04NTYsICAg
Nzc5LCAgIDU4MiwgICA0MzAsICAxNTcxLCAgMTU3MSwgIDE1NzEsICAxNTcxLCAgMTY5MywgIDIx
MjcsCisgICAgMTU3MSwgIDE1NzEsICAzNzE5LCAgMzcxOSwgIDExMzEsICAxMTMxLCAgNDcyNywg
IDE0MDIsICAxNDAyLCAgMTAzOSwKKyAgICAgNjU4LCAgIDY1OCwgICA0MzAsICAgNDMwLCAgIDQz
MCwgIDEyNzgsICAxMjc4LCAgNDc1NiwgIDM3NDEsICA1MDQ2LAorICAgIDM4ODYsICAtODU2LCAg
IDMyNCwgIC04NTYsICAgLTUwLCAgIDQxNywgIC04NTYsICAgNDgzLCAgLTg1NiwgIC04NTYsCisg
ICAgNDQ2NiwgICA2NTAsICAgNzAxLCAgLTg1NiwgIDU0ODksICAgNjk4LCAgNTc4NywgICA2NTAs
ICAgIDQwLCAgIDY1MCwKKyAgICAgNTU3LCAgLTg1NiwgIDk0NzUsICAgNjUwLCAgIDEyNywgMTE2
MzMsICA4NDgzLCAxMTcyMSwgIC04NTYsICAgNTE4LAorICAgIC04NTYsICAgNzE4LCAgLTg1Niwg
IC04NTYsICAtODU2LCAxMTgwOSwgIDg0ODMsIDExODk3LCAgNTM0MCwgMTAyMTksCisgICAgLTg1
NiwgIC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYsICAtODU2LCAgMjM2NiwgIC04NTYsICAzNTc0
LCAgLTg1NiwKKyAgICAtODU2LCAgLTg1NiwgIDc5NTIsICA5OTcxLCAgLTg1NiwgIDk5NzEsICAg
MzEwLCAgLTg1NiwgICAyODYsICAzMTcyLAorICAgIDQwMzEsICAgLTUwLCAgIDU4NCwgICA2NTEs
ICAtODU2LCAgLTg1NiwgIC04NTYsICAtODU2LCAgODczMSwgIDg5NzksCisgICAgLTg1NiwgIC04
NTYsIDEwMjE5LCAgMzQyOSwgIC04NTYsICAtODU2LCAgIDMyNCwgICAzMjQsICAtODU2LCAgLTg1
NiwKKyAgICAgIDQyLCAgLTg1NiwgIC04NTYsICAgMTk2LCAxMDgyMywgICA0OTMsICAgMzgyLCAg
IDQ3OCwgICAtNTAsICAgIDU2LAorICAgICAzNTMsICAxMjE4LCAgLTg1NiwgICA4NTQsICAtODU2
LCAgIDIyOSwgIC04NTYsICAgNTY3LCAgLTg1NiwgIC04NTYsCisgICAgIDQwOCwgICA1NzUsICAt
ODU2LCAgIDQzMCwgIC04NTYsICAtODU2LCAgMTE1NSwgIDY0ODIsICAtODU2LCAgLTg1NiwKKyAg
ICAgNTkwLCAgLTg1NiwgIC04NTYsICAgIDMzLCAgLTg1NiwgICA1OTUsICA5NTk5LCAgLTg1Niwg
ICA0OTMsIDEwODIzLAorICAgIDg2MDcsIDEwMDk1LCAgOTk3MSwgMTE5ODUsICA4NDgzLCAxMjA3
MywgICA2MTYsIDEwMDk1LCAxMDA5NSwgIC04NTYsCisgICAgIDQ1OCwgICA2MDYsICAgNTQ2LCAx
MDA5NSwgMTAwOTUsICAtODU2LCAgLTg1NiwgICA0NTgsICAtODU2LCAgLTg1NiwKKyAgICAtODU2
LCAgOTcyMywgICAyMTcsICAtODU2LCAgIDMyMSwgIC04NTYsICAgNzMwLCAgLTg1NiwgIC04NTYs
ICAtODU2LAorICAgIC04NTYsICAtODU2LCAgIDY1MCwgICAgNjYsICAtODU2LCAgIDE2NSwgICAy
OTgsICAgLTUwLCAgIDEzOCwgICAxNTcsCisgICAgNjYzMSwgICAgMTYsIDEwMjE5LCAgNTM0MCwg
IDEwMTQsICAgNDc4LCAgLTg1NiwgICAtNTAsICAgNjUwLCAgICAzNiwKKyAgICAgNjE4LCAgODA5
NSwgICAgNzEsICAgMjEzLCAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwgIDk5NzEsICA5OTcx
LAorICAgICA2NjUsICA5OTcxLCAgOTk3MSwgICA2MjQsICAgIDM2LCAgLTg1NiwgIC04NTYsICAg
Mzg4LCAgLTg1NiwgIC04NTYsCisgICAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYs
ICAxMTI5LCAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwKKyAgICAtODU2LCAgMTM4NiwgIC04
NTYsICAtODU2LCAgLTg1NiwgIC04NTYsICAtODU2LCAgIDY2NiwgIC04NTYsICAgNjY3LAorICAg
IDk5NzEsICAtODU2LCAgIDY3MSwgICA3NjQsICAgNjc2LCAgLTg1NiwgICA2ODAsICAgNzc2LCAg
IDY4MywgICA3NzgsCisgICAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYsICAtODU2
LCAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwKKyAgICAtODU2LCAgLTg1NiwgIC04NTYsICAg
LTUwLCAgIDcxMCwgICA3MTcsICAgNzA2LCAxMDk0MywgIC04NTYsICAgNzA4LAorICAgICA2NzYs
ICAtODU2LCAgIDcxNSwgICA3MjYsICAtODU2LCAgIDcyOSwgIC04NTYsICAtODU2LCAgNTM0MCwg
IDk5NzEsCisgICAgIDcyNywgICA0OTMsICAtODU2LCAgMzQyOSwgIDQ5MDEsICA1MTkxLCAgIC01
MCwgICA3MjUsICAgNzM4LCAgOTk3MSwKKyAgICAtODU2LCAgLTg1NiwgIC04NTYsICAtODU2LCAg
LTg1NiwgIC04NTYsIDEwMDk1LCAgLTg1NiwgIC04NTYsICAtODU2LAorICAgIC04NTYsICAtODU2
LCAgIDUyNCwgIC04NTYsICAgNzg3LCAgLTg1NiwgIC04NTYsICAtODU2LCAgNjYzMSwgIC04NTYs
CisgICAgLTg1NiwgIC04NTYsICAtODU2LCAgNjYzMSwgMTAyMTksICAgNjUwLCAgLTg1NiwgIC04
NTYsICAgNjUwLCAgLTg1NiwKKyAgICAtODU2LCAgOTg0NywgIDU2MzgsICAgMTcwLCAgIDY1MCwg
IDUzNDAsICAgIDE2LCAgIDY1MCwgIC04NTYsICAtODU2LAorICAgIC04NTYsICAxMzg2LCAgNTM0
MCwgIDEzODYsICAtODU2LCAgLTg1NiwgIC04NTYsICA5OTcxLCAgODk3OSwgIC04NTYsCisgICAg
MTEyOSwgICA1MzQsICAtODU2LCAgIDc0OCwgICAtNTAsICAtODU2LCAgIC01MCwgICAgNzMsICA5
OTcxLCAgMTM4NiwKKyAgICAtODU2LCAgLTg1NiwgICA4MjUsICAtODU2LCAgLTg1NiwgIC04NTYs
ICAgIDQ2LCAgLTg1NiwgIDEzODYsICAtODU2LAorICAgIC04NTYsICAxMjkwLCAgLTg1NiwgIC04
NTYsICAtODU2LCAgIDc2NSwgIC04NTYsIDEwOTQzLCAgMTM4NiwgIC04NTYsCisgICAgIDg0NCwg
ICA4MzMsICAgODI1LCAgLTg1NiwgIC04NTYsICAxMzg2LCAgLTg1NiwgIDEyOTAsICAtODU2LCAg
IDk1NywKKyAgICAtODU2LCAgIDc2NiwgICA3NzUsICAzNDI5LCAgLTg1NiwgIC04NTYsIDExMDYz
LCAgIDE1MSwgIC04NTYsICAtODU2LAorICAgIDU5MTEsICAtODU2LCAgIDE1MSwgIC04NTYsICAt
ODU2LCAgLTg1NiwgICA0MDEsICAtODU2LCAgIDY1MCwgIC04NTYsCisgICAgLTg1NiwgICAtNTAs
ICAgNjUwLCAgICAxNiwgICA2MTgsICAgLTUwLCAgMTI1OSwgICA3NjgsICAxMjc0LCAgLTg1NiwK
KyAgICAgNzcwLCAgNTM0MCwgIDY0ODIsICAtODU2LCAgLTg1NiwgIC04NTYsICAtODU2LCAgIDc3
MSwgICA3NzQsICAtODU2LAorICAgICA2NzYsICAtODU2LCAgIDc4MiwgIC04NTYsICAgNzg5LCAg
LTg1NiwgICA3ODIsICAtODU2LCAgLTg1NiwgICA4MzMsCisgICAgLTg1NiwgICA3OTAsICAgNzkx
LCAgLTg1NiwgMTIxNjEsICAtODU2LCAgIDY3NiwgICA3OTksICAtODU2LCAgIDgwMSwKKyAgICAg
Nzk5LCAgLTg1NiwgICAzMTEsICAtODU2LCAgLTg1NiwgICA4ODMsICAtODU2LCAgIDgzNSwgICAy
MTAsICAgMjU1LAorICAgICAyODIsICA1MzQwLCAgIDkzNywgIDU0ODksICAtODU2LCAgLTg1Niwg
IC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYsCisgICAgLTg1NiwgIDUzNDAsICAtODU2LCAgIDgw
MywgIDEyNTksICAgNzIyLCAgLTg1NiwgIC04NTYsICAgNjUwLCAgIDgwOCwKKyAgICAxMzg2LCAg
LTg1NiwgIDEyOTAsICAtODU2LCAgLTg1NiwgIDEyOTAsICAtODU2LCAgMTI5MCwgIC04NTYsICAt
ODU2LAorICAgIDY3NTUsICAxMzg2LCAgLTg1NiwgIDEyOTAsICAtODU2LCAgIDgwNSwgICA4MTUs
ICAtODU2LCAgMTI5MCwgIC04NTYsCisgICAgMTI5MCwgIC04NTYsICAtODU2LCAgIDk1NywgIC04
NTYsICAgMjk0LCAxMjI0OSwgIDg0ODMsIDEyMzM3LCAgIDcwMSwKKyAgICAtODU2LCAgIDMyMSwg
ICA2NTAsICAxMjU5LCAgIDgwMywgIDEyNTksICAgODIyLCAgLTg1NiwgIC04NTYsICAgNzgyLAor
ICAgICA4MjYsICAgNzgyLCAgIDc4MiwgICA4NTYsICAgNzk5LCAgIDgyOCwgICA3OTksICAgNzk5
LCAgLTg1NiwgICAgOTEsCisgICAgIDI1MCwgICAtNTAsICAgMzE1LCAgIDM0NywgIC04NTYsICAt
ODU2LCAgLTg1NiwgICA4MDMsICAxMjU5LCAgLTg1NiwKKyAgICAxMjkwLCAgLTg1NiwgIC04NTYs
ICAtODU2LCAgLTg1NiwgIC04NTYsICAxMjkwLCAgLTg1NiwgIC04NTYsICAtODU2LAorICAgICAz
NTAsICAgODAzLCAgIDc4MiwgICA3OTksICAtODU2LCAgLTg1NgorfTsKKworICAvKiBZWURFRkFD
VFtTVEFURS1OVU1dIC0tIERlZmF1bHQgcmVkdWN0aW9uIG51bWJlciBpbiBzdGF0ZSBTVEFURS1O
VU0uCisgICAgIFBlcmZvcm1lZCB3aGVuIFlZVEFCTEUgZG9lcyBub3Qgc3BlY2lmeSBzb21ldGhp
bmcgZWxzZSB0byBkby4gIFplcm8KKyAgICAgbWVhbnMgdGhlIGRlZmF1bHQgaXMgYW4gZXJyb3Iu
ICAqLworc3RhdGljIGNvbnN0IHl5dHlwZV91aW50MTYgeXlkZWZhY3RbXSA9Cit7CisgICAgICAg
MiwgICAgIDAsICAgICAwLCAgICAgMSwgICAgIDAsICAgMzUyLCAgIDM1MywgICAzNTQsICAgICAw
LCAgIDM0NSwKKyAgICAgMzQ2LCAgIDM0NywgICAzNTAsICAgMzQ4LCAgIDM0OSwgICAzNTEsICAg
MzQwLCAgIDM0MSwgICAzNDIsICAgMzQzLAorICAgICAzNjMsICAgMjcyLCAgIDI3MiwgICA1MjIs
ICAgNTIxLCAgIDUyMywgICA1MjQsICAgNjI5LCAgICAgMCwgICA2MjksCisgICAgICAgMCwgICAg
IDAsICAgNTI2LCAgIDUyNSwgICA1MjcsICAgNjExLCAgIDYxMywgICA1MTgsICAgNTE3LCAgIDYx
MiwKKyAgICAgNTIwLCAgIDUxMiwgICA1MTMsICAgNTE0LCAgIDUxNSwgICA0NjUsICAgNTMyLCAg
IDUzMywgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgIDI5OSwgICA2NDAsICAgNjQw
LCAgICA5MCwgICAzMTksICAgNDg1LCAgIDQ4NSwgICA0ODcsCisgICAgIDQ4OSwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAzLCAgIDYyNywKKyAg
ICAgICA2LCAgICAgOSwgICAgMzUsICAgIDM5LCAgICA1MSwgICAgNjIsICAgMjcyLCAgICA2MSwg
ICAgIDAsICAgIDc4LAorICAgICAgIDAsICAgIDgyLCAgICA5MiwgICAgIDAsICAgIDU2LCAgIDIz
MCwgICAyNDUsICAgICAwLCAgIDI5NywgICAgIDAsCisgICAgICAgMCwgICAgNTgsICAgIDU4LCAg
IDYyNywgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgMzA4LCAgICA2MywKKyAgICAgMzE3
LCAgIDI4NiwgICAyODcsICAgNDY0LCAgIDQ2NiwgICAyODgsICAgMjg5LCAgIDI5MCwgICAyOTIs
ICAgMjkxLAorICAgICAyOTMsICAgNDYyLCAgIDQ2MywgICA0NjEsICAgNTEwLCAgIDUyOCwgICA1
MjksICAgMjk0LCAgICAgMCwgICAyOTUsCisgICAgICA2NiwgICAgIDUsICAgICA4LCAgIDE3Mywg
ICAxODQsICAgMTc0LCAgIDE5NywgICAxNzAsICAgMTkwLCAgIDE4MCwKKyAgICAgMTc5LCAgIDIw
MCwgICAyMDEsICAgMTk1LCAgIDE3OCwgICAxNzcsICAgMTcyLCAgIDE5OCwgICAyMDIsICAgMjAz
LAorICAgICAxODIsICAgMTcxLCAgIDE4NSwgICAxODksICAgMTkxLCAgIDE4MywgICAxNzYsICAg
MTkyLCAgIDE5OSwgICAxOTQsCisgICAgIDE5MywgICAxODYsICAgMTk2LCAgIDE4MSwgICAxNjks
ICAgMTg4LCAgIDE4NywgICAxNjgsICAgMTc1LCAgIDE2NiwKKyAgICAgMTY3LCAgIDE2MywgICAx
NjQsICAgMTY1LCAgIDEyMSwgICAxMjMsICAgMTIyLCAgIDE1OCwgICAxNTksICAgMTU0LAorICAg
ICAxMzYsICAgMTM3LCAgIDEzOCwgICAxNDUsICAgMTQyLCAgIDE0NCwgICAxMzksICAgMTQwLCAg
IDE2MCwgICAxNjEsCisgICAgIDE0NiwgICAxNDcsICAgMTUxLCAgIDE1NSwgICAxNDEsICAgMTQz
LCAgIDEzMywgICAxMzQsICAgMTM1LCAgIDE0OCwKKyAgICAgMTQ5LCAgIDE1MCwgICAxNTIsICAg
MTUzLCAgIDE1NiwgICAxNTcsICAgMTYyLCAgIDEyNiwgICAxMjgsICAgMTMwLAorICAgICAgMjgs
ICAgMTI0LCAgIDEyNSwgICAxMjcsICAgMTI5LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgNDg1LCAgICAgMCwgICAyNjcsICAgICAwLCAgIDI1
MiwgICAyNzcsICAgIDc2LCAgIDI3MSwKKyAgICAgNjQwLCAgICAgMCwgICA1MjgsICAgNTI5LCAg
ICAgMCwgICAyOTUsICAgNjQwLCAgIDYwNSwgICAgNzcsICAgNjI5LAorICAgICAgNzQsICAgICAw
LCAgIDY0MCwgICA0MzksICAgIDczLCAgIDYyOSwgICA2MzAsICAgICAwLCAgICAgMCwgICAgMjMs
CisgICAgIDI0MiwgICAgIDAsICAgIDEwLCAgICAgMCwgICAzNDAsICAgMzQxLCAgIDMxMSwgICA0
NDAsICAgICAwLCAgIDIyNCwKKyAgICAgICAwLCAgIDMwOCwgICAyMjUsICAgMzA1LCAgICAgMCwg
ICAgMjEsICAgICAwLCAgICAgMCwgICA2MjcsICAgIDE3LAorICAgICAgMjAsICAgNjI5LCAgICA4
MCwgICAgMTYsICAgMzAxLCAgIDYyOSwgICAgIDAsICAgNjMzLCAgIDYzMywgICAyNTMsCisgICAg
ICAgMCwgICAgIDAsICAgNjMzLCAgIDYwMywgICA2MjksICAgICAwLCAgICAgMCwgICAgIDAsICAg
IDg4LCAgIDM0NCwKKyAgICAgICAwLCAgICA5OCwgICAgOTksICAgMTA2LCAgIDQyMCwgICA1MDcs
ICAgNTA2LCAgIDUwOCwgICA1MDUsICAgICAwLAorICAgICA1MDQsICAgICAwLCAgICAgMCwgICAg
IDAsICAgNDcyLCAgIDQ4MSwgICA0NzcsICAgNDgzLCAgIDUxMSwgICAgNTUsCisgICAgIDIzNiwg
ICAyMzcsICAgNjM2LCAgIDYzNywgICAgIDQsICAgNjM4LCAgIDYyOCwgICAgIDAsICAgICAwLCAg
ICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDM1NSwgICA0NDQsICAgNDMz
LCAgICA2NywgICA0NDYsICAgMzE2LAorICAgICAzNTYsICAgNDQ2LCAgIDQyOSwgICAgIDAsICAg
IDk0LCAgICAgMCwgICAgODYsICAgIDgzLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAs
ICAgICAwLCAgICAgMCwgICAyNDgsICAgMjQ5LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwK
KyAgICAgMjE1LCAgIDIxNiwgICAgIDAsICAgICAwLCAgICAgMCwgICAyNDYsICAgMjQ3LCAgICAg
MCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAg
ICAgMCwgICAgIDAsICAgNjIzLCAgIDYyNCwgICAgIDAsCisgICAgIDY0MCwgICAgIDAsICAgICAw
LCAgICA1NywgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDYyNywKKyAgICAg
ICAwLCAgIDYyOCwgICAgIDAsICAgMzc0LCAgIDM3MywgICAgIDAsICAgICAwLCAgIDUyOCwgICA1
MjksICAgMjk1LAorICAgICAxMTYsICAgMTE3LCAgICAgMCwgICAgIDAsICAgMTE5LCAgIDUzNiwg
ICAgIDAsICAgNTI4LCAgIDUyOSwgICAyOTUsCisgICAgIDMzMiwgICAxOTMsICAgMTg2LCAgIDE5
NiwgICAxODEsICAgMTYzLCAgIDE2NCwgICAxNjUsICAgMTIxLCAgIDEyMiwKKyAgICAgNjAxLCAg
IDMzNCwgICA2MDAsICAgICAwLCAgICA3NSwgICA2MjYsICAgNjI1LCAgICAgMCwgICAzMTgsICAg
NDY3LAorICAgICAgIDAsICAgICAwLCAgIDEzMSwgICA2MDgsICAgMzA1LCAgIDI3OCwgICA2MTAs
ICAgMjc0LCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgMjY4LCAgIDI3NiwgICAg
IDAsICAgNjQwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgMjY5LCAgIDYyOSwg
ICAgIDAsICAgMzEwLCAgIDI3MywgICA2MjksICAgMjYzLCAgIDY0MCwgICA2NDAsICAgMjYyLAor
ICAgICA2MjksICAgMzE1LCAgICA1NCwgICAgMjUsICAgIDI3LCAgICAyNiwgICAgIDAsICAgMzEy
LCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgMTksICAg
ICAwLCAgIDYyOSwgICAzMDMsICAgIDE1LCAgIDYyOCwKKyAgICAgIDc5LCAgIDYyOSwgICAzMDAs
ICAgMzA2LCAgIDYzNSwgICA2MzQsICAgMjU0LCAgIDYzNSwgICAyNTYsICAgMzA3LAorICAgICA2
MDQsICAgICAwLCAgIDEwNSwgICA1MTEsICAgIDk2LCAgICA5MSwgICAgIDAsICAgICAwLCAgIDY0
MCwgICAgIDAsCisgICAgIDMyMCwgICA0MjEsICAgNDkxLCAgIDQ5NCwgICA0OTIsICAgNTA5LCAg
IDQ4NiwgICA0NjgsICAgNDY5LCAgIDQ4OCwKKyAgICAgNDcwLCAgIDQ5MCwgICAgIDAsICAgICAw
LCAgICAgMCwgICAgIDAsICAgICAwLCAgIDYzOSwgICAgIDcsICAgIDI5LAorICAgICAgMzAsICAg
IDMxLCAgICAzMiwgICAgMzMsICAgIDUyLCAgICA1MywgICAgIDAsICAgNjQwLCAgIDQ0NCwgICAg
NjgsCisgICAgICAgMCwgICA0NDcsICAgICAwLCAgICAgMCwgICAgMzYsICAgMjgyLCAgICAgMCwg
ICAgMzgsICAgMjgxLCAgIDYyOSwKKyAgICAgICAwLCAgICA4NCwgICAgOTUsICAgIDUwLCAgICA0
MCwgICAgNDgsICAgICAwLCAgIDI1NywgICAyNzcsICAgMjA0LAorICAgICAgMzcsICAgICAwLCAg
IDI5NSwgICAyMjIsICAgMjI5LCAgIDIzMSwgICAyMzIsICAgMjMzLCAgIDI0MCwgICAyNDEsCisg
ICAgIDIzNCwgICAyMzUsICAgMjEzLCAgIDIxNCwgICAyMzgsICAgMjM5LCAgIDYyOSwgICAyMjYs
ICAgMjI3LCAgIDIyOCwKKyAgICAgMjE3LCAgIDIxOCwgICAyMTksICAgMjIwLCAgIDIyMSwgICAy
NTAsICAgMjUxLCAgIDYxNCwgICA2MTYsICAgNjE1LAorICAgICA2MTcsICAgNDM4LCAgIDI3Miwg
ICA0MzYsICAgNjI5LCAgIDYxNCwgICA2MTYsICAgNjE1LCAgIDYxNywgICA0MzcsCisgICAgIDI3
MiwgICAgIDAsICAgNjQwLCAgIDM2NSwgICAgIDAsICAgMzY0LCAgICAgMCwgICAgIDAsICAgICAw
LCAgICAgMCwKKyAgICAgICAwLCAgIDM1OSwgICAgIDAsICAgICAwLCAgIDMwNSwgICAgIDAsICAg
NjQwLCAgICAgMCwgICAgNTgsICAgMzMwLAorICAgICAxMTYsICAgMTE3LCAgIDExOCwgICA1MzQs
ICAgMzI4LCAgICAgMCwgICA2NDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgIDMzNSwgICA2
MjEsICAgNjIyLCAgIDMzNywgICA2MTQsICAgNjE1LCAgIDI3MiwgICAgNDEsICAgMjU3LCAgIDIw
NSwKKyAgICAgIDQ3LCAgIDIxMiwgICAgIDAsICAgICAwLCAgIDYwNywgICAgIDAsICAgMjc5LCAg
IDI3NSwgICA2NDAsICAgNjE0LAorICAgICA2MTUsICAgNjI5LCAgIDYxNCwgICA2MTUsICAgNjA2
LCAgIDMwOSwgICA2MzEsICAgMjU5LCAgIDI2NCwgICAyNjYsCisgICAgIDMxNCwgICAgMjQsICAg
ICAwLCAgIDI0MywgICAgMTEsICAgIDM0LCAgICAgMCwgICA2NDAsICAgMjExLCAgICAyMiwKKyAg
ICAgIDgxLCAgICAxOCwgICAzMDIsICAgNjMzLCAgICAgMCwgICAgODksICAgNjE4LCAgIDEwNCwg
ICA2MjksICAgNjE0LAorICAgICA2MTUsICAgNTYwLCAgIDQ5NSwgICAgIDAsICAgNDcxLCAgICAg
MCwgICA0NzQsICAgICAwLCAgIDQ3OSwgICA0NzYsCisgICAgICAgMCwgICAgIDAsICAgNDgwLCAg
IDIyMywgICA0NDIsICAgNDEyLCAgIDYyOSwgICAgIDAsICAgNDEwLCAgIDQwOSwKKyAgICAgICAw
LCAgIDM2MiwgICA0NDMsICAgNjQwLCAgIDQyOCwgICAyODUsICAgICAwLCAgICA5MywgICAgODcs
ICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgNjQwLCAgICAgMCwgICAg
IDAsICAgICAwLCAgICAgMCwgICA0MzUsCisgICAgICA3MSwgICAgIDAsICAgNDQxLCAgICAgMCwg
ICAgIDAsICAgMjYxLCAgIDQzNCwgICAgNjksICAgMjYwLCAgIDI5OCwKKyAgICAgMzU3LCAgIDY0
MCwgICA2NDAsICAgNDUzLCAgIDY0MCwgICAzNjYsICAgNjQwLCAgIDMyMywgICAzNjgsICAgIDU5
LAorICAgICAzNjcsICAgMzI0LCAgICAgMCwgICAgIDAsICAgMzI2LCAgIDYxOCwgICAzMDQsICAg
NjI5LCAgIDYxNCwgICA2MTUsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAxMTYs
ICAgMTE3LCAgIDEyMCwgICA2MjksICAgICAwLCAgIDYyOSwKKyAgICAgNTM4LCAgICAgMCwgICA0
MzAsICAgIDY0LCAgIDEzMiwgICA2MDksICAgMjgwLCAgIDI3MCwgICAgIDAsICAgICAwLAorICAg
ICA0NDEsICAgICAwLCAgICAgMCwgICA2NDAsICAgNjI5LCAgIDI1NSwgICAgOTcsICAgNDQxLCAg
IDU2NiwgICA1NjMsCisgICAgIDU2MiwgICA1NjEsICAgNTY0LCAgIDU3MiwgICA1ODEsICAgICAw
LCAgIDU5MiwgICA1ODIsICAgNTk2LCAgIDU5NSwKKyAgICAgNTkxLCAgIDU2MCwgICA0MjIsICAg
NTU5LCAgIDQyNSwgICA1NjUsICAgNTY3LCAgIDU2OCwgICA1NzAsICAgNTQ1LAorICAgICA1NzQs
ICAgNTc5LCAgIDY0MCwgICA1ODQsICAgNjQwLCAgIDU4OSwgICA1NDUsICAgNTk0LCAgIDU0NSwg
ICAgIDAsCisgICAgIDU0MywgICA0OTYsICAgNTAwLCAgIDUwMSwgICA1MDIsICAgNDkzLCAgIDUw
MywgICA0NzMsICAgNDc1LCAgIDQ4MiwKKyAgICAgNDc4LCAgIDQ4NCwgICA0MDgsICAgNjI5LCAg
ICAgMCwgICA1NjgsICAgMzkzLCAgIDU3NiwgICA1NzcsICAgNjQwLAorICAgICA2NDAsICAgNTg3
LCAgIDM5MywgICAzOTMsICAgMzkxLCAgIDQxNCwgICA0NDUsICAgIDY1LCAgICAgMCwgICAgIDAs
CisgICAgIDI4MywgICAgODUsICAgIDQ5LCAgIDI1OCwgICA2MTQsICAgNjE1LCAgIDYyOSwgICA2
MTQsICAgNjE1LCAgICAgMCwKKyAgICAgIDQ2LCAgIDIwOSwgICAgNDUsICAgMjEwLCAgICA3Miwg
ICA2MzIsICAgICAwLCAgICA0MywgICAyMDcsICAgIDQ0LAorICAgICAyMDgsICAgIDcwLCAgIDQ1
NCwgICA0NTUsICAgNjQwLCAgIDQ1NiwgICAzNTgsICAgMzYwLCAgICAgMCwgICAgMTIsCisgICAg
ICAxNCwgICA0NjAsICAgMzYxLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDM2OSwgICAzNzEsICAg
ICAwLCAgICA2MCwKKyAgICAgMzI1LCAgICAgMCwgICAgIDAsICAgNDQxLCAgICAgMCwgICAgIDAs
ICAgICAwLCAgICAgMCwgICA0NDEsICAgMzMzLAorICAgICA2MDIsICAgNTYwLCAgICAgMCwgICA1
NjAsICAgMzM4LCAgIDQzMSwgICA0MzIsICAgICAwLCAgIDI2NSwgICAzMTMsCisgICAgICAgMCwg
ICAzODYsICAgMzc3LCAgIDM3OSwgICA2MjksICAgMzc1LCAgIDYyOSwgICAgIDAsICAgICAwLCAg
ICAgMCwKKyAgICAgNTUyLCAgIDU3MywgICAgIDAsICAgNTQxLCAgIDU5OSwgICA1ODMsICAgICAw
LCAgIDU0MiwgICAgIDAsICAgNTU1LAorICAgICA1OTMsICAgICAwLCAgIDU1NywgICA1OTcsICAg
NDk3LCAgICAgMCwgICA0MTEsICAgICAwLCAgIDM5OSwgICA0MDEsCisgICAgICAgMCwgICA1NzUs
ICAgICAwLCAgIDM4OSwgICAzOTAsICAgICAwLCAgIDQwNCwgICAgIDAsICAgNDA2LCAgICAgMCwK
KyAgICAgNDQ4LCAgIDI4NCwgICA0NDEsICAgMjQ0LCAgICA0MiwgICAyMDYsICAgICAwLCAgICAg
MCwgICA0NTgsICAgNDU5LAorICAgICAgIDAsICAgMzcyLCAgICAgMCwgICAzMjEsICAgMzIyLCAg
IDI3OSwgICA2NDAsICAgMzI3LCAgICAgMCwgICA1MzUsCisgICAgIDMyOSwgICA2MjksICAgICAw
LCAgICAgMCwgICA1MzgsICAgNjI5LCAgICAgMCwgICAzODQsICAgICAwLCAgIDU2OSwKKyAgICAg
ICAwLCAgICAgMCwgICAgIDAsICAgNDIzLCAgIDU4NSwgICA1NDQsICAgNTcxLCAgIDU0NSwgICA1
NDUsICAgNTgwLAorICAgICA2NDAsICAgNTk4LCAgIDU0NSwgICA1OTAsICAgNTQ1LCAgIDU2OCwg
ICA1NDUsICAgNDk4LCAgIDQxMywgICA1ODYsCisgICAgIDM5MiwgICAzOTMsICAgMzkzLCAgIDMw
NSwgICAgIDAsICAgNTc4LCAgIDY0MCwgICAzOTMsICAgNTg4LCAgIDM5MywKKyAgICAgMzkzLCAg
IDQxOCwgICA2MjksICAgNDE2LCAgIDQxOSwgICAgIDAsICAgNDU3LCAgICAgMCwgICA1MjgsICAg
NTI5LAorICAgICAyOTUsICAgICAwLCAgIDY0MCwgICAgIDAsICAgNDUwLCAgIDQ1MSwgICA0NDks
ICAgMzMxLCAgIDUzNywgICAzMzYsCisgICAgIDUzOSwgICAgIDAsICAgMzc2LCAgIDM4NywgICAg
IDAsICAgMzgyLCAgIDM3OCwgICA0MjQsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgIDU0OCwg
ICAgIDAsICAgNTUwLCAgIDU0MCwgICAgIDAsICAgNTU2LCAgICAgMCwgICA1NTMsICAgNTU4LAor
ICAgICAgIDAsICAgICAwLCAgIDM5NiwgICAgIDAsICAgMzk4LCAgIDYxOCwgICAzMDQsICAgMzg4
LCAgICAgMCwgICA0MDUsCisgICAgICAgMCwgICA0MDIsICAgNDA3LCAgICAgMCwgICA0MTUsICAg
MzA1LCAgICAgMCwgICA2NDAsICAgICAwLCAgIDY0MCwKKyAgICAgIDEzLCAgIDY0MCwgICAgIDAs
ICAgICAwLCAgIDM4NSwgICAgIDAsICAgMzgwLCAgIDQyNywgICA0MjYsICAgNTQ1LAorICAgICA1
NDUsICAgNTQ1LCAgIDU0NSwgICAgIDAsICAgMzkzLCAgIDM5MywgICAzOTMsICAgMzkzLCAgIDQx
NywgICA2MTgsCisgICAgIDMwNCwgICA2MjksICAgNjE0LCAgIDYxNSwgICA0NTIsICAgMzcwLCAg
IDMzOSwgICAzODMsICAgICAwLCAgIDU0OSwKKyAgICAgICAwLCAgIDU0NiwgICA1NTEsICAgNTU0
LCAgIDQ5OSwgICAzOTcsICAgICAwLCAgIDM5NCwgICA0MDAsICAgNDAzLAorICAgICA0NDEsICAg
MzgxLCAgIDU0NSwgICAzOTMsICAgNTQ3LCAgIDM5NQorfTsKKworICAvKiBZWVBHT1RPW05URVJN
LU5VTV0uICAqLworc3RhdGljIGNvbnN0IHl5dHlwZV9pbnQxNiB5eXBnb3RvW10gPQoreworICAg
IC04NTYsICAtODU2LCAgLTg1NiwgICA3NDEsICAtODU2LCAgICAyMywgICA1NDAsICAtNDM4LCAg
LTg1NiwgICAtMjksCisgICAgLTg1NiwgICA1MzAsICAtODU2LCAgICAgNiwgIC04NTYsICAtMjE0
LCAgLTMxMSwgICAgODEsICAgLTg4LCAgIC04MCwKKyAgICAtODU2LCAgLTg1NiwgICAtMzAsICAt
ODU2LCAgLTE2NiwgICA3MzYsICAgIDU5LCAgIDkwMywgIC0xNjQsICAgIC0xLAorICAgICAtNDgs
ICAtODU2LCAgLTQxMiwgICAgIDgsICAyMDYyLCAgLTMyMiwgICA5MDQsICAgLTU0LCAgLTg1Niwg
ICAtMTQsCisgICAgLTg1NiwgIC04NTYsICAgIDEzLCAgLTg1NiwgIDE0NTksICAtODU2LCAgIDkx
NiwgIC04NTYsICAgNzc3LCAgLTg1NiwKKyAgICAgNDI2LCAgICA5NywgICA0MDksICAtMzUzLCAg
ICA3NCwgICAtMTEsICAtODU2LCAgLTM3NSwgIC0yMDMsICAgIDE1LAorICAgIC04NTYsICAtMzE1
LCAgIC0zOSwgIC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYs
CisgICAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYsICAgIDQzLCAgLTg1NiwgIC04
NTYsICAtODU2LCAgLTg1NiwKKyAgICAtODU2LCAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1Niwg
IC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYsICAtODU2LAorICAgIC04NTYsICAgMzE4LCAgLTg1
NiwgICAzMDUsICAgNzY3LCAgLTM0MCwgIC04NTYsICAgIC05LCAgLTY2MiwgIC04NTYsCisgICAg
LTg1NSwgIC04NTIsICAgMTM3LCAgIDM2MiwgICAyNTQsICAtODU2LCAgIDM1NywgIC04NTYsICAt
Njc4LCAgLTg1NiwKKyAgICAgICA5LCAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYs
ICAtODU2LCAgIDMxNywgIC04NTYsICAtODU2LAorICAgICAtOTksICAgNTIzLCAgLTg1NiwgICA3
MzMsICAtODU2LCAgLTg1NiwgIC01NTQsICAtODU2LCAgICAyMiwgIC04NTYsCisgICAgLTg1Niwg
ICAgNzYsICAtODU2LCAgLTg1NiwgIC04NTYsICAgOTUyLCAgLTg1NiwgIC04NTYsICAtODU2LCAg
LTg1NiwKKyAgICAgNTY2LCAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYsICAtODU2
LCAgICAgNCwgIC04NTYsICAtODU2LAorICAgIC0yNTgsICAtODU2LCAgLTg1NiwgIC04NTYsICAt
ODU2LCAgLTg1NiwgIC04NTYsICAtODU2LCAgICAgMSwgIC04NTYsCisgICAgICAxMSwgIC04NTYs
ICAgLTE3LCAgMTkyNSwgIDIwMzQsICAgOTY1LCAgMjM2OCwgIDE2NDIsICAtODU2LCAgLTg1NiwK
KyAgICAgMTM1LCAgLTg1NiwgIC01ODAsICAtMTk3LCAgLTM3NiwgIC03OTgsICAtNzI1LCAgIDI5
MSwgIC04MTMsICAgMTgwLAorICAgICAyMzgsICAgMTk5LCAgIDE4MSwgIC04NTYsICAtODU2LCAg
LTg1NiwgICAtOTcsICAtNzkyLCAgLTgyNywgICAxODYsCisgICAgIDIxMiwgIC04NTYsICAtNTcz
LCAgLTg1NiwgIC0yOTksICAtNjI0LCAgLTg1NiwgIC04NTYsICAtODU2LCAgICA5MCwKKyAgICAt
MzgwLCAgLTg1NiwgIC0zMjEsICAtODU2LCAgLTg1NiwgICAtODEsICAtODU2LCAgIC01NiwgICAt
MTIsICAgNjMyLAorICAgIC01NjgsICAtMjQ4LCAgIC02NSwgICAgIDAsICAgIC0yCit9OworCisg
IC8qIFlZREVGR09UT1tOVEVSTS1OVU1dLiAgKi8KK3N0YXRpYyBjb25zdCB5eXR5cGVfaW50MTYg
eXlkZWZnb3RvW10gPQoreworICAgICAgLTEsICAgICAxLCAgICAgMiwgICAgNjgsICAgIDY5LCAg
ICA3MCwgICAyNDIsICAgNTcxLCAgIDkyMCwgICA1NzIsCisgICAgIDI1OCwgICAyNTksICAgNDU1
LCAgIDI2MCwgICA0NDYsICAgIDcyLCAgIDUyNCwgICAgNzMsICAgMzY0LCAgIDM2NiwKKyAgICAg
MzY3LCAgIDg0OSwgICAgNzQsICAgIDc1LCAgIDUwOSwgICAyNDgsICAgIDc3LCAgICA3OCwgICAy
NjEsICAgIDc5LAorICAgICAgODAsICAgIDgxLCAgIDQ3NSwgICAgODIsICAgMjE1LCAgIDM4NCwg
ICAzODUsICAgMTk3LCAgIDE5OCwgICAxOTksCisgICAgIDIwMCwgICA2MTIsICAgNTYwLCAgIDIw
MiwgICAgODQsICAgNDQ4LCAgIDM1NSwgICAgODUsICAgMjE3LCAgIDI2NiwKKyAgICAgNTI5LCAg
IDU2MSwgICA2OTYsICAgNDM1LCAgIDQzNiwgICAyMzAsICAgMjMxLCAgIDIxOSwgICA0MjIsICAg
NDM3LAorICAgICA1MTcsICAgNTE4LCAgICA4NiwgICAzNjIsICAgMjY1LCAgIDQ2MSwgICA2MzIs
ICAgMjg0LCAgIDcyMywgICA3MjEsCisgICAgIDU5OCwgICA2MDAsICAgNzMwLCAgIDczMSwgICA5
MzQsICAgMjUwLCAgICA4OCwgICAgODksICAgIDkwLCAgICA5MSwKKyAgICAgIDkyLCAgICA5Mywg
ICAgOTQsICAgIDk1LCAgICA5NiwgICAgOTcsICAgMzE4LCAgIDMyMSwgICA3MDEsICAgODM4LAor
ICAgICA1ODIsICAgODQzLCAgIDg0NCwgICA2NzIsICAgMjUxLCAgIDU3NCwgICA3MDksICAgODQ1
LCAgIDg0NiwgICAzNzYsCisgICAgIDg3MiwgICA4NzMsICAgODc0LCAgIDk2MCwgICA4OTksICAg
NzkzLCAgIDY2NywgICA2NjgsICAgNzk0LCAgIDk3MiwKKyAgICAgOTczLCAgIDQ4MCwgICA0ODEs
ICAgNjUxLCAgIDg3NywgICA3NjIsICAgOTQzLCAgIDMyMiwgICAgOTksICAgMTAwLAorICAgICAz
MTksICAgNTA2LCAgIDUwNywgICA1MTAsICAgNTExLCAgIDY3MywgICA1ODMsICAgOTg2LCAgIDcw
MiwgICA4MzQsCisgICAgIDkxNywgICA4NDAsICAgMTAxLCAgIDEwMiwgICAxMDMsICAgMTA0LCAg
IDEwNSwgICAxMDYsICAgMTA3LCAgIDQ5MiwKKyAgICAgNjU1LCAgIDEwOCwgICA0OTQsICAgMTA5
LCAgIDExMCwgICA0OTMsICAgNDk1LCAgIDI4OSwgICAyOTIsICAgMjkzLAorICAgICA0ODYsICAg
NjUzLCAgIDY1MiwgICA3ODEsICAgODk0LCAgIDk1NywgIDEwMTAsICAgNzg1LCAgIDExMSwgICAy
OTAsCisgICAgIDExMiwgICAxMTMsICAgMTE0LCAgIDIyMiwgICAyMjMsICAgMTE3LCAgIDIyNCwg
ICAyMjUsICAgNTk0LCAgIDcyMiwKKyAgICAgODYyLCAgIDg2MywgICA5NDUsICAgODgwLCAgIDc2
NCwgICA3NjUsICAgNzY2LCAgIDk1NSwgICA3NjgsICAgNzY5LAorICAgICA3NzAsICAgNzcxLCAg
IDc5OCwgICA3OTksICAgNzcyLCAgIDc3MywgICA3NzQsICAgNzc1LCAgIDgwMSwgICA4MDIsCisg
ICAgIDc3NiwgICA3NzcsICAgNzc4LCAgIDc3OSwgICA3ODAsICAgODgzLCAgIDQwMywgICA1OTks
ICAgMjcxLCAgIDQzOCwKKyAgICAgMjI3LCAgIDEyMCwgICA2MzYsICAgNTYzLCAgIDYwMywgICA1
OTcsICAgNDA3LCAgIDMwNCwgICA0MzIsICAgNDMzLAorICAgICA2OTIsICAgNDY2LCAgIDU3NSwg
ICAzNzEsICAgMjYzCit9OworCisgIC8qIFlZVEFCTEVbWVlQQUNUW1NUQVRFLU5VTV1dIC0tIFdo
YXQgdG8gZG8gaW4gc3RhdGUgU1RBVEUtTlVNLiAgSWYKKyAgICAgcG9zaXRpdmUsIHNoaWZ0IHRo
YXQgdG9rZW4uICBJZiBuZWdhdGl2ZSwgcmVkdWNlIHRoZSBydWxlIHdob3NlCisgICAgIG51bWJl
ciBpcyB0aGUgb3Bwb3NpdGUuICBJZiBZWVRBQkxFX05JTkYsIHN5bnRheCBlcnJvci4gICovCitz
dGF0aWMgY29uc3QgeXl0eXBlX2ludDE2IHl5dGFibGVbXSA9Cit7CisgICAgIDEyMSwgICA0MDgs
ICAgMzY1LCAgIDI4OCwgICAzMDUsICAgMzY5LCAgIDM2MSwgICA1NjQsICAgIDcxLCAgIDIwMywK
KyAgICAgIDcxLCAgIDIzNCwgICAzNjgsICAgNTMwLCAgIDIzOSwgICAyMzcsICAgMjc5LCAgIDI0
MCwgICA0MDYsICAgMjA0LAorICAgICA0NjgsICAgMjAxLCAgIDI1NywgICA0MzAsICAgNDcwLCAg
IDU3NiwgICA3MTIsICAgMTIyLCAgIDMwNSwgICAyMDMsCisgICAgIDg3NSwgICAyMjAsICAgMjIw
LCAgIDMyNywgICA0ODksICAgNDkxLCAgIDI5OSwgICAzNzAsICAgNTYyLCAgIDIwNCwKKyAgICAg
NTcwLCAgIDIwMSwgICAyNzksICAgNDAxLCAgIDg0OCwgICAgODcsICAgNjE3LCAgICA4NywgICAy
OTgsICAgNjI0LAorICAgICAyNjIsICAgMjY5LCAgIDI3MywgICA3NDAsICAgNjE3LCAgIDI3OSwg
ICAyNzksICAgMjc5LCAgIDI2NCwgICAyMjEsCisgICAgIDIyMSwgICA1OTIsICAgMjkxLCAgIDI3
OCwgICA2NDUsICAgMzE3LCAgIDk0NiwgICA3MDgsICAgMjY3LCAgIDMwNiwKKyAgICAgMjAxLCAg
IDc2MywgICA2MjEsICAgMzEyLCAgIDMxMywgICAyMTQsICAgMjE0LCAgIDY1NywgICA5NjgsICAg
NTczLAorICAgICA3NDcsICAtMTAxLCAgLTEwNywgICA5OTYsICAgOTkzLCAgIDk0NiwgICA2MDYs
ICAgNjI0LCAgICAgMywgICAzMTQsCisgICAgIDIxOCwgICAyMjgsICAgNDU2LCAgIDgwMywgICAg
ODcsICAgIDg3LCAgIDk1MywgICAzMTQsICAgMjgwLCAgIDYwNywKKyAgICAgNjEwLCAgIDIzNiwg
ICA5NDEsICAgNTYyLCAgLTExMSwgICA1NzAsICAgMjI2LCAgIDIyNiwgICA2NzgsICAgMjIxLAor
ICAgICAyMDEsICAgOTc0LCAgLTEwOCwgICAyMjAsICAgNTIzLCAgIDg5NSwgICA0NjQsICAgMjQx
LCAgIDY2NSwgICAyMzMsCisgICAgLTUyMiwgIC01MzAsICAgMjQzLCAgIDQ2NSwgICAyODAsICAg
NjQ4LCAgLTExNSwgIC01MzAsICAgNjYxLCAgIDM1NywKKyAgICAgMjM1LCAgIDYzNywgICAyMjEs
ICAgMjIxLCAgIDY1OCwgICAyMzYsICAgMjIxLCAgIDM3NSwgICAzODYsICAgMzg2LAorICAgICA0
MjYsICAgMjIxLCAgMTAzNCwgICAyNjgsICAgMjcyLCAgIDg3NSwgICA5MzcsICAtNTIyLCAgLTEw
NywgICA4NTMsCisgICAgIDg4NywgICAyNTMsICAtMTE0LCAgIDc1OCwgIC0xMDcsICAgMzU4LCAg
IDQwNSwgICAyMTQsICAgNjM3LCAgIDg1OCwKKyAgICAgNzI4LCAgIDUxOSwgICA2NjYsICAtMTEw
LCAgIDU3MywgICAzMDIsICAgLTc5LCAgIDMwMywgICAtOTgsICAgNDUyLAorICAgICAzNjMsICAg
MzYzLCAgIDQwNCwgICAzMTYsICAgMzYzLCAgIDkwMywgICA5MDQsICAgNzU5LCAgIDk5NiwgICAy
NTcsCisgICAgLTEwMSwgICA3NjMsICAtMTEyLCAgMTA1NywgICA5NjgsICAgNjYyLCAgIC05Mywg
ICAyMzYsICAgMjI2LCAgIDMwMiwKKyAgICAtMTExLCAgIDMwMywgICA5NDYsICAgMzA1LCAgIDk0
MiwgIC0xMDksICAgNTIzLCAgIDUyMywgICA5NDAsICAgNDc5LAorICAgIC0xMDEsICAgLTk4LCAg
IDQ1OCwgIC0xMDEsICAgMzE1LCAgIDk0NiwgIDEwNzEsICAtMTAxLCAgIDk1MywgICAyMzIsCisg
ICAgIDg1MSwgICA4NzUsICAgMzE1LCAgIDg3NSwgICA0NTAsICAgMzAyLCAgIDQxOCwgICAzMDMs
ICAgNDIzLCAgIDQ5OSwKKyAgICAgNTAwLCAgIDUwMSwgICA1MDIsICAtMTA3LCAgIDQyMywgICA5
NzQsICAgODM2LCAgIDI1NywgICAyOTQsICAgNDc0LAorICAgICA0MzksICAgLTk5LCAgIDgzNywg
ICA3MTcsICAgNjU2LCAgIDQzMCwgICA2NTYsICAtNjE0LCAgIDI3OSwgICAxMjEsCisgICAgLTEx
MSwgICAzMjAsICAtMTExLCAgIDcyNywgICAyMjAsICAtMTA2LCAgIDIyMCwgICAgNzEsICAgOTEy
LCAgIDYyNCwKKyAgICAtNTMxLCAgICA4NywgICA1OTAsICAgNjE3LCAgIDYxNywgICAyNjIsICAg
NTkxLCAgIDI5NSwgICA0NTksICAgNDczLAorICAgICA0NTQsICAgMjk2LCAgIDQ3MSwgIC0xMTMs
ICAgOTg0LCAgIDI5NywgICA2MzcsICAgODExLCAgLTEwOCwgICA4NzUsCisgICAgMTAzNiwgIC0x
MDUsICAgMjIxLCAgIDcyNiwgICAyMjEsICAgMjIxLCAgIDYzNywgIC0xMDgsICAgMjIxLCAgIDU3
OCwKKyAgICAgMjIxLCAgIDc2MywgIC0xMDEsICAgNzYzLCAgICA4NywgICA4NTcsICAgIDg3LCAg
IDI3OSwgICAyMTQsICAgMzI0LAorICAgICAyMTQsICAgMjE0LCAgIDQ4MiwgICA1MTQsICAgNTg3
LCAgLTExNSwgICAyNTcsICAgIDg3LCAgIDUyNSwgICAgODcsCisgICAgIDMwMiwgIC0xMDMsICAg
MzAzLCAgIDQzMSwgICAzMDUsICAgNDM0LCAgIDk0OCwgIC0xMTQsICAgODc1LCAgLTEwMiwKKyAg
ICAgODc1LCAgLTYxNCwgICAgNzEsICAgNTgwLCAgLTEwMCwgICA5NTQsICAgNDQwLCAgIDUwMywg
ICA0NDIsICAgMjI2LAorICAgICAyODAsICAgMjI2LCAgIDMyMywgIC0xMTMsICAgMjYyLCAgIDk2
MiwgIDEwMDQsICAgMzI4LCAgLTExMCwgICA0OTgsCisgICAgIDQyOCwgICA4MTYsICAgOTY5LCAg
IDg3NSwgICA1MjEsICAgODQyLCAgIDgzNywgICA1NzcsICAgNTE2LCAgIDU3OSwKKyAgICAgNDY3
LCAgICA1OCwgIDEwMTcsICAgNTE2LCAgIDIzMywgICAzMTYsICAgNDgzLCAgIDQ2NSwgICA0ODQs
ICAgIDg3LAorICAgICAyMjEsICAgMjIxLCAgIDIyMSwgICAyMjEsICAgIDg3LCAgIDIyMSwgICAy
MjEsICAtMTE1LCAgIDQzOSwgIC0xMDcsCisgICAgLTExMiwgIC0xMDcsICAgNTYyLCAgLTEwOSwg
ICA1NzAsICAtNTMxLCAgIDIyMSwgICA4MDQsICAgIDg3LCAgIDI4MCwKKyAgICAgOTEwLCAgIDUz
MSwgICA5ODUsICAgODUyLCAgIDU2OCwgICA0MTAsICAgODIwLCAgIDgyMiwgIC0xMDMsICAgNzg3
LAorICAgICA1MjUsICAgNTI1LCAgIDgyNywgICA4MjksICAgNDEyLCAgIDg3NiwgICA4MzMsICAg
MjM1LCAgIDM2MywgICAzNjMsCisgICAgIDM2MywgICAzNjMsICAtMTA4LCAgIDUwNCwgICA1MDUs
ICAgNzQ1LCAgLTYxNSwgICA3ODgsICAgNDE0LCAgLTExMywKKyAgICAgNDE5LCAgLTExMywgICA3
ODgsICAgMjIxLCAgLTEwOCwgICAgODcsICAtMTA4LCAgLTEwMiwgICA0MjAsICAgIDg3LAorICAg
ICAyMjEsICAgIDg3LCAgIC05OSwgIC0xMDAsICAtMzQ0LCAgIDczNywgICA4MzcsICAgOTI4LCAg
IDU4MSwgICAyMTQsCisgICAgIDU2OCwgICA0MjEsICAgNDExLCAgIDQzOSwgICA5MzIsICAgMjIx
LCAgIDQyNywgIDEwNDAsICAgNDc0LCAgLTUyMSwKKyAgICAgNDI5LCAgLTExNSwgICA2MzEsICAt
MTE1LCAgIDM1NywgICA0MjMsICAgNDIzLCAgIDI3OSwgIDEwNDUsICAgNTY4LAorICAgIC0zNDQs
ICAtMzQ0LCAgLTEwNCwgIC0xMTQsICAtNjE1LCAgLTExNCwgICA0NDcsICAgMjAzLCAgIDM2Mywg
IC0xMTUsCisgICAgIDY4NSwgIC01MjMsICAgMjI5LCAgIDUzMSwgICA1MzEsICAxMDIzLCAgLTUy
MSwgICAyMDQsICAgNTY5LCAgIDIwMSwKKyAgICAgMzU4LCAgIDM1OSwgICAyMzYsICAgNTg5LCAg
LTExMCwgICA1NjgsICAtMTEwLCAgIDUyMywgICAyMjEsICAtMTA2LAorICAgICAyMzIsICAgNDgy
LCAgIDQ3NCwgICA1MjMsICAgNTIzLCAgIDQ1NywgICA0MzksICAtMTAzLCAgLTUyMywgICA1MjMs
CisgICAgIDUyMywgICAyNzksICAgNDgyLCAgMTA3MCwgICAyMTQsICAgOTMxLCAgIDQ5MCwgICA5
MzMsICAgNjI0LCAgLTM0NCwKKyAgICAgMzU3LCAgLTUyNCwgICA1NjgsICAgNjE3LCAgIC03OCwg
ICA0NTMsICAtMTEyLCAgLTEwMywgIC0xMTIsICAtMTA5LAorICAgIC0xMDMsICAtMTA5LCAgICA4
NywgICA5OTgsICAtMTAzLCAgIDY2OSwgIC0xMDIsICAgMzI5LCAgIDcyMCwgICAzNjAsCisgICAg
IDQ4MiwgICA2MTgsICAtMTAwLCAgIDcxMCwgICA2OTMsICAgOTE0LCAgIDM1OCwgICA0MjQsICAt
NTI0LCAgIDI4MCwKKyAgICAgNDYzLCAgIDIyMSwgIC0xMTQsICAgNTY5LCAgIDgyNCwgICA0ODMs
ICAtMTAyLCAgIDQ4NCwgIC02MTQsICAtMTAyLAorICAgIC01MjYsICAgODMxLCAgLTEwMCwgIC0x
MDIsICAgNjg2LCAgLTEwMCwgICA0ODMsICAgMjE0LCAgIDQ4NCwgIC0xMDAsCisgICAgIDczNywg
IC0xMTAsICAtMTA1LCAgIDQ3MiwgIC01MjUsICAgNzA0LCAgLTMwNCwgICA3MDYsICAgNDY5LCAg
IDU2OSwKKyAgICAgNDk2LCAgIDY5MCwgICA2OTEsICAxMDMyLCAgIDY0MywgICAzMTIsICAgMzEz
LCAgLTUyNiwgICA3OTAsICAgNjk3LAorICAgICA0NzYsICAtMTAxLCAgIDUwOCwgICAyODAsICAg
NDgzLCAgIDQyNSwgICA0ODQsICAgNDg1LCAgIDY5OCwgICA4MDAsCisgICAgIDcwMywgIC01MjUs
ICAtMzA0LCAgLTMwNCwgICA1ODEsICAgMzU3LCAgIDU2OSwgICA5ODEsICAgNTIyLCAgIDg4OSwK
KyAgICAgNjk0LCAgIDg5MiwgICA5ODMsICAgOTUxLCAgIDQzOSwgICA0OTcsICAgNzQ4LCAgIDk1
MSwgICA3NDksICAgNzUwLAorICAgICA3NTEsICAgNzUyLCAgIDU4NCwgICA1ODgsICAgNDM5LCAg
IDczMywgICA3NDYsICAgNzEzLCAgIDczNCwgICA4MDQsCisgICAgIDU2OCwgICAzNTgsICAgNDUx
LCAgIDk1MSwgICA2OTgsICAgMjc5LCAgIDgwNCwgIC0xMTIsICAgODA0LCAgIDY5MSwKKyAgICAg
NTY4LCAgIDYyNiwgICA1MjMsICAgMjAzLCAgIDU5MywgICA2MjgsICAgNDIzLCAgICA4NywgICA2
MjksICAgIDg3LAorICAgICAzNTcsICAtMzA0LCAgLTUyOCwgICAyMDQsICAtNjE1LCAgIDIwMSwg
IC01MjksICAtMTAzLCAgIC05MywgICAyMjEsCisgICAgIDYzNCwgICA0NzQsICAgNjM1LCAgIDg2
NSwgICA4NTYsICAgNjk4LCAgIDY5MSwgICA2NDQsICAgODA2LCAgIDIyMSwKKyAgICAgMjc5LCAg
ICA4NywgICAyMjEsICAgODI2LCAgIDY2NCwgICAyMTQsICAgMzU4LCAgIDQ3NywgIC01MjgsICAt
NTI4LAorICAgICA0MjUsICAgNTI1LCAgLTUyOSwgIC01MjksICAgODA1LCAgIDIxNCwgICA4NTUs
ICAgNTI1LCAgIDUyNSwgICA2ODksCisgICAgIDY3MSwgIC01MjcsICAtNTE2LCAgIDUyNSwgICA1
MjUsICAtNTE5LCAgIDYwMSwgICA2OTUsICAtMjc3LCAgIDQ1MywKKyAgICAtMTA5LCAgIDY2OSwg
ICA0ODIsICAgNjc2LCAgMTA1MSwgICAyMjEsICAgNjc5LCAgIDg2NCwgICA5MzYsICAgNDExLAor
ICAgICA3MjksICAgNzQxLCAgIDQzOSwgICA2ODAsICAgNTY5LCAgIDY4MSwgICA4MTIsICAgMjgw
LCAgLTUyNywgIC01MTYsCisgICAgLTEwMCwgICA4NTQsICAtNTE5LCAgIDYwMiwgICA1NjksICAg
NDc4LCAgLTExNCwgIC01MjgsICAgNTY4LCAgIDgzNSwKKyAgICAgODQxLCAgLTUyOSwgICA4NDcs
ICAgNjk1LCAgIDg0NywgICA2OTEsICAtMTE1LCAgIDYzNywgIC0xMTAsICAgNzAwLAorICAgICAg
ODcsICAgNzA1LCAgIDgwNCwgICA3NDQsICAgODA0LCAgIDY5MSwgICA1MTYsICAgNzg5LCAgIDc0
MywgICA4MDQsCisgICAgLTI5NSwgICA4MDQsICAgMjgwLCAgICA4NywgICA1MzEsICAgNzkxLCAg
IDQ4MywgICAyMjEsICAgNDg0LCAgIDQ4NywKKyAgICAgNTMxLCAgIDUzMSwgICA4MDcsICAgNjg5
LCAgIDY5NSwgICAzMjksICAgNTMxLCAgIDUzMSwgICAgNzYsICAtMjc4LAorICAgICAgNzYsICAg
NDIzLCAgIDgxOSwgICAyMTQsICAgMjAxLCAgIDgzNywgIC0yOTUsICAtMjk1LCAgIDc0MiwgICA0
NDMsCisgICAgMTAwMSwgIDEwMDMsICAgIDc2LCAgICA3NiwgICA4MjUsICAxMDA2LCAgIDkyMiwg
IDEwMDgsICAgMjc5LCAgMTAwOSwKKyAgICAgNDQ0LCAgIDQ0NSwgICA4NjcsICAgIDg3LCAgIDg2
MSwgICAyMjEsICAgIDg3LCAgIDgwNCwgICA4NjgsICAgIDk4LAorICAgICA4ODQsICAgIDk4LCAg
IDg4NCwgICAzNTcsICAgNzQ4LCAgLTExMiwgICA3NDksICAgNzUwLCAgIDc1MSwgICA3NTIsCisg
ICAgIDM1NywgICA4MDUsICAgNTY5LCAgICA5OCwgICAgOTgsICAgOTUwLCAgLTMwNSwgICAgNzYs
ICAgIDc2LCAgLTEwOSwKKyAgICAgODc4LCAgIDkyOSwgICAzNTIsICAgMzUzLCAgIDM1NCwgIC0y
OTUsICAgNTI1LCAgIDg4NCwgICA4ODQsICAgMzU4LAorICAgICA1ODUsICAgODAwLCAgICA3Niwg
ICAzNjMsICAgNjkxLCAgIDk2NiwgICAzNTgsICAgNTk1LCAgIDgwMCwgICA5MTksCisgICAgIDgw
MCwgICA4NzksICAtMzA1LCAgLTMwNSwgICA5MjEsICAgODgyLCAgIDg4NSwgICA2NzQsICAgIDk4
LCAgICA5OCwKKyAgICAgODg2LCAgLTYxMSwgICA2OTMsICAgOTI2LCAgIDg4OCwgICAgNzYsICAg
IDc2LCAgIDg5MSwgICA4OTAsICAgIDc2LAorICAgICA4OTMsICAgMjcwLCAgIDkxOCwgICAgOTgs
ICAgIDc2LCAgIDY5NCwgICA2MDksICAgNjExLCAgLTYxMiwgICA4OTYsCisgICAgIDkwMSwgICA4
OTcsICAxMDU5LCAgMTA2MSwgIDEwNjIsICAxMDYzLCAgIDc5NiwgICAzNTcsICAgNTg2LCAgLTEx
MCwKKyAgICAgODk4LCAgICA4NywgICA5MDIsICAgNjA5LCAgIDYxMSwgICA1OTYsICAgIDk4LCAg
ICA5OCwgICAyNzksICAgOTA1LAorICAgICAgOTgsICAtMzA1LCAgLTExMiwgIC01MTYsICAgODA1
LCAgICA5OCwgIDEwMzUsICAgNDQxLCAgIDk5MCwgICA1MzEsCisgICAgIDkwNywgIC0yNzksICAg
ODI2LCAgIDM1OCwgICA2ODMsICAxMDc0LCAgIDY5OSwgICAyNzksICAgOTA5LCAgIDYzOCwKKyAg
ICAtNTE5LCAgICA4NywgICA3MDcsICAgNzUzLCAgIDcxMSwgICA5MTYsICAgIDg3LCAgIDIyMSwg
ICA3MTQsICAtNTE2LAorICAgIC01MTYsICAgOTgyLCAgIDkzOCwgICA0NjAsICAgOTU4LCAgICA4
NywgIDEwMjgsICAgNDYyLCAgICA4NywgIC0xMDksCisgICAgIDk2MywgICAzNTcsICAgNzU0LCAg
IDM1NywgICA3OTcsICAgIDg3LCAgLTUxOSwgIC01MTksICAgNzgyLCAgIDc4MywKKyAgICAtMjgw
LCAgIDc4NCwgICA5OTQsICAgOTk5LCAgIDgwMCwgIDEwMDAsICAgODAwLCAgIDk5NywgIDEwMDIs
ICAgIDQ2LAorICAgICAgNDcsICAgODAwLCAgIDY4NCwgICA4MDAsICAgODQ3LCAgIDM2MywgIDEw
MDUsICAgMzU4LCAgIDk2NCwgICAzNTgsCisgICAgMTAyNiwgICA3NTcsICAgNzU4LCAgMTAwNywg
IDEwMTEsICAxMDEzLCAgLTYxMSwgICA0ODIsICAtNTE2LCAgMTAyNSwKKyAgICAgOTU5LCAgLTYx
MSwgICA3NjcsICAxMDE4LCAgICA3NiwgIDEwMjAsICAgODM2LCAgMTAzMywgICA4ODQsICAgNDgy
LAorICAgIDEwMzgsICAtNjE0LCAgMTAyOSwgIC02MTIsICAxMDMxLCAgLTUxOSwgICA3NTksICAg
Nzk1LCAgLTYxMiwgICA5NzcsCisgICAgMTAyNCwgIC02MTUsICAgNDgyLCAgICA4NywgICA4ODQs
ICAgIDc2LCAgMTA1OCwgICAgNzYsICAgIDc2LCAgIDgwMCwKKyAgICAxMDYwLCAgICA3NiwgIDEw
NjYsICAgIDc2LCAgMTA2NCwgICAgOTgsICAgNTk2LCAgICA3NiwgIDEwMjcsICAgIDc2LAorICAg
ICA4NDEsICAxMDQzLCAgIDQ0OSwgICA0MTMsICAgIDg3LCAgICA4NywgICA0MTUsICAgNDE2LCAg
IDQxNywgICA2NDEsCisgICAgICA3NiwgICA0ODMsICAgIDc2LCAgIDQ4NCwgICA0ODgsICAgNjM5
LCAgICA5OCwgICAzNzMsICAgIDk4LCAgICA5OCwKKyAgICAgMzkwLCAgIDM1NiwgICAgOTgsICAg
NDgzLCAgICA5OCwgICA0ODQsICAgNjU0LCAgIDkzNSwgICAgOTgsICAgOTcxLAorICAgICAgOTgs
ICAgNzQ5LCAgIDc1MCwgICA3NTEsICAgNzUyLCAgIDczMiwgICA0ODMsICAgODUwLCAgIDQ4NCwg
ICA2NTksCisgICAgIDgzOSwgICAgOTgsICAxMDU1LCAgICA5OCwgICAgODcsICAgNDM5LCAgICA4
NywgICA3MDMsICAgNzkyLCAgIDg0NywKKyAgICAgODA4LCAgIDY3MCwgIDEwNDgsICAgODU5LCAg
ICA4NywgICAgNDEsICAgIDQyLCAgICA0MywgICAgNDQsICAgNjkxLAorICAgIC02MTgsICAgNTY4
LCAgICA3NiwgICAgNzYsICAgIDc2LCAgICA3NiwgICAgNzYsICAgIDc2LCAgICA3NiwgICAgNzYs
CisgICAgIDg2NiwgIDEwNTQsICAgNzY3LCAgICA4NywgICA1MTIsICAgNDA5LCAgIDkwNiwgICA5
MDgsICAxMDMwLCAgICA3NiwKKyAgICAgNjYwLCAgICA3NiwgICA0MDIsICAgNjI1LCAgICA3Niwg
ICAzMzQsICAgMzM1LCAgIDYyNywgICA5NTIsICAgOTkxLAorICAgICAyMjEsICAgOTU2LCAgIDYz
MCwgICAgOTgsICAgIDk4LCAgICA5OCwgICAgOTgsICAgIDk4LCAgICA5OCwgICAgOTgsCisgICAg
ICA5OCwgICA5NDksICAtNjE4LCAgIDk2NSwgICA5NjEsICAgOTY3LCAgIDIxNCwgICA5NzAsICAg
NjQwLCAgICAgMCwKKyAgICAgIDk4LCAgIDk0NywgICAgOTgsICAgNjQyLCAgICAgMCwgICAgOTgs
ICAgIDc2LCAgICAgMCwgICAgNzYsICAgICAwLAorICAgICA1MTUsICAgICAwLCAgICA3NiwgICAg
NzYsICAgIDc2LCAgIDUyOCwgICAgIDAsICAgICAwLCAgLTYxOCwgIC02MTgsCisgICAgIDM0NSwg
ICAzNDYsICAgICAwLCAgIDgyMSwgICA4MjMsICAgICAwLCAgIDMyOSwgICAgIDAsICAgIDc2LCAg
IDgyOCwKKyAgICAgODMwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICA1NjksICAgICAw
LCAgICA5OCwgICAgIDAsICAgIDk4LAorICAgICAgIDAsICAgMzQyLCAgIDM0MywgICAgOTgsICAg
IDk4LCAgICA5OCwgICA3OTcsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgIDc5NywgICAgIDAs
ICAgICAwLCAgIDc5NywgICAgIDAsICAgNzk3LCAgICA3NiwgICAgNzYsICAgICAwLCAgICA5OCwK
KyAgICAgOTIzLCAgIDY3NywgICA3NjcsICAgOTI0LCAgIDc2NywgIC02MTgsICAgICAwLCAgLTYx
OCwgICAgIDAsICAgOTI3LAorICAgIC02MTQsICAgIDc2LCAgIDkzMCwgICA0ODIsICAgODIxLCAg
IDgyMywgICAgIDAsICAgODI4LCAgIDgzMCwgICAgIDAsCisgICAgIDc2NywgICAzNTAsICAgMzUx
LCAgIDM1MiwgICAzNTMsICAgMzU0LCAgICAgMCwgICAgOTgsICAgIDk4LCAgIDc2NywKKyAgICAx
MDM5LCAgIDc0OCwgIDEwNDEsICAgNzQ5LCAgIDc1MCwgICA3NTEsICAgNzUyLCAgMTA0MiwgICAg
IDAsICAgNzk1LAorICAgICAgIDAsICAxMDQ0LCAgICA5OCwgIDEwNDYsICAgICAwLCAgICA3Niwg
ICA3OTUsICAgNjE0LCAgIDYxNiwgICAgIDAsCisgICAgMTA0NywgICAzMDcsICAgMzA4LCAgIDMw
OSwgICAzMTAsICAgMzExLCAgIDI3MCwgICA3NDgsICAgMzI5LCAgIDc0OSwKKyAgICAgNzUwLCAg
IDc1MSwgICA3NTIsICAgNzUzLCAgICA3NiwgIDEwMTIsICAxMDE0LCAgIDQ4MywgICAgIDAsICAg
NDg0LAorICAgICA0ODcsICAxMDE5LCAgIDYxMywgIDEwMjEsICAxMDIyLCAgICAgMCwgICAgOTgs
ICAgICAwLCAgIDg3MCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgNzU0LCAgIDk4NywgICA4
NzEsICAgICAwLCAgICAgMCwgICA5ODksICAgICAwLCAgICAgMCwKKyAgICAxMDcyLCAgIDYxNiwg
ICAgIDAsICAgICAwLCAgIDI3MCwgICAgOTgsICAxMDczLCAgICAgMCwgICAgIDAsICAgNzk3LAor
ICAgICAgIDAsICAgNzk3LCAgIDkxNSwgICAgIDAsICAgNzU1LCAgICAgMCwgICA3OTcsICAgICAw
LCAgIDc5NywgICAgIDAsCisgICAgIDc1NiwgICA3NTcsICAgNzU4LCAgIDM1MCwgICAzNTEsICAg
MzUyLCAgIDM1MywgICAzNTQsICAgICAwLCAgICAgMCwKKyAgICAgNzQ4LCAgICAgMCwgICA3NDks
ICAgNzUwLCAgIDc1MSwgICA3NTIsICAgNzUzLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAg
IDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICA3NTksICAgICAwLCAgICAg
MCwgICA3NjAsCisgICAgIDY3NSwgICA3NjcsICAgICAwLCAgIDkxNSwgICAgIDAsICAgNzU0LCAg
ICAgMCwgICAgIDAsICAxMDY1LCAgMTA2NywKKyAgICAxMDY4LCAgMTA2OSwgICA3OTUsICAxMDM3
LCAgIDc5NywgICAgIDAsICAgMjM2LCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgNzYsICAg
NzQ4LCAgICA3NiwgICA3NDksICAgNzUwLCAgIDc1MSwgICA3NTIsICAgNzU1LCAgICAgMCwgICAg
IDAsCisgICAgICAgMCwgICAgIDAsICAgIDc2LCAgIDc1NiwgICA3NTcsICAgNzU4LCAgIDc0OCwg
IDEwNzUsICAgNzQ5LCAgIDc1MCwKKyAgICAgNzUxLCAgIDc1MiwgICAgNzYsICAgICAwLCAgICA3
NiwgICAgNzYsICAgICAwLCAgMTA1NiwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgIDk4LCAg
IDc0OCwgICAgOTgsICAgNzQ5LCAgIDc1MCwgICA3NTEsICAgNzUyLCAgIDc1MywgICA3NTksCisg
ICAgICAgMCwgICAgIDAsICAgNzYwLCAgICA5OCwgICAgIDAsICAgMzI5LCAgICAgMCwgICAgIDAs
ICAgODcwLCAgIDUyOCwKKyAgICAgICAwLCAgIDg2MCwgICAgIDAsICAgIDk4LCAgIDc2MSwgICAg
OTgsICAgIDk4LCAgIDc1NCwgICAgNzYsICAgICAwLAorICAgICAzNDIsICAgMzQzLCAgICAgMCwg
ICA4NzAsICAgICAwLCAgICAgMCwgICA4NjksICAgICAwLCAgICAgMCwgICA5OTUsCisgICAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAw
LCAgIDc1NSwKKyAgICAgNzM1LCAgICAgMCwgICA3MzYsICAgICAwLCAgICAgMCwgICAgIDAsICAg
NzU3LCAgIDc1OCwgICAgIDAsICAgIDk4LAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgNzYs
ICAgICAwLCAgIDYxNiwgICAyNzAsICAgMzQ3LCAgIDM0OCwgICAzNDksCisgICAgIDM1MCwgICAz
NTEsICAgMzUyLCAgIDM1MywgICAzNTQsICAgICAwLCAgICA3NiwgICAgNzYsICAgICAwLCAgICAg
MCwKKyAgICAgIDc2LCAgIDc1OSwgICAgIDAsICAgIDc2LCAgICA3NiwgICAgIDAsICAgICAwLCAg
ICAgMCwgICAgIDAsICAgIDc2LAorICAgICAgNzYsICAgICAwLCAgICAgMCwgICAgIDAsICAgIDk4
LCAgICAgMCwgICAgIDAsICAgICAwLCAgIDc0OCwgICAgIDAsCisgICAgIDc0OSwgICA3NTAsICAg
NzUxLCAgIDc1MiwgICA3NTMsICAgICAwLCAgICAgMCwgICAgOTgsICAgIDk4LCAgICAgMCwKKyAg
ICAgICAwLCAgICA5OCwgICAgIDAsICAgODEwLCAgICA5OCwgICAgOTgsICAgIDc2LCAgICAgMCwg
ICAgNzYsICAgIDc2LAorICAgICAgOTgsICAgIDk4LCAgICAgMCwgICA3NTQsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAg
ICAgMCwgICAgIDAsICAgMjE2LCAgIDIxNiwgICAgIDAsICAgODMyLCAgIDMyOSwKKyAgICAgICAw
LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICA3NTUsICAgICAwLCAgICA5OCwgICAgIDAs
ICAgIDk4LAorICAgICAgOTgsICAgNzU2LCAgIDc1NywgICA3NTgsICAgMzQyLCAgIDM0MywgICAg
IDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsICAgICAwLCAgIDkzOSwgICAyNDksICAgMjUyLCAgICAgMCwKKyAgICAgICAwLCAgICAg
MCwgICAyMTYsICAgMjE2LCAgICAgMCwgICAgIDAsICAgICAwLCAgIDc1OSwgICAgIDAsICAgICAw
LAorICAgICA3NjAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDMwMCwgICAzMDEsICAg
ICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgIDM0OSwgICAzNTAs
ICAgMzUxLCAgIDM1MiwgICAzNTMsICAgMzU0LCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAg
IDAsICAgICAwLCAgICA3NiwgICAgIDAsICAgICAwLCAgIDg4MSwgICAgIDAsICAgICAwLAorICAg
ICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgMjE2LCAg
ICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgIDc2LCAgIDk4OCwgICAgIDAsICAgICAw
LCAgICAgMCwgICA5OTIsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICA3NiwgICAgOTgsICAgICAwLCAgICAgMCwgICAgIDAsICAgIDc2LAorICAgICAgNzYs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICA5MTEsICAgICAwLCAgICA3Niwg
ICAgIDAsCisgICAgICAgMCwgICAgNzYsICAgICAwLCAgICA5OCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgIDc2LCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAg
ICAgMCwgICAgOTgsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgOTgsICAgIDk4
LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgOTgs
CisgICAgICAgMCwgICAgIDAsICAgIDk4LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAg
IDAsICAgOTI1LCAgICA5OCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgMTE5LCAgIDI3MCwgICAxMTksICAgICAwLCAgIDMyOSwgIC02NDEsCisgICAg
LTY0MSwgIC02NDEsICAtNjQxLCAgIDMzNCwgICAzMzUsICAgOTQ0LCAgICA3NiwgIC02NDEsICAt
NjQxLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgMzQyLCAgIDM0MywgICAyMTYs
ICAgICAwLCAgICAgMCwgICAyMTYsICAgMjE2LAorICAgICAyMTYsICAgICAwLCAgIDMwMCwgICAg
IDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgIDc2LCAgICA3NiwgICAgIDAsCisgICAgICAgMCwg
ICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgOTgsICAgMjE2LCAg
ICAgMCwKKyAgICAgMjE2LCAgIDIxNiwgICAgIDAsICAgMTE5LCAgIDExOSwgICAgIDAsICAgICAw
LCAgIDI4MywgICAzNDUsICAgMzQ2LAorICAgICAzNDcsICAgMzQ4LCAgIDM0OSwgICAzNTAsICAg
MzUxLCAgIDM1MiwgICAzNTMsICAgMzU0LCAgICA5OCwgICAgOTgsCisgICAgICAgMCwgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgNzYsICAgICAwLCAgICA3NiwK
KyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgMjgzLCAgICAgMCwgICAgIDAsICAgICAwLCAgICA3
NiwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAg
ICAgMCwgICAzNzksICAgMzg5LCAgIDM4OSwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAw
LCAgICAgMCwgICAgIDAsICAgICAwLCAgICA3NiwgICAgIDAsICAgIDk4LCAgICAgMCwKKyAgICAg
IDk4LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAg
OTgsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgNzYsICAgICAwLCAgICAgMCwg
ICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgIDMyOSwgICAzMzAsICAgMzMxLCAgIDMz
MiwgICAzMzMsICAgMzM0LCAgIDMzNSwgICAgOTgsICAgICAwLCAgIDMzOCwKKyAgICAgMzM5LCAg
ICAgMCwgICAyMTYsICAgICAwLCAgICAgMCwgICAzNDIsICAgMzQzLCAgIDUyNywgICA1MzMsICAg
NTM0LAorICAgICA1MzUsICAgNTM2LCAgIDUzNywgICAgIDAsICAgIDk4LCAgIDUzOCwgICA1Mzks
ICAgNTQwLCAgIDU0MSwgICA1NDIsCisgICAgIDU0MywgICA1NDQsICAgNTQ1LCAgIDU0NiwgICAg
IDAsICAgICAwLCAgIDU0NywgICA1NDgsICAgNTQ5LCAgIDU1MCwKKyAgICAgNTUxLCAgIDU1Miwg
ICA1NTMsICAgNTU0LCAgIDU1NSwgICA1NTYsICAgICAwLCAgICAgMCwgICAgIDAsICAgMjE2LAor
ICAgICAzNDUsICAgMzQ2LCAgIDM0NywgICAzNDgsICAgMzQ5LCAgIDM1MCwgICAzNTEsICAgMzUy
LCAgIDM1MywgICAzNTQsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAx
MTksICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAg
ICAgMCwgICAgIDAsICAgICAwLCAgIDYwOCwKKyAgICAgNjA4LCAgICAgMCwgICAgIDAsICAgICAw
LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICA2MDgsICAgMjE2LAorICAgICAyMTYsICAg
ICAwLCAgICAgMCwgICAxMTksICAgMjE2LCAgIDExOSwgICA2MDgsICAgNjA4LCAgIDIxNiwgICAg
IDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDExOSwg
ICAgIDAsICAgMTE5LCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgIDYzMywgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAg
IDYwOCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAyODMsCisg
ICAgICAgMCwgICAgIDAsICAgICAwLCAgIDIxNiwgICAgIDAsICAgICAwLCAgIDIxNiwgICAxMTUs
ICAgICAwLCAgIDExNSwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAg
IDAsICAgICAwLCAgIDIxNiwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDExOSwgICAgIDAsCisgICAgICAg
MCwgICAgIDAsICAgICAwLCAgIDExOSwgICAgIDAsICAgNjYzLCAgICAgMCwgICAgIDAsICAgICAw
LCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgIDExOSwgICAyODMsICAgICAwLAorICAgICA1MzIsICAgICAwLCAgIDIxNiwgICAgIDAs
ICAgICAwLCAgICAgMCwgICAxMTUsICAgMTE1LCAgICAgMCwgICAgIDAsCisgICAgIDI4MSwgICAg
IDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAg
ICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgMTE5
LCAgICAgMCwgICAyODEsICAgICAwLCAgIDExOSwgICAgIDAsCisgICAgIDExOSwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDM3NywKKyAg
ICAgMzg3LCAgIDM4NywgICAzODcsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAxMTYsICAgICAwLCAgIDExNiwgICAgIDAsCisgICAgICAgMCwgICAyMTYsICAgICAwLCAg
ICAgMCwgICAgIDAsICAgMjE2LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAw
LCAgICAgMCwgICA1MzIsICAgNTMyLCAgICAgMCwgICAyMTYsICAgICAwLCAgICAgMCwgICAgIDAs
ICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgIDgzLCAgICAgMCwgICAg
ODMsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgMjE2LCAgICAgMCwg
ICAyMTYsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAxMTYsICAgMTE2LCAgIDIxNiwgICAyMTYsICAgMjgy
LAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAxMTksICAgICAwLCAgICAgMCwgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAg
IDAsICAgIDgzLCAgICA4MywgICAyODIsICAgICAwLCAgICAgMCwgICAyODMsICAgICAwLAorICAg
ICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAg
IDM3OCwgICAzODgsCisgICAgIDM4OCwgICAzODgsICAgICAwLCAgIDExNSwgICAgIDAsICAgMjE2
LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgNjA4LCAgIDgxMywgICAgIDAsICAg
MjE2LCAgICAgMCwgICAgIDAsICAgNjA4LCAgIDYwOCwgICAgIDAsICAgICAwLAorICAgICAgIDAs
ICAgICAwLCAgIDYwOCwgICA2MDgsICAgICAwLCAgICAgMCwgICAzNzQsICAgICAwLCAgICAgMCwg
ICAgIDAsCisgICAgIDIxNiwgICAgIDAsICAgMjgzLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDEx
NSwgICAgIDAsICAgMTE1LCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAg
ICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgMTE1LAorICAgICAgIDAsICAgMTE1
LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAs
CisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICA2
MDgsICAgNjA4LCAgICAgMCwKKyAgICAgNjA4LCAgIDYwOCwgICAyODEsICAgICAwLCAgIDMyOSwg
ICAzMzAsICAgMzMxLCAgIDMzMiwgICAzMzMsICAgMzM0LAorICAgICAzMzUsICAgMzM2LCAgICAg
MCwgICAzMzgsICAgMzM5LCAgICAgMCwgICAxMTksICAgICAwLCAgIDExOSwgICAzNDIsCisgICAg
IDM0MywgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgIDIxNiwKKyAgICAgICAwLCAgIDExNSwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAs
ICAgMTE1LCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAxMTksICAgICAwLCAgIDExNiwgICAg
IDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgIDExNSwg
ICAyODEsICAgICAwLCAgICAgMCwgICAzNDUsICAgMzQ2LCAgIDM0NywgICAzNDgsICAgMzQ5LCAg
IDM1MCwKKyAgICAgMzUxLCAgIDM1MiwgICAzNTMsICAgMzU0LCAgICAgMCwgICAgIDAsICAgICAw
LCAgICAgMCwgICAyMTYsICAgICAwLAorICAgICAgODMsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgIDExNiwgICAgIDAsICAgMTE2LCAgIDkxMywgICAgIDAsCisgICAgICAgMCwgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgNjA4LCAgIDI4MywgICAxMTUsICAgMTE2LCAgICAgMCwK
KyAgICAgMTE2LCAgIDExNSwgICAgIDAsICAgMTE1LCAgICAgMCwgICA3ODYsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgODMsICAgICAwLCAg
ICA4MywgICAgIDAsICAgICAwLCAgICAgMCwgICAxMTksCisgICAgIDIxNiwgICAyODIsICAgICAw
LCAgICAgMCwgICAgIDAsICAgICAwLCAgICA4MywgICAgIDAsICAgIDgzLCAgICAgMCwKKyAgICAg
ICAwLCAgIDI4MywgICAxMTksICAgNTMyLCAgICAgMCwgICAgIDAsICAgNjA4LCAgIDIxNiwgICAg
IDAsICAgNTMyLAorICAgICA1MzIsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDUzMiwg
ICA1MzIsICAgMjE2LCAgICAgMCwgICAgIDAsCisgICAgIDExNiwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgMTE2LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAg
ICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
MTE2LAorICAgICAyODIsICAgICAwLCAgIDExOSwgICAgIDAsICAgICAwLCAgIDExOSwgIC02NDAs
ICAgICAwLCAgICA4MywgICAgIDAsCisgICAgIDExOCwgICAgIDAsICAgMTE4LCAgICA4MywgIC02
NDAsICAtNjQwLCAgLTY0MCwgICAgIDAsICAgICAwLCAgLTY0MCwKKyAgICAtNjQwLCAgLTY0MCwg
ICAgIDAsICAtNjQwLCAgIDExNSwgICAgIDAsICAgICAwLCAgICA4MywgICAgIDAsICAgICAwLAor
ICAgICA1MjYsICAgICAwLCAgLTY0MCwgIC02NDAsICAgICAwLCAgICAgMCwgICAxMTYsICAgICAw
LCAgICAgMCwgICAgIDAsCisgICAgIDExNiwgICAyODEsICAgMTE2LCAgLTY0MCwgIC02NDAsICAg
ICAwLCAgLTY0MCwgIC02NDAsICAtNjQwLCAgLTY0MCwKKyAgICAtNjQwLCAgICAgMCwgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgMTE4LAorICAgICAx
MTgsICAgICAwLCAgICAgMCwgICAgIDAsICAgIDgzLCAgICAgMCwgICAgIDAsICAgICAwLCAgICA4
MywgICAgIDAsCisgICAgICA4MywgICAgIDAsICAgICAwLCAgICAgMCwgIC02NDAsICAgICAwLCAg
ICAgMCwgICAgIDAsICAgICAwLCAgIDM4OSwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAw
LCAgICAgMCwgICAyODEsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAxMTksICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAg
IDAsCisgICAgLTY0MCwgIC02NDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsICAgNTMyLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICA1MjYsICAgNTI2LCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAxMTksICAgICAwLCAg
ICAgMCwgICAgIDAsICAtNjQwLCAgIDExOSwgICAyMTYsICAgICAwLCAgICAgMCwgICAgIDAsCisg
ICAgICAgMCwgICAgIDAsICAgICAwLCAgIDExNiwgICAxMTksICAgICAwLCAgICAgMCwgICAxMTks
ICAgICAwLCAgIDExNSwKKyAgICAgICAwLCAgIDExNSwgICAgIDAsICAgICAwLCAgIDExOSwgICAg
IDAsICAgICAwLCAgLTY0MCwgIC02NDAsICAgICAwLAorICAgICAyODIsICAgICAwLCAgIDIzMiwg
IC02NDAsICAgICAwLCAgLTY0MCwgICAgIDAsICAtNjQwLCAgICAgMCwgICAgIDAsCisgICAgICAg
MCwgICAgODMsICAgICAwLCAgIDExNSwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAw
LCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgMzg5LAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAg
IDAsICAgICAwLCAgICAgMCwgICAyODIsICAgICAwLCAgICAgMCwgICAgIDAsICAgOTgwLCAgICAg
MCwKKyAgICAgICAwLCAgICAgMCwgICAxMTksICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAg
ICAgMCwgICAgIDAsICAgMjgxLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAw
LCAgICAgMCwgICAxMTgsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAg
ICAwLCAgIDExOSwgICAxMTksICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAg
ICAgICAwLCAgICAgMCwgICAxMTUsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgMjgxLCAgIDEx
NSwgICAgIDAsICAgICAwLCAgIDExNiwgICAxMTgsCisgICAgIDExNiwgICAxMTgsICAgICAwLCAg
ICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAw
LCAgICAgMCwgICAxMTgsICAgMTE5LCAgIDExOCwgICAxMTksICAgICAwLCAgICAgMCwgICAgIDAs
ICAgICAwLAorICAgICAgIDAsICAgICAwLCAgIDExNiwgICAxMTksICAgICAwLCAgICAgMCwgICAg
ODMsICAgICAwLCAgICA4MywgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsICAgMTE1LCAgICAgMCwgICAgIDAsICAgMTE1LCAgICAgMCwKKyAgICAgICAwLCAgICAg
MCwgICAxMTksICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAw
LAorICAgICAgODMsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAxMTgs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgMjgyLCAgIDExOCwKKyAgICAgICAwLCAgICAgMCwgICAg
IDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAg
ICAgIDAsICAgICAwLCAgICAgMCwgICAxMTgsICAgICAwLCAgICAgMCwgICAxMTgsICAgICAwLCAg
ICAgMCwgICAgIDAsCisgICAgICAgMCwgICAxMTYsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAw
LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAg
MjgyLCAgIDExNiwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAs
ICAgICAwLCAgIDM4NywgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgODMsCisgICAgIDExOCwgICAgIDAsICAgICAwLCAgIDExNSwgICAxMTgsICAgICAwLCAgIDEx
OCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgODMsICAgNTI2LCAg
ICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgNTI2LAorICAgICA1MjYsICAgICAw
LCAgICAgMCwgICAgIDAsICAgMTE2LCAgIDUyNiwgICA1MjYsICAgMTE2LCAgICAgMCwgICAgIDAs
CisgICAgICAgMCwgICAgIDAsICAgICAwLCAgIDExNSwgICAgIDAsICAgNjgyLCAgICAgMCwgICAg
IDAsICAgMTE1LCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsICAgICAwLCAgIDExNSwgICAxMTgsICAgMTE4LAorICAgICAxMTUsICAgICAwLCAgICA4
MywgICAgIDAsICAgICAwLCAgICA4MywgICAgIDAsICAgMTE1LCAgICAgMCwgICAgIDAsCisgICAg
ICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
MzI5LCAgIDMzMCwKKyAgICAgMzMxLCAgIDMzMiwgICAzMzMsICAgMzM0LCAgIDMzNSwgICAzMzYs
ICAgMzM3LCAgIDMzOCwgICAzMzksICAgMzQwLAorICAgICAzNDEsICAgICAwLCAgICAgMCwgICAz
NDIsICAgMzQzLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwg
ICAgIDAsICAgMzg3LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAxMTgsICAgICAwLCAg
ICAgMCwKKyAgICAgICAwLCAgIDM4OCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAw
LCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgOTc4LCAgIDExNiwgICAgIDAsICAg
ICAwLCAgIDExNSwgICAzNDQsICAgICAwLCAgIDM0NSwgICAzNDYsCisgICAgIDM0NywgICAzNDgs
ICAgMzQ5LCAgIDM1MCwgICAzNTEsICAgMzUyLCAgIDM1MywgICAzNTQsICAgICAwLCAgICAgMCwK
KyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgIC0yNTIsICAgMTE1LCAgIDEx
NSwgICAgIDAsICAgICAwLAorICAgICAgODMsICAgICAwLCAgIDExNiwgICAgIDAsICAgICAwLCAg
ICAgMCwgICAgIDAsICAgMTE2LCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAw
LCAgICAgMCwgICAgIDAsICAgICAwLCAgIDExNiwgICAgIDAsICAgNTI2LCAgIDExNiwKKyAgICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgMTE2LCAgICAgMCwgICAg
IDAsICAgICAwLAorICAgICAgODMsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICA4Mywg
ICAxMTUsICAgICAwLCAgIDExNSwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgODMsICAgICAwLCAgIDExNSwgICAgODMsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAg
ICAgMCwgICAgIDAsICAgICAwLCAgICA4MywgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLAorICAgICAgIDAsICAgMzg4LCAgICAgMCwgICAgIDAsICAgICAwLCAgIDExNSwgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgMTE4LCAgICAgMCwgICAx
MTgsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgOTc5LCAgICAgMCwg
ICAgIDAsICAgICAwLCAgIDExNiwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAor
ICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAxMTgsICAgICAw
LCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
MTE2LCAgIDExNiwgICAgIDAsICAgOTc2LCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgODMs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAg
IDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICA4MywgICAgODMsICAgICAwLCAg
ICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAw
LCAgICAgMCwgICAxMTYsICAgICAwLCAgIDExNiwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDExNiwgICAgIDAsICAgICAwLCAgICAgMCwgICAg
IDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgMTE4LCAgICAgMCwg
ICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgIDgzLCAgIDEx
NiwgICAgODMsICAgICAwLCAgICAgMCwgICAxMTgsICAgMTE4LAorICAgICAgIDUsICAgICA2LCAg
ICAgNywgICAgODMsICAgICA5LCAgIDExOCwgICAxMTgsICAgICAwLCAgICAxMCwgICAgMTEsCisg
ICAgICAgMCwgICAxMTgsICAgMTE4LCAgICAxMiwgICAgIDAsICAgIDEzLCAgICAxNCwgICAgMTUs
ICAgMjQ0LCAgIDI0NSwKKyAgICAgIDE4LCAgICAxOSwgICAgODMsICAgICAwLCAgICAgMCwgICAg
IDAsICAgICAwLCAgICAyMCwgICAyNDYsICAgMjQ3LAorICAgICAgMjMsICAgIDI0LCAgICAyNSwg
ICAgMjYsICAgICAwLCAgICAgMCwgICAyMDUsICAgICAwLCAgIDExOCwgICAgIDAsCisgICAgICAg
MCwgICAxMTgsICAgICAwLCAgIDI3NCwgICAgIDAsICAgICAwLCAgICAzMiwgICAgMzMsICAgIDM0
LCAgICAzNSwKKyAgICAgIDM2LCAgICAzNywgICAgMzgsICAgIDM5LCAgICA0MCwgICAgIDAsICAg
IDQxLCAgICA0MiwgICAgNDMsICAgIDQ0LAorICAgICAgIDAsICAgIDQ1LCAgICA0NiwgICAgNDcs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAg
IDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAg
ICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAyNzUsICAgICAw
LCAgICAgMCwgICAyMDgsICAgIDUyLCAgICAgMCwgICAgNTMsCisgICAgICA1NCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgIDU2LCAgICA1NywgICAgNTgsICAgIDU5LCAgICA2MCwKKyAg
ICAgIDYxLCAgICA2MiwgICAgNjMsICAgIDY0LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgLTYxOCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAxMTgsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgLTYxOCwgIC02MTgsICAtNjE4LCAg
ICAgMCwgICAyNzYsICAtNjE4LCAgLTYxOCwgIC02MTgsICAgICAwLCAgLTYxOCwKKyAgICAgICAw
LCAgIDI3NywgICAgIDAsICAgICAwLCAgIDExOCwgICAgIDAsICAgICAwLCAgICAgMCwgIC02MTgs
ICAtNjE4LAorICAgIC02MTgsICAtNjE4LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAx
MTgsICAgICAwLCAgICAgMCwgIC02MTgsCisgICAgLTYxOCwgICAxMTgsICAtNjE4LCAgLTYxOCwg
IC02MTgsICAtNjE4LCAgLTYxOCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgMTE4LCAgICAg
MCwgICAgIDAsICAgMTE4LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAw
LAorICAgICAxMTgsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsCisgICAgLTYxOCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgLTYxOCwKKyAgICAtNjE4LCAgLTYxOCwgIC02
MTgsICAtNjE4LCAgLTYxOCwgIC02MTgsICAtNjE4LCAgLTYxOCwgIC02MTgsICAtNjE4LAorICAg
IC02MTgsICAtNjE4LCAgICAgMCwgICAgIDAsICAtNjE4LCAgLTYxOCwgIC02MTgsICAtNjE4LCAg
ICAgMCwgICA3MzgsCisgICAgLTYxOCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAw
LCAgLTYxOCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAxMTgsICAgICAwLAorICAgIC02MTgs
ICAgICAwLCAgICAgMCwgIC02MTgsICAgICAwLCAgICAgMCwgIC0xMTEsICAtNjE4LCAgLTYxOCwg
IC02MTgsCisgICAgLTYxOCwgIC02MTgsICAtNjE4LCAgLTYxOCwgIC02MTgsICAtNjE4LCAgLTYx
OCwgIC02MTgsICAtNjE4LCAgIDExOCwKKyAgICAgMTE4LCAgICAgMCwgICAgIDAsICAtNjE4LCAg
LTYxOCwgIC02MTgsICAtNjE4LCAgICAgMCwgICAgIDAsICAtNjE4LAorICAgIC02MTgsICAtNjE4
LCAgICAgMCwgIC02MTgsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAs
CisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgIC02NDAsICAgICA0LCAgICAgMCwgICAg
IDUsICAgICA2LCAgICAgNywKKyAgICAgICA4LCAgICAgOSwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgMTAsICAgIDExLCAgICAgMCwgICAgIDAsICAgMTE4LAorICAgICAgMTIsICAgMTE4LCAgICAx
MywgICAgMTQsICAgIDE1LCAgICAxNiwgICAgMTcsICAgIDE4LCAgICAxOSwgICAxMTgsCisgICAg
ICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgMjAsICAgIDIxLCAgICAyMiwgICAgMjMsICAg
IDI0LCAgICAyNSwKKyAgICAgIDI2LCAgICAgMCwgICAgIDAsICAgIDI3LCAgICAgMCwgICAgIDAs
ICAgICAwLCAgICAgMCwgICAxMTgsICAgIDI4LAorICAgICAgMjksICAgIDMwLCAgICAzMSwgICAg
MzIsICAgIDMzLCAgICAzNCwgICAgMzUsICAgIDM2LCAgICAzNywgICAgMzgsCisgICAgICAzOSwg
ICAgNDAsICAgICAwLCAgICA0MSwgICAgNDIsICAgIDQzLCAgICA0NCwgICAgIDAsICAgIDQ1LCAg
ICA0NiwKKyAgICAgIDQ3LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAw
LCAgICAgMCwgICAgIDAsICAgIDQ4LAorICAgICAgNDksICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwK
KyAgICAgIDUwLCAgICAgMCwgICAgIDAsICAgIDUxLCAgICA1MiwgICAgIDAsICAgIDUzLCAgICA1
NCwgICAgIDAsICAgIDU1LAorICAgICAgIDAsICAgICAwLCAgICA1NiwgICAgNTcsICAgIDU4LCAg
ICA1OSwgICAgNjAsICAgIDYxLCAgICA2MiwgICAgNjMsCisgICAgICA2NCwgIC01MTYsICAgICAw
LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgLTUxNiwKKyAgICAt
NTE2LCAgLTUxNiwgICAgIDAsICAgICAwLCAgLTUxNiwgIC01MTYsICAtNTE2LCAgICAgMCwgIC01
MTYsICAgICAwLAorICAgICAgIDAsICAgIDY1LCAgICA2NiwgICAgNjcsICAgICAwLCAgICAgMCwg
IC01MTYsICAgICAwLCAgLTUxNiwgIC01MTYsCisgICAgLTUxNiwgICAgIDAsICAgICAwLCAgLTY0
MCwgICAgIDAsICAtNjQwLCAgICAgMCwgICAgIDAsICAtNTE2LCAgLTUxNiwKKyAgICAgICAwLCAg
LTUxNiwgIC01MTYsICAtNTE2LCAgLTUxNiwgIC01MTYsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAzMjks
ICAgMzMwLCAgIDMzMSwgICAzMzIsCisgICAgIDMzMywgICAzMzQsICAgMzM1LCAgIDMzNiwgICAz
MzcsICAgMzM4LCAgIDMzOSwgICAzNDAsICAgMzQxLCAgLTUxNiwKKyAgICAgICAwLCAgIDM0Miwg
ICAzNDMsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgIC01MTYsICAtNTE2LAor
ICAgIC01MTYsICAtNTE2LCAgLTUxNiwgIC01MTYsICAtNTE2LCAgLTUxNiwgIC01MTYsICAtNTE2
LCAgLTUxNiwgIC01MTYsCisgICAgLTUxNiwgICAgIDAsICAgICAwLCAgLTUxNiwgIC01MTYsICAt
NTE2LCAgLTUxNiwgICAgIDAsICAtNTE2LCAgLTUxNiwKKyAgICAgICAwLCAgICAgMCwgICAgIDAs
ICAgICAwLCAgIDM0NCwgIC01MTYsICAgMzQ1LCAgIDM0NiwgICAzNDcsICAgMzQ4LAorICAgICAz
NDksICAgMzUwLCAgIDM1MSwgICAzNTIsICAgMzUzLCAgIDM1NCwgICAgIDAsICAgICAwLCAgICAg
MCwgIC01MTYsCisgICAgICAgMCwgICAgIDAsICAtNTE2LCAgICAgMCwgICAgIDAsICAtNTE2LCAg
LTUxNiwgIC01MTYsICAtNTE2LCAgLTUxNiwKKyAgICAtNTE2LCAgLTUxNiwgIC01MTYsICAtNTE2
LCAgLTUxNiwgIC01MTYsICAtNTE2LCAgLTUxNiwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAg
ICAwLCAgICAgMCwgIC01MTYsICAtNTE2LCAgLTUxNiwgIC01MTksICAgICAwLCAgLTUxNiwgIC01
MTYsCisgICAgLTUxNiwgICAgIDAsICAtNTE2LCAgICAgMCwgIC01MTksICAtNTE5LCAgLTUxOSwg
ICAgIDAsICAgICAwLCAgLTUxOSwKKyAgICAtNTE5LCAgLTUxOSwgICAgIDAsICAtNTE5LCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICA2ODIsICAgICAwLAorICAgICAgIDAsICAtNTE5LCAg
ICAgMCwgIC01MTksICAtNTE5LCAgLTUxOSwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisg
ICAgICAgMCwgICAgIDAsICAgICAwLCAgLTUxOSwgIC01MTksICAgICAwLCAgLTUxOSwgIC01MTks
ICAtNTE5LCAgLTUxOSwKKyAgICAtNTE5LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAg
IDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgMzI5LCAgIDMzMCwg
ICAzMzEsICAgMzMyLCAgIDMzMywgICAzMzQsICAgMzM1LCAgIDMzNiwgICAzMzcsCisgICAgIDMz
OCwgICAzMzksICAgMzQwLCAgIDM0MSwgIC01MTksICAgICAwLCAgIDM0MiwgICAzNDMsICAgICAw
LCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAtNTE5LCAgLTUxOSwgIC01MTksICAt
NTE5LCAgLTUxOSwgIC01MTksICAtNTE5LAorICAgIC01MTksICAtNTE5LCAgLTUxOSwgIC01MTks
ICAtNTE5LCAgLTUxOSwgICAgIDAsICAgICAwLCAgLTUxOSwgIC01MTksCisgICAgLTUxOSwgIC01
MTksICAgICAwLCAgLTUxOSwgIC01MTksICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDM0
NCwKKyAgICAtNTE5LCAgIDM0NSwgICAzNDYsICAgMzQ3LCAgIDM0OCwgICAzNDksICAgMzUwLCAg
IDM1MSwgICAzNTIsICAgMzUzLAorICAgICAzNTQsICAgICAwLCAgICAgMCwgICAgIDAsICAtNTE5
LCAgICAgMCwgICAgIDAsICAtNTE5LCAgICAgMCwgICAgIDAsCisgICAgLTUxOSwgIC01MTksICAt
NTE5LCAgLTUxOSwgIC01MTksICAtNTE5LCAgLTUxOSwgIC01MTksICAtNTE5LCAgLTUxOSwKKyAg
ICAtNTE5LCAgLTUxOSwgIC01MTksICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
IC01MTksICAtNTE5LAorICAgIC01MTksICAtNjE5LCAgICAgMCwgIC01MTksICAtNTE5LCAgLTUx
OSwgICAgIDAsICAtNTE5LCAgICAgMCwgIC02MTksCisgICAgLTYxOSwgIC02MTksICAgICAwLCAg
ICAgMCwgIC02MTksICAtNjE5LCAgLTYxOSwgICAgIDAsICAtNjE5LCAgICAgMCwKKyAgICAgICAw
LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgLTYxOSwgIC02MTks
ICAtNjE5LAorICAgIC02MTksICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAg
IDAsICAgICAwLCAgLTYxOSwgIC02MTksCisgICAgICAgMCwgIC02MTksICAtNjE5LCAgLTYxOSwg
IC02MTksICAtNjE5LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgMzI5LCAgIDMzMCwgICAzMzEsICAgMzMy
LAorICAgICAzMzMsICAgMzM0LCAgIDMzNSwgICAzMzYsICAgMzM3LCAgIDMzOCwgICAzMzksICAt
NjQxLCAgLTY0MSwgIC02MTksCisgICAgICAgMCwgICAzNDIsICAgMzQzLCAgICAgMCwgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAtNjE5LCAgLTYxOSwKKyAgICAtNjE5LCAgLTYxOSwgIC02
MTksICAtNjE5LCAgLTYxOSwgIC02MTksICAtNjE5LCAgLTYxOSwgIC02MTksICAtNjE5LAorICAg
IC02MTksICAgICAwLCAgICAgMCwgIC02MTksICAtNjE5LCAgLTYxOSwgIC02MTksICAgICAwLCAg
ICAgMCwgIC02MTksCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAtNjE5
LCAgIDM0NSwgICAzNDYsICAgMzQ3LCAgIDM0OCwKKyAgICAgMzQ5LCAgIDM1MCwgICAzNTEsICAg
MzUyLCAgIDM1MywgICAzNTQsICAgICAwLCAgICAgMCwgICAgIDAsICAtNjE5LAorICAgICAgIDAs
ICAgICAwLCAgLTYxOSwgICAgIDAsICAgICAwLCAgICAgMCwgIC02MTksICAtNjE5LCAgLTYxOSwg
IC02MTksCisgICAgLTYxOSwgIC02MTksICAtNjE5LCAgLTYxOSwgIC02MTksICAtNjE5LCAgLTYx
OSwgIC02MTksICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgIC02MTksICAtNjE5LCAg
LTYxOSwgIC02MTksICAtNjIwLCAgICAgMCwgIC02MTksICAtNjE5LAorICAgIC02MTksICAgICAw
LCAgLTYxOSwgICAgIDAsICAtNjIwLCAgLTYyMCwgIC02MjAsICAgICAwLCAgICAgMCwgIC02MjAs
CisgICAgLTYyMCwgIC02MjAsICAgICAwLCAgLTYyMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAg
IDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgIC02MjAsICAtNjIwLCAgLTYyMCwg
IC02MjAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAg
MCwgIC02MjAsICAtNjIwLCAgICAgMCwgIC02MjAsICAtNjIwLCAgLTYyMCwgIC02MjAsCisgICAg
LTYyMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAg
IDAsICAtNjIwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwg
ICAgIDAsICAgICAwLCAgLTYyMCwgIC02MjAsICAtNjIwLCAgLTYyMCwgIC02MjAsICAtNjIwLCAg
LTYyMCwKKyAgICAtNjIwLCAgLTYyMCwgIC02MjAsICAtNjIwLCAgLTYyMCwgIC02MjAsICAgICAw
LCAgICAgMCwgIC02MjAsICAtNjIwLAorICAgIC02MjAsICAtNjIwLCAgICAgMCwgICAgIDAsICAt
NjIwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgLTYyMCwgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwK
KyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgLTYyMCwgICAgIDAsICAgICAwLCAgLTYy
MCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAtNjIwLCAgLTYyMCwgIC02MjAsICAtNjIwLCAg
LTYyMCwgIC02MjAsICAtNjIwLCAgLTYyMCwgIC02MjAsCisgICAgLTYyMCwgIC02MjAsICAtNjIw
LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgIC02MjAsICAtNjIwLCAgLTYyMCwKKyAgICAt
NjIwLCAgLTMwNCwgICAgIDAsICAtNjIwLCAgLTYyMCwgIC02MjAsICAgICAwLCAgLTYyMCwgICAg
IDAsICAtMzA0LAorICAgIC0zMDQsICAtMzA0LCAgICAgMCwgICAgIDAsICAtMzA0LCAgLTMwNCwg
IC0zMDQsICAgICAwLCAgLTMwNCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAtMzA0LCAgLTMwNCwKKyAgICAtMzA0LCAg
ICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgIC0zMDQsICAt
MzA0LAorICAgICAgIDAsICAtMzA0LCAgLTMwNCwgIC0zMDQsICAtMzA0LCAgLTMwNCwgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAg
IDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwg
ICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAtMzA0LAor
ICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAw
LCAgLTMwNCwgIC0zMDQsCisgICAgLTMwNCwgIC0zMDQsICAtMzA0LCAgLTMwNCwgIC0zMDQsICAt
MzA0LCAgLTMwNCwgIC0zMDQsICAtMzA0LCAgLTMwNCwKKyAgICAtMzA0LCAgICAgMCwgICAgIDAs
ICAtMzA0LCAgLTMwNCwgIC0zMDQsICAtMzA0LCAgICAgMCwgICA3MzksICAtMzA0LAorICAgICAg
IDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgLTMwNCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAg
ICAgMCwgICAgIDAsICAgICAwLCAgLTMwNCwKKyAgICAgICAwLCAgICAgMCwgIC0zMDQsICAgICAw
LCAgICAgMCwgIC0xMTMsICAtMzA0LCAgLTMwNCwgIC0zMDQsICAtMzA0LAorICAgIC0zMDQsICAt
MzA0LCAgLTMwNCwgIC0zMDQsICAtMzA0LCAgLTMwNCwgIC0zMDQsICAtMzA0LCAgICAgMCwgICAg
IDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgLTMwNCwgIC0zMDQsICAtMzA0LCAgLTQ0MCwg
ICAgIDAsICAtMzA0LCAgLTMwNCwKKyAgICAtMzA0LCAgICAgMCwgIC0zMDQsICAgICAwLCAgLTQ0
MCwgIC00NDAsICAtNDQwLCAgICAgMCwgICAgIDAsICAtNDQwLAorICAgIC00NDAsICAtNDQwLCAg
ICAgMCwgIC00NDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisg
ICAgICAgMCwgICAgIDAsICAtNDQwLCAgLTQ0MCwgIC00NDAsICAgICAwLCAgICAgMCwgICAgIDAs
ICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAtNDQwLCAgLTQ0MCwgICAg
IDAsICAtNDQwLCAgLTQ0MCwgIC00NDAsICAtNDQwLAorICAgIC00NDAsICAgICAwLCAgICAgMCwg
ICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAw
LCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgLTQ0MCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgIC00NDAs
ICAtNDQwLCAgLTQ0MCwgIC00NDAsICAtNDQwLCAgLTQ0MCwgIC00NDAsCisgICAgLTQ0MCwgIC00
NDAsICAtNDQwLCAgLTQ0MCwgIC00NDAsICAtNDQwLCAgICAgMCwgICAgIDAsICAtNDQwLCAgLTQ0
MCwKKyAgICAtNDQwLCAgLTQ0MCwgICAgIDAsICAgICAwLCAgLTQ0MCwgICAgIDAsICAgICAwLCAg
ICAgMCwgICAgIDAsICAgICAwLAorICAgIC00NDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAw
LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgIC00NDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAg
ICAgICAwLCAgLTQ0MCwgICAgIDAsICAtNDQwLCAgLTQ0MCwgIC00NDAsICAtNDQwLCAgLTQ0MCwg
IC00NDAsICAtNDQwLAorICAgIC00NDAsICAtNDQwLCAgLTQ0MCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAtNDQwLCAgLTQ0MCwgIC00NDAsCisgICAgLTQ0MCwgIC0yOTYsICAgMjMyLCAg
LTQ0MCwgIC00NDAsICAtNDQwLCAgICAgMCwgIC00NDAsICAgICAwLCAgLTI5NiwKKyAgICAtMjk2
LCAgLTI5NiwgICAgIDAsICAgICAwLCAgLTI5NiwgIC0yOTYsICAtMjk2LCAgICAgMCwgIC0yOTYs
ICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAg
IDAsICAgICAwLCAgLTI5NiwgIC0yOTYsCisgICAgLTI5NiwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAtMjk2LCAgLTI5NiwKKyAgICAgICAwLCAgLTI5
NiwgIC0yOTYsICAtMjk2LCAgLTI5NiwgIC0yOTYsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAw
LAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgLTI5NiwKKyAgICAgICAwLCAgICAgMCwgICAg
IDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgIC0yOTYsICAtMjk2LAorICAg
IC0yOTYsICAtMjk2LCAgLTI5NiwgIC0yOTYsICAtMjk2LCAgLTI5NiwgIC0yOTYsICAtMjk2LCAg
LTI5NiwgIC0yOTYsCisgICAgLTI5NiwgICAgIDAsICAgICAwLCAgLTI5NiwgIC0yOTYsICAtMjk2
LCAgLTI5NiwgICAgIDAsICAgICAwLCAgLTI5NiwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgIC0yOTYsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
IC0yOTYsCisgICAgICAgMCwgICAgIDAsICAtMjk2LCAgICAgMCwgICAgIDAsICAgICAwLCAgLTI5
NiwgIC0yOTYsICAtMjk2LCAgLTI5NiwKKyAgICAtMjk2LCAgLTI5NiwgIC0yOTYsICAtMjk2LCAg
LTI5NiwgIC0yOTYsICAtMjk2LCAgLTI5NiwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAw
LCAgICAgMCwgIC0yOTYsICAtMjk2LCAgLTI5NiwgIC02NDAsICAgICAwLCAgLTI5NiwgIC0yOTYs
CisgICAgLTI5NiwgICAgIDAsICAtMjk2LCAgICAgMCwgIC02NDAsICAtNjQwLCAgLTY0MCwgICAg
IDAsICAgICAwLCAgLTY0MCwKKyAgICAtNjQwLCAgLTY0MCwgICAgIDAsICAtNjQwLCAgICAgMCwg
ICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgLTY0
MCwgIC02NDAsICAtNjQwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAg
ICAgMCwgICAgIDAsICAgICAwLCAgLTY0MCwgIC02NDAsICAgICAwLCAgLTY0MCwgIC02NDAsICAt
NjQwLCAgLTY0MCwKKyAgICAtNjQwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAg
IDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwg
ICAgIDAsICAgICAwLCAgICAgMCwgIC02NDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAg
ICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAtNjQwLCAgLTY0MCwgIC02NDAsICAtNjQw
LCAgLTY0MCwgIC02NDAsICAtNjQwLAorICAgIC02NDAsICAtNjQwLCAgLTY0MCwgIC02NDAsICAt
NjQwLCAgLTY0MCwgICAgIDAsICAgICAwLCAgLTY0MCwgIC02NDAsCisgICAgLTY0MCwgIC02NDAs
ICAgICAwLCAgICAgMCwgIC02NDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwK
KyAgICAtNjQwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAtNjQwLCAg
ICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgIC02NDAsICAgICAw
LCAgLTY0MCwgIC02NDAsICAtNjQwLCAgLTY0MCwgIC02NDAsICAtNjQwLCAgLTY0MCwKKyAgICAt
NjQwLCAgLTY0MCwgIC02NDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgLTY0MCwgIC02
NDAsICAtNjQwLAorICAgIC02NDAsICAtMzExLCAgIDIzMiwgIC02NDAsICAtNjQwLCAgLTY0MCwg
ICAgIDAsICAtNjQwLCAgICAgMCwgIC0zMTEsCisgICAgLTMxMSwgIC0zMTEsICAgICAwLCAgICAg
MCwgIC0zMTEsICAtMzExLCAgLTMxMSwgICAgIDAsICAtMzExLCAgICAgMCwKKyAgICAgICAwLCAg
ICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgIC0zMTEsICAt
MzExLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAs
ICAgICAwLCAgLTMxMSwgIC0zMTEsCisgICAgICAgMCwgIC0zMTEsICAtMzExLCAgLTMxMSwgIC0z
MTEsICAtMzExLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwg
ICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAor
ICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAw
LCAgICAgMCwgIC0zMTEsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAtMzExLCAgLTMxMSwKKyAgICAtMzExLCAgLTMxMSwgIC0zMTEs
ICAtMzExLCAgLTMxMSwgIC0zMTEsICAtMzExLCAgLTMxMSwgIC0zMTEsICAtMzExLAorICAgIC0z
MTEsICAgICAwLCAgICAgMCwgIC0zMTEsICAtMzExLCAgLTMxMSwgIC0zMTEsICAgICAwLCAgICAg
MCwgIC0zMTEsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAtMzExLCAg
ICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAw
LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAtMzExLAorICAgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgIC0zMTEsICAgICAwLCAgLTMxMSwgIC0z
MTEsCisgICAgLTMxMSwgIC0zMTEsICAtMzExLCAgLTMxMSwgIC0zMTEsICAtMzExLCAgLTMxMSwg
IC0zMTEsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAtMzExLCAgLTMx
MSwgIC0zMTEsICAtNjE4LCAgIDIyOSwgIC0zMTEsICAtMzExLAorICAgIC0zMTEsICAgICAwLCAg
LTMxMSwgICAgIDAsICAtNjE4LCAgLTYxOCwgIC02MTgsICAgICAwLCAgICAgMCwgICAgIDAsCisg
ICAgLTYxOCwgIC02MTgsICAgICAwLCAgLTYxOCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAs
ICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgIC02MTgsICAgICAwLCAgICAgMCwgICAg
IDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwg
IC02MTgsICAtNjE4LCAgICAgMCwgIC02MTgsICAtNjE4LCAgLTYxOCwgIC02MTgsCisgICAgLTYx
OCwgICAgIDAsICAgICAwLCAgICAgMCwgICAzMjksICAgMzMwLCAgIDMzMSwgICAzMzIsICAgMzMz
LCAgIDMzNCwKKyAgICAgMzM1LCAgIDMzNiwgICAzMzcsICAgMzM4LCAgIDMzOSwgICAzNDAsICAg
MzQxLCAgICAgMCwgICAgIDAsICAgMzQyLAorICAgICAzNDMsICAgICAwLCAgICAgMCwgICAgIDAs
ICAtNjE4LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAg
IDAsICAgICAwLCAgLTYxOCwgIC02MTgsICAtNjE4LCAgLTYxOCwgIC02MTgsICAtNjE4LCAgLTYx
OCwKKyAgICAtNjE4LCAgLTYxOCwgIC02MTgsICAtNjE4LCAgLTYxOCwgIC02MTgsICAgICAwLCAg
ICAgMCwgIC02MTgsICAtNjE4LAorICAgIC02MTgsICAtNjE4LCAgIDM0NCwgICA2ODcsICAgMzQ1
LCAgIDM0NiwgICAzNDcsICAgMzQ4LCAgIDM0OSwgICAzNTAsCisgICAgIDM1MSwgICAzNTIsICAg
MzUzLCAgIDM1NCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAg
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgLTYxOCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAyMzYsICAgICAwLAorICAgIC0xMTEsICAtNjE4LCAgICAgMCwgIC02MTgsICAtNjE4LCAgLTYx
OCwgIC02MTgsICAtNjE4LCAgLTYxOCwgIC02MTgsCisgICAgLTYxOCwgIC02MTgsICAtNjE4LCAg
ICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgIC02MTgsICAtNjE4LCAgLTYxOCwKKyAgICAtMTAy
LCAgLTYxOCwgICAgIDAsICAtNjE4LCAgICAgMCwgIC02MTgsICAgICAwLCAgLTYxOCwgICAgIDAs
ICAtNjE4LAorICAgIC02MTgsICAtNjE4LCAgICAgMCwgICAgIDAsICAgICAwLCAgLTYxOCwgIC02
MTgsICAgICAwLCAgLTYxOCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsICAgICAwLCAgICAgMCwgIC02MTgsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgIC02MTgsICAtNjE4
LAorICAgICAgIDAsICAtNjE4LCAgLTYxOCwgIC02MTgsICAtNjE4LCAgLTYxOCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAg
IDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAtNjE4LAorICAg
ICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAg
LTYxOCwgIC02MTgsCisgICAgLTYxOCwgIC02MTgsICAtNjE4LCAgLTYxOCwgIC02MTgsICAtNjE4
LCAgLTYxOCwgIC02MTgsICAtNjE4LCAgLTYxOCwKKyAgICAtNjE4LCAgICAgMCwgICAgIDAsICAt
NjE4LCAgLTYxOCwgIC02MTgsICAtNjE4LCAgICAgMCwgICA2ODcsICAgICAwLAorICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgLTYxOCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAg
ICAgMCwgIC0xMTEsICAtNjE4LCAgICAgMCwgIC02MTgsICAtNjE4LAorICAgIC02MTgsICAtNjE4
LCAgLTYxOCwgIC02MTgsICAtNjE4LCAgLTYxOCwgIC02MTgsICAtNjE4LCAgICAgMCwgICAgIDAs
CisgICAgICAgMCwgICAgIDAsICAtNjE4LCAgLTYxOCwgIC02MTgsICAtNjE4LCAgLTMwNCwgICAg
IDAsICAtNjE4LCAgICAgMCwKKyAgICAtNjE4LCAgICAgMCwgIC02MTgsICAgICAwLCAgLTMwNCwg
IC0zMDQsICAtMzA0LCAgICAgMCwgICAgIDAsICAgICAwLAorICAgIC0zMDQsICAtMzA0LCAgICAg
MCwgIC0zMDQsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAg
ICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAtMzA0LCAgLTMwNCwgICAgIDAs
ICAtMzA0LCAgLTMwNCwgIC0zMDQsICAtMzA0LAorICAgIC0zMDQsICAgICAwLCAgICAgMCwgICAg
IDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwg
ICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAg
ICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgLTMwNCwgICAgIDAsICAgICAw
LCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgIC0zMDQsICAt
MzA0LCAgLTMwNCwgIC0zMDQsICAtMzA0LCAgLTMwNCwgIC0zMDQsCisgICAgLTMwNCwgIC0zMDQs
ICAtMzA0LCAgLTMwNCwgIC0zMDQsICAtMzA0LCAgICAgMCwgICAgIDAsICAtMzA0LCAgLTMwNCwK
KyAgICAtMzA0LCAgLTMwNCwgICAgIDAsICAgNjg4LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAg
ICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAw
LCAgICAgMCwgIC0zMDQsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAt
MTEzLCAgLTMwNCwgICAgIDAsICAtMzA0LCAgLTMwNCwgIC0zMDQsICAtMzA0LCAgLTMwNCwgIC0z
MDQsICAtMzA0LAorICAgIC0zMDQsICAtMzA0LCAgLTMwNCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsICAgICAwLCAgLTMwNCwgIC0zMDQsCisgICAgLTEwNCwgIC0zMDQsICAgICAwLCAgLTMw
NCwgICAgIDAsICAtMzA0LCAgICAgMCwgIC0zMDQsICAgICAwLCAgLTMwNCwKKyAgICAtMzA0LCAg
LTMwNCwgICAgIDAsICAgICAwLCAgICAgMCwgIC0zMDQsICAtMzA0LCAgICAgMCwgIC0zMDQsICAg
ICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAg
IDAsICAgICAwLCAgICAgMCwgICAgIDAsICAtMzA0LCAgLTMwNCwKKyAgICAgICAwLCAgLTMwNCwg
IC0zMDQsICAtMzA0LCAgLTMwNCwgIC0zMDQsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAor
ICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAw
LCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgLTMwNCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgIC0zMDQsICAtMzA0LAorICAgIC0z
MDQsICAtMzA0LCAgLTMwNCwgIC0zMDQsICAtMzA0LCAgLTMwNCwgIC0zMDQsICAtMzA0LCAgLTMw
NCwgIC0zMDQsCisgICAgLTMwNCwgICAgIDAsICAgICAwLCAgLTMwNCwgIC0zMDQsICAtMzA0LCAg
LTMwNCwgICAgIDAsICAgNjg4LCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAw
LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgIC0z
MDQsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAtMTEzLCAgLTMwNCwg
ICAgIDAsICAtMzA0LCAgLTMwNCwKKyAgICAtMzA0LCAgLTMwNCwgIC0zMDQsICAtMzA0LCAgLTMw
NCwgIC0zMDQsICAtMzA0LCAgLTMwNCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAg
ICAgMCwgIC0zMDQsICAtMzA0LCAgLTMwNCwgICAgIDAsICAgICAwLCAgLTMwNCwgICAgIDAsCisg
ICAgLTMwNCwgICAyNTQsICAtMzA0LCAgICAgNSwgICAgIDYsICAgICA3LCAgICAgOCwgICAgIDks
ICAtNjQwLCAgLTY0MCwKKyAgICAtNjQwLCAgICAxMCwgICAgMTEsICAgICAwLCAgICAgMCwgIC02
NDAsICAgIDEyLCAgICAgMCwgICAgMTMsICAgIDE0LAorICAgICAgMTUsICAgIDE2LCAgICAxNywg
ICAgMTgsICAgIDE5LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAy
MCwgICAgMjEsICAgIDIyLCAgICAyMywgICAgMjQsICAgIDI1LCAgICAyNiwgICAgIDAsICAgICAw
LCAgICAyNywKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgMjgsICAg
IDI5LCAgIDI1NSwgICAgMzEsICAgIDMyLAorICAgICAgMzMsICAgIDM0LCAgICAzNSwgICAgMzYs
ICAgIDM3LCAgICAzOCwgICAgMzksICAgIDQwLCAgICAgMCwgICAgNDEsCisgICAgICA0MiwgICAg
NDMsICAgIDQ0LCAgICAgMCwgICAgNDUsICAgIDQ2LCAgICA0NywgICAgIDAsICAgICAwLCAgICAg
MCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgNDgsICAgIDQ5LCAg
ICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAw
LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICA1MCwgICAgIDAsICAgICAwLCAgICA1MSwKKyAg
ICAgIDUyLCAgICAgMCwgICAgNTMsICAgIDU0LCAgICAgMCwgICAgNTUsICAgICAwLCAgICAgMCwg
ICAgNTYsICAgIDU3LAorICAgICAgNTgsICAgIDU5LCAgICA2MCwgICAgNjEsICAgIDYyLCAgICA2
MywgICAgNjQsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAg
ICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAw
LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICA2NSwgICAgNjYs
ICAgIDY3LAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAg
IDAsICAgICAwLCAgICAgMCwgIC02NDAsCisgICAgIDI1NCwgIC02NDAsICAgICA1LCAgICAgNiwg
ICAgIDcsICAgICA4LCAgICAgOSwgICAgIDAsICAgICAwLCAgLTY0MCwKKyAgICAgIDEwLCAgICAx
MSwgICAgIDAsICAtNjQwLCAgLTY0MCwgICAgMTIsICAgICAwLCAgICAxMywgICAgMTQsICAgIDE1
LAorICAgICAgMTYsICAgIDE3LCAgICAxOCwgICAgMTksICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgMjAsCisgICAgICAyMSwgICAgMjIsICAgIDIzLCAgICAyNCwgICAgMjUs
ICAgIDI2LCAgICAgMCwgICAgIDAsICAgIDI3LCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAg
IDAsICAgICAwLCAgICAyOCwgICAgMjksICAgMjU1LCAgICAzMSwgICAgMzIsICAgIDMzLAorICAg
ICAgMzQsICAgIDM1LCAgICAzNiwgICAgMzcsICAgIDM4LCAgICAzOSwgICAgNDAsICAgICAwLCAg
ICA0MSwgICAgNDIsCisgICAgICA0MywgICAgNDQsICAgICAwLCAgICA0NSwgICAgNDYsICAgIDQ3
LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICA0OCwgICAgNDksICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgIDUwLCAgICAg
MCwgICAgIDAsICAgIDUxLCAgICA1MiwKKyAgICAgICAwLCAgICA1MywgICAgNTQsICAgICAwLCAg
ICA1NSwgICAgIDAsICAgICAwLCAgICA1NiwgICAgNTcsICAgIDU4LAorICAgICAgNTksICAgIDYw
LCAgICA2MSwgICAgNjIsICAgIDYzLCAgICA2NCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAs
CisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAg
IDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsICAgIDY1LCAgICA2NiwgICAgNjcsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgLTY0MCwgICAyNTQsCisgICAg
LTY0MCwgICAgIDUsICAgICA2LCAgICAgNywgICAgIDgsICAgICA5LCAgICAgMCwgICAgIDAsICAt
NjQwLCAgICAxMCwKKyAgICAgIDExLCAgICAgMCwgICAgIDAsICAtNjQwLCAgICAxMiwgIC02NDAs
ICAgIDEzLCAgICAxNCwgICAgMTUsICAgIDE2LAorICAgICAgMTcsICAgIDE4LCAgICAxOSwgICAg
IDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAyMCwgICAgMjEsCisgICAgICAyMiwg
ICAgMjMsICAgIDI0LCAgICAyNSwgICAgMjYsICAgICAwLCAgICAgMCwgICAgMjcsICAgICAwLCAg
ICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgIDI4LCAgICAyOSwgICAyNTUsICAgIDMx
LCAgICAzMiwgICAgMzMsICAgIDM0LAorICAgICAgMzUsICAgIDM2LCAgICAzNywgICAgMzgsICAg
IDM5LCAgICA0MCwgICAgIDAsICAgIDQxLCAgICA0MiwgICAgNDMsCisgICAgICA0NCwgICAgIDAs
ICAgIDQ1LCAgICA0NiwgICAgNDcsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwK
KyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgIDQ4LCAgICA0OSwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAg
ICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAw
LCAgICAgMCwgICAgNTAsICAgICAwLCAgICAgMCwgICAgNTEsICAgIDUyLCAgICAgMCwKKyAgICAg
IDUzLCAgICA1NCwgICAgIDAsICAgIDU1LCAgICAgMCwgICAgIDAsICAgIDU2LCAgICA1NywgICAg
NTgsICAgIDU5LAorICAgICAgNjAsICAgIDYxLCAgICA2MiwgICAgNjMsICAgIDY0LCAgICAgMCwg
ICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAg
ICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgNjUsICAgIDY2LCAgICA2NywgICAgIDAsICAg
ICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAs
ICAtNjQwLCAgIDI1NCwgIC02NDAsCisgICAgICAgNSwgICAgIDYsICAgICA3LCAgICAgOCwgICAg
IDksICAgICAwLCAgICAgMCwgIC02NDAsICAgIDEwLCAgICAxMSwKKyAgICAgICAwLCAgICAgMCwg
IC02NDAsICAgIDEyLCAgICAgMCwgICAgMTMsICAgIDE0LCAgICAxNSwgICAgMTYsICAgIDE3LAor
ICAgICAgMTgsICAgIDE5LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgIDIw
LCAgICAyMSwgICAgMjIsCisgICAgICAyMywgICAgMjQsICAgIDI1LCAgICAyNiwgICAgIDAsICAg
ICAwLCAgICAyNywgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgMjgs
ICAgIDI5LCAgIDI1NSwgICAgMzEsICAgIDMyLCAgICAzMywgICAgMzQsICAgIDM1LAorICAgICAg
MzYsICAgIDM3LCAgICAzOCwgICAgMzksICAgIDQwLCAgICAgMCwgICAgNDEsICAgIDQyLCAgICA0
MywgICAgNDQsCisgICAgICAgMCwgICAgNDUsICAgIDQ2LCAgICA0NywgICAgIDAsICAgICAwLCAg
ICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgNDgsICAgIDQ5
LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAg
IDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICA1MCwgICAgIDAsICAgICAwLCAgICA1MSwg
ICAgNTIsICAgICAwLCAgICA1MywKKyAgICAgIDU0LCAgICAgMCwgICAgNTUsICAgICAwLCAgICAg
MCwgICAgNTYsICAgIDU3LCAgICA1OCwgICAgNTksICAgIDYwLAorICAgICAgNjEsICAgIDYyLCAg
ICA2MywgICAgNjQsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisg
ICAgICAgMCwgICAgIDAsICAgMjU0LCAgICAgMCwgICAgIDUsICAgICA2LCAgICAgNywgICAgIDgs
ICAgICA5LCAgICAgMCwKKyAgICAtNjQwLCAgLTY0MCwgICAgMTAsICAgIDExLCAgICA2NSwgICAg
NjYsICAgIDY3LCAgICAxMiwgICAgIDAsICAgIDEzLAorICAgICAgMTQsICAgIDE1LCAgICAxNiwg
ICAgMTcsICAgIDE4LCAgICAxOSwgIC02NDAsICAgICAwLCAgLTY0MCwgICAgIDAsCisgICAgICAg
MCwgICAgMjAsICAgIDIxLCAgICAyMiwgICAgMjMsICAgIDI0LCAgICAyNSwgICAgMjYsICAgICAw
LCAgICAgMCwKKyAgICAgIDI3LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
IDI4LCAgICAyOSwgICAyNTUsICAgIDMxLAorICAgICAgMzIsICAgIDMzLCAgICAzNCwgICAgMzUs
ICAgIDM2LCAgICAzNywgICAgMzgsICAgIDM5LCAgICA0MCwgICAgIDAsCisgICAgICA0MSwgICAg
NDIsICAgIDQzLCAgICA0NCwgICAgIDAsICAgIDQ1LCAgICA0NiwgICAgNDcsICAgICAwLCAgICAg
MCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgIDQ4LCAg
ICA0OSwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAw
LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgNTAsICAgICAwLCAgICAgMCwKKyAg
ICAgIDUxLCAgICA1MiwgICAgIDAsICAgIDUzLCAgICA1NCwgICAgIDAsICAgIDU1LCAgICAgMCwg
ICAgIDAsICAgIDU2LAorICAgICAgNTcsICAgIDU4LCAgICA1OSwgICAgNjAsICAgIDYxLCAgICA2
MiwgICAgNjMsICAgIDY0LCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAg
ICAgMCwgICAgIDAsICAgICAwLCAgIDI1NCwgICAgIDAsICAgICA1LCAgICAgNiwKKyAgICAgICA3
LCAgICAgOCwgICAgIDksICAgICAwLCAgICAgMCwgICAgIDAsICAgIDEwLCAgICAxMSwgICAgNjUs
ICAgIDY2LAorICAgICAgNjcsICAgIDEyLCAgICAgMCwgICAgMTMsICAgIDE0LCAgICAxNSwgICAg
MTYsICAgIDE3LCAgICAxOCwgICAgMTksCisgICAgLTY0MCwgICAgIDAsICAtNjQwLCAgICAgMCwg
ICAgIDAsICAgIDIwLCAgICAyMSwgICAgMjIsICAgIDIzLCAgICAyNCwKKyAgICAgIDI1LCAgICAy
NiwgICAgIDAsICAgICAwLCAgICAyNywgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAw
LAorICAgICAgMjgsICAgIDI5LCAgIDI1NSwgICAgMzEsICAgIDMyLCAgICAzMywgICAgMzQsICAg
IDM1LCAgICAzNiwgICAgMzcsCisgICAgICAzOCwgICAgMzksICAgIDQwLCAgICAgMCwgICAgNDEs
ICAgIDQyLCAgICA0MywgICAgNDQsICAgICAwLCAgICA0NSwKKyAgICAgIDQ2LCAgICA0NywgICAg
IDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAg
ICAgNDgsICAgIDQ5LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAg
ICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAw
LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICA1MCwgICAgIDAsICAg
ICAwLCAgIDI1NiwgICAgNTIsICAgICAwLCAgICA1MywgICAgNTQsICAgICAwLAorICAgICAgNTUs
ICAgICAwLCAgICAgMCwgICAgNTYsICAgIDU3LCAgICA1OCwgICAgNTksICAgIDYwLCAgICA2MSwg
ICAgNjIsCisgICAgICA2MywgICAgNjQsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAg
ICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAw
LCAgICA2NSwgICAgNjYsICAgIDY3LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAs
CisgICAgICAgMCwgICAgIDAsICAtNjQwLCAgICAgMCwgIC02NDAsICAgMjU0LCAgLTY0MCwgICAg
IDUsICAgICA2LCAgICAgNywKKyAgICAgICA4LCAgICAgOSwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgMTAsICAgIDExLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgMTIsICAgICAwLCAgICAx
MywgICAgMTQsICAgIDE1LCAgICAxNiwgICAgMTcsICAgIDE4LCAgICAxOSwgICAgIDAsCisgICAg
ICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgMjAsICAgIDIxLCAgICAyMiwgICAgMjMsICAg
IDI0LCAgICAyNSwKKyAgICAgIDI2LCAgICAgMCwgICAgIDAsICAgIDI3LCAgICAgMCwgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgIDI4LAorICAgICAgMjksICAgMjU1LCAgICAzMSwgICAg
MzIsICAgIDMzLCAgICAzNCwgICAgMzUsICAgIDM2LCAgICAzNywgICAgMzgsCisgICAgICAzOSwg
ICAgNDAsICAgICAwLCAgICA0MSwgICAgNDIsICAgIDQzLCAgICA0NCwgICAgIDAsICAgIDQ1LCAg
ICA0NiwKKyAgICAgIDQ3LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAw
LCAgICAgMCwgICAgIDAsICAgIDQ4LAorICAgICAgNDksICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwK
KyAgICAgIDUwLCAgICAgMCwgICAgIDAsICAgIDUxLCAgICA1MiwgICAgIDAsICAgIDUzLCAgICA1
NCwgICAgIDAsICAgIDU1LAorICAgICAgIDAsICAgICAwLCAgICA1NiwgICAgNTcsICAgIDU4LCAg
ICA1OSwgICAgNjAsICAgIDYxLCAgICA2MiwgICAgNjMsCisgICAgICA2NCwgICAgIDAsICAgICAw
LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAg
IDAsICAgICAwLAorICAgICAgIDAsICAgIDY1LCAgICA2NiwgICAgNjcsICAgICAwLCAgICAgMCwg
ICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgIC02NDAsICAgICAwLCAgLTY0
MCwgICAgIDQsICAtNjQwLCAgICAgNSwgICAgIDYsICAgICA3LCAgICAgOCwKKyAgICAgICA5LCAg
ICAgMCwgICAgIDAsICAgICAwLCAgICAxMCwgICAgMTEsICAgICAwLCAgICAgMCwgICAgIDAsICAg
IDEyLAorICAgICAgIDAsICAgIDEzLCAgICAxNCwgICAgMTUsICAgIDE2LCAgICAxNywgICAgMTgs
ICAgIDE5LCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAyMCwgICAg
MjEsICAgIDIyLCAgICAyMywgICAgMjQsICAgIDI1LCAgICAyNiwKKyAgICAgICAwLCAgICAgMCwg
ICAgMjcsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgMjgsICAgIDI5LAor
ICAgICAgMzAsICAgIDMxLCAgICAzMiwgICAgMzMsICAgIDM0LCAgICAzNSwgICAgMzYsICAgIDM3
LCAgICAzOCwgICAgMzksCisgICAgICA0MCwgICAgIDAsICAgIDQxLCAgICA0MiwgICAgNDMsICAg
IDQ0LCAgICAgMCwgICAgNDUsICAgIDQ2LCAgICA0NywKKyAgICAgICAwLCAgICAgMCwgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgNDgsICAgIDQ5LAorICAgICAg
IDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAg
ICAgMCwgICAgIDAsICAgICAwLCAgICA1MCwKKyAgICAgICAwLCAgICAgMCwgICAgNTEsICAgIDUy
LCAgICAgMCwgICAgNTMsICAgIDU0LCAgICAgMCwgICAgNTUsICAgICAwLAorICAgICAgIDAsICAg
IDU2LCAgICA1NywgICAgNTgsICAgIDU5LCAgICA2MCwgICAgNjEsICAgIDYyLCAgICA2MywgICAg
NjQsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgNjUsICAgIDY2LCAg
ICA2NywgICAgIDAsICAgICAwLCAgLTY0MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisg
ICAgICAgMCwgICAgIDAsICAtNjQwLCAgIDI1NCwgIC02NDAsICAgICA1LCAgICAgNiwgICAgIDcs
ICAgICA4LCAgICAgOSwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgIDEwLCAgICAxMSwgICAg
IDAsICAgICAwLCAgICAgMCwgICAgMTIsICAgICAwLAorICAgICAgMTMsICAgIDE0LCAgICAxNSwg
ICAgMTYsICAgIDE3LCAgICAxOCwgICAgMTksICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAg
MCwgICAgIDAsICAgIDIwLCAgICAyMSwgICAgMjIsICAgIDIzLCAgICAyNCwgICAgMjUsICAgIDI2
LCAgICAgMCwKKyAgICAgICAwLCAgICAyNywgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAyOCwgICAgMjksICAgMjU1LAorICAgICAgMzEsICAgIDMyLCAgICAzMywgICAgMzQs
ICAgIDM1LCAgICAzNiwgICAgMzcsICAgIDM4LCAgICAzOSwgICAgNDAsCisgICAgICAgMCwgICAg
NDEsICAgIDQyLCAgICA0MywgICAgNDQsICAgICAwLCAgICA0NSwgICAgNDYsICAgIDQ3LCAgICAg
MCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAg
ICA0OCwgICAgNDksICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAw
LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgIDUwLCAgICAgMCwKKyAg
ICAgICAwLCAgICA1MSwgICAgNTIsICAgICAwLCAgICA1MywgICAgNTQsICAgICAwLCAgICA1NSwg
ICAgIDAsICAgICAwLAorICAgICAgNTYsICAgIDU3LCAgICA1OCwgICAgNTksICAgIDYwLCAgICA2
MSwgICAgNjIsICAgIDYzLCAgICA2NCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAg
ICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAw
LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAs
ICAgIDY1LAorICAgICAgNjYsICAgIDY3LCAgICAgMCwgICAgIDAsICAtNjQwLCAgICAgMCwgICAg
IDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgIC02NDAsICAgMjU0LCAgLTY0MCwg
ICAgIDUsICAgICA2LCAgICAgNywgICAgIDgsICAgICA5LCAgICAgMCwKKyAgICAgICAwLCAgLTY0
MCwgICAgMTAsICAgIDExLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAxMiwgICAgIDAsICAgIDEz
LAorICAgICAgMTQsICAgIDE1LCAgICAxNiwgICAgMTcsICAgIDE4LCAgICAxOSwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgMjAsICAgIDIxLCAgICAyMiwgICAgMjMs
ICAgIDI0LCAgICAyNSwgICAgMjYsICAgICAwLCAgICAgMCwKKyAgICAgIDI3LCAgICAgMCwgICAg
IDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgIDI4LCAgICAyOSwgICAyNTUsICAgIDMxLAorICAg
ICAgMzIsICAgIDMzLCAgICAzNCwgICAgMzUsICAgIDM2LCAgICAzNywgICAgMzgsICAgIDM5LCAg
ICA0MCwgICAgIDAsCisgICAgICA0MSwgICAgNDIsICAgIDQzLCAgICA0NCwgICAgIDAsICAgIDQ1
LCAgICA0NiwgICAgNDcsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgIDQ4LCAgICA0OSwgICAgIDAsICAgICAwLAorICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgNTAsICAgICAwLCAgICAgMCwKKyAgICAgIDUxLCAgICA1MiwgICAgIDAsICAgIDUzLCAg
ICA1NCwgICAgIDAsICAgIDU1LCAgICAgMCwgICAgIDAsICAgIDU2LAorICAgICAgNTcsICAgIDU4
LCAgICA1OSwgICAgNjAsICAgIDYxLCAgICA2MiwgICAgNjMsICAgIDY0LCAgICAgMCwgICAgIDAs
CisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDI1NCwgICAg
IDAsICAgICA1LCAgICAgNiwKKyAgICAgICA3LCAgICAgOCwgICAgIDksICAgICAwLCAgICAgMCwg
ICAgIDAsICAgIDEwLCAgICAxMSwgICAgNjUsICAgIDY2LAorICAgICAgNjcsICAgIDEyLCAgICAg
MCwgICAgMTMsICAgIDE0LCAgICAxNSwgICAgMTYsICAgIDE3LCAgICAxOCwgICAgMTksCisgICAg
LTY0MCwgICAgIDAsICAtNjQwLCAgICAgMCwgICAgIDAsICAgIDIwLCAgICAyMSwgICAgMjIsICAg
IDIzLCAgICAyNCwKKyAgICAgIDI1LCAgICAyNiwgICAgIDAsICAgICAwLCAgICAyNywgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgMjgsICAgIDI5LCAgIDI1NSwgICAg
MzEsICAgIDMyLCAgICAzMywgICAgMzQsICAgIDM1LCAgICAzNiwgICAgMzcsCisgICAgICAzOCwg
ICAgMzksICAgIDQwLCAgICAgMCwgICAgNDEsICAgIDQyLCAgICA0MywgICAgNDQsICAgICAwLCAg
ICA0NSwKKyAgICAgIDQ2LCAgICA0NywgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAw
LCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgNDgsICAgIDQ5LCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwK
KyAgICAgICAwLCAgICA1MCwgICAgIDAsICAgICAwLCAgICA1MSwgICAgNTIsICAgICAwLCAgICA1
MywgICAgNTQsICAgICAwLAorICAgICAgNTUsICAgICAwLCAgICAgMCwgICAgNTYsICAgIDU3LCAg
ICA1OCwgICAgNTksICAgIDYwLCAgICA2MSwgICAgNjIsCisgICAgICA2MywgICAgNjQsICAgICAw
LCAgLTY0MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAg
ICAwLCAgICAgMCwgICAgIDUsICAgICA2LCAgICAgNywgICAgIDAsICAgICA5LCAgICAgMCwgICAg
IDAsICAgICAwLAorICAgICAgMTAsICAgIDExLCAgICA2NSwgICAgNjYsICAgIDY3LCAgICAxMiwg
ICAgIDAsICAgIDEzLCAgICAxNCwgICAgMTUsCisgICAgICAxNiwgICAgMTcsICAgIDE4LCAgICAx
OSwgIC02NDAsICAgICAwLCAgLTY0MCwgICAgIDAsICAgICAwLCAgICAyMCwKKyAgICAgIDIxLCAg
ICAyMiwgICAgMjMsICAgIDI0LCAgICAyNSwgICAgMjYsICAgICAwLCAgICAgMCwgICAyMDUsICAg
ICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAyOSwgICAgIDAs
ICAgICAwLCAgICAzMiwgICAgMzMsCisgICAgICAzNCwgICAgMzUsICAgIDM2LCAgICAzNywgICAg
MzgsICAgIDM5LCAgICA0MCwgICAyMDYsICAgIDQxLCAgICA0MiwKKyAgICAgIDQzLCAgICA0NCwg
ICAgIDAsICAgIDQ1LCAgICA0NiwgICAgNDcsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAor
ICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgIDQ4LCAgICA0OSwgICAgIDAsICAgICAw
LCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAs
ICAgICAwLCAgICAgMCwgICAyMDcsICAgICAwLCAgICAgMCwgICAyMDgsICAgIDUyLAorICAgICAg
IDAsICAgIDUzLCAgICA1NCwgICAgIDAsICAgMjA5LCAgIDIxMCwgICAyMTEsICAgIDU2LCAgICA1
NywgICAyMTIsCisgICAgICA1OSwgICAgNjAsICAgIDYxLCAgICA2MiwgICAgNjMsICAgIDY0LCAg
ICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAw
LCAgICAgMCwgICAgIDAsICAgICA1LCAgICAgNiwgICAgIDcsICAgICAwLAorICAgICAgIDksICAg
ICAwLCAgICAgMCwgICAgIDAsICAgIDEwLCAgICAxMSwgICAgNjUsICAgMjEzLCAgICA2NywgICAg
MTIsCisgICAgICAgMCwgICAgMTMsICAgIDE0LCAgICAxNSwgICAgMTYsICAgIDE3LCAgICAxOCwg
ICAgMTksICAgICAwLCAgICAgMCwKKyAgICAgMjM2LCAgICAgMCwgICAgIDAsICAgIDIwLCAgICAy
MSwgICAgMjIsICAgIDIzLCAgICAyNCwgICAgMjUsICAgIDI2LAorICAgICAgIDAsICAgICAwLCAg
ICAyNywgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgMjksCisg
ICAgICAgMCwgICAgIDAsICAgIDMyLCAgICAzMywgICAgMzQsICAgIDM1LCAgICAzNiwgICAgMzcs
ICAgIDM4LCAgICAzOSwKKyAgICAgIDQwLCAgICAgMCwgICAgNDEsICAgIDQyLCAgICA0MywgICAg
NDQsICAgICAwLCAgICA0NSwgICAgNDYsICAgIDQ3LAorICAgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICA0OCwgICAgNDksCisgICAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAw
LCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgMjA3LAorICAgICAgIDAsICAgICAwLCAgIDIwOCwgICAgNTIs
ICAgICAwLCAgICA1MywgICAgNTQsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAg
NTYsICAgIDU3LCAgICA1OCwgICAgNTksICAgIDYwLCAgICA2MSwgICAgNjIsICAgIDYzLCAgICA2
NCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAg
ICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDUsICAgICA2LCAgICAgNywgICAgIDAsICAgICA5
LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAxMCwgICAgMTEsCisgICAgICA2NSwgICAgNjYsICAg
IDY3LCAgICAxMiwgICAgIDAsICAgIDEzLCAgICAxNCwgICAgMTUsICAgIDE2LCAgICAxNywKKyAg
ICAgIDE4LCAgICAxOSwgICAzMDIsICAgICAwLCAgIDMwMywgICAgIDAsICAgICAwLCAgICAyMCwg
ICAgMjEsICAgIDIyLAorICAgICAgMjMsICAgIDI0LCAgICAyNSwgICAgMjYsICAgICAwLCAgICAg
MCwgICAgMjcsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAg
ICAyOSwgICAgIDAsICAgICAwLCAgICAzMiwgICAgMzMsICAgIDM0LCAgICAzNSwKKyAgICAgIDM2
LCAgICAzNywgICAgMzgsICAgIDM5LCAgICA0MCwgICAgIDAsICAgIDQxLCAgICA0MiwgICAgNDMs
ICAgIDQ0LAorICAgICAgIDAsICAgIDQ1LCAgICA0NiwgICAgNDcsICAgICAwLCAgICAgMCwgICAg
IDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgIDQ4LCAgICA0OSwg
ICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAw
LAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAyMDcsICAgICAwLCAgICAgMCwgICAyMDgsICAg
IDUyLCAgICAgMCwgICAgNTMsCisgICAgICA1NCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAs
ICAgIDU2LCAgICA1NywgICAgNTgsICAgIDU5LCAgICA2MCwKKyAgICAgIDYxLCAgICA2MiwgICAg
NjMsICAgIDY0LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAg
ICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICA1LCAgICAgNiwgICAgIDcsICAgICA4LCAg
ICAgOSwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgIDEwLCAgICAxMSwgICAgNjUsICAgIDY2
LCAgICA2NywgICAgMTIsICAgICAwLCAgICAxMywKKyAgICAgIDE0LCAgICAxNSwgICAgMTYsICAg
IDE3LCAgICAxOCwgICAgMTksICAgICAwLCAgICAgMCwgICAyMzYsICAgICAwLAorICAgICAgIDAs
ICAgIDIwLCAgICAyMSwgICAgMjIsICAgIDIzLCAgICAyNCwgICAgMjUsICAgIDI2LCAgICAgMCwg
ICAgIDAsCisgICAgICAyNywgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAy
OCwgICAgMjksICAgIDMwLCAgICAzMSwKKyAgICAgIDMyLCAgICAzMywgICAgMzQsICAgIDM1LCAg
ICAzNiwgICAgMzcsICAgIDM4LCAgICAzOSwgICAgNDAsICAgICAwLAorICAgICAgNDEsICAgIDQy
LCAgICA0MywgICAgNDQsICAgICAwLCAgICA0NSwgICAgNDYsICAgIDQ3LCAgICAgMCwgICAgIDAs
CisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICA0OCwgICAg
NDksICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgIDUwLCAgICAgMCwgICAgIDAsCisgICAg
ICA1MSwgICAgNTIsICAgICAwLCAgICA1MywgICAgNTQsICAgICAwLCAgICA1NSwgICAgIDAsICAg
ICAwLCAgICA1NiwKKyAgICAgIDU3LCAgICA1OCwgICAgNTksICAgIDYwLCAgICA2MSwgICAgNjIs
ICAgIDYzLCAgICA2NCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAg
IDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgNSwgICAgIDYsCisgICAgICAgNywg
ICAgIDgsICAgICA5LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAxMCwgICAgMTEsICAgIDY1LCAg
ICA2NiwKKyAgICAgIDY3LCAgICAxMiwgICAgIDAsICAgIDEzLCAgICAxNCwgICAgMTUsICAgIDE2
LCAgICAxNywgICAgMTgsICAgIDE5LAorICAgICA0OTcsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAyMCwgICAgMjEsICAgIDIyLCAgICAyMywgICAgMjQsCisgICAgICAyNSwgICAgMjYs
ICAgICAwLCAgICAgMCwgICAgMjcsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwK
KyAgICAgIDI4LCAgICAyOSwgICAyNTUsICAgIDMxLCAgICAzMiwgICAgMzMsICAgIDM0LCAgICAz
NSwgICAgMzYsICAgIDM3LAorICAgICAgMzgsICAgIDM5LCAgICA0MCwgICAgIDAsICAgIDQxLCAg
ICA0MiwgICAgNDMsICAgIDQ0LCAgICAgMCwgICAgNDUsCisgICAgICA0NiwgICAgNDcsICAgICAw
LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAg
IDQ4LCAgICA0OSwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAg
IDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgNTAsICAgICAwLCAgICAg
MCwgICAgNTEsICAgIDUyLCAgICAgMCwgICAgNTMsICAgIDU0LCAgICAgMCwKKyAgICAgIDU1LCAg
ICAgMCwgICAgIDAsICAgIDU2LCAgICA1NywgICAgNTgsICAgIDU5LCAgICA2MCwgICAgNjEsICAg
IDYyLAorICAgICAgNjMsICAgIDY0LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAg
IDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwg
ICAgNjUsICAgIDY2LCAgICA2NywgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAor
ICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgNDk3LCAgIDEyMywgICAxMjQsICAgMTI1
LCAgIDEyNiwgICAxMjcsCisgICAgIDEyOCwgICAxMjksICAgMTMwLCAgIDEzMSwgICAxMzIsICAg
MTMzLCAgIDEzNCwgICAxMzUsICAgMTM2LCAgIDEzNywKKyAgICAgMTM4LCAgIDEzOSwgICAxNDAs
ICAgMTQxLCAgIDE0MiwgICAxNDMsICAgMTQ0LCAgIDE0NSwgICAxNDYsICAgICAwLAorICAgICAg
IDAsICAgICAwLCAgIDE0NywgICAxNDgsICAgMTQ5LCAgIDM5MSwgICAzOTIsICAgMzkzLCAgIDM5
NCwgICAxNTQsCisgICAgIDE1NSwgICAxNTYsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAg
ICAgMCwgICAxNTcsICAgMTU4LCAgIDE1OSwKKyAgICAgMTYwLCAgIDM5NSwgICAzOTYsICAgMzk3
LCAgIDM5OCwgICAxNjUsICAgIDM3LCAgICAzOCwgICAzOTksICAgIDQwLAorICAgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAg
IDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAxNjcsICAgMTY4LCAgIDE2OSwKKyAgICAgMTcwLCAgIDE3MSwgICAxNzIsICAgMTczLCAgIDE3
NCwgICAxNzUsICAgICAwLCAgICAgMCwgICAxNzYsICAgMTc3LAorICAgICAgIDAsICAgICAwLCAg
IDE3OCwgICAxNzksICAgMTgwLCAgIDE4MSwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisg
ICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAxODIs
ICAgMTgzLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAg
IDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAxODQsCisgICAgIDE4
NSwgICAxODYsICAgMTg3LCAgIDE4OCwgICAxODksICAgMTkwLCAgIDE5MSwgICAxOTIsICAgMTkz
LCAgICAgMCwKKyAgICAgMTk0LCAgIDE5NSwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgIDE5NiwgICA0MDAsICAgMTIzLAorICAgICAxMjQsICAgMTI1LCAgIDEyNiwgICAxMjcs
ICAgMTI4LCAgIDEyOSwgICAxMzAsICAgMTMxLCAgIDEzMiwgICAxMzMsCisgICAgIDEzNCwgICAx
MzUsICAgMTM2LCAgIDEzNywgICAxMzgsICAgMTM5LCAgIDE0MCwgICAxNDEsICAgMTQyLCAgIDE0
MywKKyAgICAgMTQ0LCAgIDE0NSwgICAxNDYsICAgICAwLCAgICAgMCwgICAgIDAsICAgMTQ3LCAg
IDE0OCwgICAxNDksICAgMTUwLAorICAgICAxNTEsICAgMTUyLCAgIDE1MywgICAxNTQsICAgMTU1
LCAgIDE1NiwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAxNTcsICAg
MTU4LCAgIDE1OSwgICAxNjAsICAgMTYxLCAgIDE2MiwgICAxNjMsICAgMTY0LCAgIDE2NSwKKyAg
ICAgMjg1LCAgIDI4NiwgICAxNjYsICAgMjg3LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAxNjcsICAgMTY4LCAg
IDE2OSwgICAxNzAsICAgMTcxLCAgIDE3MiwgICAxNzMsICAgMTc0LCAgIDE3NSwKKyAgICAgICAw
LCAgICAgMCwgICAxNzYsICAgMTc3LCAgICAgMCwgICAgIDAsICAgMTc4LCAgIDE3OSwgICAxODAs
ICAgMTgxLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAg
IDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAxODIsICAgMTgzLCAgICAgMCwg
ICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAw
LAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAxODQsICAgMTg1LCAgIDE4NiwgICAxODcsICAg
MTg4LCAgIDE4OSwgICAxOTAsCisgICAgIDE5MSwgICAxOTIsICAgMTkzLCAgICAgMCwgICAxOTQs
ICAgMTk1LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgIDE5NiwgICAx
MjMsICAgMTI0LCAgIDEyNSwgICAxMjYsICAgMTI3LCAgIDEyOCwgICAxMjksICAgMTMwLAorICAg
ICAxMzEsICAgMTMyLCAgIDEzMywgICAxMzQsICAgMTM1LCAgIDEzNiwgICAxMzcsICAgMTM4LCAg
IDEzOSwgICAxNDAsCisgICAgIDE0MSwgICAxNDIsICAgMTQzLCAgIDE0NCwgICAxNDUsICAgMTQ2
LCAgICAgMCwgICAgIDAsICAgICAwLCAgIDE0NywKKyAgICAgMTQ4LCAgIDE0OSwgICAxNTAsICAg
MTUxLCAgIDE1MiwgICAxNTMsICAgMTU0LCAgIDE1NSwgICAxNTYsICAgICAwLAorICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgMTU3LCAgIDE1OCwgICAxNTksICAgMTYwLCAgIDE2MSwg
ICAxNjIsCisgICAgIDE2MywgICAxNjQsICAgMTY1LCAgIDIzOCwgICAgIDAsICAgMTY2LCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAg
ICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAw
LCAgICAgMCwgICAgIDAsICAgMTY3LCAgIDE2OCwgICAxNjksICAgMTcwLCAgIDE3MSwgICAxNzIs
CisgICAgIDE3MywgICAxNzQsICAgMTc1LCAgICAgMCwgICAgIDAsICAgMTc2LCAgIDE3NywgICAg
IDAsICAgICAwLCAgIDE3OCwKKyAgICAgMTc5LCAgIDE4MCwgICAxODEsICAgICAwLCAgICAgMCwg
ICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgMTgyLCAgIDE4MywgICAgIDAsICAgICAwLCAgICA1NywgICAgIDAsCisgICAg
ICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAs
ICAgMTg0LCAgIDE4NSwgICAxODYsICAgMTg3LAorICAgICAxODgsICAgMTg5LCAgIDE5MCwgICAx
OTEsICAgMTkyLCAgIDE5MywgICAgIDAsICAgMTk0LCAgIDE5NSwgICAgIDAsCisgICAgICAgMCwg
ICAgIDAsICAgICAwLCAgICAgMCwgICAxOTYsICAgMTIzLCAgIDEyNCwgICAxMjUsICAgMTI2LCAg
IDEyNywKKyAgICAgMTI4LCAgIDEyOSwgICAxMzAsICAgMTMxLCAgIDEzMiwgICAxMzMsICAgMTM0
LCAgIDEzNSwgICAxMzYsICAgMTM3LAorICAgICAxMzgsICAgMTM5LCAgIDE0MCwgICAxNDEsICAg
MTQyLCAgIDE0MywgICAxNDQsICAgMTQ1LCAgIDE0NiwgICAgIDAsCisgICAgICAgMCwgICAgIDAs
ICAgMTQ3LCAgIDE0OCwgICAxNDksICAgMTUwLCAgIDE1MSwgICAxNTIsICAgMTUzLCAgIDE1NCwK
KyAgICAgMTU1LCAgIDE1NiwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDE1
NywgICAxNTgsICAgMTU5LAorICAgICAxNjAsICAgMTYxLCAgIDE2MiwgICAxNjMsICAgMTY0LCAg
IDE2NSwgICAgIDAsICAgICAwLCAgIDE2NiwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAw
LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDE2NywgICAx
NjgsICAgMTY5LAorICAgICAxNzAsICAgMTcxLCAgIDE3MiwgICAxNzMsICAgMTc0LCAgIDE3NSwg
ICAgIDAsICAgICAwLCAgIDE3NiwgICAxNzcsCisgICAgICAgMCwgICAgIDAsICAgMTc4LCAgIDE3
OSwgICAxODAsICAgMTgxLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAg
ICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDE4MiwgICAxODMsICAg
ICAwLAorICAgICAgIDAsICAgIDU3LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAg
IDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDE4NCwKKyAgICAgMTg1LCAgIDE4Niwg
ICAxODcsICAgMTg4LCAgIDE4OSwgICAxOTAsICAgMTkxLCAgIDE5MiwgICAxOTMsICAgICAwLAor
ICAgICAxOTQsICAgMTk1LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgMTk2
LCAgIDEyMywgICAxMjQsCisgICAgIDEyNSwgICAxMjYsICAgMTI3LCAgIDEyOCwgICAxMjksICAg
MTMwLCAgIDEzMSwgICAxMzIsICAgMTMzLCAgIDEzNCwKKyAgICAgMTM1LCAgIDEzNiwgICAxMzcs
ICAgMTM4LCAgIDEzOSwgICAxNDAsICAgMTQxLCAgIDE0MiwgICAxNDMsICAgMTQ0LAorICAgICAx
NDUsICAgMTQ2LCAgICAgMCwgICAgIDAsICAgICAwLCAgIDE0NywgICAxNDgsICAgMTQ5LCAgIDE1
MCwgICAxNTEsCisgICAgIDE1MiwgICAxNTMsICAgMTU0LCAgIDE1NSwgICAxNTYsICAgICAwLCAg
ICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgMTU3LCAgIDE1OCwgICAxNTksICAgMTYw
LCAgIDE2MSwgICAxNjIsICAgMTYzLCAgIDE2NCwgICAxNjUsICAgICAwLAorICAgICAgIDAsICAg
MTY2LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAg
IDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgMTY3LCAgIDE2OCwgICAxNjksICAgMTcwLCAgIDE3
MSwgICAxNzIsICAgMTczLCAgIDE3NCwgICAxNzUsICAgICAwLAorICAgICAgIDAsICAgMTc2LCAg
IDE3NywgICAgIDAsICAgICAwLCAgIDE3OCwgICAxNzksICAgMTgwLCAgIDE4MSwgICAgIDAsCisg
ICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAs
ICAgICAwLCAgICAgMCwKKyAgICAgMTgyLCAgIDE4MywgICAgIDAsICAgICAwLCAgICAgMCwgICAg
IDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAg
MCwgICAgIDAsICAgMTg0LCAgIDE4NSwgICAxODYsICAgMTg3LCAgIDE4OCwgICAxODksICAgMTkw
LCAgIDE5MSwKKyAgICAgMTkyLCAgIDE5MywgICAgIDAsICAgMTk0LCAgIDE5NSwgICAgIDUsICAg
ICA2LCAgICAgNywgICAgIDAsICAgICA5LAorICAgICAxOTYsICAgICAwLCAgICAgMCwgICAgMTAs
ICAgIDExLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAxMiwgICAgIDAsCisgICAgICAxMywgICAg
MTQsICAgIDE1LCAgIDI0NCwgICAyNDUsICAgIDE4LCAgICAxOSwgICAgIDAsICAgICAwLCAgICAg
MCwKKyAgICAgICAwLCAgICAgMCwgICAgMjAsICAgMjQ2LCAgIDI0NywgICAgMjMsICAgIDI0LCAg
ICAyNSwgICAgMjYsICAgICAwLAorICAgICAgIDAsICAgMjA1LCAgICAgMCwgICAgIDAsICAgICAw
LCAgICAgMCwgICAgIDAsICAgICAwLCAgIDI3NCwgICAgIDAsCisgICAgICAgMCwgICAgMzIsICAg
IDMzLCAgICAzNCwgICAgMzUsICAgIDM2LCAgICAzNywgICAgMzgsICAgIDM5LCAgICA0MCwKKyAg
ICAgICAwLCAgICA0MSwgICAgNDIsICAgIDQzLCAgICA0NCwgICAgIDAsICAgIDQ1LCAgICA0Niwg
ICAgNDcsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAg
ICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAw
LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAyNzUs
ICAgICAwLAorICAgICAgIDAsICAgMjA4LCAgICA1MiwgICAgIDAsICAgIDUzLCAgICA1NCwgICAg
IDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICA1NiwgICAgNTcsICAgIDU4LCAgICA1OSwg
ICAgNjAsICAgIDYxLCAgICA2MiwgICAgNjMsICAgIDY0LCAgICAgMCwKKyAgICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAw
LAorICAgICAgIDAsICAgICAwLCAgICAgNSwgICAgIDYsICAgICA3LCAgICAgOCwgICAgIDksICAg
ICAwLCAgICAgMCwgICAyNzYsCisgICAgICAxMCwgICAgMTEsICAgICAwLCAgICAgMCwgICAgIDAs
ICAgIDEyLCAgIDUyMCwgICAgMTMsICAgIDE0LCAgICAxNSwKKyAgICAgIDE2LCAgICAxNywgICAg
MTgsICAgIDE5LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgIDIwLAorICAg
ICAgMjEsICAgIDIyLCAgICAyMywgICAgMjQsICAgIDI1LCAgICAyNiwgICAgIDAsICAgICAwLCAg
ICAyNywgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgMjgsICAgIDI5
LCAgICAzMCwgICAgMzEsICAgIDMyLCAgICAzMywKKyAgICAgIDM0LCAgICAzNSwgICAgMzYsICAg
IDM3LCAgICAzOCwgICAgMzksICAgIDQwLCAgICAgMCwgICAgNDEsICAgIDQyLAorICAgICAgNDMs
ICAgIDQ0LCAgICAgMCwgICAgNDUsICAgIDQ2LCAgICA0NywgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgNDgsICAgIDQ5LCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAg
ICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAw
LCAgICAgMCwgICAgIDAsICAgICAwLCAgICA1MCwgICAgIDAsICAgICAwLCAgICA1MSwgICAgNTIs
CisgICAgICAgMCwgICAgNTMsICAgIDU0LCAgICAgMCwgICAgNTUsICAgICAwLCAgICAgMCwgICAg
NTYsICAgIDU3LCAgICA1OCwKKyAgICAgIDU5LCAgICA2MCwgICAgNjEsICAgIDYyLCAgICA2Mywg
ICAgNjQsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDUsICAgICA2LCAgICAgNywgICAgIDAsCisgICAg
ICAgOSwgICAgIDAsICAgICAwLCAgICAgMCwgICAgMTAsICAgIDExLCAgICA2NSwgICAgNjYsICAg
IDY3LCAgICAxMiwKKyAgICAgICAwLCAgICAxMywgICAgMTQsICAgIDE1LCAgICAxNiwgICAgMTcs
ICAgIDE4LCAgICAxOSwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAg
MjAsICAgIDIxLCAgICAyMiwgICAgMjMsICAgIDI0LCAgICAyNSwgICAgMjYsCisgICAgICAgMCwg
ICAgIDAsICAgMjA1LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAg
ICAyOSwKKyAgICAgICAwLCAgICAgMCwgICAgMzIsICAgIDMzLCAgICAzNCwgICAgMzUsICAgIDM2
LCAgICAzNywgICAgMzgsICAgIDM5LAorICAgICAgNDAsICAgMjA2LCAgICA0MSwgICAgNDIsICAg
IDQzLCAgICA0NCwgICAgIDAsICAgIDQ1LCAgICA0NiwgICAgNDcsCisgICAgICAgMCwgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgIDQ4LCAgICA0OSwK
KyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAg
ICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAyMDcsCisgICAgICAgMCwgICAgIDAsICAgMjA4
LCAgICA1MiwgICAgIDAsICAgIDUzLCAgICA1NCwgICAgIDAsICAgMjA5LCAgIDIxMCwKKyAgICAg
MjExLCAgICA1NiwgICAgNTcsICAgMjEyLCAgICA1OSwgICAgNjAsICAgIDYxLCAgICA2MiwgICAg
NjMsICAgIDY0LAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgNSwgICAgIDYsICAgICA3LCAgICAg
OCwgICAgIDksICAgICAwLCAgICAgMCwgICAgIDAsICAgIDEwLCAgICAxMSwKKyAgICAgIDY1LCAg
IDIxMywgICAgNjcsICAgIDEyLCAgICAgMCwgICAgMTMsICAgIDE0LCAgICAxNSwgICAgMTYsICAg
IDE3LAorICAgICAgMTgsICAgIDE5LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAs
ICAgIDIwLCAgICAyMSwgICAgMjIsCisgICAgICAyMywgICAgMjQsICAgIDI1LCAgICAyNiwgICAg
IDAsICAgICAwLCAgICAyNywgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwg
ICAgMjgsICAgIDI5LCAgICAgMCwgICAgMzEsICAgIDMyLCAgICAzMywgICAgMzQsICAgIDM1LAor
ICAgICAgMzYsICAgIDM3LCAgICAzOCwgICAgMzksICAgIDQwLCAgICAgMCwgICAgNDEsICAgIDQy
LCAgICA0MywgICAgNDQsCisgICAgICAgMCwgICAgNDUsICAgIDQ2LCAgICA0NywgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgNDgs
ICAgIDQ5LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAg
IDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICA1MCwgICAgIDAsICAgICAwLCAg
ICA1MSwgICAgNTIsICAgICAwLCAgICA1MywKKyAgICAgIDU0LCAgICAgMCwgICAgNTUsICAgICAw
LCAgICAgMCwgICAgNTYsICAgIDU3LCAgICA1OCwgICAgNTksICAgIDYwLAorICAgICAgNjEsICAg
IDYyLCAgICA2MywgICAgNjQsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAg
IDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDUsICAgICA2LCAgICAgNywg
ICAgIDAsICAgICA5LCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgMTAsICAgIDExLCAgICA2
NSwgICAgNjYsICAgIDY3LCAgICAxMiwgICAgIDAsICAgIDEzLAorICAgICAgMTQsICAgIDE1LCAg
IDI0NCwgICAyNDUsICAgIDE4LCAgICAxOSwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisg
ICAgICAgMCwgICAgMjAsICAgMjQ2LCAgIDI0NywgICAgMjMsICAgIDI0LCAgICAyNSwgICAgMjYs
ICAgICAwLCAgICAgMCwKKyAgICAgMjA1LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAg
IDAsICAgICAwLCAgICAyOSwgICAgIDAsICAgICAwLAorICAgICAgMzIsICAgIDMzLCAgICAzNCwg
ICAgMzUsICAgIDM2LCAgICAzNywgICAgMzgsICAgIDM5LCAgICA0MCwgICAyMDYsCisgICAgICA0
MSwgICAgNDIsICAgIDQzLCAgICA0NCwgICAgIDAsICAgIDQ1LCAgICA0NiwgICAgNDcsICAgICAw
LCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
IDQ4LCAgICA0OSwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAg
IDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAyMDcsICAgICAwLCAgICAg
MCwKKyAgICAgMjA4LCAgICA1MiwgICAgIDAsICAgIDUzLCAgICA1NCwgICAgIDAsICAgNjE1LCAg
IDIxMCwgICAyMTEsICAgIDU2LAorICAgICAgNTcsICAgMjEyLCAgICA1OSwgICAgNjAsICAgIDYx
LCAgICA2MiwgICAgNjMsICAgIDY0LCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICA1LCAgICAgNiwKKyAg
ICAgICA3LCAgICAgMCwgICAgIDksICAgICAwLCAgICAgMCwgICAgIDAsICAgIDEwLCAgICAxMSwg
ICAgNjUsICAgMjEzLAorICAgICAgNjcsICAgIDEyLCAgICAgMCwgICAgMTMsICAgIDE0LCAgICAx
NSwgICAyNDQsICAgMjQ1LCAgICAxOCwgICAgMTksCisgICAgICAgMCwgICAgIDAsICAgICAwLCAg
ICAgMCwgICAgIDAsICAgIDIwLCAgIDI0NiwgICAyNDcsICAgIDIzLCAgICAyNCwKKyAgICAgIDI1
LCAgICAyNiwgICAgIDAsICAgICAwLCAgIDIwNSwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAs
ICAgICAwLAorICAgICAgIDAsICAgIDI5LCAgICAgMCwgICAgIDAsICAgIDMyLCAgICAzMywgICAg
MzQsICAgIDM1LCAgICAzNiwgICAgMzcsCisgICAgICAzOCwgICAgMzksICAgIDQwLCAgIDIwNiwg
ICAgNDEsICAgIDQyLCAgICA0MywgICAgNDQsICAgICAwLCAgICA0NSwKKyAgICAgIDQ2LCAgICA0
NywgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAw
LAorICAgICAgNDgsICAgIDQ5LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgIDIwNywgICAg
IDAsICAgICAwLCAgIDIwOCwgICAgNTIsICAgICAwLCAgICA1MywgICAgNTQsICAgICAwLAorICAg
ICAyMDksICAgMjEwLCAgICAgMCwgICAgNTYsICAgIDU3LCAgIDIxMiwgICAgNTksICAgIDYwLCAg
ICA2MSwgICAgNjIsCisgICAgICA2MywgICAgNjQsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAw
LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDUsICAg
ICA2LCAgICAgNywgICAgIDAsICAgICA5LCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgMTAs
ICAgIDExLCAgICA2NSwgICAyMTMsICAgIDY3LCAgICAxMiwgICAgIDAsICAgIDEzLCAgICAxNCwg
ICAgMTUsCisgICAgIDI0NCwgICAyNDUsICAgIDE4LCAgICAxOSwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAyMCwKKyAgICAgMjQ2LCAgIDI0NywgICAgMjMsICAgIDI0LCAg
ICAyNSwgICAgMjYsICAgICAwLCAgICAgMCwgICAyMDUsICAgICAwLAorICAgICAgIDAsICAgICAw
LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAyOSwgICAgIDAsICAgICAwLCAgICAzMiwgICAgMzMs
CisgICAgICAzNCwgICAgMzUsICAgIDM2LCAgICAzNywgICAgMzgsICAgIDM5LCAgICA0MCwgICAy
MDYsICAgIDQxLCAgICA0MiwKKyAgICAgIDQzLCAgICA0NCwgICAgIDAsICAgIDQ1LCAgICA0Niwg
ICAgNDcsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgIDQ4LCAgICA0OSwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAg
ICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAyMDcs
ICAgICAwLCAgICAgMCwgICAyMDgsICAgIDUyLAorICAgICAgIDAsICAgIDUzLCAgICA1NCwgICAg
IDAsICAgICAwLCAgIDIxMCwgICAyMTEsICAgIDU2LCAgICA1NywgICAyMTIsCisgICAgICA1OSwg
ICAgNjAsICAgIDYxLCAgICA2MiwgICAgNjMsICAgIDY0LCAgICAgMCwgICAgIDAsICAgICAwLCAg
ICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICA1
LCAgICAgNiwgICAgIDcsICAgICAwLAorICAgICAgIDksICAgICAwLCAgICAgMCwgICAgIDAsICAg
IDEwLCAgICAxMSwgICAgNjUsICAgMjEzLCAgICA2NywgICAgMTIsCisgICAgICAgMCwgICAgMTMs
ICAgIDE0LCAgICAxNSwgICAyNDQsICAgMjQ1LCAgICAxOCwgICAgMTksICAgICAwLCAgICAgMCwK
KyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgIDIwLCAgIDI0NiwgICAyNDcsICAgIDIzLCAgICAy
NCwgICAgMjUsICAgIDI2LAorICAgICAgIDAsICAgICAwLCAgIDIwNSwgICAgIDAsICAgICAwLCAg
ICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgMjksCisgICAgICAgMCwgICAgIDAsICAgIDMy
LCAgICAzMywgICAgMzQsICAgIDM1LCAgICAzNiwgICAgMzcsICAgIDM4LCAgICAzOSwKKyAgICAg
IDQwLCAgIDIwNiwgICAgNDEsICAgIDQyLCAgICA0MywgICAgNDQsICAgICAwLCAgICA0NSwgICAg
NDYsICAgIDQ3LAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsICAgICAwLCAgICA0OCwgICAgNDksCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAg
ICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
MjA3LAorICAgICAgIDAsICAgICAwLCAgIDIwOCwgICAgNTIsICAgICAwLCAgICA1MywgICAgNTQs
ICAgICAwLCAgIDYxNSwgICAyMTAsCisgICAgICAgMCwgICAgNTYsICAgIDU3LCAgIDIxMiwgICAg
NTksICAgIDYwLCAgICA2MSwgICAgNjIsICAgIDYzLCAgICA2NCwKKyAgICAgICAwLCAgICAgMCwg
ICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAor
ICAgICAgIDUsICAgICA2LCAgICAgNywgICAgIDAsICAgICA5LCAgICAgMCwgICAgIDAsICAgICAw
LCAgICAxMCwgICAgMTEsCisgICAgICA2NSwgICAyMTMsICAgIDY3LCAgICAxMiwgICAgIDAsICAg
IDEzLCAgICAxNCwgICAgMTUsICAgMjQ0LCAgIDI0NSwKKyAgICAgIDE4LCAgICAxOSwgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAyMCwgICAyNDYsICAgMjQ3LAorICAgICAg
MjMsICAgIDI0LCAgICAyNSwgICAgMjYsICAgICAwLCAgICAgMCwgICAyMDUsICAgICAwLCAgICAg
MCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAyOSwgICAgIDAsICAgICAwLCAg
ICAzMiwgICAgMzMsICAgIDM0LCAgICAzNSwKKyAgICAgIDM2LCAgICAzNywgICAgMzgsICAgIDM5
LCAgICA0MCwgICAyMDYsICAgIDQxLCAgICA0MiwgICAgNDMsICAgIDQ0LAorICAgICAgIDAsICAg
IDQ1LCAgICA0NiwgICAgNDcsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAg
IDAsCisgICAgICAgMCwgICAgIDAsICAgIDQ4LCAgICA0OSwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAg
ICAgMCwgICAyMDcsICAgICAwLCAgICAgMCwgICAyMDgsICAgIDUyLCAgICAgMCwgICAgNTMsCisg
ICAgICA1NCwgICAgIDAsICAgICAwLCAgIDIxMCwgICAgIDAsICAgIDU2LCAgICA1NywgICAyMTIs
ICAgIDU5LCAgICA2MCwKKyAgICAgIDYxLCAgICA2MiwgICAgNjMsICAgIDY0LCAgICAgMCwgICAg
IDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsICAgICA1LCAgICAgNiwgICAgIDcsICAgICAwLCAgICAgOSwgICAgIDAsCisgICAgICAg
MCwgICAgIDAsICAgIDEwLCAgICAxMSwgICAgNjUsICAgMjEzLCAgICA2NywgICAgMTIsICAgICAw
LCAgICAxMywKKyAgICAgIDE0LCAgICAxNSwgICAgMTYsICAgIDE3LCAgICAxOCwgICAgMTksICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgIDIwLCAgICAyMSwgICAgMjIs
ICAgIDIzLCAgICAyNCwgICAgMjUsICAgIDI2LCAgICAgMCwgICAgIDAsCisgICAgIDIwNSwgICAg
IDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgMjksICAgICAwLCAgICAg
MCwKKyAgICAgIDMyLCAgICAzMywgICAgMzQsICAgIDM1LCAgICAzNiwgICAgMzcsICAgIDM4LCAg
ICAzOSwgICAgNDAsICAgICAwLAorICAgICAgNDEsICAgIDQyLCAgICA0MywgICAgNDQsICAgICAw
LCAgICA0NSwgICAgNDYsICAgIDQ3LCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICA0OCwgICAgNDksICAgICAwLCAgICAgMCwKKyAg
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgMjA3LCAgICAgMCwgICAgIDAsCisgICAgIDIwOCwgICAgNTIsICAgICAwLCAg
ICA1MywgICAgNTQsICAgICAwLCAgIDUxMywgICAgIDAsICAgICAwLCAgICA1NiwKKyAgICAgIDU3
LCAgICA1OCwgICAgNTksICAgIDYwLCAgICA2MSwgICAgNjIsICAgIDYzLCAgICA2NCwgICAgIDAs
ICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAg
IDAsICAgICAwLCAgICAgNSwgICAgIDYsCisgICAgICAgNywgICAgIDAsICAgICA5LCAgICAgMCwg
ICAgIDAsICAgICAwLCAgICAxMCwgICAgMTEsICAgIDY1LCAgIDIxMywKKyAgICAgIDY3LCAgICAx
MiwgICAgIDAsICAgIDEzLCAgICAxNCwgICAgMTUsICAgMjQ0LCAgIDI0NSwgICAgMTgsICAgIDE5
LAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAyMCwgICAyNDYsICAg
MjQ3LCAgICAyMywgICAgMjQsCisgICAgICAyNSwgICAgMjYsICAgICAwLCAgICAgMCwgICAyMDUs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAyOSwgICAg
IDAsICAgICAwLCAgICAzMiwgICAgMzMsICAgIDM0LCAgICAzNSwgICAgMzYsICAgIDM3LAorICAg
ICAgMzgsICAgIDM5LCAgICA0MCwgICAgIDAsICAgIDQxLCAgICA0MiwgICAgNDMsICAgIDQ0LCAg
ICAgMCwgICAgNDUsCisgICAgICA0NiwgICAgNDcsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAw
LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgIDQ4LCAgICA0OSwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCisgICAgICAgMCwgICAyMDcsICAgICAwLCAgICAgMCwgICAyMDgsICAgIDUyLCAgICAg
MCwgICAgNTMsICAgIDU0LCAgICAgMCwKKyAgICAgMjA5LCAgICAgMCwgICAgIDAsICAgIDU2LCAg
ICA1NywgICAgNTgsICAgIDU5LCAgICA2MCwgICAgNjEsICAgIDYyLAorICAgICAgNjMsICAgIDY0
LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAs
CisgICAgICAgMCwgICAgIDAsICAgICA1LCAgICAgNiwgICAgIDcsICAgICAwLCAgICAgOSwgICAg
IDAsICAgICAwLCAgICAgMCwKKyAgICAgIDEwLCAgICAxMSwgICAgNjUsICAgMjEzLCAgICA2Nywg
ICAgMTIsICAgICAwLCAgICAxMywgICAgMTQsICAgIDE1LAorICAgICAyNDQsICAgMjQ1LCAgICAx
OCwgICAgMTksICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgMjAsCisgICAg
IDI0NiwgICAyNDcsICAgIDIzLCAgICAyNCwgICAgMjUsICAgIDI2LCAgICAgMCwgICAgIDAsICAg
MjA1LCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgMjks
ICAgICAwLCAgICAgMCwgICAgMzIsICAgIDMzLAorICAgICAgMzQsICAgIDM1LCAgICAzNiwgICAg
MzcsICAgIDM4LCAgICAzOSwgICAgNDAsICAgICAwLCAgICA0MSwgICAgNDIsCisgICAgICA0Mywg
ICAgNDQsICAgICAwLCAgICA0NSwgICAgNDYsICAgIDQ3LCAgICAgMCwgICAgIDAsICAgICAwLCAg
ICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICA0OCwgICAgNDksICAgICAw
LCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgMjA3LCAgICAgMCwgICAgIDAsICAgMjA4LCAgICA1MiwK
KyAgICAgICAwLCAgICA1MywgICAgNTQsICAgICAwLCAgIDgwOSwgICAgIDAsICAgICAwLCAgICA1
NiwgICAgNTcsICAgIDU4LAorICAgICAgNTksICAgIDYwLCAgICA2MSwgICAgNjIsICAgIDYzLCAg
ICA2NCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAw
LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgNSwgICAgIDYsICAgICA3LCAgICAgMCwKKyAgICAg
ICA5LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAxMCwgICAgMTEsICAgIDY1LCAgIDIxMywgICAg
NjcsICAgIDEyLAorICAgICAgIDAsICAgIDEzLCAgICAxNCwgICAgMTUsICAgMjQ0LCAgIDI0NSwg
ICAgMTgsICAgIDE5LCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAy
MCwgICAyNDYsICAgMjQ3LCAgICAyMywgICAgMjQsICAgIDI1LCAgICAyNiwKKyAgICAgICAwLCAg
ICAgMCwgICAyMDUsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
IDI5LAorICAgICAgIDAsICAgICAwLCAgICAzMiwgICAgMzMsICAgIDM0LCAgICAzNSwgICAgMzYs
ICAgIDM3LCAgICAzOCwgICAgMzksCisgICAgICA0MCwgICAgIDAsICAgIDQxLCAgICA0MiwgICAg
NDMsICAgIDQ0LCAgICAgMCwgICAgNDUsICAgIDQ2LCAgICA0NywKKyAgICAgICAwLCAgICAgMCwg
ICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgNDgsICAgIDQ5LAor
ICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAw
LCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDIwNywKKyAgICAgICAwLCAgICAgMCwgICAyMDgs
ICAgIDUyLCAgICAgMCwgICAgNTMsICAgIDU0LCAgICAgMCwgICA1MTMsICAgICAwLAorICAgICAg
IDAsICAgIDU2LCAgICA1NywgICAgNTgsICAgIDU5LCAgICA2MCwgICAgNjEsICAgIDYyLCAgICA2
MywgICAgNjQsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAg
ICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICA1LCAgICAgNiwgICAgIDcsICAgICAw
LCAgICAgOSwgICAgIDAsICAgICAwLCAgICAgMCwgICAgMTAsICAgIDExLAorICAgICAgNjUsICAg
MjEzLCAgICA2NywgICAgMTIsICAgICAwLCAgICAxMywgICAgMTQsICAgIDE1LCAgIDI0NCwgICAy
NDUsCisgICAgICAxOCwgICAgMTksICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgMjAsICAgMjQ2LCAgIDI0NywKKyAgICAgIDIzLCAgICAyNCwgICAgMjUsICAgIDI2LCAgICAg
MCwgICAgIDAsICAgMjA1LCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAg
ICAgMCwgICAgMjksICAgICAwLCAgICAgMCwgICAgMzIsICAgIDMzLCAgICAzNCwgICAgMzUsCisg
ICAgICAzNiwgICAgMzcsICAgIDM4LCAgICAzOSwgICAgNDAsICAgICAwLCAgICA0MSwgICAgNDIs
ICAgIDQzLCAgICA0NCwKKyAgICAgICAwLCAgICA0NSwgICAgNDYsICAgIDQ3LCAgICAgMCwgICAg
IDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICA0OCwg
ICAgNDksICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAw
LCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgMjA3LCAgICAgMCwgICAgIDAsICAg
MjA4LCAgICA1MiwgICAgIDAsICAgIDUzLAorICAgICAgNTQsICAgICAwLCAgIDYxNSwgICAgIDAs
ICAgICAwLCAgICA1NiwgICAgNTcsICAgIDU4LCAgICA1OSwgICAgNjAsCisgICAgICA2MSwgICAg
NjIsICAgIDYzLCAgICA2NCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgNSwgICAgIDYsICAgICA3LCAg
ICAgMCwgICAgIDksICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAxMCwgICAgMTEsICAgIDY1
LCAgIDIxMywgICAgNjcsICAgIDEyLCAgICAgMCwgICAgMTMsCisgICAgICAxNCwgICAgMTUsICAg
MjQ0LCAgIDI0NSwgICAgMTgsICAgIDE5LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAg
ICAgICAwLCAgICAyMCwgICAyNDYsICAgMjQ3LCAgICAyMywgICAgMjQsICAgIDI1LCAgICAyNiwg
ICAgIDAsICAgICAwLAorICAgICAyMDUsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgIDI5LCAgICAgMCwgICAgIDAsCisgICAgICAzMiwgICAgMzMsICAgIDM0LCAg
ICAzNSwgICAgMzYsICAgIDM3LCAgICAzOCwgICAgMzksICAgIDQwLCAgICAgMCwKKyAgICAgIDQx
LCAgICA0MiwgICAgNDMsICAgIDQ0LCAgICAgMCwgICAgNDUsICAgIDQ2LCAgICA0NywgICAgIDAs
ICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAg
NDgsICAgIDQ5LCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDIwNywgICAgIDAsICAgICAw
LAorICAgICAyMDgsICAgIDUyLCAgICAgMCwgICAgNTMsICAgIDU0LCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgNTYsCisgICAgICA1NywgICAgNTgsICAgIDU5LCAgICA2MCwgICAgNjEs
ICAgIDYyLCAgICA2MywgICAgNjQsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAg
IDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDUsICAgICA2LAorICAg
ICAgIDcsICAgICAwLCAgICAgOSwgICAgIDAsICAgICAwLCAgICAgMCwgICAgMTAsICAgIDExLCAg
ICA2NSwgICAyMTMsCisgICAgICA2NywgICAgMTIsICAgICAwLCAgICAxMywgICAgMTQsICAgIDE1
LCAgICAxNiwgICAgMTcsICAgIDE4LCAgICAxOSwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgMjAsICAgIDIxLCAgICAyMiwgICAgMjMsICAgIDI0LAorICAgICAgMjUs
ICAgIDI2LCAgICAgMCwgICAgIDAsICAgMjA1LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCisgICAgICAgMCwgICAgMjksICAgICAwLCAgICAgMCwgICAgMzIsICAgIDMzLCAgICAz
NCwgICAgMzUsICAgIDM2LCAgICAzNywKKyAgICAgIDM4LCAgICAzOSwgICAgNDAsICAgICAwLCAg
ICA0MSwgICAgNDIsICAgIDQzLCAgICA0NCwgICAgIDAsICAgIDQ1LAorICAgICAgNDYsICAgIDQ3
LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAs
CisgICAgICA0OCwgICAgNDksICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAg
IDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgMjA3LCAgICAg
MCwgICAgIDAsICAgMjA4LCAgICA1MiwgICAgIDAsICAgIDUzLCAgICA1NCwgICAgIDAsCisgICAg
ICAgMCwgICAgIDAsICAgICAwLCAgICA1NiwgICAgNTcsICAgIDU4LCAgICA1OSwgICAgNjAsICAg
IDYxLCAgICA2MiwKKyAgICAgIDYzLCAgICA2NCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgNSwgICAg
IDYsICAgICA3LCAgICAgMCwgICAgIDksICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAxMCwg
ICAgMTEsICAgIDY1LCAgIDIxMywgICAgNjcsICAgIDEyLCAgICAgMCwgICAgMTMsICAgIDE0LCAg
ICAxNSwKKyAgICAgIDE2LCAgICAxNywgICAgMTgsICAgIDE5LCAgICAgMCwgICAgIDAsICAgICAw
LCAgICAgMCwgICAgIDAsICAgIDIwLAorICAgICAgMjEsICAgIDIyLCAgICAyMywgICAgMjQsICAg
IDI1LCAgICAyNiwgICAgIDAsICAgICAwLCAgICAyNywgICAgIDAsCisgICAgICAgMCwgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgIDI5LCAgICAgMCwgICAgIDAsICAgIDMyLCAgICAzMywK
KyAgICAgIDM0LCAgICAzNSwgICAgMzYsICAgIDM3LCAgICAzOCwgICAgMzksICAgIDQwLCAgICAg
MCwgICAgNDEsICAgIDQyLAorICAgICAgNDMsICAgIDQ0LCAgICAgMCwgICAgNDUsICAgIDQ2LCAg
ICA0NywgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAw
LCAgICAgMCwgICAgNDgsICAgIDQ5LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAg
IDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDIwNywg
ICAgIDAsICAgICAwLCAgIDIwOCwgICAgNTIsCisgICAgICAgMCwgICAgNTMsICAgIDU0LCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgNTYsICAgIDU3LCAgICA1OCwKKyAgICAgIDU5LCAg
ICA2MCwgICAgNjEsICAgIDYyLCAgICA2MywgICAgNjQsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDUs
ICAgICA2LCAgICAgNywgICAgIDAsCisgICAgICAgOSwgICAgIDAsICAgICAwLCAgICAgMCwgICAg
MTAsICAgIDExLCAgICA2NSwgICAgNjYsICAgIDY3LCAgICAxMiwKKyAgICAgICAwLCAgICAxMywg
ICAgMTQsICAgIDE1LCAgIDI0NCwgICAyNDUsICAgIDE4LCAgICAxOSwgICAgIDAsICAgICAwLAor
ICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgMjAsICAgMjQ2LCAgIDI0NywgICAgMjMsICAgIDI0
LCAgICAyNSwgICAgMjYsCisgICAgICAgMCwgICAgIDAsICAgMjA1LCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDI3NCwKKyAgICAgICAwLCAgICAgMCwgICAgMzIs
ICAgIDMzLCAgICAzNCwgICAgMzUsICAgIDM2LCAgICAzNywgICAgMzgsICAgIDM5LAorICAgICAg
NDAsICAgICAwLCAgICA0MSwgICAgNDIsICAgIDQzLCAgICA0NCwgICAgIDAsICAgIDQ1LCAgICA0
NiwgICAgNDcsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAg
ICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAw
LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAy
NzUsCisgICAgICAgMCwgICAgIDAsICAgMzI1LCAgICA1MiwgICAgIDAsICAgIDUzLCAgICA1NCwg
ICAgIDAsICAgMzI2LCAgICAgMCwKKyAgICAgICAwLCAgICA1NiwgICAgNTcsICAgIDU4LCAgICA1
OSwgICAgNjAsICAgIDYxLCAgICA2MiwgICAgNjMsICAgIDY0LAorICAgICAgIDAsICAgICAwLCAg
ICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDUsICAgICA2LCAgICAgNywgICAgIDAsCisg
ICAgICAgOSwgICAgIDAsICAgICAwLCAgICAgMCwgICAgMTAsICAgIDExLCAgICAgMCwgICAgIDAs
ICAgICAwLCAgICAxMiwKKyAgICAgMjc2LCAgICAxMywgICAgMTQsICAgIDE1LCAgIDI0NCwgICAy
NDUsICAgIDE4LCAgICAxOSwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgMjAsICAgMjQ2LCAgIDI0NywgICAgMjMsICAgIDI0LCAgICAyNSwgICAgMjYsCisgICAgICAg
MCwgICAgIDAsICAgMjA1LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAw
LCAgIDI3NCwKKyAgICAgICAwLCAgICAgMCwgICAgMzIsICAgIDMzLCAgICAzNCwgICAgMzUsICAg
IDM2LCAgICAzNywgICAgMzgsICAgIDM5LAorICAgICAgNDAsICAgICAwLCAgICA0MSwgICAgNDIs
ICAgIDQzLCAgICA0NCwgICAgIDAsICAgIDQ1LCAgICA0NiwgICAgNDcsCisgICAgICAgMCwgICAg
IDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAg
ICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAw
LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAzNzIsCisgICAgICAgMCwgICAgIDAsICAg
IDUxLCAgICA1MiwgICAgIDAsICAgIDUzLCAgICA1NCwgICAgIDAsICAgIDU1LCAgICAgMCwKKyAg
ICAgICAwLCAgICA1NiwgICAgNTcsICAgIDU4LCAgICA1OSwgICAgNjAsICAgIDYxLCAgICA2Miwg
ICAgNjMsICAgIDY0LAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDUsICAgICA2LCAgICAgNywgICAgIDAsCisgICAgICAgOSwgICAgIDAsICAgICAwLCAg
ICAgMCwgICAgMTAsICAgIDExLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAxMiwKKyAgICAgMjc2
LCAgICAxMywgICAgMTQsICAgIDE1LCAgIDI0NCwgICAyNDUsICAgIDE4LCAgICAxOSwgICAgIDAs
ICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgMjAsICAgMjQ2LCAgIDI0NywgICAg
MjMsICAgIDI0LCAgICAyNSwgICAgMjYsCisgICAgICAgMCwgICAgIDAsICAgMjA1LCAgICAgMCwg
ICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDI3NCwKKyAgICAgICAwLCAgICAg
MCwgICAgMzIsICAgIDMzLCAgICAzNCwgICAzODAsICAgIDM2LCAgICAzNywgICAgMzgsICAgMzgx
LAorICAgICAgNDAsICAgICAwLCAgICA0MSwgICAgNDIsICAgIDQzLCAgICA0NCwgICAgIDAsICAg
IDQ1LCAgICA0NiwgICAgNDcsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAg
IDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAg
ICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDM4MiwgICAgIDAsICAgICAwLCAg
ICAgMCwgICAzODMsCisgICAgICAgMCwgICAgIDAsICAgMjA4LCAgICA1MiwgICAgIDAsICAgIDUz
LCAgICA1NCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICA1NiwgICAgNTcsICAg
IDU4LCAgICA1OSwgICAgNjAsICAgIDYxLCAgICA2MiwgICAgNjMsICAgIDY0LAorICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDUsICAgICA2LCAgICAgNywg
ICAgIDAsCisgICAgICAgOSwgICAgIDAsICAgICAwLCAgICAgMCwgICAgMTAsICAgIDExLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAxMiwKKyAgICAgMjc2LCAgICAxMywgICAgMTQsICAgIDE1LCAg
IDI0NCwgICAyNDUsICAgIDE4LCAgICAxOSwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAw
LCAgICAgMCwgICAgMjAsICAgMjQ2LCAgIDI0NywgICAgMjMsICAgIDI0LCAgICAyNSwgICAgMjYs
CisgICAgICAgMCwgICAgIDAsICAgMjA1LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAg
IDAsICAgICAwLCAgIDI3NCwKKyAgICAgICAwLCAgICAgMCwgICAgMzIsICAgIDMzLCAgICAzNCwg
ICAzODAsICAgIDM2LCAgICAzNywgICAgMzgsICAgMzgxLAorICAgICAgNDAsICAgICAwLCAgICA0
MSwgICAgNDIsICAgIDQzLCAgICA0NCwgICAgIDAsICAgIDQ1LCAgICA0NiwgICAgNDcsCisgICAg
ICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAg
IDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAzODMsCisgICAgICAgMCwg
ICAgIDAsICAgMjA4LCAgICA1MiwgICAgIDAsICAgIDUzLCAgICA1NCwgICAgIDAsICAgICAwLCAg
ICAgMCwKKyAgICAgICAwLCAgICA1NiwgICAgNTcsICAgIDU4LCAgICA1OSwgICAgNjAsICAgIDYx
LCAgICA2MiwgICAgNjMsICAgIDY0LAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDUsICAgICA2LCAgICAgNywgICAgIDAsCisgICAgICAgOSwgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgMTAsICAgIDExLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAxMiwK
KyAgICAgMjc2LCAgICAxMywgICAgMTQsICAgIDE1LCAgIDI0NCwgICAyNDUsICAgIDE4LCAgICAx
OSwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgMjAsICAgMjQ2LCAg
IDI0NywgICAgMjMsICAgIDI0LCAgICAyNSwgICAgMjYsCisgICAgICAgMCwgICAgIDAsICAgMjA1
LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDI3NCwKKyAgICAg
ICAwLCAgICAgMCwgICAgMzIsICAgIDMzLCAgICAzNCwgICAgMzUsICAgIDM2LCAgICAzNywgICAg
MzgsICAgIDM5LAorICAgICAgNDAsICAgICAwLCAgICA0MSwgICAgNDIsICAgIDQzLCAgICA0NCwg
ICAgIDAsICAgIDQ1LCAgICA0NiwgICAgNDcsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAg
ICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAs
ICAgICAwLCAgICAgMCwgICAyNzUsCisgICAgICAgMCwgICAgIDAsICAgMzI1LCAgICA1MiwgICAg
IDAsICAgIDUzLCAgICA1NCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICA1Niwg
ICAgNTcsICAgIDU4LCAgICA1OSwgICAgNjAsICAgIDYxLCAgICA2MiwgICAgNjMsICAgIDY0LAor
ICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDUsICAgICA2
LCAgICAgNywgICAgIDAsCisgICAgICAgOSwgICAgIDAsICAgICAwLCAgICAgMCwgICAgMTAsICAg
IDExLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAxMiwKKyAgICAgMjc2LCAgICAxMywgICAgMTQs
ICAgIDE1LCAgIDI0NCwgICAyNDUsICAgIDE4LCAgICAxOSwgICAgIDAsICAgICAwLAorICAgICAg
IDAsICAgICAwLCAgICAgMCwgICAgMjAsICAgMjQ2LCAgIDI0NywgICAgMjMsICAgIDI0LCAgICAy
NSwgICAgMjYsCisgICAgICAgMCwgICAgIDAsICAgMjA1LCAgICAgMCwgICAgIDAsICAgICAwLCAg
ICAgMCwgICAgIDAsICAgICAwLCAgIDI3NCwKKyAgICAgICAwLCAgICAgMCwgICAgMzIsICAgIDMz
LCAgICAzNCwgICAgMzUsICAgIDM2LCAgICAzNywgICAgMzgsICAgIDM5LAorICAgICAgNDAsICAg
ICAwLCAgICA0MSwgICAgNDIsICAgIDQzLCAgICA0NCwgICAgIDAsICAgIDQ1LCAgICA0NiwgICAg
NDcsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAg
ICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICA5MDAsCisg
ICAgICAgMCwgICAgIDAsICAgMjA4LCAgICA1MiwgICAgIDAsICAgIDUzLCAgICA1NCwgICAgIDAs
ICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICA1NiwgICAgNTcsICAgIDU4LCAgICA1OSwgICAg
NjAsICAgIDYxLCAgICA2MiwgICAgNjMsICAgIDY0LAorICAgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsICAgICAwLCAgICAgMCwgICAgIDUsICAgICA2LCAgICAgNywgICAgIDAsCisgICAgICAg
OSwgICAgIDAsICAgICAwLCAgICAgMCwgICAgMTAsICAgIDExLCAgICAgMCwgICAgIDAsICAgICAw
LCAgICAxMiwKKyAgICAgMjc2LCAgICAxMywgICAgMTQsICAgIDE1LCAgIDI0NCwgICAyNDUsICAg
IDE4LCAgICAxOSwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgMjAs
ICAgMjQ2LCAgIDI0NywgICAgMjMsICAgIDI0LCAgICAyNSwgICAgMjYsCisgICAgICAgMCwgICAg
IDAsICAgMjA1LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDI3
NCwKKyAgICAgICAwLCAgICAgMCwgICAgMzIsICAgIDMzLCAgICAzNCwgICAgMzUsICAgIDM2LCAg
ICAzNywgICAgMzgsICAgIDM5LAorICAgICAgNDAsICAgICAwLCAgICA0MSwgICAgNDIsICAgIDQz
LCAgICA0NCwgICAgIDAsICAgIDQ1LCAgICA0NiwgICAgNDcsCisgICAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAg
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgNTU3LCAgIDU1OCwgICA5NzUsCisgICAgICAgMCwgICA1NTksICAgMjA4LCAg
ICA1MiwgICAgIDAsICAgIDUzLCAgICA1NCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAw
LCAgICA1NiwgICAgNTcsICAgIDU4LCAgICA1OSwgICAgNjAsICAgIDYxLCAgICA2MiwgICAgNjMs
ICAgIDY0LAorICAgICAxNjcsICAgMTY4LCAgIDE2OSwgICAxNzAsICAgMTcxLCAgIDE3MiwgICAx
NzMsICAgMTc0LCAgIDE3NSwgICAgIDAsCisgICAgICAgMCwgICAxNzYsICAgMTc3LCAgICAgMCwg
ICAgIDAsICAgMTc4LCAgIDE3OSwgICAxODAsICAgMTgxLCAgICAgMCwKKyAgICAgMjc2LCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAw
LAorICAgICAxODIsICAgMTgzLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAx
ODQsICAgMTg1LCAgIDE4NiwgICAxODcsICAgMTg4LCAgIDE4OSwgICAxOTAsICAgMTkxLAorICAg
ICAxOTIsICAgMTkzLCAgICAgMCwgICAxOTQsICAgMTk1LCAgIDU2NSwgICA1NjYsICAgICAwLCAg
ICAgMCwgICA1NjcsCisgICAgIDE5NiwgICAyMzIsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAw
LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAxNjcsICAgMTY4LAorICAgICAxNjks
ICAgMTcwLCAgIDE3MSwgICAxNzIsICAgMTczLCAgIDE3NCwgICAxNzUsICAgICAwLCAgICAgMCwg
ICAxNzYsCisgICAgIDE3NywgICAgIDAsICAgICAwLCAgIDE3OCwgICAxNzksICAgMTgwLCAgIDE4
MSwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAg
ICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAxODIsICAgMTgzLAorICAgICAgIDAsICAgICAw
LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAs
CisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAg
IDAsICAgICAwLCAgICAgMCwKKyAgICAgMTg0LCAgIDE4NSwgICAxODYsICAgMTg3LCAgIDE4OCwg
ICAxODksICAgMTkwLCAgIDE5MSwgICAxOTIsICAgMTkzLAorICAgICAgIDAsICAgMTk0LCAgIDE5
NSwgICA2MTksICAgNTU4LCAgICAgMCwgICAgIDAsICAgNjIwLCAgIDE5NiwgICAyMzIsCisgICAg
ICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAs
ICAgMTY3LCAgIDE2OCwgICAxNjksICAgMTcwLAorICAgICAxNzEsICAgMTcyLCAgIDE3MywgICAx
NzQsICAgMTc1LCAgICAgMCwgICAgIDAsICAgMTc2LCAgIDE3NywgICAgIDAsCisgICAgICAgMCwg
ICAxNzgsICAgMTc5LCAgIDE4MCwgICAxODEsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAg
ICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgMTgy
LCAgIDE4MywgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgMTg0LCAgIDE4NSwK
KyAgICAgMTg2LCAgIDE4NywgICAxODgsICAgMTg5LCAgIDE5MCwgICAxOTEsICAgMTkyLCAgIDE5
MywgICAgIDAsICAgMTk0LAorICAgICAxOTUsICAgNjIyLCAgIDU2NiwgICAgIDAsICAgICAwLCAg
IDYyMywgICAxOTYsICAgMjMyLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAw
LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDE2NywgICAxNjgsICAgMTY5LCAgIDE3MCwgICAx
NzEsICAgMTcyLAorICAgICAxNzMsICAgMTc0LCAgIDE3NSwgICAgIDAsICAgICAwLCAgIDE3Niwg
ICAxNzcsICAgICAwLCAgICAgMCwgICAxNzgsCisgICAgIDE3OSwgICAxODAsICAgMTgxLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAg
ICAgMCwgICAgIDAsICAgICAwLCAgIDE4MiwgICAxODMsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAg
IDAsICAgICAwLCAgIDE4NCwgICAxODUsICAgMTg2LCAgIDE4NywKKyAgICAgMTg4LCAgIDE4OSwg
ICAxOTAsICAgMTkxLCAgIDE5MiwgICAxOTMsICAgICAwLCAgIDE5NCwgICAxOTUsICAgNjQ2LAor
ICAgICA1NTgsICAgICAwLCAgICAgMCwgICA2NDcsICAgMTk2LCAgIDIzMiwgICAgIDAsICAgICAw
LCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAxNjcs
ICAgMTY4LCAgIDE2OSwgICAxNzAsICAgMTcxLCAgIDE3MiwgICAxNzMsICAgMTc0LAorICAgICAx
NzUsICAgICAwLCAgICAgMCwgICAxNzYsICAgMTc3LCAgICAgMCwgICAgIDAsICAgMTc4LCAgIDE3
OSwgICAxODAsCisgICAgIDE4MSwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAg
ICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAxODIsICAgMTgz
LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAg
IDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAxODQsICAgMTg1LCAgIDE4Niwg
ICAxODcsICAgMTg4LCAgIDE4OSwKKyAgICAgMTkwLCAgIDE5MSwgICAxOTIsICAgMTkzLCAgICAg
MCwgICAxOTQsICAgMTk1LCAgIDY0OSwgICA1NjYsICAgICAwLAorICAgICAgIDAsICAgNjUwLCAg
IDE5NiwgICAyMzIsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisg
ICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAs
ICAgICAwLCAgICAgMCwKKyAgICAgMTY3LCAgIDE2OCwgICAxNjksICAgMTcwLCAgIDE3MSwgICAx
NzIsICAgMTczLCAgIDE3NCwgICAxNzUsICAgICAwLAorICAgICAgIDAsICAgMTc2LCAgIDE3Nywg
ICAgIDAsICAgICAwLCAgIDE3OCwgICAxNzksICAgMTgwLCAgIDE4MSwgICAgIDAsCisgICAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAw
LCAgICAgMCwKKyAgICAgMTgyLCAgIDE4MywgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAg
IDAsICAgMTg0LCAgIDE4NSwgICAxODYsICAgMTg3LCAgIDE4OCwgICAxODksICAgMTkwLCAgIDE5
MSwKKyAgICAgMTkyLCAgIDE5MywgICAgIDAsICAgMTk0LCAgIDE5NSwgICA3MTUsICAgNTU4LCAg
ICAgMCwgICAgIDAsICAgNzE2LAorICAgICAxOTYsICAgMjMyLCAgICAgMCwgICAgIDAsICAgICAw
LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgMTY3LCAgIDE2OCwKKyAg
ICAgMTY5LCAgIDE3MCwgICAxNzEsICAgMTcyLCAgIDE3MywgICAxNzQsICAgMTc1LCAgICAgMCwg
ICAgIDAsICAgMTc2LAorICAgICAxNzcsICAgICAwLCAgICAgMCwgICAxNzgsICAgMTc5LCAgIDE4
MCwgICAxODEsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAg
ICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgMTgyLCAgIDE4MywKKyAgICAgICAw
LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAs
ICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAg
IDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgIDE4NCwgICAxODUsICAgMTg2LCAgIDE4Nywg
ICAxODgsICAgMTg5LCAgIDE5MCwgICAxOTEsICAgMTkyLCAgIDE5MywKKyAgICAgICAwLCAgIDE5
NCwgICAxOTUsICAgNzE4LCAgIDU2NiwgICAgIDAsICAgICAwLCAgIDcxOSwgICAxOTYsICAgMjMy
LAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAs
ICAgICAwLCAgIDE2NywgICAxNjgsICAgMTY5LCAgIDE3MCwKKyAgICAgMTcxLCAgIDE3MiwgICAx
NzMsICAgMTc0LCAgIDE3NSwgICAgIDAsICAgICAwLCAgIDE3NiwgICAxNzcsICAgICAwLAorICAg
ICAgIDAsICAgMTc4LCAgIDE3OSwgICAxODAsICAgMTgxLCAgICAgMCwgICAgIDAsICAgICAwLCAg
ICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAw
LCAgIDE4MiwgICAxODMsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDE4NCwg
ICAxODUsCisgICAgIDE4NiwgICAxODcsICAgMTg4LCAgIDE4OSwgICAxOTAsICAgMTkxLCAgIDE5
MiwgICAxOTMsICAgICAwLCAgIDE5NCwKKyAgICAgMTk1LCAgIDcyNCwgICA1NTgsICAgICAwLCAg
ICAgMCwgICA3MjUsICAgMTk2LCAgIDIzMiwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAw
LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAs
CisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAxNjcsICAgMTY4LCAgIDE2OSwgICAx
NzAsICAgMTcxLCAgIDE3MiwKKyAgICAgMTczLCAgIDE3NCwgICAxNzUsICAgICAwLCAgICAgMCwg
ICAxNzYsICAgMTc3LCAgICAgMCwgICAgIDAsICAgMTc4LAorICAgICAxNzksICAgMTgwLCAgIDE4
MSwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAg
ICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAxODIsICAgMTgzLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAg
IDAsICAgICAwLCAgICAgMCwgICAxODQsICAgMTg1LCAgIDE4NiwgICAxODcsCisgICAgIDE4OCwg
ICAxODksICAgMTkwLCAgIDE5MSwgICAxOTIsICAgMTkzLCAgICAgMCwgICAxOTQsICAgMTk1LCAg
IDYwNCwKKyAgICAgNTY2LCAgICAgMCwgICAgIDAsICAgNjA1LCAgIDE5NiwgICAyMzIsICAgICAw
LCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAs
ICAgMTY3LCAgIDE2OCwgICAxNjksICAgMTcwLCAgIDE3MSwgICAxNzIsICAgMTczLCAgIDE3NCwK
KyAgICAgMTc1LCAgICAgMCwgICAgIDAsICAgMTc2LCAgIDE3NywgICAgIDAsICAgICAwLCAgIDE3
OCwgICAxNzksICAgMTgwLAorICAgICAxODEsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAg
ICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgMTgy
LCAgIDE4MywgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAg
IDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgMTg0LCAgIDE4NSwg
ICAxODYsICAgMTg3LCAgIDE4OCwgICAxODksCisgICAgIDE5MCwgICAxOTEsICAgMTkyLCAgIDE5
MywgICAgIDAsICAgMTk0LCAgIDE5NSwgICA4MTQsICAgNTU4LCAgICAgMCwKKyAgICAgICAwLCAg
IDgxNSwgICAxOTYsICAgMjMyLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgIDE2NywgICAxNjgsICAgMTY5LCAgIDE3MCwgICAx
NzEsICAgMTcyLCAgIDE3MywgICAxNzQsICAgMTc1LCAgICAgMCwKKyAgICAgICAwLCAgIDE3Niwg
ICAxNzcsICAgICAwLCAgICAgMCwgICAxNzgsICAgMTc5LCAgIDE4MCwgICAxODEsICAgICAwLAor
ICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAw
LCAgICAgMCwgICAgIDAsCisgICAgIDE4MiwgICAxODMsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAg
IDAsICAgICAwLCAgIDE4NCwgICAxODUsICAgMTg2LCAgIDE4NywgICAxODgsICAgMTg5LCAgIDE5
MCwgICAxOTEsCisgICAgIDE5MiwgICAxOTMsICAgICAwLCAgIDE5NCwgICAxOTUsICAgODE3LCAg
IDU2NiwgICAgIDAsICAgICAwLCAgIDgxOCwKKyAgICAgMTk2LCAgIDIzMiwgICAgIDAsICAgICAw
LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDE2NywgICAx
NjgsCisgICAgIDE2OSwgICAxNzAsICAgMTcxLCAgIDE3MiwgICAxNzMsICAgMTc0LCAgIDE3NSwg
ICAgIDAsICAgICAwLCAgIDE3NiwKKyAgICAgMTc3LCAgICAgMCwgICAgIDAsICAgMTc4LCAgIDE3
OSwgICAxODAsICAgMTgxLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAg
ICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDE4MiwgICAxODMsCisg
ICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAs
ICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAg
IDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAxODQsICAgMTg1LCAgIDE4Niwg
ICAxODcsICAgMTg4LCAgIDE4OSwgICAxOTAsICAgMTkxLCAgIDE5MiwgICAxOTMsCisgICAgICAg
MCwgICAxOTQsICAgMTk1LCAgMTAxNSwgICA1NTgsICAgICAwLCAgICAgMCwgIDEwMTYsICAgMTk2
LCAgIDIzMiwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAs
ICAgICAwLCAgICAgMCwgICAxNjcsICAgMTY4LCAgIDE2OSwgICAxNzAsCisgICAgIDE3MSwgICAx
NzIsICAgMTczLCAgIDE3NCwgICAxNzUsICAgICAwLCAgICAgMCwgICAxNzYsICAgMTc3LCAgICAg
MCwKKyAgICAgICAwLCAgIDE3OCwgICAxNzksICAgMTgwLCAgIDE4MSwgICAgIDAsICAgICAwLCAg
ICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAw
LCAgICAgMCwgICAxODIsICAgMTgzLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAg
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAxODQsICAgMTg1LAorICAgICAxODYsICAgMTg3LCAgIDE4OCwgICAxODksICAgMTkwLCAgIDE5
MSwgICAxOTIsICAgMTkzLCAgICAgMCwgICAxOTQsCisgICAgIDE5NSwgIDEwNDksICAgNTU4LCAg
ICAgMCwgICAgIDAsICAxMDUwLCAgIDE5NiwgICAyMzIsICAgICAwLCAgICAgMCwKKyAgICAgICAw
LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAs
ICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgMTY3LCAgIDE2OCwgICAx
NjksICAgMTcwLCAgIDE3MSwgICAxNzIsCisgICAgIDE3MywgICAxNzQsICAgMTc1LCAgICAgMCwg
ICAgIDAsICAgMTc2LCAgIDE3NywgICAgIDAsICAgICAwLCAgIDE3OCwKKyAgICAgMTc5LCAgIDE4
MCwgICAxODEsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAw
LAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgMTgyLCAgIDE4MywgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAg
IDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgMTg0LCAgIDE4NSwgICAxODYsICAgMTg3LAorICAg
ICAxODgsICAgMTg5LCAgIDE5MCwgICAxOTEsICAgMTkyLCAgIDE5MywgICAgIDAsICAgMTk0LCAg
IDE5NSwgIDEwNTIsCisgICAgIDU2NiwgICAgIDAsICAgICAwLCAgMTA1MywgICAxOTYsICAgMjMy
LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAs
ICAgICAwLCAgIDE2NywgICAxNjgsICAgMTY5LCAgIDE3MCwgICAxNzEsICAgMTcyLCAgIDE3Mywg
ICAxNzQsCisgICAgIDE3NSwgICAgIDAsICAgICAwLCAgIDE3NiwgICAxNzcsICAgICAwLCAgICAg
MCwgICAxNzgsICAgMTc5LCAgIDE4MCwKKyAgICAgMTgxLCAgICAgMCwgICAgIDAsICAgICAwLCAg
ICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAw
LCAgIDE4MiwgICAxODMsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAs
CisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAg
IDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDE4NCwg
ICAxODUsICAgMTg2LCAgIDE4NywgICAxODgsICAgMTg5LAorICAgICAxOTAsICAgMTkxLCAgIDE5
MiwgICAxOTMsICAgICAwLCAgIDE5NCwgICAxOTUsICAgNjA0LCAgIDU2NiwgICAgIDAsCisgICAg
ICAgMCwgICA2MDUsICAgMTk2LCAgIDIzMiwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAxNjcsICAgMTY4LCAgIDE2OSwgICAx
NzAsICAgMTcxLCAgIDE3MiwgICAxNzMsICAgMTc0LCAgIDE3NSwgICAgIDAsCisgICAgICAgMCwg
ICAxNzYsICAgMTc3LCAgICAgMCwgICAgIDAsICAgMTc4LCAgIDE3OSwgICAxODAsICAgMTgxLCAg
ICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAw
LCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAxODIsICAgMTgzLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwK
KyAgICAgICAwLCAgICAgMCwgICAxODQsICAgMTg1LCAgIDE4NiwgICAxODcsICAgMTg4LCAgIDE4
OSwgICAxOTAsICAgMTkxLAorICAgICAxOTIsICAgMTkzLCAgICAgMCwgICAxOTQsICAgMTk1LCAg
ICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgIDE5NgorfTsKKworc3RhdGlj
IGNvbnN0IHl5dHlwZV9pbnQxNiB5eWNoZWNrW10gPQoreworICAgICAgIDIsICAgMTAwLCAgICA5
MCwgICAgNTcsICAgIDY5LCAgICA5MywgICAgODcsICAgMzYwLCAgICAgMiwgICAgIDgsCisgICAg
ICAgNCwgICAgMjIsICAgIDkyLCAgIDMyOCwgICAgMjgsICAgIDI3LCAgICA1NSwgICAgMjksICAg
IDk5LCAgICAgOCwKKyAgICAgMjY4LCAgICAgOCwgICAgNTEsICAgMjI2LCAgIDI3MiwgICAzNjUs
ICAgNTgwLCAgICAgNCwgICAgOTMsICAgIDI4LAorICAgICA3NTUsICAgIDE2LCAgICAxNywgICAg
ODEsICAgMjkyLCAgIDI5MywgICAgNjYsICAgIDkzLCAgIDM1OSwgICAgMjgsCisgICAgIDM2MSwg
ICAgMjgsICAgIDgxLCAgICA5NywgICA3MDYsICAgICAyLCAgIDQyMSwgICAgIDQsICAgIDY1LCAg
IDQyOSwKKyAgICAgIDUxLCAgICA1MywgICAgNTQsICAgNjIxLCAgIDQyOSwgICAgOTQsICAgIDk1
LCAgICA5NiwgICAgNTIsICAgIDE2LAorICAgICAgMTcsICAgMzgzLCAgICA1OCwgICAgNTUsICAg
NDc2LCAgICA3NiwgICA4NzksICAgIDI3LCAgICA1MywgICAgNjksCisgICAgICA1NywgICA2NTEs
ICAgNDI1LCAgICAzNywgICAgMzgsICAgIDE2LCAgICAxNywgICAgNjMsICAgOTA1LCAgICAxMywK
KyAgICAgNjQ4LCAgICAyNSwgICAgMjUsICAgOTM4LCAgIDkzNiwgICA4OTgsICAgNDA3LCAgIDQ2
NywgICAgIDAsICAgIDI2LAorICAgICAgMTYsICAgIDE3LCAgIDI1NiwgICA2NjYsICAgIDUxLCAg
ICA1MiwgICA4ODgsICAgIDI2LCAgICA1NSwgICA0MTAsCisgICAgIDQxMSwgICAxNTEsICAgIDI5
LCAgIDQyNCwgICAgMTMsICAgNDI2LCAgICAxNiwgICAgMTcsICAgNTIwLCAgICA2NiwKKyAgICAg
IDk3LCAgIDkwOSwgICAgMjUsICAgIDk4LCAgIDMyOCwgICA3OTMsICAgMTQ0LCAgIDE0MSwgICAg
ODUsICAgIDIyLAorICAgICAgNjgsICAgIDk3LCAgIDE0MSwgICAxNTEsICAgIDgxLCAgIDQ3OCwg
ICAgMjUsICAgIDk3LCAgICA2MywgICAgNjgsCisgICAgIDE0NiwgICA0NTIsICAgIDg5LCAgICA5
MCwgICAxMjAsICAgMTUxLCAgICA5MywgICAgOTQsICAgIDk1LCAgICA5NiwKKyAgICAgMjIxLCAg
ICA5OCwgICA5OTQsICAgIDUzLCAgICA1NCwgICA4NzAsICAgODcxLCAgICA5NSwgICAxMjQsICAg
NzE3LAorICAgICA3NzQsICAgIDU2LCAgICAyNSwgICAxMDcsICAgMTI0LCAgICA5NCwgICAgOTUs
ICAgIDk4LCAgIDQ3OSwgICA3MjcsCisgICAgIDU5OCwgICAzMjUsICAgMTI5LCAgICAyNSwgICAg
MTMsICAgMTQ5LCAgIDEyNCwgICAxNTEsICAgMTQ0LCAgIDI1MCwKKyAgICAgIDg5LCAgICA5MCwg
ICAgOTgsICAgIDc2LCAgICA5MywgICA3OTksICAgODAwLCAgIDEzMSwgIDEwMzMsICAgMjA4LAor
ICAgICAxMjQsICAgNzYxLCAgICAyNSwgIDEwMzUsICAxMDExLCAgIDEyMCwgICAxNDQsICAgMTUx
LCAgICA5OCwgICAxNDksCisgICAgICAyNSwgICAxNTEsICAxMDA1LCAgIDI1OCwgICAxMjEsICAg
IDI1LCAgIDQxMCwgICA0MTEsICAgODc2LCAgIDI4MCwKKyAgICAgMTQ0LCAgIDE0NCwgICAyNTgs
ICAgMTQ3LCAgIDE0MSwgIDEwMTgsICAxMDU4LCAgIDE1MSwgIDEwMDAsICAgMTQ2LAorICAgICAx
NDQsICAgOTM2LCAgIDE0MSwgICA5MzgsICAgMjQzLCAgIDE0OSwgICAyMTIsICAgMTUxLCAgIDIy
MCwgICAzMDcsCisgICAgIDMwOCwgICAzMDksICAgMzEwLCAgICAxMywgICAyMjYsICAxMDIzLCAg
ICAgOSwgICAyNTYsICAgMTUwLCAgIDI3NywKKyAgICAgMjMyLCAgIDE0NCwgICAgMTUsICAgNTg2
LCAgIDQ5MiwgICA0MzgsICAgNDk0LCAgIDE0NiwgICAyNzcsICAgMjQxLAorICAgICAxNDksICAg
IDI4LCAgIDE1MSwgICA1OTYsICAgMjI5LCAgIDE0NCwgICAyMzEsICAgMjQxLCAgIDgxNiwgICA2
MjksCisgICAgICA5NywgICAyMDgsICAgIDUyLCAgIDYyOCwgICA2MjksICAgMjU2LCAgICA1Niwg
ICAxNTAsICAgMjU4LCAgIDI3NiwKKyAgICAgMjU0LCAgIDE1MCwgICAyNzQsICAgIDEzLCAgIDky
NiwgICAxNTAsICAgNTg3LCAgIDY3OSwgICAgMTMsICAgOTk0LAorICAgICA5OTUsICAgMTQ0LCAg
IDIyOSwgICA1OTUsICAgMjMxLCAgIDIzMiwgICA1OTcsICAgMTI0LCAgIDIzNSwgICAzNjcsCisg
ICAgIDIzNywgICA4NjEsICAgMTQ0LCAgIDg2MywgICAyNDEsICAgNzIzLCAgIDI0MywgICAzMjYs
ICAgMjI5LCAgIDE0NCwKKyAgICAgMjMxLCAgIDIzMiwgICAgNjMsICAgMzIzLCAgIDM3NSwgICAg
MTMsICAgMzI1LCAgIDI1NCwgICAzMjgsICAgMjU2LAorICAgICAxNDksICAgMTQ0LCAgIDE1MSwg
ICAyMjksICAgMzY5LCAgIDIzMSwgICA4NzksICAgIDEzLCAgMTAzMywgICAxNDQsCisgICAgMTAz
NSwgICAxNDYsICAgMzA2LCAgIDM2OSwgICAxNDQsICAgODg4LCAgIDIzNSwgICAzMTEsICAgMjM3
LCAgIDIyOSwKKyAgICAgMjc3LCAgIDIzMSwgICAxMjQsICAgIDI1LCAgIDMyNSwgICA4OTgsICAg
OTUwLCAgIDEyNCwgICAgMTMsICAgMzA2LAorICAgICAgOTcsICAgNjg0LCAgIDkwNSwgIDEwNTgs
ICAgMzI2LCAgICAxNCwgICAgMTUsICAgMzY2LCAgIDMyMywgICAzNjgsCisgICAgIDE0NCwgICAx
MTAsICAgOTY2LCAgIDMyOCwgICAyNDcsICAgMjQ4LCAgIDExNywgICAxNTEsICAgMTE5LCAgIDMw
NiwKKyAgICAgMzA3LCAgIDMwOCwgICAzMDksICAgMzEwLCAgIDMxMSwgICAzMTIsICAgMzEzLCAg
IDEyNCwgICAzNjAsICAgMTQ5LAorICAgICAgMTMsICAgMTUxLCAgIDY4MywgICAgMTMsICAgNjg1
LCAgICA5NywgICAzMjMsICAgNjY2LCAgIDMyNSwgICAzMjYsCisgICAgIDgwOCwgICAzMjgsICAg
OTI2LCAgIDcxMywgICAzNjEsICAgIDk3LCAgIDY4NywgICA2ODgsICAgIDI1LCAgIDE1MCwKKyAg
ICAgNDEwLCAgIDQxMSwgICA2OTMsICAgNjk0LCAgIDE0NCwgICA3NjEsICAgNzAxLCAgIDE0Niwg
ICAzMDcsICAgMzA4LAorICAgICAzMDksICAgMzEwLCAgIDEyNCwgICAzMTIsICAgMzEzLCAgIDY0
MywgICAxNDYsICAgNjU1LCAgICA1NiwgICAxNDksCisgICAgIDEyNCwgICAxNTEsICAgNjYwLCAg
IDM2MCwgICAxNDksICAgMzYyLCAgIDE1MSwgICAgMjUsICAgIDk4LCAgIDM2NiwKKyAgICAgMzY3
LCAgIDM2OCwgICAxNDQsICAgIDI1LCAgICA2OCwgICA2MTgsICAgIDE1LCAgIDg1NSwgICAgMTcs
ICAgMzYwLAorICAgICA0MDcsICAgMTQ0LCAgICA5NywgICA0MjUsICAgODYyLCAgIDM4MiwgICAg
OTcsICAxMDAwLCAgIDQ3NiwgICAgNjgsCisgICAgIDE0NCwgICAxNDksICAgNDQ2LCAgIDE1MSwg
ICAgNjgsICAgNDM3LCAgIDQzOCwgICA0NzYsICAxMDExLCAgIDQyNiwKKyAgICAgIDk0LCAgICA5
NSwgICAxNDQsICAgMTQ5LCAgIDE0NiwgICAxNTEsICAgMTQ2LCAgIDQ0NiwgICAzNjcsICAgMTI0
LAorICAgICA1MzEsICAgIDY4LCAgIDE0NiwgICA0MTAsICAgNDExLCAgIDE0NCwgICAgOTUsICAg
NDQ2LCAgIDM2MSwgICA0NDYsCisgICAgICA5NCwgICAgOTUsICAgMTUxLCAgIDM4MiwgICAxNDks
ICAgNDUyLCAgIDE1MSwgICA2ODEsICAgNDI1LCAgIDE0NCwKKyAgICAgMTQ2LCAgICA2MywgICA1
MjAsICAgNjg3LCAgIDY4OCwgICAxNDcsICAgNDc4LCAgIDEyNCwgICAgOTUsICAgNjkzLAorICAg
ICA2OTQsICAgNTIwLCAgICA2MywgIDEwNTEsICAgNDI1LCAgIDg2MSwgICAgNjcsICAgODYzLCAg
IDg2OCwgICAxNDMsCisgICAgICA2OCwgICAgNjgsICAgNDc5LCAgIDg2OCwgICAxMjQsICAgIDk3
LCAgIDE0OSwgICAxNDQsICAgMTUxLCAgIDE0OSwKKyAgICAgMTQ3LCAgIDE1MSwgICA0NTksICAg
OTQxLCAgIDE1MSwgICA1MDcsICAgMTI0LCAgICA3NywgICA1ODgsICAgMTQzLAorICAgICAgNjMs
ICAgNDIxLCAgIDEyNCwgICA1NzgsICAgIDk3LCAgIDgyNiwgICAgOTQsICAgIDk1LCAgICA5NSwg
ICA0NzYsCisgICAgIDE0OCwgICA0NzgsICAgMTI0LCAgIDQyNiwgICA2OTAsICAgMTE3LCAgIDE0
NCwgICAxMTksICAgMTQ2LCAgIDE0NywKKyAgICAgIDY4LCAgIDY5NywgICAxNDQsICAgMTUxLCAg
IDU0NiwgICAxNDcsICAgMTE3LCAgIDQ3OCwgICAxMTksICAgMTUxLAorICAgICA3NDMsICAgMTI0
LCAgIDE0NCwgICAgNTYsICAgIDY4LCAgIDU3NCwgICAgNjgsICAgNTc2LCAgIDE0MiwgICA0NTIs
CisgICAgICA3NywgICA1NjIsICAgNTY0LCAgIDk5MSwgICA0NjQsICAgIDM3LCAgICAzOCwgICAg
OTUsICAgMTUwLCAgIDU3MCwKKyAgICAgMTQ0LCAgIDE0NCwgICAxMDQsICAgNTIwLCAgIDExNywg
ICAxNDMsICAgMTE5LCAgIDEyMCwgICA1NzAsICAgNjY2LAorICAgICA1NzIsICAgIDk1LCAgICA5
NCwgICAgOTUsICAgIDE3LCAgICA2OCwgICA0NzksICAgOTE3LCAgIDE0NCwgICA3NzYsCisgICAg
ICA5NywgICA3NzgsICAgOTIyLCAgIDg4MiwgICA1ODYsICAgMTQ5LCAgICA1MiwgICA4ODYsICAg
IDU0LCAgICA1NSwKKyAgICAgIDU2LCAgICA1NywgICAgNTYsICAgIDI1LCAgIDU5NiwgICA2MDYs
ICAgNjQ0LCAgIDU4MiwgICA2MTIsICAgODk4LAorICAgICA1ODcsICAgIDk0LCAgICA5NSwgICA5
MDIsICAgNjA2LCAgIDY0NCwgICA5MDUsICAgMTI0LCAgIDkwNywgICA2MjEsCisgICAgIDU5Nywg
ICAxNDcsICAgODI2LCAgIDYxMiwgICAxMjgsICAgMTQ0LCAgIDYxOCwgICA1NzQsICAgMTQ0LCAg
IDU3NiwKKyAgICAgIDY4LCAgIDE0MywgICAgNjgsICAgNjEyLCAgIDE0NiwgICA2MTIsICAgIDY4
LCAgIDE0NCwgICAxNDQsICAgNTg2LAorICAgICAxNDIsICAgNjc5LCAgIDE0MiwgICA3MzIsICAg
NzIyLCAgIDYzNywgICA2NDgsICAgMTQ0LCAgIDY2NywgICA1OTYsCisgICAgIDY3OSwgICA1OTgs
ICAgNTk5LCAgICA5NywgICAxNDIsICAgNTg2LCAgICA5NCwgICAgOTUsICAgIDk0LCAgICA5NSwK
KyAgICAgMTQzLCAgIDY4MSwgICAgOTQsICAgIDk1LCAgIDY2NiwgICA1OTYsICAgNzIxLCAgIDY4
NywgICA2ODgsICAgNTYyLAorICAgICAgMTAsICAgIDY4LCAgICA2OCwgICA2OTMsICAgNjk0LCAg
ICA2OCwgICAgNjgsICAgNTcwLCAgIDE0NCwgICAgOTcsCisgICAgIDEyNCwgICA2NzMsICAgIDYz
LCAgIDE0NCwgIDEwMjcsICAgNjMyLCAgIDE0NCwgICA3MzEsICAgMTQ0LCAgICA5NywKKyAgICAg
NTk5LCAgICA5NywgICA2ODQsICAgIDQ0LCAgIDU4NywgICAxMjQsICAgNjgwLCAgIDY0NCwgICAg
OTUsICAgIDk1LAorICAgICAxNDQsICAgNzIwLCAgICA5NSwgICAgOTUsICAgNTk3LCAgIDE0Mywg
ICAxMjQsICAgMTQzLCAgIDY4NSwgICA3MDEsCisgICAgIDcwMiwgICAxNDMsICAgNzA0LCAgIDYw
NiwgICA3MDYsICAgNzE3LCAgIDEyNCwgIDEwMjgsICAgMTI0LCAgICAgOCwKKyAgICAgNjY3LCAg
ICAxMywgIDEwMTEsICAgNjMyLCAgMTAxMywgICA3MjcsICAgNzAxLCAgIDE1MCwgICA2MjgsICAx
MDE4LAorICAgICAgNjgsICAxMDIwLCAgIDY3OSwgICA2ODAsICAgNjgxLCAgIDE1MCwgICAxMTcs
ICAgNjg0LCAgIDExOSwgICAxMjAsCisgICAgIDY4NywgICA2ODgsICAgMTQyLCAgIDYzNiwgICA2
MzcsICAgIDc3LCAgIDY5MywgICA2OTQsICAgICAyLCAgIDE0NCwKKyAgICAgICA0LCAgIDc0Mywg
ICAxMjYsICAgNjg0LCAgIDczMSwgICAgMTUsICAgIDk0LCAgICA5NSwgICAgOTcsICAgIDU0LAor
ICAgICA5NDcsICAgOTQ4LCAgICAxNiwgICAgMTcsICAgMTQ4LCAgIDk1MiwgICA4NDQsICAgOTU0
LCAgIDc5NywgICA5NTYsCisgICAgICA2NSwgICAgNjYsICAgIDk3LCAgIDcyMCwgICAxNDYsICAg
NzIyLCAgIDcyMywgIDEwNjYsICAgMTQ0LCAgICAgMiwKKyAgICAgNzcyLCAgICAgNCwgICA3NzQs
ICAgIDY4LCAgICA1MiwgICAxMjQsICAgIDU0LCAgICA1NSwgICAgNTYsICAgIDU3LAorICAgICAg
NjgsICAgNzkzLCAgIDY4NSwgICAgMTYsICAgIDE3LCAgIDg4MiwgICAgNjgsICAgIDUxLCAgICA1
MiwgICAxMjQsCisgICAgIDEyNCwgICA4NTYsICAgMTM0LCAgIDEzNSwgICAxMzYsICAgMTQzLCAg
IDgyNiwgICA3OTksICAgODAwLCAgICA5NCwKKyAgICAgIDk1LCAgIDg5OCwgICAgNjYsICAgNzIy
LCAgIDgxNiwgICA5MDIsICAgIDk0LCAgICA5NSwgICA5MDUsICAgODM4LAorICAgICA5MDcsICAg
MTQ0LCAgICA5NCwgICAgOTUsICAgODQzLCAgIDE0NCwgICAgNTIsICAgNTEyLCAgICA1MSwgICAg
NTIsCisgICAgIDE0NCwgICAgMjYsICAgIDk3LCAgIDg1MiwgICAxNDQsICAgIDg5LCAgICA5MCwg
ICAxNDQsICAgIDUyLCAgICA5MywKKyAgICAgIDUyLCAgICA1NCwgICA4MzQsICAgIDY2LCAgICA5
OCwgICAgOTcsICAgNDEwLCAgIDQxMSwgICAgMjYsICAgMTI5LAorICAgICA3OTcsICAgMTI0LCAg
MTAzOSwgIDEwNDAsICAxMDQxLCAgMTA0MiwgICA2NjYsICAgIDY4LCAgIDE0MywgICAxMjQsCisg
ICAgIDE0NCwgICA4MDgsICAgMTQ0LCAgIDQyNywgICA0MjgsICAgMTQzLCAgICA4OSwgICAgOTAs
ICAgODk3LCAgIDE0NCwKKyAgICAgIDkzLCAgIDE0MywgICAxMjQsICAgIDY4LCAgIDg3NiwgICAg
OTgsICAgMTQ0LCAgIDIzNSwgICA5MzMsICAgODI2LAorICAgICAxNDQsICAgMTQ0LCAgICA5Nywg
ICAgOTQsICAgIDk1LCAgMTA3MiwgICA1NzEsICAgOTE2LCAgIDE0OSwgICA0NTMsCisgICAgICA2
OCwgICA4MzgsICAgNTc3LCAgICA1OCwgICA1NzksICAgIDk4LCAgIDg0MywgICA4NDQsICAgNTgz
LCAgICA5NCwKKyAgICAgIDk1LCAgIDkyMCwgICAxNDQsICAgMjYxLCAgIDEyOSwgICA4NTIsICAg
OTc3LCAgIDI2NSwgICA4NTUsICAgMTI0LAorICAgICAgNTYsICAgIDY4LCAgICA3NywgICAgNjgs
ICAgNjY2LCAgIDg2MiwgICAgOTQsICAgIDk1LCAgICA1NCwgICAgNTUsCisgICAgIDE0NCwgICAg
NTcsICAgMTQ0LCAgIDk0MiwgIDEwMTEsICAgMTQ0LCAgMTAxMywgICAxNDcsICAgMTQ0LCAgICA2
NSwKKyAgICAgIDY2LCAgMTAxOCwgICAxNDMsICAxMDIwLCAgIDkyNiwgICA4NDQsICAgMTQ0LCAg
ICA5NCwgICAgOTUsICAgIDk0LAorICAgICAgOTUsICAgMTA2LCAgIDEwNywgICAxNDQsICAgMTQ0
LCAgIDE0NCwgICAxNDEsICAgIDYzLCAgIDE0MywgICAgNTYsCisgICAgIDg5NywgICAxNDYsICAg
NjUxLCAgIDE0NCwgICAyMDgsICAgMTQ0LCAgICAgOSwgICAxNDQsICAgOTUwLCAgICA2MywKKyAg
ICAgMTQyLCAgIDE0NiwgICA5ODEsICAgMTQxLCAgIDk4MywgICAxNDMsICAgMTMxLCAgIDY2Niwg
ICAxNDYsICAgOTE2LAorICAgICA5NzIsICAgMTQ2LCAgICA2MywgICA5MjAsICAgOTY2LCAgIDIy
OSwgICAxNDQsICAgMjMxLCAgIDIzMiwgIDEwNjYsCisgICAgIDE0NCwgICAyMzUsICAgMTQ0LCAg
IDIzNywgICAxMTgsICAgMjA4LCAgIDE0MywgICAyNDEsICAgMTQzLCAgIDI0MywKKyAgICAgOTgy
LCAgMTAxMCwgICAyNDEsICAgMjA2LCAgIDk0MSwgICA5NDIsICAgMjA5LCAgIDIxMCwgICAyMTEs
ICAgNDU5LAorICAgICAyNTQsICAgMTE3LCAgIDI1NiwgICAxMTksICAgMTIwLCAgIDQ1NSwgICAy
MjksICAgIDk0LCAgIDIzMSwgICAyMzIsCisgICAgICA5NiwgICAgODUsICAgMjM1LCAgIDExNywg
ICAyMzcsICAgMTE5LCAgIDEyMCwgICA4NzAsICAgMjQxLCAgICA1MiwKKyAgICAgMjQzLCAgICA1
NCwgICAgNTUsICAgIDU2LCAgICA1NywgICA2MDYsICAgMTE3LCAgIDcxMiwgICAxMTksICAgMTIw
LAorICAgICA3MDIsICAgMjU0LCAgMTAzMSwgICAyNTYsICAgOTgxLCAgMTAyNywgICA5ODMsICAx
MDI5LCAgIDY2NiwgIDEwMzEsCisgICAgIDY3MywgICA1MDgsICAxMDIzLCAgIDcyOCwgICA5OTEs
ICAgIDU5LCAgICA2MCwgICAgNjEsICAgIDYyLCAgMTA1MSwKKyAgICAgIDI2LCAgMTAyOCwgICAz
MDYsICAgMzA3LCAgIDMwOCwgICAzMDksICAgMzEwLCAgIDMxMSwgICAzMTIsICAgMzEzLAorICAg
ICA3MzMsICAxMDI5LCAgIDc2MSwgIDEwMTAsICAgMzIxLCAgIDEwMywgICA4MDIsICAgODAzLCAg
IDk4MiwgICAzMjMsCisgICAgIDQ5NCwgICAzMjUsICAgIDk3LCAgIDQzMSwgICAzMjgsICAgIDgy
LCAgICA4MywgICA0MzUsICAgODg4LCAgIDkzNCwKKyAgICAxMDI3LCAgIDg5MSwgICA0NDAsICAg
MzA2LCAgIDMwNywgICAzMDgsICAgMzA5LCAgIDMxMCwgICAzMTEsICAgMzEyLAorICAgICAzMTMs
ICAgODgyLCAgICA2OCwgICA5MDIsICAgODk4LCAgIDkwNSwgIDEwMjcsICAgOTA3LCAgIDQ1Niwg
ICAgLTEsCisgICAgIDMyMywgICA4NzksICAgMzI1LCAgIDQ2MSwgICAgLTEsICAgMzI4LCAgIDM2
MCwgICAgLTEsICAgMzYyLCAgICAtMSwKKyAgICAgMzIzLCAgICAtMSwgICAzNjYsICAgMzY3LCAg
IDM2OCwgICAzMjgsICAgIC0xLCAgICAtMSwgICAgOTQsICAgIDk1LAorICAgICAxMjcsICAgMTI4
LCAgICAtMSwgICA2ODcsICAgNjg4LCAgICAtMSwgICAgNzcsICAgIC0xLCAgIDM4MiwgICA2OTMs
CisgICAgIDY5NCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAxMDI4LCAgICAtMSwgICAz
NjAsICAgIC0xLCAgIDM2MiwKKyAgICAgIC0xLCAgICA5MiwgICAgOTMsICAgMzY2LCAgIDM2Nywg
ICAzNjgsICAgODk4LCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICA5MDIsICAgIC0xLCAgICAt
MSwgICA5MDUsICAgIC0xLCAgIDkwNywgICA0MTAsICAgNDExLCAgICAtMSwgICAzODIsCisgICAg
IDg0NSwgICA1MTksICAgODYxLCAgIDg0OCwgICA4NjMsICAgMTQxLCAgICAtMSwgICAxNDMsICAg
IC0xLCAgIDg1NCwKKyAgICAgMTQ2LCAgIDQyNSwgICA4NTcsICAgIDYzLCAgIDczOCwgICA3Mzks
ICAgIC0xLCAgIDc0MSwgICA3NDIsICAgIC0xLAorICAgICA4NzksICAgMTMyLCAgIDEzMywgICAx
MzQsICAgMTM1LCAgIDEzNiwgICAgLTEsICAgNDEwLCAgIDQxMSwgICA4ODgsCisgICAgMTAwMCwg
ICAgNTIsICAxMDAyLCAgICA1NCwgICAgNTUsICAgIDU2LCAgICA1NywgIDEwMDcsICAgIC0xLCAg
IDg5OCwKKyAgICAgIC0xLCAgMTAxMSwgICA0MjUsICAxMDEzLCAgICAtMSwgICA0NTksICAgOTA1
LCAgIDQyMCwgICA0MjEsICAgIC0xLAorICAgIDEwMjAsICAgIDQwLCAgICA0MSwgICAgNDIsICAg
IDQzLCAgICA0NCwgICA0MjksICAgIDUyLCAgICA3NywgICAgNTQsCisgICAgICA1NSwgICAgNTYs
ICAgIDU3LCAgICA1OCwgICA0NzgsICAgOTYxLCAgIDk2MiwgICAxMTcsICAgIC0xLCAgIDExOSwK
KyAgICAgMTIwLCAgIDk2NywgICAxMjIsICAgOTY5LCAgIDk3MCwgICAgLTEsICAgNDU5LCAgICAt
MSwgICAgOTksICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICA3NywgICA5MjgsICAgMTA1LCAg
ICAtMSwgICAgLTEsICAgOTMyLCAgICAtMSwgICAgLTEsCisgICAgMTA2MCwgICA0NjQsICAgIC0x
LCAgICAtMSwgICA0NjcsICAgNDc4LCAgMTA2NiwgICAgLTEsICAgIC0xLCAgMTAxMSwKKyAgICAg
IC0xLCAgMTAxMywgICA4MjYsICAgIC0xLCAgICA5OSwgICAgLTEsICAxMDE4LCAgICAtMSwgIDEw
MjAsICAgIC0xLAorICAgICAxMDUsICAgMTA2LCAgIDEwNywgICAxMzIsICAgMTMzLCAgIDEzNCwg
ICAxMzUsICAgMTM2LCAgICAtMSwgICAgLTEsCisgICAgICA1MiwgICAgLTEsICAgIDU0LCAgICA1
NSwgICAgNTYsICAgIDU3LCAgICA1OCwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAg
ICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgMTMxLCAgICAtMSwgICAgLTEsICAg
MTM0LAorICAgICA1MTMsICAxMDAwLCAgICAtMSwgICA4NjcsICAgIC0xLCAgICA3NywgICAgLTEs
ICAgIC0xLCAgMTA0NCwgIDEwNDUsCisgICAgMTA0NiwgIDEwNDcsICAxMDExLCAgIDk5OCwgIDEw
NjYsICAgIC0xLCAgIDE1MSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgNTc0LCAgICA1Miwg
ICA1NzYsICAgIDU0LCAgICA1NSwgICAgNTYsICAgIDU3LCAgICA5OSwgICAgLTEsICAgIC0xLAor
ICAgICAgLTEsICAgIC0xLCAgIDU4NiwgICAxMDUsICAgMTA2LCAgIDEwNywgICAgNTIsICAxMDcz
LCAgICA1NCwgICAgNTUsCisgICAgICA1NiwgICAgNTcsICAgNTk2LCAgICAtMSwgICA1OTgsICAg
NTk5LCAgICAtMSwgIDEwMzIsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgIDU3NCwgICAgNTIs
ICAgNTc2LCAgICA1NCwgICAgNTUsICAgIDU2LCAgICA1NywgICAgNTgsICAgMTMxLAorICAgICAg
LTEsICAgIC0xLCAgIDEzNCwgICA1ODYsICAgIC0xLCAgICA3NywgICAgLTEsICAgIC0xLCAgICA5
OSwgICA1ODIsCisgICAgICAtMSwgICA3MjksICAgIC0xLCAgIDU5NiwgICAxNDYsICAgNTk4LCAg
IDU5OSwgICAgNzcsICAgNjMyLCAgICAtMSwKKyAgICAgIDkyLCAgICA5MywgICAgLTEsICAgIDk5
LCAgICAtMSwgICAgLTEsICAgNzQ0LCAgICAtMSwgICAgLTEsICAgMTA1LAorICAgICAgLTEsICAg
IC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
OTksCisgICAgIDYxMywgICAgLTEsICAgNjE1LCAgICAtMSwgICAgLTEsICAgIC0xLCAgIDEwNiwg
ICAxMDcsICAgIC0xLCAgIDYzMiwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgNjY3LCAgICAt
MSwgICA2MjgsICAgNjI5LCAgIDEyOSwgICAxMzAsICAgMTMxLAorICAgICAxMzIsICAgMTMzLCAg
IDEzNCwgICAxMzUsICAgMTM2LCAgICAtMSwgICA2ODAsICAgNjgxLCAgICAtMSwgICAgLTEsCisg
ICAgIDY4NCwgICAxMzEsICAgIC0xLCAgIDY4NywgICA2ODgsICAgIC0xLCAgICAtMSwgICAgLTEs
ICAgIC0xLCAgIDY5MywKKyAgICAgNjk0LCAgICAtMSwgICAgLTEsICAgIC0xLCAgIDY2NywgICAg
LTEsICAgIC0xLCAgICAtMSwgICAgNTIsICAgIC0xLAorICAgICAgNTQsICAgIDU1LCAgICA1Niwg
ICAgNTcsICAgIDU4LCAgICAtMSwgICAgLTEsICAgNjgwLCAgIDY4MSwgICAgLTEsCisgICAgICAt
MSwgICA2ODQsICAgIC0xLCAgIDY3NiwgICA2ODcsICAgNjg4LCAgIDcyMCwgICAgLTEsICAgNzIy
LCAgIDcyMywKKyAgICAgNjkzLCAgIDY5NCwgICAgLTEsICAgIDc3LCAgICAtMSwgICAgLTEsICAg
IC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEs
ICAgIC0xLCAgICAxNiwgICAgMTcsICAgIC0xLCAgIDcwMSwgICAgNzcsCisgICAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDk5LCAgICAtMSwgICA3MjAsICAgIC0xLCAgIDcy
MiwKKyAgICAgNzIzLCAgIDEwNSwgICAxMDYsICAgMTA3LCAgICA5MiwgICAgOTMsICAgIC0xLCAg
ICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICA4NzQsICAgIDQ4LCAgICA0OSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAg
IDUzLCAgICA1NCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAxMzEsICAgIC0xLCAgICAtMSwKKyAg
ICAgMTM0LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNjYsICAgIDY3LCAgICAtMSwg
ICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAxMzEsICAgMTMyLCAgIDEz
MywgICAxMzQsICAgMTM1LCAgIDEzNiwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAg
ICAtMSwgICA4MDgsICAgIC0xLCAgICAtMSwgICA3NzAsICAgIC0xLCAgICAtMSwKKyAgICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICA5OCwgICAgLTEs
ICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgIDgyNiwgICA5MzEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgOTM1LCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwg
ICA4MzgsICAgODA4LCAgICAtMSwgICAgLTEsICAgIC0xLCAgIDg0MywKKyAgICAgODQ0LCAgICAt
MSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgODA5LCAgICAtMSwgICA4NTIsICAgIC0x
LAorICAgICAgLTEsICAgODU1LCAgICAtMSwgICA4MjYsICAgIC0xLCAgICAtMSwgICAgLTEsICAg
IC0xLCAgIDg2MiwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEs
ICAgODM4LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgODQzLCAgIDg0NCwgICAg
LTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgODUyLAorICAg
ICAgLTEsICAgIC0xLCAgIDg1NSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAg
IDg1MSwgICA4NjIsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAg
IC0xLCAgICAgMiwgICA4NjgsICAgICA0LCAgICAtMSwgICAgNzcsICAgIDc4LAorICAgICAgNzks
ICAgIDgwLCAgICA4MSwgICAgODIsICAgIDgzLCAgIDg3OCwgICA5MjAsICAgIDg2LCAgICA4Nywg
ICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICA5MiwgICAgOTMsICAgMjA2LCAgICAt
MSwgICAgLTEsICAgMjA5LCAgIDIxMCwKKyAgICAgMjExLCAgICAtMSwgICAyMTMsICAgIC0xLCAg
ICAtMSwgICAgLTEsICAgIC0xLCAgIDk0MSwgICA5NDIsICAgIC0xLAorICAgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgOTIwLCAgIDIyOSwgICAgLTEs
CisgICAgIDIzMSwgICAyMzIsICAgIC0xLCAgICA1MSwgICAgNTIsICAgIC0xLCAgICAtMSwgICAg
NTUsICAgMTI3LCAgIDEyOCwKKyAgICAgMTI5LCAgIDEzMCwgICAxMzEsICAgMTMyLCAgIDEzMywg
ICAxMzQsICAgMTM1LCAgIDEzNiwgICA5NDEsICAgOTQyLAorICAgICAgLTEsICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgOTgxLCAgICAtMSwgICA5ODMsCisgICAg
ICAtMSwgICAgLTEsICAgIC0xLCAgICA4MSwgICAgLTEsICAgIC0xLCAgICAtMSwgICA5OTEsICAg
IC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEs
ICAgIDk0LCAgICA5NSwgICAgOTYsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwgIDEwMTAsICAgIC0xLCAgIDk4MSwgICAgLTEsCisgICAgIDk4Mywg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgOTkxLCAg
ICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAxMDI3LCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgNzcsICAgIDc4LCAgICA3OSwgICAgODAsICAg
IDgxLCAgICA4MiwgICAgODMsICAxMDEwLCAgICAtMSwgICAgODYsCisgICAgICA4NywgICAgLTEs
ICAgMzIzLCAgICAtMSwgICAgLTEsICAgIDkyLCAgICA5MywgICAzMjgsICAgMzI5LCAgIDMzMCwK
KyAgICAgMzMxLCAgIDMzMiwgICAzMzMsICAgIC0xLCAgMTAyNywgICAzMzYsICAgMzM3LCAgIDMz
OCwgICAzMzksICAgMzQwLAorICAgICAzNDEsICAgMzQyLCAgIDM0MywgICAzNDQsICAgIC0xLCAg
ICAtMSwgICAzNDcsICAgMzQ4LCAgIDM0OSwgICAzNTAsCisgICAgIDM1MSwgICAzNTIsICAgMzUz
LCAgIDM1NCwgICAzNTUsICAgMzU2LCAgICAtMSwgICAgLTEsICAgIC0xLCAgIDM2MCwKKyAgICAg
MTI3LCAgIDEyOCwgICAxMjksICAgMTMwLCAgIDEzMSwgICAxMzIsICAgMTMzLCAgIDEzNCwgICAx
MzUsICAgMTM2LAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgMjA4LCAg
ICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAg
IC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEs
ICAgIC0xLCAgICAtMSwgICA0MTAsCisgICAgIDQxMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgNDE5LCAgIDQyMCwKKyAgICAgNDIxLCAgICAtMSwg
ICAgLTEsICAgMjQxLCAgIDQyNSwgICAyNDMsICAgNDI3LCAgIDQyOCwgICA0MjksICAgIC0xLAor
ICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAyNTQsICAgIC0x
LCAgIDI1NiwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAg
IC0xLCAgICAtMSwgICA0NDgsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICA0NTMs
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgMjc3LAorICAgICAg
LTEsICAgIC0xLCAgICAtMSwgICA0NjQsICAgIC0xLCAgICAtMSwgICA0NjcsICAgICAyLCAgICAt
MSwgICAgIDQsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAg
ICAtMSwgICA0NzgsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAzMDYsICAgIC0xLAorICAgICAgLTEsICAg
IC0xLCAgICAtMSwgICAzMTEsICAgIC0xLCAgIDQ5NiwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAzMjUsICAgMzI2LCAgICAtMSwKKyAgICAgMzI4LCAgICAtMSwgICA1MTMsICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIDUxLCAgICA1MiwgICAgLTEsICAgIC0xLAorICAgICAgNTUsICAgIC0xLCAg
ICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisg
ICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEs
ICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgIDM2MiwgICAg
LTEsICAgIDgxLCAgICAtMSwgICAzNjYsICAgIC0xLAorICAgICAzNjgsICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgOTQsCisgICAgICA5
NSwgICAgOTYsICAgIDk3LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAg
ICAyLCAgICAtMSwgICAgIDQsICAgIC0xLAorICAgICAgLTEsICAgNTgyLCAgICAtMSwgICAgLTEs
ICAgIC0xLCAgIDU4NiwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAg
LTEsICAgNDEwLCAgIDQxMSwgICAgLTEsICAgNTk2LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAt
MSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAgMiwgICAgLTEsICAgICA0LCAg
ICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgIDYxMywgICAgLTEsICAgNjE1
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAg
IC0xLCAgICAtMSwgICAgLTEsICAgIDUxLCAgICA1MiwgICA2MjgsICAgNjI5LCAgICA1NSwKKyAg
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgNDU5LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAg
ICA1MSwgICAgNTIsICAgIDgxLCAgICAtMSwgICAgLTEsICAgNDc2LCAgICAtMSwKKyAgICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgOTQs
ICAgIDk1LAorICAgICAgOTYsICAgIDk3LCAgICAtMSwgICAyMDgsICAgIC0xLCAgIDY3NiwgICAg
LTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgIDY4MSwgICA2ODIsICAgIC0xLCAgIDY4NCwg
ICAgLTEsICAgIC0xLCAgIDY4NywgICA2ODgsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAt
MSwgICA2OTMsICAgNjk0LCAgICAtMSwgICAgLTEsICAgIDk0LCAgICAtMSwgICAgLTEsICAgIC0x
LAorICAgICA3MDEsICAgIC0xLCAgIDUyMCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAyNDEsICAg
IC0xLCAgIDI0MywgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgIDI1NCwKKyAgICAgIC0xLCAgIDI1NiwgICAg
LTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgNzM4LCAg
IDczOSwgICAgLTEsCisgICAgIDc0MSwgICA3NDIsICAgMjc3LCAgICAtMSwgICAgNzcsICAgIDc4
LCAgICA3OSwgICAgODAsICAgIDgxLCAgICA4MiwKKyAgICAgIDgzLCAgICA4NCwgICAgLTEsICAg
IDg2LCAgICA4NywgICAgLTEsICAgNTc0LCAgICAtMSwgICA1NzYsICAgIDkyLAorICAgICAgOTMs
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwg
ICA3NzAsCisgICAgICAtMSwgICAzMDYsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgIDMx
MSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgNTk4LCAgICAtMSwgICAyMDgsICAgIC0xLCAg
ICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAzMjUsICAgMzI2
LCAgICAtMSwgICAgLTEsICAgMTI3LCAgIDEyOCwgICAxMjksICAgMTMwLCAgIDEzMSwgICAxMzIs
CisgICAgIDEzMywgICAxMzQsICAgMTM1LCAgIDEzNiwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgODA5LCAgICAtMSwKKyAgICAgMjA4LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAyNDEsICAgIC0xLCAgIDI0MywgICA4MTksICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIC0xLCAgIDgyNiwgICA2NDQsICAgMzYyLCAgIDI1NCwgICAgLTEsCisgICAg
IDI1NiwgICAzNjYsICAgIC0xLCAgIDM2OCwgICAgLTEsICAgNjUzLCAgICAtMSwgICAgLTEsICAg
IC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgMjQxLCAgICAtMSwgICAyNDMs
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgNjY3LAorICAgICA4NTEsICAgMjc3LCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwgICAyNTQsICAgIC0xLCAgIDI1NiwgICAgLTEsCisgICAgICAtMSwg
ICA2NzksICAgNjgwLCAgIDY4MSwgICAgLTEsICAgIC0xLCAgIDg2NywgICA4NjgsICAgIC0xLCAg
IDY4NywKKyAgICAgNjg4LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICA2OTMsICAgNjk0
LCAgIDg3OCwgICAgLTEsICAgIC0xLAorICAgICAzMDYsICAgIC0xLCAgICAtMSwgICAgLTEsICAg
IC0xLCAgIDMxMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgIDMyNSwK
KyAgICAgMzI2LCAgICAtMSwgICA3MjAsICAgIC0xLCAgICAtMSwgICA3MjMsICAgICAwLCAgICAt
MSwgICAzMDYsICAgIC0xLAorICAgICAgIDIsICAgIC0xLCAgICAgNCwgICAzMTEsICAgICA4LCAg
ICAgOSwgICAgMTAsICAgIC0xLCAgICAtMSwgICAgMTMsCisgICAgICAxNCwgICAgMTUsICAgIC0x
LCAgICAxNywgICA0NTksICAgIC0xLCAgICAtMSwgICAzMjUsICAgIC0xLCAgICAtMSwKKyAgICAg
MzI4LCAgICAtMSwgICAgMjYsICAgIDI3LCAgICAtMSwgICAgLTEsICAgMzYyLCAgICAtMSwgICAg
LTEsICAgIC0xLAorICAgICAzNjYsICAgNDc2LCAgIDM2OCwgICAgMzcsICAgIDM4LCAgICAtMSwg
ICAgNDAsICAgIDQxLCAgICA0MiwgICAgNDMsCisgICAgICA0NCwgICAgLTEsICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICA1MSwKKyAgICAgIDUyLCAg
ICAtMSwgICAgLTEsICAgIC0xLCAgIDM2MiwgICAgLTEsICAgIC0xLCAgICAtMSwgICAzNjYsICAg
IC0xLAorICAgICAzNjgsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDY4LCAgICAtMSwgICAgLTEs
ICAgIC0xLCAgICAtMSwgICA3OTcsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgNTIwLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgODA4LCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAor
ICAgICAgOTQsICAgIDk1LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgIDgyNiwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgNDEwLCAgIDQxMSwgICAgLTEsICAg
IC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgODM4LCAgICAtMSwgICAgLTEs
ICAgIC0xLCAgIDExOCwgICA4NDMsICAxMDI3LCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAg
LTEsICAgIC0xLCAgICAtMSwgICA0NTksICAgODUyLCAgICAtMSwgICAgLTEsICAgODU1LCAgICAt
MSwgICA1NzQsCisgICAgICAtMSwgICA1NzYsICAgIC0xLCAgICAtMSwgICA4NjIsICAgIC0xLCAg
ICAtMSwgICAxNDEsICAgMTQyLCAgICAtMSwKKyAgICAgNDc2LCAgICAtMSwgICAxNDYsICAgMTQ3
LCAgICAtMSwgICAxNDksICAgIC0xLCAgIDE1MSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAg
NDU5LCAgICAtMSwgICA1OTgsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgIDg5NywKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAg
ICAtMSwgICAgLTEsICAgNTIwLCAgICAtMSwgICAgLTEsICAgIC0xLCAgIDkxNiwgICAgLTEsCisg
ICAgICAtMSwgICAgLTEsICAgOTIwLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEs
ICAgIC0xLCAgIDY0NCwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgMjA4LCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwg
ICA5NDEsICAgOTQyLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAt
MSwgICAgLTEsICAgNjY3LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgIDY3OSwgICA2ODAsICAg
IC0xLCAgICAtMSwgICA1NzQsICAgMjQxLAorICAgICA1NzYsICAgMjQzLCAgICAtMSwgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAg
LTEsICAgMjU0LCAgIDk4MSwgICAyNTYsICAgOTgzLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAt
MSwKKyAgICAgIC0xLCAgICAtMSwgICA1OTgsICAgOTkxLCAgICAtMSwgICAgLTEsICAgNTc0LCAg
ICAtMSwgICA1NzYsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgIDcyMCwgICAgLTEsICAgIC0xLCAgIDcyMywgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAx
MDEwLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAg
ICAgNTk4LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgMzA2LCAgICAt
MSwgICAgLTEsICAgIC0xLCAgIDY0NCwgICAzMTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAg
ICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0x
LCAgICAtMSwgICAgLTEsICAgMzI1LCAgICAtMSwgICAgLTEsICAgMzI4LCAgICAtMSwgICAgLTEs
ICAgIC0xLAorICAgICAgLTEsICAgNjY3LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgIDY3OSwg
ICA2ODAsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAt
MSwgICA3OTcsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgNjY3
LAorICAgICAzNjIsICAgIC0xLCAgICAtMSwgICA4MDgsICAgMzY2LCAgICAtMSwgICAzNjgsICAg
IC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgNjgwLCAgIDY4MSwgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgIDY4NywKKyAgICAgNjg4LCAgICAtMSwgICAg
LTEsICAgIC0xLCAgIDcyMCwgICA2OTMsICAgNjk0LCAgIDcyMywgICAgLTEsICAgIC0xLAorICAg
ICAgLTEsICAgIC0xLCAgICAtMSwgICA4MzgsICAgIC0xLCAgICA0NCwgICAgLTEsICAgIC0xLCAg
IDg0MywgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICA4NTIsICAgNDEwLCAgIDQxMSwKKyAgICAgODU1LCAgICAtMSwgICA3MjAsICAg
IC0xLCAgICAtMSwgICA3MjMsICAgIC0xLCAgIDg2MiwgICAgLTEsICAgIC0xLAorICAgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICA3Nywg
ICAgNzgsCisgICAgICA3OSwgICAgODAsICAgIDgxLCAgICA4MiwgICAgODMsICAgIDg0LCAgICA4
NSwgICAgODYsICAgIDg3LCAgICA4OCwKKyAgICAgIDg5LCAgICAtMSwgICAgLTEsICAgIDkyLCAg
ICA5MywgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0x
LCAgIDg5NywgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgNDU5LCAgICAtMSwgICAgLTEs
CisgICAgICAtMSwgICA3OTcsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgIDkxNiwgICA4MDgsICAgIC0xLCAgICAtMSwg
ICA5MjAsICAgMTI1LCAgICAtMSwgICAxMjcsICAgMTI4LAorICAgICAxMjksICAgMTMwLCAgIDEz
MSwgICAxMzIsICAgMTMzLCAgIDEzNCwgICAxMzUsICAgMTM2LCAgICAtMSwgICAgLTEsCisgICAg
ICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgMTQ0LCAgIDk0MSwgICA5NDIsICAg
IC0xLCAgICAtMSwKKyAgICAgODA4LCAgICAtMSwgICA4MzgsICAgIC0xLCAgICAtMSwgICAgLTEs
ICAgIC0xLCAgIDg0MywgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwgICA4NTIsICAgIC0xLCAgIDgyNiwgICA4NTUsCisgICAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgIDg2MiwgICAgLTEsICAgIC0xLCAg
ICAtMSwKKyAgICAgODM4LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICA4NDMsICAgOTgx
LCAgICAtMSwgICA5ODMsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAg
ODUyLCAgICAtMSwgICA5OTEsICAgODU1LCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEs
ICAgIC0xLCAgICAtMSwgICA4NjIsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwK
KyAgICAgIC0xLCAgIDg5NywgICAgLTEsICAgIC0xLCAgICAtMSwgIDEwMTAsICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgIDU3NCwgICAgLTEsICAgNTc2LCAg
ICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgIDkxNiwgICAgLTEsICAgIC0x
LCAgICAtMSwgICA5MjAsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAg
IC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgNTk4LCAgICAtMSwgICAg
LTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgIDk0MSwg
ICA5NDIsICAgIC0xLCAgIDkxNiwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgOTIwLCAgICAt
MSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAg
ICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAg
IC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICA5NDEsICAgOTQyLCAgICAtMSwgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgOTgxLCAgICAtMSwgICA5ODMsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICA5OTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAor
ICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgIDY2NywgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgIDk4MSwgIDEwMTAsICAg
OTgzLCAgICAtMSwgICAgLTEsICAgNjgwLCAgIDY4MSwKKyAgICAgICAzLCAgICAgNCwgICAgIDUs
ICAgOTkxLCAgICAgNywgICA2ODcsICAgNjg4LCAgICAtMSwgICAgMTEsICAgIDEyLAorICAgICAg
LTEsICAgNjkzLCAgIDY5NCwgICAgMTYsICAgIC0xLCAgICAxOCwgICAgMTksICAgIDIwLCAgICAy
MSwgICAgMjIsCisgICAgICAyMywgICAgMjQsICAxMDEwLCAgICAtMSwgICAgLTEsICAgIC0xLCAg
ICAtMSwgICAgMzAsICAgIDMxLCAgICAzMiwKKyAgICAgIDMzLCAgICAzNCwgICAgMzUsICAgIDM2
LCAgICAtMSwgICAgLTEsICAgIDM5LCAgICAtMSwgICA3MjAsICAgIC0xLAorICAgICAgLTEsICAg
NzIzLCAgICAtMSwgICAgNDYsICAgIC0xLCAgICAtMSwgICAgNDksICAgIDUwLCAgICA1MSwgICAg
NTIsCisgICAgICA1MywgICAgNTQsICAgIDU1LCAgICA1NiwgICAgNTcsICAgIC0xLCAgICA1OSwg
ICAgNjAsICAgIDYxLCAgICA2MiwKKyAgICAgIC0xLCAgICA2NCwgICAgNjUsICAgIDY2LCAgICAt
MSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAg
ICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisg
ICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEs
ICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDk2LCAgICAtMSwgICAg
LTEsICAgIDk5LCAgIDEwMCwgICAgLTEsICAgMTAyLAorICAgICAxMDMsICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgIDEwOCwgICAxMDksICAgMTEwLCAgIDExMSwgICAxMTIsCisgICAgIDEx
MywgICAxMTQsICAgMTE1LCAgIDExNiwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgIDAsICAgIC0xLCAgICAtMSwgICAgLTEsICAg
ODA4LCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgIDgsICAgICA5LCAgICAxMCwgICAgLTEs
ICAgMTM3LCAgICAxMywgICAgMTQsICAgIDE1LCAgICAtMSwgICAgMTcsCisgICAgICAtMSwgICAx
NDQsICAgIC0xLCAgICAtMSwgICA4MjYsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDI2LCAgICAy
NywKKyAgICAgIDI4LCAgICAyOSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgODM4LCAg
ICAtMSwgICAgLTEsICAgIDM3LAorICAgICAgMzgsICAgODQzLCAgICA0MCwgICAgNDEsICAgIDQy
LCAgICA0MywgICAgNDQsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgIDg1MiwgICAgLTEsICAg
IC0xLCAgIDg1NSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAg
ICAgODYyLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLAorICAgICAgNjgsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNzcsCisgICAgICA3OCwgICAgNzksICAgIDgwLCAg
ICA4MSwgICAgODIsICAgIDgzLCAgICA4NCwgICAgODUsICAgIDg2LCAgICA4NywKKyAgICAgIDg4
LCAgICA4OSwgICAgLTEsICAgIC0xLCAgICA5MiwgICAgOTMsICAgIDk0LCAgICA5NSwgICAgLTEs
ICAgIDk3LAorICAgICAgOTgsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAx
MDQsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgOTIwLCAgICAtMSwKKyAgICAgMTE4LCAgICAt
MSwgICAgLTEsICAgMTIxLCAgICAtMSwgICAgLTEsICAgMTI0LCAgIDEyNSwgICAxMjYsICAgMTI3
LAorICAgICAxMjgsICAgMTI5LCAgIDEzMCwgICAxMzEsICAgMTMyLCAgIDEzMywgICAxMzQsICAg
MTM1LCAgIDEzNiwgICA5NDEsCisgICAgIDk0MiwgICAgLTEsICAgIC0xLCAgIDE0MSwgICAxNDIs
ICAgMTQzLCAgIDE0NCwgICAgLTEsICAgIC0xLCAgIDE0NywKKyAgICAgMTQ4LCAgIDE0OSwgICAg
LTEsICAgMTUxLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgICAwLCAgICAgMSwgICAgLTEsICAgICAzLCAg
ICAgNCwgICAgIDUsCisgICAgICAgNiwgICAgIDcsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDEx
LCAgICAxMiwgICAgLTEsICAgIC0xLCAgIDk4MSwKKyAgICAgIDE2LCAgIDk4MywgICAgMTgsICAg
IDE5LCAgICAyMCwgICAgMjEsICAgIDIyLCAgICAyMywgICAgMjQsICAgOTkxLAorICAgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDMwLCAgICAzMSwgICAgMzIsICAgIDMzLCAgICAzNCwg
ICAgMzUsCisgICAgICAzNiwgICAgLTEsICAgIC0xLCAgICAzOSwgICAgLTEsICAgIC0xLCAgICAt
MSwgICAgLTEsICAxMDEwLCAgICA0NSwKKyAgICAgIDQ2LCAgICA0NywgICAgNDgsICAgIDQ5LCAg
ICA1MCwgICAgNTEsICAgIDUyLCAgICA1MywgICAgNTQsICAgIDU1LAorICAgICAgNTYsICAgIDU3
LCAgICAtMSwgICAgNTksICAgIDYwLCAgICA2MSwgICAgNjIsICAgIC0xLCAgICA2NCwgICAgNjUs
CisgICAgICA2NiwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICA3NSwKKyAgICAgIDc2LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAg
ICA5NiwgICAgLTEsICAgIC0xLCAgICA5OSwgICAxMDAsICAgIC0xLCAgIDEwMiwgICAxMDMsICAg
IC0xLCAgIDEwNSwKKyAgICAgIC0xLCAgICAtMSwgICAxMDgsICAgMTA5LCAgIDExMCwgICAxMTEs
ICAgMTEyLCAgIDExMywgICAxMTQsICAgMTE1LAorICAgICAxMTYsICAgICAwLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgIDgsCisgICAgICAgOSwg
ICAgMTAsICAgIC0xLCAgICAtMSwgICAgMTMsICAgIDE0LCAgICAxNSwgICAgLTEsICAgIDE3LCAg
ICAtMSwKKyAgICAgIC0xLCAgIDEzNywgICAxMzgsICAgMTM5LCAgICAtMSwgICAgLTEsICAgIDI1
LCAgICAtMSwgICAgMjcsICAgIDI4LAorICAgICAgMjksICAgIC0xLCAgICAtMSwgICAxNDksICAg
IC0xLCAgIDE1MSwgICAgLTEsICAgIC0xLCAgICAzNywgICAgMzgsCisgICAgICAtMSwgICAgNDAs
ICAgIDQxLCAgICA0MiwgICAgNDMsICAgIDQ0LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwK
KyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDc3LCAgICA3
OCwgICAgNzksICAgIDgwLAorICAgICAgODEsICAgIDgyLCAgICA4MywgICAgODQsICAgIDg1LCAg
ICA4NiwgICAgODcsICAgIDg4LCAgICA4OSwgICAgNjgsCisgICAgICAtMSwgICAgOTIsICAgIDkz
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDc3LCAgICA3OCwKKyAgICAg
IDc5LCAgICA4MCwgICAgODEsICAgIDgyLCAgICA4MywgICAgODQsICAgIDg1LCAgICA4NiwgICAg
ODcsICAgIDg4LAorICAgICAgODksICAgIC0xLCAgICAtMSwgICAgOTIsICAgIDkzLCAgICA5NCwg
ICAgOTUsICAgIC0xLCAgICA5NywgICAgOTgsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAt
MSwgICAxMjUsICAgMTA0LCAgIDEyNywgICAxMjgsICAgMTI5LCAgIDEzMCwKKyAgICAgMTMxLCAg
IDEzMiwgICAxMzMsICAgMTM0LCAgIDEzNSwgICAxMzYsICAgIC0xLCAgICAtMSwgICAgLTEsICAg
MTE4LAorICAgICAgLTEsICAgIC0xLCAgIDEyMSwgICAgLTEsICAgIC0xLCAgIDEyNCwgICAxMjUs
ICAgMTI2LCAgIDEyNywgICAxMjgsCisgICAgIDEyOSwgICAxMzAsICAgMTMxLCAgIDEzMiwgICAx
MzMsICAgMTM0LCAgIDEzNSwgICAxMzYsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgMTQyLCAgIDE0MywgICAxNDQsICAgICAwLCAgICAtMSwgICAxNDcsICAgMTQ4LAor
ICAgICAxNDksICAgIC0xLCAgIDE1MSwgICAgLTEsICAgICA4LCAgICAgOSwgICAgMTAsICAgIC0x
LCAgICAtMSwgICAgMTMsCisgICAgICAxNCwgICAgMTUsICAgIC0xLCAgICAxNywgICAgLTEsICAg
IC0xLCAgICAtMSwgICAgLTEsICAgIDQ0LCAgICAtMSwKKyAgICAgIC0xLCAgICAyNSwgICAgLTEs
ICAgIDI3LCAgICAyOCwgICAgMjksICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAg
LTEsICAgIC0xLCAgICAtMSwgICAgMzcsICAgIDM4LCAgICAtMSwgICAgNDAsICAgIDQxLCAgICA0
MiwgICAgNDMsCisgICAgICA0NCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAg
ICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICA3NywgICAgNzgsICAgIDc5
LCAgICA4MCwgICAgODEsICAgIDgyLCAgICA4MywgICAgODQsICAgIDg1LAorICAgICAgODYsICAg
IDg3LCAgICA4OCwgICAgODksICAgIDY4LCAgICAtMSwgICAgOTIsICAgIDkzLCAgICAtMSwgICAg
LTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICA3NywgICAgNzgsICAgIDc5LCAgICA4MCwg
ICAgODEsICAgIDgyLCAgICA4MywKKyAgICAgIDg0LCAgICA4NSwgICAgODYsICAgIDg3LCAgICA4
OCwgICAgODksICAgIC0xLCAgICAtMSwgICAgOTIsICAgIDkzLAorICAgICAgOTQsICAgIDk1LCAg
ICAtMSwgICAgOTcsICAgIDk4LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAxMjUsCisg
ICAgIDEwNCwgICAxMjcsICAgMTI4LCAgIDEyOSwgICAxMzAsICAgMTMxLCAgIDEzMiwgICAxMzMs
ICAgMTM0LCAgIDEzNSwKKyAgICAgMTM2LCAgICAtMSwgICAgLTEsICAgIC0xLCAgIDExOCwgICAg
LTEsICAgIC0xLCAgIDEyMSwgICAgLTEsICAgIC0xLAorICAgICAxMjQsICAgMTI1LCAgIDEyNiwg
ICAxMjcsICAgMTI4LCAgIDEyOSwgICAxMzAsICAgMTMxLCAgIDEzMiwgICAxMzMsCisgICAgIDEz
NCwgICAxMzUsICAgMTM2LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgMTQy
LCAgIDE0MywKKyAgICAgMTQ0LCAgICAgMCwgICAgLTEsICAgMTQ3LCAgIDE0OCwgICAxNDksICAg
IC0xLCAgIDE1MSwgICAgLTEsICAgICA4LAorICAgICAgIDksICAgIDEwLCAgICAtMSwgICAgLTEs
ICAgIDEzLCAgICAxNCwgICAgMTUsICAgIC0xLCAgICAxNywgICAgLTEsCisgICAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMjYsICAgIDI3LCAgICAy
OCwKKyAgICAgIDI5LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAg
ICAtMSwgICAgMzcsICAgIDM4LAorICAgICAgLTEsICAgIDQwLCAgICA0MSwgICAgNDIsICAgIDQz
LCAgICA0NCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAg
IC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICA3NywgICAgNzgsICAgIDc5LCAgICA4MCwKKyAg
ICAgIDgxLCAgICA4MiwgICAgODMsICAgIDg0LCAgICA4NSwgICAgODYsICAgIDg3LCAgICA4OCwg
ICAgODksICAgIDY4LAorICAgICAgLTEsICAgIDkyLCAgICA5MywgICAgLTEsICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIC0xLCAgICA3NywgICAgNzgsCisgICAgICA3OSwgICAgODAsICAgIDgxLCAg
ICA4MiwgICAgODMsICAgIDg0LCAgICA4NSwgICAgODYsICAgIDg3LCAgICA4OCwKKyAgICAgIDg5
LCAgICAtMSwgICAgLTEsICAgIDkyLCAgICA5MywgICAgOTQsICAgIDk1LCAgICAtMSwgICAgLTEs
ICAgIDk4LAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgIDEwNCwgICAx
MjcsICAgMTI4LCAgIDEyOSwgICAxMzAsCisgICAgIDEzMSwgICAxMzIsICAgMTMzLCAgIDEzNCwg
ICAxMzUsICAgMTM2LCAgICAtMSwgICAgLTEsICAgIC0xLCAgIDExOCwKKyAgICAgIC0xLCAgICAt
MSwgICAxMjEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgMTI1LCAgIDEyNiwgICAxMjcsICAgMTI4
LAorICAgICAxMjksICAgMTMwLCAgIDEzMSwgICAxMzIsICAgMTMzLCAgIDEzNCwgICAxMzUsICAg
MTM2LCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgMTQxLCAgIDE0MiwgICAxNDMs
ICAgMTQ0LCAgICAgMCwgICAgLTEsICAgMTQ3LCAgIDE0OCwKKyAgICAgMTQ5LCAgICAtMSwgICAx
NTEsICAgIC0xLCAgICAgOCwgICAgIDksICAgIDEwLCAgICAtMSwgICAgLTEsICAgIDEzLAorICAg
ICAgMTQsICAgIDE1LCAgICAtMSwgICAgMTcsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAg
ICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIDI2LCAgICAyNywgICAgMjgsICAgIDI5
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAg
IDM3LCAgICAzOCwgICAgLTEsICAgIDQwLCAgICA0MSwgICAgNDIsICAgIDQzLAorICAgICAgNDQs
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAg
ICA2OCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgNzcsICAgIDc4LCAgICA3OSwgICAgODAsICAgIDgxLCAgICA4MiwgICAgODMs
CisgICAgICA4NCwgICAgODUsICAgIDg2LCAgICA4NywgICAgODgsICAgIDg5LCAgICAtMSwgICAg
LTEsICAgIDkyLCAgICA5MywKKyAgICAgIDk0LCAgICA5NSwgICAgLTEsICAgIC0xLCAgICA5OCwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAxMDQsICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAg
ICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAxMTgsICAgIC0xLCAgICAtMSwgICAxMjEsICAg
IC0xLCAgICAtMSwKKyAgICAgIC0xLCAgIDEyNSwgICAxMjYsICAgMTI3LCAgIDEyOCwgICAxMjks
ICAgMTMwLCAgIDEzMSwgICAxMzIsICAgMTMzLAorICAgICAxMzQsICAgMTM1LCAgIDEzNiwgICAg
LTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgMTQxLCAgIDE0MiwgICAxNDMsCisgICAgIDE0NCwg
ICAgIDAsICAgIC0xLCAgIDE0NywgICAxNDgsICAgMTQ5LCAgICAtMSwgICAxNTEsICAgIC0xLCAg
ICAgOCwKKyAgICAgICA5LCAgICAxMCwgICAgLTEsICAgIC0xLCAgICAxMywgICAgMTQsICAgIDE1
LCAgICAtMSwgICAgMTcsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAg
IC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAyNywgICAgMjgsCisgICAgICAyOSwgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDM3LCAgICAzOCwK
KyAgICAgIC0xLCAgICA0MCwgICAgNDEsICAgIDQyLCAgICA0MywgICAgNDQsICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAg
ICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICA2OCwKKyAgICAg
IC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
NzcsICAgIDc4LAorICAgICAgNzksICAgIDgwLCAgICA4MSwgICAgODIsICAgIDgzLCAgICA4NCwg
ICAgODUsICAgIDg2LCAgICA4NywgICAgODgsCisgICAgICA4OSwgICAgLTEsICAgIC0xLCAgICA5
MiwgICAgOTMsICAgIDk0LCAgICA5NSwgICAgLTEsICAgIDk3LCAgICA5OCwKKyAgICAgIC0xLCAg
ICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAxMDQsICAgIC0xLCAgICAtMSwgICAgLTEsICAg
IC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAxMTgsCisgICAgICAtMSwgICAgLTEsICAgMTIxLCAgICAtMSwgICAg
LTEsICAgMTI0LCAgIDEyNSwgICAxMjYsICAgMTI3LCAgIDEyOCwKKyAgICAgMTI5LCAgIDEzMCwg
ICAxMzEsICAgMTMyLCAgIDEzMywgICAxMzQsICAgMTM1LCAgIDEzNiwgICAgLTEsICAgIC0xLAor
ICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAxNDIsICAgMTQzLCAgIDE0NCwgICAgIDAsICAgIC0x
LCAgIDE0NywgICAxNDgsCisgICAgIDE0OSwgICAgLTEsICAgMTUxLCAgICAtMSwgICAgIDgsICAg
ICA5LCAgICAxMCwgICAgLTEsICAgIC0xLCAgICAxMywKKyAgICAgIDE0LCAgICAxNSwgICAgLTEs
ICAgIDE3LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAg
LTEsICAgIC0xLCAgICAyNiwgICAgMjcsICAgIDI4LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAt
MSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAzNywgICAgMzgsICAgIC0xLCAg
ICA0MCwgICAgNDEsICAgIDQyLCAgICA0MywKKyAgICAgIDQ0LCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAg
IC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNjgsICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDc3LCAgICA3
OCwgICAgNzksICAgIDgwLCAgICA4MSwgICAgODIsICAgIDgzLAorICAgICAgODQsICAgIDg1LCAg
ICA4NiwgICAgODcsICAgIDg4LCAgICA4OSwgICAgLTEsICAgIC0xLCAgICA5MiwgICAgOTMsCisg
ICAgICA5NCwgICAgOTUsICAgIC0xLCAgICAtMSwgICAgOTgsICAgIC0xLCAgICAtMSwgICAgLTEs
ICAgIC0xLCAgICAtMSwKKyAgICAgMTA0LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgMTE4LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAt
MSwgICAxMjUsICAgIC0xLCAgIDEyNywgICAxMjgsICAgMTI5LCAgIDEzMCwgICAxMzEsICAgMTMy
LCAgIDEzMywKKyAgICAgMTM0LCAgIDEzNSwgICAxMzYsICAgIC0xLCAgICAtMSwgICAgLTEsICAg
IC0xLCAgIDE0MSwgICAxNDIsICAgMTQzLAorICAgICAxNDQsICAgICAwLCAgIDE0NiwgICAxNDcs
ICAgMTQ4LCAgIDE0OSwgICAgLTEsICAgMTUxLCAgICAtMSwgICAgIDgsCisgICAgICAgOSwgICAg
MTAsICAgIC0xLCAgICAtMSwgICAgMTMsICAgIDE0LCAgICAxNSwgICAgLTEsICAgIDE3LCAgICAt
MSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAg
ICAtMSwgICAgMjcsICAgIDI4LAorICAgICAgMjksICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAzNywgICAgMzgsCisgICAgICAtMSwgICAgNDAsICAg
IDQxLCAgICA0MiwgICAgNDMsICAgIDQ0LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAg
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNjgsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAg
ICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDc3LCAgICA3OCwKKyAgICAgIDc5
LCAgICA4MCwgICAgODEsICAgIDgyLCAgICA4MywgICAgODQsICAgIDg1LCAgICA4NiwgICAgODcs
ICAgIDg4LAorICAgICAgODksICAgIC0xLCAgICAtMSwgICAgOTIsICAgIDkzLCAgICA5NCwgICAg
OTUsICAgIC0xLCAgICAtMSwgICAgOTgsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgMTA0LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgMTE4
LAorICAgICAgLTEsICAgIC0xLCAgIDEyMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAxMjUsICAg
MTI2LCAgIDEyNywgICAxMjgsCisgICAgIDEyOSwgICAxMzAsICAgMTMxLCAgIDEzMiwgICAxMzMs
ICAgMTM0LCAgIDEzNSwgICAxMzYsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAg
LTEsICAgMTQyLCAgIDE0MywgICAxNDQsICAgICAwLCAgICAtMSwgICAxNDcsICAgMTQ4LAorICAg
ICAxNDksICAgIC0xLCAgIDE1MSwgICAgLTEsICAgICA4LCAgICAgOSwgICAgMTAsICAgIC0xLCAg
ICAtMSwgICAgMTMsCisgICAgICAxNCwgICAgMTUsICAgIC0xLCAgICAxNywgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgMjYsICAg
IDI3LCAgICAyOCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAgMzcsICAgIDM4LCAgICAtMSwgICAgNDAsICAgIDQxLCAgICA0Miwg
ICAgNDMsCisgICAgICA0NCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAg
ICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIDY4LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEs
CisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICA3NywgICAgNzgsICAgIDc5LCAgICA4MCwgICAg
ODEsICAgIDgyLCAgICA4MywKKyAgICAgIDg0LCAgICA4NSwgICAgODYsICAgIDg3LCAgICA4OCwg
ICAgODksICAgIC0xLCAgICAtMSwgICAgOTIsICAgIDkzLAorICAgICAgOTQsICAgIDk1LCAgICAt
MSwgICAgLTEsICAgIDk4LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAg
IDEwNCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAg
IC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgIDExOCwgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgMTI1LCAgICAtMSwgICAx
MjcsICAgMTI4LCAgIDEyOSwgICAxMzAsICAgMTMxLCAgIDEzMiwgICAxMzMsCisgICAgIDEzNCwg
ICAxMzUsICAgMTM2LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAxNDEsICAgMTQyLCAg
IDE0MywKKyAgICAgMTQ0LCAgICAgMCwgICAxNDYsICAgMTQ3LCAgIDE0OCwgICAxNDksICAgIC0x
LCAgIDE1MSwgICAgLTEsICAgICA4LAorICAgICAgIDksICAgIDEwLCAgICAtMSwgICAgLTEsICAg
IDEzLCAgICAxNCwgICAgMTUsICAgIC0xLCAgICAxNywgICAgLTEsCisgICAgICAtMSwgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDI3LCAgICAyOCwK
KyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAt
MSwgICAgMzcsICAgIDM4LAorICAgICAgLTEsICAgIDQwLCAgICA0MSwgICAgNDIsICAgIDQzLCAg
ICA0NCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAg
IC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIDY4LAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICA3NywgICAgNzgsCisgICAgICA3OSwgICAgODAsICAgIDgxLCAgICA4
MiwgICAgODMsICAgIDg0LCAgICA4NSwgICAgODYsICAgIDg3LCAgICA4OCwKKyAgICAgIDg5LCAg
ICAtMSwgICAgLTEsICAgIDkyLCAgICA5MywgICAgOTQsICAgIDk1LCAgICAtMSwgICAgLTEsICAg
IDk4LAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgIDEwNCwgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgIDExOCwKKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgMTI1LCAgICAtMSwgICAxMjcsICAgMTI4LAor
ICAgICAxMjksICAgMTMwLCAgIDEzMSwgICAxMzIsICAgMTMzLCAgIDEzNCwgICAxMzUsICAgMTM2
LCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgIDE0MiwgICAxNDMsICAg
MTQ0LCAgICAgMCwgICAxNDYsICAgMTQ3LCAgIDE0OCwKKyAgICAgMTQ5LCAgICAtMSwgICAxNTEs
ICAgIC0xLCAgICAgOCwgICAgIDksICAgIDEwLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAg
MTQsICAgIDE1LCAgICAtMSwgICAgMTcsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAt
MSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIDI2LCAgICAtMSwgICAgLTEsICAgIC0xLCAg
ICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDM3
LCAgICAzOCwgICAgLTEsICAgIDQwLCAgICA0MSwgICAgNDIsICAgIDQzLAorICAgICAgNDQsICAg
IC0xLCAgICAtMSwgICAgLTEsICAgIDc3LCAgICA3OCwgICAgNzksICAgIDgwLCAgICA4MSwgICAg
ODIsCisgICAgICA4MywgICAgODQsICAgIDg1LCAgICA4NiwgICAgODcsICAgIDg4LCAgICA4OSwg
ICAgLTEsICAgIC0xLCAgICA5MiwKKyAgICAgIDkzLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICA2
OCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAg
ICAtMSwgICAgNzcsICAgIDc4LCAgICA3OSwgICAgODAsICAgIDgxLCAgICA4MiwgICAgODMsCisg
ICAgICA4NCwgICAgODUsICAgIDg2LCAgICA4NywgICAgODgsICAgIDg5LCAgICAtMSwgICAgLTEs
ICAgIDkyLCAgICA5MywKKyAgICAgIDk0LCAgICA5NSwgICAxMjUsICAgIDk3LCAgIDEyNywgICAx
MjgsICAgMTI5LCAgIDEzMCwgICAxMzEsICAgMTMyLAorICAgICAxMzMsICAgMTM0LCAgIDEzNSwg
ICAxMzYsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAt
MSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAxMTgsICAgIC0xLCAgICAtMSwgICAgLTEsICAgMTUx
LCAgICAtMSwKKyAgICAgMTI0LCAgIDEyNSwgICAgLTEsICAgMTI3LCAgIDEyOCwgICAxMjksICAg
MTMwLCAgIDEzMSwgICAxMzIsICAgMTMzLAorICAgICAxMzQsICAgMTM1LCAgIDEzNiwgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgMTQxLCAgIDE0MiwgICAxNDMsCisgICAgIDE0NCwgICAg
IDAsICAgIC0xLCAgIDE0NywgICAgLTEsICAgMTQ5LCAgICAtMSwgICAxNTEsICAgIC0xLCAgICAg
OCwKKyAgICAgICA5LCAgICAxMCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMTQsICAgIDE1LCAg
ICAtMSwgICAgMTcsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIDI2LCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAg
IC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDM3LCAgICAzOCwKKyAg
ICAgIC0xLCAgICA0MCwgICAgNDEsICAgIDQyLCAgICA0MywgICAgNDQsICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAg
ICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICA2OCwKKyAgICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNzcs
ICAgIDc4LAorICAgICAgNzksICAgIDgwLCAgICA4MSwgICAgODIsICAgIDgzLCAgICA4NCwgICAg
ODUsICAgIDg2LCAgICA4NywgICAgODgsCisgICAgICA4OSwgICAgLTEsICAgIC0xLCAgICA5Miwg
ICAgOTMsICAgIDk0LCAgICA5NSwgICAgLTEsICAgIDk3LCAgICAtMSwKKyAgICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAg
IC0xLCAgICAtMSwgICAxMTgsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEs
ICAgMTI0LCAgIDEyNSwgICAgLTEsICAgMTI3LCAgIDEyOCwKKyAgICAgMTI5LCAgIDEzMCwgICAx
MzEsICAgMTMyLCAgIDEzMywgICAxMzQsICAgMTM1LCAgIDEzNiwgICAgLTEsICAgIC0xLAorICAg
ICAgLTEsICAgIC0xLCAgIDE0MSwgICAxNDIsICAgMTQzLCAgIDE0NCwgICAgIDAsICAgIC0xLCAg
IDE0NywgICAgLTEsCisgICAgIDE0OSwgICAgLTEsICAgMTUxLCAgICAtMSwgICAgIDgsICAgICA5
LCAgICAxMCwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIDE0LCAgICAxNSwgICAgLTEsICAg
IDE3LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAzNywgICAgMzgsICAgIC0xLCAgICA0
MCwgICAgNDEsICAgIDQyLCAgICA0MywKKyAgICAgIDQ0LCAgICAtMSwgICAgLTEsICAgIC0xLCAg
ICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEs
CisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNjgsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDc3LCAgICA3OCwg
ICAgNzksICAgIDgwLCAgICA4MSwgICAgODIsICAgIDgzLAorICAgICAgODQsICAgIDg1LCAgICA4
NiwgICAgODcsICAgIDg4LCAgICA4OSwgICAgLTEsICAgIC0xLCAgICA5MiwgICAgOTMsCisgICAg
ICA5NCwgICAgOTUsICAgIC0xLCAgICA5NywgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAg
IC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgMTE4LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgIDEyNCwg
ICAxMjUsICAgIC0xLCAgIDEyNywgICAxMjgsICAgMTI5LCAgIDEzMCwgICAxMzEsICAgMTMyLCAg
IDEzMywKKyAgICAgMTM0LCAgIDEzNSwgICAxMzYsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAxNDIsICAgMTQzLAorICAgICAxNDQsICAgICAwLCAgICAtMSwgICAxNDcsICAg
IC0xLCAgIDE0OSwgICAgLTEsICAgMTUxLCAgICAtMSwgICAgIDgsCisgICAgICAgOSwgICAgMTAs
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDE0LCAgICAxNSwgICAgLTEsICAgIDE3LCAgICAtMSwK
KyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAg
ICAtMSwgICAgLTEsICAgIC0xLCAgICAzNywgICAgMzgsCisgICAgICAtMSwgICAgNDAsICAgIDQx
LCAgICA0MiwgICAgNDMsICAgIDQ0LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAg
IC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgNjgsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDc3LCAgICA3OCwKKyAgICAgIDc5LCAg
ICA4MCwgICAgODEsICAgIDgyLCAgICA4MywgICAgODQsICAgIDg1LCAgICA4NiwgICAgODcsICAg
IDg4LAorICAgICAgODksICAgIC0xLCAgICAtMSwgICAgOTIsICAgIDkzLCAgICA5NCwgICAgOTUs
ICAgIC0xLCAgICA5NywgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgMTE4LAor
ICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgIDEyNCwgICAxMjUsICAgIC0x
LCAgIDEyNywgICAxMjgsCisgICAgIDEyOSwgICAxMzAsICAgMTMxLCAgIDEzMiwgICAxMzMsICAg
MTM0LCAgIDEzNSwgICAxMzYsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEs
ICAgMTQyLCAgIDE0MywgICAxNDQsICAgIC0xLCAgICAtMSwgICAxNDcsICAgIC0xLAorICAgICAx
NDksICAgICAxLCAgIDE1MSwgICAgIDMsICAgICA0LCAgICAgNSwgICAgIDYsICAgICA3LCAgICAg
OCwgICAgIDksCisgICAgICAxMCwgICAgMTEsICAgIDEyLCAgICAtMSwgICAgLTEsICAgIDE1LCAg
ICAxNiwgICAgLTEsICAgIDE4LCAgICAxOSwKKyAgICAgIDIwLCAgICAyMSwgICAgMjIsICAgIDIz
LCAgICAyNCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgMzAsICAg
IDMxLCAgICAzMiwgICAgMzMsICAgIDM0LCAgICAzNSwgICAgMzYsICAgIC0xLCAgICAtMSwgICAg
MzksCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDQ1LCAgICA0Niwg
ICAgNDcsICAgIDQ4LCAgICA0OSwKKyAgICAgIDUwLCAgICA1MSwgICAgNTIsICAgIDUzLCAgICA1
NCwgICAgNTUsICAgIDU2LCAgICA1NywgICAgLTEsICAgIDU5LAorICAgICAgNjAsICAgIDYxLCAg
ICA2MiwgICAgLTEsICAgIDY0LCAgICA2NSwgICAgNjYsICAgIC0xLCAgICAtMSwgICAgLTEsCisg
ICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDc1LCAgICA3NiwgICAgLTEs
ICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgOTYsICAgIC0xLCAgICAtMSwgICAgOTksCisgICAgIDEw
MCwgICAgLTEsICAgMTAyLCAgIDEwMywgICAgLTEsICAgMTA1LCAgICAtMSwgICAgLTEsICAgMTA4
LCAgIDEwOSwKKyAgICAgMTEwLCAgIDExMSwgICAxMTIsICAgMTEzLCAgIDExNCwgICAxMTUsICAg
MTE2LCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAxMzcsICAgMTM4LCAgIDEz
OSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAg
ICAtMSwgICAgLTEsICAgMTQ5LAorICAgICAgIDEsICAgMTUxLCAgICAgMywgICAgIDQsICAgICA1
LCAgICAgNiwgICAgIDcsICAgIC0xLCAgICAtMSwgICAgMTAsCisgICAgICAxMSwgICAgMTIsICAg
IC0xLCAgICAxNCwgICAgMTUsICAgIDE2LCAgICAtMSwgICAgMTgsICAgIDE5LCAgICAyMCwKKyAg
ICAgIDIxLCAgICAyMiwgICAgMjMsICAgIDI0LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIDMwLAorICAgICAgMzEsICAgIDMyLCAgICAzMywgICAgMzQsICAgIDM1LCAgICAz
NiwgICAgLTEsICAgIC0xLCAgICAzOSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAg
ICAtMSwgICAgNDUsICAgIDQ2LCAgICA0NywgICAgNDgsICAgIDQ5LCAgICA1MCwKKyAgICAgIDUx
LCAgICA1MiwgICAgNTMsICAgIDU0LCAgICA1NSwgICAgNTYsICAgIDU3LCAgICAtMSwgICAgNTks
ICAgIDYwLAorICAgICAgNjEsICAgIDYyLCAgICAtMSwgICAgNjQsICAgIDY1LCAgICA2NiwgICAg
LTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgNzUsICAgIDc2LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICA5NiwgICAgLTEsICAg
IC0xLCAgICA5OSwgICAxMDAsCisgICAgICAtMSwgICAxMDIsICAgMTAzLCAgICAtMSwgICAxMDUs
ICAgIC0xLCAgICAtMSwgICAxMDgsICAgMTA5LCAgIDExMCwKKyAgICAgMTExLCAgIDExMiwgICAx
MTMsICAgMTE0LCAgIDExNSwgICAxMTYsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAg
ICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgIDEzNywgICAxMzgsICAgMTM5LCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAg
IC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAxNDksICAgICAxLAorICAgICAxNTEs
ICAgICAzLCAgICAgNCwgICAgIDUsICAgICA2LCAgICAgNywgICAgLTEsICAgIC0xLCAgICAxMCwg
ICAgMTEsCisgICAgICAxMiwgICAgLTEsICAgIC0xLCAgICAxNSwgICAgMTYsICAgIDE3LCAgICAx
OCwgICAgMTksICAgIDIwLCAgICAyMSwKKyAgICAgIDIyLCAgICAyMywgICAgMjQsICAgIC0xLCAg
ICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMzAsICAgIDMxLAorICAgICAgMzIsICAgIDMz
LCAgICAzNCwgICAgMzUsICAgIDM2LCAgICAtMSwgICAgLTEsICAgIDM5LCAgICAtMSwgICAgLTEs
CisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICA0NSwgICAgNDYsICAgIDQ3LCAgICA0OCwgICAg
NDksICAgIDUwLCAgICA1MSwKKyAgICAgIDUyLCAgICA1MywgICAgNTQsICAgIDU1LCAgICA1Niwg
ICAgNTcsICAgIC0xLCAgICA1OSwgICAgNjAsICAgIDYxLAorICAgICAgNjIsICAgIC0xLCAgICA2
NCwgICAgNjUsICAgIDY2LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAg
ICAtMSwgICAgLTEsICAgIC0xLCAgICA3NSwgICAgNzYsICAgIC0xLCAgICAtMSwgICAgLTEsICAg
IC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIDk2LCAgICAtMSwgICAgLTEsICAgIDk5LCAgIDEwMCwgICAgLTEsCisgICAgIDEwMiwg
ICAxMDMsICAgIC0xLCAgIDEwNSwgICAgLTEsICAgIC0xLCAgIDEwOCwgICAxMDksICAgMTEwLCAg
IDExMSwKKyAgICAgMTEyLCAgIDExMywgICAxMTQsICAgMTE1LCAgIDExNiwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAg
IC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgMTM3LCAgIDEzOCwgICAxMzksICAgIC0xLCAgICAtMSwK
KyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgIDE0
OSwgICAgIDEsICAgMTUxLAorICAgICAgIDMsICAgICA0LCAgICAgNSwgICAgIDYsICAgICA3LCAg
ICAtMSwgICAgLTEsICAgIDEwLCAgICAxMSwgICAgMTIsCisgICAgICAtMSwgICAgLTEsICAgIDE1
LCAgICAxNiwgICAgLTEsICAgIDE4LCAgICAxOSwgICAgMjAsICAgIDIxLCAgICAyMiwKKyAgICAg
IDIzLCAgICAyNCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAzMCwgICAg
MzEsICAgIDMyLAorICAgICAgMzMsICAgIDM0LCAgICAzNSwgICAgMzYsICAgIC0xLCAgICAtMSwg
ICAgMzksICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIDQ1LCAgICA0
NiwgICAgNDcsICAgIDQ4LCAgICA0OSwgICAgNTAsICAgIDUxLCAgICA1MiwKKyAgICAgIDUzLCAg
ICA1NCwgICAgNTUsICAgIDU2LCAgICA1NywgICAgLTEsICAgIDU5LCAgICA2MCwgICAgNjEsICAg
IDYyLAorICAgICAgLTEsICAgIDY0LCAgICA2NSwgICAgNjYsICAgIC0xLCAgICAtMSwgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIDc1LCAgICA3NiwgICAg
LTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAor
ICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgOTYsICAgIC0xLCAgICAtMSwgICAgOTksICAgMTAw
LCAgICAtMSwgICAxMDIsCisgICAgIDEwMywgICAgLTEsICAgMTA1LCAgICAtMSwgICAgLTEsICAg
MTA4LCAgIDEwOSwgICAxMTAsICAgMTExLCAgIDExMiwKKyAgICAgMTEzLCAgIDExNCwgICAxMTUs
ICAgMTE2LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAg
LTEsICAgIC0xLCAgICAgMSwgICAgLTEsICAgICAzLCAgICAgNCwgICAgIDUsICAgICA2LCAgICAg
NywgICAgLTEsCisgICAgICAgOSwgICAgMTAsICAgIDExLCAgICAxMiwgICAxMzcsICAgMTM4LCAg
IDEzOSwgICAgMTYsICAgIC0xLCAgICAxOCwKKyAgICAgIDE5LCAgICAyMCwgICAgMjEsICAgIDIy
LCAgICAyMywgICAgMjQsICAgMTQ5LCAgICAtMSwgICAxNTEsICAgIC0xLAorICAgICAgLTEsICAg
IDMwLCAgICAzMSwgICAgMzIsICAgIDMzLCAgICAzNCwgICAgMzUsICAgIDM2LCAgICAtMSwgICAg
LTEsCisgICAgICAzOSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICA0NSwg
ICAgNDYsICAgIDQ3LCAgICA0OCwKKyAgICAgIDQ5LCAgICA1MCwgICAgNTEsICAgIDUyLCAgICA1
MywgICAgNTQsICAgIDU1LCAgICA1NiwgICAgNTcsICAgIC0xLAorICAgICAgNTksICAgIDYwLCAg
ICA2MSwgICAgNjIsICAgIC0xLCAgICA2NCwgICAgNjUsICAgIDY2LCAgICAtMSwgICAgLTEsCisg
ICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICA3NSwgICAgNzYs
ICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDk2LCAgICAtMSwgICAgLTEsCisgICAgICA5
OSwgICAxMDAsICAgIC0xLCAgIDEwMiwgICAxMDMsICAgIC0xLCAgIDEwNSwgICAgLTEsICAgIC0x
LCAgIDEwOCwKKyAgICAgMTA5LCAgIDExMCwgICAxMTEsICAgMTEyLCAgIDExMywgICAxMTQsICAg
MTE1LCAgIDExNiwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAgIDEsICAgIC0xLCAgICAgMywgICAgIDQsCisgICAgICAgNSwgICAg
IDYsICAgICA3LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAxMSwgICAgMTIsICAgMTM3LCAgIDEz
OCwKKyAgICAgMTM5LCAgICAxNiwgICAgLTEsICAgIDE4LCAgICAxOSwgICAgMjAsICAgIDIxLCAg
ICAyMiwgICAgMjMsICAgIDI0LAorICAgICAxNDksICAgIC0xLCAgIDE1MSwgICAgLTEsICAgIC0x
LCAgICAzMCwgICAgMzEsICAgIDMyLCAgICAzMywgICAgMzQsCisgICAgICAzNSwgICAgMzYsICAg
IC0xLCAgICAtMSwgICAgMzksICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAg
ICAgIDQ1LCAgICA0NiwgICAgNDcsICAgIDQ4LCAgICA0OSwgICAgNTAsICAgIDUxLCAgICA1Miwg
ICAgNTMsICAgIDU0LAorICAgICAgNTUsICAgIDU2LCAgICA1NywgICAgLTEsICAgIDU5LCAgICA2
MCwgICAgNjEsICAgIDYyLCAgICAtMSwgICAgNjQsCisgICAgICA2NSwgICAgNjYsICAgIC0xLCAg
ICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIDc1
LCAgICA3NiwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEs
ICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgOTYsICAgIC0xLCAgICAtMSwg
ICAgOTksICAgMTAwLCAgICAtMSwgICAxMDIsICAgMTAzLCAgICAtMSwKKyAgICAgMTA1LCAgICAt
MSwgICAgLTEsICAgMTA4LCAgIDEwOSwgICAxMTAsICAgMTExLCAgIDExMiwgICAxMTMsICAgMTE0
LAorICAgICAxMTUsICAgMTE2LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAg
IC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAx
MzcsICAgMTM4LCAgIDEzOSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAg
ICAgLTEsICAgIC0xLCAgIDE0NywgICAgLTEsICAgMTQ5LCAgICAgMSwgICAxNTEsICAgICAzLCAg
ICAgNCwgICAgIDUsCisgICAgICAgNiwgICAgIDcsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDEx
LCAgICAxMiwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIDE2LCAgICAtMSwgICAgMTgsICAg
IDE5LCAgICAyMCwgICAgMjEsICAgIDIyLCAgICAyMywgICAgMjQsICAgIC0xLAorICAgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDMwLCAgICAzMSwgICAgMzIsICAgIDMzLCAgICAzNCwg
ICAgMzUsCisgICAgICAzNiwgICAgLTEsICAgIC0xLCAgICAzOSwgICAgLTEsICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIC0xLCAgICA0NSwKKyAgICAgIDQ2LCAgICA0NywgICAgNDgsICAgIDQ5LCAg
ICA1MCwgICAgNTEsICAgIDUyLCAgICA1MywgICAgNTQsICAgIDU1LAorICAgICAgNTYsICAgIDU3
LCAgICAtMSwgICAgNTksICAgIDYwLCAgICA2MSwgICAgNjIsICAgIC0xLCAgICA2NCwgICAgNjUs
CisgICAgICA2NiwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICA3NSwKKyAgICAgIDc2LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAg
ICA5NiwgICAgLTEsICAgIC0xLCAgICA5OSwgICAxMDAsICAgIC0xLCAgIDEwMiwgICAxMDMsICAg
IC0xLCAgIDEwNSwKKyAgICAgIC0xLCAgICAtMSwgICAxMDgsICAgMTA5LCAgIDExMCwgICAxMTEs
ICAgMTEyLCAgIDExMywgICAxMTQsICAgMTE1LAorICAgICAxMTYsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAg
ICAtMSwKKyAgICAgIC0xLCAgIDEzNywgICAxMzgsICAgMTM5LCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgMTQ3LCAgICAtMSwgICAxNDksICAg
ICAxLCAgIDE1MSwgICAgIDMsICAgICA0LCAgICAgNSwgICAgIDYsCisgICAgICAgNywgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAgMTEsICAgIDEyLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAxNiwK
KyAgICAgIC0xLCAgICAxOCwgICAgMTksICAgIDIwLCAgICAyMSwgICAgMjIsICAgIDIzLCAgICAy
NCwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMzAsICAgIDMxLCAg
ICAzMiwgICAgMzMsICAgIDM0LCAgICAzNSwgICAgMzYsCisgICAgICAtMSwgICAgLTEsICAgIDM5
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDQ1LCAgICA0NiwKKyAgICAg
IDQ3LCAgICA0OCwgICAgNDksICAgIDUwLCAgICA1MSwgICAgNTIsICAgIDUzLCAgICA1NCwgICAg
NTUsICAgIDU2LAorICAgICAgNTcsICAgIC0xLCAgICA1OSwgICAgNjAsICAgIDYxLCAgICA2Miwg
ICAgLTEsICAgIDY0LCAgICA2NSwgICAgNjYsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDc1LCAgICA3NiwKKyAgICAgIC0xLCAg
ICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAg
IC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAgOTYsCisgICAgICAtMSwgICAgLTEsICAgIDk5LCAgIDEwMCwgICAg
LTEsICAgMTAyLCAgIDEwMywgICAgLTEsICAgMTA1LCAgICAtMSwKKyAgICAgIC0xLCAgIDEwOCwg
ICAxMDksICAgMTEwLCAgIDExMSwgICAxMTIsICAgMTEzLCAgIDExNCwgICAxMTUsICAgMTE2LAor
ICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAg
IC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgMTM3LCAgIDEzOCwgICAxMzks
ICAgIC0xLCAgICAtMSwgICAxNDIsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAg
LTEsICAgIC0xLCAgIDE0OSwgICAgIDEsICAgMTUxLCAgICAgMywgICAgIDQsICAgICA1LCAgICAg
NiwgICAgIDcsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAxMSwgICAgMTIsICAgIC0xLCAg
ICAtMSwgICAgLTEsICAgIDE2LCAgICAtMSwKKyAgICAgIDE4LCAgICAxOSwgICAgMjAsICAgIDIx
LCAgICAyMiwgICAgMjMsICAgIDI0LCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAg
IC0xLCAgICAzMCwgICAgMzEsICAgIDMyLCAgICAzMywgICAgMzQsICAgIDM1LCAgICAzNiwgICAg
LTEsCisgICAgICAtMSwgICAgMzksICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgNDUsICAgIDQ2LCAgICA0NywKKyAgICAgIDQ4LCAgICA0OSwgICAgNTAsICAgIDUxLCAgICA1
MiwgICAgNTMsICAgIDU0LCAgICA1NSwgICAgNTYsICAgIDU3LAorICAgICAgLTEsICAgIDU5LCAg
ICA2MCwgICAgNjEsICAgIDYyLCAgICAtMSwgICAgNjQsICAgIDY1LCAgICA2NiwgICAgLTEsCisg
ICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNzUs
ICAgIDc2LCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICA5NiwgICAgLTEsCisgICAgICAt
MSwgICAgOTksICAgMTAwLCAgICAtMSwgICAxMDIsICAgMTAzLCAgICAtMSwgICAxMDUsICAgIC0x
LCAgICAtMSwKKyAgICAgMTA4LCAgIDEwOSwgICAxMTAsICAgMTExLCAgIDExMiwgICAxMTMsICAg
MTE0LCAgIDExNSwgICAxMTYsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgIDEz
NywKKyAgICAgMTM4LCAgIDEzOSwgICAgLTEsICAgIC0xLCAgIDE0MiwgICAgLTEsICAgIC0xLCAg
ICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgMTQ5LCAgICAgMSwgICAxNTEsICAgICAz
LCAgICAgNCwgICAgIDUsICAgICA2LCAgICAgNywgICAgLTEsCisgICAgICAtMSwgICAgMTAsICAg
IDExLCAgICAxMiwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMTYsICAgIC0xLCAgICAxOCwKKyAg
ICAgIDE5LCAgICAyMCwgICAgMjEsICAgIDIyLCAgICAyMywgICAgMjQsICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIDMwLCAgICAzMSwgICAgMzIsICAgIDMzLCAgICAz
NCwgICAgMzUsICAgIDM2LCAgICAtMSwgICAgLTEsCisgICAgICAzOSwgICAgLTEsICAgIC0xLCAg
ICAtMSwgICAgLTEsICAgIC0xLCAgICA0NSwgICAgNDYsICAgIDQ3LCAgICA0OCwKKyAgICAgIDQ5
LCAgICA1MCwgICAgNTEsICAgIDUyLCAgICA1MywgICAgNTQsICAgIDU1LCAgICA1NiwgICAgNTcs
ICAgIC0xLAorICAgICAgNTksICAgIDYwLCAgICA2MSwgICAgNjIsICAgIC0xLCAgICA2NCwgICAg
NjUsICAgIDY2LCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICA3NSwgICAgNzYsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAg
IDk2LCAgICAtMSwgICAgLTEsCisgICAgICA5OSwgICAxMDAsICAgIC0xLCAgIDEwMiwgICAxMDMs
ICAgIC0xLCAgIDEwNSwgICAgLTEsICAgIC0xLCAgIDEwOCwKKyAgICAgMTA5LCAgIDExMCwgICAx
MTEsICAgMTEyLCAgIDExMywgICAxMTQsICAgMTE1LCAgIDExNiwgICAgLTEsICAgIC0xLAorICAg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgIDEsICAgIC0xLCAg
ICAgMywgICAgIDQsCisgICAgICAgNSwgICAgIDYsICAgICA3LCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAxMSwgICAgMTIsICAgMTM3LCAgIDEzOCwKKyAgICAgMTM5LCAgICAxNiwgICAgLTEsICAg
IDE4LCAgICAxOSwgICAgMjAsICAgIDIxLCAgICAyMiwgICAgMjMsICAgIDI0LAorICAgICAxNDks
ICAgIC0xLCAgIDE1MSwgICAgLTEsICAgIC0xLCAgICAzMCwgICAgMzEsICAgIDMyLCAgICAzMywg
ICAgMzQsCisgICAgICAzNSwgICAgMzYsICAgIC0xLCAgICAtMSwgICAgMzksICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIDQ1LCAgICA0NiwgICAgNDcsICAgIDQ4LCAg
ICA0OSwgICAgNTAsICAgIDUxLCAgICA1MiwgICAgNTMsICAgIDU0LAorICAgICAgNTUsICAgIDU2
LCAgICA1NywgICAgLTEsICAgIDU5LCAgICA2MCwgICAgNjEsICAgIDYyLCAgICAtMSwgICAgNjQs
CisgICAgICA2NSwgICAgNjYsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKKyAgICAgIDc1LCAgICA3NiwgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAg
ICAtMSwgICAgOTYsICAgIC0xLCAgICAtMSwgICAgOTksICAgMTAwLCAgICAtMSwgICAxMDIsICAg
MTAzLCAgICAtMSwKKyAgICAgMTA1LCAgICAtMSwgICAgLTEsICAgMTA4LCAgIDEwOSwgICAxMTAs
ICAgMTExLCAgIDExMiwgICAxMTMsICAgMTE0LAorICAgICAxMTUsICAgMTE2LCAgICAtMSwgICAx
MTgsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwg
ICAgLTEsICAgICAzLCAgICAgNCwgICAgIDUsICAgIC0xLCAgICAgNywgICAgLTEsICAgIC0xLCAg
ICAtMSwKKyAgICAgIDExLCAgICAxMiwgICAxMzcsICAgMTM4LCAgIDEzOSwgICAgMTYsICAgIC0x
LCAgICAxOCwgICAgMTksICAgIDIwLAorICAgICAgMjEsICAgIDIyLCAgICAyMywgICAgMjQsICAg
MTQ5LCAgICAtMSwgICAxNTEsICAgIC0xLCAgICAtMSwgICAgMzAsCisgICAgICAzMSwgICAgMzIs
ICAgIDMzLCAgICAzNCwgICAgMzUsICAgIDM2LCAgICAtMSwgICAgLTEsICAgIDM5LCAgICAtMSwK
KyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNDYsICAgIC0xLCAgICAt
MSwgICAgNDksICAgIDUwLAorICAgICAgNTEsICAgIDUyLCAgICA1MywgICAgNTQsICAgIDU1LCAg
ICA1NiwgICAgNTcsICAgIDU4LCAgICA1OSwgICAgNjAsCisgICAgICA2MSwgICAgNjIsICAgIC0x
LCAgICA2NCwgICAgNjUsICAgIDY2LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAg
IC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICA3NSwgICAgNzYsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIDk2LCAgICAtMSwgICAgLTEsICAgIDk5LCAgIDEwMCwKKyAgICAgIC0xLCAg
IDEwMiwgICAxMDMsICAgIC0xLCAgIDEwNSwgICAxMDYsICAgMTA3LCAgIDEwOCwgICAxMDksICAg
MTEwLAorICAgICAxMTEsICAgMTEyLCAgIDExMywgICAxMTQsICAgMTE1LCAgIDExNiwgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAgMywgICAgIDQsICAgICA1LCAgICAtMSwKKyAgICAgICA3LCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAxMSwgICAgMTIsICAgMTM3LCAgIDEzOCwgICAxMzksICAgIDE2LAor
ICAgICAgLTEsICAgIDE4LCAgICAxOSwgICAgMjAsICAgIDIxLCAgICAyMiwgICAgMjMsICAgIDI0
LCAgICAtMSwgICAgLTEsCisgICAgIDE1MSwgICAgLTEsICAgIC0xLCAgICAzMCwgICAgMzEsICAg
IDMyLCAgICAzMywgICAgMzQsICAgIDM1LCAgICAzNiwKKyAgICAgIC0xLCAgICAtMSwgICAgMzks
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDQ2LAorICAgICAg
LTEsICAgIC0xLCAgICA0OSwgICAgNTAsICAgIDUxLCAgICA1MiwgICAgNTMsICAgIDU0LCAgICA1
NSwgICAgNTYsCisgICAgICA1NywgICAgLTEsICAgIDU5LCAgICA2MCwgICAgNjEsICAgIDYyLCAg
ICAtMSwgICAgNjQsICAgIDY1LCAgICA2NiwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNzUsICAgIDc2LAorICAgICAgLTEsICAg
IC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICA5NiwKKyAgICAgIC0xLCAgICAtMSwgICAgOTksICAgMTAwLCAgICAt
MSwgICAxMDIsICAgMTAzLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgMTA4LCAg
IDEwOSwgICAxMTAsICAgMTExLCAgIDExMiwgICAxMTMsICAgMTE0LCAgIDExNSwgICAxMTYsCisg
ICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEs
ICAgIC0xLCAgICAtMSwKKyAgICAgICAzLCAgICAgNCwgICAgIDUsICAgIC0xLCAgICAgNywgICAg
LTEsICAgIC0xLCAgICAtMSwgICAgMTEsICAgIDEyLAorICAgICAxMzcsICAgMTM4LCAgIDEzOSwg
ICAgMTYsICAgIC0xLCAgICAxOCwgICAgMTksICAgIDIwLCAgICAyMSwgICAgMjIsCisgICAgICAy
MywgICAgMjQsICAgMTQ5LCAgICAtMSwgICAxNTEsICAgIC0xLCAgICAtMSwgICAgMzAsICAgIDMx
LCAgICAzMiwKKyAgICAgIDMzLCAgICAzNCwgICAgMzUsICAgIDM2LCAgICAtMSwgICAgLTEsICAg
IDM5LCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNDYs
ICAgIC0xLCAgICAtMSwgICAgNDksICAgIDUwLCAgICA1MSwgICAgNTIsCisgICAgICA1MywgICAg
NTQsICAgIDU1LCAgICA1NiwgICAgNTcsICAgIC0xLCAgICA1OSwgICAgNjAsICAgIDYxLCAgICA2
MiwKKyAgICAgIC0xLCAgICA2NCwgICAgNjUsICAgIDY2LCAgICAtMSwgICAgLTEsICAgIC0xLCAg
ICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICA3NSwgICAgNzYsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAg
IC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAg
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDk2LCAgICAtMSwgICAgLTEsICAgIDk5LCAgIDEwMCwg
ICAgLTEsICAgMTAyLAorICAgICAxMDMsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgIDEw
OCwgICAxMDksICAgMTEwLCAgIDExMSwgICAxMTIsCisgICAgIDExMywgICAxMTQsICAgMTE1LCAg
IDExNiwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAgMywgICAgIDQsICAgICA1LCAgICAgNiwgICAgIDcs
ICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAxMSwgICAgMTIsICAgMTM3LCAgIDEzOCwgICAx
MzksICAgIDE2LCAgICAtMSwgICAgMTgsCisgICAgICAxOSwgICAgMjAsICAgIDIxLCAgICAyMiwg
ICAgMjMsICAgIDI0LCAgICAtMSwgICAgLTEsICAgMTUxLCAgICAtMSwKKyAgICAgIC0xLCAgICAz
MCwgICAgMzEsICAgIDMyLCAgICAzMywgICAgMzQsICAgIDM1LCAgICAzNiwgICAgLTEsICAgIC0x
LAorICAgICAgMzksICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNDUsICAg
IDQ2LCAgICA0NywgICAgNDgsCisgICAgICA0OSwgICAgNTAsICAgIDUxLCAgICA1MiwgICAgNTMs
ICAgIDU0LCAgICA1NSwgICAgNTYsICAgIDU3LCAgICAtMSwKKyAgICAgIDU5LCAgICA2MCwgICAg
NjEsICAgIDYyLCAgICAtMSwgICAgNjQsICAgIDY1LCAgICA2NiwgICAgLTEsICAgIC0xLAorICAg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNzUsICAgIDc2LCAg
ICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAg
IC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICA5NiwgICAgLTEsICAgIC0xLAorICAgICAgOTks
ICAgMTAwLCAgICAtMSwgICAxMDIsICAgMTAzLCAgICAtMSwgICAxMDUsICAgIC0xLCAgICAtMSwg
ICAxMDgsCisgICAgIDEwOSwgICAxMTAsICAgMTExLCAgIDExMiwgICAxMTMsICAgMTE0LCAgIDEx
NSwgICAxMTYsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAg
ICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgIDMsICAgICA0LAorICAgICAgIDUsICAgICA2
LCAgICAgNywgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMTEsICAgIDEyLCAgIDEzNywgICAxMzgs
CisgICAgIDEzOSwgICAgMTYsICAgIC0xLCAgICAxOCwgICAgMTksICAgIDIwLCAgICAyMSwgICAg
MjIsICAgIDIzLCAgICAyNCwKKyAgICAgMTQ5LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgMzAsICAgIDMxLCAgICAzMiwgICAgMzMsICAgIDM0LAorICAgICAgMzUsICAgIDM2LCAgICAt
MSwgICAgLTEsICAgIDM5LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAg
ICA0NSwgICAgNDYsICAgIDQ3LCAgICA0OCwgICAgNDksICAgIDUwLCAgICA1MSwgICAgNTIsICAg
IDUzLCAgICA1NCwKKyAgICAgIDU1LCAgICA1NiwgICAgNTcsICAgIC0xLCAgICA1OSwgICAgNjAs
ICAgIDYxLCAgICA2MiwgICAgLTEsICAgIDY0LAorICAgICAgNjUsICAgIDY2LCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICA3NSwg
ICAgNzYsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAg
ICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIDk2LCAgICAtMSwgICAgLTEsICAg
IDk5LCAgIDEwMCwgICAgLTEsICAgMTAyLCAgIDEwMywgICAgLTEsCisgICAgIDEwNSwgICAgLTEs
ICAgIC0xLCAgIDEwOCwgICAxMDksICAgMTEwLCAgIDExMSwgICAxMTIsICAgMTEzLCAgIDExNCwK
KyAgICAgMTE1LCAgIDExNiwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAg
ICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgMTM3
LCAgIDEzOCwgICAxMzksICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAg
IC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgIDE0OSwgICAgIDMsICAgICA0LCAgICAgNSwgICAg
IDYsICAgICA3LAorICAgICAgIDgsICAgICA5LCAgICAxMCwgICAgMTEsICAgIDEyLCAgICAxMywg
ICAgMTQsICAgIDE1LCAgICAxNiwgICAgMTcsCisgICAgICAxOCwgICAgMTksICAgIDIwLCAgICAy
MSwgICAgMjIsICAgIDIzLCAgICAyNCwgICAgMjUsICAgIDI2LCAgICAtMSwKKyAgICAgIC0xLCAg
ICAtMSwgICAgMzAsICAgIDMxLCAgICAzMiwgICAgMzMsICAgIDM0LCAgICAzNSwgICAgMzYsICAg
IDM3LAorICAgICAgMzgsICAgIDM5LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEs
ICAgIDQ1LCAgICA0NiwgICAgNDcsCisgICAgICA0OCwgICAgNDksICAgIDUwLCAgICA1MSwgICAg
NTIsICAgIDUzLCAgICA1NCwgICAgNTUsICAgIDU2LCAgICA1NywKKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAor
ICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDc1
LCAgICA3NiwgICAgNzcsCisgICAgICA3OCwgICAgNzksICAgIDgwLCAgICA4MSwgICAgODIsICAg
IDgzLCAgICAtMSwgICAgLTEsICAgIDg2LCAgICA4NywKKyAgICAgIC0xLCAgICAtMSwgICAgOTAs
ICAgIDkxLCAgICA5MiwgICAgOTMsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAg
LTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgMTA1LCAgIDEw
NiwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAg
ICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgMTI3LAorICAgICAxMjgsICAg
MTI5LCAgIDEzMCwgICAxMzEsICAgMTMyLCAgIDEzMywgICAxMzQsICAgMTM1LCAgIDEzNiwgICAg
LTEsCisgICAgIDEzOCwgICAxMzksICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAxNDUsICAgMTQ2LCAgICAgMywKKyAgICAgICA0LCAgICAgNSwgICAgIDYsICAgICA3LCAgICAg
OCwgICAgIDksICAgIDEwLCAgICAxMSwgICAgMTIsICAgIDEzLAorICAgICAgMTQsICAgIDE1LCAg
ICAxNiwgICAgMTcsICAgIDE4LCAgICAxOSwgICAgMjAsICAgIDIxLCAgICAyMiwgICAgMjMsCisg
ICAgICAyNCwgICAgMjUsICAgIDI2LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAzMCwgICAgMzEs
ICAgIDMyLCAgICAzMywKKyAgICAgIDM0LCAgICAzNSwgICAgMzYsICAgIDM3LCAgICAzOCwgICAg
MzksICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIDQ1LCAgICA0Niwg
ICAgNDcsICAgIDQ4LCAgICA0OSwgICAgNTAsICAgIDUxLCAgICA1MiwgICAgNTMsCisgICAgICA1
NCwgICAgNTUsICAgIDU2LCAgICA1NywgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAg
IC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIDc1LCAgICA3NiwgICAgNzcs
ICAgIDc4LCAgICA3OSwgICAgODAsICAgIDgxLCAgICA4MiwgICAgODMsCisgICAgICAtMSwgICAg
LTEsICAgIDg2LCAgICA4NywgICAgLTEsICAgIC0xLCAgICA5MCwgICAgOTEsICAgIDkyLCAgICA5
MywKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAg
ICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgMTA1LCAgIDEwNiwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAg
IC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAg
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgMTI3LCAgIDEyOCwgICAxMjksICAgMTMwLCAgIDEzMSwg
ICAxMzIsICAgMTMzLAorICAgICAxMzQsICAgMTM1LCAgIDEzNiwgICAgLTEsICAgMTM4LCAgIDEz
OSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAxNDUsICAgICAzLCAg
ICAgNCwgICAgIDUsICAgICA2LCAgICAgNywgICAgIDgsICAgICA5LCAgICAxMCwKKyAgICAgIDEx
LCAgICAxMiwgICAgMTMsICAgIDE0LCAgICAxNSwgICAgMTYsICAgIDE3LCAgICAxOCwgICAgMTks
ICAgIDIwLAorICAgICAgMjEsICAgIDIyLCAgICAyMywgICAgMjQsICAgIDI1LCAgICAyNiwgICAg
LTEsICAgIC0xLCAgICAtMSwgICAgMzAsCisgICAgICAzMSwgICAgMzIsICAgIDMzLCAgICAzNCwg
ICAgMzUsICAgIDM2LCAgICAzNywgICAgMzgsICAgIDM5LCAgICAtMSwKKyAgICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIC0xLCAgICA0NSwgICAgNDYsICAgIDQ3LCAgICA0OCwgICAgNDksICAgIDUw
LAorICAgICAgNTEsICAgIDUyLCAgICA1MywgICAgNTQsICAgIC0xLCAgICA1NiwgICAgLTEsICAg
IC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICA3NSwgICAgNzYsICAgIDc3LCAgICA3OCwgICAgNzksICAgIDgwLAorICAg
ICAgODEsICAgIDgyLCAgICA4MywgICAgLTEsICAgIC0xLCAgICA4NiwgICAgODcsICAgIC0xLCAg
ICAtMSwgICAgOTAsCisgICAgICA5MSwgICAgOTIsICAgIDkzLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAg
IC0xLCAgIDEwNSwgICAxMDYsICAgIC0xLCAgICAtMSwgICAxMDksICAgIC0xLAorICAgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgIDEy
NywgICAxMjgsICAgMTI5LCAgIDEzMCwKKyAgICAgMTMxLCAgIDEzMiwgICAxMzMsICAgMTM0LCAg
IDEzNSwgICAxMzYsICAgIC0xLCAgIDEzOCwgICAxMzksICAgIC0xLAorICAgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgMTQ1LCAgICAgMywgICAgIDQsICAgICA1LCAgICAgNiwgICAgIDcs
CisgICAgICAgOCwgICAgIDksICAgIDEwLCAgICAxMSwgICAgMTIsICAgIDEzLCAgICAxNCwgICAg
MTUsICAgIDE2LCAgICAxNywKKyAgICAgIDE4LCAgICAxOSwgICAgMjAsICAgIDIxLCAgICAyMiwg
ICAgMjMsICAgIDI0LCAgICAyNSwgICAgMjYsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAz
MCwgICAgMzEsICAgIDMyLCAgICAzMywgICAgMzQsICAgIDM1LCAgICAzNiwgICAgMzcsCisgICAg
ICAzOCwgICAgMzksICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNDUsICAg
IDQ2LCAgICA0NywKKyAgICAgIDQ4LCAgICA0OSwgICAgNTAsICAgIDUxLCAgICA1MiwgICAgNTMs
ICAgIC0xLCAgICAtMSwgICAgNTYsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNzUsICAgIDc2LCAg
ICA3NywKKyAgICAgIDc4LCAgICA3OSwgICAgODAsICAgIDgxLCAgICA4MiwgICAgODMsICAgIC0x
LCAgICAtMSwgICAgODYsICAgIDg3LAorICAgICAgLTEsICAgIC0xLCAgICA5MCwgICAgOTEsICAg
IDkyLCAgICA5MywgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAxMDUsICAgMTA2LCAgICAtMSwK
KyAgICAgIC0xLCAgIDEwOSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAg
ICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAxMjcsCisgICAgIDEyOCwgICAxMjksICAgMTMw
LCAgIDEzMSwgICAxMzIsICAgMTMzLCAgIDEzNCwgICAxMzUsICAgMTM2LCAgICAtMSwKKyAgICAg
MTM4LCAgIDEzOSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgIDE0NSwgICAg
IDMsICAgICA0LAorICAgICAgIDUsICAgICA2LCAgICAgNywgICAgIDgsICAgICA5LCAgICAxMCwg
ICAgMTEsICAgIDEyLCAgICAxMywgICAgMTQsCisgICAgICAxNSwgICAgMTYsICAgIDE3LCAgICAx
OCwgICAgMTksICAgIDIwLCAgICAyMSwgICAgMjIsICAgIDIzLCAgICAyNCwKKyAgICAgIDI1LCAg
ICAyNiwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMzAsICAgIDMxLCAgICAzMiwgICAgMzMsICAg
IDM0LAorICAgICAgMzUsICAgIDM2LCAgICAzNywgICAgMzgsICAgIDM5LCAgICAtMSwgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICA0NSwgICAgNDYsICAgIDQ3LCAgICA0OCwgICAg
NDksICAgIDUwLCAgICA1MSwgICAgNTIsICAgIDUzLCAgICAtMSwKKyAgICAgIC0xLCAgICA1Niwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAor
ICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsCisgICAgICA3NSwgICAgNzYsICAgIDc3LCAgICA3OCwgICAgNzksICAg
IDgwLCAgICA4MSwgICAgODIsICAgIDgzLCAgICAtMSwKKyAgICAgIC0xLCAgICA4NiwgICAgODcs
ICAgIC0xLCAgICAtMSwgICAgOTAsICAgIDkxLCAgICA5MiwgICAgOTMsICAgIC0xLAorICAgICAg
LTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAt
MSwgICAgLTEsCisgICAgIDEwNSwgICAxMDYsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAg
ICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAg
IC0xLCAgIDEyNywgICAxMjgsICAgMTI5LCAgIDEzMCwgICAxMzEsICAgMTMyLCAgIDEzMywgICAx
MzQsCisgICAgIDEzNSwgICAxMzYsICAgIC0xLCAgIDEzOCwgICAxMzksICAgICAzLCAgICAgNCwg
ICAgIDUsICAgIC0xLCAgICAgNywKKyAgICAgMTQ1LCAgICAtMSwgICAgLTEsICAgIDExLCAgICAx
MiwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMTYsICAgIC0xLAorICAgICAgMTgsICAgIDE5LCAg
ICAyMCwgICAgMjEsICAgIDIyLCAgICAyMywgICAgMjQsICAgIC0xLCAgICAtMSwgICAgLTEsCisg
ICAgICAtMSwgICAgLTEsICAgIDMwLCAgICAzMSwgICAgMzIsICAgIDMzLCAgICAzNCwgICAgMzUs
ICAgIDM2LCAgICAtMSwKKyAgICAgIC0xLCAgICAzOSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwgICAgNDYsICAgIC0xLAorICAgICAgLTEsICAgIDQ5LCAgICA1MCwg
ICAgNTEsICAgIDUyLCAgICA1MywgICAgNTQsICAgIDU1LCAgICA1NiwgICAgNTcsCisgICAgICAt
MSwgICAgNTksICAgIDYwLCAgICA2MSwgICAgNjIsICAgIC0xLCAgICA2NCwgICAgNjUsICAgIDY2
LCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAg
IC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDk2LCAgICAt
MSwKKyAgICAgIC0xLCAgICA5OSwgICAxMDAsICAgIC0xLCAgIDEwMiwgICAxMDMsICAgIC0xLCAg
ICAtMSwgICAgLTEsICAgIC0xLAorICAgICAxMDgsICAgMTA5LCAgIDExMCwgICAxMTEsICAgMTEy
LCAgIDExMywgICAxMTQsICAgMTE1LCAgIDExNiwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAg
IC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAg
ICAgIC0xLCAgICAtMSwgICAgIDMsICAgICA0LCAgICAgNSwgICAgIDYsICAgICA3LCAgICAtMSwg
ICAgLTEsICAgMTM3LAorICAgICAgMTEsICAgIDEyLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAx
NiwgICAxNDQsICAgIDE4LCAgICAxOSwgICAgMjAsCisgICAgICAyMSwgICAgMjIsICAgIDIzLCAg
ICAyNCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAzMCwKKyAgICAgIDMx
LCAgICAzMiwgICAgMzMsICAgIDM0LCAgICAzNSwgICAgMzYsICAgIC0xLCAgICAtMSwgICAgMzks
ICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDQ1LCAgICA0NiwgICAg
NDcsICAgIDQ4LCAgICA0OSwgICAgNTAsCisgICAgICA1MSwgICAgNTIsICAgIDUzLCAgICA1NCwg
ICAgNTUsICAgIDU2LCAgICA1NywgICAgLTEsICAgIDU5LCAgICA2MCwKKyAgICAgIDYxLCAgICA2
MiwgICAgLTEsICAgIDY0LCAgICA2NSwgICAgNjYsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDc1LCAgICA3NiwgICAgLTEsICAg
IC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwgICAgOTYsICAgIC0xLCAgICAtMSwgICAgOTksICAgMTAwLAorICAg
ICAgLTEsICAgMTAyLCAgIDEwMywgICAgLTEsICAgMTA1LCAgICAtMSwgICAgLTEsICAgMTA4LCAg
IDEwOSwgICAxMTAsCisgICAgIDExMSwgICAxMTIsICAgMTEzLCAgIDExNCwgICAxMTUsICAgMTE2
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAg
IC0xLCAgICAtMSwgICAgLTEsICAgICAzLCAgICAgNCwgICAgIDUsICAgIC0xLAorICAgICAgIDcs
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDExLCAgICAxMiwgICAxMzcsICAgMTM4LCAgIDEzOSwg
ICAgMTYsCisgICAgICAtMSwgICAgMTgsICAgIDE5LCAgICAyMCwgICAgMjEsICAgIDIyLCAgICAy
MywgICAgMjQsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDMwLCAg
ICAzMSwgICAgMzIsICAgIDMzLCAgICAzNCwgICAgMzUsICAgIDM2LAorICAgICAgLTEsICAgIC0x
LCAgICAzOSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNDYs
CisgICAgICAtMSwgICAgLTEsICAgIDQ5LCAgICA1MCwgICAgNTEsICAgIDUyLCAgICA1MywgICAg
NTQsICAgIDU1LCAgICA1NiwKKyAgICAgIDU3LCAgICA1OCwgICAgNTksICAgIDYwLCAgICA2MSwg
ICAgNjIsICAgIC0xLCAgICA2NCwgICAgNjUsICAgIDY2LAorICAgICAgLTEsICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICA3NSwgICAgNzYsCisgICAg
ICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAg
IC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDk2LAorICAgICAgLTEsICAgIC0xLCAgICA5OSwgICAx
MDAsICAgIC0xLCAgIDEwMiwgICAxMDMsICAgIC0xLCAgIDEwNSwgICAxMDYsCisgICAgIDEwNywg
ICAxMDgsICAgMTA5LCAgIDExMCwgICAxMTEsICAgMTEyLCAgIDExMywgICAxMTQsICAgMTE1LCAg
IDExNiwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgIDMsICAgICA0LCAgICAgNSwgICAgIDYsICAg
ICA3LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAxMSwgICAgMTIsCisgICAgIDEzNywgICAxMzgs
ICAgMTM5LCAgICAxNiwgICAgLTEsICAgIDE4LCAgICAxOSwgICAgMjAsICAgIDIxLCAgICAyMiwK
KyAgICAgIDIzLCAgICAyNCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAz
MCwgICAgMzEsICAgIDMyLAorICAgICAgMzMsICAgIDM0LCAgICAzNSwgICAgMzYsICAgIC0xLCAg
ICAtMSwgICAgMzksICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIDQ1
LCAgICA0NiwgICAgLTEsICAgIDQ4LCAgICA0OSwgICAgNTAsICAgIDUxLCAgICA1MiwKKyAgICAg
IDUzLCAgICA1NCwgICAgNTUsICAgIDU2LCAgICA1NywgICAgLTEsICAgIDU5LCAgICA2MCwgICAg
NjEsICAgIDYyLAorICAgICAgLTEsICAgIDY0LCAgICA2NSwgICAgNjYsICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIDc1LCAgICA3
NiwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAg
ICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAg
IC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgOTYsICAgIC0xLCAgICAtMSwgICAgOTks
ICAgMTAwLCAgICAtMSwgICAxMDIsCisgICAgIDEwMywgICAgLTEsICAgMTA1LCAgICAtMSwgICAg
LTEsICAgMTA4LCAgIDEwOSwgICAxMTAsICAgMTExLCAgIDExMiwKKyAgICAgMTEzLCAgIDExNCwg
ICAxMTUsICAgMTE2LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAor
ICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgICAzLCAgICAgNCwgICAgIDUsICAgIC0x
LCAgICAgNywgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIDExLCAgICAxMiwgICAxMzcsICAg
MTM4LCAgIDEzOSwgICAgMTYsICAgIC0xLCAgICAxOCwKKyAgICAgIDE5LCAgICAyMCwgICAgMjEs
ICAgIDIyLCAgICAyMywgICAgMjQsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAg
LTEsICAgIDMwLCAgICAzMSwgICAgMzIsICAgIDMzLCAgICAzNCwgICAgMzUsICAgIDM2LCAgICAt
MSwgICAgLTEsCisgICAgICAzOSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAg
ICAtMSwgICAgNDYsICAgIC0xLCAgICAtMSwKKyAgICAgIDQ5LCAgICA1MCwgICAgNTEsICAgIDUy
LCAgICA1MywgICAgNTQsICAgIDU1LCAgICA1NiwgICAgNTcsICAgIDU4LAorICAgICAgNTksICAg
IDYwLCAgICA2MSwgICAgNjIsICAgIC0xLCAgICA2NCwgICAgNjUsICAgIDY2LCAgICAtMSwgICAg
LTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICA3NSwg
ICAgNzYsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAg
ICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDk2LCAgICAtMSwgICAgLTEsCisg
ICAgICA5OSwgICAxMDAsICAgIC0xLCAgIDEwMiwgICAxMDMsICAgIC0xLCAgIDEwNSwgICAxMDYs
ICAgMTA3LCAgIDEwOCwKKyAgICAgMTA5LCAgIDExMCwgICAxMTEsICAgMTEyLCAgIDExMywgICAx
MTQsICAgMTE1LCAgIDExNiwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAgMywgICAgIDQsCisgICAgICAg
NSwgICAgLTEsICAgICA3LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAxMSwgICAgMTIsICAgMTM3
LCAgIDEzOCwKKyAgICAgMTM5LCAgICAxNiwgICAgLTEsICAgIDE4LCAgICAxOSwgICAgMjAsICAg
IDIxLCAgICAyMiwgICAgMjMsICAgIDI0LAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEs
ICAgIC0xLCAgICAzMCwgICAgMzEsICAgIDMyLCAgICAzMywgICAgMzQsCisgICAgICAzNSwgICAg
MzYsICAgIC0xLCAgICAtMSwgICAgMzksICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAt
MSwKKyAgICAgIC0xLCAgICA0NiwgICAgLTEsICAgIC0xLCAgICA0OSwgICAgNTAsICAgIDUxLCAg
ICA1MiwgICAgNTMsICAgIDU0LAorICAgICAgNTUsICAgIDU2LCAgICA1NywgICAgNTgsICAgIDU5
LCAgICA2MCwgICAgNjEsICAgIDYyLCAgICAtMSwgICAgNjQsCisgICAgICA2NSwgICAgNjYsICAg
IC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAg
ICAgIDc1LCAgICA3NiwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgOTYsICAgIC0xLCAg
ICAtMSwgICAgOTksICAgMTAwLCAgICAtMSwgICAxMDIsICAgMTAzLCAgICAtMSwKKyAgICAgMTA1
LCAgIDEwNiwgICAgLTEsICAgMTA4LCAgIDEwOSwgICAxMTAsICAgMTExLCAgIDExMiwgICAxMTMs
ICAgMTE0LAorICAgICAxMTUsICAgMTE2LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgICAzLCAgICAgNCwg
ICAgIDUsICAgIC0xLCAgICAgNywgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIDExLCAgICAx
MiwgICAxMzcsICAgMTM4LCAgIDEzOSwgICAgMTYsICAgIC0xLCAgICAxOCwgICAgMTksICAgIDIw
LAorICAgICAgMjEsICAgIDIyLCAgICAyMywgICAgMjQsICAgIC0xLCAgICAtMSwgICAgLTEsICAg
IC0xLCAgICAtMSwgICAgMzAsCisgICAgICAzMSwgICAgMzIsICAgIDMzLCAgICAzNCwgICAgMzUs
ICAgIDM2LCAgICAtMSwgICAgLTEsICAgIDM5LCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwgICAgNDYsICAgIC0xLCAgICAtMSwgICAgNDksICAgIDUwLAorICAg
ICAgNTEsICAgIDUyLCAgICA1MywgICAgNTQsICAgIDU1LCAgICA1NiwgICAgNTcsICAgIDU4LCAg
ICA1OSwgICAgNjAsCisgICAgICA2MSwgICAgNjIsICAgIC0xLCAgICA2NCwgICAgNjUsICAgIDY2
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAg
IC0xLCAgICA3NSwgICAgNzYsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDk2LCAgICAt
MSwgICAgLTEsICAgIDk5LCAgIDEwMCwKKyAgICAgIC0xLCAgIDEwMiwgICAxMDMsICAgIC0xLCAg
ICAtMSwgICAxMDYsICAgMTA3LCAgIDEwOCwgICAxMDksICAgMTEwLAorICAgICAxMTEsICAgMTEy
LCAgIDExMywgICAxMTQsICAgMTE1LCAgIDExNiwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEs
CisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAgMywgICAg
IDQsICAgICA1LCAgICAtMSwKKyAgICAgICA3LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAxMSwg
ICAgMTIsICAgMTM3LCAgIDEzOCwgICAxMzksICAgIDE2LAorICAgICAgLTEsICAgIDE4LCAgICAx
OSwgICAgMjAsICAgIDIxLCAgICAyMiwgICAgMjMsICAgIDI0LCAgICAtMSwgICAgLTEsCisgICAg
ICAtMSwgICAgLTEsICAgIC0xLCAgICAzMCwgICAgMzEsICAgIDMyLCAgICAzMywgICAgMzQsICAg
IDM1LCAgICAzNiwKKyAgICAgIC0xLCAgICAtMSwgICAgMzksICAgIC0xLCAgICAtMSwgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDQ2LAorICAgICAgLTEsICAgIC0xLCAgICA0OSwgICAg
NTAsICAgIDUxLCAgICA1MiwgICAgNTMsICAgIDU0LCAgICA1NSwgICAgNTYsCisgICAgICA1Nywg
ICAgNTgsICAgIDU5LCAgICA2MCwgICAgNjEsICAgIDYyLCAgICAtMSwgICAgNjQsICAgIDY1LCAg
ICA2NiwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgNzUsICAgIDc2LAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAg
IC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICA5NiwK
KyAgICAgIC0xLCAgICAtMSwgICAgOTksICAgMTAwLCAgICAtMSwgICAxMDIsICAgMTAzLCAgICAt
MSwgICAxMDUsICAgMTA2LAorICAgICAgLTEsICAgMTA4LCAgIDEwOSwgICAxMTAsICAgMTExLCAg
IDExMiwgICAxMTMsICAgMTE0LCAgIDExNSwgICAxMTYsCisgICAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAg
ICAzLCAgICAgNCwgICAgIDUsICAgIC0xLCAgICAgNywgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
MTEsICAgIDEyLAorICAgICAxMzcsICAgMTM4LCAgIDEzOSwgICAgMTYsICAgIC0xLCAgICAxOCwg
ICAgMTksICAgIDIwLCAgICAyMSwgICAgMjIsCisgICAgICAyMywgICAgMjQsICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMzAsICAgIDMxLCAgICAzMiwKKyAgICAgIDMzLCAg
ICAzNCwgICAgMzUsICAgIDM2LCAgICAtMSwgICAgLTEsICAgIDM5LCAgICAtMSwgICAgLTEsICAg
IC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNDYsICAgIC0xLCAgICAtMSwgICAgNDks
ICAgIDUwLCAgICA1MSwgICAgNTIsCisgICAgICA1MywgICAgNTQsICAgIDU1LCAgICA1NiwgICAg
NTcsICAgIDU4LCAgICA1OSwgICAgNjAsICAgIDYxLCAgICA2MiwKKyAgICAgIC0xLCAgICA2NCwg
ICAgNjUsICAgIDY2LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAor
ICAgICAgLTEsICAgIC0xLCAgICA3NSwgICAgNzYsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAg
IC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEs
ICAgIDk2LCAgICAtMSwgICAgLTEsICAgIDk5LCAgIDEwMCwgICAgLTEsICAgMTAyLAorICAgICAx
MDMsICAgIC0xLCAgICAtMSwgICAxMDYsICAgIC0xLCAgIDEwOCwgICAxMDksICAgMTEwLCAgIDEx
MSwgICAxMTIsCisgICAgIDExMywgICAxMTQsICAgMTE1LCAgIDExNiwgICAgLTEsICAgIC0xLCAg
ICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAgMywgICAgIDQsICAgICA1LCAgICAtMSwgICAgIDcsICAgIC0xLAorICAgICAgLTEsICAg
IC0xLCAgICAxMSwgICAgMTIsICAgMTM3LCAgIDEzOCwgICAxMzksICAgIDE2LCAgICAtMSwgICAg
MTgsCisgICAgICAxOSwgICAgMjAsICAgIDIxLCAgICAyMiwgICAgMjMsICAgIDI0LCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAzMCwgICAgMzEsICAgIDMyLCAgICAz
MywgICAgMzQsICAgIDM1LCAgICAzNiwgICAgLTEsICAgIC0xLAorICAgICAgMzksICAgIC0xLCAg
ICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDQ2LCAgICAtMSwgICAgLTEsCisg
ICAgICA0OSwgICAgNTAsICAgIDUxLCAgICA1MiwgICAgNTMsICAgIDU0LCAgICA1NSwgICAgNTYs
ICAgIDU3LCAgICAtMSwKKyAgICAgIDU5LCAgICA2MCwgICAgNjEsICAgIDYyLCAgICAtMSwgICAg
NjQsICAgIDY1LCAgICA2NiwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgNzUsICAgIDc2LCAgICAtMSwgICAgLTEsCisgICAgICAt
MSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAg
IC0xLCAgICA5NiwgICAgLTEsICAgIC0xLAorICAgICAgOTksICAgMTAwLCAgICAtMSwgICAxMDIs
ICAgMTAzLCAgICAtMSwgICAxMDUsICAgIC0xLCAgICAtMSwgICAxMDgsCisgICAgIDEwOSwgICAx
MTAsICAgMTExLCAgIDExMiwgICAxMTMsICAgMTE0LCAgIDExNSwgICAxMTYsICAgIC0xLCAgICAt
MSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAg
ICAtMSwgICAgIDMsICAgICA0LAorICAgICAgIDUsICAgIC0xLCAgICAgNywgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgMTEsICAgIDEyLCAgIDEzNywgICAxMzgsCisgICAgIDEzOSwgICAgMTYsICAg
IC0xLCAgICAxOCwgICAgMTksICAgIDIwLCAgICAyMSwgICAgMjIsICAgIDIzLCAgICAyNCwKKyAg
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMzAsICAgIDMxLCAgICAzMiwg
ICAgMzMsICAgIDM0LAorICAgICAgMzUsICAgIDM2LCAgICAtMSwgICAgLTEsICAgIDM5LCAgICAt
MSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgNDYsICAgIC0xLCAg
ICAtMSwgICAgNDksICAgIDUwLCAgICA1MSwgICAgNTIsICAgIDUzLCAgICA1NCwKKyAgICAgIDU1
LCAgICA1NiwgICAgNTcsICAgIC0xLCAgICA1OSwgICAgNjAsICAgIDYxLCAgICA2MiwgICAgLTEs
ICAgIDY0LAorICAgICAgNjUsICAgIDY2LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICA3NSwgICAgNzYsICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LAorICAgICAgLTEsICAgIDk2LCAgICAtMSwgICAgLTEsICAgIDk5LCAgIDEwMCwgICAgLTEsICAg
MTAyLCAgIDEwMywgICAgLTEsCisgICAgIDEwNSwgICAgLTEsICAgIC0xLCAgIDEwOCwgICAxMDks
ICAgMTEwLCAgIDExMSwgICAxMTIsICAgMTEzLCAgIDExNCwKKyAgICAgMTE1LCAgIDExNiwgICAg
LTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAg
ICAgLTEsICAgIC0xLCAgICAgMywgICAgIDQsICAgICA1LCAgICAtMSwgICAgIDcsICAgIC0xLCAg
ICAtMSwgICAgLTEsCisgICAgICAxMSwgICAgMTIsICAgMTM3LCAgIDEzOCwgICAxMzksICAgIDE2
LCAgICAtMSwgICAgMTgsICAgIDE5LCAgICAyMCwKKyAgICAgIDIxLCAgICAyMiwgICAgMjMsICAg
IDI0LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDMwLAorICAgICAgMzEs
ICAgIDMyLCAgICAzMywgICAgMzQsICAgIDM1LCAgICAzNiwgICAgLTEsICAgIC0xLCAgICAzOSwg
ICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDQ2LCAgICAt
MSwgICAgLTEsICAgIDQ5LCAgICA1MCwKKyAgICAgIDUxLCAgICA1MiwgICAgNTMsICAgIDU0LCAg
ICA1NSwgICAgNTYsICAgIDU3LCAgICAtMSwgICAgNTksICAgIDYwLAorICAgICAgNjEsICAgIDYy
LCAgICAtMSwgICAgNjQsICAgIDY1LCAgICA2NiwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEs
CisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNzUsICAgIDc2LCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIC0xLCAgICA5NiwgICAgLTEsICAgIC0xLCAgICA5OSwgICAxMDAsCisgICAg
ICAtMSwgICAxMDIsICAgMTAzLCAgICAtMSwgICAxMDUsICAgIC0xLCAgICAtMSwgICAxMDgsICAg
MTA5LCAgIDExMCwKKyAgICAgMTExLCAgIDExMiwgICAxMTMsICAgMTE0LCAgIDExNSwgICAxMTYs
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwgICAgIDMsICAgICA0LCAgICAgNSwgICAgLTEsCisgICAgICAgNywg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgMTEsICAgIDEyLCAgIDEzNywgICAxMzgsICAgMTM5LCAg
ICAxNiwKKyAgICAgIC0xLCAgICAxOCwgICAgMTksICAgIDIwLCAgICAyMSwgICAgMjIsICAgIDIz
LCAgICAyNCwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMzAsICAg
IDMxLCAgICAzMiwgICAgMzMsICAgIDM0LCAgICAzNSwgICAgMzYsCisgICAgICAtMSwgICAgLTEs
ICAgIDM5LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICA0NiwK
KyAgICAgIC0xLCAgICAtMSwgICAgNDksICAgIDUwLCAgICA1MSwgICAgNTIsICAgIDUzLCAgICA1
NCwgICAgNTUsICAgIDU2LAorICAgICAgNTcsICAgIC0xLCAgICA1OSwgICAgNjAsICAgIDYxLCAg
ICA2MiwgICAgLTEsICAgIDY0LCAgICA2NSwgICAgNjYsCisgICAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDc1LCAgICA3NiwKKyAgICAg
IC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgOTYsCisgICAgICAtMSwgICAgLTEsICAgIDk5LCAgIDEw
MCwgICAgLTEsICAgMTAyLCAgIDEwMywgICAgLTEsICAgMTA1LCAgICAtMSwKKyAgICAgIC0xLCAg
IDEwOCwgICAxMDksICAgMTEwLCAgIDExMSwgICAxMTIsICAgMTEzLCAgIDExNCwgICAxMTUsICAg
MTE2LAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAgMywgICAgIDQsICAgICA1LCAgICAtMSwgICAg
IDcsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDExLCAgICAxMiwKKyAgICAgMTM3LCAgIDEzOCwg
ICAxMzksICAgIDE2LCAgICAtMSwgICAgMTgsICAgIDE5LCAgICAyMCwgICAgMjEsICAgIDIyLAor
ICAgICAgMjMsICAgIDI0LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDMw
LCAgICAzMSwgICAgMzIsCisgICAgICAzMywgICAgMzQsICAgIDM1LCAgICAzNiwgICAgLTEsICAg
IC0xLCAgICAzOSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEs
ICAgIDQ2LCAgICAtMSwgICAgLTEsICAgIDQ5LCAgICA1MCwgICAgNTEsICAgIDUyLAorICAgICAg
NTMsICAgIDU0LCAgICA1NSwgICAgNTYsICAgIDU3LCAgICAtMSwgICAgNTksICAgIDYwLCAgICA2
MSwgICAgNjIsCisgICAgICAtMSwgICAgNjQsICAgIDY1LCAgICA2NiwgICAgLTEsICAgIC0xLCAg
ICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgNzUsICAgIDc2
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAg
IC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICA5NiwgICAgLTEsICAgIC0xLCAgICA5OSwg
ICAxMDAsICAgIC0xLCAgIDEwMiwKKyAgICAgMTAzLCAgICAtMSwgICAxMDUsICAgIC0xLCAgICAt
MSwgICAxMDgsICAgMTA5LCAgIDExMCwgICAxMTEsICAgMTEyLAorICAgICAxMTMsICAgMTE0LCAg
IDExNSwgICAxMTYsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisg
ICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgIDMsICAgICA0LCAgICAgNSwgICAgLTEs
ICAgICA3LCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgMTEsICAgIDEyLCAgIDEzNywgICAx
MzgsICAgMTM5LCAgICAxNiwgICAgLTEsICAgIDE4LAorICAgICAgMTksICAgIDIwLCAgICAyMSwg
ICAgMjIsICAgIDIzLCAgICAyNCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAt
MSwgICAgMzAsICAgIDMxLCAgICAzMiwgICAgMzMsICAgIDM0LCAgICAzNSwgICAgMzYsICAgIC0x
LCAgICAtMSwKKyAgICAgIDM5LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAg
IC0xLCAgICA0NiwgICAgLTEsICAgIC0xLAorICAgICAgNDksICAgIDUwLCAgICA1MSwgICAgNTIs
ICAgIDUzLCAgICA1NCwgICAgNTUsICAgIDU2LCAgICA1NywgICAgLTEsCisgICAgICA1OSwgICAg
NjAsICAgIDYxLCAgICA2MiwgICAgLTEsICAgIDY0LCAgICA2NSwgICAgNjYsICAgIC0xLCAgICAt
MSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDc1LCAg
ICA3NiwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAg
IC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgOTYsICAgIC0xLCAgICAtMSwKKyAg
ICAgIDk5LCAgIDEwMCwgICAgLTEsICAgMTAyLCAgIDEwMywgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgMTA4LAorICAgICAxMDksICAgMTEwLCAgIDExMSwgICAxMTIsICAgMTEzLCAgIDEx
NCwgICAxMTUsICAgMTE2LCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAg
ICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgICAzLCAgICAgNCwKKyAgICAgICA1
LCAgICAtMSwgICAgIDcsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDExLCAgICAxMiwgICAxMzcs
ICAgMTM4LAorICAgICAxMzksICAgIDE2LCAgICAtMSwgICAgMTgsICAgIDE5LCAgICAyMCwgICAg
MjEsICAgIDIyLCAgICAyMywgICAgMjQsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIDMwLCAgICAzMSwgICAgMzIsICAgIDMzLCAgICAzNCwKKyAgICAgIDM1LCAgICAz
NiwgICAgLTEsICAgIC0xLCAgICAzOSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LAorICAgICAgLTEsICAgIDQ2LCAgICAtMSwgICAgLTEsICAgIDQ5LCAgICA1MCwgICAgNTEsICAg
IDUyLCAgICA1MywgICAgNTQsCisgICAgICA1NSwgICAgNTYsICAgIDU3LCAgICAtMSwgICAgNTks
ICAgIDYwLCAgICA2MSwgICAgNjIsICAgIC0xLCAgICA2NCwKKyAgICAgIDY1LCAgICA2NiwgICAg
LTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAg
ICAgNzUsICAgIDc2LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAg
ICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICA5NiwgICAgLTEsICAg
IC0xLCAgICA5OSwgICAxMDAsICAgIC0xLCAgIDEwMiwgICAxMDMsICAgIC0xLAorICAgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAxMDgsICAgMTA5LCAgIDExMCwgICAxMTEsICAgMTEyLCAgIDExMywg
ICAxMTQsCisgICAgIDExNSwgICAxMTYsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgIDMsICAgICA0LCAg
ICAgNSwgICAgLTEsICAgICA3LCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgMTEsICAgIDEy
LCAgIDEzNywgICAxMzgsICAgMTM5LCAgICAxNiwgICAgLTEsICAgIDE4LCAgICAxOSwgICAgMjAs
CisgICAgICAyMSwgICAgMjIsICAgIDIzLCAgICAyNCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAzMCwKKyAgICAgIDMxLCAgICAzMiwgICAgMzMsICAgIDM0LCAgICAzNSwg
ICAgMzYsICAgIC0xLCAgICAtMSwgICAgMzksICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIC0xLCAgICA0NiwgICAgLTEsICAgIC0xLCAgICA0OSwgICAgNTAsCisgICAg
ICA1MSwgICAgNTIsICAgIDUzLCAgICA1NCwgICAgNTUsICAgIDU2LCAgICA1NywgICAgLTEsICAg
IDU5LCAgICA2MCwKKyAgICAgIDYxLCAgICA2MiwgICAgLTEsICAgIDY0LCAgICA2NSwgICAgNjYs
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIDc1LCAgICA3NiwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAg
ICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgOTYsICAgIC0x
LCAgICAtMSwgICAgOTksICAgMTAwLAorICAgICAgLTEsICAgMTAyLCAgIDEwMywgICAgLTEsICAg
IC0xLCAgICAtMSwgICAgLTEsICAgMTA4LCAgIDEwOSwgICAxMTAsCisgICAgIDExMSwgICAxMTIs
ICAgMTEzLCAgIDExNCwgICAxMTUsICAgMTE2LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwK
KyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgICAzLCAgICAg
NCwgICAgIDUsICAgIC0xLAorICAgICAgIDcsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDExLCAg
ICAxMiwgICAxMzcsICAgMTM4LCAgIDEzOSwgICAgMTYsCisgICAgICAtMSwgICAgMTgsICAgIDE5
LCAgICAyMCwgICAgMjEsICAgIDIyLCAgICAyMywgICAgMjQsICAgIC0xLCAgICAtMSwKKyAgICAg
IC0xLCAgICAtMSwgICAgLTEsICAgIDMwLCAgICAzMSwgICAgMzIsICAgIDMzLCAgICAzNCwgICAg
MzUsICAgIDM2LAorICAgICAgLTEsICAgIC0xLCAgICAzOSwgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgNDYsCisgICAgICAtMSwgICAgLTEsICAgIDQ5LCAgICA1
MCwgICAgNTEsICAgIDUyLCAgICA1MywgICAgNTQsICAgIDU1LCAgICA1NiwKKyAgICAgIDU3LCAg
ICAtMSwgICAgNTksICAgIDYwLCAgICA2MSwgICAgNjIsICAgIC0xLCAgICA2NCwgICAgNjUsICAg
IDY2LAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDk2LAor
ICAgICAgLTEsICAgIC0xLCAgICA5OSwgICAxMDAsICAgIC0xLCAgIDEwMiwgICAxMDMsICAgIC0x
LCAgIDEwNSwgICAgLTEsCisgICAgICAtMSwgICAxMDgsICAgMTA5LCAgIDExMCwgICAxMTEsICAg
MTEyLCAgIDExMywgICAxMTQsICAgMTE1LCAgIDExNiwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgICAzLCAgICAgNCwgICAgIDUsICAgIC0xLAorICAgICAg
IDcsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDExLCAgICAxMiwgICAgLTEsICAgIC0xLCAgICAt
MSwgICAgMTYsCisgICAgIDEzNywgICAgMTgsICAgIDE5LCAgICAyMCwgICAgMjEsICAgIDIyLCAg
ICAyMywgICAgMjQsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDMw
LCAgICAzMSwgICAgMzIsICAgIDMzLCAgICAzNCwgICAgMzUsICAgIDM2LAorICAgICAgLTEsICAg
IC0xLCAgICAzOSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
NDYsCisgICAgICAtMSwgICAgLTEsICAgIDQ5LCAgICA1MCwgICAgNTEsICAgIDUyLCAgICA1Mywg
ICAgNTQsICAgIDU1LCAgICA1NiwKKyAgICAgIDU3LCAgICAtMSwgICAgNTksICAgIDYwLCAgICA2
MSwgICAgNjIsICAgIC0xLCAgICA2NCwgICAgNjUsICAgIDY2LAorICAgICAgLTEsICAgIC0xLCAg
ICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisg
ICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEs
ICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDk2LAorICAgICAgLTEsICAgIC0xLCAgICA5OSwg
ICAxMDAsICAgIC0xLCAgIDEwMiwgICAxMDMsICAgIC0xLCAgIDEwNSwgICAgLTEsCisgICAgICAt
MSwgICAxMDgsICAgMTA5LCAgIDExMCwgICAxMTEsICAgMTEyLCAgIDExMywgICAxMTQsICAgMTE1
LCAgIDExNiwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAg
ICAzLCAgICAgNCwgICAgIDUsICAgIC0xLAorICAgICAgIDcsICAgIC0xLCAgICAtMSwgICAgLTEs
ICAgIDExLCAgICAxMiwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMTYsCisgICAgIDEzNywgICAg
MTgsICAgIDE5LCAgICAyMCwgICAgMjEsICAgIDIyLCAgICAyMywgICAgMjQsICAgIC0xLCAgICAt
MSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDMwLCAgICAzMSwgICAgMzIsICAgIDMzLCAg
ICAzNCwgICAgMzUsICAgIDM2LAorICAgICAgLTEsICAgIC0xLCAgICAzOSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNDYsCisgICAgICAtMSwgICAgLTEsICAg
IDQ5LCAgICA1MCwgICAgNTEsICAgIDUyLCAgICA1MywgICAgNTQsICAgIDU1LCAgICA1NiwKKyAg
ICAgIDU3LCAgICAtMSwgICAgNTksICAgIDYwLCAgICA2MSwgICAgNjIsICAgIC0xLCAgICA2NCwg
ICAgNjUsICAgIDY2LAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAg
ICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgOTIsICAgIC0xLCAgICAtMSwgICAgLTEs
ICAgIDk2LAorICAgICAgLTEsICAgIC0xLCAgICA5OSwgICAxMDAsICAgIC0xLCAgIDEwMiwgICAx
MDMsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAxMDgsICAgMTA5LCAgIDExMCwg
ICAxMTEsICAgMTEyLCAgIDExMywgICAxMTQsICAgMTE1LCAgIDExNiwKKyAgICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgICAzLCAgICAgNCwgICAgIDUsICAgIC0x
LAorICAgICAgIDcsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDExLCAgICAxMiwgICAgLTEsICAg
IC0xLCAgICAtMSwgICAgMTYsCisgICAgIDEzNywgICAgMTgsICAgIDE5LCAgICAyMCwgICAgMjEs
ICAgIDIyLCAgICAyMywgICAgMjQsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIDMwLCAgICAzMSwgICAgMzIsICAgIDMzLCAgICAzNCwgICAgMzUsICAgIDM2LAorICAg
ICAgLTEsICAgIC0xLCAgICAzOSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAg
ICAtMSwgICAgNDYsCisgICAgICAtMSwgICAgLTEsICAgIDQ5LCAgICA1MCwgICAgNTEsICAgIDUy
LCAgICA1MywgICAgNTQsICAgIDU1LCAgICA1NiwKKyAgICAgIDU3LCAgICAtMSwgICAgNTksICAg
IDYwLCAgICA2MSwgICAgNjIsICAgIC0xLCAgICA2NCwgICAgNjUsICAgIDY2LAorICAgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAg
ICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDk2LAorICAgICAgLTEsICAgIC0x
LCAgICA5OSwgICAxMDAsICAgIC0xLCAgIDEwMiwgICAxMDMsICAgIC0xLCAgICAtMSwgICAgLTEs
CisgICAgICAtMSwgICAxMDgsICAgMTA5LCAgIDExMCwgICAxMTEsICAgMTEyLCAgIDExMywgICAx
MTQsICAgMTE1LCAgIDExNiwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgICAzLCAgICAgNCwgICAgIDUsICAgIC0xLAorICAgICAgIDcsICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIDExLCAgICAxMiwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMTYsCisgICAg
IDEzNywgICAgMTgsICAgIDE5LCAgICAyMCwgICAgMjEsICAgIDIyLCAgICAyMywgICAgMjQsICAg
IC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDMwLCAgICAzMSwgICAgMzIs
ICAgIDMzLCAgICAzNCwgICAgMzUsICAgIDM2LAorICAgICAgLTEsICAgIC0xLCAgICAzOSwgICAg
LTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNDYsCisgICAgICAtMSwg
ICAgLTEsICAgIDQ5LCAgICA1MCwgICAgNTEsICAgIDUyLCAgICA1MywgICAgNTQsICAgIDU1LCAg
ICA1NiwKKyAgICAgIDU3LCAgICAtMSwgICAgNTksICAgIDYwLCAgICA2MSwgICAgNjIsICAgIC0x
LCAgICA2NCwgICAgNjUsICAgIDY2LAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAg
IC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwK
KyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIDk2LAorICAgICAgLTEsICAgIC0xLCAgICA5OSwgICAxMDAsICAgIC0xLCAg
IDEwMiwgICAxMDMsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAxMDgsICAgMTA5
LCAgIDExMCwgICAxMTEsICAgMTEyLCAgIDExMywgICAxMTQsICAgMTE1LCAgIDExNiwKKyAgICAg
IC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgICAzLCAgICAgNCwgICAg
IDUsICAgIC0xLAorICAgICAgIDcsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDExLCAgICAxMiwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgMTYsCisgICAgIDEzNywgICAgMTgsICAgIDE5LCAgICAy
MCwgICAgMjEsICAgIDIyLCAgICAyMywgICAgMjQsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAg
ICAtMSwgICAgLTEsICAgIDMwLCAgICAzMSwgICAgMzIsICAgIDMzLCAgICAzNCwgICAgMzUsICAg
IDM2LAorICAgICAgLTEsICAgIC0xLCAgICAzOSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAgNDYsCisgICAgICAtMSwgICAgLTEsICAgIDQ5LCAgICA1MCwgICAg
NTEsICAgIDUyLCAgICA1MywgICAgNTQsICAgIDU1LCAgICA1NiwKKyAgICAgIDU3LCAgICAtMSwg
ICAgNTksICAgIDYwLCAgICA2MSwgICAgNjIsICAgIC0xLCAgICA2NCwgICAgNjUsICAgIDY2LAor
ICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAg
IC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDk2LAorICAgICAg
LTEsICAgIC0xLCAgICA5OSwgICAxMDAsICAgIC0xLCAgIDEwMiwgICAxMDMsICAgIC0xLCAgICAt
MSwgICAgLTEsCisgICAgICAtMSwgICAxMDgsICAgMTA5LCAgIDExMCwgICAxMTEsICAgMTEyLCAg
IDExMywgICAxMTQsICAgMTE1LCAgIDExNiwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgICAzLCAgICAgNCwgICAgIDUsICAgIC0xLAorICAgICAgIDcsICAg
IC0xLCAgICAtMSwgICAgLTEsICAgIDExLCAgICAxMiwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
MTYsCisgICAgIDEzNywgICAgMTgsICAgIDE5LCAgICAyMCwgICAgMjEsICAgIDIyLCAgICAyMywg
ICAgMjQsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDMwLCAgICAz
MSwgICAgMzIsICAgIDMzLCAgICAzNCwgICAgMzUsICAgIDM2LAorICAgICAgLTEsICAgIC0xLCAg
ICAzOSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNDYsCisg
ICAgICAtMSwgICAgLTEsICAgIDQ5LCAgICA1MCwgICAgNTEsICAgIDUyLCAgICA1MywgICAgNTQs
ICAgIDU1LCAgICA1NiwKKyAgICAgIDU3LCAgICAtMSwgICAgNTksICAgIDYwLCAgICA2MSwgICAg
NjIsICAgIC0xLCAgICA2NCwgICAgNjUsICAgIDY2LAorICAgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAt
MSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAg
IC0xLCAgICA1MiwgICAgNTMsICAgIDk2LAorICAgICAgLTEsICAgIDU2LCAgICA5OSwgICAxMDAs
ICAgIC0xLCAgIDEwMiwgICAxMDMsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAx
MDgsICAgMTA5LCAgIDExMCwgICAxMTEsICAgMTEyLCAgIDExMywgICAxMTQsICAgMTE1LCAgIDEx
NiwKKyAgICAgIDc1LCAgICA3NiwgICAgNzcsICAgIDc4LCAgICA3OSwgICAgODAsICAgIDgxLCAg
ICA4MiwgICAgODMsICAgIC0xLAorICAgICAgLTEsICAgIDg2LCAgICA4NywgICAgLTEsICAgIC0x
LCAgICA5MCwgICAgOTEsICAgIDkyLCAgICA5MywgICAgLTEsCisgICAgIDEzNywgICAgLTEsICAg
IC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAg
ICAgMTA1LCAgIDEwNiwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgMTI3LCAg
IDEyOCwgICAxMjksICAgMTMwLCAgIDEzMSwgICAxMzIsICAgMTMzLCAgIDEzNCwKKyAgICAgMTM1
LCAgIDEzNiwgICAgLTEsICAgMTM4LCAgIDEzOSwgICAgNTIsICAgIDUzLCAgICAtMSwgICAgLTEs
ICAgIDU2LAorICAgICAxNDUsICAgMTQ2LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDc1LCAgICA3NiwKKyAgICAgIDc3LCAgICA3
OCwgICAgNzksICAgIDgwLCAgICA4MSwgICAgODIsICAgIDgzLCAgICAtMSwgICAgLTEsICAgIDg2
LAorICAgICAgODcsICAgIC0xLCAgICAtMSwgICAgOTAsICAgIDkxLCAgICA5MiwgICAgOTMsICAg
IC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgMTA1LCAgIDEwNiwKKyAgICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAg
ICAtMSwgICAgLTEsCisgICAgIDEyNywgICAxMjgsICAgMTI5LCAgIDEzMCwgICAxMzEsICAgMTMy
LCAgIDEzMywgICAxMzQsICAgMTM1LCAgIDEzNiwKKyAgICAgIC0xLCAgIDEzOCwgICAxMzksICAg
IDUyLCAgICA1MywgICAgLTEsICAgIC0xLCAgICA1NiwgICAxNDUsICAgMTQ2LAorICAgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICA3
NSwgICAgNzYsICAgIDc3LCAgICA3OCwKKyAgICAgIDc5LCAgICA4MCwgICAgODEsICAgIDgyLCAg
ICA4MywgICAgLTEsICAgIC0xLCAgICA4NiwgICAgODcsICAgIC0xLAorICAgICAgLTEsICAgIDkw
LCAgICA5MSwgICAgOTIsICAgIDkzLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEs
CisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgIDEwNSwgICAx
MDYsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgIDEyNywgICAxMjgsCisgICAg
IDEyOSwgICAxMzAsICAgMTMxLCAgIDEzMiwgICAxMzMsICAgMTM0LCAgIDEzNSwgICAxMzYsICAg
IC0xLCAgIDEzOCwKKyAgICAgMTM5LCAgICA1MiwgICAgNTMsICAgIC0xLCAgICAtMSwgICAgNTYs
ICAgMTQ1LCAgIDE0NiwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgNzUsICAgIDc2LCAgICA3NywgICAgNzgsICAgIDc5LCAg
ICA4MCwKKyAgICAgIDgxLCAgICA4MiwgICAgODMsICAgIC0xLCAgICAtMSwgICAgODYsICAgIDg3
LCAgICAtMSwgICAgLTEsICAgIDkwLAorICAgICAgOTEsICAgIDkyLCAgICA5MywgICAgLTEsICAg
IC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAxMDUsICAgMTA2LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwK
KyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAg
ICAtMSwgICAxMjcsICAgMTI4LCAgIDEyOSwgICAxMzAsCisgICAgIDEzMSwgICAxMzIsICAgMTMz
LCAgIDEzNCwgICAxMzUsICAgMTM2LCAgICAtMSwgICAxMzgsICAgMTM5LCAgICA1MiwKKyAgICAg
IDUzLCAgICAtMSwgICAgLTEsICAgIDU2LCAgIDE0NSwgICAxNDYsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIDc1LCAgICA3
NiwgICAgNzcsICAgIDc4LCAgICA3OSwgICAgODAsICAgIDgxLCAgICA4MiwKKyAgICAgIDgzLCAg
ICAtMSwgICAgLTEsICAgIDg2LCAgICA4NywgICAgLTEsICAgIC0xLCAgICA5MCwgICAgOTEsICAg
IDkyLAorICAgICAgOTMsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgMTA1LCAgIDEwNiwgICAg
LTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAor
ICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgMTI3LCAgIDEyOCwgICAxMjksICAgMTMw
LCAgIDEzMSwgICAxMzIsCisgICAgIDEzMywgICAxMzQsICAgMTM1LCAgIDEzNiwgICAgLTEsICAg
MTM4LCAgIDEzOSwgICAgNTIsICAgIDUzLCAgICAtMSwKKyAgICAgIC0xLCAgICA1NiwgICAxNDUs
ICAgMTQ2LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAg
LTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAt
MSwgICAgLTEsCisgICAgICA3NSwgICAgNzYsICAgIDc3LCAgICA3OCwgICAgNzksICAgIDgwLCAg
ICA4MSwgICAgODIsICAgIDgzLCAgICAtMSwKKyAgICAgIC0xLCAgICA4NiwgICAgODcsICAgIC0x
LCAgICAtMSwgICAgOTAsICAgIDkxLCAgICA5MiwgICAgOTMsICAgIC0xLAorICAgICAgLTEsICAg
IC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsCisgICAgIDEwNSwgICAxMDYsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAg
IDEyNywgICAxMjgsICAgMTI5LCAgIDEzMCwgICAxMzEsICAgMTMyLCAgIDEzMywgICAxMzQsCisg
ICAgIDEzNSwgICAxMzYsICAgIC0xLCAgIDEzOCwgICAxMzksICAgIDUyLCAgICA1MywgICAgLTEs
ICAgIC0xLCAgICA1NiwKKyAgICAgMTQ1LCAgIDE0NiwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICA3NSwgICAgNzYsCisgICAgICA3
NywgICAgNzgsICAgIDc5LCAgICA4MCwgICAgODEsICAgIDgyLCAgICA4MywgICAgLTEsICAgIC0x
LCAgICA4NiwKKyAgICAgIDg3LCAgICAtMSwgICAgLTEsICAgIDkwLCAgICA5MSwgICAgOTIsICAg
IDkzLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgIDEwNSwgICAxMDYsCisgICAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAt
MSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAg
ICAtMSwgICAgLTEsICAgIC0xLAorICAgICAxMjcsICAgMTI4LCAgIDEyOSwgICAxMzAsICAgMTMx
LCAgIDEzMiwgICAxMzMsICAgMTM0LCAgIDEzNSwgICAxMzYsCisgICAgICAtMSwgICAxMzgsICAg
MTM5LCAgICA1MiwgICAgNTMsICAgIC0xLCAgICAtMSwgICAgNTYsICAgMTQ1LCAgIDE0NiwKKyAg
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAt
MSwgICAgNzUsICAgIDc2LCAgICA3NywgICAgNzgsCisgICAgICA3OSwgICAgODAsICAgIDgxLCAg
ICA4MiwgICAgODMsICAgIC0xLCAgICAtMSwgICAgODYsICAgIDg3LCAgICAtMSwKKyAgICAgIC0x
LCAgICA5MCwgICAgOTEsICAgIDkyLCAgICA5MywgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEs
ICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAx
MDUsICAgMTA2LCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAxMjcsICAgMTI4
LAorICAgICAxMjksICAgMTMwLCAgIDEzMSwgICAxMzIsICAgMTMzLCAgIDEzNCwgICAxMzUsICAg
MTM2LCAgICAtMSwgICAxMzgsCisgICAgIDEzOSwgICAgNTIsICAgIDUzLCAgICAtMSwgICAgLTEs
ICAgIDU2LCAgIDE0NSwgICAxNDYsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDc1LCAgICA3NiwgICAgNzcsICAgIDc4LCAg
ICA3OSwgICAgODAsCisgICAgICA4MSwgICAgODIsICAgIDgzLCAgICAtMSwgICAgLTEsICAgIDg2
LCAgICA4NywgICAgLTEsICAgIC0xLCAgICA5MCwKKyAgICAgIDkxLCAgICA5MiwgICAgOTMsICAg
IC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgMTA1LCAgIDEwNiwgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAg
ICAtMSwgICAgLTEsICAgMTI3LCAgIDEyOCwgICAxMjksICAgMTMwLAorICAgICAxMzEsICAgMTMy
LCAgIDEzMywgICAxMzQsICAgMTM1LCAgIDEzNiwgICAgLTEsICAgMTM4LCAgIDEzOSwgICAgNTIs
CisgICAgICA1MywgICAgLTEsICAgIC0xLCAgICA1NiwgICAxNDUsICAgMTQ2LCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICA3
NSwgICAgNzYsICAgIDc3LCAgICA3OCwgICAgNzksICAgIDgwLCAgICA4MSwgICAgODIsCisgICAg
ICA4MywgICAgLTEsICAgIC0xLCAgICA4NiwgICAgODcsICAgIC0xLCAgICAtMSwgICAgOTAsICAg
IDkxLCAgICA5MiwKKyAgICAgIDkzLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgIDEwNSwgICAx
MDYsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAg
ICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgIDEyNywgICAxMjgsICAgMTI5
LCAgIDEzMCwgICAxMzEsICAgMTMyLAorICAgICAxMzMsICAgMTM0LCAgIDEzNSwgICAxMzYsICAg
IC0xLCAgIDEzOCwgICAxMzksICAgIDUyLCAgICA1MywgICAgLTEsCisgICAgICAtMSwgICAgNTYs
ICAgMTQ1LCAgIDE0NiwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwK
KyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIC0xLAorICAgICAgNzUsICAgIDc2LCAgICA3NywgICAgNzgsICAgIDc5LCAg
ICA4MCwgICAgODEsICAgIDgyLCAgICA4MywgICAgLTEsCisgICAgICAtMSwgICAgODYsICAgIDg3
LCAgICAtMSwgICAgLTEsICAgIDkwLCAgICA5MSwgICAgOTIsICAgIDkzLCAgICAtMSwKKyAgICAg
IC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLAorICAgICAxMDUsICAgMTA2LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAg
ICAtMSwgICAxMjcsICAgMTI4LCAgIDEyOSwgICAxMzAsICAgMTMxLCAgIDEzMiwgICAxMzMsICAg
MTM0LAorICAgICAxMzUsICAgMTM2LCAgICAtMSwgICAxMzgsICAgMTM5LCAgICA1MiwgICAgNTMs
ICAgIC0xLCAgICAtMSwgICAgNTYsCisgICAgIDE0NSwgICAxNDYsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNzUsICAgIDc2LAor
ICAgICAgNzcsICAgIDc4LCAgICA3OSwgICAgODAsICAgIDgxLCAgICA4MiwgICAgODMsICAgIC0x
LCAgICAtMSwgICAgODYsCisgICAgICA4NywgICAgLTEsICAgIC0xLCAgICA5MCwgICAgOTEsICAg
IDkyLCAgICA5MywgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAxMDUsICAgMTA2LAorICAgICAg
LTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAt
MSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAg
ICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgMTI3LCAgIDEyOCwgICAxMjksICAgMTMw
LCAgIDEzMSwgICAxMzIsICAgMTMzLCAgIDEzNCwgICAxMzUsICAgMTM2LAorICAgICAgLTEsICAg
MTM4LCAgIDEzOSwgICAgNTIsICAgIDUzLCAgICAtMSwgICAgLTEsICAgIDU2LCAgIDE0NSwgICAx
NDYsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIDc1LCAgICA3NiwgICAgNzcsICAgIDc4LAorICAgICAgNzksICAgIDgwLCAg
ICA4MSwgICAgODIsICAgIDgzLCAgICAtMSwgICAgLTEsICAgIDg2LCAgICA4NywgICAgLTEsCisg
ICAgICAtMSwgICAgOTAsICAgIDkxLCAgICA5MiwgICAgOTMsICAgIC0xLCAgICAtMSwgICAgLTEs
ICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgMTA1LCAgIDEwNiwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAt
MSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgMTI3
LCAgIDEyOCwKKyAgICAgMTI5LCAgIDEzMCwgICAxMzEsICAgMTMyLCAgIDEzMywgICAxMzQsICAg
MTM1LCAgIDEzNiwgICAgLTEsICAgMTM4LAorICAgICAxMzksICAgIDUyLCAgICA1MywgICAgLTEs
ICAgIC0xLCAgICA1NiwgICAxNDUsICAgMTQ2LCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAt
MSwKKyAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICA3NSwgICAgNzYsICAgIDc3LCAg
ICA3OCwgICAgNzksICAgIDgwLAorICAgICAgODEsICAgIDgyLCAgICA4MywgICAgLTEsICAgIC0x
LCAgICA4NiwgICAgODcsICAgIC0xLCAgICAtMSwgICAgOTAsCisgICAgICA5MSwgICAgOTIsICAg
IDkzLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAg
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgIDEwNSwgICAxMDYsICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAg
ICAtMSwgICAgLTEsICAgIC0xLCAgIDEyNywgICAxMjgsICAgMTI5LCAgIDEzMCwKKyAgICAgMTMx
LCAgIDEzMiwgICAxMzMsICAgMTM0LCAgIDEzNSwgICAxMzYsICAgIC0xLCAgIDEzOCwgICAxMzks
ICAgIDUyLAorICAgICAgNTMsICAgIC0xLCAgICAtMSwgICAgNTYsICAgMTQ1LCAgIDE0NiwgICAg
LTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAt
MSwgICAgNzUsICAgIDc2LCAgICA3NywgICAgNzgsICAgIDc5LCAgICA4MCwgICAgODEsICAgIDgy
LAorICAgICAgODMsICAgIC0xLCAgICAtMSwgICAgODYsICAgIDg3LCAgICAtMSwgICAgLTEsICAg
IDkwLCAgICA5MSwgICAgOTIsCisgICAgICA5MywgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAx
MDUsICAgMTA2LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAg
ICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAxMjcsICAgMTI4
LCAgIDEyOSwgICAxMzAsICAgMTMxLCAgIDEzMiwKKyAgICAgMTMzLCAgIDEzNCwgICAxMzUsICAg
MTM2LCAgICAtMSwgICAxMzgsICAgMTM5LCAgICA1MiwgICAgNTMsICAgIC0xLAorICAgICAgLTEs
ICAgIDU2LCAgIDE0NSwgICAxNDYsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgLTEsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIDc1LCAgICA3NiwgICAgNzcsICAgIDc4LCAg
ICA3OSwgICAgODAsICAgIDgxLCAgICA4MiwgICAgODMsICAgIC0xLAorICAgICAgLTEsICAgIDg2
LCAgICA4NywgICAgLTEsICAgIC0xLCAgICA5MCwgICAgOTEsICAgIDkyLCAgICA5MywgICAgLTEs
CisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKKyAgICAgMTA1LCAgIDEwNiwgICAgLTEsICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAt
MSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAg
ICAtMSwgICAgLTEsICAgMTI3LCAgIDEyOCwgICAxMjksICAgMTMwLCAgIDEzMSwgICAxMzIsICAg
MTMzLCAgIDEzNCwKKyAgICAgMTM1LCAgIDEzNiwgICAgLTEsICAgMTM4LCAgIDEzOSwgICAgLTEs
ICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAxNDUKK307CisKKyAgLyogWVlTVE9T
W1NUQVRFLU5VTV0gLS0gVGhlIChpbnRlcm5hbCBudW1iZXIgb2YgdGhlKSBhY2Nlc3NpbmcKKyAg
ICAgc3ltYm9sIG9mIHN0YXRlIFNUQVRFLU5VTS4gICovCitzdGF0aWMgY29uc3QgeXl0eXBlX3Vp
bnQxNiB5eXN0b3NbXSA9Cit7CisgICAgICAgMCwgICAxNTMsICAgMTU0LCAgICAgMCwgICAgIDEs
ICAgICAzLCAgICAgNCwgICAgIDUsICAgICA2LCAgICAgNywKKyAgICAgIDExLCAgICAxMiwgICAg
MTYsICAgIDE4LCAgICAxOSwgICAgMjAsICAgIDIxLCAgICAyMiwgICAgMjMsICAgIDI0LAorICAg
ICAgMzAsICAgIDMxLCAgICAzMiwgICAgMzMsICAgIDM0LCAgICAzNSwgICAgMzYsICAgIDM5LCAg
ICA0NSwgICAgNDYsCisgICAgICA0NywgICAgNDgsICAgIDQ5LCAgICA1MCwgICAgNTEsICAgIDUy
LCAgICA1MywgICAgNTQsICAgIDU1LCAgICA1NiwKKyAgICAgIDU3LCAgICA1OSwgICAgNjAsICAg
IDYxLCAgICA2MiwgICAgNjQsICAgIDY1LCAgICA2NiwgICAgNzUsICAgIDc2LAorICAgICAgOTYs
ICAgIDk5LCAgIDEwMCwgICAxMDIsICAgMTAzLCAgIDEwNSwgICAxMDgsICAgMTA5LCAgIDExMCwg
ICAxMTEsCisgICAgIDExMiwgICAxMTMsICAgMTE0LCAgIDExNSwgICAxMTYsICAgMTM3LCAgIDEz
OCwgICAxMzksICAgMTU1LCAgIDE1NiwKKyAgICAgMTU3LCAgIDE2NSwgICAxNjcsICAgMTY5LCAg
IDE3NCwgICAxNzUsICAgMTc3LCAgIDE3OCwgICAxNzksICAgMTgxLAorICAgICAxODIsICAgMTgz
LCAgIDE4NSwgICAxODYsICAgMTk2LCAgIDE5OSwgICAyMTQsICAgMjI3LCAgIDIyOCwgICAyMjks
CisgICAgIDIzMCwgICAyMzEsICAgMjMyLCAgIDIzMywgICAyMzQsICAgMjM1LCAgIDIzNiwgICAy
MzcsICAgMjQ2LCAgIDI3MCwKKyAgICAgMjcxLCAgIDI4NCwgICAyODUsICAgMjg2LCAgIDI4Nywg
ICAyODgsICAgMjg5LCAgIDI5MCwgICAyOTMsICAgMjk1LAorICAgICAyOTYsICAgMzEwLCAgIDMx
MiwgICAzMTMsICAgMzE0LCAgIDMxNSwgICAzMTYsICAgMzE3LCAgIDMxOCwgICAzMTksCisgICAg
IDM1MywgICAzNjYsICAgMTU3LCAgICAgMywgICAgIDQsICAgICA1LCAgICAgNiwgICAgIDcsICAg
ICA4LCAgICAgOSwKKyAgICAgIDEwLCAgICAxMSwgICAgMTIsICAgIDEzLCAgICAxNCwgICAgMTUs
ICAgIDE2LCAgICAxNywgICAgMTgsICAgIDE5LAorICAgICAgMjAsICAgIDIxLCAgICAyMiwgICAg
MjMsICAgIDI0LCAgICAyNSwgICAgMjYsICAgIDMwLCAgICAzMSwgICAgMzIsCisgICAgICAzMywg
ICAgMzQsICAgIDM1LCAgICAzNiwgICAgMzcsICAgIDM4LCAgICAzOSwgICAgNDUsICAgIDQ2LCAg
ICA0NywKKyAgICAgIDQ4LCAgICA0OSwgICAgNTAsICAgIDUxLCAgICA1MiwgICAgNTMsICAgIDU2
LCAgICA3NSwgICAgNzYsICAgIDc3LAorICAgICAgNzgsICAgIDc5LCAgICA4MCwgICAgODEsICAg
IDgyLCAgICA4MywgICAgODYsICAgIDg3LCAgICA5MCwgICAgOTEsCisgICAgICA5MiwgICAgOTMs
ICAgMTA1LCAgIDEwNiwgICAxMjcsICAgMTI4LCAgIDEyOSwgICAxMzAsICAgMTMxLCAgIDEzMiwK
KyAgICAgMTMzLCAgIDEzNCwgICAxMzUsICAgMTM2LCAgIDEzOCwgICAxMzksICAgMTQ1LCAgIDE4
OSwgICAxOTAsICAgMTkxLAorICAgICAxOTIsICAgMTk0LCAgIDE5NSwgICAzMTAsICAgMzEyLCAg
ICAzOSwgICAgNTgsICAgIDk2LCAgICA5OSwgICAxMDUsCisgICAgIDEwNiwgICAxMDcsICAgMTEw
LCAgIDEzOCwgICAxNzgsICAgMTg2LCAgIDE5NiwgICAyMDAsICAgMjA2LCAgIDIwOSwKKyAgICAg
MjExLCAgIDIyNywgICAzMTUsICAgMzE2LCAgIDMxOCwgICAzMTksICAgMzUxLCAgIDM1MiwgICAy
MDYsICAgMTQ2LAorICAgICAyMDcsICAgMjA4LCAgIDE0NiwgICAyMDMsICAgMjA3LCAgIDE0Niwg
ICAxNTEsICAgMzYwLCAgICA1NCwgICAxOTEsCisgICAgIDM2MCwgICAxNDEsICAgMTU4LCAgIDE0
MSwgICAgMjEsICAgIDIyLCAgICAzMSwgICAgMzIsICAgMTc3LCAgIDE5NiwKKyAgICAgMjI3LCAg
IDI0NiwgICAxOTYsICAgIDU2LCAgICAgMSwgICAgNDcsICAgIDk5LCAgIDE2MSwgICAxNjIsICAg
MTYzLAorICAgICAxNjUsICAgMTgwLCAgIDE4MSwgICAzNjYsICAgMTY1LCAgIDIxNiwgICAyMDEs
ICAgMjExLCAgIDM1MSwgICAzNjYsCisgICAgIDIwMCwgICAzNTAsICAgMzUxLCAgIDM2NiwgICAg
NDYsICAgIDk2LCAgIDEzNywgICAxNDQsICAgMTg1LCAgIDIxNCwKKyAgICAgMjI3LCAgIDMxNSwg
ICAzMTYsICAgMzE5LCAgIDIxOSwgICAgNTQsICAgIDU1LCAgICA1NywgICAxODksICAgMjk5LAor
ICAgICAzMTEsICAgMjk5LCAgIDMwMCwgICAzMDEsICAgMTUwLCAgIDE1MCwgICAxNTAsICAgMTUw
LCAgIDMxNCwgICAxNzQsCisgICAgIDE5NiwgICAxOTYsICAgMTQ5LCAgIDE1MSwgICAzNTksICAg
MzY0LCAgIDM2NSwgICAgNDAsICAgIDQxLCAgICA0MiwKKyAgICAgIDQzLCAgICA0NCwgICAgMzcs
ICAgIDM4LCAgICAyNiwgICAxNDEsICAgMjAzLCAgIDIwNywgICAyMzgsICAgMjcyLAorICAgICAg
MjgsICAgMjM5LCAgIDI2OSwgICAxMjQsICAgMTQ0LCAgICA5OSwgICAxMDUsICAgMTgyLCAgIDEy
NCwgICAgNzcsCisgICAgICA3OCwgICAgNzksICAgIDgwLCAgICA4MSwgICAgODIsICAgIDgzLCAg
ICA4NCwgICAgODUsICAgIDg2LCAgICA4NywKKyAgICAgIDg4LCAgICA4OSwgICAgOTIsICAgIDkz
LCAgIDEyNSwgICAxMjcsICAgMTI4LCAgIDEyOSwgICAxMzAsICAgMTMxLAorICAgICAxMzIsICAg
MTMzLCAgIDEzNCwgICAxMzUsICAgMTM2LCAgIDE5OCwgICAxOTgsICAgIDY4LCAgICA5NCwgICAg
OTUsCisgICAgIDE0MywgICAzNTcsICAgMjE1LCAgIDE2OSwgICAxNzAsICAgMTcwLCAgIDE3MSwg
ICAxNzIsICAgMTcxLCAgIDE3MCwKKyAgICAgMzU5LCAgIDM2NSwgICAgOTYsICAgMTc5LCAgIDE4
NiwgICAyMjcsICAgMjUxLCAgIDMxNSwgICAzMTYsICAgMzE5LAorICAgICAgNTIsICAgIDU2LCAg
ICA5MiwgICAgOTYsICAgMTg3LCAgIDE4OCwgICAyMjcsICAgMzE1LCAgIDMxNiwgICAzMTksCisg
ICAgIDE4OCwgICAgMzMsICAgIDM0LCAgICAzNSwgICAgMzYsICAgIDQ5LCAgICA1MCwgICAgNTEs
ICAgIDUyLCAgICA1NiwKKyAgICAgMTQ2LCAgIDE4OSwgICAzMTcsICAgMzQ4LCAgIDIwNiwgICAg
OTUsICAgMzU3LCAgIDM1OCwgICAyNzIsICAgMjg3LAorICAgICAgOTcsICAgIDk3LCAgIDE0NCwg
ICAyMDAsICAgIDU2LCAgIDIwMCwgICAyMDAsICAgMjAwLCAgIDI5OSwgICAxMjQsCisgICAgICA5
OCwgICAxNDQsICAgMjEwLCAgIDM2NiwgICAgOTUsICAgMTQzLCAgIDM1NywgICAgOTcsICAgIDk3
LCAgIDE0NCwKKyAgICAgMjEwLCAgIDIwNiwgICAzNjAsICAgMzYxLCAgIDIwNiwgICAyMDUsICAg
MjA2LCAgIDIxMSwgICAzNTEsICAgMzY2LAorICAgICAxNjksICAgMzYxLCAgIDE2OSwgICAgNTQs
ICAgIDY1LCAgICA2NiwgICAxNjYsICAgMTQ2LCAgIDE5NywgICAxNTUsCisgICAgIDE2MSwgICAg
OTUsICAgMzU3LCAgICA5NywgICAxNjUsICAgMTY0LCAgIDE4MCwgICAxNDcsICAgMzU5LCAgIDM2
NSwKKyAgICAgMzYxLCAgIDIxNywgICAzNjEsICAgMTQ4LCAgIDE0NCwgICAxNTEsICAgMzYzLCAg
IDE0NCwgICAzNjMsICAgMTQyLAorICAgICAzNjMsICAgMzYwLCAgICA1NiwgICAzMTQsICAgMTgy
LCAgIDE4NCwgICAxNDQsICAgIDk1LCAgIDE0MywgICAzNTcsCisgICAgIDI2MywgICAyNjQsICAg
IDYzLCAgIDExNywgICAxMTksICAgMTIwLCAgIDMwMiwgICAxMjAsICAgMTIwLCAgIDMwMiwKKyAg
ICAgIDY3LCAgIDMwMiwgICAyOTEsICAgMjk3LCAgIDI5NCwgICAyOTgsICAgIDc3LCAgIDE0OSwg
ICAxNTcsICAgMTcwLAorICAgICAxNzAsICAgMTcwLCAgIDE3MCwgICAxNjUsICAgMTY5LCAgIDE2
OSwgICAyNzMsICAgMjc0LCAgIDEwNCwgICAxNzYsCisgICAgIDI3NSwgICAyNzYsICAgMjc1LCAg
IDEwNSwgICAxNzQsICAgMjAwLCAgIDIxMSwgICAyMTIsICAgMjEzLCAgIDE4MCwKKyAgICAgMTQ0
LCAgIDE4NSwgICAxNDQsICAgMTY3LCAgIDE2OCwgICAxNzQsICAgMTg2LCAgIDE5NiwgICAyMDAs
ICAgMjAyLAorICAgICAyMTMsICAgMjI3LCAgIDMxOSwgICAxOTYsICAgMTk2LCAgIDE5NiwgICAx
OTYsICAgMTk2LCAgIDE5NiwgICAxOTYsCisgICAgIDE5NiwgICAxOTYsICAgMTk2LCAgIDE5Niwg
ICAxOTYsICAgMTk2LCAgIDE5NiwgICAxOTYsICAgMTk2LCAgIDE5NiwKKyAgICAgMTk2LCAgIDE5
NiwgICAxOTYsICAgMTk2LCAgIDE5NiwgICAxOTYsICAgMTk2LCAgICA1MiwgICAgNTMsICAgIDU2
LAorICAgICAxOTQsICAgMjAzLCAgIDM1NCwgICAzNTUsICAgMjA1LCAgICA1MiwgICAgNTMsICAg
IDU2LCAgIDE5NCwgICAyMDMsCisgICAgIDM1NCwgICAxNTksICAgMTYxLCAgICAxMywgICAyNDcs
ICAgMzY0LCAgIDI0NywgICAxNjEsICAgMTcwLCAgIDE2MSwKKyAgICAgMzU5LCAgICAxNywgICAy
NDIsICAgMjc4LCAgICA1NiwgICAgOTUsICAgMTQzLCAgIDM1NywgICAgMjUsICAgMTY5LAorICAg
ICAgNTIsICAgIDU2LCAgIDE4NywgICAxMjgsICAgMzIwLCAgICA5NSwgICAxNDMsICAgMzU3LCAg
IDIyMiwgICAzNDksCisgICAgIDIyMywgICAgNjgsICAgIDk1LCAgIDM1NiwgICAgNTIsICAgIDU2
LCAgIDM1NCwgICAxNjgsICAgMTk2LCAgIDIwMiwKKyAgICAgMTY4LCAgIDIwMiwgICAxOTMsICAg
MTIyLCAgIDIwMCwgICAxMDUsICAgMjAwLCAgIDIwOSwgICAzNTEsICAgIDUyLAorICAgICAgNTYs
ICAgMjA1LCAgICA1MiwgICAgNTYsICAgMzUyLCAgIDM2MSwgICAxNDcsICAgMzYxLCAgIDE0NCwg
ICAxNDQsCisgICAgIDM2MSwgICAxOTEsICAgMjE4LCAgIDE5NiwgICAxNDIsICAgMTQyLCAgIDM1
NCwgICAzNTQsICAgMjAyLCAgIDE1OCwKKyAgICAgMzYxLCAgIDE2MywgICAzNjEsICAgMzUxLCAg
IDE0NCwgICAxODQsICAgIDUyLCAgICA1NiwgICAyMDUsICAgIDUyLAorICAgICAgNTYsICAgMjY1
LCAgIDMwNCwgICAzMDMsICAgMTIwLCAgIDI5MiwgICAzMDIsICAgIDYzLCAgIDEyMCwgICAxMjAs
CisgICAgIDI5MiwgICAgNjMsICAgMTIwLCAgIDE5NiwgICAxNDIsICAgIDg1LCAgIDEyOSwgICAy
NTgsICAgMjU5LCAgIDM2NiwKKyAgICAgMjczLCAgICAxMCwgICAyNDUsICAgMjc3LCAgIDI0NSwg
ICAyMDAsICAgMTQ0LCAgIDM2MSwgICAxODQsICAgMTQ0LAorICAgICAgNDQsICAgMTI0LCAgICA0
NCwgICAgOTUsICAgMTQzLCAgIDM1NywgICAzNjAsICAgIDk3LCAgICA5NywgICAyMDMsCisgICAg
IDIwNywgICAzNjAsICAgMzYyLCAgICA5NywgICAgOTcsICAgMjAzLCAgIDIwNCwgICAyMDcsICAg
MzY2LCAgIDI0NSwKKyAgICAgICA4LCAgIDI0MCwgICAyODAsICAgMzY2LCAgIDE2MSwgICAgMTMs
ICAgMTYxLCAgIDI0NSwgICAgMjcsICAgMjQ4LAorICAgICAzNjQsICAgMjQ1LCAgIDI3OCwgICAy
MTEsICAgMjQ1LCAgICA1MiwgICAgNTYsICAgMjA1LCAgICA1MiwgICAgNTYsCisgICAgIDE3MSwg
ICAyMjEsICAgMzIxLCAgIDIyMCwgICAgNTIsICAgIDU2LCAgIDE4NywgICAyMDUsICAgMTU5LCAg
IDE2OSwKKyAgICAgMjI0LCAgIDIyNSwgICAyMDQsICAgMjA3LCAgIDE5MSwgICAyMDAsICAgMjAw
LCAgIDIxMCwgICAgOTcsICAgIDk3LAorICAgICAzNjIsICAgIDk3LCAgICA5NywgICAzNTEsICAg
MTY5LCAgIDM2MywgICAxODIsICAgMzYyLCAgICA1MiwgICAgNTQsCisgICAgICA1NSwgICAgNTYs
ICAgIDU3LCAgICA1OCwgICAgNzcsICAgIDk5LCAgIDEwNSwgICAxMDYsICAgMTA3LCAgIDEzMSwK
KyAgICAgMTM0LCAgIDE0NiwgICAyNjcsICAgMzI0LCAgIDMyNiwgICAzMjcsICAgMzI4LCAgIDMy
OSwgICAzMzAsICAgMzMxLAorICAgICAzMzIsICAgMzMzLCAgIDMzNiwgICAzMzcsICAgMzM4LCAg
IDMzOSwgICAzNDIsICAgMzQzLCAgIDM0NCwgICAzNDUsCisgICAgIDM0NiwgICAzMDUsICAgIDU0
LCAgICA1NSwgICAgNTcsICAgMzA5LCAgIDMxOSwgICAxNTAsICAgMzAyLCAgIDE1MCwKKyAgICAg
MTUwLCAgIDE1MCwgICAyNTUsICAgMjU3LCAgIDI2MCwgICAzMjksICAgMzMxLCAgIDMzMiwgICAz
MzQsICAgMzM1LAorICAgICAzMzgsICAgMzQwLCAgIDM0MSwgICAzNDQsICAgMzQ2LCAgIDM2MCwg
ICAxNjEsICAgMTQyLCAgIDI1OCwgICAxMDUsCisgICAgIDIwMCwgICAxODQsICAgMTY1LCAgIDE5
NiwgICAgNTIsICAgIDU2LCAgIDIwNSwgICAgNTIsICAgIDU2LCAgIDEyNiwKKyAgICAgMTY4LCAg
IDIwMiwgICAxNjgsICAgMjAyLCAgIDE3NiwgICAxNDgsICAgIDk3LCAgIDE2OCwgICAyMDIsICAg
MTY4LAorICAgICAyMDIsICAgMTc2LCAgIDIwMCwgICAyMTMsICAgMjgxLCAgIDM2NiwgICAgIDks
ICAgIDE1LCAgIDI0MSwgICAyNDMsCisgICAgIDI4MywgICAzNjYsICAgIDE0LCAgIDI0MywgICAy
NDQsICAgMjQ5LCAgIDI1MCwgICAzNjYsICAgMjUwLCAgIDE3MywKKyAgICAgMjQ1LCAgIDE0NCwg
ICAyNDcsICAgMzYyLCAgIDE2MSwgICAzNjQsICAgMTcwLCAgIDE1OSwgICAzNjIsICAgMjQ1LAor
ICAgICAzNjEsICAgMTQ2LCAgIDMyMiwgICAzMjMsICAgMTg5LCAgIDI3MiwgICAyNjksICAgIDk3
LCAgIDE0NCwgICAzNjEsCisgICAgICA5OSwgICAxMDUsICAgMjUyLCAgIDI1MywgICAyNTQsICAg
MzI4LCAgIDMyNiwgICAyNjYsICAgMTI0LCAgIDE0NCwKKyAgICAgMzI1LCAgIDIwMCwgICAxNDQs
ICAgMzQ3LCAgIDM2NiwgICAgNTIsICAgMTQ0LCAgIDM0NywgICAxNDQsICAgMzI1LAorICAgICAg
NTIsICAgMTQ0LCAgIDMyNSwgICAgNTIsICAgMzA2LCAgIDI2MCwgICAxMjksICAgMTI0LCAgIDE0
NCwgICAyNTYsCisgICAgICA5NiwgICAyMjcsICAgMTQ0LCAgIDM0NywgICAzNDcsICAgMTQ0LCAg
IDI1NiwgICAxNDQsICAgMjU2LCAgIDE0OSwKKyAgICAgMTU5LCAgIDIwMCwgICAzNjIsICAgMTk2
LCAgIDE2OCwgICAyMDIsICAgIDk4LCAgIDI4MiwgICAzNjYsICAgMTYxLAorICAgICAxNjAsICAg
MTYxLCAgIDE3MCwgICAyNDUsICAgMjQ1LCAgIDIwMCwgICAxNjEsICAgMjQ1LCAgIDE1OSwgICAz
NjQsCisgICAgIDI0NSwgICAzMjYsICAgMTU5LCAgIDMyNiwgICAyMjYsICAgMjU0LCAgIDE0NCwg
ICAzMjgsICAgMTQ0LCAgIDM2MSwKKyAgICAgMjYwLCAgICAyOSwgICAxMjEsICAgMjY4LCAgIDIw
MCwgICAzMjQsICAgMzMwLCAgIDM0MiwgICAzNDQsICAgMzMzLAorICAgICAzMzgsICAgMzQ2LCAg
IDMzMSwgICAzMzksICAgMzQ0LCAgIDMyOSwgICAzMzEsICAgMzA3LCAgIDEyOSwgICAyMjcsCisg
ICAgIDI1NSwgICAzNDEsICAgMzQ0LCAgICA1NiwgICAgOTUsICAgMzM0LCAgIDMzOCwgICAzMzEs
ICAgMzQwLCAgIDM0NCwKKyAgICAgMzMxLCAgICA1MiwgICAyNjEsICAgMjYyLCAgIDMyNywgICAg
OTYsICAgMTg2LCAgIDIyNywgICAzMTUsICAgMzE2LAorICAgICAzMTksICAgMjQ3LCAgIDE2MSwg
ICAyNDcsICAgMjUwLCAgIDI3OCwgICAyNzksICAgMjQ1LCAgIDM2MSwgICAyNDUsCisgICAgIDM2
NCwgICAzMjIsICAgMzYxLCAgIDI1MywgICAxNDQsICAgMTA1LCAgIDI1MiwgICAxNDcsICAgMTU5
LCAgIDE2MSwKKyAgICAgMTQ0LCAgIDMyNSwgICAxNDQsICAgMzI1LCAgIDM0NywgICAxNDQsICAg
MzI1LCAgIDE0NCwgICAzMjUsICAgMzI1LAorICAgICAzMDgsICAgMTQ0LCAgIDI1NiwgICAxNDQs
ICAgMjU2LCAgICA1MiwgICAgNTYsICAgMzQ3LCAgIDE0NCwgICAyNTYsCisgICAgIDE0NCwgICAy
NTYsICAgMjU2LCAgIDE0NCwgICAzNjAsICAgIDU2LCAgICA5NSwgICAxNDMsICAgMzU3LCAgIDE2
MSwKKyAgICAgMjgzLCAgIDE2MSwgICAxNTksICAgMTQ0LCAgIDI1MywgICAxNDQsICAgMzI4LCAg
IDI0NSwgICAxNDIsICAgMzMxLAorICAgICAzNDQsICAgMzMxLCAgIDMzMSwgICAxNjEsICAgMzMx
LCAgIDM0NCwgICAzMzEsICAgMzMxLCAgIDI2MiwgICAgNTIsCisgICAgICA1NiwgICAyMDUsICAg
IDUyLCAgICA1NiwgICAyODAsICAgMjQ5LCAgIDI0NSwgICAyNTMsICAgMTQ0LCAgIDMyNSwKKyAg
ICAgMTQ0LCAgIDMyNSwgICAzMjUsICAgMzI1LCAgIDExOCwgICAyNTYsICAgMTQ0LCAgIDI1Niwg
ICAyNTYsICAgMjU2LAorICAgICAzNjIsICAgMjUzLCAgIDMzMSwgICAzMzEsICAgMzI1LCAgIDI1
NgorfTsKKworICAvKiBZWVIxW1lZTl0gLS0gU3ltYm9sIG51bWJlciBvZiBzeW1ib2wgdGhhdCBy
dWxlIFlZTiBkZXJpdmVzLiAgKi8KK3N0YXRpYyBjb25zdCB5eXR5cGVfdWludDE2IHl5cjFbXSA9
Cit7CisgICAgICAgMCwgICAxNTIsICAgMTU0LCAgIDE1MywgICAxNTUsICAgMTU2LCAgIDE1Niwg
ICAxNTYsICAgMTU2LCAgIDE1NywKKyAgICAgMTU3LCAgIDE1OCwgICAxNjAsICAgMTU5LCAgIDE1
OSwgICAxNjEsICAgMTYyLCAgIDE2MiwgICAxNjIsICAgMTYyLAorICAgICAxNjMsICAgMTY0LCAg
IDE2MywgICAxNjYsICAgMTY1LCAgIDE2NSwgICAxNjUsICAgMTY1LCAgIDE2NSwgICAxNjUsCisg
ICAgIDE2NSwgICAxNjUsICAgMTY1LCAgIDE2NSwgICAxNjUsICAgMTY1LCAgIDE2NSwgICAxNjUs
ICAgMTY1LCAgIDE2NSwKKyAgICAgMTY3LCAgIDE2NywgICAxNjcsICAgMTY3LCAgIDE2NywgICAx
NjcsICAgMTY3LCAgIDE2NywgICAxNjgsICAgMTY4LAorICAgICAxNjgsICAgMTY5LCAgIDE2OSwg
ICAxNjksICAgMTY5LCAgIDE2OSwgICAxNjksICAgMTcwLCAgIDE3MiwgICAxNzMsCisgICAgIDE3
MSwgICAxNzQsICAgMTc0LCAgIDE3NSwgICAxNzUsICAgMTc2LCAgIDE3NywgICAxNzgsICAgMTc4
LCAgIDE3OCwKKyAgICAgMTc4LCAgIDE3OCwgICAxNzgsICAgMTc4LCAgIDE3OCwgICAxNzgsICAg
MTc4LCAgIDE3OCwgICAxNzksICAgMTc5LAorICAgICAxODAsICAgMTgwLCAgIDE4MSwgICAxODEs
ICAgMTgxLCAgIDE4MSwgICAxODEsICAgMTgxLCAgIDE4MSwgICAxODEsCisgICAgIDE4MSwgICAx
ODEsICAgMTgyLCAgIDE4MiwgICAxODMsICAgMTgzLCAgIDE4NCwgICAxODQsICAgMTg1LCAgIDE4
NSwKKyAgICAgMTg1LCAgIDE4NSwgICAxODUsICAgMTg1LCAgIDE4NSwgICAxODUsICAgMTg1LCAg
IDE4NiwgICAxODYsICAgMTg2LAorICAgICAxODYsICAgMTg2LCAgIDE4NiwgICAxODYsICAgMTg2
LCAgIDE4NiwgICAxODcsICAgMTg3LCAgIDE4OCwgICAxODgsCisgICAgIDE4OCwgICAxODksICAg
MTg5LCAgIDE4OSwgICAxODksICAgMTg5LCAgIDE5MCwgICAxOTAsICAgMTkxLCAgIDE5MSwKKyAg
ICAgMTkyLCAgIDE5MywgICAxOTIsICAgMTk0LCAgIDE5NCwgICAxOTQsICAgMTk0LCAgIDE5NCwg
ICAxOTQsICAgMTk0LAorICAgICAxOTQsICAgMTk0LCAgIDE5NCwgICAxOTQsICAgMTk0LCAgIDE5
NCwgICAxOTQsICAgMTk0LCAgIDE5NCwgICAxOTQsCisgICAgIDE5NCwgICAxOTQsICAgMTk0LCAg
IDE5NCwgICAxOTQsICAgMTk0LCAgIDE5NCwgICAxOTQsICAgMTk0LCAgIDE5NCwKKyAgICAgMTk0
LCAgIDE5NCwgICAxOTQsICAgMTk1LCAgIDE5NSwgICAxOTUsICAgMTk1LCAgIDE5NSwgICAxOTUs
ICAgMTk1LAorICAgICAxOTUsICAgMTk1LCAgIDE5NSwgICAxOTUsICAgMTk1LCAgIDE5NSwgICAx
OTUsICAgMTk1LCAgIDE5NSwgICAxOTUsCisgICAgIDE5NSwgICAxOTUsICAgMTk1LCAgIDE5NSwg
ICAxOTUsICAgMTk1LCAgIDE5NSwgICAxOTUsICAgMTk1LCAgIDE5NSwKKyAgICAgMTk1LCAgIDE5
NSwgICAxOTUsICAgMTk1LCAgIDE5NSwgICAxOTUsICAgMTk1LCAgIDE5NSwgICAxOTUsICAgMTk1
LAorICAgICAxOTUsICAgMTk1LCAgIDE5NSwgICAxOTUsICAgMTk2LCAgIDE5NiwgICAxOTYsICAg
MTk2LCAgIDE5NiwgICAxOTYsCisgICAgIDE5NiwgICAxOTYsICAgMTk2LCAgIDE5NiwgICAxOTYs
ICAgMTk2LCAgIDE5NiwgICAxOTYsICAgMTk2LCAgIDE5NiwKKyAgICAgMTk2LCAgIDE5NiwgICAx
OTYsICAgMTk2LCAgIDE5NiwgICAxOTYsICAgMTk2LCAgIDE5NiwgICAxOTYsICAgMTk2LAorICAg
ICAxOTYsICAgMTk2LCAgIDE5NiwgICAxOTYsICAgMTk2LCAgIDE5NiwgICAxOTYsICAgMTk2LCAg
IDE5NiwgICAxOTYsCisgICAgIDE5NiwgICAxOTYsICAgMTk3LCAgIDE5NiwgICAxOTYsICAgMTk2
LCAgIDE5OCwgICAxOTgsICAgMTk4LCAgIDE5OCwKKyAgICAgMTk5LCAgIDE5OSwgICAyMDAsICAg
MjAxLCAgIDIwMSwgICAyMDEsICAgMjAxLCAgIDIwMiwgICAyMDIsICAgMjAzLAorICAgICAyMDQs
ICAgMjA0LCAgIDIwNSwgICAyMDUsICAgMjA1LCAgIDIwNSwgICAyMDUsICAgMjA2LCAgIDIwNiwg
ICAyMDYsCisgICAgIDIwNiwgICAyMDYsICAgMjA4LCAgIDIwNywgICAyMDksICAgMjEwLCAgIDIx
MCwgICAyMTEsICAgMjExLCAgIDIxMSwKKyAgICAgMjExLCAgIDIxMiwgICAyMTIsICAgMjEzLCAg
IDIxMywgICAyMTMsICAgMjE0LCAgIDIxNCwgICAyMTQsICAgMjE0LAorICAgICAyMTQsICAgMjE0
LCAgIDIxNCwgICAyMTQsICAgMjE0LCAgIDIxNCwgICAyMTQsICAgMjE1LCAgIDIxNCwgICAyMTYs
CisgICAgIDIxNCwgICAyMTcsICAgMjE0LCAgIDIxNCwgICAyMTQsICAgMjE0LCAgIDIxNCwgICAy
MTQsICAgMjE0LCAgIDIxNCwKKyAgICAgMjE0LCAgIDIxNCwgICAyMTgsICAgMjE0LCAgIDIxNCwg
ICAyMTQsICAgMjE0LCAgIDIxNCwgICAyMTQsICAgMjE5LAorICAgICAyMTQsICAgMjE0LCAgIDIx
NCwgICAyMTQsICAgMjE0LCAgIDIxNCwgICAyMTQsICAgMjE0LCAgIDIyMCwgICAyMTQsCisgICAg
IDIyMSwgICAyMTQsICAgMjIyLCAgIDIxNCwgICAyMjMsICAgMjI0LCAgIDIxNCwgICAyMjUsICAg
MjI2LCAgIDIxNCwKKyAgICAgMjE0LCAgIDIxNCwgICAyMTQsICAgMjE0LCAgIDIyNywgICAyMjgs
ICAgMjI5LCAgIDIzMCwgICAyMzEsICAgMjMyLAorICAgICAyMzMsICAgMjM0LCAgIDIzNSwgICAy
MzYsICAgMjM3LCAgIDIzOCwgICAyMzksICAgMjQwLCAgIDI0MSwgICAyNDIsCisgICAgIDI0Mywg
ICAyNDQsICAgMjQ1LCAgIDI0NiwgICAyNDcsICAgMjQ3LCAgIDI0NywgICAyNDgsICAgMjQ4LCAg
IDI0OSwKKyAgICAgMjQ5LCAgIDI1MCwgICAyNTAsICAgMjUxLCAgIDI1MSwgICAyNTIsICAgMjUy
LCAgIDI1MywgICAyNTMsICAgMjU0LAorICAgICAyNTQsICAgMjU0LCAgIDI1NCwgICAyNTQsICAg
MjU0LCAgIDI1NCwgICAyNTQsICAgMjU0LCAgIDI1NSwgICAyNTUsCisgICAgIDI1NSwgICAyNTUs
ICAgMjU2LCAgIDI1NiwgICAyNTcsICAgMjU3LCAgIDI1NywgICAyNTcsICAgMjU3LCAgIDI1NywK
KyAgICAgMjU3LCAgIDI1NywgICAyNTcsICAgMjU3LCAgIDI1NywgICAyNTcsICAgMjU3LCAgIDI1
NywgICAyNTcsICAgMjU4LAorICAgICAyNTgsICAgMjU5LCAgIDI1OSwgICAyNTksICAgMjYwLCAg
IDI2MCwgICAyNjEsICAgMjYxLCAgIDI2MiwgICAyNjIsCisgICAgIDI2NCwgICAyNjUsICAgMjY2
LCAgIDI2MywgICAyNjcsICAgMjY3LCAgIDI2OCwgICAyNjgsICAgMjY5LCAgIDI3MCwKKyAgICAg
MjcwLCAgIDI3MCwgICAyNzAsICAgMjcxLCAgIDI3MSwgICAyNzEsICAgMjcxLCAgIDI3MSwgICAy
NzEsICAgMjcxLAorICAgICAyNzEsICAgMjcxLCAgIDI3MiwgICAyNzIsICAgMjc0LCAgIDI3Mywg
ICAyNzYsICAgMjc3LCAgIDI3NSwgICAyNzgsCisgICAgIDI3OSwgICAyNzksICAgMjgwLCAgIDI4
MCwgICAyODEsICAgMjgxLCAgIDI4MSwgICAyODIsICAgMjgyLCAgIDI4MywKKyAgICAgMjgzLCAg
IDI4NCwgICAyODQsICAgMjg0LCAgIDI4NSwgICAyODYsICAgMjg2LCAgIDI4NiwgICAyODcsICAg
Mjg4LAorICAgICAyODksICAgMjkwLCAgIDI5MSwgICAyOTEsICAgMjkyLCAgIDI5MiwgICAyOTMs
ICAgMjk0LCAgIDI5NCwgICAyOTUsCisgICAgIDI5NiwgICAyOTcsICAgMjk3LCAgIDI5OCwgICAy
OTgsICAgMjk5LCAgIDI5OSwgICAzMDAsICAgMzAwLCAgIDMwMSwKKyAgICAgMzAxLCAgIDMwMiwg
ICAzMDMsICAgMzAyLCAgIDMwNCwgICAzMDUsICAgMzA2LCAgIDMwNywgICAzMDgsICAgMzAyLAor
ICAgICAzMDksICAgMzA5LCAgIDMwOSwgICAzMDksICAgMzEwLCAgIDMxMSwgICAzMTEsICAgMzEx
LCAgIDMxMSwgICAzMTIsCisgICAgIDMxMywgICAzMTMsICAgMzE0LCAgIDMxNCwgICAzMTQsICAg
MzE0LCAgIDMxNSwgICAzMTUsICAgMzE1LCAgIDMxNSwKKyAgICAgMzE1LCAgIDMxNiwgICAzMTYs
ICAgMzE2LCAgIDMxNiwgICAzMTYsICAgMzE2LCAgIDMxNiwgICAzMTcsICAgMzE3LAorICAgICAz
MTgsICAgMzE4LCAgIDMxOSwgICAzMTksICAgMzIxLCAgIDMyMCwgICAzMjAsICAgMzIyLCAgIDMy
MywgICAzMjIsCisgICAgIDMyNCwgICAzMjQsICAgMzI0LCAgIDMyNCwgICAzMjUsICAgMzI1LCAg
IDMyNiwgICAzMjYsICAgMzI2LCAgIDMyNiwKKyAgICAgMzI2LCAgIDMyNiwgICAzMjYsICAgMzI2
LCAgIDMyNiwgICAzMjYsICAgMzI2LCAgIDMyNiwgICAzMjYsICAgMzI2LAorICAgICAzMjYsICAg
MzI3LCAgIDMyNywgICAzMjcsICAgMzI3LCAgIDMyOCwgICAzMjgsICAgMzI5LCAgIDMzMCwgICAz
MzAsCisgICAgIDMzMSwgICAzMzEsICAgMzMyLCAgIDMzMywgICAzMzMsICAgMzM0LCAgIDMzNCwg
ICAzMzUsICAgMzM1LCAgIDMzNiwKKyAgICAgMzM2LCAgIDMzNywgICAzMzcsICAgMzM4LCAgIDMz
OCwgICAzMzksICAgMzQwLCAgIDM0MSwgICAzNDEsICAgMzQyLAorICAgICAzNDIsICAgMzQzLCAg
IDM0MywgICAzNDQsICAgMzQ0LCAgIDM0NSwgICAzNDUsICAgMzQ2LCAgIDM0NywgICAzNDcsCisg
ICAgIDM0OCwgICAzNDksICAgMzQ4LCAgIDM1MCwgICAzNTAsICAgMzUxLCAgIDM1MSwgICAzNTIs
ICAgMzUyLCAgIDM1MiwKKyAgICAgMzUyLCAgIDM1MywgICAzNTMsICAgMzUzLCAgIDM1NCwgICAz
NTQsICAgMzU0LCAgIDM1NCwgICAzNTUsICAgMzU1LAorICAgICAzNTUsICAgMzU2LCAgIDM1Niwg
ICAzNTcsICAgMzU3LCAgIDM1OCwgICAzNTgsICAgMzU5LCAgIDM1OSwgICAzNjAsCisgICAgIDM2
MCwgICAzNjEsICAgMzYyLCAgIDM2MywgICAzNjMsICAgMzYzLCAgIDM2NCwgICAzNjQsICAgMzY1
LCAgIDM2NSwKKyAgICAgMzY2Cit9OworCisgIC8qIFlZUjJbWVlOXSAtLSBOdW1iZXIgb2Ygc3lt
Ym9scyBvbiB0aGUgcmlnaHQgaGFuZCBzaWRlIG9mIHJ1bGUgWVlOLiAgKi8KK3N0YXRpYyBjb25z
dCB5eXR5cGVfdWludDggeXlyMltdID0KK3sKKyAgICAgICAwLCAgICAgMiwgICAgIDAsICAgICAy
LCAgICAgMiwgICAgIDEsICAgICAxLCAgICAgMywgICAgIDIsICAgICAxLAorICAgICAgIDIsICAg
ICAzLCAgICAgMCwgICAgIDYsICAgICAzLCAgICAgMiwgICAgIDEsICAgICAxLCAgICAgMywgICAg
IDIsCisgICAgICAgMSwgICAgIDAsICAgICAzLCAgICAgMCwgICAgIDQsICAgICAzLCAgICAgMywg
ICAgIDMsICAgICAyLCAgICAgMywKKyAgICAgICAzLCAgICAgMywgICAgIDMsICAgICAzLCAgICAg
NCwgICAgIDEsICAgICAzLCAgICAgMywgICAgIDMsICAgICAxLAorICAgICAgIDMsICAgICAzLCAg
ICAgNiwgICAgIDUsICAgICA1LCAgICAgNSwgICAgIDUsICAgICAzLCAgICAgMSwgICAgIDMsCisg
ICAgICAgMSwgICAgIDEsICAgICAzLCAgICAgMywgICAgIDMsICAgICAyLCAgICAgMSwgICAgIDEs
ICAgICAwLCAgICAgMCwKKyAgICAgICA0LCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgNCwgICAg
IDMsICAgICAxLCAgICAgMiwgICAgIDMsICAgICA0LAorICAgICAgIDUsICAgICA0LCAgICAgNSwg
ICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMSwgICAgIDMsCisgICAgICAg
MSwgICAgIDMsICAgICAxLCAgICAgMiwgICAgIDMsICAgICA1LCAgICAgMiwgICAgIDQsICAgICAy
LCAgICAgNCwKKyAgICAgICAxLCAgICAgMywgICAgIDEsICAgICAzLCAgICAgMiwgICAgIDMsICAg
ICAxLCAgICAgMywgICAgIDEsICAgICAxLAorICAgICAgIDQsICAgICAzLCAgICAgMywgICAgIDMs
ICAgICAzLCAgICAgMiwgICAgIDEsICAgICAxLCAgICAgMSwgICAgIDQsCisgICAgICAgMywgICAg
IDMsICAgICAzLCAgICAgMywgICAgIDIsICAgICAxLCAgICAgMSwgICAgIDEsICAgICAyLCAgICAg
MSwKKyAgICAgICAzLCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMSwgICAgIDEsICAgICAxLCAg
ICAgMSwgICAgIDEsICAgICAxLAorICAgICAgIDEsICAgICAwLCAgICAgNCwgICAgIDEsICAgICAx
LCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMSwgICAgIDEsCisgICAgICAgMSwgICAgIDEsICAg
ICAxLCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMSwKKyAg
ICAgICAxLCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMSwg
ICAgIDEsICAgICAxLAorICAgICAgIDEsICAgICAxLCAgICAgMSwgICAgIDEsICAgICAxLCAgICAg
MSwgICAgIDEsICAgICAxLCAgICAgMSwgICAgIDEsCisgICAgICAgMSwgICAgIDEsICAgICAxLCAg
ICAgMSwgICAgIDEsICAgICAxLCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMSwKKyAgICAgICAx
LCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMSwgICAgIDEs
ICAgICAxLAorICAgICAgIDEsICAgICAxLCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMSwgICAg
IDEsICAgICAxLCAgICAgMSwgICAgIDEsCisgICAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMSwg
ICAgIDMsICAgICAzLCAgICAgNiwgICAgIDUsICAgICA1LCAgICAgNSwKKyAgICAgICA1LCAgICAg
NCwgICAgIDMsICAgICAzLCAgICAgMywgICAgIDIsICAgICAyLCAgICAgMywgICAgIDMsICAgICAz
LAorICAgICAgIDMsICAgICAzLCAgICAgMywgICAgIDQsICAgICAyLCAgICAgMiwgICAgIDMsICAg
ICAzLCAgICAgMywgICAgIDMsCisgICAgICAgMSwgICAgIDMsICAgICAzLCAgICAgMywgICAgIDMs
ICAgICAzLCAgICAgMiwgICAgIDIsICAgICAzLCAgICAgMywKKyAgICAgICAzLCAgICAgMywgICAg
IDAsICAgICA0LCAgICAgNiwgICAgIDEsICAgICAxLCAgICAgMSwgICAgIDEsICAgICAxLAorICAg
ICAgIDMsICAgICAzLCAgICAgMSwgICAgIDEsICAgICAyLCAgICAgNCwgICAgIDIsICAgICAxLCAg
ICAgMywgICAgIDMsCisgICAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMSwgICAgIDIsICAgICA0
LCAgICAgMiwgICAgIDEsICAgICAyLCAgICAgMiwKKyAgICAgICA0LCAgICAgMSwgICAgIDAsICAg
ICAyLCAgICAgMiwgICAgIDIsICAgICAxLCAgICAgMSwgICAgIDIsICAgICAzLAorICAgICAgIDQs
ICAgICAxLCAgICAgMSwgICAgIDMsICAgICA0LCAgICAgMiwgICAgIDEsICAgICAxLCAgICAgMSwg
ICAgIDEsCisgICAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMSwgICAgIDEsICAgICAxLCAgICAg
MSwgICAgIDAsICAgICA0LCAgICAgMCwKKyAgICAgICAzLCAgICAgMCwgICAgIDQsICAgICAzLCAg
ICAgMywgICAgIDIsICAgICAzLCAgICAgMywgICAgIDEsICAgICA0LAorICAgICAgIDMsICAgICAx
LCAgICAgMCwgICAgIDYsICAgICA0LCAgICAgMywgICAgIDIsICAgICAxLCAgICAgMiwgICAgIDAs
CisgICAgICAgMywgICAgIDYsICAgICA2LCAgICAgNCwgICAgIDQsICAgICA1LCAgICAgNCwgICAg
IDYsICAgICAwLCAgICAgNiwKKyAgICAgICAwLCAgICAgNywgICAgIDAsICAgICA1LCAgICAgMCwg
ICAgIDAsICAgICA3LCAgICAgMCwgICAgIDAsICAgICA5LAorICAgICAgIDEsICAgICAxLCAgICAg
MSwgICAgIDEsICAgICAxLCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMSwgICAgIDEsCisgICAg
ICAgMSwgICAgIDEsICAgICAxLCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMSwgICAgIDEsICAg
ICAxLCAgICAgMSwKKyAgICAgICAxLCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMSwgICAgIDEs
ICAgICAyLCAgICAgMSwgICAgIDEsICAgICAxLAorICAgICAgIDUsICAgICAxLCAgICAgMiwgICAg
IDEsICAgICAxLCAgICAgMSwgICAgIDMsICAgICAxLCAgICAgMywgICAgIDEsCisgICAgICAgNCwg
ICAgIDYsICAgICAzLCAgICAgNSwgICAgIDIsICAgICA0LCAgICAgMSwgICAgIDMsICAgICA0LCAg
ICAgMiwKKyAgICAgICAyLCAgICAgMSwgICAgIDIsICAgICAwLCAgICAgNiwgICAgIDgsICAgICA0
LCAgICAgNiwgICAgIDQsICAgICAyLAorICAgICAgIDYsICAgICAyLCAgICAgNCwgICAgIDYsICAg
ICAyLCAgICAgNCwgICAgIDIsICAgICA0LCAgICAgMSwgICAgIDEsCisgICAgICAgMSwgICAgIDMs
ICAgICAxLCAgICAgNCwgICAgIDEsICAgICA0LCAgICAgMSwgICAgIDMsICAgICAxLCAgICAgMSwK
KyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICA1LCAgICAgNCwgICAgIDEsICAgICAzLCAgICAg
MywgICAgIDMsICAgICAyLAorICAgICAgIDQsICAgICA1LCAgICAgNSwgICAgIDIsICAgICA0LCAg
ICAgNCwgICAgIDMsICAgICAzLCAgICAgMywgICAgIDIsCisgICAgICAgMSwgICAgIDQsICAgICAz
LCAgICAgMywgICAgIDAsICAgICAzLCAgICAgMCwgICAgIDAsICAgICA0LCAgICAgNSwKKyAgICAg
ICAxLCAgICAgMSwgICAgIDYsICAgICAxLCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMiwgICAg
IDEsICAgICAyLAorICAgICAgIDEsICAgICAxLCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMSwg
ICAgIDEsICAgICAyLCAgICAgMywgICAgIDMsCisgICAgICAgMywgICAgIDQsICAgICAwLCAgICAg
MywgICAgIDEsICAgICAyLCAgICAgNCwgICAgIDAsICAgICAzLCAgICAgNCwKKyAgICAgICA0LCAg
ICAgMCwgICAgIDMsICAgICAwLCAgICAgMywgICAgIDAsICAgICAyLCAgICAgMCwgICAgIDIsICAg
ICAwLAorICAgICAgIDIsICAgICAxLCAgICAgMCwgICAgIDMsICAgICAwLCAgICAgMCwgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDgsCisgICAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMSwgICAg
IDIsICAgICAxLCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMywKKyAgICAgICAxLCAgICAgMiwg
ICAgIDEsICAgICAxLCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMSwgICAgIDEsICAgICAxLAor
ICAgICAgIDEsICAgICAxLCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMSwgICAgIDEsICAgICAx
LCAgICAgMSwgICAgIDEsCisgICAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMSwgICAgIDAsICAg
ICA0LCAgICAgMCwgICAgIDMsICAgICAwLCAgICAgMywKKyAgICAgICA0LCAgICAgMiwgICAgIDIs
ICAgICAxLCAgICAgMiwgICAgIDAsICAgICA2LCAgICAgOCwgICAgIDQsICAgICA2LAorICAgICAg
IDQsICAgICA2LCAgICAgMiwgICAgIDQsICAgICA2LCAgICAgMiwgICAgIDQsICAgICAyLCAgICAg
NCwgICAgIDEsCisgICAgICAgMCwgICAgIDEsICAgICAxLCAgICAgMSwgICAgIDEsICAgICAxLCAg
ICAgMSwgICAgIDEsICAgICAxLCAgICAgMywKKyAgICAgICAxLCAgICAgMywgICAgIDEsICAgICAy
LCAgICAgMSwgICAgIDIsICAgICAxLCAgICAgMSwgICAgIDMsICAgICAxLAorICAgICAgIDMsICAg
ICAxLCAgICAgMSwgICAgIDIsICAgICAxLCAgICAgMywgICAgIDMsICAgICAxLCAgICAgMywgICAg
IDEsCisgICAgICAgMywgICAgIDEsICAgICAxLCAgICAgMiwgICAgIDEsICAgICAxLCAgICAgMSwg
ICAgIDIsICAgICAyLCAgICAgMSwKKyAgICAgICAxLCAgICAgMCwgICAgIDQsICAgICAxLCAgICAg
MiwgICAgIDEsICAgICAzLCAgICAgMywgICAgIDIsICAgICA0LAorICAgICAgIDIsICAgICAxLCAg
ICAgMSwgICAgIDEsICAgICAxLCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMSwgICAgIDEsCisg
ICAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMSwgICAgIDAs
ICAgICAxLCAgICAgMCwKKyAgICAgICAxLCAgICAgMiwgICAgIDIsICAgICAwLCAgICAgMSwgICAg
IDEsICAgICAxLCAgICAgMSwgICAgIDEsICAgICAyLAorICAgICAgIDAKK307CisKKworI2RlZmlu
ZSB5eWVycm9rICAgICAgICAgKHl5ZXJyc3RhdHVzID0gMCkKKyNkZWZpbmUgeXljbGVhcmluICAg
ICAgICh5eWNoYXIgPSBZWUVNUFRZKQorI2RlZmluZSBZWUVNUFRZICAgICAgICAgKC0yKQorI2Rl
ZmluZSBZWUVPRiAgICAgICAgICAgMAorCisjZGVmaW5lIFlZQUNDRVBUICAgICAgICBnb3RvIHl5
YWNjZXB0bGFiCisjZGVmaW5lIFlZQUJPUlQgICAgICAgICBnb3RvIHl5YWJvcnRsYWIKKyNkZWZp
bmUgWVlFUlJPUiAgICAgICAgIGdvdG8geXllcnJvcmxhYgorCisKKyNkZWZpbmUgWVlSRUNPVkVS
SU5HKCkgICghIXl5ZXJyc3RhdHVzKQorCisjZGVmaW5lIFlZQkFDS1VQKFRva2VuLCBWYWx1ZSkg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgIGRvICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgaWYg
KHl5Y2hhciA9PSBZWUVNUFRZKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCisgICAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgICAgICAgIHl5Y2hhciA9IChUb2tlbik7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIHl5bHZhbCA9IChWYWx1ZSk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIFlZUE9QU1RB
Q0sgKHl5bGVuKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg
ICAgIHl5c3RhdGUgPSAqeXlzc3A7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCisgICAgICAgIGdvdG8geXliYWNrdXA7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgZWxzZSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICB7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisg
ICAgICAgIHl5ZXJyb3IgKCZ5eWxsb2MsIHAsIFlZXygic3ludGF4IGVycm9yOiBjYW5ub3QgYmFj
ayB1cCIpKTsgXAorICAgICAgICBZWUVSUk9SOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICB3aGlsZSAoMCkKKworLyogRXJy
b3IgdG9rZW4gbnVtYmVyICovCisjZGVmaW5lIFlZVEVSUk9SICAgICAgICAxCisjZGVmaW5lIFlZ
RVJSQ09ERSAgICAgICAyNTYKKworCisvKiBZWUxMT0NfREVGQVVMVCAtLSBTZXQgQ1VSUkVOVCB0
byBzcGFuIGZyb20gUkhTWzFdIHRvIFJIU1tOXS4KKyAgIElmIE4gaXMgMCwgdGhlbiBzZXQgQ1VS
UkVOVCB0byB0aGUgZW1wdHkgbG9jYXRpb24gd2hpY2ggZW5kcworICAgdGhlIHByZXZpb3VzIHN5
bWJvbDogUkhTWzBdIChhbHdheXMgZGVmaW5lZCkuICAqLworCisjaWZuZGVmIFlZTExPQ19ERUZB
VUxUCisjIGRlZmluZSBZWUxMT0NfREVGQVVMVChDdXJyZW50LCBSaHMsIE4pICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCisgICAgZG8gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICBpZiAoTikgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgKEN1cnJlbnQpLmZpcnN0X2xpbmUgICA9IFlZ
UkhTTE9DIChSaHMsIDEpLmZpcnN0X2xpbmU7ICAgICAgICBcCisgICAgICAgICAgKEN1cnJlbnQp
LmZpcnN0X2NvbHVtbiA9IFlZUkhTTE9DIChSaHMsIDEpLmZpcnN0X2NvbHVtbjsgICAgICBcCisg
ICAgICAgICAgKEN1cnJlbnQpLmxhc3RfbGluZSAgICA9IFlZUkhTTE9DIChSaHMsIE4pLmxhc3Rf
bGluZTsgICAgICAgICBcCisgICAgICAgICAgKEN1cnJlbnQpLmxhc3RfY29sdW1uICA9IFlZUkhT
TE9DIChSaHMsIE4pLmxhc3RfY29sdW1uOyAgICAgICBcCisgICAgICAgIH0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg
ICBlbHNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCisgICAgICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgKEN1cnJlbnQpLmZpcnN0
X2xpbmUgICA9IChDdXJyZW50KS5sYXN0X2xpbmUgICA9ICAgICAgICAgICAgICBcCisgICAgICAg
ICAgICBZWVJIU0xPQyAoUmhzLCAwKS5sYXN0X2xpbmU7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCisgICAgICAgICAgKEN1cnJlbnQpLmZpcnN0X2NvbHVtbiA9IChDdXJyZW50KS5s
YXN0X2NvbHVtbiA9ICAgICAgICAgICAgICBcCisgICAgICAgICAgICBZWVJIU0xPQyAoUmhzLCAw
KS5sYXN0X2NvbHVtbjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIH0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCisgICAgd2hpbGUgKDApCisjZW5kaWYKKworI2RlZmluZSBZWVJIU0xPQyhSaHMsIEsp
ICgoUmhzKVtLXSkKKworCisvKiBFbmFibGUgZGVidWdnaW5nIGlmIHJlcXVlc3RlZC4gICovCisj
aWYgWVlERUJVRworCisjIGlmbmRlZiBZWUZQUklOVEYKKyMgIGluY2x1ZGUgPHN0ZGlvLmg+IC8q
IElORlJJTkdFUyBPTiBVU0VSIE5BTUUgU1BBQ0UgKi8KKyMgIGRlZmluZSBZWUZQUklOVEYgZnBy
aW50ZgorIyBlbmRpZgorCisjIGRlZmluZSBZWURQUklOVEYoQXJncykgICAgICAgICAgICAgICAg
ICAgICAgICBcCitkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCisgIGlmICh5eWRlYnVnKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisg
ICAgWVlGUFJJTlRGIEFyZ3M7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCit9IHdoaWxl
ICgwKQorCisKKy8qIFlZX0xPQ0FUSU9OX1BSSU5UIC0tIFByaW50IHRoZSBsb2NhdGlvbiBvbiB0
aGUgc3RyZWFtLgorICAgVGhpcyBtYWNybyB3YXMgbm90IG1hbmRhdGVkIG9yaWdpbmFsbHk6IGRl
ZmluZSBvbmx5IGlmIHdlIGtub3cKKyAgIHdlIHdvbid0IGJyZWFrIHVzZXIgY29kZTogd2hlbiB0
aGVzZSBhcmUgdGhlIGxvY2F0aW9ucyB3ZSBrbm93LiAgKi8KKworI2lmbmRlZiBZWV9MT0NBVElP
Tl9QUklOVAorIyBpZiBkZWZpbmVkIFlZTFRZUEVfSVNfVFJJVklBTCAmJiBZWUxUWVBFX0lTX1RS
SVZJQUwKKworLyogUHJpbnQgKllZTE9DUCBvbiBZWU8uICBQcml2YXRlLCBkbyBub3QgcmVseSBv
biBpdHMgZXhpc3RlbmNlLiAqLworCitZWV9BVFRSSUJVVEVfVU5VU0VECitzdGF0aWMgaW50Cit5
eV9sb2NhdGlvbl9wcmludF8gKEZJTEUgKnl5bywgWVlMVFlQRSBjb25zdCAqIGNvbnN0IHl5bG9j
cCkKK3sKKyAgaW50IHJlcyA9IDA7CisgIGludCBlbmRfY29sID0gMCAhPSB5eWxvY3AtPmxhc3Rf
Y29sdW1uID8geXlsb2NwLT5sYXN0X2NvbHVtbiAtIDEgOiAwOworICBpZiAoMCA8PSB5eWxvY3At
PmZpcnN0X2xpbmUpCisgICAgeworICAgICAgcmVzICs9IFlZRlBSSU5URiAocCwgIiVkIiwgeXls
b2NwLT5maXJzdF9saW5lKTsKKyAgICAgIGlmICgwIDw9IHl5bG9jcC0+Zmlyc3RfY29sdW1uKQor
ICAgICAgICByZXMgKz0gWVlGUFJJTlRGIChwLCAiLiVkIiwgeXlsb2NwLT5maXJzdF9jb2x1bW4p
OworICAgIH0KKyAgaWYgKDAgPD0geXlsb2NwLT5sYXN0X2xpbmUpCisgICAgeworICAgICAgaWYg
KHl5bG9jcC0+Zmlyc3RfbGluZSA8IHl5bG9jcC0+bGFzdF9saW5lKQorICAgICAgICB7CisgICAg
ICAgICAgcmVzICs9IFlZRlBSSU5URiAocCwgIi0lZCIsIHl5bG9jcC0+bGFzdF9saW5lKTsKKyAg
ICAgICAgICBpZiAoMCA8PSBlbmRfY29sKQorICAgICAgICAgICAgcmVzICs9IFlZRlBSSU5URiAo
cCwgIi4lZCIsIGVuZF9jb2wpOworICAgICAgICB9CisgICAgICBlbHNlIGlmICgwIDw9IGVuZF9j
b2wgJiYgeXlsb2NwLT5maXJzdF9jb2x1bW4gPCBlbmRfY29sKQorICAgICAgICByZXMgKz0gWVlG
UFJJTlRGIChwLCAiLSVkIiwgZW5kX2NvbCk7CisgICAgfQorICByZXR1cm4gcmVzOworIH0KKwor
IyAgZGVmaW5lIFlZX0xPQ0FUSU9OX1BSSU5UKEZpbGUsIExvYykgICAgICAgICAgXAorICB5eV9s
b2NhdGlvbl9wcmludF8gKEZpbGUsICYoTG9jKSkKKworIyBlbHNlCisjICBkZWZpbmUgWVlfTE9D
QVRJT05fUFJJTlQoRmlsZSwgTG9jKSAoKHZvaWQpIDApCisjIGVuZGlmCisjZW5kaWYKKworCisj
IGRlZmluZSBZWV9TWU1CT0xfUFJJTlQoVGl0bGUsIFR5cGUsIFZhbHVlLCBMb2NhdGlvbikgICAg
ICAgICAgICAgICAgICAgIFwKK2RvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICBpZiAoeXlkZWJ1ZykgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIFlZRlBSSU5URiAocCwgIiVzICIsIFRpdGxlKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIHl5X3N5bWJvbF9wcmlu
dCAoc3RkZXJyLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAor
ICAgICAgICAgICAgICAgICAgVHlwZSwgVmFsdWUsIExvY2F0aW9uLCBwKTsgXAorICAgICAgWVlG
UFJJTlRGIChwLCAiXG4iKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAorICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCit9IHdoaWxlICgwKQorCisKKy8qLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0uCit8IFByaW50IHRoaXMgc3ltYm9sJ3MgdmFsdWUgb24g
WVlPLiAgfAorYC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworc3RhdGlj
IHZvaWQKK3l5X3N5bWJvbF92YWx1ZV9wcmludCAoRklMRSAqeXlvLCBpbnQgeXl0eXBlLCBZWVNU
WVBFIGNvbnN0ICogY29uc3QgeXl2YWx1ZXAsIFlZTFRZUEUgY29uc3QgKiBjb25zdCB5eWxvY2F0
aW9ucCwgc3RydWN0IHBhcnNlcl9wYXJhbXMgKnApCit7CisgIEZJTEUgKnl5b3V0cHV0ID0geXlv
OworICBZWVVTRSAoeXlvdXRwdXQpOworICBZWVVTRSAoeXlsb2NhdGlvbnApOworICBZWVVTRSAo
cCk7CisgIGlmICgheXl2YWx1ZXApCisgICAgcmV0dXJuOworIyBpZmRlZiBZWVBSSU5UCisgIGlm
ICh5eXR5cGUgPCBZWU5UT0tFTlMpCisgICAgWVlQUklOVCAoeXlvLCB5eXRva251bVt5eXR5cGVd
LCAqeXl2YWx1ZXApOworIyBlbmRpZgorICBZWVVTRSAoeXl0eXBlKTsKK30KKworCisvKi0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS4KK3wgUHJpbnQgdGhpcyBzeW1ib2wgb24gWVlPLiAgfAor
YC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3N0YXRpYyB2b2lkCit5eV9zeW1ib2xf
cHJpbnQgKEZJTEUgKnl5bywgaW50IHl5dHlwZSwgWVlTVFlQRSBjb25zdCAqIGNvbnN0IHl5dmFs
dWVwLCBZWUxUWVBFIGNvbnN0ICogY29uc3QgeXlsb2NhdGlvbnAsIHN0cnVjdCBwYXJzZXJfcGFy
YW1zICpwKQoreworICBZWUZQUklOVEYgKHAsICIlcyAlcyAoIiwKKyAgICAgICAgICAgICB5eXR5
cGUgPCBZWU5UT0tFTlMgPyAidG9rZW4iIDogIm50ZXJtIiwgeXl0bmFtZVt5eXR5cGVdKTsKKwor
ICBZWV9MT0NBVElPTl9QUklOVCAoeXlvLCAqeXlsb2NhdGlvbnApOworICBZWUZQUklOVEYgKHAs
ICI6ICIpOworICB5eV9zeW1ib2xfdmFsdWVfcHJpbnQgKHl5bywgeXl0eXBlLCB5eXZhbHVlcCwg
eXlsb2NhdGlvbnAsIHApOworICBZWUZQUklOVEYgKHAsICIpIik7Cit9CisKKy8qLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LgorfCB5eV9zdGFja19wcmludCAtLSBQcmludCB0aGUgc3RhdGUgc3RhY2sgZnJvbSBpdHMgQk9U
VE9NIHVwIHRvIGl0cyB8Cit8IFRPUCAoaW5jbHVkZWQpLiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKK2AtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCitzdGF0aWMgdm9p
ZAorcnVieV9wYXJzZXJfeXlfc3RhY2tfcHJpbnQgKHl5dHlwZV9pbnQxNiAqeXlib3R0b20sIHl5
dHlwZV9pbnQxNiAqeXl0b3AsIHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwKQorI2RlZmluZSB5eV9z
dGFja19wcmludChiLCB0KSBydWJ5X3BhcnNlcl95eV9zdGFja19wcmludChiLCB0LCBwKQorewor
ICBZWUZQUklOVEYgKHAsICJTdGFjayBub3ciKTsKKyAgZm9yICg7IHl5Ym90dG9tIDw9IHl5dG9w
OyB5eWJvdHRvbSsrKQorICAgIHsKKyAgICAgIGludCB5eWJvdCA9ICp5eWJvdHRvbTsKKyAgICAg
IFlZRlBSSU5URiAocCwgIiAlZCIsIHl5Ym90KTsKKyAgICB9CisgIFlZRlBSSU5URiAocCwgIlxu
Iik7Cit9CisKKyMgZGVmaW5lIFlZX1NUQUNLX1BSSU5UKEJvdHRvbSwgVG9wKSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCitkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICBpZiAoeXlkZWJ1ZykgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB5eV9zdGFja19wcmlu
dCAoKEJvdHRvbSksIChUb3ApKTsgICAgICAgICAgICAgICAgICAgICAgICAgICBcCit9IHdoaWxl
ICgwKQorCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLgorfCBSZXBvcnQgdGhhdCB0aGUgWVlSVUxFIGlzIGdvaW5nIHRvIGJlIHJlZHVjZWQuICB8
CitgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKwor
c3RhdGljIHZvaWQKK3l5X3JlZHVjZV9wcmludCAoeXl0eXBlX2ludDE2ICp5eXNzcCwgWVlTVFlQ
RSAqeXl2c3AsIFlZTFRZUEUgKnl5bHNwLCBpbnQgeXlydWxlLCBzdHJ1Y3QgcGFyc2VyX3BhcmFt
cyAqcCkKK3sKKyAgdW5zaWduZWQgbG9uZyB5eWxubyA9IHl5cmxpbmVbeXlydWxlXTsKKyAgaW50
IHl5bnJocyA9IHl5cjJbeXlydWxlXTsKKyAgaW50IHl5aTsKKyAgWVlGUFJJTlRGIChwLCAiUmVk
dWNpbmcgc3RhY2sgYnkgcnVsZSAlZCAobGluZSAlbHUpOlxuIiwKKyAgICAgICAgICAgICB5eXJ1
bGUgLSAxLCB5eWxubyk7CisgIC8qIFRoZSBzeW1ib2xzIGJlaW5nIHJlZHVjZWQuICAqLworICBm
b3IgKHl5aSA9IDA7IHl5aSA8IHl5bnJoczsgeXlpKyspCisgICAgeworICAgICAgWVlGUFJJTlRG
IChwLCAiICAgJCVkID0gIiwgeXlpICsgMSk7CisgICAgICB5eV9zeW1ib2xfcHJpbnQgKHN0ZGVy
ciwKKyAgICAgICAgICAgICAgICAgICAgICAgeXlzdG9zW3l5c3NwW3l5aSArIDEgLSB5eW5yaHNd
XSwKKyAgICAgICAgICAgICAgICAgICAgICAgJnl5dnNwWyh5eWkgKyAxKSAtICh5eW5yaHMpXQor
ICAgICAgICAgICAgICAgICAgICAgICAsICYoeXlsc3BbKHl5aSArIDEpIC0gKHl5bnJocyldKSAg
ICAgICAgICAgICAgICAgICAgICAgLCBwKTsKKyAgICAgIFlZRlBSSU5URiAocCwgIlxuIik7Cisg
ICAgfQorfQorCisjIGRlZmluZSBZWV9SRURVQ0VfUFJJTlQoUnVsZSkgICAgICAgICAgXAorZG8g
eyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgaWYgKHl5ZGVidWcpICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgeXlfcmVkdWNlX3ByaW50ICh5eXNzcCwgeXl2
c3AsIHl5bHNwLCBSdWxlLCBwKTsgXAorfSB3aGlsZSAoMCkKKworLyogTm9uemVybyBtZWFucyBw
cmludCBwYXJzZSB0cmFjZS4gIEl0IGlzIGxlZnQgdW5pbml0aWFsaXplZCBzbyB0aGF0CisgICBt
dWx0aXBsZSBwYXJzZXJzIGNhbiBjb2V4aXN0LiAgKi8KKyNpZm5kZWYgeXlkZWJ1ZworaW50IHl5
ZGVidWc7CisjZW5kaWYKKyNlbHNlIC8qICFZWURFQlVHICovCisjIGRlZmluZSBZWURQUklOVEYo
QXJncykKKyMgZGVmaW5lIFlZX1NZTUJPTF9QUklOVChUaXRsZSwgVHlwZSwgVmFsdWUsIExvY2F0
aW9uKQorIyBkZWZpbmUgWVlfU1RBQ0tfUFJJTlQoQm90dG9tLCBUb3ApCisjIGRlZmluZSBZWV9S
RURVQ0VfUFJJTlQoUnVsZSkKKyNlbmRpZiAvKiAhWVlERUJVRyAqLworCisKKy8qIFlZSU5JVERF
UFRIIC0tIGluaXRpYWwgc2l6ZSBvZiB0aGUgcGFyc2VyJ3Mgc3RhY2tzLiAgKi8KKyNpZm5kZWYg
WVlJTklUREVQVEgKKyMgZGVmaW5lIFlZSU5JVERFUFRIIDIwMAorI2VuZGlmCisKKy8qIFlZTUFY
REVQVEggLS0gbWF4aW11bSBzaXplIHRoZSBzdGFja3MgY2FuIGdyb3cgdG8gKGVmZmVjdGl2ZSBv
bmx5CisgICBpZiB0aGUgYnVpbHQtaW4gc3RhY2sgZXh0ZW5zaW9uIG1ldGhvZCBpcyB1c2VkKS4K
KworICAgRG8gbm90IG1ha2UgdGhpcyB2YWx1ZSB0b28gbGFyZ2U7IHRoZSByZXN1bHRzIGFyZSB1
bmRlZmluZWQgaWYKKyAgIFlZU1RBQ0tfQUxMT0NfTUFYSU1VTSA8IFlZU1RBQ0tfQllURVMgKFlZ
TUFYREVQVEgpCisgICBldmFsdWF0ZWQgd2l0aCBpbmZpbml0ZS1wcmVjaXNpb24gaW50ZWdlciBh
cml0aG1ldGljLiAgKi8KKworI2lmbmRlZiBZWU1BWERFUFRICisjIGRlZmluZSBZWU1BWERFUFRI
IDEwMDAwCisjZW5kaWYKKworCisjaWYgWVlFUlJPUl9WRVJCT1NFCisKKyMgaWZuZGVmIHl5c3Ry
bGVuCisjICBpZiBkZWZpbmVkIF9fR0xJQkNfXyAmJiBkZWZpbmVkIF9TVFJJTkdfSAorIyAgIGRl
ZmluZSB5eXN0cmxlbiBzdHJsZW4KKyMgIGVsc2UKKy8qIFJldHVybiB0aGUgbGVuZ3RoIG9mIFlZ
U1RSLiAgKi8KK3N0YXRpYyBZWVNJWkVfVAoreXlzdHJsZW4gKGNvbnN0IGNoYXIgKnl5c3RyKQor
eworICBZWVNJWkVfVCB5eWxlbjsKKyAgZm9yICh5eWxlbiA9IDA7IHl5c3RyW3l5bGVuXTsgeXls
ZW4rKykKKyAgICBjb250aW51ZTsKKyAgcmV0dXJuIHl5bGVuOworfQorIyAgZW5kaWYKKyMgZW5k
aWYKKworIyBpZm5kZWYgeXlzdHBjcHkKKyMgIGlmIGRlZmluZWQgX19HTElCQ19fICYmIGRlZmlu
ZWQgX1NUUklOR19IICYmIGRlZmluZWQgX0dOVV9TT1VSQ0UKKyMgICBkZWZpbmUgeXlzdHBjcHkg
c3RwY3B5CisjICBlbHNlCisvKiBDb3B5IFlZU1JDIHRvIFlZREVTVCwgcmV0dXJuaW5nIHRoZSBh
ZGRyZXNzIG9mIHRoZSB0ZXJtaW5hdGluZyAnXDAnIGluCisgICBZWURFU1QuICAqLworc3RhdGlj
IGNoYXIgKgoreXlzdHBjcHkgKGNoYXIgKnl5ZGVzdCwgY29uc3QgY2hhciAqeXlzcmMpCit7Cisg
IGNoYXIgKnl5ZCA9IHl5ZGVzdDsKKyAgY29uc3QgY2hhciAqeXlzID0geXlzcmM7CisKKyAgd2hp
bGUgKCgqeXlkKysgPSAqeXlzKyspICE9ICdcMCcpCisgICAgY29udGludWU7CisKKyAgcmV0dXJu
IHl5ZCAtIDE7Cit9CisjICBlbmRpZgorIyBlbmRpZgorCisjIGlmbmRlZiB5eXRuYW1lcnIKKy8q
IENvcHkgdG8gWVlSRVMgdGhlIGNvbnRlbnRzIG9mIFlZU1RSIGFmdGVyIHN0cmlwcGluZyBhd2F5
IHVubmVjZXNzYXJ5CisgICBxdW90ZXMgYW5kIGJhY2tzbGFzaGVzLCBzbyB0aGF0IGl0J3Mgc3Vp
dGFibGUgZm9yIHl5ZXJyb3IuICBUaGUKKyAgIGhldXJpc3RpYyBpcyB0aGF0IGRvdWJsZS1xdW90
aW5nIGlzIHVubmVjZXNzYXJ5IHVubGVzcyB0aGUgc3RyaW5nCisgICBjb250YWlucyBhbiBhcG9z
dHJvcGhlLCBhIGNvbW1hLCBvciBiYWNrc2xhc2ggKG90aGVyIHRoYW4KKyAgIGJhY2tzbGFzaC1i
YWNrc2xhc2gpLiAgWVlTVFIgaXMgdGFrZW4gZnJvbSB5eXRuYW1lLiAgSWYgWVlSRVMgaXMKKyAg
IG51bGwsIGRvIG5vdCBjb3B5OyBpbnN0ZWFkLCByZXR1cm4gdGhlIGxlbmd0aCBvZiB3aGF0IHRo
ZSByZXN1bHQKKyAgIHdvdWxkIGhhdmUgYmVlbi4gICovCitzdGF0aWMgWVlTSVpFX1QKK3l5dG5h
bWVyciAoY2hhciAqeXlyZXMsIGNvbnN0IGNoYXIgKnl5c3RyKQoreworICBpZiAoKnl5c3RyID09
ICciJykKKyAgICB7CisgICAgICBZWVNJWkVfVCB5eW4gPSAwOworICAgICAgY2hhciBjb25zdCAq
eXlwID0geXlzdHI7CisKKyAgICAgIGZvciAoOzspCisgICAgICAgIHN3aXRjaCAoKisreXlwKQor
ICAgICAgICAgIHsKKyAgICAgICAgICBjYXNlICdcJyc6CisgICAgICAgICAgY2FzZSAnLCc6Cisg
ICAgICAgICAgICBnb3RvIGRvX25vdF9zdHJpcF9xdW90ZXM7CisKKyAgICAgICAgICBjYXNlICdc
XCc6CisgICAgICAgICAgICBpZiAoKisreXlwICE9ICdcXCcpCisgICAgICAgICAgICAgIGdvdG8g
ZG9fbm90X3N0cmlwX3F1b3RlczsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgZ290
byBhcHBlbmQ7CisKKyAgICAgICAgICBhcHBlbmQ6CisgICAgICAgICAgZGVmYXVsdDoKKyAgICAg
ICAgICAgIGlmICh5eXJlcykKKyAgICAgICAgICAgICAgeXlyZXNbeXluXSA9ICp5eXA7CisgICAg
ICAgICAgICB5eW4rKzsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgY2FzZSAnIic6
CisgICAgICAgICAgICBpZiAoeXlyZXMpCisgICAgICAgICAgICAgIHl5cmVzW3l5bl0gPSAnXDAn
OworICAgICAgICAgICAgcmV0dXJuIHl5bjsKKyAgICAgICAgICB9CisgICAgZG9fbm90X3N0cmlw
X3F1b3RlczogOworICAgIH0KKworICBpZiAoISB5eXJlcykKKyAgICByZXR1cm4geXlzdHJsZW4g
KHl5c3RyKTsKKworICByZXR1cm4gKFlZU0laRV9UKSAoeXlzdHBjcHkgKHl5cmVzLCB5eXN0cikg
LSB5eXJlcyk7Cit9CisjIGVuZGlmCisKKy8qIENvcHkgaW50byAqWVlNU0csIHdoaWNoIGlzIG9m
IHNpemUgKllZTVNHX0FMTE9DLCBhbiBlcnJvciBtZXNzYWdlCisgICBhYm91dCB0aGUgdW5leHBl
Y3RlZCB0b2tlbiBZWVRPS0VOIGZvciB0aGUgc3RhdGUgc3RhY2sgd2hvc2UgdG9wIGlzCisgICBZ
WVNTUC4KKworICAgUmV0dXJuIDAgaWYgKllZTVNHIHdhcyBzdWNjZXNzZnVsbHkgd3JpdHRlbi4g
IFJldHVybiAxIGlmICpZWU1TRyBpcworICAgbm90IGxhcmdlIGVub3VnaCB0byBob2xkIHRoZSBt
ZXNzYWdlLiAgSW4gdGhhdCBjYXNlLCBhbHNvIHNldAorICAgKllZTVNHX0FMTE9DIHRvIHRoZSBy
ZXF1aXJlZCBudW1iZXIgb2YgYnl0ZXMuICBSZXR1cm4gMiBpZiB0aGUKKyAgIHJlcXVpcmVkIG51
bWJlciBvZiBieXRlcyBpcyB0b28gbGFyZ2UgdG8gc3RvcmUuICAqLworc3RhdGljIGludAoreXlz
eW50YXhfZXJyb3IgKFlZU0laRV9UICp5eW1zZ19hbGxvYywgY2hhciAqKnl5bXNnLAorICAgICAg
ICAgICAgICAgIHl5dHlwZV9pbnQxNiAqeXlzc3AsIGludCB5eXRva2VuKQoreworICBZWVNJWkVf
VCB5eXNpemUwID0geXl0bmFtZXJyIChZWV9OVUxMUFRSLCB5eXRuYW1lW3l5dG9rZW5dKTsKKyAg
WVlTSVpFX1QgeXlzaXplID0geXlzaXplMDsKKyAgZW51bSB7IFlZRVJST1JfVkVSQk9TRV9BUkdT
X01BWElNVU0gPSA1IH07CisgIC8qIEludGVybmF0aW9uYWxpemVkIGZvcm1hdCBzdHJpbmcuICov
CisgIGNvbnN0IGNoYXIgKnl5Zm9ybWF0ID0gWVlfTlVMTFBUUjsKKyAgLyogQXJndW1lbnRzIG9m
IHl5Zm9ybWF0LiAqLworICBjaGFyIGNvbnN0ICp5eWFyZ1tZWUVSUk9SX1ZFUkJPU0VfQVJHU19N
QVhJTVVNXTsKKyAgLyogTnVtYmVyIG9mIHJlcG9ydGVkIHRva2VucyAob25lIGZvciB0aGUgInVu
ZXhwZWN0ZWQiLCBvbmUgcGVyCisgICAgICJleHBlY3RlZCIpLiAqLworICBpbnQgeXljb3VudCA9
IDA7CisKKyAgLyogVGhlcmUgYXJlIG1hbnkgcG9zc2liaWxpdGllcyBoZXJlIHRvIGNvbnNpZGVy
OgorICAgICAtIElmIHRoaXMgc3RhdGUgaXMgYSBjb25zaXN0ZW50IHN0YXRlIHdpdGggYSBkZWZh
dWx0IGFjdGlvbiwgdGhlbgorICAgICAgIHRoZSBvbmx5IHdheSB0aGlzIGZ1bmN0aW9uIHdhcyBp
bnZva2VkIGlzIGlmIHRoZSBkZWZhdWx0IGFjdGlvbgorICAgICAgIGlzIGFuIGVycm9yIGFjdGlv
bi4gIEluIHRoYXQgY2FzZSwgZG9uJ3QgY2hlY2sgZm9yIGV4cGVjdGVkCisgICAgICAgdG9rZW5z
IGJlY2F1c2UgdGhlcmUgYXJlIG5vbmUuCisgICAgIC0gVGhlIG9ubHkgd2F5IHRoZXJlIGNhbiBi
ZSBubyBsb29rYWhlYWQgcHJlc2VudCAoaW4geXljaGFyKSBpcyBpZgorICAgICAgIHRoaXMgc3Rh
dGUgaXMgYSBjb25zaXN0ZW50IHN0YXRlIHdpdGggYSBkZWZhdWx0IGFjdGlvbi4gIFRodXMsCisg
ICAgICAgZGV0ZWN0aW5nIHRoZSBhYnNlbmNlIG9mIGEgbG9va2FoZWFkIGlzIHN1ZmZpY2llbnQg
dG8gZGV0ZXJtaW5lCisgICAgICAgdGhhdCB0aGVyZSBpcyBubyB1bmV4cGVjdGVkIG9yIGV4cGVj
dGVkIHRva2VuIHRvIHJlcG9ydC4gIEluIHRoYXQKKyAgICAgICBjYXNlLCBqdXN0IHJlcG9ydCBh
IHNpbXBsZSAic3ludGF4IGVycm9yIi4KKyAgICAgLSBEb24ndCBhc3N1bWUgdGhlcmUgaXNuJ3Qg
YSBsb29rYWhlYWQganVzdCBiZWNhdXNlIHRoaXMgc3RhdGUgaXMgYQorICAgICAgIGNvbnNpc3Rl
bnQgc3RhdGUgd2l0aCBhIGRlZmF1bHQgYWN0aW9uLiAgVGhlcmUgbWlnaHQgaGF2ZSBiZWVuIGEK
KyAgICAgICBwcmV2aW91cyBpbmNvbnNpc3RlbnQgc3RhdGUsIGNvbnNpc3RlbnQgc3RhdGUgd2l0
aCBhIG5vbi1kZWZhdWx0CisgICAgICAgYWN0aW9uLCBvciB1c2VyIHNlbWFudGljIGFjdGlvbiB0
aGF0IG1hbmlwdWxhdGVkIHl5Y2hhci4KKyAgICAgLSBPZiBjb3Vyc2UsIHRoZSBleHBlY3RlZCB0
b2tlbiBsaXN0IGRlcGVuZHMgb24gc3RhdGVzIHRvIGhhdmUKKyAgICAgICBjb3JyZWN0IGxvb2th
aGVhZCBpbmZvcm1hdGlvbiwgYW5kIGl0IGRlcGVuZHMgb24gdGhlIHBhcnNlciBub3QKKyAgICAg
ICB0byBwZXJmb3JtIGV4dHJhIHJlZHVjdGlvbnMgYWZ0ZXIgZmV0Y2hpbmcgYSBsb29rYWhlYWQg
ZnJvbSB0aGUKKyAgICAgICBzY2FubmVyIGFuZCBiZWZvcmUgZGV0ZWN0aW5nIGEgc3ludGF4IGVy
cm9yLiAgVGh1cywgc3RhdGUgbWVyZ2luZworICAgICAgIChmcm9tIExBTFIgb3IgSUVMUikgYW5k
IGRlZmF1bHQgcmVkdWN0aW9ucyBjb3JydXB0IHRoZSBleHBlY3RlZAorICAgICAgIHRva2VuIGxp
c3QuICBIb3dldmVyLCB0aGUgbGlzdCBpcyBjb3JyZWN0IGZvciBjYW5vbmljYWwgTFIgd2l0aAor
ICAgICAgIG9uZSBleGNlcHRpb246IGl0IHdpbGwgc3RpbGwgY29udGFpbiBhbnkgdG9rZW4gdGhh
dCB3aWxsIG5vdCBiZQorICAgICAgIGFjY2VwdGVkIGR1ZSB0byBhbiBlcnJvciBhY3Rpb24gaW4g
YSBsYXRlciBzdGF0ZS4KKyAgKi8KKyAgaWYgKHl5dG9rZW4gIT0gWVlFTVBUWSkKKyAgICB7Cisg
ICAgICBpbnQgeXluID0geXlwYWN0Wyp5eXNzcF07CisgICAgICB5eWFyZ1t5eWNvdW50KytdID0g
eXl0bmFtZVt5eXRva2VuXTsKKyAgICAgIGlmICgheXlwYWN0X3ZhbHVlX2lzX2RlZmF1bHQgKHl5
bikpCisgICAgICAgIHsKKyAgICAgICAgICAvKiBTdGFydCBZWVggYXQgLVlZTiBpZiBuZWdhdGl2
ZSB0byBhdm9pZCBuZWdhdGl2ZSBpbmRleGVzIGluCisgICAgICAgICAgICAgWVlDSEVDSy4gIElu
IG90aGVyIHdvcmRzLCBza2lwIHRoZSBmaXJzdCAtWVlOIGFjdGlvbnMgZm9yCisgICAgICAgICAg
ICAgdGhpcyBzdGF0ZSBiZWNhdXNlIHRoZXkgYXJlIGRlZmF1bHQgYWN0aW9ucy4gICovCisgICAg
ICAgICAgaW50IHl5eGJlZ2luID0geXluIDwgMCA/IC15eW4gOiAwOworICAgICAgICAgIC8qIFN0
YXkgd2l0aGluIGJvdW5kcyBvZiBib3RoIHl5Y2hlY2sgYW5kIHl5dG5hbWUuICAqLworICAgICAg
ICAgIGludCB5eWNoZWNrbGltID0gWVlMQVNUIC0geXluICsgMTsKKyAgICAgICAgICBpbnQgeXl4
ZW5kID0geXljaGVja2xpbSA8IFlZTlRPS0VOUyA/IHl5Y2hlY2tsaW0gOiBZWU5UT0tFTlM7Cisg
ICAgICAgICAgaW50IHl5eDsKKworICAgICAgICAgIGZvciAoeXl4ID0geXl4YmVnaW47IHl5eCA8
IHl5eGVuZDsgKyt5eXgpCisgICAgICAgICAgICBpZiAoeXljaGVja1t5eXggKyB5eW5dID09IHl5
eCAmJiB5eXggIT0gWVlURVJST1IKKyAgICAgICAgICAgICAgICAmJiAheXl0YWJsZV92YWx1ZV9p
c19lcnJvciAoeXl0YWJsZVt5eXggKyB5eW5dKSkKKyAgICAgICAgICAgICAgeworICAgICAgICAg
ICAgICAgIGlmICh5eWNvdW50ID09IFlZRVJST1JfVkVSQk9TRV9BUkdTX01BWElNVU0pCisgICAg
ICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIHl5Y291bnQgPSAxOworICAgICAg
ICAgICAgICAgICAgICB5eXNpemUgPSB5eXNpemUwOworICAgICAgICAgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB5eWFyZ1t5eWNvdW50Kytd
ID0geXl0bmFtZVt5eXhdOworICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgIFlZ
U0laRV9UIHl5c2l6ZTEgPSB5eXNpemUgKyB5eXRuYW1lcnIgKFlZX05VTExQVFIsIHl5dG5hbWVb
eXl4XSk7CisgICAgICAgICAgICAgICAgICBpZiAoeXlzaXplIDw9IHl5c2l6ZTEgJiYgeXlzaXpl
MSA8PSBZWVNUQUNLX0FMTE9DX01BWElNVU0pCisgICAgICAgICAgICAgICAgICAgIHl5c2l6ZSA9
IHl5c2l6ZTE7CisgICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgIHJl
dHVybiAyOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgfQorICAgICAgICB9Cisg
ICAgfQorCisgIHN3aXRjaCAoeXljb3VudCkKKyAgICB7CisjIGRlZmluZSBZWUNBU0VfKE4sIFMp
ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIGNhc2UgTjogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAorICAgICAgICB5eWZvcm1hdCA9IFM7ICAgICAgICAgICAgICAgICAgICAg
ICBcCisgICAgICBicmVhaworICAgIGRlZmF1bHQ6IC8qIEF2b2lkIGNvbXBpbGVyIHdhcm5pbmdz
LiAqLworICAgICAgWVlDQVNFXygwLCBZWV8oInN5bnRheCBlcnJvciIpKTsKKyAgICAgIFlZQ0FT
RV8oMSwgWVlfKCJzeW50YXggZXJyb3IsIHVuZXhwZWN0ZWQgJXMiKSk7CisgICAgICBZWUNBU0Vf
KDIsIFlZXygic3ludGF4IGVycm9yLCB1bmV4cGVjdGVkICVzLCBleHBlY3RpbmcgJXMiKSk7Cisg
ICAgICBZWUNBU0VfKDMsIFlZXygic3ludGF4IGVycm9yLCB1bmV4cGVjdGVkICVzLCBleHBlY3Rp
bmcgJXMgb3IgJXMiKSk7CisgICAgICBZWUNBU0VfKDQsIFlZXygic3ludGF4IGVycm9yLCB1bmV4
cGVjdGVkICVzLCBleHBlY3RpbmcgJXMgb3IgJXMgb3IgJXMiKSk7CisgICAgICBZWUNBU0VfKDUs
IFlZXygic3ludGF4IGVycm9yLCB1bmV4cGVjdGVkICVzLCBleHBlY3RpbmcgJXMgb3IgJXMgb3Ig
JXMgb3IgJXMiKSk7CisjIHVuZGVmIFlZQ0FTRV8KKyAgICB9CisKKyAgeworICAgIFlZU0laRV9U
IHl5c2l6ZTEgPSB5eXNpemUgKyB5eXN0cmxlbiAoeXlmb3JtYXQpOworICAgIGlmICh5eXNpemUg
PD0geXlzaXplMSAmJiB5eXNpemUxIDw9IFlZU1RBQ0tfQUxMT0NfTUFYSU1VTSkKKyAgICAgIHl5
c2l6ZSA9IHl5c2l6ZTE7CisgICAgZWxzZQorICAgICAgcmV0dXJuIDI7CisgIH0KKworICBpZiAo
Knl5bXNnX2FsbG9jIDwgeXlzaXplKQorICAgIHsKKyAgICAgICp5eW1zZ19hbGxvYyA9IDIgKiB5
eXNpemU7CisgICAgICBpZiAoISAoeXlzaXplIDw9ICp5eW1zZ19hbGxvYworICAgICAgICAgICAg
ICYmICp5eW1zZ19hbGxvYyA8PSBZWVNUQUNLX0FMTE9DX01BWElNVU0pKQorICAgICAgICAqeXlt
c2dfYWxsb2MgPSBZWVNUQUNLX0FMTE9DX01BWElNVU07CisgICAgICByZXR1cm4gMTsKKyAgICB9
CisKKyAgLyogQXZvaWQgc3ByaW50ZiwgYXMgdGhhdCBpbmZyaW5nZXMgb24gdGhlIHVzZXIncyBu
YW1lIHNwYWNlLgorICAgICBEb24ndCBoYXZlIHVuZGVmaW5lZCBiZWhhdmlvciBldmVuIGlmIHRo
ZSB0cmFuc2xhdGlvbgorICAgICBwcm9kdWNlZCBhIHN0cmluZyB3aXRoIHRoZSB3cm9uZyBudW1i
ZXIgb2YgIiVzInMuICAqLworICB7CisgICAgY2hhciAqeXlwID0gKnl5bXNnOworICAgIGludCB5
eWkgPSAwOworICAgIHdoaWxlICgoKnl5cCA9ICp5eWZvcm1hdCkgIT0gJ1wwJykKKyAgICAgIGlm
ICgqeXlwID09ICclJyAmJiB5eWZvcm1hdFsxXSA9PSAncycgJiYgeXlpIDwgeXljb3VudCkKKyAg
ICAgICAgeworICAgICAgICAgIHl5cCArPSB5eXRuYW1lcnIgKHl5cCwgeXlhcmdbeXlpKytdKTsK
KyAgICAgICAgICB5eWZvcm1hdCArPSAyOworICAgICAgICB9CisgICAgICBlbHNlCisgICAgICAg
IHsKKyAgICAgICAgICB5eXArKzsKKyAgICAgICAgICB5eWZvcm1hdCsrOworICAgICAgICB9Cisg
IH0KKyAgcmV0dXJuIDA7Cit9CisjZW5kaWYgLyogWVlFUlJPUl9WRVJCT1NFICovCisKKy8qLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0uCit8IFJlbGVhc2Ug
dGhlIG1lbW9yeSBhc3NvY2lhdGVkIHRvIHRoaXMgc3ltYm9sLiAgfAorYC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworc3RhdGljIHZvaWQKK3l5ZGVz
dHJ1Y3QgKGNvbnN0IGNoYXIgKnl5bXNnLCBpbnQgeXl0eXBlLCBZWVNUWVBFICp5eXZhbHVlcCwg
WVlMVFlQRSAqeXlsb2NhdGlvbnAsIHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwKQoreworICBZWVVT
RSAoeXl2YWx1ZXApOworICBZWVVTRSAoeXlsb2NhdGlvbnApOworICBZWVVTRSAocCk7CisgIGlm
ICgheXltc2cpCisgICAgeXltc2cgPSAiRGVsZXRpbmciOworICBZWV9TWU1CT0xfUFJJTlQgKHl5
bXNnLCB5eXR5cGUsIHl5dmFsdWVwLCB5eWxvY2F0aW9ucCk7CisKKyAgWVlfSUdOT1JFX01BWUJF
X1VOSU5JVElBTElaRURfQkVHSU4KKyAgWVlVU0UgKHl5dHlwZSk7CisgIFlZX0lHTk9SRV9NQVlC
RV9VTklOSVRJQUxJWkVEX0VORAorfQorCisKKworCisvKi0tLS0tLS0tLS0uCit8IHl5cGFyc2Uu
ICB8CitgLS0tLS0tLS0tLSovCisKK2ludAoreXlwYXJzZSAoc3RydWN0IHBhcnNlcl9wYXJhbXMg
KnApCit7CisvKiBUaGUgbG9va2FoZWFkIHN5bWJvbC4gICovCitpbnQgeXljaGFyOworCisKKy8q
IFRoZSBzZW1hbnRpYyB2YWx1ZSBvZiB0aGUgbG9va2FoZWFkIHN5bWJvbC4gICovCisvKiBEZWZh
dWx0IHZhbHVlIHVzZWQgZm9yIGluaXRpYWxpemF0aW9uLCBmb3IgcGFjaWZ5aW5nIG9sZGVyIEdD
Q3MKKyAgIG9yIG5vbi1HQ0MgY29tcGlsZXJzLiAgKi8KK1lZX0lOSVRJQUxfVkFMVUUgKHN0YXRp
YyBZWVNUWVBFIHl5dmFsX2RlZmF1bHQ7KQorWVlTVFlQRSB5eWx2YWwgWVlfSU5JVElBTF9WQUxV
RSAoPSB5eXZhbF9kZWZhdWx0KTsKKworLyogTG9jYXRpb24gZGF0YSBmb3IgdGhlIGxvb2thaGVh
ZCBzeW1ib2wuICAqLworc3RhdGljIFlZTFRZUEUgeXlsb2NfZGVmYXVsdAorIyBpZiBkZWZpbmVk
IFlZTFRZUEVfSVNfVFJJVklBTCAmJiBZWUxUWVBFX0lTX1RSSVZJQUwKKyAgPSB7IDEsIDEsIDEs
IDEgfQorIyBlbmRpZgorOworWVlMVFlQRSB5eWxsb2MgPSB5eWxvY19kZWZhdWx0OworCisgICAg
LyogTnVtYmVyIG9mIHN5bnRheCBlcnJvcnMgc28gZmFyLiAgKi8KKyAgICBpbnQgeXluZXJyczsK
KworICAgIGludCB5eXN0YXRlOworICAgIC8qIE51bWJlciBvZiB0b2tlbnMgdG8gc2hpZnQgYmVm
b3JlIGVycm9yIG1lc3NhZ2VzIGVuYWJsZWQuICAqLworICAgIGludCB5eWVycnN0YXR1czsKKwor
ICAgIC8qIFRoZSBzdGFja3MgYW5kIHRoZWlyIHRvb2xzOgorICAgICAgICd5eXNzJzogcmVsYXRl
ZCB0byBzdGF0ZXMuCisgICAgICAgJ3l5dnMnOiByZWxhdGVkIHRvIHNlbWFudGljIHZhbHVlcy4K
KyAgICAgICAneXlscyc6IHJlbGF0ZWQgdG8gbG9jYXRpb25zLgorCisgICAgICAgUmVmZXIgdG8g
dGhlIHN0YWNrcyB0aHJvdWdoIHNlcGFyYXRlIHBvaW50ZXJzLCB0byBhbGxvdyB5eW92ZXJmbG93
CisgICAgICAgdG8gcmVhbGxvY2F0ZSB0aGVtIGVsc2V3aGVyZS4gICovCisKKyAgICAvKiBUaGUg
c3RhdGUgc3RhY2suICAqLworICAgIHl5dHlwZV9pbnQxNiB5eXNzYVtZWUlOSVRERVBUSF07Cisg
ICAgeXl0eXBlX2ludDE2ICp5eXNzOworICAgIHl5dHlwZV9pbnQxNiAqeXlzc3A7CisKKyAgICAv
KiBUaGUgc2VtYW50aWMgdmFsdWUgc3RhY2suICAqLworICAgIFlZU1RZUEUgeXl2c2FbWVlJTklU
REVQVEhdOworICAgIFlZU1RZUEUgKnl5dnM7CisgICAgWVlTVFlQRSAqeXl2c3A7CisKKyAgICAv
KiBUaGUgbG9jYXRpb24gc3RhY2suICAqLworICAgIFlZTFRZUEUgeXlsc2FbWVlJTklUREVQVEhd
OworICAgIFlZTFRZUEUgKnl5bHM7CisgICAgWVlMVFlQRSAqeXlsc3A7CisKKyAgICAvKiBUaGUg
bG9jYXRpb25zIHdoZXJlIHRoZSBlcnJvciBzdGFydGVkIGFuZCBlbmRlZC4gICovCisgICAgWVlM
VFlQRSB5eWVycm9yX3JhbmdlWzNdOworCisgICAgWVlTSVpFX1QgeXlzdGFja3NpemU7CisKKyAg
aW50IHl5bjsKKyAgaW50IHl5cmVzdWx0OworICAvKiBMb29rYWhlYWQgdG9rZW4gYXMgYW4gaW50
ZXJuYWwgKHRyYW5zbGF0ZWQpIHRva2VuIG51bWJlci4gICovCisgIGludCB5eXRva2VuID0gMDsK
KyAgLyogVGhlIHZhcmlhYmxlcyB1c2VkIHRvIHJldHVybiBzZW1hbnRpYyB2YWx1ZSBhbmQgbG9j
YXRpb24gZnJvbSB0aGUKKyAgICAgYWN0aW9uIHJvdXRpbmVzLiAgKi8KKyAgWVlTVFlQRSB5eXZh
bDsKKyAgWVlMVFlQRSB5eWxvYzsKKworI2lmIFlZRVJST1JfVkVSQk9TRQorICAvKiBCdWZmZXIg
Zm9yIGVycm9yIG1lc3NhZ2VzLCBhbmQgaXRzIGFsbG9jYXRlZCBzaXplLiAgKi8KKyAgY2hhciB5
eW1zZ2J1ZlsxMjhdOworICBjaGFyICp5eW1zZyA9IHl5bXNnYnVmOworICBZWVNJWkVfVCB5eW1z
Z19hbGxvYyA9IHNpemVvZiB5eW1zZ2J1ZjsKKyNlbmRpZgorCisjZGVmaW5lIFlZUE9QU1RBQ0so
TikgICAoeXl2c3AgLT0gKE4pLCB5eXNzcCAtPSAoTiksIHl5bHNwIC09IChOKSkKKworICAvKiBU
aGUgbnVtYmVyIG9mIHN5bWJvbHMgb24gdGhlIFJIUyBvZiB0aGUgcmVkdWNlZCBydWxlLgorICAg
ICBLZWVwIHRvIHplcm8gd2hlbiBubyBzeW1ib2wgc2hvdWxkIGJlIHBvcHBlZC4gICovCisgIGlu
dCB5eWxlbiA9IDA7CisKKyAgeXlzc3AgPSB5eXNzID0geXlzc2E7CisgIHl5dnNwID0geXl2cyA9
IHl5dnNhOworICB5eWxzcCA9IHl5bHMgPSB5eWxzYTsKKyAgeXlzdGFja3NpemUgPSBZWUlOSVRE
RVBUSDsKKworICBZWURQUklOVEYgKChwLCAiU3RhcnRpbmcgcGFyc2VcbiIpKTsKKworICB5eXN0
YXRlID0gMDsKKyAgeXllcnJzdGF0dXMgPSAwOworICB5eW5lcnJzID0gMDsKKyAgeXljaGFyID0g
WVlFTVBUWTsgLyogQ2F1c2UgYSB0b2tlbiB0byBiZSByZWFkLiAgKi8KKworLyogVXNlciBpbml0
aWFsaXphdGlvbiBjb2RlLiAgKi8KKyNsaW5lIDc2NSAicGFyc2UueSIgLyogeWFjYy5jOjE0MzEg
ICovCit7CisgICAgUlVCWV9TRVRfWVlMTE9DX09GX05PTkUoeXlsbG9jKTsKK30KKworI2xpbmUg
NTE2MSAicGFyc2UuYyIgLyogeWFjYy5jOjE0MzEgICovCisgIHl5bHNwWzBdID0geXlsbG9jOwor
ICBnb3RvIHl5c2V0c3RhdGU7CisKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0uCit8IHl5bmV3c3RhdGUgLS0gcHVzaCBhIG5l
dyBzdGF0ZSwgd2hpY2ggaXMgZm91bmQgaW4geXlzdGF0ZS4gIHwKK2AtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworeXluZXdzdGF0
ZToKKyAgLyogSW4gYWxsIGNhc2VzLCB3aGVuIHlvdSBnZXQgaGVyZSwgdGhlIHZhbHVlIGFuZCBs
b2NhdGlvbiBzdGFja3MKKyAgICAgaGF2ZSBqdXN0IGJlZW4gcHVzaGVkLiAgU28gcHVzaGluZyBh
IHN0YXRlIGhlcmUgZXZlbnMgdGhlIHN0YWNrcy4gICovCisgIHl5c3NwKys7CisKKworLyotLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS4KK3wgeXluZXdzdGF0ZSAtLSBzZXQgY3VycmVudCBzdGF0ZSAodGhlIHRvcCBvZiB0
aGUgc3RhY2spIHRvIHl5c3RhdGUuICB8CitgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworeXlzZXRzdGF0ZToKKyAg
Knl5c3NwID0gKHl5dHlwZV9pbnQxNikgeXlzdGF0ZTsKKworICBpZiAoeXlzcyArIHl5c3RhY2tz
aXplIC0gMSA8PSB5eXNzcCkKKyNpZiAhZGVmaW5lZCB5eW92ZXJmbG93ICYmICFkZWZpbmVkIFlZ
U1RBQ0tfUkVMT0NBVEUKKyAgICBnb3RvIHl5ZXhoYXVzdGVkbGFiOworI2Vsc2UKKyAgICB7Cisg
ICAgICAvKiBHZXQgdGhlIGN1cnJlbnQgdXNlZCBzaXplIG9mIHRoZSB0aHJlZSBzdGFja3MsIGlu
IGVsZW1lbnRzLiAgKi8KKyAgICAgIFlZU0laRV9UIHl5c2l6ZSA9IChZWVNJWkVfVCkgKHl5c3Nw
IC0geXlzcyArIDEpOworCisjIGlmIGRlZmluZWQgeXlvdmVyZmxvdworICAgICAgeworICAgICAg
ICAvKiBHaXZlIHVzZXIgYSBjaGFuY2UgdG8gcmVhbGxvY2F0ZSB0aGUgc3RhY2suICBVc2UgY29w
aWVzIG9mCisgICAgICAgICAgIHRoZXNlIHNvIHRoYXQgdGhlICYncyBkb24ndCBmb3JjZSB0aGUg
cmVhbCBvbmVzIGludG8KKyAgICAgICAgICAgbWVtb3J5LiAgKi8KKyAgICAgICAgWVlTVFlQRSAq
eXl2czEgPSB5eXZzOworICAgICAgICB5eXR5cGVfaW50MTYgKnl5c3MxID0geXlzczsKKyAgICAg
ICAgWVlMVFlQRSAqeXlsczEgPSB5eWxzOworCisgICAgICAgIC8qIEVhY2ggc3RhY2sgcG9pbnRl
ciBhZGRyZXNzIGlzIGZvbGxvd2VkIGJ5IHRoZSBzaXplIG9mIHRoZQorICAgICAgICAgICBkYXRh
IGluIHVzZSBpbiB0aGF0IHN0YWNrLCBpbiBieXRlcy4gIFRoaXMgdXNlZCB0byBiZSBhCisgICAg
ICAgICAgIGNvbmRpdGlvbmFsIGFyb3VuZCBqdXN0IHRoZSB0d28gZXh0cmEgYXJncywgYnV0IHRo
YXQgbWlnaHQKKyAgICAgICAgICAgYmUgdW5kZWZpbmVkIGlmIHl5b3ZlcmZsb3cgaXMgYSBtYWNy
by4gICovCisgICAgICAgIHl5b3ZlcmZsb3cgKFlZXygibWVtb3J5IGV4aGF1c3RlZCIpLAorICAg
ICAgICAgICAgICAgICAgICAmeXlzczEsIHl5c2l6ZSAqIHNpemVvZiAoKnl5c3NwKSwKKyAgICAg
ICAgICAgICAgICAgICAgJnl5dnMxLCB5eXNpemUgKiBzaXplb2YgKCp5eXZzcCksCisgICAgICAg
ICAgICAgICAgICAgICZ5eWxzMSwgeXlzaXplICogc2l6ZW9mICgqeXlsc3ApLAorICAgICAgICAg
ICAgICAgICAgICAmeXlzdGFja3NpemUpOworICAgICAgICB5eXNzID0geXlzczE7CisgICAgICAg
IHl5dnMgPSB5eXZzMTsKKyAgICAgICAgeXlscyA9IHl5bHMxOworICAgICAgfQorIyBlbHNlIC8q
IGRlZmluZWQgWVlTVEFDS19SRUxPQ0FURSAqLworICAgICAgLyogRXh0ZW5kIHRoZSBzdGFjayBv
dXIgb3duIHdheS4gICovCisgICAgICBpZiAoWVlNQVhERVBUSCA8PSB5eXN0YWNrc2l6ZSkKKyAg
ICAgICAgZ290byB5eWV4aGF1c3RlZGxhYjsKKyAgICAgIHl5c3RhY2tzaXplICo9IDI7CisgICAg
ICBpZiAoWVlNQVhERVBUSCA8IHl5c3RhY2tzaXplKQorICAgICAgICB5eXN0YWNrc2l6ZSA9IFlZ
TUFYREVQVEg7CisKKyAgICAgIHsKKyAgICAgICAgeXl0eXBlX2ludDE2ICp5eXNzMSA9IHl5c3M7
CisgICAgICAgIHVuaW9uIHl5YWxsb2MgKnl5cHRyID0KKyAgICAgICAgICAodW5pb24geXlhbGxv
YyAqKSBZWVNUQUNLX0FMTE9DIChZWVNUQUNLX0JZVEVTICh5eXN0YWNrc2l6ZSkpOworICAgICAg
ICBpZiAoISB5eXB0cikKKyAgICAgICAgICBnb3RvIHl5ZXhoYXVzdGVkbGFiOworICAgICAgICBZ
WVNUQUNLX1JFTE9DQVRFICh5eXNzX2FsbG9jLCB5eXNzKTsKKyAgICAgICAgWVlTVEFDS19SRUxP
Q0FURSAoeXl2c19hbGxvYywgeXl2cyk7CisgICAgICAgIFlZU1RBQ0tfUkVMT0NBVEUgKHl5bHNf
YWxsb2MsIHl5bHMpOworIyB1bmRlZiBZWVNUQUNLX1JFTE9DQVRFCisgICAgICAgIGlmICh5eXNz
MSAhPSB5eXNzYSkKKyAgICAgICAgICBZWVNUQUNLX0ZSRUUgKHl5c3MxKTsKKyAgICAgIH0KKyMg
ZW5kaWYKKworICAgICAgeXlzc3AgPSB5eXNzICsgeXlzaXplIC0gMTsKKyAgICAgIHl5dnNwID0g
eXl2cyArIHl5c2l6ZSAtIDE7CisgICAgICB5eWxzcCA9IHl5bHMgKyB5eXNpemUgLSAxOworCisg
ICAgICBZWURQUklOVEYgKChwLCAiU3RhY2sgc2l6ZSBpbmNyZWFzZWQgdG8gJWx1XG4iLAorICAg
ICAgICAgICAgICAgICAgKHVuc2lnbmVkIGxvbmcpIHl5c3RhY2tzaXplKSk7CisKKyAgICAgIGlm
ICh5eXNzICsgeXlzdGFja3NpemUgLSAxIDw9IHl5c3NwKQorICAgICAgICBZWUFCT1JUOworICAg
IH0KKyNlbmRpZiAvKiAhZGVmaW5lZCB5eW92ZXJmbG93ICYmICFkZWZpbmVkIFlZU1RBQ0tfUkVM
T0NBVEUgKi8KKworICBZWURQUklOVEYgKChwLCAiRW50ZXJpbmcgc3RhdGUgJWRcbiIsIHl5c3Rh
dGUpKTsKKworICBpZiAoeXlzdGF0ZSA9PSBZWUZJTkFMKQorICAgIFlZQUNDRVBUOworCisgIGdv
dG8geXliYWNrdXA7CisKKworLyotLS0tLS0tLS0tLS4KK3wgeXliYWNrdXAuICB8CitgLS0tLS0t
LS0tLS0qLworeXliYWNrdXA6CisgIC8qIERvIGFwcHJvcHJpYXRlIHByb2Nlc3NpbmcgZ2l2ZW4g
dGhlIGN1cnJlbnQgc3RhdGUuICBSZWFkIGEKKyAgICAgbG9va2FoZWFkIHRva2VuIGlmIHdlIG5l
ZWQgb25lIGFuZCBkb24ndCBhbHJlYWR5IGhhdmUgb25lLiAgKi8KKworICAvKiBGaXJzdCB0cnkg
dG8gZGVjaWRlIHdoYXQgdG8gZG8gd2l0aG91dCByZWZlcmVuY2UgdG8gbG9va2FoZWFkIHRva2Vu
LiAgKi8KKyAgeXluID0geXlwYWN0W3l5c3RhdGVdOworICBpZiAoeXlwYWN0X3ZhbHVlX2lzX2Rl
ZmF1bHQgKHl5bikpCisgICAgZ290byB5eWRlZmF1bHQ7CisKKyAgLyogTm90IGtub3duID0+IGdl
dCBhIGxvb2thaGVhZCB0b2tlbiBpZiBkb24ndCBhbHJlYWR5IGhhdmUgb25lLiAgKi8KKworICAv
KiBZWUNIQVIgaXMgZWl0aGVyIFlZRU1QVFkgb3IgWVlFT0Ygb3IgYSB2YWxpZCBsb29rYWhlYWQg
c3ltYm9sLiAgKi8KKyAgaWYgKHl5Y2hhciA9PSBZWUVNUFRZKQorICAgIHsKKyAgICAgIFlZRFBS
SU5URiAoKHAsICJSZWFkaW5nIGEgdG9rZW46ICIpKTsKKyAgICAgIHl5Y2hhciA9IHl5bGV4ICgm
eXlsdmFsLCAmeXlsbG9jLCBwKTsKKyAgICB9CisKKyAgaWYgKHl5Y2hhciA8PSBZWUVPRikKKyAg
ICB7CisgICAgICB5eWNoYXIgPSB5eXRva2VuID0gWVlFT0Y7CisgICAgICBZWURQUklOVEYgKChw
LCAiTm93IGF0IGVuZCBvZiBpbnB1dC5cbiIpKTsKKyAgICB9CisgIGVsc2UKKyAgICB7CisgICAg
ICB5eXRva2VuID0gWVlUUkFOU0xBVEUgKHl5Y2hhcik7CisgICAgICBZWV9TWU1CT0xfUFJJTlQg
KCJOZXh0IHRva2VuIGlzIiwgeXl0b2tlbiwgJnl5bHZhbCwgJnl5bGxvYyk7CisgICAgfQorCisg
IC8qIElmIHRoZSBwcm9wZXIgYWN0aW9uIG9uIHNlZWluZyB0b2tlbiBZWVRPS0VOIGlzIHRvIHJl
ZHVjZSBvciB0bworICAgICBkZXRlY3QgYW4gZXJyb3IsIHRha2UgdGhhdCBhY3Rpb24uICAqLwor
ICB5eW4gKz0geXl0b2tlbjsKKyAgaWYgKHl5biA8IDAgfHwgWVlMQVNUIDwgeXluIHx8IHl5Y2hl
Y2tbeXluXSAhPSB5eXRva2VuKQorICAgIGdvdG8geXlkZWZhdWx0OworICB5eW4gPSB5eXRhYmxl
W3l5bl07CisgIGlmICh5eW4gPD0gMCkKKyAgICB7CisgICAgICBpZiAoeXl0YWJsZV92YWx1ZV9p
c19lcnJvciAoeXluKSkKKyAgICAgICAgZ290byB5eWVycmxhYjsKKyAgICAgIHl5biA9IC15eW47
CisgICAgICBnb3RvIHl5cmVkdWNlOworICAgIH0KKworICAvKiBDb3VudCB0b2tlbnMgc2hpZnRl
ZCBzaW5jZSBlcnJvcjsgYWZ0ZXIgdGhyZWUsIHR1cm4gb2ZmIGVycm9yCisgICAgIHN0YXR1cy4g
ICovCisgIGlmICh5eWVycnN0YXR1cykKKyAgICB5eWVycnN0YXR1cy0tOworCisgIC8qIFNoaWZ0
IHRoZSBsb29rYWhlYWQgdG9rZW4uICAqLworICBZWV9TWU1CT0xfUFJJTlQgKCJTaGlmdGluZyIs
IHl5dG9rZW4sICZ5eWx2YWwsICZ5eWxsb2MpOworCisgIC8qIERpc2NhcmQgdGhlIHNoaWZ0ZWQg
dG9rZW4uICAqLworICB5eWNoYXIgPSBZWUVNUFRZOworCisgIHl5c3RhdGUgPSB5eW47CisgIFlZ
X0lHTk9SRV9NQVlCRV9VTklOSVRJQUxJWkVEX0JFR0lOCisgICorK3l5dnNwID0geXlsdmFsOwor
ICBZWV9JR05PUkVfTUFZQkVfVU5JTklUSUFMSVpFRF9FTkQKKyAgKisreXlsc3AgPSB5eWxsb2M7
CisgIGdvdG8geXluZXdzdGF0ZTsKKworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLgorfCB5eWRlZmF1bHQgLS0gZG8gdGhlIGRl
ZmF1bHQgYWN0aW9uIGZvciB0aGUgY3VycmVudCBzdGF0ZS4gIHwKK2AtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCit5eWRlZmF1bHQ6
CisgIHl5biA9IHl5ZGVmYWN0W3l5c3RhdGVdOworICBpZiAoeXluID09IDApCisgICAgZ290byB5
eWVycmxhYjsKKyAgZ290byB5eXJlZHVjZTsKKworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLgorfCB5eXJlZHVjZSAtLSBkbyBhIHJlZHVjdGlvbi4gIHwKK2AtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLSovCit5eXJlZHVjZToKKyAgLyogeXluIGlzIHRoZSBudW1iZXIgb2Yg
YSBydWxlIHRvIHJlZHVjZSB3aXRoLiAgKi8KKyAgeXlsZW4gPSB5eXIyW3l5bl07CisKKyAgLyog
SWYgWVlMRU4gaXMgbm9uemVybywgaW1wbGVtZW50IHRoZSBkZWZhdWx0IHZhbHVlIG9mIHRoZSBh
Y3Rpb246CisgICAgICckJCA9ICQxJy4KKworICAgICBPdGhlcndpc2UsIHRoZSBmb2xsb3dpbmcg
bGluZSBzZXRzIFlZVkFMIHRvIGdhcmJhZ2UuCisgICAgIFRoaXMgYmVoYXZpb3IgaXMgdW5kb2N1
bWVudGVkIGFuZCBCaXNvbgorICAgICB1c2VycyBzaG91bGQgbm90IHJlbHkgdXBvbiBpdC4gIEFz
c2lnbmluZyB0byBZWVZBTAorICAgICB1bmNvbmRpdGlvbmFsbHkgbWFrZXMgdGhlIHBhcnNlciBh
IGJpdCBzbWFsbGVyLCBhbmQgaXQgYXZvaWRzIGEKKyAgICAgR0NDIHdhcm5pbmcgdGhhdCBZWVZB
TCBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkLiAgKi8KKyAgeXl2YWwgPSB5eXZzcFsxLXl5bGVu
XTsKKworICAvKiBEZWZhdWx0IGxvY2F0aW9uLiAqLworICBZWUxMT0NfREVGQVVMVCAoeXlsb2Ms
ICh5eWxzcCAtIHl5bGVuKSwgeXlsZW4pOworICB5eWVycm9yX3JhbmdlWzFdID0geXlsb2M7Cisg
IFlZX1JFRFVDRV9QUklOVCAoeXluKTsKKyAgc3dpdGNoICh5eW4pCisgICAgeworICAgICAgICBj
YXNlIDI6CisjbGluZSA5MzYgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJ
CVNFVF9MRVhfU1RBVEUoRVhQUl9CRUcpOworCQkJbG9jYWxfcHVzaChwLCBpZm5kZWZfcmlwcGVy
KDEpKzApOworCQkgICAgfQorI2xpbmUgNTM1OCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICov
CisgICAgYnJlYWs7CisKKyAgY2FzZSAzOgorI2xpbmUgOTQxICJwYXJzZS55IiAvKiB5YWNjLmM6
MTY1MiAgKi8KKyAgICB7CisJCSAgICAvKiUlJSovCisJCQlpZiAoKHl5dnNwWzBdLm5vZGUpICYm
ICFjb21waWxlX2Zvcl9ldmFsKSB7CisJCQkgICAgTk9ERSAqbm9kZSA9ICh5eXZzcFswXS5ub2Rl
KTsKKwkJCSAgICAvKiBsYXN0IGV4cHJlc3Npb24gc2hvdWxkIG5vdCBiZSB2b2lkICovCisJCQkg
ICAgaWYgKG5kX3R5cGUobm9kZSkgPT0gTk9ERV9CTE9DSykgeworCQkJCXdoaWxlIChub2RlLT5u
ZF9uZXh0KSB7CisJCQkJICAgIG5vZGUgPSBub2RlLT5uZF9uZXh0OworCQkJCX0KKwkJCQlub2Rl
ID0gbm9kZS0+bmRfaGVhZDsKKwkJCSAgICB9CisJCQkgICAgbm9kZSA9IHJlbW92ZV9iZWdpbihu
b2RlKTsKKwkJCSAgICB2b2lkX2V4cHIocCwgbm9kZSk7CisJCQl9CisJCQlwLT5ldmFsX3RyZWUg
PSBORVdfU0NPUEUoMCwgYmxvY2tfYXBwZW5kKHAsIHAtPmV2YWxfdHJlZSwgKHl5dnNwWzBdLm5v
ZGUpKSwgJih5eWxvYykpOworCQkgICAgLyolICUqLworCQkgICAgLyolIHJpcHBlcltmaW5hbF06
IHByb2dyYW0hKCQyKSAlKi8KKwkJCWxvY2FsX3BvcChwKTsKKwkJICAgIH0KKyNsaW5lIDUzODIg
InBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgNDoKKyNs
aW5lIDk2MyAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkJKHl5dmFsLm5v
ZGUpID0gdm9pZF9zdG10cyhwLCAoeXl2c3BbLTFdLm5vZGUpKTsKKwkJICAgIH0KKyNsaW5lIDUz
OTAgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgNToK
KyNsaW5lIDk2OSAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkgICAgLyol
JSUqLworCQkJKHl5dmFsLm5vZGUpID0gTkVXX0JFR0lOKDAsICYoeXlsb2MpKTsKKwkJICAgIC8q
JSAlKi8KKwkJICAgIC8qJSByaXBwZXI6IHN0bXRzX2FkZCEoc3RtdHNfbmV3ISwgdm9pZF9zdG10
ISkgJSovCisJCSAgICB9CisjbGluZSA1NDAxICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8K
KyAgICBicmVhazsKKworICBjYXNlIDY6CisjbGluZSA5NzYgInBhcnNlLnkiIC8qIHlhY2MuYzox
NjUyICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCSh5eXZhbC5ub2RlKSA9IG5ld2xpbmVf
bm9kZSgoeXl2c3BbMF0ubm9kZSkpOworCQkgICAgLyolICUqLworCQkgICAgLyolIHJpcHBlcjog
c3RtdHNfYWRkIShzdG10c19uZXchLCAkMSkgJSovCisJCSAgICB9CisjbGluZSA1NDEyICJwYXJz
ZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDc6CisjbGluZSA5
ODMgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJ
CSh5eXZhbC5ub2RlKSA9IGJsb2NrX2FwcGVuZChwLCAoeXl2c3BbLTJdLm5vZGUpLCBuZXdsaW5l
X25vZGUoKHl5dnNwWzBdLm5vZGUpKSk7CisJCSAgICAvKiUgJSovCisJCSAgICAvKiUgcmlwcGVy
OiBzdG10c19hZGQhKCQxLCAkMykgJSovCisJCSAgICB9CisjbGluZSA1NDIzICJwYXJzZS5jIiAv
KiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDg6CisjbGluZSA5OTAgInBh
cnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJCSh5eXZhbC5ub2RlKSA9IHJlbW92
ZV9iZWdpbigoeXl2c3BbMF0ubm9kZSkpOworCQkgICAgfQorI2xpbmUgNTQzMSAicGFyc2UuYyIg
LyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSAxMDoKKyNsaW5lIDk5NyAi
cGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkJKHl5dmFsLm5vZGUpID0gKHl5
dnNwWzBdLm5vZGUpOworCQkgICAgfQorI2xpbmUgNTQzOSAicGFyc2UuYyIgLyogeWFjYy5jOjE2
NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSAxMToKKyNsaW5lIDEwMDMgInBhcnNlLnkiIC8q
IHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCXAtPmV2YWxfdHJlZV9i
ZWdpbiA9IGJsb2NrX2FwcGVuZChwLCBwLT5ldmFsX3RyZWVfYmVnaW4sCisJCQkJCQkJICBORVdf
QkVHSU4oKHl5dnNwWy0xXS5ub2RlKSwgJih5eWxvYykpKTsKKwkJCSh5eXZhbC5ub2RlKSA9IE5F
V19CRUdJTigwLCAmKHl5bG9jKSk7CisJCSAgICAvKiUgJSovCisJCSAgICAvKiUgcmlwcGVyOiBC
RUdJTiEoJDIpICUqLworCQkgICAgfQorI2xpbmUgNTQ1MiAicGFyc2UuYyIgLyogeWFjYy5jOjE2
NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSAxMjoKKyNsaW5lIDEwMTUgInBhcnNlLnkiIC8q
IHlhY2MuYzoxNjUyICAqLworICAgIHtpZiAoISh5eXZzcFstMV0ubm9kZSkpIHt5eWVycm9yMSgm
KHl5bHNwWzBdKSwgImVsc2Ugd2l0aG91dCByZXNjdWUgaXMgdXNlbGVzcyIpO319CisjbGluZSA1
NDU4ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDEz
OgorI2xpbmUgMTAxOCAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkgICAg
LyolJSUqLworCQkJKHl5dmFsLm5vZGUpID0gbmV3X2JvZHlzdG10KHAsICh5eXZzcFstNV0ubm9k
ZSksICh5eXZzcFstNF0ubm9kZSksICh5eXZzcFstMV0ubm9kZSksICh5eXZzcFswXS5ub2RlKSwg
Jih5eWxvYykpOworCQkgICAgLyolICUqLworCQkgICAgLyolIHJpcHBlcjogYm9keXN0bXQhKGVz
Y2FwZV9RdW5kZWYoJDEpLCBlc2NhcGVfUXVuZGVmKCQyKSwgZXNjYXBlX1F1bmRlZigkNSksIGVz
Y2FwZV9RdW5kZWYoJDYpKSAlKi8KKwkJICAgIH0KKyNsaW5lIDU0NjkgInBhcnNlLmMiIC8qIHlh
Y2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgMTQ6CisjbGluZSAxMDI3ICJwYXJz
ZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCSAgICAvKiUlJSovCisJCQkoeXl2YWwu
bm9kZSkgPSBuZXdfYm9keXN0bXQocCwgKHl5dnNwWy0yXS5ub2RlKSwgKHl5dnNwWy0xXS5ub2Rl
KSwgMCwgKHl5dnNwWzBdLm5vZGUpLCAmKHl5bG9jKSk7CisJCSAgICAvKiUgJSovCisJCSAgICAv
KiUgcmlwcGVyOiBib2R5c3RtdCEoZXNjYXBlX1F1bmRlZigkMSksIGVzY2FwZV9RdW5kZWYoJDIp
LCBRbmlsLCBlc2NhcGVfUXVuZGVmKCQzKSkgJSovCisJCSAgICB9CisjbGluZSA1NDgwICJwYXJz
ZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDE1OgorI2xpbmUg
MTAzNiAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkJKHl5dmFsLm5vZGUp
ID0gdm9pZF9zdG10cyhwLCAoeXl2c3BbLTFdLm5vZGUpKTsKKwkJICAgIH0KKyNsaW5lIDU0ODgg
InBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgMTY6Cisj
bGluZSAxMDQyICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCSAgICAvKiUl
JSovCisJCQkoeXl2YWwubm9kZSkgPSBORVdfQkVHSU4oMCwgJih5eWxvYykpOworCQkgICAgLyol
ICUqLworCQkgICAgLyolIHJpcHBlcjogc3RtdHNfYWRkIShzdG10c19uZXchLCB2b2lkX3N0bXQh
KSAlKi8KKwkJICAgIH0KKyNsaW5lIDU0OTkgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwor
ICAgIGJyZWFrOworCisgIGNhc2UgMTc6CisjbGluZSAxMDQ5ICJwYXJzZS55IiAvKiB5YWNjLmM6
MTY1MiAgKi8KKyAgICB7CisJCSAgICAvKiUlJSovCisJCQkoeXl2YWwubm9kZSkgPSBuZXdsaW5l
X25vZGUoKHl5dnNwWzBdLm5vZGUpKTsKKwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBwZXI6
IHN0bXRzX2FkZCEoc3RtdHNfbmV3ISwgJDEpICUqLworCQkgICAgfQorI2xpbmUgNTUxMCAicGFy
c2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSAxODoKKyNsaW5l
IDEwNTYgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8K
KwkJCSh5eXZhbC5ub2RlKSA9IGJsb2NrX2FwcGVuZChwLCAoeXl2c3BbLTJdLm5vZGUpLCBuZXds
aW5lX25vZGUoKHl5dnNwWzBdLm5vZGUpKSk7CisJCSAgICAvKiUgJSovCisJCSAgICAvKiUgcmlw
cGVyOiBzdG10c19hZGQhKCQxLCAkMykgJSovCisJCSAgICB9CisjbGluZSA1NTIxICJwYXJzZS5j
IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDE5OgorI2xpbmUgMTA2
MyAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkJKHl5dmFsLm5vZGUpID0g
cmVtb3ZlX2JlZ2luKCh5eXZzcFswXS5ub2RlKSk7CisJCSAgICB9CisjbGluZSA1NTI5ICJwYXJz
ZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDIwOgorI2xpbmUg
MTA2OSAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkJKHl5dmFsLm5vZGUp
ID0gKHl5dnNwWzBdLm5vZGUpOworCQkgICAgfQorI2xpbmUgNTUzNyAicGFyc2UuYyIgLyogeWFj
Yy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSAyMToKKyNsaW5lIDEwNzMgInBhcnNl
LnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJCXl5ZXJyb3IxKCYoeXlsc3BbMF0pLCAi
QkVHSU4gaXMgcGVybWl0dGVkIG9ubHkgYXQgdG9wbGV2ZWwiKTsKKwkJICAgIH0KKyNsaW5lIDU1
NDUgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgMjI6
CisjbGluZSAxMDc3ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCQkoeXl2
YWwubm9kZSkgPSAoeXl2c3BbMF0ubm9kZSk7CisJCSAgICB9CisjbGluZSA1NTUzICJwYXJzZS5j
IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDIzOgorI2xpbmUgMTA4
MSAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAge1NFVF9MRVhfU1RBVEUoRVhQUl9G
TkFNRXxFWFBSX0ZJVEVNKTt9CisjbGluZSA1NTU5ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAg
Ki8KKyAgICBicmVhazsKKworICBjYXNlIDI0OgorI2xpbmUgMTA4MiAicGFyc2UueSIgLyogeWFj
Yy5jOjE2NTIgICovCisgICAgeworCQkgICAgLyolJSUqLworCQkJKHl5dmFsLm5vZGUpID0gTkVX
X0FMSUFTKCh5eXZzcFstMl0ubm9kZSksICh5eXZzcFswXS5ub2RlKSwgJih5eWxvYykpOworCQkg
ICAgLyolICUqLworCQkgICAgLyolIHJpcHBlcjogYWxpYXMhKCQyLCAkNCkgJSovCisJCSAgICB9
CisjbGluZSA1NTcwICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKwor
ICBjYXNlIDI1OgorI2xpbmUgMTA4OSAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAg
eworCQkgICAgLyolJSUqLworCQkJKHl5dmFsLm5vZGUpID0gTkVXX1ZBTElBUygoeXl2c3BbLTFd
LmlkKSwgKHl5dnNwWzBdLmlkKSwgJih5eWxvYykpOworCQkgICAgLyolICUqLworCQkgICAgLyol
IHJpcHBlcjogdmFyX2FsaWFzISgkMiwgJDMpICUqLworCQkgICAgfQorI2xpbmUgNTU4MSAicGFy
c2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSAyNjoKKyNsaW5l
IDEwOTYgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8K
KwkJCWNoYXIgYnVmWzJdOworCQkJYnVmWzBdID0gJyQnOworCQkJYnVmWzFdID0gKGNoYXIpKHl5
dnNwWzBdLm5vZGUpLT5uZF9udGg7CisJCQkoeXl2YWwubm9kZSkgPSBORVdfVkFMSUFTKCh5eXZz
cFstMV0uaWQpLCByYl9pbnRlcm4yKGJ1ZiwgMiksICYoeXlsb2MpKTsKKwkJICAgIC8qJSAlKi8K
KwkJICAgIC8qJSByaXBwZXI6IHZhcl9hbGlhcyEoJDIsICQzKSAlKi8KKwkJICAgIH0KKyNsaW5l
IDU1OTUgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2Ug
Mjc6CisjbGluZSAxMTA2ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCSAg
ICAvKiUlJSovCisJCQl5eWVycm9yMSgmKHl5bHNwWzBdKSwgImNhbid0IG1ha2UgYWxpYXMgZm9y
IHRoZSBudW1iZXIgdmFyaWFibGVzIik7CisJCQkoeXl2YWwubm9kZSkgPSBORVdfQkVHSU4oMCwg
Jih5eWxvYykpOworCQkgICAgLyolICUqLworCQkgICAgLyolIHJpcHBlcltlcnJvcl06IGFsaWFz
X2Vycm9yISh2YXJfYWxpYXMhKCQyLCAkMykpICUqLworCQkgICAgfQorI2xpbmUgNTYwNyAicGFy
c2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSAyODoKKyNsaW5l
IDExMTQgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8K
KwkJCSh5eXZhbC5ub2RlKSA9ICh5eXZzcFswXS5ub2RlKTsKKwkJICAgIC8qJSAlKi8KKwkJICAg
IC8qJSByaXBwZXI6IHVuZGVmISgkMikgJSovCisJCSAgICB9CisjbGluZSA1NjE4ICJwYXJzZS5j
IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDI5OgorI2xpbmUgMTEy
MSAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkgICAgLyolJSUqLworCQkJ
KHl5dmFsLm5vZGUpID0gbmV3X2lmKHAsICh5eXZzcFswXS5ub2RlKSwgcmVtb3ZlX2JlZ2luKCh5
eXZzcFstMl0ubm9kZSkpLCAwLCAmKHl5bG9jKSk7CisJCQlmaXhwb3MoKHl5dmFsLm5vZGUpLCAo
eXl2c3BbMF0ubm9kZSkpOworCQkgICAgLyolICUqLworCQkgICAgLyolIHJpcHBlcjogaWZfbW9k
ISgkMywgJDEpICUqLworCQkgICAgfQorI2xpbmUgNTYzMCAicGFyc2UuYyIgLyogeWFjYy5jOjE2
NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSAzMDoKKyNsaW5lIDExMjkgInBhcnNlLnkiIC8q
IHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCSh5eXZhbC5ub2RlKSA9
IG5ld191bmxlc3MocCwgKHl5dnNwWzBdLm5vZGUpLCByZW1vdmVfYmVnaW4oKHl5dnNwWy0yXS5u
b2RlKSksIDAsICYoeXlsb2MpKTsKKwkJCWZpeHBvcygoeXl2YWwubm9kZSksICh5eXZzcFswXS5u
b2RlKSk7CisJCSAgICAvKiUgJSovCisJCSAgICAvKiUgcmlwcGVyOiB1bmxlc3NfbW9kISgkMywg
JDEpICUqLworCQkgICAgfQorI2xpbmUgNTY0MiAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICov
CisgICAgYnJlYWs7CisKKyAgY2FzZSAzMToKKyNsaW5lIDExMzcgInBhcnNlLnkiIC8qIHlhY2Mu
YzoxNjUyICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCWlmICgoeXl2c3BbLTJdLm5vZGUp
ICYmIG5kX3R5cGUoKHl5dnNwWy0yXS5ub2RlKSkgPT0gTk9ERV9CRUdJTikgeworCQkJICAgICh5
eXZhbC5ub2RlKSA9IE5FV19XSElMRShjb25kKHAsICh5eXZzcFswXS5ub2RlKSwgJih5eWxzcFsw
XSkpLCAoeXl2c3BbLTJdLm5vZGUpLT5uZF9ib2R5LCAwLCAmKHl5bG9jKSk7CisJCQl9CisJCQll
bHNlIHsKKwkJCSAgICAoeXl2YWwubm9kZSkgPSBORVdfV0hJTEUoY29uZChwLCAoeXl2c3BbMF0u
bm9kZSksICYoeXlsc3BbMF0pKSwgKHl5dnNwWy0yXS5ub2RlKSwgMSwgJih5eWxvYykpOworCQkJ
fQorCQkgICAgLyolICUqLworCQkgICAgLyolIHJpcHBlcjogd2hpbGVfbW9kISgkMywgJDEpICUq
LworCQkgICAgfQorI2xpbmUgNTY1OCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAg
YnJlYWs7CisKKyAgY2FzZSAzMjoKKyNsaW5lIDExNDkgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUy
ICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCWlmICgoeXl2c3BbLTJdLm5vZGUpICYmIG5k
X3R5cGUoKHl5dnNwWy0yXS5ub2RlKSkgPT0gTk9ERV9CRUdJTikgeworCQkJICAgICh5eXZhbC5u
b2RlKSA9IE5FV19VTlRJTChjb25kKHAsICh5eXZzcFswXS5ub2RlKSwgJih5eWxzcFswXSkpLCAo
eXl2c3BbLTJdLm5vZGUpLT5uZF9ib2R5LCAwLCAmKHl5bG9jKSk7CisJCQl9CisJCQllbHNlIHsK
KwkJCSAgICAoeXl2YWwubm9kZSkgPSBORVdfVU5USUwoY29uZChwLCAoeXl2c3BbMF0ubm9kZSks
ICYoeXlsc3BbMF0pKSwgKHl5dnNwWy0yXS5ub2RlKSwgMSwgJih5eWxvYykpOworCQkJfQorCQkg
ICAgLyolICUqLworCQkgICAgLyolIHJpcHBlcjogdW50aWxfbW9kISgkMywgJDEpICUqLworCQkg
ICAgfQorI2xpbmUgNTY3NCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7
CisKKyAgY2FzZSAzMzoKKyNsaW5lIDExNjEgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwor
ICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCU5PREUgKnJlc3E7CisJCQlZWUxUWVBFIGxvYyA9IGNv
ZGVfbG9jX2dlbigmKHl5bHNwWy0xXSksICYoeXlsc3BbMF0pKTsKKwkJCXJlc3EgPSBORVdfUkVT
Qk9EWSgwLCByZW1vdmVfYmVnaW4oKHl5dnNwWzBdLm5vZGUpKSwgMCwgJmxvYyk7CisJCQkoeXl2
YWwubm9kZSkgPSBORVdfUkVTQ1VFKHJlbW92ZV9iZWdpbigoeXl2c3BbLTJdLm5vZGUpKSwgcmVz
cSwgMCwgJih5eWxvYykpOworCQkgICAgLyolICUqLworCQkgICAgLyolIHJpcHBlcjogcmVzY3Vl
X21vZCEoJDEsICQzKSAlKi8KKwkJICAgIH0KKyNsaW5lIDU2ODggInBhcnNlLmMiIC8qIHlhY2Mu
YzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgMzQ6CisjbGluZSAxMTcxICJwYXJzZS55
IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCQlpZiAocC0+aW5fZGVmKSB7CisJCQkgICAg
cmJfd2FybjAoIkVORCBpbiBtZXRob2Q7IHVzZSBhdF9leGl0Iik7CisJCQl9CisJCSAgICAvKiUl
JSovCisJCQl7CisJCQkgICAgTk9ERSAqc2NvcGUgPSBORVdfTk9ERSgKKwkJCQlOT0RFX1NDT1BF
LCAwIC8qIHRibCAqLywgKHl5dnNwWy0xXS5ub2RlKSAvKiBib2R5ICovLCAwIC8qIGFyZ3MgKi8s
ICYoeXlsb2MpKTsKKwkJCSAgICAoeXl2YWwubm9kZSkgPSBORVdfUE9TVEVYRShzY29wZSwgJih5
eWxvYykpOworCQkJfQorCQkgICAgLyolICUqLworCQkgICAgLyolIHJpcHBlcjogRU5EISgkMykg
JSovCisJCSAgICB9CisjbGluZSA1NzA2ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAg
ICBicmVhazsKKworICBjYXNlIDM2OgorI2xpbmUgMTE4NiAicGFyc2UueSIgLyogeWFjYy5jOjE2
NTIgICovCisgICAgeworCQkgICAgLyolJSUqLworCQkJdmFsdWVfZXhwcigoeXl2c3BbMF0ubm9k
ZSkpOworCQkJKHl5dmFsLm5vZGUpID0gbm9kZV9hc3NpZ24ocCwgKHl5dnNwWy0yXS5ub2RlKSwg
KHl5dnNwWzBdLm5vZGUpLCAmKHl5bG9jKSk7CisJCSAgICAvKiUgJSovCisJCSAgICAvKiUgcmlw
cGVyOiBtYXNzaWduISgkMSwgJDMpICUqLworCQkgICAgfQorI2xpbmUgNTcxOCAicGFyc2UuYyIg
LyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSAzNzoKKyNsaW5lIDExOTQg
InBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCXZh
bHVlX2V4cHIoKHl5dnNwWzBdLm5vZGUpKTsKKwkJCSh5eXZhbC5ub2RlKSA9IG5vZGVfYXNzaWdu
KHAsICh5eXZzcFstMl0ubm9kZSksICh5eXZzcFswXS5ub2RlKSwgJih5eWxvYykpOworCQkgICAg
LyolICUqLworCQkgICAgLyolIHJpcHBlcjogYXNzaWduISgkMSwgJDMpICUqLworCQkgICAgfQor
I2xpbmUgNTczMCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAg
Y2FzZSAzODoKKyNsaW5lIDEyMDIgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsK
KwkJICAgIC8qJSUlKi8KKwkJCSh5eXZhbC5ub2RlKSA9IG5vZGVfYXNzaWduKHAsICh5eXZzcFst
Ml0ubm9kZSksICh5eXZzcFswXS5ub2RlKSwgJih5eWxvYykpOworCQkgICAgLyolICUqLworCQkg
ICAgLyolIHJpcHBlcjogbWFzc2lnbiEoJDEsICQzKSAlKi8KKwkJICAgIH0KKyNsaW5lIDU3NDEg
InBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgNDA6Cisj
bGluZSAxMjEyICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCSAgICAvKiUl
JSovCisJCQl2YWx1ZV9leHByKCh5eXZzcFswXS5ub2RlKSk7CisJCQkoeXl2YWwubm9kZSkgPSBu
b2RlX2Fzc2lnbihwLCAoeXl2c3BbLTJdLm5vZGUpLCAoeXl2c3BbMF0ubm9kZSksICYoeXlsb2Mp
KTsKKwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBwZXI6IGFzc2lnbiEoJDEsICQzKSAlKi8K
KwkJICAgIH0KKyNsaW5lIDU3NTMgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJy
ZWFrOworCisgIGNhc2UgNDE6CisjbGluZSAxMjIwICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAg
Ki8KKyAgICB7CisJCSAgICAvKiUlJSovCisJCQl2YWx1ZV9leHByKCh5eXZzcFswXS5ub2RlKSk7
CisJCQkoeXl2YWwubm9kZSkgPSBuZXdfb3BfYXNzaWduKHAsICh5eXZzcFstMl0ubm9kZSksICh5
eXZzcFstMV0uaWQpLCAoeXl2c3BbMF0ubm9kZSksICYoeXlsb2MpKTsKKwkJICAgIC8qJSAlKi8K
KwkJICAgIC8qJSByaXBwZXI6IG9wYXNzaWduISgkMSwgJDIsICQzKSAlKi8KKwkJICAgIH0KKyNs
aW5lIDU3NjUgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNh
c2UgNDI6CisjbGluZSAxMjI4ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJ
CSAgICAvKiUlJSovCisJCQl2YWx1ZV9leHByKCh5eXZzcFswXS5ub2RlKSk7CisJCQkoeXl2YWwu
bm9kZSkgPSBuZXdfYXJ5X29wX2Fzc2lnbihwLCAoeXl2c3BbLTVdLm5vZGUpLCAoeXl2c3BbLTNd
Lm5vZGUpLCAoeXl2c3BbLTFdLmlkKSwgKHl5dnNwWzBdLm5vZGUpLCAmKHl5bHNwWy0zXSksICYo
eXlsb2MpKTsKKwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBwZXI6IG9wYXNzaWduIShhcmVm
X2ZpZWxkISgkMSwgZXNjYXBlX1F1bmRlZigkMykpLCAkNSwgJDYpICUqLworCisJCSAgICB9Cisj
bGluZSA1Nzc4ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBj
YXNlIDQzOgorI2xpbmUgMTIzNyAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgewor
CQkgICAgLyolJSUqLworCQkJdmFsdWVfZXhwcigoeXl2c3BbMF0ubm9kZSkpOworCQkJKHl5dmFs
Lm5vZGUpID0gbmV3X2F0dHJfb3BfYXNzaWduKHAsICh5eXZzcFstNF0ubm9kZSksICh5eXZzcFst
M10uaWQpLCAoeXl2c3BbLTJdLmlkKSwgKHl5dnNwWy0xXS5pZCksICh5eXZzcFswXS5ub2RlKSwg
Jih5eWxvYykpOworCQkgICAgLyolICUqLworCQkgICAgLyolIHJpcHBlcjogb3Bhc3NpZ24hKGZp
ZWxkISgkMSwgJDIsICQzKSwgJDQsICQ1KSAlKi8KKwkJICAgIH0KKyNsaW5lIDU3OTAgInBhcnNl
LmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgNDQ6CisjbGluZSAx
MjQ1ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCSAgICAvKiUlJSovCisJ
CQl2YWx1ZV9leHByKCh5eXZzcFswXS5ub2RlKSk7CisJCQkoeXl2YWwubm9kZSkgPSBuZXdfYXR0
cl9vcF9hc3NpZ24ocCwgKHl5dnNwWy00XS5ub2RlKSwgKHl5dnNwWy0zXS5pZCksICh5eXZzcFst
Ml0uaWQpLCAoeXl2c3BbLTFdLmlkKSwgKHl5dnNwWzBdLm5vZGUpLCAmKHl5bG9jKSk7CisJCSAg
ICAvKiUgJSovCisJCSAgICAvKiUgcmlwcGVyOiBvcGFzc2lnbiEoZmllbGQhKCQxLCAkMiwgJDMp
LCAkNCwgJDUpICUqLworCQkgICAgfQorI2xpbmUgNTgwMiAicGFyc2UuYyIgLyogeWFjYy5jOjE2
NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSA0NToKKyNsaW5lIDEyNTMgInBhcnNlLnkiIC8q
IHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCVlZTFRZUEUgbG9jID0g
Y29kZV9sb2NfZ2VuKCYoeXlsc3BbLTRdKSwgJih5eWxzcFstMl0pKTsKKwkJCSh5eXZhbC5ub2Rl
KSA9IG5ld19jb25zdF9vcF9hc3NpZ24ocCwgTkVXX0NPTE9OMigoeXl2c3BbLTRdLm5vZGUpLCAo
eXl2c3BbLTJdLmlkKSwgJmxvYyksICh5eXZzcFstMV0uaWQpLCAoeXl2c3BbMF0ubm9kZSksICYo
eXlsb2MpKTsKKwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBwZXI6IG9wYXNzaWduIShjb25z
dF9wYXRoX2ZpZWxkISgkMSwgJDMpLCAkNCwgJDUpICUqLworCQkgICAgfQorI2xpbmUgNTgxNCAi
cGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSA0NjoKKyNs
aW5lIDEyNjEgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJICAgIC8qJSUl
Ki8KKwkJCXZhbHVlX2V4cHIoKHl5dnNwWzBdLm5vZGUpKTsKKwkJCSh5eXZhbC5ub2RlKSA9IG5l
d19hdHRyX29wX2Fzc2lnbihwLCAoeXl2c3BbLTRdLm5vZGUpLCBJRDJWQUwoaWRDT0xPTjIpLCAo
eXl2c3BbLTJdLmlkKSwgKHl5dnNwWy0xXS5pZCksICh5eXZzcFswXS5ub2RlKSwgJih5eWxvYykp
OworCQkgICAgLyolICUqLworCQkgICAgLyolIHJpcHBlcjogb3Bhc3NpZ24hKGZpZWxkISgkMSwg
SUQyVkFMKGlkQ09MT04yKSwgJDMpLCAkNCwgJDUpICUqLworCQkgICAgfQorI2xpbmUgNTgyNiAi
cGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSA0NzoKKyNs
aW5lIDEyNjkgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJICAgIC8qJSUl
Ki8KKwkJCXJiX2JhY2tyZWZfZXJyb3IocCwgKHl5dnNwWy0yXS5ub2RlKSk7CisJCQkoeXl2YWwu
bm9kZSkgPSBORVdfQkVHSU4oMCwgJih5eWxvYykpOworCQkgICAgLyolICUqLworCQkgICAgLyol
IHJpcHBlcltlcnJvcl06IGFzc2lnbl9lcnJvciEoYXNzaWduISh2YXJfZmllbGQocCwgJDEpLCAk
MykpICUqLworCQkgICAgfQorI2xpbmUgNTgzOCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICov
CisgICAgYnJlYWs7CisKKyAgY2FzZSA0ODoKKyNsaW5lIDEyNzkgInBhcnNlLnkiIC8qIHlhY2Mu
YzoxNjUyICAqLworICAgIHsKKwkJCXZhbHVlX2V4cHIoKHl5dnNwWzBdLm5vZGUpKTsKKwkJCSh5
eXZhbC5ub2RlKSA9ICh5eXZzcFswXS5ub2RlKTsKKwkJICAgIH0KKyNsaW5lIDU4NDcgInBhcnNl
LmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgNDk6CisjbGluZSAx
Mjg0ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCSAgICAvKiUlJSovCisJ
CQlZWUxUWVBFIGxvYyA9IGNvZGVfbG9jX2dlbigmKHl5bHNwWy0xXSksICYoeXlsc3BbMF0pKTsK
KwkJCXZhbHVlX2V4cHIoKHl5dnNwWy0yXS5ub2RlKSk7CisJCQkoeXl2YWwubm9kZSkgPSBORVdf
UkVTQ1VFKCh5eXZzcFstMl0ubm9kZSksIE5FV19SRVNCT0RZKDAsIHJlbW92ZV9iZWdpbigoeXl2
c3BbMF0ubm9kZSkpLCAwLCAmbG9jKSwgMCwgJih5eWxvYykpOworCQkgICAgLyolICUqLworCQkg
ICAgLyolIHJpcHBlcjogcmVzY3VlX21vZCEoJDEsICQzKSAlKi8KKwkJICAgIH0KKyNsaW5lIDU4
NjAgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgNTI6
CisjbGluZSAxMjk3ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCQkoeXl2
YWwubm9kZSkgPSBsb2dvcChwLCBpZEFORCwgKHl5dnNwWy0yXS5ub2RlKSwgKHl5dnNwWzBdLm5v
ZGUpLCAmKHl5bHNwWy0xXSksICYoeXlsb2MpKTsKKwkJICAgIH0KKyNsaW5lIDU4NjggInBhcnNl
LmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgNTM6CisjbGluZSAx
MzAxICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCQkoeXl2YWwubm9kZSkg
PSBsb2dvcChwLCBpZE9SLCAoeXl2c3BbLTJdLm5vZGUpLCAoeXl2c3BbMF0ubm9kZSksICYoeXls
c3BbLTFdKSwgJih5eWxvYykpOworCQkgICAgfQorI2xpbmUgNTg3NiAicGFyc2UuYyIgLyogeWFj
Yy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSA1NDoKKyNsaW5lIDEzMDUgInBhcnNl
LnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJCSh5eXZhbC5ub2RlKSA9IGNhbGxfdW5p
X29wKHAsIG1ldGhvZF9jb25kKHAsICh5eXZzcFswXS5ub2RlKSwgJih5eWxzcFswXSkpLCBNRVRI
T0RfTk9ULCAmKHl5bHNwWy0yXSksICYoeXlsb2MpKTsKKwkJICAgIH0KKyNsaW5lIDU4ODQgInBh
cnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgNTU6CisjbGlu
ZSAxMzA5ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCQkoeXl2YWwubm9k
ZSkgPSBjYWxsX3VuaV9vcChwLCBtZXRob2RfY29uZChwLCAoeXl2c3BbMF0ubm9kZSksICYoeXls
c3BbMF0pKSwgJyEnLCAmKHl5bHNwWy0xXSksICYoeXlsb2MpKTsKKwkJICAgIH0KKyNsaW5lIDU4
OTIgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgNTc6
CisjbGluZSAxMzE2ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCQl2YWx1
ZV9leHByKCh5eXZzcFswXS5ub2RlKSk7CisJCQkoeXl2YWwubm9kZSkgPSAoeXl2c3BbMF0ubm9k
ZSk7CisJCSAgICB9CisjbGluZSA1OTAxICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAg
ICBicmVhazsKKworICBjYXNlIDU4OgorI2xpbmUgMTMyMiAicGFyc2UueSIgLyogeWFjYy5jOjE2
NTIgICovCisgICAge0NPTkRfUFVTSCgxKTt9CisjbGluZSA1OTA3ICJwYXJzZS5jIiAvKiB5YWNj
LmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDU5OgorI2xpbmUgMTMyMiAicGFyc2Uu
eSIgLyogeWFjYy5jOjE2NTIgICovCisgICAge0NPTkRfUE9QKCk7fQorI2xpbmUgNTkxMyAicGFy
c2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSA2MDoKKyNsaW5l
IDEzMjMgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJCSh5eXZhbC5ub2Rl
KSA9ICh5eXZzcFstMl0ubm9kZSk7CisJCSAgICB9CisjbGluZSA1OTIxICJwYXJzZS5jIiAvKiB5
YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDY0OgorI2xpbmUgMTMzNCAicGFy
c2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkgICAgLyolJSUqLworCQkJKHl5dmFs
Lm5vZGUpID0gbmV3X3FjYWxsKHAsICh5eXZzcFstMl0uaWQpLCAoeXl2c3BbLTNdLm5vZGUpLCAo
eXl2c3BbLTFdLmlkKSwgKHl5dnNwWzBdLm5vZGUpLCAmKHl5bHNwWy0xXSksICYoeXlsb2MpKTsK
KwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBwZXI6IG1ldGhvZF9hZGRfYXJnIShjYWxsISgk
MSwgJDIsICQzKSwgJDQpICUqLworCQkgICAgfQorI2xpbmUgNTkzMiAicGFyc2UuYyIgLyogeWFj
Yy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSA2NToKKyNsaW5lIDEzNDMgInBhcnNl
LnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJCSh5eXZhbC5ub2RlKSA9ICh5eXZzcFst
MV0ubm9kZSk7CisJCSAgICAvKiUlJSovCisJCQkoeXl2YWwubm9kZSktPm5kX2JvZHktPm5kX2xv
YyA9IGNvZGVfbG9jX2dlbigmKHl5bHNwWy0yXSksICYoeXlsc3BbMF0pKTsKKwkJCW5kX3NldF9s
aW5lKCh5eXZhbC5ub2RlKSwgKHl5bHNwWy0yXSkuZW5kX3Bvcy5saW5lbm8pOworCQkgICAgLyol
ICUqLworCQkgICAgfQorI2xpbmUgNTk0NCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisg
ICAgYnJlYWs7CisKKyAgY2FzZSA2NjoKKyNsaW5lIDEzNTMgInBhcnNlLnkiIC8qIHlhY2MuYzox
NjUyICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCSh5eXZhbC5ub2RlKSA9IE5FV19GQ0FM
TCgoeXl2c3BbMF0uaWQpLCAwLCAmKHl5bG9jKSk7CisJCQluZF9zZXRfbGluZSgoeXl2YWwubm9k
ZSksIHAtPnRva2xpbmUpOworCQkgICAgLyolICUqLworCQkgICAgLyolIHJpcHBlcjogJDEgJSov
CisJCSAgICB9CisjbGluZSA1OTU2ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBi
cmVhazsKKworICBjYXNlIDY3OgorI2xpbmUgMTM2MyAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIg
ICovCisgICAgeworCQkgICAgLyolJSUqLworCQkJKHl5dnNwWy0xXS5ub2RlKS0+bmRfYXJncyA9
ICh5eXZzcFswXS5ub2RlKTsKKwkJCW5kX3NldF9sYXN0X2xvYygoeXl2c3BbLTFdLm5vZGUpLCAo
eXlsc3BbMF0pLmVuZF9wb3MpOworCQkJKHl5dmFsLm5vZGUpID0gKHl5dnNwWy0xXS5ub2RlKTsK
KwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBwZXI6IGNvbW1hbmQhKCQxLCAkMikgJSovCisJ
CSAgICB9CisjbGluZSA1OTY5ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVh
azsKKworICBjYXNlIDY4OgorI2xpbmUgMTM3MiAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICov
CisgICAgeworCQkgICAgLyolJSUqLworCQkJYmxvY2tfZHVwX2NoZWNrKHAsICh5eXZzcFstMV0u
bm9kZSksICh5eXZzcFswXS5ub2RlKSk7CisJCQkoeXl2c3BbLTJdLm5vZGUpLT5uZF9hcmdzID0g
KHl5dnNwWy0xXS5ub2RlKTsKKwkJCSh5eXZhbC5ub2RlKSA9IG1ldGhvZF9hZGRfYmxvY2socCwg
KHl5dnNwWy0yXS5ub2RlKSwgKHl5dnNwWzBdLm5vZGUpLCAmKHl5bG9jKSk7CisJCQlmaXhwb3Mo
KHl5dmFsLm5vZGUpLCAoeXl2c3BbLTJdLm5vZGUpKTsKKwkJCW5kX3NldF9sYXN0X2xvYygoeXl2
c3BbLTJdLm5vZGUpLCAoeXlsc3BbLTFdKS5lbmRfcG9zKTsKKwkJICAgIC8qJSAlKi8KKwkJICAg
IC8qJSByaXBwZXI6IG1ldGhvZF9hZGRfYmxvY2shKGNvbW1hbmQhKCQxLCAkMiksICQzKSAlKi8K
KwkJICAgIH0KKyNsaW5lIDU5ODQgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJy
ZWFrOworCisgIGNhc2UgNjk6CisjbGluZSAxMzgzICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAg
Ki8KKyAgICB7CisJCSAgICAvKiUlJSovCisJCQkoeXl2YWwubm9kZSkgPSBuZXdfY29tbWFuZF9x
Y2FsbChwLCAoeXl2c3BbLTJdLmlkKSwgKHl5dnNwWy0zXS5ub2RlKSwgKHl5dnNwWy0xXS5pZCks
ICh5eXZzcFswXS5ub2RlKSwgUW51bGwsICYoeXlsc3BbLTFdKSwgJih5eWxvYykpOworCQkgICAg
LyolICUqLworCQkgICAgLyolIHJpcHBlcjogY29tbWFuZF9jYWxsISgkMSwgJDIsICQzLCAkNCkg
JSovCisJCSAgICB9CisjbGluZSA1OTk1ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAg
ICBicmVhazsKKworICBjYXNlIDcwOgorI2xpbmUgMTM5MCAicGFyc2UueSIgLyogeWFjYy5jOjE2
NTIgICovCisgICAgeworCQkgICAgLyolJSUqLworCQkJKHl5dmFsLm5vZGUpID0gbmV3X2NvbW1h
bmRfcWNhbGwocCwgKHl5dnNwWy0zXS5pZCksICh5eXZzcFstNF0ubm9kZSksICh5eXZzcFstMl0u
aWQpLCAoeXl2c3BbLTFdLm5vZGUpLCAoeXl2c3BbMF0ubm9kZSksICYoeXlsc3BbLTJdKSwgJih5
eWxvYykpOworCQkgICAgLyolICUqLworCQkgICAgLyolIHJpcHBlcjogbWV0aG9kX2FkZF9ibG9j
ayEoY29tbWFuZF9jYWxsISgkMSwgJDIsICQzLCAkNCksICQ1KSAlKi8KKwkJICAgIH0KKyNsaW5l
IDYwMDYgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2Ug
NzE6CisjbGluZSAxMzk3ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCSAg
ICAvKiUlJSovCisJCQkoeXl2YWwubm9kZSkgPSBuZXdfY29tbWFuZF9xY2FsbChwLCBJRDJWQUwo
aWRDT0xPTjIpLCAoeXl2c3BbLTNdLm5vZGUpLCAoeXl2c3BbLTFdLmlkKSwgKHl5dnNwWzBdLm5v
ZGUpLCBRbnVsbCwgJih5eWxzcFstMV0pLCAmKHl5bG9jKSk7CisJCSAgICAvKiUgJSovCisJCSAg
ICAvKiUgcmlwcGVyOiBjb21tYW5kX2NhbGwhKCQxLCBJRDJWQUwoaWRDT0xPTjIpLCAkMywgJDQp
ICUqLworCQkgICAgfQorI2xpbmUgNjAxNyAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisg
ICAgYnJlYWs7CisKKyAgY2FzZSA3MjoKKyNsaW5lIDE0MDQgInBhcnNlLnkiIC8qIHlhY2MuYzox
NjUyICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCSh5eXZhbC5ub2RlKSA9IG5ld19jb21t
YW5kX3FjYWxsKHAsIElEMlZBTChpZENPTE9OMiksICh5eXZzcFstNF0ubm9kZSksICh5eXZzcFst
Ml0uaWQpLCAoeXl2c3BbLTFdLm5vZGUpLCAoeXl2c3BbMF0ubm9kZSksICYoeXlsc3BbLTJdKSwg
Jih5eWxvYykpOworCQkgICAgLyolICUqLworCQkgICAgLyolIHJpcHBlcjogbWV0aG9kX2FkZF9i
bG9jayEoY29tbWFuZF9jYWxsISgkMSwgSUQyVkFMKGlkQ09MT04yKSwgJDMsICQ0KSwgJDUpICUq
LworCQkgICB9CisjbGluZSA2MDI4ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBi
cmVhazsKKworICBjYXNlIDczOgorI2xpbmUgMTQxMSAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIg
ICovCisgICAgeworCQkgICAgLyolJSUqLworCQkJKHl5dmFsLm5vZGUpID0gTkVXX1NVUEVSKCh5
eXZzcFswXS5ub2RlKSwgJih5eWxvYykpOworCQkJZml4cG9zKCh5eXZhbC5ub2RlKSwgKHl5dnNw
WzBdLm5vZGUpKTsKKwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBwZXI6IHN1cGVyISgkMikg
JSovCisJCSAgICB9CisjbGluZSA2MDQwICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAg
ICBicmVhazsKKworICBjYXNlIDc0OgorI2xpbmUgMTQxOSAicGFyc2UueSIgLyogeWFjYy5jOjE2
NTIgICovCisgICAgeworCQkgICAgLyolJSUqLworCQkJKHl5dmFsLm5vZGUpID0gbmV3X3lpZWxk
KHAsICh5eXZzcFswXS5ub2RlKSwgJih5eWxvYykpOworCQkJZml4cG9zKCh5eXZhbC5ub2RlKSwg
KHl5dnNwWzBdLm5vZGUpKTsKKwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBwZXI6IHlpZWxk
ISgkMikgJSovCisJCSAgICB9CisjbGluZSA2MDUyICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAg
Ki8KKyAgICBicmVhazsKKworICBjYXNlIDc1OgorI2xpbmUgMTQyNyAicGFyc2UueSIgLyogeWFj
Yy5jOjE2NTIgICovCisgICAgeworCQkgICAgLyolJSUqLworCQkJKHl5dmFsLm5vZGUpID0gTkVX
X1JFVFVSTihyZXRfYXJncyhwLCAoeXl2c3BbMF0ubm9kZSkpLCAmKHl5bG9jKSk7CisJCSAgICAv
KiUgJSovCisJCSAgICAvKiUgcmlwcGVyOiByZXR1cm4hKCQyKSAlKi8KKwkJICAgIH0KKyNsaW5l
IDYwNjMgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2Ug
NzY6CisjbGluZSAxNDM0ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCSAg
ICAvKiUlJSovCisJCQkoeXl2YWwubm9kZSkgPSBORVdfQlJFQUsocmV0X2FyZ3MocCwgKHl5dnNw
WzBdLm5vZGUpKSwgJih5eWxvYykpOworCQkgICAgLyolICUqLworCQkgICAgLyolIHJpcHBlcjog
YnJlYWshKCQyKSAlKi8KKwkJICAgIH0KKyNsaW5lIDYwNzQgInBhcnNlLmMiIC8qIHlhY2MuYzox
NjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgNzc6CisjbGluZSAxNDQxICJwYXJzZS55IiAv
KiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCSAgICAvKiUlJSovCisJCQkoeXl2YWwubm9kZSkg
PSBORVdfTkVYVChyZXRfYXJncyhwLCAoeXl2c3BbMF0ubm9kZSkpLCAmKHl5bG9jKSk7CisJCSAg
ICAvKiUgJSovCisJCSAgICAvKiUgcmlwcGVyOiBuZXh0ISgkMikgJSovCisJCSAgICB9CisjbGlu
ZSA2MDg1ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNl
IDc5OgorI2xpbmUgMTQ1MSAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkg
ICAgLyolJSUqLworCQkJKHl5dmFsLm5vZGUpID0gKHl5dnNwWy0xXS5ub2RlKTsKKwkJICAgIC8q
JSAlKi8KKwkJICAgIC8qJSByaXBwZXI6IG1saHNfcGFyZW4hKCQyKSAlKi8KKwkJICAgIH0KKyNs
aW5lIDYwOTYgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNh
c2UgODE6CisjbGluZSAxNDYxICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJ
CSAgICAvKiUlJSovCisJCQkoeXl2YWwubm9kZSkgPSBORVdfTUFTR04oTkVXX0xJU1QoKHl5dnNw
Wy0xXS5ub2RlKSwgJih5eWxvYykpLCAwLCAmKHl5bG9jKSk7CisJCSAgICAvKiUgJSovCisJCSAg
ICAvKiUgcmlwcGVyOiBtbGhzX3BhcmVuISgkMikgJSovCisJCSAgICB9CisjbGluZSA2MTA3ICJw
YXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDgyOgorI2xp
bmUgMTQ3MCAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkgICAgLyolJSUq
LworCQkJKHl5dmFsLm5vZGUpID0gTkVXX01BU0dOKCh5eXZzcFswXS5ub2RlKSwgMCwgJih5eWxv
YykpOworCQkgICAgLyolICUqLworCQkgICAgLyolIHJpcHBlcjogJDEgJSovCisJCSAgICB9Cisj
bGluZSA2MTE4ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBj
YXNlIDgzOgorI2xpbmUgMTQ3NyAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgewor
CQkgICAgLyolJSUqLworCQkJKHl5dmFsLm5vZGUpID0gTkVXX01BU0dOKGxpc3RfYXBwZW5kKHAs
ICh5eXZzcFstMV0ubm9kZSksKHl5dnNwWzBdLm5vZGUpKSwgMCwgJih5eWxvYykpOworCQkgICAg
LyolICUqLworCQkgICAgLyolIHJpcHBlcjogbWxoc19hZGQhKCQxLCAkMikgJSovCisJCSAgICB9
CisjbGluZSA2MTI5ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKwor
ICBjYXNlIDg0OgorI2xpbmUgMTQ4NCAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAg
eworCQkgICAgLyolJSUqLworCQkJKHl5dmFsLm5vZGUpID0gTkVXX01BU0dOKCh5eXZzcFstMl0u
bm9kZSksICh5eXZzcFswXS5ub2RlKSwgJih5eWxvYykpOworCQkgICAgLyolICUqLworCQkgICAg
LyolIHJpcHBlcjogbWxoc19hZGRfc3RhciEoJDEsICQzKSAlKi8KKwkJICAgIH0KKyNsaW5lIDYx
NDAgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgODU6
CisjbGluZSAxNDkxICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCSAgICAv
KiUlJSovCisJCQkoeXl2YWwubm9kZSkgPSBORVdfTUFTR04oKHl5dnNwWy00XS5ub2RlKSwgTkVX
X1BPU1RBUkcoKHl5dnNwWy0yXS5ub2RlKSwoeXl2c3BbMF0ubm9kZSksJih5eWxvYykpLCAmKHl5
bG9jKSk7CisJCSAgICAvKiUgJSovCisJCSAgICAvKiUgcmlwcGVyOiBtbGhzX2FkZF9wb3N0ISht
bGhzX2FkZF9zdGFyISgkMSwgJDMpLCAkNSkgJSovCisJCSAgICB9CisjbGluZSA2MTUxICJwYXJz
ZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDg2OgorI2xpbmUg
MTQ5OCAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkgICAgLyolJSUqLwor
CQkJKHl5dmFsLm5vZGUpID0gTkVXX01BU0dOKCh5eXZzcFstMV0ubm9kZSksIE5PREVfU1BFQ0lB
TF9OT19OQU1FX1JFU1QsICYoeXlsb2MpKTsKKwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBw
ZXI6IG1saHNfYWRkX3N0YXIhKCQxLCBRbmlsKSAlKi8KKwkJICAgIH0KKyNsaW5lIDYxNjIgInBh
cnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgODc6CisjbGlu
ZSAxNTA1ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCSAgICAvKiUlJSov
CisJCQkoeXl2YWwubm9kZSkgPSBORVdfTUFTR04oKHl5dnNwWy0zXS5ub2RlKSwgTkVXX1BPU1RB
UkcoTk9ERV9TUEVDSUFMX05PX05BTUVfUkVTVCwgKHl5dnNwWzBdLm5vZGUpLCAmKHl5bG9jKSks
ICYoeXlsb2MpKTsKKwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBwZXI6IG1saHNfYWRkX3Bv
c3QhKG1saHNfYWRkX3N0YXIhKCQxLCBRbmlsKSwgJDQpICUqLworCQkgICAgfQorI2xpbmUgNjE3
MyAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSA4ODoK
KyNsaW5lIDE1MTIgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJICAgIC8q
JSUlKi8KKwkJCSh5eXZhbC5ub2RlKSA9IE5FV19NQVNHTigwLCAoeXl2c3BbMF0ubm9kZSksICYo
eXlsb2MpKTsKKwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBwZXI6IG1saHNfYWRkX3N0YXIh
KG1saHNfbmV3ISwgJDIpICUqLworCQkgICAgfQorI2xpbmUgNjE4NCAicGFyc2UuYyIgLyogeWFj
Yy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSA4OToKKyNsaW5lIDE1MTkgInBhcnNl
LnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCSh5eXZhbC5u
b2RlKSA9IE5FV19NQVNHTigwLCBORVdfUE9TVEFSRygoeXl2c3BbLTJdLm5vZGUpLCh5eXZzcFsw
XS5ub2RlKSwmKHl5bG9jKSksICYoeXlsb2MpKTsKKwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSBy
aXBwZXI6IG1saHNfYWRkX3Bvc3QhKG1saHNfYWRkX3N0YXIhKG1saHNfbmV3ISwgJDIpLCAkNCkg
JSovCisJCSAgICB9CisjbGluZSA2MTk1ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAg
ICBicmVhazsKKworICBjYXNlIDkwOgorI2xpbmUgMTUyNiAicGFyc2UueSIgLyogeWFjYy5jOjE2
NTIgICovCisgICAgeworCQkgICAgLyolJSUqLworCQkJKHl5dmFsLm5vZGUpID0gTkVXX01BU0dO
KDAsIE5PREVfU1BFQ0lBTF9OT19OQU1FX1JFU1QsICYoeXlsb2MpKTsKKwkJICAgIC8qJSAlKi8K
KwkJICAgIC8qJSByaXBwZXI6IG1saHNfYWRkX3N0YXIhKG1saHNfbmV3ISwgUW5pbCkgJSovCisJ
CSAgICB9CisjbGluZSA2MjA2ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVh
azsKKworICBjYXNlIDkxOgorI2xpbmUgMTUzMyAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICov
CisgICAgeworCQkgICAgLyolJSUqLworCQkJKHl5dmFsLm5vZGUpID0gTkVXX01BU0dOKDAsIE5F
V19QT1NUQVJHKE5PREVfU1BFQ0lBTF9OT19OQU1FX1JFU1QsICh5eXZzcFswXS5ub2RlKSwgJih5
eWxvYykpLCAmKHl5bG9jKSk7CisJCSAgICAvKiUgJSovCisJCSAgICAvKiUgcmlwcGVyOiBtbGhz
X2FkZF9wb3N0IShtbGhzX2FkZF9zdGFyIShtbGhzX25ldyEsIFFuaWwpLCAkMykgJSovCisJCSAg
ICB9CisjbGluZSA2MjE3ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsK
KworICBjYXNlIDkzOgorI2xpbmUgMTU0MyAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisg
ICAgeworCQkgICAgLyolJSUqLworCQkJKHl5dmFsLm5vZGUpID0gKHl5dnNwWy0xXS5ub2RlKTsK
KwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBwZXI6IG1saHNfcGFyZW4hKCQyKSAlKi8KKwkJ
ICAgIH0KKyNsaW5lIDYyMjggInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFr
OworCisgIGNhc2UgOTQ6CisjbGluZSAxNTUyICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8K
KyAgICB7CisJCSAgICAvKiUlJSovCisJCQkoeXl2YWwubm9kZSkgPSBORVdfTElTVCgoeXl2c3Bb
LTFdLm5vZGUpLCAmKHl5bHNwWy0xXSkpOworCQkgICAgLyolICUqLworCQkgICAgLyolIHJpcHBl
cjogbWxoc19hZGQhKG1saHNfbmV3ISwgJDEpICUqLworCQkgICAgfQorI2xpbmUgNjIzOSAicGFy
c2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSA5NToKKyNsaW5l
IDE1NTkgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8K
KwkJCSh5eXZhbC5ub2RlKSA9IGxpc3RfYXBwZW5kKHAsICh5eXZzcFstMl0ubm9kZSksICh5eXZz
cFstMV0ubm9kZSkpOworCQkgICAgLyolICUqLworCQkgICAgLyolIHJpcHBlcjogbWxoc19hZGQh
KCQxLCAkMikgJSovCisJCSAgICB9CisjbGluZSA2MjUwICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1
MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDk2OgorI2xpbmUgMTU2OCAicGFyc2UueSIgLyog
eWFjYy5jOjE2NTIgICovCisgICAgeworCQkgICAgLyolJSUqLworCQkJKHl5dmFsLm5vZGUpID0g
TkVXX0xJU1QoKHl5dnNwWzBdLm5vZGUpLCAmKHl5bG9jKSk7CisJCSAgICAvKiUgJSovCisJCSAg
ICAvKiUgcmlwcGVyOiBtbGhzX2FkZCEobWxoc19uZXchLCAkMSkgJSovCisJCSAgICB9CisjbGlu
ZSA2MjYxICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNl
IDk3OgorI2xpbmUgMTU3NSAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkg
ICAgLyolJSUqLworCQkJKHl5dmFsLm5vZGUpID0gbGlzdF9hcHBlbmQocCwgKHl5dnNwWy0yXS5u
b2RlKSwgKHl5dnNwWzBdLm5vZGUpKTsKKwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBwZXI6
IG1saHNfYWRkISgkMSwgJDMpICUqLworCQkgICAgfQorI2xpbmUgNjI3MiAicGFyc2UuYyIgLyog
eWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSA5ODoKKyNsaW5lIDE1ODQgInBh
cnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCSh5eXZh
bC5ub2RlKSA9IGFzc2lnbmFibGUocCwgKHl5dnNwWzBdLmlkKSwgMCwgJih5eWxvYykpOworCQkg
ICAgLyolICUqLworCQkgICAgLyolIHJpcHBlcjogYXNzaWduYWJsZShwLCB2YXJfZmllbGQocCwg
JDEpKSAlKi8KKwkJICAgIH0KKyNsaW5lIDYyODMgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAq
LworICAgIGJyZWFrOworCisgIGNhc2UgOTk6CisjbGluZSAxNTkxICJwYXJzZS55IiAvKiB5YWNj
LmM6MTY1MiAgKi8KKyAgICB7CisJCSAgICAvKiUlJSovCisJCQkoeXl2YWwubm9kZSkgPSBhc3Np
Z25hYmxlKHAsICh5eXZzcFswXS5pZCksIDAsICYoeXlsb2MpKTsKKwkJICAgIC8qJSAlKi8KKwkJ
ICAgIC8qJSByaXBwZXI6IGFzc2lnbmFibGUocCwgdmFyX2ZpZWxkKHAsICQxKSkgJSovCisJCSAg
ICB9CisjbGluZSA2Mjk0ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsK
KworICBjYXNlIDEwMDoKKyNsaW5lIDE1OTggInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwor
ICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCSh5eXZhbC5ub2RlKSA9IGFyeXNldChwLCAoeXl2c3Bb
LTNdLm5vZGUpLCAoeXl2c3BbLTFdLm5vZGUpLCAmKHl5bG9jKSk7CisJCSAgICAvKiUgJSovCisJ
CSAgICAvKiUgcmlwcGVyOiBhcmVmX2ZpZWxkISgkMSwgZXNjYXBlX1F1bmRlZigkMykpICUqLwor
CQkgICAgfQorI2xpbmUgNjMwNSAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJl
YWs7CisKKyAgY2FzZSAxMDE6CisjbGluZSAxNjA1ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAg
Ki8KKyAgICB7CisJCSAgICAvKiUlJSovCisJCQkoeXl2YWwubm9kZSkgPSBhdHRyc2V0KHAsICh5
eXZzcFstMl0ubm9kZSksICh5eXZzcFstMV0uaWQpLCAoeXl2c3BbMF0uaWQpLCAmKHl5bG9jKSk7
CisJCSAgICAvKiUgJSovCisJCSAgICAvKiUgcmlwcGVyOiBmaWVsZCEoJDEsICQyLCAkMykgJSov
CisJCSAgICB9CisjbGluZSA2MzE2ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBi
cmVhazsKKworICBjYXNlIDEwMjoKKyNsaW5lIDE2MTIgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUy
ICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCSh5eXZhbC5ub2RlKSA9IGF0dHJzZXQocCwg
KHl5dnNwWy0yXS5ub2RlKSwgaWRDT0xPTjIsICh5eXZzcFswXS5pZCksICYoeXlsb2MpKTsKKwkJ
ICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBwZXI6IGNvbnN0X3BhdGhfZmllbGQhKCQxLCAkMykg
JSovCisJCSAgICB9CisjbGluZSA2MzI3ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAg
ICBicmVhazsKKworICBjYXNlIDEwMzoKKyNsaW5lIDE2MTkgInBhcnNlLnkiIC8qIHlhY2MuYzox
NjUyICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCSh5eXZhbC5ub2RlKSA9IGF0dHJzZXQo
cCwgKHl5dnNwWy0yXS5ub2RlKSwgKHl5dnNwWy0xXS5pZCksICh5eXZzcFswXS5pZCksICYoeXls
b2MpKTsKKwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBwZXI6IGZpZWxkISgkMSwgJDIsICQz
KSAlKi8KKwkJICAgIH0KKyNsaW5lIDYzMzggInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwor
ICAgIGJyZWFrOworCisgIGNhc2UgMTA0OgorI2xpbmUgMTYyNiAicGFyc2UueSIgLyogeWFjYy5j
OjE2NTIgICovCisgICAgeworCQkgICAgLyolJSUqLworCQkJKHl5dmFsLm5vZGUpID0gY29uc3Rf
ZGVjbChwLCBORVdfQ09MT04yKCh5eXZzcFstMl0ubm9kZSksICh5eXZzcFswXS5pZCksICYoeXls
b2MpKSwgJih5eWxvYykpOworCQkgICAgLyolICUqLworCQkgICAgLyolIHJpcHBlcjogY29uc3Rf
ZGVjbChwLCBjb25zdF9wYXRoX2ZpZWxkISgkMSwgJDMpKSAlKi8KKwkJICAgIH0KKyNsaW5lIDYz
NDkgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgMTA1
OgorI2xpbmUgMTYzMyAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkgICAg
LyolJSUqLworCQkJKHl5dmFsLm5vZGUpID0gY29uc3RfZGVjbChwLCBORVdfQ09MT04zKCh5eXZz
cFswXS5pZCksICYoeXlsb2MpKSwgJih5eWxvYykpOworCQkgICAgLyolICUqLworCQkgICAgLyol
IHJpcHBlcjogY29uc3RfZGVjbChwLCB0b3BfY29uc3RfZmllbGQhKCQyKSkgJSovCisJCSAgICB9
CisjbGluZSA2MzYwICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKwor
ICBjYXNlIDEwNjoKKyNsaW5lIDE2NDAgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAg
IHsKKwkJICAgIC8qJSUlKi8KKwkJCXJiX2JhY2tyZWZfZXJyb3IocCwgKHl5dnNwWzBdLm5vZGUp
KTsKKwkJCSh5eXZhbC5ub2RlKSA9IE5FV19CRUdJTigwLCAmKHl5bG9jKSk7CisJCSAgICAvKiUg
JSovCisJCSAgICAvKiUgcmlwcGVyW2Vycm9yXTogYXNzaWduX2Vycm9yISh2YXJfZmllbGQocCwg
JDEpKSAlKi8KKwkJICAgIH0KKyNsaW5lIDYzNzIgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAq
LworICAgIGJyZWFrOworCisgIGNhc2UgMTA3OgorI2xpbmUgMTY1MCAicGFyc2UueSIgLyogeWFj
Yy5jOjE2NTIgICovCisgICAgeworCQkgICAgLyolJSUqLworCQkJKHl5dmFsLm5vZGUpID0gYXNz
aWduYWJsZShwLCAoeXl2c3BbMF0uaWQpLCAwLCAmKHl5bG9jKSk7CisJCSAgICAvKiUgJSovCisJ
CSAgICAvKiUgcmlwcGVyOiBhc3NpZ25hYmxlKHAsIHZhcl9maWVsZChwLCAkMSkpICUqLworCQkg
ICAgfQorI2xpbmUgNjM4MyAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7
CisKKyAgY2FzZSAxMDg6CisjbGluZSAxNjU3ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8K
KyAgICB7CisJCSAgICAvKiUlJSovCisJCQkoeXl2YWwubm9kZSkgPSBhc3NpZ25hYmxlKHAsICh5
eXZzcFswXS5pZCksIDAsICYoeXlsb2MpKTsKKwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBw
ZXI6IGFzc2lnbmFibGUocCwgdmFyX2ZpZWxkKHAsICQxKSkgJSovCisJCSAgICB9CisjbGluZSA2
Mzk0ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDEw
OToKKyNsaW5lIDE2NjQgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJICAg
IC8qJSUlKi8KKwkJCSh5eXZhbC5ub2RlKSA9IGFyeXNldChwLCAoeXl2c3BbLTNdLm5vZGUpLCAo
eXl2c3BbLTFdLm5vZGUpLCAmKHl5bG9jKSk7CisJCSAgICAvKiUgJSovCisJCSAgICAvKiUgcmlw
cGVyOiBhcmVmX2ZpZWxkISgkMSwgZXNjYXBlX1F1bmRlZigkMykpICUqLworCQkgICAgfQorI2xp
bmUgNjQwNSAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2Fz
ZSAxMTA6CisjbGluZSAxNjcxICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJ
CSAgICAvKiUlJSovCisJCQkoeXl2YWwubm9kZSkgPSBhdHRyc2V0KHAsICh5eXZzcFstMl0ubm9k
ZSksICh5eXZzcFstMV0uaWQpLCAoeXl2c3BbMF0uaWQpLCAmKHl5bG9jKSk7CisJCSAgICAvKiUg
JSovCisJCSAgICAvKiUgcmlwcGVyOiBmaWVsZCEoJDEsICQyLCAkMykgJSovCisJCSAgICB9Cisj
bGluZSA2NDE2ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBj
YXNlIDExMToKKyNsaW5lIDE2NzggInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsK
KwkJICAgIC8qJSUlKi8KKwkJCSh5eXZhbC5ub2RlKSA9IGF0dHJzZXQocCwgKHl5dnNwWy0yXS5u
b2RlKSwgaWRDT0xPTjIsICh5eXZzcFswXS5pZCksICYoeXlsb2MpKTsKKwkJICAgIC8qJSAlKi8K
KwkJICAgIC8qJSByaXBwZXI6IGZpZWxkISgkMSwgSUQyVkFMKGlkQ09MT04yKSwgJDMpICUqLwor
CQkgICAgfQorI2xpbmUgNjQyNyAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJl
YWs7CisKKyAgY2FzZSAxMTI6CisjbGluZSAxNjg1ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAg
Ki8KKyAgICB7CisJCSAgICAvKiUlJSovCisJCQkoeXl2YWwubm9kZSkgPSBhdHRyc2V0KHAsICh5
eXZzcFstMl0ubm9kZSksICh5eXZzcFstMV0uaWQpLCAoeXl2c3BbMF0uaWQpLCAmKHl5bG9jKSk7
CisJCSAgICAvKiUgJSovCisJCSAgICAvKiUgcmlwcGVyOiBmaWVsZCEoJDEsICQyLCAkMykgJSov
CisJCSAgICB9CisjbGluZSA2NDM4ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBi
cmVhazsKKworICBjYXNlIDExMzoKKyNsaW5lIDE2OTIgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUy
ICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCSh5eXZhbC5ub2RlKSA9IGNvbnN0X2RlY2wo
cCwgTkVXX0NPTE9OMigoeXl2c3BbLTJdLm5vZGUpLCAoeXl2c3BbMF0uaWQpLCAmKHl5bG9jKSks
ICYoeXlsb2MpKTsKKwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBwZXI6IGNvbnN0X2RlY2wo
cCwgY29uc3RfcGF0aF9maWVsZCEoJDEsICQzKSkgJSovCisJCSAgICB9CisjbGluZSA2NDQ5ICJw
YXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDExNDoKKyNs
aW5lIDE2OTkgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJICAgIC8qJSUl
Ki8KKwkJCSh5eXZhbC5ub2RlKSA9IGNvbnN0X2RlY2wocCwgTkVXX0NPTE9OMygoeXl2c3BbMF0u
aWQpLCAmKHl5bG9jKSksICYoeXlsb2MpKTsKKwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBw
ZXI6IGNvbnN0X2RlY2wocCwgdG9wX2NvbnN0X2ZpZWxkISgkMikpICUqLworCQkgICAgfQorI2xp
bmUgNjQ2MCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2Fz
ZSAxMTU6CisjbGluZSAxNzA2ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJ
CSAgICAvKiUlJSovCisJCQlyYl9iYWNrcmVmX2Vycm9yKHAsICh5eXZzcFswXS5ub2RlKSk7CisJ
CQkoeXl2YWwubm9kZSkgPSBORVdfQkVHSU4oMCwgJih5eWxvYykpOworCQkgICAgLyolICUqLwor
CQkgICAgLyolIHJpcHBlcltlcnJvcl06IGFzc2lnbl9lcnJvciEodmFyX2ZpZWxkKHAsICQxKSkg
JSovCisJCSAgICB9CisjbGluZSA2NDcyICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAg
ICBicmVhazsKKworICBjYXNlIDExNjoKKyNsaW5lIDE3MTYgInBhcnNlLnkiIC8qIHlhY2MuYzox
NjUyICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCXl5ZXJyb3IxKCYoeXlsc3BbMF0pLCAi
Y2xhc3MvbW9kdWxlIG5hbWUgbXVzdCBiZSBDT05TVEFOVCIpOworCQkgICAgLyolICUqLworCQkg
ICAgLyolIHJpcHBlcltlcnJvcl06IGNsYXNzX25hbWVfZXJyb3IhKCQxKSAlKi8KKwkJICAgIH0K
KyNsaW5lIDY0ODMgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisg
IGNhc2UgMTE4OgorI2xpbmUgMTcyNiAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAg
eworCQkgICAgLyolJSUqLworCQkJKHl5dmFsLm5vZGUpID0gTkVXX0NPTE9OMygoeXl2c3BbMF0u
aWQpLCAmKHl5bG9jKSk7CisJCSAgICAvKiUgJSovCisJCSAgICAvKiUgcmlwcGVyOiB0b3BfY29u
c3RfcmVmISgkMikgJSovCisJCSAgICB9CisjbGluZSA2NDk0ICJwYXJzZS5jIiAvKiB5YWNjLmM6
MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDExOToKKyNsaW5lIDE3MzMgInBhcnNlLnki
IC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCSh5eXZhbC5ub2Rl
KSA9IE5FV19DT0xPTjIoMCwgKHl5dmFsLm5vZGUpLCAmKHl5bG9jKSk7CisJCSAgICAvKiUgJSov
CisJCSAgICAvKiUgcmlwcGVyOiBjb25zdF9yZWYhKCQxKSAlKi8KKwkJICAgIH0KKyNsaW5lIDY1
MDUgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgMTIw
OgorI2xpbmUgMTc0MCAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkgICAg
LyolJSUqLworCQkJKHl5dmFsLm5vZGUpID0gTkVXX0NPTE9OMigoeXl2c3BbLTJdLm5vZGUpLCAo
eXl2c3BbMF0uaWQpLCAmKHl5bG9jKSk7CisJCSAgICAvKiUgJSovCisJCSAgICAvKiUgcmlwcGVy
OiBjb25zdF9wYXRoX3JlZiEoJDEsICQzKSAlKi8KKwkJICAgIH0KKyNsaW5lIDY1MTYgInBhcnNl
LmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgMTI0OgorI2xpbmUg
MTc1MiAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkJU0VUX0xFWF9TVEFU
RShFWFBSX0VOREZOKTsKKwkJCSh5eXZhbC5pZCkgPSAoeXl2c3BbMF0uaWQpOworCQkgICAgfQor
I2xpbmUgNjUyNSAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAg
Y2FzZSAxMjU6CisjbGluZSAxNzU3ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7
CisJCQlTRVRfTEVYX1NUQVRFKEVYUFJfRU5ERk4pOworCQkJKHl5dmFsLmlkKSA9ICh5eXZzcFsw
XS5pZCk7CisJCSAgICB9CisjbGluZSA2NTM0ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8K
KyAgICBicmVhazsKKworICBjYXNlIDEyODoKKyNsaW5lIDE3NjggInBhcnNlLnkiIC8qIHlhY2Mu
YzoxNjUyICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCSh5eXZhbC5ub2RlKSA9IE5FV19M
SVQoSUQyU1lNKCh5eXZzcFswXS5pZCkpLCAmKHl5bG9jKSk7CisJCSAgICAvKiUgJSovCisJCSAg
ICAvKiUgcmlwcGVyOiBzeW1ib2xfbGl0ZXJhbCEoJDEpICUqLworCQkgICAgfQorI2xpbmUgNjU0
NSAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSAxMzA6
CisjbGluZSAxNzc4ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCSAgICAv
KiUlJSovCisJCQkoeXl2YWwubm9kZSkgPSBORVdfVU5ERUYoKHl5dnNwWzBdLm5vZGUpLCAmKHl5
bG9jKSk7CisJCSAgICAvKiUgJSovCisJCSAgICAvKiUgcmlwcGVyOiByYl9hcnlfbmV3MygxLCBn
ZXRfdmFsdWUoJDEpKSAlKi8KKwkJICAgIH0KKyNsaW5lIDY1NTYgInBhcnNlLmMiIC8qIHlhY2Mu
YzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgMTMxOgorI2xpbmUgMTc4NCAicGFyc2Uu
eSIgLyogeWFjYy5jOjE2NTIgICovCisgICAge1NFVF9MRVhfU1RBVEUoRVhQUl9GTkFNRXxFWFBS
X0ZJVEVNKTt9CisjbGluZSA2NTYyICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBi
cmVhazsKKworICBjYXNlIDEzMjoKKyNsaW5lIDE3ODUgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUy
ICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCU5PREUgKnVuZGVmID0gTkVXX1VOREVGKCh5
eXZzcFswXS5ub2RlKSwgJih5eWxzcFswXSkpOworCQkJKHl5dmFsLm5vZGUpID0gYmxvY2tfYXBw
ZW5kKHAsICh5eXZzcFstM10ubm9kZSksIHVuZGVmKTsKKwkJICAgIC8qJSAlKi8KKwkJICAgIC8q
JSByaXBwZXI6IHJiX2FyeV9wdXNoKCQxLCBnZXRfdmFsdWUoJDQpKSAlKi8KKwkJICAgIH0KKyNs
aW5lIDY1NzQgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNh
c2UgMTMzOgorI2xpbmUgMTc5NCAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeyBp
Zm5kZWZfcmlwcGVyKCh5eXZhbC5pZCkgPSAnfCcpOyB9CisjbGluZSA2NTgwICJwYXJzZS5jIiAv
KiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDEzNDoKKyNsaW5lIDE3OTUg
InBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsgaWZuZGVmX3JpcHBlcigoeXl2YWwu
aWQpID0gJ14nKTsgfQorI2xpbmUgNjU4NiAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisg
ICAgYnJlYWs7CisKKyAgY2FzZSAxMzU6CisjbGluZSAxNzk2ICJwYXJzZS55IiAvKiB5YWNjLmM6
MTY1MiAgKi8KKyAgICB7IGlmbmRlZl9yaXBwZXIoKHl5dmFsLmlkKSA9ICcmJyk7IH0KKyNsaW5l
IDY1OTIgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2Ug
MTM2OgorI2xpbmUgMTc5NyAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeyBpZm5k
ZWZfcmlwcGVyKCh5eXZhbC5pZCkgPSB0Q01QKTsgfQorI2xpbmUgNjU5OCAicGFyc2UuYyIgLyog
eWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSAxMzc6CisjbGluZSAxNzk4ICJw
YXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7IGlmbmRlZl9yaXBwZXIoKHl5dmFsLmlk
KSA9IHRFUSk7IH0KKyNsaW5lIDY2MDQgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAg
IGJyZWFrOworCisgIGNhc2UgMTM4OgorI2xpbmUgMTc5OSAicGFyc2UueSIgLyogeWFjYy5jOjE2
NTIgICovCisgICAgeyBpZm5kZWZfcmlwcGVyKCh5eXZhbC5pZCkgPSB0RVFRKTsgfQorI2xpbmUg
NjYxMCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSAx
Mzk6CisjbGluZSAxODAwICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7IGlmbmRl
Zl9yaXBwZXIoKHl5dmFsLmlkKSA9IHRNQVRDSCk7IH0KKyNsaW5lIDY2MTYgInBhcnNlLmMiIC8q
IHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgMTQwOgorI2xpbmUgMTgwMSAi
cGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeyBpZm5kZWZfcmlwcGVyKCh5eXZhbC5p
ZCkgPSB0Tk1BVENIKTsgfQorI2xpbmUgNjYyMiAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICov
CisgICAgYnJlYWs7CisKKyAgY2FzZSAxNDE6CisjbGluZSAxODAyICJwYXJzZS55IiAvKiB5YWNj
LmM6MTY1MiAgKi8KKyAgICB7IGlmbmRlZl9yaXBwZXIoKHl5dmFsLmlkKSA9ICc+Jyk7IH0KKyNs
aW5lIDY2MjggInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNh
c2UgMTQyOgorI2xpbmUgMTgwMyAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeyBp
Zm5kZWZfcmlwcGVyKCh5eXZhbC5pZCkgPSB0R0VRKTsgfQorI2xpbmUgNjYzNCAicGFyc2UuYyIg
LyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSAxNDM6CisjbGluZSAxODA0
ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7IGlmbmRlZl9yaXBwZXIoKHl5dmFs
LmlkKSA9ICc8Jyk7IH0KKyNsaW5lIDY2NDAgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwor
ICAgIGJyZWFrOworCisgIGNhc2UgMTQ0OgorI2xpbmUgMTgwNSAicGFyc2UueSIgLyogeWFjYy5j
OjE2NTIgICovCisgICAgeyBpZm5kZWZfcmlwcGVyKCh5eXZhbC5pZCkgPSB0TEVRKTsgfQorI2xp
bmUgNjY0NiAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2Fz
ZSAxNDU6CisjbGluZSAxODA2ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7IGlm
bmRlZl9yaXBwZXIoKHl5dmFsLmlkKSA9IHRORVEpOyB9CisjbGluZSA2NjUyICJwYXJzZS5jIiAv
KiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDE0NjoKKyNsaW5lIDE4MDcg
InBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsgaWZuZGVmX3JpcHBlcigoeXl2YWwu
aWQpID0gdExTSEZUKTsgfQorI2xpbmUgNjY1OCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICov
CisgICAgYnJlYWs7CisKKyAgY2FzZSAxNDc6CisjbGluZSAxODA4ICJwYXJzZS55IiAvKiB5YWNj
LmM6MTY1MiAgKi8KKyAgICB7IGlmbmRlZl9yaXBwZXIoKHl5dmFsLmlkKSA9IHRSU0hGVCk7IH0K
KyNsaW5lIDY2NjQgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisg
IGNhc2UgMTQ4OgorI2xpbmUgMTgwOSAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAg
eyBpZm5kZWZfcmlwcGVyKCh5eXZhbC5pZCkgPSAnKycpOyB9CisjbGluZSA2NjcwICJwYXJzZS5j
IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDE0OToKKyNsaW5lIDE4
MTAgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsgaWZuZGVmX3JpcHBlcigoeXl2
YWwuaWQpID0gJy0nKTsgfQorI2xpbmUgNjY3NiAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICov
CisgICAgYnJlYWs7CisKKyAgY2FzZSAxNTA6CisjbGluZSAxODExICJwYXJzZS55IiAvKiB5YWNj
LmM6MTY1MiAgKi8KKyAgICB7IGlmbmRlZl9yaXBwZXIoKHl5dmFsLmlkKSA9ICcqJyk7IH0KKyNs
aW5lIDY2ODIgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNh
c2UgMTUxOgorI2xpbmUgMTgxMiAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeyBp
Zm5kZWZfcmlwcGVyKCh5eXZhbC5pZCkgPSAnKicpOyB9CisjbGluZSA2Njg4ICJwYXJzZS5jIiAv
KiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDE1MjoKKyNsaW5lIDE4MTMg
InBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsgaWZuZGVmX3JpcHBlcigoeXl2YWwu
aWQpID0gJy8nKTsgfQorI2xpbmUgNjY5NCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisg
ICAgYnJlYWs7CisKKyAgY2FzZSAxNTM6CisjbGluZSAxODE0ICJwYXJzZS55IiAvKiB5YWNjLmM6
MTY1MiAgKi8KKyAgICB7IGlmbmRlZl9yaXBwZXIoKHl5dmFsLmlkKSA9ICclJyk7IH0KKyNsaW5l
IDY3MDAgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2Ug
MTU0OgorI2xpbmUgMTgxNSAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeyBpZm5k
ZWZfcmlwcGVyKCh5eXZhbC5pZCkgPSB0UE9XKTsgfQorI2xpbmUgNjcwNiAicGFyc2UuYyIgLyog
eWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSAxNTU6CisjbGluZSAxODE2ICJw
YXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7IGlmbmRlZl9yaXBwZXIoKHl5dmFsLmlk
KSA9IHREU1RBUik7IH0KKyNsaW5lIDY3MTIgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwor
ICAgIGJyZWFrOworCisgIGNhc2UgMTU2OgorI2xpbmUgMTgxNyAicGFyc2UueSIgLyogeWFjYy5j
OjE2NTIgICovCisgICAgeyBpZm5kZWZfcmlwcGVyKCh5eXZhbC5pZCkgPSAnIScpOyB9CisjbGlu
ZSA2NzE4ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNl
IDE1NzoKKyNsaW5lIDE4MTggInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsgaWZu
ZGVmX3JpcHBlcigoeXl2YWwuaWQpID0gJ34nKTsgfQorI2xpbmUgNjcyNCAicGFyc2UuYyIgLyog
eWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSAxNTg6CisjbGluZSAxODE5ICJw
YXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7IGlmbmRlZl9yaXBwZXIoKHl5dmFsLmlk
KSA9IHRVUExVUyk7IH0KKyNsaW5lIDY3MzAgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwor
ICAgIGJyZWFrOworCisgIGNhc2UgMTU5OgorI2xpbmUgMTgyMCAicGFyc2UueSIgLyogeWFjYy5j
OjE2NTIgICovCisgICAgeyBpZm5kZWZfcmlwcGVyKCh5eXZhbC5pZCkgPSB0VU1JTlVTKTsgfQor
I2xpbmUgNjczNiAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAg
Y2FzZSAxNjA6CisjbGluZSAxODIxICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7
IGlmbmRlZl9yaXBwZXIoKHl5dmFsLmlkKSA9IHRBUkVGKTsgfQorI2xpbmUgNjc0MiAicGFyc2Uu
YyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSAxNjE6CisjbGluZSAx
ODIyICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7IGlmbmRlZl9yaXBwZXIoKHl5
dmFsLmlkKSA9IHRBU0VUKTsgfQorI2xpbmUgNjc0OCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIg
ICovCisgICAgYnJlYWs7CisKKyAgY2FzZSAxNjI6CisjbGluZSAxODIzICJwYXJzZS55IiAvKiB5
YWNjLmM6MTY1MiAgKi8KKyAgICB7IGlmbmRlZl9yaXBwZXIoKHl5dmFsLmlkKSA9ICdgJyk7IH0K
KyNsaW5lIDY3NTQgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisg
IGNhc2UgMjA0OgorI2xpbmUgMTg0MSAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAg
eworCQkgICAgLyolJSUqLworCQkJKHl5dmFsLm5vZGUpID0gbm9kZV9hc3NpZ24ocCwgKHl5dnNw
Wy0yXS5ub2RlKSwgKHl5dnNwWzBdLm5vZGUpLCAmKHl5bG9jKSk7CisJCSAgICAvKiUgJSovCisJ
CSAgICAvKiUgcmlwcGVyOiBhc3NpZ24hKCQxLCAkMykgJSovCisJCSAgICB9CisjbGluZSA2NzY1
ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDIwNToK
KyNsaW5lIDE4NDggInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJICAgIC8q
JSUlKi8KKwkJCSh5eXZhbC5ub2RlKSA9IG5ld19vcF9hc3NpZ24ocCwgKHl5dnNwWy0yXS5ub2Rl
KSwgKHl5dnNwWy0xXS5pZCksICh5eXZzcFswXS5ub2RlKSwgJih5eWxvYykpOworCQkgICAgLyol
ICUqLworCQkgICAgLyolIHJpcHBlcjogb3Bhc3NpZ24hKCQxLCAkMiwgJDMpICUqLworCQkgICAg
fQorI2xpbmUgNjc3NiAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisK
KyAgY2FzZSAyMDY6CisjbGluZSAxODU1ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAg
ICB7CisJCSAgICAvKiUlJSovCisJCQl2YWx1ZV9leHByKCh5eXZzcFswXS5ub2RlKSk7CisJCQko
eXl2YWwubm9kZSkgPSBuZXdfYXJ5X29wX2Fzc2lnbihwLCAoeXl2c3BbLTVdLm5vZGUpLCAoeXl2
c3BbLTNdLm5vZGUpLCAoeXl2c3BbLTFdLmlkKSwgKHl5dnNwWzBdLm5vZGUpLCAmKHl5bHNwWy0z
XSksICYoeXlsb2MpKTsKKwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBwZXI6IG9wYXNzaWdu
IShhcmVmX2ZpZWxkISgkMSwgZXNjYXBlX1F1bmRlZigkMykpLCAkNSwgJDYpICUqLworCQkgICAg
fQorI2xpbmUgNjc4OCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisK
KyAgY2FzZSAyMDc6CisjbGluZSAxODYzICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAg
ICB7CisJCSAgICAvKiUlJSovCisJCQl2YWx1ZV9leHByKCh5eXZzcFswXS5ub2RlKSk7CisJCQko
eXl2YWwubm9kZSkgPSBuZXdfYXR0cl9vcF9hc3NpZ24ocCwgKHl5dnNwWy00XS5ub2RlKSwgKHl5
dnNwWy0zXS5pZCksICh5eXZzcFstMl0uaWQpLCAoeXl2c3BbLTFdLmlkKSwgKHl5dnNwWzBdLm5v
ZGUpLCAmKHl5bG9jKSk7CisJCSAgICAvKiUgJSovCisJCSAgICAvKiUgcmlwcGVyOiBvcGFzc2ln
biEoZmllbGQhKCQxLCAkMiwgJDMpLCAkNCwgJDUpICUqLworCQkgICAgfQorI2xpbmUgNjgwMCAi
cGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSAyMDg6Cisj
bGluZSAxODcxICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCSAgICAvKiUl
JSovCisJCQl2YWx1ZV9leHByKCh5eXZzcFswXS5ub2RlKSk7CisJCQkoeXl2YWwubm9kZSkgPSBu
ZXdfYXR0cl9vcF9hc3NpZ24ocCwgKHl5dnNwWy00XS5ub2RlKSwgKHl5dnNwWy0zXS5pZCksICh5
eXZzcFstMl0uaWQpLCAoeXl2c3BbLTFdLmlkKSwgKHl5dnNwWzBdLm5vZGUpLCAmKHl5bG9jKSk7
CisJCSAgICAvKiUgJSovCisJCSAgICAvKiUgcmlwcGVyOiBvcGFzc2lnbiEoZmllbGQhKCQxLCAk
MiwgJDMpLCAkNCwgJDUpICUqLworCQkgICAgfQorI2xpbmUgNjgxMiAicGFyc2UuYyIgLyogeWFj
Yy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSAyMDk6CisjbGluZSAxODc5ICJwYXJz
ZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCSAgICAvKiUlJSovCisJCQl2YWx1ZV9l
eHByKCh5eXZzcFswXS5ub2RlKSk7CisJCQkoeXl2YWwubm9kZSkgPSBuZXdfYXR0cl9vcF9hc3Np
Z24ocCwgKHl5dnNwWy00XS5ub2RlKSwgSUQyVkFMKGlkQ09MT04yKSwgKHl5dnNwWy0yXS5pZCks
ICh5eXZzcFstMV0uaWQpLCAoeXl2c3BbMF0ubm9kZSksICYoeXlsb2MpKTsKKwkJICAgIC8qJSAl
Ki8KKwkJICAgIC8qJSByaXBwZXI6IG9wYXNzaWduIShmaWVsZCEoJDEsIElEMlZBTChpZENPTE9O
MiksICQzKSwgJDQsICQ1KSAlKi8KKwkJICAgIH0KKyNsaW5lIDY4MjQgInBhcnNlLmMiIC8qIHlh
Y2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgMjEwOgorI2xpbmUgMTg4NyAicGFy
c2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkgICAgLyolJSUqLworCQkJWVlMVFlQ
RSBsb2MgPSBjb2RlX2xvY19nZW4oJih5eWxzcFstNF0pLCAmKHl5bHNwWy0yXSkpOworCQkJKHl5
dmFsLm5vZGUpID0gbmV3X2NvbnN0X29wX2Fzc2lnbihwLCBORVdfQ09MT04yKCh5eXZzcFstNF0u
bm9kZSksICh5eXZzcFstMl0uaWQpLCAmbG9jKSwgKHl5dnNwWy0xXS5pZCksICh5eXZzcFswXS5u
b2RlKSwgJih5eWxvYykpOworCQkgICAgLyolICUqLworCQkgICAgLyolIHJpcHBlcjogb3Bhc3Np
Z24hKGNvbnN0X3BhdGhfZmllbGQhKCQxLCAkMyksICQ0LCAkNSkgJSovCisJCSAgICB9CisjbGlu
ZSA2ODM2ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNl
IDIxMToKKyNsaW5lIDE4OTUgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJ
ICAgIC8qJSUlKi8KKwkJCSh5eXZhbC5ub2RlKSA9IG5ld19jb25zdF9vcF9hc3NpZ24ocCwgTkVX
X0NPTE9OMygoeXl2c3BbLTJdLmlkKSwgJih5eWxvYykpLCAoeXl2c3BbLTFdLmlkKSwgKHl5dnNw
WzBdLm5vZGUpLCAmKHl5bG9jKSk7CisJCSAgICAvKiUgJSovCisJCSAgICAvKiUgcmlwcGVyOiBv
cGFzc2lnbiEodG9wX2NvbnN0X2ZpZWxkISgkMiksICQzLCAkNCkgJSovCisJCSAgICB9CisjbGlu
ZSA2ODQ3ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNl
IDIxMjoKKyNsaW5lIDE5MDIgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJ
ICAgIC8qJSUlKi8KKwkJCXJiX2JhY2tyZWZfZXJyb3IocCwgKHl5dnNwWy0yXS5ub2RlKSk7CisJ
CQkoeXl2YWwubm9kZSkgPSBORVdfQkVHSU4oMCwgJih5eWxvYykpOworCQkgICAgLyolICUqLwor
CQkgICAgLyolIHJpcHBlcltlcnJvcl06IGFzc2lnbl9lcnJvciEob3Bhc3NpZ24hKHZhcl9maWVs
ZChwLCAkMSksICQyLCAkMykpICUqLworCQkgICAgfQorI2xpbmUgNjg1OSAicGFyc2UuYyIgLyog
eWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSAyMTM6CisjbGluZSAxOTEwICJw
YXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCSAgICAvKiUlJSovCisJCQl2YWx1
ZV9leHByKCh5eXZzcFstMl0ubm9kZSkpOworCQkJdmFsdWVfZXhwcigoeXl2c3BbMF0ubm9kZSkp
OworCQkJKHl5dmFsLm5vZGUpID0gTkVXX0RPVDIoKHl5dnNwWy0yXS5ub2RlKSwgKHl5dnNwWzBd
Lm5vZGUpLCAmKHl5bG9jKSk7CisJCSAgICAvKiUgJSovCisJCSAgICAvKiUgcmlwcGVyOiBkb3Qy
ISgkMSwgJDMpICUqLworCQkgICAgfQorI2xpbmUgNjg3MiAicGFyc2UuYyIgLyogeWFjYy5jOjE2
NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSAyMTQ6CisjbGluZSAxOTE5ICJwYXJzZS55IiAv
KiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCSAgICAvKiUlJSovCisJCQl2YWx1ZV9leHByKCh5
eXZzcFstMl0ubm9kZSkpOworCQkJdmFsdWVfZXhwcigoeXl2c3BbMF0ubm9kZSkpOworCQkJKHl5
dmFsLm5vZGUpID0gTkVXX0RPVDMoKHl5dnNwWy0yXS5ub2RlKSwgKHl5dnNwWzBdLm5vZGUpLCAm
KHl5bG9jKSk7CisJCSAgICAvKiUgJSovCisJCSAgICAvKiUgcmlwcGVyOiBkb3QzISgkMSwgJDMp
ICUqLworCQkgICAgfQorI2xpbmUgNjg4NSAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisg
ICAgYnJlYWs7CisKKyAgY2FzZSAyMTU6CisjbGluZSAxOTI4ICJwYXJzZS55IiAvKiB5YWNjLmM6
MTY1MiAgKi8KKyAgICB7CisJCSAgICAvKiUlJSovCisgICAgICAgICAgICAgICAgICAgICAgICBZ
WUxUWVBFIGxvYzsKKyAgICAgICAgICAgICAgICAgICAgICAgIGxvYy5iZWdfcG9zID0gKHl5bHNw
WzBdKS5lbmRfcG9zOworICAgICAgICAgICAgICAgICAgICAgICAgbG9jLmVuZF9wb3MgPSAoeXls
c3BbMF0pLmVuZF9wb3M7CisKKwkJCXZhbHVlX2V4cHIoKHl5dnNwWy0xXS5ub2RlKSk7CisJCQko
eXl2YWwubm9kZSkgPSBORVdfRE9UMigoeXl2c3BbLTFdLm5vZGUpLCBuZXdfbmlsKCZsb2MpLCAm
KHl5bG9jKSk7CisJCSAgICAvKiUgJSovCisJCSAgICAvKiUgcmlwcGVyOiBkb3QyISgkMSwgUW5p
bCkgJSovCisJCSAgICB9CisjbGluZSA2OTAxICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8K
KyAgICBicmVhazsKKworICBjYXNlIDIxNjoKKyNsaW5lIDE5NDAgInBhcnNlLnkiIC8qIHlhY2Mu
YzoxNjUyICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8KKyAgICAgICAgICAgICAgICAgICAgICAg
IFlZTFRZUEUgbG9jOworICAgICAgICAgICAgICAgICAgICAgICAgbG9jLmJlZ19wb3MgPSAoeXls
c3BbMF0pLmVuZF9wb3M7CisgICAgICAgICAgICAgICAgICAgICAgICBsb2MuZW5kX3BvcyA9ICh5
eWxzcFswXSkuZW5kX3BvczsKKworCQkJdmFsdWVfZXhwcigoeXl2c3BbLTFdLm5vZGUpKTsKKwkJ
CSh5eXZhbC5ub2RlKSA9IE5FV19ET1QzKCh5eXZzcFstMV0ubm9kZSksIG5ld19uaWwoJmxvYyks
ICYoeXlsb2MpKTsKKwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBwZXI6IGRvdDMhKCQxLCBR
bmlsKSAlKi8KKwkJICAgIH0KKyNsaW5lIDY5MTcgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAq
LworICAgIGJyZWFrOworCisgIGNhc2UgMjE3OgorI2xpbmUgMTk1MiAicGFyc2UueSIgLyogeWFj
Yy5jOjE2NTIgICovCisgICAgeworCQkJKHl5dmFsLm5vZGUpID0gY2FsbF9iaW5fb3AocCwgKHl5
dnNwWy0yXS5ub2RlKSwgJysnLCAoeXl2c3BbMF0ubm9kZSksICYoeXlsc3BbLTFdKSwgJih5eWxv
YykpOworCQkgICAgfQorI2xpbmUgNjkyNSAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisg
ICAgYnJlYWs7CisKKyAgY2FzZSAyMTg6CisjbGluZSAxOTU2ICJwYXJzZS55IiAvKiB5YWNjLmM6
MTY1MiAgKi8KKyAgICB7CisJCQkoeXl2YWwubm9kZSkgPSBjYWxsX2Jpbl9vcChwLCAoeXl2c3Bb
LTJdLm5vZGUpLCAnLScsICh5eXZzcFswXS5ub2RlKSwgJih5eWxzcFstMV0pLCAmKHl5bG9jKSk7
CisJCSAgICB9CisjbGluZSA2OTMzICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBi
cmVhazsKKworICBjYXNlIDIxOToKKyNsaW5lIDE5NjAgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUy
ICAqLworICAgIHsKKwkJCSh5eXZhbC5ub2RlKSA9IGNhbGxfYmluX29wKHAsICh5eXZzcFstMl0u
bm9kZSksICcqJywgKHl5dnNwWzBdLm5vZGUpLCAmKHl5bHNwWy0xXSksICYoeXlsb2MpKTsKKwkJ
ICAgIH0KKyNsaW5lIDY5NDEgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFr
OworCisgIGNhc2UgMjIwOgorI2xpbmUgMTk2NCAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICov
CisgICAgeworCQkJKHl5dmFsLm5vZGUpID0gY2FsbF9iaW5fb3AocCwgKHl5dnNwWy0yXS5ub2Rl
KSwgJy8nLCAoeXl2c3BbMF0ubm9kZSksICYoeXlsc3BbLTFdKSwgJih5eWxvYykpOworCQkgICAg
fQorI2xpbmUgNjk0OSAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisK
KyAgY2FzZSAyMjE6CisjbGluZSAxOTY4ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAg
ICB7CisJCQkoeXl2YWwubm9kZSkgPSBjYWxsX2Jpbl9vcChwLCAoeXl2c3BbLTJdLm5vZGUpLCAn
JScsICh5eXZzcFswXS5ub2RlKSwgJih5eWxzcFstMV0pLCAmKHl5bG9jKSk7CisJCSAgICB9Cisj
bGluZSA2OTU3ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBj
YXNlIDIyMjoKKyNsaW5lIDE5NzIgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsK
KwkJCSh5eXZhbC5ub2RlKSA9IGNhbGxfYmluX29wKHAsICh5eXZzcFstMl0ubm9kZSksIGlkUG93
LCAoeXl2c3BbMF0ubm9kZSksICYoeXlsc3BbLTFdKSwgJih5eWxvYykpOworCQkgICAgfQorI2xp
bmUgNjk2NSAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2Fz
ZSAyMjM6CisjbGluZSAxOTc2ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJ
CQkoeXl2YWwubm9kZSkgPSBjYWxsX3VuaV9vcChwLCBjYWxsX2Jpbl9vcChwLCAoeXl2c3BbLTJd
Lm5vZGUpLCBpZFBvdywgKHl5dnNwWzBdLm5vZGUpLCAmKHl5bHNwWy0yXSksICYoeXlsb2MpKSwg
aWRVTWludXMsICYoeXlsc3BbLTNdKSwgJih5eWxvYykpOworCQkgICAgfQorI2xpbmUgNjk3MyAi
cGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSAyMjQ6Cisj
bGluZSAxOTgwICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCQkoeXl2YWwu
bm9kZSkgPSBjYWxsX3VuaV9vcChwLCAoeXl2c3BbMF0ubm9kZSksIGlkVVBsdXMsICYoeXlsc3Bb
LTFdKSwgJih5eWxvYykpOworCQkgICAgfQorI2xpbmUgNjk4MSAicGFyc2UuYyIgLyogeWFjYy5j
OjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSAyMjU6CisjbGluZSAxOTg0ICJwYXJzZS55
IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCQkoeXl2YWwubm9kZSkgPSBjYWxsX3VuaV9v
cChwLCAoeXl2c3BbMF0ubm9kZSksIGlkVU1pbnVzLCAmKHl5bHNwWy0xXSksICYoeXlsb2MpKTsK
KwkJICAgIH0KKyNsaW5lIDY5ODkgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJy
ZWFrOworCisgIGNhc2UgMjI2OgorI2xpbmUgMTk4OCAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIg
ICovCisgICAgeworCQkJKHl5dmFsLm5vZGUpID0gY2FsbF9iaW5fb3AocCwgKHl5dnNwWy0yXS5u
b2RlKSwgJ3wnLCAoeXl2c3BbMF0ubm9kZSksICYoeXlsc3BbLTFdKSwgJih5eWxvYykpOworCQkg
ICAgfQorI2xpbmUgNjk5NyAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7
CisKKyAgY2FzZSAyMjc6CisjbGluZSAxOTkyICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8K
KyAgICB7CisJCQkoeXl2YWwubm9kZSkgPSBjYWxsX2Jpbl9vcChwLCAoeXl2c3BbLTJdLm5vZGUp
LCAnXicsICh5eXZzcFswXS5ub2RlKSwgJih5eWxzcFstMV0pLCAmKHl5bG9jKSk7CisJCSAgICB9
CisjbGluZSA3MDA1ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKwor
ICBjYXNlIDIyODoKKyNsaW5lIDE5OTYgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAg
IHsKKwkJCSh5eXZhbC5ub2RlKSA9IGNhbGxfYmluX29wKHAsICh5eXZzcFstMl0ubm9kZSksICcm
JywgKHl5dnNwWzBdLm5vZGUpLCAmKHl5bHNwWy0xXSksICYoeXlsb2MpKTsKKwkJICAgIH0KKyNs
aW5lIDcwMTMgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNh
c2UgMjI5OgorI2xpbmUgMjAwMCAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgewor
CQkJKHl5dmFsLm5vZGUpID0gY2FsbF9iaW5fb3AocCwgKHl5dnNwWy0yXS5ub2RlKSwgaWRDbXAs
ICh5eXZzcFswXS5ub2RlKSwgJih5eWxzcFstMV0pLCAmKHl5bG9jKSk7CisJCSAgICB9CisjbGlu
ZSA3MDIxICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNl
IDIzMToKKyNsaW5lIDIwMDUgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJ
CSh5eXZhbC5ub2RlKSA9IGNhbGxfYmluX29wKHAsICh5eXZzcFstMl0ubm9kZSksIGlkRXEsICh5
eXZzcFswXS5ub2RlKSwgJih5eWxzcFstMV0pLCAmKHl5bG9jKSk7CisJCSAgICB9CisjbGluZSA3
MDI5ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDIz
MjoKKyNsaW5lIDIwMDkgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJCSh5
eXZhbC5ub2RlKSA9IGNhbGxfYmluX29wKHAsICh5eXZzcFstMl0ubm9kZSksIGlkRXFxLCAoeXl2
c3BbMF0ubm9kZSksICYoeXlsc3BbLTFdKSwgJih5eWxvYykpOworCQkgICAgfQorI2xpbmUgNzAz
NyAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSAyMzM6
CisjbGluZSAyMDEzICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCQkoeXl2
YWwubm9kZSkgPSBjYWxsX2Jpbl9vcChwLCAoeXl2c3BbLTJdLm5vZGUpLCBpZE5lcSwgKHl5dnNw
WzBdLm5vZGUpLCAmKHl5bHNwWy0xXSksICYoeXlsb2MpKTsKKwkJICAgIH0KKyNsaW5lIDcwNDUg
InBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgMjM0Ogor
I2xpbmUgMjAxNyAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkJKHl5dmFs
Lm5vZGUpID0gbWF0Y2hfb3AocCwgKHl5dnNwWy0yXS5ub2RlKSwgKHl5dnNwWzBdLm5vZGUpLCAm
KHl5bHNwWy0xXSksICYoeXlsb2MpKTsKKwkJICAgIH0KKyNsaW5lIDcwNTMgInBhcnNlLmMiIC8q
IHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgMjM1OgorI2xpbmUgMjAyMSAi
cGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkJKHl5dmFsLm5vZGUpID0gY2Fs
bF9iaW5fb3AocCwgKHl5dnNwWy0yXS5ub2RlKSwgaWROZXFUaWxkZSwgKHl5dnNwWzBdLm5vZGUp
LCAmKHl5bHNwWy0xXSksICYoeXlsb2MpKTsKKwkJICAgIH0KKyNsaW5lIDcwNjEgInBhcnNlLmMi
IC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgMjM2OgorI2xpbmUgMjAy
NSAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkJKHl5dmFsLm5vZGUpID0g
Y2FsbF91bmlfb3AocCwgbWV0aG9kX2NvbmQocCwgKHl5dnNwWzBdLm5vZGUpLCAmKHl5bHNwWzBd
KSksICchJywgJih5eWxzcFstMV0pLCAmKHl5bG9jKSk7CisJCSAgICB9CisjbGluZSA3MDY5ICJw
YXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDIzNzoKKyNs
aW5lIDIwMjkgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJCSh5eXZhbC5u
b2RlKSA9IGNhbGxfdW5pX29wKHAsICh5eXZzcFswXS5ub2RlKSwgJ34nLCAmKHl5bHNwWy0xXSks
ICYoeXlsb2MpKTsKKwkJICAgIH0KKyNsaW5lIDcwNzcgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUy
ICAqLworICAgIGJyZWFrOworCisgIGNhc2UgMjM4OgorI2xpbmUgMjAzMyAicGFyc2UueSIgLyog
eWFjYy5jOjE2NTIgICovCisgICAgeworCQkJKHl5dmFsLm5vZGUpID0gY2FsbF9iaW5fb3AocCwg
KHl5dnNwWy0yXS5ub2RlKSwgaWRMVExULCAoeXl2c3BbMF0ubm9kZSksICYoeXlsc3BbLTFdKSwg
Jih5eWxvYykpOworCQkgICAgfQorI2xpbmUgNzA4NSAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIg
ICovCisgICAgYnJlYWs7CisKKyAgY2FzZSAyMzk6CisjbGluZSAyMDM3ICJwYXJzZS55IiAvKiB5
YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCQkoeXl2YWwubm9kZSkgPSBjYWxsX2Jpbl9vcChwLCAo
eXl2c3BbLTJdLm5vZGUpLCBpZEdUR1QsICh5eXZzcFswXS5ub2RlKSwgJih5eWxzcFstMV0pLCAm
KHl5bG9jKSk7CisJCSAgICB9CisjbGluZSA3MDkzICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAg
Ki8KKyAgICBicmVhazsKKworICBjYXNlIDI0MDoKKyNsaW5lIDIwNDEgInBhcnNlLnkiIC8qIHlh
Y2MuYzoxNjUyICAqLworICAgIHsKKwkJCSh5eXZhbC5ub2RlKSA9IGxvZ29wKHAsIGlkQU5ET1As
ICh5eXZzcFstMl0ubm9kZSksICh5eXZzcFswXS5ub2RlKSwgJih5eWxzcFstMV0pLCAmKHl5bG9j
KSk7CisJCSAgICB9CisjbGluZSA3MTAxICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAg
ICBicmVhazsKKworICBjYXNlIDI0MToKKyNsaW5lIDIwNDUgInBhcnNlLnkiIC8qIHlhY2MuYzox
NjUyICAqLworICAgIHsKKwkJCSh5eXZhbC5ub2RlKSA9IGxvZ29wKHAsIGlkT1JPUCwgKHl5dnNw
Wy0yXS5ub2RlKSwgKHl5dnNwWzBdLm5vZGUpLCAmKHl5bHNwWy0xXSksICYoeXlsb2MpKTsKKwkJ
ICAgIH0KKyNsaW5lIDcxMDkgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFr
OworCisgIGNhc2UgMjQyOgorI2xpbmUgMjA0OCAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICov
CisgICAge3AtPmluX2RlZmluZWQgPSAxO30KKyNsaW5lIDcxMTUgInBhcnNlLmMiIC8qIHlhY2Mu
YzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgMjQzOgorI2xpbmUgMjA0OSAicGFyc2Uu
eSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkJcC0+aW5fZGVmaW5lZCA9IDA7CisJCQko
eXl2YWwubm9kZSkgPSBuZXdfZGVmaW5lZChwLCAoeXl2c3BbMF0ubm9kZSksICYoeXlsb2MpKTsK
KwkJICAgIH0KKyNsaW5lIDcxMjQgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJy
ZWFrOworCisgIGNhc2UgMjQ0OgorI2xpbmUgMjA1NCAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIg
ICovCisgICAgeworCQkgICAgLyolJSUqLworCQkJdmFsdWVfZXhwcigoeXl2c3BbLTVdLm5vZGUp
KTsKKwkJCSh5eXZhbC5ub2RlKSA9IG5ld19pZihwLCAoeXl2c3BbLTVdLm5vZGUpLCAoeXl2c3Bb
LTNdLm5vZGUpLCAoeXl2c3BbMF0ubm9kZSksICYoeXlsb2MpKTsKKwkJCWZpeHBvcygoeXl2YWwu
bm9kZSksICh5eXZzcFstNV0ubm9kZSkpOworCQkgICAgLyolICUqLworCQkgICAgLyolIHJpcHBl
cjogaWZvcCEoJDEsICQzLCAkNikgJSovCisJCSAgICB9CisjbGluZSA3MTM3ICJwYXJzZS5jIiAv
KiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDI0NToKKyNsaW5lIDIwNjMg
InBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJCSh5eXZhbC5ub2RlKSA9ICh5
eXZzcFswXS5ub2RlKTsKKwkJICAgIH0KKyNsaW5lIDcxNDUgInBhcnNlLmMiIC8qIHlhY2MuYzox
NjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgMjQ2OgorI2xpbmUgMjA2OCAicGFyc2UueSIg
LyogeWFjYy5jOjE2NTIgICovCisgICAgeyh5eXZhbC5pZCkgPSAnPic7fQorI2xpbmUgNzE1MSAi
cGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSAyNDc6Cisj
bGluZSAyMDY5ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7KHl5dmFsLmlkKSA9
ICc8Jzt9CisjbGluZSA3MTU3ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVh
azsKKworICBjYXNlIDI0ODoKKyNsaW5lIDIwNzAgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAq
LworICAgIHsoeXl2YWwuaWQpID0gaWRHRTt9CisjbGluZSA3MTYzICJwYXJzZS5jIiAvKiB5YWNj
LmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDI0OToKKyNsaW5lIDIwNzEgInBhcnNl
LnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsoeXl2YWwuaWQpID0gaWRMRTt9CisjbGluZSA3
MTY5ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDI1
MDoKKyNsaW5lIDIwNzUgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJCSh5
eXZhbC5ub2RlKSA9IGNhbGxfYmluX29wKHAsICh5eXZzcFstMl0ubm9kZSksICh5eXZzcFstMV0u
aWQpLCAoeXl2c3BbMF0ubm9kZSksICYoeXlsc3BbLTFdKSwgJih5eWxvYykpOworCQkgICAgfQor
I2xpbmUgNzE3NyAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAg
Y2FzZSAyNTE6CisjbGluZSAyMDc5ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7
CisJCQlyYl93YXJuaW5nMSgiY29tcGFyaXNvbiAnJXMnIGFmdGVyIGNvbXBhcmlzb24iLCBXQVJO
X0lEKCh5eXZzcFstMV0uaWQpKSk7CisJCQkoeXl2YWwubm9kZSkgPSBjYWxsX2Jpbl9vcChwLCAo
eXl2c3BbLTJdLm5vZGUpLCAoeXl2c3BbLTFdLmlkKSwgKHl5dnNwWzBdLm5vZGUpLCAmKHl5bHNw
Wy0xXSksICYoeXlsb2MpKTsKKwkJICAgIH0KKyNsaW5lIDcxODYgInBhcnNlLmMiIC8qIHlhY2Mu
YzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgMjUyOgorI2xpbmUgMjA4NiAicGFyc2Uu
eSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkJdmFsdWVfZXhwcigoeXl2c3BbMF0ubm9k
ZSkpOworCQkJKHl5dmFsLm5vZGUpID0gKHl5dnNwWzBdLm5vZGUpOworCQkgICAgfQorI2xpbmUg
NzE5NSAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSAy
NTQ6CisjbGluZSAyMDk0ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCQko
eXl2YWwubm9kZSkgPSAoeXl2c3BbLTFdLm5vZGUpOworCQkgICAgfQorI2xpbmUgNzIwMyAicGFy
c2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSAyNTU6CisjbGlu
ZSAyMDk4ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCSAgICAvKiUlJSov
CisJCQkoeXl2YWwubm9kZSkgPSAoeXl2c3BbLTFdLm5vZGUpID8gYXJnX2FwcGVuZChwLCAoeXl2
c3BbLTNdLm5vZGUpLCBuZXdfaGFzaChwLCAoeXl2c3BbLTFdLm5vZGUpLCAmKHl5bHNwWy0xXSkp
LCAmKHl5bG9jKSkgOiAoeXl2c3BbLTNdLm5vZGUpOworCQkgICAgLyolICUqLworCQkgICAgLyol
IHJpcHBlcjogYXJnc19hZGQhKCQxLCBiYXJlX2Fzc29jX2hhc2ghKCQzKSkgJSovCisJCSAgICB9
CisjbGluZSA3MjE0ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKwor
ICBjYXNlIDI1NjoKKyNsaW5lIDIxMDUgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAg
IHsKKwkJICAgIC8qJSUlKi8KKwkJCSh5eXZhbC5ub2RlKSA9ICh5eXZzcFstMV0ubm9kZSkgPyBO
RVdfTElTVChuZXdfaGFzaChwLCAoeXl2c3BbLTFdLm5vZGUpLCAmKHl5bHNwWy0xXSkpLCAmKHl5
bG9jKSkgOiAwOworCQkgICAgLyolICUqLworCQkgICAgLyolIHJpcHBlcjogYXJnc19hZGQhKGFy
Z3NfbmV3ISwgYmFyZV9hc3NvY19oYXNoISgkMSkpICUqLworCQkgICAgfQorI2xpbmUgNzIyNSAi
cGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSAyNTc6Cisj
bGluZSAyMTE0ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCQl2YWx1ZV9l
eHByKCh5eXZzcFswXS5ub2RlKSk7CisJCQkoeXl2YWwubm9kZSkgPSAoeXl2c3BbMF0ubm9kZSk7
CisJCSAgICB9CisjbGluZSA3MjM0ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBi
cmVhazsKKworICBjYXNlIDI1ODoKKyNsaW5lIDIxMTkgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUy
ICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCVlZTFRZUEUgbG9jID0gY29kZV9sb2NfZ2Vu
KCYoeXlsc3BbLTFdKSwgJih5eWxzcFswXSkpOworCQkJdmFsdWVfZXhwcigoeXl2c3BbLTJdLm5v
ZGUpKTsKKwkJCSh5eXZhbC5ub2RlKSA9IE5FV19SRVNDVUUoKHl5dnNwWy0yXS5ub2RlKSwgTkVX
X1JFU0JPRFkoMCwgcmVtb3ZlX2JlZ2luKCh5eXZzcFswXS5ub2RlKSksIDAsICZsb2MpLCAwLCAm
KHl5bG9jKSk7CisJCSAgICAvKiUgJSovCisJCSAgICAvKiUgcmlwcGVyOiByZXNjdWVfbW9kISgk
MSwgJDMpICUqLworCQkgICAgfQorI2xpbmUgNzI0NyAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIg
ICovCisgICAgYnJlYWs7CisKKyAgY2FzZSAyNTk6CisjbGluZSAyMTMwICJwYXJzZS55IiAvKiB5
YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCSAgICAvKiUlJSovCisJCQkoeXl2YWwubm9kZSkgPSAo
eXl2c3BbLTFdLm5vZGUpOworCQkgICAgLyolICUqLworCQkgICAgLyolIHJpcHBlcjogYXJnX3Bh
cmVuIShlc2NhcGVfUXVuZGVmKCQyKSkgJSovCisJCSAgICB9CisjbGluZSA3MjU4ICJwYXJzZS5j
IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDI2NDoKKyNsaW5lIDIx
NDUgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJICAgICAgKHl5dmFsLm5v
ZGUpID0gKHl5dnNwWy0xXS5ub2RlKTsKKwkJICAgIH0KKyNsaW5lIDcyNjYgInBhcnNlLmMiIC8q
IHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgMjY1OgorI2xpbmUgMjE0OSAi
cGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkgICAgLyolJSUqLworCQkJKHl5
dmFsLm5vZGUpID0gKHl5dnNwWy0xXS5ub2RlKSA/IGFyZ19hcHBlbmQocCwgKHl5dnNwWy0zXS5u
b2RlKSwgbmV3X2hhc2gocCwgKHl5dnNwWy0xXS5ub2RlKSwgJih5eWxzcFstMV0pKSwgJih5eWxv
YykpIDogKHl5dnNwWy0zXS5ub2RlKTsKKwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBwZXI6
IGFyZ3NfYWRkISgkMSwgYmFyZV9hc3NvY19oYXNoISgkMykpICUqLworCQkgICAgfQorI2xpbmUg
NzI3NyAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSAy
NjY6CisjbGluZSAyMTU2ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCSAg
ICAvKiUlJSovCisJCQkoeXl2YWwubm9kZSkgPSAoeXl2c3BbLTFdLm5vZGUpID8gTkVXX0xJU1Qo
bmV3X2hhc2gocCwgKHl5dnNwWy0xXS5ub2RlKSwgJih5eWxzcFstMV0pKSwgJih5eWxzcFstMV0p
KSA6IDA7CisJCSAgICAvKiUgJSovCisJCSAgICAvKiUgcmlwcGVyOiBhcmdzX2FkZCEoYXJnc19u
ZXchLCBiYXJlX2Fzc29jX2hhc2ghKCQxKSkgJSovCisJCSAgICB9CisjbGluZSA3Mjg4ICJwYXJz
ZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDI2NzoKKyNsaW5l
IDIxNjUgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8K
KwkJCXZhbHVlX2V4cHIoKHl5dnNwWzBdLm5vZGUpKTsKKwkJCSh5eXZhbC5ub2RlKSA9IE5FV19M
SVNUKCh5eXZzcFswXS5ub2RlKSwgJih5eWxvYykpOworCQkgICAgLyolICUqLworCQkgICAgLyol
IHJpcHBlcjogYXJnc19hZGQhKGFyZ3NfbmV3ISwgJDEpICUqLworCQkgICAgfQorI2xpbmUgNzMw
MCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSAyNjg6
CisjbGluZSAyMTczICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCSAgICAv
KiUlJSovCisJCQkoeXl2YWwubm9kZSkgPSBhcmdfYmxrX3Bhc3MoKHl5dnNwWy0xXS5ub2RlKSwg
KHl5dnNwWzBdLm5vZGUpKTsKKwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBwZXI6IGFyZ3Nf
YWRkX2Jsb2NrISgkMSwgJDIpICUqLworCQkgICAgfQorI2xpbmUgNzMxMSAicGFyc2UuYyIgLyog
eWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSAyNjk6CisjbGluZSAyMTgwICJw
YXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCSAgICAvKiUlJSovCisJCQkoeXl2
YWwubm9kZSkgPSAoeXl2c3BbLTFdLm5vZGUpID8gTkVXX0xJU1QobmV3X2hhc2gocCwgKHl5dnNw
Wy0xXS5ub2RlKSwgJih5eWxzcFstMV0pKSwgJih5eWxzcFstMV0pKSA6IDA7CisJCQkoeXl2YWwu
bm9kZSkgPSBhcmdfYmxrX3Bhc3MoKHl5dmFsLm5vZGUpLCAoeXl2c3BbMF0ubm9kZSkpOworCQkg
ICAgLyolICUqLworCQkgICAgLyolIHJpcHBlcjogYXJnc19hZGRfYmxvY2shKGFyZ3NfYWRkIShh
cmdzX25ldyEsIGJhcmVfYXNzb2NfaGFzaCEoJDEpKSwgJDIpICUqLworCQkgICAgfQorI2xpbmUg
NzMyMyAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSAy
NzA6CisjbGluZSAyMTg4ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCSAg
ICAvKiUlJSovCisJCQkoeXl2YWwubm9kZSkgPSAoeXl2c3BbLTFdLm5vZGUpID8gYXJnX2FwcGVu
ZChwLCAoeXl2c3BbLTNdLm5vZGUpLCBuZXdfaGFzaChwLCAoeXl2c3BbLTFdLm5vZGUpLCAmKHl5
bHNwWy0xXSkpLCAmKHl5bG9jKSkgOiAoeXl2c3BbLTNdLm5vZGUpOworCQkJKHl5dmFsLm5vZGUp
ID0gYXJnX2Jsa19wYXNzKCh5eXZhbC5ub2RlKSwgKHl5dnNwWzBdLm5vZGUpKTsKKwkJICAgIC8q
JSAlKi8KKwkJICAgIC8qJSByaXBwZXI6IGFyZ3NfYWRkX2Jsb2NrIShhcmdzX2FkZCEoJDEsIGJh
cmVfYXNzb2NfaGFzaCEoJDMpKSwgJDQpICUqLworCQkgICAgfQorI2xpbmUgNzMzNSAicGFyc2Uu
YyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSAyNzI6CisjbGluZSAy
MTk5ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCQkvKiBJZiBjYWxsX2Fy
Z3Mgc3RhcnRzIHdpdGggYSBvcGVuIHBhcmVuICcoJyBvciAnWycsCisJCQkgKiBsb29rLWFoZWFk
IHJlYWRpbmcgb2YgdGhlIGxldHRlcnMgY2FsbHMgQ01EQVJHX1BVU0goMCksCisJCQkgKiBidXQg
dGhlIHB1c2ggbXVzdCBiZSBkb25lIGFmdGVyIENNREFSR19QVVNIKDEpLgorCQkJICogU28gdGhp
cyBjb2RlIG1ha2VzIHRoZW0gY29uc2lzdGVudCBieSBmaXJzdCBjYW5jZWxsaW5nCisJCQkgKiB0
aGUgcHJlbWF0dXJlIENNREFSR19QVVNIKDApLCBkb2luZyBDTURBUkdfUFVTSCgxKSwKKwkJCSAq
IGFuZCBmaW5hbGx5IHJlZG9pbmcgQ01EQVJHX1BVU0goMCkuCisJCQkgKi8KKwkJCWludCBsb29r
YWhlYWQgPSAwOworCQkJc3dpdGNoICh5eWNoYXIpIHsKKwkJCSAgY2FzZSAnKCc6IGNhc2UgdExQ
QVJFTjogY2FzZSB0TFBBUkVOX0FSRzogY2FzZSAnWyc6IGNhc2UgdExCUkFDSzoKKwkJCSAgICBs
b29rYWhlYWQgPSAxOworCQkJfQorCQkJaWYgKGxvb2thaGVhZCkgQ01EQVJHX1BPUCgpOworCQkJ
Q01EQVJHX1BVU0goMSk7CisJCQlpZiAobG9va2FoZWFkKSBDTURBUkdfUFVTSCgwKTsKKwkJICAg
IH0KKyNsaW5lIDczNTcgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOwor
CisgIGNhc2UgMjczOgorI2xpbmUgMjIxNyAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisg
ICAgeworCQkJLyogY2FsbF9hcmdzIGNhbiBiZSBmb2xsb3dlZCBieSB0TEJSQUNFX0FSRyAodGhh
dCBkb2VzIENNREFSR19QVVNIKDApIGluIHRoZSBsZXhlcikKKwkJCSAqIGJ1dCB0aGUgcHVzaCBt
dXN0IGJlIGRvbmUgYWZ0ZXIgQ01EQVJHX1BPUCgpIGluIHRoZSBwYXJzZXIuCisJCQkgKiBTbyB0
aGlzIGNvZGUgZG9lcyBDTURBUkdfUE9QKCkgdG8gcG9wIDAgcHVzaGVkIGJ5IHRMQlJBQ0VfQVJH
LAorCQkJICogQ01EQVJHX1BPUCgpIHRvIHBvcCAxIHB1c2hlZCBieSBjb21tYW5kX2FyZ3MsCisJ
CQkgKiBhbmQgQ01EQVJHX1BVU0goMCkgdG8gcmVzdG9yZSBiYWNrIHRoZSBmbGFnIHNldCBieSB0
TEJSQUNFX0FSRy4KKwkJCSAqLworCQkJaW50IGxvb2thaGVhZCA9IDA7CisJCQlzd2l0Y2ggKHl5
Y2hhcikgeworCQkJICBjYXNlIHRMQlJBQ0VfQVJHOgorCQkJICAgIGxvb2thaGVhZCA9IDE7CisJ
CQl9CisJCQlpZiAobG9va2FoZWFkKSBDTURBUkdfUE9QKCk7CisJCQlDTURBUkdfUE9QKCk7CisJ
CQlpZiAobG9va2FoZWFkKSBDTURBUkdfUFVTSCgwKTsKKwkJCSh5eXZhbC5ub2RlKSA9ICh5eXZz
cFswXS5ub2RlKTsKKwkJICAgIH0KKyNsaW5lIDczNzkgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUy
ICAqLworICAgIGJyZWFrOworCisgIGNhc2UgMjc0OgorI2xpbmUgMjIzNyAicGFyc2UueSIgLyog
eWFjYy5jOjE2NTIgICovCisgICAgeworCQkgICAgLyolJSUqLworCQkJKHl5dmFsLm5vZGUpID0g
TkVXX0JMT0NLX1BBU1MoKHl5dnNwWzBdLm5vZGUpLCAmKHl5bG9jKSk7CisJCSAgICAvKiUgJSov
CisJCSAgICAvKiUgcmlwcGVyOiAkMiAlKi8KKwkJICAgIH0KKyNsaW5lIDczOTAgInBhcnNlLmMi
IC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgMjc1OgorI2xpbmUgMjI0
NiAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkJKHl5dmFsLm5vZGUpID0g
KHl5dnNwWzBdLm5vZGUpOworCQkgICAgfQorI2xpbmUgNzM5OCAicGFyc2UuYyIgLyogeWFjYy5j
OjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSAyNzY6CisjbGluZSAyMjUwICJwYXJzZS55
IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCQkoeXl2YWwubm9kZSkgPSAwOworCQkgICAg
fQorI2xpbmUgNzQwNiAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisK
KyAgY2FzZSAyNzc6CisjbGluZSAyMjU2ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAg
ICB7CisJCSAgICAvKiUlJSovCisJCQkoeXl2YWwubm9kZSkgPSBORVdfTElTVCgoeXl2c3BbMF0u
bm9kZSksICYoeXlsb2MpKTsKKwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBwZXI6IGFyZ3Nf
YWRkIShhcmdzX25ldyEsICQxKSAlKi8KKwkJICAgIH0KKyNsaW5lIDc0MTcgInBhcnNlLmMiIC8q
IHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgMjc4OgorI2xpbmUgMjI2MyAi
cGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkgICAgLyolJSUqLworCQkJKHl5
dmFsLm5vZGUpID0gTkVXX1NQTEFUKCh5eXZzcFswXS5ub2RlKSwgJih5eWxvYykpOworCQkgICAg
LyolICUqLworCQkgICAgLyolIHJpcHBlcjogYXJnc19hZGRfc3RhciEoYXJnc19uZXchLCAkMikg
JSovCisJCSAgICB9CisjbGluZSA3NDI4ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAg
ICBicmVhazsKKworICBjYXNlIDI3OToKKyNsaW5lIDIyNzAgInBhcnNlLnkiIC8qIHlhY2MuYzox
NjUyICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCSh5eXZhbC5ub2RlKSA9IGxhc3RfYXJn
X2FwcGVuZChwLCAoeXl2c3BbLTJdLm5vZGUpLCAoeXl2c3BbMF0ubm9kZSksICYoeXlsb2MpKTsK
KwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBwZXI6IGFyZ3NfYWRkISgkMSwgJDMpICUqLwor
CQkgICAgfQorI2xpbmUgNzQzOSAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJl
YWs7CisKKyAgY2FzZSAyODA6CisjbGluZSAyMjc3ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAg
Ki8KKyAgICB7CisJCSAgICAvKiUlJSovCisJCQkoeXl2YWwubm9kZSkgPSByZXN0X2FyZ19hcHBl
bmQocCwgKHl5dnNwWy0zXS5ub2RlKSwgKHl5dnNwWzBdLm5vZGUpLCAmKHl5bG9jKSk7CisJCSAg
ICAvKiUgJSovCisJCSAgICAvKiUgcmlwcGVyOiBhcmdzX2FkZF9zdGFyISgkMSwgJDQpICUqLwor
CQkgICAgfQorI2xpbmUgNzQ1MCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJl
YWs7CisKKyAgY2FzZSAyODM6CisjbGluZSAyMjkwICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAg
Ki8KKyAgICB7CisJCSAgICAvKiUlJSovCisJCQkoeXl2YWwubm9kZSkgPSBsYXN0X2FyZ19hcHBl
bmQocCwgKHl5dnNwWy0yXS5ub2RlKSwgKHl5dnNwWzBdLm5vZGUpLCAmKHl5bG9jKSk7CisJCSAg
ICAvKiUgJSovCisJCSAgICAvKiUgcmlwcGVyOiBtcmhzX2FkZCEobXJoc19uZXdfZnJvbV9hcmdz
ISgkMSksICQzKSAlKi8KKwkJICAgIH0KKyNsaW5lIDc0NjEgInBhcnNlLmMiIC8qIHlhY2MuYzox
NjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgMjg0OgorI2xpbmUgMjI5NyAicGFyc2UueSIg
LyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkgICAgLyolJSUqLworCQkJKHl5dmFsLm5vZGUp
ID0gcmVzdF9hcmdfYXBwZW5kKHAsICh5eXZzcFstM10ubm9kZSksICh5eXZzcFswXS5ub2RlKSwg
Jih5eWxvYykpOworCQkgICAgLyolICUqLworCQkgICAgLyolIHJpcHBlcjogbXJoc19hZGRfc3Rh
ciEobXJoc19uZXdfZnJvbV9hcmdzISgkMSksICQ0KSAlKi8KKwkJICAgIH0KKyNsaW5lIDc0NzIg
InBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgMjg1Ogor
I2xpbmUgMjMwNCAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkgICAgLyol
JSUqLworCQkJKHl5dmFsLm5vZGUpID0gTkVXX1NQTEFUKCh5eXZzcFswXS5ub2RlKSwgJih5eWxv
YykpOworCQkgICAgLyolICUqLworCQkgICAgLyolIHJpcHBlcjogbXJoc19hZGRfc3RhciEobXJo
c19uZXchLCAkMikgJSovCisJCSAgICB9CisjbGluZSA3NDgzICJwYXJzZS5jIiAvKiB5YWNjLmM6
MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDI5NjoKKyNsaW5lIDIzMjMgInBhcnNlLnki
IC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCSh5eXZhbC5ub2Rl
KSA9IE5FV19GQ0FMTCgoeXl2c3BbMF0uaWQpLCAwLCAmKHl5bG9jKSk7CisJCSAgICAvKiUgJSov
CisJCSAgICAvKiUgcmlwcGVyOiBtZXRob2RfYWRkX2FyZyEoZmNhbGwhKCQxKSwgYXJnc19uZXch
KSAlKi8KKwkJICAgIH0KKyNsaW5lIDc0OTQgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwor
ICAgIGJyZWFrOworCisgIGNhc2UgMjk3OgorI2xpbmUgMjMzMCAicGFyc2UueSIgLyogeWFjYy5j
OjE2NTIgICovCisgICAgeworCQkJQ01EQVJHX1BVU0goMCk7CisJCSAgICB9CisjbGluZSA3NTAy
ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDI5ODoK
KyNsaW5lIDIzMzUgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJCUNNREFS
R19QT1AoKTsKKwkJICAgIC8qJSUlKi8KKwkJCXNldF9saW5lX2JvZHkoKHl5dnNwWy0xXS5ub2Rl
KSwgKHl5bHNwWy0zXSkuZW5kX3Bvcy5saW5lbm8pOworCQkJKHl5dmFsLm5vZGUpID0gTkVXX0JF
R0lOKCh5eXZzcFstMV0ubm9kZSksICYoeXlsb2MpKTsKKwkJCW5kX3NldF9saW5lKCh5eXZhbC5u
b2RlKSwgKHl5bHNwWy0zXSkuZW5kX3Bvcy5saW5lbm8pOworCQkgICAgLyolICUqLworCQkgICAg
LyolIHJpcHBlcjogYmVnaW4hKCQzKSAlKi8KKwkJICAgIH0KKyNsaW5lIDc1MTYgInBhcnNlLmMi
IC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgMjk5OgorI2xpbmUgMjM0
NCAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAge1NFVF9MRVhfU1RBVEUoRVhQUl9F
TkRBUkcpO30KKyNsaW5lIDc1MjIgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJy
ZWFrOworCisgIGNhc2UgMzAwOgorI2xpbmUgMjM0NSAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIg
ICovCisgICAgeworCQkgICAgLyolJSUqLworCQkJKHl5dmFsLm5vZGUpID0gTkVXX0JFR0lOKDAs
ICYoeXlsb2MpKTsKKwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBwZXI6IHBhcmVuISgwKSAl
Ki8KKwkJICAgIH0KKyNsaW5lIDc1MzMgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAg
IGJyZWFrOworCisgIGNhc2UgMzAxOgorI2xpbmUgMjM1MSAicGFyc2UueSIgLyogeWFjYy5jOjE2
NTIgICovCisgICAge1NFVF9MRVhfU1RBVEUoRVhQUl9FTkRBUkcpO30KKyNsaW5lIDc1MzkgInBh
cnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgMzAyOgorI2xp
bmUgMjM1MiAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkgICAgLyolJSUq
LworCQkJKHl5dmFsLm5vZGUpID0gKHl5dnNwWy0yXS5ub2RlKTsKKwkJICAgIC8qJSAlKi8KKwkJ
ICAgIC8qJSByaXBwZXI6IHBhcmVuISgkMikgJSovCisJCSAgICB9CisjbGluZSA3NTUwICJwYXJz
ZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDMwMzoKKyNsaW5l
IDIzNTkgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8K
KwkJCSh5eXZhbC5ub2RlKSA9ICh5eXZzcFstMV0ubm9kZSk7CisJCSAgICAvKiUgJSovCisJCSAg
ICAvKiUgcmlwcGVyOiBwYXJlbiEoJDIpICUqLworCQkgICAgfQorI2xpbmUgNzU2MSAicGFyc2Uu
YyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSAzMDQ6CisjbGluZSAy
MzY2ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCSAgICAvKiUlJSovCisJ
CQkoeXl2YWwubm9kZSkgPSBORVdfQ09MT04yKCh5eXZzcFstMl0ubm9kZSksICh5eXZzcFswXS5p
ZCksICYoeXlsb2MpKTsKKwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBwZXI6IGNvbnN0X3Bh
dGhfcmVmISgkMSwgJDMpICUqLworCQkgICAgfQorI2xpbmUgNzU3MiAicGFyc2UuYyIgLyogeWFj
Yy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSAzMDU6CisjbGluZSAyMzczICJwYXJz
ZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCSAgICAvKiUlJSovCisJCQkoeXl2YWwu
bm9kZSkgPSBORVdfQ09MT04zKCh5eXZzcFswXS5pZCksICYoeXlsb2MpKTsKKwkJICAgIC8qJSAl
Ki8KKwkJICAgIC8qJSByaXBwZXI6IHRvcF9jb25zdF9yZWYhKCQyKSAlKi8KKwkJICAgIH0KKyNs
aW5lIDc1ODMgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNh
c2UgMzA2OgorI2xpbmUgMjM4MCAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgewor
CQkgICAgLyolJSUqLworCQkJKHl5dmFsLm5vZGUpID0gbWFrZV9hcnJheSgoeXl2c3BbLTFdLm5v
ZGUpLCAmKHl5bG9jKSk7CisJCSAgICAvKiUgJSovCisJCSAgICAvKiUgcmlwcGVyOiBhcnJheSEo
ZXNjYXBlX1F1bmRlZigkMikpICUqLworCQkgICAgfQorI2xpbmUgNzU5NCAicGFyc2UuYyIgLyog
eWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSAzMDc6CisjbGluZSAyMzg3ICJw
YXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCSAgICAvKiUlJSovCisJCQkoeXl2
YWwubm9kZSkgPSBuZXdfaGFzaChwLCAoeXl2c3BbLTFdLm5vZGUpLCAmKHl5bG9jKSk7CisJCQko
eXl2YWwubm9kZSktPm5kX2FsZW4gPSBUUlVFOworCQkgICAgLyolICUqLworCQkgICAgLyolIHJp
cHBlcjogaGFzaCEoZXNjYXBlX1F1bmRlZigkMikpICUqLworCQkgICAgfQorI2xpbmUgNzYwNiAi
cGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSAzMDg6Cisj
bGluZSAyMzk1ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCSAgICAvKiUl
JSovCisJCQkoeXl2YWwubm9kZSkgPSBORVdfUkVUVVJOKDAsICYoeXlsb2MpKTsKKwkJICAgIC8q
JSAlKi8KKwkJICAgIC8qJSByaXBwZXI6IHJldHVybjAhICUqLworCQkgICAgfQorI2xpbmUgNzYx
NyAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSAzMDk6
CisjbGluZSAyNDAyICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCSAgICAv
KiUlJSovCisJCQkoeXl2YWwubm9kZSkgPSBuZXdfeWllbGQocCwgKHl5dnNwWy0xXS5ub2RlKSwg
Jih5eWxvYykpOworCQkgICAgLyolICUqLworCQkgICAgLyolIHJpcHBlcjogeWllbGQhKHBhcmVu
ISgkMykpICUqLworCQkgICAgfQorI2xpbmUgNzYyOCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIg
ICovCisgICAgYnJlYWs7CisKKyAgY2FzZSAzMTA6CisjbGluZSAyNDA5ICJwYXJzZS55IiAvKiB5
YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCSAgICAvKiUlJSovCisJCQkoeXl2YWwubm9kZSkgPSBO
RVdfWUlFTEQoMCwgJih5eWxvYykpOworCQkgICAgLyolICUqLworCQkgICAgLyolIHJpcHBlcjog
eWllbGQhKHBhcmVuIShhcmdzX25ldyEpKSAlKi8KKwkJICAgIH0KKyNsaW5lIDc2MzkgInBhcnNl
LmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgMzExOgorI2xpbmUg
MjQxNiAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkgICAgLyolJSUqLwor
CQkJKHl5dmFsLm5vZGUpID0gTkVXX1lJRUxEKDAsICYoeXlsb2MpKTsKKwkJICAgIC8qJSAlKi8K
KwkJICAgIC8qJSByaXBwZXI6IHlpZWxkMCEgJSovCisJCSAgICB9CisjbGluZSA3NjUwICJwYXJz
ZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDMxMjoKKyNsaW5l
IDI0MjIgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHtwLT5pbl9kZWZpbmVkID0g
MTt9CisjbGluZSA3NjU2ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsK
KworICBjYXNlIDMxMzoKKyNsaW5lIDI0MjMgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwor
ICAgIHsKKwkJCXAtPmluX2RlZmluZWQgPSAwOworCQkJKHl5dmFsLm5vZGUpID0gbmV3X2RlZmlu
ZWQocCwgKHl5dnNwWy0xXS5ub2RlKSwgJih5eWxvYykpOworCQkgICAgfQorI2xpbmUgNzY2NSAi
cGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSAzMTQ6Cisj
bGluZSAyNDI4ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCQkoeXl2YWwu
bm9kZSkgPSBjYWxsX3VuaV9vcChwLCBtZXRob2RfY29uZChwLCAoeXl2c3BbLTFdLm5vZGUpLCAm
KHl5bHNwWy0xXSkpLCBNRVRIT0RfTk9ULCAmKHl5bHNwWy0zXSksICYoeXlsb2MpKTsKKwkJICAg
IH0KKyNsaW5lIDc2NzMgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOwor
CisgIGNhc2UgMzE1OgorI2xpbmUgMjQzMiAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisg
ICAgeworCQkJKHl5dmFsLm5vZGUpID0gY2FsbF91bmlfb3AocCwgbWV0aG9kX2NvbmQocCwgbmV3
X25pbCgmKHl5bHNwWy0xXSkpLCAmKHl5bHNwWy0xXSkpLCBNRVRIT0RfTk9ULCAmKHl5bHNwWy0y
XSksICYoeXlsb2MpKTsKKwkJICAgIH0KKyNsaW5lIDc2ODEgInBhcnNlLmMiIC8qIHlhY2MuYzox
NjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgMzE2OgorI2xpbmUgMjQzNiAicGFyc2UueSIg
LyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkgICAgLyolJSUqLworCQkJKHl5dmFsLm5vZGUp
ID0gbWV0aG9kX2FkZF9ibG9jayhwLCAoeXl2c3BbLTFdLm5vZGUpLCAoeXl2c3BbMF0ubm9kZSks
ICYoeXlsb2MpKTsKKwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBwZXI6IG1ldGhvZF9hZGRf
YmxvY2shKG1ldGhvZF9hZGRfYXJnIShmY2FsbCEoJDEpLCBhcmdzX25ldyEpLCAkMikgJSovCisJ
CSAgICB9CisjbGluZSA3NjkyICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVh
azsKKworICBjYXNlIDMxODoKKyNsaW5lIDI0NDQgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAq
LworICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCWJsb2NrX2R1cF9jaGVjayhwLCAoeXl2c3BbLTFd
Lm5vZGUpLT5uZF9hcmdzLCAoeXl2c3BbMF0ubm9kZSkpOworCQkJKHl5dmFsLm5vZGUpID0gbWV0
aG9kX2FkZF9ibG9jayhwLCAoeXl2c3BbLTFdLm5vZGUpLCAoeXl2c3BbMF0ubm9kZSksICYoeXls
b2MpKTsKKwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBwZXI6IG1ldGhvZF9hZGRfYmxvY2sh
KCQxLCAkMikgJSovCisJCSAgICB9CisjbGluZSA3NzA0ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1
MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDMxOToKKyNsaW5lIDI0NTIgInBhcnNlLnkiIC8q
IHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJCXRva2VuX2luZm9fcHVzaChwLCAiLT4iLCAmKHl5
bHNwWzBdKSk7CisJCSAgICB9CisjbGluZSA3NzEyICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAg
Ki8KKyAgICBicmVhazsKKworICBjYXNlIDMyMDoKKyNsaW5lIDI0NTYgInBhcnNlLnkiIC8qIHlh
Y2MuYzoxNjUyICAqLworICAgIHsKKwkJCSh5eXZhbC5ub2RlKSA9ICh5eXZzcFswXS5ub2RlKTsK
KyAgICAgICAgICAgICAgICAgICAgLyolJSUqLworICAgICAgICAgICAgICAgICAgICAgICAgbmRf
c2V0X2ZpcnN0X2xvYygoeXl2YWwubm9kZSksICh5eWxzcFstMl0pLmJlZ19wb3MpOworICAgICAg
ICAgICAgICAgICAgICAvKiUgJSovCisJCSAgICB9CisjbGluZSA3NzIzICJwYXJzZS5jIiAvKiB5
YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDMyMToKKyNsaW5lIDI0NjYgInBh
cnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCSh5eXZh
bC5ub2RlKSA9IG5ld19pZihwLCAoeXl2c3BbLTRdLm5vZGUpLCAoeXl2c3BbLTJdLm5vZGUpLCAo
eXl2c3BbLTFdLm5vZGUpLCAmKHl5bG9jKSk7CisJCQlmaXhwb3MoKHl5dmFsLm5vZGUpLCAoeXl2
c3BbLTRdLm5vZGUpKTsKKwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBwZXI6IGlmISgkMiwg
JDQsIGVzY2FwZV9RdW5kZWYoJDUpKSAlKi8KKwkJICAgIH0KKyNsaW5lIDc3MzUgInBhcnNlLmMi
IC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgMzIyOgorI2xpbmUgMjQ3
NyAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkgICAgLyolJSUqLworCQkJ
KHl5dmFsLm5vZGUpID0gbmV3X3VubGVzcyhwLCAoeXl2c3BbLTRdLm5vZGUpLCAoeXl2c3BbLTJd
Lm5vZGUpLCAoeXl2c3BbLTFdLm5vZGUpLCAmKHl5bG9jKSk7CisJCQlmaXhwb3MoKHl5dmFsLm5v
ZGUpLCAoeXl2c3BbLTRdLm5vZGUpKTsKKwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBwZXI6
IHVubGVzcyEoJDIsICQ0LCBlc2NhcGVfUXVuZGVmKCQ1KSkgJSovCisJCSAgICB9CisjbGluZSA3
NzQ3ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDMy
MzoKKyNsaW5lIDI0ODcgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJICAg
IC8qJSUlKi8KKwkJCSh5eXZhbC5ub2RlKSA9IE5FV19XSElMRShjb25kKHAsICh5eXZzcFstMl0u
bm9kZSksICYoeXlsc3BbLTJdKSksICh5eXZzcFstMV0ubm9kZSksIDEsICYoeXlsb2MpKTsKKwkJ
CWZpeHBvcygoeXl2YWwubm9kZSksICh5eXZzcFstMl0ubm9kZSkpOworCQkgICAgLyolICUqLwor
CQkgICAgLyolIHJpcHBlcjogd2hpbGUhKCQyLCAkMykgJSovCisJCSAgICB9CisjbGluZSA3NzU5
ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDMyNDoK
KyNsaW5lIDI0OTcgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJICAgIC8q
JSUlKi8KKwkJCSh5eXZhbC5ub2RlKSA9IE5FV19VTlRJTChjb25kKHAsICh5eXZzcFstMl0ubm9k
ZSksICYoeXlsc3BbLTJdKSksICh5eXZzcFstMV0ubm9kZSksIDEsICYoeXlsb2MpKTsKKwkJCWZp
eHBvcygoeXl2YWwubm9kZSksICh5eXZzcFstMl0ubm9kZSkpOworCQkgICAgLyolICUqLworCQkg
ICAgLyolIHJpcHBlcjogdW50aWwhKCQyLCAkMykgJSovCisJCSAgICB9CisjbGluZSA3NzcxICJw
YXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDMyNToKKyNs
aW5lIDI1MDcgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJICAgIC8qJSUl
Ki8KKwkJCSh5eXZhbC5ub2RlKSA9IE5FV19DQVNFKCh5eXZzcFstM10ubm9kZSksICh5eXZzcFst
MV0ubm9kZSksICYoeXlsb2MpKTsKKwkJCWZpeHBvcygoeXl2YWwubm9kZSksICh5eXZzcFstM10u
bm9kZSkpOworCQkgICAgLyolICUqLworCQkgICAgLyolIHJpcHBlcjogY2FzZSEoJDIsICQ0KSAl
Ki8KKwkJICAgIH0KKyNsaW5lIDc3ODMgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAg
IGJyZWFrOworCisgIGNhc2UgMzI2OgorI2xpbmUgMjUxNSAicGFyc2UueSIgLyogeWFjYy5jOjE2
NTIgICovCisgICAgeworCQkgICAgLyolJSUqLworCQkJKHl5dmFsLm5vZGUpID0gTkVXX0NBU0Uy
KCh5eXZzcFstMV0ubm9kZSksICYoeXlsb2MpKTsKKwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSBy
aXBwZXI6IGNhc2UhKFFuaWwsICQzKSAlKi8KKwkJICAgIH0KKyNsaW5lIDc3OTQgInBhcnNlLmMi
IC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgMzI3OgorI2xpbmUgMjUy
NCAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkgICAgLyolJSUqLworCQkJ
LyoKKwkJCSAqICBmb3IgYSwgYiwgYyBpbiBlCisJCQkgKiAgIz0+CisJCQkgKiAgZS5lYWNoe3wq
eHwgYSwgYiwgYyA9IHh9CisJCQkgKgorCQkJICogIGZvciBhIGluIGUKKwkJCSAqICAjPT4KKwkJ
CSAqICBlLmVhY2h7fHh8IGEsID0geH0KKwkJCSAqLworCQkJSUQgaWQgPSBpbnRlcm5hbF9pZChw
KTsKKwkJCU5PREUgKm0gPSBORVdfQVJHU19BVVgoMCwgMCwgJk5VTExfTE9DKTsKKwkJCU5PREUg
KmFyZ3MsICpzY29wZSwgKmludGVybmFsX3ZhciA9IE5FV19EVkFSKGlkLCAmKHl5bHNwWy00XSkp
OworCQkJcmJfaW1lbW9fdG1wYnVmX3QgKnRtcGJ1ZiA9IG5ld190bXBidWYoKTsKKwkJCUlEICp0
YmwgPSBBTExPQ19OKElELCAyKTsKKwkJCXRibFswXSA9IDEgLyogbGVuZ3RoIG9mIGxvY2FsIHZh
ciB0YWJsZSAqLzsgdGJsWzFdID0gaWQgLyogaW50ZXJuYWwgaWQgKi87CisJCQl0bXBidWYtPnB0
ciA9IChWQUxVRSAqKXRibDsKKworCQkJc3dpdGNoIChuZF90eXBlKCh5eXZzcFstNF0ubm9kZSkp
KSB7CisJCQkgIGNhc2UgTk9ERV9MQVNHTjoKKwkJCSAgY2FzZSBOT0RFX0RBU0dOOgorCQkJICBj
YXNlIE5PREVfREFTR05fQ1VSUjogLyogZS5lYWNoIHt8aW50ZXJuYWxfdmFyfCBhID0gaW50ZXJu
YWxfdmFyOyAuLi4gfSAqLworCQkJICAgICh5eXZzcFstNF0ubm9kZSktPm5kX3ZhbHVlID0gaW50
ZXJuYWxfdmFyOworCQkJICAgIGlkID0gMDsKKwkJCSAgICBtLT5uZF9wbGVuID0gMTsKKwkJCSAg
ICBtLT5uZF9uZXh0ID0gKHl5dnNwWy00XS5ub2RlKTsKKwkJCSAgICBicmVhazsKKwkJCSAgY2Fz
ZSBOT0RFX01BU0dOOiAvKiBlLmVhY2gge3wqaW50ZXJuYWxfdmFyfCBhLCBiLCBjID0gKGludGVy
bmFsX3Zhci5sZW5ndGggPT0gMSAmJiBBcnJheSA9PT0gKHRtcCA9IGludGVybmFsX3ZhclswXSkg
PyB0bXAgOiBpbnRlcm5hbF92YXIpOyAuLi4gfSAqLworCQkJICAgIG0tPm5kX25leHQgPSBub2Rl
X2Fzc2lnbihwLCAoeXl2c3BbLTRdLm5vZGUpLCBORVdfRk9SX01BU0dOKGludGVybmFsX3Zhciwg
Jih5eWxzcFstNF0pKSwgJih5eWxzcFstNF0pKTsKKwkJCSAgICBicmVhazsKKwkJCSAgZGVmYXVs
dDogLyogZS5lYWNoIHt8KmludGVybmFsX3ZhcnwgQGEsIEIsIGNbMV0sIGQuYXR0ciA9IGludGVy
bmFsX3ZhbDsgLi4uIH0gKi8KKwkJCSAgICBtLT5uZF9uZXh0ID0gbm9kZV9hc3NpZ24ocCwgTkVX
X01BU0dOKE5FV19MSVNUKCh5eXZzcFstNF0ubm9kZSksICYoeXlsc3BbLTRdKSksIDAsICYoeXls
c3BbLTRdKSksIGludGVybmFsX3ZhciwgJih5eWxzcFstNF0pKTsKKwkJCX0KKwkJCS8qIHt8Kmlu
dGVybmFsX2lkfCA8bT4gPSBpbnRlcm5hbF9pZDsgLi4uIH0gKi8KKwkJCWFyZ3MgPSBuZXdfYXJn
cyhwLCBtLCAwLCBpZCwgMCwgbmV3X2FyZ3NfdGFpbChwLCAwLCAwLCAwLCAmKHl5bHNwWy00XSkp
LCAmKHl5bHNwWy00XSkpOworCQkJc2NvcGUgPSBORVdfTk9ERShOT0RFX1NDT1BFLCB0YmwsICh5
eXZzcFstMV0ubm9kZSksIGFyZ3MsICYoeXlsb2MpKTsKKwkJCSh5eXZhbC5ub2RlKSA9IE5FV19G
T1IoKHl5dnNwWy0yXS5ub2RlKSwgc2NvcGUsICYoeXlsb2MpKTsKKwkJCWZpeHBvcygoeXl2YWwu
bm9kZSksICh5eXZzcFstNF0ubm9kZSkpOworCQkgICAgLyolICUqLworCQkgICAgLyolIHJpcHBl
cjogZm9yISgkMiwgJDQsICQ1KSAlKi8KKwkJICAgIH0KKyNsaW5lIDc4NDEgInBhcnNlLmMiIC8q
IHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgMzI4OgorI2xpbmUgMjU2NyAi
cGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkJaWYgKHAtPmluX2RlZikgewor
CQkJICAgIFlZTFRZUEUgbG9jID0gY29kZV9sb2NfZ2VuKCYoeXlsc3BbLTJdKSwgJih5eWxzcFst
MV0pKTsKKwkJCSAgICB5eWVycm9yMSgmbG9jLCAiY2xhc3MgZGVmaW5pdGlvbiBpbiBtZXRob2Qg
Ym9keSIpOworCQkJfQorCQkJKHl5dnNwWy0yXS5udW0pID0gcC0+aW5fY2xhc3M7CisJCQlwLT5p
bl9jbGFzcyA9IDE7CisJCQlsb2NhbF9wdXNoKHAsIDApOworCQkgICAgfQorI2xpbmUgNzg1NSAi
cGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSAzMjk6Cisj
bGluZSAyNTc4ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCSAgICAvKiUl
JSovCisJCQkoeXl2YWwubm9kZSkgPSBORVdfQ0xBU1MoKHl5dnNwWy00XS5ub2RlKSwgKHl5dnNw
Wy0xXS5ub2RlKSwgKHl5dnNwWy0zXS5ub2RlKSwgJih5eWxvYykpOworCQkJbmRfc2V0X2xpbmUo
KHl5dmFsLm5vZGUpLT5uZF9ib2R5LCAoeXlsc3BbMF0pLmVuZF9wb3MubGluZW5vKTsKKwkJCXNl
dF9saW5lX2JvZHkoKHl5dnNwWy0xXS5ub2RlKSwgKHl5bHNwWy0zXSkuZW5kX3Bvcy5saW5lbm8p
OworCQkJbmRfc2V0X2xpbmUoKHl5dmFsLm5vZGUpLCAoeXlsc3BbLTNdKS5lbmRfcG9zLmxpbmVu
byk7CisJCSAgICAvKiUgJSovCisJCSAgICAvKiUgcmlwcGVyOiBjbGFzcyEoJDIsICQzLCAkNSkg
JSovCisJCQlsb2NhbF9wb3AocCk7CisJCQlwLT5pbl9jbGFzcyA9ICh5eXZzcFstNV0ubnVtKSAm
IDE7CisJCSAgICB9CisjbGluZSA3ODcxICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAg
ICBicmVhazsKKworICBjYXNlIDMzMDoKKyNsaW5lIDI1OTAgInBhcnNlLnkiIC8qIHlhY2MuYzox
NjUyICAqLworICAgIHsKKwkJCSh5eXZhbC5udW0pID0gKHAtPmluX2NsYXNzIDw8IDEpIHwgcC0+
aW5fZGVmOworCQkJcC0+aW5fZGVmID0gMDsKKwkJCXAtPmluX2NsYXNzID0gMDsKKwkJCWxvY2Fs
X3B1c2gocCwgMCk7CisJCSAgICB9CisjbGluZSA3ODgyICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1
MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDMzMToKKyNsaW5lIDI1OTkgInBhcnNlLnkiIC8q
IHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCSh5eXZhbC5ub2RlKSA9
IE5FV19TQ0xBU1MoKHl5dnNwWy00XS5ub2RlKSwgKHl5dnNwWy0xXS5ub2RlKSwgJih5eWxvYykp
OworCQkJbmRfc2V0X2xpbmUoKHl5dmFsLm5vZGUpLT5uZF9ib2R5LCAoeXlsc3BbMF0pLmVuZF9w
b3MubGluZW5vKTsKKwkJCXNldF9saW5lX2JvZHkoKHl5dnNwWy0xXS5ub2RlKSwgbmRfbGluZSgo
eXl2c3BbLTRdLm5vZGUpKSk7CisJCQlmaXhwb3MoKHl5dmFsLm5vZGUpLCAoeXl2c3BbLTRdLm5v
ZGUpKTsKKwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBwZXI6IHNjbGFzcyEoJDMsICQ2KSAl
Ki8KKwkJCWxvY2FsX3BvcChwKTsKKwkJCXAtPmluX2RlZiA9ICh5eXZzcFstM10ubnVtKSAmIDE7
CisJCQlwLT5pbl9jbGFzcyA9ICgoeXl2c3BbLTNdLm51bSkgPj4gMSkgJiAxOworCQkgICAgfQor
I2xpbmUgNzg5OSAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAg
Y2FzZSAzMzI6CisjbGluZSAyNjEyICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7
CisJCQlpZiAocC0+aW5fZGVmKSB7CisJCQkgICAgWVlMVFlQRSBsb2MgPSBjb2RlX2xvY19nZW4o
Jih5eWxzcFstMV0pLCAmKHl5bHNwWzBdKSk7CisJCQkgICAgeXllcnJvcjEoJmxvYywgIm1vZHVs
ZSBkZWZpbml0aW9uIGluIG1ldGhvZCBib2R5Iik7CisJCQl9CisJCQkoeXl2c3BbLTFdLm51bSkg
PSBwLT5pbl9jbGFzczsKKwkJCXAtPmluX2NsYXNzID0gMTsKKwkJCWxvY2FsX3B1c2gocCwgMCk7
CisJCSAgICB9CisjbGluZSA3OTEzICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBi
cmVhazsKKworICBjYXNlIDMzMzoKKyNsaW5lIDI2MjMgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUy
ICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCSh5eXZhbC5ub2RlKSA9IE5FV19NT0RVTEUo
KHl5dnNwWy0zXS5ub2RlKSwgKHl5dnNwWy0xXS5ub2RlKSwgJih5eWxvYykpOworCQkJbmRfc2V0
X2xpbmUoKHl5dmFsLm5vZGUpLT5uZF9ib2R5LCAoeXlsc3BbMF0pLmVuZF9wb3MubGluZW5vKTsK
KwkJCXNldF9saW5lX2JvZHkoKHl5dnNwWy0xXS5ub2RlKSwgKHl5bHNwWy0zXSkuZW5kX3Bvcy5s
aW5lbm8pOworCQkJbmRfc2V0X2xpbmUoKHl5dmFsLm5vZGUpLCAoeXlsc3BbLTNdKS5lbmRfcG9z
LmxpbmVubyk7CisJCSAgICAvKiUgJSovCisJCSAgICAvKiUgcmlwcGVyOiBtb2R1bGUhKCQyLCAk
NCkgJSovCisJCQlsb2NhbF9wb3AocCk7CisJCQlwLT5pbl9jbGFzcyA9ICh5eXZzcFstNF0ubnVt
KSAmIDE7CisJCSAgICB9CisjbGluZSA3OTI5ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8K
KyAgICBicmVhazsKKworICBjYXNlIDMzNDoKKyNsaW5lIDI2MzUgInBhcnNlLnkiIC8qIHlhY2Mu
YzoxNjUyICAqLworICAgIHsKKwkJCWxvY2FsX3B1c2gocCwgMCk7CisJCQkoeXl2YWwuaWQpID0g
cC0+Y3VyX2FyZzsKKwkJCXAtPmN1cl9hcmcgPSAwOworCQkgICAgfQorI2xpbmUgNzkzOSAicGFy
c2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSAzMzU6CisjbGlu
ZSAyNjQwICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCQkoeXl2YWwubnVt
KSA9IHAtPmluX2RlZjsKKwkJCXAtPmluX2RlZiA9IDE7CisJCSAgICB9CisjbGluZSA3OTQ4ICJw
YXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDMzNjoKKyNs
aW5lIDI2NDcgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJICAgIC8qJSUl
Ki8KKwkJCU5PREUgKmJvZHkgPSByZW1vdmVfYmVnaW4oKHl5dnNwWy0xXS5ub2RlKSk7CisJCQly
ZWR1Y2Vfbm9kZXMocCwgJmJvZHkpOworCQkJKHl5dmFsLm5vZGUpID0gTkVXX0RFRk4oKHl5dnNw
Wy01XS5pZCksICh5eXZzcFstMl0ubm9kZSksIGJvZHksICYoeXlsb2MpKTsKKwkJCW5kX3NldF9s
aW5lKCh5eXZhbC5ub2RlKS0+bmRfZGVmbiwgKHl5bHNwWzBdKS5lbmRfcG9zLmxpbmVubyk7CisJ
CQlzZXRfbGluZV9ib2R5KGJvZHksICh5eWxzcFstNl0pLmJlZ19wb3MubGluZW5vKTsKKwkJICAg
IC8qJSAlKi8KKwkJICAgIC8qJSByaXBwZXI6IGRlZiEoJDIsICQ1LCAkNikgJSovCisJCQlsb2Nh
bF9wb3AocCk7CisJCQlwLT5pbl9kZWYgPSAoeXl2c3BbLTNdLm51bSkgJiAxOworCQkJcC0+Y3Vy
X2FyZyA9ICh5eXZzcFstNF0uaWQpOworCQkgICAgfQorI2xpbmUgNzk2NiAicGFyc2UuYyIgLyog
eWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSAzMzc6CisjbGluZSAyNjYwICJw
YXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7U0VUX0xFWF9TVEFURShFWFBSX0ZOQU1F
KTt9CisjbGluZSA3OTcyICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsK
KworICBjYXNlIDMzODoKKyNsaW5lIDI2NjEgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwor
ICAgIHsKKwkJCSh5eXZzcFstMV0ubnVtKSA9IHAtPmluX2RlZjsKKwkJCXAtPmluX2RlZiA9IDE7
CisJCQlTRVRfTEVYX1NUQVRFKEVYUFJfRU5ERk58RVhQUl9MQUJFTCk7IC8qIGZvcmNlIGZvciBh
cmdzICovCisJCQlsb2NhbF9wdXNoKHAsIDApOworCQkJKHl5dmFsLmlkKSA9IHAtPmN1cl9hcmc7
CisJCQlwLT5jdXJfYXJnID0gMDsKKwkJICAgIH0KKyNsaW5lIDc5ODUgInBhcnNlLmMiIC8qIHlh
Y2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgMzM5OgorI2xpbmUgMjY3MiAicGFy
c2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkgICAgLyolJSUqLworCQkJTk9ERSAq
Ym9keSA9IHJlbW92ZV9iZWdpbigoeXl2c3BbLTFdLm5vZGUpKTsKKwkJCXJlZHVjZV9ub2Rlcyhw
LCAmYm9keSk7CisJCQkoeXl2YWwubm9kZSkgPSBORVdfREVGUygoeXl2c3BbLTddLm5vZGUpLCAo
eXl2c3BbLTRdLmlkKSwgKHl5dnNwWy0yXS5ub2RlKSwgYm9keSwgJih5eWxvYykpOworCQkJbmRf
c2V0X2xpbmUoKHl5dmFsLm5vZGUpLT5uZF9kZWZuLCAoeXlsc3BbMF0pLmVuZF9wb3MubGluZW5v
KTsKKwkJCXNldF9saW5lX2JvZHkoYm9keSwgKHl5bHNwWy04XSkuYmVnX3Bvcy5saW5lbm8pOwor
CQkgICAgLyolICUqLworCQkgICAgLyolIHJpcHBlcjogZGVmcyEoJDIsICQzLCAkNSwgJDcsICQ4
KSAlKi8KKwkJCWxvY2FsX3BvcChwKTsKKwkJCXAtPmluX2RlZiA9ICh5eXZzcFstNV0ubnVtKSAm
IDE7CisJCQlwLT5jdXJfYXJnID0gKHl5dnNwWy0zXS5pZCk7CisJCSAgICB9CisjbGluZSA4MDAz
ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDM0MDoK
KyNsaW5lIDI2ODYgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJICAgIC8q
JSUlKi8KKwkJCSh5eXZhbC5ub2RlKSA9IE5FV19CUkVBSygwLCAmKHl5bG9jKSk7CisJCSAgICAv
KiUgJSovCisJCSAgICAvKiUgcmlwcGVyOiBicmVhayEoYXJnc19uZXchKSAlKi8KKwkJICAgIH0K
KyNsaW5lIDgwMTQgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisg
IGNhc2UgMzQxOgorI2xpbmUgMjY5MyAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAg
eworCQkgICAgLyolJSUqLworCQkJKHl5dmFsLm5vZGUpID0gTkVXX05FWFQoMCwgJih5eWxvYykp
OworCQkgICAgLyolICUqLworCQkgICAgLyolIHJpcHBlcjogbmV4dCEoYXJnc19uZXchKSAlKi8K
KwkJICAgIH0KKyNsaW5lIDgwMjUgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJy
ZWFrOworCisgIGNhc2UgMzQyOgorI2xpbmUgMjcwMCAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIg
ICovCisgICAgeworCQkgICAgLyolJSUqLworCQkJKHl5dmFsLm5vZGUpID0gTkVXX1JFRE8oJih5
eWxvYykpOworCQkgICAgLyolICUqLworCQkgICAgLyolIHJpcHBlcjogcmVkbyEgJSovCisJCSAg
ICB9CisjbGluZSA4MDM2ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsK
KworICBjYXNlIDM0MzoKKyNsaW5lIDI3MDcgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwor
ICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCSh5eXZhbC5ub2RlKSA9IE5FV19SRVRSWSgmKHl5bG9j
KSk7CisJCSAgICAvKiUgJSovCisJCSAgICAvKiUgcmlwcGVyOiByZXRyeSEgJSovCisJCSAgICB9
CisjbGluZSA4MDQ3ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKwor
ICBjYXNlIDM0NDoKKyNsaW5lIDI3MTYgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAg
IHsKKwkJCXZhbHVlX2V4cHIoKHl5dnNwWzBdLm5vZGUpKTsKKwkJCSh5eXZhbC5ub2RlKSA9ICh5
eXZzcFswXS5ub2RlKTsKKwkJICAgIH0KKyNsaW5lIDgwNTYgInBhcnNlLmMiIC8qIHlhY2MuYzox
NjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgMzQ1OgorI2xpbmUgMjcyMyAicGFyc2UueSIg
LyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkJdG9rZW5faW5mb19wdXNoKHAsICJiZWdpbiIs
ICYoeXlsb2MpKTsKKwkJICAgIH0KKyNsaW5lIDgwNjQgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUy
ICAqLworICAgIGJyZWFrOworCisgIGNhc2UgMzQ2OgorI2xpbmUgMjcyOSAicGFyc2UueSIgLyog
eWFjYy5jOjE2NTIgICovCisgICAgeworCQkJdG9rZW5faW5mb19wdXNoKHAsICJpZiIsICYoeXls
b2MpKTsKKwkJICAgIH0KKyNsaW5lIDgwNzIgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwor
ICAgIGJyZWFrOworCisgIGNhc2UgMzQ3OgorI2xpbmUgMjczNSAicGFyc2UueSIgLyogeWFjYy5j
OjE2NTIgICovCisgICAgeworCQkJdG9rZW5faW5mb19wdXNoKHAsICJ1bmxlc3MiLCAmKHl5bG9j
KSk7CisJCSAgICB9CisjbGluZSA4MDgwICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAg
ICBicmVhazsKKworICBjYXNlIDM0ODoKKyNsaW5lIDI3NDEgInBhcnNlLnkiIC8qIHlhY2MuYzox
NjUyICAqLworICAgIHsKKwkJCXRva2VuX2luZm9fcHVzaChwLCAid2hpbGUiLCAmKHl5bG9jKSk7
CisJCSAgICB9CisjbGluZSA4MDg4ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBi
cmVhazsKKworICBjYXNlIDM0OToKKyNsaW5lIDI3NDcgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUy
ICAqLworICAgIHsKKwkJCXRva2VuX2luZm9fcHVzaChwLCAidW50aWwiLCAmKHl5bG9jKSk7CisJ
CSAgICB9CisjbGluZSA4MDk2ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVh
azsKKworICBjYXNlIDM1MDoKKyNsaW5lIDI3NTMgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAq
LworICAgIHsKKwkJCXRva2VuX2luZm9fcHVzaChwLCAiY2FzZSIsICYoeXlsb2MpKTsKKwkJICAg
IH0KKyNsaW5lIDgxMDQgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOwor
CisgIGNhc2UgMzUxOgorI2xpbmUgMjc1OSAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisg
ICAgeworCQkJdG9rZW5faW5mb19wdXNoKHAsICJmb3IiLCAmKHl5bG9jKSk7CisJCSAgICB9Cisj
bGluZSA4MTEyICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBj
YXNlIDM1MjoKKyNsaW5lIDI3NjUgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsK
KwkJCXRva2VuX2luZm9fcHVzaChwLCAiY2xhc3MiLCAmKHl5bG9jKSk7CisJCSAgICB9CisjbGlu
ZSA4MTIwICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNl
IDM1MzoKKyNsaW5lIDI3NzEgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJ
CXRva2VuX2luZm9fcHVzaChwLCAibW9kdWxlIiwgJih5eWxvYykpOworCQkgICAgfQorI2xpbmUg
ODEyOCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSAz
NTQ6CisjbGluZSAyNzc3ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCQl0
b2tlbl9pbmZvX3B1c2gocCwgImRlZiIsICYoeXlsb2MpKTsKKwkJICAgIH0KKyNsaW5lIDgxMzYg
InBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgMzU1Ogor
I2xpbmUgMjc4MyAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkJdG9rZW5f
aW5mb19wdXNoKHAsICJkbyIsICYoeXlsb2MpKTsKKwkJICAgIH0KKyNsaW5lIDgxNDQgInBhcnNl
LmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgMzU2OgorI2xpbmUg
Mjc4OSAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkJdG9rZW5faW5mb19w
dXNoKHAsICJkbyIsICYoeXlsb2MpKTsKKwkJICAgIH0KKyNsaW5lIDgxNTIgInBhcnNlLmMiIC8q
IHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgMzU3OgorI2xpbmUgMjc5NSAi
cGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkJdG9rZW5faW5mb193YXJuKHAs
ICJyZXNjdWUiLCBwLT50b2tlbl9pbmZvLCAxLCAmKHl5bG9jKSk7CisJCSAgICB9CisjbGluZSA4
MTYwICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDM1
ODoKKyNsaW5lIDI4MDEgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJCXRv
a2VuX2luZm9fd2FybihwLCAiZW5zdXJlIiwgcC0+dG9rZW5faW5mbywgMSwgJih5eWxvYykpOwor
CQkgICAgfQorI2xpbmUgODE2OCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJl
YWs7CisKKyAgY2FzZSAzNTk6CisjbGluZSAyODA3ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAg
Ki8KKyAgICB7CisJCQl0b2tlbl9pbmZvX3dhcm4ocCwgIndoZW4iLCBwLT50b2tlbl9pbmZvLCAw
LCAmKHl5bG9jKSk7CisJCSAgICB9CisjbGluZSA4MTc2ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1
MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDM2MDoKKyNsaW5lIDI4MTMgInBhcnNlLnkiIC8q
IHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJCXRva2VuX2luZm8gKnB0aW5mb19iZWcgPSBwLT50
b2tlbl9pbmZvOworCQkJaW50IHNhbWUgPSBwdGluZm9fYmVnICYmIHN0cmNtcChwdGluZm9fYmVn
LT50b2tlbiwgImNhc2UiKSAhPSAwOworCQkJdG9rZW5faW5mb193YXJuKHAsICJlbHNlIiwgcC0+
dG9rZW5faW5mbywgc2FtZSwgJih5eWxvYykpOworCQkgICAgfQorI2xpbmUgODE4NiAicGFyc2Uu
YyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSAzNjE6CisjbGluZSAy
ODIxICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCQl0b2tlbl9pbmZvX3dh
cm4ocCwgImVsc2lmIiwgcC0+dG9rZW5faW5mbywgMSwgJih5eWxvYykpOworCQkgICAgfQorI2xp
bmUgODE5NCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2Fz
ZSAzNjI6CisjbGluZSAyODI3ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJ
CQl0b2tlbl9pbmZvX3BvcChwLCAiZW5kIiwgJih5eWxvYykpOworCQkgICAgfQorI2xpbmUgODIw
MiAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSAzNjM6
CisjbGluZSAyODMzICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCQlpZiAo
cC0+aW5fY2xhc3MgJiYgIXAtPmluX2RlZiAmJiAhZHluYV9pbl9ibG9jayhwKSkKKwkJCSAgICB5
eWVycm9yMSgmKHl5bHNwWzBdKSwgIkludmFsaWQgcmV0dXJuIGluIGNsYXNzL21vZHVsZSBib2R5
Iik7CisJCSAgICB9CisjbGluZSA4MjExICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAg
ICBicmVhazsKKworICBjYXNlIDM3MDoKKyNsaW5lIDI4NTIgInBhcnNlLnkiIC8qIHlhY2MuYzox
NjUyICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCSh5eXZhbC5ub2RlKSA9IG5ld19pZihw
LCAoeXl2c3BbLTNdLm5vZGUpLCAoeXl2c3BbLTFdLm5vZGUpLCAoeXl2c3BbMF0ubm9kZSksICYo
eXlsb2MpKTsKKwkJCWZpeHBvcygoeXl2YWwubm9kZSksICh5eXZzcFstM10ubm9kZSkpOworCQkg
ICAgLyolICUqLworCQkgICAgLyolIHJpcHBlcjogZWxzaWYhKCQyLCAkNCwgZXNjYXBlX1F1bmRl
ZigkNSkpICUqLworCQkgICAgfQorI2xpbmUgODIyMyAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIg
ICovCisgICAgYnJlYWs7CisKKyAgY2FzZSAzNzI6CisjbGluZSAyODYzICJwYXJzZS55IiAvKiB5
YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCSAgICAvKiUlJSovCisJCQkoeXl2YWwubm9kZSkgPSAo
eXl2c3BbMF0ubm9kZSk7CisJCSAgICAvKiUgJSovCisJCSAgICAvKiUgcmlwcGVyOiBlbHNlISgk
MikgJSovCisJCSAgICB9CisjbGluZSA4MjM0ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8K
KyAgICBicmVhazsKKworICBjYXNlIDM3NToKKyNsaW5lIDI4NzYgInBhcnNlLnkiIC8qIHlhY2Mu
YzoxNjUyICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCSh5eXZhbC5ub2RlKSA9IGFzc2ln
bmFibGUocCwgKHl5dnNwWzBdLmlkKSwgMCwgJih5eWxvYykpOworCQkgICAgLyolICUqLworCQkg
ICAgLyolIHJpcHBlcjogYXNzaWduYWJsZShwLCAkMSkgJSovCisJCSAgICB9CisjbGluZSA4MjQ1
ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDM3NjoK
KyNsaW5lIDI4ODMgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJICAgIC8q
JSUlKi8KKwkJCSh5eXZhbC5ub2RlKSA9ICh5eXZzcFstMV0ubm9kZSk7CisJCSAgICAvKiUgJSov
CisJCSAgICAvKiUgcmlwcGVyOiBtbGhzX3BhcmVuISgkMikgJSovCisJCSAgICB9CisjbGluZSA4
MjU2ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDM3
NzoKKyNsaW5lIDI4OTIgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJICAg
IC8qJSUlKi8KKwkJCSh5eXZhbC5ub2RlKSA9IE5FV19MSVNUKCh5eXZzcFswXS5ub2RlKSwgJih5
eWxvYykpOworCQkgICAgLyolICUqLworCQkgICAgLyolIHJpcHBlcjogbWxoc19hZGQhKG1saHNf
bmV3ISwgJDEpICUqLworCQkgICAgfQorI2xpbmUgODI2NyAicGFyc2UuYyIgLyogeWFjYy5jOjE2
NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSAzNzg6CisjbGluZSAyODk5ICJwYXJzZS55IiAv
KiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCSAgICAvKiUlJSovCisJCQkoeXl2YWwubm9kZSkg
PSBsaXN0X2FwcGVuZChwLCAoeXl2c3BbLTJdLm5vZGUpLCAoeXl2c3BbMF0ubm9kZSkpOworCQkg
ICAgLyolICUqLworCQkgICAgLyolIHJpcHBlcjogbWxoc19hZGQhKCQxLCAkMykgJSovCisJCSAg
ICB9CisjbGluZSA4Mjc4ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsK
KworICBjYXNlIDM3OToKKyNsaW5lIDI5MDggInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwor
ICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCSh5eXZhbC5ub2RlKSA9IE5FV19NQVNHTigoeXl2c3Bb
MF0ubm9kZSksIDAsICYoeXlsb2MpKTsKKwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBwZXI6
ICQxICUqLworCQkgICAgfQorI2xpbmUgODI4OSAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICov
CisgICAgYnJlYWs7CisKKyAgY2FzZSAzODA6CisjbGluZSAyOTE1ICJwYXJzZS55IiAvKiB5YWNj
LmM6MTY1MiAgKi8KKyAgICB7CisJCSAgICAvKiUlJSovCisJCQkoeXl2YWwubm9kZSkgPSBORVdf
TUFTR04oKHl5dnNwWy0zXS5ub2RlKSwgYXNzaWduYWJsZShwLCAoeXl2c3BbMF0uaWQpLCAwLCAm
KHl5bG9jKSksICYoeXlsb2MpKTsKKwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBwZXI6IG1s
aHNfYWRkX3N0YXIhKCQxLCBhc3NpZ25hYmxlKHAsICQ0KSkgJSovCisJCSAgICB9CisjbGluZSA4
MzAwICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDM4
MToKKyNsaW5lIDI5MjIgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJICAg
IC8qJSUlKi8KKwkJCSh5eXZhbC5ub2RlKSA9IE5FV19NQVNHTigoeXl2c3BbLTVdLm5vZGUpLCBO
RVdfUE9TVEFSRyhhc3NpZ25hYmxlKHAsICh5eXZzcFstMl0uaWQpLCAwLCAmKHl5bG9jKSksICh5
eXZzcFswXS5ub2RlKSwgJih5eWxvYykpLCAmKHl5bG9jKSk7CisJCSAgICAvKiUgJSovCisJCSAg
ICAvKiUgcmlwcGVyOiBtbGhzX2FkZF9wb3N0IShtbGhzX2FkZF9zdGFyISgkMSwgYXNzaWduYWJs
ZShwLCAkNCkpLCAkNikgJSovCisJCSAgICB9CisjbGluZSA4MzExICJwYXJzZS5jIiAvKiB5YWNj
LmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDM4MjoKKyNsaW5lIDI5MjkgInBhcnNl
LnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCSh5eXZhbC5u
b2RlKSA9IE5FV19NQVNHTigoeXl2c3BbLTJdLm5vZGUpLCBOT0RFX1NQRUNJQUxfTk9fTkFNRV9S
RVNULCAmKHl5bG9jKSk7CisJCSAgICAvKiUgJSovCisJCSAgICAvKiUgcmlwcGVyOiBtbGhzX2Fk
ZF9zdGFyISgkMSwgUW5pbCkgJSovCisJCSAgICB9CisjbGluZSA4MzIyICJwYXJzZS5jIiAvKiB5
YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDM4MzoKKyNsaW5lIDI5MzYgInBh
cnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCSh5eXZh
bC5ub2RlKSA9IE5FV19NQVNHTigoeXl2c3BbLTRdLm5vZGUpLCBORVdfUE9TVEFSRyhOT0RFX1NQ
RUNJQUxfTk9fTkFNRV9SRVNULCAoeXl2c3BbMF0ubm9kZSksICYoeXlsb2MpKSwgJih5eWxvYykp
OworCQkgICAgLyolICUqLworCQkgICAgLyolIHJpcHBlcjogbWxoc19hZGRfcG9zdCEobWxoc19h
ZGRfc3RhciEoJDEsIFFuaWwpLCAkNSkgJSovCisJCSAgICB9CisjbGluZSA4MzMzICJwYXJzZS5j
IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDM4NDoKKyNsaW5lIDI5
NDMgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJ
CSh5eXZhbC5ub2RlKSA9IE5FV19NQVNHTigwLCBhc3NpZ25hYmxlKHAsICh5eXZzcFswXS5pZCks
IDAsICYoeXlsb2MpKSwgJih5eWxvYykpOworCQkgICAgLyolICUqLworCQkgICAgLyolIHJpcHBl
cjogbWxoc19hZGRfc3RhciEobWxoc19uZXchLCBhc3NpZ25hYmxlKHAsICQyKSkgJSovCisJCSAg
ICB9CisjbGluZSA4MzQ0ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsK
KworICBjYXNlIDM4NToKKyNsaW5lIDI5NTAgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwor
ICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCSh5eXZhbC5ub2RlKSA9IE5FV19NQVNHTigwLCBORVdf
UE9TVEFSRyhhc3NpZ25hYmxlKHAsICh5eXZzcFstMl0uaWQpLCAwLCAmKHl5bG9jKSksICh5eXZz
cFswXS5ub2RlKSwgJih5eWxvYykpLCAmKHl5bG9jKSk7CisJCSAgICAvKiUgJSovCisJCSAgICAv
KiUgcmlwcGVyOiBtbGhzX2FkZF9wb3N0IShtbGhzX2FkZF9zdGFyIShtbGhzX25ldyEsIGFzc2ln
bmFibGUocCwgJDIpKSwgJDQpICUqLworCQkgICAgfQorI2xpbmUgODM1NSAicGFyc2UuYyIgLyog
eWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSAzODY6CisjbGluZSAyOTU3ICJw
YXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCSAgICAvKiUlJSovCisJCQkoeXl2
YWwubm9kZSkgPSBORVdfTUFTR04oMCwgTk9ERV9TUEVDSUFMX05PX05BTUVfUkVTVCwgJih5eWxv
YykpOworCQkgICAgLyolICUqLworCQkgICAgLyolIHJpcHBlcjogbWxoc19hZGRfc3RhciEobWxo
c19uZXchLCBRbmlsKSAlKi8KKwkJICAgIH0KKyNsaW5lIDgzNjYgInBhcnNlLmMiIC8qIHlhY2Mu
YzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgMzg3OgorI2xpbmUgMjk2NCAicGFyc2Uu
eSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkgICAgLyolJSUqLworCQkJKHl5dmFsLm5v
ZGUpID0gTkVXX01BU0dOKDAsIE5FV19QT1NUQVJHKE5PREVfU1BFQ0lBTF9OT19OQU1FX1JFU1Qs
ICh5eXZzcFswXS5ub2RlKSwgJih5eWxvYykpLCAmKHl5bG9jKSk7CisJCSAgICAvKiUgJSovCisJ
CSAgICAvKiUgcmlwcGVyOiBtbGhzX2FkZF9wb3N0IShtbGhzX2FkZF9zdGFyIShtbGhzX25ldyEs
IFFuaWwpLCAkMykgJSovCisJCSAgICB9CisjbGluZSA4Mzc3ICJwYXJzZS5jIiAvKiB5YWNjLmM6
MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDM4ODoKKyNsaW5lIDI5NzQgInBhcnNlLnki
IC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJCSh5eXZhbC5ub2RlKSA9IG5ld19hcmdzX3Rh
aWwocCwgKHl5dnNwWy0zXS5ub2RlKSwgKHl5dnNwWy0xXS5pZCksICh5eXZzcFswXS5pZCksICYo
eXlsc3BbLTFdKSk7CisJCSAgICB9CisjbGluZSA4Mzg1ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1
MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDM4OToKKyNsaW5lIDI5NzggInBhcnNlLnkiIC8q
IHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJCSh5eXZhbC5ub2RlKSA9IG5ld19hcmdzX3RhaWwo
cCwgKHl5dnNwWy0xXS5ub2RlKSwgUW5vbmUsICh5eXZzcFswXS5pZCksICYoeXlsc3BbLTFdKSk7
CisJCSAgICB9CisjbGluZSA4MzkzICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBi
cmVhazsKKworICBjYXNlIDM5MDoKKyNsaW5lIDI5ODIgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUy
ICAqLworICAgIHsKKwkJCSh5eXZhbC5ub2RlKSA9IG5ld19hcmdzX3RhaWwocCwgUW5vbmUsICh5
eXZzcFstMV0uaWQpLCAoeXl2c3BbMF0uaWQpLCAmKHl5bHNwWy0xXSkpOworCQkgICAgfQorI2xp
bmUgODQwMSAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2Fz
ZSAzOTE6CisjbGluZSAyOTg2ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJ
CQkoeXl2YWwubm9kZSkgPSBuZXdfYXJnc190YWlsKHAsIFFub25lLCBRbm9uZSwgKHl5dnNwWzBd
LmlkKSwgJih5eWxzcFswXSkpOworCQkgICAgfQorI2xpbmUgODQwOSAicGFyc2UuYyIgLyogeWFj
Yy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSAzOTI6CisjbGluZSAyOTkyICJwYXJz
ZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCQkoeXl2YWwubm9kZSkgPSAoeXl2c3Bb
MF0ubm9kZSk7CisJCSAgICB9CisjbGluZSA4NDE3ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAg
Ki8KKyAgICBicmVhazsKKworICBjYXNlIDM5MzoKKyNsaW5lIDI5OTYgInBhcnNlLnkiIC8qIHlh
Y2MuYzoxNjUyICAqLworICAgIHsKKwkJCSh5eXZhbC5ub2RlKSA9IG5ld19hcmdzX3RhaWwocCwg
UW5vbmUsIFFub25lLCBRbm9uZSwgJih5eWxzcFswXSkpOworCQkgICAgfQorI2xpbmUgODQyNSAi
cGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSAzOTQ6Cisj
bGluZSAzMDAyICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCQkoeXl2YWwu
bm9kZSkgPSBuZXdfYXJncyhwLCAoeXl2c3BbLTVdLm5vZGUpLCAoeXl2c3BbLTNdLm5vZGUpLCAo
eXl2c3BbLTFdLmlkKSwgUW5vbmUsICh5eXZzcFswXS5ub2RlKSwgJih5eWxvYykpOworCQkgICAg
fQorI2xpbmUgODQzMyAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisK
KyAgY2FzZSAzOTU6CisjbGluZSAzMDA2ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAg
ICB7CisJCQkoeXl2YWwubm9kZSkgPSBuZXdfYXJncyhwLCAoeXl2c3BbLTddLm5vZGUpLCAoeXl2
c3BbLTVdLm5vZGUpLCAoeXl2c3BbLTNdLmlkKSwgKHl5dnNwWy0xXS5ub2RlKSwgKHl5dnNwWzBd
Lm5vZGUpLCAmKHl5bG9jKSk7CisJCSAgICB9CisjbGluZSA4NDQxICJwYXJzZS5jIiAvKiB5YWNj
LmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDM5NjoKKyNsaW5lIDMwMTAgInBhcnNl
LnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJCSh5eXZhbC5ub2RlKSA9IG5ld19hcmdz
KHAsICh5eXZzcFstM10ubm9kZSksICh5eXZzcFstMV0ubm9kZSksIFFub25lLCBRbm9uZSwgKHl5
dnNwWzBdLm5vZGUpLCAmKHl5bG9jKSk7CisJCSAgICB9CisjbGluZSA4NDQ5ICJwYXJzZS5jIiAv
KiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDM5NzoKKyNsaW5lIDMwMTQg
InBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJCSh5eXZhbC5ub2RlKSA9IG5l
d19hcmdzKHAsICh5eXZzcFstNV0ubm9kZSksICh5eXZzcFstM10ubm9kZSksIFFub25lLCAoeXl2
c3BbLTFdLm5vZGUpLCAoeXl2c3BbMF0ubm9kZSksICYoeXlsb2MpKTsKKwkJICAgIH0KKyNsaW5l
IDg0NTcgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2Ug
Mzk4OgorI2xpbmUgMzAxOCAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkJ
KHl5dmFsLm5vZGUpID0gbmV3X2FyZ3MocCwgKHl5dnNwWy0zXS5ub2RlKSwgUW5vbmUsICh5eXZz
cFstMV0uaWQpLCBRbm9uZSwgKHl5dnNwWzBdLm5vZGUpLCAmKHl5bG9jKSk7CisJCSAgICB9Cisj
bGluZSA4NDY1ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBj
YXNlIDM5OToKKyNsaW5lIDMwMjIgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsK
KwkJICAgIC8qJSUlKi8KKwkJCS8qIG1hZ2ljIG51bWJlciBmb3IgcmVzdF9pZCBpbiBpc2VxX3Nl
dF9hcmd1bWVudHMoKSAqLworCQkJY29uc3QgSUQgZXhjZXNzZWRfY29tbWEgPSAxOworCQkJKHl5
dmFsLm5vZGUpID0gbmV3X2FyZ3MocCwgKHl5dnNwWy0xXS5ub2RlKSwgUW5vbmUsIGV4Y2Vzc2Vk
X2NvbW1hLCBRbm9uZSwgbmV3X2FyZ3NfdGFpbChwLCBRbm9uZSwgUW5vbmUsIFFub25lLCAmKHl5
bHNwWy0xXSkpLCAmKHl5bG9jKSk7CisJCSAgICAvKiUgJSovCisJCSAgICAvKiUgcmlwcGVyOiBu
ZXdfYXJncyhwLCAkMSwgUW5vbmUsIGV4Y2Vzc2VkX2NvbW1hISwgUW5vbmUsIG5ld19hcmdzX3Rh
aWwocCwgUW5vbmUsIFFub25lLCBRbm9uZSwgTlVMTCksIE5VTEwpICUqLworCQkgICAgfQorI2xp
bmUgODQ3OCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2Fz
ZSA0MDA6CisjbGluZSAzMDMxICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJ
CQkoeXl2YWwubm9kZSkgPSBuZXdfYXJncyhwLCAoeXl2c3BbLTVdLm5vZGUpLCBRbm9uZSwgKHl5
dnNwWy0zXS5pZCksICh5eXZzcFstMV0ubm9kZSksICh5eXZzcFswXS5ub2RlKSwgJih5eWxvYykp
OworCQkgICAgfQorI2xpbmUgODQ4NiAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAg
YnJlYWs7CisKKyAgY2FzZSA0MDE6CisjbGluZSAzMDM1ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1
MiAgKi8KKyAgICB7CisJCQkoeXl2YWwubm9kZSkgPSBuZXdfYXJncyhwLCAoeXl2c3BbLTFdLm5v
ZGUpLCBRbm9uZSwgUW5vbmUsIFFub25lLCAoeXl2c3BbMF0ubm9kZSksICYoeXlsb2MpKTsKKwkJ
ICAgIH0KKyNsaW5lIDg0OTQgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFr
OworCisgIGNhc2UgNDAyOgorI2xpbmUgMzAzOSAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICov
CisgICAgeworCQkJKHl5dmFsLm5vZGUpID0gbmV3X2FyZ3MocCwgUW5vbmUsICh5eXZzcFstM10u
bm9kZSksICh5eXZzcFstMV0uaWQpLCBRbm9uZSwgKHl5dnNwWzBdLm5vZGUpLCAmKHl5bG9jKSk7
CisJCSAgICB9CisjbGluZSA4NTAyICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBi
cmVhazsKKworICBjYXNlIDQwMzoKKyNsaW5lIDMwNDMgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUy
ICAqLworICAgIHsKKwkJCSh5eXZhbC5ub2RlKSA9IG5ld19hcmdzKHAsIFFub25lLCAoeXl2c3Bb
LTVdLm5vZGUpLCAoeXl2c3BbLTNdLmlkKSwgKHl5dnNwWy0xXS5ub2RlKSwgKHl5dnNwWzBdLm5v
ZGUpLCAmKHl5bG9jKSk7CisJCSAgICB9CisjbGluZSA4NTEwICJwYXJzZS5jIiAvKiB5YWNjLmM6
MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDQwNDoKKyNsaW5lIDMwNDcgInBhcnNlLnki
IC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJCSh5eXZhbC5ub2RlKSA9IG5ld19hcmdzKHAs
IFFub25lLCAoeXl2c3BbLTFdLm5vZGUpLCBRbm9uZSwgUW5vbmUsICh5eXZzcFswXS5ub2RlKSwg
Jih5eWxvYykpOworCQkgICAgfQorI2xpbmUgODUxOCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIg
ICovCisgICAgYnJlYWs7CisKKyAgY2FzZSA0MDU6CisjbGluZSAzMDUxICJwYXJzZS55IiAvKiB5
YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCQkoeXl2YWwubm9kZSkgPSBuZXdfYXJncyhwLCBRbm9u
ZSwgKHl5dnNwWy0zXS5ub2RlKSwgUW5vbmUsICh5eXZzcFstMV0ubm9kZSksICh5eXZzcFswXS5u
b2RlKSwgJih5eWxvYykpOworCQkgICAgfQorI2xpbmUgODUyNiAicGFyc2UuYyIgLyogeWFjYy5j
OjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSA0MDY6CisjbGluZSAzMDU1ICJwYXJzZS55
IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCQkoeXl2YWwubm9kZSkgPSBuZXdfYXJncyhw
LCBRbm9uZSwgUW5vbmUsICh5eXZzcFstMV0uaWQpLCBRbm9uZSwgKHl5dnNwWzBdLm5vZGUpLCAm
KHl5bG9jKSk7CisJCSAgICB9CisjbGluZSA4NTM0ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAg
Ki8KKyAgICBicmVhazsKKworICBjYXNlIDQwNzoKKyNsaW5lIDMwNTkgInBhcnNlLnkiIC8qIHlh
Y2MuYzoxNjUyICAqLworICAgIHsKKwkJCSh5eXZhbC5ub2RlKSA9IG5ld19hcmdzKHAsIFFub25l
LCBRbm9uZSwgKHl5dnNwWy0zXS5pZCksICh5eXZzcFstMV0ubm9kZSksICh5eXZzcFswXS5ub2Rl
KSwgJih5eWxvYykpOworCQkgICAgfQorI2xpbmUgODU0MiAicGFyc2UuYyIgLyogeWFjYy5jOjE2
NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSA0MDg6CisjbGluZSAzMDYzICJwYXJzZS55IiAv
KiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCQkoeXl2YWwubm9kZSkgPSBuZXdfYXJncyhwLCBR
bm9uZSwgUW5vbmUsIFFub25lLCBRbm9uZSwgKHl5dnNwWzBdLm5vZGUpLCAmKHl5bG9jKSk7CisJ
CSAgICB9CisjbGluZSA4NTUwICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVh
azsKKworICBjYXNlIDQxMDoKKyNsaW5lIDMwNzAgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAq
LworICAgIHsKKwkJCXAtPmNvbW1hbmRfc3RhcnQgPSBUUlVFOworCQkgICAgfQorI2xpbmUgODU1
OCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSA0MTE6
CisjbGluZSAzMDc2ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCQlwLT5j
dXJfYXJnID0gMDsKKwkJICAgIC8qJSUlKi8KKwkJCSh5eXZhbC5ub2RlKSA9IDA7CisJCSAgICAv
KiUgJSovCisJCSAgICAvKiUgcmlwcGVyOiBibG9ja192YXIhKHBhcmFtc19uZXcoUW5pbCxRbmls
LFFuaWwsUW5pbCxRbmlsLFFuaWwsUW5pbCksIGVzY2FwZV9RdW5kZWYoJDIpKSAlKi8KKwkJICAg
IH0KKyNsaW5lIDg1NzAgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOwor
CisgIGNhc2UgNDEyOgorI2xpbmUgMzA4NCAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisg
ICAgeworCQkgICAgLyolJSUqLworCQkJKHl5dmFsLm5vZGUpID0gMDsKKwkJICAgIC8qJSAlKi8K
KwkJICAgIC8qJSByaXBwZXI6IGJsb2NrX3ZhciEocGFyYW1zX25ldyhRbmlsLFFuaWwsUW5pbCxR
bmlsLFFuaWwsUW5pbCxRbmlsKSwgUW5pbCkgJSovCisJCSAgICB9CisjbGluZSA4NTgxICJwYXJz
ZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDQxMzoKKyNsaW5l
IDMwOTEgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJCXAtPmN1cl9hcmcg
PSAwOworCQkgICAgLyolJSUqLworCQkJKHl5dmFsLm5vZGUpID0gKHl5dnNwWy0yXS5ub2RlKTsK
KwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBwZXI6IGJsb2NrX3ZhciEoZXNjYXBlX1F1bmRl
ZigkMiksIGVzY2FwZV9RdW5kZWYoJDMpKSAlKi8KKwkJICAgIH0KKyNsaW5lIDg1OTMgInBhcnNl
LmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgNDE0OgorI2xpbmUg
MzEwMiAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkgICAgICAoeXl2YWwu
bm9kZSkgPSAwOworCQkgICAgfQorI2xpbmUgODYwMSAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIg
ICovCisgICAgYnJlYWs7CisKKyAgY2FzZSA0MTU6CisjbGluZSAzMTA2ICJwYXJzZS55IiAvKiB5
YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCSAgICAvKiUlJSovCisJCQkoeXl2YWwubm9kZSkgPSAw
OworCQkgICAgLyolICUqLworCQkgICAgLyolIHJpcHBlcjogJDMgJSovCisJCSAgICB9CisjbGlu
ZSA4NjEyICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNl
IDQxODoKKyNsaW5lIDMxMjEgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJ
CW5ld19idihwLCBnZXRfaWQoKHl5dnNwWzBdLmlkKSkpOworCQkgICAgLyolIHJpcHBlcjogZ2V0
X3ZhbHVlKCQxKSAlKi8KKwkJICAgIH0KKyNsaW5lIDg2MjEgInBhcnNlLmMiIC8qIHlhY2MuYzox
NjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgNDE5OgorI2xpbmUgMzEyNiAicGFyc2UueSIg
LyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkJKHl5dmFsLm5vZGUpID0gMDsKKwkJICAgIH0K
KyNsaW5lIDg2MjkgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisg
IGNhc2UgNDIwOgorI2xpbmUgMzEzMSAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAg
eworCQkJKHl5dmFsLnZhcnMpID0gZHluYV9wdXNoKHApOworCQkgICAgfQorI2xpbmUgODYzNyAi
cGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSA0MjE6Cisj
bGluZSAzMTM0ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCQkoeXl2YWwu
bnVtKSA9IHAtPmxleC5scGFyX2JlZzsKKwkJCXAtPmxleC5scGFyX2JlZyA9IHAtPmxleC5wYXJl
bl9uZXN0OworCQkgICAgfQorI2xpbmUgODY0NiAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICov
CisgICAgYnJlYWs7CisKKyAgY2FzZSA0MjI6CisjbGluZSAzMTM5ICJwYXJzZS55IiAvKiB5YWNj
LmM6MTY1MiAgKi8KKyAgICB7CisJCQlDTURBUkdfUFVTSCgwKTsKKwkJICAgIH0KKyNsaW5lIDg2
NTQgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgNDIz
OgorI2xpbmUgMzE0MyAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkJcC0+
bGV4LmxwYXJfYmVnID0gKHl5dnNwWy0zXS5udW0pOworCQkJQ01EQVJHX1BPUCgpOworCQkgICAg
LyolJSUqLworICAgICAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFlZTFRZUEUgbG9jID0gY29kZV9sb2NfZ2VuKCYoeXlsc3BbLTJdKSwgJih5eWxzcFsw
XSkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9IE5FV19MQU1C
REEoKHl5dnNwWy0yXS5ub2RlKSwgKHl5dnNwWzBdLm5vZGUpLCAmbG9jKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBuZF9zZXRfbGluZSgoeXl2YWwubm9kZSktPm5kX2JvZHksICh5eWxz
cFswXSkuZW5kX3Bvcy5saW5lbm8pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5kX3Nl
dF9saW5lKCh5eXZhbC5ub2RlKSwgKHl5bHNwWy0yXSkuZW5kX3Bvcy5saW5lbm8pOworICAgICAg
ICAgICAgICAgICAgICAgICAgfQorCQkgICAgLyolICUqLworCQkgICAgLyolIHJpcHBlcjogbGFt
YmRhISgkMywgJDUpICUqLworCQkJZHluYV9wb3AocCwgKHl5dnNwWy00XS52YXJzKSk7CisJCSAg
ICB9CisjbGluZSA4NjczICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsK
KworICBjYXNlIDQyNDoKKyNsaW5lIDMxNjAgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwor
ICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCSh5eXZhbC5ub2RlKSA9ICh5eXZzcFstMl0ubm9kZSk7
CisJCSAgICAvKiUgJSovCisJCSAgICAvKiUgcmlwcGVyOiBwYXJlbiEoJDIpICUqLworCQkgICAg
fQorI2xpbmUgODY4NCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisK
KyAgY2FzZSA0MjU6CisjbGluZSAzMTY3ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAg
ICB7CisJCQkoeXl2YWwubm9kZSkgPSAoeXl2c3BbMF0ubm9kZSk7CisJCSAgICB9CisjbGluZSA4
NjkyICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDQy
NjoKKyNsaW5lIDMxNzMgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJCXRv
a2VuX2luZm9fcG9wKHAsICJ9IiwgJih5eWxzcFswXSkpOworCQkJKHl5dmFsLm5vZGUpID0gKHl5
dnNwWy0xXS5ub2RlKTsKKwkJICAgIH0KKyNsaW5lIDg3MDEgInBhcnNlLmMiIC8qIHlhY2MuYzox
NjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgNDI3OgorI2xpbmUgMzE3OCAicGFyc2UueSIg
LyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkJKHl5dmFsLm5vZGUpID0gKHl5dnNwWy0xXS5u
b2RlKTsKKwkJICAgIH0KKyNsaW5lIDg3MDkgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwor
ICAgIGJyZWFrOworCisgIGNhc2UgNDI4OgorI2xpbmUgMzE4NCAicGFyc2UueSIgLyogeWFjYy5j
OjE2NTIgICovCisgICAgeworCQkJKHl5dmFsLm5vZGUpID0gKHl5dnNwWy0xXS5ub2RlKTsKKwkJ
ICAgIC8qJSUlKi8KKwkJCSh5eXZhbC5ub2RlKS0+bmRfYm9keS0+bmRfbG9jID0gY29kZV9sb2Nf
Z2VuKCYoeXlsc3BbLTJdKSwgJih5eWxzcFswXSkpOworCQkJbmRfc2V0X2xpbmUoKHl5dmFsLm5v
ZGUpLCAoeXlsc3BbLTJdKS5lbmRfcG9zLmxpbmVubyk7CisJCSAgICAvKiUgJSovCisJCSAgICB9
CisjbGluZSA4NzIxICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKwor
ICBjYXNlIDQyOToKKyNsaW5lIDMxOTQgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAg
IHsKKwkJICAgIC8qJSUlKi8KKwkJCWlmIChuZF90eXBlKCh5eXZzcFstMV0ubm9kZSkpID09IE5P
REVfWUlFTEQpIHsKKwkJCSAgICBjb21waWxlX2Vycm9yKHAsICJibG9jayBnaXZlbiB0byB5aWVs
ZCIpOworCQkJfQorCQkJZWxzZSB7CisJCQkgICAgYmxvY2tfZHVwX2NoZWNrKHAsICh5eXZzcFst
MV0ubm9kZSktPm5kX2FyZ3MsICh5eXZzcFswXS5ub2RlKSk7CisJCQl9CisJCQkoeXl2YWwubm9k
ZSkgPSBtZXRob2RfYWRkX2Jsb2NrKHAsICh5eXZzcFstMV0ubm9kZSksICh5eXZzcFswXS5ub2Rl
KSwgJih5eWxvYykpOworCQkJZml4cG9zKCh5eXZhbC5ub2RlKSwgKHl5dnNwWy0xXS5ub2RlKSk7
CisJCSAgICAvKiUgJSovCisJCSAgICAvKiUgcmlwcGVyOiBtZXRob2RfYWRkX2Jsb2NrISgkMSwg
JDIpICUqLworCQkgICAgfQorI2xpbmUgODczOSAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICov
CisgICAgYnJlYWs7CisKKyAgY2FzZSA0MzA6CisjbGluZSAzMjA4ICJwYXJzZS55IiAvKiB5YWNj
LmM6MTY1MiAgKi8KKyAgICB7CisJCSAgICAvKiUlJSovCisJCQkoeXl2YWwubm9kZSkgPSBuZXdf
cWNhbGwocCwgKHl5dnNwWy0yXS5pZCksICh5eXZzcFstM10ubm9kZSksICh5eXZzcFstMV0uaWQp
LCAoeXl2c3BbMF0ubm9kZSksICYoeXlsc3BbLTFdKSwgJih5eWxvYykpOworCQkgICAgLyolICUq
LworCQkgICAgLyolIHJpcHBlcjogb3B0X2V2ZW50KDptZXRob2RfYWRkX2FyZyEsIGNhbGwhKCQx
LCAkMiwgJDMpLCAkNCkgJSovCisJCSAgICB9CisjbGluZSA4NzUwICJwYXJzZS5jIiAvKiB5YWNj
LmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDQzMToKKyNsaW5lIDMyMTUgInBhcnNl
LnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCSh5eXZhbC5u
b2RlKSA9IG5ld19jb21tYW5kX3FjYWxsKHAsICh5eXZzcFstM10uaWQpLCAoeXl2c3BbLTRdLm5v
ZGUpLCAoeXl2c3BbLTJdLmlkKSwgKHl5dnNwWy0xXS5ub2RlKSwgKHl5dnNwWzBdLm5vZGUpLCAm
KHl5bHNwWy0yXSksICYoeXlsb2MpKTsKKwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBwZXI6
IG9wdF9ldmVudCg6bWV0aG9kX2FkZF9ibG9jayEsIGNvbW1hbmRfY2FsbCEoJDEsICQyLCAkMywg
JDQpLCAkNSkgJSovCisJCSAgICB9CisjbGluZSA4NzYxICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1
MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDQzMjoKKyNsaW5lIDMyMjIgInBhcnNlLnkiIC8q
IHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCSh5eXZhbC5ub2RlKSA9
IG5ld19jb21tYW5kX3FjYWxsKHAsICh5eXZzcFstM10uaWQpLCAoeXl2c3BbLTRdLm5vZGUpLCAo
eXl2c3BbLTJdLmlkKSwgKHl5dnNwWy0xXS5ub2RlKSwgKHl5dnNwWzBdLm5vZGUpLCAmKHl5bHNw
Wy0yXSksICYoeXlsb2MpKTsKKwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBwZXI6IG1ldGhv
ZF9hZGRfYmxvY2shKGNvbW1hbmRfY2FsbCEoJDEsICQyLCAkMywgJDQpLCAkNSkgJSovCisJCSAg
ICB9CisjbGluZSA4NzcyICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsK
KworICBjYXNlIDQzMzoKKyNsaW5lIDMyMzEgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwor
ICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCSh5eXZhbC5ub2RlKSA9ICh5eXZzcFstMV0ubm9kZSk7
CisJCQkoeXl2YWwubm9kZSktPm5kX2FyZ3MgPSAoeXl2c3BbMF0ubm9kZSk7CisJCQluZF9zZXRf
bGFzdF9sb2MoKHl5dnNwWy0xXS5ub2RlKSwgKHl5bHNwWzBdKS5lbmRfcG9zKTsKKwkJICAgIC8q
JSAlKi8KKwkJICAgIC8qJSByaXBwZXI6IG1ldGhvZF9hZGRfYXJnIShmY2FsbCEoJDEpLCAkMikg
JSovCisJCSAgICB9CisjbGluZSA4Nzg1ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAg
ICBicmVhazsKKworICBjYXNlIDQzNDoKKyNsaW5lIDMyNDAgInBhcnNlLnkiIC8qIHlhY2MuYzox
NjUyICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCSh5eXZhbC5ub2RlKSA9IG5ld19xY2Fs
bChwLCAoeXl2c3BbLTJdLmlkKSwgKHl5dnNwWy0zXS5ub2RlKSwgKHl5dnNwWy0xXS5pZCksICh5
eXZzcFswXS5ub2RlKSwgJih5eWxzcFstMV0pLCAmKHl5bG9jKSk7CisJCQluZF9zZXRfbGluZSgo
eXl2YWwubm9kZSksICh5eWxzcFstMV0pLmVuZF9wb3MubGluZW5vKTsKKwkJICAgIC8qJSAlKi8K
KwkJICAgIC8qJSByaXBwZXI6IG9wdF9ldmVudCg6bWV0aG9kX2FkZF9hcmchLCBjYWxsISgkMSwg
JDIsICQzKSwgJDQpICUqLworCQkgICAgfQorI2xpbmUgODc5NyAicGFyc2UuYyIgLyogeWFjYy5j
OjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSA0MzU6CisjbGluZSAzMjQ4ICJwYXJzZS55
IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCSAgICAvKiUlJSovCisJCQkoeXl2YWwubm9k
ZSkgPSBuZXdfcWNhbGwocCwgSUQyVkFMKGlkQ09MT04yKSwgKHl5dnNwWy0zXS5ub2RlKSwgKHl5
dnNwWy0xXS5pZCksICh5eXZzcFswXS5ub2RlKSwgJih5eWxzcFstMV0pLCAmKHl5bG9jKSk7CisJ
CQluZF9zZXRfbGluZSgoeXl2YWwubm9kZSksICh5eWxzcFstMV0pLmVuZF9wb3MubGluZW5vKTsK
KwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBwZXI6IG1ldGhvZF9hZGRfYXJnIShjYWxsISgk
MSwgSUQyVkFMKGlkQ09MT04yKSwgJDMpLCAkNCkgJSovCisJCSAgICB9CisjbGluZSA4ODA5ICJw
YXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDQzNjoKKyNs
aW5lIDMyNTYgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJICAgIC8qJSUl
Ki8KKwkJCSh5eXZhbC5ub2RlKSA9IG5ld19xY2FsbChwLCBJRDJWQUwoaWRDT0xPTjIpLCAoeXl2
c3BbLTJdLm5vZGUpLCAoeXl2c3BbMF0uaWQpLCBRbnVsbCwgJih5eWxzcFswXSksICYoeXlsb2Mp
KTsKKwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBwZXI6IGNhbGwhKCQxLCBJRDJWQUwoaWRD
T0xPTjIpLCAkMykgJSovCisJCSAgICB9CisjbGluZSA4ODIwICJwYXJzZS5jIiAvKiB5YWNjLmM6
MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDQzNzoKKyNsaW5lIDMyNjMgInBhcnNlLnki
IC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCSh5eXZhbC5ub2Rl
KSA9IG5ld19xY2FsbChwLCAoeXl2c3BbLTFdLmlkKSwgKHl5dnNwWy0yXS5ub2RlKSwgSUQyVkFM
KGlkQ2FsbCksICh5eXZzcFswXS5ub2RlKSwgJih5eWxzcFstMV0pLCAmKHl5bG9jKSk7CisJCQlu
ZF9zZXRfbGluZSgoeXl2YWwubm9kZSksICh5eWxzcFstMV0pLmVuZF9wb3MubGluZW5vKTsKKwkJ
ICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBwZXI6IG1ldGhvZF9hZGRfYXJnIShjYWxsISgkMSwg
JDIsIElEMlZBTChpZENhbGwpKSwgJDMpICUqLworCQkgICAgfQorI2xpbmUgODgzMiAicGFyc2Uu
YyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSA0Mzg6CisjbGluZSAz
MjcxICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCSAgICAvKiUlJSovCisJ
CQkoeXl2YWwubm9kZSkgPSBuZXdfcWNhbGwocCwgSUQyVkFMKGlkQ09MT04yKSwgKHl5dnNwWy0y
XS5ub2RlKSwgSUQyVkFMKGlkQ2FsbCksICh5eXZzcFswXS5ub2RlKSwgJih5eWxzcFstMV0pLCAm
KHl5bG9jKSk7CisJCQluZF9zZXRfbGluZSgoeXl2YWwubm9kZSksICh5eWxzcFstMV0pLmVuZF9w
b3MubGluZW5vKTsKKwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBwZXI6IG1ldGhvZF9hZGRf
YXJnIShjYWxsISgkMSwgSUQyVkFMKGlkQ09MT04yKSwgSUQyVkFMKGlkQ2FsbCkpLCAkMykgJSov
CisJCSAgICB9CisjbGluZSA4ODQ0ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBi
cmVhazsKKworICBjYXNlIDQzOToKKyNsaW5lIDMyNzkgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUy
ICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCSh5eXZhbC5ub2RlKSA9IE5FV19TVVBFUigo
eXl2c3BbMF0ubm9kZSksICYoeXlsb2MpKTsKKwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBw
ZXI6IHN1cGVyISgkMikgJSovCisJCSAgICB9CisjbGluZSA4ODU1ICJwYXJzZS5jIiAvKiB5YWNj
LmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDQ0MDoKKyNsaW5lIDMyODYgInBhcnNl
LnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCSh5eXZhbC5u
b2RlKSA9IE5FV19aU1VQRVIoJih5eWxvYykpOworCQkgICAgLyolICUqLworCQkgICAgLyolIHJp
cHBlcjogenN1cGVyISAlKi8KKwkJICAgIH0KKyNsaW5lIDg4NjYgInBhcnNlLmMiIC8qIHlhY2Mu
YzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgNDQxOgorI2xpbmUgMzI5MyAicGFyc2Uu
eSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkgICAgLyolJSUqLworCQkJaWYgKCh5eXZz
cFstM10ubm9kZSkgJiYgbmRfdHlwZSgoeXl2c3BbLTNdLm5vZGUpKSA9PSBOT0RFX1NFTEYpCisJ
CQkgICAgKHl5dmFsLm5vZGUpID0gTkVXX0ZDQUxMKHRBUkVGLCAoeXl2c3BbLTFdLm5vZGUpLCAm
KHl5bG9jKSk7CisJCQllbHNlCisJCQkgICAgKHl5dmFsLm5vZGUpID0gTkVXX0NBTEwoKHl5dnNw
Wy0zXS5ub2RlKSwgdEFSRUYsICh5eXZzcFstMV0ubm9kZSksICYoeXlsb2MpKTsKKwkJCWZpeHBv
cygoeXl2YWwubm9kZSksICh5eXZzcFstM10ubm9kZSkpOworCQkgICAgLyolICUqLworCQkgICAg
LyolIHJpcHBlcjogYXJlZiEoJDEsIGVzY2FwZV9RdW5kZWYoJDMpKSAlKi8KKwkJICAgIH0KKyNs
aW5lIDg4ODEgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNh
c2UgNDQyOgorI2xpbmUgMzMwNiAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgewor
CQkJKHl5dmFsLm5vZGUpID0gKHl5dnNwWy0xXS5ub2RlKTsKKwkJICAgIC8qJSUlKi8KKwkJCSh5
eXZhbC5ub2RlKS0+bmRfYm9keS0+bmRfbG9jID0gY29kZV9sb2NfZ2VuKCYoeXlsc3BbLTJdKSwg
Jih5eWxzcFswXSkpOworCQkJbmRfc2V0X2xpbmUoKHl5dmFsLm5vZGUpLCAoeXlsc3BbLTJdKS5l
bmRfcG9zLmxpbmVubyk7CisJCSAgICAvKiUgJSovCisJCSAgICB9CisjbGluZSA4ODkzICJwYXJz
ZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDQ0MzoKKyNsaW5l
IDMzMTQgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJCSh5eXZhbC5ub2Rl
KSA9ICh5eXZzcFstMV0ubm9kZSk7CisJCSAgICAvKiUlJSovCisJCQkoeXl2YWwubm9kZSktPm5k
X2JvZHktPm5kX2xvYyA9IGNvZGVfbG9jX2dlbigmKHl5bHNwWy0yXSksICYoeXlsc3BbMF0pKTsK
KwkJCW5kX3NldF9saW5lKCh5eXZhbC5ub2RlKSwgKHl5bHNwWy0yXSkuZW5kX3Bvcy5saW5lbm8p
OworCQkgICAgLyolICUqLworCQkgICAgfQorI2xpbmUgODkwNSAicGFyc2UuYyIgLyogeWFjYy5j
OjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSA0NDQ6CisjbGluZSAzMzIzICJwYXJzZS55
IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7KHl5dmFsLnZhcnMpID0gZHluYV9wdXNoKHApO30K
KyNsaW5lIDg5MTEgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisg
IGNhc2UgNDQ1OgorI2xpbmUgMzMyNSAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAg
eworCQkgICAgLyolJSUqLworCQkJKHl5dmFsLm5vZGUpID0gTkVXX0lURVIoKHl5dnNwWy0xXS5u
b2RlKSwgKHl5dnNwWzBdLm5vZGUpLCAmKHl5bG9jKSk7CisJCSAgICAvKiUgJSovCisJCSAgICAv
KiUgcmlwcGVyOiBicmFjZV9ibG9jayEoZXNjYXBlX1F1bmRlZigkMiksICQzKSAlKi8KKwkJCWR5
bmFfcG9wKHAsICh5eXZzcFstMl0udmFycykpOworCQkgICAgfQorI2xpbmUgODkyMyAicGFyc2Uu
YyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSA0NDY6CisjbGluZSAz
MzM0ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7KHl5dmFsLnZhcnMpID0gZHlu
YV9wdXNoKHApO30KKyNsaW5lIDg5MjkgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAg
IGJyZWFrOworCisgIGNhc2UgNDQ3OgorI2xpbmUgMzMzNSAicGFyc2UueSIgLyogeWFjYy5jOjE2
NTIgICovCisgICAge0NNREFSR19QVVNIKDApO30KKyNsaW5lIDg5MzUgInBhcnNlLmMiIC8qIHlh
Y2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgNDQ4OgorI2xpbmUgMzMzNyAicGFy
c2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkgICAgLyolJSUqLworCQkJKHl5dmFs
Lm5vZGUpID0gTkVXX0lURVIoKHl5dnNwWy0xXS5ub2RlKSwgKHl5dnNwWzBdLm5vZGUpLCAmKHl5
bG9jKSk7CisJCSAgICAvKiUgJSovCisJCSAgICAvKiUgcmlwcGVyOiBkb19ibG9jayEoZXNjYXBl
X1F1bmRlZigkMyksICQ0KSAlKi8KKwkJCUNNREFSR19QT1AoKTsKKwkJCWR5bmFfcG9wKHAsICh5
eXZzcFstM10udmFycykpOworCQkgICAgfQorI2xpbmUgODk0OCAicGFyc2UuYyIgLyogeWFjYy5j
OjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSA0NDk6CisjbGluZSAzMzUwICJwYXJzZS55
IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCSAgICAvKiUlJSovCisJCQkoeXl2YWwubm9k
ZSkgPSBORVdfV0hFTigoeXl2c3BbLTNdLm5vZGUpLCAoeXl2c3BbLTFdLm5vZGUpLCAoeXl2c3Bb
MF0ubm9kZSksICYoeXlsb2MpKTsKKwkJCWZpeHBvcygoeXl2YWwubm9kZSksICh5eXZzcFstM10u
bm9kZSkpOworCQkgICAgLyolICUqLworCQkgICAgLyolIHJpcHBlcjogd2hlbiEoJDIsICQ0LCBl
c2NhcGVfUXVuZGVmKCQ1KSkgJSovCisJCSAgICB9CisjbGluZSA4OTYwICJwYXJzZS5jIiAvKiB5
YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDQ1MjoKKyNsaW5lIDMzNjYgInBh
cnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCSh5eXZh
bC5ub2RlKSA9IE5FV19SRVNCT0RZKCh5eXZzcFstNF0ubm9kZSksCisJCQkJCSAoeXl2c3BbLTNd
Lm5vZGUpID8gYmxvY2tfYXBwZW5kKHAsIG5vZGVfYXNzaWduKHAsICh5eXZzcFstM10ubm9kZSks
IE5FV19FUlJJTkZPKCYoeXlsc3BbLTNdKSksICYoeXlsc3BbLTNdKSksICh5eXZzcFstMV0ubm9k
ZSkpIDogKHl5dnNwWy0xXS5ub2RlKSwKKwkJCQkJICh5eXZzcFswXS5ub2RlKSwgJih5eWxvYykp
OworCQkJZml4cG9zKCh5eXZhbC5ub2RlKSwgKHl5dnNwWy00XS5ub2RlKT8oeXl2c3BbLTRdLm5v
ZGUpOih5eXZzcFstMV0ubm9kZSkpOworCQkgICAgLyolICUqLworCQkgICAgLyolIHJpcHBlcjog
cmVzY3VlIShlc2NhcGVfUXVuZGVmKCQyKSwgZXNjYXBlX1F1bmRlZigkMyksIGVzY2FwZV9RdW5k
ZWYoJDUpLCBlc2NhcGVfUXVuZGVmKCQ2KSkgJSovCisJCSAgICB9CisjbGluZSA4OTc0ICJwYXJz
ZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDQ1NDoKKyNsaW5l
IDMzNzkgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8K
KwkJCSh5eXZhbC5ub2RlKSA9IE5FV19MSVNUKCh5eXZzcFswXS5ub2RlKSwgJih5eWxvYykpOwor
CQkgICAgLyolICUqLworCQkgICAgLyolIHJpcHBlcjogcmJfYXJ5X25ldzMoMSwgZ2V0X3ZhbHVl
KCQxKSkgJSovCisJCSAgICB9CisjbGluZSA4OTg1ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAg
Ki8KKyAgICBicmVhazsKKworICBjYXNlIDQ1NToKKyNsaW5lIDMzODYgInBhcnNlLnkiIC8qIHlh
Y2MuYzoxNjUyICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCWlmICghKCh5eXZhbC5ub2Rl
KSA9IHNwbGF0X2FycmF5KCh5eXZzcFswXS5ub2RlKSkpKSAoeXl2YWwubm9kZSkgPSAoeXl2c3Bb
MF0ubm9kZSk7CisJCSAgICAvKiUgJSovCisJCSAgICAvKiUgcmlwcGVyOiAkMSAlKi8KKwkJICAg
IH0KKyNsaW5lIDg5OTYgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOwor
CisgIGNhc2UgNDU3OgorI2xpbmUgMzM5NiAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisg
ICAgeworCQkJKHl5dmFsLm5vZGUpID0gKHl5dnNwWzBdLm5vZGUpOworCQkgICAgfQorI2xpbmUg
OTAwNCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSA0
NTk6CisjbGluZSAzNDAzICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCSAg
ICAvKiUlJSovCisJCQkoeXl2YWwubm9kZSkgPSAoeXl2c3BbMF0ubm9kZSk7CisJCSAgICAvKiUg
JSovCisJCSAgICAvKiUgcmlwcGVyOiBlbnN1cmUhKCQyKSAlKi8KKwkJICAgIH0KKyNsaW5lIDkw
MTUgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgNDYy
OgorI2xpbmUgMzQxNCAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkgICAg
LyolJSUqLworCQkJKHl5dmFsLm5vZGUpID0gTkVXX0xJVChJRDJTWU0oKHl5dnNwWzBdLmlkKSks
ICYoeXlsb2MpKTsKKwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBwZXI6IHN5bWJvbF9saXRl
cmFsISgkMSkgJSovCisJCSAgICB9CisjbGluZSA5MDI2ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1
MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDQ2NDoKKyNsaW5lIDM0MjQgInBhcnNlLnkiIC8q
IHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCU5PREUgKm5vZGUgPSAo
eXl2c3BbMF0ubm9kZSk7CisJCQlpZiAoIW5vZGUpIHsKKwkJCSAgICBub2RlID0gTkVXX1NUUihh
ZGRfbWFya19vYmplY3QocCwgU1RSX05FVzAoKSksICYoeXlsb2MpKTsKKwkJCX0KKwkJCWVsc2Ug
eworCQkJICAgIG5vZGUgPSBldnN0cjJkc3RyKHAsIG5vZGUpOworCQkJfQorCQkJKHl5dmFsLm5v
ZGUpID0gbm9kZTsKKwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBwZXI6ICQxICUqLworCQkg
ICAgfQorI2xpbmUgOTA0NCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7
CisKKyAgY2FzZSA0Njc6CisjbGluZSAzNDQyICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8K
KyAgICB7CisJCSAgICAvKiUlJSovCisJCQkoeXl2YWwubm9kZSkgPSBsaXRlcmFsX2NvbmNhdChw
LCAoeXl2c3BbLTFdLm5vZGUpLCAoeXl2c3BbMF0ubm9kZSksICYoeXlsb2MpKTsKKwkJICAgIC8q
JSAlKi8KKwkJICAgIC8qJSByaXBwZXI6IHN0cmluZ19jb25jYXQhKCQxLCAkMikgJSovCisJCSAg
ICB9CisjbGluZSA5MDU1ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsK
KworICBjYXNlIDQ2ODoKKyNsaW5lIDM0NTEgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwor
ICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCSh5eXZhbC5ub2RlKSA9IGhlcmVkb2NfZGVkZW50KHAs
ICh5eXZzcFstMV0ubm9kZSkpOworCQkJaWYgKCh5eXZhbC5ub2RlKSkgbmRfc2V0X2xvYygoeXl2
YWwubm9kZSksICYoeXlsb2MpKTsKKwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBwZXI6IHN0
cmluZ19saXRlcmFsIShoZXJlZG9jX2RlZGVudChwLCAkMikpICUqLworCQkgICAgfQorI2xpbmUg
OTA2NyAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSA0
Njk6CisjbGluZSAzNDYxICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCSAg
ICAvKiUlJSovCisJCQkoeXl2YWwubm9kZSkgPSBuZXdfeHN0cmluZyhwLCBoZXJlZG9jX2RlZGVu
dChwLCAoeXl2c3BbLTFdLm5vZGUpKSwgJih5eWxvYykpOworCQkgICAgLyolICUqLworCQkgICAg
LyolIHJpcHBlcjogeHN0cmluZ19saXRlcmFsIShoZXJlZG9jX2RlZGVudChwLCAkMikpICUqLwor
CQkgICAgfQorI2xpbmUgOTA3OCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJl
YWs7CisKKyAgY2FzZSA0NzA6CisjbGluZSAzNDcwICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAg
Ki8KKyAgICB7CisJCQkoeXl2YWwubm9kZSkgPSBuZXdfcmVnZXhwKHAsICh5eXZzcFstMV0ubm9k
ZSksICh5eXZzcFswXS5udW0pLCAmKHl5bG9jKSk7CisJCSAgICB9CisjbGluZSA5MDg2ICJwYXJz
ZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDQ3MToKKyNsaW5l
IDM0NzYgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8K
KwkJCSh5eXZhbC5ub2RlKSA9IG1ha2VfYXJyYXkoKHl5dnNwWy0xXS5ub2RlKSwgJih5eWxvYykp
OworCQkgICAgLyolICUqLworCQkgICAgLyolIHJpcHBlcjogYXJyYXkhKCQzKSAlKi8KKwkJICAg
IH0KKyNsaW5lIDkwOTcgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOwor
CisgIGNhc2UgNDcyOgorI2xpbmUgMzQ4NSAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisg
ICAgeworCQkgICAgLyolJSUqLworCQkJKHl5dmFsLm5vZGUpID0gMDsKKwkJICAgIC8qJSAlKi8K
KwkJICAgIC8qJSByaXBwZXI6IHdvcmRzX25ldyEgJSovCisJCSAgICB9CisjbGluZSA5MTA4ICJw
YXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDQ3MzoKKyNs
aW5lIDM0OTIgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJICAgIC8qJSUl
Ki8KKwkJCSh5eXZhbC5ub2RlKSA9IGxpc3RfYXBwZW5kKHAsICh5eXZzcFstMl0ubm9kZSksIGV2
c3RyMmRzdHIocCwgKHl5dnNwWy0xXS5ub2RlKSkpOworCQkgICAgLyolICUqLworCQkgICAgLyol
IHJpcHBlcjogd29yZHNfYWRkISgkMSwgJDIpICUqLworCQkgICAgfQorI2xpbmUgOTExOSAicGFy
c2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSA0NzU6CisjbGlu
ZSAzNTAzICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCSAgICAvKiUlJSov
CisJCQkoeXl2YWwubm9kZSkgPSBsaXRlcmFsX2NvbmNhdChwLCAoeXl2c3BbLTFdLm5vZGUpLCAo
eXl2c3BbMF0ubm9kZSksICYoeXlsb2MpKTsKKwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBw
ZXI6IHdvcmRfYWRkISgkMSwgJDIpICUqLworCQkgICAgfQorI2xpbmUgOTEzMCAicGFyc2UuYyIg
LyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSA0NzY6CisjbGluZSAzNTEy
ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCSAgICAvKiUlJSovCisJCQko
eXl2YWwubm9kZSkgPSBtYWtlX2FycmF5KCh5eXZzcFstMV0ubm9kZSksICYoeXlsb2MpKTsKKwkJ
ICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBwZXI6IGFycmF5ISgkMykgJSovCisJCSAgICB9Cisj
bGluZSA5MTQxICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBj
YXNlIDQ3NzoKKyNsaW5lIDM1MjEgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsK
KwkJICAgIC8qJSUlKi8KKwkJCSh5eXZhbC5ub2RlKSA9IDA7CisJCSAgICAvKiUgJSovCisJCSAg
ICAvKiUgcmlwcGVyOiBzeW1ib2xzX25ldyEgJSovCisJCSAgICB9CisjbGluZSA5MTUyICJwYXJz
ZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDQ3ODoKKyNsaW5l
IDM1MjggInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8K
KwkJCSh5eXZhbC5ub2RlKSA9IHN5bWJvbF9hcHBlbmQocCwgKHl5dnNwWy0yXS5ub2RlKSwgZXZz
dHIyZHN0cihwLCAoeXl2c3BbLTFdLm5vZGUpKSk7CisJCSAgICAvKiUgJSovCisJCSAgICAvKiUg
cmlwcGVyOiBzeW1ib2xzX2FkZCEoJDEsICQyKSAlKi8KKwkJICAgIH0KKyNsaW5lIDkxNjMgInBh
cnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgNDc5OgorI2xp
bmUgMzUzNyAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkgICAgLyolJSUq
LworCQkJKHl5dmFsLm5vZGUpID0gbWFrZV9hcnJheSgoeXl2c3BbLTFdLm5vZGUpLCAmKHl5bG9j
KSk7CisJCSAgICAvKiUgJSovCisJCSAgICAvKiUgcmlwcGVyOiBhcnJheSEoJDMpICUqLworCQkg
ICAgfQorI2xpbmUgOTE3NCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7
CisKKyAgY2FzZSA0ODA6CisjbGluZSAzNTQ2ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8K
KyAgICB7CisJCSAgICAvKiUlJSovCisJCQkoeXl2YWwubm9kZSkgPSBtYWtlX2FycmF5KCh5eXZz
cFstMV0ubm9kZSksICYoeXlsb2MpKTsKKwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBwZXI6
IGFycmF5ISgkMykgJSovCisJCSAgICB9CisjbGluZSA5MTg1ICJwYXJzZS5jIiAvKiB5YWNjLmM6
MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDQ4MToKKyNsaW5lIDM1NTUgInBhcnNlLnki
IC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCSh5eXZhbC5ub2Rl
KSA9IDA7CisJCSAgICAvKiUgJSovCisJCSAgICAvKiUgcmlwcGVyOiBxd29yZHNfbmV3ISAlKi8K
KwkJICAgIH0KKyNsaW5lIDkxOTYgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJy
ZWFrOworCisgIGNhc2UgNDgyOgorI2xpbmUgMzU2MiAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIg
ICovCisgICAgeworCQkgICAgLyolJSUqLworCQkJKHl5dmFsLm5vZGUpID0gbGlzdF9hcHBlbmQo
cCwgKHl5dnNwWy0yXS5ub2RlKSwgKHl5dnNwWy0xXS5ub2RlKSk7CisJCSAgICAvKiUgJSovCisJ
CSAgICAvKiUgcmlwcGVyOiBxd29yZHNfYWRkISgkMSwgJDIpICUqLworCQkgICAgfQorI2xpbmUg
OTIwNyAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSA0
ODM6CisjbGluZSAzNTcxICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCSAg
ICAvKiUlJSovCisJCQkoeXl2YWwubm9kZSkgPSAwOworCQkgICAgLyolICUqLworCQkgICAgLyol
IHJpcHBlcjogcXN5bWJvbHNfbmV3ISAlKi8KKwkJICAgIH0KKyNsaW5lIDkyMTggInBhcnNlLmMi
IC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgNDg0OgorI2xpbmUgMzU3
OCAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkgICAgLyolJSUqLworCQkJ
KHl5dmFsLm5vZGUpID0gc3ltYm9sX2FwcGVuZChwLCAoeXl2c3BbLTJdLm5vZGUpLCAoeXl2c3Bb
LTFdLm5vZGUpKTsKKwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBwZXI6IHFzeW1ib2xzX2Fk
ZCEoJDEsICQyKSAlKi8KKwkJICAgIH0KKyNsaW5lIDkyMjkgInBhcnNlLmMiIC8qIHlhY2MuYzox
NjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgNDg1OgorI2xpbmUgMzU4NyAicGFyc2UueSIg
LyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkgICAgLyolJSUqLworCQkJKHl5dmFsLm5vZGUp
ID0gMDsKKwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBwZXI6IHN0cmluZ19jb250ZW50ISAl
Ki8KKwkJICAgIH0KKyNsaW5lIDkyNDAgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAg
IGJyZWFrOworCisgIGNhc2UgNDg2OgorI2xpbmUgMzU5NCAicGFyc2UueSIgLyogeWFjYy5jOjE2
NTIgICovCisgICAgeworCQkgICAgLyolJSUqLworCQkJKHl5dmFsLm5vZGUpID0gbGl0ZXJhbF9j
b25jYXQocCwgKHl5dnNwWy0xXS5ub2RlKSwgKHl5dnNwWzBdLm5vZGUpLCAmKHl5bG9jKSk7CisJ
CSAgICAvKiUgJSovCisJCSAgICAvKiUgcmlwcGVyOiBzdHJpbmdfYWRkISgkMSwgJDIpICUqLwor
CQkgICAgfQorI2xpbmUgOTI1MSAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJl
YWs7CisKKyAgY2FzZSA0ODc6CisjbGluZSAzNjAzICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAg
Ki8KKyAgICB7CisJCSAgICAvKiUlJSovCisJCQkoeXl2YWwubm9kZSkgPSAwOworCQkgICAgLyol
ICUqLworCQkgICAgLyolIHJpcHBlcjogeHN0cmluZ19uZXchICUqLworCQkgICAgfQorI2xpbmUg
OTI2MiAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSA0
ODg6CisjbGluZSAzNjEwICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCSAg
ICAvKiUlJSovCisJCQkoeXl2YWwubm9kZSkgPSBsaXRlcmFsX2NvbmNhdChwLCAoeXl2c3BbLTFd
Lm5vZGUpLCAoeXl2c3BbMF0ubm9kZSksICYoeXlsb2MpKTsKKwkJICAgIC8qJSAlKi8KKwkJICAg
IC8qJSByaXBwZXI6IHhzdHJpbmdfYWRkISgkMSwgJDIpICUqLworCQkgICAgfQorI2xpbmUgOTI3
MyAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSA0ODk6
CisjbGluZSAzNjE5ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCSAgICAv
KiUlJSovCisJCQkoeXl2YWwubm9kZSkgPSAwOworCQkgICAgLyolICUqLworCQkgICAgLyolIHJp
cHBlcjogcmVnZXhwX25ldyEgJSovCisJCSAgICAvKiUlJSovCisJCSAgICAvKiUKKwkJCSQkID0g
cmlwcGVyX25ld195eWx2YWwocCwgMCwgJCQsIDApOworCQkgICAgJSovCisJCSAgICB9CisjbGlu
ZSA5Mjg4ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNl
IDQ5MDoKKyNsaW5lIDM2MzAgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJ
ICAgIC8qJSUlKi8KKwkJCU5PREUgKmhlYWQgPSAoeXl2c3BbLTFdLm5vZGUpLCAqdGFpbCA9ICh5
eXZzcFswXS5ub2RlKTsKKwkJCWlmICghaGVhZCkgeworCQkJICAgICh5eXZhbC5ub2RlKSA9IHRh
aWw7CisJCQl9CisJCQllbHNlIGlmICghdGFpbCkgeworCQkJICAgICh5eXZhbC5ub2RlKSA9IGhl
YWQ7CisJCQl9CisJCQllbHNlIHsKKwkJCSAgICBzd2l0Y2ggKG5kX3R5cGUoaGVhZCkpIHsKKwkJ
CSAgICAgIGNhc2UgTk9ERV9TVFI6CisJCQkJbmRfc2V0X3R5cGUoaGVhZCwgTk9ERV9EU1RSKTsK
KwkJCQlicmVhazsKKwkJCSAgICAgIGNhc2UgTk9ERV9EU1RSOgorCQkJCWJyZWFrOworCQkJICAg
ICAgZGVmYXVsdDoKKwkJCQloZWFkID0gbGlzdF9hcHBlbmQocCwgTkVXX0RTVFIoUW5pbCwgJih5
eWxvYykpLCBoZWFkKTsKKwkJCQlicmVhazsKKwkJCSAgICB9CisJCQkgICAgKHl5dmFsLm5vZGUp
ID0gbGlzdF9hcHBlbmQocCwgaGVhZCwgdGFpbCk7CisJCQl9CisJCSAgICAvKiUKKwkJCVZBTFVF
IHMxID0gMSwgczIgPSAwLCBuMSA9ICQxLCBuMiA9ICQyOworCQkJaWYgKHJpcHBlcl9pc19ub2Rl
X3l5bHZhbChuMSkpIHsKKwkJCSAgICBzMSA9IFJOT0RFKG4xKS0+bmRfY3ZhbDsKKwkJCSAgICBu
MSA9IFJOT0RFKG4xKS0+bmRfcnZhbDsKKwkJCX0KKwkJCWlmIChyaXBwZXJfaXNfbm9kZV95eWx2
YWwobjIpKSB7CisJCQkgICAgczIgPSBSTk9ERShuMiktPm5kX2N2YWw7CisJCQkgICAgbjIgPSBS
Tk9ERShuMiktPm5kX3J2YWw7CisJCQl9CisJCQkkJCA9IGRpc3BhdGNoMihyZWdleHBfYWRkLCBu
MSwgbjIpOworCQkJaWYgKCFzMSAmJiBzMikgeworCQkJICAgICQkID0gcmlwcGVyX25ld195eWx2
YWwocCwgMCwgJCQsIHMyKTsKKwkJCX0KKwkJICAgICUqLworCQkgICAgfQorI2xpbmUgOTMzMSAi
cGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSA0OTI6Cisj
bGluZSAzNjcyICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCQkvKiBuZWVk
IHRvIGJhY2t1cCBwLT5sZXguc3RydGVybSBzbyB0aGF0IGEgc3RyaW5nIGxpdGVyYWwgYCUmZm9v
LCMkJixiYXImYCBjYW4gYmUgcGFyc2VkICovCisJCQkoeXl2YWwuc3RydGVybSkgPSBwLT5sZXgu
c3RydGVybTsKKwkJCXAtPmxleC5zdHJ0ZXJtID0gMDsKKwkJCVNFVF9MRVhfU1RBVEUoRVhQUl9C
RUcpOworCQkgICAgfQorI2xpbmUgOTM0MiAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisg
ICAgYnJlYWs7CisKKyAgY2FzZSA0OTM6CisjbGluZSAzNjc5ICJwYXJzZS55IiAvKiB5YWNjLmM6
MTY1MiAgKi8KKyAgICB7CisJCQlwLT5sZXguc3RydGVybSA9ICh5eXZzcFstMV0uc3RydGVybSk7
CisJCSAgICAvKiUlJSovCisJCQkoeXl2YWwubm9kZSkgPSBORVdfRVZTVFIoKHl5dnNwWzBdLm5v
ZGUpLCAmKHl5bG9jKSk7CisJCQluZF9zZXRfbGluZSgoeXl2YWwubm9kZSksICh5eWxzcFswXSku
ZW5kX3Bvcy5saW5lbm8pOworCQkgICAgLyolICUqLworCQkgICAgLyolIHJpcHBlcjogc3RyaW5n
X2R2YXIhKCQzKSAlKi8KKwkJICAgIH0KKyNsaW5lIDkzNTUgInBhcnNlLmMiIC8qIHlhY2MuYzox
NjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgNDk0OgorI2xpbmUgMzY4OCAicGFyc2UueSIg
LyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkJQ01EQVJHX1BVU0goMCk7CisJCQlDT05EX1BV
U0goMCk7CisJCSAgICB9CisjbGluZSA5MzY0ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8K
KyAgICBicmVhazsKKworICBjYXNlIDQ5NToKKyNsaW5lIDM2OTIgInBhcnNlLnkiIC8qIHlhY2Mu
YzoxNjUyICAqLworICAgIHsKKwkJCS8qIG5lZWQgdG8gYmFja3VwIHAtPmxleC5zdHJ0ZXJtIHNv
IHRoYXQgYSBzdHJpbmcgbGl0ZXJhbCBgJSFmb28sI3sgITAgfSxiYXIhYCBjYW4gYmUgcGFyc2Vk
ICovCisJCQkoeXl2YWwuc3RydGVybSkgPSBwLT5sZXguc3RydGVybTsKKwkJCXAtPmxleC5zdHJ0
ZXJtID0gMDsKKwkJICAgIH0KKyNsaW5lIDkzNzQgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAq
LworICAgIGJyZWFrOworCisgIGNhc2UgNDk2OgorI2xpbmUgMzY5NyAicGFyc2UueSIgLyogeWFj
Yy5jOjE2NTIgICovCisgICAgeworCQkJKHl5dmFsLm51bSkgPSBwLT5sZXguc3RhdGU7CisJCQlT
RVRfTEVYX1NUQVRFKEVYUFJfQkVHKTsKKwkJICAgIH0KKyNsaW5lIDkzODMgInBhcnNlLmMiIC8q
IHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgNDk3OgorI2xpbmUgMzcwMSAi
cGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkJKHl5dmFsLm51bSkgPSBwLT5s
ZXguYnJhY2VfbmVzdDsKKwkJCXAtPmxleC5icmFjZV9uZXN0ID0gMDsKKwkJICAgIH0KKyNsaW5l
IDkzOTIgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2Ug
NDk4OgorI2xpbmUgMzcwNSAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkJ
KHl5dmFsLm51bSkgPSBwLT5oZXJlZG9jX2luZGVudDsKKwkJCXAtPmhlcmVkb2NfaW5kZW50ID0g
MDsKKwkJICAgIH0KKyNsaW5lIDk0MDEgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAg
IGJyZWFrOworCisgIGNhc2UgNDk5OgorI2xpbmUgMzcxMCAicGFyc2UueSIgLyogeWFjYy5jOjE2
NTIgICovCisgICAgeworCQkJQ09ORF9QT1AoKTsKKwkJCUNNREFSR19QT1AoKTsKKwkJCXAtPmxl
eC5zdHJ0ZXJtID0gKHl5dnNwWy01XS5zdHJ0ZXJtKTsKKwkJCVNFVF9MRVhfU1RBVEUoKHl5dnNw
Wy00XS5udW0pKTsKKwkJCXAtPmxleC5icmFjZV9uZXN0ID0gKHl5dnNwWy0zXS5udW0pOworCQkJ
cC0+aGVyZWRvY19pbmRlbnQgPSAoeXl2c3BbLTJdLm51bSk7CisJCQlwLT5oZXJlZG9jX2xpbmVf
aW5kZW50ID0gLTE7CisJCSAgICAvKiUlJSovCisJCQlpZiAoKHl5dnNwWy0xXS5ub2RlKSkgKHl5
dnNwWy0xXS5ub2RlKS0+ZmxhZ3MgJj0gfk5PREVfRkxfTkVXTElORTsKKwkJCSh5eXZhbC5ub2Rl
KSA9IG5ld19ldnN0cihwLCAoeXl2c3BbLTFdLm5vZGUpLCAmKHl5bG9jKSk7CisJCSAgICAvKiUg
JSovCisJCSAgICAvKiUgcmlwcGVyOiBzdHJpbmdfZW1iZXhwciEoJDcpICUqLworCQkgICAgfQor
I2xpbmUgOTQyMCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAg
Y2FzZSA1MDA6CisjbGluZSAzNzI3ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7
CisJCSAgICAvKiUlJSovCisJCQkoeXl2YWwubm9kZSkgPSBORVdfR1ZBUigoeXl2c3BbMF0uaWQp
LCAmKHl5bG9jKSk7CisJCSAgICAvKiUgJSovCisJCSAgICAvKiUgcmlwcGVyOiB2YXJfcmVmISgk
MSkgJSovCisJCSAgICB9CisjbGluZSA5NDMxICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8K
KyAgICBicmVhazsKKworICBjYXNlIDUwMToKKyNsaW5lIDM3MzQgInBhcnNlLnkiIC8qIHlhY2Mu
YzoxNjUyICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCSh5eXZhbC5ub2RlKSA9IE5FV19J
VkFSKCh5eXZzcFswXS5pZCksICYoeXlsb2MpKTsKKwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSBy
aXBwZXI6IHZhcl9yZWYhKCQxKSAlKi8KKwkJICAgIH0KKyNsaW5lIDk0NDIgInBhcnNlLmMiIC8q
IHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgNTAyOgorI2xpbmUgMzc0MSAi
cGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkgICAgLyolJSUqLworCQkJKHl5
dmFsLm5vZGUpID0gTkVXX0NWQVIoKHl5dnNwWzBdLmlkKSwgJih5eWxvYykpOworCQkgICAgLyol
ICUqLworCQkgICAgLyolIHJpcHBlcjogdmFyX3JlZiEoJDEpICUqLworCQkgICAgfQorI2xpbmUg
OTQ1MyAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSA1
MDQ6CisjbGluZSAzNzUxICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCQlT
RVRfTEVYX1NUQVRFKEVYUFJfRU5EKTsKKwkJICAgIC8qJSUlKi8KKwkJCSh5eXZhbC5pZCkgPSAo
eXl2c3BbMF0uaWQpOworCQkgICAgLyolICUqLworCQkgICAgLyolIHJpcHBlcjogc3ltYm9sISgk
MikgJSovCisJCSAgICB9CisjbGluZSA5NDY1ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8K
KyAgICBicmVhazsKKworICBjYXNlIDUwOToKKyNsaW5lIDM3NjcgInBhcnNlLnkiIC8qIHlhY2Mu
YzoxNjUyICAqLworICAgIHsKKwkJCVNFVF9MRVhfU1RBVEUoRVhQUl9FTkQpOworCQkgICAgLyol
JSUqLworCQkJKHl5dmFsLm5vZGUpID0gZHN5bV9ub2RlKHAsICh5eXZzcFstMV0ubm9kZSksICYo
eXlsb2MpKTsKKwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBwZXI6IGR5bmFfc3ltYm9sISgk
MikgJSovCisJCSAgICB9CisjbGluZSA5NDc3ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8K
KyAgICBicmVhazsKKworICBjYXNlIDUxMToKKyNsaW5lIDM3NzggInBhcnNlLnkiIC8qIHlhY2Mu
YzoxNjUyICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCSh5eXZhbC5ub2RlKSA9ICh5eXZz
cFswXS5ub2RlKTsKKwkJCWFkZF9tYXJrX29iamVjdChwLCAoeXl2YWwubm9kZSktPm5kX2xpdCA9
IG5lZ2F0ZV9saXQocCwgKHl5dmFsLm5vZGUpLT5uZF9saXQpKTsKKwkJICAgIC8qJSAlKi8KKwkJ
ICAgIC8qJSByaXBwZXI6IHVuYXJ5IShJRDJWQUwoaWRVTWludXMpLCAkMikgJSovCisJCSAgICB9
CisjbGluZSA5NDg5ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKwor
ICBjYXNlIDUyMToKKyNsaW5lIDM4MDAgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAg
IHsoeXl2YWwuaWQpID0gS1dEMkVJRChuaWwsICh5eXZzcFswXS5pZCkpO30KKyNsaW5lIDk0OTUg
InBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgNTIyOgor
I2xpbmUgMzgwMSAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeyh5eXZhbC5pZCkg
PSBLV0QyRUlEKHNlbGYsICh5eXZzcFswXS5pZCkpO30KKyNsaW5lIDk1MDEgInBhcnNlLmMiIC8q
IHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgNTIzOgorI2xpbmUgMzgwMiAi
cGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeyh5eXZhbC5pZCkgPSBLV0QyRUlEKHRy
dWUsICh5eXZzcFswXS5pZCkpO30KKyNsaW5lIDk1MDcgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUy
ICAqLworICAgIGJyZWFrOworCisgIGNhc2UgNTI0OgorI2xpbmUgMzgwMyAicGFyc2UueSIgLyog
eWFjYy5jOjE2NTIgICovCisgICAgeyh5eXZhbC5pZCkgPSBLV0QyRUlEKGZhbHNlLCAoeXl2c3Bb
MF0uaWQpKTt9CisjbGluZSA5NTEzICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBi
cmVhazsKKworICBjYXNlIDUyNToKKyNsaW5lIDM4MDQgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUy
ICAqLworICAgIHsoeXl2YWwuaWQpID0gS1dEMkVJRChfRklMRV9fLCAoeXl2c3BbMF0uaWQpKTt9
CisjbGluZSA5NTE5ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKwor
ICBjYXNlIDUyNjoKKyNsaW5lIDM4MDUgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAg
IHsoeXl2YWwuaWQpID0gS1dEMkVJRChfTElORV9fLCAoeXl2c3BbMF0uaWQpKTt9CisjbGluZSA5
NTI1ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDUy
NzoKKyNsaW5lIDM4MDYgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsoeXl2YWwu
aWQpID0gS1dEMkVJRChfRU5DT0RJTkdfXywgKHl5dnNwWzBdLmlkKSk7fQorI2xpbmUgOTUzMSAi
cGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSA1Mjg6Cisj
bGluZSAzODEwICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCSAgICAvKiUl
JSovCisJCQlpZiAoISgoeXl2YWwubm9kZSkgPSBnZXR0YWJsZShwLCAoeXl2c3BbMF0uaWQpLCAm
KHl5bG9jKSkpKSAoeXl2YWwubm9kZSkgPSBORVdfQkVHSU4oMCwgJih5eWxvYykpOworCQkgICAg
LyolCisJCQlpZiAoaWRfaXNfdmFyKHAsIGdldF9pZCgkMSkpKSB7CisJCQkgICAgJCQgPSBkaXNw
YXRjaDEodmFyX3JlZiwgJDEpOworCQkJfQorCQkJZWxzZSB7CisJCQkgICAgJCQgPSBkaXNwYXRj
aDEodmNhbGwsICQxKTsKKwkJCX0KKwkJICAgICUqLworCQkgICAgfQorI2xpbmUgOTU0OCAicGFy
c2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSA1Mjk6CisjbGlu
ZSAzODIzICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCSAgICAvKiUlJSov
CisJCQlpZiAoISgoeXl2YWwubm9kZSkgPSBnZXR0YWJsZShwLCAoeXl2c3BbMF0uaWQpLCAmKHl5
bG9jKSkpKSAoeXl2YWwubm9kZSkgPSBORVdfQkVHSU4oMCwgJih5eWxvYykpOworCQkgICAgLyol
ICUqLworCQkgICAgLyolIHJpcHBlcjogdmFyX3JlZiEoJDEpICUqLworCQkgICAgfQorI2xpbmUg
OTU1OSAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSA1
MzA6CisjbGluZSAzODMyICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCSAg
ICAvKiUlJSovCisJCQkoeXl2YWwubm9kZSkgPSBhc3NpZ25hYmxlKHAsICh5eXZzcFswXS5pZCks
IDAsICYoeXlsb2MpKTsKKwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBwZXI6IGFzc2lnbmFi
bGUocCwgdmFyX2ZpZWxkKHAsICQxKSkgJSovCisJCSAgICB9CisjbGluZSA5NTcwICJwYXJzZS5j
IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDUzMToKKyNsaW5lIDM4
MzkgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJ
CSh5eXZhbC5ub2RlKSA9IGFzc2lnbmFibGUocCwgKHl5dnNwWzBdLmlkKSwgMCwgJih5eWxvYykp
OworCQkgICAgLyolICUqLworCQkgICAgLyolIHJpcHBlcjogYXNzaWduYWJsZShwLCB2YXJfZmll
bGQocCwgJDEpKSAlKi8KKwkJICAgIH0KKyNsaW5lIDk1ODEgInBhcnNlLmMiIC8qIHlhY2MuYzox
NjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgNTM0OgorI2xpbmUgMzg1MiAicGFyc2UueSIg
LyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkJU0VUX0xFWF9TVEFURShFWFBSX0JFRyk7CisJ
CQlwLT5jb21tYW5kX3N0YXJ0ID0gVFJVRTsKKwkJICAgIH0KKyNsaW5lIDk1OTAgInBhcnNlLmMi
IC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgNTM1OgorI2xpbmUgMzg1
NyAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkJKHl5dmFsLm5vZGUpID0g
KHl5dnNwWy0xXS5ub2RlKTsKKwkJICAgIH0KKyNsaW5lIDk1OTggInBhcnNlLmMiIC8qIHlhY2Mu
YzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgNTM2OgorI2xpbmUgMzg2MSAicGFyc2Uu
eSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkgICAgLyolJSUqLworCQkJKHl5dmFsLm5v
ZGUpID0gMDsKKwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBwZXI6IFFuaWwgJSovCisJCSAg
ICB9CisjbGluZSA5NjA5ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsK
KworICBjYXNlIDUzNzoKKyNsaW5lIDM4NzAgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwor
ICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCSh5eXZhbC5ub2RlKSA9ICh5eXZzcFstMV0ubm9kZSk7
CisJCSAgICAvKiUgJSovCisJCSAgICAvKiUgcmlwcGVyOiBwYXJlbiEoJDIpICUqLworCQkJU0VU
X0xFWF9TVEFURShFWFBSX0JFRyk7CisJCQlwLT5jb21tYW5kX3N0YXJ0ID0gVFJVRTsKKwkJICAg
IH0KKyNsaW5lIDk2MjIgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOwor
CisgIGNhc2UgNTM4OgorI2xpbmUgMzg3OCAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisg
ICAgeworCQkJKHl5dmFsLm51bSkgPSBwLT5pbl9rd2FyZzsKKwkJCXAtPmluX2t3YXJnID0gMTsK
KwkJCVNFVF9MRVhfU1RBVEUocC0+bGV4LnN0YXRlfEVYUFJfTEFCRUwpOyAvKiBmb3JjZSBmb3Ig
YXJncyAqLworCQkgICAgfQorI2xpbmUgOTYzMiAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICov
CisgICAgYnJlYWs7CisKKyAgY2FzZSA1Mzk6CisjbGluZSAzODg0ICJwYXJzZS55IiAvKiB5YWNj
LmM6MTY1MiAgKi8KKyAgICB7CisJCQlwLT5pbl9rd2FyZyA9ICEhKHl5dnNwWy0yXS5udW0pOwor
CQkJKHl5dmFsLm5vZGUpID0gKHl5dnNwWy0xXS5ub2RlKTsKKwkJCVNFVF9MRVhfU1RBVEUoRVhQ
Ul9CRUcpOworCQkJcC0+Y29tbWFuZF9zdGFydCA9IFRSVUU7CisJCSAgICB9CisjbGluZSA5NjQz
ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDU0MDoK
KyNsaW5lIDM4OTMgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJCSh5eXZh
bC5ub2RlKSA9IG5ld19hcmdzX3RhaWwocCwgKHl5dnNwWy0zXS5ub2RlKSwgKHl5dnNwWy0xXS5p
ZCksICh5eXZzcFswXS5pZCksICYoeXlsc3BbLTFdKSk7CisJCSAgICB9CisjbGluZSA5NjUxICJw
YXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDU0MToKKyNs
aW5lIDM4OTcgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJCSh5eXZhbC5u
b2RlKSA9IG5ld19hcmdzX3RhaWwocCwgKHl5dnNwWy0xXS5ub2RlKSwgUW5vbmUsICh5eXZzcFsw
XS5pZCksICYoeXlsc3BbLTFdKSk7CisJCSAgICB9CisjbGluZSA5NjU5ICJwYXJzZS5jIiAvKiB5
YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDU0MjoKKyNsaW5lIDM5MDEgInBh
cnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJCSh5eXZhbC5ub2RlKSA9IG5ld19h
cmdzX3RhaWwocCwgUW5vbmUsICh5eXZzcFstMV0uaWQpLCAoeXl2c3BbMF0uaWQpLCAmKHl5bHNw
Wy0xXSkpOworCQkgICAgfQorI2xpbmUgOTY2NyAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICov
CisgICAgYnJlYWs7CisKKyAgY2FzZSA1NDM6CisjbGluZSAzOTA1ICJwYXJzZS55IiAvKiB5YWNj
LmM6MTY1MiAgKi8KKyAgICB7CisJCQkoeXl2YWwubm9kZSkgPSBuZXdfYXJnc190YWlsKHAsIFFu
b25lLCBRbm9uZSwgKHl5dnNwWzBdLmlkKSwgJih5eWxzcFswXSkpOworCQkgICAgfQorI2xpbmUg
OTY3NSAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSA1
NDQ6CisjbGluZSAzOTExICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCQko
eXl2YWwubm9kZSkgPSAoeXl2c3BbMF0ubm9kZSk7CisJCSAgICB9CisjbGluZSA5NjgzICJwYXJz
ZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDU0NToKKyNsaW5l
IDM5MTUgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJCSh5eXZhbC5ub2Rl
KSA9IG5ld19hcmdzX3RhaWwocCwgUW5vbmUsIFFub25lLCBRbm9uZSwgJih5eWxzcFswXSkpOwor
CQkgICAgfQorI2xpbmUgOTY5MSAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJl
YWs7CisKKyAgY2FzZSA1NDY6CisjbGluZSAzOTIxICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAg
Ki8KKyAgICB7CisJCQkoeXl2YWwubm9kZSkgPSBuZXdfYXJncyhwLCAoeXl2c3BbLTVdLm5vZGUp
LCAoeXl2c3BbLTNdLm5vZGUpLCAoeXl2c3BbLTFdLmlkKSwgUW5vbmUsICh5eXZzcFswXS5ub2Rl
KSwgJih5eWxvYykpOworCQkgICAgfQorI2xpbmUgOTY5OSAicGFyc2UuYyIgLyogeWFjYy5jOjE2
NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSA1NDc6CisjbGluZSAzOTI1ICJwYXJzZS55IiAv
KiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCQkoeXl2YWwubm9kZSkgPSBuZXdfYXJncyhwLCAo
eXl2c3BbLTddLm5vZGUpLCAoeXl2c3BbLTVdLm5vZGUpLCAoeXl2c3BbLTNdLmlkKSwgKHl5dnNw
Wy0xXS5ub2RlKSwgKHl5dnNwWzBdLm5vZGUpLCAmKHl5bG9jKSk7CisJCSAgICB9CisjbGluZSA5
NzA3ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDU0
ODoKKyNsaW5lIDM5MjkgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJCSh5
eXZhbC5ub2RlKSA9IG5ld19hcmdzKHAsICh5eXZzcFstM10ubm9kZSksICh5eXZzcFstMV0ubm9k
ZSksIFFub25lLCBRbm9uZSwgKHl5dnNwWzBdLm5vZGUpLCAmKHl5bG9jKSk7CisJCSAgICB9Cisj
bGluZSA5NzE1ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBj
YXNlIDU0OToKKyNsaW5lIDM5MzMgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsK
KwkJCSh5eXZhbC5ub2RlKSA9IG5ld19hcmdzKHAsICh5eXZzcFstNV0ubm9kZSksICh5eXZzcFst
M10ubm9kZSksIFFub25lLCAoeXl2c3BbLTFdLm5vZGUpLCAoeXl2c3BbMF0ubm9kZSksICYoeXls
b2MpKTsKKwkJICAgIH0KKyNsaW5lIDk3MjMgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwor
ICAgIGJyZWFrOworCisgIGNhc2UgNTUwOgorI2xpbmUgMzkzNyAicGFyc2UueSIgLyogeWFjYy5j
OjE2NTIgICovCisgICAgeworCQkJKHl5dmFsLm5vZGUpID0gbmV3X2FyZ3MocCwgKHl5dnNwWy0z
XS5ub2RlKSwgUW5vbmUsICh5eXZzcFstMV0uaWQpLCBRbm9uZSwgKHl5dnNwWzBdLm5vZGUpLCAm
KHl5bG9jKSk7CisJCSAgICB9CisjbGluZSA5NzMxICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAg
Ki8KKyAgICBicmVhazsKKworICBjYXNlIDU1MToKKyNsaW5lIDM5NDEgInBhcnNlLnkiIC8qIHlh
Y2MuYzoxNjUyICAqLworICAgIHsKKwkJCSh5eXZhbC5ub2RlKSA9IG5ld19hcmdzKHAsICh5eXZz
cFstNV0ubm9kZSksIFFub25lLCAoeXl2c3BbLTNdLmlkKSwgKHl5dnNwWy0xXS5ub2RlKSwgKHl5
dnNwWzBdLm5vZGUpLCAmKHl5bG9jKSk7CisJCSAgICB9CisjbGluZSA5NzM5ICJwYXJzZS5jIiAv
KiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDU1MjoKKyNsaW5lIDM5NDUg
InBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJCSh5eXZhbC5ub2RlKSA9IG5l
d19hcmdzKHAsICh5eXZzcFstMV0ubm9kZSksIFFub25lLCBRbm9uZSwgUW5vbmUsICh5eXZzcFsw
XS5ub2RlKSwgJih5eWxvYykpOworCQkgICAgfQorI2xpbmUgOTc0NyAicGFyc2UuYyIgLyogeWFj
Yy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSA1NTM6CisjbGluZSAzOTQ5ICJwYXJz
ZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCQkoeXl2YWwubm9kZSkgPSBuZXdfYXJn
cyhwLCBRbm9uZSwgKHl5dnNwWy0zXS5ub2RlKSwgKHl5dnNwWy0xXS5pZCksIFFub25lLCAoeXl2
c3BbMF0ubm9kZSksICYoeXlsb2MpKTsKKwkJICAgIH0KKyNsaW5lIDk3NTUgInBhcnNlLmMiIC8q
IHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgNTU0OgorI2xpbmUgMzk1MyAi
cGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkJKHl5dmFsLm5vZGUpID0gbmV3
X2FyZ3MocCwgUW5vbmUsICh5eXZzcFstNV0ubm9kZSksICh5eXZzcFstM10uaWQpLCAoeXl2c3Bb
LTFdLm5vZGUpLCAoeXl2c3BbMF0ubm9kZSksICYoeXlsb2MpKTsKKwkJICAgIH0KKyNsaW5lIDk3
NjMgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgNTU1
OgorI2xpbmUgMzk1NyAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkJKHl5
dmFsLm5vZGUpID0gbmV3X2FyZ3MocCwgUW5vbmUsICh5eXZzcFstMV0ubm9kZSksIFFub25lLCBR
bm9uZSwgKHl5dnNwWzBdLm5vZGUpLCAmKHl5bG9jKSk7CisJCSAgICB9CisjbGluZSA5NzcxICJw
YXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDU1NjoKKyNs
aW5lIDM5NjEgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJCSh5eXZhbC5u
b2RlKSA9IG5ld19hcmdzKHAsIFFub25lLCAoeXl2c3BbLTNdLm5vZGUpLCBRbm9uZSwgKHl5dnNw
Wy0xXS5ub2RlKSwgKHl5dnNwWzBdLm5vZGUpLCAmKHl5bG9jKSk7CisJCSAgICB9CisjbGluZSA5
Nzc5ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDU1
NzoKKyNsaW5lIDM5NjUgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJCSh5
eXZhbC5ub2RlKSA9IG5ld19hcmdzKHAsIFFub25lLCBRbm9uZSwgKHl5dnNwWy0xXS5pZCksIFFu
b25lLCAoeXl2c3BbMF0ubm9kZSksICYoeXlsb2MpKTsKKwkJICAgIH0KKyNsaW5lIDk3ODcgInBh
cnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgNTU4OgorI2xp
bmUgMzk2OSAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkJKHl5dmFsLm5v
ZGUpID0gbmV3X2FyZ3MocCwgUW5vbmUsIFFub25lLCAoeXl2c3BbLTNdLmlkKSwgKHl5dnNwWy0x
XS5ub2RlKSwgKHl5dnNwWzBdLm5vZGUpLCAmKHl5bG9jKSk7CisJCSAgICB9CisjbGluZSA5Nzk1
ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDU1OToK
KyNsaW5lIDM5NzMgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJCSh5eXZh
bC5ub2RlKSA9IG5ld19hcmdzKHAsIFFub25lLCBRbm9uZSwgUW5vbmUsIFFub25lLCAoeXl2c3Bb
MF0ubm9kZSksICYoeXlsb2MpKTsKKwkJICAgIH0KKyNsaW5lIDk4MDMgInBhcnNlLmMiIC8qIHlh
Y2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgNTYwOgorI2xpbmUgMzk3NyAicGFy
c2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkJKHl5dmFsLm5vZGUpID0gbmV3X2Fy
Z3NfdGFpbChwLCBRbm9uZSwgUW5vbmUsIFFub25lLCAmKHl5bHNwWzBdKSk7CisJCQkoeXl2YWwu
bm9kZSkgPSBuZXdfYXJncyhwLCBRbm9uZSwgUW5vbmUsIFFub25lLCBRbm9uZSwgKHl5dmFsLm5v
ZGUpLCAmKHl5bHNwWzBdKSk7CisJCSAgICB9CisjbGluZSA5ODEyICJwYXJzZS5jIiAvKiB5YWNj
LmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDU2MToKKyNsaW5lIDM5ODQgInBhcnNl
LnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCXl5ZXJyb3Ix
KCYoeXlsc3BbMF0pLCAiZm9ybWFsIGFyZ3VtZW50IGNhbm5vdCBiZSBhIGNvbnN0YW50Iik7CisJ
CQkoeXl2YWwuaWQpID0gMDsKKwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBwZXJbZXJyb3Jd
OiBwYXJhbV9lcnJvciEoJDEpICUqLworCQkgICAgfQorI2xpbmUgOTgyNCAicGFyc2UuYyIgLyog
eWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSA1NjI6CisjbGluZSAzOTkyICJw
YXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCSAgICAvKiUlJSovCisJCQl5eWVy
cm9yMSgmKHl5bHNwWzBdKSwgImZvcm1hbCBhcmd1bWVudCBjYW5ub3QgYmUgYW4gaW5zdGFuY2Ug
dmFyaWFibGUiKTsKKwkJCSh5eXZhbC5pZCkgPSAwOworCQkgICAgLyolICUqLworCQkgICAgLyol
IHJpcHBlcltlcnJvcl06IHBhcmFtX2Vycm9yISgkMSkgJSovCisJCSAgICB9CisjbGluZSA5ODM2
ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDU2MzoK
KyNsaW5lIDQwMDAgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJICAgIC8q
JSUlKi8KKwkJCXl5ZXJyb3IxKCYoeXlsc3BbMF0pLCAiZm9ybWFsIGFyZ3VtZW50IGNhbm5vdCBi
ZSBhIGdsb2JhbCB2YXJpYWJsZSIpOworCQkJKHl5dmFsLmlkKSA9IDA7CisJCSAgICAvKiUgJSov
CisJCSAgICAvKiUgcmlwcGVyW2Vycm9yXTogcGFyYW1fZXJyb3IhKCQxKSAlKi8KKwkJICAgIH0K
KyNsaW5lIDk4NDggInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisg
IGNhc2UgNTY0OgorI2xpbmUgNDAwOCAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAg
eworCQkgICAgLyolJSUqLworCQkJeXllcnJvcjEoJih5eWxzcFswXSksICJmb3JtYWwgYXJndW1l
bnQgY2Fubm90IGJlIGEgY2xhc3MgdmFyaWFibGUiKTsKKwkJCSh5eXZhbC5pZCkgPSAwOworCQkg
ICAgLyolICUqLworCQkgICAgLyolIHJpcHBlcltlcnJvcl06IHBhcmFtX2Vycm9yISgkMSkgJSov
CisJCSAgICB9CisjbGluZSA5ODYwICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBi
cmVhazsKKworICBjYXNlIDU2NjoKKyNsaW5lIDQwMTkgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUy
ICAqLworICAgIHsKKwkJCWZvcm1hbF9hcmd1bWVudChwLCBnZXRfaWQoKHl5dnNwWzBdLmlkKSkp
OworCQkJKHl5dmFsLmlkKSA9ICh5eXZzcFswXS5pZCk7CisJCSAgICB9CisjbGluZSA5ODY5ICJw
YXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDU2NzoKKyNs
aW5lIDQwMjYgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJCUlEIGlkID0g
Z2V0X2lkKCh5eXZzcFswXS5pZCkpOworCQkJYXJnX3ZhcihwLCBpZCk7CisJCQlwLT5jdXJfYXJn
ID0gaWQ7CisJCQkoeXl2YWwuaWQpID0gKHl5dnNwWzBdLmlkKTsKKwkJICAgIH0KKyNsaW5lIDk4
ODAgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgNTY4
OgorI2xpbmUgNDAzNSAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkJcC0+
Y3VyX2FyZyA9IDA7CisJCSAgICAvKiUlJSovCisJCQkoeXl2YWwubm9kZSkgPSBORVdfQVJHU19B
VVgoKHl5dnNwWzBdLmlkKSwgMSwgJk5VTExfTE9DKTsKKwkJICAgIC8qJSAlKi8KKwkJICAgIC8q
JSByaXBwZXI6IGdldF92YWx1ZSgkMSkgJSovCisJCSAgICB9CisjbGluZSA5ODkyICJwYXJzZS5j
IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDU2OToKKyNsaW5lIDQw
NDMgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJCUlEIHRpZCA9IGludGVy
bmFsX2lkKHApOworCQkgICAgLyolJSUqLworCQkJWVlMVFlQRSBsb2M7CisJCQlsb2MuYmVnX3Bv
cyA9ICh5eWxzcFstMV0pLmJlZ19wb3M7CisJCQlsb2MuZW5kX3BvcyA9ICh5eWxzcFstMV0pLmJl
Z19wb3M7CisJCSAgICAvKiUgJSovCisJCQlhcmdfdmFyKHAsIHRpZCk7CisJCSAgICAvKiUlJSov
CisJCQlpZiAoZHluYV9pbl9ibG9jayhwKSkgeworCQkJICAgICh5eXZzcFstMV0ubm9kZSktPm5k
X3ZhbHVlID0gTkVXX0RWQVIodGlkLCAmbG9jKTsKKwkJCX0KKwkJCWVsc2UgeworCQkJICAgICh5
eXZzcFstMV0ubm9kZSktPm5kX3ZhbHVlID0gTkVXX0xWQVIodGlkLCAmbG9jKTsKKwkJCX0KKwkJ
CSh5eXZhbC5ub2RlKSA9IE5FV19BUkdTX0FVWCh0aWQsIDEsICZOVUxMX0xPQyk7CisJCQkoeXl2
YWwubm9kZSktPm5kX25leHQgPSAoeXl2c3BbLTFdLm5vZGUpOworCQkgICAgLyolICUqLworCQkg
ICAgLyolIHJpcHBlcjogbWxoc19wYXJlbiEoJDIpICUqLworCQkgICAgfQorI2xpbmUgOTkxNyAi
cGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSA1NzE6Cisj
bGluZSA0MDY4ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCSAgICAvKiUl
JSovCisJCQkoeXl2YWwubm9kZSkgPSAoeXl2c3BbLTJdLm5vZGUpOworCQkJKHl5dmFsLm5vZGUp
LT5uZF9wbGVuKys7CisJCQkoeXl2YWwubm9kZSktPm5kX25leHQgPSBibG9ja19hcHBlbmQocCwg
KHl5dmFsLm5vZGUpLT5uZF9uZXh0LCAoeXl2c3BbMF0ubm9kZSktPm5kX25leHQpOworCQkJcmJf
ZGlzY2FyZF9ub2RlKHAsICh5eXZzcFswXS5ub2RlKSk7CisJCSAgICAvKiUgJSovCisJCSAgICAv
KiUgcmlwcGVyOiByYl9hcnlfcHVzaCgkMSwgZ2V0X3ZhbHVlKCQzKSkgJSovCisJCSAgICB9Cisj
bGluZSA5OTMxICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBj
YXNlIDU3MjoKKyNsaW5lIDQwODEgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsK
KwkJCUlEIGlkID0gZ2V0X2lkKCh5eXZzcFswXS5pZCkpOworCQkJYXJnX3ZhcihwLCBmb3JtYWxf
YXJndW1lbnQocCwgaWQpKTsKKwkJCXAtPmN1cl9hcmcgPSBpZDsKKwkJCSh5eXZhbC5pZCkgPSAo
eXl2c3BbMF0uaWQpOworCQkgICAgfQorI2xpbmUgOTk0MiAicGFyc2UuYyIgLyogeWFjYy5jOjE2
NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSA1NzM6CisjbGluZSA0MDkwICJwYXJzZS55IiAv
KiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCQlwLT5jdXJfYXJnID0gMDsKKwkJICAgIC8qJSUl
Ki8KKwkJCSh5eXZhbC5ub2RlKSA9IG5ld19rd19hcmcocCwgYXNzaWduYWJsZShwLCAoeXl2c3Bb
LTFdLmlkKSwgKHl5dnNwWzBdLm5vZGUpLCAmKHl5bG9jKSksICYoeXlsb2MpKTsKKwkJICAgIC8q
JSAlKi8KKwkJICAgIC8qJSByaXBwZXI6IHJiX2Fzc29jX25ldyhnZXRfdmFsdWUoYXNzaWduYWJs
ZShwLCAkMSkpLCBnZXRfdmFsdWUoJDIpKSAlKi8KKwkJICAgIH0KKyNsaW5lIDk5NTQgInBhcnNl
LmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2UgNTc0OgorI2xpbmUg
NDA5OCAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkJcC0+Y3VyX2FyZyA9
IDA7CisJCSAgICAvKiUlJSovCisJCQkoeXl2YWwubm9kZSkgPSBuZXdfa3dfYXJnKHAsIGFzc2ln
bmFibGUocCwgKHl5dnNwWzBdLmlkKSwgTk9ERV9TUEVDSUFMX1JFUVVJUkVEX0tFWVdPUkQsICYo
eXlsb2MpKSwgJih5eWxvYykpOworCQkgICAgLyolICUqLworCQkgICAgLyolIHJpcHBlcjogcmJf
YXNzb2NfbmV3KGdldF92YWx1ZShhc3NpZ25hYmxlKHAsICQxKSksIDApICUqLworCQkgICAgfQor
I2xpbmUgOTk2NiAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAg
Y2FzZSA1NzU6CisjbGluZSA0MTA4ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7
CisJCSAgICAvKiUlJSovCisJCQkoeXl2YWwubm9kZSkgPSBuZXdfa3dfYXJnKHAsIGFzc2lnbmFi
bGUocCwgKHl5dnNwWy0xXS5pZCksICh5eXZzcFswXS5ub2RlKSwgJih5eWxvYykpLCAmKHl5bG9j
KSk7CisJCSAgICAvKiUgJSovCisJCSAgICAvKiUgcmlwcGVyOiByYl9hc3NvY19uZXcoZ2V0X3Zh
bHVlKGFzc2lnbmFibGUocCwgJDEpKSwgZ2V0X3ZhbHVlKCQyKSkgJSovCisJCSAgICB9CisjbGlu
ZSA5OTc3ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNl
IDU3NjoKKyNsaW5lIDQxMTUgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJ
ICAgIC8qJSUlKi8KKwkJCSh5eXZhbC5ub2RlKSA9IG5ld19rd19hcmcocCwgYXNzaWduYWJsZShw
LCAoeXl2c3BbMF0uaWQpLCBOT0RFX1NQRUNJQUxfUkVRVUlSRURfS0VZV09SRCwgJih5eWxvYykp
LCAmKHl5bG9jKSk7CisJCSAgICAvKiUgJSovCisJCSAgICAvKiUgcmlwcGVyOiByYl9hc3NvY19u
ZXcoZ2V0X3ZhbHVlKGFzc2lnbmFibGUocCwgJDEpKSwgMCkgJSovCisJCSAgICB9CisjbGluZSA5
OTg4ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDU3
NzoKKyNsaW5lIDQxMjQgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJICAg
IC8qJSUlKi8KKwkJCSh5eXZhbC5ub2RlKSA9ICh5eXZzcFswXS5ub2RlKTsKKwkJICAgIC8qJSAl
Ki8KKwkJICAgIC8qJSByaXBwZXI6IHJiX2FyeV9uZXczKDEsIGdldF92YWx1ZSgkMSkpICUqLwor
CQkgICAgfQorI2xpbmUgOTk5OSAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJl
YWs7CisKKyAgY2FzZSA1Nzg6CisjbGluZSA0MTMxICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAg
Ki8KKyAgICB7CisJCSAgICAvKiUlJSovCisJCQkoeXl2YWwubm9kZSkgPSBrd2RfYXBwZW5kKCh5
eXZzcFstMl0ubm9kZSksICh5eXZzcFswXS5ub2RlKSk7CisJCSAgICAvKiUgJSovCisJCSAgICAv
KiUgcmlwcGVyOiByYl9hcnlfcHVzaCgkMSwgZ2V0X3ZhbHVlKCQzKSkgJSovCisJCSAgICB9Cisj
bGluZSAxMDAxMCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAg
Y2FzZSA1Nzk6CisjbGluZSA0MTQxICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7
CisJCSAgICAvKiUlJSovCisJCQkoeXl2YWwubm9kZSkgPSAoeXl2c3BbMF0ubm9kZSk7CisJCSAg
ICAvKiUgJSovCisJCSAgICAvKiUgcmlwcGVyOiByYl9hcnlfbmV3MygxLCBnZXRfdmFsdWUoJDEp
KSAlKi8KKwkJICAgIH0KKyNsaW5lIDEwMDIxICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8K
KyAgICBicmVhazsKKworICBjYXNlIDU4MDoKKyNsaW5lIDQxNDggInBhcnNlLnkiIC8qIHlhY2Mu
YzoxNjUyICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCSh5eXZhbC5ub2RlKSA9IGt3ZF9h
cHBlbmQoKHl5dnNwWy0yXS5ub2RlKSwgKHl5dnNwWzBdLm5vZGUpKTsKKwkJICAgIC8qJSAlKi8K
KwkJICAgIC8qJSByaXBwZXI6IHJiX2FyeV9wdXNoKCQxLCBnZXRfdmFsdWUoJDMpKSAlKi8KKwkJ
ICAgIH0KKyNsaW5lIDEwMDMyICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVh
azsKKworICBjYXNlIDU4MzoKKyNsaW5lIDQxNjEgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAq
LworICAgIHsKKwkJCWFyZ192YXIocCwgc2hhZG93aW5nX2x2YXIocCwgZ2V0X2lkKCh5eXZzcFsw
XS5pZCkpKSk7CisJCSAgICAvKiUlJSovCisJCQkoeXl2YWwuaWQpID0gKHl5dnNwWzBdLmlkKTsK
KwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBwZXI6IGt3cmVzdF9wYXJhbSEoJDIpICUqLwor
CQkgICAgfQorI2xpbmUgMTAwNDQgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJy
ZWFrOworCisgIGNhc2UgNTg0OgorI2xpbmUgNDE2OSAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIg
ICovCisgICAgeworCQkgICAgLyolJSUqLworCQkJKHl5dmFsLmlkKSA9IGludGVybmFsX2lkKHAp
OworCQkJYXJnX3ZhcihwLCAoeXl2YWwuaWQpKTsKKwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSBy
aXBwZXI6IGt3cmVzdF9wYXJhbSEoUW5pbCkgJSovCisJCSAgICB9CisjbGluZSAxMDA1NiAicGFy
c2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSA1ODU6CisjbGlu
ZSA0MTc5ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCQlwLT5jdXJfYXJn
ID0gMDsKKwkJICAgIC8qJSUlKi8KKwkJCSh5eXZhbC5ub2RlKSA9IE5FV19PUFRfQVJHKDAsIGFz
c2lnbmFibGUocCwgKHl5dnNwWy0yXS5pZCksICh5eXZzcFswXS5ub2RlKSwgJih5eWxvYykpLCAm
KHl5bG9jKSk7CisJCSAgICAvKiUgJSovCisJCSAgICAvKiUgcmlwcGVyOiByYl9hc3NvY19uZXco
Z2V0X3ZhbHVlKGFzc2lnbmFibGUocCwgJDEpKSwgZ2V0X3ZhbHVlKCQzKSkgJSovCisJCSAgICB9
CisjbGluZSAxMDA2OCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisK
KyAgY2FzZSA1ODY6CisjbGluZSA0MTg5ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAg
ICB7CisJCQlwLT5jdXJfYXJnID0gMDsKKwkJICAgIC8qJSUlKi8KKwkJCSh5eXZhbC5ub2RlKSA9
IE5FV19PUFRfQVJHKDAsIGFzc2lnbmFibGUocCwgKHl5dnNwWy0yXS5pZCksICh5eXZzcFswXS5u
b2RlKSwgJih5eWxvYykpLCAmKHl5bG9jKSk7CisJCSAgICAvKiUgJSovCisJCSAgICAvKiUgcmlw
cGVyOiByYl9hc3NvY19uZXcoZ2V0X3ZhbHVlKGFzc2lnbmFibGUocCwgJDEpKSwgZ2V0X3ZhbHVl
KCQzKSkgJSovCisJCSAgICB9CisjbGluZSAxMDA4MCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIg
ICovCisgICAgYnJlYWs7CisKKyAgY2FzZSA1ODc6CisjbGluZSA0MTk5ICJwYXJzZS55IiAvKiB5
YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCSAgICAvKiUlJSovCisJCQkoeXl2YWwubm9kZSkgPSAo
eXl2c3BbMF0ubm9kZSk7CisJCSAgICAvKiUgJSovCisJCSAgICAvKiUgcmlwcGVyOiByYl9hcnlf
bmV3MygxLCBnZXRfdmFsdWUoJDEpKSAlKi8KKwkJICAgIH0KKyNsaW5lIDEwMDkxICJwYXJzZS5j
IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDU4ODoKKyNsaW5lIDQy
MDYgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJ
CSh5eXZhbC5ub2RlKSA9IG9wdF9hcmdfYXBwZW5kKCh5eXZzcFstMl0ubm9kZSksICh5eXZzcFsw
XS5ub2RlKSk7CisJCSAgICAvKiUgJSovCisJCSAgICAvKiUgcmlwcGVyOiByYl9hcnlfcHVzaCgk
MSwgZ2V0X3ZhbHVlKCQzKSkgJSovCisJCSAgICB9CisjbGluZSAxMDEwMiAicGFyc2UuYyIgLyog
eWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSA1ODk6CisjbGluZSA0MjE1ICJw
YXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCSAgICAvKiUlJSovCisJCQkoeXl2
YWwubm9kZSkgPSAoeXl2c3BbMF0ubm9kZSk7CisJCSAgICAvKiUgJSovCisJCSAgICAvKiUgcmlw
cGVyOiByYl9hcnlfbmV3MygxLCBnZXRfdmFsdWUoJDEpKSAlKi8KKwkJICAgIH0KKyNsaW5lIDEw
MTEzICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDU5
MDoKKyNsaW5lIDQyMjIgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJICAg
IC8qJSUlKi8KKwkJCSh5eXZhbC5ub2RlKSA9IG9wdF9hcmdfYXBwZW5kKCh5eXZzcFstMl0ubm9k
ZSksICh5eXZzcFswXS5ub2RlKSk7CisJCSAgICAvKiUgJSovCisJCSAgICAvKiUgcmlwcGVyOiBy
Yl9hcnlfcHVzaCgkMSwgZ2V0X3ZhbHVlKCQzKSkgJSovCisJCSAgICB9CisjbGluZSAxMDEyNCAi
cGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSA1OTM6Cisj
bGluZSA0MjM1ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCQlhcmdfdmFy
KHAsIHNoYWRvd2luZ19sdmFyKHAsIGdldF9pZCgoeXl2c3BbMF0uaWQpKSkpOworCQkgICAgLyol
JSUqLworCQkJKHl5dmFsLmlkKSA9ICh5eXZzcFswXS5pZCk7CisJCSAgICAvKiUgJSovCisJCSAg
ICAvKiUgcmlwcGVyOiByZXN0X3BhcmFtISgkMikgJSovCisJCSAgICB9CisjbGluZSAxMDEzNiAi
cGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSA1OTQ6Cisj
bGluZSA0MjQzICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCSAgICAvKiUl
JSovCisJCQkoeXl2YWwuaWQpID0gaW50ZXJuYWxfaWQocCk7CisJCQlhcmdfdmFyKHAsICh5eXZh
bC5pZCkpOworCQkgICAgLyolICUqLworCQkgICAgLyolIHJpcHBlcjogcmVzdF9wYXJhbSEoUW5p
bCkgJSovCisJCSAgICB9CisjbGluZSAxMDE0OCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICov
CisgICAgYnJlYWs7CisKKyAgY2FzZSA1OTc6CisjbGluZSA0MjU3ICJwYXJzZS55IiAvKiB5YWNj
LmM6MTY1MiAgKi8KKyAgICB7CisJCQlhcmdfdmFyKHAsIHNoYWRvd2luZ19sdmFyKHAsIGdldF9p
ZCgoeXl2c3BbMF0uaWQpKSkpOworCQkgICAgLyolJSUqLworCQkJKHl5dmFsLmlkKSA9ICh5eXZz
cFswXS5pZCk7CisJCSAgICAvKiUgJSovCisJCSAgICAvKiUgcmlwcGVyOiBibG9ja2FyZyEoJDIp
ICUqLworCQkgICAgfQorI2xpbmUgMTAxNjAgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwor
ICAgIGJyZWFrOworCisgIGNhc2UgNTk4OgorI2xpbmUgNDI2NyAicGFyc2UueSIgLyogeWFjYy5j
OjE2NTIgICovCisgICAgeworCQkJKHl5dmFsLmlkKSA9ICh5eXZzcFswXS5pZCk7CisJCSAgICB9
CisjbGluZSAxMDE2OCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisK
KyAgY2FzZSA1OTk6CisjbGluZSA0MjcxICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAg
ICB7CisJCSAgICAvKiUlJSovCisJCQkoeXl2YWwuaWQpID0gMDsKKwkJICAgIC8qJSAlKi8KKwkJ
ICAgIC8qJSByaXBwZXI6IFF1bmRlZiAlKi8KKwkJICAgIH0KKyNsaW5lIDEwMTc5ICJwYXJzZS5j
IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDYwMDoKKyNsaW5lIDQy
ODAgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJCXZhbHVlX2V4cHIoKHl5
dnNwWzBdLm5vZGUpKTsKKwkJCSh5eXZhbC5ub2RlKSA9ICh5eXZzcFswXS5ub2RlKTsKKwkJICAg
IH0KKyNsaW5lIDEwMTg4ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsK
KworICBjYXNlIDYwMToKKyNsaW5lIDQyODQgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwor
ICAgIHtTRVRfTEVYX1NUQVRFKEVYUFJfQkVHKTt9CisjbGluZSAxMDE5NCAicGFyc2UuYyIgLyog
eWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSA2MDI6CisjbGluZSA0Mjg1ICJw
YXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCSAgICAvKiUlJSovCisJCQlzd2l0
Y2ggKG5kX3R5cGUoKHl5dnNwWy0xXS5ub2RlKSkpIHsKKwkJCSAgY2FzZSBOT0RFX1NUUjoKKwkJ
CSAgY2FzZSBOT0RFX0RTVFI6CisJCQkgIGNhc2UgTk9ERV9YU1RSOgorCQkJICBjYXNlIE5PREVf
RFhTVFI6CisJCQkgIGNhc2UgTk9ERV9EUkVHWDoKKwkJCSAgY2FzZSBOT0RFX0xJVDoKKwkJCSAg
Y2FzZSBOT0RFX0FSUkFZOgorCQkJICBjYXNlIE5PREVfWkFSUkFZOgorCQkJICAgIHl5ZXJyb3Ix
KCYoeXlsc3BbLTFdKSwgImNhbid0IGRlZmluZSBzaW5nbGV0b24gbWV0aG9kIGZvciBsaXRlcmFs
cyIpOworCQkJICAgIGJyZWFrOworCQkJICBkZWZhdWx0OgorCQkJICAgIHZhbHVlX2V4cHIoKHl5
dnNwWy0xXS5ub2RlKSk7CisJCQkgICAgYnJlYWs7CisJCQl9CisJCQkoeXl2YWwubm9kZSkgPSAo
eXl2c3BbLTFdLm5vZGUpOworCQkgICAgLyolICUqLworCQkgICAgLyolIHJpcHBlcjogcGFyZW4h
KCQzKSAlKi8KKwkJICAgIH0KKyNsaW5lIDEwMjIwICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAg
Ki8KKyAgICBicmVhazsKKworICBjYXNlIDYwNDoKKyNsaW5lIDQzMTAgInBhcnNlLnkiIC8qIHlh
Y2MuYzoxNjUyICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCSh5eXZhbC5ub2RlKSA9ICh5
eXZzcFstMV0ubm9kZSk7CisJCSAgICAvKiUgJSovCisJCSAgICAvKiUgcmlwcGVyOiBhc3NvY2xp
c3RfZnJvbV9hcmdzISgkMSkgJSovCisJCSAgICB9CisjbGluZSAxMDIzMSAicGFyc2UuYyIgLyog
eWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSA2MDY6CisjbGluZSA0MzIxICJw
YXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCSAgICAvKiUlJSovCisJCQlOT0RF
ICphc3NvY3MgPSAoeXl2c3BbLTJdLm5vZGUpOworCQkJTk9ERSAqdGFpbCA9ICh5eXZzcFswXS5u
b2RlKTsKKwkJCWlmICghYXNzb2NzKSB7CisJCQkgICAgYXNzb2NzID0gdGFpbDsKKwkJCX0KKwkJ
CWVsc2UgaWYgKHRhaWwpIHsKKwkJCSAgICBpZiAoYXNzb2NzLT5uZF9oZWFkICYmCisJCQkJIXRh
aWwtPm5kX2hlYWQgJiYgbmRfdHlwZSh0YWlsLT5uZF9uZXh0KSA9PSBOT0RFX0FSUkFZICYmCisJ
CQkJbmRfdHlwZSh0YWlsLT5uZF9uZXh0LT5uZF9oZWFkKSA9PSBOT0RFX0hBU0gpIHsKKwkJCQkv
KiBEU1RBUiAqLworCQkJCXRhaWwgPSB0YWlsLT5uZF9uZXh0LT5uZF9oZWFkLT5uZF9oZWFkOwor
CQkJICAgIH0KKwkJCSAgICBhc3NvY3MgPSBsaXN0X2NvbmNhdChhc3NvY3MsIHRhaWwpOworCQkJ
fQorCQkJKHl5dmFsLm5vZGUpID0gYXNzb2NzOworCQkgICAgLyolICUqLworCQkgICAgLyolIHJp
cHBlcjogcmJfYXJ5X3B1c2goJDEsIGdldF92YWx1ZSgkMykpICUqLworCQkgICAgfQorI2xpbmUg
MTAyNTYgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisgIGNhc2Ug
NjA3OgorI2xpbmUgNDM0NCAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAgeworCQkg
ICAgLyolJSUqLworCQkJaWYgKG5kX3R5cGUoKHl5dnNwWy0yXS5ub2RlKSkgPT0gTk9ERV9TVFIp
IHsKKwkJCSAgICBuZF9zZXRfdHlwZSgoeXl2c3BbLTJdLm5vZGUpLCBOT0RFX0xJVCk7CisJCQkg
ICAgYWRkX21hcmtfb2JqZWN0KHAsICh5eXZzcFstMl0ubm9kZSktPm5kX2xpdCA9IHJiX2ZzdHJp
bmcoKHl5dnNwWy0yXS5ub2RlKS0+bmRfbGl0KSk7CisJCQl9CisJCQkoeXl2YWwubm9kZSkgPSBs
aXN0X2FwcGVuZChwLCBORVdfTElTVCgoeXl2c3BbLTJdLm5vZGUpLCAmKHl5bG9jKSksICh5eXZz
cFswXS5ub2RlKSk7CisJCSAgICAvKiUgJSovCisJCSAgICAvKiUgcmlwcGVyOiBhc3NvY19uZXch
KCQxLCAkMykgJSovCisJCSAgICB9CisjbGluZSAxMDI3MSAicGFyc2UuYyIgLyogeWFjYy5jOjE2
NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSA2MDg6CisjbGluZSA0MzU1ICJwYXJzZS55IiAv
KiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7CisJCSAgICAvKiUlJSovCisJCQkoeXl2YWwubm9kZSkg
PSBsaXN0X2FwcGVuZChwLCBORVdfTElTVChORVdfTElUKElEMlNZTSgoeXl2c3BbLTFdLmlkKSks
ICYoeXlsc3BbLTFdKSksICYoeXlsb2MpKSwgKHl5dnNwWzBdLm5vZGUpKTsKKwkJICAgIC8qJSAl
Ki8KKwkJICAgIC8qJSByaXBwZXI6IGFzc29jX25ldyEoJDEsICQyKSAlKi8KKwkJICAgIH0KKyNs
aW5lIDEwMjgyICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBj
YXNlIDYwOToKKyNsaW5lIDQzNjIgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsK
KwkJICAgIC8qJSUlKi8KKwkJCVlZTFRZUEUgbG9jID0gY29kZV9sb2NfZ2VuKCYoeXlsc3BbLTNd
KSwgJih5eWxzcFstMV0pKTsKKwkJCSh5eXZhbC5ub2RlKSA9IGxpc3RfYXBwZW5kKHAsIE5FV19M
SVNUKGRzeW1fbm9kZShwLCAoeXl2c3BbLTJdLm5vZGUpLCAmbG9jKSwgJmxvYyksICh5eXZzcFsw
XS5ub2RlKSk7CisJCSAgICAvKiUgJSovCisJCSAgICAvKiUgcmlwcGVyOiBhc3NvY19uZXchKGR5
bmFfc3ltYm9sISgkMiksICQ0KSAlKi8KKwkJICAgIH0KKyNsaW5lIDEwMjk0ICJwYXJzZS5jIiAv
KiB5YWNjLmM6MTY1MiAgKi8KKyAgICBicmVhazsKKworICBjYXNlIDYxMDoKKyNsaW5lIDQzNzAg
InBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIHsKKwkJICAgIC8qJSUlKi8KKwkJCWlm
IChuZF90eXBlKCh5eXZzcFswXS5ub2RlKSkgPT0gTk9ERV9IQVNIICYmCisJCQkgICAgISgoeXl2
c3BbMF0ubm9kZSktPm5kX2hlYWQgJiYgKHl5dnNwWzBdLm5vZGUpLT5uZF9oZWFkLT5uZF9hbGVu
KSkKKwkJCSAgICAoeXl2YWwubm9kZSkgPSAwOworCQkJZWxzZQorCQkJICAgICh5eXZhbC5ub2Rl
KSA9IGxpc3RfYXBwZW5kKHAsIE5FV19MSVNUKDAsICYoeXlsb2MpKSwgKHl5dnNwWzBdLm5vZGUp
KTsKKwkJICAgIC8qJSAlKi8KKwkJICAgIC8qJSByaXBwZXI6IGFzc29jX3NwbGF0ISgkMikgJSov
CisJCSAgICB9CisjbGluZSAxMDMwOSAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAg
YnJlYWs7CisKKyAgY2FzZSA2MzY6CisjbGluZSA0NDI5ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1
MiAgKi8KKyAgICB7eXllcnJvazt0b2tlbl9mbHVzaChwKTt9CisjbGluZSAxMDMxNSAicGFyc2Uu
YyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKyAgY2FzZSA2Mzc6CisjbGluZSA0
NDMwICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KKyAgICB7dG9rZW5fZmx1c2gocCk7fQor
I2xpbmUgMTAzMjEgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgIGJyZWFrOworCisg
IGNhc2UgNjM5OgorI2xpbmUgNDQzNCAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCisgICAg
e3l5ZXJyb2s7fQorI2xpbmUgMTAzMjcgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAg
IGJyZWFrOworCisgIGNhc2UgNjQwOgorI2xpbmUgNDQzOCAicGFyc2UueSIgLyogeWFjYy5jOjE2
NTIgICovCisgICAgeworCQkJKHl5dmFsLm5vZGUpID0gUW51bGw7CisJCSAgICB9CisjbGluZSAx
MDMzNSAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCisgICAgYnJlYWs7CisKKworI2xpbmUg
MTAzMzkgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLworICAgICAgZGVmYXVsdDogYnJlYWs7
CisgICAgfQorICAvKiBVc2VyIHNlbWFudGljIGFjdGlvbnMgc29tZXRpbWVzIGFsdGVyIHl5Y2hh
ciwgYW5kIHRoYXQgcmVxdWlyZXMKKyAgICAgdGhhdCB5eXRva2VuIGJlIHVwZGF0ZWQgd2l0aCB0
aGUgbmV3IHRyYW5zbGF0aW9uLiAgV2UgdGFrZSB0aGUKKyAgICAgYXBwcm9hY2ggb2YgdHJhbnNs
YXRpbmcgaW1tZWRpYXRlbHkgYmVmb3JlIGV2ZXJ5IHVzZSBvZiB5eXRva2VuLgorICAgICBPbmUg
YWx0ZXJuYXRpdmUgaXMgdHJhbnNsYXRpbmcgaGVyZSBhZnRlciBldmVyeSBzZW1hbnRpYyBhY3Rp
b24sCisgICAgIGJ1dCB0aGF0IHRyYW5zbGF0aW9uIHdvdWxkIGJlIG1pc3NlZCBpZiB0aGUgc2Vt
YW50aWMgYWN0aW9uIGludm9rZXMKKyAgICAgWVlBQk9SVCwgWVlBQ0NFUFQsIG9yIFlZRVJST1Ig
aW1tZWRpYXRlbHkgYWZ0ZXIgYWx0ZXJpbmcgeXljaGFyIG9yCisgICAgIGlmIGl0IGludm9rZXMg
WVlCQUNLVVAuICBJbiB0aGUgY2FzZSBvZiBZWUFCT1JUIG9yIFlZQUNDRVBULCBhbgorICAgICBp
bmNvcnJlY3QgZGVzdHJ1Y3RvciBtaWdodCB0aGVuIGJlIGludm9rZWQgaW1tZWRpYXRlbHkuICBJ
biB0aGUKKyAgICAgY2FzZSBvZiBZWUVSUk9SIG9yIFlZQkFDS1VQLCBzdWJzZXF1ZW50IHBhcnNl
ciBhY3Rpb25zIG1pZ2h0IGxlYWQKKyAgICAgdG8gYW4gaW5jb3JyZWN0IGRlc3RydWN0b3IgY2Fs
bCBvciB2ZXJib3NlIHN5bnRheCBlcnJvciBtZXNzYWdlCisgICAgIGJlZm9yZSB0aGUgbG9va2Fo
ZWFkIGlzIHRyYW5zbGF0ZWQuICAqLworICBZWV9TWU1CT0xfUFJJTlQgKCItPiAkJCA9IiwgeXly
MVt5eW5dLCAmeXl2YWwsICZ5eWxvYyk7CisKKyAgWVlQT1BTVEFDSyAoeXlsZW4pOworICB5eWxl
biA9IDA7CisgIFlZX1NUQUNLX1BSSU5UICh5eXNzLCB5eXNzcCk7CisKKyAgKisreXl2c3AgPSB5
eXZhbDsKKyAgKisreXlsc3AgPSB5eWxvYzsKKworICAvKiBOb3cgJ3NoaWZ0JyB0aGUgcmVzdWx0
IG9mIHRoZSByZWR1Y3Rpb24uICBEZXRlcm1pbmUgd2hhdCBzdGF0ZQorICAgICB0aGF0IGdvZXMg
dG8sIGJhc2VkIG9uIHRoZSBzdGF0ZSB3ZSBwb3BwZWQgYmFjayB0byBhbmQgdGhlIHJ1bGUKKyAg
ICAgbnVtYmVyIHJlZHVjZWQgYnkuICAqLworICB7CisgICAgY29uc3QgaW50IHl5bGhzID0geXly
MVt5eW5dIC0gWVlOVE9LRU5TOworICAgIGNvbnN0IGludCB5eWkgPSB5eXBnb3RvW3l5bGhzXSAr
ICp5eXNzcDsKKyAgICB5eXN0YXRlID0gKDAgPD0geXlpICYmIHl5aSA8PSBZWUxBU1QgJiYgeXlj
aGVja1t5eWldID09ICp5eXNzcAorICAgICAgICAgICAgICAgPyB5eXRhYmxlW3l5aV0KKyAgICAg
ICAgICAgICAgIDogeXlkZWZnb3RvW3l5bGhzXSk7CisgIH0KKworICBnb3RvIHl5bmV3c3RhdGU7
CisKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS4KK3wgeXllcnJs
YWIgLS0gaGVyZSBvbiBkZXRlY3RpbmcgZXJyb3IuICB8CitgLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0qLworeXllcnJsYWI6CisgIC8qIE1ha2Ugc3VyZSB3ZSBoYXZlIGxh
dGVzdCBsb29rYWhlYWQgdHJhbnNsYXRpb24uICBTZWUgY29tbWVudHMgYXQKKyAgICAgdXNlciBz
ZW1hbnRpYyBhY3Rpb25zIGZvciB3aHkgdGhpcyBpcyBuZWNlc3NhcnkuICAqLworICB5eXRva2Vu
ID0geXljaGFyID09IFlZRU1QVFkgPyBZWUVNUFRZIDogWVlUUkFOU0xBVEUgKHl5Y2hhcik7CisK
KyAgLyogSWYgbm90IGFscmVhZHkgcmVjb3ZlcmluZyBmcm9tIGFuIGVycm9yLCByZXBvcnQgdGhp
cyBlcnJvci4gICovCisgIGlmICgheXllcnJzdGF0dXMpCisgICAgeworICAgICAgKyt5eW5lcnJz
OworI2lmICEgWVlFUlJPUl9WRVJCT1NFCisgICAgICB5eWVycm9yICgmeXlsbG9jLCBwLCBZWV8o
InN5bnRheCBlcnJvciIpKTsKKyNlbHNlCisjIGRlZmluZSBZWVNZTlRBWF9FUlJPUiB5eXN5bnRh
eF9lcnJvciAoJnl5bXNnX2FsbG9jLCAmeXltc2csIFwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB5eXNzcCwgeXl0b2tlbikKKyAgICAgIHsKKyAgICAgICAgY2hhciBj
b25zdCAqeXltc2dwID0gWVlfKCJzeW50YXggZXJyb3IiKTsKKyAgICAgICAgaW50IHl5c3ludGF4
X2Vycm9yX3N0YXR1czsKKyAgICAgICAgeXlzeW50YXhfZXJyb3Jfc3RhdHVzID0gWVlTWU5UQVhf
RVJST1I7CisgICAgICAgIGlmICh5eXN5bnRheF9lcnJvcl9zdGF0dXMgPT0gMCkKKyAgICAgICAg
ICB5eW1zZ3AgPSB5eW1zZzsKKyAgICAgICAgZWxzZSBpZiAoeXlzeW50YXhfZXJyb3Jfc3RhdHVz
ID09IDEpCisgICAgICAgICAgeworICAgICAgICAgICAgaWYgKHl5bXNnICE9IHl5bXNnYnVmKQor
ICAgICAgICAgICAgICBZWVNUQUNLX0ZSRUUgKHl5bXNnKTsKKyAgICAgICAgICAgIHl5bXNnID0g
KGNoYXIgKikgWVlTVEFDS19BTExPQyAoeXltc2dfYWxsb2MpOworICAgICAgICAgICAgaWYgKCF5
eW1zZykKKyAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHl5bXNnID0geXltc2didWY7
CisgICAgICAgICAgICAgICAgeXltc2dfYWxsb2MgPSBzaXplb2YgeXltc2didWY7CisgICAgICAg
ICAgICAgICAgeXlzeW50YXhfZXJyb3Jfc3RhdHVzID0gMjsKKyAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgZWxzZQorICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgeXlzeW50YXhf
ZXJyb3Jfc3RhdHVzID0gWVlTWU5UQVhfRVJST1I7CisgICAgICAgICAgICAgICAgeXltc2dwID0g
eXltc2c7CisgICAgICAgICAgICAgIH0KKyAgICAgICAgICB9CisgICAgICAgIHl5ZXJyb3IgKCZ5
eWxsb2MsIHAsIHl5bXNncCk7CisgICAgICAgIGlmICh5eXN5bnRheF9lcnJvcl9zdGF0dXMgPT0g
MikKKyAgICAgICAgICBnb3RvIHl5ZXhoYXVzdGVkbGFiOworICAgICAgfQorIyB1bmRlZiBZWVNZ
TlRBWF9FUlJPUgorI2VuZGlmCisgICAgfQorCisgIHl5ZXJyb3JfcmFuZ2VbMV0gPSB5eWxsb2M7
CisKKyAgaWYgKHl5ZXJyc3RhdHVzID09IDMpCisgICAgeworICAgICAgLyogSWYganVzdCB0cmll
ZCBhbmQgZmFpbGVkIHRvIHJldXNlIGxvb2thaGVhZCB0b2tlbiBhZnRlciBhbgorICAgICAgICAg
ZXJyb3IsIGRpc2NhcmQgaXQuICAqLworCisgICAgICBpZiAoeXljaGFyIDw9IFlZRU9GKQorICAg
ICAgICB7CisgICAgICAgICAgLyogUmV0dXJuIGZhaWx1cmUgaWYgYXQgZW5kIG9mIGlucHV0LiAg
Ki8KKyAgICAgICAgICBpZiAoeXljaGFyID09IFlZRU9GKQorICAgICAgICAgICAgWVlBQk9SVDsK
KyAgICAgICAgfQorICAgICAgZWxzZQorICAgICAgICB7CisgICAgICAgICAgeXlkZXN0cnVjdCAo
IkVycm9yOiBkaXNjYXJkaW5nIiwKKyAgICAgICAgICAgICAgICAgICAgICB5eXRva2VuLCAmeXls
dmFsLCAmeXlsbG9jLCBwKTsKKyAgICAgICAgICB5eWNoYXIgPSBZWUVNUFRZOworICAgICAgICB9
CisgICAgfQorCisgIC8qIEVsc2Ugd2lsbCB0cnkgdG8gcmV1c2UgbG9va2FoZWFkIHRva2VuIGFm
dGVyIHNoaWZ0aW5nIHRoZSBlcnJvcgorICAgICB0b2tlbi4gICovCisgIGdvdG8geXllcnJsYWIx
OworCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLgorfCB5eWVycm9ybGFiIC0tIGVycm9yIHJhaXNlZCBleHBsaWNpdGx5IGJ5IFlZRVJST1Iu
ICB8CitgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
Ki8KK3l5ZXJyb3JsYWI6CisgIC8qIFBhY2lmeSBjb21waWxlcnMgd2hlbiB0aGUgdXNlciBjb2Rl
IG5ldmVyIGludm9rZXMgWVlFUlJPUiBhbmQgdGhlCisgICAgIGxhYmVsIHl5ZXJyb3JsYWIgdGhl
cmVmb3JlIG5ldmVyIGFwcGVhcnMgaW4gdXNlciBjb2RlLiAgKi8KKyAgaWYgKDApCisgICAgWVlF
UlJPUjsKKworICAvKiBEbyBub3QgcmVjbGFpbSB0aGUgc3ltYm9scyBvZiB0aGUgcnVsZSB3aG9z
ZSBhY3Rpb24gdHJpZ2dlcmVkCisgICAgIHRoaXMgWVlFUlJPUi4gICovCisgIFlZUE9QU1RBQ0sg
KHl5bGVuKTsKKyAgeXlsZW4gPSAwOworICBZWV9TVEFDS19QUklOVCAoeXlzcywgeXlzc3ApOwor
ICB5eXN0YXRlID0gKnl5c3NwOworICBnb3RvIHl5ZXJybGFiMTsKKworCisvKi0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0uCit8IHl5
ZXJybGFiMSAtLSBjb21tb24gY29kZSBmb3IgYm90aCBzeW50YXggZXJyb3IgYW5kIFlZRVJST1Iu
ICB8CitgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLSovCit5eWVycmxhYjE6CisgIHl5ZXJyc3RhdHVzID0gMzsgICAgICAvKiBFYWNo
IHJlYWwgdG9rZW4gc2hpZnRlZCBkZWNyZW1lbnRzIHRoaXMuICAqLworCisgIGZvciAoOzspCisg
ICAgeworICAgICAgeXluID0geXlwYWN0W3l5c3RhdGVdOworICAgICAgaWYgKCF5eXBhY3RfdmFs
dWVfaXNfZGVmYXVsdCAoeXluKSkKKyAgICAgICAgeworICAgICAgICAgIHl5biArPSBZWVRFUlJP
UjsKKyAgICAgICAgICBpZiAoMCA8PSB5eW4gJiYgeXluIDw9IFlZTEFTVCAmJiB5eWNoZWNrW3l5
bl0gPT0gWVlURVJST1IpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgIHl5biA9IHl5dGFi
bGVbeXluXTsKKyAgICAgICAgICAgICAgaWYgKDAgPCB5eW4pCisgICAgICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgLyogUG9wIHRoZSBjdXJyZW50
IHN0YXRlIGJlY2F1c2UgaXQgY2Fubm90IGhhbmRsZSB0aGUgZXJyb3IgdG9rZW4uICAqLworICAg
ICAgaWYgKHl5c3NwID09IHl5c3MpCisgICAgICAgIFlZQUJPUlQ7CisKKyAgICAgIHl5ZXJyb3Jf
cmFuZ2VbMV0gPSAqeXlsc3A7CisgICAgICB5eWRlc3RydWN0ICgiRXJyb3I6IHBvcHBpbmciLAor
ICAgICAgICAgICAgICAgICAgeXlzdG9zW3l5c3RhdGVdLCB5eXZzcCwgeXlsc3AsIHApOworICAg
ICAgWVlQT1BTVEFDSyAoMSk7CisgICAgICB5eXN0YXRlID0gKnl5c3NwOworICAgICAgWVlfU1RB
Q0tfUFJJTlQgKHl5c3MsIHl5c3NwKTsKKyAgICB9CisKKyAgWVlfSUdOT1JFX01BWUJFX1VOSU5J
VElBTElaRURfQkVHSU4KKyAgKisreXl2c3AgPSB5eWx2YWw7CisgIFlZX0lHTk9SRV9NQVlCRV9V
TklOSVRJQUxJWkVEX0VORAorCisgIHl5ZXJyb3JfcmFuZ2VbMl0gPSB5eWxsb2M7CisgIC8qIFVz
aW5nIFlZTExPQyBpcyB0ZW1wdGluZywgYnV0IHdvdWxkIGNoYW5nZSB0aGUgbG9jYXRpb24gb2YK
KyAgICAgdGhlIGxvb2thaGVhZC4gIFlZTE9DIGlzIGF2YWlsYWJsZSB0aG91Z2guICAqLworICBZ
WUxMT0NfREVGQVVMVCAoeXlsb2MsIHl5ZXJyb3JfcmFuZ2UsIDIpOworICAqKyt5eWxzcCA9IHl5
bG9jOworCisgIC8qIFNoaWZ0IHRoZSBlcnJvciB0b2tlbi4gICovCisgIFlZX1NZTUJPTF9QUklO
VCAoIlNoaWZ0aW5nIiwgeXlzdG9zW3l5bl0sIHl5dnNwLCB5eWxzcCk7CisKKyAgeXlzdGF0ZSA9
IHl5bjsKKyAgZ290byB5eW5ld3N0YXRlOworCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS4KK3wgeXlhY2NlcHRsYWIgLS0gWVlBQ0NFUFQgY29tZXMgaGVyZS4gIHwK
K2AtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KK3l5YWNjZXB0bGFiOgor
ICB5eXJlc3VsdCA9IDA7CisgIGdvdG8geXlyZXR1cm47CisKKworLyotLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS4KK3wgeXlhYm9ydGxhYiAtLSBZWUFCT1JUIGNvbWVzIGhlcmUu
ICB8CitgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworeXlhYm9ydGxhYjoK
KyAgeXlyZXN1bHQgPSAxOworICBnb3RvIHl5cmV0dXJuOworCisKKyNpZiAhZGVmaW5lZCB5eW92
ZXJmbG93IHx8IFlZRVJST1JfVkVSQk9TRQorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLgorfCB5eWV4aGF1c3RlZGxhYiAtLSBtZW1vcnkgZXhoYXVz
dGlvbiBjb21lcyBoZXJlLiAgfAorYC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0qLworeXlleGhhdXN0ZWRsYWI6CisgIHl5ZXJyb3IgKCZ5eWxsb2MsIHAs
IFlZXygibWVtb3J5IGV4aGF1c3RlZCIpKTsKKyAgeXlyZXN1bHQgPSAyOworICAvKiBGYWxsIHRo
cm91Z2guICAqLworI2VuZGlmCisKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS4KK3wgeXlyZXR1cm4gLS0gcGFyc2luZyBpcyBmaW5pc2hl
ZCwgcmV0dXJuIHRoZSByZXN1bHQuICB8CitgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworeXlyZXR1cm46CisgIGlmICh5eWNoYXIgIT0gWVlF
TVBUWSkKKyAgICB7CisgICAgICAvKiBNYWtlIHN1cmUgd2UgaGF2ZSBsYXRlc3QgbG9va2FoZWFk
IHRyYW5zbGF0aW9uLiAgU2VlIGNvbW1lbnRzIGF0CisgICAgICAgICB1c2VyIHNlbWFudGljIGFj
dGlvbnMgZm9yIHdoeSB0aGlzIGlzIG5lY2Vzc2FyeS4gICovCisgICAgICB5eXRva2VuID0gWVlU
UkFOU0xBVEUgKHl5Y2hhcik7CisgICAgICB5eWRlc3RydWN0ICgiQ2xlYW51cDogZGlzY2FyZGlu
ZyBsb29rYWhlYWQiLAorICAgICAgICAgICAgICAgICAgeXl0b2tlbiwgJnl5bHZhbCwgJnl5bGxv
YywgcCk7CisgICAgfQorICAvKiBEbyBub3QgcmVjbGFpbSB0aGUgc3ltYm9scyBvZiB0aGUgcnVs
ZSB3aG9zZSBhY3Rpb24gdHJpZ2dlcmVkCisgICAgIHRoaXMgWVlBQk9SVCBvciBZWUFDQ0VQVC4g
ICovCisgIFlZUE9QU1RBQ0sgKHl5bGVuKTsKKyAgWVlfU1RBQ0tfUFJJTlQgKHl5c3MsIHl5c3Nw
KTsKKyAgd2hpbGUgKHl5c3NwICE9IHl5c3MpCisgICAgeworICAgICAgeXlkZXN0cnVjdCAoIkNs
ZWFudXA6IHBvcHBpbmciLAorICAgICAgICAgICAgICAgICAgeXlzdG9zWyp5eXNzcF0sIHl5dnNw
LCB5eWxzcCwgcCk7CisgICAgICBZWVBPUFNUQUNLICgxKTsKKyAgICB9CisjaWZuZGVmIHl5b3Zl
cmZsb3cKKyAgaWYgKHl5c3MgIT0geXlzc2EpCisgICAgWVlTVEFDS19GUkVFICh5eXNzKTsKKyNl
bmRpZgorI2lmIFlZRVJST1JfVkVSQk9TRQorICBpZiAoeXltc2cgIT0geXltc2didWYpCisgICAg
WVlTVEFDS19GUkVFICh5eW1zZyk7CisjZW5kaWYKKyAgcmV0dXJuIHl5cmVzdWx0OworfQorI2xp
bmUgNDQ0MiAicGFyc2UueSIgLyogeWFjYy5jOjE5MTggICovCisKKyMgdW5kZWYgcAorIyB1bmRl
ZiB5eWxleAorIyB1bmRlZiB5eWx2YWwKKyMgZGVmaW5lIHl5bHZhbCAgKCpwLT5sdmFsKQorCitz
dGF0aWMgaW50IHJlZ3hfb3B0aW9ucyhzdHJ1Y3QgcGFyc2VyX3BhcmFtcyopOworc3RhdGljIGlu
dCB0b2thZGRfc3RyaW5nKHN0cnVjdCBwYXJzZXJfcGFyYW1zKixpbnQsaW50LGludCxsb25nKixy
Yl9lbmNvZGluZyoqLHJiX2VuY29kaW5nKiopOworc3RhdGljIHZvaWQgdG9rYWRkbWJjKHN0cnVj
dCBwYXJzZXJfcGFyYW1zICpwLCBpbnQgYywgcmJfZW5jb2RpbmcgKmVuYyk7CitzdGF0aWMgZW51
bSB5eXRva2VudHlwZSBwYXJzZV9zdHJpbmcoc3RydWN0IHBhcnNlcl9wYXJhbXMqLHJiX3N0cnRl
cm1fbGl0ZXJhbF90Kik7CitzdGF0aWMgZW51bSB5eXRva2VudHlwZSBoZXJlX2RvY3VtZW50KHN0
cnVjdCBwYXJzZXJfcGFyYW1zKixyYl9zdHJ0ZXJtX2hlcmVkb2NfdCopOworCisjaWZuZGVmIFJJ
UFBFUgorIyBkZWZpbmUgc2V0X3l5bHZhbF9ub2RlKHgpIHsJCQkJXAorICBZWUxUWVBFIF9jdXJf
bG9jOwkJCQkJXAorICByYl9wYXJzZXJfc2V0X2xvY2F0aW9uKHAsICZfY3VyX2xvYyk7CQkJXAor
ICB5eWx2YWwubm9kZSA9ICh4KTsJCQkJCVwKK30KKyMgZGVmaW5lIHNldF95eWx2YWxfc3RyKHgp
IHNldF95eWx2YWxfbm9kZShORVdfU1RSKHgsICZfY3VyX2xvYykpCisjIGRlZmluZSBzZXRfeXls
dmFsX2xpdGVyYWwoeCkgc2V0X3l5bHZhbF9ub2RlKE5FV19MSVQoeCwgJl9jdXJfbG9jKSkKKyMg
ZGVmaW5lIHNldF95eWx2YWxfbnVtKHgpICh5eWx2YWwubnVtID0gKHgpKQorIyBkZWZpbmUgc2V0
X3l5bHZhbF9pZCh4KSAgKHl5bHZhbC5pZCA9ICh4KSkKKyMgZGVmaW5lIHNldF95eWx2YWxfbmFt
ZSh4KSAgKHl5bHZhbC5pZCA9ICh4KSkKKyMgZGVmaW5lIHl5bHZhbF9pZCgpICh5eWx2YWwuaWQp
CisjZWxzZQorc3RhdGljIGlubGluZSBWQUxVRQorcmlwcGVyX3l5bHZhbF9pZChzdHJ1Y3QgcGFy
c2VyX3BhcmFtcyAqcCwgSUQgeCkKK3sKKyAgICByZXR1cm4gcmlwcGVyX25ld195eWx2YWwocCwg
eCwgSUQyU1lNKHgpLCAwKTsKK30KKyMgZGVmaW5lIHNldF95eWx2YWxfc3RyKHgpICh5eWx2YWwu
dmFsID0gKHgpKQorIyBkZWZpbmUgc2V0X3l5bHZhbF9udW0oeCkgKHl5bHZhbC52YWwgPSByaXBw
ZXJfbmV3X3l5bHZhbChwLCAoeCksIDAsIDApKQorIyBkZWZpbmUgc2V0X3l5bHZhbF9pZCh4KSAg
KHZvaWQpKHgpCisjIGRlZmluZSBzZXRfeXlsdmFsX25hbWUoeCkgKHZvaWQpKHl5bHZhbC52YWwg
PSByaXBwZXJfeXlsdmFsX2lkKHAsIHgpKQorIyBkZWZpbmUgc2V0X3l5bHZhbF9saXRlcmFsKHgp
ICh2b2lkKSh4KQorIyBkZWZpbmUgc2V0X3l5bHZhbF9ub2RlKHgpICh2b2lkKSh4KQorIyBkZWZp
bmUgeXlsdmFsX2lkKCkgeXlsdmFsLmlkCisjIGRlZmluZSBfY3VyX2xvYyBOVUxMX0xPQyAvKiBk
dW1teSAqLworI2VuZGlmCisKKyNpZm5kZWYgUklQUEVSCisjZGVmaW5lIGxpdGVyYWxfZmx1c2go
cCwgcHRyKSAoKHApLT5sZXgucHRvayA9IChwdHIpKQorI2RlZmluZSBkaXNwYXRjaF9zY2FuX2V2
ZW50KHAsIHQpICgodm9pZCkwKQorI2RlZmluZSBkaXNwYXRjaF9kZWxheWVkX3Rva2VuKHAsIHQp
ICgodm9pZCkwKQorI2RlZmluZSBoYXNfZGVsYXllZF90b2tlbihwKSAoMCkKKyNlbHNlCisjZGVm
aW5lIGxpdGVyYWxfZmx1c2gocCwgcHRyKSAoKHZvaWQpKHB0cikpCisKKyNkZWZpbmUgeXlsdmFs
X3J2YWwgKCooUkJfVFlQRV9QKHl5bHZhbC52YWwsIFRfTk9ERSkgPyAmeXlsdmFsLm5vZGUtPm5k
X3J2YWwgOiAmeXlsdmFsLnZhbCkpCisKK3N0YXRpYyBpbmxpbmUgVkFMVUUKK2ludGVybl9zeW0o
Y29uc3QgY2hhciAqbmFtZSkKK3sKKyAgICBJRCBpZCA9IHJiX2ludGVybl9jb25zdChuYW1lKTsK
KyAgICByZXR1cm4gSUQyU1lNKGlkKTsKK30KKworc3RhdGljIGludAorcmlwcGVyX2hhc19zY2Fu
X2V2ZW50KHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwKQoreworICAgIGlmIChwLT5sZXgucGN1ciA8
IHAtPmxleC5wdG9rKSByYl9yYWlzZShyYl9lUnVudGltZUVycm9yLCAibGV4LnBjdXIgPCBsZXgu
cHRvayIpOworICAgIHJldHVybiBwLT5sZXgucGN1ciA+IHAtPmxleC5wdG9rOworfQorCitzdGF0
aWMgVkFMVUUKK3JpcHBlcl9zY2FuX2V2ZW50X3ZhbChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwg
aW50IHQpCit7CisgICAgVkFMVUUgc3RyID0gU1RSX05FVyhwLT5sZXgucHRvaywgcC0+bGV4LnBj
dXIgLSBwLT5sZXgucHRvayk7CisgICAgVkFMVUUgcnZhbCA9IHJpcHBlcl9kaXNwYXRjaDEocCwg
cmlwcGVyX3Rva2VuMmV2ZW50aWQodCksIHN0cik7CisgICAgdG9rZW5fZmx1c2gocCk7CisgICAg
cmV0dXJuIHJ2YWw7Cit9CisKK3N0YXRpYyB2b2lkCityaXBwZXJfZGlzcGF0Y2hfc2Nhbl9ldmVu
dChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgaW50IHQpCit7CisgICAgaWYgKCFyaXBwZXJfaGFz
X3NjYW5fZXZlbnQocCkpIHJldHVybjsKKyAgICBhZGRfbWFya19vYmplY3QocCwgeXlsdmFsX3J2
YWwgPSByaXBwZXJfc2Nhbl9ldmVudF92YWwocCwgdCkpOworfQorI2RlZmluZSBkaXNwYXRjaF9z
Y2FuX2V2ZW50KHAsIHQpIHJpcHBlcl9kaXNwYXRjaF9zY2FuX2V2ZW50KHAsIHQpCisKK3N0YXRp
YyB2b2lkCityaXBwZXJfZGlzcGF0Y2hfZGVsYXllZF90b2tlbihzdHJ1Y3QgcGFyc2VyX3BhcmFt
cyAqcCwgaW50IHQpCit7CisgICAgaW50IHNhdmVkX2xpbmUgPSBwLT5ydWJ5X3NvdXJjZWxpbmU7
CisgICAgY29uc3QgY2hhciAqc2F2ZWRfdG9rcCA9IHAtPmxleC5wdG9rOworCisgICAgcC0+cnVi
eV9zb3VyY2VsaW5lID0gcC0+ZGVsYXllZF9saW5lOworICAgIHAtPmxleC5wdG9rID0gcC0+bGV4
LnBiZWcgKyBwLT5kZWxheWVkX2NvbDsKKyAgICBhZGRfbWFya19vYmplY3QocCwgeXlsdmFsX3J2
YWwgPSByaXBwZXJfZGlzcGF0Y2gxKHAsIHJpcHBlcl90b2tlbjJldmVudGlkKHQpLCBwLT5kZWxh
eWVkKSk7CisgICAgcC0+ZGVsYXllZCA9IFFuaWw7CisgICAgcC0+cnVieV9zb3VyY2VsaW5lID0g
c2F2ZWRfbGluZTsKKyAgICBwLT5sZXgucHRvayA9IHNhdmVkX3Rva3A7Cit9CisjZGVmaW5lIGRp
c3BhdGNoX2RlbGF5ZWRfdG9rZW4ocCwgdCkgcmlwcGVyX2Rpc3BhdGNoX2RlbGF5ZWRfdG9rZW4o
cCwgdCkKKyNkZWZpbmUgaGFzX2RlbGF5ZWRfdG9rZW4ocCkgKCFOSUxfUChwLT5kZWxheWVkKSkK
KyNlbmRpZiAvKiBSSVBQRVIgKi8KKworI2luY2x1ZGUgInJ1YnkvcmVnZXguaCIKKyNpbmNsdWRl
ICJydWJ5L3V0aWwuaCIKKworc3RhdGljIGlubGluZSBpbnQKK2lzX2lkZW50Y2hhcihjb25zdCBj
aGFyICpwdHIsIGNvbnN0IGNoYXIgKk1BWUJFX1VOVVNFRChwdHJfZW5kKSwgcmJfZW5jb2Rpbmcg
KmVuYykKK3sKKyAgICByZXR1cm4gcmJfZW5jX2lzYWxudW0oKHVuc2lnbmVkIGNoYXIpKnB0ciwg
ZW5jKSB8fCAqcHRyID09ICdfJyB8fCAhSVNBU0NJSSgqcHRyKTsKK30KKworc3RhdGljIGlubGlu
ZSBpbnQKK3BhcnNlcl9pc19pZGVudGNoYXIoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnApCit7Cisg
ICAgcmV0dXJuICEocCktPmVvZnAgJiYgaXNfaWRlbnRjaGFyKHAtPmxleC5wY3VyLTEsIHAtPmxl
eC5wZW5kLCBwLT5lbmMpOworfQorCitzdGF0aWMgaW5saW5lIGludAorcGFyc2VyX2lzYXNjaWko
c3RydWN0IHBhcnNlcl9wYXJhbXMgKnApCit7CisgICAgcmV0dXJuIElTQVNDSUkoKihwLT5sZXgu
cGN1ci0xKSk7Cit9CisKK3N0YXRpYyB2b2lkCitzZXR1cF90b2tlbl9pbmZvKHRva2VuX2luZm8g
KnB0aW5mbywgY29uc3QgY2hhciAqcHRyLCBjb25zdCByYl9jb2RlX2xvY2F0aW9uX3QgKmxvYykK
K3sKKyAgICBpbnQgY29sdW1uID0gMSwgbm9uc3BjID0gMCwgaTsKKyAgICBmb3IgKGkgPSAwOyBp
IDwgbG9jLT5iZWdfcG9zLmNvbHVtbjsgaSsrLCBwdHIrKykgeworCWlmICgqcHRyID09ICdcdCcp
IHsKKwkgICAgY29sdW1uID0gKCgoY29sdW1uIC0gMSkgLyBUQUJfV0lEVEgpICsgMSkgKiBUQUJf
V0lEVEg7CisJfQorCWNvbHVtbisrOworCWlmICgqcHRyICE9ICcgJyAmJiAqcHRyICE9ICdcdCcp
IHsKKwkgICAgbm9uc3BjID0gMTsKKwl9CisgICAgfQorCisgICAgcHRpbmZvLT5saW5lbnVtID0g
bG9jLT5iZWdfcG9zLmxpbmVubzsKKyAgICBwdGluZm8tPmNvbHVtbiA9IGNvbHVtbjsKKyAgICBw
dGluZm8tPm5vbnNwYyA9IG5vbnNwYzsKK30KKworc3RhdGljIHZvaWQKK3Rva2VuX2luZm9fcHVz
aChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgY29uc3QgY2hhciAqdG9rZW4sIGNvbnN0IHJiX2Nv
ZGVfbG9jYXRpb25fdCAqbG9jKQoreworICAgIHRva2VuX2luZm8gKnB0aW5mbzsKKworICAgIGlm
ICghcC0+dG9rZW5faW5mb19lbmFibGVkKSByZXR1cm47CisgICAgcHRpbmZvID0gQUxMT0ModG9r
ZW5faW5mbyk7CisgICAgcHRpbmZvLT50b2tlbiA9IHRva2VuOworICAgIHB0aW5mby0+bmV4dCA9
IHAtPnRva2VuX2luZm87CisgICAgc2V0dXBfdG9rZW5faW5mbyhwdGluZm8sIHAtPmxleC5wYmVn
LCBsb2MpOworCisgICAgcC0+dG9rZW5faW5mbyA9IHB0aW5mbzsKK30KKworc3RhdGljIHZvaWQK
K3Rva2VuX2luZm9fcG9wKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBjb25zdCBjaGFyICp0b2tl
biwgY29uc3QgcmJfY29kZV9sb2NhdGlvbl90ICpsb2MpCit7CisgICAgdG9rZW5faW5mbyAqcHRp
bmZvX2JlZyA9IHAtPnRva2VuX2luZm87CisKKyAgICBpZiAoIXB0aW5mb19iZWcpIHJldHVybjsK
KyAgICBwLT50b2tlbl9pbmZvID0gcHRpbmZvX2JlZy0+bmV4dDsKKworICAgIC8qIGluZGVudGF0
aW9uIGNoZWNrIG9mIG1hdGNoZWQga2V5d29yZHMgKGJlZ2luLi5lbmQsIGlmLi5lbmQsIGV0Yy4p
ICovCisgICAgdG9rZW5faW5mb193YXJuKHAsIHRva2VuLCBwdGluZm9fYmVnLCAxLCBsb2MpOwor
ICAgIHJ1Ynlfc2l6ZWRfeGZyZWUocHRpbmZvX2JlZywgc2l6ZW9mKCpwdGluZm9fYmVnKSk7Cit9
CisKK3N0YXRpYyB2b2lkCit0b2tlbl9pbmZvX3dhcm4oc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAs
IGNvbnN0IGNoYXIgKnRva2VuLCB0b2tlbl9pbmZvICpwdGluZm9fYmVnLCBpbnQgc2FtZSwgY29u
c3QgcmJfY29kZV9sb2NhdGlvbl90ICpsb2MpCit7CisgICAgdG9rZW5faW5mbyBwdGluZm9fZW5k
X2JvZHksICpwdGluZm9fZW5kID0gJnB0aW5mb19lbmRfYm9keTsKKyAgICBpZiAoIXAtPnRva2Vu
X2luZm9fZW5hYmxlZCkgcmV0dXJuOworICAgIGlmICghcHRpbmZvX2JlZykgcmV0dXJuOworICAg
IHNldHVwX3Rva2VuX2luZm8ocHRpbmZvX2VuZCwgcC0+bGV4LnBiZWcsIGxvYyk7CisgICAgaWYg
KHB0aW5mb19iZWctPmxpbmVudW0gPT0gcHRpbmZvX2VuZC0+bGluZW51bSkgcmV0dXJuOyAvKiBp
Z25vcmUgb25lLWxpbmUgYmxvY2sgKi8KKyAgICBpZiAocHRpbmZvX2JlZy0+bm9uc3BjIHx8IHB0
aW5mb19lbmQtPm5vbnNwYykgcmV0dXJuOyAvKiBpZ25vcmUga2V5d29yZCBpbiB0aGUgbWlkZGxl
IG9mIGEgbGluZSAqLworICAgIGlmIChwdGluZm9fYmVnLT5jb2x1bW4gPT0gcHRpbmZvX2VuZC0+
Y29sdW1uKSByZXR1cm47IC8qIHRoZSBpbmRlbnRzIGFyZSBtYXRjaGVkICovCisgICAgaWYgKCFz
YW1lICYmIHB0aW5mb19iZWctPmNvbHVtbiA8IHB0aW5mb19lbmQtPmNvbHVtbikgcmV0dXJuOwor
ICAgIHJiX3dhcm4zTChwdGluZm9fZW5kLT5saW5lbnVtLAorCSAgICAgICJtaXNtYXRjaGVkIGlu
ZGVudGF0aW9ucyBhdCAnJXMnIHdpdGggJyVzJyBhdCAlZCIsCisJICAgICAgV0FSTl9TKHRva2Vu
KSwgV0FSTl9TKHB0aW5mb19iZWctPnRva2VuKSwgV0FSTl9JKHB0aW5mb19iZWctPmxpbmVudW0p
KTsKK30KKworc3RhdGljIGludAorcGFyc2VyX3ByZWNpc2VfbWJjbGVuKHN0cnVjdCBwYXJzZXJf
cGFyYW1zICpwLCBjb25zdCBjaGFyICpwdHIpCit7CisgICAgaW50IGxlbiA9IHJiX2VuY19wcmVj
aXNlX21iY2xlbihwdHIsIHAtPmxleC5wZW5kLCBwLT5lbmMpOworICAgIGlmICghTUJDTEVOX0NI
QVJGT1VORF9QKGxlbikpIHsKKwljb21waWxlX2Vycm9yKHAsICJpbnZhbGlkIG11bHRpYnl0ZSBj
aGFyICglcykiLCByYl9lbmNfbmFtZShwLT5lbmMpKTsKKwlyZXR1cm4gLTE7CisgICAgfQorICAg
IHJldHVybiBsZW47Cit9CisKK3N0YXRpYyBpbnQKK3BhcnNlcl95eWVycm9yKHN0cnVjdCBwYXJz
ZXJfcGFyYW1zICpwLCBjb25zdCBZWUxUWVBFICp5eWxsb2MsIGNvbnN0IGNoYXIgKm1zZykKK3sK
KyNpZm5kZWYgUklQUEVSCisgICAgY29uc3QgaW50IG1heF9saW5lX21hcmdpbiA9IDMwOworICAg
IGNvbnN0IGNoYXIgKnB0ciwgKnB0cl9lbmQsICpwdCwgKnBiOworICAgIGNvbnN0IGNoYXIgKnBy
ZSA9ICIiLCAqcG9zdCA9ICIiLCAqcGVuZDsKKyAgICBjb25zdCBjaGFyICpjb2RlID0gIiIsICpj
YXJldCA9ICIiLCAqbmV3bGluZSA9ICIiOworICAgIGNvbnN0IGNoYXIgKmxpbTsKKyAgICBjaGFy
ICpidWY7CisgICAgbG9uZyBsZW47CisgICAgaW50IGk7CisgICAgWVlMVFlQRSBjdXJyZW50Owor
CisgICAgaWYgKCF5eWxsb2MpIHsKKwlSVUJZX1NFVF9ZWUxMT0MoY3VycmVudCk7CisJeXlsbG9j
ID0gJmN1cnJlbnQ7CisgICAgfQorICAgIGVsc2UgaWYgKChwLT5ydWJ5X3NvdXJjZWxpbmUgIT0g
eXlsbG9jLT5iZWdfcG9zLmxpbmVubyAmJgorCSAgICAgIHAtPnJ1Ynlfc291cmNlbGluZSAhPSB5
eWxsb2MtPmVuZF9wb3MubGluZW5vKSB8fAorCSAgICAgKHl5bGxvYy0+YmVnX3Bvcy5saW5lbm8g
PT0geXlsbG9jLT5lbmRfcG9zLmxpbmVubyAmJgorCSAgICAgIHl5bGxvYy0+YmVnX3Bvcy5jb2x1
bW4gPT0geXlsbG9jLT5lbmRfcG9zLmNvbHVtbikpIHsKKwljb21waWxlX2Vycm9yKHAsICIlcyIs
IG1zZyk7CisJcmV0dXJuIDA7CisgICAgfQorCisgICAgcGVuZCA9IHAtPmxleC5wZW5kOworICAg
IGlmIChwZW5kID4gcC0+bGV4LnBiZWcgJiYgcGVuZFstMV0gPT0gJ1xuJykgeworCWlmICgtLXBl
bmQgPiBwLT5sZXgucGJlZyAmJiBwZW5kWy0xXSA9PSAnXHInKSAtLXBlbmQ7CisgICAgfQorCisg
ICAgcHQgPSAocC0+cnVieV9zb3VyY2VsaW5lID09IHl5bGxvYy0+ZW5kX3Bvcy5saW5lbm8pID8K
KwkgICAgcC0+bGV4LnBiZWcgKyB5eWxsb2MtPmVuZF9wb3MuY29sdW1uIDogcC0+bGV4LnBlbmQ7
CisgICAgcHRyID0gcHRyX2VuZCA9IHB0IDwgcGVuZCA/IHB0IDogcGVuZDsKKyAgICBsaW0gPSBw
dHIgLSBwLT5sZXgucGJlZyA+IG1heF9saW5lX21hcmdpbiA/IHB0ciAtIG1heF9saW5lX21hcmdp
biA6IHAtPmxleC5wYmVnOworICAgIHdoaWxlICgobGltIDwgcHRyKSAmJiAoKihwdHItMSkgIT0g
J1xuJykpIHB0ci0tOworCisgICAgbGltID0gcGVuZCAtIHB0cl9lbmQgPiBtYXhfbGluZV9tYXJn
aW4gPyBwdHJfZW5kICsgbWF4X2xpbmVfbWFyZ2luIDogcGVuZDsKKyAgICB3aGlsZSAoKHB0cl9l
bmQgPCBsaW0pICYmICgqcHRyX2VuZCAhPSAnXG4nKSkgcHRyX2VuZCsrOworCisgICAgbGVuID0g
cHRyX2VuZCAtIHB0cjsKKyAgICBpZiAobGVuID4gNCkgeworCWlmIChwdHIgPiBwLT5sZXgucGJl
ZykgeworCSAgICBwdHIgPSByYl9lbmNfcHJldl9jaGFyKHAtPmxleC5wYmVnLCBwdHIsIHB0LCBy
Yl9lbmNfZ2V0KHAtPmxleC5sYXN0bGluZSkpOworCSAgICBpZiAocHRyID4gcC0+bGV4LnBiZWcp
IHByZSA9ICIuLi4iOworCX0KKwlpZiAocHRyX2VuZCA8IHBlbmQpIHsKKwkgICAgcHRyX2VuZCA9
IHJiX2VuY19wcmV2X2NoYXIocHQsIHB0cl9lbmQsIHBlbmQsIHJiX2VuY19nZXQocC0+bGV4Lmxh
c3RsaW5lKSk7CisJICAgIGlmIChwdHJfZW5kIDwgcGVuZCkgcG9zdCA9ICIuLi4iOworCX0KKyAg
ICB9CisgICAgcGIgPSBwLT5sZXgucGJlZzsKKyAgICBpZiAocC0+cnVieV9zb3VyY2VsaW5lID09
IHl5bGxvYy0+YmVnX3Bvcy5saW5lbm8pIHsKKwlwYiArPSB5eWxsb2MtPmJlZ19wb3MuY29sdW1u
OworCWlmIChwYiA+IHB0KSBwYiA9IHB0OworICAgIH0KKyAgICBpZiAocGIgPCBwdHIpIHBiID0g
cHRyOworICAgIGlmIChsZW4gPD0gNCAmJiB5eWxsb2MtPmJlZ19wb3MubGluZW5vID09IHl5bGxv
Yy0+ZW5kX3Bvcy5saW5lbm8pIHsKKwljb21waWxlX2Vycm9yKHAsICIlcyIsIG1zZyk7CisgICAg
fQorICAgIGVsc2UgaWYgKCFwLT5lcnJvcl9idWZmZXIgJiYgcmJfc3RkZXJyX3R0eV9wKCkpIHsK
KyNkZWZpbmUgQ1NJX0JFR0lOICJcMDMzWyIKKyNkZWZpbmUgQ1NJX1NHUiAibSIKKwljb21waWxl
X2Vycm9yKHAsICIlc1xuIgorCQkgICAgICBDU0lfQkVHSU4iIkNTSV9TR1IiJXMiIC8qIHByZSAq
LworCQkgICAgICBDU0lfQkVHSU4iMSJDU0lfU0dSIiUuKnMiCisJCSAgICAgIENTSV9CRUdJTiIx
OzQiQ1NJX1NHUiIlLipzIgorCQkgICAgICBDU0lfQkVHSU4iOzEiQ1NJX1NHUiIlLipzIgorCQkg
ICAgICBDU0lfQkVHSU4iIkNTSV9TR1IiJXMiIC8qIHBvc3QgKi8sCisJCSAgICAgIG1zZywgcHJl
LAorCQkgICAgICAoaW50KShwYiAtIHB0ciksIHB0ciwKKwkJICAgICAgKGludCkocHQgLSBwYiks
IHBiLAorCQkgICAgICAoaW50KShwdHJfZW5kIC0gcHQpLCBwdCwKKwkJICAgICAgcG9zdCk7Cisg
ICAgfQorICAgIGVsc2UgeworCWNoYXIgKnAyOworCisJbGVuID0gcHRyX2VuZCAtIHB0cjsKKwls
aW0gPSBwdCA8IHBlbmQgPyBwdCA6IHBlbmQ7CisJaSA9IChpbnQpKGxpbSAtIHB0cik7CisJYnVm
ID0gQUxMT0NBX04oY2hhciwgaSsyKTsKKwljb2RlID0gcHRyOworCWNhcmV0ID0gcDIgPSBidWY7
CisJaWYgKHB0ciA8PSBwYikgeworCSAgICB3aGlsZSAocHRyIDwgcGIpIHsKKwkJKnAyKysgPSAq
cHRyKysgPT0gJ1x0JyA/ICdcdCcgOiAnICc7CisJICAgIH0KKwkgICAgKnAyKysgPSAnXic7CisJ
ICAgIHB0cisrOworCX0KKwlpZiAobGltID4gcHRyKSB7CisJICAgIG1lbXNldChwMiwgJ34nLCAo
bGltIC0gcHRyKSk7CisJICAgIHAyICs9IChsaW0gLSBwdHIpOworCX0KKwkqcDIgPSAnXDAnOwor
CW5ld2xpbmUgPSAiXG4iOworCWNvbXBpbGVfZXJyb3IocCwgIiVzJXMiIiVzJS4qcyVzJXMiIiVz
JXMiLAorCQkgICAgICBtc2csIG5ld2xpbmUsCisJCSAgICAgIHByZSwgKGludClsZW4sIGNvZGUs
IHBvc3QsIG5ld2xpbmUsCisJCSAgICAgIHByZSwgY2FyZXQpOworICAgIH0KKyNlbHNlCisgICAg
ZGlzcGF0Y2gxKHBhcnNlX2Vycm9yLCBTVFJfTkVXMihtc2cpKTsKKyAgICByaXBwZXJfZXJyb3Io
cCk7CisjZW5kaWYgLyogIVJJUFBFUiAqLworICAgIHJldHVybiAwOworfQorCitzdGF0aWMgaW50
Cit2dGFibGVfc2l6ZShjb25zdCBzdHJ1Y3QgdnRhYmxlICp0YmwpCit7CisgICAgaWYgKCFEVkFS
U19URVJNSU5BTF9QKHRibCkpIHsKKwlyZXR1cm4gdGJsLT5wb3M7CisgICAgfQorICAgIGVsc2Ug
eworCXJldHVybiAwOworICAgIH0KK30KKworc3RhdGljIHN0cnVjdCB2dGFibGUgKgordnRhYmxl
X2FsbG9jX2dlbihzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgaW50IGxpbmUsIHN0cnVjdCB2dGFi
bGUgKnByZXYpCit7CisgICAgc3RydWN0IHZ0YWJsZSAqdGJsID0gQUxMT0Moc3RydWN0IHZ0YWJs
ZSk7CisgICAgdGJsLT5wb3MgPSAwOworICAgIHRibC0+Y2FwYSA9IDg7CisgICAgdGJsLT50Ymwg
PSBBTExPQ19OKElELCB0YmwtPmNhcGEpOworICAgIHRibC0+cHJldiA9IHByZXY7CisjaWZuZGVm
IFJJUFBFUgorICAgIGlmIChwLT5kZWJ1ZykgeworCXJiX3BhcnNlcl9wcmludGYocCwgInZ0YWJs
ZV9hbGxvYzolZDogJXBcbiIsIGxpbmUsICh2b2lkICopdGJsKTsKKyAgICB9CisjZW5kaWYKKyAg
ICByZXR1cm4gdGJsOworfQorI2RlZmluZSB2dGFibGVfYWxsb2MocHJldikgdnRhYmxlX2FsbG9j
X2dlbihwLCBfX0xJTkVfXywgcHJldikKKworc3RhdGljIHZvaWQKK3Z0YWJsZV9mcmVlX2dlbihz
dHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgaW50IGxpbmUsIGNvbnN0IGNoYXIgKm5hbWUsCisJCXN0
cnVjdCB2dGFibGUgKnRibCkKK3sKKyNpZm5kZWYgUklQUEVSCisgICAgaWYgKHAtPmRlYnVnKSB7
CisJcmJfcGFyc2VyX3ByaW50ZihwLCAidnRhYmxlX2ZyZWU6JWQ6ICVzKCVwKVxuIiwgbGluZSwg
bmFtZSwgKHZvaWQgKil0YmwpOworICAgIH0KKyNlbmRpZgorICAgIGlmICghRFZBUlNfVEVSTUlO
QUxfUCh0YmwpKSB7CisJaWYgKHRibC0+dGJsKSB7CisJICAgIHJ1Ynlfc2l6ZWRfeGZyZWUodGJs
LT50YmwsIHRibC0+Y2FwYSAqIHNpemVvZihJRCkpOworCX0KKwlydWJ5X3NpemVkX3hmcmVlKHRi
bCwgc2l6ZW9mKHRibCkpOworICAgIH0KK30KKyNkZWZpbmUgdnRhYmxlX2ZyZWUodGJsKSB2dGFi
bGVfZnJlZV9nZW4ocCwgX19MSU5FX18sICN0YmwsIHRibCkKKworc3RhdGljIHZvaWQKK3Z0YWJs
ZV9hZGRfZ2VuKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBpbnQgbGluZSwgY29uc3QgY2hhciAq
bmFtZSwKKwkgICAgICAgc3RydWN0IHZ0YWJsZSAqdGJsLCBJRCBpZCkKK3sKKyNpZm5kZWYgUklQ
UEVSCisgICAgaWYgKHAtPmRlYnVnKSB7CisJcmJfcGFyc2VyX3ByaW50ZihwLCAidnRhYmxlX2Fk
ZDolZDogJXMoJXApLCAlc1xuIiwKKwkJCSBsaW5lLCBuYW1lLCAodm9pZCAqKXRibCwgcmJfaWQy
bmFtZShpZCkpOworICAgIH0KKyNlbmRpZgorICAgIGlmIChEVkFSU19URVJNSU5BTF9QKHRibCkp
IHsKKwlyYl9wYXJzZXJfZmF0YWwocCwgInZ0YWJsZV9hZGQ6IHZ0YWJsZSBpcyBub3QgYWxsb2Nh
dGVkICglcCkiLCAodm9pZCAqKXRibCk7CisJcmV0dXJuOworICAgIH0KKyAgICBpZiAodGJsLT5w
b3MgPT0gdGJsLT5jYXBhKSB7CisJdGJsLT5jYXBhID0gdGJsLT5jYXBhICogMjsKKwlTSVpFRF9S
RUFMTE9DX04odGJsLT50YmwsIElELCB0YmwtPmNhcGEsIHRibC0+cG9zKTsKKyAgICB9CisgICAg
dGJsLT50YmxbdGJsLT5wb3MrK10gPSBpZDsKK30KKyNkZWZpbmUgdnRhYmxlX2FkZCh0YmwsIGlk
KSB2dGFibGVfYWRkX2dlbihwLCBfX0xJTkVfXywgI3RibCwgdGJsLCBpZCkKKworI2lmbmRlZiBS
SVBQRVIKK3N0YXRpYyB2b2lkCit2dGFibGVfcG9wX2dlbihzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAq
cCwgaW50IGxpbmUsIGNvbnN0IGNoYXIgKm5hbWUsCisJICAgICAgIHN0cnVjdCB2dGFibGUgKnRi
bCwgaW50IG4pCit7CisgICAgaWYgKHAtPmRlYnVnKSB7CisJcmJfcGFyc2VyX3ByaW50ZihwLCAi
dnRhYmxlX3BvcDolZDogJXMoJXApLCAlZFxuIiwKKwkJCSBsaW5lLCBuYW1lLCAodm9pZCAqKXRi
bCwgbik7CisgICAgfQorICAgIGlmICh0YmwtPnBvcyA8IG4pIHsKKwlyYl9wYXJzZXJfZmF0YWwo
cCwgInZ0YWJsZV9wb3A6IHVucmVhY2hhYmxlICglZCA8ICVkKSIsIHRibC0+cG9zLCBuKTsKKwly
ZXR1cm47CisgICAgfQorICAgIHRibC0+cG9zIC09IG47Cit9CisjZGVmaW5lIHZ0YWJsZV9wb3Ao
dGJsLCBuKSB2dGFibGVfcG9wX2dlbihwLCBfX0xJTkVfXywgI3RibCwgdGJsLCBuKQorI2VuZGlm
CisKK3N0YXRpYyBpbnQKK3Z0YWJsZV9pbmNsdWRlZChjb25zdCBzdHJ1Y3QgdnRhYmxlICogdGJs
LCBJRCBpZCkKK3sKKyAgICBpbnQgaTsKKworICAgIGlmICghRFZBUlNfVEVSTUlOQUxfUCh0Ymwp
KSB7CisJZm9yIChpID0gMDsgaSA8IHRibC0+cG9zOyBpKyspIHsKKwkgICAgaWYgKHRibC0+dGJs
W2ldID09IGlkKSB7CisJCXJldHVybiBpKzE7CisJICAgIH0KKwl9CisgICAgfQorICAgIHJldHVy
biAwOworfQorCitzdGF0aWMgdm9pZCBwYXJzZXJfcHJlcGFyZShzdHJ1Y3QgcGFyc2VyX3BhcmFt
cyAqcCk7CisKKyNpZm5kZWYgUklQUEVSCitzdGF0aWMgTk9ERSAqcGFyc2VyX2FwcGVuZF9vcHRp
b25zKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBOT0RFICpub2RlKTsKKworc3RhdGljIFZBTFVF
CitkZWJ1Z19saW5lcyhWQUxVRSBmbmFtZSkKK3sKKyAgICBJRCBzY3JpcHRfbGluZXM7CisgICAg
Q09OU1RfSUQoc2NyaXB0X2xpbmVzLCAiU0NSSVBUX0xJTkVTX18iKTsKKyAgICBpZiAocmJfY29u
c3RfZGVmaW5lZF9hdChyYl9jT2JqZWN0LCBzY3JpcHRfbGluZXMpKSB7CisJVkFMVUUgaGFzaCA9
IHJiX2NvbnN0X2dldF9hdChyYl9jT2JqZWN0LCBzY3JpcHRfbGluZXMpOworCWlmIChSQl9UWVBF
X1AoaGFzaCwgVF9IQVNIKSkgeworCSAgICBWQUxVRSBsaW5lcyA9IHJiX2FyeV9uZXcoKTsKKwkg
ICAgcmJfaGFzaF9hc2V0KGhhc2gsIGZuYW1lLCBsaW5lcyk7CisJICAgIHJldHVybiBsaW5lczsK
Kwl9CisgICAgfQorICAgIHJldHVybiAwOworfQorCitzdGF0aWMgaW50CitlX29wdGlvbl9zdXBw
bGllZChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCkKK3sKKyAgICByZXR1cm4gc3RyY21wKHAtPnJ1
Ynlfc291cmNlZmlsZSwgIi1lIikgPT0gMDsKK30KKworc3RhdGljIFZBTFVFCit5eWNvbXBpbGUw
KFZBTFVFIGFyZykKK3sKKyAgICBpbnQgbjsKKyAgICBOT0RFICp0cmVlOworICAgIHN0cnVjdCBw
YXJzZXJfcGFyYW1zICpwID0gKHN0cnVjdCBwYXJzZXJfcGFyYW1zICopYXJnOworICAgIFZBTFVF
IGNvdiA9IFFmYWxzZTsKKworICAgIGlmICghY29tcGlsZV9mb3JfZXZhbCAmJiByYl9zYWZlX2xl
dmVsKCkgPT0gMCAmJiAhTklMX1AocC0+cnVieV9zb3VyY2VmaWxlX3N0cmluZykpIHsKKwlwLT5k
ZWJ1Z19saW5lcyA9IGRlYnVnX2xpbmVzKHAtPnJ1Ynlfc291cmNlZmlsZV9zdHJpbmcpOworCWlm
IChwLT5kZWJ1Z19saW5lcyAmJiBwLT5ydWJ5X3NvdXJjZWxpbmUgPiAwKSB7CisJICAgIFZBTFVF
IHN0ciA9IFNUUl9ORVcwKCk7CisJICAgIG4gPSBwLT5ydWJ5X3NvdXJjZWxpbmU7CisJICAgIGRv
IHsKKwkJcmJfYXJ5X3B1c2gocC0+ZGVidWdfbGluZXMsIHN0cik7CisJICAgIH0gd2hpbGUgKC0t
bik7CisJfQorCisJaWYgKCFlX29wdGlvbl9zdXBwbGllZChwKSkgeworCSAgICBjb3YgPSBRdHJ1
ZTsKKwl9CisgICAgfQorCisgICAgcGFyc2VyX3ByZXBhcmUocCk7CisjZGVmaW5lIFJVQllfRFRS
QUNFX1BBUlNFX0hPT0sobmFtZSkgXAorICAgIGlmIChSVUJZX0RUUkFDRV9QQVJTRV8jI25hbWUj
I19FTkFCTEVEKCkpIHsgXAorCVJVQllfRFRSQUNFX1BBUlNFXyMjbmFtZShwLT5ydWJ5X3NvdXJj
ZWZpbGUsIHAtPnJ1Ynlfc291cmNlbGluZSk7IFwKKyAgICB9CisgICAgUlVCWV9EVFJBQ0VfUEFS
U0VfSE9PSyhCRUdJTik7CisgICAgbiA9IHl5cGFyc2UocCk7CisgICAgUlVCWV9EVFJBQ0VfUEFS
U0VfSE9PSyhFTkQpOworICAgIHAtPmRlYnVnX2xpbmVzID0gMDsKKworICAgIHAtPmxleC5zdHJ0
ZXJtID0gMDsKKyAgICBwLT5sZXgucGN1ciA9IHAtPmxleC5wYmVnID0gcC0+bGV4LnBlbmQgPSAw
OworICAgIHAtPmxleC5wcmV2bGluZSA9IHAtPmxleC5sYXN0bGluZSA9IHAtPmxleC5uZXh0bGlu
ZSA9IDA7CisgICAgaWYgKG4gfHwgcC0+ZXJyb3JfcCkgeworCVZBTFVFIG1lc2cgPSBwLT5lcnJv
cl9idWZmZXI7CisJaWYgKCFtZXNnKSB7CisJICAgIG1lc2cgPSByYl9jbGFzc19uZXdfaW5zdGFu
Y2UoMCwgMCwgcmJfZVN5bnRheEVycm9yKTsKKwl9CisJcmJfc2V0X2VycmluZm8obWVzZyk7CisJ
cmV0dXJuIEZBTFNFOworICAgIH0KKyAgICB0cmVlID0gcC0+ZXZhbF90cmVlOworICAgIGlmICgh
dHJlZSkgeworCXRyZWUgPSBORVdfTklMKCZOVUxMX0xPQyk7CisgICAgfQorICAgIGVsc2Ugewor
CVZBTFVFIG9wdCA9IHAtPmNvbXBpbGVfb3B0aW9uOworCU5PREUgKnByZWx1ZGU7CisJTk9ERSAq
Ym9keSA9IHBhcnNlcl9hcHBlbmRfb3B0aW9ucyhwLCB0cmVlLT5uZF9ib2R5KTsKKwlpZiAoIW9w
dCkgb3B0ID0gcmJfb2JqX2hpZGUocmJfaWRlbnRfaGFzaF9uZXcoKSk7CisJcmJfaGFzaF9hc2V0
KG9wdCwgcmJfc3ltX2ludGVybl9hc2NpaV9jc3RyKCJjb3ZlcmFnZV9lbmFibGVkIiksIGNvdik7
CisJcHJlbHVkZSA9IGJsb2NrX2FwcGVuZChwLCBwLT5ldmFsX3RyZWVfYmVnaW4sIGJvZHkpOwor
CWFkZF9tYXJrX29iamVjdChwLCBvcHQpOworCXRyZWUtPm5kX2JvZHkgPSBwcmVsdWRlOworCXAt
PmFzdC0+Ym9keS5jb21waWxlX29wdGlvbiA9IG9wdDsKKyAgICB9CisgICAgcC0+YXN0LT5ib2R5
LnJvb3QgPSB0cmVlOworICAgIHAtPmFzdC0+Ym9keS5saW5lX2NvdW50ID0gcC0+bGluZV9jb3Vu
dDsKKyAgICByZXR1cm4gVFJVRTsKK30KKworc3RhdGljIHJiX2FzdF90ICoKK3l5Y29tcGlsZShW
QUxVRSB2cGFyc2VyLCBzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgVkFMVUUgZm5hbWUsIGludCBs
aW5lKQoreworICAgIHJiX2FzdF90ICphc3Q7CisgICAgaWYgKE5JTF9QKGZuYW1lKSkgeworCXAt
PnJ1Ynlfc291cmNlZmlsZV9zdHJpbmcgPSBRbmlsOworCXAtPnJ1Ynlfc291cmNlZmlsZSA9ICIo
bm9uZSkiOworICAgIH0KKyAgICBlbHNlIHsKKwlwLT5ydWJ5X3NvdXJjZWZpbGVfc3RyaW5nID0g
cmJfZnN0cmluZyhmbmFtZSk7CisJcC0+cnVieV9zb3VyY2VmaWxlID0gU3RyaW5nVmFsdWVDU3Ry
KGZuYW1lKTsKKyAgICB9CisgICAgcC0+cnVieV9zb3VyY2VsaW5lID0gbGluZSAtIDE7CisKKyAg
ICBwLT5hc3QgPSBhc3QgPSByYl9hc3RfbmV3KCk7CisgICAgcmJfc3VwcHJlc3NfdHJhY2luZyh5
eWNvbXBpbGUwLCAoVkFMVUUpcCk7CisgICAgcC0+YXN0ID0gMDsKKyAgICBSQl9HQ19HVUFSRCh2
cGFyc2VyKTsgLyogcHJvaGliaXQgdGFpbCBjYWxsIG9wdGltaXphdGlvbiAqLworCisgICAgcmV0
dXJuIGFzdDsKK30KKyNlbmRpZiAvKiAhUklQUEVSICovCisKK3N0YXRpYyByYl9lbmNvZGluZyAq
CittdXN0X2JlX2FzY2lpX2NvbXBhdGlibGUoVkFMVUUgcykKK3sKKyAgICByYl9lbmNvZGluZyAq
ZW5jID0gcmJfZW5jX2dldChzKTsKKyAgICBpZiAoIXJiX2VuY19hc2NpaWNvbXBhdChlbmMpKSB7
CisJcmJfcmFpc2UocmJfZUFyZ0Vycm9yLCAiaW52YWxpZCBzb3VyY2UgZW5jb2RpbmciKTsKKyAg
ICB9CisgICAgcmV0dXJuIGVuYzsKK30KKworc3RhdGljIFZBTFVFCitsZXhfZ2V0X3N0cihzdHJ1
Y3QgcGFyc2VyX3BhcmFtcyAqcCwgVkFMVUUgcykKK3sKKyAgICBjaGFyICpiZWcsICplbmQsICpz
dGFydDsKKyAgICBsb25nIGxlbjsKKworICAgIGJlZyA9IFJTVFJJTkdfUFRSKHMpOworICAgIGxl
biA9IFJTVFJJTkdfTEVOKHMpOworICAgIHN0YXJ0ID0gYmVnOworICAgIGlmIChwLT5sZXguZ2V0
c18ucHRyKSB7CisJaWYgKGxlbiA9PSBwLT5sZXguZ2V0c18ucHRyKSByZXR1cm4gUW5pbDsKKwli
ZWcgKz0gcC0+bGV4LmdldHNfLnB0cjsKKwlsZW4gLT0gcC0+bGV4LmdldHNfLnB0cjsKKyAgICB9
CisgICAgZW5kID0gbWVtY2hyKGJlZywgJ1xuJywgbGVuKTsKKyAgICBpZiAoZW5kKSBsZW4gPSAr
K2VuZCAtIGJlZzsKKyAgICBwLT5sZXguZ2V0c18ucHRyICs9IGxlbjsKKyAgICByZXR1cm4gcmJf
c3RyX3N1YnNlcShzLCBiZWcgLSBzdGFydCwgbGVuKTsKK30KKworc3RhdGljIFZBTFVFCitsZXhf
Z2V0bGluZShzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCkKK3sKKyAgICBWQUxVRSBsaW5lID0gKCpw
LT5sZXguZ2V0cykocCwgcC0+bGV4LmlucHV0KTsKKyAgICBpZiAoTklMX1AobGluZSkpIHJldHVy
biBsaW5lOworICAgIG11c3RfYmVfYXNjaWlfY29tcGF0aWJsZShsaW5lKTsKKyNpZm5kZWYgUklQ
UEVSCisgICAgaWYgKHAtPmRlYnVnX2xpbmVzKSB7CisJcmJfZW5jX2Fzc29jaWF0ZShsaW5lLCBw
LT5lbmMpOworCXJiX2FyeV9wdXNoKHAtPmRlYnVnX2xpbmVzLCBsaW5lKTsKKyAgICB9CisjZW5k
aWYKKyAgICBwLT5saW5lX2NvdW50Kys7CisgICAgcmV0dXJuIGxpbmU7Cit9CisKK3N0YXRpYyBj
b25zdCByYl9kYXRhX3R5cGVfdCBwYXJzZXJfZGF0YV90eXBlOworCisjaWZuZGVmIFJJUFBFUgor
c3RhdGljIHJiX2FzdF90KgorcGFyc2VyX2NvbXBpbGVfc3RyaW5nKFZBTFVFIHZwYXJzZXIsIFZB
TFVFIGZuYW1lLCBWQUxVRSBzLCBpbnQgbGluZSkKK3sKKyAgICBzdHJ1Y3QgcGFyc2VyX3BhcmFt
cyAqcDsKKworICAgIFR5cGVkRGF0YV9HZXRfU3RydWN0KHZwYXJzZXIsIHN0cnVjdCBwYXJzZXJf
cGFyYW1zLCAmcGFyc2VyX2RhdGFfdHlwZSwgcCk7CisKKyAgICBwLT5sZXguZ2V0cyA9IGxleF9n
ZXRfc3RyOworICAgIHAtPmxleC5nZXRzXy5wdHIgPSAwOworICAgIHAtPmxleC5pbnB1dCA9IHJi
X3N0cl9uZXdfZnJvemVuKHMpOworICAgIHAtPmxleC5wYmVnID0gcC0+bGV4LnBjdXIgPSBwLT5s
ZXgucGVuZCA9IDA7CisKKyAgICByZXR1cm4geXljb21waWxlKHZwYXJzZXIsIHAsIGZuYW1lLCBs
aW5lKTsKK30KKworcmJfYXN0X3QqCityYl9jb21waWxlX3N0cmluZyhjb25zdCBjaGFyICpmLCBW
QUxVRSBzLCBpbnQgbGluZSkKK3sKKyAgICBtdXN0X2JlX2FzY2lpX2NvbXBhdGlibGUocyk7Cisg
ICAgcmV0dXJuIHBhcnNlcl9jb21waWxlX3N0cmluZyhyYl9wYXJzZXJfbmV3KCksIHJiX2ZpbGVz
eXN0ZW1fc3RyX25ld19jc3RyKGYpLCBzLCBsaW5lKTsKK30KKworcmJfYXN0X3QqCityYl9wYXJz
ZXJfY29tcGlsZV9zdHJpbmcoVkFMVUUgdnBhcnNlciwgY29uc3QgY2hhciAqZiwgVkFMVUUgcywg
aW50IGxpbmUpCit7CisgICAgcmV0dXJuIHJiX3BhcnNlcl9jb21waWxlX3N0cmluZ19wYXRoKHZw
YXJzZXIsIHJiX2ZpbGVzeXN0ZW1fc3RyX25ld19jc3RyKGYpLCBzLCBsaW5lKTsKK30KKworcmJf
YXN0X3QqCityYl9wYXJzZXJfY29tcGlsZV9zdHJpbmdfcGF0aChWQUxVRSB2cGFyc2VyLCBWQUxV
RSBmLCBWQUxVRSBzLCBpbnQgbGluZSkKK3sKKyAgICBtdXN0X2JlX2FzY2lpX2NvbXBhdGlibGUo
cyk7CisgICAgcmV0dXJuIHBhcnNlcl9jb21waWxlX3N0cmluZyh2cGFyc2VyLCBmLCBzLCBsaW5l
KTsKK30KKworcmJfYXN0X3QqCityYl9jb21waWxlX2NzdHIoY29uc3QgY2hhciAqZiwgY29uc3Qg
Y2hhciAqcywgaW50IGxlbiwgaW50IGxpbmUpCit7CisgICAgVkFMVUUgc3RyID0gcmJfc3RyX25l
dyhzLCBsZW4pOworICAgIHJldHVybiBwYXJzZXJfY29tcGlsZV9zdHJpbmcocmJfcGFyc2VyX25l
dygpLCByYl9maWxlc3lzdGVtX3N0cl9uZXdfY3N0cihmKSwgc3RyLCBsaW5lKTsKK30KKworcmJf
YXN0X3QqCityYl9wYXJzZXJfY29tcGlsZV9jc3RyKFZBTFVFIHZwYXJzZXIsIGNvbnN0IGNoYXIg
KmYsIGNvbnN0IGNoYXIgKnMsIGludCBsZW4sIGludCBsaW5lKQoreworICAgIFZBTFVFIHN0ciA9
IHJiX3N0cl9uZXcocywgbGVuKTsKKyAgICByZXR1cm4gcGFyc2VyX2NvbXBpbGVfc3RyaW5nKHZw
YXJzZXIsIHJiX2ZpbGVzeXN0ZW1fc3RyX25ld19jc3RyKGYpLCBzdHIsIGxpbmUpOworfQorCitW
QUxVRSByYl9pb19nZXRzX2ludGVybmFsKFZBTFVFIGlvKTsKKworc3RhdGljIFZBTFVFCitsZXhf
aW9fZ2V0cyhzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgVkFMVUUgaW8pCit7CisgICAgcmV0dXJu
IHJiX2lvX2dldHNfaW50ZXJuYWwoaW8pOworfQorCityYl9hc3RfdCoKK3JiX2NvbXBpbGVfZmls
ZShjb25zdCBjaGFyICpmLCBWQUxVRSBmaWxlLCBpbnQgc3RhcnQpCit7CisgICAgVkFMVUUgdnBh
cnNlciA9IHJiX3BhcnNlcl9uZXcoKTsKKworICAgIHJldHVybiByYl9wYXJzZXJfY29tcGlsZV9m
aWxlKHZwYXJzZXIsIGYsIGZpbGUsIHN0YXJ0KTsKK30KKworcmJfYXN0X3QqCityYl9wYXJzZXJf
Y29tcGlsZV9maWxlKFZBTFVFIHZwYXJzZXIsIGNvbnN0IGNoYXIgKmYsIFZBTFVFIGZpbGUsIGlu
dCBzdGFydCkKK3sKKyAgICByZXR1cm4gcmJfcGFyc2VyX2NvbXBpbGVfZmlsZV9wYXRoKHZwYXJz
ZXIsIHJiX2ZpbGVzeXN0ZW1fc3RyX25ld19jc3RyKGYpLCBmaWxlLCBzdGFydCk7Cit9CisKK3Ji
X2FzdF90KgorcmJfcGFyc2VyX2NvbXBpbGVfZmlsZV9wYXRoKFZBTFVFIHZwYXJzZXIsIFZBTFVF
IGZuYW1lLCBWQUxVRSBmaWxlLCBpbnQgc3RhcnQpCit7CisgICAgc3RydWN0IHBhcnNlcl9wYXJh
bXMgKnA7CisKKyAgICBUeXBlZERhdGFfR2V0X1N0cnVjdCh2cGFyc2VyLCBzdHJ1Y3QgcGFyc2Vy
X3BhcmFtcywgJnBhcnNlcl9kYXRhX3R5cGUsIHApOworCisgICAgcC0+bGV4LmdldHMgPSBsZXhf
aW9fZ2V0czsKKyAgICBwLT5sZXguaW5wdXQgPSBmaWxlOworICAgIHAtPmxleC5wYmVnID0gcC0+
bGV4LnBjdXIgPSBwLT5sZXgucGVuZCA9IDA7CisKKyAgICByZXR1cm4geXljb21waWxlKHZwYXJz
ZXIsIHAsIGZuYW1lLCBzdGFydCk7Cit9CisKK3N0YXRpYyBWQUxVRQorbGV4X2dlbmVyaWNfZ2V0
cyhzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgVkFMVUUgaW5wdXQpCit7CisgICAgcmV0dXJuICgq
cC0+bGV4LmdldHNfLmNhbGwpKGlucHV0LCBwLT5saW5lX2NvdW50KTsKK30KKworcmJfYXN0X3Qq
CityYl9wYXJzZXJfY29tcGlsZV9nZW5lcmljKFZBTFVFIHZwYXJzZXIsIFZBTFVFICgqbGV4X2dl
dHMpKFZBTFVFLCBpbnQpLCBWQUxVRSBmbmFtZSwgVkFMVUUgaW5wdXQsIGludCBzdGFydCkKK3sK
KyAgICBzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcDsKKworICAgIFR5cGVkRGF0YV9HZXRfU3RydWN0
KHZwYXJzZXIsIHN0cnVjdCBwYXJzZXJfcGFyYW1zLCAmcGFyc2VyX2RhdGFfdHlwZSwgcCk7CisK
KyAgICBwLT5sZXguZ2V0cyA9IGxleF9nZW5lcmljX2dldHM7CisgICAgcC0+bGV4LmdldHNfLmNh
bGwgPSBsZXhfZ2V0czsKKyAgICBwLT5sZXguaW5wdXQgPSBpbnB1dDsKKyAgICBwLT5sZXgucGJl
ZyA9IHAtPmxleC5wY3VyID0gcC0+bGV4LnBlbmQgPSAwOworCisgICAgcmV0dXJuIHl5Y29tcGls
ZSh2cGFyc2VyLCBwLCBmbmFtZSwgc3RhcnQpOworfQorI2VuZGlmICAvKiAhUklQUEVSICovCisK
KyNkZWZpbmUgU1RSX0ZVTkNfRVNDQVBFIDB4MDEKKyNkZWZpbmUgU1RSX0ZVTkNfRVhQQU5EIDB4
MDIKKyNkZWZpbmUgU1RSX0ZVTkNfUkVHRVhQIDB4MDQKKyNkZWZpbmUgU1RSX0ZVTkNfUVdPUkRT
IDB4MDgKKyNkZWZpbmUgU1RSX0ZVTkNfU1lNQk9MIDB4MTAKKyNkZWZpbmUgU1RSX0ZVTkNfSU5E
RU5UIDB4MjAKKyNkZWZpbmUgU1RSX0ZVTkNfTEFCRUwgIDB4NDAKKyNkZWZpbmUgU1RSX0ZVTkNf
TElTVCAgIDB4NDAwMAorI2RlZmluZSBTVFJfRlVOQ19URVJNICAgMHg4MDAwCisKK2VudW0gc3Ry
aW5nX3R5cGUgeworICAgIHN0cl9sYWJlbCAgPSBTVFJfRlVOQ19MQUJFTCwKKyAgICBzdHJfc3F1
b3RlID0gKDApLAorICAgIHN0cl9kcXVvdGUgPSAoU1RSX0ZVTkNfRVhQQU5EKSwKKyAgICBzdHJf
eHF1b3RlID0gKFNUUl9GVU5DX0VYUEFORCksCisgICAgc3RyX3JlZ2V4cCA9IChTVFJfRlVOQ19S
RUdFWFB8U1RSX0ZVTkNfRVNDQVBFfFNUUl9GVU5DX0VYUEFORCksCisgICAgc3RyX3N3b3JkICA9
IChTVFJfRlVOQ19RV09SRFN8U1RSX0ZVTkNfTElTVCksCisgICAgc3RyX2R3b3JkICA9IChTVFJf
RlVOQ19RV09SRFN8U1RSX0ZVTkNfRVhQQU5EfFNUUl9GVU5DX0xJU1QpLAorICAgIHN0cl9zc3lt
ICAgPSAoU1RSX0ZVTkNfU1lNQk9MKSwKKyAgICBzdHJfZHN5bSAgID0gKFNUUl9GVU5DX1NZTUJP
THxTVFJfRlVOQ19FWFBBTkQpCit9OworCitzdGF0aWMgVkFMVUUKK3BhcnNlcl9zdHJfbmV3KGNv
bnN0IGNoYXIgKnB0ciwgbG9uZyBsZW4sIHJiX2VuY29kaW5nICplbmMsIGludCBmdW5jLCByYl9l
bmNvZGluZyAqZW5jMCkKK3sKKyAgICBWQUxVRSBzdHI7CisKKyAgICBzdHIgPSByYl9lbmNfc3Ry
X25ldyhwdHIsIGxlbiwgZW5jKTsKKyAgICBpZiAoIShmdW5jICYgU1RSX0ZVTkNfUkVHRVhQKSAm
JiByYl9lbmNfYXNjaWljb21wYXQoZW5jKSkgeworCWlmIChyYl9lbmNfc3RyX2NvZGVyYW5nZShz
dHIpID09IEVOQ19DT0RFUkFOR0VfN0JJVCkgeworCX0KKwllbHNlIGlmIChlbmMwID09IHJiX3Vz
YXNjaWlfZW5jb2RpbmcoKSAmJiBlbmMgIT0gcmJfdXRmOF9lbmNvZGluZygpKSB7CisJICAgIHJi
X2VuY19hc3NvY2lhdGUoc3RyLCByYl9hc2NpaThiaXRfZW5jb2RpbmcoKSk7CisJfQorICAgIH0K
KworICAgIHJldHVybiBzdHI7Cit9CisKKyNkZWZpbmUgbGV4X2dvdG9fZW9sKHApICgocCktPmxl
eC5wY3VyID0gKHApLT5sZXgucGVuZCkKKyNkZWZpbmUgbGV4X2VvbF9wKHApICgocCktPmxleC5w
Y3VyID49IChwKS0+bGV4LnBlbmQpCisjZGVmaW5lIGxleF9lb2xfbl9wKHAsbikgKChwKS0+bGV4
LnBjdXIrKG4pID49IChwKS0+bGV4LnBlbmQpCisjZGVmaW5lIHBlZWsocCxjKSBwZWVrX24ocCwg
KGMpLCAwKQorI2RlZmluZSBwZWVrX24ocCxjLG4pICghbGV4X2VvbF9uX3AocCwgbikgJiYgKGMp
ID09ICh1bnNpZ25lZCBjaGFyKShwKS0+bGV4LnBjdXJbbl0pCisjZGVmaW5lIHBlZWtjKHApIHBl
ZWtjX24ocCwgMCkKKyNkZWZpbmUgcGVla2NfbihwLG4pIChsZXhfZW9sX25fcChwLCBuKSA/IC0x
IDogKHVuc2lnbmVkIGNoYXIpKHApLT5sZXgucGN1cltuXSkKKworI2lmZGVmIFJJUFBFUgorc3Rh
dGljIHZvaWQKK2FkZF9kZWxheWVkX3Rva2VuKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBjb25z
dCBjaGFyICp0b2ssIGNvbnN0IGNoYXIgKmVuZCkKK3sKKyAgICBpZiAodG9rIDwgZW5kKSB7CisJ
aWYgKCFoYXNfZGVsYXllZF90b2tlbihwKSkgeworCSAgICBwLT5kZWxheWVkID0gcmJfc3RyX2J1
Zl9uZXcoMTAyNCk7CisJICAgIHJiX2VuY19hc3NvY2lhdGUocC0+ZGVsYXllZCwgcC0+ZW5jKTsK
KwkgICAgcC0+ZGVsYXllZF9saW5lID0gcC0+cnVieV9zb3VyY2VsaW5lOworCSAgICBwLT5kZWxh
eWVkX2NvbCA9IChpbnQpKHRvayAtIHAtPmxleC5wYmVnKTsKKwl9CisJcmJfc3RyX2J1Zl9jYXQo
cC0+ZGVsYXllZCwgdG9rLCBlbmQgLSB0b2spOworCXAtPmxleC5wdG9rID0gZW5kOworICAgIH0K
K30KKyNlbHNlCisjZGVmaW5lIGFkZF9kZWxheWVkX3Rva2VuKHAsIHRvaywgZW5kKSAoKHZvaWQp
KHRvayksICh2b2lkKShlbmQpKQorI2VuZGlmCisKK3N0YXRpYyBpbnQKK25leHRsaW5lKHN0cnVj
dCBwYXJzZXJfcGFyYW1zICpwKQoreworICAgIFZBTFVFIHYgPSBwLT5sZXgubmV4dGxpbmU7Cisg
ICAgcC0+bGV4Lm5leHRsaW5lID0gMDsKKyAgICBpZiAoIXYpIHsKKwlpZiAocC0+ZW9mcCkKKwkg
ICAgcmV0dXJuIC0xOworCisJaWYgKCFwLT5sZXguaW5wdXQgfHwgTklMX1AodiA9IGxleF9nZXRs
aW5lKHApKSkgeworCSAgICBwLT5lb2ZwID0gMTsKKwkgICAgbGV4X2dvdG9fZW9sKHApOworCSAg
ICByZXR1cm4gLTE7CisJfQorCXAtPmNyX3NlZW4gPSBGQUxTRTsKKyAgICB9CisgICAgYWRkX2Rl
bGF5ZWRfdG9rZW4ocCwgcC0+bGV4LnB0b2ssIHAtPmxleC5wZW5kKTsKKyAgICBpZiAocC0+aGVy
ZWRvY19lbmQgPiAwKSB7CisJcC0+cnVieV9zb3VyY2VsaW5lID0gcC0+aGVyZWRvY19lbmQ7CisJ
cC0+aGVyZWRvY19lbmQgPSAwOworICAgIH0KKyAgICBwLT5ydWJ5X3NvdXJjZWxpbmUrKzsKKyAg
ICBwLT5sZXgucGJlZyA9IHAtPmxleC5wY3VyID0gUlNUUklOR19QVFIodik7CisgICAgcC0+bGV4
LnBlbmQgPSBwLT5sZXgucGN1ciArIFJTVFJJTkdfTEVOKHYpOworICAgIHRva2VuX2ZsdXNoKHAp
OworICAgIHAtPmxleC5wcmV2bGluZSA9IHAtPmxleC5sYXN0bGluZTsKKyAgICBwLT5sZXgubGFz
dGxpbmUgPSB2OworICAgIHJldHVybiAwOworfQorCitzdGF0aWMgaW50CitwYXJzZXJfY3Ioc3Ry
dWN0IHBhcnNlcl9wYXJhbXMgKnAsIGludCBjKQoreworICAgIGlmIChwZWVrKHAsICdcbicpKSB7
CisJcC0+bGV4LnBjdXIrKzsKKwljID0gJ1xuJzsKKyAgICB9CisgICAgZWxzZSBpZiAoIXAtPmNy
X3NlZW4pIHsKKwlwLT5jcl9zZWVuID0gVFJVRTsKKwkvKiBjYXJyaWVkIG92ZXIgd2l0aCBwLT5s
ZXgubmV4dGxpbmUgZm9yIG5leHRjKCkgKi8KKwlyYl93YXJuMCgiZW5jb3VudGVyZWQgXFxyIGlu
IG1pZGRsZSBvZiBsaW5lLCB0cmVhdGVkIGFzIGEgbWVyZSBzcGFjZSIpOworICAgIH0KKyAgICBy
ZXR1cm4gYzsKK30KKworc3RhdGljIGlubGluZSBpbnQKK25leHRjKHN0cnVjdCBwYXJzZXJfcGFy
YW1zICpwKQoreworICAgIGludCBjOworCisgICAgaWYgKFVOTElLRUxZKChwLT5sZXgucGN1ciA9
PSBwLT5sZXgucGVuZCkgfHwgcC0+ZW9mcCB8fCBwLT5sZXgubmV4dGxpbmUpKSB7CisJaWYgKG5l
eHRsaW5lKHApKSByZXR1cm4gLTE7CisgICAgfQorICAgIGMgPSAodW5zaWduZWQgY2hhcikqcC0+
bGV4LnBjdXIrKzsKKyAgICBpZiAoVU5MSUtFTFkoYyA9PSAnXHInKSkgeworCWMgPSBwYXJzZXJf
Y3IocCwgYyk7CisgICAgfQorCisgICAgcmV0dXJuIGM7Cit9CisKK3N0YXRpYyB2b2lkCitwdXNo
YmFjayhzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgaW50IGMpCit7CisgICAgaWYgKGMgPT0gLTEp
IHJldHVybjsKKyAgICBwLT5sZXgucGN1ci0tOworICAgIGlmIChwLT5sZXgucGN1ciA+IHAtPmxl
eC5wYmVnICYmIHAtPmxleC5wY3VyWzBdID09ICdcbicgJiYgcC0+bGV4LnBjdXJbLTFdID09ICdc
cicpIHsKKwlwLT5sZXgucGN1ci0tOworICAgIH0KK30KKworI2RlZmluZSB3YXNfYm9sKHApICgo
cCktPmxleC5wY3VyID09IChwKS0+bGV4LnBiZWcgKyAxKQorCisjZGVmaW5lIHRva2ZpeChwKSAo
KHApLT50b2tlbmJ1ZlsocCktPnRva2lkeF09J1wwJykKKyNkZWZpbmUgdG9rKHApIChwKS0+dG9r
ZW5idWYKKyNkZWZpbmUgdG9rbGVuKHApIChwKS0+dG9raWR4CisKK3N0YXRpYyBjaGFyKgorbmV3
dG9rKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwKQoreworICAgIHAtPnRva2lkeCA9IDA7CisgICAg
cC0+dG9rbGluZSA9IHAtPnJ1Ynlfc291cmNlbGluZTsKKyAgICBpZiAoIXAtPnRva2VuYnVmKSB7
CisJcC0+dG9rc2l6ID0gNjA7CisJcC0+dG9rZW5idWYgPSBBTExPQ19OKGNoYXIsIDYwKTsKKyAg
ICB9CisgICAgaWYgKHAtPnRva3NpeiA+IDQwOTYpIHsKKwlwLT50b2tzaXogPSA2MDsKKwlSRUFM
TE9DX04ocC0+dG9rZW5idWYsIGNoYXIsIDYwKTsKKyAgICB9CisgICAgcmV0dXJuIHAtPnRva2Vu
YnVmOworfQorCitzdGF0aWMgY2hhciAqCit0b2tzcGFjZShzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAq
cCwgaW50IG4pCit7CisgICAgcC0+dG9raWR4ICs9IG47CisKKyAgICBpZiAocC0+dG9raWR4ID49
IHAtPnRva3NpeikgeworCWRvIHtwLT50b2tzaXogKj0gMjt9IHdoaWxlIChwLT50b2tzaXogPCBw
LT50b2tpZHgpOworCVJFQUxMT0NfTihwLT50b2tlbmJ1ZiwgY2hhciwgcC0+dG9rc2l6KTsKKyAg
ICB9CisgICAgcmV0dXJuICZwLT50b2tlbmJ1ZltwLT50b2tpZHgtbl07Cit9CisKK3N0YXRpYyB2
b2lkCit0b2thZGQoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIGludCBjKQoreworICAgIHAtPnRv
a2VuYnVmW3AtPnRva2lkeCsrXSA9IChjaGFyKWM7CisgICAgaWYgKHAtPnRva2lkeCA+PSBwLT50
b2tzaXopIHsKKwlwLT50b2tzaXogKj0gMjsKKwlSRUFMTE9DX04ocC0+dG9rZW5idWYsIGNoYXIs
IHAtPnRva3Npeik7CisgICAgfQorfQorCitzdGF0aWMgaW50Cit0b2tfaGV4KHN0cnVjdCBwYXJz
ZXJfcGFyYW1zICpwLCBzaXplX3QgKm51bWxlbikKK3sKKyAgICBpbnQgYzsKKworICAgIGMgPSBz
Y2FuX2hleChwLT5sZXgucGN1ciwgMiwgbnVtbGVuKTsKKyAgICBpZiAoISpudW1sZW4pIHsKKwlw
LT5sZXgucHRvayA9IHAtPmxleC5wY3VyOworCXl5ZXJyb3IwKCJpbnZhbGlkIGhleCBlc2NhcGUi
KTsKKwlyZXR1cm4gMDsKKyAgICB9CisgICAgcC0+bGV4LnBjdXIgKz0gKm51bWxlbjsKKyAgICBy
ZXR1cm4gYzsKK30KKworI2RlZmluZSB0b2tjb3B5KHAsIG4pIG1lbWNweSh0b2tzcGFjZShwLCBu
KSwgKHApLT5sZXgucGN1ciAtIChuKSwgKG4pKQorCitzdGF0aWMgaW50Cit0b2thZGRfY29kZXBv
aW50KHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCByYl9lbmNvZGluZyAqKmVuY3AsCisJCSBpbnQg
cmVnZXhwX2xpdGVyYWwsIGludCB3aWRlKQoreworICAgIHNpemVfdCBudW1sZW47CisgICAgaW50
IGNvZGVwb2ludCA9IHNjYW5faGV4KHAtPmxleC5wY3VyLCB3aWRlID8gcC0+bGV4LnBlbmQgLSBw
LT5sZXgucGN1ciA6IDQsICZudW1sZW4pOworICAgIGxpdGVyYWxfZmx1c2gocCwgcC0+bGV4LnBj
dXIpOworICAgIHAtPmxleC5wY3VyICs9IG51bWxlbjsKKyAgICBpZiAod2lkZSA/IChudW1sZW4g
PT0gMCB8fCBudW1sZW4gPiA2KSA6IChudW1sZW4gPCA0KSkgIHsKKwl5eWVycm9yMCgiaW52YWxp
ZCBVbmljb2RlIGVzY2FwZSIpOworCXJldHVybiB3aWRlICYmIG51bWxlbiA+IDA7CisgICAgfQor
ICAgIGlmIChjb2RlcG9pbnQgPiAweDEwZmZmZikgeworCXl5ZXJyb3IwKCJpbnZhbGlkIFVuaWNv
ZGUgY29kZXBvaW50ICh0b28gbGFyZ2UpIik7CisJcmV0dXJuIHdpZGU7CisgICAgfQorICAgIGlm
ICgoY29kZXBvaW50ICYgMHhmZmZmZjgwMCkgPT0gMHhkODAwKSB7CisJeXllcnJvcjAoImludmFs
aWQgVW5pY29kZSBjb2RlcG9pbnQiKTsKKwlyZXR1cm4gd2lkZTsKKyAgICB9CisgICAgaWYgKHJl
Z2V4cF9saXRlcmFsKSB7CisJdG9rY29weShwLCAoaW50KW51bWxlbik7CisgICAgfQorICAgIGVs
c2UgaWYgKGNvZGVwb2ludCA+PSAweDgwKSB7CisJcmJfZW5jb2RpbmcgKnV0ZjggPSByYl91dGY4
X2VuY29kaW5nKCk7CisJaWYgKCplbmNwICYmIHV0ZjggIT0gKmVuY3ApIHsKKwkgICAgc3RhdGlj
IGNvbnN0IGNoYXIgbWl4ZWRfdXRmOFtdID0gIlVURi04IG1peGVkIHdpdGhpbiAlcyBzb3VyY2Ui
OworCSAgICBzaXplX3QgbGVuID0gc2l6ZW9mKG1peGVkX3V0ZjgpIC0gMiArIHN0cmxlbihyYl9l
bmNfbmFtZSgqZW5jcCkpOworCSAgICBjaGFyICptZXNnID0gYWxsb2NhKGxlbik7CisJICAgIHNu
cHJpbnRmKG1lc2csIGxlbiwgbWl4ZWRfdXRmOCwgcmJfZW5jX25hbWUoKmVuY3ApKTsKKwkgICAg
eXllcnJvcjAobWVzZyk7CisJICAgIHJldHVybiB3aWRlOworCX0KKwkqZW5jcCA9IHV0Zjg7CisJ
dG9rYWRkbWJjKHAsIGNvZGVwb2ludCwgKmVuY3ApOworICAgIH0KKyAgICBlbHNlIHsKKwl0b2th
ZGQocCwgY29kZXBvaW50KTsKKyAgICB9CisgICAgcmV0dXJuIFRSVUU7Cit9CisKKy8qIHJldHVy
biB2YWx1ZSBpcyBmb3IgP1x1MzA0MiAqLworc3RhdGljIGludAorcGFyc2VyX3Rva2FkZF91dGY4
KHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCByYl9lbmNvZGluZyAqKmVuY3AsCisJCSAgIGludCBz
dHJpbmdfbGl0ZXJhbCwgaW50IHN5bWJvbF9saXRlcmFsLCBpbnQgcmVnZXhwX2xpdGVyYWwpCit7
CisgICAgLyoKKyAgICAgKiBJZiBzdHJpbmdfbGl0ZXJhbCBpcyB0cnVlLCB0aGVuIHdlIGFsbG93
IG11bHRpcGxlIGNvZGVwb2ludHMKKyAgICAgKiBpbiBcdXt9LCBhbmQgYWRkIHRoZSBjb2RlcG9p
bnRzIHRvIHRoZSBjdXJyZW50IHRva2VuLgorICAgICAqIE90aGVyd2lzZSB3ZSdyZSBwYXJzaW5n
IGEgY2hhcmFjdGVyIGxpdGVyYWwgYW5kIHJldHVybiBhIHNpbmdsZQorICAgICAqIGNvZGVwb2lu
dCB3aXRob3V0IGFkZGluZyBpdAorICAgICAqLworCisgICAgY29uc3QgaW50IG9wZW5fYnJhY2Ug
PSAneycsIGNsb3NlX2JyYWNlID0gJ30nOworCisgICAgaWYgKHJlZ2V4cF9saXRlcmFsKSB7IHRv
a2FkZChwLCAnXFwnKTsgdG9rYWRkKHAsICd1Jyk7IH0KKworICAgIGlmIChwZWVrKHAsIG9wZW5f
YnJhY2UpKSB7ICAvKiBoYW5kbGUgXHV7Li4ufSBmb3JtICovCisJaW50IGMsIGxhc3QgPSBuZXh0
YyhwKTsKKwlpZiAocC0+bGV4LnBjdXIgPj0gcC0+bGV4LnBlbmQpIGdvdG8gdW50ZXJtaW5hdGVk
OworCXdoaWxlIChJU1NQQUNFKGMgPSAqcC0+bGV4LnBjdXIpICYmICsrcC0+bGV4LnBjdXIgPCBw
LT5sZXgucGVuZCk7CisJd2hpbGUgKGMgIT0gY2xvc2VfYnJhY2UpIHsKKwkgICAgaWYgKHJlZ2V4
cF9saXRlcmFsKSB0b2thZGQocCwgbGFzdCk7CisJICAgIGlmICghdG9rYWRkX2NvZGVwb2ludChw
LCBlbmNwLCByZWdleHBfbGl0ZXJhbCwgVFJVRSkpIHsKKwkJYnJlYWs7CisJICAgIH0KKwkgICAg
d2hpbGUgKElTU1BBQ0UoYyA9ICpwLT5sZXgucGN1cikpIHsKKwkJaWYgKCsrcC0+bGV4LnBjdXIg
Pj0gcC0+bGV4LnBlbmQpIGdvdG8gdW50ZXJtaW5hdGVkOworCQlsYXN0ID0gYzsKKwkgICAgfQor
CX0KKworCWlmIChjICE9IGNsb3NlX2JyYWNlKSB7CisJICB1bnRlcm1pbmF0ZWQ6CisJICAgIGxp
dGVyYWxfZmx1c2gocCwgcC0+bGV4LnBjdXIpOworCSAgICB5eWVycm9yMCgidW50ZXJtaW5hdGVk
IFVuaWNvZGUgZXNjYXBlIik7CisJICAgIHJldHVybiAwOworCX0KKworCWlmIChyZWdleHBfbGl0
ZXJhbCkgdG9rYWRkKHAsIGNsb3NlX2JyYWNlKTsKKwluZXh0YyhwKTsKKyAgICB9CisgICAgZWxz
ZSB7CQkJLyogaGFuZGxlIFx1eHh4eCBmb3JtICovCisJaWYgKCF0b2thZGRfY29kZXBvaW50KHAs
IGVuY3AsIHJlZ2V4cF9saXRlcmFsLCBGQUxTRSkpIHsKKwkgICAgcmV0dXJuIDA7CisJfQorICAg
IH0KKworICAgIHJldHVybiBUUlVFOworfQorCisjZGVmaW5lIEVTQ0FQRV9DT05UUk9MIDEKKyNk
ZWZpbmUgRVNDQVBFX01FVEEgICAgMgorCitzdGF0aWMgaW50CityZWFkX2VzY2FwZShzdHJ1Y3Qg
cGFyc2VyX3BhcmFtcyAqcCwgaW50IGZsYWdzLCByYl9lbmNvZGluZyAqKmVuY3ApCit7CisgICAg
aW50IGM7CisgICAgc2l6ZV90IG51bWxlbjsKKworICAgIHN3aXRjaCAoYyA9IG5leHRjKHApKSB7
CisgICAgICBjYXNlICdcXCc6CS8qIEJhY2tzbGFzaCAqLworCXJldHVybiBjOworCisgICAgICBj
YXNlICduJzoJLyogbmV3bGluZSAqLworCXJldHVybiAnXG4nOworCisgICAgICBjYXNlICd0JzoJ
LyogaG9yaXpvbnRhbCB0YWIgKi8KKwlyZXR1cm4gJ1x0JzsKKworICAgICAgY2FzZSAncic6CS8q
IGNhcnJpYWdlLXJldHVybiAqLworCXJldHVybiAnXHInOworCisgICAgICBjYXNlICdmJzoJLyog
Zm9ybS1mZWVkICovCisJcmV0dXJuICdcZic7CisKKyAgICAgIGNhc2UgJ3YnOgkvKiB2ZXJ0aWNh
bCB0YWIgKi8KKwlyZXR1cm4gJ1wxMyc7CisKKyAgICAgIGNhc2UgJ2EnOgkvKiBhbGFybShiZWxs
KSAqLworCXJldHVybiAnXDAwNyc7CisKKyAgICAgIGNhc2UgJ2UnOgkvKiBlc2NhcGUgKi8KKwly
ZXR1cm4gMDMzOworCisgICAgICBjYXNlICcwJzogY2FzZSAnMSc6IGNhc2UgJzInOiBjYXNlICcz
JzogLyogb2N0YWwgY29uc3RhbnQgKi8KKyAgICAgIGNhc2UgJzQnOiBjYXNlICc1JzogY2FzZSAn
Nic6IGNhc2UgJzcnOgorCXB1c2hiYWNrKHAsIGMpOworCWMgPSBzY2FuX29jdChwLT5sZXgucGN1
ciwgMywgJm51bWxlbik7CisJcC0+bGV4LnBjdXIgKz0gbnVtbGVuOworCXJldHVybiBjOworCisg
ICAgICBjYXNlICd4JzoJLyogaGV4IGNvbnN0YW50ICovCisJYyA9IHRva19oZXgocCwgJm51bWxl
bik7CisJaWYgKG51bWxlbiA9PSAwKSByZXR1cm4gMDsKKwlyZXR1cm4gYzsKKworICAgICAgY2Fz
ZSAnYic6CS8qIGJhY2tzcGFjZSAqLworCXJldHVybiAnXDAxMCc7CisKKyAgICAgIGNhc2UgJ3Mn
OgkvKiBzcGFjZSAqLworCXJldHVybiAnICc7CisKKyAgICAgIGNhc2UgJ00nOgorCWlmIChmbGFn
cyAmIEVTQ0FQRV9NRVRBKSBnb3RvIGVvZjsKKwlpZiAoKGMgPSBuZXh0YyhwKSkgIT0gJy0nKSB7
CisJICAgIGdvdG8gZW9mOworCX0KKwlpZiAoKGMgPSBuZXh0YyhwKSkgPT0gJ1xcJykgeworCSAg
ICBpZiAocGVlayhwLCAndScpKSBnb3RvIGVvZjsKKwkgICAgcmV0dXJuIHJlYWRfZXNjYXBlKHAs
IGZsYWdzfEVTQ0FQRV9NRVRBLCBlbmNwKSB8IDB4ODA7CisJfQorCWVsc2UgaWYgKGMgPT0gLTEg
fHwgIUlTQVNDSUkoYykpIGdvdG8gZW9mOworCWVsc2UgeworCSAgICByZXR1cm4gKChjICYgMHhm
ZikgfCAweDgwKTsKKwl9CisKKyAgICAgIGNhc2UgJ0MnOgorCWlmICgoYyA9IG5leHRjKHApKSAh
PSAnLScpIHsKKwkgICAgZ290byBlb2Y7CisJfQorICAgICAgY2FzZSAnYyc6CisJaWYgKGZsYWdz
ICYgRVNDQVBFX0NPTlRST0wpIGdvdG8gZW9mOworCWlmICgoYyA9IG5leHRjKHApKT09ICdcXCcp
IHsKKwkgICAgaWYgKHBlZWsocCwgJ3UnKSkgZ290byBlb2Y7CisJICAgIGMgPSByZWFkX2VzY2Fw
ZShwLCBmbGFnc3xFU0NBUEVfQ09OVFJPTCwgZW5jcCk7CisJfQorCWVsc2UgaWYgKGMgPT0gJz8n
KQorCSAgICByZXR1cm4gMDE3NzsKKwllbHNlIGlmIChjID09IC0xIHx8ICFJU0FTQ0lJKGMpKSBn
b3RvIGVvZjsKKwlyZXR1cm4gYyAmIDB4OWY7CisKKyAgICAgIGVvZjoKKyAgICAgIGNhc2UgLTE6
CisgICAgICAgIHl5ZXJyb3IwKCJJbnZhbGlkIGVzY2FwZSBjaGFyYWN0ZXIgc3ludGF4Iik7CisJ
cHVzaGJhY2socCwgYyk7CisJcmV0dXJuICdcMCc7CisKKyAgICAgIGRlZmF1bHQ6CisJcmV0dXJu
IGM7CisgICAgfQorfQorCitzdGF0aWMgdm9pZAordG9rYWRkbWJjKHN0cnVjdCBwYXJzZXJfcGFy
YW1zICpwLCBpbnQgYywgcmJfZW5jb2RpbmcgKmVuYykKK3sKKyAgICBpbnQgbGVuID0gcmJfZW5j
X2NvZGVsZW4oYywgZW5jKTsKKyAgICByYl9lbmNfbWJjcHV0KGMsIHRva3NwYWNlKHAsIGxlbiks
IGVuYyk7Cit9CisKK3N0YXRpYyBpbnQKK3Rva2FkZF9lc2NhcGUoc3RydWN0IHBhcnNlcl9wYXJh
bXMgKnAsIHJiX2VuY29kaW5nICoqZW5jcCkKK3sKKyAgICBpbnQgYzsKKyAgICBpbnQgZmxhZ3Mg
PSAwOworICAgIHNpemVfdCBudW1sZW47CisKKyAgZmlyc3Q6CisgICAgc3dpdGNoIChjID0gbmV4
dGMocCkpIHsKKyAgICAgIGNhc2UgJ1xuJzoKKwlyZXR1cm4gMDsJCS8qIGp1c3QgaWdub3JlICov
CisKKyAgICAgIGNhc2UgJzAnOiBjYXNlICcxJzogY2FzZSAnMic6IGNhc2UgJzMnOiAvKiBvY3Rh
bCBjb25zdGFudCAqLworICAgICAgY2FzZSAnNCc6IGNhc2UgJzUnOiBjYXNlICc2JzogY2FzZSAn
Nyc6CisJeworCSAgICBydWJ5X3NjYW5fb2N0KC0tcC0+bGV4LnBjdXIsIDMsICZudW1sZW4pOwor
CSAgICBpZiAobnVtbGVuID09IDApIGdvdG8gZW9mOworCSAgICBwLT5sZXgucGN1ciArPSBudW1s
ZW47CisJICAgIHRva2NvcHkocCwgKGludCludW1sZW4gKyAxKTsKKwl9CisJcmV0dXJuIDA7CisK
KyAgICAgIGNhc2UgJ3gnOgkvKiBoZXggY29uc3RhbnQgKi8KKwl7CisJICAgIHRva19oZXgocCwg
Jm51bWxlbik7CisJICAgIGlmIChudW1sZW4gPT0gMCkgcmV0dXJuIC0xOworCSAgICB0b2tjb3B5
KHAsIChpbnQpbnVtbGVuICsgMik7CisJfQorCXJldHVybiAwOworCisgICAgICBjYXNlICdNJzoK
KwlpZiAoZmxhZ3MgJiBFU0NBUEVfTUVUQSkgZ290byBlb2Y7CisJaWYgKChjID0gbmV4dGMocCkp
ICE9ICctJykgeworCSAgICBwdXNoYmFjayhwLCBjKTsKKwkgICAgZ290byBlb2Y7CisJfQorCXRv
a2NvcHkocCwgMyk7CisJZmxhZ3MgfD0gRVNDQVBFX01FVEE7CisJZ290byBlc2NhcGVkOworCisg
ICAgICBjYXNlICdDJzoKKwlpZiAoZmxhZ3MgJiBFU0NBUEVfQ09OVFJPTCkgZ290byBlb2Y7CisJ
aWYgKChjID0gbmV4dGMocCkpICE9ICctJykgeworCSAgICBwdXNoYmFjayhwLCBjKTsKKwkgICAg
Z290byBlb2Y7CisJfQorCXRva2NvcHkocCwgMyk7CisJZ290byBlc2NhcGVkOworCisgICAgICBj
YXNlICdjJzoKKwlpZiAoZmxhZ3MgJiBFU0NBUEVfQ09OVFJPTCkgZ290byBlb2Y7CisJdG9rY29w
eShwLCAyKTsKKwlmbGFncyB8PSBFU0NBUEVfQ09OVFJPTDsKKyAgICAgIGVzY2FwZWQ6CisJaWYg
KChjID0gbmV4dGMocCkpID09ICdcXCcpIHsKKwkgICAgZ290byBmaXJzdDsKKwl9CisJZWxzZSBp
ZiAoYyA9PSAtMSkgZ290byBlb2Y7CisJdG9rYWRkKHAsIGMpOworCXJldHVybiAwOworCisgICAg
ICBlb2Y6CisgICAgICBjYXNlIC0xOgorICAgICAgICB5eWVycm9yMCgiSW52YWxpZCBlc2NhcGUg
Y2hhcmFjdGVyIHN5bnRheCIpOworCXJldHVybiAtMTsKKworICAgICAgZGVmYXVsdDoKKwl0b2th
ZGQocCwgJ1xcJyk7CisJdG9rYWRkKHAsIGMpOworICAgIH0KKyAgICByZXR1cm4gMDsKK30KKwor
c3RhdGljIGludAorcmVneF9vcHRpb25zKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwKQoreworICAg
IGludCBrY29kZSA9IDA7CisgICAgaW50IGtvcHQgPSAwOworICAgIGludCBvcHRpb25zID0gMDsK
KyAgICBpbnQgYywgb3B0LCBrYzsKKworICAgIG5ld3RvayhwKTsKKyAgICB3aGlsZSAoYyA9IG5l
eHRjKHApLCBJU0FMUEhBKGMpKSB7CisgICAgICAgIGlmIChjID09ICdvJykgeworICAgICAgICAg
ICAgb3B0aW9ucyB8PSBSRV9PUFRJT05fT05DRTsKKyAgICAgICAgfQorICAgICAgICBlbHNlIGlm
IChyYl9jaGFyX3RvX29wdGlvbl9rY29kZShjLCAmb3B0LCAma2MpKSB7CisJICAgIGlmIChrYyA+
PSAwKSB7CisJCWlmIChrYyAhPSByYl9hc2NpaThiaXRfZW5jaW5kZXgoKSkga2NvZGUgPSBjOwor
CQlrb3B0ID0gb3B0OworCSAgICB9CisJICAgIGVsc2UgeworCQlvcHRpb25zIHw9IG9wdDsKKwkg
ICAgfQorICAgICAgICB9CisgICAgICAgIGVsc2UgeworCSAgICB0b2thZGQocCwgYyk7CisgICAg
ICAgIH0KKyAgICB9CisgICAgb3B0aW9ucyB8PSBrb3B0OworICAgIHB1c2hiYWNrKHAsIGMpOwor
ICAgIGlmICh0b2tsZW4ocCkpIHsKKwl0b2tmaXgocCk7CisJY29tcGlsZV9lcnJvcihwLCAidW5r
bm93biByZWdleHAgb3B0aW9uJXMgLSAlKnMiLAorCQkgICAgICB0b2tsZW4ocCkgPiAxID8gInMi
IDogIiIsIHRva2xlbihwKSwgdG9rKHApKTsKKyAgICB9CisgICAgcmV0dXJuIG9wdGlvbnMgfCBS
RV9PUFRJT05fRU5DT0RJTkcoa2NvZGUpOworfQorCitzdGF0aWMgaW50Cit0b2thZGRfbWJjaGFy
KHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBpbnQgYykKK3sKKyAgICBpbnQgbGVuID0gcGFyc2Vy
X3ByZWNpc2VfbWJjbGVuKHAsIHAtPmxleC5wY3VyLTEpOworICAgIGlmIChsZW4gPCAwKSByZXR1
cm4gLTE7CisgICAgdG9rYWRkKHAsIGMpOworICAgIHAtPmxleC5wY3VyICs9IC0tbGVuOworICAg
IGlmIChsZW4gPiAwKSB0b2tjb3B5KHAsIGxlbik7CisgICAgcmV0dXJuIGM7Cit9CisKK3N0YXRp
YyBpbmxpbmUgaW50CitzaW1wbGVfcmVfbWV0YShpbnQgYykKK3sKKyAgICBzd2l0Y2ggKGMpIHsK
KyAgICAgIGNhc2UgJyQnOiBjYXNlICcqJzogY2FzZSAnKyc6IGNhc2UgJy4nOgorICAgICAgY2Fz
ZSAnPyc6IGNhc2UgJ14nOiBjYXNlICd8JzoKKyAgICAgIGNhc2UgJyknOiBjYXNlICddJzogY2Fz
ZSAnfSc6IGNhc2UgJz4nOgorCXJldHVybiBUUlVFOworICAgICAgZGVmYXVsdDoKKwlyZXR1cm4g
RkFMU0U7CisgICAgfQorfQorCitzdGF0aWMgaW50CitwYXJzZXJfdXBkYXRlX2hlcmVkb2NfaW5k
ZW50KHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBpbnQgYykKK3sKKyAgICBpZiAocC0+aGVyZWRv
Y19saW5lX2luZGVudCA9PSAtMSkgeworCWlmIChjID09ICdcbicpIHAtPmhlcmVkb2NfbGluZV9p
bmRlbnQgPSAwOworICAgIH0KKyAgICBlbHNlIHsKKwlpZiAoYyA9PSAnICcpIHsKKwkgICAgcC0+
aGVyZWRvY19saW5lX2luZGVudCsrOworCSAgICByZXR1cm4gVFJVRTsKKwl9CisJZWxzZSBpZiAo
YyA9PSAnXHQnKSB7CisJICAgIGludCB3ID0gKHAtPmhlcmVkb2NfbGluZV9pbmRlbnQgLyBUQUJf
V0lEVEgpICsgMTsKKwkgICAgcC0+aGVyZWRvY19saW5lX2luZGVudCA9IHcgKiBUQUJfV0lEVEg7
CisJICAgIHJldHVybiBUUlVFOworCX0KKwllbHNlIGlmIChjICE9ICdcbicpIHsKKwkgICAgaWYg
KHAtPmhlcmVkb2NfaW5kZW50ID4gcC0+aGVyZWRvY19saW5lX2luZGVudCkgeworCQlwLT5oZXJl
ZG9jX2luZGVudCA9IHAtPmhlcmVkb2NfbGluZV9pbmRlbnQ7CisJICAgIH0KKwkgICAgcC0+aGVy
ZWRvY19saW5lX2luZGVudCA9IC0xOworCX0KKyAgICB9CisgICAgcmV0dXJuIEZBTFNFOworfQor
CitzdGF0aWMgdm9pZAorcGFyc2VyX21peGVkX2Vycm9yKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpw
LCByYl9lbmNvZGluZyAqZW5jMSwgcmJfZW5jb2RpbmcgKmVuYzIpCit7CisgICAgc3RhdGljIGNv
bnN0IGNoYXIgbWl4ZWRfbXNnW10gPSAiJXMgbWl4ZWQgd2l0aGluICVzIHNvdXJjZSI7CisgICAg
Y29uc3QgY2hhciAqbjEgPSByYl9lbmNfbmFtZShlbmMxKSwgKm4yID0gcmJfZW5jX25hbWUoZW5j
Mik7CisgICAgY29uc3Qgc2l6ZV90IGxlbiA9IHNpemVvZihtaXhlZF9tc2cpIC0gNCArIHN0cmxl
bihuMSkgKyBzdHJsZW4objIpOworICAgIGNoYXIgKmVycmJ1ZiA9IEFMTE9DQV9OKGNoYXIsIGxl
bik7CisgICAgc25wcmludGYoZXJyYnVmLCBsZW4sIG1peGVkX21zZywgbjEsIG4yKTsKKyAgICB5
eWVycm9yMChlcnJidWYpOworfQorCitzdGF0aWMgdm9pZAorcGFyc2VyX21peGVkX2VzY2FwZShz
dHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgY29uc3QgY2hhciAqYmVnLCByYl9lbmNvZGluZyAqZW5j
MSwgcmJfZW5jb2RpbmcgKmVuYzIpCit7CisgICAgY29uc3QgY2hhciAqcG9zID0gcC0+bGV4LnBj
dXI7CisgICAgcC0+bGV4LnBjdXIgPSBiZWc7CisgICAgcGFyc2VyX21peGVkX2Vycm9yKHAsIGVu
YzEsIGVuYzIpOworICAgIHAtPmxleC5wY3VyID0gcG9zOworfQorCitzdGF0aWMgaW50Cit0b2th
ZGRfc3RyaW5nKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLAorCSAgICAgIGludCBmdW5jLCBpbnQg
dGVybSwgaW50IHBhcmVuLCBsb25nICpuZXN0LAorCSAgICAgIHJiX2VuY29kaW5nICoqZW5jcCwg
cmJfZW5jb2RpbmcgKiplbmMpCit7CisgICAgaW50IGM7CisgICAgYm9vbCBlcnJlZCA9IGZhbHNl
OworCisjZGVmaW5lIG1peGVkX2Vycm9yKGVuYzEsIGVuYzIpIFwKKyAgICAodm9pZCkoZXJyZWQg
fHwgKHBhcnNlcl9taXhlZF9lcnJvcihwLCBlbmMxLCBlbmMyKSwgZXJyZWQgPSB0cnVlKSkKKyNk
ZWZpbmUgbWl4ZWRfZXNjYXBlKGJlZywgZW5jMSwgZW5jMikgXAorICAgICh2b2lkKShlcnJlZCB8
fCAocGFyc2VyX21peGVkX2VzY2FwZShwLCBiZWcsIGVuYzEsIGVuYzIpLCBlcnJlZCA9IHRydWUp
KQorCisgICAgd2hpbGUgKChjID0gbmV4dGMocCkpICE9IC0xKSB7CisJaWYgKHAtPmhlcmVkb2Nf
aW5kZW50ID4gMCkgeworCSAgICBwYXJzZXJfdXBkYXRlX2hlcmVkb2NfaW5kZW50KHAsIGMpOwor
CX0KKworCWlmIChwYXJlbiAmJiBjID09IHBhcmVuKSB7CisJICAgICsrKm5lc3Q7CisJfQorCWVs
c2UgaWYgKGMgPT0gdGVybSkgeworCSAgICBpZiAoIW5lc3QgfHwgISpuZXN0KSB7CisJCXB1c2hi
YWNrKHAsIGMpOworCQlicmVhazsKKwkgICAgfQorCSAgICAtLSpuZXN0OworCX0KKwllbHNlIGlm
ICgoZnVuYyAmIFNUUl9GVU5DX0VYUEFORCkgJiYgYyA9PSAnIycgJiYgcC0+bGV4LnBjdXIgPCBw
LT5sZXgucGVuZCkgeworCSAgICBpbnQgYzIgPSAqcC0+bGV4LnBjdXI7CisJICAgIGlmIChjMiA9
PSAnJCcgfHwgYzIgPT0gJ0AnIHx8IGMyID09ICd7JykgeworCQlwdXNoYmFjayhwLCBjKTsKKwkJ
YnJlYWs7CisJICAgIH0KKwl9CisJZWxzZSBpZiAoYyA9PSAnXFwnKSB7CisJICAgIGxpdGVyYWxf
Zmx1c2gocCwgcC0+bGV4LnBjdXIgLSAxKTsKKwkgICAgYyA9IG5leHRjKHApOworCSAgICBzd2l0
Y2ggKGMpIHsKKwkgICAgICBjYXNlICdcbic6CisJCWlmIChmdW5jICYgU1RSX0ZVTkNfUVdPUkRT
KSBicmVhazsKKwkJaWYgKGZ1bmMgJiBTVFJfRlVOQ19FWFBBTkQpIHsKKwkJICAgIGlmICghKGZ1
bmMgJiBTVFJfRlVOQ19JTkRFTlQpIHx8IChwLT5oZXJlZG9jX2luZGVudCA8IDApKQorCQkJY29u
dGludWU7CisJCSAgICBpZiAoYyA9PSB0ZXJtKSB7CisJCQljID0gJ1xcJzsKKwkJCWdvdG8gdGVy
bWluYXRlOworCQkgICAgfQorCQl9CisJCXRva2FkZChwLCAnXFwnKTsKKwkJYnJlYWs7CisKKwkg
ICAgICBjYXNlICdcXCc6CisJCWlmIChmdW5jICYgU1RSX0ZVTkNfRVNDQVBFKSB0b2thZGQocCwg
Yyk7CisJCWJyZWFrOworCisJICAgICAgY2FzZSAndSc6CisJCWlmICgoZnVuYyAmIFNUUl9GVU5D
X0VYUEFORCkgPT0gMCkgeworCQkgICAgdG9rYWRkKHAsICdcXCcpOworCQkgICAgYnJlYWs7CisJ
CX0KKwkJaWYgKCFwYXJzZXJfdG9rYWRkX3V0ZjgocCwgZW5jLCB0ZXJtLAorCQkJCQlmdW5jICYg
U1RSX0ZVTkNfU1lNQk9MLAorCQkJCQlmdW5jICYgU1RSX0ZVTkNfUkVHRVhQKSkgeworCQkgICAg
cmV0dXJuIC0xOworCQl9CisJCWNvbnRpbnVlOworCisJICAgICAgZGVmYXVsdDoKKwkJaWYgKGMg
PT0gLTEpIHJldHVybiAtMTsKKwkJaWYgKCFJU0FTQ0lJKGMpKSB7CisJCSAgICBpZiAoKGZ1bmMg
JiBTVFJfRlVOQ19FWFBBTkQpID09IDApIHRva2FkZChwLCAnXFwnKTsKKwkJICAgIGdvdG8gbm9u
X2FzY2lpOworCQl9CisJCWlmIChmdW5jICYgU1RSX0ZVTkNfUkVHRVhQKSB7CisJCSAgICBpZiAo
YyA9PSB0ZXJtICYmICFzaW1wbGVfcmVfbWV0YShjKSkgeworCQkJdG9rYWRkKHAsIGMpOworCQkJ
Y29udGludWU7CisJCSAgICB9CisJCSAgICBwdXNoYmFjayhwLCBjKTsKKwkJICAgIGlmICgoYyA9
IHRva2FkZF9lc2NhcGUocCwgZW5jKSkgPCAwKQorCQkJcmV0dXJuIC0xOworCQkgICAgaWYgKCpl
bmMgJiYgKmVuYyAhPSAqZW5jcCkgeworCQkJbWl4ZWRfZXNjYXBlKHAtPmxleC5wdG9rKzIsICpl
bmMsICplbmNwKTsKKwkJICAgIH0KKwkJICAgIGNvbnRpbnVlOworCQl9CisJCWVsc2UgaWYgKGZ1
bmMgJiBTVFJfRlVOQ19FWFBBTkQpIHsKKwkJICAgIHB1c2hiYWNrKHAsIGMpOworCQkgICAgaWYg
KGZ1bmMgJiBTVFJfRlVOQ19FU0NBUEUpIHRva2FkZChwLCAnXFwnKTsKKwkJICAgIGMgPSByZWFk
X2VzY2FwZShwLCAwLCBlbmMpOworCQl9CisJCWVsc2UgaWYgKChmdW5jICYgU1RSX0ZVTkNfUVdP
UkRTKSAmJiBJU1NQQUNFKGMpKSB7CisJCSAgICAvKiBpZ25vcmUgYmFja3NsYXNoZWQgc3BhY2Vz
IGluICV3ICovCisJCX0KKwkJZWxzZSBpZiAoYyAhPSB0ZXJtICYmICEocGFyZW4gJiYgYyA9PSBw
YXJlbikpIHsKKwkJICAgIHRva2FkZChwLCAnXFwnKTsKKwkJICAgIHB1c2hiYWNrKHAsIGMpOwor
CQkgICAgY29udGludWU7CisJCX0KKwkgICAgfQorCX0KKwllbHNlIGlmICghcGFyc2VyX2lzYXNj
aWkocCkpIHsKKwkgIG5vbl9hc2NpaToKKwkgICAgaWYgKCEqZW5jKSB7CisJCSplbmMgPSAqZW5j
cDsKKwkgICAgfQorCSAgICBlbHNlIGlmICgqZW5jICE9ICplbmNwKSB7CisJCW1peGVkX2Vycm9y
KCplbmMsICplbmNwKTsKKwkJY29udGludWU7CisJICAgIH0KKwkgICAgaWYgKHRva2FkZF9tYmNo
YXIocCwgYykgPT0gLTEpIHJldHVybiAtMTsKKwkgICAgY29udGludWU7CisJfQorCWVsc2UgaWYg
KChmdW5jICYgU1RSX0ZVTkNfUVdPUkRTKSAmJiBJU1NQQUNFKGMpKSB7CisJICAgIHB1c2hiYWNr
KHAsIGMpOworCSAgICBicmVhazsKKwl9CisgICAgICAgIGlmIChjICYgMHg4MCkgeworCSAgICBp
ZiAoISplbmMpIHsKKwkJKmVuYyA9ICplbmNwOworCSAgICB9CisJICAgIGVsc2UgaWYgKCplbmMg
IT0gKmVuY3ApIHsKKwkJbWl4ZWRfZXJyb3IoKmVuYywgKmVuY3ApOworCQljb250aW51ZTsKKwkg
ICAgfQorICAgICAgICB9CisJdG9rYWRkKHAsIGMpOworICAgIH0KKyAgdGVybWluYXRlOgorICAg
IGlmICgqZW5jKSAqZW5jcCA9ICplbmM7CisgICAgcmV0dXJuIGM7Cit9CisKK3N0YXRpYyBpbmxp
bmUgcmJfc3RydGVybV90ICoKK25ld19zdHJ0ZXJtKFZBTFVFIHYxLCBWQUxVRSB2MiwgVkFMVUUg
djMsIFZBTFVFIHYwKQoreworICAgIHJldHVybiAocmJfc3RydGVybV90KilyYl9pbWVtb19uZXco
aW1lbW9fcGFyc2VyX3N0cnRlcm0sIHYxLCB2MiwgdjMsIHYwKTsKK30KKworLyogaW1lbW9fcGFy
c2VyX3N0cnRlcm0gZm9yIGxpdGVyYWwgKi8KKyNkZWZpbmUgTkVXX1NUUlRFUk0oZnVuYywgdGVy
bSwgcGFyZW4pIFwKKyAgICBuZXdfc3RydGVybSgoVkFMVUUpKGZ1bmMpLCAoVkFMVUUpKHBhcmVu
KSwgKFZBTFVFKSh0ZXJtKSwgMCkKKworI2lmZGVmIFJJUFBFUgorc3RhdGljIHZvaWQKK2ZsdXNo
X3N0cmluZ19jb250ZW50KHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCByYl9lbmNvZGluZyAqZW5j
KQoreworICAgIFZBTFVFIGNvbnRlbnQgPSB5eWx2YWwudmFsOworICAgIGlmICghcmlwcGVyX2lz
X25vZGVfeXlsdmFsKGNvbnRlbnQpKQorCWNvbnRlbnQgPSByaXBwZXJfbmV3X3l5bHZhbChwLCAw
LCAwLCBjb250ZW50KTsKKyAgICBpZiAoaGFzX2RlbGF5ZWRfdG9rZW4ocCkpIHsKKwlwdHJkaWZm
X3QgbGVuID0gcC0+bGV4LnBjdXIgLSBwLT5sZXgucHRvazsKKwlpZiAobGVuID4gMCkgeworCSAg
ICByYl9lbmNfc3RyX2J1Zl9jYXQocC0+ZGVsYXllZCwgcC0+bGV4LnB0b2ssIGxlbiwgZW5jKTsK
Kwl9CisJZGlzcGF0Y2hfZGVsYXllZF90b2tlbihwLCB0U1RSSU5HX0NPTlRFTlQpOworCXAtPmxl
eC5wdG9rID0gcC0+bGV4LnBjdXI7CisJUk5PREUoY29udGVudCktPm5kX3J2YWwgPSB5eWx2YWwu
dmFsOworICAgIH0KKyAgICBkaXNwYXRjaF9zY2FuX2V2ZW50KHAsIHRTVFJJTkdfQ09OVEVOVCk7
CisgICAgaWYgKHl5bHZhbC52YWwgIT0gY29udGVudCkKKwlSTk9ERShjb250ZW50KS0+bmRfcnZh
bCA9IHl5bHZhbC52YWw7CisgICAgeXlsdmFsLnZhbCA9IGNvbnRlbnQ7Cit9CisjZWxzZQorI2Rl
ZmluZSBmbHVzaF9zdHJpbmdfY29udGVudChwLCBlbmMpICgodm9pZCkoZW5jKSkKKyNlbmRpZgor
CitSVUJZX0ZVTkNfRVhQT1JURUQgY29uc3QgdW5zaWduZWQgaW50IHJ1YnlfZ2xvYmFsX25hbWVf
cHVuY3RfYml0c1soMHg3ZSAtIDB4MjAgKyAzMSkgLyAzMl07CisvKiB0aGlzIGNhbiBiZSBzaGFy
ZWQgd2l0aCByaXBwZXIsIHNpbmNlIGl0J3MgaW5kZXBlbmRlbnQgZnJvbSBzdHJ1Y3QKKyAqIHBh
cnNlcl9wYXJhbXMuICovCisjaWZuZGVmIFJJUFBFUgorI2RlZmluZSBCSVQoYywgaWR4KSAoKChj
KSAvIDMyIC0gMSA9PSBpZHgpID8gKDFVIDw8ICgoYykgJSAzMikpIDogMCkKKyNkZWZpbmUgU1BF
Q0lBTF9QVU5DVChpZHgpICggXAorCUJJVCgnficsIGlkeCkgfCBCSVQoJyonLCBpZHgpIHwgQklU
KCckJywgaWR4KSB8IEJJVCgnPycsIGlkeCkgfCBcCisJQklUKCchJywgaWR4KSB8IEJJVCgnQCcs
IGlkeCkgfCBCSVQoJy8nLCBpZHgpIHwgQklUKCdcXCcsIGlkeCkgfCBcCisJQklUKCc7JywgaWR4
KSB8IEJJVCgnLCcsIGlkeCkgfCBCSVQoJy4nLCBpZHgpIHwgQklUKCc9JywgaWR4KSB8IFwKKwlC
SVQoJzonLCBpZHgpIHwgQklUKCc8JywgaWR4KSB8IEJJVCgnPicsIGlkeCkgfCBCSVQoJ1wiJywg
aWR4KSB8IFwKKwlCSVQoJyYnLCBpZHgpIHwgQklUKCdgJywgaWR4KSB8IEJJVCgnXCcnLCBpZHgp
IHwgQklUKCcrJywgaWR4KSB8IFwKKwlCSVQoJzAnLCBpZHgpKQorY29uc3QgdW5zaWduZWQgaW50
IHJ1YnlfZ2xvYmFsX25hbWVfcHVuY3RfYml0c1tdID0geworICAgIFNQRUNJQUxfUFVOQ1QoMCks
CisgICAgU1BFQ0lBTF9QVU5DVCgxKSwKKyAgICBTUEVDSUFMX1BVTkNUKDIpLAorfTsKKyN1bmRl
ZiBCSVQKKyN1bmRlZiBTUEVDSUFMX1BVTkNUCisjZW5kaWYKKworc3RhdGljIGVudW0geXl0b2tl
bnR5cGUKK3BhcnNlcl9wZWVrX3ZhcmlhYmxlX25hbWUoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAp
Cit7CisgICAgaW50IGM7CisgICAgY29uc3QgY2hhciAqcHRyID0gcC0+bGV4LnBjdXI7CisKKyAg
ICBpZiAocHRyICsgMSA+PSBwLT5sZXgucGVuZCkgcmV0dXJuIDA7CisgICAgYyA9ICpwdHIrKzsK
KyAgICBzd2l0Y2ggKGMpIHsKKyAgICAgIGNhc2UgJyQnOgorCWlmICgoYyA9ICpwdHIpID09ICct
JykgeworCSAgICBpZiAoKytwdHIgPj0gcC0+bGV4LnBlbmQpIHJldHVybiAwOworCSAgICBjID0g
KnB0cjsKKwl9CisJZWxzZSBpZiAoaXNfZ2xvYmFsX25hbWVfcHVuY3QoYykgfHwgSVNESUdJVChj
KSkgeworCSAgICByZXR1cm4gdFNUUklOR19EVkFSOworCX0KKwlicmVhazsKKyAgICAgIGNhc2Ug
J0AnOgorCWlmICgoYyA9ICpwdHIpID09ICdAJykgeworCSAgICBpZiAoKytwdHIgPj0gcC0+bGV4
LnBlbmQpIHJldHVybiAwOworCSAgICBjID0gKnB0cjsKKwl9CisJYnJlYWs7CisgICAgICBjYXNl
ICd7JzoKKwlwLT5sZXgucGN1ciA9IHB0cjsKKwlwLT5jb21tYW5kX3N0YXJ0ID0gVFJVRTsKKwly
ZXR1cm4gdFNUUklOR19EQkVHOworICAgICAgZGVmYXVsdDoKKwlyZXR1cm4gMDsKKyAgICB9Cisg
ICAgaWYgKCFJU0FTQ0lJKGMpIHx8IGMgPT0gJ18nIHx8IElTQUxQSEEoYykpCisJcmV0dXJuIHRT
VFJJTkdfRFZBUjsKKyAgICByZXR1cm4gMDsKK30KKworI2RlZmluZSBJU19BUkcoKSBJU19sZXhf
c3RhdGUoRVhQUl9BUkdfQU5ZKQorI2RlZmluZSBJU19FTkQoKSBJU19sZXhfc3RhdGUoRVhQUl9F
TkRfQU5ZKQorI2RlZmluZSBJU19CRUcoKSAoSVNfbGV4X3N0YXRlKEVYUFJfQkVHX0FOWSkgfHwg
SVNfbGV4X3N0YXRlX2FsbChFWFBSX0FSR3xFWFBSX0xBQkVMRUQpKQorI2RlZmluZSBJU19TUENB
UkcoYykgKElTX0FSRygpICYmIHNwYWNlX3NlZW4gJiYgIUlTU1BBQ0UoYykpCisjZGVmaW5lIElT
X0xBQkVMX1BPU1NJQkxFKCkgKFwKKwkoSVNfbGV4X3N0YXRlKEVYUFJfTEFCRUx8RVhQUl9FTkRG
TikgJiYgIWNtZF9zdGF0ZSkgfHwgXAorCUlTX0FSRygpKQorI2RlZmluZSBJU19MQUJFTF9TVUZG
SVgobikgKHBlZWtfbihwLCAnOicsKG4pKSAmJiAhcGVla19uKHAsICc6JywgKG4pKzEpKQorI2Rl
ZmluZSBJU19BRlRFUl9PUEVSQVRPUigpIElTX2xleF9zdGF0ZShFWFBSX0ZOQU1FIHwgRVhQUl9E
T1QpCisKK3N0YXRpYyBpbmxpbmUgZW51bSB5eXRva2VudHlwZQorcGFyc2VyX3N0cmluZ190ZXJt
KHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBpbnQgZnVuYykKK3sKKyAgICBwLT5sZXguc3RydGVy
bSA9IDA7CisgICAgaWYgKGZ1bmMgJiBTVFJfRlVOQ19SRUdFWFApIHsKKwlzZXRfeXlsdmFsX251
bShyZWd4X29wdGlvbnMocCkpOworCWRpc3BhdGNoX3NjYW5fZXZlbnQocCwgdFJFR0VYUF9FTkQp
OworCVNFVF9MRVhfU1RBVEUoRVhQUl9FTkQpOworCXJldHVybiB0UkVHRVhQX0VORDsKKyAgICB9
CisgICAgaWYgKChmdW5jICYgU1RSX0ZVTkNfTEFCRUwpICYmIElTX0xBQkVMX1NVRkZJWCgwKSkg
eworCW5leHRjKHApOworCVNFVF9MRVhfU1RBVEUoRVhQUl9CRUd8RVhQUl9MQUJFTCk7CisJcmV0
dXJuIHRMQUJFTF9FTkQ7CisgICAgfQorICAgIFNFVF9MRVhfU1RBVEUoRVhQUl9FTkQpOworICAg
IHJldHVybiB0U1RSSU5HX0VORDsKK30KKworc3RhdGljIGVudW0geXl0b2tlbnR5cGUKK3BhcnNl
X3N0cmluZyhzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgcmJfc3RydGVybV9saXRlcmFsX3QgKnF1
b3RlKQoreworICAgIGludCBmdW5jID0gKGludClxdW90ZS0+dTEuZnVuYzsKKyAgICBpbnQgdGVy
bSA9IChpbnQpcXVvdGUtPnUzLnRlcm07CisgICAgaW50IHBhcmVuID0gKGludClxdW90ZS0+dTIu
cGFyZW47CisgICAgaW50IGMsIHNwYWNlID0gMDsKKyAgICByYl9lbmNvZGluZyAqZW5jID0gcC0+
ZW5jOworICAgIHJiX2VuY29kaW5nICpiYXNlX2VuYyA9IDA7CisgICAgVkFMVUUgbGl0OworCisg
ICAgaWYgKGZ1bmMgJiBTVFJfRlVOQ19URVJNKSB7CisJaWYgKGZ1bmMgJiBTVFJfRlVOQ19RV09S
RFMpIG5leHRjKHApOyAvKiBkZWxheWVkIHRlcm0gKi8KKwlTRVRfTEVYX1NUQVRFKEVYUFJfRU5E
KTsKKwlwLT5sZXguc3RydGVybSA9IDA7CisJcmV0dXJuIGZ1bmMgJiBTVFJfRlVOQ19SRUdFWFAg
PyB0UkVHRVhQX0VORCA6IHRTVFJJTkdfRU5EOworICAgIH0KKyAgICBjID0gbmV4dGMocCk7Cisg
ICAgaWYgKChmdW5jICYgU1RSX0ZVTkNfUVdPUkRTKSAmJiBJU1NQQUNFKGMpKSB7CisJZG8ge2Mg
PSBuZXh0YyhwKTt9IHdoaWxlIChJU1NQQUNFKGMpKTsKKwlzcGFjZSA9IDE7CisgICAgfQorICAg
IGlmIChmdW5jICYgU1RSX0ZVTkNfTElTVCkgeworCXF1b3RlLT51MS5mdW5jICY9IH5TVFJfRlVO
Q19MSVNUOworCXNwYWNlID0gMTsKKyAgICB9CisgICAgaWYgKGMgPT0gdGVybSAmJiAhcXVvdGUt
PnUwLm5lc3QpIHsKKwlpZiAoZnVuYyAmIFNUUl9GVU5DX1FXT1JEUykgeworCSAgICBxdW90ZS0+
dTEuZnVuYyB8PSBTVFJfRlVOQ19URVJNOworCSAgICBwdXNoYmFjayhwLCBjKTsgLyogZGlzcGF0
Y2ggdGhlIHRlcm0gYXQgdFNUUklOR19FTkQgKi8KKwkgICAgYWRkX2RlbGF5ZWRfdG9rZW4ocCwg
cC0+bGV4LnB0b2ssIHAtPmxleC5wY3VyKTsKKwkgICAgcmV0dXJuICcgJzsKKwl9CisJcmV0dXJu
IHBhcnNlcl9zdHJpbmdfdGVybShwLCBmdW5jKTsKKyAgICB9CisgICAgaWYgKHNwYWNlKSB7CisJ
cHVzaGJhY2socCwgYyk7CisJYWRkX2RlbGF5ZWRfdG9rZW4ocCwgcC0+bGV4LnB0b2ssIHAtPmxl
eC5wY3VyKTsKKwlyZXR1cm4gJyAnOworICAgIH0KKyAgICBuZXd0b2socCk7CisgICAgaWYgKChm
dW5jICYgU1RSX0ZVTkNfRVhQQU5EKSAmJiBjID09ICcjJykgeworCWludCB0ID0gcGFyc2VyX3Bl
ZWtfdmFyaWFibGVfbmFtZShwKTsKKwlpZiAodCkgcmV0dXJuIHQ7CisJdG9rYWRkKHAsICcjJyk7
CisJYyA9IG5leHRjKHApOworICAgIH0KKyAgICBwdXNoYmFjayhwLCBjKTsKKyAgICBpZiAodG9r
YWRkX3N0cmluZyhwLCBmdW5jLCB0ZXJtLCBwYXJlbiwgJnF1b3RlLT51MC5uZXN0LAorCQkgICAg
ICAmZW5jLCAmYmFzZV9lbmMpID09IC0xKSB7CisJaWYgKHAtPmVvZnApIHsKKyNpZm5kZWYgUklQ
UEVSCisjIGRlZmluZSB1bnRlcm1pbmF0ZWRfbGl0ZXJhbChtZXNnKSB5eWVycm9yMChtZXNnKQor
I2Vsc2UKKyMgZGVmaW5lIHVudGVybWluYXRlZF9saXRlcmFsKG1lc2cpIGNvbXBpbGVfZXJyb3Io
cCwgIG1lc2cpCisjZW5kaWYKKwkgICAgbGl0ZXJhbF9mbHVzaChwLCBwLT5sZXgucGN1cik7CisJ
ICAgIGlmIChmdW5jICYgU1RSX0ZVTkNfUkVHRVhQKSB7CisJCXVudGVybWluYXRlZF9saXRlcmFs
KCJ1bnRlcm1pbmF0ZWQgcmVnZXhwIG1lZXRzIGVuZCBvZiBmaWxlIik7CisJICAgIH0KKwkgICAg
ZWxzZSB7CisJCXVudGVybWluYXRlZF9saXRlcmFsKCJ1bnRlcm1pbmF0ZWQgc3RyaW5nIG1lZXRz
IGVuZCBvZiBmaWxlIik7CisJICAgIH0KKwkgICAgcXVvdGUtPnUxLmZ1bmMgfD0gU1RSX0ZVTkNf
VEVSTTsKKwl9CisgICAgfQorCisgICAgdG9rZml4KHApOworICAgIGFkZF9tYXJrX29iamVjdChw
LCBsaXQgPSBTVFJfTkVXMyh0b2socCksIHRva2xlbihwKSwgZW5jLCBmdW5jKSk7CisgICAgc2V0
X3l5bHZhbF9zdHIobGl0KTsKKyAgICBmbHVzaF9zdHJpbmdfY29udGVudChwLCBlbmMpOworCisg
ICAgcmV0dXJuIHRTVFJJTkdfQ09OVEVOVDsKK30KKworc3RhdGljIGVudW0geXl0b2tlbnR5cGUK
K2hlcmVkb2NfaWRlbnRpZmllcihzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCkKK3sKKyAgICAvKgor
ICAgICAqIHRlcm1fbGVuIGlzIGxlbmd0aCBvZiBgPDwiRU5EImAgZXhjZXB0IGBFTkRgLAorICAg
ICAqIGluIHRoaXMgY2FzZSB0ZXJtX2xlbiBpcyA0ICg8LCA8LCAiIGFuZCAiKS4KKyAgICAgKi8K
KyAgICBpbnQgYyA9IG5leHRjKHApLCB0ZXJtLCBmdW5jID0gMCwgdGVybV9sZW4gPSAyOworICAg
IGVudW0geXl0b2tlbnR5cGUgdG9rZW4gPSB0U1RSSU5HX0JFRzsKKyAgICBsb25nIGxlbjsKKyAg
ICBpbnQgbmV3bGluZSA9IDA7CisgICAgaW50IGluZGVudCA9IDA7CisKKyAgICBpZiAoYyA9PSAn
LScpIHsKKwljID0gbmV4dGMocCk7CisJdGVybV9sZW4rKzsKKwlmdW5jID0gU1RSX0ZVTkNfSU5E
RU5UOworICAgIH0KKyAgICBlbHNlIGlmIChjID09ICd+JykgeworCWMgPSBuZXh0YyhwKTsKKwl0
ZXJtX2xlbisrOworCWZ1bmMgPSBTVFJfRlVOQ19JTkRFTlQ7CisJaW5kZW50ID0gSU5UX01BWDsK
KyAgICB9CisgICAgc3dpdGNoIChjKSB7CisgICAgICBjYXNlICdcJyc6CisJdGVybV9sZW4rKzsK
KwlmdW5jIHw9IHN0cl9zcXVvdGU7IGdvdG8gcXVvdGVkOworICAgICAgY2FzZSAnIic6CisJdGVy
bV9sZW4rKzsKKwlmdW5jIHw9IHN0cl9kcXVvdGU7IGdvdG8gcXVvdGVkOworICAgICAgY2FzZSAn
YCc6CisJdGVybV9sZW4rKzsKKwl0b2tlbiA9IHRYU1RSSU5HX0JFRzsKKwlmdW5jIHw9IHN0cl94
cXVvdGU7IGdvdG8gcXVvdGVkOworCisgICAgICBxdW90ZWQ6CisJdGVybV9sZW4rKzsKKwluZXd0
b2socCk7CisJdG9rYWRkKHAsIHRlcm1fbGVuKTsKKwl0b2thZGQocCwgZnVuYyk7CisJdGVybSA9
IGM7CisJd2hpbGUgKChjID0gbmV4dGMocCkpICE9IC0xICYmIGMgIT0gdGVybSkgeworCSAgICBp
ZiAodG9rYWRkX21iY2hhcihwLCBjKSA9PSAtMSkgcmV0dXJuIDA7CisJICAgIGlmICghbmV3bGlu
ZSAmJiBjID09ICdcbicpIG5ld2xpbmUgPSAxOworCSAgICBlbHNlIGlmIChuZXdsaW5lKSBuZXds
aW5lID0gMjsKKwl9CisJaWYgKGMgPT0gLTEpIHsKKwkgICAgeXllcnJvcihOVUxMLCBwLCAidW50
ZXJtaW5hdGVkIGhlcmUgZG9jdW1lbnQgaWRlbnRpZmllciIpOworCSAgICByZXR1cm4gLTE7CisJ
fQorCXN3aXRjaCAobmV3bGluZSkgeworCSAgY2FzZSAxOgorCSAgICByYl93YXJuMCgiaGVyZSBk
b2N1bWVudCBpZGVudGlmaWVyIGVuZHMgd2l0aCBhIG5ld2xpbmUiKTsKKwkgICAgaWYgKC0tcC0+
dG9raWR4ID4gMCAmJiBwLT50b2tlbmJ1ZltwLT50b2tpZHhdID09ICdccicpIC0tcC0+dG9raWR4
OworCSAgICBicmVhazsKKwkgIGNhc2UgMjoKKwkgICAgY29tcGlsZV9lcnJvcihwLCAiaGVyZSBk
b2N1bWVudCBpZGVudGlmaWVyIGFjcm9zcyBuZXdsaW5lcywgbmV2ZXIgbWF0Y2giKTsKKwkgICAg
cmV0dXJuIC0xOworCX0KKwlicmVhazsKKworICAgICAgZGVmYXVsdDoKKwlpZiAoIXBhcnNlcl9p
c19pZGVudGNoYXIocCkpIHsKKwkgICAgcHVzaGJhY2socCwgYyk7CisJICAgIGlmIChmdW5jICYg
U1RSX0ZVTkNfSU5ERU5UKSB7CisJCXB1c2hiYWNrKHAsIGluZGVudCA+IDAgPyAnficgOiAnLScp
OworCSAgICB9CisJICAgIHJldHVybiAwOworCX0KKwluZXd0b2socCk7CisJdG9rYWRkKHAsIHRl
cm1fbGVuKTsKKwl0b2thZGQocCwgZnVuYyB8PSBzdHJfZHF1b3RlKTsKKwlkbyB7CisJICAgIGlm
ICh0b2thZGRfbWJjaGFyKHAsIGMpID09IC0xKSByZXR1cm4gMDsKKwl9IHdoaWxlICgoYyA9IG5l
eHRjKHApKSAhPSAtMSAmJiBwYXJzZXJfaXNfaWRlbnRjaGFyKHApKTsKKwlwdXNoYmFjayhwLCBj
KTsKKwlicmVhazsKKyAgICB9CisKKyAgICB0b2tmaXgocCk7CisgICAgZGlzcGF0Y2hfc2Nhbl9l
dmVudChwLCB0SEVSRURPQ19CRUcpOworICAgIGxlbiA9IHAtPmxleC5wY3VyIC0gcC0+bGV4LnBi
ZWc7CisgICAgbGV4X2dvdG9fZW9sKHApOworCisgICAgcC0+bGV4LnN0cnRlcm0gPSBuZXdfc3Ry
dGVybShTVFJfTkVXKHRvayhwKSwgdG9rbGVuKHApKSwgLyogdGVybSAqLworCQkJCSBwLT5sZXgu
bGFzdGxpbmUsIC8qIGxhc3RsaW5lICovCisJCQkJIGxlbiwgLyogbGFzdGlkeCAqLworCQkJCSBw
LT5ydWJ5X3NvdXJjZWxpbmUpOworICAgIHAtPmxleC5zdHJ0ZXJtLT5mbGFncyB8PSBTVFJURVJN
X0hFUkVET0M7CisKKyAgICB0b2tlbl9mbHVzaChwKTsKKyAgICBwLT5oZXJlZG9jX2luZGVudCA9
IGluZGVudDsKKyAgICBwLT5oZXJlZG9jX2xpbmVfaW5kZW50ID0gMDsKKyAgICByZXR1cm4gdG9r
ZW47Cit9CisKK3N0YXRpYyB2b2lkCitoZXJlZG9jX3Jlc3RvcmUoc3RydWN0IHBhcnNlcl9wYXJh
bXMgKnAsIHJiX3N0cnRlcm1faGVyZWRvY190ICpoZXJlKQoreworICAgIFZBTFVFIGxpbmU7CisK
KyAgICBwLT5sZXguc3RydGVybSA9IDA7CisgICAgbGluZSA9IGhlcmUtPmxhc3RsaW5lOworICAg
IHAtPmxleC5sYXN0bGluZSA9IGxpbmU7CisgICAgcC0+bGV4LnBiZWcgPSBSU1RSSU5HX1BUUihs
aW5lKTsKKyAgICBwLT5sZXgucGVuZCA9IHAtPmxleC5wYmVnICsgUlNUUklOR19MRU4obGluZSk7
CisgICAgcC0+bGV4LnBjdXIgPSBwLT5sZXgucGJlZyArIGhlcmUtPnUzLmxhc3RpZHg7CisgICAg
cC0+aGVyZWRvY19lbmQgPSBwLT5ydWJ5X3NvdXJjZWxpbmU7CisgICAgcC0+cnVieV9zb3VyY2Vs
aW5lID0gKGludCloZXJlLT5zb3VyY2VsaW5lOworICAgIHRva2VuX2ZsdXNoKHApOworfQorCitz
dGF0aWMgaW50CitkZWRlbnRfc3RyaW5nKFZBTFVFIHN0cmluZywgaW50IHdpZHRoKQoreworICAg
IGNoYXIgKnN0cjsKKyAgICBsb25nIGxlbjsKKyAgICBpbnQgaSwgY29sID0gMDsKKworICAgIFJT
VFJJTkdfR0VUTUVNKHN0cmluZywgc3RyLCBsZW4pOworICAgIGZvciAoaSA9IDA7IGkgPCBsZW4g
JiYgY29sIDwgd2lkdGg7IGkrKykgeworCWlmIChzdHJbaV0gPT0gJyAnKSB7CisJICAgIGNvbCsr
OworCX0KKwllbHNlIGlmIChzdHJbaV0gPT0gJ1x0JykgeworCSAgICBpbnQgbiA9IFRBQl9XSURU
SCAqIChjb2wgLyBUQUJfV0lEVEggKyAxKTsKKwkgICAgaWYgKG4gPiB3aWR0aCkgYnJlYWs7CisJ
ICAgIGNvbCA9IG47CisJfQorCWVsc2UgeworCSAgICBicmVhazsKKwl9CisgICAgfQorICAgIGlm
ICghaSkgcmV0dXJuIDA7CisgICAgcmJfc3RyX21vZGlmeShzdHJpbmcpOworICAgIHN0ciA9IFJT
VFJJTkdfUFRSKHN0cmluZyk7CisgICAgaWYgKFJTVFJJTkdfTEVOKHN0cmluZykgIT0gbGVuKQor
CXJiX2ZhdGFsKCJsaXRlcmFsIHN0cmluZyBjaGFuZ2VkOiAlKyJQUklzVkFMVUUsIHN0cmluZyk7
CisgICAgTUVNTU9WRShzdHIsIHN0ciArIGksIGNoYXIsIGxlbiAtIGkpOworICAgIHJiX3N0cl9z
ZXRfbGVuKHN0cmluZywgbGVuIC0gaSk7CisgICAgcmV0dXJuIGk7Cit9CisKKyNpZm5kZWYgUklQ
UEVSCitzdGF0aWMgTk9ERSAqCitoZXJlZG9jX2RlZGVudChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAq
cCwgTk9ERSAqcm9vdCkKK3sKKyAgICBOT0RFICpub2RlLCAqc3RyX25vZGUsICpwcmV2X25vZGU7
CisgICAgaW50IGluZGVudCA9IHAtPmhlcmVkb2NfaW5kZW50OworICAgIFZBTFVFIHByZXZfbGl0
ID0gMDsKKworICAgIGlmIChpbmRlbnQgPD0gMCkgcmV0dXJuIHJvb3Q7CisgICAgcC0+aGVyZWRv
Y19pbmRlbnQgPSAwOworICAgIGlmICghcm9vdCkgcmV0dXJuIHJvb3Q7CisKKyAgICBwcmV2X25v
ZGUgPSBub2RlID0gc3RyX25vZGUgPSByb290OworICAgIGlmIChuZF90eXBlKHJvb3QpID09IE5P
REVfQVJSQVkpIHN0cl9ub2RlID0gcm9vdC0+bmRfaGVhZDsKKworICAgIHdoaWxlIChzdHJfbm9k
ZSkgeworCVZBTFVFIGxpdCA9IHN0cl9ub2RlLT5uZF9saXQ7CisJaWYgKHN0cl9ub2RlLT5mbGFn
cyAmIE5PREVfRkxfTkVXTElORSkgeworCSAgICBkZWRlbnRfc3RyaW5nKGxpdCwgaW5kZW50KTsK
Kwl9CisJaWYgKCFwcmV2X2xpdCkgeworCSAgICBwcmV2X2xpdCA9IGxpdDsKKwl9CisJZWxzZSBp
ZiAoIWxpdGVyYWxfY29uY2F0MChwLCBwcmV2X2xpdCwgbGl0KSkgeworCSAgICByZXR1cm4gMDsK
Kwl9CisJZWxzZSB7CisJICAgIE5PREUgKmVuZCA9IG5vZGUtPm5kX2VuZDsKKwkgICAgbm9kZSA9
IHByZXZfbm9kZS0+bmRfbmV4dCA9IG5vZGUtPm5kX25leHQ7CisJICAgIGlmICghbm9kZSkgewor
CQlpZiAobmRfdHlwZShwcmV2X25vZGUpID09IE5PREVfRFNUUikKKwkJICAgIG5kX3NldF90eXBl
KHByZXZfbm9kZSwgTk9ERV9TVFIpOworCQlicmVhazsKKwkgICAgfQorCSAgICBub2RlLT5uZF9l
bmQgPSBlbmQ7CisJICAgIGdvdG8gbmV4dF9zdHI7CisJfQorCisJc3RyX25vZGUgPSAwOworCXdo
aWxlICgobm9kZSA9IChwcmV2X25vZGUgPSBub2RlKS0+bmRfbmV4dCkgIT0gMCkgeworCSAgbmV4
dF9zdHI6CisJICAgIGlmIChuZF90eXBlKG5vZGUpICE9IE5PREVfQVJSQVkpIGJyZWFrOworCSAg
ICBpZiAoKHN0cl9ub2RlID0gbm9kZS0+bmRfaGVhZCkgIT0gMCkgeworCQllbnVtIG5vZGVfdHlw
ZSB0eXBlID0gbmRfdHlwZShzdHJfbm9kZSk7CisJCWlmICh0eXBlID09IE5PREVfU1RSIHx8IHR5
cGUgPT0gTk9ERV9EU1RSKSBicmVhazsKKwkJcHJldl9saXQgPSAwOworCQlzdHJfbm9kZSA9IDA7
CisJICAgIH0KKwl9CisgICAgfQorICAgIHJldHVybiByb290OworfQorI2Vsc2UgLyogUklQUEVS
ICovCitzdGF0aWMgVkFMVUUKK2hlcmVkb2NfZGVkZW50KHN0cnVjdCBwYXJzZXJfcGFyYW1zICpw
LCBWQUxVRSBhcnJheSkKK3sKKyAgICBpbnQgaW5kZW50ID0gcC0+aGVyZWRvY19pbmRlbnQ7CisK
KyAgICBpZiAoaW5kZW50IDw9IDApIHJldHVybiBhcnJheTsKKyAgICBwLT5oZXJlZG9jX2luZGVu
dCA9IDA7CisgICAgZGlzcGF0Y2gyKGhlcmVkb2NfZGVkZW50LCBhcnJheSwgSU5UMk5VTShpbmRl
bnQpKTsKKyAgICByZXR1cm4gYXJyYXk7Cit9CisKKy8qCisgKiAgY2FsbC1zZXE6CisgKiAgICBS
aXBwZXIuZGVkZW50X3N0cmluZyhpbnB1dCwgd2lkdGgpICAgLT4gSW50ZWdlcgorICoKKyAqICBV
U0UgT0YgUklQUEVSIExJQlJBUlkgT05MWS4KKyAqCisgKiAgU3RyaXBzIHVwIHRvICt3aWR0aCsg
bGVhZGluZyB3aGl0ZXNwYWNlcyBmcm9tICtpbnB1dCssCisgKiAgYW5kIHJldHVybnMgdGhlIHN0
cmlwcGVkIGNvbHVtbiB3aWR0aC4KKyAqLworc3RhdGljIFZBTFVFCitwYXJzZXJfZGVkZW50X3N0
cmluZyhWQUxVRSBzZWxmLCBWQUxVRSBpbnB1dCwgVkFMVUUgd2lkdGgpCit7CisgICAgaW50IHdp
ZCwgY29sOworCisgICAgU3RyaW5nVmFsdWUoaW5wdXQpOworICAgIHdpZCA9IE5VTTJVSU5UKHdp
ZHRoKTsKKyAgICBjb2wgPSBkZWRlbnRfc3RyaW5nKGlucHV0LCB3aWQpOworICAgIHJldHVybiBJ
TlQyTlVNKGNvbCk7Cit9CisjZW5kaWYKKworc3RhdGljIGludAord2hvbGVfbWF0Y2hfcChzdHJ1
Y3QgcGFyc2VyX3BhcmFtcyAqcCwgY29uc3QgY2hhciAqZW9zLCBsb25nIGxlbiwgaW50IGluZGVu
dCkKK3sKKyAgICBjb25zdCBjaGFyICpwdHIgPSBwLT5sZXgucGJlZzsKKyAgICBsb25nIG47CisK
KyAgICBpZiAoaW5kZW50KSB7CisJd2hpbGUgKCpwdHIgJiYgSVNTUEFDRSgqcHRyKSkgcHRyKys7
CisgICAgfQorICAgIG4gPSBwLT5sZXgucGVuZCAtIChwdHIgKyBsZW4pOworICAgIGlmIChuIDwg
MCkgcmV0dXJuIEZBTFNFOworICAgIGlmIChuID4gMCAmJiBwdHJbbGVuXSAhPSAnXG4nKSB7CisJ
aWYgKHB0cltsZW5dICE9ICdccicpIHJldHVybiBGQUxTRTsKKwlpZiAobiA8PSAxIHx8IHB0clts
ZW4rMV0gIT0gJ1xuJykgcmV0dXJuIEZBTFNFOworICAgIH0KKyAgICByZXR1cm4gc3RybmNtcChl
b3MsIHB0ciwgbGVuKSA9PSAwOworfQorCisjZGVmaW5lIE5VTV9TVUZGSVhfUiAgICgxPDwwKQor
I2RlZmluZSBOVU1fU1VGRklYX0kgICAoMTw8MSkKKyNkZWZpbmUgTlVNX1NVRkZJWF9BTEwgMwor
CitzdGF0aWMgaW50CitudW1iZXJfbGl0ZXJhbF9zdWZmaXgoc3RydWN0IHBhcnNlcl9wYXJhbXMg
KnAsIGludCBtYXNrKQoreworICAgIGludCBjLCByZXN1bHQgPSAwOworICAgIGNvbnN0IGNoYXIg
Kmxhc3RwID0gcC0+bGV4LnBjdXI7CisKKyAgICB3aGlsZSAoKGMgPSBuZXh0YyhwKSkgIT0gLTEp
IHsKKwlpZiAoKG1hc2sgJiBOVU1fU1VGRklYX0kpICYmIGMgPT0gJ2knKSB7CisJICAgIHJlc3Vs
dCB8PSAobWFzayAmIE5VTV9TVUZGSVhfSSk7CisJICAgIG1hc2sgJj0gfk5VTV9TVUZGSVhfSTsK
KwkgICAgLyogciBhZnRlciBpLCByYXRpb25hbCBvZiBjb21wbGV4IGlzIGRpc2FsbG93ZWQgKi8K
KwkgICAgbWFzayAmPSB+TlVNX1NVRkZJWF9SOworCSAgICBjb250aW51ZTsKKwl9CisJaWYgKCht
YXNrICYgTlVNX1NVRkZJWF9SKSAmJiBjID09ICdyJykgeworCSAgICByZXN1bHQgfD0gKG1hc2sg
JiBOVU1fU1VGRklYX1IpOworCSAgICBtYXNrICY9IH5OVU1fU1VGRklYX1I7CisJICAgIGNvbnRp
bnVlOworCX0KKwlpZiAoIUlTQVNDSUkoYykgfHwgSVNBTFBIQShjKSB8fCBjID09ICdfJykgewor
CSAgICBwLT5sZXgucGN1ciA9IGxhc3RwOworCSAgICBsaXRlcmFsX2ZsdXNoKHAsIHAtPmxleC5w
Y3VyKTsKKwkgICAgcmV0dXJuIDA7CisJfQorCXB1c2hiYWNrKHAsIGMpOworCWlmIChjID09ICcu
JykgeworCSAgICBjID0gcGVla2NfbihwLCAxKTsKKwkgICAgaWYgKElTRElHSVQoYykpIHsKKwkJ
eXllcnJvcjAoInVuZXhwZWN0ZWQgZnJhY3Rpb24gcGFydCBhZnRlciBudW1lcmljIGxpdGVyYWwi
KTsKKwkJcC0+bGV4LnBjdXIgKz0gMjsKKwkJd2hpbGUgKHBhcnNlcl9pc19pZGVudGNoYXIocCkp
IG5leHRjKHApOworCSAgICB9CisJfQorCWJyZWFrOworICAgIH0KKyAgICByZXR1cm4gcmVzdWx0
OworfQorCitzdGF0aWMgZW51bSB5eXRva2VudHlwZQorc2V0X251bWJlcl9saXRlcmFsKHN0cnVj
dCBwYXJzZXJfcGFyYW1zICpwLCBWQUxVRSB2LAorCQkgICBlbnVtIHl5dG9rZW50eXBlIHR5cGUs
IGludCBzdWZmaXgpCit7CisgICAgaWYgKHN1ZmZpeCAmIE5VTV9TVUZGSVhfSSkgeworCXYgPSBy
Yl9jb21wbGV4X3JhdyhJTlQyRklYKDApLCB2KTsKKwl0eXBlID0gdElNQUdJTkFSWTsKKyAgICB9
CisgICAgc2V0X3l5bHZhbF9saXRlcmFsKHYpOworICAgIGFkZF9tYXJrX29iamVjdChwLCB2KTsK
KyAgICBTRVRfTEVYX1NUQVRFKEVYUFJfRU5EKTsKKyAgICByZXR1cm4gdHlwZTsKK30KKworc3Rh
dGljIGVudW0geXl0b2tlbnR5cGUKK3NldF9pbnRlZ2VyX2xpdGVyYWwoc3RydWN0IHBhcnNlcl9w
YXJhbXMgKnAsIFZBTFVFIHYsIGludCBzdWZmaXgpCit7CisgICAgZW51bSB5eXRva2VudHlwZSB0
eXBlID0gdElOVEVHRVI7CisgICAgaWYgKHN1ZmZpeCAmIE5VTV9TVUZGSVhfUikgeworCXYgPSBy
Yl9yYXRpb25hbF9yYXcxKHYpOworCXR5cGUgPSB0UkFUSU9OQUw7CisgICAgfQorICAgIHJldHVy
biBzZXRfbnVtYmVyX2xpdGVyYWwocCwgdiwgdHlwZSwgc3VmZml4KTsKK30KKworI2lmZGVmIFJJ
UFBFUgorc3RhdGljIHZvaWQKK2Rpc3BhdGNoX2hlcmVkb2NfZW5kKHN0cnVjdCBwYXJzZXJfcGFy
YW1zICpwKQoreworICAgIFZBTFVFIHN0cjsKKyAgICBpZiAoaGFzX2RlbGF5ZWRfdG9rZW4ocCkp
CisJZGlzcGF0Y2hfZGVsYXllZF90b2tlbihwLCB0U1RSSU5HX0NPTlRFTlQpOworICAgIHN0ciA9
IFNUUl9ORVcocC0+bGV4LnB0b2ssIHAtPmxleC5wZW5kIC0gcC0+bGV4LnB0b2spOworICAgIHJp
cHBlcl9kaXNwYXRjaDEocCwgcmlwcGVyX3Rva2VuMmV2ZW50aWQodEhFUkVET0NfRU5EKSwgc3Ry
KTsKKyAgICBsZXhfZ290b19lb2wocCk7CisgICAgdG9rZW5fZmx1c2gocCk7Cit9CisKKyNlbHNl
CisjZGVmaW5lIGRpc3BhdGNoX2hlcmVkb2NfZW5kKHApICgodm9pZCkwKQorI2VuZGlmCisKK3N0
YXRpYyBlbnVtIHl5dG9rZW50eXBlCitoZXJlX2RvY3VtZW50KHN0cnVjdCBwYXJzZXJfcGFyYW1z
ICpwLCByYl9zdHJ0ZXJtX2hlcmVkb2NfdCAqaGVyZSkKK3sKKyAgICBpbnQgYywgZnVuYywgaW5k
ZW50ID0gMDsKKyAgICBjb25zdCBjaGFyICplb3MsICpwdHIsICpwdHJfZW5kOworICAgIGxvbmcg
bGVuOworICAgIFZBTFVFIHN0ciA9IDA7CisgICAgcmJfZW5jb2RpbmcgKmVuYyA9IHAtPmVuYzsK
KyAgICByYl9lbmNvZGluZyAqYmFzZV9lbmMgPSAwOworICAgIGludCBib2w7CisKKyAgICBlb3Mg
PSBSU1RSSU5HX1BUUihoZXJlLT50ZXJtKTsKKyAgICBsZW4gPSBSU1RSSU5HX0xFTihoZXJlLT50
ZXJtKSAtIDI7IC8qIGhlcmUtPnRlcm0gaW5jbHVkZXMgdGVybV9sZW4gYW5kIGZ1bmMgKi8KKyAg
ICBlb3MrKzsgLyogc2tpcCB0ZXJtX2xlbiAqLworICAgIGluZGVudCA9IChmdW5jID0gKmVvcysr
KSAmIFNUUl9GVU5DX0lOREVOVDsKKworICAgIGlmICgoYyA9IG5leHRjKHApKSA9PSAtMSkgewor
ICAgICAgZXJyb3I6CisJY29tcGlsZV9lcnJvcihwLCAiY2FuJ3QgZmluZCBzdHJpbmcgXCIlc1wi
IGFueXdoZXJlIGJlZm9yZSBFT0YiLCBlb3MpOworI2lmZGVmIFJJUFBFUgorCWlmICghaGFzX2Rl
bGF5ZWRfdG9rZW4ocCkpIHsKKwkgICAgZGlzcGF0Y2hfc2Nhbl9ldmVudChwLCB0U1RSSU5HX0NP
TlRFTlQpOworCX0KKwllbHNlIHsKKwkgICAgaWYgKHN0cikgeworCQlyYl9zdHJfYXBwZW5kKHAt
PmRlbGF5ZWQsIHN0cik7CisJICAgIH0KKwkgICAgZWxzZSBpZiAoKGxlbiA9IHAtPmxleC5wY3Vy
IC0gcC0+bGV4LnB0b2spID4gMCkgeworCQlpZiAoIShmdW5jICYgU1RSX0ZVTkNfUkVHRVhQKSAm
JiByYl9lbmNfYXNjaWljb21wYXQoZW5jKSkgeworCQkgICAgaW50IGNyID0gRU5DX0NPREVSQU5H
RV9VTktOT1dOOworCQkgICAgcmJfc3RyX2NvZGVyYW5nZV9zY2FuX3Jlc3RhcnRhYmxlKHAtPmxl
eC5wdG9rLCBwLT5sZXgucGN1ciwgZW5jLCAmY3IpOworCQkgICAgaWYgKGNyICE9IEVOQ19DT0RF
UkFOR0VfN0JJVCAmJgorCQkJcC0+ZW5jID09IHJiX3VzYXNjaWlfZW5jb2RpbmcoKSAmJgorCQkJ
ZW5jICE9IHJiX3V0ZjhfZW5jb2RpbmcoKSkgeworCQkJZW5jID0gcmJfYXNjaWk4Yml0X2VuY29k
aW5nKCk7CisJCSAgICB9CisJCX0KKwkJcmJfZW5jX3N0cl9idWZfY2F0KHAtPmRlbGF5ZWQsIHAt
PmxleC5wdG9rLCBsZW4sIGVuYyk7CisJICAgIH0KKwkgICAgZGlzcGF0Y2hfZGVsYXllZF90b2tl
bihwLCB0U1RSSU5HX0NPTlRFTlQpOworCX0KKwlsZXhfZ290b19lb2wocCk7CisjZW5kaWYKKyAg
ICAgIHJlc3RvcmU6CisJaGVyZWRvY19yZXN0b3JlKHAsICZwLT5sZXguc3RydGVybS0+dS5oZXJl
ZG9jKTsKKwlwLT5sZXguc3RydGVybSA9IDA7CisJcmV0dXJuIDA7CisgICAgfQorICAgIGJvbCA9
IHdhc19ib2wocCk7CisgICAgLyogYGhlcmVkb2NfbGluZV9pbmRlbnQgPT0gLTFgIG1lYW5zCisg
ICAgICogLSAiYWZ0ZXIgYW4gaW50ZXJwb2xhdGlvbiBpbiB0aGUgc2FtZSBsaW5lIiwgb3IKKyAg
ICAgKiAtICJpbiBhIGNvbnRpbnVpbmcgbGluZSIKKyAgICAgKi8KKyAgICBpZiAoYm9sICYmCisJ
KHAtPmhlcmVkb2NfbGluZV9pbmRlbnQgIT0gLTEgfHwgKHAtPmhlcmVkb2NfbGluZV9pbmRlbnQg
PSAwKSkgJiYKKwl3aG9sZV9tYXRjaF9wKHAsIGVvcywgbGVuLCBpbmRlbnQpKSB7CisJZGlzcGF0
Y2hfaGVyZWRvY19lbmQocCk7CisJaGVyZWRvY19yZXN0b3JlKHAsICZwLT5sZXguc3RydGVybS0+
dS5oZXJlZG9jKTsKKwlwLT5sZXguc3RydGVybSA9IDA7CisJU0VUX0xFWF9TVEFURShFWFBSX0VO
RCk7CisJcmV0dXJuIHRTVFJJTkdfRU5EOworICAgIH0KKworICAgIGlmICghKGZ1bmMgJiBTVFJf
RlVOQ19FWFBBTkQpKSB7CisJZG8geworCSAgICBwdHIgPSBSU1RSSU5HX1BUUihwLT5sZXgubGFz
dGxpbmUpOworCSAgICBwdHJfZW5kID0gcC0+bGV4LnBlbmQ7CisJICAgIGlmIChwdHJfZW5kID4g
cHRyKSB7CisJCXN3aXRjaCAocHRyX2VuZFstMV0pIHsKKwkJICBjYXNlICdcbic6CisJCSAgICBp
ZiAoLS1wdHJfZW5kID09IHB0ciB8fCBwdHJfZW5kWy0xXSAhPSAnXHInKSB7CisJCQlwdHJfZW5k
Kys7CisJCQlicmVhazsKKwkJICAgIH0KKwkJICBjYXNlICdccic6CisJCSAgICAtLXB0cl9lbmQ7
CisJCX0KKwkgICAgfQorCisJICAgIGlmIChwLT5oZXJlZG9jX2luZGVudCA+IDApIHsKKwkJbG9u
ZyBpID0gMDsKKwkJd2hpbGUgKHB0ciArIGkgPCBwdHJfZW5kICYmIHBhcnNlcl91cGRhdGVfaGVy
ZWRvY19pbmRlbnQocCwgcHRyW2ldKSkKKwkJICAgIGkrKzsKKwkJcC0+aGVyZWRvY19saW5lX2lu
ZGVudCA9IDA7CisJICAgIH0KKworCSAgICBpZiAoc3RyKQorCQlyYl9zdHJfY2F0KHN0ciwgcHRy
LCBwdHJfZW5kIC0gcHRyKTsKKwkgICAgZWxzZQorCQlzdHIgPSBTVFJfTkVXKHB0ciwgcHRyX2Vu
ZCAtIHB0cik7CisJICAgIGlmIChwdHJfZW5kIDwgcC0+bGV4LnBlbmQpIHJiX3N0cl9jYXQoc3Ry
LCAiXG4iLCAxKTsKKwkgICAgbGV4X2dvdG9fZW9sKHApOworCSAgICBpZiAocC0+aGVyZWRvY19p
bmRlbnQgPiAwKSB7CisJCWdvdG8gZmx1c2hfc3RyOworCSAgICB9CisJICAgIGlmIChuZXh0Yyhw
KSA9PSAtMSkgeworCQlpZiAoc3RyKSB7CisJCSAgICBzdHIgPSAwOworCQl9CisJCWdvdG8gZXJy
b3I7CisJICAgIH0KKwl9IHdoaWxlICghd2hvbGVfbWF0Y2hfcChwLCBlb3MsIGxlbiwgaW5kZW50
KSk7CisgICAgfQorICAgIGVsc2UgeworCS8qCWludCBtYiA9IEVOQ19DT0RFUkFOR0VfN0JJVCwg
Km1icCA9ICZtYjsqLworCW5ld3RvayhwKTsKKwlpZiAoYyA9PSAnIycpIHsKKwkgICAgaW50IHQg
PSBwYXJzZXJfcGVla192YXJpYWJsZV9uYW1lKHApOworCSAgICBpZiAocC0+aGVyZWRvY19saW5l
X2luZGVudCAhPSAtMSkgeworCQlpZiAocC0+aGVyZWRvY19pbmRlbnQgPiBwLT5oZXJlZG9jX2xp
bmVfaW5kZW50KSB7CisJCSAgICBwLT5oZXJlZG9jX2luZGVudCA9IHAtPmhlcmVkb2NfbGluZV9p
bmRlbnQ7CisJCX0KKwkJcC0+aGVyZWRvY19saW5lX2luZGVudCA9IC0xOworCSAgICB9CisJICAg
IGlmICh0KSByZXR1cm4gdDsKKwkgICAgdG9rYWRkKHAsICcjJyk7CisJICAgIGMgPSBuZXh0Yyhw
KTsKKwl9CisJZG8geworCSAgICBwdXNoYmFjayhwLCBjKTsKKwkgICAgZW5jID0gcC0+ZW5jOwor
CSAgICBpZiAoKGMgPSB0b2thZGRfc3RyaW5nKHAsIGZ1bmMsICdcbicsIDAsIE5VTEwsICZlbmMs
ICZiYXNlX2VuYykpID09IC0xKSB7CisJCWlmIChwLT5lb2ZwKSBnb3RvIGVycm9yOworCQlnb3Rv
IHJlc3RvcmU7CisJICAgIH0KKwkgICAgaWYgKGMgIT0gJ1xuJykgeworCQlpZiAoYyA9PSAnXFwn
KSBwLT5oZXJlZG9jX2xpbmVfaW5kZW50ID0gLTE7CisJICAgICAgZmx1c2g6CisJCXN0ciA9IFNU
Ul9ORVczKHRvayhwKSwgdG9rbGVuKHApLCBlbmMsIGZ1bmMpOworCSAgICAgIGZsdXNoX3N0cjoK
KwkJc2V0X3l5bHZhbF9zdHIoc3RyKTsKKwkJYWRkX21hcmtfb2JqZWN0KHAsIHN0cik7CisjaWZu
ZGVmIFJJUFBFUgorCQlpZiAoYm9sKSB5eWx2YWwubm9kZS0+ZmxhZ3MgfD0gTk9ERV9GTF9ORVdM
SU5FOworI2VuZGlmCisJCWZsdXNoX3N0cmluZ19jb250ZW50KHAsIGVuYyk7CisJCXJldHVybiB0
U1RSSU5HX0NPTlRFTlQ7CisJICAgIH0KKwkgICAgdG9rYWRkKHAsIG5leHRjKHApKTsKKwkgICAg
aWYgKHAtPmhlcmVkb2NfaW5kZW50ID4gMCkgeworCQlsZXhfZ290b19lb2wocCk7CisJCWdvdG8g
Zmx1c2g7CisJICAgIH0KKwkgICAgLyoJICAgIGlmIChtYnAgJiYgbWIgPT0gRU5DX0NPREVSQU5H
RV9VTktOT1dOKSBtYnAgPSAwOyovCisJICAgIGlmICgoYyA9IG5leHRjKHApKSA9PSAtMSkgZ290
byBlcnJvcjsKKwl9IHdoaWxlICghd2hvbGVfbWF0Y2hfcChwLCBlb3MsIGxlbiwgaW5kZW50KSk7
CisJc3RyID0gU1RSX05FVzModG9rKHApLCB0b2tsZW4ocCksIGVuYywgZnVuYyk7CisgICAgfQor
ICAgIGRpc3BhdGNoX2hlcmVkb2NfZW5kKHApOworI2lmZGVmIFJJUFBFUgorICAgIHN0ciA9IHJp
cHBlcl9uZXdfeXlsdmFsKHAsIHJpcHBlcl90b2tlbjJldmVudGlkKHRTVFJJTkdfQ09OVEVOVCks
CisJCQkgICAgeXlsdmFsLnZhbCwgc3RyKTsKKyNlbmRpZgorICAgIGhlcmVkb2NfcmVzdG9yZShw
LCAmcC0+bGV4LnN0cnRlcm0tPnUuaGVyZWRvYyk7CisgICAgcC0+bGV4LnN0cnRlcm0gPSBORVdf
U1RSVEVSTShmdW5jIHwgU1RSX0ZVTkNfVEVSTSwgMCwgMCk7CisgICAgc2V0X3l5bHZhbF9zdHIo
c3RyKTsKKyAgICBhZGRfbWFya19vYmplY3QocCwgc3RyKTsKKyNpZm5kZWYgUklQUEVSCisgICAg
aWYgKGJvbCkgeXlsdmFsLm5vZGUtPmZsYWdzIHw9IE5PREVfRkxfTkVXTElORTsKKyNlbmRpZgor
ICAgIHJldHVybiB0U1RSSU5HX0NPTlRFTlQ7Cit9CisKKyNpbmNsdWRlICJsZXguYyIKKworc3Rh
dGljIGludAorYXJnX2FtYmlndW91cyhzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgY2hhciBjKQor
eworI2lmbmRlZiBSSVBQRVIKKyAgICByYl93YXJuaW5nMSgiYW1iaWd1b3VzIGZpcnN0IGFyZ3Vt
ZW50OyBwdXQgcGFyZW50aGVzZXMgb3IgYSBzcGFjZSBldmVuIGFmdGVyIGAlYycgb3BlcmF0b3Ii
LCBXQVJOX0koYykpOworI2Vsc2UKKyAgICBkaXNwYXRjaDEoYXJnX2FtYmlndW91cywgcmJfdXNh
c2NpaV9zdHJfbmV3KCZjLCAxKSk7CisjZW5kaWYKKyAgICByZXR1cm4gVFJVRTsKK30KKworc3Rh
dGljIElECitmb3JtYWxfYXJndW1lbnQoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIElEIGxocykK
K3sKKyAgICBzd2l0Y2ggKGlkX3R5cGUobGhzKSkgeworICAgICAgY2FzZSBJRF9MT0NBTDoKKwli
cmVhazsKKyNpZm5kZWYgUklQUEVSCisgICAgICBjYXNlIElEX0NPTlNUOgorCXl5ZXJyb3IwKCJm
b3JtYWwgYXJndW1lbnQgY2Fubm90IGJlIGEgY29uc3RhbnQiKTsKKwlyZXR1cm4gMDsKKyAgICAg
IGNhc2UgSURfSU5TVEFOQ0U6CisJeXllcnJvcjAoImZvcm1hbCBhcmd1bWVudCBjYW5ub3QgYmUg
YW4gaW5zdGFuY2UgdmFyaWFibGUiKTsKKwlyZXR1cm4gMDsKKyAgICAgIGNhc2UgSURfR0xPQkFM
OgorCXl5ZXJyb3IwKCJmb3JtYWwgYXJndW1lbnQgY2Fubm90IGJlIGEgZ2xvYmFsIHZhcmlhYmxl
Iik7CisJcmV0dXJuIDA7CisgICAgICBjYXNlIElEX0NMQVNTOgorCXl5ZXJyb3IwKCJmb3JtYWwg
YXJndW1lbnQgY2Fubm90IGJlIGEgY2xhc3MgdmFyaWFibGUiKTsKKwlyZXR1cm4gMDsKKyAgICAg
IGRlZmF1bHQ6CisJeXllcnJvcjAoImZvcm1hbCBhcmd1bWVudCBtdXN0IGJlIGxvY2FsIHZhcmlh
YmxlIik7CisJcmV0dXJuIDA7CisjZWxzZQorICAgICAgZGVmYXVsdDoKKwlsaHMgPSBkaXNwYXRj
aDEocGFyYW1fZXJyb3IsIGxocyk7CisJcmlwcGVyX2Vycm9yKHApOworCXJldHVybiAwOworI2Vu
ZGlmCisgICAgfQorICAgIHNoYWRvd2luZ19sdmFyKHAsIGxocyk7CisgICAgcmV0dXJuIGxoczsK
K30KKworc3RhdGljIGludAorbHZhcl9kZWZpbmVkKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBJ
RCBpZCkKK3sKKyAgICByZXR1cm4gKGR5bmFfaW5fYmxvY2socCkgJiYgZHZhcl9kZWZpbmVkKHAs
IGlkKSkgfHwgbG9jYWxfaWQocCwgaWQpOworfQorCisvKiBlbWFjc2VuIC0qLSBoYWNrICovCitz
dGF0aWMgbG9uZworcGFyc2VyX2VuY29kZV9sZW5ndGgoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAs
IGNvbnN0IGNoYXIgKm5hbWUsIGxvbmcgbGVuKQoreworICAgIGxvbmcgbmxlbjsKKworICAgIGlm
IChsZW4gPiA1ICYmIG5hbWVbbmxlbiA9IGxlbiAtIDVdID09ICctJykgeworCWlmIChyYl9tZW1j
aWNtcChuYW1lICsgbmxlbiArIDEsICJ1bml4IiwgNCkgPT0gMCkKKwkgICAgcmV0dXJuIG5sZW47
CisgICAgfQorICAgIGlmIChsZW4gPiA0ICYmIG5hbWVbbmxlbiA9IGxlbiAtIDRdID09ICctJykg
eworCWlmIChyYl9tZW1jaWNtcChuYW1lICsgbmxlbiArIDEsICJkb3MiLCAzKSA9PSAwKQorCSAg
ICByZXR1cm4gbmxlbjsKKwlpZiAocmJfbWVtY2ljbXAobmFtZSArIG5sZW4gKyAxLCAibWFjIiwg
MykgPT0gMCAmJgorCSAgICAhKGxlbiA9PSA4ICYmIHJiX21lbWNpY21wKG5hbWUsICJ1dGY4LW1h
YyIsIGxlbikgPT0gMCkpCisJICAgIC8qIGV4Y2x1ZGUgVVRGOC1NQUMgYmVjYXVzZSB0aGUgZW5j
b2RpbmcgbmFtZWQgIlVURjgiIGRvZXNuJ3QgZXhpc3QgaW4gUnVieSAqLworCSAgICByZXR1cm4g
bmxlbjsKKyAgICB9CisgICAgcmV0dXJuIGxlbjsKK30KKworc3RhdGljIHZvaWQKK3BhcnNlcl9z
ZXRfZW5jb2RlKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBjb25zdCBjaGFyICpuYW1lKQorewor
ICAgIGludCBpZHggPSByYl9lbmNfZmluZF9pbmRleChuYW1lKTsKKyAgICByYl9lbmNvZGluZyAq
ZW5jOworICAgIFZBTFVFIGV4Y2FyZ3NbM107CisKKyAgICBpZiAoaWR4IDwgMCkgeworCWV4Y2Fy
Z3NbMV0gPSByYl9zcHJpbnRmKCJ1bmtub3duIGVuY29kaW5nIG5hbWU6ICVzIiwgbmFtZSk7Cisg
ICAgICBlcnJvcjoKKwlleGNhcmdzWzBdID0gcmJfZUFyZ0Vycm9yOworCWV4Y2FyZ3NbMl0gPSBy
Yl9tYWtlX2JhY2t0cmFjZSgpOworCXJiX2FyeV91bnNoaWZ0KGV4Y2FyZ3NbMl0sIHJiX3Nwcmlu
dGYoIiUiUFJJc1ZBTFVFIjolZCIsIHAtPnJ1Ynlfc291cmNlZmlsZV9zdHJpbmcsIHAtPnJ1Ynlf
c291cmNlbGluZSkpOworCXJiX2V4Y19yYWlzZShyYl9tYWtlX2V4Y2VwdGlvbigzLCBleGNhcmdz
KSk7CisgICAgfQorICAgIGVuYyA9IHJiX2VuY19mcm9tX2luZGV4KGlkeCk7CisgICAgaWYgKCFy
Yl9lbmNfYXNjaWljb21wYXQoZW5jKSkgeworCWV4Y2FyZ3NbMV0gPSByYl9zcHJpbnRmKCIlcyBp
cyBub3QgQVNDSUkgY29tcGF0aWJsZSIsIHJiX2VuY19uYW1lKGVuYykpOworCWdvdG8gZXJyb3I7
CisgICAgfQorICAgIHAtPmVuYyA9IGVuYzsKKyNpZm5kZWYgUklQUEVSCisgICAgaWYgKHAtPmRl
YnVnX2xpbmVzKSB7CisJVkFMVUUgbGluZXMgPSBwLT5kZWJ1Z19saW5lczsKKwlsb25nIGksIG4g
PSBSQVJSQVlfTEVOKGxpbmVzKTsKKwlmb3IgKGkgPSAwOyBpIDwgbjsgKytpKSB7CisJICAgIHJi
X2VuY19hc3NvY2lhdGVfaW5kZXgoUkFSUkFZX0FSRUYobGluZXMsIGkpLCBpZHgpOworCX0KKyAg
ICB9CisjZW5kaWYKK30KKworc3RhdGljIGludAorY29tbWVudF9hdF90b3Aoc3RydWN0IHBhcnNl
cl9wYXJhbXMgKnApCit7CisgICAgY29uc3QgY2hhciAqcHRyID0gcC0+bGV4LnBiZWcsICpwdHJf
ZW5kID0gcC0+bGV4LnBjdXIgLSAxOworICAgIGlmIChwLT5saW5lX2NvdW50ICE9IChwLT5oYXNf
c2hlYmFuZyA/IDIgOiAxKSkgcmV0dXJuIDA7CisgICAgd2hpbGUgKHB0ciA8IHB0cl9lbmQpIHsK
KwlpZiAoIUlTU1BBQ0UoKnB0cikpIHJldHVybiAwOworCXB0cisrOworICAgIH0KKyAgICByZXR1
cm4gMTsKK30KKwordHlwZWRlZiBsb25nICgqcmJfbWFnaWNfY29tbWVudF9sZW5ndGhfdCkoc3Ry
dWN0IHBhcnNlcl9wYXJhbXMgKnAsIGNvbnN0IGNoYXIgKm5hbWUsIGxvbmcgbGVuKTsKK3R5cGVk
ZWYgdm9pZCAoKnJiX21hZ2ljX2NvbW1lbnRfc2V0dGVyX3QpKHN0cnVjdCBwYXJzZXJfcGFyYW1z
ICpwLCBjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICp2YWwpOworCitzdGF0aWMgdm9pZAor
bWFnaWNfY29tbWVudF9lbmNvZGluZyhzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgY29uc3QgY2hh
ciAqbmFtZSwgY29uc3QgY2hhciAqdmFsKQoreworICAgIGlmICghY29tbWVudF9hdF90b3AocCkp
IHsKKwlyZXR1cm47CisgICAgfQorICAgIHBhcnNlcl9zZXRfZW5jb2RlKHAsIHZhbCk7Cit9CisK
K3N0YXRpYyBpbnQKK3BhcnNlcl9nZXRfYm9vbChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgY29u
c3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqdmFsKQoreworICAgIHN3aXRjaCAoKnZhbCkgewor
ICAgICAgY2FzZSAndCc6IGNhc2UgJ1QnOgorCWlmIChzdHJjYXNlY21wKHZhbCwgInRydWUiKSA9
PSAwKSB7CisJICAgIHJldHVybiBUUlVFOworCX0KKwlicmVhazsKKyAgICAgIGNhc2UgJ2YnOiBj
YXNlICdGJzoKKwlpZiAoc3RyY2FzZWNtcCh2YWwsICJmYWxzZSIpID09IDApIHsKKwkgICAgcmV0
dXJuIEZBTFNFOworCX0KKwlicmVhazsKKyAgICB9CisgICAgcmJfY29tcGlsZV93YXJuaW5nKHAt
PnJ1Ynlfc291cmNlZmlsZSwgcC0+cnVieV9zb3VyY2VsaW5lLCAiaW52YWxpZCB2YWx1ZSBmb3Ig
JXM6ICVzIiwgbmFtZSwgdmFsKTsKKyAgICByZXR1cm4gLTE7Cit9CisKK3N0YXRpYyB2b2lkCitw
YXJzZXJfc2V0X3Rva2VuX2luZm8oc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIGNvbnN0IGNoYXIg
Km5hbWUsIGNvbnN0IGNoYXIgKnZhbCkKK3sKKyAgICBpbnQgYiA9IHBhcnNlcl9nZXRfYm9vbChw
LCBuYW1lLCB2YWwpOworICAgIGlmIChiID49IDApIHAtPnRva2VuX2luZm9fZW5hYmxlZCA9IGI7
Cit9CisKK3N0YXRpYyB2b2lkCitwYXJzZXJfc2V0X2NvbXBpbGVfb3B0aW9uX2ZsYWcoc3RydWN0
IHBhcnNlcl9wYXJhbXMgKnAsIGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKnZhbCkKK3sK
KyAgICBpbnQgYjsKKworICAgIGlmIChwLT50b2tlbl9zZWVuKSB7CisJcmJfd2FybmluZzEoImAl
cycgaXMgaWdub3JlZCBhZnRlciBhbnkgdG9rZW5zIiwgV0FSTl9TKG5hbWUpKTsKKwlyZXR1cm47
CisgICAgfQorCisgICAgYiA9IHBhcnNlcl9nZXRfYm9vbChwLCBuYW1lLCB2YWwpOworICAgIGlm
IChiIDwgMCkgcmV0dXJuOworCisgICAgaWYgKCFwLT5jb21waWxlX29wdGlvbikKKwlwLT5jb21w
aWxlX29wdGlvbiA9IHJiX29ial9oaWRlKHJiX2lkZW50X2hhc2hfbmV3KCkpOworICAgIHJiX2hh
c2hfYXNldChwLT5jb21waWxlX29wdGlvbiwgSUQyU1lNKHJiX2ludGVybihuYW1lKSksCisJCSAo
YiA/IFF0cnVlIDogUWZhbHNlKSk7Cit9CisKKyMgaWYgV0FSTl9QQVNUX1NDT1BFCitzdGF0aWMg
dm9pZAorcGFyc2VyX3NldF9wYXN0X3Njb3BlKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBjb25z
dCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICp2YWwpCit7CisgICAgaW50IGIgPSBwYXJzZXJfZ2V0
X2Jvb2wocCwgbmFtZSwgdmFsKTsKKyAgICBpZiAoYiA+PSAwKSBwLT5wYXN0X3Njb3BlX2VuYWJs
ZWQgPSBiOworfQorIyBlbmRpZgorCitzdHJ1Y3QgbWFnaWNfY29tbWVudCB7CisgICAgY29uc3Qg
Y2hhciAqbmFtZTsKKyAgICByYl9tYWdpY19jb21tZW50X3NldHRlcl90IGZ1bmM7CisgICAgcmJf
bWFnaWNfY29tbWVudF9sZW5ndGhfdCBsZW5ndGg7Cit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0
IG1hZ2ljX2NvbW1lbnQgbWFnaWNfY29tbWVudHNbXSA9IHsKKyAgICB7ImNvZGluZyIsIG1hZ2lj
X2NvbW1lbnRfZW5jb2RpbmcsIHBhcnNlcl9lbmNvZGVfbGVuZ3RofSwKKyAgICB7ImVuY29kaW5n
IiwgbWFnaWNfY29tbWVudF9lbmNvZGluZywgcGFyc2VyX2VuY29kZV9sZW5ndGh9LAorICAgIHsi
ZnJvemVuX3N0cmluZ19saXRlcmFsIiwgcGFyc2VyX3NldF9jb21waWxlX29wdGlvbl9mbGFnfSwK
KyAgICB7Indhcm5faW5kZW50IiwgcGFyc2VyX3NldF90b2tlbl9pbmZvfSwKKyMgaWYgV0FSTl9Q
QVNUX1NDT1BFCisgICAgeyJ3YXJuX3Bhc3Rfc2NvcGUiLCBwYXJzZXJfc2V0X3Bhc3Rfc2NvcGV9
LAorIyBlbmRpZgorfTsKKworc3RhdGljIGNvbnN0IGNoYXIgKgorbWFnaWNfY29tbWVudF9tYXJr
ZXIoY29uc3QgY2hhciAqc3RyLCBsb25nIGxlbikKK3sKKyAgICBsb25nIGkgPSAyOworCisgICAg
d2hpbGUgKGkgPCBsZW4pIHsKKwlzd2l0Y2ggKHN0cltpXSkgeworCSAgY2FzZSAnLSc6CisJICAg
IGlmIChzdHJbaS0xXSA9PSAnKicgJiYgc3RyW2ktMl0gPT0gJy0nKSB7CisJCXJldHVybiBzdHIg
KyBpICsgMTsKKwkgICAgfQorCSAgICBpICs9IDI7CisJICAgIGJyZWFrOworCSAgY2FzZSAnKic6
CisJICAgIGlmIChpICsgMSA+PSBsZW4pIHJldHVybiAwOworCSAgICBpZiAoc3RyW2krMV0gIT0g
Jy0nKSB7CisJCWkgKz0gNDsKKwkgICAgfQorCSAgICBlbHNlIGlmIChzdHJbaS0xXSAhPSAnLScp
IHsKKwkJaSArPSAyOworCSAgICB9CisJICAgIGVsc2UgeworCQlyZXR1cm4gc3RyICsgaSArIDI7
CisJICAgIH0KKwkgICAgYnJlYWs7CisJICBkZWZhdWx0OgorCSAgICBpICs9IDM7CisJICAgIGJy
ZWFrOworCX0KKyAgICB9CisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQKK3BhcnNlcl9t
YWdpY19jb21tZW50KHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBjb25zdCBjaGFyICpzdHIsIGxv
bmcgbGVuKQoreworICAgIGludCBpbmRpY2F0b3IgPSAwOworICAgIFZBTFVFIG5hbWUgPSAwLCB2
YWwgPSAwOworICAgIGNvbnN0IGNoYXIgKmJlZywgKmVuZCwgKnZiZWcsICp2ZW5kOworI2RlZmlu
ZSBzdHJfY29weShfcywgX3AsIF9uKSAoKF9zKSBcCisJPyAodm9pZCkocmJfc3RyX3Jlc2l6ZSgo
X3MpLCAoX24pKSwgXAorCSAgIE1FTUNQWShSU1RSSU5HX1BUUihfcyksIChfcCksIGNoYXIsIChf
bikpLCAoX3MpKSBcCisJOiAodm9pZCkoKF9zKSA9IFNUUl9ORVcoKF9wKSwgKF9uKSkpKQorCisg
ICAgaWYgKGxlbiA8PSA3KSByZXR1cm4gRkFMU0U7CisgICAgaWYgKCEhKGJlZyA9IG1hZ2ljX2Nv
bW1lbnRfbWFya2VyKHN0ciwgbGVuKSkpIHsKKwlpZiAoIShlbmQgPSBtYWdpY19jb21tZW50X21h
cmtlcihiZWcsIHN0ciArIGxlbiAtIGJlZykpKQorCSAgICByZXR1cm4gRkFMU0U7CisJaW5kaWNh
dG9yID0gVFJVRTsKKwlzdHIgPSBiZWc7CisJbGVuID0gZW5kIC0gYmVnIC0gMzsKKyAgICB9CisK
KyAgICAvKiAlciIoW15cXHNcJ1wiOjtdKylcXHMqOlxccyooXCIoPzpcXFxcLnxbXlwiXSkqXCJ8
W15cIlxccztdKylbXFxzO10qIiAqLworICAgIHdoaWxlIChsZW4gPiAwKSB7CisJY29uc3Qgc3Ry
dWN0IG1hZ2ljX2NvbW1lbnQgKm1jID0gbWFnaWNfY29tbWVudHM7CisJY2hhciAqczsKKwlpbnQg
aTsKKwlsb25nIG4gPSAwOworCisJZm9yICg7IGxlbiA+IDAgJiYgKnN0cjsgc3RyKyssIC0tbGVu
KSB7CisJICAgIHN3aXRjaCAoKnN0cikgeworCSAgICAgIGNhc2UgJ1wnJzogY2FzZSAnIic6IGNh
c2UgJzonOiBjYXNlICc7JzoKKwkJY29udGludWU7CisJICAgIH0KKwkgICAgaWYgKCFJU1NQQUNF
KCpzdHIpKSBicmVhazsKKwl9CisJZm9yIChiZWcgPSBzdHI7IGxlbiA+IDA7IHN0cisrLCAtLWxl
bikgeworCSAgICBzd2l0Y2ggKCpzdHIpIHsKKwkgICAgICBjYXNlICdcJyc6IGNhc2UgJyInOiBj
YXNlICc6JzogY2FzZSAnOyc6CisJCWJyZWFrOworCSAgICAgIGRlZmF1bHQ6CisJCWlmIChJU1NQ
QUNFKCpzdHIpKSBicmVhazsKKwkJY29udGludWU7CisJICAgIH0KKwkgICAgYnJlYWs7CisJfQor
CWZvciAoZW5kID0gc3RyOyBsZW4gPiAwICYmIElTU1BBQ0UoKnN0cik7IHN0cisrLCAtLWxlbik7
CisJaWYgKCFsZW4pIGJyZWFrOworCWlmICgqc3RyICE9ICc6JykgeworCSAgICBpZiAoIWluZGlj
YXRvcikgcmV0dXJuIEZBTFNFOworCSAgICBjb250aW51ZTsKKwl9CisKKwlkbyBzdHIrKzsgd2hp
bGUgKC0tbGVuID4gMCAmJiBJU1NQQUNFKCpzdHIpKTsKKwlpZiAoIWxlbikgYnJlYWs7CisJaWYg
KCpzdHIgPT0gJyInKSB7CisJICAgIGZvciAodmJlZyA9ICsrc3RyOyAtLWxlbiA+IDAgJiYgKnN0
ciAhPSAnIic7IHN0cisrKSB7CisJCWlmICgqc3RyID09ICdcXCcpIHsKKwkJICAgIC0tbGVuOwor
CQkgICAgKytzdHI7CisJCX0KKwkgICAgfQorCSAgICB2ZW5kID0gc3RyOworCSAgICBpZiAobGVu
KSB7CisJCS0tbGVuOworCQkrK3N0cjsKKwkgICAgfQorCX0KKwllbHNlIHsKKwkgICAgZm9yICh2
YmVnID0gc3RyOyBsZW4gPiAwICYmICpzdHIgIT0gJyInICYmICpzdHIgIT0gJzsnICYmICFJU1NQ
QUNFKCpzdHIpOyAtLWxlbiwgc3RyKyspOworCSAgICB2ZW5kID0gc3RyOworCX0KKwlpZiAoaW5k
aWNhdG9yKSB7CisJICAgIHdoaWxlIChsZW4gPiAwICYmICgqc3RyID09ICc7JyB8fCBJU1NQQUNF
KCpzdHIpKSkgLS1sZW4sIHN0cisrOworCX0KKwllbHNlIHsKKwkgICAgd2hpbGUgKGxlbiA+IDAg
JiYgKElTU1BBQ0UoKnN0cikpKSAtLWxlbiwgc3RyKys7CisJICAgIGlmIChsZW4pIHJldHVybiBG
QUxTRTsKKwl9CisKKwluID0gZW5kIC0gYmVnOworCXN0cl9jb3B5KG5hbWUsIGJlZywgbik7CisJ
cyA9IFJTVFJJTkdfUFRSKG5hbWUpOworCWZvciAoaSA9IDA7IGkgPCBuOyArK2kpIHsKKwkgICAg
aWYgKHNbaV0gPT0gJy0nKSBzW2ldID0gJ18nOworCX0KKwlkbyB7CisJICAgIGlmIChTVFJOQ0FT
RUNNUChtYy0+bmFtZSwgcywgbikgPT0gMCAmJiAhbWMtPm5hbWVbbl0pIHsKKwkJbiA9IHZlbmQg
LSB2YmVnOworCQlpZiAobWMtPmxlbmd0aCkgeworCQkgICAgbiA9ICgqbWMtPmxlbmd0aCkocCwg
dmJlZywgbik7CisJCX0KKwkJc3RyX2NvcHkodmFsLCB2YmVnLCBuKTsKKwkJKCptYy0+ZnVuYyko
cCwgbWMtPm5hbWUsIFJTVFJJTkdfUFRSKHZhbCkpOworCQlicmVhazsKKwkgICAgfQorCX0gd2hp
bGUgKCsrbWMgPCBtYWdpY19jb21tZW50cyArIG51bWJlcm9mKG1hZ2ljX2NvbW1lbnRzKSk7Cisj
aWZkZWYgUklQUEVSCisJc3RyX2NvcHkodmFsLCB2YmVnLCB2ZW5kIC0gdmJlZyk7CisJZGlzcGF0
Y2gyKG1hZ2ljX2NvbW1lbnQsIG5hbWUsIHZhbCk7CisjZW5kaWYKKyAgICB9CisKKyAgICByZXR1
cm4gVFJVRTsKK30KKworc3RhdGljIHZvaWQKK3NldF9maWxlX2VuY29kaW5nKHN0cnVjdCBwYXJz
ZXJfcGFyYW1zICpwLCBjb25zdCBjaGFyICpzdHIsIGNvbnN0IGNoYXIgKnNlbmQpCit7CisgICAg
aW50IHNlcCA9IDA7CisgICAgY29uc3QgY2hhciAqYmVnID0gc3RyOworICAgIFZBTFVFIHM7CisK
KyAgICBmb3IgKDs7KSB7CisJaWYgKHNlbmQgLSBzdHIgPD0gNikgcmV0dXJuOworCXN3aXRjaCAo
c3RyWzZdKSB7CisJICBjYXNlICdDJzogY2FzZSAnYyc6IHN0ciArPSA2OyBjb250aW51ZTsKKwkg
IGNhc2UgJ08nOiBjYXNlICdvJzogc3RyICs9IDU7IGNvbnRpbnVlOworCSAgY2FzZSAnRCc6IGNh
c2UgJ2QnOiBzdHIgKz0gNDsgY29udGludWU7CisJICBjYXNlICdJJzogY2FzZSAnaSc6IHN0ciAr
PSAzOyBjb250aW51ZTsKKwkgIGNhc2UgJ04nOiBjYXNlICduJzogc3RyICs9IDI7IGNvbnRpbnVl
OworCSAgY2FzZSAnRyc6IGNhc2UgJ2cnOiBzdHIgKz0gMTsgY29udGludWU7CisJICBjYXNlICc9
JzogY2FzZSAnOic6CisJICAgIHNlcCA9IDE7CisJICAgIHN0ciArPSA2OworCSAgICBicmVhazsK
KwkgIGRlZmF1bHQ6CisJICAgIHN0ciArPSA2OworCSAgICBpZiAoSVNTUEFDRSgqc3RyKSkgYnJl
YWs7CisJICAgIGNvbnRpbnVlOworCX0KKwlpZiAoU1RSTkNBU0VDTVAoc3RyLTYsICJjb2Rpbmci
LCA2KSA9PSAwKSBicmVhazsKKyAgICB9CisgICAgZm9yICg7OykgeworCWRvIHsKKwkgICAgaWYg
KCsrc3RyID49IHNlbmQpIHJldHVybjsKKwl9IHdoaWxlIChJU1NQQUNFKCpzdHIpKTsKKwlpZiAo
c2VwKSBicmVhazsKKwlpZiAoKnN0ciAhPSAnPScgJiYgKnN0ciAhPSAnOicpIHJldHVybjsKKwlz
ZXAgPSAxOworCXN0cisrOworICAgIH0KKyAgICBiZWcgPSBzdHI7CisgICAgd2hpbGUgKCgqc3Ry
ID09ICctJyB8fCAqc3RyID09ICdfJyB8fCBJU0FMTlVNKCpzdHIpKSAmJiArK3N0ciA8IHNlbmQp
OworICAgIHMgPSByYl9zdHJfbmV3KGJlZywgcGFyc2VyX2VuY29kZV9sZW5ndGgocCwgYmVnLCBz
dHIgLSBiZWcpKTsKKyAgICBwYXJzZXJfc2V0X2VuY29kZShwLCBSU1RSSU5HX1BUUihzKSk7Cisg
ICAgcmJfc3RyX3Jlc2l6ZShzLCAwKTsKK30KKworc3RhdGljIHZvaWQKK3BhcnNlcl9wcmVwYXJl
KHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwKQoreworICAgIGludCBjID0gbmV4dGMocCk7CisgICAg
cC0+dG9rZW5faW5mb19lbmFibGVkID0gIWNvbXBpbGVfZm9yX2V2YWwgJiYgUlRFU1QocnVieV92
ZXJib3NlKTsKKyAgICBzd2l0Y2ggKGMpIHsKKyAgICAgIGNhc2UgJyMnOgorCWlmIChwZWVrKHAs
ICchJykpIHAtPmhhc19zaGViYW5nID0gMTsKKwlicmVhazsKKyAgICAgIGNhc2UgMHhlZjoJCS8q
IFVURi04IEJPTSBtYXJrZXIgKi8KKwlpZiAocC0+bGV4LnBlbmQgLSBwLT5sZXgucGN1ciA+PSAy
ICYmCisJICAgICh1bnNpZ25lZCBjaGFyKXAtPmxleC5wY3VyWzBdID09IDB4YmIgJiYKKwkgICAg
KHVuc2lnbmVkIGNoYXIpcC0+bGV4LnBjdXJbMV0gPT0gMHhiZikgeworCSAgICBwLT5lbmMgPSBy
Yl91dGY4X2VuY29kaW5nKCk7CisJICAgIHAtPmxleC5wY3VyICs9IDI7CisJICAgIHAtPmxleC5w
YmVnID0gcC0+bGV4LnBjdXI7CisJICAgIHJldHVybjsKKwl9CisJYnJlYWs7CisgICAgICBjYXNl
IEVPRjoKKwlyZXR1cm47CisgICAgfQorICAgIHB1c2hiYWNrKHAsIGMpOworICAgIHAtPmVuYyA9
IHJiX2VuY19nZXQocC0+bGV4Lmxhc3RsaW5lKTsKK30KKworI2lmbmRlZiBSSVBQRVIKKyNkZWZp
bmUgYW1iaWd1b3VzX29wZXJhdG9yKHRvaywgb3AsIHN5bikgKCBcCisgICAgcmJfd2FybmluZzAo
ImAib3AiJyBhZnRlciBsb2NhbCB2YXJpYWJsZSBvciBsaXRlcmFsIGlzIGludGVycHJldGVkIGFz
IGJpbmFyeSBvcGVyYXRvciIpLCBcCisgICAgcmJfd2FybmluZzAoImV2ZW4gdGhvdWdoIGl0IHNl
ZW1zIGxpa2UgInN5biIiKSkKKyNlbHNlCisjZGVmaW5lIGFtYmlndW91c19vcGVyYXRvcih0b2ss
IG9wLCBzeW4pIFwKKyAgICBkaXNwYXRjaDIob3BlcmF0b3JfYW1iaWd1b3VzLCBUT0tFTjJWQUwo
dG9rKSwgcmJfc3RyX25ld19jc3RyKHN5bikpCisjZW5kaWYKKyNkZWZpbmUgd2Fybl9iYWxhbmNl
ZCh0b2ssIG9wLCBzeW4pICgodm9pZCkgXAorICAgICghSVNfbGV4X3N0YXRlX2ZvcihsYXN0X3N0
YXRlLCBFWFBSX0NMQVNTfEVYUFJfRE9UfEVYUFJfRk5BTUV8RVhQUl9FTkRGTikgJiYgXAorICAg
ICBzcGFjZV9zZWVuICYmICFJU1NQQUNFKGMpICYmIFwKKyAgICAgKGFtYmlndW91c19vcGVyYXRv
cih0b2ssIG9wLCBzeW4pLCAwKSksIFwKKyAgICAgKGVudW0geXl0b2tlbnR5cGUpKHRvaykpCisK
K3N0YXRpYyBWQUxVRQorcGFyc2VfcmF0aW9uYWwoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIGNo
YXIgKnN0ciwgaW50IGxlbiwgaW50IHNlZW5fcG9pbnQpCit7CisgICAgVkFMVUUgdjsKKyAgICBj
aGFyICpwb2ludCA9ICZzdHJbc2Vlbl9wb2ludF07CisgICAgc2l6ZV90IGZyYWNsZW4gPSBsZW4t
c2Vlbl9wb2ludC0xOworICAgIG1lbW1vdmUocG9pbnQsIHBvaW50KzEsIGZyYWNsZW4rMSk7Cisg
ICAgdiA9IHJiX2NzdHJfdG9faW51bShzdHIsIDEwLCBGQUxTRSk7CisgICAgcmV0dXJuIHJiX3Jh
dGlvbmFsX25ldyh2LCByYl9pbnRfcG9zaXRpdmVfcG93KDEwLCBmcmFjbGVuKSk7Cit9CisKK3N0
YXRpYyBlbnVtIHl5dG9rZW50eXBlCitub19kaWdpdHMoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAp
Cit7CisgICAgeXllcnJvcjAoIm51bWVyaWMgbGl0ZXJhbCB3aXRob3V0IGRpZ2l0cyIpOworICAg
IGlmIChwZWVrKHAsICdfJykpIG5leHRjKHApOworICAgIC8qIGR1bW15IDAsIGZvciB0VU1JTlVT
X05VTSBhdCBudW1lcmljICovCisgICAgcmV0dXJuIHNldF9pbnRlZ2VyX2xpdGVyYWwocCwgSU5U
MkZJWCgwKSwgMCk7Cit9CisKK3N0YXRpYyBlbnVtIHl5dG9rZW50eXBlCitwYXJzZV9udW1lcmlj
KHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBpbnQgYykKK3sKKyAgICBpbnQgaXNfZmxvYXQsIHNl
ZW5fcG9pbnQsIHNlZW5fZSwgbm9uZGlnaXQ7CisgICAgaW50IHN1ZmZpeDsKKworICAgIGlzX2Zs
b2F0ID0gc2Vlbl9wb2ludCA9IHNlZW5fZSA9IG5vbmRpZ2l0ID0gMDsKKyAgICBTRVRfTEVYX1NU
QVRFKEVYUFJfRU5EKTsKKyAgICBuZXd0b2socCk7CisgICAgaWYgKGMgPT0gJy0nIHx8IGMgPT0g
JysnKSB7CisJdG9rYWRkKHAsIGMpOworCWMgPSBuZXh0YyhwKTsKKyAgICB9CisgICAgaWYgKGMg
PT0gJzAnKSB7CisJaW50IHN0YXJ0ID0gdG9rbGVuKHApOworCWMgPSBuZXh0YyhwKTsKKwlpZiAo
YyA9PSAneCcgfHwgYyA9PSAnWCcpIHsKKwkgICAgLyogaGV4YWRlY2ltYWwgKi8KKwkgICAgYyA9
IG5leHRjKHApOworCSAgICBpZiAoYyAhPSAtMSAmJiBJU1hESUdJVChjKSkgeworCQlkbyB7CisJ
CSAgICBpZiAoYyA9PSAnXycpIHsKKwkJCWlmIChub25kaWdpdCkgYnJlYWs7CisJCQlub25kaWdp
dCA9IGM7CisJCQljb250aW51ZTsKKwkJICAgIH0KKwkJICAgIGlmICghSVNYRElHSVQoYykpIGJy
ZWFrOworCQkgICAgbm9uZGlnaXQgPSAwOworCQkgICAgdG9rYWRkKHAsIGMpOworCQl9IHdoaWxl
ICgoYyA9IG5leHRjKHApKSAhPSAtMSk7CisJICAgIH0KKwkgICAgcHVzaGJhY2socCwgYyk7CisJ
ICAgIHRva2ZpeChwKTsKKwkgICAgaWYgKHRva2xlbihwKSA9PSBzdGFydCkgeworCQlyZXR1cm4g
bm9fZGlnaXRzKHApOworCSAgICB9CisJICAgIGVsc2UgaWYgKG5vbmRpZ2l0KSBnb3RvIHRyYWls
aW5nX3VjOworCSAgICBzdWZmaXggPSBudW1iZXJfbGl0ZXJhbF9zdWZmaXgocCwgTlVNX1NVRkZJ
WF9BTEwpOworCSAgICByZXR1cm4gc2V0X2ludGVnZXJfbGl0ZXJhbChwLCByYl9jc3RyX3RvX2lu
dW0odG9rKHApLCAxNiwgRkFMU0UpLCBzdWZmaXgpOworCX0KKwlpZiAoYyA9PSAnYicgfHwgYyA9
PSAnQicpIHsKKwkgICAgLyogYmluYXJ5ICovCisJICAgIGMgPSBuZXh0YyhwKTsKKwkgICAgaWYg
KGMgPT0gJzAnIHx8IGMgPT0gJzEnKSB7CisJCWRvIHsKKwkJICAgIGlmIChjID09ICdfJykgewor
CQkJaWYgKG5vbmRpZ2l0KSBicmVhazsKKwkJCW5vbmRpZ2l0ID0gYzsKKwkJCWNvbnRpbnVlOwor
CQkgICAgfQorCQkgICAgaWYgKGMgIT0gJzAnICYmIGMgIT0gJzEnKSBicmVhazsKKwkJICAgIG5v
bmRpZ2l0ID0gMDsKKwkJICAgIHRva2FkZChwLCBjKTsKKwkJfSB3aGlsZSAoKGMgPSBuZXh0Yyhw
KSkgIT0gLTEpOworCSAgICB9CisJICAgIHB1c2hiYWNrKHAsIGMpOworCSAgICB0b2tmaXgocCk7
CisJICAgIGlmICh0b2tsZW4ocCkgPT0gc3RhcnQpIHsKKwkJcmV0dXJuIG5vX2RpZ2l0cyhwKTsK
KwkgICAgfQorCSAgICBlbHNlIGlmIChub25kaWdpdCkgZ290byB0cmFpbGluZ191YzsKKwkgICAg
c3VmZml4ID0gbnVtYmVyX2xpdGVyYWxfc3VmZml4KHAsIE5VTV9TVUZGSVhfQUxMKTsKKwkgICAg
cmV0dXJuIHNldF9pbnRlZ2VyX2xpdGVyYWwocCwgcmJfY3N0cl90b19pbnVtKHRvayhwKSwgMiwg
RkFMU0UpLCBzdWZmaXgpOworCX0KKwlpZiAoYyA9PSAnZCcgfHwgYyA9PSAnRCcpIHsKKwkgICAg
LyogZGVjaW1hbCAqLworCSAgICBjID0gbmV4dGMocCk7CisJICAgIGlmIChjICE9IC0xICYmIElT
RElHSVQoYykpIHsKKwkJZG8geworCQkgICAgaWYgKGMgPT0gJ18nKSB7CisJCQlpZiAobm9uZGln
aXQpIGJyZWFrOworCQkJbm9uZGlnaXQgPSBjOworCQkJY29udGludWU7CisJCSAgICB9CisJCSAg
ICBpZiAoIUlTRElHSVQoYykpIGJyZWFrOworCQkgICAgbm9uZGlnaXQgPSAwOworCQkgICAgdG9r
YWRkKHAsIGMpOworCQl9IHdoaWxlICgoYyA9IG5leHRjKHApKSAhPSAtMSk7CisJICAgIH0KKwkg
ICAgcHVzaGJhY2socCwgYyk7CisJICAgIHRva2ZpeChwKTsKKwkgICAgaWYgKHRva2xlbihwKSA9
PSBzdGFydCkgeworCQlyZXR1cm4gbm9fZGlnaXRzKHApOworCSAgICB9CisJICAgIGVsc2UgaWYg
KG5vbmRpZ2l0KSBnb3RvIHRyYWlsaW5nX3VjOworCSAgICBzdWZmaXggPSBudW1iZXJfbGl0ZXJh
bF9zdWZmaXgocCwgTlVNX1NVRkZJWF9BTEwpOworCSAgICByZXR1cm4gc2V0X2ludGVnZXJfbGl0
ZXJhbChwLCByYl9jc3RyX3RvX2ludW0odG9rKHApLCAxMCwgRkFMU0UpLCBzdWZmaXgpOworCX0K
KwlpZiAoYyA9PSAnXycpIHsKKwkgICAgLyogMF8wICovCisJICAgIGdvdG8gb2N0YWxfbnVtYmVy
OworCX0KKwlpZiAoYyA9PSAnbycgfHwgYyA9PSAnTycpIHsKKwkgICAgLyogcHJlZml4ZWQgb2N0
YWwgKi8KKwkgICAgYyA9IG5leHRjKHApOworCSAgICBpZiAoYyA9PSAtMSB8fCBjID09ICdfJyB8
fCAhSVNESUdJVChjKSkgeworCQlyZXR1cm4gbm9fZGlnaXRzKHApOworCSAgICB9CisJfQorCWlm
IChjID49ICcwJyAmJiBjIDw9ICc3JykgeworCSAgICAvKiBvY3RhbCAqLworCSAgb2N0YWxfbnVt
YmVyOgorCSAgICBkbyB7CisJCWlmIChjID09ICdfJykgeworCQkgICAgaWYgKG5vbmRpZ2l0KSBi
cmVhazsKKwkJICAgIG5vbmRpZ2l0ID0gYzsKKwkJICAgIGNvbnRpbnVlOworCQl9CisJCWlmIChj
IDwgJzAnIHx8IGMgPiAnOScpIGJyZWFrOworCQlpZiAoYyA+ICc3JykgZ290byBpbnZhbGlkX29j
dGFsOworCQlub25kaWdpdCA9IDA7CisJCXRva2FkZChwLCBjKTsKKwkgICAgfSB3aGlsZSAoKGMg
PSBuZXh0YyhwKSkgIT0gLTEpOworCSAgICBpZiAodG9rbGVuKHApID4gc3RhcnQpIHsKKwkJcHVz
aGJhY2socCwgYyk7CisJCXRva2ZpeChwKTsKKwkJaWYgKG5vbmRpZ2l0KSBnb3RvIHRyYWlsaW5n
X3VjOworCQlzdWZmaXggPSBudW1iZXJfbGl0ZXJhbF9zdWZmaXgocCwgTlVNX1NVRkZJWF9BTEwp
OworCQlyZXR1cm4gc2V0X2ludGVnZXJfbGl0ZXJhbChwLCByYl9jc3RyX3RvX2ludW0odG9rKHAp
LCA4LCBGQUxTRSksIHN1ZmZpeCk7CisJICAgIH0KKwkgICAgaWYgKG5vbmRpZ2l0KSB7CisJCXB1
c2hiYWNrKHAsIGMpOworCQlnb3RvIHRyYWlsaW5nX3VjOworCSAgICB9CisJfQorCWlmIChjID4g
JzcnICYmIGMgPD0gJzknKSB7CisJICBpbnZhbGlkX29jdGFsOgorCSAgICB5eWVycm9yMCgiSW52
YWxpZCBvY3RhbCBkaWdpdCIpOworCX0KKwllbHNlIGlmIChjID09ICcuJyB8fCBjID09ICdlJyB8
fCBjID09ICdFJykgeworCSAgICB0b2thZGQocCwgJzAnKTsKKwl9CisJZWxzZSB7CisJICAgIHB1
c2hiYWNrKHAsIGMpOworCSAgICBzdWZmaXggPSBudW1iZXJfbGl0ZXJhbF9zdWZmaXgocCwgTlVN
X1NVRkZJWF9BTEwpOworCSAgICByZXR1cm4gc2V0X2ludGVnZXJfbGl0ZXJhbChwLCBJTlQyRklY
KDApLCBzdWZmaXgpOworCX0KKyAgICB9CisKKyAgICBmb3IgKDs7KSB7CisJc3dpdGNoIChjKSB7
CisJICBjYXNlICcwJzogY2FzZSAnMSc6IGNhc2UgJzInOiBjYXNlICczJzogY2FzZSAnNCc6CisJ
ICBjYXNlICc1JzogY2FzZSAnNic6IGNhc2UgJzcnOiBjYXNlICc4JzogY2FzZSAnOSc6CisJICAg
IG5vbmRpZ2l0ID0gMDsKKwkgICAgdG9rYWRkKHAsIGMpOworCSAgICBicmVhazsKKworCSAgY2Fz
ZSAnLic6CisJICAgIGlmIChub25kaWdpdCkgZ290byB0cmFpbGluZ191YzsKKwkgICAgaWYgKHNl
ZW5fcG9pbnQgfHwgc2Vlbl9lKSB7CisJCWdvdG8gZGVjb2RlX251bTsKKwkgICAgfQorCSAgICBl
bHNlIHsKKwkJaW50IGMwID0gbmV4dGMocCk7CisJCWlmIChjMCA9PSAtMSB8fCAhSVNESUdJVChj
MCkpIHsKKwkJICAgIHB1c2hiYWNrKHAsIGMwKTsKKwkJICAgIGdvdG8gZGVjb2RlX251bTsKKwkJ
fQorCQljID0gYzA7CisJICAgIH0KKwkgICAgc2Vlbl9wb2ludCA9IHRva2xlbihwKTsKKwkgICAg
dG9rYWRkKHAsICcuJyk7CisJICAgIHRva2FkZChwLCBjKTsKKwkgICAgaXNfZmxvYXQrKzsKKwkg
ICAgbm9uZGlnaXQgPSAwOworCSAgICBicmVhazsKKworCSAgY2FzZSAnZSc6CisJICBjYXNlICdF
JzoKKwkgICAgaWYgKG5vbmRpZ2l0KSB7CisJCXB1c2hiYWNrKHAsIGMpOworCQljID0gbm9uZGln
aXQ7CisJCWdvdG8gZGVjb2RlX251bTsKKwkgICAgfQorCSAgICBpZiAoc2Vlbl9lKSB7CisJCWdv
dG8gZGVjb2RlX251bTsKKwkgICAgfQorCSAgICBub25kaWdpdCA9IGM7CisJICAgIGMgPSBuZXh0
YyhwKTsKKwkgICAgaWYgKGMgIT0gJy0nICYmIGMgIT0gJysnICYmICFJU0RJR0lUKGMpKSB7CisJ
CXB1c2hiYWNrKHAsIGMpOworCQlub25kaWdpdCA9IDA7CisJCWdvdG8gZGVjb2RlX251bTsKKwkg
ICAgfQorCSAgICB0b2thZGQocCwgbm9uZGlnaXQpOworCSAgICBzZWVuX2UrKzsKKwkgICAgaXNf
ZmxvYXQrKzsKKwkgICAgdG9rYWRkKHAsIGMpOworCSAgICBub25kaWdpdCA9IChjID09ICctJyB8
fCBjID09ICcrJykgPyBjIDogMDsKKwkgICAgYnJlYWs7CisKKwkgIGNhc2UgJ18nOgkvKiBgXycg
aW4gbnVtYmVyIGp1c3QgaWdub3JlZCAqLworCSAgICBpZiAobm9uZGlnaXQpIGdvdG8gZGVjb2Rl
X251bTsKKwkgICAgbm9uZGlnaXQgPSBjOworCSAgICBicmVhazsKKworCSAgZGVmYXVsdDoKKwkg
ICAgZ290byBkZWNvZGVfbnVtOworCX0KKwljID0gbmV4dGMocCk7CisgICAgfQorCisgIGRlY29k
ZV9udW06CisgICAgcHVzaGJhY2socCwgYyk7CisgICAgaWYgKG5vbmRpZ2l0KSB7CisJY2hhciB0
bXBbMzBdOworICAgICAgdHJhaWxpbmdfdWM6CisJbGl0ZXJhbF9mbHVzaChwLCBwLT5sZXgucGN1
ciAtIDEpOworCXNucHJpbnRmKHRtcCwgc2l6ZW9mKHRtcCksICJ0cmFpbGluZyBgJWMnIGluIG51
bWJlciIsIG5vbmRpZ2l0KTsKKwl5eWVycm9yMCh0bXApOworICAgIH0KKyAgICB0b2tmaXgocCk7
CisgICAgaWYgKGlzX2Zsb2F0KSB7CisJZW51bSB5eXRva2VudHlwZSB0eXBlID0gdEZMT0FUOwor
CVZBTFVFIHY7CisKKwlzdWZmaXggPSBudW1iZXJfbGl0ZXJhbF9zdWZmaXgocCwgc2Vlbl9lID8g
TlVNX1NVRkZJWF9JIDogTlVNX1NVRkZJWF9BTEwpOworCWlmIChzdWZmaXggJiBOVU1fU1VGRklY
X1IpIHsKKwkgICAgdHlwZSA9IHRSQVRJT05BTDsKKwkgICAgdiA9IHBhcnNlX3JhdGlvbmFsKHAs
IHRvayhwKSwgdG9rbGVuKHApLCBzZWVuX3BvaW50KTsKKwl9CisJZWxzZSB7CisJICAgIGRvdWJs
ZSBkID0gc3RydG9kKHRvayhwKSwgMCk7CisJICAgIGlmIChlcnJubyA9PSBFUkFOR0UpIHsKKwkJ
cmJfd2FybmluZzEoIkZsb2F0ICVzIG91dCBvZiByYW5nZSIsIFdBUk5fUyh0b2socCkpKTsKKwkJ
ZXJybm8gPSAwOworCSAgICB9CisJICAgIHYgPSBEQkwyTlVNKGQpOworCX0KKwlyZXR1cm4gc2V0
X251bWJlcl9saXRlcmFsKHAsIHYsIHR5cGUsIHN1ZmZpeCk7CisgICAgfQorICAgIHN1ZmZpeCA9
IG51bWJlcl9saXRlcmFsX3N1ZmZpeChwLCBOVU1fU1VGRklYX0FMTCk7CisgICAgcmV0dXJuIHNl
dF9pbnRlZ2VyX2xpdGVyYWwocCwgcmJfY3N0cl90b19pbnVtKHRvayhwKSwgMTAsIEZBTFNFKSwg
c3VmZml4KTsKK30KKworc3RhdGljIGVudW0geXl0b2tlbnR5cGUKK3BhcnNlX3FtYXJrKHN0cnVj
dCBwYXJzZXJfcGFyYW1zICpwLCBpbnQgc3BhY2Vfc2VlbikKK3sKKyAgICByYl9lbmNvZGluZyAq
ZW5jOworICAgIHJlZ2lzdGVyIGludCBjOworICAgIFZBTFVFIGxpdDsKKworICAgIGlmIChJU19F
TkQoKSkgeworCVNFVF9MRVhfU1RBVEUoRVhQUl9WQUxVRSk7CisJcmV0dXJuICc/JzsKKyAgICB9
CisgICAgYyA9IG5leHRjKHApOworICAgIGlmIChjID09IC0xKSB7CisJY29tcGlsZV9lcnJvcihw
LCAiaW5jb21wbGV0ZSBjaGFyYWN0ZXIgc3ludGF4Iik7CisJcmV0dXJuIDA7CisgICAgfQorICAg
IGlmIChyYl9lbmNfaXNzcGFjZShjLCBwLT5lbmMpKSB7CisJaWYgKCFJU19BUkcoKSkgeworCSAg
ICBpbnQgYzIgPSAwOworCSAgICBzd2l0Y2ggKGMpIHsKKwkgICAgICBjYXNlICcgJzoKKwkJYzIg
PSAncyc7CisJCWJyZWFrOworCSAgICAgIGNhc2UgJ1xuJzoKKwkJYzIgPSAnbic7CisJCWJyZWFr
OworCSAgICAgIGNhc2UgJ1x0JzoKKwkJYzIgPSAndCc7CisJCWJyZWFrOworCSAgICAgIGNhc2Ug
J1x2JzoKKwkJYzIgPSAndic7CisJCWJyZWFrOworCSAgICAgIGNhc2UgJ1xyJzoKKwkJYzIgPSAn
cic7CisJCWJyZWFrOworCSAgICAgIGNhc2UgJ1xmJzoKKwkJYzIgPSAnZic7CisJCWJyZWFrOwor
CSAgICB9CisJICAgIGlmIChjMikgeworCQlyYl93YXJuMSgiaW52YWxpZCBjaGFyYWN0ZXIgc3lu
dGF4OyB1c2UgP1xcJWMiLCBXQVJOX0koYzIpKTsKKwkgICAgfQorCX0KKyAgICAgIHRlcm5hcnk6
CisJcHVzaGJhY2socCwgYyk7CisJU0VUX0xFWF9TVEFURShFWFBSX1ZBTFVFKTsKKwlyZXR1cm4g
Jz8nOworICAgIH0KKyAgICBuZXd0b2socCk7CisgICAgZW5jID0gcC0+ZW5jOworICAgIGlmICgh
cGFyc2VyX2lzYXNjaWkocCkpIHsKKwlpZiAodG9rYWRkX21iY2hhcihwLCBjKSA9PSAtMSkgcmV0
dXJuIDA7CisgICAgfQorICAgIGVsc2UgaWYgKChyYl9lbmNfaXNhbG51bShjLCBwLT5lbmMpIHx8
IGMgPT0gJ18nKSAmJgorCSAgICAgcC0+bGV4LnBjdXIgPCBwLT5sZXgucGVuZCAmJiBpc19pZGVu
dGNoYXIocC0+bGV4LnBjdXIsIHAtPmxleC5wZW5kLCBwLT5lbmMpKSB7CisJaWYgKHNwYWNlX3Nl
ZW4pIHsKKwkgICAgY29uc3QgY2hhciAqc3RhcnQgPSBwLT5sZXgucGN1ciAtIDEsICpwdHIgPSBz
dGFydDsKKwkgICAgZG8geworCQlpbnQgbiA9IHBhcnNlcl9wcmVjaXNlX21iY2xlbihwLCBwdHIp
OworCQlpZiAobiA8IDApIHJldHVybiAtMTsKKwkJcHRyICs9IG47CisJICAgIH0gd2hpbGUgKHB0
ciA8IHAtPmxleC5wZW5kICYmIGlzX2lkZW50Y2hhcihwdHIsIHAtPmxleC5wZW5kLCBwLT5lbmMp
KTsKKwkgICAgcmJfd2FybjIoImA/JyBqdXN0IGZvbGxvd2VkIGJ5IGAlLipzJyBpcyBpbnRlcnBy
ZXRlZCBhcyIgXAorCQkgICAgICIgYSBjb25kaXRpb25hbCBvcGVyYXRvciwgcHV0IGEgc3BhY2Ug
YWZ0ZXIgYD8nIiwKKwkJICAgICBXQVJOX0koKGludCkocHRyIC0gc3RhcnQpKSwgV0FSTl9TX0wo
c3RhcnQsIChwdHIgLSBzdGFydCkpKTsKKwl9CisJZ290byB0ZXJuYXJ5OworICAgIH0KKyAgICBl
bHNlIGlmIChjID09ICdcXCcpIHsKKwlpZiAocGVlayhwLCAndScpKSB7CisJICAgIG5leHRjKHAp
OworCSAgICBlbmMgPSByYl91dGY4X2VuY29kaW5nKCk7CisJICAgIGlmICghcGFyc2VyX3Rva2Fk
ZF91dGY4KHAsICZlbmMsIC0xLCAwLCAwKSkKKwkJcmV0dXJuIDA7CisJfQorCWVsc2UgaWYgKCFs
ZXhfZW9sX3AocCkgJiYgIShjID0gKnAtPmxleC5wY3VyLCBJU0FTQ0lJKGMpKSkgeworCSAgICBu
ZXh0YyhwKTsKKwkgICAgaWYgKHRva2FkZF9tYmNoYXIocCwgYykgPT0gLTEpIHJldHVybiAwOwor
CX0KKwllbHNlIHsKKwkgICAgYyA9IHJlYWRfZXNjYXBlKHAsIDAsICZlbmMpOworCSAgICB0b2th
ZGQocCwgYyk7CisJfQorICAgIH0KKyAgICBlbHNlIHsKKwl0b2thZGQocCwgYyk7CisgICAgfQor
ICAgIHRva2ZpeChwKTsKKyAgICBhZGRfbWFya19vYmplY3QocCwgbGl0ID0gU1RSX05FVzModG9r
KHApLCB0b2tsZW4ocCksIGVuYywgMCkpOworICAgIHNldF95eWx2YWxfc3RyKGxpdCk7CisgICAg
U0VUX0xFWF9TVEFURShFWFBSX0VORCk7CisgICAgcmV0dXJuIHRDSEFSOworfQorCitzdGF0aWMg
ZW51bSB5eXRva2VudHlwZQorcGFyc2VfcGVyY2VudChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwg
Y29uc3QgaW50IHNwYWNlX3NlZW4sIGNvbnN0IGVudW0gbGV4X3N0YXRlX2UgbGFzdF9zdGF0ZSkK
K3sKKyAgICByZWdpc3RlciBpbnQgYzsKKworICAgIGlmIChJU19CRUcoKSkgeworCWludCB0ZXJt
OworCWludCBwYXJlbjsKKworCWMgPSBuZXh0YyhwKTsKKyAgICAgIHF1b3RhdGlvbjoKKwlpZiAo
YyA9PSAtMSB8fCAhSVNBTE5VTShjKSkgeworCSAgICB0ZXJtID0gYzsKKwkgICAgYyA9ICdRJzsK
Kwl9CisJZWxzZSB7CisJICAgIHRlcm0gPSBuZXh0YyhwKTsKKwkgICAgaWYgKHJiX2VuY19pc2Fs
bnVtKHRlcm0sIHAtPmVuYykgfHwgIXBhcnNlcl9pc2FzY2lpKHApKSB7CisJCXl5ZXJyb3IwKCJ1
bmtub3duIHR5cGUgb2YgJXN0cmluZyIpOworCQlyZXR1cm4gMDsKKwkgICAgfQorCX0KKwlpZiAo
YyA9PSAtMSB8fCB0ZXJtID09IC0xKSB7CisJICAgIGNvbXBpbGVfZXJyb3IocCwgInVudGVybWlu
YXRlZCBxdW90ZWQgc3RyaW5nIG1lZXRzIGVuZCBvZiBmaWxlIik7CisJICAgIHJldHVybiAwOwor
CX0KKwlwYXJlbiA9IHRlcm07CisJaWYgKHRlcm0gPT0gJygnKSB0ZXJtID0gJyknOworCWVsc2Ug
aWYgKHRlcm0gPT0gJ1snKSB0ZXJtID0gJ10nOworCWVsc2UgaWYgKHRlcm0gPT0gJ3snKSB0ZXJt
ID0gJ30nOworCWVsc2UgaWYgKHRlcm0gPT0gJzwnKSB0ZXJtID0gJz4nOworCWVsc2UgcGFyZW4g
PSAwOworCisJc3dpdGNoIChjKSB7CisJICBjYXNlICdRJzoKKwkgICAgcC0+bGV4LnN0cnRlcm0g
PSBORVdfU1RSVEVSTShzdHJfZHF1b3RlLCB0ZXJtLCBwYXJlbik7CisJICAgIHJldHVybiB0U1RS
SU5HX0JFRzsKKworCSAgY2FzZSAncSc6CisJICAgIHAtPmxleC5zdHJ0ZXJtID0gTkVXX1NUUlRF
Uk0oc3RyX3NxdW90ZSwgdGVybSwgcGFyZW4pOworCSAgICByZXR1cm4gdFNUUklOR19CRUc7CisK
KwkgIGNhc2UgJ1cnOgorCSAgICBwLT5sZXguc3RydGVybSA9IE5FV19TVFJURVJNKHN0cl9kd29y
ZCwgdGVybSwgcGFyZW4pOworCSAgICByZXR1cm4gdFdPUkRTX0JFRzsKKworCSAgY2FzZSAndyc6
CisJICAgIHAtPmxleC5zdHJ0ZXJtID0gTkVXX1NUUlRFUk0oc3RyX3N3b3JkLCB0ZXJtLCBwYXJl
bik7CisJICAgIHJldHVybiB0UVdPUkRTX0JFRzsKKworCSAgY2FzZSAnSSc6CisJICAgIHAtPmxl
eC5zdHJ0ZXJtID0gTkVXX1NUUlRFUk0oc3RyX2R3b3JkLCB0ZXJtLCBwYXJlbik7CisJICAgIHJl
dHVybiB0U1lNQk9MU19CRUc7CisKKwkgIGNhc2UgJ2knOgorCSAgICBwLT5sZXguc3RydGVybSA9
IE5FV19TVFJURVJNKHN0cl9zd29yZCwgdGVybSwgcGFyZW4pOworCSAgICByZXR1cm4gdFFTWU1C
T0xTX0JFRzsKKworCSAgY2FzZSAneCc6CisJICAgIHAtPmxleC5zdHJ0ZXJtID0gTkVXX1NUUlRF
Uk0oc3RyX3hxdW90ZSwgdGVybSwgcGFyZW4pOworCSAgICByZXR1cm4gdFhTVFJJTkdfQkVHOwor
CisJICBjYXNlICdyJzoKKwkgICAgcC0+bGV4LnN0cnRlcm0gPSBORVdfU1RSVEVSTShzdHJfcmVn
ZXhwLCB0ZXJtLCBwYXJlbik7CisJICAgIHJldHVybiB0UkVHRVhQX0JFRzsKKworCSAgY2FzZSAn
cyc6CisJICAgIHAtPmxleC5zdHJ0ZXJtID0gTkVXX1NUUlRFUk0oc3RyX3NzeW0sIHRlcm0sIHBh
cmVuKTsKKwkgICAgU0VUX0xFWF9TVEFURShFWFBSX0ZOQU1FfEVYUFJfRklURU0pOworCSAgICBy
ZXR1cm4gdFNZTUJFRzsKKworCSAgZGVmYXVsdDoKKwkgICAgeXllcnJvcjAoInVua25vd24gdHlw
ZSBvZiAlc3RyaW5nIik7CisJICAgIHJldHVybiAwOworCX0KKyAgICB9CisgICAgaWYgKChjID0g
bmV4dGMocCkpID09ICc9JykgeworCXNldF95eWx2YWxfaWQoJyUnKTsKKwlTRVRfTEVYX1NUQVRF
KEVYUFJfQkVHKTsKKwlyZXR1cm4gdE9QX0FTR047CisgICAgfQorICAgIGlmIChJU19TUENBUkco
YykgfHwgKElTX2xleF9zdGF0ZShFWFBSX0ZJVEVNKSAmJiBjID09ICdzJykpIHsKKwlnb3RvIHF1
b3RhdGlvbjsKKyAgICB9CisgICAgU0VUX0xFWF9TVEFURShJU19BRlRFUl9PUEVSQVRPUigpID8g
RVhQUl9BUkcgOiBFWFBSX0JFRyk7CisgICAgcHVzaGJhY2socCwgYyk7CisgICAgcmV0dXJuIHdh
cm5fYmFsYW5jZWQoJyUnLCAiJSUiLCAic3RyaW5nIGxpdGVyYWwiKTsKK30KKworc3RhdGljIGlu
dAordG9rYWRkX2lkZW50KHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBpbnQgYykKK3sKKyAgICBk
byB7CisJaWYgKHRva2FkZF9tYmNoYXIocCwgYykgPT0gLTEpIHJldHVybiAtMTsKKwljID0gbmV4
dGMocCk7CisgICAgfSB3aGlsZSAocGFyc2VyX2lzX2lkZW50Y2hhcihwKSk7CisgICAgcHVzaGJh
Y2socCwgYyk7CisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBJRAordG9rZW5pemVfaWRlbnQo
c3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIGNvbnN0IGVudW0gbGV4X3N0YXRlX2UgbGFzdF9zdGF0
ZSkKK3sKKyAgICBJRCBpZGVudCA9IFRPS19JTlRFUk4oKTsKKworICAgIHNldF95eWx2YWxfbmFt
ZShpZGVudCk7CisKKyAgICByZXR1cm4gaWRlbnQ7Cit9CisKK3N0YXRpYyBpbnQKK3BhcnNlX251
bXZhcihzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCkKK3sKKyAgICBzaXplX3QgbGVuOworICAgIGlu
dCBvdmVyZmxvdzsKKyAgICB1bnNpZ25lZCBsb25nIG4gPSBydWJ5X3NjYW5fZGlnaXRzKHRvayhw
KSsxLCB0b2tsZW4ocCktMSwgMTAsICZsZW4sICZvdmVyZmxvdyk7CisgICAgY29uc3QgdW5zaWdu
ZWQgbG9uZyBudGhfcmVmX21heCA9CisJKChGSVhOVU1fTUFYIDwgSU5UX01BWCkgPyBGSVhOVU1f
TUFYIDogSU5UX01BWCkgPj4gMTsKKyAgICAvKiBOVEhfUkVGIGlzIGxlZnQtc2hpZnRlZCB0byBi
ZSBPUmVkIHdpdGggYmFjay1yZWYgZmxhZyBhbmQKKyAgICAgKiB0dXJuZWQgaW50byBhIEZpeG51
bSwgaW4gY29tcGlsZS5jICovCisKKyAgICBpZiAob3ZlcmZsb3cgfHwgbiA+IG50aF9yZWZfbWF4
KSB7CisJLyogY29tcGlsZV9lcnJvcigpPyAqLworCXJiX3dhcm4xKCJgJXMnIGlzIHRvbyBiaWcg
Zm9yIGEgbnVtYmVyIHZhcmlhYmxlLCBhbHdheXMgbmlsIiwgV0FSTl9TKHRvayhwKSkpOworCXJl
dHVybiAwOwkJLyogJDAgaXMgJFBST0dSQU1fTkFNRSwgbm90IE5USF9SRUYgKi8KKyAgICB9Cisg
ICAgZWxzZSB7CisJcmV0dXJuIChpbnQpbjsKKyAgICB9Cit9CisKK3N0YXRpYyBlbnVtIHl5dG9r
ZW50eXBlCitwYXJzZV9ndmFyKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBjb25zdCBlbnVtIGxl
eF9zdGF0ZV9lIGxhc3Rfc3RhdGUpCit7CisgICAgcmVnaXN0ZXIgaW50IGM7CisKKyAgICBTRVRf
TEVYX1NUQVRFKEVYUFJfRU5EKTsKKyAgICBuZXd0b2socCk7CisgICAgYyA9IG5leHRjKHApOwor
ICAgIHN3aXRjaCAoYykgeworICAgICAgY2FzZSAnXyc6CQkvKiAkXzogbGFzdCByZWFkIGxpbmUg
c3RyaW5nICovCisJYyA9IG5leHRjKHApOworCWlmIChwYXJzZXJfaXNfaWRlbnRjaGFyKHApKSB7
CisJICAgIHRva2FkZChwLCAnJCcpOworCSAgICB0b2thZGQocCwgJ18nKTsKKwkgICAgYnJlYWs7
CisJfQorCXB1c2hiYWNrKHAsIGMpOworCWMgPSAnXyc7CisJLyogZmFsbCB0aHJvdWdoICovCisg
ICAgICBjYXNlICd+JzoJCS8qICR+OiBtYXRjaC1kYXRhICovCisgICAgICBjYXNlICcqJzoJCS8q
ICQqOiBhcmd2ICovCisgICAgICBjYXNlICckJzoJCS8qICQkOiBwaWQgKi8KKyAgICAgIGNhc2Ug
Jz8nOgkJLyogJD86IGxhc3Qgc3RhdHVzICovCisgICAgICBjYXNlICchJzoJCS8qICQhOiBlcnJv
ciBzdHJpbmcgKi8KKyAgICAgIGNhc2UgJ0AnOgkJLyogJEA6IGVycm9yIHBvc2l0aW9uICovCisg
ICAgICBjYXNlICcvJzoJCS8qICQvOiBpbnB1dCByZWNvcmQgc2VwYXJhdG9yICovCisgICAgICBj
YXNlICdcXCc6CQkvKiAkXDogb3V0cHV0IHJlY29yZCBzZXBhcmF0b3IgKi8KKyAgICAgIGNhc2Ug
JzsnOgkJLyogJDs6IGZpZWxkIHNlcGFyYXRvciAqLworICAgICAgY2FzZSAnLCc6CQkvKiAkLDog
b3V0cHV0IGZpZWxkIHNlcGFyYXRvciAqLworICAgICAgY2FzZSAnLic6CQkvKiAkLjogbGFzdCBy
ZWFkIGxpbmUgbnVtYmVyICovCisgICAgICBjYXNlICc9JzoJCS8qICQ9OiBpZ25vcmVjYXNlICov
CisgICAgICBjYXNlICc6JzoJCS8qICQ6OiBsb2FkIHBhdGggKi8KKyAgICAgIGNhc2UgJzwnOgkJ
LyogJDw6IHJlYWRpbmcgZmlsZW5hbWUgKi8KKyAgICAgIGNhc2UgJz4nOgkJLyogJD46IGRlZmF1
bHQgb3V0cHV0IGhhbmRsZSAqLworICAgICAgY2FzZSAnXCInOgkJLyogJCI6IGFscmVhZHkgbG9h
ZGVkIGZpbGVzICovCisJdG9rYWRkKHAsICckJyk7CisJdG9rYWRkKHAsIGMpOworCWdvdG8gZ3Zh
cjsKKworICAgICAgY2FzZSAnLSc6CisJdG9rYWRkKHAsICckJyk7CisJdG9rYWRkKHAsIGMpOwor
CWMgPSBuZXh0YyhwKTsKKwlpZiAocGFyc2VyX2lzX2lkZW50Y2hhcihwKSkgeworCSAgICBpZiAo
dG9rYWRkX21iY2hhcihwLCBjKSA9PSAtMSkgcmV0dXJuIDA7CisJfQorCWVsc2UgeworCSAgICBw
dXNoYmFjayhwLCBjKTsKKwkgICAgcHVzaGJhY2socCwgJy0nKTsKKwkgICAgcmV0dXJuICckJzsK
Kwl9CisgICAgICBndmFyOgorCXNldF95eWx2YWxfbmFtZShUT0tfSU5URVJOKCkpOworCXJldHVy
biB0R1ZBUjsKKworICAgICAgY2FzZSAnJic6CQkvKiAkJjogbGFzdCBtYXRjaCAqLworICAgICAg
Y2FzZSAnYCc6CQkvKiAkYDogc3RyaW5nIGJlZm9yZSBsYXN0IG1hdGNoICovCisgICAgICBjYXNl
ICdcJyc6CQkvKiAkJzogc3RyaW5nIGFmdGVyIGxhc3QgbWF0Y2ggKi8KKyAgICAgIGNhc2UgJysn
OgkJLyogJCs6IHN0cmluZyBtYXRjaGVzIGxhc3QgcGFyZW4uICovCisJaWYgKElTX2xleF9zdGF0
ZV9mb3IobGFzdF9zdGF0ZSwgRVhQUl9GTkFNRSkpIHsKKwkgICAgdG9rYWRkKHAsICckJyk7CisJ
ICAgIHRva2FkZChwLCBjKTsKKwkgICAgZ290byBndmFyOworCX0KKwlzZXRfeXlsdmFsX25vZGUo
TkVXX0JBQ0tfUkVGKGMsICZfY3VyX2xvYykpOworCXJldHVybiB0QkFDS19SRUY7CisKKyAgICAg
IGNhc2UgJzEnOiBjYXNlICcyJzogY2FzZSAnMyc6CisgICAgICBjYXNlICc0JzogY2FzZSAnNSc6
IGNhc2UgJzYnOgorICAgICAgY2FzZSAnNyc6IGNhc2UgJzgnOiBjYXNlICc5JzoKKwl0b2thZGQo
cCwgJyQnKTsKKwlkbyB7CisJICAgIHRva2FkZChwLCBjKTsKKwkgICAgYyA9IG5leHRjKHApOwor
CX0gd2hpbGUgKGMgIT0gLTEgJiYgSVNESUdJVChjKSk7CisJcHVzaGJhY2socCwgYyk7CisJaWYg
KElTX2xleF9zdGF0ZV9mb3IobGFzdF9zdGF0ZSwgRVhQUl9GTkFNRSkpIGdvdG8gZ3ZhcjsKKwl0
b2tmaXgocCk7CisJc2V0X3l5bHZhbF9ub2RlKE5FV19OVEhfUkVGKHBhcnNlX251bXZhcihwKSwg
Jl9jdXJfbG9jKSk7CisJcmV0dXJuIHROVEhfUkVGOworCisgICAgICBkZWZhdWx0OgorCWlmICgh
cGFyc2VyX2lzX2lkZW50Y2hhcihwKSkgeworCSAgICBpZiAoYyA9PSAtMSB8fCBJU1NQQUNFKGMp
KSB7CisJCWNvbXBpbGVfZXJyb3IocCwgImAkJyB3aXRob3V0IGlkZW50aWZpZXJzIGlzIG5vdCBh
bGxvd2VkIGFzIGEgZ2xvYmFsIHZhcmlhYmxlIG5hbWUiKTsKKwkgICAgfQorCSAgICBlbHNlIHsK
KwkJcHVzaGJhY2socCwgYyk7CisJCWNvbXBpbGVfZXJyb3IocCwgImAkJWMnIGlzIG5vdCBhbGxv
d2VkIGFzIGEgZ2xvYmFsIHZhcmlhYmxlIG5hbWUiLCBjKTsKKwkgICAgfQorCSAgICByZXR1cm4g
MDsKKwl9CisgICAgICBjYXNlICcwJzoKKwl0b2thZGQocCwgJyQnKTsKKyAgICB9CisKKyAgICBp
ZiAodG9rYWRkX2lkZW50KHAsIGMpKSByZXR1cm4gMDsKKyAgICBTRVRfTEVYX1NUQVRFKEVYUFJf
RU5EKTsKKyAgICB0b2tlbml6ZV9pZGVudChwLCBsYXN0X3N0YXRlKTsKKyAgICByZXR1cm4gdEdW
QVI7Cit9CisKK3N0YXRpYyBlbnVtIHl5dG9rZW50eXBlCitwYXJzZV9hdG1hcmsoc3RydWN0IHBh
cnNlcl9wYXJhbXMgKnAsIGNvbnN0IGVudW0gbGV4X3N0YXRlX2UgbGFzdF9zdGF0ZSkKK3sKKyAg
ICBlbnVtIHl5dG9rZW50eXBlIHJlc3VsdCA9IHRJVkFSOworICAgIHJlZ2lzdGVyIGludCBjID0g
bmV4dGMocCk7CisKKyAgICBuZXd0b2socCk7CisgICAgdG9rYWRkKHAsICdAJyk7CisgICAgaWYg
KGMgPT0gJ0AnKSB7CisJcmVzdWx0ID0gdENWQVI7CisJdG9rYWRkKHAsICdAJyk7CisJYyA9IG5l
eHRjKHApOworICAgIH0KKyAgICBpZiAoYyA9PSAtMSB8fCBJU1NQQUNFKGMpKSB7CisJaWYgKHJl
c3VsdCA9PSB0SVZBUikgeworCSAgICBjb21waWxlX2Vycm9yKHAsICJgQCcgd2l0aG91dCBpZGVu
dGlmaWVycyBpcyBub3QgYWxsb3dlZCBhcyBhbiBpbnN0YW5jZSB2YXJpYWJsZSBuYW1lIik7CisJ
fQorCWVsc2UgeworCSAgICBjb21waWxlX2Vycm9yKHAsICJgQEAnIHdpdGhvdXQgaWRlbnRpZmll
cnMgaXMgbm90IGFsbG93ZWQgYXMgYSBjbGFzcyB2YXJpYWJsZSBuYW1lIik7CisJfQorCXJldHVy
biAwOworICAgIH0KKyAgICBlbHNlIGlmIChJU0RJR0lUKGMpIHx8ICFwYXJzZXJfaXNfaWRlbnRj
aGFyKHApKSB7CisJcHVzaGJhY2socCwgYyk7CisJaWYgKHJlc3VsdCA9PSB0SVZBUikgeworCSAg
ICBjb21waWxlX2Vycm9yKHAsICJgQCVjJyBpcyBub3QgYWxsb3dlZCBhcyBhbiBpbnN0YW5jZSB2
YXJpYWJsZSBuYW1lIiwgYyk7CisJfQorCWVsc2UgeworCSAgICBjb21waWxlX2Vycm9yKHAsICJg
QEAlYycgaXMgbm90IGFsbG93ZWQgYXMgYSBjbGFzcyB2YXJpYWJsZSBuYW1lIiwgYyk7CisJfQor
CXJldHVybiAwOworICAgIH0KKworICAgIGlmICh0b2thZGRfaWRlbnQocCwgYykpIHJldHVybiAw
OworICAgIFNFVF9MRVhfU1RBVEUoRVhQUl9FTkQpOworICAgIHRva2VuaXplX2lkZW50KHAsIGxh
c3Rfc3RhdGUpOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK3N0YXRpYyBlbnVtIHl5dG9rZW50
eXBlCitwYXJzZV9pZGVudChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgaW50IGMsIGludCBjbWRf
c3RhdGUpCit7CisgICAgZW51bSB5eXRva2VudHlwZSByZXN1bHQ7CisgICAgaW50IG1iID0gRU5D
X0NPREVSQU5HRV83QklUOworICAgIGNvbnN0IGVudW0gbGV4X3N0YXRlX2UgbGFzdF9zdGF0ZSA9
IHAtPmxleC5zdGF0ZTsKKyAgICBJRCBpZGVudDsKKworICAgIGRvIHsKKwlpZiAoIUlTQVNDSUko
YykpIG1iID0gRU5DX0NPREVSQU5HRV9VTktOT1dOOworCWlmICh0b2thZGRfbWJjaGFyKHAsIGMp
ID09IC0xKSByZXR1cm4gMDsKKwljID0gbmV4dGMocCk7CisgICAgfSB3aGlsZSAocGFyc2VyX2lz
X2lkZW50Y2hhcihwKSk7CisgICAgaWYgKChjID09ICchJyB8fCBjID09ICc/JykgJiYgIXBlZWso
cCwgJz0nKSkgeworCXJlc3VsdCA9IHRGSUQ7CisJdG9rYWRkKHAsIGMpOworICAgIH0KKyAgICBl
bHNlIGlmIChjID09ICc9JyAmJiBJU19sZXhfc3RhdGUoRVhQUl9GTkFNRSkgJiYKKwkgICAgICgh
cGVlayhwLCAnficpICYmICFwZWVrKHAsICc+JykgJiYgKCFwZWVrKHAsICc9JykgfHwgKHBlZWtf
bihwLCAnPicsIDEpKSkpKSB7CisJcmVzdWx0ID0gdElERU5USUZJRVI7CisJdG9rYWRkKHAsIGMp
OworICAgIH0KKyAgICBlbHNlIHsKKwlyZXN1bHQgPSB0Q09OU1RBTlQ7CS8qIGFzc3VtZSBwcm92
aXNpb25hbGx5ICovCisJcHVzaGJhY2socCwgYyk7CisgICAgfQorICAgIHRva2ZpeChwKTsKKwor
ICAgIGlmIChJU19MQUJFTF9QT1NTSUJMRSgpKSB7CisJaWYgKElTX0xBQkVMX1NVRkZJWCgwKSkg
eworCSAgICBTRVRfTEVYX1NUQVRFKEVYUFJfQVJHfEVYUFJfTEFCRUxFRCk7CisJICAgIG5leHRj
KHApOworCSAgICBzZXRfeXlsdmFsX25hbWUoVE9LX0lOVEVSTigpKTsKKwkgICAgcmV0dXJuIHRM
QUJFTDsKKwl9CisgICAgfQorICAgIGlmIChtYiA9PSBFTkNfQ09ERVJBTkdFXzdCSVQgJiYgIUlT
X2xleF9zdGF0ZShFWFBSX0RPVCkpIHsKKwljb25zdCBzdHJ1Y3Qga3d0YWJsZSAqa3c7CisKKwkv
KiBTZWUgaWYgaXQgaXMgYSByZXNlcnZlZCB3b3JkLiAgKi8KKwlrdyA9IHJiX3Jlc2VydmVkX3dv
cmQodG9rKHApLCB0b2tsZW4ocCkpOworCWlmIChrdykgeworCSAgICBlbnVtIGxleF9zdGF0ZV9l
IHN0YXRlID0gcC0+bGV4LnN0YXRlOworCSAgICBTRVRfTEVYX1NUQVRFKGt3LT5zdGF0ZSk7CisJ
ICAgIGlmIChJU19sZXhfc3RhdGVfZm9yKHN0YXRlLCBFWFBSX0ZOQU1FKSkgeworCQlzZXRfeXls
dmFsX25hbWUocmJfaW50ZXJuMih0b2socCksIHRva2xlbihwKSkpOworCQlyZXR1cm4ga3ctPmlk
WzBdOworCSAgICB9CisJICAgIGlmIChJU19sZXhfc3RhdGUoRVhQUl9CRUcpKSB7CisJCXAtPmNv
bW1hbmRfc3RhcnQgPSBUUlVFOworCSAgICB9CisJICAgIGlmIChrdy0+aWRbMF0gPT0ga2V5d29y
ZF9kbykgeworCQlpZiAobGFtYmRhX2JlZ2lubmluZ19wKCkpIHsKKwkJICAgIHAtPmxleC5scGFy
X2JlZyA9IC0xOyAvKiBtYWtlIGxhbWJkYV9iZWdpbm5pbmdfcCgpID09IEZBTFNFIGluIHRoZSBi
b2R5IG9mICItPiBkbyAuLi4gZW5kIiAqLworCQkgICAgcmV0dXJuIGtleXdvcmRfZG9fTEFNQkRB
OworCQl9CisJCWlmIChDT05EX1AoKSkgcmV0dXJuIGtleXdvcmRfZG9fY29uZDsKKwkJaWYgKENN
REFSR19QKCkgJiYgIUlTX2xleF9zdGF0ZV9mb3Ioc3RhdGUsIEVYUFJfQ01EQVJHKSkKKwkJICAg
IHJldHVybiBrZXl3b3JkX2RvX2Jsb2NrOworCQlyZXR1cm4ga2V5d29yZF9kbzsKKwkgICAgfQor
CSAgICBpZiAoSVNfbGV4X3N0YXRlX2ZvcihzdGF0ZSwgKEVYUFJfQkVHIHwgRVhQUl9MQUJFTEVE
KSkpCisJCXJldHVybiBrdy0+aWRbMF07CisJICAgIGVsc2UgeworCQlpZiAoa3ctPmlkWzBdICE9
IGt3LT5pZFsxXSkKKwkJICAgIFNFVF9MRVhfU1RBVEUoRVhQUl9CRUcgfCBFWFBSX0xBQkVMKTsK
KwkJcmV0dXJuIGt3LT5pZFsxXTsKKwkgICAgfQorCX0KKyAgICB9CisKKyAgICBpZiAoSVNfbGV4
X3N0YXRlKEVYUFJfQkVHX0FOWSB8IEVYUFJfQVJHX0FOWSB8IEVYUFJfRE9UKSkgeworCWlmIChj
bWRfc3RhdGUpIHsKKwkgICAgU0VUX0xFWF9TVEFURShFWFBSX0NNREFSRyk7CisJfQorCWVsc2Ug
eworCSAgICBTRVRfTEVYX1NUQVRFKEVYUFJfQVJHKTsKKwl9CisgICAgfQorICAgIGVsc2UgaWYg
KHAtPmxleC5zdGF0ZSA9PSBFWFBSX0ZOQU1FKSB7CisJU0VUX0xFWF9TVEFURShFWFBSX0VOREZO
KTsKKyAgICB9CisgICAgZWxzZSB7CisJU0VUX0xFWF9TVEFURShFWFBSX0VORCk7CisgICAgfQor
CisgICAgaWRlbnQgPSB0b2tlbml6ZV9pZGVudChwLCBsYXN0X3N0YXRlKTsKKyAgICBpZiAocmVz
dWx0ID09IHRDT05TVEFOVCAmJiBpc19sb2NhbF9pZChpZGVudCkpIHJlc3VsdCA9IHRJREVOVElG
SUVSOworICAgIGlmICghSVNfbGV4X3N0YXRlX2ZvcihsYXN0X3N0YXRlLCBFWFBSX0RPVHxFWFBS
X0ZOQU1FKSAmJgorCShyZXN1bHQgPT0gdElERU5USUZJRVIpICYmIC8qIG5vdCBFWFBSX0ZOQU1F
LCBub3QgYXR0cmFzZ24gKi8KKwlsdmFyX2RlZmluZWQocCwgaWRlbnQpKSB7CisJU0VUX0xFWF9T
VEFURShFWFBSX0VORHxFWFBSX0xBQkVMKTsKKyAgICB9CisgICAgcmV0dXJuIHJlc3VsdDsKK30K
Kworc3RhdGljIGVudW0geXl0b2tlbnR5cGUKK3BhcnNlcl95eWxleChzdHJ1Y3QgcGFyc2VyX3Bh
cmFtcyAqcCkKK3sKKyAgICByZWdpc3RlciBpbnQgYzsKKyAgICBpbnQgc3BhY2Vfc2VlbiA9IDA7
CisgICAgaW50IGNtZF9zdGF0ZTsKKyAgICBpbnQgbGFiZWw7CisgICAgZW51bSBsZXhfc3RhdGVf
ZSBsYXN0X3N0YXRlOworICAgIGludCBmYWxsdGhydSA9IEZBTFNFOworICAgIGludCB0b2tlbl9z
ZWVuID0gcC0+dG9rZW5fc2VlbjsKKworICAgIGlmIChwLT5sZXguc3RydGVybSkgeworCWlmIChw
LT5sZXguc3RydGVybS0+ZmxhZ3MgJiBTVFJURVJNX0hFUkVET0MpIHsKKwkgICAgcmV0dXJuIGhl
cmVfZG9jdW1lbnQocCwgJnAtPmxleC5zdHJ0ZXJtLT51LmhlcmVkb2MpOworCX0KKwllbHNlIHsK
KwkgICAgdG9rZW5fZmx1c2gocCk7CisJICAgIHJldHVybiBwYXJzZV9zdHJpbmcocCwgJnAtPmxl
eC5zdHJ0ZXJtLT51LmxpdGVyYWwpOworCX0KKyAgICB9CisgICAgY21kX3N0YXRlID0gcC0+Y29t
bWFuZF9zdGFydDsKKyAgICBwLT5jb21tYW5kX3N0YXJ0ID0gRkFMU0U7CisgICAgcC0+dG9rZW5f
c2VlbiA9IFRSVUU7CisgIHJldHJ5OgorICAgIGxhc3Rfc3RhdGUgPSBwLT5sZXguc3RhdGU7Cisj
aWZuZGVmIFJJUFBFUgorICAgIHRva2VuX2ZsdXNoKHApOworI2VuZGlmCisgICAgc3dpdGNoIChj
ID0gbmV4dGMocCkpIHsKKyAgICAgIGNhc2UgJ1wwJzoJCS8qIE5VTCAqLworICAgICAgY2FzZSAn
XDAwNCc6CQkvKiBeRCAqLworICAgICAgY2FzZSAnXDAzMic6CQkvKiBeWiAqLworICAgICAgY2Fz
ZSAtMToJCQkvKiBlbmQgb2Ygc2NyaXB0LiAqLworCXJldHVybiAwOworCisJLyogd2hpdGUgc3Bh
Y2VzICovCisgICAgICBjYXNlICcgJzogY2FzZSAnXHQnOiBjYXNlICdcZic6IGNhc2UgJ1xyJzoK
KyAgICAgIGNhc2UgJ1wxMyc6IC8qICdcdicgKi8KKwlzcGFjZV9zZWVuID0gMTsKKyNpZmRlZiBS
SVBQRVIKKwl3aGlsZSAoKGMgPSBuZXh0YyhwKSkpIHsKKwkgICAgc3dpdGNoIChjKSB7CisJICAg
ICAgY2FzZSAnICc6IGNhc2UgJ1x0JzogY2FzZSAnXGYnOiBjYXNlICdccic6CisJICAgICAgY2Fz
ZSAnXDEzJzogLyogJ1x2JyAqLworCQlicmVhazsKKwkgICAgICBkZWZhdWx0OgorCQlnb3RvIG91
dG9mbG9vcDsKKwkgICAgfQorCX0KKyAgICAgIG91dG9mbG9vcDoKKwlwdXNoYmFjayhwLCBjKTsK
KwlkaXNwYXRjaF9zY2FuX2V2ZW50KHAsIHRTUCk7CisjZW5kaWYKKwlnb3RvIHJldHJ5OworCisg
ICAgICBjYXNlICcjJzoJCS8qIGl0J3MgYSBjb21tZW50ICovCisJcC0+dG9rZW5fc2VlbiA9IHRv
a2VuX3NlZW47CisJLyogbm8gbWFnaWNfY29tbWVudCBpbiBzaGViYW5nIGxpbmUgKi8KKwlpZiAo
IXBhcnNlcl9tYWdpY19jb21tZW50KHAsIHAtPmxleC5wY3VyLCBwLT5sZXgucGVuZCAtIHAtPmxl
eC5wY3VyKSkgeworCSAgICBpZiAoY29tbWVudF9hdF90b3AocCkpIHsKKwkJc2V0X2ZpbGVfZW5j
b2RpbmcocCwgcC0+bGV4LnBjdXIsIHAtPmxleC5wZW5kKTsKKwkgICAgfQorCX0KKwlsZXhfZ290
b19lb2wocCk7CisgICAgICAgIGRpc3BhdGNoX3NjYW5fZXZlbnQocCwgdENPTU1FTlQpOworICAg
ICAgICBmYWxsdGhydSA9IFRSVUU7CisJLyogZmFsbCB0aHJvdWdoICovCisgICAgICBjYXNlICdc
bic6CisJcC0+dG9rZW5fc2VlbiA9IHRva2VuX3NlZW47CisJYyA9IChJU19sZXhfc3RhdGUoRVhQ
Ul9CRUd8RVhQUl9DTEFTU3xFWFBSX0ZOQU1FfEVYUFJfRE9UKSAmJgorCSAgICAgIUlTX2xleF9z
dGF0ZShFWFBSX0xBQkVMRUQpKTsKKwlpZiAoYyB8fCBJU19sZXhfc3RhdGVfYWxsKEVYUFJfQVJH
fEVYUFJfTEFCRUxFRCkpIHsKKyAgICAgICAgICAgIGlmICghZmFsbHRocnUpIHsKKyAgICAgICAg
ICAgICAgICBkaXNwYXRjaF9zY2FuX2V2ZW50KHAsIHRJR05PUkVEX05MKTsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIGZhbGx0aHJ1ID0gRkFMU0U7CisJICAgIGlmICghYyAmJiBwLT5pbl9r
d2FyZykgeworCQlnb3RvIG5vcm1hbF9uZXdsaW5lOworCSAgICB9CisJICAgIGdvdG8gcmV0cnk7
CisJfQorCXdoaWxlICgxKSB7CisJICAgIHN3aXRjaCAoYyA9IG5leHRjKHApKSB7CisJICAgICAg
Y2FzZSAnICc6IGNhc2UgJ1x0JzogY2FzZSAnXGYnOiBjYXNlICdccic6CisJICAgICAgY2FzZSAn
XDEzJzogLyogJ1x2JyAqLworCQlzcGFjZV9zZWVuID0gMTsKKwkJYnJlYWs7CisJICAgICAgY2Fz
ZSAnJic6CisJICAgICAgY2FzZSAnLic6IHsKKwkJZGlzcGF0Y2hfZGVsYXllZF90b2tlbihwLCB0
SUdOT1JFRF9OTCk7CisJCWlmIChwZWVrKHAsICcuJykgPT0gKGMgPT0gJyYnKSkgeworCQkgICAg
cHVzaGJhY2socCwgYyk7CisJCSAgICBkaXNwYXRjaF9zY2FuX2V2ZW50KHAsIHRTUCk7CisJCSAg
ICBnb3RvIHJldHJ5OworCQl9CisJICAgICAgfQorCSAgICAgIGRlZmF1bHQ6CisJCXAtPnJ1Ynlf
c291cmNlbGluZS0tOworCQlwLT5sZXgubmV4dGxpbmUgPSBwLT5sZXgubGFzdGxpbmU7CisJICAg
ICAgY2FzZSAtMToJCS8qIEVPRiBubyBkZWNyZW1lbnQqLworI2lmbmRlZiBSSVBQRVIKKwkJaWYg
KHAtPmxleC5wcmV2bGluZSAmJiAhcC0+ZW9mcCkgcC0+bGV4Lmxhc3RsaW5lID0gcC0+bGV4LnBy
ZXZsaW5lOworCQlwLT5sZXgucGJlZyA9IFJTVFJJTkdfUFRSKHAtPmxleC5sYXN0bGluZSk7CisJ
CXAtPmxleC5wZW5kID0gcC0+bGV4LnBjdXIgPSBwLT5sZXgucGJlZyArIFJTVFJJTkdfTEVOKHAt
PmxleC5sYXN0bGluZSk7CisJCXB1c2hiYWNrKHAsIDEpOyAvKiBhbHdheXMgcHVzaGJhY2sgKi8K
KwkJcC0+bGV4LnB0b2sgPSBwLT5sZXgucGN1cjsKKyNlbHNlCisJCWxleF9nb3RvX2VvbChwKTsK
KwkJaWYgKGMgIT0gLTEpIHsKKwkJICAgIHAtPmxleC5wdG9rID0gcC0+bGV4LnBjdXI7CisJCX0K
KyNlbmRpZgorCQlnb3RvIG5vcm1hbF9uZXdsaW5lOworCSAgICB9CisJfQorICAgICAgbm9ybWFs
X25ld2xpbmU6CisJcC0+Y29tbWFuZF9zdGFydCA9IFRSVUU7CisJU0VUX0xFWF9TVEFURShFWFBS
X0JFRyk7CisJcmV0dXJuICdcbic7CisKKyAgICAgIGNhc2UgJyonOgorCWlmICgoYyA9IG5leHRj
KHApKSA9PSAnKicpIHsKKwkgICAgaWYgKChjID0gbmV4dGMocCkpID09ICc9JykgeworCQlzZXRf
eXlsdmFsX2lkKGlkUG93KTsKKwkJU0VUX0xFWF9TVEFURShFWFBSX0JFRyk7CisJCXJldHVybiB0
T1BfQVNHTjsKKwkgICAgfQorCSAgICBwdXNoYmFjayhwLCBjKTsKKwkgICAgaWYgKElTX1NQQ0FS
RyhjKSkgeworCQlyYl93YXJuaW5nMCgiYCoqJyBpbnRlcnByZXRlZCBhcyBhcmd1bWVudCBwcmVm
aXgiKTsKKwkJYyA9IHREU1RBUjsKKwkgICAgfQorCSAgICBlbHNlIGlmIChJU19CRUcoKSkgewor
CQljID0gdERTVEFSOworCSAgICB9CisJICAgIGVsc2UgeworCQljID0gd2Fybl9iYWxhbmNlZCgo
ZW51bSBydWJ5X21ldGhvZF9pZHMpdFBPVywgIioqIiwgImFyZ3VtZW50IHByZWZpeCIpOworCSAg
ICB9CisJfQorCWVsc2UgeworCSAgICBpZiAoYyA9PSAnPScpIHsKKyAgICAgICAgICAgICAgICBz
ZXRfeXlsdmFsX2lkKCcqJyk7CisJCVNFVF9MRVhfU1RBVEUoRVhQUl9CRUcpOworCQlyZXR1cm4g
dE9QX0FTR047CisJICAgIH0KKwkgICAgcHVzaGJhY2socCwgYyk7CisJICAgIGlmIChJU19TUENB
UkcoYykpIHsKKwkJcmJfd2FybmluZzAoImAqJyBpbnRlcnByZXRlZCBhcyBhcmd1bWVudCBwcmVm
aXgiKTsKKwkJYyA9IHRTVEFSOworCSAgICB9CisJICAgIGVsc2UgaWYgKElTX0JFRygpKSB7CisJ
CWMgPSB0U1RBUjsKKwkgICAgfQorCSAgICBlbHNlIHsKKwkJYyA9IHdhcm5fYmFsYW5jZWQoJyon
LCAiKiIsICJhcmd1bWVudCBwcmVmaXgiKTsKKwkgICAgfQorCX0KKwlTRVRfTEVYX1NUQVRFKElT
X0FGVEVSX09QRVJBVE9SKCkgPyBFWFBSX0FSRyA6IEVYUFJfQkVHKTsKKwlyZXR1cm4gYzsKKwor
ICAgICAgY2FzZSAnISc6CisJYyA9IG5leHRjKHApOworCWlmIChJU19BRlRFUl9PUEVSQVRPUigp
KSB7CisJICAgIFNFVF9MRVhfU1RBVEUoRVhQUl9BUkcpOworCSAgICBpZiAoYyA9PSAnQCcpIHsK
KwkJcmV0dXJuICchJzsKKwkgICAgfQorCX0KKwllbHNlIHsKKwkgICAgU0VUX0xFWF9TVEFURShF
WFBSX0JFRyk7CisJfQorCWlmIChjID09ICc9JykgeworCSAgICByZXR1cm4gdE5FUTsKKwl9CisJ
aWYgKGMgPT0gJ34nKSB7CisJICAgIHJldHVybiB0Tk1BVENIOworCX0KKwlwdXNoYmFjayhwLCBj
KTsKKwlyZXR1cm4gJyEnOworCisgICAgICBjYXNlICc9JzoKKwlpZiAod2FzX2JvbChwKSkgewor
CSAgICAvKiBza2lwIGVtYmVkZGVkIHJkIGRvY3VtZW50ICovCisJICAgIGlmIChzdHJuY21wKHAt
PmxleC5wY3VyLCAiYmVnaW4iLCA1KSA9PSAwICYmIElTU1BBQ0UocC0+bGV4LnBjdXJbNV0pKSB7
CisJCWludCBmaXJzdF9wID0gVFJVRTsKKworCQlsZXhfZ290b19lb2wocCk7CisJCWRpc3BhdGNo
X3NjYW5fZXZlbnQocCwgdEVNQkRPQ19CRUcpOworCQlmb3IgKDs7KSB7CisJCSAgICBsZXhfZ290
b19lb2wocCk7CisJCSAgICBpZiAoIWZpcnN0X3ApIHsKKwkJCWRpc3BhdGNoX3NjYW5fZXZlbnQo
cCwgdEVNQkRPQyk7CisJCSAgICB9CisJCSAgICBmaXJzdF9wID0gRkFMU0U7CisJCSAgICBjID0g
bmV4dGMocCk7CisJCSAgICBpZiAoYyA9PSAtMSkgeworCQkJY29tcGlsZV9lcnJvcihwLCAiZW1i
ZWRkZWQgZG9jdW1lbnQgbWVldHMgZW5kIG9mIGZpbGUiKTsKKwkJCXJldHVybiAwOworCQkgICAg
fQorCQkgICAgaWYgKGMgIT0gJz0nKSBjb250aW51ZTsKKwkJICAgIGlmIChjID09ICc9JyAmJiBz
dHJuY21wKHAtPmxleC5wY3VyLCAiZW5kIiwgMykgPT0gMCAmJgorCQkJKHAtPmxleC5wY3VyICsg
MyA9PSBwLT5sZXgucGVuZCB8fCBJU1NQQUNFKHAtPmxleC5wY3VyWzNdKSkpIHsKKwkJCWJyZWFr
OworCQkgICAgfQorCQl9CisJCWxleF9nb3RvX2VvbChwKTsKKwkJZGlzcGF0Y2hfc2Nhbl9ldmVu
dChwLCB0RU1CRE9DX0VORCk7CisJCWdvdG8gcmV0cnk7CisJICAgIH0KKwl9CisKKwlTRVRfTEVY
X1NUQVRFKElTX0FGVEVSX09QRVJBVE9SKCkgPyBFWFBSX0FSRyA6IEVYUFJfQkVHKTsKKwlpZiAo
KGMgPSBuZXh0YyhwKSkgPT0gJz0nKSB7CisJICAgIGlmICgoYyA9IG5leHRjKHApKSA9PSAnPScp
IHsKKwkJcmV0dXJuIHRFUVE7CisJICAgIH0KKwkgICAgcHVzaGJhY2socCwgYyk7CisJICAgIHJl
dHVybiB0RVE7CisJfQorCWlmIChjID09ICd+JykgeworCSAgICByZXR1cm4gdE1BVENIOworCX0K
KwllbHNlIGlmIChjID09ICc+JykgeworCSAgICByZXR1cm4gdEFTU09DOworCX0KKwlwdXNoYmFj
ayhwLCBjKTsKKwlyZXR1cm4gJz0nOworCisgICAgICBjYXNlICc8JzoKKwlsYXN0X3N0YXRlID0g
cC0+bGV4LnN0YXRlOworCWMgPSBuZXh0YyhwKTsKKwlpZiAoYyA9PSAnPCcgJiYKKwkgICAgIUlT
X2xleF9zdGF0ZShFWFBSX0RPVCB8IEVYUFJfQ0xBU1MpICYmCisJICAgICFJU19FTkQoKSAmJgor
CSAgICAoIUlTX0FSRygpIHx8IElTX2xleF9zdGF0ZShFWFBSX0xBQkVMRUQpIHx8IHNwYWNlX3Nl
ZW4pKSB7CisJICAgIGludCB0b2tlbiA9IGhlcmVkb2NfaWRlbnRpZmllcihwKTsKKwkgICAgaWYg
KHRva2VuKSByZXR1cm4gdG9rZW47CisJfQorCWlmIChJU19BRlRFUl9PUEVSQVRPUigpKSB7CisJ
ICAgIFNFVF9MRVhfU1RBVEUoRVhQUl9BUkcpOworCX0KKwllbHNlIHsKKwkgICAgaWYgKElTX2xl
eF9zdGF0ZShFWFBSX0NMQVNTKSkKKwkJcC0+Y29tbWFuZF9zdGFydCA9IFRSVUU7CisJICAgIFNF
VF9MRVhfU1RBVEUoRVhQUl9CRUcpOworCX0KKwlpZiAoYyA9PSAnPScpIHsKKwkgICAgaWYgKChj
ID0gbmV4dGMocCkpID09ICc+JykgeworCQlyZXR1cm4gdENNUDsKKwkgICAgfQorCSAgICBwdXNo
YmFjayhwLCBjKTsKKwkgICAgcmV0dXJuIHRMRVE7CisJfQorCWlmIChjID09ICc8JykgeworCSAg
ICBpZiAoKGMgPSBuZXh0YyhwKSkgPT0gJz0nKSB7CisJCXNldF95eWx2YWxfaWQoaWRMVExUKTsK
KwkJU0VUX0xFWF9TVEFURShFWFBSX0JFRyk7CisJCXJldHVybiB0T1BfQVNHTjsKKwkgICAgfQor
CSAgICBwdXNoYmFjayhwLCBjKTsKKwkgICAgcmV0dXJuIHdhcm5fYmFsYW5jZWQoKGVudW0gcnVi
eV9tZXRob2RfaWRzKXRMU0hGVCwgIjw8IiwgImhlcmUgZG9jdW1lbnQiKTsKKwl9CisJcHVzaGJh
Y2socCwgYyk7CisJcmV0dXJuICc8JzsKKworICAgICAgY2FzZSAnPic6CisJU0VUX0xFWF9TVEFU
RShJU19BRlRFUl9PUEVSQVRPUigpID8gRVhQUl9BUkcgOiBFWFBSX0JFRyk7CisJaWYgKChjID0g
bmV4dGMocCkpID09ICc9JykgeworCSAgICByZXR1cm4gdEdFUTsKKwl9CisJaWYgKGMgPT0gJz4n
KSB7CisJICAgIGlmICgoYyA9IG5leHRjKHApKSA9PSAnPScpIHsKKwkJc2V0X3l5bHZhbF9pZChp
ZEdUR1QpOworCQlTRVRfTEVYX1NUQVRFKEVYUFJfQkVHKTsKKwkJcmV0dXJuIHRPUF9BU0dOOwor
CSAgICB9CisJICAgIHB1c2hiYWNrKHAsIGMpOworCSAgICByZXR1cm4gdFJTSEZUOworCX0KKwlw
dXNoYmFjayhwLCBjKTsKKwlyZXR1cm4gJz4nOworCisgICAgICBjYXNlICciJzoKKwlsYWJlbCA9
IChJU19MQUJFTF9QT1NTSUJMRSgpID8gc3RyX2xhYmVsIDogMCk7CisJcC0+bGV4LnN0cnRlcm0g
PSBORVdfU1RSVEVSTShzdHJfZHF1b3RlIHwgbGFiZWwsICciJywgMCk7CisJcmV0dXJuIHRTVFJJ
TkdfQkVHOworCisgICAgICBjYXNlICdgJzoKKwlpZiAoSVNfbGV4X3N0YXRlKEVYUFJfRk5BTUUp
KSB7CisJICAgIFNFVF9MRVhfU1RBVEUoRVhQUl9FTkRGTik7CisJICAgIHJldHVybiBjOworCX0K
KwlpZiAoSVNfbGV4X3N0YXRlKEVYUFJfRE9UKSkgeworCSAgICBpZiAoY21kX3N0YXRlKQorCQlT
RVRfTEVYX1NUQVRFKEVYUFJfQ01EQVJHKTsKKwkgICAgZWxzZQorCQlTRVRfTEVYX1NUQVRFKEVY
UFJfQVJHKTsKKwkgICAgcmV0dXJuIGM7CisJfQorCXAtPmxleC5zdHJ0ZXJtID0gTkVXX1NUUlRF
Uk0oc3RyX3hxdW90ZSwgJ2AnLCAwKTsKKwlyZXR1cm4gdFhTVFJJTkdfQkVHOworCisgICAgICBj
YXNlICdcJyc6CisJbGFiZWwgPSAoSVNfTEFCRUxfUE9TU0lCTEUoKSA/IHN0cl9sYWJlbCA6IDAp
OworCXAtPmxleC5zdHJ0ZXJtID0gTkVXX1NUUlRFUk0oc3RyX3NxdW90ZSB8IGxhYmVsLCAnXCcn
LCAwKTsKKwlyZXR1cm4gdFNUUklOR19CRUc7CisKKyAgICAgIGNhc2UgJz8nOgorCXJldHVybiBw
YXJzZV9xbWFyayhwLCBzcGFjZV9zZWVuKTsKKworICAgICAgY2FzZSAnJic6CisJaWYgKChjID0g
bmV4dGMocCkpID09ICcmJykgeworCSAgICBTRVRfTEVYX1NUQVRFKEVYUFJfQkVHKTsKKwkgICAg
aWYgKChjID0gbmV4dGMocCkpID09ICc9JykgeworICAgICAgICAgICAgICAgIHNldF95eWx2YWxf
aWQoaWRBTkRPUCk7CisJCVNFVF9MRVhfU1RBVEUoRVhQUl9CRUcpOworCQlyZXR1cm4gdE9QX0FT
R047CisJICAgIH0KKwkgICAgcHVzaGJhY2socCwgYyk7CisJICAgIHJldHVybiB0QU5ET1A7CisJ
fQorCWVsc2UgaWYgKGMgPT0gJz0nKSB7CisgICAgICAgICAgICBzZXRfeXlsdmFsX2lkKCcmJyk7
CisJICAgIFNFVF9MRVhfU1RBVEUoRVhQUl9CRUcpOworCSAgICByZXR1cm4gdE9QX0FTR047CisJ
fQorCWVsc2UgaWYgKGMgPT0gJy4nKSB7CisJICAgIHNldF95eWx2YWxfaWQoaWRBTkRET1QpOwor
CSAgICBTRVRfTEVYX1NUQVRFKEVYUFJfRE9UKTsKKwkgICAgcmV0dXJuIHRBTkRET1Q7CisJfQor
CXB1c2hiYWNrKHAsIGMpOworCWlmIChJU19TUENBUkcoYykpIHsKKwkgICAgaWYgKChjICE9ICc6
JykgfHwKKwkJKGMgPSBwZWVrY19uKHAsIDEpKSA9PSAtMSB8fAorCQkhKGMgPT0gJ1wnJyB8fCBj
ID09ICciJyB8fAorCQkgIGlzX2lkZW50Y2hhcigocC0+bGV4LnBjdXIrMSksIHAtPmxleC5wZW5k
LCBwLT5lbmMpKSkgeworCQlyYl93YXJuaW5nMCgiYCYnIGludGVycHJldGVkIGFzIGFyZ3VtZW50
IHByZWZpeCIpOworCSAgICB9CisJICAgIGMgPSB0QU1QRVI7CisJfQorCWVsc2UgaWYgKElTX0JF
RygpKSB7CisJICAgIGMgPSB0QU1QRVI7CisJfQorCWVsc2UgeworCSAgICBjID0gd2Fybl9iYWxh
bmNlZCgnJicsICImIiwgImFyZ3VtZW50IHByZWZpeCIpOworCX0KKwlTRVRfTEVYX1NUQVRFKElT
X0FGVEVSX09QRVJBVE9SKCkgPyBFWFBSX0FSRyA6IEVYUFJfQkVHKTsKKwlyZXR1cm4gYzsKKwor
ICAgICAgY2FzZSAnfCc6CisJaWYgKChjID0gbmV4dGMocCkpID09ICd8JykgeworCSAgICBTRVRf
TEVYX1NUQVRFKEVYUFJfQkVHKTsKKwkgICAgaWYgKChjID0gbmV4dGMocCkpID09ICc9Jykgewor
ICAgICAgICAgICAgICAgIHNldF95eWx2YWxfaWQoaWRPUk9QKTsKKwkJU0VUX0xFWF9TVEFURShF
WFBSX0JFRyk7CisJCXJldHVybiB0T1BfQVNHTjsKKwkgICAgfQorCSAgICBwdXNoYmFjayhwLCBj
KTsKKwkgICAgcmV0dXJuIHRPUk9QOworCX0KKwlpZiAoYyA9PSAnPScpIHsKKyAgICAgICAgICAg
IHNldF95eWx2YWxfaWQoJ3wnKTsKKwkgICAgU0VUX0xFWF9TVEFURShFWFBSX0JFRyk7CisJICAg
IHJldHVybiB0T1BfQVNHTjsKKwl9CisJU0VUX0xFWF9TVEFURShJU19BRlRFUl9PUEVSQVRPUigp
ID8gRVhQUl9BUkcgOiBFWFBSX0JFR3xFWFBSX0xBQkVMKTsKKwlwdXNoYmFjayhwLCBjKTsKKwly
ZXR1cm4gJ3wnOworCisgICAgICBjYXNlICcrJzoKKwljID0gbmV4dGMocCk7CisJaWYgKElTX0FG
VEVSX09QRVJBVE9SKCkpIHsKKwkgICAgU0VUX0xFWF9TVEFURShFWFBSX0FSRyk7CisJICAgIGlm
IChjID09ICdAJykgeworCQlyZXR1cm4gdFVQTFVTOworCSAgICB9CisJICAgIHB1c2hiYWNrKHAs
IGMpOworCSAgICByZXR1cm4gJysnOworCX0KKwlpZiAoYyA9PSAnPScpIHsKKyAgICAgICAgICAg
IHNldF95eWx2YWxfaWQoJysnKTsKKwkgICAgU0VUX0xFWF9TVEFURShFWFBSX0JFRyk7CisJICAg
IHJldHVybiB0T1BfQVNHTjsKKwl9CisJaWYgKElTX0JFRygpIHx8IChJU19TUENBUkcoYykgJiYg
YXJnX2FtYmlndW91cyhwLCAnKycpKSkgeworCSAgICBTRVRfTEVYX1NUQVRFKEVYUFJfQkVHKTsK
KwkgICAgcHVzaGJhY2socCwgYyk7CisJICAgIGlmIChjICE9IC0xICYmIElTRElHSVQoYykpIHsK
KwkJcmV0dXJuIHBhcnNlX251bWVyaWMocCwgJysnKTsKKwkgICAgfQorCSAgICByZXR1cm4gdFVQ
TFVTOworCX0KKwlTRVRfTEVYX1NUQVRFKEVYUFJfQkVHKTsKKwlwdXNoYmFjayhwLCBjKTsKKwly
ZXR1cm4gd2Fybl9iYWxhbmNlZCgnKycsICIrIiwgInVuYXJ5IG9wZXJhdG9yIik7CisKKyAgICAg
IGNhc2UgJy0nOgorCWMgPSBuZXh0YyhwKTsKKwlpZiAoSVNfQUZURVJfT1BFUkFUT1IoKSkgewor
CSAgICBTRVRfTEVYX1NUQVRFKEVYUFJfQVJHKTsKKwkgICAgaWYgKGMgPT0gJ0AnKSB7CisJCXJl
dHVybiB0VU1JTlVTOworCSAgICB9CisJICAgIHB1c2hiYWNrKHAsIGMpOworCSAgICByZXR1cm4g
Jy0nOworCX0KKwlpZiAoYyA9PSAnPScpIHsKKyAgICAgICAgICAgIHNldF95eWx2YWxfaWQoJy0n
KTsKKwkgICAgU0VUX0xFWF9TVEFURShFWFBSX0JFRyk7CisJICAgIHJldHVybiB0T1BfQVNHTjsK
Kwl9CisJaWYgKGMgPT0gJz4nKSB7CisJICAgIFNFVF9MRVhfU1RBVEUoRVhQUl9FTkRGTik7CisJ
ICAgIHJldHVybiB0TEFNQkRBOworCX0KKwlpZiAoSVNfQkVHKCkgfHwgKElTX1NQQ0FSRyhjKSAm
JiBhcmdfYW1iaWd1b3VzKHAsICctJykpKSB7CisJICAgIFNFVF9MRVhfU1RBVEUoRVhQUl9CRUcp
OworCSAgICBwdXNoYmFjayhwLCBjKTsKKwkgICAgaWYgKGMgIT0gLTEgJiYgSVNESUdJVChjKSkg
eworCQlyZXR1cm4gdFVNSU5VU19OVU07CisJICAgIH0KKwkgICAgcmV0dXJuIHRVTUlOVVM7CisJ
fQorCVNFVF9MRVhfU1RBVEUoRVhQUl9CRUcpOworCXB1c2hiYWNrKHAsIGMpOworCXJldHVybiB3
YXJuX2JhbGFuY2VkKCctJywgIi0iLCAidW5hcnkgb3BlcmF0b3IiKTsKKworICAgICAgY2FzZSAn
Lic6CisJU0VUX0xFWF9TVEFURShFWFBSX0JFRyk7CisJaWYgKChjID0gbmV4dGMocCkpID09ICcu
JykgeworCSAgICBpZiAoKGMgPSBuZXh0YyhwKSkgPT0gJy4nKSB7CisJCXJldHVybiB0RE9UMzsK
KwkgICAgfQorCSAgICBwdXNoYmFjayhwLCBjKTsKKwkgICAgcmV0dXJuIHRET1QyOworCX0KKwlw
dXNoYmFjayhwLCBjKTsKKwlpZiAoYyAhPSAtMSAmJiBJU0RJR0lUKGMpKSB7CisJICAgIHl5ZXJy
b3IwKCJubyAuPGRpZ2l0PiBmbG9hdGluZyBsaXRlcmFsIGFueW1vcmU7IHB1dCAwIGJlZm9yZSBk
b3QiKTsKKwl9CisJc2V0X3l5bHZhbF9pZCgnLicpOworCVNFVF9MRVhfU1RBVEUoRVhQUl9ET1Qp
OworCXJldHVybiAnLic7CisKKyAgICAgIGNhc2UgJzAnOiBjYXNlICcxJzogY2FzZSAnMic6IGNh
c2UgJzMnOiBjYXNlICc0JzoKKyAgICAgIGNhc2UgJzUnOiBjYXNlICc2JzogY2FzZSAnNyc6IGNh
c2UgJzgnOiBjYXNlICc5JzoKKwlyZXR1cm4gcGFyc2VfbnVtZXJpYyhwLCBjKTsKKworICAgICAg
Y2FzZSAnKSc6CisJQ09ORF9QT1AoKTsKKwlDTURBUkdfUE9QKCk7CisJU0VUX0xFWF9TVEFURShF
WFBSX0VOREZOKTsKKwlwLT5sZXgucGFyZW5fbmVzdC0tOworCXJldHVybiBjOworCisgICAgICBj
YXNlICddJzoKKwlDT05EX1BPUCgpOworCUNNREFSR19QT1AoKTsKKwlTRVRfTEVYX1NUQVRFKEVY
UFJfRU5EKTsKKwlwLT5sZXgucGFyZW5fbmVzdC0tOworCXJldHVybiBjOworCisgICAgICBjYXNl
ICd9JzoKKwkvKiB0U1RSSU5HX0RFTkQgZG9lcyBDT05EX1BPUCBhbmQgQ01EQVJHX1BPUCBpbiB0
aGUgeWFjYydzIHJ1bGUgKi8KKwlpZiAoIXAtPmxleC5icmFjZV9uZXN0LS0pIHJldHVybiB0U1RS
SU5HX0RFTkQ7CisJQ09ORF9QT1AoKTsKKwlDTURBUkdfUE9QKCk7CisJU0VUX0xFWF9TVEFURShF
WFBSX0VORCk7CisJcC0+bGV4LnBhcmVuX25lc3QtLTsKKwlyZXR1cm4gYzsKKworICAgICAgY2Fz
ZSAnOic6CisJYyA9IG5leHRjKHApOworCWlmIChjID09ICc6JykgeworCSAgICBpZiAoSVNfQkVH
KCkgfHwgSVNfbGV4X3N0YXRlKEVYUFJfQ0xBU1MpIHx8IElTX1NQQ0FSRygtMSkpIHsKKwkJU0VU
X0xFWF9TVEFURShFWFBSX0JFRyk7CisJCXJldHVybiB0Q09MT04zOworCSAgICB9CisJICAgIHNl
dF95eWx2YWxfaWQoaWRDT0xPTjIpOworCSAgICBTRVRfTEVYX1NUQVRFKEVYUFJfRE9UKTsKKwkg
ICAgcmV0dXJuIHRDT0xPTjI7CisJfQorCWlmIChJU19FTkQoKSB8fCBJU1NQQUNFKGMpIHx8IGMg
PT0gJyMnKSB7CisJICAgIHB1c2hiYWNrKHAsIGMpOworCSAgICBjID0gd2Fybl9iYWxhbmNlZCgn
OicsICI6IiwgInN5bWJvbCBsaXRlcmFsIik7CisJICAgIFNFVF9MRVhfU1RBVEUoRVhQUl9CRUcp
OworCSAgICByZXR1cm4gYzsKKwl9CisJc3dpdGNoIChjKSB7CisJICBjYXNlICdcJyc6CisJICAg
IHAtPmxleC5zdHJ0ZXJtID0gTkVXX1NUUlRFUk0oc3RyX3NzeW0sIGMsIDApOworCSAgICBicmVh
azsKKwkgIGNhc2UgJyInOgorCSAgICBwLT5sZXguc3RydGVybSA9IE5FV19TVFJURVJNKHN0cl9k
c3ltLCBjLCAwKTsKKwkgICAgYnJlYWs7CisJICBkZWZhdWx0OgorCSAgICBwdXNoYmFjayhwLCBj
KTsKKwkgICAgYnJlYWs7CisJfQorCVNFVF9MRVhfU1RBVEUoRVhQUl9GTkFNRSk7CisJcmV0dXJu
IHRTWU1CRUc7CisKKyAgICAgIGNhc2UgJy8nOgorCWlmIChJU19CRUcoKSkgeworCSAgICBwLT5s
ZXguc3RydGVybSA9IE5FV19TVFJURVJNKHN0cl9yZWdleHAsICcvJywgMCk7CisJICAgIHJldHVy
biB0UkVHRVhQX0JFRzsKKwl9CisJaWYgKChjID0gbmV4dGMocCkpID09ICc9JykgeworICAgICAg
ICAgICAgc2V0X3l5bHZhbF9pZCgnLycpOworCSAgICBTRVRfTEVYX1NUQVRFKEVYUFJfQkVHKTsK
KwkgICAgcmV0dXJuIHRPUF9BU0dOOworCX0KKwlwdXNoYmFjayhwLCBjKTsKKwlpZiAoSVNfU1BD
QVJHKGMpKSB7CisJICAgIGFyZ19hbWJpZ3VvdXMocCwgJy8nKTsKKwkgICAgcC0+bGV4LnN0cnRl
cm0gPSBORVdfU1RSVEVSTShzdHJfcmVnZXhwLCAnLycsIDApOworCSAgICByZXR1cm4gdFJFR0VY
UF9CRUc7CisJfQorCVNFVF9MRVhfU1RBVEUoSVNfQUZURVJfT1BFUkFUT1IoKSA/IEVYUFJfQVJH
IDogRVhQUl9CRUcpOworCXJldHVybiB3YXJuX2JhbGFuY2VkKCcvJywgIi8iLCAicmVnZXhwIGxp
dGVyYWwiKTsKKworICAgICAgY2FzZSAnXic6CisJaWYgKChjID0gbmV4dGMocCkpID09ICc9Jykg
eworICAgICAgICAgICAgc2V0X3l5bHZhbF9pZCgnXicpOworCSAgICBTRVRfTEVYX1NUQVRFKEVY
UFJfQkVHKTsKKwkgICAgcmV0dXJuIHRPUF9BU0dOOworCX0KKwlTRVRfTEVYX1NUQVRFKElTX0FG
VEVSX09QRVJBVE9SKCkgPyBFWFBSX0FSRyA6IEVYUFJfQkVHKTsKKwlwdXNoYmFjayhwLCBjKTsK
KwlyZXR1cm4gJ14nOworCisgICAgICBjYXNlICc7JzoKKwlTRVRfTEVYX1NUQVRFKEVYUFJfQkVH
KTsKKwlwLT5jb21tYW5kX3N0YXJ0ID0gVFJVRTsKKwlyZXR1cm4gJzsnOworCisgICAgICBjYXNl
ICcsJzoKKwlTRVRfTEVYX1NUQVRFKEVYUFJfQkVHfEVYUFJfTEFCRUwpOworCXJldHVybiAnLCc7
CisKKyAgICAgIGNhc2UgJ34nOgorCWlmIChJU19BRlRFUl9PUEVSQVRPUigpKSB7CisJICAgIGlm
ICgoYyA9IG5leHRjKHApKSAhPSAnQCcpIHsKKwkJcHVzaGJhY2socCwgYyk7CisJICAgIH0KKwkg
ICAgU0VUX0xFWF9TVEFURShFWFBSX0FSRyk7CisJfQorCWVsc2UgeworCSAgICBTRVRfTEVYX1NU
QVRFKEVYUFJfQkVHKTsKKwl9CisJcmV0dXJuICd+JzsKKworICAgICAgY2FzZSAnKCc6CisJaWYg
KElTX0JFRygpKSB7CisJICAgIGMgPSB0TFBBUkVOOworCX0KKwllbHNlIGlmICghc3BhY2Vfc2Vl
bikgeworCSAgICAvKiBmb28oIC4uLiApID0+IG1ldGhvZCBjYWxsLCBubyBhbWJpZ3VpdHkgKi8K
Kwl9CisJZWxzZSBpZiAoSVNfQVJHKCkgfHwgSVNfbGV4X3N0YXRlX2FsbChFWFBSX0VORHxFWFBS
X0xBQkVMKSkgeworCSAgICBjID0gdExQQVJFTl9BUkc7CisJfQorCWVsc2UgaWYgKElTX2xleF9z
dGF0ZShFWFBSX0VOREZOKSAmJiAhbGFtYmRhX2JlZ2lubmluZ19wKCkpIHsKKwkgICAgcmJfd2Fy
bmluZzAoInBhcmVudGhlc2VzIGFmdGVyIG1ldGhvZCBuYW1lIGlzIGludGVycHJldGVkIGFzICIK
KwkJCSJhbiBhcmd1bWVudCBsaXN0LCBub3QgYSBkZWNvbXBvc2VkIGFyZ3VtZW50Iik7CisJfQor
CXAtPmxleC5wYXJlbl9uZXN0Kys7CisJQ09ORF9QVVNIKDApOworCUNNREFSR19QVVNIKDApOwor
CVNFVF9MRVhfU1RBVEUoRVhQUl9CRUd8RVhQUl9MQUJFTCk7CisJcmV0dXJuIGM7CisKKyAgICAg
IGNhc2UgJ1snOgorCXAtPmxleC5wYXJlbl9uZXN0Kys7CisJaWYgKElTX0FGVEVSX09QRVJBVE9S
KCkpIHsKKwkgICAgaWYgKChjID0gbmV4dGMocCkpID09ICddJykgeworCQlTRVRfTEVYX1NUQVRF
KEVYUFJfQVJHKTsKKwkJaWYgKChjID0gbmV4dGMocCkpID09ICc9JykgeworCQkgICAgcmV0dXJu
IHRBU0VUOworCQl9CisJCXB1c2hiYWNrKHAsIGMpOworCQlyZXR1cm4gdEFSRUY7CisJICAgIH0K
KwkgICAgcHVzaGJhY2socCwgYyk7CisJICAgIFNFVF9MRVhfU1RBVEUoRVhQUl9BUkd8RVhQUl9M
QUJFTCk7CisJICAgIHJldHVybiAnWyc7CisJfQorCWVsc2UgaWYgKElTX0JFRygpKSB7CisJICAg
IGMgPSB0TEJSQUNLOworCX0KKwllbHNlIGlmIChJU19BUkcoKSAmJiAoc3BhY2Vfc2VlbiB8fCBJ
U19sZXhfc3RhdGUoRVhQUl9MQUJFTEVEKSkpIHsKKwkgICAgYyA9IHRMQlJBQ0s7CisJfQorCVNF
VF9MRVhfU1RBVEUoRVhQUl9CRUd8RVhQUl9MQUJFTCk7CisJQ09ORF9QVVNIKDApOworCUNNREFS
R19QVVNIKDApOworCXJldHVybiBjOworCisgICAgICBjYXNlICd7JzoKKwkrK3AtPmxleC5icmFj
ZV9uZXN0OworCWlmIChsYW1iZGFfYmVnaW5uaW5nX3AoKSkgeworCSAgICBTRVRfTEVYX1NUQVRF
KEVYUFJfQkVHKTsKKwkgICAgQ09ORF9QVVNIKDApOworCSAgICBDTURBUkdfUFVTSCgwKTsKKwkg
ICAgcC0+bGV4LnBhcmVuX25lc3QrKzsKKwkgICAgcmV0dXJuIHRMQU1CRUc7CisJfQorCXAtPmxl
eC5wYXJlbl9uZXN0Kys7CisJaWYgKElTX2xleF9zdGF0ZShFWFBSX0xBQkVMRUQpKQorCSAgICBj
ID0gdExCUkFDRTsgICAgICAvKiBoYXNoICovCisJZWxzZSBpZiAoSVNfbGV4X3N0YXRlKEVYUFJf
QVJHX0FOWSB8IEVYUFJfRU5EIHwgRVhQUl9FTkRGTikpCisJICAgIGMgPSAneyc7ICAgICAgICAg
IC8qIGJsb2NrIChwcmltYXJ5KSAqLworCWVsc2UgaWYgKElTX2xleF9zdGF0ZShFWFBSX0VOREFS
RykpCisJICAgIGMgPSB0TEJSQUNFX0FSRzsgIC8qIGJsb2NrIChleHByKSAqLworCWVsc2UKKwkg
ICAgYyA9IHRMQlJBQ0U7ICAgICAgLyogaGFzaCAqLworCUNPTkRfUFVTSCgwKTsKKwlDTURBUkdf
UFVTSCgwKTsKKwlTRVRfTEVYX1NUQVRFKGMgIT0gdExCUkFDRSA/IEVYUFJfQkVHIDogRVhQUl9C
RUd8RVhQUl9MQUJFTCk7CisJaWYgKGMgIT0gdExCUkFDRSkgcC0+Y29tbWFuZF9zdGFydCA9IFRS
VUU7CisJcmV0dXJuIGM7CisKKyAgICAgIGNhc2UgJ1xcJzoKKwljID0gbmV4dGMocCk7CisJaWYg
KGMgPT0gJ1xuJykgeworCSAgICBzcGFjZV9zZWVuID0gMTsKKwkgICAgZGlzcGF0Y2hfc2Nhbl9l
dmVudChwLCB0U1ApOworCSAgICBnb3RvIHJldHJ5OyAvKiBza2lwIFxcbiAqLworCX0KKwlpZiAo
YyA9PSAnICcpIHJldHVybiB0U1A7CisJaWYgKElTU1BBQ0UoYykpIHJldHVybiBjOworCXB1c2hi
YWNrKHAsIGMpOworCXJldHVybiAnXFwnOworCisgICAgICBjYXNlICclJzoKKwlyZXR1cm4gcGFy
c2VfcGVyY2VudChwLCBzcGFjZV9zZWVuLCBsYXN0X3N0YXRlKTsKKworICAgICAgY2FzZSAnJCc6
CisJcmV0dXJuIHBhcnNlX2d2YXIocCwgbGFzdF9zdGF0ZSk7CisKKyAgICAgIGNhc2UgJ0AnOgor
CXJldHVybiBwYXJzZV9hdG1hcmsocCwgbGFzdF9zdGF0ZSk7CisKKyAgICAgIGNhc2UgJ18nOgor
CWlmICh3YXNfYm9sKHApICYmIHdob2xlX21hdGNoX3AocCwgIl9fRU5EX18iLCA3LCAwKSkgewor
CSAgICBwLT5ydWJ5X19lbmRfX3NlZW4gPSAxOworCSAgICBwLT5lb2ZwID0gMTsKKyNpZm5kZWYg
UklQUEVSCisJICAgIHJldHVybiAtMTsKKyNlbHNlCisgICAgICAgICAgICBsZXhfZ290b19lb2wo
cCk7CisgICAgICAgICAgICBkaXNwYXRjaF9zY2FuX2V2ZW50KHAsIGtfX0VORF9fKTsKKyAgICAg
ICAgICAgIHJldHVybiAwOworI2VuZGlmCisJfQorCW5ld3RvayhwKTsKKwlicmVhazsKKworICAg
ICAgZGVmYXVsdDoKKwlpZiAoIXBhcnNlcl9pc19pZGVudGNoYXIocCkpIHsKKwkgICAgY29tcGls
ZV9lcnJvcihwLCAiSW52YWxpZCBjaGFyIGBcXHglMDJYJyBpbiBleHByZXNzaW9uIiwgYyk7CisJ
ICAgIGdvdG8gcmV0cnk7CisJfQorCisJbmV3dG9rKHApOworCWJyZWFrOworICAgIH0KKworICAg
IHJldHVybiBwYXJzZV9pZGVudChwLCBjLCBjbWRfc3RhdGUpOworfQorCitzdGF0aWMgZW51bSB5
eXRva2VudHlwZQoreXlsZXgoWVlTVFlQRSAqbHZhbCwgWVlMVFlQRSAqeXlsbG9jLCBzdHJ1Y3Qg
cGFyc2VyX3BhcmFtcyAqcCkKK3sKKyAgICBlbnVtIHl5dG9rZW50eXBlIHQ7CisKKyAgICBwLT5s
dmFsID0gbHZhbDsKKyAgICBsdmFsLT52YWwgPSBRdW5kZWY7CisgICAgdCA9IHBhcnNlcl95eWxl
eChwKTsKKyAgICBpZiAoaGFzX2RlbGF5ZWRfdG9rZW4ocCkpCisJZGlzcGF0Y2hfZGVsYXllZF90
b2tlbihwLCB0KTsKKyAgICBlbHNlIGlmICh0ICE9IDApCisJZGlzcGF0Y2hfc2Nhbl9ldmVudChw
LCB0KTsKKworICAgIGlmIChwLT5sZXguc3RydGVybSAmJiAocC0+bGV4LnN0cnRlcm0tPmZsYWdz
ICYgU1RSVEVSTV9IRVJFRE9DKSkKKwlSVUJZX1NFVF9ZWUxMT0NfRlJPTV9TVFJURVJNX0hFUkVE
T0MoKnl5bGxvYyk7CisgICAgZWxzZQorCVJVQllfU0VUX1lZTExPQygqeXlsbG9jKTsKKworICAg
IHJldHVybiB0OworfQorCisjZGVmaW5lIExWQVJfVVNFRCAoKElEKTEgPDwgKHNpemVvZihJRCkg
KiBDSEFSX0JJVCAtIDEpKQorCitzdGF0aWMgTk9ERSoKK25vZGVfbmV3bm9kZShzdHJ1Y3QgcGFy
c2VyX3BhcmFtcyAqcCwgZW51bSBub2RlX3R5cGUgdHlwZSwgVkFMVUUgYTAsIFZBTFVFIGExLCBW
QUxVRSBhMiwgY29uc3QgcmJfY29kZV9sb2NhdGlvbl90ICpsb2MpCit7CisgICAgTk9ERSAqbiA9
IHJiX2FzdF9uZXdub2RlKHAtPmFzdCk7CisKKyAgICByYl9ub2RlX2luaXQobiwgdHlwZSwgYTAs
IGExLCBhMik7CisKKyAgICBuZF9zZXRfbG9jKG4sIGxvYyk7CisgICAgbmRfc2V0X25vZGVfaWQo
biwgcGFyc2VyX2dldF9ub2RlX2lkKHApKTsKKyAgICByZXR1cm4gbjsKK30KKworc3RhdGljIE5P
REUgKgorbmRfc2V0X2xvYyhOT0RFICpuZCwgY29uc3QgWVlMVFlQRSAqbG9jKQoreworICAgIG5k
LT5uZF9sb2MgPSAqbG9jOworICAgIG5kX3NldF9saW5lKG5kLCBsb2MtPmJlZ19wb3MubGluZW5v
KTsKKyAgICByZXR1cm4gbmQ7Cit9CisKKyNpZm5kZWYgUklQUEVSCitzdGF0aWMgZW51bSBub2Rl
X3R5cGUKK25vZGV0eXBlKE5PREUgKm5vZGUpCQkJLyogZm9yIGRlYnVnICovCit7CisgICAgcmV0
dXJuIChlbnVtIG5vZGVfdHlwZSluZF90eXBlKG5vZGUpOworfQorCitzdGF0aWMgaW50Citub2Rl
bGluZShOT0RFICpub2RlKQoreworICAgIHJldHVybiBuZF9saW5lKG5vZGUpOworfQorCitzdGF0
aWMgTk9ERSoKK25ld2xpbmVfbm9kZShOT0RFICpub2RlKQoreworICAgIGlmIChub2RlKSB7CisJ
bm9kZSA9IHJlbW92ZV9iZWdpbihub2RlKTsKKwlub2RlLT5mbGFncyB8PSBOT0RFX0ZMX05FV0xJ
TkU7CisgICAgfQorICAgIHJldHVybiBub2RlOworfQorCitzdGF0aWMgdm9pZAorZml4cG9zKE5P
REUgKm5vZGUsIE5PREUgKm9yaWcpCit7CisgICAgaWYgKCFub2RlKSByZXR1cm47CisgICAgaWYg
KCFvcmlnKSByZXR1cm47CisgICAgbmRfc2V0X2xpbmUobm9kZSwgbmRfbGluZShvcmlnKSk7Cit9
CisKK3N0YXRpYyB2b2lkCitwYXJzZXJfd2FybmluZyhzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwg
Tk9ERSAqbm9kZSwgY29uc3QgY2hhciAqbWVzZykKK3sKKyAgICByYl9jb21waWxlX3dhcm5pbmco
cC0+cnVieV9zb3VyY2VmaWxlLCBuZF9saW5lKG5vZGUpLCAiJXMiLCBtZXNnKTsKK30KKworc3Rh
dGljIHZvaWQKK3BhcnNlcl93YXJuKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBOT0RFICpub2Rl
LCBjb25zdCBjaGFyICptZXNnKQoreworICAgIHJiX2NvbXBpbGVfd2FybihwLT5ydWJ5X3NvdXJj
ZWZpbGUsIG5kX2xpbmUobm9kZSksICIlcyIsIG1lc2cpOworfQorCitzdGF0aWMgTk9ERSoKK2Js
b2NrX2FwcGVuZChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgTk9ERSAqaGVhZCwgTk9ERSAqdGFp
bCkKK3sKKyAgICBOT0RFICplbmQsICpoID0gaGVhZCwgKm5kOworCisgICAgaWYgKHRhaWwgPT0g
MCkgcmV0dXJuIGhlYWQ7CisKKyAgICBpZiAoaCA9PSAwKSByZXR1cm4gdGFpbDsKKyAgICBzd2l0
Y2ggKG5kX3R5cGUoaCkpIHsKKyAgICAgIGNhc2UgTk9ERV9MSVQ6CisgICAgICBjYXNlIE5PREVf
U1RSOgorICAgICAgY2FzZSBOT0RFX1NFTEY6CisgICAgICBjYXNlIE5PREVfVFJVRToKKyAgICAg
IGNhc2UgTk9ERV9GQUxTRToKKyAgICAgIGNhc2UgTk9ERV9OSUw6CisJcGFyc2VyX3dhcm5pbmco
cCwgaCwgInVudXNlZCBsaXRlcmFsIGlnbm9yZWQiKTsKKwlyZXR1cm4gdGFpbDsKKyAgICAgIGRl
ZmF1bHQ6CisJaCA9IGVuZCA9IE5FV19CTE9DSyhoZWFkLCAmaGVhZC0+bmRfbG9jKTsKKwllbmQt
Pm5kX2VuZCA9IGVuZDsKKwloZWFkID0gZW5kOworCWJyZWFrOworICAgICAgY2FzZSBOT0RFX0JM
T0NLOgorCWVuZCA9IGgtPm5kX2VuZDsKKwlicmVhazsKKyAgICB9CisKKyAgICBuZCA9IGVuZC0+
bmRfaGVhZDsKKyAgICBzd2l0Y2ggKG5kX3R5cGUobmQpKSB7CisgICAgICBjYXNlIE5PREVfUkVU
VVJOOgorICAgICAgY2FzZSBOT0RFX0JSRUFLOgorICAgICAgY2FzZSBOT0RFX05FWFQ6CisgICAg
ICBjYXNlIE5PREVfUkVETzoKKyAgICAgIGNhc2UgTk9ERV9SRVRSWToKKwlpZiAoUlRFU1QocnVi
eV92ZXJib3NlKSkgeworCSAgICBwYXJzZXJfd2FybmluZyhwLCB0YWlsLCAic3RhdGVtZW50IG5v
dCByZWFjaGVkIik7CisJfQorCWJyZWFrOworCisgICAgICBkZWZhdWx0OgorCWJyZWFrOworICAg
IH0KKworICAgIGlmIChuZF90eXBlKHRhaWwpICE9IE5PREVfQkxPQ0spIHsKKwl0YWlsID0gTkVX
X0JMT0NLKHRhaWwsICZ0YWlsLT5uZF9sb2MpOworCXRhaWwtPm5kX2VuZCA9IHRhaWw7CisgICAg
fQorICAgIGVuZC0+bmRfbmV4dCA9IHRhaWw7CisgICAgaC0+bmRfZW5kID0gdGFpbC0+bmRfZW5k
OworICAgIG5kX3NldF9sYXN0X2xvYyhoZWFkLCBuZF9sYXN0X2xvYyh0YWlsKSk7CisgICAgcmV0
dXJuIGhlYWQ7Cit9CisKKy8qIGFwcGVuZCBpdGVtIHRvIHRoZSBsaXN0ICovCitzdGF0aWMgTk9E
RSoKK2xpc3RfYXBwZW5kKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBOT0RFICpsaXN0LCBOT0RF
ICppdGVtKQoreworICAgIE5PREUgKmxhc3Q7CisKKyAgICBpZiAobGlzdCA9PSAwKSByZXR1cm4g
TkVXX0xJU1QoaXRlbSwgJml0ZW0tPm5kX2xvYyk7CisgICAgaWYgKGxpc3QtPm5kX25leHQpIHsK
KwlsYXN0ID0gbGlzdC0+bmRfbmV4dC0+bmRfZW5kOworICAgIH0KKyAgICBlbHNlIHsKKwlsYXN0
ID0gbGlzdDsKKyAgICB9CisKKyAgICBsaXN0LT5uZF9hbGVuICs9IDE7CisgICAgbGFzdC0+bmRf
bmV4dCA9IE5FV19MSVNUKGl0ZW0sICZpdGVtLT5uZF9sb2MpOworICAgIGxpc3QtPm5kX25leHQt
Pm5kX2VuZCA9IGxhc3QtPm5kX25leHQ7CisKKyAgICBuZF9zZXRfbGFzdF9sb2MobGlzdCwgbmRf
bGFzdF9sb2MoaXRlbSkpOworCisgICAgcmV0dXJuIGxpc3Q7Cit9CisKKy8qIGNvbmNhdCB0d28g
bGlzdHMgKi8KK3N0YXRpYyBOT0RFKgorbGlzdF9jb25jYXQoTk9ERSAqaGVhZCwgTk9ERSAqdGFp
bCkKK3sKKyAgICBOT0RFICpsYXN0OworCisgICAgaWYgKGhlYWQtPm5kX25leHQpIHsKKwlsYXN0
ID0gaGVhZC0+bmRfbmV4dC0+bmRfZW5kOworICAgIH0KKyAgICBlbHNlIHsKKwlsYXN0ID0gaGVh
ZDsKKyAgICB9CisKKyAgICBoZWFkLT5uZF9hbGVuICs9IHRhaWwtPm5kX2FsZW47CisgICAgbGFz
dC0+bmRfbmV4dCA9IHRhaWw7CisgICAgaWYgKHRhaWwtPm5kX25leHQpIHsKKwloZWFkLT5uZF9u
ZXh0LT5uZF9lbmQgPSB0YWlsLT5uZF9uZXh0LT5uZF9lbmQ7CisgICAgfQorICAgIGVsc2Ugewor
CWhlYWQtPm5kX25leHQtPm5kX2VuZCA9IHRhaWw7CisgICAgfQorCisgICAgbmRfc2V0X2xhc3Rf
bG9jKGhlYWQsIG5kX2xhc3RfbG9jKHRhaWwpKTsKKworICAgIHJldHVybiBoZWFkOworfQorCitz
dGF0aWMgaW50CitsaXRlcmFsX2NvbmNhdDAoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIFZBTFVF
IGhlYWQsIFZBTFVFIHRhaWwpCit7CisgICAgaWYgKE5JTF9QKHRhaWwpKSByZXR1cm4gMTsKKyAg
ICBpZiAoIXJiX2VuY19jb21wYXRpYmxlKGhlYWQsIHRhaWwpKSB7CisJY29tcGlsZV9lcnJvcihw
LCAic3RyaW5nIGxpdGVyYWwgZW5jb2RpbmdzIGRpZmZlciAoJXMgLyAlcykiLAorCQkgICAgICBy
Yl9lbmNfbmFtZShyYl9lbmNfZ2V0KGhlYWQpKSwKKwkJICAgICAgcmJfZW5jX25hbWUocmJfZW5j
X2dldCh0YWlsKSkpOworCXJiX3N0cl9yZXNpemUoaGVhZCwgMCk7CisJcmJfc3RyX3Jlc2l6ZSh0
YWlsLCAwKTsKKwlyZXR1cm4gMDsKKyAgICB9CisgICAgcmJfc3RyX2J1Zl9hcHBlbmQoaGVhZCwg
dGFpbCk7CisgICAgcmV0dXJuIDE7Cit9CisKKy8qIGNvbmNhdCB0d28gc3RyaW5nIGxpdGVyYWxz
ICovCitzdGF0aWMgTk9ERSAqCitsaXRlcmFsX2NvbmNhdChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAq
cCwgTk9ERSAqaGVhZCwgTk9ERSAqdGFpbCwgY29uc3QgWVlMVFlQRSAqbG9jKQoreworICAgIGVu
dW0gbm9kZV90eXBlIGh0eXBlOworICAgIE5PREUgKmhlYWRsYXN0OworICAgIFZBTFVFIGxpdDsK
KworICAgIGlmICghaGVhZCkgcmV0dXJuIHRhaWw7CisgICAgaWYgKCF0YWlsKSByZXR1cm4gaGVh
ZDsKKworICAgIGh0eXBlID0gbmRfdHlwZShoZWFkKTsKKyAgICBpZiAoaHR5cGUgPT0gTk9ERV9F
VlNUUikgeworCU5PREUgKm5vZGUgPSBORVdfRFNUUihhZGRfbWFya19vYmplY3QocCwgU1RSX05F
VzAoKSksIGxvYyk7CisJaGVhZCA9IGxpc3RfYXBwZW5kKHAsIG5vZGUsIGhlYWQpOworCWh0eXBl
ID0gTk9ERV9EU1RSOworICAgIH0KKyAgICBpZiAocC0+aGVyZWRvY19pbmRlbnQgPiAwKSB7CisJ
c3dpdGNoIChodHlwZSkgeworCSAgY2FzZSBOT0RFX1NUUjoKKwkgICAgbmRfc2V0X3R5cGUoaGVh
ZCwgTk9ERV9EU1RSKTsKKwkgIGNhc2UgTk9ERV9EU1RSOgorCSAgICByZXR1cm4gbGlzdF9hcHBl
bmQocCwgaGVhZCwgdGFpbCk7CisJICBkZWZhdWx0OgorCSAgICBicmVhazsKKwl9CisgICAgfQor
ICAgIHN3aXRjaCAobmRfdHlwZSh0YWlsKSkgeworICAgICAgY2FzZSBOT0RFX1NUUjoKKwlpZiAo
aHR5cGUgPT0gTk9ERV9EU1RSICYmIChoZWFkbGFzdCA9IGhlYWQtPm5kX25leHQtPm5kX2VuZC0+
bmRfaGVhZCkgJiYKKwkgICAgbmRfdHlwZShoZWFkbGFzdCkgPT0gTk9ERV9TVFIpIHsKKwkgICAg
aHR5cGUgPSBOT0RFX1NUUjsKKwkgICAgbGl0ID0gaGVhZGxhc3QtPm5kX2xpdDsKKwl9CisJZWxz
ZSB7CisJICAgIGxpdCA9IGhlYWQtPm5kX2xpdDsKKwl9CisJaWYgKGh0eXBlID09IE5PREVfU1RS
KSB7CisJICAgIGlmICghbGl0ZXJhbF9jb25jYXQwKHAsIGxpdCwgdGFpbC0+bmRfbGl0KSkgewor
CSAgICAgIGVycm9yOgorCQlyYl9kaXNjYXJkX25vZGUocCwgaGVhZCk7CisJCXJiX2Rpc2NhcmRf
bm9kZShwLCB0YWlsKTsKKwkJcmV0dXJuIDA7CisJICAgIH0KKwkgICAgcmJfZGlzY2FyZF9ub2Rl
KHAsIHRhaWwpOworCX0KKwllbHNlIHsKKwkgICAgbGlzdF9hcHBlbmQocCwgaGVhZCwgdGFpbCk7
CisJfQorCWJyZWFrOworCisgICAgICBjYXNlIE5PREVfRFNUUjoKKwlpZiAoaHR5cGUgPT0gTk9E
RV9TVFIpIHsKKwkgICAgaWYgKCFsaXRlcmFsX2NvbmNhdDAocCwgaGVhZC0+bmRfbGl0LCB0YWls
LT5uZF9saXQpKQorCQlnb3RvIGVycm9yOworCSAgICB0YWlsLT5uZF9saXQgPSBoZWFkLT5uZF9s
aXQ7CisJICAgIHJiX2Rpc2NhcmRfbm9kZShwLCBoZWFkKTsKKwkgICAgaGVhZCA9IHRhaWw7CisJ
fQorCWVsc2UgaWYgKE5JTF9QKHRhaWwtPm5kX2xpdCkpIHsKKwkgIGFwcGVuZDoKKwkgICAgaGVh
ZC0+bmRfYWxlbiArPSB0YWlsLT5uZF9hbGVuIC0gMTsKKwkgICAgaGVhZC0+bmRfbmV4dC0+bmRf
ZW5kLT5uZF9uZXh0ID0gdGFpbC0+bmRfbmV4dDsKKwkgICAgaGVhZC0+bmRfbmV4dC0+bmRfZW5k
ID0gdGFpbC0+bmRfbmV4dC0+bmRfZW5kOworCSAgICByYl9kaXNjYXJkX25vZGUocCwgdGFpbCk7
CisJfQorCWVsc2UgaWYgKGh0eXBlID09IE5PREVfRFNUUiAmJiAoaGVhZGxhc3QgPSBoZWFkLT5u
ZF9uZXh0LT5uZF9lbmQtPm5kX2hlYWQpICYmCisJCSBuZF90eXBlKGhlYWRsYXN0KSA9PSBOT0RF
X1NUUikgeworCSAgICBsaXQgPSBoZWFkbGFzdC0+bmRfbGl0OworCSAgICBpZiAoIWxpdGVyYWxf
Y29uY2F0MChwLCBsaXQsIHRhaWwtPm5kX2xpdCkpCisJCWdvdG8gZXJyb3I7CisJICAgIHRhaWwt
Pm5kX2xpdCA9IFFuaWw7CisJICAgIGdvdG8gYXBwZW5kOworCX0KKwllbHNlIHsKKwkgICAgbmRf
c2V0X3R5cGUodGFpbCwgTk9ERV9BUlJBWSk7CisJICAgIHRhaWwtPm5kX2hlYWQgPSBORVdfU1RS
KHRhaWwtPm5kX2xpdCwgbG9jKTsKKwkgICAgbGlzdF9jb25jYXQoaGVhZCwgdGFpbCk7CisJfQor
CWJyZWFrOworCisgICAgICBjYXNlIE5PREVfRVZTVFI6CisJaWYgKGh0eXBlID09IE5PREVfU1RS
KSB7CisJICAgIG5kX3NldF90eXBlKGhlYWQsIE5PREVfRFNUUik7CisJICAgIGhlYWQtPm5kX2Fs
ZW4gPSAxOworCX0KKwlsaXN0X2FwcGVuZChwLCBoZWFkLCB0YWlsKTsKKwlicmVhazsKKyAgICB9
CisgICAgcmV0dXJuIGhlYWQ7Cit9CisKK3N0YXRpYyBOT0RFICoKK2V2c3RyMmRzdHIoc3RydWN0
IHBhcnNlcl9wYXJhbXMgKnAsIE5PREUgKm5vZGUpCit7CisgICAgaWYgKG5kX3R5cGUobm9kZSkg
PT0gTk9ERV9FVlNUUikgeworCW5vZGUgPSBsaXN0X2FwcGVuZChwLCBORVdfRFNUUihhZGRfbWFy
a19vYmplY3QocCwgU1RSX05FVzAoKSksICZub2RlLT5uZF9sb2MpLCBub2RlKTsKKyAgICB9Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisKK3N0YXRpYyBOT0RFICoKK25ld19ldnN0cihzdHJ1Y3QgcGFy
c2VyX3BhcmFtcyAqcCwgTk9ERSAqbm9kZSwgY29uc3QgWVlMVFlQRSAqbG9jKQoreworICAgIE5P
REUgKmhlYWQgPSBub2RlOworCisgICAgaWYgKG5vZGUpIHsKKwlzd2l0Y2ggKG5kX3R5cGUobm9k
ZSkpIHsKKwkgIGNhc2UgTk9ERV9TVFI6IGNhc2UgTk9ERV9EU1RSOiBjYXNlIE5PREVfRVZTVFI6
CisJICAgIHJldHVybiBub2RlOworCX0KKyAgICB9CisgICAgcmV0dXJuIE5FV19FVlNUUihoZWFk
LCBsb2MpOworfQorCitzdGF0aWMgTk9ERSAqCitjYWxsX2Jpbl9vcChzdHJ1Y3QgcGFyc2VyX3Bh
cmFtcyAqcCwgTk9ERSAqcmVjdiwgSUQgaWQsIE5PREUgKmFyZzEsCisJCWNvbnN0IFlZTFRZUEUg
Km9wX2xvYywgY29uc3QgWVlMVFlQRSAqbG9jKQoreworICAgIE5PREUgKmV4cHI7CisgICAgdmFs
dWVfZXhwcihyZWN2KTsKKyAgICB2YWx1ZV9leHByKGFyZzEpOworICAgIGV4cHIgPSBORVdfT1BD
QUxMKHJlY3YsIGlkLCBORVdfTElTVChhcmcxLCAmYXJnMS0+bmRfbG9jKSwgbG9jKTsKKyAgICBu
ZF9zZXRfbGluZShleHByLCBvcF9sb2MtPmJlZ19wb3MubGluZW5vKTsKKyAgICByZXR1cm4gZXhw
cjsKK30KKworc3RhdGljIE5PREUgKgorY2FsbF91bmlfb3Aoc3RydWN0IHBhcnNlcl9wYXJhbXMg
KnAsIE5PREUgKnJlY3YsIElEIGlkLCBjb25zdCBZWUxUWVBFICpvcF9sb2MsIGNvbnN0IFlZTFRZ
UEUgKmxvYykKK3sKKyAgICBOT0RFICpvcGNhbGw7CisgICAgdmFsdWVfZXhwcihyZWN2KTsKKyAg
ICBvcGNhbGwgPSBORVdfT1BDQUxMKHJlY3YsIGlkLCAwLCBsb2MpOworICAgIG5kX3NldF9saW5l
KG9wY2FsbCwgb3BfbG9jLT5iZWdfcG9zLmxpbmVubyk7CisgICAgcmV0dXJuIG9wY2FsbDsKK30K
Kworc3RhdGljIE5PREUgKgorbmV3X3FjYWxsKHN0cnVjdCBwYXJzZXJfcGFyYW1zKiBwLCBJRCBh
dHlwZSwgTk9ERSAqcmVjdiwgSUQgbWlkLCBOT0RFICphcmdzLCBjb25zdCBZWUxUWVBFICpvcF9s
b2MsIGNvbnN0IFlZTFRZUEUgKmxvYykKK3sKKyAgICBOT0RFICpxY2FsbCA9IE5FV19RQ0FMTChh
dHlwZSwgcmVjdiwgbWlkLCBhcmdzLCBsb2MpOworICAgIG5kX3NldF9saW5lKHFjYWxsLCBvcF9s
b2MtPmJlZ19wb3MubGluZW5vKTsKKyAgICByZXR1cm4gcWNhbGw7Cit9CisKK3N0YXRpYyBOT0RF
KgorbmV3X2NvbW1hbmRfcWNhbGwoc3RydWN0IHBhcnNlcl9wYXJhbXMqIHAsIElEIGF0eXBlLCBO
T0RFICpyZWN2LCBJRCBtaWQsIE5PREUgKmFyZ3MsIE5PREUgKmJsb2NrLCBjb25zdCBZWUxUWVBF
ICpvcF9sb2MsIGNvbnN0IFlZTFRZUEUgKmxvYykKK3sKKyAgICBOT0RFICpyZXQ7CisgICAgaWYg
KGJsb2NrKSBibG9ja19kdXBfY2hlY2socCwgYXJncywgYmxvY2spOworICAgIHJldCA9IG5ld19x
Y2FsbChwLCBhdHlwZSwgcmVjdiwgbWlkLCBhcmdzLCBvcF9sb2MsIGxvYyk7CisgICAgaWYgKGJs
b2NrKSByZXQgPSBtZXRob2RfYWRkX2Jsb2NrKHAsIHJldCwgYmxvY2ssIGxvYyk7CisgICAgZml4
cG9zKHJldCwgcmVjdik7CisgICAgcmV0dXJuIHJldDsKK30KKworI2RlZmluZSBuZF9vbmNlX2Jv
ZHkobm9kZSkgKG5kX3R5cGUobm9kZSkgPT0gTk9ERV9PTkNFID8gKG5vZGUpLT5uZF9ib2R5IDog
bm9kZSkKK3N0YXRpYyBOT0RFKgorbWF0Y2hfb3Aoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIE5P
REUgKm5vZGUxLCBOT0RFICpub2RlMiwgY29uc3QgWVlMVFlQRSAqb3BfbG9jLCBjb25zdCBZWUxU
WVBFICpsb2MpCit7CisgICAgTk9ERSAqbjsKKyAgICBpbnQgbGluZSA9IG9wX2xvYy0+YmVnX3Bv
cy5saW5lbm87CisKKyAgICB2YWx1ZV9leHByKG5vZGUxKTsKKyAgICB2YWx1ZV9leHByKG5vZGUy
KTsKKyAgICBpZiAobm9kZTEgJiYgKG4gPSBuZF9vbmNlX2JvZHkobm9kZTEpKSAhPSAwKSB7CisJ
c3dpdGNoIChuZF90eXBlKG4pKSB7CisJICBjYXNlIE5PREVfRFJFR1g6CisJICAgIHsKKwkJTk9E
RSAqbWF0Y2ggPSBORVdfTUFUQ0gyKG5vZGUxLCBub2RlMiwgbG9jKTsKKwkJbmRfc2V0X2xpbmUo
bWF0Y2gsIGxpbmUpOworCQlyZXR1cm4gbWF0Y2g7CisJICAgIH0KKworCSAgY2FzZSBOT0RFX0xJ
VDoKKwkgICAgaWYgKFJCX1RZUEVfUChuLT5uZF9saXQsIFRfUkVHRVhQKSkgeworCQljb25zdCBW
QUxVRSBsaXQgPSBuLT5uZF9saXQ7CisJCU5PREUgKm1hdGNoID0gTkVXX01BVENIMihub2RlMSwg
bm9kZTIsIGxvYyk7CisJCW1hdGNoLT5uZF9hcmdzID0gcmVnX25hbWVkX2NhcHR1cmVfYXNzaWdu
KHAsIGxpdCwgbG9jKTsKKwkJbmRfc2V0X2xpbmUobWF0Y2gsIGxpbmUpOworCQlyZXR1cm4gbWF0
Y2g7CisJICAgIH0KKwl9CisgICAgfQorCisgICAgaWYgKG5vZGUyICYmIChuID0gbmRfb25jZV9i
b2R5KG5vZGUyKSkgIT0gMCkgeworICAgICAgICBOT0RFICptYXRjaDM7CisKKwlzd2l0Y2ggKG5k
X3R5cGUobikpIHsKKwkgIGNhc2UgTk9ERV9MSVQ6CisJICAgIGlmICghUkJfVFlQRV9QKG4tPm5k
X2xpdCwgVF9SRUdFWFApKSBicmVhazsKKwkgICAgLyogZmFsbHRocnUgKi8KKwkgIGNhc2UgTk9E
RV9EUkVHWDoKKwkgICAgbWF0Y2gzID0gTkVXX01BVENIMyhub2RlMiwgbm9kZTEsIGxvYyk7CisJ
ICAgIHJldHVybiBtYXRjaDM7CisJfQorICAgIH0KKworICAgIG4gPSBORVdfQ0FMTChub2RlMSwg
dE1BVENILCBORVdfTElTVChub2RlMiwgJm5vZGUyLT5uZF9sb2MpLCBsb2MpOworICAgIG5kX3Nl
dF9saW5lKG4sIGxpbmUpOworICAgIHJldHVybiBuOworfQorCisjIGlmIFdBUk5fUEFTVF9TQ09Q
RQorc3RhdGljIGludAorcGFzdF9kdmFyX3Aoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIElEIGlk
KQoreworICAgIHN0cnVjdCB2dGFibGUgKnBhc3QgPSBwLT5sdnRibC0+cGFzdDsKKyAgICB3aGls
ZSAocGFzdCkgeworCWlmICh2dGFibGVfaW5jbHVkZWQocGFzdCwgaWQpKSByZXR1cm4gMTsKKwlw
YXN0ID0gcGFzdC0+cHJldjsKKyAgICB9CisgICAgcmV0dXJuIDA7Cit9CisjIGVuZGlmCisKKyNk
ZWZpbmUgV0FSTl9MT0NBVElPTih0eXBlKSBkbyB7IFwKKyAgICBpZiAocC0+d2Fybl9sb2NhdGlv
bikgeyBcCisJcmJfd2FybmluZzAodHlwZSIgaW4gZXZhbCBtYXkgbm90IHJldHVybiBsb2NhdGlv
biBpbiBiaW5kaW5nOyIgXAorCQkgICAgIiB1c2UgQmluZGluZyNzb3VyY2VfbG9jYXRpb24gaW5z
dGVhZCIpOyBcCisgICAgfSBcCit9IHdoaWxlICgwKQorCitzdGF0aWMgTk9ERSoKK2dldHRhYmxl
KHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBJRCBpZCwgY29uc3QgWVlMVFlQRSAqbG9jKQorewor
ICAgIElEICp2aWRwID0gTlVMTDsKKyAgICBOT0RFICpub2RlOworICAgIHN3aXRjaCAoaWQpIHsK
KyAgICAgIGNhc2Uga2V5d29yZF9zZWxmOgorCXJldHVybiBORVdfU0VMRihsb2MpOworICAgICAg
Y2FzZSBrZXl3b3JkX25pbDoKKwlyZXR1cm4gTkVXX05JTChsb2MpOworICAgICAgY2FzZSBrZXl3
b3JkX3RydWU6CisJcmV0dXJuIE5FV19UUlVFKGxvYyk7CisgICAgICBjYXNlIGtleXdvcmRfZmFs
c2U6CisJcmV0dXJuIE5FV19GQUxTRShsb2MpOworICAgICAgY2FzZSBrZXl3b3JkX19GSUxFX186
CisJV0FSTl9MT0NBVElPTigiX19GSUxFX18iKTsKKwl7CisJICAgIFZBTFVFIGZpbGUgPSBwLT5y
dWJ5X3NvdXJjZWZpbGVfc3RyaW5nOworCSAgICBpZiAoTklMX1AoZmlsZSkpCisJCWZpbGUgPSBy
Yl9zdHJfbmV3KDAsIDApOworCSAgICBlbHNlCisJCWZpbGUgPSByYl9zdHJfZHVwKGZpbGUpOwor
CSAgICBub2RlID0gTkVXX1NUUihhZGRfbWFya19vYmplY3QocCwgZmlsZSksIGxvYyk7CisJfQor
CXJldHVybiBub2RlOworICAgICAgY2FzZSBrZXl3b3JkX19MSU5FX186CisJV0FSTl9MT0NBVElP
TigiX19MSU5FX18iKTsKKwlyZXR1cm4gTkVXX0xJVChJTlQyRklYKHAtPnRva2xpbmUpLCBsb2Mp
OworICAgICAgY2FzZSBrZXl3b3JkX19FTkNPRElOR19fOgorCXJldHVybiBORVdfTElUKGFkZF9t
YXJrX29iamVjdChwLCByYl9lbmNfZnJvbV9lbmNvZGluZyhwLT5lbmMpKSwgbG9jKTsKKyAgICB9
CisgICAgc3dpdGNoIChpZF90eXBlKGlkKSkgeworICAgICAgY2FzZSBJRF9MT0NBTDoKKwlpZiAo
ZHluYV9pbl9ibG9jayhwKSAmJiBkdmFyX2RlZmluZWRfcmVmKHAsIGlkLCAmdmlkcCkpIHsKKwkg
ICAgaWYgKGlkID09IHAtPmN1cl9hcmcpIHsKKwkJcmJfd2FybjEoImNpcmN1bGFyIGFyZ3VtZW50
IHJlZmVyZW5jZSAtICUiUFJJc1dBUk4sIHJiX2lkMnN0cihpZCkpOworCSAgICB9CisJICAgIGlm
ICh2aWRwKSAqdmlkcCB8PSBMVkFSX1VTRUQ7CisJICAgIG5vZGUgPSBORVdfRFZBUihpZCwgbG9j
KTsKKwkgICAgcmV0dXJuIG5vZGU7CisJfQorCWlmIChsb2NhbF9pZF9yZWYocCwgaWQsICZ2aWRw
KSkgeworCSAgICBpZiAoaWQgPT0gcC0+Y3VyX2FyZykgeworCQlyYl93YXJuMSgiY2lyY3VsYXIg
YXJndW1lbnQgcmVmZXJlbmNlIC0gJSJQUklzV0FSTiwgcmJfaWQyc3RyKGlkKSk7CisJICAgIH0K
KwkgICAgaWYgKHZpZHApICp2aWRwIHw9IExWQVJfVVNFRDsKKwkgICAgbm9kZSA9IE5FV19MVkFS
KGlkLCBsb2MpOworCSAgICByZXR1cm4gbm9kZTsKKwl9CisjIGlmIFdBUk5fUEFTVF9TQ09QRQor
CWlmICghcC0+aW5fZGVmaW5lZCAmJiBSVEVTVChydWJ5X3ZlcmJvc2UpICYmIHBhc3RfZHZhcl9w
KHAsIGlkKSkgeworCSAgICByYl93YXJuaW5nMSgicG9zc2libGUgcmVmZXJlbmNlIHRvIHBhc3Qg
c2NvcGUgLSAlIlBSSXNXQVJOLCByYl9pZDJzdHIoaWQpKTsKKwl9CisjIGVuZGlmCisJLyogbWV0
aG9kIGNhbGwgd2l0aG91dCBhcmd1bWVudHMgKi8KKwlyZXR1cm4gTkVXX1ZDQUxMKGlkLCBsb2Mp
OworICAgICAgY2FzZSBJRF9HTE9CQUw6CisJcmV0dXJuIE5FV19HVkFSKGlkLCBsb2MpOworICAg
ICAgY2FzZSBJRF9JTlNUQU5DRToKKwlyZXR1cm4gTkVXX0lWQVIoaWQsIGxvYyk7CisgICAgICBj
YXNlIElEX0NPTlNUOgorCXJldHVybiBORVdfQ09OU1QoaWQsIGxvYyk7CisgICAgICBjYXNlIElE
X0NMQVNTOgorCXJldHVybiBORVdfQ1ZBUihpZCwgbG9jKTsKKyAgICB9CisgICAgY29tcGlsZV9l
cnJvcihwLCAiaWRlbnRpZmllciAlIlBSSXNWQUxVRSIgaXMgbm90IHZhbGlkIHRvIGdldCIsIHJi
X2lkMnN0cihpZCkpOworICAgIHJldHVybiAwOworfQorCitzdGF0aWMgTk9ERSAqCitvcHRfYXJn
X2FwcGVuZChOT0RFICpvcHRfbGlzdCwgTk9ERSAqb3B0KQoreworICAgIE5PREUgKm9wdHMgPSBv
cHRfbGlzdDsKKyAgICBvcHRzLT5uZF9sb2MuZW5kX3BvcyA9IG9wdC0+bmRfbG9jLmVuZF9wb3M7
CisKKyAgICB3aGlsZSAob3B0cy0+bmRfbmV4dCkgeworCW9wdHMgPSBvcHRzLT5uZF9uZXh0Owor
CW9wdHMtPm5kX2xvYy5lbmRfcG9zID0gb3B0LT5uZF9sb2MuZW5kX3BvczsKKyAgICB9CisgICAg
b3B0cy0+bmRfbmV4dCA9IG9wdDsKKworICAgIHJldHVybiBvcHRfbGlzdDsKK30KKworc3RhdGlj
IE5PREUgKgora3dkX2FwcGVuZChOT0RFICprd2xpc3QsIE5PREUgKmt3KQoreworICAgIGlmIChr
d2xpc3QpIHsKKwlOT0RFICprd3MgPSBrd2xpc3Q7CisJa3dzLT5uZF9sb2MuZW5kX3BvcyA9IGt3
LT5uZF9sb2MuZW5kX3BvczsKKwl3aGlsZSAoa3dzLT5uZF9uZXh0KSB7CisJICAgIGt3cyA9IGt3
cy0+bmRfbmV4dDsKKwkgICAga3dzLT5uZF9sb2MuZW5kX3BvcyA9IGt3LT5uZF9sb2MuZW5kX3Bv
czsKKwl9CisJa3dzLT5uZF9uZXh0ID0ga3c7CisgICAgfQorICAgIHJldHVybiBrd2xpc3Q7Cit9
CisKK3N0YXRpYyBOT0RFICoKK25ld19kZWZpbmVkKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBO
T0RFICpleHByLCBjb25zdCBZWUxUWVBFICpsb2MpCit7CisgICAgcmV0dXJuIE5FV19ERUZJTkVE
KHJlbW92ZV9iZWdpbl9hbGwoZXhwciksIGxvYyk7Cit9CisKK3N0YXRpYyBOT0RFKgorc3ltYm9s
X2FwcGVuZChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgTk9ERSAqc3ltYm9scywgTk9ERSAqc3lt
Ym9sKQoreworICAgIGlmIChuZF90eXBlKHN5bWJvbCkgPT0gTk9ERV9EU1RSKSB7CisJbmRfc2V0
X3R5cGUoc3ltYm9sLCBOT0RFX0RTWU0pOworICAgIH0KKyAgICBlbHNlIHsKKwluZF9zZXRfdHlw
ZShzeW1ib2wsIE5PREVfTElUKTsKKwlzeW1ib2wtPm5kX2xpdCA9IGFkZF9tYXJrX29iamVjdChw
LCByYl9zdHJfaW50ZXJuKHN5bWJvbC0+bmRfbGl0KSk7CisgICAgfQorICAgIHJldHVybiBsaXN0
X2FwcGVuZChwLCBzeW1ib2xzLCBzeW1ib2wpOworfQorCitzdGF0aWMgTk9ERSAqCituZXdfcmVn
ZXhwKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBOT0RFICpub2RlLCBpbnQgb3B0aW9ucywgY29u
c3QgWVlMVFlQRSAqbG9jKQoreworICAgIE5PREUgKmxpc3QsICpwcmV2OworICAgIFZBTFVFIGxp
dDsKKworICAgIGlmICghbm9kZSkgeworCXJldHVybiBORVdfTElUKGFkZF9tYXJrX29iamVjdChw
LCByZWdfY29tcGlsZShwLCBTVFJfTkVXMCgpLCBvcHRpb25zKSksIGxvYyk7CisgICAgfQorICAg
IHN3aXRjaCAobmRfdHlwZShub2RlKSkgeworICAgICAgY2FzZSBOT0RFX1NUUjoKKwl7CisJICAg
IFZBTFVFIHNyYyA9IG5vZGUtPm5kX2xpdDsKKwkgICAgbmRfc2V0X3R5cGUobm9kZSwgTk9ERV9M
SVQpOworCSAgICBuZF9zZXRfbG9jKG5vZGUsIGxvYyk7CisJICAgIGFkZF9tYXJrX29iamVjdChw
LCBub2RlLT5uZF9saXQgPSByZWdfY29tcGlsZShwLCBzcmMsIG9wdGlvbnMpKTsKKwl9CisJYnJl
YWs7CisgICAgICBkZWZhdWx0OgorCWFkZF9tYXJrX29iamVjdChwLCBsaXQgPSBTVFJfTkVXMCgp
KTsKKwlub2RlID0gTkVXX05PREUoTk9ERV9EU1RSLCBsaXQsIDEsIE5FV19MSVNUKG5vZGUsIGxv
YyksIGxvYyk7CisgICAgICBjYXNlIE5PREVfRFNUUjoKKwluZF9zZXRfdHlwZShub2RlLCBOT0RF
X0RSRUdYKTsKKwluZF9zZXRfbG9jKG5vZGUsIGxvYyk7CisJbm9kZS0+bmRfY2ZsYWcgPSBvcHRp
b25zICYgUkVfT1BUSU9OX01BU0s7CisJaWYgKCFOSUxfUChub2RlLT5uZF9saXQpKSByZWdfZnJh
Z21lbnRfY2hlY2socCwgbm9kZS0+bmRfbGl0LCBvcHRpb25zKTsKKwlmb3IgKGxpc3QgPSAocHJl
diA9IG5vZGUpLT5uZF9uZXh0OyBsaXN0OyBsaXN0ID0gbGlzdC0+bmRfbmV4dCkgeworCSAgICBp
ZiAobmRfdHlwZShsaXN0LT5uZF9oZWFkKSA9PSBOT0RFX1NUUikgeworCQlWQUxVRSB0YWlsID0g
bGlzdC0+bmRfaGVhZC0+bmRfbGl0OworCQlpZiAocmVnX2ZyYWdtZW50X2NoZWNrKHAsIHRhaWws
IG9wdGlvbnMpICYmIHByZXYgJiYgIU5JTF9QKHByZXYtPm5kX2xpdCkpIHsKKwkJICAgIFZBTFVF
IGxpdCA9IHByZXYgPT0gbm9kZSA/IHByZXYtPm5kX2xpdCA6IHByZXYtPm5kX2hlYWQtPm5kX2xp
dDsKKwkJICAgIGlmICghbGl0ZXJhbF9jb25jYXQwKHAsIGxpdCwgdGFpbCkpIHsKKwkJCXJldHVy
biBORVdfTklMKGxvYyk7IC8qIGR1bW15IG5vZGUgb24gZXJyb3IgKi8KKwkJICAgIH0KKwkJICAg
IHJiX3N0cl9yZXNpemUodGFpbCwgMCk7CisJCSAgICBwcmV2LT5uZF9uZXh0ID0gbGlzdC0+bmRf
bmV4dDsKKwkJICAgIHJiX2Rpc2NhcmRfbm9kZShwLCBsaXN0LT5uZF9oZWFkKTsKKwkJICAgIHJi
X2Rpc2NhcmRfbm9kZShwLCBsaXN0KTsKKwkJICAgIGxpc3QgPSBwcmV2OworCQl9CisJCWVsc2Ug
eworCQkgICAgcHJldiA9IGxpc3Q7CisJCX0KKwkgICAgfQorCSAgICBlbHNlIHsKKwkJcHJldiA9
IDA7CisJICAgIH0KKwl9CisJaWYgKCFub2RlLT5uZF9uZXh0KSB7CisJICAgIFZBTFVFIHNyYyA9
IG5vZGUtPm5kX2xpdDsKKwkgICAgbmRfc2V0X3R5cGUobm9kZSwgTk9ERV9MSVQpOworCSAgICBh
ZGRfbWFya19vYmplY3QocCwgbm9kZS0+bmRfbGl0ID0gcmVnX2NvbXBpbGUocCwgc3JjLCBvcHRp
b25zKSk7CisJfQorCWlmIChvcHRpb25zICYgUkVfT1BUSU9OX09OQ0UpIHsKKwkgICAgbm9kZSA9
IE5FV19OT0RFKE5PREVfT05DRSwgMCwgbm9kZSwgMCwgbG9jKTsKKwl9CisJYnJlYWs7CisgICAg
fQorICAgIHJldHVybiBub2RlOworfQorCitzdGF0aWMgTk9ERSAqCituZXdfa3dfYXJnKHN0cnVj
dCBwYXJzZXJfcGFyYW1zICpwLCBOT0RFICprLCBjb25zdCBZWUxUWVBFICpsb2MpCit7CisgICAg
aWYgKCFrKSByZXR1cm4gMDsKKyAgICByZXR1cm4gTkVXX0tXX0FSRygwLCAoayksIGxvYyk7Cit9
CisKK3N0YXRpYyBOT0RFICoKK25ld194c3RyaW5nKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBO
T0RFICpub2RlLCBjb25zdCBZWUxUWVBFICpsb2MpCit7CisgICAgaWYgKCFub2RlKSB7CisJVkFM
VUUgbGl0ID0gU1RSX05FVzAoKTsKKwlOT0RFICp4c3RyID0gTkVXX1hTVFIobGl0LCBsb2MpOwor
CWFkZF9tYXJrX29iamVjdChwLCBsaXQpOworCXJldHVybiB4c3RyOworICAgIH0KKyAgICBzd2l0
Y2ggKG5kX3R5cGUobm9kZSkpIHsKKyAgICAgIGNhc2UgTk9ERV9TVFI6CisJbmRfc2V0X3R5cGUo
bm9kZSwgTk9ERV9YU1RSKTsKKwluZF9zZXRfbG9jKG5vZGUsIGxvYyk7CisJYnJlYWs7CisgICAg
ICBjYXNlIE5PREVfRFNUUjoKKwluZF9zZXRfdHlwZShub2RlLCBOT0RFX0RYU1RSKTsKKwluZF9z
ZXRfbG9jKG5vZGUsIGxvYyk7CisJYnJlYWs7CisgICAgICBkZWZhdWx0OgorCW5vZGUgPSBORVdf
Tk9ERShOT0RFX0RYU1RSLCBRbmlsLCAxLCBORVdfTElTVChub2RlLCBsb2MpLCBsb2MpOworCWJy
ZWFrOworICAgIH0KKyAgICByZXR1cm4gbm9kZTsKK30KKworI2Vsc2UgIC8qICFSSVBQRVIgKi8K
K3N0YXRpYyBpbnQKK2lkX2lzX3ZhcihzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgSUQgaWQpCit7
CisgICAgaWYgKGlzX25vdG9wX2lkKGlkKSkgeworCXN3aXRjaCAoaWQgJiBJRF9TQ09QRV9NQVNL
KSB7CisJICBjYXNlIElEX0dMT0JBTDogY2FzZSBJRF9JTlNUQU5DRTogY2FzZSBJRF9DT05TVDog
Y2FzZSBJRF9DTEFTUzoKKwkgICAgcmV0dXJuIDE7CisJICBjYXNlIElEX0xPQ0FMOgorCSAgICBp
ZiAoZHluYV9pbl9ibG9jayhwKSAmJiBkdmFyX2RlZmluZWQocCwgaWQpKSByZXR1cm4gMTsKKwkg
ICAgaWYgKGxvY2FsX2lkKHAsIGlkKSkgcmV0dXJuIDE7CisJICAgIC8qIG1ldGhvZCBjYWxsIHdp
dGhvdXQgYXJndW1lbnRzICovCisJICAgIHJldHVybiAwOworCX0KKyAgICB9CisgICAgY29tcGls
ZV9lcnJvcihwLCAiaWRlbnRpZmllciAlIlBSSXNWQUxVRSIgaXMgbm90IHZhbGlkIHRvIGdldCIs
IHJiX2lkMnN0cihpZCkpOworICAgIHJldHVybiAwOworfQorCitzdGF0aWMgVkFMVUUKK25ld19y
ZWdleHAoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIFZBTFVFIHJlLCBWQUxVRSBvcHQsIGNvbnN0
IFlZTFRZUEUgKmxvYykKK3sKKyAgICBWQUxVRSBzcmMgPSAwLCBlcnI7CisgICAgaW50IG9wdGlv
bnMgPSAwOworICAgIGlmIChyaXBwZXJfaXNfbm9kZV95eWx2YWwocmUpKSB7CisJc3JjID0gUk5P
REUocmUpLT5uZF9jdmFsOworCXJlID0gUk5PREUocmUpLT5uZF9ydmFsOworICAgIH0KKyAgICBp
ZiAocmlwcGVyX2lzX25vZGVfeXlsdmFsKG9wdCkpIHsKKwlvcHRpb25zID0gKGludClSTk9ERShv
cHQpLT5uZF90YWc7CisJb3B0ID0gUk5PREUob3B0KS0+bmRfcnZhbDsKKyAgICB9CisgICAgaWYg
KHNyYyAmJiBOSUxfUChwYXJzZXJfcmVnX2NvbXBpbGUocCwgc3JjLCBvcHRpb25zLCAmZXJyKSkp
IHsKKwljb21waWxlX2Vycm9yKHAsICIlIlBSSXNWQUxVRSwgZXJyKTsKKyAgICB9CisgICAgcmV0
dXJuIGRpc3BhdGNoMihyZWdleHBfbGl0ZXJhbCwgcmUsIG9wdCk7Cit9CisjZW5kaWYgLyogIVJJ
UFBFUiAqLworCisjaWZuZGVmIFJJUFBFUgorc3RhdGljIGNvbnN0IGNoYXIgcmJfcGFyc2VyX2xl
eF9zdGF0ZV9uYW1lc1tdWzEzXSA9IHsKKyAgICAiRVhQUl9CRUciLCAgICAiRVhQUl9FTkQiLCAg
ICAiRVhQUl9FTkRBUkciLCAiRVhQUl9FTkRGTiIsICAiRVhQUl9BUkciLAorICAgICJFWFBSX0NN
REFSRyIsICJFWFBSX01JRCIsICAgICJFWFBSX0ZOQU1FIiwgICJFWFBSX0RPVCIsICAgICJFWFBS
X0NMQVNTIiwKKyAgICAiRVhQUl9MQUJFTCIsICAiRVhQUl9MQUJFTEVEIiwiRVhQUl9GSVRFTSIs
Cit9OworCitzdGF0aWMgVkFMVUUKK2FwcGVuZF9sZXhfc3RhdGVfbmFtZShlbnVtIGxleF9zdGF0
ZV9lIHN0YXRlLCBWQUxVRSBidWYpCit7CisgICAgaW50IGksIHNlcCA9IDA7CisgICAgdW5zaWdu
ZWQgaW50IG1hc2sgPSAxOworICAgIHN0YXRpYyBjb25zdCBjaGFyIG5vbmVbXSA9ICJFWFBSX05P
TkUiOworCisgICAgZm9yIChpID0gMDsgaSA8IEVYUFJfTUFYX1NUQVRFOyArK2ksIG1hc2sgPDw9
IDEpIHsKKwlpZiAoKHVuc2lnbmVkKXN0YXRlICYgbWFzaykgeworCSAgICBpZiAoc2VwKSB7CisJ
CXJiX3N0cl9jYXQoYnVmLCAifCIsIDEpOworCSAgICB9CisJICAgIHNlcCA9IDE7CisJICAgIHJi
X3N0cl9jYXRfY3N0cihidWYsIHJiX3BhcnNlcl9sZXhfc3RhdGVfbmFtZXNbaV0pOworCX0KKyAg
ICB9CisgICAgaWYgKCFzZXApIHsKKwlyYl9zdHJfY2F0KGJ1Ziwgbm9uZSwgc2l6ZW9mKG5vbmUp
LTEpOworICAgIH0KKyAgICByZXR1cm4gYnVmOworfQorCitzdGF0aWMgdm9pZAorZmx1c2hfZGVi
dWdfYnVmZmVyKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBWQUxVRSBvdXQsIFZBTFVFIHN0cikK
K3sKKyAgICBWQUxVRSBtZXNnID0gcC0+ZGVidWdfYnVmZmVyOworCisgICAgaWYgKCFOSUxfUCht
ZXNnKSAmJiBSU1RSSU5HX0xFTihtZXNnKSkgeworCXAtPmRlYnVnX2J1ZmZlciA9IFFuaWw7CisJ
cmJfaW9fcHV0cygxLCAmbWVzZywgb3V0KTsKKyAgICB9CisgICAgaWYgKCFOSUxfUChzdHIpICYm
IFJTVFJJTkdfTEVOKHN0cikpIHsKKwlyYl9pb193cml0ZShwLT5kZWJ1Z19vdXRwdXQsIHN0cik7
CisgICAgfQorfQorCitlbnVtIGxleF9zdGF0ZV9lCityYl9wYXJzZXJfdHJhY2VfbGV4X3N0YXRl
KHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBlbnVtIGxleF9zdGF0ZV9lIGZyb20sCisJCQkgIGVu
dW0gbGV4X3N0YXRlX2UgdG8sIGludCBsaW5lKQoreworICAgIFZBTFVFIG1lc2c7CisgICAgbWVz
ZyA9IHJiX3N0cl9uZXdfY3N0cigibGV4X3N0YXRlOiAiKTsKKyAgICBhcHBlbmRfbGV4X3N0YXRl
X25hbWUoZnJvbSwgbWVzZyk7CisgICAgcmJfc3RyX2NhdF9jc3RyKG1lc2csICIgLT4gIik7Cisg
ICAgYXBwZW5kX2xleF9zdGF0ZV9uYW1lKHRvLCBtZXNnKTsKKyAgICByYl9zdHJfY2F0ZihtZXNn
LCAiIGF0IGxpbmUgJWRcbiIsIGxpbmUpOworICAgIGZsdXNoX2RlYnVnX2J1ZmZlcihwLCBwLT5k
ZWJ1Z19vdXRwdXQsIG1lc2cpOworICAgIHJldHVybiB0bzsKK30KKworVkFMVUUKK3JiX3BhcnNl
cl9sZXhfc3RhdGVfbmFtZShlbnVtIGxleF9zdGF0ZV9lIHN0YXRlKQoreworICAgIHJldHVybiBy
Yl9mc3RyaW5nKGFwcGVuZF9sZXhfc3RhdGVfbmFtZShzdGF0ZSwgcmJfc3RyX25ldygwLCAwKSkp
OworfQorCitzdGF0aWMgdm9pZAorYXBwZW5kX2JpdHN0YWNrX3ZhbHVlKHN0YWNrX3R5cGUgc3Rh
Y2ssIFZBTFVFIG1lc2cpCit7CisgICAgaWYgKHN0YWNrID09IDApIHsKKwlyYl9zdHJfY2F0X2Nz
dHIobWVzZywgIjAiKTsKKyAgICB9CisgICAgZWxzZSB7CisJc3RhY2tfdHlwZSBtYXNrID0gKHN0
YWNrX3R5cGUpMVUgPDwgKENIQVJfQklUICogc2l6ZW9mKHN0YWNrX3R5cGUpIC0gMSk7CisJZm9y
ICg7IG1hc2sgJiYgIShzdGFjayAmIG1hc2spOyBtYXNrID4+PSAxKSBjb250aW51ZTsKKwlmb3Ig
KDsgbWFzazsgbWFzayA+Pj0gMSkgcmJfc3RyX2NhdChtZXNnLCBzdGFjayAmIG1hc2sgPyAiMSIg
OiAiMCIsIDEpOworICAgIH0KK30KKwordm9pZAorcmJfcGFyc2VyX3Nob3dfYml0c3RhY2soc3Ry
dWN0IHBhcnNlcl9wYXJhbXMgKnAsIHN0YWNrX3R5cGUgc3RhY2ssCisJCQljb25zdCBjaGFyICpu
YW1lLCBpbnQgbGluZSkKK3sKKyAgICBWQUxVRSBtZXNnID0gcmJfc3ByaW50ZigiJXM6ICIsIG5h
bWUpOworICAgIGFwcGVuZF9iaXRzdGFja192YWx1ZShzdGFjaywgbWVzZyk7CisgICAgcmJfc3Ry
X2NhdGYobWVzZywgIiBhdCBsaW5lICVkXG4iLCBsaW5lKTsKKyAgICBmbHVzaF9kZWJ1Z19idWZm
ZXIocCwgcC0+ZGVidWdfb3V0cHV0LCBtZXNnKTsKK30KKwordm9pZAorcmJfcGFyc2VyX2ZhdGFs
KHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBjb25zdCBjaGFyICpmbXQsIC4uLikKK3sKKyAgICB2
YV9saXN0IGFwOworICAgIFZBTFVFIG1lc2cgPSByYl9zdHJfbmV3X2NzdHIoImludGVybmFsIHAg
ZXJyb3I6ICIpOworCisgICAgdmFfc3RhcnQoYXAsIGZtdCk7CisgICAgcmJfc3RyX3ZjYXRmKG1l
c2csIGZtdCwgYXApOworICAgIHZhX2VuZChhcCk7CisgICAgcGFyc2VyX3l5ZXJyb3IocCwgTlVM
TCwgUlNUUklOR19QVFIobWVzZykpOworICAgIFJCX0dDX0dVQVJEKG1lc2cpOworCisgICAgbWVz
ZyA9IHJiX3N0cl9uZXcoMCwgMCk7CisgICAgYXBwZW5kX2xleF9zdGF0ZV9uYW1lKHAtPmxleC5z
dGF0ZSwgbWVzZyk7CisgICAgY29tcGlsZV9lcnJvcihwLCAicC0+bGV4LnN0YXRlOiAlIlBSSXNW
QUxVRSwgbWVzZyk7CisgICAgcmJfc3RyX3Jlc2l6ZShtZXNnLCAwKTsKKyAgICBhcHBlbmRfYml0
c3RhY2tfdmFsdWUocC0+Y29uZF9zdGFjaywgbWVzZyk7CisgICAgY29tcGlsZV9lcnJvcihwLCAi
cC0+Y29uZF9zdGFjazogJSJQUklzVkFMVUUsIG1lc2cpOworICAgIHJiX3N0cl9yZXNpemUobWVz
ZywgMCk7CisgICAgYXBwZW5kX2JpdHN0YWNrX3ZhbHVlKHAtPmNtZGFyZ19zdGFjaywgbWVzZyk7
CisgICAgY29tcGlsZV9lcnJvcihwLCAicC0+Y21kYXJnX3N0YWNrOiAlIlBSSXNWQUxVRSwgbWVz
Zyk7CisgICAgaWYgKHAtPmRlYnVnX291dHB1dCA9PSByYl9zdGRvdXQpCisJcC0+ZGVidWdfb3V0
cHV0ID0gcmJfc3RkZXJyOworICAgIHAtPmRlYnVnID0gVFJVRTsKK30KKwordm9pZAorcmJfcGFy
c2VyX3NldF9sb2NhdGlvbl9mcm9tX3N0cnRlcm1faGVyZWRvYyhzdHJ1Y3QgcGFyc2VyX3BhcmFt
cyAqcCwgcmJfc3RydGVybV9oZXJlZG9jX3QgKmhlcmUsIFlZTFRZUEUgKnl5bGxvYykKK3sKKyAg
ICBjb25zdCBjaGFyICplb3MgPSBSU1RSSU5HX1BUUihoZXJlLT50ZXJtKTsKKyAgICBsb25nIHRl
cm1fbGVuID0gUlNUUklOR19MRU4oaGVyZS0+dGVybSkgLSAyICsgKHVuc2lnbmVkIGNoYXIpZW9z
WzBdOworCisgICAgeXlsbG9jLT5iZWdfcG9zLmxpbmVubyA9IChpbnQpaGVyZS0+c291cmNlbGlu
ZTsKKyAgICB5eWxsb2MtPmJlZ19wb3MuY29sdW1uID0gKGludCkoaGVyZS0+dTMubGFzdGlkeCAt
IHRlcm1fbGVuKTsKKyAgICB5eWxsb2MtPmVuZF9wb3MubGluZW5vID0gKGludCloZXJlLT5zb3Vy
Y2VsaW5lOworICAgIHl5bGxvYy0+ZW5kX3Bvcy5jb2x1bW4gPSAoaW50KShoZXJlLT51My5sYXN0
aWR4KTsKK30KKwordm9pZAorcmJfcGFyc2VyX3NldF9sb2NhdGlvbl9vZl9ub25lKHN0cnVjdCBw
YXJzZXJfcGFyYW1zICpwLCBZWUxUWVBFICp5eWxsb2MpCit7CisgICAgeXlsbG9jLT5iZWdfcG9z
LmxpbmVubyA9IHAtPnJ1Ynlfc291cmNlbGluZTsKKyAgICB5eWxsb2MtPmJlZ19wb3MuY29sdW1u
ID0gKGludCkocC0+bGV4LnB0b2sgLSBwLT5sZXgucGJlZyk7CisgICAgeXlsbG9jLT5lbmRfcG9z
LmxpbmVubyA9IHAtPnJ1Ynlfc291cmNlbGluZTsKKyAgICB5eWxsb2MtPmVuZF9wb3MuY29sdW1u
ID0gKGludCkocC0+bGV4LnB0b2sgLSBwLT5sZXgucGJlZyk7Cit9CisKK3ZvaWQKK3JiX3BhcnNl
cl9zZXRfbG9jYXRpb24oc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIFlZTFRZUEUgKnl5bGxvYykK
K3sKKyAgICB5eWxsb2MtPmJlZ19wb3MubGluZW5vID0gcC0+cnVieV9zb3VyY2VsaW5lOworICAg
IHl5bGxvYy0+YmVnX3Bvcy5jb2x1bW4gPSAoaW50KShwLT5sZXgucHRvayAtIHAtPmxleC5wYmVn
KTsKKyAgICB5eWxsb2MtPmVuZF9wb3MubGluZW5vID0gcC0+cnVieV9zb3VyY2VsaW5lOworICAg
IHl5bGxvYy0+ZW5kX3Bvcy5jb2x1bW4gPSAoaW50KShwLT5sZXgucGN1ciAtIHAtPmxleC5wYmVn
KTsKK30KKyNlbmRpZiAvKiAhUklQUEVSICovCisKK3N0YXRpYyB2b2lkCitwYXJzZXJfdG9rZW5f
dmFsdWVfcHJpbnQoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIGVudW0geXl0b2tlbnR5cGUgdHlw
ZSwgY29uc3QgWVlTVFlQRSAqdmFscCkKK3sKKyAgICBWQUxVRSB2OworCisgICAgc3dpdGNoICh0
eXBlKSB7CisgICAgICBjYXNlIHRJREVOVElGSUVSOiBjYXNlIHRGSUQ6IGNhc2UgdEdWQVI6IGNh
c2UgdElWQVI6CisgICAgICBjYXNlIHRDT05TVEFOVDogY2FzZSB0Q1ZBUjogY2FzZSB0TEFCRUw6
IGNhc2UgdE9QX0FTR046CisjaWZuZGVmIFJJUFBFUgorCXYgPSByYl9pZDJzdHIodmFscC0+aWQp
OworI2Vsc2UKKwl2ID0gdmFscC0+dmFsOworI2VuZGlmCisJcmJfcGFyc2VyX3ByaW50ZihwLCAi
JSJQUklzVkFMVUUsIHYpOworCWJyZWFrOworICAgICAgY2FzZSB0SU5URUdFUjogY2FzZSB0RkxP
QVQ6IGNhc2UgdFJBVElPTkFMOiBjYXNlIHRJTUFHSU5BUlk6CisgICAgICBjYXNlIHRTVFJJTkdf
Q09OVEVOVDogY2FzZSB0Q0hBUjoKKyNpZm5kZWYgUklQUEVSCisJdiA9IHZhbHAtPm5vZGUtPm5k
X2xpdDsKKyNlbHNlCisJdiA9IHZhbHAtPnZhbDsKKyNlbmRpZgorCXJiX3BhcnNlcl9wcmludGYo
cCwgIiUrIlBSSXNWQUxVRSwgdik7CisJYnJlYWs7CisgICAgICBjYXNlIHROVEhfUkVGOgorI2lm
bmRlZiBSSVBQRVIKKwlyYl9wYXJzZXJfcHJpbnRmKHAsICIkJWxkIiwgdmFscC0+bm9kZS0+bmRf
bnRoKTsKKyNlbHNlCisJcmJfcGFyc2VyX3ByaW50ZihwLCAiJSJQUklzVkFMVUUsIHZhbHAtPnZh
bCk7CisjZW5kaWYKKwlicmVhazsKKyAgICAgIGNhc2UgdEJBQ0tfUkVGOgorI2lmbmRlZiBSSVBQ
RVIKKwlyYl9wYXJzZXJfcHJpbnRmKHAsICIkJWMiLCAoaW50KXZhbHAtPm5vZGUtPm5kX250aCk7
CisjZWxzZQorCXJiX3BhcnNlcl9wcmludGYocCwgIiUiUFJJc1ZBTFVFLCB2YWxwLT52YWwpOwor
I2VuZGlmCisJYnJlYWs7CisgICAgICBkZWZhdWx0OgorCWJyZWFrOworICAgIH0KK30KKworc3Rh
dGljIGludAorYXNzaWduYWJsZTAoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIElEIGlkLCBjb25z
dCBjaGFyICoqZXJyKQoreworICAgIGlmICghaWQpIHJldHVybiAtMTsKKyAgICBzd2l0Y2ggKGlk
KSB7CisgICAgICBjYXNlIGtleXdvcmRfc2VsZjoKKwkqZXJyID0gIkNhbid0IGNoYW5nZSB0aGUg
dmFsdWUgb2Ygc2VsZiI7CisJcmV0dXJuIC0xOworICAgICAgY2FzZSBrZXl3b3JkX25pbDoKKwkq
ZXJyID0gIkNhbid0IGFzc2lnbiB0byBuaWwiOworCXJldHVybiAtMTsKKyAgICAgIGNhc2Uga2V5
d29yZF90cnVlOgorCSplcnIgPSAiQ2FuJ3QgYXNzaWduIHRvIHRydWUiOworCXJldHVybiAtMTsK
KyAgICAgIGNhc2Uga2V5d29yZF9mYWxzZToKKwkqZXJyID0gIkNhbid0IGFzc2lnbiB0byBmYWxz
ZSI7CisJcmV0dXJuIC0xOworICAgICAgY2FzZSBrZXl3b3JkX19GSUxFX186CisJKmVyciA9ICJD
YW4ndCBhc3NpZ24gdG8gX19GSUxFX18iOworCXJldHVybiAtMTsKKyAgICAgIGNhc2Uga2V5d29y
ZF9fTElORV9fOgorCSplcnIgPSAiQ2FuJ3QgYXNzaWduIHRvIF9fTElORV9fIjsKKwlyZXR1cm4g
LTE7CisgICAgICBjYXNlIGtleXdvcmRfX0VOQ09ESU5HX186CisJKmVyciA9ICJDYW4ndCBhc3Np
Z24gdG8gX19FTkNPRElOR19fIjsKKwlyZXR1cm4gLTE7CisgICAgfQorICAgIHN3aXRjaCAoaWRf
dHlwZShpZCkpIHsKKyAgICAgIGNhc2UgSURfTE9DQUw6CisJaWYgKGR5bmFfaW5fYmxvY2socCkp
IHsKKwkgICAgaWYgKGR2YXJfY3VycihwLCBpZCkpIHJldHVybiBOT0RFX0RBU0dOX0NVUlI7CisJ
ICAgIGlmIChkdmFyX2RlZmluZWQocCwgaWQpKSByZXR1cm4gTk9ERV9EQVNHTjsKKwkgICAgaWYg
KGxvY2FsX2lkKHAsIGlkKSkgcmV0dXJuIE5PREVfTEFTR047CisJICAgIGR5bmFfdmFyKHAsIGlk
KTsKKwkgICAgcmV0dXJuIE5PREVfREFTR05fQ1VSUjsKKwl9CisJZWxzZSB7CisJICAgIGlmICgh
bG9jYWxfaWQocCwgaWQpKSBsb2NhbF92YXIocCwgaWQpOworCSAgICByZXR1cm4gTk9ERV9MQVNH
TjsKKwl9CisJYnJlYWs7CisgICAgICBjYXNlIElEX0dMT0JBTDogcmV0dXJuIE5PREVfR0FTR047
CisgICAgICBjYXNlIElEX0lOU1RBTkNFOiByZXR1cm4gTk9ERV9JQVNHTjsKKyAgICAgIGNhc2Ug
SURfQ09OU1Q6CisJaWYgKCFwLT5pbl9kZWYpIHJldHVybiBOT0RFX0NERUNMOworCSplcnIgPSAi
ZHluYW1pYyBjb25zdGFudCBhc3NpZ25tZW50IjsKKwlyZXR1cm4gLTE7CisgICAgICBjYXNlIElE
X0NMQVNTOiByZXR1cm4gTk9ERV9DVkFTR047CisgICAgICBkZWZhdWx0OgorCWNvbXBpbGVfZXJy
b3IocCwgImlkZW50aWZpZXIgJSJQUklzVkFMVUUiIGlzIG5vdCB2YWxpZCB0byBzZXQiLCByYl9p
ZDJzdHIoaWQpKTsKKyAgICB9CisgICAgcmV0dXJuIC0xOworfQorCisjaWZuZGVmIFJJUFBFUgor
c3RhdGljIE5PREUqCithc3NpZ25hYmxlKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBJRCBpZCwg
Tk9ERSAqdmFsLCBjb25zdCBZWUxUWVBFICpsb2MpCit7CisgICAgY29uc3QgY2hhciAqZXJyID0g
MDsKKyAgICBpbnQgbm9kZV90eXBlID0gYXNzaWduYWJsZTAocCwgaWQsICZlcnIpOworICAgIHN3
aXRjaCAobm9kZV90eXBlKSB7CisgICAgICBjYXNlIE5PREVfREFTR05fQ1VSUjogcmV0dXJuIE5F
V19EQVNHTl9DVVJSKGlkLCB2YWwsIGxvYyk7CisgICAgICBjYXNlIE5PREVfREFTR046IHJldHVy
biBORVdfREFTR04oaWQsIHZhbCwgbG9jKTsKKyAgICAgIGNhc2UgTk9ERV9MQVNHTjogcmV0dXJu
IE5FV19MQVNHTihpZCwgdmFsLCBsb2MpOworICAgICAgY2FzZSBOT0RFX0dBU0dOOiByZXR1cm4g
TkVXX0dBU0dOKGlkLCB2YWwsIGxvYyk7CisgICAgICBjYXNlIE5PREVfSUFTR046IHJldHVybiBO
RVdfSUFTR04oaWQsIHZhbCwgbG9jKTsKKyAgICAgIGNhc2UgTk9ERV9DREVDTDogcmV0dXJuIE5F
V19DREVDTChpZCwgdmFsLCAwLCBsb2MpOworICAgICAgY2FzZSBOT0RFX0NWQVNHTjogcmV0dXJu
IE5FV19DVkFTR04oaWQsIHZhbCwgbG9jKTsKKyAgICB9CisgICAgaWYgKGVycikgeXllcnJvcjEo
bG9jLCBlcnIpOworICAgIHJldHVybiBORVdfQkVHSU4oMCwgbG9jKTsKK30KKyNlbHNlCitzdGF0
aWMgVkFMVUUKK2Fzc2lnbmFibGUoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIFZBTFVFIGxocykK
K3sKKyAgICBjb25zdCBjaGFyICplcnIgPSAwOworICAgIGFzc2lnbmFibGUwKHAsIGdldF9pZChs
aHMpLCAmZXJyKTsKKyAgICBpZiAoZXJyKSBsaHMgPSBhc3NpZ25fZXJyb3IocCwgbGhzKTsKKyAg
ICByZXR1cm4gbGhzOworfQorI2VuZGlmCisKK3N0YXRpYyBpbnQKK2lzX3ByaXZhdGVfbG9jYWxf
aWQoSUQgbmFtZSkKK3sKKyAgICBWQUxVRSBzOworICAgIGlmIChuYW1lID09IGlkVVNjb3JlKSBy
ZXR1cm4gMTsKKyAgICBpZiAoIWlzX2xvY2FsX2lkKG5hbWUpKSByZXR1cm4gMDsKKyAgICBzID0g
cmJfaWQyc3RyKG5hbWUpOworICAgIGlmICghcykgcmV0dXJuIDA7CisgICAgcmV0dXJuIFJTVFJJ
TkdfUFRSKHMpWzBdID09ICdfJzsKK30KKworc3RhdGljIGludAorc2hhZG93aW5nX2x2YXJfMChz
dHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgSUQgbmFtZSkKK3sKKyAgICBpZiAoaXNfcHJpdmF0ZV9s
b2NhbF9pZChuYW1lKSkgcmV0dXJuIDE7CisgICAgaWYgKGR5bmFfaW5fYmxvY2socCkpIHsKKwlp
ZiAoZHZhcl9jdXJyKHAsIG5hbWUpKSB7CisJICAgIHl5ZXJyb3IwKCJkdXBsaWNhdGVkIGFyZ3Vt
ZW50IG5hbWUiKTsKKwl9CisJZWxzZSBpZiAoZHZhcl9kZWZpbmVkKHAsIG5hbWUpIHx8IGxvY2Fs
X2lkKHAsIG5hbWUpKSB7CisJICAgIHZ0YWJsZV9hZGQocC0+bHZ0YmwtPnZhcnMsIG5hbWUpOwor
CSAgICBpZiAocC0+bHZ0YmwtPnVzZWQpIHsKKwkJdnRhYmxlX2FkZChwLT5sdnRibC0+dXNlZCwg
KElEKXAtPnJ1Ynlfc291cmNlbGluZSB8IExWQVJfVVNFRCk7CisJICAgIH0KKwkgICAgcmV0dXJu
IDA7CisJfQorICAgIH0KKyAgICBlbHNlIHsKKwlpZiAobG9jYWxfaWQocCwgbmFtZSkpIHsKKwkg
ICAgeXllcnJvcjAoImR1cGxpY2F0ZWQgYXJndW1lbnQgbmFtZSIpOworCX0KKyAgICB9CisgICAg
cmV0dXJuIDE7Cit9CisKK3N0YXRpYyBJRAorc2hhZG93aW5nX2x2YXIoc3RydWN0IHBhcnNlcl9w
YXJhbXMgKnAsIElEIG5hbWUpCit7CisgICAgc2hhZG93aW5nX2x2YXJfMChwLCBuYW1lKTsKKyAg
ICByZXR1cm4gbmFtZTsKK30KKworc3RhdGljIHZvaWQKK25ld19idihzdHJ1Y3QgcGFyc2VyX3Bh
cmFtcyAqcCwgSUQgbmFtZSkKK3sKKyAgICBpZiAoIW5hbWUpIHJldHVybjsKKyAgICBpZiAoIWlz
X2xvY2FsX2lkKG5hbWUpKSB7CisJY29tcGlsZV9lcnJvcihwLCAiaW52YWxpZCBsb2NhbCB2YXJp
YWJsZSAtICUiUFJJc1ZBTFVFLAorCQkgICAgICByYl9pZDJzdHIobmFtZSkpOworCXJldHVybjsK
KyAgICB9CisgICAgaWYgKCFzaGFkb3dpbmdfbHZhcl8wKHAsIG5hbWUpKSByZXR1cm47CisgICAg
ZHluYV92YXIocCwgbmFtZSk7Cit9CisKKyNpZm5kZWYgUklQUEVSCitzdGF0aWMgTk9ERSAqCith
cnlzZXQoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIE5PREUgKnJlY3YsIE5PREUgKmlkeCwgY29u
c3QgWVlMVFlQRSAqbG9jKQoreworICAgIHJldHVybiBORVdfQVRUUkFTR04ocmVjdiwgdEFTRVQs
IGlkeCwgbG9jKTsKK30KKworc3RhdGljIHZvaWQKK2Jsb2NrX2R1cF9jaGVjayhzdHJ1Y3QgcGFy
c2VyX3BhcmFtcyAqcCwgTk9ERSAqbm9kZTEsIE5PREUgKm5vZGUyKQoreworICAgIGlmIChub2Rl
MiAmJiBub2RlMSAmJiBuZF90eXBlKG5vZGUxKSA9PSBOT0RFX0JMT0NLX1BBU1MpIHsKKwljb21w
aWxlX2Vycm9yKHAsICJib3RoIGJsb2NrIGFyZyBhbmQgYWN0dWFsIGJsb2NrIGdpdmVuIik7Cisg
ICAgfQorfQorCitzdGF0aWMgTk9ERSAqCithdHRyc2V0KHN0cnVjdCBwYXJzZXJfcGFyYW1zICpw
LCBOT0RFICpyZWN2LCBJRCBhdHlwZSwgSUQgaWQsIGNvbnN0IFlZTFRZUEUgKmxvYykKK3sKKyAg
ICBpZiAoIUNBTExfUV9QKGF0eXBlKSkgaWQgPSByYl9pZF9hdHRyc2V0KGlkKTsKKyAgICByZXR1
cm4gTkVXX0FUVFJBU0dOKHJlY3YsIGlkLCAwLCBsb2MpOworfQorCitzdGF0aWMgdm9pZAorcmJf
YmFja3JlZl9lcnJvcihzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgTk9ERSAqbm9kZSkKK3sKKyAg
ICBzd2l0Y2ggKG5kX3R5cGUobm9kZSkpIHsKKyAgICAgIGNhc2UgTk9ERV9OVEhfUkVGOgorCWNv
bXBpbGVfZXJyb3IocCwgIkNhbid0IHNldCB2YXJpYWJsZSAkJWxkIiwgbm9kZS0+bmRfbnRoKTsK
KwlicmVhazsKKyAgICAgIGNhc2UgTk9ERV9CQUNLX1JFRjoKKwljb21waWxlX2Vycm9yKHAsICJD
YW4ndCBzZXQgdmFyaWFibGUgJCVjIiwgKGludClub2RlLT5uZF9udGgpOworCWJyZWFrOworICAg
IH0KK30KKworc3RhdGljIE5PREUgKgorYXJnX2FwcGVuZChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAq
cCwgTk9ERSAqbm9kZTEsIE5PREUgKm5vZGUyLCBjb25zdCBZWUxUWVBFICpsb2MpCit7CisgICAg
aWYgKCFub2RlMSkgcmV0dXJuIE5FV19MSVNUKG5vZGUyLCAmbm9kZTItPm5kX2xvYyk7CisgICAg
c3dpdGNoIChuZF90eXBlKG5vZGUxKSkgIHsKKyAgICAgIGNhc2UgTk9ERV9BUlJBWToKKwlyZXR1
cm4gbGlzdF9hcHBlbmQocCwgbm9kZTEsIG5vZGUyKTsKKyAgICAgIGNhc2UgTk9ERV9CTE9DS19Q
QVNTOgorCW5vZGUxLT5uZF9oZWFkID0gYXJnX2FwcGVuZChwLCBub2RlMS0+bmRfaGVhZCwgbm9k
ZTIsIGxvYyk7CisJbm9kZTEtPm5kX2xvYy5lbmRfcG9zID0gbm9kZTEtPm5kX2hlYWQtPm5kX2xv
Yy5lbmRfcG9zOworCXJldHVybiBub2RlMTsKKyAgICAgIGNhc2UgTk9ERV9BUkdTUFVTSDoKKwlu
b2RlMS0+bmRfYm9keSA9IGxpc3RfYXBwZW5kKHAsIE5FV19MSVNUKG5vZGUxLT5uZF9ib2R5LCAm
bm9kZTEtPm5kX2JvZHktPm5kX2xvYyksIG5vZGUyKTsKKwlub2RlMS0+bmRfbG9jLmVuZF9wb3Mg
PSBub2RlMS0+bmRfYm9keS0+bmRfbG9jLmVuZF9wb3M7CisJbmRfc2V0X3R5cGUobm9kZTEsIE5P
REVfQVJHU0NBVCk7CisJcmV0dXJuIG5vZGUxOworICAgICAgY2FzZSBOT0RFX0FSR1NDQVQ6Cisg
ICAgICAgIGlmIChuZF90eXBlKG5vZGUxLT5uZF9ib2R5KSAhPSBOT0RFX0FSUkFZKSBicmVhazsK
KyAgICAgICAgbm9kZTEtPm5kX2JvZHkgPSBsaXN0X2FwcGVuZChwLCBub2RlMS0+bmRfYm9keSwg
bm9kZTIpOworICAgICAgICBub2RlMS0+bmRfbG9jLmVuZF9wb3MgPSBub2RlMS0+bmRfYm9keS0+
bmRfbG9jLmVuZF9wb3M7CisgICAgICAgIHJldHVybiBub2RlMTsKKyAgICB9CisgICAgcmV0dXJu
IE5FV19BUkdTUFVTSChub2RlMSwgbm9kZTIsIGxvYyk7Cit9CisKK3N0YXRpYyBOT0RFICoKK2Fy
Z19jb25jYXQoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIE5PREUgKm5vZGUxLCBOT0RFICpub2Rl
MiwgY29uc3QgWVlMVFlQRSAqbG9jKQoreworICAgIGlmICghbm9kZTIpIHJldHVybiBub2RlMTsK
KyAgICBzd2l0Y2ggKG5kX3R5cGUobm9kZTEpKSB7CisgICAgICBjYXNlIE5PREVfQkxPQ0tfUEFT
UzoKKwlpZiAobm9kZTEtPm5kX2hlYWQpCisJICAgIG5vZGUxLT5uZF9oZWFkID0gYXJnX2NvbmNh
dChwLCBub2RlMS0+bmRfaGVhZCwgbm9kZTIsIGxvYyk7CisJZWxzZQorCSAgICBub2RlMS0+bmRf
aGVhZCA9IE5FV19MSVNUKG5vZGUyLCBsb2MpOworCXJldHVybiBub2RlMTsKKyAgICAgIGNhc2Ug
Tk9ERV9BUkdTUFVTSDoKKwlpZiAobmRfdHlwZShub2RlMikgIT0gTk9ERV9BUlJBWSkgYnJlYWs7
CisJbm9kZTEtPm5kX2JvZHkgPSBsaXN0X2NvbmNhdChORVdfTElTVChub2RlMS0+bmRfYm9keSwg
bG9jKSwgbm9kZTIpOworCW5kX3NldF90eXBlKG5vZGUxLCBOT0RFX0FSR1NDQVQpOworCXJldHVy
biBub2RlMTsKKyAgICAgIGNhc2UgTk9ERV9BUkdTQ0FUOgorCWlmIChuZF90eXBlKG5vZGUyKSAh
PSBOT0RFX0FSUkFZIHx8CisJICAgIG5kX3R5cGUobm9kZTEtPm5kX2JvZHkpICE9IE5PREVfQVJS
QVkpIGJyZWFrOworCW5vZGUxLT5uZF9ib2R5ID0gbGlzdF9jb25jYXQobm9kZTEtPm5kX2JvZHks
IG5vZGUyKTsKKwlyZXR1cm4gbm9kZTE7CisgICAgfQorICAgIHJldHVybiBORVdfQVJHU0NBVChu
b2RlMSwgbm9kZTIsIGxvYyk7Cit9CisKK3N0YXRpYyBOT0RFICoKK2xhc3RfYXJnX2FwcGVuZChz
dHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgTk9ERSAqYXJncywgTk9ERSAqbGFzdF9hcmcsIGNvbnN0
IFlZTFRZUEUgKmxvYykKK3sKKyAgICBOT0RFICpuMTsKKyAgICBpZiAoKG4xID0gc3BsYXRfYXJy
YXkoYXJncykpICE9IDApIHsKKwlyZXR1cm4gbGlzdF9hcHBlbmQocCwgbjEsIGxhc3RfYXJnKTsK
KyAgICB9CisgICAgcmV0dXJuIGFyZ19hcHBlbmQocCwgYXJncywgbGFzdF9hcmcsIGxvYyk7Cit9
CisKK3N0YXRpYyBOT0RFICoKK3Jlc3RfYXJnX2FwcGVuZChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAq
cCwgTk9ERSAqYXJncywgTk9ERSAqcmVzdF9hcmcsIGNvbnN0IFlZTFRZUEUgKmxvYykKK3sKKyAg
ICBOT0RFICpuMTsKKyAgICBpZiAoKG5kX3R5cGUocmVzdF9hcmcpID09IE5PREVfQVJSQVkpICYm
IChuMSA9IHNwbGF0X2FycmF5KGFyZ3MpKSAhPSAwKSB7CisJcmV0dXJuIGxpc3RfY29uY2F0KG4x
LCByZXN0X2FyZyk7CisgICAgfQorICAgIHJldHVybiBhcmdfY29uY2F0KHAsIGFyZ3MsIHJlc3Rf
YXJnLCBsb2MpOworfQorCitzdGF0aWMgTk9ERSAqCitzcGxhdF9hcnJheShOT0RFKiBub2RlKQor
eworICAgIGlmIChuZF90eXBlKG5vZGUpID09IE5PREVfU1BMQVQpIG5vZGUgPSBub2RlLT5uZF9o
ZWFkOworICAgIGlmIChuZF90eXBlKG5vZGUpID09IE5PREVfQVJSQVkpIHJldHVybiBub2RlOwor
ICAgIHJldHVybiAwOworfQorCitzdGF0aWMgdm9pZAorbWFya19sdmFyX3VzZWQoc3RydWN0IHBh
cnNlcl9wYXJhbXMgKnAsIE5PREUgKnJocykKK3sKKyAgICBJRCAqdmlkcCA9IE5VTEw7CisgICAg
aWYgKCFyaHMpIHJldHVybjsKKyAgICBzd2l0Y2ggKG5kX3R5cGUocmhzKSkgeworICAgICAgY2Fz
ZSBOT0RFX0xBU0dOOgorCWlmIChsb2NhbF9pZF9yZWYocCwgcmhzLT5uZF92aWQsICZ2aWRwKSkg
eworCSAgICBpZiAodmlkcCkgKnZpZHAgfD0gTFZBUl9VU0VEOworCX0KKwlicmVhazsKKyAgICAg
IGNhc2UgTk9ERV9EQVNHTjoKKyAgICAgIGNhc2UgTk9ERV9EQVNHTl9DVVJSOgorCWlmIChkdmFy
X2RlZmluZWRfcmVmKHAsIHJocy0+bmRfdmlkLCAmdmlkcCkpIHsKKwkgICAgaWYgKHZpZHApICp2
aWRwIHw9IExWQVJfVVNFRDsKKwl9CisJYnJlYWs7CisjaWYgMAorICAgICAgY2FzZSBOT0RFX01B
U0dOOgorCWZvciAocmhzID0gcmhzLT5uZF9oZWFkOyByaHM7IHJocyA9IHJocy0+bmRfbmV4dCkg
eworCSAgICBtYXJrX2x2YXJfdXNlZChwLCByaHMtPm5kX2hlYWQpOworCX0KKwlicmVhazsKKyNl
bmRpZgorICAgIH0KK30KKworc3RhdGljIE5PREUgKgorbm9kZV9hc3NpZ24oc3RydWN0IHBhcnNl
cl9wYXJhbXMgKnAsIE5PREUgKmxocywgTk9ERSAqcmhzLCBjb25zdCBZWUxUWVBFICpsb2MpCit7
CisgICAgaWYgKCFsaHMpIHJldHVybiAwOworCisgICAgc3dpdGNoIChuZF90eXBlKGxocykpIHsK
KyAgICAgIGNhc2UgTk9ERV9HQVNHTjoKKyAgICAgIGNhc2UgTk9ERV9JQVNHTjoKKyAgICAgIGNh
c2UgTk9ERV9MQVNHTjoKKyAgICAgIGNhc2UgTk9ERV9EQVNHTjoKKyAgICAgIGNhc2UgTk9ERV9E
QVNHTl9DVVJSOgorICAgICAgY2FzZSBOT0RFX01BU0dOOgorICAgICAgY2FzZSBOT0RFX0NERUNM
OgorICAgICAgY2FzZSBOT0RFX0NWQVNHTjoKKwlsaHMtPm5kX3ZhbHVlID0gcmhzOworCW5kX3Nl
dF9sb2MobGhzLCBsb2MpOworCWJyZWFrOworCisgICAgICBjYXNlIE5PREVfQVRUUkFTR046CisJ
bGhzLT5uZF9hcmdzID0gYXJnX2FwcGVuZChwLCBsaHMtPm5kX2FyZ3MsIHJocywgbG9jKTsKKwlu
ZF9zZXRfbG9jKGxocywgbG9jKTsKKwlicmVhazsKKworICAgICAgZGVmYXVsdDoKKwkvKiBzaG91
bGQgbm90IGhhcHBlbiAqLworCWJyZWFrOworICAgIH0KKworICAgIHJldHVybiBsaHM7Cit9CisK
K3N0YXRpYyBpbnQKK3ZhbHVlX2V4cHJfZ2VuKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBOT0RF
ICpub2RlKQoreworICAgIGludCBjb25kID0gMDsKKworICAgIGlmICghbm9kZSkgeworCXJiX3dh
cm5pbmcwKCJlbXB0eSBleHByZXNzaW9uIik7CisgICAgfQorICAgIHdoaWxlIChub2RlKSB7CisJ
c3dpdGNoIChuZF90eXBlKG5vZGUpKSB7CisJICBjYXNlIE5PREVfUkVUVVJOOgorCSAgY2FzZSBO
T0RFX0JSRUFLOgorCSAgY2FzZSBOT0RFX05FWFQ6CisJICBjYXNlIE5PREVfUkVETzoKKwkgIGNh
c2UgTk9ERV9SRVRSWToKKwkgICAgaWYgKCFjb25kKSB5eWVycm9yMSgmbm9kZS0+bmRfbG9jLCAi
dm9pZCB2YWx1ZSBleHByZXNzaW9uIik7CisJICAgIC8qIG9yICJjb250cm9sIG5ldmVyIHJlYWNo
Ij8gKi8KKwkgICAgcmV0dXJuIEZBTFNFOworCisJICBjYXNlIE5PREVfQkxPQ0s6CisJICAgIHdo
aWxlIChub2RlLT5uZF9uZXh0KSB7CisJCW5vZGUgPSBub2RlLT5uZF9uZXh0OworCSAgICB9CisJ
ICAgIG5vZGUgPSBub2RlLT5uZF9oZWFkOworCSAgICBicmVhazsKKworCSAgY2FzZSBOT0RFX0JF
R0lOOgorCSAgICBub2RlID0gbm9kZS0+bmRfYm9keTsKKwkgICAgYnJlYWs7CisKKwkgIGNhc2Ug
Tk9ERV9JRjoKKwkgIGNhc2UgTk9ERV9VTkxFU1M6CisJICAgIGlmICghbm9kZS0+bmRfYm9keSkg
eworCQlub2RlID0gbm9kZS0+bmRfZWxzZTsKKwkJYnJlYWs7CisJICAgIH0KKwkgICAgZWxzZSBp
ZiAoIW5vZGUtPm5kX2Vsc2UpIHsKKwkJbm9kZSA9IG5vZGUtPm5kX2JvZHk7CisJCWJyZWFrOwor
CSAgICB9CisJICAgIGlmICghdmFsdWVfZXhwcihub2RlLT5uZF9ib2R5KSkgcmV0dXJuIEZBTFNF
OworCSAgICBub2RlID0gbm9kZS0+bmRfZWxzZTsKKwkgICAgYnJlYWs7CisKKwkgIGNhc2UgTk9E
RV9BTkQ6CisJICBjYXNlIE5PREVfT1I6CisJICAgIGNvbmQgPSAxOworCSAgICBub2RlID0gbm9k
ZS0+bmRfMm5kOworCSAgICBicmVhazsKKworCSAgY2FzZSBOT0RFX0xBU0dOOgorCSAgY2FzZSBO
T0RFX0RBU0dOOgorCSAgY2FzZSBOT0RFX0RBU0dOX0NVUlI6CisJICBjYXNlIE5PREVfTUFTR046
CisJICAgIG1hcmtfbHZhcl91c2VkKHAsIG5vZGUpOworCSAgICByZXR1cm4gVFJVRTsKKworCSAg
ZGVmYXVsdDoKKwkgICAgcmV0dXJuIFRSVUU7CisJfQorICAgIH0KKworICAgIHJldHVybiBUUlVF
OworfQorCitzdGF0aWMgdm9pZAordm9pZF9leHByKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBO
T0RFICpub2RlKQoreworICAgIGNvbnN0IGNoYXIgKnVzZWxlc3MgPSAwOworCisgICAgaWYgKCFS
VEVTVChydWJ5X3ZlcmJvc2UpKSByZXR1cm47CisKKyAgICBpZiAoIW5vZGUgfHwgIShub2RlID0g
bmRfb25jZV9ib2R5KG5vZGUpKSkgcmV0dXJuOworICAgIHN3aXRjaCAobmRfdHlwZShub2RlKSkg
eworICAgICAgY2FzZSBOT0RFX09QQ0FMTDoKKwlzd2l0Y2ggKG5vZGUtPm5kX21pZCkgeworCSAg
Y2FzZSAnKyc6CisJICBjYXNlICctJzoKKwkgIGNhc2UgJyonOgorCSAgY2FzZSAnLyc6CisJICBj
YXNlICclJzoKKwkgIGNhc2UgdFBPVzoKKwkgIGNhc2UgdFVQTFVTOgorCSAgY2FzZSB0VU1JTlVT
OgorCSAgY2FzZSAnfCc6CisJICBjYXNlICdeJzoKKwkgIGNhc2UgJyYnOgorCSAgY2FzZSB0Q01Q
OgorCSAgY2FzZSAnPic6CisJICBjYXNlIHRHRVE6CisJICBjYXNlICc8JzoKKwkgIGNhc2UgdExF
UToKKwkgIGNhc2UgdEVROgorCSAgY2FzZSB0TkVROgorCSAgICB1c2VsZXNzID0gcmJfaWQybmFt
ZShub2RlLT5uZF9taWQpOworCSAgICBicmVhazsKKwl9CisJYnJlYWs7CisKKyAgICAgIGNhc2Ug
Tk9ERV9MVkFSOgorICAgICAgY2FzZSBOT0RFX0RWQVI6CisgICAgICBjYXNlIE5PREVfR1ZBUjoK
KyAgICAgIGNhc2UgTk9ERV9JVkFSOgorICAgICAgY2FzZSBOT0RFX0NWQVI6CisgICAgICBjYXNl
IE5PREVfTlRIX1JFRjoKKyAgICAgIGNhc2UgTk9ERV9CQUNLX1JFRjoKKwl1c2VsZXNzID0gImEg
dmFyaWFibGUiOworCWJyZWFrOworICAgICAgY2FzZSBOT0RFX0NPTlNUOgorCXVzZWxlc3MgPSAi
YSBjb25zdGFudCI7CisJYnJlYWs7CisgICAgICBjYXNlIE5PREVfTElUOgorICAgICAgY2FzZSBO
T0RFX1NUUjoKKyAgICAgIGNhc2UgTk9ERV9EU1RSOgorICAgICAgY2FzZSBOT0RFX0RSRUdYOgor
CXVzZWxlc3MgPSAiYSBsaXRlcmFsIjsKKwlicmVhazsKKyAgICAgIGNhc2UgTk9ERV9DT0xPTjI6
CisgICAgICBjYXNlIE5PREVfQ09MT04zOgorCXVzZWxlc3MgPSAiOjoiOworCWJyZWFrOworICAg
ICAgY2FzZSBOT0RFX0RPVDI6CisJdXNlbGVzcyA9ICIuLiI7CisJYnJlYWs7CisgICAgICBjYXNl
IE5PREVfRE9UMzoKKwl1c2VsZXNzID0gIi4uLiI7CisJYnJlYWs7CisgICAgICBjYXNlIE5PREVf
U0VMRjoKKwl1c2VsZXNzID0gInNlbGYiOworCWJyZWFrOworICAgICAgY2FzZSBOT0RFX05JTDoK
Kwl1c2VsZXNzID0gIm5pbCI7CisJYnJlYWs7CisgICAgICBjYXNlIE5PREVfVFJVRToKKwl1c2Vs
ZXNzID0gInRydWUiOworCWJyZWFrOworICAgICAgY2FzZSBOT0RFX0ZBTFNFOgorCXVzZWxlc3Mg
PSAiZmFsc2UiOworCWJyZWFrOworICAgICAgY2FzZSBOT0RFX0RFRklORUQ6CisJdXNlbGVzcyA9
ICJkZWZpbmVkPyI7CisJYnJlYWs7CisgICAgfQorCisgICAgaWYgKHVzZWxlc3MpIHsKKwlyYl93
YXJuMUwobmRfbGluZShub2RlKSwgInBvc3NpYmx5IHVzZWxlc3MgdXNlIG9mICVzIGluIHZvaWQg
Y29udGV4dCIsIFdBUk5fUyh1c2VsZXNzKSk7CisgICAgfQorfQorCitzdGF0aWMgTk9ERSAqCit2
b2lkX3N0bXRzKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBOT0RFICpub2RlKQoreworICAgIE5P
REUgKmNvbnN0IG4gPSBub2RlOworICAgIGlmICghUlRFU1QocnVieV92ZXJib3NlKSkgcmV0dXJu
IG47CisgICAgaWYgKCFub2RlKSByZXR1cm4gbjsKKyAgICBpZiAobmRfdHlwZShub2RlKSAhPSBO
T0RFX0JMT0NLKSByZXR1cm4gbjsKKworICAgIHdoaWxlIChub2RlLT5uZF9uZXh0KSB7CisJdm9p
ZF9leHByKHAsIG5vZGUtPm5kX2hlYWQpOworCW5vZGUgPSBub2RlLT5uZF9uZXh0OworICAgIH0K
KyAgICByZXR1cm4gbjsKK30KKworc3RhdGljIE5PREUgKgorcmVtb3ZlX2JlZ2luKE5PREUgKm5v
ZGUpCit7CisgICAgTk9ERSAqKm4gPSAmbm9kZSwgKm4xID0gbm9kZTsKKyAgICB3aGlsZSAobjEg
JiYgbmRfdHlwZShuMSkgPT0gTk9ERV9CRUdJTiAmJiBuMS0+bmRfYm9keSkgeworCSpuID0gbjEg
PSBuMS0+bmRfYm9keTsKKyAgICB9CisgICAgcmV0dXJuIG5vZGU7Cit9CisKK3N0YXRpYyBOT0RF
ICoKK3JlbW92ZV9iZWdpbl9hbGwoTk9ERSAqbm9kZSkKK3sKKyAgICBOT0RFICoqbiA9ICZub2Rl
LCAqbjEgPSBub2RlOworICAgIHdoaWxlIChuMSAmJiBuZF90eXBlKG4xKSA9PSBOT0RFX0JFR0lO
KSB7CisJKm4gPSBuMSA9IG4xLT5uZF9ib2R5OworICAgIH0KKyAgICByZXR1cm4gbm9kZTsKK30K
Kworc3RhdGljIHZvaWQKK3JlZHVjZV9ub2RlcyhzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgTk9E
RSAqKmJvZHkpCit7CisgICAgTk9ERSAqbm9kZSA9ICpib2R5OworCisgICAgaWYgKCFub2RlKSB7
CisJKmJvZHkgPSBORVdfTklMKCZOVUxMX0xPQyk7CisJcmV0dXJuOworICAgIH0KKyNkZWZpbmUg
c3Vibm9kZXMobjEsIG4yKSBcCisgICAgKCghbm9kZS0+bjEpID8gKG5vZGUtPm4yID8gKGJvZHkg
PSAmbm9kZS0+bjIsIDEpIDogMCkgOiBcCisgICAgICghbm9kZS0+bjIpID8gKGJvZHkgPSAmbm9k
ZS0+bjEsIDEpIDogXAorICAgICAocmVkdWNlX25vZGVzKHAsICZub2RlLT5uMSksIGJvZHkgPSAm
bm9kZS0+bjIsIDEpKQorCisgICAgd2hpbGUgKG5vZGUpIHsKKwlpbnQgbmV3bGluZSA9IChpbnQp
KG5vZGUtPmZsYWdzICYgTk9ERV9GTF9ORVdMSU5FKTsKKwlzd2l0Y2ggKG5kX3R5cGUobm9kZSkp
IHsKKwkgIGVuZDoKKwkgIGNhc2UgTk9ERV9OSUw6CisJICAgICpib2R5ID0gMDsKKwkgICAgcmV0
dXJuOworCSAgY2FzZSBOT0RFX1JFVFVSTjoKKwkgICAgKmJvZHkgPSBub2RlID0gbm9kZS0+bmRf
c3R0czsKKwkgICAgaWYgKG5ld2xpbmUgJiYgbm9kZSkgbm9kZS0+ZmxhZ3MgfD0gTk9ERV9GTF9O
RVdMSU5FOworCSAgICBjb250aW51ZTsKKwkgIGNhc2UgTk9ERV9CRUdJTjoKKwkgICAgKmJvZHkg
PSBub2RlID0gbm9kZS0+bmRfYm9keTsKKwkgICAgaWYgKG5ld2xpbmUgJiYgbm9kZSkgbm9kZS0+
ZmxhZ3MgfD0gTk9ERV9GTF9ORVdMSU5FOworCSAgICBjb250aW51ZTsKKwkgIGNhc2UgTk9ERV9C
TE9DSzoKKwkgICAgYm9keSA9ICZub2RlLT5uZF9lbmQtPm5kX2hlYWQ7CisJICAgIGJyZWFrOwor
CSAgY2FzZSBOT0RFX0lGOgorCSAgY2FzZSBOT0RFX1VOTEVTUzoKKwkgICAgaWYgKHN1Ym5vZGVz
KG5kX2JvZHksIG5kX2Vsc2UpKSBicmVhazsKKwkgICAgcmV0dXJuOworCSAgY2FzZSBOT0RFX0NB
U0U6CisJICAgIGJvZHkgPSAmbm9kZS0+bmRfYm9keTsKKwkgICAgYnJlYWs7CisJICBjYXNlIE5P
REVfV0hFTjoKKwkgICAgaWYgKCFzdWJub2RlcyhuZF9ib2R5LCBuZF9uZXh0KSkgZ290byBlbmQ7
CisJICAgIGJyZWFrOworCSAgY2FzZSBOT0RFX0VOU1VSRToKKwkgICAgaWYgKCFzdWJub2Rlcyhu
ZF9oZWFkLCBuZF9yZXNxKSkgZ290byBlbmQ7CisJICAgIGJyZWFrOworCSAgY2FzZSBOT0RFX1JF
U0NVRToKKwkgICAgaWYgKG5vZGUtPm5kX2Vsc2UpIHsKKwkJYm9keSA9ICZub2RlLT5uZF9yZXNx
OworCQlicmVhazsKKwkgICAgfQorCSAgICBpZiAoIXN1Ym5vZGVzKG5kX2hlYWQsIG5kX3Jlc3Ep
KSBnb3RvIGVuZDsKKwkgICAgYnJlYWs7CisJICBkZWZhdWx0OgorCSAgICByZXR1cm47CisJfQor
CW5vZGUgPSAqYm9keTsKKwlpZiAobmV3bGluZSAmJiBub2RlKSBub2RlLT5mbGFncyB8PSBOT0RF
X0ZMX05FV0xJTkU7CisgICAgfQorCisjdW5kZWYgc3Vibm9kZXMKK30KKworc3RhdGljIGludAor
aXNfc3RhdGljX2NvbnRlbnQoTk9ERSAqbm9kZSkKK3sKKyAgICBpZiAoIW5vZGUpIHJldHVybiAx
OworICAgIHN3aXRjaCAobmRfdHlwZShub2RlKSkgeworICAgICAgY2FzZSBOT0RFX0hBU0g6CisJ
aWYgKCEobm9kZSA9IG5vZGUtPm5kX2hlYWQpKSBicmVhazsKKyAgICAgIGNhc2UgTk9ERV9BUlJB
WToKKwlkbyB7CisJICAgIGlmICghaXNfc3RhdGljX2NvbnRlbnQobm9kZS0+bmRfaGVhZCkpIHJl
dHVybiAwOworCX0gd2hpbGUgKChub2RlID0gbm9kZS0+bmRfbmV4dCkgIT0gMCk7CisgICAgICBj
YXNlIE5PREVfTElUOgorICAgICAgY2FzZSBOT0RFX1NUUjoKKyAgICAgIGNhc2UgTk9ERV9OSUw6
CisgICAgICBjYXNlIE5PREVfVFJVRToKKyAgICAgIGNhc2UgTk9ERV9GQUxTRToKKyAgICAgIGNh
c2UgTk9ERV9aQVJSQVk6CisJYnJlYWs7CisgICAgICBkZWZhdWx0OgorCXJldHVybiAwOworICAg
IH0KKyAgICByZXR1cm4gMTsKK30KKworc3RhdGljIGludAorYXNzaWduX2luX2NvbmQoc3RydWN0
IHBhcnNlcl9wYXJhbXMgKnAsIE5PREUgKm5vZGUpCit7CisgICAgc3dpdGNoIChuZF90eXBlKG5v
ZGUpKSB7CisgICAgICBjYXNlIE5PREVfTUFTR046CisgICAgICBjYXNlIE5PREVfTEFTR046Cisg
ICAgICBjYXNlIE5PREVfREFTR046CisgICAgICBjYXNlIE5PREVfREFTR05fQ1VSUjoKKyAgICAg
IGNhc2UgTk9ERV9HQVNHTjoKKyAgICAgIGNhc2UgTk9ERV9JQVNHTjoKKwlicmVhazsKKworICAg
ICAgZGVmYXVsdDoKKwlyZXR1cm4gMDsKKyAgICB9CisKKyAgICBpZiAoIW5vZGUtPm5kX3ZhbHVl
KSByZXR1cm4gMTsKKyAgICBpZiAoaXNfc3RhdGljX2NvbnRlbnQobm9kZS0+bmRfdmFsdWUpKSB7
CisJLyogcmVwb3J0cyBhbHdheXMgKi8KKwlwYXJzZXJfd2FybihwLCBub2RlLT5uZF92YWx1ZSwg
ImZvdW5kIGA9IGxpdGVyYWwnIGluIGNvbmRpdGlvbmFsLCBzaG91bGQgYmUgPT0iKTsKKyAgICB9
CisgICAgcmV0dXJuIDE7Cit9CisKK3N0YXRpYyB2b2lkCit3YXJuX3VubGVzc19lX29wdGlvbihz
dHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgTk9ERSAqbm9kZSwgY29uc3QgY2hhciAqc3RyKQorewor
ICAgIGlmICghZV9vcHRpb25fc3VwcGxpZWQocCkpIHBhcnNlcl93YXJuKHAsIG5vZGUsIHN0cik7
Cit9CisKK3N0YXRpYyB2b2lkCit3YXJuaW5nX3VubGVzc19lX29wdGlvbihzdHJ1Y3QgcGFyc2Vy
X3BhcmFtcyAqcCwgTk9ERSAqbm9kZSwgY29uc3QgY2hhciAqc3RyKQoreworICAgIGlmICghZV9v
cHRpb25fc3VwcGxpZWQocCkpIHBhcnNlcl93YXJuaW5nKHAsIG5vZGUsIHN0cik7Cit9CisKK3N0
YXRpYyBOT0RFICpjb25kMChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyosTk9ERSosaW50LGNvbnN0IFlZ
TFRZUEUqKTsKKworc3RhdGljIE5PREUqCityYW5nZV9vcChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAq
cCwgTk9ERSAqbm9kZSwgY29uc3QgWVlMVFlQRSAqbG9jKQoreworICAgIGVudW0gbm9kZV90eXBl
IHR5cGU7CisKKyAgICBpZiAobm9kZSA9PSAwKSByZXR1cm4gMDsKKworICAgIHR5cGUgPSBuZF90
eXBlKG5vZGUpOworICAgIHZhbHVlX2V4cHIobm9kZSk7CisgICAgaWYgKHR5cGUgPT0gTk9ERV9M
SVQgJiYgRklYTlVNX1Aobm9kZS0+bmRfbGl0KSkgeworCXdhcm5fdW5sZXNzX2Vfb3B0aW9uKHAs
IG5vZGUsICJpbnRlZ2VyIGxpdGVyYWwgaW4gY29uZGl0aW9uYWwgcmFuZ2UiKTsKKwlyZXR1cm4g
TkVXX0NBTEwobm9kZSwgdEVRLCBORVdfTElTVChORVdfR1ZBUihyYl9pbnRlcm4oIiQuIiksIGxv
YyksIGxvYyksIGxvYyk7CisgICAgfQorICAgIHJldHVybiBjb25kMChwLCBub2RlLCBGQUxTRSwg
bG9jKTsKK30KKworc3RhdGljIGludAorbGl0ZXJhbF9ub2RlKE5PREUgKm5vZGUpCit7CisgICAg
aWYgKCFub2RlKSByZXR1cm4gMTsJLyogc2FtZSBhcyBOT0RFX05JTCAqLworICAgIGlmICghKG5v
ZGUgPSBuZF9vbmNlX2JvZHkobm9kZSkpKSByZXR1cm4gMTsKKyAgICBzd2l0Y2ggKG5kX3R5cGUo
bm9kZSkpIHsKKyAgICAgIGNhc2UgTk9ERV9MSVQ6CisgICAgICBjYXNlIE5PREVfU1RSOgorICAg
ICAgY2FzZSBOT0RFX0RTVFI6CisgICAgICBjYXNlIE5PREVfRVZTVFI6CisgICAgICBjYXNlIE5P
REVfRFJFR1g6CisgICAgICBjYXNlIE5PREVfRFNZTToKKwlyZXR1cm4gMjsKKyAgICAgIGNhc2Ug
Tk9ERV9UUlVFOgorICAgICAgY2FzZSBOT0RFX0ZBTFNFOgorICAgICAgY2FzZSBOT0RFX05JTDoK
KwlyZXR1cm4gMTsKKyAgICB9CisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBOT0RFKgorY29u
ZDAoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIE5PREUgKm5vZGUsIGludCBtZXRob2Rfb3AsIGNv
bnN0IFlZTFRZUEUgKmxvYykKK3sKKyAgICBpZiAobm9kZSA9PSAwKSByZXR1cm4gMDsKKyAgICBp
ZiAoIShub2RlID0gbmRfb25jZV9ib2R5KG5vZGUpKSkgcmV0dXJuIDA7CisgICAgYXNzaWduX2lu
X2NvbmQocCwgbm9kZSk7CisKKyAgICBzd2l0Y2ggKG5kX3R5cGUobm9kZSkpIHsKKyAgICAgIGNh
c2UgTk9ERV9EU1RSOgorICAgICAgY2FzZSBOT0RFX0VWU1RSOgorICAgICAgY2FzZSBOT0RFX1NU
UjoKKwlpZiAoIW1ldGhvZF9vcCkgcmJfd2FybjAoInN0cmluZyBsaXRlcmFsIGluIGNvbmRpdGlv
biIpOworCWJyZWFrOworCisgICAgICBjYXNlIE5PREVfRFJFR1g6CisJeworCSAgICBpZiAoIW1l
dGhvZF9vcCkKKwkJd2FybmluZ191bmxlc3NfZV9vcHRpb24ocCwgbm9kZSwgInJlZ2V4IGxpdGVy
YWwgaW4gY29uZGl0aW9uIik7CisKKwkgICAgcmV0dXJuIE5FV19NQVRDSDIobm9kZSwgTkVXX0dW
QVIoaWRMQVNUTElORSwgbG9jKSwgbG9jKTsKKwl9CisKKyAgICAgIGNhc2UgTk9ERV9BTkQ6Cisg
ICAgICBjYXNlIE5PREVfT1I6CisJbm9kZS0+bmRfMXN0ID0gY29uZDAocCwgbm9kZS0+bmRfMXN0
LCBGQUxTRSwgbG9jKTsKKwlub2RlLT5uZF8ybmQgPSBjb25kMChwLCBub2RlLT5uZF8ybmQsIEZB
TFNFLCBsb2MpOworCWJyZWFrOworCisgICAgICBjYXNlIE5PREVfRE9UMjoKKyAgICAgIGNhc2Ug
Tk9ERV9ET1QzOgorCW5vZGUtPm5kX2JlZyA9IHJhbmdlX29wKHAsIG5vZGUtPm5kX2JlZywgbG9j
KTsKKwlub2RlLT5uZF9lbmQgPSByYW5nZV9vcChwLCBub2RlLT5uZF9lbmQsIGxvYyk7CisJaWYg
KG5kX3R5cGUobm9kZSkgPT0gTk9ERV9ET1QyKSBuZF9zZXRfdHlwZShub2RlLE5PREVfRkxJUDIp
OworCWVsc2UgaWYgKG5kX3R5cGUobm9kZSkgPT0gTk9ERV9ET1QzKSBuZF9zZXRfdHlwZShub2Rl
LCBOT0RFX0ZMSVAzKTsKKwlpZiAoIW1ldGhvZF9vcCAmJiAhZV9vcHRpb25fc3VwcGxpZWQocCkp
IHsKKwkgICAgaW50IGIgPSBsaXRlcmFsX25vZGUobm9kZS0+bmRfYmVnKTsKKwkgICAgaW50IGUg
PSBsaXRlcmFsX25vZGUobm9kZS0+bmRfZW5kKTsKKwkgICAgaWYgKChiID09IDEgJiYgZSA9PSAx
KSB8fCAoYiArIGUgPj0gMiAmJiBSVEVTVChydWJ5X3ZlcmJvc2UpKSkgeworCQlwYXJzZXJfd2Fy
bihwLCBub2RlLCAicmFuZ2UgbGl0ZXJhbCBpbiBjb25kaXRpb24iKTsKKwkgICAgfQorCX0KKwli
cmVhazsKKworICAgICAgY2FzZSBOT0RFX0RTWU06CisJaWYgKCFtZXRob2Rfb3ApIHBhcnNlcl93
YXJuaW5nKHAsIG5vZGUsICJsaXRlcmFsIGluIGNvbmRpdGlvbiIpOworCWJyZWFrOworCisgICAg
ICBjYXNlIE5PREVfTElUOgorCWlmIChSQl9UWVBFX1Aobm9kZS0+bmRfbGl0LCBUX1JFR0VYUCkp
IHsKKwkgICAgaWYgKCFtZXRob2Rfb3ApCisJCXdhcm5fdW5sZXNzX2Vfb3B0aW9uKHAsIG5vZGUs
ICJyZWdleCBsaXRlcmFsIGluIGNvbmRpdGlvbiIpOworCSAgICBuZF9zZXRfdHlwZShub2RlLCBO
T0RFX01BVENIKTsKKwl9CisJZWxzZSBpZiAobm9kZS0+bmRfbGl0ID09IFF0cnVlIHx8CisJCSBu
b2RlLT5uZF9saXQgPT0gUWZhbHNlKSB7CisJICAgIC8qIGJvb2xlYW5zIGFyZSBPSywgZS5nLiwg
d2hpbGUgdHJ1ZSAqLworCX0KKwllbHNlIHsKKwkgICAgaWYgKCFtZXRob2Rfb3ApCisJCXBhcnNl
cl93YXJuaW5nKHAsIG5vZGUsICJsaXRlcmFsIGluIGNvbmRpdGlvbiIpOworCX0KKyAgICAgIGRl
ZmF1bHQ6CisJYnJlYWs7CisgICAgfQorICAgIHJldHVybiBub2RlOworfQorCitzdGF0aWMgTk9E
RSoKK2NvbmQoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIE5PREUgKm5vZGUsIGNvbnN0IFlZTFRZ
UEUgKmxvYykKK3sKKyAgICBpZiAobm9kZSA9PSAwKSByZXR1cm4gMDsKKyAgICByZXR1cm4gY29u
ZDAocCwgbm9kZSwgRkFMU0UsIGxvYyk7Cit9CisKK3N0YXRpYyBOT0RFKgorbWV0aG9kX2NvbmQo
c3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIE5PREUgKm5vZGUsIGNvbnN0IFlZTFRZUEUgKmxvYykK
K3sKKyAgICBpZiAobm9kZSA9PSAwKSByZXR1cm4gMDsKKyAgICByZXR1cm4gY29uZDAocCwgbm9k
ZSwgVFJVRSwgbG9jKTsKK30KKworc3RhdGljIE5PREUqCituZXdfaWYoc3RydWN0IHBhcnNlcl9w
YXJhbXMgKnAsIE5PREUgKmNjLCBOT0RFICpsZWZ0LCBOT0RFICpyaWdodCwgY29uc3QgWVlMVFlQ
RSAqbG9jKQoreworICAgIGlmICghY2MpIHJldHVybiByaWdodDsKKyAgICBjYyA9IGNvbmQwKHAs
IGNjLCBGQUxTRSwgbG9jKTsKKyAgICByZXR1cm4gbmV3bGluZV9ub2RlKE5FV19JRihjYywgbGVm
dCwgcmlnaHQsIGxvYykpOworfQorCitzdGF0aWMgTk9ERSoKK25ld191bmxlc3Moc3RydWN0IHBh
cnNlcl9wYXJhbXMgKnAsIE5PREUgKmNjLCBOT0RFICpsZWZ0LCBOT0RFICpyaWdodCwgY29uc3Qg
WVlMVFlQRSAqbG9jKQoreworICAgIGlmICghY2MpIHJldHVybiByaWdodDsKKyAgICBjYyA9IGNv
bmQwKHAsIGNjLCBGQUxTRSwgbG9jKTsKKyAgICByZXR1cm4gbmV3bGluZV9ub2RlKE5FV19VTkxF
U1MoY2MsIGxlZnQsIHJpZ2h0LCBsb2MpKTsKK30KKworc3RhdGljIE5PREUqCitsb2dvcChzdHJ1
Y3QgcGFyc2VyX3BhcmFtcyAqcCwgSUQgaWQsIE5PREUgKmxlZnQsIE5PREUgKnJpZ2h0LAorCSAg
Y29uc3QgWVlMVFlQRSAqb3BfbG9jLCBjb25zdCBZWUxUWVBFICpsb2MpCit7CisgICAgZW51bSBu
b2RlX3R5cGUgdHlwZSA9IGlkID09IGlkQU5EIHx8IGlkID09IGlkQU5ET1AgPyBOT0RFX0FORCA6
IE5PREVfT1I7CisgICAgTk9ERSAqb3A7CisgICAgdmFsdWVfZXhwcihsZWZ0KTsKKyAgICBpZiAo
bGVmdCAmJiAoZW51bSBub2RlX3R5cGUpbmRfdHlwZShsZWZ0KSA9PSB0eXBlKSB7CisJTk9ERSAq
bm9kZSA9IGxlZnQsICpzZWNvbmQ7CisJd2hpbGUgKChzZWNvbmQgPSBub2RlLT5uZF8ybmQpICE9
IDAgJiYgKGVudW0gbm9kZV90eXBlKW5kX3R5cGUoc2Vjb25kKSA9PSB0eXBlKSB7CisJICAgIG5v
ZGUgPSBzZWNvbmQ7CisJfQorCW5vZGUtPm5kXzJuZCA9IE5FV19OT0RFKHR5cGUsIHNlY29uZCwg
cmlnaHQsIDAsIGxvYyk7CisJbmRfc2V0X2xpbmUobm9kZS0+bmRfMm5kLCBvcF9sb2MtPmJlZ19w
b3MubGluZW5vKTsKKwlsZWZ0LT5uZF9sb2MuZW5kX3BvcyA9IGxvYy0+ZW5kX3BvczsKKwlyZXR1
cm4gbGVmdDsKKyAgICB9CisgICAgb3AgPSBORVdfTk9ERSh0eXBlLCBsZWZ0LCByaWdodCwgMCwg
bG9jKTsKKyAgICBuZF9zZXRfbGluZShvcCwgb3BfbG9jLT5iZWdfcG9zLmxpbmVubyk7CisgICAg
cmV0dXJuIG9wOworfQorCitzdGF0aWMgdm9pZAorbm9fYmxvY2thcmcoc3RydWN0IHBhcnNlcl9w
YXJhbXMgKnAsIE5PREUgKm5vZGUpCit7CisgICAgaWYgKG5vZGUgJiYgbmRfdHlwZShub2RlKSA9
PSBOT0RFX0JMT0NLX1BBU1MpIHsKKwljb21waWxlX2Vycm9yKHAsICJibG9jayBhcmd1bWVudCBz
aG91bGQgbm90IGJlIGdpdmVuIik7CisgICAgfQorfQorCitzdGF0aWMgTk9ERSAqCityZXRfYXJn
cyhzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgTk9ERSAqbm9kZSkKK3sKKyAgICBpZiAobm9kZSkg
eworCW5vX2Jsb2NrYXJnKHAsIG5vZGUpOworCWlmIChuZF90eXBlKG5vZGUpID09IE5PREVfQVJS
QVkpIHsKKwkgICAgaWYgKG5vZGUtPm5kX25leHQgPT0gMCkgeworCQlub2RlID0gbm9kZS0+bmRf
aGVhZDsKKwkgICAgfQorCSAgICBlbHNlIHsKKwkJbmRfc2V0X3R5cGUobm9kZSwgTk9ERV9WQUxV
RVMpOworCSAgICB9CisJfQorICAgIH0KKyAgICByZXR1cm4gbm9kZTsKK30KKworc3RhdGljIE5P
REUgKgorbmV3X3lpZWxkKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBOT0RFICpub2RlLCBjb25z
dCBZWUxUWVBFICpsb2MpCit7CisgICAgaWYgKG5vZGUpIG5vX2Jsb2NrYXJnKHAsIG5vZGUpOwor
CisgICAgcmV0dXJuIE5FV19ZSUVMRChub2RlLCBsb2MpOworfQorCitzdGF0aWMgVkFMVUUKK25l
Z2F0ZV9saXQoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIFZBTFVFIGxpdCkKK3sKKyAgICBpZiAo
RklYTlVNX1AobGl0KSkgeworCXJldHVybiBMT05HMkZJWCgtRklYMkxPTkcobGl0KSk7CisgICAg
fQorICAgIGlmIChTUEVDSUFMX0NPTlNUX1AobGl0KSkgeworI2lmIFVTRV9GTE9OVU0KKwlpZiAo
RkxPTlVNX1AobGl0KSkgeworCSAgICByZXR1cm4gREJMMk5VTSgtUkZMT0FUX1ZBTFVFKGxpdCkp
OworCX0KKyNlbmRpZgorCWdvdG8gdW5rbm93bjsKKyAgICB9CisgICAgc3dpdGNoIChCVUlMVElO
X1RZUEUobGl0KSkgeworICAgICAgY2FzZSBUX0JJR05VTToKKwlCSUdOVU1fTkVHQVRFKGxpdCk7
CisJbGl0ID0gcmJfYmlnX25vcm0obGl0KTsKKwlicmVhazsKKyAgICAgIGNhc2UgVF9SQVRJT05B
TDoKKwlSUkFUSU9OQUxfU0VUX05VTShsaXQsIG5lZ2F0ZV9saXQocCwgUlJBVElPTkFMKGxpdCkt
Pm51bSkpOworCWJyZWFrOworICAgICAgY2FzZSBUX0NPTVBMRVg6CisJUkNPTVBMRVhfU0VUX1JF
QUwobGl0LCBuZWdhdGVfbGl0KHAsIFJDT01QTEVYKGxpdCktPnJlYWwpKTsKKwlSQ09NUExFWF9T
RVRfSU1BRyhsaXQsIG5lZ2F0ZV9saXQocCwgUkNPTVBMRVgobGl0KS0+aW1hZykpOworCWJyZWFr
OworICAgICAgY2FzZSBUX0ZMT0FUOgorCVJGTE9BVChsaXQpLT5mbG9hdF92YWx1ZSA9IC1SRkxP
QVRfVkFMVUUobGl0KTsKKwlicmVhazsKKyAgICAgIHVua25vd246CisgICAgICBkZWZhdWx0Ogor
CXJiX3BhcnNlcl9mYXRhbChwLCAidW5rbm93biBsaXRlcmFsIHR5cGUgKCVzKSBwYXNzZWQgdG8g
bmVnYXRlX2xpdCIsCisJCQlyYl9idWlsdGluX2NsYXNzX25hbWUobGl0KSk7CisJYnJlYWs7Cisg
ICAgfQorICAgIHJldHVybiBsaXQ7Cit9CisKK3N0YXRpYyBOT0RFICoKK2FyZ19ibGtfcGFzcyhO
T0RFICpub2RlMSwgTk9ERSAqbm9kZTIpCit7CisgICAgaWYgKG5vZGUyKSB7CisgICAgICAgIGlm
ICghbm9kZTEpIHJldHVybiBub2RlMjsKKwlub2RlMi0+bmRfaGVhZCA9IG5vZGUxOworCW5kX3Nl
dF9maXJzdF9saW5lbm8obm9kZTIsIG5kX2ZpcnN0X2xpbmVubyhub2RlMSkpOworCW5kX3NldF9m
aXJzdF9jb2x1bW4obm9kZTIsIG5kX2ZpcnN0X2NvbHVtbihub2RlMSkpOworCXJldHVybiBub2Rl
MjsKKyAgICB9CisgICAgcmV0dXJuIG5vZGUxOworfQorCisKK3N0YXRpYyBOT0RFKgorbmV3X2Fy
Z3Moc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIE5PREUgKnByZV9hcmdzLCBOT0RFICpvcHRfYXJn
cywgSUQgcmVzdF9hcmcsIE5PREUgKnBvc3RfYXJncywgTk9ERSAqdGFpbCwgY29uc3QgWVlMVFlQ
RSAqbG9jKQoreworICAgIGludCBzYXZlZF9saW5lID0gcC0+cnVieV9zb3VyY2VsaW5lOworICAg
IHN0cnVjdCByYl9hcmdzX2luZm8gKmFyZ3MgPSB0YWlsLT5uZF9haW5mbzsKKworICAgIGFyZ3Mt
PnByZV9hcmdzX251bSAgID0gcHJlX2FyZ3MgPyByYl9sb25nMmludChwcmVfYXJncy0+bmRfcGxl
bikgOiAwOworICAgIGFyZ3MtPnByZV9pbml0ICAgICAgID0gcHJlX2FyZ3MgPyBwcmVfYXJncy0+
bmRfbmV4dCA6IDA7CisKKyAgICBhcmdzLT5wb3N0X2FyZ3NfbnVtICA9IHBvc3RfYXJncyA/IHJi
X2xvbmcyaW50KHBvc3RfYXJncy0+bmRfcGxlbikgOiAwOworICAgIGFyZ3MtPnBvc3RfaW5pdCAg
ICAgID0gcG9zdF9hcmdzID8gcG9zdF9hcmdzLT5uZF9uZXh0IDogMDsKKyAgICBhcmdzLT5maXJz
dF9wb3N0X2FyZyA9IHBvc3RfYXJncyA/IHBvc3RfYXJncy0+bmRfcGlkIDogMDsKKworICAgIGFy
Z3MtPnJlc3RfYXJnICAgICAgID0gcmVzdF9hcmc7CisKKyAgICBhcmdzLT5vcHRfYXJncyAgICAg
ICA9IG9wdF9hcmdzOworCisgICAgcC0+cnVieV9zb3VyY2VsaW5lID0gc2F2ZWRfbGluZTsKKyAg
ICBuZF9zZXRfbG9jKHRhaWwsIGxvYyk7CisKKyAgICByZXR1cm4gdGFpbDsKK30KKworc3RhdGlj
IE5PREUqCituZXdfYXJnc190YWlsKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBOT0RFICprd19h
cmdzLCBJRCBrd19yZXN0X2FyZywgSUQgYmxvY2ssIGNvbnN0IFlZTFRZUEUgKmxvYykKK3sKKyAg
ICBpbnQgc2F2ZWRfbGluZSA9IHAtPnJ1Ynlfc291cmNlbGluZTsKKyAgICBzdHJ1Y3QgcmJfYXJn
c19pbmZvICphcmdzOworICAgIE5PREUgKm5vZGU7CisgICAgcmJfaW1lbW9fdG1wYnVmX3QgKnRt
cGJ1ZiA9IG5ld190bXBidWYoKTsKKworICAgIGFyZ3MgPSBaQUxMT0Moc3RydWN0IHJiX2FyZ3Nf
aW5mbyk7CisgICAgdG1wYnVmLT5wdHIgPSAoVkFMVUUgKilhcmdzOworICAgIG5vZGUgPSBORVdf
Tk9ERShOT0RFX0FSR1MsIDAsIDAsIGFyZ3MsICZOVUxMX0xPQyk7CisgICAgaWYgKHAtPmVycm9y
X3ApIHJldHVybiBub2RlOworCisgICAgYXJncy0+YmxvY2tfYXJnICAgICAgPSBibG9jazsKKyAg
ICBhcmdzLT5rd19hcmdzICAgICAgICA9IGt3X2FyZ3M7CisKKyAgICBpZiAoa3dfYXJncykgewor
CS8qCisJICogZGVmIGZvbyhrMTogMSwga3IxOiwgazI6IDIsICoqa3Jlc3QsICZiKQorCSAqIHZh
cmlhYmxlIG9yZGVyOiBrMSwga3IxLCBrMiwgJmIsIGludGVybmFsX2lkLCBrcmVzdAorCSAqICM9
PiA8cmVvcmRlcj4KKwkgKiB2YXJpYWJsZSBvcmRlcjoga3IxLCBrMSwgazIsIGludGVybmFsX2lk
LCBrcmVzdCwgJmIKKwkgKi8KKwlJRCBrd19iaXRzID0gaW50ZXJuYWxfaWQocCksICpyZXF1aXJl
ZF9rd192YXJzLCAqa3dfdmFyczsKKwlzdHJ1Y3QgdnRhYmxlICp2dGFyZ3MgPSBwLT5sdnRibC0+
YXJnczsKKwlOT0RFICprd24gPSBrd19hcmdzOworCisJdnRhYmxlX3BvcCh2dGFyZ3MsICEhYmxv
Y2sgKyAhIWt3X3Jlc3RfYXJnKTsKKwlyZXF1aXJlZF9rd192YXJzID0ga3dfdmFycyA9ICZ2dGFy
Z3MtPnRibFt2dGFyZ3MtPnBvc107CisJd2hpbGUgKGt3bikgeworCSAgICBpZiAoIU5PREVfUkVR
VUlSRURfS0VZV09SRF9QKGt3bi0+bmRfYm9keSkpCisJCS0ta3dfdmFyczsKKwkgICAgLS1yZXF1
aXJlZF9rd192YXJzOworCSAgICBrd24gPSBrd24tPm5kX25leHQ7CisJfQorCisJZm9yIChrd24g
PSBrd19hcmdzOyBrd247IGt3biA9IGt3bi0+bmRfbmV4dCkgeworCSAgICBJRCB2aWQgPSBrd24t
Pm5kX2JvZHktPm5kX3ZpZDsKKwkgICAgaWYgKE5PREVfUkVRVUlSRURfS0VZV09SRF9QKGt3bi0+
bmRfYm9keSkpIHsKKwkJKnJlcXVpcmVkX2t3X3ZhcnMrKyA9IHZpZDsKKwkgICAgfQorCSAgICBl
bHNlIHsKKwkJKmt3X3ZhcnMrKyA9IHZpZDsKKwkgICAgfQorCX0KKworCWFyZ192YXIocCwga3df
Yml0cyk7CisJaWYgKGt3X3Jlc3RfYXJnKSBhcmdfdmFyKHAsIGt3X3Jlc3RfYXJnKTsKKwlpZiAo
YmxvY2spIGFyZ192YXIocCwgYmxvY2spOworCisJYXJncy0+a3dfcmVzdF9hcmcgPSBORVdfRFZB
Uihrd19yZXN0X2FyZywgbG9jKTsKKwlhcmdzLT5rd19yZXN0X2FyZy0+bmRfY2ZsYWcgPSBrd19i
aXRzOworICAgIH0KKyAgICBlbHNlIGlmIChrd19yZXN0X2FyZykgeworCWFyZ3MtPmt3X3Jlc3Rf
YXJnID0gTkVXX0RWQVIoa3dfcmVzdF9hcmcsIGxvYyk7CisgICAgfQorCisgICAgcC0+cnVieV9z
b3VyY2VsaW5lID0gc2F2ZWRfbGluZTsKKyAgICByZXR1cm4gbm9kZTsKK30KKworc3RhdGljIE5P
REUqCitkc3ltX25vZGUoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIE5PREUgKm5vZGUsIGNvbnN0
IFlZTFRZUEUgKmxvYykKK3sKKyAgICBWQUxVRSBsaXQ7CisKKyAgICBpZiAoIW5vZGUpIHsKKwly
ZXR1cm4gTkVXX0xJVChJRDJTWU0oaWROVUxMKSwgbG9jKTsKKyAgICB9CisKKyAgICBzd2l0Y2gg
KG5kX3R5cGUobm9kZSkpIHsKKyAgICAgIGNhc2UgTk9ERV9EU1RSOgorCW5kX3NldF90eXBlKG5v
ZGUsIE5PREVfRFNZTSk7CisJbmRfc2V0X2xvYyhub2RlLCBsb2MpOworCWJyZWFrOworICAgICAg
Y2FzZSBOT0RFX1NUUjoKKwlsaXQgPSBub2RlLT5uZF9saXQ7CisJYWRkX21hcmtfb2JqZWN0KHAs
IG5vZGUtPm5kX2xpdCA9IElEMlNZTShyYl9pbnRlcm5fc3RyKGxpdCkpKTsKKwluZF9zZXRfdHlw
ZShub2RlLCBOT0RFX0xJVCk7CisJbmRfc2V0X2xvYyhub2RlLCBsb2MpOworCWJyZWFrOworICAg
ICAgZGVmYXVsdDoKKwlub2RlID0gTkVXX05PREUoTk9ERV9EU1lNLCBRbmlsLCAxLCBORVdfTElT
VChub2RlLCBsb2MpLCBsb2MpOworCWJyZWFrOworICAgIH0KKyAgICByZXR1cm4gbm9kZTsKK30K
Kworc3RhdGljIGludAorYXBwZW5kX2xpdGVyYWxfa2V5cyhzdF9kYXRhX3Qgaywgc3RfZGF0YV90
IHYsIHN0X2RhdGFfdCBoKQoreworICAgIE5PREUgKm5vZGUgPSAoTk9ERSAqKXY7CisgICAgTk9E
RSAqKnJlc3VsdCA9IChOT0RFICoqKWg7CisgICAgbm9kZS0+bmRfYWxlbiA9IDI7CisgICAgbm9k
ZS0+bmRfbmV4dC0+bmRfZW5kID0gbm9kZS0+bmRfbmV4dDsKKyAgICBub2RlLT5uZF9uZXh0LT5u
ZF9uZXh0ID0gMDsKKyAgICBpZiAoKnJlc3VsdCkKKwlsaXN0X2NvbmNhdCgqcmVzdWx0LCBub2Rl
KTsKKyAgICBlbHNlCisJKnJlc3VsdCA9IG5vZGU7CisgICAgcmV0dXJuIFNUX0NPTlRJTlVFOwor
fQorCitzdGF0aWMgTk9ERSAqCityZW1vdmVfZHVwbGljYXRlX2tleXMoc3RydWN0IHBhcnNlcl9w
YXJhbXMgKnAsIE5PREUgKmhhc2gpCit7CisgICAgc3RfdGFibGUgKmxpdGVyYWxfa2V5cyA9IHN0
X2luaXRfbnVtdGFibGVfd2l0aF9zaXplKGhhc2gtPm5kX2FsZW4gLyAyKTsKKyAgICBOT0RFICpy
ZXN1bHQgPSAwOworICAgIHdoaWxlIChoYXNoICYmIGhhc2gtPm5kX2hlYWQgJiYgaGFzaC0+bmRf
bmV4dCkgeworCU5PREUgKmhlYWQgPSBoYXNoLT5uZF9oZWFkOworCU5PREUgKnZhbHVlID0gaGFz
aC0+bmRfbmV4dDsKKwlOT0RFICpuZXh0ID0gdmFsdWUtPm5kX25leHQ7CisJVkFMVUUga2V5ID0g
KFZBTFVFKWhlYWQ7CisJc3RfZGF0YV90IGRhdGE7CisJaWYgKG5kX3R5cGUoaGVhZCkgPT0gTk9E
RV9MSVQgJiYKKwkgICAgc3RfbG9va3VwKGxpdGVyYWxfa2V5cywgKGtleSA9IGhlYWQtPm5kX2xp
dCksICZkYXRhKSkgeworCSAgICByYl9jb21waWxlX3dhcm4ocC0+cnVieV9zb3VyY2VmaWxlLCBu
ZF9saW5lKChOT0RFICopZGF0YSksCisJCQkgICAgImtleSAlKyJQUklzVkFMVUUiIGlzIGR1cGxp
Y2F0ZWQgYW5kIG92ZXJ3cml0dGVuIG9uIGxpbmUgJWQiLAorCQkJICAgIGhlYWQtPm5kX2xpdCwg
bmRfbGluZShoZWFkKSk7CisJICAgIGhlYWQgPSAoKE5PREUgKilkYXRhKS0+bmRfbmV4dDsKKwkg
ICAgaGVhZC0+bmRfaGVhZCA9IGJsb2NrX2FwcGVuZChwLCBoZWFkLT5uZF9oZWFkLCB2YWx1ZS0+
bmRfaGVhZCk7CisJfQorCWVsc2UgeworCSAgICBzdF9pbnNlcnQobGl0ZXJhbF9rZXlzLCAoc3Rf
ZGF0YV90KWtleSwgKHN0X2RhdGFfdCloYXNoKTsKKwl9CisJaGFzaCA9IG5leHQ7CisgICAgfQor
ICAgIHN0X2ZvcmVhY2gobGl0ZXJhbF9rZXlzLCBhcHBlbmRfbGl0ZXJhbF9rZXlzLCAoc3RfZGF0
YV90KSZyZXN1bHQpOworICAgIHN0X2ZyZWVfdGFibGUobGl0ZXJhbF9rZXlzKTsKKyAgICBpZiAo
aGFzaCkgeworCWlmICghcmVzdWx0KSByZXN1bHQgPSBoYXNoOworCWVsc2UgbGlzdF9jb25jYXQo
cmVzdWx0LCBoYXNoKTsKKyAgICB9CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworc3RhdGljIE5P
REUgKgorbmV3X2hhc2goc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIE5PREUgKmhhc2gsIGNvbnN0
IFlZTFRZUEUgKmxvYykKK3sKKyAgICBpZiAoaGFzaCkgaGFzaCA9IHJlbW92ZV9kdXBsaWNhdGVf
a2V5cyhwLCBoYXNoKTsKKyAgICByZXR1cm4gTkVXX0hBU0goaGFzaCwgbG9jKTsKK30KKyNlbmRp
ZiAvKiAhUklQUEVSICovCisKKyNpZm5kZWYgUklQUEVSCitzdGF0aWMgTk9ERSAqCituZXdfb3Bf
YXNzaWduKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBOT0RFICpsaHMsIElEIG9wLCBOT0RFICpy
aHMsIGNvbnN0IFlZTFRZUEUgKmxvYykKK3sKKyAgICBOT0RFICphc2duOworCisgICAgaWYgKGxo
cykgeworCUlEIHZpZCA9IGxocy0+bmRfdmlkOworCVlZTFRZUEUgbGhzX2xvYyA9IGxocy0+bmRf
bG9jOworCWlmIChvcCA9PSB0T1JPUCkgeworCSAgICBsaHMtPm5kX3ZhbHVlID0gcmhzOworCSAg
ICBuZF9zZXRfbG9jKGxocywgbG9jKTsKKwkgICAgYXNnbiA9IE5FV19PUF9BU0dOX09SKGdldHRh
YmxlKHAsIHZpZCwgJmxoc19sb2MpLCBsaHMsIGxvYyk7CisJICAgIGlmIChpc19ub3RvcF9pZCh2
aWQpKSB7CisJCXN3aXRjaCAoaWRfdHlwZSh2aWQpKSB7CisJCSAgY2FzZSBJRF9HTE9CQUw6CisJ
CSAgY2FzZSBJRF9JTlNUQU5DRToKKwkJICBjYXNlIElEX0NMQVNTOgorCQkgICAgYXNnbi0+bmRf
YWlkID0gdmlkOworCQl9CisJICAgIH0KKwl9CisJZWxzZSBpZiAob3AgPT0gdEFORE9QKSB7CisJ
ICAgIGxocy0+bmRfdmFsdWUgPSByaHM7CisJICAgIG5kX3NldF9sb2MobGhzLCBsb2MpOworCSAg
ICBhc2duID0gTkVXX09QX0FTR05fQU5EKGdldHRhYmxlKHAsIHZpZCwgJmxoc19sb2MpLCBsaHMs
IGxvYyk7CisJfQorCWVsc2UgeworCSAgICBhc2duID0gbGhzOworCSAgICBhc2duLT5uZF92YWx1
ZSA9IE5FV19DQUxMKGdldHRhYmxlKHAsIHZpZCwgJmxoc19sb2MpLCBvcCwgTkVXX0xJU1Qocmhz
LCAmcmhzLT5uZF9sb2MpLCBsb2MpOworCSAgICBuZF9zZXRfbG9jKGFzZ24sIGxvYyk7CisJfQor
ICAgIH0KKyAgICBlbHNlIHsKKwlhc2duID0gTkVXX0JFR0lOKDAsIGxvYyk7CisgICAgfQorICAg
IHJldHVybiBhc2duOworfQorCitzdGF0aWMgTk9ERSAqCituZXdfYXJ5X29wX2Fzc2lnbihzdHJ1
Y3QgcGFyc2VyX3BhcmFtcyAqcCwgTk9ERSAqYXJ5LAorCQkgIE5PREUgKmFyZ3MsIElEIG9wLCBO
T0RFICpyaHMsIGNvbnN0IFlZTFRZUEUgKmFyZ3NfbG9jLCBjb25zdCBZWUxUWVBFICpsb2MpCit7
CisgICAgTk9ERSAqYXNnbjsKKworICAgIGFyZ3MgPSBtYWtlX2FycmF5KGFyZ3MsIGFyZ3NfbG9j
KTsKKyAgICBpZiAobmRfdHlwZShhcmdzKSA9PSBOT0RFX0JMT0NLX1BBU1MpIHsKKwlhcmdzID0g
TkVXX0FSR1NDQVQoYXJncywgcmhzLCBsb2MpOworICAgIH0KKyAgICBlbHNlIHsKKwlhcmdzID0g
YXJnX2NvbmNhdChwLCBhcmdzLCByaHMsIGxvYyk7CisgICAgfQorICAgIGFzZ24gPSBORVdfT1Bf
QVNHTjEoYXJ5LCBvcCwgYXJncywgbG9jKTsKKyAgICBmaXhwb3MoYXNnbiwgYXJ5KTsKKyAgICBy
ZXR1cm4gYXNnbjsKK30KKworc3RhdGljIE5PREUgKgorbmV3X2F0dHJfb3BfYXNzaWduKHN0cnVj
dCBwYXJzZXJfcGFyYW1zICpwLCBOT0RFICpsaHMsCisJCSAgIElEIGF0eXBlLCBJRCBhdHRyLCBJ
RCBvcCwgTk9ERSAqcmhzLCBjb25zdCBZWUxUWVBFICpsb2MpCit7CisgICAgTk9ERSAqYXNnbjsK
KworICAgIGFzZ24gPSBORVdfT1BfQVNHTjIobGhzLCBDQUxMX1FfUChhdHlwZSksIGF0dHIsIG9w
LCByaHMsIGxvYyk7CisgICAgZml4cG9zKGFzZ24sIGxocyk7CisgICAgcmV0dXJuIGFzZ247Cit9
CisKK3N0YXRpYyBOT0RFICoKK25ld19jb25zdF9vcF9hc3NpZ24oc3RydWN0IHBhcnNlcl9wYXJh
bXMgKnAsIE5PREUgKmxocywgSUQgb3AsIE5PREUgKnJocywgY29uc3QgWVlMVFlQRSAqbG9jKQor
eworICAgIE5PREUgKmFzZ247CisKKyAgICBpZiAobGhzKSB7CisJYXNnbiA9IE5FV19PUF9DREVD
TChsaHMsIG9wLCByaHMsIGxvYyk7CisgICAgfQorICAgIGVsc2UgeworCWFzZ24gPSBORVdfQkVH
SU4oMCwgbG9jKTsKKyAgICB9CisgICAgZml4cG9zKGFzZ24sIGxocyk7CisgICAgcmV0dXJuIGFz
Z247Cit9CisKK3N0YXRpYyBOT0RFICoKK2NvbnN0X2RlY2woc3RydWN0IHBhcnNlcl9wYXJhbXMg
KnAsIE5PREUgKnBhdGgsIGNvbnN0IFlZTFRZUEUgKmxvYykKK3sKKyAgICBpZiAocC0+aW5fZGVm
KSB7CisJeXllcnJvcjEobG9jLCAiZHluYW1pYyBjb25zdGFudCBhc3NpZ25tZW50Iik7CisgICAg
fQorICAgIHJldHVybiBORVdfQ0RFQ0woMCwgMCwgKHBhdGgpLCBsb2MpOworfQorI2Vsc2UKK3N0
YXRpYyBWQUxVRQorY29uc3RfZGVjbChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgVkFMVUUgcGF0
aCkKK3sKKyAgICBpZiAocC0+aW5fZGVmKSB7CisJcGF0aCA9IGRpc3BhdGNoMShhc3NpZ25fZXJy
b3IsIHBhdGgpOworCXJpcHBlcl9lcnJvcihwKTsKKyAgICB9CisgICAgcmV0dXJuIHBhdGg7Cit9
CisKK3N0YXRpYyBWQUxVRQorYXNzaWduX2Vycm9yKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBW
QUxVRSBhKQoreworICAgIGEgPSBkaXNwYXRjaDEoYXNzaWduX2Vycm9yLCBhKTsKKyAgICByaXBw
ZXJfZXJyb3IocCk7CisgICAgcmV0dXJuIGE7Cit9CisKK3N0YXRpYyBWQUxVRQordmFyX2ZpZWxk
KHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBWQUxVRSBhKQoreworICAgIHJldHVybiByaXBwZXJf
bmV3X3l5bHZhbChwLCBnZXRfaWQoYSksIGRpc3BhdGNoMSh2YXJfZmllbGQsIGEpLCAwKTsKK30K
KyNlbmRpZgorCisjaWZuZGVmIFJJUFBFUgorc3RhdGljIE5PREUgKgorbmV3X2JvZHlzdG10KHN0
cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBOT0RFICpoZWFkLCBOT0RFICpyZXNjdWUsIE5PREUgKnJl
c2N1ZV9lbHNlLCBOT0RFICplbnN1cmUsIGNvbnN0IFlZTFRZUEUgKmxvYykKK3sKKyAgICBOT0RF
ICpyZXN1bHQgPSBoZWFkOworICAgIGlmIChyZXNjdWUpIHsKKyAgICAgICAgTk9ERSAqdG1wID0g
cmVzY3VlX2Vsc2UgPyByZXNjdWVfZWxzZSA6IHJlc2N1ZTsKKyAgICAgICAgWVlMVFlQRSByZXNj
dWVfbG9jID0gY29kZV9sb2NfZ2VuKCZoZWFkLT5uZF9sb2MsICZ0bXAtPm5kX2xvYyk7CisKKyAg
ICAgICAgcmVzdWx0ID0gTkVXX1JFU0NVRShoZWFkLCByZXNjdWUsIHJlc2N1ZV9lbHNlLCAmcmVz
Y3VlX2xvYyk7CisgICAgICAgIG5kX3NldF9saW5lKHJlc3VsdCwgcmVzY3VlLT5uZF9sb2MuYmVn
X3Bvcy5saW5lbm8pOworICAgIH0KKyAgICBlbHNlIGlmIChyZXNjdWVfZWxzZSkgeworICAgICAg
ICByZXN1bHQgPSBibG9ja19hcHBlbmQocCwgcmVzdWx0LCByZXNjdWVfZWxzZSk7CisgICAgfQor
ICAgIGlmIChlbnN1cmUpIHsKKyAgICAgICAgcmVzdWx0ID0gTkVXX0VOU1VSRShyZXN1bHQsIGVu
c3VyZSwgbG9jKTsKKyAgICB9CisgICAgZml4cG9zKHJlc3VsdCwgaGVhZCk7CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KKyNlbmRpZgorCitzdGF0aWMgdm9pZAord2Fybl91bnVzZWRfdmFyKHN0cnVj
dCBwYXJzZXJfcGFyYW1zICpwLCBzdHJ1Y3QgbG9jYWxfdmFycyAqbG9jYWwpCit7CisgICAgaW50
IGksIGNudDsKKyAgICBJRCAqdiwgKnU7CisKKyAgICBpZiAoIWxvY2FsLT51c2VkKSByZXR1cm47
CisgICAgdiA9IGxvY2FsLT52YXJzLT50Ymw7CisgICAgdSA9IGxvY2FsLT51c2VkLT50Ymw7Cisg
ICAgY250ID0gbG9jYWwtPnVzZWQtPnBvczsKKyAgICBpZiAoY250ICE9IGxvY2FsLT52YXJzLT5w
b3MpIHsKKwlyYl9wYXJzZXJfZmF0YWwocCwgImxvY2FsLT51c2VkLT5wb3MgIT0gbG9jYWwtPnZh
cnMtPnBvcyIpOworICAgIH0KKyAgICBmb3IgKGkgPSAwOyBpIDwgY250OyArK2kpIHsKKwlpZiAo
IXZbaV0gfHwgKHVbaV0gJiBMVkFSX1VTRUQpKSBjb250aW51ZTsKKwlpZiAoaXNfcHJpdmF0ZV9s
b2NhbF9pZCh2W2ldKSkgY29udGludWU7CisJcmJfd2FybjFMKChpbnQpdVtpXSwgImFzc2lnbmVk
IGJ1dCB1bnVzZWQgdmFyaWFibGUgLSAlIlBSSXNXQVJOLCByYl9pZDJzdHIodltpXSkpOworICAg
IH0KK30KKworc3RhdGljIHZvaWQKK2xvY2FsX3B1c2goc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAs
IGludCB0b3BsZXZlbF9zY29wZSkKK3sKKyAgICBzdHJ1Y3QgbG9jYWxfdmFycyAqbG9jYWw7Cisg
ICAgaW50IGluaGVyaXRzX2R2YXJzID0gdG9wbGV2ZWxfc2NvcGUgJiYgKGNvbXBpbGVfZm9yX2V2
YWwgfHwgcC0+aW5fbWFpbiAvKiBpcyBwLT5pbl9tYWluIHJlYWxseSBuZWVkZWQ/ICovKTsKKyAg
ICBpbnQgd2Fybl91bnVzZWRfdmFycyA9IFJURVNUKHJ1YnlfdmVyYm9zZSk7CisKKyAgICBsb2Nh
bCA9IEFMTE9DKHN0cnVjdCBsb2NhbF92YXJzKTsKKyAgICBsb2NhbC0+cHJldiA9IHAtPmx2dGJs
OworICAgIGxvY2FsLT5hcmdzID0gdnRhYmxlX2FsbG9jKDApOworICAgIGxvY2FsLT52YXJzID0g
dnRhYmxlX2FsbG9jKGluaGVyaXRzX2R2YXJzID8gRFZBUlNfSU5IRVJJVCA6IERWQVJTX1RPUFND
T1BFKTsKKyNpZm5kZWYgUklQUEVSCisgICAgaWYgKHRvcGxldmVsX3Njb3BlICYmIGNvbXBpbGVf
Zm9yX2V2YWwpIHdhcm5fdW51c2VkX3ZhcnMgPSAwOworICAgIGlmICh0b3BsZXZlbF9zY29wZSAm
JiBlX29wdGlvbl9zdXBwbGllZChwKSkgd2Fybl91bnVzZWRfdmFycyA9IDA7CisjZW5kaWYKKyAg
ICBsb2NhbC0+dXNlZCA9IHdhcm5fdW51c2VkX3ZhcnMgPyB2dGFibGVfYWxsb2MoMCkgOiAwOwor
CisjIGlmIFdBUk5fUEFTVF9TQ09QRQorICAgIGxvY2FsLT5wYXN0ID0gMDsKKyMgZW5kaWYKKyAg
ICBDTURBUkdfUFVTSCgwKTsKKyAgICBDT05EX1BVU0goMCk7CisgICAgcC0+bHZ0YmwgPSBsb2Nh
bDsKK30KKworc3RhdGljIHZvaWQKK2xvY2FsX3BvcChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCkK
K3sKKyAgICBzdHJ1Y3QgbG9jYWxfdmFycyAqbG9jYWwgPSBwLT5sdnRibC0+cHJldjsKKyAgICBp
ZiAocC0+bHZ0YmwtPnVzZWQpIHsKKwl3YXJuX3VudXNlZF92YXIocCwgcC0+bHZ0YmwpOworCXZ0
YWJsZV9mcmVlKHAtPmx2dGJsLT51c2VkKTsKKyAgICB9CisjIGlmIFdBUk5fUEFTVF9TQ09QRQor
ICAgIHdoaWxlIChwLT5sdnRibC0+cGFzdCkgeworCXN0cnVjdCB2dGFibGUgKnBhc3QgPSBwLT5s
dnRibC0+cGFzdDsKKwlwLT5sdnRibC0+cGFzdCA9IHBhc3QtPnByZXY7CisJdnRhYmxlX2ZyZWUo
cGFzdCk7CisgICAgfQorIyBlbmRpZgorICAgIHZ0YWJsZV9mcmVlKHAtPmx2dGJsLT5hcmdzKTsK
KyAgICB2dGFibGVfZnJlZShwLT5sdnRibC0+dmFycyk7CisgICAgQ01EQVJHX1BPUCgpOworICAg
IENPTkRfUE9QKCk7CisgICAgcnVieV9zaXplZF94ZnJlZShwLT5sdnRibCwgc2l6ZW9mKCpwLT5s
dnRibCkpOworICAgIHAtPmx2dGJsID0gbG9jYWw7Cit9CisKKyNpZm5kZWYgUklQUEVSCitzdGF0
aWMgSUQqCitsb2NhbF90Ymwoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnApCit7CisgICAgaW50IGNu
dF9hcmdzID0gdnRhYmxlX3NpemUocC0+bHZ0YmwtPmFyZ3MpOworICAgIGludCBjbnRfdmFycyA9
IHZ0YWJsZV9zaXplKHAtPmx2dGJsLT52YXJzKTsKKyAgICBpbnQgY250ID0gY250X2FyZ3MgKyBj
bnRfdmFyczsKKyAgICBpbnQgaSwgajsKKyAgICBJRCAqYnVmOworICAgIHJiX2ltZW1vX3RtcGJ1
Zl90ICp0bXBidWYgPSBuZXdfdG1wYnVmKCk7CisKKyAgICBpZiAoY250IDw9IDApIHJldHVybiAw
OworICAgIGJ1ZiA9IEFMTE9DX04oSUQsIGNudCArIDEpOworICAgIHRtcGJ1Zi0+cHRyID0gKHZv
aWQgKilidWY7CisgICAgTUVNQ1BZKGJ1ZisxLCBwLT5sdnRibC0+YXJncy0+dGJsLCBJRCwgY250
X2FyZ3MpOworICAgIC8qIHJlbW92ZSBJRHMgZHVwbGljYXRlZCB0byB3YXJuIHNoYWRvd2luZyAq
LworICAgIGZvciAoaSA9IDAsIGogPSBjbnRfYXJncysxOyBpIDwgY250X3ZhcnM7ICsraSkgewor
CUlEIGlkID0gcC0+bHZ0YmwtPnZhcnMtPnRibFtpXTsKKwlpZiAoIXZ0YWJsZV9pbmNsdWRlZChw
LT5sdnRibC0+YXJncywgaWQpKSB7CisJICAgIGJ1ZltqKytdID0gaWQ7CisJfQorICAgIH0KKyAg
ICBpZiAoLS1qIDwgY250KSB0bXBidWYtPnB0ciA9ICh2b2lkICopUkVBTExPQ19OKGJ1ZiwgSUQs
IChjbnQgPSBqKSArIDEpOworICAgIGJ1ZlswXSA9IGNudDsKKworICAgIHJldHVybiBidWY7Cit9
CisjZW5kaWYKKworc3RhdGljIHZvaWQKK2FyZ192YXIoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAs
IElEIGlkKQoreworICAgIHZ0YWJsZV9hZGQocC0+bHZ0YmwtPmFyZ3MsIGlkKTsKK30KKworc3Rh
dGljIHZvaWQKK2xvY2FsX3ZhcihzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgSUQgaWQpCit7Cisg
ICAgdnRhYmxlX2FkZChwLT5sdnRibC0+dmFycywgaWQpOworICAgIGlmIChwLT5sdnRibC0+dXNl
ZCkgeworCXZ0YWJsZV9hZGQocC0+bHZ0YmwtPnVzZWQsIChJRClwLT5ydWJ5X3NvdXJjZWxpbmUp
OworICAgIH0KK30KKworc3RhdGljIGludAorbG9jYWxfaWRfcmVmKHN0cnVjdCBwYXJzZXJfcGFy
YW1zICpwLCBJRCBpZCwgSUQgKip2aWRyZWZwKQoreworICAgIHN0cnVjdCB2dGFibGUgKnZhcnMs
ICphcmdzLCAqdXNlZDsKKworICAgIHZhcnMgPSBwLT5sdnRibC0+dmFyczsKKyAgICBhcmdzID0g
cC0+bHZ0YmwtPmFyZ3M7CisgICAgdXNlZCA9IHAtPmx2dGJsLT51c2VkOworCisgICAgd2hpbGUg
KHZhcnMgJiYgIURWQVJTX1RFUk1JTkFMX1AodmFycy0+cHJldikpIHsKKwl2YXJzID0gdmFycy0+
cHJldjsKKwlhcmdzID0gYXJncy0+cHJldjsKKwlpZiAodXNlZCkgdXNlZCA9IHVzZWQtPnByZXY7
CisgICAgfQorCisgICAgaWYgKHZhcnMgJiYgdmFycy0+cHJldiA9PSBEVkFSU19JTkhFUklUKSB7
CisJcmV0dXJuIHJiX2xvY2FsX2RlZmluZWQoaWQsIHAtPmJhc2VfYmxvY2spOworICAgIH0KKyAg
ICBlbHNlIGlmICh2dGFibGVfaW5jbHVkZWQoYXJncywgaWQpKSB7CisJcmV0dXJuIDE7CisgICAg
fQorICAgIGVsc2UgeworCWludCBpID0gdnRhYmxlX2luY2x1ZGVkKHZhcnMsIGlkKTsKKwlpZiAo
aSAmJiB1c2VkICYmIHZpZHJlZnApICp2aWRyZWZwID0gJnVzZWQtPnRibFtpLTFdOworCXJldHVy
biBpICE9IDA7CisgICAgfQorfQorCitzdGF0aWMgaW50Citsb2NhbF9pZChzdHJ1Y3QgcGFyc2Vy
X3BhcmFtcyAqcCwgSUQgaWQpCit7CisgICAgcmV0dXJuIGxvY2FsX2lkX3JlZihwLCBpZCwgTlVM
TCk7Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgdnRhYmxlICoKK2R5bmFfcHVzaChzdHJ1Y3Qg
cGFyc2VyX3BhcmFtcyAqcCkKK3sKKyAgICBwLT5sdnRibC0+YXJncyA9IHZ0YWJsZV9hbGxvYyhw
LT5sdnRibC0+YXJncyk7CisgICAgcC0+bHZ0YmwtPnZhcnMgPSB2dGFibGVfYWxsb2MocC0+bHZ0
YmwtPnZhcnMpOworICAgIGlmIChwLT5sdnRibC0+dXNlZCkgeworCXAtPmx2dGJsLT51c2VkID0g
dnRhYmxlX2FsbG9jKHAtPmx2dGJsLT51c2VkKTsKKyAgICB9CisgICAgcmV0dXJuIHAtPmx2dGJs
LT5hcmdzOworfQorCitzdGF0aWMgdm9pZAorZHluYV9wb3BfdnRhYmxlKHN0cnVjdCBwYXJzZXJf
cGFyYW1zICpwLCBzdHJ1Y3QgdnRhYmxlICoqdnRibHApCit7CisgICAgc3RydWN0IHZ0YWJsZSAq
dG1wID0gKnZ0YmxwOworICAgICp2dGJscCA9IHRtcC0+cHJldjsKKyMgaWYgV0FSTl9QQVNUX1ND
T1BFCisgICAgaWYgKHAtPnBhc3Rfc2NvcGVfZW5hYmxlZCkgeworCXRtcC0+cHJldiA9IHAtPmx2
dGJsLT5wYXN0OworCXAtPmx2dGJsLT5wYXN0ID0gdG1wOworCXJldHVybjsKKyAgICB9CisjIGVu
ZGlmCisgICAgdnRhYmxlX2ZyZWUodG1wKTsKK30KKworc3RhdGljIHZvaWQKK2R5bmFfcG9wXzEo
c3RydWN0IHBhcnNlcl9wYXJhbXMgKnApCit7CisgICAgc3RydWN0IHZ0YWJsZSAqdG1wOworCisg
ICAgaWYgKCh0bXAgPSBwLT5sdnRibC0+dXNlZCkgIT0gMCkgeworCXdhcm5fdW51c2VkX3Zhcihw
LCBwLT5sdnRibCk7CisJcC0+bHZ0YmwtPnVzZWQgPSBwLT5sdnRibC0+dXNlZC0+cHJldjsKKwl2
dGFibGVfZnJlZSh0bXApOworICAgIH0KKyAgICBkeW5hX3BvcF92dGFibGUocCwgJnAtPmx2dGJs
LT5hcmdzKTsKKyAgICBkeW5hX3BvcF92dGFibGUocCwgJnAtPmx2dGJsLT52YXJzKTsKK30KKwor
c3RhdGljIHZvaWQKK2R5bmFfcG9wKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBjb25zdCBzdHJ1
Y3QgdnRhYmxlICpsdmFyZ3MpCit7CisgICAgd2hpbGUgKHAtPmx2dGJsLT5hcmdzICE9IGx2YXJn
cykgeworCWR5bmFfcG9wXzEocCk7CisJaWYgKCFwLT5sdnRibC0+YXJncykgeworCSAgICBzdHJ1
Y3QgbG9jYWxfdmFycyAqbG9jYWwgPSBwLT5sdnRibC0+cHJldjsKKwkgICAgcnVieV9zaXplZF94
ZnJlZShwLT5sdnRibCwgc2l6ZW9mKCpwLT5sdnRibCkpOworCSAgICBwLT5sdnRibCA9IGxvY2Fs
OworCX0KKyAgICB9CisgICAgZHluYV9wb3BfMShwKTsKK30KKworc3RhdGljIGludAorZHluYV9p
bl9ibG9jayhzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCkKK3sKKyAgICByZXR1cm4gIURWQVJTX1RF
Uk1JTkFMX1AocC0+bHZ0YmwtPnZhcnMpICYmIHAtPmx2dGJsLT52YXJzLT5wcmV2ICE9IERWQVJT
X1RPUFNDT1BFOworfQorCitzdGF0aWMgaW50CitkdmFyX2RlZmluZWRfcmVmKHN0cnVjdCBwYXJz
ZXJfcGFyYW1zICpwLCBJRCBpZCwgSUQgKip2aWRyZWZwKQoreworICAgIHN0cnVjdCB2dGFibGUg
KnZhcnMsICphcmdzLCAqdXNlZDsKKyAgICBpbnQgaTsKKworICAgIGFyZ3MgPSBwLT5sdnRibC0+
YXJnczsKKyAgICB2YXJzID0gcC0+bHZ0YmwtPnZhcnM7CisgICAgdXNlZCA9IHAtPmx2dGJsLT51
c2VkOworCisgICAgd2hpbGUgKCFEVkFSU19URVJNSU5BTF9QKHZhcnMpKSB7CisJaWYgKHZ0YWJs
ZV9pbmNsdWRlZChhcmdzLCBpZCkpIHsKKwkgICAgcmV0dXJuIDE7CisJfQorCWlmICgoaSA9IHZ0
YWJsZV9pbmNsdWRlZCh2YXJzLCBpZCkpICE9IDApIHsKKwkgICAgaWYgKHVzZWQgJiYgdmlkcmVm
cCkgKnZpZHJlZnAgPSAmdXNlZC0+dGJsW2ktMV07CisJICAgIHJldHVybiAxOworCX0KKwlhcmdz
ID0gYXJncy0+cHJldjsKKwl2YXJzID0gdmFycy0+cHJldjsKKwlpZiAoIXZpZHJlZnApIHVzZWQg
PSAwOworCWlmICh1c2VkKSB1c2VkID0gdXNlZC0+cHJldjsKKyAgICB9CisKKyAgICBpZiAodmFy
cyA9PSBEVkFSU19JTkhFUklUKSB7CisgICAgICAgIHJldHVybiByYl9kdmFyX2RlZmluZWQoaWQs
IHAtPmJhc2VfYmxvY2spOworICAgIH0KKworICAgIHJldHVybiAwOworfQorCitzdGF0aWMgaW50
CitkdmFyX2RlZmluZWQoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIElEIGlkKQoreworICAgIHJl
dHVybiBkdmFyX2RlZmluZWRfcmVmKHAsIGlkLCBOVUxMKTsKK30KKworc3RhdGljIGludAorZHZh
cl9jdXJyKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBJRCBpZCkKK3sKKyAgICByZXR1cm4gKHZ0
YWJsZV9pbmNsdWRlZChwLT5sdnRibC0+YXJncywgaWQpIHx8CisJICAgIHZ0YWJsZV9pbmNsdWRl
ZChwLT5sdnRibC0+dmFycywgaWQpKTsKK30KKworc3RhdGljIHZvaWQKK3JlZ19mcmFnbWVudF9l
bmNfZXJyb3Ioc3RydWN0IHBhcnNlcl9wYXJhbXMqIHAsIFZBTFVFIHN0ciwgaW50IGMpCit7Cisg
ICAgY29tcGlsZV9lcnJvcihwLAorICAgICAgICAicmVnZXhwIGVuY29kaW5nIG9wdGlvbiAnJWMn
IGRpZmZlcnMgZnJvbSBzb3VyY2UgZW5jb2RpbmcgJyVzJyIsCisgICAgICAgIGMsIHJiX2VuY19u
YW1lKHJiX2VuY19nZXQoc3RyKSkpOworfQorCisjaWZuZGVmIFJJUFBFUgoraW50CityYl9yZWdf
ZnJhZ21lbnRfc2V0ZW5jKHN0cnVjdCBwYXJzZXJfcGFyYW1zKiBwLCBWQUxVRSBzdHIsIGludCBv
cHRpb25zKQoreworICAgIGludCBjID0gUkVfT1BUSU9OX0VOQ09ESU5HX0lEWChvcHRpb25zKTsK
KworICAgIGlmIChjKSB7CisJaW50IG9wdCwgaWR4OworCXJiX2NoYXJfdG9fb3B0aW9uX2tjb2Rl
KGMsICZvcHQsICZpZHgpOworCWlmIChpZHggIT0gRU5DT0RJTkdfR0VUKHN0cikgJiYKKwkgICAg
cmJfZW5jX3N0cl9jb2RlcmFuZ2Uoc3RyKSAhPSBFTkNfQ09ERVJBTkdFXzdCSVQpIHsKKyAgICAg
ICAgICAgIGdvdG8gZXJyb3I7CisJfQorCUVOQ09ESU5HX1NFVChzdHIsIGlkeCk7CisgICAgfQor
ICAgIGVsc2UgaWYgKFJFX09QVElPTl9FTkNPRElOR19OT05FKG9wdGlvbnMpKSB7CisgICAgICAg
IGlmICghRU5DT0RJTkdfSVNfQVNDSUk4QklUKHN0cikgJiYKKyAgICAgICAgICAgIHJiX2VuY19z
dHJfY29kZXJhbmdlKHN0cikgIT0gRU5DX0NPREVSQU5HRV83QklUKSB7CisgICAgICAgICAgICBj
ID0gJ24nOworICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgfQorCXJiX2VuY19hc3Nv
Y2lhdGUoc3RyLCByYl9hc2NpaThiaXRfZW5jb2RpbmcoKSk7CisgICAgfQorICAgIGVsc2UgaWYg
KHAtPmVuYyA9PSByYl91c2FzY2lpX2VuY29kaW5nKCkpIHsKKwlpZiAocmJfZW5jX3N0cl9jb2Rl
cmFuZ2Uoc3RyKSAhPSBFTkNfQ09ERVJBTkdFXzdCSVQpIHsKKwkgICAgLyogcmFpc2UgaW4gcmUu
YyAqLworCSAgICByYl9lbmNfYXNzb2NpYXRlKHN0ciwgcmJfdXNhc2NpaV9lbmNvZGluZygpKTsK
Kwl9CisJZWxzZSB7CisJICAgIHJiX2VuY19hc3NvY2lhdGUoc3RyLCByYl9hc2NpaThiaXRfZW5j
b2RpbmcoKSk7CisJfQorICAgIH0KKyAgICByZXR1cm4gMDsKKworICBlcnJvcjoKKyAgICByZXR1
cm4gYzsKK30KKworc3RhdGljIHZvaWQKK3JlZ19mcmFnbWVudF9zZXRlbmMoc3RydWN0IHBhcnNl
cl9wYXJhbXMqIHAsIFZBTFVFIHN0ciwgaW50IG9wdGlvbnMpCit7CisgICAgaW50IGMgPSByYl9y
ZWdfZnJhZ21lbnRfc2V0ZW5jKHAsIHN0ciwgb3B0aW9ucyk7CisgICAgaWYgKGMpIHJlZ19mcmFn
bWVudF9lbmNfZXJyb3IocCwgc3RyLCBjKTsKK30KKworc3RhdGljIGludAorcmVnX2ZyYWdtZW50
X2NoZWNrKHN0cnVjdCBwYXJzZXJfcGFyYW1zKiBwLCBWQUxVRSBzdHIsIGludCBvcHRpb25zKQor
eworICAgIFZBTFVFIGVycjsKKyAgICByZWdfZnJhZ21lbnRfc2V0ZW5jKHAsIHN0ciwgb3B0aW9u
cyk7CisgICAgZXJyID0gcmJfcmVnX2NoZWNrX3ByZXByb2Nlc3Moc3RyKTsKKyAgICBpZiAoZXJy
ICE9IFFuaWwpIHsKKyAgICAgICAgZXJyID0gcmJfb2JqX2FzX3N0cmluZyhlcnIpOworICAgICAg
ICBjb21waWxlX2Vycm9yKHAsICIlIlBSSXNWQUxVRSwgZXJyKTsKKwlyZXR1cm4gMDsKKyAgICB9
CisgICAgcmV0dXJuIDE7Cit9CisKK3R5cGVkZWYgc3RydWN0IHsKKyAgICBzdHJ1Y3QgcGFyc2Vy
X3BhcmFtcyogcGFyc2VyOworICAgIHJiX2VuY29kaW5nICplbmM7CisgICAgTk9ERSAqc3VjY19i
bG9jazsKKyAgICBjb25zdCBZWUxUWVBFICpsb2M7Cit9IHJlZ19uYW1lZF9jYXB0dXJlX2Fzc2ln
bl90OworCitzdGF0aWMgaW50CityZWdfbmFtZWRfY2FwdHVyZV9hc3NpZ25faXRlcihjb25zdCBP
bmlnVUNoYXIgKm5hbWUsIGNvbnN0IE9uaWdVQ2hhciAqbmFtZV9lbmQsCisgICAgICAgICAgaW50
IGJhY2tfbnVtLCBpbnQgKmJhY2tfcmVmcywgT25pZ1JlZ2V4IHJlZ2V4LCB2b2lkICphcmcwKQor
eworICAgIHJlZ19uYW1lZF9jYXB0dXJlX2Fzc2lnbl90ICphcmcgPSAocmVnX25hbWVkX2NhcHR1
cmVfYXNzaWduX3QqKWFyZzA7CisgICAgc3RydWN0IHBhcnNlcl9wYXJhbXMqIHAgPSBhcmctPnBh
cnNlcjsKKyAgICByYl9lbmNvZGluZyAqZW5jID0gYXJnLT5lbmM7CisgICAgbG9uZyBsZW4gPSBu
YW1lX2VuZCAtIG5hbWU7CisgICAgY29uc3QgY2hhciAqcyA9IChjb25zdCBjaGFyICopbmFtZTsK
KyAgICBJRCB2YXI7CisgICAgTk9ERSAqbm9kZSwgKnN1Y2M7CisKKyAgICBpZiAoIWxlbikgcmV0
dXJuIFNUX0NPTlRJTlVFOworICAgIGlmIChsZW4gPCBNQVhfV09SRF9MRU5HVEggJiYgcmJfcmVz
ZXJ2ZWRfd29yZChzLCAoaW50KWxlbikpCisgICAgICAgIHJldHVybiBTVF9DT05USU5VRTsKKyAg
ICBpZiAocmJfZW5jX3N5bW5hbWVfdHlwZShzLCBsZW4sIGVuYywgKDFVPDxJRF9MT0NBTCkpICE9
IElEX0xPQ0FMKQorICAgICAgICByZXR1cm4gU1RfQ09OVElOVUU7CisKKyAgICB2YXIgPSBpbnRl
cm5fY3N0cihzLCBsZW4sIGVuYyk7CisgICAgbm9kZSA9IG5vZGVfYXNzaWduKHAsIGFzc2lnbmFi
bGUocCwgdmFyLCAwLCBhcmctPmxvYyksIE5FV19MSVQoSUQyU1lNKHZhciksIGFyZy0+bG9jKSwg
YXJnLT5sb2MpOworICAgIHN1Y2MgPSBhcmctPnN1Y2NfYmxvY2s7CisgICAgaWYgKCFzdWNjKSBz
dWNjID0gTkVXX0JFR0lOKDAsIGFyZy0+bG9jKTsKKyAgICBzdWNjID0gYmxvY2tfYXBwZW5kKHAs
IHN1Y2MsIG5vZGUpOworICAgIGFyZy0+c3VjY19ibG9jayA9IHN1Y2M7CisgICAgcmV0dXJuIFNU
X0NPTlRJTlVFOworfQorCitzdGF0aWMgTk9ERSAqCityZWdfbmFtZWRfY2FwdHVyZV9hc3NpZ24o
c3RydWN0IHBhcnNlcl9wYXJhbXMqIHAsIFZBTFVFIHJlZ2V4cCwgY29uc3QgWVlMVFlQRSAqbG9j
KQoreworICAgIHJlZ19uYW1lZF9jYXB0dXJlX2Fzc2lnbl90IGFyZzsKKworICAgIGFyZy5wYXJz
ZXIgPSBwOworICAgIGFyZy5lbmMgPSByYl9lbmNfZ2V0KHJlZ2V4cCk7CisgICAgYXJnLnN1Y2Nf
YmxvY2sgPSAwOworICAgIGFyZy5sb2MgPSBsb2M7CisgICAgb25pZ19mb3JlYWNoX25hbWUoUlJF
R0VYUF9QVFIocmVnZXhwKSwgcmVnX25hbWVkX2NhcHR1cmVfYXNzaWduX2l0ZXIsICZhcmcpOwor
CisgICAgaWYgKCFhcmcuc3VjY19ibG9jaykgcmV0dXJuIDA7CisgICAgcmV0dXJuIGFyZy5zdWNj
X2Jsb2NrLT5uZF9uZXh0OworfQorCitzdGF0aWMgVkFMVUUKK3BhcnNlcl9yZWdfY29tcGlsZShz
dHJ1Y3QgcGFyc2VyX3BhcmFtcyogcCwgVkFMVUUgc3RyLCBpbnQgb3B0aW9ucykKK3sKKyAgICBy
ZWdfZnJhZ21lbnRfc2V0ZW5jKHAsIHN0ciwgb3B0aW9ucyk7CisgICAgcmV0dXJuIHJiX3BhcnNl
cl9yZWdfY29tcGlsZShwLCBzdHIsIG9wdGlvbnMpOworfQorCitWQUxVRQorcmJfcGFyc2VyX3Jl
Z19jb21waWxlKHN0cnVjdCBwYXJzZXJfcGFyYW1zKiBwLCBWQUxVRSBzdHIsIGludCBvcHRpb25z
KQoreworICAgIHJldHVybiByYl9yZWdfY29tcGlsZShzdHIsIG9wdGlvbnMgJiBSRV9PUFRJT05f
TUFTSywgcC0+cnVieV9zb3VyY2VmaWxlLCBwLT5ydWJ5X3NvdXJjZWxpbmUpOworfQorCitzdGF0
aWMgVkFMVUUKK3JlZ19jb21waWxlKHN0cnVjdCBwYXJzZXJfcGFyYW1zKiBwLCBWQUxVRSBzdHIs
IGludCBvcHRpb25zKQoreworICAgIFZBTFVFIHJlOworICAgIFZBTFVFIGVycjsKKworICAgIGVy
ciA9IHJiX2VycmluZm8oKTsKKyAgICByZSA9IHBhcnNlcl9yZWdfY29tcGlsZShwLCBzdHIsIG9w
dGlvbnMpOworICAgIGlmIChOSUxfUChyZSkpIHsKKwlWQUxVRSBtID0gcmJfYXR0cl9nZXQocmJf
ZXJyaW5mbygpLCBpZE1lc2cpOworCXJiX3NldF9lcnJpbmZvKGVycik7CisJY29tcGlsZV9lcnJv
cihwLCAiJSJQUklzVkFMVUUsIG0pOworCXJldHVybiBRbmlsOworICAgIH0KKyAgICByZXR1cm4g
cmU7Cit9CisjZWxzZQorc3RhdGljIFZBTFVFCitwYXJzZXJfcmVnX2NvbXBpbGUoc3RydWN0IHBh
cnNlcl9wYXJhbXMqIHAsIFZBTFVFIHN0ciwgaW50IG9wdGlvbnMsIFZBTFVFICplcnJtc2cpCit7
CisgICAgVkFMVUUgZXJyID0gcmJfZXJyaW5mbygpOworICAgIFZBTFVFIHJlOworICAgIGludCBj
ID0gcmJfcmVnX2ZyYWdtZW50X3NldGVuYyhwLCBzdHIsIG9wdGlvbnMpOworICAgIGlmIChjKSBy
ZWdfZnJhZ21lbnRfZW5jX2Vycm9yKHAsIHN0ciwgYyk7CisgICAgcmUgPSByYl9wYXJzZXJfcmVn
X2NvbXBpbGUocCwgc3RyLCBvcHRpb25zKTsKKyAgICBpZiAoTklMX1AocmUpKSB7CisJKmVycm1z
ZyA9IHJiX2F0dHJfZ2V0KHJiX2VycmluZm8oKSwgaWRNZXNnKTsKKwlyYl9zZXRfZXJyaW5mbyhl
cnIpOworICAgIH0KKyAgICByZXR1cm4gcmU7Cit9CisjZW5kaWYKKworI2lmbmRlZiBSSVBQRVIK
K3ZvaWQKK3JiX3BhcnNlcl9zZXRfb3B0aW9ucyhWQUxVRSB2cGFyc2VyLCBpbnQgcHJpbnQsIGlu
dCBsb29wLCBpbnQgY2hvbXAsIGludCBzcGxpdCkKK3sKKyAgICBzdHJ1Y3QgcGFyc2VyX3BhcmFt
cyAqcDsKKyAgICBUeXBlZERhdGFfR2V0X1N0cnVjdCh2cGFyc2VyLCBzdHJ1Y3QgcGFyc2VyX3Bh
cmFtcywgJnBhcnNlcl9kYXRhX3R5cGUsIHApOworICAgIHAtPmRvX3ByaW50ID0gcHJpbnQ7Cisg
ICAgcC0+ZG9fbG9vcCA9IGxvb3A7CisgICAgcC0+ZG9fY2hvbXAgPSBjaG9tcDsKKyAgICBwLT5k
b19zcGxpdCA9IHNwbGl0OworfQorCit2b2lkCityYl9wYXJzZXJfd2Fybl9sb2NhdGlvbihWQUxV
RSB2cGFyc2VyLCBpbnQgd2FybikKK3sKKyAgICBzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcDsKKyAg
ICBUeXBlZERhdGFfR2V0X1N0cnVjdCh2cGFyc2VyLCBzdHJ1Y3QgcGFyc2VyX3BhcmFtcywgJnBh
cnNlcl9kYXRhX3R5cGUsIHApOworICAgIHAtPndhcm5fbG9jYXRpb24gPSB3YXJuOworfQorCitz
dGF0aWMgTk9ERSAqCitwYXJzZXJfYXBwZW5kX29wdGlvbnMoc3RydWN0IHBhcnNlcl9wYXJhbXMg
KnAsIE5PREUgKm5vZGUpCit7CisgICAgc3RhdGljIGNvbnN0IFlZTFRZUEUgZGVmYXVsdF9sb2Nh
dGlvbiA9IHt7MSwgMH0sIHsxLCAwfX07CisgICAgY29uc3QgWVlMVFlQRSAqY29uc3QgTE9DID0g
JmRlZmF1bHRfbG9jYXRpb247CisKKyAgICBpZiAocC0+ZG9fcHJpbnQpIHsKKwlOT0RFICpwcmlu
dCA9IE5FV19GQ0FMTChyYl9pbnRlcm4oInByaW50IiksCisJCQkJTkVXX0FSUkFZKE5FV19HVkFS
KGlkTEFTVExJTkUsIExPQyksIExPQyksCisJCQkJTE9DKTsKKwlub2RlID0gYmxvY2tfYXBwZW5k
KHAsIG5vZGUsIHByaW50KTsKKyAgICB9CisKKyAgICBpZiAocC0+ZG9fbG9vcCkgeworCWlmIChw
LT5kb19zcGxpdCkgeworCSAgICBOT0RFICpzcGxpdCA9IE5FV19HQVNHTihyYl9pbnRlcm4oIiRG
IiksCisJCQkJICAgIE5FV19DQUxMKE5FV19HVkFSKGlkTEFTVExJTkUsIExPQyksCisJCQkJCSAg
ICAgcmJfaW50ZXJuKCJzcGxpdCIpLCAwLCBMT0MpLAorCQkJCSAgICBMT0MpOworCSAgICBub2Rl
ID0gYmxvY2tfYXBwZW5kKHAsIHNwbGl0LCBub2RlKTsKKwl9CisJaWYgKHAtPmRvX2Nob21wKSB7
CisJICAgIE5PREUgKmNob21wID0gTkVXX0NBTEwoTkVXX0dWQVIoaWRMQVNUTElORSwgTE9DKSwK
KwkJCQkgICByYl9pbnRlcm4oImNob21wISIpLCAwLCBMT0MpOworCSAgICBub2RlID0gYmxvY2tf
YXBwZW5kKHAsIGNob21wLCBub2RlKTsKKwl9CisKKwlub2RlID0gTkVXX1dISUxFKE5FV19WQ0FM
TChpZEdldHMsIExPQyksIG5vZGUsIDEsIExPQyk7CisgICAgfQorCisgICAgcmV0dXJuIG5vZGU7
Cit9CisKK3ZvaWQKK3JiX2luaXRfcGFyc2Uodm9pZCkKK3sKKyAgICAvKiBqdXN0IHRvIHN1cHBy
ZXNzIHVudXNlZC1mdW5jdGlvbiB3YXJuaW5ncyAqLworICAgICh2b2lkKW5vZGV0eXBlOworICAg
ICh2b2lkKW5vZGVsaW5lOworfQorI2VuZGlmIC8qICFSSVBQRVIgKi8KKworc3RhdGljIElECitp
bnRlcm5hbF9pZChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCkKK3sKKyAgICBjb25zdCBJRCBtYXhf
aWQgPSBSQl9JRF9TRVJJQUxfTUFYICYgfjB4ZmZmZjsKKyAgICBJRCBpZCA9IChJRCl2dGFibGVf
c2l6ZShwLT5sdnRibC0+YXJncykgKyAoSUQpdnRhYmxlX3NpemUocC0+bHZ0YmwtPnZhcnMpOwor
ICAgIGlkID0gbWF4X2lkIC0gaWQ7CisgICAgcmV0dXJuIElEX1NUQVRJQ19TWU0gfCBJRF9JTlRF
Uk5BTCB8IChpZCA8PCBJRF9TQ09QRV9TSElGVCk7Cit9CisKK3N0YXRpYyB2b2lkCitwYXJzZXJf
aW5pdGlhbGl6ZShzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCkKK3sKKyAgICAvKiBub3RlOiB3ZSBy
ZWx5IG9uIFR5cGVkRGF0YV9NYWtlX1N0cnVjdCB0byBzZXQgbW9zdCBmaWVsZHMgdG8gMCAqLwor
ICAgIHAtPmNvbW1hbmRfc3RhcnQgPSBUUlVFOworICAgIHAtPnJ1Ynlfc291cmNlZmlsZV9zdHJp
bmcgPSBRbmlsOworICAgIHAtPmxleC5scGFyX2JlZyA9IC0xOyAvKiBtYWtlIGxhbWJkYV9iZWdp
bm5pbmdfcCgpID09IEZBTFNFIGF0IGZpcnN0ICovCisgICAgcC0+bm9kZV9pZCA9IDA7CisjaWZk
ZWYgUklQUEVSCisgICAgcC0+ZGVsYXllZCA9IFFuaWw7CisgICAgcC0+cmVzdWx0ID0gUW5pbDsK
KyAgICBwLT5wYXJzaW5nX3RocmVhZCA9IFFuaWw7CisjZWxzZQorICAgIHAtPmVycm9yX2J1ZmZl
ciA9IFFmYWxzZTsKKyNlbmRpZgorICAgIHAtPmRlYnVnX2J1ZmZlciA9IFFuaWw7CisgICAgcC0+
ZGVidWdfb3V0cHV0ID0gcmJfc3Rkb3V0OworICAgIHAtPmVuYyA9IHJiX3V0ZjhfZW5jb2Rpbmco
KTsKK30KKworI2lmZGVmIFJJUFBFUgorI2RlZmluZSBwYXJzZXJfbWFyayByaXBwZXJfcGFyc2Vy
X21hcmsKKyNkZWZpbmUgcGFyc2VyX2ZyZWUgcmlwcGVyX3BhcnNlcl9mcmVlCisjZW5kaWYKKwor
c3RhdGljIHZvaWQKK3BhcnNlcl9tYXJrKHZvaWQgKnB0cikKK3sKKyAgICBzdHJ1Y3QgcGFyc2Vy
X3BhcmFtcyAqcCA9IChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyopcHRyOworCisgICAgcmJfZ2NfbWFy
ayhwLT5sZXguaW5wdXQpOworICAgIHJiX2djX21hcmsocC0+bGV4LnByZXZsaW5lKTsKKyAgICBy
Yl9nY19tYXJrKHAtPmxleC5sYXN0bGluZSk7CisgICAgcmJfZ2NfbWFyayhwLT5sZXgubmV4dGxp
bmUpOworICAgIHJiX2djX21hcmsocC0+cnVieV9zb3VyY2VmaWxlX3N0cmluZyk7CisgICAgcmJf
Z2NfbWFyaygoVkFMVUUpcC0+bGV4LnN0cnRlcm0pOworICAgIHJiX2djX21hcmsoKFZBTFVFKXAt
PmFzdCk7CisjaWZuZGVmIFJJUFBFUgorICAgIHJiX2djX21hcmsocC0+ZGVidWdfbGluZXMpOwor
ICAgIHJiX2djX21hcmsocC0+Y29tcGlsZV9vcHRpb24pOworICAgIHJiX2djX21hcmsocC0+ZXJy
b3JfYnVmZmVyKTsKKyNlbHNlCisgICAgcmJfZ2NfbWFyayhwLT5kZWxheWVkKTsKKyAgICByYl9n
Y19tYXJrKHAtPnZhbHVlKTsKKyAgICByYl9nY19tYXJrKHAtPnJlc3VsdCk7CisgICAgcmJfZ2Nf
bWFyayhwLT5wYXJzaW5nX3RocmVhZCk7CisjZW5kaWYKKyAgICByYl9nY19tYXJrKHAtPmRlYnVn
X2J1ZmZlcik7CisgICAgcmJfZ2NfbWFyayhwLT5kZWJ1Z19vdXRwdXQpOworI2lmZGVmIFlZTUFM
TE9DCisgICAgcmJfZ2NfbWFyaygoVkFMVUUpcC0+aGVhcCk7CisjZW5kaWYKK30KKworc3RhdGlj
IHZvaWQKK3BhcnNlcl9mcmVlKHZvaWQgKnB0cikKK3sKKyAgICBzdHJ1Y3QgcGFyc2VyX3BhcmFt
cyAqcCA9IChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyopcHRyOworICAgIHN0cnVjdCBsb2NhbF92YXJz
ICpsb2NhbCwgKnByZXY7CisKKyAgICBpZiAocC0+dG9rZW5idWYpIHsKKyAgICAgICAgcnVieV9z
aXplZF94ZnJlZShwLT50b2tlbmJ1ZiwgcC0+dG9rc2l6KTsKKyAgICB9CisgICAgZm9yIChsb2Nh
bCA9IHAtPmx2dGJsOyBsb2NhbDsgbG9jYWwgPSBwcmV2KSB7CisJaWYgKGxvY2FsLT52YXJzKSB4
ZnJlZShsb2NhbC0+dmFycyk7CisJcHJldiA9IGxvY2FsLT5wcmV2OworCXhmcmVlKGxvY2FsKTsK
KyAgICB9CisgICAgeworCXRva2VuX2luZm8gKnB0aW5mbzsKKwl3aGlsZSAoKHB0aW5mbyA9IHAt
PnRva2VuX2luZm8pICE9IDApIHsKKwkgICAgcC0+dG9rZW5faW5mbyA9IHB0aW5mby0+bmV4dDsK
KwkgICAgeGZyZWUocHRpbmZvKTsKKwl9CisgICAgfQorICAgIHhmcmVlKHB0cik7Cit9CisKK3N0
YXRpYyBzaXplX3QKK3BhcnNlcl9tZW1zaXplKGNvbnN0IHZvaWQgKnB0cikKK3sKKyAgICBzdHJ1
Y3QgcGFyc2VyX3BhcmFtcyAqcCA9IChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyopcHRyOworICAgIHN0
cnVjdCBsb2NhbF92YXJzICpsb2NhbDsKKyAgICBzaXplX3Qgc2l6ZSA9IHNpemVvZigqcCk7CisK
KyAgICBzaXplICs9IHAtPnRva3NpejsKKyAgICBmb3IgKGxvY2FsID0gcC0+bHZ0Ymw7IGxvY2Fs
OyBsb2NhbCA9IGxvY2FsLT5wcmV2KSB7CisJc2l6ZSArPSBzaXplb2YoKmxvY2FsKTsKKwlpZiAo
bG9jYWwtPnZhcnMpIHNpemUgKz0gbG9jYWwtPnZhcnMtPmNhcGEgKiBzaXplb2YoSUQpOworICAg
IH0KKyAgICByZXR1cm4gc2l6ZTsKK30KKworc3RhdGljIGNvbnN0IHJiX2RhdGFfdHlwZV90IHBh
cnNlcl9kYXRhX3R5cGUgPSB7CisjaWZuZGVmIFJJUFBFUgorICAgICJwYXJzZXIiLAorI2Vsc2UK
KyAgICAicmlwcGVyIiwKKyNlbmRpZgorICAgIHsKKwlwYXJzZXJfbWFyaywKKwlwYXJzZXJfZnJl
ZSwKKwlwYXJzZXJfbWVtc2l6ZSwKKyAgICB9LAorICAgIDAsIDAsIFJVQllfVFlQRURfRlJFRV9J
TU1FRElBVEVMWQorfTsKKworI2lmbmRlZiBSSVBQRVIKKyN1bmRlZiByYl9yZXNlcnZlZF93b3Jk
CisKK2NvbnN0IHN0cnVjdCBrd3RhYmxlICoKK3JiX3Jlc2VydmVkX3dvcmQoY29uc3QgY2hhciAq
c3RyLCB1bnNpZ25lZCBpbnQgbGVuKQoreworICAgIHJldHVybiByZXNlcnZlZF93b3JkKHN0ciwg
bGVuKTsKK30KKworVkFMVUUKK3JiX3BhcnNlcl9uZXcodm9pZCkKK3sKKyAgICBzdHJ1Y3QgcGFy
c2VyX3BhcmFtcyAqcDsKKyAgICBWQUxVRSBwYXJzZXIgPSBUeXBlZERhdGFfTWFrZV9TdHJ1Y3Qo
MCwgc3RydWN0IHBhcnNlcl9wYXJhbXMsCisJCQkJCSAmcGFyc2VyX2RhdGFfdHlwZSwgcCk7Cisg
ICAgcGFyc2VyX2luaXRpYWxpemUocCk7CisgICAgcmV0dXJuIHBhcnNlcjsKK30KKworVkFMVUUK
K3JiX3BhcnNlcl9zZXRfY29udGV4dChWQUxVRSB2cGFyc2VyLCBjb25zdCBzdHJ1Y3QgcmJfYmxv
Y2sgKmJhc2UsIGludCBtYWluKQoreworICAgIHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwOworCisg
ICAgVHlwZWREYXRhX0dldF9TdHJ1Y3QodnBhcnNlciwgc3RydWN0IHBhcnNlcl9wYXJhbXMsICZw
YXJzZXJfZGF0YV90eXBlLCBwKTsKKyAgICBwLT5lcnJvcl9idWZmZXIgPSBtYWluID8gUWZhbHNl
IDogUW5pbDsKKyAgICBwLT5iYXNlX2Jsb2NrID0gYmFzZTsKKyAgICBwLT5pbl9tYWluID0gbWFp
bjsKKyAgICByZXR1cm4gdnBhcnNlcjsKK30KKyNlbmRpZgorCisjaWZkZWYgUklQUEVSCisjZGVm
aW5lIHJiX3BhcnNlcl9lbmRfc2Vlbl9wIHJpcHBlcl9wYXJzZXJfZW5kX3NlZW5fcAorI2RlZmlu
ZSByYl9wYXJzZXJfZW5jb2RpbmcgcmlwcGVyX3BhcnNlcl9lbmNvZGluZworI2RlZmluZSByYl9w
YXJzZXJfZ2V0X3l5ZGVidWcgcmlwcGVyX3BhcnNlcl9nZXRfeXlkZWJ1ZworI2RlZmluZSByYl9w
YXJzZXJfc2V0X3l5ZGVidWcgcmlwcGVyX3BhcnNlcl9zZXRfeXlkZWJ1Zworc3RhdGljIFZBTFVF
IHJpcHBlcl9wYXJzZXJfZW5kX3NlZW5fcChWQUxVRSB2cGFyc2VyKTsKK3N0YXRpYyBWQUxVRSBy
aXBwZXJfcGFyc2VyX2VuY29kaW5nKFZBTFVFIHZwYXJzZXIpOworc3RhdGljIFZBTFVFIHJpcHBl
cl9wYXJzZXJfZ2V0X3l5ZGVidWcoVkFMVUUgc2VsZik7CitzdGF0aWMgVkFMVUUgcmlwcGVyX3Bh
cnNlcl9zZXRfeXlkZWJ1ZyhWQUxVRSBzZWxmLCBWQUxVRSBmbGFnKTsKKworLyoKKyAqICBjYWxs
LXNlcToKKyAqICAgIHJpcHBlci5lcnJvcj8gICAtPiBCb29sZWFuCisgKgorICogIFJldHVybiB0
cnVlIGlmIHBhcnNlZCBzb3VyY2UgaGFzIGVycm9ycy4KKyAqLworc3RhdGljIFZBTFVFCityaXBw
ZXJfZXJyb3JfcChWQUxVRSB2cGFyc2VyKQoreworICAgIHN0cnVjdCBwYXJzZXJfcGFyYW1zICpw
OworCisgICAgVHlwZWREYXRhX0dldF9TdHJ1Y3QodnBhcnNlciwgc3RydWN0IHBhcnNlcl9wYXJh
bXMsICZwYXJzZXJfZGF0YV90eXBlLCBwKTsKKyAgICByZXR1cm4gcC0+ZXJyb3JfcCA/IFF0cnVl
IDogUWZhbHNlOworfQorI2VuZGlmCisKKy8qCisgKiAgY2FsbC1zZXE6CisgKiAgICByaXBwZXIu
ZW5kX3NlZW4/ICAgLT4gQm9vbGVhbgorICoKKyAqICBSZXR1cm4gdHJ1ZSBpZiBwYXJzZWQgc291
cmNlIGVuZGVkIGJ5ICtcX1xfRU5EXF9cXysuCisgKi8KK1ZBTFVFCityYl9wYXJzZXJfZW5kX3Nl
ZW5fcChWQUxVRSB2cGFyc2VyKQoreworICAgIHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwOworCisg
ICAgVHlwZWREYXRhX0dldF9TdHJ1Y3QodnBhcnNlciwgc3RydWN0IHBhcnNlcl9wYXJhbXMsICZw
YXJzZXJfZGF0YV90eXBlLCBwKTsKKyAgICByZXR1cm4gcC0+cnVieV9fZW5kX19zZWVuID8gUXRy
dWUgOiBRZmFsc2U7Cit9CisKKy8qCisgKiAgY2FsbC1zZXE6CisgKiAgICByaXBwZXIuZW5jb2Rp
bmcgICAtPiBlbmNvZGluZworICoKKyAqICBSZXR1cm4gZW5jb2Rpbmcgb2YgdGhlIHNvdXJjZS4K
KyAqLworVkFMVUUKK3JiX3BhcnNlcl9lbmNvZGluZyhWQUxVRSB2cGFyc2VyKQoreworICAgIHN0
cnVjdCBwYXJzZXJfcGFyYW1zICpwOworCisgICAgVHlwZWREYXRhX0dldF9TdHJ1Y3QodnBhcnNl
ciwgc3RydWN0IHBhcnNlcl9wYXJhbXMsICZwYXJzZXJfZGF0YV90eXBlLCBwKTsKKyAgICByZXR1
cm4gcmJfZW5jX2Zyb21fZW5jb2RpbmcocC0+ZW5jKTsKK30KKworLyoKKyAqICBjYWxsLXNlcToK
KyAqICAgIHJpcHBlci55eWRlYnVnICAgLT4gdHJ1ZSBvciBmYWxzZQorICoKKyAqICBHZXQgeXlk
ZWJ1Zy4KKyAqLworVkFMVUUKK3JiX3BhcnNlcl9nZXRfeXlkZWJ1ZyhWQUxVRSBzZWxmKQorewor
ICAgIHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwOworCisgICAgVHlwZWREYXRhX0dldF9TdHJ1Y3Qo
c2VsZiwgc3RydWN0IHBhcnNlcl9wYXJhbXMsICZwYXJzZXJfZGF0YV90eXBlLCBwKTsKKyAgICBy
ZXR1cm4gcC0+ZGVidWcgPyBRdHJ1ZSA6IFFmYWxzZTsKK30KKworLyoKKyAqICBjYWxsLXNlcToK
KyAqICAgIHJpcHBlci55eWRlYnVnID0gZmxhZworICoKKyAqICBTZXQgeXlkZWJ1Zy4KKyAqLwor
VkFMVUUKK3JiX3BhcnNlcl9zZXRfeXlkZWJ1ZyhWQUxVRSBzZWxmLCBWQUxVRSBmbGFnKQorewor
ICAgIHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwOworCisgICAgVHlwZWREYXRhX0dldF9TdHJ1Y3Qo
c2VsZiwgc3RydWN0IHBhcnNlcl9wYXJhbXMsICZwYXJzZXJfZGF0YV90eXBlLCBwKTsKKyAgICBw
LT5kZWJ1ZyA9IFJURVNUKGZsYWcpOworICAgIHJldHVybiBmbGFnOworfQorCisjaWZuZGVmIFJJ
UFBFUgorI2lmZGVmIFlZTUFMTE9DCisjZGVmaW5lIEhFQVBDTlQobiwgc2l6ZSkgKChuKSAqIChz
aXplKSAvIHNpemVvZihZWVNUWVBFKSkKKy8qIEtlZXAgdGhlIG9yZGVyOyBORVdIRUFQIHRoZW4g
eG1hbGxvYyBhbmQgQUREMkhFQVAgdG8gZ2V0IHJpZCBvZgorICogcG90ZW50aWFsIG1lbW9yeSBs
ZWFrICovCisjZGVmaW5lIE5FV0hFQVAoKSByYl9pbWVtb190bXBidWZfcGFyc2VyX2hlYXAoMCwg
cC0+aGVhcCwgMCkKKyNkZWZpbmUgQUREMkhFQVAobmV3LCBjbnQsIHB0cikgKChwLT5oZWFwID0g
KG5ldykpLT5wdHIgPSAocHRyKSwgXAorCQkJICAgKG5ldyktPmNudCA9IChjbnQpLCAocHRyKSkK
Kwordm9pZCAqCityYl9wYXJzZXJfbWFsbG9jKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBzaXpl
X3Qgc2l6ZSkKK3sKKyAgICBzaXplX3QgY250ID0gSEVBUENOVCgxLCBzaXplKTsKKyAgICByYl9p
bWVtb190bXBidWZfdCAqbiA9IE5FV0hFQVAoKTsKKyAgICB2b2lkICpwdHIgPSB4bWFsbG9jKHNp
emUpOworCisgICAgcmV0dXJuIEFERDJIRUFQKG4sIGNudCwgcHRyKTsKK30KKwordm9pZCAqCity
Yl9wYXJzZXJfY2FsbG9jKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBzaXplX3QgbmVsZW0sIHNp
emVfdCBzaXplKQoreworICAgIHNpemVfdCBjbnQgPSBIRUFQQ05UKG5lbGVtLCBzaXplKTsKKyAg
ICByYl9pbWVtb190bXBidWZfdCAqbiA9IE5FV0hFQVAoKTsKKyAgICB2b2lkICpwdHIgPSB4Y2Fs
bG9jKG5lbGVtLCBzaXplKTsKKworICAgIHJldHVybiBBREQySEVBUChuLCBjbnQsIHB0cik7Cit9
CisKK3ZvaWQgKgorcmJfcGFyc2VyX3JlYWxsb2Moc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIHZv
aWQgKnB0ciwgc2l6ZV90IHNpemUpCit7CisgICAgcmJfaW1lbW9fdG1wYnVmX3QgKm47CisgICAg
c2l6ZV90IGNudCA9IEhFQVBDTlQoMSwgc2l6ZSk7CisKKyAgICBpZiAocHRyICYmIChuID0gcC0+
aGVhcCkgIT0gTlVMTCkgeworCWRvIHsKKwkgICAgaWYgKG4tPnB0ciA9PSBwdHIpIHsKKwkJbi0+
cHRyID0gcHRyID0geHJlYWxsb2MocHRyLCBzaXplKTsKKwkJaWYgKG4tPmNudCkgbi0+Y250ID0g
Y250OworCQlyZXR1cm4gcHRyOworCSAgICB9CisJfSB3aGlsZSAoKG4gPSBuLT5uZXh0KSAhPSBO
VUxMKTsKKyAgICB9CisgICAgbiA9IE5FV0hFQVAoKTsKKyAgICBwdHIgPSB4cmVhbGxvYyhwdHIs
IHNpemUpOworICAgIHJldHVybiBBREQySEVBUChuLCBjbnQsIHB0cik7Cit9CisKK3ZvaWQKK3Ji
X3BhcnNlcl9mcmVlKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCB2b2lkICpwdHIpCit7CisgICAg
cmJfaW1lbW9fdG1wYnVmX3QgKipwcmV2ID0gJnAtPmhlYXAsICpuOworCisgICAgd2hpbGUgKChu
ID0gKnByZXYpICE9IE5VTEwpIHsKKwlpZiAobi0+cHRyID09IHB0cikgeworCSAgICAqcHJldiA9
IG4tPm5leHQ7CisJICAgIHJiX2djX2ZvcmNlX3JlY3ljbGUoKFZBTFVFKW4pOworCSAgICBicmVh
azsKKwl9CisJcHJldiA9ICZuLT5uZXh0OworICAgIH0KKyAgICB4ZnJlZShwdHIpOworfQorI2Vu
ZGlmCisKK3ZvaWQKK3JiX3BhcnNlcl9wcmludGYoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIGNv
bnN0IGNoYXIgKmZtdCwgLi4uKQoreworICAgIHZhX2xpc3QgYXA7CisgICAgVkFMVUUgbWVzZyA9
IHAtPmRlYnVnX2J1ZmZlcjsKKworICAgIGlmIChOSUxfUChtZXNnKSkgcC0+ZGVidWdfYnVmZmVy
ID0gbWVzZyA9IHJiX3N0cl9uZXcoMCwgMCk7CisgICAgdmFfc3RhcnQoYXAsIGZtdCk7CisgICAg
cmJfc3RyX3ZjYXRmKG1lc2csIGZtdCwgYXApOworICAgIHZhX2VuZChhcCk7CisgICAgaWYgKFJT
VFJJTkdfRU5EKG1lc2cpWy0xXSA9PSAnXG4nKSB7CisJcmJfaW9fd3JpdGUocC0+ZGVidWdfb3V0
cHV0LCBtZXNnKTsKKwlwLT5kZWJ1Z19idWZmZXIgPSBRbmlsOworICAgIH0KK30KKworc3RhdGlj
IHZvaWQKK3BhcnNlcl9jb21waWxlX2Vycm9yKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBjb25z
dCBjaGFyICpmbXQsIC4uLikKK3sKKyAgICB2YV9saXN0IGFwOworCisgICAgcmJfaW9fZmx1c2go
cC0+ZGVidWdfb3V0cHV0KTsKKyAgICBwLT5lcnJvcl9wID0gMTsKKyAgICB2YV9zdGFydChhcCwg
Zm10KTsKKyAgICBwLT5lcnJvcl9idWZmZXIgPQorCXJiX3N5bnRheF9lcnJvcl9hcHBlbmQocC0+
ZXJyb3JfYnVmZmVyLAorCQkJICAgICAgIHAtPnJ1Ynlfc291cmNlZmlsZV9zdHJpbmcsCisJCQkg
ICAgICAgcC0+cnVieV9zb3VyY2VsaW5lLAorCQkJICAgICAgIHJiX2xvbmcyaW50KHAtPmxleC5w
Y3VyIC0gcC0+bGV4LnBiZWcpLAorCQkJICAgICAgIHAtPmVuYywgZm10LCBhcCk7CisgICAgdmFf
ZW5kKGFwKTsKK30KKyNlbmRpZgorCisjaWZkZWYgUklQUEVSCisjaWZkZWYgUklQUEVSX0RFQlVH
CitleHRlcm4gaW50IHJiX2lzX3BvaW50ZXJfdG9faGVhcChWQUxVRSk7CisKKy8qIDpub2RvYzog
Ki8KK3N0YXRpYyBWQUxVRQorcmlwcGVyX3ZhbGlkYXRlX29iamVjdChWQUxVRSBzZWxmLCBWQUxV
RSB4KQoreworICAgIGlmICh4ID09IFFmYWxzZSkgcmV0dXJuIHg7CisgICAgaWYgKHggPT0gUXRy
dWUpIHJldHVybiB4OworICAgIGlmICh4ID09IFFuaWwpIHJldHVybiB4OworICAgIGlmICh4ID09
IFF1bmRlZikKKyAgICAgICAgcmJfcmFpc2UocmJfZUFyZ0Vycm9yLCAiUXVuZGVmIGdpdmVuIik7
CisgICAgaWYgKEZJWE5VTV9QKHgpKSByZXR1cm4geDsKKyAgICBpZiAoU1lNQk9MX1AoeCkpIHJl
dHVybiB4OworICAgIGlmICghcmJfaXNfcG9pbnRlcl90b19oZWFwKHgpKQorICAgICAgICByYl9y
YWlzZShyYl9lQXJnRXJyb3IsICJpbnZhbGlkIHBvaW50ZXI6ICVwIiwgeCk7CisgICAgc3dpdGNo
IChCVUlMVElOX1RZUEUoeCkpIHsKKyAgICAgIGNhc2UgVF9TVFJJTkc6CisgICAgICBjYXNlIFRf
T0JKRUNUOgorICAgICAgY2FzZSBUX0FSUkFZOgorICAgICAgY2FzZSBUX0JJR05VTToKKyAgICAg
IGNhc2UgVF9GTE9BVDoKKyAgICAgIGNhc2UgVF9DT01QTEVYOgorICAgICAgY2FzZSBUX1JBVElP
TkFMOgorICAgICAgICByZXR1cm4geDsKKyAgICAgIGNhc2UgVF9OT0RFOgorCWlmIChuZF90eXBl
KHgpICE9IE5PREVfUklQUEVSKSB7CisJICAgIHJiX3JhaXNlKHJiX2VBcmdFcnJvciwgIk5PREUg
Z2l2ZW46ICVwIiwgeCk7CisJfQorCXJldHVybiAoKE5PREUgKil4KS0+bmRfcnZhbDsKKyAgICAg
IGRlZmF1bHQ6CisgICAgICAgIHJiX3JhaXNlKHJiX2VBcmdFcnJvciwgIndyb25nIHR5cGUgb2Yg
cnVieSBvYmplY3Q6ICVwICglcykiLAorICAgICAgICAgICAgICAgICB4LCByYl9vYmpfY2xhc3Nu
YW1lKHgpKTsKKyAgICB9CisgICAgcmV0dXJuIHg7Cit9CisjZW5kaWYKKworI2RlZmluZSB2YWxp
ZGF0ZSh4KSAoKHgpID0gZ2V0X3ZhbHVlKHgpKQorCitzdGF0aWMgVkFMVUUKK3JpcHBlcl9kaXNw
YXRjaDAoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIElEIG1pZCkKK3sKKyAgICByZXR1cm4gcmJf
ZnVuY2FsbChwLT52YWx1ZSwgbWlkLCAwKTsKK30KKworc3RhdGljIFZBTFVFCityaXBwZXJfZGlz
cGF0Y2gxKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBJRCBtaWQsIFZBTFVFIGEpCit7CisgICAg
dmFsaWRhdGUoYSk7CisgICAgcmV0dXJuIHJiX2Z1bmNhbGwocC0+dmFsdWUsIG1pZCwgMSwgYSk7
Cit9CisKK3N0YXRpYyBWQUxVRQorcmlwcGVyX2Rpc3BhdGNoMihzdHJ1Y3QgcGFyc2VyX3BhcmFt
cyAqcCwgSUQgbWlkLCBWQUxVRSBhLCBWQUxVRSBiKQoreworICAgIHZhbGlkYXRlKGEpOworICAg
IHZhbGlkYXRlKGIpOworICAgIHJldHVybiByYl9mdW5jYWxsKHAtPnZhbHVlLCBtaWQsIDIsIGEs
IGIpOworfQorCitzdGF0aWMgVkFMVUUKK3JpcHBlcl9kaXNwYXRjaDMoc3RydWN0IHBhcnNlcl9w
YXJhbXMgKnAsIElEIG1pZCwgVkFMVUUgYSwgVkFMVUUgYiwgVkFMVUUgYykKK3sKKyAgICB2YWxp
ZGF0ZShhKTsKKyAgICB2YWxpZGF0ZShiKTsKKyAgICB2YWxpZGF0ZShjKTsKKyAgICByZXR1cm4g
cmJfZnVuY2FsbChwLT52YWx1ZSwgbWlkLCAzLCBhLCBiLCBjKTsKK30KKworc3RhdGljIFZBTFVF
CityaXBwZXJfZGlzcGF0Y2g0KHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBJRCBtaWQsIFZBTFVF
IGEsIFZBTFVFIGIsIFZBTFVFIGMsIFZBTFVFIGQpCit7CisgICAgdmFsaWRhdGUoYSk7CisgICAg
dmFsaWRhdGUoYik7CisgICAgdmFsaWRhdGUoYyk7CisgICAgdmFsaWRhdGUoZCk7CisgICAgcmV0
dXJuIHJiX2Z1bmNhbGwocC0+dmFsdWUsIG1pZCwgNCwgYSwgYiwgYywgZCk7Cit9CisKK3N0YXRp
YyBWQUxVRQorcmlwcGVyX2Rpc3BhdGNoNShzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgSUQgbWlk
LCBWQUxVRSBhLCBWQUxVRSBiLCBWQUxVRSBjLCBWQUxVRSBkLCBWQUxVRSBlKQoreworICAgIHZh
bGlkYXRlKGEpOworICAgIHZhbGlkYXRlKGIpOworICAgIHZhbGlkYXRlKGMpOworICAgIHZhbGlk
YXRlKGQpOworICAgIHZhbGlkYXRlKGUpOworICAgIHJldHVybiByYl9mdW5jYWxsKHAtPnZhbHVl
LCBtaWQsIDUsIGEsIGIsIGMsIGQsIGUpOworfQorCitzdGF0aWMgVkFMVUUKK3JpcHBlcl9kaXNw
YXRjaDcoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIElEIG1pZCwgVkFMVUUgYSwgVkFMVUUgYiwg
VkFMVUUgYywgVkFMVUUgZCwgVkFMVUUgZSwgVkFMVUUgZiwgVkFMVUUgZykKK3sKKyAgICB2YWxp
ZGF0ZShhKTsKKyAgICB2YWxpZGF0ZShiKTsKKyAgICB2YWxpZGF0ZShjKTsKKyAgICB2YWxpZGF0
ZShkKTsKKyAgICB2YWxpZGF0ZShlKTsKKyAgICB2YWxpZGF0ZShmKTsKKyAgICB2YWxpZGF0ZShn
KTsKKyAgICByZXR1cm4gcmJfZnVuY2FsbChwLT52YWx1ZSwgbWlkLCA3LCBhLCBiLCBjLCBkLCBl
LCBmLCBnKTsKK30KKworc3RhdGljIElECityaXBwZXJfZ2V0X2lkKFZBTFVFIHYpCit7CisgICAg
Tk9ERSAqbmQ7CisgICAgaWYgKCFSQl9UWVBFX1AodiwgVF9OT0RFKSkgcmV0dXJuIDA7CisgICAg
bmQgPSAoTk9ERSAqKXY7CisgICAgaWYgKG5kX3R5cGUobmQpICE9IE5PREVfUklQUEVSKSByZXR1
cm4gMDsKKyAgICByZXR1cm4gbmQtPm5kX3ZpZDsKK30KKworc3RhdGljIFZBTFVFCityaXBwZXJf
Z2V0X3ZhbHVlKFZBTFVFIHYpCit7CisgICAgTk9ERSAqbmQ7CisgICAgaWYgKHYgPT0gUXVuZGVm
KSByZXR1cm4gUW5pbDsKKyAgICBpZiAoIVJCX1RZUEVfUCh2LCBUX05PREUpKSByZXR1cm4gdjsK
KyAgICBuZCA9IChOT0RFICopdjsKKyAgICBpZiAobmRfdHlwZShuZCkgIT0gTk9ERV9SSVBQRVIp
IHJldHVybiBRbmlsOworICAgIHJldHVybiBuZC0+bmRfcnZhbDsKK30KKworc3RhdGljIHZvaWQK
K3JpcHBlcl9lcnJvcihzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCkKK3sKKyAgICBwLT5lcnJvcl9w
ID0gVFJVRTsKK30KKworc3RhdGljIHZvaWQKK3JpcHBlcl9jb21waWxlX2Vycm9yKHN0cnVjdCBw
YXJzZXJfcGFyYW1zICpwLCBjb25zdCBjaGFyICpmbXQsIC4uLikKK3sKKyAgICBWQUxVRSBzdHI7
CisgICAgdmFfbGlzdCBhcmdzOworCisgICAgdmFfc3RhcnQoYXJncywgZm10KTsKKyAgICBzdHIg
PSByYl92c3ByaW50ZihmbXQsIGFyZ3MpOworICAgIHZhX2VuZChhcmdzKTsKKyAgICByYl9mdW5j
YWxsKHAtPnZhbHVlLCByYl9pbnRlcm4oImNvbXBpbGVfZXJyb3IiKSwgMSwgc3RyKTsKKyAgICBy
aXBwZXJfZXJyb3IocCk7Cit9CisKK3N0YXRpYyBWQUxVRQorcmlwcGVyX2xleF9nZXRfZ2VuZXJp
YyhzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgVkFMVUUgc3JjKQoreworICAgIFZBTFVFIGxpbmUg
PSByYl9mdW5jYWxsdl9wdWJsaWMoc3JjLCBpZF9nZXRzLCAwLCAwKTsKKyAgICBpZiAoIU5JTF9Q
KGxpbmUpICYmICFSQl9UWVBFX1AobGluZSwgVF9TVFJJTkcpKSB7CisJcmJfcmFpc2UocmJfZVR5
cGVFcnJvciwKKwkJICJnZXRzIHJldHVybmVkICUiUFJJc1ZBTFVFIiAoZXhwZWN0ZWQgU3RyaW5n
IG9yIG5pbCkiLAorCQkgcmJfb2JqX2NsYXNzKGxpbmUpKTsKKyAgICB9CisgICAgcmV0dXJuIGxp
bmU7Cit9CisKK3N0YXRpYyBWQUxVRQorcmlwcGVyX2xleF9pb19nZXQoc3RydWN0IHBhcnNlcl9w
YXJhbXMgKnAsIFZBTFVFIHNyYykKK3sKKyAgICByZXR1cm4gcmJfaW9fZ2V0cyhzcmMpOworfQor
CitzdGF0aWMgVkFMVUUKK3JpcHBlcl9zX2FsbG9jYXRlKFZBTFVFIGtsYXNzKQoreworICAgIHN0
cnVjdCBwYXJzZXJfcGFyYW1zICpwOworICAgIFZBTFVFIHNlbGYgPSBUeXBlZERhdGFfTWFrZV9T
dHJ1Y3Qoa2xhc3MsIHN0cnVjdCBwYXJzZXJfcGFyYW1zLAorCQkJCSAgICAgICAmcGFyc2VyX2Rh
dGFfdHlwZSwgcCk7CisgICAgcC0+dmFsdWUgPSBzZWxmOworICAgIHJldHVybiBzZWxmOworfQor
CisjZGVmaW5lIHJpcHBlcl9pbml0aWFsaXplZF9wKHIpICgociktPmxleC5pbnB1dCAhPSAwKQor
CisvKgorICogIGNhbGwtc2VxOgorICogICAgUmlwcGVyLm5ldyhzcmMsIGZpbGVuYW1lPSIocmlw
cGVyKSIsIGxpbmVubz0xKSAtPiByaXBwZXIKKyAqCisgKiAgQ3JlYXRlIGEgbmV3IFJpcHBlciBv
YmplY3QuCisgKiAgX3NyY18gbXVzdCBiZSBhIFN0cmluZywgYW4gSU8sIG9yIGFuIE9iamVjdCB3
aGljaCBoYXMgI2dldHMgbWV0aG9kLgorICoKKyAqICBUaGlzIG1ldGhvZCBkb2VzIG5vdCBzdGFy
dHMgcGFyc2luZy4KKyAqICBTZWUgYWxzbyBSaXBwZXIjcGFyc2UgYW5kIFJpcHBlci5wYXJzZS4K
KyAqLworc3RhdGljIFZBTFVFCityaXBwZXJfaW5pdGlhbGl6ZShpbnQgYXJnYywgVkFMVUUgKmFy
Z3YsIFZBTFVFIHNlbGYpCit7CisgICAgc3RydWN0IHBhcnNlcl9wYXJhbXMgKnA7CisgICAgVkFM
VUUgc3JjLCBmbmFtZSwgbGluZW5vOworCisgICAgVHlwZWREYXRhX0dldF9TdHJ1Y3Qoc2VsZiwg
c3RydWN0IHBhcnNlcl9wYXJhbXMsICZwYXJzZXJfZGF0YV90eXBlLCBwKTsKKyAgICByYl9zY2Fu
X2FyZ3MoYXJnYywgYXJndiwgIjEyIiwgJnNyYywgJmZuYW1lLCAmbGluZW5vKTsKKyAgICBpZiAo
UkJfVFlQRV9QKHNyYywgVF9GSUxFKSkgeworICAgICAgICBwLT5sZXguZ2V0cyA9IHJpcHBlcl9s
ZXhfaW9fZ2V0OworICAgIH0KKyAgICBlbHNlIGlmIChyYl9yZXNwb25kX3RvKHNyYywgaWRfZ2V0
cykpIHsKKyAgICAgICAgcC0+bGV4LmdldHMgPSByaXBwZXJfbGV4X2dldF9nZW5lcmljOworICAg
IH0KKyAgICBlbHNlIHsKKyAgICAgICAgU3RyaW5nVmFsdWUoc3JjKTsKKyAgICAgICAgcC0+bGV4
LmdldHMgPSBsZXhfZ2V0X3N0cjsKKyAgICB9CisgICAgcC0+bGV4LmlucHV0ID0gc3JjOworICAg
IHAtPmVvZnAgPSAwOworICAgIGlmIChOSUxfUChmbmFtZSkpIHsKKyAgICAgICAgZm5hbWUgPSBT
VFJfTkVXMigiKHJpcHBlcikiKTsKKwlPQkpfRlJFRVpFKGZuYW1lKTsKKyAgICB9CisgICAgZWxz
ZSB7CisJU3RyaW5nVmFsdWVDU3RyKGZuYW1lKTsKKwlmbmFtZSA9IHJiX3N0cl9uZXdfZnJvemVu
KGZuYW1lKTsKKyAgICB9CisgICAgcGFyc2VyX2luaXRpYWxpemUocCk7CisKKyAgICBwLT5ydWJ5
X3NvdXJjZWZpbGVfc3RyaW5nID0gZm5hbWU7CisgICAgcC0+cnVieV9zb3VyY2VmaWxlID0gUlNU
UklOR19QVFIoZm5hbWUpOworICAgIHAtPnJ1Ynlfc291cmNlbGluZSA9IE5JTF9QKGxpbmVubykg
PyAwIDogTlVNMklOVChsaW5lbm8pIC0gMTsKKworICAgIHJldHVybiBRbmlsOworfQorCitzdGF0
aWMgVkFMVUUKK3JpcHBlcl9wYXJzZTAoVkFMVUUgcGFyc2VyX3YpCit7CisgICAgc3RydWN0IHBh
cnNlcl9wYXJhbXMgKnA7CisKKyAgICBUeXBlZERhdGFfR2V0X1N0cnVjdChwYXJzZXJfdiwgc3Ry
dWN0IHBhcnNlcl9wYXJhbXMsICZwYXJzZXJfZGF0YV90eXBlLCBwKTsKKyAgICBwYXJzZXJfcHJl
cGFyZShwKTsKKyAgICBwLT5hc3QgPSByYl9hc3RfbmV3KCk7CisgICAgcmlwcGVyX3l5cGFyc2Uo
KHZvaWQqKXApOworICAgIHJiX2FzdF9kaXNwb3NlKHAtPmFzdCk7CisgICAgcC0+YXN0ID0gMDsK
KyAgICByZXR1cm4gcC0+cmVzdWx0OworfQorCitzdGF0aWMgVkFMVUUKK3JpcHBlcl9lbnN1cmUo
VkFMVUUgcGFyc2VyX3YpCit7CisgICAgc3RydWN0IHBhcnNlcl9wYXJhbXMgKnA7CisKKyAgICBU
eXBlZERhdGFfR2V0X1N0cnVjdChwYXJzZXJfdiwgc3RydWN0IHBhcnNlcl9wYXJhbXMsICZwYXJz
ZXJfZGF0YV90eXBlLCBwKTsKKyAgICBwLT5wYXJzaW5nX3RocmVhZCA9IFFuaWw7CisgICAgcmV0
dXJuIFFuaWw7Cit9CisKKy8qCisgKiAgY2FsbC1zZXE6CisgKiAgICByaXBwZXIucGFyc2UKKyAq
CisgKiAgU3RhcnQgcGFyc2luZyBhbmQgcmV0dXJucyB0aGUgdmFsdWUgb2YgdGhlIHJvb3QgYWN0
aW9uLgorICovCitzdGF0aWMgVkFMVUUKK3JpcHBlcl9wYXJzZShWQUxVRSBzZWxmKQoreworICAg
IHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwOworCisgICAgVHlwZWREYXRhX0dldF9TdHJ1Y3Qoc2Vs
Ziwgc3RydWN0IHBhcnNlcl9wYXJhbXMsICZwYXJzZXJfZGF0YV90eXBlLCBwKTsKKyAgICBpZiAo
IXJpcHBlcl9pbml0aWFsaXplZF9wKHApKSB7CisgICAgICAgIHJiX3JhaXNlKHJiX2VBcmdFcnJv
ciwgIm1ldGhvZCBjYWxsZWQgZm9yIHVuaW5pdGlhbGl6ZWQgb2JqZWN0Iik7CisgICAgfQorICAg
IGlmICghTklMX1AocC0+cGFyc2luZ190aHJlYWQpKSB7CisgICAgICAgIGlmIChwLT5wYXJzaW5n
X3RocmVhZCA9PSByYl90aHJlYWRfY3VycmVudCgpKQorICAgICAgICAgICAgcmJfcmFpc2UocmJf
ZUFyZ0Vycm9yLCAiUmlwcGVyI3BhcnNlIGlzIG5vdCByZWVudHJhbnQiKTsKKyAgICAgICAgZWxz
ZQorICAgICAgICAgICAgcmJfcmFpc2UocmJfZUFyZ0Vycm9yLCAiUmlwcGVyI3BhcnNlIGlzIG5v
dCBtdWx0aXRocmVhZC1zYWZlIik7CisgICAgfQorICAgIHAtPnBhcnNpbmdfdGhyZWFkID0gcmJf
dGhyZWFkX2N1cnJlbnQoKTsKKyAgICByYl9lbnN1cmUocmlwcGVyX3BhcnNlMCwgc2VsZiwgcmlw
cGVyX2Vuc3VyZSwgc2VsZik7CisKKyAgICByZXR1cm4gcC0+cmVzdWx0OworfQorCisvKgorICog
IGNhbGwtc2VxOgorICogICAgcmlwcGVyLmNvbHVtbiAgIC0+IEludGVnZXIKKyAqCisgKiAgUmV0
dXJuIGNvbHVtbiBudW1iZXIgb2YgY3VycmVudCBwYXJzaW5nIGxpbmUuCisgKiAgVGhpcyBudW1i
ZXIgc3RhcnRzIGZyb20gMC4KKyAqLworc3RhdGljIFZBTFVFCityaXBwZXJfY29sdW1uKFZBTFVF
IHNlbGYpCit7CisgICAgc3RydWN0IHBhcnNlcl9wYXJhbXMgKnA7CisgICAgbG9uZyBjb2w7CisK
KyAgICBUeXBlZERhdGFfR2V0X1N0cnVjdChzZWxmLCBzdHJ1Y3QgcGFyc2VyX3BhcmFtcywgJnBh
cnNlcl9kYXRhX3R5cGUsIHApOworICAgIGlmICghcmlwcGVyX2luaXRpYWxpemVkX3AocCkpIHsK
KyAgICAgICAgcmJfcmFpc2UocmJfZUFyZ0Vycm9yLCAibWV0aG9kIGNhbGxlZCBmb3IgdW5pbml0
aWFsaXplZCBvYmplY3QiKTsKKyAgICB9CisgICAgaWYgKE5JTF9QKHAtPnBhcnNpbmdfdGhyZWFk
KSkgcmV0dXJuIFFuaWw7CisgICAgY29sID0gcC0+bGV4LnB0b2sgLSBwLT5sZXgucGJlZzsKKyAg
ICByZXR1cm4gTE9ORzJOVU0oY29sKTsKK30KKworLyoKKyAqICBjYWxsLXNlcToKKyAqICAgIHJp
cHBlci5maWxlbmFtZSAgIC0+IFN0cmluZworICoKKyAqICBSZXR1cm4gY3VycmVudCBwYXJzaW5n
IGZpbGVuYW1lLgorICovCitzdGF0aWMgVkFMVUUKK3JpcHBlcl9maWxlbmFtZShWQUxVRSBzZWxm
KQoreworICAgIHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwOworCisgICAgVHlwZWREYXRhX0dldF9T
dHJ1Y3Qoc2VsZiwgc3RydWN0IHBhcnNlcl9wYXJhbXMsICZwYXJzZXJfZGF0YV90eXBlLCBwKTsK
KyAgICBpZiAoIXJpcHBlcl9pbml0aWFsaXplZF9wKHApKSB7CisgICAgICAgIHJiX3JhaXNlKHJi
X2VBcmdFcnJvciwgIm1ldGhvZCBjYWxsZWQgZm9yIHVuaW5pdGlhbGl6ZWQgb2JqZWN0Iik7Cisg
ICAgfQorICAgIHJldHVybiBwLT5ydWJ5X3NvdXJjZWZpbGVfc3RyaW5nOworfQorCisvKgorICog
IGNhbGwtc2VxOgorICogICAgcmlwcGVyLmxpbmVubyAgIC0+IEludGVnZXIKKyAqCisgKiAgUmV0
dXJuIGxpbmUgbnVtYmVyIG9mIGN1cnJlbnQgcGFyc2luZyBsaW5lLgorICogIFRoaXMgbnVtYmVy
IHN0YXJ0cyBmcm9tIDEuCisgKi8KK3N0YXRpYyBWQUxVRQorcmlwcGVyX2xpbmVubyhWQUxVRSBz
ZWxmKQoreworICAgIHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwOworCisgICAgVHlwZWREYXRhX0dl
dF9TdHJ1Y3Qoc2VsZiwgc3RydWN0IHBhcnNlcl9wYXJhbXMsICZwYXJzZXJfZGF0YV90eXBlLCBw
KTsKKyAgICBpZiAoIXJpcHBlcl9pbml0aWFsaXplZF9wKHApKSB7CisgICAgICAgIHJiX3JhaXNl
KHJiX2VBcmdFcnJvciwgIm1ldGhvZCBjYWxsZWQgZm9yIHVuaW5pdGlhbGl6ZWQgb2JqZWN0Iik7
CisgICAgfQorICAgIGlmIChOSUxfUChwLT5wYXJzaW5nX3RocmVhZCkpIHJldHVybiBRbmlsOwor
ICAgIHJldHVybiBJTlQyTlVNKHAtPnJ1Ynlfc291cmNlbGluZSk7Cit9CisKKy8qCisgKiAgY2Fs
bC1zZXE6CisgKiAgICByaXBwZXIuc3RhdGUgICAtPiBJbnRlZ2VyCisgKgorICogIFJldHVybiBz
Y2FubmVyIHN0YXRlIG9mIGN1cnJlbnQgdG9rZW4uCisgKi8KK3N0YXRpYyBWQUxVRQorcmlwcGVy
X3N0YXRlKFZBTFVFIHNlbGYpCit7CisgICAgc3RydWN0IHBhcnNlcl9wYXJhbXMgKnA7CisKKyAg
ICBUeXBlZERhdGFfR2V0X1N0cnVjdChzZWxmLCBzdHJ1Y3QgcGFyc2VyX3BhcmFtcywgJnBhcnNl
cl9kYXRhX3R5cGUsIHApOworICAgIGlmICghcmlwcGVyX2luaXRpYWxpemVkX3AocCkpIHsKKwly
Yl9yYWlzZShyYl9lQXJnRXJyb3IsICJtZXRob2QgY2FsbGVkIGZvciB1bmluaXRpYWxpemVkIG9i
amVjdCIpOworICAgIH0KKyAgICBpZiAoTklMX1AocC0+cGFyc2luZ190aHJlYWQpKSByZXR1cm4g
UW5pbDsKKyAgICByZXR1cm4gSU5UMk5VTShwLT5sZXguc3RhdGUpOworfQorCisjaWZkZWYgUklQ
UEVSX0RFQlVHCisvKiA6bm9kb2M6ICovCitzdGF0aWMgVkFMVUUKK3JpcHBlcl9hc3NlcnRfUXVu
ZGVmKFZBTFVFIHNlbGYsIFZBTFVFIG9iaiwgVkFMVUUgbXNnKQoreworICAgIFN0cmluZ1ZhbHVl
KG1zZyk7CisgICAgaWYgKG9iaiA9PSBRdW5kZWYpIHsKKyAgICAgICAgcmJfcmFpc2UocmJfZUFy
Z0Vycm9yLCAiJSJQUklzVkFMVUUsIG1zZyk7CisgICAgfQorICAgIHJldHVybiBRbmlsOworfQor
CisvKiA6bm9kb2M6ICovCitzdGF0aWMgVkFMVUUKK3JpcHBlcl92YWx1ZShWQUxVRSBzZWxmLCBW
QUxVRSBvYmopCit7CisgICAgcmV0dXJuIFVMT05HMk5VTShvYmopOworfQorI2VuZGlmCisKKy8q
CisgKiAgY2FsbC1zZXE6CisgKiAgICBSaXBwZXIubGV4X3N0YXRlX25hbWUoaW50ZWdlcikgICAt
PiBzdHJpbmcKKyAqCisgKiAgUmV0dXJucyBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBsZXhf
c3RhdGUuCisgKi8KK3N0YXRpYyBWQUxVRQorcmlwcGVyX2xleF9zdGF0ZV9uYW1lKFZBTFVFIHNl
bGYsIFZBTFVFIHN0YXRlKQoreworICAgIHJldHVybiByYl9wYXJzZXJfbGV4X3N0YXRlX25hbWUo
TlVNMklOVChzdGF0ZSkpOworfQorCit2b2lkCitJbml0X3JpcHBlcih2b2lkKQoreworICAgIHJp
cHBlcl9pbml0X2V2ZW50aWRzMSgpOworICAgIHJpcHBlcl9pbml0X2V2ZW50aWRzMigpOworICAg
IGlkX3dhcm4gPSByYl9pbnRlcm5fY29uc3QoIndhcm4iKTsKKyAgICBpZF93YXJuaW5nID0gcmJf
aW50ZXJuX2NvbnN0KCJ3YXJuaW5nIik7CisgICAgaWRfZ2V0cyA9IHJiX2ludGVybl9jb25zdCgi
Z2V0cyIpOworCisgICAgSW5pdFZNKHJpcHBlcik7Cit9CisKK3ZvaWQKK0luaXRWTV9yaXBwZXIo
dm9pZCkKK3sKKyAgICBWQUxVRSBSaXBwZXI7CisKKyAgICBSaXBwZXIgPSByYl9kZWZpbmVfY2xh
c3MoIlJpcHBlciIsIHJiX2NPYmplY3QpOworICAgIC8qIHZlcnNpb24gb2YgUmlwcGVyICovCisg
ICAgcmJfZGVmaW5lX2NvbnN0KFJpcHBlciwgIlZlcnNpb24iLCByYl91c2FzY2lpX3N0cl9uZXcy
KFJJUFBFUl9WRVJTSU9OKSk7CisgICAgcmJfZGVmaW5lX2FsbG9jX2Z1bmMoUmlwcGVyLCByaXBw
ZXJfc19hbGxvY2F0ZSk7CisgICAgcmJfZGVmaW5lX21ldGhvZChSaXBwZXIsICJpbml0aWFsaXpl
IiwgcmlwcGVyX2luaXRpYWxpemUsIC0xKTsKKyAgICByYl9kZWZpbmVfbWV0aG9kKFJpcHBlciwg
InBhcnNlIiwgcmlwcGVyX3BhcnNlLCAwKTsKKyAgICByYl9kZWZpbmVfbWV0aG9kKFJpcHBlciwg
ImNvbHVtbiIsIHJpcHBlcl9jb2x1bW4sIDApOworICAgIHJiX2RlZmluZV9tZXRob2QoUmlwcGVy
LCAiZmlsZW5hbWUiLCByaXBwZXJfZmlsZW5hbWUsIDApOworICAgIHJiX2RlZmluZV9tZXRob2Qo
UmlwcGVyLCAibGluZW5vIiwgcmlwcGVyX2xpbmVubywgMCk7CisgICAgcmJfZGVmaW5lX21ldGhv
ZChSaXBwZXIsICJzdGF0ZSIsIHJpcHBlcl9zdGF0ZSwgMCk7CisgICAgcmJfZGVmaW5lX21ldGhv
ZChSaXBwZXIsICJlbmRfc2Vlbj8iLCByYl9wYXJzZXJfZW5kX3NlZW5fcCwgMCk7CisgICAgcmJf
ZGVmaW5lX21ldGhvZChSaXBwZXIsICJlbmNvZGluZyIsIHJiX3BhcnNlcl9lbmNvZGluZywgMCk7
CisgICAgcmJfZGVmaW5lX21ldGhvZChSaXBwZXIsICJ5eWRlYnVnIiwgcmJfcGFyc2VyX2dldF95
eWRlYnVnLCAwKTsKKyAgICByYl9kZWZpbmVfbWV0aG9kKFJpcHBlciwgInl5ZGVidWc9IiwgcmJf
cGFyc2VyX3NldF95eWRlYnVnLCAxKTsKKyAgICByYl9kZWZpbmVfbWV0aG9kKFJpcHBlciwgImVy
cm9yPyIsIHJpcHBlcl9lcnJvcl9wLCAwKTsKKyNpZmRlZiBSSVBQRVJfREVCVUcKKyAgICByYl9k
ZWZpbmVfbWV0aG9kKHJiX21LZXJuZWwsICJhc3NlcnRfUXVuZGVmIiwgcmlwcGVyX2Fzc2VydF9R
dW5kZWYsIDIpOworICAgIHJiX2RlZmluZV9tZXRob2QocmJfbUtlcm5lbCwgInJhd1ZBTFVFIiwg
cmlwcGVyX3ZhbHVlLCAxKTsKKyAgICByYl9kZWZpbmVfbWV0aG9kKHJiX21LZXJuZWwsICJ2YWxp
ZGF0ZV9vYmplY3QiLCByaXBwZXJfdmFsaWRhdGVfb2JqZWN0LCAxKTsKKyNlbmRpZgorCisgICAg
cmJfZGVmaW5lX3NpbmdsZXRvbl9tZXRob2QoUmlwcGVyLCAiZGVkZW50X3N0cmluZyIsIHBhcnNl
cl9kZWRlbnRfc3RyaW5nLCAyKTsKKyAgICByYl9kZWZpbmVfcHJpdmF0ZV9tZXRob2QoUmlwcGVy
LCAiZGVkZW50X3N0cmluZyIsIHBhcnNlcl9kZWRlbnRfc3RyaW5nLCAyKTsKKworICAgIHJiX2Rl
ZmluZV9zaW5nbGV0b25fbWV0aG9kKFJpcHBlciwgImxleF9zdGF0ZV9uYW1lIiwgcmlwcGVyX2xl
eF9zdGF0ZV9uYW1lLCAxKTsKKworPCUgQGV4cHJzLmVhY2ggZG8gfGV4cHIsIGRlc2N8IC0lPgor
ICAgIC8qIDwlPWRlc2MlPiAqLworICAgIHJiX2RlZmluZV9jb25zdChSaXBwZXIsICI8JT1leHBy
JT4iLCBJTlQyTlVNKDwlPWV4cHIlPikpOworPCUgZW5kICU+CisgICAgcmlwcGVyX2luaXRfZXZl
bnRpZHMxX3RhYmxlKFJpcHBlcik7CisgICAgcmlwcGVyX2luaXRfZXZlbnRpZHMyX3RhYmxlKFJp
cHBlcik7CisKKyMgaWYgMAorICAgIC8qIEhhY2sgdG8gbGV0IFJEb2MgZG9jdW1lbnQgU0NSSVBU
X0xJTkVTX18gKi8KKworICAgIC8qCisgICAgICogV2hlbiBhIEhhc2ggaXMgYXNzaWduZWQgdG8g
K1NDUklQVF9MSU5FU19fKyB0aGUgY29udGVudHMgb2YgZmlsZXMgbG9hZGVkCisgICAgICogYWZ0
ZXIgdGhlIGFzc2lnbm1lbnQgd2lsbCBiZSBhZGRlZCBhcyBhbiBBcnJheSBvZiBsaW5lcyB3aXRo
IHRoZSBmaWxlCisgICAgICogbmFtZSBhcyB0aGUga2V5LgorICAgICAqLworICAgIHJiX2RlZmlu
ZV9nbG9iYWxfY29uc3QoIlNDUklQVF9MSU5FU19fIiwgUW5pbCk7CisjZW5kaWYKKworfQorI2Vu
ZGlmIC8qIFJJUFBFUiAqLwpkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL3BhcnNlLmggYi9nZW5lcmF0
ZWQvcGFyc2UuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YWUzNzg4Ci0t
LSAvZGV2L251bGwKKysrIGIvZ2VuZXJhdGVkL3BhcnNlLmgKQEAgLTAsMCArMSwyMTEgQEAKKy8q
IEEgQmlzb24gcGFyc2VyLCBtYWRlIGJ5IEdOVSBCaXNvbiAzLjMuMi4gICovCisKKy8qIEJpc29u
IGludGVyZmFjZSBmb3IgWWFjYy1saWtlIHBhcnNlcnMgaW4gQworCisgICBDb3B5cmlnaHQgKEMp
IDE5ODQsIDE5ODktMTk5MCwgMjAwMC0yMDE1LCAyMDE4LTIwMTkgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uLAorICAgSW5jLgorCisgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91
IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICAgaXQgdW5kZXIgdGhlIHRlcm1z
IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAgIHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vu
c2UsIG9yCisgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCisgICBUaGlz
IHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1
bCwKKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk
IHdhcnJhbnR5IG9mCisgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UuICBTZWUgdGhlCisgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig
bW9yZSBkZXRhaWxzLgorCisgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo
ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0u
ICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLworCisvKiBB
cyBhIHNwZWNpYWwgZXhjZXB0aW9uLCB5b3UgbWF5IGNyZWF0ZSBhIGxhcmdlciB3b3JrIHRoYXQg
Y29udGFpbnMKKyAgIHBhcnQgb3IgYWxsIG9mIHRoZSBCaXNvbiBwYXJzZXIgc2tlbGV0b24gYW5k
IGRpc3RyaWJ1dGUgdGhhdCB3b3JrCisgICB1bmRlciB0ZXJtcyBvZiB5b3VyIGNob2ljZSwgc28g
bG9uZyBhcyB0aGF0IHdvcmsgaXNuJ3QgaXRzZWxmIGEKKyAgIHBhcnNlciBnZW5lcmF0b3IgdXNp
bmcgdGhlIHNrZWxldG9uIG9yIGEgbW9kaWZpZWQgdmVyc2lvbiB0aGVyZW9mCisgICBhcyBhIHBh
cnNlciBza2VsZXRvbi4gIEFsdGVybmF0aXZlbHksIGlmIHlvdSBtb2RpZnkgb3IgcmVkaXN0cmli
dXRlCisgICB0aGUgcGFyc2VyIHNrZWxldG9uIGl0c2VsZiwgeW91IG1heSAoYXQgeW91ciBvcHRp
b24pIHJlbW92ZSB0aGlzCisgICBzcGVjaWFsIGV4Y2VwdGlvbiwgd2hpY2ggd2lsbCBjYXVzZSB0
aGUgc2tlbGV0b24gYW5kIHRoZSByZXN1bHRpbmcKKyAgIEJpc29uIG91dHB1dCBmaWxlcyB0byBi
ZSBsaWNlbnNlZCB1bmRlciB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgICBMaWNlbnNlIHdpdGhv
dXQgdGhpcyBzcGVjaWFsIGV4Y2VwdGlvbi4KKworICAgVGhpcyBzcGVjaWFsIGV4Y2VwdGlvbiB3
YXMgYWRkZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiBpbgorICAgdmVyc2lvbiAy
LjIgb2YgQmlzb24uICAqLworCisvKiBVbmRvY3VtZW50ZWQgbWFjcm9zLCBlc3BlY2lhbGx5IHRo
b3NlIHdob3NlIG5hbWUgc3RhcnQgd2l0aCBZWV8sCisgICBhcmUgcHJpdmF0ZSBpbXBsZW1lbnRh
dGlvbiBkZXRhaWxzLiAgRG8gbm90IHJlbHkgb24gdGhlbS4gICovCisKKyNpZm5kZWYgWVlfWVlf
WV9UQUJfSF9JTkNMVURFRAorIyBkZWZpbmUgWVlfWVlfWV9UQUJfSF9JTkNMVURFRAorLyogRGVi
dWcgdHJhY2VzLiAgKi8KKyNpZm5kZWYgWVlERUJVRworIyBkZWZpbmUgWVlERUJVRyAwCisjZW5k
aWYKKyNpZiBZWURFQlVHCitleHRlcm4gaW50IHl5ZGVidWc7CisjZW5kaWYKKworLyogVG9rZW4g
dHlwZS4gICovCisjaWZuZGVmIFlZVE9LRU5UWVBFCisjIGRlZmluZSBZWVRPS0VOVFlQRQorICBl
bnVtIHl5dG9rZW50eXBlCisgIHsKKyAgICBFTkRfT0ZfSU5QVVQgPSAwLAorICAgIGtleXdvcmRf
Y2xhc3MgPSAyNTgsCisgICAga2V5d29yZF9tb2R1bGUgPSAyNTksCisgICAga2V5d29yZF9kZWYg
PSAyNjAsCisgICAga2V5d29yZF91bmRlZiA9IDI2MSwKKyAgICBrZXl3b3JkX2JlZ2luID0gMjYy
LAorICAgIGtleXdvcmRfcmVzY3VlID0gMjYzLAorICAgIGtleXdvcmRfZW5zdXJlID0gMjY0LAor
ICAgIGtleXdvcmRfZW5kID0gMjY1LAorICAgIGtleXdvcmRfaWYgPSAyNjYsCisgICAga2V5d29y
ZF91bmxlc3MgPSAyNjcsCisgICAga2V5d29yZF90aGVuID0gMjY4LAorICAgIGtleXdvcmRfZWxz
aWYgPSAyNjksCisgICAga2V5d29yZF9lbHNlID0gMjcwLAorICAgIGtleXdvcmRfY2FzZSA9IDI3
MSwKKyAgICBrZXl3b3JkX3doZW4gPSAyNzIsCisgICAga2V5d29yZF93aGlsZSA9IDI3MywKKyAg
ICBrZXl3b3JkX3VudGlsID0gMjc0LAorICAgIGtleXdvcmRfZm9yID0gMjc1LAorICAgIGtleXdv
cmRfYnJlYWsgPSAyNzYsCisgICAga2V5d29yZF9uZXh0ID0gMjc3LAorICAgIGtleXdvcmRfcmVk
byA9IDI3OCwKKyAgICBrZXl3b3JkX3JldHJ5ID0gMjc5LAorICAgIGtleXdvcmRfaW4gPSAyODAs
CisgICAga2V5d29yZF9kbyA9IDI4MSwKKyAgICBrZXl3b3JkX2RvX2NvbmQgPSAyODIsCisgICAg
a2V5d29yZF9kb19ibG9jayA9IDI4MywKKyAgICBrZXl3b3JkX2RvX0xBTUJEQSA9IDI4NCwKKyAg
ICBrZXl3b3JkX3JldHVybiA9IDI4NSwKKyAgICBrZXl3b3JkX3lpZWxkID0gMjg2LAorICAgIGtl
eXdvcmRfc3VwZXIgPSAyODcsCisgICAga2V5d29yZF9zZWxmID0gMjg4LAorICAgIGtleXdvcmRf
bmlsID0gMjg5LAorICAgIGtleXdvcmRfdHJ1ZSA9IDI5MCwKKyAgICBrZXl3b3JkX2ZhbHNlID0g
MjkxLAorICAgIGtleXdvcmRfYW5kID0gMjkyLAorICAgIGtleXdvcmRfb3IgPSAyOTMsCisgICAg
a2V5d29yZF9ub3QgPSAyOTQsCisgICAgbW9kaWZpZXJfaWYgPSAyOTUsCisgICAgbW9kaWZpZXJf
dW5sZXNzID0gMjk2LAorICAgIG1vZGlmaWVyX3doaWxlID0gMjk3LAorICAgIG1vZGlmaWVyX3Vu
dGlsID0gMjk4LAorICAgIG1vZGlmaWVyX3Jlc2N1ZSA9IDI5OSwKKyAgICBrZXl3b3JkX2FsaWFz
ID0gMzAwLAorICAgIGtleXdvcmRfZGVmaW5lZCA9IDMwMSwKKyAgICBrZXl3b3JkX0JFR0lOID0g
MzAyLAorICAgIGtleXdvcmRfRU5EID0gMzAzLAorICAgIGtleXdvcmRfX0xJTkVfXyA9IDMwNCwK
KyAgICBrZXl3b3JkX19GSUxFX18gPSAzMDUsCisgICAga2V5d29yZF9fRU5DT0RJTkdfXyA9IDMw
NiwKKyAgICB0SURFTlRJRklFUiA9IDMwNywKKyAgICB0RklEID0gMzA4LAorICAgIHRHVkFSID0g
MzA5LAorICAgIHRJVkFSID0gMzEwLAorICAgIHRDT05TVEFOVCA9IDMxMSwKKyAgICB0Q1ZBUiA9
IDMxMiwKKyAgICB0TEFCRUwgPSAzMTMsCisgICAgdElOVEVHRVIgPSAzMTQsCisgICAgdEZMT0FU
ID0gMzE1LAorICAgIHRSQVRJT05BTCA9IDMxNiwKKyAgICB0SU1BR0lOQVJZID0gMzE3LAorICAg
IHRTVFJJTkdfQ09OVEVOVCA9IDMxOCwKKyAgICB0Q0hBUiA9IDMxOSwKKyAgICB0TlRIX1JFRiA9
IDMyMCwKKyAgICB0QkFDS19SRUYgPSAzMjEsCisgICAgdFJFR0VYUF9FTkQgPSAzMjIsCisgICAg
dFNQID0gMzIzLAorICAgIHRVUExVUyA9IDEzMCwKKyAgICB0VU1JTlVTID0gMTMxLAorICAgIHRQ
T1cgPSAxMzIsCisgICAgdENNUCA9IDEzMywKKyAgICB0RVEgPSAxMzgsCisgICAgdEVRUSA9IDEz
OSwKKyAgICB0TkVRID0gMTQwLAorICAgIHRHRVEgPSAxMzcsCisgICAgdExFUSA9IDEzNiwKKyAg
ICB0QU5ET1AgPSAxNDYsCisgICAgdE9ST1AgPSAxNDcsCisgICAgdE1BVENIID0gMTQxLAorICAg
IHROTUFUQ0ggPSAxNDIsCisgICAgdERPVDIgPSAxMjgsCisgICAgdERPVDMgPSAxMjksCisgICAg
dEFSRUYgPSAxNDMsCisgICAgdEFTRVQgPSAxNDQsCisgICAgdExTSEZUID0gMTM0LAorICAgIHRS
U0hGVCA9IDEzNSwKKyAgICB0QU5ERE9UID0gMTQ4LAorICAgIHRDT0xPTjIgPSAxNDUsCisgICAg
dENPTE9OMyA9IDMyNCwKKyAgICB0T1BfQVNHTiA9IDMyNSwKKyAgICB0QVNTT0MgPSAzMjYsCisg
ICAgdExQQVJFTiA9IDMyNywKKyAgICB0TFBBUkVOX0FSRyA9IDMyOCwKKyAgICB0UlBBUkVOID0g
MzI5LAorICAgIHRMQlJBQ0sgPSAzMzAsCisgICAgdExCUkFDRSA9IDMzMSwKKyAgICB0TEJSQUNF
X0FSRyA9IDMzMiwKKyAgICB0U1RBUiA9IDMzMywKKyAgICB0RFNUQVIgPSAzMzQsCisgICAgdEFN
UEVSID0gMzM1LAorICAgIHRMQU1CREEgPSAzMzYsCisgICAgdFNZTUJFRyA9IDMzNywKKyAgICB0
U1RSSU5HX0JFRyA9IDMzOCwKKyAgICB0WFNUUklOR19CRUcgPSAzMzksCisgICAgdFJFR0VYUF9C
RUcgPSAzNDAsCisgICAgdFdPUkRTX0JFRyA9IDM0MSwKKyAgICB0UVdPUkRTX0JFRyA9IDM0MiwK
KyAgICB0U1lNQk9MU19CRUcgPSAzNDMsCisgICAgdFFTWU1CT0xTX0JFRyA9IDM0NCwKKyAgICB0
U1RSSU5HX0RCRUcgPSAzNDUsCisgICAgdFNUUklOR19ERU5EID0gMzQ2LAorICAgIHRTVFJJTkdf
RFZBUiA9IDM0NywKKyAgICB0U1RSSU5HX0VORCA9IDM0OCwKKyAgICB0TEFNQkVHID0gMzQ5LAor
ICAgIHRMQUJFTF9FTkQgPSAzNTAsCisgICAgdExPV0VTVCA9IDM1MSwKKyAgICB0VU1JTlVTX05V
TSA9IDM1MiwKKyAgICB0TEFTVF9UT0tFTiA9IDM1MworICB9OworI2VuZGlmCisKKy8qIFZhbHVl
IHR5cGUuICAqLworI2lmICEgZGVmaW5lZCBZWVNUWVBFICYmICEgZGVmaW5lZCBZWVNUWVBFX0lT
X0RFQ0xBUkVECisKK3VuaW9uIFlZU1RZUEUKK3sKKworICAgIFZBTFVFIHZhbDsKKyAgICBOT0RF
ICpub2RlOworICAgIElEIGlkOworICAgIGludCBudW07CisgICAgY29uc3Qgc3RydWN0IHZ0YWJs
ZSAqdmFyczsKKyAgICBzdHJ1Y3QgcmJfc3RydGVybV9zdHJ1Y3QgKnN0cnRlcm07CisKK307CisK
K3R5cGVkZWYgdW5pb24gWVlTVFlQRSBZWVNUWVBFOworIyBkZWZpbmUgWVlTVFlQRV9JU19UUklW
SUFMIDEKKyMgZGVmaW5lIFlZU1RZUEVfSVNfREVDTEFSRUQgMQorI2VuZGlmCisKKy8qIExvY2F0
aW9uIHR5cGUuICAqLworI2lmICEgZGVmaW5lZCBZWUxUWVBFICYmICEgZGVmaW5lZCBZWUxUWVBF
X0lTX0RFQ0xBUkVECit0eXBlZGVmIHN0cnVjdCBZWUxUWVBFIFlZTFRZUEU7CitzdHJ1Y3QgWVlM
VFlQRQoreworICBpbnQgZmlyc3RfbGluZTsKKyAgaW50IGZpcnN0X2NvbHVtbjsKKyAgaW50IGxh
c3RfbGluZTsKKyAgaW50IGxhc3RfY29sdW1uOworfTsKKyMgZGVmaW5lIFlZTFRZUEVfSVNfREVD
TEFSRUQgMQorIyBkZWZpbmUgWVlMVFlQRV9JU19UUklWSUFMIDEKKyNlbmRpZgorCisKKworaW50
IHl5cGFyc2UgKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwKTsKKworI2VuZGlmIC8qICFZWV9ZWV9Z
X1RBQl9IX0lOQ0xVREVEICAqLwpkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL3ByZWx1ZGUuYyBiL2dl
bmVyYXRlZC9wcmVsdWRlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmE0
MjZlMwotLS0gL2Rldi9udWxsCisrKyBiL2dlbmVyYXRlZC9wcmVsdWRlLmMKQEAgLTAsMCArMSwy
NDYgQEAKKy8qIC0qLWMtKi0KKyBUSElTIEZJTEUgV0FTIEFVVE9HRU5FUkFURUQgQlkgdGVtcGxh
dGUvcHJlbHVkZS5jLnRtcGwuIERPIE5PVCBFRElULgorCisgc291cmNlczogLi9wcmVsdWRlLCAu
L2dlbV9wcmVsdWRlCisqLworI2luY2x1ZGUgInJ1YnkvcnVieS5oIgorI2luY2x1ZGUgImludGVy
bmFsLmgiCisjaW5jbHVkZSAidm1fY29yZS5oIgorI2luY2x1ZGUgImlzZXEuaCIKKworCitzdGF0
aWMgY29uc3QgY2hhciBwcmVsdWRlX25hbWUwW10gPSAiPGludGVybmFsOnByZWx1ZGU+IjsKK3N0
YXRpYyBjb25zdCBzdHJ1Y3QgeworICAgIGNoYXIgTDBbNDkxXTsgLyogMS4uMTMwICovCisgICAg
Y2hhciBMMTMwWzM1MV07IC8qIDEzMS4uMTYzICovCit9IHByZWx1ZGVfY29kZTAgPSB7CisjbGlu
ZSAxICJwcmVsdWRlLnJiIgorImNsYXNzIDw8IFRocmVhZFxuIgorIlxuIi8qIGNhbGwtc2VxOiAq
LworIlxuIi8qICAgIFRocmVhZC5leGNsdXNpdmUgeyBibG9jayB9ICAgPT4gb2JqICovCisiXG4i
LyogICovCisiXG4iLyogV3JhcHMgdGhlIGJsb2NrIGluIGEgc2luZ2xlLCBWTS1nbG9iYWwgTXV0
ZXguc3luY2hyb25pemUsIHJldHVybmluZyB0aGUgKi8KKyJcbiIvKiB2YWx1ZSBvZiB0aGUgYmxv
Y2suIEEgdGhyZWFkIGV4ZWN1dGluZyBpbnNpZGUgdGhlIGV4Y2x1c2l2ZSBzZWN0aW9uIHdpbGwg
Ki8KKyJcbiIvKiBvbmx5IGJsb2NrIG90aGVyIHRocmVhZHMgd2hpY2ggYWxzbyB1c2UgdGhlIFRo
cmVhZC5leGNsdXNpdmUgbWVjaGFuaXNtLiAqLworIiAgZGVmIGV4Y2x1c2l2ZSgmYmxvY2spIGVu
ZCBpZiBmYWxzZVxuIgorIiAgbXV0ZXggPSBNdXRleC5uZXdcbiIvKiA6bm9kb2M6ICovCisiICBk
ZWZpbmVfbWV0aG9kKDpleGNsdXNpdmUpIGRvIHwmYmxvY2t8XG4iCisiICAgIHdhcm4gXCJUaHJl
YWQuZXhjbHVzaXZlIGlzIGRlcHJlY2F0ZWQsIHVzZSBUaHJlYWQ6Ok11dGV4XCIsIGNhbGxlclxu
IgorIiAgICBtdXRleC5zeW5jaHJvbml6ZSgmYmxvY2spXG4iCisiICBlbmRcbiIKKyJlbmRcbiIK
KyJcbiIKKyJjbGFzcyBJT1xuIgorIlxuIgorIlxuIi8qIGNhbGwtc2VxOiAqLworIlxuIi8qICAg
IGlvcy5yZWFkX25vbmJsb2NrKG1heGxlbiBbLCBvcHRpb25zXSkgICAgICAgICAgICAgIC0+IHN0
cmluZyAqLworIlxuIi8qICAgIGlvcy5yZWFkX25vbmJsb2NrKG1heGxlbiwgb3V0YnVmIFssIG9w
dGlvbnNdKSAgICAgIC0+IG91dGJ1ZiAqLworIlxuIi8qICAqLworIlxuIi8qIFJlYWRzIGF0IG1v
c3QgPGk+bWF4bGVuPC9pPiBieXRlcyBmcm9tIDxlbT5pb3M8L2VtPiB1c2luZyAqLworIlxuIi8q
IHRoZSByZWFkKDIpIHN5c3RlbSBjYWxsIGFmdGVyIE9fTk9OQkxPQ0sgaXMgc2V0IGZvciAqLwor
IlxuIi8qIHRoZSB1bmRlcmx5aW5nIGZpbGUgZGVzY3JpcHRvci4gKi8KKyJcbiIvKiAgKi8KKyJc
biIvKiBJZiB0aGUgb3B0aW9uYWwgPGk+b3V0YnVmPC9pPiBhcmd1bWVudCBpcyBwcmVzZW50LCAq
LworIlxuIi8qIGl0IG11c3QgcmVmZXJlbmNlIGEgU3RyaW5nLCB3aGljaCB3aWxsIHJlY2VpdmUg
dGhlIGRhdGEuICovCisiXG4iLyogVGhlIDxpPm91dGJ1ZjwvaT4gd2lsbCBjb250YWluIG9ubHkg
dGhlIHJlY2VpdmVkIGRhdGEgYWZ0ZXIgdGhlIG1ldGhvZCBjYWxsICovCisiXG4iLyogZXZlbiBp
ZiBpdCBpcyBub3QgZW1wdHkgYXQgdGhlIGJlZ2lubmluZy4gKi8KKyJcbiIvKiAgKi8KKyJcbiIv
KiByZWFkX25vbmJsb2NrIGp1c3QgY2FsbHMgdGhlIHJlYWQoMikgc3lzdGVtIGNhbGwuICovCisi
XG4iLyogSXQgY2F1c2VzIGFsbCBlcnJvcnMgdGhlIHJlYWQoMikgc3lzdGVtIGNhbGwgY2F1c2Vz
OiBFcnJubzo6RVdPVUxEQkxPQ0ssIEVycm5vOjpFSU5UUiwgZXRjLiAqLworIlxuIi8qIFRoZSBj
YWxsZXIgc2hvdWxkIGNhcmUgc3VjaCBlcnJvcnMuICovCisiXG4iLyogICovCisiXG4iLyogSWYg
dGhlIGV4Y2VwdGlvbiBpcyBFcnJubzo6RVdPVUxEQkxPQ0sgb3IgRXJybm86OkVBR0FJTiwgKi8K
KyJcbiIvKiBpdCBpcyBleHRlbmRlZCBieSBJTzo6V2FpdFJlYWRhYmxlLiAqLworIlxuIi8qIFNv
IElPOjpXYWl0UmVhZGFibGUgY2FuIGJlIHVzZWQgdG8gcmVzY3VlIHRoZSBleGNlcHRpb25zIGZv
ciByZXRyeWluZyAqLworIlxuIi8qIHJlYWRfbm9uYmxvY2suICovCisiXG4iLyogICovCisiXG4i
LyogcmVhZF9ub25ibG9jayBjYXVzZXMgRU9GRXJyb3Igb24gRU9GLiAqLworIlxuIi8qICAqLwor
IlxuIi8qIElmIHRoZSByZWFkIGJ5dGUgYnVmZmVyIGlzIG5vdCBlbXB0eSwgKi8KKyJcbiIvKiBy
ZWFkX25vbmJsb2NrIHJlYWRzIGZyb20gdGhlIGJ1ZmZlciBsaWtlIHJlYWRwYXJ0aWFsLiAqLwor
IlxuIi8qIEluIHRoaXMgY2FzZSwgdGhlIHJlYWQoMikgc3lzdGVtIGNhbGwgaXMgbm90IGNhbGxl
ZC4gKi8KKyJcbiIvKiAgKi8KKyJcbiIvKiBXaGVuIHJlYWRfbm9uYmxvY2sgcmFpc2VzIGFuIGV4
Y2VwdGlvbiBraW5kIG9mIElPOjpXYWl0UmVhZGFibGUsICovCisiXG4iLyogcmVhZF9ub25ibG9j
ayBzaG91bGQgbm90IGJlIGNhbGxlZCAqLworIlxuIi8qIHVudGlsIGlvIGlzIHJlYWRhYmxlIGZv
ciBhdm9pZGluZyBidXN5IGxvb3AuICovCisiXG4iLyogVGhpcyBjYW4gYmUgZG9uZSBhcyBmb2xs
b3dzLiAqLworIlxuIi8qICAqLworIlxuIi8qICAgIyBlbXVsYXRlcyBibG9ja2luZyByZWFkIChy
ZWFkcGFydGlhbCkuICovCisiXG4iLyogICBiZWdpbiAqLworIlxuIi8qICAgICByZXN1bHQgPSBp
by5yZWFkX25vbmJsb2NrKG1heGxlbikgKi8KKyJcbiIvKiAgIHJlc2N1ZSBJTzo6V2FpdFJlYWRh
YmxlICovCisiXG4iLyogICAgIElPLnNlbGVjdChbaW9dKSAqLworIlxuIi8qICAgICByZXRyeSAq
LworIlxuIi8qICAgZW5kICovCisiXG4iLyogICovCisiXG4iLyogQWx0aG91Z2ggSU8jcmVhZF9u
b25ibG9jayBkb2Vzbid0IHJhaXNlIElPOjpXYWl0V3JpdGFibGUuICovCisiXG4iLyogT3BlblNT
TDo6QnVmZmVyaW5nI3JlYWRfbm9uYmxvY2sgY2FuIHJhaXNlIElPOjpXYWl0V3JpdGFibGUuICov
CisiXG4iLyogSWYgSU8gYW5kIFNTTCBzaG91bGQgYmUgdXNlZCBwb2x5bW9ycGhpY2FsbHksICov
CisiXG4iLyogSU86OldhaXRXcml0YWJsZSBzaG91bGQgYmUgcmVzY3VlZCB0b28uICovCisiXG4i
LyogU2VlIHRoZSBkb2N1bWVudCBvZiBPcGVuU1NMOjpCdWZmZXJpbmcjcmVhZF9ub25ibG9jayBm
b3Igc2FtcGxlIGNvZGUuICovCisiXG4iLyogICovCisiXG4iLyogTm90ZSB0aGF0IHRoaXMgbWV0
aG9kIGlzIGlkZW50aWNhbCB0byByZWFkcGFydGlhbCAqLworIlxuIi8qIGV4Y2VwdCB0aGUgbm9u
LWJsb2NraW5nIGZsYWcgaXMgc2V0LiAqLworIlxuIi8qICAqLworIlxuIi8qIEJ5IHNwZWNpZnlp
bmcgYSBrZXl3b3JkIGFyZ3VtZW50IF9leGNlcHRpb25fIHRvICtmYWxzZSssIHlvdSBjYW4gaW5k
aWNhdGUgKi8KKyJcbiIvKiB0aGF0IHJlYWRfbm9uYmxvY2sgc2hvdWxkIG5vdCByYWlzZSBhbiBJ
Tzo6V2FpdFJlYWRhYmxlIGV4Y2VwdGlvbiwgYnV0ICovCisiXG4iLyogcmV0dXJuIHRoZSBzeW1i
b2wgKzp3YWl0X3JlYWRhYmxlKyBpbnN0ZWFkLiBBdCBFT0YsIGl0IHdpbGwgcmV0dXJuIG5pbCAq
LworIlxuIi8qIGluc3RlYWQgb2YgcmFpc2luZyBFT0ZFcnJvci4gKi8KKyIgIGRlZiByZWFkX25v
bmJsb2NrKGxlbiwgYnVmID0gbmlsLCBleGNlcHRpb246IHRydWUpXG4iCisiICAgIF9fcmVhZF9u
b25ibG9jayhsZW4sIGJ1ZiwgZXhjZXB0aW9uKVxuIgorIiAgZW5kXG4iCisiXG4iCisiXG4iLyog
Y2FsbC1zZXE6ICovCisiXG4iLyogICAgaW9zLndyaXRlX25vbmJsb2NrKHN0cmluZykgICAtPiBp
bnRlZ2VyICovCisiXG4iLyogICAgaW9zLndyaXRlX25vbmJsb2NrKHN0cmluZyBbLCBvcHRpb25z
XSkgICAtPiBpbnRlZ2VyICovCisiXG4iLyogICovCisiXG4iLyogV3JpdGVzIHRoZSBnaXZlbiBz
dHJpbmcgdG8gPGVtPmlvczwvZW0+IHVzaW5nICovCisiXG4iLyogdGhlIHdyaXRlKDIpIHN5c3Rl
bSBjYWxsIGFmdGVyIE9fTk9OQkxPQ0sgaXMgc2V0IGZvciAqLworIlxuIi8qIHRoZSB1bmRlcmx5
aW5nIGZpbGUgZGVzY3JpcHRvci4gKi8KKyJcbiIvKiAgKi8KKyJcbiIvKiBJdCByZXR1cm5zIHRo
ZSBudW1iZXIgb2YgYnl0ZXMgd3JpdHRlbi4gKi8KKyJcbiIvKiAgKi8KKyJcbiIvKiB3cml0ZV9u
b25ibG9jayBqdXN0IGNhbGxzIHRoZSB3cml0ZSgyKSBzeXN0ZW0gY2FsbC4gKi8KKyJcbiIvKiBJ
dCBjYXVzZXMgYWxsIGVycm9ycyB0aGUgd3JpdGUoMikgc3lzdGVtIGNhbGwgY2F1c2VzOiBFcnJu
bzo6RVdPVUxEQkxPQ0ssIEVycm5vOjpFSU5UUiwgZXRjLiAqLworIlxuIi8qIFRoZSByZXN1bHQg
bWF5IGFsc28gYmUgc21hbGxlciB0aGFuIHN0cmluZy5sZW5ndGggKHBhcnRpYWwgd3JpdGUpLiAq
LworIlxuIi8qIFRoZSBjYWxsZXIgc2hvdWxkIGNhcmUgc3VjaCBlcnJvcnMgYW5kIHBhcnRpYWwg
d3JpdGUuICovCisiXG4iLyogICovCisiXG4iLyogSWYgdGhlIGV4Y2VwdGlvbiBpcyBFcnJubzo6
RVdPVUxEQkxPQ0sgb3IgRXJybm86OkVBR0FJTiwgKi8KKyJcbiIvKiBpdCBpcyBleHRlbmRlZCBi
eSBJTzo6V2FpdFdyaXRhYmxlLiAqLworIlxuIi8qIFNvIElPOjpXYWl0V3JpdGFibGUgY2FuIGJl
IHVzZWQgdG8gcmVzY3VlIHRoZSBleGNlcHRpb25zIGZvciByZXRyeWluZyB3cml0ZV9ub25ibG9j
ay4gKi8KKyJcbiIvKiAgKi8KKyJcbiIvKiAgICMgQ3JlYXRlcyBhIHBpcGUuICovCisiXG4iLyog
ICByLCB3ID0gSU8ucGlwZSAqLworIlxuIi8qICAqLworIlxuIi8qICAgIyB3cml0ZV9ub25ibG9j
ayB3cml0ZXMgb25seSA2NTUzNiBieXRlcyBhbmQgcmV0dXJuIDY1NTM2LiAqLworIlxuIi8qICAg
IyAoVGhlIHBpcGUgc2l6ZSBpcyA2NTUzNiBieXRlcyBvbiB0aGlzIGVudmlyb25tZW50LikgKi8K
KyJcbiIvKiAgIHMgPSBcImFcIiAqIDEwMDAwMCAqLworIlxuIi8qICAgcCB3LndyaXRlX25vbmJs
b2NrKHMpICAgICAjPT4gNjU1MzYgKi8KKyJcbiIvKiAgKi8KKyJcbiIvKiAgICMgd3JpdGVfbm9u
YmxvY2sgY2Fubm90IHdyaXRlIGEgYnl0ZSBhbmQgcmFpc2UgRVdPVUxEQkxPQ0sgKEVBR0FJTiku
ICovCisiXG4iLyogICBwIHcud3JpdGVfbm9uYmxvY2soXCJiXCIpICAgIyBSZXNvdXJjZSB0ZW1w
b3JhcmlseSB1bmF2YWlsYWJsZSAoRXJybm86OkVBR0FJTikgKi8KKyJcbiIvKiAgKi8KKyJcbiIv
KiBJZiB0aGUgd3JpdGUgYnVmZmVyIGlzIG5vdCBlbXB0eSwgaXQgaXMgZmx1c2hlZCBhdCBmaXJz
dC4gKi8KKyJcbiIvKiAgKi8KKyJcbiIvKiBXaGVuIHdyaXRlX25vbmJsb2NrIHJhaXNlcyBhbiBl
eGNlcHRpb24ga2luZCBvZiBJTzo6V2FpdFdyaXRhYmxlLCAqLworIlxuIi8qIHdyaXRlX25vbmJs
b2NrIHNob3VsZCBub3QgYmUgY2FsbGVkICovCisiXG4iLyogdW50aWwgaW8gaXMgd3JpdGFibGUg
Zm9yIGF2b2lkaW5nIGJ1c3kgbG9vcC4gKi8KKyJcbiIvKiBUaGlzIGNhbiBiZSBkb25lIGFzIGZv
bGxvd3MuICovCisiXG4iLyogICovCisiXG4iLyogICBiZWdpbiAqLworIlxuIi8qICAgICByZXN1
bHQgPSBpby53cml0ZV9ub25ibG9jayhzdHJpbmcpICovCisiXG4iLyogICByZXNjdWUgSU86Oldh
aXRXcml0YWJsZSwgRXJybm86OkVJTlRSICovCisiXG4iLyogICAgIElPLnNlbGVjdChuaWwsIFtp
b10pICovCisiXG4iLyogICAgIHJldHJ5ICovCisiXG4iLyogICBlbmQgKi8KKyJcbiIvKiAgKi8K
KyJcbiIvKiBOb3RlIHRoYXQgdGhpcyBkb2Vzbid0IGd1YXJhbnRlZSB0byB3cml0ZSBhbGwgZGF0
YSBpbiBzdHJpbmcuICovCisiXG4iLyogVGhlIGxlbmd0aCB3cml0dGVuIGlzIHJlcG9ydGVkIGFz
IHJlc3VsdCBhbmQgaXQgc2hvdWxkIGJlIGNoZWNrZWQgbGF0ZXIuICovCisiXG4iLyogICovCisi
XG4iLyogT24gc29tZSBwbGF0Zm9ybXMgc3VjaCBhcyBXaW5kb3dzLCB3cml0ZV9ub25ibG9jayBp
cyBub3Qgc3VwcG9ydGVkICovCisiXG4iLyogYWNjb3JkaW5nIHRvIHRoZSBraW5kIG9mIHRoZSBJ
TyBvYmplY3QuICovCisiXG4iLyogSW4gc3VjaCBjYXNlcywgd3JpdGVfbm9uYmxvY2sgcmFpc2Vz
IDxjb2RlPkVycm5vOjpFQkFERjwvY29kZT4uICovCisiXG4iLyogICovCisiXG4iLyogQnkgc3Bl
Y2lmeWluZyBhIGtleXdvcmQgYXJndW1lbnQgX2V4Y2VwdGlvbl8gdG8gK2ZhbHNlKywgeW91IGNh
biBpbmRpY2F0ZSAqLworIlxuIi8qIHRoYXQgd3JpdGVfbm9uYmxvY2sgc2hvdWxkIG5vdCByYWlz
ZSBhbiBJTzo6V2FpdFdyaXRhYmxlIGV4Y2VwdGlvbiwgYnV0ICovCisiXG4iLyogcmV0dXJuIHRo
ZSBzeW1ib2wgKzp3YWl0X3dyaXRhYmxlKyBpbnN0ZWFkLiAqLworIiAgZGVmIHdyaXRlX25vbmJs
b2NrKGJ1ZiwgZXhjZXB0aW9uOiB0cnVlKVxuIgorLAorI2xpbmUgMTMxICJwcmVsdWRlLnJiIgor
IiAgICBfX3dyaXRlX25vbmJsb2NrKGJ1ZiwgZXhjZXB0aW9uKVxuIgorIiAgZW5kXG4iCisiZW5k
XG4iCisiXG4iCisiY2xhc3MgVHJhY2VQb2ludFxuIgorIiAgZGVmIGVuYWJsZSB0YXJnZXQ6IG5p
bCwgdGFyZ2V0X2xpbmU6IG5pbCwgJmJsa1xuIgorIiAgICBzZWxmLl9fZW5hYmxlIHRhcmdldCwg
dGFyZ2V0X2xpbmUsICZibGtcbiIKKyIgIGVuZFxuIgorImVuZFxuIgorIlxuIgorImNsYXNzIEJp
bmRpbmdcbiIKKyJcbiIvKiA6bm9kb2M6ICovCisiICBkZWYgaXJiXG4iCisiICAgIHJlcXVpcmUg
J2lyYidcbiIKKyIgICAgaXJiXG4iCisiICBlbmRcbiIKKyJcbiIKKyJcbiIvKiBzdXBwcmVzcyBy
ZWRlZmluaXRpb24gd2FybmluZyAqLworIiAgYWxpYXMgaXJiIGlyYlxuIi8qIDpub2RvYzogKi8K
KyJlbmRcbiIKKyJcbiIKKyJtb2R1bGUgS2VybmVsXG4iCisiICBkZWYgcHAoKm9ianMpXG4iCisi
ICAgIHJlcXVpcmUgJ3BwJ1xuIgorIiAgICBwcCgqb2JqcylcbiIKKyIgIGVuZFxuIgorIlxuIgor
IlxuIi8qIHN1cHByZXNzIHJlZGVmaW5pdGlvbiB3YXJuaW5nICovCisiICBhbGlhcyBwcCBwcFxu
Ii8qIDpub2RvYzogKi8KKyJcbiIKKyIgIHByaXZhdGUgOnBwXG4iCisiZW5kXG4iCisjbGluZSAx
ODMgInByZWx1ZGUuYyIKK307CisKK3N0YXRpYyBjb25zdCBjaGFyIHByZWx1ZGVfbmFtZTFbXSA9
ICI8aW50ZXJuYWw6Z2VtX3ByZWx1ZGU+IjsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeworICAgIGNo
YXIgTDBbMTY4XTsgLyogMS4uOSAqLworfSBwcmVsdWRlX2NvZGUxID0geworI2xpbmUgMSAiZ2Vt
X3ByZWx1ZGUucmIiCisiaWYgZGVmaW5lZD8oR2VtKVxuIgorIiAgcmVxdWlyZSAncnVieWdlbXMu
cmInXG4iCisiICBiZWdpblxuIgorIiAgICBnZW0gJ2RpZF95b3VfbWVhbidcbiIKKyIgICAgcmVx
dWlyZSAnZGlkX3lvdV9tZWFuJ1xuIgorIiAgcmVzY3VlIEdlbTo6TG9hZEVycm9yLCBMb2FkRXJy
b3JcbiIKKyIgIGVuZCBpZiBkZWZpbmVkPyhEaWRZb3VNZWFuKVxuIgorImVuZFxuIgorI2xpbmUg
MTk5ICJwcmVsdWRlLmMiCit9OworCisKKyNkZWZpbmUgUFJFTFVERV9OQU1FKG4pIHJiX3VzYXNj
aWlfc3RyX25ld19zdGF0aWMocHJlbHVkZV9uYW1lIyNuLCBzaXplb2YocHJlbHVkZV9uYW1lIyNu
KS0xKQorI2RlZmluZSBQUkVMVURFX0NPREUobikgcmJfdXNhc2NpaV9zdHJfbmV3X3N0YXRpYyhw
cmVsdWRlX2NvZGUjI24uTDAsIHNpemVvZihwcmVsdWRlX2NvZGUjI24pKQorQ09NUElMRVJfV0FS
TklOR19QVVNICisjaWYgR0NDX1ZFUlNJT05fU0lOQ0UoNCwgMiwgMCkKK0NPTVBJTEVSX1dBUk5J
TkdfRVJST1IoLVdtaXNzaW5nLWZpZWxkLWluaXRpYWxpemVycykKKyNlbmRpZgorc3RhdGljIHZv
aWQKK3ByZWx1ZGVfZXZhbChWQUxVRSBjb2RlLCBWQUxVRSBuYW1lLCBpbnQgbGluZSkKK3sKKyAg
ICBzdGF0aWMgY29uc3QgcmJfY29tcGlsZV9vcHRpb25fdCBvcHRpbWl6YXRpb24gPSB7CisJVFJV
RSwgLyogaW50IGlubGluZV9jb25zdF9jYWNoZTsgKi8KKwlUUlVFLCAvKiBpbnQgcGVlcGhvbGVf
b3B0aW1pemF0aW9uOyAqLworCUZBTFNFLC8qIGludCB0YWlsY2FsbF9vcHRpbWl6YXRpb247ICov
CisJVFJVRSwgLyogaW50IHNwZWNpYWxpemVkX2luc3RydWN0aW9uOyAqLworCVRSVUUsIC8qIGlu
dCBvcGVyYW5kc191bmlmaWNhdGlvbjsgKi8KKwlUUlVFLCAvKiBpbnQgaW5zdHJ1Y3Rpb25zX3Vu
aWZpY2F0aW9uOyAqLworCVRSVUUsIC8qIGludCBzdGFja19jYWNoaW5nOyAqLworCVRSVUUsIC8q
IGludCBmcm96ZW5fc3RyaW5nX2xpdGVyYWw7ICovCisJRkFMU0UsIC8qIGludCBkZWJ1Z19mcm96
ZW5fc3RyaW5nX2xpdGVyYWw7ICovCisJRkFMU0UsIC8qIHVuc2lnbmVkIGludCBjb3ZlcmFnZV9l
bmFibGVkOyAqLworCTAsIC8qIGludCBkZWJ1Z19sZXZlbDsgKi8KKyAgICB9OworCisgICAgcmJf
YXN0X3QgKmFzdCA9IHJiX3BhcnNlcl9jb21waWxlX3N0cmluZ19wYXRoKHJiX3BhcnNlcl9uZXco
KSwgbmFtZSwgY29kZSwgbGluZSk7CisgICAgaWYgKCFhc3QtPmJvZHkucm9vdCkgeworCXJiX2Fz
dF9kaXNwb3NlKGFzdCk7CisJcmJfZXhjX3JhaXNlKHJiX2VycmluZm8oKSk7CisgICAgfQorICAg
IHJiX2lzZXFfZXZhbChyYl9pc2VxX25ld193aXRoX29wdCgmYXN0LT5ib2R5LCBuYW1lLCBuYW1l
LCBRbmlsLCBJTlQyRklYKGxpbmUpLAorCQkJCSAgICAgIE5VTEwsIElTRVFfVFlQRV9UT1AsICZv
cHRpbWl6YXRpb24pKTsKKyAgICByYl9hc3RfZGlzcG9zZShhc3QpOworfQorQ09NUElMRVJfV0FS
TklOR19QT1AKKwordm9pZAorSW5pdF9wcmVsdWRlKHZvaWQpCit7CisgICAgcHJlbHVkZV9ldmFs
KFBSRUxVREVfQ09ERSgwKSwgUFJFTFVERV9OQU1FKDApLCAxKTsKKyAgICBwcmVsdWRlX2V2YWwo
UFJFTFVERV9DT0RFKDEpLCBQUkVMVURFX05BTUUoMSksIDEpOworCisjaWYgMAorICAgIHByaW50
ZigiJS4qcyIsIChpbnQpc2l6ZW9mKHByZWx1ZGVfY29kZTApLCBwcmVsdWRlX2NvZGUwLkwwKTsK
KyAgICBwcmludGYoIiUuKnMiLCAoaW50KXNpemVvZihwcmVsdWRlX2NvZGUxKSwgcHJlbHVkZV9j
b2RlMS5MMCk7CisjZW5kaWYKK30KZGlmZiAtLWdpdCBhL2dlbmVyYXRlZC9wcm9iZXMuZG15aCBi
L2dlbmVyYXRlZC9wcm9iZXMuZG15aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li5mZmZhOTAxCi0tLSAvZGV2L251bGwKKysrIGIvZ2VuZXJhdGVkL3Byb2Jlcy5kbXloCkBAIC0w
LDAgKzEsODAgQEAKKy8qIC0qLSBjIC0qLSAqLworCisjaWZuZGVmCV9QUk9CRVNfSAorI2RlZmlu
ZQlfUFJPQkVTX0gKKyNkZWZpbmUgRFRSQUNFX1BST0JFU19ESVNBQkxFRCAxCisKKyNkZWZpbmUg
UlVCWV9EVFJBQ0VfTUVUSE9EX0VOVFJZX0VOQUJMRUQoKSAwCisjZGVmaW5lIFJVQllfRFRSQUNF
X01FVEhPRF9FTlRSWShjbGFzc25hbWUsIG1ldGhvZG5hbWUsIGZpbGVuYW1lLCBsaW5lbm8pIGRv
IHt9IHdoaWxlICgwKQorI2RlZmluZSBSVUJZX0RUUkFDRV9NRVRIT0RfUkVUVVJOX0VOQUJMRUQo
KSAwCisjZGVmaW5lIFJVQllfRFRSQUNFX01FVEhPRF9SRVRVUk4oY2xhc3NuYW1lLCBtZXRob2Ru
YW1lLCBmaWxlbmFtZSwgbGluZW5vKSBkbyB7fSB3aGlsZSAoMCkKKworI2RlZmluZSBSVUJZX0RU
UkFDRV9DTUVUSE9EX0VOVFJZX0VOQUJMRUQoKSAwCisjZGVmaW5lIFJVQllfRFRSQUNFX0NNRVRI
T0RfRU5UUlkoY2xhc3NuYW1lLCBtZXRob2RuYW1lLCBmaWxlbmFtZSwgbGluZW5vKSBkbyB7fSB3
aGlsZSAoMCkKKyNkZWZpbmUgUlVCWV9EVFJBQ0VfQ01FVEhPRF9SRVRVUk5fRU5BQkxFRCgpIDAK
KyNkZWZpbmUgUlVCWV9EVFJBQ0VfQ01FVEhPRF9SRVRVUk4oY2xhc3NuYW1lLCBtZXRob2RuYW1l
LCBmaWxlbmFtZSwgbGluZW5vKSBkbyB7fSB3aGlsZSAoMCkKKworI2RlZmluZSBSVUJZX0RUUkFD
RV9SRVFVSVJFX0VOVFJZX0VOQUJMRUQoKSAwCisjZGVmaW5lIFJVQllfRFRSQUNFX1JFUVVJUkVf
RU5UUlkocnF1aXJlZGZpbGUsIGZpbGVuYW1lLCBsaW5lbm8pIGRvIHt9IHdoaWxlICgwKQorCisj
ZGVmaW5lIFJVQllfRFRSQUNFX1JFUVVJUkVfUkVUVVJOX0VOQUJMRUQoKSAwCisjZGVmaW5lIFJV
QllfRFRSQUNFX1JFUVVJUkVfUkVUVVJOKHJlcXVpcmVkZmlsZSwgZmlsZW5hbWUsIGxpbmVubykg
ZG8ge30gd2hpbGUgKDApCisKKyNkZWZpbmUgUlVCWV9EVFJBQ0VfRklORF9SRVFVSVJFX0VOVFJZ
X0VOQUJMRUQoKSAwCisjZGVmaW5lIFJVQllfRFRSQUNFX0ZJTkRfUkVRVUlSRV9FTlRSWShyZXF1
aXJlZGZpbGUsIGZpbGVuYW1lLCBsaW5lbm8pIGRvIHt9IHdoaWxlICgwKQorCisjZGVmaW5lIFJV
QllfRFRSQUNFX0ZJTkRfUkVRVUlSRV9SRVRVUk5fRU5BQkxFRCgpIDAKKyNkZWZpbmUgUlVCWV9E
VFJBQ0VfRklORF9SRVFVSVJFX1JFVFVSTihyZXF1aXJlZGZpbGUsIGZpbGVuYW1lLCBsaW5lbm8p
IGRvIHt9IHdoaWxlICgwKQorCisjZGVmaW5lIFJVQllfRFRSQUNFX0xPQURfRU5UUllfRU5BQkxF
RCgpIDAKKyNkZWZpbmUgUlVCWV9EVFJBQ0VfTE9BRF9FTlRSWShsb2FkZWRmaWxlLCBmaWxlbmFt
ZSwgbGluZW5vKSBkbyB7fSB3aGlsZSAoMCkKKworI2RlZmluZSBSVUJZX0RUUkFDRV9MT0FEX1JF
VFVSTl9FTkFCTEVEKCkgMAorI2RlZmluZSBSVUJZX0RUUkFDRV9MT0FEX1JFVFVSTihsb2FkZWRm
aWxlLCBmaWxlbmFtZSwgbGluZW5vKSBkbyB7fSB3aGlsZSAoMCkKKworI2RlZmluZSBSVUJZX0RU
UkFDRV9SQUlTRV9FTkFCTEVEKCkgMAorI2RlZmluZSBSVUJZX0RUUkFDRV9SQUlTRShjbGFzc25h
bWUsIGZpbGVuYW1lLCBsaW5lbm8pIGRvIHt9IHdoaWxlICgwKQorCisjZGVmaW5lIFJVQllfRFRS
QUNFX09CSkVDVF9DUkVBVEVfRU5BQkxFRCgpIDAKKyNkZWZpbmUgUlVCWV9EVFJBQ0VfT0JKRUNU
X0NSRUFURShjbGFzc25hbWUsIGZpbGVuYW1lLCBsaW5lbm8pIGRvIHt9IHdoaWxlICgwKQorCisj
ZGVmaW5lIFJVQllfRFRSQUNFX0FSUkFZX0NSRUFURV9FTkFCTEVEKCkgMAorI2RlZmluZSBSVUJZ
X0RUUkFDRV9BUlJBWV9DUkVBVEUobGVuZ3RoLCBmaWxlbmFtZSwgbGluZW5vKSBkbyB7fSB3aGls
ZSAoMCkKKworI2RlZmluZSBSVUJZX0RUUkFDRV9IQVNIX0NSRUFURV9FTkFCTEVEKCkgMAorI2Rl
ZmluZSBSVUJZX0RUUkFDRV9IQVNIX0NSRUFURShsZW5ndGgsIGZpbGVuYW1lLCBsaW5lbm8pIGRv
IHt9IHdoaWxlICgwKQorCisjZGVmaW5lIFJVQllfRFRSQUNFX1NUUklOR19DUkVBVEVfRU5BQkxF
RCgpIDAKKyNkZWZpbmUgUlVCWV9EVFJBQ0VfU1RSSU5HX0NSRUFURShsZW5ndGgsIGZpbGVuYW1l
LCBsaW5lbm8pIGRvIHt9IHdoaWxlICgwKQorCisjZGVmaW5lIFJVQllfRFRSQUNFX1NZTUJPTF9D
UkVBVEVfRU5BQkxFRCgpIDAKKyNkZWZpbmUgUlVCWV9EVFJBQ0VfU1lNQk9MX0NSRUFURShzdHIs
IGZpbGVuYW1lLCBsaW5lbm8pIGRvIHt9IHdoaWxlICgwKQorCisjZGVmaW5lIFJVQllfRFRSQUNF
X1BBUlNFX0JFR0lOX0VOQUJMRUQoKSAwCisjZGVmaW5lIFJVQllfRFRSQUNFX1BBUlNFX0JFR0lO
KHNvdXJjZWZpbGUsIGxpbmVubykgZG8ge30gd2hpbGUgKDApCisKKyNkZWZpbmUgUlVCWV9EVFJB
Q0VfUEFSU0VfRU5EX0VOQUJMRUQoKSAwCisjZGVmaW5lIFJVQllfRFRSQUNFX1BBUlNFX0VORChz
b3VyY2VmaWxlLCBsaW5lbm8pIGRvIHt9IHdoaWxlICgwKQorCisjZGVmaW5lIFJVQllfRFRSQUNF
X0lOU05fRU5BQkxFRCgpIDAKKyNkZWZpbmUgUlVCWV9EVFJBQ0VfSU5TTihpbnNuc19uYW1lKSBk
byB7fSB3aGlsZSAoMCkKKyNkZWZpbmUgUlVCWV9EVFJBQ0VfSU5TTl9PUEVSQU5EX0VOQUJMRUQo
KSAwCisjZGVmaW5lIFJVQllfRFRSQUNFX0lOU05fT1BFUkFORCh2YWwsIGluc25zX25hbWUpIGRv
IHt9IHdoaWxlICgwKQorCisjZGVmaW5lIFJVQllfRFRSQUNFX0dDX01BUktfQkVHSU5fRU5BQkxF
RCgpIDAKKyNkZWZpbmUgUlVCWV9EVFJBQ0VfR0NfTUFSS19CRUdJTigpIGRvIHt9IHdoaWxlICgw
KQorCisjZGVmaW5lIFJVQllfRFRSQUNFX0dDX01BUktfRU5EX0VOQUJMRUQoKSAwCisjZGVmaW5l
IFJVQllfRFRSQUNFX0dDX01BUktfRU5EKCkgZG8ge30gd2hpbGUgKDApCisKKyNkZWZpbmUgUlVC
WV9EVFJBQ0VfR0NfU1dFRVBfQkVHSU5fRU5BQkxFRCgpIDAKKyNkZWZpbmUgUlVCWV9EVFJBQ0Vf
R0NfU1dFRVBfQkVHSU4oKSBkbyB7fSB3aGlsZSAoMCkKKworI2RlZmluZSBSVUJZX0RUUkFDRV9H
Q19TV0VFUF9FTkRfRU5BQkxFRCgpIDAKKyNkZWZpbmUgUlVCWV9EVFJBQ0VfR0NfU1dFRVBfRU5E
KCkgZG8ge30gd2hpbGUgKDApCisKKyNkZWZpbmUgUlVCWV9EVFJBQ0VfTUVUSE9EX0NBQ0hFX0NM
RUFSX0VOQUJMRUQoKSAwCisjZGVmaW5lIFJVQllfRFRSQUNFX01FVEhPRF9DQUNIRV9DTEVBUihj
bGFzcywgZmlsZW5hbWUsIGxpbmVubykgZG8ge30gd2hpbGUgKDApCisKKyNlbmRpZgkvKiBfUFJP
QkVTX0ggKi8KKwpkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL3Byb2Jlcy5oIGIvZ2VuZXJhdGVkL3By
b2Jlcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIwNTFhNGYKLS0tIC9k
ZXYvbnVsbAorKysgYi9nZW5lcmF0ZWQvcHJvYmVzLmgKQEAgLTAsMCArMSBAQAorI2luY2x1ZGUg
InByb2Jlcy5kbXloIgpkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL3JldmlzaW9uLmggYi9nZW5lcmF0
ZWQvcmV2aXNpb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5
CmRpZmYgLS1naXQgYS9nZW5lcmF0ZWQvdmVyY29uZi5oIGIvZ2VuZXJhdGVkL3ZlcmNvbmYuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYWVjZGI5Ci0tLSAvZGV2L251bGwK
KysrIGIvZ2VuZXJhdGVkL3ZlcmNvbmYuaApAQCAtMCwwICsxLDEzIEBACisjZGVmaW5lIFJVQllf
QkFTRV9OQU1FCQkJInJ1YnkiCisjZGVmaW5lIFJVQllfVkVSU0lPTl9OQU1FCQkicnVieS0iUlVC
WV9MSUJfVkVSU0lPTgorI2RlZmluZSBSVUJZX0xJQl9WRVJTSU9OX1NUWUxFCQkzCS8qIGZ1bGwg
Ki8KKyNkZWZpbmUgUlVCWV9FWEVDX1BSRUZJWAkJIi9ob21lL3dvbGYvbmZ2L2Rldi91bmlrcmFm
dC9hcHBzL3VrdXRlc3QuZ2l0L2J1aWxkL2xpYnJ1Ynkvb3JpZ2luL3J1YnktcnVieV8yXzYvZGlz
dCIKKyNkZWZpbmUgUlVCWV9MSUJfUFJFRklYIAkJUlVCWV9FWEVDX1BSRUZJWCIvbGliL3J1Ynki
CisjZGVmaW5lIFJVQllfQVJDSF9QUkVGSVhfRk9SKGFyY2gpCVJVQllfTElCX1BSRUZJWCIvImFy
Y2gKKyNkZWZpbmUgUlVCWV9TSVRFQVJDSF9QUkVGSVhfRk9SKGFyY2gpCVJVQllfTElCX1BSRUZJ
WCIvImFyY2gKKyNkZWZpbmUgUlVCWV9MSUIJCQlSVUJZX0xJQl9QUkVGSVgiLyJSVUJZX0xJQl9W
RVJTSU9OCisjZGVmaW5lIFJVQllfQVJDSF9MSUJfRk9SKGFyY2gpIAlSVUJZX0xJQiIvImFyY2gK
KyNkZWZpbmUgUlVCWV9TSVRFX0xJQgkJCVJVQllfTElCX1BSRUZJWCIvc2l0ZV9ydWJ5IgorI2Rl
ZmluZSBSVUJZX1NJVEVfQVJDSF9MSUJfRk9SKGFyY2gpCVJVQllfU0lURV9MSUIyIi8iYXJjaAor
I2RlZmluZSBSVUJZX1ZFTkRPUl9MSUIgCQlSVUJZX0xJQl9QUkVGSVgiL3ZlbmRvcl9ydWJ5Igor
I2RlZmluZSBSVUJZX1ZFTkRPUl9BUkNIX0xJQl9GT1IoYXJjaCkJUlVCWV9WRU5ET1JfTElCMiIv
ImFyY2gKZGlmZiAtLWdpdCBhL2dlbmVyYXRlZC92bS5pbmMgYi9nZW5lcmF0ZWQvdm0uaW5jCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI3YjliNjYKLS0tIC9kZXYvbnVsbAor
KysgYi9nZW5lcmF0ZWQvdm0uaW5jCkBAIC0wLDAgKzEsNDUwNCBAQAorLyogLSotIG1vZGU6Yzsg
c3R5bGU6cnVieTsgY29kaW5nOiB1dGYtODsgaW5kZW50LXRhYnMtbW9kZTogbmlsIC0qLSAqLwor
CisvKiBUaGlzIGlzICBhbiBhdXRvLWdlbmVyYXRlZCBmaWxlICBhbmQgaXMgYSAgcGFydCBvZiB0
aGUgIHByb2dyYW1taW5nIGxhbmd1YWdlCisgKiBSdWJ5LiAgVGhlICBwZXJzb24gd2hvICBjcmVh
dGVkICBhICBwcm9ncmFtICB0byAgZ2VuZXJhdGUgdGhpcyAgZmlsZSAgKGBgSScnCisgKiBoZXJl
YWZ0ZXIpIHdvdWxkIGxpa2UgIHRvIHJlZnJhaW4gZnJvbSBkZWZpbmluZyBsaWNlbnNpbmcgIG9m
IHRoaXMgZ2VuZXJhdGVkCisgKiBzb3VyY2UgY29kZS4KKyAqCisgKiBUaGlzIGZpbGUgY29uc2lz
dCBvZiBtYW55IHNtYWxsICBwYXJ0cyBvZiBjb2RlcyBjb3B5cmlnaHRlZCBieSBlYWNoIGF1dGhv
cnMsCisgKiBub3QgIG9ubHkgIHRoZSAgYGBJJycgIHBlcnNvbi4gICBUaG9zZSAgb3JpZ2luYWwg
IGF1dGhvcnMgIGFncmVlICB3aXRoICBzb21lCisgKiBvcGVuLXNvdXJjZSBsaWNlbnNlLiAgSSAg
YmVsaWV2ZSB0aGF0IHRoZSBsaWNlbnNlIHdlIGFncmVlICBpcyB0aGUgY29uZGl0aW9uCisgKiBt
ZW50aW9uZWQgaW4gIHRoZSBmaWxlIENPUFlJTkcuICBJdCAgc3RhdGVzICI0LiAgWW91IG1heSAg
bW9kaWZ5IGFuZCBpbmNsdWRlCisgKiB0aGUgcGFydCBvZiB0aGUgc29mdHdhcmUgaW50byBhbnkg
IG90aGVyIHNvZnR3YXJlIC4uLiIuICBCdXQgdGhlIHByb2JsZW0gaXMsCisgKiB0aGUgbGljZW5z
ZSBuZXZlciBtYWtlcyBpdCBjbGVhciBpZiAgc3VjaCBtb2RpZmllZCBwYXJ0cyBzdGlsbCByZW1h
aW4gaW4gdGhlCisgKiBzYW1lICBsaWNlbnNlLCBvciAgbm90LiAgIFRoZSBmYWN0ICB0aGF0ICB3
ZSBhZ3JlZSAgd2l0aCAgdGhlIHNvdXJjZSAgY29kZSdzCisgKiBsaWNlbnNpbmcgdGVybXMgZG8g
bm90IGF1dG9tYXRpY2FsbHkgZGVmaW5lIHRoYXQgb2YgZ2VuZXJhdGVkIG9uZXMuICBUaGlzIGlz
CisgKiB0aGUgcmVhc29uICB3aHkgdGhpcyBmaWxlICBpcyB1bmRlciB1bmNsZWFyIHNpdHVhdGlv
bi4gICBBbGwgdGhhdCBJICBrbm93IGlzCisgKiB0aGF0IGFib3ZlIHByb3Zpc2lvbiBndWFyYW50
ZWVzIHRoaXMgZmlsZSB0byBleGlzdC4KKyAqCisgKiBQbGVhc2UgbGV0IG1lICBoZXNpdGF0ZSB0
byBkZWNsYXJlIHNvbWV0aGluZyBhYm91dCB0aGlzICBudWFuY2VkIGNvbnRyYWN0LiBJCisgKiBh
bSBub3QgaW4gdGhlIHBvc2l0aW9uIHRvIHRha2UgIG92ZXIgb3RoZXIgYXV0aG9ycycgbGljZW5z
ZSB0byBtZXJnZSBpbnRvIG15CisgKiBvbmUuICBDaGFuZ2luZyB0aGVtIHRvIChzYXkpIEdQTHYz
ICBpcyBub3QgZG9hYmxlIGJ5IG15c2VsZi4gUGVyaGFwcyBzb21lZGF5CisgKiBpdCBtaWdodCB0
dXJuIG91dCB0byBiZSBva2F5IHRvIHNheSB0aGlzIGZpbGUgaXMgdW5kZXIgYSBsaWNlbnNlLiBJ
IHdpc2ggdGhlCisgKiBzaXR1YXRpb24gd291bGQgYmVjb21lIG1vcmUgY2xlYXIgaW4gdGhlIGZ1
dHVyZS4gKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKiovCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoq
CisgIFRoaXMgZmlsZSBpcyBWTSBtYWluIGxvb3AuCisKKyAgLS0tLQorICBUaGlzIGZpbGUgaXMg
YXV0byBnZW5lcmF0ZWQgYnkgaW5zbnMydm0ucmIKKyAgRE8gTk9UIFRPVUNIIQorCisgIElmIHlv
dSB3YW50IHRvIGZpeCBzb21ldGhpbmcsIHlvdSBtdXN0IGVkaXQgInRvb2wvcnVieV92bS92aWV3
cy92bS5pbmMuZXJiIgorICBvciB0b29sL2luc25zMnZtLnJiCisgKi8KKworI2luY2x1ZGUgInZt
X2luc25oZWxwZXIuaCIKKworLyogaW5zbiBub3AoKSgpKCkgKi8KK0lOU05fRU5UUlkobm9wKQor
eworIyAgIGRlZmluZSBOQU1FX09GX0NVUlJFTlRfSU5TTiBub3AKKyMgICBkZWZpbmUgSU5TTl9B
VFRSKHgpIGF0dHJfICMjIHggIyMgX25vcCgpCisgICAgYm9vbCBsZWFmOworICAgIE1BWUJFX1VO
VVNFRChWQUxVRSAqKSBjYW5hcnk7CisgICAgU1RBUlRfT0ZfT1JJR0lOQUxfSU5TTihub3ApOwor
ICAgIERFQlVHX0VOVEVSX0lOU04oSU5TTl9BVFRSKG5hbWUpKTsKKyAgICBpZiAoISAobGVhZiA9
IElOU05fQVRUUihsZWFmKSkpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKKyAgICBDT0xMRUNU
X1VTQUdFX0lOU04oSU5TTl9BVFRSKGJpbikpOworICAgIENIRUNLX1ZNX1NUQUNLX09WRVJGTE9X
X0ZPUl9JTlNOKFZNX1JFR19DRlAsIElOU05fQVRUUihyZXRuKSk7CisgICAgSU5DX1NQKElOU05f
QVRUUihzcF9pbmMpKTsKKyAgICBpZiAobGVhZikgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOwor
ICAgIEVORF9JTlNOKG5vcCk7CisjICAgdW5kZWYgSU5TTl9BVFRSCisjICAgdW5kZWYgTkFNRV9P
Rl9DVVJSRU5UX0lOU04KK30KKworLyogaW5zbiBnZXRsb2NhbChpZHgsIGxldmVsKSgpKHZhbCkg
Ki8KK0lOU05fRU5UUlkoZ2V0bG9jYWwpCit7CisjICAgZGVmaW5lIE5BTUVfT0ZfQ1VSUkVOVF9J
TlNOIGdldGxvY2FsCisjICAgZGVmaW5lIElOU05fQVRUUih4KSBhdHRyXyAjIyB4ICMjIF9nZXRs
b2NhbChpZHgsIGxldmVsKQorICAgIGJvb2wgbGVhZjsKKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUg
KikgY2FuYXJ5OworICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgdmFsOworICAgIE1BWUJFX1VOVVNF
RChsaW5kZXhfdCkgaWR4OworICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCkgbGV2ZWw7CisKKyAg
ICBTVEFSVF9PRl9PUklHSU5BTF9JTlNOKGdldGxvY2FsKTsKKyAgICBpZHggPSAobGluZGV4X3Qp
R0VUX09QRVJBTkQoMSk7CisgICAgbGV2ZWwgPSAocmJfbnVtX3QpR0VUX09QRVJBTkQoMik7Cisg
ICAgREVCVUdfRU5URVJfSU5TTihJTlNOX0FUVFIobmFtZSkpOworICAgIGlmICghIChsZWFmID0g
SU5TTl9BVFRSKGxlYWYpKSkgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOworICAgIFNFVFVQX0NB
TkFSWSgpOworICAgIENPTExFQ1RfVVNBR0VfSU5TTihJTlNOX0FUVFIoYmluKSk7CisgICAgQ09M
TEVDVF9VU0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAwLCBpZHgpOworICAgIENPTExFQ1Rf
VVNBR0VfT1BFUkFORChJTlNOX0FUVFIoYmluKSwgMSwgbGV2ZWwpOworI2xpbmUgODEgImluc25z
LmRlZiIKK3sKKyAgICB2YWwgPSAqKHZtX2dldF9lcChHRVRfRVAoKSwgbGV2ZWwpIC0gaWR4KTsK
KyAgICBSQl9ERUJVR19DT1VOVEVSX0lOQyhsdmFyX2dldCk7CisgICAgKHZvaWQpUkJfREVCVUdf
Q09VTlRFUl9JTkNfSUYobHZhcl9nZXRfZHluYW1pYywgbGV2ZWwgPiAwKTsKK30KKyNsaW5lIDg3
ICJ2bS5pbmMiCisgICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04oVk1fUkVHX0NG
UCwgSU5TTl9BVFRSKHJldG4pKTsKKyAgICBDSEVDS19DQU5BUlkoKTsKKyAgICBJTkNfU1AoSU5T
Tl9BVFRSKHNwX2luYykpOworICAgIFRPUE4oMCkgPSB2YWw7CisgICAgaWYgKGxlYWYpIEFERF9Q
QyhJTlNOX0FUVFIod2lkdGgpKTsKKyAgICBFTkRfSU5TTihnZXRsb2NhbCk7CisjICAgdW5kZWYg
SU5TTl9BVFRSCisjICAgdW5kZWYgTkFNRV9PRl9DVVJSRU5UX0lOU04KK30KKworLyogaW5zbiBz
ZXRsb2NhbChpZHgsIGxldmVsKSh2YWwpKCkgKi8KK0lOU05fRU5UUlkoc2V0bG9jYWwpCit7Cisj
ICAgZGVmaW5lIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOIHNldGxvY2FsCisjICAgZGVmaW5lIElOU05f
QVRUUih4KSBhdHRyXyAjIyB4ICMjIF9zZXRsb2NhbChpZHgsIGxldmVsKQorICAgIGJvb2wgbGVh
ZjsKKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUgKikgY2FuYXJ5OworICAgIE1BWUJFX1VOVVNFRChW
QUxVRSkgdmFsOworICAgIE1BWUJFX1VOVVNFRChsaW5kZXhfdCkgaWR4OworICAgIE1BWUJFX1VO
VVNFRChyYl9udW1fdCkgbGV2ZWw7CisKKyAgICBTVEFSVF9PRl9PUklHSU5BTF9JTlNOKHNldGxv
Y2FsKTsKKyAgICBpZHggPSAobGluZGV4X3QpR0VUX09QRVJBTkQoMSk7CisgICAgbGV2ZWwgPSAo
cmJfbnVtX3QpR0VUX09QRVJBTkQoMik7CisgICAgdmFsID0gVE9QTigwKTsKKyAgICBERUJVR19F
TlRFUl9JTlNOKElOU05fQVRUUihuYW1lKSk7CisgICAgaWYgKCEgKGxlYWYgPSBJTlNOX0FUVFIo
bGVhZikpKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7CisgICAgU0VUVVBfQ0FOQVJZKCk7Cisg
ICAgQ09MTEVDVF9VU0FHRV9JTlNOKElOU05fQVRUUihiaW4pKTsKKyAgICBDT0xMRUNUX1VTQUdF
X09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDAsIGlkeCk7CisgICAgQ09MTEVDVF9VU0FHRV9PUEVS
QU5EKElOU05fQVRUUihiaW4pLCAxLCBsZXZlbCk7CisjbGluZSA5NSAiaW5zbnMuZGVmIgorewor
ICAgIHZtX2Vudl93cml0ZSh2bV9nZXRfZXAoR0VUX0VQKCksIGxldmVsKSwgLShpbnQpaWR4LCB2
YWwpOworICAgIFJCX0RFQlVHX0NPVU5URVJfSU5DKGx2YXJfc2V0KTsKKyAgICAodm9pZClSQl9E
RUJVR19DT1VOVEVSX0lOQ19JRihsdmFyX3NldF9keW5hbWljLCBsZXZlbCA+IDApOworfQorI2xp
bmUgMTI1ICJ2bS5pbmMiCisgICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04oVk1f
UkVHX0NGUCwgSU5TTl9BVFRSKHJldG4pKTsKKyAgICBDSEVDS19DQU5BUlkoKTsKKyAgICBJTkNf
U1AoSU5TTl9BVFRSKHNwX2luYykpOworICAgIGlmIChsZWFmKSBBRERfUEMoSU5TTl9BVFRSKHdp
ZHRoKSk7CisgICAgRU5EX0lOU04oc2V0bG9jYWwpOworIyAgIHVuZGVmIElOU05fQVRUUgorIyAg
IHVuZGVmIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOCit9CisKKy8qIGluc24gZ2V0YmxvY2twYXJhbShp
ZHgsIGxldmVsKSgpKHZhbCkgKi8KK0lOU05fRU5UUlkoZ2V0YmxvY2twYXJhbSkKK3sKKyMgICBk
ZWZpbmUgTkFNRV9PRl9DVVJSRU5UX0lOU04gZ2V0YmxvY2twYXJhbQorIyAgIGRlZmluZSBJTlNO
X0FUVFIoeCkgYXR0cl8gIyMgeCAjIyBfZ2V0YmxvY2twYXJhbShpZHgsIGxldmVsKQorICAgIGJv
b2wgbGVhZjsKKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUgKikgY2FuYXJ5OworICAgIE1BWUJFX1VO
VVNFRChWQUxVRSkgdmFsOworICAgIE1BWUJFX1VOVVNFRChsaW5kZXhfdCkgaWR4OworICAgIE1B
WUJFX1VOVVNFRChyYl9udW1fdCkgbGV2ZWw7CisKKyAgICBTVEFSVF9PRl9PUklHSU5BTF9JTlNO
KGdldGJsb2NrcGFyYW0pOworICAgIGlkeCA9IChsaW5kZXhfdClHRVRfT1BFUkFORCgxKTsKKyAg
ICBsZXZlbCA9IChyYl9udW1fdClHRVRfT1BFUkFORCgyKTsKKyAgICBERUJVR19FTlRFUl9JTlNO
KElOU05fQVRUUihuYW1lKSk7CisgICAgaWYgKCEgKGxlYWYgPSBJTlNOX0FUVFIobGVhZikpKSBB
RERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7CisgICAgU0VUVVBfQ0FOQVJZKCk7CisgICAgQ09MTEVD
VF9VU0FHRV9JTlNOKElOU05fQVRUUihiaW4pKTsKKyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQo
SU5TTl9BVFRSKGJpbiksIDAsIGlkeCk7CisgICAgQ09MTEVDVF9VU0FHRV9PUEVSQU5EKElOU05f
QVRUUihiaW4pLCAxLCBsZXZlbCk7CisjbGluZSAxMDcgImluc25zLmRlZiIKK3sKKyAgICBjb25z
dCBWQUxVRSAqZXAgPSB2bV9nZXRfZXAoR0VUX0VQKCksIGxldmVsKTsKKyAgICBWTV9BU1NFUlQo
Vk1fRU5WX0xPQ0FMX1AoZXApKTsKKworICAgIGlmICghVk1fRU5WX0ZMQUdTKGVwLCBWTV9GUkFN
RV9GTEFHX01PRElGSUVEX0JMT0NLX1BBUkFNKSkgeworCXZhbCA9IHJiX3ZtX2JoX3RvX3Byb2N2
YWwoZWMsIFZNX0VOVl9CTE9DS19IQU5ETEVSKGVwKSk7CisJdm1fZW52X3dyaXRlKGVwLCAtKGlu
dClpZHgsIHZhbCk7CisJVk1fRU5WX0ZMQUdTX1NFVChlcCwgVk1fRlJBTUVfRkxBR19NT0RJRklF
RF9CTE9DS19QQVJBTSk7CisgICAgfQorICAgIGVsc2UgeworCXZhbCA9ICooZXAgLSBpZHgpOwor
CVJCX0RFQlVHX0NPVU5URVJfSU5DKGx2YXJfZ2V0KTsKKwkodm9pZClSQl9ERUJVR19DT1VOVEVS
X0lOQ19JRihsdmFyX2dldF9keW5hbWljLCBsZXZlbCA+IDApOworICAgIH0KK30KKyNsaW5lIDE3
MSAidm0uaW5jIgorICAgIENIRUNLX1ZNX1NUQUNLX09WRVJGTE9XX0ZPUl9JTlNOKFZNX1JFR19D
RlAsIElOU05fQVRUUihyZXRuKSk7CisgICAgQ0hFQ0tfQ0FOQVJZKCk7CisgICAgSU5DX1NQKElO
U05fQVRUUihzcF9pbmMpKTsKKyAgICBUT1BOKDApID0gdmFsOworICAgIGlmIChsZWFmKSBBRERf
UEMoSU5TTl9BVFRSKHdpZHRoKSk7CisgICAgRU5EX0lOU04oZ2V0YmxvY2twYXJhbSk7CisjICAg
dW5kZWYgSU5TTl9BVFRSCisjICAgdW5kZWYgTkFNRV9PRl9DVVJSRU5UX0lOU04KK30KKworLyog
aW5zbiBzZXRibG9ja3BhcmFtKGlkeCwgbGV2ZWwpKHZhbCkoKSAqLworSU5TTl9FTlRSWShzZXRi
bG9ja3BhcmFtKQoreworIyAgIGRlZmluZSBOQU1FX09GX0NVUlJFTlRfSU5TTiBzZXRibG9ja3Bh
cmFtCisjICAgZGVmaW5lIElOU05fQVRUUih4KSBhdHRyXyAjIyB4ICMjIF9zZXRibG9ja3BhcmFt
KGlkeCwgbGV2ZWwpCisgICAgYm9vbCBsZWFmOworICAgIE1BWUJFX1VOVVNFRChWQUxVRSAqKSBj
YW5hcnk7CisgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSB2YWw7CisgICAgTUFZQkVfVU5VU0VEKGxp
bmRleF90KSBpZHg7CisgICAgTUFZQkVfVU5VU0VEKHJiX251bV90KSBsZXZlbDsKKworICAgIFNU
QVJUX09GX09SSUdJTkFMX0lOU04oc2V0YmxvY2twYXJhbSk7CisgICAgaWR4ID0gKGxpbmRleF90
KUdFVF9PUEVSQU5EKDEpOworICAgIGxldmVsID0gKHJiX251bV90KUdFVF9PUEVSQU5EKDIpOwor
ICAgIHZhbCA9IFRPUE4oMCk7CisgICAgREVCVUdfRU5URVJfSU5TTihJTlNOX0FUVFIobmFtZSkp
OworICAgIGlmICghIChsZWFmID0gSU5TTl9BVFRSKGxlYWYpKSkgQUREX1BDKElOU05fQVRUUih3
aWR0aCkpOworICAgIFNFVFVQX0NBTkFSWSgpOworICAgIENPTExFQ1RfVVNBR0VfSU5TTihJTlNO
X0FUVFIoYmluKSk7CisgICAgQ09MTEVDVF9VU0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAw
LCBpZHgpOworICAgIENPTExFQ1RfVVNBR0VfT1BFUkFORChJTlNOX0FUVFIoYmluKSwgMSwgbGV2
ZWwpOworI2xpbmUgMTI5ICJpbnNucy5kZWYiCit7CisgICAgY29uc3QgVkFMVUUgKmVwID0gdm1f
Z2V0X2VwKEdFVF9FUCgpLCBsZXZlbCk7CisgICAgVk1fQVNTRVJUKFZNX0VOVl9MT0NBTF9QKGVw
KSk7CisKKyAgICB2bV9lbnZfd3JpdGUoZXAsIC0oaW50KWlkeCwgdmFsKTsKKyAgICBSQl9ERUJV
R19DT1VOVEVSX0lOQyhsdmFyX3NldCk7CisgICAgKHZvaWQpUkJfREVCVUdfQ09VTlRFUl9JTkNf
SUYobHZhcl9zZXRfZHluYW1pYywgbGV2ZWwgPiAwKTsKKworICAgIFZNX0VOVl9GTEFHU19TRVQo
ZXAsIFZNX0ZSQU1FX0ZMQUdfTU9ESUZJRURfQkxPQ0tfUEFSQU0pOworfQorI2xpbmUgMjE0ICJ2
bS5pbmMiCisgICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04oVk1fUkVHX0NGUCwg
SU5TTl9BVFRSKHJldG4pKTsKKyAgICBDSEVDS19DQU5BUlkoKTsKKyAgICBJTkNfU1AoSU5TTl9B
VFRSKHNwX2luYykpOworICAgIGlmIChsZWFmKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7Cisg
ICAgRU5EX0lOU04oc2V0YmxvY2twYXJhbSk7CisjICAgdW5kZWYgSU5TTl9BVFRSCisjICAgdW5k
ZWYgTkFNRV9PRl9DVVJSRU5UX0lOU04KK30KKworLyogaW5zbiBnZXRibG9ja3BhcmFtcHJveHko
aWR4LCBsZXZlbCkoKSh2YWwpICovCitJTlNOX0VOVFJZKGdldGJsb2NrcGFyYW1wcm94eSkKK3sK
KyMgICBkZWZpbmUgTkFNRV9PRl9DVVJSRU5UX0lOU04gZ2V0YmxvY2twYXJhbXByb3h5CisjICAg
ZGVmaW5lIElOU05fQVRUUih4KSBhdHRyXyAjIyB4ICMjIF9nZXRibG9ja3BhcmFtcHJveHkoaWR4
LCBsZXZlbCkKKyAgICBib29sIGxlYWY7CisgICAgTUFZQkVfVU5VU0VEKFZBTFVFICopIGNhbmFy
eTsKKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIHZhbDsKKyAgICBNQVlCRV9VTlVTRUQobGluZGV4
X3QpIGlkeDsKKyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QpIGxldmVsOworCisgICAgU1RBUlRf
T0ZfT1JJR0lOQUxfSU5TTihnZXRibG9ja3BhcmFtcHJveHkpOworICAgIGlkeCA9IChsaW5kZXhf
dClHRVRfT1BFUkFORCgxKTsKKyAgICBsZXZlbCA9IChyYl9udW1fdClHRVRfT1BFUkFORCgyKTsK
KyAgICBERUJVR19FTlRFUl9JTlNOKElOU05fQVRUUihuYW1lKSk7CisgICAgaWYgKCEgKGxlYWYg
PSBJTlNOX0FUVFIobGVhZikpKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7CisgICAgU0VUVVBf
Q0FOQVJZKCk7CisgICAgQ09MTEVDVF9VU0FHRV9JTlNOKElOU05fQVRUUihiaW4pKTsKKyAgICBD
T0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDAsIGlkeCk7CisgICAgQ09MTEVD
VF9VU0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAxLCBsZXZlbCk7CisjbGluZSAxNDggImlu
c25zLmRlZiIKK3sKKyAgICBjb25zdCBWQUxVRSAqZXAgPSB2bV9nZXRfZXAoR0VUX0VQKCksIGxl
dmVsKTsKKyAgICBWTV9BU1NFUlQoVk1fRU5WX0xPQ0FMX1AoZXApKTsKKworICAgIGlmICghVk1f
RU5WX0ZMQUdTKGVwLCBWTV9GUkFNRV9GTEFHX01PRElGSUVEX0JMT0NLX1BBUkFNKSkgeworCVZB
TFVFIGJsb2NrX2hhbmRsZXIgPSBWTV9FTlZfQkxPQ0tfSEFORExFUihlcCk7CisKKwlpZiAoYmxv
Y2tfaGFuZGxlcikgeworCSAgICBzd2l0Y2ggKHZtX2Jsb2NrX2hhbmRsZXJfdHlwZShibG9ja19o
YW5kbGVyKSkgeworCSAgICAgIGNhc2UgYmxvY2tfaGFuZGxlcl90eXBlX2lzZXE6CisJICAgICAg
Y2FzZSBibG9ja19oYW5kbGVyX3R5cGVfaWZ1bmM6CisJCXZhbCA9IHJiX2Jsb2NrX3BhcmFtX3By
b3h5OworCQlicmVhazsKKwkgICAgICBjYXNlIGJsb2NrX2hhbmRsZXJfdHlwZV9zeW1ib2w6CisJ
CXZhbCA9IHJiX3N5bV90b19wcm9jKFZNX0JIX1RPX1NZTUJPTChibG9ja19oYW5kbGVyKSk7CisJ
CWdvdG8gSU5TTl9MQUJFTChzZXQpOworCSAgICAgIGNhc2UgYmxvY2tfaGFuZGxlcl90eXBlX3By
b2M6CisJCXZhbCA9IFZNX0JIX1RPX1BST0MoYmxvY2tfaGFuZGxlcik7CisJCWdvdG8gSU5TTl9M
QUJFTChzZXQpOworCSAgICAgIGRlZmF1bHQ6CisJCVZNX1VOUkVBQ0hBQkxFKGdldGJsb2NrcGFy
YW1wcm94eSk7CisJICAgIH0KKwl9CisJZWxzZSB7CisJICAgIHZhbCA9IFFuaWw7CisJICBJTlNO
X0xBQkVMKHNldCk6CisJICAgIHZtX2Vudl93cml0ZShlcCwgLShpbnQpaWR4LCB2YWwpOworCSAg
ICBWTV9FTlZfRkxBR1NfU0VUKGVwLCBWTV9GUkFNRV9GTEFHX01PRElGSUVEX0JMT0NLX1BBUkFN
KTsKKwl9CisgICAgfQorICAgIGVsc2UgeworCXZhbCA9ICooZXAgLSBpZHgpOworCVJCX0RFQlVH
X0NPVU5URVJfSU5DKGx2YXJfZ2V0KTsKKwkodm9pZClSQl9ERUJVR19DT1VOVEVSX0lOQ19JRihs
dmFyX2dldF9keW5hbWljLCBsZXZlbCA+IDApOworICAgIH0KK30KKyNsaW5lIDI4MSAidm0uaW5j
IgorICAgIENIRUNLX1ZNX1NUQUNLX09WRVJGTE9XX0ZPUl9JTlNOKFZNX1JFR19DRlAsIElOU05f
QVRUUihyZXRuKSk7CisgICAgQ0hFQ0tfQ0FOQVJZKCk7CisgICAgSU5DX1NQKElOU05fQVRUUihz
cF9pbmMpKTsKKyAgICBUT1BOKDApID0gdmFsOworICAgIGlmIChsZWFmKSBBRERfUEMoSU5TTl9B
VFRSKHdpZHRoKSk7CisgICAgRU5EX0lOU04oZ2V0YmxvY2twYXJhbXByb3h5KTsKKyMgICB1bmRl
ZiBJTlNOX0FUVFIKKyMgICB1bmRlZiBOQU1FX09GX0NVUlJFTlRfSU5TTgorfQorCisvKiBpbnNu
IGdldHNwZWNpYWwoa2V5LCB0eXBlKSgpKHZhbCkgKi8KK0lOU05fRU5UUlkoZ2V0c3BlY2lhbCkK
K3sKKyMgICBkZWZpbmUgTkFNRV9PRl9DVVJSRU5UX0lOU04gZ2V0c3BlY2lhbAorIyAgIGRlZmlu
ZSBJTlNOX0FUVFIoeCkgYXR0cl8gIyMgeCAjIyBfZ2V0c3BlY2lhbChrZXksIHR5cGUpCisgICAg
Ym9vbCBsZWFmOworICAgIE1BWUJFX1VOVVNFRChWQUxVRSAqKSBjYW5hcnk7CisgICAgTUFZQkVf
VU5VU0VEKFZBTFVFKSB2YWw7CisgICAgTUFZQkVfVU5VU0VEKHJiX251bV90KSBrZXksIHR5cGU7
CisKKyAgICBTVEFSVF9PRl9PUklHSU5BTF9JTlNOKGdldHNwZWNpYWwpOworICAgIGtleSA9IChy
Yl9udW1fdClHRVRfT1BFUkFORCgxKTsKKyAgICB0eXBlID0gKHJiX251bV90KUdFVF9PUEVSQU5E
KDIpOworICAgIERFQlVHX0VOVEVSX0lOU04oSU5TTl9BVFRSKG5hbWUpKTsKKyAgICBpZiAoISAo
bGVhZiA9IElOU05fQVRUUihsZWFmKSkpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKKyAgICBT
RVRVUF9DQU5BUlkoKTsKKyAgICBDT0xMRUNUX1VTQUdFX0lOU04oSU5TTl9BVFRSKGJpbikpOwor
ICAgIENPTExFQ1RfVVNBR0VfT1BFUkFORChJTlNOX0FUVFIoYmluKSwgMCwga2V5KTsKKyAgICBD
T0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDEsIHR5cGUpOworI2xpbmUgMTkx
ICJpbnNucy5kZWYiCit7CisgICAgdmFsID0gdm1fZ2V0c3BlY2lhbChlYywgR0VUX0xFUCgpLCBr
ZXksIHR5cGUpOworfQorI2xpbmUgMzE1ICJ2bS5pbmMiCisgICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZF
UkZMT1dfRk9SX0lOU04oVk1fUkVHX0NGUCwgSU5TTl9BVFRSKHJldG4pKTsKKyAgICBDSEVDS19D
QU5BUlkoKTsKKyAgICBJTkNfU1AoSU5TTl9BVFRSKHNwX2luYykpOworICAgIFRPUE4oMCkgPSB2
YWw7CisgICAgaWYgKGxlYWYpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKKyAgICBFTkRfSU5T
TihnZXRzcGVjaWFsKTsKKyMgICB1bmRlZiBJTlNOX0FUVFIKKyMgICB1bmRlZiBOQU1FX09GX0NV
UlJFTlRfSU5TTgorfQorCisvKiBpbnNuIHNldHNwZWNpYWwoa2V5KShvYmopKCkgKi8KK0lOU05f
RU5UUlkoc2V0c3BlY2lhbCkKK3sKKyMgICBkZWZpbmUgTkFNRV9PRl9DVVJSRU5UX0lOU04gc2V0
c3BlY2lhbAorIyAgIGRlZmluZSBJTlNOX0FUVFIoeCkgYXR0cl8gIyMgeCAjIyBfc2V0c3BlY2lh
bChrZXkpCisgICAgYm9vbCBsZWFmOworICAgIE1BWUJFX1VOVVNFRChWQUxVRSAqKSBjYW5hcnk7
CisgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSBvYmo7CisgICAgTUFZQkVfVU5VU0VEKHJiX251bV90
KSBrZXk7CisKKyAgICBTVEFSVF9PRl9PUklHSU5BTF9JTlNOKHNldHNwZWNpYWwpOworICAgIGtl
eSA9IChyYl9udW1fdClHRVRfT1BFUkFORCgxKTsKKyAgICBvYmogPSBUT1BOKDApOworICAgIERF
QlVHX0VOVEVSX0lOU04oSU5TTl9BVFRSKG5hbWUpKTsKKyAgICBpZiAoISAobGVhZiA9IElOU05f
QVRUUihsZWFmKSkpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKKyAgICBTRVRVUF9DQU5BUlko
KTsKKyAgICBDT0xMRUNUX1VTQUdFX0lOU04oSU5TTl9BVFRSKGJpbikpOworICAgIENPTExFQ1Rf
VVNBR0VfT1BFUkFORChJTlNOX0FUVFIoYmluKSwgMCwga2V5KTsKKyNsaW5lIDIwMSAiaW5zbnMu
ZGVmIgoreworICAgIGxlcF9zdmFyX3NldChlYywgR0VUX0xFUCgpLCBrZXksIG9iaik7Cit9Cisj
bGluZSAzNDggInZtLmluYyIKKyAgICBDSEVDS19WTV9TVEFDS19PVkVSRkxPV19GT1JfSU5TTihW
TV9SRUdfQ0ZQLCBJTlNOX0FUVFIocmV0bikpOworICAgIENIRUNLX0NBTkFSWSgpOworICAgIElO
Q19TUChJTlNOX0FUVFIoc3BfaW5jKSk7CisgICAgaWYgKGxlYWYpIEFERF9QQyhJTlNOX0FUVFIo
d2lkdGgpKTsKKyAgICBFTkRfSU5TTihzZXRzcGVjaWFsKTsKKyMgICB1bmRlZiBJTlNOX0FUVFIK
KyMgICB1bmRlZiBOQU1FX09GX0NVUlJFTlRfSU5TTgorfQorCisvKiBpbnNuIGdldGluc3RhbmNl
dmFyaWFibGUoaWQsIGljKSgpKHZhbCkgKi8KK0lOU05fRU5UUlkoZ2V0aW5zdGFuY2V2YXJpYWJs
ZSkKK3sKKyMgICBkZWZpbmUgTkFNRV9PRl9DVVJSRU5UX0lOU04gZ2V0aW5zdGFuY2V2YXJpYWJs
ZQorIyAgIGRlZmluZSBJTlNOX0FUVFIoeCkgYXR0cl8gIyMgeCAjIyBfZ2V0aW5zdGFuY2V2YXJp
YWJsZShpZCwgaWMpCisgICAgYm9vbCBsZWFmOworICAgIE1BWUJFX1VOVVNFRChWQUxVRSAqKSBj
YW5hcnk7CisgICAgTUFZQkVfVU5VU0VEKElDKSBpYzsKKyAgICBNQVlCRV9VTlVTRUQoSUQpIGlk
OworICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgdmFsOworCisgICAgU1RBUlRfT0ZfT1JJR0lOQUxf
SU5TTihnZXRpbnN0YW5jZXZhcmlhYmxlKTsKKyAgICBpZCA9IChJRClHRVRfT1BFUkFORCgxKTsK
KyAgICBpYyA9IChJQylHRVRfT1BFUkFORCgyKTsKKyAgICBERUJVR19FTlRFUl9JTlNOKElOU05f
QVRUUihuYW1lKSk7CisgICAgaWYgKCEgKGxlYWYgPSBJTlNOX0FUVFIobGVhZikpKSBBRERfUEMo
SU5TTl9BVFRSKHdpZHRoKSk7CisgICAgU0VUVVBfQ0FOQVJZKCk7CisgICAgQ09MTEVDVF9VU0FH
RV9JTlNOKElOU05fQVRUUihiaW4pKTsKKyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9B
VFRSKGJpbiksIDAsIGlkKTsKKyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJp
biksIDEsIGljKTsKKyNsaW5lIDIxMyAiaW5zbnMuZGVmIgoreworICAgIHZhbCA9IHZtX2dldGlu
c3RhbmNldmFyaWFibGUoR0VUX1NFTEYoKSwgaWQsIGljKTsKK30KKyNsaW5lIDM4MiAidm0uaW5j
IgorICAgIENIRUNLX1ZNX1NUQUNLX09WRVJGTE9XX0ZPUl9JTlNOKFZNX1JFR19DRlAsIElOU05f
QVRUUihyZXRuKSk7CisgICAgQ0hFQ0tfQ0FOQVJZKCk7CisgICAgSU5DX1NQKElOU05fQVRUUihz
cF9pbmMpKTsKKyAgICBUT1BOKDApID0gdmFsOworICAgIGlmIChsZWFmKSBBRERfUEMoSU5TTl9B
VFRSKHdpZHRoKSk7CisgICAgRU5EX0lOU04oZ2V0aW5zdGFuY2V2YXJpYWJsZSk7CisjICAgdW5k
ZWYgSU5TTl9BVFRSCisjICAgdW5kZWYgTkFNRV9PRl9DVVJSRU5UX0lOU04KK30KKworLyogaW5z
biBzZXRpbnN0YW5jZXZhcmlhYmxlKGlkLCBpYykodmFsKSgpICovCitJTlNOX0VOVFJZKHNldGlu
c3RhbmNldmFyaWFibGUpCit7CisjICAgZGVmaW5lIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOIHNldGlu
c3RhbmNldmFyaWFibGUKKyMgICBkZWZpbmUgSU5TTl9BVFRSKHgpIGF0dHJfICMjIHggIyMgX3Nl
dGluc3RhbmNldmFyaWFibGUoaWQsIGljKQorICAgIGJvb2wgbGVhZjsKKyAgICBNQVlCRV9VTlVT
RUQoVkFMVUUgKikgY2FuYXJ5OworICAgIE1BWUJFX1VOVVNFRChJQykgaWM7CisgICAgTUFZQkVf
VU5VU0VEKElEKSBpZDsKKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIHZhbDsKKworICAgIFNUQVJU
X09GX09SSUdJTkFMX0lOU04oc2V0aW5zdGFuY2V2YXJpYWJsZSk7CisgICAgaWQgPSAoSUQpR0VU
X09QRVJBTkQoMSk7CisgICAgaWMgPSAoSUMpR0VUX09QRVJBTkQoMik7CisgICAgdmFsID0gVE9Q
TigwKTsKKyAgICBERUJVR19FTlRFUl9JTlNOKElOU05fQVRUUihuYW1lKSk7CisgICAgaWYgKCEg
KGxlYWYgPSBJTlNOX0FUVFIobGVhZikpKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7CisgICAg
U0VUVVBfQ0FOQVJZKCk7CisgICAgQ09MTEVDVF9VU0FHRV9JTlNOKElOU05fQVRUUihiaW4pKTsK
KyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDAsIGlkKTsKKyAgICBD
T0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDEsIGljKTsKKyNsaW5lIDIyMyAi
aW5zbnMuZGVmIgoreworICAgIHZtX3NldGluc3RhbmNldmFyaWFibGUoR0VUX1NFTEYoKSwgaWQs
IHZhbCwgaWMpOworfQorI2xpbmUgNDE4ICJ2bS5pbmMiCisgICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZF
UkZMT1dfRk9SX0lOU04oVk1fUkVHX0NGUCwgSU5TTl9BVFRSKHJldG4pKTsKKyAgICBDSEVDS19D
QU5BUlkoKTsKKyAgICBJTkNfU1AoSU5TTl9BVFRSKHNwX2luYykpOworICAgIGlmIChsZWFmKSBB
RERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7CisgICAgRU5EX0lOU04oc2V0aW5zdGFuY2V2YXJpYWJs
ZSk7CisjICAgdW5kZWYgSU5TTl9BVFRSCisjICAgdW5kZWYgTkFNRV9PRl9DVVJSRU5UX0lOU04K
K30KKworLyogaW5zbiBnZXRjbGFzc3ZhcmlhYmxlKGlkKSgpKHZhbCkgKi8KK0lOU05fRU5UUlko
Z2V0Y2xhc3N2YXJpYWJsZSkKK3sKKyMgICBkZWZpbmUgTkFNRV9PRl9DVVJSRU5UX0lOU04gZ2V0
Y2xhc3N2YXJpYWJsZQorIyAgIGRlZmluZSBJTlNOX0FUVFIoeCkgYXR0cl8gIyMgeCAjIyBfZ2V0
Y2xhc3N2YXJpYWJsZShpZCkKKyAgICBib29sIGxlYWY7CisgICAgTUFZQkVfVU5VU0VEKFZBTFVF
ICopIGNhbmFyeTsKKyAgICBNQVlCRV9VTlVTRUQoSUQpIGlkOworICAgIE1BWUJFX1VOVVNFRChW
QUxVRSkgdmFsOworCisgICAgU1RBUlRfT0ZfT1JJR0lOQUxfSU5TTihnZXRjbGFzc3ZhcmlhYmxl
KTsKKyAgICBpZCA9IChJRClHRVRfT1BFUkFORCgxKTsKKyAgICBERUJVR19FTlRFUl9JTlNOKElO
U05fQVRUUihuYW1lKSk7CisgICAgaWYgKCEgKGxlYWYgPSBJTlNOX0FUVFIobGVhZikpKSBBRERf
UEMoSU5TTl9BVFRSKHdpZHRoKSk7CisgICAgU0VUVVBfQ0FOQVJZKCk7CisgICAgQ09MTEVDVF9V
U0FHRV9JTlNOKElOU05fQVRUUihiaW4pKTsKKyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5T
Tl9BVFRSKGJpbiksIDAsIGlkKTsKKyNsaW5lIDIzNSAiaW5zbnMuZGVmIgoreworICAgIHZhbCA9
IHJiX2N2YXJfZ2V0KHZtX2dldF9jdmFyX2Jhc2UocmJfdm1fZ2V0X2NyZWYoR0VUX0VQKCkpLCBH
RVRfQ0ZQKCkpLCBpZCk7Cit9CisjbGluZSA0NDkgInZtLmluYyIKKyAgICBDSEVDS19WTV9TVEFD
S19PVkVSRkxPV19GT1JfSU5TTihWTV9SRUdfQ0ZQLCBJTlNOX0FUVFIocmV0bikpOworICAgIENI
RUNLX0NBTkFSWSgpOworICAgIElOQ19TUChJTlNOX0FUVFIoc3BfaW5jKSk7CisgICAgVE9QTigw
KSA9IHZhbDsKKyAgICBpZiAobGVhZikgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOworICAgIEVO
RF9JTlNOKGdldGNsYXNzdmFyaWFibGUpOworIyAgIHVuZGVmIElOU05fQVRUUgorIyAgIHVuZGVm
IE5BTUVfT0ZfQ1VSUkVOVF9JTlNOCit9CisKKy8qIGluc24gc2V0Y2xhc3N2YXJpYWJsZShpZCko
dmFsKSgpICovCitJTlNOX0VOVFJZKHNldGNsYXNzdmFyaWFibGUpCit7CisjICAgZGVmaW5lIE5B
TUVfT0ZfQ1VSUkVOVF9JTlNOIHNldGNsYXNzdmFyaWFibGUKKyMgICBkZWZpbmUgSU5TTl9BVFRS
KHgpIGF0dHJfICMjIHggIyMgX3NldGNsYXNzdmFyaWFibGUoaWQpCisgICAgYm9vbCBsZWFmOwor
ICAgIE1BWUJFX1VOVVNFRChWQUxVRSAqKSBjYW5hcnk7CisgICAgTUFZQkVfVU5VU0VEKElEKSBp
ZDsKKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIHZhbDsKKworICAgIFNUQVJUX09GX09SSUdJTkFM
X0lOU04oc2V0Y2xhc3N2YXJpYWJsZSk7CisgICAgaWQgPSAoSUQpR0VUX09QRVJBTkQoMSk7Cisg
ICAgdmFsID0gVE9QTigwKTsKKyAgICBERUJVR19FTlRFUl9JTlNOKElOU05fQVRUUihuYW1lKSk7
CisgICAgaWYgKCEgKGxlYWYgPSBJTlNOX0FUVFIobGVhZikpKSBBRERfUEMoSU5TTl9BVFRSKHdp
ZHRoKSk7CisgICAgU0VUVVBfQ0FOQVJZKCk7CisgICAgQ09MTEVDVF9VU0FHRV9JTlNOKElOU05f
QVRUUihiaW4pKTsKKyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDAs
IGlkKTsKKyNsaW5lIDI0NyAiaW5zbnMuZGVmIgoreworICAgIHZtX2Vuc3VyZV9ub3RfcmVmaW5l
bWVudF9tb2R1bGUoR0VUX1NFTEYoKSk7CisgICAgcmJfY3Zhcl9zZXQodm1fZ2V0X2N2YXJfYmFz
ZShyYl92bV9nZXRfY3JlZihHRVRfRVAoKSksIEdFVF9DRlAoKSksIGlkLCB2YWwpOworfQorI2xp
bmUgNDgzICJ2bS5pbmMiCisgICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04oVk1f
UkVHX0NGUCwgSU5TTl9BVFRSKHJldG4pKTsKKyAgICBDSEVDS19DQU5BUlkoKTsKKyAgICBJTkNf
U1AoSU5TTl9BVFRSKHNwX2luYykpOworICAgIGlmIChsZWFmKSBBRERfUEMoSU5TTl9BVFRSKHdp
ZHRoKSk7CisgICAgRU5EX0lOU04oc2V0Y2xhc3N2YXJpYWJsZSk7CisjICAgdW5kZWYgSU5TTl9B
VFRSCisjICAgdW5kZWYgTkFNRV9PRl9DVVJSRU5UX0lOU04KK30KKworLyogaW5zbiBnZXRjb25z
dGFudChpZCkoa2xhc3MpKHZhbCkgKi8KK0lOU05fRU5UUlkoZ2V0Y29uc3RhbnQpCit7CisjICAg
ZGVmaW5lIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOIGdldGNvbnN0YW50CisjICAgZGVmaW5lIElOU05f
QVRUUih4KSBhdHRyXyAjIyB4ICMjIF9nZXRjb25zdGFudChpZCkKKyAgICBib29sIGxlYWY7Cisg
ICAgTUFZQkVfVU5VU0VEKFZBTFVFICopIGNhbmFyeTsKKyAgICBNQVlCRV9VTlVTRUQoSUQpIGlk
OworICAgIE1BWUJFX1VOVVNFRChWQUxVRSkga2xhc3MsIHZhbDsKKworICAgIFNUQVJUX09GX09S
SUdJTkFMX0lOU04oZ2V0Y29uc3RhbnQpOworICAgIGlkID0gKElEKUdFVF9PUEVSQU5EKDEpOwor
ICAgIGtsYXNzID0gVE9QTigwKTsKKyAgICBERUJVR19FTlRFUl9JTlNOKElOU05fQVRUUihuYW1l
KSk7CisgICAgaWYgKCEgKGxlYWYgPSBJTlNOX0FUVFIobGVhZikpKSBBRERfUEMoSU5TTl9BVFRS
KHdpZHRoKSk7CisgICAgU0VUVVBfQ0FOQVJZKCk7CisgICAgQ09MTEVDVF9VU0FHRV9JTlNOKElO
U05fQVRUUihiaW4pKTsKKyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiks
IDAsIGlkKTsKKyNsaW5lIDI2MyAiaW5zbnMuZGVmIgoreworICAgIHZhbCA9IHZtX2dldF9ldl9j
b25zdChlYywga2xhc3MsIGlkLCAwKTsKK30KKyNsaW5lIDUxNSAidm0uaW5jIgorICAgIENIRUNL
X1ZNX1NUQUNLX09WRVJGTE9XX0ZPUl9JTlNOKFZNX1JFR19DRlAsIElOU05fQVRUUihyZXRuKSk7
CisgICAgQ0hFQ0tfQ0FOQVJZKCk7CisgICAgSU5DX1NQKElOU05fQVRUUihzcF9pbmMpKTsKKyAg
ICBUT1BOKDApID0gdmFsOworICAgIGlmIChsZWFmKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7
CisgICAgRU5EX0lOU04oZ2V0Y29uc3RhbnQpOworIyAgIHVuZGVmIElOU05fQVRUUgorIyAgIHVu
ZGVmIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOCit9CisKKy8qIGluc24gc2V0Y29uc3RhbnQoaWQpKHZh
bCwgY2Jhc2UpKCkgKi8KK0lOU05fRU5UUlkoc2V0Y29uc3RhbnQpCit7CisjICAgZGVmaW5lIE5B
TUVfT0ZfQ1VSUkVOVF9JTlNOIHNldGNvbnN0YW50CisjICAgZGVmaW5lIElOU05fQVRUUih4KSBh
dHRyXyAjIyB4ICMjIF9zZXRjb25zdGFudChpZCkKKyAgICBib29sIGxlYWY7CisgICAgTUFZQkVf
VU5VU0VEKFZBTFVFICopIGNhbmFyeTsKKyAgICBNQVlCRV9VTlVTRUQoSUQpIGlkOworICAgIE1B
WUJFX1VOVVNFRChWQUxVRSkgY2Jhc2UsIHZhbDsKKworICAgIFNUQVJUX09GX09SSUdJTkFMX0lO
U04oc2V0Y29uc3RhbnQpOworICAgIGlkID0gKElEKUdFVF9PUEVSQU5EKDEpOworICAgIHZhbCA9
IFRPUE4oMSk7CisgICAgY2Jhc2UgPSBUT1BOKDApOworICAgIERFQlVHX0VOVEVSX0lOU04oSU5T
Tl9BVFRSKG5hbWUpKTsKKyAgICBpZiAoISAobGVhZiA9IElOU05fQVRUUihsZWFmKSkpIEFERF9Q
QyhJTlNOX0FUVFIod2lkdGgpKTsKKyAgICBTRVRVUF9DQU5BUlkoKTsKKyAgICBDT0xMRUNUX1VT
QUdFX0lOU04oSU5TTl9BVFRSKGJpbikpOworICAgIENPTExFQ1RfVVNBR0VfT1BFUkFORChJTlNO
X0FUVFIoYmluKSwgMCwgaWQpOworI2xpbmUgMjc5ICJpbnNucy5kZWYiCit7CisgICAgdm1fY2hl
Y2tfaWZfbmFtZXNwYWNlKGNiYXNlKTsKKyAgICB2bV9lbnN1cmVfbm90X3JlZmluZW1lbnRfbW9k
dWxlKEdFVF9TRUxGKCkpOworICAgIHJiX2NvbnN0X3NldChjYmFzZSwgaWQsIHZhbCk7Cit9Cisj
bGluZSA1NTEgInZtLmluYyIKKyAgICBDSEVDS19WTV9TVEFDS19PVkVSRkxPV19GT1JfSU5TTihW
TV9SRUdfQ0ZQLCBJTlNOX0FUVFIocmV0bikpOworICAgIENIRUNLX0NBTkFSWSgpOworICAgIElO
Q19TUChJTlNOX0FUVFIoc3BfaW5jKSk7CisgICAgaWYgKGxlYWYpIEFERF9QQyhJTlNOX0FUVFIo
d2lkdGgpKTsKKyAgICBFTkRfSU5TTihzZXRjb25zdGFudCk7CisjICAgdW5kZWYgSU5TTl9BVFRS
CisjICAgdW5kZWYgTkFNRV9PRl9DVVJSRU5UX0lOU04KK30KKworLyogaW5zbiBnZXRnbG9iYWwo
ZW50cnkpKCkodmFsKSAqLworSU5TTl9FTlRSWShnZXRnbG9iYWwpCit7CisjICAgZGVmaW5lIE5B
TUVfT0ZfQ1VSUkVOVF9JTlNOIGdldGdsb2JhbAorIyAgIGRlZmluZSBJTlNOX0FUVFIoeCkgYXR0
cl8gIyMgeCAjIyBfZ2V0Z2xvYmFsKGVudHJ5KQorICAgIGJvb2wgbGVhZjsKKyAgICBNQVlCRV9V
TlVTRUQoVkFMVUUgKikgY2FuYXJ5OworICAgIE1BWUJFX1VOVVNFRChHRU5UUlkpIGVudHJ5Owor
ICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgdmFsOworCisgICAgU1RBUlRfT0ZfT1JJR0lOQUxfSU5T
TihnZXRnbG9iYWwpOworICAgIGVudHJ5ID0gKEdFTlRSWSlHRVRfT1BFUkFORCgxKTsKKyAgICBE
RUJVR19FTlRFUl9JTlNOKElOU05fQVRUUihuYW1lKSk7CisgICAgaWYgKCEgKGxlYWYgPSBJTlNO
X0FUVFIobGVhZikpKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7CisgICAgU0VUVVBfQ0FOQVJZ
KCk7CisgICAgQ09MTEVDVF9VU0FHRV9JTlNOKElOU05fQVRUUihiaW4pKTsKKyAgICBDT0xMRUNU
X1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDAsIGVudHJ5KTsKKyNsaW5lIDI5MiAiaW5z
bnMuZGVmIgoreworICAgIHZhbCA9IEdFVF9HTE9CQUwoKFZBTFVFKWVudHJ5KTsKK30KKyNsaW5l
IDU4MiAidm0uaW5jIgorICAgIENIRUNLX1ZNX1NUQUNLX09WRVJGTE9XX0ZPUl9JTlNOKFZNX1JF
R19DRlAsIElOU05fQVRUUihyZXRuKSk7CisgICAgQ0hFQ0tfQ0FOQVJZKCk7CisgICAgSU5DX1NQ
KElOU05fQVRUUihzcF9pbmMpKTsKKyAgICBUT1BOKDApID0gdmFsOworICAgIGlmIChsZWFmKSBB
RERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7CisgICAgRU5EX0lOU04oZ2V0Z2xvYmFsKTsKKyMgICB1
bmRlZiBJTlNOX0FUVFIKKyMgICB1bmRlZiBOQU1FX09GX0NVUlJFTlRfSU5TTgorfQorCisvKiBp
bnNuIHNldGdsb2JhbChlbnRyeSkodmFsKSgpICovCitJTlNOX0VOVFJZKHNldGdsb2JhbCkKK3sK
KyMgICBkZWZpbmUgTkFNRV9PRl9DVVJSRU5UX0lOU04gc2V0Z2xvYmFsCisjICAgZGVmaW5lIElO
U05fQVRUUih4KSBhdHRyXyAjIyB4ICMjIF9zZXRnbG9iYWwoZW50cnkpCisgICAgYm9vbCBsZWFm
OworICAgIE1BWUJFX1VOVVNFRChWQUxVRSAqKSBjYW5hcnk7CisgICAgTUFZQkVfVU5VU0VEKEdF
TlRSWSkgZW50cnk7CisgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSB2YWw7CisKKyAgICBTVEFSVF9P
Rl9PUklHSU5BTF9JTlNOKHNldGdsb2JhbCk7CisgICAgZW50cnkgPSAoR0VOVFJZKUdFVF9PUEVS
QU5EKDEpOworICAgIHZhbCA9IFRPUE4oMCk7CisgICAgREVCVUdfRU5URVJfSU5TTihJTlNOX0FU
VFIobmFtZSkpOworICAgIGlmICghIChsZWFmID0gSU5TTl9BVFRSKGxlYWYpKSkgQUREX1BDKElO
U05fQVRUUih3aWR0aCkpOworICAgIFNFVFVQX0NBTkFSWSgpOworICAgIENPTExFQ1RfVVNBR0Vf
SU5TTihJTlNOX0FUVFIoYmluKSk7CisgICAgQ09MTEVDVF9VU0FHRV9PUEVSQU5EKElOU05fQVRU
UihiaW4pLCAwLCBlbnRyeSk7CisjbGluZSAzMDMgImluc25zLmRlZiIKK3sKKyAgICBTRVRfR0xP
QkFMKChWQUxVRSllbnRyeSwgdmFsKTsKK30KKyNsaW5lIDYxNSAidm0uaW5jIgorICAgIENIRUNL
X1ZNX1NUQUNLX09WRVJGTE9XX0ZPUl9JTlNOKFZNX1JFR19DRlAsIElOU05fQVRUUihyZXRuKSk7
CisgICAgQ0hFQ0tfQ0FOQVJZKCk7CisgICAgSU5DX1NQKElOU05fQVRUUihzcF9pbmMpKTsKKyAg
ICBpZiAobGVhZikgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOworICAgIEVORF9JTlNOKHNldGds
b2JhbCk7CisjICAgdW5kZWYgSU5TTl9BVFRSCisjICAgdW5kZWYgTkFNRV9PRl9DVVJSRU5UX0lO
U04KK30KKworLyogaW5zbiBwdXRuaWwoKSgpKHZhbCkgKi8KK0lOU05fRU5UUlkocHV0bmlsKQor
eworIyAgIGRlZmluZSBOQU1FX09GX0NVUlJFTlRfSU5TTiBwdXRuaWwKKyMgICBkZWZpbmUgSU5T
Tl9BVFRSKHgpIGF0dHJfICMjIHggIyMgX3B1dG5pbCgpCisgICAgYm9vbCBsZWFmOworICAgIE1B
WUJFX1VOVVNFRChWQUxVRSAqKSBjYW5hcnk7CisgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSB2YWw7
CisKKyAgICBTVEFSVF9PRl9PUklHSU5BTF9JTlNOKHB1dG5pbCk7CisgICAgREVCVUdfRU5URVJf
SU5TTihJTlNOX0FUVFIobmFtZSkpOworICAgIGlmICghIChsZWFmID0gSU5TTl9BVFRSKGxlYWYp
KSkgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOworICAgIFNFVFVQX0NBTkFSWSgpOworICAgIENP
TExFQ1RfVVNBR0VfSU5TTihJTlNOX0FUVFIoYmluKSk7CisjbGluZSAzMTcgImluc25zLmRlZiIK
K3sKKyAgICB2YWwgPSBRbmlsOworfQorI2xpbmUgNjQzICJ2bS5pbmMiCisgICAgQ0hFQ0tfVk1f
U1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04oVk1fUkVHX0NGUCwgSU5TTl9BVFRSKHJldG4pKTsKKyAg
ICBDSEVDS19DQU5BUlkoKTsKKyAgICBJTkNfU1AoSU5TTl9BVFRSKHNwX2luYykpOworICAgIFRP
UE4oMCkgPSB2YWw7CisgICAgaWYgKGxlYWYpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKKyAg
ICBFTkRfSU5TTihwdXRuaWwpOworIyAgIHVuZGVmIElOU05fQVRUUgorIyAgIHVuZGVmIE5BTUVf
T0ZfQ1VSUkVOVF9JTlNOCit9CisKKy8qIGluc24gcHV0c2VsZigpKCkodmFsKSAqLworSU5TTl9F
TlRSWShwdXRzZWxmKQoreworIyAgIGRlZmluZSBOQU1FX09GX0NVUlJFTlRfSU5TTiBwdXRzZWxm
CisjICAgZGVmaW5lIElOU05fQVRUUih4KSBhdHRyXyAjIyB4ICMjIF9wdXRzZWxmKCkKKyAgICBi
b29sIGxlYWY7CisgICAgTUFZQkVfVU5VU0VEKFZBTFVFICopIGNhbmFyeTsKKyAgICBNQVlCRV9V
TlVTRUQoVkFMVUUpIHZhbDsKKworICAgIFNUQVJUX09GX09SSUdJTkFMX0lOU04ocHV0c2VsZik7
CisgICAgREVCVUdfRU5URVJfSU5TTihJTlNOX0FUVFIobmFtZSkpOworICAgIGlmICghIChsZWFm
ID0gSU5TTl9BVFRSKGxlYWYpKSkgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOworICAgIFNFVFVQ
X0NBTkFSWSgpOworICAgIENPTExFQ1RfVVNBR0VfSU5TTihJTlNOX0FUVFIoYmluKSk7CisjbGlu
ZSAzMjcgImluc25zLmRlZiIKK3sKKyAgICB2YWwgPSBHRVRfU0VMRigpOworfQorI2xpbmUgNjcy
ICJ2bS5pbmMiCisgICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04oVk1fUkVHX0NG
UCwgSU5TTl9BVFRSKHJldG4pKTsKKyAgICBDSEVDS19DQU5BUlkoKTsKKyAgICBJTkNfU1AoSU5T
Tl9BVFRSKHNwX2luYykpOworICAgIFRPUE4oMCkgPSB2YWw7CisgICAgaWYgKGxlYWYpIEFERF9Q
QyhJTlNOX0FUVFIod2lkdGgpKTsKKyAgICBFTkRfSU5TTihwdXRzZWxmKTsKKyMgICB1bmRlZiBJ
TlNOX0FUVFIKKyMgICB1bmRlZiBOQU1FX09GX0NVUlJFTlRfSU5TTgorfQorCisvKiBpbnNuIHB1
dG9iamVjdCh2YWwpKCkodmFsKSAqLworSU5TTl9FTlRSWShwdXRvYmplY3QpCit7CisjICAgZGVm
aW5lIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOIHB1dG9iamVjdAorIyAgIGRlZmluZSBJTlNOX0FUVFIo
eCkgYXR0cl8gIyMgeCAjIyBfcHV0b2JqZWN0KHZhbCkKKyAgICBib29sIGxlYWY7CisgICAgTUFZ
QkVfVU5VU0VEKFZBTFVFICopIGNhbmFyeTsKKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIHZhbDsK
KworICAgIFNUQVJUX09GX09SSUdJTkFMX0lOU04ocHV0b2JqZWN0KTsKKyAgICB2YWwgPSAoVkFM
VUUpR0VUX09QRVJBTkQoMSk7CisgICAgREVCVUdfRU5URVJfSU5TTihJTlNOX0FUVFIobmFtZSkp
OworICAgIGlmICghIChsZWFmID0gSU5TTl9BVFRSKGxlYWYpKSkgQUREX1BDKElOU05fQVRUUih3
aWR0aCkpOworICAgIENPTExFQ1RfVVNBR0VfSU5TTihJTlNOX0FUVFIoYmluKSk7CisgICAgQ09M
TEVDVF9VU0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAwLCB2YWwpOworICAgIENIRUNLX1ZN
X1NUQUNLX09WRVJGTE9XX0ZPUl9JTlNOKFZNX1JFR19DRlAsIElOU05fQVRUUihyZXRuKSk7Cisg
ICAgSU5DX1NQKElOU05fQVRUUihzcF9pbmMpKTsKKyAgICBUT1BOKDApID0gdmFsOworICAgIGlm
IChsZWFmKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7CisgICAgRU5EX0lOU04ocHV0b2JqZWN0
KTsKKyMgICB1bmRlZiBJTlNOX0FUVFIKKyMgICB1bmRlZiBOQU1FX09GX0NVUlJFTlRfSU5TTgor
fQorCisvKiBpbnNuIHB1dHNwZWNpYWxvYmplY3QodmFsdWVfdHlwZSkoKSh2YWwpICovCitJTlNO
X0VOVFJZKHB1dHNwZWNpYWxvYmplY3QpCit7CisjICAgZGVmaW5lIE5BTUVfT0ZfQ1VSUkVOVF9J
TlNOIHB1dHNwZWNpYWxvYmplY3QKKyMgICBkZWZpbmUgSU5TTl9BVFRSKHgpIGF0dHJfICMjIHgg
IyMgX3B1dHNwZWNpYWxvYmplY3QodmFsdWVfdHlwZSkKKyAgICBib29sIGxlYWY7CisgICAgTUFZ
QkVfVU5VU0VEKFZBTFVFICopIGNhbmFyeTsKKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIHZhbDsK
KyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QpIHZhbHVlX3R5cGU7CisKKyAgICBTVEFSVF9PRl9P
UklHSU5BTF9JTlNOKHB1dHNwZWNpYWxvYmplY3QpOworICAgIHZhbHVlX3R5cGUgPSAocmJfbnVt
X3QpR0VUX09QRVJBTkQoMSk7CisgICAgREVCVUdfRU5URVJfSU5TTihJTlNOX0FUVFIobmFtZSkp
OworICAgIGlmICghIChsZWFmID0gSU5TTl9BVFRSKGxlYWYpKSkgQUREX1BDKElOU05fQVRUUih3
aWR0aCkpOworICAgIFNFVFVQX0NBTkFSWSgpOworICAgIENPTExFQ1RfVVNBR0VfSU5TTihJTlNO
X0FUVFIoYmluKSk7CisgICAgQ09MTEVDVF9VU0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAw
LCB2YWx1ZV90eXBlKTsKKyNsaW5lIDM0OSAiaW5zbnMuZGVmIgoreworICAgIGVudW0gdm1fc3Bl
Y2lhbF9vYmplY3RfdHlwZSB0eXBlOworCisgICAgdHlwZSA9IChlbnVtIHZtX3NwZWNpYWxfb2Jq
ZWN0X3R5cGUpdmFsdWVfdHlwZTsKKyAgICB2YWwgPSB2bV9nZXRfc3BlY2lhbF9vYmplY3QoR0VU
X0VQKCksIHR5cGUpOworfQorI2xpbmUgNzMxICJ2bS5pbmMiCisgICAgQ0hFQ0tfVk1fU1RBQ0tf
T1ZFUkZMT1dfRk9SX0lOU04oVk1fUkVHX0NGUCwgSU5TTl9BVFRSKHJldG4pKTsKKyAgICBDSEVD
S19DQU5BUlkoKTsKKyAgICBJTkNfU1AoSU5TTl9BVFRSKHNwX2luYykpOworICAgIFRPUE4oMCkg
PSB2YWw7CisgICAgaWYgKGxlYWYpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKKyAgICBFTkRf
SU5TTihwdXRzcGVjaWFsb2JqZWN0KTsKKyMgICB1bmRlZiBJTlNOX0FUVFIKKyMgICB1bmRlZiBO
QU1FX09GX0NVUlJFTlRfSU5TTgorfQorCisvKiBpbnNuIHB1dGlzZXEoaXNlcSkoKShyZXQpICov
CitJTlNOX0VOVFJZKHB1dGlzZXEpCit7CisjICAgZGVmaW5lIE5BTUVfT0ZfQ1VSUkVOVF9JTlNO
IHB1dGlzZXEKKyMgICBkZWZpbmUgSU5TTl9BVFRSKHgpIGF0dHJfICMjIHggIyMgX3B1dGlzZXEo
aXNlcSkKKyAgICBib29sIGxlYWY7CisgICAgTUFZQkVfVU5VU0VEKFZBTFVFICopIGNhbmFyeTsK
KyAgICBNQVlCRV9VTlVTRUQoSVNFUSkgaXNlcTsKKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIHJl
dDsKKworICAgIFNUQVJUX09GX09SSUdJTkFMX0lOU04ocHV0aXNlcSk7CisgICAgaXNlcSA9IChJ
U0VRKUdFVF9PUEVSQU5EKDEpOworICAgIERFQlVHX0VOVEVSX0lOU04oSU5TTl9BVFRSKG5hbWUp
KTsKKyAgICBpZiAoISAobGVhZiA9IElOU05fQVRUUihsZWFmKSkpIEFERF9QQyhJTlNOX0FUVFIo
d2lkdGgpKTsKKyAgICBTRVRVUF9DQU5BUlkoKTsKKyAgICBDT0xMRUNUX1VTQUdFX0lOU04oSU5T
Tl9BVFRSKGJpbikpOworICAgIENPTExFQ1RfVVNBR0VfT1BFUkFORChJTlNOX0FUVFIoYmluKSwg
MCwgaXNlcSk7CisjbGluZSAzNjMgImluc25zLmRlZiIKK3sKKyAgICByZXQgPSAoVkFMVUUpaXNl
cTsKK30KKyNsaW5lIDc2MyAidm0uaW5jIgorICAgIENIRUNLX1ZNX1NUQUNLX09WRVJGTE9XX0ZP
Ul9JTlNOKFZNX1JFR19DRlAsIElOU05fQVRUUihyZXRuKSk7CisgICAgQ0hFQ0tfQ0FOQVJZKCk7
CisgICAgSU5DX1NQKElOU05fQVRUUihzcF9pbmMpKTsKKyAgICBUT1BOKDApID0gcmV0OworICAg
IGlmIChsZWFmKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7CisgICAgRU5EX0lOU04ocHV0aXNl
cSk7CisjICAgdW5kZWYgSU5TTl9BVFRSCisjICAgdW5kZWYgTkFNRV9PRl9DVVJSRU5UX0lOU04K
K30KKworLyogaW5zbiBwdXRzdHJpbmcoc3RyKSgpKHZhbCkgKi8KK0lOU05fRU5UUlkocHV0c3Ry
aW5nKQoreworIyAgIGRlZmluZSBOQU1FX09GX0NVUlJFTlRfSU5TTiBwdXRzdHJpbmcKKyMgICBk
ZWZpbmUgSU5TTl9BVFRSKHgpIGF0dHJfICMjIHggIyMgX3B1dHN0cmluZyhzdHIpCisgICAgYm9v
bCBsZWFmOworICAgIE1BWUJFX1VOVVNFRChWQUxVRSAqKSBjYW5hcnk7CisgICAgTUFZQkVfVU5V
U0VEKFZBTFVFKSBzdHIsIHZhbDsKKworICAgIFNUQVJUX09GX09SSUdJTkFMX0lOU04ocHV0c3Ry
aW5nKTsKKyAgICBzdHIgPSAoVkFMVUUpR0VUX09QRVJBTkQoMSk7CisgICAgREVCVUdfRU5URVJf
SU5TTihJTlNOX0FUVFIobmFtZSkpOworICAgIGlmICghIChsZWFmID0gSU5TTl9BVFRSKGxlYWYp
KSkgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOworICAgIFNFVFVQX0NBTkFSWSgpOworICAgIENP
TExFQ1RfVVNBR0VfSU5TTihJTlNOX0FUVFIoYmluKSk7CisgICAgQ09MTEVDVF9VU0FHRV9PUEVS
QU5EKElOU05fQVRUUihiaW4pLCAwLCBzdHIpOworI2xpbmUgMzczICJpbnNucy5kZWYiCit7Cisg
ICAgdmFsID0gcmJfc3RyX3Jlc3VycmVjdChzdHIpOworfQorI2xpbmUgNzk0ICJ2bS5pbmMiCisg
ICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04oVk1fUkVHX0NGUCwgSU5TTl9BVFRS
KHJldG4pKTsKKyAgICBDSEVDS19DQU5BUlkoKTsKKyAgICBJTkNfU1AoSU5TTl9BVFRSKHNwX2lu
YykpOworICAgIFRPUE4oMCkgPSB2YWw7CisgICAgaWYgKGxlYWYpIEFERF9QQyhJTlNOX0FUVFIo
d2lkdGgpKTsKKyAgICBFTkRfSU5TTihwdXRzdHJpbmcpOworIyAgIHVuZGVmIElOU05fQVRUUgor
IyAgIHVuZGVmIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOCit9CisKKy8qIGluc24gY29uY2F0c3RyaW5n
cyhudW0pKC4uLikodmFsKSAqLworSU5TTl9FTlRSWShjb25jYXRzdHJpbmdzKQoreworIyAgIGRl
ZmluZSBOQU1FX09GX0NVUlJFTlRfSU5TTiBjb25jYXRzdHJpbmdzCisjICAgZGVmaW5lIElOU05f
QVRUUih4KSBhdHRyXyAjIyB4ICMjIF9jb25jYXRzdHJpbmdzKG51bSkKKyAgICBib29sIGxlYWY7
CisgICAgTUFZQkVfVU5VU0VEKFZBTFVFICopIGNhbmFyeTsKKyAgICBNQVlCRV9VTlVTRUQoVkFM
VUUpIHZhbDsKKyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QpIG51bTsKKworICAgIFNUQVJUX09G
X09SSUdJTkFMX0lOU04oY29uY2F0c3RyaW5ncyk7CisgICAgbnVtID0gKHJiX251bV90KUdFVF9P
UEVSQU5EKDEpOworICAgIERFQlVHX0VOVEVSX0lOU04oSU5TTl9BVFRSKG5hbWUpKTsKKyAgICBp
ZiAoISAobGVhZiA9IElOU05fQVRUUihsZWFmKSkpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsK
KyAgICBTRVRVUF9DQU5BUlkoKTsKKyAgICBDT0xMRUNUX1VTQUdFX0lOU04oSU5TTl9BVFRSKGJp
bikpOworICAgIENPTExFQ1RfVVNBR0VfT1BFUkFORChJTlNOX0FUVFIoYmluKSwgMCwgbnVtKTsK
KyNsaW5lIDM4NCAiaW5zbnMuZGVmIgoreworICAgIHZhbCA9IHJiX3N0cl9jb25jYXRfbGl0ZXJh
bHMobnVtLCBTVEFDS19BRERSX0ZST01fVE9QKG51bSkpOworfQorI2xpbmUgODI2ICJ2bS5pbmMi
CisgICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04oVk1fUkVHX0NGUCwgSU5TTl9B
VFRSKHJldG4pKTsKKyAgICBDSEVDS19DQU5BUlkoKTsKKyAgICBJTkNfU1AoSU5TTl9BVFRSKHNw
X2luYykpOworICAgIFRPUE4oMCkgPSB2YWw7CisgICAgaWYgKGxlYWYpIEFERF9QQyhJTlNOX0FU
VFIod2lkdGgpKTsKKyAgICBFTkRfSU5TTihjb25jYXRzdHJpbmdzKTsKKyMgICB1bmRlZiBJTlNO
X0FUVFIKKyMgICB1bmRlZiBOQU1FX09GX0NVUlJFTlRfSU5TTgorfQorCisvKiBpbnNuIHRvc3Ry
aW5nKCkodmFsLCBzdHIpKHZhbCkgKi8KK0lOU05fRU5UUlkodG9zdHJpbmcpCit7CisjICAgZGVm
aW5lIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOIHRvc3RyaW5nCisjICAgZGVmaW5lIElOU05fQVRUUih4
KSBhdHRyXyAjIyB4ICMjIF90b3N0cmluZygpCisgICAgYm9vbCBsZWFmOworICAgIE1BWUJFX1VO
VVNFRChWQUxVRSAqKSBjYW5hcnk7CisgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSBzdHIsIHZhbDsK
KworICAgIFNUQVJUX09GX09SSUdJTkFMX0lOU04odG9zdHJpbmcpOworICAgIHZhbCA9IFRPUE4o
MSk7CisgICAgc3RyID0gVE9QTigwKTsKKyAgICBERUJVR19FTlRFUl9JTlNOKElOU05fQVRUUihu
YW1lKSk7CisgICAgaWYgKCEgKGxlYWYgPSBJTlNOX0FUVFIobGVhZikpKSBBRERfUEMoSU5TTl9B
VFRSKHdpZHRoKSk7CisgICAgU0VUVVBfQ0FOQVJZKCk7CisgICAgQ09MTEVDVF9VU0FHRV9JTlNO
KElOU05fQVRUUihiaW4pKTsKKyNsaW5lIDM5NCAiaW5zbnMuZGVmIgoreworICAgIHZhbCA9IHJi
X29ial9hc19zdHJpbmdfcmVzdWx0KHN0ciwgdmFsKTsKK30KKyNsaW5lIDg1NyAidm0uaW5jIgor
ICAgIENIRUNLX1ZNX1NUQUNLX09WRVJGTE9XX0ZPUl9JTlNOKFZNX1JFR19DRlAsIElOU05fQVRU
UihyZXRuKSk7CisgICAgQ0hFQ0tfQ0FOQVJZKCk7CisgICAgSU5DX1NQKElOU05fQVRUUihzcF9p
bmMpKTsKKyAgICBUT1BOKDApID0gdmFsOworICAgIGlmIChsZWFmKSBBRERfUEMoSU5TTl9BVFRS
KHdpZHRoKSk7CisgICAgRU5EX0lOU04odG9zdHJpbmcpOworIyAgIHVuZGVmIElOU05fQVRUUgor
IyAgIHVuZGVmIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOCit9CisKKy8qIGluc24gZnJlZXplc3RyaW5n
KGRlYnVnX2luZm8pKHN0cikoc3RyKSAqLworSU5TTl9FTlRSWShmcmVlemVzdHJpbmcpCit7Cisj
ICAgZGVmaW5lIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOIGZyZWV6ZXN0cmluZworIyAgIGRlZmluZSBJ
TlNOX0FUVFIoeCkgYXR0cl8gIyMgeCAjIyBfZnJlZXplc3RyaW5nKGRlYnVnX2luZm8pCisgICAg
Ym9vbCBsZWFmOworICAgIE1BWUJFX1VOVVNFRChWQUxVRSAqKSBjYW5hcnk7CisgICAgTUFZQkVf
VU5VU0VEKFZBTFVFKSBkZWJ1Z19pbmZvLCBzdHI7CisKKyAgICBTVEFSVF9PRl9PUklHSU5BTF9J
TlNOKGZyZWV6ZXN0cmluZyk7CisgICAgZGVidWdfaW5mbyA9IChWQUxVRSlHRVRfT1BFUkFORCgx
KTsKKyAgICBzdHIgPSBUT1BOKDApOworICAgIERFQlVHX0VOVEVSX0lOU04oSU5TTl9BVFRSKG5h
bWUpKTsKKyAgICBpZiAoISAobGVhZiA9IElOU05fQVRUUihsZWFmKSkpIEFERF9QQyhJTlNOX0FU
VFIod2lkdGgpKTsKKyAgICBTRVRVUF9DQU5BUlkoKTsKKyAgICBDT0xMRUNUX1VTQUdFX0lOU04o
SU5TTl9BVFRSKGJpbikpOworICAgIENPTExFQ1RfVVNBR0VfT1BFUkFORChJTlNOX0FUVFIoYmlu
KSwgMCwgZGVidWdfaW5mbyk7CisjbGluZSA0MDQgImluc25zLmRlZiIKK3sKKyAgICB2bV9mcmVl
emVzdHJpbmcoc3RyLCBkZWJ1Z19pbmZvKTsKK30KKyNsaW5lIDg4OSAidm0uaW5jIgorICAgIENI
RUNLX1ZNX1NUQUNLX09WRVJGTE9XX0ZPUl9JTlNOKFZNX1JFR19DRlAsIElOU05fQVRUUihyZXRu
KSk7CisgICAgQ0hFQ0tfQ0FOQVJZKCk7CisgICAgSU5DX1NQKElOU05fQVRUUihzcF9pbmMpKTsK
KyAgICBUT1BOKDApID0gc3RyOworICAgIGlmIChsZWFmKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRo
KSk7CisgICAgRU5EX0lOU04oZnJlZXplc3RyaW5nKTsKKyMgICB1bmRlZiBJTlNOX0FUVFIKKyMg
ICB1bmRlZiBOQU1FX09GX0NVUlJFTlRfSU5TTgorfQorCisvKiBpbnNuIHRvcmVnZXhwKG9wdCwg
Y250KSguLi4pKHZhbCkgKi8KK0lOU05fRU5UUlkodG9yZWdleHApCit7CisjICAgZGVmaW5lIE5B
TUVfT0ZfQ1VSUkVOVF9JTlNOIHRvcmVnZXhwCisjICAgZGVmaW5lIElOU05fQVRUUih4KSBhdHRy
XyAjIyB4ICMjIF90b3JlZ2V4cChvcHQsIGNudCkKKyAgICBib29sIGxlYWY7CisgICAgTUFZQkVf
VU5VU0VEKFZBTFVFICopIGNhbmFyeTsKKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIHZhbDsKKyAg
ICBNQVlCRV9VTlVTRUQocmJfbnVtX3QpIGNudCwgb3B0OworCisgICAgU1RBUlRfT0ZfT1JJR0lO
QUxfSU5TTih0b3JlZ2V4cCk7CisgICAgb3B0ID0gKHJiX251bV90KUdFVF9PUEVSQU5EKDEpOwor
ICAgIGNudCA9IChyYl9udW1fdClHRVRfT1BFUkFORCgyKTsKKyAgICBERUJVR19FTlRFUl9JTlNO
KElOU05fQVRUUihuYW1lKSk7CisgICAgaWYgKCEgKGxlYWYgPSBJTlNOX0FUVFIobGVhZikpKSBB
RERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7CisgICAgU0VUVVBfQ0FOQVJZKCk7CisgICAgQ09MTEVD
VF9VU0FHRV9JTlNOKElOU05fQVRUUihiaW4pKTsKKyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQo
SU5TTl9BVFRSKGJpbiksIDAsIG9wdCk7CisgICAgQ09MTEVDVF9VU0FHRV9PUEVSQU5EKElOU05f
QVRUUihiaW4pLCAxLCBjbnQpOworI2xpbmUgNDIwICJpbnNucy5kZWYiCit7CisgICAgY29uc3Qg
VkFMVUUgYXJ5ID0gcmJfYXJ5X3RtcF9uZXdfZnJvbV92YWx1ZXMoMCwgY250LCBTVEFDS19BRERS
X0ZST01fVE9QKGNudCkpOworICAgIHZhbCA9IHJiX3JlZ19uZXdfYXJ5KGFyeSwgKGludClvcHQp
OworICAgIHJiX2FyeV9jbGVhcihhcnkpOworfQorI2xpbmUgOTI1ICJ2bS5pbmMiCisgICAgQ0hF
Q0tfVk1fU1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04oVk1fUkVHX0NGUCwgSU5TTl9BVFRSKHJldG4p
KTsKKyAgICBDSEVDS19DQU5BUlkoKTsKKyAgICBJTkNfU1AoSU5TTl9BVFRSKHNwX2luYykpOwor
ICAgIFRPUE4oMCkgPSB2YWw7CisgICAgaWYgKGxlYWYpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgp
KTsKKyAgICBFTkRfSU5TTih0b3JlZ2V4cCk7CisjICAgdW5kZWYgSU5TTl9BVFRSCisjICAgdW5k
ZWYgTkFNRV9PRl9DVVJSRU5UX0lOU04KK30KKworLyogaW5zbiBpbnRlcm4oKShzdHIpKHN5bSkg
Ki8KK0lOU05fRU5UUlkoaW50ZXJuKQoreworIyAgIGRlZmluZSBOQU1FX09GX0NVUlJFTlRfSU5T
TiBpbnRlcm4KKyMgICBkZWZpbmUgSU5TTl9BVFRSKHgpIGF0dHJfICMjIHggIyMgX2ludGVybigp
CisgICAgYm9vbCBsZWFmOworICAgIE1BWUJFX1VOVVNFRChWQUxVRSAqKSBjYW5hcnk7CisgICAg
TUFZQkVfVU5VU0VEKFZBTFVFKSBzdHIsIHN5bTsKKworICAgIFNUQVJUX09GX09SSUdJTkFMX0lO
U04oaW50ZXJuKTsKKyAgICBzdHIgPSBUT1BOKDApOworICAgIERFQlVHX0VOVEVSX0lOU04oSU5T
Tl9BVFRSKG5hbWUpKTsKKyAgICBpZiAoISAobGVhZiA9IElOU05fQVRUUihsZWFmKSkpIEFERF9Q
QyhJTlNOX0FUVFIod2lkdGgpKTsKKyAgICBTRVRVUF9DQU5BUlkoKTsKKyAgICBDT0xMRUNUX1VT
QUdFX0lOU04oSU5TTl9BVFRSKGJpbikpOworI2xpbmUgNDMyICJpbnNucy5kZWYiCit7CisgICAg
c3ltID0gcmJfc3RyX2ludGVybihzdHIpOworfQorI2xpbmUgOTU1ICJ2bS5pbmMiCisgICAgQ0hF
Q0tfVk1fU1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04oVk1fUkVHX0NGUCwgSU5TTl9BVFRSKHJldG4p
KTsKKyAgICBDSEVDS19DQU5BUlkoKTsKKyAgICBJTkNfU1AoSU5TTl9BVFRSKHNwX2luYykpOwor
ICAgIFRPUE4oMCkgPSBzeW07CisgICAgaWYgKGxlYWYpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgp
KTsKKyAgICBFTkRfSU5TTihpbnRlcm4pOworIyAgIHVuZGVmIElOU05fQVRUUgorIyAgIHVuZGVm
IE5BTUVfT0ZfQ1VSUkVOVF9JTlNOCit9CisKKy8qIGluc24gbmV3YXJyYXkobnVtKSguLi4pKHZh
bCkgKi8KK0lOU05fRU5UUlkobmV3YXJyYXkpCit7CisjICAgZGVmaW5lIE5BTUVfT0ZfQ1VSUkVO
VF9JTlNOIG5ld2FycmF5CisjICAgZGVmaW5lIElOU05fQVRUUih4KSBhdHRyXyAjIyB4ICMjIF9u
ZXdhcnJheShudW0pCisgICAgYm9vbCBsZWFmOworICAgIE1BWUJFX1VOVVNFRChWQUxVRSAqKSBj
YW5hcnk7CisgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSB2YWw7CisgICAgTUFZQkVfVU5VU0VEKHJi
X251bV90KSBudW07CisKKyAgICBTVEFSVF9PRl9PUklHSU5BTF9JTlNOKG5ld2FycmF5KTsKKyAg
ICBudW0gPSAocmJfbnVtX3QpR0VUX09QRVJBTkQoMSk7CisgICAgREVCVUdfRU5URVJfSU5TTihJ
TlNOX0FUVFIobmFtZSkpOworICAgIGlmICghIChsZWFmID0gSU5TTl9BVFRSKGxlYWYpKSkgQURE
X1BDKElOU05fQVRUUih3aWR0aCkpOworICAgIFNFVFVQX0NBTkFSWSgpOworICAgIENPTExFQ1Rf
VVNBR0VfSU5TTihJTlNOX0FUVFIoYmluKSk7CisgICAgQ09MTEVDVF9VU0FHRV9PUEVSQU5EKElO
U05fQVRUUihiaW4pLCAwLCBudW0pOworI2xpbmUgNDQzICJpbnNucy5kZWYiCit7CisgICAgdmFs
ID0gcmJfYXJ5X25ldzQobnVtLCBTVEFDS19BRERSX0ZST01fVE9QKG51bSkpOworfQorI2xpbmUg
OTg3ICJ2bS5pbmMiCisgICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04oVk1fUkVH
X0NGUCwgSU5TTl9BVFRSKHJldG4pKTsKKyAgICBDSEVDS19DQU5BUlkoKTsKKyAgICBJTkNfU1Ao
SU5TTl9BVFRSKHNwX2luYykpOworICAgIFRPUE4oMCkgPSB2YWw7CisgICAgaWYgKGxlYWYpIEFE
RF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKKyAgICBFTkRfSU5TTihuZXdhcnJheSk7CisjICAgdW5k
ZWYgSU5TTl9BVFRSCisjICAgdW5kZWYgTkFNRV9PRl9DVVJSRU5UX0lOU04KK30KKworLyogaW5z
biBkdXBhcnJheShhcnkpKCkodmFsKSAqLworSU5TTl9FTlRSWShkdXBhcnJheSkKK3sKKyMgICBk
ZWZpbmUgTkFNRV9PRl9DVVJSRU5UX0lOU04gZHVwYXJyYXkKKyMgICBkZWZpbmUgSU5TTl9BVFRS
KHgpIGF0dHJfICMjIHggIyMgX2R1cGFycmF5KGFyeSkKKyAgICBib29sIGxlYWY7CisgICAgTUFZ
QkVfVU5VU0VEKFZBTFVFICopIGNhbmFyeTsKKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIGFyeSwg
dmFsOworCisgICAgU1RBUlRfT0ZfT1JJR0lOQUxfSU5TTihkdXBhcnJheSk7CisgICAgYXJ5ID0g
KFZBTFVFKUdFVF9PUEVSQU5EKDEpOworICAgIERFQlVHX0VOVEVSX0lOU04oSU5TTl9BVFRSKG5h
bWUpKTsKKyAgICBpZiAoISAobGVhZiA9IElOU05fQVRUUihsZWFmKSkpIEFERF9QQyhJTlNOX0FU
VFIod2lkdGgpKTsKKyAgICBTRVRVUF9DQU5BUlkoKTsKKyAgICBDT0xMRUNUX1VTQUdFX0lOU04o
SU5TTl9BVFRSKGJpbikpOworICAgIENPTExFQ1RfVVNBR0VfT1BFUkFORChJTlNOX0FUVFIoYmlu
KSwgMCwgYXJ5KTsKKyNsaW5lIDQ1MyAiaW5zbnMuZGVmIgoreworICAgIFJVQllfRFRSQUNFX0NS
RUFURV9IT09LKEFSUkFZLCBSQVJSQVlfTEVOKGFyeSkpOworICAgIHZhbCA9IHJiX2FyeV9yZXN1
cnJlY3QoYXJ5KTsKK30KKyNsaW5lIDEwMTkgInZtLmluYyIKKyAgICBDSEVDS19WTV9TVEFDS19P
VkVSRkxPV19GT1JfSU5TTihWTV9SRUdfQ0ZQLCBJTlNOX0FUVFIocmV0bikpOworICAgIENIRUNL
X0NBTkFSWSgpOworICAgIElOQ19TUChJTlNOX0FUVFIoc3BfaW5jKSk7CisgICAgVE9QTigwKSA9
IHZhbDsKKyAgICBpZiAobGVhZikgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOworICAgIEVORF9J
TlNOKGR1cGFycmF5KTsKKyMgICB1bmRlZiBJTlNOX0FUVFIKKyMgICB1bmRlZiBOQU1FX09GX0NV
UlJFTlRfSU5TTgorfQorCisvKiBpbnNuIGR1cGhhc2goaGFzaCkoKSh2YWwpICovCitJTlNOX0VO
VFJZKGR1cGhhc2gpCit7CisjICAgZGVmaW5lIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOIGR1cGhhc2gK
KyMgICBkZWZpbmUgSU5TTl9BVFRSKHgpIGF0dHJfICMjIHggIyMgX2R1cGhhc2goaGFzaCkKKyAg
ICBib29sIGxlYWY7CisgICAgTUFZQkVfVU5VU0VEKFZBTFVFICopIGNhbmFyeTsKKyAgICBNQVlC
RV9VTlVTRUQoVkFMVUUpIGhhc2gsIHZhbDsKKworICAgIFNUQVJUX09GX09SSUdJTkFMX0lOU04o
ZHVwaGFzaCk7CisgICAgaGFzaCA9IChWQUxVRSlHRVRfT1BFUkFORCgxKTsKKyAgICBERUJVR19F
TlRFUl9JTlNOKElOU05fQVRUUihuYW1lKSk7CisgICAgaWYgKCEgKGxlYWYgPSBJTlNOX0FUVFIo
bGVhZikpKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7CisgICAgU0VUVVBfQ0FOQVJZKCk7Cisg
ICAgQ09MTEVDVF9VU0FHRV9JTlNOKElOU05fQVRUUihiaW4pKTsKKyAgICBDT0xMRUNUX1VTQUdF
X09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDAsIGhhc2gpOworI2xpbmUgNDY0ICJpbnNucy5kZWYi
Cit7CisgICAgUlVCWV9EVFJBQ0VfQ1JFQVRFX0hPT0soSEFTSCwgUkhBU0hfU0laRShoYXNoKSA8
PCAxKTsKKyAgICB2YWwgPSByYl9oYXNoX3Jlc3VycmVjdChoYXNoKTsKK30KKyNsaW5lIDEwNTEg
InZtLmluYyIKKyAgICBDSEVDS19WTV9TVEFDS19PVkVSRkxPV19GT1JfSU5TTihWTV9SRUdfQ0ZQ
LCBJTlNOX0FUVFIocmV0bikpOworICAgIENIRUNLX0NBTkFSWSgpOworICAgIElOQ19TUChJTlNO
X0FUVFIoc3BfaW5jKSk7CisgICAgVE9QTigwKSA9IHZhbDsKKyAgICBpZiAobGVhZikgQUREX1BD
KElOU05fQVRUUih3aWR0aCkpOworICAgIEVORF9JTlNOKGR1cGhhc2gpOworIyAgIHVuZGVmIElO
U05fQVRUUgorIyAgIHVuZGVmIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOCit9CisKKy8qIGluc24gZXhw
YW5kYXJyYXkobnVtLCBmbGFnKSguLi4sIGFyeSkoLi4uKSAqLworSU5TTl9FTlRSWShleHBhbmRh
cnJheSkKK3sKKyMgICBkZWZpbmUgTkFNRV9PRl9DVVJSRU5UX0lOU04gZXhwYW5kYXJyYXkKKyMg
ICBkZWZpbmUgSU5TTl9BVFRSKHgpIGF0dHJfICMjIHggIyMgX2V4cGFuZGFycmF5KG51bSwgZmxh
ZykKKyAgICBib29sIGxlYWY7CisgICAgTUFZQkVfVU5VU0VEKFZBTFVFICopIGNhbmFyeTsKKyAg
ICBNQVlCRV9VTlVTRUQoVkFMVUUpIGFyeTsKKyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QpIGZs
YWcsIG51bTsKKworICAgIFNUQVJUX09GX09SSUdJTkFMX0lOU04oZXhwYW5kYXJyYXkpOworICAg
IG51bSA9IChyYl9udW1fdClHRVRfT1BFUkFORCgxKTsKKyAgICBmbGFnID0gKHJiX251bV90KUdF
VF9PUEVSQU5EKDIpOworICAgIGFyeSA9IFRPUE4oMCk7CisgICAgREVCVUdfRU5URVJfSU5TTihJ
TlNOX0FUVFIobmFtZSkpOworICAgIGlmICghIChsZWFmID0gSU5TTl9BVFRSKGxlYWYpKSkgQURE
X1BDKElOU05fQVRUUih3aWR0aCkpOworICAgIENPTExFQ1RfVVNBR0VfSU5TTihJTlNOX0FUVFIo
YmluKSk7CisgICAgQ09MTEVDVF9VU0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAwLCBudW0p
OworICAgIENPTExFQ1RfVVNBR0VfT1BFUkFORChJTlNOX0FUVFIoYmluKSwgMSwgZmxhZyk7Cisj
bGluZSA0ODUgImluc25zLmRlZiIKK3sKKyAgICB2bV9leHBhbmRhcnJheShHRVRfU1AoKSwgYXJ5
LCBudW0sIChpbnQpZmxhZyk7Cit9CisjbGluZSAxMDg1ICJ2bS5pbmMiCisgICAgQ0hFQ0tfVk1f
U1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04oVk1fUkVHX0NGUCwgSU5TTl9BVFRSKHJldG4pKTsKKyAg
ICBJTkNfU1AoSU5TTl9BVFRSKHNwX2luYykpOworICAgIGlmIChsZWFmKSBBRERfUEMoSU5TTl9B
VFRSKHdpZHRoKSk7CisgICAgRU5EX0lOU04oZXhwYW5kYXJyYXkpOworIyAgIHVuZGVmIElOU05f
QVRUUgorIyAgIHVuZGVmIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOCit9CisKKy8qIGluc24gY29uY2F0
YXJyYXkoKShhcnkxLCBhcnkyKShhcnkpICovCitJTlNOX0VOVFJZKGNvbmNhdGFycmF5KQorewor
IyAgIGRlZmluZSBOQU1FX09GX0NVUlJFTlRfSU5TTiBjb25jYXRhcnJheQorIyAgIGRlZmluZSBJ
TlNOX0FUVFIoeCkgYXR0cl8gIyMgeCAjIyBfY29uY2F0YXJyYXkoKQorICAgIGJvb2wgbGVhZjsK
KyAgICBNQVlCRV9VTlVTRUQoVkFMVUUgKikgY2FuYXJ5OworICAgIE1BWUJFX1VOVVNFRChWQUxV
RSkgYXJ5LCBhcnkxLCBhcnkyOworCisgICAgU1RBUlRfT0ZfT1JJR0lOQUxfSU5TTihjb25jYXRh
cnJheSk7CisgICAgYXJ5MSA9IFRPUE4oMSk7CisgICAgYXJ5MiA9IFRPUE4oMCk7CisgICAgREVC
VUdfRU5URVJfSU5TTihJTlNOX0FUVFIobmFtZSkpOworICAgIGlmICghIChsZWFmID0gSU5TTl9B
VFRSKGxlYWYpKSkgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOworICAgIFNFVFVQX0NBTkFSWSgp
OworICAgIENPTExFQ1RfVVNBR0VfSU5TTihJTlNOX0FUVFIoYmluKSk7CisjbGluZSA0OTYgImlu
c25zLmRlZiIKK3sKKyAgICBhcnkgPSB2bV9jb25jYXRfYXJyYXkoYXJ5MSwgYXJ5Mik7Cit9Cisj
bGluZSAxMTE0ICJ2bS5pbmMiCisgICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04o
Vk1fUkVHX0NGUCwgSU5TTl9BVFRSKHJldG4pKTsKKyAgICBDSEVDS19DQU5BUlkoKTsKKyAgICBJ
TkNfU1AoSU5TTl9BVFRSKHNwX2luYykpOworICAgIFRPUE4oMCkgPSBhcnk7CisgICAgaWYgKGxl
YWYpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKKyAgICBFTkRfSU5TTihjb25jYXRhcnJheSk7
CisjICAgdW5kZWYgSU5TTl9BVFRSCisjICAgdW5kZWYgTkFNRV9PRl9DVVJSRU5UX0lOU04KK30K
KworLyogaW5zbiBzcGxhdGFycmF5KGZsYWcpKGFyeSkob2JqKSAqLworSU5TTl9FTlRSWShzcGxh
dGFycmF5KQoreworIyAgIGRlZmluZSBOQU1FX09GX0NVUlJFTlRfSU5TTiBzcGxhdGFycmF5Cisj
ICAgZGVmaW5lIElOU05fQVRUUih4KSBhdHRyXyAjIyB4ICMjIF9zcGxhdGFycmF5KGZsYWcpCisg
ICAgYm9vbCBsZWFmOworICAgIE1BWUJFX1VOVVNFRChWQUxVRSAqKSBjYW5hcnk7CisgICAgTUFZ
QkVfVU5VU0VEKFZBTFVFKSBhcnksIGZsYWcsIG9iajsKKworICAgIFNUQVJUX09GX09SSUdJTkFM
X0lOU04oc3BsYXRhcnJheSk7CisgICAgZmxhZyA9IChWQUxVRSlHRVRfT1BFUkFORCgxKTsKKyAg
ICBhcnkgPSBUT1BOKDApOworICAgIERFQlVHX0VOVEVSX0lOU04oSU5TTl9BVFRSKG5hbWUpKTsK
KyAgICBpZiAoISAobGVhZiA9IElOU05fQVRUUihsZWFmKSkpIEFERF9QQyhJTlNOX0FUVFIod2lk
dGgpKTsKKyAgICBTRVRVUF9DQU5BUlkoKTsKKyAgICBDT0xMRUNUX1VTQUdFX0lOU04oSU5TTl9B
VFRSKGJpbikpOworICAgIENPTExFQ1RfVVNBR0VfT1BFUkFORChJTlNOX0FUVFIoYmluKSwgMCwg
ZmxhZyk7CisjbGluZSA1MDcgImluc25zLmRlZiIKK3sKKyAgICBvYmogPSB2bV9zcGxhdF9hcnJh
eShmbGFnLCBhcnkpOworfQorI2xpbmUgMTE0NiAidm0uaW5jIgorICAgIENIRUNLX1ZNX1NUQUNL
X09WRVJGTE9XX0ZPUl9JTlNOKFZNX1JFR19DRlAsIElOU05fQVRUUihyZXRuKSk7CisgICAgQ0hF
Q0tfQ0FOQVJZKCk7CisgICAgSU5DX1NQKElOU05fQVRUUihzcF9pbmMpKTsKKyAgICBUT1BOKDAp
ID0gb2JqOworICAgIGlmIChsZWFmKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7CisgICAgRU5E
X0lOU04oc3BsYXRhcnJheSk7CisjICAgdW5kZWYgSU5TTl9BVFRSCisjICAgdW5kZWYgTkFNRV9P
Rl9DVVJSRU5UX0lOU04KK30KKworLyogaW5zbiBuZXdoYXNoKG51bSkoLi4uKSh2YWwpICovCitJ
TlNOX0VOVFJZKG5ld2hhc2gpCit7CisjICAgZGVmaW5lIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOIG5l
d2hhc2gKKyMgICBkZWZpbmUgSU5TTl9BVFRSKHgpIGF0dHJfICMjIHggIyMgX25ld2hhc2gobnVt
KQorICAgIGJvb2wgbGVhZjsKKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUgKikgY2FuYXJ5OworICAg
IE1BWUJFX1VOVVNFRChWQUxVRSkgdmFsOworICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCkgbnVt
OworCisgICAgU1RBUlRfT0ZfT1JJR0lOQUxfSU5TTihuZXdoYXNoKTsKKyAgICBudW0gPSAocmJf
bnVtX3QpR0VUX09QRVJBTkQoMSk7CisgICAgREVCVUdfRU5URVJfSU5TTihJTlNOX0FUVFIobmFt
ZSkpOworICAgIGlmICghIChsZWFmID0gSU5TTl9BVFRSKGxlYWYpKSkgQUREX1BDKElOU05fQVRU
Uih3aWR0aCkpOworICAgIFNFVFVQX0NBTkFSWSgpOworICAgIENPTExFQ1RfVVNBR0VfSU5TTihJ
TlNOX0FUVFIoYmluKSk7CisgICAgQ09MTEVDVF9VU0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4p
LCAwLCBudW0pOworI2xpbmUgNTE5ICJpbnNucy5kZWYiCit7CisgICAgUlVCWV9EVFJBQ0VfQ1JF
QVRFX0hPT0soSEFTSCwgbnVtKTsKKworICAgIHZhbCA9IHJiX2hhc2hfbmV3X3dpdGhfc2l6ZShu
dW0gLyAyKTsKKworICAgIGlmIChudW0pIHsKKyAgICAgICAgcmJfaGFzaF9idWxrX2luc2VydChu
dW0sIFNUQUNLX0FERFJfRlJPTV9UT1AobnVtKSwgdmFsKTsKKyAgICB9Cit9CisjbGluZSAxMTg0
ICJ2bS5pbmMiCisgICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04oVk1fUkVHX0NG
UCwgSU5TTl9BVFRSKHJldG4pKTsKKyAgICBDSEVDS19DQU5BUlkoKTsKKyAgICBJTkNfU1AoSU5T
Tl9BVFRSKHNwX2luYykpOworICAgIFRPUE4oMCkgPSB2YWw7CisgICAgaWYgKGxlYWYpIEFERF9Q
QyhJTlNOX0FUVFIod2lkdGgpKTsKKyAgICBFTkRfSU5TTihuZXdoYXNoKTsKKyMgICB1bmRlZiBJ
TlNOX0FUVFIKKyMgICB1bmRlZiBOQU1FX09GX0NVUlJFTlRfSU5TTgorfQorCisvKiBpbnNuIG5l
d3JhbmdlKGZsYWcpKGxvdywgaGlnaCkodmFsKSAqLworSU5TTl9FTlRSWShuZXdyYW5nZSkKK3sK
KyMgICBkZWZpbmUgTkFNRV9PRl9DVVJSRU5UX0lOU04gbmV3cmFuZ2UKKyMgICBkZWZpbmUgSU5T
Tl9BVFRSKHgpIGF0dHJfICMjIHggIyMgX25ld3JhbmdlKGZsYWcpCisgICAgYm9vbCBsZWFmOwor
ICAgIE1BWUJFX1VOVVNFRChWQUxVRSAqKSBjYW5hcnk7CisgICAgTUFZQkVfVU5VU0VEKFZBTFVF
KSBoaWdoLCBsb3csIHZhbDsKKyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QpIGZsYWc7CisKKyAg
ICBTVEFSVF9PRl9PUklHSU5BTF9JTlNOKG5ld3JhbmdlKTsKKyAgICBmbGFnID0gKHJiX251bV90
KUdFVF9PUEVSQU5EKDEpOworICAgIGxvdyA9IFRPUE4oMSk7CisgICAgaGlnaCA9IFRPUE4oMCk7
CisgICAgREVCVUdfRU5URVJfSU5TTihJTlNOX0FUVFIobmFtZSkpOworICAgIGlmICghIChsZWFm
ID0gSU5TTl9BVFRSKGxlYWYpKSkgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOworICAgIFNFVFVQ
X0NBTkFSWSgpOworICAgIENPTExFQ1RfVVNBR0VfSU5TTihJTlNOX0FUVFIoYmluKSk7CisgICAg
Q09MTEVDVF9VU0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAwLCBmbGFnKTsKKyNsaW5lIDUz
NyAiaW5zbnMuZGVmIgoreworICAgIHZhbCA9IHJiX3JhbmdlX25ldyhsb3csIGhpZ2gsIChpbnQp
ZmxhZyk7Cit9CisjbGluZSAxMjE4ICJ2bS5pbmMiCisgICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZFUkZM
T1dfRk9SX0lOU04oVk1fUkVHX0NGUCwgSU5TTl9BVFRSKHJldG4pKTsKKyAgICBDSEVDS19DQU5B
UlkoKTsKKyAgICBJTkNfU1AoSU5TTl9BVFRSKHNwX2luYykpOworICAgIFRPUE4oMCkgPSB2YWw7
CisgICAgaWYgKGxlYWYpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKKyAgICBFTkRfSU5TTihu
ZXdyYW5nZSk7CisjICAgdW5kZWYgSU5TTl9BVFRSCisjICAgdW5kZWYgTkFNRV9PRl9DVVJSRU5U
X0lOU04KK30KKworLyogaW5zbiBwb3AoKSh2YWwpKCkgKi8KK0lOU05fRU5UUlkocG9wKQorewor
IyAgIGRlZmluZSBOQU1FX09GX0NVUlJFTlRfSU5TTiBwb3AKKyMgICBkZWZpbmUgSU5TTl9BVFRS
KHgpIGF0dHJfICMjIHggIyMgX3BvcCgpCisgICAgYm9vbCBsZWFmOworICAgIE1BWUJFX1VOVVNF
RChWQUxVRSAqKSBjYW5hcnk7CisgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSB2YWw7CisKKyAgICBT
VEFSVF9PRl9PUklHSU5BTF9JTlNOKHBvcCk7CisgICAgdmFsID0gVE9QTigwKTsKKyAgICBERUJV
R19FTlRFUl9JTlNOKElOU05fQVRUUihuYW1lKSk7CisgICAgaWYgKCEgKGxlYWYgPSBJTlNOX0FU
VFIobGVhZikpKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7CisgICAgU0VUVVBfQ0FOQVJZKCk7
CisgICAgQ09MTEVDVF9VU0FHRV9JTlNOKElOU05fQVRUUihiaW4pKTsKKyNsaW5lIDU1MSAiaW5z
bnMuZGVmIgoreworICAgICh2b2lkKXZhbDsKKyAgICAvKiBub25lICovCit9CisjbGluZSAxMjQ5
ICJ2bS5pbmMiCisgICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04oVk1fUkVHX0NG
UCwgSU5TTl9BVFRSKHJldG4pKTsKKyAgICBDSEVDS19DQU5BUlkoKTsKKyAgICBJTkNfU1AoSU5T
Tl9BVFRSKHNwX2luYykpOworICAgIGlmIChsZWFmKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7
CisgICAgRU5EX0lOU04ocG9wKTsKKyMgICB1bmRlZiBJTlNOX0FUVFIKKyMgICB1bmRlZiBOQU1F
X09GX0NVUlJFTlRfSU5TTgorfQorCisvKiBpbnNuIGR1cCgpKHZhbCkodmFsMSwgdmFsMikgKi8K
K0lOU05fRU5UUlkoZHVwKQoreworIyAgIGRlZmluZSBOQU1FX09GX0NVUlJFTlRfSU5TTiBkdXAK
KyMgICBkZWZpbmUgSU5TTl9BVFRSKHgpIGF0dHJfICMjIHggIyMgX2R1cCgpCisgICAgYm9vbCBs
ZWFmOworICAgIE1BWUJFX1VOVVNFRChWQUxVRSAqKSBjYW5hcnk7CisgICAgTUFZQkVfVU5VU0VE
KFZBTFVFKSB2YWwsIHZhbDEsIHZhbDI7CisKKyAgICBTVEFSVF9PRl9PUklHSU5BTF9JTlNOKGR1
cCk7CisgICAgdmFsID0gVE9QTigwKTsKKyAgICBERUJVR19FTlRFUl9JTlNOKElOU05fQVRUUihu
YW1lKSk7CisgICAgaWYgKCEgKGxlYWYgPSBJTlNOX0FUVFIobGVhZikpKSBBRERfUEMoSU5TTl9B
VFRSKHdpZHRoKSk7CisgICAgU0VUVVBfQ0FOQVJZKCk7CisgICAgQ09MTEVDVF9VU0FHRV9JTlNO
KElOU05fQVRUUihiaW4pKTsKKyNsaW5lIDU2MiAiaW5zbnMuZGVmIgoreworICAgIHZhbDEgPSB2
YWwyID0gdmFsOworfQorI2xpbmUgMTI3OCAidm0uaW5jIgorICAgIENIRUNLX1ZNX1NUQUNLX09W
RVJGTE9XX0ZPUl9JTlNOKFZNX1JFR19DRlAsIElOU05fQVRUUihyZXRuKSk7CisgICAgQ0hFQ0tf
Q0FOQVJZKCk7CisgICAgSU5DX1NQKElOU05fQVRUUihzcF9pbmMpKTsKKyAgICBUT1BOKDApID0g
dmFsMjsKKyAgICBUT1BOKDEpID0gdmFsMTsKKyAgICBpZiAobGVhZikgQUREX1BDKElOU05fQVRU
Uih3aWR0aCkpOworICAgIEVORF9JTlNOKGR1cCk7CisjICAgdW5kZWYgSU5TTl9BVFRSCisjICAg
dW5kZWYgTkFNRV9PRl9DVVJSRU5UX0lOU04KK30KKworLyogaW5zbiBkdXBuKG4pKC4uLikoLi4u
KSAqLworSU5TTl9FTlRSWShkdXBuKQoreworIyAgIGRlZmluZSBOQU1FX09GX0NVUlJFTlRfSU5T
TiBkdXBuCisjICAgZGVmaW5lIElOU05fQVRUUih4KSBhdHRyXyAjIyB4ICMjIF9kdXBuKG4pCisg
ICAgYm9vbCBsZWFmOworICAgIE1BWUJFX1VOVVNFRChWQUxVRSAqKSBjYW5hcnk7CisgICAgTUFZ
QkVfVU5VU0VEKHJiX251bV90KSBuOworCisgICAgU1RBUlRfT0ZfT1JJR0lOQUxfSU5TTihkdXBu
KTsKKyAgICBuID0gKHJiX251bV90KUdFVF9PUEVSQU5EKDEpOworICAgIERFQlVHX0VOVEVSX0lO
U04oSU5TTl9BVFRSKG5hbWUpKTsKKyAgICBpZiAoISAobGVhZiA9IElOU05fQVRUUihsZWFmKSkp
IEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKKyAgICBDT0xMRUNUX1VTQUdFX0lOU04oSU5TTl9B
VFRSKGJpbikpOworICAgIENPTExFQ1RfVVNBR0VfT1BFUkFORChJTlNOX0FUVFIoYmluKSwgMCwg
bik7CisjbGluZSA1NzMgImluc25zLmRlZiIKK3sKKyAgICB2b2lkICpkc3QgPSBHRVRfU1AoKTsK
KyAgICB2b2lkICpzcmMgPSBTVEFDS19BRERSX0ZST01fVE9QKG4pOworCisgICAgTUVNQ1BZKGRz
dCwgc3JjLCBWQUxVRSwgbik7Cit9CisjbGluZSAxMzEyICJ2bS5pbmMiCisgICAgQ0hFQ0tfVk1f
U1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04oVk1fUkVHX0NGUCwgSU5TTl9BVFRSKHJldG4pKTsKKyAg
ICBJTkNfU1AoSU5TTl9BVFRSKHNwX2luYykpOworICAgIGlmIChsZWFmKSBBRERfUEMoSU5TTl9B
VFRSKHdpZHRoKSk7CisgICAgRU5EX0lOU04oZHVwbik7CisjICAgdW5kZWYgSU5TTl9BVFRSCisj
ICAgdW5kZWYgTkFNRV9PRl9DVVJSRU5UX0lOU04KK30KKworLyogaW5zbiBzd2FwKCkodmFsLCBv
YmopKG9iaiwgdmFsKSAqLworSU5TTl9FTlRSWShzd2FwKQoreworIyAgIGRlZmluZSBOQU1FX09G
X0NVUlJFTlRfSU5TTiBzd2FwCisjICAgZGVmaW5lIElOU05fQVRUUih4KSBhdHRyXyAjIyB4ICMj
IF9zd2FwKCkKKyAgICBib29sIGxlYWY7CisgICAgTUFZQkVfVU5VU0VEKFZBTFVFICopIGNhbmFy
eTsKKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIG9iaiwgdmFsOworCisgICAgU1RBUlRfT0ZfT1JJ
R0lOQUxfSU5TTihzd2FwKTsKKyAgICB2YWwgPSBUT1BOKDEpOworICAgIG9iaiA9IFRPUE4oMCk7
CisgICAgREVCVUdfRU5URVJfSU5TTihJTlNOX0FUVFIobmFtZSkpOworICAgIGlmICghIChsZWFm
ID0gSU5TTl9BVFRSKGxlYWYpKSkgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOworICAgIENPTExF
Q1RfVVNBR0VfSU5TTihJTlNOX0FUVFIoYmluKSk7CisgICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZFUkZM
T1dfRk9SX0lOU04oVk1fUkVHX0NGUCwgSU5TTl9BVFRSKHJldG4pKTsKKyAgICBJTkNfU1AoSU5T
Tl9BVFRSKHNwX2luYykpOworICAgIFRPUE4oMCkgPSB2YWw7CisgICAgVE9QTigxKSA9IG9iajsK
KyAgICBpZiAobGVhZikgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOworICAgIEVORF9JTlNOKHN3
YXApOworIyAgIHVuZGVmIElOU05fQVRUUgorIyAgIHVuZGVmIE5BTUVfT0ZfQ1VSUkVOVF9JTlNO
Cit9CisKKy8qIGluc24gcmV2ZXJzZShuKSguLi4pKC4uLikgKi8KK0lOU05fRU5UUlkocmV2ZXJz
ZSkKK3sKKyMgICBkZWZpbmUgTkFNRV9PRl9DVVJSRU5UX0lOU04gcmV2ZXJzZQorIyAgIGRlZmlu
ZSBJTlNOX0FUVFIoeCkgYXR0cl8gIyMgeCAjIyBfcmV2ZXJzZShuKQorICAgIGJvb2wgbGVhZjsK
KyAgICBNQVlCRV9VTlVTRUQoVkFMVUUgKikgY2FuYXJ5OworICAgIE1BWUJFX1VOVVNFRChyYl9u
dW1fdCkgbjsKKworICAgIFNUQVJUX09GX09SSUdJTkFMX0lOU04ocmV2ZXJzZSk7CisgICAgbiA9
IChyYl9udW1fdClHRVRfT1BFUkFORCgxKTsKKyAgICBERUJVR19FTlRFUl9JTlNOKElOU05fQVRU
UihuYW1lKSk7CisgICAgaWYgKCEgKGxlYWYgPSBJTlNOX0FUVFIobGVhZikpKSBBRERfUEMoSU5T
Tl9BVFRSKHdpZHRoKSk7CisgICAgQ09MTEVDVF9VU0FHRV9JTlNOKElOU05fQVRUUihiaW4pKTsK
KyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDAsIG4pOworI2xpbmUg
NTk3ICJpbnNucy5kZWYiCit7CisgICAgcmJfbnVtX3QgaTsKKyAgICBWQUxVRSAqc3AgPSBTVEFD
S19BRERSX0ZST01fVE9QKG4pOworCisgICAgZm9yIChpPTA7IGk8bi8yOyBpKyspIHsKKwlWQUxV
RSB2MCA9IHNwW2ldOworCVZBTFVFIHYxID0gVE9QTihpKTsKKwlzcFtpXSA9IHYxOworCVRPUE4o
aSkgPSB2MDsKKyAgICB9Cit9CisjbGluZSAxMzczICJ2bS5pbmMiCisgICAgQ0hFQ0tfVk1fU1RB
Q0tfT1ZFUkZMT1dfRk9SX0lOU04oVk1fUkVHX0NGUCwgSU5TTl9BVFRSKHJldG4pKTsKKyAgICBJ
TkNfU1AoSU5TTl9BVFRSKHNwX2luYykpOworICAgIGlmIChsZWFmKSBBRERfUEMoSU5TTl9BVFRS
KHdpZHRoKSk7CisgICAgRU5EX0lOU04ocmV2ZXJzZSk7CisjICAgdW5kZWYgSU5TTl9BVFRSCisj
ICAgdW5kZWYgTkFNRV9PRl9DVVJSRU5UX0lOU04KK30KKworLyogaW5zbiByZXB1dCgpKC4uLiwg
dmFsKSh2YWwpICovCitJTlNOX0VOVFJZKHJlcHV0KQoreworIyAgIGRlZmluZSBOQU1FX09GX0NV
UlJFTlRfSU5TTiByZXB1dAorIyAgIGRlZmluZSBJTlNOX0FUVFIoeCkgYXR0cl8gIyMgeCAjIyBf
cmVwdXQoKQorICAgIGJvb2wgbGVhZjsKKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUgKikgY2FuYXJ5
OworICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgdmFsOworCisgICAgU1RBUlRfT0ZfT1JJR0lOQUxf
SU5TTihyZXB1dCk7CisgICAgdmFsID0gVE9QTigwKTsKKyAgICBERUJVR19FTlRFUl9JTlNOKElO
U05fQVRUUihuYW1lKSk7CisgICAgaWYgKCEgKGxlYWYgPSBJTlNOX0FUVFIobGVhZikpKSBBRERf
UEMoSU5TTl9BVFRSKHdpZHRoKSk7CisgICAgQ09MTEVDVF9VU0FHRV9JTlNOKElOU05fQVRUUihi
aW4pKTsKKyAgICBDSEVDS19WTV9TVEFDS19PVkVSRkxPV19GT1JfSU5TTihWTV9SRUdfQ0ZQLCBJ
TlNOX0FUVFIocmV0bikpOworICAgIElOQ19TUChJTlNOX0FUVFIoc3BfaW5jKSk7CisgICAgVE9Q
TigwKSA9IHZhbDsKKyAgICBpZiAobGVhZikgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOworICAg
IEVORF9JTlNOKHJlcHV0KTsKKyMgICB1bmRlZiBJTlNOX0FUVFIKKyMgICB1bmRlZiBOQU1FX09G
X0NVUlJFTlRfSU5TTgorfQorCisvKiBpbnNuIHRvcG4obikoLi4uKSh2YWwpICovCitJTlNOX0VO
VFJZKHRvcG4pCit7CisjICAgZGVmaW5lIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOIHRvcG4KKyMgICBk
ZWZpbmUgSU5TTl9BVFRSKHgpIGF0dHJfICMjIHggIyMgX3RvcG4obikKKyAgICBib29sIGxlYWY7
CisgICAgTUFZQkVfVU5VU0VEKFZBTFVFICopIGNhbmFyeTsKKyAgICBNQVlCRV9VTlVTRUQoVkFM
VUUpIHZhbDsKKyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QpIG47CisKKyAgICBTVEFSVF9PRl9P
UklHSU5BTF9JTlNOKHRvcG4pOworICAgIG4gPSAocmJfbnVtX3QpR0VUX09QRVJBTkQoMSk7Cisg
ICAgREVCVUdfRU5URVJfSU5TTihJTlNOX0FUVFIobmFtZSkpOworICAgIGlmICghIChsZWFmID0g
SU5TTl9BVFRSKGxlYWYpKSkgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOworICAgIFNFVFVQX0NB
TkFSWSgpOworICAgIENPTExFQ1RfVVNBR0VfSU5TTihJTlNOX0FUVFIoYmluKSk7CisgICAgQ09M
TEVDVF9VU0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAwLCBuKTsKKyNsaW5lIDYyNyAiaW5z
bnMuZGVmIgoreworICAgIHZhbCA9IFRPUE4obik7Cit9CisjbGluZSAxNDI2ICJ2bS5pbmMiCisg
ICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04oVk1fUkVHX0NGUCwgSU5TTl9BVFRS
KHJldG4pKTsKKyAgICBDSEVDS19DQU5BUlkoKTsKKyAgICBJTkNfU1AoSU5TTl9BVFRSKHNwX2lu
YykpOworICAgIFRPUE4oMCkgPSB2YWw7CisgICAgaWYgKGxlYWYpIEFERF9QQyhJTlNOX0FUVFIo
d2lkdGgpKTsKKyAgICBFTkRfSU5TTih0b3BuKTsKKyMgICB1bmRlZiBJTlNOX0FUVFIKKyMgICB1
bmRlZiBOQU1FX09GX0NVUlJFTlRfSU5TTgorfQorCisvKiBpbnNuIHNldG4obikoLi4uLCB2YWwp
KHZhbCkgKi8KK0lOU05fRU5UUlkoc2V0bikKK3sKKyMgICBkZWZpbmUgTkFNRV9PRl9DVVJSRU5U
X0lOU04gc2V0bgorIyAgIGRlZmluZSBJTlNOX0FUVFIoeCkgYXR0cl8gIyMgeCAjIyBfc2V0bihu
KQorICAgIGJvb2wgbGVhZjsKKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUgKikgY2FuYXJ5OworICAg
IE1BWUJFX1VOVVNFRChWQUxVRSkgdmFsOworICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCkgbjsK
KworICAgIFNUQVJUX09GX09SSUdJTkFMX0lOU04oc2V0bik7CisgICAgbiA9IChyYl9udW1fdClH
RVRfT1BFUkFORCgxKTsKKyAgICB2YWwgPSBUT1BOKDApOworICAgIERFQlVHX0VOVEVSX0lOU04o
SU5TTl9BVFRSKG5hbWUpKTsKKyAgICBpZiAoISAobGVhZiA9IElOU05fQVRUUihsZWFmKSkpIEFE
RF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKKyAgICBTRVRVUF9DQU5BUlkoKTsKKyAgICBDT0xMRUNU
X1VTQUdFX0lOU04oSU5TTl9BVFRSKGJpbikpOworICAgIENPTExFQ1RfVVNBR0VfT1BFUkFORChJ
TlNOX0FUVFIoYmluKSwgMCwgbik7CisjbGluZSA2MzggImluc25zLmRlZiIKK3sKKyAgICBUT1BO
KG4pID0gdmFsOworfQorI2xpbmUgMTQ1OSAidm0uaW5jIgorICAgIENIRUNLX1ZNX1NUQUNLX09W
RVJGTE9XX0ZPUl9JTlNOKFZNX1JFR19DRlAsIElOU05fQVRUUihyZXRuKSk7CisgICAgQ0hFQ0tf
Q0FOQVJZKCk7CisgICAgSU5DX1NQKElOU05fQVRUUihzcF9pbmMpKTsKKyAgICBUT1BOKDApID0g
dmFsOworICAgIGlmIChsZWFmKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7CisgICAgRU5EX0lO
U04oc2V0bik7CisjICAgdW5kZWYgSU5TTl9BVFRSCisjICAgdW5kZWYgTkFNRV9PRl9DVVJSRU5U
X0lOU04KK30KKworLyogaW5zbiBhZGp1c3RzdGFjayhuKSguLi4pKC4uLikgKi8KK0lOU05fRU5U
UlkoYWRqdXN0c3RhY2spCit7CisjICAgZGVmaW5lIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOIGFkanVz
dHN0YWNrCisjICAgZGVmaW5lIElOU05fQVRUUih4KSBhdHRyXyAjIyB4ICMjIF9hZGp1c3RzdGFj
ayhuKQorICAgIGJvb2wgbGVhZjsKKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUgKikgY2FuYXJ5Owor
ICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCkgbjsKKworICAgIFNUQVJUX09GX09SSUdJTkFMX0lO
U04oYWRqdXN0c3RhY2spOworICAgIG4gPSAocmJfbnVtX3QpR0VUX09QRVJBTkQoMSk7CisgICAg
REVCVUdfRU5URVJfSU5TTihJTlNOX0FUVFIobmFtZSkpOworICAgIGlmICghIChsZWFmID0gSU5T
Tl9BVFRSKGxlYWYpKSkgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOworICAgIENPTExFQ1RfVVNB
R0VfSU5TTihJTlNOX0FUVFIoYmluKSk7CisgICAgQ09MTEVDVF9VU0FHRV9PUEVSQU5EKElOU05f
QVRUUihiaW4pLCAwLCBuKTsKKyAgICBDSEVDS19WTV9TVEFDS19PVkVSRkxPV19GT1JfSU5TTihW
TV9SRUdfQ0ZQLCBJTlNOX0FUVFIocmV0bikpOworICAgIElOQ19TUChJTlNOX0FUVFIoc3BfaW5j
KSk7CisgICAgaWYgKGxlYWYpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKKyAgICBFTkRfSU5T
TihhZGp1c3RzdGFjayk7CisjICAgdW5kZWYgSU5TTl9BVFRSCisjICAgdW5kZWYgTkFNRV9PRl9D
VVJSRU5UX0lOU04KK30KKworLyogaW5zbiBkZWZpbmVkKG9wX3R5cGUsIG9iaiwgbmVlZHN0ciko
dikodmFsKSAqLworSU5TTl9FTlRSWShkZWZpbmVkKQoreworIyAgIGRlZmluZSBOQU1FX09GX0NV
UlJFTlRfSU5TTiBkZWZpbmVkCisjICAgZGVmaW5lIElOU05fQVRUUih4KSBhdHRyXyAjIyB4ICMj
IF9kZWZpbmVkKG9wX3R5cGUsIG9iaiwgbmVlZHN0cikKKyAgICBib29sIGxlYWY7CisgICAgTUFZ
QkVfVU5VU0VEKFZBTFVFICopIGNhbmFyeTsKKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIG5lZWRz
dHIsIG9iaiwgdiwgdmFsOworICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCkgb3BfdHlwZTsKKwor
ICAgIFNUQVJUX09GX09SSUdJTkFMX0lOU04oZGVmaW5lZCk7CisgICAgb3BfdHlwZSA9IChyYl9u
dW1fdClHRVRfT1BFUkFORCgxKTsKKyAgICBvYmogPSAoVkFMVUUpR0VUX09QRVJBTkQoMik7Cisg
ICAgbmVlZHN0ciA9IChWQUxVRSlHRVRfT1BFUkFORCgzKTsKKyAgICB2ID0gVE9QTigwKTsKKyAg
ICBERUJVR19FTlRFUl9JTlNOKElOU05fQVRUUihuYW1lKSk7CisgICAgaWYgKCEgKGxlYWYgPSBJ
TlNOX0FUVFIobGVhZikpKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7CisgICAgU0VUVVBfQ0FO
QVJZKCk7CisgICAgQ09MTEVDVF9VU0FHRV9JTlNOKElOU05fQVRUUihiaW4pKTsKKyAgICBDT0xM
RUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDAsIG9wX3R5cGUpOworICAgIENPTExF
Q1RfVVNBR0VfT1BFUkFORChJTlNOX0FUVFIoYmluKSwgMSwgb2JqKTsKKyAgICBDT0xMRUNUX1VT
QUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDIsIG5lZWRzdHIpOworI2xpbmUgNjY0ICJpbnNu
cy5kZWYiCit7CisgICAgdmFsID0gdm1fZGVmaW5lZChlYywgR0VUX0NGUCgpLCBvcF90eXBlLCBv
YmosIG5lZWRzdHIsIHYpOworfQorI2xpbmUgMTUxOSAidm0uaW5jIgorICAgIENIRUNLX1ZNX1NU
QUNLX09WRVJGTE9XX0ZPUl9JTlNOKFZNX1JFR19DRlAsIElOU05fQVRUUihyZXRuKSk7CisgICAg
Q0hFQ0tfQ0FOQVJZKCk7CisgICAgSU5DX1NQKElOU05fQVRUUihzcF9pbmMpKTsKKyAgICBUT1BO
KDApID0gdmFsOworICAgIGlmIChsZWFmKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7CisgICAg
RU5EX0lOU04oZGVmaW5lZCk7CisjICAgdW5kZWYgSU5TTl9BVFRSCisjICAgdW5kZWYgTkFNRV9P
Rl9DVVJSRU5UX0lOU04KK30KKworLyogaW5zbiBjaGVja21hdGNoKGZsYWcpKHRhcmdldCwgcGF0
dGVybikocmVzdWx0KSAqLworSU5TTl9FTlRSWShjaGVja21hdGNoKQoreworIyAgIGRlZmluZSBO
QU1FX09GX0NVUlJFTlRfSU5TTiBjaGVja21hdGNoCisjICAgZGVmaW5lIElOU05fQVRUUih4KSBh
dHRyXyAjIyB4ICMjIF9jaGVja21hdGNoKGZsYWcpCisgICAgYm9vbCBsZWFmOworICAgIE1BWUJF
X1VOVVNFRChWQUxVRSAqKSBjYW5hcnk7CisgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSBwYXR0ZXJu
LCByZXN1bHQsIHRhcmdldDsKKyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QpIGZsYWc7CisKKyAg
ICBTVEFSVF9PRl9PUklHSU5BTF9JTlNOKGNoZWNrbWF0Y2gpOworICAgIGZsYWcgPSAocmJfbnVt
X3QpR0VUX09QRVJBTkQoMSk7CisgICAgdGFyZ2V0ID0gVE9QTigxKTsKKyAgICBwYXR0ZXJuID0g
VE9QTigwKTsKKyAgICBERUJVR19FTlRFUl9JTlNOKElOU05fQVRUUihuYW1lKSk7CisgICAgaWYg
KCEgKGxlYWYgPSBJTlNOX0FUVFIobGVhZikpKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7Cisg
ICAgU0VUVVBfQ0FOQVJZKCk7CisgICAgQ09MTEVDVF9VU0FHRV9JTlNOKElOU05fQVRUUihiaW4p
KTsKKyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDAsIGZsYWcpOwor
I2xpbmUgNjgxICJpbnNucy5kZWYiCit7CisgICAgcmVzdWx0ID0gdm1fY2hlY2tfbWF0Y2goZWMs
IHRhcmdldCwgcGF0dGVybiwgZmxhZyk7Cit9CisjbGluZSAxNTUzICJ2bS5pbmMiCisgICAgQ0hF
Q0tfVk1fU1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04oVk1fUkVHX0NGUCwgSU5TTl9BVFRSKHJldG4p
KTsKKyAgICBDSEVDS19DQU5BUlkoKTsKKyAgICBJTkNfU1AoSU5TTl9BVFRSKHNwX2luYykpOwor
ICAgIFRPUE4oMCkgPSByZXN1bHQ7CisgICAgaWYgKGxlYWYpIEFERF9QQyhJTlNOX0FUVFIod2lk
dGgpKTsKKyAgICBFTkRfSU5TTihjaGVja21hdGNoKTsKKyMgICB1bmRlZiBJTlNOX0FUVFIKKyMg
ICB1bmRlZiBOQU1FX09GX0NVUlJFTlRfSU5TTgorfQorCisvKiBpbnNuIGNoZWNra2V5d29yZChr
d19iaXRzX2luZGV4LCBrZXl3b3JkX2luZGV4KSgpKHJldCkgKi8KK0lOU05fRU5UUlkoY2hlY2tr
ZXl3b3JkKQoreworIyAgIGRlZmluZSBOQU1FX09GX0NVUlJFTlRfSU5TTiBjaGVja2tleXdvcmQK
KyMgICBkZWZpbmUgSU5TTl9BVFRSKHgpIGF0dHJfICMjIHggIyMgX2NoZWNra2V5d29yZChrd19i
aXRzX2luZGV4LCBrZXl3b3JkX2luZGV4KQorICAgIGJvb2wgbGVhZjsKKyAgICBNQVlCRV9VTlVT
RUQoVkFMVUUgKikgY2FuYXJ5OworICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgcmV0OworICAgIE1B
WUJFX1VOVVNFRChsaW5kZXhfdCkga2V5d29yZF9pbmRleCwga3dfYml0c19pbmRleDsKKworICAg
IFNUQVJUX09GX09SSUdJTkFMX0lOU04oY2hlY2trZXl3b3JkKTsKKyAgICBrd19iaXRzX2luZGV4
ID0gKGxpbmRleF90KUdFVF9PUEVSQU5EKDEpOworICAgIGtleXdvcmRfaW5kZXggPSAobGluZGV4
X3QpR0VUX09QRVJBTkQoMik7CisgICAgREVCVUdfRU5URVJfSU5TTihJTlNOX0FUVFIobmFtZSkp
OworICAgIGlmICghIChsZWFmID0gSU5TTl9BVFRSKGxlYWYpKSkgQUREX1BDKElOU05fQVRUUih3
aWR0aCkpOworICAgIFNFVFVQX0NBTkFSWSgpOworICAgIENPTExFQ1RfVVNBR0VfSU5TTihJTlNO
X0FUVFIoYmluKSk7CisgICAgQ09MTEVDVF9VU0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAw
LCBrd19iaXRzX2luZGV4KTsKKyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJp
biksIDEsIGtleXdvcmRfaW5kZXgpOworI2xpbmUgNjkxICJpbnNucy5kZWYiCit7CisgICAgcmV0
ID0gdm1fY2hlY2tfa2V5d29yZChrd19iaXRzX2luZGV4LCBrZXl3b3JkX2luZGV4LCBHRVRfRVAo
KSk7Cit9CisjbGluZSAxNTg3ICJ2bS5pbmMiCisgICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZFUkZMT1df
Rk9SX0lOU04oVk1fUkVHX0NGUCwgSU5TTl9BVFRSKHJldG4pKTsKKyAgICBDSEVDS19DQU5BUlko
KTsKKyAgICBJTkNfU1AoSU5TTl9BVFRSKHNwX2luYykpOworICAgIFRPUE4oMCkgPSByZXQ7Cisg
ICAgaWYgKGxlYWYpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKKyAgICBFTkRfSU5TTihjaGVj
a2tleXdvcmQpOworIyAgIHVuZGVmIElOU05fQVRUUgorIyAgIHVuZGVmIE5BTUVfT0ZfQ1VSUkVO
VF9JTlNOCit9CisKKy8qIGluc24gY2hlY2t0eXBlKHR5cGUpKHZhbCkocmV0KSAqLworSU5TTl9F
TlRSWShjaGVja3R5cGUpCit7CisjICAgZGVmaW5lIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOIGNoZWNr
dHlwZQorIyAgIGRlZmluZSBJTlNOX0FUVFIoeCkgYXR0cl8gIyMgeCAjIyBfY2hlY2t0eXBlKHR5
cGUpCisgICAgYm9vbCBsZWFmOworICAgIE1BWUJFX1VOVVNFRChWQUxVRSAqKSBjYW5hcnk7Cisg
ICAgTUFZQkVfVU5VU0VEKFZBTFVFKSByZXQsIHZhbDsKKyAgICBNQVlCRV9VTlVTRUQocmJfbnVt
X3QpIHR5cGU7CisKKyAgICBTVEFSVF9PRl9PUklHSU5BTF9JTlNOKGNoZWNrdHlwZSk7CisgICAg
dHlwZSA9IChyYl9udW1fdClHRVRfT1BFUkFORCgxKTsKKyAgICB2YWwgPSBUT1BOKDApOworICAg
IERFQlVHX0VOVEVSX0lOU04oSU5TTl9BVFRSKG5hbWUpKTsKKyAgICBpZiAoISAobGVhZiA9IElO
U05fQVRUUihsZWFmKSkpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKKyAgICBTRVRVUF9DQU5B
UlkoKTsKKyAgICBDT0xMRUNUX1VTQUdFX0lOU04oSU5TTl9BVFRSKGJpbikpOworICAgIENPTExF
Q1RfVVNBR0VfT1BFUkFORChJTlNOX0FUVFIoYmluKSwgMCwgdHlwZSk7CisjbGluZSA3MDEgImlu
c25zLmRlZiIKK3sKKyAgICByZXQgPSAoVFlQRSh2YWwpID09IChpbnQpdHlwZSkgPyBRdHJ1ZSA6
IFFmYWxzZTsKK30KKyNsaW5lIDE2MjAgInZtLmluYyIKKyAgICBDSEVDS19WTV9TVEFDS19PVkVS
RkxPV19GT1JfSU5TTihWTV9SRUdfQ0ZQLCBJTlNOX0FUVFIocmV0bikpOworICAgIENIRUNLX0NB
TkFSWSgpOworICAgIElOQ19TUChJTlNOX0FUVFIoc3BfaW5jKSk7CisgICAgVE9QTigwKSA9IHJl
dDsKKyAgICBpZiAobGVhZikgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOworICAgIEVORF9JTlNO
KGNoZWNrdHlwZSk7CisjICAgdW5kZWYgSU5TTl9BVFRSCisjICAgdW5kZWYgTkFNRV9PRl9DVVJS
RU5UX0lOU04KK30KKworLyogaW5zbiBkZWZpbmVjbGFzcyhpZCwgY2xhc3NfaXNlcSwgZmxhZ3Mp
KGNiYXNlLCBzdXBlcikodmFsKSAqLworSU5TTl9FTlRSWShkZWZpbmVjbGFzcykKK3sKKyMgICBk
ZWZpbmUgTkFNRV9PRl9DVVJSRU5UX0lOU04gZGVmaW5lY2xhc3MKKyMgICBkZWZpbmUgSU5TTl9B
VFRSKHgpIGF0dHJfICMjIHggIyMgX2RlZmluZWNsYXNzKGlkLCBjbGFzc19pc2VxLCBmbGFncykK
KyAgICBib29sIGxlYWY7CisgICAgTUFZQkVfVU5VU0VEKFZBTFVFICopIGNhbmFyeTsKKyAgICBN
QVlCRV9VTlVTRUQoSUQpIGlkOworICAgIE1BWUJFX1VOVVNFRChJU0VRKSBjbGFzc19pc2VxOwor
ICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgY2Jhc2UsIHN1cGVyLCB2YWw7CisgICAgTUFZQkVfVU5V
U0VEKHJiX251bV90KSBmbGFnczsKKworICAgIFNUQVJUX09GX09SSUdJTkFMX0lOU04oZGVmaW5l
Y2xhc3MpOworICAgIGlkID0gKElEKUdFVF9PUEVSQU5EKDEpOworICAgIGNsYXNzX2lzZXEgPSAo
SVNFUSlHRVRfT1BFUkFORCgyKTsKKyAgICBmbGFncyA9IChyYl9udW1fdClHRVRfT1BFUkFORCgz
KTsKKyAgICBjYmFzZSA9IFRPUE4oMSk7CisgICAgc3VwZXIgPSBUT1BOKDApOworICAgIERFQlVH
X0VOVEVSX0lOU04oSU5TTl9BVFRSKG5hbWUpKTsKKyAgICBpZiAoISAobGVhZiA9IElOU05fQVRU
UihsZWFmKSkpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKKyAgICBQT1BOKElOU05fQVRUUihw
b3BuKSk7CisgICAgU0VUVVBfQ0FOQVJZKCk7CisgICAgQ09MTEVDVF9VU0FHRV9JTlNOKElOU05f
QVRUUihiaW4pKTsKKyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDAs
IGlkKTsKKyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDEsIGNsYXNz
X2lzZXEpOworICAgIENPTExFQ1RfVVNBR0VfT1BFUkFORChJTlNOX0FUVFIoYmluKSwgMiwgZmxh
Z3MpOworI2xpbmUgNzE3ICJpbnNucy5kZWYiCit7CisgICAgVkFMVUUga2xhc3MgPSB2bV9maW5k
X29yX2NyZWF0ZV9jbGFzc19ieV9pZChpZCwgZmxhZ3MsIGNiYXNlLCBzdXBlcik7CisKKyAgICBy
Yl9pc2VxX2NoZWNrKGNsYXNzX2lzZXEpOworCisgICAgLyogZW50ZXIgc2NvcGUgKi8KKyAgICB2
bV9wdXNoX2ZyYW1lKGVjLCBjbGFzc19pc2VxLCBWTV9GUkFNRV9NQUdJQ19DTEFTUyB8IFZNX0VO
Vl9GTEFHX0xPQ0FMLCBrbGFzcywKKwkJICBHRVRfQkxPQ0tfSEFORExFUigpLAorCQkgIChWQUxV
RSl2bV9jcmVmX3B1c2goZWMsIGtsYXNzLCBOVUxMLCBGQUxTRSksCisJCSAgY2xhc3NfaXNlcS0+
Ym9keS0+aXNlcV9lbmNvZGVkLCBHRVRfU1AoKSwKKwkJICBjbGFzc19pc2VxLT5ib2R5LT5sb2Nh
bF90YWJsZV9zaXplLAorCQkgIGNsYXNzX2lzZXEtPmJvZHktPnN0YWNrX21heCk7CisgICAgUkVT
VE9SRV9SRUdTKCk7CisgICAgTkVYVF9JTlNOKCk7Cit9CisjbGluZSAxNjczICJ2bS5pbmMiCisg
ICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04oVk1fUkVHX0NGUCwgSU5TTl9BVFRS
KHJldG4pKTsKKyAgICBDSEVDS19DQU5BUlkoKTsKKyAgICBQVVNIKHZhbCk7CisgICAgaWYgKGxl
YWYpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKKyAgICBFTkRfSU5TTihkZWZpbmVjbGFzcyk7
CisjICAgdW5kZWYgSU5TTl9BVFRSCisjICAgdW5kZWYgTkFNRV9PRl9DVVJSRU5UX0lOU04KK30K
KworLyogaW5zbiBzZW5kKGNpLCBjYywgYmxvY2tpc2VxKSguLi4pKHZhbCkgKi8KK0lOU05fRU5U
Ulkoc2VuZCkKK3sKKyMgICBkZWZpbmUgTkFNRV9PRl9DVVJSRU5UX0lOU04gc2VuZAorIyAgIGRl
ZmluZSBJTlNOX0FUVFIoeCkgYXR0cl8gIyMgeCAjIyBfc2VuZChjaSwgY2MsIGJsb2NraXNlcSkK
KyAgICBib29sIGxlYWY7CisgICAgTUFZQkVfVU5VU0VEKFZBTFVFICopIGNhbmFyeTsKKyAgICBN
QVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSkgY2M7CisgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTykg
Y2k7CisgICAgTUFZQkVfVU5VU0VEKElTRVEpIGJsb2NraXNlcTsKKyAgICBNQVlCRV9VTlVTRUQo
VkFMVUUpIHZhbDsKKworICAgIFNUQVJUX09GX09SSUdJTkFMX0lOU04oc2VuZCk7CisgICAgY2kg
PSAoQ0FMTF9JTkZPKUdFVF9PUEVSQU5EKDEpOworICAgIGNjID0gKENBTExfQ0FDSEUpR0VUX09Q
RVJBTkQoMik7CisgICAgYmxvY2tpc2VxID0gKElTRVEpR0VUX09QRVJBTkQoMyk7CisgICAgREVC
VUdfRU5URVJfSU5TTihJTlNOX0FUVFIobmFtZSkpOworICAgIGlmICghIChsZWFmID0gSU5TTl9B
VFRSKGxlYWYpKSkgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOworICAgIFBPUE4oSU5TTl9BVFRS
KHBvcG4pKTsKKyAgICBTRVRVUF9DQU5BUlkoKTsKKyAgICBDT0xMRUNUX1VTQUdFX0lOU04oSU5T
Tl9BVFRSKGJpbikpOworICAgIENPTExFQ1RfVVNBR0VfT1BFUkFORChJTlNOX0FUVFIoYmluKSwg
MCwgY2kpOworICAgIENPTExFQ1RfVVNBR0VfT1BFUkFORChJTlNOX0FUVFIoYmluKSwgMSwgY2Mp
OworICAgIENPTExFQ1RfVVNBR0VfT1BFUkFORChJTlNOX0FUVFIoYmluKSwgMiwgYmxvY2tpc2Vx
KTsKKyNsaW5lIDc0NCAiaW5zbnMuZGVmIgoreworICAgIHN0cnVjdCByYl9jYWxsaW5nX2luZm8g
Y2FsbGluZzsKKworICAgIGNhbGxpbmcuYmxvY2tfaGFuZGxlciA9IHZtX2NhbGxlcl9zZXR1cF9h
cmdfYmxvY2soZWMsIHJlZ19jZnAsIGNpLCBibG9ja2lzZXEsIEZBTFNFKTsKKyAgICBjYWxsaW5n
LnJlY3YgPSBUT1BOKGNhbGxpbmcuYXJnYyA9IGNpLT5vcmlnX2FyZ2MpOworICAgIHZtX3NlYXJj
aF9tZXRob2QoY2ksIGNjLCBjYWxsaW5nLnJlY3YpOworICAgIENBTExfTUVUSE9EKCZjYWxsaW5n
LCBjaSwgY2MpOworfQorI2xpbmUgMTcxNiAidm0uaW5jIgorICAgIENIRUNLX1ZNX1NUQUNLX09W
RVJGTE9XX0ZPUl9JTlNOKFZNX1JFR19DRlAsIElOU05fQVRUUihyZXRuKSk7CisgICAgQ0hFQ0tf
Q0FOQVJZKCk7CisgICAgUFVTSCh2YWwpOworICAgIGlmIChsZWFmKSBBRERfUEMoSU5TTl9BVFRS
KHdpZHRoKSk7CisgICAgRU5EX0lOU04oc2VuZCk7CisjICAgdW5kZWYgSU5TTl9BVFRSCisjICAg
dW5kZWYgTkFNRV9PRl9DVVJSRU5UX0lOU04KK30KKworLyogaW5zbiBvcHRfc2VuZF93aXRob3V0
X2Jsb2NrKGNpLCBjYykoLi4uKSh2YWwpICovCitJTlNOX0VOVFJZKG9wdF9zZW5kX3dpdGhvdXRf
YmxvY2spCit7CisjICAgZGVmaW5lIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOIG9wdF9zZW5kX3dpdGhv
dXRfYmxvY2sKKyMgICBkZWZpbmUgSU5TTl9BVFRSKHgpIGF0dHJfICMjIHggIyMgX29wdF9zZW5k
X3dpdGhvdXRfYmxvY2soY2ksIGNjKQorICAgIGJvb2wgbGVhZjsKKyAgICBNQVlCRV9VTlVTRUQo
VkFMVUUgKikgY2FuYXJ5OworICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFKSBjYzsKKyAgICBN
QVlCRV9VTlVTRUQoQ0FMTF9JTkZPKSBjaTsKKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIHZhbDsK
KworICAgIFNUQVJUX09GX09SSUdJTkFMX0lOU04ob3B0X3NlbmRfd2l0aG91dF9ibG9jayk7Cisg
ICAgY2kgPSAoQ0FMTF9JTkZPKUdFVF9PUEVSQU5EKDEpOworICAgIGNjID0gKENBTExfQ0FDSEUp
R0VUX09QRVJBTkQoMik7CisgICAgREVCVUdfRU5URVJfSU5TTihJTlNOX0FUVFIobmFtZSkpOwor
ICAgIGlmICghIChsZWFmID0gSU5TTl9BVFRSKGxlYWYpKSkgQUREX1BDKElOU05fQVRUUih3aWR0
aCkpOworICAgIFBPUE4oSU5TTl9BVFRSKHBvcG4pKTsKKyAgICBTRVRVUF9DQU5BUlkoKTsKKyAg
ICBDT0xMRUNUX1VTQUdFX0lOU04oSU5TTl9BVFRSKGJpbikpOworICAgIENPTExFQ1RfVVNBR0Vf
T1BFUkFORChJTlNOX0FUVFIoYmluKSwgMCwgY2kpOworICAgIENPTExFQ1RfVVNBR0VfT1BFUkFO
RChJTlNOX0FUVFIoYmluKSwgMSwgY2MpOworI2xpbmUgNzYxICJpbnNucy5kZWYiCit7CisgICAg
c3RydWN0IHJiX2NhbGxpbmdfaW5mbyBjYWxsaW5nOworICAgIGNhbGxpbmcuYmxvY2tfaGFuZGxl
ciA9IFZNX0JMT0NLX0hBTkRMRVJfTk9ORTsKKyAgICB2bV9zZWFyY2hfbWV0aG9kKGNpLCBjYywg
Y2FsbGluZy5yZWN2ID0gVE9QTihjYWxsaW5nLmFyZ2MgPSBjaS0+b3JpZ19hcmdjKSk7CisgICAg
Q0FMTF9NRVRIT0QoJmNhbGxpbmcsIGNpLCBjYyk7Cit9CisjbGluZSAxNzU0ICJ2bS5pbmMiCisg
ICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04oVk1fUkVHX0NGUCwgSU5TTl9BVFRS
KHJldG4pKTsKKyAgICBDSEVDS19DQU5BUlkoKTsKKyAgICBQVVNIKHZhbCk7CisgICAgaWYgKGxl
YWYpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKKyAgICBFTkRfSU5TTihvcHRfc2VuZF93aXRo
b3V0X2Jsb2NrKTsKKyMgICB1bmRlZiBJTlNOX0FUVFIKKyMgICB1bmRlZiBOQU1FX09GX0NVUlJF
TlRfSU5TTgorfQorCisvKiBpbnNuIG9wdF9zdHJfZnJlZXplKHN0ciwgY2ksIGNjKSgpKHZhbCkg
Ki8KK0lOU05fRU5UUlkob3B0X3N0cl9mcmVlemUpCit7CisjICAgZGVmaW5lIE5BTUVfT0ZfQ1VS
UkVOVF9JTlNOIG9wdF9zdHJfZnJlZXplCisjICAgZGVmaW5lIElOU05fQVRUUih4KSBhdHRyXyAj
IyB4ICMjIF9vcHRfc3RyX2ZyZWV6ZShzdHIsIGNpLCBjYykKKyAgICBib29sIGxlYWY7CisgICAg
TUFZQkVfVU5VU0VEKFZBTFVFICopIGNhbmFyeTsKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNI
RSkgY2M7CisgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTykgY2k7CisgICAgTUFZQkVfVU5VU0VE
KFZBTFVFKSBzdHIsIHZhbDsKKworICAgIFNUQVJUX09GX09SSUdJTkFMX0lOU04ob3B0X3N0cl9m
cmVlemUpOworICAgIHN0ciA9IChWQUxVRSlHRVRfT1BFUkFORCgxKTsKKyAgICBjaSA9IChDQUxM
X0lORk8pR0VUX09QRVJBTkQoMik7CisgICAgY2MgPSAoQ0FMTF9DQUNIRSlHRVRfT1BFUkFORCgz
KTsKKyAgICBERUJVR19FTlRFUl9JTlNOKElOU05fQVRUUihuYW1lKSk7CisgICAgaWYgKCEgKGxl
YWYgPSBJTlNOX0FUVFIobGVhZikpKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7CisgICAgU0VU
VVBfQ0FOQVJZKCk7CisgICAgQ09MTEVDVF9VU0FHRV9JTlNOKElOU05fQVRUUihiaW4pKTsKKyAg
ICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDAsIHN0cik7CisgICAgQ09M
TEVDVF9VU0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAxLCBjaSk7CisgICAgQ09MTEVDVF9V
U0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAyLCBjYyk7CisjbGluZSA3NzMgImluc25zLmRl
ZiIKK3sKKyAgICB2YWwgPSB2bV9vcHRfc3RyX2ZyZWV6ZShzdHIsIEJPUF9GUkVFWkUsIGlkRnJl
ZXplKTsKKworICAgIGlmICh2YWwgPT0gUXVuZGVmKSB7CisgICAgICAgIFBVU0gocmJfc3RyX3Jl
c3VycmVjdChzdHIpKTsKKyAgICAgICAgQ0FMTF9TSU1QTEVfTUVUSE9EKCk7CisgICAgfQorfQor
I2xpbmUgMTc5NSAidm0uaW5jIgorICAgIENIRUNLX1ZNX1NUQUNLX09WRVJGTE9XX0ZPUl9JTlNO
KFZNX1JFR19DRlAsIElOU05fQVRUUihyZXRuKSk7CisgICAgQ0hFQ0tfQ0FOQVJZKCk7CisgICAg
SU5DX1NQKElOU05fQVRUUihzcF9pbmMpKTsKKyAgICBUT1BOKDApID0gdmFsOworICAgIGlmIChs
ZWFmKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7CisgICAgRU5EX0lOU04ob3B0X3N0cl9mcmVl
emUpOworIyAgIHVuZGVmIElOU05fQVRUUgorIyAgIHVuZGVmIE5BTUVfT0ZfQ1VSUkVOVF9JTlNO
Cit9CisKKy8qIGluc24gb3B0X3N0cl91bWludXMoc3RyLCBjaSwgY2MpKCkodmFsKSAqLworSU5T
Tl9FTlRSWShvcHRfc3RyX3VtaW51cykKK3sKKyMgICBkZWZpbmUgTkFNRV9PRl9DVVJSRU5UX0lO
U04gb3B0X3N0cl91bWludXMKKyMgICBkZWZpbmUgSU5TTl9BVFRSKHgpIGF0dHJfICMjIHggIyMg
X29wdF9zdHJfdW1pbnVzKHN0ciwgY2ksIGNjKQorICAgIGJvb2wgbGVhZjsKKyAgICBNQVlCRV9V
TlVTRUQoVkFMVUUgKikgY2FuYXJ5OworICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFKSBjYzsK
KyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPKSBjaTsKKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUp
IHN0ciwgdmFsOworCisgICAgU1RBUlRfT0ZfT1JJR0lOQUxfSU5TTihvcHRfc3RyX3VtaW51cyk7
CisgICAgc3RyID0gKFZBTFVFKUdFVF9PUEVSQU5EKDEpOworICAgIGNpID0gKENBTExfSU5GTylH
RVRfT1BFUkFORCgyKTsKKyAgICBjYyA9IChDQUxMX0NBQ0hFKUdFVF9PUEVSQU5EKDMpOworICAg
IERFQlVHX0VOVEVSX0lOU04oSU5TTl9BVFRSKG5hbWUpKTsKKyAgICBpZiAoISAobGVhZiA9IElO
U05fQVRUUihsZWFmKSkpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKKyAgICBTRVRVUF9DQU5B
UlkoKTsKKyAgICBDT0xMRUNUX1VTQUdFX0lOU04oSU5TTl9BVFRSKGJpbikpOworICAgIENPTExF
Q1RfVVNBR0VfT1BFUkFORChJTlNOX0FUVFIoYmluKSwgMCwgc3RyKTsKKyAgICBDT0xMRUNUX1VT
QUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDEsIGNpKTsKKyAgICBDT0xMRUNUX1VTQUdFX09Q
RVJBTkQoSU5TTl9BVFRSKGJpbiksIDIsIGNjKTsKKyNsaW5lIDc4NyAiaW5zbnMuZGVmIgorewor
ICAgIHZhbCA9IHZtX29wdF9zdHJfZnJlZXplKHN0ciwgQk9QX1VNSU5VUywgaWRVTWludXMpOwor
CisgICAgaWYgKHZhbCA9PSBRdW5kZWYpIHsKKyAgICAgICAgUFVTSChyYl9zdHJfcmVzdXJyZWN0
KHN0cikpOworICAgICAgICBDQUxMX1NJTVBMRV9NRVRIT0QoKTsKKyAgICB9Cit9CisjbGluZSAx
ODM3ICJ2bS5pbmMiCisgICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04oVk1fUkVH
X0NGUCwgSU5TTl9BVFRSKHJldG4pKTsKKyAgICBDSEVDS19DQU5BUlkoKTsKKyAgICBJTkNfU1Ao
SU5TTl9BVFRSKHNwX2luYykpOworICAgIFRPUE4oMCkgPSB2YWw7CisgICAgaWYgKGxlYWYpIEFE
RF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKKyAgICBFTkRfSU5TTihvcHRfc3RyX3VtaW51cyk7Cisj
ICAgdW5kZWYgSU5TTl9BVFRSCisjICAgdW5kZWYgTkFNRV9PRl9DVVJSRU5UX0lOU04KK30KKwor
LyogaW5zbiBvcHRfbmV3YXJyYXlfbWF4KG51bSkoLi4uKSh2YWwpICovCitJTlNOX0VOVFJZKG9w
dF9uZXdhcnJheV9tYXgpCit7CisjICAgZGVmaW5lIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOIG9wdF9u
ZXdhcnJheV9tYXgKKyMgICBkZWZpbmUgSU5TTl9BVFRSKHgpIGF0dHJfICMjIHggIyMgX29wdF9u
ZXdhcnJheV9tYXgobnVtKQorICAgIGJvb2wgbGVhZjsKKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUg
KikgY2FuYXJ5OworICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgdmFsOworICAgIE1BWUJFX1VOVVNF
RChyYl9udW1fdCkgbnVtOworCisgICAgU1RBUlRfT0ZfT1JJR0lOQUxfSU5TTihvcHRfbmV3YXJy
YXlfbWF4KTsKKyAgICBudW0gPSAocmJfbnVtX3QpR0VUX09QRVJBTkQoMSk7CisgICAgREVCVUdf
RU5URVJfSU5TTihJTlNOX0FUVFIobmFtZSkpOworICAgIGlmICghIChsZWFmID0gSU5TTl9BVFRS
KGxlYWYpKSkgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOworICAgIFNFVFVQX0NBTkFSWSgpOwor
ICAgIENPTExFQ1RfVVNBR0VfSU5TTihJTlNOX0FUVFIoYmluKSk7CisgICAgQ09MTEVDVF9VU0FH
RV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAwLCBudW0pOworI2xpbmUgODA3ICJpbnNucy5kZWYi
Cit7CisgICAgdmFsID0gdm1fb3B0X25ld2FycmF5X21heChudW0sIFNUQUNLX0FERFJfRlJPTV9U
T1AobnVtKSk7Cit9CisjbGluZSAxODY5ICJ2bS5pbmMiCisgICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZF
UkZMT1dfRk9SX0lOU04oVk1fUkVHX0NGUCwgSU5TTl9BVFRSKHJldG4pKTsKKyAgICBDSEVDS19D
QU5BUlkoKTsKKyAgICBJTkNfU1AoSU5TTl9BVFRSKHNwX2luYykpOworICAgIFRPUE4oMCkgPSB2
YWw7CisgICAgaWYgKGxlYWYpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKKyAgICBFTkRfSU5T
TihvcHRfbmV3YXJyYXlfbWF4KTsKKyMgICB1bmRlZiBJTlNOX0FUVFIKKyMgICB1bmRlZiBOQU1F
X09GX0NVUlJFTlRfSU5TTgorfQorCisvKiBpbnNuIG9wdF9uZXdhcnJheV9taW4obnVtKSguLi4p
KHZhbCkgKi8KK0lOU05fRU5UUlkob3B0X25ld2FycmF5X21pbikKK3sKKyMgICBkZWZpbmUgTkFN
RV9PRl9DVVJSRU5UX0lOU04gb3B0X25ld2FycmF5X21pbgorIyAgIGRlZmluZSBJTlNOX0FUVFIo
eCkgYXR0cl8gIyMgeCAjIyBfb3B0X25ld2FycmF5X21pbihudW0pCisgICAgYm9vbCBsZWFmOwor
ICAgIE1BWUJFX1VOVVNFRChWQUxVRSAqKSBjYW5hcnk7CisgICAgTUFZQkVfVU5VU0VEKFZBTFVF
KSB2YWw7CisgICAgTUFZQkVfVU5VU0VEKHJiX251bV90KSBudW07CisKKyAgICBTVEFSVF9PRl9P
UklHSU5BTF9JTlNOKG9wdF9uZXdhcnJheV9taW4pOworICAgIG51bSA9IChyYl9udW1fdClHRVRf
T1BFUkFORCgxKTsKKyAgICBERUJVR19FTlRFUl9JTlNOKElOU05fQVRUUihuYW1lKSk7CisgICAg
aWYgKCEgKGxlYWYgPSBJTlNOX0FUVFIobGVhZikpKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7
CisgICAgU0VUVVBfQ0FOQVJZKCk7CisgICAgQ09MTEVDVF9VU0FHRV9JTlNOKElOU05fQVRUUihi
aW4pKTsKKyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDAsIG51bSk7
CisjbGluZSA4MTkgImluc25zLmRlZiIKK3sKKyAgICB2YWwgPSB2bV9vcHRfbmV3YXJyYXlfbWlu
KG51bSwgU1RBQ0tfQUREUl9GUk9NX1RPUChudW0pKTsKK30KKyNsaW5lIDE5MDEgInZtLmluYyIK
KyAgICBDSEVDS19WTV9TVEFDS19PVkVSRkxPV19GT1JfSU5TTihWTV9SRUdfQ0ZQLCBJTlNOX0FU
VFIocmV0bikpOworICAgIENIRUNLX0NBTkFSWSgpOworICAgIElOQ19TUChJTlNOX0FUVFIoc3Bf
aW5jKSk7CisgICAgVE9QTigwKSA9IHZhbDsKKyAgICBpZiAobGVhZikgQUREX1BDKElOU05fQVRU
Uih3aWR0aCkpOworICAgIEVORF9JTlNOKG9wdF9uZXdhcnJheV9taW4pOworIyAgIHVuZGVmIElO
U05fQVRUUgorIyAgIHVuZGVmIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOCit9CisKKy8qIGluc24gaW52
b2tlc3VwZXIoY2ksIGNjLCBibG9ja2lzZXEpKC4uLikodmFsKSAqLworSU5TTl9FTlRSWShpbnZv
a2VzdXBlcikKK3sKKyMgICBkZWZpbmUgTkFNRV9PRl9DVVJSRU5UX0lOU04gaW52b2tlc3VwZXIK
KyMgICBkZWZpbmUgSU5TTl9BVFRSKHgpIGF0dHJfICMjIHggIyMgX2ludm9rZXN1cGVyKGNpLCBj
YywgYmxvY2tpc2VxKQorICAgIGJvb2wgbGVhZjsKKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUgKikg
Y2FuYXJ5OworICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFKSBjYzsKKyAgICBNQVlCRV9VTlVT
RUQoQ0FMTF9JTkZPKSBjaTsKKyAgICBNQVlCRV9VTlVTRUQoSVNFUSkgYmxvY2tpc2VxOworICAg
IE1BWUJFX1VOVVNFRChWQUxVRSkgdmFsOworCisgICAgU1RBUlRfT0ZfT1JJR0lOQUxfSU5TTihp
bnZva2VzdXBlcik7CisgICAgY2kgPSAoQ0FMTF9JTkZPKUdFVF9PUEVSQU5EKDEpOworICAgIGNj
ID0gKENBTExfQ0FDSEUpR0VUX09QRVJBTkQoMik7CisgICAgYmxvY2tpc2VxID0gKElTRVEpR0VU
X09QRVJBTkQoMyk7CisgICAgREVCVUdfRU5URVJfSU5TTihJTlNOX0FUVFIobmFtZSkpOworICAg
IGlmICghIChsZWFmID0gSU5TTl9BVFRSKGxlYWYpKSkgQUREX1BDKElOU05fQVRUUih3aWR0aCkp
OworICAgIFBPUE4oSU5TTl9BVFRSKHBvcG4pKTsKKyAgICBTRVRVUF9DQU5BUlkoKTsKKyAgICBD
T0xMRUNUX1VTQUdFX0lOU04oSU5TTl9BVFRSKGJpbikpOworICAgIENPTExFQ1RfVVNBR0VfT1BF
UkFORChJTlNOX0FUVFIoYmluKSwgMCwgY2kpOworICAgIENPTExFQ1RfVVNBR0VfT1BFUkFORChJ
TlNOX0FUVFIoYmluKSwgMSwgY2MpOworICAgIENPTExFQ1RfVVNBR0VfT1BFUkFORChJTlNOX0FU
VFIoYmluKSwgMiwgYmxvY2tpc2VxKTsKKyNsaW5lIDgzMCAiaW5zbnMuZGVmIgoreworICAgIHN0
cnVjdCByYl9jYWxsaW5nX2luZm8gY2FsbGluZzsKKworICAgIGNhbGxpbmcuYmxvY2tfaGFuZGxl
ciA9IHZtX2NhbGxlcl9zZXR1cF9hcmdfYmxvY2soZWMsIHJlZ19jZnAsIGNpLCBibG9ja2lzZXEs
IFRSVUUpOworICAgIGNhbGxpbmcucmVjdiA9IFRPUE4oY2FsbGluZy5hcmdjID0gY2ktPm9yaWdf
YXJnYyk7CisgICAgdm1fc2VhcmNoX3N1cGVyX21ldGhvZChlYywgR0VUX0NGUCgpLCAmY2FsbGlu
ZywgY2ksIGNjKTsKKyAgICBDQUxMX01FVEhPRCgmY2FsbGluZywgY2ksIGNjKTsKK30KKyNsaW5l
IDE5NDUgInZtLmluYyIKKyAgICBDSEVDS19WTV9TVEFDS19PVkVSRkxPV19GT1JfSU5TTihWTV9S
RUdfQ0ZQLCBJTlNOX0FUVFIocmV0bikpOworICAgIENIRUNLX0NBTkFSWSgpOworICAgIFBVU0go
dmFsKTsKKyAgICBpZiAobGVhZikgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOworICAgIEVORF9J
TlNOKGludm9rZXN1cGVyKTsKKyMgICB1bmRlZiBJTlNOX0FUVFIKKyMgICB1bmRlZiBOQU1FX09G
X0NVUlJFTlRfSU5TTgorfQorCisvKiBpbnNuIGludm9rZWJsb2NrKGNpKSguLi4pKHZhbCkgKi8K
K0lOU05fRU5UUlkoaW52b2tlYmxvY2spCit7CisjICAgZGVmaW5lIE5BTUVfT0ZfQ1VSUkVOVF9J
TlNOIGludm9rZWJsb2NrCisjICAgZGVmaW5lIElOU05fQVRUUih4KSBhdHRyXyAjIyB4ICMjIF9p
bnZva2VibG9jayhjaSkKKyAgICBib29sIGxlYWY7CisgICAgTUFZQkVfVU5VU0VEKFZBTFVFICop
IGNhbmFyeTsKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPKSBjaTsKKyAgICBNQVlCRV9VTlVT
RUQoVkFMVUUpIHZhbDsKKworICAgIFNUQVJUX09GX09SSUdJTkFMX0lOU04oaW52b2tlYmxvY2sp
OworICAgIGNpID0gKENBTExfSU5GTylHRVRfT1BFUkFORCgxKTsKKyAgICBERUJVR19FTlRFUl9J
TlNOKElOU05fQVRUUihuYW1lKSk7CisgICAgaWYgKCEgKGxlYWYgPSBJTlNOX0FUVFIobGVhZikp
KSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7CisgICAgUE9QTihJTlNOX0FUVFIocG9wbikpOwor
ICAgIFNFVFVQX0NBTkFSWSgpOworICAgIENPTExFQ1RfVVNBR0VfSU5TTihJTlNOX0FUVFIoYmlu
KSk7CisgICAgQ09MTEVDVF9VU0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAwLCBjaSk7Cisj
bGluZSA4NDcgImluc25zLmRlZiIKK3sKKyAgICBzdHJ1Y3QgcmJfY2FsbGluZ19pbmZvIGNhbGxp
bmc7CisgICAgVkFMVUUgYmxvY2tfaGFuZGxlcjsKKworICAgIGNhbGxpbmcuYXJnYyA9IGNpLT5v
cmlnX2FyZ2M7CisgICAgY2FsbGluZy5ibG9ja19oYW5kbGVyID0gVk1fQkxPQ0tfSEFORExFUl9O
T05FOworICAgIGNhbGxpbmcucmVjdiA9IFF1bmRlZjsgLyogc2hvdWxkIG5vdCBiZSB1c2VkICov
CisKKyAgICBibG9ja19oYW5kbGVyID0gVk1fQ0ZfQkxPQ0tfSEFORExFUihHRVRfQ0ZQKCkpOwor
ICAgIGlmIChibG9ja19oYW5kbGVyID09IFZNX0JMT0NLX0hBTkRMRVJfTk9ORSkgeworCXJiX3Zt
X2xvY2FsanVtcF9lcnJvcigibm8gYmxvY2sgZ2l2ZW4gKHlpZWxkKSIsIFFuaWwsIDApOworICAg
IH0KKworICAgIHZhbCA9IHZtX2ludm9rZV9ibG9jayhlYywgR0VUX0NGUCgpLCAmY2FsbGluZywg
Y2ksIGJsb2NrX2hhbmRsZXIpOworICAgIGlmICh2YWwgPT0gUXVuZGVmKSB7CisgICAgICAgIEVY
RUNfRUNfQ0ZQKHZhbCk7CisgICAgfQorfQorI2xpbmUgMTk5MiAidm0uaW5jIgorICAgIENIRUNL
X1ZNX1NUQUNLX09WRVJGTE9XX0ZPUl9JTlNOKFZNX1JFR19DRlAsIElOU05fQVRUUihyZXRuKSk7
CisgICAgQ0hFQ0tfQ0FOQVJZKCk7CisgICAgUFVTSCh2YWwpOworICAgIGlmIChsZWFmKSBBRERf
UEMoSU5TTl9BVFRSKHdpZHRoKSk7CisgICAgRU5EX0lOU04oaW52b2tlYmxvY2spOworIyAgIHVu
ZGVmIElOU05fQVRUUgorIyAgIHVuZGVmIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOCit9CisKKy8qIGlu
c24gbGVhdmUoKSh2YWwpKHZhbCkgKi8KK0lOU05fRU5UUlkobGVhdmUpCit7CisjICAgZGVmaW5l
IE5BTUVfT0ZfQ1VSUkVOVF9JTlNOIGxlYXZlCisjICAgZGVmaW5lIElOU05fQVRUUih4KSBhdHRy
XyAjIyB4ICMjIF9sZWF2ZSgpCisgICAgYm9vbCBsZWFmOworICAgIE1BWUJFX1VOVVNFRChWQUxV
RSAqKSBjYW5hcnk7CisgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSB2YWw7CisKKyAgICBTVEFSVF9P
Rl9PUklHSU5BTF9JTlNOKGxlYXZlKTsKKyAgICB2YWwgPSBUT1BOKDApOworICAgIERFQlVHX0VO
VEVSX0lOU04oSU5TTl9BVFRSKG5hbWUpKTsKKyAgICBpZiAoISAobGVhZiA9IElOU05fQVRUUihs
ZWFmKSkpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKKyAgICBQT1BOKElOU05fQVRUUihwb3Bu
KSk7CisgICAgU0VUVVBfQ0FOQVJZKCk7CisgICAgQ09MTEVDVF9VU0FHRV9JTlNOKElOU05fQVRU
UihiaW4pKTsKKyNsaW5lIDg3NyAiaW5zbnMuZGVmIgoreworICAgIGlmIChPUFRfQ0hFQ0tFRF9S
VU4pIHsKKwljb25zdCBWQUxVRSAqY29uc3QgYnAgPSB2bV9iYXNlX3B0cihyZWdfY2ZwKTsKKwlp
ZiAocmVnX2NmcC0+c3AgIT0gYnApIHsKKwkgICAgdm1fc3RhY2tfY29uc2lzdGVuY3lfZXJyb3Io
ZWMsIHJlZ19jZnAsIGJwKTsKKwl9CisgICAgfQorCisgICAgUlVCWV9WTV9DSEVDS19JTlRTKGVj
KTsKKworICAgIGlmICh2bV9wb3BfZnJhbWUoZWMsIEdFVF9DRlAoKSwgR0VUX0VQKCkpKSB7Cisj
aWYgT1BUX0NBTExfVEhSRUFERURfQ09ERQorCXJiX2VjX3RocmVhZF9wdHIoZWMpLT5yZXR2YWwg
PSB2YWw7CisJcmV0dXJuIDA7CisjZWxzZQorCXJldHVybiB2YWw7CisjZW5kaWYKKyAgICB9Cisg
ICAgZWxzZSB7CisJUkVTVE9SRV9SRUdTKCk7CisgICAgfQorfQorI2xpbmUgMjA0MSAidm0uaW5j
IgorICAgIENIRUNLX1ZNX1NUQUNLX09WRVJGTE9XX0ZPUl9JTlNOKFZNX1JFR19DRlAsIElOU05f
QVRUUihyZXRuKSk7CisgICAgQ0hFQ0tfQ0FOQVJZKCk7CisgICAgUFVTSCh2YWwpOworICAgIGlm
IChsZWFmKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7CisgICAgRU5EX0lOU04obGVhdmUpOwor
IyAgIHVuZGVmIElOU05fQVRUUgorIyAgIHVuZGVmIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOCit9CisK
Ky8qIGluc24gdGhyb3codGhyb3dfc3RhdGUpKHRocm93b2JqKSh2YWwpICovCitJTlNOX0VOVFJZ
KHRocm93KQoreworIyAgIGRlZmluZSBOQU1FX09GX0NVUlJFTlRfSU5TTiB0aHJvdworIyAgIGRl
ZmluZSBJTlNOX0FUVFIoeCkgYXR0cl8gIyMgeCAjIyBfdGhyb3codGhyb3dfc3RhdGUpCisgICAg
Ym9vbCBsZWFmOworICAgIE1BWUJFX1VOVVNFRChWQUxVRSAqKSBjYW5hcnk7CisgICAgTUFZQkVf
VU5VU0VEKFZBTFVFKSB0aHJvd29iaiwgdmFsOworICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCkg
dGhyb3dfc3RhdGU7CisKKyAgICBTVEFSVF9PRl9PUklHSU5BTF9JTlNOKHRocm93KTsKKyAgICB0
aHJvd19zdGF0ZSA9IChyYl9udW1fdClHRVRfT1BFUkFORCgxKTsKKyAgICB0aHJvd29iaiA9IFRP
UE4oMCk7CisgICAgREVCVUdfRU5URVJfSU5TTihJTlNOX0FUVFIobmFtZSkpOworICAgIGlmICgh
IChsZWFmID0gSU5TTl9BVFRSKGxlYWYpKSkgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOworICAg
IFNFVFVQX0NBTkFSWSgpOworICAgIENPTExFQ1RfVVNBR0VfSU5TTihJTlNOX0FUVFIoYmluKSk7
CisgICAgQ09MTEVDVF9VU0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAwLCB0aHJvd19zdGF0
ZSk7CisjbGluZSA5MTIgImluc25zLmRlZiIKK3sKKyAgICBSVUJZX1ZNX0NIRUNLX0lOVFMoZWMp
OworICAgIHZhbCA9IHZtX3Rocm93KGVjLCBHRVRfQ0ZQKCksIHRocm93X3N0YXRlLCB0aHJvd29i
aik7CisgICAgVEhST1dfRVhDRVBUSU9OKHZhbCk7CisgICAgLyogdW5yZWFjaGFibGUgKi8KK30K
KyNsaW5lIDIwNzYgInZtLmluYyIKKyAgICBDSEVDS19WTV9TVEFDS19PVkVSRkxPV19GT1JfSU5T
TihWTV9SRUdfQ0ZQLCBJTlNOX0FUVFIocmV0bikpOworICAgIENIRUNLX0NBTkFSWSgpOworICAg
IElOQ19TUChJTlNOX0FUVFIoc3BfaW5jKSk7CisgICAgVE9QTigwKSA9IHZhbDsKKyAgICBpZiAo
bGVhZikgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOworICAgIEVORF9JTlNOKHRocm93KTsKKyMg
ICB1bmRlZiBJTlNOX0FUVFIKKyMgICB1bmRlZiBOQU1FX09GX0NVUlJFTlRfSU5TTgorfQorCisv
KiBpbnNuIGp1bXAoZHN0KSgpKCkgKi8KK0lOU05fRU5UUlkoanVtcCkKK3sKKyMgICBkZWZpbmUg
TkFNRV9PRl9DVVJSRU5UX0lOU04ganVtcAorIyAgIGRlZmluZSBJTlNOX0FUVFIoeCkgYXR0cl8g
IyMgeCAjIyBfanVtcChkc3QpCisgICAgYm9vbCBsZWFmOworICAgIE1BWUJFX1VOVVNFRChWQUxV
RSAqKSBjYW5hcnk7CisgICAgTUFZQkVfVU5VU0VEKE9GRlNFVCkgZHN0OworCisgICAgU1RBUlRf
T0ZfT1JJR0lOQUxfSU5TTihqdW1wKTsKKyAgICBkc3QgPSAoT0ZGU0VUKUdFVF9PUEVSQU5EKDEp
OworICAgIERFQlVHX0VOVEVSX0lOU04oSU5TTl9BVFRSKG5hbWUpKTsKKyAgICBpZiAoISAobGVh
ZiA9IElOU05fQVRUUihsZWFmKSkpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKKyAgICBTRVRV
UF9DQU5BUlkoKTsKKyAgICBDT0xMRUNUX1VTQUdFX0lOU04oSU5TTl9BVFRSKGJpbikpOworICAg
IENPTExFQ1RfVVNBR0VfT1BFUkFORChJTlNOX0FUVFIoYmluKSwgMCwgZHN0KTsKKyNsaW5lIDkz
MSAiaW5zbnMuZGVmIgoreworICAgIFJVQllfVk1fQ0hFQ0tfSU5UUyhlYyk7CisgICAgSlVNUChk
c3QpOworfQorI2xpbmUgMjEwOCAidm0uaW5jIgorICAgIENIRUNLX1ZNX1NUQUNLX09WRVJGTE9X
X0ZPUl9JTlNOKFZNX1JFR19DRlAsIElOU05fQVRUUihyZXRuKSk7CisgICAgQ0hFQ0tfQ0FOQVJZ
KCk7CisgICAgSU5DX1NQKElOU05fQVRUUihzcF9pbmMpKTsKKyAgICBpZiAobGVhZikgQUREX1BD
KElOU05fQVRUUih3aWR0aCkpOworICAgIEVORF9JTlNOKGp1bXApOworIyAgIHVuZGVmIElOU05f
QVRUUgorIyAgIHVuZGVmIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOCit9CisKKy8qIGluc24gYnJhbmNo
aWYoZHN0KSh2YWwpKCkgKi8KK0lOU05fRU5UUlkoYnJhbmNoaWYpCit7CisjICAgZGVmaW5lIE5B
TUVfT0ZfQ1VSUkVOVF9JTlNOIGJyYW5jaGlmCisjICAgZGVmaW5lIElOU05fQVRUUih4KSBhdHRy
XyAjIyB4ICMjIF9icmFuY2hpZihkc3QpCisgICAgYm9vbCBsZWFmOworICAgIE1BWUJFX1VOVVNF
RChWQUxVRSAqKSBjYW5hcnk7CisgICAgTUFZQkVfVU5VU0VEKE9GRlNFVCkgZHN0OworICAgIE1B
WUJFX1VOVVNFRChWQUxVRSkgdmFsOworCisgICAgU1RBUlRfT0ZfT1JJR0lOQUxfSU5TTihicmFu
Y2hpZik7CisgICAgZHN0ID0gKE9GRlNFVClHRVRfT1BFUkFORCgxKTsKKyAgICB2YWwgPSBUT1BO
KDApOworICAgIERFQlVHX0VOVEVSX0lOU04oSU5TTl9BVFRSKG5hbWUpKTsKKyAgICBpZiAoISAo
bGVhZiA9IElOU05fQVRUUihsZWFmKSkpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKKyAgICBT
RVRVUF9DQU5BUlkoKTsKKyAgICBDT0xMRUNUX1VTQUdFX0lOU04oSU5TTl9BVFRSKGJpbikpOwor
ICAgIENPTExFQ1RfVVNBR0VfT1BFUkFORChJTlNOX0FUVFIoYmluKSwgMCwgZHN0KTsKKyNsaW5l
IDk0NCAiaW5zbnMuZGVmIgoreworICAgIGlmIChSVEVTVCh2YWwpKSB7CisJUlVCWV9WTV9DSEVD
S19JTlRTKGVjKTsKKwlKVU1QKGRzdCk7CisgICAgfQorfQorI2xpbmUgMjE0MyAidm0uaW5jIgor
ICAgIENIRUNLX1ZNX1NUQUNLX09WRVJGTE9XX0ZPUl9JTlNOKFZNX1JFR19DRlAsIElOU05fQVRU
UihyZXRuKSk7CisgICAgQ0hFQ0tfQ0FOQVJZKCk7CisgICAgSU5DX1NQKElOU05fQVRUUihzcF9p
bmMpKTsKKyAgICBpZiAobGVhZikgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOworICAgIEVORF9J
TlNOKGJyYW5jaGlmKTsKKyMgICB1bmRlZiBJTlNOX0FUVFIKKyMgICB1bmRlZiBOQU1FX09GX0NV
UlJFTlRfSU5TTgorfQorCisvKiBpbnNuIGJyYW5jaHVubGVzcyhkc3QpKHZhbCkoKSAqLworSU5T
Tl9FTlRSWShicmFuY2h1bmxlc3MpCit7CisjICAgZGVmaW5lIE5BTUVfT0ZfQ1VSUkVOVF9JTlNO
IGJyYW5jaHVubGVzcworIyAgIGRlZmluZSBJTlNOX0FUVFIoeCkgYXR0cl8gIyMgeCAjIyBfYnJh
bmNodW5sZXNzKGRzdCkKKyAgICBib29sIGxlYWY7CisgICAgTUFZQkVfVU5VU0VEKFZBTFVFICop
IGNhbmFyeTsKKyAgICBNQVlCRV9VTlVTRUQoT0ZGU0VUKSBkc3Q7CisgICAgTUFZQkVfVU5VU0VE
KFZBTFVFKSB2YWw7CisKKyAgICBTVEFSVF9PRl9PUklHSU5BTF9JTlNOKGJyYW5jaHVubGVzcyk7
CisgICAgZHN0ID0gKE9GRlNFVClHRVRfT1BFUkFORCgxKTsKKyAgICB2YWwgPSBUT1BOKDApOwor
ICAgIERFQlVHX0VOVEVSX0lOU04oSU5TTl9BVFRSKG5hbWUpKTsKKyAgICBpZiAoISAobGVhZiA9
IElOU05fQVRUUihsZWFmKSkpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKKyAgICBTRVRVUF9D
QU5BUlkoKTsKKyAgICBDT0xMRUNUX1VTQUdFX0lOU04oSU5TTl9BVFRSKGJpbikpOworICAgIENP
TExFQ1RfVVNBR0VfT1BFUkFORChJTlNOX0FUVFIoYmluKSwgMCwgZHN0KTsKKyNsaW5lIDk1OSAi
aW5zbnMuZGVmIgoreworICAgIGlmICghUlRFU1QodmFsKSkgeworCVJVQllfVk1fQ0hFQ0tfSU5U
UyhlYyk7CisJSlVNUChkc3QpOworICAgIH0KK30KKyNsaW5lIDIxNzggInZtLmluYyIKKyAgICBD
SEVDS19WTV9TVEFDS19PVkVSRkxPV19GT1JfSU5TTihWTV9SRUdfQ0ZQLCBJTlNOX0FUVFIocmV0
bikpOworICAgIENIRUNLX0NBTkFSWSgpOworICAgIElOQ19TUChJTlNOX0FUVFIoc3BfaW5jKSk7
CisgICAgaWYgKGxlYWYpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKKyAgICBFTkRfSU5TTihi
cmFuY2h1bmxlc3MpOworIyAgIHVuZGVmIElOU05fQVRUUgorIyAgIHVuZGVmIE5BTUVfT0ZfQ1VS
UkVOVF9JTlNOCit9CisKKy8qIGluc24gYnJhbmNobmlsKGRzdCkodmFsKSgpICovCitJTlNOX0VO
VFJZKGJyYW5jaG5pbCkKK3sKKyMgICBkZWZpbmUgTkFNRV9PRl9DVVJSRU5UX0lOU04gYnJhbmNo
bmlsCisjICAgZGVmaW5lIElOU05fQVRUUih4KSBhdHRyXyAjIyB4ICMjIF9icmFuY2huaWwoZHN0
KQorICAgIGJvb2wgbGVhZjsKKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUgKikgY2FuYXJ5OworICAg
IE1BWUJFX1VOVVNFRChPRkZTRVQpIGRzdDsKKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIHZhbDsK
KworICAgIFNUQVJUX09GX09SSUdJTkFMX0lOU04oYnJhbmNobmlsKTsKKyAgICBkc3QgPSAoT0ZG
U0VUKUdFVF9PUEVSQU5EKDEpOworICAgIHZhbCA9IFRPUE4oMCk7CisgICAgREVCVUdfRU5URVJf
SU5TTihJTlNOX0FUVFIobmFtZSkpOworICAgIGlmICghIChsZWFmID0gSU5TTl9BVFRSKGxlYWYp
KSkgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOworICAgIFNFVFVQX0NBTkFSWSgpOworICAgIENP
TExFQ1RfVVNBR0VfSU5TTihJTlNOX0FUVFIoYmluKSk7CisgICAgQ09MTEVDVF9VU0FHRV9PUEVS
QU5EKElOU05fQVRUUihiaW4pLCAwLCBkc3QpOworI2xpbmUgOTc0ICJpbnNucy5kZWYiCit7Cisg
ICAgaWYgKE5JTF9QKHZhbCkpIHsKKwlSVUJZX1ZNX0NIRUNLX0lOVFMoZWMpOworCUpVTVAoZHN0
KTsKKyAgICB9Cit9CisjbGluZSAyMjEzICJ2bS5pbmMiCisgICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZF
UkZMT1dfRk9SX0lOU04oVk1fUkVHX0NGUCwgSU5TTl9BVFRSKHJldG4pKTsKKyAgICBDSEVDS19D
QU5BUlkoKTsKKyAgICBJTkNfU1AoSU5TTl9BVFRSKHNwX2luYykpOworICAgIGlmIChsZWFmKSBB
RERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7CisgICAgRU5EX0lOU04oYnJhbmNobmlsKTsKKyMgICB1
bmRlZiBJTlNOX0FUVFIKKyMgICB1bmRlZiBOQU1FX09GX0NVUlJFTlRfSU5TTgorfQorCisvKiBp
bnNuIG9wdF9nZXRpbmxpbmVjYWNoZShkc3QsIGljKSgpKHZhbCkgKi8KK0lOU05fRU5UUlkob3B0
X2dldGlubGluZWNhY2hlKQoreworIyAgIGRlZmluZSBOQU1FX09GX0NVUlJFTlRfSU5TTiBvcHRf
Z2V0aW5saW5lY2FjaGUKKyMgICBkZWZpbmUgSU5TTl9BVFRSKHgpIGF0dHJfICMjIHggIyMgX29w
dF9nZXRpbmxpbmVjYWNoZShkc3QsIGljKQorICAgIGJvb2wgbGVhZjsKKyAgICBNQVlCRV9VTlVT
RUQoVkFMVUUgKikgY2FuYXJ5OworICAgIE1BWUJFX1VOVVNFRChJQykgaWM7CisgICAgTUFZQkVf
VU5VU0VEKE9GRlNFVCkgZHN0OworICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgdmFsOworCisgICAg
U1RBUlRfT0ZfT1JJR0lOQUxfSU5TTihvcHRfZ2V0aW5saW5lY2FjaGUpOworICAgIGRzdCA9IChP
RkZTRVQpR0VUX09QRVJBTkQoMSk7CisgICAgaWMgPSAoSUMpR0VUX09QRVJBTkQoMik7CisgICAg
REVCVUdfRU5URVJfSU5TTihJTlNOX0FUVFIobmFtZSkpOworICAgIGlmICghIChsZWFmID0gSU5T
Tl9BVFRSKGxlYWYpKSkgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOworICAgIFNFVFVQX0NBTkFS
WSgpOworICAgIENPTExFQ1RfVVNBR0VfSU5TTihJTlNOX0FUVFIoYmluKSk7CisgICAgQ09MTEVD
VF9VU0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAwLCBkc3QpOworICAgIENPTExFQ1RfVVNB
R0VfT1BFUkFORChJTlNOX0FUVFIoYmluKSwgMSwgaWMpOworI2xpbmUgOTkxICJpbnNucy5kZWYi
Cit7CisgICAgaWYgKHZtX2ljX2hpdF9wKGljLCBHRVRfRVAoKSkpIHsKKwl2YWwgPSBpYy0+aWNf
dmFsdWUudmFsdWU7CisJSlVNUChkc3QpOworICAgIH0KKyAgICBlbHNlIHsKKwl2YWwgPSBRbmls
OworICAgIH0KK30KKyNsaW5lIDIyNTMgInZtLmluYyIKKyAgICBDSEVDS19WTV9TVEFDS19PVkVS
RkxPV19GT1JfSU5TTihWTV9SRUdfQ0ZQLCBJTlNOX0FUVFIocmV0bikpOworICAgIENIRUNLX0NB
TkFSWSgpOworICAgIElOQ19TUChJTlNOX0FUVFIoc3BfaW5jKSk7CisgICAgVE9QTigwKSA9IHZh
bDsKKyAgICBpZiAobGVhZikgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOworICAgIEVORF9JTlNO
KG9wdF9nZXRpbmxpbmVjYWNoZSk7CisjICAgdW5kZWYgSU5TTl9BVFRSCisjICAgdW5kZWYgTkFN
RV9PRl9DVVJSRU5UX0lOU04KK30KKworLyogaW5zbiBvcHRfc2V0aW5saW5lY2FjaGUoaWMpKHZh
bCkodmFsKSAqLworSU5TTl9FTlRSWShvcHRfc2V0aW5saW5lY2FjaGUpCit7CisjICAgZGVmaW5l
IE5BTUVfT0ZfQ1VSUkVOVF9JTlNOIG9wdF9zZXRpbmxpbmVjYWNoZQorIyAgIGRlZmluZSBJTlNO
X0FUVFIoeCkgYXR0cl8gIyMgeCAjIyBfb3B0X3NldGlubGluZWNhY2hlKGljKQorICAgIGJvb2wg
bGVhZjsKKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUgKikgY2FuYXJ5OworICAgIE1BWUJFX1VOVVNF
RChJQykgaWM7CisgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSB2YWw7CisKKyAgICBTVEFSVF9PRl9P
UklHSU5BTF9JTlNOKG9wdF9zZXRpbmxpbmVjYWNoZSk7CisgICAgaWMgPSAoSUMpR0VUX09QRVJB
TkQoMSk7CisgICAgdmFsID0gVE9QTigwKTsKKyAgICBERUJVR19FTlRFUl9JTlNOKElOU05fQVRU
UihuYW1lKSk7CisgICAgaWYgKCEgKGxlYWYgPSBJTlNOX0FUVFIobGVhZikpKSBBRERfUEMoSU5T
Tl9BVFRSKHdpZHRoKSk7CisgICAgU0VUVVBfQ0FOQVJZKCk7CisgICAgQ09MTEVDVF9VU0FHRV9J
TlNOKElOU05fQVRUUihiaW4pKTsKKyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRS
KGJpbiksIDAsIGljKTsKKyNsaW5lIDEwMDcgImluc25zLmRlZiIKK3sKKyAgICB2bV9pY191cGRh
dGUoaWMsIHZhbCwgR0VUX0VQKCkpOworfQorI2xpbmUgMjI4NiAidm0uaW5jIgorICAgIENIRUNL
X1ZNX1NUQUNLX09WRVJGTE9XX0ZPUl9JTlNOKFZNX1JFR19DRlAsIElOU05fQVRUUihyZXRuKSk7
CisgICAgQ0hFQ0tfQ0FOQVJZKCk7CisgICAgSU5DX1NQKElOU05fQVRUUihzcF9pbmMpKTsKKyAg
ICBUT1BOKDApID0gdmFsOworICAgIGlmIChsZWFmKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7
CisgICAgRU5EX0lOU04ob3B0X3NldGlubGluZWNhY2hlKTsKKyMgICB1bmRlZiBJTlNOX0FUVFIK
KyMgICB1bmRlZiBOQU1FX09GX0NVUlJFTlRfSU5TTgorfQorCisvKiBpbnNuIG9uY2UoaXNlcSwg
aXNlKSgpKHZhbCkgKi8KK0lOU05fRU5UUlkob25jZSkKK3sKKyMgICBkZWZpbmUgTkFNRV9PRl9D
VVJSRU5UX0lOU04gb25jZQorIyAgIGRlZmluZSBJTlNOX0FUVFIoeCkgYXR0cl8gIyMgeCAjIyBf
b25jZShpc2VxLCBpc2UpCisgICAgYm9vbCBsZWFmOworICAgIE1BWUJFX1VOVVNFRChWQUxVRSAq
KSBjYW5hcnk7CisgICAgTUFZQkVfVU5VU0VEKElTRSkgaXNlOworICAgIE1BWUJFX1VOVVNFRChJ
U0VRKSBpc2VxOworICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgdmFsOworCisgICAgU1RBUlRfT0Zf
T1JJR0lOQUxfSU5TTihvbmNlKTsKKyAgICBpc2VxID0gKElTRVEpR0VUX09QRVJBTkQoMSk7Cisg
ICAgaXNlID0gKElTRSlHRVRfT1BFUkFORCgyKTsKKyAgICBERUJVR19FTlRFUl9JTlNOKElOU05f
QVRUUihuYW1lKSk7CisgICAgaWYgKCEgKGxlYWYgPSBJTlNOX0FUVFIobGVhZikpKSBBRERfUEMo
SU5TTl9BVFRSKHdpZHRoKSk7CisgICAgUE9QTihJTlNOX0FUVFIocG9wbikpOworICAgIFNFVFVQ
X0NBTkFSWSgpOworICAgIENPTExFQ1RfVVNBR0VfSU5TTihJTlNOX0FUVFIoYmluKSk7CisgICAg
Q09MTEVDVF9VU0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAwLCBpc2VxKTsKKyAgICBDT0xM
RUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDEsIGlzZSk7CisjbGluZSAxMDE3ICJp
bnNucy5kZWYiCit7CisgICAgdmFsID0gdm1fb25jZV9kaXNwYXRjaChlYywgaXNlcSwgaXNlKTsK
K30KKyNsaW5lIDIzMjIgInZtLmluYyIKKyAgICBDSEVDS19WTV9TVEFDS19PVkVSRkxPV19GT1Jf
SU5TTihWTV9SRUdfQ0ZQLCBJTlNOX0FUVFIocmV0bikpOworICAgIENIRUNLX0NBTkFSWSgpOwor
ICAgIFBVU0godmFsKTsKKyAgICBpZiAobGVhZikgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOwor
ICAgIEVORF9JTlNOKG9uY2UpOworIyAgIHVuZGVmIElOU05fQVRUUgorIyAgIHVuZGVmIE5BTUVf
T0ZfQ1VSUkVOVF9JTlNOCit9CisKKy8qIGluc24gb3B0X2Nhc2VfZGlzcGF0Y2goaGFzaCwgZWxz
ZV9vZmZzZXQpKC4uLiwga2V5KSgpICovCitJTlNOX0VOVFJZKG9wdF9jYXNlX2Rpc3BhdGNoKQor
eworIyAgIGRlZmluZSBOQU1FX09GX0NVUlJFTlRfSU5TTiBvcHRfY2FzZV9kaXNwYXRjaAorIyAg
IGRlZmluZSBJTlNOX0FUVFIoeCkgYXR0cl8gIyMgeCAjIyBfb3B0X2Nhc2VfZGlzcGF0Y2goaGFz
aCwgZWxzZV9vZmZzZXQpCisgICAgYm9vbCBsZWFmOworICAgIE1BWUJFX1VOVVNFRChWQUxVRSAq
KSBjYW5hcnk7CisgICAgTUFZQkVfVU5VU0VEKENESEFTSCkgaGFzaDsKKyAgICBNQVlCRV9VTlVT
RUQoT0ZGU0VUKSBlbHNlX29mZnNldDsKKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIGtleTsKKwor
ICAgIFNUQVJUX09GX09SSUdJTkFMX0lOU04ob3B0X2Nhc2VfZGlzcGF0Y2gpOworICAgIGhhc2gg
PSAoQ0RIQVNIKUdFVF9PUEVSQU5EKDEpOworICAgIGVsc2Vfb2Zmc2V0ID0gKE9GRlNFVClHRVRf
T1BFUkFORCgyKTsKKyAgICBrZXkgPSBUT1BOKDApOworICAgIERFQlVHX0VOVEVSX0lOU04oSU5T
Tl9BVFRSKG5hbWUpKTsKKyAgICBpZiAoISAobGVhZiA9IElOU05fQVRUUihsZWFmKSkpIEFERF9Q
QyhJTlNOX0FUVFIod2lkdGgpKTsKKyAgICBTRVRVUF9DQU5BUlkoKTsKKyAgICBDT0xMRUNUX1VT
QUdFX0lOU04oSU5TTl9BVFRSKGJpbikpOworICAgIENPTExFQ1RfVVNBR0VfT1BFUkFORChJTlNO
X0FUVFIoYmluKSwgMCwgaGFzaCk7CisgICAgQ09MTEVDVF9VU0FHRV9PUEVSQU5EKElOU05fQVRU
UihiaW4pLCAxLCBlbHNlX29mZnNldCk7CisjbGluZSAxMDI4ICJpbnNucy5kZWYiCit7CisgICAg
T0ZGU0VUIGRzdCA9IHZtX2Nhc2VfZGlzcGF0Y2goaGFzaCwgZWxzZV9vZmZzZXQsIGtleSk7CisK
KyAgICBpZiAoZHN0KSB7CisJSlVNUChkc3QpOworICAgIH0KK30KKyNsaW5lIDIzNjEgInZtLmlu
YyIKKyAgICBDSEVDS19WTV9TVEFDS19PVkVSRkxPV19GT1JfSU5TTihWTV9SRUdfQ0ZQLCBJTlNO
X0FUVFIocmV0bikpOworICAgIENIRUNLX0NBTkFSWSgpOworICAgIElOQ19TUChJTlNOX0FUVFIo
c3BfaW5jKSk7CisgICAgaWYgKGxlYWYpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKKyAgICBF
TkRfSU5TTihvcHRfY2FzZV9kaXNwYXRjaCk7CisjICAgdW5kZWYgSU5TTl9BVFRSCisjICAgdW5k
ZWYgTkFNRV9PRl9DVVJSRU5UX0lOU04KK30KKworLyogaW5zbiBvcHRfcGx1cyhjaSwgY2MpKHJl
Y3YsIG9iaikodmFsKSAqLworSU5TTl9FTlRSWShvcHRfcGx1cykKK3sKKyMgICBkZWZpbmUgTkFN
RV9PRl9DVVJSRU5UX0lOU04gb3B0X3BsdXMKKyMgICBkZWZpbmUgSU5TTl9BVFRSKHgpIGF0dHJf
ICMjIHggIyMgX29wdF9wbHVzKGNpLCBjYykKKyAgICBib29sIGxlYWY7CisgICAgTUFZQkVfVU5V
U0VEKFZBTFVFICopIGNhbmFyeTsKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSkgY2M7Cisg
ICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTykgY2k7CisgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSBv
YmosIHJlY3YsIHZhbDsKKworICAgIFNUQVJUX09GX09SSUdJTkFMX0lOU04ob3B0X3BsdXMpOwor
ICAgIGNpID0gKENBTExfSU5GTylHRVRfT1BFUkFORCgxKTsKKyAgICBjYyA9IChDQUxMX0NBQ0hF
KUdFVF9PUEVSQU5EKDIpOworICAgIHJlY3YgPSBUT1BOKDEpOworICAgIG9iaiA9IFRPUE4oMCk7
CisgICAgREVCVUdfRU5URVJfSU5TTihJTlNOX0FUVFIobmFtZSkpOworICAgIGlmICghIChsZWFm
ID0gSU5TTl9BVFRSKGxlYWYpKSkgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOworICAgIFNFVFVQ
X0NBTkFSWSgpOworICAgIENPTExFQ1RfVVNBR0VfSU5TTihJTlNOX0FUVFIoYmluKSk7CisgICAg
Q09MTEVDVF9VU0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAwLCBjaSk7CisgICAgQ09MTEVD
VF9VU0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAxLCBjYyk7CisjbGluZSAxMDQ3ICJpbnNu
cy5kZWYiCit7CisgICAgdmFsID0gdm1fb3B0X3BsdXMocmVjdiwgb2JqKTsKKworICAgIGlmICh2
YWwgPT0gUXVuZGVmKSB7CisgICAgICAgIENBTExfU0lNUExFX01FVEhPRCgpOworICAgIH0KK30K
KyNsaW5lIDI0MDEgInZtLmluYyIKKyAgICBDSEVDS19WTV9TVEFDS19PVkVSRkxPV19GT1JfSU5T
TihWTV9SRUdfQ0ZQLCBJTlNOX0FUVFIocmV0bikpOworICAgIENIRUNLX0NBTkFSWSgpOworICAg
IElOQ19TUChJTlNOX0FUVFIoc3BfaW5jKSk7CisgICAgVE9QTigwKSA9IHZhbDsKKyAgICBpZiAo
bGVhZikgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOworICAgIEVORF9JTlNOKG9wdF9wbHVzKTsK
KyMgICB1bmRlZiBJTlNOX0FUVFIKKyMgICB1bmRlZiBOQU1FX09GX0NVUlJFTlRfSU5TTgorfQor
CisvKiBpbnNuIG9wdF9taW51cyhjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLworSU5TTl9FTlRS
WShvcHRfbWludXMpCit7CisjICAgZGVmaW5lIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOIG9wdF9taW51
cworIyAgIGRlZmluZSBJTlNOX0FUVFIoeCkgYXR0cl8gIyMgeCAjIyBfb3B0X21pbnVzKGNpLCBj
YykKKyAgICBib29sIGxlYWY7CisgICAgTUFZQkVfVU5VU0VEKFZBTFVFICopIGNhbmFyeTsKKyAg
ICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSkgY2M7CisgICAgTUFZQkVfVU5VU0VEKENBTExfSU5G
TykgY2k7CisgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSBvYmosIHJlY3YsIHZhbDsKKworICAgIFNU
QVJUX09GX09SSUdJTkFMX0lOU04ob3B0X21pbnVzKTsKKyAgICBjaSA9IChDQUxMX0lORk8pR0VU
X09QRVJBTkQoMSk7CisgICAgY2MgPSAoQ0FMTF9DQUNIRSlHRVRfT1BFUkFORCgyKTsKKyAgICBy
ZWN2ID0gVE9QTigxKTsKKyAgICBvYmogPSBUT1BOKDApOworICAgIERFQlVHX0VOVEVSX0lOU04o
SU5TTl9BVFRSKG5hbWUpKTsKKyAgICBpZiAoISAobGVhZiA9IElOU05fQVRUUihsZWFmKSkpIEFE
RF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKKyAgICBTRVRVUF9DQU5BUlkoKTsKKyAgICBDT0xMRUNU
X1VTQUdFX0lOU04oSU5TTl9BVFRSKGJpbikpOworICAgIENPTExFQ1RfVVNBR0VfT1BFUkFORChJ
TlNOX0FUVFIoYmluKSwgMCwgY2kpOworICAgIENPTExFQ1RfVVNBR0VfT1BFUkFORChJTlNOX0FU
VFIoYmluKSwgMSwgY2MpOworI2xpbmUgMTA2MSAiaW5zbnMuZGVmIgoreworICAgIHZhbCA9IHZt
X29wdF9taW51cyhyZWN2LCBvYmopOworCisgICAgaWYgKHZhbCA9PSBRdW5kZWYpIHsKKyAgICAg
ICAgQ0FMTF9TSU1QTEVfTUVUSE9EKCk7CisgICAgfQorfQorI2xpbmUgMjQ0MiAidm0uaW5jIgor
ICAgIENIRUNLX1ZNX1NUQUNLX09WRVJGTE9XX0ZPUl9JTlNOKFZNX1JFR19DRlAsIElOU05fQVRU
UihyZXRuKSk7CisgICAgQ0hFQ0tfQ0FOQVJZKCk7CisgICAgSU5DX1NQKElOU05fQVRUUihzcF9p
bmMpKTsKKyAgICBUT1BOKDApID0gdmFsOworICAgIGlmIChsZWFmKSBBRERfUEMoSU5TTl9BVFRS
KHdpZHRoKSk7CisgICAgRU5EX0lOU04ob3B0X21pbnVzKTsKKyMgICB1bmRlZiBJTlNOX0FUVFIK
KyMgICB1bmRlZiBOQU1FX09GX0NVUlJFTlRfSU5TTgorfQorCisvKiBpbnNuIG9wdF9tdWx0KGNp
LCBjYykocmVjdiwgb2JqKSh2YWwpICovCitJTlNOX0VOVFJZKG9wdF9tdWx0KQoreworIyAgIGRl
ZmluZSBOQU1FX09GX0NVUlJFTlRfSU5TTiBvcHRfbXVsdAorIyAgIGRlZmluZSBJTlNOX0FUVFIo
eCkgYXR0cl8gIyMgeCAjIyBfb3B0X211bHQoY2ksIGNjKQorICAgIGJvb2wgbGVhZjsKKyAgICBN
QVlCRV9VTlVTRUQoVkFMVUUgKikgY2FuYXJ5OworICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hF
KSBjYzsKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPKSBjaTsKKyAgICBNQVlCRV9VTlVTRUQo
VkFMVUUpIG9iaiwgcmVjdiwgdmFsOworCisgICAgU1RBUlRfT0ZfT1JJR0lOQUxfSU5TTihvcHRf
bXVsdCk7CisgICAgY2kgPSAoQ0FMTF9JTkZPKUdFVF9PUEVSQU5EKDEpOworICAgIGNjID0gKENB
TExfQ0FDSEUpR0VUX09QRVJBTkQoMik7CisgICAgcmVjdiA9IFRPUE4oMSk7CisgICAgb2JqID0g
VE9QTigwKTsKKyAgICBERUJVR19FTlRFUl9JTlNOKElOU05fQVRUUihuYW1lKSk7CisgICAgaWYg
KCEgKGxlYWYgPSBJTlNOX0FUVFIobGVhZikpKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7Cisg
ICAgU0VUVVBfQ0FOQVJZKCk7CisgICAgQ09MTEVDVF9VU0FHRV9JTlNOKElOU05fQVRUUihiaW4p
KTsKKyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDAsIGNpKTsKKyAg
ICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDEsIGNjKTsKKyNsaW5lIDEw
NzUgImluc25zLmRlZiIKK3sKKyAgICB2YWwgPSB2bV9vcHRfbXVsdChyZWN2LCBvYmopOworCisg
ICAgaWYgKHZhbCA9PSBRdW5kZWYpIHsKKyAgICAgICAgQ0FMTF9TSU1QTEVfTUVUSE9EKCk7Cisg
ICAgfQorfQorI2xpbmUgMjQ4MyAidm0uaW5jIgorICAgIENIRUNLX1ZNX1NUQUNLX09WRVJGTE9X
X0ZPUl9JTlNOKFZNX1JFR19DRlAsIElOU05fQVRUUihyZXRuKSk7CisgICAgQ0hFQ0tfQ0FOQVJZ
KCk7CisgICAgSU5DX1NQKElOU05fQVRUUihzcF9pbmMpKTsKKyAgICBUT1BOKDApID0gdmFsOwor
ICAgIGlmIChsZWFmKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7CisgICAgRU5EX0lOU04ob3B0
X211bHQpOworIyAgIHVuZGVmIElOU05fQVRUUgorIyAgIHVuZGVmIE5BTUVfT0ZfQ1VSUkVOVF9J
TlNOCit9CisKKy8qIGluc24gb3B0X2RpdihjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLworSU5T
Tl9FTlRSWShvcHRfZGl2KQoreworIyAgIGRlZmluZSBOQU1FX09GX0NVUlJFTlRfSU5TTiBvcHRf
ZGl2CisjICAgZGVmaW5lIElOU05fQVRUUih4KSBhdHRyXyAjIyB4ICMjIF9vcHRfZGl2KGNpLCBj
YykKKyAgICBib29sIGxlYWY7CisgICAgTUFZQkVfVU5VU0VEKFZBTFVFICopIGNhbmFyeTsKKyAg
ICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSkgY2M7CisgICAgTUFZQkVfVU5VU0VEKENBTExfSU5G
TykgY2k7CisgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSBvYmosIHJlY3YsIHZhbDsKKworICAgIFNU
QVJUX09GX09SSUdJTkFMX0lOU04ob3B0X2Rpdik7CisgICAgY2kgPSAoQ0FMTF9JTkZPKUdFVF9P
UEVSQU5EKDEpOworICAgIGNjID0gKENBTExfQ0FDSEUpR0VUX09QRVJBTkQoMik7CisgICAgcmVj
diA9IFRPUE4oMSk7CisgICAgb2JqID0gVE9QTigwKTsKKyAgICBERUJVR19FTlRFUl9JTlNOKElO
U05fQVRUUihuYW1lKSk7CisgICAgaWYgKCEgKGxlYWYgPSBJTlNOX0FUVFIobGVhZikpKSBBRERf
UEMoSU5TTl9BVFRSKHdpZHRoKSk7CisgICAgU0VUVVBfQ0FOQVJZKCk7CisgICAgQ09MTEVDVF9V
U0FHRV9JTlNOKElOU05fQVRUUihiaW4pKTsKKyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5T
Tl9BVFRSKGJpbiksIDAsIGNpKTsKKyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRS
KGJpbiksIDEsIGNjKTsKKyNsaW5lIDEwODkgImluc25zLmRlZiIKK3sKKyAgICB2YWwgPSB2bV9v
cHRfZGl2KHJlY3YsIG9iaik7CisKKyAgICBpZiAodmFsID09IFF1bmRlZikgeworICAgICAgICBD
QUxMX1NJTVBMRV9NRVRIT0QoKTsKKyAgICB9Cit9CisjbGluZSAyNTI0ICJ2bS5pbmMiCisgICAg
Q0hFQ0tfVk1fU1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04oVk1fUkVHX0NGUCwgSU5TTl9BVFRSKHJl
dG4pKTsKKyAgICBDSEVDS19DQU5BUlkoKTsKKyAgICBJTkNfU1AoSU5TTl9BVFRSKHNwX2luYykp
OworICAgIFRPUE4oMCkgPSB2YWw7CisgICAgaWYgKGxlYWYpIEFERF9QQyhJTlNOX0FUVFIod2lk
dGgpKTsKKyAgICBFTkRfSU5TTihvcHRfZGl2KTsKKyMgICB1bmRlZiBJTlNOX0FUVFIKKyMgICB1
bmRlZiBOQU1FX09GX0NVUlJFTlRfSU5TTgorfQorCisvKiBpbnNuIG9wdF9tb2QoY2ksIGNjKShy
ZWN2LCBvYmopKHZhbCkgKi8KK0lOU05fRU5UUlkob3B0X21vZCkKK3sKKyMgICBkZWZpbmUgTkFN
RV9PRl9DVVJSRU5UX0lOU04gb3B0X21vZAorIyAgIGRlZmluZSBJTlNOX0FUVFIoeCkgYXR0cl8g
IyMgeCAjIyBfb3B0X21vZChjaSwgY2MpCisgICAgYm9vbCBsZWFmOworICAgIE1BWUJFX1VOVVNF
RChWQUxVRSAqKSBjYW5hcnk7CisgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUpIGNjOworICAg
IE1BWUJFX1VOVVNFRChDQUxMX0lORk8pIGNpOworICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgb2Jq
LCByZWN2LCB2YWw7CisKKyAgICBTVEFSVF9PRl9PUklHSU5BTF9JTlNOKG9wdF9tb2QpOworICAg
IGNpID0gKENBTExfSU5GTylHRVRfT1BFUkFORCgxKTsKKyAgICBjYyA9IChDQUxMX0NBQ0hFKUdF
VF9PUEVSQU5EKDIpOworICAgIHJlY3YgPSBUT1BOKDEpOworICAgIG9iaiA9IFRPUE4oMCk7Cisg
ICAgREVCVUdfRU5URVJfSU5TTihJTlNOX0FUVFIobmFtZSkpOworICAgIGlmICghIChsZWFmID0g
SU5TTl9BVFRSKGxlYWYpKSkgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOworICAgIFNFVFVQX0NB
TkFSWSgpOworICAgIENPTExFQ1RfVVNBR0VfSU5TTihJTlNOX0FUVFIoYmluKSk7CisgICAgQ09M
TEVDVF9VU0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAwLCBjaSk7CisgICAgQ09MTEVDVF9V
U0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAxLCBjYyk7CisjbGluZSAxMTAzICJpbnNucy5k
ZWYiCit7CisgICAgdmFsID0gdm1fb3B0X21vZChyZWN2LCBvYmopOworCisgICAgaWYgKHZhbCA9
PSBRdW5kZWYpIHsKKyAgICAgICAgQ0FMTF9TSU1QTEVfTUVUSE9EKCk7CisgICAgfQorfQorI2xp
bmUgMjU2NSAidm0uaW5jIgorICAgIENIRUNLX1ZNX1NUQUNLX09WRVJGTE9XX0ZPUl9JTlNOKFZN
X1JFR19DRlAsIElOU05fQVRUUihyZXRuKSk7CisgICAgQ0hFQ0tfQ0FOQVJZKCk7CisgICAgSU5D
X1NQKElOU05fQVRUUihzcF9pbmMpKTsKKyAgICBUT1BOKDApID0gdmFsOworICAgIGlmIChsZWFm
KSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7CisgICAgRU5EX0lOU04ob3B0X21vZCk7CisjICAg
dW5kZWYgSU5TTl9BVFRSCisjICAgdW5kZWYgTkFNRV9PRl9DVVJSRU5UX0lOU04KK30KKworLyog
aW5zbiBvcHRfZXEoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KK0lOU05fRU5UUlkob3B0X2Vx
KQoreworIyAgIGRlZmluZSBOQU1FX09GX0NVUlJFTlRfSU5TTiBvcHRfZXEKKyMgICBkZWZpbmUg
SU5TTl9BVFRSKHgpIGF0dHJfICMjIHggIyMgX29wdF9lcShjaSwgY2MpCisgICAgYm9vbCBsZWFm
OworICAgIE1BWUJFX1VOVVNFRChWQUxVRSAqKSBjYW5hcnk7CisgICAgTUFZQkVfVU5VU0VEKENB
TExfQ0FDSEUpIGNjOworICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8pIGNpOworICAgIE1BWUJF
X1VOVVNFRChWQUxVRSkgb2JqLCByZWN2LCB2YWw7CisKKyAgICBTVEFSVF9PRl9PUklHSU5BTF9J
TlNOKG9wdF9lcSk7CisgICAgY2kgPSAoQ0FMTF9JTkZPKUdFVF9PUEVSQU5EKDEpOworICAgIGNj
ID0gKENBTExfQ0FDSEUpR0VUX09QRVJBTkQoMik7CisgICAgcmVjdiA9IFRPUE4oMSk7CisgICAg
b2JqID0gVE9QTigwKTsKKyAgICBERUJVR19FTlRFUl9JTlNOKElOU05fQVRUUihuYW1lKSk7Cisg
ICAgaWYgKCEgKGxlYWYgPSBJTlNOX0FUVFIobGVhZikpKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRo
KSk7CisgICAgU0VUVVBfQ0FOQVJZKCk7CisgICAgQ09MTEVDVF9VU0FHRV9JTlNOKElOU05fQVRU
UihiaW4pKTsKKyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDAsIGNp
KTsKKyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDEsIGNjKTsKKyNs
aW5lIDExMjEgImluc25zLmRlZiIKK3sKKyAgICB2YWwgPSBvcHRfZXFfZnVuYyhyZWN2LCBvYmos
IGNpLCBjYyk7CisKKyAgICBpZiAodmFsID09IFF1bmRlZikgeworICAgICAgICBDQUxMX1NJTVBM
RV9NRVRIT0QoKTsKKyAgICB9Cit9CisjbGluZSAyNjA2ICJ2bS5pbmMiCisgICAgQ0hFQ0tfVk1f
U1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04oVk1fUkVHX0NGUCwgSU5TTl9BVFRSKHJldG4pKTsKKyAg
ICBDSEVDS19DQU5BUlkoKTsKKyAgICBJTkNfU1AoSU5TTl9BVFRSKHNwX2luYykpOworICAgIFRP
UE4oMCkgPSB2YWw7CisgICAgaWYgKGxlYWYpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKKyAg
ICBFTkRfSU5TTihvcHRfZXEpOworIyAgIHVuZGVmIElOU05fQVRUUgorIyAgIHVuZGVmIE5BTUVf
T0ZfQ1VSUkVOVF9JTlNOCit9CisKKy8qIGluc24gb3B0X25lcShjaV9lcSwgY2NfZXEsIGNpLCBj
YykocmVjdiwgb2JqKSh2YWwpICovCitJTlNOX0VOVFJZKG9wdF9uZXEpCit7CisjICAgZGVmaW5l
IE5BTUVfT0ZfQ1VSUkVOVF9JTlNOIG9wdF9uZXEKKyMgICBkZWZpbmUgSU5TTl9BVFRSKHgpIGF0
dHJfICMjIHggIyMgX29wdF9uZXEoY2lfZXEsIGNjX2VxLCBjaSwgY2MpCisgICAgYm9vbCBsZWFm
OworICAgIE1BWUJFX1VOVVNFRChWQUxVRSAqKSBjYW5hcnk7CisgICAgTUFZQkVfVU5VU0VEKENB
TExfQ0FDSEUpIGNjLCBjY19lcTsKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPKSBjaSwgY2lf
ZXE7CisgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSBvYmosIHJlY3YsIHZhbDsKKworICAgIFNUQVJU
X09GX09SSUdJTkFMX0lOU04ob3B0X25lcSk7CisgICAgY2lfZXEgPSAoQ0FMTF9JTkZPKUdFVF9P
UEVSQU5EKDEpOworICAgIGNjX2VxID0gKENBTExfQ0FDSEUpR0VUX09QRVJBTkQoMik7CisgICAg
Y2kgPSAoQ0FMTF9JTkZPKUdFVF9PUEVSQU5EKDMpOworICAgIGNjID0gKENBTExfQ0FDSEUpR0VU
X09QRVJBTkQoNCk7CisgICAgcmVjdiA9IFRPUE4oMSk7CisgICAgb2JqID0gVE9QTigwKTsKKyAg
ICBERUJVR19FTlRFUl9JTlNOKElOU05fQVRUUihuYW1lKSk7CisgICAgaWYgKCEgKGxlYWYgPSBJ
TlNOX0FUVFIobGVhZikpKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7CisgICAgU0VUVVBfQ0FO
QVJZKCk7CisgICAgQ09MTEVDVF9VU0FHRV9JTlNOKElOU05fQVRUUihiaW4pKTsKKyAgICBDT0xM
RUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDAsIGNpX2VxKTsKKyAgICBDT0xMRUNU
X1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDEsIGNjX2VxKTsKKyAgICBDT0xMRUNUX1VT
QUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDIsIGNpKTsKKyAgICBDT0xMRUNUX1VTQUdFX09Q
RVJBTkQoSU5TTl9BVFRSKGJpbiksIDMsIGNjKTsKKyNsaW5lIDExMzcgImluc25zLmRlZiIKK3sK
KyAgICB2YWwgPSB2bV9vcHRfbmVxKGNpLCBjYywgY2lfZXEsIGNjX2VxLCByZWN2LCBvYmopOwor
CisgICAgaWYgKHZhbCA9PSBRdW5kZWYpIHsKKyAgICAgICAgQ0FMTF9TSU1QTEVfTUVUSE9EKCk7
CisgICAgfQorfQorI2xpbmUgMjY1MSAidm0uaW5jIgorICAgIENIRUNLX1ZNX1NUQUNLX09WRVJG
TE9XX0ZPUl9JTlNOKFZNX1JFR19DRlAsIElOU05fQVRUUihyZXRuKSk7CisgICAgQ0hFQ0tfQ0FO
QVJZKCk7CisgICAgSU5DX1NQKElOU05fQVRUUihzcF9pbmMpKTsKKyAgICBUT1BOKDApID0gdmFs
OworICAgIGlmIChsZWFmKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7CisgICAgRU5EX0lOU04o
b3B0X25lcSk7CisjICAgdW5kZWYgSU5TTl9BVFRSCisjICAgdW5kZWYgTkFNRV9PRl9DVVJSRU5U
X0lOU04KK30KKworLyogaW5zbiBvcHRfbHQoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KK0lO
U05fRU5UUlkob3B0X2x0KQoreworIyAgIGRlZmluZSBOQU1FX09GX0NVUlJFTlRfSU5TTiBvcHRf
bHQKKyMgICBkZWZpbmUgSU5TTl9BVFRSKHgpIGF0dHJfICMjIHggIyMgX29wdF9sdChjaSwgY2Mp
CisgICAgYm9vbCBsZWFmOworICAgIE1BWUJFX1VOVVNFRChWQUxVRSAqKSBjYW5hcnk7CisgICAg
TUFZQkVfVU5VU0VEKENBTExfQ0FDSEUpIGNjOworICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8p
IGNpOworICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgb2JqLCByZWN2LCB2YWw7CisKKyAgICBTVEFS
VF9PRl9PUklHSU5BTF9JTlNOKG9wdF9sdCk7CisgICAgY2kgPSAoQ0FMTF9JTkZPKUdFVF9PUEVS
QU5EKDEpOworICAgIGNjID0gKENBTExfQ0FDSEUpR0VUX09QRVJBTkQoMik7CisgICAgcmVjdiA9
IFRPUE4oMSk7CisgICAgb2JqID0gVE9QTigwKTsKKyAgICBERUJVR19FTlRFUl9JTlNOKElOU05f
QVRUUihuYW1lKSk7CisgICAgaWYgKCEgKGxlYWYgPSBJTlNOX0FUVFIobGVhZikpKSBBRERfUEMo
SU5TTl9BVFRSKHdpZHRoKSk7CisgICAgU0VUVVBfQ0FOQVJZKCk7CisgICAgQ09MTEVDVF9VU0FH
RV9JTlNOKElOU05fQVRUUihiaW4pKTsKKyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9B
VFRSKGJpbiksIDAsIGNpKTsKKyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJp
biksIDEsIGNjKTsKKyNsaW5lIDExNTEgImluc25zLmRlZiIKK3sKKyAgICB2YWwgPSB2bV9vcHRf
bHQocmVjdiwgb2JqKTsKKworICAgIGlmICh2YWwgPT0gUXVuZGVmKSB7CisgICAgICAgIENBTExf
U0lNUExFX01FVEhPRCgpOworICAgIH0KK30KKyNsaW5lIDI2OTIgInZtLmluYyIKKyAgICBDSEVD
S19WTV9TVEFDS19PVkVSRkxPV19GT1JfSU5TTihWTV9SRUdfQ0ZQLCBJTlNOX0FUVFIocmV0bikp
OworICAgIENIRUNLX0NBTkFSWSgpOworICAgIElOQ19TUChJTlNOX0FUVFIoc3BfaW5jKSk7Cisg
ICAgVE9QTigwKSA9IHZhbDsKKyAgICBpZiAobGVhZikgQUREX1BDKElOU05fQVRUUih3aWR0aCkp
OworICAgIEVORF9JTlNOKG9wdF9sdCk7CisjICAgdW5kZWYgSU5TTl9BVFRSCisjICAgdW5kZWYg
TkFNRV9PRl9DVVJSRU5UX0lOU04KK30KKworLyogaW5zbiBvcHRfbGUoY2ksIGNjKShyZWN2LCBv
YmopKHZhbCkgKi8KK0lOU05fRU5UUlkob3B0X2xlKQoreworIyAgIGRlZmluZSBOQU1FX09GX0NV
UlJFTlRfSU5TTiBvcHRfbGUKKyMgICBkZWZpbmUgSU5TTl9BVFRSKHgpIGF0dHJfICMjIHggIyMg
X29wdF9sZShjaSwgY2MpCisgICAgYm9vbCBsZWFmOworICAgIE1BWUJFX1VOVVNFRChWQUxVRSAq
KSBjYW5hcnk7CisgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUpIGNjOworICAgIE1BWUJFX1VO
VVNFRChDQUxMX0lORk8pIGNpOworICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgb2JqLCByZWN2LCB2
YWw7CisKKyAgICBTVEFSVF9PRl9PUklHSU5BTF9JTlNOKG9wdF9sZSk7CisgICAgY2kgPSAoQ0FM
TF9JTkZPKUdFVF9PUEVSQU5EKDEpOworICAgIGNjID0gKENBTExfQ0FDSEUpR0VUX09QRVJBTkQo
Mik7CisgICAgcmVjdiA9IFRPUE4oMSk7CisgICAgb2JqID0gVE9QTigwKTsKKyAgICBERUJVR19F
TlRFUl9JTlNOKElOU05fQVRUUihuYW1lKSk7CisgICAgaWYgKCEgKGxlYWYgPSBJTlNOX0FUVFIo
bGVhZikpKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7CisgICAgU0VUVVBfQ0FOQVJZKCk7Cisg
ICAgQ09MTEVDVF9VU0FHRV9JTlNOKElOU05fQVRUUihiaW4pKTsKKyAgICBDT0xMRUNUX1VTQUdF
X09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDAsIGNpKTsKKyAgICBDT0xMRUNUX1VTQUdFX09QRVJB
TkQoSU5TTl9BVFRSKGJpbiksIDEsIGNjKTsKKyNsaW5lIDExNjUgImluc25zLmRlZiIKK3sKKyAg
ICB2YWwgPSB2bV9vcHRfbGUocmVjdiwgb2JqKTsKKworICAgIGlmICh2YWwgPT0gUXVuZGVmKSB7
CisgICAgICAgIENBTExfU0lNUExFX01FVEhPRCgpOworICAgIH0KK30KKyNsaW5lIDI3MzMgInZt
LmluYyIKKyAgICBDSEVDS19WTV9TVEFDS19PVkVSRkxPV19GT1JfSU5TTihWTV9SRUdfQ0ZQLCBJ
TlNOX0FUVFIocmV0bikpOworICAgIENIRUNLX0NBTkFSWSgpOworICAgIElOQ19TUChJTlNOX0FU
VFIoc3BfaW5jKSk7CisgICAgVE9QTigwKSA9IHZhbDsKKyAgICBpZiAobGVhZikgQUREX1BDKElO
U05fQVRUUih3aWR0aCkpOworICAgIEVORF9JTlNOKG9wdF9sZSk7CisjICAgdW5kZWYgSU5TTl9B
VFRSCisjICAgdW5kZWYgTkFNRV9PRl9DVVJSRU5UX0lOU04KK30KKworLyogaW5zbiBvcHRfZ3Qo
Y2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KK0lOU05fRU5UUlkob3B0X2d0KQoreworIyAgIGRl
ZmluZSBOQU1FX09GX0NVUlJFTlRfSU5TTiBvcHRfZ3QKKyMgICBkZWZpbmUgSU5TTl9BVFRSKHgp
IGF0dHJfICMjIHggIyMgX29wdF9ndChjaSwgY2MpCisgICAgYm9vbCBsZWFmOworICAgIE1BWUJF
X1VOVVNFRChWQUxVRSAqKSBjYW5hcnk7CisgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUpIGNj
OworICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8pIGNpOworICAgIE1BWUJFX1VOVVNFRChWQUxV
RSkgb2JqLCByZWN2LCB2YWw7CisKKyAgICBTVEFSVF9PRl9PUklHSU5BTF9JTlNOKG9wdF9ndCk7
CisgICAgY2kgPSAoQ0FMTF9JTkZPKUdFVF9PUEVSQU5EKDEpOworICAgIGNjID0gKENBTExfQ0FD
SEUpR0VUX09QRVJBTkQoMik7CisgICAgcmVjdiA9IFRPUE4oMSk7CisgICAgb2JqID0gVE9QTigw
KTsKKyAgICBERUJVR19FTlRFUl9JTlNOKElOU05fQVRUUihuYW1lKSk7CisgICAgaWYgKCEgKGxl
YWYgPSBJTlNOX0FUVFIobGVhZikpKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7CisgICAgU0VU
VVBfQ0FOQVJZKCk7CisgICAgQ09MTEVDVF9VU0FHRV9JTlNOKElOU05fQVRUUihiaW4pKTsKKyAg
ICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDAsIGNpKTsKKyAgICBDT0xM
RUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDEsIGNjKTsKKyNsaW5lIDExNzkgImlu
c25zLmRlZiIKK3sKKyAgICB2YWwgPSB2bV9vcHRfZ3QocmVjdiwgb2JqKTsKKworICAgIGlmICh2
YWwgPT0gUXVuZGVmKSB7CisgICAgICAgIENBTExfU0lNUExFX01FVEhPRCgpOworICAgIH0KK30K
KyNsaW5lIDI3NzQgInZtLmluYyIKKyAgICBDSEVDS19WTV9TVEFDS19PVkVSRkxPV19GT1JfSU5T
TihWTV9SRUdfQ0ZQLCBJTlNOX0FUVFIocmV0bikpOworICAgIENIRUNLX0NBTkFSWSgpOworICAg
IElOQ19TUChJTlNOX0FUVFIoc3BfaW5jKSk7CisgICAgVE9QTigwKSA9IHZhbDsKKyAgICBpZiAo
bGVhZikgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOworICAgIEVORF9JTlNOKG9wdF9ndCk7Cisj
ICAgdW5kZWYgSU5TTl9BVFRSCisjICAgdW5kZWYgTkFNRV9PRl9DVVJSRU5UX0lOU04KK30KKwor
LyogaW5zbiBvcHRfZ2UoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KK0lOU05fRU5UUlkob3B0
X2dlKQoreworIyAgIGRlZmluZSBOQU1FX09GX0NVUlJFTlRfSU5TTiBvcHRfZ2UKKyMgICBkZWZp
bmUgSU5TTl9BVFRSKHgpIGF0dHJfICMjIHggIyMgX29wdF9nZShjaSwgY2MpCisgICAgYm9vbCBs
ZWFmOworICAgIE1BWUJFX1VOVVNFRChWQUxVRSAqKSBjYW5hcnk7CisgICAgTUFZQkVfVU5VU0VE
KENBTExfQ0FDSEUpIGNjOworICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8pIGNpOworICAgIE1B
WUJFX1VOVVNFRChWQUxVRSkgb2JqLCByZWN2LCB2YWw7CisKKyAgICBTVEFSVF9PRl9PUklHSU5B
TF9JTlNOKG9wdF9nZSk7CisgICAgY2kgPSAoQ0FMTF9JTkZPKUdFVF9PUEVSQU5EKDEpOworICAg
IGNjID0gKENBTExfQ0FDSEUpR0VUX09QRVJBTkQoMik7CisgICAgcmVjdiA9IFRPUE4oMSk7Cisg
ICAgb2JqID0gVE9QTigwKTsKKyAgICBERUJVR19FTlRFUl9JTlNOKElOU05fQVRUUihuYW1lKSk7
CisgICAgaWYgKCEgKGxlYWYgPSBJTlNOX0FUVFIobGVhZikpKSBBRERfUEMoSU5TTl9BVFRSKHdp
ZHRoKSk7CisgICAgU0VUVVBfQ0FOQVJZKCk7CisgICAgQ09MTEVDVF9VU0FHRV9JTlNOKElOU05f
QVRUUihiaW4pKTsKKyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDAs
IGNpKTsKKyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDEsIGNjKTsK
KyNsaW5lIDExOTMgImluc25zLmRlZiIKK3sKKyAgICB2YWwgPSB2bV9vcHRfZ2UocmVjdiwgb2Jq
KTsKKworICAgIGlmICh2YWwgPT0gUXVuZGVmKSB7CisgICAgICAgIENBTExfU0lNUExFX01FVEhP
RCgpOworICAgIH0KK30KKyNsaW5lIDI4MTUgInZtLmluYyIKKyAgICBDSEVDS19WTV9TVEFDS19P
VkVSRkxPV19GT1JfSU5TTihWTV9SRUdfQ0ZQLCBJTlNOX0FUVFIocmV0bikpOworICAgIENIRUNL
X0NBTkFSWSgpOworICAgIElOQ19TUChJTlNOX0FUVFIoc3BfaW5jKSk7CisgICAgVE9QTigwKSA9
IHZhbDsKKyAgICBpZiAobGVhZikgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOworICAgIEVORF9J
TlNOKG9wdF9nZSk7CisjICAgdW5kZWYgSU5TTl9BVFRSCisjICAgdW5kZWYgTkFNRV9PRl9DVVJS
RU5UX0lOU04KK30KKworLyogaW5zbiBvcHRfbHRsdChjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAq
LworSU5TTl9FTlRSWShvcHRfbHRsdCkKK3sKKyMgICBkZWZpbmUgTkFNRV9PRl9DVVJSRU5UX0lO
U04gb3B0X2x0bHQKKyMgICBkZWZpbmUgSU5TTl9BVFRSKHgpIGF0dHJfICMjIHggIyMgX29wdF9s
dGx0KGNpLCBjYykKKyAgICBib29sIGxlYWY7CisgICAgTUFZQkVfVU5VU0VEKFZBTFVFICopIGNh
bmFyeTsKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSkgY2M7CisgICAgTUFZQkVfVU5VU0VE
KENBTExfSU5GTykgY2k7CisgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSBvYmosIHJlY3YsIHZhbDsK
KworICAgIFNUQVJUX09GX09SSUdJTkFMX0lOU04ob3B0X2x0bHQpOworICAgIGNpID0gKENBTExf
SU5GTylHRVRfT1BFUkFORCgxKTsKKyAgICBjYyA9IChDQUxMX0NBQ0hFKUdFVF9PUEVSQU5EKDIp
OworICAgIHJlY3YgPSBUT1BOKDEpOworICAgIG9iaiA9IFRPUE4oMCk7CisgICAgREVCVUdfRU5U
RVJfSU5TTihJTlNOX0FUVFIobmFtZSkpOworICAgIGlmICghIChsZWFmID0gSU5TTl9BVFRSKGxl
YWYpKSkgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOworICAgIFNFVFVQX0NBTkFSWSgpOworICAg
IENPTExFQ1RfVVNBR0VfSU5TTihJTlNOX0FUVFIoYmluKSk7CisgICAgQ09MTEVDVF9VU0FHRV9P
UEVSQU5EKElOU05fQVRUUihiaW4pLCAwLCBjaSk7CisgICAgQ09MTEVDVF9VU0FHRV9PUEVSQU5E
KElOU05fQVRUUihiaW4pLCAxLCBjYyk7CisjbGluZSAxMjA3ICJpbnNucy5kZWYiCit7CisgICAg
dmFsID0gdm1fb3B0X2x0bHQocmVjdiwgb2JqKTsKKworICAgIGlmICh2YWwgPT0gUXVuZGVmKSB7
CisgICAgICAgIENBTExfU0lNUExFX01FVEhPRCgpOworICAgIH0KK30KKyNsaW5lIDI4NTYgInZt
LmluYyIKKyAgICBDSEVDS19WTV9TVEFDS19PVkVSRkxPV19GT1JfSU5TTihWTV9SRUdfQ0ZQLCBJ
TlNOX0FUVFIocmV0bikpOworICAgIENIRUNLX0NBTkFSWSgpOworICAgIElOQ19TUChJTlNOX0FU
VFIoc3BfaW5jKSk7CisgICAgVE9QTigwKSA9IHZhbDsKKyAgICBpZiAobGVhZikgQUREX1BDKElO
U05fQVRUUih3aWR0aCkpOworICAgIEVORF9JTlNOKG9wdF9sdGx0KTsKKyMgICB1bmRlZiBJTlNO
X0FUVFIKKyMgICB1bmRlZiBOQU1FX09GX0NVUlJFTlRfSU5TTgorfQorCisvKiBpbnNuIG9wdF9h
bmQoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KK0lOU05fRU5UUlkob3B0X2FuZCkKK3sKKyMg
ICBkZWZpbmUgTkFNRV9PRl9DVVJSRU5UX0lOU04gb3B0X2FuZAorIyAgIGRlZmluZSBJTlNOX0FU
VFIoeCkgYXR0cl8gIyMgeCAjIyBfb3B0X2FuZChjaSwgY2MpCisgICAgYm9vbCBsZWFmOworICAg
IE1BWUJFX1VOVVNFRChWQUxVRSAqKSBjYW5hcnk7CisgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FD
SEUpIGNjOworICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8pIGNpOworICAgIE1BWUJFX1VOVVNF
RChWQUxVRSkgb2JqLCByZWN2LCB2YWw7CisKKyAgICBTVEFSVF9PRl9PUklHSU5BTF9JTlNOKG9w
dF9hbmQpOworICAgIGNpID0gKENBTExfSU5GTylHRVRfT1BFUkFORCgxKTsKKyAgICBjYyA9IChD
QUxMX0NBQ0hFKUdFVF9PUEVSQU5EKDIpOworICAgIHJlY3YgPSBUT1BOKDEpOworICAgIG9iaiA9
IFRPUE4oMCk7CisgICAgREVCVUdfRU5URVJfSU5TTihJTlNOX0FUVFIobmFtZSkpOworICAgIGlm
ICghIChsZWFmID0gSU5TTl9BVFRSKGxlYWYpKSkgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOwor
ICAgIFNFVFVQX0NBTkFSWSgpOworICAgIENPTExFQ1RfVVNBR0VfSU5TTihJTlNOX0FUVFIoYmlu
KSk7CisgICAgQ09MTEVDVF9VU0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAwLCBjaSk7Cisg
ICAgQ09MTEVDVF9VU0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAxLCBjYyk7CisjbGluZSAx
MjIxICJpbnNucy5kZWYiCit7CisgICAgdmFsID0gdm1fb3B0X2FuZChyZWN2LCBvYmopOworCisg
ICAgaWYgKHZhbCA9PSBRdW5kZWYpIHsKKyAgICAgICAgQ0FMTF9TSU1QTEVfTUVUSE9EKCk7Cisg
ICAgfQorfQorI2xpbmUgMjg5NyAidm0uaW5jIgorICAgIENIRUNLX1ZNX1NUQUNLX09WRVJGTE9X
X0ZPUl9JTlNOKFZNX1JFR19DRlAsIElOU05fQVRUUihyZXRuKSk7CisgICAgQ0hFQ0tfQ0FOQVJZ
KCk7CisgICAgSU5DX1NQKElOU05fQVRUUihzcF9pbmMpKTsKKyAgICBUT1BOKDApID0gdmFsOwor
ICAgIGlmIChsZWFmKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7CisgICAgRU5EX0lOU04ob3B0
X2FuZCk7CisjICAgdW5kZWYgSU5TTl9BVFRSCisjICAgdW5kZWYgTkFNRV9PRl9DVVJSRU5UX0lO
U04KK30KKworLyogaW5zbiBvcHRfb3IoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KK0lOU05f
RU5UUlkob3B0X29yKQoreworIyAgIGRlZmluZSBOQU1FX09GX0NVUlJFTlRfSU5TTiBvcHRfb3IK
KyMgICBkZWZpbmUgSU5TTl9BVFRSKHgpIGF0dHJfICMjIHggIyMgX29wdF9vcihjaSwgY2MpCisg
ICAgYm9vbCBsZWFmOworICAgIE1BWUJFX1VOVVNFRChWQUxVRSAqKSBjYW5hcnk7CisgICAgTUFZ
QkVfVU5VU0VEKENBTExfQ0FDSEUpIGNjOworICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8pIGNp
OworICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgb2JqLCByZWN2LCB2YWw7CisKKyAgICBTVEFSVF9P
Rl9PUklHSU5BTF9JTlNOKG9wdF9vcik7CisgICAgY2kgPSAoQ0FMTF9JTkZPKUdFVF9PUEVSQU5E
KDEpOworICAgIGNjID0gKENBTExfQ0FDSEUpR0VUX09QRVJBTkQoMik7CisgICAgcmVjdiA9IFRP
UE4oMSk7CisgICAgb2JqID0gVE9QTigwKTsKKyAgICBERUJVR19FTlRFUl9JTlNOKElOU05fQVRU
UihuYW1lKSk7CisgICAgaWYgKCEgKGxlYWYgPSBJTlNOX0FUVFIobGVhZikpKSBBRERfUEMoSU5T
Tl9BVFRSKHdpZHRoKSk7CisgICAgU0VUVVBfQ0FOQVJZKCk7CisgICAgQ09MTEVDVF9VU0FHRV9J
TlNOKElOU05fQVRUUihiaW4pKTsKKyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRS
KGJpbiksIDAsIGNpKTsKKyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiks
IDEsIGNjKTsKKyNsaW5lIDEyMzUgImluc25zLmRlZiIKK3sKKyAgICB2YWwgPSB2bV9vcHRfb3Io
cmVjdiwgb2JqKTsKKworICAgIGlmICh2YWwgPT0gUXVuZGVmKSB7CisgICAgICAgIENBTExfU0lN
UExFX01FVEhPRCgpOworICAgIH0KK30KKyNsaW5lIDI5MzggInZtLmluYyIKKyAgICBDSEVDS19W
TV9TVEFDS19PVkVSRkxPV19GT1JfSU5TTihWTV9SRUdfQ0ZQLCBJTlNOX0FUVFIocmV0bikpOwor
ICAgIENIRUNLX0NBTkFSWSgpOworICAgIElOQ19TUChJTlNOX0FUVFIoc3BfaW5jKSk7CisgICAg
VE9QTigwKSA9IHZhbDsKKyAgICBpZiAobGVhZikgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOwor
ICAgIEVORF9JTlNOKG9wdF9vcik7CisjICAgdW5kZWYgSU5TTl9BVFRSCisjICAgdW5kZWYgTkFN
RV9PRl9DVVJSRU5UX0lOU04KK30KKworLyogaW5zbiBvcHRfYXJlZihjaSwgY2MpKHJlY3YsIG9i
aikodmFsKSAqLworSU5TTl9FTlRSWShvcHRfYXJlZikKK3sKKyMgICBkZWZpbmUgTkFNRV9PRl9D
VVJSRU5UX0lOU04gb3B0X2FyZWYKKyMgICBkZWZpbmUgSU5TTl9BVFRSKHgpIGF0dHJfICMjIHgg
IyMgX29wdF9hcmVmKGNpLCBjYykKKyAgICBib29sIGxlYWY7CisgICAgTUFZQkVfVU5VU0VEKFZB
TFVFICopIGNhbmFyeTsKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSkgY2M7CisgICAgTUFZ
QkVfVU5VU0VEKENBTExfSU5GTykgY2k7CisgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSBvYmosIHJl
Y3YsIHZhbDsKKworICAgIFNUQVJUX09GX09SSUdJTkFMX0lOU04ob3B0X2FyZWYpOworICAgIGNp
ID0gKENBTExfSU5GTylHRVRfT1BFUkFORCgxKTsKKyAgICBjYyA9IChDQUxMX0NBQ0hFKUdFVF9P
UEVSQU5EKDIpOworICAgIHJlY3YgPSBUT1BOKDEpOworICAgIG9iaiA9IFRPUE4oMCk7CisgICAg
REVCVUdfRU5URVJfSU5TTihJTlNOX0FUVFIobmFtZSkpOworICAgIGlmICghIChsZWFmID0gSU5T
Tl9BVFRSKGxlYWYpKSkgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOworICAgIFNFVFVQX0NBTkFS
WSgpOworICAgIENPTExFQ1RfVVNBR0VfSU5TTihJTlNOX0FUVFIoYmluKSk7CisgICAgQ09MTEVD
VF9VU0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAwLCBjaSk7CisgICAgQ09MTEVDVF9VU0FH
RV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAxLCBjYyk7CisjbGluZSAxMjU0ICJpbnNucy5kZWYi
Cit7CisgICAgdmFsID0gdm1fb3B0X2FyZWYocmVjdiwgb2JqKTsKKworICAgIGlmICh2YWwgPT0g
UXVuZGVmKSB7CisgICAgICAgIENBTExfU0lNUExFX01FVEhPRCgpOworICAgIH0KK30KKyNsaW5l
IDI5NzkgInZtLmluYyIKKyAgICBDSEVDS19WTV9TVEFDS19PVkVSRkxPV19GT1JfSU5TTihWTV9S
RUdfQ0ZQLCBJTlNOX0FUVFIocmV0bikpOworICAgIENIRUNLX0NBTkFSWSgpOworICAgIElOQ19T
UChJTlNOX0FUVFIoc3BfaW5jKSk7CisgICAgVE9QTigwKSA9IHZhbDsKKyAgICBpZiAobGVhZikg
QUREX1BDKElOU05fQVRUUih3aWR0aCkpOworICAgIEVORF9JTlNOKG9wdF9hcmVmKTsKKyMgICB1
bmRlZiBJTlNOX0FUVFIKKyMgICB1bmRlZiBOQU1FX09GX0NVUlJFTlRfSU5TTgorfQorCisvKiBp
bnNuIG9wdF9hc2V0KGNpLCBjYykocmVjdiwgb2JqLCBzZXQpKHZhbCkgKi8KK0lOU05fRU5UUlko
b3B0X2FzZXQpCit7CisjICAgZGVmaW5lIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOIG9wdF9hc2V0Cisj
ICAgZGVmaW5lIElOU05fQVRUUih4KSBhdHRyXyAjIyB4ICMjIF9vcHRfYXNldChjaSwgY2MpCisg
ICAgYm9vbCBsZWFmOworICAgIE1BWUJFX1VOVVNFRChWQUxVRSAqKSBjYW5hcnk7CisgICAgTUFZ
QkVfVU5VU0VEKENBTExfQ0FDSEUpIGNjOworICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8pIGNp
OworICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgb2JqLCByZWN2LCBzZXQsIHZhbDsKKworICAgIFNU
QVJUX09GX09SSUdJTkFMX0lOU04ob3B0X2FzZXQpOworICAgIGNpID0gKENBTExfSU5GTylHRVRf
T1BFUkFORCgxKTsKKyAgICBjYyA9IChDQUxMX0NBQ0hFKUdFVF9PUEVSQU5EKDIpOworICAgIHJl
Y3YgPSBUT1BOKDIpOworICAgIG9iaiA9IFRPUE4oMSk7CisgICAgc2V0ID0gVE9QTigwKTsKKyAg
ICBERUJVR19FTlRFUl9JTlNOKElOU05fQVRUUihuYW1lKSk7CisgICAgaWYgKCEgKGxlYWYgPSBJ
TlNOX0FUVFIobGVhZikpKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7CisgICAgU0VUVVBfQ0FO
QVJZKCk7CisgICAgQ09MTEVDVF9VU0FHRV9JTlNOKElOU05fQVRUUihiaW4pKTsKKyAgICBDT0xM
RUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDAsIGNpKTsKKyAgICBDT0xMRUNUX1VT
QUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDEsIGNjKTsKKyNsaW5lIDEyNzEgImluc25zLmRl
ZiIKK3sKKyAgICB2YWwgPSB2bV9vcHRfYXNldChyZWN2LCBvYmosIHNldCk7CisKKyAgICBpZiAo
dmFsID09IFF1bmRlZikgeworICAgICAgICBDQUxMX1NJTVBMRV9NRVRIT0QoKTsKKyAgICB9Cit9
CisjbGluZSAzMDIxICJ2bS5pbmMiCisgICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZFUkZMT1dfRk9SX0lO
U04oVk1fUkVHX0NGUCwgSU5TTl9BVFRSKHJldG4pKTsKKyAgICBDSEVDS19DQU5BUlkoKTsKKyAg
ICBJTkNfU1AoSU5TTl9BVFRSKHNwX2luYykpOworICAgIFRPUE4oMCkgPSB2YWw7CisgICAgaWYg
KGxlYWYpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKKyAgICBFTkRfSU5TTihvcHRfYXNldCk7
CisjICAgdW5kZWYgSU5TTl9BVFRSCisjICAgdW5kZWYgTkFNRV9PRl9DVVJSRU5UX0lOU04KK30K
KworLyogaW5zbiBvcHRfYXNldF93aXRoKGtleSwgY2ksIGNjKShyZWN2LCB2YWwpKHZhbCkgKi8K
K0lOU05fRU5UUlkob3B0X2FzZXRfd2l0aCkKK3sKKyMgICBkZWZpbmUgTkFNRV9PRl9DVVJSRU5U
X0lOU04gb3B0X2FzZXRfd2l0aAorIyAgIGRlZmluZSBJTlNOX0FUVFIoeCkgYXR0cl8gIyMgeCAj
IyBfb3B0X2FzZXRfd2l0aChrZXksIGNpLCBjYykKKyAgICBib29sIGxlYWY7CisgICAgTUFZQkVf
VU5VU0VEKFZBTFVFICopIGNhbmFyeTsKKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSkgY2M7
CisgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTykgY2k7CisgICAgTUFZQkVfVU5VU0VEKFZBTFVF
KSBrZXksIHJlY3YsIHZhbDsKKworICAgIFNUQVJUX09GX09SSUdJTkFMX0lOU04ob3B0X2FzZXRf
d2l0aCk7CisgICAga2V5ID0gKFZBTFVFKUdFVF9PUEVSQU5EKDEpOworICAgIGNpID0gKENBTExf
SU5GTylHRVRfT1BFUkFORCgyKTsKKyAgICBjYyA9IChDQUxMX0NBQ0hFKUdFVF9PUEVSQU5EKDMp
OworICAgIHJlY3YgPSBUT1BOKDEpOworICAgIHZhbCA9IFRPUE4oMCk7CisgICAgREVCVUdfRU5U
RVJfSU5TTihJTlNOX0FUVFIobmFtZSkpOworICAgIGlmICghIChsZWFmID0gSU5TTl9BVFRSKGxl
YWYpKSkgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOworICAgIFNFVFVQX0NBTkFSWSgpOworICAg
IENPTExFQ1RfVVNBR0VfSU5TTihJTlNOX0FUVFIoYmluKSk7CisgICAgQ09MTEVDVF9VU0FHRV9P
UEVSQU5EKElOU05fQVRUUihiaW4pLCAwLCBrZXkpOworICAgIENPTExFQ1RfVVNBR0VfT1BFUkFO
RChJTlNOX0FUVFIoYmluKSwgMSwgY2kpOworICAgIENPTExFQ1RfVVNBR0VfT1BFUkFORChJTlNO
X0FUVFIoYmluKSwgMiwgY2MpOworI2xpbmUgMTI4NyAiaW5zbnMuZGVmIgoreworICAgIFZBTFVF
IHRtcCA9IHZtX29wdF9hc2V0X3dpdGgocmVjdiwga2V5LCB2YWwpOworCisgICAgaWYgKHRtcCAh
PSBRdW5kZWYpIHsKKwl2YWwgPSB0bXA7CisgICAgfQorICAgIGVsc2UgeworI2lmbmRlZiBNSklU
X0hFQURFUgorCVRPUE4oMCkgPSByYl9zdHJfcmVzdXJyZWN0KGtleSk7CisJUFVTSCh2YWwpOwor
I2VuZGlmCisgICAgICAgIENBTExfU0lNUExFX01FVEhPRCgpOworICAgIH0KK30KKyNsaW5lIDMw
NzEgInZtLmluYyIKKyAgICBDSEVDS19WTV9TVEFDS19PVkVSRkxPV19GT1JfSU5TTihWTV9SRUdf
Q0ZQLCBJTlNOX0FUVFIocmV0bikpOworICAgIENIRUNLX0NBTkFSWSgpOworICAgIElOQ19TUChJ
TlNOX0FUVFIoc3BfaW5jKSk7CisgICAgVE9QTigwKSA9IHZhbDsKKyAgICBpZiAobGVhZikgQURE
X1BDKElOU05fQVRUUih3aWR0aCkpOworICAgIEVORF9JTlNOKG9wdF9hc2V0X3dpdGgpOworIyAg
IHVuZGVmIElOU05fQVRUUgorIyAgIHVuZGVmIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOCit9CisKKy8q
IGluc24gb3B0X2FyZWZfd2l0aChrZXksIGNpLCBjYykocmVjdikodmFsKSAqLworSU5TTl9FTlRS
WShvcHRfYXJlZl93aXRoKQoreworIyAgIGRlZmluZSBOQU1FX09GX0NVUlJFTlRfSU5TTiBvcHRf
YXJlZl93aXRoCisjICAgZGVmaW5lIElOU05fQVRUUih4KSBhdHRyXyAjIyB4ICMjIF9vcHRfYXJl
Zl93aXRoKGtleSwgY2ksIGNjKQorICAgIGJvb2wgbGVhZjsKKyAgICBNQVlCRV9VTlVTRUQoVkFM
VUUgKikgY2FuYXJ5OworICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFKSBjYzsKKyAgICBNQVlC
RV9VTlVTRUQoQ0FMTF9JTkZPKSBjaTsKKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIGtleSwgcmVj
diwgdmFsOworCisgICAgU1RBUlRfT0ZfT1JJR0lOQUxfSU5TTihvcHRfYXJlZl93aXRoKTsKKyAg
ICBrZXkgPSAoVkFMVUUpR0VUX09QRVJBTkQoMSk7CisgICAgY2kgPSAoQ0FMTF9JTkZPKUdFVF9P
UEVSQU5EKDIpOworICAgIGNjID0gKENBTExfQ0FDSEUpR0VUX09QRVJBTkQoMyk7CisgICAgcmVj
diA9IFRPUE4oMCk7CisgICAgREVCVUdfRU5URVJfSU5TTihJTlNOX0FUVFIobmFtZSkpOworICAg
IGlmICghIChsZWFmID0gSU5TTl9BVFRSKGxlYWYpKSkgQUREX1BDKElOU05fQVRUUih3aWR0aCkp
OworICAgIFNFVFVQX0NBTkFSWSgpOworICAgIENPTExFQ1RfVVNBR0VfSU5TTihJTlNOX0FUVFIo
YmluKSk7CisgICAgQ09MTEVDVF9VU0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAwLCBrZXkp
OworICAgIENPTExFQ1RfVVNBR0VfT1BFUkFORChJTlNOX0FUVFIoYmluKSwgMSwgY2kpOworICAg
IENPTExFQ1RfVVNBR0VfT1BFUkFORChJTlNOX0FUVFIoYmluKSwgMiwgY2MpOworI2xpbmUgMTMx
MCAiaW5zbnMuZGVmIgoreworICAgIHZhbCA9IHZtX29wdF9hcmVmX3dpdGgocmVjdiwga2V5KTsK
KworICAgIGlmICh2YWwgPT0gUXVuZGVmKSB7CisjaWZuZGVmIE1KSVRfSEVBREVSCisJUFVTSChy
Yl9zdHJfcmVzdXJyZWN0KGtleSkpOworI2VuZGlmCisgICAgICAgIENBTExfU0lNUExFX01FVEhP
RCgpOworICAgIH0KK30KKyNsaW5lIDMxMTYgInZtLmluYyIKKyAgICBDSEVDS19WTV9TVEFDS19P
VkVSRkxPV19GT1JfSU5TTihWTV9SRUdfQ0ZQLCBJTlNOX0FUVFIocmV0bikpOworICAgIENIRUNL
X0NBTkFSWSgpOworICAgIElOQ19TUChJTlNOX0FUVFIoc3BfaW5jKSk7CisgICAgVE9QTigwKSA9
IHZhbDsKKyAgICBpZiAobGVhZikgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOworICAgIEVORF9J
TlNOKG9wdF9hcmVmX3dpdGgpOworIyAgIHVuZGVmIElOU05fQVRUUgorIyAgIHVuZGVmIE5BTUVf
T0ZfQ1VSUkVOVF9JTlNOCit9CisKKy8qIGluc24gb3B0X2xlbmd0aChjaSwgY2MpKHJlY3YpKHZh
bCkgKi8KK0lOU05fRU5UUlkob3B0X2xlbmd0aCkKK3sKKyMgICBkZWZpbmUgTkFNRV9PRl9DVVJS
RU5UX0lOU04gb3B0X2xlbmd0aAorIyAgIGRlZmluZSBJTlNOX0FUVFIoeCkgYXR0cl8gIyMgeCAj
IyBfb3B0X2xlbmd0aChjaSwgY2MpCisgICAgYm9vbCBsZWFmOworICAgIE1BWUJFX1VOVVNFRChW
QUxVRSAqKSBjYW5hcnk7CisgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUpIGNjOworICAgIE1B
WUJFX1VOVVNFRChDQUxMX0lORk8pIGNpOworICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgcmVjdiwg
dmFsOworCisgICAgU1RBUlRfT0ZfT1JJR0lOQUxfSU5TTihvcHRfbGVuZ3RoKTsKKyAgICBjaSA9
IChDQUxMX0lORk8pR0VUX09QRVJBTkQoMSk7CisgICAgY2MgPSAoQ0FMTF9DQUNIRSlHRVRfT1BF
UkFORCgyKTsKKyAgICByZWN2ID0gVE9QTigwKTsKKyAgICBERUJVR19FTlRFUl9JTlNOKElOU05f
QVRUUihuYW1lKSk7CisgICAgaWYgKCEgKGxlYWYgPSBJTlNOX0FUVFIobGVhZikpKSBBRERfUEMo
SU5TTl9BVFRSKHdpZHRoKSk7CisgICAgU0VUVVBfQ0FOQVJZKCk7CisgICAgQ09MTEVDVF9VU0FH
RV9JTlNOKElOU05fQVRUUihiaW4pKTsKKyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9B
VFRSKGJpbiksIDAsIGNpKTsKKyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJp
biksIDEsIGNjKTsKKyNsaW5lIDEzMjcgImluc25zLmRlZiIKK3sKKyAgICB2YWwgPSB2bV9vcHRf
bGVuZ3RoKHJlY3YsIEJPUF9MRU5HVEgpOworCisgICAgaWYgKHZhbCA9PSBRdW5kZWYpIHsKKyAg
ICAgICAgQ0FMTF9TSU1QTEVfTUVUSE9EKCk7CisgICAgfQorfQorI2xpbmUgMzE1NiAidm0uaW5j
IgorICAgIENIRUNLX1ZNX1NUQUNLX09WRVJGTE9XX0ZPUl9JTlNOKFZNX1JFR19DRlAsIElOU05f
QVRUUihyZXRuKSk7CisgICAgQ0hFQ0tfQ0FOQVJZKCk7CisgICAgSU5DX1NQKElOU05fQVRUUihz
cF9pbmMpKTsKKyAgICBUT1BOKDApID0gdmFsOworICAgIGlmIChsZWFmKSBBRERfUEMoSU5TTl9B
VFRSKHdpZHRoKSk7CisgICAgRU5EX0lOU04ob3B0X2xlbmd0aCk7CisjICAgdW5kZWYgSU5TTl9B
VFRSCisjICAgdW5kZWYgTkFNRV9PRl9DVVJSRU5UX0lOU04KK30KKworLyogaW5zbiBvcHRfc2l6
ZShjaSwgY2MpKHJlY3YpKHZhbCkgKi8KK0lOU05fRU5UUlkob3B0X3NpemUpCit7CisjICAgZGVm
aW5lIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOIG9wdF9zaXplCisjICAgZGVmaW5lIElOU05fQVRUUih4
KSBhdHRyXyAjIyB4ICMjIF9vcHRfc2l6ZShjaSwgY2MpCisgICAgYm9vbCBsZWFmOworICAgIE1B
WUJFX1VOVVNFRChWQUxVRSAqKSBjYW5hcnk7CisgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUp
IGNjOworICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8pIGNpOworICAgIE1BWUJFX1VOVVNFRChW
QUxVRSkgcmVjdiwgdmFsOworCisgICAgU1RBUlRfT0ZfT1JJR0lOQUxfSU5TTihvcHRfc2l6ZSk7
CisgICAgY2kgPSAoQ0FMTF9JTkZPKUdFVF9PUEVSQU5EKDEpOworICAgIGNjID0gKENBTExfQ0FD
SEUpR0VUX09QRVJBTkQoMik7CisgICAgcmVjdiA9IFRPUE4oMCk7CisgICAgREVCVUdfRU5URVJf
SU5TTihJTlNOX0FUVFIobmFtZSkpOworICAgIGlmICghIChsZWFmID0gSU5TTl9BVFRSKGxlYWYp
KSkgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOworICAgIFNFVFVQX0NBTkFSWSgpOworICAgIENP
TExFQ1RfVVNBR0VfSU5TTihJTlNOX0FUVFIoYmluKSk7CisgICAgQ09MTEVDVF9VU0FHRV9PUEVS
QU5EKElOU05fQVRUUihiaW4pLCAwLCBjaSk7CisgICAgQ09MTEVDVF9VU0FHRV9PUEVSQU5EKElO
U05fQVRUUihiaW4pLCAxLCBjYyk7CisjbGluZSAxMzQxICJpbnNucy5kZWYiCit7CisgICAgdmFs
ID0gdm1fb3B0X2xlbmd0aChyZWN2LCBCT1BfU0laRSk7CisKKyAgICBpZiAodmFsID09IFF1bmRl
ZikgeworICAgICAgICBDQUxMX1NJTVBMRV9NRVRIT0QoKTsKKyAgICB9Cit9CisjbGluZSAzMTk2
ICJ2bS5pbmMiCisgICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04oVk1fUkVHX0NG
UCwgSU5TTl9BVFRSKHJldG4pKTsKKyAgICBDSEVDS19DQU5BUlkoKTsKKyAgICBJTkNfU1AoSU5T
Tl9BVFRSKHNwX2luYykpOworICAgIFRPUE4oMCkgPSB2YWw7CisgICAgaWYgKGxlYWYpIEFERF9Q
QyhJTlNOX0FUVFIod2lkdGgpKTsKKyAgICBFTkRfSU5TTihvcHRfc2l6ZSk7CisjICAgdW5kZWYg
SU5TTl9BVFRSCisjICAgdW5kZWYgTkFNRV9PRl9DVVJSRU5UX0lOU04KK30KKworLyogaW5zbiBv
cHRfZW1wdHlfcChjaSwgY2MpKHJlY3YpKHZhbCkgKi8KK0lOU05fRU5UUlkob3B0X2VtcHR5X3Ap
Cit7CisjICAgZGVmaW5lIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOIG9wdF9lbXB0eV9wCisjICAgZGVm
aW5lIElOU05fQVRUUih4KSBhdHRyXyAjIyB4ICMjIF9vcHRfZW1wdHlfcChjaSwgY2MpCisgICAg
Ym9vbCBsZWFmOworICAgIE1BWUJFX1VOVVNFRChWQUxVRSAqKSBjYW5hcnk7CisgICAgTUFZQkVf
VU5VU0VEKENBTExfQ0FDSEUpIGNjOworICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8pIGNpOwor
ICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgcmVjdiwgdmFsOworCisgICAgU1RBUlRfT0ZfT1JJR0lO
QUxfSU5TTihvcHRfZW1wdHlfcCk7CisgICAgY2kgPSAoQ0FMTF9JTkZPKUdFVF9PUEVSQU5EKDEp
OworICAgIGNjID0gKENBTExfQ0FDSEUpR0VUX09QRVJBTkQoMik7CisgICAgcmVjdiA9IFRPUE4o
MCk7CisgICAgREVCVUdfRU5URVJfSU5TTihJTlNOX0FUVFIobmFtZSkpOworICAgIGlmICghIChs
ZWFmID0gSU5TTl9BVFRSKGxlYWYpKSkgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOworICAgIFNF
VFVQX0NBTkFSWSgpOworICAgIENPTExFQ1RfVVNBR0VfSU5TTihJTlNOX0FUVFIoYmluKSk7Cisg
ICAgQ09MTEVDVF9VU0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAwLCBjaSk7CisgICAgQ09M
TEVDVF9VU0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAxLCBjYyk7CisjbGluZSAxMzU1ICJp
bnNucy5kZWYiCit7CisgICAgdmFsID0gdm1fb3B0X2VtcHR5X3AocmVjdik7CisKKyAgICBpZiAo
dmFsID09IFF1bmRlZikgeworICAgICAgICBDQUxMX1NJTVBMRV9NRVRIT0QoKTsKKyAgICB9Cit9
CisjbGluZSAzMjM2ICJ2bS5pbmMiCisgICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZFUkZMT1dfRk9SX0lO
U04oVk1fUkVHX0NGUCwgSU5TTl9BVFRSKHJldG4pKTsKKyAgICBDSEVDS19DQU5BUlkoKTsKKyAg
ICBJTkNfU1AoSU5TTl9BVFRSKHNwX2luYykpOworICAgIFRPUE4oMCkgPSB2YWw7CisgICAgaWYg
KGxlYWYpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKKyAgICBFTkRfSU5TTihvcHRfZW1wdHlf
cCk7CisjICAgdW5kZWYgSU5TTl9BVFRSCisjICAgdW5kZWYgTkFNRV9PRl9DVVJSRU5UX0lOU04K
K30KKworLyogaW5zbiBvcHRfc3VjYyhjaSwgY2MpKHJlY3YpKHZhbCkgKi8KK0lOU05fRU5UUlko
b3B0X3N1Y2MpCit7CisjICAgZGVmaW5lIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOIG9wdF9zdWNjCisj
ICAgZGVmaW5lIElOU05fQVRUUih4KSBhdHRyXyAjIyB4ICMjIF9vcHRfc3VjYyhjaSwgY2MpCisg
ICAgYm9vbCBsZWFmOworICAgIE1BWUJFX1VOVVNFRChWQUxVRSAqKSBjYW5hcnk7CisgICAgTUFZ
QkVfVU5VU0VEKENBTExfQ0FDSEUpIGNjOworICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8pIGNp
OworICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgcmVjdiwgdmFsOworCisgICAgU1RBUlRfT0ZfT1JJ
R0lOQUxfSU5TTihvcHRfc3VjYyk7CisgICAgY2kgPSAoQ0FMTF9JTkZPKUdFVF9PUEVSQU5EKDEp
OworICAgIGNjID0gKENBTExfQ0FDSEUpR0VUX09QRVJBTkQoMik7CisgICAgcmVjdiA9IFRPUE4o
MCk7CisgICAgREVCVUdfRU5URVJfSU5TTihJTlNOX0FUVFIobmFtZSkpOworICAgIGlmICghIChs
ZWFmID0gSU5TTl9BVFRSKGxlYWYpKSkgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOworICAgIFNF
VFVQX0NBTkFSWSgpOworICAgIENPTExFQ1RfVVNBR0VfSU5TTihJTlNOX0FUVFIoYmluKSk7Cisg
ICAgQ09MTEVDVF9VU0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAwLCBjaSk7CisgICAgQ09M
TEVDVF9VU0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAxLCBjYyk7CisjbGluZSAxMzY5ICJp
bnNucy5kZWYiCit7CisgICAgdmFsID0gdm1fb3B0X3N1Y2MocmVjdik7CisKKyAgICBpZiAodmFs
ID09IFF1bmRlZikgeworICAgICAgICBDQUxMX1NJTVBMRV9NRVRIT0QoKTsKKyAgICB9Cit9Cisj
bGluZSAzMjc2ICJ2bS5pbmMiCisgICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04o
Vk1fUkVHX0NGUCwgSU5TTl9BVFRSKHJldG4pKTsKKyAgICBDSEVDS19DQU5BUlkoKTsKKyAgICBJ
TkNfU1AoSU5TTl9BVFRSKHNwX2luYykpOworICAgIFRPUE4oMCkgPSB2YWw7CisgICAgaWYgKGxl
YWYpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKKyAgICBFTkRfSU5TTihvcHRfc3VjYyk7Cisj
ICAgdW5kZWYgSU5TTl9BVFRSCisjICAgdW5kZWYgTkFNRV9PRl9DVVJSRU5UX0lOU04KK30KKwor
LyogaW5zbiBvcHRfbm90KGNpLCBjYykocmVjdikodmFsKSAqLworSU5TTl9FTlRSWShvcHRfbm90
KQoreworIyAgIGRlZmluZSBOQU1FX09GX0NVUlJFTlRfSU5TTiBvcHRfbm90CisjICAgZGVmaW5l
IElOU05fQVRUUih4KSBhdHRyXyAjIyB4ICMjIF9vcHRfbm90KGNpLCBjYykKKyAgICBib29sIGxl
YWY7CisgICAgTUFZQkVfVU5VU0VEKFZBTFVFICopIGNhbmFyeTsKKyAgICBNQVlCRV9VTlVTRUQo
Q0FMTF9DQUNIRSkgY2M7CisgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTykgY2k7CisgICAgTUFZ
QkVfVU5VU0VEKFZBTFVFKSByZWN2LCB2YWw7CisKKyAgICBTVEFSVF9PRl9PUklHSU5BTF9JTlNO
KG9wdF9ub3QpOworICAgIGNpID0gKENBTExfSU5GTylHRVRfT1BFUkFORCgxKTsKKyAgICBjYyA9
IChDQUxMX0NBQ0hFKUdFVF9PUEVSQU5EKDIpOworICAgIHJlY3YgPSBUT1BOKDApOworICAgIERF
QlVHX0VOVEVSX0lOU04oSU5TTl9BVFRSKG5hbWUpKTsKKyAgICBpZiAoISAobGVhZiA9IElOU05f
QVRUUihsZWFmKSkpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKKyAgICBTRVRVUF9DQU5BUlko
KTsKKyAgICBDT0xMRUNUX1VTQUdFX0lOU04oSU5TTl9BVFRSKGJpbikpOworICAgIENPTExFQ1Rf
VVNBR0VfT1BFUkFORChJTlNOX0FUVFIoYmluKSwgMCwgY2kpOworICAgIENPTExFQ1RfVVNBR0Vf
T1BFUkFORChJTlNOX0FUVFIoYmluKSwgMSwgY2MpOworI2xpbmUgMTM4MyAiaW5zbnMuZGVmIgor
eworICAgIHZhbCA9IHZtX29wdF9ub3QoY2ksIGNjLCByZWN2KTsKKworICAgIGlmICh2YWwgPT0g
UXVuZGVmKSB7CisgICAgICAgIENBTExfU0lNUExFX01FVEhPRCgpOworICAgIH0KK30KKyNsaW5l
IDMzMTYgInZtLmluYyIKKyAgICBDSEVDS19WTV9TVEFDS19PVkVSRkxPV19GT1JfSU5TTihWTV9S
RUdfQ0ZQLCBJTlNOX0FUVFIocmV0bikpOworICAgIENIRUNLX0NBTkFSWSgpOworICAgIElOQ19T
UChJTlNOX0FUVFIoc3BfaW5jKSk7CisgICAgVE9QTigwKSA9IHZhbDsKKyAgICBpZiAobGVhZikg
QUREX1BDKElOU05fQVRUUih3aWR0aCkpOworICAgIEVORF9JTlNOKG9wdF9ub3QpOworIyAgIHVu
ZGVmIElOU05fQVRUUgorIyAgIHVuZGVmIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOCit9CisKKy8qIGlu
c24gb3B0X3JlZ2V4cG1hdGNoMShyZWN2KShvYmopKHZhbCkgKi8KK0lOU05fRU5UUlkob3B0X3Jl
Z2V4cG1hdGNoMSkKK3sKKyMgICBkZWZpbmUgTkFNRV9PRl9DVVJSRU5UX0lOU04gb3B0X3JlZ2V4
cG1hdGNoMQorIyAgIGRlZmluZSBJTlNOX0FUVFIoeCkgYXR0cl8gIyMgeCAjIyBfb3B0X3JlZ2V4
cG1hdGNoMShyZWN2KQorICAgIGJvb2wgbGVhZjsKKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUgKikg
Y2FuYXJ5OworICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgb2JqLCByZWN2LCB2YWw7CisKKyAgICBT
VEFSVF9PRl9PUklHSU5BTF9JTlNOKG9wdF9yZWdleHBtYXRjaDEpOworICAgIHJlY3YgPSAoVkFM
VUUpR0VUX09QRVJBTkQoMSk7CisgICAgb2JqID0gVE9QTigwKTsKKyAgICBERUJVR19FTlRFUl9J
TlNOKElOU05fQVRUUihuYW1lKSk7CisgICAgaWYgKCEgKGxlYWYgPSBJTlNOX0FUVFIobGVhZikp
KSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7CisgICAgU0VUVVBfQ0FOQVJZKCk7CisgICAgQ09M
TEVDVF9VU0FHRV9JTlNOKElOU05fQVRUUihiaW4pKTsKKyAgICBDT0xMRUNUX1VTQUdFX09QRVJB
TkQoSU5TTl9BVFRSKGJpbiksIDAsIHJlY3YpOworI2xpbmUgMTM5OCAiaW5zbnMuZGVmIgorewor
ICAgIHZhbCA9IHZtX29wdF9yZWdleHBtYXRjaDEocmVjdiwgb2JqKTsKK30KKyNsaW5lIDMzNDgg
InZtLmluYyIKKyAgICBDSEVDS19WTV9TVEFDS19PVkVSRkxPV19GT1JfSU5TTihWTV9SRUdfQ0ZQ
LCBJTlNOX0FUVFIocmV0bikpOworICAgIENIRUNLX0NBTkFSWSgpOworICAgIElOQ19TUChJTlNO
X0FUVFIoc3BfaW5jKSk7CisgICAgVE9QTigwKSA9IHZhbDsKKyAgICBpZiAobGVhZikgQUREX1BD
KElOU05fQVRUUih3aWR0aCkpOworICAgIEVORF9JTlNOKG9wdF9yZWdleHBtYXRjaDEpOworIyAg
IHVuZGVmIElOU05fQVRUUgorIyAgIHVuZGVmIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOCit9CisKKy8q
IGluc24gb3B0X3JlZ2V4cG1hdGNoMihjaSwgY2MpKG9iajIsIG9iajEpKHZhbCkgKi8KK0lOU05f
RU5UUlkob3B0X3JlZ2V4cG1hdGNoMikKK3sKKyMgICBkZWZpbmUgTkFNRV9PRl9DVVJSRU5UX0lO
U04gb3B0X3JlZ2V4cG1hdGNoMgorIyAgIGRlZmluZSBJTlNOX0FUVFIoeCkgYXR0cl8gIyMgeCAj
IyBfb3B0X3JlZ2V4cG1hdGNoMihjaSwgY2MpCisgICAgYm9vbCBsZWFmOworICAgIE1BWUJFX1VO
VVNFRChWQUxVRSAqKSBjYW5hcnk7CisgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUpIGNjOwor
ICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8pIGNpOworICAgIE1BWUJFX1VOVVNFRChWQUxVRSkg
b2JqMSwgb2JqMiwgdmFsOworCisgICAgU1RBUlRfT0ZfT1JJR0lOQUxfSU5TTihvcHRfcmVnZXhw
bWF0Y2gyKTsKKyAgICBjaSA9IChDQUxMX0lORk8pR0VUX09QRVJBTkQoMSk7CisgICAgY2MgPSAo
Q0FMTF9DQUNIRSlHRVRfT1BFUkFORCgyKTsKKyAgICBvYmoyID0gVE9QTigxKTsKKyAgICBvYmox
ID0gVE9QTigwKTsKKyAgICBERUJVR19FTlRFUl9JTlNOKElOU05fQVRUUihuYW1lKSk7CisgICAg
aWYgKCEgKGxlYWYgPSBJTlNOX0FUVFIobGVhZikpKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7
CisgICAgU0VUVVBfQ0FOQVJZKCk7CisgICAgQ09MTEVDVF9VU0FHRV9JTlNOKElOU05fQVRUUihi
aW4pKTsKKyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDAsIGNpKTsK
KyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDEsIGNjKTsKKyNsaW5l
IDE0MDggImluc25zLmRlZiIKK3sKKyAgICB2YWwgPSB2bV9vcHRfcmVnZXhwbWF0Y2gyKG9iajIs
IG9iajEpOworCisgICAgaWYgKHZhbCA9PSBRdW5kZWYpIHsKKyAgICAgICAgQ0FMTF9TSU1QTEVf
TUVUSE9EKCk7CisgICAgfQorfQorI2xpbmUgMzM4OSAidm0uaW5jIgorICAgIENIRUNLX1ZNX1NU
QUNLX09WRVJGTE9XX0ZPUl9JTlNOKFZNX1JFR19DRlAsIElOU05fQVRUUihyZXRuKSk7CisgICAg
Q0hFQ0tfQ0FOQVJZKCk7CisgICAgSU5DX1NQKElOU05fQVRUUihzcF9pbmMpKTsKKyAgICBUT1BO
KDApID0gdmFsOworICAgIGlmIChsZWFmKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7CisgICAg
RU5EX0lOU04ob3B0X3JlZ2V4cG1hdGNoMik7CisjICAgdW5kZWYgSU5TTl9BVFRSCisjICAgdW5k
ZWYgTkFNRV9PRl9DVVJSRU5UX0lOU04KK30KKworLyogaW5zbiBvcHRfY2FsbF9jX2Z1bmN0aW9u
KGZ1bmNwdHIpKCkoKSAqLworSU5TTl9FTlRSWShvcHRfY2FsbF9jX2Z1bmN0aW9uKQoreworIyAg
IGRlZmluZSBOQU1FX09GX0NVUlJFTlRfSU5TTiBvcHRfY2FsbF9jX2Z1bmN0aW9uCisjICAgZGVm
aW5lIElOU05fQVRUUih4KSBhdHRyXyAjIyB4ICMjIF9vcHRfY2FsbF9jX2Z1bmN0aW9uKGZ1bmNw
dHIpCisgICAgYm9vbCBsZWFmOworICAgIE1BWUJFX1VOVVNFRChWQUxVRSAqKSBjYW5hcnk7Cisg
ICAgTUFZQkVfVU5VU0VEKHJiX2luc25fZnVuY190KSBmdW5jcHRyOworCisgICAgU1RBUlRfT0Zf
T1JJR0lOQUxfSU5TTihvcHRfY2FsbF9jX2Z1bmN0aW9uKTsKKyAgICBmdW5jcHRyID0gKHJiX2lu
c25fZnVuY190KUdFVF9PUEVSQU5EKDEpOworICAgIERFQlVHX0VOVEVSX0lOU04oSU5TTl9BVFRS
KG5hbWUpKTsKKyAgICBpZiAoISAobGVhZiA9IElOU05fQVRUUihsZWFmKSkpIEFERF9QQyhJTlNO
X0FUVFIod2lkdGgpKTsKKyAgICBQT1BOKElOU05fQVRUUihwb3BuKSk7CisgICAgU0VUVVBfQ0FO
QVJZKCk7CisgICAgQ09MTEVDVF9VU0FHRV9JTlNOKElOU05fQVRUUihiaW4pKTsKKyAgICBDT0xM
RUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDAsIGZ1bmNwdHIpOworI2xpbmUgMTQy
NCAiaW5zbnMuZGVmIgoreworICAgIHJlZ19jZnAgPSAoZnVuY3B0cikoZWMsIHJlZ19jZnApOwor
CisgICAgaWYgKHJlZ19jZnAgPT0gMCkgeworCVZBTFVFIGVyciA9IGVjLT5lcnJpbmZvOworCWVj
LT5lcnJpbmZvID0gUW5pbDsKKwlUSFJPV19FWENFUFRJT04oZXJyKTsKKyAgICB9CisKKyAgICBS
RVNUT1JFX1JFR1MoKTsKKyAgICBORVhUX0lOU04oKTsKK30KKyNsaW5lIDM0MzAgInZtLmluYyIK
KyAgICBDSEVDS19WTV9TVEFDS19PVkVSRkxPV19GT1JfSU5TTihWTV9SRUdfQ0ZQLCBJTlNOX0FU
VFIocmV0bikpOworICAgIENIRUNLX0NBTkFSWSgpOworICAgIGlmIChsZWFmKSBBRERfUEMoSU5T
Tl9BVFRSKHdpZHRoKSk7CisgICAgRU5EX0lOU04ob3B0X2NhbGxfY19mdW5jdGlvbik7CisjICAg
dW5kZWYgSU5TTl9BVFRSCisjICAgdW5kZWYgTkFNRV9PRl9DVVJSRU5UX0lOU04KK30KKworLyog
aW5zbiBiaXRibHQoKSgpKHJldCkgKi8KK0lOU05fRU5UUlkoYml0Ymx0KQoreworIyAgIGRlZmlu
ZSBOQU1FX09GX0NVUlJFTlRfSU5TTiBiaXRibHQKKyMgICBkZWZpbmUgSU5TTl9BVFRSKHgpIGF0
dHJfICMjIHggIyMgX2JpdGJsdCgpCisgICAgYm9vbCBsZWFmOworICAgIE1BWUJFX1VOVVNFRChW
QUxVRSAqKSBjYW5hcnk7CisgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSByZXQ7CisKKyAgICBTVEFS
VF9PRl9PUklHSU5BTF9JTlNOKGJpdGJsdCk7CisgICAgREVCVUdfRU5URVJfSU5TTihJTlNOX0FU
VFIobmFtZSkpOworICAgIGlmICghIChsZWFmID0gSU5TTl9BVFRSKGxlYWYpKSkgQUREX1BDKElO
U05fQVRUUih3aWR0aCkpOworICAgIFNFVFVQX0NBTkFSWSgpOworICAgIENPTExFQ1RfVVNBR0Vf
SU5TTihJTlNOX0FUVFIoYmluKSk7CisjbGluZSAxNDQzICJpbnNucy5kZWYiCit7CisgICAgcmV0
ID0gcmJfc3RyX25ldzIoImEgYml0IG9mIGJhY29uLCBsZXR0dWNlIGFuZCB0b21hdG8iKTsKK30K
KyNsaW5lIDM0NTcgInZtLmluYyIKKyAgICBDSEVDS19WTV9TVEFDS19PVkVSRkxPV19GT1JfSU5T
TihWTV9SRUdfQ0ZQLCBJTlNOX0FUVFIocmV0bikpOworICAgIENIRUNLX0NBTkFSWSgpOworICAg
IElOQ19TUChJTlNOX0FUVFIoc3BfaW5jKSk7CisgICAgVE9QTigwKSA9IHJldDsKKyAgICBpZiAo
bGVhZikgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOworICAgIEVORF9JTlNOKGJpdGJsdCk7Cisj
ICAgdW5kZWYgSU5TTl9BVFRSCisjICAgdW5kZWYgTkFNRV9PRl9DVVJSRU5UX0lOU04KK30KKwor
LyogaW5zbiBhbnN3ZXIoKSgpKHJldCkgKi8KK0lOU05fRU5UUlkoYW5zd2VyKQoreworIyAgIGRl
ZmluZSBOQU1FX09GX0NVUlJFTlRfSU5TTiBhbnN3ZXIKKyMgICBkZWZpbmUgSU5TTl9BVFRSKHgp
IGF0dHJfICMjIHggIyMgX2Fuc3dlcigpCisgICAgYm9vbCBsZWFmOworICAgIE1BWUJFX1VOVVNF
RChWQUxVRSAqKSBjYW5hcnk7CisgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSByZXQ7CisKKyAgICBT
VEFSVF9PRl9PUklHSU5BTF9JTlNOKGFuc3dlcik7CisgICAgREVCVUdfRU5URVJfSU5TTihJTlNO
X0FUVFIobmFtZSkpOworICAgIGlmICghIChsZWFmID0gSU5TTl9BVFRSKGxlYWYpKSkgQUREX1BD
KElOU05fQVRUUih3aWR0aCkpOworICAgIFNFVFVQX0NBTkFSWSgpOworICAgIENPTExFQ1RfVVNB
R0VfSU5TTihJTlNOX0FUVFIoYmluKSk7CisjbGluZSAxNDUzICJpbnNucy5kZWYiCit7CisgICAg
cmV0ID0gSU5UMkZJWCg0Mik7Cit9CisjbGluZSAzNDg2ICJ2bS5pbmMiCisgICAgQ0hFQ0tfVk1f
U1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04oVk1fUkVHX0NGUCwgSU5TTl9BVFRSKHJldG4pKTsKKyAg
ICBDSEVDS19DQU5BUlkoKTsKKyAgICBJTkNfU1AoSU5TTl9BVFRSKHNwX2luYykpOworICAgIFRP
UE4oMCkgPSByZXQ7CisgICAgaWYgKGxlYWYpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKKyAg
ICBFTkRfSU5TTihhbnN3ZXIpOworIyAgIHVuZGVmIElOU05fQVRUUgorIyAgIHVuZGVmIE5BTUVf
T0ZfQ1VSUkVOVF9JTlNOCit9CisKKy8qIGluc24gZ2V0bG9jYWxfV0NfMChpZHgpKCkodmFsKSAq
LworSU5TTl9FTlRSWShnZXRsb2NhbF9XQ18wKQoreworIyAgIGRlZmluZSBOQU1FX09GX0NVUlJF
TlRfSU5TTiBnZXRsb2NhbF9XQ18wCisjICAgZGVmaW5lIElOU05fQVRUUih4KSBhdHRyXyAjIyB4
ICMjIF9nZXRsb2NhbF9XQ18wKGlkeCkKKyAgICBib29sIGxlYWY7CisgICAgTUFZQkVfVU5VU0VE
KFZBTFVFICopIGNhbmFyeTsKKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIHZhbDsKKyAgICBNQVlC
RV9VTlVTRUQobGluZGV4X3QpIGlkeDsKKyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QpIGxldmVs
OworCisgICAgU1RBUlRfT0ZfT1JJR0lOQUxfSU5TTihnZXRsb2NhbF9XQ18wKTsKKyNsaW5lIDEw
ICJkZWZzL29wdF9vcGVyYW5kLmRlZiIKKyAgICBsZXZlbCA9IDA7CisjbGluZSAzNTExICJ2bS5p
bmMiCisgICAgaWR4ID0gKGxpbmRleF90KUdFVF9PUEVSQU5EKDEpOworICAgIERFQlVHX0VOVEVS
X0lOU04oSU5TTl9BVFRSKG5hbWUpKTsKKyAgICBpZiAoISAobGVhZiA9IElOU05fQVRUUihsZWFm
KSkpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKKyAgICBTRVRVUF9DQU5BUlkoKTsKKyAgICBD
T0xMRUNUX1VTQUdFX0lOU04oSU5TTl9BVFRSKGJpbikpOworICAgIENPTExFQ1RfVVNBR0VfT1BF
UkFORChJTlNOX0FUVFIoYmluKSwgMCwgaWR4KTsKKyNsaW5lIDgxICJpbnNucy5kZWYiCit7Cisg
ICAgdmFsID0gKih2bV9nZXRfZXAoR0VUX0VQKCksIGxldmVsKSAtIGlkeCk7CisgICAgUkJfREVC
VUdfQ09VTlRFUl9JTkMobHZhcl9nZXQpOworICAgICh2b2lkKVJCX0RFQlVHX0NPVU5URVJfSU5D
X0lGKGx2YXJfZ2V0X2R5bmFtaWMsIGxldmVsID4gMCk7Cit9CisjbGluZSAzNTI0ICJ2bS5pbmMi
CisgICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04oVk1fUkVHX0NGUCwgSU5TTl9B
VFRSKHJldG4pKTsKKyAgICBDSEVDS19DQU5BUlkoKTsKKyAgICBJTkNfU1AoSU5TTl9BVFRSKHNw
X2luYykpOworICAgIFRPUE4oMCkgPSB2YWw7CisgICAgaWYgKGxlYWYpIEFERF9QQyhJTlNOX0FU
VFIod2lkdGgpKTsKKyAgICBFTkRfSU5TTihnZXRsb2NhbF9XQ18wKTsKKyMgICB1bmRlZiBJTlNO
X0FUVFIKKyMgICB1bmRlZiBOQU1FX09GX0NVUlJFTlRfSU5TTgorfQorCisvKiBpbnNuIGdldGxv
Y2FsX1dDXzEoaWR4KSgpKHZhbCkgKi8KK0lOU05fRU5UUlkoZ2V0bG9jYWxfV0NfMSkKK3sKKyMg
ICBkZWZpbmUgTkFNRV9PRl9DVVJSRU5UX0lOU04gZ2V0bG9jYWxfV0NfMQorIyAgIGRlZmluZSBJ
TlNOX0FUVFIoeCkgYXR0cl8gIyMgeCAjIyBfZ2V0bG9jYWxfV0NfMShpZHgpCisgICAgYm9vbCBs
ZWFmOworICAgIE1BWUJFX1VOVVNFRChWQUxVRSAqKSBjYW5hcnk7CisgICAgTUFZQkVfVU5VU0VE
KFZBTFVFKSB2YWw7CisgICAgTUFZQkVfVU5VU0VEKGxpbmRleF90KSBpZHg7CisgICAgTUFZQkVf
VU5VU0VEKHJiX251bV90KSBsZXZlbDsKKworICAgIFNUQVJUX09GX09SSUdJTkFMX0lOU04oZ2V0
bG9jYWxfV0NfMSk7CisjbGluZSAxMSAiZGVmcy9vcHRfb3BlcmFuZC5kZWYiCisgICAgbGV2ZWwg
PSAxOworI2xpbmUgMzU0OSAidm0uaW5jIgorICAgIGlkeCA9IChsaW5kZXhfdClHRVRfT1BFUkFO
RCgxKTsKKyAgICBERUJVR19FTlRFUl9JTlNOKElOU05fQVRUUihuYW1lKSk7CisgICAgaWYgKCEg
KGxlYWYgPSBJTlNOX0FUVFIobGVhZikpKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7CisgICAg
U0VUVVBfQ0FOQVJZKCk7CisgICAgQ09MTEVDVF9VU0FHRV9JTlNOKElOU05fQVRUUihiaW4pKTsK
KyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDAsIGlkeCk7CisjbGlu
ZSA4MSAiaW5zbnMuZGVmIgoreworICAgIHZhbCA9ICoodm1fZ2V0X2VwKEdFVF9FUCgpLCBsZXZl
bCkgLSBpZHgpOworICAgIFJCX0RFQlVHX0NPVU5URVJfSU5DKGx2YXJfZ2V0KTsKKyAgICAodm9p
ZClSQl9ERUJVR19DT1VOVEVSX0lOQ19JRihsdmFyX2dldF9keW5hbWljLCBsZXZlbCA+IDApOwor
fQorI2xpbmUgMzU2MiAidm0uaW5jIgorICAgIENIRUNLX1ZNX1NUQUNLX09WRVJGTE9XX0ZPUl9J
TlNOKFZNX1JFR19DRlAsIElOU05fQVRUUihyZXRuKSk7CisgICAgQ0hFQ0tfQ0FOQVJZKCk7Cisg
ICAgSU5DX1NQKElOU05fQVRUUihzcF9pbmMpKTsKKyAgICBUT1BOKDApID0gdmFsOworICAgIGlm
IChsZWFmKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7CisgICAgRU5EX0lOU04oZ2V0bG9jYWxf
V0NfMSk7CisjICAgdW5kZWYgSU5TTl9BVFRSCisjICAgdW5kZWYgTkFNRV9PRl9DVVJSRU5UX0lO
U04KK30KKworLyogaW5zbiBzZXRsb2NhbF9XQ18wKGlkeCkodmFsKSgpICovCitJTlNOX0VOVFJZ
KHNldGxvY2FsX1dDXzApCit7CisjICAgZGVmaW5lIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOIHNldGxv
Y2FsX1dDXzAKKyMgICBkZWZpbmUgSU5TTl9BVFRSKHgpIGF0dHJfICMjIHggIyMgX3NldGxvY2Fs
X1dDXzAoaWR4KQorICAgIGJvb2wgbGVhZjsKKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUgKikgY2Fu
YXJ5OworICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgdmFsOworICAgIE1BWUJFX1VOVVNFRChsaW5k
ZXhfdCkgaWR4OworICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCkgbGV2ZWw7CisKKyAgICBTVEFS
VF9PRl9PUklHSU5BTF9JTlNOKHNldGxvY2FsX1dDXzApOworI2xpbmUgMTIgImRlZnMvb3B0X29w
ZXJhbmQuZGVmIgorICAgIGxldmVsID0gMDsKKyNsaW5lIDM1ODcgInZtLmluYyIKKyAgICBpZHgg
PSAobGluZGV4X3QpR0VUX09QRVJBTkQoMSk7CisgICAgdmFsID0gVE9QTigwKTsKKyAgICBERUJV
R19FTlRFUl9JTlNOKElOU05fQVRUUihuYW1lKSk7CisgICAgaWYgKCEgKGxlYWYgPSBJTlNOX0FU
VFIobGVhZikpKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7CisgICAgU0VUVVBfQ0FOQVJZKCk7
CisgICAgQ09MTEVDVF9VU0FHRV9JTlNOKElOU05fQVRUUihiaW4pKTsKKyAgICBDT0xMRUNUX1VT
QUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDAsIGlkeCk7CisjbGluZSA5NSAiaW5zbnMuZGVm
IgoreworICAgIHZtX2Vudl93cml0ZSh2bV9nZXRfZXAoR0VUX0VQKCksIGxldmVsKSwgLShpbnQp
aWR4LCB2YWwpOworICAgIFJCX0RFQlVHX0NPVU5URVJfSU5DKGx2YXJfc2V0KTsKKyAgICAodm9p
ZClSQl9ERUJVR19DT1VOVEVSX0lOQ19JRihsdmFyX3NldF9keW5hbWljLCBsZXZlbCA+IDApOwor
fQorI2xpbmUgMzYwMSAidm0uaW5jIgorICAgIENIRUNLX1ZNX1NUQUNLX09WRVJGTE9XX0ZPUl9J
TlNOKFZNX1JFR19DRlAsIElOU05fQVRUUihyZXRuKSk7CisgICAgQ0hFQ0tfQ0FOQVJZKCk7Cisg
ICAgSU5DX1NQKElOU05fQVRUUihzcF9pbmMpKTsKKyAgICBpZiAobGVhZikgQUREX1BDKElOU05f
QVRUUih3aWR0aCkpOworICAgIEVORF9JTlNOKHNldGxvY2FsX1dDXzApOworIyAgIHVuZGVmIElO
U05fQVRUUgorIyAgIHVuZGVmIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOCit9CisKKy8qIGluc24gc2V0
bG9jYWxfV0NfMShpZHgpKHZhbCkoKSAqLworSU5TTl9FTlRSWShzZXRsb2NhbF9XQ18xKQorewor
IyAgIGRlZmluZSBOQU1FX09GX0NVUlJFTlRfSU5TTiBzZXRsb2NhbF9XQ18xCisjICAgZGVmaW5l
IElOU05fQVRUUih4KSBhdHRyXyAjIyB4ICMjIF9zZXRsb2NhbF9XQ18xKGlkeCkKKyAgICBib29s
IGxlYWY7CisgICAgTUFZQkVfVU5VU0VEKFZBTFVFICopIGNhbmFyeTsKKyAgICBNQVlCRV9VTlVT
RUQoVkFMVUUpIHZhbDsKKyAgICBNQVlCRV9VTlVTRUQobGluZGV4X3QpIGlkeDsKKyAgICBNQVlC
RV9VTlVTRUQocmJfbnVtX3QpIGxldmVsOworCisgICAgU1RBUlRfT0ZfT1JJR0lOQUxfSU5TTihz
ZXRsb2NhbF9XQ18xKTsKKyNsaW5lIDEzICJkZWZzL29wdF9vcGVyYW5kLmRlZiIKKyAgICBsZXZl
bCA9IDE7CisjbGluZSAzNjI1ICJ2bS5pbmMiCisgICAgaWR4ID0gKGxpbmRleF90KUdFVF9PUEVS
QU5EKDEpOworICAgIHZhbCA9IFRPUE4oMCk7CisgICAgREVCVUdfRU5URVJfSU5TTihJTlNOX0FU
VFIobmFtZSkpOworICAgIGlmICghIChsZWFmID0gSU5TTl9BVFRSKGxlYWYpKSkgQUREX1BDKElO
U05fQVRUUih3aWR0aCkpOworICAgIFNFVFVQX0NBTkFSWSgpOworICAgIENPTExFQ1RfVVNBR0Vf
SU5TTihJTlNOX0FUVFIoYmluKSk7CisgICAgQ09MTEVDVF9VU0FHRV9PUEVSQU5EKElOU05fQVRU
UihiaW4pLCAwLCBpZHgpOworI2xpbmUgOTUgImluc25zLmRlZiIKK3sKKyAgICB2bV9lbnZfd3Jp
dGUodm1fZ2V0X2VwKEdFVF9FUCgpLCBsZXZlbCksIC0oaW50KWlkeCwgdmFsKTsKKyAgICBSQl9E
RUJVR19DT1VOVEVSX0lOQyhsdmFyX3NldCk7CisgICAgKHZvaWQpUkJfREVCVUdfQ09VTlRFUl9J
TkNfSUYobHZhcl9zZXRfZHluYW1pYywgbGV2ZWwgPiAwKTsKK30KKyNsaW5lIDM2MzkgInZtLmlu
YyIKKyAgICBDSEVDS19WTV9TVEFDS19PVkVSRkxPV19GT1JfSU5TTihWTV9SRUdfQ0ZQLCBJTlNO
X0FUVFIocmV0bikpOworICAgIENIRUNLX0NBTkFSWSgpOworICAgIElOQ19TUChJTlNOX0FUVFIo
c3BfaW5jKSk7CisgICAgaWYgKGxlYWYpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKKyAgICBF
TkRfSU5TTihzZXRsb2NhbF9XQ18xKTsKKyMgICB1bmRlZiBJTlNOX0FUVFIKKyMgICB1bmRlZiBO
QU1FX09GX0NVUlJFTlRfSU5TTgorfQorCisvKiBpbnNuIHB1dG9iamVjdF9JTlQyRklYXzBfKCko
KSh2YWwpICovCitJTlNOX0VOVFJZKHB1dG9iamVjdF9JTlQyRklYXzBfKQoreworIyAgIGRlZmlu
ZSBOQU1FX09GX0NVUlJFTlRfSU5TTiBwdXRvYmplY3RfSU5UMkZJWF8wXworIyAgIGRlZmluZSBJ
TlNOX0FUVFIoeCkgYXR0cl8gIyMgeCAjIyBfcHV0b2JqZWN0X0lOVDJGSVhfMF8oKQorICAgIGJv
b2wgbGVhZjsKKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUgKikgY2FuYXJ5OworICAgIE1BWUJFX1VO
VVNFRChWQUxVRSkgdmFsOworCisgICAgU1RBUlRfT0ZfT1JJR0lOQUxfSU5TTihwdXRvYmplY3Rf
SU5UMkZJWF8wXyk7CisjbGluZSAxNSAiZGVmcy9vcHRfb3BlcmFuZC5kZWYiCisgICAgdmFsID0g
SU5UMkZJWCgwKTsKKyNsaW5lIDM2NjEgInZtLmluYyIKKyAgICBERUJVR19FTlRFUl9JTlNOKElO
U05fQVRUUihuYW1lKSk7CisgICAgaWYgKCEgKGxlYWYgPSBJTlNOX0FUVFIobGVhZikpKSBBRERf
UEMoSU5TTl9BVFRSKHdpZHRoKSk7CisgICAgQ09MTEVDVF9VU0FHRV9JTlNOKElOU05fQVRUUihi
aW4pKTsKKyAgICBDSEVDS19WTV9TVEFDS19PVkVSRkxPV19GT1JfSU5TTihWTV9SRUdfQ0ZQLCBJ
TlNOX0FUVFIocmV0bikpOworICAgIElOQ19TUChJTlNOX0FUVFIoc3BfaW5jKSk7CisgICAgVE9Q
TigwKSA9IHZhbDsKKyAgICBpZiAobGVhZikgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOworICAg
IEVORF9JTlNOKHB1dG9iamVjdF9JTlQyRklYXzBfKTsKKyMgICB1bmRlZiBJTlNOX0FUVFIKKyMg
ICB1bmRlZiBOQU1FX09GX0NVUlJFTlRfSU5TTgorfQorCisvKiBpbnNuIHB1dG9iamVjdF9JTlQy
RklYXzFfKCkoKSh2YWwpICovCitJTlNOX0VOVFJZKHB1dG9iamVjdF9JTlQyRklYXzFfKQorewor
IyAgIGRlZmluZSBOQU1FX09GX0NVUlJFTlRfSU5TTiBwdXRvYmplY3RfSU5UMkZJWF8xXworIyAg
IGRlZmluZSBJTlNOX0FUVFIoeCkgYXR0cl8gIyMgeCAjIyBfcHV0b2JqZWN0X0lOVDJGSVhfMV8o
KQorICAgIGJvb2wgbGVhZjsKKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUgKikgY2FuYXJ5OworICAg
IE1BWUJFX1VOVVNFRChWQUxVRSkgdmFsOworCisgICAgU1RBUlRfT0ZfT1JJR0lOQUxfSU5TTihw
dXRvYmplY3RfSU5UMkZJWF8xXyk7CisjbGluZSAxNiAiZGVmcy9vcHRfb3BlcmFuZC5kZWYiCisg
ICAgdmFsID0gSU5UMkZJWCgxKTsKKyNsaW5lIDM2ODYgInZtLmluYyIKKyAgICBERUJVR19FTlRF
Ul9JTlNOKElOU05fQVRUUihuYW1lKSk7CisgICAgaWYgKCEgKGxlYWYgPSBJTlNOX0FUVFIobGVh
ZikpKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7CisgICAgQ09MTEVDVF9VU0FHRV9JTlNOKElO
U05fQVRUUihiaW4pKTsKKyAgICBDSEVDS19WTV9TVEFDS19PVkVSRkxPV19GT1JfSU5TTihWTV9S
RUdfQ0ZQLCBJTlNOX0FUVFIocmV0bikpOworICAgIElOQ19TUChJTlNOX0FUVFIoc3BfaW5jKSk7
CisgICAgVE9QTigwKSA9IHZhbDsKKyAgICBpZiAobGVhZikgQUREX1BDKElOU05fQVRUUih3aWR0
aCkpOworICAgIEVORF9JTlNOKHB1dG9iamVjdF9JTlQyRklYXzFfKTsKKyMgICB1bmRlZiBJTlNO
X0FUVFIKKyMgICB1bmRlZiBOQU1FX09GX0NVUlJFTlRfSU5TTgorfQorCisvKiBpbnNuIHRyYWNl
X25vcCguLi4pKC4uLikoLi4uKSAqLworSU5TTl9FTlRSWSh0cmFjZV9ub3ApCit7CisgICAgdm1f
dHJhY2UoZWMsIEdFVF9DRlAoKSwgR0VUX1BDKCkpOworICAgIERJU1BBVENIX09SSUdJTkFMX0lO
U04obm9wKTsKKyAgICBFTkRfSU5TTih0cmFjZV9ub3ApOworfQorCisvKiBpbnNuIHRyYWNlX2dl
dGxvY2FsKC4uLikoLi4uKSguLi4pICovCitJTlNOX0VOVFJZKHRyYWNlX2dldGxvY2FsKQorewor
ICAgIHZtX3RyYWNlKGVjLCBHRVRfQ0ZQKCksIEdFVF9QQygpKTsKKyAgICBESVNQQVRDSF9PUklH
SU5BTF9JTlNOKGdldGxvY2FsKTsKKyAgICBFTkRfSU5TTih0cmFjZV9nZXRsb2NhbCk7Cit9CisK
Ky8qIGluc24gdHJhY2Vfc2V0bG9jYWwoLi4uKSguLi4pKC4uLikgKi8KK0lOU05fRU5UUlkodHJh
Y2Vfc2V0bG9jYWwpCit7CisgICAgdm1fdHJhY2UoZWMsIEdFVF9DRlAoKSwgR0VUX1BDKCkpOwor
ICAgIERJU1BBVENIX09SSUdJTkFMX0lOU04oc2V0bG9jYWwpOworICAgIEVORF9JTlNOKHRyYWNl
X3NldGxvY2FsKTsKK30KKworLyogaW5zbiB0cmFjZV9nZXRibG9ja3BhcmFtKC4uLikoLi4uKSgu
Li4pICovCitJTlNOX0VOVFJZKHRyYWNlX2dldGJsb2NrcGFyYW0pCit7CisgICAgdm1fdHJhY2Uo
ZWMsIEdFVF9DRlAoKSwgR0VUX1BDKCkpOworICAgIERJU1BBVENIX09SSUdJTkFMX0lOU04oZ2V0
YmxvY2twYXJhbSk7CisgICAgRU5EX0lOU04odHJhY2VfZ2V0YmxvY2twYXJhbSk7Cit9CisKKy8q
IGluc24gdHJhY2Vfc2V0YmxvY2twYXJhbSguLi4pKC4uLikoLi4uKSAqLworSU5TTl9FTlRSWSh0
cmFjZV9zZXRibG9ja3BhcmFtKQoreworICAgIHZtX3RyYWNlKGVjLCBHRVRfQ0ZQKCksIEdFVF9Q
QygpKTsKKyAgICBESVNQQVRDSF9PUklHSU5BTF9JTlNOKHNldGJsb2NrcGFyYW0pOworICAgIEVO
RF9JTlNOKHRyYWNlX3NldGJsb2NrcGFyYW0pOworfQorCisvKiBpbnNuIHRyYWNlX2dldGJsb2Nr
cGFyYW1wcm94eSguLi4pKC4uLikoLi4uKSAqLworSU5TTl9FTlRSWSh0cmFjZV9nZXRibG9ja3Bh
cmFtcHJveHkpCit7CisgICAgdm1fdHJhY2UoZWMsIEdFVF9DRlAoKSwgR0VUX1BDKCkpOworICAg
IERJU1BBVENIX09SSUdJTkFMX0lOU04oZ2V0YmxvY2twYXJhbXByb3h5KTsKKyAgICBFTkRfSU5T
Tih0cmFjZV9nZXRibG9ja3BhcmFtcHJveHkpOworfQorCisvKiBpbnNuIHRyYWNlX2dldHNwZWNp
YWwoLi4uKSguLi4pKC4uLikgKi8KK0lOU05fRU5UUlkodHJhY2VfZ2V0c3BlY2lhbCkKK3sKKyAg
ICB2bV90cmFjZShlYywgR0VUX0NGUCgpLCBHRVRfUEMoKSk7CisgICAgRElTUEFUQ0hfT1JJR0lO
QUxfSU5TTihnZXRzcGVjaWFsKTsKKyAgICBFTkRfSU5TTih0cmFjZV9nZXRzcGVjaWFsKTsKK30K
KworLyogaW5zbiB0cmFjZV9zZXRzcGVjaWFsKC4uLikoLi4uKSguLi4pICovCitJTlNOX0VOVFJZ
KHRyYWNlX3NldHNwZWNpYWwpCit7CisgICAgdm1fdHJhY2UoZWMsIEdFVF9DRlAoKSwgR0VUX1BD
KCkpOworICAgIERJU1BBVENIX09SSUdJTkFMX0lOU04oc2V0c3BlY2lhbCk7CisgICAgRU5EX0lO
U04odHJhY2Vfc2V0c3BlY2lhbCk7Cit9CisKKy8qIGluc24gdHJhY2VfZ2V0aW5zdGFuY2V2YXJp
YWJsZSguLi4pKC4uLikoLi4uKSAqLworSU5TTl9FTlRSWSh0cmFjZV9nZXRpbnN0YW5jZXZhcmlh
YmxlKQoreworICAgIHZtX3RyYWNlKGVjLCBHRVRfQ0ZQKCksIEdFVF9QQygpKTsKKyAgICBESVNQ
QVRDSF9PUklHSU5BTF9JTlNOKGdldGluc3RhbmNldmFyaWFibGUpOworICAgIEVORF9JTlNOKHRy
YWNlX2dldGluc3RhbmNldmFyaWFibGUpOworfQorCisvKiBpbnNuIHRyYWNlX3NldGluc3RhbmNl
dmFyaWFibGUoLi4uKSguLi4pKC4uLikgKi8KK0lOU05fRU5UUlkodHJhY2Vfc2V0aW5zdGFuY2V2
YXJpYWJsZSkKK3sKKyAgICB2bV90cmFjZShlYywgR0VUX0NGUCgpLCBHRVRfUEMoKSk7CisgICAg
RElTUEFUQ0hfT1JJR0lOQUxfSU5TTihzZXRpbnN0YW5jZXZhcmlhYmxlKTsKKyAgICBFTkRfSU5T
Tih0cmFjZV9zZXRpbnN0YW5jZXZhcmlhYmxlKTsKK30KKworLyogaW5zbiB0cmFjZV9nZXRjbGFz
c3ZhcmlhYmxlKC4uLikoLi4uKSguLi4pICovCitJTlNOX0VOVFJZKHRyYWNlX2dldGNsYXNzdmFy
aWFibGUpCit7CisgICAgdm1fdHJhY2UoZWMsIEdFVF9DRlAoKSwgR0VUX1BDKCkpOworICAgIERJ
U1BBVENIX09SSUdJTkFMX0lOU04oZ2V0Y2xhc3N2YXJpYWJsZSk7CisgICAgRU5EX0lOU04odHJh
Y2VfZ2V0Y2xhc3N2YXJpYWJsZSk7Cit9CisKKy8qIGluc24gdHJhY2Vfc2V0Y2xhc3N2YXJpYWJs
ZSguLi4pKC4uLikoLi4uKSAqLworSU5TTl9FTlRSWSh0cmFjZV9zZXRjbGFzc3ZhcmlhYmxlKQor
eworICAgIHZtX3RyYWNlKGVjLCBHRVRfQ0ZQKCksIEdFVF9QQygpKTsKKyAgICBESVNQQVRDSF9P
UklHSU5BTF9JTlNOKHNldGNsYXNzdmFyaWFibGUpOworICAgIEVORF9JTlNOKHRyYWNlX3NldGNs
YXNzdmFyaWFibGUpOworfQorCisvKiBpbnNuIHRyYWNlX2dldGNvbnN0YW50KC4uLikoLi4uKSgu
Li4pICovCitJTlNOX0VOVFJZKHRyYWNlX2dldGNvbnN0YW50KQoreworICAgIHZtX3RyYWNlKGVj
LCBHRVRfQ0ZQKCksIEdFVF9QQygpKTsKKyAgICBESVNQQVRDSF9PUklHSU5BTF9JTlNOKGdldGNv
bnN0YW50KTsKKyAgICBFTkRfSU5TTih0cmFjZV9nZXRjb25zdGFudCk7Cit9CisKKy8qIGluc24g
dHJhY2Vfc2V0Y29uc3RhbnQoLi4uKSguLi4pKC4uLikgKi8KK0lOU05fRU5UUlkodHJhY2Vfc2V0
Y29uc3RhbnQpCit7CisgICAgdm1fdHJhY2UoZWMsIEdFVF9DRlAoKSwgR0VUX1BDKCkpOworICAg
IERJU1BBVENIX09SSUdJTkFMX0lOU04oc2V0Y29uc3RhbnQpOworICAgIEVORF9JTlNOKHRyYWNl
X3NldGNvbnN0YW50KTsKK30KKworLyogaW5zbiB0cmFjZV9nZXRnbG9iYWwoLi4uKSguLi4pKC4u
LikgKi8KK0lOU05fRU5UUlkodHJhY2VfZ2V0Z2xvYmFsKQoreworICAgIHZtX3RyYWNlKGVjLCBH
RVRfQ0ZQKCksIEdFVF9QQygpKTsKKyAgICBESVNQQVRDSF9PUklHSU5BTF9JTlNOKGdldGdsb2Jh
bCk7CisgICAgRU5EX0lOU04odHJhY2VfZ2V0Z2xvYmFsKTsKK30KKworLyogaW5zbiB0cmFjZV9z
ZXRnbG9iYWwoLi4uKSguLi4pKC4uLikgKi8KK0lOU05fRU5UUlkodHJhY2Vfc2V0Z2xvYmFsKQor
eworICAgIHZtX3RyYWNlKGVjLCBHRVRfQ0ZQKCksIEdFVF9QQygpKTsKKyAgICBESVNQQVRDSF9P
UklHSU5BTF9JTlNOKHNldGdsb2JhbCk7CisgICAgRU5EX0lOU04odHJhY2Vfc2V0Z2xvYmFsKTsK
K30KKworLyogaW5zbiB0cmFjZV9wdXRuaWwoLi4uKSguLi4pKC4uLikgKi8KK0lOU05fRU5UUlko
dHJhY2VfcHV0bmlsKQoreworICAgIHZtX3RyYWNlKGVjLCBHRVRfQ0ZQKCksIEdFVF9QQygpKTsK
KyAgICBESVNQQVRDSF9PUklHSU5BTF9JTlNOKHB1dG5pbCk7CisgICAgRU5EX0lOU04odHJhY2Vf
cHV0bmlsKTsKK30KKworLyogaW5zbiB0cmFjZV9wdXRzZWxmKC4uLikoLi4uKSguLi4pICovCitJ
TlNOX0VOVFJZKHRyYWNlX3B1dHNlbGYpCit7CisgICAgdm1fdHJhY2UoZWMsIEdFVF9DRlAoKSwg
R0VUX1BDKCkpOworICAgIERJU1BBVENIX09SSUdJTkFMX0lOU04ocHV0c2VsZik7CisgICAgRU5E
X0lOU04odHJhY2VfcHV0c2VsZik7Cit9CisKKy8qIGluc24gdHJhY2VfcHV0b2JqZWN0KC4uLiko
Li4uKSguLi4pICovCitJTlNOX0VOVFJZKHRyYWNlX3B1dG9iamVjdCkKK3sKKyAgICB2bV90cmFj
ZShlYywgR0VUX0NGUCgpLCBHRVRfUEMoKSk7CisgICAgRElTUEFUQ0hfT1JJR0lOQUxfSU5TTihw
dXRvYmplY3QpOworICAgIEVORF9JTlNOKHRyYWNlX3B1dG9iamVjdCk7Cit9CisKKy8qIGluc24g
dHJhY2VfcHV0c3BlY2lhbG9iamVjdCguLi4pKC4uLikoLi4uKSAqLworSU5TTl9FTlRSWSh0cmFj
ZV9wdXRzcGVjaWFsb2JqZWN0KQoreworICAgIHZtX3RyYWNlKGVjLCBHRVRfQ0ZQKCksIEdFVF9Q
QygpKTsKKyAgICBESVNQQVRDSF9PUklHSU5BTF9JTlNOKHB1dHNwZWNpYWxvYmplY3QpOworICAg
IEVORF9JTlNOKHRyYWNlX3B1dHNwZWNpYWxvYmplY3QpOworfQorCisvKiBpbnNuIHRyYWNlX3B1
dGlzZXEoLi4uKSguLi4pKC4uLikgKi8KK0lOU05fRU5UUlkodHJhY2VfcHV0aXNlcSkKK3sKKyAg
ICB2bV90cmFjZShlYywgR0VUX0NGUCgpLCBHRVRfUEMoKSk7CisgICAgRElTUEFUQ0hfT1JJR0lO
QUxfSU5TTihwdXRpc2VxKTsKKyAgICBFTkRfSU5TTih0cmFjZV9wdXRpc2VxKTsKK30KKworLyog
aW5zbiB0cmFjZV9wdXRzdHJpbmcoLi4uKSguLi4pKC4uLikgKi8KK0lOU05fRU5UUlkodHJhY2Vf
cHV0c3RyaW5nKQoreworICAgIHZtX3RyYWNlKGVjLCBHRVRfQ0ZQKCksIEdFVF9QQygpKTsKKyAg
ICBESVNQQVRDSF9PUklHSU5BTF9JTlNOKHB1dHN0cmluZyk7CisgICAgRU5EX0lOU04odHJhY2Vf
cHV0c3RyaW5nKTsKK30KKworLyogaW5zbiB0cmFjZV9jb25jYXRzdHJpbmdzKC4uLikoLi4uKSgu
Li4pICovCitJTlNOX0VOVFJZKHRyYWNlX2NvbmNhdHN0cmluZ3MpCit7CisgICAgdm1fdHJhY2Uo
ZWMsIEdFVF9DRlAoKSwgR0VUX1BDKCkpOworICAgIERJU1BBVENIX09SSUdJTkFMX0lOU04oY29u
Y2F0c3RyaW5ncyk7CisgICAgRU5EX0lOU04odHJhY2VfY29uY2F0c3RyaW5ncyk7Cit9CisKKy8q
IGluc24gdHJhY2VfdG9zdHJpbmcoLi4uKSguLi4pKC4uLikgKi8KK0lOU05fRU5UUlkodHJhY2Vf
dG9zdHJpbmcpCit7CisgICAgdm1fdHJhY2UoZWMsIEdFVF9DRlAoKSwgR0VUX1BDKCkpOworICAg
IERJU1BBVENIX09SSUdJTkFMX0lOU04odG9zdHJpbmcpOworICAgIEVORF9JTlNOKHRyYWNlX3Rv
c3RyaW5nKTsKK30KKworLyogaW5zbiB0cmFjZV9mcmVlemVzdHJpbmcoLi4uKSguLi4pKC4uLikg
Ki8KK0lOU05fRU5UUlkodHJhY2VfZnJlZXplc3RyaW5nKQoreworICAgIHZtX3RyYWNlKGVjLCBH
RVRfQ0ZQKCksIEdFVF9QQygpKTsKKyAgICBESVNQQVRDSF9PUklHSU5BTF9JTlNOKGZyZWV6ZXN0
cmluZyk7CisgICAgRU5EX0lOU04odHJhY2VfZnJlZXplc3RyaW5nKTsKK30KKworLyogaW5zbiB0
cmFjZV90b3JlZ2V4cCguLi4pKC4uLikoLi4uKSAqLworSU5TTl9FTlRSWSh0cmFjZV90b3JlZ2V4
cCkKK3sKKyAgICB2bV90cmFjZShlYywgR0VUX0NGUCgpLCBHRVRfUEMoKSk7CisgICAgRElTUEFU
Q0hfT1JJR0lOQUxfSU5TTih0b3JlZ2V4cCk7CisgICAgRU5EX0lOU04odHJhY2VfdG9yZWdleHAp
OworfQorCisvKiBpbnNuIHRyYWNlX2ludGVybiguLi4pKC4uLikoLi4uKSAqLworSU5TTl9FTlRS
WSh0cmFjZV9pbnRlcm4pCit7CisgICAgdm1fdHJhY2UoZWMsIEdFVF9DRlAoKSwgR0VUX1BDKCkp
OworICAgIERJU1BBVENIX09SSUdJTkFMX0lOU04oaW50ZXJuKTsKKyAgICBFTkRfSU5TTih0cmFj
ZV9pbnRlcm4pOworfQorCisvKiBpbnNuIHRyYWNlX25ld2FycmF5KC4uLikoLi4uKSguLi4pICov
CitJTlNOX0VOVFJZKHRyYWNlX25ld2FycmF5KQoreworICAgIHZtX3RyYWNlKGVjLCBHRVRfQ0ZQ
KCksIEdFVF9QQygpKTsKKyAgICBESVNQQVRDSF9PUklHSU5BTF9JTlNOKG5ld2FycmF5KTsKKyAg
ICBFTkRfSU5TTih0cmFjZV9uZXdhcnJheSk7Cit9CisKKy8qIGluc24gdHJhY2VfZHVwYXJyYXko
Li4uKSguLi4pKC4uLikgKi8KK0lOU05fRU5UUlkodHJhY2VfZHVwYXJyYXkpCit7CisgICAgdm1f
dHJhY2UoZWMsIEdFVF9DRlAoKSwgR0VUX1BDKCkpOworICAgIERJU1BBVENIX09SSUdJTkFMX0lO
U04oZHVwYXJyYXkpOworICAgIEVORF9JTlNOKHRyYWNlX2R1cGFycmF5KTsKK30KKworLyogaW5z
biB0cmFjZV9kdXBoYXNoKC4uLikoLi4uKSguLi4pICovCitJTlNOX0VOVFJZKHRyYWNlX2R1cGhh
c2gpCit7CisgICAgdm1fdHJhY2UoZWMsIEdFVF9DRlAoKSwgR0VUX1BDKCkpOworICAgIERJU1BB
VENIX09SSUdJTkFMX0lOU04oZHVwaGFzaCk7CisgICAgRU5EX0lOU04odHJhY2VfZHVwaGFzaCk7
Cit9CisKKy8qIGluc24gdHJhY2VfZXhwYW5kYXJyYXkoLi4uKSguLi4pKC4uLikgKi8KK0lOU05f
RU5UUlkodHJhY2VfZXhwYW5kYXJyYXkpCit7CisgICAgdm1fdHJhY2UoZWMsIEdFVF9DRlAoKSwg
R0VUX1BDKCkpOworICAgIERJU1BBVENIX09SSUdJTkFMX0lOU04oZXhwYW5kYXJyYXkpOworICAg
IEVORF9JTlNOKHRyYWNlX2V4cGFuZGFycmF5KTsKK30KKworLyogaW5zbiB0cmFjZV9jb25jYXRh
cnJheSguLi4pKC4uLikoLi4uKSAqLworSU5TTl9FTlRSWSh0cmFjZV9jb25jYXRhcnJheSkKK3sK
KyAgICB2bV90cmFjZShlYywgR0VUX0NGUCgpLCBHRVRfUEMoKSk7CisgICAgRElTUEFUQ0hfT1JJ
R0lOQUxfSU5TTihjb25jYXRhcnJheSk7CisgICAgRU5EX0lOU04odHJhY2VfY29uY2F0YXJyYXkp
OworfQorCisvKiBpbnNuIHRyYWNlX3NwbGF0YXJyYXkoLi4uKSguLi4pKC4uLikgKi8KK0lOU05f
RU5UUlkodHJhY2Vfc3BsYXRhcnJheSkKK3sKKyAgICB2bV90cmFjZShlYywgR0VUX0NGUCgpLCBH
RVRfUEMoKSk7CisgICAgRElTUEFUQ0hfT1JJR0lOQUxfSU5TTihzcGxhdGFycmF5KTsKKyAgICBF
TkRfSU5TTih0cmFjZV9zcGxhdGFycmF5KTsKK30KKworLyogaW5zbiB0cmFjZV9uZXdoYXNoKC4u
LikoLi4uKSguLi4pICovCitJTlNOX0VOVFJZKHRyYWNlX25ld2hhc2gpCit7CisgICAgdm1fdHJh
Y2UoZWMsIEdFVF9DRlAoKSwgR0VUX1BDKCkpOworICAgIERJU1BBVENIX09SSUdJTkFMX0lOU04o
bmV3aGFzaCk7CisgICAgRU5EX0lOU04odHJhY2VfbmV3aGFzaCk7Cit9CisKKy8qIGluc24gdHJh
Y2VfbmV3cmFuZ2UoLi4uKSguLi4pKC4uLikgKi8KK0lOU05fRU5UUlkodHJhY2VfbmV3cmFuZ2Up
Cit7CisgICAgdm1fdHJhY2UoZWMsIEdFVF9DRlAoKSwgR0VUX1BDKCkpOworICAgIERJU1BBVENI
X09SSUdJTkFMX0lOU04obmV3cmFuZ2UpOworICAgIEVORF9JTlNOKHRyYWNlX25ld3JhbmdlKTsK
K30KKworLyogaW5zbiB0cmFjZV9wb3AoLi4uKSguLi4pKC4uLikgKi8KK0lOU05fRU5UUlkodHJh
Y2VfcG9wKQoreworICAgIHZtX3RyYWNlKGVjLCBHRVRfQ0ZQKCksIEdFVF9QQygpKTsKKyAgICBE
SVNQQVRDSF9PUklHSU5BTF9JTlNOKHBvcCk7CisgICAgRU5EX0lOU04odHJhY2VfcG9wKTsKK30K
KworLyogaW5zbiB0cmFjZV9kdXAoLi4uKSguLi4pKC4uLikgKi8KK0lOU05fRU5UUlkodHJhY2Vf
ZHVwKQoreworICAgIHZtX3RyYWNlKGVjLCBHRVRfQ0ZQKCksIEdFVF9QQygpKTsKKyAgICBESVNQ
QVRDSF9PUklHSU5BTF9JTlNOKGR1cCk7CisgICAgRU5EX0lOU04odHJhY2VfZHVwKTsKK30KKwor
LyogaW5zbiB0cmFjZV9kdXBuKC4uLikoLi4uKSguLi4pICovCitJTlNOX0VOVFJZKHRyYWNlX2R1
cG4pCit7CisgICAgdm1fdHJhY2UoZWMsIEdFVF9DRlAoKSwgR0VUX1BDKCkpOworICAgIERJU1BB
VENIX09SSUdJTkFMX0lOU04oZHVwbik7CisgICAgRU5EX0lOU04odHJhY2VfZHVwbik7Cit9CisK
Ky8qIGluc24gdHJhY2Vfc3dhcCguLi4pKC4uLikoLi4uKSAqLworSU5TTl9FTlRSWSh0cmFjZV9z
d2FwKQoreworICAgIHZtX3RyYWNlKGVjLCBHRVRfQ0ZQKCksIEdFVF9QQygpKTsKKyAgICBESVNQ
QVRDSF9PUklHSU5BTF9JTlNOKHN3YXApOworICAgIEVORF9JTlNOKHRyYWNlX3N3YXApOworfQor
CisvKiBpbnNuIHRyYWNlX3JldmVyc2UoLi4uKSguLi4pKC4uLikgKi8KK0lOU05fRU5UUlkodHJh
Y2VfcmV2ZXJzZSkKK3sKKyAgICB2bV90cmFjZShlYywgR0VUX0NGUCgpLCBHRVRfUEMoKSk7Cisg
ICAgRElTUEFUQ0hfT1JJR0lOQUxfSU5TTihyZXZlcnNlKTsKKyAgICBFTkRfSU5TTih0cmFjZV9y
ZXZlcnNlKTsKK30KKworLyogaW5zbiB0cmFjZV9yZXB1dCguLi4pKC4uLikoLi4uKSAqLworSU5T
Tl9FTlRSWSh0cmFjZV9yZXB1dCkKK3sKKyAgICB2bV90cmFjZShlYywgR0VUX0NGUCgpLCBHRVRf
UEMoKSk7CisgICAgRElTUEFUQ0hfT1JJR0lOQUxfSU5TTihyZXB1dCk7CisgICAgRU5EX0lOU04o
dHJhY2VfcmVwdXQpOworfQorCisvKiBpbnNuIHRyYWNlX3RvcG4oLi4uKSguLi4pKC4uLikgKi8K
K0lOU05fRU5UUlkodHJhY2VfdG9wbikKK3sKKyAgICB2bV90cmFjZShlYywgR0VUX0NGUCgpLCBH
RVRfUEMoKSk7CisgICAgRElTUEFUQ0hfT1JJR0lOQUxfSU5TTih0b3BuKTsKKyAgICBFTkRfSU5T
Tih0cmFjZV90b3BuKTsKK30KKworLyogaW5zbiB0cmFjZV9zZXRuKC4uLikoLi4uKSguLi4pICov
CitJTlNOX0VOVFJZKHRyYWNlX3NldG4pCit7CisgICAgdm1fdHJhY2UoZWMsIEdFVF9DRlAoKSwg
R0VUX1BDKCkpOworICAgIERJU1BBVENIX09SSUdJTkFMX0lOU04oc2V0bik7CisgICAgRU5EX0lO
U04odHJhY2Vfc2V0bik7Cit9CisKKy8qIGluc24gdHJhY2VfYWRqdXN0c3RhY2soLi4uKSguLi4p
KC4uLikgKi8KK0lOU05fRU5UUlkodHJhY2VfYWRqdXN0c3RhY2spCit7CisgICAgdm1fdHJhY2Uo
ZWMsIEdFVF9DRlAoKSwgR0VUX1BDKCkpOworICAgIERJU1BBVENIX09SSUdJTkFMX0lOU04oYWRq
dXN0c3RhY2spOworICAgIEVORF9JTlNOKHRyYWNlX2FkanVzdHN0YWNrKTsKK30KKworLyogaW5z
biB0cmFjZV9kZWZpbmVkKC4uLikoLi4uKSguLi4pICovCitJTlNOX0VOVFJZKHRyYWNlX2RlZmlu
ZWQpCit7CisgICAgdm1fdHJhY2UoZWMsIEdFVF9DRlAoKSwgR0VUX1BDKCkpOworICAgIERJU1BB
VENIX09SSUdJTkFMX0lOU04oZGVmaW5lZCk7CisgICAgRU5EX0lOU04odHJhY2VfZGVmaW5lZCk7
Cit9CisKKy8qIGluc24gdHJhY2VfY2hlY2ttYXRjaCguLi4pKC4uLikoLi4uKSAqLworSU5TTl9F
TlRSWSh0cmFjZV9jaGVja21hdGNoKQoreworICAgIHZtX3RyYWNlKGVjLCBHRVRfQ0ZQKCksIEdF
VF9QQygpKTsKKyAgICBESVNQQVRDSF9PUklHSU5BTF9JTlNOKGNoZWNrbWF0Y2gpOworICAgIEVO
RF9JTlNOKHRyYWNlX2NoZWNrbWF0Y2gpOworfQorCisvKiBpbnNuIHRyYWNlX2NoZWNra2V5d29y
ZCguLi4pKC4uLikoLi4uKSAqLworSU5TTl9FTlRSWSh0cmFjZV9jaGVja2tleXdvcmQpCit7Cisg
ICAgdm1fdHJhY2UoZWMsIEdFVF9DRlAoKSwgR0VUX1BDKCkpOworICAgIERJU1BBVENIX09SSUdJ
TkFMX0lOU04oY2hlY2trZXl3b3JkKTsKKyAgICBFTkRfSU5TTih0cmFjZV9jaGVja2tleXdvcmQp
OworfQorCisvKiBpbnNuIHRyYWNlX2NoZWNrdHlwZSguLi4pKC4uLikoLi4uKSAqLworSU5TTl9F
TlRSWSh0cmFjZV9jaGVja3R5cGUpCit7CisgICAgdm1fdHJhY2UoZWMsIEdFVF9DRlAoKSwgR0VU
X1BDKCkpOworICAgIERJU1BBVENIX09SSUdJTkFMX0lOU04oY2hlY2t0eXBlKTsKKyAgICBFTkRf
SU5TTih0cmFjZV9jaGVja3R5cGUpOworfQorCisvKiBpbnNuIHRyYWNlX2RlZmluZWNsYXNzKC4u
LikoLi4uKSguLi4pICovCitJTlNOX0VOVFJZKHRyYWNlX2RlZmluZWNsYXNzKQoreworICAgIHZt
X3RyYWNlKGVjLCBHRVRfQ0ZQKCksIEdFVF9QQygpKTsKKyAgICBESVNQQVRDSF9PUklHSU5BTF9J
TlNOKGRlZmluZWNsYXNzKTsKKyAgICBFTkRfSU5TTih0cmFjZV9kZWZpbmVjbGFzcyk7Cit9CisK
Ky8qIGluc24gdHJhY2Vfc2VuZCguLi4pKC4uLikoLi4uKSAqLworSU5TTl9FTlRSWSh0cmFjZV9z
ZW5kKQoreworICAgIHZtX3RyYWNlKGVjLCBHRVRfQ0ZQKCksIEdFVF9QQygpKTsKKyAgICBESVNQ
QVRDSF9PUklHSU5BTF9JTlNOKHNlbmQpOworICAgIEVORF9JTlNOKHRyYWNlX3NlbmQpOworfQor
CisvKiBpbnNuIHRyYWNlX29wdF9zZW5kX3dpdGhvdXRfYmxvY2soLi4uKSguLi4pKC4uLikgKi8K
K0lOU05fRU5UUlkodHJhY2Vfb3B0X3NlbmRfd2l0aG91dF9ibG9jaykKK3sKKyAgICB2bV90cmFj
ZShlYywgR0VUX0NGUCgpLCBHRVRfUEMoKSk7CisgICAgRElTUEFUQ0hfT1JJR0lOQUxfSU5TTihv
cHRfc2VuZF93aXRob3V0X2Jsb2NrKTsKKyAgICBFTkRfSU5TTih0cmFjZV9vcHRfc2VuZF93aXRo
b3V0X2Jsb2NrKTsKK30KKworLyogaW5zbiB0cmFjZV9vcHRfc3RyX2ZyZWV6ZSguLi4pKC4uLiko
Li4uKSAqLworSU5TTl9FTlRSWSh0cmFjZV9vcHRfc3RyX2ZyZWV6ZSkKK3sKKyAgICB2bV90cmFj
ZShlYywgR0VUX0NGUCgpLCBHRVRfUEMoKSk7CisgICAgRElTUEFUQ0hfT1JJR0lOQUxfSU5TTihv
cHRfc3RyX2ZyZWV6ZSk7CisgICAgRU5EX0lOU04odHJhY2Vfb3B0X3N0cl9mcmVlemUpOworfQor
CisvKiBpbnNuIHRyYWNlX29wdF9zdHJfdW1pbnVzKC4uLikoLi4uKSguLi4pICovCitJTlNOX0VO
VFJZKHRyYWNlX29wdF9zdHJfdW1pbnVzKQoreworICAgIHZtX3RyYWNlKGVjLCBHRVRfQ0ZQKCks
IEdFVF9QQygpKTsKKyAgICBESVNQQVRDSF9PUklHSU5BTF9JTlNOKG9wdF9zdHJfdW1pbnVzKTsK
KyAgICBFTkRfSU5TTih0cmFjZV9vcHRfc3RyX3VtaW51cyk7Cit9CisKKy8qIGluc24gdHJhY2Vf
b3B0X25ld2FycmF5X21heCguLi4pKC4uLikoLi4uKSAqLworSU5TTl9FTlRSWSh0cmFjZV9vcHRf
bmV3YXJyYXlfbWF4KQoreworICAgIHZtX3RyYWNlKGVjLCBHRVRfQ0ZQKCksIEdFVF9QQygpKTsK
KyAgICBESVNQQVRDSF9PUklHSU5BTF9JTlNOKG9wdF9uZXdhcnJheV9tYXgpOworICAgIEVORF9J
TlNOKHRyYWNlX29wdF9uZXdhcnJheV9tYXgpOworfQorCisvKiBpbnNuIHRyYWNlX29wdF9uZXdh
cnJheV9taW4oLi4uKSguLi4pKC4uLikgKi8KK0lOU05fRU5UUlkodHJhY2Vfb3B0X25ld2FycmF5
X21pbikKK3sKKyAgICB2bV90cmFjZShlYywgR0VUX0NGUCgpLCBHRVRfUEMoKSk7CisgICAgRElT
UEFUQ0hfT1JJR0lOQUxfSU5TTihvcHRfbmV3YXJyYXlfbWluKTsKKyAgICBFTkRfSU5TTih0cmFj
ZV9vcHRfbmV3YXJyYXlfbWluKTsKK30KKworLyogaW5zbiB0cmFjZV9pbnZva2VzdXBlciguLi4p
KC4uLikoLi4uKSAqLworSU5TTl9FTlRSWSh0cmFjZV9pbnZva2VzdXBlcikKK3sKKyAgICB2bV90
cmFjZShlYywgR0VUX0NGUCgpLCBHRVRfUEMoKSk7CisgICAgRElTUEFUQ0hfT1JJR0lOQUxfSU5T
TihpbnZva2VzdXBlcik7CisgICAgRU5EX0lOU04odHJhY2VfaW52b2tlc3VwZXIpOworfQorCisv
KiBpbnNuIHRyYWNlX2ludm9rZWJsb2NrKC4uLikoLi4uKSguLi4pICovCitJTlNOX0VOVFJZKHRy
YWNlX2ludm9rZWJsb2NrKQoreworICAgIHZtX3RyYWNlKGVjLCBHRVRfQ0ZQKCksIEdFVF9QQygp
KTsKKyAgICBESVNQQVRDSF9PUklHSU5BTF9JTlNOKGludm9rZWJsb2NrKTsKKyAgICBFTkRfSU5T
Tih0cmFjZV9pbnZva2VibG9jayk7Cit9CisKKy8qIGluc24gdHJhY2VfbGVhdmUoLi4uKSguLi4p
KC4uLikgKi8KK0lOU05fRU5UUlkodHJhY2VfbGVhdmUpCit7CisgICAgdm1fdHJhY2UoZWMsIEdF
VF9DRlAoKSwgR0VUX1BDKCkpOworICAgIERJU1BBVENIX09SSUdJTkFMX0lOU04obGVhdmUpOwor
ICAgIEVORF9JTlNOKHRyYWNlX2xlYXZlKTsKK30KKworLyogaW5zbiB0cmFjZV90aHJvdyguLi4p
KC4uLikoLi4uKSAqLworSU5TTl9FTlRSWSh0cmFjZV90aHJvdykKK3sKKyAgICB2bV90cmFjZShl
YywgR0VUX0NGUCgpLCBHRVRfUEMoKSk7CisgICAgRElTUEFUQ0hfT1JJR0lOQUxfSU5TTih0aHJv
dyk7CisgICAgRU5EX0lOU04odHJhY2VfdGhyb3cpOworfQorCisvKiBpbnNuIHRyYWNlX2p1bXAo
Li4uKSguLi4pKC4uLikgKi8KK0lOU05fRU5UUlkodHJhY2VfanVtcCkKK3sKKyAgICB2bV90cmFj
ZShlYywgR0VUX0NGUCgpLCBHRVRfUEMoKSk7CisgICAgRElTUEFUQ0hfT1JJR0lOQUxfSU5TTihq
dW1wKTsKKyAgICBFTkRfSU5TTih0cmFjZV9qdW1wKTsKK30KKworLyogaW5zbiB0cmFjZV9icmFu
Y2hpZiguLi4pKC4uLikoLi4uKSAqLworSU5TTl9FTlRSWSh0cmFjZV9icmFuY2hpZikKK3sKKyAg
ICB2bV90cmFjZShlYywgR0VUX0NGUCgpLCBHRVRfUEMoKSk7CisgICAgRElTUEFUQ0hfT1JJR0lO
QUxfSU5TTihicmFuY2hpZik7CisgICAgRU5EX0lOU04odHJhY2VfYnJhbmNoaWYpOworfQorCisv
KiBpbnNuIHRyYWNlX2JyYW5jaHVubGVzcyguLi4pKC4uLikoLi4uKSAqLworSU5TTl9FTlRSWSh0
cmFjZV9icmFuY2h1bmxlc3MpCit7CisgICAgdm1fdHJhY2UoZWMsIEdFVF9DRlAoKSwgR0VUX1BD
KCkpOworICAgIERJU1BBVENIX09SSUdJTkFMX0lOU04oYnJhbmNodW5sZXNzKTsKKyAgICBFTkRf
SU5TTih0cmFjZV9icmFuY2h1bmxlc3MpOworfQorCisvKiBpbnNuIHRyYWNlX2JyYW5jaG5pbCgu
Li4pKC4uLikoLi4uKSAqLworSU5TTl9FTlRSWSh0cmFjZV9icmFuY2huaWwpCit7CisgICAgdm1f
dHJhY2UoZWMsIEdFVF9DRlAoKSwgR0VUX1BDKCkpOworICAgIERJU1BBVENIX09SSUdJTkFMX0lO
U04oYnJhbmNobmlsKTsKKyAgICBFTkRfSU5TTih0cmFjZV9icmFuY2huaWwpOworfQorCisvKiBp
bnNuIHRyYWNlX29wdF9nZXRpbmxpbmVjYWNoZSguLi4pKC4uLikoLi4uKSAqLworSU5TTl9FTlRS
WSh0cmFjZV9vcHRfZ2V0aW5saW5lY2FjaGUpCit7CisgICAgdm1fdHJhY2UoZWMsIEdFVF9DRlAo
KSwgR0VUX1BDKCkpOworICAgIERJU1BBVENIX09SSUdJTkFMX0lOU04ob3B0X2dldGlubGluZWNh
Y2hlKTsKKyAgICBFTkRfSU5TTih0cmFjZV9vcHRfZ2V0aW5saW5lY2FjaGUpOworfQorCisvKiBp
bnNuIHRyYWNlX29wdF9zZXRpbmxpbmVjYWNoZSguLi4pKC4uLikoLi4uKSAqLworSU5TTl9FTlRS
WSh0cmFjZV9vcHRfc2V0aW5saW5lY2FjaGUpCit7CisgICAgdm1fdHJhY2UoZWMsIEdFVF9DRlAo
KSwgR0VUX1BDKCkpOworICAgIERJU1BBVENIX09SSUdJTkFMX0lOU04ob3B0X3NldGlubGluZWNh
Y2hlKTsKKyAgICBFTkRfSU5TTih0cmFjZV9vcHRfc2V0aW5saW5lY2FjaGUpOworfQorCisvKiBp
bnNuIHRyYWNlX29uY2UoLi4uKSguLi4pKC4uLikgKi8KK0lOU05fRU5UUlkodHJhY2Vfb25jZSkK
K3sKKyAgICB2bV90cmFjZShlYywgR0VUX0NGUCgpLCBHRVRfUEMoKSk7CisgICAgRElTUEFUQ0hf
T1JJR0lOQUxfSU5TTihvbmNlKTsKKyAgICBFTkRfSU5TTih0cmFjZV9vbmNlKTsKK30KKworLyog
aW5zbiB0cmFjZV9vcHRfY2FzZV9kaXNwYXRjaCguLi4pKC4uLikoLi4uKSAqLworSU5TTl9FTlRS
WSh0cmFjZV9vcHRfY2FzZV9kaXNwYXRjaCkKK3sKKyAgICB2bV90cmFjZShlYywgR0VUX0NGUCgp
LCBHRVRfUEMoKSk7CisgICAgRElTUEFUQ0hfT1JJR0lOQUxfSU5TTihvcHRfY2FzZV9kaXNwYXRj
aCk7CisgICAgRU5EX0lOU04odHJhY2Vfb3B0X2Nhc2VfZGlzcGF0Y2gpOworfQorCisvKiBpbnNu
IHRyYWNlX29wdF9wbHVzKC4uLikoLi4uKSguLi4pICovCitJTlNOX0VOVFJZKHRyYWNlX29wdF9w
bHVzKQoreworICAgIHZtX3RyYWNlKGVjLCBHRVRfQ0ZQKCksIEdFVF9QQygpKTsKKyAgICBESVNQ
QVRDSF9PUklHSU5BTF9JTlNOKG9wdF9wbHVzKTsKKyAgICBFTkRfSU5TTih0cmFjZV9vcHRfcGx1
cyk7Cit9CisKKy8qIGluc24gdHJhY2Vfb3B0X21pbnVzKC4uLikoLi4uKSguLi4pICovCitJTlNO
X0VOVFJZKHRyYWNlX29wdF9taW51cykKK3sKKyAgICB2bV90cmFjZShlYywgR0VUX0NGUCgpLCBH
RVRfUEMoKSk7CisgICAgRElTUEFUQ0hfT1JJR0lOQUxfSU5TTihvcHRfbWludXMpOworICAgIEVO
RF9JTlNOKHRyYWNlX29wdF9taW51cyk7Cit9CisKKy8qIGluc24gdHJhY2Vfb3B0X211bHQoLi4u
KSguLi4pKC4uLikgKi8KK0lOU05fRU5UUlkodHJhY2Vfb3B0X211bHQpCit7CisgICAgdm1fdHJh
Y2UoZWMsIEdFVF9DRlAoKSwgR0VUX1BDKCkpOworICAgIERJU1BBVENIX09SSUdJTkFMX0lOU04o
b3B0X211bHQpOworICAgIEVORF9JTlNOKHRyYWNlX29wdF9tdWx0KTsKK30KKworLyogaW5zbiB0
cmFjZV9vcHRfZGl2KC4uLikoLi4uKSguLi4pICovCitJTlNOX0VOVFJZKHRyYWNlX29wdF9kaXYp
Cit7CisgICAgdm1fdHJhY2UoZWMsIEdFVF9DRlAoKSwgR0VUX1BDKCkpOworICAgIERJU1BBVENI
X09SSUdJTkFMX0lOU04ob3B0X2Rpdik7CisgICAgRU5EX0lOU04odHJhY2Vfb3B0X2Rpdik7Cit9
CisKKy8qIGluc24gdHJhY2Vfb3B0X21vZCguLi4pKC4uLikoLi4uKSAqLworSU5TTl9FTlRSWSh0
cmFjZV9vcHRfbW9kKQoreworICAgIHZtX3RyYWNlKGVjLCBHRVRfQ0ZQKCksIEdFVF9QQygpKTsK
KyAgICBESVNQQVRDSF9PUklHSU5BTF9JTlNOKG9wdF9tb2QpOworICAgIEVORF9JTlNOKHRyYWNl
X29wdF9tb2QpOworfQorCisvKiBpbnNuIHRyYWNlX29wdF9lcSguLi4pKC4uLikoLi4uKSAqLwor
SU5TTl9FTlRSWSh0cmFjZV9vcHRfZXEpCit7CisgICAgdm1fdHJhY2UoZWMsIEdFVF9DRlAoKSwg
R0VUX1BDKCkpOworICAgIERJU1BBVENIX09SSUdJTkFMX0lOU04ob3B0X2VxKTsKKyAgICBFTkRf
SU5TTih0cmFjZV9vcHRfZXEpOworfQorCisvKiBpbnNuIHRyYWNlX29wdF9uZXEoLi4uKSguLi4p
KC4uLikgKi8KK0lOU05fRU5UUlkodHJhY2Vfb3B0X25lcSkKK3sKKyAgICB2bV90cmFjZShlYywg
R0VUX0NGUCgpLCBHRVRfUEMoKSk7CisgICAgRElTUEFUQ0hfT1JJR0lOQUxfSU5TTihvcHRfbmVx
KTsKKyAgICBFTkRfSU5TTih0cmFjZV9vcHRfbmVxKTsKK30KKworLyogaW5zbiB0cmFjZV9vcHRf
bHQoLi4uKSguLi4pKC4uLikgKi8KK0lOU05fRU5UUlkodHJhY2Vfb3B0X2x0KQoreworICAgIHZt
X3RyYWNlKGVjLCBHRVRfQ0ZQKCksIEdFVF9QQygpKTsKKyAgICBESVNQQVRDSF9PUklHSU5BTF9J
TlNOKG9wdF9sdCk7CisgICAgRU5EX0lOU04odHJhY2Vfb3B0X2x0KTsKK30KKworLyogaW5zbiB0
cmFjZV9vcHRfbGUoLi4uKSguLi4pKC4uLikgKi8KK0lOU05fRU5UUlkodHJhY2Vfb3B0X2xlKQor
eworICAgIHZtX3RyYWNlKGVjLCBHRVRfQ0ZQKCksIEdFVF9QQygpKTsKKyAgICBESVNQQVRDSF9P
UklHSU5BTF9JTlNOKG9wdF9sZSk7CisgICAgRU5EX0lOU04odHJhY2Vfb3B0X2xlKTsKK30KKwor
LyogaW5zbiB0cmFjZV9vcHRfZ3QoLi4uKSguLi4pKC4uLikgKi8KK0lOU05fRU5UUlkodHJhY2Vf
b3B0X2d0KQoreworICAgIHZtX3RyYWNlKGVjLCBHRVRfQ0ZQKCksIEdFVF9QQygpKTsKKyAgICBE
SVNQQVRDSF9PUklHSU5BTF9JTlNOKG9wdF9ndCk7CisgICAgRU5EX0lOU04odHJhY2Vfb3B0X2d0
KTsKK30KKworLyogaW5zbiB0cmFjZV9vcHRfZ2UoLi4uKSguLi4pKC4uLikgKi8KK0lOU05fRU5U
UlkodHJhY2Vfb3B0X2dlKQoreworICAgIHZtX3RyYWNlKGVjLCBHRVRfQ0ZQKCksIEdFVF9QQygp
KTsKKyAgICBESVNQQVRDSF9PUklHSU5BTF9JTlNOKG9wdF9nZSk7CisgICAgRU5EX0lOU04odHJh
Y2Vfb3B0X2dlKTsKK30KKworLyogaW5zbiB0cmFjZV9vcHRfbHRsdCguLi4pKC4uLikoLi4uKSAq
LworSU5TTl9FTlRSWSh0cmFjZV9vcHRfbHRsdCkKK3sKKyAgICB2bV90cmFjZShlYywgR0VUX0NG
UCgpLCBHRVRfUEMoKSk7CisgICAgRElTUEFUQ0hfT1JJR0lOQUxfSU5TTihvcHRfbHRsdCk7Cisg
ICAgRU5EX0lOU04odHJhY2Vfb3B0X2x0bHQpOworfQorCisvKiBpbnNuIHRyYWNlX29wdF9hbmQo
Li4uKSguLi4pKC4uLikgKi8KK0lOU05fRU5UUlkodHJhY2Vfb3B0X2FuZCkKK3sKKyAgICB2bV90
cmFjZShlYywgR0VUX0NGUCgpLCBHRVRfUEMoKSk7CisgICAgRElTUEFUQ0hfT1JJR0lOQUxfSU5T
TihvcHRfYW5kKTsKKyAgICBFTkRfSU5TTih0cmFjZV9vcHRfYW5kKTsKK30KKworLyogaW5zbiB0
cmFjZV9vcHRfb3IoLi4uKSguLi4pKC4uLikgKi8KK0lOU05fRU5UUlkodHJhY2Vfb3B0X29yKQor
eworICAgIHZtX3RyYWNlKGVjLCBHRVRfQ0ZQKCksIEdFVF9QQygpKTsKKyAgICBESVNQQVRDSF9P
UklHSU5BTF9JTlNOKG9wdF9vcik7CisgICAgRU5EX0lOU04odHJhY2Vfb3B0X29yKTsKK30KKwor
LyogaW5zbiB0cmFjZV9vcHRfYXJlZiguLi4pKC4uLikoLi4uKSAqLworSU5TTl9FTlRSWSh0cmFj
ZV9vcHRfYXJlZikKK3sKKyAgICB2bV90cmFjZShlYywgR0VUX0NGUCgpLCBHRVRfUEMoKSk7Cisg
ICAgRElTUEFUQ0hfT1JJR0lOQUxfSU5TTihvcHRfYXJlZik7CisgICAgRU5EX0lOU04odHJhY2Vf
b3B0X2FyZWYpOworfQorCisvKiBpbnNuIHRyYWNlX29wdF9hc2V0KC4uLikoLi4uKSguLi4pICov
CitJTlNOX0VOVFJZKHRyYWNlX29wdF9hc2V0KQoreworICAgIHZtX3RyYWNlKGVjLCBHRVRfQ0ZQ
KCksIEdFVF9QQygpKTsKKyAgICBESVNQQVRDSF9PUklHSU5BTF9JTlNOKG9wdF9hc2V0KTsKKyAg
ICBFTkRfSU5TTih0cmFjZV9vcHRfYXNldCk7Cit9CisKKy8qIGluc24gdHJhY2Vfb3B0X2FzZXRf
d2l0aCguLi4pKC4uLikoLi4uKSAqLworSU5TTl9FTlRSWSh0cmFjZV9vcHRfYXNldF93aXRoKQor
eworICAgIHZtX3RyYWNlKGVjLCBHRVRfQ0ZQKCksIEdFVF9QQygpKTsKKyAgICBESVNQQVRDSF9P
UklHSU5BTF9JTlNOKG9wdF9hc2V0X3dpdGgpOworICAgIEVORF9JTlNOKHRyYWNlX29wdF9hc2V0
X3dpdGgpOworfQorCisvKiBpbnNuIHRyYWNlX29wdF9hcmVmX3dpdGgoLi4uKSguLi4pKC4uLikg
Ki8KK0lOU05fRU5UUlkodHJhY2Vfb3B0X2FyZWZfd2l0aCkKK3sKKyAgICB2bV90cmFjZShlYywg
R0VUX0NGUCgpLCBHRVRfUEMoKSk7CisgICAgRElTUEFUQ0hfT1JJR0lOQUxfSU5TTihvcHRfYXJl
Zl93aXRoKTsKKyAgICBFTkRfSU5TTih0cmFjZV9vcHRfYXJlZl93aXRoKTsKK30KKworLyogaW5z
biB0cmFjZV9vcHRfbGVuZ3RoKC4uLikoLi4uKSguLi4pICovCitJTlNOX0VOVFJZKHRyYWNlX29w
dF9sZW5ndGgpCit7CisgICAgdm1fdHJhY2UoZWMsIEdFVF9DRlAoKSwgR0VUX1BDKCkpOworICAg
IERJU1BBVENIX09SSUdJTkFMX0lOU04ob3B0X2xlbmd0aCk7CisgICAgRU5EX0lOU04odHJhY2Vf
b3B0X2xlbmd0aCk7Cit9CisKKy8qIGluc24gdHJhY2Vfb3B0X3NpemUoLi4uKSguLi4pKC4uLikg
Ki8KK0lOU05fRU5UUlkodHJhY2Vfb3B0X3NpemUpCit7CisgICAgdm1fdHJhY2UoZWMsIEdFVF9D
RlAoKSwgR0VUX1BDKCkpOworICAgIERJU1BBVENIX09SSUdJTkFMX0lOU04ob3B0X3NpemUpOwor
ICAgIEVORF9JTlNOKHRyYWNlX29wdF9zaXplKTsKK30KKworLyogaW5zbiB0cmFjZV9vcHRfZW1w
dHlfcCguLi4pKC4uLikoLi4uKSAqLworSU5TTl9FTlRSWSh0cmFjZV9vcHRfZW1wdHlfcCkKK3sK
KyAgICB2bV90cmFjZShlYywgR0VUX0NGUCgpLCBHRVRfUEMoKSk7CisgICAgRElTUEFUQ0hfT1JJ
R0lOQUxfSU5TTihvcHRfZW1wdHlfcCk7CisgICAgRU5EX0lOU04odHJhY2Vfb3B0X2VtcHR5X3Ap
OworfQorCisvKiBpbnNuIHRyYWNlX29wdF9zdWNjKC4uLikoLi4uKSguLi4pICovCitJTlNOX0VO
VFJZKHRyYWNlX29wdF9zdWNjKQoreworICAgIHZtX3RyYWNlKGVjLCBHRVRfQ0ZQKCksIEdFVF9Q
QygpKTsKKyAgICBESVNQQVRDSF9PUklHSU5BTF9JTlNOKG9wdF9zdWNjKTsKKyAgICBFTkRfSU5T
Tih0cmFjZV9vcHRfc3VjYyk7Cit9CisKKy8qIGluc24gdHJhY2Vfb3B0X25vdCguLi4pKC4uLiko
Li4uKSAqLworSU5TTl9FTlRSWSh0cmFjZV9vcHRfbm90KQoreworICAgIHZtX3RyYWNlKGVjLCBH
RVRfQ0ZQKCksIEdFVF9QQygpKTsKKyAgICBESVNQQVRDSF9PUklHSU5BTF9JTlNOKG9wdF9ub3Qp
OworICAgIEVORF9JTlNOKHRyYWNlX29wdF9ub3QpOworfQorCisvKiBpbnNuIHRyYWNlX29wdF9y
ZWdleHBtYXRjaDEoLi4uKSguLi4pKC4uLikgKi8KK0lOU05fRU5UUlkodHJhY2Vfb3B0X3JlZ2V4
cG1hdGNoMSkKK3sKKyAgICB2bV90cmFjZShlYywgR0VUX0NGUCgpLCBHRVRfUEMoKSk7CisgICAg
RElTUEFUQ0hfT1JJR0lOQUxfSU5TTihvcHRfcmVnZXhwbWF0Y2gxKTsKKyAgICBFTkRfSU5TTih0
cmFjZV9vcHRfcmVnZXhwbWF0Y2gxKTsKK30KKworLyogaW5zbiB0cmFjZV9vcHRfcmVnZXhwbWF0
Y2gyKC4uLikoLi4uKSguLi4pICovCitJTlNOX0VOVFJZKHRyYWNlX29wdF9yZWdleHBtYXRjaDIp
Cit7CisgICAgdm1fdHJhY2UoZWMsIEdFVF9DRlAoKSwgR0VUX1BDKCkpOworICAgIERJU1BBVENI
X09SSUdJTkFMX0lOU04ob3B0X3JlZ2V4cG1hdGNoMik7CisgICAgRU5EX0lOU04odHJhY2Vfb3B0
X3JlZ2V4cG1hdGNoMik7Cit9CisKKy8qIGluc24gdHJhY2Vfb3B0X2NhbGxfY19mdW5jdGlvbigu
Li4pKC4uLikoLi4uKSAqLworSU5TTl9FTlRSWSh0cmFjZV9vcHRfY2FsbF9jX2Z1bmN0aW9uKQor
eworICAgIHZtX3RyYWNlKGVjLCBHRVRfQ0ZQKCksIEdFVF9QQygpKTsKKyAgICBESVNQQVRDSF9P
UklHSU5BTF9JTlNOKG9wdF9jYWxsX2NfZnVuY3Rpb24pOworICAgIEVORF9JTlNOKHRyYWNlX29w
dF9jYWxsX2NfZnVuY3Rpb24pOworfQorCisvKiBpbnNuIHRyYWNlX2JpdGJsdCguLi4pKC4uLiko
Li4uKSAqLworSU5TTl9FTlRSWSh0cmFjZV9iaXRibHQpCit7CisgICAgdm1fdHJhY2UoZWMsIEdF
VF9DRlAoKSwgR0VUX1BDKCkpOworICAgIERJU1BBVENIX09SSUdJTkFMX0lOU04oYml0Ymx0KTsK
KyAgICBFTkRfSU5TTih0cmFjZV9iaXRibHQpOworfQorCisvKiBpbnNuIHRyYWNlX2Fuc3dlcigu
Li4pKC4uLikoLi4uKSAqLworSU5TTl9FTlRSWSh0cmFjZV9hbnN3ZXIpCit7CisgICAgdm1fdHJh
Y2UoZWMsIEdFVF9DRlAoKSwgR0VUX1BDKCkpOworICAgIERJU1BBVENIX09SSUdJTkFMX0lOU04o
YW5zd2VyKTsKKyAgICBFTkRfSU5TTih0cmFjZV9hbnN3ZXIpOworfQorCisvKiBpbnNuIHRyYWNl
X2dldGxvY2FsX1dDXzAoLi4uKSguLi4pKC4uLikgKi8KK0lOU05fRU5UUlkodHJhY2VfZ2V0bG9j
YWxfV0NfMCkKK3sKKyAgICB2bV90cmFjZShlYywgR0VUX0NGUCgpLCBHRVRfUEMoKSk7CisgICAg
RElTUEFUQ0hfT1JJR0lOQUxfSU5TTihnZXRsb2NhbF9XQ18wKTsKKyAgICBFTkRfSU5TTih0cmFj
ZV9nZXRsb2NhbF9XQ18wKTsKK30KKworLyogaW5zbiB0cmFjZV9nZXRsb2NhbF9XQ18xKC4uLiko
Li4uKSguLi4pICovCitJTlNOX0VOVFJZKHRyYWNlX2dldGxvY2FsX1dDXzEpCit7CisgICAgdm1f
dHJhY2UoZWMsIEdFVF9DRlAoKSwgR0VUX1BDKCkpOworICAgIERJU1BBVENIX09SSUdJTkFMX0lO
U04oZ2V0bG9jYWxfV0NfMSk7CisgICAgRU5EX0lOU04odHJhY2VfZ2V0bG9jYWxfV0NfMSk7Cit9
CisKKy8qIGluc24gdHJhY2Vfc2V0bG9jYWxfV0NfMCguLi4pKC4uLikoLi4uKSAqLworSU5TTl9F
TlRSWSh0cmFjZV9zZXRsb2NhbF9XQ18wKQoreworICAgIHZtX3RyYWNlKGVjLCBHRVRfQ0ZQKCks
IEdFVF9QQygpKTsKKyAgICBESVNQQVRDSF9PUklHSU5BTF9JTlNOKHNldGxvY2FsX1dDXzApOwor
ICAgIEVORF9JTlNOKHRyYWNlX3NldGxvY2FsX1dDXzApOworfQorCisvKiBpbnNuIHRyYWNlX3Nl
dGxvY2FsX1dDXzEoLi4uKSguLi4pKC4uLikgKi8KK0lOU05fRU5UUlkodHJhY2Vfc2V0bG9jYWxf
V0NfMSkKK3sKKyAgICB2bV90cmFjZShlYywgR0VUX0NGUCgpLCBHRVRfUEMoKSk7CisgICAgRElT
UEFUQ0hfT1JJR0lOQUxfSU5TTihzZXRsb2NhbF9XQ18xKTsKKyAgICBFTkRfSU5TTih0cmFjZV9z
ZXRsb2NhbF9XQ18xKTsKK30KKworLyogaW5zbiB0cmFjZV9wdXRvYmplY3RfSU5UMkZJWF8wXygu
Li4pKC4uLikoLi4uKSAqLworSU5TTl9FTlRSWSh0cmFjZV9wdXRvYmplY3RfSU5UMkZJWF8wXykK
K3sKKyAgICB2bV90cmFjZShlYywgR0VUX0NGUCgpLCBHRVRfUEMoKSk7CisgICAgRElTUEFUQ0hf
T1JJR0lOQUxfSU5TTihwdXRvYmplY3RfSU5UMkZJWF8wXyk7CisgICAgRU5EX0lOU04odHJhY2Vf
cHV0b2JqZWN0X0lOVDJGSVhfMF8pOworfQorCisvKiBpbnNuIHRyYWNlX3B1dG9iamVjdF9JTlQy
RklYXzFfKC4uLikoLi4uKSguLi4pICovCitJTlNOX0VOVFJZKHRyYWNlX3B1dG9iamVjdF9JTlQy
RklYXzFfKQoreworICAgIHZtX3RyYWNlKGVjLCBHRVRfQ0ZQKCksIEdFVF9QQygpKTsKKyAgICBE
SVNQQVRDSF9PUklHSU5BTF9JTlNOKHB1dG9iamVjdF9JTlQyRklYXzFfKTsKKyAgICBFTkRfSU5T
Tih0cmFjZV9wdXRvYmplY3RfSU5UMkZJWF8xXyk7Cit9CmRpZmYgLS1naXQgYS9nZW5lcmF0ZWQv
dm1fY2FsbF9pc2VxX29wdGltaXplZC5pbmMgYi9nZW5lcmF0ZWQvdm1fY2FsbF9pc2VxX29wdGlt
aXplZC5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjkwMGIzMAotLS0g
L2Rldi9udWxsCisrKyBiL2dlbmVyYXRlZC92bV9jYWxsX2lzZXFfb3B0aW1pemVkLmluYwpAQCAt
MCwwICsxLDIxMyBAQAorLyogLSotIGMgLSotICovCisjaWYgMSAvKiBlbmFibGUgb3IgZGlzYWJs
ZSB0aGlzIG9wdGltaXphdGlvbiAqLworCisvKiBETyBOT1QgRURJVCBUSElTIEZJTEUgRElSRUNU
TFkKKyAqCisgKiBUaGlzIGZpbGUgaXMgZ2VuZXJhdGVkIGJ5IHRvb2wvbWtfY2FsbF9pc2VxX29w
dGltaXplZC5yYgorICovCisKK3N0YXRpYyBWQUxVRQordm1fY2FsbF9pc2VxX3NldHVwX25vcm1h
bF8wc3RhcnRfMHBhcmFtc18wbG9jYWxzKHJiX2V4ZWN1dGlvbl9jb250ZXh0X3QgKmVjLCByYl9j
b250cm9sX2ZyYW1lX3QgKmNmcCwgc3RydWN0IHJiX2NhbGxpbmdfaW5mbyAqY2FsbGluZywgY29u
c3Qgc3RydWN0IHJiX2NhbGxfaW5mbyAqY2ksIHN0cnVjdCByYl9jYWxsX2NhY2hlICpjYykKK3sK
KyAgICByZXR1cm4gdm1fY2FsbF9pc2VxX3NldHVwX25vcm1hbChlYywgY2ZwLCBjYWxsaW5nLCBj
Yy0+bWUsIDAsIDAsIDApOworfQorCitzdGF0aWMgVkFMVUUKK3ZtX2NhbGxfaXNlcV9zZXR1cF9u
b3JtYWxfMHN0YXJ0XzBwYXJhbXNfMWxvY2FscyhyYl9leGVjdXRpb25fY29udGV4dF90ICplYywg
cmJfY29udHJvbF9mcmFtZV90ICpjZnAsIHN0cnVjdCByYl9jYWxsaW5nX2luZm8gKmNhbGxpbmcs
IGNvbnN0IHN0cnVjdCByYl9jYWxsX2luZm8gKmNpLCBzdHJ1Y3QgcmJfY2FsbF9jYWNoZSAqY2Mp
Cit7CisgICAgcmV0dXJuIHZtX2NhbGxfaXNlcV9zZXR1cF9ub3JtYWwoZWMsIGNmcCwgY2FsbGlu
ZywgY2MtPm1lLCAwLCAwLCAxKTsKK30KKworc3RhdGljIFZBTFVFCit2bV9jYWxsX2lzZXFfc2V0
dXBfbm9ybWFsXzBzdGFydF8wcGFyYW1zXzJsb2NhbHMocmJfZXhlY3V0aW9uX2NvbnRleHRfdCAq
ZWMsIHJiX2NvbnRyb2xfZnJhbWVfdCAqY2ZwLCBzdHJ1Y3QgcmJfY2FsbGluZ19pbmZvICpjYWxs
aW5nLCBjb25zdCBzdHJ1Y3QgcmJfY2FsbF9pbmZvICpjaSwgc3RydWN0IHJiX2NhbGxfY2FjaGUg
KmNjKQoreworICAgIHJldHVybiB2bV9jYWxsX2lzZXFfc2V0dXBfbm9ybWFsKGVjLCBjZnAsIGNh
bGxpbmcsIGNjLT5tZSwgMCwgMCwgMik7Cit9CisKK3N0YXRpYyBWQUxVRQordm1fY2FsbF9pc2Vx
X3NldHVwX25vcm1hbF8wc3RhcnRfMHBhcmFtc18zbG9jYWxzKHJiX2V4ZWN1dGlvbl9jb250ZXh0
X3QgKmVjLCByYl9jb250cm9sX2ZyYW1lX3QgKmNmcCwgc3RydWN0IHJiX2NhbGxpbmdfaW5mbyAq
Y2FsbGluZywgY29uc3Qgc3RydWN0IHJiX2NhbGxfaW5mbyAqY2ksIHN0cnVjdCByYl9jYWxsX2Nh
Y2hlICpjYykKK3sKKyAgICByZXR1cm4gdm1fY2FsbF9pc2VxX3NldHVwX25vcm1hbChlYywgY2Zw
LCBjYWxsaW5nLCBjYy0+bWUsIDAsIDAsIDMpOworfQorCitzdGF0aWMgVkFMVUUKK3ZtX2NhbGxf
aXNlcV9zZXR1cF9ub3JtYWxfMHN0YXJ0XzBwYXJhbXNfNGxvY2FscyhyYl9leGVjdXRpb25fY29u
dGV4dF90ICplYywgcmJfY29udHJvbF9mcmFtZV90ICpjZnAsIHN0cnVjdCByYl9jYWxsaW5nX2lu
Zm8gKmNhbGxpbmcsIGNvbnN0IHN0cnVjdCByYl9jYWxsX2luZm8gKmNpLCBzdHJ1Y3QgcmJfY2Fs
bF9jYWNoZSAqY2MpCit7CisgICAgcmV0dXJuIHZtX2NhbGxfaXNlcV9zZXR1cF9ub3JtYWwoZWMs
IGNmcCwgY2FsbGluZywgY2MtPm1lLCAwLCAwLCA0KTsKK30KKworc3RhdGljIFZBTFVFCit2bV9j
YWxsX2lzZXFfc2V0dXBfbm9ybWFsXzBzdGFydF8wcGFyYW1zXzVsb2NhbHMocmJfZXhlY3V0aW9u
X2NvbnRleHRfdCAqZWMsIHJiX2NvbnRyb2xfZnJhbWVfdCAqY2ZwLCBzdHJ1Y3QgcmJfY2FsbGlu
Z19pbmZvICpjYWxsaW5nLCBjb25zdCBzdHJ1Y3QgcmJfY2FsbF9pbmZvICpjaSwgc3RydWN0IHJi
X2NhbGxfY2FjaGUgKmNjKQoreworICAgIHJldHVybiB2bV9jYWxsX2lzZXFfc2V0dXBfbm9ybWFs
KGVjLCBjZnAsIGNhbGxpbmcsIGNjLT5tZSwgMCwgMCwgNSk7Cit9CisKK3N0YXRpYyBWQUxVRQor
dm1fY2FsbF9pc2VxX3NldHVwX25vcm1hbF8wc3RhcnRfMXBhcmFtc18wbG9jYWxzKHJiX2V4ZWN1
dGlvbl9jb250ZXh0X3QgKmVjLCByYl9jb250cm9sX2ZyYW1lX3QgKmNmcCwgc3RydWN0IHJiX2Nh
bGxpbmdfaW5mbyAqY2FsbGluZywgY29uc3Qgc3RydWN0IHJiX2NhbGxfaW5mbyAqY2ksIHN0cnVj
dCByYl9jYWxsX2NhY2hlICpjYykKK3sKKyAgICByZXR1cm4gdm1fY2FsbF9pc2VxX3NldHVwX25v
cm1hbChlYywgY2ZwLCBjYWxsaW5nLCBjYy0+bWUsIDAsIDEsIDApOworfQorCitzdGF0aWMgVkFM
VUUKK3ZtX2NhbGxfaXNlcV9zZXR1cF9ub3JtYWxfMHN0YXJ0XzFwYXJhbXNfMWxvY2FscyhyYl9l
eGVjdXRpb25fY29udGV4dF90ICplYywgcmJfY29udHJvbF9mcmFtZV90ICpjZnAsIHN0cnVjdCBy
Yl9jYWxsaW5nX2luZm8gKmNhbGxpbmcsIGNvbnN0IHN0cnVjdCByYl9jYWxsX2luZm8gKmNpLCBz
dHJ1Y3QgcmJfY2FsbF9jYWNoZSAqY2MpCit7CisgICAgcmV0dXJuIHZtX2NhbGxfaXNlcV9zZXR1
cF9ub3JtYWwoZWMsIGNmcCwgY2FsbGluZywgY2MtPm1lLCAwLCAxLCAxKTsKK30KKworc3RhdGlj
IFZBTFVFCit2bV9jYWxsX2lzZXFfc2V0dXBfbm9ybWFsXzBzdGFydF8xcGFyYW1zXzJsb2NhbHMo
cmJfZXhlY3V0aW9uX2NvbnRleHRfdCAqZWMsIHJiX2NvbnRyb2xfZnJhbWVfdCAqY2ZwLCBzdHJ1
Y3QgcmJfY2FsbGluZ19pbmZvICpjYWxsaW5nLCBjb25zdCBzdHJ1Y3QgcmJfY2FsbF9pbmZvICpj
aSwgc3RydWN0IHJiX2NhbGxfY2FjaGUgKmNjKQoreworICAgIHJldHVybiB2bV9jYWxsX2lzZXFf
c2V0dXBfbm9ybWFsKGVjLCBjZnAsIGNhbGxpbmcsIGNjLT5tZSwgMCwgMSwgMik7Cit9CisKK3N0
YXRpYyBWQUxVRQordm1fY2FsbF9pc2VxX3NldHVwX25vcm1hbF8wc3RhcnRfMXBhcmFtc18zbG9j
YWxzKHJiX2V4ZWN1dGlvbl9jb250ZXh0X3QgKmVjLCByYl9jb250cm9sX2ZyYW1lX3QgKmNmcCwg
c3RydWN0IHJiX2NhbGxpbmdfaW5mbyAqY2FsbGluZywgY29uc3Qgc3RydWN0IHJiX2NhbGxfaW5m
byAqY2ksIHN0cnVjdCByYl9jYWxsX2NhY2hlICpjYykKK3sKKyAgICByZXR1cm4gdm1fY2FsbF9p
c2VxX3NldHVwX25vcm1hbChlYywgY2ZwLCBjYWxsaW5nLCBjYy0+bWUsIDAsIDEsIDMpOworfQor
CitzdGF0aWMgVkFMVUUKK3ZtX2NhbGxfaXNlcV9zZXR1cF9ub3JtYWxfMHN0YXJ0XzFwYXJhbXNf
NGxvY2FscyhyYl9leGVjdXRpb25fY29udGV4dF90ICplYywgcmJfY29udHJvbF9mcmFtZV90ICpj
ZnAsIHN0cnVjdCByYl9jYWxsaW5nX2luZm8gKmNhbGxpbmcsIGNvbnN0IHN0cnVjdCByYl9jYWxs
X2luZm8gKmNpLCBzdHJ1Y3QgcmJfY2FsbF9jYWNoZSAqY2MpCit7CisgICAgcmV0dXJuIHZtX2Nh
bGxfaXNlcV9zZXR1cF9ub3JtYWwoZWMsIGNmcCwgY2FsbGluZywgY2MtPm1lLCAwLCAxLCA0KTsK
K30KKworc3RhdGljIFZBTFVFCit2bV9jYWxsX2lzZXFfc2V0dXBfbm9ybWFsXzBzdGFydF8xcGFy
YW1zXzVsb2NhbHMocmJfZXhlY3V0aW9uX2NvbnRleHRfdCAqZWMsIHJiX2NvbnRyb2xfZnJhbWVf
dCAqY2ZwLCBzdHJ1Y3QgcmJfY2FsbGluZ19pbmZvICpjYWxsaW5nLCBjb25zdCBzdHJ1Y3QgcmJf
Y2FsbF9pbmZvICpjaSwgc3RydWN0IHJiX2NhbGxfY2FjaGUgKmNjKQoreworICAgIHJldHVybiB2
bV9jYWxsX2lzZXFfc2V0dXBfbm9ybWFsKGVjLCBjZnAsIGNhbGxpbmcsIGNjLT5tZSwgMCwgMSwg
NSk7Cit9CisKK3N0YXRpYyBWQUxVRQordm1fY2FsbF9pc2VxX3NldHVwX25vcm1hbF8wc3RhcnRf
MnBhcmFtc18wbG9jYWxzKHJiX2V4ZWN1dGlvbl9jb250ZXh0X3QgKmVjLCByYl9jb250cm9sX2Zy
YW1lX3QgKmNmcCwgc3RydWN0IHJiX2NhbGxpbmdfaW5mbyAqY2FsbGluZywgY29uc3Qgc3RydWN0
IHJiX2NhbGxfaW5mbyAqY2ksIHN0cnVjdCByYl9jYWxsX2NhY2hlICpjYykKK3sKKyAgICByZXR1
cm4gdm1fY2FsbF9pc2VxX3NldHVwX25vcm1hbChlYywgY2ZwLCBjYWxsaW5nLCBjYy0+bWUsIDAs
IDIsIDApOworfQorCitzdGF0aWMgVkFMVUUKK3ZtX2NhbGxfaXNlcV9zZXR1cF9ub3JtYWxfMHN0
YXJ0XzJwYXJhbXNfMWxvY2FscyhyYl9leGVjdXRpb25fY29udGV4dF90ICplYywgcmJfY29udHJv
bF9mcmFtZV90ICpjZnAsIHN0cnVjdCByYl9jYWxsaW5nX2luZm8gKmNhbGxpbmcsIGNvbnN0IHN0
cnVjdCByYl9jYWxsX2luZm8gKmNpLCBzdHJ1Y3QgcmJfY2FsbF9jYWNoZSAqY2MpCit7CisgICAg
cmV0dXJuIHZtX2NhbGxfaXNlcV9zZXR1cF9ub3JtYWwoZWMsIGNmcCwgY2FsbGluZywgY2MtPm1l
LCAwLCAyLCAxKTsKK30KKworc3RhdGljIFZBTFVFCit2bV9jYWxsX2lzZXFfc2V0dXBfbm9ybWFs
XzBzdGFydF8ycGFyYW1zXzJsb2NhbHMocmJfZXhlY3V0aW9uX2NvbnRleHRfdCAqZWMsIHJiX2Nv
bnRyb2xfZnJhbWVfdCAqY2ZwLCBzdHJ1Y3QgcmJfY2FsbGluZ19pbmZvICpjYWxsaW5nLCBjb25z
dCBzdHJ1Y3QgcmJfY2FsbF9pbmZvICpjaSwgc3RydWN0IHJiX2NhbGxfY2FjaGUgKmNjKQorewor
ICAgIHJldHVybiB2bV9jYWxsX2lzZXFfc2V0dXBfbm9ybWFsKGVjLCBjZnAsIGNhbGxpbmcsIGNj
LT5tZSwgMCwgMiwgMik7Cit9CisKK3N0YXRpYyBWQUxVRQordm1fY2FsbF9pc2VxX3NldHVwX25v
cm1hbF8wc3RhcnRfMnBhcmFtc18zbG9jYWxzKHJiX2V4ZWN1dGlvbl9jb250ZXh0X3QgKmVjLCBy
Yl9jb250cm9sX2ZyYW1lX3QgKmNmcCwgc3RydWN0IHJiX2NhbGxpbmdfaW5mbyAqY2FsbGluZywg
Y29uc3Qgc3RydWN0IHJiX2NhbGxfaW5mbyAqY2ksIHN0cnVjdCByYl9jYWxsX2NhY2hlICpjYykK
K3sKKyAgICByZXR1cm4gdm1fY2FsbF9pc2VxX3NldHVwX25vcm1hbChlYywgY2ZwLCBjYWxsaW5n
LCBjYy0+bWUsIDAsIDIsIDMpOworfQorCitzdGF0aWMgVkFMVUUKK3ZtX2NhbGxfaXNlcV9zZXR1
cF9ub3JtYWxfMHN0YXJ0XzJwYXJhbXNfNGxvY2FscyhyYl9leGVjdXRpb25fY29udGV4dF90ICpl
YywgcmJfY29udHJvbF9mcmFtZV90ICpjZnAsIHN0cnVjdCByYl9jYWxsaW5nX2luZm8gKmNhbGxp
bmcsIGNvbnN0IHN0cnVjdCByYl9jYWxsX2luZm8gKmNpLCBzdHJ1Y3QgcmJfY2FsbF9jYWNoZSAq
Y2MpCit7CisgICAgcmV0dXJuIHZtX2NhbGxfaXNlcV9zZXR1cF9ub3JtYWwoZWMsIGNmcCwgY2Fs
bGluZywgY2MtPm1lLCAwLCAyLCA0KTsKK30KKworc3RhdGljIFZBTFVFCit2bV9jYWxsX2lzZXFf
c2V0dXBfbm9ybWFsXzBzdGFydF8ycGFyYW1zXzVsb2NhbHMocmJfZXhlY3V0aW9uX2NvbnRleHRf
dCAqZWMsIHJiX2NvbnRyb2xfZnJhbWVfdCAqY2ZwLCBzdHJ1Y3QgcmJfY2FsbGluZ19pbmZvICpj
YWxsaW5nLCBjb25zdCBzdHJ1Y3QgcmJfY2FsbF9pbmZvICpjaSwgc3RydWN0IHJiX2NhbGxfY2Fj
aGUgKmNjKQoreworICAgIHJldHVybiB2bV9jYWxsX2lzZXFfc2V0dXBfbm9ybWFsKGVjLCBjZnAs
IGNhbGxpbmcsIGNjLT5tZSwgMCwgMiwgNSk7Cit9CisKK3N0YXRpYyBWQUxVRQordm1fY2FsbF9p
c2VxX3NldHVwX25vcm1hbF8wc3RhcnRfM3BhcmFtc18wbG9jYWxzKHJiX2V4ZWN1dGlvbl9jb250
ZXh0X3QgKmVjLCByYl9jb250cm9sX2ZyYW1lX3QgKmNmcCwgc3RydWN0IHJiX2NhbGxpbmdfaW5m
byAqY2FsbGluZywgY29uc3Qgc3RydWN0IHJiX2NhbGxfaW5mbyAqY2ksIHN0cnVjdCByYl9jYWxs
X2NhY2hlICpjYykKK3sKKyAgICByZXR1cm4gdm1fY2FsbF9pc2VxX3NldHVwX25vcm1hbChlYywg
Y2ZwLCBjYWxsaW5nLCBjYy0+bWUsIDAsIDMsIDApOworfQorCitzdGF0aWMgVkFMVUUKK3ZtX2Nh
bGxfaXNlcV9zZXR1cF9ub3JtYWxfMHN0YXJ0XzNwYXJhbXNfMWxvY2FscyhyYl9leGVjdXRpb25f
Y29udGV4dF90ICplYywgcmJfY29udHJvbF9mcmFtZV90ICpjZnAsIHN0cnVjdCByYl9jYWxsaW5n
X2luZm8gKmNhbGxpbmcsIGNvbnN0IHN0cnVjdCByYl9jYWxsX2luZm8gKmNpLCBzdHJ1Y3QgcmJf
Y2FsbF9jYWNoZSAqY2MpCit7CisgICAgcmV0dXJuIHZtX2NhbGxfaXNlcV9zZXR1cF9ub3JtYWwo
ZWMsIGNmcCwgY2FsbGluZywgY2MtPm1lLCAwLCAzLCAxKTsKK30KKworc3RhdGljIFZBTFVFCit2
bV9jYWxsX2lzZXFfc2V0dXBfbm9ybWFsXzBzdGFydF8zcGFyYW1zXzJsb2NhbHMocmJfZXhlY3V0
aW9uX2NvbnRleHRfdCAqZWMsIHJiX2NvbnRyb2xfZnJhbWVfdCAqY2ZwLCBzdHJ1Y3QgcmJfY2Fs
bGluZ19pbmZvICpjYWxsaW5nLCBjb25zdCBzdHJ1Y3QgcmJfY2FsbF9pbmZvICpjaSwgc3RydWN0
IHJiX2NhbGxfY2FjaGUgKmNjKQoreworICAgIHJldHVybiB2bV9jYWxsX2lzZXFfc2V0dXBfbm9y
bWFsKGVjLCBjZnAsIGNhbGxpbmcsIGNjLT5tZSwgMCwgMywgMik7Cit9CisKK3N0YXRpYyBWQUxV
RQordm1fY2FsbF9pc2VxX3NldHVwX25vcm1hbF8wc3RhcnRfM3BhcmFtc18zbG9jYWxzKHJiX2V4
ZWN1dGlvbl9jb250ZXh0X3QgKmVjLCByYl9jb250cm9sX2ZyYW1lX3QgKmNmcCwgc3RydWN0IHJi
X2NhbGxpbmdfaW5mbyAqY2FsbGluZywgY29uc3Qgc3RydWN0IHJiX2NhbGxfaW5mbyAqY2ksIHN0
cnVjdCByYl9jYWxsX2NhY2hlICpjYykKK3sKKyAgICByZXR1cm4gdm1fY2FsbF9pc2VxX3NldHVw
X25vcm1hbChlYywgY2ZwLCBjYWxsaW5nLCBjYy0+bWUsIDAsIDMsIDMpOworfQorCitzdGF0aWMg
VkFMVUUKK3ZtX2NhbGxfaXNlcV9zZXR1cF9ub3JtYWxfMHN0YXJ0XzNwYXJhbXNfNGxvY2Fscyhy
Yl9leGVjdXRpb25fY29udGV4dF90ICplYywgcmJfY29udHJvbF9mcmFtZV90ICpjZnAsIHN0cnVj
dCByYl9jYWxsaW5nX2luZm8gKmNhbGxpbmcsIGNvbnN0IHN0cnVjdCByYl9jYWxsX2luZm8gKmNp
LCBzdHJ1Y3QgcmJfY2FsbF9jYWNoZSAqY2MpCit7CisgICAgcmV0dXJuIHZtX2NhbGxfaXNlcV9z
ZXR1cF9ub3JtYWwoZWMsIGNmcCwgY2FsbGluZywgY2MtPm1lLCAwLCAzLCA0KTsKK30KKworc3Rh
dGljIFZBTFVFCit2bV9jYWxsX2lzZXFfc2V0dXBfbm9ybWFsXzBzdGFydF8zcGFyYW1zXzVsb2Nh
bHMocmJfZXhlY3V0aW9uX2NvbnRleHRfdCAqZWMsIHJiX2NvbnRyb2xfZnJhbWVfdCAqY2ZwLCBz
dHJ1Y3QgcmJfY2FsbGluZ19pbmZvICpjYWxsaW5nLCBjb25zdCBzdHJ1Y3QgcmJfY2FsbF9pbmZv
ICpjaSwgc3RydWN0IHJiX2NhbGxfY2FjaGUgKmNjKQoreworICAgIHJldHVybiB2bV9jYWxsX2lz
ZXFfc2V0dXBfbm9ybWFsKGVjLCBjZnAsIGNhbGxpbmcsIGNjLT5tZSwgMCwgMywgNSk7Cit9CisK
Ky8qIHZtX2NhbGxfaXNlcV9oYW5kbGVyc1twYXJhbV1bbG9jYWxdICovCitzdGF0aWMgY29uc3Qg
dm1fY2FsbF9oYW5kbGVyIHZtX2NhbGxfaXNlcV9oYW5kbGVyc1tdWzZdID0gewore3ZtX2NhbGxf
aXNlcV9zZXR1cF9ub3JtYWxfMHN0YXJ0XzBwYXJhbXNfMGxvY2FscywKKyB2bV9jYWxsX2lzZXFf
c2V0dXBfbm9ybWFsXzBzdGFydF8wcGFyYW1zXzFsb2NhbHMsCisgdm1fY2FsbF9pc2VxX3NldHVw
X25vcm1hbF8wc3RhcnRfMHBhcmFtc18ybG9jYWxzLAorIHZtX2NhbGxfaXNlcV9zZXR1cF9ub3Jt
YWxfMHN0YXJ0XzBwYXJhbXNfM2xvY2FscywKKyB2bV9jYWxsX2lzZXFfc2V0dXBfbm9ybWFsXzBz
dGFydF8wcGFyYW1zXzRsb2NhbHMsCisgdm1fY2FsbF9pc2VxX3NldHVwX25vcm1hbF8wc3RhcnRf
MHBhcmFtc181bG9jYWxzfSwKK3t2bV9jYWxsX2lzZXFfc2V0dXBfbm9ybWFsXzBzdGFydF8xcGFy
YW1zXzBsb2NhbHMsCisgdm1fY2FsbF9pc2VxX3NldHVwX25vcm1hbF8wc3RhcnRfMXBhcmFtc18x
bG9jYWxzLAorIHZtX2NhbGxfaXNlcV9zZXR1cF9ub3JtYWxfMHN0YXJ0XzFwYXJhbXNfMmxvY2Fs
cywKKyB2bV9jYWxsX2lzZXFfc2V0dXBfbm9ybWFsXzBzdGFydF8xcGFyYW1zXzNsb2NhbHMsCisg
dm1fY2FsbF9pc2VxX3NldHVwX25vcm1hbF8wc3RhcnRfMXBhcmFtc180bG9jYWxzLAorIHZtX2Nh
bGxfaXNlcV9zZXR1cF9ub3JtYWxfMHN0YXJ0XzFwYXJhbXNfNWxvY2Fsc30sCit7dm1fY2FsbF9p
c2VxX3NldHVwX25vcm1hbF8wc3RhcnRfMnBhcmFtc18wbG9jYWxzLAorIHZtX2NhbGxfaXNlcV9z
ZXR1cF9ub3JtYWxfMHN0YXJ0XzJwYXJhbXNfMWxvY2FscywKKyB2bV9jYWxsX2lzZXFfc2V0dXBf
bm9ybWFsXzBzdGFydF8ycGFyYW1zXzJsb2NhbHMsCisgdm1fY2FsbF9pc2VxX3NldHVwX25vcm1h
bF8wc3RhcnRfMnBhcmFtc18zbG9jYWxzLAorIHZtX2NhbGxfaXNlcV9zZXR1cF9ub3JtYWxfMHN0
YXJ0XzJwYXJhbXNfNGxvY2FscywKKyB2bV9jYWxsX2lzZXFfc2V0dXBfbm9ybWFsXzBzdGFydF8y
cGFyYW1zXzVsb2NhbHN9LAore3ZtX2NhbGxfaXNlcV9zZXR1cF9ub3JtYWxfMHN0YXJ0XzNwYXJh
bXNfMGxvY2FscywKKyB2bV9jYWxsX2lzZXFfc2V0dXBfbm9ybWFsXzBzdGFydF8zcGFyYW1zXzFs
b2NhbHMsCisgdm1fY2FsbF9pc2VxX3NldHVwX25vcm1hbF8wc3RhcnRfM3BhcmFtc18ybG9jYWxz
LAorIHZtX2NhbGxfaXNlcV9zZXR1cF9ub3JtYWxfMHN0YXJ0XzNwYXJhbXNfM2xvY2FscywKKyB2
bV9jYWxsX2lzZXFfc2V0dXBfbm9ybWFsXzBzdGFydF8zcGFyYW1zXzRsb2NhbHMsCisgdm1fY2Fs
bF9pc2VxX3NldHVwX25vcm1hbF8wc3RhcnRfM3BhcmFtc181bG9jYWxzfQorfTsKKworc3RhdGlj
IGlubGluZSB2bV9jYWxsX2hhbmRsZXIKK3ZtX2NhbGxfaXNlcV9zZXR1cF9mdW5jKGNvbnN0IHN0
cnVjdCByYl9jYWxsX2luZm8gKmNpLCBjb25zdCBpbnQgcGFyYW1fc2l6ZSwgY29uc3QgaW50IGxv
Y2FsX3NpemUpCit7CisgICAgaWYgKFVOTElLRUxZKGNpLT5mbGFnICYgVk1fQ0FMTF9UQUlMQ0FM
TCkpIHsKKwlyZXR1cm4gJnZtX2NhbGxfaXNlcV9zZXR1cF90YWlsY2FsbF8wc3RhcnQ7CisgICAg
fQorICAgIGVsc2UgaWYgKDApIHsgLyogdG8gZGlzYWJsZSBvcHRpbWl6ZSAqLworICAgICAgICBy
ZXR1cm4gJnZtX2NhbGxfaXNlcV9zZXR1cF9ub3JtYWxfMHN0YXJ0OworICAgIH0KKyAgICBlbHNl
IHsKKwlpZiAocGFyYW1fc2l6ZSA8PSAzICYmCisJICAgIGxvY2FsX3NpemUgPD0gNSkgeworCSAg
ICBWTV9BU1NFUlQobG9jYWxfc2l6ZSA+PSAwKTsKKwkgICAgcmV0dXJuIHZtX2NhbGxfaXNlcV9o
YW5kbGVyc1twYXJhbV9zaXplXVtsb2NhbF9zaXplXTsKKwl9CisJcmV0dXJuICZ2bV9jYWxsX2lz
ZXFfc2V0dXBfbm9ybWFsXzBzdGFydDsKKyAgICB9Cit9CisKKyNlbHNlCisKKworc3RhdGljIGlu
bGluZSB2bV9jYWxsX2hhbmRsZXIKK3ZtX2NhbGxfaXNlcV9zZXR1cF9mdW5jKGNvbnN0IHN0cnVj
dCByYl9jYWxsX2luZm8gKmNpLCBzdHJ1Y3QgcmJfY2FsbF9jYWNoZSAqY2MpCit7CisgICAgaWYg
KFVOTElLRUxZKGNpLT5mbGFnICYgVk1fQ0FMTF9UQUlMQ0FMTCkpIHsKKwlyZXR1cm4gJnZtX2Nh
bGxfaXNlcV9zZXR1cF90YWlsY2FsbF8wc3RhcnQ7CisgICAgfQorICAgIGVsc2UgeworICAgICAg
ICByZXR1cm4gJnZtX2NhbGxfaXNlcV9zZXR1cF9ub3JtYWxfMHN0YXJ0OworICAgIH0KK30KKyNl
bmRpZgpkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL3ZtdGMuaW5jIGIvZ2VuZXJhdGVkL3ZtdGMuaW5j
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNlNmNmZDYKLS0tIC9kZXYvbnVs
bAorKysgYi9nZW5lcmF0ZWQvdm10Yy5pbmMKQEAgLTAsMCArMSwyNDMgQEAKKy8qIC0qLSBtb2Rl
OmM7IHN0eWxlOnJ1Ynk7IGNvZGluZzogdXRmLTg7IGluZGVudC10YWJzLW1vZGU6IG5pbCAtKi0g
Ki8KKworLyogVGhpcyBpcyAgYW4gYXV0by1nZW5lcmF0ZWQgZmlsZSAgYW5kIGlzIGEgIHBhcnQg
b2YgdGhlICBwcm9ncmFtbWluZyBsYW5ndWFnZQorICogUnVieS4gIFRoZSAgcGVyc29uIHdobyAg
Y3JlYXRlZCAgYSAgcHJvZ3JhbSAgdG8gIGdlbmVyYXRlIHRoaXMgIGZpbGUgIChgYEknJworICog
aGVyZWFmdGVyKSB3b3VsZCBsaWtlICB0byByZWZyYWluIGZyb20gZGVmaW5pbmcgbGljZW5zaW5n
ICBvZiB0aGlzIGdlbmVyYXRlZAorICogc291cmNlIGNvZGUuCisgKgorICogVGhpcyBmaWxlIGNv
bnNpc3Qgb2YgbWFueSBzbWFsbCAgcGFydHMgb2YgY29kZXMgY29weXJpZ2h0ZWQgYnkgZWFjaCBh
dXRob3JzLAorICogbm90ICBvbmx5ICB0aGUgIGBgSScnICBwZXJzb24uICAgVGhvc2UgIG9yaWdp
bmFsICBhdXRob3JzICBhZ3JlZSAgd2l0aCAgc29tZQorICogb3Blbi1zb3VyY2UgbGljZW5zZS4g
IEkgIGJlbGlldmUgdGhhdCB0aGUgbGljZW5zZSB3ZSBhZ3JlZSAgaXMgdGhlIGNvbmRpdGlvbgor
ICogbWVudGlvbmVkIGluICB0aGUgZmlsZSBDT1BZSU5HLiAgSXQgIHN0YXRlcyAiNC4gIFlvdSBt
YXkgIG1vZGlmeSBhbmQgaW5jbHVkZQorICogdGhlIHBhcnQgb2YgdGhlIHNvZnR3YXJlIGludG8g
YW55ICBvdGhlciBzb2Z0d2FyZSAuLi4iLiAgQnV0IHRoZSBwcm9ibGVtIGlzLAorICogdGhlIGxp
Y2Vuc2UgbmV2ZXIgbWFrZXMgaXQgY2xlYXIgaWYgIHN1Y2ggbW9kaWZpZWQgcGFydHMgc3RpbGwg
cmVtYWluIGluIHRoZQorICogc2FtZSAgbGljZW5zZSwgb3IgIG5vdC4gICBUaGUgZmFjdCAgdGhh
dCAgd2UgYWdyZWUgIHdpdGggIHRoZSBzb3VyY2UgIGNvZGUncworICogbGljZW5zaW5nIHRlcm1z
IGRvIG5vdCBhdXRvbWF0aWNhbGx5IGRlZmluZSB0aGF0IG9mIGdlbmVyYXRlZCBvbmVzLiAgVGhp
cyBpcworICogdGhlIHJlYXNvbiAgd2h5IHRoaXMgZmlsZSAgaXMgdW5kZXIgdW5jbGVhciBzaXR1
YXRpb24uICAgQWxsIHRoYXQgSSAga25vdyBpcworICogdGhhdCBhYm92ZSBwcm92aXNpb24gZ3Vh
cmFudGVlcyB0aGlzIGZpbGUgdG8gZXhpc3QuCisgKgorICogUGxlYXNlIGxldCBtZSAgaGVzaXRh
dGUgdG8gZGVjbGFyZSBzb21ldGhpbmcgYWJvdXQgdGhpcyAgbnVhbmNlZCBjb250cmFjdC4gSQor
ICogYW0gbm90IGluIHRoZSBwb3NpdGlvbiB0byB0YWtlICBvdmVyIG90aGVyIGF1dGhvcnMnIGxp
Y2Vuc2UgdG8gbWVyZ2UgaW50byBteQorICogb25lLiAgQ2hhbmdpbmcgdGhlbSB0byAoc2F5KSBH
UEx2MyAgaXMgbm90IGRvYWJsZSBieSBteXNlbGYuIFBlcmhhcHMgc29tZWRheQorICogaXQgbWln
aHQgdHVybiBvdXQgdG8gYmUgb2theSB0byBzYXkgdGhpcyBmaWxlIGlzIHVuZGVyIGEgbGljZW5z
ZS4gSSB3aXNoIHRoZQorICogc2l0dWF0aW9uIHdvdWxkIGJlY29tZSBtb3JlIGNsZWFyIGluIHRo
ZSBmdXR1cmUuICovCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisv
KioKKyAgVGhpcyBmaWxlIGlzIGZvciB0aHJlYWRlZCBjb2RlLgorCisgIC0tLS0KKyAgVGhpcyBm
aWxlIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IGluc25zMnZtLnJiCisgIERPIE5PVCBUT1VDSCEKKwor
ICBJZiB5b3Ugd2FudCB0byBmaXggc29tZXRoaW5nLCB5b3UgbXVzdCBlZGl0ICJ0b29sL3J1Ynlf
dm0vdmlld3Mvdm10Yy5pbmMuZXJiIgorICBvciB0b29sL2luc25zMnZtLnJiCisgKi8KKworc3Rh
dGljIGNvbnN0IHZvaWQgKmNvbnN0IGluc25zX2FkZHJlc3NfdGFibGVbXSA9IHsKKyAgICBMQUJF
TF9QVFIobm9wKSwKKyAgICBMQUJFTF9QVFIoZ2V0bG9jYWwpLAorICAgIExBQkVMX1BUUihzZXRs
b2NhbCksCisgICAgTEFCRUxfUFRSKGdldGJsb2NrcGFyYW0pLAorICAgIExBQkVMX1BUUihzZXRi
bG9ja3BhcmFtKSwKKyAgICBMQUJFTF9QVFIoZ2V0YmxvY2twYXJhbXByb3h5KSwKKyAgICBMQUJF
TF9QVFIoZ2V0c3BlY2lhbCksCisgICAgTEFCRUxfUFRSKHNldHNwZWNpYWwpLAorICAgIExBQkVM
X1BUUihnZXRpbnN0YW5jZXZhcmlhYmxlKSwKKyAgICBMQUJFTF9QVFIoc2V0aW5zdGFuY2V2YXJp
YWJsZSksCisgICAgTEFCRUxfUFRSKGdldGNsYXNzdmFyaWFibGUpLAorICAgIExBQkVMX1BUUihz
ZXRjbGFzc3ZhcmlhYmxlKSwKKyAgICBMQUJFTF9QVFIoZ2V0Y29uc3RhbnQpLAorICAgIExBQkVM
X1BUUihzZXRjb25zdGFudCksCisgICAgTEFCRUxfUFRSKGdldGdsb2JhbCksCisgICAgTEFCRUxf
UFRSKHNldGdsb2JhbCksCisgICAgTEFCRUxfUFRSKHB1dG5pbCksCisgICAgTEFCRUxfUFRSKHB1
dHNlbGYpLAorICAgIExBQkVMX1BUUihwdXRvYmplY3QpLAorICAgIExBQkVMX1BUUihwdXRzcGVj
aWFsb2JqZWN0KSwKKyAgICBMQUJFTF9QVFIocHV0aXNlcSksCisgICAgTEFCRUxfUFRSKHB1dHN0
cmluZyksCisgICAgTEFCRUxfUFRSKGNvbmNhdHN0cmluZ3MpLAorICAgIExBQkVMX1BUUih0b3N0
cmluZyksCisgICAgTEFCRUxfUFRSKGZyZWV6ZXN0cmluZyksCisgICAgTEFCRUxfUFRSKHRvcmVn
ZXhwKSwKKyAgICBMQUJFTF9QVFIoaW50ZXJuKSwKKyAgICBMQUJFTF9QVFIobmV3YXJyYXkpLAor
ICAgIExBQkVMX1BUUihkdXBhcnJheSksCisgICAgTEFCRUxfUFRSKGR1cGhhc2gpLAorICAgIExB
QkVMX1BUUihleHBhbmRhcnJheSksCisgICAgTEFCRUxfUFRSKGNvbmNhdGFycmF5KSwKKyAgICBM
QUJFTF9QVFIoc3BsYXRhcnJheSksCisgICAgTEFCRUxfUFRSKG5ld2hhc2gpLAorICAgIExBQkVM
X1BUUihuZXdyYW5nZSksCisgICAgTEFCRUxfUFRSKHBvcCksCisgICAgTEFCRUxfUFRSKGR1cCks
CisgICAgTEFCRUxfUFRSKGR1cG4pLAorICAgIExBQkVMX1BUUihzd2FwKSwKKyAgICBMQUJFTF9Q
VFIocmV2ZXJzZSksCisgICAgTEFCRUxfUFRSKHJlcHV0KSwKKyAgICBMQUJFTF9QVFIodG9wbiks
CisgICAgTEFCRUxfUFRSKHNldG4pLAorICAgIExBQkVMX1BUUihhZGp1c3RzdGFjayksCisgICAg
TEFCRUxfUFRSKGRlZmluZWQpLAorICAgIExBQkVMX1BUUihjaGVja21hdGNoKSwKKyAgICBMQUJF
TF9QVFIoY2hlY2trZXl3b3JkKSwKKyAgICBMQUJFTF9QVFIoY2hlY2t0eXBlKSwKKyAgICBMQUJF
TF9QVFIoZGVmaW5lY2xhc3MpLAorICAgIExBQkVMX1BUUihzZW5kKSwKKyAgICBMQUJFTF9QVFIo
b3B0X3NlbmRfd2l0aG91dF9ibG9jayksCisgICAgTEFCRUxfUFRSKG9wdF9zdHJfZnJlZXplKSwK
KyAgICBMQUJFTF9QVFIob3B0X3N0cl91bWludXMpLAorICAgIExBQkVMX1BUUihvcHRfbmV3YXJy
YXlfbWF4KSwKKyAgICBMQUJFTF9QVFIob3B0X25ld2FycmF5X21pbiksCisgICAgTEFCRUxfUFRS
KGludm9rZXN1cGVyKSwKKyAgICBMQUJFTF9QVFIoaW52b2tlYmxvY2spLAorICAgIExBQkVMX1BU
UihsZWF2ZSksCisgICAgTEFCRUxfUFRSKHRocm93KSwKKyAgICBMQUJFTF9QVFIoanVtcCksCisg
ICAgTEFCRUxfUFRSKGJyYW5jaGlmKSwKKyAgICBMQUJFTF9QVFIoYnJhbmNodW5sZXNzKSwKKyAg
ICBMQUJFTF9QVFIoYnJhbmNobmlsKSwKKyAgICBMQUJFTF9QVFIob3B0X2dldGlubGluZWNhY2hl
KSwKKyAgICBMQUJFTF9QVFIob3B0X3NldGlubGluZWNhY2hlKSwKKyAgICBMQUJFTF9QVFIob25j
ZSksCisgICAgTEFCRUxfUFRSKG9wdF9jYXNlX2Rpc3BhdGNoKSwKKyAgICBMQUJFTF9QVFIob3B0
X3BsdXMpLAorICAgIExBQkVMX1BUUihvcHRfbWludXMpLAorICAgIExBQkVMX1BUUihvcHRfbXVs
dCksCisgICAgTEFCRUxfUFRSKG9wdF9kaXYpLAorICAgIExBQkVMX1BUUihvcHRfbW9kKSwKKyAg
ICBMQUJFTF9QVFIob3B0X2VxKSwKKyAgICBMQUJFTF9QVFIob3B0X25lcSksCisgICAgTEFCRUxf
UFRSKG9wdF9sdCksCisgICAgTEFCRUxfUFRSKG9wdF9sZSksCisgICAgTEFCRUxfUFRSKG9wdF9n
dCksCisgICAgTEFCRUxfUFRSKG9wdF9nZSksCisgICAgTEFCRUxfUFRSKG9wdF9sdGx0KSwKKyAg
ICBMQUJFTF9QVFIob3B0X2FuZCksCisgICAgTEFCRUxfUFRSKG9wdF9vciksCisgICAgTEFCRUxf
UFRSKG9wdF9hcmVmKSwKKyAgICBMQUJFTF9QVFIob3B0X2FzZXQpLAorICAgIExBQkVMX1BUUihv
cHRfYXNldF93aXRoKSwKKyAgICBMQUJFTF9QVFIob3B0X2FyZWZfd2l0aCksCisgICAgTEFCRUxf
UFRSKG9wdF9sZW5ndGgpLAorICAgIExBQkVMX1BUUihvcHRfc2l6ZSksCisgICAgTEFCRUxfUFRS
KG9wdF9lbXB0eV9wKSwKKyAgICBMQUJFTF9QVFIob3B0X3N1Y2MpLAorICAgIExBQkVMX1BUUihv
cHRfbm90KSwKKyAgICBMQUJFTF9QVFIob3B0X3JlZ2V4cG1hdGNoMSksCisgICAgTEFCRUxfUFRS
KG9wdF9yZWdleHBtYXRjaDIpLAorICAgIExBQkVMX1BUUihvcHRfY2FsbF9jX2Z1bmN0aW9uKSwK
KyAgICBMQUJFTF9QVFIoYml0Ymx0KSwKKyAgICBMQUJFTF9QVFIoYW5zd2VyKSwKKyAgICBMQUJF
TF9QVFIoZ2V0bG9jYWxfV0NfMCksCisgICAgTEFCRUxfUFRSKGdldGxvY2FsX1dDXzEpLAorICAg
IExBQkVMX1BUUihzZXRsb2NhbF9XQ18wKSwKKyAgICBMQUJFTF9QVFIoc2V0bG9jYWxfV0NfMSks
CisgICAgTEFCRUxfUFRSKHB1dG9iamVjdF9JTlQyRklYXzBfKSwKKyAgICBMQUJFTF9QVFIocHV0
b2JqZWN0X0lOVDJGSVhfMV8pLAorICAgIExBQkVMX1BUUih0cmFjZV9ub3ApLAorICAgIExBQkVM
X1BUUih0cmFjZV9nZXRsb2NhbCksCisgICAgTEFCRUxfUFRSKHRyYWNlX3NldGxvY2FsKSwKKyAg
ICBMQUJFTF9QVFIodHJhY2VfZ2V0YmxvY2twYXJhbSksCisgICAgTEFCRUxfUFRSKHRyYWNlX3Nl
dGJsb2NrcGFyYW0pLAorICAgIExBQkVMX1BUUih0cmFjZV9nZXRibG9ja3BhcmFtcHJveHkpLAor
ICAgIExBQkVMX1BUUih0cmFjZV9nZXRzcGVjaWFsKSwKKyAgICBMQUJFTF9QVFIodHJhY2Vfc2V0
c3BlY2lhbCksCisgICAgTEFCRUxfUFRSKHRyYWNlX2dldGluc3RhbmNldmFyaWFibGUpLAorICAg
IExBQkVMX1BUUih0cmFjZV9zZXRpbnN0YW5jZXZhcmlhYmxlKSwKKyAgICBMQUJFTF9QVFIodHJh
Y2VfZ2V0Y2xhc3N2YXJpYWJsZSksCisgICAgTEFCRUxfUFRSKHRyYWNlX3NldGNsYXNzdmFyaWFi
bGUpLAorICAgIExBQkVMX1BUUih0cmFjZV9nZXRjb25zdGFudCksCisgICAgTEFCRUxfUFRSKHRy
YWNlX3NldGNvbnN0YW50KSwKKyAgICBMQUJFTF9QVFIodHJhY2VfZ2V0Z2xvYmFsKSwKKyAgICBM
QUJFTF9QVFIodHJhY2Vfc2V0Z2xvYmFsKSwKKyAgICBMQUJFTF9QVFIodHJhY2VfcHV0bmlsKSwK
KyAgICBMQUJFTF9QVFIodHJhY2VfcHV0c2VsZiksCisgICAgTEFCRUxfUFRSKHRyYWNlX3B1dG9i
amVjdCksCisgICAgTEFCRUxfUFRSKHRyYWNlX3B1dHNwZWNpYWxvYmplY3QpLAorICAgIExBQkVM
X1BUUih0cmFjZV9wdXRpc2VxKSwKKyAgICBMQUJFTF9QVFIodHJhY2VfcHV0c3RyaW5nKSwKKyAg
ICBMQUJFTF9QVFIodHJhY2VfY29uY2F0c3RyaW5ncyksCisgICAgTEFCRUxfUFRSKHRyYWNlX3Rv
c3RyaW5nKSwKKyAgICBMQUJFTF9QVFIodHJhY2VfZnJlZXplc3RyaW5nKSwKKyAgICBMQUJFTF9Q
VFIodHJhY2VfdG9yZWdleHApLAorICAgIExBQkVMX1BUUih0cmFjZV9pbnRlcm4pLAorICAgIExB
QkVMX1BUUih0cmFjZV9uZXdhcnJheSksCisgICAgTEFCRUxfUFRSKHRyYWNlX2R1cGFycmF5KSwK
KyAgICBMQUJFTF9QVFIodHJhY2VfZHVwaGFzaCksCisgICAgTEFCRUxfUFRSKHRyYWNlX2V4cGFu
ZGFycmF5KSwKKyAgICBMQUJFTF9QVFIodHJhY2VfY29uY2F0YXJyYXkpLAorICAgIExBQkVMX1BU
Uih0cmFjZV9zcGxhdGFycmF5KSwKKyAgICBMQUJFTF9QVFIodHJhY2VfbmV3aGFzaCksCisgICAg
TEFCRUxfUFRSKHRyYWNlX25ld3JhbmdlKSwKKyAgICBMQUJFTF9QVFIodHJhY2VfcG9wKSwKKyAg
ICBMQUJFTF9QVFIodHJhY2VfZHVwKSwKKyAgICBMQUJFTF9QVFIodHJhY2VfZHVwbiksCisgICAg
TEFCRUxfUFRSKHRyYWNlX3N3YXApLAorICAgIExBQkVMX1BUUih0cmFjZV9yZXZlcnNlKSwKKyAg
ICBMQUJFTF9QVFIodHJhY2VfcmVwdXQpLAorICAgIExBQkVMX1BUUih0cmFjZV90b3BuKSwKKyAg
ICBMQUJFTF9QVFIodHJhY2Vfc2V0biksCisgICAgTEFCRUxfUFRSKHRyYWNlX2FkanVzdHN0YWNr
KSwKKyAgICBMQUJFTF9QVFIodHJhY2VfZGVmaW5lZCksCisgICAgTEFCRUxfUFRSKHRyYWNlX2No
ZWNrbWF0Y2gpLAorICAgIExBQkVMX1BUUih0cmFjZV9jaGVja2tleXdvcmQpLAorICAgIExBQkVM
X1BUUih0cmFjZV9jaGVja3R5cGUpLAorICAgIExBQkVMX1BUUih0cmFjZV9kZWZpbmVjbGFzcyks
CisgICAgTEFCRUxfUFRSKHRyYWNlX3NlbmQpLAorICAgIExBQkVMX1BUUih0cmFjZV9vcHRfc2Vu
ZF93aXRob3V0X2Jsb2NrKSwKKyAgICBMQUJFTF9QVFIodHJhY2Vfb3B0X3N0cl9mcmVlemUpLAor
ICAgIExBQkVMX1BUUih0cmFjZV9vcHRfc3RyX3VtaW51cyksCisgICAgTEFCRUxfUFRSKHRyYWNl
X29wdF9uZXdhcnJheV9tYXgpLAorICAgIExBQkVMX1BUUih0cmFjZV9vcHRfbmV3YXJyYXlfbWlu
KSwKKyAgICBMQUJFTF9QVFIodHJhY2VfaW52b2tlc3VwZXIpLAorICAgIExBQkVMX1BUUih0cmFj
ZV9pbnZva2VibG9jayksCisgICAgTEFCRUxfUFRSKHRyYWNlX2xlYXZlKSwKKyAgICBMQUJFTF9Q
VFIodHJhY2VfdGhyb3cpLAorICAgIExBQkVMX1BUUih0cmFjZV9qdW1wKSwKKyAgICBMQUJFTF9Q
VFIodHJhY2VfYnJhbmNoaWYpLAorICAgIExBQkVMX1BUUih0cmFjZV9icmFuY2h1bmxlc3MpLAor
ICAgIExBQkVMX1BUUih0cmFjZV9icmFuY2huaWwpLAorICAgIExBQkVMX1BUUih0cmFjZV9vcHRf
Z2V0aW5saW5lY2FjaGUpLAorICAgIExBQkVMX1BUUih0cmFjZV9vcHRfc2V0aW5saW5lY2FjaGUp
LAorICAgIExBQkVMX1BUUih0cmFjZV9vbmNlKSwKKyAgICBMQUJFTF9QVFIodHJhY2Vfb3B0X2Nh
c2VfZGlzcGF0Y2gpLAorICAgIExBQkVMX1BUUih0cmFjZV9vcHRfcGx1cyksCisgICAgTEFCRUxf
UFRSKHRyYWNlX29wdF9taW51cyksCisgICAgTEFCRUxfUFRSKHRyYWNlX29wdF9tdWx0KSwKKyAg
ICBMQUJFTF9QVFIodHJhY2Vfb3B0X2RpdiksCisgICAgTEFCRUxfUFRSKHRyYWNlX29wdF9tb2Qp
LAorICAgIExBQkVMX1BUUih0cmFjZV9vcHRfZXEpLAorICAgIExBQkVMX1BUUih0cmFjZV9vcHRf
bmVxKSwKKyAgICBMQUJFTF9QVFIodHJhY2Vfb3B0X2x0KSwKKyAgICBMQUJFTF9QVFIodHJhY2Vf
b3B0X2xlKSwKKyAgICBMQUJFTF9QVFIodHJhY2Vfb3B0X2d0KSwKKyAgICBMQUJFTF9QVFIodHJh
Y2Vfb3B0X2dlKSwKKyAgICBMQUJFTF9QVFIodHJhY2Vfb3B0X2x0bHQpLAorICAgIExBQkVMX1BU
Uih0cmFjZV9vcHRfYW5kKSwKKyAgICBMQUJFTF9QVFIodHJhY2Vfb3B0X29yKSwKKyAgICBMQUJF
TF9QVFIodHJhY2Vfb3B0X2FyZWYpLAorICAgIExBQkVMX1BUUih0cmFjZV9vcHRfYXNldCksCisg
ICAgTEFCRUxfUFRSKHRyYWNlX29wdF9hc2V0X3dpdGgpLAorICAgIExBQkVMX1BUUih0cmFjZV9v
cHRfYXJlZl93aXRoKSwKKyAgICBMQUJFTF9QVFIodHJhY2Vfb3B0X2xlbmd0aCksCisgICAgTEFC
RUxfUFRSKHRyYWNlX29wdF9zaXplKSwKKyAgICBMQUJFTF9QVFIodHJhY2Vfb3B0X2VtcHR5X3Ap
LAorICAgIExBQkVMX1BUUih0cmFjZV9vcHRfc3VjYyksCisgICAgTEFCRUxfUFRSKHRyYWNlX29w
dF9ub3QpLAorICAgIExBQkVMX1BUUih0cmFjZV9vcHRfcmVnZXhwbWF0Y2gxKSwKKyAgICBMQUJF
TF9QVFIodHJhY2Vfb3B0X3JlZ2V4cG1hdGNoMiksCisgICAgTEFCRUxfUFRSKHRyYWNlX29wdF9j
YWxsX2NfZnVuY3Rpb24pLAorICAgIExBQkVMX1BUUih0cmFjZV9iaXRibHQpLAorICAgIExBQkVM
X1BUUih0cmFjZV9hbnN3ZXIpLAorICAgIExBQkVMX1BUUih0cmFjZV9nZXRsb2NhbF9XQ18wKSwK
KyAgICBMQUJFTF9QVFIodHJhY2VfZ2V0bG9jYWxfV0NfMSksCisgICAgTEFCRUxfUFRSKHRyYWNl
X3NldGxvY2FsX1dDXzApLAorICAgIExBQkVMX1BUUih0cmFjZV9zZXRsb2NhbF9XQ18xKSwKKyAg
ICBMQUJFTF9QVFIodHJhY2VfcHV0b2JqZWN0X0lOVDJGSVhfMF8pLAorICAgIExBQkVMX1BUUih0
cmFjZV9wdXRvYmplY3RfSU5UMkZJWF8xXyksCit9OworCitBU1NFUlRfVk1fSU5TVFJVQ1RJT05f
U0laRShpbnNuc19hZGRyZXNzX3RhYmxlKTsKLS0gCjIuMjAuMQoKCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QK
TWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVj
dC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Mon Dec 09 15:59:08 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 09 Dec 2019 15:59:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ieLRD-00005Y-9N; Mon, 09 Dec 2019 15:59:07 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=gN7q=Z7=gmail.com=lars.kurth.xen@srs-us1.protection.inumbo.net>)
 id 1ieLRC-00005O-Hh
 for minios-devel@lists.xenproject.org; Mon, 09 Dec 2019 15:59:06 +0000
X-Inumbo-ID: c4fc5c12-1a9c-11ea-88e7-bc764e2007e4
Received: from mail-wm1-x344.google.com (unknown [2a00:1450:4864:20::344])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id c4fc5c12-1a9c-11ea-88e7-bc764e2007e4;
 Mon, 09 Dec 2019 15:58:41 +0000 (UTC)
Received: by mail-wm1-x344.google.com with SMTP id f129so15538162wmf.2;
 Mon, 09 Dec 2019 07:58:41 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:message-id:mime-version:subject:date:in-reply-to:cc:to
 :references; bh=LEuoM7nnt1N9Lh3gamW0moyVXB37WDZYFE/ywR0vLcs=;
 b=NkN3aTvvgEh0Y00tu9B+LXkYt7ISEBtWoIENfPGUO2GrGxuKj5meMr/9RDNnwZFvYn
 7CMI+UeZZyTQtrY7j1CAvhuAjv/G8yg7wPCsn0dkAMFUSb7TJqUdpE5A2nZbsgSqrfIJ
 lsMq7nSmNsS4FBHE0NPOa5LODZPaBPfK9G7hDYtlKpu2AzXzZoM987Lpfvyz41B+RmoD
 WjsNMRy4XJNTSOdZIF/DliLUv0cBjUb8gFkrt0bzSkKLCm+bXNPk36iz47OE8rj1c7QD
 onNOc1/c66OAeGKPssmBPP5Bjr9801awPTBshDX8DMNKRAYohBkcxPr/Jo9QMRVLYQlN
 /7Ag==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:message-id:mime-version:subject:date
 :in-reply-to:cc:to:references;
 bh=LEuoM7nnt1N9Lh3gamW0moyVXB37WDZYFE/ywR0vLcs=;
 b=hlavfCN5m1QW2rv/zpFcQbNNGmIWawSLVTB7lCSK7j54YmxJZPuKoEN4cSPO+2gzLH
 1yT0ce+T+lg5iWMKZoPg6eYBO+6AmTZLGF9FEgbHq7FEANfQgj8fD3E8aNcMOQP0Obg+
 97t6OCytcQtePaN6sPaV0yrUbdNx9X3yacRE6PZWm2bCnyeqyAhYK4KLXOKwmcyJYdI3
 kPPdTckim/GbG9sOwrvBmUDw1qXXN6YsKvbXjl0bcHi3SZhMrEa7gPjGENcbaEOoW3NL
 ODnlz3WB9D82WejGe9KHBjQU/wF4a31dZrPGpfpGRpwdYcENNrv6z2k/+fPUUPD9712g
 b/Dw==
X-Gm-Message-State: APjAAAW3f0oRmJ2ogXSUaUx79sdlnNXytDK91YIPK5kNRzIo8o3hekyf
 V0RhIQOlLWYZUxaT1VvgRCY=
X-Google-Smtp-Source: APXvYqwOG7Ko5tSjikioPUkz6Dh8/vxmWjCJjgSF/eGDrLbQvZ2CAGrVpwdItGQkjFog3gM9DM0gfA==
X-Received: by 2002:a1c:6456:: with SMTP id y83mr26025587wmb.48.1575907119867; 
 Mon, 09 Dec 2019 07:58:39 -0800 (PST)
Received: from ?IPv6:2a02:c7f:ac18:da00:ed1d:96bc:504f:4472?
 ([2a02:c7f:ac18:da00:ed1d:96bc:504f:4472])
 by smtp.gmail.com with ESMTPSA id z6sm29228987wrw.36.2019.12.09.07.58.38
 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
 Mon, 09 Dec 2019 07:58:39 -0800 (PST)
From: Lars Kurth <lars.kurth.xen@gmail.com>
X-Google-Original-From: Lars Kurth <lars.kurth@xenproject.org>
Message-Id: <D7D92602-99D6-4530-8915-0A4C037A505D@xenproject.org>
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\))
Date: Mon, 9 Dec 2019 15:58:38 +0000
In-Reply-To: <001E0CF6-AD75-4A97-948D-C8240F9D5145@citrix.com>
To: Lars Kurth <lars.kurth@citrix.com>
References: <BE78F496-8B9C-490F-A500-204E3305C950@citrix.com>
 <6DC58DC2-5F2F-4496-A0F5-A91F11FD931B@gmail.com>
 <FDC64A08-D894-44CB-9244-9752D0FD17CD@citrix.com>
 <97079765-88F1-4F0C-95B1-B729B4AA93AA@citrix.com>
 <da6ab25f-6996-703e-66d1-11757136da11@suse.com>
 <001E0CF6-AD75-4A97-948D-C8240F9D5145@citrix.com>
X-Mailer: Apple Mail (2.3445.104.11)
Subject: Re: [Minios-devel] [PATCH v2 4/6] Add Code Review Guide
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 "mirageos-devel@lists.xenproject.org"
 <mirageos-devel@lists.xenproject.org>,
 "xen-api@lists.xenproject.org" <xen-api@lists.xenproject.org>,
 "minios-devel@lists.xenproject.org" <minios-devel@lists.xenproject.org>,
 Rich Persaud <persaur@gmail.com>,
 "committers@xenproject.org" <committers@xenproject.org>,
 'Jan Beulich' <jbeulich@suse.com>, xen-devel <xen-devel@lists.xenproject.org>,
 "win-pv-devel@lists.xenproject.org" <win-pv-devel@lists.xenproject.org>
Content-Type: multipart/mixed; boundary="===============8464054595826877619=="
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>


--===============8464054595826877619==
Content-Type: multipart/alternative;
	boundary="Apple-Mail=_086483F7-9100-4156-A917-C1AC5ED6F3D3"


--Apple-Mail=_086483F7-9100-4156-A917-C1AC5ED6F3D3
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8



> On 9 Dec 2019, at 11:02, Lars Kurth <lars.kurth@citrix.com> wrote:
>=20
>=20
>=20
> =EF=BB=BFOn 06/12/2019, 09:51, "Jan Beulich" <jbeulich@suse.com =
<mailto:jbeulich@suse.com>> wrote:
>=20
>    On 06.12.2019 00:41, Lars Kurth wrote:
>> I propose to add the following section to code-review-guide.md
>>=20
>> ----
>> ## <a name=3D"problems"></a>Problematic Patch Reviews
>>=20
>> A typical waterfall software development process is sequential with =
the following=20
>> steps: define requirements, analyse, design, code, test and deploy. =
Problems=20
>> uncovered by code review or testing at such a late stage can cause =
costly redesign=20
>> and delays. The principle of **[Shift =
Left](https://devopedia.org/shift-left)** is to take a=20
>> task that is traditionally performed at a late stage in the process =
and perform that task=20
>> at earlier stages. The goal is to save time by avoiding refactoring.
>>=20
>> Typically, problematic patch reviews uncover issues such as wrong or =
missed=20
>> assumptions, a problematic architecture or design, or other bugs that =
require=20
>> significant re-implementation of a patch series to fix the issue.
>>=20
>> The principle of **Shift Left** also applies in code reviews. Let's =
assume a series has
>> a major flaw: ideally, this flaw would be picked up in the **first or =
second iteration** of=20
>> the code review. As significant parts of the code may have to be =
re-written, it does not=20
>> make sense for reviewers to highlight minor issues (such as style =
issues) until major=20
>> flaws have been addressed. By providing feedback on minor issues =
reviewers cause=20
>> the code author and themselves extra work by asking for changes to =
code, which=20
>> ultimately may be changed later.
>>=20
>> The question then becomes, how do code reviewers identify major =
issues early?=20
>> ----
>> This is where I really need help. Are there any tips and =
recommendations that we could give?
>> I can clearly highlight that we have RFC series, but in practice that =
does not solve the problem as RFCs don=E2=80=99t get prioritized
>> How do reviewers normally approach a series: do you a) take a big =
picture view first, or b) do most of you work through a series =
sequentially
>=20
>    Afaic - depends heavily on the patch / series. I wouldn't typically
>    peek ahead in a series, but it has happened. But as you say
>    (elsewhere) the cover letter should put in place the "big picture".
>    A series should generally be reviewable going from patch to patch,
>    having the cover letter in mind.
>=20
> I am wondering what others do.=20
>=20
> I think explaining the basic work-flow from the viewpoint of a =
reviewer and code author maybe in a separate section, which is not tied =
to the problem case would make sense. More input from other maintainers =
would be valuable. My gut-feel is that most reviewers "read and review" =
series sequentially, which has implications for the author. E.g.
> - docs/design docs should be at the beginning of a series
> - key header files or changes to them should be at the beginning of a =
series
> - Etc
>=20
>> I then propose to change the following section in =
communication-practice.md
>> ----
>> ### Prioritize significant flaws
>> If a patch or patch series has significant flaws, such as
>> * It is built on wrong assumptions
>> * There are issues with the architecture or the design
>=20
>    In such a case a full review of course doesn't make much sense. But
>    this is far from the typical situation. Way more often you have =
some
>    _part_ of a patch or series which has a bigger issue, but other
>    parts are in need of no or just minor changes.
>=20
> I know that this is an unusual situation. But it has happened in =
clusters frequently in the past.
>=20
> I am wondering whether we should introduce some informal convention to =
mark _part_ of a series as problematic. A simple example of how to do =
this in the cover letter would do
>=20
>> it does not make sense to do a detailed code review. In such cases, =
it is best to
>> focus on the major issues first and deal with style and minor issues =
in a subsequent
>> review. Not all series have significant flaws, but most series have =
different classes of=20
>> changes that are required for acceptance: covering a range of major =
code=20
>> modifications to minor code style fixes. To avoid misunderstandings =
between=20
>> reviewers and contributors, it is important to establish and agree =
whether a series or=20
>> part of a series has a significant flaw and agree a course of action.=20=

>>=20
>> A pragmatic approach would be to
>> * Highlight problematic portions of a series in the cover letter=20
>> * For the patch author and reviewer(s) to agree that for problematic =
to omit style and
>> minor issues in the review, until the significant flaw is addressed
>>=20
>> This saves both the patch author and reviewer(s) time. Note that some =
background
>> is covered in detail in [Problematic Patch =
Reviews](resolving-disagreement.md#problems).
>=20
>    I have no issues with the suggested text in general, but I also =
don't
>    think it makes much of a difference wrt what I had mentioned =
before.
>    I guess part of the problem here is that there are things which imo
>    you can't really give recipes for how to approach, if the =
expectation
>    is that it would fit at least the vast majority of cases.=20
>=20
> I think the document covers most of the common cases, plus some areas =
which are problematic
> * =46rom a people-interaction point-of-view - in other words there =
could be unnecessary conflict, which is bad for the community but also =
wastes time
> * =46rom an efficient usage of time point-of-view
>=20
> For example: the whole thing about thanking, appreciation, ... is =
something targeted at newcomers and a desire to treat them with more =
thought and awareness.=20
> Granted it takes more time to do a review with a newcomer, but it =
should make subsequent reviews easier=20
>=20
> It happens regularly, but not that frequently
>=20
>    For code
>    reviews this means that I don't think there should be any wording
>    suggesting they should be done in a certain form; there may be =
wording
>    suggesting they _could_ be done in a certain form (e.g. to help
>    people not knowing at all how to get started).
>=20
> That was definitely my intention. Maybe I have not succeeded in making =
this clear enough

Adding the log of a very productive IRC conversation for reference. =
Sorry for the formatting
Regards
Lars

=E2=80=B9lars_kurth=E2=80=BA     It would also be good if some =
maintainers could have a look at =
https://lists.xenproject.org/archives/html/xen-devel/2019-12/threads.html#=
00348

=E2=80=B9gwd=E2=80=BA		lars_kurth: What exactly more feedback =
did you want?

=E2=80=B9lars_kurth=E2=80=BA     gwd: primarily about maintainers =
workflow. How do you approach a review. Is there anything a code author =
can do. Right now, I have one data point from Jan. I basically want to =
validate my assumptions before I send out another revision

=E2=80=B9lars_kurth=E2=80=BA     gwd: a code author can do to make your =
life easier =3D> e.g. by putting big picture stuff at the beginning of a =
series

=E2=80=B9lars_kurth=E2=80=BA     e.g by putting potentially =
controversial elements of it at the beginning, etc

=E2=80=B9lars_kurth=E2=80=BA     Obviously, this would only help if most =
reviewers approach a review sequentially, which is a reasonable =
assumption, but I am not actually 100% sure this is true

=E2=80=B9royger=E2=80=BA           lars_kurth: patch series must be =
reviewed sequentially, that's why it's numbered

=E2=80=B9gwd=E2=80=BA		lars_kurth: Actually it's often the case =
that you find uncontroversial side clean-up things in the course of =
doing a series; putting those at the beginning means they can be checked =
in independently of the whole series, which makes less work for everyone

=E2=80=B9gwd=E2=80=BA		They can be checked in after v1 or v2, =
and then 1) less work for authors to rebase, 2) less cognitive overhead =
for reviewers to see what's going on.

=E2=80=B9lars_kurth=E2=80=BA     royger: That is not a necessarily =
obvious conclusion - at least for me. But if it is true, we should =
clearly state that

=E2=80=B9lars_kurth=E2=80=BA     gwd: that's interesting. I guess there =
are differing objectives

=E2=80=B9royger=E2=80=BA           I don't think any maintainer/reviewer =
does review non-sequentially, as it would lead to extreme confusion. =
It's quite common for patches on a patch series to rely on the previous =
ones

=E2=80=B9royger=E2=80=BA           lars_kurth: I think it can be safely =
stated

=E2=80=B9lars_kurth=E2=80=BA     1) get uncontroversial / easy to do =
stuff first

=E2=80=B9lars_kurth=E2=80=BA     2) then put more complex things, but =
start with documents/headers/anything that is substantial to understand =
the rest of the changes - if they fit into logical units maybe repeat =
that pattern

=E2=80=B9gwd=E2=80=BA		I think every situation if different.

=E2=80=B9royger=E2=80=BA           the only time you can get non-ordered =
review is if your patch series touches multiple subsystems and you have =
properly splitted this into different patches, in that case each =
subsystem maintainer is likelky to review his ares without looking at =
other patches

=E2=80=B9gwd=E2=80=BA  royger: You're talking about checking in, not =
review I think?

=E2=80=B9gwd=E2=80=BA		Sometimes in a long series, {1,2}/10 =
will be clean-ups; {3-6}/10 will be general reorganisations which don't =
really seem to do anything; and then 7/10 will be the "meat", which =
helps you understand what {3-6}/10 were about.

=E2=80=B9lars_kurth=E2=80=BA     royger, gwd: "It's quite common for =
patches on a patch series to rely on the previous ones" - is an =
important point.

=E2=80=B9gwd=E2=80=BA		Usually it's not possible to put 7/10 =
earlier without making it far more complicated.

=E2=80=B9lars_kurth=E2=80=BA     I think the way how to best structure =
patch series is an important one, and there is practically NO =
information about this. So people learn stuff by trial and error. So I =
think it is worth exploring that

=E2=80=B9gwd=E2=80=BA		It's a bit like saying, "How do you =
teach someone something", or "How do you make an argument to convince =
someone of something". There are patterns, but it's so broad a topic you =
can't really give direct advice.

=E2=80=B9lars_kurth=E2=80=BA     gwd: maybe showing some examples will =
help. I think the problem is that cover letters frequently don't help =
much

=E2=80=B9Diziet=E2=80=BA 		I think what you just said above =
"Sometimes in a long series," would be a very useful thing to put in as =
a general rule.

=E2=80=B9Diziet=E2=80=BA 		gwd: ^

=E2=80=B9Diziet=E2=80=BA 		Sometimes some of these pieces =
will be empty.

=E2=80=B9Diziet=E2=80=BA 		1. cleanups 2. reorgs 3. =
headers/docs/etc. 4. meat 5. cleaning up any infelicities introduced =
temporarily 6. deleting old code

=E2=80=B9Diziet=E2=80=BA 		If there are multiple subsystems =
involved, then these are best separated out where possible, so you end =
up with those 6 categories x N subsystems.

=E2=80=B9gwd=E2=80=BA  		Of course, sometimes there are several =
"meat" patches, which could be ordered in different ways; and then you =
may want to put reorgs in between the meat patches.

=E2=80=B9gwd=E2=80=BA  		The XSA-299 series is an example of =
that.

=E2=80=B9Diziet=E2=80=BA 		In this context I am reminded of =
https://www.chiark.greenend.org.uk/pipermail/sgo-software-discuss/2019/000=
616.html My main achievement for the weekend, in a personal project.

=E2=80=B9gwd=E2=80=BA  		And lars_kurth could probably go back =
over the history and see the series develop; the "meat" patches were =
reorganized several times to try to find out which order created the =
most comprehensible series of individual patches.

=E2=80=B9Diziet=E2=80=BA 		Subject:  New signature key =
arrangements

=E2=80=B9gwd=E2=80=BA  		lars_kurth: And say, if you take a look =
at the golang xenlight bindings series; v1 would have been useless =
without the entire thing being checked in. It's likely that v3 I'll be =
able to check in {1..16}/22, meaning v4 will have a lot fewer patches to =
rebase / recheck.

=E2=80=B9Diziet=E2=80=BA 		I'm not suggesting it as an =
example in this context because I have done much less squashing than =
would be usual in a community like Xen where we have many more reviewers =
so the goal of making review easy and comprehensible is more important =
relative to the goal of later understanding what the original programmer =
was thinking when they wrote soemthing.

=E2=80=B9lars_kurth=E2=80=BA     This is very useful. I think this is =
the missing piece

=E2=80=B9Diziet=E2=80=BA 		But we should provide some =
examples. Do we have good example cover letters we could use ?

=E2=80=B9Diziet=E2=80=BA 		I'm sure there are some libxl =
ones but ideally we would have an example touching multiple subsystems. =
And one which wasn't affected by release constraints.

=E2=80=B9lars_kurth=E2=80=BA     That would be good. Maybe I can write =
something up and put a place-holder in place for good examples, if we =
can't think of one now

=E2=80=B9jbeulich=E2=80=BA         gwd, lars_kurth: The opposite case =
(cleanups last) would often be preferable for series where the "meat" =
one(s) are to be backported, but the cleanups aren't.

=E2=80=B9lars_kurth=E2=80=BA     jbeulich: interesting point. Do you =
have an example?

=E2=80=B9jbeulich=E2=80=BA         An example of what? A series where we =
asked for re-ordering because of the above? If so, I don't think I could =
easily spot one.

=E2=80=B9jbeulich=E2=80=BA         I can tell you though that the above =
is what I would typically do. Most prominently for security fixes *where =
the cleanup is being held back altogether).

=E2=80=B9lars_kurth=E2=80=BA     jbeulich: I will try and put something =
together. I think I have enough to go on

=20




--Apple-Mail=_086483F7-9100-4156-A917-C1AC5ED6F3D3
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=utf-8

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html; =
charset=3Dutf-8"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; line-break: after-white-space;" class=3D""><br =
class=3D""><div><br class=3D""><blockquote type=3D"cite" class=3D""><div =
class=3D"">On 9 Dec 2019, at 11:02, Lars Kurth &lt;<a =
href=3D"mailto:lars.kurth@citrix.com" =
class=3D"">lars.kurth@citrix.com</a>&gt; wrote:</div><br =
class=3D"Apple-interchange-newline"><div class=3D""><br =
style=3D"caret-color: rgb(0, 0, 0); font-family: Menlo-Regular; =
font-size: 11px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><br style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none; float: none; display: inline !important;" class=3D"">=EF=BB=BFOn =
06/12/2019, 09:51, "Jan Beulich" &lt;</span><a =
href=3D"mailto:jbeulich@suse.com" style=3D"font-family: Menlo-Regular; =
font-size: 11px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; orphans: auto; text-align: =
start; text-indent: 0px; text-transform: none; white-space: normal; =
widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; =
-webkit-text-stroke-width: 0px;" class=3D"">jbeulich@suse.com</a><span =
style=3D"caret-color: rgb(0, 0, 0); font-family: Menlo-Regular; =
font-size: 11px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none; float: none; display: inline !important;" class=3D"">&gt; =
wrote:</span><br style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><br style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none; float: none; display: inline !important;" =
class=3D"">&nbsp;&nbsp;&nbsp;On 06.12.2019 00:41, Lars Kurth =
wrote:</span><br style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><blockquote type=3D"cite" style=3D"font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; orphans: auto; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; =
-webkit-text-stroke-width: 0px; text-decoration: none;" class=3D"">I =
propose to add the following section to code-review-guide.md<br =
class=3D""><br class=3D"">----<br class=3D"">## &lt;a =
name=3D"problems"&gt;&lt;/a&gt;Problematic Patch Reviews<br class=3D""><br=
 class=3D"">A typical waterfall software development process is =
sequential with the following<span =
class=3D"Apple-converted-space">&nbsp;</span><br class=3D"">steps: =
define requirements, analyse, design, code, test and deploy. =
Problems<span class=3D"Apple-converted-space">&nbsp;</span><br =
class=3D"">uncovered by code review or testing at such a late stage can =
cause costly redesign<span =
class=3D"Apple-converted-space">&nbsp;</span><br class=3D"">and delays. =
The principle of **[Shift Left](<a =
href=3D"https://devopedia.org/shift-left" =
class=3D"">https://devopedia.org/shift-left</a>)** is to take a<span =
class=3D"Apple-converted-space">&nbsp;</span><br class=3D"">task that is =
traditionally performed at a late stage in the process and perform that =
task<span class=3D"Apple-converted-space">&nbsp;</span><br class=3D"">at =
earlier stages. The goal is to save time by avoiding refactoring.<br =
class=3D""><br class=3D"">Typically, problematic patch reviews uncover =
issues such as wrong or missed<span =
class=3D"Apple-converted-space">&nbsp;</span><br class=3D"">assumptions, =
a problematic architecture or design, or other bugs that require<span =
class=3D"Apple-converted-space">&nbsp;</span><br class=3D"">significant =
re-implementation of a patch series to fix the issue.<br class=3D""><br =
class=3D"">The principle of **Shift Left** also applies in code reviews. =
Let's assume a series has<br class=3D"">a major flaw: ideally, this flaw =
would be picked up in the **first or second iteration** of<span =
class=3D"Apple-converted-space">&nbsp;</span><br class=3D"">the code =
review. As significant parts of the code may have to be re-written, it =
does not<span class=3D"Apple-converted-space">&nbsp;</span><br =
class=3D"">make sense for reviewers to highlight minor issues (such as =
style issues) until major<span =
class=3D"Apple-converted-space">&nbsp;</span><br class=3D"">flaws have =
been addressed. By providing feedback on minor issues reviewers =
cause<span class=3D"Apple-converted-space">&nbsp;</span><br class=3D"">the=
 code author and themselves extra work by asking for changes to code, =
which<span class=3D"Apple-converted-space">&nbsp;</span><br =
class=3D"">ultimately may be changed later.<br class=3D""><br =
class=3D"">The question then becomes, how do code reviewers identify =
major issues early?<span class=3D"Apple-converted-space">&nbsp;</span><br =
class=3D"">----<br class=3D"">This is where I really need help. Are =
there any tips and recommendations that we could give?<br class=3D"">I =
can clearly highlight that we have RFC series, but in practice that does =
not solve the problem as RFCs don=E2=80=99t get prioritized<br =
class=3D"">How do reviewers normally approach a series: do you a) take a =
big picture view first, or b) do most of you work through a series =
sequentially<br class=3D""></blockquote><br style=3D"caret-color: rgb(0, =
0, 0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><span style=3D"caret-color: rgb(0, 0, =
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; float: none; display: inline !important;" =
class=3D"">&nbsp;&nbsp;&nbsp;Afaic - depends heavily on the patch / =
series. I wouldn't typically</span><br style=3D"caret-color: rgb(0, 0, =
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><span style=3D"caret-color: rgb(0, 0, =
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; float: none; display: inline !important;" =
class=3D"">&nbsp;&nbsp;&nbsp;peek ahead in a series, but it has =
happened. But as you say</span><br style=3D"caret-color: rgb(0, 0, 0); =
font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><span style=3D"caret-color: rgb(0, 0, =
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; float: none; display: inline !important;" =
class=3D"">&nbsp;&nbsp;&nbsp;(elsewhere) the cover letter should put in =
place the "big picture".</span><br style=3D"caret-color: rgb(0, 0, 0); =
font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><span style=3D"caret-color: rgb(0, 0, =
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; float: none; display: inline !important;" =
class=3D"">&nbsp;&nbsp;&nbsp;A series should generally be reviewable =
going from patch to patch,</span><br style=3D"caret-color: rgb(0, 0, 0); =
font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><span style=3D"caret-color: rgb(0, 0, =
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; float: none; display: inline !important;" =
class=3D"">&nbsp;&nbsp;&nbsp;having the cover letter in mind.</span><br =
style=3D"caret-color: rgb(0, 0, 0); font-family: Menlo-Regular; =
font-size: 11px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><br style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none; float: none; display: inline !important;" class=3D"">I am =
wondering what others do.<span =
class=3D"Apple-converted-space">&nbsp;</span></span><br =
style=3D"caret-color: rgb(0, 0, 0); font-family: Menlo-Regular; =
font-size: 11px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><br style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none; float: none; display: inline !important;" class=3D"">I think =
explaining the basic work-flow from the viewpoint of a reviewer and code =
author maybe in a separate section, which is not tied to the problem =
case would make sense. More input from other maintainers would be =
valuable. My gut-feel is that most reviewers "read and review" series =
sequentially, which has implications for the author. E.g.</span><br =
style=3D"caret-color: rgb(0, 0, 0); font-family: Menlo-Regular; =
font-size: 11px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none; float: none; display: inline !important;" class=3D"">- docs/design =
docs should be at the beginning of a series</span><br =
style=3D"caret-color: rgb(0, 0, 0); font-family: Menlo-Regular; =
font-size: 11px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none; float: none; display: inline !important;" class=3D"">- key header =
files or changes to them should be at the beginning of a =
series</span><br style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none; float: none; display: inline !important;" class=3D"">- =
Etc</span><br style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><br style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><blockquote type=3D"cite" style=3D"font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; orphans: auto; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; =
-webkit-text-stroke-width: 0px; text-decoration: none;" class=3D"">I =
then propose to change the following section in =
communication-practice.md<br class=3D"">----<br class=3D"">### =
Prioritize significant flaws<br class=3D"">If a patch or patch series =
has significant flaws, such as<br class=3D"">* It is built on wrong =
assumptions<br class=3D"">* There are issues with the architecture or =
the design<br class=3D""></blockquote><br style=3D"caret-color: rgb(0, =
0, 0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><span style=3D"caret-color: rgb(0, 0, =
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; float: none; display: inline !important;" =
class=3D"">&nbsp;&nbsp;&nbsp;In such a case a full review of course =
doesn't make much sense. But</span><br style=3D"caret-color: rgb(0, 0, =
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><span style=3D"caret-color: rgb(0, 0, =
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; float: none; display: inline !important;" =
class=3D"">&nbsp;&nbsp;&nbsp;this is far from the typical situation. Way =
more often you have some</span><br style=3D"caret-color: rgb(0, 0, 0); =
font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><span style=3D"caret-color: rgb(0, 0, =
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; float: none; display: inline !important;" =
class=3D"">&nbsp;&nbsp;&nbsp;_part_ of a patch or series which has a =
bigger issue, but other</span><br style=3D"caret-color: rgb(0, 0, 0); =
font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><span style=3D"caret-color: rgb(0, 0, =
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; float: none; display: inline !important;" =
class=3D"">&nbsp;&nbsp;&nbsp;parts are in need of no or just minor =
changes.</span><br style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><br style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none; float: none; display: inline !important;" class=3D"">I know that =
this is an unusual situation. But it has happened in clusters frequently =
in the past.</span><br style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><br style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none; float: none; display: inline !important;" class=3D"">I am =
wondering whether we should introduce some informal convention to mark =
_part_ of a series as problematic. A simple example of how to do this in =
the cover letter would do</span><br style=3D"caret-color: rgb(0, 0, 0); =
font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><br style=3D"caret-color: rgb(0, 0, =
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><blockquote type=3D"cite" =
style=3D"font-family: Menlo-Regular; font-size: 11px; font-style: =
normal; font-variant-caps: normal; font-weight: normal; letter-spacing: =
normal; orphans: auto; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; widows: auto; word-spacing: =
0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D"">it does not make sense to do a =
detailed code review. In such cases, it is best to<br class=3D"">focus =
on the major issues first and deal with style and minor issues in a =
subsequent<br class=3D"">review. Not all series have significant flaws, =
but most series have different classes of<span =
class=3D"Apple-converted-space">&nbsp;</span><br class=3D"">changes that =
are required for acceptance: covering a range of major code<span =
class=3D"Apple-converted-space">&nbsp;</span><br class=3D"">modifications =
to minor code style fixes. To avoid misunderstandings between<span =
class=3D"Apple-converted-space">&nbsp;</span><br class=3D"">reviewers =
and contributors, it is important to establish and agree whether a =
series or<span class=3D"Apple-converted-space">&nbsp;</span><br =
class=3D"">part of a series has a significant flaw and agree a course of =
action.<span class=3D"Apple-converted-space">&nbsp;</span><br =
class=3D""><br class=3D"">A pragmatic approach would be to<br class=3D"">*=
 Highlight problematic portions of a series in the cover letter<span =
class=3D"Apple-converted-space">&nbsp;</span><br class=3D"">* For the =
patch author and reviewer(s) to agree that for problematic to omit style =
and<br class=3D"">minor issues in the review, until the significant flaw =
is addressed<br class=3D""><br class=3D"">This saves both the patch =
author and reviewer(s) time. Note that some background<br class=3D"">is =
covered in detail in [Problematic Patch =
Reviews](resolving-disagreement.md#problems).<br =
class=3D""></blockquote><br style=3D"caret-color: rgb(0, 0, 0); =
font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><span style=3D"caret-color: rgb(0, 0, =
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; float: none; display: inline !important;" =
class=3D"">&nbsp;&nbsp;&nbsp;I have no issues with the suggested text in =
general, but I also don't</span><br style=3D"caret-color: rgb(0, 0, 0); =
font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><span style=3D"caret-color: rgb(0, 0, =
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; float: none; display: inline !important;" =
class=3D"">&nbsp;&nbsp;&nbsp;think it makes much of a difference wrt =
what I had mentioned before.</span><br style=3D"caret-color: rgb(0, 0, =
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><span style=3D"caret-color: rgb(0, 0, =
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; float: none; display: inline !important;" =
class=3D"">&nbsp;&nbsp;&nbsp;I guess part of the problem here is that =
there are things which imo</span><br style=3D"caret-color: rgb(0, 0, 0); =
font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><span style=3D"caret-color: rgb(0, 0, =
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; float: none; display: inline !important;" =
class=3D"">&nbsp;&nbsp;&nbsp;you can't really give recipes for how to =
approach, if the expectation</span><br style=3D"caret-color: rgb(0, 0, =
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><span style=3D"caret-color: rgb(0, 0, =
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; float: none; display: inline !important;" =
class=3D"">&nbsp;&nbsp;&nbsp;is that it would fit at least the vast =
majority of cases.<span =
class=3D"Apple-converted-space">&nbsp;</span></span><br =
style=3D"caret-color: rgb(0, 0, 0); font-family: Menlo-Regular; =
font-size: 11px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><br style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none; float: none; display: inline !important;" class=3D"">I think the =
document covers most of the common cases, plus some areas which are =
problematic</span><br style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none; float: none; display: inline !important;" class=3D"">* =46rom a =
people-interaction point-of-view - in other words there could be =
unnecessary conflict, which is bad for the community but also wastes =
time</span><br style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none; float: none; display: inline !important;" class=3D"">* =46rom an =
efficient usage of time point-of-view</span><br style=3D"caret-color: =
rgb(0, 0, 0); font-family: Menlo-Regular; font-size: 11px; font-style: =
normal; font-variant-caps: normal; font-weight: normal; letter-spacing: =
normal; text-align: start; text-indent: 0px; text-transform: none; =
white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><br style=3D"caret-color: rgb(0, 0, =
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><span style=3D"caret-color: rgb(0, 0, =
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; float: none; display: inline !important;" =
class=3D"">For example: the whole thing about thanking, appreciation, =
... is something targeted at newcomers and a desire to treat them with =
more thought and awareness.<span =
class=3D"Apple-converted-space">&nbsp;</span></span><br =
style=3D"caret-color: rgb(0, 0, 0); font-family: Menlo-Regular; =
font-size: 11px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none; float: none; display: inline !important;" class=3D"">Granted it =
takes more time to do a review with a newcomer, but it should make =
subsequent reviews easier<span =
class=3D"Apple-converted-space">&nbsp;</span></span><br =
style=3D"caret-color: rgb(0, 0, 0); font-family: Menlo-Regular; =
font-size: 11px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><br style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none; float: none; display: inline !important;" class=3D"">It happens =
regularly, but not that frequently</span><br style=3D"caret-color: =
rgb(0, 0, 0); font-family: Menlo-Regular; font-size: 11px; font-style: =
normal; font-variant-caps: normal; font-weight: normal; letter-spacing: =
normal; text-align: start; text-indent: 0px; text-transform: none; =
white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><br style=3D"caret-color: rgb(0, 0, =
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><span style=3D"caret-color: rgb(0, 0, =
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; float: none; display: inline !important;" =
class=3D"">&nbsp;&nbsp;&nbsp;For code</span><br style=3D"caret-color: =
rgb(0, 0, 0); font-family: Menlo-Regular; font-size: 11px; font-style: =
normal; font-variant-caps: normal; font-weight: normal; letter-spacing: =
normal; text-align: start; text-indent: 0px; text-transform: none; =
white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><span style=3D"caret-color: rgb(0, 0, =
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; float: none; display: inline !important;" =
class=3D"">&nbsp;&nbsp;&nbsp;reviews this means that I don't think there =
should be any wording</span><br style=3D"caret-color: rgb(0, 0, 0); =
font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><span style=3D"caret-color: rgb(0, 0, =
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; float: none; display: inline !important;" =
class=3D"">&nbsp;&nbsp;&nbsp;suggesting they should be done in a certain =
form; there may be wording</span><br style=3D"caret-color: rgb(0, 0, 0); =
font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><span style=3D"caret-color: rgb(0, 0, =
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; float: none; display: inline !important;" =
class=3D"">&nbsp;&nbsp;&nbsp;suggesting they _could_ be done in a =
certain form (e.g. to help</span><br style=3D"caret-color: rgb(0, 0, 0); =
font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""><span style=3D"caret-color: rgb(0, 0, =
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; float: none; display: inline !important;" =
class=3D"">&nbsp;&nbsp;&nbsp;people not knowing at all how to get =
started).</span><br style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><br style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none; float: none; display: inline !important;" class=3D"">That was =
definitely my intention. Maybe I have not succeeded in making this clear =
enough</span><br style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""></div></blockquote></div><br class=3D""><div =
class=3D"">Adding the log of a very productive IRC conversation for =
reference. Sorry for the formatting</div><div class=3D"">Regards</div><div=
 class=3D"">Lars</div><div class=3D""><br class=3D""></div><div =
class=3D"">




<!--[if gte mso 9]><xml>
 <o:OfficeDocumentSettings>
  <o:AllowPNG/>
 </o:OfficeDocumentSettings>
</xml><![endif]-->


<!--[if gte mso 9]><xml>
 <w:WordDocument>
  <w:View>Normal</w:View>
  <w:Zoom>0</w:Zoom>
  <w:TrackMoves/>
  <w:TrackFormatting/>
  <w:PunctuationKerning/>
  <w:ValidateAgainstSchemas/>
  <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
  <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
  <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
  <w:DoNotPromoteQF/>
  <w:LidThemeOther>EN-GB</w:LidThemeOther>
  <w:LidThemeAsian>ZH-CN</w:LidThemeAsian>
  <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
  <w:Compatibility>
   <w:BreakWrappedTables/>
   <w:SnapToGridInCell/>
   <w:WrapTextWithPunct/>
   <w:UseAsianBreakRules/>
   <w:DontGrowAutofit/>
   <w:SplitPgBreakAndParaMark/>
   <w:EnableOpenTypeKerning/>
   <w:DontFlipMirrorIndents/>
   <w:OverrideTableStyleHps/>
  </w:Compatibility>
  <m:mathPr>
   <m:mathFont m:val=3D"Cambria Math"/>
   <m:brkBin m:val=3D"before"/>
   <m:brkBinSub m:val=3D"&#45;-"/>
   <m:smallFrac m:val=3D"off"/>
   <m:dispDef/>
   <m:lMargin m:val=3D"0"/>
   <m:rMargin m:val=3D"0"/>
   <m:defJc m:val=3D"centerGroup"/>
   <m:wrapIndent m:val=3D"1440"/>
   <m:intLim m:val=3D"subSup"/>
   <m:naryLim m:val=3D"undOvr"/>
  </m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <w:LatentStyles DefLockedState=3D"false" DefUnhideWhenUsed=3D"false"
  DefSemiHidden=3D"false" DefQFormat=3D"false" DefPriority=3D"99"
  LatentStyleCount=3D"375">
  <w:LsdException Locked=3D"false" Priority=3D"0" QFormat=3D"true" =
Name=3D"Normal"/>
  <w:LsdException Locked=3D"false" Priority=3D"9" QFormat=3D"true" =
Name=3D"heading 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"9" SemiHidden=3D"true"
   UnhideWhenUsed=3D"true" QFormat=3D"true" Name=3D"heading 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"9" SemiHidden=3D"true"
   UnhideWhenUsed=3D"true" QFormat=3D"true" Name=3D"heading 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"9" SemiHidden=3D"true"
   UnhideWhenUsed=3D"true" QFormat=3D"true" Name=3D"heading 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"9" SemiHidden=3D"true"
   UnhideWhenUsed=3D"true" QFormat=3D"true" Name=3D"heading 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"9" SemiHidden=3D"true"
   UnhideWhenUsed=3D"true" QFormat=3D"true" Name=3D"heading 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"9" SemiHidden=3D"true"
   UnhideWhenUsed=3D"true" QFormat=3D"true" Name=3D"heading 7"/>
  <w:LsdException Locked=3D"false" Priority=3D"9" SemiHidden=3D"true"
   UnhideWhenUsed=3D"true" QFormat=3D"true" Name=3D"heading 8"/>
  <w:LsdException Locked=3D"false" Priority=3D"9" SemiHidden=3D"true"
   UnhideWhenUsed=3D"true" QFormat=3D"true" Name=3D"heading 9"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"index 1"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"index 2"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"index 3"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"index 4"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"index 5"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"index 6"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"index 7"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"index 8"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"index 9"/>
  <w:LsdException Locked=3D"false" Priority=3D"39" SemiHidden=3D"true"
   UnhideWhenUsed=3D"true" Name=3D"toc 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"39" SemiHidden=3D"true"
   UnhideWhenUsed=3D"true" Name=3D"toc 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"39" SemiHidden=3D"true"
   UnhideWhenUsed=3D"true" Name=3D"toc 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"39" SemiHidden=3D"true"
   UnhideWhenUsed=3D"true" Name=3D"toc 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"39" SemiHidden=3D"true"
   UnhideWhenUsed=3D"true" Name=3D"toc 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"39" SemiHidden=3D"true"
   UnhideWhenUsed=3D"true" Name=3D"toc 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"39" SemiHidden=3D"true"
   UnhideWhenUsed=3D"true" Name=3D"toc 7"/>
  <w:LsdException Locked=3D"false" Priority=3D"39" SemiHidden=3D"true"
   UnhideWhenUsed=3D"true" Name=3D"toc 8"/>
  <w:LsdException Locked=3D"false" Priority=3D"39" SemiHidden=3D"true"
   UnhideWhenUsed=3D"true" Name=3D"toc 9"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Normal Indent"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"footnote text"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"annotation text"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"header"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"footer"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"index heading"/>
  <w:LsdException Locked=3D"false" Priority=3D"35" SemiHidden=3D"true"
   UnhideWhenUsed=3D"true" QFormat=3D"true" Name=3D"caption"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"table of figures"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"envelope address"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"envelope return"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"footnote reference"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"annotation reference"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"line number"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"page number"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"endnote reference"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"endnote text"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"table of authorities"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"macro"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"toa heading"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"List"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"List Bullet"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"List Number"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"List 2"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"List 3"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"List 4"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"List 5"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"List Bullet 2"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"List Bullet 3"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"List Bullet 4"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"List Bullet 5"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"List Number 2"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"List Number 3"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"List Number 4"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"List Number 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"10" QFormat=3D"true" =
Name=3D"Title"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Closing"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Signature"/>
  <w:LsdException Locked=3D"false" Priority=3D"1" SemiHidden=3D"true"
   UnhideWhenUsed=3D"true" Name=3D"Default Paragraph Font"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Body Text"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Body Text Indent"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"List Continue"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"List Continue 2"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"List Continue 3"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"List Continue 4"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"List Continue 5"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Message Header"/>
  <w:LsdException Locked=3D"false" Priority=3D"11" QFormat=3D"true" =
Name=3D"Subtitle"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Salutation"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Date"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Body Text First Indent"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Body Text First Indent 2"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Note Heading"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Body Text 2"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Body Text 3"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Body Text Indent 2"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Body Text Indent 3"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Block Text"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Hyperlink"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"FollowedHyperlink"/>
  <w:LsdException Locked=3D"false" Priority=3D"22" QFormat=3D"true" =
Name=3D"Strong"/>
  <w:LsdException Locked=3D"false" Priority=3D"20" QFormat=3D"true" =
Name=3D"Emphasis"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Document Map"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Plain Text"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"E-mail Signature"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"HTML Top of Form"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"HTML Bottom of Form"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Normal (Web)"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"HTML Acronym"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"HTML Address"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"HTML Cite"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"HTML Code"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"HTML Definition"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"HTML Keyboard"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"HTML Preformatted"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"HTML Sample"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"HTML Typewriter"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"HTML Variable"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Normal Table"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"annotation subject"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"No List"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Outline List 1"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Outline List 2"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Outline List 3"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Simple 1"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Simple 2"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Simple 3"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Classic 1"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Classic 2"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Classic 3"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Classic 4"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Colorful 1"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Colorful 2"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Colorful 3"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Columns 1"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Columns 2"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Columns 3"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Columns 4"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Columns 5"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Grid 1"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Grid 2"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Grid 3"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Grid 4"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Grid 5"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Grid 6"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Grid 7"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Grid 8"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table List 1"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table List 2"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table List 3"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table List 4"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table List 5"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table List 6"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table List 7"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table List 8"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table 3D effects 1"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table 3D effects 2"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table 3D effects 3"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Contemporary"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Elegant"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Professional"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Subtle 1"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Subtle 2"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Web 1"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Web 2"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Web 3"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Balloon Text"/>
  <w:LsdException Locked=3D"false" Priority=3D"39" Name=3D"Table Grid"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Table Theme"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" Name=3D"Placeholder=
 Text"/>
  <w:LsdException Locked=3D"false" Priority=3D"1" QFormat=3D"true" =
Name=3D"No Spacing"/>
  <w:LsdException Locked=3D"false" Priority=3D"60" Name=3D"Light =
Shading"/>
  <w:LsdException Locked=3D"false" Priority=3D"61" Name=3D"Light List"/>
  <w:LsdException Locked=3D"false" Priority=3D"62" Name=3D"Light Grid"/>
  <w:LsdException Locked=3D"false" Priority=3D"63" Name=3D"Medium =
Shading 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"64" Name=3D"Medium =
Shading 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"65" Name=3D"Medium List =
1"/>
  <w:LsdException Locked=3D"false" Priority=3D"66" Name=3D"Medium List =
2"/>
  <w:LsdException Locked=3D"false" Priority=3D"67" Name=3D"Medium Grid =
1"/>
  <w:LsdException Locked=3D"false" Priority=3D"68" Name=3D"Medium Grid =
2"/>
  <w:LsdException Locked=3D"false" Priority=3D"69" Name=3D"Medium Grid =
3"/>
  <w:LsdException Locked=3D"false" Priority=3D"70" Name=3D"Dark List"/>
  <w:LsdException Locked=3D"false" Priority=3D"71" Name=3D"Colorful =
Shading"/>
  <w:LsdException Locked=3D"false" Priority=3D"72" Name=3D"Colorful =
List"/>
  <w:LsdException Locked=3D"false" Priority=3D"73" Name=3D"Colorful =
Grid"/>
  <w:LsdException Locked=3D"false" Priority=3D"60" Name=3D"Light Shading =
Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"61" Name=3D"Light List =
Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"62" Name=3D"Light Grid =
Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"63" Name=3D"Medium =
Shading 1 Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"64" Name=3D"Medium =
Shading 2 Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"65" Name=3D"Medium List 1 =
Accent 1"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" Name=3D"Revision"/>=

  <w:LsdException Locked=3D"false" Priority=3D"34" QFormat=3D"true"
   Name=3D"List Paragraph"/>
  <w:LsdException Locked=3D"false" Priority=3D"29" QFormat=3D"true" =
Name=3D"Quote"/>
  <w:LsdException Locked=3D"false" Priority=3D"30" QFormat=3D"true"
   Name=3D"Intense Quote"/>
  <w:LsdException Locked=3D"false" Priority=3D"66" Name=3D"Medium List 2 =
Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"67" Name=3D"Medium Grid 1 =
Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"68" Name=3D"Medium Grid 2 =
Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"69" Name=3D"Medium Grid 3 =
Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"70" Name=3D"Dark List =
Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"71" Name=3D"Colorful =
Shading Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"72" Name=3D"Colorful List =
Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"73" Name=3D"Colorful Grid =
Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"60" Name=3D"Light Shading =
Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"61" Name=3D"Light List =
Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"62" Name=3D"Light Grid =
Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"63" Name=3D"Medium =
Shading 1 Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"64" Name=3D"Medium =
Shading 2 Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"65" Name=3D"Medium List 1 =
Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"66" Name=3D"Medium List 2 =
Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"67" Name=3D"Medium Grid 1 =
Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"68" Name=3D"Medium Grid 2 =
Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"69" Name=3D"Medium Grid 3 =
Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"70" Name=3D"Dark List =
Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"71" Name=3D"Colorful =
Shading Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"72" Name=3D"Colorful List =
Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"73" Name=3D"Colorful Grid =
Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"60" Name=3D"Light Shading =
Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"61" Name=3D"Light List =
Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"62" Name=3D"Light Grid =
Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"63" Name=3D"Medium =
Shading 1 Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"64" Name=3D"Medium =
Shading 2 Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"65" Name=3D"Medium List 1 =
Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"66" Name=3D"Medium List 2 =
Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"67" Name=3D"Medium Grid 1 =
Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"68" Name=3D"Medium Grid 2 =
Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"69" Name=3D"Medium Grid 3 =
Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"70" Name=3D"Dark List =
Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"71" Name=3D"Colorful =
Shading Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"72" Name=3D"Colorful List =
Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"73" Name=3D"Colorful Grid =
Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"60" Name=3D"Light Shading =
Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"61" Name=3D"Light List =
Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"62" Name=3D"Light Grid =
Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"63" Name=3D"Medium =
Shading 1 Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"64" Name=3D"Medium =
Shading 2 Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"65" Name=3D"Medium List 1 =
Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"66" Name=3D"Medium List 2 =
Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"67" Name=3D"Medium Grid 1 =
Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"68" Name=3D"Medium Grid 2 =
Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"69" Name=3D"Medium Grid 3 =
Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"70" Name=3D"Dark List =
Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"71" Name=3D"Colorful =
Shading Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"72" Name=3D"Colorful List =
Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"73" Name=3D"Colorful Grid =
Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"60" Name=3D"Light Shading =
Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"61" Name=3D"Light List =
Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"62" Name=3D"Light Grid =
Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"63" Name=3D"Medium =
Shading 1 Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"64" Name=3D"Medium =
Shading 2 Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"65" Name=3D"Medium List 1 =
Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"66" Name=3D"Medium List 2 =
Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"67" Name=3D"Medium Grid 1 =
Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"68" Name=3D"Medium Grid 2 =
Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"69" Name=3D"Medium Grid 3 =
Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"70" Name=3D"Dark List =
Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"71" Name=3D"Colorful =
Shading Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"72" Name=3D"Colorful List =
Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"73" Name=3D"Colorful Grid =
Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"60" Name=3D"Light Shading =
Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"61" Name=3D"Light List =
Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"62" Name=3D"Light Grid =
Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"63" Name=3D"Medium =
Shading 1 Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"64" Name=3D"Medium =
Shading 2 Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"65" Name=3D"Medium List 1 =
Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"66" Name=3D"Medium List 2 =
Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"67" Name=3D"Medium Grid 1 =
Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"68" Name=3D"Medium Grid 2 =
Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"69" Name=3D"Medium Grid 3 =
Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"70" Name=3D"Dark List =
Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"71" Name=3D"Colorful =
Shading Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"72" Name=3D"Colorful List =
Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"73" Name=3D"Colorful Grid =
Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"19" QFormat=3D"true"
   Name=3D"Subtle Emphasis"/>
  <w:LsdException Locked=3D"false" Priority=3D"21" QFormat=3D"true"
   Name=3D"Intense Emphasis"/>
  <w:LsdException Locked=3D"false" Priority=3D"31" QFormat=3D"true"
   Name=3D"Subtle Reference"/>
  <w:LsdException Locked=3D"false" Priority=3D"32" QFormat=3D"true"
   Name=3D"Intense Reference"/>
  <w:LsdException Locked=3D"false" Priority=3D"33" QFormat=3D"true" =
Name=3D"Book Title"/>
  <w:LsdException Locked=3D"false" Priority=3D"37" SemiHidden=3D"true"
   UnhideWhenUsed=3D"true" Name=3D"Bibliography"/>
  <w:LsdException Locked=3D"false" Priority=3D"39" SemiHidden=3D"true"
   UnhideWhenUsed=3D"true" QFormat=3D"true" Name=3D"TOC Heading"/>
  <w:LsdException Locked=3D"false" Priority=3D"41" Name=3D"Plain Table =
1"/>
  <w:LsdException Locked=3D"false" Priority=3D"42" Name=3D"Plain Table =
2"/>
  <w:LsdException Locked=3D"false" Priority=3D"43" Name=3D"Plain Table =
3"/>
  <w:LsdException Locked=3D"false" Priority=3D"44" Name=3D"Plain Table =
4"/>
  <w:LsdException Locked=3D"false" Priority=3D"45" Name=3D"Plain Table =
5"/>
  <w:LsdException Locked=3D"false" Priority=3D"40" Name=3D"Grid Table =
Light"/>
  <w:LsdException Locked=3D"false" Priority=3D"46" Name=3D"Grid Table 1 =
Light"/>
  <w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"Grid Table =
2"/>
  <w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"Grid Table =
3"/>
  <w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"Grid Table =
4"/>
  <w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"Grid Table 5 =
Dark"/>
  <w:LsdException Locked=3D"false" Priority=3D"51" Name=3D"Grid Table 6 =
Colorful"/>
  <w:LsdException Locked=3D"false" Priority=3D"52" Name=3D"Grid Table 7 =
Colorful"/>
  <w:LsdException Locked=3D"false" Priority=3D"46"
   Name=3D"Grid Table 1 Light Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"Grid Table 2 =
Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"Grid Table 3 =
Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"Grid Table 4 =
Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"Grid Table 5 =
Dark Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"51"
   Name=3D"Grid Table 6 Colorful Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"52"
   Name=3D"Grid Table 7 Colorful Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"46"
   Name=3D"Grid Table 1 Light Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"Grid Table 2 =
Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"Grid Table 3 =
Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"Grid Table 4 =
Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"Grid Table 5 =
Dark Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"51"
   Name=3D"Grid Table 6 Colorful Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"52"
   Name=3D"Grid Table 7 Colorful Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"46"
   Name=3D"Grid Table 1 Light Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"Grid Table 2 =
Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"Grid Table 3 =
Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"Grid Table 4 =
Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"Grid Table 5 =
Dark Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"51"
   Name=3D"Grid Table 6 Colorful Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"52"
   Name=3D"Grid Table 7 Colorful Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"46"
   Name=3D"Grid Table 1 Light Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"Grid Table 2 =
Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"Grid Table 3 =
Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"Grid Table 4 =
Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"Grid Table 5 =
Dark Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"51"
   Name=3D"Grid Table 6 Colorful Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"52"
   Name=3D"Grid Table 7 Colorful Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"46"
   Name=3D"Grid Table 1 Light Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"Grid Table 2 =
Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"Grid Table 3 =
Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"Grid Table 4 =
Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"Grid Table 5 =
Dark Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"51"
   Name=3D"Grid Table 6 Colorful Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"52"
   Name=3D"Grid Table 7 Colorful Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"46"
   Name=3D"Grid Table 1 Light Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"Grid Table 2 =
Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"Grid Table 3 =
Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"Grid Table 4 =
Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"Grid Table 5 =
Dark Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"51"
   Name=3D"Grid Table 6 Colorful Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"52"
   Name=3D"Grid Table 7 Colorful Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"46" Name=3D"List Table 1 =
Light"/>
  <w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"List Table =
2"/>
  <w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"List Table =
3"/>
  <w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"List Table =
4"/>
  <w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"List Table 5 =
Dark"/>
  <w:LsdException Locked=3D"false" Priority=3D"51" Name=3D"List Table 6 =
Colorful"/>
  <w:LsdException Locked=3D"false" Priority=3D"52" Name=3D"List Table 7 =
Colorful"/>
  <w:LsdException Locked=3D"false" Priority=3D"46"
   Name=3D"List Table 1 Light Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"List Table 2 =
Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"List Table 3 =
Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"List Table 4 =
Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"List Table 5 =
Dark Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"51"
   Name=3D"List Table 6 Colorful Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"52"
   Name=3D"List Table 7 Colorful Accent 1"/>
  <w:LsdException Locked=3D"false" Priority=3D"46"
   Name=3D"List Table 1 Light Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"List Table 2 =
Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"List Table 3 =
Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"List Table 4 =
Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"List Table 5 =
Dark Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"51"
   Name=3D"List Table 6 Colorful Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"52"
   Name=3D"List Table 7 Colorful Accent 2"/>
  <w:LsdException Locked=3D"false" Priority=3D"46"
   Name=3D"List Table 1 Light Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"List Table 2 =
Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"List Table 3 =
Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"List Table 4 =
Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"List Table 5 =
Dark Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"51"
   Name=3D"List Table 6 Colorful Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"52"
   Name=3D"List Table 7 Colorful Accent 3"/>
  <w:LsdException Locked=3D"false" Priority=3D"46"
   Name=3D"List Table 1 Light Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"List Table 2 =
Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"List Table 3 =
Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"List Table 4 =
Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"List Table 5 =
Dark Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"51"
   Name=3D"List Table 6 Colorful Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"52"
   Name=3D"List Table 7 Colorful Accent 4"/>
  <w:LsdException Locked=3D"false" Priority=3D"46"
   Name=3D"List Table 1 Light Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"List Table 2 =
Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"List Table 3 =
Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"List Table 4 =
Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"List Table 5 =
Dark Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"51"
   Name=3D"List Table 6 Colorful Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"52"
   Name=3D"List Table 7 Colorful Accent 5"/>
  <w:LsdException Locked=3D"false" Priority=3D"46"
   Name=3D"List Table 1 Light Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"47" Name=3D"List Table 2 =
Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"48" Name=3D"List Table 3 =
Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"49" Name=3D"List Table 4 =
Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"50" Name=3D"List Table 5 =
Dark Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"51"
   Name=3D"List Table 6 Colorful Accent 6"/>
  <w:LsdException Locked=3D"false" Priority=3D"52"
   Name=3D"List Table 7 Colorful Accent 6"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Mention"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Smart Hyperlink"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Hashtag"/>
  <w:LsdException Locked=3D"false" SemiHidden=3D"true" =
UnhideWhenUsed=3D"true"
   Name=3D"Unresolved Mention"/>
 </w:LatentStyles>
</xml><![endif]-->

<!--[if gte mso 10]>
<style>
 /* Style Definitions */
 table.MsoNormalTable
	{mso-style-name:"Table Normal";
	mso-tstyle-rowband-size:0;
	mso-tstyle-colband-size:0;
	mso-style-noshow:yes;
	mso-style-priority:99;
	mso-style-parent:"";
	mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
	mso-para-margin:0cm;
	mso-para-margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:12.0pt;
	font-family:"Calibri",sans-serif;
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:minor-bidi;}
</style>
<![endif]-->



<!--StartFragment--><p =
class=3D"MsoNormal">=E2=80=B9lars_kurth=E2=80=BA&nbsp;&nbsp;&nbsp;&nbsp; =
It
would also be good if some maintainers could have a look at
<a =
href=3D"https://lists.xenproject.org/archives/html/xen-devel/2019-12/threa=
ds.html#00348" =
class=3D"">https://lists.xenproject.org/archives/html/xen-devel/2019-12/th=
reads.html#00348</a><o:p class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9gwd=E2=80=BA<span class=3D"Apple-tab-span" =
style=3D"white-space:pre">		</span>lars_kurth: What
exactly more feedback did you want?<o:p class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9lars_kurth=E2=80=BA&nbsp;&nbsp;&nbsp;&nbsp; =
gwd:
primarily about maintainers workflow. How do you approach a review. Is =
there
anything a code author can do. Right now, I have one data point from =
Jan. I
basically want to validate my assumptions before I send out another =
revision<o:p class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9lars_kurth=E2=80=BA&nbsp;&nbsp;&nbsp;&nbsp; =
gwd: a
code author can do to make your life easier =3D&gt; e.g. by putting big =
picture
stuff at the beginning of a series<o:p class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9lars_kurth=E2=80=BA&nbsp;&nbsp;&nbsp;&nbsp; =
e.g by
putting potentially controversial elements of it at the beginning, =
etc<o:p class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9lars_kurth=E2=80=BA&nbsp;&nbsp;&nbsp;&nbsp; =
Obviously,
this would only help if most reviewers approach a review sequentially, =
which is
a reasonable assumption, but I am not actually 100% sure this is =
true<o:p class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9royger=E2=80=BA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lars_kurth:
patch series must be reviewed sequentially, that's why it's numbered<o:p =
class=3D""></o:p></p><p class=3D"MsoNormal">=E2=80=B9gwd=E2=80=BA<span =
class=3D"Apple-tab-span" style=3D"white-space:pre">		=
</span>lars_kurth:
Actually it's often the case that you find uncontroversial side clean-up =
things
in the course of doing a series; putting those at the beginning means =
they can
be checked in independently of the whole series, which makes less work =
for
everyone<o:p class=3D""></o:p></p><p class=3D"MsoNormal">=E2=80=B9gwd=E2=80=
=BA<span class=3D"Apple-tab-span" style=3D"white-space:pre">		=
</span>They can be
checked in after v1 or v2, and then 1) less work for authors to rebase, =
2) less
cognitive overhead for reviewers to see what's going on.<o:p =
class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9lars_kurth=E2=80=BA&nbsp;&nbsp;&nbsp;&nbsp; =
royger:
That is not a necessarily obvious conclusion - at least for me. But if =
it is
true, we should clearly state that<o:p class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9lars_kurth=E2=80=BA&nbsp;&nbsp;&nbsp;&nbsp; =
gwd:
that's interesting. I guess there are differing objectives<o:p =
class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9royger=E2=80=BA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; I
don't think any maintainer/reviewer does review non-sequentially, as it =
would
lead to extreme confusion. It's quite common for patches on a patch =
series to
rely on the previous ones<o:p class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9royger=E2=80=BA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lars_kurth:
I think it can be safely stated<o:p class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9lars_kurth=E2=80=BA&nbsp;&nbsp;&nbsp;&nbsp; =
1) get
uncontroversial / easy to do stuff first<o:p class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9lars_kurth=E2=80=BA&nbsp;&nbsp;&nbsp;&nbsp; =
2)
then put more complex things, but start with documents/headers/anything =
that is
substantial to understand the rest of the changes - if they fit into =
logical
units maybe repeat that pattern<o:p class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9gwd=E2=80=BA<span class=3D"Apple-tab-span" =
style=3D"white-space:pre">		</span>I think every
situation if different.<o:p class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9royger=E2=80=BA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; the
only time you can get non-ordered review is if your patch series touches
multiple subsystems and you have properly splitted this into different =
patches,
in that case each subsystem maintainer is likelky to review his ares =
without
looking at other patches<o:p class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9gwd=E2=80=BA&nbsp; royger: You're
talking about checking in, not review I think?</p><p =
class=3D"MsoNormal"><o:p class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9gwd=E2=80=BA<span class=3D"Apple-tab-span" =
style=3D"white-space:pre">		</span>Sometimes in a
long series, {1,2}/10 will be clean-ups; {3-6}/10 will be general
reorganisations which don't really seem to do anything; and then 7/10 =
will be
the "meat", which helps you understand what {3-6}/10 were about.<o:p =
class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9lars_kurth=E2=80=BA&nbsp;&nbsp;&nbsp;&nbsp; =
royger,
gwd: "It's quite common for patches on a patch series to rely on the
previous ones" - is an important point.<o:p class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9gwd=E2=80=BA<span class=3D"Apple-tab-span" =
style=3D"white-space:pre">		</span>Usually it's not
possible to put 7/10 earlier without making it far more complicated.<o:p =
class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9lars_kurth=E2=80=BA&nbsp;&nbsp;&nbsp;&nbsp; =
I
think the way how to best structure patch series is an important one, =
and there
is practically NO information about this. So people learn stuff by trial =
and
error. So I think it is worth exploring that<o:p class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9gwd=E2=80=BA<span class=3D"Apple-tab-span" =
style=3D"white-space:pre">		</span>It's a bit like
saying, "How do you teach someone something", or "How do you
make an argument to convince someone of something". There are patterns,
but it's so broad a topic you can't really give direct advice.<o:p =
class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9lars_kurth=E2=80=BA&nbsp;&nbsp;&nbsp;&nbsp; =
gwd:
maybe showing some examples will help. I think the problem is that cover
letters frequently don't help much<o:p class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9Diziet=E2=80=BA <span =
class=3D"Apple-tab-span" style=3D"white-space:pre">		</span>I =
think what
you just said above "Sometimes in a long series," would be a very
useful thing to put in as a general rule.<o:p class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9Diziet=E2=80=BA <span =
class=3D"Apple-tab-span" style=3D"white-space:pre">		=
</span>gwd: ^<o:p class=3D""></o:p></p><p class=3D"MsoNormal">=E2=80=B9Diz=
iet=E2=80=BA <span class=3D"Apple-tab-span" style=3D"white-space:pre">		=
</span>Sometimes some
of these pieces will be empty.<o:p class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9Diziet=E2=80=BA <span =
class=3D"Apple-tab-span" style=3D"white-space:pre">		=
</span>1. cleanups 2.
reorgs 3. headers/docs/etc. 4. meat 5. cleaning up any infelicities =
introduced
temporarily 6. deleting old code<o:p class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9Diziet=E2=80=BA <span =
class=3D"Apple-tab-span" style=3D"white-space:pre">		=
</span>If there are
multiple subsystems involved, then these are best separated out where =
possible,
so you end up with those 6 categories x N subsystems.<o:p =
class=3D""></o:p></p><p class=3D"MsoNormal">=E2=80=B9gwd=E2=80=BA&nbsp; =
<span class=3D"Apple-tab-span" style=3D"white-space:pre">		=
</span>Of course, sometimes
there are several "meat" patches, which could be ordered in different
ways; and then you may want to put reorgs in between the meat =
patches.<o:p class=3D""></o:p></p><p class=3D"MsoNormal">=E2=80=B9gwd=E2=80=
=BA&nbsp; <span class=3D"Apple-tab-span" style=3D"white-space:pre">		=
</span>The XSA-299
series is an example of that.<o:p class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9Diziet=E2=80=BA <span =
class=3D"Apple-tab-span" style=3D"white-space:pre">		=
</span>In this
context I am reminded of
<a =
href=3D"https://www.chiark.greenend.org.uk/pipermail/sgo-software-discuss/=
2019/000616.html" =
class=3D"">https://www.chiark.greenend.org.uk/pipermail/sgo-software-discu=
ss/2019/000616.html</a>
My main achievement for the weekend, in a personal project.<o:p =
class=3D""></o:p></p><p class=3D"MsoNormal">=E2=80=B9gwd=E2=80=BA&nbsp; =
<span class=3D"Apple-tab-span" style=3D"white-space:pre">		=
</span>And lars_kurth
could probably go back over the history and see the series develop; the
"meat" patches were reorganized several times to try to find out
which order created the most comprehensible series of individual =
patches.<o:p class=3D""></o:p></p><p class=3D"MsoNormal">=E2=80=B9Diziet=E2=
=80=BA <span class=3D"Apple-tab-span" style=3D"white-space:pre">		=
</span>Subject: &nbsp;New signature key arrangements<o:p =
class=3D""></o:p></p><p class=3D"MsoNormal">=E2=80=B9gwd=E2=80=BA&nbsp; =
<span class=3D"Apple-tab-span" style=3D"white-space:pre">		=
</span>lars_kurth: And
say, if you take a look at the golang xenlight bindings series; v1 would =
have
been useless without the entire thing being checked in. It's likely that =
v3
I'll be able to check in {1..16}/22, meaning v4 will have a lot fewer =
patches
to rebase / recheck.<o:p class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9Diziet=E2=80=BA <span =
class=3D"Apple-tab-span" style=3D"white-space:pre">		=
</span>I'm not
suggesting it as an example in this context because I have done much =
less
squashing than would be usual in a community like Xen where we have many =
more
reviewers so the goal of making review easy and comprehensible is more
important relative to the goal of later understanding what the original
programmer was thinking when they wrote soemthing.<o:p =
class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9lars_kurth=E2=80=BA&nbsp;&nbsp;&nbsp;&nbsp; =
This
is very useful. I think this is the missing piece<o:p =
class=3D""></o:p></p><p class=3D"MsoNormal">=E2=80=B9Diziet=E2=80=BA =
<span class=3D"Apple-tab-span" style=3D"white-space:pre">		=
</span>But we should
provide some examples. Do we have good example cover letters we could =
use ?<o:p class=3D""></o:p></p><p class=3D"MsoNormal">=E2=80=B9Diziet=E2=80=
=BA <span class=3D"Apple-tab-span" style=3D"white-space:pre">		=
</span>I'm sure there
are some libxl ones but ideally we would have an example touching =
multiple
subsystems. And one which wasn't affected by release constraints.<o:p =
class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9lars_kurth=E2=80=BA&nbsp;&nbsp;&nbsp;&nbsp; =
That
would be good. Maybe I can write something up and put a place-holder in =
place
for good examples, if we can't think of one now<o:p =
class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9jbeulich=E2=80=BA&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp; gwd,
lars_kurth: The opposite case (cleanups last) would often be preferable =
for
series where the "meat" one(s) are to be backported, but the cleanups
aren't.<o:p class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9lars_kurth=E2=80=BA&nbsp;&nbsp;&nbsp;&nbsp; =
jbeulich:
interesting point. Do you have an example?<o:p class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9jbeulich=E2=80=BA&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp; An
example of what? A series where we asked for re-ordering because of the =
above?
If so, I don't think I could easily spot one.<o:p class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9jbeulich=E2=80=BA&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp; I
can tell you though that the above is what I would typically do. Most
prominently for security fixes *where the cleanup is being held back
altogether).<o:p class=3D""></o:p></p><p =
class=3D"MsoNormal">=E2=80=B9lars_kurth=E2=80=BA&nbsp;&nbsp;&nbsp;&nbsp; =
jbeulich:
I will try and put something together. I think I have enough to go =
on<o:p class=3D""></o:p></p><p class=3D"MsoNormal"><o:p =
class=3D"">&nbsp;</o:p></p>

<!--EndFragment--></div><div class=3D""><br class=3D""></div><div =
class=3D""></div><div class=3D""><br class=3D""></div></body></html>=

--Apple-Mail=_086483F7-9100-4156-A917-C1AC5ED6F3D3--


--===============8464054595826877619==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRl
dmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

--===============8464054595826877619==--


From minios-devel-bounces@lists.xenproject.org Mon Dec 09 18:53:57 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 09 Dec 2019 18:53:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ieOAO-0008S8-00; Mon, 09 Dec 2019 18:53:55 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=fF3T=Z7=gmail.com=costin.lup@srs-us1.protection.inumbo.net>)
 id 1ieOAN-0008S1-8q
 for minios-devel@lists.xenproject.org; Mon, 09 Dec 2019 18:53:55 +0000
X-Inumbo-ID: 3f3e2f06-1ab5-11ea-88e7-bc764e2007e4
Received: from mail-wm1-x342.google.com (unknown [2a00:1450:4864:20::342])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 3f3e2f06-1ab5-11ea-88e7-bc764e2007e4;
 Mon, 09 Dec 2019 18:53:54 +0000 (UTC)
Received: by mail-wm1-x342.google.com with SMTP id q9so450654wmj.5
 for <minios-devel@lists.xenproject.org>; Mon, 09 Dec 2019 10:53:54 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=subject:to:references:from:message-id:date:user-agent:mime-version
 :in-reply-to:content-language:content-transfer-encoding;
 bh=qO+M0UwYHXPgS6Fuy3L/vXgyvI7Xx4IyohB6jPS4KVk=;
 b=s+s7qqffGAyzUD3nowVpu7cDe+YoaSEAz+Cox4p66LOCuTZJkw+yl5CNuOCFzmRWs9
 eRsSUT+36koNVyCiuL+Z7XanE4XrvuzBfVr68yeQi19z4tKEbnW6VFNhxG4rWAmxmElm
 YIpTI0KAT8E7ax0Y6J7WFuMVhJ7/JxMJbEwehoHoUhiuOcxMNznceZA7S5lF1bYk7AgJ
 y1ocE7PcLcI7+K00xbcSiHkU2rY3KeM8heGvVut8ApHj/s4Mru5v62d4LY/65ce71tmQ
 6kssQJPmA1DaciyzlOYzydtiBOi7Fd4OnMjA9ZhNKpqiQ3BhgPo0xBfFlIcj5aSe/8Br
 cCNA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:subject:to:references:from:message-id:date
 :user-agent:mime-version:in-reply-to:content-language
 :content-transfer-encoding;
 bh=qO+M0UwYHXPgS6Fuy3L/vXgyvI7Xx4IyohB6jPS4KVk=;
 b=PGx8PyA5mz8k/UJNgnz9V9vzEPHN/4fNruemyYvNMQOwfFWB8rncAcIi/Q79eXcXTT
 Af9f+Ffi7Luks9dY/lbJGBxwHzMA+kla+MSI2JBqzJBzRSBiyPvXPP/jTJx0SwPZurMr
 +9WRHyDOKqRxYUviYc4yopQVof7cwJuCZBTcEYG8VxkUkwSFK7+vynUTwBGt56sfu9lI
 3qpOxL/uI3JTmtyXpX7HUg0LmheKjQQNMcoKzA13S+Z/LMsOOzODdd9xoO/5cFNFgQ5y
 kaev0PhQjCXGJNgh1DU9Tw3f6zmZ/xM3HTi315F+N4IFCWUlSxTwSDjhF8YwmyhCSa2N
 qPJw==
X-Gm-Message-State: APjAAAXfNN8LDyoNRyzz/vboOTs48ItL2ttm8a0ZXGCHcHjepF3PuP4R
 hgfL8MoMwLMQcrvgmMemOw3Prn0jxF4=
X-Google-Smtp-Source: APXvYqyg6NpphqjZfIBq/87X8aLEfYCKHfKnkn+Zcv/51HPMB2wxD+f+l5hIuyQVyj6RlD9GGPprtw==
X-Received: by 2002:a1c:64d5:: with SMTP id y204mr531980wmb.120.1575917633441; 
 Mon, 09 Dec 2019 10:53:53 -0800 (PST)
Received: from [192.168.1.103] ([86.123.33.61])
 by smtp.gmail.com with ESMTPSA id l15sm418201wrv.39.2019.12.09.10.53.51
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 09 Dec 2019 10:53:52 -0800 (PST)
To: Gaulthier Gain <gaulthier.gain@uliege.be>,
 minios-devel@lists.xenproject.org
References: <20191209133627.18558-1-gaulthier.gain@uliege.be>
 <20191209133627.18558-2-gaulthier.gain@uliege.be>
From: Costin Lupu <costin.lup@gmail.com>
Message-ID: <73fb3c8e-aeeb-ab29-656f-0d9b01cc96d6@gmail.com>
Date: Mon, 9 Dec 2019 20:53:51 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.2.2
MIME-Version: 1.0
In-Reply-To: <20191209133627.18558-2-gaulthier.gain@uliege.be>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT/SQLITE V4 PATCH 1/6] Introduce library
 skeleton
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

UmV2aWV3ZWQtYnk6IENvc3RpbiBMdXB1IDxjb3N0aW4ubHVwdUBjcy5wdWIucm8+CgpPbiAxMi85
LzE5IDM6MzYgUE0sIEdhdWx0aGllciBHYWluIHdyb3RlOgo+IFdlIHVzZSB0aGUgQlNELTMtQ2xh
dXNlIGxpY2Vuc2UgZm9yIHRoaXMgbGlicmFyeSBnbHVlIGNvZGUuCj4gCj4gU2lnbmVkLW9mZi1i
eTogR2F1bHRoaWVyIEdhaW4gPGdhdWx0aGllci5nYWluQHVsaWVnZS5iZT4KPiAtLS0KPiAgLmdp
dGlnbm9yZSAgICAgIHwgMjcgKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gIENPRElOR19T
VFlMRS5tZCB8ICA0ICsrKysKPiAgQ09OVFJJQlVUSU5HLm1kIHwgIDQgKysrKwo+ICBDT1BZSU5H
Lm1kICAgICAgfCAzOCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ICBD
b25maWcudWsgICAgICAgfCAgNyArKysrKysrCj4gIE1BSU5UQUlORVJTLm1kICB8IDExICsrKysr
KysrKysrCj4gIFJFQURNRS5tZCAgICAgICB8ICA3ICsrKysrKysKPiAgNyBmaWxlcyBjaGFuZ2Vk
LCA5OCBpbnNlcnRpb25zKCspCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCAuZ2l0aWdub3JlCj4gIGNy
ZWF0ZSBtb2RlIDEwMDY0NCBDT0RJTkdfU1RZTEUubWQKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IENP
TlRSSUJVVElORy5tZAo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgQ09QWUlORy5tZAo+ICBjcmVhdGUg
bW9kZSAxMDA2NDQgQ29uZmlnLnVrCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBNQUlOVEFJTkVSUy5t
ZAo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgUkVBRE1FLm1kCj4gCj4gZGlmZiAtLWdpdCBhLy5naXRp
Z25vcmUgYi8uZ2l0aWdub3JlCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAw
Li43NWQyZmQzCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiLy5naXRpZ25vcmUKPiBAQCAtMCwwICsx
LDI3IEBACj4gKyouZGVwZW5kCj4gKyoubwo+ICsqLmEKPiArKi5kCj4gKyouc28KPiArKi5vcmln
Cj4gKyoucmVqCj4gKyouYmFrCj4gKyouc3dwCj4gKyp+Cj4gKywqCj4gK1wjKlwjCj4gKy5cIyoK
PiArXCNfKlwjCj4gKy5cI18qCj4gKyEuZ2l0aWdub3JlCj4gKy4qCj4gKwo+ICsjIGdudSBnbG9i
YWwgZmlsZXMKPiArR1BBVEgKPiArR1JUQUdTCj4gK0dTWU1TCj4gK0dUQUdTCj4gKwo+ICsjIGNz
Y29wZSBmaWxlcwo+ICtjc2NvcGUuKgo+ICtuY3Njb3BlLioKPiBkaWZmIC0tZ2l0IGEvQ09ESU5H
X1NUWUxFLm1kIGIvQ09ESU5HX1NUWUxFLm1kCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRl
eCAwMDAwMDAwLi41NzMwMDQxCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL0NPRElOR19TVFlMRS5t
ZAo+IEBAIC0wLDAgKzEsNCBAQAo+ICtDb2RpbmcgU3R5bGUKPiArPT09PT09PT09PT09Cj4gKwo+
ICtQbGVhc2UgcmVmZXIgdG8gdGhlIGBDT0RJTkdfU1RZTEUubWRgIGZpbGUgaW4gdGhlIG1haW4g
VW5pa3JhZnQgcmVwb3NpdG9yeS4KPiBkaWZmIC0tZ2l0IGEvQ09OVFJJQlVUSU5HLm1kIGIvQ09O
VFJJQlVUSU5HLm1kCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi4xNGY2
YWM2Cj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL0NPTlRSSUJVVElORy5tZAo+IEBAIC0wLDAgKzEs
NCBAQAo+ICtDb250cmlidXRpbmcgdG8gVW5pa3JhZnQKPiArPT09PT09PT09PT09PT09PT09PT09
PT09Cj4gKwo+ICtQbGVhc2UgcmVmZXIgdG8gdGhlIGBDT05UUklCVVRJTkcubWRgIGZpbGUgaW4g
dGhlIG1haW4gVW5pa3JhZnQgcmVwb3NpdG9yeS4KPiBkaWZmIC0tZ2l0IGEvQ09QWUlORy5tZCBi
L0NPUFlJTkcubWQKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAuLjkwYWY5
NTIKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvQ09QWUlORy5tZAo+IEBAIC0wLDAgKzEsMzggQEAK
PiArTGljZW5zZQo+ICs9PT09PT09Cj4gKwo+ICtVbmlrcmFmdCBTUUxpdGUgd3JhcHBlcnMKPiAr
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ICsKPiArVGhpcyByZXBvc2l0b3J5
IGNvbnRhaW5zIHdyYXBwZXIgY29kZSB0byBidWlsZCBTUUxpdGUgd2l0aCBVbmlrcmFmdC4KPiAr
RWFjaCBDIGNvZGUgZmlsZSBpbiB0aGlzIHJlcG9zaXRvcnkgc2hvdWxkIGRlY2xhcmUgd2hvIGlz
IHRoZQo+ICtjb3B5cmlnaHQgb3duZXIgYW5kIHVuZGVyIHdoaWNoIHRlcm1zIGFuZCBjb25kaXRp
b25zIHRoZSBjb2RlIGlzCj4gK2xpY2Vuc2VkLiBJZiBzdWNoIGEgbGljZW5jZSBub3RlIGlzIG1p
c3NpbmcsIHRoZSBmb2xsb3dpbmcgY29weXJpZ2h0Cj4gK25vdGljZSB3aWxsIGFwcGx5Ogo+ICsK
PiArCUNvcHlyaWdodCAoYykgWWVhciwgSW5zdGl0dXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Cj4gKwo+ICsJUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0Cj4gKwltb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKPiArCWFyZSBtZXQ6Cj4gKwo+ICsJMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKPiArCSAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KPiArCTIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cj4gKwkgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCj4gKwkg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgo+ICsJMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgY29weXJpZ2h0IGhv
bGRlciBub3IgdGhlIG5hbWVzIG9mIGl0cwo+ICsJICAgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KPiArCSAgIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCj4gKwo+
ICsJVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUyAiQVMgSVMiCj4gKwlBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCj4gKwlJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRQo+ICsJQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQgSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRQo+ICsJTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgo+ICsJQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKPiArCVNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUwo+ICsJSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KPiArCUNPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCj4gKwlBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRQo+ICsJUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
Cj4gZGlmZiAtLWdpdCBhL0NvbmZpZy51ayBiL0NvbmZpZy51awo+IG5ldyBmaWxlIG1vZGUgMTAw
NjQ0Cj4gaW5kZXggMDAwMDAwMC4uMTYxMWVlOQo+IC0tLSAvZGV2L251bGwKPiArKysgYi9Db25m
aWcudWsKPiBAQCAtMCwwICsxLDcgQEAKPiArY29uZmlnIExJQlNRTElURQo+ICsgICAgYm9vbCAi
U1FMaXRlIgo+ICsgICAgZGVmYXVsdCB5Cj4gKyAgICBzZWxlY3QgTElCVUtNTUFQCj4gKyAgICBz
ZWxlY3QgVUtTWVNJTkZPCj4gKyAgICBzZWxlY3QgTElCTkVXTElCQwo+ICsgICAgc2VsZWN0IExJ
QlBUSFJFQURfRU1CRURERUQKPiBkaWZmIC0tZ2l0IGEvTUFJTlRBSU5FUlMubWQgYi9NQUlOVEFJ
TkVSUy5tZAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMC4uN2MxM2VkOQo+
IC0tLSAvZGV2L251bGwKPiArKysgYi9NQUlOVEFJTkVSUy5tZAo+IEBAIC0wLDAgKzEsMTEgQEAK
PiArTWFpbnRhaW5lcnMgTGlzdAo+ICs9PT09PT09PT09PT09PT09Cj4gKwo+ICtGb3Igbm90ZXMg
b24gaG93IHRvIHJlYWQgdGhpcyBpbmZvcm1hdGlvbiwgcGxlYXNlIHJlZmVyIHRvIGBNQUlOVEFJ
TkVSUy5tZGAgaW4KPiArdGhlIG1haW4gVW5pa3JhZnQgcmVwb3NpdG9yeS4KPiArCj4gKwlMSUJT
UUxJVEUtVU5JS1JBRlQKPiArCU06ICBHYXVsdGhpZXIgR2FpbiA8Z2F1bHRoaWVyLmdhaW5AdWxp
ZWdlLmJlPgo+ICsJTTogIEZlbGlwZSBIdWljaSA8ZmVsaXBlLmh1aWNpQG5lY2xhYi5ldT4KPiAr
CUw6ICBtaW5pb3MtZGV2ZWxAbGlzdHMueGVuLm9yZwo+ICsJRjogKgo+IGRpZmYgLS1naXQgYS9S
RUFETUUubWQgYi9SRUFETUUubWQKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAw
MDAuLmJmMmZlZTcKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvUkVBRE1FLm1kCj4gQEAgLTAsMCAr
MSw3IEBACj4gK1NRTGl0ZSBmb3IgVW5pa3JhZnQKPiArPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KPiArCj4gK1RoaXMgaXMgdGhlIHBvcnQgb2YgU1FMaXRlIGZvciBVbmlrcmFmdCBhcyBl
eHRlcm5hbCBsaWJyYXJ5Lgo+ICsKPiArUGxlYXNlIHJlZmVyIHRvIHRoZSBgUkVBRE1FLm1kYCBh
cyB3ZWxsIGFzIHRoZSBkb2N1bWVudGF0aW9uIGluIHRoZQo+ICtgZG9jL2Agc3ViZGlyZWN0b3J5
IG9mIHRoZSBtYWluIHVuaWtyYWZ0IHJlcG9zaXRvcnkuCj4gCgpfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1p
bmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qu
b3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Mon Dec 09 18:58:31 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 09 Dec 2019 18:58:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ieOEo-00006b-Cs; Mon, 09 Dec 2019 18:58:30 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=fF3T=Z7=gmail.com=costin.lup@srs-us1.protection.inumbo.net>)
 id 1ieOEn-00006W-K0
 for minios-devel@lists.xenproject.org; Mon, 09 Dec 2019 18:58:29 +0000
X-Inumbo-ID: e2c6e294-1ab5-11ea-88e7-bc764e2007e4
Received: from mail-wm1-x342.google.com (unknown [2a00:1450:4864:20::342])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id e2c6e294-1ab5-11ea-88e7-bc764e2007e4;
 Mon, 09 Dec 2019 18:58:28 +0000 (UTC)
Received: by mail-wm1-x342.google.com with SMTP id p17so439322wmi.3
 for <minios-devel@lists.xenproject.org>; Mon, 09 Dec 2019 10:58:28 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=subject:to:references:from:message-id:date:user-agent:mime-version
 :in-reply-to:content-language:content-transfer-encoding;
 bh=qaJJ0f0wjPoJ7obSLoTf+0Wv9LienZu0m5aptetXGyk=;
 b=TPUGM+NljLstBZVm3pbbgjmphUsM6eBlsrgd49dgMf5iEoJhYw5SFCucckeJTpVtQS
 HPhpijlcqZFZMawfqSWXp4p0CmAnnHNgdoSNNyG3g6cC70e94BAJMcPCE7O6FKHjB2fo
 VN/and+b+YO3/p3cQksw30NcbFGgwJ0eIRft/QP2aL/CaEKnnIOwBVZxpx32iwNgHcTo
 Ac5HPhe+qTH1y9m0oaUUdJQWOvSv94TKik9wXRNkCELLn3s1PnduWhAvutxrSzsvpzyv
 SiQ+5J9bIDuAG8nGK4fhQ3fb5HrrYQ2GsD0lExRE6pJ0NOa7ZzYtoD7PAXzPOtq0hb9Y
 a3yA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:subject:to:references:from:message-id:date
 :user-agent:mime-version:in-reply-to:content-language
 :content-transfer-encoding;
 bh=qaJJ0f0wjPoJ7obSLoTf+0Wv9LienZu0m5aptetXGyk=;
 b=Uki/to5ROTpqGXs29LADQ8oCDa1IshnNisuJAeX1w7jnu4qjH0ZLLau8BLF2+Owh0H
 pDcr57bjHUtmIzJZYBairGmjsMzHWVA3TX0pW6FtQ1u+Wt93wbjzSLTlcxpVydM4eQO0
 J9Kpn1Wu/fVNW7SM3+N3CjhD7wsS19NwqDxPLTIrtTDa8g2YdTVSwkGedFNgOZ4SP2Iz
 Q+jVA61gU31TBK3YrrqGh5mY0zHRMacYo2B6vRS73VTjrOkF1GMlZclKMHY7vAKjNGrL
 p7YDabu/nfbwIpv244G1yzzbX/2E9HbMfvNHeSxRWhDtzMvBBmIsOJdjrTdAhrnffUd8
 wBkQ==
X-Gm-Message-State: APjAAAU+h/5sgatxv+6SLWJLUmOz2PGv2RnEd79k/g+ecasba0RukyYp
 uXh1Xaqo8wItS0GlN0UjgNDxKDbHtx4=
X-Google-Smtp-Source: APXvYqxceI4nATVmQ45+y0b40pewBE18gpI+myi/XSwSrTWYnlSlQgCPQv0tElzO+0JpEr/02KpH+Q==
X-Received: by 2002:a7b:c7d5:: with SMTP id z21mr542896wmk.77.1575917907755;
 Mon, 09 Dec 2019 10:58:27 -0800 (PST)
Received: from [192.168.1.103] ([86.123.33.61])
 by smtp.gmail.com with ESMTPSA id f1sm374596wrp.93.2019.12.09.10.58.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 09 Dec 2019 10:58:27 -0800 (PST)
To: Gaulthier Gain <gaulthier.gain@uliege.be>,
 minios-devel@lists.xenproject.org
References: <20191209133627.18558-1-gaulthier.gain@uliege.be>
 <20191209133627.18558-3-gaulthier.gain@uliege.be>
From: Costin Lupu <costin.lup@gmail.com>
Message-ID: <14973ed9-4e87-8fbf-27ff-2a0129d183b9@gmail.com>
Date: Mon, 9 Dec 2019 20:58:26 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.2.2
MIME-Version: 1.0
In-Reply-To: <20191209133627.18558-3-gaulthier.gain@uliege.be>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT/SQLITE V4 PATCH 2/6] Add Makefile.uk
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

UmV2aWV3ZWQtYnk6IENvc3RpbiBMdXB1IDxjb3N0aW4ubHVwdUBjcy5wdWIucm8+CgpPbiAxMi85
LzE5IDM6MzYgUE0sIEdhdWx0aGllciBHYWluIHdyb3RlOgo+IEFkZCBTUUxpdGUgcG9ydCBNYWtl
ZmlsZS51ay4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBHYXVsdGhpZXIgR2FpbiA8Z2F1bHRoaWVyLmdh
aW5AdWxpZWdlLmJlPgo+IC0tLQo+ICBNYWtlZmlsZS51ayB8IDc5ICsrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiAgMSBmaWxlIGNo
YW5nZWQsIDc5IGluc2VydGlvbnMoKykKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IE1ha2VmaWxlLnVr
Cj4gCj4gZGlmZiAtLWdpdCBhL01ha2VmaWxlLnVrIGIvTWFrZWZpbGUudWsKPiBuZXcgZmlsZSBt
b2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAuLmRmMTRjNjUKPiAtLS0gL2Rldi9udWxsCj4gKysr
IGIvTWFrZWZpbGUudWsKPiBAQCAtMCwwICsxLDc5IEBACj4gKyMgIFNQRFgtTGljZW5zZS1JZGVu
dGlmaWVyOiBCU0QtMy1DbGF1c2UKPiArIwo+ICsjICBTUUxpdGUgTWFrZWZpbGUudWsKPiArIwo+
ICsjICBBdXRob3JzOiBHYWluIEdhdWx0aGllciA8Z2F1bHRoaWVyLmdhaW5AdWxpZWdlLmJlPgo+
ICsjCj4gKyMgIENvcHlyaWdodCAoYykgMjAxOSwgVW5pdmVyc2l0eSBvZiBMaWVnZS4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KPiArIwo+ICsjICBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKPiArIyAgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCj4gKyMg
IGFyZSBtZXQ6Cj4gKyMKPiArIyAgMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKPiArIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgo+ICsjICAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAo+ICsjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCj4gKyMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCj4gKyMgIDMuIE5l
aXRoZXIgdGhlIG5hbWUgb2YgdGhlIGNvcHlyaWdodCBob2xkZXIgbm9yIHRoZSBuYW1lcyBvZiBp
dHMKPiArIyAgICAgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KPiArIyAgICAgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KPiArIwo+ICsjICBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJB
UyBJUyIKPiArIyAgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQo+ICsjICBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQo+ICsj
ICBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIg
T1IgQ09OVFJJQlVUT1JTIEJFCj4gKyMgIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKPiArIyAgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKPiAr
IyAgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCj4gKyMgIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCj4gKyMgIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCj4gKyMgIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFCj4gKyMgIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgo+ICsjCj4gKyMgIFRISVMgSEVBREVSIE1BWSBOT1QgQkUgRVhUUkFDVEVEIE9SIE1PRElG
SUVEIElOIEFOWSBXQVkuCj4gKyMKPiArCj4gKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCj4gKyMg
QXBwIHJlZ2lzdHJhdGlvbgo+ICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwo+ICskKGV2YWwgJChj
YWxsIGFkZGxpYixsaWJzcWxpdGUpKQo+ICsKPiArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKPiAr
IyBTb3VyY2VzCj4gKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCj4gK0xJQlNRTElURV9WRVJTSU9O
ID0gMzMwMDEwMAo+ICtMSUJTUUxJVEVfQkFTRU5BTUUgPSBzcWxpdGUtYW1hbGdhbWF0aW9uLSQo
TElCU1FMSVRFX1ZFUlNJT04pCj4gK0xJQlNRTElURV9VUkwgPSBodHRwczovL3d3dy5zcWxpdGUu
b3JnLzIwMTkvJChMSUJTUUxJVEVfQkFTRU5BTUUpLnppcAo+ICtMSUJTUUxJVEVfUEFUQ0hESVIg
PSAkKExJQlNRTElURV9CQVNFKS9wYXRjaGVzCj4gKyQoZXZhbCAkKGNhbGwgZmV0Y2gsbGlic3Fs
aXRlLCQoTElCU1FMSVRFX1VSTCkpKQo+ICskKGV2YWwgJChjYWxsIHBhdGNoLGxpYnNxbGl0ZSwk
KExJQlNRTElURV9QQVRDSERJUiksJChMSUJTUUxJVEVfQkFTRU5BTUUpKSkKPiArCj4gKyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjCj4gKyMgSGVscGVycwo+ICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
Iwo+ICtMSUJTUUxJVEVfU1JDID0gJChMSUJTUUxJVEVfT1JJR0lOKS8kKExJQlNRTElURV9CQVNF
TkFNRSkKPiArCj4gKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCj4gKyMgTGlicmFyeSBpbmNsdWRl
cwo+ICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwo+ICtMSUJTUUxJVEVfQ0lOQ0xVREVTLXkgKz0g
LUkkKExJQlNRTElURV9CQVNFKS9pbmNsdWRlCj4gK0xJQlNRTElURV9DSU5DTFVERVMgKz0gLUkk
KExJQlNRTElURV9TUkMpCj4gKwo+ICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwo+ICsjIEdsb2Jh
bCBmbGFncwo+ICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwo+ICtMSUJTUUxJVEVfRkxBR1MgPSAt
RF9IQVZFX1NRTElURV9DT05GSUdfSCAtRFNRTElURV9PTUlUX0xPQURfRVhURU5TSU9OCj4gKwo+
ICsjIFN1cHByZXNzIHNvbWUgd2FybmluZ3MgdG8gbWFrZSB0aGUgYnVpbGQgcHJvY2VzcyBsb29r
IG5lYXRlcgo+ICtMSUJTUUxJVEVfU1VQUFJFU1NfRkxBR1MgKz0gLVduby11bnVzZWQtcGFyYW1l
dGVyIC1Xbm8tdW51c2VkLXZhcmlhYmxlCQlcCj4gKy1Xbm8tY2FzdC1mdW5jdGlvbi10eXBlIC1X
bm8tY2hhci1zdWJzY3JpcHRzIC1XaW1wbGljaXQtZmFsbHRocm91Z2g9MAkJXAo+ICsKPiArTElC
U1FMSVRFX0NGTEFHUy15ICs9ICQoTElCU1FMSVRFX0ZMQUdTKQo+ICtMSUJTUUxJVEVfQ0ZMQUdT
LXkgKz0gJChMSUJTUUxJVEVfU1VQUFJFU1NfRkxBR1MpCj4gKwo+ICsjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIwo+ICsjIFNRTGl0ZSBzb3VyY2VzCj4gKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCj4g
K0xJQlNRTElURV9TUkNTLXkgKz0gJChMSUJTUUxJVEVfU1JDKS9zaGVsbC5jCj4gK0xJQlNRTElU
RV9TUkNTLXkgKz0gJChMSUJTUUxJVEVfU1JDKS9zcWxpdGUzLmMKPiAKCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxp
c3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJv
amVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Mon Dec 09 18:58:47 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 09 Dec 2019 18:58:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ieOF5-00007W-Eu; Mon, 09 Dec 2019 18:58:47 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=fF3T=Z7=gmail.com=costin.lup@srs-us1.protection.inumbo.net>)
 id 1ieOF4-00007P-DA
 for minios-devel@lists.xenproject.org; Mon, 09 Dec 2019 18:58:46 +0000
X-Inumbo-ID: ecc2ccea-1ab5-11ea-88e7-bc764e2007e4
Received: from mail-wr1-x444.google.com (unknown [2a00:1450:4864:20::444])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id ecc2ccea-1ab5-11ea-88e7-bc764e2007e4;
 Mon, 09 Dec 2019 18:58:45 +0000 (UTC)
Received: by mail-wr1-x444.google.com with SMTP id z3so17437057wru.3
 for <minios-devel@lists.xenproject.org>; Mon, 09 Dec 2019 10:58:45 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=subject:to:references:from:message-id:date:user-agent:mime-version
 :in-reply-to:content-language:content-transfer-encoding;
 bh=SfYn7YZo1rjbiGhEV+W9FnzpFDFByDqsZAQ9mJTug0Q=;
 b=d12yheucH8PsFsFv+/SOcWyWMsa59fCmrDQWki0AHpnvV3Concnv7wP805HPUreNWY
 ObrjL72C0g3R4eQbUf834aI5bhi+24cH/n8bgw68WJ2MbciI3wfLVK4l7F1j0SvpPPwM
 Y+eo+ocY3QOX9lSQkef5jM48ZdV9373F2i2LhhYlUBHBwr6uMPmJcU2pPFFh6yGMAP8r
 oR+J3x+IdAXXHxJh37K9XY0N79mucKE2bc6l1lI09vW87Ipu+EkJKc9GoWnlk8Vlsp/E
 u2I2UbvhOo30zDAkN7rwOITdfSN8wXIPVWtY76n/h0/f9sYSWjXJcveOslrVsHohReH/
 nDIA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:subject:to:references:from:message-id:date
 :user-agent:mime-version:in-reply-to:content-language
 :content-transfer-encoding;
 bh=SfYn7YZo1rjbiGhEV+W9FnzpFDFByDqsZAQ9mJTug0Q=;
 b=dhb3YQd5V+joK7gpqkMDSwqsmW6CkAukPWNTr8nRO9fTk4fjr0hRpid+J6c7GxfvNC
 IWYCqB6h1/o9tFm1lzYc5dmglDMyKiC/dovzVgCJAdcsgg8/dLydidoZ/T3uqGyniWg5
 ya5tS9Eo/h5kqRSVjfM0jExRJlY8BwTe4npzU/7dvdYYvZ9fe857toVDDQRo+MzzhIv3
 uh5bD42uzaBCPe8KYyaDJxs8VVzHLVrml9u7eCAvwJkUZtK6oFCWjh9iZSNVCWmLIYv1
 sReDZAzW+yptgAFg2Erfwiw0BQuCxQaX1z4yepgj2E2a/f6Ix4x36k3aS61Z+K0z3lDj
 a0wg==
X-Gm-Message-State: APjAAAWCnuk62k0UJstMZPYwI9fZm6y+CPzw/ly3VIDNQ5O1ILOGAlnt
 50FCKfkAOLdEBPdiN5AwBmdt72GP0Ms=
X-Google-Smtp-Source: APXvYqyst/ImtEmGHX9DKCMhQC9B+pnNf7enjjkPWVpD86UPQy34wPwbnAezR9jUyyeSIXHF3M8vLA==
X-Received: by 2002:adf:81e3:: with SMTP id 90mr3753609wra.23.1575917924405;
 Mon, 09 Dec 2019 10:58:44 -0800 (PST)
Received: from [192.168.1.103] ([86.123.33.61])
 by smtp.gmail.com with ESMTPSA id k127sm281568wmk.31.2019.12.09.10.58.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 09 Dec 2019 10:58:43 -0800 (PST)
To: Gaulthier Gain <gaulthier.gain@uliege.be>,
 minios-devel@lists.xenproject.org
References: <20191209133627.18558-1-gaulthier.gain@uliege.be>
 <20191209133627.18558-4-gaulthier.gain@uliege.be>
From: Costin Lupu <costin.lup@gmail.com>
Message-ID: <34cc80fd-776e-8b67-2b09-98de8b5841bf@gmail.com>
Date: Mon, 9 Dec 2019 20:58:43 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.2.2
MIME-Version: 1.0
In-Reply-To: <20191209133627.18558-4-gaulthier.gain@uliege.be>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT/SQLITE V4 PATCH 3/6] Add SQLite
 auto-generated header
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

UmV2aWV3ZWQtYnk6IENvc3RpbiBMdXB1IDxjb3N0aW4ubHVwdUBjcy5wdWIucm8+CgpPbiAxMi85
LzE5IDM6MzYgUE0sIEdhdWx0aGllciBHYWluIHdyb3RlOgo+IGNvbmZpZy5oIGlzIGdlbmVyYXRl
ZCB3aGVuIHJ1bm5pbmcgLi9jb25maWd1cmUgYW5kIGl0IGNvbnRhaW5zIHRoZQo+IGZlYXR1cmVz
IHRoYXQgYXJlIGF2YWlsYWJsZSBvbiB0aGUgYnVpbGQgbWFjaGluZS4gVGhpcyBpcyBjb3BpZWQg
ZnJvbQo+IGEgbG9jYWwgYnVpbGQuCj4gCj4gU2lnbmVkLW9mZi1ieTogR2F1bHRoaWVyIEdhaW4g
PGdhdWx0aGllci5nYWluQHVsaWVnZS5iZT4KPiAtLS0KPiAgaW5jbHVkZS9jb25maWcuaCB8IDEz
MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
Cj4gIDEgZmlsZSBjaGFuZ2VkLCAxMzEgaW5zZXJ0aW9ucygrKQo+ICBjcmVhdGUgbW9kZSAxMDA2
NDQgaW5jbHVkZS9jb25maWcuaAo+IAo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2NvbmZpZy5oIGIv
aW5jbHVkZS9jb25maWcuaAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMC4u
NzExNTFjMQo+IC0tLSAvZGV2L251bGwKPiArKysgYi9pbmNsdWRlL2NvbmZpZy5oCj4gQEAgLTAs
MCArMSwxMzEgQEAKPiArLyogY29uZmlnLmguICBHZW5lcmF0ZWQgZnJvbSBjb25maWcuaC5pbiBi
eSBjb25maWd1cmUuICAqLwo+ICsvKiBjb25maWcuaC5pbi4gIEdlbmVyYXRlZCBmcm9tIGNvbmZp
Z3VyZS5hYyBieSBhdXRvaGVhZGVyLiAgKi8KPiArCj4gKy8qIERlZmluZSB0byAxIGlmIHlvdSBo
YXZlIHRoZSA8ZGxmY24uaD4gaGVhZGVyIGZpbGUuICovCj4gKyNkZWZpbmUgSEFWRV9ETEZDTl9I
IDEKPiArCj4gKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZmRhdGFzeW5jJyBmdW5j
dGlvbi4gKi8KPiArI2RlZmluZSBIQVZFX0ZEQVRBU1lOQyAxCj4gKwo+ICsvKiBEZWZpbmUgdG8g
MSBpZiB5b3UgaGF2ZSB0aGUgYGdtdGltZV9yJyBmdW5jdGlvbi4gKi8KPiArI2RlZmluZSBIQVZF
X0dNVElNRV9SIDEKPiArCj4gKy8qIERlZmluZSB0byAxIGlmIHRoZSBzeXN0ZW0gaGFzIHRoZSB0
eXBlIGBpbnQxNl90Jy4gKi8KPiArI2RlZmluZSBIQVZFX0lOVDE2X1QgMQo+ICsKPiArLyogRGVm
aW5lIHRvIDEgaWYgdGhlIHN5c3RlbSBoYXMgdGhlIHR5cGUgYGludDMyX3QnLiAqLwo+ICsjZGVm
aW5lIEhBVkVfSU5UMzJfVCAxCj4gKwo+ICsvKiBEZWZpbmUgdG8gMSBpZiB0aGUgc3lzdGVtIGhh
cyB0aGUgdHlwZSBgaW50NjRfdCcuICovCj4gKyNkZWZpbmUgSEFWRV9JTlQ2NF9UIDEKPiArCj4g
Ky8qIERlZmluZSB0byAxIGlmIHRoZSBzeXN0ZW0gaGFzIHRoZSB0eXBlIGBpbnQ4X3QnLiAqLwo+
ICsjZGVmaW5lIEhBVkVfSU5UOF9UIDEKPiArCj4gKy8qIERlZmluZSB0byAxIGlmIHRoZSBzeXN0
ZW0gaGFzIHRoZSB0eXBlIGBpbnRwdHJfdCcuICovCj4gKyNkZWZpbmUgSEFWRV9JTlRQVFJfVCAx
Cj4gKwo+ICsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGludHR5cGVzLmg+IGhlYWRl
ciBmaWxlLiAqLwo+ICsjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCj4gKwo+ICsvKiBEZWZpbmUg
dG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGlzbmFuJyBmdW5jdGlvbi4gKi8KPiArI2RlZmluZSBIQVZF
X0lTTkFOIDEKPiArCj4gKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgbG9jYWx0aW1l
X3InIGZ1bmN0aW9uLiAqLwo+ICsjZGVmaW5lIEhBVkVfTE9DQUxUSU1FX1IgMQo+ICsKPiArLyog
RGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBsb2NhbHRpbWVfcycgZnVuY3Rpb24uICovCj4g
Ky8qICN1bmRlZiBIQVZFX0xPQ0FMVElNRV9TICovCj4gKwo+ICsvKiBEZWZpbmUgdG8gMSBpZiB5
b3UgaGF2ZSB0aGUgPG1hbGxvYy5oPiBoZWFkZXIgZmlsZS4gKi8KPiArI2RlZmluZSBIQVZFX01B
TExPQ19IIDEKPiArCj4gKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgbWFsbG9jX3Vz
YWJsZV9zaXplJyBmdW5jdGlvbi4gKi8KPiArI2RlZmluZSBIQVZFX01BTExPQ19VU0FCTEVfU0la
RSAxCj4gKwo+ICsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPG1lbW9yeS5oPiBoZWFk
ZXIgZmlsZS4gKi8KPiArI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKPiArCj4gKy8qIERlZmluZSB0
byAxIGlmIHlvdSBoYXZlIHRoZSBwcmVhZCgpIGZ1bmN0aW9uLiAqLwo+ICsjZGVmaW5lIEhBVkVf
UFJFQUQgMQo+ICsKPiArLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIHByZWFkNjQoKSBm
dW5jdGlvbi4gKi8KPiArI2RlZmluZSBIQVZFX1BSRUFENjQgMQo+ICsKPiArLyogRGVmaW5lIHRv
IDEgaWYgeW91IGhhdmUgdGhlIHB3cml0ZSgpIGZ1bmN0aW9uLiAqLwo+ICsjZGVmaW5lIEhBVkVf
UFdSSVRFIDEKPiArCj4gKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBwd3JpdGU2NCgp
IGZ1bmN0aW9uLiAqLwo+ICsjZGVmaW5lIEhBVkVfUFdSSVRFNjQgMQo+ICsKPiArLyogRGVmaW5l
IHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzdGRpbnQuaD4gaGVhZGVyIGZpbGUuICovCj4gKyNkZWZp
bmUgSEFWRV9TVERJTlRfSCAxCj4gKwo+ICsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUg
PHN0ZGxpYi5oPiBoZWFkZXIgZmlsZS4gKi8KPiArI2RlZmluZSBIQVZFX1NURExJQl9IIDEKPiAr
Cj4gKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBzdHJjaHJudWwoKSBmdW5jdGlvbiAq
Lwo+ICsjZGVmaW5lIEhBVkVfU1RSQ0hSTlVMIDEKPiArCj4gKy8qIERlZmluZSB0byAxIGlmIHlv
dSBoYXZlIHRoZSA8c3RyaW5ncy5oPiBoZWFkZXIgZmlsZS4gKi8KPiArI2RlZmluZSBIQVZFX1NU
UklOR1NfSCAxCj4gKwo+ICsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN0cmluZy5o
PiBoZWFkZXIgZmlsZS4gKi8KPiArI2RlZmluZSBIQVZFX1NUUklOR19IIDEKPiArCj4gKy8qIERl
ZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL3N0YXQuaD4gaGVhZGVyIGZpbGUuICovCj4g
KyNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKPiArCj4gKy8qIERlZmluZSB0byAxIGlmIHlvdSBo
YXZlIHRoZSA8c3lzL3R5cGVzLmg+IGhlYWRlciBmaWxlLiAqLwo+ICsjZGVmaW5lIEhBVkVfU1lT
X1RZUEVTX0ggMQo+ICsKPiArLyogRGVmaW5lIHRvIDEgaWYgdGhlIHN5c3RlbSBoYXMgdGhlIHR5
cGUgYHVpbnQxNl90Jy4gKi8KPiArI2RlZmluZSBIQVZFX1VJTlQxNl9UIDEKPiArCj4gKy8qIERl
ZmluZSB0byAxIGlmIHRoZSBzeXN0ZW0gaGFzIHRoZSB0eXBlIGB1aW50MzJfdCcuICovCj4gKyNk
ZWZpbmUgSEFWRV9VSU5UMzJfVCAxCj4gKwo+ICsvKiBEZWZpbmUgdG8gMSBpZiB0aGUgc3lzdGVt
IGhhcyB0aGUgdHlwZSBgdWludDY0X3QnLiAqLwo+ICsjZGVmaW5lIEhBVkVfVUlOVDY0X1QgMQo+
ICsKPiArLyogRGVmaW5lIHRvIDEgaWYgdGhlIHN5c3RlbSBoYXMgdGhlIHR5cGUgYHVpbnQ4X3Qn
LiAqLwo+ICsjZGVmaW5lIEhBVkVfVUlOVDhfVCAxCj4gKwo+ICsvKiBEZWZpbmUgdG8gMSBpZiB0
aGUgc3lzdGVtIGhhcyB0aGUgdHlwZSBgdWludHB0cl90Jy4gKi8KPiArI2RlZmluZSBIQVZFX1VJ
TlRQVFJfVCAxCj4gKwo+ICsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHVuaXN0ZC5o
PiBoZWFkZXIgZmlsZS4gKi8KPiArI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKPiArCj4gKy8qIERl
ZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgdXNsZWVwJyBmdW5jdGlvbi4gKi8KPiArI2RlZmlu
ZSBIQVZFX1VTTEVFUCAxCj4gKwo+ICsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgdXRp
bWUoKSBsaWJyYXJ5IGZ1bmN0aW9uLiAqLwo+ICsjZGVmaW5lIEhBVkVfVVRJTUUgMQo+ICsKPiAr
LyogRGVmaW5lIHRvIHRoZSBzdWItZGlyZWN0b3J5IGluIHdoaWNoIGxpYnRvb2wgc3RvcmVzIHVu
aW5zdGFsbGVkIGxpYnJhcmllcy4gKi8KPiArI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKPiAr
Cj4gKy8qIERlZmluZSB0byB0aGUgYWRkcmVzcyB3aGVyZSBidWcgcmVwb3J0cyBmb3IgdGhpcyBw
YWNrYWdlIHNob3VsZCBiZSBzZW50LiAqLwo+ICsjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICIi
Cj4gKwo+ICsvKiBEZWZpbmUgdG8gdGhlIGZ1bGwgbmFtZSBvZiB0aGlzIHBhY2thZ2UuICovCj4g
KyNkZWZpbmUgUEFDS0FHRV9OQU1FICJzcWxpdGUiCj4gKwo+ICsvKiBEZWZpbmUgdG8gdGhlIGZ1
bGwgbmFtZSBhbmQgdmVyc2lvbiBvZiB0aGlzIHBhY2thZ2UuICovCj4gKyNkZWZpbmUgUEFDS0FH
RV9TVFJJTkcgInNxbGl0ZSAzLjMwLjEiCj4gKwo+ICsvKiBEZWZpbmUgdG8gdGhlIG9uZSBzeW1i
b2wgc2hvcnQgbmFtZSBvZiB0aGlzIHBhY2thZ2UuICovCj4gKyNkZWZpbmUgUEFDS0FHRV9UQVJO
QU1FICJzcWxpdGUiCj4gKwo+ICsvKiBEZWZpbmUgdG8gdGhlIHZlcnNpb24gb2YgdGhpcyBwYWNr
YWdlLiAqLwo+ICsjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMy4zMC4xIgo+ICsKPiArLyogRGVm
aW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIEFOU0kgQyBoZWFkZXIgZmlsZXMuICovCj4gKyNkZWZp
bmUgU1REQ19IRUFERVJTIDEKPiArCj4gKy8qIE51bWJlciBvZiBiaXRzIGluIGEgZmlsZSBvZmZz
ZXQsIG9uIGhvc3RzIHdoZXJlIHRoaXMgaXMgc2V0dGFibGUuICovCj4gKy8qICN1bmRlZiBfRklM
RV9PRkZTRVRfQklUUyAqLwo+ICsKPiArLyogRGVmaW5lIGZvciBsYXJnZSBmaWxlcywgb24gQUlY
LXN0eWxlIGhvc3RzLiAqLwo+ICsvKiAjdW5kZWYgX0xBUkdFX0ZJTEVTICovCj4gCgpfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFp
bGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3Rz
LnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Mon Dec 09 18:59:02 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 09 Dec 2019 18:59:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ieOFJ-00008Z-H7; Mon, 09 Dec 2019 18:59:01 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=fF3T=Z7=gmail.com=costin.lup@srs-us1.protection.inumbo.net>)
 id 1ieOFI-00008U-N8
 for minios-devel@lists.xenproject.org; Mon, 09 Dec 2019 18:59:00 +0000
X-Inumbo-ID: f568cd90-1ab5-11ea-b6f1-bc764e2007e4
Received: from mail-wm1-x343.google.com (unknown [2a00:1450:4864:20::343])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id f568cd90-1ab5-11ea-b6f1-bc764e2007e4;
 Mon, 09 Dec 2019 18:59:00 +0000 (UTC)
Received: by mail-wm1-x343.google.com with SMTP id b11so469427wmj.4
 for <minios-devel@lists.xenproject.org>; Mon, 09 Dec 2019 10:59:00 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=subject:to:references:from:message-id:date:user-agent:mime-version
 :in-reply-to:content-language:content-transfer-encoding;
 bh=6s+EnHNQNpbBSh1Dwnm/pkQpqffOq0OR5093Wjsae/Y=;
 b=r25RGUEr6HM8mZ0iWNoyx39NXP7yvM+7cSwBgFwiTtLTe91GzQdzBJ0BQv78Zy732Y
 P0zrNWpX0n87AE0ifUQTtz9HMBQdXWvnqiQjS4FQNr9e/A3uWcjNtlSdSOjYDogSlT+F
 2QFWHCxnPr1mztekoLwavK5V5w5NX7HFKeqxMX9+Rp1fomcW/oYwVozuOGC/oecxTLku
 eHC8FKL/LNzwl1xLxXvDkY1WD9xpOh6XykkwL4Ib9IHqogsZMfPaoL/1wvgNwvgKBIQz
 0sgpMwOls6RW12rGzhhgso5LiUTvExREt7il5rEVIbDXCM9uGHDBGsqnU8oijLCrWP35
 b/FA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:subject:to:references:from:message-id:date
 :user-agent:mime-version:in-reply-to:content-language
 :content-transfer-encoding;
 bh=6s+EnHNQNpbBSh1Dwnm/pkQpqffOq0OR5093Wjsae/Y=;
 b=hXjAn+EZbg/NxMmUD0J725tbySob35PAcLFq7kgf8TadF4bS0ypv9Syo9FGgap6UVz
 jSQxn49D1spDPc9c7NRUqU6+h5wXuINHMtnDSyi1xCu3Y/qV6UuL8yaljTlth6x9Hk7E
 iaZHG3DPO6fO+oAnAJrLIrqVIMNa7LFH7x1tIbxmGpdCBesI9hZZ1rgxPv7kkuMdfjGX
 whbi0tbD+AXYXUYWU/esyhRxiUZD5pCqKeu05cztFm/qDQhharrRfaMaedeq/eotfgfP
 L74xj2Gq2vAjQuQvOtd+Z7cmozOiSuGRqv8xGqOzBX4aI9j4RZYJhE40mZ85Y32/WU0D
 qx3A==
X-Gm-Message-State: APjAAAUZp0cZM/sMrrAIsq+hscCbIEKWgK9ai5Kf5oEGHczbb8RVSJRY
 /yq2Zpq/1goa0p2Bk3vMIpagKIRIT3Q=
X-Google-Smtp-Source: APXvYqyEbKUgelx6kxYJyjsPX/vDGuXXCYwNVmx7PTzYimv8U3nMAnbb5GS2Z77OxeTXMA2P8daU8A==
X-Received: by 2002:a7b:c0d6:: with SMTP id s22mr534897wmh.25.1575917939147;
 Mon, 09 Dec 2019 10:58:59 -0800 (PST)
Received: from [192.168.1.103] ([86.123.33.61])
 by smtp.gmail.com with ESMTPSA id k127sm282332wmk.31.2019.12.09.10.58.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 09 Dec 2019 10:58:58 -0800 (PST)
To: Gaulthier Gain <gaulthier.gain@uliege.be>,
 minios-devel@lists.xenproject.org
References: <20191209133627.18558-1-gaulthier.gain@uliege.be>
 <20191209133627.18558-5-gaulthier.gain@uliege.be>
From: Costin Lupu <costin.lup@gmail.com>
Message-ID: <ee92922f-1441-9fb7-7fc3-512b1f7766df@gmail.com>
Date: Mon, 9 Dec 2019 20:58:57 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.2.2
MIME-Version: 1.0
In-Reply-To: <20191209133627.18558-5-gaulthier.gain@uliege.be>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT/SQLITE V4 PATCH 4/6] include/config.h:
 Disable features that are not available on Unikraft
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

UmV2aWV3ZWQtYnk6IENvc3RpbiBMdXB1IDxjb3N0aW4ubHVwdUBjcy5wdWIucm8+CgpPbiAxMi85
LzE5IDM6MzYgUE0sIEdhdWx0aGllciBHYWluIHdyb3RlOgo+IFNvbWUgb2YgdGhlc2UgZmVhdHVy
ZXMgaGF2ZSB0byBlbmFibGVkIGJhY2sgd2hlbiB3ZSB3aWxsIHN1cHBvcnQgdGhlbS4KPiAKPiBT
aWduZWQtb2ZmLWJ5OiBHYXVsdGhpZXIgR2FpbiA8Z2F1bHRoaWVyLmdhaW5AdWxpZWdlLmJlPgo+
IC0tLQo+ICBpbmNsdWRlL2NvbmZpZy5oIHwgNiArKystLS0KPiAgMSBmaWxlIGNoYW5nZWQsIDMg
aW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9j
b25maWcuaCBiL2luY2x1ZGUvY29uZmlnLmgKPiBpbmRleCA3MTE1MWMxLi43N2E2ZDc2IDEwMDY0
NAo+IC0tLSBhL2luY2x1ZGUvY29uZmlnLmgKPiArKysgYi9pbmNsdWRlL2NvbmZpZy5oCj4gQEAg
LTQxLDcgKzQxLDcgQEAKPiAgI2RlZmluZSBIQVZFX01BTExPQ19IIDEKPiAgCj4gIC8qIERlZmlu
ZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgbWFsbG9jX3VzYWJsZV9zaXplJyBmdW5jdGlvbi4gKi8K
PiAtI2RlZmluZSBIQVZFX01BTExPQ19VU0FCTEVfU0laRSAxCj4gKy8qICNkZWZpbmUgSEFWRV9N
QUxMT0NfVVNBQkxFX1NJWkUgMSAqLwo+ICAKPiAgLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUg
dGhlIDxtZW1vcnkuaD4gaGVhZGVyIGZpbGUuICovCj4gICNkZWZpbmUgSEFWRV9NRU1PUllfSCAx
Cj4gQEAgLTUwLDEzICs1MCwxMyBAQAo+ICAjZGVmaW5lIEhBVkVfUFJFQUQgMQo+ICAKPiAgLyog
RGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIHByZWFkNjQoKSBmdW5jdGlvbi4gKi8KPiAtI2Rl
ZmluZSBIQVZFX1BSRUFENjQgMQo+ICsvKiAjZGVmaW5lIEhBVkVfUFJFQUQ2NCAxICovCj4gIAo+
ICAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgcHdyaXRlKCkgZnVuY3Rpb24uICovCj4g
ICNkZWZpbmUgSEFWRV9QV1JJVEUgMQo+ICAKPiAgLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUg
dGhlIHB3cml0ZTY0KCkgZnVuY3Rpb24uICovCj4gLSNkZWZpbmUgSEFWRV9QV1JJVEU2NCAxCj4g
Ky8qICNkZWZpbmUgSEFWRV9QV1JJVEU2NCAxICovCj4gIAo+ICAvKiBEZWZpbmUgdG8gMSBpZiB5
b3UgaGF2ZSB0aGUgPHN0ZGludC5oPiBoZWFkZXIgZmlsZS4gKi8KPiAgI2RlZmluZSBIQVZFX1NU
RElOVF9IIDEKPiAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2pl
Y3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5p
b3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Mon Dec 09 19:01:27 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 09 Dec 2019 19:01:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ieOHe-0000rL-Q8; Mon, 09 Dec 2019 19:01:26 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=fF3T=Z7=gmail.com=costin.lup@srs-us1.protection.inumbo.net>)
 id 1ieOHd-0000rG-PQ
 for minios-devel@lists.xenproject.org; Mon, 09 Dec 2019 19:01:25 +0000
X-Inumbo-ID: 4bdabe36-1ab6-11ea-b6f1-bc764e2007e4
Received: from mail-wr1-x443.google.com (unknown [2a00:1450:4864:20::443])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 4bdabe36-1ab6-11ea-b6f1-bc764e2007e4;
 Mon, 09 Dec 2019 19:01:25 +0000 (UTC)
Received: by mail-wr1-x443.google.com with SMTP id c14so17408791wrn.7
 for <minios-devel@lists.xenproject.org>; Mon, 09 Dec 2019 11:01:25 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=subject:to:references:from:message-id:date:user-agent:mime-version
 :in-reply-to:content-language:content-transfer-encoding;
 bh=lYzc1UJLXQ+T9stXSN3MVcf1mK+rALhWczI9yJmy0bg=;
 b=d+78WcM512Wy9OQ8KFq7G1AIrcpAJHzqchPebo3P89SMzweQH0vXEVWDXJ0uyNVlJV
 HTOGo5D7O7XKwz6UkvTo28oLxFL09I++Wk8WYh4LtxV0s2hVc4aFKXpC7EAge88Ss1UH
 MQ4u5qtYLAKeEgxBOCxBi/Ko0yAF3/zMqRs3Y0t7a3vcRRNEAjyuKa0KxNEDUg/Bbu40
 DaIE3/i1m+sbp5XiF2vDyzIqD/G26WdWWOor5goN1uv+RM9A0hWIyv9zI8jsHnRgE4gs
 BuNWdcfkLWkK/jkh6vIA02GWJlhyOyFUpyKGg7760xa1m+hyBz1AfQv2azSEPeim9Hs2
 pm/A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:subject:to:references:from:message-id:date
 :user-agent:mime-version:in-reply-to:content-language
 :content-transfer-encoding;
 bh=lYzc1UJLXQ+T9stXSN3MVcf1mK+rALhWczI9yJmy0bg=;
 b=csLASFUAApEERSW3yP7SbHZqFf23w4fpi4hDsYaVa1HhwkwZpM6Av1Rb/+q7g7KNxc
 5TbMLY4Ls7tkNUCA+c8Dz+EUvwlWLTAmjcbGeGeu2+PYNbMKgP0RINcKUb0FNTDYthBX
 RHbuFt1ZVYO0+Khne3a3CH5Y6LiHZf1Nl02d8p4CdLPoIgp4R0rWeuBVPRsoLBDbK3Cc
 vIQ3S0DfS+cEalRGNHZohp19G9MT0tC53W8ZXVzZlj4RDu8tch5795vqOXJDsAaWnGwR
 caZ6kvkKS7DggPfuQgE5P8xwDCQ17ZlNFT+3r6rzTht4g7JyBlBTUqcMRLyR3G04FfGr
 v1XQ==
X-Gm-Message-State: APjAAAVyJ3JgPt2M7LnBb+rjGxF+F7qZXqipeZXaPvSzkER8wQhSpFzA
 hO5VpPOKlOOEZyenwKoq1PWojT6mkrY=
X-Google-Smtp-Source: APXvYqzyNP7HC5IEGsGU9sGGoewZ6Q7pdB7027oOEVgF1CZIxUZCHIpXVrwtje1Oq2Dc2ReS1hSPbQ==
X-Received: by 2002:a5d:608a:: with SMTP id w10mr3593695wrt.136.1575918084177; 
 Mon, 09 Dec 2019 11:01:24 -0800 (PST)
Received: from [192.168.1.103] ([86.123.33.61])
 by smtp.gmail.com with ESMTPSA id c4sm325519wml.7.2019.12.09.11.01.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 09 Dec 2019 11:01:23 -0800 (PST)
To: Gaulthier Gain <gaulthier.gain@uliege.be>,
 minios-devel@lists.xenproject.org
References: <20191209133627.18558-1-gaulthier.gain@uliege.be>
 <20191209133627.18558-6-gaulthier.gain@uliege.be>
From: Costin Lupu <costin.lup@gmail.com>
Message-ID: <09f85d12-e131-4087-3495-c4c3bc1d4c99@gmail.com>
Date: Mon, 9 Dec 2019 21:01:22 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.2.2
MIME-Version: 1.0
In-Reply-To: <20191209133627.18558-6-gaulthier.gain@uliege.be>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT/SQLITE V4 PATCH 5/6] Provide main()
 function if configured to do so
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

UmV2aWV3ZWQtYnk6IENvc3RpbiBMdXB1IDxjb3N0aW4ubHVwdUBjcy5wdWIucm8+CgpPbiAxMi85
LzE5IDM6MzYgUE0sIEdhdWx0aGllciBHYWluIHdyb3RlOgo+IFdlIGFkZCBhIGNvbmZpZyBvcHRp
b24gZm9yIGVuYWJsaW5nIHRoZSBtYWluKCkgZnVuY3Rpb24gcHJvdmlkZWQgYnkKPiBvdXIgU1FM
aXRlIGdsdWUgY29kZS4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBHYXVsdGhpZXIgR2FpbiA8Z2F1bHRo
aWVyLmdhaW5AdWxpZWdlLmJlPgo+IC0tLQo+ICBDb25maWcudWsgICB8IDggKysrKysrKy0KPiAg
TWFrZWZpbGUudWsgfCA3ICsrKysrKysKPiAgbWFpbi5jICAgICAgfCA2ICsrKysrKwo+ICAzIGZp
bGVzIGNoYW5nZWQsIDIwIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKPiAgY3JlYXRlIG1v
ZGUgMTAwNjQ0IG1haW4uYwo+IAo+IGRpZmYgLS1naXQgYS9Db25maWcudWsgYi9Db25maWcudWsK
PiBpbmRleCAxNjExZWU5Li5kZGExODM2IDEwMDY0NAo+IC0tLSBhL0NvbmZpZy51awo+ICsrKyBi
L0NvbmZpZy51awo+IEBAIC0xLDcgKzEsMTMgQEAKPiAtY29uZmlnIExJQlNRTElURQo+ICttZW51
Y29uZmlnIExJQlNRTElURQo+ICAgICAgYm9vbCAiU1FMaXRlIgo+ICAgICAgZGVmYXVsdCB5Cj4g
ICAgICBzZWxlY3QgTElCVUtNTUFQCj4gICAgICBzZWxlY3QgVUtTWVNJTkZPCj4gICAgICBzZWxl
Y3QgTElCTkVXTElCQwo+ICAgICAgc2VsZWN0IExJQlBUSFJFQURfRU1CRURERUQKPiArCj4gK2lm
IExJQlNRTElURQo+ICtjb25maWcgTElCU1FMSVRFX01BSU5fRlVOQ1RJT04KPiArICAgIGJvb2wg
IlByb3ZpZGUgbWFpbiBmdW5jdGlvbiIKPiArICAgIGRlZmF1bHQgeQo+ICtlbmRpZgo+IGRpZmYg
LS1naXQgYS9NYWtlZmlsZS51ayBiL01ha2VmaWxlLnVrCj4gaW5kZXggZGYxNGM2NS4uZjBhN2Fm
ZCAxMDA2NDQKPiAtLS0gYS9NYWtlZmlsZS51awo+ICsrKyBiL01ha2VmaWxlLnVrCj4gQEAgLTcz
LDcgKzczLDE0IEBAIExJQlNRTElURV9DRkxBR1MteSArPSAkKExJQlNRTElURV9GTEFHUykKPiAg
TElCU1FMSVRFX0NGTEFHUy15ICs9ICQoTElCU1FMSVRFX1NVUFBSRVNTX0ZMQUdTKQo+ICAKPiAg
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKPiArIyBHbHVlIGNvZGUKPiArIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMKPiArTElCU1FMSVRFX1NSQ1MtJChDT05GSUdfTElCU1FMSVRFX01BSU5fRlVOQ1RJ
T04pICs9ICQoTElCU1FMSVRFX0JBU0UpL21haW4uY3x1bmlrcmFmdAo+ICsKPiArIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMKPiAgIyBTUUxpdGUgc291cmNlcwo+ICAjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIwo+ICtMSUJTUUxJVEVfU0hFTExfRkxBR1MteSArPSAtRG1haW49c3FsaXRlX21haW4gLUR3
bWFpbj1zcWxpdGVfbWFpbgo+ICsKPiAgTElCU1FMSVRFX1NSQ1MteSArPSAkKExJQlNRTElURV9T
UkMpL3NoZWxsLmMKPiAgTElCU1FMSVRFX1NSQ1MteSArPSAkKExJQlNRTElURV9TUkMpL3NxbGl0
ZTMuYwo+IGRpZmYgLS1naXQgYS9tYWluLmMgYi9tYWluLmMKPiBuZXcgZmlsZSBtb2RlIDEwMDY0
NAo+IGluZGV4IDAwMDAwMDAuLjc0ODIyYTAKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvbWFpbi5j
Cj4gQEAgLTAsMCArMSw2IEBACj4gK2V4dGVybiBpbnQgc3FsaXRlX21haW4oaW50IGFyZ2MsIGNo
YXIgKmFyZ3ZbXSk7Cj4gKwo+ICtpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQo+ICt7
Cj4gKyAgICByZXR1cm4gc3FsaXRlX21haW4oYXJnYywgYXJndik7Cj4gK30KPiAKCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWls
aW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMu
eGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Mon Dec 09 19:05:36 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 09 Dec 2019 19:05:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ieOLf-0000wI-4x; Mon, 09 Dec 2019 19:05:35 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=fF3T=Z7=gmail.com=costin.lup@srs-us1.protection.inumbo.net>)
 id 1ieOLe-0000wD-0l
 for minios-devel@lists.xenproject.org; Mon, 09 Dec 2019 19:05:34 +0000
X-Inumbo-ID: df9abd4c-1ab6-11ea-b6f1-bc764e2007e4
Received: from mail-wm1-x344.google.com (unknown [2a00:1450:4864:20::344])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id df9abd4c-1ab6-11ea-b6f1-bc764e2007e4;
 Mon, 09 Dec 2019 19:05:33 +0000 (UTC)
Received: by mail-wm1-x344.google.com with SMTP id q9so488893wmj.5
 for <minios-devel@lists.xenproject.org>; Mon, 09 Dec 2019 11:05:33 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=subject:to:references:from:message-id:date:user-agent:mime-version
 :in-reply-to:content-language:content-transfer-encoding;
 bh=ftyssnS4+s2mBDSw4ePib20WihszQvqw6z+kugKvvg0=;
 b=b6xr2zx2Mv6wZoKfccvThbaLG+OVh27/FII/N2rCdC8nCje//MT0vbChXfk3MHX5ps
 ilbnhC8OM5Iz9rx8rWfANYLK/jZRw3EsmoE3tXa3+UpelZEH9mv9WUsMmwwmfS20jE/n
 iT3krr0BXDuvFQnDdJCeEw3tjOd3JfVon9AQDMnEWwnGNODYtIprx0BbNGv0NShM0XHM
 uk6F7hc032KBAJD9+ES30l5+X/KSq6tadIvpUHcwfl0rqkVE/joIBBesE81yWQjoDpIL
 VaR+NYOOAGE1G5YA5kHZ34ajAoMVs9ZZ7/oKC846xg1OkGqFwqL2cUxULY2HpOXGv6FU
 umZA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:subject:to:references:from:message-id:date
 :user-agent:mime-version:in-reply-to:content-language
 :content-transfer-encoding;
 bh=ftyssnS4+s2mBDSw4ePib20WihszQvqw6z+kugKvvg0=;
 b=ZW/SWV6CaeX98bMtyOMQc04BfyElpO7PmD/30XfIO+u9MePrh0g6kPpLGGS6rNDwYC
 yUCCgn31gTjLzT1v9VbfK4VbsDXQNG5blcxsZoRl0bXHXzNu9wLHl7a97WghuNqZqkQQ
 HsJwqQP0Z4ZsRFqR5lRiV2NRpUIxBC66p0Q6oidsm+Rgz47gW9ZQVgv9Y56C+37ho5Ge
 ynZWmqKqgUz+szmHo7OipsmudPnSV3P3j9z2XR59T9zzr3x2ZWV8BN21P5aa/fDZ1vEC
 KIv/BBv3yMKrngoLuy7J8SPQnYeI2t7ZjyFEwkzezm4wA1VzpcFsa8N6cBnaZ2UsBubx
 NYQg==
X-Gm-Message-State: APjAAAXU18QddM9AAzcYhtuKMdSvfhr6pPZABve8Gz0FW7kYp4QCqk93
 K3o6M28IVGqO1T3CTNVMtZh1OPB+JpQ=
X-Google-Smtp-Source: APXvYqy/v49vqWg3pNrcb4iJR0JOwoPQ5wSUyfH9lkmtD52viuHdpdqJ/EkwRpN9UpfKfuLOYWE+sQ==
X-Received: by 2002:a1c:7205:: with SMTP id n5mr591533wmc.9.1575918332161;
 Mon, 09 Dec 2019 11:05:32 -0800 (PST)
Received: from [192.168.1.103] ([86.123.33.61])
 by smtp.gmail.com with ESMTPSA id s65sm283776wmf.48.2019.12.09.11.05.31
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 09 Dec 2019 11:05:31 -0800 (PST)
To: Gaulthier Gain <gaulthier.gain@uliege.be>,
 minios-devel@lists.xenproject.org
References: <20191209133627.18558-1-gaulthier.gain@uliege.be>
 <20191209133627.18558-7-gaulthier.gain@uliege.be>
From: Costin Lupu <costin.lup@gmail.com>
Message-ID: <2c166d8c-5fdc-1589-2116-e7d4a7ef2652@gmail.com>
Date: Mon, 9 Dec 2019 21:05:30 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.2.2
MIME-Version: 1.0
In-Reply-To: <20191209133627.18558-7-gaulthier.gain@uliege.be>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT/SQLITE V4 PATCH 6/6] README.md: Update
 with info about building and running
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

UmV2aWV3ZWQtYnk6IENvc3RpbiBMdXB1IDxjb3N0aW4ubHVwdUBjcy5wdWIucm8+CgpPbiAxMi85
LzE5IDM6MzYgUE0sIEdhdWx0aGllciBHYWluIHdyb3RlOgo+IFNpZ25lZC1vZmYtYnk6IEdhdWx0
aGllciBHYWluIDxnYXVsdGhpZXIuZ2FpbkB1bGllZ2UuYmU+Cj4gLS0tCj4gIFJFQURNRS5tZCB8
IDIzICsrKysrKysrKysrKysrKysrKysrLS0tCj4gIDEgZmlsZSBjaGFuZ2VkLCAyMCBpbnNlcnRp
b25zKCspLCAzIGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9SRUFETUUubWQgYi9SRUFE
TUUubWQKPiBpbmRleCBiZjJmZWU3Li4zNWJiODk2IDEwMDY0NAo+IC0tLSBhL1JFQURNRS5tZAo+
ICsrKyBiL1JFQURNRS5tZAo+IEBAIC0xLDcgKzEsMjQgQEAKPiAtU1FMaXRlIGZvciBVbmlrcmFm
dAo+IC09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo+IC0KPiArIyBTUUxpdGUgZm9yIFVu
aWtyYWZ0Cj4gIFRoaXMgaXMgdGhlIHBvcnQgb2YgU1FMaXRlIGZvciBVbmlrcmFmdCBhcyBleHRl
cm5hbCBsaWJyYXJ5Lgo+ICAKPiArIyMgQnVpbGQKPiArU1FMaXRlIGRlcGVuZHMgb24gdGhlIGZv
bGxvd2luZyBsaWJyYXJpZXMsIHRoYXQgbmVlZCB0byBiZSBhZGRlZCB0bwo+ICtgTWFrZWZpbGVg
IGluIHRoaXMgb3JkZXI6Cj4gKwo+ICsqIGBwdGhyZWFkc2AsIGUuZy4gYHB0aHJlYWQtZW1iZWRk
ZWRgCj4gKyogYGxpYmNgLCBlLmcuIGBuZXdsaWJgCj4gKwo+ICtCZWZvcmUgeW91IHByb2NlZWQg
dG8gd3JpdGluZyB5b3VyIG93biBhcHBsaWNhdGlvbiwgeW91IGNhbiB1c2UgdGhlCj4gK2BtYWlu
KClgIGZ1bmN0aW9uIHByb3ZpZGVkIGluIHRoZSBTUUxpdGUgZ2x1ZSBjb2RlIGJ5IGVuYWJsaW5n
IGl0IGluCj4gK2l0cyBjb25maWd1cmF0aW9uIG1lbnUuCj4gKwo+ICsjIyBSb290IGZpbGVzeXN0
ZW0KPiArCj4gK1RvIGltcG9ydC9leHBvcnQgZGF0YWJhc2VzIGFuZC9vciBjc3YgZmlsZXMsIGl0
IGlzIG5lY2Vzc2FyeSB0byBoYXZlCj4gK2EgZmlsZXN5c3RlbS4gVGhlIHN0ZXBzIGZvciBjcmVh
dGluZyBhbmQgdXNpbmcgYSBmaWxlc3lzdGVtIGFyZSB0aGUKPiArc2FtZSBhcyB0aGUgb25lcyB1
c2VkIGZvcgo+ICtbbmdpbnhdKGh0dHBzOi8vZ2l0aHViLmNvbS91bmlrcmFmdC9saWItbmdpbngv
YmxvYi9zdGFnaW5nL1JFQURNRS5tZCkuCj4gKwo+ICsjIyBGdXJ0aGVyIGluZm9ybWF0aW9uCj4g
IFBsZWFzZSByZWZlciB0byB0aGUgYFJFQURNRS5tZGAgYXMgd2VsbCBhcyB0aGUgZG9jdW1lbnRh
dGlvbiBpbiB0aGUKPiAgYGRvYy9gIHN1YmRpcmVjdG9yeSBvZiB0aGUgbWFpbiB1bmlrcmFmdCBy
ZXBvc2l0b3J5Lgo+IAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJv
amVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21p
bmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Mon Dec 09 19:09:13 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 09 Dec 2019 19:09:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ieOPB-000110-Fx; Mon, 09 Dec 2019 19:09:13 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=fF3T=Z7=gmail.com=costin.lup@srs-us1.protection.inumbo.net>)
 id 1ieOP9-00010v-Vv
 for minios-devel@lists.xenproject.org; Mon, 09 Dec 2019 19:09:12 +0000
X-Inumbo-ID: 61b9cf34-1ab7-11ea-88e7-bc764e2007e4
Received: from mail-wr1-x441.google.com (unknown [2a00:1450:4864:20::441])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 61b9cf34-1ab7-11ea-88e7-bc764e2007e4;
 Mon, 09 Dec 2019 19:09:11 +0000 (UTC)
Received: by mail-wr1-x441.google.com with SMTP id c14so17429534wrn.7
 for <minios-devel@lists.xenproject.org>; Mon, 09 Dec 2019 11:09:11 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=subject:to:references:from:message-id:date:user-agent:mime-version
 :in-reply-to:content-language:content-transfer-encoding;
 bh=CZjCV9VnmJqwDwybFPSUWP20al6NWy97mMH65kNGRYI=;
 b=Uzk1TKMN2lP/DDfKDi+6oTtGwUOqdvz+7ITMjvDmoYclXmau6UAr6kVoxE9ZZMakZ2
 NWdXMjW/YNLv7qpDvn1KIm42VD4arhRZwEWT8Z68F1wM4mk4NUkS39gkNxsTo5JFZ+Zs
 dlwWV7noKdqGunHcfPbLH+DCoeo/HrD5c2x9gJal7flBA1vz7+YBex/HLpZvDYtwrPGV
 C+v7kFofK5mA3xNzc2biBzWf8jEp1zs3c+BhFwU9qaAE83zt8olxPcqOg8ipXoIjY7gV
 9fMdhibQshmYlMAH22RLblX+KouP8QRimVf35GcbFG4+q3MnYJAndvLw9dCl0OoYhY3I
 va1Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:subject:to:references:from:message-id:date
 :user-agent:mime-version:in-reply-to:content-language
 :content-transfer-encoding;
 bh=CZjCV9VnmJqwDwybFPSUWP20al6NWy97mMH65kNGRYI=;
 b=bw+09FDQ0/M7cgQsG8X0skx0EjuvqBACGoqlYJ/+NAJbPZHHBZyr/dsles5Knz60KR
 tYLh0wkbm/Oevqqj2VQtdf9D7b4HO+h8rg6dLaS7W6a/Nqdh9o+5xlhkiQEMwbEW8ExY
 JpaUrI64rmC9X+Q5gEPbqNJauySXYgRfJxBqDPyYAwKEYWqwuYIbkYk4k91mGbTOllzo
 EMIcaCBHf/2BhbD4nFs/fSkl7yTCc5+kdhosTc2FSfa2T6jDQhS49h0SvtVfoyjGDLDJ
 sj1S1nIY2b6Nu5xQWqJvhkz0DfDlVGpqyq+b511IXXmAL03hfRWYpF9kDh5n0gK/DPg7
 A8Kw==
X-Gm-Message-State: APjAAAWxGbqqi7y7gA9SyNV+ziOymiIY6f9FINTAiRQM6toy11oOsqGe
 e6oFQGQNtrCBQhtzJAkXEy+sgdEGTzc=
X-Google-Smtp-Source: APXvYqzrU3G5pEY/+bOY4BaQ6UQW6q1fA0LtS1Opoo2E7tuGEMxXvdJIIT3WGCsQfxoBboKmRcTYsg==
X-Received: by 2002:adf:e609:: with SMTP id p9mr3665623wrm.397.1575918550417; 
 Mon, 09 Dec 2019 11:09:10 -0800 (PST)
Received: from [192.168.1.103] ([86.123.33.61])
 by smtp.gmail.com with ESMTPSA id y139sm345882wmd.24.2019.12.09.11.09.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 09 Dec 2019 11:09:09 -0800 (PST)
To: Gaulthier Gain <gaulthier.gain@uliege.be>,
 minios-devel@lists.xenproject.org
References: <20191209133627.18558-1-gaulthier.gain@uliege.be>
From: Costin Lupu <costin.lup@gmail.com>
Message-ID: <37473772-9af5-4e34-6f3a-fd2bdf5b7824@gmail.com>
Date: Mon, 9 Dec 2019 21:09:08 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.2.2
MIME-Version: 1.0
In-Reply-To: <20191209133627.18558-1-gaulthier.gain@uliege.be>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT/SQLITE V4 PATCH 0/6] SQLite port on
 Unikraft
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhpcyBpcyBqdXN0IHBlcmZlY3QsIEdhdWx0aGllciEgVGhhbmtzIGZvciB1cHN0cmVhbWluZyB0
aGlzIQoKTmV4dCBzdGVwIHdvdWxkIGJlIGZvciB5b3UgdG8gY3JlYXRlIGEgcmVwbyBmb3Igc3Fs
aXRlIG9uIGdpdGh1YiwKYmVjYXVzZSBzcWxpdGUgcG9ydCB3aWxsIGdvIGRpcmVjdGx5IHRoZXJl
LiBUaGVyZSB5b3Ugd291bGQgcHVzaCB0aGVzZQpwYXRjaGVzLiBQbGVhc2UgZG9uJ3QgZm9yZ2V0
IHRvIHN0YXJ0IHdpdGggdGhlIGVtcHR5IGNvbW1pdCwganVzdCBhcyB3ZQpkaWQgZm9yIGFsbCB0
aGUgb3RoZXIgcG9ydHMuCgpMZXQgdXMga25vdyBpZiB5b3UgbmVlZCBmdXJ0aGVyIGluZm8uCgpD
aGVlcnMsCkNvc3RpbgoKT24gMTIvOS8xOSAzOjM2IFBNLCBHYXVsdGhpZXIgR2FpbiB3cm90ZToK
PiBUaGlzIHBhdGNoIHNlcmllcyBwb3J0cyBTUUxpdGUgb24gVW5pa3JhZnQuCj4gCj4gUGxlYXNl
IGZpbmQgYmVsb3cgdGhlIG1haW4gY2hhbmdlcyBjb21wYXJlZCB0byBWMzoKPiAtIFVzZSAkKExJ
QlNRTElURV9CQVNFTkFNRSkgaW4gTWFrZWZpbGUudWs7Cj4gLSBJbnRyb2R1Y2UgdGhlIGNvbmZp
ZyBvcHRpb24sIHRoZSBNYWtlZmlsZS51ayBhbmQgdGhlIG1haW4gZnVuY3Rpb24KPiBpbiBhbiBh
ZGRpdGlvbmFsIHBhdGNoOwo+IC0gQWRkICItRG1haW49c3FsaXRlX21haW4gLUR3bWFpbj1zcWxp
dGVfbWFpbiIgaW4gTWFrZWZpbGUudWs7IAo+IC0gUmVtb3ZlIHVzZWxlc3MgY29tbWVudCBpbiBD
b25maWcudWs7Cj4gLSBBZGQgZXh0cmEgaW5mbyBmb3IgUkVBRE1FIGluIGFuIGFkZGl0aW9uYWwg
cGF0Y2g7Cj4gLSBVc2UgdHdvIHBhdGNoZXMgZm9yIGF1dG8gZ2VuZXJhdGVkIGNvbmZpZyBmaWxl
Lgo+IAo+IEdhdWx0aGllciBHYWluICg2KToKPiAgIEludHJvZHVjZSBsaWJyYXJ5IHNrZWxldG9u
Cj4gICBBZGQgTWFrZWZpbGUudWsKPiAgIEFkZCBTUUxpdGUgYXV0by1nZW5lcmF0ZWQgaGVhZGVy
Cj4gICBpbmNsdWRlL2NvbmZpZy5oOiBEaXNhYmxlIGZlYXR1cmVzIHRoYXQgYXJlIG5vdCBhdmFp
bGFibGUgb24gVW5pa3JhZnQKPiAgIFByb3ZpZGUgbWFpbigpIGZ1bmN0aW9uIGlmIGNvbmZpZ3Vy
ZWQgdG8gZG8gc28KPiAgIFJFQURNRS5tZDogVXBkYXRlIHdpdGggaW5mbyBhYm91dCBidWlsZGlu
ZyBhbmQgcnVubmluZwo+IAo+ICAuZ2l0aWdub3JlICAgICAgIHwgIDI3ICsrKysrKysrKysrKwo+
ICBDT0RJTkdfU1RZTEUubWQgIHwgICA0ICsrCj4gIENPTlRSSUJVVElORy5tZCAgfCAgIDQgKysK
PiAgQ09QWUlORy5tZCAgICAgICB8ICAzOCArKysrKysrKysrKysrKysrCj4gIENvbmZpZy51ayAg
ICAgICAgfCAgMTMgKysrKysrCj4gIE1BSU5UQUlORVJTLm1kICAgfCAgMTEgKysrKysKPiAgTWFr
ZWZpbGUudWsgICAgICB8ICA4NiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysK
PiAgUkVBRE1FLm1kICAgICAgICB8ICAyNCArKysrKysrKysrCj4gIGluY2x1ZGUvY29uZmlnLmgg
fCAxMzEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKwo+ICBtYWluLmMgICAgICAgICAgIHwgICA2ICsrKwo+ICAxMCBmaWxlcyBjaGFuZ2VkLCAz
NDQgaW5zZXJ0aW9ucygrKQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgLmdpdGlnbm9yZQo+ICBjcmVh
dGUgbW9kZSAxMDA2NDQgQ09ESU5HX1NUWUxFLm1kCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBDT05U
UklCVVRJTkcubWQKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IENPUFlJTkcubWQKPiAgY3JlYXRlIG1v
ZGUgMTAwNjQ0IENvbmZpZy51awo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgTUFJTlRBSU5FUlMubWQK
PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IE1ha2VmaWxlLnVrCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBS
RUFETUUubWQKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGluY2x1ZGUvY29uZmlnLmgKPiAgY3JlYXRl
IG1vZGUgMTAwNjQ0IG1haW4uYwo+IAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlz
dHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xp
c3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Mon Dec 09 20:18:02 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 09 Dec 2019 20:18:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1iePTk-0006pn-Ua; Mon, 09 Dec 2019 20:18:00 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=GqGn=Z7=gmail.com=stefanl.teodorescu@srs-us1.protection.inumbo.net>)
 id 1iePTi-0006pi-Tk
 for minios-devel@lists.xen.org; Mon, 09 Dec 2019 20:17:58 +0000
X-Inumbo-ID: fd6e3be6-1ac0-11ea-88e7-bc764e2007e4
Received: from mail-lj1-x242.google.com (unknown [2a00:1450:4864:20::242])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id fd6e3be6-1ac0-11ea-88e7-bc764e2007e4;
 Mon, 09 Dec 2019 20:17:58 +0000 (UTC)
Received: by mail-lj1-x242.google.com with SMTP id m6so17179386ljc.1
 for <minios-devel@lists.xen.org>; Mon, 09 Dec 2019 12:17:58 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to
 :cc; bh=EQGEVDRh/kLWJ/dCMsvMzfCRcATLqIk8Y4p7qA62ey8=;
 b=Mscu5AZ4d14PTdscwBipag1icu2lLqxq1SZaMAF+hp0ntg7cP3ZXSxsuBSRmCrUXzf
 qfS4qitrOVoT+BpXNRwcgyyt/EmPs3I1HFkByZWx+EyxT1V0yM78pZT+oVTlBDDdzZUF
 Grt21WsO8ZX0fR4lFnRQLahLzHPxqyvoENi9/B42jZe6R2dqYg4DSrRLxp31PFELpI2x
 J+Cw/8OAhe+PAlQWbKTrAYhej9/cevEd5X+eIHZIlN48BLxOUIGdnKL1TrbJ5lcAOciL
 9ufdi81po1lD7YLRp1NXYm8RpTnT0r6gWvr+eOZD40JL76KC1ZSo0m7ZZPNkl7lNcni1
 8QvA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
 :message-id:subject:to:cc;
 bh=EQGEVDRh/kLWJ/dCMsvMzfCRcATLqIk8Y4p7qA62ey8=;
 b=pipMt1+7G1/VmJZCatkw7jhvM8CVyLOzHGw0milAq8YUwU3PxRV2X1PUVkifcd65KY
 VGm2k607FjWWVewVPeD19cheGwLZamwN6qP/1e1bG5WdNtFrqY8TM/Y0gA3VCwbGHxUh
 bZ9+fRfQMwg8kQ6uoYCjQswj++B7tAVz2KwJ29BXsVaoB3bl1mel7zAyu54g4IQoTWIr
 Fc0t4lVC9VrtMuGhRE33Or6G2ndnMk95kvkqkP4kVCjhm5g9I3CTHUd6iHFCps6DUuUi
 hL8CbskQI65uktvK+M5TA4ywDlH4nPV+T5QOqvn9U7xJpPhUE7f8s9QYXi4lKJ2p6psB
 KiHw==
X-Gm-Message-State: APjAAAVtpeXyktu3Sbn3nuPVHLe0PyWpE4gWbY7qpTC7qgZ42WXo9HbL
 tGWkB/VCvtK/JuApKx7qAFEO+/TH4G+p9MowR9A=
X-Google-Smtp-Source: APXvYqxPXHzeF1JothxAidPpSv6DkAHbGbPDno2g4Lj51RJjb1DCBJMBQkhcDn/lUfq0oquQ6JtFRp3poYqg986rmnk=
X-Received: by 2002:a2e:9015:: with SMTP id h21mr1800354ljg.69.1575922677017; 
 Mon, 09 Dec 2019 12:17:57 -0800 (PST)
MIME-Version: 1.0
References: <20191206132516.23126-1-costin.lupu@cs.pub.ro>
In-Reply-To: <20191206132516.23126-1-costin.lupu@cs.pub.ro>
From: Stefan Teodorescu <stefanl.teodorescu@gmail.com>
Date: Mon, 9 Dec 2019 22:17:45 +0200
Message-ID: <CAEiTdV61VnZ4x1ec9qKRND4YGh-6+S9Zv+56Ka6O84pDVNTdLw@mail.gmail.com>
To: Costin Lupu <costin.lupu@cs.pub.ro>
Subject: Re: [Minios-devel] [UNIKRAFT/NEWLIB PATCH] Add missing stubs and
 declarations to support Ruby
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: minios-devel@lists.xen.org
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SSBiZWxpZXZlIHVrL3ByaW50Lmggc2hvdWxkIGFsc28gYmUgaW5jbHVkZWQgaW4gZmlsZS5jLCBm
b3IgdGhlCmV2ZW50ZmQgaW1wbGVtZW50YXRpb24sIHNpbmNlIGl0J3MgYWRkZWQgZXZlcnl3aGVy
ZSwgcmlnaHQ/CgpSZXZpZXdlZC1ieTogU3RlZmFuIFRlb2RvcmVzY3UgPHN0ZWZhbmwudGVvZG9y
ZXNjdUBnbWFpbC5jb20+CgpPbiBGcmksIERlYyA2LCAyMDE5IGF0IDM6MjUgUE0gQ29zdGluIEx1
cHUgPGNvc3Rpbi5sdXB1QGNzLnB1Yi5ybz4gd3JvdGU6Cj4KPiBTaWduZWQtb2ZmLWJ5OiBDb3N0
aW4gTHVwdSA8Y29zdGluLmx1cHVAY3MucHViLnJvPgo+IC0tLQo+ICBjb25zb2xlLmMgICAgICAg
ICAgfCA4ICsrKysrKysrCj4gIGZpbGUuYyAgICAgICAgICAgICB8IDcgKysrKysrKwo+ICBpbmNs
dWRlL3N5cy9wb2xsLmggfCA1ICsrKysrCj4gIHNpZ25hbC5jICAgICAgICAgICB8IDggKysrKysr
KysKPiAgNCBmaWxlcyBjaGFuZ2VkLCAyOCBpbnNlcnRpb25zKCspCj4KPiBkaWZmIC0tZ2l0IGEv
Y29uc29sZS5jIGIvY29uc29sZS5jCj4gaW5kZXggYmY5Y2ZlOC4uNmVjODRjZCAxMDA2NDQKPiAt
LS0gYS9jb25zb2xlLmMKPiArKysgYi9jb25zb2xlLmMKPiBAQCAtMzgsNiArMzgsNyBAQAo+ICAj
aW5jbHVkZSA8ZXJybm8uaD4KPiAgI2luY2x1ZGUgPHN5cy9zdGF0Lmg+Cj4gICNpbmNsdWRlIDx1
ay9lc3NlbnRpYWxzLmg+Cj4gKyNpbmNsdWRlIDx1ay9wcmludC5oPgo+Cj4gIGludCBpc2F0dHko
aW50IGZkKQo+ICB7Cj4gQEAgLTYzLDMgKzY0LDEwIEBAIGNoYXIgKmN0ZXJtaWQoY2hhciAqcyBf
X3VudXNlZCkKPiAgewo+ICAgICAgICAgcmV0dXJuIDA7Cj4gIH0KPiArCj4gK2ludCBncmFudHB0
KGludCBmZCkKPiArewo+ICsgICAgICAgV0FSTl9TVFVCQkVEKCk7Cj4gKyAgICAgICBlcnJubyA9
IEVOT1RTVVA7Cj4gKyAgICAgICByZXR1cm4gLTE7Cj4gK30KPiBkaWZmIC0tZ2l0IGEvZmlsZS5j
IGIvZmlsZS5jCj4gaW5kZXggN2E2ZTA0Ni4uODEyN2VlMCAxMDA2NDQKPiAtLS0gYS9maWxlLmMK
PiArKysgYi9maWxlLmMKPiBAQCAtNzksNiArNzksMTMgQEAgaW50IHNlbGVjdChpbnQgbmZkcywg
ZmRfc2V0ICpyZWFkZmRzIF9fdW51c2VkLCBmZF9zZXQgKndyaXRlZmRzIF9fdW51c2VkLAo+ICB9
Cj4gICNlbmRpZiAvKiAhQ09ORklHX0xXSVBfU09DS0VUICovCj4KPiAraW50IGV2ZW50ZmQodW5z
aWduZWQgaW50IGluaXR2YWwsIGludCBmbGFncykKPiArewo+ICsgICAgICAgV0FSTl9TVFVCQkVE
KCk7Cj4gKyAgICAgICBlcnJubyA9IEVOT1RTVVA7Cj4gKyAgICAgICByZXR1cm4gLTE7Cj4gK30K
PiArCj4gIGNoYXIgKnJlYWxwYXRoKGNvbnN0IGNoYXIgKnJlc3RyaWN0IGZpbGVfbmFtZSwgY2hh
ciAqcmVzdHJpY3QgcmVzb2x2ZWRfbmFtZSkKPiAgewo+ICAgICAgICAgcmV0dXJuIDA7Cj4gZGlm
ZiAtLWdpdCBhL2luY2x1ZGUvc3lzL3BvbGwuaCBiL2luY2x1ZGUvc3lzL3BvbGwuaAo+IGluZGV4
IDA4Mjc3MzguLjQ0NmFiM2YgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9zeXMvcG9sbC5oCj4gKysr
IGIvaW5jbHVkZS9zeXMvcG9sbC5oCj4gQEAgLTg0LDQgKzg0LDkgQEAgc3RydWN0IHBvbGxmZCB7
Cj4KPiAgaW50IHBvbGwoc3RydWN0IHBvbGxmZCBfcGZkW10sIG5mZHNfdCBfbmZkcywgaW50IF90
aW1lb3V0KTsKPgo+ICsjaWZkZWYgX0dOVV9TT1VSQ0UKPiAraW50IHBwb2xsKHN0cnVjdCBwb2xs
ZmQgKmZkcywgbmZkc190IG5mZHMsCj4gKyAgICAgICAgY29uc3Qgc3RydWN0IHRpbWVzcGVjICp0
bW9fcCwgY29uc3Qgc2lnc2V0X3QgKnNpZ21hc2spOwo+ICsjZW5kaWYKPiArCj4gICNlbmRpZiAv
KiBfUE9TSVhfU1lTX1BPTExfSF8gKi8KPiBkaWZmIC0tZ2l0IGEvc2lnbmFsLmMgYi9zaWduYWwu
Ywo+IGluZGV4IDA1MzAyOTEuLjQyNzllZTcgMTAwNjQ0Cj4gLS0tIGEvc2lnbmFsLmMKPiArKysg
Yi9zaWduYWwuYwo+IEBAIC0zMyw2ICszMyw3IEBACj4gICAqLwo+Cj4gICNpbmNsdWRlIDx1ay9w
cm9jZXNzLmg+Cj4gKyNpbmNsdWRlIDx1ay9wcmludC5oPgo+ICAjaW5jbHVkZSA8ZXJybm8uaD4K
PiAgI2luY2x1ZGUgPHNpZ25hbC5oPgo+Cj4gQEAgLTc3LDMgKzc4LDEwIEBAIGludCBraWxscGco
aW50IHBncnAsIGludCBzaWcgX191bnVzZWQpCj4gICAgICAgICAgICAgICAgIGVycm5vID0gRVNS
Q0g7Cj4gICAgICAgICByZXR1cm4gLTE7Cj4gIH0KPiArCj4gK2ludCBzaWdhbHRzdGFjayhjb25z
dCBzdGFja190ICpzcywgc3RhY2tfdCAqb2xkX3NzKQo+ICt7Cj4gKyAgICAgICBXQVJOX1NUVUJC
RUQoKTsKPiArICAgICAgIGVycm5vID0gRU5PVFNVUDsKPiArICAgICAgIHJldHVybiAtMTsKPiAr
fQo+IC0tCj4gMi4yMC4xCj4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhl
bnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5m
by9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Mon Dec 09 20:43:04 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 09 Dec 2019 20:43:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1iePry-0000dW-T9; Mon, 09 Dec 2019 20:43:02 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=f/Cn=Z7=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1iePry-0000dR-8J
 for minios-devel@lists.xen.org; Mon, 09 Dec 2019 20:43:02 +0000
X-Inumbo-ID: 7c5f5aea-1ac4-11ea-886c-12813bfff9fa
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id 7c5f5aea-1ac4-11ea-886c-12813bfff9fa;
 Mon, 09 Dec 2019 20:42:59 +0000 (UTC)
IronPort-SDR: ifE58i4C1yh67oR4YkKkzitUk0/hbi/bebfsz9xCKJMHncwJXxgj/B067fYfkKfcCnDfxH8AVs
 bbbTybQXuBKA==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 09 Dec 2019 22:42:56 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 430611A6001B;
 Mon,  9 Dec 2019 22:42:57 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id 3ugSft9Urqti; Mon,  9 Dec 2019 22:42:57 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 2826F1A6005F;
 Mon,  9 Dec 2019 22:42:57 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id xRzK_S9LbGeB; Mon,  9 Dec 2019 22:42:57 +0200 (EET)
Received: from [192.168.1.103] (unknown [86.123.33.61])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 0250B1A6001B;
 Mon,  9 Dec 2019 22:42:56 +0200 (EET)
To: Stefan Teodorescu <stefanl.teodorescu@gmail.com>
References: <20191206132516.23126-1-costin.lupu@cs.pub.ro>
 <CAEiTdV61VnZ4x1ec9qKRND4YGh-6+S9Zv+56Ka6O84pDVNTdLw@mail.gmail.com>
From: Costin Lupu <costin.lupu@cs.pub.ro>
Message-ID: <31acc68b-44a7-ae4e-75b0-b93ec240c82b@cs.pub.ro>
Date: Mon, 9 Dec 2019 22:42:55 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.2.2
MIME-Version: 1.0
In-Reply-To: <CAEiTdV61VnZ4x1ec9qKRND4YGh-6+S9Zv+56Ka6O84pDVNTdLw@mail.gmail.com>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT/NEWLIB PATCH] Add missing stubs and
 declarations to support Ruby
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: minios-devel@lists.xen.org
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

T24gMTIvOS8xOSAxMDoxNyBQTSwgU3RlZmFuIFRlb2RvcmVzY3Ugd3JvdGU6Cj4gSSBiZWxpZXZl
IHVrL3ByaW50Lmggc2hvdWxkIGFsc28gYmUgaW5jbHVkZWQgaW4gZmlsZS5jLCBmb3IgdGhlCj4g
ZXZlbnRmZCBpbXBsZW1lbnRhdGlvbiwgc2luY2UgaXQncyBhZGRlZCBldmVyeXdoZXJlLCByaWdo
dD8KPiAKPiBSZXZpZXdlZC1ieTogU3RlZmFuIFRlb2RvcmVzY3UgPHN0ZWZhbmwudGVvZG9yZXNj
dUBnbWFpbC5jb20+CgpUaGF0J3MgcmlnaHQuIEkgd2lsbCBhbHNvIGFkZCB0aGUgZGVjbGFyYXRp
b24gZm9yIGBwb3NpeF9mYWR2aXNlYCBpbgo8ZmNudGwuaD4gYmVjYXVzZSBJIGZvcmdvdCBpdC4K
CkNoZWVycywKQ29zdGluCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5w
cm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8v
bWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Mon Dec 09 20:44:30 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 09 Dec 2019 20:44:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1iePtO-0000fq-1s; Mon, 09 Dec 2019 20:44:30 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=GqGn=Z7=gmail.com=stefanl.teodorescu@srs-us1.protection.inumbo.net>)
 id 1iePtN-0000fl-3S
 for minios-devel@lists.xen.org; Mon, 09 Dec 2019 20:44:29 +0000
X-Inumbo-ID: b128678a-1ac4-11ea-a914-bc764e2007e4
Received: from mail-lf1-x141.google.com (unknown [2a00:1450:4864:20::141])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id b128678a-1ac4-11ea-a914-bc764e2007e4;
 Mon, 09 Dec 2019 20:44:28 +0000 (UTC)
Received: by mail-lf1-x141.google.com with SMTP id v201so11793383lfa.11
 for <minios-devel@lists.xen.org>; Mon, 09 Dec 2019 12:44:28 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to
 :cc; bh=JMoYSa0joMBZ3k5iEpPGF334h1o0frzrFDwWK2uq6No=;
 b=Vio7S4s830RHYjzoHcusiUf2LcGDHDotyEygklWuAmb6mfHJMhrQrOjISkmGRUeKza
 LvgQjRq/piojYVu8tWSTyavce4mCGMuuZG3d4Em7KbhBrMVkWByx6SLudfegDEKvVTss
 UYA82En8sgNs6Ay37nWtuh/uWsUou1OBhxIDazvd21zamdDzimt2rIQVoERZuGDV19im
 2EFrKoUhs81Zxww8S3ZtoxflEIDaVK40A/YFmUjFJXrZQtPVUMPQs7BpVXfSHySP8bgJ
 /h5NWr72esA3xnUAFNFJ6DQxYv5sXr1OILDGkaLkspcdfJNYh0hpIb4vS8TASBybuXci
 Abpw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
 :message-id:subject:to:cc;
 bh=JMoYSa0joMBZ3k5iEpPGF334h1o0frzrFDwWK2uq6No=;
 b=pmPh+GsQYa6F7jG5k63giroQURLXp9urc4JcMmgk+UBlQNXvDRc6hJed+UnYd4MH/P
 VvtdWWGpefRMGbTse5HM3PY6uo5mOmrFTTV1QYjKWBsLoRpgOeCKEZOZDRf1i4mfmZsW
 jTXx8bhx3Qu+JQBYCzr8bdDH0LxAOkgLMJZRfuAVJfZE8B1ktTqmczcDvXCF9UdL6eyn
 Rmxhup2MZZPflha/d0H4gPbjXQxAyIFy5xMyLNT+/kY0FnN0CqESTbqpk+/SrE5haR9X
 LLMwSQXF/r6OGzL/4VXKFfsKiy/x7fvVgyD7/g6b25kZXrm7XKXzPE6qGD8EWDWRwdKQ
 3AbA==
X-Gm-Message-State: APjAAAXx9KcaPN3OB97UMIDD6FQmbU3qSSnsTYX5om/L9Cm03EMM8NeI
 cubWi56+39MDSV2OL474v/bXVM9IdDZcaDKjE/o=
X-Google-Smtp-Source: APXvYqxyrth6sRE9QwZiWavMQmG7ESAOQNMl9fdAWBbZLLbT4wKSuTem5BlpZrUrGUl8eYlIQPRON0tK838AfvnqvQI=
X-Received: by 2002:a19:8456:: with SMTP id g83mr9419619lfd.0.1575924266889;
 Mon, 09 Dec 2019 12:44:26 -0800 (PST)
MIME-Version: 1.0
References: <20191208095507.27384-1-costin.lupu@cs.pub.ro>
 <20191208095507.27384-2-costin.lupu@cs.pub.ro>
In-Reply-To: <20191208095507.27384-2-costin.lupu@cs.pub.ro>
From: Stefan Teodorescu <stefanl.teodorescu@gmail.com>
Date: Mon, 9 Dec 2019 22:44:15 +0200
Message-ID: <CAEiTdV5L998xedoMpL+1rL2SnHD_iU4LoJx42zET=f95q3Jn+g@mail.gmail.com>
To: Costin Lupu <costin.lupu@cs.pub.ro>
Subject: Re: [Minios-devel] [UNIKRAFT/RUBY PATCH 01/16] Introduce library
 skeleton
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Andrei Gogonea <andrei.gogonea09@gmail.com>, minios-devel@lists.xen.org
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

TUFJTlRBSU5FUlMubWQ6IGNoYW5nZSBMSUIkbGlibmFtZWNhcHMtVU5JS1JBRlQgdG8gTElCUlVC
WS1VTklLUkFGVApDT1BZSU5HLm1kOiByZXBsYWNlICRsaWJuYW1lIHdpdGggUnVieQoKUmV2aWV3
ZWQtYnk6IFN0ZWZhbiBUZW9kb3Jlc2N1IDxzdGVmYW5sLnRlb2RvcmVzY3VAZ21haWwuY29tPgoK
Ck9uIFN1biwgRGVjIDgsIDIwMTkgYXQgMTE6NTUgQU0gQ29zdGluIEx1cHUgPGNvc3Rpbi5sdXB1
QGNzLnB1Yi5ybz4gd3JvdGU6Cj4KPiBGcm9tOiBBbmRyZWkgR29nb25lYSA8YW5kcmVpLmdvZ29u
ZWEwOUBnbWFpbC5jb20+Cj4KPiBXZSB1c2UgdGhlIEJTRC0zIGxpY2Vuc2UuCj4KPiBTaWduZWQt
b2ZmLWJ5OiBBbmRyZWkgR29nb25lYSA8YW5kcmVpLmdvZ29uZWEwOUBnbWFpbC5jb20+Cj4gU2ln
bmVkLW9mZi1ieTogQ29zdGluIEx1cHUgPGNvc3Rpbi5sdXB1QGNzLnB1Yi5ybz4KPiAtLS0KPiAg
LmdpdGlnbm9yZSAgICAgIHwgMjcgKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gIENPRElO
R19TVFlMRS5tZCB8ICA0ICsrKysKPiAgQ09OVFJJQlVUSU5HLm1kIHwgIDQgKysrKwo+ICBDT1BZ
SU5HLm1kICAgICAgfCAzOSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysK
PiAgQ29uZmlnLnVrICAgICAgIHwgMTAgKysrKysrKysrKwo+ICBNQUlOVEFJTkVSUy5tZCAgfCAx
MSArKysrKysrKysrKwo+ICBSRUFETUUubWQgICAgICAgfCAgOSArKysrKysrKysKPiAgNyBmaWxl
cyBjaGFuZ2VkLCAxMDQgaW5zZXJ0aW9ucygrKQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgLmdpdGln
bm9yZQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgQ09ESU5HX1NUWUxFLm1kCj4gIGNyZWF0ZSBtb2Rl
IDEwMDY0NCBDT05UUklCVVRJTkcubWQKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IENPUFlJTkcubWQK
PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IENvbmZpZy51awo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgTUFJ
TlRBSU5FUlMubWQKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IFJFQURNRS5tZAo+Cj4gZGlmZiAtLWdp
dCBhLy5naXRpZ25vcmUgYi8uZ2l0aWdub3JlCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRl
eCAwMDAwMDAwLi43NWQyZmQzCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiLy5naXRpZ25vcmUKPiBA
QCAtMCwwICsxLDI3IEBACj4gKyouZGVwZW5kCj4gKyoubwo+ICsqLmEKPiArKi5kCj4gKyouc28K
PiArKi5vcmlnCj4gKyoucmVqCj4gKyouYmFrCj4gKyouc3dwCj4gKyp+Cj4gKywqCj4gK1wjKlwj
Cj4gKy5cIyoKPiArXCNfKlwjCj4gKy5cI18qCj4gKyEuZ2l0aWdub3JlCj4gKy4qCj4gKwo+ICsj
IGdudSBnbG9iYWwgZmlsZXMKPiArR1BBVEgKPiArR1JUQUdTCj4gK0dTWU1TCj4gK0dUQUdTCj4g
Kwo+ICsjIGNzY29wZSBmaWxlcwo+ICtjc2NvcGUuKgo+ICtuY3Njb3BlLioKPiBkaWZmIC0tZ2l0
IGEvQ09ESU5HX1NUWUxFLm1kIGIvQ09ESU5HX1NUWUxFLm1kCj4gbmV3IGZpbGUgbW9kZSAxMDA2
NDQKPiBpbmRleCAwMDAwMDAwLi41NzMwMDQxCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL0NPRElO
R19TVFlMRS5tZAo+IEBAIC0wLDAgKzEsNCBAQAo+ICtDb2RpbmcgU3R5bGUKPiArPT09PT09PT09
PT09Cj4gKwo+ICtQbGVhc2UgcmVmZXIgdG8gdGhlIGBDT0RJTkdfU1RZTEUubWRgIGZpbGUgaW4g
dGhlIG1haW4gVW5pa3JhZnQgcmVwb3NpdG9yeS4KPiBkaWZmIC0tZ2l0IGEvQ09OVFJJQlVUSU5H
Lm1kIGIvQ09OVFJJQlVUSU5HLm1kCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAw
MDAwLi4xNGY2YWM2Cj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL0NPTlRSSUJVVElORy5tZAo+IEBA
IC0wLDAgKzEsNCBAQAo+ICtDb250cmlidXRpbmcgdG8gVW5pa3JhZnQKPiArPT09PT09PT09PT09
PT09PT09PT09PT09Cj4gKwo+ICtQbGVhc2UgcmVmZXIgdG8gdGhlIGBDT05UUklCVVRJTkcubWRg
IGZpbGUgaW4gdGhlIG1haW4gVW5pa3JhZnQgcmVwb3NpdG9yeS4KPiBkaWZmIC0tZ2l0IGEvQ09Q
WUlORy5tZCBiL0NPUFlJTkcubWQKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAw
MDAuLjRmMDFlY2EKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvQ09QWUlORy5tZAo+IEBAIC0wLDAg
KzEsMzkgQEAKPiArTGljZW5zZQo+ICs9PT09PT09Cj4gKwo+ICtVbmlrcmFmdCAkbGlibmFtZSB3
cmFwcGVycwo+ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gKwo+ICtUaGlz
IHJlcG9zaXRvcnkgY29udGFpbnMgd3JhcHBlciBjb2RlIHRvIGJ1aWxkICRsaWJuYW1lIHdpdGgg
VW5pa3JhZnQuCj4gK0VhY2ggQyBjb2RlIGZpbGUgaW4gdGhpcyByZXBvc2l0b3J5IHNob3VsZCBk
ZWNsYXJlIHdobyBpcyB0aGUKPiArY29weXJpZ2h0IG93bmVyIGFuZCB1bmRlciB3aGljaCB0ZXJt
cyBhbmQgY29uZGl0aW9ucyB0aGUgY29kZSBpcwo+ICtsaWNlbnNlZC4gSWYgc3VjaCBhIGxpY2Vu
Y2Ugbm90ZSBpcyBtaXNzaW5nLCB0aGUgZm9sbG93aW5nIGNvcHlyaWdodAo+ICtub3RpY2Ugd2ls
bCBhcHBseToKPiArCj4gKyAgICAgICBDb3B5cmlnaHQgKGMpIFllYXIsIEluc3RpdHV0aW9uLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgo+ICsKPiArICAgICAgIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAo+ICsgICAgICAgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCj4gKyAgICAgICBhcmUgbWV0Ogo+ICsKPiArICAgICAgIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cj4gKyAgICAg
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCj4gKyAgICAgICAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAo+ICsgICAgICAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQo+
ICsgICAgICAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KPiArICAgICAgIDMuIE5laXRoZXIgdGhlIG5hbWUgb2Yg
dGhlIGNvcHlyaWdodCBob2xkZXIgbm9yIHRoZSBuYW1lcyBvZiBpdHMKPiArICAgICAgICAgIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tCj4gKyAgICAgICAgICB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgo+ICsKPiArICAgICAgIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIgo+
ICsgICAgICAgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQo+ICsgICAgICAgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKPiAr
ICAgICAgIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhP
TERFUiBPUiBDT05UUklCVVRPUlMgQkUKPiArICAgICAgIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKPiArICAgICAgIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCj4gKyAgICAgICBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKPiArICAgICAgIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCj4gKyAgICAgICBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQo+ICsgICAgICAgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUK
PiArICAgICAgIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgo+ICsKPiBkaWZmIC0tZ2l0IGEv
Q29uZmlnLnVrIGIvQ29uZmlnLnVrCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAw
MDAwLi5hMTFiZTM0Cj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL0NvbmZpZy51awo+IEBAIC0wLDAg
KzEsMTAgQEAKPiArbWVudWNvbmZpZyBMSUJSVUJZCj4gKyAgICAgICBib29sICJSdWJ5Igo+ICsg
ICAgICAgZGVmYXVsdCBuCj4gKyAgICAgICBzZWxlY3QgTElCTk9MSUJDIGlmICFIQVZFX0xJQkMK
PiArICAgICAgIHNlbGVjdCBMSUJVS0RFQlVHCj4gKyAgICAgICBzZWxlY3QgTElCVUtBTExPQwo+
ICsgICAgICAgc2VsZWN0IExJQlVLU0NIRUQKPiArCj4gK2lmIExJQlJVQlkKPiArZW5kaWYKPiBk
aWZmIC0tZ2l0IGEvTUFJTlRBSU5FUlMubWQgYi9NQUlOVEFJTkVSUy5tZAo+IG5ldyBmaWxlIG1v
ZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMC4uMmRhZTU5Zgo+IC0tLSAvZGV2L251bGwKPiArKysg
Yi9NQUlOVEFJTkVSUy5tZAo+IEBAIC0wLDAgKzEsMTEgQEAKPiArTWFpbnRhaW5lcnMgTGlzdAo+
ICs9PT09PT09PT09PT09PT09Cj4gKwo+ICtGb3Igbm90ZXMgb24gaG93IHRvIHJlYWQgdGhpcyBp
bmZvcm1hdGlvbiwgcGxlYXNlIHJlZmVyIHRvIGBNQUlOVEFJTkVSUy5tZGAgaW4KPiArdGhlIG1h
aW4gVW5pa3JhZnQgcmVwb3NpdG9yeS4KPiArCj4gKyAgICAgICBMSUIkbGlibmFtZWNhcHMtVU5J
S1JBRlQKPiArICAgICAgIE06ICAgICAgQ29zdGluIEx1cHUgPGNvc3Rpbi5sdXB1QGNzLnB1Yi5y
bz4KPiArICAgICAgIE06ICAgICAgRmVsaXBlIEh1aWNpIDxmZWxpcGUuaHVpY2lAbmVjbGFiLmV1
Pgo+ICsgICAgICAgTDogICAgICBtaW5pb3MtZGV2ZWxAbGlzdHMueGVuLm9yZwo+ICsgICAgICAg
RjogKgo+IGRpZmYgLS1naXQgYS9SRUFETUUubWQgYi9SRUFETUUubWQKPiBuZXcgZmlsZSBtb2Rl
IDEwMDY0NAo+IGluZGV4IDAwMDAwMDAuLjdhOGQzODAKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIv
UkVBRE1FLm1kCj4gQEAgLTAsMCArMSw5IEBACj4gK1J1YnkgZm9yIFVuaWtyYWZ0Cj4gKz09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Cj4gKwo+ICtUaGlzIGlzIHRoZSBwb3J0IG9mIFJ1Ynkg
Zm9yIFVuaWtyYWZ0IGFzIGV4dGVybmFsIGxpYnJhcnkuCj4gKwo+ICtUT0RPCj4gKwo+ICtQbGVh
c2UgcmVmZXIgdG8gdGhlIGBSRUFETUUubWRgIGFzIHdlbGwgYXMgdGhlIGRvY3VtZW50YXRpb24g
aW4gdGhlIGBkb2MvYAo+ICtzdWJkaXJlY3Rvcnkgb2YgdGhlIG1haW4gdW5pa3JhZnQgcmVwb3Np
dG9yeS4KPiAtLQo+IDIuMjAuMQo+Cj4KPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwo+IE1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKPiBNaW5pb3MtZGV2
ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKPiBodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21h
aWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVsCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZl
bEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxt
YW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Mon Dec 09 21:09:26 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 09 Dec 2019 21:09:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ieQHU-0002KP-2W; Mon, 09 Dec 2019 21:09:24 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=GqGn=Z7=gmail.com=stefanl.teodorescu@srs-us1.protection.inumbo.net>)
 id 1ieQHS-0002KK-U1
 for minios-devel@lists.xen.org; Mon, 09 Dec 2019 21:09:22 +0000
X-Inumbo-ID: 2b0e5d04-1ac8-11ea-88e7-bc764e2007e4
Received: from mail-lj1-x242.google.com (unknown [2a00:1450:4864:20::242])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 2b0e5d04-1ac8-11ea-88e7-bc764e2007e4;
 Mon, 09 Dec 2019 21:09:21 +0000 (UTC)
Received: by mail-lj1-x242.google.com with SMTP id d20so17273949ljc.12
 for <minios-devel@lists.xen.org>; Mon, 09 Dec 2019 13:09:21 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to
 :cc; bh=WUD5xaSzMnTWSD+5QCi7ZWGKEgpRLAtKkGJhchTKSWw=;
 b=Fj2cHRGsWQ5ieuHcc1dVwLLl1rQ7iFj/X6M3FNZxIeZidCLfgrWwIv6lziJKCvBvcU
 t/oFuboF4CnqLBTPXWBD/v/Zvg4knPmN+/fvd6F6G8AsSW8GODrumZr9MLQdOCGZsyeg
 RhRwlG/JKol+eEJ9kF8j95ADB4JaUeY1A2R0m5km357R1Y4VFJP5CgsUm3TMHNgKNdFJ
 qZFQe938kpk9UfnFs4CNhpofh2P3Yq+glGSei47oao7GodYfZ5K6C84yTb0CM4fCb1WK
 J13Nv911S9E/bHrWXMQE5gKJfqI5prsnfQbNvERouj/9+ZW+SH1UXcWn6DBG0wDRjQtM
 q+uw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
 :message-id:subject:to:cc;
 bh=WUD5xaSzMnTWSD+5QCi7ZWGKEgpRLAtKkGJhchTKSWw=;
 b=sS8pV4ctDC4+kl8GTGOcm7LGqwIunarcsVwGQQllf11qgVUyQ0phzWhg2vdtyUI2GA
 PLDYyZO5b0TwRAfoa4Q+XJEDSn6mfSkNG1lMCiv9Ik6Kd28oLwjp7HNZtqaB3xpuP6wJ
 Jy2ASV/TK1HAIxc6z3pM7E8ueeGq/gICkV8YtcovH0Wsvy0wwBVYRb6t0A+vgmTSjmQp
 5K8qJOHHMhYwwNEyeJAlnsD1mwctxDSUkTlPr1QCbUtRI/79q/W9GiRM04MwcEewDWPa
 SZB/vQAtIiM4Pe1L2lt1u4D3vQH55l1h42GRtEyA/U9PsOSG2+u8GFvQT7jaKXY3jzDc
 /Mcg==
X-Gm-Message-State: APjAAAU64dJ1PJB8BaUf3PGnMw7nUWNkIVt9yxH5sxiUR8GidF4NIHKg
 BJ+Cd1zexg5/99gkr9U4CUMVBk/+xh8plB0mZNk=
X-Google-Smtp-Source: APXvYqypmYkQIlF0j6m7IGGYlLJrtAmAr6ZVNQpJVi4c7wPsAMc2VLFBXe7woJkSE8kF9bUen9PL2Z89bm5lqbxMIMI=
X-Received: by 2002:a2e:8953:: with SMTP id b19mr16503012ljk.249.1575925760070; 
 Mon, 09 Dec 2019 13:09:20 -0800 (PST)
MIME-Version: 1.0
References: <20191208095507.27384-1-costin.lupu@cs.pub.ro>
 <20191208095507.27384-3-costin.lupu@cs.pub.ro>
In-Reply-To: <20191208095507.27384-3-costin.lupu@cs.pub.ro>
From: Stefan Teodorescu <stefanl.teodorescu@gmail.com>
Date: Mon, 9 Dec 2019 23:09:08 +0200
Message-ID: <CAEiTdV6G5skhei5Msf1vHzGXaRSLLtW8X2Lai33OSh7W1KXoGg@mail.gmail.com>
To: Costin Lupu <costin.lupu@cs.pub.ro>
Subject: Re: [Minios-devel] [UNIKRAFT/RUBY PATCH 02/16] ruby/config.h:
 Introduce generated configuration file
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Andrei Gogonea <andrei.gogonea09@gmail.com>, minios-devel@lists.xen.org
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

UmV2aWV3ZWQtYnk6IFN0ZWZhbiBUZW9kb3Jlc2N1IDxzdGVmYW5sLnRlb2RvcmVzY3VAZ21haWwu
Y29tPgoKT24gU3VuLCBEZWMgOCwgMjAxOSBhdCAxMTo1NSBBTSBDb3N0aW4gTHVwdSA8Y29zdGlu
Lmx1cHVAY3MucHViLnJvPiB3cm90ZToKPgo+IEZyb206IEFuZHJlaSBHb2dvbmVhIDxhbmRyZWku
Z29nb25lYTA5QGdtYWlsLmNvbT4KPgo+IFNpZ25lZC1vZmYtYnk6IEFuZHJlaSBHb2dvbmVhIDxh
bmRyZWkuZ29nb25lYTA5QGdtYWlsLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBDb3N0aW4gTHVwdSA8
Y29zdGluLmx1cHVAY3MucHViLnJvPgo+IC0tLQo+ICBpbmNsdWRlL3J1YnkvY29uZmlnLmggfCA0
MjUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gIDEgZmlsZSBj
aGFuZ2VkLCA0MjUgaW5zZXJ0aW9ucygrKQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgaW5jbHVkZS9y
dWJ5L2NvbmZpZy5oCj4KPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9ydWJ5L2NvbmZpZy5oIGIvaW5j
bHVkZS9ydWJ5L2NvbmZpZy5oCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAw
Li43NDM3ZjIxCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2luY2x1ZGUvcnVieS9jb25maWcuaAo+
IEBAIC0wLDAgKzEsNDI1IEBACj4gKyNpZm5kZWYgSU5DTFVERV9SVUJZX0NPTkZJR19ICj4gKyNk
ZWZpbmUgSU5DTFVERV9SVUJZX0NPTkZJR19IIDEKPiArLyogY29uZmRlZnMuaCAqLwo+ICsjZGVm
aW5lIFNURENfSEVBREVSUyAxCj4gKyNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCj4gKyNkZWZp
bmUgSEFWRV9TWVNfU1RBVF9IIDEKPiArI2RlZmluZSBIQVZFX1NURExJQl9IIDEKPiArI2RlZmlu
ZSBIQVZFX1NUUklOR19IIDEKPiArI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKPiArI2RlZmluZSBI
QVZFX1NUUklOR1NfSCAxCj4gKyNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKPiArI2RlZmluZSBI
QVZFX1NURElOVF9IIDEKPiArI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKPiArI2RlZmluZSBfX0VY
VEVOU0lPTlNfXyAxCj4gKyNkZWZpbmUgX0FMTF9TT1VSQ0UgMQo+ICsjZGVmaW5lIF9HTlVfU09V
UkNFIDEKPiArI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQo+ICsjZGVmaW5lIF9U
QU5ERU1fU09VUkNFIDEKPiArI2RlZmluZSBSVUJZX1NZTUJPTF9FWFBPUlRfQkVHSU4gX1ByYWdt
YSgiR0NDIHZpc2liaWxpdHkgcHVzaChkZWZhdWx0KSIpCj4gKyNkZWZpbmUgUlVCWV9TWU1CT0xf
RVhQT1JUX0VORCBfUHJhZ21hKCJHQ0MgdmlzaWJpbGl0eSBwb3AiKQo+ICsjZGVmaW5lIEhBVkVf
U1RNVF9BTkRfREVDTF9JTl9FWFBSIDEKPiArI2RlZmluZSBIQVZFX0xJQkNSWVBUIDEKPiArI2Rl
ZmluZSBIQVZFX0xJQkRMIDEKPiArI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKPiArI2RlZmluZSBI
QVZFX19CT09MIDEKPiArI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCj4gKyNkZWZpbmUgSEFWRV9T
WVNfV0FJVF9IIDEKPiArI2RlZmluZSBIQVZFX0FfT1VUX0ggMQo+ICsjZGVmaW5lIEhBVkVfR1JQ
X0ggMQo+ICsjZGVmaW5lIEhBVkVfRkNOVExfSCAxCj4gKyNkZWZpbmUgSEFWRV9GTE9BVF9IIDEK
PiArI2RlZmluZSBIQVZFX0xBTkdJTkZPX0ggMQo+ICsjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQo+
ICsjZGVmaW5lIEhBVkVfTE9DQUxFX0ggMQo+ICsjZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQo+ICsj
ZGVmaW5lIEhBVkVfUFdEX0ggMQo+ICsjZGVmaW5lIEhBVkVfU0FOSVRJWkVSX0FTQU5fSU5URVJG
QUNFX0ggMQo+ICsjZGVmaW5lIEhBVkVfU1REQUxJR05fSCAxCj4gKyNkZWZpbmUgSEFWRV9TWVNf
RVZFTlRGRF9IIDEKPiArI2RlZmluZSBIQVZFX1NZU19GQ05UTF9IIDEKPiArI2RlZmluZSBIQVZF
X1NZU19GSUxFX0ggMQo+ICsjZGVmaW5lIEhBVkVfU1lTX0lPQ1RMX0ggMQo+ICsjZGVmaW5lIEhB
VkVfU1lTX1BBUkFNX0ggMQo+ICsjZGVmaW5lIEhBVkVfU1lTX1BSQ1RMX0ggMQo+ICsjZGVmaW5l
IEhBVkVfU1lTX1JFU09VUkNFX0ggMQo+ICsjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKPiAr
I2RlZmluZSBIQVZFX1NZU19TRU5ERklMRV9IIDEKPiArI2RlZmluZSBIQVZFX1NZU19TT0NLRVRf
SCAxCj4gKyNkZWZpbmUgSEFWRV9TWVNfU1lTQ0FMTF9IIDEKPiArI2RlZmluZSBIQVZFX1NZU19T
WVNNQUNST1NfSCAxCj4gKyNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKPiArI2RlZmluZSBIQVZF
X1NZU19USU1FU19IIDEKPiArI2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCj4gKyNkZWZpbmUgSEFW
RV9TWVNDQUxMX0ggMQo+ICsjZGVmaW5lIEhBVkVfVElNRV9IIDEKPiArI2RlZmluZSBIQVZFX1VD
T05URVhUX0ggMQo+ICsjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCj4gKyNkZWZpbmUgSEFWRV9UWVBF
T0YgMQo+ICsjZGVmaW5lIEhBVkVfTE9OR19MT05HIDEKPiArI2RlZmluZSBIQVZFX09GRl9UIDEK
PiArI2RlZmluZSBTSVpFT0ZfSU5UIDQKPiArI2RlZmluZSBTSVpFT0ZfU0hPUlQgMgo+ICsjZGVm
aW5lIFNJWkVPRl9MT05HIDgKPiArI2RlZmluZSBTSVpFT0ZfTE9OR19MT05HIDgKPiArI2RlZmlu
ZSBTSVpFT0ZfX19JTlQ2NCAwCj4gKyNkZWZpbmUgU0laRU9GX19fSU5UMTI4IDE2Cj4gKyNkZWZp
bmUgU0laRU9GX09GRl9UIDgKPiArI2RlZmluZSBTSVpFT0ZfVk9JRFAgOAo+ICsjZGVmaW5lIFNJ
WkVPRl9GTE9BVCA0Cj4gKyNkZWZpbmUgU0laRU9GX0RPVUJMRSA4Cj4gKyNkZWZpbmUgU0laRU9G
X1RJTUVfVCA4Cj4gKyNkZWZpbmUgU0laRU9GX0NMT0NLX1QgOAo+ICsjZGVmaW5lIFBBQ0tFRF9T
VFJVQ1QoeCkgeCBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKQo+ICsjZGVmaW5lIFVTRV9VTkFMSUdO
RURfTUVNQkVSX0FDQ0VTUyAxCj4gKyNkZWZpbmUgUFJJX0xMX1BSRUZJWCAibGwiCj4gKyNkZWZp
bmUgSEFWRV9QSURfVCAxCj4gKyNkZWZpbmUgcmJfcGlkX3QgcGlkX3QKPiArI2RlZmluZSBTSUdO
RURORVNTX09GX1BJRF9UIC0xCj4gKyNkZWZpbmUgUElEVDJOVU0odikgSU5UMk5VTSh2KQo+ICsj
ZGVmaW5lIE5VTTJQSURUKHYpIE5VTTJJTlQodikKPiArI2RlZmluZSBQUklfUElEVF9QUkVGSVgg
UFJJX0lOVF9QUkVGSVgKPiArI2RlZmluZSBIQVZFX1VJRF9UIDEKPiArI2RlZmluZSByYl91aWRf
dCB1aWRfdAo+ICsjZGVmaW5lIFNJR05FRE5FU1NfT0ZfVUlEX1QgKzEKPiArI2RlZmluZSBVSURU
Mk5VTSh2KSBVSU5UMk5VTSh2KQo+ICsjZGVmaW5lIE5VTTJVSURUKHYpIE5VTTJVSU5UKHYpCj4g
KyNkZWZpbmUgUFJJX1VJRFRfUFJFRklYIFBSSV9JTlRfUFJFRklYCj4gKyNkZWZpbmUgSEFWRV9H
SURfVCAxCj4gKyNkZWZpbmUgcmJfZ2lkX3QgZ2lkX3QKPiArI2RlZmluZSBTSUdORURORVNTX09G
X0dJRF9UICsxCj4gKyNkZWZpbmUgR0lEVDJOVU0odikgVUlOVDJOVU0odikKPiArI2RlZmluZSBO
VU0yR0lEVCh2KSBOVU0yVUlOVCh2KQo+ICsjZGVmaW5lIFBSSV9HSURUX1BSRUZJWCBQUklfSU5U
X1BSRUZJWAo+ICsjZGVmaW5lIEhBVkVfVElNRV9UIDEKPiArI2RlZmluZSByYl90aW1lX3QgdGlt
ZV90Cj4gKyNkZWZpbmUgU0lHTkVETkVTU19PRl9USU1FX1QgLTEKPiArI2RlZmluZSBUSU1FVDJO
VU0odikgTE9ORzJOVU0odikKPiArI2RlZmluZSBOVU0yVElNRVQodikgTlVNMkxPTkcodikKPiAr
I2RlZmluZSBQUklfVElNRVRfUFJFRklYIFBSSV9MT05HX1BSRUZJWAo+ICsjZGVmaW5lIEhBVkVf
REVWX1QgMQo+ICsjZGVmaW5lIHJiX2Rldl90IGRldl90Cj4gKyNkZWZpbmUgU0lHTkVETkVTU19P
Rl9ERVZfVCArMQo+ICsjZGVmaW5lIERFVlQyTlVNKHYpIFVMT05HMk5VTSh2KQo+ICsjZGVmaW5l
IE5VTTJERVZUKHYpIE5VTTJVTE9ORyh2KQo+ICsjZGVmaW5lIFBSSV9ERVZUX1BSRUZJWCBQUklf
TE9OR19QUkVGSVgKPiArI2RlZmluZSBIQVZFX01PREVfVCAxCj4gKyNkZWZpbmUgcmJfbW9kZV90
IG1vZGVfdAo+ICsjZGVmaW5lIFNJR05FRE5FU1NfT0ZfTU9ERV9UICsxCj4gKyNkZWZpbmUgTU9E
RVQyTlVNKHYpIFVJTlQyTlVNKHYpCj4gKyNkZWZpbmUgTlVNMk1PREVUKHYpIE5VTTJVSU5UKHYp
Cj4gKyNkZWZpbmUgUFJJX01PREVUX1BSRUZJWCBQUklfSU5UX1BSRUZJWAo+ICsjZGVmaW5lIEhB
VkVfUkxJTV9UIDEKPiArI2RlZmluZSByYl9ybGltX3QgcmxpbV90Cj4gKyNkZWZpbmUgU0lHTkVE
TkVTU19PRl9STElNX1QgKzEKPiArI2RlZmluZSBSTElNMk5VTSh2KSBVTE9ORzJOVU0odikKPiAr
I2RlZmluZSBOVU0yUkxJTSh2KSBOVU0yVUxPTkcodikKPiArI2RlZmluZSBQUklfUkxJTV9QUkVG
SVggUFJJX0xPTkdfUFJFRklYCj4gKyNkZWZpbmUgSEFWRV9PRkZfVCAxCj4gKyNkZWZpbmUgcmJf
b2ZmX3Qgb2ZmX3QKPiArI2RlZmluZSBTSUdORURORVNTX09GX09GRl9UIC0xCj4gKyNkZWZpbmUg
T0ZGVDJOVU0odikgTE9ORzJOVU0odikKPiArI2RlZmluZSBOVU0yT0ZGVCh2KSBOVU0yTE9ORyh2
KQo+ICsjZGVmaW5lIFBSSV9PRkZUX1BSRUZJWCBQUklfTE9OR19QUkVGSVgKPiArI2RlZmluZSBI
QVZFX0NMT0NLSURfVCAxCj4gKyNkZWZpbmUgcmJfY2xvY2tpZF90IGNsb2NraWRfdAo+ICsjZGVm
aW5lIFNJR05FRE5FU1NfT0ZfQ0xPQ0tJRF9UIC0xCj4gKyNkZWZpbmUgQ0xPQ0tJRDJOVU0odikg
SU5UMk5VTSh2KQo+ICsjZGVmaW5lIE5VTTJDTE9DS0lEKHYpIE5VTTJJTlQodikKPiArI2RlZmlu
ZSBQUklfQ0xPQ0tJRF9QUkVGSVggUFJJX0lOVF9QUkVGSVgKPiArI2RlZmluZSBIQVZFX1BST1RP
VFlQRVMgMQo+ICsjZGVmaW5lIFRPS0VOX1BBU1RFKHgseSkgeCMjeQo+ICsjZGVmaW5lIFNUUklO
R0laRShleHByKSBTVFJJTkdJWkUwKGV4cHIpCj4gKyNkZWZpbmUgSEFWRV9TVERBUkdfUFJPVE9U
WVBFUyAxCj4gKyNkZWZpbmUgSEFWRV9WQV9BUkdTX01BQ1JPIDEKPiArI2RlZmluZSBSVUJZX0FM
SUdOQVMoeCkgX19hdHRyaWJ1dGVfXygoX19hbGlnbmVkX18oeCkpKQo+ICsjZGVmaW5lIFJVQllf
QUxJR05PRiBhbGlnbm9mCj4gKyNkZWZpbmUgQ09OU1RGVU5DKHgpIF9fYXR0cmlidXRlX18gKChf
X2NvbnN0X18pKSB4Cj4gKyNkZWZpbmUgUFVSRUZVTkMoeCkgX19hdHRyaWJ1dGVfXyAoKF9fcHVy
ZV9fKSkgeAo+ICsjZGVmaW5lIE5PUkVUVVJOKHgpIF9fYXR0cmlidXRlX18gKChfX25vcmV0dXJu
X18pKSB4Cj4gKyNkZWZpbmUgREVQUkVDQVRFRCh4KSBfX2F0dHJpYnV0ZV9fICgoX19kZXByZWNh
dGVkX18pKSB4Cj4gKyNkZWZpbmUgREVQUkVDQVRFRF9CWShuLHgpIF9fYXR0cmlidXRlX18gKChf
X2RlcHJlY2F0ZWRfXygiYnkgIiNuKSkpIHgKPiArI2RlZmluZSBERVBSRUNBVEVEX1RZUEUobWVz
Zyx4KSBfX2F0dHJpYnV0ZV9fICgoX19kZXByZWNhdGVkX18gbWVzZykpIHgKPiArI2RlZmluZSBO
T0lOTElORSh4KSBfX2F0dHJpYnV0ZV9fICgoX19ub2lubGluZV9fKSkgeAo+ICsjZGVmaW5lIEFM
V0FZU19JTkxJTkUoeCkgX19hdHRyaWJ1dGVfXyAoKF9fYWx3YXlzX2lubGluZV9fKSkgeAo+ICsj
ZGVmaW5lIE5PX1NBTklUSVpFKHNhbiwgeCkgX19hdHRyaWJ1dGVfXyAoKF9fbm9fc2FuaXRpemVf
XyhzYW4pKSkgeAo+ICsjZGVmaW5lIE5PX1NBTklUSVpFX0FERFJFU1MoeCkgX19hdHRyaWJ1dGVf
XyAoKF9fbm9fc2FuaXRpemVfYWRkcmVzc19fKSkgeAo+ICsjZGVmaW5lIE5PX0FERFJFU1NfU0FG
RVRZX0FOQUxZU0lTKHgpIF9fYXR0cmlidXRlX18gKChfX25vX2FkZHJlc3Nfc2FmZXR5X2FuYWx5
c2lzX18pKSB4Cj4gKyNkZWZpbmUgV0FSTl9VTlVTRURfUkVTVUxUKHgpIF9fYXR0cmlidXRlX18g
KChfX3dhcm5fdW51c2VkX3Jlc3VsdF9fKSkgeAo+ICsjZGVmaW5lIE1BWUJFX1VOVVNFRCh4KSBf
X2F0dHJpYnV0ZV9fICgoX191bnVzZWRfXykpIHgKPiArI2RlZmluZSBFUlJPUkZVTkMobWVzZyx4
KSBfX2F0dHJpYnV0ZV9fICgoX19lcnJvcl9fIG1lc2cpKSB4Cj4gKyNkZWZpbmUgV0FSTklOR0ZV
TkMobWVzZyx4KSBfX2F0dHJpYnV0ZV9fICgoX193YXJuaW5nX18gbWVzZykpIHgKPiArI2RlZmlu
ZSBXRUFLKHgpIF9fYXR0cmlidXRlX18gKChfX3dlYWtfXykpIHgKPiArI2RlZmluZSBIQVZFX0ZV
TkNfV0VBSyAxCj4gKyNkZWZpbmUgRlVOQ19VTk9QVElNSVpFRCh4KSBfX2F0dHJpYnV0ZV9fICgo
X19vcHRpbWl6ZV9fKCJPMCIpKSkgeAo+ICsjZGVmaW5lIEZVTkNfTUlOSU1JWkVEKHgpIF9fYXR0
cmlidXRlX18gKChfX29wdGltaXplX18oIi1PcyIsIi1mb21pdC1mcmFtZS1wb2ludGVyIikpKSB4
Cj4gKyNkZWZpbmUgSEFWRV9BVFRSSUJVVEVfRlVOQ1RJT05fQUxJQVMgMQo+ICsjZGVmaW5lIFJV
QllfQUxJQVNfRlVOQ1RJT05fVFlQRSh0eXBlLCBwcm90LCBuYW1lLCBhcmdzKSB0eXBlIHByb3Qg
X19hdHRyaWJ1dGVfXygoYWxpYXMoI25hbWUpKSk7Cj4gKyNkZWZpbmUgUlVCWV9BTElBU19GVU5D
VElPTl9WT0lEKHByb3QsIG5hbWUsIGFyZ3MpIFJVQllfQUxJQVNfRlVOQ1RJT05fVFlQRSh2b2lk
LCBwcm90LCBuYW1lLCBhcmdzKQo+ICsjZGVmaW5lIEhBVkVfR0NDX0FUT01JQ19CVUlMVElOUyAx
Cj4gKyNkZWZpbmUgSEFWRV9HQ0NfU1lOQ19CVUlMVElOUyAxCj4gKyNkZWZpbmUgVU5SRUFDSEFC
TEUgX19idWlsdGluX3VucmVhY2hhYmxlKCkKPiArI2RlZmluZSBSVUJZX0ZVTkNfRVhQT1JURUQg
X19hdHRyaWJ1dGVfXyAoKF9fdmlzaWJpbGl0eV9fKCJkZWZhdWx0IikpKSBleHRlcm4KPiArI2Rl
ZmluZSBSVUJZX0ZVTkNUSU9OX05BTUVfU1RSSU5HIF9fZnVuY19fCj4gKyNkZWZpbmUgRU5VTV9P
VkVSX0lOVCAxCj4gKyNkZWZpbmUgSEFWRV9ERUNMX1NZU19ORVJSIDEKPiArI2RlZmluZSBIQVZF
X0RFQ0xfR0VURU5WIDEKPiArI2RlZmluZSBTSVpFT0ZfU0laRV9UIDgKPiArI2RlZmluZSBTSVpF
T0ZfUFRSRElGRl9UIDgKPiArI2RlZmluZSBQUklfU0laRV9QUkVGSVggInoiCj4gKyNkZWZpbmUg
UFJJX1BUUkRJRkZfUFJFRklYICJ0Igo+ICsjZGVmaW5lIEhBVkVfU1RSVUNUX1NUQVRfU1RfQkxL
U0laRSAxCj4gKyNkZWZpbmUgSEFWRV9TVF9CTEtTSVpFIDEKPiArI2RlZmluZSBIQVZFX1NUUlVD
VF9TVEFUX1NUX0JMT0NLUyAxCj4gKyNkZWZpbmUgSEFWRV9TVF9CTE9DS1MgMQo+ICsjZGVmaW5l
IEhBVkVfU1RSVUNUX1NUQVRfU1RfUkRFViAxCj4gKyNkZWZpbmUgSEFWRV9TVF9SREVWIDEKPiAr
I2RlZmluZSBTSVpFT0ZfU1RSVUNUX1NUQVRfU1RfU0laRSBTSVpFT0ZfT0ZGX1QKPiArI2RlZmlu
ZSBTSVpFT0ZfU1RSVUNUX1NUQVRfU1RfQkxPQ0tTIFNJWkVPRl9PRkZfVAo+ICsjZGVmaW5lIFNJ
WkVPRl9TVFJVQ1RfU1RBVF9TVF9JTk8gU0laRU9GX0xPTkcKPiArI2RlZmluZSBIQVZFX1NUUlVD
VF9TVEFUX1NUX0FUSU0gMQo+ICsjZGVmaW5lIEhBVkVfU1RSVUNUX1NUQVRfU1RfTVRJTSAxCj4g
KyNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVF9TVF9DVElNIDEKPiArI2RlZmluZSBIQVZFX1NUUlVD
VF9USU1FVkFMIDEKPiArI2RlZmluZSBTSVpFT0ZfU1RSVUNUX1RJTUVWQUxfVFZfU0VDIFNJWkVP
Rl9USU1FX1QKPiArI2RlZmluZSBIQVZFX1NUUlVDVF9USU1FU1BFQyAxCj4gKyNkZWZpbmUgSEFW
RV9TVFJVQ1RfVElNRVpPTkUgMQo+ICsjZGVmaW5lIEhBVkVfUkJfRkRfSU5JVCAxCj4gKyNkZWZp
bmUgSEFWRV9JTlQ4X1QgMQo+ICsjZGVmaW5lIFNJWkVPRl9JTlQ4X1QgMQo+ICsjZGVmaW5lIEhB
VkVfVUlOVDhfVCAxCj4gKyNkZWZpbmUgU0laRU9GX1VJTlQ4X1QgMQo+ICsjZGVmaW5lIEhBVkVf
SU5UMTZfVCAxCj4gKyNkZWZpbmUgU0laRU9GX0lOVDE2X1QgMgo+ICsjZGVmaW5lIEhBVkVfVUlO
VDE2X1QgMQo+ICsjZGVmaW5lIFNJWkVPRl9VSU5UMTZfVCAyCj4gKyNkZWZpbmUgSEFWRV9JTlQz
Ml9UIDEKPiArI2RlZmluZSBTSVpFT0ZfSU5UMzJfVCA0Cj4gKyNkZWZpbmUgSEFWRV9VSU5UMzJf
VCAxCj4gKyNkZWZpbmUgU0laRU9GX1VJTlQzMl9UIDQKPiArI2RlZmluZSBIQVZFX0lOVDY0X1Qg
MQo+ICsjZGVmaW5lIFNJWkVPRl9JTlQ2NF9UIDgKPiArI2RlZmluZSBIQVZFX1VJTlQ2NF9UIDEK
PiArI2RlZmluZSBTSVpFT0ZfVUlOVDY0X1QgOAo+ICsjZGVmaW5lIEhBVkVfSU5UMTI4X1QgMQo+
ICsjZGVmaW5lIGludDEyOF90IF9faW50MTI4Cj4gKyNkZWZpbmUgU0laRU9GX0lOVDEyOF9UIFNJ
WkVPRl9fX0lOVDEyOAo+ICsjZGVmaW5lIEhBVkVfVUlOVDEyOF9UIDEKPiArI2RlZmluZSB1aW50
MTI4X3QgdW5zaWduZWQgX19pbnQxMjgKPiArI2RlZmluZSBTSVpFT0ZfVUlOVDEyOF9UIFNJWkVP
Rl9fX0lOVDEyOAo+ICsjZGVmaW5lIEhBVkVfSU5UUFRSX1QgMQo+ICsjZGVmaW5lIFNJWkVPRl9J
TlRQVFJfVCA4Cj4gKyNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQo+ICsjZGVmaW5lIFNJWkVPRl9V
SU5UUFRSX1QgOAo+ICsjZGVmaW5lIEhBVkVfU1NJWkVfVCAxCj4gKyNkZWZpbmUgU0laRU9GX1NT
SVpFX1QgOAo+ICsjZGVmaW5lIFNUQUNLX0VORF9BRERSRVNTIF9fbGliY19zdGFja19lbmQKPiAr
I2RlZmluZSBHRVRHUk9VUFNfVCBnaWRfdAo+ICsjZGVmaW5lIFJFVFNJR1RZUEUgdm9pZAo+ICsj
ZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQo+ICsjZGVmaW5lIEhBVkVfQUxMT0NBIDEKPiArI2RlZmlu
ZSBIQVZFX0FDT1NIIDEKPiArI2RlZmluZSBIQVZFX0NCUlQgMQo+ICsjZGVmaW5lIEhBVkVfQ1JZ
UFQgMQo+ICsjZGVmaW5lIEhBVkVfRFVQMiAxCj4gKyNkZWZpbmUgSEFWRV9FUkYgMQo+ICsjZGVm
aW5lIEhBVkVfRVhQTElDSVRfQlpFUk8gMQo+ICsjZGVmaW5lIEhBVkVfRkZTIDEKPiArI2RlZmlu
ZSBIQVZFX0ZJTklURSAxCj4gKyNkZWZpbmUgSEFWRV9GTE9DSyAxCj4gKyNkZWZpbmUgSEFWRV9I
WVBPVCAxCj4gKyNkZWZpbmUgSEFWRV9JU0lORiAxCj4gKyNkZWZpbmUgSEFWRV9JU05BTiAxCj4g
KyNkZWZpbmUgSEFWRV9MR0FNTUFfUiAxCj4gKyNkZWZpbmUgSEFWRV9NRU1NT1ZFIDEKPiArI2Rl
ZmluZSBIQVZFX05BTiAxCj4gKyNkZWZpbmUgSEFWRV9ORVhUQUZURVIgMQo+ICsjZGVmaW5lIEhB
VkVfU1RSQ0hSIDEKPiArI2RlZmluZSBIQVZFX1NUUkVSUk9SIDEKPiArI2RlZmluZSBIQVZFX1NU
UlNUUiAxCj4gKyNkZWZpbmUgSEFWRV9UR0FNTUEgMQo+ICsjZGVmaW5lIFNQVF9UWVBFIFNQVF9S
RVVTRUFSR1YKPiArI2RlZmluZSBIQVZFX1NJR05CSVQgMQo+ICsjZGVmaW5lIEhBVkVfRk9SSyAx
Cj4gKyNkZWZpbmUgSEFWRV9WRk9SSyAxCj4gKyNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEK
PiArI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCj4gKyNkZWZpbmUgSEFWRV9fTE9OR0pNUCAx
Cj4gKyNkZWZpbmUgSEFWRV9BVEFOMkwgMQo+ICsjZGVmaW5lIEhBVkVfQVRBTjJGIDEKPiArI2Rl
ZmluZSBIQVZFX0NIUk9PVCAxCj4gKyNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FIDEKPiArI2Rl
ZmluZSBIQVZFX0NPU0ggMQo+ICsjZGVmaW5lIEhBVkVfQ1JZUFRfUiAxCj4gKyNkZWZpbmUgSEFW
RV9ESVJGRCAxCj4gKyNkZWZpbmUgSEFWRV9ETF9JVEVSQVRFX1BIRFIgMQo+ICsjZGVmaW5lIEhB
VkVfRExPUEVOIDEKPiArI2RlZmluZSBIQVZFX0RMQUREUiAxCj4gKyNkZWZpbmUgSEFWRV9EVVAg
MQo+ICsjZGVmaW5lIEhBVkVfRFVQMyAxCj4gKyNkZWZpbmUgSEFWRV9FQUNDRVNTIDEKPiArI2Rl
ZmluZSBIQVZFX0VOREdSRU5UIDEKPiArI2RlZmluZSBIQVZFX0VWRU5URkQgMQo+ICsjZGVmaW5l
IEhBVkVfRkNITU9EIDEKPiArI2RlZmluZSBIQVZFX0ZDSE9XTiAxCj4gKyNkZWZpbmUgSEFWRV9G
Q05UTCAxCj4gKyNkZWZpbmUgSEFWRV9GREFUQVNZTkMgMQo+ICsjZGVmaW5lIEhBVkVfRkRPUEVO
RElSIDEKPiArI2RlZmluZSBIQVZFX0ZNT0QgMQo+ICsjZGVmaW5lIEhBVkVfRlNUQVRBVCAxCj4g
KyNkZWZpbmUgSEFWRV9GU1lOQyAxCj4gKyNkZWZpbmUgSEFWRV9GVFJVTkNBVEUgMQo+ICsjZGVm
aW5lIEhBVkVfRlRSVU5DQVRFNjQgMQo+ICsjZGVmaW5lIEhBVkVfR0VUQ1dEIDEKPiArI2RlZmlu
ZSBIQVZFX0dFVEdSTkFNIDEKPiArI2RlZmluZSBIQVZFX0dFVEdSTkFNX1IgMQo+ICsjZGVmaW5l
IEhBVkVfR0VUR1JPVVBTIDEKPiArI2RlZmluZSBIQVZFX0dFVFBHSUQgMQo+ICsjZGVmaW5lIEhB
VkVfR0VUUEdSUCAxCj4gKyNkZWZpbmUgSEFWRV9HRVRQUklPUklUWSAxCj4gKyNkZWZpbmUgSEFW
RV9HRVRQV05BTV9SIDEKPiArI2RlZmluZSBIQVZFX0dFVFJFU0dJRCAxCj4gKyNkZWZpbmUgSEFW
RV9HRVRSRVNVSUQgMQo+ICsjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKPiArI2RlZmluZSBIQVZF
X0dFVFNJRCAxCj4gKyNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQo+ICsjZGVmaW5lIEhBVkVf
R01USU1FX1IgMQo+ICsjZGVmaW5lIEhBVkVfR1JBTlRQVCAxCj4gKyNkZWZpbmUgSEFWRV9JTklU
R1JPVVBTIDEKPiArI2RlZmluZSBIQVZFX0lPQ1RMIDEKPiArI2RlZmluZSBIQVZFX0tJTExQRyAx
Cj4gKyNkZWZpbmUgSEFWRV9MQ0hPV04gMQo+ICsjZGVmaW5lIEhBVkVfTElOSyAxCj4gKyNkZWZp
bmUgSEFWRV9MTEFCUyAxCj4gKyNkZWZpbmUgSEFWRV9MT0NLRiAxCj4gKyNkZWZpbmUgSEFWRV9M
T0cyIDEKPiArI2RlZmluZSBIQVZFX0xTVEFUIDEKPiArI2RlZmluZSBIQVZFX0xVVElNRVMgMQo+
ICsjZGVmaW5lIEhBVkVfTUFMTE9DX1VTQUJMRV9TSVpFIDEKPiArI2RlZmluZSBIQVZFX01CTEVO
IDEKPiArI2RlZmluZSBIQVZFX01FTUFMSUdOIDEKPiArI2RlZmluZSBIQVZFX1dSSVRFViAxCj4g
KyNkZWZpbmUgSEFWRV9NRU1SQ0hSIDEKPiArI2RlZmluZSBIQVZFX01FTU1FTSAxCj4gKyNkZWZp
bmUgSEFWRV9NS0ZJRk8gMQo+ICsjZGVmaW5lIEhBVkVfTUtOT0QgMQo+ICsjZGVmaW5lIEhBVkVf
TUtUSU1FIDEKPiArI2RlZmluZSBIQVZFX09QRU5BVCAxCj4gKyNkZWZpbmUgSEFWRV9QSVBFMiAx
Cj4gKyNkZWZpbmUgSEFWRV9QT0xMIDEKPiArI2RlZmluZSBIQVZFX1BPU0lYX0ZBRFZJU0UgMQo+
ICsjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQo+ICsjZGVmaW5lIEhBVkVfUFBPTEwgMQo+
ICsjZGVmaW5lIEhBVkVfUFJFQUQgMQo+ICsjZGVmaW5lIEhBVkVfUFdSSVRFIDEKPiArI2RlZmlu
ZSBIQVZFX1FTT1JUX1IgMQo+ICsjZGVmaW5lIEhBVkVfUkVBRExJTksgMQo+ICsjZGVmaW5lIEhB
VkVfUk9VTkQgMQo+ICsjZGVmaW5lIEhBVkVfU0NIRURfR0VUQUZGSU5JVFkgMQo+ICsjZGVmaW5l
IEhBVkVfU0VFS0RJUiAxCj4gKyNkZWZpbmUgSEFWRV9TRU5ERklMRSAxCj4gKyNkZWZpbmUgSEFW
RV9TRVRFR0lEIDEKPiArI2RlZmluZSBIQVZFX1NFVEVOViAxCj4gKyNkZWZpbmUgSEFWRV9TRVRF
VUlEIDEKPiArI2RlZmluZSBIQVZFX1NFVEdJRCAxCj4gKyNkZWZpbmUgSEFWRV9TRVRHUk9VUFMg
MQo+ICsjZGVmaW5lIEhBVkVfU0VUUEdJRCAxCj4gKyNkZWZpbmUgSEFWRV9TRVRQR1JQIDEKPiAr
I2RlZmluZSBIQVZFX1NFVFJFR0lEIDEKPiArI2RlZmluZSBIQVZFX1NFVFJFU0dJRCAxCj4gKyNk
ZWZpbmUgSEFWRV9TRVRSRVNVSUQgMQo+ICsjZGVmaW5lIEhBVkVfU0VUUkVVSUQgMQo+ICsjZGVm
aW5lIEhBVkVfU0VUUkxJTUlUIDEKPiArI2RlZmluZSBIQVZFX1NFVFNJRCAxCj4gKyNkZWZpbmUg
SEFWRV9TRVRVSUQgMQo+ICsjZGVmaW5lIEhBVkVfU0hVVERPV04gMQo+ICsjZGVmaW5lIEhBVkVf
U0lHQUNUSU9OIDEKPiArI2RlZmluZSBIQVZFX1NJR0FMVFNUQUNLIDEKPiArI2RlZmluZSBIQVZF
X1NJR1BST0NNQVNLIDEKPiArI2RlZmluZSBIQVZFX1NJTkggMQo+ICsjZGVmaW5lIEhBVkVfU1lN
TElOSyAxCj4gKyNkZWZpbmUgSEFWRV9TWVNDQUxMIDEKPiArI2RlZmluZSBIQVZFX1NZU0NPTkYg
MQo+ICsjZGVmaW5lIEhBVkVfVEFOSCAxCj4gKyNkZWZpbmUgSEFWRV9URUxMRElSIDEKPiArI2Rl
ZmluZSBIQVZFX1RJTUVHTSAxCj4gKyNkZWZpbmUgSEFWRV9USU1FUyAxCj4gKyNkZWZpbmUgSEFW
RV9UUlVOQ0FURSAxCj4gKyNkZWZpbmUgSEFWRV9UUlVOQ0FURTY0IDEKPiArI2RlZmluZSBIQVZF
X1VOU0VURU5WIDEKPiArI2RlZmluZSBIQVZFX1VUSU1FTlNBVCAxCj4gKyNkZWZpbmUgSEFWRV9V
VElNRVMgMQo+ICsjZGVmaW5lIEhBVkVfV0FJVDQgMQo+ICsjZGVmaW5lIEhBVkVfV0FJVFBJRCAx
Cj4gKyNkZWZpbmUgSEFWRV9DUllQVF9IIDEKPiArI2RlZmluZSBIQVZFX1NUUlVDVF9DUllQVF9E
QVRBX0lOSVRJQUxJWkVEIDEKPiArI2RlZmluZSBIQVZFX0JVSUxUSU5fX19CVUlMVElOX0FMTE9D
QV9XSVRIX0FMSUdOIDEKPiArI2RlZmluZSBIQVZFX0JVSUxUSU5fX19CVUlMVElOX0FTU1VNRV9B
TElHTkVEIDEKPiArI2RlZmluZSBIQVZFX0JVSUxUSU5fX19CVUlMVElOX0JTV0FQMTYgMQo+ICsj
ZGVmaW5lIEhBVkVfQlVJTFRJTl9fX0JVSUxUSU5fQlNXQVAzMiAxCj4gKyNkZWZpbmUgSEFWRV9C
VUlMVElOX19fQlVJTFRJTl9CU1dBUDY0IDEKPiArI2RlZmluZSBIQVZFX0JVSUxUSU5fX19CVUlM
VElOX1BPUENPVU5UIDEKPiArI2RlZmluZSBIQVZFX0JVSUxUSU5fX19CVUlMVElOX1BPUENPVU5U
TEwgMQo+ICsjZGVmaW5lIEhBVkVfQlVJTFRJTl9fX0JVSUxUSU5fQ0xaIDEKPiArI2RlZmluZSBI
QVZFX0JVSUxUSU5fX19CVUlMVElOX0NMWkwgMQo+ICsjZGVmaW5lIEhBVkVfQlVJTFRJTl9fX0JV
SUxUSU5fQ0xaTEwgMQo+ICsjZGVmaW5lIEhBVkVfQlVJTFRJTl9fX0JVSUxUSU5fQ1RaIDEKPiAr
I2RlZmluZSBIQVZFX0JVSUxUSU5fX19CVUlMVElOX0NUWkxMIDEKPiArI2RlZmluZSBIQVZFX0JV
SUxUSU5fX19CVUlMVElOX0FERF9PVkVSRkxPVyAxCj4gKyNkZWZpbmUgSEFWRV9CVUlMVElOX19f
QlVJTFRJTl9TVUJfT1ZFUkZMT1cgMQo+ICsjZGVmaW5lIEhBVkVfQlVJTFRJTl9fX0JVSUxUSU5f
TVVMX09WRVJGTE9XIDEKPiArI2RlZmluZSBIQVZFX0JVSUxUSU5fX19CVUlMVElOX01VTF9PVkVS
RkxPV19QIDEKPiArI2RlZmluZSBIQVZFX0JVSUxUSU5fX19CVUlMVElOX0NPTlNUQU5UX1AgMQo+
ICsjZGVmaW5lIEhBVkVfQlVJTFRJTl9fX0JVSUxUSU5fQ0hPT1NFX0VYUFIgMQo+ICsjZGVmaW5l
IEhBVkVfQlVJTFRJTl9fX0JVSUxUSU5fQ0hPT1NFX0VYUFJfQ09OU1RBTlRfUCAxCj4gKyNkZWZp
bmUgSEFWRV9CVUlMVElOX19fQlVJTFRJTl9UWVBFU19DT01QQVRJQkxFX1AgMQo+ICsjZGVmaW5l
IEhBVkVfQlVJTFRJTl9fX0JVSUxUSU5fVFJBUCAxCj4gKyNkZWZpbmUgSEFWRV9HTlVfUVNPUlRf
UiAxCj4gKyNkZWZpbmUgQVRBTjJfSU5GX0M5OSAxCj4gKyNkZWZpbmUgSEFWRV9DTE9DS19HRVRS
RVMgMQo+ICsjZGVmaW5lIEhBVkVfTElCUlQgMQo+ICsjZGVmaW5lIEhBVkVfTElCUlQgMQo+ICsj
ZGVmaW5lIEhBVkVfVElNRVJfQ1JFQVRFIDEKPiArI2RlZmluZSBIQVZFX1RJTUVSX1NFVFRJTUUg
MQo+ICsjZGVmaW5lIEhBVkVfU1RSVUNUX1RNX1RNX1pPTkUgMQo+ICsjZGVmaW5lIEhBVkVfVE1f
Wk9ORSAxCj4gKyNkZWZpbmUgSEFWRV9TVFJVQ1RfVE1fVE1fR01UT0ZGIDEKPiArI2RlZmluZSBI
QVZFX0RBWUxJR0hUIDEKPiArI2RlZmluZSBORUdBVElWRV9USU1FX1QgMQo+ICsjZGVmaW5lIFBP
U0lYX1NJR05BTCAxCj4gKyNkZWZpbmUgSEFWRV9TSUdfVCAxCj4gKyNkZWZpbmUgUlNISUZUKHgs
eSkgKCh4KT4+KGludCkoeSkpCj4gKyNkZWZpbmUgSEFWRV9fU0NfQ0xLX1RDSyAxCj4gKyNkZWZp
bmUgU1RBQ0tfR1JPV19ESVJFQ1RJT04gLTEKPiArI2RlZmluZSBGSUJFUl9VU0VfQ09ST1VUSU5F
ICJjb3JvdXRpbmUvYW1kNjQvQ29udGV4dC5oIgo+ICsjZGVmaW5lIF9SRUVOVFJBTlQgMQo+ICsj
ZGVmaW5lIF9USFJFQURfU0FGRSAxCj4gKyNkZWZpbmUgSEFWRV9MSUJQVEhSRUFEIDEKPiArI2Rl
ZmluZSBIQVZFX1NDSEVEX1lJRUxEIDEKPiArI2RlZmluZSBIQVZFX1BUSFJFQURfQVRUUl9TRVRJ
TkhFUklUU0NIRUQgMQo+ICsjZGVmaW5lIEhBVkVfUFRIUkVBRF9BVFRSX0dFVFNUQUNLIDEKPiAr
I2RlZmluZSBIQVZFX1BUSFJFQURfQVRUUl9HRVRHVUFSRFNJWkUgMQo+ICsjZGVmaW5lIEhBVkVf
UFRIUkVBRF9DT05EQVRUUl9TRVRDTE9DSyAxCj4gKyNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01B
U0sgMQo+ICsjZGVmaW5lIEhBVkVfUFRIUkVBRF9TRVROQU1FX05QIDEKPiArI2RlZmluZSBIQVZF
X1BUSFJFQURfR0VUQVRUUl9OUCAxCj4gKyNkZWZpbmUgU0VUX0NVUlJFTlRfVEhSRUFEX05BTUUo
bmFtZSkgcHRocmVhZF9zZXRuYW1lX25wKHB0aHJlYWRfc2VsZigpLCBuYW1lKQo+ICsjZGVmaW5l
IFNFVF9BTk9USEVSX1RIUkVBRF9OQU1FKHRoaWQsbmFtZSkgcHRocmVhZF9zZXRuYW1lX25wKHRo
aWQsIG5hbWUpCj4gKyNkZWZpbmUgREVGSU5FX01DT05URVhUX1BUUihtYywgdWMpIG1jb250ZXh0
X3QgKm1jID0gJih1YyktPnVjX21jb250ZXh0Cj4gKyNkZWZpbmUgSEFWRV9HRVRDT05URVhUIDEK
PiArI2RlZmluZSBIQVZFX1NFVENPTlRFWFQgMQo+ICsjZGVmaW5lIFVTRV9FTEYgMQo+ICsjZGVm
aW5lIEhBVkVfRUxGX0ggMQo+ICsjZGVmaW5lIEhBVkVfTElCWiAxCj4gKyNkZWZpbmUgSEFWRV9C
QUNLVFJBQ0UgMQo+ICsjZGVmaW5lIEhBVkVfVkFMR1JJTkRfTUVNQ0hFQ0tfSCAxCj4gKyNkZWZp
bmUgRExFWFRfTUFYTEVOIDMKPiArI2RlZmluZSBETEVYVCAiLnNvIgo+ICsjZGVmaW5lIEhBVkVf
X1NFVEpNUCAxCj4gKyNkZWZpbmUgUlVCWV9TRVRKTVAoZW52KSBfX2J1aWx0aW5fc2V0am1wKChl
bnYpKQo+ICsjZGVmaW5lIFJVQllfTE9OR0pNUChlbnYsdmFsKSBfX2J1aWx0aW5fbG9uZ2ptcCgo
ZW52KSx2YWwpCj4gKyNkZWZpbmUgUlVCWV9KTVBfQlVGIGptcF9idWYKPiArI2RlZmluZSBVU0Vf
TUpJVCAxCj4gKyNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQo+ICsjZGVmaW5lIFJVQllfUExBVEZP
Uk0gIng4Nl82NC1saW51eCIKPiArI2VuZGlmIC8qIElOQ0xVREVfUlVCWV9DT05GSUdfSCAqLwo+
IC0tCj4gMi4yMC4xCj4KPgo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fCj4gTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdAo+IE1pbmlvcy1kZXZlbEBsaXN0
cy54ZW5wcm9qZWN0Lm9yZwo+IGh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9s
aXN0aW5mby9taW5pb3MtZGV2ZWwKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3Rz
LnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0
aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Mon Dec 09 22:01:40 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 09 Dec 2019 22:01:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ieR61-00073h-Ur; Mon, 09 Dec 2019 22:01:37 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=GqGn=Z7=gmail.com=stefanl.teodorescu@srs-us1.protection.inumbo.net>)
 id 1ieR60-00073c-UU
 for minios-devel@lists.xen.org; Mon, 09 Dec 2019 22:01:36 +0000
X-Inumbo-ID: 779b9ab8-1acf-11ea-88e7-bc764e2007e4
Received: from mail-lf1-x143.google.com (unknown [2a00:1450:4864:20::143])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 779b9ab8-1acf-11ea-88e7-bc764e2007e4;
 Mon, 09 Dec 2019 22:01:36 +0000 (UTC)
Received: by mail-lf1-x143.google.com with SMTP id l18so12003891lfc.1
 for <minios-devel@lists.xen.org>; Mon, 09 Dec 2019 14:01:36 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to
 :cc; bh=NeH4k6AINu5HAahy47NNx648TXWoxjhiPVBlWFRgVqQ=;
 b=noq8+5i0V3cuAvIsGOf80Txjr1Qc9mNtJGEpy3DirZv8BlEkpqmT/3lzaMtZ6VFycl
 LoN/cwhbzMvrk/g+8jpf5uD2e0mT2+AmP3lzkp3D7W2pkhpJM+bGtBA1ikYWF/PtaENR
 ADMgn9N+MMtn0ZvovyyJ4fUNwgA3BElLo7VyYIUDlKJhZhqjUtg4icZbqLBtCVbOXh9J
 e0DGJBdFD6wQ9Ez2NB2DFTyW47l3tVenEF2iGEnM3EprS/VzTV6Bk9d+hxUBokfbSz/7
 37E2XeYvYOHVk+CqMdDA7iL4V6fH4IakVTXDvLquhcbB21rTvMszujnl3oyVBDo7DHmW
 9s8g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
 :message-id:subject:to:cc;
 bh=NeH4k6AINu5HAahy47NNx648TXWoxjhiPVBlWFRgVqQ=;
 b=H2mGw4orIGs5el/kWGclSnXbU9hZxGukNY3bn7PLVX7fGVXz/J6Fu/2kXt4xtRvbbs
 9/M5yziJy9XINUYSUDMiJWYjlWU3/pVcon/yf1mpHKCFwBAq3j1RYsRG/mkkReCa2+hT
 rV3dDGkM4Ao0rX7gLSSVBt6GiaJ+PDiszHzC+gqmppz+WLaWJSlea0AvWXzvB5hPUrBJ
 J5Fk8WfYkFMvENhq6ajS1fEoYXV//6OGLuCFcw8F8ZX12+sqtn3MfWd36u7TYwX3zBxb
 YgCVe8kdrHKvkhLFKiOuExCcY/w3tlhqToUZOMVBokU9Fe6wpHoGk4E+D4apLfPP2/1P
 DVvw==
X-Gm-Message-State: APjAAAUkt2w9HPQ4FMrmN+Oiun9NgfHN2vjFmS8GXQID0pVLSXoZSv0O
 fEfGODr5j7kjZYcJJD7VRVvaQX3vSgsFzQYRafc=
X-Google-Smtp-Source: APXvYqyb3ttxIIXyty2wG1a3fk+IWEOoS5hf+bQYVew5Y2iUvBJNXmeYFNQDZf4A7VICaz0ABDCFESINk0uyLvlBRE0=
X-Received: by 2002:ac2:4212:: with SMTP id y18mr16523531lfh.2.1575928894986; 
 Mon, 09 Dec 2019 14:01:34 -0800 (PST)
MIME-Version: 1.0
References: <20191208095507.27384-1-costin.lupu@cs.pub.ro>
 <20191208095507.27384-4-costin.lupu@cs.pub.ro>
In-Reply-To: <20191208095507.27384-4-costin.lupu@cs.pub.ro>
From: Stefan Teodorescu <stefanl.teodorescu@gmail.com>
Date: Tue, 10 Dec 2019 00:01:23 +0200
Message-ID: <CAEiTdV594CVngN3qVHCAepQrRSD2fPmvjW6vWiuu=_u=Tet98A@mail.gmail.com>
To: Costin Lupu <costin.lupu@cs.pub.ro>
Subject: Re: [Minios-devel] [UNIKRAFT/RUBY PATCH 03/16] ruby/config.h:
 Disable features unavailable in Unikraft
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Andrei Gogonea <andrei.gogonea09@gmail.com>, minios-devel@lists.xen.org
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

UmV2aWV3ZWQtYnk6IFN0ZWZhbiBUZW9kb3Jlc2N1IDxzdGVmYW5sLnRlb2RvcmVzY3VAZ21haWwu
Y29tPgoKT24gU3VuLCBEZWMgOCwgMjAxOSBhdCAxMTo1NSBBTSBDb3N0aW4gTHVwdSA8Y29zdGlu
Lmx1cHVAY3MucHViLnJvPiB3cm90ZToKPgo+IEZyb206IEFuZHJlaSBHb2dvbmVhIDxhbmRyZWku
Z29nb25lYTA5QGdtYWlsLmNvbT4KPgo+IFNpZ25lZC1vZmYtYnk6IEFuZHJlaSBHb2dvbmVhIDxh
bmRyZWkuZ29nb25lYTA5QGdtYWlsLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBDb3N0aW4gTHVwdSA8
Y29zdGluLmx1cHVAY3MucHViLnJvPgo+IC0tLQo+ICBpbmNsdWRlL3J1YnkvY29uZmlnLmggfCAz
MSArKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tCj4gIDEgZmlsZSBjaGFuZ2VkLCAxOSBp
bnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL3J1
YnkvY29uZmlnLmggYi9pbmNsdWRlL3J1YnkvY29uZmlnLmgKPiBpbmRleCA3NDM3ZjIxLi44MTk5
MmRlIDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvcnVieS9jb25maWcuaAo+ICsrKyBiL2luY2x1ZGUv
cnVieS9jb25maWcuaAo+IEBAIC0xLDUgKzEsOCBAQAo+ICAjaWZuZGVmIElOQ0xVREVfUlVCWV9D
T05GSUdfSAo+ICAjZGVmaW5lIElOQ0xVREVfUlVCWV9DT05GSUdfSCAxCj4gKwo+ICsjaW5jbHVk
ZSA8dWsvY29uZmlnLmg+Cj4gKwo+ICAvKiBjb25mZGVmcy5oICovCj4gICNkZWZpbmUgU1REQ19I
RUFERVJTIDEKPiAgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKPiBAQCAtMzQsNyArMzcsNyBA
QAo+ICAjZGVmaW5lIEhBVkVfTE9DQUxFX0ggMQo+ICAjZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQo+
ICAjZGVmaW5lIEhBVkVfUFdEX0ggMQo+IC0jZGVmaW5lIEhBVkVfU0FOSVRJWkVSX0FTQU5fSU5U
RVJGQUNFX0ggMQo+ICsvKiAjZGVmaW5lIEhBVkVfU0FOSVRJWkVSX0FTQU5fSU5URVJGQUNFX0gg
MSAqLwo+ICAjZGVmaW5lIEhBVkVfU1REQUxJR05fSCAxCj4gICNkZWZpbmUgSEFWRV9TWVNfRVZF
TlRGRF9IIDEKPiAgI2RlZmluZSBIQVZFX1NZU19GQ05UTF9IIDEKPiBAQCAtNDYsMTIgKzQ5LDEy
IEBACj4gICNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQo+ICAjZGVmaW5lIEhBVkVfU1lTX1NF
TkRGSUxFX0ggMQo+ICAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKPiAtI2RlZmluZSBIQVZF
X1NZU19TWVNDQUxMX0ggMQo+ICsvKiBUT0RPICNkZWZpbmUgSEFWRV9TWVNfU1lTQ0FMTF9IIDEg
Ki8KPiAgI2RlZmluZSBIQVZFX1NZU19TWVNNQUNST1NfSCAxCj4gICNkZWZpbmUgSEFWRV9TWVNf
VElNRV9IIDEKPiAgI2RlZmluZSBIQVZFX1NZU19USU1FU19IIDEKPiAgI2RlZmluZSBIQVZFX1NZ
U19VSU9fSCAxCj4gLSNkZWZpbmUgSEFWRV9TWVNDQUxMX0ggMQo+ICsvKiBUT0RPICNkZWZpbmUg
SEFWRV9TWVNDQUxMX0ggMSAqLwo+ICAjZGVmaW5lIEhBVkVfVElNRV9IIDEKPiAgI2RlZmluZSBI
QVZFX1VDT05URVhUX0ggMQo+ICAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCj4gQEAgLTIxMyw3ICsy
MTYsNyBAQAo+ICAjZGVmaW5lIFNJWkVPRl9VSU5UUFRSX1QgOAo+ICAjZGVmaW5lIEhBVkVfU1NJ
WkVfVCAxCj4gICNkZWZpbmUgU0laRU9GX1NTSVpFX1QgOAo+IC0jZGVmaW5lIFNUQUNLX0VORF9B
RERSRVNTIF9fbGliY19zdGFja19lbmQKPiArLyogI2RlZmluZSBTVEFDS19FTkRfQUREUkVTUyBf
X2xpYmNfc3RhY2tfZW5kICovCj4gICNkZWZpbmUgR0VUR1JPVVBTX1QgZ2lkX3QKPiAgI2RlZmlu
ZSBSRVRTSUdUWVBFIHZvaWQKPiAgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKPiBAQCAtMjQwLDEw
ICsyNDMsMTAgQEAKPiAgI2RlZmluZSBIQVZFX1RHQU1NQSAxCj4gICNkZWZpbmUgU1BUX1RZUEUg
U1BUX1JFVVNFQVJHVgo+ICAjZGVmaW5lIEhBVkVfU0lHTkJJVCAxCj4gLSNkZWZpbmUgSEFWRV9G
T1JLIDEKPiArLyojZGVmaW5lIEhBVkVfRk9SSyAxCj4gICNkZWZpbmUgSEFWRV9WRk9SSyAxCj4g
ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKPiAtI2RlZmluZSBIQVZFX1dPUktJTkdfRk9S
SyAxCj4gKyNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMSovCj4gICNkZWZpbmUgSEFWRV9fTE9O
R0pNUCAxCj4gICNkZWZpbmUgSEFWRV9BVEFOMkwgMQo+ICAjZGVmaW5lIEhBVkVfQVRBTjJGIDEK
PiBAQCAtMjk1LDcgKzI5OCw3IEBACj4gICNkZWZpbmUgSEFWRV9MT0cyIDEKPiAgI2RlZmluZSBI
QVZFX0xTVEFUIDEKPiAgI2RlZmluZSBIQVZFX0xVVElNRVMgMQo+IC0jZGVmaW5lIEhBVkVfTUFM
TE9DX1VTQUJMRV9TSVpFIDEKPiArLyojZGVmaW5lIEhBVkVfTUFMTE9DX1VTQUJMRV9TSVpFIDEg
Ki8KPiAgI2RlZmluZSBIQVZFX01CTEVOIDEKPiAgI2RlZmluZSBIQVZFX01FTUFMSUdOIDEKPiAg
I2RlZmluZSBIQVZFX1dSSVRFViAxCj4gQEAgLTMzOCw3ICszNDEsNyBAQAo+ICAjZGVmaW5lIEhB
VkVfU0lHUFJPQ01BU0sgMQo+ICAjZGVmaW5lIEhBVkVfU0lOSCAxCj4gICNkZWZpbmUgSEFWRV9T
WU1MSU5LIDEKPiAtI2RlZmluZSBIQVZFX1NZU0NBTEwgMQo+ICsvKiBUT0RPICNkZWZpbmUgSEFW
RV9TWVNDQUxMIDEgKi8KPiAgI2RlZmluZSBIQVZFX1NZU0NPTkYgMQo+ICAjZGVmaW5lIEhBVkVf
VEFOSCAxCj4gICNkZWZpbmUgSEFWRV9URUxMRElSIDEKPiBAQCAtMzgxLDggKzM4NCw4IEBACj4g
ICNkZWZpbmUgSEFWRV9MSUJSVCAxCj4gICNkZWZpbmUgSEFWRV9USU1FUl9DUkVBVEUgMQo+ICAj
ZGVmaW5lIEhBVkVfVElNRVJfU0VUVElNRSAxCj4gLSNkZWZpbmUgSEFWRV9TVFJVQ1RfVE1fVE1f
Wk9ORSAxCj4gLSNkZWZpbmUgSEFWRV9UTV9aT05FIDEKPiArLyojZGVmaW5lIEhBVkVfU1RSVUNU
X1RNX1RNX1pPTkUgMSovCj4gKy8qI2RlZmluZSBIQVZFX1RNX1pPTkUgMSovCj4gICNkZWZpbmUg
SEFWRV9TVFJVQ1RfVE1fVE1fR01UT0ZGIDEKPiAgI2RlZmluZSBIQVZFX0RBWUxJR0hUIDEKPiAg
I2RlZmluZSBORUdBVElWRV9USU1FX1QgMQo+IEBAIC00MTAsOSArNDEzLDEzIEBACj4gICNkZWZp
bmUgSEFWRV9TRVRDT05URVhUIDEKPiAgI2RlZmluZSBVU0VfRUxGIDEKPiAgI2RlZmluZSBIQVZF
X0VMRl9IIDEKPiArI2lmIENPTkZJR19MSUJaTElCCj4gICNkZWZpbmUgSEFWRV9MSUJaIDEKPiAr
I2VuZGlmCj4gKyNpZiBDT05GSUdfTElCQkFDS1RSQUNFCj4gICNkZWZpbmUgSEFWRV9CQUNLVFJB
Q0UgMQo+IC0jZGVmaW5lIEhBVkVfVkFMR1JJTkRfTUVNQ0hFQ0tfSCAxCj4gKyNlbmRpZgo+ICsv
KiAjZGVmaW5lIEhBVkVfVkFMR1JJTkRfTUVNQ0hFQ0tfSCAxICovCj4gICNkZWZpbmUgRExFWFRf
TUFYTEVOIDMKPiAgI2RlZmluZSBETEVYVCAiLnNvIgo+ICAjZGVmaW5lIEhBVkVfX1NFVEpNUCAx
Cj4gQEAgLTQyMSw1ICs0MjgsNSBAQAo+ICAjZGVmaW5lIFJVQllfSk1QX0JVRiBqbXBfYnVmCj4g
ICNkZWZpbmUgVVNFX01KSVQgMQo+ICAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKPiAtI2RlZmlu
ZSBSVUJZX1BMQVRGT1JNICJ4ODZfNjQtbGludXgiCj4gKyNkZWZpbmUgUlVCWV9QTEFURk9STSAi
eDg2XzY0LXVuaWtyYWZ0Igo+ICAjZW5kaWYgLyogSU5DTFVERV9SVUJZX0NPTkZJR19IICovCj4g
LS0KPiAyLjIwLjEKPgo+Cj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KPiBNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Cj4gTWluaW9zLWRldmVsQGxpc3Rz
LnhlbnByb2plY3Qub3JnCj4gaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xp
c3RpbmZvL21pbmlvcy1kZXZlbAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMu
eGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3Rp
bmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Tue Dec 10 10:25:12 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 10 Dec 2019 10:25:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1iechc-0008Eq-3A; Tue, 10 Dec 2019 10:25:12 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=dEMJ=2A=gmail.com=nicolescu.roxana1996@srs-us1.protection.inumbo.net>)
 id 1iecha-0008Ed-JA
 for minios-devel@lists.xenproject.org; Tue, 10 Dec 2019 10:25:10 +0000
X-Inumbo-ID: 55990c62-1b37-11ea-88e7-bc764e2007e4
Received: from mail-wm1-x341.google.com (unknown [2a00:1450:4864:20::341])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 55990c62-1b37-11ea-88e7-bc764e2007e4;
 Tue, 10 Dec 2019 10:25:06 +0000 (UTC)
Received: by mail-wm1-x341.google.com with SMTP id g206so2520671wme.1
 for <minios-devel@lists.xenproject.org>; Tue, 10 Dec 2019 02:25:06 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=subject:to:references:from:message-id:date:user-agent:mime-version
 :in-reply-to:content-transfer-encoding:content-language;
 bh=g8Gu0lDmtHfdvsaB1/Dpl4sWyy9N7kf81e7plhdP0Nw=;
 b=rWT/TZa4rC6mKFdWvmsoYz3E/cyNaew050tV/2absoqPFeqnoXYmQNwlDWNVrC/Arf
 2EnuBuU+7fzYUjLgOBhL2Bw1BRtz1L6vlgoJlxkcOo0lMduBGSpqOfVsUKBgy1Xr4dgg
 nFojgPdF6BKEy0qFCFhgcc+Xoidn5devsU+FJCWehNw75pe5aZ1/4FVsMe2LYMO6CJnS
 tUTXaZj934e7/uF2dw4+8latnjF+c0CdGvYeum9gvTJ/JfvnXmcOlQ6GXakQMNXx1mx9
 HUkzrGu6cAYk+/UrH572qMTatifBbNRgIma2yapWDYEebfwL+NidFR9xtUI1IXVoFNB/
 FUNQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:subject:to:references:from:message-id:date
 :user-agent:mime-version:in-reply-to:content-transfer-encoding
 :content-language;
 bh=g8Gu0lDmtHfdvsaB1/Dpl4sWyy9N7kf81e7plhdP0Nw=;
 b=KB9ApMo2ek1RbSM9Ljc3T3wzpo4itW0sNBu005OeB+E8zH/WIh9DhOP7Nb2ktxbFIj
 oEcyLoklIeDakJvfuhOnJ+LdQsIeYN+b3PhrBEelc35nh2/4FFZakWIfiwWlI+g0to+l
 ySd34W6BgCe5lvKM/USRPOYxAMgFfwO3ycxH4MDtL8uaH8QdhLUxnlpjM800NkzKGtIC
 x2FP0nrL79FNeuGtHxthZc1mEH+YmeYtObA9z1jS+vWVaUIwjbL7EOZNnfKRytMweTgr
 Yq4ss6j7OIO409FhNJBMmoi2pTGfAH0gf7lCWsESonWrUkp+noIUaR7UpPxzr5oxULWs
 kx5w==
X-Gm-Message-State: APjAAAUrhYSeMPLSyP7COldsLpPyTgsJ8ooXcqpJZ2JbNzUo0nTz4wfm
 z7IJGfqx9y5vcyKdun1O042pLIcKT30=
X-Google-Smtp-Source: APXvYqx/iFKb1l7/yJ8+FB8F9u+giV/n+cmDy1zQCAuKzi87KwLMO1+OuueqqS7jIuEyv3+0AB4G8g==
X-Received: by 2002:a1c:1f56:: with SMTP id f83mr4333592wmf.93.1575973505599; 
 Tue, 10 Dec 2019 02:25:05 -0800 (PST)
Received: from [192.168.0.243] ([188.25.4.143])
 by smtp.gmail.com with ESMTPSA id u10sm2544897wmd.1.2019.12.10.02.25.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Dec 2019 02:25:05 -0800 (PST)
To: minios-devel@lists.xenproject.org, costin.lupu@cs.pub.ro
References: <20191206132346.23015-1-costin.lupu@cs.pub.ro>
From: Roxana Nicolescu <nicolescu.roxana1996@gmail.com>
Message-ID: <e1f0b8bb-ecbe-cb14-6e7b-ce678a948cde@gmail.com>
Date: Tue, 10 Dec 2019 12:25:03 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.2.1
MIME-Version: 1.0
In-Reply-To: <20191206132346.23015-1-costin.lupu@cs.pub.ro>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT/LWIP PATCH 0/4] Changes for supporting
 Ruby
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgQ29zdGluLAoKClRoYW5rcyBmb3IgdGhlIHBhdGNoZXMhCgoKQmVzdCwKClJveGFuYQoKT24g
MDYuMTIuMjAxOSAxNToyMywgQ29zdGluIEx1cHUgd3JvdGU6Cj4gV2hhdCBzdWJqZWN0IHNheXMu
Cj4KPiBDb3N0aW4gTHVwdSAoNCk6Cj4gICAgSW1wb3J0IG5ldHdvcmsgaGVhZGVycyBmcm9tIG11
c2wgdG8gc3VwcG9ydCBSdWJ5Cj4gICAgQWRkIG1pc3NpbmcgZGVmaW5pdGlvbnMgZm9yIHN1cHBv
cnRpbmcgUnVieQo+ICAgIHBhdGNoZXM6IEFkZCBpcGlfc3BlY19kc3QgZmllbGQgdG8gc3RydWN0
IGluX3BrdGluZm8KPiAgICBwYXRjaGVzOiBBZGQgbW9yZSBmaWVsZHMgdG8gc3RydWN0IGlmcmVx
Cj4KPiAgIGluY2x1ZGUvbmV0L2lmLmggICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAz
NiArKysrKwo+ICAgaW5jbHVkZS9uZXRpbmV0L2luLmggICAgICAgICAgICAgICAgICAgICAgICAg
IHwgIDUxICsrKysrKwo+ICAgaW5jbHVkZS9zeXMvc29ja2V0LmggICAgICAgICAgICAgICAgICAg
ICAgICAgIHwgIDEwICstCj4gICBtdXNsLWltcG9ydGVkL2luY2x1ZGUvaWZhZGRycy5oICAgICAg
ICAgICAgICAgfCAgMzUgKysrKysKPiAgIG11c2wtaW1wb3J0ZWQvaW5jbHVkZS9uZXQvZXRoZXJu
ZXQuaCAgICAgICAgICB8ICA1NSArKysrKysrCj4gICBtdXNsLWltcG9ydGVkL2luY2x1ZGUvbmV0
L2lmX2FycC5oICAgICAgICAgICAgfCAxNDIgKysrKysrKysrKysrKysrKysKPiAgIG11c2wtaW1w
b3J0ZWQvaW5jbHVkZS9uZXRpbmV0L2lmX2V0aGVyLmggICAgICB8IDE0NSArKysrKysrKysrKysr
KysrKysKPiAgIG11c2wtaW1wb3J0ZWQvaW5jbHVkZS9uZXRpbmV0L2luX3N5c3RtLmggICAgICB8
ICAgOSArKwo+ICAgbXVzbC1pbXBvcnRlZC9pbmNsdWRlL25ldGluZXQvdWRwLmggICAgICAgICAg
IHwgIDQ1ICsrKysrKwo+ICAgbXVzbC1pbXBvcnRlZC9pbmNsdWRlL25ldHBhY2tldC9wYWNrZXQu
aCAgICAgIHwgIDYyICsrKysrKysrCj4gICAuLi4tc29ja2V0cy5oLUFkZC1pcGlfc3BlY19kc3Qt
ZmllbGQtdG8ucGF0Y2ggfCAgMTAgKysKPiAgIC4uLmNoZXMtQWRkLW1vcmUtZmllbGRzLXRvLXN0
cnVjdC1pZnJlcS5wYXRjaCB8ICA1NiArKysrKysrCj4gICAxMiBmaWxlcyBjaGFuZ2VkLCA2NTUg
aW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQo+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IG11c2wt
aW1wb3J0ZWQvaW5jbHVkZS9pZmFkZHJzLmgKPiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBtdXNsLWlt
cG9ydGVkL2luY2x1ZGUvbmV0L2V0aGVybmV0LmgKPiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBtdXNs
LWltcG9ydGVkL2luY2x1ZGUvbmV0L2lmX2FycC5oCj4gICBjcmVhdGUgbW9kZSAxMDA2NDQgbXVz
bC1pbXBvcnRlZC9pbmNsdWRlL25ldGluZXQvaWZfZXRoZXIuaAo+ICAgY3JlYXRlIG1vZGUgMTAw
NjQ0IG11c2wtaW1wb3J0ZWQvaW5jbHVkZS9uZXRpbmV0L2luX3N5c3RtLmgKPiAgIGNyZWF0ZSBt
b2RlIDEwMDY0NCBtdXNsLWltcG9ydGVkL2luY2x1ZGUvbmV0aW5ldC91ZHAuaAo+ICAgY3JlYXRl
IG1vZGUgMTAwNjQ0IG11c2wtaW1wb3J0ZWQvaW5jbHVkZS9uZXRwYWNrZXQvcGFja2V0LmgKPiAg
IGNyZWF0ZSBtb2RlIDEwMDY0NCBwYXRjaGVzLzAwMDQtc3JjLWluY2x1ZGUtbHdpcC1zb2NrZXRz
LmgtQWRkLWlwaV9zcGVjX2RzdC1maWVsZC10by5wYXRjaAo+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0
IHBhdGNoZXMvMDAwNS1wYXRjaGVzLUFkZC1tb3JlLWZpZWxkcy10by1zdHJ1Y3QtaWZyZXEucGF0
Y2gKPgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWlu
aW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcK
aHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZl
bA==

From minios-devel-bounces@lists.xenproject.org Tue Dec 10 10:25:39 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 10 Dec 2019 10:25:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ieci3-0008IH-6j; Tue, 10 Dec 2019 10:25:39 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=dEMJ=2A=gmail.com=nicolescu.roxana1996@srs-us1.protection.inumbo.net>)
 id 1ieci2-0008IA-5j
 for minios-devel@lists.xenproject.org; Tue, 10 Dec 2019 10:25:38 +0000
X-Inumbo-ID: 67ae4552-1b37-11ea-b6f1-bc764e2007e4
Received: from mail-wr1-x444.google.com (unknown [2a00:1450:4864:20::444])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 67ae4552-1b37-11ea-b6f1-bc764e2007e4;
 Tue, 10 Dec 2019 10:25:36 +0000 (UTC)
Received: by mail-wr1-x444.google.com with SMTP id j42so19327559wrj.12
 for <minios-devel@lists.xenproject.org>; Tue, 10 Dec 2019 02:25:36 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=subject:to:references:from:message-id:date:user-agent:mime-version
 :in-reply-to:content-transfer-encoding:content-language;
 bh=qSlYRU/VtaFRiKWcOmrfz+Mxj/u2tPAFzpHnaeo/TWk=;
 b=EUHxVSoZkHXw/HPSnVlI2Rs/7xOOrZk2aOBoL/8ggGrKYQr65bhWm7ipKGqh6uXVU8
 T+gLfIRvfmgwmkgvfhhWf7MyxoytF4LJkDBD5JHiHJuQjztt5fXP5eKpB2eMIut6ZJOZ
 otU82/2ggssQeCMt2/csqTNj18FqNe87tIvJXXEjP5rBYzb+0vJ3OIzkWJvK7C1eQHUi
 sDVT306AO90HdOidg5uF0TZ5/v5sd3caT1wO43GJza2Kazi8/1PL/Qje9s5irXGwcbLS
 rmp+as31QLdcpNJJ+7tjI4rjbIxoTKdrQahCypLXaqmXZY+deQH+svYo9JM14BLngoqt
 u3BA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:subject:to:references:from:message-id:date
 :user-agent:mime-version:in-reply-to:content-transfer-encoding
 :content-language;
 bh=qSlYRU/VtaFRiKWcOmrfz+Mxj/u2tPAFzpHnaeo/TWk=;
 b=e6/zG2eAIPWlnNTpxRpMthx1DGmhnQgIgja2tQJHCIloVAFPpl2Y0YoJbng0f+YIme
 NszJcDhl15f+kGWtGQ0cnrwqNLtQor+iFCHz4kEo2kYspdqcG2rpynH1W6O7E8qYhC2b
 JT+Kv9bItWvuQ3nqEdm0nalQ8pOdNrXeUTfqEqurnRbj9rytF3Y+JqqiRzlo2ysYlQ2v
 tL7RiSOYbh5yJ59/EosSmUUNrTQfG2u7GRdqYeTCX8UvUqLMY6B8X9h4CUrZ1B+7MZBe
 bQI7t8GRyTgm303uFFeBJA+T/je8Cs0m0HUVaAA7fVgfQwyNZe6y5FwOc/7Hr7++8hMm
 qy/Q==
X-Gm-Message-State: APjAAAWE0tMqIj1tuz09sQgOuqHl4Q4UwvG0UwUANEfy7u9JAj2F6GmV
 ZkINGPm+/u2bvfIi+jLBPYbsVc8jLc0=
X-Google-Smtp-Source: APXvYqyWpfErooUBl2a6j4euj/JV1iwczbFgcXNYqL7xjqtOTT3KYa6EWSif0GbZg3vAmwoMAORAnw==
X-Received: by 2002:a5d:6b47:: with SMTP id x7mr2309284wrw.277.1575973535700; 
 Tue, 10 Dec 2019 02:25:35 -0800 (PST)
Received: from [192.168.0.243] ([188.25.4.143])
 by smtp.gmail.com with ESMTPSA id v14sm2724309wrm.28.2019.12.10.02.25.34
 for <minios-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Dec 2019 02:25:35 -0800 (PST)
To: minios-devel@lists.xenproject.org
References: <20191206132346.23015-1-costin.lupu@cs.pub.ro>
 <20191206132346.23015-2-costin.lupu@cs.pub.ro>
From: Roxana Nicolescu <nicolescu.roxana1996@gmail.com>
Message-ID: <291794f5-30cb-5d1d-e9e7-8643f2bf91f4@gmail.com>
Date: Tue, 10 Dec 2019 12:25:34 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.2.1
MIME-Version: 1.0
In-Reply-To: <20191206132346.23015-2-costin.lupu@cs.pub.ro>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT/LWIP PATCH 1/4] Import network headers
 from musl to support Ruby
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

UmV2aWV3ZWQtYnk6IFJveGFuYSBOaWNvbGVzY3UgPG5pY29sZXNjdS5yb3hhbmExOTk2QGdtYWls
LmNvbT4KCk9uIDA2LjEyLjIwMTkgMTU6MjMsIENvc3RpbiBMdXB1IHdyb3RlOgo+IENvcGllZCBh
cyBpcyBmcm9tIHRoZSBvZmZpY2lhbCBtdXNsIGdpdCBtaXJyb3IKPiBnaXQ6Ly9naXQubXVzbC1s
aWJjLm9yZy9tdXNsLCBjb21taXQgNmZjYjQ0MGQuCj4KPiBTaWduZWQtb2ZmLWJ5OiBDb3N0aW4g
THVwdSA8Y29zdGluLmx1cHVAY3MucHViLnJvPgo+IC0tLQo+ICAgbXVzbC1pbXBvcnRlZC9pbmNs
dWRlL2lmYWRkcnMuaCAgICAgICAgICB8ICAzNSArKysrKysKPiAgIG11c2wtaW1wb3J0ZWQvaW5j
bHVkZS9uZXQvZXRoZXJuZXQuaCAgICAgfCAgNTUgKysrKysrKysrCj4gICBtdXNsLWltcG9ydGVk
L2luY2x1ZGUvbmV0L2lmX2FycC5oICAgICAgIHwgMTQyICsrKysrKysrKysrKysrKysrKysrKysK
PiAgIG11c2wtaW1wb3J0ZWQvaW5jbHVkZS9uZXRpbmV0L2lmX2V0aGVyLmggfCAxNDUgKysrKysr
KysrKysrKysrKysrKysrKysKPiAgIG11c2wtaW1wb3J0ZWQvaW5jbHVkZS9uZXRpbmV0L2luX3N5
c3RtLmggfCAgIDkgKysKPiAgIG11c2wtaW1wb3J0ZWQvaW5jbHVkZS9uZXRpbmV0L3VkcC5oICAg
ICAgfCAgNDUgKysrKysrKwo+ICAgbXVzbC1pbXBvcnRlZC9pbmNsdWRlL25ldHBhY2tldC9wYWNr
ZXQuaCB8ICA2MiArKysrKysrKysrCj4gICA3IGZpbGVzIGNoYW5nZWQsIDQ5MyBpbnNlcnRpb25z
KCspCj4gICBjcmVhdGUgbW9kZSAxMDA2NDQgbXVzbC1pbXBvcnRlZC9pbmNsdWRlL2lmYWRkcnMu
aAo+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IG11c2wtaW1wb3J0ZWQvaW5jbHVkZS9uZXQvZXRoZXJu
ZXQuaAo+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IG11c2wtaW1wb3J0ZWQvaW5jbHVkZS9uZXQvaWZf
YXJwLmgKPiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBtdXNsLWltcG9ydGVkL2luY2x1ZGUvbmV0aW5l
dC9pZl9ldGhlci5oCj4gICBjcmVhdGUgbW9kZSAxMDA2NDQgbXVzbC1pbXBvcnRlZC9pbmNsdWRl
L25ldGluZXQvaW5fc3lzdG0uaAo+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IG11c2wtaW1wb3J0ZWQv
aW5jbHVkZS9uZXRpbmV0L3VkcC5oCj4gICBjcmVhdGUgbW9kZSAxMDA2NDQgbXVzbC1pbXBvcnRl
ZC9pbmNsdWRlL25ldHBhY2tldC9wYWNrZXQuaAo+Cj4gZGlmZiAtLWdpdCBhL211c2wtaW1wb3J0
ZWQvaW5jbHVkZS9pZmFkZHJzLmggYi9tdXNsLWltcG9ydGVkL2luY2x1ZGUvaWZhZGRycy5oCj4g
bmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi5jMDMyOGE4Cj4gLS0tIC9kZXYv
bnVsbAo+ICsrKyBiL211c2wtaW1wb3J0ZWQvaW5jbHVkZS9pZmFkZHJzLmgKPiBAQCAtMCwwICsx
LDM1IEBACj4gKyNpZm5kZWYgX0lGQUREUlNfSAo+ICsjZGVmaW5lIF9JRkFERFJTX0gKPiArCj4g
KyNpZmRlZiBfX2NwbHVzcGx1cwo+ICtleHRlcm4gIkMiIHsKPiArI2VuZGlmCj4gKwo+ICsjaW5j
bHVkZSA8ZmVhdHVyZXMuaD4KPiArI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4KPiArI2luY2x1ZGUg
PHN5cy9zb2NrZXQuaD4KPiArCj4gK3N0cnVjdCBpZmFkZHJzIHsKPiArCXN0cnVjdCBpZmFkZHJz
ICppZmFfbmV4dDsKPiArCWNoYXIgKmlmYV9uYW1lOwo+ICsJdW5zaWduZWQgaWZhX2ZsYWdzOwo+
ICsJc3RydWN0IHNvY2thZGRyICppZmFfYWRkcjsKPiArCXN0cnVjdCBzb2NrYWRkciAqaWZhX25l
dG1hc2s7Cj4gKwl1bmlvbiB7Cj4gKwkJc3RydWN0IHNvY2thZGRyICppZnVfYnJvYWRhZGRyOwo+
ICsJCXN0cnVjdCBzb2NrYWRkciAqaWZ1X2RzdGFkZHI7Cj4gKwl9IGlmYV9pZnU7Cj4gKwl2b2lk
ICppZmFfZGF0YTsKPiArfTsKPiArI2RlZmluZSBpZmFfYnJvYWRhZGRyIGlmYV9pZnUuaWZ1X2Jy
b2FkYWRkcgo+ICsjZGVmaW5lIGlmYV9kc3RhZGRyIGlmYV9pZnUuaWZ1X2RzdGFkZHIKPiArCj4g
K3ZvaWQgZnJlZWlmYWRkcnMoc3RydWN0IGlmYWRkcnMgKik7Cj4gK2ludCBnZXRpZmFkZHJzKHN0
cnVjdCBpZmFkZHJzICoqKTsKPiArCj4gKyNpZmRlZiBfX2NwbHVzcGx1cwo+ICt9Cj4gKyNlbmRp
Zgo+ICsKPiArI2VuZGlmCj4gKwo+IGRpZmYgLS1naXQgYS9tdXNsLWltcG9ydGVkL2luY2x1ZGUv
bmV0L2V0aGVybmV0LmggYi9tdXNsLWltcG9ydGVkL2luY2x1ZGUvbmV0L2V0aGVybmV0LmgKPiBu
ZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAuLmM4ZDQxNzcKPiAtLS0gL2Rldi9u
dWxsCj4gKysrIGIvbXVzbC1pbXBvcnRlZC9pbmNsdWRlL25ldC9ldGhlcm5ldC5oCj4gQEAgLTAs
MCArMSw1NSBAQAo+ICsjaWZuZGVmIF9ORVRfRVRIRVJORVRfSAo+ICsjZGVmaW5lIF9ORVRfRVRI
RVJORVRfSAo+ICsKPiArI2lmZGVmIF9fY3BsdXNwbHVzCj4gK2V4dGVybiAiQyIgewo+ICsjZW5k
aWYKPiArCj4gKyNpbmNsdWRlIDxzdGRpbnQuaD4KPiArI2luY2x1ZGUgPHN5cy90eXBlcy5oPgo+
ICsjaW5jbHVkZSA8bmV0aW5ldC9pZl9ldGhlci5oPgo+ICsKPiArc3RydWN0IGV0aGVyX2FkZHIg
ewo+ICsJdWludDhfdCBldGhlcl9hZGRyX29jdGV0W0VUSF9BTEVOXTsKPiArfTsKPiArCj4gK3N0
cnVjdCBldGhlcl9oZWFkZXIgewo+ICsJdWludDhfdCAgZXRoZXJfZGhvc3RbRVRIX0FMRU5dOwo+
ICsJdWludDhfdCAgZXRoZXJfc2hvc3RbRVRIX0FMRU5dOwo+ICsJdWludDE2X3QgZXRoZXJfdHlw
ZTsKPiArfTsKPiArCj4gKyNkZWZpbmUJRVRIRVJUWVBFX1BVUAkJMHgwMjAwCj4gKyNkZWZpbmUg
RVRIRVJUWVBFX1NQUklURQkweDA1MDAKPiArI2RlZmluZQlFVEhFUlRZUEVfSVAJCTB4MDgwMAo+
ICsjZGVmaW5lCUVUSEVSVFlQRV9BUlAJCTB4MDgwNgo+ICsjZGVmaW5lCUVUSEVSVFlQRV9SRVZB
UlAJMHg4MDM1Cj4gKyNkZWZpbmUgRVRIRVJUWVBFX0FUCQkweDgwOUIKPiArI2RlZmluZSBFVEhF
UlRZUEVfQUFSUAkJMHg4MEYzCj4gKyNkZWZpbmUJRVRIRVJUWVBFX1ZMQU4JCTB4ODEwMAo+ICsj
ZGVmaW5lIEVUSEVSVFlQRV9JUFgJCTB4ODEzNwo+ICsjZGVmaW5lCUVUSEVSVFlQRV9JUFY2CQkw
eDg2ZGQKPiArI2RlZmluZSBFVEhFUlRZUEVfTE9PUEJBQ0sJMHg5MDAwCj4gKwo+ICsKPiArI2Rl
ZmluZQlFVEhFUl9BRERSX0xFTglFVEhfQUxFTgo+ICsjZGVmaW5lCUVUSEVSX1RZUEVfTEVOCTIK
PiArI2RlZmluZQlFVEhFUl9DUkNfTEVOCTQKPiArI2RlZmluZQlFVEhFUl9IRFJfTEVOCUVUSF9I
TEVOCj4gKyNkZWZpbmUJRVRIRVJfTUlOX0xFTgkoRVRIX1pMRU4gKyBFVEhFUl9DUkNfTEVOKQo+
ICsjZGVmaW5lCUVUSEVSX01BWF9MRU4JKEVUSF9GUkFNRV9MRU4gKyBFVEhFUl9DUkNfTEVOKQo+
ICsKPiArI2RlZmluZQlFVEhFUl9JU19WQUxJRF9MRU4oZm9vKQlcCj4gKwkoKGZvbykgPj0gRVRI
RVJfTUlOX0xFTiAmJiAoZm9vKSA8PSBFVEhFUl9NQVhfTEVOKQo+ICsKPiArI2RlZmluZQlFVEhF
UlRZUEVfVFJBSUwJCTB4MTAwMAo+ICsjZGVmaW5lCUVUSEVSVFlQRV9OVFJBSUxFUgkxNgo+ICsK
PiArI2RlZmluZQlFVEhFUk1UVQlFVEhfREFUQV9MRU4KPiArI2RlZmluZQlFVEhFUk1JTgkoRVRI
RVJfTUlOX0xFTiAtIEVUSEVSX0hEUl9MRU4gLSBFVEhFUl9DUkNfTEVOKQo+ICsKPiArI2lmZGVm
IF9fY3BsdXNwbHVzCj4gK30KPiArI2VuZGlmCj4gKwo+ICsjZW5kaWYKPiBkaWZmIC0tZ2l0IGEv
bXVzbC1pbXBvcnRlZC9pbmNsdWRlL25ldC9pZl9hcnAuaCBiL211c2wtaW1wb3J0ZWQvaW5jbHVk
ZS9uZXQvaWZfYXJwLmgKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAuLjI3
YmVjYzgKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvbXVzbC1pbXBvcnRlZC9pbmNsdWRlL25ldC9p
Zl9hcnAuaAo+IEBAIC0wLDAgKzEsMTQyIEBACj4gKy8qIE5vbnN0YW5kYXJkIGhlYWRlciAqLwo+
ICsjaWZuZGVmIF9ORVRfSUZfQVJQX0gKPiArI2RlZmluZSBfTkVUX0lGX0FSUF9ICj4gKyNpZmRl
ZiBfX2NwbHVzcGx1cwo+ICtleHRlcm4gIkMiIHsKPiArI2VuZGlmCj4gKwo+ICsjaW5jbHVkZSA8
aW50dHlwZXMuaD4KPiArI2luY2x1ZGUgPHN5cy90eXBlcy5oPgo+ICsjaW5jbHVkZSA8c3lzL3Nv
Y2tldC5oPgo+ICsKPiArI2RlZmluZSBNQVhfQUREUl9MRU4JNwo+ICsKPiArI2RlZmluZQlBUlBP
UF9SRVFVRVNUCTEKPiArI2RlZmluZQlBUlBPUF9SRVBMWQkyCj4gKyNkZWZpbmUJQVJQT1BfUlJF
UVVFU1QJMwo+ICsjZGVmaW5lCUFSUE9QX1JSRVBMWQk0Cj4gKyNkZWZpbmUJQVJQT1BfSW5SRVFV
RVNUCTgKPiArI2RlZmluZQlBUlBPUF9JblJFUExZCTkKPiArI2RlZmluZQlBUlBPUF9OQUsJMTAK
PiArCj4gK3N0cnVjdCBhcnBoZHIgewo+ICsJdWludDE2X3QgYXJfaHJkOwo+ICsJdWludDE2X3Qg
YXJfcHJvOwo+ICsJdWludDhfdCBhcl9obG47Cj4gKwl1aW50OF90IGFyX3BsbjsKPiArCXVpbnQx
Nl90IGFyX29wOwo+ICt9Owo+ICsKPiArCj4gKyNkZWZpbmUgQVJQSFJEX05FVFJPTQkwCj4gKyNk
ZWZpbmUgQVJQSFJEX0VUSEVSIAkxCj4gKyNkZWZpbmUJQVJQSFJEX0VFVEhFUgkyCj4gKyNkZWZp
bmUJQVJQSFJEX0FYMjUJMwo+ICsjZGVmaW5lCUFSUEhSRF9QUk9ORVQJNAo+ICsjZGVmaW5lCUFS
UEhSRF9DSEFPUwk1Cj4gKyNkZWZpbmUJQVJQSFJEX0lFRUU4MDIJNgo+ICsjZGVmaW5lCUFSUEhS
RF9BUkNORVQJNwo+ICsjZGVmaW5lCUFSUEhSRF9BUFBMRVRMSwk4Cj4gKyNkZWZpbmUJQVJQSFJE
X0RMQ0kJMTUKPiArI2RlZmluZQlBUlBIUkRfQVRNCTE5Cj4gKyNkZWZpbmUJQVJQSFJEX01FVFJJ
Q09NCTIzCj4gKyNkZWZpbmUgQVJQSFJEX0lFRUUxMzk0CTI0Cj4gKyNkZWZpbmUgQVJQSFJEX0VV
STY0CQkyNwo+ICsjZGVmaW5lIEFSUEhSRF9JTkZJTklCQU5ECTMyCj4gKyNkZWZpbmUgQVJQSFJE
X1NMSVAJMjU2Cj4gKyNkZWZpbmUgQVJQSFJEX0NTTElQCTI1Nwo+ICsjZGVmaW5lIEFSUEhSRF9T
TElQNgkyNTgKPiArI2RlZmluZSBBUlBIUkRfQ1NMSVA2CTI1OQo+ICsjZGVmaW5lIEFSUEhSRF9S
U1JWRAkyNjAKPiArI2RlZmluZSBBUlBIUkRfQURBUFQJMjY0Cj4gKyNkZWZpbmUgQVJQSFJEX1JP
U0UJMjcwCj4gKyNkZWZpbmUgQVJQSFJEX1gyNQkyNzEKPiArI2RlZmluZSBBUlBIUkRfSFdYMjUJ
MjcyCj4gKyNkZWZpbmUgQVJQSFJEX0NBTgkyODAKPiArI2RlZmluZSBBUlBIUkRfUFBQCTUxMgo+
ICsjZGVmaW5lIEFSUEhSRF9DSVNDTwk1MTMKPiArI2RlZmluZSBBUlBIUkRfSERMQwlBUlBIUkRf
Q0lTQ08KPiArI2RlZmluZSBBUlBIUkRfTEFQQgk1MTYKPiArI2RlZmluZSBBUlBIUkRfRERDTVAJ
NTE3Cj4gKyNkZWZpbmUJQVJQSFJEX1JBV0hETEMJNTE4Cj4gKyNkZWZpbmUgQVJQSFJEX1JBV0lQ
CTUxOQo+ICsKPiArI2RlZmluZSBBUlBIUkRfVFVOTkVMCTc2OAo+ICsjZGVmaW5lIEFSUEhSRF9U
VU5ORUw2CTc2OQo+ICsjZGVmaW5lIEFSUEhSRF9GUkFECTc3MAo+ICsjZGVmaW5lIEFSUEhSRF9T
S0lQCTc3MQo+ICsjZGVmaW5lIEFSUEhSRF9MT09QQkFDSwk3NzIKPiArI2RlZmluZSBBUlBIUkRf
TE9DQUxUTEsgNzczCj4gKyNkZWZpbmUgQVJQSFJEX0ZEREkJNzc0Cj4gKyNkZWZpbmUgQVJQSFJE
X0JJRgk3NzUKPiArI2RlZmluZSBBUlBIUkRfU0lUCTc3Ngo+ICsjZGVmaW5lIEFSUEhSRF9JUERE
UAk3NzcKPiArI2RlZmluZSBBUlBIUkRfSVBHUkUJNzc4Cj4gKyNkZWZpbmUgQVJQSFJEX1BJTVJF
Rwk3NzkKPiArI2RlZmluZSBBUlBIUkRfSElQUEkJNzgwCj4gKyNkZWZpbmUgQVJQSFJEX0FTSAk3
ODEKPiArI2RlZmluZSBBUlBIUkRfRUNPTkVUCTc4Mgo+ICsjZGVmaW5lIEFSUEhSRF9JUkRBCTc4
Mwo+ICsjZGVmaW5lIEFSUEhSRF9GQ1BQCTc4NAo+ICsjZGVmaW5lIEFSUEhSRF9GQ0FMCTc4NQo+
ICsjZGVmaW5lIEFSUEhSRF9GQ1BMCTc4Ngo+ICsjZGVmaW5lIEFSUEhSRF9GQ0ZBQlJJQyA3ODcK
PiArI2RlZmluZSBBUlBIUkRfSUVFRTgwMl9UUiA4MDAKPiArI2RlZmluZSBBUlBIUkRfSUVFRTgw
MjExIDgwMQo+ICsjZGVmaW5lIEFSUEhSRF9JRUVFODAyMTFfUFJJU00gODAyCj4gKyNkZWZpbmUg
QVJQSFJEX0lFRUU4MDIxMV9SQURJT1RBUCA4MDMKPiArI2RlZmluZSBBUlBIUkRfSUVFRTgwMjE1
NCA4MDQKPiArI2RlZmluZSBBUlBIUkRfSUVFRTgwMjE1NF9NT05JVE9SIDgwNQo+ICsjZGVmaW5l
IEFSUEhSRF9QSE9ORVQgODIwCj4gKyNkZWZpbmUgQVJQSFJEX1BIT05FVF9QSVBFIDgyMQo+ICsj
ZGVmaW5lIEFSUEhSRF9DQUlGIDgyMgo+ICsjZGVmaW5lIEFSUEhSRF9JUDZHUkUgODIzCj4gKyNk
ZWZpbmUgQVJQSFJEX05FVExJTksgODI0Cj4gKyNkZWZpbmUgQVJQSFJEXzZMT1dQQU4gODI1Cj4g
KyNkZWZpbmUgQVJQSFJEX1ZTT0NLTU9OIDgyNgo+ICsKPiArI2RlZmluZSBBUlBIUkRfVk9JRAkg
IDB4RkZGRgo+ICsjZGVmaW5lIEFSUEhSRF9OT05FCSAgMHhGRkZFCj4gKwo+ICtzdHJ1Y3QgYXJw
cmVxIHsKPiArCXN0cnVjdCBzb2NrYWRkciBhcnBfcGE7Cj4gKwlzdHJ1Y3Qgc29ja2FkZHIgYXJw
X2hhOwo+ICsJaW50IGFycF9mbGFnczsKPiArCXN0cnVjdCBzb2NrYWRkciBhcnBfbmV0bWFzazsK
PiArCWNoYXIgYXJwX2RldlsxNl07Cj4gK307Cj4gKwo+ICtzdHJ1Y3QgYXJwcmVxX29sZCB7Cj4g
KwlzdHJ1Y3Qgc29ja2FkZHIgYXJwX3BhOwo+ICsJc3RydWN0IHNvY2thZGRyIGFycF9oYTsKPiAr
CWludCBhcnBfZmxhZ3M7Cj4gKwlzdHJ1Y3Qgc29ja2FkZHIgYXJwX25ldG1hc2s7Cj4gK307Cj4g
Kwo+ICsjZGVmaW5lIEFURl9DT00JCTB4MDIKPiArI2RlZmluZQlBVEZfUEVSTQkweDA0Cj4gKyNk
ZWZpbmUJQVRGX1BVQkwJMHgwOAo+ICsjZGVmaW5lCUFURl9VU0VUUkFJTEVSUwkweDEwCj4gKyNk
ZWZpbmUgQVRGX05FVE1BU0sgICAgIDB4MjAKPiArI2RlZmluZSBBVEZfRE9OVFBVQgkweDQwCj4g
KyNkZWZpbmUgQVRGX01BR0lDCTB4ODAKPiArCj4gKyNkZWZpbmUgQVJQRF9VUERBVEUJMHgwMQo+
ICsjZGVmaW5lIEFSUERfTE9PS1VQCTB4MDIKPiArI2RlZmluZSBBUlBEX0ZMVVNICTB4MDMKPiAr
Cj4gK3N0cnVjdCBhcnBkX3JlcXVlc3Qgewo+ICsJdW5zaWduZWQgc2hvcnQgcmVxOwo+ICsJdWlu
dDMyX3QgaXA7Cj4gKwl1bnNpZ25lZCBsb25nIGRldjsKPiArCXVuc2lnbmVkIGxvbmcgc3RhbXA7
Cj4gKwl1bnNpZ25lZCBsb25nIHVwZGF0ZWQ7Cj4gKwl1bnNpZ25lZCBjaGFyIGhhW01BWF9BRERS
X0xFTl07Cj4gK307Cj4gKwo+ICsKPiArCj4gKyNpZmRlZiBfX2NwbHVzcGx1cwo+ICt9Cj4gKyNl
bmRpZgo+ICsjZW5kaWYKPiBkaWZmIC0tZ2l0IGEvbXVzbC1pbXBvcnRlZC9pbmNsdWRlL25ldGlu
ZXQvaWZfZXRoZXIuaCBiL211c2wtaW1wb3J0ZWQvaW5jbHVkZS9uZXRpbmV0L2lmX2V0aGVyLmgK
PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAuLmVjZDZjNzMKPiAtLS0gL2Rl
di9udWxsCj4gKysrIGIvbXVzbC1pbXBvcnRlZC9pbmNsdWRlL25ldGluZXQvaWZfZXRoZXIuaAo+
IEBAIC0wLDAgKzEsMTQ1IEBACj4gKyNpZm5kZWYgX05FVElORVRfSUZfRVRIRVJfSAo+ICsjZGVm
aW5lIF9ORVRJTkVUX0lGX0VUSEVSX0gKPiArCj4gKyNpbmNsdWRlIDxzdGRpbnQuaD4KPiArI2lu
Y2x1ZGUgPHN5cy90eXBlcy5oPgo+ICsKPiArI2RlZmluZSBFVEhfQUxFTgk2Cj4gKyNkZWZpbmUg
RVRIX1RMRU4JMgo+ICsjZGVmaW5lIEVUSF9ITEVOCTE0Cj4gKyNkZWZpbmUgRVRIX1pMRU4JNjAK
PiArI2RlZmluZSBFVEhfREFUQV9MRU4JMTUwMAo+ICsjZGVmaW5lIEVUSF9GUkFNRV9MRU4JMTUx
NAo+ICsjZGVmaW5lIEVUSF9GQ1NfTEVOCTQKPiArI2RlZmluZSBFVEhfTUlOX01UVQk2OAo+ICsj
ZGVmaW5lIEVUSF9NQVhfTVRVCTB4RkZGRlUKPiArCj4gKyNkZWZpbmUgRVRIX1BfTE9PUAkweDAw
NjAKPiArI2RlZmluZSBFVEhfUF9QVVAJMHgwMjAwCj4gKyNkZWZpbmUgRVRIX1BfUFVQQVQJMHgw
MjAxCj4gKyNkZWZpbmUgRVRIX1BfVFNOCTB4MjJGMAo+ICsjZGVmaW5lIEVUSF9QX0VSU1BBTjIJ
MHgyMkVCCj4gKyNkZWZpbmUgRVRIX1BfSVAJMHgwODAwCj4gKyNkZWZpbmUgRVRIX1BfWDI1CTB4
MDgwNQo+ICsjZGVmaW5lIEVUSF9QX0FSUAkweDA4MDYKPiArI2RlZmluZQlFVEhfUF9CUFEJMHgw
OEZGCj4gKyNkZWZpbmUgRVRIX1BfSUVFRVBVUAkweDBhMDAKPiArI2RlZmluZSBFVEhfUF9JRUVF
UFVQQVQJMHgwYTAxCj4gKyNkZWZpbmUgRVRIX1BfQkFUTUFOCTB4NDMwNQo+ICsjZGVmaW5lIEVU
SF9QX0RFQyAgICAgICAweDYwMDAKPiArI2RlZmluZSBFVEhfUF9ETkFfREwgICAgMHg2MDAxCj4g
KyNkZWZpbmUgRVRIX1BfRE5BX1JDICAgIDB4NjAwMgo+ICsjZGVmaW5lIEVUSF9QX0ROQV9SVCAg
ICAweDYwMDMKPiArI2RlZmluZSBFVEhfUF9MQVQgICAgICAgMHg2MDA0Cj4gKyNkZWZpbmUgRVRI
X1BfRElBRyAgICAgIDB4NjAwNQo+ICsjZGVmaW5lIEVUSF9QX0NVU1QgICAgICAweDYwMDYKPiAr
I2RlZmluZSBFVEhfUF9TQ0EgICAgICAgMHg2MDA3Cj4gKyNkZWZpbmUgRVRIX1BfVEVCCTB4NjU1
OAo+ICsjZGVmaW5lIEVUSF9QX1JBUlAgICAgICAweDgwMzUKPiArI2RlZmluZSBFVEhfUF9BVEFM
SwkweDgwOUIKPiArI2RlZmluZSBFVEhfUF9BQVJQCTB4ODBGMwo+ICsjZGVmaW5lIEVUSF9QXzgw
MjFRCTB4ODEwMAo+ICsjZGVmaW5lIEVUSF9QX0lQWAkweDgxMzcKPiArI2RlZmluZSBFVEhfUF9J
UFY2CTB4ODZERAo+ICsjZGVmaW5lIEVUSF9QX1BBVVNFCTB4ODgwOAo+ICsjZGVmaW5lIEVUSF9Q
X1NMT1cJMHg4ODA5Cj4gKyNkZWZpbmUgRVRIX1BfV0NDUAkweDg4M0UKPiArI2RlZmluZSBFVEhf
UF9NUExTX1VDCTB4ODg0Nwo+ICsjZGVmaW5lIEVUSF9QX01QTFNfTUMJMHg4ODQ4Cj4gKyNkZWZp
bmUgRVRIX1BfQVRNTVBPQQkweDg4NGMKPiArI2RlZmluZSBFVEhfUF9QUFBfRElTQwkweDg4NjMK
PiArI2RlZmluZSBFVEhfUF9QUFBfU0VTCTB4ODg2NAo+ICsjZGVmaW5lIEVUSF9QX0xJTktfQ1RM
CTB4ODg2Ywo+ICsjZGVmaW5lIEVUSF9QX0FUTUZBVEUJMHg4ODg0Cj4gKyNkZWZpbmUgRVRIX1Bf
UEFFCTB4ODg4RQo+ICsjZGVmaW5lIEVUSF9QX0FPRQkweDg4QTIKPiArI2RlZmluZSBFVEhfUF84
MDIxQUQJMHg4OEE4Cj4gKyNkZWZpbmUgRVRIX1BfODAyX0VYMQkweDg4QjUKPiArI2RlZmluZSBF
VEhfUF9FUlNQQU4JMHg4OEJFCj4gKyNkZWZpbmUgRVRIX1BfUFJFQVVUSAkweDg4QzcKPiArI2Rl
ZmluZSBFVEhfUF9USVBDCTB4ODhDQQo+ICsjZGVmaW5lIEVUSF9QX01BQ1NFQwkweDg4RTUKPiAr
I2RlZmluZSBFVEhfUF84MDIxQUgJMHg4OEU3Cj4gKyNkZWZpbmUgRVRIX1BfTVZSUAkweDg4RjUK
PiArI2RlZmluZSBFVEhfUF8xNTg4CTB4ODhGNwo+ICsjZGVmaW5lIEVUSF9QX05DU0kJMHg4OEY4
Cj4gKyNkZWZpbmUgRVRIX1BfUFJQCTB4ODhGQgo+ICsjZGVmaW5lIEVUSF9QX0ZDT0UJMHg4OTA2
Cj4gKyNkZWZpbmUgRVRIX1BfVERMUwkweDg5MEQKPiArI2RlZmluZSBFVEhfUF9GSVAJMHg4OTE0
Cj4gKyNkZWZpbmUgRVRIX1BfSUJPRQkweDg5MTUKPiArI2RlZmluZSBFVEhfUF84MDIyMQkweDg5
MTcKPiArI2RlZmluZSBFVEhfUF9IU1IJMHg4OTJGCj4gKyNkZWZpbmUgRVRIX1BfTlNICTB4ODk0
Rgo+ICsjZGVmaW5lIEVUSF9QX0xPT1BCQUNLCTB4OTAwMAo+ICsjZGVmaW5lIEVUSF9QX1FJTlEx
CTB4OTEwMAo+ICsjZGVmaW5lIEVUSF9QX1FJTlEyCTB4OTIwMAo+ICsjZGVmaW5lIEVUSF9QX1FJ
TlEzCTB4OTMwMAo+ICsjZGVmaW5lIEVUSF9QX0VEU0EJMHhEQURBCj4gKyNkZWZpbmUgRVRIX1Bf
SUZFCTB4RUQzRQo+ICsjZGVmaW5lIEVUSF9QX0FGX0lVQ1YJMHhGQkZCCj4gKwo+ICsjZGVmaW5l
IEVUSF9QXzgwMl8zX01JTgkweDA2MDAKPiArCj4gKyNkZWZpbmUgRVRIX1BfODAyXzMJMHgwMDAx
Cj4gKyNkZWZpbmUgRVRIX1BfQVgyNQkweDAwMDIKPiArI2RlZmluZSBFVEhfUF9BTEwJMHgwMDAz
Cj4gKyNkZWZpbmUgRVRIX1BfODAyXzIJMHgwMDA0Cj4gKyNkZWZpbmUgRVRIX1BfU05BUAkweDAw
MDUKPiArI2RlZmluZSBFVEhfUF9ERENNUCAgICAgMHgwMDA2Cj4gKyNkZWZpbmUgRVRIX1BfV0FO
X1BQUCAgIDB4MDAwNwo+ICsjZGVmaW5lIEVUSF9QX1BQUF9NUCAgICAweDAwMDgKPiArI2RlZmlu
ZSBFVEhfUF9MT0NBTFRBTEsgMHgwMDA5Cj4gKyNkZWZpbmUgRVRIX1BfQ0FOCTB4MDAwQwo+ICsj
ZGVmaW5lIEVUSF9QX0NBTkZECTB4MDAwRAo+ICsjZGVmaW5lIEVUSF9QX1BQUFRBTEsJMHgwMDEw
Cj4gKyNkZWZpbmUgRVRIX1BfVFJfODAyXzIJMHgwMDExCj4gKyNkZWZpbmUgRVRIX1BfTU9CSVRF
WAkweDAwMTUKPiArI2RlZmluZSBFVEhfUF9DT05UUk9MCTB4MDAxNgo+ICsjZGVmaW5lIEVUSF9Q
X0lSREEJMHgwMDE3Cj4gKyNkZWZpbmUgRVRIX1BfRUNPTkVUCTB4MDAxOAo+ICsjZGVmaW5lIEVU
SF9QX0hETEMJMHgwMDE5Cj4gKyNkZWZpbmUgRVRIX1BfQVJDTkVUCTB4MDAxQQo+ICsjZGVmaW5l
IEVUSF9QX0RTQQkweDAwMUIKPiArI2RlZmluZSBFVEhfUF9UUkFJTEVSCTB4MDAxQwo+ICsjZGVm
aW5lIEVUSF9QX1BIT05FVAkweDAwRjUKPiArI2RlZmluZSBFVEhfUF9JRUVFODAyMTU0IDB4MDBG
Ngo+ICsjZGVmaW5lIEVUSF9QX0NBSUYJMHgwMEY3Cj4gKyNkZWZpbmUgRVRIX1BfWERTQQkweDAw
RjgKPiArI2RlZmluZSBFVEhfUF9NQVAJMHgwMEY5Cj4gKwo+ICtzdHJ1Y3QgZXRoaGRyIHsKPiAr
CXVpbnQ4X3QgaF9kZXN0W0VUSF9BTEVOXTsKPiArCXVpbnQ4X3QgaF9zb3VyY2VbRVRIX0FMRU5d
Owo+ICsJdWludDE2X3QgaF9wcm90bzsKPiArfTsKPiArCj4gKyNpbmNsdWRlIDxuZXQvZXRoZXJu
ZXQuaD4KPiArI2luY2x1ZGUgPG5ldC9pZl9hcnAuaD4KPiArCj4gK3N0cnVjdAlldGhlcl9hcnAg
ewo+ICsJc3RydWN0CWFycGhkciBlYV9oZHI7Cj4gKwl1aW50OF90IGFycF9zaGFbRVRIX0FMRU5d
Owo+ICsJdWludDhfdCBhcnBfc3BhWzRdOwo+ICsJdWludDhfdCBhcnBfdGhhW0VUSF9BTEVOXTsK
PiArCXVpbnQ4X3QgYXJwX3RwYVs0XTsKPiArfTsKPiArI2RlZmluZQlhcnBfaHJkCWVhX2hkci5h
cl9ocmQKPiArI2RlZmluZQlhcnBfcHJvCWVhX2hkci5hcl9wcm8KPiArI2RlZmluZQlhcnBfaGxu
CWVhX2hkci5hcl9obG4KPiArI2RlZmluZQlhcnBfcGxuCWVhX2hkci5hcl9wbG4KPiArI2RlZmlu
ZQlhcnBfb3AJZWFfaGRyLmFyX29wCj4gKwo+ICsjZGVmaW5lIEVUSEVSX01BUF9JUF9NVUxUSUNB
U1QoaXBhZGRyLCBlbmFkZHIpIFwKPiArZG8geyBcCj4gKwkoZW5hZGRyKVswXSA9IDB4MDE7IFwK
PiArCShlbmFkZHIpWzFdID0gMHgwMDsgXAo+ICsJKGVuYWRkcilbMl0gPSAweDVlOyBcCj4gKwko
ZW5hZGRyKVszXSA9ICgodWludDhfdCAqKWlwYWRkcilbMV0gJiAweDdmOyBcCj4gKwkoZW5hZGRy
KVs0XSA9ICgodWludDhfdCAqKWlwYWRkcilbMl07IFwKPiArCShlbmFkZHIpWzVdID0gKCh1aW50
OF90ICopaXBhZGRyKVszXTsgXAo+ICt9IHdoaWxlKDApCj4gKwo+ICsjZGVmaW5lIF9fVUFQSV9E
RUZfRVRISERSICAgICAgIDAKPiArCj4gKyNlbmRpZgo+IGRpZmYgLS1naXQgYS9tdXNsLWltcG9y
dGVkL2luY2x1ZGUvbmV0aW5ldC9pbl9zeXN0bS5oIGIvbXVzbC1pbXBvcnRlZC9pbmNsdWRlL25l
dGluZXQvaW5fc3lzdG0uaAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMC4u
YTdiNDE3Nwo+IC0tLSAvZGV2L251bGwKPiArKysgYi9tdXNsLWltcG9ydGVkL2luY2x1ZGUvbmV0
aW5ldC9pbl9zeXN0bS5oCj4gQEAgLTAsMCArMSw5IEBACj4gKyNpZm5kZWYgX05FVElORVRfSU5f
U1lTVE1fSAo+ICsjZGVmaW5lIF9ORVRJTkVUX0lOX1NZU1RNX0gKPiArCj4gKyNpbmNsdWRlIDxz
dGRpbnQuaD4KPiArCj4gK3R5cGVkZWYgdWludDE2X3Qgbl9zaG9ydDsKPiArdHlwZWRlZiB1aW50
MzJfdCBuX2xvbmcsIG5fdGltZTsKPiArCj4gKyNlbmRpZgo+IGRpZmYgLS1naXQgYS9tdXNsLWlt
cG9ydGVkL2luY2x1ZGUvbmV0aW5ldC91ZHAuaCBiL211c2wtaW1wb3J0ZWQvaW5jbHVkZS9uZXRp
bmV0L3VkcC5oCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi5mZmQ4OTA3
Cj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL211c2wtaW1wb3J0ZWQvaW5jbHVkZS9uZXRpbmV0L3Vk
cC5oCj4gQEAgLTAsMCArMSw0NSBAQAo+ICsjaWZuZGVmIF9ORVRJTkVUX1VEUF9ICj4gKyNkZWZp
bmUgX05FVElORVRfVURQX0gKPiArCj4gKyNpZmRlZiBfX2NwbHVzcGx1cwo+ICtleHRlcm4gIkMi
IHsKPiArI2VuZGlmCj4gKwo+ICsjaW5jbHVkZSA8ZmVhdHVyZXMuaD4KPiArI2luY2x1ZGUgPHN0
ZGludC5oPgo+ICsKPiArI2lmZGVmIF9HTlVfU09VUkNFCj4gKyNkZWZpbmUgdWhfc3BvcnQgc291
cmNlCj4gKyNkZWZpbmUgdWhfZHBvcnQgZGVzdAo+ICsjZGVmaW5lIHVoX3VsZW4gbGVuCj4gKyNk
ZWZpbmUgdWhfc3VtIGNoZWNrCj4gKyNlbmRpZgo+ICsKPiArc3RydWN0IHVkcGhkciB7Cj4gKwl1
aW50MTZfdCB1aF9zcG9ydDsKPiArCXVpbnQxNl90IHVoX2Rwb3J0Owo+ICsJdWludDE2X3QgdWhf
dWxlbjsKPiArCXVpbnQxNl90IHVoX3N1bTsKPiArfTsKPiArCj4gKyNkZWZpbmUgVURQX0NPUksJ
MQo+ICsjZGVmaW5lIFVEUF9FTkNBUAkxMDAKPiArI2RlZmluZSBVRFBfTk9fQ0hFQ0s2X1RYIDEw
MQo+ICsjZGVmaW5lIFVEUF9OT19DSEVDSzZfUlggMTAyCj4gKyNkZWZpbmUgVURQX1NFR01FTlQJ
MTAzCj4gKyNkZWZpbmUgVURQX0dSTwkJMTA0Cj4gKwo+ICsjZGVmaW5lIFVEUF9FTkNBUF9FU1BJ
TlVEUF9OT05fSUtFIDEKPiArI2RlZmluZSBVRFBfRU5DQVBfRVNQSU5VRFAJMgo+ICsjZGVmaW5l
IFVEUF9FTkNBUF9MMlRQSU5VRFAJMwo+ICsjZGVmaW5lIFVEUF9FTkNBUF9HVFAwCQk0Cj4gKyNk
ZWZpbmUgVURQX0VOQ0FQX0dUUDFVCQk1Cj4gKyNkZWZpbmUgVURQX0VOQ0FQX1JYUlBDCQk2Cj4g
Kwo+ICsjZGVmaW5lIFNPTF9VRFAgICAgICAgICAgICAxNwo+ICsKPiArI2lmZGVmIF9fY3BsdXNw
bHVzCj4gK30KPiArI2VuZGlmCj4gKwo+ICsjZW5kaWYKPiBkaWZmIC0tZ2l0IGEvbXVzbC1pbXBv
cnRlZC9pbmNsdWRlL25ldHBhY2tldC9wYWNrZXQuaCBiL211c2wtaW1wb3J0ZWQvaW5jbHVkZS9u
ZXRwYWNrZXQvcGFja2V0LmgKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAu
LmIzNmUwOTIKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvbXVzbC1pbXBvcnRlZC9pbmNsdWRlL25l
dHBhY2tldC9wYWNrZXQuaAo+IEBAIC0wLDAgKzEsNjIgQEAKPiArI2lmbmRlZiBfTkVUUEFDS0VU
X1BBQ0tFVF9ICj4gKyNkZWZpbmUgX05FVFBBQ0tFVF9QQUNLRVRfSAo+ICsKPiArI2lmZGVmIF9f
Y3BsdXNwbHVzCj4gK2V4dGVybiAiQyIgewo+ICsjZW5kaWYKPiArCj4gK3N0cnVjdCBzb2NrYWRk
cl9sbCB7Cj4gKwl1bnNpZ25lZCBzaG9ydCBzbGxfZmFtaWx5LCBzbGxfcHJvdG9jb2w7Cj4gKwlp
bnQgc2xsX2lmaW5kZXg7Cj4gKwl1bnNpZ25lZCBzaG9ydCBzbGxfaGF0eXBlOwo+ICsJdW5zaWdu
ZWQgY2hhciBzbGxfcGt0dHlwZSwgc2xsX2hhbGVuOwo+ICsJdW5zaWduZWQgY2hhciBzbGxfYWRk
cls4XTsKPiArfTsKPiArCj4gK3N0cnVjdCBwYWNrZXRfbXJlcSB7Cj4gKwlpbnQgbXJfaWZpbmRl
eDsKPiArCXVuc2lnbmVkIHNob3J0IGludCBtcl90eXBlLCAgbXJfYWxlbjsKPiArCXVuc2lnbmVk
IGNoYXIgbXJfYWRkcmVzc1s4XTsKPiArfTsKPiArCj4gKyNkZWZpbmUgUEFDS0VUX0hPU1QJCTAK
PiArI2RlZmluZSBQQUNLRVRfQlJPQURDQVNUCTEKPiArI2RlZmluZSBQQUNLRVRfTVVMVElDQVNU
CTIKPiArI2RlZmluZSBQQUNLRVRfT1RIRVJIT1NUCTMKPiArI2RlZmluZSBQQUNLRVRfT1VUR09J
TkcJCTQKPiArI2RlZmluZSBQQUNLRVRfTE9PUEJBQ0sJCTUKPiArI2RlZmluZSBQQUNLRVRfRkFT
VFJPVVRFCTYKPiArCj4gKyNkZWZpbmUgUEFDS0VUX0FERF9NRU1CRVJTSElQCQkxCj4gKyNkZWZp
bmUgUEFDS0VUX0RST1BfTUVNQkVSU0hJUAkJMgo+ICsjZGVmaW5lCVBBQ0tFVF9SRUNWX09VVFBV
VAkJMwo+ICsjZGVmaW5lCVBBQ0tFVF9SWF9SSU5HCQkJNQo+ICsjZGVmaW5lCVBBQ0tFVF9TVEFU
SVNUSUNTCQk2Cj4gKyNkZWZpbmUgUEFDS0VUX0NPUFlfVEhSRVNICQk3Cj4gKyNkZWZpbmUgUEFD
S0VUX0FVWERBVEEJCQk4Cj4gKyNkZWZpbmUgUEFDS0VUX09SSUdERVYJCQk5Cj4gKyNkZWZpbmUg
UEFDS0VUX1ZFUlNJT04JCQkxMAo+ICsjZGVmaW5lIFBBQ0tFVF9IRFJMRU4JCQkxMQo+ICsjZGVm
aW5lIFBBQ0tFVF9SRVNFUlZFCQkJMTIKPiArI2RlZmluZSBQQUNLRVRfVFhfUklORwkJCTEzCj4g
KyNkZWZpbmUgUEFDS0VUX0xPU1MJCQkxNAo+ICsjZGVmaW5lIFBBQ0tFVF9WTkVUX0hEUgkJCTE1
Cj4gKyNkZWZpbmUgUEFDS0VUX1RYX1RJTUVTVEFNUAkJMTYKPiArI2RlZmluZSBQQUNLRVRfVElN
RVNUQU1QCQkxNwo+ICsjZGVmaW5lIFBBQ0tFVF9GQU5PVVQJCQkxOAo+ICsjZGVmaW5lIFBBQ0tF
VF9UWF9IQVNfT0ZGCQkxOQo+ICsjZGVmaW5lIFBBQ0tFVF9RRElTQ19CWVBBU1MJCTIwCj4gKyNk
ZWZpbmUgUEFDS0VUX1JPTExPVkVSX1NUQVRTCQkyMQo+ICsjZGVmaW5lIFBBQ0tFVF9GQU5PVVRf
REFUQQkJMjIKPiArI2RlZmluZSBQQUNLRVRfSUdOT1JFX09VVEdPSU5HCQkyMwo+ICsKPiArI2Rl
ZmluZSBQQUNLRVRfTVJfTVVMVElDQVNUCTAKPiArI2RlZmluZSBQQUNLRVRfTVJfUFJPTUlTQwkx
Cj4gKyNkZWZpbmUgUEFDS0VUX01SX0FMTE1VTFRJCTIKPiArI2RlZmluZSBQQUNLRVRfTVJfVU5J
Q0FTVAkzCj4gKwo+ICsjaWZkZWYgX19jcGx1c3BsdXMKPiArfQo+ICsjZW5kaWYKPiArCj4gKyNl
bmRpZgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWlu
aW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcK
aHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZl
bA==

From minios-devel-bounces@lists.xenproject.org Tue Dec 10 10:26:18 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 10 Dec 2019 10:26:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1iecig-0008Kq-A3; Tue, 10 Dec 2019 10:26:18 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=dEMJ=2A=gmail.com=nicolescu.roxana1996@srs-us1.protection.inumbo.net>)
 id 1iecif-0008Kj-I6
 for minios-devel@lists.xenproject.org; Tue, 10 Dec 2019 10:26:17 +0000
X-Inumbo-ID: 7f016810-1b37-11ea-a914-bc764e2007e4
Received: from mail-wm1-x341.google.com (unknown [2a00:1450:4864:20::341])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 7f016810-1b37-11ea-a914-bc764e2007e4;
 Tue, 10 Dec 2019 10:26:16 +0000 (UTC)
Received: by mail-wm1-x341.google.com with SMTP id d5so948016wmb.4
 for <minios-devel@lists.xenproject.org>; Tue, 10 Dec 2019 02:26:16 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=subject:to:references:from:message-id:date:user-agent:mime-version
 :in-reply-to:content-transfer-encoding:content-language;
 bh=Dzq/c4zLNxPljuAE9lfuQZaLeeiaNd4eUvUi6YeHU4c=;
 b=heQ/jHfdkTP/fCfeAF/9t07fFpAwrdBiEv9jEOY2iBcEBXJk8fr23s7xBX82GS6yHp
 hzNRidD7dukjBXEZAwwmSBal9kMCn2G9m8Gm7BkuNywnptZKu/Hyk6rXsjK3x/snnvOG
 GupjdfWrEfR4jMPL+PxAPFHQNC71jis5efBIpvVH6v4f8yNREZoWq6h3KIY4u/gk84fO
 xFyx5qKt4ukqiVS0F30xNszKk0LzG0t4T7QSwDicTYc4due5wYFGbdTBKBWlNgukvQ4a
 hkwpX1gq7zuonaq7EgMZoYPgzmSGrAwWbKWQmqWDLnUisv8fORMnLoslvQ2Ay3aOuvHy
 J/KA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:subject:to:references:from:message-id:date
 :user-agent:mime-version:in-reply-to:content-transfer-encoding
 :content-language;
 bh=Dzq/c4zLNxPljuAE9lfuQZaLeeiaNd4eUvUi6YeHU4c=;
 b=qZepswH5Fh/OwL2971HxaXqdOX1mnxF7AZDX+c47u/N9w9GYYsd4yp8JY/K8iRhEzi
 A6iPQ8NL8xKdEdFAzIUAcQnfH6DWIAHI6bJuFuK7NynkWadLqXKWPKlB1ueexm5TLLyy
 mxOaI2yXKwi6QUgINYUeW6r0XBz3tNn4nabXX8bX8wVLRzlwnRHkwDEPpC3W9MB6vYcX
 t1ZkJG1EVXRcMD6VkDGKx8o9sMT8T6T8GxgkCPsR4AY7SGHRQUkShIrY9mLDRCKg1y6J
 tef4EgOTgUfU9Imfk0FIN6sckPQBwSQkf2bpRBNWQqtjsJccMWJ9x26oVXFwVxFlmyrb
 kqYg==
X-Gm-Message-State: APjAAAUf+XRsxevUbWDWf0G8eY9SbLNNUa0+yAsrGv2idCYiH1U1Olwa
 Hi+G1GVd5G8FcAVKbNl7mn5nmrWbuMo=
X-Google-Smtp-Source: APXvYqx/Zz7EmcOhQ+a3cOWvMLCdt9NTKgeiGrqk4bV8hVI3lc+2qqM7pWShuX1oLdErnZJrECGxDw==
X-Received: by 2002:a1c:4d03:: with SMTP id o3mr4350354wmh.164.1575973574962; 
 Tue, 10 Dec 2019 02:26:14 -0800 (PST)
Received: from [192.168.0.243] ([188.25.4.143])
 by smtp.gmail.com with ESMTPSA id d19sm2569639wmd.38.2019.12.10.02.26.14
 for <minios-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Dec 2019 02:26:14 -0800 (PST)
To: minios-devel@lists.xenproject.org
References: <20191206132346.23015-1-costin.lupu@cs.pub.ro>
 <20191206132346.23015-3-costin.lupu@cs.pub.ro>
From: Roxana Nicolescu <nicolescu.roxana1996@gmail.com>
Message-ID: <6323bf9c-23f0-1b45-d611-cf4d3f872e49@gmail.com>
Date: Tue, 10 Dec 2019 12:26:13 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.2.1
MIME-Version: 1.0
In-Reply-To: <20191206132346.23015-3-costin.lupu@cs.pub.ro>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT/LWIP PATCH 2/4] Add missing
 definitions for supporting Ruby
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

UmV2aWV3ZWQtYnk6IFJveGFuYSBOaWNvbGVzY3UgPG5pY29sZXNjdS5yb3hhbmExOTk2QGdtYWls
LmNvbT4KCk9uIDA2LjEyLjIwMTkgMTU6MjMsIENvc3RpbiBMdXB1IHdyb3RlOgo+IFNpZ25lZC1v
ZmYtYnk6IENvc3RpbiBMdXB1IDxjb3N0aW4ubHVwdUBjcy5wdWIucm8+Cj4gLS0tCj4gICBpbmNs
dWRlL25ldC9pZi5oICAgICB8IDM2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiAg
IGluY2x1ZGUvbmV0aW5ldC9pbi5oIHwgNTEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysKPiAgIGluY2x1ZGUvc3lzL3NvY2tldC5oIHwgMTAgKysrKysrKystCj4g
ICAzIGZpbGVzIGNoYW5nZWQsIDk2IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKPgo+IGRp
ZmYgLS1naXQgYS9pbmNsdWRlL25ldC9pZi5oIGIvaW5jbHVkZS9uZXQvaWYuaAo+IGluZGV4IDli
YjNjODcuLjFlYjExZDggMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9uZXQvaWYuaAo+ICsrKyBiL2lu
Y2x1ZGUvbmV0L2lmLmgKPiBAQCAtMSwzICsxLDM5IEBACj4gICAjaW5jbHVkZSA8Y29tcGF0L3Bv
c2l4L25ldC9pZi5oPgo+ICAgCj4gICBjaGFyICppZl9pbmRleHRvbmFtZSAodW5zaWduZWQgaW50
LCBjaGFyICopOwo+ICsKPiArI2lmIGRlZmluZWQoX0dOVV9TT1VSQ0UpIHx8IGRlZmluZWQoX0JT
RF9TT1VSQ0UpCj4gKwo+ICsjZGVmaW5lIElGRl9VUAkweDEKPiArI2RlZmluZSBJRkZfQlJPQURD
QVNUIDB4Mgo+ICsjZGVmaW5lIElGRl9ERUJVRyAweDQKPiArI2RlZmluZSBJRkZfTE9PUEJBQ0sg
MHg4Cj4gKyNkZWZpbmUgSUZGX1BPSU5UT1BPSU5UIDB4MTAKPiArI2RlZmluZSBJRkZfTk9UUkFJ
TEVSUyAweDIwCj4gKyNkZWZpbmUgSUZGX1JVTk5JTkcgMHg0MAo+ICsjZGVmaW5lIElGRl9OT0FS
UCAweDgwCj4gKyNkZWZpbmUgSUZGX1BST01JU0MgMHgxMDAKPiArI2RlZmluZSBJRkZfQUxMTVVM
VEkgMHgyMDAKPiArI2RlZmluZSBJRkZfTUFTVEVSIDB4NDAwCj4gKyNkZWZpbmUgSUZGX1NMQVZF
IDB4ODAwCj4gKyNkZWZpbmUgSUZGX01VTFRJQ0FTVCAweDEwMDAKPiArI2RlZmluZSBJRkZfUE9S
VFNFTCAweDIwMDAKPiArI2RlZmluZSBJRkZfQVVUT01FRElBIDB4NDAwMAo+ICsjZGVmaW5lIElG
Rl9EWU5BTUlDIDB4ODAwMAo+ICsjZGVmaW5lIElGRl9MT1dFUl9VUCAweDEwMDAwCj4gKyNkZWZp
bmUgSUZGX0RPUk1BTlQgMHgyMDAwMAo+ICsjZGVmaW5lIElGRl9FQ0hPIDB4NDAwMDAKPiArI2Rl
ZmluZSBJRkZfVk9MQVRJTEUgKElGRl9MT09QQkFDS3xJRkZfUE9JTlRPUE9JTlR8SUZGX0JST0FE
Q0FTVHwgXAo+ICsgICAgICAgIElGRl9FQ0hPfElGRl9NQVNURVJ8SUZGX1NMQVZFfElGRl9SVU5O
SU5HfElGRl9MT1dFUl9VUHxJRkZfRE9STUFOVCkKPiArCj4gK3N0cnVjdCBpZmNvbmYgewo+ICsJ
aW50IGlmY19sZW47Cj4gKwl1bmlvbiB7Cj4gKwkJY2hhciAqaWZjdV9idWY7Cj4gKwkJc3RydWN0
IGlmcmVxICppZmN1X3JlcTsKPiArCX0gaWZjX2lmY3U7Cj4gK307Cj4gKyNkZWZpbmUgaWZjX2J1
ZiAgICAgICAgIGlmY19pZmN1LmlmY3VfYnVmCj4gKyNkZWZpbmUgaWZjX3JlcSAgICAgICAgIGlm
Y19pZmN1LmlmY3VfcmVxCj4gKwo+ICsjZW5kaWYgLyogZGVmaW5lZChfR05VX1NPVVJDRSkgfHwg
ZGVmaW5lZChfQlNEX1NPVVJDRSkgKi8KPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9uZXRpbmV0L2lu
LmggYi9pbmNsdWRlL25ldGluZXQvaW4uaAo+IGluZGV4IDUwNWEyMGEuLjE4ZWUwNzUgMTAwNjQ0
Cj4gLS0tIGEvaW5jbHVkZS9uZXRpbmV0L2luLmgKPiArKysgYi9pbmNsdWRlL25ldGluZXQvaW4u
aAo+IEBAIC0xNyw0ICsxNyw1NSBAQAo+ICAgI2luY2x1ZGVfbmV4dCA8bmV0aW5ldC9pbi5oPgo+
ICAgI2VuZGlmCj4gICAKPiArI2RlZmluZSBJTjZfSVNfQUREUl9VTlNQRUNJRklFRChhKSBcCj4g
KyAgICAgICAgKCgodWludDMyX3QgKikgKGEpKVswXSA9PSAwICYmICgodWludDMyX3QgKikgKGEp
KVsxXSA9PSAwICYmIFwKPiArICAgICAgICAgKCh1aW50MzJfdCAqKSAoYSkpWzJdID09IDAgJiYg
KCh1aW50MzJfdCAqKSAoYSkpWzNdID09IDApCj4gKwo+ICsjZGVmaW5lIElONl9JU19BRERSX0xP
T1BCQUNLKGEpIFwKPiArICAgICAgICAoKCh1aW50MzJfdCAqKSAoYSkpWzBdID09IDAgJiYgKCh1
aW50MzJfdCAqKSAoYSkpWzFdID09IDAgJiYgXAo+ICsgICAgICAgICAoKHVpbnQzMl90ICopIChh
KSlbMl0gPT0gMCAmJiBcCj4gKyAgICAgICAgICgodWludDhfdCAqKSAoYSkpWzEyXSA9PSAwICYm
ICgodWludDhfdCAqKSAoYSkpWzEzXSA9PSAwICYmIFwKPiArICAgICAgICAgKCh1aW50OF90ICop
IChhKSlbMTRdID09IDAgJiYgKCh1aW50OF90ICopIChhKSlbMTVdID09IDEgKQo+ICsKPiArI2Rl
ZmluZSBJTjZfSVNfQUREUl9NVUxUSUNBU1QoYSkgKCgodWludDhfdCAqKSAoYSkpWzBdID09IDB4
ZmYpCj4gKwo+ICsjZGVmaW5lIElONl9JU19BRERSX0xJTktMT0NBTChhKSBcCj4gKyAgICAgICAg
KCgoKHVpbnQ4X3QgKikgKGEpKVswXSkgPT0gMHhmZSAmJiAoKCh1aW50OF90ICopIChhKSlbMV0g
JiAweGMwKSA9PSAweDgwKQo+ICsKPiArI2RlZmluZSBJTjZfSVNfQUREUl9TSVRFTE9DQUwoYSkg
XAo+ICsgICAgICAgICgoKCh1aW50OF90ICopIChhKSlbMF0pID09IDB4ZmUgJiYgKCgodWludDhf
dCAqKSAoYSkpWzFdICYgMHhjMCkgPT0gMHhjMCkKPiArCj4gKyNkZWZpbmUgSU42X0lTX0FERFJf
VjRNQVBQRUQoYSkgXAo+ICsgICAgICAgICgoKHVpbnQzMl90ICopIChhKSlbMF0gPT0gMCAmJiAo
KHVpbnQzMl90ICopIChhKSlbMV0gPT0gMCAmJiBcCj4gKyAgICAgICAgICgodWludDhfdCAqKSAo
YSkpWzhdID09IDAgJiYgKCh1aW50OF90ICopIChhKSlbOV0gPT0gMCAmJiBcCj4gKyAgICAgICAg
ICgodWludDhfdCAqKSAoYSkpWzEwXSA9PSAweGZmICYmICgodWludDhfdCAqKSAoYSkpWzExXSA9
PSAweGZmKQo+ICsKPiArI2RlZmluZSBJTjZfSVNfQUREUl9WNENPTVBBVChhKSBcCj4gKyAgICAg
ICAgKCgodWludDMyX3QgKikgKGEpKVswXSA9PSAwICYmICgodWludDMyX3QgKikgKGEpKVsxXSA9
PSAwICYmIFwKPiArICAgICAgICAgKCh1aW50MzJfdCAqKSAoYSkpWzJdID09IDAgJiYgKCh1aW50
OF90ICopIChhKSlbMTVdID4gMSkKPiArCj4gKyNkZWZpbmUgSU42X0lTX0FERFJfTUNfTk9ERUxP
Q0FMKGEpIFwKPiArICAgICAgICAoSU42X0lTX0FERFJfTVVMVElDQVNUKGEpICYmICgoKCh1aW50
OF90ICopIChhKSlbMV0gJiAweGYpID09IDB4MSkpCj4gKwo+ICsjZGVmaW5lIElONl9JU19BRERS
X01DX0xJTktMT0NBTChhKSBcCj4gKyAgICAgICAgKElONl9JU19BRERSX01VTFRJQ0FTVChhKSAm
JiAoKCgodWludDhfdCAqKSAoYSkpWzFdICYgMHhmKSA9PSAweDIpKQo+ICsKPiArI2RlZmluZSBJ
TjZfSVNfQUREUl9NQ19TSVRFTE9DQUwoYSkgXAo+ICsgICAgICAgIChJTjZfSVNfQUREUl9NVUxU
SUNBU1QoYSkgJiYgKCgoKHVpbnQ4X3QgKikgKGEpKVsxXSAmIDB4ZikgPT0gMHg1KSkKPiArCj4g
KyNkZWZpbmUgSU42X0lTX0FERFJfTUNfT1JHTE9DQUwoYSkgXAo+ICsgICAgICAgIChJTjZfSVNf
QUREUl9NVUxUSUNBU1QoYSkgJiYgKCgoKHVpbnQ4X3QgKikgKGEpKVsxXSAmIDB4ZikgPT0gMHg4
KSkKPiArCj4gKyNkZWZpbmUgSU42X0lTX0FERFJfTUNfR0xPQkFMKGEpIFwKPiArICAgICAgICAo
SU42X0lTX0FERFJfTVVMVElDQVNUKGEpICYmICgoKCh1aW50OF90ICopIChhKSlbMV0gJiAweGYp
ID09IDB4ZSkpCj4gKwo+ICsjaWYgZGVmaW5lZChfR05VX1NPVVJDRSkgfHwgZGVmaW5lZChfQlNE
X1NPVVJDRSkKPiArCj4gK3N0cnVjdCBpcF9tcmVxbiB7Cj4gKwlzdHJ1Y3QgaW5fYWRkciBpbXJf
bXVsdGlhZGRyOwo+ICsJc3RydWN0IGluX2FkZHIgaW1yX2FkZHJlc3M7Cj4gKwlpbnQgaW1yX2lm
aW5kZXg7Cj4gK307Cj4gKyNlbmRpZiAvKiBkZWZpbmVkKF9HTlVfU09VUkNFKSB8fCBkZWZpbmVk
KF9CU0RfU09VUkNFKSAqLwo+ICsKPiAgICNlbmRpZiAvKiBfTkVUSU5FVF9JTl9IXyAqLwo+IGRp
ZmYgLS1naXQgYS9pbmNsdWRlL3N5cy9zb2NrZXQuaCBiL2luY2x1ZGUvc3lzL3NvY2tldC5oCj4g
aW5kZXggZjIzYWQzMi4uMzAyNGUxNyAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL3N5cy9zb2NrZXQu
aAo+ICsrKyBiL2luY2x1ZGUvc3lzL3NvY2tldC5oCj4gQEAgLTU2LDggKzU2LDE2IEBACj4gICAj
ZGVmaW5lIFNPTUFYQ09OTiAxMjgKPiAgICNlbmRpZgo+ICAgCj4gKyNpZm5kZWYgUEZfTE9DQUwK
PiArI2RlZmluZSBQRl9MT0NBTCAxCj4gKyNlbmRpZgo+ICsKPiArI2lmbmRlZiBQRl9VTklYCj4g
KyNkZWZpbmUgUEZfVU5JWCBQRl9MT0NBTAo+ICsjZW5kaWYKPiArCj4gICAjaWZuZGVmIEFGX0xP
Q0FMCj4gLSNkZWZpbmUgQUZfTE9DQUwgMSAvKiBOb3Qgc3VwcG9ydGVkL3N0dWIgKi8KPiArI2Rl
ZmluZSBBRl9MT0NBTCBQRl9MT0NBTCAvKiBOb3Qgc3VwcG9ydGVkL3N0dWIgKi8KPiAgICNlbmRp
Zgo+ICAgCj4gICAjaWZuZGVmIEFGX1VOSVgKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVs
QGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1h
bi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Tue Dec 10 10:30:07 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 10 Dec 2019 10:30:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1iecmN-0000mz-5M; Tue, 10 Dec 2019 10:30:07 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=dEMJ=2A=gmail.com=nicolescu.roxana1996@srs-us1.protection.inumbo.net>)
 id 1iecmL-0000cE-2Z
 for minios-devel@lists.xenproject.org; Tue, 10 Dec 2019 10:30:05 +0000
X-Inumbo-ID: 070b27fa-1b38-11ea-b6f1-bc764e2007e4
Received: from mail-wm1-x342.google.com (unknown [2a00:1450:4864:20::342])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 070b27fa-1b38-11ea-b6f1-bc764e2007e4;
 Tue, 10 Dec 2019 10:30:04 +0000 (UTC)
Received: by mail-wm1-x342.google.com with SMTP id b11so2518553wmj.4
 for <minios-devel@lists.xenproject.org>; Tue, 10 Dec 2019 02:30:04 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=subject:to:references:from:message-id:date:user-agent:mime-version
 :in-reply-to:content-transfer-encoding:content-language;
 bh=dnX4qTaNDFYcezr3hWe9EMGMcvVAbtJ/RTAhg4jPJ9Y=;
 b=IhWEoRvc//uqNf5Iu5qFC7CGoCRH7XDgVcwB9wLzzxnOYpdQfa51amcrC34kvHj6kL
 LOHELmdo8nwgzEMpv5LduGHrvd8nSuVxZFY5J1E8qERySE4QQ4oPk2hDcpjokNJr/AC/
 9rhTzBDDQPAoyA/Y5j58lBYMgE/pn4v2Q9/sxb+w7R/l7FR1YnxMUFd3TxvsR6csb1zw
 2N8t7C6gzkV3HZjg8w6ULawovGbH06FcjDjh4pKWI4hS952m5EejxPsi5kW9u44ib38R
 bgrEDR6so2PfNadfZYTgCBofrwpffp04UTfcP7dMooJJoRa0FHEXXeGsn6j4sygCXNsa
 ymKA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:subject:to:references:from:message-id:date
 :user-agent:mime-version:in-reply-to:content-transfer-encoding
 :content-language;
 bh=dnX4qTaNDFYcezr3hWe9EMGMcvVAbtJ/RTAhg4jPJ9Y=;
 b=tipe2dM/J9RfVRctbyP8md4QucDTiFJUKsObZF/TahIEjCJvttJyG6kEyZ9jY9VRo3
 Ipr8DdyGpTBpLcre+4ItQUiGAU5ifoIPYf9fwJTr5YWB0oE77yfRfHOxuxJAV3iUcvjd
 nDiDU1f7JtyLgRkOB9szx/tp9eA25Ma1IUX9LEHu3aAR94hypuUfou+h8159RytDzOs+
 7nxeioT8Ym/s/Q3cYWxjlmNPnyM5+T0eaMmlmmJ0Z+AV6X9LySpbxDsBvOooZ6oL6PRy
 1ALh37TwGXWpY1y2CJ3yEVBD1X4O2Y46/LPE6LRnLPuU3vmdfUFBUPKr0+0riGSSD6ot
 OG0A==
X-Gm-Message-State: APjAAAVWxNctOOotjzsBgORWnQTGISebrphggCLpeEFF4487LBMfTn8V
 LlFs4iVWqJO6z1O14i7KrUyxV/u0HA4=
X-Google-Smtp-Source: APXvYqy6g0OVBUeDnlPktw+AAEZqeI4qZGDnldWMP6Jv51WQ1K31xt70gb08stmpT3EhFPJYaUJyvA==
X-Received: by 2002:a7b:ce81:: with SMTP id q1mr4398817wmj.47.1575973803096;
 Tue, 10 Dec 2019 02:30:03 -0800 (PST)
Received: from [192.168.0.243] ([188.25.4.143])
 by smtp.gmail.com with ESMTPSA id u10sm2557812wmd.1.2019.12.10.02.30.01
 for <minios-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Dec 2019 02:30:02 -0800 (PST)
To: minios-devel@lists.xenproject.org
References: <20191206132346.23015-1-costin.lupu@cs.pub.ro>
 <20191206132346.23015-4-costin.lupu@cs.pub.ro>
From: Roxana Nicolescu <nicolescu.roxana1996@gmail.com>
Message-ID: <50016783-d198-255b-db87-4f385191c36d@gmail.com>
Date: Tue, 10 Dec 2019 12:30:01 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.2.1
MIME-Version: 1.0
In-Reply-To: <20191206132346.23015-4-costin.lupu@cs.pub.ro>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT/LWIP PATCH 3/4] patches: Add
 ipi_spec_dst field to struct in_pktinfo
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgQ29zdGluLAoKClRoZXJlIGlzIGEgcHJvYmxlbSBlbmNvdW50ZXIgd2hlbiBhcHBseWluZyB0
aGlzIHBhdGNoIHRvIHRoZSBvcmlnaW4gCmNhdXNlZCBieSBDUkxGIGxpbmUgYnJlYWssCgpidXQg
aXQgY2FuIGJlIHNvbHZlZCBvbiB1cHN0cmVhbS4KCgpCZXN0LAoKUm94YW5hCgpPbiAwNi4xMi4y
MDE5IDE1OjIzLCBDb3N0aW4gTHVwdSB3cm90ZToKPiBTaWduZWQtb2ZmLWJ5OiBDb3N0aW4gTHVw
dSA8Y29zdGluLmx1cHVAY3MucHViLnJvPgo+IC0tLQo+ICAgLi4ubHVkZS1sd2lwLXNvY2tldHMu
aC1BZGQtaXBpX3NwZWNfZHN0LWZpZWxkLXRvLnBhdGNoIHwgMTAgKysrKysrKysrKwo+ICAgMSBm
aWxlIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKykKPiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBwYXRj
aGVzLzAwMDQtc3JjLWluY2x1ZGUtbHdpcC1zb2NrZXRzLmgtQWRkLWlwaV9zcGVjX2RzdC1maWVs
ZC10by5wYXRjaAo+Cj4gZGlmZiAtLWdpdCBhL3BhdGNoZXMvMDAwNC1zcmMtaW5jbHVkZS1sd2lw
LXNvY2tldHMuaC1BZGQtaXBpX3NwZWNfZHN0LWZpZWxkLXRvLnBhdGNoIGIvcGF0Y2hlcy8wMDA0
LXNyYy1pbmNsdWRlLWx3aXAtc29ja2V0cy5oLUFkZC1pcGlfc3BlY19kc3QtZmllbGQtdG8ucGF0
Y2gKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAuLjZlNDZjZjUKPiAtLS0g
L2Rldi9udWxsCj4gKysrIGIvcGF0Y2hlcy8wMDA0LXNyYy1pbmNsdWRlLWx3aXAtc29ja2V0cy5o
LUFkZC1pcGlfc3BlY19kc3QtZmllbGQtdG8ucGF0Y2gKPiBAQCAtMCwwICsxLDEwIEBACj4gKy0t
LSBhL3NyYy9pbmNsdWRlL2x3aXAvc29ja2V0cy5oCj4gKysrKyBiL3NyYy9pbmNsdWRlL2x3aXAv
c29ja2V0cy5oCj4gK0BAIC0zMjcsNiArMzI3LDcgQEAKPiArICNpZiBMV0lQX0lQVjQKPiArIHN0
cnVjdCBpbl9wa3RpbmZvIHsKPiArICAgdW5zaWduZWQgaW50ICAgaXBpX2lmaW5kZXg7ICAvKiBJ
bnRlcmZhY2UgaW5kZXggKi8KPiArKyAgc3RydWN0IGluX2FkZHIgaXBpX3NwZWNfZHN0OwkvKiBS
b3V0aW5nIGRlc3RpbmF0aW9uIGFkZHJlc3MgICovCj4gKyAgIHN0cnVjdCBpbl9hZGRyIGlwaV9h
ZGRyOyAgICAgLyogRGVzdGluYXRpb24gKGZyb20gaGVhZGVyKSBhZGRyZXNzICovCj4gKyB9Owo+
ICsgI2VuZGlmIC8qIExXSVBfSVBWNCAqLwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxA
bGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFu
L2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Tue Dec 10 10:31:00 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 10 Dec 2019 10:31:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1iecnE-0000qY-Az; Tue, 10 Dec 2019 10:31:00 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=dEMJ=2A=gmail.com=nicolescu.roxana1996@srs-us1.protection.inumbo.net>)
 id 1iecnD-0000qT-TD
 for minios-devel@lists.xenproject.org; Tue, 10 Dec 2019 10:30:59 +0000
X-Inumbo-ID: 27c25d74-1b38-11ea-88e7-bc764e2007e4
Received: from mail-wm1-x341.google.com (unknown [2a00:1450:4864:20::341])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 27c25d74-1b38-11ea-88e7-bc764e2007e4;
 Tue, 10 Dec 2019 10:30:59 +0000 (UTC)
Received: by mail-wm1-x341.google.com with SMTP id g206so2542045wme.1
 for <minios-devel@lists.xenproject.org>; Tue, 10 Dec 2019 02:30:59 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=subject:to:references:from:message-id:date:user-agent:mime-version
 :in-reply-to:content-transfer-encoding:content-language;
 bh=x3xTQGhYRXwP8e+0GTaUc2IJO/DyF+9DhUVWSkaw500=;
 b=iqKBaUEvC2gb9Z00UXE45hbDo90NWbphco5D8DxAk1YBOpf58wwuzivp5gEJeX8AYH
 YDmaJAmP8V+0VMF2mtVhyf6RVuKQs6SpZwRZUQhTgkQadNjKS1UPll8Xbsx9AyO+y0bG
 UQZrKqMjhgCaeWZF9W97uJ1UH84lmzRhXleYIJnFsYdECszpJH5/b1hlkRfn8GIAZ77c
 lv034cCY1AeJzEg0FQXPaOcGjF9YUqMoC5Gwc4ib0BHYFg0mdGsrSepAEO85lcX7S4Vh
 731hLZI8MpBrY9ThTRNnKI06JCw+TaR9tgylXLx+f8W9Azkh3EoRfxOcIDwow+mxktb0
 ZjEA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:subject:to:references:from:message-id:date
 :user-agent:mime-version:in-reply-to:content-transfer-encoding
 :content-language;
 bh=x3xTQGhYRXwP8e+0GTaUc2IJO/DyF+9DhUVWSkaw500=;
 b=MbPCOGxLJVOEo23TeqzU8uEyUWTKDM0ZFfRp/mTerq5flPIqiERg/a7b/kYaRi8arm
 O1GGXiWRzjQYwnpAqsgc6HHcrzmF/LzgIvnp4VWdFnhG7P5CELmlulivgHepx3gb3itC
 uspCaqtwMWJruI8idIRQtearSRMrFZwBUUM+x0FOeSCWN/k24AQPwcAOiWaHAAymFLl3
 /R4U7bUcPPAic8wrKKqNAZPT90SreKqTrD7azH1bFbtEfcyPToKddEYhp40wcprKMQdP
 2Z+pBIobwOwjtNFrBptiSTaO7oSDvgTAcB77oXFF8rW7iRxSOP0/ncSuVwVEan/+KLYI
 HLPw==
X-Gm-Message-State: APjAAAUXFmsaoJUS1LwXHQdMXqBdd7c2BspNLueA5dfjG3V1iCpxAeJE
 w/+cXLLPnmMquBF5qBB7dtHxzjBpx9c=
X-Google-Smtp-Source: APXvYqxHBtSnAzivTwlraVahSN/69Ik0Q0NT02asIcaRhQKs5kW4MWDC07ighteNZeCKVrQTHgimeg==
X-Received: by 2002:a7b:cc97:: with SMTP id p23mr4486969wma.89.1575973857925; 
 Tue, 10 Dec 2019 02:30:57 -0800 (PST)
Received: from [192.168.0.243] ([188.25.4.143])
 by smtp.gmail.com with ESMTPSA id y20sm2533115wmi.25.2019.12.10.02.30.56
 for <minios-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Dec 2019 02:30:57 -0800 (PST)
To: minios-devel@lists.xenproject.org
References: <20191206132346.23015-1-costin.lupu@cs.pub.ro>
 <20191206132346.23015-5-costin.lupu@cs.pub.ro>
From: Roxana Nicolescu <nicolescu.roxana1996@gmail.com>
Message-ID: <5431d132-f448-292e-08f8-167276ab8e7b@gmail.com>
Date: Tue, 10 Dec 2019 12:30:56 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.2.1
MIME-Version: 1.0
In-Reply-To: <20191206132346.23015-5-costin.lupu@cs.pub.ro>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT/LWIP PATCH 4/4] patches: Add more
 fields to struct ifreq
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

U2FtZSBwcm9ibGVtIHdpdGggdGhlIHByZXZpb3VzIHBhdGNoLgoKUmV2aWV3ZWQtYnk6IFJveGFu
YSBOaWNvbGVzY3UgPG5pY29sZXNjdS5yb3hhbmExOTk2QGdtYWlsLmNvbT4KCk9uIDA2LjEyLjIw
MTkgMTU6MjMsIENvc3RpbiBMdXB1IHdyb3RlOgo+IFNpZ25lZC1vZmYtYnk6IENvc3RpbiBMdXB1
IDxjb3N0aW4ubHVwdUBjcy5wdWIucm8+Cj4gLS0tCj4gICAuLi5jaGVzLUFkZC1tb3JlLWZpZWxk
cy10by1zdHJ1Y3QtaWZyZXEucGF0Y2ggfCA1NiArKysrKysrKysrKysrKysrKysrCj4gICAxIGZp
bGUgY2hhbmdlZCwgNTYgaW5zZXJ0aW9ucygrKQo+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IHBhdGNo
ZXMvMDAwNS1wYXRjaGVzLUFkZC1tb3JlLWZpZWxkcy10by1zdHJ1Y3QtaWZyZXEucGF0Y2gKPgo+
IGRpZmYgLS1naXQgYS9wYXRjaGVzLzAwMDUtcGF0Y2hlcy1BZGQtbW9yZS1maWVsZHMtdG8tc3Ry
dWN0LWlmcmVxLnBhdGNoIGIvcGF0Y2hlcy8wMDA1LXBhdGNoZXMtQWRkLW1vcmUtZmllbGRzLXRv
LXN0cnVjdC1pZnJlcS5wYXRjaAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAw
MC4uNDVmNTVhNgo+IC0tLSAvZGV2L251bGwKPiArKysgYi9wYXRjaGVzLzAwMDUtcGF0Y2hlcy1B
ZGQtbW9yZS1maWVsZHMtdG8tc3RydWN0LWlmcmVxLnBhdGNoCj4gQEAgLTAsMCArMSw1NiBAQAo+
ICtGcm9tIDgxNDA3ZjY1ZjliY2E3ZTY1NjFjOTEyYmVlYjJjYTRkYjBhNmNmYmUgTW9uIFNlcCAx
NyAwMDowMDowMCAyMDAxCj4gK0Zyb206IENvc3RpbiBMdXB1IDxjb3N0aW4ubHVwQGdtYWlsLmNv
bT4KPiArRGF0ZTogVGh1LCA1IERlYyAyMDE5IDA4OjQzOjM0ICswMjAwCj4gK1N1YmplY3Q6IFtQ
QVRDSF0gcGF0Y2hlczogQWRkIG1vcmUgZmllbGRzIHRvIHN0cnVjdCBpZnJlcQo+ICsKPiArU2ln
bmVkLW9mZi1ieTogQ29zdGluIEx1cHUgPGNvc3Rpbi5sdXB1QGNzLnB1Yi5ybz4KPiArLS0tCj4g
KyBzcmMvaW5jbHVkZS9sd2lwL3NvY2tldHMuaCB8IDMwICsrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKwo+ICsgMSBmaWxlIGNoYW5nZWQsIDMwIGluc2VydGlvbnMoKykKPiArCj4gK2RpZmYg
LS1naXQgYS9zcmMvaW5jbHVkZS9sd2lwL3NvY2tldHMuaCBiL3NyYy9pbmNsdWRlL2x3aXAvc29j
a2V0cy5oCj4gK2luZGV4IDRlMzMzYWUuLmNmOTFhOWIgMTAwNjQ0Cj4gKy0tLSBhL3NyYy9pbmNs
dWRlL2x3aXAvc29ja2V0cy5oCj4gKysrKyBiL3NyYy9pbmNsdWRlL2x3aXAvc29ja2V0cy5oCj4g
K0BAIC0xODQsOCArMTg0LDM4IEBAIHdpbGwgbmVlZCB0byBpbmNyZWFzZSBsb25nIGxvbmcgKi8K
PiArICNkZWZpbmUgSUZOQU1TSVogTkVUSUZfTkFNRVNJWkUKPiArIHN0cnVjdCBpZnJlcSB7Cj4g
KyAgIGNoYXIgaWZyX25hbWVbSUZOQU1TSVpdOyAvKiBJbnRlcmZhY2UgbmFtZSAqLwo+ICsrCXVu
aW9uIHsKPiArKwkJc3RydWN0IHNvY2thZGRyIGlmcnVfYWRkcjsKPiArKwkJc3RydWN0IHNvY2th
ZGRyIGlmcnVfZHN0YWRkcjsKPiArKwkJc3RydWN0IHNvY2thZGRyIGlmcnVfYnJvYWRhZGRyOwo+
ICsrCQlzdHJ1Y3Qgc29ja2FkZHIgaWZydV9uZXRtYXNrOwo+ICsrCQlzdHJ1Y3Qgc29ja2FkZHIg
aWZydV9od2FkZHI7Cj4gKysJCXNob3J0IGludCBpZnJ1X2ZsYWdzOwo+ICsrCQlpbnQgaWZydV9p
dmFsdWU7Cj4gKysJCWludCBpZnJ1X210dTsKPiArKwkJLypzdHJ1Y3QgaWZtYXAgaWZydV9tYXA7
Ki8KPiArKwkJY2hhciBpZnJ1X3NsYXZlW0lGTkFNU0laXTsKPiArKwkJY2hhciBpZnJ1X25ld25h
bWVbSUZOQU1TSVpdOwo+ICsrCQljaGFyICppZnJ1X2RhdGE7Cj4gKysJfSBpZnJfaWZydTsKPiAr
IH07Cj4gKwo+ICsrI2RlZmluZSBpZnJfaHdhZGRyCWlmcl9pZnJ1LmlmcnVfaHdhZGRyCj4gKysj
ZGVmaW5lIGlmcl9hZGRyCWlmcl9pZnJ1LmlmcnVfYWRkcgo+ICsrI2RlZmluZSBpZnJfZHN0YWRk
cglpZnJfaWZydS5pZnJ1X2RzdGFkZHIKPiArKyNkZWZpbmUgaWZyX2Jyb2FkYWRkcglpZnJfaWZy
dS5pZnJ1X2Jyb2FkYWRkcgo+ICsrI2RlZmluZSBpZnJfbmV0bWFzawlpZnJfaWZydS5pZnJ1X25l
dG1hc2sKPiArKyNkZWZpbmUgaWZyX2ZsYWdzCWlmcl9pZnJ1LmlmcnVfZmxhZ3MKPiArKyNkZWZp
bmUgaWZyX21ldHJpYwlpZnJfaWZydS5pZnJ1X2l2YWx1ZQo+ICsrI2RlZmluZSBpZnJfbXR1CQlp
ZnJfaWZydS5pZnJ1X210dQo+ICsrI2RlZmluZSBpZnJfbWFwCQlpZnJfaWZydS5pZnJ1X21hcAo+
ICsrI2RlZmluZSBpZnJfc2xhdmUJaWZyX2lmcnUuaWZydV9zbGF2ZQo+ICsrI2RlZmluZSBpZnJf
ZGF0YQlpZnJfaWZydS5pZnJ1X2RhdGEKPiArKyNkZWZpbmUgaWZyX2lmaW5kZXgJaWZyX2lmcnUu
aWZydV9pdmFsdWUKPiArKyNkZWZpbmUgaWZyX2JhbmR3aWR0aAlpZnJfaWZydS5pZnJ1X2l2YWx1
ZQo+ICsrI2RlZmluZSBpZnJfcWxlbglpZnJfaWZydS5pZnJ1X2l2YWx1ZQo+ICsrI2RlZmluZSBp
ZnJfbmV3bmFtZQlpZnJfaWZydS5pZnJ1X25ld25hbWUKPiArKwo+ICsgLyogU29ja2V0IHByb3Rv
Y29sIHR5cGVzIChUQ1AvVURQL1JBVykgKi8KPiArICNkZWZpbmUgU09DS19TVFJFQU0gICAgIDEK
PiArICNkZWZpbmUgU09DS19ER1JBTSAgICAgIDIKPiArLS0KPiArMi4yMC4xCj4gKwoKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1h
aWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0
cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Tue Dec 10 10:56:05 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 10 Dec 2019 10:56:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1iedBT-0002du-Jh; Tue, 10 Dec 2019 10:56:03 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=dEdn=2A=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1iedBS-0002do-KP
 for minios-devel@lists.xen.org; Tue, 10 Dec 2019 10:56:02 +0000
X-Inumbo-ID: a666872e-1b3b-11ea-891f-12813bfff9fa
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id a666872e-1b3b-11ea-891f-12813bfff9fa;
 Tue, 10 Dec 2019 10:56:00 +0000 (UTC)
IronPort-SDR: h5Qp6vCY25zutWQjIfDv7FBb9xnPclxp1AE+T8JdrUZwOW4C0XN2uaDvo6d1kKULZP/05XWWA5
 G1irKnXZiq0w==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 10 Dec 2019 12:55:57 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 970521A6010D;
 Tue, 10 Dec 2019 12:55:57 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id Ivz7MnIfjtdJ; Tue, 10 Dec 2019 12:55:57 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 7A3B41A60112;
 Tue, 10 Dec 2019 12:55:57 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id 2lvtsFMqyham; Tue, 10 Dec 2019 12:55:57 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 602761A60106;
 Tue, 10 Dec 2019 12:55:57 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Tue, 10 Dec 2019 12:55:46 +0200
Message-Id: <20191210105548.31394-1-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
Subject: [Minios-devel] [UNIKRAFT/LWIP PATCH v2 0/2] Changes for supporting
 Ruby
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

V2hhdCBzdWJqZWN0IHNheXMuCgpDaGFuZ2VzIHNpbmNlIHYxOgotIFB1c2ggZmlyc3QgMiBwYXRj
aGVzCi0gUmVkbyB0aGUgcGF0Y2hlcyBrZWVwaW5nIENSTEYgZW9scyBvZiBvcmlnaW4gbHdpcCBj
b2RlCgpDb3N0aW4gTHVwdSAoMik6CiAgcGF0Y2hlczogQWRkIGlwaV9zcGVjX2RzdCBmaWVsZCB0
byBzdHJ1Y3QgaW5fcGt0aW5mbwogIHBhdGNoZXM6IEFkZCBtb3JlIGZpZWxkcyB0byBzdHJ1Y3Qg
aWZyZXEKCiAuLi4tc29ja2V0cy5oLUFkZC1pcGlfc3BlY19kc3QtZmllbGQtdG8ucGF0Y2ggfCAx
MiArKysrKysKIC4uLmNoZXMtQWRkLW1vcmUtZmllbGRzLXRvLXN0cnVjdC1pZnJlcS5wYXRjaCB8
IDQzICsrKysrKysrKysrKysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgNTUgaW5zZXJ0aW9ucygr
KQogY3JlYXRlIG1vZGUgMTAwNjQ0IHBhdGNoZXMvMDAwNC1zcmMtaW5jbHVkZS1sd2lwLXNvY2tl
dHMuaC1BZGQtaXBpX3NwZWNfZHN0LWZpZWxkLXRvLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQg
cGF0Y2hlcy8wMDA1LXBhdGNoZXMtQWRkLW1vcmUtZmllbGRzLXRvLXN0cnVjdC1pZnJlcS5wYXRj
aAoKLS0gCjIuMjAuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnBy
b2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9t
aW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Tue Dec 10 10:56:06 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 10 Dec 2019 10:56:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1iedBW-0002eN-Ls; Tue, 10 Dec 2019 10:56:06 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=dEdn=2A=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1iedBV-0002e4-0W
 for minios-devel@lists.xen.org; Tue, 10 Dec 2019 10:56:05 +0000
X-Inumbo-ID: a813145c-1b3b-11ea-88e7-bc764e2007e4
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id a813145c-1b3b-11ea-88e7-bc764e2007e4;
 Tue, 10 Dec 2019 10:56:03 +0000 (UTC)
IronPort-SDR: tKAAITKAerA6m1BrH+I4ShwWg4nfTuBFl+TMHIyeFd2+XJYlFOspYCTBBXh+X2rfkoTw2DoM1r
 CnrTrn41aueA==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 10 Dec 2019 12:55:57 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id B05271A60106;
 Tue, 10 Dec 2019 12:55:57 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id 9ofjYh0qYeGr; Tue, 10 Dec 2019 12:55:57 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 95E591A60127;
 Tue, 10 Dec 2019 12:55:57 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id j31rgp3AmJn9; Tue, 10 Dec 2019 12:55:57 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 7AAD61A60115;
 Tue, 10 Dec 2019 12:55:57 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Tue, 10 Dec 2019 12:55:48 +0200
Message-Id: <20191210105548.31394-3-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191210105548.31394-1-costin.lupu@cs.pub.ro>
References: <20191210105548.31394-1-costin.lupu@cs.pub.ro>
Subject: [Minios-devel] [UNIKRAFT/LWIP PATCH v2 2/2] patches: Add more
 fields to struct ifreq
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

U2lnbmVkLW9mZi1ieTogQ29zdGluIEx1cHUgPGNvc3Rpbi5sdXB1QGNzLnB1Yi5ybz4KLS0tCiAu
Li5jaGVzLUFkZC1tb3JlLWZpZWxkcy10by1zdHJ1Y3QtaWZyZXEucGF0Y2ggfCA0MyArKysrKysr
KysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgNDMgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1v
ZGUgMTAwNjQ0IHBhdGNoZXMvMDAwNS1wYXRjaGVzLUFkZC1tb3JlLWZpZWxkcy10by1zdHJ1Y3Qt
aWZyZXEucGF0Y2gKCmRpZmYgLS1naXQgYS9wYXRjaGVzLzAwMDUtcGF0Y2hlcy1BZGQtbW9yZS1m
aWVsZHMtdG8tc3RydWN0LWlmcmVxLnBhdGNoIGIvcGF0Y2hlcy8wMDA1LXBhdGNoZXMtQWRkLW1v
cmUtZmllbGRzLXRvLXN0cnVjdC1pZnJlcS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi5hYTgxMjZjCi0tLSAvZGV2L251bGwKKysrIGIvcGF0Y2hlcy8wMDA1LXBhdGNo
ZXMtQWRkLW1vcmUtZmllbGRzLXRvLXN0cnVjdC1pZnJlcS5wYXRjaApAQCAtMCwwICsxLDQzIEBA
CitkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvbHdpcC9zb2NrZXRzLmggYi9zcmMvaW5jbHVkZS9s
d2lwL3NvY2tldHMuaAoraW5kZXggYWNlOTg4NS4uYTZjZWMzOCAxMDA2NDQKKy0tLSBhL3NyYy9p
bmNsdWRlL2x3aXAvc29ja2V0cy5oCisrKysgYi9zcmMvaW5jbHVkZS9sd2lwL3NvY2tldHMuaAor
QEAgLTE4NCw4ICsxODQsMzggQEAgd2lsbCBuZWVkIHRvIGluY3JlYXNlIGxvbmcgbG9uZyAqLwor
ICNkZWZpbmUgSUZOQU1TSVogTkVUSUZfTkFNRVNJWkUKKyBzdHJ1Y3QgaWZyZXEgeworICAgY2hh
ciBpZnJfbmFtZVtJRk5BTVNJWl07IC8qIEludGVyZmFjZSBuYW1lICovCisrCXVuaW9uIHsKKysJ
CXN0cnVjdCBzb2NrYWRkciBpZnJ1X2FkZHI7CisrCQlzdHJ1Y3Qgc29ja2FkZHIgaWZydV9kc3Rh
ZGRyOworKwkJc3RydWN0IHNvY2thZGRyIGlmcnVfYnJvYWRhZGRyOworKwkJc3RydWN0IHNvY2th
ZGRyIGlmcnVfbmV0bWFzazsKKysJCXN0cnVjdCBzb2NrYWRkciBpZnJ1X2h3YWRkcjsKKysJCXNo
b3J0IGludCBpZnJ1X2ZsYWdzOworKwkJaW50IGlmcnVfaXZhbHVlOworKwkJaW50IGlmcnVfbXR1
OworKwkJLypzdHJ1Y3QgaWZtYXAgaWZydV9tYXA7Ki8KKysJCWNoYXIgaWZydV9zbGF2ZVtJRk5B
TVNJWl07CisrCQljaGFyIGlmcnVfbmV3bmFtZVtJRk5BTVNJWl07CisrCQljaGFyICppZnJ1X2Rh
dGE7CisrCX0gaWZyX2lmcnU7CisgfTsKKyAKKysjZGVmaW5lIGlmcl9od2FkZHIJaWZyX2lmcnUu
aWZydV9od2FkZHIKKysjZGVmaW5lIGlmcl9hZGRyCWlmcl9pZnJ1LmlmcnVfYWRkcgorKyNkZWZp
bmUgaWZyX2RzdGFkZHIJaWZyX2lmcnUuaWZydV9kc3RhZGRyCisrI2RlZmluZSBpZnJfYnJvYWRh
ZGRyCWlmcl9pZnJ1LmlmcnVfYnJvYWRhZGRyCisrI2RlZmluZSBpZnJfbmV0bWFzawlpZnJfaWZy
dS5pZnJ1X25ldG1hc2sKKysjZGVmaW5lIGlmcl9mbGFncwlpZnJfaWZydS5pZnJ1X2ZsYWdzCisr
I2RlZmluZSBpZnJfbWV0cmljCWlmcl9pZnJ1LmlmcnVfaXZhbHVlCisrI2RlZmluZSBpZnJfbXR1
CQlpZnJfaWZydS5pZnJ1X210dQorKyNkZWZpbmUgaWZyX21hcAkJaWZyX2lmcnUuaWZydV9tYXAK
KysjZGVmaW5lIGlmcl9zbGF2ZQlpZnJfaWZydS5pZnJ1X3NsYXZlCisrI2RlZmluZSBpZnJfZGF0
YQlpZnJfaWZydS5pZnJ1X2RhdGEKKysjZGVmaW5lIGlmcl9pZmluZGV4CWlmcl9pZnJ1LmlmcnVf
aXZhbHVlCisrI2RlZmluZSBpZnJfYmFuZHdpZHRoCWlmcl9pZnJ1LmlmcnVfaXZhbHVlCisrI2Rl
ZmluZSBpZnJfcWxlbglpZnJfaWZydS5pZnJ1X2l2YWx1ZQorKyNkZWZpbmUgaWZyX25ld25hbWUJ
aWZyX2lmcnUuaWZydV9uZXduYW1lCisrCisgLyogU29ja2V0IHByb3RvY29sIHR5cGVzIChUQ1Av
VURQL1JBVykgKi8KKyAjZGVmaW5lIFNPQ0tfU1RSRUFNICAgICAxCisgI2RlZmluZSBTT0NLX0RH
UkFNICAgICAgMgotLSAKMi4yMC4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlz
dHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xp
c3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Tue Dec 10 10:56:08 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 10 Dec 2019 10:56:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1iedBY-0002ev-Nh; Tue, 10 Dec 2019 10:56:08 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=dEdn=2A=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1iedBX-0002ek-HN
 for minios-devel@lists.xen.org; Tue, 10 Dec 2019 10:56:07 +0000
X-Inumbo-ID: a800ef20-1b3b-11ea-891f-12813bfff9fa
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id a800ef20-1b3b-11ea-891f-12813bfff9fa;
 Tue, 10 Dec 2019 10:56:02 +0000 (UTC)
IronPort-SDR: GDLdNhQSCZvpMcO6ltdenNfeMkZHpcQwysLXR7NdH9XUDrK8r3oaJTJCyuzzldPiKqqU4wW+xV
 BAAb+xIEizdA==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 10 Dec 2019 12:55:57 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id A2ACD1A6010D;
 Tue, 10 Dec 2019 12:55:57 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id JlgVT8-h96FU; Tue, 10 Dec 2019 12:55:57 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 88F901A60106;
 Tue, 10 Dec 2019 12:55:57 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id 96yd7EwRPIj4; Tue, 10 Dec 2019 12:55:57 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 6D7271A6010D;
 Tue, 10 Dec 2019 12:55:57 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Tue, 10 Dec 2019 12:55:47 +0200
Message-Id: <20191210105548.31394-2-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191210105548.31394-1-costin.lupu@cs.pub.ro>
References: <20191210105548.31394-1-costin.lupu@cs.pub.ro>
Subject: [Minios-devel] [UNIKRAFT/LWIP PATCH v2 1/2] patches: Add
 ipi_spec_dst field to struct in_pktinfo
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

U2lnbmVkLW9mZi1ieTogQ29zdGluIEx1cHUgPGNvc3Rpbi5sdXB1QGNzLnB1Yi5ybz4KLS0tCiAu
Li5kZS1sd2lwLXNvY2tldHMuaC1BZGQtaXBpX3NwZWNfZHN0LWZpZWxkLXRvLnBhdGNoIHwgMTIg
KysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1v
ZGUgMTAwNjQ0IHBhdGNoZXMvMDAwNC1zcmMtaW5jbHVkZS1sd2lwLXNvY2tldHMuaC1BZGQtaXBp
X3NwZWNfZHN0LWZpZWxkLXRvLnBhdGNoCgpkaWZmIC0tZ2l0IGEvcGF0Y2hlcy8wMDA0LXNyYy1p
bmNsdWRlLWx3aXAtc29ja2V0cy5oLUFkZC1pcGlfc3BlY19kc3QtZmllbGQtdG8ucGF0Y2ggYi9w
YXRjaGVzLzAwMDQtc3JjLWluY2x1ZGUtbHdpcC1zb2NrZXRzLmgtQWRkLWlwaV9zcGVjX2RzdC1m
aWVsZC10by5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNDY2MWE4
Ci0tLSAvZGV2L251bGwKKysrIGIvcGF0Y2hlcy8wMDA0LXNyYy1pbmNsdWRlLWx3aXAtc29ja2V0
cy5oLUFkZC1pcGlfc3BlY19kc3QtZmllbGQtdG8ucGF0Y2gKQEAgLTAsMCArMSwxMiBAQAorZGlm
ZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2x3aXAvc29ja2V0cy5oIGIvc3JjL2luY2x1ZGUvbHdpcC9z
b2NrZXRzLmgKK2luZGV4IGFjZTk4ODUuLjRlMzMzYWUgMTAwNjQ0CistLS0gYS9zcmMvaW5jbHVk
ZS9sd2lwL3NvY2tldHMuaAorKysrIGIvc3JjL2luY2x1ZGUvbHdpcC9zb2NrZXRzLmgKK0BAIC0z
MjcsNiArMzI3LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgaXBfbXJlcSB7CisgI2lmIExXSVBfSVBWNAor
IHN0cnVjdCBpbl9wa3RpbmZvIHsKKyAgIHVuc2lnbmVkIGludCAgIGlwaV9pZmluZGV4OyAgLyog
SW50ZXJmYWNlIGluZGV4ICovCisrICBzdHJ1Y3QgaW5fYWRkciBpcGlfc3BlY19kc3Q7CS8qIFJv
dXRpbmcgZGVzdGluYXRpb24gYWRkcmVzcyAgKi8KKyAgIHN0cnVjdCBpbl9hZGRyIGlwaV9hZGRy
OyAgICAgLyogRGVzdGluYXRpb24gKGZyb20gaGVhZGVyKSBhZGRyZXNzICovCisgfTsKKyAjZW5k
aWYgLyogTFdJUF9JUFY0ICovCi0tIAoyLjIwLjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1k
ZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21h
aWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Tue Dec 10 11:34:22 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 10 Dec 2019 11:34:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1iedmY-00066F-E1; Tue, 10 Dec 2019 11:34:22 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=dEMJ=2A=gmail.com=nicolescu.roxana1996@srs-us1.protection.inumbo.net>)
 id 1iedmW-00065t-UH
 for minios-devel@lists.xen.org; Tue, 10 Dec 2019 11:34:21 +0000
X-Inumbo-ID: 014441c2-1b41-11ea-b6f1-bc764e2007e4
Received: from mail-wm1-x341.google.com (unknown [2a00:1450:4864:20::341])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 014441c2-1b41-11ea-b6f1-bc764e2007e4;
 Tue, 10 Dec 2019 11:34:20 +0000 (UTC)
Received: by mail-wm1-x341.google.com with SMTP id p9so2785343wmg.0
 for <minios-devel@lists.xen.org>; Tue, 10 Dec 2019 03:34:20 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=subject:to:references:from:message-id:date:user-agent:mime-version
 :in-reply-to:content-transfer-encoding:content-language;
 bh=yU16S6Ac45DPcNqccBKUwZKI49LkSpdoKVRMs9XioWk=;
 b=l+ITvLE4pV5Ni4I0gUdJhmtJ1a5IYobvcC/pECgJPb9WmFPl3G18YcYal+dY6uu8RS
 sm1OZVl+iBlEc9vvxzYHuC1hg9MF9+3T5wDpWQ6WeDAU70IoA8wZPjtAOeE9dj+Hh2fP
 0SuCGru70mymf4A5kGKmkFcd4vGS4sNa9BMODRvkh+430qAVLhwRB3Zgc7BBdweiCNtL
 nBROmiioSPyJPunApUOww9L+9NH0soe50/dNiAU5z685RMJzhan2jiYNm4FagjSn/s6w
 L5o+0/AmsAJniB0cJP/li3XzN+83BIWk+OX1C3zLtt2mDaLFUtIFKDU4kg6DNIA+1WQJ
 O0Pg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:subject:to:references:from:message-id:date
 :user-agent:mime-version:in-reply-to:content-transfer-encoding
 :content-language;
 bh=yU16S6Ac45DPcNqccBKUwZKI49LkSpdoKVRMs9XioWk=;
 b=IUfLAs3hBOWHawhBE1g5iYNHGuqwaU3xjRh1yPOegGyUsixOfL4PtNZpk6mqe+YUy1
 GEfeksD3MxBfNqOxcr4/ZIvqGym1a5lAcawM2QnBocF2N+z4mmp5GV4w73T1AZv/yJCa
 FJnwzw/5wc40Ec6rmWxj4hkDcvncKhSWzxM4P1ldIobOySuNuc2NrKF0ykdLeVBEPdAZ
 ulfnOE0WzupYO/fyOdc1cAmeTYMTtMefoO8wpUON4AyLYuXzZB46OmgxKcXJh5WmQ1L/
 5hICV9uFxUofxYEFlySzmwIUdcNmvdwVv1pcRULvAFI8M7WQpNyH1y57qupX7qGNzPLE
 htsQ==
X-Gm-Message-State: APjAAAXvKLZfHlh/iPq5kPnZkC5mgODslj5kQDK0JcrEuIlAxdLjE6pu
 RbfQtJnmTwhBhuRO3H2typ7n31+dNaw=
X-Google-Smtp-Source: APXvYqwgiwtfzR4teHkmOnirbARu/z0kan4hpF8OzyO9Y5LHvxlfQvzLQIcr28aoSHmwTVrWarGLDQ==
X-Received: by 2002:a1c:c3c4:: with SMTP id t187mr4565312wmf.4.1575977658671; 
 Tue, 10 Dec 2019 03:34:18 -0800 (PST)
Received: from [192.168.0.243] ([188.25.4.143])
 by smtp.gmail.com with ESMTPSA id p10sm2753063wmi.15.2019.12.10.03.34.17
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Dec 2019 03:34:18 -0800 (PST)
To: Costin Lupu <costin.lupu@cs.pub.ro>, minios-devel@lists.xen.org
References: <20191210105548.31394-1-costin.lupu@cs.pub.ro>
 <20191210105548.31394-2-costin.lupu@cs.pub.ro>
From: Roxana Nicolescu <nicolescu.roxana1996@gmail.com>
Message-ID: <4e2cf15e-b446-8b1f-3684-920b18d1ef3f@gmail.com>
Date: Tue, 10 Dec 2019 13:34:16 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.2.1
MIME-Version: 1.0
In-Reply-To: <20191210105548.31394-2-costin.lupu@cs.pub.ro>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT/LWIP PATCH v2 1/2] patches: Add
 ipi_spec_dst field to struct in_pktinfo
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

UmV2aWV3ZWQtYnk6IFJveGFuYSBOaWNvbGVzY3UgPG5pY29sZXNjdS5yb3hhbmExOTk2QGdtYWls
LmNvbT4KCk9uIDEwLjEyLjIwMTkgMTI6NTUsIENvc3RpbiBMdXB1IHdyb3RlOgo+IFNpZ25lZC1v
ZmYtYnk6IENvc3RpbiBMdXB1IDxjb3N0aW4ubHVwdUBjcy5wdWIucm8+Cj4gLS0tCj4gICAuLi5k
ZS1sd2lwLXNvY2tldHMuaC1BZGQtaXBpX3NwZWNfZHN0LWZpZWxkLXRvLnBhdGNoIHwgMTIgKysr
KysrKysrKysrCj4gICAxIGZpbGUgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKQo+ICAgY3JlYXRl
IG1vZGUgMTAwNjQ0IHBhdGNoZXMvMDAwNC1zcmMtaW5jbHVkZS1sd2lwLXNvY2tldHMuaC1BZGQt
aXBpX3NwZWNfZHN0LWZpZWxkLXRvLnBhdGNoCj4KPiBkaWZmIC0tZ2l0IGEvcGF0Y2hlcy8wMDA0
LXNyYy1pbmNsdWRlLWx3aXAtc29ja2V0cy5oLUFkZC1pcGlfc3BlY19kc3QtZmllbGQtdG8ucGF0
Y2ggYi9wYXRjaGVzLzAwMDQtc3JjLWluY2x1ZGUtbHdpcC1zb2NrZXRzLmgtQWRkLWlwaV9zcGVj
X2RzdC1maWVsZC10by5wYXRjaAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAw
MC4uZjQ2NjFhOAo+IC0tLSAvZGV2L251bGwKPiArKysgYi9wYXRjaGVzLzAwMDQtc3JjLWluY2x1
ZGUtbHdpcC1zb2NrZXRzLmgtQWRkLWlwaV9zcGVjX2RzdC1maWVsZC10by5wYXRjaAo+IEBAIC0w
LDAgKzEsMTIgQEAKPiArZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2x3aXAvc29ja2V0cy5oIGIv
c3JjL2luY2x1ZGUvbHdpcC9zb2NrZXRzLmgKPiAraW5kZXggYWNlOTg4NS4uNGUzMzNhZSAxMDA2
NDQKPiArLS0tIGEvc3JjL2luY2x1ZGUvbHdpcC9zb2NrZXRzLmgKPiArKysrIGIvc3JjL2luY2x1
ZGUvbHdpcC9zb2NrZXRzLmgKPiArQEAgLTMyNyw2ICszMjcsNyBAQCB0eXBlZGVmIHN0cnVjdCBp
cF9tcmVxIHsKPiArICNpZiBMV0lQX0lQVjQKPiArIHN0cnVjdCBpbl9wa3RpbmZvIHsKPiArICAg
dW5zaWduZWQgaW50ICAgaXBpX2lmaW5kZXg7ICAvKiBJbnRlcmZhY2UgaW5kZXggKi8KPiArKyAg
c3RydWN0IGluX2FkZHIgaXBpX3NwZWNfZHN0OwkvKiBSb3V0aW5nIGRlc3RpbmF0aW9uIGFkZHJl
c3MgICovCj4gKyAgIHN0cnVjdCBpbl9hZGRyIGlwaV9hZGRyOyAgICAgLyogRGVzdGluYXRpb24g
KGZyb20gaGVhZGVyKSBhZGRyZXNzICovCj4gKyB9Owo+ICsgI2VuZGlmIC8qIExXSVBfSVBWNCAq
LwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9z
LWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0
cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Tue Dec 10 11:34:40 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 10 Dec 2019 11:34:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1iedmq-0006CH-3o; Tue, 10 Dec 2019 11:34:40 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=dEMJ=2A=gmail.com=nicolescu.roxana1996@srs-us1.protection.inumbo.net>)
 id 1iedmo-0006Bn-Ul
 for minios-devel@lists.xen.org; Tue, 10 Dec 2019 11:34:38 +0000
X-Inumbo-ID: 0c2f4b40-1b41-11ea-88e7-bc764e2007e4
Received: from mail-wm1-x343.google.com (unknown [2a00:1450:4864:20::343])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 0c2f4b40-1b41-11ea-88e7-bc764e2007e4;
 Tue, 10 Dec 2019 11:34:38 +0000 (UTC)
Received: by mail-wm1-x343.google.com with SMTP id f4so2082655wmj.1
 for <minios-devel@lists.xen.org>; Tue, 10 Dec 2019 03:34:38 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=subject:to:references:from:message-id:date:user-agent:mime-version
 :in-reply-to:content-transfer-encoding:content-language;
 bh=taNXX67YzYFNxcR8RBuPME4b64KzPJo39XozYbhytMM=;
 b=GObY9C6SIA6CIpqRGfCEIS9CX59wHys3Bjc4BCbHCtVFAeMPnjK8/2hrV5WmvOevVB
 Dw9ukfev7VAEvXxY2xROvdymgwh1pgqAsZ7/2pnpnY0BQk9Dc+GMYfMhsm9tVFzIscId
 iuFcnLuU1qJVjnC6SOBQsUP1llrumX/mXprge81QOyPLvkBO/8oh1LVctHrTeowuFLIv
 NlDEu5tFi1s7wrXkSbFzEMw/+bu5kn+xzoeDYaxCduD5H0OKmXhH3IjoTxGWxivei3d/
 XyQNqJbvxTQgxf/JTPrK7tkim9ojPJ5S4aK662k9EKtGGpsrQyAJ7eUQZ/jNuLCqvMYf
 3h3w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:subject:to:references:from:message-id:date
 :user-agent:mime-version:in-reply-to:content-transfer-encoding
 :content-language;
 bh=taNXX67YzYFNxcR8RBuPME4b64KzPJo39XozYbhytMM=;
 b=dpyqlWt4jln4Odj+TjsiqrF72m1cNzbCwWEdUxmHwpouLro8TNCNPTRa7zMMMadXCC
 iORUkL39sMwkSLF62/xsmmmZYXsrASHY1XYlXUkuag4U7mQLgLVz+uzkTmV7M3RcOURo
 ydab0l5i7CYJbeJo3rgfhns7wOP+Hg59kg2IKpZ6xDs4hyfhKNOqo8JgnQH2oQCeEyyV
 1+ssc/GiQkiJXdsWrmk8/uOnzj39LEaYvb4XlrFc4i6aCZkmEEnWUPV7zqR3T8pVrB4+
 1SZvhxC19MWCjCRKJeawptchldwakhMTrgsxt7ULer5c77T7pBt45ZgNj1qLx7cciNAD
 VPXw==
X-Gm-Message-State: APjAAAXseoJ+Qs7YYuSH6c6gJhhTDIGMFBBAfqFy/pdggUljHtUWjcvc
 GQBwo4+Us6vM8B6wIhofSgApOEa1S4M=
X-Google-Smtp-Source: APXvYqwuYOnR71bsxbG8jxGYoQr7MspAC0xHNbp+xfGlP/nZABc5jCyvFn/AWbKso7SM6so+lPOl1g==
X-Received: by 2002:a05:600c:290e:: with SMTP id
 i14mr4578039wmd.126.1575977677246; 
 Tue, 10 Dec 2019 03:34:37 -0800 (PST)
Received: from [192.168.0.243] ([188.25.4.143])
 by smtp.gmail.com with ESMTPSA id s8sm2879375wrt.57.2019.12.10.03.34.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 10 Dec 2019 03:34:36 -0800 (PST)
To: Costin Lupu <costin.lupu@cs.pub.ro>, minios-devel@lists.xen.org
References: <20191210105548.31394-1-costin.lupu@cs.pub.ro>
 <20191210105548.31394-3-costin.lupu@cs.pub.ro>
From: Roxana Nicolescu <nicolescu.roxana1996@gmail.com>
Message-ID: <be7d20cf-8cf7-80f9-31d0-f38eb09d8739@gmail.com>
Date: Tue, 10 Dec 2019 13:34:35 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.2.1
MIME-Version: 1.0
In-Reply-To: <20191210105548.31394-3-costin.lupu@cs.pub.ro>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT/LWIP PATCH v2 2/2] patches: Add more
 fields to struct ifreq
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

UmV2aWV3ZWQtYnk6IFJveGFuYSBOaWNvbGVzY3UgPG5pY29sZXNjdS5yb3hhbmExOTk2QGdtYWls
LmNvbT4KCk9uIDEwLjEyLjIwMTkgMTI6NTUsIENvc3RpbiBMdXB1IHdyb3RlOgo+IFNpZ25lZC1v
ZmYtYnk6IENvc3RpbiBMdXB1IDxjb3N0aW4ubHVwdUBjcy5wdWIucm8+Cj4gLS0tCj4gICAuLi5j
aGVzLUFkZC1tb3JlLWZpZWxkcy10by1zdHJ1Y3QtaWZyZXEucGF0Y2ggfCA0MyArKysrKysrKysr
KysrKysrKysrCj4gICAxIGZpbGUgY2hhbmdlZCwgNDMgaW5zZXJ0aW9ucygrKQo+ICAgY3JlYXRl
IG1vZGUgMTAwNjQ0IHBhdGNoZXMvMDAwNS1wYXRjaGVzLUFkZC1tb3JlLWZpZWxkcy10by1zdHJ1
Y3QtaWZyZXEucGF0Y2gKPgo+IGRpZmYgLS1naXQgYS9wYXRjaGVzLzAwMDUtcGF0Y2hlcy1BZGQt
bW9yZS1maWVsZHMtdG8tc3RydWN0LWlmcmVxLnBhdGNoIGIvcGF0Y2hlcy8wMDA1LXBhdGNoZXMt
QWRkLW1vcmUtZmllbGRzLXRvLXN0cnVjdC1pZnJlcS5wYXRjaAo+IG5ldyBmaWxlIG1vZGUgMTAw
NjQ0Cj4gaW5kZXggMDAwMDAwMC4uYWE4MTI2Ywo+IC0tLSAvZGV2L251bGwKPiArKysgYi9wYXRj
aGVzLzAwMDUtcGF0Y2hlcy1BZGQtbW9yZS1maWVsZHMtdG8tc3RydWN0LWlmcmVxLnBhdGNoCj4g
QEAgLTAsMCArMSw0MyBAQAo+ICtkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvbHdpcC9zb2NrZXRz
LmggYi9zcmMvaW5jbHVkZS9sd2lwL3NvY2tldHMuaAo+ICtpbmRleCBhY2U5ODg1Li5hNmNlYzM4
IDEwMDY0NAo+ICstLS0gYS9zcmMvaW5jbHVkZS9sd2lwL3NvY2tldHMuaAo+ICsrKysgYi9zcmMv
aW5jbHVkZS9sd2lwL3NvY2tldHMuaAo+ICtAQCAtMTg0LDggKzE4NCwzOCBAQCB3aWxsIG5lZWQg
dG8gaW5jcmVhc2UgbG9uZyBsb25nICovCj4gKyAjZGVmaW5lIElGTkFNU0laIE5FVElGX05BTUVT
SVpFCj4gKyBzdHJ1Y3QgaWZyZXEgewo+ICsgICBjaGFyIGlmcl9uYW1lW0lGTkFNU0laXTsgLyog
SW50ZXJmYWNlIG5hbWUgKi8KPiArKwl1bmlvbiB7Cj4gKysJCXN0cnVjdCBzb2NrYWRkciBpZnJ1
X2FkZHI7Cj4gKysJCXN0cnVjdCBzb2NrYWRkciBpZnJ1X2RzdGFkZHI7Cj4gKysJCXN0cnVjdCBz
b2NrYWRkciBpZnJ1X2Jyb2FkYWRkcjsKPiArKwkJc3RydWN0IHNvY2thZGRyIGlmcnVfbmV0bWFz
azsKPiArKwkJc3RydWN0IHNvY2thZGRyIGlmcnVfaHdhZGRyOwo+ICsrCQlzaG9ydCBpbnQgaWZy
dV9mbGFnczsKPiArKwkJaW50IGlmcnVfaXZhbHVlOwo+ICsrCQlpbnQgaWZydV9tdHU7Cj4gKysJ
CS8qc3RydWN0IGlmbWFwIGlmcnVfbWFwOyovCj4gKysJCWNoYXIgaWZydV9zbGF2ZVtJRk5BTVNJ
Wl07Cj4gKysJCWNoYXIgaWZydV9uZXduYW1lW0lGTkFNU0laXTsKPiArKwkJY2hhciAqaWZydV9k
YXRhOwo+ICsrCX0gaWZyX2lmcnU7Cj4gKyB9Owo+ICsKPiArKyNkZWZpbmUgaWZyX2h3YWRkcglp
ZnJfaWZydS5pZnJ1X2h3YWRkcgo+ICsrI2RlZmluZSBpZnJfYWRkcglpZnJfaWZydS5pZnJ1X2Fk
ZHIKPiArKyNkZWZpbmUgaWZyX2RzdGFkZHIJaWZyX2lmcnUuaWZydV9kc3RhZGRyCj4gKysjZGVm
aW5lIGlmcl9icm9hZGFkZHIJaWZyX2lmcnUuaWZydV9icm9hZGFkZHIKPiArKyNkZWZpbmUgaWZy
X25ldG1hc2sJaWZyX2lmcnUuaWZydV9uZXRtYXNrCj4gKysjZGVmaW5lIGlmcl9mbGFncwlpZnJf
aWZydS5pZnJ1X2ZsYWdzCj4gKysjZGVmaW5lIGlmcl9tZXRyaWMJaWZyX2lmcnUuaWZydV9pdmFs
dWUKPiArKyNkZWZpbmUgaWZyX210dQkJaWZyX2lmcnUuaWZydV9tdHUKPiArKyNkZWZpbmUgaWZy
X21hcAkJaWZyX2lmcnUuaWZydV9tYXAKPiArKyNkZWZpbmUgaWZyX3NsYXZlCWlmcl9pZnJ1Lmlm
cnVfc2xhdmUKPiArKyNkZWZpbmUgaWZyX2RhdGEJaWZyX2lmcnUuaWZydV9kYXRhCj4gKysjZGVm
aW5lIGlmcl9pZmluZGV4CWlmcl9pZnJ1LmlmcnVfaXZhbHVlCj4gKysjZGVmaW5lIGlmcl9iYW5k
d2lkdGgJaWZyX2lmcnUuaWZydV9pdmFsdWUKPiArKyNkZWZpbmUgaWZyX3FsZW4JaWZyX2lmcnUu
aWZydV9pdmFsdWUKPiArKyNkZWZpbmUgaWZyX25ld25hbWUJaWZyX2lmcnUuaWZydV9uZXduYW1l
Cj4gKysKPiArIC8qIFNvY2tldCBwcm90b2NvbCB0eXBlcyAoVENQL1VEUC9SQVcpICovCj4gKyAj
ZGVmaW5lIFNPQ0tfU1RSRUFNICAgICAxCj4gKyAjZGVmaW5lIFNPQ0tfREdSQU0gICAgICAyCgpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2
ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczov
L2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Tue Dec 10 13:06:03 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 10 Dec 2019 13:06:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1iefDF-0005mJ-2J; Tue, 10 Dec 2019 13:06:01 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=4GIu=2A=uliege.be=gaulthier.gain@srs-us1.protection.inumbo.net>)
 id 1iefDD-0005mE-2F
 for minios-devel@lists.xenproject.org; Tue, 10 Dec 2019 13:05:59 +0000
X-Inumbo-ID: cbe944f3-1b4d-11ea-8942-12813bfff9fa
Received: from serv108.segi.ulg.ac.be (unknown [139.165.32.111])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id cbe944f3-1b4d-11ea-8942-12813bfff9fa;
 Tue, 10 Dec 2019 13:05:55 +0000 (UTC)
Received: from mbx11-zne.ulg.ac.be (serv469.segi.ulg.ac.be [139.165.32.198])
 by serv108.segi.ulg.ac.be (Postfix) with ESMTP id 15929203A395;
 Tue, 10 Dec 2019 14:05:54 +0100 (CET)
DKIM-Filter: OpenDKIM Filter v2.11.0 serv108.segi.ulg.ac.be 15929203A395
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=uliege.be;
 s=ulg20190529; t=1575983154;
 bh=tbd2zzA5usi463HB2xM+z4z1BWUIPIhLnQEIQs51fHY=;
 h=Date:From:To:Cc:In-Reply-To:References:Subject:From;
 b=pHCp2A0S9qWSoStv08BkpU3zkYYTnF6Zg4Ooiq3vbFX/SHukSX+h5mn37/7y2XpTJ
 Jb7WruAxcYxbLo8dj+POuGMU7G6Ck+OTC8m2AnhoV97dqzRAsUY1spR5P4i8xXrnj/
 nRwQ7+axvtrzhkmAtg7el2lzi45hKdlUXw4OV30bYY2Y//jp0ky9xu754f7732UNWH
 hCzXPqqF2ONAFZxvU7BpXvoI28Fx8XjIOcoqw5MGGalPcvOnizJ1pECKu444zT9TE6
 p4HQbRXEHsC21KDBYcVSfDF7yLl45VdPmxCwhS8kWhe/DI348Hoq9TpISIp23cmRfM
 0yPbGCpgTDX1g==
Received: from localhost (localhost.localdomain [127.0.0.1])
 by mbx11-zne.ulg.ac.be (Postfix) with ESMTP id 0ABB06860F0;
 Tue, 10 Dec 2019 14:05:54 +0100 (CET)
Received: from mbx11-zne.ulg.ac.be ([127.0.0.1])
 by localhost (mbx11-zne.ulg.ac.be [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id 0kf139AqucGm; Tue, 10 Dec 2019 14:05:53 +0100 (CET)
Received: from mbx11-zne.ulg.ac.be (mbx11-zne.ulg.ac.be [139.165.32.198])
 by mbx11-zne.ulg.ac.be (Postfix) with ESMTP id DFF8F6860F6;
 Tue, 10 Dec 2019 14:05:53 +0100 (CET)
Date: Tue, 10 Dec 2019 14:05:53 +0100 (CET)
From: gaulthier.gain@uliege.be
To: Costin Lupu <costin.lup@gmail.com>
Message-ID: <1482011112.112439573.1575983153713.JavaMail.zimbra@uliege.be>
In-Reply-To: <37473772-9af5-4e34-6f3a-fd2bdf5b7824@gmail.com>
References: <20191209133627.18558-1-gaulthier.gain@uliege.be>
 <37473772-9af5-4e34-6f3a-fd2bdf5b7824@gmail.com>
MIME-Version: 1.0
X-Originating-IP: [10.22.61.226]
X-Mailer: Zimbra 8.8.11_GA_3780 (ZimbraWebClient - SAF13 (Mac)/8.8.11_GA_3787)
Thread-Topic: SQLite port on Unikraft
Thread-Index: lSaUJnxsBcBEqL+CdZhJjJ5bxSmAsw==
Subject: Re: [Minios-devel] [UNIKRAFT/SQLITE V4 PATCH 0/6] SQLite port on
 Unikraft
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: minios-devel@lists.xenproject.org
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgQ29zdGluLCAKClRoYW5rcyBhIGxvdCBmb3IgeW91ciByZXZpZXdzLgoKR2F1bHRoaWVyCgot
LS0tLSBNYWlsIG9yaWdpbmFsIC0tLS0tCkRlOiAiQ29zdGluIEx1cHUiIDxjb3N0aW4ubHVwQGdt
YWlsLmNvbT4Kw4A6ICJHYXVsdGhpZXIgR2FpbiIgPGdhdWx0aGllci5nYWluQHVsaWVnZS5iZT4s
IG1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpFbnZvecOpOiBMdW5kaSA5IETDqWNl
bWJyZSAyMDE5IDIwOjA5OjA4Ck9iamV0OiBSZTogW01pbmlvcy1kZXZlbF0gW1VOSUtSQUZUL1NR
TElURSBWNCBQQVRDSCAwLzZdIFNRTGl0ZSBwb3J0IG9uIFVuaWtyYWZ0CgpUaGlzIGlzIGp1c3Qg
cGVyZmVjdCwgR2F1bHRoaWVyISBUaGFua3MgZm9yIHVwc3RyZWFtaW5nIHRoaXMhCgpOZXh0IHN0
ZXAgd291bGQgYmUgZm9yIHlvdSB0byBjcmVhdGUgYSByZXBvIGZvciBzcWxpdGUgb24gZ2l0aHVi
LApiZWNhdXNlIHNxbGl0ZSBwb3J0IHdpbGwgZ28gZGlyZWN0bHkgdGhlcmUuIFRoZXJlIHlvdSB3
b3VsZCBwdXNoIHRoZXNlCnBhdGNoZXMuIFBsZWFzZSBkb24ndCBmb3JnZXQgdG8gc3RhcnQgd2l0
aCB0aGUgZW1wdHkgY29tbWl0LCBqdXN0IGFzIHdlCmRpZCBmb3IgYWxsIHRoZSBvdGhlciBwb3J0
cy4KCkxldCB1cyBrbm93IGlmIHlvdSBuZWVkIGZ1cnRoZXIgaW5mby4KCkNoZWVycywKQ29zdGlu
CgpPbiAxMi85LzE5IDM6MzYgUE0sIEdhdWx0aGllciBHYWluIHdyb3RlOgo+IFRoaXMgcGF0Y2gg
c2VyaWVzIHBvcnRzIFNRTGl0ZSBvbiBVbmlrcmFmdC4KPiAKPiBQbGVhc2UgZmluZCBiZWxvdyB0
aGUgbWFpbiBjaGFuZ2VzIGNvbXBhcmVkIHRvIFYzOgo+IC0gVXNlICQoTElCU1FMSVRFX0JBU0VO
QU1FKSBpbiBNYWtlZmlsZS51azsKPiAtIEludHJvZHVjZSB0aGUgY29uZmlnIG9wdGlvbiwgdGhl
IE1ha2VmaWxlLnVrIGFuZCB0aGUgbWFpbiBmdW5jdGlvbgo+IGluIGFuIGFkZGl0aW9uYWwgcGF0
Y2g7Cj4gLSBBZGQgIi1EbWFpbj1zcWxpdGVfbWFpbiAtRHdtYWluPXNxbGl0ZV9tYWluIiBpbiBN
YWtlZmlsZS51azsgCj4gLSBSZW1vdmUgdXNlbGVzcyBjb21tZW50IGluIENvbmZpZy51azsKPiAt
IEFkZCBleHRyYSBpbmZvIGZvciBSRUFETUUgaW4gYW4gYWRkaXRpb25hbCBwYXRjaDsKPiAtIFVz
ZSB0d28gcGF0Y2hlcyBmb3IgYXV0byBnZW5lcmF0ZWQgY29uZmlnIGZpbGUuCj4gCj4gR2F1bHRo
aWVyIEdhaW4gKDYpOgo+ICAgSW50cm9kdWNlIGxpYnJhcnkgc2tlbGV0b24KPiAgIEFkZCBNYWtl
ZmlsZS51awo+ICAgQWRkIFNRTGl0ZSBhdXRvLWdlbmVyYXRlZCBoZWFkZXIKPiAgIGluY2x1ZGUv
Y29uZmlnLmg6IERpc2FibGUgZmVhdHVyZXMgdGhhdCBhcmUgbm90IGF2YWlsYWJsZSBvbiBVbmlr
cmFmdAo+ICAgUHJvdmlkZSBtYWluKCkgZnVuY3Rpb24gaWYgY29uZmlndXJlZCB0byBkbyBzbwo+
ICAgUkVBRE1FLm1kOiBVcGRhdGUgd2l0aCBpbmZvIGFib3V0IGJ1aWxkaW5nIGFuZCBydW5uaW5n
Cj4gCj4gIC5naXRpZ25vcmUgICAgICAgfCAgMjcgKysrKysrKysrKysrCj4gIENPRElOR19TVFlM
RS5tZCAgfCAgIDQgKysKPiAgQ09OVFJJQlVUSU5HLm1kICB8ICAgNCArKwo+ICBDT1BZSU5HLm1k
ICAgICAgIHwgIDM4ICsrKysrKysrKysrKysrKysKPiAgQ29uZmlnLnVrICAgICAgICB8ICAxMyAr
KysrKysKPiAgTUFJTlRBSU5FUlMubWQgICB8ICAxMSArKysrKwo+ICBNYWtlZmlsZS51ayAgICAg
IHwgIDg2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ICBSRUFETUUubWQg
ICAgICAgIHwgIDI0ICsrKysrKysrKysKPiAgaW5jbHVkZS9jb25maWcuaCB8IDEzMSArKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gIG1haW4u
YyAgICAgICAgICAgfCAgIDYgKysrCj4gIDEwIGZpbGVzIGNoYW5nZWQsIDM0NCBpbnNlcnRpb25z
KCspCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCAuZ2l0aWdub3JlCj4gIGNyZWF0ZSBtb2RlIDEwMDY0
NCBDT0RJTkdfU1RZTEUubWQKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IENPTlRSSUJVVElORy5tZAo+
ICBjcmVhdGUgbW9kZSAxMDA2NDQgQ09QWUlORy5tZAo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgQ29u
ZmlnLnVrCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBNQUlOVEFJTkVSUy5tZAo+ICBjcmVhdGUgbW9k
ZSAxMDA2NDQgTWFrZWZpbGUudWsKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IFJFQURNRS5tZAo+ICBj
cmVhdGUgbW9kZSAxMDA2NDQgaW5jbHVkZS9jb25maWcuaAo+ICBjcmVhdGUgbW9kZSAxMDA2NDQg
bWFpbi5jCj4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
Ck1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qu
b3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3Mt
ZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Tue Dec 10 16:43:07 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 10 Dec 2019 16:43:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ieibA-0002TT-JW; Tue, 10 Dec 2019 16:42:56 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=dEdn=2A=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1ieib9-0002TO-8Q
 for minios-devel@lists.xen.org; Tue, 10 Dec 2019 16:42:55 +0000
X-Inumbo-ID: 1be0651c-1b6c-11ea-89aa-12813bfff9fa
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id 1be0651c-1b6c-11ea-89aa-12813bfff9fa;
 Tue, 10 Dec 2019 16:42:53 +0000 (UTC)
IronPort-SDR: vLXd6Cy5q6ZGvZdUgEEQSJmweJtZ7inlBsYr7Wak6YUydMpitjSh79DptueA0r8YRkp/MU+DVY
 ANcquNw9/6bQ==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 10 Dec 2019 18:42:51 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 318311A60112;
 Tue, 10 Dec 2019 18:42:52 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id NGtkZxc-xUsN; Tue, 10 Dec 2019 18:42:52 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 16CA71A60115;
 Tue, 10 Dec 2019 18:42:52 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id jegzTYHuhk-L; Tue, 10 Dec 2019 18:42:52 +0200 (EET)
Received: from [172.19.11.120] (unknown [141.85.233.104])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id EFEB51A60112;
 Tue, 10 Dec 2019 18:42:51 +0200 (EET)
To: Stefan Teodorescu <stefanl.teodorescu@gmail.com>
References: <20191208095507.27384-1-costin.lupu@cs.pub.ro>
 <20191208095507.27384-5-costin.lupu@cs.pub.ro>
 <CAEiTdV7xUAC6qkC=dD94nkrXh8nseNVhdsiOS6wfTV+HO-wCDQ@mail.gmail.com>
From: Costin Lupu <costin.lupu@cs.pub.ro>
Message-ID: <1d3a4fd9-3a6e-fb93-e7c5-7bedc1f4922a@cs.pub.ro>
Date: Tue, 10 Dec 2019 18:42:51 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.2.2
MIME-Version: 1.0
In-Reply-To: <CAEiTdV7xUAC6qkC=dD94nkrXh8nseNVhdsiOS6wfTV+HO-wCDQ@mail.gmail.com>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT/RUBY PATCH 04/16] core: Add generated
 files for core
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Andrei Gogonea <andrei.gogonea09@gmail.com>, minios-devel@lists.xen.org
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

T24gMTIvMTAvMTkgMjoxOSBQTSwgU3RlZmFuIFRlb2RvcmVzY3Ugd3JvdGU6Cj4gV2h5IGV4YWN0
bHkgZG8gd2UgbmVlZCB0byBjb3B5LXBhc3RlIHRoZXNlIGF1dG9nZW5lcmF0ZWQgZmlsZXMsIHNp
bmNlCj4gdGhleSBhcmVuJ3QgbW9kaWZpZWQgaW4gYW55IHdheT8gSSB0aGluayBpdCdzIGNsZWFu
ZXIgdG8gZ2VuZXJhdGUgdGhlbQo+IGF0IGJ1aWxkIHRpbWUsIHNpbmNlIHN0dWZmIG1pZ2h0IGNo
YW5nZSBoZXJlICh0aGF0J3Mgd2h5IHRoZXkncmUKPiBhdXRvZ2VuZXJhdGVkKSBhbmQgdGhpcyBj
b3VsZCBhZmZlY3Qgc3VwcG9ydGluZyB1cGNvbWluZyB2ZXJzaW9ucyBvZgo+IFJ1YnkuCgpSaWdo
dCwgdGhpcyBpcyBhIGdvb2QgcG9pbnQuIFRoZSBvbmx5IHJlYXNvbiBJIGNob3NlIHRvIGtlZXAg
dGhlCmdlbmVyYXRlZCBmaWxlcyBpbiB0aGlzIHNwZWNpZmljIGNhc2UgaXMgYmVjYXVzZSBpdCBh
dm9pZHMgcnVubmluZwpjb25maWd1cmUgYW5kIG1ha2Ugb24gdGhlIG9yaWdpbiBjb2RlLCB3aGlj
aCB0YWtlcyBxdWl0ZSBhIHdoaWxlLiBPdGhlcgp0aGFuIHRoYXQsIEknbSBvcGVuIHRvIHN1Z2dl
c3Rpb25zLgoKQ2hlZXJzLApDb3N0aW4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxp
c3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9s
aXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Tue Dec 10 23:00:04 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 10 Dec 2019 23:00:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ieoU5-0001HM-Hs; Tue, 10 Dec 2019 23:00:01 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=V2g7=2A=stud.acs.upb.ro=vlad_andrei.badoiu@srs-us1.protection.inumbo.net>)
 id 1ieoU3-0001D4-Sl
 for minios-devel@lists.xenproject.org; Tue, 10 Dec 2019 22:59:59 +0000
X-Inumbo-ID: c881e65e-1ba0-11ea-88e7-bc764e2007e4
Received: from EUR04-DB3-obe.outbound.protection.outlook.com (unknown
 [2a01:111:f400:fe0c::62f])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id c881e65e-1ba0-11ea-88e7-bc764e2007e4;
 Tue, 10 Dec 2019 22:59:56 +0000 (UTC)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=A1K4lT8d6enMrYBNrYciD507Nqo8iqtO4UjHsUCrSh+bl4N8lAkX2aUN1b5wU8NggNFyN59EKasOVVAt3UvTS4lyHgY3kydMXSQv2Do/eH511CYVUvgHUcAJ9ochPmgNlrmNgj/xkjKzhr0SxBHyYAOD2QufHyApjue+UbBSRs5tyfTW10BOtqFV7faVfonW5GJ75VLtRMjuzhwMmcIkjolm+vhuNIIvVZCAVQwb/buV6QjCJKTv5R2R2WkL3buIKrOwd2xPfugAny1w2Ryb77vs8DvZwoaCdQNWMGcLx84t6YPxe4bXpKjy0S9mZzyWO6U8fVE1/Q4LaqdQllabyg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ueFpSQbwj87l//dy7JFwZyRDRFbkhiNcv6GfMnTBTgY=;
 b=OK6ep0nFQFSHRIYiCJmIGHZflWozhq/qcxp8a7mY+6sQbnU4eIm7rmCD/ctDM7qDDPqvocRrEvP7vWhAYNdM2pES4WR1h/3yuK/v9vsoTGZmOFW6MLOQZXtosamWYDbPCEZbFIpc3ecmuMiClszrlQZ0aR306TST7SGbkE/Y7ZCq4kC+uKd8ssclKec7iZ6hqIE1HR+JJ9MjiwlAw0vaOX/C1C4zJWjQ7d697klPGpcJ7d+olOO/+2Q1NSDmasiOBuOg5rlWwTNSxeEeFacNF5W14PTtYo0KLwKIN86ojX9DkhjxqwaFH/ekpg8aDhxJZhr2aPLJWdsw4L2v29aPOw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=stud.acs.upb.ro; dmarc=pass action=none
 header.from=stud.acs.upb.ro; dkim=pass header.d=stud.acs.upb.ro; arc=none
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com (20.177.55.79) by
 VI1PR01MB4143.eurprd01.prod.exchangelabs.com (20.177.57.158) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.2516.14; Tue, 10 Dec 2019 22:59:54 +0000
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::71a3:74d9:f301:33b6]) by VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::71a3:74d9:f301:33b6%7]) with mapi id 15.20.2516.018; Tue, 10 Dec 2019
 22:59:54 +0000
From: =?utf-8?B?VmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIp?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
To: "minios-devel@lists.xenproject.org" <minios-devel@lists.xenproject.org>
Thread-Topic: [Minios-devel] [UNIKRAFT/LIBLWIP PATCH v2 1/2] Add missing EAI_*
 macro definitions
Thread-Index: AQHVrmltzP3prNrYyU+zEj4ZjYM5kKez/jwA
Date: Tue, 10 Dec 2019 22:59:54 +0000
Message-ID: <cd99a8c8-aaaf-c1fb-6eb5-d80c49b74e43@stud.acs.upb.ro>
References: <20191209081925.6589-1-felipe.huici@neclab.eu>
 <20191209081925.6589-2-felipe.huici@neclab.eu>
In-Reply-To: <20191209081925.6589-2-felipe.huici@neclab.eu>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-clientproxiedby: VI1P195CA0051.EURP195.PROD.OUTLOOK.COM
 (2603:10a6:802:5a::40) To VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 (2603:10a6:803:6d::15)
authentication-results: spf=none (sender IP is )
 smtp.mailfrom=vlad_andrei.badoiu@stud.acs.upb.ro; 
x-ms-exchange-messagesentrepresentingtype: 1
x-originating-ip: [2a02:2f0b:8303:7b00:84f1:5f33:c782:4452]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 8eef9795-7c68-484f-ddfd-08d77dc4ab76
x-ms-traffictypediagnostic: VI1PR01MB4143:
x-microsoft-antispam-prvs: <VI1PR01MB4143BCB42AA0923ECF32A7FCA65B0@VI1PR01MB4143.eurprd01.prod.exchangelabs.com>
x-ms-oob-tlc-oobclassifiers: OLM:4502;
x-forefront-prvs: 02475B2A01
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(376002)(136003)(396003)(366004)(346002)(39850400004)(189003)(199004)(8676002)(6916009)(81166006)(81156014)(316002)(8936002)(5660300002)(478600001)(64756008)(66476007)(66556008)(66446008)(786003)(85202003)(2906002)(66946007)(6506007)(6486002)(71200400001)(86362001)(6512007)(31686004)(2616005)(31696002)(53546011)(85182001)(186003)(52116002);
 DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR01MB4143;
 H:VI1PR01MB4205.eurprd01.prod.exchangelabs.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; MX:1; A:0; 
received-spf: None (protection.outlook.com: stud.acs.upb.ro does not designate
 permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: kmbathTM2RkiJ8pPIRL5zwsQ9mgewKtsEcuoJb8X8VCzLyi3AupFMetBX/R8UeYZSWLhk3kDzBLU+9UgczCVu799TjPBJEdjjTW/pR9oCZRpI1EYfSemfUs27faa66Wpl65BUbqqwtBNpVayGsglIga4dIPMFBNJYRF9M+qmGI0J3NmiTil5Eqp4X27e4ieVyL2o6j3W7qvLmH6KBA41V3//hv8Tjg/2QaXyCS6I2SF4h4NI27GWg3MH1MNZ9PeUib2SuM534ZlrUeiJwUZzmNR7XgT7eohmniN9+0xTqYei/+lvxhrfvnpLIThVDSo9EaE1VL6IFIlNrBO52JhFfmIiFUXmxWU4L8KGPM5eB0eov5lbd82oLXmYXdIGX4aEFZ9sDCu9D1QMj9ZHxVmZudfTkhJ4Y16X34mjYLkjSEMGXb9TIuZeLUWqXSZJ4lLn
x-ms-exchange-transport-forked: True
Content-ID: <B0E6A6A4EFF37246BDACFB20653BF6AE@eurprd01.prod.exchangelabs.com>
MIME-Version: 1.0
X-OriginatorOrg: stud.acs.upb.ro
X-MS-Exchange-CrossTenant-Network-Message-Id: 8eef9795-7c68-484f-ddfd-08d77dc4ab76
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Dec 2019 22:59:54.1339 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 2d8cc8ba-8dda-4334-9e5c-fac2092e9bac
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: VuCDSYyH5HniW1W9l+gqks36eU1V5y/H5lIbxAcJyHdftd6s/blMk9xWYfnjX/2sDH7RIZ7lovabmuFjhhC5rjCWkTY4z4qGsEwD0wAf1P/jVBRh85vDYA86C6J/4npX
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR01MB4143
Subject: Re: [Minios-devel] [UNIKRAFT/LIBLWIP PATCH v2 1/2] Add missing
 EAI_* macro definitions
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhhbmtzIEZlbGlwZSENCg0KUmV2aWV3ZWQtYnk6IFZsYWQtQW5kcmVpIEJhZG9pdSA8dmxhZF9h
bmRyZWkuYmFkb2l1QHN0dWQuYWNzLnVwYi5ybz4NCg0KT24gMDkuMTIuMjAxOSAxMDoxOSwgRmVs
aXBlIEh1aWNpIHdyb3RlOg0KPiBTaWduZWQtb2ZmLWJ5OiBGZWxpcGUgSHVpY2kgPGZlbGlwZS5o
dWljaUBuZWNsYWIuZXU+DQo+IC0tLQ0KPiAgIGluY2x1ZGUvbmV0ZGIuaCB8IDExICsrKysrKysr
KystDQo+ICAgMSBmaWxlIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkN
Cj4NCj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvbmV0ZGIuaCBiL2luY2x1ZGUvbmV0ZGIuaA0KPiBp
bmRleCA5NDhhMmU3Li41YmJkMzU0IDEwMDY0NA0KPiAtLS0gYS9pbmNsdWRlL25ldGRiLmgNCj4g
KysrIGIvaW5jbHVkZS9uZXRkYi5oDQo+IEBAIC0xLDMgKzEsNSBAQA0KPiArI2lmbmRlZiBfTFdJ
UF9HTFVFX05FVERCX0hfDQo+ICsjZGVmaW5lIF9MV0lQX0dMVUVfTkVUREJfSF8NCj4gICAjaW5j
bHVkZSA8Y29tcGF0L3Bvc2l4L25ldGRiLmg+DQo+ICAgDQo+ICAgI2lmIExXSVBfRE5TICYmIExX
SVBfU09DS0VUDQo+IEBAIC02Myw3ICs2NSwxMyBAQCB2b2lkIHNldHByb3RvZW50KGludCBzdGF5
b3Blbik7DQo+ICAgI2RlZmluZSBFQUlfU1lTVEVNICAgICAxMQ0KPiAgIA0KPiAgIC8qIEVycm9y
IHZhbHVlcyBmb3IgZ2V0YWRkcmluZm8oKSBub3QgZGVmaW5lZCBieSBsd2lwL25ldGRiLmggKi8N
Cj4gLSNkZWZpbmUgRUFJX09WRVJGTE9XICAgIDIwNSAgICAgIC8qIEFyZ3VtZW50IGJ1ZmZlciBv
dmVyZmxvdy4gICovDQo+ICsjZGVmaW5lIEVBSV9CQURGTEFHUyAgIC0xDQo+ICsjZGVmaW5lIEVB
SV9BR0FJTiAgICAgIC0zDQo+ICsjZGVmaW5lIEVBSV9OT0RBVEEgICAgIC01DQo+ICsjZGVmaW5l
IEVBSV9TT0NLVFlQRSAgIC03DQo+ICsjZGVmaW5lIEVBSV9BRERSRkFNSUxZIC05DQo+ICsjZGVm
aW5lIEVBSV9TWVNURU0gICAgIC0xMQ0KPiArI2RlZmluZSBFQUlfT1ZFUkZMT1cgICAtMTINCj4g
ICANCj4gICBpbnQgZ2V0bmFtZWluZm8oY29uc3Qgc3RydWN0IHNvY2thZGRyICphZGRyLCBzb2Nr
bGVuX3QgYWRkcmxlbiwNCj4gICAJCWNoYXIgKmhvc3QsIHNvY2tsZW5fdCBob3N0bGVuLA0KPiBA
QCAtNzMsNCArODEsNSBAQCBzdHJ1Y3Qgc2VydmVudCAqZ2V0c2VydmJ5bmFtZShjb25zdCBjaGFy
ICpuYW1lLCBjb25zdCBjaGFyICpwcm90byk7DQo+ICAgc3RydWN0IHNlcnZlbnQgKmdldHNlcnZi
eXBvcnQoaW50IHBvcnQsIGNvbnN0IGNoYXIgKnByb3RvKTsNCj4gICBpbnQgZ2V0c2VydmJ5cG9y
dF9yKGludCBwb3J0LCBjb25zdCBjaGFyICpwcm90cywgc3RydWN0IHNlcnZlbnQgKnNlLA0KPiAg
IAkJICAgIGNoYXIgKmJ1Ziwgc2l6ZV90IGJ1Zmxlbiwgc3RydWN0IHNlcnZlbnQgKipyZXMpOw0K
PiArI2VuZGlmDQo+ICAgDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5w
cm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8v
bWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Tue Dec 10 23:02:40 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 10 Dec 2019 23:02:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ieoWd-0001tl-Px; Tue, 10 Dec 2019 23:02:39 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=V2g7=2A=stud.acs.upb.ro=vlad_andrei.badoiu@srs-us1.protection.inumbo.net>)
 id 1ieoWc-0001tg-QY
 for minios-devel@lists.xenproject.org; Tue, 10 Dec 2019 23:02:38 +0000
X-Inumbo-ID: 27f3b2e8-1ba1-11ea-a1e1-bc764e2007e4
Received: from EUR04-DB3-obe.outbound.protection.outlook.com (unknown
 [40.107.6.45]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 27f3b2e8-1ba1-11ea-a1e1-bc764e2007e4;
 Tue, 10 Dec 2019 23:02:36 +0000 (UTC)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fzP0Ttiv7E1ZZLQFD0YMy4CwYjTxr8MyB+0mmWZHi3OKVnVDkbUDDtDAUu/EiTewM4VwPnqiGe5p4O4l0AN4/QmQKyUX25V287etym2SqRpE3AawGaOg5FEDjrCMG09fs19HgFnb1jcAATaHyO4mdw9eBdrHt/9UUMX6O81/l8XkRKoEcyZWAPkYe/WQJSc4aFpMDHkSREp8iWjHKFJm9Ktr8WpnvCm+dc765NngnQ4j0YP1bNEVoOWhTx9CvAIFuoiDKQqp5gwBn1uLw2K9mpdQRSTxhxulhx/2GRQOOEpRFU6v4ECefGekyUjnlDW9oqAIs8cnzRrIvjc1hSttYA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=YTiv6ZnGQy5XJlyOtsberC6W3m+3qeo/ODTKSWLm22A=;
 b=ATVMCebWNroRQSeGcDlm5AS4NeHBoh0BxG5VJo5Bphw9/W0u3W9SIZ6QoBF42VmtbJ7iaC/yyJEDooFoyoA60r5VT0Q/ujT3a3KHa40bUfvlc9Y/beGA0I5pheiRs1wkR3dZ95fLjcwATL/YBBUz7PwaDSvVoc2MoZsIe/BET/SMbms4h5mm+F9z0oAQbpXnbXYV3iHHcG4szkCVvKH6W9f1mPifPAkWGwPpdlucIToQYZaLsq/EB6lWwo2Qu6Oi7QIw67P17ilt1G2eKFolP+S9Y9PTVNyhk1MPuZfIg3+PyKm2VLllnNqNfk9fIX2v+GqxWZ+Q01uCRSMJ8MgU9w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=stud.acs.upb.ro; dmarc=pass action=none
 header.from=stud.acs.upb.ro; dkim=pass header.d=stud.acs.upb.ro; arc=none
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com (20.177.55.79) by
 VI1PR01MB4143.eurprd01.prod.exchangelabs.com (20.177.57.158) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.2516.14; Tue, 10 Dec 2019 23:02:35 +0000
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::71a3:74d9:f301:33b6]) by VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::71a3:74d9:f301:33b6%7]) with mapi id 15.20.2516.018; Tue, 10 Dec 2019
 23:02:35 +0000
From: =?utf-8?B?VmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIp?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
To: "minios-devel@lists.xenproject.org" <minios-devel@lists.xenproject.org>
Thread-Topic: [Minios-devel] [UNIKRAFT/LIBLWIP PATCH v2 2/2] Make headers
 compatible with c++ builds
Thread-Index: AQHVrmlratBJF9y5JEqlZMzu/cqOkKez/v0A
Date: Tue, 10 Dec 2019 23:02:35 +0000
Message-ID: <6cd0d721-a9d9-c4fa-15d6-f7d80aa9f5e7@stud.acs.upb.ro>
References: <20191209081925.6589-1-felipe.huici@neclab.eu>
 <20191209081925.6589-3-felipe.huici@neclab.eu>
In-Reply-To: <20191209081925.6589-3-felipe.huici@neclab.eu>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-clientproxiedby: VI1PR10CA0111.EURPRD10.PROD.OUTLOOK.COM
 (2603:10a6:803:28::40) To VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 (2603:10a6:803:6d::15)
authentication-results: spf=none (sender IP is )
 smtp.mailfrom=vlad_andrei.badoiu@stud.acs.upb.ro; 
x-ms-exchange-messagesentrepresentingtype: 1
x-originating-ip: [2a02:2f0b:8303:7b00:84f1:5f33:c782:4452]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: f2257ce4-ef78-44b6-de9b-08d77dc50ba0
x-ms-traffictypediagnostic: VI1PR01MB4143:
x-microsoft-antispam-prvs: <VI1PR01MB414312AF6B5606D16B1DEE7DA65B0@VI1PR01MB4143.eurprd01.prod.exchangelabs.com>
x-ms-oob-tlc-oobclassifiers: OLM:1923;
x-forefront-prvs: 02475B2A01
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(376002)(136003)(396003)(366004)(346002)(39850400004)(189003)(199004)(8676002)(6916009)(81166006)(81156014)(316002)(8936002)(5660300002)(478600001)(64756008)(66476007)(66556008)(66446008)(786003)(85202003)(2906002)(66946007)(6506007)(6486002)(71200400001)(86362001)(6512007)(31686004)(2616005)(31696002)(53546011)(85182001)(186003)(52116002);
 DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR01MB4143;
 H:VI1PR01MB4205.eurprd01.prod.exchangelabs.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; MX:1; A:0; 
received-spf: None (protection.outlook.com: stud.acs.upb.ro does not designate
 permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: kwB9Lrss79JXFm3uPbOPaDi8uwZPLYRnNAmVGRDELh7B5waMK77Cl4VDC0TPDButOno4TqaPjHVPt1ycI+M3anqUQVGdRxT46qajrrGQ6Wf9WMAfS7gdD5sYrSWp0NvYx9dbc+JWoYKFwJpkbmUTfvnF0JMhwlq7rYM6MCLSmgZ8628N0F7QpTvdkwK7/Q7d4KfpYo0TQS9xXBodBoT0JcMRsnyCwt+UKo711wsOmELTdvsppY7zgpq1MAbRjoAU+7kWUDEiVkD7THBE+j+WynuMKiWPFyvB20gOrjf0c/M6XLB5Y0GX+iGmF6AWLqjmXZgf5dAiNrZ0pEHQjdgnyEg3ic+rbdHehhRtCf9CWmInU+rizFKzpA8VRqBfsQzY93QeHxXq3fos3KLp7U/WpTxbiX/fLqNst3DwKhX+ePT+hNT9zkm1Be3ifBeC1L5L
x-ms-exchange-transport-forked: True
Content-ID: <1CFDD32A227A9948BB3F6525D5B52F2B@eurprd01.prod.exchangelabs.com>
MIME-Version: 1.0
X-OriginatorOrg: stud.acs.upb.ro
X-MS-Exchange-CrossTenant-Network-Message-Id: f2257ce4-ef78-44b6-de9b-08d77dc50ba0
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Dec 2019 23:02:35.4215 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 2d8cc8ba-8dda-4334-9e5c-fac2092e9bac
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: S31dzTAgz8fXhoYjlMNJWnTWb8Rucq5x2DN7PojGjgA6gqqmiRbPV0iYOk69BZgqDFAriXmbMPOvI+xSZXGxNADGHrxX79wC7It72Bc9ET/Iw7IRvEfaz1K5E6oH4gHP
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR01MB4143
Subject: Re: [Minios-devel] [UNIKRAFT/LIBLWIP PATCH v2 2/2] Make headers
 compatible with c++ builds
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhpcyBsb29rcyBncmVhdCENCg0KVGhhbmtzLA0KDQpWbGFkDQoNClJldmlld2VkLWJ5OiBWbGFk
LUFuZHJlaSBCYWRvaXUgPHZsYWRfYW5kcmVpLmJhZG9pdUBzdHVkLmFjcy51cGIucm8+DQoNCk9u
IDA5LjEyLjIwMTkgMTA6MTksIEZlbGlwZSBIdWljaSB3cm90ZToNCj4gQWRkIGV4dGVybiBDIGNs
YXVzZXMgdG8gaGVhZGVyIGZpbGVzIHNvIHRoYXQgYysrIGJ1aWxkcyBkbyBub3QgYnJlYWsuDQo+
DQo+IFNpZ25lZC1vZmYtYnk6IEZlbGlwZSBIdWljaSA8ZmVsaXBlLmh1aWNpQG5lY2xhYi5ldT4N
Cj4gLS0tDQo+ICAgaW5jbHVkZS9hcnBhL2luZXQuaCAgfCA3ICsrKysrKysNCj4gICBpbmNsdWRl
L25ldGRiLmggICAgICB8IDkgKysrKysrKysrDQo+ICAgaW5jbHVkZS9zeXMvc29ja2V0LmggfCA4
ICsrKysrKysrDQo+ICAgMyBmaWxlcyBjaGFuZ2VkLCAyNCBpbnNlcnRpb25zKCspDQo+DQo+IGRp
ZmYgLS1naXQgYS9pbmNsdWRlL2FycGEvaW5ldC5oIGIvaW5jbHVkZS9hcnBhL2luZXQuaA0KPiBp
bmRleCBhMTIwMWEyLi5jNGQwMWQ2IDEwMDY0NA0KPiAtLS0gYS9pbmNsdWRlL2FycGEvaW5ldC5o
DQo+ICsrKyBiL2luY2x1ZGUvYXJwYS9pbmV0LmgNCj4gQEAgLTEsNSArMSwxMiBAQA0KPiAgICNp
bmNsdWRlIDxjb21wYXQvcG9zaXgvYXJwYS9pbmV0Lmg+DQo+ICAgDQo+ICsjaWZkZWYgX19jcGx1
c3BsdXMNCj4gK2V4dGVybiAiQyIgew0KPiArI2VuZGlmDQo+ICsNCj4gICBjb25zdCBjaGFyICpp
bmV0X250b3AoaW50IGFmLCBjb25zdCB2b2lkICpzcmMsIGNoYXIgKmRzdCwgc29ja2xlbl90IHNp
emUpOw0KPiAgIGludCBpbmV0X3B0b24oaW50IGFmLCBjb25zdCBjaGFyICpzcmMsIHZvaWQgKmRz
dCk7DQo+ICAgDQo+ICsjaWZkZWYgX19jcGx1c3BsdXMNCj4gK30NCj4gKyNlbmRpZg0KPiBkaWZm
IC0tZ2l0IGEvaW5jbHVkZS9uZXRkYi5oIGIvaW5jbHVkZS9uZXRkYi5oDQo+IGluZGV4IDViYmQz
NTQuLjZjY2E5NjkgMTAwNjQ0DQo+IC0tLSBhL2luY2x1ZGUvbmV0ZGIuaA0KPiArKysgYi9pbmNs
dWRlL25ldGRiLmgNCj4gQEAgLTIsNiArMiwxMCBAQA0KPiAgICNkZWZpbmUgX0xXSVBfR0xVRV9O
RVREQl9IXw0KPiAgICNpbmNsdWRlIDxjb21wYXQvcG9zaXgvbmV0ZGIuaD4NCj4gICANCj4gKyNp
ZmRlZiBfX2NwbHVzcGx1cw0KPiArZXh0ZXJuICJDIiB7DQo+ICsjZW5kaWYNCj4gKw0KPiAgICNp
ZiBMV0lQX0ROUyAmJiBMV0lQX1NPQ0tFVA0KPiAgIA0KPiAgICNpZiAhKExXSVBfQ09NUEFUX1NP
Q0tFVFMpDQo+IEBAIC04MSw1ICs4NSwxMCBAQCBzdHJ1Y3Qgc2VydmVudCAqZ2V0c2VydmJ5bmFt
ZShjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICpwcm90byk7DQo+ICAgc3RydWN0IHNlcnZl
bnQgKmdldHNlcnZieXBvcnQoaW50IHBvcnQsIGNvbnN0IGNoYXIgKnByb3RvKTsNCj4gICBpbnQg
Z2V0c2VydmJ5cG9ydF9yKGludCBwb3J0LCBjb25zdCBjaGFyICpwcm90cywgc3RydWN0IHNlcnZl
bnQgKnNlLA0KPiAgIAkJICAgIGNoYXIgKmJ1Ziwgc2l6ZV90IGJ1Zmxlbiwgc3RydWN0IHNlcnZl
bnQgKipyZXMpOw0KPiArDQo+ICsjaWZkZWYgX19jcGx1c3BsdXMNCj4gK30NCj4gKyNlbmRpZg0K
PiArDQo+ICAgI2VuZGlmDQo+ICAgDQo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL3N5cy9zb2NrZXQu
aCBiL2luY2x1ZGUvc3lzL3NvY2tldC5oDQo+IGluZGV4IGYyM2FkMzIuLjA5MDE4M2EgMTAwNjQ0
DQo+IC0tLSBhL2luY2x1ZGUvc3lzL3NvY2tldC5oDQo+ICsrKyBiL2luY2x1ZGUvc3lzL3NvY2tl
dC5oDQo+IEBAIC0zMyw2ICszMywxMCBAQA0KPiAgIA0KPiAgICNpZm5kZWYgX1VLX0xXSVBfU09D
S0VUX0hfDQo+ICAgDQo+ICsjaWZkZWYgX19jcGx1c3BsdXMNCj4gK2V4dGVybiAiQyIgew0KPiAr
I2VuZGlmDQo+ICsNCj4gICAjaW5jbHVkZSA8dWsvY29uZmlnLmg+DQo+ICAgI2lmIENPTkZJR19I
QVZFX0xJQkMNCj4gICAjaW5jbHVkZSA8ZmNudGwuaD4NCj4gQEAgLTg5LDQgKzkzLDggQEAgaW50
IHNlbmR0byhpbnQgcywgY29uc3Qgdm9pZCAqZGF0YXB0ciwgc2l6ZV90IHNpemUsIGludCBmbGFn
cywNCj4gICAJICAgY29uc3Qgc3RydWN0IHNvY2thZGRyICp0bywgc29ja2xlbl90IHRvbGVuKTsN
Cj4gICBpbnQgc29ja2V0cGFpcihpbnQgZG9tYWluLCBpbnQgdHlwZSwgaW50IHByb3RvY29sLCBp
bnQgc3ZbMl0pOw0KPiAgIA0KPiArI2lmZGVmIF9fY3BsdXNwbHVzDQo+ICt9DQo+ICsjZW5kaWYN
Cj4gKw0KPiAgICNlbmRpZiAvKiBfVUtfTFdJUF9TT0NLRVRfSF8gKi8NCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxp
c3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJv
amVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Tue Dec 10 23:13:19 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 10 Dec 2019 23:13:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ieogw-0002nt-Lf; Tue, 10 Dec 2019 23:13:18 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=V2g7=2A=stud.acs.upb.ro=vlad_andrei.badoiu@srs-us1.protection.inumbo.net>)
 id 1ieogw-0002no-3s
 for minios-devel@lists.xenproject.org; Tue, 10 Dec 2019 23:13:18 +0000
X-Inumbo-ID: a47f9d08-1ba2-11ea-88e7-bc764e2007e4
Received: from EUR01-HE1-obe.outbound.protection.outlook.com (unknown
 [2a01:111:f400:fe1e::615])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id a47f9d08-1ba2-11ea-88e7-bc764e2007e4;
 Tue, 10 Dec 2019 23:13:15 +0000 (UTC)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kYr/9YAxccl4L8sbXY29WruwJ3SYN+2UNeW5DP0MIv4o9avuQbzekawNuW+qa7b9Rga52X8Edu10QNfUtE7qB+WpNTXgBeTw0zFq9JhSdfICZBLBZhVpWPJJfthDYsfNBQKSHGRD5XtHSTDhTGV/WDonwENj9fBrwZP5V0aVhWPn8hTGZtTcMik3H9EmKTXAZnNFIRah9O+4U/o4N1LrXPSum8ldypd6XDa4TIfMZ2O4XQx1cAj4jozY0yBThAGCv7SjvlAyiesjv43U0Ev+vQnxauXW+CgbHIz1HkN7AX3bXx1W7PWLHdS8OMlh0k0gXqYBwHIrtBTvUZLZNRub9Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=NS9myjEJLwRNQMbSVLWFxJxZhT5zJJI25CXU3zN9EwM=;
 b=XBB0h97nEffiSfv4GybKa53hI2UKCgn2rtLNcyirpd5VIkHFLF95u+ccn1G84lTJP03fmFHgKza+MdcdKvf3qbge2RApJOHhyC5vDnWMT22fOUaIPWfR+4zCdtygNGYQJw/4gxSi/EDveL1Q4pF7Bqx55aDehyDVWMmIpuq+rE/fEdfMrkve/WUdTQx1Hgs5JAX7w2imUQcABA4SA8H5+V/yINGoT1X2mDlp1EKO9J21bo5iMfT8jCYET4sHq3Bv4vqJCjp/uAkxEgnDosBGC7DWe0Ds4TXPbf+9BAr5uUeJITXBBIEO8v/4Zrc4GSHmlAEr9S2QGXplV2Sh+JpnCg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=stud.acs.upb.ro; dmarc=pass action=none
 header.from=stud.acs.upb.ro; dkim=pass header.d=stud.acs.upb.ro; arc=none
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com (20.177.55.79) by
 VI1PR01MB4383.eurprd01.prod.exchangelabs.com (20.177.54.14) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.2516.13; Tue, 10 Dec 2019 23:13:12 +0000
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::71a3:74d9:f301:33b6]) by VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::71a3:74d9:f301:33b6%7]) with mapi id 15.20.2516.018; Tue, 10 Dec 2019
 23:13:12 +0000
From: =?utf-8?B?VmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIp?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
To: "minios-devel@lists.xenproject.org" <minios-devel@lists.xenproject.org>
Thread-Topic: [Minios-devel] [UNIKRAFT/LIBLWIP PATCH] Add nameserver headers
 from musl.
Thread-Index: AQHVrn5tdpfZFLy3REuzJTzs+5pxgqe0AcuA
Date: Tue, 10 Dec 2019 23:13:12 +0000
Message-ID: <f09929f5-9bed-080e-b756-57f3b3a0d7b7@stud.acs.upb.ro>
References: <20191209104945.15005-1-felipe.huici@neclab.eu>
In-Reply-To: <20191209104945.15005-1-felipe.huici@neclab.eu>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-clientproxiedby: VI1PR0602CA0006.eurprd06.prod.outlook.com
 (2603:10a6:800:bc::16) To VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 (2603:10a6:803:6d::15)
authentication-results: spf=none (sender IP is )
 smtp.mailfrom=vlad_andrei.badoiu@stud.acs.upb.ro; 
x-ms-exchange-messagesentrepresentingtype: 1
x-originating-ip: [2a02:2f0b:8303:7b00:84f1:5f33:c782:4452]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: f1678d7c-b877-4eb6-8acf-08d77dc68737
x-ms-traffictypediagnostic: VI1PR01MB4383:
x-microsoft-antispam-prvs: <VI1PR01MB4383DBA458714037B37BA977A65B0@VI1PR01MB4383.eurprd01.prod.exchangelabs.com>
x-ms-oob-tlc-oobclassifiers: OLM:913;
x-forefront-prvs: 02475B2A01
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(396003)(39850400004)(366004)(346002)(136003)(376002)(189003)(199004)(81156014)(786003)(31686004)(86362001)(6506007)(2616005)(66446008)(6486002)(66556008)(478600001)(85182001)(85202003)(53546011)(71200400001)(5660300002)(30864003)(64756008)(6916009)(81166006)(66476007)(8936002)(6512007)(66946007)(186003)(31696002)(8676002)(52116002)(316002)(2906002);
 DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR01MB4383;
 H:VI1PR01MB4205.eurprd01.prod.exchangelabs.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; MX:1; A:0; 
received-spf: None (protection.outlook.com: stud.acs.upb.ro does not designate
 permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: g80LsPp5uc5eukQ+3Jo3Ys/W7EBXOoDnLelE9zj+7lRMeWV5Kf/3+dLrpoDNoW6EX8kjStozEvodT0ZCyLRaAd69LtNVRVY94k6AHGjIGNA698xOvZjFnUyJuFKe1iqUE8jRBwoHDQBfkN37Z5Pb4Lr0IqXlZK4dWooCae8+YJ+qFUWND7/u294tVowOfg6UGAdEvp5y2r38RbNGtnznC+gtt8ogaZ1CG7d+rarFig40Gf6JAQESKZM6NgW29c+U8VfJ3kqa6pmM6UXOdeBfEGnhOEmXUpe1KXujwD/64ZOzILXN3a3Y+JkqvhPmN7sVbr7+yOM96FV+n0fXLUvllx0ojyxSAMOKfxTl6jtlQlnzzhXj3DJ6xZL8kwcS2AAKeLe0Iz5l99c46LQIawfD8veg2vxVR/EsN2vUrEXwVphpiRbvS8d3CKD8qlSrnI58
x-ms-exchange-transport-forked: True
Content-ID: <6F79A23E43EC484DA8D90F1A12E8D3C5@eurprd01.prod.exchangelabs.com>
MIME-Version: 1.0
X-OriginatorOrg: stud.acs.upb.ro
X-MS-Exchange-CrossTenant-Network-Message-Id: f1678d7c-b877-4eb6-8acf-08d77dc68737
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Dec 2019 23:13:12.2824 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 2d8cc8ba-8dda-4334-9e5c-fac2092e9bac
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: y2suugp0VIbJ0iXXv0ag3NKQx9vysoDSknrL+T5pb7Dfhm+dyV9Co9NWYnt4D0CKSbyZzZ2a/5nkCWiQOjSZ/XGVTU7L181Mq9Y1eWPNxyvYgq/bMwd8cgeMfzfM7mmY
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR01MB4383
Subject: Re: [Minios-devel] [UNIKRAFT/LIBLWIP PATCH] Add nameserver headers
 from musl.
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhhbmtzIQ0KDQpSZXZpZXdlZC1ieTogVmxhZC1BbmRyZWkgQmFkb2l1IDx2bGFkX2FuZHJlaS5i
YWRvaXVAc3R1ZC5hY3MudXBiLnJvPg0KDQpPbiAwOS4xMi4yMDE5IDEyOjQ5LCBGZWxpcGUgSHVp
Y2kgd3JvdGU6DQo+IENvcGllZCBhcyBpcyBmcm9tIHRoZSBvZmZpY2lhbCBtdXNsIGdpdCBtaXJy
b3INCj4gZ2l0Oi8vZ2l0Lm11c2wtbGliYy5vcmcvbXVzbCwgNTFlYjIwODQgLg0KPg0KPiBTaWdu
ZWQtb2ZmLWJ5OiBGZWxpcGUgSHVpY2kgPGZlbGlwZS5odWljaUBuZWNsYWIuZXU+DQo+IC0tLQ0K
PiAgIG11c2wtaW1wb3J0ZWQvaW5jbHVkZS9hcnBhL25hbWVzZXIuaCAgICAgICAgfCA0NTYgKysr
KysrKysrKysrKysrKysrKysNCj4gICBtdXNsLWltcG9ydGVkL2luY2x1ZGUvYXJwYS9uYW1lc2Vy
X2NvbXBhdC5oIHwgICAyICsNCj4gICAyIGZpbGVzIGNoYW5nZWQsIDQ1OCBpbnNlcnRpb25zKCsp
DQo+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IG11c2wtaW1wb3J0ZWQvaW5jbHVkZS9hcnBhL25hbWVz
ZXIuaA0KPiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBtdXNsLWltcG9ydGVkL2luY2x1ZGUvYXJwYS9u
YW1lc2VyX2NvbXBhdC5oDQo+DQo+IGRpZmYgLS1naXQgYS9tdXNsLWltcG9ydGVkL2luY2x1ZGUv
YXJwYS9uYW1lc2VyLmggYi9tdXNsLWltcG9ydGVkL2luY2x1ZGUvYXJwYS9uYW1lc2VyLmgNCj4g
bmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMC4uYjMxNWUwZg0KPiAtLS0gL2Rl
di9udWxsDQo+ICsrKyBiL211c2wtaW1wb3J0ZWQvaW5jbHVkZS9hcnBhL25hbWVzZXIuaA0KPiBA
QCAtMCwwICsxLDQ1NiBAQA0KPiArI2lmbmRlZiBfQVJQQV9OQU1FU0VSX0gNCj4gKyNkZWZpbmUg
X0FSUEFfTkFNRVNFUl9IDQo+ICsNCj4gKyNpZmRlZiBfX2NwbHVzcGx1cw0KPiArZXh0ZXJuICJD
IiB7DQo+ICsjZW5kaWYNCj4gKw0KPiArI2luY2x1ZGUgPHN0ZGRlZi5oPg0KPiArI2luY2x1ZGUg
PHN0ZGludC5oPg0KPiArI2luY2x1ZGUgPGVuZGlhbi5oPg0KPiArDQo+ICsjZGVmaW5lIF9fTkFN
RVNFUgkxOTk5MTAwNg0KPiArI2RlZmluZSBOU19QQUNLRVRTWgk1MTINCj4gKyNkZWZpbmUgTlNf
TUFYRE5BTUUJMTAyNQ0KPiArI2RlZmluZSBOU19NQVhNU0cJNjU1MzUNCj4gKyNkZWZpbmUgTlNf
TUFYQ0ROQU1FCTI1NQ0KPiArI2RlZmluZSBOU19NQVhMQUJFTAk2Mw0KPiArI2RlZmluZSBOU19I
RklYRURTWgkxMg0KPiArI2RlZmluZSBOU19RRklYRURTWgk0DQo+ICsjZGVmaW5lIE5TX1JSRklY
RURTWgkxMA0KPiArI2RlZmluZSBOU19JTlQzMlNaCTQNCj4gKyNkZWZpbmUgTlNfSU5UMTZTWgky
DQo+ICsjZGVmaW5lIE5TX0lOVDhTWgkxDQo+ICsjZGVmaW5lIE5TX0lOQUREUlNaCTQNCj4gKyNk
ZWZpbmUgTlNfSU42QUREUlNaCTE2DQo+ICsjZGVmaW5lIE5TX0NNUFJTRkxHUwkweGMwDQo+ICsj
ZGVmaW5lIE5TX0RFRkFVTFRQT1JUCTUzDQo+ICsNCj4gK3R5cGVkZWYgZW51bSBfX25zX3NlY3Qg
ew0KPiArCW5zX3NfcWQgPSAwLA0KPiArCW5zX3Nfem4gPSAwLA0KPiArCW5zX3NfYW4gPSAxLA0K
PiArCW5zX3NfcHIgPSAxLA0KPiArCW5zX3NfbnMgPSAyLA0KPiArCW5zX3NfdWQgPSAyLA0KPiAr
CW5zX3NfYXIgPSAzLA0KPiArCW5zX3NfbWF4ID0gNA0KPiArfSBuc19zZWN0Ow0KPiArDQo+ICt0
eXBlZGVmIHN0cnVjdCBfX25zX21zZyB7DQo+ICsJY29uc3QgdW5zaWduZWQgY2hhciAqX21zZywg
Kl9lb207DQo+ICsJdWludDE2X3QgX2lkLCBfZmxhZ3MsIF9jb3VudHNbbnNfc19tYXhdOw0KPiAr
CWNvbnN0IHVuc2lnbmVkIGNoYXIgKl9zZWN0aW9uc1tuc19zX21heF07DQo+ICsJbnNfc2VjdCBf
c2VjdDsNCj4gKwlpbnQgX3JybnVtOw0KPiArCWNvbnN0IHVuc2lnbmVkIGNoYXIgKl9tc2dfcHRy
Ow0KPiArfSBuc19tc2c7DQo+ICsNCj4gK3N0cnVjdCBfbnNfZmxhZ2RhdGEgeyAgaW50IG1hc2ss
IHNoaWZ0OyAgfTsNCj4gK2V4dGVybiBjb25zdCBzdHJ1Y3QgX25zX2ZsYWdkYXRhIF9uc19mbGFn
ZGF0YVtdOw0KPiArDQo+ICsjZGVmaW5lIG5zX21zZ19pZChoYW5kbGUpICgoaGFuZGxlKS5faWQg
KyAwKQ0KPiArI2RlZmluZSBuc19tc2dfYmFzZShoYW5kbGUpICgoaGFuZGxlKS5fbXNnICsgMCkN
Cj4gKyNkZWZpbmUgbnNfbXNnX2VuZChoYW5kbGUpICgoaGFuZGxlKS5fZW9tICsgMCkNCj4gKyNk
ZWZpbmUgbnNfbXNnX3NpemUoaGFuZGxlKSAoKGhhbmRsZSkuX2VvbSAtIChoYW5kbGUpLl9tc2cp
DQo+ICsjZGVmaW5lIG5zX21zZ19jb3VudChoYW5kbGUsIHNlY3Rpb24pICgoaGFuZGxlKS5fY291
bnRzW3NlY3Rpb25dICsgMCkNCj4gKyNkZWZpbmUgbnNfbXNnX2dldGZsYWcoaGFuZGxlLCBmbGFn
KSBcDQo+ICsJKCgoaGFuZGxlKS5fZmxhZ3MgJiBfbnNfZmxhZ2RhdGFbZmxhZ10ubWFzaykgPj4g
X25zX2ZsYWdkYXRhW2ZsYWddLnNoaWZ0KQ0KPiArDQo+ICt0eXBlZGVmCXN0cnVjdCBfX25zX3Jy
IHsNCj4gKwljaGFyCQluYW1lW05TX01BWEROQU1FXTsNCj4gKwl1aW50MTZfdAl0eXBlOw0KPiAr
CXVpbnQxNl90CXJyX2NsYXNzOw0KPiArCXVpbnQzMl90CXR0bDsNCj4gKwl1aW50MTZfdAlyZGxl
bmd0aDsNCj4gKwljb25zdCB1bnNpZ25lZCBjaGFyICpyZGF0YTsNCj4gK30gbnNfcnI7DQo+ICsN
Cj4gKyNkZWZpbmUgbnNfcnJfbmFtZShycikJKCgocnIpLm5hbWVbMF0gIT0gJ1wwJykgPyAocnIp
Lm5hbWUgOiAiLiIpDQo+ICsjZGVmaW5lIG5zX3JyX3R5cGUocnIpCSgobnNfdHlwZSkoKHJyKS50
eXBlICsgMCkpDQo+ICsjZGVmaW5lIG5zX3JyX2NsYXNzKHJyKQkoKG5zX2NsYXNzKSgocnIpLnJy
X2NsYXNzICsgMCkpDQo+ICsjZGVmaW5lIG5zX3JyX3R0bChycikJKChycikudHRsICsgMCkNCj4g
KyNkZWZpbmUgbnNfcnJfcmRsZW4ocnIpCSgocnIpLnJkbGVuZ3RoICsgMCkNCj4gKyNkZWZpbmUg
bnNfcnJfcmRhdGEocnIpCSgocnIpLnJkYXRhICsgMCkNCj4gKw0KPiArdHlwZWRlZiBlbnVtIF9f
bnNfZmxhZyB7DQo+ICsJbnNfZl9xciwNCj4gKwluc19mX29wY29kZSwNCj4gKwluc19mX2FhLA0K
PiArCW5zX2ZfdGMsDQo+ICsJbnNfZl9yZCwNCj4gKwluc19mX3JhLA0KPiArCW5zX2ZfeiwNCj4g
Kwluc19mX2FkLA0KPiArCW5zX2ZfY2QsDQo+ICsJbnNfZl9yY29kZSwNCj4gKwluc19mX21heA0K
PiArfSBuc19mbGFnOw0KPiArDQo+ICt0eXBlZGVmIGVudW0gX19uc19vcGNvZGUgew0KPiArCW5z
X29fcXVlcnkgPSAwLA0KPiArCW5zX29faXF1ZXJ5ID0gMSwNCj4gKwluc19vX3N0YXR1cyA9IDIs
DQo+ICsJbnNfb19ub3RpZnkgPSA0LA0KPiArCW5zX29fdXBkYXRlID0gNSwNCj4gKwluc19vX21h
eCA9IDYNCj4gK30gbnNfb3Bjb2RlOw0KPiArDQo+ICt0eXBlZGVmCWVudW0gX19uc19yY29kZSB7
DQo+ICsJbnNfcl9ub2Vycm9yID0gMCwNCj4gKwluc19yX2Zvcm1lcnIgPSAxLA0KPiArCW5zX3Jf
c2VydmZhaWwgPSAyLA0KPiArCW5zX3Jfbnhkb21haW4gPSAzLA0KPiArCW5zX3Jfbm90aW1wbCA9
IDQsDQo+ICsJbnNfcl9yZWZ1c2VkID0gNSwNCj4gKwluc19yX3l4ZG9tYWluID0gNiwNCj4gKwlu
c19yX3l4cnJzZXQgPSA3LA0KPiArCW5zX3JfbnhycnNldCA9IDgsDQo+ICsJbnNfcl9ub3RhdXRo
ID0gOSwNCj4gKwluc19yX25vdHpvbmUgPSAxMCwNCj4gKwluc19yX21heCA9IDExLA0KPiArCW5z
X3JfYmFkdmVycyA9IDE2LA0KPiArCW5zX3JfYmFkc2lnID0gMTYsDQo+ICsJbnNfcl9iYWRrZXkg
PSAxNywNCj4gKwluc19yX2JhZHRpbWUgPSAxOA0KPiArfSBuc19yY29kZTsNCj4gKw0KPiArdHlw
ZWRlZiBlbnVtIF9fbnNfdXBkYXRlX29wZXJhdGlvbiB7DQo+ICsJbnNfdW9wX2RlbGV0ZSA9IDAs
DQo+ICsJbnNfdW9wX2FkZCA9IDEsDQo+ICsJbnNfdW9wX21heCA9IDINCj4gK30gbnNfdXBkYXRl
X29wZXJhdGlvbjsNCj4gKw0KPiArc3RydWN0IG5zX3RzaWdfa2V5IHsNCj4gKyAgICAgICAgY2hh
ciBuYW1lW05TX01BWEROQU1FXSwgYWxnW05TX01BWEROQU1FXTsNCj4gKyAgICAgICAgdW5zaWdu
ZWQgY2hhciAqZGF0YTsNCj4gKyAgICAgICAgaW50IGxlbjsNCj4gK307DQo+ICt0eXBlZGVmIHN0
cnVjdCBuc190c2lnX2tleSBuc190c2lnX2tleTsNCj4gKw0KPiArc3RydWN0IG5zX3RjcF90c2ln
X3N0YXRlIHsNCj4gKwlpbnQgY291bnRlcjsNCj4gKwlzdHJ1Y3QgZHN0X2tleSAqa2V5Ow0KPiAr
CXZvaWQgKmN0eDsNCj4gKwl1bnNpZ25lZCBjaGFyIHNpZ1tOU19QQUNLRVRTWl07DQo+ICsJaW50
IHNpZ2xlbjsNCj4gK307DQo+ICt0eXBlZGVmIHN0cnVjdCBuc190Y3BfdHNpZ19zdGF0ZSBuc190
Y3BfdHNpZ19zdGF0ZTsNCj4gKw0KPiArI2RlZmluZSBOU19UU0lHX0ZVREdFIDMwMA0KPiArI2Rl
ZmluZSBOU19UU0lHX1RDUF9DT1VOVCAxMDANCj4gKyNkZWZpbmUgTlNfVFNJR19BTEdfSE1BQ19N
RDUgIkhNQUMtTUQ1LlNJRy1BTEcuUkVHLklOVCINCj4gKw0KPiArI2RlZmluZSBOU19UU0lHX0VS
Uk9SX05PX1RTSUcgLTEwDQo+ICsjZGVmaW5lIE5TX1RTSUdfRVJST1JfTk9fU1BBQ0UgLTExDQo+
ICsjZGVmaW5lIE5TX1RTSUdfRVJST1JfRk9STUVSUiAtMTINCj4gKw0KPiArdHlwZWRlZiBlbnVt
IF9fbnNfdHlwZSB7DQo+ICsJbnNfdF9pbnZhbGlkID0gMCwNCj4gKwluc190X2EgPSAxLA0KPiAr
CW5zX3RfbnMgPSAyLA0KPiArCW5zX3RfbWQgPSAzLA0KPiArCW5zX3RfbWYgPSA0LA0KPiArCW5z
X3RfY25hbWUgPSA1LA0KPiArCW5zX3Rfc29hID0gNiwNCj4gKwluc190X21iID0gNywNCj4gKwlu
c190X21nID0gOCwNCj4gKwluc190X21yID0gOSwNCj4gKwluc190X251bGwgPSAxMCwNCj4gKwlu
c190X3drcyA9IDExLA0KPiArCW5zX3RfcHRyID0gMTIsDQo+ICsJbnNfdF9oaW5mbyA9IDEzLA0K
PiArCW5zX3RfbWluZm8gPSAxNCwNCj4gKwluc190X214ID0gMTUsDQo+ICsJbnNfdF90eHQgPSAx
NiwNCj4gKwluc190X3JwID0gMTcsDQo+ICsJbnNfdF9hZnNkYiA9IDE4LA0KPiArCW5zX3RfeDI1
ID0gMTksDQo+ICsJbnNfdF9pc2RuID0gMjAsDQo+ICsJbnNfdF9ydCA9IDIxLA0KPiArCW5zX3Rf
bnNhcCA9IDIyLA0KPiArCW5zX3RfbnNhcF9wdHIgPSAyMywNCj4gKwluc190X3NpZyA9IDI0LA0K
PiArCW5zX3Rfa2V5ID0gMjUsDQo+ICsJbnNfdF9weCA9IDI2LA0KPiArCW5zX3RfZ3BvcyA9IDI3
LA0KPiArCW5zX3RfYWFhYSA9IDI4LA0KPiArCW5zX3RfbG9jID0gMjksDQo+ICsJbnNfdF9ueHQg
PSAzMCwNCj4gKwluc190X2VpZCA9IDMxLA0KPiArCW5zX3RfbmltbG9jID0gMzIsDQo+ICsJbnNf
dF9zcnYgPSAzMywNCj4gKwluc190X2F0bWEgPSAzNCwNCj4gKwluc190X25hcHRyID0gMzUsDQo+
ICsJbnNfdF9reCA9IDM2LA0KPiArCW5zX3RfY2VydCA9IDM3LA0KPiArCW5zX3RfYTYgPSAzOCwN
Cj4gKwluc190X2RuYW1lID0gMzksDQo+ICsJbnNfdF9zaW5rID0gNDAsDQo+ICsJbnNfdF9vcHQg
PSA0MSwNCj4gKwluc190X2FwbCA9IDQyLA0KPiArCW5zX3RfdGtleSA9IDI0OSwNCj4gKwluc190
X3RzaWcgPSAyNTAsDQo+ICsJbnNfdF9peGZyID0gMjUxLA0KPiArCW5zX3RfYXhmciA9IDI1MiwN
Cj4gKwluc190X21haWxiID0gMjUzLA0KPiArCW5zX3RfbWFpbGEgPSAyNTQsDQo+ICsJbnNfdF9h
bnkgPSAyNTUsDQo+ICsJbnNfdF96eGZyID0gMjU2LA0KPiArCW5zX3RfbWF4ID0gNjU1MzYNCj4g
K30gbnNfdHlwZTsNCj4gKw0KPiArI2RlZmluZQluc190X3F0X3AodCkgKG5zX3RfeGZyX3AodCkg
fHwgKHQpID09IG5zX3RfYW55IHx8IFwNCj4gKwkJICAgICAgKHQpID09IG5zX3RfbWFpbGIgfHwg
KHQpID09IG5zX3RfbWFpbGEpDQo+ICsjZGVmaW5lCW5zX3RfbXJyX3AodCkgKCh0KSA9PSBuc190
X3RzaWcgfHwgKHQpID09IG5zX3Rfb3B0KQ0KPiArI2RlZmluZSBuc190X3JyX3AodCkgKCFuc190
X3F0X3AodCkgJiYgIW5zX3RfbXJyX3AodCkpDQo+ICsjZGVmaW5lIG5zX3RfdWRwX3AodCkgKCh0
KSAhPSBuc190X2F4ZnIgJiYgKHQpICE9IG5zX3RfenhmcikNCj4gKyNkZWZpbmUgbnNfdF94ZnJf
cCh0KSAoKHQpID09IG5zX3RfYXhmciB8fCAodCkgPT0gbnNfdF9peGZyIHx8IFwNCj4gKwkJICAg
ICAgICh0KSA9PSBuc190X3p4ZnIpDQo+ICsNCj4gK3R5cGVkZWYgZW51bSBfX25zX2NsYXNzIHsN
Cj4gKwluc19jX2ludmFsaWQgPSAwLA0KPiArCW5zX2NfaW4gPSAxLA0KPiArCW5zX2NfMiA9IDIs
DQo+ICsJbnNfY19jaGFvcyA9IDMsDQo+ICsJbnNfY19ocyA9IDQsDQo+ICsJbnNfY19ub25lID0g
MjU0LA0KPiArCW5zX2NfYW55ID0gMjU1LA0KPiArCW5zX2NfbWF4ID0gNjU1MzYNCj4gK30gbnNf
Y2xhc3M7DQo+ICsNCj4gK3R5cGVkZWYgZW51bSBfX25zX2tleV90eXBlcyB7DQo+ICsJbnNfa3Rf
cnNhID0gMSwNCj4gKwluc19rdF9kaCAgPSAyLA0KPiArCW5zX2t0X2RzYSA9IDMsDQo+ICsJbnNf
a3RfcHJpdmF0ZSA9IDI1NA0KPiArfSBuc19rZXlfdHlwZXM7DQo+ICsNCj4gK3R5cGVkZWYgZW51
bSBfX25zX2NlcnRfdHlwZXMgew0KPiArCWNlcnRfdF9wa2l4ID0gMSwNCj4gKwljZXJ0X3Rfc3Br
aSA9IDIsDQo+ICsJY2VydF90X3BncCAgPSAzLA0KPiArCWNlcnRfdF91cmwgID0gMjUzLA0KPiAr
CWNlcnRfdF9vaWQgID0gMjU0DQo+ICt9IG5zX2NlcnRfdHlwZXM7DQo+ICsNCj4gKyNkZWZpbmUJ
TlNfS0VZX1RZUEVNQVNLCQkweEMwMDANCj4gKyNkZWZpbmUJTlNfS0VZX1RZUEVfQVVUSF9DT05G
CTB4MDAwMA0KPiArI2RlZmluZQlOU19LRVlfVFlQRV9DT05GX09OTFkJMHg4MDAwDQo+ICsjZGVm
aW5lCU5TX0tFWV9UWVBFX0FVVEhfT05MWQkweDQwMDANCj4gKyNkZWZpbmUJTlNfS0VZX1RZUEVf
Tk9fS0VZCTB4QzAwMA0KPiArI2RlZmluZQlOU19LRVlfTk9fQVVUSAkJMHg4MDAwDQo+ICsjZGVm
aW5lCU5TX0tFWV9OT19DT05GCQkweDQwMDANCj4gKyNkZWZpbmUJTlNfS0VZX1JFU0VSVkVEMgkw
eDIwMDANCj4gKyNkZWZpbmUJTlNfS0VZX0VYVEVOREVEX0ZMQUdTCTB4MTAwMA0KPiArI2RlZmlu
ZQlOU19LRVlfUkVTRVJWRUQ0CTB4MDgwMA0KPiArI2RlZmluZQlOU19LRVlfUkVTRVJWRUQ1CTB4
MDQwMA0KPiArI2RlZmluZQlOU19LRVlfTkFNRV9UWVBFCTB4MDMwMA0KPiArI2RlZmluZQlOU19L
RVlfTkFNRV9VU0VSCTB4MDAwMA0KPiArI2RlZmluZQlOU19LRVlfTkFNRV9FTlRJVFkJMHgwMjAw
DQo+ICsjZGVmaW5lCU5TX0tFWV9OQU1FX1pPTkUJMHgwMTAwDQo+ICsjZGVmaW5lCU5TX0tFWV9O
QU1FX1JFU0VSVkVECTB4MDMwMA0KPiArI2RlZmluZQlOU19LRVlfUkVTRVJWRUQ4CTB4MDA4MA0K
PiArI2RlZmluZQlOU19LRVlfUkVTRVJWRUQ5CTB4MDA0MA0KPiArI2RlZmluZQlOU19LRVlfUkVT
RVJWRUQxMAkweDAwMjANCj4gKyNkZWZpbmUJTlNfS0VZX1JFU0VSVkVEMTEJMHgwMDEwDQo+ICsj
ZGVmaW5lCU5TX0tFWV9TSUdOQVRPUllNQVNLCTB4MDAwRg0KPiArI2RlZmluZQlOU19LRVlfUkVT
RVJWRURfQklUTUFTSyAoIE5TX0tFWV9SRVNFUlZFRDIgfCBcDQo+ICsJCQkJICBOU19LRVlfUkVT
RVJWRUQ0IHwgXA0KPiArCQkJCSAgTlNfS0VZX1JFU0VSVkVENSB8IFwNCj4gKwkJCQkgIE5TX0tF
WV9SRVNFUlZFRDggfCBcDQo+ICsJCQkJICBOU19LRVlfUkVTRVJWRUQ5IHwgXA0KPiArCQkJCSAg
TlNfS0VZX1JFU0VSVkVEMTAgfCBcDQo+ICsJCQkJICBOU19LRVlfUkVTRVJWRUQxMSApDQo+ICsj
ZGVmaW5lIE5TX0tFWV9SRVNFUlZFRF9CSVRNQVNLMiAweEZGRkYNCj4gKyNkZWZpbmUJTlNfQUxH
X01ENVJTQQkJMQ0KPiArI2RlZmluZQlOU19BTEdfREggICAgICAgICAgICAgICAyDQo+ICsjZGVm
aW5lCU5TX0FMR19EU0EgICAgICAgICAgICAgIDMNCj4gKyNkZWZpbmUJTlNfQUxHX0RTUyAgICAg
ICAgICAgICAgTlNfQUxHX0RTQQ0KPiArI2RlZmluZQlOU19BTEdfRVhQSVJFX09OTFkJMjUzDQo+
ICsjZGVmaW5lCU5TX0FMR19QUklWQVRFX09JRAkyNTQNCj4gKw0KPiArI2RlZmluZSBOU19LRVlf
UFJPVF9UTFMgICAgICAgICAxDQo+ICsjZGVmaW5lIE5TX0tFWV9QUk9UX0VNQUlMICAgICAgIDIN
Cj4gKyNkZWZpbmUgTlNfS0VZX1BST1RfRE5TU0VDICAgICAgMw0KPiArI2RlZmluZSBOU19LRVlf
UFJPVF9JUFNFQyAgICAgICA0DQo+ICsjZGVmaW5lIE5TX0tFWV9QUk9UX0FOWQkJMjU1DQo+ICsN
Cj4gKyNkZWZpbmUJTlNfTUQ1UlNBX01JTl9CSVRTCSA1MTINCj4gKyNkZWZpbmUJTlNfTUQ1UlNB
X01BWF9CSVRTCTQwOTYNCj4gKyNkZWZpbmUJTlNfTUQ1UlNBX01BWF9CWVRFUwkoKE5TX01ENVJT
QV9NQVhfQklUUys3LzgpKjIrMykNCj4gKyNkZWZpbmUJTlNfTUQ1UlNBX01BWF9CQVNFNjQJKCgo
TlNfTUQ1UlNBX01BWF9CWVRFUysyKS8zKSo0KQ0KPiArI2RlZmluZSBOU19NRDVSU0FfTUlOX1NJ
WkUJKChOU19NRDVSU0FfTUlOX0JJVFMrNykvOCkNCj4gKyNkZWZpbmUgTlNfTUQ1UlNBX01BWF9T
SVpFCSgoTlNfTUQ1UlNBX01BWF9CSVRTKzcpLzgpDQo+ICsNCj4gKyNkZWZpbmUgTlNfRFNBX1NJ
R19TSVpFICAgICAgICAgNDENCj4gKyNkZWZpbmUgTlNfRFNBX01JTl9TSVpFICAgICAgICAgMjEz
DQo+ICsjZGVmaW5lIE5TX0RTQV9NQVhfQllURVMgICAgICAgIDQwNQ0KPiArDQo+ICsjZGVmaW5l
CU5TX1NJR19UWVBFCTANCj4gKyNkZWZpbmUJTlNfU0lHX0FMRwkyDQo+ICsjZGVmaW5lCU5TX1NJ
R19MQUJFTFMJMw0KPiArI2RlZmluZQlOU19TSUdfT1RUTAk0DQo+ICsjZGVmaW5lCU5TX1NJR19F
WFBJUgk4DQo+ICsjZGVmaW5lCU5TX1NJR19TSUdORUQJMTINCj4gKyNkZWZpbmUJTlNfU0lHX0ZP
T1QJMTYNCj4gKyNkZWZpbmUJTlNfU0lHX1NJR05FUgkxOA0KPiArI2RlZmluZQlOU19OWFRfQklU
UyA4DQo+ICsjZGVmaW5lCU5TX05YVF9CSVRfU0VUKCAgbixwKSAocFsobikvTlNfTlhUX0JJVFNd
IHw9ICAoMHg4MD4+KChuKSVOU19OWFRfQklUUykpKQ0KPiArI2RlZmluZQlOU19OWFRfQklUX0NM
RUFSKG4scCkgKHBbKG4pL05TX05YVF9CSVRTXSAmPSB+KDB4ODA+PigobiklTlNfTlhUX0JJVFMp
KSkNCj4gKyNkZWZpbmUJTlNfTlhUX0JJVF9JU1NFVChuLHApIChwWyhuKS9OU19OWFRfQklUU10g
JiAgICgweDgwPj4oKG4pJU5TX05YVF9CSVRTKSkpDQo+ICsjZGVmaW5lIE5TX05YVF9NQVggMTI3
DQo+ICsNCj4gKyNkZWZpbmUgTlNfT1BUX0ROU1NFQ19PSyAgICAgICAgMHg4MDAwVQ0KPiArI2Rl
ZmluZSBOU19PUFRfTlNJRAkJMw0KPiArDQo+ICsjZGVmaW5lIE5TX0dFVDE2KHMsIGNwKSAodm9p
ZCkoKHMpID0gbnNfZ2V0MTYoKChjcCkrPTIpLTIpKQ0KPiArI2RlZmluZSBOU19HRVQzMihsLCBj
cCkgKHZvaWQpKChsKSA9IG5zX2dldDMyKCgoY3ApKz00KS00KSkNCj4gKyNkZWZpbmUgTlNfUFVU
MTYocywgY3ApIG5zX3B1dDE2KChzKSwgKChjcCkrPTIpLTIpDQo+ICsjZGVmaW5lIE5TX1BVVDMy
KGwsIGNwKSBuc19wdXQzMigobCksICgoY3ApKz00KS00KQ0KPiArDQo+ICt1bnNpZ25lZCBuc19n
ZXQxNihjb25zdCB1bnNpZ25lZCBjaGFyICopOw0KPiArdW5zaWduZWQgbG9uZyBuc19nZXQzMihj
b25zdCB1bnNpZ25lZCBjaGFyICopOw0KPiArdm9pZCBuc19wdXQxNih1bnNpZ25lZCwgdW5zaWdu
ZWQgY2hhciAqKTsNCj4gK3ZvaWQgbnNfcHV0MzIodW5zaWduZWQgbG9uZywgdW5zaWduZWQgY2hh
ciAqKTsNCj4gKw0KPiAraW50IG5zX2luaXRwYXJzZShjb25zdCB1bnNpZ25lZCBjaGFyICosIGlu
dCwgbnNfbXNnICopOw0KPiAraW50IG5zX3BhcnNlcnIobnNfbXNnICosIG5zX3NlY3QsIGludCwg
bnNfcnIgKik7DQo+ICtpbnQgbnNfc2tpcHJyKGNvbnN0IHVuc2lnbmVkIGNoYXIgKiwgY29uc3Qg
dW5zaWduZWQgY2hhciAqLCBuc19zZWN0LCBpbnQpOw0KPiAraW50IG5zX25hbWVfdW5jb21wcmVz
cyhjb25zdCB1bnNpZ25lZCBjaGFyICosIGNvbnN0IHVuc2lnbmVkIGNoYXIgKiwgY29uc3QgdW5z
aWduZWQgY2hhciAqLCBjaGFyICosIHNpemVfdCk7DQo+ICsNCj4gKw0KPiArI2RlZmluZQlfX0JJ
TkQJCTE5OTUwNjIxDQo+ICsNCj4gK3R5cGVkZWYgc3RydWN0IHsNCj4gKwl1bnNpZ25lZAlpZCA6
MTY7DQo+ICsjaWYgX19CWVRFX09SREVSID09IF9fQklHX0VORElBTg0KPiArCXVuc2lnbmVkCXFy
OiAxOw0KPiArCXVuc2lnbmVkCW9wY29kZTogNDsNCj4gKwl1bnNpZ25lZAlhYTogMTsNCj4gKwl1
bnNpZ25lZAl0YzogMTsNCj4gKwl1bnNpZ25lZAlyZDogMTsNCj4gKwl1bnNpZ25lZAlyYTogMTsN
Cj4gKwl1bnNpZ25lZAl1bnVzZWQgOjE7DQo+ICsJdW5zaWduZWQJYWQ6IDE7DQo+ICsJdW5zaWdu
ZWQJY2Q6IDE7DQo+ICsJdW5zaWduZWQJcmNvZGUgOjQ7DQo+ICsjZWxzZQ0KPiArCXVuc2lnbmVk
CXJkIDoxOw0KPiArCXVuc2lnbmVkCXRjIDoxOw0KPiArCXVuc2lnbmVkCWFhIDoxOw0KPiArCXVu
c2lnbmVkCW9wY29kZSA6NDsNCj4gKwl1bnNpZ25lZAlxciA6MTsNCj4gKwl1bnNpZ25lZAlyY29k
ZSA6NDsNCj4gKwl1bnNpZ25lZAljZDogMTsNCj4gKwl1bnNpZ25lZAlhZDogMTsNCj4gKwl1bnNp
Z25lZAl1bnVzZWQgOjE7DQo+ICsJdW5zaWduZWQJcmEgOjE7DQo+ICsjZW5kaWYNCj4gKwl1bnNp
Z25lZAlxZGNvdW50IDoxNjsNCj4gKwl1bnNpZ25lZAlhbmNvdW50IDoxNjsNCj4gKwl1bnNpZ25l
ZAluc2NvdW50IDoxNjsNCj4gKwl1bnNpZ25lZAlhcmNvdW50IDoxNjsNCj4gK30gSEVBREVSOw0K
PiArDQo+ICsjZGVmaW5lIFBBQ0tFVFNaCU5TX1BBQ0tFVFNaDQo+ICsjZGVmaW5lIE1BWEROQU1F
CU5TX01BWEROQU1FDQo+ICsjZGVmaW5lIE1BWENETkFNRQlOU19NQVhDRE5BTUUNCj4gKyNkZWZp
bmUgTUFYTEFCRUwJTlNfTUFYTEFCRUwNCj4gKyNkZWZpbmUJSEZJWEVEU1oJTlNfSEZJWEVEU1oN
Cj4gKyNkZWZpbmUgUUZJWEVEU1oJTlNfUUZJWEVEU1oNCj4gKyNkZWZpbmUgUlJGSVhFRFNaCU5T
X1JSRklYRURTWg0KPiArI2RlZmluZQlJTlQzMlNaCQlOU19JTlQzMlNaDQo+ICsjZGVmaW5lCUlO
VDE2U1oJCU5TX0lOVDE2U1oNCj4gKyNkZWZpbmUgSU5UOFNaCQlOU19JTlQ4U1oNCj4gKyNkZWZp
bmUJSU5BRERSU1oJTlNfSU5BRERSU1oNCj4gKyNkZWZpbmUJSU42QUREUlNaCU5TX0lONkFERFJT
Wg0KPiArI2RlZmluZQlJTkRJUl9NQVNLCU5TX0NNUFJTRkxHUw0KPiArI2RlZmluZSBOQU1FU0VS
VkVSX1BPUlQJTlNfREVGQVVMVFBPUlQNCj4gKw0KPiArI2RlZmluZSBTX1pPTkUJCW5zX3Nfem4N
Cj4gKyNkZWZpbmUgU19QUkVSRVEJbnNfc19wcg0KPiArI2RlZmluZSBTX1VQREFURQluc19zX3Vk
DQo+ICsjZGVmaW5lIFNfQUREVAkJbnNfc19hcg0KPiArDQo+ICsjZGVmaW5lIFFVRVJZCQluc19v
X3F1ZXJ5DQo+ICsjZGVmaW5lIElRVUVSWQkJbnNfb19pcXVlcnkNCj4gKyNkZWZpbmUgU1RBVFVT
CQluc19vX3N0YXR1cw0KPiArI2RlZmluZQlOU19OT1RJRllfT1AJbnNfb19ub3RpZnkNCj4gKyNk
ZWZpbmUJTlNfVVBEQVRFX09QCW5zX29fdXBkYXRlDQo+ICsNCj4gKyNkZWZpbmUgTk9FUlJPUgkJ
bnNfcl9ub2Vycm9yDQo+ICsjZGVmaW5lIEZPUk1FUlIJCW5zX3JfZm9ybWVycg0KPiArI2RlZmlu
ZSBTRVJWRkFJTAluc19yX3NlcnZmYWlsDQo+ICsjZGVmaW5lIE5YRE9NQUlOCW5zX3Jfbnhkb21h
aW4NCj4gKyNkZWZpbmUgTk9USU1QCQluc19yX25vdGltcGwNCj4gKyNkZWZpbmUgUkVGVVNFRAkJ
bnNfcl9yZWZ1c2VkDQo+ICsjZGVmaW5lIFlYRE9NQUlOCW5zX3JfeXhkb21haW4NCj4gKyNkZWZp
bmUgWVhSUlNFVAkJbnNfcl95eHJyc2V0DQo+ICsjZGVmaW5lIE5YUlJTRVQJCW5zX3JfbnhycnNl
dA0KPiArI2RlZmluZSBOT1RBVVRICQluc19yX25vdGF1dGgNCj4gKyNkZWZpbmUgTk9UWk9ORQkJ
bnNfcl9ub3R6b25lDQo+ICsNCj4gKyNkZWZpbmUgREVMRVRFCQluc191b3BfZGVsZXRlDQo+ICsj
ZGVmaW5lIEFERAkJbnNfdW9wX2FkZA0KPiArDQo+ICsjZGVmaW5lIFRfQQkJbnNfdF9hDQo+ICsj
ZGVmaW5lIFRfTlMJCW5zX3RfbnMNCj4gKyNkZWZpbmUgVF9NRAkJbnNfdF9tZA0KPiArI2RlZmlu
ZSBUX01GCQluc190X21mDQo+ICsjZGVmaW5lIFRfQ05BTUUJCW5zX3RfY25hbWUNCj4gKyNkZWZp
bmUgVF9TT0EJCW5zX3Rfc29hDQo+ICsjZGVmaW5lIFRfTUIJCW5zX3RfbWINCj4gKyNkZWZpbmUg
VF9NRwkJbnNfdF9tZw0KPiArI2RlZmluZSBUX01SCQluc190X21yDQo+ICsjZGVmaW5lIFRfTlVM
TAkJbnNfdF9udWxsDQo+ICsjZGVmaW5lIFRfV0tTCQluc190X3drcw0KPiArI2RlZmluZSBUX1BU
UgkJbnNfdF9wdHINCj4gKyNkZWZpbmUgVF9ISU5GTwkJbnNfdF9oaW5mbw0KPiArI2RlZmluZSBU
X01JTkZPCQluc190X21pbmZvDQo+ICsjZGVmaW5lIFRfTVgJCW5zX3RfbXgNCj4gKyNkZWZpbmUg
VF9UWFQJCW5zX3RfdHh0DQo+ICsjZGVmaW5lCVRfUlAJCW5zX3RfcnANCj4gKyNkZWZpbmUgVF9B
RlNEQgkJbnNfdF9hZnNkYg0KPiArI2RlZmluZSBUX1gyNQkJbnNfdF94MjUNCj4gKyNkZWZpbmUg
VF9JU0ROCQluc190X2lzZG4NCj4gKyNkZWZpbmUgVF9SVAkJbnNfdF9ydA0KPiArI2RlZmluZSBU
X05TQVAJCW5zX3RfbnNhcA0KPiArI2RlZmluZSBUX05TQVBfUFRSCW5zX3RfbnNhcF9wdHINCj4g
KyNkZWZpbmUJVF9TSUcJCW5zX3Rfc2lnDQo+ICsjZGVmaW5lCVRfS0VZCQluc190X2tleQ0KPiAr
I2RlZmluZQlUX1BYCQluc190X3B4DQo+ICsjZGVmaW5lCVRfR1BPUwkJbnNfdF9ncG9zDQo+ICsj
ZGVmaW5lCVRfQUFBQQkJbnNfdF9hYWFhDQo+ICsjZGVmaW5lCVRfTE9DCQluc190X2xvYw0KPiAr
I2RlZmluZQlUX05YVAkJbnNfdF9ueHQNCj4gKyNkZWZpbmUJVF9FSUQJCW5zX3RfZWlkDQo+ICsj
ZGVmaW5lCVRfTklNTE9DCW5zX3RfbmltbG9jDQo+ICsjZGVmaW5lCVRfU1JWCQluc190X3Nydg0K
PiArI2RlZmluZSBUX0FUTUEJCW5zX3RfYXRtYQ0KPiArI2RlZmluZSBUX05BUFRSCQluc190X25h
cHRyDQo+ICsjZGVmaW5lIFRfQTYJCW5zX3RfYTYNCj4gKyNkZWZpbmUgVF9ETkFNRQkJbnNfdF9k
bmFtZQ0KPiArI2RlZmluZQlUX1RTSUcJCW5zX3RfdHNpZw0KPiArI2RlZmluZQlUX0lYRlIJCW5z
X3RfaXhmcg0KPiArI2RlZmluZSBUX0FYRlIJCW5zX3RfYXhmcg0KPiArI2RlZmluZSBUX01BSUxC
CQluc190X21haWxiDQo+ICsjZGVmaW5lIFRfTUFJTEEJCW5zX3RfbWFpbGENCj4gKyNkZWZpbmUg
VF9BTlkJCW5zX3RfYW55DQo+ICsNCj4gKyNkZWZpbmUgQ19JTgkJbnNfY19pbg0KPiArI2RlZmlu
ZSBDX0NIQU9TCQluc19jX2NoYW9zDQo+ICsjZGVmaW5lIENfSFMJCW5zX2NfaHMNCj4gKyNkZWZp
bmUgQ19OT05FCQluc19jX25vbmUNCj4gKyNkZWZpbmUgQ19BTlkJCW5zX2NfYW55DQo+ICsNCj4g
KyNkZWZpbmUJR0VUU0hPUlQJCU5TX0dFVDE2DQo+ICsjZGVmaW5lCUdFVExPTkcJCQlOU19HRVQz
Mg0KPiArI2RlZmluZQlQVVRTSE9SVAkJTlNfUFVUMTYNCj4gKyNkZWZpbmUJUFVUTE9ORwkJCU5T
X1BVVDMyDQo+ICsNCj4gKyNpZmRlZiBfX2NwbHVzcGx1cw0KPiArfQ0KPiArI2VuZGlmDQo+ICsN
Cj4gKyNlbmRpZg0KPiBkaWZmIC0tZ2l0IGEvbXVzbC1pbXBvcnRlZC9pbmNsdWRlL2FycGEvbmFt
ZXNlcl9jb21wYXQuaCBiL211c2wtaW1wb3J0ZWQvaW5jbHVkZS9hcnBhL25hbWVzZXJfY29tcGF0
LmgNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMC4uM2FhYzI1Yw0KPiAt
LS0gL2Rldi9udWxsDQo+ICsrKyBiL211c2wtaW1wb3J0ZWQvaW5jbHVkZS9hcnBhL25hbWVzZXJf
Y29tcGF0LmgNCj4gQEAgLTAsMCArMSwyIEBADQo+ICsjaW5jbHVkZSA8YXJwYS9uYW1lc2VyLmg+
DQo+ICsNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1p
bmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3Jn
Cmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2
ZWw=

From minios-devel-bounces@lists.xenproject.org Tue Dec 10 23:17:49 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 10 Dec 2019 23:17:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ieolJ-0002t3-4w; Tue, 10 Dec 2019 23:17:49 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=V2g7=2A=stud.acs.upb.ro=vlad_andrei.badoiu@srs-us1.protection.inumbo.net>)
 id 1ieolI-0002sw-8X
 for minios-devel@lists.xenproject.org; Tue, 10 Dec 2019 23:17:48 +0000
X-Inumbo-ID: 45fc2228-1ba3-11ea-8a60-12813bfff9fa
Received: from EUR03-VE1-obe.outbound.protection.outlook.com (unknown
 [40.107.5.51]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 45fc2228-1ba3-11ea-8a60-12813bfff9fa;
 Tue, 10 Dec 2019 23:17:46 +0000 (UTC)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ica8lz7xp/6iN6dc1iYfpM7/VgUgOsxvfYqTK3aX9+xWaikr0J/5kflHvlJWQO+gHf9lOqA9ohwJapL7M7Vcfak1IqYOs3ks0343U1G0RuvG/2hBGT5AefFD7ty1UciMmhdRL2UjMFTnvZl4wBKKH2eU4Z/SZlUlomhugvUtasQuaDbI3zWqia3vRz1a6iOj0+1HuUUP7CX1lpcxr1C+hPwPN+BHEZWKRqNa5jAnQr1Sl6qPc9UliSg8XXQyIVupgc5hKqAl1azwp/dv6NqxiTW767uOqsDGYi08G8EvY3z8sz3jyOU++r1uz4inB8iwji/zFezyEbK1W1asdWRdYA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ZlamAhm1HKLYLTlYhP2ckOb0dj0phze6ZMEzIzO110Y=;
 b=EIR8zvpB1xIBOcRNOY/OfEMvcaXTWjhW1iYjgcuKxH3IgqbnuC4GSVTjk0oa/MS80BM2g5dIJIoLBKXul34kViM+t4iCarB70uchnK43eX94qActkTl9CIIAXHeyIC8kIDTQe8oOhfqJ9yrY7IFPJqI//RRTRZlLkatb/3d9Nkx7CH3SPFCRbC92jkplkDkvGnEKfZbE9cfOMEcY4KTvlAl3EwXQ4GmX4veaY84LOpIullTo2qdOAMjtZEeDUlKGDmQpZfjm/N7AtPNWysg3veJb7/ib0TarwX5VVWHfjlrNqRnsulfgWaxnlF1CRGJzZTjtSp5A7OqKRAutc8wOVw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=stud.acs.upb.ro; dmarc=pass action=none
 header.from=stud.acs.upb.ro; dkim=pass header.d=stud.acs.upb.ro; arc=none
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com (20.177.55.79) by
 VI1PR01MB4142.eurprd01.prod.exchangelabs.com (20.177.55.142) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.2516.12; Tue, 10 Dec 2019 23:17:44 +0000
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::71a3:74d9:f301:33b6]) by VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::71a3:74d9:f301:33b6%7]) with mapi id 15.20.2516.018; Tue, 10 Dec 2019
 23:17:44 +0000
From: =?utf-8?B?VmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIp?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
To: "minios-devel@lists.xenproject.org" <minios-devel@lists.xenproject.org>
Thread-Topic: [Minios-devel] [UNIKRAFT/LIBLWIP PATCH v2 1/2] Add missing EAI_*
 macro definitions
Thread-Index: AQHVrmltzP3prNrYyU+zEj4ZjYM5kKe0AzmA
Date: Tue, 10 Dec 2019 23:17:44 +0000
Message-ID: <3a280429-edc4-1d3f-3446-b47409230388@stud.acs.upb.ro>
References: <20191209081925.6589-1-felipe.huici@neclab.eu>
 <20191209081925.6589-2-felipe.huici@neclab.eu>
In-Reply-To: <20191209081925.6589-2-felipe.huici@neclab.eu>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-clientproxiedby: VI1P18901CA0006.EURP189.PROD.OUTLOOK.COM
 (2603:10a6:801::16) To VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 (2603:10a6:803:6d::15)
authentication-results: spf=none (sender IP is )
 smtp.mailfrom=vlad_andrei.badoiu@stud.acs.upb.ro; 
x-ms-exchange-messagesentrepresentingtype: 1
x-originating-ip: [2a02:2f0b:8303:7b00:84f1:5f33:c782:4452]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: ab02ff7b-ba5a-4615-72fe-08d77dc72949
x-ms-traffictypediagnostic: VI1PR01MB4142:
x-microsoft-antispam-prvs: <VI1PR01MB4142B50FC725E5622FD37B2DA65B0@VI1PR01MB4142.eurprd01.prod.exchangelabs.com>
x-ms-oob-tlc-oobclassifiers: OLM:6790;
x-forefront-prvs: 02475B2A01
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(366004)(39850400004)(136003)(376002)(396003)(346002)(189003)(199004)(6512007)(31686004)(85202003)(66556008)(64756008)(66446008)(2616005)(85182001)(71200400001)(66946007)(66476007)(31696002)(6486002)(5660300002)(786003)(316002)(86362001)(8936002)(6916009)(478600001)(2906002)(53546011)(52116002)(6506007)(186003)(8676002)(81156014)(81166006);
 DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR01MB4142;
 H:VI1PR01MB4205.eurprd01.prod.exchangelabs.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; MX:1; A:0; 
received-spf: None (protection.outlook.com: stud.acs.upb.ro does not designate
 permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: EepquIhonPHvvkuWv1E5hvy0DQa+jLyRvICGC+y10VXY7juA8Y9q9K2Jf7ipnUJYkxBqKSweDDQl90tYoYVf1q4eER+8CNPpmdJ8v3bp50vEEntmQGdMnP80i4HK3k/XvZruFC5QUgcDgudgB+rtPAYvkMuADRtKA8gQ1p/UeImHzyfNll+meYfoJtXMJC7nInPInZ8O+u5jKA+5CeGwQmRR1Wxy+B8zctkRQ5B4hUrVFl4PIryII9yrFMq0mBdrkTQgIpMHVjQFRX9E1vD9gPDA0NSWvw2+X3t2U+vfYToGqlfwn/enrbGkIi0nLed9TYtII9grJf3tuOxk6U0Csli1guMMmJbuj4HGbDDR8arq+m8nrI1jAqlqSnROb4ovTCLZd/mN0+V+szRcSSqVn2IucSlY6S0VnhJEfcz719ybl0AxmWiHJJrPSaPdrdaz
x-ms-exchange-transport-forked: True
Content-ID: <D4C2D79C5E73E44D81A71C4A93427C53@eurprd01.prod.exchangelabs.com>
MIME-Version: 1.0
X-OriginatorOrg: stud.acs.upb.ro
X-MS-Exchange-CrossTenant-Network-Message-Id: ab02ff7b-ba5a-4615-72fe-08d77dc72949
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Dec 2019 23:17:44.1897 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 2d8cc8ba-8dda-4334-9e5c-fac2092e9bac
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: ocPHDXBuAJAikOZwZxmVW4OBhBEaTRRpuyZTMshWWpI6w+fkKE7pLSwQ4wadld84C6UJAO7DG4l0gFjAcEabApRNxea7fazAGEh7t52ln5Ggz3qodJcOCTEDScEZdTaB
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR01MB4142
Subject: Re: [Minios-devel] [UNIKRAFT/LIBLWIP PATCH v2 1/2] Add missing
 EAI_* macro definitions
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGV5LA0KDQpBY3R1YWxseSB0aGVyZSBpcyBhIHByb2JsZW0gdGhhdCBtYXkgYmUgZml4ZWQgZHVy
aW5nIHRoZSB1cHN0cmVhbWluZywgDQpwbGVhc2Ugc2VlIGlubGluZS4NCg0KVGhhbmtzLA0KDQpW
bGFkDQoNCk9uIDA5LjEyLjIwMTkgMTA6MTksIEZlbGlwZSBIdWljaSB3cm90ZToNCj4gU2lnbmVk
LW9mZi1ieTogRmVsaXBlIEh1aWNpIDxmZWxpcGUuaHVpY2lAbmVjbGFiLmV1Pg0KPiAtLS0NCj4g
ICBpbmNsdWRlL25ldGRiLmggfCAxMSArKysrKysrKysrLQ0KPiAgIDEgZmlsZSBjaGFuZ2VkLCAx
MCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pDQo+DQo+IGRpZmYgLS1naXQgYS9pbmNsdWRl
L25ldGRiLmggYi9pbmNsdWRlL25ldGRiLmgNCj4gaW5kZXggOTQ4YTJlNy4uNWJiZDM1NCAxMDA2
NDQNCj4gLS0tIGEvaW5jbHVkZS9uZXRkYi5oDQo+ICsrKyBiL2luY2x1ZGUvbmV0ZGIuaA0KPiBA
QCAtMSwzICsxLDUgQEANCj4gKyNpZm5kZWYgX0xXSVBfR0xVRV9ORVREQl9IXw0KPiArI2RlZmlu
ZSBfTFdJUF9HTFVFX05FVERCX0hfDQo+ICAgI2luY2x1ZGUgPGNvbXBhdC9wb3NpeC9uZXRkYi5o
Pg0KPiAgIA0KPiAgICNpZiBMV0lQX0ROUyAmJiBMV0lQX1NPQ0tFVA0KPiBAQCAtNjMsNyArNjUs
MTMgQEAgdm9pZCBzZXRwcm90b2VudChpbnQgc3RheW9wZW4pOw0KPiAgICNkZWZpbmUgRUFJX1NZ
U1RFTSAgICAgMTENClRoaXMgZGVmaW5pdGlvbiBzaG91bGQgYmUgcmVtb3ZlZCBzaW5jZSB3ZSdy
ZSByZWRlZmluaW5nIHRoZSB2YWx1ZSBhZ2FpbiANCmF0IGEgZnV0dXJlIHBvaW50IGluIHRoZSBj
b2RlLg0KPiAgIA0KPiAgIC8qIEVycm9yIHZhbHVlcyBmb3IgZ2V0YWRkcmluZm8oKSBub3QgZGVm
aW5lZCBieSBsd2lwL25ldGRiLmggKi8NCj4gLSNkZWZpbmUgRUFJX09WRVJGTE9XICAgIDIwNSAg
ICAgIC8qIEFyZ3VtZW50IGJ1ZmZlciBvdmVyZmxvdy4gICovDQo+ICsjZGVmaW5lIEVBSV9CQURG
TEFHUyAgIC0xDQo+ICsjZGVmaW5lIEVBSV9BR0FJTiAgICAgIC0zDQo+ICsjZGVmaW5lIEVBSV9O
T0RBVEEgICAgIC01DQo+ICsjZGVmaW5lIEVBSV9TT0NLVFlQRSAgIC03DQo+ICsjZGVmaW5lIEVB
SV9BRERSRkFNSUxZIC05DQo+ICsjZGVmaW5lIEVBSV9TWVNURU0gICAgIC0xMQ0KUmlnaHQgaGVy
ZS4NCj4gKyNkZWZpbmUgRUFJX09WRVJGTE9XICAgLTEyDQo+ICAgDQo+ICAgaW50IGdldG5hbWVp
bmZvKGNvbnN0IHN0cnVjdCBzb2NrYWRkciAqYWRkciwgc29ja2xlbl90IGFkZHJsZW4sDQo+ICAg
CQljaGFyICpob3N0LCBzb2NrbGVuX3QgaG9zdGxlbiwNCj4gQEAgLTczLDQgKzgxLDUgQEAgc3Ry
dWN0IHNlcnZlbnQgKmdldHNlcnZieW5hbWUoY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAq
cHJvdG8pOw0KPiAgIHN0cnVjdCBzZXJ2ZW50ICpnZXRzZXJ2Ynlwb3J0KGludCBwb3J0LCBjb25z
dCBjaGFyICpwcm90byk7DQo+ICAgaW50IGdldHNlcnZieXBvcnRfcihpbnQgcG9ydCwgY29uc3Qg
Y2hhciAqcHJvdHMsIHN0cnVjdCBzZXJ2ZW50ICpzZSwNCj4gICAJCSAgICBjaGFyICpidWYsIHNp
emVfdCBidWZsZW4sIHN0cnVjdCBzZXJ2ZW50ICoqcmVzKTsNCj4gKyNlbmRpZg0KPiAgIA0KX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVs
IG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9s
aXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Tue Dec 10 23:19:25 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 10 Dec 2019 23:19:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ieomr-0002x0-NX; Tue, 10 Dec 2019 23:19:25 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=V2g7=2A=stud.acs.upb.ro=vlad_andrei.badoiu@srs-us1.protection.inumbo.net>)
 id 1ieomq-0002wr-Qu
 for minios-devel@lists.xenproject.org; Tue, 10 Dec 2019 23:19:24 +0000
X-Inumbo-ID: 7fa7fd44-1ba3-11ea-b6f1-bc764e2007e4
Received: from EUR03-VE1-obe.outbound.protection.outlook.com (unknown
 [40.107.5.56]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 7fa7fd44-1ba3-11ea-b6f1-bc764e2007e4;
 Tue, 10 Dec 2019 23:19:23 +0000 (UTC)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VQx0B3TvgZIDfwEvUs/c+o5Lz4Id+aNm4yINHMpP6iLStW1XIqvC0qaMlp0Wqfs+mQOmRwnuo7JD7pigkg6U63HJQdb4r3Aj8jJnYTotWdjZq2sJhOeEQ9islBP5tWR0jTmKufWwBuKbuQ/zSi+7szSuuu6qHAezjbAq1vchixDlTXEh95iL/ITwQ8csz6xwrMEmUweUaxbP6BKpSNyDiebfLbzrBT8YhydIWprjs5H6YiLPt1lKukmc87Oz5o/nORu7e2a6sDaHGsvDP/slV+nlvFc9+R0+oJzAs0TvvAo8iWd1bhUUxn6sFjcH846tfqmkpH/hLP6lTMu2khC4pQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kLq0tvLWtCFgYidp9Dw992w8qLRIbVqitobvIntzBBE=;
 b=k/gie/bxFsWtCQOhdOd7DDnlJvQ1EWYVBQsLxRhcRFrpzt7xoOD8HkjtebHrKp4PJSh3+ewmGG0m2NJ4UV1NFkK5S97n5SVfxLB7cFc61gNegxhuSQYaoCV9Wn94SjrYpFGQDjhfwwnKli1Jdm6kF8n0KYbOAtLHBuUANF17Wxilynco/rLc4i2jjCGiGjcbG++hnuI+X2iwWWJDW/VmW4ieKqKZjlYKqUZoEoETlBFuQuUara3PBhSQRgZmlR5ip5O3jXABTXsTrKoAHBLgW933DQsIvIPJ49yOyc/qHDmwuFRbrJYMnHtetr3qeO1nhj+HGRp2GH9k8p/oW/tdHA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=stud.acs.upb.ro; dmarc=pass action=none
 header.from=stud.acs.upb.ro; dkim=pass header.d=stud.acs.upb.ro; arc=none
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com (20.177.55.79) by
 VI1PR01MB4142.eurprd01.prod.exchangelabs.com (20.177.55.142) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.2516.12; Tue, 10 Dec 2019 23:19:21 +0000
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::71a3:74d9:f301:33b6]) by VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::71a3:74d9:f301:33b6%7]) with mapi id 15.20.2516.018; Tue, 10 Dec 2019
 23:19:21 +0000
From: =?utf-8?B?VmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIp?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
To: "minios-devel@lists.xenproject.org" <minios-devel@lists.xenproject.org>
Thread-Topic: [Minios-devel] [UNIKRAFT/LIBCARES PATCH 1/3] Introduce library
 skeleton
Thread-Index: AQHVrn6NdwZL27QreEeq0fcMiooiHKe0A4IA
Date: Tue, 10 Dec 2019 23:19:21 +0000
Message-ID: <d6707341-c469-57c2-1f13-8c59ac6d61fa@stud.acs.upb.ro>
References: <20191209105048.15057-1-felipe.huici@neclab.eu>
 <20191209105048.15057-2-felipe.huici@neclab.eu>
In-Reply-To: <20191209105048.15057-2-felipe.huici@neclab.eu>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-clientproxiedby: VI1PR0102CA0009.eurprd01.prod.exchangelabs.com
 (2603:10a6:802::22) To VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 (2603:10a6:803:6d::15)
authentication-results: spf=none (sender IP is )
 smtp.mailfrom=vlad_andrei.badoiu@stud.acs.upb.ro; 
x-ms-exchange-messagesentrepresentingtype: 1
x-originating-ip: [2a02:2f0b:8303:7b00:84f1:5f33:c782:4452]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: a978358b-da57-4332-d1aa-08d77dc76332
x-ms-traffictypediagnostic: VI1PR01MB4142:
x-microsoft-antispam-prvs: <VI1PR01MB4142BA0C24873271EF06E08BA65B0@VI1PR01MB4142.eurprd01.prod.exchangelabs.com>
x-ms-oob-tlc-oobclassifiers: OLM:9508;
x-forefront-prvs: 02475B2A01
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(366004)(39850400004)(136003)(376002)(396003)(346002)(189003)(199004)(6512007)(31686004)(85202003)(66556008)(64756008)(66446008)(2616005)(85182001)(71200400001)(66946007)(66476007)(31696002)(6486002)(5660300002)(786003)(316002)(86362001)(8936002)(6916009)(478600001)(2906002)(53546011)(52116002)(6506007)(186003)(8676002)(81156014)(81166006);
 DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR01MB4142;
 H:VI1PR01MB4205.eurprd01.prod.exchangelabs.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; MX:1; A:0; 
received-spf: None (protection.outlook.com: stud.acs.upb.ro does not designate
 permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: kN8QB6EGoNoROSRCbpOJR6gYgUWx3Z5uKlBIa8Ptcj4GSTUd/jOVJIVw0YKpbOuEifKeakHpFnegd/ywwyGIFmIjRXRnDpOvM81TjbIGb2Lsvod2O1JkXrwe5TJDGOt+m+37ccJNfdqQmSBvApyrN5SAw7ig1YzUBF/SrVIqbVjnMAlzUpY0VA/tBsY+DMF0/J/SW7WsIQZwbByWFUzfyUI26GHlw8NedgFcqv34xB7nxGDLAlp+4F/Jcd8h9K0CAptFpVdrgEXKp5pFW7pF+Y3Ro74azF0U62obBDrj++EAFRSkdX4kd+oNOy9plyfou1VysoeFwKUFey5s9pbIQtAD/qfoMrmHPhYD/4K3nJ9jmP37V7i/oRBXECZ5sh6W9nk9A5t+Hhm+PRvQxcSct9LE7Tn+vWZ34KUTnvcBnYdU9MbUZDLICfOE3y9MVypo
x-ms-exchange-transport-forked: True
Content-ID: <4A58EAFA345B7C45961C2F14DC267A2B@eurprd01.prod.exchangelabs.com>
MIME-Version: 1.0
X-OriginatorOrg: stud.acs.upb.ro
X-MS-Exchange-CrossTenant-Network-Message-Id: a978358b-da57-4332-d1aa-08d77dc76332
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Dec 2019 23:19:21.3332 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 2d8cc8ba-8dda-4334-9e5c-fac2092e9bac
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 3N08A6MS1sn3Q8U9YSy4p7Qb5gwnSDx0gpck2Uln9GkesD30i3yyTPVHl50TOiMoXXhN8Xsxs1xhaC6XVAvHC0bOscohlvjzinkNrX0FuiBhUyJYM1MY+nr1NHO8Yroi
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR01MB4142
Subject: Re: [Minios-devel] [UNIKRAFT/LIBCARES PATCH 1/3] Introduce library
 skeleton
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhhbmtzLCB0aGlzIGxvb2tzIGdvb2QuDQoNClJldmlld2VkLWJ5OiBWbGFkLUFuZHJlaSBCYWRv
aXUgPHZsYWRfYW5kcmVpLmJhZG9pdUBzdHVkLmFjcy51cGIucm8+DQoNCk9uIDA5LjEyLjIwMTkg
MTI6NTAsIEZlbGlwZSBIdWljaSB3cm90ZToNCj4gV2UgdXNlIHRoZSBCU0QtMy1DbGF1c2UgbGlj
ZW5zZSBmb3IgdGhpcyBsaWJyYXJ5IGdsdWUgY29kZS4NCj4NCj4gU2lnbmVkLW9mZi1ieTogRmVs
aXBlIEh1aWNpIDxmZWxpcGUuaHVpY2lAbmVjbGFiLmV1Pg0KPiAtLS0NCj4gICAuZ2l0aWdub3Jl
ICAgICAgfCAyNyArKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4gICBDT0RJTkdfU1RZTEUu
bWQgfCAgNCArKysrDQo+ICAgQ09OVFJJQlVUSU5HLm1kIHwgIDQgKysrKw0KPiAgIENPUFlJTkcu
bWQgICAgICB8IDM5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KPiAg
IENvbmZpZy51ayAgICAgICB8ICA3ICsrKysrKysNCj4gICBNQUlOVEFJTkVSUy5tZCAgfCAxMCAr
KysrKysrKysrDQo+ICAgUkVBRE1FLm1kICAgICAgIHwgMTAgKysrKysrKysrKw0KPiAgIDcgZmls
ZXMgY2hhbmdlZCwgMTAxIGluc2VydGlvbnMoKykNCj4gICBjcmVhdGUgbW9kZSAxMDA2NDQgLmdp
dGlnbm9yZQ0KPiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBDT0RJTkdfU1RZTEUubWQNCj4gICBjcmVh
dGUgbW9kZSAxMDA2NDQgQ09OVFJJQlVUSU5HLm1kDQo+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IENP
UFlJTkcubWQNCj4gICBjcmVhdGUgbW9kZSAxMDA2NDQgQ29uZmlnLnVrDQo+ICAgY3JlYXRlIG1v
ZGUgMTAwNjQ0IE1BSU5UQUlORVJTLm1kDQo+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IFJFQURNRS5t
ZA0KPg0KPiBkaWZmIC0tZ2l0IGEvLmdpdGlnbm9yZSBiLy5naXRpZ25vcmUNCj4gbmV3IGZpbGUg
bW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMC4uNzVkMmZkMw0KPiAtLS0gL2Rldi9udWxsDQo+
ICsrKyBiLy5naXRpZ25vcmUNCj4gQEAgLTAsMCArMSwyNyBAQA0KPiArKi5kZXBlbmQNCj4gKyou
bw0KPiArKi5hDQo+ICsqLmQNCj4gKyouc28NCj4gKyoub3JpZw0KPiArKi5yZWoNCj4gKyouYmFr
DQo+ICsqLnN3cA0KPiArKn4NCj4gKywqDQo+ICtcIypcIw0KPiArLlwjKg0KPiArXCNfKlwjDQo+
ICsuXCNfKg0KPiArIS5naXRpZ25vcmUNCj4gKy4qDQo+ICsNCj4gKyMgZ251IGdsb2JhbCBmaWxl
cw0KPiArR1BBVEgNCj4gK0dSVEFHUw0KPiArR1NZTVMNCj4gK0dUQUdTDQo+ICsNCj4gKyMgY3Nj
b3BlIGZpbGVzDQo+ICtjc2NvcGUuKg0KPiArbmNzY29wZS4qDQo+IGRpZmYgLS1naXQgYS9DT0RJ
TkdfU1RZTEUubWQgYi9DT0RJTkdfU1RZTEUubWQNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4g
aW5kZXggMDAwMDAwMC4uNTczMDA0MQ0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL0NPRElOR19T
VFlMRS5tZA0KPiBAQCAtMCwwICsxLDQgQEANCj4gK0NvZGluZyBTdHlsZQ0KPiArPT09PT09PT09
PT09DQo+ICsNCj4gK1BsZWFzZSByZWZlciB0byB0aGUgYENPRElOR19TVFlMRS5tZGAgZmlsZSBp
biB0aGUgbWFpbiBVbmlrcmFmdCByZXBvc2l0b3J5Lg0KPiBkaWZmIC0tZ2l0IGEvQ09OVFJJQlVU
SU5HLm1kIGIvQ09OVFJJQlVUSU5HLm1kDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4
IDAwMDAwMDAuLjVmNTVlY2ENCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9DT05UUklCVVRJTkcu
bWQNCj4gQEAgLTAsMCArMSw0IEBADQo+ICtDb250cmlidXRpbmcgdG8gVW5pa3JhZnQNCj4gKz09
PT09PT09PT09PT09PT09PT09PT09DQo+ICsNCj4gK1BsZWFzZSByZWZlciB0byB0aGUgYENPTlRS
SUJVVElORy5tZGAgZmlsZSBpbiB0aGUgbWFpbiBVbmlrcmFmdCByZXBvc2l0b3J5Lg0KPiBkaWZm
IC0tZ2l0IGEvQ09QWUlORy5tZCBiL0NPUFlJTkcubWQNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQN
Cj4gaW5kZXggMDAwMDAwMC4uOGIxMzNiNg0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL0NPUFlJ
TkcubWQNCj4gQEAgLTAsMCArMSwzOSBAQA0KPiArTGljZW5zZQ0KPiArPT09PT09PQ0KPiArDQo+
ICtVbmlrcmFmdCBjLWFyZXMgd3JhcHBlcnMNCj4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0K
PiArDQo+ICtUaGlzIHJlcG9zaXRvcnkgY29udGFpbnMgd3JhcHBlciBjb2RlIHRvIGJ1aWxkIGMt
YXJlcyB3aXRoIFVuaWtyYWZ0Lg0KPiArRWFjaCBDIGNvZGUgZmlsZSBpbiB0aGlzIHJlcG9zaXRv
cnkgc2hvdWxkIGRlY2xhcmUgd2hvIGlzIHRoZQ0KPiArY29weXJpZ2h0IG93bmVyIGFuZCB1bmRl
ciB3aGljaCB0ZXJtcyBhbmQgY29uZGl0aW9ucyB0aGUgY29kZSBpcw0KPiArbGljZW5zZWQuIElm
IHN1Y2ggYSBsaWNlbmNlIG5vdGUgaXMgbWlzc2luZywgdGhlIGZvbGxvd2luZyBjb3B5cmlnaHQN
Cj4gK25vdGljZSB3aWxsIGFwcGx5Og0KPiArDQo+ICsJQ29weXJpZ2h0IChjKSAyMDE5LCBORUMg
RXVyb3BlIEx0ZC4sIE5FQyBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4NCj4gKw0K
PiArCVJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dA0KPiArCW1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucw0KPiArCWFyZSBtZXQ6DQo+ICsNCj4gKwkxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodA0KPiArCSAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4NCj4gKwkyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodA0KPiArCSAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUNCj4g
KwkgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLg0KPiArCTMuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIGNvcHlyaWdo
dCBob2xkZXIgbm9yIHRoZSBuYW1lcyBvZiBpdHMNCj4gKwkgICBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQ0KPiArCSAg
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
DQo+ICsNCj4gKwlUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyINCj4gKwlBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFDQo+ICsJ
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UNCj4gKwlBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFDQo+ICsJTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUg0K
PiArCUNPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GDQo+ICsJU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQo+ICsJSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4N
Cj4gKwlDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQ0KPiArCUFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFDQo+ICsJUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuDQo+ICsNCj4gZGlmZiAtLWdpdCBhL0NvbmZpZy51ayBiL0NvbmZp
Zy51aw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwLi4yYWQ1MGU4DQo+
IC0tLSAvZGV2L251bGwNCj4gKysrIGIvQ29uZmlnLnVrDQo+IEBAIC0wLDAgKzEsNyBAQA0KPiAr
bWVudWNvbmZpZyBMSUJDQVJFUw0KPiArCSAgIGJvb2wgImMtYXJlcyAtIGEgQyBsaWJyYXJ5IGZv
ciBhc3luY2hyb25vdXMgRE5TIHJlcXVlc3RzIg0KPiArCSAgIGRlZmF1bHQgeQ0KPiArCSAgIHNl
bGVjdCBMSUJORVdMSUJDDQo+ICsJICAgc2VsZWN0IExJQkxXSVANCj4gKwkgICBzZWxlY3QgTFdJ
UF9JUFY2DQo+ICsJICAgc2VsZWN0IFVLU1lTSU5GTw0KPiBkaWZmIC0tZ2l0IGEvTUFJTlRBSU5F
UlMubWQgYi9NQUlOVEFJTkVSUy5tZA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAw
MDAwMDAwLi5kMDA5ZTliDQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvTUFJTlRBSU5FUlMubWQN
Cj4gQEAgLTAsMCArMSwxMCBAQA0KPiArTWFpbnRhaW5lcnMgTGlzdA0KPiArPT09PT09PT09PT09
PT09PQ0KPiArDQo+ICtGb3Igbm90ZXMgb24gaG93IHRvIHJlYWQgdGhpcyBpbmZvcm1hdGlvbiwg
cGxlYXNlIHJlZmVyIHRvIGBNQUlOVEFJTkVSUy5tZGAgaW4NCj4gK3RoZSBtYWluIFVuaWtyYWZ0
IHJlcG9zaXRvcnkuDQo+ICsNCj4gKwlMSUJaTElCLVVOSUtSQUZUDQo+ICsJTToJRmVsaXBlIEh1
aWNpIDxmZWxpcGUuaHVpY2lAbmVjbGFiLmV1Pg0KPiArCUw6CW1pbmlvcy1kZXZlbEBsaXN0cy54
ZW4ub3JnDQo+ICsJRjogKg0KPiBkaWZmIC0tZ2l0IGEvUkVBRE1FLm1kIGIvUkVBRE1FLm1kDQo+
IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAuLmVlMzlhNTgNCj4gLS0tIC9k
ZXYvbnVsbA0KPiArKysgYi9SRUFETUUubWQNCj4gQEAgLTAsMCArMSwxMCBAQA0KPiArbGliemxp
YiBmb3IgVW5pa3JhZnQNCj4gKz09PT09PT09PT09PT09PT09PT0NCj4gK1RoaXMgaXMgYSBwb3J0
IG9mIGMtYXJlcyB0byBVbmlrcmFmdC4gWW91IHdpbGwgbmVlZCBuZXdsaWIgYW5kIGx3aXANCj4g
K2ZvciBpdCB0byB3b3JrLCBzbyBwbGVhc2UgZW5zdXJlIHlvdSBhZGQgdGhlIGZvbGxvd2luZyBs
aW5lIHRvIHRoZQ0KPiArTElCUyB2YXJpYWJsZSBpbiB0aGUgTWFrZWZpbGU6DQo+ICsNCj4gKyAg
IC4uLiQoVUtfTElCUykvbHdpcDokKFVLX0xJQlMpL25ld2xpYjokKFVLX0xJQlMpL2MtYXJlcy4u
Lg0KPiArCQkNCj4gK1BsZWFzZSByZWZlciB0byB0aGUgYFJFQURNRS5tZGAgYXMgd2VsbCBhcyB0
aGUgZG9jdW1lbnRhdGlvbiBpbiB0aGUgYGRvYy9gDQo+ICtzdWJkaXJlY3Rvcnkgb2YgdGhlIG1h
aW4gdW5pa3JhZnQgcmVwb3NpdG9yeSBmb3IgZnVydGhlciBpbmZvcm1hdGlvbi4NCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWls
aW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMu
eGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Tue Dec 10 23:20:01 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 10 Dec 2019 23:20:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ieonR-00039i-QJ; Tue, 10 Dec 2019 23:20:01 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=V2g7=2A=stud.acs.upb.ro=vlad_andrei.badoiu@srs-us1.protection.inumbo.net>)
 id 1ieonQ-00035b-9o
 for minios-devel@lists.xenproject.org; Tue, 10 Dec 2019 23:20:00 +0000
X-Inumbo-ID: 94f61ad2-1ba3-11ea-b6f1-bc764e2007e4
Received: from EUR03-VE1-obe.outbound.protection.outlook.com (unknown
 [40.107.5.85]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 94f61ad2-1ba3-11ea-b6f1-bc764e2007e4;
 Tue, 10 Dec 2019 23:19:58 +0000 (UTC)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=g7hAXw71UQE3sl51gkyphn1ESxOZ2PXo4rXB5DwYyIO8S8/m15CE01AnJL88iWMJ7DXe2Y2+4BFnJilhAPHmKUnnmBd+K+QQ/1BaG7MfD7AHA6kIoNJEkm6kyYUmZ4iYRunPustzoYqOPhhzNQn3iZksipaj0aSQgCPfr4bzSrlCmx3dwiKKN5NcmfTeyb2asc5rmOPYAeXCYzfRnb1bP6+uP/yPeQtr2MhKAGyaKe/hQsV7gtMeHMhJPM0wMign3A0s1iWZfYaOUE0JOvgDAtTdvbr++Vr2JQ+cQUvQY7S8EctgCkx4rZLfZHEsFlKnr7vti1a4OGE8jtSMPUoIug==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TlZhVVX840LU7cxQIwHgdnNOVdqvFWTu2BVnT5r60yc=;
 b=g4C/9U8227pfL6TsK93VL3VntEmpNevoZ41II+I9RWxQhlWkqJ/WC5C/GWdE8ZN5KCrsxZe9Zhwz74mQUDTh+q2MmePqs40riPj7FxzphbUkfkAW+6gGRkxY41DBII54GCNA4uSMGEU9JRM01mi7Ld+7oN80KjebVXpp1Wcyin2igHffenHFLKqguU21BiiMssWBRvEyZ1zQWEscVCPFHgiVmeIozI1pmSd+9ETG56oJepLCFEr1VXa3l4YXsJJPpUgeIHDjVDlIal/cIXQQj4PH5DiTWkNXwtobUVbPUGM0dFNP0uPDOLKDLxxMcX2UyKKV+thgsHeBVdAV3ygffA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=stud.acs.upb.ro; dmarc=pass action=none
 header.from=stud.acs.upb.ro; dkim=pass header.d=stud.acs.upb.ro; arc=none
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com (20.177.55.79) by
 VI1PR01MB4142.eurprd01.prod.exchangelabs.com (20.177.55.142) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.2516.12; Tue, 10 Dec 2019 23:19:57 +0000
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::71a3:74d9:f301:33b6]) by VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::71a3:74d9:f301:33b6%7]) with mapi id 15.20.2516.018; Tue, 10 Dec 2019
 23:19:57 +0000
From: =?utf-8?B?VmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIp?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
To: "minios-devel@lists.xenproject.org" <minios-devel@lists.xenproject.org>
Thread-Topic: [Minios-devel] [UNIKRAFT/LIBCARES PATCH 2/3] Add c-ares port
 Makefile.uk
Thread-Index: AQHVrn6QdXGjP89SI0qfkHteqr5x0ae0A60A
Date: Tue, 10 Dec 2019 23:19:57 +0000
Message-ID: <57b257e0-1b47-e24d-a6f1-a7f5c86065a3@stud.acs.upb.ro>
References: <20191209105048.15057-1-felipe.huici@neclab.eu>
 <20191209105048.15057-3-felipe.huici@neclab.eu>
In-Reply-To: <20191209105048.15057-3-felipe.huici@neclab.eu>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-clientproxiedby: VI1PR0102CA0031.eurprd01.prod.exchangelabs.com
 (2603:10a6:802::44) To VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 (2603:10a6:803:6d::15)
authentication-results: spf=none (sender IP is )
 smtp.mailfrom=vlad_andrei.badoiu@stud.acs.upb.ro; 
x-ms-exchange-messagesentrepresentingtype: 1
x-originating-ip: [2a02:2f0b:8303:7b00:84f1:5f33:c782:4452]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 5607d69c-0957-4fea-d84a-08d77dc7789a
x-ms-traffictypediagnostic: VI1PR01MB4142:
x-microsoft-antispam-prvs: <VI1PR01MB4142173978211E334E23C7F3A65B0@VI1PR01MB4142.eurprd01.prod.exchangelabs.com>
x-ms-oob-tlc-oobclassifiers: OLM:5797;
x-forefront-prvs: 02475B2A01
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(366004)(39850400004)(136003)(376002)(396003)(346002)(189003)(199004)(6512007)(31686004)(85202003)(66556008)(64756008)(66446008)(2616005)(85182001)(71200400001)(66946007)(66476007)(31696002)(6486002)(5660300002)(786003)(316002)(86362001)(8936002)(6916009)(478600001)(2906002)(53546011)(52116002)(6506007)(186003)(8676002)(81156014)(81166006);
 DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR01MB4142;
 H:VI1PR01MB4205.eurprd01.prod.exchangelabs.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; MX:1; A:0; 
received-spf: None (protection.outlook.com: stud.acs.upb.ro does not designate
 permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: GnZxBZcvOjsQePB2z8CvmZD21cfZZaMrjWm3dJnJ0dEJcY20bDcswsTuD8ZORief6Zy7q5Brm4lhiQaQiHJZF81dthSmVjY0Ao/iVmSvVKAlc5MEF0wYx9AVfS1MIbIfe5pDWighjZVZqf+oZNyDPO48iGSRrJbXuZjoFj4dwx0UvmViXRzsDI5CetWyCM2GkMcKJuggGuZG2uhQ6qCzaCLN2V4OOuA99hbr53lVrR5D/PxaBxSId+jS2O13zxWkLn/kOwckjc4y9aJ0LkkgJcOGa6SX2bEInw/f+VDbdmxkfpsSk6cJMXEBfQ5c7NrZ3LUwY4PCUk7tiwNXQVupnHWmWTvl7CfxadYbUDL06OGS/IiXGBMwY919Gq8Xmzdf6nw8U6jlHlXocmJEV8DAUMFZ4/XBEP/tGcnBV3PNsjj0w/mPSwaell0Oly440zzNwPaoleDb8RPpCVfXDCABDOZ3aiMX7j8Fm5eXNWbto7I=
x-ms-exchange-transport-forked: True
Content-ID: <507A842E7B191E4F9BD894B25CEF8F75@eurprd01.prod.exchangelabs.com>
MIME-Version: 1.0
X-OriginatorOrg: stud.acs.upb.ro
X-MS-Exchange-CrossTenant-Network-Message-Id: 5607d69c-0957-4fea-d84a-08d77dc7789a
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Dec 2019 23:19:57.2631 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 2d8cc8ba-8dda-4334-9e5c-fac2092e9bac
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: VjNS1dSD6JknD1F+S5Nbh1bOFY3sV0heIVEzLp7iqAcrNl2ZVZ/QG/tkhznXlGv3FUkdFeQbsVw8ZYRiEnetTkDZAP224ZRWZaHRNPxrNsNr3gDdNeqpPzzV+xvwI39W
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR01MB4142
Subject: Re: [Minios-devel] [UNIKRAFT/LIBCARES PATCH 2/3] Add c-ares port
 Makefile.uk
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhhbmtzIEZlbGlwZSENCg0KUmV2aWV3ZWQtYnk6IFZsYWQtQW5kcmVpIEJhZG9pdSA8dmxhZF9h
bmRyZWkuYmFkb2l1QHN0dWQuYWNzLnVwYi5ybz4NCg0KT24gMDkuMTIuMjAxOSAxMjo1MCwgRmVs
aXBlIEh1aWNpIHdyb3RlOg0KPiBTaWduZWQtb2ZmLWJ5OiBGZWxpcGUgSHVpY2kgPGZlbGlwZS5o
dWljaUBuZWNsYWIuZXU+DQo+IC0tLQ0KPiAgIE1ha2VmaWxlLnVrIHwgMTI1ICsrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4gICAxIGZpbGUgY2hh
bmdlZCwgMTI1IGluc2VydGlvbnMoKykNCj4gICBjcmVhdGUgbW9kZSAxMDA2NDQgTWFrZWZpbGUu
dWsNCj4NCj4gZGlmZiAtLWdpdCBhL01ha2VmaWxlLnVrIGIvTWFrZWZpbGUudWsNCj4gbmV3IGZp
bGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMC4uOGVlMjM3NQ0KPiAtLS0gL2Rldi9udWxs
DQo+ICsrKyBiL01ha2VmaWxlLnVrDQo+IEBAIC0wLDAgKzEsMTI1IEBADQo+ICsjICBsaWJjYXJl
cyBNYWtlZmlsZS51aw0KPiArIw0KPiArIyAgQXV0aG9yczogRmVsaXBlIEh1aWNpIDxmZWxpcGUu
aHVpY2lAbmVjbGFiLmV1Pg0KPiArIw0KPiArIw0KPiArIyAgQ29weXJpZ2h0IChjKSAyMDE5LCBO
RUMgRXVyb3BlIEx0ZC4sIE5FQyBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4NCj4g
KyMNCj4gKyMgIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dA0KPiArIyAgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zDQo+ICsjICBhcmUgbWV0Og0KPiAr
Iw0KPiArIyAgMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQNCj4gKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4NCj4gKyMgIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0DQo+ICsj
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlDQo+ICsjICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLg0KPiArIyAgMy4gTmVpdGhlciB0
aGUgbmFtZSBvZiB0aGUgY29weXJpZ2h0IGhvbGRlciBub3IgdGhlIG5hbWVzIG9mIGl0cw0KPiAr
IyAgICAgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20NCj4gKyMgICAgIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQo+ICsjDQo+ICsjICBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyINCj4gKyMgIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUNCj4gKyMgIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFDQo+ICsj
ICBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIg
T1IgQ09OVFJJQlVUT1JTIEJFDQo+ICsjICBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SDQo+ICsjICBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRg0K
PiArIyAgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTDQo+ICsjICBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTg0KPiArIyAgQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkNCj4gKyMgIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFDQo+ICsjICBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4NCj4gKyMNCj4gKyMgIFRISVMgSEVBREVSIE1BWSBOT1QgQkUgRVhUUkFDVEVE
IE9SIE1PRElGSUVEIElOIEFOWSBXQVkuDQo+ICsjDQo+ICsNCj4gKyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjDQo+ICsjIExpYnJhcnkgcmVnaXN0cmF0aW9uDQo+ICsjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIw0KPiArJChldmFsICQoY2FsbCBhZGRsaWJfcyxsaWJjYXJlcywkKENPTkZJR19MSUJDQVJF
UykpKQ0KPiArDQo+ICsjaWZlcSAoJChDT05GSUdfTElCQ0FSRVMpLHkpDQo+ICsjaWZuZXEgKCQo
TFdJUF9JUFY2KSx5KQ0KPiArIyQoZXJyb3IgY2FyZXMgcmVxdWlyZXMgbHdpcCdzIGlwdjYgb3B0
aW9uIHRvIGJlIGVuYWJsZWQpDQo+ICsjZW5kaWYNCj4gKyNlbmRpZg0KPiArDQo+ICsjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIw0KPiArIyBTb3VyY2VzDQo+ICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
Iw0KPiArTElCQ0FSRVNfVkVSU0lPTj0xLjE0LjANCj4gK0xJQkNBUkVTX1VSTD1odHRwczovL2Mt
YXJlcy5oYXh4LnNlL2Rvd25sb2FkL2MtYXJlcy0kKExJQkNBUkVTX1ZFUlNJT04pLnRhci5neg0K
PiArTElCQ0FSRVNfRElSPWMtYXJlcy0kKExJQkNBUkVTX1ZFUlNJT04pDQo+ICsNCj4gK0xJQkNB
UkVTX1BBVENIRElSPSQoTElCQ0FSRVNfQkFTRSkvcGF0Y2hlcw0KPiArJChldmFsICQoY2FsbCBm
ZXRjaCxsaWJjYXJlcywkKExJQkNBUkVTX1VSTCksJChMSUJDQVJFU19WRVJTSU9OKS50YXIuZ3op
KQ0KPiArJChldmFsICQoY2FsbCBwYXRjaCxsaWJjYXJlcywkKExJQkNBUkVTX1BBVENIRElSKSwk
KExJQkNBUkVTX0RJUikpKQ0KPiArDQo+ICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KPiArIyBI
ZWxwZXJzDQo+ICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KPiArTElCQ0FSRVM9JChMSUJDQVJF
U19PUklHSU4pLyQoTElCQ0FSRVNfRElSKQ0KPiArDQo+ICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
Iw0KPiArIyBMaWJyYXJ5IGluY2x1ZGVzDQo+ICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KPiAr
Q0lOQ0xVREVTLSQoQ09ORklHX0xJQkNBUkVTKSArPSAtSSQoTElCQ0FSRVNfQkFTRSkvaW5jbHVk
ZSBcDQo+ICsgIAkJCSAgICAgICAgLUkkKExJQkNBUkVTKQ0KPiArDQo+ICsjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIw0KPiArIyBHbG9iYWwgZmxhZ3MNCj4gKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
DQo+ICtMSUJDQVJFU19DRkxBR1MteSArPSAtREhBVkVfQ09ORklHX0ggLURIQVZFX05FVElORVRf
SU5fSA0KPiArDQo+ICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KPiArIyBTb3VyY2VzDQo+ICsj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KPiArTElCQ0FSRVNfU1JDUy15ICs9ICQoTElCQ0FSRVMp
L2FyZXNfbWtxdWVyeS5jDQo+ICtMSUJDQVJFU19TUkNTLXkgKz0gJChMSUJDQVJFUykvYXJlc19u
b3dhcm4uYw0KPiArTElCQ0FSRVNfU1JDUy15ICs9ICQoTElCQ0FSRVMpL2FyZXNfYW5kcm9pZC5j
DQo+ICtMSUJDQVJFU19TUkNTLXkgKz0gJChMSUJDQVJFUykvYXJlc190aW1lb3V0LmMNCj4gK0xJ
QkNBUkVTX1NSQ1MteSArPSAkKExJQkNBUkVTKS9hcmVzX3BhcnNlX25zX3JlcGx5LmMNCj4gK0xJ
QkNBUkVTX1NSQ1MteSArPSAkKExJQkNBUkVTKS9hcmVzX2dldG5hbWVpbmZvLmMNCj4gK0xJQkNB
UkVTX1NSQ1MteSArPSAkKExJQkNBUkVTKS9hcmVzX2Zkcy5jDQo+ICtMSUJDQVJFU19TUkNTLXkg
Kz0gJChMSUJDQVJFUykvYXJlc19wYXJzZV9teF9yZXBseS5jDQo+ICtMSUJDQVJFU19TUkNTLXkg
Kz0gJChMSUJDQVJFUykvYXJlc19mcmVlX3N0cmluZy5jDQo+ICtMSUJDQVJFU19TUkNTLXkgKz0g
JChMSUJDQVJFUykvYXJlc19wYXJzZV9wdHJfcmVwbHkuYw0KPiArTElCQ0FSRVNfU1JDUy15ICs9
ICQoTElCQ0FSRVMpL2FyZXNfbGxpc3QuYw0KPiArTElCQ0FSRVNfU1JDUy15ICs9ICQoTElCQ0FS
RVMpL2FyZXNfX2Nsb3NlX3NvY2tldHMuYw0KPiArTElCQ0FSRVNfU1JDUy15ICs9ICQoTElCQ0FS
RVMpL2FyZXNfZXhwYW5kX3N0cmluZy5jDQo+ICtMSUJDQVJFU19TUkNTLXkgKz0gJChMSUJDQVJF
UykvYXJlc19zdHJkdXAuYw0KPiArTElCQ0FSRVNfU1JDUy15ICs9ICQoTElCQ0FSRVMpL2FyZXNf
c2VhcmNoLmMNCj4gK0xJQkNBUkVTX1NSQ1MteSArPSAkKExJQkNBUkVTKS9hcmVzX3NlbmQuYw0K
PiArTElCQ0FSRVNfU1JDUy15ICs9ICQoTElCQ0FSRVMpL2FyZXNfX3RpbWV2YWwuYw0KPiArTElC
Q0FSRVNfU1JDUy15ICs9ICQoTElCQ0FSRVMpL2FyZXNfZ2V0ZW52LmMNCj4gK0xJQkNBUkVTX1NS
Q1MteSArPSAkKExJQkNBUkVTKS9hcmVzX3dyaXRldi5jDQo+ICtMSUJDQVJFU19TUkNTLXkgKz0g
JChMSUJDQVJFUykvYXJlc192ZXJzaW9uLmMNCj4gK0xJQkNBUkVTX1NSQ1MteSArPSAkKExJQkNB
UkVTKS9iaXRuY21wLmMNCj4gK0xJQkNBUkVTX1NSQ1MteSArPSAkKExJQkNBUkVTKS9hcmVzX2dl
dG9wdC5jDQo+ICtMSUJDQVJFU19TUkNTLXkgKz0gJChMSUJDQVJFUykvaW5ldF9udG9wLmMNCj4g
K0xJQkNBUkVTX1NSQ1MteSArPSAkKExJQkNBUkVTKS9hcmVzX19yZWFkX2xpbmUuYw0KPiArTElC
Q0FSRVNfU1JDUy15ICs9ICQoTElCQ0FSRVMpL2FyZXNfcGFyc2Vfc3J2X3JlcGx5LmMNCj4gK0xJ
QkNBUkVTX1NSQ1MteSArPSAkKExJQkNBUkVTKS9hcmVzX3N0cmVycm9yLmMNCj4gK0xJQkNBUkVT
X1NSQ1MteSArPSAkKExJQkNBUkVTKS9hcmVzX2RhdGEuYw0KPiArTElCQ0FSRVNfU1JDUy15ICs9
ICQoTElCQ0FSRVMpL2FyZXNfY3JlYXRlX3F1ZXJ5LmMNCj4gK0xJQkNBUkVTX1NSQ1MteSArPSAk
KExJQkNBUkVTKS9hcmVzX2dldHNvY2suYw0KPiArTElCQ0FSRVNfU1JDUy15ICs9ICQoTElCQ0FS
RVMpL2FyZXNfZ2V0aG9zdGJ5YWRkci5jDQo+ICtMSUJDQVJFU19TUkNTLXkgKz0gJChMSUJDQVJF
UykvYXJlc19wYXJzZV9uYXB0cl9yZXBseS5jDQo+ICtMSUJDQVJFU19TUkNTLXkgKz0gJChMSUJD
QVJFUykvYXJlc19wcm9jZXNzLmMNCj4gK0xJQkNBUkVTX1NSQ1MteSArPSAkKExJQkNBUkVTKS9p
bmV0X25ldF9wdG9uLmMNCj4gK0xJQkNBUkVTX1NSQ1MteSArPSAkKExJQkNBUkVTKS9hcmVzX3N0
cmNhc2VjbXAuYw0KPiArTElCQ0FSRVNfU1JDUy15ICs9ICQoTElCQ0FSRVMpL2FyZXNfZnJlZV9o
b3N0ZW50LmMNCj4gK0xJQkNBUkVTX1NSQ1MteSArPSAkKExJQkNBUkVTKS9hcmVzX2NhbmNlbC5j
DQo+ICtMSUJDQVJFU19TUkNTLXkgKz0gJChMSUJDQVJFUykvYXJlc19xdWVyeS5jDQo+ICtMSUJD
QVJFU19TUkNTLXkgKz0gJChMSUJDQVJFUykvYXJlc19fZ2V0X2hvc3RlbnQuYw0KPiArTElCQ0FS
RVNfU1JDUy15ICs9ICQoTElCQ0FSRVMpL2FyZXNfb3B0aW9ucy5jDQo+ICtMSUJDQVJFU19TUkNT
LXkgKz0gJChMSUJDQVJFUykvYXJlc19wYXJzZV9zb2FfcmVwbHkuYw0KPiArTElCQ0FSRVNfU1JD
Uy15ICs9ICQoTElCQ0FSRVMpL2FyZXNfcGFyc2VfYV9yZXBseS5jDQo+ICtMSUJDQVJFU19TUkNT
LXkgKz0gJChMSUJDQVJFUykvYXJlc19kZXN0cm95LmMNCj4gK0xJQkNBUkVTX1NSQ1MteSArPSAk
KExJQkNBUkVTKS9hcmVzX2luaXQuYw0KPiArTElCQ0FSRVNfU1JDUy15ICs9ICQoTElCQ0FSRVMp
L2FyZXNfcGFyc2VfdHh0X3JlcGx5LmMNCj4gK0xJQkNBUkVTX1NSQ1MteSArPSAkKExJQkNBUkVT
KS9hcmVzX2V4cGFuZF9uYW1lLmMNCj4gK0xJQkNBUkVTX1NSQ1MteSArPSAkKExJQkNBUkVTKS9h
cmVzX3BhcnNlX2FhYWFfcmVwbHkuYw0KPiArTElCQ0FSRVNfU1JDUy15ICs9ICQoTElCQ0FSRVMp
L2FyZXNfcGxhdGZvcm0uYw0KPiArTElCQ0FSRVNfU1JDUy15ICs9ICQoTElCQ0FSRVMpL2FyZXNf
Z2V0aG9zdGJ5bmFtZS5jDQo+ICtMSUJDQVJFU19TUkNTLXkgKz0gJChMSUJDQVJFUykvYXJlc19s
aWJyYXJ5X2luaXQuYw0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJv
amVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21p
bmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Tue Dec 10 23:20:39 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 10 Dec 2019 23:20:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ieoo2-0003je-UT; Tue, 10 Dec 2019 23:20:38 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=V2g7=2A=stud.acs.upb.ro=vlad_andrei.badoiu@srs-us1.protection.inumbo.net>)
 id 1ieoo1-0003jW-Sn
 for minios-devel@lists.xenproject.org; Tue, 10 Dec 2019 23:20:37 +0000
X-Inumbo-ID: ab1b69b6-1ba3-11ea-a914-bc764e2007e4
Received: from EUR03-VE1-obe.outbound.protection.outlook.com (unknown
 [40.107.5.73]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id ab1b69b6-1ba3-11ea-a914-bc764e2007e4;
 Tue, 10 Dec 2019 23:20:35 +0000 (UTC)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=H22yYjQ3tQ3nTRzct7n9H7LB469my47DDcfwLp53k35L1C12carJgOITE1w2uwzz4XVq6be9VZmNYBCZbkN/Axz88TDkqafpgw++v7kff2CFIaBiWPbkKLZ29mBJ9QCZhIR+nHsem0GLo6x7uVjpLiVt9PBdObC2R3RdqT7UoFaalrM2iqqO+rNagLQ1l9pu1HtZI3FHYltTuI+3kj+nGFdV89r9cFKdUcmci6d3DL9ra1YEgbk4KAFMNfAASQZGqW7HBrJSQHaf3+AacCn9T/r2e2b7GDPj7dRe8gTI5nqarxzuddpjRvaZKy25/NIz4kaYt0ZzSgcARt7Q6tO5kQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=i4fJ8FLRTaq5HvG5E3BrVP3cocHRvEEr9kqNarSK6A4=;
 b=mqF3Gj741p/ZdpwDATaQE82E0EklL5G6va7pJQfcnpG7juAey5RKOUxJRmdgzWCsIW0Zh8VJzFZRIFdadrL5VlxM2KjoWk+nf3Oe8EXh33TTw3cIvsQcX8dJmn+b2E53e5Vr/6xeeINtg+Rwk6QED1kBO2vicymoF66mQ+SFy0/u6MknQC8pgApESRmJXeVLctLqGumU7zrAyK71w7RL5RKJj4nPya06ZuZ0XLFGlfI5MIQ6iguWWnEMx/tYb+u1d0Ko5W4Ib7EtFyGqk+zCQU9jPH+mGv+1XMQYsDWUmFLU+B0F0BeXIUiKxtaf3zAzMAUjQetDvdozxEMMKGFbkw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=stud.acs.upb.ro; dmarc=pass action=none
 header.from=stud.acs.upb.ro; dkim=pass header.d=stud.acs.upb.ro; arc=none
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com (20.177.55.79) by
 VI1PR01MB4142.eurprd01.prod.exchangelabs.com (20.177.55.142) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.2516.12; Tue, 10 Dec 2019 23:20:34 +0000
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::71a3:74d9:f301:33b6]) by VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::71a3:74d9:f301:33b6%7]) with mapi id 15.20.2516.018; Tue, 10 Dec 2019
 23:20:34 +0000
From: =?utf-8?B?VmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIp?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
To: "minios-devel@lists.xenproject.org" <minios-devel@lists.xenproject.org>
Thread-Topic: [Minios-devel] [UNIKRAFT/LIBCARES PATCH 3/3] Add include
 directory
Thread-Index: AQHVrn6R7MGYgu+Av0qsI2CR1T/zM6e0A9gA
Date: Tue, 10 Dec 2019 23:20:33 +0000
Message-ID: <eadeca36-4add-a374-9940-0d933226405c@stud.acs.upb.ro>
References: <20191209105048.15057-1-felipe.huici@neclab.eu>
 <20191209105048.15057-4-felipe.huici@neclab.eu>
In-Reply-To: <20191209105048.15057-4-felipe.huici@neclab.eu>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-clientproxiedby: VI1PR0601CA0042.eurprd06.prod.outlook.com
 (2603:10a6:800:1e::52) To VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 (2603:10a6:803:6d::15)
authentication-results: spf=none (sender IP is )
 smtp.mailfrom=vlad_andrei.badoiu@stud.acs.upb.ro; 
x-ms-exchange-messagesentrepresentingtype: 1
x-originating-ip: [2a02:2f0b:8303:7b00:84f1:5f33:c782:4452]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: da99e3db-5b2a-43ab-3896-08d77dc78e70
x-ms-traffictypediagnostic: VI1PR01MB4142:
x-microsoft-antispam-prvs: <VI1PR01MB4142A00BAF7585B356FE285BA65B0@VI1PR01MB4142.eurprd01.prod.exchangelabs.com>
x-ms-oob-tlc-oobclassifiers: OLM:6108;
x-forefront-prvs: 02475B2A01
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(366004)(189003)(199004)(6512007)(30864003)(31686004)(85202003)(66556008)(64756008)(66446008)(2616005)(85182001)(71200400001)(66946007)(966005)(66476007)(31696002)(6486002)(5660300002)(498600001)(86362001)(8936002)(6916009)(2906002)(53546011)(52116002)(6506007)(186003)(8676002)(81156014)(81166006);
 DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR01MB4142;
 H:VI1PR01MB4205.eurprd01.prod.exchangelabs.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; MX:1; A:0; 
received-spf: None (protection.outlook.com: stud.acs.upb.ro does not designate
 permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: cMb/xKyI/WrJ4qwOnWJOPRnnNkdETBOVKkR8DeHIMN9BZapW/l0UxEA4NE2QVF2omITebhWEEf4mVYkesz/320fPlu6093UiJA3DrdWcF9jze9y0k4bXqzwnRXy2RdOLYDv5RR8LvTSxjWwJmIyPMVLXebrTeOmR9XtNqpCnoKazGF3SlsFRpU5dbkhTmIlx2Z7Xcd2sCuscXllgoipLo3mpYFVtFpXfhqqmGmAWmB4IxENYseCGoygo53bDjvETl/dxNxdcbT7mWJ50zkSVREPL1H4Z40fP03nyPU700mrQ6HKapxwBRDMQi9x2Wfn4HyhAC5CrLjxOTjYOnN7YQCcan6X0o+Yqj0iUn//JER/ZKal1VaZ5GAwy2ruvibCd70WvgAHAngqa1GafuIaV1l4NIfjGfq6jXMQ08OPmGy/RnSfjLtJJniDI9w7POvDpMCBEfBf3FLtmALFAG2imJNynpMJqXzbMzkMdqPbYFKk=
x-ms-exchange-transport-forked: True
Content-ID: <E612EF91FC7CD140825FE8CB6003B3F9@eurprd01.prod.exchangelabs.com>
MIME-Version: 1.0
X-OriginatorOrg: stud.acs.upb.ro
X-MS-Exchange-CrossTenant-Network-Message-Id: da99e3db-5b2a-43ab-3896-08d77dc78e70
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Dec 2019 23:20:33.9036 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 2d8cc8ba-8dda-4334-9e5c-fac2092e9bac
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: Qxee3LXOc2LWc2ZTkgcTPehLa7JfwLlDqBhgUCj+5cGgHIP2EGmTOazQrgGY1YgVDDsEwKk4xcky3heeTlgPCe04FzkxrFe+56KWuFaySsylO9GnRv06DPDLvZRODi8T
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR01MB4142
Subject: Re: [Minios-devel] [UNIKRAFT/LIBCARES PATCH 3/3] Add include
 directory
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhpcyBsb29rcyBnb29kLg0KDQpWbGFkDQoNClJldmlld2VkLWJ5OiBWbGFkLUFuZHJlaSBCYWRv
aXUgPHZsYWRfYW5kcmVpLmJhZG9pdUBzdHVkLmFjcy51cGIucm8+DQoNCk9uIDA5LjEyLjIwMTkg
MTI6NTAsIEZlbGlwZSBIdWljaSB3cm90ZToNCj4gQWRkIGMtYXJlcyBjb25maWd1cmF0aW9uIGhl
YWRlciBmaWxlLg0KPg0KPiBTaWduZWQtb2ZmLWJ5OiBGZWxpcGUgSHVpY2kgPGZlbGlwZS5odWlj
aUBuZWNsYWIuZXU+DQo+IC0tLQ0KPiAgIGluY2x1ZGUvYXJlc19jb25maWcuaCB8IDUwNSArKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4gICAxIGZpbGUgY2hhbmdl
ZCwgNTA1IGluc2VydGlvbnMoKykNCj4gICBjcmVhdGUgbW9kZSAxMDA2NDQgaW5jbHVkZS9hcmVz
X2NvbmZpZy5oDQo+DQo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2FyZXNfY29uZmlnLmggYi9pbmNs
dWRlL2FyZXNfY29uZmlnLmgNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAw
MC4uNzQ4NWZiZg0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL2luY2x1ZGUvYXJlc19jb25maWcu
aA0KPiBAQCAtMCwwICsxLDUwNSBAQA0KPiArLyogYXJlc19jb25maWcuaC4gIEdlbmVyYXRlZCBm
cm9tIGFyZXNfY29uZmlnLmguaW4gYnkgY29uZmlndXJlLiAgKi8NCj4gKy8qIGFyZXNfY29uZmln
LmguaW4uICBHZW5lcmF0ZWQgZnJvbSBjb25maWd1cmUuYWMgYnkgYXV0b2hlYWRlci4gICovDQo+
ICsNCj4gKy8qIERlZmluZSBpZiBidWlsZGluZyB1bml2ZXJzYWwgKGludGVybmFsIGhlbHBlciBt
YWNybykgKi8NCj4gKy8qICN1bmRlZiBBQ19BUFBMRV9VTklWRVJTQUxfQlVJTEQgKi8NCj4gKw0K
PiArLyogZGVmaW5lIHRoaXMgaWYgYXJlcyBpcyBidWlsdCBmb3IgYSBiaWcgZW5kaWFuIHN5c3Rl
bSAqLw0KPiArLyogI3VuZGVmIEFSRVNfQklHX0VORElBTiAqLw0KPiArDQo+ICsvKiB3aGVuIGJ1
aWxkaW5nIGFzIHN0YXRpYyBwYXJ0IG9mIGxpYmN1cmwgKi8NCj4gKy8qICN1bmRlZiBCVUlMRElO
R19MSUJDVVJMICovDQo+ICsNCj4gKy8qIERlZmluZWQgZm9yIGJ1aWxkIHRoYXQgZXhwb3NlcyBp
bnRlcm5hbCBzdGF0aWMgZnVuY3Rpb25zIGZvciB0ZXN0aW5nLiAqLw0KPiArLyogI3VuZGVmIENB
UkVTX0VYUE9TRV9TVEFUSUNTICovDQo+ICsNCj4gKy8qIERlZmluZWQgZm9yIGJ1aWxkIHdpdGgg
c3ltYm9sIGhpZGluZy4gKi8NCj4gKyNkZWZpbmUgQ0FSRVNfU1lNQk9MX0hJRElORyAxDQo+ICsN
Cj4gKy8qIERlZmluaXRpb24gdG8gbWFrZSBhIGxpYnJhcnkgc3ltYm9sIGV4dGVybmFsbHkgdmlz
aWJsZS4gKi8NCj4gKyNkZWZpbmUgQ0FSRVNfU1lNQk9MX1NDT1BFX0VYVEVSTiBfX2F0dHJpYnV0
ZV9fICgoX192aXNpYmlsaXR5X18gKCJkZWZhdWx0IikpKQ0KPiArDQo+ICsvKiB0aGUgc2lnbmVk
IHZlcnNpb24gb2Ygc2l6ZV90ICovDQo+ICsjZGVmaW5lIENBUkVTX1RZUEVPRl9BUkVTX1NTSVpF
X1Qgc3NpemVfdA0KPiArDQo+ICsvKiBVc2UgcmVzb2x2ZXIgbGlicmFyeSB0byBjb25maWd1cmUg
Y2FyZXMgKi8NCj4gKy8qICN1bmRlZiBDQVJFU19VU0VfTElCUkVTT0xWICovDQo+ICsNCj4gKy8q
IGlmIGEgL2V0Yy9pbmV0IGRpciBpcyBiZWluZyB1c2VkICovDQo+ICsvKiAjdW5kZWYgRVRDX0lO
RVQgKi8NCj4gKw0KPiArLyogRGVmaW5lIHRvIHRoZSB0eXBlIG9mIGFyZyAyIGZvciBnZXRob3N0
bmFtZS4gKi8NCj4gKyNkZWZpbmUgR0VUSE9TVE5BTUVfVFlQRV9BUkcyIHNpemVfdA0KPiArDQo+
ICsvKiBEZWZpbmUgdG8gdGhlIHR5cGUgcXVhbGlmaWVyIG9mIGFyZyAxIGZvciBnZXRuYW1laW5m
by4gKi8NCj4gKyNkZWZpbmUgR0VUTkFNRUlORk9fUVVBTF9BUkcxIGNvbnN0DQo+ICsNCj4gKy8q
IERlZmluZSB0byB0aGUgdHlwZSBvZiBhcmcgMSBmb3IgZ2V0bmFtZWluZm8uICovDQo+ICsjZGVm
aW5lIEdFVE5BTUVJTkZPX1RZUEVfQVJHMSBzdHJ1Y3Qgc29ja2FkZHIgKg0KPiArDQo+ICsvKiBE
ZWZpbmUgdG8gdGhlIHR5cGUgb2YgYXJnIDIgZm9yIGdldG5hbWVpbmZvLiAqLw0KPiArI2RlZmlu
ZSBHRVROQU1FSU5GT19UWVBFX0FSRzIgc29ja2xlbl90DQo+ICsNCj4gKy8qIERlZmluZSB0byB0
aGUgdHlwZSBvZiBhcmdzIDQgYW5kIDYgZm9yIGdldG5hbWVpbmZvLiAqLw0KPiArI2RlZmluZSBH
RVROQU1FSU5GT19UWVBFX0FSRzQ2IHNvY2tsZW5fdA0KPiArDQo+ICsvKiBEZWZpbmUgdG8gdGhl
IHR5cGUgb2YgYXJnIDcgZm9yIGdldG5hbWVpbmZvLiAqLw0KPiArI2RlZmluZSBHRVROQU1FSU5G
T19UWVBFX0FSRzcgaW50DQo+ICsNCj4gKy8qIFNwZWNpZmllcyB0aGUgbnVtYmVyIG9mIGFyZ3Vt
ZW50cyB0byBnZXRzZXJ2Ynlwb3J0X3IgKi8NCj4gKyNkZWZpbmUgR0VUU0VSVkJZUE9SVF9SX0FS
R1MgNg0KPiArDQo+ICsvKiBTcGVjaWZpZXMgdGhlIHNpemUgb2YgdGhlIGJ1ZmZlciB0byBwYXNz
IHRvIGdldHNlcnZieXBvcnRfciAqLw0KPiArI2RlZmluZSBHRVRTRVJWQllQT1JUX1JfQlVGU0la
RSA0MDk2DQo+ICsNCj4gKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIEFGX0lORVQ2LiAqLw0K
PiArI2RlZmluZSBIQVZFX0FGX0lORVQ2IDENCj4gKw0KPiArLyogRGVmaW5lIHRvIDEgaWYgeW91
IGhhdmUgdGhlIDxhcnBhL2luZXQuaD4gaGVhZGVyIGZpbGUuICovDQo+ICsjZGVmaW5lIEhBVkVf
QVJQQV9JTkVUX0ggMQ0KPiArDQo+ICsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGFy
cGEvbmFtZXNlcl9jb21wYXQuaD4gaGVhZGVyIGZpbGUuICovDQo+ICsjZGVmaW5lIEhBVkVfQVJQ
QV9OQU1FU0VSX0NPTVBBVF9IIDENCj4gKw0KPiArLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUg
dGhlIDxhcnBhL25hbWVzZXIuaD4gaGVhZGVyIGZpbGUuICovDQo+ICsjZGVmaW5lIEhBVkVfQVJQ
QV9OQU1FU0VSX0ggMQ0KPiArDQo+ICsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGFz
c2VydC5oPiBoZWFkZXIgZmlsZS4gKi8NCj4gKyNkZWZpbmUgSEFWRV9BU1NFUlRfSCAxDQo+ICsN
Cj4gKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgYml0bmNtcCcgZnVuY3Rpb24uICov
DQo+ICsvKiAjdW5kZWYgSEFWRV9CSVROQ01QICovDQo+ICsNCj4gKy8qIERlZmluZSB0byAxIGlm
IGJvb2wgaXMgYW4gYXZhaWxhYmxlIHR5cGUuICovDQo+ICsjZGVmaW5lIEhBVkVfQk9PTF9UIDEN
Cj4gKw0KPiArLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGNsb2NrX2dldHRpbWUgZnVu
Y3Rpb24gYW5kIG1vbm90b25pYyB0aW1lci4gKi8NCj4gKy8qICMjZGVmaW5lIEhBVkVfQ0xPQ0tf
R0VUVElNRV9NT05PVE9OSUMgMSAqLw0KPiArDQo+ICsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2
ZSB0aGUgY2xvc2Vzb2NrZXQgZnVuY3Rpb24uICovDQo+ICsvKiAjdW5kZWYgSEFWRV9DTE9TRVNP
Q0tFVCAqLw0KPiArDQo+ICsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgQ2xvc2VTb2Nr
ZXQgY2FtZWwgY2FzZSBmdW5jdGlvbi4gKi8NCj4gKy8qICN1bmRlZiBIQVZFX0NMT1NFU09DS0VU
X0NBTUVMICovDQo+ICsNCj4gKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBjb25uZWN0
IGZ1bmN0aW9uLiAqLw0KPiArI2RlZmluZSBIQVZFX0NPTk5FQ1QgMQ0KPiArDQo+ICsvKiBkZWZp
bmUgaWYgdGhlIGNvbXBpbGVyIHN1cHBvcnRzIGJhc2ljIEMrKzExIHN5bnRheCAqLw0KPiArI2Rl
ZmluZSBIQVZFX0NYWDExIDENCj4gKw0KPiArLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhl
IDxkbGZjbi5oPiBoZWFkZXIgZmlsZS4gKi8NCj4gKyNkZWZpbmUgSEFWRV9ETEZDTl9IIDENCj4g
Kw0KPiArLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxlcnJuby5oPiBoZWFkZXIgZmls
ZS4gKi8NCj4gKyNkZWZpbmUgSEFWRV9FUlJOT19IIDENCj4gKw0KPiArLyogRGVmaW5lIHRvIDEg
aWYgeW91IGhhdmUgdGhlIGZjbnRsIGZ1bmN0aW9uLiAqLw0KPiArI2RlZmluZSBIQVZFX0ZDTlRM
IDENCj4gKw0KPiArLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxmY250bC5oPiBoZWFk
ZXIgZmlsZS4gKi8NCj4gKyNkZWZpbmUgSEFWRV9GQ05UTF9IIDENCj4gKw0KPiArLyogRGVmaW5l
IHRvIDEgaWYgeW91IGhhdmUgYSB3b3JraW5nIGZjbnRsIE9fTk9OQkxPQ0sgZnVuY3Rpb24uICov
DQo+ICsjZGVmaW5lIEhBVkVfRkNOVExfT19OT05CTE9DSyAxDQo+ICsNCj4gKy8qIERlZmluZSB0
byAxIGlmIHlvdSBoYXZlIHRoZSBmcmVlYWRkcmluZm8gZnVuY3Rpb24uICovDQo+ICsjZGVmaW5l
IEhBVkVfRlJFRUFERFJJTkZPIDENCj4gKw0KPiArLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUg
YSB3b3JraW5nIGdldGFkZHJpbmZvIGZ1bmN0aW9uLiAqLw0KPiArI2RlZmluZSBIQVZFX0dFVEFE
RFJJTkZPIDENCj4gKw0KPiArLyogRGVmaW5lIHRvIDEgaWYgdGhlIGdldGFkZHJpbmZvIGZ1bmN0
aW9uIGlzIHRocmVhZHNhZmUuICovDQo+ICsjZGVmaW5lIEhBVkVfR0VUQUREUklORk9fVEhSRUFE
U0FGRSAxDQo+ICsNCj4gKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBnZXRlbnYgZnVu
Y3Rpb24uICovDQo+ICsjZGVmaW5lIEhBVkVfR0VURU5WIDENCj4gKw0KPiArLyogRGVmaW5lIHRv
IDEgaWYgeW91IGhhdmUgdGhlIGdldGhvc3RieWFkZHIgZnVuY3Rpb24uICovDQo+ICsjZGVmaW5l
IEhBVkVfR0VUSE9TVEJZQUREUiAxDQo+ICsNCj4gKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZl
IHRoZSBnZXRob3N0YnluYW1lIGZ1bmN0aW9uLiAqLw0KPiArI2RlZmluZSBIQVZFX0dFVEhPU1RC
WU5BTUUgMQ0KPiArDQo+ICsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgZ2V0aG9zdG5h
bWUgZnVuY3Rpb24uICovDQo+ICsjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQ0KPiArDQo+ICsv
KiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgZ2V0bmFtZWluZm8gZnVuY3Rpb24uICovDQo+
ICsjZGVmaW5lIEhBVkVfR0VUTkFNRUlORk8gMQ0KPiArDQo+ICsvKiBEZWZpbmUgdG8gMSBpZiB5
b3UgaGF2ZSB0aGUgZ2V0c2VydmJ5cG9ydF9yIGZ1bmN0aW9uLiAqLw0KPiArI2RlZmluZSBIQVZF
X0dFVFNFUlZCWVBPUlRfUiAxDQo+ICsNCj4gKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRo
ZSBgZ2V0dGltZW9mZGF5JyBmdW5jdGlvbi4gKi8NCj4gKyNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZE
QVkgMQ0KPiArDQo+ICsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGlmX2luZGV4dG9u
YW1lJyBmdW5jdGlvbi4gKi8NCj4gKyNkZWZpbmUgSEFWRV9JRl9JTkRFWFRPTkFNRSAxDQo+ICsN
Cj4gKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIGEgSVB2NiBjYXBhYmxlIHdvcmtpbmcgaW5l
dF9uZXRfcHRvbiBmdW5jdGlvbi4gKi8NCj4gKy8qICN1bmRlZiBIQVZFX0lORVRfTkVUX1BUT04g
Ki8NCj4gKw0KPiArLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgYSBJUHY2IGNhcGFibGUgd29y
a2luZyBpbmV0X250b3AgZnVuY3Rpb24uICovDQo+ICsjZGVmaW5lIEhBVkVfSU5FVF9OVE9QIDEN
Cj4gKw0KPiArLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgYSBJUHY2IGNhcGFibGUgd29ya2lu
ZyBpbmV0X3B0b24gZnVuY3Rpb24uICovDQo+ICsjZGVmaW5lIEhBVkVfSU5FVF9QVE9OIDENCj4g
Kw0KPiArLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxpbnR0eXBlcy5oPiBoZWFkZXIg
ZmlsZS4gKi8NCj4gKyNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDENCj4gKw0KPiArLyogRGVmaW5l
IHRvIDEgaWYgeW91IGhhdmUgdGhlIGlvY3RsIGZ1bmN0aW9uLiAqLw0KPiArI2RlZmluZSBIQVZF
X0lPQ1RMIDENCj4gKw0KPiArLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGlvY3Rsc29j
a2V0IGZ1bmN0aW9uLiAqLw0KPiArLyogI3VuZGVmIEhBVkVfSU9DVExTT0NLRVQgKi8NCj4gKw0K
PiArLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIElvY3RsU29ja2V0IGNhbWVsIGNhc2Ug
ZnVuY3Rpb24uICovDQo+ICsvKiAjdW5kZWYgSEFWRV9JT0NUTFNPQ0tFVF9DQU1FTCAqLw0KPiAr
DQo+ICsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSBhIHdvcmtpbmcgSW9jdGxTb2NrZXQgY2Ft
ZWwgY2FzZSBGSU9OQklPIGZ1bmN0aW9uLg0KPiArICAgKi8NCj4gKy8qICN1bmRlZiBIQVZFX0lP
Q1RMU09DS0VUX0NBTUVMX0ZJT05CSU8gKi8NCj4gKw0KPiArLyogRGVmaW5lIHRvIDEgaWYgeW91
IGhhdmUgYSB3b3JraW5nIGlvY3Rsc29ja2V0IEZJT05CSU8gZnVuY3Rpb24uICovDQo+ICsvKiAj
dW5kZWYgSEFWRV9JT0NUTFNPQ0tFVF9GSU9OQklPICovDQo+ICsNCj4gKy8qIERlZmluZSB0byAx
IGlmIHlvdSBoYXZlIGEgd29ya2luZyBpb2N0bCBGSU9OQklPIGZ1bmN0aW9uLiAqLw0KPiArI2Rl
ZmluZSBIQVZFX0lPQ1RMX0ZJT05CSU8gMQ0KPiArDQo+ICsvKiBEZWZpbmUgdG8gMSBpZiB5b3Ug
aGF2ZSBhIHdvcmtpbmcgaW9jdGwgU0lPQ0dJRkFERFIgZnVuY3Rpb24uICovDQo+ICsjZGVmaW5l
IEhBVkVfSU9DVExfU0lPQ0dJRkFERFIgMQ0KPiArDQo+ICsvKiBEZWZpbmUgdG8gMSBpZiB5b3Ug
aGF2ZSB0aGUgYHJlc29sdmUnIGxpYnJhcnkgKC1scmVzb2x2ZSkuICovDQo+ICsvKiAjdW5kZWYg
SEFWRV9MSUJSRVNPTFZFICovDQo+ICsNCj4gKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRo
ZSA8bGltaXRzLmg+IGhlYWRlciBmaWxlLiAqLw0KPiArI2RlZmluZSBIQVZFX0xJTUlUU19IIDEN
Cj4gKw0KPiArLyogaWYgeW91ciBjb21waWxlciBzdXBwb3J0cyBMTCAqLw0KPiArI2RlZmluZSBI
QVZFX0xMIDENCj4gKw0KPiArLyogRGVmaW5lIHRvIDEgaWYgdGhlIGNvbXBpbGVyIHN1cHBvcnRz
IHRoZSAnbG9uZyBsb25nJyBkYXRhIHR5cGUuICovDQo+ICsjZGVmaW5lIEhBVkVfTE9OR0xPTkcg
MQ0KPiArDQo+ICsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgbWFsbG9jLmggaGVhZGVy
IGZpbGUuICovDQo+ICsjZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQ0KPiArDQo+ICsvKiBEZWZpbmUg
dG8gMSBpZiB5b3UgaGF2ZSB0aGUgbWVtb3J5LmggaGVhZGVyIGZpbGUuICovDQo+ICsjZGVmaW5l
IEhBVkVfTUVNT1JZX0ggMQ0KPiArDQo+ICsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUg
TVNHX05PU0lHTkFMIGZsYWcuICovDQo+ICsjZGVmaW5lIEhBVkVfTVNHX05PU0lHTkFMIDENCj4g
Kw0KPiArLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxuZXRkYi5oPiBoZWFkZXIgZmls
ZS4gKi8NCj4gKyNkZWZpbmUgSEFWRV9ORVREQl9IIDENCj4gKw0KPiArLyogRGVmaW5lIHRvIDEg
aWYgeW91IGhhdmUgdGhlIDxuZXRpbmV0L2luLmg+IGhlYWRlciBmaWxlLiAqLw0KPiArI2RlZmlu
ZSBIQVZFX05FVElORVRfSU5fSCAxDQo+ICsNCj4gKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZl
IHRoZSA8bmV0aW5ldC90Y3AuaD4gaGVhZGVyIGZpbGUuICovDQo+ICsjZGVmaW5lIEhBVkVfTkVU
SU5FVF9UQ1BfSCAxDQo+ICsNCj4gKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8bmV0
L2lmLmg+IGhlYWRlciBmaWxlLiAqLw0KPiArI2RlZmluZSBIQVZFX05FVF9JRl9IIDENCj4gKw0K
PiArLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgUEZfSU5FVDYuICovDQo+ICsjZGVmaW5lIEhB
VkVfUEZfSU5FVDYgMQ0KPiArDQo+ICsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgcmVj
diBmdW5jdGlvbi4gKi8NCj4gKyNkZWZpbmUgSEFWRV9SRUNWIDENCj4gKw0KPiArLyogRGVmaW5l
IHRvIDEgaWYgeW91IGhhdmUgdGhlIHJlY3Zmcm9tIGZ1bmN0aW9uLiAqLw0KPiArI2RlZmluZSBI
QVZFX1JFQ1ZGUk9NIDENCj4gKw0KPiArLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIHNl
bmQgZnVuY3Rpb24uICovDQo+ICsjZGVmaW5lIEhBVkVfU0VORCAxDQo+ICsNCj4gKy8qIERlZmlu
ZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBzZXRzb2Nrb3B0IGZ1bmN0aW9uLiAqLw0KPiArI2RlZmlu
ZSBIQVZFX1NFVFNPQ0tPUFQgMQ0KPiArDQo+ICsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSBh
IHdvcmtpbmcgc2V0c29ja29wdCBTT19OT05CTE9DSyBmdW5jdGlvbi4gKi8NCj4gKy8qICN1bmRl
ZiBIQVZFX1NFVFNPQ0tPUFRfU09fTk9OQkxPQ0sgKi8NCj4gKw0KPiArLyogRGVmaW5lIHRvIDEg
aWYgeW91IGhhdmUgdGhlIDxzaWduYWwuaD4gaGVhZGVyIGZpbGUuICovDQo+ICsjZGVmaW5lIEhB
VkVfU0lHTkFMX0ggMQ0KPiArDQo+ICsvKiBEZWZpbmUgdG8gMSBpZiBzaWdfYXRvbWljX3QgaXMg
YW4gYXZhaWxhYmxlIHR5cGVkZWYuICovDQo+ICsjZGVmaW5lIEhBVkVfU0lHX0FUT01JQ19UIDEN
Cj4gKw0KPiArLyogRGVmaW5lIHRvIDEgaWYgc2lnX2F0b21pY190IGlzIGFscmVhZHkgZGVmaW5l
ZCBhcyB2b2xhdGlsZS4gKi8NCj4gKy8qICN1bmRlZiBIQVZFX1NJR19BVE9NSUNfVF9WT0xBVElM
RSAqLw0KPiArDQo+ICsvKiBEZWZpbmUgdG8gMSBpZiB5b3VyIHN0cnVjdCBzb2NrYWRkcl9pbjYg
aGFzIHNpbjZfc2NvcGVfaWQuICovDQo+ICsjZGVmaW5lIEhBVkVfU09DS0FERFJfSU42X1NJTjZf
U0NPUEVfSUQgMQ0KPiArDQo+ICsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgc29ja2V0
IGZ1bmN0aW9uLiAqLw0KPiArI2RlZmluZSBIQVZFX1NPQ0tFVCAxDQo+ICsNCj4gKy8qIERlZmlu
ZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c29ja2V0Lmg+IGhlYWRlciBmaWxlLiAqLw0KPiArLyog
I3VuZGVmIEhBVkVfU09DS0VUX0ggKi8NCj4gKw0KPiArLyogRGVmaW5lIHRvIDEgaWYgeW91IGhh
dmUgdGhlIDxzdGRib29sLmg+IGhlYWRlciBmaWxlLiAqLw0KPiArI2RlZmluZSBIQVZFX1NUREJP
T0xfSCAxDQo+ICsNCj4gKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3RkaW50Lmg+
IGhlYWRlciBmaWxlLiAqLw0KPiArI2RlZmluZSBIQVZFX1NURElOVF9IIDENCj4gKw0KPiArLyog
RGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzdGRsaWIuaD4gaGVhZGVyIGZpbGUuICovDQo+
ICsjZGVmaW5lIEhBVkVfU1RETElCX0ggMQ0KPiArDQo+ICsvKiBEZWZpbmUgdG8gMSBpZiB5b3Ug
aGF2ZSB0aGUgc3RyY2FzZWNtcCBmdW5jdGlvbi4gKi8NCj4gKyNkZWZpbmUgSEFWRV9TVFJDQVNF
Q01QIDENCj4gKw0KPiArLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIHN0cmNtcGkgZnVu
Y3Rpb24uICovDQo+ICsvKiAjdW5kZWYgSEFWRV9TVFJDTVBJICovDQo+ICsNCj4gKy8qIERlZmlu
ZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBzdHJkdXAgZnVuY3Rpb24uICovDQo+ICsjZGVmaW5lIEhB
VkVfU1RSRFVQIDENCj4gKw0KPiArLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIHN0cmlj
bXAgZnVuY3Rpb24uICovDQo+ICsvKiAjdW5kZWYgSEFWRV9TVFJJQ01QICovDQo+ICsNCj4gKy8q
IERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3RyaW5ncy5oPiBoZWFkZXIgZmlsZS4gKi8N
Cj4gKyNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQ0KPiArDQo+ICsvKiBEZWZpbmUgdG8gMSBpZiB5
b3UgaGF2ZSB0aGUgPHN0cmluZy5oPiBoZWFkZXIgZmlsZS4gKi8NCj4gKyNkZWZpbmUgSEFWRV9T
VFJJTkdfSCAxDQo+ICsNCj4gKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBzdHJuY2Fz
ZWNtcCBmdW5jdGlvbi4gKi8NCj4gKyNkZWZpbmUgSEFWRV9TVFJOQ0FTRUNNUCAxDQo+ICsNCj4g
Ky8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBzdHJuY21waSBmdW5jdGlvbi4gKi8NCj4g
Ky8qICN1bmRlZiBIQVZFX1NUUk5DTVBJICovDQo+ICsNCj4gKy8qIERlZmluZSB0byAxIGlmIHlv
dSBoYXZlIHRoZSBzdHJuaWNtcCBmdW5jdGlvbi4gKi8NCj4gKy8qICN1bmRlZiBIQVZFX1NUUk5J
Q01QICovDQo+ICsNCj4gKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3Ryb3B0cy5o
PiBoZWFkZXIgZmlsZS4gKi8NCj4gKyNkZWZpbmUgSEFWRV9TVFJPUFRTX0ggMQ0KPiArDQo+ICsv
KiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSBzdHJ1Y3QgYWRkcmluZm8uICovDQo+ICsjZGVmaW5l
IEhBVkVfU1RSVUNUX0FERFJJTkZPIDENCj4gKw0KPiArLyogRGVmaW5lIHRvIDEgaWYgeW91IGhh
dmUgc3RydWN0IGluNl9hZGRyLiAqLw0KPiArI2RlZmluZSBIQVZFX1NUUlVDVF9JTjZfQUREUiAx
DQo+ICsNCj4gKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHN0cnVjdCBzb2NrYWRkcl9pbjYu
ICovDQo+ICsjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX0lONiAxDQo+ICsNCj4gKy8qIGlm
IHN0cnVjdCBzb2NrYWRkcl9zdG9yYWdlIGlzIGRlZmluZWQgKi8NCj4gKyNkZWZpbmUgSEFWRV9T
VFJVQ1RfU09DS0FERFJfU1RPUkFHRSAxDQo+ICsNCj4gKy8qIERlZmluZSB0byAxIGlmIHlvdSBo
YXZlIHRoZSB0aW1ldmFsIHN0cnVjdC4gKi8NCj4gKyNkZWZpbmUgSEFWRV9TVFJVQ1RfVElNRVZB
TCAxDQo+ICsNCj4gKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL2lvY3RsLmg+
IGhlYWRlciBmaWxlLiAqLw0KPiArI2RlZmluZSBIQVZFX1NZU19JT0NUTF9IIDENCj4gKw0KPiAr
LyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzeXMvcGFyYW0uaD4gaGVhZGVyIGZpbGUu
ICovDQo+ICsjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQ0KPiArDQo+ICsvKiBEZWZpbmUgdG8g
MSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy9zZWxlY3QuaD4gaGVhZGVyIGZpbGUuICovDQo+ICsjZGVm
aW5lIEhBVkVfU1lTX1NFTEVDVF9IIDENCj4gKw0KPiArLyogRGVmaW5lIHRvIDEgaWYgeW91IGhh
dmUgdGhlIDxzeXMvc29ja2V0Lmg+IGhlYWRlciBmaWxlLiAqLw0KPiArI2RlZmluZSBIQVZFX1NZ
U19TT0NLRVRfSCAxDQo+ICsNCj4gKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lz
L3N0YXQuaD4gaGVhZGVyIGZpbGUuICovDQo+ICsjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxDQo+
ICsNCj4gKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL3RpbWUuaD4gaGVhZGVy
IGZpbGUuICovDQo+ICsjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxDQo+ICsNCj4gKy8qIERlZmlu
ZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL3R5cGVzLmg+IGhlYWRlciBmaWxlLiAqLw0KPiAr
I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDENCj4gKw0KPiArLyogRGVmaW5lIHRvIDEgaWYgeW91
IGhhdmUgdGhlIDxzeXMvdWlvLmg+IGhlYWRlciBmaWxlLiAqLw0KPiArI2RlZmluZSBIQVZFX1NZ
U19VSU9fSCAxDQo+ICsNCj4gKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8dGltZS5o
PiBoZWFkZXIgZmlsZS4gKi8NCj4gKyNkZWZpbmUgSEFWRV9USU1FX0ggMQ0KPiArDQo+ICsvKiBE
ZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHVuaXN0ZC5oPiBoZWFkZXIgZmlsZS4gKi8NCj4g
KyNkZWZpbmUgSEFWRV9VTklTVERfSCAxDQo+ICsNCj4gKy8qIERlZmluZSB0byAxIGlmIHlvdSBo
YXZlIHRoZSB3aW5kb3dzLmggaGVhZGVyIGZpbGUuICovDQo+ICsvKiAjdW5kZWYgSEFWRV9XSU5E
T1dTX0ggKi8NCj4gKw0KPiArLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIHdpbnNvY2sy
LmggaGVhZGVyIGZpbGUuICovDQo+ICsvKiAjdW5kZWYgSEFWRV9XSU5TT0NLMl9IICovDQo+ICsN
Cj4gKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSB3aW5zb2NrLmggaGVhZGVyIGZpbGUu
ICovDQo+ICsvKiAjdW5kZWYgSEFWRV9XSU5TT0NLX0ggKi8NCj4gKw0KPiArLyogRGVmaW5lIHRv
IDEgaWYgeW91IGhhdmUgdGhlIHdyaXRldiBmdW5jdGlvbi4gKi8NCj4gKyNkZWZpbmUgSEFWRV9X
UklURVYgMQ0KPiArDQo+ICsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgd3MydGNwaXAu
aCBoZWFkZXIgZmlsZS4gKi8NCj4gKy8qICN1bmRlZiBIQVZFX1dTMlRDUElQX0ggKi8NCj4gKw0K
PiArLyogRGVmaW5lIGlmIF9fc3lzdGVtX3Byb3BlcnR5X2dldCBleGlzdHMuICovDQo+ICsvKiAj
dW5kZWYgSEFWRV9fX1NZU1RFTV9QUk9QRVJUWV9HRVQgKi8NCj4gKw0KPiArLyogRGVmaW5lIHRv
IHRoZSBzdWItZGlyZWN0b3J5IHdoZXJlIGxpYnRvb2wgc3RvcmVzIHVuaW5zdGFsbGVkIGxpYnJh
cmllcy4gKi8NCj4gKyNkZWZpbmUgTFRfT0JKRElSICIubGlicy8iDQo+ICsNCj4gKy8qIERlZmlu
ZSB0byAxIGlmIHlvdSBuZWVkIHRoZSBtYWxsb2MuaCBoZWFkZXIgZmlsZSBldmVuIHdpdGggc3Rk
bGliLmggKi8NCj4gKy8qICN1bmRlZiBORUVEX01BTExPQ19IICovDQo+ICsNCj4gKy8qIERlZmlu
ZSB0byAxIGlmIHlvdSBuZWVkIHRoZSBtZW1vcnkuaCBoZWFkZXIgZmlsZSBldmVuIHdpdGggc3Rk
bGliLmggKi8NCj4gKy8qICN1bmRlZiBORUVEX01FTU9SWV9IICovDQo+ICsNCj4gKy8qIERlZmlu
ZSB0byAxIGlmIF9SRUVOVFJBTlQgcHJlcHJvY2Vzc29yIHN5bWJvbCBtdXN0IGJlIGRlZmluZWQu
ICovDQo+ICsvKiAjdW5kZWYgTkVFRF9SRUVOVFJBTlQgKi8NCj4gKw0KPiArLyogRGVmaW5lIHRv
IDEgaWYgX1RIUkVBRF9TQUZFIHByZXByb2Nlc3NvciBzeW1ib2wgbXVzdCBiZSBkZWZpbmVkLiAq
Lw0KPiArLyogI3VuZGVmIE5FRURfVEhSRUFEX1NBRkUgKi8NCj4gKw0KPiArLyogY3B1LW1hY2hp
bmUtT1MgKi8NCj4gKyNkZWZpbmUgT1MgIng4Nl82NC1wYy1saW51eC1nbnUiDQo+ICsNCj4gKy8q
IE5hbWUgb2YgcGFja2FnZSAqLw0KPiArI2RlZmluZSBQQUNLQUdFICJjLWFyZXMiDQo+ICsNCj4g
Ky8qIERlZmluZSB0byB0aGUgYWRkcmVzcyB3aGVyZSBidWcgcmVwb3J0cyBmb3IgdGhpcyBwYWNr
YWdlIHNob3VsZCBiZSBzZW50LiAqLw0KPiArI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYy1h
cmVzIG1haWxpbmcgbGlzdDogaHR0cDovL2Nvb2wuaGF4eC5zZS9tYWlsbWFuL2xpc3RpbmZvL2Mt
YXJlcyINCj4gKw0KPiArLyogRGVmaW5lIHRvIHRoZSBmdWxsIG5hbWUgb2YgdGhpcyBwYWNrYWdl
LiAqLw0KPiArI2RlZmluZSBQQUNLQUdFX05BTUUgImMtYXJlcyINCj4gKw0KPiArLyogRGVmaW5l
IHRvIHRoZSBmdWxsIG5hbWUgYW5kIHZlcnNpb24gb2YgdGhpcyBwYWNrYWdlLiAqLw0KPiArI2Rl
ZmluZSBQQUNLQUdFX1NUUklORyAiYy1hcmVzIDEuMTQuMCINCj4gKw0KPiArLyogRGVmaW5lIHRv
IHRoZSBvbmUgc3ltYm9sIHNob3J0IG5hbWUgb2YgdGhpcyBwYWNrYWdlLiAqLw0KPiArI2RlZmlu
ZSBQQUNLQUdFX1RBUk5BTUUgImMtYXJlcyINCj4gKw0KPiArLyogRGVmaW5lIHRvIHRoZSBob21l
IHBhZ2UgZm9yIHRoaXMgcGFja2FnZS4gKi8NCj4gKyNkZWZpbmUgUEFDS0FHRV9VUkwgIiINCj4g
Kw0KPiArLyogRGVmaW5lIHRvIHRoZSB2ZXJzaW9uIG9mIHRoaXMgcGFja2FnZS4gKi8NCj4gKyNk
ZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxLjE0LjAiDQo+ICsNCj4gKy8qIGEgc3VpdGFibGUgZmls
ZS9kZXZpY2UgdG8gcmVhZCByYW5kb20gZGF0YSBmcm9tICovDQo+ICsjZGVmaW5lIFJBTkRPTV9G
SUxFICIvZGV2L3VyYW5kb20iDQo+ICsNCj4gKy8qIERlZmluZSB0byB0aGUgdHlwZSBxdWFsaWZp
ZXIgcG9pbnRlZCBieSBhcmcgNSBmb3IgcmVjdmZyb20uICovDQo+ICsjZGVmaW5lIFJFQ1ZGUk9N
X1FVQUxfQVJHNQ0KPiArDQo+ICsvKiBEZWZpbmUgdG8gdGhlIHR5cGUgb2YgYXJnIDEgZm9yIHJl
Y3Zmcm9tLiAqLw0KPiArI2RlZmluZSBSRUNWRlJPTV9UWVBFX0FSRzEgaW50DQo+ICsNCj4gKy8q
IERlZmluZSB0byB0aGUgdHlwZSBwb2ludGVkIGJ5IGFyZyAyIGZvciByZWN2ZnJvbS4gKi8NCj4g
KyNkZWZpbmUgUkVDVkZST01fVFlQRV9BUkcyIHZvaWQNCj4gKw0KPiArLyogRGVmaW5lIHRvIDEg
aWYgdGhlIHR5cGUgcG9pbnRlZCBieSBhcmcgMiBmb3IgcmVjdmZyb20gaXMgdm9pZC4gKi8NCj4g
KyNkZWZpbmUgUkVDVkZST01fVFlQRV9BUkcyX0lTX1ZPSUQgMQ0KPiArDQo+ICsvKiBEZWZpbmUg
dG8gdGhlIHR5cGUgb2YgYXJnIDMgZm9yIHJlY3Zmcm9tLiAqLw0KPiArI2RlZmluZSBSRUNWRlJP
TV9UWVBFX0FSRzMgc2l6ZV90DQo+ICsNCj4gKy8qIERlZmluZSB0byB0aGUgdHlwZSBvZiBhcmcg
NCBmb3IgcmVjdmZyb20uICovDQo+ICsjZGVmaW5lIFJFQ1ZGUk9NX1RZUEVfQVJHNCBpbnQNCj4g
Kw0KPiArLyogRGVmaW5lIHRvIHRoZSB0eXBlIHBvaW50ZWQgYnkgYXJnIDUgZm9yIHJlY3Zmcm9t
LiAqLw0KPiArI2RlZmluZSBSRUNWRlJPTV9UWVBFX0FSRzUgc3RydWN0IHNvY2thZGRyDQo+ICsN
Cj4gKy8qIERlZmluZSB0byAxIGlmIHRoZSB0eXBlIHBvaW50ZWQgYnkgYXJnIDUgZm9yIHJlY3Zm
cm9tIGlzIHZvaWQuICovDQo+ICsvKiAjdW5kZWYgUkVDVkZST01fVFlQRV9BUkc1X0lTX1ZPSUQg
Ki8NCj4gKw0KPiArLyogRGVmaW5lIHRvIHRoZSB0eXBlIHBvaW50ZWQgYnkgYXJnIDYgZm9yIHJl
Y3Zmcm9tLiAqLw0KPiArI2RlZmluZSBSRUNWRlJPTV9UWVBFX0FSRzYgc29ja2xlbl90DQo+ICsN
Cj4gKy8qIERlZmluZSB0byAxIGlmIHRoZSB0eXBlIHBvaW50ZWQgYnkgYXJnIDYgZm9yIHJlY3Zm
cm9tIGlzIHZvaWQuICovDQo+ICsvKiAjdW5kZWYgUkVDVkZST01fVFlQRV9BUkc2X0lTX1ZPSUQg
Ki8NCj4gKw0KPiArLyogRGVmaW5lIHRvIHRoZSBmdW5jdGlvbiByZXR1cm4gdHlwZSBmb3IgcmVj
dmZyb20uICovDQo+ICsjZGVmaW5lIFJFQ1ZGUk9NX1RZUEVfUkVUViBzc2l6ZV90DQo+ICsNCj4g
Ky8qIERlZmluZSB0byB0aGUgdHlwZSBvZiBhcmcgMSBmb3IgcmVjdi4gKi8NCj4gKyNkZWZpbmUg
UkVDVl9UWVBFX0FSRzEgaW50DQo+ICsNCj4gKy8qIERlZmluZSB0byB0aGUgdHlwZSBvZiBhcmcg
MiBmb3IgcmVjdi4gKi8NCj4gKyNkZWZpbmUgUkVDVl9UWVBFX0FSRzIgdm9pZCAqDQo+ICsNCj4g
Ky8qIERlZmluZSB0byB0aGUgdHlwZSBvZiBhcmcgMyBmb3IgcmVjdi4gKi8NCj4gKyNkZWZpbmUg
UkVDVl9UWVBFX0FSRzMgc2l6ZV90DQo+ICsNCj4gKy8qIERlZmluZSB0byB0aGUgdHlwZSBvZiBh
cmcgNCBmb3IgcmVjdi4gKi8NCj4gKyNkZWZpbmUgUkVDVl9UWVBFX0FSRzQgaW50DQo+ICsNCj4g
Ky8qIERlZmluZSB0byB0aGUgZnVuY3Rpb24gcmV0dXJuIHR5cGUgZm9yIHJlY3YuICovDQo+ICsj
ZGVmaW5lIFJFQ1ZfVFlQRV9SRVRWIHNzaXplX3QNCj4gKw0KPiArLyogRGVmaW5lIGFzIHRoZSBy
ZXR1cm4gdHlwZSBvZiBzaWduYWwgaGFuZGxlcnMgKGBpbnQnIG9yIGB2b2lkJykuICovDQo+ICsj
ZGVmaW5lIFJFVFNJR1RZUEUgdm9pZA0KPiArDQo+ICsvKiBEZWZpbmUgdG8gdGhlIHR5cGUgcXVh
bGlmaWVyIG9mIGFyZyAyIGZvciBzZW5kLiAqLw0KPiArI2RlZmluZSBTRU5EX1FVQUxfQVJHMiBj
b25zdA0KPiArDQo+ICsvKiBEZWZpbmUgdG8gdGhlIHR5cGUgb2YgYXJnIDEgZm9yIHNlbmQuICov
DQo+ICsjZGVmaW5lIFNFTkRfVFlQRV9BUkcxIGludA0KPiArDQo+ICsvKiBEZWZpbmUgdG8gdGhl
IHR5cGUgb2YgYXJnIDIgZm9yIHNlbmQuICovDQo+ICsjZGVmaW5lIFNFTkRfVFlQRV9BUkcyIHZv
aWQgKg0KPiArDQo+ICsvKiBEZWZpbmUgdG8gdGhlIHR5cGUgb2YgYXJnIDMgZm9yIHNlbmQuICov
DQo+ICsjZGVmaW5lIFNFTkRfVFlQRV9BUkczIHNpemVfdA0KPiArDQo+ICsvKiBEZWZpbmUgdG8g
dGhlIHR5cGUgb2YgYXJnIDQgZm9yIHNlbmQuICovDQo+ICsjZGVmaW5lIFNFTkRfVFlQRV9BUkc0
IGludA0KPiArDQo+ICsvKiBEZWZpbmUgdG8gdGhlIGZ1bmN0aW9uIHJldHVybiB0eXBlIGZvciBz
ZW5kLiAqLw0KPiArI2RlZmluZSBTRU5EX1RZUEVfUkVUViBzc2l6ZV90DQo+ICsNCj4gKy8qIERl
ZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBBTlNJIEMgaGVhZGVyIGZpbGVzLiAqLw0KPiArI2Rl
ZmluZSBTVERDX0hFQURFUlMgMQ0KPiArDQo+ICsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgY2FuIHNh
ZmVseSBpbmNsdWRlIGJvdGggPHN5cy90aW1lLmg+IGFuZCA8dGltZS5oPi4gKi8NCj4gKyNkZWZp
bmUgVElNRV9XSVRIX1NZU19USU1FIDENCj4gKw0KPiArLyogRGVmaW5lIHRvIGRpc2FibGUgbm9u
LWJsb2NraW5nIHNvY2tldHMuICovDQo+ICsvKiAjdW5kZWYgVVNFX0JMT0NLSU5HX1NPQ0tFVFMg
Ki8NCj4gKw0KPiArLyogVmVyc2lvbiBudW1iZXIgb2YgcGFja2FnZSAqLw0KPiArI2RlZmluZSBW
RVJTSU9OICIxLjE0LjAiDQo+ICsNCj4gKy8qIERlZmluZSB0byBhdm9pZCBhdXRvbWF0aWMgaW5j
bHVzaW9uIG9mIHdpbnNvY2suaCAqLw0KPiArLyogI3VuZGVmIFdJTjMyX0xFQU5fQU5EX01FQU4g
Ki8NCj4gKw0KPiArLyogRGVmaW5lIFdPUkRTX0JJR0VORElBTiB0byAxIGlmIHlvdXIgcHJvY2Vz
c29yIHN0b3JlcyB3b3JkcyB3aXRoIHRoZSBtb3N0DQo+ICsgICBzaWduaWZpY2FudCBieXRlIGZp
cnN0IChsaWtlIE1vdG9yb2xhIGFuZCBTUEFSQywgdW5saWtlIEludGVsKS4gKi8NCj4gKyNpZiBk
ZWZpbmVkIEFDX0FQUExFX1VOSVZFUlNBTF9CVUlMRA0KPiArIyBpZiBkZWZpbmVkIF9fQklHX0VO
RElBTl9fDQo+ICsjICBkZWZpbmUgV09SRFNfQklHRU5ESUFOIDENCj4gKyMgZW5kaWYNCj4gKyNl
bHNlDQo+ICsjIGlmbmRlZiBXT1JEU19CSUdFTkRJQU4NCj4gKy8qICMgIHVuZGVmIFdPUkRTX0JJ
R0VORElBTiAqLw0KPiArIyBlbmRpZg0KPiArI2VuZGlmDQo+ICsNCj4gKy8qIERlZmluZSB0byAx
IGlmIE9TIGlzIEFJWC4gKi8NCj4gKyNpZm5kZWYgX0FMTF9TT1VSQ0UNCj4gKy8qICMgIHVuZGVm
IF9BTExfU09VUkNFICovDQo+ICsjZW5kaWYNCj4gKw0KPiArLyogRW5hYmxlIGxhcmdlIGlub2Rl
IG51bWJlcnMgb24gTWFjIE9TIFggMTAuNS4gICovDQo+ICsjaWZuZGVmIF9EQVJXSU5fVVNFXzY0
X0JJVF9JTk9ERQ0KPiArIyBkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDENCj4gKyNl
bmRpZg0KPiArDQo+ICsvKiBOdW1iZXIgb2YgYml0cyBpbiBhIGZpbGUgb2Zmc2V0LCBvbiBob3N0
cyB3aGVyZSB0aGlzIGlzIHNldHRhYmxlLiAqLw0KPiArLyogI3VuZGVmIF9GSUxFX09GRlNFVF9C
SVRTICovDQo+ICsNCj4gKy8qIERlZmluZSBmb3IgbGFyZ2UgZmlsZXMsIG9uIEFJWC1zdHlsZSBo
b3N0cy4gKi8NCj4gKy8qICN1bmRlZiBfTEFSR0VfRklMRVMgKi8NCj4gKw0KPiArLyogRGVmaW5l
IHRvIGVtcHR5IGlmIGBjb25zdCcgZG9lcyBub3QgY29uZm9ybSB0byBBTlNJIEMuICovDQo+ICsv
KiAjdW5kZWYgY29uc3QgKi8NCj4gKw0KPiArLyogVHlwZSB0byB1c2UgaW4gcGxhY2Ugb2YgaW5f
YWRkcl90IHdoZW4gc3lzdGVtIGRvZXMgbm90IHByb3ZpZGUgaXQuICovDQo+ICsvKiAjdW5kZWYg
aW5fYWRkcl90ICovDQo+ICsNCj4gKy8qIERlZmluZSB0byBgdW5zaWduZWQgaW50JyBpZiA8c3lz
L3R5cGVzLmg+IGRvZXMgbm90IGRlZmluZS4gKi8NCj4gKy8qICN1bmRlZiBzaXplX3QgKi8NCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZl
bCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8v
bGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Wed Dec 11 00:32:51 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 11 Dec 2019 00:32:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1iepvs-0001uK-DK; Wed, 11 Dec 2019 00:32:48 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=EtI/=2B=stud.acs.upb.ro=vlad_andrei.badoiu@srs-us1.protection.inumbo.net>)
 id 1iepvr-0001uF-62
 for minios-devel@lists.xen.org; Wed, 11 Dec 2019 00:32:47 +0000
X-Inumbo-ID: becc15dc-1bad-11ea-8a7a-12813bfff9fa
Received: from EUR01-HE1-obe.outbound.protection.outlook.com (unknown
 [40.107.13.87]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id becc15dc-1bad-11ea-8a7a-12813bfff9fa;
 Wed, 11 Dec 2019 00:32:44 +0000 (UTC)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CHGx37lw40ixL//AtnHTqnSW1HTkLuduXQ+yZwtGSXtO9c5a44a1n3gaQUyiliM7NN5EdBL8rvIBqH6BjJLk3/8TzIHVYDM57Tp90h7auWSppSW3XOaKdY+FMFY8N3wtEZv/T/GQrDMe74QEaVEi8ZAq0FEXR8/S9/tzOwskLLlPG4wgMYUV2EwZQsn554hRhBbLzudnUI2MYBPaIKv3PSQP5wWNrM1VZHv1xcDw4o2z4DIH23wTaCZlnYutpORgaxuRlZV8Gkm0PPFwUVTiSNEetCTFJZ6ftbhYGee0J0smkjkxBEnELYbzwWea17XTd9ZkwhuiE4FaVzV2+Yat5Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pzugVdNR+Myr49hMrDV/JgWU33R7fM+B+xdxQZjDS0c=;
 b=Lss5An7wFXHseuDInsFEqC594L+vTbyAqN3HBuYyVYwmK7SIXKWOiCwvA8ONV2jch3xHt/VWl9S03aJcBpOQk8jRgMrjImyyuJNrmn/FMronTL5upaEUcLWz0Dnlv90vll7KIkP5QnTVi/Ta+5kYQDxvnllIWs01sS+XJjwf0d0FUsDXjlYhgi3at30veVAlBt8BQKq+olSlXwKdZYXTmHYzCLTDDRVyVpTfJA28Tr3iIWO63Juj2F32BWB4mjgx3UpcqOQ+l8LHwmtlZZTFsjmdyucerF9bY1jErg5vCmmuwSl8RGAj8BqF3ozOmgO88zKfuia/rYEB6SNQQ6/guw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=stud.acs.upb.ro; dmarc=pass action=none
 header.from=stud.acs.upb.ro; dkim=pass header.d=stud.acs.upb.ro; arc=none
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com (20.177.55.79) by
 VI1PR01MB6285.eurprd01.prod.exchangelabs.com (10.186.178.145) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.2516.18; Wed, 11 Dec 2019 00:32:41 +0000
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::71a3:74d9:f301:33b6]) by VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::71a3:74d9:f301:33b6%7]) with mapi id 15.20.2516.018; Wed, 11 Dec 2019
 00:32:41 +0000
From: =?iso-8859-2?Q?Vlad-Andrei_B=C3DOIU_=2878692=29?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
To: "minios-devel@lists.xen.org" <minios-devel@lists.xen.org>
Thread-Topic: [UNIKRAFT/BOOST PATCH 0/6] Introduce boost library port
Thread-Index: AQHVr7p/XmVRij10z0+xmZxYKmIZWg==
Date: Wed, 11 Dec 2019 00:32:41 +0000
Message-ID: <20191211003233.27192-1-vlad_andrei.badoiu@stud.acs.upb.ro>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-clientproxiedby: VI1P194CA0034.EURP194.PROD.OUTLOOK.COM
 (2603:10a6:803:3c::23) To VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 (2603:10a6:803:6d::15)
authentication-results: spf=none (sender IP is )
 smtp.mailfrom=vlad_andrei.badoiu@stud.acs.upb.ro; 
x-ms-exchange-messagesentrepresentingtype: 1
x-mailer: git-send-email 2.20.1
x-originating-ip: [2a02:2f0b:8303:7b00:84f1:5f33:c782:4452]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 99c3e669-c1e0-4f36-832a-08d77dd1a1ab
x-ms-traffictypediagnostic: VI1PR01MB6285:
x-ms-exchange-transport-forked: True
x-microsoft-antispam-prvs: <VI1PR01MB6285EF699945751C18E10029A65A0@VI1PR01MB6285.eurprd01.prod.exchangelabs.com>
x-ms-oob-tlc-oobclassifiers: OLM:4714;
x-forefront-prvs: 024847EE92
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(346002)(376002)(366004)(39850400004)(396003)(136003)(189003)(199004)(186003)(66946007)(8676002)(8936002)(81166006)(81156014)(52116002)(66556008)(2616005)(86362001)(6916009)(6486002)(4744005)(5660300002)(6512007)(64756008)(71200400001)(316002)(66446008)(786003)(6506007)(66476007)(478600001)(2906002)(54906003)(1076003)(4326008);
 DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR01MB6285;
 H:VI1PR01MB4205.eurprd01.prod.exchangelabs.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; MX:1; A:0; 
received-spf: None (protection.outlook.com: stud.acs.upb.ro does not designate
 permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: GXwLtNuigsT2TrGjPbkwDNwhbEjNcBts8Kw9SfZbl6wG4fbrvLA+kl39Uohslj8lQ2xivycJO7I+OofG8+vwjMSXJBsl/8BiaNbHPTBNgAu9Y2cPshsCcI+Wln/vOlP6DvS/f9oET2sQ+SQge6CT0RzATPOni4/X7zzq568FY+xkq0vS4ED0tlt3CR+3ymGpexqhzWLjvdhgnMnvm6QajhGXJkkniiz9s270asRdwq0HSsQZVVLYGQQzoaDMIAGfz6ADWHu4Rp8zbW2bNsXZ96e6XBEMrPL1mXcVK3Mw8PcFqrMDdjDu4QlwQLYggS27uHiO0gDS7doZNeu3kNb8nG65CqtNsEgUP0zWPOezO9T4bYV0Nk8jMC1U5llUw5mADQIX1e7L1cJe9evvWVpgCm5OITHjUQJFQjZtvDQKLmAe4mTY09uWQs4cZUcTv+My
MIME-Version: 1.0
X-OriginatorOrg: stud.acs.upb.ro
X-MS-Exchange-CrossTenant-Network-Message-Id: 99c3e669-c1e0-4f36-832a-08d77dd1a1ab
X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Dec 2019 00:32:41.2652 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 2d8cc8ba-8dda-4334-9e5c-fac2092e9bac
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: GkTqkHdhGHEe2dApSP6hFUkJFgUx00r4wDxQHDjM/I2zaz6gGn7FD8eR+WxhvZ4+M3vhg49jSjyjKJAOz3WTVq0ZyE164RIIQ9m2qe3D+8h2CxJ7Idh/kJp9KXPQiWsZ
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR01MB6285
Subject: [Minios-devel] [UNIKRAFT/BOOST PATCH 0/6] Introduce boost library
 port
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: "felipe.huici@neclab.eu" <felipe.huici@neclab.eu>,
 =?iso-8859-2?Q?Vlad-Andrei_B=C3DOIU_=2878692=29?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhpcyBpcyBvdXIgaW5pdGlhbCBwb3J0IG9mIHRoZSBib29zdCBsaWJyYXJ5IHRvIFVuaWtyYWZ0
LiBPbmx5IGEgc3Vic2V0Cm9mIGJvb3N0IG1vZHVsZXMgYXJlIGF2YWlsYWJsZSBhcyBvZiBub3cu
IFRoZSBmb2xsb3dpbmcgbW9kdWxlcyBhcmUKZGlzYWJsZWQgcmlnaHQgbm93KHNvdXJjZSBmaWxl
cyBub3QgZW5hYmxlZCk6IGNvbnRleHQsIGxvY2FsZSwgbG9nLApweXRob24sIGZpYmVyLCBzdHJh
Y2UsIHByb3RvLCBtcGwsIG1waSwgY29yb3V0aW5lLgoKVmxhZC1BbmRyZWkgQmFkb2l1ICg2KToK
ICBJbnRyb2R1Y2UgbGlicmFyeSBza2VsZXRvbgogIEFkZCBNYWtlZmlsZS51awogIEFkZCBnbHVl
Y29kZQogIEFkZCBmZW52LmggaGVhZGVyCiAgQWRkIHBhdGNoZXMKICBSRUFETUUubWQ6IFVwZGF0
ZSB3aXRoIGluZm8gYWJvdXQgYnVpbGRpbmcKCi0tIAoyLjIwLjEKCgpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0
Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2pl
Y3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Wed Dec 11 00:32:53 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 11 Dec 2019 00:32:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1iepvx-0001vZ-Fr; Wed, 11 Dec 2019 00:32:53 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=EtI/=2B=stud.acs.upb.ro=vlad_andrei.badoiu@srs-us1.protection.inumbo.net>)
 id 1iepvw-0001um-0Y
 for minios-devel@lists.xen.org; Wed, 11 Dec 2019 00:32:52 +0000
X-Inumbo-ID: c10a0944-1bad-11ea-8a7a-12813bfff9fa
Received: from EUR01-HE1-obe.outbound.protection.outlook.com (unknown
 [40.107.13.87]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id c10a0944-1bad-11ea-8a7a-12813bfff9fa;
 Wed, 11 Dec 2019 00:32:47 +0000 (UTC)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=O3zRKRD8+Hiy6Z3iGlqUP8UoddXvCpooPCDJvWkcmJZEmpv8H8WM/URqFQdatSK5HEtAiTOLv+xDLtXL0f6+CRc9E8r7b3mpKw4HlXAkF+IdWFl4myHS7GqEGcoLpqWDWQZTFCSFsynHf9IVmXDTZJ1qy3XHvw1Ms31R+PWzzmXNRdrh+vZfYr2VdGTVm+MQwknVxg26jE6gwiHnPp65F6xWXXOdOok5SjhhC8QQGM+Cf6JzFwLErrMiMBn+Pj1jAkMXI97BFba7X5LmBjO36nJOpbDo7BB66wdoDWI6mCSwe12o68vp3W0g+otwuFOvHKGpG72VS/AQWgtYOjQxEw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=YkTrykExwH3f8xcxkwaQut0NzrpMrYFpf6Kd61B27Is=;
 b=ezrsdfa+or7N1aoHghLklm0yibTw+Ec/j3qr68xOd95IKx81XsJhiggEPgo9x30QkGMGboPUKJ0nXIGtGfBoqZILsQOOVQ31V5/NZXg41uOYdY/YglkKQo6Qkcy6sgKjwleEodPEjzTv0Tp8fm2GdEQd/V5gzsg4g6c+9A9R48Fsm+CWer6gDE4iA/Du/E6UuoOEDwBWH1e+tAA46iX0qdSTxLfqtbywJE1SiGgtRjdDTMhbN0yuEzjB87J52H6A+QsiThW6BhsmM36nlZVs7J+TKe6UUABsw+75ujbJ4F3xCn0FRBqns/m3PB6z0PEQRUU8mMbYlDlT+CQArK5vOw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=stud.acs.upb.ro; dmarc=pass action=none
 header.from=stud.acs.upb.ro; dkim=pass header.d=stud.acs.upb.ro; arc=none
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com (20.177.55.79) by
 VI1PR01MB6285.eurprd01.prod.exchangelabs.com (10.186.178.145) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.2516.18; Wed, 11 Dec 2019 00:32:42 +0000
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::71a3:74d9:f301:33b6]) by VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::71a3:74d9:f301:33b6%7]) with mapi id 15.20.2516.018; Wed, 11 Dec 2019
 00:32:42 +0000
From: =?iso-8859-2?Q?Vlad-Andrei_B=C3DOIU_=2878692=29?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
To: "minios-devel@lists.xen.org" <minios-devel@lists.xen.org>
Thread-Topic: [UNIKRAFT/BOOST PATCH 1/6] Introduce library skeleton
Thread-Index: AQHVr7p/y4QqDgZUFUOql0wTdtG8Ww==
Date: Wed, 11 Dec 2019 00:32:41 +0000
Message-ID: <20191211003233.27192-2-vlad_andrei.badoiu@stud.acs.upb.ro>
References: <20191211003233.27192-1-vlad_andrei.badoiu@stud.acs.upb.ro>
In-Reply-To: <20191211003233.27192-1-vlad_andrei.badoiu@stud.acs.upb.ro>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-clientproxiedby: VI1P194CA0034.EURP194.PROD.OUTLOOK.COM
 (2603:10a6:803:3c::23) To VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 (2603:10a6:803:6d::15)
authentication-results: spf=none (sender IP is )
 smtp.mailfrom=vlad_andrei.badoiu@stud.acs.upb.ro; 
x-ms-exchange-messagesentrepresentingtype: 1
x-mailer: git-send-email 2.20.1
x-originating-ip: [2a02:2f0b:8303:7b00:84f1:5f33:c782:4452]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: abb9db82-36d8-4166-073e-08d77dd1a20e
x-ms-traffictypediagnostic: VI1PR01MB6285:
x-ms-exchange-transport-forked: True
x-microsoft-antispam-prvs: <VI1PR01MB6285C550A2F706ACC3C62697A65A0@VI1PR01MB6285.eurprd01.prod.exchangelabs.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-forefront-prvs: 024847EE92
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(346002)(376002)(366004)(39850400004)(396003)(136003)(189003)(199004)(186003)(66946007)(8676002)(8936002)(81166006)(81156014)(52116002)(66556008)(2616005)(86362001)(6916009)(6486002)(5660300002)(6512007)(64756008)(71200400001)(316002)(66446008)(786003)(6506007)(66476007)(478600001)(2906002)(54906003)(1076003)(4326008)(2004002);
 DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR01MB6285;
 H:VI1PR01MB4205.eurprd01.prod.exchangelabs.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; MX:1; A:0; 
received-spf: None (protection.outlook.com: stud.acs.upb.ro does not designate
 permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: aZ6/MN2EBHtBQx+A7jO8L0s1C/cKHwM6pS8BqaunI+9RjC7LIDLJcHf6/IBRtW9U4JsvVZY+Odh9aL5h+SaUnIrXm+4zkjs1tqly9yEzj7IlevuJMpdHVT8/tLA3/0mZa1rXuh6J41nBKbDCD7wFVJlV4HIMSN2vbamEInAcELhkZckSj8Q6DMve1PQF/11+3ldWN2TRPChOzLxqnsNUG3uw4e2B48YdPrf2zAFCpvGohtXxlX3gcZuOotKtgQkF/ITV3n1YWriaSpmMFLrkadg5QoLsPetvSlX2WbJHXJdFkbaplSQeSq5mE+lgSWNmghN+Vpq6qrBBZkrmg8lFgwI4qjCc45aexHNrHiJFBrZK22FCMH4b5AX4SuuESVZVk0rgaTSEB08APCRQHEBFJcQ3SvIDetxVRFcKeGDlr1R39FYAHEVwuZqZLKmaTWCmS5amhcro2z2ezNVgUmH982KydBq8ylY3PhVcDF8ujH8=
MIME-Version: 1.0
X-OriginatorOrg: stud.acs.upb.ro
X-MS-Exchange-CrossTenant-Network-Message-Id: abb9db82-36d8-4166-073e-08d77dd1a20e
X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Dec 2019 00:32:41.8728 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 2d8cc8ba-8dda-4334-9e5c-fac2092e9bac
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: HCPZKEbJpYnRbTbg6BzS1299B92dwoJVRnt3p3QhVTlO/xx2/TfThmnCK5JEYxlB85XKeAx5x5ecCX7Ete1ABAhMwwZDYxvlFx2lXRnKNGhRVObnNWrmEnn0gXe8nkS8
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR01MB6285
Subject: [Minios-devel] [UNIKRAFT/BOOST PATCH 1/6] Introduce library skeleton
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: "felipe.huici@neclab.eu" <felipe.huici@neclab.eu>,
 =?iso-8859-2?Q?Vlad-Andrei_B=C3DOIU_=2878692=29?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

V2UgdXNlIHRoZSBCU0QtMyBsaWNlbnNlLgoKU2lnbmVkLW9mZi1ieTogVmxhZC1BbmRyZWkgQmFk
b2l1IDx2bGFkX2FuZHJlaS5iYWRvaXVAc3R1ZC5hY3MudXBiLnJvPgotLS0KIC5naXRpZ25vcmUg
ICAgICB8IDI3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKwogQ09ESU5HX1NUWUxFLm1kIHwg
IDQgKysrKwogQ09OVFJJQlVUSU5HLm1kIHwgIDQgKysrKwogQ09QWUlORy5tZCAgICAgIHwgMzAg
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBDb25maWcudWsgICAgICAgfCAxMyArKysr
KysrKysrKysrCiBNQUlOVEFJTkVSUy5tZCAgfCAxMSArKysrKysrKysrKwogUkVBRE1FLm1kICAg
ICAgIHwgIDcgKysrKysrKwogNyBmaWxlcyBjaGFuZ2VkLCA5NiBpbnNlcnRpb25zKCspCiBjcmVh
dGUgbW9kZSAxMDA2NDQgLmdpdGlnbm9yZQogY3JlYXRlIG1vZGUgMTAwNjQ0IENPRElOR19TVFlM
RS5tZAogY3JlYXRlIG1vZGUgMTAwNjQ0IENPTlRSSUJVVElORy5tZAogY3JlYXRlIG1vZGUgMTAw
NjQ0IENPUFlJTkcubWQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBDb25maWcudWsKIGNyZWF0ZSBtb2Rl
IDEwMDY0NCBNQUlOVEFJTkVSUy5tZAogY3JlYXRlIG1vZGUgMTAwNjQ0IFJFQURNRS5tZAoKZGlm
ZiAtLWdpdCBhLy5naXRpZ25vcmUgYi8uZ2l0aWdub3JlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLjc1ZDJmZDMKLS0tIC9kZXYvbnVsbAorKysgYi8uZ2l0aWdub3JlCkBAIC0w
LDAgKzEsMjcgQEAKKyouZGVwZW5kCisqLm8KKyouYQorKi5kCisqLnNvCisqLm9yaWcKKyoucmVq
CisqLmJhaworKi5zd3AKKyp+CissKgorXCMqXCMKKy5cIyoKK1wjXypcIworLlwjXyoKKyEuZ2l0
aWdub3JlCisuKgorCisjIGdudSBnbG9iYWwgZmlsZXMKK0dQQVRICitHUlRBR1MKK0dTWU1TCitH
VEFHUworCisjIGNzY29wZSBmaWxlcworY3Njb3BlLioKK25jc2NvcGUuKgpkaWZmIC0tZ2l0IGEv
Q09ESU5HX1NUWUxFLm1kIGIvQ09ESU5HX1NUWUxFLm1kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLjU3MzAwNDEKLS0tIC9kZXYvbnVsbAorKysgYi9DT0RJTkdfU1RZTEUubWQK
QEAgLTAsMCArMSw0IEBACitDb2RpbmcgU3R5bGUKKz09PT09PT09PT09PQorCitQbGVhc2UgcmVm
ZXIgdG8gdGhlIGBDT0RJTkdfU1RZTEUubWRgIGZpbGUgaW4gdGhlIG1haW4gVW5pa3JhZnQgcmVw
b3NpdG9yeS4KZGlmZiAtLWdpdCBhL0NPTlRSSUJVVElORy5tZCBiL0NPTlRSSUJVVElORy5tZApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZjU1ZWNhCi0tLSAvZGV2L251bGwK
KysrIGIvQ09OVFJJQlVUSU5HLm1kCkBAIC0wLDAgKzEsNCBAQAorQ29udHJpYnV0aW5nIHRvIFVu
aWtyYWZ0Cis9PT09PT09PT09PT09PT09PT09PT09PQorCitQbGVhc2UgcmVmZXIgdG8gdGhlIGBD
T05UUklCVVRJTkcubWRgIGZpbGUgaW4gdGhlIG1haW4gVW5pa3JhZnQgcmVwb3NpdG9yeS4KZGlm
ZiAtLWdpdCBhL0NPUFlJTkcubWQgYi9DT1BZSU5HLm1kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLjYwNmY1MjkKLS0tIC9kZXYvbnVsbAorKysgYi9DT1BZSU5HLm1kCkBAIC0w
LDAgKzEsMzAgQEAKK0xpY2Vuc2UKKz09PT09PT0KKworVW5pa3JhZnQgYm9vc3Qgd3JhcHBlcgor
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworVGhpcyByZXBvc2l0b3J5IGNvbnRhaW5zIHdyYXBw
ZXIgY29kZSB0byBidWlsZCBCb29zdCB3aXRoIFVuaWtyYWZ0LgorRWFjaCBDIGNvZGUgZmlsZSBp
biB0aGlzIHJlcG9zaXRvcnkgc2hvdWxkIGRlY2xhcmUgd2hvIGlzIHRoZQorY29weXJpZ2h0IG93
bmVyIGFuZCB1bmRlciB3aGljaCB0ZXJtcyBhbmQgY29uZGl0aW9ucyB0aGUgY29kZSBpcworbGlj
ZW5zZWQuIElmIHN1Y2ggYSBsaWNlbmNlIG5vdGUgaXMgbWlzc2luZywgdGhlIGZvbGxvd2luZyBj
b3B5cmlnaHQKK25vdGljZSB3aWxsIGFwcGx5OgorCisJQ29weXJpZ2h0IChjKSAyMDE5LCBVbml2
ZXJzaXR5IFBvbGl0ZWhuaWNhIG9mIEJ1Y2hhcmVzdC4gQWxsIHJpZ2h0cyAKKwlyZXNlcnZlZC4K
KworCVRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp
dCBhbmQvb3IKKwltb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdl
bmVyYWwgUHVibGljCisJTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbjsgZWl0aGVyCisJdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91
ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCQorCVRoaXMgbGlicmFyeSBpcyBkaXN0cmli
dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorCWJ1dCBXSVRIT1VUIEFO
WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisJTUVSQ0hB
TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBH
TlUKKwlMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCQor
CVlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJh
bCBQdWJsaWMKKwlMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5IGluIHRoZSBmaWxlIENP
UFlJTkcuTElCOworCWlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
biwgSW5jLiwKKwk1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEt
MTMwNywgVVNBCisKZGlmZiAtLWdpdCBhL0NvbmZpZy51ayBiL0NvbmZpZy51awpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNTFhMmQyCi0tLSAvZGV2L251bGwKKysrIGIvQ29u
ZmlnLnVrCkBAIC0wLDAgKzEsMTMgQEAKK21lbnVjb25maWcgTElCQk9PU1QKKwlib29sICJib29z
dCAtICIKKwlzZWxlY3QgTElCQ1hYCisJc2VsZWN0IFVLVU5JU1RECisJc2VsZWN0IFVLU1lTSU5G
TworCXNlbGVjdCBMSUJVS1RJTUUKKwlzZWxlY3QgTElCTkVXTElCQworCXNlbGVjdCBMSUJVS01N
QVAKKwlzZWxlY3QgTElCSU5URUxfSU5UUklOU0lDUworCXNlbGVjdCBMSUJQVEhSRUFEX0VNQkVE
REVECisJc2VsZWN0IExJQkNPTVBJTEVSX1JUX0FUT01JQworCWRlZmF1bHQgbgorCmRpZmYgLS1n
aXQgYS9NQUlOVEFJTkVSUy5tZCBiL01BSU5UQUlORVJTLm1kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLjlhNDc4ZGMKLS0tIC9kZXYvbnVsbAorKysgYi9NQUlOVEFJTkVSUy5t
ZApAQCAtMCwwICsxLDExIEBACitNYWludGFpbmVycyBMaXN0Cis9PT09PT09PT09PT09PT09CisK
K0ZvciBub3RlcyBvbiBob3cgdG8gcmVhZCB0aGlzIGluZm9ybWF0aW9uLCBwbGVhc2UgcmVmZXIg
dG8gYE1BSU5UQUlORVJTLm1kYCBpbgordGhlIG1haW4gVW5pa3JhZnQgcmVwb3NpdG9yeS4KKwor
CUJPT1NULVVOSUtSQUZUCisJTToJRmVsaXBlIEh1aWNpIDxmZWxpcGUuaHVpY2lAbmVjbGFiLmV1
PgorCU06CVZsYWQtQW5kcmVpIEJhZG9pdSA8dmxhZF9hbmRyZWkuYmFkb2l1QHN0dWQuYWNzLnVw
Yi5ybz4KKwlMOgltaW5pb3MtZGV2ZWxAbGlzdHMueGVuLm9yZworCUY6ICoKZGlmZiAtLWdpdCBh
L1JFQURNRS5tZCBiL1JFQURNRS5tZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li44ZDMwOWU5Ci0tLSAvZGV2L251bGwKKysrIGIvUkVBRE1FLm1kCkBAIC0wLDAgKzEsNyBAQAor
Ym9vc3QgZm9yIFVuaWtyYWZ0Cis9PT09PT09PT09PT09PT09PT09CisKK1RoaXMgaXMgdGhlIHBv
cnQgb2YgYm9vc3QgZm9yIFVuaWtyYWZ0IGFzIGV4dGVybmFsIGxpYnJhcnkuCisKK1BsZWFzZSBy
ZWZlciB0byB0aGUgYFJFQURNRS5tZGAgYXMgd2VsbCBhcyB0aGUgZG9jdW1lbnRhdGlvbiBpbiB0
aGUgYGRvYy9gCitzdWJkaXJlY3Rvcnkgb2YgdGhlIG1haW4gdW5pa3JhZnQgcmVwb3NpdG9yeS4K
LS0gCjIuMjAuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2pl
Y3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5p
b3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Wed Dec 11 00:32:58 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 11 Dec 2019 00:32:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1iepw2-0001wP-Hi; Wed, 11 Dec 2019 00:32:58 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=EtI/=2B=stud.acs.upb.ro=vlad_andrei.badoiu@srs-us1.protection.inumbo.net>)
 id 1iepw1-0001wD-0c
 for minios-devel@lists.xen.org; Wed, 11 Dec 2019 00:32:57 +0000
X-Inumbo-ID: c10a0945-1bad-11ea-8a7a-12813bfff9fa
Received: from EUR01-HE1-obe.outbound.protection.outlook.com (unknown
 [40.107.13.87]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id c10a0945-1bad-11ea-8a7a-12813bfff9fa;
 Wed, 11 Dec 2019 00:32:48 +0000 (UTC)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gOcbLmn7avG0W4QyKrTldOYzbcPN6BphnV1aTKnMFwl5/qnD+ale4eKHfe5Vh1q0CuR/wV4ulnrY4KFEeseRD2JY2ceCPwlI00YCHBpmmBqQPlN/kBIHmUo0Dhen7rELLawg+7YVN8lcPrGYEYzHx25TLFu1fqPjDt/k5VBNiIYjyKJ380YP1sDCf2Khc/pPwp7pyVLw0S3GLWlw7tBHPWT9qgoYBnKFl74E+MU36m/W/PsqzK2h4v3/W+IMvIv5KIn7mE6S9op/NLC3i0GUcM1NEl3oxE25JNhjjXRBBjWTYagnyqNh8Oykk29p8QRvXx0blTeJ+jkU/K43Mm90ig==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ql7s6/M3M69ZymNBoaT3VjEwHE57cupe3lXiEWfJrEQ=;
 b=dM/fjTiKR/cEJlfLnw9pTHBqDRuSxTDabzShvYZMExurfjLp/VeAdXOSD+3og4zkAI6gWwunlXi81k9kpk7wsBYaKBH9GY3PIYwuN4Uf2VhRhThYdHhlRh0FSsobgoJaFmd+CFrIatwxY5aAsJitzNDNdjgEaGI9rG8WMYR+KdRHzpkebCMIiOn5XhRO6DVIeBf24LfdbBSXgGSk3KtAfaGanW4+S5sZ4c8kVVreW4cQs+aM5Zv2DuMMVwtOqhcX//Kn4hmBKtmI7iXmgf7aE+8/PZE/NrkM5+XSR3DF1YZxn64SCXzPrULSJZLZUgpe5nzT+h7ov5Ttaiyq/IbcWw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=stud.acs.upb.ro; dmarc=pass action=none
 header.from=stud.acs.upb.ro; dkim=pass header.d=stud.acs.upb.ro; arc=none
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com (20.177.55.79) by
 VI1PR01MB6285.eurprd01.prod.exchangelabs.com (10.186.178.145) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.2516.18; Wed, 11 Dec 2019 00:32:44 +0000
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::71a3:74d9:f301:33b6]) by VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::71a3:74d9:f301:33b6%7]) with mapi id 15.20.2516.018; Wed, 11 Dec 2019
 00:32:44 +0000
From: =?iso-8859-2?Q?Vlad-Andrei_B=C3DOIU_=2878692=29?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
To: "minios-devel@lists.xen.org" <minios-devel@lists.xen.org>
Thread-Topic: [UNIKRAFT/BOOST PATCH 3/6] Add gluecode
Thread-Index: AQHVr7qA9gUikghca0i796BOy+4ykg==
Date: Wed, 11 Dec 2019 00:32:43 +0000
Message-ID: <20191211003233.27192-4-vlad_andrei.badoiu@stud.acs.upb.ro>
References: <20191211003233.27192-1-vlad_andrei.badoiu@stud.acs.upb.ro>
In-Reply-To: <20191211003233.27192-1-vlad_andrei.badoiu@stud.acs.upb.ro>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-clientproxiedby: VI1P194CA0034.EURP194.PROD.OUTLOOK.COM
 (2603:10a6:803:3c::23) To VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 (2603:10a6:803:6d::15)
authentication-results: spf=none (sender IP is )
 smtp.mailfrom=vlad_andrei.badoiu@stud.acs.upb.ro; 
x-ms-exchange-messagesentrepresentingtype: 1
x-mailer: git-send-email 2.20.1
x-originating-ip: [2a02:2f0b:8303:7b00:84f1:5f33:c782:4452]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 5c4a94e1-a6cb-4719-feb6-08d77dd1a2c8
x-ms-traffictypediagnostic: VI1PR01MB6285:
x-ms-exchange-transport-forked: True
x-microsoft-antispam-prvs: <VI1PR01MB6285A88E917B00B159174830A65A0@VI1PR01MB6285.eurprd01.prod.exchangelabs.com>
x-ms-oob-tlc-oobclassifiers: OLM:296;
x-forefront-prvs: 024847EE92
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(346002)(376002)(366004)(39850400004)(396003)(136003)(189003)(199004)(186003)(66946007)(8676002)(8936002)(81166006)(81156014)(52116002)(66556008)(2616005)(86362001)(6916009)(6486002)(4744005)(5660300002)(6512007)(64756008)(71200400001)(316002)(66446008)(786003)(6506007)(66476007)(478600001)(2906002)(54906003)(1076003)(4326008);
 DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR01MB6285;
 H:VI1PR01MB4205.eurprd01.prod.exchangelabs.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; MX:1; A:0; 
received-spf: None (protection.outlook.com: stud.acs.upb.ro does not designate
 permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: Vq4P1mCDWRRcZLjJ2ChQR4ebgo1lJbU6lrNQoBx2iPFY/pSdvXT2ZZJnmEipcE41fkFJhtvaxkaqJLu1P06HqiMZyGsrclDfnAYQykfDFzL4C5lLFzlBORvCQS1TZCAJ3NXIbte2zuqhqJOE5CUfdUaxG3Ju14iiatKHBI6lPgIcwf3/jPrKwPD9RZZJ5XXXuBJZa8CSsW870XxPiJVzzWdQLE6gYqs8R5CxQ6QfjBw+rytHbPNb/o3qMh2bHHxzMpdX75OEPs5OQ66fgV38jlRyU7cORcJRw0FGigAIKgbCgzdjAsYkr76SyVCX6eISmNxDhUL7BLP+E7de7UfT8+mtDd2euEHns4RI4/Vbp898HcZSkBn2031+U/3PWnmSGZmkb6+sB7Qa4omK6hGMT61anE1+chMXpONXCEXsIaHvw7OFNENzY6jRrEnybyeT
MIME-Version: 1.0
X-OriginatorOrg: stud.acs.upb.ro
X-MS-Exchange-CrossTenant-Network-Message-Id: 5c4a94e1-a6cb-4719-feb6-08d77dd1a2c8
X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Dec 2019 00:32:43.1221 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 2d8cc8ba-8dda-4334-9e5c-fac2092e9bac
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: OGum80IZRYZKcvLhxfpyFZVQiOuwpUSBjAK30/riYa51eIqRZlPaVAa1cvJkRg5yGOGDR4qWVwp22Un8IBg7sj1cbrwlASmHYIVVIwqlVcbCVNhXfJAgrRauDuIxKCby
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR01MB6285
Subject: [Minios-devel] [UNIKRAFT/BOOST PATCH 3/6] Add gluecode
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: "felipe.huici@neclab.eu" <felipe.huici@neclab.eu>,
 =?iso-8859-2?Q?Vlad-Andrei_B=C3DOIU_=2878692=29?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

U2lnbmVkLW9mZi1ieTogVmxhZC1BbmRyZWkgQmFkb2l1IDx2bGFkX2FuZHJlaS5iYWRvaXVAc3R1
ZC5hY3MudXBiLnJvPgotLS0KIGdsdWUuY3BwIHwgNiArKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA2
IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnbHVlLmNwcAoKZGlmZiAtLWdpdCBh
L2dsdWUuY3BwIGIvZ2x1ZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
ZDAxODYwYwotLS0gL2Rldi9udWxsCisrKyBiL2dsdWUuY3BwCkBAIC0wLDAgKzEsNiBAQAorI2lu
Y2x1ZGUgPGZlbnYuaD4KKworaW50IGZlZ2V0ZXhjZXB0ZmxhZyhmZXhjZXB0X3QgKmZsYWdwLCBp
bnQgZXhjZXB0cykKK3sKKwlyZXR1cm4gMDsKK30KLS0gCjIuMjAuMQoKCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxp
c3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJv
amVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Wed Dec 11 00:33:03 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 11 Dec 2019 00:33:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1iepw7-0001xH-JG; Wed, 11 Dec 2019 00:33:03 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=EtI/=2B=stud.acs.upb.ro=vlad_andrei.badoiu@srs-us1.protection.inumbo.net>)
 id 1iepw6-0001x3-0o
 for minios-devel@lists.xen.org; Wed, 11 Dec 2019 00:33:02 +0000
X-Inumbo-ID: c14533f2-1bad-11ea-8a7a-12813bfff9fa
Received: from EUR03-AM5-obe.outbound.protection.outlook.com (unknown
 [40.107.3.82]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id c14533f2-1bad-11ea-8a7a-12813bfff9fa;
 Wed, 11 Dec 2019 00:32:51 +0000 (UTC)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bLUMFUvdI3bTUjsUEwYmCqglAw0sSOVkF9i77LmPGFiChbVbEGcVbpchEuHw755O/KOB0yZjQ/wbV/m+z90lpG878cSyhoZpVzJzPIRBE0ilx83kk8GehkpyBHPikGARffs0xTKFdzXysdmf5oAdKujcpr/xAim45bJm+dJfOOx874aAM5yEw98VYWO79EFRjHMoMXJM/0nAPWZ7jNo+inFk7Y8LUPdhiZp7Xrrb53VIWFME/C0HkPs537t27BxRLghNxfQrW1TlSQWvnnjod91CbU3RMXokcwlLE5M+E985b903+eBHAGQ4uo0e0wOnlpawVk0SwVKoPoKur+DROQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ylwVFAVgQnSwSlII4Z8irgQsa2ueMWFt1bzzVoJicvs=;
 b=eXXx5ki89g4Hcjuq4g4o/id2rSAbYSWAhYajFCr99C5Dc1u1RgfPYkVhWpO9j2uoQjh3l8WzyGMMuQ+7UCujOruXd4xBnksiDikEgigqca36wWHFn33106h62I7LGp1DGm6YnB39qhbHk31KQaihxVCqAY94lBtrGvGnT3p9sEtk1spikiQTJqZQ8xdokwcpraT76rP6EuMLcwGy5BfQ2UnP/Cubnez6KHnNabASSIQkGLMlwafvMk+Y4qDOlHrJktGg3aLupZ1ENSF3uzoQ41XlTBDPSVGXaQmmyxxyDJj2DkcP+XZZGX348ge9mkCWEuZfwEmHBxw+LsLXkSbrog==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=stud.acs.upb.ro; dmarc=pass action=none
 header.from=stud.acs.upb.ro; dkim=pass header.d=stud.acs.upb.ro; arc=none
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com (20.177.55.79) by
 VI1PR01MB4510.eurprd01.prod.exchangelabs.com (20.178.8.93) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.2516.14; Wed, 11 Dec 2019 00:32:45 +0000
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::71a3:74d9:f301:33b6]) by VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::71a3:74d9:f301:33b6%7]) with mapi id 15.20.2516.018; Wed, 11 Dec 2019
 00:32:45 +0000
From: =?iso-8859-2?Q?Vlad-Andrei_B=C3DOIU_=2878692=29?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
To: "minios-devel@lists.xen.org" <minios-devel@lists.xen.org>
Thread-Topic: [UNIKRAFT/BOOST PATCH 6/6] README.md: Update with info about
 building
Thread-Index: AQHVr7qBAtTcpF/MgESuIiXgGm0nIw==
Date: Wed, 11 Dec 2019 00:32:44 +0000
Message-ID: <20191211003233.27192-7-vlad_andrei.badoiu@stud.acs.upb.ro>
References: <20191211003233.27192-1-vlad_andrei.badoiu@stud.acs.upb.ro>
In-Reply-To: <20191211003233.27192-1-vlad_andrei.badoiu@stud.acs.upb.ro>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-clientproxiedby: VI1P194CA0034.EURP194.PROD.OUTLOOK.COM
 (2603:10a6:803:3c::23) To VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 (2603:10a6:803:6d::15)
authentication-results: spf=none (sender IP is )
 smtp.mailfrom=vlad_andrei.badoiu@stud.acs.upb.ro; 
x-ms-exchange-messagesentrepresentingtype: 1
x-mailer: git-send-email 2.20.1
x-originating-ip: [2a02:2f0b:8303:7b00:84f1:5f33:c782:4452]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 47875d79-ee9f-4138-3b77-08d77dd1a3c5
x-ms-traffictypediagnostic: VI1PR01MB4510:
x-ms-exchange-transport-forked: True
x-microsoft-antispam-prvs: <VI1PR01MB4510BB8C1531B5FDCF87F919A65A0@VI1PR01MB4510.eurprd01.prod.exchangelabs.com>
x-ms-oob-tlc-oobclassifiers: OLM:7691;
x-forefront-prvs: 024847EE92
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(346002)(396003)(376002)(136003)(366004)(39850400004)(189003)(199004)(1076003)(52116002)(6916009)(478600001)(6512007)(786003)(5660300002)(54906003)(2906002)(66476007)(316002)(6486002)(81166006)(4326008)(66556008)(66946007)(81156014)(8936002)(2616005)(71200400001)(8676002)(64756008)(66446008)(4744005)(6506007)(86362001)(186003);
 DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR01MB4510;
 H:VI1PR01MB4205.eurprd01.prod.exchangelabs.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; MX:1; A:0; 
received-spf: None (protection.outlook.com: stud.acs.upb.ro does not designate
 permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: ufgjzAucv/OU4oji3MkNXtCdBIC4GvfzRws4M5aWISCgJDC8Wp/3nuIGyNTyxdNZhB0OEK41NKVJWzPcpaYQBkg/EXImn15f1suAEsgwnoKjcaxjm3m8KuQbtghiocgX/x2hCogofmWLKeLGLwJhUeDnGSTayFzv3NRzwviSgOjvAc8MMpR4upoBt5DyWVUxH4n18b3uZ3Z1euGXDdM686crsxtqmiYB/3YO/Or2SuK6NuIDYbnnS9/284v3dn3aD2UTWPVEsLzB9Y45Qxziwi1SQ4yA/S2ciJdSMEwTCe0h0fdw6sam4dACBAMRiFBBe0GDNv3OtO3J8b1kRreg2Oq2KSaY0WvDd6QMj4IMxKJEvVYU9369zVUGIoMSYJhlZYSTJSof7IFvk7+bE4NWOkDgCuULBM7r4JtAYrgZhHNY7IkH/poJeDfRXabxQdke
MIME-Version: 1.0
X-OriginatorOrg: stud.acs.upb.ro
X-MS-Exchange-CrossTenant-Network-Message-Id: 47875d79-ee9f-4138-3b77-08d77dd1a3c5
X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Dec 2019 00:32:44.7302 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 2d8cc8ba-8dda-4334-9e5c-fac2092e9bac
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: MkABunNsWYFkOE+xGdAhpfzijMemc/qsMGipRZrBKqytP1lAG/FTZIsgvIPyMYo+1YGZoAlUGsSYJtGVhXXHyuvkXd6f/YSHR6T+oIHChCEnJ2xKO2v0hhTaklYf1Qrw
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR01MB4510
Subject: [Minios-devel] [UNIKRAFT/BOOST PATCH 6/6] README.md: Update with
 info about building
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: "felipe.huici@neclab.eu" <felipe.huici@neclab.eu>,
 =?iso-8859-2?Q?Vlad-Andrei_B=C3DOIU_=2878692=29?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

U2lnbmVkLW9mZi1ieTogVmxhZC1BbmRyZWkgQmFkb2l1IDx2bGFkX2FuZHJlaS5iYWRvaXVAc3R1
ZC5hY3MudXBiLnJvPgotLS0KIFJFQURNRS5tZCB8IDYgKysrKysrCiAxIGZpbGUgY2hhbmdlZCwg
NiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvUkVBRE1FLm1kIGIvUkVBRE1FLm1kCmluZGV4
IDhkMzA5ZTkuLjA5NTQzYTIgMTAwNjQ0Ci0tLSBhL1JFQURNRS5tZAorKysgYi9SRUFETUUubWQK
QEAgLTMsNSArMywxMSBAQCBib29zdCBmb3IgVW5pa3JhZnQKIAogVGhpcyBpcyB0aGUgcG9ydCBv
ZiBib29zdCBmb3IgVW5pa3JhZnQgYXMgZXh0ZXJuYWwgbGlicmFyeS4KIAorIyMgQnVpbGQKK2lu
dHggZGVwZW5kcyBvbiB0aGUgZm9sbG93aW5nIGxpYnJhcmllcywgdGhhdCBuZWVkIHRvIGJlIGFk
ZGVkIHRvIGBNYWtlZmlsZWAgaW4gdGhpcyBvcmRlcjoKKyogQ1hYIHN0YW5kYXJkIGxpYnJhcnks
IGUuZy4gYGxpYnVud2luZGAsIGBjb21waWxlci1ydGAsIGBsaWJjeHhhYmlgLCBgbGliY3h4YAor
KiBgbGliY2AsIGUuZy4gYG5ld2xpYmAKKyogU0lNRCBpbnRyaW5zaWNzLCBlLmcuIGBpbnRlbC1p
bnRyaW5pY3NgIAorCiBQbGVhc2UgcmVmZXIgdG8gdGhlIGBSRUFETUUubWRgIGFzIHdlbGwgYXMg
dGhlIGRvY3VtZW50YXRpb24gaW4gdGhlIGBkb2MvYAogc3ViZGlyZWN0b3J5IG9mIHRoZSBtYWlu
IHVuaWtyYWZ0IHJlcG9zaXRvcnkuCi0tIAoyLjIwLjEKCgpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlv
cy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3Jn
L21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Wed Dec 11 00:33:08 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 11 Dec 2019 00:33:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1iepwC-0001yF-L8; Wed, 11 Dec 2019 00:33:08 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=EtI/=2B=stud.acs.upb.ro=vlad_andrei.badoiu@srs-us1.protection.inumbo.net>)
 id 1iepwB-0001xz-0t
 for minios-devel@lists.xen.org; Wed, 11 Dec 2019 00:33:07 +0000
X-Inumbo-ID: c247258a-1bad-11ea-8a7a-12813bfff9fa
Received: from EUR01-HE1-obe.outbound.protection.outlook.com (unknown
 [40.107.13.87]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id c247258a-1bad-11ea-8a7a-12813bfff9fa;
 Wed, 11 Dec 2019 00:32:49 +0000 (UTC)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VPVUVe/frAu/BRIEOPGzMEQkNcX2lJg2v+kZPxsxmIlcjClsIAzhLta/gCrJBORMvCKkinZuAsQWVgJv1Xc37JGPb2FORP6I9jMk6U+Wk41qMclrbxYUy7XZAnijJ/UuwtRKfaN4SP5K3L7h2OZibKsJK+Rpg1PsUmolkWiQBUiypEm/vV/kO2nbf/lJEXdTv1dDNjIPeXjWBf1MaVoMoqFOgXchSJoY6IjSWU4xUOEs9Bqm9m+BIJCbGqgamjcTtJiFcw4WLBzFHqY8uCu27wpZ28SbE4PehgZ7dIKr86iJ9ClhJA6Bybnx4+wx8Z2x91raw0n36Dpasn6CUL6VEA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2Ql+amVyMekgkLmbDC+1oObg1UMM4epiV0eKHNTaW0Q=;
 b=UKcXZLe36xB49Fej/g3toG9HDRNCzbfmgQ7BDP/wuLOgdX0N3rthTU69r/lBF2rmEwUP+DjPRVf1+s3nm8sJFtlsiT2Y/6MFo0RCa6UFgpNio8Q44hzw0g3BIaeGEVgwbDv9xYkFBFdkLKTS1pqobI93Wmd7E9xVxgDYx8umGn+wzJvASMsL+gFjCeJbseNTFdMvjmBDxtVGT5CYbOkVZ1wC3WWdtzANbtJJhXVEHrsN9qfDHE5ZNGa7xR+6SK/pVDirF9tzST6V06DMC7h9jiNavwcSbCxwLWTHLTK0eI8mvVDOrXcjySZRzWSYQS4wErH+hGUTw4ihfuGDlkAN9A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=stud.acs.upb.ro; dmarc=pass action=none
 header.from=stud.acs.upb.ro; dkim=pass header.d=stud.acs.upb.ro; arc=none
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com (20.177.55.79) by
 VI1PR01MB6285.eurprd01.prod.exchangelabs.com (10.186.178.145) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.2516.18; Wed, 11 Dec 2019 00:32:42 +0000
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::71a3:74d9:f301:33b6]) by VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::71a3:74d9:f301:33b6%7]) with mapi id 15.20.2516.018; Wed, 11 Dec 2019
 00:32:42 +0000
From: =?iso-8859-2?Q?Vlad-Andrei_B=C3DOIU_=2878692=29?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
To: "minios-devel@lists.xen.org" <minios-devel@lists.xen.org>
Thread-Topic: [UNIKRAFT/BOOST PATCH 2/6] Add Makefile.uk
Thread-Index: AQHVr7qAHQZV8tgFOkmKa8iEb03aSw==
Date: Wed, 11 Dec 2019 00:32:42 +0000
Message-ID: <20191211003233.27192-3-vlad_andrei.badoiu@stud.acs.upb.ro>
References: <20191211003233.27192-1-vlad_andrei.badoiu@stud.acs.upb.ro>
In-Reply-To: <20191211003233.27192-1-vlad_andrei.badoiu@stud.acs.upb.ro>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-clientproxiedby: VI1P194CA0034.EURP194.PROD.OUTLOOK.COM
 (2603:10a6:803:3c::23) To VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 (2603:10a6:803:6d::15)
authentication-results: spf=none (sender IP is )
 smtp.mailfrom=vlad_andrei.badoiu@stud.acs.upb.ro; 
x-ms-exchange-messagesentrepresentingtype: 1
x-mailer: git-send-email 2.20.1
x-originating-ip: [2a02:2f0b:8303:7b00:84f1:5f33:c782:4452]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 7c711fb4-d446-44b2-310c-08d77dd1a264
x-ms-traffictypediagnostic: VI1PR01MB6285:
x-ms-exchange-transport-forked: True
x-microsoft-antispam-prvs: <VI1PR01MB6285A98D097AB29F305A4098A65A0@VI1PR01MB6285.eurprd01.prod.exchangelabs.com>
x-ms-oob-tlc-oobclassifiers: OLM:7219;
x-forefront-prvs: 024847EE92
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(346002)(376002)(366004)(39850400004)(396003)(136003)(189003)(199004)(186003)(66946007)(8676002)(8936002)(81166006)(81156014)(52116002)(66556008)(2616005)(86362001)(6916009)(6486002)(30864003)(5660300002)(6512007)(64756008)(71200400001)(316002)(66446008)(786003)(6506007)(66476007)(478600001)(2906002)(54906003)(1076003)(4326008)(569006);
 DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR01MB6285;
 H:VI1PR01MB4205.eurprd01.prod.exchangelabs.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; MX:1; A:0; 
received-spf: None (protection.outlook.com: stud.acs.upb.ro does not designate
 permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: leCxn2NfHadpjEi6kPu62yP6UFQ0MxodWtcxtGmVkoKuHQa4A/E2/U0tjIy7nsKCZ5Yz/GHZoKDcEakyHoLyL2LNzdAzeNPoTf8UdbQtQlB/GvmtW2Ynfekcfb9F/x69AY79dI1cRTsQ+vz4ltVbL1W7i48tggbZkODbkKrl9UTzmrcnwDHEhoVBsR7s4Vmilr7TNLhQcIq42XpGAN/l8zRzznMVJmyY/MkTLZGYyqHXnyyFe1UnhZ5/OfaajLaVFIoI6PLFXHl2XaWkHgFRvMqoqP45gfxIHvkLInMcZgKxt49ZPBKIms3UhTipyGp4voHQqKAZ0z6i49wKROt2rspeKFHwszyqoLJNUyWIXmt+KzBT+EO53KZjp9ErQLIJ+JWZaSJ8a/qzgpYpR6xiaEvLVSfmTwP1HsuUtP9+iHBZPQVU07oZRxGRh9poi5kJJ94DVqCqiOEImzWK/G+ZfiV91Ub751/OaJVEv5tB/1EoP0UFfa70y7aiY2M0wuVlxs/PumuR8ObEW0aiNArIDQ==
MIME-Version: 1.0
X-OriginatorOrg: stud.acs.upb.ro
X-MS-Exchange-CrossTenant-Network-Message-Id: 7c711fb4-d446-44b2-310c-08d77dd1a264
X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Dec 2019 00:32:42.5204 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 2d8cc8ba-8dda-4334-9e5c-fac2092e9bac
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: z7m7TN+Nmu86KFyF3/761z7SC8Z0Kwbt+ClkIuXaTMQEdvjunJkPOH/InbA+0/MlGXLDeFv0yfKfDs8nm6b/xSBuJVfLvv+FtJkLLZz/LCRPgiA1C8IWoYZfYkJgM0IG
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR01MB6285
Subject: [Minios-devel] [UNIKRAFT/BOOST PATCH 2/6] Add Makefile.uk
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: "felipe.huici@neclab.eu" <felipe.huici@neclab.eu>,
 =?iso-8859-2?Q?Vlad-Andrei_B=C3DOIU_=2878692=29?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhpcyBpbml0aWFsIE1ha2VmaWxlLnVrIGNvbnRhaW5zIG9ubHkgYSBzdWJzZXQgb2YgYm9vc3Qg
bW9kdWxlcy4KClNpZ25lZC1vZmYtYnk6IFZsYWQtQW5kcmVpIEJhZG9pdSA8dmxhZF9hbmRyZWku
YmFkb2l1QHN0dWQuYWNzLnVwYi5ybz4KLS0tCiBNYWtlZmlsZS51ayB8IDc3NiArKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdl
ZCwgNzc2IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBNYWtlZmlsZS51awoKZGlm
ZiAtLWdpdCBhL01ha2VmaWxlLnVrIGIvTWFrZWZpbGUudWsKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uZGQ3YjgyZQotLS0gL2Rldi9udWxsCisrKyBiL01ha2VmaWxlLnVrCkBA
IC0wLDAgKzEsNzc2IEBACisjICBsaWJib29zdCBNYWtlZmlsZS51aworIworIyAgQXV0aG9yczog
VmxhZC1BbmRyZWkgQmFkb2l1IDx2bGFkX2FuZHJlaS5iYWRvaXVAc3R1ZC5hY3MudXBiLnJvPgor
IworIyAgQ29weXJpZ2h0IChjKSAyMDE5LCBQb2xpdGVobmljYSBVbml2ZXJzaXR5IG9mIEJ1Y2hh
cmVzdC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyAgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisjICBhcmUgbWV0OgorIworIyAgMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisjICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorIyAgMy4gTmVpdGhlciB0aGUg
bmFtZSBvZiB0aGUgY29weXJpZ2h0IGhvbGRlciBub3IgdGhlIG5hbWVzIG9mIGl0cworIyAgICAg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20KKyMgICAgIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCisjCisjICBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIKKyMgIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKyMgIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisjICBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFCisjICBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisjICBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorIyAgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisjICBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorIyAgQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyMgIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFCisjICBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyMKKyMgIFRISVMgSEVBREVSIE1BWSBOT1QgQkUgRVhU
UkFDVEVEIE9SIE1PRElGSUVEIElOIEFOWSBXQVkuCisjCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjCisjIExpYnJhcnkgcmVnaXN0cmF0aW9uCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworJChl
dmFsICQoY2FsbCBhZGRsaWJfcyxsaWJib29zdCwkKENPTkZJR19MSUJCT09TVCkpKQorCisjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIworIyBTb3VyY2VzCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwor
TElCQk9PU1RfVkVSU0lPTj0xLjcxLjAKK0xJQkJPT1NUX1VSTD1odHRwczovL2RsLmJpbnRyYXku
Y29tL2Jvb3N0b3JnL3JlbGVhc2UvJChMSUJCT09TVF9WRVJTSU9OKS9zb3VyY2UvYm9vc3RfMV83
MV8wLnRhci5negorTElCQk9PU1RfUEFUQ0hESVI9JChMSUJCT09TVF9CQVNFKS9wYXRjaGVzCisk
KGV2YWwgJChjYWxsIGZldGNoLGxpYmJvb3N0LCQoTElCQk9PU1RfVVJMKSkpCiskKGV2YWwgJChj
YWxsIHBhdGNoLGxpYmJvb3N0LCQoTElCQk9PU1RfUEFUQ0hESVIpLGJvb3N0XzFfNzFfMCkpCisj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBIZWxwZXJzCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IworTElCQk9PU1RfU1VCRElSPWJvb3N0XzFfNzFfMAorTElCQk9PU1RfU1JDID0gJChMSUJCT09T
VF9PUklHSU4pLyQoTElCQk9PU1RfU1VCRElSKQorCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwor
IyBMaWJyYXJ5IGluY2x1ZGVzCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworQ0lOQ0xVREVTLSQo
Q09ORklHX0xJQkJPT1NUKSArPSAtSSQoTElCQk9PU1RfU1JDKS8KK0NYWElOQ0xVREVTLSQoQ09O
RklHX0xJQkJPT1NUKSArPSAtSSQoTElCQk9PU1RfU1JDKS8KKworQ0lOQ0xVREVTLSQoQ09ORklH
X0xJQkJPT1NUKSArPSAtSSQoTElCQk9PU1RfQkFTRSkvaW5jbHVkZQorQ1hYSU5DTFVERVMtJChD
T05GSUdfTElCQk9PU1QpICs9IC1JJChMSUJCT09TVF9CQVNFKS9pbmNsdWRlCisKK0NJTkNMVURF
Uy0kKENPTkZJR19MSUJCT09TVCkgKz0gLUkkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90
cjEKK0NYWElOQ0xVREVTLSQoQ09ORklHX0xJQkJPT1NUKSArPSAtSSQoTElCQk9PU1RfU1JDKS9s
aWJzL21hdGgvc3JjL3RyMQorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgR2xvYmFsIGZsYWdz
CisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBTdXBwcmVzc2VkIGZsYWdzCitMSUJCT09TVF9T
VVBQUkVTU19GTEFHUyArPSAtV25vLXVudXNlZC1wYXJhbWV0ZXIJCQlcCisJLVduby11bnVzZWQt
dmFyaWFibGUgLVduby11bnVzZWQtdmFsdWUgLVduby11bnVzZWQtZnVuY3Rpb24gCVwKKwktV25v
LW1pc3NpbmctZmllbGQtaW5pdGlhbGl6ZXJzIC1Xbm8taW1wbGljaXQtZmFsbHRocm91Z2ggCVwK
KwktV25vLWNhc3QtZnVuY3Rpb24tdHlwZSAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gCQlcCisJ
LVduby1jaGFyLXN1YnNjcmlwdHMgLVduby1zaWduLWNvbXBhcmUgLVduby1wYXJlbnRoZXNlcwkJ
XAorCS1Xbm8tZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnMKKworTElCQk9PU1RfQ0ZMQUdTLXkJKz0g
JChMSUJCT09TVF9TVVBQUkVTU19GTEFHUykgLVduby1wb2ludGVyLXRvLWludC1jYXN0IC1Xbm8t
aW50LXRvLXBvaW50ZXItY2FzdAorTElCQk9PU1RfQ1hYRkxBR1MteQkrPSAkKExJQkJPT1NUX1NV
UFBSRVNTX0ZMQUdTKQorCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBMaWJyYXJ5IHNvdXJj
ZXMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9P
U1RfU1JDKS9ib29zdC9hc2lvL2ltcGwvc3JjLmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJ
QkJPT1NUX1NSQykvYm9vc3Qvc3Bpcml0L2hvbWUvc3VwcG9ydC9jaGFyX2VuY29kaW5nL3VuaWNv
ZGUvY3JlYXRlX3RhYmxlcy5jcHAKK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX0JBU0Up
L2dsdWUuY3BwCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIEJvb3N0IHNvdXJjZXMgLSBs
aWJzIC0gZGF0ZV90aW1lCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworTElCQk9PU1RfU1JDUy15
ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2RhdGVfdGltZS9zcmMvZ3JlZ29yaWFuL2dyZWdfbW9u
dGguY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvZGF0ZV90aW1l
L3NyYy9ncmVnb3JpYW4vZGF0ZV9nZW5lcmF0b3JzLmNwcAorTElCQk9PU1RfU1JDUy15ICs9ICQo
TElCQk9PU1RfU1JDKS9saWJzL2RhdGVfdGltZS9zcmMvZ3JlZ29yaWFuL2dyZWdvcmlhbl90eXBl
cy5jcHAKK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9kYXRlX3RpbWUv
c3JjL2dyZWdvcmlhbi9ncmVnX3dlZWtkYXkuY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJC
T09TVF9TUkMpL2xpYnMvZGF0ZV90aW1lL3NyYy9wb3NpeF90aW1lL3Bvc2l4X3RpbWVfdHlwZXMu
Y3BwCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIEJvb3N0IHNvdXJjZXMgLSBsaWJzIC0g
ZmlsZXN5c3RlbQorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKK0xJQkJPT1NUX1NSQ1MteSArPSAk
KExJQkJPT1NUX1NSQykvbGlicy9maWxlc3lzdGVtL3NyYy93aW5kb3dzX2ZpbGVfY29kZWN2dC5j
cHAKK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9maWxlc3lzdGVtL3Ny
Yy9wb3J0YWJpbGl0eS5jcHAKK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGli
cy9maWxlc3lzdGVtL3NyYy91bmlxdWVfcGF0aC5jcHAKK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJ
QkJPT1NUX1NSQykvbGlicy9maWxlc3lzdGVtL3NyYy9jb2RlY3Z0X2Vycm9yX2NhdGVnb3J5LmNw
cAorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2ZpbGVzeXN0ZW0vc3Jj
L29wZXJhdGlvbnMuY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMv
ZmlsZXN5c3RlbS9zcmMvcGF0aF90cmFpdHMuY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJC
T09TVF9TUkMpL2xpYnMvZmlsZXN5c3RlbS9zcmMvcGF0aC5jcHAKK0xJQkJPT1NUX1NSQ1MteSAr
PSAkKExJQkJPT1NUX1NSQykvbGlicy9maWxlc3lzdGVtL3NyYy91dGY4X2NvZGVjdnRfZmFjZXQu
Y3BwfGZpbGVzeXN0ZW0KKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgQm9vc3Qgc291cmNl
cyAtIGxpYnMgLSB0aHJlYWQKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCitMSUJCT09TVF9TUkNT
LXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvdGhyZWFkL3NyYy9wdGhyZWFkL3RocmVhZC5jcHAK
KyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvdGhyZWFkL3NyYy9wdGhy
ZWFkL29uY2UuY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvdGhy
ZWFkL3NyYy9wdGhyZWFkL29uY2VfYXRvbWljLmNwcHx0aHJlYWQKK0xJQkJPT1NUX1NSQ1MteSAr
PSAkKExJQkJPT1NUX1NSQykvbGlicy90aHJlYWQvc3JjL2Z1dHVyZS5jcHAKK0xJQkJPT1NUX1NS
Q1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy90aHJlYWQvc3JjL3Rzc19udWxsLmNwcAorCisj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBCb29zdCBzb3VyY2VzIC0gbGlicyAtIG1hdGgKKyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMp
L2xpYnMvbWF0aC9zcmMvdHIxL2ZtYXguY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09T
VF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2xlZ2VuZHJlZi5jcHAKK0xJQkJPT1NUX1NSQ1MteSAr
PSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvY2JydC5jcHAKK0xJQkJPT1NUX1NS
Q1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvY3lsX25ldW1hbm4uY3Bw
CitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2V4
cGludGYuY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9z
cmMvdHIxL2NvbXBfZWxsaW50XzMuY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9T
UkMpL2xpYnMvbWF0aC9zcmMvdHIxL2JldGFmLmNwcAorTElCQk9PU1RfU1JDUy15ICs9ICQoTElC
Qk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9jeWxfbmV1bWFubmYuY3BwCitMSUJCT09TVF9T
UkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2VsbGludF8zbC5jcHAK
K0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvY2Jy
dGwuY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMv
dHIxL2V4cG0xZi5jcHAKK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9t
YXRoL3NyYy90cjEvdGdhbW1hZi5jcHAKK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NS
QykvbGlicy9tYXRoL3NyYy90cjEvbGdhbW1hZi5jcHAKK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJ
QkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvZXhwaW50LmNwcAorTElCQk9PU1RfU1JDUy15
ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9jb21wX2VsbGludF8xbC5jcHAK
K0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvY29w
eXNpZ25sLmNwcAorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgv
c3JjL3RyMS9oeXBvdGYuY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xp
YnMvbWF0aC9zcmMvdHIxL2N5bF9iZXNzZWxfamYuY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChM
SUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2Fzc29jX2xlZ2VuZHJlLmNwcAorTElCQk9P
U1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9hc2luaGYuY3Bw
CitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2Zt
aW5mLmNwcAorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3Jj
L3RyMS9oZXJtaXRlbC5jcHAKK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGli
cy9tYXRoL3NyYy90cjEvYXNpbmguY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9T
UkMpL2xpYnMvbWF0aC9zcmMvdHIxL2VyZmwuY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJC
T09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2FzaW5obC5jcHAKK0xJQkJPT1NUX1NSQ1MteSAr
PSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvZnBjbGFzc2lmeWYuY3BwCitMSUJC
T09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2JldGFsLmNw
cAorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9l
bGxpbnRfMWYuY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0
aC9zcmMvdHIxL3NwaF9iZXNzZWwuY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9T
UkMpL2xpYnMvbWF0aC9zcmMvdHIxL2VyZmNsLmNwcAorTElCQk9PU1RfU1JDUy15ICs9ICQoTElC
Qk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9sYWd1ZXJyZWYuY3BwCitMSUJCT09TVF9TUkNT
LXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2NvbXBfZWxsaW50XzIuY3Bw
CitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2Fz
c29jX2xlZ2VuZHJlbC5jcHAKK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGli
cy9tYXRoL3NyYy90cjEvc3BoX25ldW1hbm5mLmNwcAorTElCQk9PU1RfU1JDUy15ICs9ICQoTElC
Qk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9zcGhfbGVnZW5kcmVmLmNwcAorTElCQk9PU1Rf
U1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9uZXh0dG93YXJkZi5j
cHAKK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEv
bGdhbW1hLmNwcAorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgv
c3JjL3RyMS9lbGxpbnRfM2YuY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMp
L2xpYnMvbWF0aC9zcmMvdHIxL2VsbGludF8zLmNwcAorTElCQk9PU1RfU1JDUy15ICs9ICQoTElC
Qk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9hc3NvY19sZWdlbmRyZWYuY3BwCitMSUJCT09T
VF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2hlcm1pdGUuY3Bw
CitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL3Jv
dW5kZi5jcHAKK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3Ny
Yy90cjEvbGVnZW5kcmVsLmNwcAorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9s
aWJzL21hdGgvc3JjL3RyMS9hdGFuaGYuY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09T
VF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2Fjb3NobC5jcHAKK0xJQkJPT1NUX1NSQ1MteSArPSAk
KExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvYXRhbmguY3BwCitMSUJCT09TVF9TUkNT
LXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2NvbXBfZWxsaW50XzEuY3Bw
CitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2F0
YW5obC5jcHAKK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3Ny
Yy90cjEvYWNvc2guY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMv
bWF0aC9zcmMvdHIxL2Fzc29jX2xhZ3VlcnJlZi5jcHAKK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJ
QkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvbmV4dHRvd2FyZC5jcHAKK0xJQkJPT1NUX1NS
Q1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvZm1heGwuY3BwCitMSUJC
T09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2VsbGludF8y
bC5jcHAKK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90
cjEvc3BoX25ldW1hbm4uY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xp
YnMvbWF0aC9zcmMvdHIxL3JvdW5kLmNwcAorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1Rf
U1JDKS9saWJzL21hdGgvc3JjL3RyMS9jeWxfYmVzc2VsX2lmLmNwcAorTElCQk9PU1RfU1JDUy15
ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9lbGxpbnRfMi5jcHAKK0xJQkJP
T1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvbG9nMXBmLmNw
cAorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9z
cGhfYmVzc2VsZi5jcHAKK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9t
YXRoL3NyYy90cjEvc3BoX2xlZ2VuZHJlbC5jcHAKK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJP
T1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvZXhwbTEuY3BwCitMSUJCT09TVF9TUkNTLXkgKz0g
JChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL3RnYW1tYS5jcHAKK0xJQkJPT1NUX1NS
Q1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvbG9nMXBsLmNwcAorTElC
Qk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9jYnJ0Zi5j
cHAKK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEv
YXNzb2NfbGFndWVycmVsLmNwcAorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9s
aWJzL21hdGgvc3JjL3RyMS9jb21wX2VsbGludF8zbC5jcHAKK0xJQkJPT1NUX1NSQ1MteSArPSAk
KExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvbHJvdW5kbC5jcHAKK0xJQkJPT1NUX1NS
Q1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvY3lsX2Jlc3NlbF9qLmNw
cAorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9z
cGhfbmV1bWFubmwuY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMv
bWF0aC9zcmMvdHIxL2xhZ3VlcnJlLmNwcAorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1Rf
U1JDKS9saWJzL21hdGgvc3JjL3RyMS9jeWxfYmVzc2VsX2lsLmNwcAorTElCQk9PU1RfU1JDUy15
ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9yaWVtYW5uX3pldGEuY3BwCitM
SUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL3JvdW5k
bC5jcHAKK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90
cjEvZXhwbTFsLmNwcAorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21h
dGgvc3JjL3RyMS9lbGxpbnRfMmYuY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9T
UkMpL2xpYnMvbWF0aC9zcmMvdHIxL2NvcHlzaWduZi5jcHAKK0xJQkJPT1NUX1NSQ1MteSArPSAk
KExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvdHJ1bmMuY3BwCitMSUJCT09TVF9TUkNT
LXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2xhZ3VlcnJlbC5jcHAKK0xJ
QkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvY3lsX2Jl
c3NlbF9rbC5jcHAKK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRo
L3NyYy90cjEvY3lsX2Jlc3NlbF9rZi5jcHAKK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NU
X1NSQykvbGlicy9tYXRoL3NyYy90cjEvZnBjbGFzc2lmeS5jcHAKK0xJQkJPT1NUX1NSQ1MteSAr
PSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvbGdhbW1hbC5jcHAKK0xJQkJPT1NU
X1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvZnBjbGFzc2lmeWwu
Y3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIx
L3JpZW1hbm5femV0YWwuY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xp
YnMvbWF0aC9zcmMvdHIxL3JpZW1hbm5femV0YWYuY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChM
SUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2h5cG90bC5jcHAKK0xJQkJPT1NUX1NSQ1Mt
eSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvY29tcF9lbGxpbnRfMmYuY3Bw
CitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2Jl
dGEuY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMv
dHIxL2N5bF9iZXNzZWxfamwuY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMp
L2xpYnMvbWF0aC9zcmMvdHIxL2VsbGludF8xbC5jcHAKK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJ
QkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvbmV4dGFmdGVybC5jcHAKK0xJQkJPT1NUX1NS
Q1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvY3lsX2Jlc3NlbF9rLmNw
cAorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9h
Y29zaGYuY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9z
cmMvdHIxL2VyZmMuY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMv
bWF0aC9zcmMvdHIxL2xscm91bmQuY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9T
UkMpL2xpYnMvbWF0aC9zcmMvdHIxL2Fzc29jX2xhZ3VlcnJlLmNwcAorTElCQk9PU1RfU1JDUy15
ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS90Z2FtbWFsLmNwcAorTElCQk9P
U1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9jeWxfbmV1bWFu
bmwuY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMv
dHIxL2N5bF9iZXNzZWxfaS5jcHAKK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykv
bGlicy9tYXRoL3NyYy90cjEvZXhwaW50bC5jcHAKK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJP
T1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvbHJvdW5kLmNwcAorTElCQk9PU1RfU1JDUy15ICs9
ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9uZXh0dG93YXJkbC5jcHAKK0xJQkJP
T1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvZWxsaW50XzEu
Y3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIx
L2NvbXBfZWxsaW50XzJsLmNwcAorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9s
aWJzL21hdGgvc3JjL3RyMS90cnVuY2wuY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09T
VF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL25leHRhZnRlcmYuY3BwCitMSUJCT09TVF9TUkNTLXkg
Kz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2xvZzFwLmNwcAorTElCQk9PU1Rf
U1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9lcmYuY3BwCitMSUJC
T09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2VyZmYuY3Bw
CitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2Zt
aW4uY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMv
dHIxL2xyb3VuZGYuY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMv
bWF0aC9zcmMvdHIxL2xlZ2VuZHJlLmNwcAorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1Rf
U1JDKS9saWJzL21hdGgvc3JjL3RyMS9sbHJvdW5kbC5jcHAKK0xJQkJPT1NUX1NSQ1MteSArPSAk
KExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvY29tcF9lbGxpbnRfM2YuY3BwCitMSUJC
T09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL25leHRhZnRl
ci5jcHAKK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90
cjEvc3BoX2Jlc3NlbGwuY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xp
YnMvbWF0aC9zcmMvdHIxL2ZtaW5sLmNwcAorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1Rf
U1JDKS9saWJzL21hdGgvc3JjL3RyMS90cnVuY2YuY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChM
SUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2h5cG90LmNwcAorTElCQk9PU1RfU1JDUy15
ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9zcGhfbGVnZW5kcmUuY3BwCitM
SUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2hlcm1p
dGVmLmNwcAorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3Jj
L3RyMS9sbHJvdW5kZi5jcHAKK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGli
cy9tYXRoL3NyYy90cjEvZXJmY2YuY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9T
UkMpL2xpYnMvbWF0aC9zcmMvdHIxL2ZtYXhmLmNwcAorTElCQk9PU1RfU1JDUy15ICs9ICQoTElC
Qk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9jb21wX2VsbGludF8xZi5jcHAKK0xJQkJPT1NU
X1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvY29weXNpZ24uY3Bw
CisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvbWluaW1heC9m
LmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL21pbmlt
YXgvbWFpbi5jcHAKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgQm9vc3Qgc291cmNlcyAt
IGxpYnMgLSByZWdleAorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKK0xJQkJPT1NUX1NSQ1MteSAr
PSAkKExJQkJPT1NUX1NSQykvbGlicy9yZWdleC9zcmMvY3JlZ2V4LmNwcAorTElCQk9PU1RfU1JD
Uy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3JlZ2V4L3NyYy9zdGF0aWNfbXV0ZXguY3BwCitM
SUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvcmVnZXgvc3JjL3dpbnN0YW5j
ZXMuY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvcmVnZXgvc3Jj
L3Bvc2l4X2FwaS5jcHAKK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9y
ZWdleC9zcmMvdzMyX3JlZ2V4X3RyYWl0cy5jcHAKK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJP
T1NUX1NSQykvbGlicy9yZWdleC9zcmMvY3BwX3JlZ2V4X3RyYWl0cy5jcHAKK0xJQkJPT1NUX1NS
Q1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9yZWdleC9zcmMvcmVnZXhfdHJhaXRzX2RlZmF1
bHRzLmNwcAorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3JlZ2V4L3Ny
Yy91c2luc3RhbmNlcy5jcHAKK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGli
cy9yZWdleC9zcmMvd2lkZV9wb3NpeF9hcGkuY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJC
T09TVF9TUkMpL2xpYnMvcmVnZXgvc3JjL3djX3JlZ2V4X3RyYWl0cy5jcHAKK0xJQkJPT1NUX1NS
Q1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9yZWdleC9zcmMvcmVnZXhfcmF3X2J1ZmZlci5j
cHAKK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9yZWdleC9zcmMvY19y
ZWdleF90cmFpdHMuY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMv
cmVnZXgvc3JjL3JlZ2V4LmNwcAorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9s
aWJzL3JlZ2V4L3NyYy9pbnN0YW5jZXMuY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09T
VF9TUkMpL2xpYnMvcmVnZXgvc3JjL3JlZ2V4X2RlYnVnLmNwcAorTElCQk9PU1RfU1JDUy15ICs9
ICQoTElCQk9PU1RfU1JDKS9saWJzL3JlZ2V4L3NyYy9maWxlaXRlci5jcHAKK0xJQkJPT1NUX1NS
Q1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9yZWdleC9zcmMvaWN1LmNwcAorCisjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIworIyBCb29zdCBzb3VyY2VzIC0gbGlicyAtIGNvbnRleHQKKyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9s
aWJzL2NvbnRleHQvc3JjL2V4ZWN1dGlvbl9jb250ZXh0LmNwcAorI0xJQkJPT1NUX1NSQ1MteSAr
PSAkKExJQkJPT1NUX1NSQykvbGlicy9jb250ZXh0L3NyYy9kdW1teS5jcHAKKyNMSUJCT09TVF9T
UkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvY29udGV4dC9zcmMvZmliZXIuY3BwCisjTElC
Qk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2NvbnRleHQvc3JjL3dpbmRvd3Mv
c3RhY2tfdHJhaXRzLmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGli
cy9jb250ZXh0L3NyYy9jb250aW51YXRpb24uY3BwCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElC
Qk9PU1RfU1JDKS9saWJzL2NvbnRleHQvc3JjL3VudGVzdGVkLmNwcAorI0xJQkJPT1NUX1NSQ1Mt
eSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9jb250ZXh0L3NyYy9wb3NpeC9zdGFja190cmFpdHMu
Y3BwCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2NvbnRleHQvYnVp
bGQvY3h4MTFfaGRyX211dGV4LmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NS
QykvbGlicy9jb25jZXB0X2NoZWNrL2JhZF9lcnJvcl9lZy5jcHAKKworIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMKKyMgQm9vc3Qgc291cmNlcyAtIGxpYnMgLSBncmFwaF9wYXJhbGxlbAorIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMKK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGli
cy9ncmFwaF9wYXJhbGxlbC9zcmMvdGFnX2FsbG9jYXRvci5jcHAKKyNMSUJCT09TVF9TUkNTLXkg
Kz0gJChMSUJCT09TVF9TUkMpL2xpYnMvZ3JhcGhfcGFyYWxsZWwvc3JjL21waV9wcm9jZXNzX2dy
b3VwLmNwcAorCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBCb29zdCBzb3VyY2VzIC0gbGli
cyAtIHByb2dyYW1fb3B0aW9ucworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKK0xJQkJPT1NUX1NS
Q1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9wcm9ncmFtX29wdGlvbnMvc3JjL3BhcnNlcnMu
Y3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvcHJvZ3JhbV9vcHRp
b25zL3NyYy9jb25maWdfZmlsZS5jcHAKK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NS
QykvbGlicy9wcm9ncmFtX29wdGlvbnMvc3JjL3Bvc2l0aW9uYWxfb3B0aW9ucy5jcHAKK0xJQkJP
T1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9wcm9ncmFtX29wdGlvbnMvc3JjL29w
dGlvbnNfZGVzY3JpcHRpb24uY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMp
L2xpYnMvcHJvZ3JhbV9vcHRpb25zL3NyYy9jb252ZXJ0LmNwcAorTElCQk9PU1RfU1JDUy15ICs9
ICQoTElCQk9PU1RfU1JDKS9saWJzL3Byb2dyYW1fb3B0aW9ucy9zcmMvc3BsaXQuY3BwCitMSUJC
T09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvcHJvZ3JhbV9vcHRpb25zL3NyYy92
YXJpYWJsZXNfbWFwLmNwcAorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJz
L3Byb2dyYW1fb3B0aW9ucy9zcmMvY21kbGluZS5jcHAKK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJ
QkJPT1NUX1NSQykvbGlicy9wcm9ncmFtX29wdGlvbnMvc3JjL3dpbm1haW4uY3BwCitMSUJCT09T
VF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvcHJvZ3JhbV9vcHRpb25zL3NyYy91dGY4
X2NvZGVjdnRfZmFjZXQuY3BwfHByb2dyYW0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NU
X1NSQykvbGlicy9wcm9ncmFtX29wdGlvbnMvc3JjL3ZhbHVlX3NlbWFudGljLmNwcAorCisjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIworIyBCb29zdCBzb3VyY2VzIC0gbGlicyAtIGNvbnRyYWN0Cisj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIworTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JD
KS9saWJzL2NvbnRyYWN0L3NyYy9jb250cmFjdC5jcHAKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMKKyMgQm9vc3Qgc291cmNlcyAtIGxpYnMgLSBzeXN0ZW0KKyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvc3lzdGVtL3NyYy9l
cnJvcl9jb2RlLmNwcAorCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBCb29zdCBzb3VyY2Vz
IC0gbGlicyAtIHdhdmUKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCitMSUJCT09TVF9TUkNTLXkg
Kz0gJChMSUJCT09TVF9TUkMpL2xpYnMvd2F2ZS9zcmMvaW5zdGFudGlhdGVfY3BwX2V4cHJncmFt
bWFyLmNwcAorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3dhdmUvc3Jj
L2luc3RhbnRpYXRlX3JlMmNfbGV4ZXJfc3RyLmNwcAorTElCQk9PU1RfU1JDUy15ICs9ICQoTElC
Qk9PU1RfU1JDKS9saWJzL3dhdmUvc3JjL2luc3RhbnRpYXRlX2NwcF9saXRlcmFsZ3JzLmNwcAor
TElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3dhdmUvc3JjL2NwcGxleGVy
L3JlMmNsZXgvY3BwX3JlLmNwcAorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9s
aWJzL3dhdmUvc3JjL2NwcGxleGVyL3JlMmNsZXgvYXEuY3BwCitMSUJCT09TVF9TUkNTLXkgKz0g
JChMSUJCT09TVF9TUkMpL2xpYnMvd2F2ZS9zcmMvaW5zdGFudGlhdGVfY3BwX2dyYW1tYXIuY3Bw
CitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvd2F2ZS9zcmMvdG9rZW5f
aWRzLmNwcAorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3dhdmUvc3Jj
L2luc3RhbnRpYXRlX2RlZmluZWRfZ3JhbW1hci5jcHAKK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJ
QkJPT1NUX1NSQykvbGlicy93YXZlL3NyYy93YXZlX2NvbmZpZ19jb25zdGFudC5jcHAKK0xJQkJP
T1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy93YXZlL3NyYy9pbnN0YW50aWF0ZV9w
cmVkZWZfbWFjcm9zLmNwcAorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJz
L3dhdmUvc3JjL2luc3RhbnRpYXRlX3JlMmNfbGV4ZXIuY3BwCisjTElCQk9PU1RfU1JDUy15ICs9
ICQoTElCQk9PU1RfU1JDKS9saWJzL3dhdmUvdG9vbC9jcHAuY3BwCisKKyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjCisjIEJvb3N0IHNvdXJjZXMgLSBsaWJzIC0gc2VyaWFsaXphdGlvbgorIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMKK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGli
cy9pb3N0cmVhbXMvc3JjL21hcHBlZF9maWxlLmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJ
QkJPT1NUX1NSQykvbGlicy9pb3N0cmVhbXMvc3JjL3pzdGQuY3BwCisjTElCQk9PU1RfU1JDUy15
ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2lvc3RyZWFtcy9zcmMvemxpYi5jcHAKKyNMSUJCT09T
VF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvaW9zdHJlYW1zL3NyYy9iemlwMi5jcHAK
KyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvaW9zdHJlYW1zL3NyYy9n
emlwLmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9pb3N0cmVh
bXMvc3JjL2x6bWEuY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMv
aW9zdHJlYW1zL3NyYy9maWxlX2Rlc2NyaXB0b3IuY3BwCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjCisjIEJvb3N0IHNvdXJjZXMgLSBsaWJzIC0gc2VyaWFsaXphdGlvbgorIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMKK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9zZXJp
YWxpemF0aW9uL3NyYy9hcmNoaXZlX2V4Y2VwdGlvbi5jcHAKK0xJQkJPT1NUX1NSQ1MteSArPSAk
KExJQkJPT1NUX1NSQykvbGlicy9zZXJpYWxpemF0aW9uL3NyYy9wb2x5bW9ycGhpY19vYXJjaGl2
ZS5jcHAKK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9zZXJpYWxpemF0
aW9uL3NyYy9iYXNpY19wb2ludGVyX29zZXJpYWxpemVyLmNwcAorTElCQk9PU1RfU1JDUy15ICs9
ICQoTElCQk9PU1RfU1JDKS9saWJzL3NlcmlhbGl6YXRpb24vc3JjL3BvbHltb3JwaGljX3RleHRf
d29hcmNoaXZlLmNwcAorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3Nl
cmlhbGl6YXRpb24vc3JjL3htbF93Z3JhbW1hci5jcHAKK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJ
QkJPT1NUX1NSQykvbGlicy9zZXJpYWxpemF0aW9uL3NyYy90ZXh0X29hcmNoaXZlLmNwcAorTElC
Qk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3NlcmlhbGl6YXRpb24vc3JjL3Bv
bHltb3JwaGljX3RleHRfaWFyY2hpdmUuY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09T
VF9TUkMpL2xpYnMvc2VyaWFsaXphdGlvbi9zcmMvcG9seW1vcnBoaWNfeG1sX3dvYXJjaGl2ZS5j
cHAKK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9zZXJpYWxpemF0aW9u
L3NyYy94bWxfaWFyY2hpdmUuY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMp
L2xpYnMvc2VyaWFsaXphdGlvbi9zcmMvcG9seW1vcnBoaWNfeG1sX2lhcmNoaXZlLmNwcAorTElC
Qk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3NlcmlhbGl6YXRpb24vc3JjL2Jp
bmFyeV9pYXJjaGl2ZS5jcHAKK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGli
cy9zZXJpYWxpemF0aW9uL3NyYy9iYXNpY190ZXh0X2lwcmltaXRpdmUuY3BwCitMSUJCT09TVF9T
UkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvc2VyaWFsaXphdGlvbi9zcmMvc3RsX3BvcnQu
Y3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvc2VyaWFsaXphdGlv
bi9zcmMvZXh0ZW5kZWRfdHlwZV9pbmZvX3R5cGVpZC5jcHAKK0xJQkJPT1NUX1NSQ1MteSArPSAk
KExJQkJPT1NUX1NSQykvbGlicy9zZXJpYWxpemF0aW9uL3NyYy9wb2x5bW9ycGhpY190ZXh0X29h
cmNoaXZlLmNwcAorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3Nlcmlh
bGl6YXRpb24vc3JjL2Jhc2ljX3BvaW50ZXJfaXNlcmlhbGl6ZXIuY3BwCitMSUJCT09TVF9TUkNT
LXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvc2VyaWFsaXphdGlvbi9zcmMvdm9pZF9jYXN0LmNw
cAorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3NlcmlhbGl6YXRpb24v
c3JjL2Jhc2ljX29zZXJpYWxpemVyLmNwcAorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1Rf
U1JDKS9saWJzL3NlcmlhbGl6YXRpb24vc3JjL3htbF9ncmFtbWFyLmNwcAorTElCQk9PU1RfU1JD
Uy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3NlcmlhbGl6YXRpb24vc3JjL3htbF93aWFyY2hp
dmUuY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvc2VyaWFsaXph
dGlvbi9zcmMvYmFzaWNfaWFyY2hpdmUuY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09T
VF9TUkMpL2xpYnMvc2VyaWFsaXphdGlvbi9zcmMvYmFzaWNfb2FyY2hpdmUuY3BwCitMSUJCT09T
VF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvc2VyaWFsaXphdGlvbi9zcmMvYmFzaWNf
c2VyaWFsaXplcl9tYXAuY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xp
YnMvc2VyaWFsaXphdGlvbi9zcmMvYmFzaWNfdGV4dF93aXByaW1pdGl2ZS5jcHAKK0xJQkJPT1NU
X1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9zZXJpYWxpemF0aW9uL3NyYy9jb2RlY3Z0
X251bGwuY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvc2VyaWFs
aXphdGlvbi9zcmMvcG9seW1vcnBoaWNfYmluYXJ5X2lhcmNoaXZlLmNwcAorTElCQk9PU1RfU1JD
Uy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3NlcmlhbGl6YXRpb24vc3JjL2V4dGVuZGVkX3R5
cGVfaW5mb19ub19ydHRpLmNwcAorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9s
aWJzL3NlcmlhbGl6YXRpb24vc3JjL2JpbmFyeV93b2FyY2hpdmUuY3BwCitMSUJCT09TVF9TUkNT
LXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvc2VyaWFsaXphdGlvbi9zcmMvYmFzaWNfeG1sX2Fy
Y2hpdmUuY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvc2VyaWFs
aXphdGlvbi9zcmMvZXh0ZW5kZWRfdHlwZV9pbmZvLmNwcAorTElCQk9PU1RfU1JDUy15ICs9ICQo
TElCQk9PU1RfU1JDKS9saWJzL3NlcmlhbGl6YXRpb24vc3JjL3BvbHltb3JwaGljX3htbF9vYXJj
aGl2ZS5jcHAKK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9zZXJpYWxp
emF0aW9uL3NyYy9iYXNpY19pc2VyaWFsaXplci5jcHAKK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJ
QkJPT1NUX1NSQykvbGlicy9zZXJpYWxpemF0aW9uL3NyYy94bWxfb2FyY2hpdmUuY3BwCitMSUJC
T09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvc2VyaWFsaXphdGlvbi9zcmMvdGV4
dF9pYXJjaGl2ZS5jcHAKK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9z
ZXJpYWxpemF0aW9uL3NyYy9wb2x5bW9ycGhpY19iaW5hcnlfb2FyY2hpdmUuY3BwCitMSUJCT09T
VF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvc2VyaWFsaXphdGlvbi9zcmMvcG9seW1v
cnBoaWNfeG1sX3dpYXJjaGl2ZS5jcHAKK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NS
QykvbGlicy9zZXJpYWxpemF0aW9uL3NyYy9iaW5hcnlfd2lhcmNoaXZlLmNwcAorTElCQk9PU1Rf
U1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3NlcmlhbGl6YXRpb24vc3JjL3BvbHltb3Jw
aGljX2lhcmNoaXZlLmNwcAorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJz
L3NlcmlhbGl6YXRpb24vc3JjL3htbF9hcmNoaXZlX2V4Y2VwdGlvbi5jcHAKK0xJQkJPT1NUX1NS
Q1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9zZXJpYWxpemF0aW9uL3NyYy90ZXh0X3dpYXJj
aGl2ZS5jcHAKK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9zZXJpYWxp
emF0aW9uL3NyYy9wb2x5bW9ycGhpY190ZXh0X3dpYXJjaGl2ZS5jcHAKK0xJQkJPT1NUX1NSQ1Mt
eSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9zZXJpYWxpemF0aW9uL3NyYy9iYXNpY19hcmNoaXZl
LmNwcAorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3NlcmlhbGl6YXRp
b24vc3JjL2Jhc2ljX3RleHRfd29wcmltaXRpdmUuY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChM
SUJCT09TVF9TUkMpL2xpYnMvc2VyaWFsaXphdGlvbi9zcmMveG1sX3dvYXJjaGl2ZS5jcHAKK0xJ
QkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9zZXJpYWxpemF0aW9uL3NyYy9i
YXNpY190ZXh0X29wcmltaXRpdmUuY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9T
UkMpL2xpYnMvc2VyaWFsaXphdGlvbi9zcmMvdGV4dF93b2FyY2hpdmUuY3BwCitMSUJCT09TVF9T
UkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvc2VyaWFsaXphdGlvbi9zcmMvdXRmOF9jb2Rl
Y3Z0X2ZhY2V0LmNwcHxzZXJpYWxpemF0aW9uCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09T
VF9TUkMpL2xpYnMvc2VyaWFsaXphdGlvbi9zcmMvYmluYXJ5X29hcmNoaXZlLmNwcAorCisjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIworIyBCb29zdCBzb3VyY2VzIC0gbGlicyAtIGNvbnRhaW5lcgor
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIworTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JD
KS9saWJzL2NvbnRhaW5lci9zcmMvZ2xvYmFsX3Jlc291cmNlLmNwcAorTElCQk9PU1RfU1JDUy15
ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2NvbnRhaW5lci9zcmMvdW5zeW5jaHJvbml6ZWRfcG9v
bF9yZXNvdXJjZS5jcHAKK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9j
b250YWluZXIvc3JjL3Bvb2xfcmVzb3VyY2UuY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJC
T09TVF9TUkMpL2xpYnMvY29udGFpbmVyL3NyYy9tb25vdG9uaWNfYnVmZmVyX3Jlc291cmNlLmNw
cAorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2NvbnRhaW5lci9zcmMv
ZGxtYWxsb2MuY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvY29u
dGFpbmVyL3NyYy9zeW5jaHJvbml6ZWRfcG9vbF9yZXNvdXJjZS5jcHAKKyNMSUJCT09TVF9TUkNT
LXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvY29udGFpbmVyL3NyYy9kbG1hbGxvY18yXzhfNi5j
CitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvY29udGFpbmVyL3NyYy9h
bGxvY19saWIuYworI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9jb250
YWluZXIvc3JjL2RsbWFsbG9jX2V4dF8yXzhfNi5jfGNvbnRhaW5lcgorCisjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIworIyBCb29zdCBzb3VyY2VzIC0gbGlicyAtIGNocm9ubworIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMKK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9jaHJv
bm8vc3JjL3Byb2Nlc3NfY3B1X2Nsb2Nrcy5jcHAKK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJP
T1NUX1NSQykvbGlicy9jaHJvbm8vc3JjL3RocmVhZF9jbG9jay5jcHAKK0xJQkJPT1NUX1NSQ1Mt
eSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9jaHJvbm8vc3JjL2Nocm9uby5jcHAKKworIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMKKyMgQm9vc3Qgc291cmNlcyAtIGxpYnMgLSB0eXBlX2VyYXN1cmUK
KyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9T
UkMpL2xpYnMvdHlwZV9lcmFzdXJlL3NyYy9keW5hbWljX2JpbmRpbmcuY3BwCisKKyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjCisjIEJvb3N0IHNvdXJjZXMgLSBsaWJzIC0gdGVzdAorIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMv
dGVzdC9zcmMvdW5pdF90ZXN0X21haW4uY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09T
VF9TUkMpL2xpYnMvdGVzdC9zcmMvZGVjb3JhdG9yLmNwcAorTElCQk9PU1RfU1JDUy15ICs9ICQo
TElCQk9PU1RfU1JDKS9saWJzL3Rlc3Qvc3JjL2RlYnVnLmNwcAorTElCQk9PU1RfU1JDUy15ICs9
ICQoTElCQk9PU1RfU1JDKS9saWJzL3Rlc3Qvc3JjL3Jlc3VsdHNfcmVwb3J0ZXIuY3BwCitMSUJC
T09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvdGVzdC9zcmMvdW5pdF90ZXN0X21v
bml0b3IuY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvdGVzdC9z
cmMvZXhlY3V0aW9uX21vbml0b3IuY3BwCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1Rf
U1JDKS9saWJzL3Rlc3Qvc3JjL2NwcF9tYWluLmNwcAorTElCQk9PU1RfU1JDUy15ICs9ICQoTElC
Qk9PU1RfU1JDKS9saWJzL3Rlc3Qvc3JjL3Rlc3RfZnJhbWV3b3JrX2luaXRfb2JzZXJ2ZXIuY3Bw
CitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvdGVzdC9zcmMvcGxhaW5f
cmVwb3J0X2Zvcm1hdHRlci5jcHAKK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykv
bGlicy90ZXN0L3NyYy9yZXN1bHRzX2NvbGxlY3Rvci5jcHAKK0xJQkJPT1NUX1NSQ1MteSArPSAk
KExJQkJPT1NUX1NSQykvbGlicy90ZXN0L3NyYy9jb21waWxlcl9sb2dfZm9ybWF0dGVyLmNwcAor
TElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3Rlc3Qvc3JjL3Rlc3RfdHJl
ZS5jcHAKK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy90ZXN0L3NyYy9w
cm9ncmVzc19tb25pdG9yLmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykv
bGlicy90ZXN0L3NyYy90ZXN0X21haW4uY3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09T
VF9TUkMpL2xpYnMvdGVzdC9zcmMvdW5pdF90ZXN0X2xvZy5jcHAKK0xJQkJPT1NUX1NSQ1MteSAr
PSAkKExJQkJPT1NUX1NSQykvbGlicy90ZXN0L3NyYy9mcmFtZXdvcmsuY3BwCitMSUJCT09TVF9T
UkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvdGVzdC9zcmMveG1sX2xvZ19mb3JtYXR0ZXIu
Y3BwCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvdGVzdC9zcmMvdGVz
dF90b29scy5jcHAKK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy90ZXN0
L3NyYy91bml0X3Rlc3RfcGFyYW1ldGVycy5jcHAKK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJP
T1NUX1NSQykvbGlicy90ZXN0L3NyYy94bWxfcmVwb3J0X2Zvcm1hdHRlci5jcHAKK0xJQkJPT1NU
X1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy90ZXN0L3NyYy9qdW5pdF9sb2dfZm9ybWF0
dGVyLmNwcAorCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBCb29zdCBzb3VyY2VzIC0gbGli
cyAtIGxvY2FsZQorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyNMSUJCT09TVF9TUkNTLXkgKz0g
JChMSUJCT09TVF9TUkMpL2xpYnMvbG9jYWxlL3NyYy9lbmNvZGluZy9jb2RlcGFnZS5jcHAKKyNM
SUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9jYWxlL3NyYy9zdGQvY29s
bGF0ZS5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9jYWxl
L3NyYy9zdGQvY29udmVydGVyLmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NS
QykvbGlicy9sb2NhbGUvc3JjL3N0ZC9udW1lcmljLmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAk
KExJQkJPT1NUX1NSQykvbGlicy9sb2NhbGUvc3JjL3N0ZC9zdGRfYmFja2VuZC5jcHAKKyNMSUJC
T09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9jYWxlL3NyYy9zdGQvY29kZWN2
dC5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9jYWxlL3Ny
Yy9pY3UvZGF0ZV90aW1lLmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykv
bGlicy9sb2NhbGUvc3JjL2ljdS9jb2xsYXRvci5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChM
SUJCT09TVF9TUkMpL2xpYnMvbG9jYWxlL3NyYy9pY3UvY29udmVyc2lvbi5jcHAKKyNMSUJCT09T
VF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9jYWxlL3NyYy9pY3UvaWN1X2JhY2tl
bmQuY3BwCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvY2FsZS9z
cmMvaWN1L251bWVyaWMuY3BwCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9s
aWJzL2xvY2FsZS9zcmMvaWN1L3RpbWVfem9uZS5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChM
SUJCT09TVF9TUkMpL2xpYnMvbG9jYWxlL3NyYy9pY3UvY29kZWN2dC5jcHAKKyNMSUJCT09TVF9T
UkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9jYWxlL3NyYy9pY3UvZm9ybWF0dGVyLmNw
cAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2NhbGUvc3JjL2lj
dS9ib3VuZGFyeS5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMv
bG9jYWxlL3NyYy91dGlsL2xvY2FsZV9kYXRhLmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJ
QkJPT1NUX1NSQykvbGlicy9sb2NhbGUvc3JjL3V0aWwvY29kZWN2dF9jb252ZXJ0ZXIuY3BwCisj
TElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvY2FsZS9zcmMvdXRpbC9k
ZWZhdWx0X2xvY2FsZS5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xp
YnMvbG9jYWxlL3NyYy91dGlsL2dyZWdvcmlhbi5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChM
SUJCT09TVF9TUkMpL2xpYnMvbG9jYWxlL3NyYy91dGlsL2luZm8uY3BwCisjTElCQk9PU1RfU1JD
Uy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvY2FsZS9zcmMvcG9zaXgvcG9zaXhfYmFja2Vu
ZC5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9jYWxlL3Ny
Yy9wb3NpeC9jb2xsYXRlLmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykv
bGlicy9sb2NhbGUvc3JjL3Bvc2l4L2NvbnZlcnRlci5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0g
JChMSUJCT09TVF9TUkMpL2xpYnMvbG9jYWxlL3NyYy9wb3NpeC9udW1lcmljLmNwcAorI0xJQkJP
T1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2NhbGUvc3JjL3Bvc2l4L2NvZGVj
dnQuY3BwCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvY2FsZS9z
cmMvc2hhcmVkL2RhdGVfdGltZS5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9T
UkMpL2xpYnMvbG9jYWxlL3NyYy9zaGFyZWQvbW9fbGFtYmRhLmNwcAorI0xJQkJPT1NUX1NSQ1Mt
eSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2NhbGUvc3JjL3NoYXJlZC9mb3JtYXR0aW5nLmNw
cAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2NhbGUvc3JjL3No
YXJlZC9pZHMuY3BwCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xv
Y2FsZS9zcmMvc2hhcmVkL2Zvcm1hdC5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09T
VF9TUkMpL2xpYnMvbG9jYWxlL3NyYy9zaGFyZWQvbWVzc2FnZS5jcHAKKyNMSUJCT09TVF9TUkNT
LXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9jYWxlL3NyYy9zaGFyZWQvZ2VuZXJhdG9yLmNw
cAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2NhbGUvc3JjL3No
YXJlZC9sb2NhbGl6YXRpb25fYmFja2VuZC5jcHAKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK
KyMgQm9vc3Qgc291cmNlcyAtIGxpYnMgLSBhdG9taWMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
CitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvYXRvbWljL3NyYy9sb2Nr
cG9vbC5jcHAKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgQm9vc3Qgc291cmNlcyAtIGxp
YnMgLSBsb2cKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjTElCQk9PU1RfU1JDUy15ICs9ICQo
TElCQk9PU1RfU1JDKS9saWJzL2xvZy9zcmMvdGV4dF9vc3RyZWFtX2JhY2tlbmQuY3BwCisjTElC
Qk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvZy9zcmMvZXhjZXB0aW9ucy5j
cHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9nL3NyYy90aHJl
YWRfaWQuY3BwCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvZy9z
cmMvY29kZV9jb252ZXJzaW9uLmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NS
QykvbGlicy9sb2cvc3JjL3RyaXZpYWwuY3BwCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9P
U1RfU1JDKS9saWJzL2xvZy9zcmMvZHVtcF9zc3NlMy5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0g
JChMSUJCT09TVF9TUkMpL2xpYnMvbG9nL3NyYy9kZWZhdWx0X3NpbmsuY3BwCisjTElCQk9PU1Rf
U1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvZy9zcmMvZGF0ZV90aW1lX2Zvcm1hdF9w
YXJzZXIuY3BwCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvZy9z
cmMvc2V0dXAvZmlsdGVyX3BhcnNlci5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09T
VF9TUkMpL2xpYnMvbG9nL3NyYy9zZXR1cC9kZWZhdWx0X2Zvcm1hdHRlcl9mYWN0b3J5LmNwcAor
I0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2cvc3JjL3NldHVwL3Bh
cnNlcl91dGlscy5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMv
bG9nL3NyYy9zZXR1cC9pbml0X2Zyb21fc2V0dGluZ3MuY3BwCisjTElCQk9PU1RfU1JDUy15ICs9
ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvZy9zcmMvc2V0dXAvbWF0Y2hlc19yZWxhdGlvbl9mYWN0
b3J5LmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2cvc3Jj
L3NldHVwL3NldHRpbmdzX3BhcnNlci5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09T
VF9TUkMpL2xpYnMvbG9nL3NyYy9zZXR1cC9pbml0X2Zyb21fc3RyZWFtLmNwcAorI0xJQkJPT1NU
X1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2cvc3JjL3NldHVwL2Zvcm1hdHRlcl9w
YXJzZXIuY3BwCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvZy9z
cmMvc2V0dXAvZGVmYXVsdF9maWx0ZXJfZmFjdG9yeS5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0g
JChMSUJCT09TVF9TUkMpL2xpYnMvbG9nL3NyYy9hdHRyaWJ1dGVfc2V0LmNwcAorI0xJQkJPT1NU
X1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2cvc3JjL3dpbmRvd3MvaXBjX3JlbGlh
YmxlX21lc3NhZ2VfcXVldWUuY3BwCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JD
KS9saWJzL2xvZy9zcmMvd2luZG93cy9tYXBwZWRfc2hhcmVkX21lbW9yeS5jcHAKKyNMSUJCT09T
VF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9nL3NyYy93aW5kb3dzL2lwY19zeW5j
X3dyYXBwZXJzLmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9s
b2cvc3JjL3dpbmRvd3MvZXZlbnRfbG9nX2JhY2tlbmQuY3BwCisjTElCQk9PU1RfU1JDUy15ICs9
ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvZy9zcmMvd2luZG93cy9saWdodF9yd19tdXRleC5jcHAK
KyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9nL3NyYy93aW5kb3dz
L29iamVjdF9uYW1lLmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGli
cy9sb2cvc3JjL3dpbmRvd3MvZGVidWdfb3V0cHV0X2JhY2tlbmQuY3BwCisjTElCQk9PU1RfU1JD
Uy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvZy9zcmMvdGhyZWFkX3NwZWNpZmljLmNwcAor
I0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2cvc3JjL3RpbWVzdGFt
cC5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9nL3NyYy9u
YW1lZF9zY29wZS5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMv
bG9nL3NyYy90ZXh0X211bHRpZmlsZV9iYWNrZW5kLmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAk
KExJQkJPT1NUX1NSQykvbGlicy9sb2cvc3JjL2V2ZW50LmNwcAorI0xJQkJPT1NUX1NSQ1MteSAr
PSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2cvc3JjL3RocmVhZHNhZmVfcXVldWUuY3BwCisjTElC
Qk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvZy9zcmMvZGVmYXVsdF9hdHRy
aWJ1dGVfbmFtZXMuY3BwCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJz
L2xvZy9zcmMvZ2xvYmFsX2xvZ2dlcl9zdG9yYWdlLmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAk
KExJQkJPT1NUX1NSQykvbGlicy9sb2cvc3JjL3RleHRfZmlsZV9iYWNrZW5kLmNwcAorI0xJQkJP
T1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2cvc3JjL29uY2VfYmxvY2suY3Bw
CisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvZy9zcmMvc3Bpcml0
X2VuY29kaW5nLmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9s
b2cvc3JjL2R1bXBfYXZ4Mi5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMp
L2xpYnMvbG9nL3NyYy9uYW1lZF9zY29wZV9mb3JtYXRfcGFyc2VyLmNwcAorI0xJQkJPT1NUX1NS
Q1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2cvc3JjL3Blcm1pc3Npb25zLmNwcAorI0xJ
QkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2cvc3JjL3Byb2Nlc3NfbmFt
ZS5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9nL3NyYy9y
ZWNvcmRfb3N0cmVhbS5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xp
YnMvbG9nL3NyYy9jb3JlLmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykv
bGlicy9sb2cvc3JjL3NldmVyaXR5X2xldmVsLmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJ
QkJPT1NUX1NSQykvbGlicy9sb2cvc3JjL3Bvc2l4L2lwY19yZWxpYWJsZV9tZXNzYWdlX3F1ZXVl
LmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2cvc3JjL3Bv
c2l4L29iamVjdF9uYW1lLmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykv
bGlicy9sb2cvc3JjL3Byb2Nlc3NfaWQuY3BwCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9P
U1RfU1JDKS9saWJzL2xvZy9zcmMvc3lzbG9nX2JhY2tlbmQuY3BwCisjTElCQk9PU1RfU1JDUy15
ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvZy9zcmMvZm9ybWF0X3BhcnNlci5jcHAKKyNMSUJC
T09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9nL3NyYy90aW1lci5jcHAKKyNM
SUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9nL3NyYy9hdHRyaWJ1dGVf
dmFsdWVfc2V0LmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9s
b2cvc3JjL2F0dHJpYnV0ZV9uYW1lLmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NU
X1NSQykvbGlicy9sb2cvc3JjL2R1bXAuY3BwCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisj
IEJvb3N0IHNvdXJjZXMgLSBsaWJzIC0gZXhjZXB0aW9uCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IworTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2V4Y2VwdGlvbi9zcmMv
Y2xvbmVfY3VycmVudF9leGNlcHRpb25fbm9uX2ludHJ1c2l2ZS5jcHAKKworIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMKKyMgQm9vc3Qgc291cmNlcyAtIGxpYnMgLSB0aW1lcgorIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMKK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy90aW1l
ci9zcmMvY3B1X3RpbWVyLmNwcAorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9s
aWJzL3RpbWVyL3NyYy9hdXRvX3RpbWVyc19jb25zdHJ1Y3Rpb24uY3BwCisKKyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjCisjIEJvb3N0IHNvdXJjZXMgLSBsaWJzIC0gcmFuZG9tCisjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIworTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3Jh
bmRvbS9zcmMvcmFuZG9tX2RldmljZS5jcHAKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMg
Qm9vc3Qgc291cmNlcyAtIGxpYnMgLSBweXRob24KKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisj
TElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3B5dGhvbi9zcmMvdHVwbGUu
Y3BwCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3B5dGhvbi9zcmMv
bGlzdC5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvcHl0aG9u
L3NyYy9vYmplY3Rfb3BlcmF0b3JzLmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NU
X1NSQykvbGlicy9weXRob24vc3JjL3N0ci5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJC
T09TVF9TUkMpL2xpYnMvcHl0aG9uL3NyYy9vYmplY3RfcHJvdG9jb2wuY3BwCisjTElCQk9PU1Rf
U1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3B5dGhvbi9zcmMvaW1wb3J0LmNwcAorI0xJ
QkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9weXRob24vc3JjL2Vycm9ycy5j
cHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvcHl0aG9uL3NyYy9u
dW1weS9zY2FsYXJzLmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGli
cy9weXRob24vc3JjL251bXB5L3VmdW5jLmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJP
T1NUX1NSQykvbGlicy9weXRob24vc3JjL251bXB5L21hdHJpeC5jcHAKKyNMSUJCT09TVF9TUkNT
LXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvcHl0aG9uL3NyYy9udW1weS9kdHlwZS5jcHAKKyNM
SUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvcHl0aG9uL3NyYy9udW1weS9u
dW1weS5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvcHl0aG9u
L3NyYy9udW1weS9uZGFycmF5LmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NS
QykvbGlicy9weXRob24vc3JjL21vZHVsZS5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJC
T09TVF9TUkMpL2xpYnMvcHl0aG9uL3NyYy9kaWN0LmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAk
KExJQkJPT1NUX1NSQykvbGlicy9weXRob24vc3JjL2xvbmcuY3BwCisjTElCQk9PU1RfU1JDUy15
ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3B5dGhvbi9zcmMvZXhlYy5jcHAKKyNMSUJCT09TVF9T
UkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvcHl0aG9uL3NyYy9vYmplY3QvZnVuY3Rpb24u
Y3BwCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3B5dGhvbi9zcmMv
b2JqZWN0L2VudW0uY3BwCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJz
L3B5dGhvbi9zcmMvb2JqZWN0L3BpY2tsZV9zdXBwb3J0LmNwcAorI0xJQkJPT1NUX1NSQ1MteSAr
PSAkKExJQkJPT1NUX1NSQykvbGlicy9weXRob24vc3JjL29iamVjdC9jbGFzcy5jcHAKKyNMSUJC
T09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvcHl0aG9uL3NyYy9vYmplY3QvbGlm
ZV9zdXBwb3J0LmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9w
eXRob24vc3JjL29iamVjdC9mdW5jdGlvbl9kb2Nfc2lnbmF0dXJlLmNwcAorI0xJQkJPT1NUX1NS
Q1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9weXRob24vc3JjL29iamVjdC9pbmhlcml0YW5j
ZS5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvcHl0aG9uL3Ny
Yy9vYmplY3QvaXRlcmF0b3IuY3BwCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JD
KS9saWJzL3B5dGhvbi9zcmMvb2JqZWN0L3N0bF9pdGVyYXRvci5jcHAKKyNMSUJCT09TVF9TUkNT
LXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvcHl0aG9uL3NyYy93cmFwcGVyLmNwcAorI0xJQkJP
T1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9weXRob24vc3JjL2NvbnZlcnRlci9h
cmdfdG9fcHl0aG9uX2Jhc2UuY3BwCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JD
KS9saWJzL3B5dGhvbi9zcmMvY29udmVydGVyL2Zyb21fcHl0aG9uLmNwcAorI0xJQkJPT1NUX1NS
Q1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9weXRob24vc3JjL2NvbnZlcnRlci9idWlsdGlu
X2NvbnZlcnRlcnMuY3BwCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJz
L3B5dGhvbi9zcmMvY29udmVydGVyL3R5cGVfaWQuY3BwCisjTElCQk9PU1RfU1JDUy15ICs9ICQo
TElCQk9PU1RfU1JDKS9saWJzL3B5dGhvbi9zcmMvY29udmVydGVyL3JlZ2lzdHJ5LmNwcAorI0xJ
QkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9weXRob24vc3JjL3NsaWNlLmNw
cAorCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBCb29zdCBzb3VyY2VzIC0gbGlicyAtIHNt
YXJ0X3B0cgorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJ
QkJPT1NUX1NSQykvbGlicy9zbWFydF9wdHIvZXh0cmFzL3NyYy9zcF9kZWJ1Z19ob29rcy5jcHAK
K0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9zbWFydF9wdHIvZXh0cmFz
L3NyYy9zcF9jb2xsZWN0b3IuY3BwCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIEJvb3N0
IHNvdXJjZXMgLSBsaWJzIC0gZmliZXIKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjTElCQk9P
U1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2ZpYmVyL3NyYy90aW1lZF9tdXRleC5j
cHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvZmliZXIvc3JjL3Jl
Y3Vyc2l2ZV9tdXRleC5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xp
YnMvZmliZXIvc3JjL251bWEvaHB1eC90b3BvbG9neS5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0g
JChMSUJCT09TVF9TUkMpL2xpYnMvZmliZXIvc3JjL251bWEvaHB1eC9waW5fdGhyZWFkLmNwcAor
I0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9maWJlci9zcmMvbnVtYS9h
aXgvdG9wb2xvZ3kuY3BwCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJz
L2ZpYmVyL3NyYy9udW1hL2FpeC9waW5fdGhyZWFkLmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAk
KExJQkJPT1NUX1NSQykvbGlicy9maWJlci9zcmMvbnVtYS93aW5kb3dzL3RvcG9sb2d5LmNwcAor
I0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9maWJlci9zcmMvbnVtYS93
aW5kb3dzL3Bpbl90aHJlYWQuY3BwCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JD
KS9saWJzL2ZpYmVyL3NyYy9udW1hL2xpbnV4L3RvcG9sb2d5LmNwcAorI0xJQkJPT1NUX1NSQ1Mt
eSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9maWJlci9zcmMvbnVtYS9saW51eC9waW5fdGhyZWFk
LmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9maWJlci9zcmMv
bnVtYS9hbGdvL3dvcmtfc3RlYWxpbmcuY3BwCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9P
U1RfU1JDKS9saWJzL2ZpYmVyL3NyYy9udW1hL3NvbGFyaXMvdG9wb2xvZ3kuY3BwCisjTElCQk9P
U1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2ZpYmVyL3NyYy9udW1hL3NvbGFyaXMv
cGluX3RocmVhZC5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMv
ZmliZXIvc3JjL251bWEvdG9wb2xvZ3kuY3BwCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9P
U1RfU1JDKS9saWJzL2ZpYmVyL3NyYy9udW1hL2ZyZWVic2QvdG9wb2xvZ3kuY3BwCisjTElCQk9P
U1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2ZpYmVyL3NyYy9udW1hL2ZyZWVic2Qv
cGluX3RocmVhZC5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMv
ZmliZXIvc3JjL251bWEvcGluX3RocmVhZC5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJC
T09TVF9TUkMpL2xpYnMvZmliZXIvc3JjL2ZpYmVyLmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAk
KExJQkJPT1NUX1NSQykvbGlicy9maWJlci9zcmMvbXV0ZXguY3BwCisjTElCQk9PU1RfU1JDUy15
ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2ZpYmVyL3NyYy9hbGdvL3NoYXJlZF93b3JrLmNwcAor
I0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9maWJlci9zcmMvYWxnby93
b3JrX3N0ZWFsaW5nLmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGli
cy9maWJlci9zcmMvYWxnby9yb3VuZF9yb2Jpbi5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChM
SUJCT09TVF9TUkMpL2xpYnMvZmliZXIvc3JjL2FsZ28vYWxnb3JpdGhtLmNwcAorI0xJQkJPT1NU
X1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9maWJlci9zcmMvY29uZGl0aW9uX3Zhcmlh
YmxlLmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9maWJlci9z
cmMvc2NoZWR1bGVyLmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGli
cy9maWJlci9zcmMvcHJvcGVydGllcy5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09T
VF9TUkMpL2xpYnMvZmliZXIvc3JjL3JlY3Vyc2l2ZV90aW1lZF9tdXRleC5jcHAKKyNMSUJCT09T
VF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvZmliZXIvc3JjL2NvbnRleHQuY3BwCisj
TElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2ZpYmVyL3NyYy9mdXR1cmUu
Y3BwCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2ZpYmVyL3NyYy9i
YXJyaWVyLmNwcAorCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBCb29zdCBzb3VyY2VzIC0g
bGlicyAtIHN0cmFjZQorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyNMSUJCT09TVF9TUkNTLXkg
Kz0gJChMSUJCT09TVF9TUkMpL2xpYnMvc3RhY2t0cmFjZS9zcmMvYmFja3RyYWNlLmNwcAorI0xJ
QkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9zdGFja3RyYWNlL3NyYy9ub29w
LmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9zdGFja3RyYWNl
L3NyYy9hZGRyMmxpbmUuY3BwCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9s
aWJzL3N0YWNrdHJhY2Uvc3JjL2Jhc2ljLmNwcHxzdGFja3RyYWNlCisKKyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjCisjIEJvb3N0IHNvdXJjZXMgLSBsaWJzIC0gcHJvdG8KKyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3Byb3Rv
L3ByZXByb2Nlc3MvcHJlcHJvY2Vzc19wcm90by5jcHAKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMKKyMgQm9vc3Qgc291cmNlcyAtIGxpYnMgLSBtcGwKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
CisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNz
ZWQvdmVjdG9yL3ZlY3RvcjUwX2MuY3BwCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1Rf
U1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQvdmVjdG9yL3ZlY3RvcjQwLmNwcAorI0xJQkJPT1NU
X1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3ZlY3Rvci92
ZWN0b3IxMF9jLmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9t
cGwvcHJlcHJvY2Vzc2VkL3ZlY3Rvci92ZWN0b3IyMC5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0g
JChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC92ZWN0b3IvdmVjdG9yMzAuY3Bw
CisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNz
ZWQvdmVjdG9yL3ZlY3RvcjUwLmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NS
QykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3ZlY3Rvci92ZWN0b3IyMF9jLmNwcAorI0xJQkJPT1NU
X1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3ZlY3Rvci92
ZWN0b3IzMF9jLmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9t
cGwvcHJlcHJvY2Vzc2VkL3ZlY3Rvci92ZWN0b3I0MF9jLmNwcAorI0xJQkJPT1NUX1NSQ1MteSAr
PSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3ZlY3Rvci92ZWN0b3IxMC5j
cHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nl
c3NlZC9zcmMvYml0eG9yLmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykv
bGlicy9tcGwvcHJlcHJvY2Vzc2VkL3NyYy9pdGVyX2ZvbGRfaW1wbC5jcHAKKyNMSUJCT09TVF9T
UkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9zcmMvbGlzdF9j
LmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJv
Y2Vzc2VkL3NyYy9lcXVhbF90by5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9T
UkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9zcmMvbGlzdC5jcHAKKyNMSUJCT09TVF9TUkNTLXkg
Kz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9zcmMvYXBwbHlfZndkLmNw
cAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vz
c2VkL3NyYy90ZW1wbGF0ZV9hcml0eS5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09T
VF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9zcmMvcXVvdGUuY3BwCisjTElCQk9PU1RfU1JD
Uy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQvc3JjL2xlc3MuY3Bw
CisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNz
ZWQvc3JjL21hcC5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMv
bXBsL3ByZXByb2Nlc3NlZC9zcmMvb3IuY3BwCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9P
U1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQvc3JjL3ZlY3Rvci5jcHAKKyNMSUJCT09TVF9T
UkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9zcmMvYWR2YW5j
ZV9mb3J3YXJkLmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9t
cGwvcHJlcHJvY2Vzc2VkL3NyYy92ZWN0b3JfYy5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChM
SUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9zcmMvYXBwbHkuY3BwCisjTElCQk9P
U1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQvc3JjL2Z1
bGxfbGFtYmRhLmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9t
cGwvcHJlcHJvY2Vzc2VkL3NyYy9mb2xkX2ltcGwuY3BwCisjTElCQk9PU1RfU1JDUy15ICs9ICQo
TElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQvc3JjL2JpbmRfZndkLmNwcAorI0xJ
QkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3Ny
Yy9hcmcuY3BwCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9w
cmVwcm9jZXNzZWQvc3JjL25vdF9lcXVhbF90by5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChM
SUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9zcmMvcmV2ZXJzZV9pdGVyX2ZvbGRf
aW1wbC5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3By
ZXByb2Nlc3NlZC9zcmMvZ3JlYXRlci5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09T
VF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9zcmMvYWR2YW5jZV9iYWNrd2FyZC5jcHAKKyNM
SUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9z
cmMvYmFzaWNfYmluZC5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xp
YnMvbXBsL3ByZXByb2Nlc3NlZC9zcmMvc2V0LmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJ
QkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3NyYy9iaXRhbmQuY3BwCisjTElCQk9P
U1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQvc3JjL2lu
aGVyaXQuY3BwCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9w
cmVwcm9jZXNzZWQvc3JjL2FuZC5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9T
UkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9zcmMvbWludXMuY3BwCisjTElCQk9PU1RfU1JDUy15
ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQvc3JjL2l0ZXJfZm9sZF9p
Zl9pbXBsLmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwv
cHJlcHJvY2Vzc2VkL3NyYy9yZXZlcnNlX2ZvbGRfaW1wbC5jcHAKKyNMSUJCT09TVF9TUkNTLXkg
Kz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9zcmMvbW9kdWx1cy5jcHAK
KyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3Nl
ZC9zcmMvZ3JlYXRlcl9lcXVhbC5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9T
UkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9zcmMvc2hpZnRfbGVmdC5jcHAKKyNMSUJCT09TVF9T
UkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9zcmMvdW5wYWNr
X2FyZ3MuY3BwCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9w
cmVwcm9jZXNzZWQvc3JjL2JpbmQuY3BwCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1Rf
U1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQvc3JjL2JpdG9yLmNwcAorI0xJQkJPT1NUX1NSQ1Mt
eSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3NyYy9sYW1iZGFfbm9f
Y3Rwcy5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3By
ZXByb2Nlc3NlZC9zcmMvZGl2aWRlcy5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09T
VF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9zcmMvcGx1cy5jcHAKKyNMSUJCT09TVF9TUkNT
LXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9zcmMvdGltZXMuY3Bw
CisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNz
ZWQvc3JjL2xlc3NfZXF1YWwuY3BwCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JD
KS9saWJzL21wbC9wcmVwcm9jZXNzZWQvc3JjL2RlcXVlLmNwcAorI0xJQkJPT1NUX1NSQ1MteSAr
PSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3NyYy9zZXRfYy5jcHAKKyNM
SUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9z
cmMvcGxhY2Vob2xkZXJzLmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykv
bGlicy9tcGwvcHJlcHJvY2Vzc2VkL3NyYy9hcHBseV93cmFwLmNwcAorI0xJQkJPT1NUX1NSQ1Mt
eSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3NyYy9zaGlmdF9yaWdo
dC5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXBy
b2Nlc3NlZC9tYXAvbWFwMzAuY3BwCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JD
KS9saWJzL21wbC9wcmVwcm9jZXNzZWQvbWFwL21hcDEwLmNwcAorI0xJQkJPT1NUX1NSQ1MteSAr
PSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL21hcC9tYXAyMC5jcHAKKyNM
SUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9t
YXAvbWFwNDAuY3BwCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21w
bC9wcmVwcm9jZXNzZWQvbWFwL21hcDUwLmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJP
T1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3NldC9zZXQyMF9jLmNwcAorI0xJQkJPT1NU
X1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3NldC9zZXQx
MF9jLmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJl
cHJvY2Vzc2VkL3NldC9zZXQxMC5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9T
UkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9zZXQvc2V0NDBfYy5jcHAKKyNMSUJCT09TVF9TUkNT
LXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9zZXQvc2V0MjAuY3Bw
CisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNz
ZWQvc2V0L3NldDQwLmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGli
cy9tcGwvcHJlcHJvY2Vzc2VkL3NldC9zZXQzMC5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChM
SUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9zZXQvc2V0NTAuY3BwCisjTElCQk9P
U1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQvc2V0L3Nl
dDMwX2MuY3BwCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9w
cmVwcm9jZXNzZWQvc2V0L3NldDUwX2MuY3BwCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9P
U1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQvbGlzdC9saXN0NTBfYy5jcHAKKyNMSUJCT09T
VF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9saXN0L2xp
c3QyMF9jLmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwv
cHJlcHJvY2Vzc2VkL2xpc3QvbGlzdDQwLmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJP
T1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL2xpc3QvbGlzdDIwLmNwcAorI0xJQkJPT1NU
X1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL2xpc3QvbGlz
dDEwX2MuY3BwCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9w
cmVwcm9jZXNzZWQvbGlzdC9saXN0NDBfYy5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJC
T09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9saXN0L2xpc3QzMF9jLmNwcAorI0xJQkJP
T1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL2xpc3Qv
bGlzdDEwLmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwv
cHJlcHJvY2Vzc2VkL2xpc3QvbGlzdDMwLmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJP
T1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL2xpc3QvbGlzdDUwLmNwcAorCisjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIworIyBCb29zdCBzb3VyY2VzIC0gbGlicyAtIG1waQorIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMv
bXBpL3NyYy9icm9hZGNhc3QuY3BwCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JD
KS9saWJzL21waS9zcmMvcGFja2VkX3NrZWxldG9uX2lhcmNoaXZlLmNwcAorI0xJQkJPT1NUX1NS
Q1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGkvc3JjL2Vudmlyb25tZW50LmNwcAorI0xJ
QkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGkvc3JjL2NvbXB1dGF0aW9u
X3RyZWUuY3BwCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21waS9z
cmMvdGV4dF9za2VsZXRvbl9vYXJjaGl2ZS5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJC
T09TVF9TUkMpL2xpYnMvbXBpL3NyYy9tcGlfZGF0YXR5cGVfb2FyY2hpdmUuY3BwCisjTElCQk9P
U1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21waS9zcmMvcmVxdWVzdC5jcHAKKyNM
SUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBpL3NyYy9lcnJvcl9zdHJp
bmcuY3BwCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21waS9zcmMv
cGFja2VkX29hcmNoaXZlLmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykv
bGlicy9tcGkvc3JjL3BvaW50X3RvX3BvaW50LmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJ
QkJPT1NUX1NSQykvbGlicy9tcGkvc3JjL2dyYXBoX2NvbW11bmljYXRvci5jcHAKKyNMSUJCT09T
VF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBpL3NyYy9wYWNrZWRfaWFyY2hpdmUu
Y3BwCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21waS9zcmMvY29t
bXVuaWNhdG9yLmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9t
cGkvc3JjL3B5dGhvbi9weV9jb21tdW5pY2F0b3IuY3BwCisjTElCQk9PU1RfU1JDUy15ICs9ICQo
TElCQk9PU1RfU1JDKS9saWJzL21waS9zcmMvcHl0aG9uL2RhdGF0eXBlcy5jcHAKKyNMSUJCT09T
VF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBpL3NyYy9weXRob24vcHlfdGltZXIu
Y3BwCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21waS9zcmMvcHl0
aG9uL2RvY3VtZW50YXRpb24uY3BwCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JD
KS9saWJzL21waS9zcmMvcHl0aG9uL21vZHVsZS5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChM
SUJCT09TVF9TUkMpL2xpYnMvbXBpL3NyYy9weXRob24vcHlfZXhjZXB0aW9uLmNwcAorI0xJQkJP
T1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGkvc3JjL3B5dGhvbi9weV9lbnZp
cm9ubWVudC5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBp
L3NyYy9weXRob24vcHlfcmVxdWVzdC5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09T
VF9TUkMpL2xpYnMvbXBpL3NyYy9weXRob24vc2VyaWFsaXplLmNwcAorI0xJQkJPT1NUX1NSQ1Mt
eSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGkvc3JjL3B5dGhvbi9weV9ub25ibG9ja2luZy5j
cHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBpL3NyYy9weXRo
b24vc2tlbGV0b25fYW5kX2NvbnRlbnQuY3BwCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9P
U1RfU1JDKS9saWJzL21waS9zcmMvcHl0aG9uL2NvbGxlY3RpdmVzLmNwcAorI0xJQkJPT1NUX1NS
Q1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGkvc3JjL3B5dGhvbi9zdGF0dXMuY3BwCisj
TElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21waS9zcmMvaW50ZXJjb21t
dW5pY2F0b3IuY3BwCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21w
aS9zcmMvY2FydGVzaWFuX2NvbW11bmljYXRvci5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChM
SUJCT09TVF9TUkMpL2xpYnMvbXBpL3NyYy9ncm91cC5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0g
JChMSUJCT09TVF9TUkMpL2xpYnMvbXBpL3NyYy9jb250ZW50X29hcmNoaXZlLmNwcAorI0xJQkJP
T1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGkvc3JjL29mZnNldHMuY3BwCisj
TElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21waS9zcmMvdGltZXIuY3Bw
CisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21waS9zcmMvbXBpX2Rh
dGF0eXBlX2NhY2hlLmNwcAorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGli
cy9tcGkvc3JjL2V4Y2VwdGlvbi5jcHAKKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9T
UkMpL2xpYnMvbXBpL3NyYy9wYWNrZWRfc2tlbGV0b25fb2FyY2hpdmUuY3BwCisKKyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjCisjIEJvb3N0IHNvdXJjZXMgLSBsaWJzIC0gY29yb3V0aW5lCisjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIworI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykv
bGlicy9jb3JvdXRpbmUvc3JjL2V4Y2VwdGlvbnMuY3BwCisjTElCQk9PU1RfU1JDUy15ICs9ICQo
TElCQk9PU1RfU1JDKS9saWJzL2Nvcm91dGluZS9zcmMvcG9zaXgvc3RhY2tfdHJhaXRzLmNwcAor
I0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9jb3JvdXRpbmUvc3JjL2Rl
dGFpbC9jb3JvdXRpbmVfY29udGV4dC5jcHAKLS0gCjIuMjAuMQoKCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QK
TWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVj
dC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Wed Dec 11 00:33:14 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 11 Dec 2019 00:33:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1iepwH-0001z9-On; Wed, 11 Dec 2019 00:33:13 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=EtI/=2B=stud.acs.upb.ro=vlad_andrei.badoiu@srs-us1.protection.inumbo.net>)
 id 1iepwG-0001yz-1V
 for minios-devel@lists.xen.org; Wed, 11 Dec 2019 00:33:12 +0000
X-Inumbo-ID: c5400d42-1bad-11ea-8a7a-12813bfff9fa
Received: from EUR01-HE1-obe.outbound.protection.outlook.com (unknown
 [40.107.13.87]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id c5400d42-1bad-11ea-8a7a-12813bfff9fa;
 Wed, 11 Dec 2019 00:32:54 +0000 (UTC)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=U6Fr5wCm6zGqOYtw2Ht9Bax5x7xeuWW4udkiunxR++9EgU7BDC4lJQ6hnJCLrb1ewvBbXUvbp1UBNWzvhATV92zRxcZu14+Lqv5oaRyqH9NofR12Yc57557lmf35UNjVk+oejBYnmIXNH24cY3PdutWvhVWknX1wBQsu6JvJlR/QvXq0iRBdmgJFi20J57ApmxJBeXNoKBDLJUYT5NYVKDKE2XUehgoUyN9GGJqvkAPq8MnDA4TW6+hvrqu+domXfcUU3PdTgnPllHrCzwtNoYYGye9teCT6aKNLhwv6blQkGabfTO41aehKkFNstC0HmWfhH6t7owBrxG8NQwVSpg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OC+ffVVk6ePbyMM6CNsgj/B2qrl6SFwzYszC+h3+VK0=;
 b=GsmjyUiI0LngcUtn0nF5KzHa9BWJvEwfA0QNJIMS9u4jG93RdTP+HtDmh2eAQOOip2sG266kvKjAOLE/Ow3H444LQyq6aHrJD9wHlmUzEQq+iOfwTekZTybJv2F3h+gs3CPDB1H5NWSwwzK2Tq6gPisxjpo+DLuVBGWk1RvYHX3lfsN9ga7BKYMVImIm1eaBwX1U5Qlxt6satqk7ECWtxtt8rkTQZbQzm4mlX8EvSpvhAy5cecuQXaIJBGYbWOCmKd55WQy/aB+UbGgVVNexB9tyQYyxr6MN67ynsVjdVUiP/OCAoFSZanDUNJO3KcpA3Va21k4IwOPwWGxi9jzg+w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=stud.acs.upb.ro; dmarc=pass action=none
 header.from=stud.acs.upb.ro; dkim=pass header.d=stud.acs.upb.ro; arc=none
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com (20.177.55.79) by
 VI1PR01MB6285.eurprd01.prod.exchangelabs.com (10.186.178.145) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.2516.18; Wed, 11 Dec 2019 00:32:44 +0000
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::71a3:74d9:f301:33b6]) by VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::71a3:74d9:f301:33b6%7]) with mapi id 15.20.2516.018; Wed, 11 Dec 2019
 00:32:44 +0000
From: =?iso-8859-2?Q?Vlad-Andrei_B=C3DOIU_=2878692=29?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
To: "minios-devel@lists.xen.org" <minios-devel@lists.xen.org>
Thread-Topic: [UNIKRAFT/BOOST PATCH 4/6] Add fenv.h header
Thread-Index: AQHVr7qAqB828wxEG0mPlnPdlqJqiw==
Date: Wed, 11 Dec 2019 00:32:43 +0000
Message-ID: <20191211003233.27192-5-vlad_andrei.badoiu@stud.acs.upb.ro>
References: <20191211003233.27192-1-vlad_andrei.badoiu@stud.acs.upb.ro>
In-Reply-To: <20191211003233.27192-1-vlad_andrei.badoiu@stud.acs.upb.ro>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-clientproxiedby: VI1P194CA0034.EURP194.PROD.OUTLOOK.COM
 (2603:10a6:803:3c::23) To VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 (2603:10a6:803:6d::15)
authentication-results: spf=none (sender IP is )
 smtp.mailfrom=vlad_andrei.badoiu@stud.acs.upb.ro; 
x-ms-exchange-messagesentrepresentingtype: 1
x-mailer: git-send-email 2.20.1
x-originating-ip: [2a02:2f0b:8303:7b00:84f1:5f33:c782:4452]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: c89ab772-f3d9-4485-60d7-08d77dd1a320
x-ms-traffictypediagnostic: VI1PR01MB6285:
x-ms-exchange-transport-forked: True
x-microsoft-antispam-prvs: <VI1PR01MB62855C65EEA0E1BFD36CF09CA65A0@VI1PR01MB6285.eurprd01.prod.exchangelabs.com>
x-ms-oob-tlc-oobclassifiers: OLM:8273;
x-forefront-prvs: 024847EE92
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(346002)(376002)(366004)(39850400004)(396003)(136003)(189003)(199004)(186003)(66946007)(8676002)(8936002)(81166006)(81156014)(52116002)(66556008)(2616005)(86362001)(6916009)(6486002)(5660300002)(6512007)(64756008)(71200400001)(316002)(66446008)(786003)(6506007)(66476007)(478600001)(2906002)(54906003)(1076003)(4326008);
 DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR01MB6285;
 H:VI1PR01MB4205.eurprd01.prod.exchangelabs.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; MX:1; A:0; 
received-spf: None (protection.outlook.com: stud.acs.upb.ro does not designate
 permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: H/7RtxFi4x+ClqwWd9USbOuqQj06dxAsBG1YVwaWuvqK0lOrVS/bGKiRDzSyQHysDQWAheOR1yJj+NnIHhubraOqNUFOutDWVBK2RXKU5S2GarEAUHSlGaXhxWIh/VXsg9mwYDSL2wYp+WUULcgRl3gpYAeIOrTDc1NVHcwhl7LxVOccntf0ZByVs/Cp/2FKKswxShK4nNW/cQWceckWaH6V8iUqbXZpHAl68lFkSfXbov/DevnNpQWfplpmPfgRzoJv8ey5jeW3BYCaw92CK5ANOd0SvK0fTaZZm9imR9ATqwCXBghWH+ITNFmD4IKgNjwpELRbkEIExolJJztSJqpuQXFz1VQ5leGX3ezi2VZ8aodgjpwLlve5Sf+SP6qR8t/ZMz4wWlu7+YLsvME8twPtyheBoPddYgAH/4GAJXTdLgzVBysfucIjHrgGlNwj
MIME-Version: 1.0
X-OriginatorOrg: stud.acs.upb.ro
X-MS-Exchange-CrossTenant-Network-Message-Id: c89ab772-f3d9-4485-60d7-08d77dd1a320
X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Dec 2019 00:32:43.6588 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 2d8cc8ba-8dda-4334-9e5c-fac2092e9bac
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: LTSI6BaSpg1OqVVxTAqhPpqkbogkMf+84y/b00QYXx6hmQrluoLdhLWxToSv5F61BhHoi+6Epf0p61D+7puYRGTUzw5f8PbY2kovpwmWM35/q9bpQcYvChd1n7Qaf5zx
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR01MB6285
Subject: [Minios-devel] [UNIKRAFT/BOOST PATCH 4/6] Add fenv.h header
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: "felipe.huici@neclab.eu" <felipe.huici@neclab.eu>,
 =?iso-8859-2?Q?Vlad-Andrei_B=C3DOIU_=2878692=29?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

U2lnbmVkLW9mZi1ieTogVmxhZC1BbmRyZWkgQmFkb2l1IDx2bGFkX2FuZHJlaS5iYWRvaXVAc3R1
ZC5hY3MudXBiLnJvPgotLS0KIGluY2x1ZGUvZmVudi5oIHwgNjAgKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA2MCBpbnNl
cnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgaW5jbHVkZS9mZW52LmgKCmRpZmYgLS1naXQg
YS9pbmNsdWRlL2ZlbnYuaCBiL2luY2x1ZGUvZmVudi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLjIwN2JmODQKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2ZlbnYuaApA
QCAtMCwwICsxLDYwIEBACisvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUICovICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
CisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCisgKiBDb3B5cmlnaHQgPEMyPjxBOT4gMjAwNS0yMDE0IFJpY2gg
RmVsa2VyLCBldCBhbC4KKyAqCisgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVl
IG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcKKyAqIGEgY29weSBvZiB0aGlzIHNv
ZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorICogIlNvZnR3
YXJlIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1
ZGluZworICogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2Rp
ZnksIG1lcmdlLCBwdWJsaXNoLAorICogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNl
bGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvCisgKiBwZXJtaXQgcGVyc29ucyB0byB3
aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyAqIHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZQorICogaW5jbHVkZWQgaW4gYWxs
IGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisgKgorICog
VEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5Z
IEtJTkQsCisgKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQg
VE8gVEhFIFdBUlJBTlRJRVMgT0YKKyAqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyAqIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisg
KiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9O
IE9GIENPTlRSQUNULAorICogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9G
IE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyAqIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RI
RVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgorICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICovCisvKiBU
YWtlbiBmcm9tIG11c2wtMS4xLjE5ICovCisKKyNkZWZpbmUgRkVfSU5WQUxJRCAgICAxCisjZGVm
aW5lIF9fRkVfREVOT1JNICAgMgorI2RlZmluZSBGRV9ESVZCWVpFUk8gIDQKKyNkZWZpbmUgRkVf
T1ZFUkZMT1cgICA4CisjZGVmaW5lIEZFX1VOREVSRkxPVyAgMTYKKyNkZWZpbmUgRkVfSU5FWEFD
VCAgICAzMgorCisvLyNkZWZpbmUgRkVfQUxMX0VYQ0VQVCA2MworCisjZGVmaW5lIEZFX1RPTkVB
UkVTVCAgMAorI2RlZmluZSBGRV9ET1dOV0FSRCAgIDB4NDAwCisjZGVmaW5lIEZFX1VQV0FSRCAg
ICAgMHg4MDAKKyNkZWZpbmUgRkVfVE9XQVJEWkVSTyAweGMwMAorCit0eXBlZGVmIHVuc2lnbmVk
IHNob3J0IGZleGNlcHRfdDsKKwordHlwZWRlZiBzdHJ1Y3QgeworCXVuc2lnbmVkIHNob3J0IF9f
Y29udHJvbF93b3JkOworCXVuc2lnbmVkIHNob3J0IF9fdW51c2VkMTsKKwl1bnNpZ25lZCBzaG9y
dCBfX3N0YXR1c193b3JkOworCXVuc2lnbmVkIHNob3J0IF9fdW51c2VkMjsKKwl1bnNpZ25lZCBz
aG9ydCBfX3RhZ3M7CisJdW5zaWduZWQgc2hvcnQgX191bnVzZWQzOworCXVuc2lnbmVkIGludCBf
X2VpcDsKKwl1bnNpZ25lZCBzaG9ydCBfX2NzX3NlbGVjdG9yOworCXVuc2lnbmVkIGludCBfX29w
Y29kZToxMTsKKwl1bnNpZ25lZCBpbnQgX191bnVzZWQ0OjU7CisJdW5zaWduZWQgaW50IF9fZGF0
YV9vZmZzZXQ7CisJdW5zaWduZWQgc2hvcnQgX19kYXRhX3NlbGVjdG9yOworCXVuc2lnbmVkIHNo
b3J0IF9fdW51c2VkNTsKKwl1bnNpZ25lZCBpbnQgX19teGNzcjsKK30gZmVudl90OworCisjZGVm
aW5lIEZFX0RGTF9FTlYgICAgICAoKGNvbnN0IGZlbnZfdCAqKSAtMSkKLS0gCjIuMjAuMQoKCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZl
bCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8v
bGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Wed Dec 11 00:33:18 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 11 Dec 2019 00:33:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1iepwM-000203-Qe; Wed, 11 Dec 2019 00:33:18 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=EtI/=2B=stud.acs.upb.ro=vlad_andrei.badoiu@srs-us1.protection.inumbo.net>)
 id 1iepwL-0001zm-13
 for minios-devel@lists.xen.org; Wed, 11 Dec 2019 00:33:17 +0000
X-Inumbo-ID: c5400d43-1bad-11ea-8a7a-12813bfff9fa
Received: from EUR01-HE1-obe.outbound.protection.outlook.com (unknown
 [40.107.13.87]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id c5400d43-1bad-11ea-8a7a-12813bfff9fa;
 Wed, 11 Dec 2019 00:32:55 +0000 (UTC)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GVkwZwd8iXs/nps75l/BFfsVnbsKmQCf7LjzgEJGFdapegf4S7giIxF3gum4U3iWvsbNhC1OJK3LRWl/u5vSJnc4BhNNcaMdHZjdQcd+LSZAwF+3cTpUM0An1UQIje6/ypaiINYM672TBGcfjIDEy0awxUNj26GC6vVrFDw+cfVy0+V+Hc9tVs04+V1xeFGxZbWiCtz3bOL7bvQXDH+K8uGI7iskkseoeTprVZPGMStFKkXfdCIzluuiLI1jbgzo2T8YVuKxPDb3VUroELcc1FevqD5LZASTLtvqEpp1VUcZu0ryL9WNeicpJi9vXzGbH+BNccvpNVNdOzWc6Wedsw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hZ3Pxu27wP1RN4GHtv01xwmzvr7MOQ4uAJeOmStstO8=;
 b=PxoMAebcGK4VrlZ0OLPjpG8fZYoY2p953NxqYQb8Af5XSRKu3awl2CFFFaGZkiicgiRl8m2xPVVORvSvqTeCEq3/3Vs/A5z9jjB3Nfz/U/K9DeLYm6v+I03e+YMpJ/lqRsLzf/8uvkhsrU4Rpew0JzMOpk8ceIKCy4GaalBPyDDwCfzHd9jrJcwwuVjPvVfzdEVkfrFJpkNmwqBt+JKLzQ7ViN/yAb4P7aCHJobaLNNd3ynHANENkf57/eN7cHl+m/w6Tg0/hFMWVgvqQq2d0P7sLegbqvy3nzDlPBs9040jqtyOXi5F6EMUrJxmyMzU+IOM9I8sO9ps5ye8We8BnQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=stud.acs.upb.ro; dmarc=pass action=none
 header.from=stud.acs.upb.ro; dkim=pass header.d=stud.acs.upb.ro; arc=none
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com (20.177.55.79) by
 VI1PR01MB6285.eurprd01.prod.exchangelabs.com (10.186.178.145) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.2516.18; Wed, 11 Dec 2019 00:32:45 +0000
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::71a3:74d9:f301:33b6]) by VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::71a3:74d9:f301:33b6%7]) with mapi id 15.20.2516.018; Wed, 11 Dec 2019
 00:32:45 +0000
From: =?iso-8859-2?Q?Vlad-Andrei_B=C3DOIU_=2878692=29?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
To: "minios-devel@lists.xen.org" <minios-devel@lists.xen.org>
Thread-Topic: [UNIKRAFT/BOOST PATCH 5/6] Add patches
Thread-Index: AQHVr7qBi6c/XZaeA0arIZcOxlDonQ==
Date: Wed, 11 Dec 2019 00:32:44 +0000
Message-ID: <20191211003233.27192-6-vlad_andrei.badoiu@stud.acs.upb.ro>
References: <20191211003233.27192-1-vlad_andrei.badoiu@stud.acs.upb.ro>
In-Reply-To: <20191211003233.27192-1-vlad_andrei.badoiu@stud.acs.upb.ro>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-clientproxiedby: VI1P194CA0034.EURP194.PROD.OUTLOOK.COM
 (2603:10a6:803:3c::23) To VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 (2603:10a6:803:6d::15)
authentication-results: spf=none (sender IP is )
 smtp.mailfrom=vlad_andrei.badoiu@stud.acs.upb.ro; 
x-ms-exchange-messagesentrepresentingtype: 1
x-mailer: git-send-email 2.20.1
x-originating-ip: [2a02:2f0b:8303:7b00:84f1:5f33:c782:4452]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: ece7664b-76dd-441b-add5-08d77dd1a36f
x-ms-traffictypediagnostic: VI1PR01MB6285:
x-ms-exchange-transport-forked: True
x-microsoft-antispam-prvs: <VI1PR01MB6285E12DC7D45E75843C35DFA65A0@VI1PR01MB6285.eurprd01.prod.exchangelabs.com>
x-ms-oob-tlc-oobclassifiers: OLM:510;
x-forefront-prvs: 024847EE92
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(346002)(376002)(366004)(39850400004)(396003)(136003)(189003)(199004)(186003)(66946007)(8676002)(8936002)(81166006)(81156014)(52116002)(66556008)(2616005)(86362001)(6916009)(6486002)(5660300002)(6512007)(64756008)(71200400001)(316002)(66446008)(786003)(6506007)(66476007)(478600001)(2906002)(54906003)(1076003)(4326008);
 DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR01MB6285;
 H:VI1PR01MB4205.eurprd01.prod.exchangelabs.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; MX:1; A:0; 
received-spf: None (protection.outlook.com: stud.acs.upb.ro does not designate
 permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: MmH9RMI16ijFLncnuf/ToQmZzKZuJMKcQgE31Zs8gEE4pOl9HrwVjhq25fMCNHa0biiJtrMVw64P5fW0XKBb05xqDPUt29dCgZkzbxznRx+GevQuARlbYx6oxwnhU9Sidd2q0TjNsoAWq+0HokN0yZhF/ORob+Y56dvPn0HCwJqMjCQ7/Dv7NDXbsCLpEeUZkCki2WRZkZJTdRlanmiiRiby0Aiws3Y31oWfaqP0jT5YYfdbbbMhZcpddqIQe/SHyieDCiHLXBPj4TVUp4ED16u4feUwcPgEwXzfEhoJUmTkwyUk9ztCs2Nq6qGa3h8vjUvo4X5lhYqgZMErhg9pELNb+FrX5qDGVMmSKxEStrS0taupepsnDH99zI7z1jvLHMgXVa7Hkzem2L6MLUFPPx0PR7Q8AvYMmuNMeiY1CRCYrWUcp7s7kxP3ar25ADAf
MIME-Version: 1.0
X-OriginatorOrg: stud.acs.upb.ro
X-MS-Exchange-CrossTenant-Network-Message-Id: ece7664b-76dd-441b-add5-08d77dd1a36f
X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Dec 2019 00:32:44.2125 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 2d8cc8ba-8dda-4334-9e5c-fac2092e9bac
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: XcjFohh9QEVMmv86ZGi0l1j1iL7X9CObdem9b20SPPqsco7MNYI1c4y9FxU1Ny70F1ZZ3oTkTGhfWiStEG2uz6Ongtfu6RfdjrlpCFXxims56LBItCGjB2cN386RZGsT
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR01MB6285
Subject: [Minios-devel] [UNIKRAFT/BOOST PATCH 5/6] Add patches
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: "felipe.huici@neclab.eu" <felipe.huici@neclab.eu>,
 =?iso-8859-2?Q?Vlad-Andrei_B=C3DOIU_=2878692=29?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

U2lnbmVkLW9mZi1ieTogVmxhZC1BbmRyZWkgQmFkb2l1IDx2bGFkX2FuZHJlaS5iYWRvaXVAc3R1
ZC5hY3MudXBiLnJvPgotLS0KIC4uLm9udmVydC1wdGVfaGFuZGxlX3QtdG8tdW5zaWduZWQtbG9u
Zy5wYXRjaCB8IDI2ICsrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCAyNiBpbnNl
cnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgcGF0Y2hlcy8wMDAxLUNvbnZlcnQtcHRlX2hh
bmRsZV90LXRvLXVuc2lnbmVkLWxvbmcucGF0Y2gKCmRpZmYgLS1naXQgYS9wYXRjaGVzLzAwMDEt
Q29udmVydC1wdGVfaGFuZGxlX3QtdG8tdW5zaWduZWQtbG9uZy5wYXRjaCBiL3BhdGNoZXMvMDAw
MS1Db252ZXJ0LXB0ZV9oYW5kbGVfdC10by11bnNpZ25lZC1sb25nLnBhdGNoCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdmNTI5M2EKLS0tIC9kZXYvbnVsbAorKysgYi9wYXRj
aGVzLzAwMDEtQ29udmVydC1wdGVfaGFuZGxlX3QtdG8tdW5zaWduZWQtbG9uZy5wYXRjaApAQCAt
MCwwICsxLDI2IEBACitGcm9tIDg5NGZkM2E2MmYyZmY2ZTcwMmQ2ZmYwZTJhNjMxODJmYTQ1ZWEy
MTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBWbGFkLUFuZHJlaSBCYWRvaXUgPHZs
YWRfYW5kcmVpLmJhZG9pdUBzdHVkLmFjcy51cGIucm8+CitEYXRlOiBTYXQsIDkgTm92IDIwMTkg
MDA6MzM6NTIgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAxLzFdIENvbnZlcnQgcHRlX2hhbmRsZV90
IHRvIHVuc2lnbmVkIGxvbmcKKworU2lnbmVkLW9mZi1ieTogVmxhZC1BbmRyZWkgQmFkb2l1IDx2
bGFkX2FuZHJlaS5iYWRvaXVAc3R1ZC5hY3MudXBiLnJvPgorLS0tCisgYm9vc3QvdGhyZWFkL2Rl
dGFpbC90aHJlYWQuaHBwIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwg
MSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvYm9vc3QvdGhyZWFkL2RldGFpbC90aHJlYWQu
aHBwIGIvYm9vc3QvdGhyZWFkL2RldGFpbC90aHJlYWQuaHBwCitpbmRleCAwNDIyM2VkMjYuLjJi
ZTBiYzRjNiAxMDA2NDQKKy0tLSBhL2Jvb3N0L3RocmVhZC9kZXRhaWwvdGhyZWFkLmhwcAorKysr
IGIvYm9vc3QvdGhyZWFkL2RldGFpbC90aHJlYWQuaHBwCitAQCAtNjA2LDcgKzYwNiw3IEBAIG5h
bWVzcGFjZSBib29zdAorICAgICAgICAgaGFzaF92YWx1ZShjb25zdCB0aHJlYWQ6OmlkICZ2KQor
ICAgICAgICAgeworICNpZiBkZWZpbmVkIEJPT1NUX1RIUkVBRF9QUk9WSURFU19CQVNJQ19USFJF
QURfSUQKKy0gICAgICAgICAgcmV0dXJuIGhhc2hfdmFsdWUodi50aHJlYWRfZGF0YSk7CisrICAg
ICAgICAgIHJldHVybiBoYXNoX3ZhbHVlKCooKHVuc2lnbmVkIGxvbmcgKikocHRlX2hhbmRsZV90
ICopJnYudGhyZWFkX2RhdGEpKTsKKyAjZWxzZQorICAgICAgICAgICByZXR1cm4gaGFzaF92YWx1
ZSh2LnRocmVhZF9kYXRhLmdldCgpKTsKKyAjZW5kaWYKKy0tIAorMi4yMC4xCisKLS0gCjIuMjAu
MQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlv
cy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0
dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Wed Dec 11 10:32:15 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 11 Dec 2019 10:32:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1iezHx-0003Vt-MM; Wed, 11 Dec 2019 10:32:13 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=7m/h=2B=citrix.com=lars.kurth@srs-us1.protection.inumbo.net>)
 id 1iezHv-0003Vc-Sv
 for minios-devel@lists.xenproject.org; Wed, 11 Dec 2019 10:32:11 +0000
X-Inumbo-ID: 7663de02-1c01-11ea-88e7-bc764e2007e4
Received: from esa1.hc3370-68.iphmx.com (unknown [216.71.145.142])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 7663de02-1c01-11ea-88e7-bc764e2007e4;
 Wed, 11 Dec 2019 10:32:00 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
 d=citrix.com; s=securemail; t=1576060321;
 h=from:to:subject:date:message-id:mime-version;
 bh=kZu4asjJ8hKzaLZqUwdoOfDTr3p08JYByLmhR4zFzsw=;
 b=XpAF9KmTpuwTr6GwAuyeMWBX7pwixnDh23v+iousHXMKs7oM9Mv8Iw/L
 aQrshImWbPb8tiQun8Dxii3qtCGDs1Gd+pT+tS26Uz8LclzEMftnZ/J24
 CVUsIYDzpLzoLQbXKCKbVDI7GwLVsHDvYWHvjkFL6xThKbCbqrA8VA5iS 8=;
Authentication-Results: esa1.hc3370-68.iphmx.com;
 dkim=none (message not signed) header.i=none;
 spf=None smtp.pra=lars.kurth@citrix.com;
 spf=Pass smtp.mailfrom=lars.kurth@citrix.com;
 spf=None smtp.helo=postmaster@mail.citrix.com
Received-SPF: None (esa1.hc3370-68.iphmx.com: no sender
 authenticity information available from domain of
 lars.kurth@citrix.com) identity=pra;
 client-ip=162.221.158.21; receiver=esa1.hc3370-68.iphmx.com;
 envelope-from="lars.kurth@citrix.com";
 x-sender="lars.kurth@citrix.com"; x-conformance=sidf_compatible
Received-SPF: Pass (esa1.hc3370-68.iphmx.com: domain of
 lars.kurth@citrix.com designates 162.221.158.21 as permitted
 sender) identity=mailfrom; client-ip=162.221.158.21;
 receiver=esa1.hc3370-68.iphmx.com;
 envelope-from="lars.kurth@citrix.com";
 x-sender="lars.kurth@citrix.com";
 x-conformance=sidf_compatible; x-record-type="v=spf1";
 x-record-text="v=spf1 ip4:209.167.231.154 ip4:178.63.86.133
 ip4:195.66.111.40/30 ip4:85.115.9.32/28 ip4:199.102.83.4
 ip4:192.28.146.160 ip4:192.28.146.107 ip4:216.52.6.88
 ip4:216.52.6.188 ip4:162.221.158.21 ip4:162.221.156.83
 ip4:168.245.78.127 ~all"
Received-SPF: None (esa1.hc3370-68.iphmx.com: no sender
 authenticity information available from domain of
 postmaster@mail.citrix.com) identity=helo;
 client-ip=162.221.158.21; receiver=esa1.hc3370-68.iphmx.com;
 envelope-from="lars.kurth@citrix.com";
 x-sender="postmaster@mail.citrix.com";
 x-conformance=sidf_compatible
IronPort-SDR: ncTMH9bHGuFmqn0hLoJ/2/bi7NBhcQm6yCqbwEYj/4mw0UWaCFqCEK9YAT7yqEf8SdtY5xsOPd
 MqhOS3cFPe/gmnuf+551yIKCora5ddTbKoPOx4JJVWJUzz9jk3v1CVqfH6IMgdrK+58Q1fZa6w
 HyLXHt8Rce8UCaIHdUbDPOuQ4vRLxsdSUTsP1+AfGBF47CRzBsH6UOgP0eimSYePvXC1yJjylO
 F5dOgRalTyGXhTQzr39pEUXkzoMymSSGIOGJs46QsgldPqIZqMXuup04Yf6RZ89kUniKpCpkcU
 xDA=
X-SBRS: 2.7
X-MesageID: 9643682
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
X-IronPort-AV: E=Sophos;i="5.69,301,1571716800"; d="scan'208,217";a="9643682"
From: Lars Kurth <lars.kurth@citrix.com>
To: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
 "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>,
 "win-pv-devel@lists.xenproject.org" <win-pv-devel@lists.xenproject.org>,
 "minios-devel@lists.xenproject.org" <minios-devel@lists.xenproject.org>
Thread-Topic: Setting up a monthly Xen Project dinner/pub-meeting
Thread-Index: AQHVsA41A7c6bqM9DUWKBy4/mwY0wg==
Date: Wed, 11 Dec 2019 10:31:55 +0000
Message-ID: <5C9AFAA2-DCA1-4D55-9C0F-8D37C7A280E9@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: Microsoft-MacOutlook/10.10.10.191111
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
MIME-Version: 1.0
Subject: [Minios-devel] Setting up a monthly Xen Project dinner/pub-meeting
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============0433218644487239465=="
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

--===============0433218644487239465==
Content-Language: en-US
Content-Type: multipart/alternative;
	boundary="_000_5C9AFAA2DCA14D559C0F8D37C7A280E9citrixcom_"

--_000_5C9AFAA2DCA14D559C0F8D37C7A280E9citrixcom_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

SGkgYWxsLA0KDQp3aXRoIHF1aXRlIGEgZmV3IHBlb3BsZSB3b3JraW5nIG9uIFhlbiBQcm9qZWN0
IGFjcm9zcyBkaWZmZXJlbnQgY29tcGFuaWVzIGFuZCBvcmdhbmlzYXRpb25zIHRoZXNlIGRheXMs
IEkgd2FzIHdvbmRlcmluZyB3aGV0aGVyIHdlIHNob3VsZCBzZXQgdXAgYSByZWd1bGFyIG1vbnRo
bHkgZ2V0LXRvZ2V0aGVyLiBJIHdvdWxkIGxpa2UgdG8gZ2V0IGEgc2Vuc2UgYXMgdG8NCg0KICAx
LiAgV2hvIHdvdWxkIGJlIHdpbGxpbmcgdG8gdHVybiB1cCDigJMgbmVlZCB0byBnZXQgYSBzZW5z
ZSBvZiBudW1iZXJzLCBiZWNhdXNlIHdlIG5lZWQgdG8gc2VlIHdoZXRoZXIgaXQgaXMgbmVjZXNz
YXJ5IHRvIGJvb2sgYSB0YWJsZQ0KICAyLiAgV2hhdCBkYXkgd291bGQgYmUgYmVzdCBhbmQgd2hh
dCB3ZWVrIG9mIHRoZSBtb250aA0KICAzLiAgV2hldGhlciB3ZSB3b3VsZCBhbHdheXMgY2hvb3Nl
IHRoZSBzYW1lIHZlbnVlIOKAkyB3aGljaCBJIGd1ZXNzIHBhcnRseSBkZXBlbmRzIG9uIHRoZSBh
bnN3ZXIgdG8gYSkuIElmIHRoZSBjb3JlIGdyb3VwIGF0dGVuZGluZyBpcyBsYXJnZXIgdGhhbiA4
IHBlb3BsZSwgd2UgcHJvYmFibHkgbmVlZCB0byBib29rIGEgdGFibGUsIHdoaWNoIGlzIGVhc2ll
ciBpZiB3ZSBjaG9vc2UgdGhlIHNhbWUgdmVudWUNCg0KSWYgdGhlIGFuc3dlciB0byBjKSBpcyBO
Tywgd2Ugc2hvdWxkIHByb2JhYmx5IGhhdmUgYSBsb2NhbCBjb29yZGluYXRvciBhbmQvb3IgZXN0
YWJsaXNoIHdoYXQgdmVudWVzIHdlIGRvIGxpa2UgdG8gZ28gdGhyb3VnaCB3ZWxsIGluIGFkdmFu
Y2UNCg0KRmVlbCBmcmVlIHRvIHZvaWNlIHlvdXIgb3Bpbmlvbg0KDQpSZWdhcmRzDQpMYXJzDQo=

--_000_5C9AFAA2DCA14D559C0F8D37C7A280E9citrixcom_
Content-Type: text/html; charset="utf-8"
Content-ID: <855CCB6F31EE824680344C33995A3A3E@citrix.com>
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6bz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6b2ZmaWNlIiB4
bWxuczp3PSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTp3b3JkIiB4bWxuczptPSJo
dHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS8yMDA0LzEyL29tbWwiIHhtbG5zPSJo
dHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwIj4NCjxoZWFkPg0KPG1ldGEgaHR0cC1lcXVp
dj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPg0KPG1l
dGEgbmFtZT0iR2VuZXJhdG9yIiBjb250ZW50PSJNaWNyb3NvZnQgV29yZCAxNSAoZmlsdGVyZWQg
bWVkaXVtKSI+DQo8c3R5bGU+PCEtLQ0KLyogRm9udCBEZWZpbml0aW9ucyAqLw0KQGZvbnQtZmFj
ZQ0KCXtmb250LWZhbWlseToiQ2FtYnJpYSBNYXRoIjsNCglwYW5vc2UtMToyIDQgNSAzIDUgNCA2
IDMgMiA0O30NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6Q2FsaWJyaTsNCglwYW5vc2UtMToy
IDE1IDUgMiAyIDIgNCAzIDIgNDt9DQovKiBTdHlsZSBEZWZpbml0aW9ucyAqLw0KcC5Nc29Ob3Jt
YWwsIGxpLk1zb05vcm1hbCwgZGl2Lk1zb05vcm1hbA0KCXttYXJnaW46MGNtOw0KCW1hcmdpbi1i
b3R0b206LjAwMDFwdDsNCglmb250LXNpemU6MTIuMHB0Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJp
IixzYW5zLXNlcmlmO30NCmE6bGluaywgc3Bhbi5Nc29IeXBlcmxpbmsNCgl7bXNvLXN0eWxlLXBy
aW9yaXR5Ojk5Ow0KCWNvbG9yOiMwNTYzQzE7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9
DQphOnZpc2l0ZWQsIHNwYW4uTXNvSHlwZXJsaW5rRm9sbG93ZWQNCgl7bXNvLXN0eWxlLXByaW9y
aXR5Ojk5Ow0KCWNvbG9yOiM5NTRGNzI7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9DQpw
Lk1zb0xpc3RQYXJhZ3JhcGgsIGxpLk1zb0xpc3RQYXJhZ3JhcGgsIGRpdi5Nc29MaXN0UGFyYWdy
YXBoDQoJe21zby1zdHlsZS1wcmlvcml0eTozNDsNCgltYXJnaW4tdG9wOjBjbTsNCgltYXJnaW4t
cmlnaHQ6MGNtOw0KCW1hcmdpbi1ib3R0b206MGNtOw0KCW1hcmdpbi1sZWZ0OjM2LjBwdDsNCglt
YXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJZm9udC1zaXplOjEyLjBwdDsNCglmb250LWZhbWlseToi
Q2FsaWJyaSIsc2Fucy1zZXJpZjt9DQpzcGFuLkVtYWlsU3R5bGUxNw0KCXttc28tc3R5bGUtdHlw
ZTpwZXJzb25hbC1jb21wb3NlOw0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmOw0K
CWNvbG9yOndpbmRvd3RleHQ7fQ0KLk1zb0NocERlZmF1bHQNCgl7bXNvLXN0eWxlLXR5cGU6ZXhw
b3J0LW9ubHk7DQoJZm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWY7fQ0KQHBhZ2UgV29y
ZFNlY3Rpb24xDQoJe3NpemU6NjEyLjBwdCA3OTIuMHB0Ow0KCW1hcmdpbjo3Mi4wcHQgNzIuMHB0
IDcyLjBwdCA3Mi4wcHQ7fQ0KZGl2LldvcmRTZWN0aW9uMQ0KCXtwYWdlOldvcmRTZWN0aW9uMTt9
DQovKiBMaXN0IERlZmluaXRpb25zICovDQpAbGlzdCBsMA0KCXttc28tbGlzdC1pZDoxNDIzNzk1
MDI0Ow0KCW1zby1saXN0LXR5cGU6aHlicmlkOw0KCW1zby1saXN0LXRlbXBsYXRlLWlkczotODk4
MTg4Mjc2IDY3Njk4NzExIDY3Njk4NzEzIDY3Njk4NzE1IDY3Njk4NzAzIDY3Njk4NzEzIDY3Njk4
NzE1IDY3Njk4NzAzIDY3Njk4NzEzIDY3Njk4NzE1O30NCkBsaXN0IGwwOmxldmVsMQ0KCXttc28t
bGV2ZWwtbnVtYmVyLWZvcm1hdDphbHBoYS1sb3dlcjsNCgltc28tbGV2ZWwtdGV4dDoiJTFcKSI7
DQoJbXNvLWxldmVsLXRhYi1zdG9wOm5vbmU7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjps
ZWZ0Ow0KCXRleHQtaW5kZW50Oi0xOC4wcHQ7fQ0KQGxpc3QgbDA6bGV2ZWwyDQoJe21zby1sZXZl
bC1udW1iZXItZm9ybWF0OmFscGhhLWxvd2VyOw0KCW1zby1sZXZlbC10YWItc3RvcDpub25lOw0K
CW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsNCgl0ZXh0LWluZGVudDotMTguMHB0O30N
CkBsaXN0IGwwOmxldmVsMw0KCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpyb21hbi1sb3dlcjsN
Cgltc28tbGV2ZWwtdGFiLXN0b3A6bm9uZTsNCgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOnJp
Z2h0Ow0KCXRleHQtaW5kZW50Oi05LjBwdDt9DQpAbGlzdCBsMDpsZXZlbDQNCgl7bXNvLWxldmVs
LXRhYi1zdG9wOm5vbmU7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQt
aW5kZW50Oi0xOC4wcHQ7fQ0KQGxpc3QgbDA6bGV2ZWw1DQoJe21zby1sZXZlbC1udW1iZXItZm9y
bWF0OmFscGhhLWxvd2VyOw0KCW1zby1sZXZlbC10YWItc3RvcDpub25lOw0KCW1zby1sZXZlbC1u
dW1iZXItcG9zaXRpb246bGVmdDsNCgl0ZXh0LWluZGVudDotMTguMHB0O30NCkBsaXN0IGwwOmxl
dmVsNg0KCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpyb21hbi1sb3dlcjsNCgltc28tbGV2ZWwt
dGFiLXN0b3A6bm9uZTsNCgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOnJpZ2h0Ow0KCXRleHQt
aW5kZW50Oi05LjBwdDt9DQpAbGlzdCBsMDpsZXZlbDcNCgl7bXNvLWxldmVsLXRhYi1zdG9wOm5v
bmU7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQtaW5kZW50Oi0xOC4w
cHQ7fQ0KQGxpc3QgbDA6bGV2ZWw4DQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0OmFscGhhLWxv
d2VyOw0KCW1zby1sZXZlbC10YWItc3RvcDpub25lOw0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRp
b246bGVmdDsNCgl0ZXh0LWluZGVudDotMTguMHB0O30NCkBsaXN0IGwwOmxldmVsOQ0KCXttc28t
bGV2ZWwtbnVtYmVyLWZvcm1hdDpyb21hbi1sb3dlcjsNCgltc28tbGV2ZWwtdGFiLXN0b3A6bm9u
ZTsNCgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOnJpZ2h0Ow0KCXRleHQtaW5kZW50Oi05LjBw
dDt9DQpvbA0KCXttYXJnaW4tYm90dG9tOjBjbTt9DQp1bA0KCXttYXJnaW4tYm90dG9tOjBjbTt9
DQotLT48L3N0eWxlPg0KPC9oZWFkPg0KPGJvZHkgbGFuZz0iRU4tR0IiIGxpbms9IiMwNTYzQzEi
IHZsaW5rPSIjOTU0RjcyIj4NCjxkaXYgY2xhc3M9IldvcmRTZWN0aW9uMSI+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+SGkgYWxsLDxvOnA+PC9v
OnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNp
emU6MTEuMHB0Ij48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+d2l0aCBxdWl0ZSBhIGZldyBwZW9w
bGUgd29ya2luZyBvbiBYZW4gUHJvamVjdCBhY3Jvc3MgZGlmZmVyZW50IGNvbXBhbmllcyBhbmQg
b3JnYW5pc2F0aW9ucyB0aGVzZSBkYXlzLCBJIHdhcyB3b25kZXJpbmcgd2hldGhlciB3ZSBzaG91
bGQgc2V0IHVwIGEgcmVndWxhciBtb250aGx5IGdldC10b2dldGhlci4gSSB3b3VsZCBsaWtlIHRv
IGdldCBhIHNlbnNlDQogYXMgdG88bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8b2wgc3R5bGU9Im1h
cmdpbi10b3A6MGNtIiBzdGFydD0iMSIgdHlwZT0iYSI+DQo8bGkgY2xhc3M9Ik1zb0xpc3RQYXJh
Z3JhcGgiIHN0eWxlPSJtYXJnaW4tbGVmdDowY207bXNvLWxpc3Q6bDAgbGV2ZWwxIGxmbzEiPjxz
cGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5XaG8gd291bGQgYmUgd2lsbGluZyB0byB0dXJu
IHVwIOKAkyBuZWVkIHRvIGdldCBhIHNlbnNlIG9mIG51bWJlcnMsIGJlY2F1c2Ugd2UgbmVlZCB0
byBzZWUgd2hldGhlciBpdCBpcyBuZWNlc3NhcnkgdG8gYm9vayBhIHRhYmxlPG86cD48L286cD48
L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb0xpc3RQYXJhZ3JhcGgiIHN0eWxlPSJtYXJnaW4tbGVm
dDowY207bXNvLWxpc3Q6bDAgbGV2ZWwxIGxmbzEiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEu
MHB0Ij5XaGF0IGRheSB3b3VsZCBiZSBiZXN0IGFuZCB3aGF0IHdlZWsgb2YgdGhlIG1vbnRoPG86
cD48L286cD48L3NwYW4+PC9saT48bGkgY2xhc3M9Ik1zb0xpc3RQYXJhZ3JhcGgiIHN0eWxlPSJt
YXJnaW4tbGVmdDowY207bXNvLWxpc3Q6bDAgbGV2ZWwxIGxmbzEiPjxzcGFuIHN0eWxlPSJmb250
LXNpemU6MTEuMHB0Ij5XaGV0aGVyIHdlIHdvdWxkIGFsd2F5cyBjaG9vc2UgdGhlIHNhbWUgdmVu
dWUg4oCTIHdoaWNoIEkgZ3Vlc3MgcGFydGx5IGRlcGVuZHMgb24gdGhlIGFuc3dlciB0byBhKS4g
SWYgdGhlIGNvcmUgZ3JvdXAgYXR0ZW5kaW5nIGlzIGxhcmdlciB0aGFuIDggcGVvcGxlLA0KIHdl
IHByb2JhYmx5IG5lZWQgdG8gYm9vayBhIHRhYmxlLCB3aGljaCBpcyBlYXNpZXIgaWYgd2UgY2hv
b3NlIHRoZSBzYW1lIHZlbnVlPG86cD48L286cD48L3NwYW4+PC9saT48L29sPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPjxvOnA+Jm5ic3A7PC9v
OnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNp
emU6MTEuMHB0Ij5JZiB0aGUgYW5zd2VyIHRvIGMpIGlzIE5PLCB3ZSBzaG91bGQgcHJvYmFibHkg
aGF2ZSBhIGxvY2FsIGNvb3JkaW5hdG9yIGFuZC9vciBlc3RhYmxpc2ggd2hhdCB2ZW51ZXMgd2Ug
ZG8gbGlrZSB0byBnbyB0aHJvdWdoIHdlbGwgaW4gYWR2YW5jZTxvOnA+PC9vOnA+PC9zcGFuPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij48
bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBz
dHlsZT0iZm9udC1zaXplOjExLjBwdCI+RmVlbCBmcmVlIHRvIHZvaWNlIHlvdXIgb3Bpbmlvbjxv
OnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJm
b250LXNpemU6MTEuMHB0Ij48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+UmVnYXJkczxvOnA+PC9v
OnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNp
emU6MTEuMHB0Ij5MYXJzPG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8L2JvZHk+DQo8
L2h0bWw+DQo=

--_000_5C9AFAA2DCA14D559C0F8D37C7A280E9citrixcom_--


--===============0433218644487239465==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRl
dmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

--===============0433218644487239465==--


From minios-devel-bounces@lists.xenproject.org Wed Dec 11 11:00:32 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 11 Dec 2019 11:00:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1iezjM-0006bB-KY; Wed, 11 Dec 2019 11:00:32 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=7m/h=2B=citrix.com=lars.kurth@srs-us1.protection.inumbo.net>)
 id 1iezjL-0006as-Jk
 for minios-devel@lists.xenproject.org; Wed, 11 Dec 2019 11:00:31 +0000
X-Inumbo-ID: 6ce74bbc-1c05-11ea-8afe-12813bfff9fa
Received: from esa2.hc3370-68.iphmx.com (unknown [216.71.145.153])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 6ce74bbc-1c05-11ea-8afe-12813bfff9fa;
 Wed, 11 Dec 2019 11:00:22 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
 d=citrix.com; s=securemail; t=1576062022;
 h=from:to:subject:date:message-id:references:in-reply-to:
 mime-version; bh=S6pkcDCjUBjm8nLYdm77JfVsG8Sbs8Zlk1ZLtaXy/bA=;
 b=B7iJknyXi273qoVlInUXWV3xRFCmo6CovqSQB2w8PzkLaxc+p94Cj+U9
 7KVSJvPjrEr8jr8z8//QbVkQSi3N5hPc3WaTAffGJd3n7tSjWC2jeIh8K
 e9IxpHa4BrGTS7rkqhmONnpz+UZqdnx+NtIngzjoj5h/jIoV3LA2037Lb 8=;
Authentication-Results: esa2.hc3370-68.iphmx.com;
 dkim=none (message not signed) header.i=none;
 spf=None smtp.pra=lars.kurth@citrix.com;
 spf=Pass smtp.mailfrom=lars.kurth@citrix.com;
 spf=None smtp.helo=postmaster@mail.citrix.com
Received-SPF: None (esa2.hc3370-68.iphmx.com: no sender
 authenticity information available from domain of
 lars.kurth@citrix.com) identity=pra;
 client-ip=162.221.158.21; receiver=esa2.hc3370-68.iphmx.com;
 envelope-from="lars.kurth@citrix.com";
 x-sender="lars.kurth@citrix.com"; x-conformance=sidf_compatible
Received-SPF: Pass (esa2.hc3370-68.iphmx.com: domain of
 lars.kurth@citrix.com designates 162.221.158.21 as permitted
 sender) identity=mailfrom; client-ip=162.221.158.21;
 receiver=esa2.hc3370-68.iphmx.com;
 envelope-from="lars.kurth@citrix.com";
 x-sender="lars.kurth@citrix.com";
 x-conformance=sidf_compatible; x-record-type="v=spf1";
 x-record-text="v=spf1 ip4:209.167.231.154 ip4:178.63.86.133
 ip4:195.66.111.40/30 ip4:85.115.9.32/28 ip4:199.102.83.4
 ip4:192.28.146.160 ip4:192.28.146.107 ip4:216.52.6.88
 ip4:216.52.6.188 ip4:162.221.158.21 ip4:162.221.156.83
 ip4:168.245.78.127 ~all"
Received-SPF: None (esa2.hc3370-68.iphmx.com: no sender
 authenticity information available from domain of
 postmaster@mail.citrix.com) identity=helo;
 client-ip=162.221.158.21; receiver=esa2.hc3370-68.iphmx.com;
 envelope-from="lars.kurth@citrix.com";
 x-sender="postmaster@mail.citrix.com";
 x-conformance=sidf_compatible
IronPort-SDR: ezSDD7cfEKXJV0PgEegLp805espSds5v32nW8ngKiqAbhVuCAvuta/1CR+tpCjRghq/huJzT0h
 6NQEKIyT/ai7PvZTBcziCA7SnspXBXBH5ZkI5LT8Yji4rjB8vSdUd6Tv4jUMLrkEk+HNVhvfT6
 fMbzkAzwvzTfJHmeOYXU5GuNGLf4NgXv/WR5A4lYAEHT6mGLsymQxFSKtt1D1CJQIAg5NhPo5/
 JVKavi8BeOxrILRYujt2cXU5JQ+1IEkyvBaW1Jg2CjL/hEdpI8t9RVVl1DPiIwCAocC7aYlEFM
 Gkw=
X-SBRS: 2.7
X-MesageID: 9521843
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
X-IronPort-AV: E=Sophos;i="5.69,301,1571716800"; d="scan'208,217";a="9521843"
From: Lars Kurth <lars.kurth@citrix.com>
To: "mirageos-devel@lists.xenproject.org"
 <mirageos-devel@lists.xenproject.org>, "win-pv-devel@lists.xenproject.org"
 <win-pv-devel@lists.xenproject.org>, "minios-devel@lists.xenproject.org"
 <minios-devel@lists.xenproject.org>, xen-devel
 <xen-devel@lists.xenproject.org>
Thread-Topic: Setting up a monthly Xen Project dinner/pub-meeting
Thread-Index: AQHVsA41A7c6bqM9DUWKBy4/mwY0wqe0s3QA
Date: Wed, 11 Dec 2019 11:00:14 +0000
Message-ID: <CBE71BF8-C791-4C73-9E29-27113B8208A0@citrix.com>
References: <5C9AFAA2-DCA1-4D55-9C0F-8D37C7A280E9@citrix.com>
In-Reply-To: <5C9AFAA2-DCA1-4D55-9C0F-8D37C7A280E9@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: Microsoft-MacOutlook/10.10.10.191111
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
MIME-Version: 1.0
Subject: Re: [Minios-devel] Setting up a monthly Xen Project
 dinner/pub-meeting
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============2933844189852782650=="
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

--===============2933844189852782650==
Content-Language: en-US
Content-Type: multipart/alternative;
	boundary="_000_CBE71BF8C7914C739E2927113B8208A0citrixcom_"

--_000_CBE71BF8C7914C739E2927113B8208A0citrixcom_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

QW5kIHRoaXMgdGltZSB3aXRoIHRoZSBjb3JyZWN0IGxpc3QuIFJlYWxseSBkZXNwYWlyaW5nIHdp
dGggT3V0bG9vayB3aGljaCBrZWVwcyBhZGRpbmcgcmFuZG9tIG9sZCBjb250YWN0cyB0byBteSBh
ZGRyZXNzIGJvb2sgYW5kIHB1dHMgdGhlbSBpbiBmcm9udCBvZiBmcmVxdWVudGx5IHVzZWQgZW50
cmllcyAoc2lnaCkNCg0KRnJvbTogTGFycyBLdXJ0aCA8bGFycy5rdXJ0aEBjaXRyaXguY29tPg0K
RGF0ZTogV2VkbmVzZGF5LCAxMSBEZWNlbWJlciAyMDE5IGF0IDEwOjMxDQpUbzogInhlbi1kZXZl
bEBsaXN0cy54ZW5zb3VyY2UuY29tIiA8eGVuLWRldmVsQGxpc3RzLnhlbnNvdXJjZS5jb20+LCAi
bWlyYWdlb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmciIDxtaXJhZ2Vvcy1kZXZlbEBsaXN0
cy54ZW5wcm9qZWN0Lm9yZz4sICJ3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmciIDx3
aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmc+LCAibWluaW9zLWRldmVsQGxpc3RzLnhl
bnByb2plY3Qub3JnIiA8bWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnPg0KU3ViamVj
dDogU2V0dGluZyB1cCBhIG1vbnRobHkgWGVuIFByb2plY3QgZGlubmVyL3B1Yi1tZWV0aW5nDQoN
CkhpIGFsbCwNCg0Kd2l0aCBxdWl0ZSBhIGZldyBwZW9wbGUgd29ya2luZyBvbiBYZW4gUHJvamVj
dCBhY3Jvc3MgZGlmZmVyZW50IGNvbXBhbmllcyBhbmQgb3JnYW5pc2F0aW9ucyB0aGVzZSBkYXlz
LCBJIHdhcyB3b25kZXJpbmcgd2hldGhlciB3ZSBzaG91bGQgc2V0IHVwIGEgcmVndWxhciBtb250
aGx5IGdldC10b2dldGhlci4gSSB3b3VsZCBsaWtlIHRvIGdldCBhIHNlbnNlIGFzIHRvDQoNCiAg
MS4gIFdobyB3b3VsZCBiZSB3aWxsaW5nIHRvIHR1cm4gdXAg4oCTIG5lZWQgdG8gZ2V0IGEgc2Vu
c2Ugb2YgbnVtYmVycywgYmVjYXVzZSB3ZSBuZWVkIHRvIHNlZSB3aGV0aGVyIGl0IGlzIG5lY2Vz
c2FyeSB0byBib29rIGEgdGFibGUNCiAgMi4gIFdoYXQgZGF5IHdvdWxkIGJlIGJlc3QgYW5kIHdo
YXQgd2VlayBvZiB0aGUgbW9udGgNCiAgMy4gIFdoZXRoZXIgd2Ugd291bGQgYWx3YXlzIGNob29z
ZSB0aGUgc2FtZSB2ZW51ZSDigJMgd2hpY2ggSSBndWVzcyBwYXJ0bHkgZGVwZW5kcyBvbiB0aGUg
YW5zd2VyIHRvIGEpLiBJZiB0aGUgY29yZSBncm91cCBhdHRlbmRpbmcgaXMgbGFyZ2VyIHRoYW4g
OCBwZW9wbGUsIHdlIHByb2JhYmx5IG5lZWQgdG8gYm9vayBhIHRhYmxlLCB3aGljaCBpcyBlYXNp
ZXIgaWYgd2UgY2hvb3NlIHRoZSBzYW1lIHZlbnVlDQoNCklmIHRoZSBhbnN3ZXIgdG8gYykgaXMg
Tk8sIHdlIHNob3VsZCBwcm9iYWJseSBoYXZlIGEgbG9jYWwgY29vcmRpbmF0b3IgYW5kL29yIGVz
dGFibGlzaCB3aGF0IHZlbnVlcyB3ZSBkbyBsaWtlIHRvIGdvIHRocm91Z2ggd2VsbCBpbiBhZHZh
bmNlDQoNCkZlZWwgZnJlZSB0byB2b2ljZSB5b3VyIG9waW5pb24NCg0KUmVnYXJkcw0KTGFycw0K

--_000_CBE71BF8C7914C739E2927113B8208A0citrixcom_
Content-Type: text/html; charset="utf-8"
Content-ID: <6B42F4F0AFC1FE418F1C28CA6D5970D8@citrix.com>
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6bz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6b2ZmaWNlIiB4
bWxuczp3PSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTp3b3JkIiB4bWxuczptPSJo
dHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS8yMDA0LzEyL29tbWwiIHhtbG5zPSJo
dHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwIj4NCjxoZWFkPg0KPG1ldGEgaHR0cC1lcXVp
dj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPg0KPG1l
dGEgbmFtZT0iR2VuZXJhdG9yIiBjb250ZW50PSJNaWNyb3NvZnQgV29yZCAxNSAoZmlsdGVyZWQg
bWVkaXVtKSI+DQo8c3R5bGU+PCEtLQ0KLyogRm9udCBEZWZpbml0aW9ucyAqLw0KQGZvbnQtZmFj
ZQ0KCXtmb250LWZhbWlseToiQ2FtYnJpYSBNYXRoIjsNCglwYW5vc2UtMToyIDQgNSAzIDUgNCA2
IDMgMiA0O30NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6Q2FsaWJyaTsNCglwYW5vc2UtMToy
IDE1IDUgMiAyIDIgNCAzIDIgNDt9DQovKiBTdHlsZSBEZWZpbml0aW9ucyAqLw0KcC5Nc29Ob3Jt
YWwsIGxpLk1zb05vcm1hbCwgZGl2Lk1zb05vcm1hbA0KCXttYXJnaW46MGNtOw0KCW1hcmdpbi1i
b3R0b206LjAwMDFwdDsNCglmb250LXNpemU6MTIuMHB0Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJp
IixzYW5zLXNlcmlmO30NCmE6bGluaywgc3Bhbi5Nc29IeXBlcmxpbmsNCgl7bXNvLXN0eWxlLXBy
aW9yaXR5Ojk5Ow0KCWNvbG9yOiMwNTYzQzE7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9
DQphOnZpc2l0ZWQsIHNwYW4uTXNvSHlwZXJsaW5rRm9sbG93ZWQNCgl7bXNvLXN0eWxlLXByaW9y
aXR5Ojk5Ow0KCWNvbG9yOiM5NTRGNzI7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9DQpw
Lk1zb0xpc3RQYXJhZ3JhcGgsIGxpLk1zb0xpc3RQYXJhZ3JhcGgsIGRpdi5Nc29MaXN0UGFyYWdy
YXBoDQoJe21zby1zdHlsZS1wcmlvcml0eTozNDsNCgltYXJnaW4tdG9wOjBjbTsNCgltYXJnaW4t
cmlnaHQ6MGNtOw0KCW1hcmdpbi1ib3R0b206MGNtOw0KCW1hcmdpbi1sZWZ0OjM2LjBwdDsNCglt
YXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJZm9udC1zaXplOjEyLjBwdDsNCglmb250LWZhbWlseToi
Q2FsaWJyaSIsc2Fucy1zZXJpZjt9DQpwLm1zb25vcm1hbDAsIGxpLm1zb25vcm1hbDAsIGRpdi5t
c29ub3JtYWwwDQoJe21zby1zdHlsZS1uYW1lOm1zb25vcm1hbDsNCgltc28tbWFyZ2luLXRvcC1h
bHQ6YXV0bzsNCgltYXJnaW4tcmlnaHQ6MGNtOw0KCW1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRv
Ow0KCW1hcmdpbi1sZWZ0OjBjbTsNCglmb250LXNpemU6MTEuMHB0Ow0KCWZvbnQtZmFtaWx5OiJD
YWxpYnJpIixzYW5zLXNlcmlmO30NCnNwYW4uRW1haWxTdHlsZTE5DQoJe21zby1zdHlsZS10eXBl
OnBlcnNvbmFsOw0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmOw0KCWNvbG9yOndp
bmRvd3RleHQ7fQ0Kc3Bhbi5FbWFpbFN0eWxlMjANCgl7bXNvLXN0eWxlLXR5cGU6cGVyc29uYWwt
cmVwbHk7DQoJZm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWY7DQoJY29sb3I6d2luZG93
dGV4dDt9DQouTXNvQ2hwRGVmYXVsdA0KCXttc28tc3R5bGUtdHlwZTpleHBvcnQtb25seTsNCglm
b250LXNpemU6MTAuMHB0O30NCkBwYWdlIFdvcmRTZWN0aW9uMQ0KCXtzaXplOjYxMi4wcHQgNzky
LjBwdDsNCgltYXJnaW46NzIuMHB0IDcyLjBwdCA3Mi4wcHQgNzIuMHB0O30NCmRpdi5Xb3JkU2Vj
dGlvbjENCgl7cGFnZTpXb3JkU2VjdGlvbjE7fQ0KLyogTGlzdCBEZWZpbml0aW9ucyAqLw0KQGxp
c3QgbDANCgl7bXNvLWxpc3QtaWQ6MTQyMzc5NTAyNDsNCgltc28tbGlzdC10eXBlOmh5YnJpZDsN
Cgltc28tbGlzdC10ZW1wbGF0ZS1pZHM6LTg5ODE4ODI3NiA2NzY5ODcxMSA2NzY5ODcxMyA2NzY5
ODcxNSA2NzY5ODcwMyA2NzY5ODcxMyA2NzY5ODcxNSA2NzY5ODcwMyA2NzY5ODcxMyA2NzY5ODcx
NTt9DQpAbGlzdCBsMDpsZXZlbDENCgl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YWxwaGEtbG93
ZXI7DQoJbXNvLWxldmVsLXRleHQ6IiUxXCkiOw0KCW1zby1sZXZlbC10YWItc3RvcDpub25lOw0K
CW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsNCgl0ZXh0LWluZGVudDotMTguMHB0O30N
CkBsaXN0IGwwOmxldmVsMg0KCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDphbHBoYS1sb3dlcjsN
Cgltc28tbGV2ZWwtdGFiLXN0b3A6bm9uZTsNCgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxl
ZnQ7DQoJdGV4dC1pbmRlbnQ6LTE4LjBwdDt9DQpAbGlzdCBsMDpsZXZlbDMNCgl7bXNvLWxldmVs
LW51bWJlci1mb3JtYXQ6cm9tYW4tbG93ZXI7DQoJbXNvLWxldmVsLXRhYi1zdG9wOm5vbmU7DQoJ
bXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpyaWdodDsNCgl0ZXh0LWluZGVudDotOS4wcHQ7fQ0K
QGxpc3QgbDA6bGV2ZWw0DQoJe21zby1sZXZlbC10YWItc3RvcDpub25lOw0KCW1zby1sZXZlbC1u
dW1iZXItcG9zaXRpb246bGVmdDsNCgl0ZXh0LWluZGVudDotMTguMHB0O30NCkBsaXN0IGwwOmxl
dmVsNQ0KCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDphbHBoYS1sb3dlcjsNCgltc28tbGV2ZWwt
dGFiLXN0b3A6bm9uZTsNCgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJdGV4dC1p
bmRlbnQ6LTE4LjBwdDt9DQpAbGlzdCBsMDpsZXZlbDYNCgl7bXNvLWxldmVsLW51bWJlci1mb3Jt
YXQ6cm9tYW4tbG93ZXI7DQoJbXNvLWxldmVsLXRhYi1zdG9wOm5vbmU7DQoJbXNvLWxldmVsLW51
bWJlci1wb3NpdGlvbjpyaWdodDsNCgl0ZXh0LWluZGVudDotOS4wcHQ7fQ0KQGxpc3QgbDA6bGV2
ZWw3DQoJe21zby1sZXZlbC10YWItc3RvcDpub25lOw0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRp
b246bGVmdDsNCgl0ZXh0LWluZGVudDotMTguMHB0O30NCkBsaXN0IGwwOmxldmVsOA0KCXttc28t
bGV2ZWwtbnVtYmVyLWZvcm1hdDphbHBoYS1sb3dlcjsNCgltc28tbGV2ZWwtdGFiLXN0b3A6bm9u
ZTsNCgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJdGV4dC1pbmRlbnQ6LTE4LjBw
dDt9DQpAbGlzdCBsMDpsZXZlbDkNCgl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6cm9tYW4tbG93
ZXI7DQoJbXNvLWxldmVsLXRhYi1zdG9wOm5vbmU7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlv
bjpyaWdodDsNCgl0ZXh0LWluZGVudDotOS4wcHQ7fQ0KQGxpc3QgbDENCgl7bXNvLWxpc3QtaWQ6
MjA4OTYxNzU2NzsNCgltc28tbGlzdC10ZW1wbGF0ZS1pZHM6LTEyNDMwODI2OTQ7fQ0KQGxpc3Qg
bDE6bGV2ZWwxDQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0OmFscGhhLWxvd2VyOw0KCW1zby1s
ZXZlbC10YWItc3RvcDozNi4wcHQ7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0K
CXRleHQtaW5kZW50Oi0xOC4wcHQ7fQ0KQGxpc3QgbDE6bGV2ZWwyDQoJe21zby1sZXZlbC1udW1i
ZXItZm9ybWF0OmFscGhhLWxvd2VyOw0KCW1zby1sZXZlbC10YWItc3RvcDo3Mi4wcHQ7DQoJbXNv
LWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQtaW5kZW50Oi0xOC4wcHQ7fQ0KQGxp
c3QgbDE6bGV2ZWwzDQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0OmFscGhhLWxvd2VyOw0KCW1z
by1sZXZlbC10YWItc3RvcDoxMDguMHB0Ow0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVm
dDsNCgl0ZXh0LWluZGVudDotMTguMHB0O30NCkBsaXN0IGwxOmxldmVsNA0KCXttc28tbGV2ZWwt
bnVtYmVyLWZvcm1hdDphbHBoYS1sb3dlcjsNCgltc28tbGV2ZWwtdGFiLXN0b3A6MTQ0LjBwdDsN
Cgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJdGV4dC1pbmRlbnQ6LTE4LjBwdDt9
DQpAbGlzdCBsMTpsZXZlbDUNCgl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YWxwaGEtbG93ZXI7
DQoJbXNvLWxldmVsLXRhYi1zdG9wOjE4MC4wcHQ7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlv
bjpsZWZ0Ow0KCXRleHQtaW5kZW50Oi0xOC4wcHQ7fQ0KQGxpc3QgbDE6bGV2ZWw2DQoJe21zby1s
ZXZlbC1udW1iZXItZm9ybWF0OmFscGhhLWxvd2VyOw0KCW1zby1sZXZlbC10YWItc3RvcDoyMTYu
MHB0Ow0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsNCgl0ZXh0LWluZGVudDotMTgu
MHB0O30NCkBsaXN0IGwxOmxldmVsNw0KCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDphbHBoYS1s
b3dlcjsNCgltc28tbGV2ZWwtdGFiLXN0b3A6MjUyLjBwdDsNCgltc28tbGV2ZWwtbnVtYmVyLXBv
c2l0aW9uOmxlZnQ7DQoJdGV4dC1pbmRlbnQ6LTE4LjBwdDt9DQpAbGlzdCBsMTpsZXZlbDgNCgl7
bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YWxwaGEtbG93ZXI7DQoJbXNvLWxldmVsLXRhYi1zdG9w
OjI4OC4wcHQ7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQtaW5kZW50
Oi0xOC4wcHQ7fQ0KQGxpc3QgbDE6bGV2ZWw5DQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0OmFs
cGhhLWxvd2VyOw0KCW1zby1sZXZlbC10YWItc3RvcDozMjQuMHB0Ow0KCW1zby1sZXZlbC1udW1i
ZXItcG9zaXRpb246bGVmdDsNCgl0ZXh0LWluZGVudDotMTguMHB0O30NCm9sDQoJe21hcmdpbi1i
b3R0b206MGNtO30NCnVsDQoJe21hcmdpbi1ib3R0b206MGNtO30NCi0tPjwvc3R5bGU+DQo8L2hl
YWQ+DQo8Ym9keSBsYW5nPSJFTi1HQiIgbGluaz0iIzA1NjNDMSIgdmxpbms9IiM5NTRGNzIiPg0K
PGRpdiBjbGFzcz0iV29yZFNlY3Rpb24xIj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0
eWxlPSJmb250LXNpemU6MTEuMHB0Ij5BbmQgdGhpcyB0aW1lIHdpdGggdGhlIGNvcnJlY3QgbGlz
dC4gUmVhbGx5IGRlc3BhaXJpbmcgd2l0aCBPdXRsb29rIHdoaWNoIGtlZXBzIGFkZGluZyByYW5k
b20gb2xkIGNvbnRhY3RzIHRvIG15IGFkZHJlc3MgYm9vayBhbmQgcHV0cyB0aGVtIGluIGZyb250
IG9mIGZyZXF1ZW50bHkgdXNlZCBlbnRyaWVzIChzaWdoKTxvOnA+PC9vOnA+PC9zcGFuPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij48bzpw
PiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8ZGl2IHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXIt
dG9wOnNvbGlkICNCNUM0REYgMS4wcHQ7cGFkZGluZzozLjBwdCAwY20gMGNtIDBjbSI+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj48Yj48c3BhbiBzdHlsZT0iY29sb3I6YmxhY2siPkZyb206IDwvc3Bh
bj48L2I+PHNwYW4gc3R5bGU9ImNvbG9yOmJsYWNrIj5MYXJzIEt1cnRoICZsdDtsYXJzLmt1cnRo
QGNpdHJpeC5jb20mZ3Q7PGJyPg0KPGI+RGF0ZTogPC9iPldlZG5lc2RheSwgMTEgRGVjZW1iZXIg
MjAxOSBhdCAxMDozMTxicj4NCjxiPlRvOiA8L2I+JnF1b3Q7eGVuLWRldmVsQGxpc3RzLnhlbnNv
dXJjZS5jb20mcXVvdDsgJmx0O3hlbi1kZXZlbEBsaXN0cy54ZW5zb3VyY2UuY29tJmd0OywgJnF1
b3Q7bWlyYWdlb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcmcXVvdDsgJmx0O21pcmFnZW9z
LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnJmd0OywgJnF1b3Q7d2luLXB2LWRldmVsQGxpc3Rz
LnhlbnByb2plY3Qub3JnJnF1b3Q7ICZsdDt3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5v
cmcmZ3Q7LCAmcXVvdDttaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcmcXVvdDsNCiAm
bHQ7bWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnJmd0Ozxicj4NCjxiPlN1YmplY3Q6
IDwvYj5TZXR0aW5nIHVwIGEgbW9udGhseSBYZW4gUHJvamVjdCBkaW5uZXIvcHViLW1lZXRpbmc8
bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+
PC9wPg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXpl
OjExLjBwdCI+SGkgYWxsLDwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij4mbmJzcDs8L3NwYW4+PG86cD48L286
cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBw
dCI+d2l0aCBxdWl0ZSBhIGZldyBwZW9wbGUgd29ya2luZyBvbiBYZW4gUHJvamVjdCBhY3Jvc3Mg
ZGlmZmVyZW50IGNvbXBhbmllcyBhbmQgb3JnYW5pc2F0aW9ucyB0aGVzZSBkYXlzLCBJIHdhcyB3
b25kZXJpbmcgd2hldGhlciB3ZSBzaG91bGQgc2V0IHVwIGEgcmVndWxhciBtb250aGx5IGdldC10
b2dldGhlci4gSSB3b3VsZCBsaWtlIHRvIGdldCBhIHNlbnNlDQogYXMgdG88L3NwYW4+PG86cD48
L286cD48L3A+DQo8b2wgc3R5bGU9Im1hcmdpbi10b3A6MGNtIiBzdGFydD0iMSIgdHlwZT0iYSI+
DQo8bGkgY2xhc3M9Ik1zb0xpc3RQYXJhZ3JhcGgiIHN0eWxlPSJtYXJnaW4tbGVmdDowY207bXNv
LWxpc3Q6bDAgbGV2ZWwxIGxmbzMiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5XaG8g
d291bGQgYmUgd2lsbGluZyB0byB0dXJuIHVwIOKAkyBuZWVkIHRvIGdldCBhIHNlbnNlIG9mIG51
bWJlcnMsIGJlY2F1c2Ugd2UgbmVlZCB0byBzZWUgd2hldGhlciBpdCBpcyBuZWNlc3NhcnkgdG8g
Ym9vayBhIHRhYmxlPC9zcGFuPjxvOnA+PC9vOnA+PC9saT48bGkgY2xhc3M9Ik1zb0xpc3RQYXJh
Z3JhcGgiIHN0eWxlPSJtYXJnaW4tbGVmdDowY207bXNvLWxpc3Q6bDAgbGV2ZWwxIGxmbzMiPjxz
cGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5XaGF0IGRheSB3b3VsZCBiZSBiZXN0IGFuZCB3
aGF0IHdlZWsgb2YgdGhlIG1vbnRoPC9zcGFuPjxvOnA+PC9vOnA+PC9saT48bGkgY2xhc3M9Ik1z
b0xpc3RQYXJhZ3JhcGgiIHN0eWxlPSJtYXJnaW4tbGVmdDowY207bXNvLWxpc3Q6bDAgbGV2ZWwx
IGxmbzMiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5XaGV0aGVyIHdlIHdvdWxkIGFs
d2F5cyBjaG9vc2UgdGhlIHNhbWUgdmVudWUg4oCTIHdoaWNoIEkgZ3Vlc3MgcGFydGx5IGRlcGVu
ZHMgb24gdGhlIGFuc3dlciB0byBhKS4gSWYgdGhlIGNvcmUgZ3JvdXAgYXR0ZW5kaW5nIGlzIGxh
cmdlciB0aGFuIDggcGVvcGxlLA0KIHdlIHByb2JhYmx5IG5lZWQgdG8gYm9vayBhIHRhYmxlLCB3
aGljaCBpcyBlYXNpZXIgaWYgd2UgY2hvb3NlIHRoZSBzYW1lIHZlbnVlPC9zcGFuPjxvOnA+PC9v
OnA+PC9saT48L29sPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6
ZToxMS4wcHQiPiZuYnNwOzwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5JZiB0aGUgYW5zd2VyIHRvIGMpIGlz
IE5PLCB3ZSBzaG91bGQgcHJvYmFibHkgaGF2ZSBhIGxvY2FsIGNvb3JkaW5hdG9yIGFuZC9vciBl
c3RhYmxpc2ggd2hhdCB2ZW51ZXMgd2UgZG8gbGlrZSB0byBnbyB0aHJvdWdoIHdlbGwgaW4gYWR2
YW5jZTwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0
eWxlPSJmb250LXNpemU6MTEuMHB0Ij4mbmJzcDs8L3NwYW4+PG86cD48L286cD48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+RmVlbCBmcmVl
IHRvIHZvaWNlIHlvdXIgb3Bpbmlvbjwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij4mbmJzcDs8L3NwYW4+PG86
cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXpl
OjExLjBwdCI+UmVnYXJkczwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5MYXJzPC9zcGFuPjxvOnA+PC9vOnA+
PC9wPg0KPC9kaXY+DQo8L2JvZHk+DQo8L2h0bWw+DQo=

--_000_CBE71BF8C7914C739E2927113B8208A0citrixcom_--


--===============2933844189852782650==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRl
dmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

--===============2933844189852782650==--


From minios-devel-bounces@lists.xenproject.org Wed Dec 11 14:20:12 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 11 Dec 2019 14:20:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1if2qZ-0003Zm-SW; Wed, 11 Dec 2019 14:20:11 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=NdI5=2B=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1if2qY-0003Za-MR
 for minios-devel@lists.xen.org; Wed, 11 Dec 2019 14:20:10 +0000
X-Inumbo-ID: 55199f78-1c21-11ea-8b4a-12813bfff9fa
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 55199f78-1c21-11ea-8b4a-12813bfff9fa;
 Wed, 11 Dec 2019 14:20:08 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 460E6F202D;
 Wed, 11 Dec 2019 15:20:07 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-b.office.hd)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id DmhMN6yj7AzR; Wed, 11 Dec 2019 15:20:07 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from puck.office.hd (puck.office.hd [192.168.24.91])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 12DD6F200D;
 Wed, 11 Dec 2019 15:20:03 +0100 (CET)
Received: from localhost (192.168.24.96) by puck.office.hd (192.168.24.91)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Wed, 11 Dec
 2019 15:19:59 +0100
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Wed, 11 Dec 2019 15:19:52 +0100
Message-ID: <20191211141956.4056-3-simon.kuenzer@neclab.eu>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <20191211141956.4056-1-simon.kuenzer@neclab.eu>
References: <20191211141956.4056-1-simon.kuenzer@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [192.168.24.96]
X-ClientProxiedBy: oberon.office.hd (192.168.24.90) To puck.office.hd
 (192.168.24.91)
Subject: [Minios-devel] [UNIKRAFT PATCH 2/6] lib/syscall_shim: Populate make
 rule dependencies
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>,
 Gaulthier Gain <gaulthier.gain@uliege.be>,
 Simon Kuenzer <simon.kuenzer@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

Q29tcGxldGVzIHRoZSBkZXBlbmRlbmNpZXMgb2YgZWFjaCBidWlsZCBydWxlIGluIE1ha2VmaWxl
LnVrLgoKU2lnbmVkLW9mZi1ieTogU2ltb24gS3VlbnplciA8c2ltb24ua3VlbnplckBuZWNsYWIu
ZXU+Ci0tLQogbGliL3N5c2NhbGxfc2hpbS9NYWtlZmlsZS51ayB8IDEyICsrKysrKy0tLS0tLQog
MSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1n
aXQgYS9saWIvc3lzY2FsbF9zaGltL01ha2VmaWxlLnVrIGIvbGliL3N5c2NhbGxfc2hpbS9NYWtl
ZmlsZS51awppbmRleCBkZjYzMjYwMi4uYmJlOTg4MDcgMTAwNjQ0Ci0tLSBhL2xpYi9zeXNjYWxs
X3NoaW0vTWFrZWZpbGUudWsKKysrIGIvbGliL3N5c2NhbGxfc2hpbS9NYWtlZmlsZS51awpAQCAt
MjMsMjIgKzIzLDIyIEBAICQoaWYgJChzaGVsbCBta2RpciAtcCAkKExJQlNZU0NBTExfU0hJTV9J
TkNMVURFU19QQVRIKSAmJiBcCiAkKExJQlNZU0NBTExfU0hJTV9QSE9OWV9TUkMpOiAlOiAlLm5l
dwogCUBjbXAgLXMgJF4gJEA7IGlmIFsgJCQ/IC1uZSAwIF07IHRoZW4gY3AgJF4gJEA7IGZpCiAK
LSQoTElCU1lTQ0FMTF9TSElNX0lOQ0xVREVTX1BBVEgpL3N5c2NhbGxfbnJzLmgubmV3OgorJChM
SUJTWVNDQUxMX1NISU1fSU5DTFVERVNfUEFUSCkvc3lzY2FsbF9ucnMuaC5uZXc6ICQoTElCU1lT
Q0FMTF9TSElNX0JBU0UpL2dlbl9zeXNjYWxsX25ycy5hd2sgJChMSUJTWVNDQUxMX1NISU1fVEVN
UEwpCiAJJChjYWxsIGJ1aWxkX2NtZCxHRU4sbGlic3lzY2FsbF9zaGltLCQobm90ZGlyICRAKSwg
XAogCQkkKEFXSykgLWYgJChMSUJTWVNDQUxMX1NISU1fQkFTRSkvZ2VuX3N5c2NhbGxfbnJzLmF3
ayBcCiAJCSQoTElCU1lTQ0FMTF9TSElNX1RFTVBMKSA+ICRAKQogCi0kKExJQlNZU0NBTExfU0hJ
TV9JTkNMVURFU19QQVRIKS9zeXNjYWxsX21hcC5oLm5ldzoKKyQoTElCU1lTQ0FMTF9TSElNX0lO
Q0xVREVTX1BBVEgpL3N5c2NhbGxfbWFwLmgubmV3OiAkKExJQlNZU0NBTExfU0hJTV9CQVNFKS9n
ZW5fc3lzY2FsbF9tYXAuYXdrICQoTElCU1lTQ0FMTF9TSElNX1RFTVBMKQogCSQoY2FsbCBidWls
ZF9jbWQsR0VOLGxpYnN5c2NhbGxfc2hpbSwkKG5vdGRpciAkQCksIFwKIAkJJChBV0spIC1mICAk
KExJQlNZU0NBTExfU0hJTV9CQVNFKS9nZW5fc3lzY2FsbF9tYXAuYXdrIFwKIAkJJChMSUJTWVND
QUxMX1NISU1fVEVNUEwpID4gJEApCiAKLSQoTElCU1lTQ0FMTF9TSElNX0lOQ0xVREVTX1BBVEgp
L3Byb3ZpZGVkX3N5c2NhbGxzLmg6ICQoTElCU1lTQ0FMTF9TSElNX0JVSUxEKS9wcm92aWRlZF9z
eXNjYWxscy5oLmluCiskKExJQlNZU0NBTExfU0hJTV9JTkNMVURFU19QQVRIKS9wcm92aWRlZF9z
eXNjYWxscy5oOiAkKExJQlNZU0NBTExfU0hJTV9CQVNFKS9nZW5fcHJvdmlkZWQuYXdrICQoTElC
U1lTQ0FMTF9TSElNX0JVSUxEKS9wcm92aWRlZF9zeXNjYWxscy5oLmluCiAJJChjYWxsIGJ1aWxk
X2NtZCxHRU4sbGlic3lzY2FsbF9zaGltLCQobm90ZGlyICRAKSwgXAogCQkkKEFXSykgLUYgJy0n
IC1mICAkKExJQlNZU0NBTExfU0hJTV9CQVNFKS9nZW5fcHJvdmlkZWQuYXdrIFwKLQkJJF4gPiAk
QCkKKwkJJChMSUJTWVNDQUxMX1NISU1fQlVJTEQpL3Byb3ZpZGVkX3N5c2NhbGxzLmguaW4gPiAk
QCkKIAotJChMSUJTWVNDQUxMX1NISU1fQlVJTEQpL3N5c2NhbGxfZW50cnkuYzogJChMSUJTWVND
QUxMX1NISU1fQlVJTEQpL3Byb3ZpZGVkX3N5c2NhbGxzLmguaW4gJChMSUJTWVNDQUxMX1NISU1f
QkFTRSkvZ2VuX2VudHJ5LmF3aworJChMSUJTWVNDQUxMX1NISU1fQlVJTEQpL3N5c2NhbGxfZW50
cnkuYzogJChMSUJTWVNDQUxMX1NISU1fQlVJTEQpL3Byb3ZpZGVkX3N5c2NhbGxzLmguaW4gJChM
SUJTWVNDQUxMX1NISU1fQkFTRSkvZ2VuX2VudHJ5LmF3ayAkKExJQlNZU0NBTExfU0hJTV9CQVNF
KS9lbnRyeS5jLmluX2VuZAogCSQoY2FsbCBidWlsZF9jbWQsR0VOLGxpYnN5c2NhbGxfc2hpbSwk
KG5vdGRpciAkQCksIFwKIAkJJChBV0spIC1GICctJyAtZiAkKExJQlNZU0NBTExfU0hJTV9CQVNF
KS9nZW5fZW50cnkuYXdrICQ8ID4gJEAgJiYgXAogCQljYXQgJChMSUJTWVNDQUxMX1NISU1fQkFT
RSkvZW50cnkuYy5pbl9lbmQgPj4gJEApCkBAIC00Nyw3ICs0Nyw3IEBAICQoTElCU1lTQ0FMTF9T
SElNX0JVSUxEKS9wcm92aWRlZF9zeXNjYWxscy5oLmluLm5ldzoKIAkkKGNhbGwgYnVpbGRfY21k
LEdFTixsaWJzeXNjYWxsX3NoaW0sJChub3RkaXIgJEApLCBcCiAJCWVjaG8gJChVS19QUk9WSURF
RF9TWVNDQUxMUy15KSB8IHRyICcgJyAnXG4nID4gJEApCiAKLSQoTElCU1lTQ0FMTF9TSElNX0lO
Q0xVREVTX1BBVEgpL3N5c2NhbGxfc3R1YnMuaC5uZXc6CiskKExJQlNZU0NBTExfU0hJTV9JTkNM
VURFU19QQVRIKS9zeXNjYWxsX3N0dWJzLmgubmV3OiAkKExJQlNZU0NBTExfU0hJTV9CQVNFKS9n
ZW5fc3R1YnMuYXdrICQoTElCU1lTQ0FMTF9TSElNX1RFTVBMKQogCSQoY2FsbCBidWlsZF9jbWQs
R0VOLGxpYnN5c2NhbGxfc2hpbSwkKG5vdGRpciAkQCksIFwKIAkJJChBV0spIC1mICQoTElCU1lT
Q0FMTF9TSElNX0JBU0UpL2dlbl9zdHVicy5hd2sgXAogCQkkKExJQlNZU0NBTExfU0hJTV9URU1Q
TCkgPiAkQCkKLS0gCjIuMjAuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3Rz
LnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0
aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Wed Dec 11 14:20:12 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 11 Dec 2019 14:20:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1if2qY-0003Zf-Qv; Wed, 11 Dec 2019 14:20:10 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=NdI5=2B=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1if2qX-0003ZV-6m
 for minios-devel@lists.xen.org; Wed, 11 Dec 2019 14:20:09 +0000
X-Inumbo-ID: 4fca4090-1c21-11ea-b6f1-bc764e2007e4
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 4fca4090-1c21-11ea-b6f1-bc764e2007e4;
 Wed, 11 Dec 2019 14:19:59 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 588ED104214;
 Wed, 11 Dec 2019 15:19:58 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-a.office.hd)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id 8l8Hd9XHxtLf; Wed, 11 Dec 2019 15:19:58 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from puck.office.hd (puck.office.hd [192.168.24.91])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 2D28A1041CE;
 Wed, 11 Dec 2019 15:19:58 +0100 (CET)
Received: from localhost (192.168.24.96) by puck.office.hd (192.168.24.91)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Wed, 11 Dec
 2019 15:19:57 +0100
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Wed, 11 Dec 2019 15:19:50 +0100
Message-ID: <20191211141956.4056-1-simon.kuenzer@neclab.eu>
X-Mailer: git-send-email 2.20.1
MIME-Version: 1.0
X-Originating-IP: [192.168.24.96]
X-ClientProxiedBy: titania.office.hd (192.168.24.89) To puck.office.hd
 (192.168.24.91)
Subject: [Minios-devel] [UNIKRAFT PATCH 0/6] lib/syscall_shim: Handling
 binary system calls
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>,
 Gaulthier Gain <gaulthier.gain@uliege.be>,
 Simon Kuenzer <simon.kuenzer@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhpcyBzZXJpZXMgaW50cm9kdWNlcyBzdXBwb3J0IGZvciBoYW5kbGluZyBMaW51eC1zdHlsZSBi
aW5hcnkgc3lzdGVtIGNhbGwKcmVxdWVzdHMgd2l0aCB0aGUgc3lzY2FsbF9zaGltIGxpYnJhcnku
IFRoZSBzeXNjYWxsX3NoaW0gbGlicmFyeSBwcm92aWRlcwpoYW5kbGluZyBvZiBpbmRpcmVjdCBz
eXN0ZW0gY2FsbHMgKGxpa2UgZG9jdW1lbnRlZCB3aXRoIGBtYW4gc3lzY2FsbCgyKWApCndoaWNo
IGlzIGFsc28gbmVlZGVkIHRvIGhhbmRsZSBiaW5hcnkgc3lzdGVtIGNhbGwgcmVxdWVzdHM6IFRo
ZSBzeXN0ZW0gY2FsbApudW1iZXIgaXMgaGFuZGVkIG92ZXIgYXMgYXJndW1lbnQgdG8gdGhlIHN5
c3RlbSBjYWxsIHJlcXVlc3QuCgpIb3dldmVyLCB0aGUgY29udmVudGlvbiBvZiBlcnJvciBoYW5k
bGluZyBpcyBkaWZmZXJlbnQgYmV0d2VlbiB0aGUgYmluYXJ5CnN5c2NhbGwgQUJJIGFuZCB0aGUg
bGliYyBsZXZlbC4gRm9yIHRoaXMgcHVycG9zZSB0aGUgY29uY2VwdCBvZiAibGliYy1zdHlsZSIK
YW5kICJyYXciIHN5c3RlbSBjYWxsIGltcGxlbWVudGlvbnMgaXMgaW50cm9kdWNlZC4KClRoaXMg
cGF0Y2ggc2VyaWVzIGRlcGVuZHMgb24gdGhlIHNlcmllczoKICJTdXBwb3J0IGZvciBiaW5hcnkg
c3lzdGVtIGNhbGxzICh4ODZfNjQsIEtWTSBmb3Igbm93KSIKIChodHRwczovL3BhdGNod29yay51
bmlrcmFmdC5vcmcvcHJvamVjdC91bmlrcmFmdC9saXN0Lz9zZXJpZXM9MTA4MikKClNpbW9uIEt1
ZW56ZXIgKDYpOgogIGxpYi9zeXNjYWxsX3NoaW06IE5hbWVzcGFjZSBkZWZpbml0aW9ucwogIGxp
Yi9zeXNjYWxsX3NoaW06IFBvcHVsYXRlIG1ha2UgcnVsZSBkZXBlbmRlbmNpZXMKICBsaWIvc3lz
Y2FsbF9zaGltOiB1a19zeXNjYWxsX25hbWUoKSwgdWtfc3lzY2FsbF9uYW1lX3AoKQogIGxpYi9z
eXNjYWxsX3NoaW06IFJhdyBzeXN0ZW0gY2FsbHMKICBkb2M6IFJhdyBzeXN0ZW0gY2FsbHMgd2l0
aCBzeXNjYWxsX3NoaW0KICBsaWIvc3lzY2FsbF9zaGltOiBCaW5hcnkgc3lzdGVtIGNhbGwgaGFu
ZGxlcgoKIGRvYy9ndWlkZXMvZGV2ZWxvcGVycy1hcHAucnN0ICAgICAgICAgICAgICAgICB8IDEz
NSArKysrKysrLS0tCiBsaWIvc3lzY2FsbF9zaGltL0NvbmZpZy51ayAgICAgICAgICAgICAgICAg
ICAgfCAgMTUgKy0KIGxpYi9zeXNjYWxsX3NoaW0vTWFrZWZpbGUudWsgICAgICAgICAgICAgICAg
ICB8ICA0NCArKystCiBsaWIvc3lzY2FsbF9zaGltL2dlbl9wcm92aWRlZC5hd2sgICAgICAgICAg
ICAgfCAgIDUgKy0KIGxpYi9zeXNjYWxsX3NoaW0vZ2VuX3N0dWJzLmF3ayAgICAgICAgICAgICAg
ICB8ICAgOCArLQogbGliL3N5c2NhbGxfc2hpbS9nZW5fc3lzY2FsbF9tYXAuYXdrICAgICAgICAg
IHwgICAzICstCiAuLi4ve2dlbl9lbnRyeS5hd2sgPT4gZ2VuX3VrX3N5c2NhbGwuYXdrfSAgICAg
fCAgIDcgKy0KIGxpYi9zeXNjYWxsX3NoaW0vZ2VuX3VrX3N5c2NhbGxfbmFtZS5hd2sgICAgICB8
ICAyMCArKwogbGliL3N5c2NhbGxfc2hpbS9nZW5fdWtfc3lzY2FsbF9uYW1lX3AuYXdrICAgIHwg
IDIwICsrCiBsaWIvc3lzY2FsbF9zaGltL2dlbl91a19zeXNjYWxsX3IuYXdrICAgICAgICAgfCAg
MzkgKysrCiBsaWIvc3lzY2FsbF9zaGltL2luY2x1ZGUvdWsvc3lzY2FsbC5oICAgICAgICAgfCAy
MzQgKysrKysrKysrKysrKy0tLS0tCiBsaWIvc3lzY2FsbF9zaGltL3JlZ21hcF9saW51eGFiaS5o
ICAgICAgICAgICAgfCAgNDYgKysrKwogLi4uL3tlbnRyeS5jLmluX2VuZCA9PiB1a19zeXNjYWxs
LmMuaW5fZW5kfSAgIHwgICA0ICstCiBsaWIvc3lzY2FsbF9zaGltL3VrX3N5c2NhbGxfci5jLmlu
X2VuZCAgICAgICAgfCAgMzMgKysrCiBsaWIvdmZzY29yZS9leHBvcnRzeW1zLnVrICAgICAgICAg
ICAgICAgICAgICAgfCAgIDMgKy0KIGxpYi92ZnNjb3JlL21haW4uYyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB8ICAgOSArLQogMTYgZmlsZXMgY2hhbmdlZCwgNDk3IGluc2VydGlvbnMoKyks
IDEyOCBkZWxldGlvbnMoLSkKIHJlbmFtZSBsaWIvc3lzY2FsbF9zaGltL3tnZW5fZW50cnkuYXdr
ID0+IGdlbl91a19zeXNjYWxsLmF3a30gKDc3JSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWIvc3lz
Y2FsbF9zaGltL2dlbl91a19zeXNjYWxsX25hbWUuYXdrCiBjcmVhdGUgbW9kZSAxMDA2NDQgbGli
L3N5c2NhbGxfc2hpbS9nZW5fdWtfc3lzY2FsbF9uYW1lX3AuYXdrCiBjcmVhdGUgbW9kZSAxMDA2
NDQgbGliL3N5c2NhbGxfc2hpbS9nZW5fdWtfc3lzY2FsbF9yLmF3awogY3JlYXRlIG1vZGUgMTAw
NjQ0IGxpYi9zeXNjYWxsX3NoaW0vcmVnbWFwX2xpbnV4YWJpLmgKIHJlbmFtZSBsaWIvc3lzY2Fs
bF9zaGltL3tlbnRyeS5jLmluX2VuZCA9PiB1a19zeXNjYWxsLmMuaW5fZW5kfSAoNzQlKQogY3Jl
YXRlIG1vZGUgMTAwNjQ0IGxpYi9zeXNjYWxsX3NoaW0vdWtfc3lzY2FsbF9yLmMuaW5fZW5kCgot
LSAKMi4yMC4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVj
dC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlv
cy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Wed Dec 11 14:20:16 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 11 Dec 2019 14:20:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1if2qd-0003b6-UC; Wed, 11 Dec 2019 14:20:15 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=NdI5=2B=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1if2qc-0003am-6Q
 for minios-devel@lists.xen.org; Wed, 11 Dec 2019 14:20:14 +0000
X-Inumbo-ID: 52b3d5dc-1c21-11ea-b6f1-bc764e2007e4
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 52b3d5dc-1c21-11ea-b6f1-bc764e2007e4;
 Wed, 11 Dec 2019 14:20:04 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 40424F200F;
 Wed, 11 Dec 2019 15:20:03 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-b.office.hd)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id yiyTM6ccZaPA; Wed, 11 Dec 2019 15:20:03 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from puck.office.hd (puck.office.hd [192.168.24.91])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 02528F200D;
 Wed, 11 Dec 2019 15:19:58 +0100 (CET)
Received: from localhost (192.168.24.96) by puck.office.hd (192.168.24.91)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Wed, 11 Dec
 2019 15:19:58 +0100
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Wed, 11 Dec 2019 15:19:51 +0100
Message-ID: <20191211141956.4056-2-simon.kuenzer@neclab.eu>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <20191211141956.4056-1-simon.kuenzer@neclab.eu>
References: <20191211141956.4056-1-simon.kuenzer@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [192.168.24.96]
X-ClientProxiedBy: puck.office.hd (192.168.24.91) To puck.office.hd
 (192.168.24.91)
Subject: [Minios-devel] [UNIKRAFT PATCH 1/6] lib/syscall_shim: Namespace
 definitions
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>,
 Gaulthier Gain <gaulthier.gain@uliege.be>,
 Simon Kuenzer <simon.kuenzer@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RW5zdXJlcyB0aGF0IGFsbCBpbnRyb2R1Y2VkIG1hY3JvcyBhbmQgcHJvdG90eXBlcyBhcmUgcHJl
Zml4ZWQgd2l0aAp1aywgX191aywgVUssIG9yIF9fVUsuIFRoaXMgaXMgZG9uZSBmb3IgcmVkdWNp
bmcgdGhlIHJpc2sgb2YgbmFtZQpjbGFzaGVzIGluIHRoZSBmdXR1cmUuCgpTaWduZWQtb2ZmLWJ5
OiBTaW1vbiBLdWVuemVyIDxzaW1vbi5rdWVuemVyQG5lY2xhYi5ldT4KLS0tCiBsaWIvc3lzY2Fs
bF9zaGltL2VudHJ5LmMuaW5fZW5kICAgICAgIHwgIDIgKy0KIGxpYi9zeXNjYWxsX3NoaW0vaW5j
bHVkZS91ay9zeXNjYWxsLmggfCA2MSArKysrKysrKysrKysrKystLS0tLS0tLS0tLS0KIDIgZmls
ZXMgY2hhbmdlZCwgMzUgaW5zZXJ0aW9ucygrKSwgMjggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0
IGEvbGliL3N5c2NhbGxfc2hpbS9lbnRyeS5jLmluX2VuZCBiL2xpYi9zeXNjYWxsX3NoaW0vZW50
cnkuYy5pbl9lbmQKaW5kZXggZGQ4MDllN2IuLjc4Y2I5NmFkIDEwMDY0NAotLS0gYS9saWIvc3lz
Y2FsbF9zaGltL2VudHJ5LmMuaW5fZW5kCisrKyBiL2xpYi9zeXNjYWxsX3NoaW0vZW50cnkuYy5p
bl9lbmQKQEAgLTIsNyArMiw3IEBACiBsb25nIHVrX3N5c2NhbGwobG9uZyBuLCAuLi4pCiB7CiAJ
dmFfbGlzdCBhcDsKLQlzeXNjYWxsX2FyZ190IGEsYixjLGQsZSxmOworCWxvbmcgYSxiLGMsZCxl
LGY7CiAJdmFfc3RhcnQoYXAsIG4pOwogCWE9dmFfYXJnKGFwLCBsb25nKTsKIAliPXZhX2FyZyhh
cCwgbG9uZyk7CmRpZmYgLS1naXQgYS9saWIvc3lzY2FsbF9zaGltL2luY2x1ZGUvdWsvc3lzY2Fs
bC5oIGIvbGliL3N5c2NhbGxfc2hpbS9pbmNsdWRlL3VrL3N5c2NhbGwuaAppbmRleCBlYmVmYTQw
My4uN2VmMTllNWQgMTAwNjQ0Ci0tLSBhL2xpYi9zeXNjYWxsX3NoaW0vaW5jbHVkZS91ay9zeXNj
YWxsLmgKKysrIGIvbGliL3N5c2NhbGxfc2hpbS9pbmNsdWRlL3VrL3N5c2NhbGwuaApAQCAtNDEs
MjYgKzQxLDI2IEBACiAjaW5jbHVkZSA8dWsvcHJpbnQuaD4KIAogI2RlZmluZSBfX3VrX3NjYyhY
KSAoKGxvbmcpIChYKSkKLXR5cGVkZWYgbG9uZyBzeXNjYWxsX2FyZ190OwordHlwZWRlZiBsb25n
IHVrX3N5c2NhbGxfYXJnX3Q7CiAKLSNkZWZpbmUgX191a19zeXNjYWxsKHN5c2NhbGxfbnIsIC4u
LikgXAorI2RlZmluZSBfX3VrX3N5c2NhbGxfZm4oc3lzY2FsbF9uciwgLi4uKSBcCiAJVUtfQ09O
Q0FUKHVrX3N5c2NhbGxfZm5fLCBzeXNjYWxsX25yKSAoX19WQV9BUkdTX18pCiAKLSNkZWZpbmUg
X191a19zeXNjYWxsMChuKSBfX3VrX3N5c2NhbGwobikKLSNkZWZpbmUgX191a19zeXNjYWxsMShu
LGEpIF9fdWtfc3lzY2FsbChuLF9fdWtfc2NjKGEpKQotI2RlZmluZSBfX3VrX3N5c2NhbGwyKG4s
YSxiKSBfX3VrX3N5c2NhbGwobixfX3VrX3NjYyhhKSxfX3VrX3NjYyhiKSkKLSNkZWZpbmUgX191
a19zeXNjYWxsMyhuLGEsYixjKSBfX3VrX3N5c2NhbGwobixfX3VrX3NjYyhhKSxfX3VrX3NjYyhi
KSxfX3VrX3NjYyhjKSkKLSNkZWZpbmUgX191a19zeXNjYWxsNChuLGEsYixjLGQpIF9fdWtfc3lz
Y2FsbChuLF9fdWtfc2NjKGEpLF9fdWtfc2NjKGIpLF9fdWtfc2NjKGMpLF9fdWtfc2NjKGQpKQot
I2RlZmluZSBfX3VrX3N5c2NhbGw1KG4sYSxiLGMsZCxlKSBfX3VrX3N5c2NhbGwobixfX3VrX3Nj
YyhhKSxfX3VrX3NjYyhiKSxfX3VrX3NjYyhjKSxfX3VrX3NjYyhkKSxfX3VrX3NjYyhlKSkKLSNk
ZWZpbmUgX191a19zeXNjYWxsNihuLGEsYixjLGQsZSxmKSBfX3VrX3N5c2NhbGwobixfX3VrX3Nj
YyhhKSxfX3VrX3NjYyhiKSxfX3VrX3NjYyhjKSxfX3VrX3NjYyhkKSxfX3VrX3NjYyhlKSxfX3Vr
X3NjYyhmKSkKLSNkZWZpbmUgX191a19zeXNjYWxsNyhuLGEsYixjLGQsZSxmLGcpIChfX3VrX3N5
c2NhbGwpKG4sX191a19zY2MoYSksX191a19zY2MoYiksX191a19zY2MoYyksX191a19zY2MoZCks
X191a19zY2MoZSksX191a19zY2MoZiksX191a19zY2MoZykpCisjZGVmaW5lIF9fdWtfc3lzY2Fs
bDAobikgX191a19zeXNjYWxsX2ZuKG4pCisjZGVmaW5lIF9fdWtfc3lzY2FsbDEobixhKSBfX3Vr
X3N5c2NhbGxfZm4obixfX3VrX3NjYyhhKSkKKyNkZWZpbmUgX191a19zeXNjYWxsMihuLGEsYikg
X191a19zeXNjYWxsX2ZuKG4sX191a19zY2MoYSksX191a19zY2MoYikpCisjZGVmaW5lIF9fdWtf
c3lzY2FsbDMobixhLGIsYykgX191a19zeXNjYWxsX2ZuKG4sX191a19zY2MoYSksX191a19zY2Mo
YiksX191a19zY2MoYykpCisjZGVmaW5lIF9fdWtfc3lzY2FsbDQobixhLGIsYyxkKSBfX3VrX3N5
c2NhbGxfZm4obixfX3VrX3NjYyhhKSxfX3VrX3NjYyhiKSxfX3VrX3NjYyhjKSxfX3VrX3NjYyhk
KSkKKyNkZWZpbmUgX191a19zeXNjYWxsNShuLGEsYixjLGQsZSkgX191a19zeXNjYWxsX2ZuKG4s
X191a19zY2MoYSksX191a19zY2MoYiksX191a19zY2MoYyksX191a19zY2MoZCksX191a19zY2Mo
ZSkpCisjZGVmaW5lIF9fdWtfc3lzY2FsbDYobixhLGIsYyxkLGUsZikgX191a19zeXNjYWxsX2Zu
KG4sX191a19zY2MoYSksX191a19zY2MoYiksX191a19zY2MoYyksX191a19zY2MoZCksX191a19z
Y2MoZSksX191a19zY2MoZikpCisjZGVmaW5lIF9fdWtfc3lzY2FsbDcobixhLGIsYyxkLGUsZixn
KSBfX3VrX3N5c2NhbGxfZm4obixfX3VrX3NjYyhhKSxfX3VrX3NjYyhiKSxfX3VrX3NjYyhjKSxf
X3VrX3NjYyhkKSxfX3VrX3NjYyhlKSxfX3VrX3NjYyhmKSxfX3VrX3NjYyhnKSkKIAogCi0jZGVm
aW5lIF9fU1lTQ0FMTF9OQVJHU19YKGEsYixjLGQsZSxmLGcsaCxuLC4uLikgbgotI2RlZmluZSBf
X1NZU0NBTExfTkFSR1MoLi4uKSBfX1NZU0NBTExfTkFSR1NfWChfX1ZBX0FSR1NfXyw3LDYsNSw0
LDMsMiwxLDAsKQorI2RlZmluZSBfX1VLX1NZU0NBTExfTkFSR1NfWChhLGIsYyxkLGUsZixnLGgs
biwuLi4pIG4KKyNkZWZpbmUgX19VS19TWVNDQUxMX05BUkdTKC4uLikgX19VS19TWVNDQUxMX05B
UkdTX1goX19WQV9BUkdTX18sNyw2LDUsNCwzLDIsMSwwLCkKIAotI2RlZmluZSBfX1NZU0NBTExf
REVGX05BUkdTX1goeiwgYTEsYTIsIGIxLGIyLCBjMSxjMiwgZDEsZDIsIGUxLGUyLCBmMSxmMiwg
ZzEsZzIsIG5yLCAuLi4pIG5yCi0jZGVmaW5lIF9fU1lTQ0FMTF9ERUZfTkFSR1MoLi4uKSBfX1NZ
U0NBTExfREVGX05BUkdTX1goX19WQV9BUkdTX18sIDcsNywgNiw2LCA1LDUsIDQsNCwgMywzLCAy
LDIsIDEsMSwwKQorI2RlZmluZSBfX1VLX1NZU0NBTExfREVGX05BUkdTX1goeiwgYTEsYTIsIGIx
LGIyLCBjMSxjMiwgZDEsZDIsIGUxLGUyLCBmMSxmMiwgZzEsZzIsIG5yLCAuLi4pIG5yCisjZGVm
aW5lIF9fVUtfU1lTQ0FMTF9ERUZfTkFSR1MoLi4uKSBfX1VLX1NZU0NBTExfREVGX05BUkdTX1go
X19WQV9BUkdTX18sIDcsNywgNiw2LCA1LDUsIDQsNCwgMywzLCAyLDIsIDEsMSwwKQogCiAjZGVm
aW5lIF9fVUtfTkFNRTJTQ0FMTF9GTihuYW1lKSBVS19DT05DQVQodWtfc3lzY2FsbF8sIG5hbWUp
CiAKQEAgLTczLDkgKzczLDkgQEAgdHlwZWRlZiBsb25nIHN5c2NhbGxfYXJnX3Q7CiAjZGVmaW5l
IFVLX0FSR19NQVA3KG0sIHR5cGUsIGFyZywgLi4uKSBtKHR5cGUsIGFyZyksIFVLX0FSR19NQVA2
KG0sIF9fVkFfQVJHU19fKQogI2RlZmluZSBVS19BUkdfTUFQeChucl9hcmdzLCAuLi4pIFVLX0NP
TkNBVChVS19BUkdfTUFQLCBucl9hcmdzKShfX1ZBX0FSR1NfXykKIAotI2RlZmluZSBTX0FSR19M
T05HKHR5cGUsIGFyZykgdW5zaWduZWQgbG9uZyBhcmcKLSNkZWZpbmUgU19BUkdfQUNUVUFMKHR5
cGUsIGFyZykgdHlwZSBhcmcKLSNkZWZpbmUgU19BUkdfQ0FTVCh0eXBlLCBhcmcpICh0eXBlKSBh
cmcKKyNkZWZpbmUgVUtfU19BUkdfTE9ORyh0eXBlLCBhcmcpICAgdW5zaWduZWQgbG9uZyBhcmcK
KyNkZWZpbmUgVUtfU19BUkdfQUNUVUFMKHR5cGUsIGFyZykgdHlwZSBhcmcKKyNkZWZpbmUgVUtf
U19BUkdfQ0FTVCh0eXBlLCBhcmcpICAgKHR5cGUpIGFyZwogCiAKIC8qIE5PVEUgYW5kIFRPRE86
CkBAIC05NCwyMiArOTQsMjQgQEAgdHlwZWRlZiBsb25nIHN5c2NhbGxfYXJnX3Q7CiAgKi8KICNp
ZmRlZiBDT05GSUdfTElCU1lTQ0FMTF9TSElNCiAjZGVmaW5lIF9fVUtfU1lTQ0FMTF9ERUZJTkUo
eCwgbmFtZSwgLi4uKQkJCQlcCi0Jc3RhdGljIGlubGluZSBsb25nIF9fIyNuYW1lKFVLX0FSR19N
QVB4KHgsIFNfQVJHX0FDVFVBTCwgX19WQV9BUkdTX18pKTsgXAotCWxvbmcgbmFtZShVS19BUkdf
TUFQeCh4LCBTX0FSR19MT05HLCBfX1ZBX0FSR1NfXykpCQkJXAorCXN0YXRpYyBpbmxpbmUgbG9u
ZyBfXyMjbmFtZShVS19BUkdfTUFQeCh4LCBVS19TX0FSR19BQ1RVQUwsCVwKKwkJCQkJCV9fVkFf
QVJHU19fKSk7CQlcCisJbG9uZyBuYW1lKFVLX0FSR19NQVB4KHgsIFVLX1NfQVJHX0xPTkcsIF9f
VkFfQVJHU19fKSkJCVwKIAl7CQkJCQkJCQlcCiAJCWxvbmcgcmV0ID0gX18jI25hbWUoCQkJCQlc
Ci0JCQlVS19BUkdfTUFQeCh4LCBTX0FSR19DQVNULCBfX1ZBX0FSR1NfXykpOwkJXAorCQkJVUtf
QVJHX01BUHgoeCwgVUtfU19BUkdfQ0FTVCwgX19WQV9BUkdTX18pKTsJXAogCQlyZXR1cm4gcmV0
OwkJCQkJCVwKIAl9CQkJCQkJCQlcCi0Jc3RhdGljIGlubGluZSBsb25nIF9fIyNuYW1lKFVLX0FS
R19NQVB4KHgsIFNfQVJHX0FDVFVBTCwgX19WQV9BUkdTX18pKQorCXN0YXRpYyBpbmxpbmUgbG9u
ZyBfXyMjbmFtZShVS19BUkdfTUFQeCh4LCBVS19TX0FSR19BQ1RVQUwsCVwKKwkJCQkJCV9fVkFf
QVJHU19fKSkKICNlbHNlCiAjZGVmaW5lIF9fVUtfU1lTQ0FMTF9ERUZJTkUoeCwgbmFtZSwgLi4u
KQkJCQlcCi0Jc3RhdGljIGlubGluZSBsb25nIG5hbWUoVUtfQVJHX01BUHgoeCwgU19BUkdfQUNU
VUFMLCBfX1ZBX0FSR1NfXykpCisJc3RhdGljIGlubGluZSBsb25nIG5hbWUoVUtfQVJHX01BUHgo
eCwgVUtfU19BUkdfQUNUVUFMLCBfX1ZBX0FSR1NfXykpCiAjZW5kaWYKIAogI2RlZmluZSBfVUtf
U1lTQ0FMTF9ERUZJTkUoLi4uKSBfX1VLX1NZU0NBTExfREVGSU5FKF9fVkFfQVJHU19fKQogI2Rl
ZmluZSBVS19TWVNDQUxMX0RFRklORShuYW1lLCAuLi4pCQkJCVwKLQlfVUtfU1lTQ0FMTF9ERUZJ
TkUoX19TWVNDQUxMX0RFRl9OQVJHUyhfX1ZBX0FSR1NfXyksCVwKKwlfVUtfU1lTQ0FMTF9ERUZJ
TkUoX19VS19TWVNDQUxMX0RFRl9OQVJHUyhfX1ZBX0FSR1NfXyksCVwKIAkJCSAgICBfX1VLX05B
TUUyU0NBTExfRk4obmFtZSksCQlcCiAJCQkgICAgX19WQV9BUkdTX18pCiAKQEAgLTEyNiwxMiAr
MTI4LDEyIEBAIHR5cGVkZWYgbG9uZyBzeXNjYWxsX2FyZ190OwogCVVLX0NPTkNBVChfX1VLX1NQ
Uk9UT19BUkdTLCBhcmdzX25yKSgpCiAKICNkZWZpbmUgVUtfU1lTQ0FMTF9QUk9UTyhhcmdzX25y
LCBzeXNjYWxsX25hbWUpCQkJXAotCWxvbmcgVUtfQ09OQ0FUKHVrX3N5c2NhbGxfLCBzeXNjYWxs
X25hbWUpKAlcCisJbG9uZyBfX1VLX05BTUUyU0NBTExFX0ZOKHN5c2NhbGxfbmFtZSkoCQkJXAog
CQlfX1VLX1NQUk9UT19BUkdTeChhcmdzX25yKSkKIAogI2RlZmluZSB1a19zeXNjYWxsX3N0dWIo
c3lzY2FsbF9uYW1lKSAoewkJCVwKIAkJCXVrX3ByX2RlYnVnKCJzeXNjYWxsIFwiIiBzeXNjYWxs
X25hbWUJXAotCQkJCSAgICAiXCIgaXMgbm90IGltcGxlbWVudGVkIik7CVwKKwkJCQkgICAgIlwi
IGlzIG5vdCBpbXBsZW1lbnRlZFxuIik7CVwKIAkJCWVycm5vID0gLUVOT1NZUzsJCQlcCiAJCQkt
MTsJCQkJCVwKIAkJfSkKQEAgLTE0NSw4ICsxNDcsMTMgQEAgdHlwZWRlZiBsb25nIHN5c2NhbGxf
YXJnX3Q7CiAKIGxvbmcgdWtfc3lzY2FsbChsb25nIG4sIC4uLik7CiAKLSNkZWZpbmUgc3lzY2Fs
bCguLi4pCQkJCQkJCVwKLQlVS19DT05DQVQoX191a19zeXNjYWxsLCBfX1NZU0NBTExfTkFSR1Mo
X19WQV9BUkdTX18pKShfX1ZBX0FSR1NfXykKKy8qCisgKiBVc2UgdGhpcyB2YXJpYW50IGluc3Rl
YWQgb2YgYHVrX3N5c2NhbGwoKWAgd2hlbmV2ZXIgdGhlIHN5c3RlbSBjYWxsIG51bWJlcgorICog
aXMgYSBjb25zdGFudC4gVGhpcyBtYWNybyBtYXBzIHRoZSBmdW5jdGlvbiBjYWxsIGRpcmVjdGx5
IHRvIHRoZSB0YXJnZXQKKyAqIGhhbmRsZXIgaW5zdGVhZCBvZiBkb2luZyBhIGxvb2stdXAgYXQg
cnVudGltZQorICovCisjZGVmaW5lIHVrX3N5c2NhbGxfc3RhdGljKC4uLikJCQkJCQlcCisJVUtf
Q09OQ0FUKF9fdWtfc3lzY2FsbCwgX19VS19TWVNDQUxMX05BUkdTKF9fVkFfQVJHU19fKSkoX19W
QV9BUkdTX18pCiAjZW5kaWYKIAogI2VuZGlmIC8qIF9fVUtfU1lTQ0FMTF9IX18gKi8KLS0gCjIu
MjAuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1p
bmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3Jn
Cmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2
ZWw=

From minios-devel-bounces@lists.xenproject.org Wed Dec 11 14:20:23 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 11 Dec 2019 14:20:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1if2qk-0003cK-Vs; Wed, 11 Dec 2019 14:20:22 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=NdI5=2B=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1if2qj-0003c0-3A
 for minios-devel@lists.xen.org; Wed, 11 Dec 2019 14:20:21 +0000
X-Inumbo-ID: 577f4970-1c21-11ea-88e7-bc764e2007e4
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 577f4970-1c21-11ea-88e7-bc764e2007e4;
 Wed, 11 Dec 2019 14:20:12 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 4E996F202D;
 Wed, 11 Dec 2019 15:20:11 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-b.office.hd)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id UPdU_KO-Fo4y; Wed, 11 Dec 2019 15:20:11 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from puck.office.hd (puck.office.hd [192.168.24.91])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 260D4F200D;
 Wed, 11 Dec 2019 15:20:07 +0100 (CET)
Received: from localhost (192.168.24.96) by puck.office.hd (192.168.24.91)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Wed, 11 Dec
 2019 15:20:00 +0100
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Wed, 11 Dec 2019 15:19:53 +0100
Message-ID: <20191211141956.4056-4-simon.kuenzer@neclab.eu>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <20191211141956.4056-1-simon.kuenzer@neclab.eu>
References: <20191211141956.4056-1-simon.kuenzer@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [192.168.24.96]
X-ClientProxiedBy: titania.office.hd (192.168.24.89) To puck.office.hd
 (192.168.24.91)
Subject: [Minios-devel] [UNIKRAFT PATCH 3/6] lib/syscall_shim:
 uk_syscall_name(), uk_syscall_name_p()
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>,
 Gaulthier Gain <gaulthier.gain@uliege.be>,
 Simon Kuenzer <simon.kuenzer@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhlIGZ1bmN0aW9ucyByZXR1cm4gYSBzdHJpbmcgd2l0aCB0aGUgbmFtZSBvZiBhIGdpdmVuIHN5
c3RlbSBjYWxsCm51bWJlci4gYHVrX3N5c2NhbGxfbmFtZV9wKClgIGRvZXMgd29yayBleGFjdGx5
IHRoZSBzYW1lIGFzCmB1a19zeXNjYWxsX25hbWUoKWAgd2l0aCB0aGUgZGlmZmVyZW5jZSB0aGF0
IGl0IG9ubHkgcmVzb2x2ZXMKY29tcGlsZWQtaW4gc3lzdGVtIGNhbGxzLiBUaGVzZSBhcmUgdGhl
IG9uZXMgdGhhdCBhcmUgcG9wdWxhdGVkIHRvClVLX1BST1ZJREVEX1NZU0NBTExTLXkuCgpTaWdu
ZWQtb2ZmLWJ5OiBTaW1vbiBLdWVuemVyIDxzaW1vbi5rdWVuemVyQG5lY2xhYi5ldT4KLS0tCiBs
aWIvc3lzY2FsbF9zaGltL01ha2VmaWxlLnVrICAgICAgICAgICAgICAgfCAxNyArKysrKysrKysr
Ky0tCiBsaWIvc3lzY2FsbF9zaGltL2dlbl91a19zeXNjYWxsX25hbWUuYXdrICAgfCAyMCArKysr
KysrKysrKysrKysKIGxpYi9zeXNjYWxsX3NoaW0vZ2VuX3VrX3N5c2NhbGxfbmFtZV9wLmF3ayB8
IDIwICsrKysrKysrKysrKysrKwogbGliL3N5c2NhbGxfc2hpbS9pbmNsdWRlL3VrL3N5c2NhbGwu
aCAgICAgIHwgMjkgKysrKysrKysrKysrKysrKysrKysrLQogNCBmaWxlcyBjaGFuZ2VkLCA4MyBp
bnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGxpYi9zeXNj
YWxsX3NoaW0vZ2VuX3VrX3N5c2NhbGxfbmFtZS5hd2sKIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWIv
c3lzY2FsbF9zaGltL2dlbl91a19zeXNjYWxsX25hbWVfcC5hd2sKCmRpZmYgLS1naXQgYS9saWIv
c3lzY2FsbF9zaGltL01ha2VmaWxlLnVrIGIvbGliL3N5c2NhbGxfc2hpbS9NYWtlZmlsZS51awpp
bmRleCBiYmU5ODgwNy4uMDE1ZTNhYWQgMTAwNjQ0Ci0tLSBhL2xpYi9zeXNjYWxsX3NoaW0vTWFr
ZWZpbGUudWsKKysrIGIvbGliL3N5c2NhbGxfc2hpbS9NYWtlZmlsZS51awpAQCAtNyw4ICs3LDEw
IEBAIExJQlNZU0NBTExfU0hJTV9QSE9OWV9TUkMgOj0gJChhZGRwcmVmaXggJChMSUJTWVNDQUxM
X1NISU1fSU5DTFVERVNfUEFUSCkvLCAkKExJCiBMSUJTWVNDQUxMX1NISU1fUEhPTllfU1JDICs9
ICQoTElCU1lTQ0FMTF9TSElNX0JVSUxEKS9wcm92aWRlZF9zeXNjYWxscy5oLmluCiBMSUJTWVND
QUxMX1NISU1fUEhPTllfU1JDX05FVyA6PSAkKGFkZHN1ZmZpeCAubmV3LCAkKExJQlNZU0NBTExf
U0hJTV9QSE9OWV9TUkMpKQogCi1MSUJTWVNDQUxMX1NISU1fR0VOX1NSQyA6PSAkKExJQlNZU0NB
TExfU0hJTV9JTkNMVURFU19QQVRIKS9wcm92aWRlZF9zeXNjYWxscy5oIFwKLQkJJChMSUJTWVND
QUxMX1NISU1fQlVJTEQpL3N5c2NhbGxfZW50cnkuYworTElCU1lTQ0FMTF9TSElNX0dFTl9TUkMg
Oj0gJChMSUJTWVNDQUxMX1NISU1fSU5DTFVERVNfUEFUSCkvcHJvdmlkZWRfc3lzY2FsbHMuaAor
TElCU1lTQ0FMTF9TSElNX0dFTl9TUkMgKz0gJChMSUJTWVNDQUxMX1NISU1fQlVJTEQpL3N5c2Nh
bGxfZW50cnkuYworTElCU1lTQ0FMTF9TSElNX0dFTl9TUkMgKz0gJChMSUJTWVNDQUxMX1NISU1f
QlVJTEQpL3VrX3N5c2NhbGxfbmFtZS5jCitMSUJTWVNDQUxMX1NISU1fR0VOX1NSQyArPSAkKExJ
QlNZU0NBTExfU0hJTV9CVUlMRCkvdWtfc3lzY2FsbF9uYW1lX3AuYwogCiBVS19QUkVQQVJFLSQo
Q09ORklHX0xJQlNZU0NBTExfU0hJTSkgKz0gJChMSUJTWVNDQUxMX1NISU1fUEhPTllfU1JDKSAk
KExJQlNZU0NBTExfU0hJTV9HRU5fU1JDKQogCkBAIC00Myw2ICs0NSwxNSBAQCAkKExJQlNZU0NB
TExfU0hJTV9CVUlMRCkvc3lzY2FsbF9lbnRyeS5jOiAkKExJQlNZU0NBTExfU0hJTV9CVUlMRCkv
cHJvdmlkZWRfc3lzYwogCQkkKEFXSykgLUYgJy0nIC1mICQoTElCU1lTQ0FMTF9TSElNX0JBU0Up
L2dlbl9lbnRyeS5hd2sgJDwgPiAkQCAmJiBcCiAJCWNhdCAkKExJQlNZU0NBTExfU0hJTV9CQVNF
KS9lbnRyeS5jLmluX2VuZCA+PiAkQCkKIAorJChMSUJTWVNDQUxMX1NISU1fQlVJTEQpL3VrX3N5
c2NhbGxfbmFtZS5jOiAkKExJQlNZU0NBTExfU0hJTV9CQVNFKS9nZW5fdWtfc3lzY2FsbF9uYW1l
LmF3ayAkKExJQlNZU0NBTExfU0hJTV9URU1QTCkKKwkkKGNhbGwgYnVpbGRfY21kLEdFTixsaWJz
eXNjYWxsX3NoaW0sJChub3RkaXIgJEApLCBcCisJCSQoQVdLKSAtZiAkKExJQlNZU0NBTExfU0hJ
TV9CQVNFKS9nZW5fdWtfc3lzY2FsbF9uYW1lLmF3ayBcCisJCSQoTElCU1lTQ0FMTF9TSElNX1RF
TVBMKSA+ICRAKQorCiskKExJQlNZU0NBTExfU0hJTV9CVUlMRCkvdWtfc3lzY2FsbF9uYW1lX3Au
YzogJChMSUJTWVNDQUxMX1NISU1fQlVJTEQpL3Byb3ZpZGVkX3N5c2NhbGxzLmguaW4gJChMSUJT
WVNDQUxMX1NISU1fQkFTRSkvZ2VuX3VrX3N5c2NhbGxfbmFtZV9wLmF3aworCSQoY2FsbCBidWls
ZF9jbWQsR0VOLGxpYnN5c2NhbGxfc2hpbSwkKG5vdGRpciAkQCksIFwKKwkJJChBV0spIC1GICct
JyAtZiAkKExJQlNZU0NBTExfU0hJTV9CQVNFKS9nZW5fdWtfc3lzY2FsbF9uYW1lX3AuYXdrICQ8
ID4gJEApCisKICQoTElCU1lTQ0FMTF9TSElNX0JVSUxEKS9wcm92aWRlZF9zeXNjYWxscy5oLmlu
Lm5ldzoKIAkkKGNhbGwgYnVpbGRfY21kLEdFTixsaWJzeXNjYWxsX3NoaW0sJChub3RkaXIgJEAp
LCBcCiAJCWVjaG8gJChVS19QUk9WSURFRF9TWVNDQUxMUy15KSB8IHRyICcgJyAnXG4nID4gJEAp
CkBAIC01OCw1ICs2OSw3IEBAIENJTkNMVURFUy15ICAgKz0gLUkkKExJQlNZU0NBTExfU0hJTV9C
QVNFKS9pbmNsdWRlCiBDWFhJTkNMVURFUy15ICs9IC1JJChMSUJTWVNDQUxMX1NISU1fQkFTRSkv
aW5jbHVkZQogCiBMSUJTWVNDQUxMX1NISU1fU1JDUy15ICs9ICQoTElCU1lTQ0FMTF9TSElNX0JV
SUxEKS9zeXNjYWxsX2VudHJ5LmMKK0xJQlNZU0NBTExfU0hJTV9TUkNTLXkgKz0gJChMSUJTWVND
QUxMX1NISU1fQlVJTEQpL3VrX3N5c2NhbGxfbmFtZS5jCitMSUJTWVNDQUxMX1NISU1fU1JDUy15
ICs9ICQoTElCU1lTQ0FMTF9TSElNX0JVSUxEKS91a19zeXNjYWxsX25hbWVfcC5jCiAKIExJQlNZ
U0NBTExfU0hJTV9DTEVBTiA9ICQoTElCU1lTQ0FMTF9TSElNX1BIT05ZX1NSQykgJChMSUJTWVND
QUxMX1NISU1fUEhPTllfU1JDX05FVykgJChMSUJTWVNDQUxMX1NISU1fR0VOX1NSQykgJChMSUJT
WVNDQUxMX1NISU1fR0VOX1NSQykKZGlmZiAtLWdpdCBhL2xpYi9zeXNjYWxsX3NoaW0vZ2VuX3Vr
X3N5c2NhbGxfbmFtZS5hd2sgYi9saWIvc3lzY2FsbF9zaGltL2dlbl91a19zeXNjYWxsX25hbWUu
YXdrCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwLi43ZTk5YWIyYgotLS0gL2Rl
di9udWxsCisrKyBiL2xpYi9zeXNjYWxsX3NoaW0vZ2VuX3VrX3N5c2NhbGxfbmFtZS5hd2sKQEAg
LTAsMCArMSwyMCBAQAorQkVHSU4geworCXByaW50ICIvKiBBdXRvIGdlbmVyYXRlZCBmaWxlLiBE
TyBOT1QgRURJVCAqL1xuIgorCisJcHJpbnQgIiNpbmNsdWRlIDxzdGRkZWYuaD5cbiIKKwlwcmlu
dCAiI2luY2x1ZGUgPHVrL3N5c2NhbGwuaD5cbiIKKworCXByaW50ICJjb25zdCBjaGFyICp1a19z
eXNjYWxsX25hbWUobG9uZyBucilcbnsiCisJcHJpbnQgIlx0c3dpdGNoIChucikgeyIKK30KKwor
LyNkZWZpbmUgX19OUl8veworCXByaW50ZiAiXHRjYXNlIFNZU18lczpcbiIsIHN1YnN0cigkMiw2
KQorCXByaW50ZiAiXHRcdHJldHVybiBcIiVzXCI7XG4iLCBzdWJzdHIoJDIsNikKK30KKworRU5E
IHsKKwlwcmludCAiXHRkZWZhdWx0OiIKKwlwcmludCAiXHRcdHJldHVybiBOVUxMOyIKKwlwcmlu
dCAiXHR9XG59IgorfQpkaWZmIC0tZ2l0IGEvbGliL3N5c2NhbGxfc2hpbS9nZW5fdWtfc3lzY2Fs
bF9uYW1lX3AuYXdrIGIvbGliL3N5c2NhbGxfc2hpbS9nZW5fdWtfc3lzY2FsbF9uYW1lX3AuYXdr
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwLi5jNjI1MTI5OQotLS0gL2Rldi9u
dWxsCisrKyBiL2xpYi9zeXNjYWxsX3NoaW0vZ2VuX3VrX3N5c2NhbGxfbmFtZV9wLmF3awpAQCAt
MCwwICsxLDIwIEBACitCRUdJTiB7CisJcHJpbnQgIi8qIEF1dG8gZ2VuZXJhdGVkIGZpbGUuIERP
IE5PVCBFRElUICovXG4iCisKKwlwcmludCAiI2luY2x1ZGUgPHN0ZGRlZi5oPlxuIgorCXByaW50
ICIjaW5jbHVkZSA8dWsvc3lzY2FsbC5oPlxuIgorCisJcHJpbnQgImNvbnN0IGNoYXIgKnVrX3N5
c2NhbGxfbmFtZV9wKGxvbmcgbnIpXG57IgorCXByaW50ICJcdHN3aXRjaCAobnIpIHsiCit9CisK
Ky9bYS16QS1aMC05XSstWzAtOV0rL3sKKwlwcmludGYgIlx0Y2FzZSBTWVNfJXM6XG4iLCAkMQor
CXByaW50ZiAiXHRcdHJldHVybiBcIiVzXCI7XG4iLCAkMQorfQorCitFTkQgeworCXByaW50ICJc
dGRlZmF1bHQ6IgorCXByaW50ICJcdFx0cmV0dXJuIE5VTEw7IgorCXByaW50ICJcdH1cbn0iCit9
CmRpZmYgLS1naXQgYS9saWIvc3lzY2FsbF9zaGltL2luY2x1ZGUvdWsvc3lzY2FsbC5oIGIvbGli
L3N5c2NhbGxfc2hpbS9pbmNsdWRlL3VrL3N5c2NhbGwuaAppbmRleCA3ZWYxOWU1ZC4uNTQ5NDYx
MTkgMTAwNjQ0Ci0tLSBhL2xpYi9zeXNjYWxsX3NoaW0vaW5jbHVkZS91ay9zeXNjYWxsLmgKKysr
IGIvbGliL3N5c2NhbGxfc2hpbS9pbmNsdWRlL3VrL3N5c2NhbGwuaApAQCAtMSw2ICsxLDcgQEAK
IC8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UgKi8KIC8qCiAgKiBBdXRo
b3JzOiBZdXJpIFZvbGNoa292IDx5dXJpLnZvbGNoa292QG5lY2xhYi5ldT4KKyAqICAgICAgICAg
IFNpbW9uIEt1ZW56ZXIgPHNpbW9uLmt1ZW56ZXJAbmVjbGFiLmV1PgogICoKICAqCiAgKiBDb3B5
cmlnaHQgKGMpIDIwMTksIE5FQyBMYWJvcmF0b3JpZXMgRXVyb3BlIEdtYkgsIE5FQyBDb3Jwb3Jh
dGlvbi4KQEAgLTE1NCw2ICsxNTUsMzIgQEAgbG9uZyB1a19zeXNjYWxsKGxvbmcgbiwgLi4uKTsK
ICAqLwogI2RlZmluZSB1a19zeXNjYWxsX3N0YXRpYyguLi4pCQkJCQkJXAogCVVLX0NPTkNBVChf
X3VrX3N5c2NhbGwsIF9fVUtfU1lTQ0FMTF9OQVJHUyhfX1ZBX0FSR1NfXykpKF9fVkFfQVJHU19f
KQotI2VuZGlmCisKKy8qKgorICogUmV0dXJucyBhIHN0cmluZyB3aXRoIHRoZSBuYW1lIG9mIHRo
ZSBzeXN0ZW0gY2FsbCBudW1iZXIgYG5yYC4KKyAqCisgKiBAcGFyYW0gbnIKKyAqICBTeXN0ZW0g
Y2FsbCBudW1iZXIgb2YgY3VycmVudCBhcmNoaXRlY3R1cmUKKyAqIEByZXR1cm4KKyAqICAtIChj
b25zdCBjaGFyICopOiBuYW1lIG9mIHN5c3RlbSBjYWxsCisgKiAgLSAoTlVMTCk6IGlmIHN5c3Rl
bSBjYWxsIG51bWJlciBpcyB1bmtub3duCisgKi8KK2NvbnN0IGNoYXIgKnVrX3N5c2NhbGxfbmFt
ZShsb25nIG5yKTsKKworLyoqCisgKiBSZXR1cm5zIGEgc3RyaW5nIHdpdGggdGhlIG5hbWUgb2Yg
dGhlIHN5c3RlbSBjYWxsIG51bWJlciBgbnJgLgorICogVGhpcyBmdW5jdGlvbiBpcyBzaW1pbGFy
IHRvIGB1a19zeXNjYWxsX25hbWVgIGJ1dCBpdCB1c2VzCisgKiBhIHNtYWxsZXIgbG9va3VwIHRh
YmxlIGludGVybmFsbHkuIFRoaXMgdGFibGUgY29udGFpbnMgb25seQorICogc3lzdGVtIGNhbGwg
bmFtZSBtYXBwaW5ncyBvZiBwcm92aWRlZCBjYWxscy4KKyAqCisgKiBAcGFyYW0gbnIKKyAqICBT
eXN0ZW0gY2FsbCBudW1iZXIgb2YgY3VycmVudCBhcmNoaXRlY3R1cmUKKyAqIEByZXR1cm4KKyAq
ICAtIChjb25zdCBjaGFyICopOiBuYW1lIG9mIHByb3ZpZGVkIHN5c3RlbSBjYWxsCisgKiAgLSAo
TlVMTCk6IGlmIHN5c3RlbSBjYWxsIGlzIG5vdCBwcm92aWRlZAorICovCitjb25zdCBjaGFyICp1
a19zeXNjYWxsX25hbWVfcChsb25nIG5yKTsKKworI2VuZGlmIC8qIENPTkZJR19MSUJTWVNDQUxM
X1NISU0gKi8KIAogI2VuZGlmIC8qIF9fVUtfU1lTQ0FMTF9IX18gKi8KLS0gCjIuMjAuMQoKCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZl
bCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8v
bGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Wed Dec 11 14:20:23 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 11 Dec 2019 14:20:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1if2ql-0003cP-1Q; Wed, 11 Dec 2019 14:20:23 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=NdI5=2B=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1if2qj-0003c6-Al
 for minios-devel@lists.xen.org; Wed, 11 Dec 2019 14:20:21 +0000
X-Inumbo-ID: 5c59fb48-1c21-11ea-8b4a-12813bfff9fa
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 5c59fb48-1c21-11ea-8b4a-12813bfff9fa;
 Wed, 11 Dec 2019 14:20:20 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 6D2D6F202E;
 Wed, 11 Dec 2019 15:20:19 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-b.office.hd)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id xD6_caByWSbL; Wed, 11 Dec 2019 15:20:19 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from puck.office.hd (puck.office.hd [192.168.24.91])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 429BFF200D;
 Wed, 11 Dec 2019 15:20:15 +0100 (CET)
Received: from localhost (192.168.24.96) by puck.office.hd (192.168.24.91)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Wed, 11 Dec
 2019 15:20:01 +0100
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Wed, 11 Dec 2019 15:19:55 +0100
Message-ID: <20191211141956.4056-6-simon.kuenzer@neclab.eu>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <20191211141956.4056-1-simon.kuenzer@neclab.eu>
References: <20191211141956.4056-1-simon.kuenzer@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [192.168.24.96]
X-ClientProxiedBy: oberon.office.hd (192.168.24.90) To puck.office.hd
 (192.168.24.91)
Subject: [Minios-devel] [UNIKRAFT PATCH 5/6] doc: Raw system calls with
 syscall_shim
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>,
 Gaulthier Gain <gaulthier.gain@uliege.be>,
 Simon Kuenzer <simon.kuenzer@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VXBkYXRlIHRoZSBkb2N1bWVudGF0aW9uIHRvIHJlZmxlY3QgdGhlIGRpZmZlcmVudGlhdGlvbiBv
ZiByYXcgYW5kCmxpYmMtc3R5bGUgc3lzdGVtIGNhbGwgaW1wbGVtZW50YXRpb25zLgoKU2lnbmVk
LW9mZi1ieTogU2ltb24gS3VlbnplciA8c2ltb24ua3VlbnplckBuZWNsYWIuZXU+Ci0tLQogZG9j
L2d1aWRlcy9kZXZlbG9wZXJzLWFwcC5yc3QgfCAxMzUgKysrKysrKysrKysrKysrKysrKysrKysr
KystLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDEwNiBpbnNlcnRpb25zKCspLCAyOSBkZWxldGlv
bnMoLSkKCmRpZmYgLS1naXQgYS9kb2MvZ3VpZGVzL2RldmVsb3BlcnMtYXBwLnJzdCBiL2RvYy9n
dWlkZXMvZGV2ZWxvcGVycy1hcHAucnN0CmluZGV4IGQyODhiYjYxLi41YjVmMDkxOCAxMDA2NDQK
LS0tIGEvZG9jL2d1aWRlcy9kZXZlbG9wZXJzLWFwcC5yc3QKKysrIGIvZG9jL2d1aWRlcy9kZXZl
bG9wZXJzLWFwcC5yc3QKQEAgLTMyNCw1MCArMzI0LDEyNyBAQCBUaGlzIHdpbGwgYWRkIHRoZSBz
ZWN0aW9uIC51a19mc19saXN0IGFmdGVyIHRoZSAudGV4dAogU3lzY2FsbCBzaGltIGxheWVyCiA9
PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAKLUlmIHlvdSBsaWJyYXJ5IHByb3ZpZGVzIGEg
c3lzY2FsbCwgeW91IG5lZWQgdG8gaW5mb3JtIFVuaWtyYWZ0IHRoYXQgaXQKLWNhbiB1c2UgeW91
ciBpbXBsZW1lbnRhdGlvbi4gQWRkIGEgbGluZSBpbiB5b3UgTWFrZWZpbGUudWs6IDo6CitUaGUg
c3lzdGVtIGNhbGwgc2hpbSBsYXllciAoYGBsaWIvc3lzY2FsbF9zaGltYGApIHByb3ZpZGVzIExp
bnV4LXN0eWxlIG1hcHBpbmdzCitvZiBzeXN0ZW0gY2FsbCBudW1iZXJzIHRvIGFjdHVhbCBzeXN0
ZW0gY2FsbCBoYW5kbGVyIGZ1bmN0aW9ucy4gWW91IGNhbgoraW1wbGVtZW50IGEgc3lzdGVtIGNh
bGwgaGFuZGxlciBieSB1c2luZyBvbmUgb2YgdGhlIGRlZmluaXRpb24gbWFjcm9zCisoYGBVS19T
WVNDQUxMX0RFRklORWBgLCBgYFVLX1NZU0NBTExfUl9ERUZJTkVgYCkgYW5kIHJlZ2lzdGVyIHRo
ZSBzeXN0ZW0KK2NhbGwgYnkgYWRkaW5nIGl0IHRvIGBgVUtfUFJPVklERURfU1lTQ0FMTFMteWBg
IHdpdGhpbiB5b3VyIGBgTWFrZWZpbGUudWtgYC4KIAotICAgIFVLX1BST1ZJREVEX1NZU0NBTExT
LSQoQ09ORklHX0xJQllPVVJMSUJOQU1FKSArPSA8c3lzY2FsbF9uYW1lPi08bnVtYmVyX29mX2Fy
Z3VtZW50cz4KK1RoZSBzaGltIGxheWVyIGxpYnJhcnkgc3VwcG9ydHMgdHdvIGltcGxlbWVudGF0
aW9uIHZhcmlhbnRzIGZvciBzeXN0ZW0gY2FsbAoraGFuZGxlcnM6CiAKLVdoZXJlIGA8bnVtYmVy
X29mX2FyZ3VtZW50cz5gIGlzIGhvdyBtYW55IGFyZ3VtZW50cyB5b3VyIHN5c2NhbGwgYWNjZXB0
cy4KKygxKSBsaWJjLXN0eWxlOiBUaGUgZnVuY3Rpb24gaW1wbGVtZW50YXRpb24gcmV0dXJucyBg
YC0xYGAgYW5kIHNldHMgYGBlcnJub2BgCisgICAgaW4gY2FzZSBvZiBlcnJvcnMKIAotRm9yIGV4
YW1wbGU6IDo6CisoMikgYW5kIHJhdzogVGhlIGZ1bmN0aW9uIGltcGxlbWVudGF0aW9uIHJldHVy
bnMgYSBuZWdhdGl2ZSBlcnJvciB2YWx1ZSBpbiBjYXNlCisgICAgb2YgZXJyb3JzLiBgYGVycm5v
YGAgaXMgbm90IHVzZWQgYXQgYWxsLgorCitCZWNhdXNlIG9mIGxpYnJhcnkgaW50ZXJuYWxzLCBl
YWNoIHN5c3RlbSBjYWxsIGltcGxlbWVudGF0aW9uIG5lZWRzIHRvIGJlCitwcm92aWRlZCB3aXRo
IGJvdGggdmFyaWFudHMuIFRoZSBidWlsZCBvcHRpb24gYERyb3AgdW51c2VkIGZ1bmN0aW9ucyBh
bmQgZGF0YWAKK2lzIG1ha2luZyBzdXJlIHRoYXQgb25seSB0aGUgdmFyaWFudHMgYXJlIGNvbXBp
bGVkLWluIHRoYXQgYXJlIGFjdHVhbGx5IGluIHVzZS4KIAotICAgIFVLX1BST1ZJREVEX1NZU0NB
TExTLSQoQ09ORklHX0xJQlZGU0NPUkUpICs9IHdyaXRldi0zCitZb3UgY2FuIHVzZSBoZWxwZXIg
bWFjcm9zIGluIG9yZGVyIHRvIGltcGxlbWVudCB0aGUgY2FsbCBqdXN0IG9uY2UuIFRoZSBmaXJz
dAordmFyaWFudCBjYW4gYmUgaW1wbGVtZW50ZWQgd2l0aCB0aGUgYGBVS19TWVNDQUxMX0RFRklO
RWBgIG1hY3JvOgogCi0uLiBub3RlOjogUGxlYXNlIGNvbnN1bHQgY29ycmVzcG9uZGluZyBtYW4g
cGFnZSBpbiBvcmRlciB0byBrZWVwIEFQSQotICAgICAgICAgICBtYXRjaGluZyB0byB0aGUgZXF1
aXZhbGVudCBsaW51eCBzeXNjYWxsCisuLiBjb2RlLWJsb2NrOjogYworCisgICAgVUtfU1lTQ0FM
TF9ERUZJTkUocmV0dXJuX3R5cGUsIHN5c2NhbGxfbmFtZSwgYXJnMV90eXBlLCBhcmcxX25hbWUs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJnMl90
eXBlLCBhcmcyX25hbWUsIC4uKQorICAgIHsKKyAgICAgICAgLyogLi4uICovCisgICAgfQogCi1G
b3IgdGhlIGltcGxlbWVudGF0aW9uIG9mIHlvdSBzeXNjYWxsIHVzZSB0aGUgZm9sbG93aW5nIHRl
bXBsYXRlOgorRXhhbXBsZToKIAogLi4gY29kZS1ibG9jazo6IGMKIAotICBVS19TWVNDQUxMX0RF
RklORShzeXNjYWxsX25hbWUsIGFyZzFfdHlwZSwgYXJnMV9uYW1lLCBhcmcyX3R5cGUsIGFyZzJf
bmFtZSwgLi4pCi0gIHsKLSAgCXJldCA9IGRvX2Nvb2xfc3R1ZmYoKTsKLSAgCWlmIChyZXQpIHsK
LSAgCQllcnJubyA9IEVSUk9SX0NPREU7Ci0gIAkJcmV0dXJuIC0xOwotICAJfQotICAJcmV0dXJu
IDA7Ci0gIH0KKyAgICAjaW5jbHVkZSA8dWsvc3lzY2FsbC5oPgorCisgICAgVUtfU1lTQ0FMTF9E
RUZJTkUoc3NpemVfdCwgd3JpdGUsIGludCwgZmQsIGNvbnN0IHZvaWQgKiwgYnVmLCBzaXplX3Qs
IGNvdW50KQorICAgIHsKKyAgICAgICAgc3NpemVfdCByZXQ7CiAKLUZvciBleGFtcGxlOgorICAg
ICAgICByZXQgPSB2ZnNfZG9fd3JpdGUoZmQsIGJ1ZiwgY291bnQpOworICAgICAgICBpZiAocmV0
IDwgMCkgeworICAgICAgICAgICAgZXJybm8gPSBFRkFVTFQ7CisgICAgICAgICAgICByZXR1cm4g
LTE7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHJldDsKKyAgICB9CisKKworUmF3IGltcGxl
bWVudGF0aW9ucyBzaG91bGQgdXNlIHRoZSBgYFVLX1NZU0NBTExfUl9ERUZJTkVgYCBtYWNybzoK
IAogLi4gY29kZS1ibG9jazo6IGMKIAotICBVS19TWVNDQUxMX0RFRklORSh3cml0ZXYsIHVuc2ln
bmVkIGxvbmcsIGZkLCBjb25zdCBzdHJ1Y3QgaW92ZWMgKiwgdmVjLAotICAJCSAgdW5zaWduZWQg
bG9uZywgdmxlbikKLSAgewotICAJcmV0dXJuIHB3cml0ZXYoZmQsIHZlYywgdmxlbiwgLTEpOwot
ICB9CisgICAgVUtfU1lTQ0FMTF9SX0RFRklORShyZXR1cm5fdHlwZSwgc3lzY2FsbF9uYW1lLCBh
cmcxX3R5cGUsIGFyZzFfbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGFyZzJfdHlwZSwgYXJnMl9uYW1lLCAuLikKKyAgICB7CisgICAgICAg
IC8qIC4uLiAqLworICAgIH0KKworRXhhbXBsZToKKworLi4gY29kZS1ibG9jazo6IGMKKworICAg
ICNpbmNsdWRlIDx1ay9zeXNjYWxsLmg+CisKKyAgICBVS19TWVNDQUxMX1JfREVGSU5FKHNzaXpl
X3QsIHdyaXRlLCBpbnQsIGZkLCBjb25zdCB2b2lkICosIGJ1Ziwgc2l6ZV90LCBjb3VudCkKKyAg
ICB7CisgICAgICAgIGxvbmcgcmV0OworCisgICAgICAgIHJldCA9IChsb25nKSB2ZnNfZG9fd3Jp
dGUoZmQsIGJ1ZiwgY291bnQpOworICAgICAgICBpZiAocmV0IDwgMCkgeworICAgICAgICAgICAg
cmV0dXJuIC1FRkFVTFQ7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHJldDsKKyAgICB9CisK
K1BsZWFzZSBub3RlIHRoYXQgaW4gdGhlIHJhdyBjYXNlIChgYFVLX1NZU0NBTExfUl9ERUZJTkVg
YCksIHRoZSByZXR1cm4gdHlwZQord2l0aGluIHlvdXIgY29kZSBibG9jayBpcyBhbHdheXMgYGBs
b25nYGAuIFRoZSBzcGVjaWZpZWQgcmV0dXJuIHR5cGUgYXMKK3BhcmFtZXRlciB0byB0aGUgbWFj
cm8gd2lsbCBiZSB1c2VkIGZvciB0aGUgbGliYy1zdHlsZSB3cmFwcGVyLiBIb3dldmVyLCB0aGUK
K2lucHV0IHBhcmFtZXRlcnMgYXJlIGRlZmluZWQgd2l0aCB0aGUgYWN0dWFsIHR5cGUgZm9yIHlv
dXIgY29kZSBibG9jay4KKworQm90aCBtYWNyb3MgY3JlYXRlIHRoZSBmb2xsb3dpbmcgdGhyZWUg
c3ltYm9sczoKKworLi4gY29kZS1ibG9jazo6IGMKKworICAgIC8qIGxpYmMtc3R5bGUgc3lzdGVt
IGNhbGwgdGhhdCByZXR1cm5zIC0xIGFuZCBzZXRzIGVycm5vIG9uIGVycm9ycyAqLworICAgIGxv
bmcgdWtfc3lzY2FsbF9lXzxzeXNjYWxsX25hbWU+KGxvbmcgPGFyZzFfbmFtZT4sIGxvbmcgPGFy
ZzJfbmFtZT4sIC4uLik7CisKKyAgICAvKiBSYXcgc3lzdGVtIGNhbGwgdGhhdCByZXR1cm5zIG5l
Z2F0aXZlIGVycm9yIGNvZGVzIG9uIGVycm9ycyAqLworICAgIGxvbmcgdWtfc3lzY2FsbF9yXzxz
eXNjYWxsX25hbWU+KGxvbmcgPGFyZzFfbmFtZT4sIGxvbmcgPGFyZzJfbmFtZT4sIC4uLik7CisK
KyAgICAvKiBsaWJjLXN0eWxlIHdyYXBwZXIgKHRoZSBzYW1lIGFzIHVrX3N5c2NhbGxfZV88c3lz
Y2FsbF9uYW1lPiBidXQgd2l0aCBhY3R1YWwgdHlwZXMpICovCisgICAgPHJldHVybl90eXBlPiA8
c3lzY2FsbF9uYW1lPig8YXJnMV90eXBlPiA8YXJnMV9uYW1lPiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDxhcmcyX3R5cGU+IDxhcmcyX25hbWU+LCAuLi4pOworCitOb3RlOiBX
aGVuIGBzeXNjYWxsX3NoaW1gIGxpYnJhcnkgaXMgbm90IGVuYWJsZWQsIHRoZSBvcmlnaW5hbCBk
ZXNpZ24gaWRlYSB3YXMKK3RoYXQgdGhlIG1hY3JvcyBwcm92aWRlIHRoZSBsaWJjLXN0eWxlIHdy
YXBwZXIgb25seS4gSG93ZXZlciwgYm90aCBtYWNyb3MKK3Byb3ZpZGUgYWx3YXlzIGFsbCB0aHJl
ZSB2YXJpYW50cy4gVGhpcyBpcyBkb25lIHRvIHN1cHBvcnQgdGhlIGNhc2UgdGhhdCBhCitzeXN0
ZW0gY2FsbCBpcyBpbXBsZW1lbnRlZCBvbiB0b3Agb2YgYW5vdGhlci4KKworSWYgeW91ciBsaWJy
YXJ5IHVzZXMgYW4gYGBleHBvcnRzeW1zLnVrYGAgZmlsZSwgeW91IG5lZWQgdG8gYWRkIHRoZSB0
aHJlZQorc3ltYm9scyBmb3IgbWFraW5nIHRoZW0gcHVibGljIGF2YWlsYWJsZTogOjoKKworICAg
dWtfc3lzY2FsbF9lXzxzeXNjYWxsbmFtZT4KKyAgIHVrX3N5c2NhbGxfcl88c3lzY2FsbG5hbWU+
CisgICA8c3lzY2FsbG5hbWU+CisKK0luIG91ciBleGFtcGxlOiA6OgorCisgICB1a19zeXNjYWxs
X2Vfd3JpdGUKKyAgIHVrX3N5c2NhbGxfcl93cml0ZQorICAgd3JpdGUKKworSW4gb3JkZXIgdG8g
cmVnaXN0ZXIgdGhlIHN5c3RlbSBjYWxsIHRvIGBzeXNjYWxsX3NoaW1gLCBhZGQgaXQgdG8KK2Bg
VUtfUFJPVklERURfU1lTQ0FMTFMteWBgIHdpdGggdGhlIGxpYnJhcnkgYGBNYWtlZmlsZS51a2Bg
OiA6OgorCisgICBVS19QUk9WSURFRF9TWVNDQUxMUy0kKENPTkZJR188WU9VUkxJQj4pICs9IDxz
eXNjYWxsX25hbWU+LTxudW1iZXJfb2ZfYXJndW1lbnRzPgogCi1QbGVhc2Ugbm90ZSwgdGhhdCBz
eXNjYWxsX3NoaW0gZXhwZWN0cyBiZWhhdmlvciBhcyBkZXNjcmliZWQgaW4gYGBtYW4gMgotc3lz
Y2FsbGBgLiBOYW1lbHk6IDo6CitUaGUgYGBNYWtlZmlsZS51a2BgIHNuaXBwZXQgZm9yIG91ciBl
eGFtcGxlOiA6OgogCi0gIFRoZSByZXR1cm4gdmFsdWUgaXMgZGVmaW5lZCBieSB0aGUgc3lzdGVt
IGNhbGwgYmVpbmcgaW52b2tlZC4gIEluCi0gIGdlbmVyYWwsIGEgMCByZXR1cm4gdmFsdWUgaW5k
aWNhdGVzIHN1Y2Nlc3MuICBBIC0xIHJldHVybiB2YWx1ZQotICBpbmRpY2F0ZXMgYW4gZXJyb3Is
IGFuZCBhbiBlcnJvciBjb2RlIGlzIHN0b3JlZCBpbiBlcnJuby4KKyAgIFVLX1BST1ZJREVEX1NZ
U0NBTExTLSQoQ09ORklHX0xJQldSSVRFU1lTKSArPSB3cml0ZS0zCiAKID09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KIENvbW1hbmQgbGluZSBhcmd1bWVudHMgaW4gVW5pa3JhZnQK
LS0gCjIuMjAuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2pl
Y3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5p
b3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Wed Dec 11 14:20:27 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 11 Dec 2019 14:20:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1if2qp-0003dp-4V; Wed, 11 Dec 2019 14:20:27 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=NdI5=2B=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1if2qn-0003dc-Nn
 for minios-devel@lists.xen.org; Wed, 11 Dec 2019 14:20:25 +0000
X-Inumbo-ID: 59e56fa0-1c21-11ea-88e7-bc764e2007e4
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 59e56fa0-1c21-11ea-88e7-bc764e2007e4;
 Wed, 11 Dec 2019 14:20:16 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 600BBF200F;
 Wed, 11 Dec 2019 15:20:15 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-b.office.hd)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id xMPHI7U_tLci; Wed, 11 Dec 2019 15:20:15 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from puck.office.hd (puck.office.hd [192.168.24.91])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 33945F200D;
 Wed, 11 Dec 2019 15:20:11 +0100 (CET)
Received: from localhost (192.168.24.96) by puck.office.hd (192.168.24.91)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Wed, 11 Dec
 2019 15:20:01 +0100
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Wed, 11 Dec 2019 15:19:54 +0100
Message-ID: <20191211141956.4056-5-simon.kuenzer@neclab.eu>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <20191211141956.4056-1-simon.kuenzer@neclab.eu>
References: <20191211141956.4056-1-simon.kuenzer@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [192.168.24.96]
X-ClientProxiedBy: puck.office.hd (192.168.24.91) To puck.office.hd
 (192.168.24.91)
Subject: [Minios-devel] [UNIKRAFT PATCH 4/6] lib/syscall_shim: Raw system
 calls
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>,
 Gaulthier Gain <gaulthier.gain@uliege.be>,
 Simon Kuenzer <simon.kuenzer@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhpcyBwYXRjaCBpbnRyb2R1Y2VzIHRoZSBjb25jZXB0IGZvciBkaXN0aW5ndWlzaGluZyBzeXN0
ZW0gY2FsbAppbXBsZW1lbnRhdGlvbnM6IGxpYmMtc3R5bGUgYW5kIHJhdy4gVGhlc2UgY29uY2Vw
dHMgZGlmZmVyZW50aWF0ZSBob3cKZXJyb3IgaGFuZGxpbmcgaXMgaW1wbGVtZW50ZWQ6ICJsaWJj
LXN0eWxlIiBoYW5kbGVycyByZXR1cm4gLTEgYW5kIHNldAplcnJubyB0byBjb3JyZXNwb25kaW5n
IGVycm9yIGNvZGUuICJSYXciIGhhbmRsZXJzIHJldHVybiBuZWdhdGl2ZQplcnJvciBjb2RlcyBh
bmQgbmV2ZXIgdG91Y2ggZXJybm8uIFRvIHNpbXBsaWZ5IGltcGxlbWVudGF0aW9uLCB0aGUKY29t
bWl0IGludHJvZHVjZXMgYSBzZXQgb2YgbWFjcm9zOiBgVUtfU1lTQ0FMTF9ERUZJTkVgIGFuZApg
VUtfU1lTQ0FMTF9SX0RFRklORWAuIFRoZXNlIG1hY3JvcyBhdXRvbWF0aWNhbGx5IGNyZWF0ZSB3
cmFwcGVycyBzbwp0aGF0IGVhY2ggc3lzdGVtIGNhbGwgaGFuZGxlciBpcyBhdmFpbGFibGUgaW4g
Ym90aCBzdHlsZXM7IGluZGVwZW5kZW50Cm9mIGl0cyBpbXBsZW1lbnRhdGlvbiBzdHlsZS4gQm90
aCBtYWNyb3Mgd2lsbCBhbHNvIHByb3ZpZGUgdGhlCmxpYmMtd3JhcHBlci4KSXQgaXMgaW50ZW5k
ZWQgdGhhdCB0aGUgY29tcGlsZSBvcHRpb246ICJEcm9wcGluZyB1bnVzZWQgZnVuY3Rpb25zIGFu
ZApzeW1ib2xzIiBzaG91bGQgYmUgdXNlZCB0byByZW1vdmUgYWxsIHN5c3RlbSBjYWxsIHZlcnNp
b25zIGZyb20gdGhlCmZpbmFsIGJpbmFyeSB0aGF0IGFyZSBub3QgaW4gdXNlLiBUaGlzIGNvbW1p
dCBhbHNvIHByb3ZpZGVzCnVrX3N5c2NhbGxfcigpIGFzIGEgcmF3IGVxdWl2YWxlbnQgdG8gdWtf
c3lzY2FsbCgpIChsaWJjLXN0eWxlKS4KClNpZ25lZC1vZmYtYnk6IFNpbW9uIEt1ZW56ZXIgPHNp
bW9uLmt1ZW56ZXJAbmVjbGFiLmV1PgotLS0KIGxpYi9zeXNjYWxsX3NoaW0vTWFrZWZpbGUudWsg
ICAgICAgICAgICAgICAgICB8ICAxNyArLQogbGliL3N5c2NhbGxfc2hpbS9nZW5fcHJvdmlkZWQu
YXdrICAgICAgICAgICAgIHwgICA1ICstCiBsaWIvc3lzY2FsbF9zaGltL2dlbl9zdHVicy5hd2sg
ICAgICAgICAgICAgICAgfCAgIDggKy0KIGxpYi9zeXNjYWxsX3NoaW0vZ2VuX3N5c2NhbGxfbWFw
LmF3ayAgICAgICAgICB8ICAgMyArLQogLi4uL3tnZW5fZW50cnkuYXdrID0+IGdlbl91a19zeXNj
YWxsLmF3a30gICAgIHwgICA3ICstCiBsaWIvc3lzY2FsbF9zaGltL2dlbl91a19zeXNjYWxsX3Iu
YXdrICAgICAgICAgfCAgMzkgKysrKysKIGxpYi9zeXNjYWxsX3NoaW0vaW5jbHVkZS91ay9zeXNj
YWxsLmggICAgICAgICB8IDE1OCArKysrKysrKysrKysrLS0tLS0KIC4uLi97ZW50cnkuYy5pbl9l
bmQgPT4gdWtfc3lzY2FsbC5jLmluX2VuZH0gICB8ICAgMiArLQogbGliL3N5c2NhbGxfc2hpbS91
a19zeXNjYWxsX3IuYy5pbl9lbmQgICAgICAgIHwgIDE1ICsrCiBsaWIvdmZzY29yZS9leHBvcnRz
eW1zLnVrICAgICAgICAgICAgICAgICAgICAgfCAgIDMgKy0KIGxpYi92ZnNjb3JlL21haW4uYyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgOSArLQogMTEgZmlsZXMgY2hhbmdlZCwgMTk2
IGluc2VydGlvbnMoKyksIDcwIGRlbGV0aW9ucygtKQogcmVuYW1lIGxpYi9zeXNjYWxsX3NoaW0v
e2dlbl9lbnRyeS5hd2sgPT4gZ2VuX3VrX3N5c2NhbGwuYXdrfSAoNzclKQogY3JlYXRlIG1vZGUg
MTAwNjQ0IGxpYi9zeXNjYWxsX3NoaW0vZ2VuX3VrX3N5c2NhbGxfci5hd2sKIHJlbmFtZSBsaWIv
c3lzY2FsbF9zaGltL3tlbnRyeS5jLmluX2VuZCA9PiB1a19zeXNjYWxsLmMuaW5fZW5kfSAoODQl
KQogY3JlYXRlIG1vZGUgMTAwNjQ0IGxpYi9zeXNjYWxsX3NoaW0vdWtfc3lzY2FsbF9yLmMuaW5f
ZW5kCgpkaWZmIC0tZ2l0IGEvbGliL3N5c2NhbGxfc2hpbS9NYWtlZmlsZS51ayBiL2xpYi9zeXNj
YWxsX3NoaW0vTWFrZWZpbGUudWsKaW5kZXggMDE1ZTNhYWQuLjdhZmEyMDE0IDEwMDY0NAotLS0g
YS9saWIvc3lzY2FsbF9zaGltL01ha2VmaWxlLnVrCisrKyBiL2xpYi9zeXNjYWxsX3NoaW0vTWFr
ZWZpbGUudWsKQEAgLTgsNyArOCw4IEBAIExJQlNZU0NBTExfU0hJTV9QSE9OWV9TUkMgKz0gJChM
SUJTWVNDQUxMX1NISU1fQlVJTEQpL3Byb3ZpZGVkX3N5c2NhbGxzLmguaW4KIExJQlNZU0NBTExf
U0hJTV9QSE9OWV9TUkNfTkVXIDo9ICQoYWRkc3VmZml4IC5uZXcsICQoTElCU1lTQ0FMTF9TSElN
X1BIT05ZX1NSQykpCiAKIExJQlNZU0NBTExfU0hJTV9HRU5fU1JDIDo9ICQoTElCU1lTQ0FMTF9T
SElNX0lOQ0xVREVTX1BBVEgpL3Byb3ZpZGVkX3N5c2NhbGxzLmgKLUxJQlNZU0NBTExfU0hJTV9H
RU5fU1JDICs9ICQoTElCU1lTQ0FMTF9TSElNX0JVSUxEKS9zeXNjYWxsX2VudHJ5LmMKK0xJQlNZ
U0NBTExfU0hJTV9HRU5fU1JDICs9ICQoTElCU1lTQ0FMTF9TSElNX0JVSUxEKS91a19zeXNjYWxs
LmMKK0xJQlNZU0NBTExfU0hJTV9HRU5fU1JDICs9ICQoTElCU1lTQ0FMTF9TSElNX0JVSUxEKS91
a19zeXNjYWxsX3IuYwogTElCU1lTQ0FMTF9TSElNX0dFTl9TUkMgKz0gJChMSUJTWVNDQUxMX1NI
SU1fQlVJTEQpL3VrX3N5c2NhbGxfbmFtZS5jCiBMSUJTWVNDQUxMX1NISU1fR0VOX1NSQyArPSAk
KExJQlNZU0NBTExfU0hJTV9CVUlMRCkvdWtfc3lzY2FsbF9uYW1lX3AuYwogCkBAIC00MCwxMCAr
NDEsMTUgQEAgJChMSUJTWVNDQUxMX1NISU1fSU5DTFVERVNfUEFUSCkvcHJvdmlkZWRfc3lzY2Fs
bHMuaDogJChMSUJTWVNDQUxMX1NISU1fQkFTRSkvZ2UKIAkJJChBV0spIC1GICctJyAtZiAgJChM
SUJTWVNDQUxMX1NISU1fQkFTRSkvZ2VuX3Byb3ZpZGVkLmF3ayBcCiAJCSQoTElCU1lTQ0FMTF9T
SElNX0JVSUxEKS9wcm92aWRlZF9zeXNjYWxscy5oLmluID4gJEApCiAKLSQoTElCU1lTQ0FMTF9T
SElNX0JVSUxEKS9zeXNjYWxsX2VudHJ5LmM6ICQoTElCU1lTQ0FMTF9TSElNX0JVSUxEKS9wcm92
aWRlZF9zeXNjYWxscy5oLmluICQoTElCU1lTQ0FMTF9TSElNX0JBU0UpL2dlbl9lbnRyeS5hd2sg
JChMSUJTWVNDQUxMX1NISU1fQkFTRSkvZW50cnkuYy5pbl9lbmQKKyQoTElCU1lTQ0FMTF9TSElN
X0JVSUxEKS91a19zeXNjYWxsLmM6ICQoTElCU1lTQ0FMTF9TSElNX0JVSUxEKS9wcm92aWRlZF9z
eXNjYWxscy5oLmluICQoTElCU1lTQ0FMTF9TSElNX0JBU0UpL2dlbl91a19zeXNjYWxsLmF3ayAk
KExJQlNZU0NBTExfU0hJTV9CQVNFKS91a19zeXNjYWxsLmMuaW5fZW5kCiAJJChjYWxsIGJ1aWxk
X2NtZCxHRU4sbGlic3lzY2FsbF9zaGltLCQobm90ZGlyICRAKSwgXAotCQkkKEFXSykgLUYgJy0n
IC1mICQoTElCU1lTQ0FMTF9TSElNX0JBU0UpL2dlbl9lbnRyeS5hd2sgJDwgPiAkQCAmJiBcCi0J
CWNhdCAkKExJQlNZU0NBTExfU0hJTV9CQVNFKS9lbnRyeS5jLmluX2VuZCA+PiAkQCkKKwkJJChB
V0spIC1GICctJyAtZiAkKExJQlNZU0NBTExfU0hJTV9CQVNFKS9nZW5fdWtfc3lzY2FsbC5hd2sg
JDwgPiAkQCAmJiBcCisJCWNhdCAkKExJQlNZU0NBTExfU0hJTV9CQVNFKS91a19zeXNjYWxsLmMu
aW5fZW5kID4+ICRAKQorCiskKExJQlNZU0NBTExfU0hJTV9CVUlMRCkvdWtfc3lzY2FsbF9yLmM6
ICQoTElCU1lTQ0FMTF9TSElNX0JVSUxEKS9wcm92aWRlZF9zeXNjYWxscy5oLmluICQoTElCU1lT
Q0FMTF9TSElNX0JBU0UpL2dlbl91a19zeXNjYWxsX3IuYXdrICQoTElCU1lTQ0FMTF9TSElNX0JB
U0UpL3VrX3N5c2NhbGxfci5jLmluX2VuZAorCSQoY2FsbCBidWlsZF9jbWQsR0VOLGxpYnN5c2Nh
bGxfc2hpbSwkKG5vdGRpciAkQCksIFwKKwkJJChBV0spIC1GICctJyAtZiAkKExJQlNZU0NBTExf
U0hJTV9CQVNFKS9nZW5fdWtfc3lzY2FsbF9yLmF3ayAkPCA+ICRAICYmIFwKKwkJY2F0ICQoTElC
U1lTQ0FMTF9TSElNX0JBU0UpL3VrX3N5c2NhbGxfci5jLmluX2VuZCA+PiAkQCkKIAogJChMSUJT
WVNDQUxMX1NISU1fQlVJTEQpL3VrX3N5c2NhbGxfbmFtZS5jOiAkKExJQlNZU0NBTExfU0hJTV9C
QVNFKS9nZW5fdWtfc3lzY2FsbF9uYW1lLmF3ayAkKExJQlNZU0NBTExfU0hJTV9URU1QTCkKIAkk
KGNhbGwgYnVpbGRfY21kLEdFTixsaWJzeXNjYWxsX3NoaW0sJChub3RkaXIgJEApLCBcCkBAIC02
OCw3ICs3NCw4IEBAIENYWElOQ0xVREVTLSQoQ09ORklHX0xJQlNZU0NBTExfU0hJTSkgKz0gLUkk
KExJQlNZU0NBTExfU0hJTV9CVUlMRCkvaW5jbHVkZQogQ0lOQ0xVREVTLXkgICArPSAtSSQoTElC
U1lTQ0FMTF9TSElNX0JBU0UpL2luY2x1ZGUKIENYWElOQ0xVREVTLXkgKz0gLUkkKExJQlNZU0NB
TExfU0hJTV9CQVNFKS9pbmNsdWRlCiAKLUxJQlNZU0NBTExfU0hJTV9TUkNTLXkgKz0gJChMSUJT
WVNDQUxMX1NISU1fQlVJTEQpL3N5c2NhbGxfZW50cnkuYworTElCU1lTQ0FMTF9TSElNX1NSQ1Mt
eSArPSAkKExJQlNZU0NBTExfU0hJTV9CVUlMRCkvdWtfc3lzY2FsbC5jCitMSUJTWVNDQUxMX1NI
SU1fU1JDUy15ICs9ICQoTElCU1lTQ0FMTF9TSElNX0JVSUxEKS91a19zeXNjYWxsX3IuYwogTElC
U1lTQ0FMTF9TSElNX1NSQ1MteSArPSAkKExJQlNZU0NBTExfU0hJTV9CVUlMRCkvdWtfc3lzY2Fs
bF9uYW1lLmMKIExJQlNZU0NBTExfU0hJTV9TUkNTLXkgKz0gJChMSUJTWVNDQUxMX1NISU1fQlVJ
TEQpL3VrX3N5c2NhbGxfbmFtZV9wLmMKIApkaWZmIC0tZ2l0IGEvbGliL3N5c2NhbGxfc2hpbS9n
ZW5fcHJvdmlkZWQuYXdrIGIvbGliL3N5c2NhbGxfc2hpbS9nZW5fcHJvdmlkZWQuYXdrCmluZGV4
IDA4MTA4OTNiLi5mMmQ2NDhhZCAxMDA2NDQKLS0tIGEvbGliL3N5c2NhbGxfc2hpbS9nZW5fcHJv
dmlkZWQuYXdrCisrKyBiL2xpYi9zeXNjYWxsX3NoaW0vZ2VuX3Byb3ZpZGVkLmF3awpAQCAtMSw1
ICsxLDYgQEAKIEJFR0lOIHtwcmludCAiLyogQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgZmlsZTsg
RE8gTk9UIEVESVQgKi8ifQogL1thLXpBLVowLTldKy1bMC05XSsvewotCXByaW50ZiAiXG4jZGVm
aW5lIEhBVkVfdWtfc3lzY2FsbF8lcyB0IiwgJDE7Ci0JcHJpbnRmICJcblVLX1NZU0NBTExfUFJP
VE8oJXMsICVzKTtcbiIsICQyLCAkMTsKKwlwcmludGYgIlxuI2RlZmluZSBIQVZFX3VrX3N5c2Nh
bGxfJXMgdFxuIiwgJDE7CisJcHJpbnRmICJVS19TWVNDQUxMX0VfUFJPVE8oJXMsICVzKTtcbiIs
ICQyLCAkMTsKKwlwcmludGYgIlVLX1NZU0NBTExfUl9QUk9UTyglcywgJXMpO1xuIiwgJDIsICQx
OwogfQpkaWZmIC0tZ2l0IGEvbGliL3N5c2NhbGxfc2hpbS9nZW5fc3R1YnMuYXdrIGIvbGliL3N5
c2NhbGxfc2hpbS9nZW5fc3R1YnMuYXdrCmluZGV4IGRlMTM2ZjE4Li5hOTM3MTI2NSAxMDA2NDQK
LS0tIGEvbGliL3N5c2NhbGxfc2hpbS9nZW5fc3R1YnMuYXdrCisrKyBiL2xpYi9zeXNjYWxsX3No
aW0vZ2VuX3N0dWJzLmF3awpAQCAtMSw4ICsxLDggQEAKIEJFR0lOIHsgcHJpbnQgIi8qIEF1dG8g
Z2VuZXJhdGVkIGZpbGUuIERvIG5vdCBlZGl0ICovIiB9CiAvI2RlZmluZSBfX05SXy8gewogCW5h
bWUgPSBzdWJzdHIoJDIsNik7Ci0JdWtfbmFtZSA9ICJ1a19zeXNjYWxsXyIgbmFtZQotCXByaW50
ZiAiXG4jaWZuZGVmIEhBVkVfJXMiLCB1a19uYW1lOwotCXByaW50ZiAiXG4jZGVmaW5lICVzKC4u
LikgdWtfc3lzY2FsbF9zdHViKFwiJXNcIikiLCB1a19uYW1lLCBuYW1lOwotCXByaW50ZiAiXG4j
ZW5kaWYgLyogSEFWRV8lcyAqL1xuIiwgdWtfbmFtZTsKKwlwcmludGYgIlxuI2lmbmRlZiBIQVZF
X3VrX3N5c2NhbGxfJXMiLCBuYW1lOworCXByaW50ZiAiXG4jZGVmaW5lIHVrX3N5c2NhbGxfZV8l
cyguLi4pIHVrX3N5c2NhbGxfZV9zdHViKFwiJXNcIikiLCBuYW1lLCBuYW1lOworCXByaW50ZiAi
XG4jZGVmaW5lIHVrX3N5c2NhbGxfcl8lcyguLi4pIHVrX3N5c2NhbGxfcl9zdHViKFwiJXNcIiki
LCBuYW1lLCBuYW1lOworCXByaW50ZiAiXG4jZW5kaWYgLyogIUhBVkVfdWtfc3lzY2FsbF8lcyAq
L1xuIiwgbmFtZTsKIH0KZGlmZiAtLWdpdCBhL2xpYi9zeXNjYWxsX3NoaW0vZ2VuX3N5c2NhbGxf
bWFwLmF3ayBiL2xpYi9zeXNjYWxsX3NoaW0vZ2VuX3N5c2NhbGxfbWFwLmF3awppbmRleCA5OWIy
NDdkZC4uYjY1YTAwMDcgMTAwNjQ0Ci0tLSBhL2xpYi9zeXNjYWxsX3NoaW0vZ2VuX3N5c2NhbGxf
bWFwLmF3aworKysgYi9saWIvc3lzY2FsbF9zaGltL2dlbl9zeXNjYWxsX21hcC5hd2sKQEAgLTEs
NCArMSw1IEBACiBCRUdJTiB7cHJpbnQgIi8qIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGZpbGU7
IERPIE5PVCBFRElUICovXG4ifQogLyNkZWZpbmUgX19OUl8vewotCXByaW50ZiAiI2RlZmluZSB1
a19zeXNjYWxsX2ZuXyVzKC4uLikgdWtfc3lzY2FsbF8lcyhfX1ZBX0FSR1NfXylcbiIsICQzLHN1
YnN0cigkMiw2KQorCXByaW50ZiAiI2RlZmluZSB1a19zeXNjYWxsX2ZuXyVzKC4uLikgICB1a19z
eXNjYWxsX2VfJXMoX19WQV9BUkdTX18pXG4iLCAkMyxzdWJzdHIoJDIsNikKKwlwcmludGYgIiNk
ZWZpbmUgdWtfc3lzY2FsbF9yX2ZuXyVzKC4uLikgdWtfc3lzY2FsbF9yXyVzKF9fVkFfQVJHU19f
KVxuIiwgJDMsc3Vic3RyKCQyLDYpCiB9CmRpZmYgLS1naXQgYS9saWIvc3lzY2FsbF9zaGltL2dl
bl9lbnRyeS5hd2sgYi9saWIvc3lzY2FsbF9zaGltL2dlbl91a19zeXNjYWxsLmF3awpzaW1pbGFy
aXR5IGluZGV4IDc3JQpyZW5hbWUgZnJvbSBsaWIvc3lzY2FsbF9zaGltL2dlbl9lbnRyeS5hd2sK
cmVuYW1lIHRvIGxpYi9zeXNjYWxsX3NoaW0vZ2VuX3VrX3N5c2NhbGwuYXdrCmluZGV4IDkyNDU3
MDg5Li4yZjJlMWZhOSAxMDA2NDQKLS0tIGEvbGliL3N5c2NhbGxfc2hpbS9nZW5fZW50cnkuYXdr
CisrKyBiL2xpYi9zeXNjYWxsX3NoaW0vZ2VuX3VrX3N5c2NhbGwuYXdrCkBAIC01LDcgKzUsNyBA
QCBCRUdJTiB7CiAJcHJpbnQgIiNpbmNsdWRlIDx1ay9zeXNjYWxsLmg+IgogCXByaW50ICIjaW5j
bHVkZSA8dWsvcHJpbnQuaD5cbiIKIAotCXByaW50ZiAic3RhdGljIGlubGluZSBsb25nIF9fc3lz
Y2FsbF9keW5hbWljKGxvbmcgbnIsICIKKwlwcmludGYgInN0YXRpYyBpbmxpbmUgbG9uZyBfX3Vr
X3N5c2NhbGwobG9uZyBuciwgIgogCWZvciAoaSA9IDE7IGkgPCBtYXhfYXJnczsgaSsrKQogCQlw
cmludGYgImxvbmcgYXJnJWQsICIsaQogCXByaW50ZiAibG9uZyBhcmclZClcbntcbiIsIG1heF9h
cmdzCkBAIC0yMCwxMCArMjAsOSBAQCBCRUdJTiB7CiAvW2EtekEtWjAtOV0rLVswLTldKy97CiAJ
bmFtZSA9ICQxCiAJc3lzX25hbWUgPSAiU1lTXyIgbmFtZQotCXVrX25hbWUgPSAidWtfc3lzY2Fs
bF8iIG5hbWUKIAlhcmdzX25yID0gJDIgKyAwCiAJcHJpbnRmICJcdGNhc2UgJXM6XG4iLCBzeXNf
bmFtZTsKLQlwcmludGYgIlx0XHRyZXR1cm4gJXMoIiwgdWtfbmFtZTsKKwlwcmludGYgIlx0XHRy
ZXR1cm4gdWtfc3lzY2FsbF9lXyVzKCIsIG5hbWU7CiAJZm9yIChpID0gMTsgaSA8IGFyZ3NfbnI7
IGkrKykKIAkJcHJpbnRmKCJhcmclZCwgIiwgaSkKIAlpZiAoYXJnc19uciA+IDApCkBAIC0zMyw3
ICszMiw3IEBAIEJFR0lOIHsKIAogRU5EIHsKIAlwcmludGYgIlx0ZGVmYXVsdDpcbiIKLQlwcmlu
dGYgIlx0XHR1a19wcl9kZWJ1ZyhcInN5c2NhbGwgbnIgJSVsZCBpcyBub3QgaW1wbGVtZW50ZWRc
IiwgbnIpO1xuIgorCXByaW50ZiAiXHRcdHVrX3ByX2RlYnVnKFwic3lzY2FsbCBcXFwiJSVzXFxc
IiBpcyBub3QgYXZhaWxhYmxlXFxuXCIsIHVrX3N5c2NhbGxfbmFtZShucikpO1xuIgogCXByaW50
ZiAiXHRcdGVycm5vID0gLUVOT1NZUztcbiIKIAlwcmludGYgIlx0XHRyZXR1cm4gLTE7XG4iCiAJ
cHJpbnRmICJcdH1cbn1cbiIKZGlmZiAtLWdpdCBhL2xpYi9zeXNjYWxsX3NoaW0vZ2VuX3VrX3N5
c2NhbGxfci5hd2sgYi9saWIvc3lzY2FsbF9zaGltL2dlbl91a19zeXNjYWxsX3IuYXdrCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwLi5jNTkxZmM0NwotLS0gL2Rldi9udWxsCisr
KyBiL2xpYi9zeXNjYWxsX3NoaW0vZ2VuX3VrX3N5c2NhbGxfci5hd2sKQEAgLTAsMCArMSwzOSBA
QAorQkVHSU4geworCW1heF9hcmdzID0gNgorCXByaW50ICIvKiBBdXRvIGdlbmVyYXRlZCBmaWxl
LiBETyBOT1QgRURJVCAqL1xuXG4iCisKKwlwcmludCAiI2luY2x1ZGUgPHVrL3N5c2NhbGwuaD4i
CisJcHJpbnQgIiNpbmNsdWRlIDx1ay9wcmludC5oPlxuIgorCisJcHJpbnRmICJzdGF0aWMgaW5s
aW5lIGxvbmcgX191a19zeXNjYWxsX3IobG9uZyBuciwgIgorCWZvciAoaSA9IDE7IGkgPCBtYXhf
YXJnczsgaSsrKQorCQlwcmludGYgImxvbmcgYXJnJWQsICIsaQorCXByaW50ZiAibG9uZyBhcmcl
ZClcbntcbiIsIG1heF9hcmdzCisKKwlmb3IgKGkgPSAxOyBpIDw9IG1heF9hcmdzOyBpKyspCisJ
CXByaW50ZiAiXHQodm9pZCkgYXJnJWQ7XG4iLCBpCisKKwlwcmludCAiXG5cdHN3aXRjaCAobnIp
IHsiCit9CisKKworL1thLXpBLVowLTldKy1bMC05XSsveworCW5hbWUgPSAkMQorCXN5c19uYW1l
ID0gIlNZU18iIG5hbWUKKwl1a19zeXNjYWxsX3IgPSAidWtfc3lzY2FsbF9yXyIgbmFtZQorCWFy
Z3NfbnIgPSAkMiArIDAKKwlwcmludGYgIlx0Y2FzZSAlczpcbiIsIHN5c19uYW1lOworCXByaW50
ZiAiXHRcdHJldHVybiAlcygiLCB1a19zeXNjYWxsX3I7CisJZm9yIChpID0gMTsgaSA8IGFyZ3Nf
bnI7IGkrKykKKwkJcHJpbnRmKCJhcmclZCwgIiwgaSkKKwlpZiAoYXJnc19uciA+IDApCisJCXBy
aW50ZigiYXJnJWQiLCBhcmdzX25yKQorCXByaW50ZigiKTtcbiIpCit9CisKK0VORCB7CisJcHJp
bnRmICJcdGRlZmF1bHQ6XG4iCisJcHJpbnRmICJcdFx0dWtfcHJfZGVidWcoXCJzeXNjYWxsIFxc
XCIlJXNcXFwiIGlzIG5vdCBhdmFpbGFibGVcXG5cIiwgdWtfc3lzY2FsbF9uYW1lKG5yKSk7XG4i
CisJcHJpbnRmICJcdFx0cmV0dXJuIC1FTk9TWVM7XG4iCisJcHJpbnRmICJcdH1cbn1cbiIKK30K
ZGlmZiAtLWdpdCBhL2xpYi9zeXNjYWxsX3NoaW0vaW5jbHVkZS91ay9zeXNjYWxsLmggYi9saWIv
c3lzY2FsbF9zaGltL2luY2x1ZGUvdWsvc3lzY2FsbC5oCmluZGV4IDU0OTQ2MTE5Li5jZDVjNmU2
NyAxMDA2NDQKLS0tIGEvbGliL3N5c2NhbGxfc2hpbS9pbmNsdWRlL3VrL3N5c2NhbGwuaAorKysg
Yi9saWIvc3lzY2FsbF9zaGltL2luY2x1ZGUvdWsvc3lzY2FsbC5oCkBAIC00Niw2ICs0Niw4IEBA
IHR5cGVkZWYgbG9uZyB1a19zeXNjYWxsX2FyZ190OwogCiAjZGVmaW5lIF9fdWtfc3lzY2FsbF9m
bihzeXNjYWxsX25yLCAuLi4pIFwKIAlVS19DT05DQVQodWtfc3lzY2FsbF9mbl8sIHN5c2NhbGxf
bnIpIChfX1ZBX0FSR1NfXykKKyNkZWZpbmUgX191a19zeXNjYWxsX3JfZm4oc3lzY2FsbF9uciwg
Li4uKSBcCisJVUtfQ09OQ0FUKHVrX3N5c2NhbGxfcl9mbl8sIHN5c2NhbGxfbnIpIChfX1ZBX0FS
R1NfXykKIAogI2RlZmluZSBfX3VrX3N5c2NhbGwwKG4pIF9fdWtfc3lzY2FsbF9mbihuKQogI2Rl
ZmluZSBfX3VrX3N5c2NhbGwxKG4sYSkgX191a19zeXNjYWxsX2ZuKG4sX191a19zY2MoYSkpCkBA
IC01Niw2ICs1OCwxNCBAQCB0eXBlZGVmIGxvbmcgdWtfc3lzY2FsbF9hcmdfdDsKICNkZWZpbmUg
X191a19zeXNjYWxsNihuLGEsYixjLGQsZSxmKSBfX3VrX3N5c2NhbGxfZm4obixfX3VrX3NjYyhh
KSxfX3VrX3NjYyhiKSxfX3VrX3NjYyhjKSxfX3VrX3NjYyhkKSxfX3VrX3NjYyhlKSxfX3VrX3Nj
YyhmKSkKICNkZWZpbmUgX191a19zeXNjYWxsNyhuLGEsYixjLGQsZSxmLGcpIF9fdWtfc3lzY2Fs
bF9mbihuLF9fdWtfc2NjKGEpLF9fdWtfc2NjKGIpLF9fdWtfc2NjKGMpLF9fdWtfc2NjKGQpLF9f
dWtfc2NjKGUpLF9fdWtfc2NjKGYpLF9fdWtfc2NjKGcpKQogCisjZGVmaW5lIF9fdWtfc3lzY2Fs
bDBfcihuKSBfX3VrX3N5c2NhbGxfcl9mbihuKQorI2RlZmluZSBfX3VrX3N5c2NhbGwxX3Iobixh
KSBfX3VrX3N5c2NhbGxfcl9mbihuLF9fdWtfc2NjKGEpKQorI2RlZmluZSBfX3VrX3N5c2NhbGwy
X3IobixhLGIpIF9fdWtfc3lzY2FsbF9yX2ZuKG4sX191a19zY2MoYSksX191a19zY2MoYikpCisj
ZGVmaW5lIF9fdWtfc3lzY2FsbDNfcihuLGEsYixjKSBfX3VrX3N5c2NhbGxfcl9mbihuLF9fdWtf
c2NjKGEpLF9fdWtfc2NjKGIpLF9fdWtfc2NjKGMpKQorI2RlZmluZSBfX3VrX3N5c2NhbGw0X3Io
bixhLGIsYyxkKSBfX3VrX3N5c2NhbGxfcl9mbihuLF9fdWtfc2NjKGEpLF9fdWtfc2NjKGIpLF9f
dWtfc2NjKGMpLF9fdWtfc2NjKGQpKQorI2RlZmluZSBfX3VrX3N5c2NhbGw1X3IobixhLGIsYyxk
LGUpIF9fdWtfc3lzY2FsbF9yX2ZuKG4sX191a19zY2MoYSksX191a19zY2MoYiksX191a19zY2Mo
YyksX191a19zY2MoZCksX191a19zY2MoZSkpCisjZGVmaW5lIF9fdWtfc3lzY2FsbDZfcihuLGEs
YixjLGQsZSxmKSBfX3VrX3N5c2NhbGxfcl9mbihuLF9fdWtfc2NjKGEpLF9fdWtfc2NjKGIpLF9f
dWtfc2NjKGMpLF9fdWtfc2NjKGQpLF9fdWtfc2NjKGUpLF9fdWtfc2NjKGYpKQorI2RlZmluZSBf
X3VrX3N5c2NhbGw3X3IobixhLGIsYyxkLGUsZixnKSBfX3VrX3N5c2NhbGxfcl9mbihuLF9fdWtf
c2NjKGEpLF9fdWtfc2NjKGIpLF9fdWtfc2NjKGMpLF9fdWtfc2NjKGQpLF9fdWtfc2NjKGUpLF9f
dWtfc2NjKGYpLF9fdWtfc2NjKGcpKQogCiAjZGVmaW5lIF9fVUtfU1lTQ0FMTF9OQVJHU19YKGEs
YixjLGQsZSxmLGcsaCxuLC4uLikgbgogI2RlZmluZSBfX1VLX1NZU0NBTExfTkFSR1MoLi4uKSBf
X1VLX1NZU0NBTExfTkFSR1NfWChfX1ZBX0FSR1NfXyw3LDYsNSw0LDMsMiwxLDAsKQpAQCAtNjMs
NyArNzMsOCBAQCB0eXBlZGVmIGxvbmcgdWtfc3lzY2FsbF9hcmdfdDsKICNkZWZpbmUgX19VS19T
WVNDQUxMX0RFRl9OQVJHU19YKHosIGExLGEyLCBiMSxiMiwgYzEsYzIsIGQxLGQyLCBlMSxlMiwg
ZjEsZjIsIGcxLGcyLCBuciwgLi4uKSBucgogI2RlZmluZSBfX1VLX1NZU0NBTExfREVGX05BUkdT
KC4uLikgX19VS19TWVNDQUxMX0RFRl9OQVJHU19YKF9fVkFfQVJHU19fLCA3LDcsIDYsNiwgNSw1
LCA0LDQsIDMsMywgMiwyLCAxLDEsMCkKIAotI2RlZmluZSBfX1VLX05BTUUyU0NBTExfRk4obmFt
ZSkgVUtfQ09OQ0FUKHVrX3N5c2NhbGxfLCBuYW1lKQorI2RlZmluZSBfX1VLX05BTUUyU0NBTExF
X0ZOKG5hbWUpIFVLX0NPTkNBVCh1a19zeXNjYWxsX2VfLCBuYW1lKQorI2RlZmluZSBfX1VLX05B
TUUyU0NBTExSX0ZOKG5hbWUpIFVLX0NPTkNBVCh1a19zeXNjYWxsX3JfLCBuYW1lKQogCiAjZGVm
aW5lIFVLX0FSR19NQVAxKG0sIHR5cGUsIGFyZykgbSh0eXBlLCBhcmcpCiAjZGVmaW5lIFVLX0FS
R19NQVAyKG0sIHR5cGUsIGFyZywgLi4uKSBtKHR5cGUsIGFyZyksIFVLX0FSR19NQVAxKG0sIF9f
VkFfQVJHU19fKQpAQCAtNzQsNDkgKzg1LDg2IEBAIHR5cGVkZWYgbG9uZyB1a19zeXNjYWxsX2Fy
Z190OwogI2RlZmluZSBVS19BUkdfTUFQNyhtLCB0eXBlLCBhcmcsIC4uLikgbSh0eXBlLCBhcmcp
LCBVS19BUkdfTUFQNihtLCBfX1ZBX0FSR1NfXykKICNkZWZpbmUgVUtfQVJHX01BUHgobnJfYXJn
cywgLi4uKSBVS19DT05DQVQoVUtfQVJHX01BUCwgbnJfYXJncykoX19WQV9BUkdTX18pCiAKLSNk
ZWZpbmUgVUtfU19BUkdfTE9ORyh0eXBlLCBhcmcpICAgdW5zaWduZWQgbG9uZyBhcmcKKyNkZWZp
bmUgVUtfU19BUkdfTE9ORyh0eXBlLCBhcmcpICAgbG9uZyBhcmcKICNkZWZpbmUgVUtfU19BUkdf
QUNUVUFMKHR5cGUsIGFyZykgdHlwZSBhcmcKLSNkZWZpbmUgVUtfU19BUkdfQ0FTVCh0eXBlLCBh
cmcpICAgKHR5cGUpIGFyZworI2RlZmluZSBVS19TX0FSR19DQVNUX0xPTkcodHlwZSwgYXJnKSAg
IChsb25nKSBhcmcKKyNkZWZpbmUgVUtfU19BUkdfQ0FTVF9BQ1RVQUwodHlwZSwgYXJnKSAodHlw
ZSkgYXJnCiAKLQotLyogTk9URSBhbmQgVE9ETzoKLSAqCUN1cnJlbnRseSBhbGwgdGhlIGZ1bmN0
aW9ucyBpbiB1bmlrcmFmdCB3aGljaCBhcmUgbWltaWNraW5nCi0gKglsaWJjIGJlaGF2aW9yICh3
cml0ZXYsIG9wZW4sIG1vdW50LCBldGMpIGFyZSBoYW5kbGluZyAnZXJybm8nCi0gKglvbiB0aGVp
ciBvd24uIFRvIGNvbXBseSB3aXRoIHRoYXQgc3lzY2FsbF9zaGltIGV4cGVjdHMgc3lzY2FsbAot
ICoJaW1wbGVtZW50YXRpb24gdG8gc2V0IGVycm5vLCBhbmQgcmV0dXJuIDAgaW4gY2FzZSBvZiBz
dWNjZXNzCi0gKglvciAtMSAob3Igd2hhdGV2ZXIgdGhlIG1hbiBwYWdlIHNheXMpIGluIGNhc2Ug
b2YgZmFpbHVyZS4KLSAqCi0gKglUaGlzIGhhcyB0byBiZSByZWNvbnNpZGVyZWQgbGF0ZXIuIFRo
ZSBjb3JyZXNwb25kaW5nIGZ1bmN0aW9ucwotICoJaW4gdW5pa3JhZnQgc2hvdWxkIG5vdCB0b3Vj
aCBlcnJubywgYW5kIHN5c2NhbGxfc2hpbSBzaG91bGQKLSAqCXByb3ZpZGUgMiBzeXNjYWxsIGZ1
bmN0aW9ucyAtIG9uZSB0aGF0IGhhbmRsZXMgcmV0dXJuIGFuZCB0aGUKLSAqCW9uZSB3aGljaCBk
b2VzIG5vdC4KLSAqCi0gKglBIGdvb2QgcmVmZXJlbmNlIHdvdWxkIGJlIG11c2wgaW1wbGVtZW50
YXRpb24uCisvKiBTeXN0ZW0gY2FsbCBpbXBsZW1lbnRhdGlvbiB0aGF0IHVzZXMgZXJybm8gYW5k
IHJldHVybnMgLTEgb24gZXJyb3JzICovCisvKiBUT0RPOiBgdm9pZGAgYXMgcmV0dXJuIHR5cGUg
aXMgY3VycmVudGx5IG5vdCBzdXBwb3J0ZWQuCisgKiBOT1RFOiBXb3JrYXJvdW5kIGlzIHRvIHVz
ZSBgaW50YCBpbnN0ZWFkLgogICovCi0jaWZkZWYgQ09ORklHX0xJQlNZU0NBTExfU0hJTQotI2Rl
ZmluZSBfX1VLX1NZU0NBTExfREVGSU5FKHgsIG5hbWUsIC4uLikJCQkJXAotCXN0YXRpYyBpbmxp
bmUgbG9uZyBfXyMjbmFtZShVS19BUkdfTUFQeCh4LCBVS19TX0FSR19BQ1RVQUwsCVwKLQkJCQkJ
CV9fVkFfQVJHU19fKSk7CQlcCi0JbG9uZyBuYW1lKFVLX0FSR19NQVB4KHgsIFVLX1NfQVJHX0xP
TkcsIF9fVkFfQVJHU19fKSkJCVwKKyNkZWZpbmUgX19VS19TWVNDQUxMX0RFRklORSh4LCBydHlw
ZSwgbmFtZSwgZW5hbWUsIHJuYW1lLCAuLi4pCQlcCisJcnR5cGUgbmFtZShVS19BUkdfTUFQeCh4
LCBVS19TX0FSR19BQ1RVQUwsIF9fVkFfQVJHU19fKSk7CVwKKwlsb25nIHJuYW1lKFVLX0FSR19N
QVB4KHgsIFVLX1NfQVJHX0xPTkcsIF9fVkFfQVJHU19fKSkJCVwKIAl7CQkJCQkJCQlcCi0JCWxv
bmcgcmV0ID0gX18jI25hbWUoCQkJCQlcCi0JCQlVS19BUkdfTUFQeCh4LCBVS19TX0FSR19DQVNU
LCBfX1ZBX0FSR1NfXykpOwlcCisJCWludCBfZXJybm8gPSBlcnJubzsJCQkJCVwKKwkJbG9uZyBy
ZXQ7CQkJCQkJXAorCQkJCQkJCQkJXAorCQllcnJubyA9IDA7CQkJCQkJXAorCQlyZXQgPSAobG9u
ZykgbmFtZSgJCQkJCVwKKwkJCVVLX0FSR19NQVB4KHgsIFVLX1NfQVJHX0NBU1RfQUNUVUFMLCBf
X1ZBX0FSR1NfXykpOyBcCisJCWlmIChyZXQgPT0gLTEpCQkJCQkJXAorCQkJcmV0ID0gZXJybm8g
PyAtZXJybm8gOiAtRUZBVUxUOwkJCVwKKwkJZXJybm8gPSBfZXJybm87CQkJCQkJXAogCQlyZXR1
cm4gcmV0OwkJCQkJCVwKIAl9CQkJCQkJCQlcCi0Jc3RhdGljIGlubGluZSBsb25nIF9fIyNuYW1l
KFVLX0FSR19NQVB4KHgsIFVLX1NfQVJHX0FDVFVBTCwJXAotCQkJCQkJX19WQV9BUkdTX18pKQot
I2Vsc2UKLSNkZWZpbmUgX19VS19TWVNDQUxMX0RFRklORSh4LCBuYW1lLCAuLi4pCQkJCVwKLQlz
dGF0aWMgaW5saW5lIGxvbmcgbmFtZShVS19BUkdfTUFQeCh4LCBVS19TX0FSR19BQ1RVQUwsIF9f
VkFfQVJHU19fKSkKLSNlbmRpZgotCisJbG9uZyBlbmFtZShVS19BUkdfTUFQeCh4LCBVS19TX0FS
R19MT05HLCBfX1ZBX0FSR1NfXykpCQlcCisJewkJCQkJCQkJXAorCQlyZXR1cm4gKGxvbmcpIG5h
bWUoCQkJCQlcCisJCQlVS19BUkdfTUFQeCh4LCBVS19TX0FSR19DQVNUX0FDVFVBTCwgX19WQV9B
UkdTX18pKTsgXAorCX0JCQkJCQkJCVwKKwlydHlwZSBuYW1lKFVLX0FSR19NQVB4KHgsIFVLX1Nf
QVJHX0FDVFVBTCwgX19WQV9BUkdTX18pKQogI2RlZmluZSBfVUtfU1lTQ0FMTF9ERUZJTkUoLi4u
KSBfX1VLX1NZU0NBTExfREVGSU5FKF9fVkFfQVJHU19fKQotI2RlZmluZSBVS19TWVNDQUxMX0RF
RklORShuYW1lLCAuLi4pCQkJCVwKLQlfVUtfU1lTQ0FMTF9ERUZJTkUoX19VS19TWVNDQUxMX0RF
Rl9OQVJHUyhfX1ZBX0FSR1NfXyksCVwKLQkJCSAgICBfX1VLX05BTUUyU0NBTExfRk4obmFtZSks
CQlcCi0JCQkgICAgX19WQV9BUkdTX18pCi0KLSNkZWZpbmUgX19VS19TUFJPVE9fQVJHU19UWVBF
IHVuc2lnbmVkIGxvbmcKKyNkZWZpbmUgVUtfU1lTQ0FMTF9ERUZJTkUocnR5cGUsIG5hbWUsIC4u
LikJCQkgICAgICAgXAorCV9VS19TWVNDQUxMX0RFRklORShfX1VLX1NZU0NBTExfREVGX05BUkdT
KF9fVkFfQVJHU19fKSwJICAgICAgIFwKKwkJCSAgIHJ0eXBlLAkJCQkgICAgICAgXAorCQkJICAg
bmFtZSwJCQkJICAgICAgIFwKKwkJCSAgIF9fVUtfTkFNRTJTQ0FMTEVfRk4obmFtZSksCQkgICAg
ICAgXAorCQkJICAgX19VS19OQU1FMlNDQUxMUl9GTihuYW1lKSwJCSAgICAgICBcCisJCQkgICBf
X1ZBX0FSR1NfXykKKworLyogUmF3IHN5c3RlbSBjYWxsIGltcGxlbWVudGF0aW9uIHRoYXQgaXMg
cmV0dXJuaW5nIG5lZ2F0aXZlIGNvZGVzIG9uIGVycm9ycyAqLworLyogVE9ETzogYHZvaWRgIGFz
IHJldHVybiB0eXBlIGlzIGN1cnJlbnRseSBub3Qgc3VwcG9ydGVkLgorICogTk9URTogV29ya2Fy
b3VuZCBpcyB0byB1c2UgYGludGAgaW5zdGVhZC4KKyAqLworI2RlZmluZSBfX1VLX1NZU0NBTExf
Ul9ERUZJTkUoeCwgcnR5cGUsIG5hbWUsIGVuYW1lLCBybmFtZSwgLi4uKQlcCisJbG9uZyBybmFt
ZShVS19BUkdfTUFQeCh4LCBVS19TX0FSR19MT05HLCBfX1ZBX0FSR1NfXykpOwkJXAorCXJ0eXBl
IG5hbWUoVUtfQVJHX01BUHgoeCwgVUtfU19BUkdfQUNUVUFMLCBfX1ZBX0FSR1NfXykpCVwKKwl7
CQkJCQkJCQlcCisJCWxvbmcgcmV0ID0gcm5hbWUoCQkJCQlcCisJCQlVS19BUkdfTUFQeCh4LCBV
S19TX0FSR19DQVNUX0xPTkcsIF9fVkFfQVJHU19fKSk7IFwKKwkJaWYgKHJldCA8IDApIHsJCQkJ
CQlcCisJCQllcnJubyA9IChpbnQpIC1yZXQ7CQkJCVwKKwkJCXJldHVybiAocnR5cGUpIC0xOwkJ
CQlcCisJCX0JCQkJCQkJXAorCQlyZXR1cm4gKHJ0eXBlKSByZXQ7CQkJCQlcCisJfQkJCQkJCQkJ
XAorCWxvbmcgZW5hbWUoVUtfQVJHX01BUHgoeCwgVUtfU19BUkdfTE9ORywgX19WQV9BUkdTX18p
KQkJXAorCXsJCQkJCQkJCVwKKwkJcmV0dXJuIChsb25nKSBuYW1lKAkJCQkJXAorCQkJVUtfQVJH
X01BUHgoeCwgVUtfU19BUkdfQ0FTVF9BQ1RVQUwsIF9fVkFfQVJHU19fKSk7IFwKKwl9CQkJCQkJ
CQlcCisJc3RhdGljIGlubGluZSBsb25nIF9fIyNybmFtZShVS19BUkdfTUFQeCh4LCBVS19TX0FS
R19BQ1RVQUwsCVwKKwkJCQkJCSBfX1ZBX0FSR1NfXykpOwkJXAorCWxvbmcgcm5hbWUoVUtfQVJH
X01BUHgoeCwgVUtfU19BUkdfTE9ORywgX19WQV9BUkdTX18pKQkJXAorCXsJCQkJCQkJCVwKKwkJ
cmV0dXJuIF9fIyNybmFtZSgJCQkJCVwKKwkJCVVLX0FSR19NQVB4KHgsIFVLX1NfQVJHX0NBU1Rf
QUNUVUFMLCBfX1ZBX0FSR1NfXykpOyBcCisJfQkJCQkJCQkJXAorCXN0YXRpYyBpbmxpbmUgbG9u
ZyBfXyMjcm5hbWUoVUtfQVJHX01BUHgoeCwgVUtfU19BUkdfQUNUVUFMLAlcCisJCQkJCQkgX19W
QV9BUkdTX18pKQorI2RlZmluZSBfVUtfU1lTQ0FMTF9SX0RFRklORSguLi4pIF9fVUtfU1lTQ0FM
TF9SX0RFRklORShfX1ZBX0FSR1NfXykKKyNkZWZpbmUgVUtfU1lTQ0FMTF9SX0RFRklORShydHlw
ZSwgbmFtZSwgLi4uKQkJCQlcCisJX1VLX1NZU0NBTExfUl9ERUZJTkUoX19VS19TWVNDQUxMX0RF
Rl9OQVJHUyhfX1ZBX0FSR1NfXyksCVwKKwkJCSAgICAgcnR5cGUsCQkJCQlcCisJCQkgICAgIG5h
bWUsCQkJCQlcCisJCQkgICAgIF9fVUtfTkFNRTJTQ0FMTEVfRk4obmFtZSksCQkJXAorCQkJICAg
ICBfX1VLX05BTUUyU0NBTExSX0ZOKG5hbWUpLAkJCVwKKwkJCSAgICAgX19WQV9BUkdTX18pCisK
KworI2RlZmluZSBfX1VLX1NQUk9UT19BUkdTX1RZUEUgbG9uZwogI2RlZmluZSBfX1VLX1NQUk9U
T19BUkdTMCgpICB2b2lkCiAjZGVmaW5lIF9fVUtfU1BST1RPX0FSR1MxKCkgIF9fVUtfU1BST1RP
X0FSR1NfVFlQRSBhCiAjZGVmaW5lIF9fVUtfU1BST1RPX0FSR1MyKCkgIF9fVUtfU1BST1RPX0FS
R1MxKCksIF9fVUtfU1BST1RPX0FSR1NfVFlQRSBiCkBAIC0xMjgsMTUgKzE3NiwyMiBAQCB0eXBl
ZGVmIGxvbmcgdWtfc3lzY2FsbF9hcmdfdDsKICNkZWZpbmUgX19VS19TUFJPVE9fQVJHU3goYXJn
c19ucikgIFwKIAlVS19DT05DQVQoX19VS19TUFJPVE9fQVJHUywgYXJnc19ucikoKQogCi0jZGVm
aW5lIFVLX1NZU0NBTExfUFJPVE8oYXJnc19uciwgc3lzY2FsbF9uYW1lKQkJCVwKLQlsb25nIF9f
VUtfTkFNRTJTQ0FMTEVfRk4oc3lzY2FsbF9uYW1lKSgJCQlcCi0JCV9fVUtfU1BST1RPX0FSR1N4
KGFyZ3NfbnIpKQorI2RlZmluZSBVS19TWVNDQUxMX0VfUFJPVE8oYXJnc19uciwgc3lzY2FsbF9u
YW1lKQkJCVwKKwlsb25nIF9fVUtfTkFNRTJTQ0FMTEVfRk4oc3lzY2FsbF9uYW1lKShfX1VLX1NQ
Uk9UT19BUkdTeChhcmdzX25yKSkKKyNkZWZpbmUgVUtfU1lTQ0FMTF9SX1BST1RPKGFyZ3NfbnIs
IHN5c2NhbGxfbmFtZSkJCQlcCisJbG9uZyBfX1VLX05BTUUyU0NBTExSX0ZOKHN5c2NhbGxfbmFt
ZSkoX19VS19TUFJPVE9fQVJHU3goYXJnc19ucikpCiAKLSNkZWZpbmUgdWtfc3lzY2FsbF9zdHVi
KHN5c2NhbGxfbmFtZSkgKHsJCQlcCi0JCQl1a19wcl9kZWJ1Zygic3lzY2FsbCBcIiIgc3lzY2Fs
bF9uYW1lCVwKLQkJCQkgICAgIlwiIGlzIG5vdCBpbXBsZW1lbnRlZFxuIik7CVwKLQkJCWVycm5v
ID0gLUVOT1NZUzsJCQlcCi0JCQktMTsJCQkJCVwKKyNkZWZpbmUgdWtfc3lzY2FsbF9lX3N0dWIo
c3lzY2FsbF9uYW1lKSAoewkJCQlcCisJCQl1a19wcl9kZWJ1ZygiU3lzdGVtIGNhbGwgXCIiIHN5
c2NhbGxfbmFtZQlcCisJCQkJICAgICJcIiBpcyBub3QgYXZhaWxhYmxlICgtRU5PU1lTKVxuIik7
CVwKKwkJCWVycm5vID0gLUVOT1NZUzsJCQkJXAorCQkJLTE7CQkJCQkJXAorCQl9KQorCisjZGVm
aW5lIHVrX3N5c2NhbGxfcl9zdHViKHN5c2NhbGxfbmFtZSkgKHsJCQkJXAorCQkJdWtfcHJfZGVi
dWcoIlN5c3RlbSBjYWxsIFwiIiBzeXNjYWxsX25hbWUJXAorCQkJCSAgICAiXCIgaXMgbm90IGF2
YWlsYWJsZSAoLUVOT1NZUylcbiIpOwlcCisJCQktRU5PU1lTOwkJCQkJXAogCQl9KQogCiAKQEAg
LTE0Niw2ICsyMDEsNyBAQCB0eXBlZGVmIGxvbmcgdWtfc3lzY2FsbF9hcmdfdDsKICNpbmNsdWRl
IDx1ay9iaXRzL3Byb3ZpZGVkX3N5c2NhbGxzLmg+CiAjaW5jbHVkZSA8dWsvYml0cy9zeXNjYWxs
X3N0dWJzLmg+CiAKKy8qIFN5c3RlbSBjYWxsLCByZXR1cm5zIC0xIGFuZCBzZXRzIGVycm5vIG9u
IGVycm9ycyAqLwogbG9uZyB1a19zeXNjYWxsKGxvbmcgbiwgLi4uKTsKIAogLyoKQEAgLTE1Niw2
ICsyMTIsMTggQEAgbG9uZyB1a19zeXNjYWxsKGxvbmcgbiwgLi4uKTsKICNkZWZpbmUgdWtfc3lz
Y2FsbF9zdGF0aWMoLi4uKQkJCQkJCVwKIAlVS19DT05DQVQoX191a19zeXNjYWxsLCBfX1VLX1NZ
U0NBTExfTkFSR1MoX19WQV9BUkdTX18pKShfX1ZBX0FSR1NfXykKIAorLyogUmF3IHN5c3RlbSBj
YWxsLCByZXR1cm5zIG5lZ2F0aXZlIGNvZGVzIG9uIGVycm9ycyAqLworbG9uZyB1a19zeXNjYWxs
X3IobG9uZyBuLCAuLi4pOworCisvKgorICogVXNlIHRoaXMgdmFyaWFudCBpbnN0ZWFkIG9mIGB1
a19zeXNjYWxsX3IoKWAgd2hlbmV2ZXIgdGhlIHN5c3RlbSBjYWxsIG51bWJlcgorICogaXMgYSBj
b25zdGFudC4gVGhpcyBtYWNybyBtYXBzIHRoZSBmdW5jdGlvbiBjYWxsIGRpcmVjdGx5IHRvIHRo
ZSB0YXJnZXQKKyAqIGhhbmRsZXIgaW5zdGVhZCBvZiBkb2luZyBhIGxvb2stdXAgYXQgcnVudGlt
ZQorICovCisjZGVmaW5lIHVrX3N5c2NhbGxfcl9zdGF0aWMoLi4uKQkJCQkJXAorCVVLX0NPTkNB
VChfX3VrX3N5c2NhbGwsCQkJCQkJXAorCQkgIFVLX0NPTkNBVChfX1VLX1NZU0NBTExfTkFSR1Mo
X19WQV9BUkdTX18pKSwgX3IpKF9fVkFfQVJHU19fKQorCiAvKioKICAqIFJldHVybnMgYSBzdHJp
bmcgd2l0aCB0aGUgbmFtZSBvZiB0aGUgc3lzdGVtIGNhbGwgbnVtYmVyIGBucmAuCiAgKgpkaWZm
IC0tZ2l0IGEvbGliL3N5c2NhbGxfc2hpbS9lbnRyeS5jLmluX2VuZCBiL2xpYi9zeXNjYWxsX3No
aW0vdWtfc3lzY2FsbC5jLmluX2VuZApzaW1pbGFyaXR5IGluZGV4IDg0JQpyZW5hbWUgZnJvbSBs
aWIvc3lzY2FsbF9zaGltL2VudHJ5LmMuaW5fZW5kCnJlbmFtZSB0byBsaWIvc3lzY2FsbF9zaGlt
L3VrX3N5c2NhbGwuYy5pbl9lbmQKaW5kZXggNzhjYjk2YWQuLjc5YThiN2ZkIDEwMDY0NAotLS0g
YS9saWIvc3lzY2FsbF9zaGltL2VudHJ5LmMuaW5fZW5kCisrKyBiL2xpYi9zeXNjYWxsX3NoaW0v
dWtfc3lzY2FsbC5jLmluX2VuZApAQCAtMTEsNSArMTEsNSBAQCBsb25nIHVrX3N5c2NhbGwobG9u
ZyBuLCAuLi4pCiAJZT12YV9hcmcoYXAsIGxvbmcpOwogCWY9dmFfYXJnKGFwLCBsb25nKTsKIAl2
YV9lbmQoYXApOwotCXJldHVybiBfX3N5c2NhbGxfZHluYW1pYyhuLGEsYixjLGQsZSxmKTsKKwly
ZXR1cm4gX191a19zeXNjYWxsKG4sYSxiLGMsZCxlLGYpOwogfQpkaWZmIC0tZ2l0IGEvbGliL3N5
c2NhbGxfc2hpbS91a19zeXNjYWxsX3IuYy5pbl9lbmQgYi9saWIvc3lzY2FsbF9zaGltL3VrX3N5
c2NhbGxfci5jLmluX2VuZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMC4uZjJi
OWZjOGUKLS0tIC9kZXYvbnVsbAorKysgYi9saWIvc3lzY2FsbF9zaGltL3VrX3N5c2NhbGxfci5j
LmluX2VuZApAQCAtMCwwICsxLDE1IEBACisKK2xvbmcgdWtfc3lzY2FsbF9yKGxvbmcgbiwgLi4u
KQoreworCXZhX2xpc3QgYXA7CisJbG9uZyBhLGIsYyxkLGUsZjsKKwl2YV9zdGFydChhcCwgbik7
CisJYT12YV9hcmcoYXAsIGxvbmcpOworCWI9dmFfYXJnKGFwLCBsb25nKTsKKwljPXZhX2FyZyhh
cCwgbG9uZyk7CisJZD12YV9hcmcoYXAsIGxvbmcpOworCWU9dmFfYXJnKGFwLCBsb25nKTsKKwlm
PXZhX2FyZyhhcCwgbG9uZyk7CisJdmFfZW5kKGFwKTsKKwlyZXR1cm4gX191a19zeXNjYWxsX3Io
bixhLGIsYyxkLGUsZik7Cit9CmRpZmYgLS1naXQgYS9saWIvdmZzY29yZS9leHBvcnRzeW1zLnVr
IGIvbGliL3Zmc2NvcmUvZXhwb3J0c3ltcy51awppbmRleCAyYjhiZDQzZC4uZDNlYmY1NDcgMTAw
NjQ0Ci0tLSBhL2xpYi92ZnNjb3JlL2V4cG9ydHN5bXMudWsKKysrIGIvbGliL3Zmc2NvcmUvZXhw
b3J0c3ltcy51awpAQCAtNzYsNyArNzYsOCBAQCBmYWNjZXNzYXQKIHJlYWRsaW5rCiBmYWxsb2Nh
dGUKIGxzZWVrCi11a19zeXNjYWxsX3dyaXRldgordWtfc3lzY2FsbF9lX3dyaXRldgordWtfc3lz
Y2FsbF9yX3dyaXRldgogdW1hc2sKIGRlbnRyeV9hbGxvYwogZGVudHJ5X2luaXQKZGlmZiAtLWdp
dCBhL2xpYi92ZnNjb3JlL21haW4uYyBiL2xpYi92ZnNjb3JlL21haW4uYwppbmRleCBjZjg0YTBl
MC4uYjlhYmUxZWYgMTAwNjQ0Ci0tLSBhL2xpYi92ZnNjb3JlL21haW4uYworKysgYi9saWIvdmZz
Y29yZS9tYWluLmMKQEAgLTQ0NCwxMyArNDQ0LDggQEAgc3NpemVfdCBwd3JpdGV2KGludCBmZCwg
Y29uc3Qgc3RydWN0IGlvdmVjICppb3YsIGludCBpb3ZjbnQsIG9mZl90IG9mZnNldCkKIH0KIExG
UzY0KHB3cml0ZXYpOwogCi1zc2l6ZV90IHdyaXRldihpbnQgZmQsIGNvbnN0IHN0cnVjdCBpb3Zl
YyAqaW92LCBpbnQgaW92Y250KQotewotCXJldHVybiBwd3JpdGV2KGZkLCBpb3YsIGlvdmNudCwg
LTEpOwotfQotCi1VS19TWVNDQUxMX0RFRklORSh3cml0ZXYsIHVuc2lnbmVkIGxvbmcsIGZkLCBj
b25zdCBzdHJ1Y3QgaW92ZWMgKiwgdmVjLAotCQkgIHVuc2lnbmVkIGxvbmcsIHZsZW4pCitVS19T
WVNDQUxMX0RFRklORShzc2l6ZV90LCB3cml0ZXYsCisJCSAgaW50LCBmZCwgY29uc3Qgc3RydWN0
IGlvdmVjICosIHZlYywgaW50LCB2bGVuKQogewogCXJldHVybiBwd3JpdGV2KGZkLCB2ZWMsIHZs
ZW4sIC0xKTsKIH0KLS0gCjIuMjAuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxp
c3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9s
aXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Wed Dec 11 14:20:35 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 11 Dec 2019 14:20:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1if2qx-0003f5-6Y; Wed, 11 Dec 2019 14:20:35 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=NdI5=2B=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1if2qv-0003et-8r
 for minios-devel@lists.xen.org; Wed, 11 Dec 2019 14:20:33 +0000
X-Inumbo-ID: 5ebc7f64-1c21-11ea-88e7-bc764e2007e4
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 5ebc7f64-1c21-11ea-88e7-bc764e2007e4;
 Wed, 11 Dec 2019 14:20:24 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 7F722F202D;
 Wed, 11 Dec 2019 15:20:23 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-b.office.hd)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id CbCx4F308uG1; Wed, 11 Dec 2019 15:20:23 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from puck.office.hd (puck.office.hd [192.168.24.91])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 52894F200D;
 Wed, 11 Dec 2019 15:20:19 +0100 (CET)
Received: from localhost (192.168.24.96) by puck.office.hd (192.168.24.91)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Wed, 11 Dec
 2019 15:20:02 +0100
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Wed, 11 Dec 2019 15:19:56 +0100
Message-ID: <20191211141956.4056-7-simon.kuenzer@neclab.eu>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <20191211141956.4056-1-simon.kuenzer@neclab.eu>
References: <20191211141956.4056-1-simon.kuenzer@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [192.168.24.96]
X-ClientProxiedBy: titania.office.hd (192.168.24.89) To puck.office.hd
 (192.168.24.91)
Subject: [Minios-devel] [UNIKRAFT PATCH 6/6] lib/syscall_shim: Binary system
 call handler
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>,
 Gaulthier Gain <gaulthier.gain@uliege.be>,
 Simon Kuenzer <simon.kuenzer@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

UHJvdmlkZSB0aGUgb3B0aW9uIHRvIGhhbmRsZSBiaW5hcnkgc3lzdGVtIGNhbGwgcmVxdWVzdHMg
d2l0aApsaWJzeXNjYWxsX3NoaW0uIExpbnV4LXN0eWxlIEFCSSBpcyBpbXBsZW1lbnRlZC4gU3lz
dGVtIGNhbGxzIGFyZQpoYW5kbGVkIHdpdGggdGhlIHJhdyB2YXJpYW50IGB1a19zeXNjYWxsX3Io
KWAuCgpTaWduZWQtb2ZmLWJ5OiBTaW1vbiBLdWVuemVyIDxzaW1vbi5rdWVuemVyQG5lY2xhYi5l
dT4KLS0tCiBsaWIvc3lzY2FsbF9zaGltL0NvbmZpZy51ayAgICAgICAgICAgICB8IDE1ICsrKysr
KysrLQogbGliL3N5c2NhbGxfc2hpbS9NYWtlZmlsZS51ayAgICAgICAgICAgfCAgMiArKwogbGli
L3N5c2NhbGxfc2hpbS9yZWdtYXBfbGludXhhYmkuaCAgICAgfCA0NiArKysrKysrKysrKysrKysr
KysrKysrKysrKwogbGliL3N5c2NhbGxfc2hpbS91a19zeXNjYWxsX3IuYy5pbl9lbmQgfCAxOCAr
KysrKysrKysrCiA0IGZpbGVzIGNoYW5nZWQsIDgwIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24o
LSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWIvc3lzY2FsbF9zaGltL3JlZ21hcF9saW51eGFiaS5o
CgpkaWZmIC0tZ2l0IGEvbGliL3N5c2NhbGxfc2hpbS9Db25maWcudWsgYi9saWIvc3lzY2FsbF9z
aGltL0NvbmZpZy51awppbmRleCA3YmY0Y2E4Yy4uMjA5NjI1OTAgMTAwNjQ0Ci0tLSBhL2xpYi9z
eXNjYWxsX3NoaW0vQ29uZmlnLnVrCisrKyBiL2xpYi9zeXNjYWxsX3NoaW0vQ29uZmlnLnVrCkBA
IC0xLDMgKzEsMTYgQEAKLWNvbmZpZyBMSUJTWVNDQUxMX1NISU0KK21lbnVjb25maWcgTElCU1lT
Q0FMTF9TSElNCiAJYm9vbCAic3lzY2FsbF9zaGltOiBTeXNjYWxsIHNoaW0gbGF5ZXIiCiAJZGVm
YXVsdCBuCisKK2lmIExJQlNZU0NBTExfU0hJTQorCWNvbmZpZyBMSUJTWVNDQUxMX1NISU1fSEFO
RExFUgorCQlib29sICJCaW5hcnkgc3lzdGVtIGNhbGwgaGFuZGxlciAoTGludXggQUJJKSIKKwkJ
ZGVmYXVsdCBuCisJCWRlcGVuZHMgb24gQVJDSF9YODZfNjQKKwkJc2VsZWN0IEhBVkVfU1lTQ0FM
TAorCQloZWxwCisJCQlFbmFibGVzIGEgc3lzdGVtIGNhbGwgaGFuZGxlciBmb3IgYmluYXJ5IHN5
c3RlbSBjYWxsCisJCQlyZXF1ZXN0cyAoZS5nLiwgc3lzZW50ZXIvc3lzZXhpdCkuIFRoZSBoYW5k
bGVyIG1hcHMKKwkJCXJlZ2lzdGVyIHZhbHVlcyBhY2NvcmRpbmdseSB0byB0aGUgTGludXggQUJJ
IHN0YW5kYXJkCisJCQkoc2VlOiBtYW4gc3lzY2FsbHNbMl0pLgorZW5kaWYKZGlmZiAtLWdpdCBh
L2xpYi9zeXNjYWxsX3NoaW0vTWFrZWZpbGUudWsgYi9saWIvc3lzY2FsbF9zaGltL01ha2VmaWxl
LnVrCmluZGV4IDdhZmEyMDE0Li4xN2RlNDljZCAxMDA2NDQKLS0tIGEvbGliL3N5c2NhbGxfc2hp
bS9NYWtlZmlsZS51aworKysgYi9saWIvc3lzY2FsbF9zaGltL01ha2VmaWxlLnVrCkBAIC03NCw2
ICs3NCw4IEBAIENYWElOQ0xVREVTLSQoQ09ORklHX0xJQlNZU0NBTExfU0hJTSkgKz0gLUkkKExJ
QlNZU0NBTExfU0hJTV9CVUlMRCkvaW5jbHVkZQogQ0lOQ0xVREVTLXkgICArPSAtSSQoTElCU1lT
Q0FMTF9TSElNX0JBU0UpL2luY2x1ZGUKIENYWElOQ0xVREVTLXkgKz0gLUkkKExJQlNZU0NBTExf
U0hJTV9CQVNFKS9pbmNsdWRlCiAKK0xJQlNZU0NBTExfU0hJTV9DSU5DTFVERVMgKz0gLUkkKExJ
QlNZU0NBTExfU0hJTV9CQVNFKQorCiBMSUJTWVNDQUxMX1NISU1fU1JDUy15ICs9ICQoTElCU1lT
Q0FMTF9TSElNX0JVSUxEKS91a19zeXNjYWxsLmMKIExJQlNZU0NBTExfU0hJTV9TUkNTLXkgKz0g
JChMSUJTWVNDQUxMX1NISU1fQlVJTEQpL3VrX3N5c2NhbGxfci5jCiBMSUJTWVNDQUxMX1NISU1f
U1JDUy15ICs9ICQoTElCU1lTQ0FMTF9TSElNX0JVSUxEKS91a19zeXNjYWxsX25hbWUuYwpkaWZm
IC0tZ2l0IGEvbGliL3N5c2NhbGxfc2hpbS9yZWdtYXBfbGludXhhYmkuaCBiL2xpYi9zeXNjYWxs
X3NoaW0vcmVnbWFwX2xpbnV4YWJpLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAuLjFiZmFjZTY3Ci0tLSAvZGV2L251bGwKKysrIGIvbGliL3N5c2NhbGxfc2hpbS9yZWdtYXBf
bGludXhhYmkuaApAQCAtMCwwICsxLDQ2IEBACisjaWZuZGVmIF9SRUdNQVBfTElOVVhBQklfSF8K
KworI2luY2x1ZGUgPHVrL2FyY2gvbGNwdS5oPgorCisvKgorICogTWFwcGluZ3Mgb2YgYHN0cnVj
dCBfX3JlZ2AgcmVnaXN0ZXIgZmllbGRzCisgKiBhY2NvcmRpbmcgdG8gTGludXggQUJJIGRlZmlu
aXRpb24gZm9yIHN5c3RlbSBjYWxscworICogKHNlZTogbWFuIHN5c2NhbGwoMikpCisgKiAgcmlw
ICAgICAgLSBJbnN0cnVjdGlvbiBwb2ludGVyCisgKiAgcnN5c2NhbGwgLSBTeXNjYWxsIG51bWJl
cgorICogIHJhcmdYICAgIC0gQXJndW1lbnRzIDAuLjUKKyAqICBycmV0WCAgICAtIFN5c3RlbSBj
YWxsIHJldHVybiB2YWx1ZXMgMC4uMQorICovCisKKyNpZiAoZGVmaW5lZCBfX1g4Nl82NF9fKQor
I2RlZmluZSByaXAJCXJjeAorI2RlZmluZSByc3lzY2FsbAlvcmlnX3JheAorI2RlZmluZSByYXJn
MAkJcmRpCisjZGVmaW5lIHJhcmcxCQlyc2kKKyNkZWZpbmUgcmFyZzIJCXJkeAorI2RlZmluZSBy
YXJnMwkJcjEwCisjZGVmaW5lIHJhcmc0CQlyOAorI2RlZmluZSByYXJnNQkJcjkKKworI2RlZmlu
ZSBycmV0MAkJcmF4CisjZGVmaW5lIHJyZXQxCQlyZHgKKworI2VsaWYgKGRlZmluZWQgX19BUk02
NF9fKQorI2RlZmluZSByaXAJCXhbMTVdIC8qIFRPRE86IElzIHRoaXMgY29ycmVjdD8gKi8KKyNk
ZWZpbmUgcnN5c2NhbGwJeFs4XQorI2RlZmluZSByYXJnMAkJeFswXQorI2RlZmluZSByYXJnMQkJ
eFsxXQorI2RlZmluZSByYXJnMgkJeFsyXQorI2RlZmluZSByYXJnMwkJeFszXQorI2RlZmluZSBy
YXJnNAkJeFs0XQorI2RlZmluZSByYXJnNQkJeFs1XQorCisjZGVmaW5lIHJyZXQwCQl4WzBdCisj
ZGVmaW5lIHJyZXQxCQl4WzFdCisKKyNlbHNlCisjZXJyb3IgIk1pc3NpbmcgcmVnaXN0ZXIgbWFw
cGluZ3MgZm9yIHNlbGVjdGVkIHRhcmdldCBhcmNoaXRlY3R1cmUiCisKKyNlbmRpZgorCisjZW5k
aWYgLyogX1JFR01BUF9MSU5VWEFCSV9IXyAqLwpkaWZmIC0tZ2l0IGEvbGliL3N5c2NhbGxfc2hp
bS91a19zeXNjYWxsX3IuYy5pbl9lbmQgYi9saWIvc3lzY2FsbF9zaGltL3VrX3N5c2NhbGxfci5j
LmluX2VuZAppbmRleCBmMmI5ZmM4ZS4uZWU4YTU2ODkgMTAwNjQ0Ci0tLSBhL2xpYi9zeXNjYWxs
X3NoaW0vdWtfc3lzY2FsbF9yLmMuaW5fZW5kCisrKyBiL2xpYi9zeXNjYWxsX3NoaW0vdWtfc3lz
Y2FsbF9yLmMuaW5fZW5kCkBAIC0xMywzICsxMywyMSBAQCBsb25nIHVrX3N5c2NhbGxfcihsb25n
IG4sIC4uLikKIAl2YV9lbmQoYXApOwogCXJldHVybiBfX3VrX3N5c2NhbGxfcihuLGEsYixjLGQs
ZSxmKTsKIH0KKworI2lmIENPTkZJR19MSUJTWVNDQUxMX1NISU1fSEFORExFUgorI2luY2x1ZGUg
PHVrL3BsYXQvc3lzY2FsbC5oPgorI2luY2x1ZGUgPHVrL2Fzc2VydC5oPgorI2luY2x1ZGUgPHJl
Z21hcF9saW51eGFiaS5oPgorCit2b2lkIHVrcGxhdF9zeXNjYWxsX2hhbmRsZXIoc3RydWN0IF9f
cmVncyAqcikKK3sKKwlVS19BU1NFUlQocik7CisKKwl1a19wcl9kZWJ1ZygiQmluYXJ5IHN5c3Rl
bSBjYWxsIHJlcXVlc3QgXCIlc1wiICglbHUpIGF0IGlwOiVwIChhcmcwPTB4JWx4LCBhcmcxPTB4
JWx4LCAuLi4pXG4iLAorCQkgICAgdWtfc3lzY2FsbF9uYW1lKHItPnJzeXNjYWxsKSwgci0+cnN5
c2NhbGwsCisJCSAgICAodm9pZCAqKSByLT5yaXAsIHItPnJhcmcwLCByLT5yYXJnMSk7CisJci0+
cnJldDAgPSBfX3VrX3N5c2NhbGxfcihyLT5yc3lzY2FsbCwKKwkJCQkgIHItPnJhcmcwLCByLT5y
YXJnMSwgci0+cmFyZzIsCisJCQkJICByLT5yYXJnMywgci0+cmFyZzQsIHItPnJhcmc1KTsKK30K
KyNlbmRpZiAvKiBDT05GSUdfTElCU1lTQ0FMTF9TSElNX0hBTkRMRVIgKi8KLS0gCjIuMjAuMQoK
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1k
ZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBz
Oi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Wed Dec 11 14:40:54 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 11 Dec 2019 14:40:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1if3Aa-0005Tx-GQ; Wed, 11 Dec 2019 14:40:52 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=boZ+=2B=gmail.com=stefanl.teodorescu@srs-us1.protection.inumbo.net>)
 id 1if3AZ-0005Ts-8b
 for minios-devel@lists.xen.org; Wed, 11 Dec 2019 14:40:51 +0000
X-Inumbo-ID: 39826828-1c24-11ea-88e7-bc764e2007e4
Received: from mail-lj1-x241.google.com (unknown [2a00:1450:4864:20::241])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 39826828-1c24-11ea-88e7-bc764e2007e4;
 Wed, 11 Dec 2019 14:40:50 +0000 (UTC)
Received: by mail-lj1-x241.google.com with SMTP id s22so24334479ljs.7
 for <minios-devel@lists.xen.org>; Wed, 11 Dec 2019 06:40:50 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to
 :cc; bh=ssqxAo1XYN8TnaPz10Yg5TbDML5V+Q1H7Z2nJgVBM5U=;
 b=tfdtb9FoGujkO3TYOC4jxlMLoQxHbIdYGgOYWcfUtpUG+UTL6A/5UenBcceAUdadVw
 idjJLsjUSZE0GqG8Yze2F8Z/bP6cfVV1mkjQhC2eQtyoaSMHGflwlxvXHCTYPCdS8jTg
 4EHFeuDbQWMzxz46+XUcr4tNwI7HjI51gdc9tM9wn7MtdgiPiywp+N+Trk9Z+q6Ft/9e
 9cvI1MBeZBUJNKim+qQsL3A6TdBqS3o3k6HP+dHNovfq2l3ricAiAjKCILCg/B+4H3FS
 AuI6Y7mzSBKnruhekN7XVH7UK7MiUjil8ChEDkRJH6gycjlNg1yMtyzy4zKMu8kG+GKg
 9mzw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
 :message-id:subject:to:cc;
 bh=ssqxAo1XYN8TnaPz10Yg5TbDML5V+Q1H7Z2nJgVBM5U=;
 b=DgXDVDUWpMAMbhtVuL7ifIoKoN9rYEn5x8pKDyfctt12n8TI1TI3UkO3QoarB4/TS3
 ZKBe44Yn36K/ShetyHga74Y0fDKi7TAQ0F4JGyzmg8LOPL6hBhSSM2bw4lsKjsSUdeEY
 ofq4esmLigqJRL9SzrsJSzg0cmEYP+bzXreD9uI8OKQiPmhnv9c82K7vCFIOpxHSw4pe
 ZrRit0o2HwzhoVvYbbxgtf/lHxmeNZ66/neJQZ1fPxMkt9VUOxMtqfbysv/1FEabKrM1
 bM9ReVT+Vj5r7BZEAt6e8ALwd1ZDlgbpJgu8w4/6oBAsHLNFr1qzCQHwjjjZRQIFQS9k
 g97g==
X-Gm-Message-State: APjAAAXFFxb2aNRmfNIT++nq6LWYX16D1criFiQlAoEF3GPj/44dkcqT
 oRzlS0sA9pe4wiBeiOBWZqiSnnCtd+lSi+jNEpjHTUQl
X-Google-Smtp-Source: APXvYqx4jPeuamyjy/R6Y40baoX+g0IA4mSIgq+0JHdrCgmGeXtDo0cUpCuQhNlC29EM3L9lq4/3qe2tbEpXpR9klS8=
X-Received: by 2002:a2e:93c5:: with SMTP id p5mr2211684ljh.192.1576075249115; 
 Wed, 11 Dec 2019 06:40:49 -0800 (PST)
MIME-Version: 1.0
References: <20191208095507.27384-1-costin.lupu@cs.pub.ro>
 <20191208095507.27384-14-costin.lupu@cs.pub.ro>
In-Reply-To: <20191208095507.27384-14-costin.lupu@cs.pub.ro>
From: Stefan Teodorescu <stefanl.teodorescu@gmail.com>
Date: Wed, 11 Dec 2019 16:40:19 +0200
Message-ID: <CAEiTdV4FB2KHX96_E1DTc2OOoRD7pZc--yWzO6Z126=JcpAOQA@mail.gmail.com>
To: Costin Lupu <costin.lupu@cs.pub.ro>
Subject: Re: [Minios-devel] [UNIKRAFT/RUBY PATCH 13/16] tests: Build tests
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: minios-devel@lists.xen.org
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

UGxlYXNlIGNoYW5nZSB0aGUgbmFtZXMgb2YgdGhlIGxpbmtzIGNyZWF0ZWQgZm9yIHRoZSB1bml0
IHRlc3RzIGZyb20KdXNpbmcgLSAoZGFzaCksIHRvIHVzaW5nIF8gKHVuZGVyc2NvcmUpLiBUaGUg
YnVpbGQgc3lzdGVtCmF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVzIHNvbWUgbWFjcm9zIHRoYXQgdGFr
ZSB0aGUgZmlsZSBuYW1lcyBhcwpwYXJhbWV0ZXJzLCBhbmQgY3JlYXRlIGZ1bmN0aW9ucyBuYW1l
ZCBieSB0aGUgZm9ybWF0IEluaXRfPGZpbGVuYW1lPiwKYW5kIGZ1bmN0aW9ucyBjYW5ub3QgaGF2
ZSBkYXNoZXMgaW4gdGhlaXIgbmFtZXMuCgpBbHNvIHRoZXJlIGlzIGEgcHJvYmxlbSB3aXRoICJl
eHRjb25mLmgiIGZpbGUuIEl0IGNhbid0IGJlIGZvdW5kIHdoZW4KYnVpbGRpbmcgd2l0aCB0ZXN0
cyBlbmFibGVkLgoKT24gU3VuLCBEZWMgOCwgMjAxOSBhdCAxMTo1NiBBTSBDb3N0aW4gTHVwdSA8
Y29zdGluLmx1cHVAY3MucHViLnJvPiB3cm90ZToKPgo+IFRoZSBSdWJ5IHVuaXQgdGVzdGluZyBk
ZXBlbmRzIG9uIGJvdGggZXh0ZW5zaW9ucyBhbmQgZW5jb2RpbmdzLiBXZSBjdXJyZW50bHkKPiBh
ZGQgc3VwcG9ydCBmb3IgcnVubmluZyBvbmx5IHRoZSB0aW1lIGFuZCBmaWxlIHRlc3RzLiBFbmFi
bGluZyB0aGUgcmVzdCBvZiB0aGUKPiB0ZXN0cyBpcyBzdWJqZWN0IG9mIGZ1cnRoZXIgd29yay4K
Pgo+IFNpZ25lZC1vZmYtYnk6IENvc3RpbiBMdXB1IDxjb3N0aW4ubHVwdUBjcy5wdWIucm8+Cj4g
LS0tCj4gIENvbmZpZy51ayAgICAgICAgICAgICAgIHwgIDcgKysrKysrKwo+ICBNYWtlZmlsZS51
ayAgICAgICAgICAgICB8IDQwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysKPiAgZ2VuZXJhdGVkL2V4dC9leHRpbml0LmMgfCAgNiArKysrKysKPiAgMyBmaWxlcyBjaGFu
Z2VkLCA1MyBpbnNlcnRpb25zKCspCj4KPiBkaWZmIC0tZ2l0IGEvQ29uZmlnLnVrIGIvQ29uZmln
LnVrCj4gaW5kZXggYjRjNWJmZi4uOGY2ZDY4OSAxMDA2NDQKPiAtLS0gYS9Db25maWcudWsKPiAr
KysgYi9Db25maWcudWsKPiBAQCAtMTI5LDQgKzEyOSwxMSBAQCBjb25maWcgTElCUlVCWV9FTkMK
PiAgICAgICAgIGRlcGVuZHMgb24gIUxJQlJVQllfTUlOSQo+ICAgICAgICAgZGVmYXVsdCB5Cj4K
PiArY29uZmlnIExJQlJVQllfVEVTVAo+ICsgICAgICAgYm9vbCAiRW5hYmxlIHVuaXQgdGVzdGlu
ZyIKPiArICAgICAgIGRlcGVuZHMgb24gIUxJQlJVQllfTUlOSQo+ICsgICAgICAgZGVwZW5kcyBv
biBMSUJSVUJZX0VYVAo+ICsgICAgICAgZGVwZW5kcyBvbiBMSUJSVUJZX0VOQwo+ICsgICAgICAg
ZGVmYXVsdCB5Cj4gKwo+ICBlbmRpZgo+IGRpZmYgLS1naXQgYS9NYWtlZmlsZS51ayBiL01ha2Vm
aWxlLnVrCj4gaW5kZXggOWY2NjYwNi4uYTdhZWI5YSAxMDA2NDQKPiAtLS0gYS9NYWtlZmlsZS51
awo+ICsrKyBiL01ha2VmaWxlLnVrCj4gQEAgLTQxLDYgKzQxLDcgQEAKPiAgJChldmFsICQoY2Fs
bCBhZGRsaWJfcyxsaWJydWJ5LCQoQ09ORklHX0xJQlJVQlkpKSkKPiAgJChldmFsICQoY2FsbCBh
ZGRsaWJfcyxsaWJydWJ5X2V4dCwkKENPTkZJR19MSUJSVUJZX0VYVCkpKQo+ICAkKGV2YWwgJChj
YWxsIGFkZGxpYl9zLGxpYnJ1YnlfZW5jLCQoQ09ORklHX0xJQlJVQllfRU5DKSkpCj4gKyQoZXZh
bCAkKGNhbGwgYWRkbGliX3MsbGlicnVieV90ZXN0LCQoQ09ORklHX0xJQlJVQllfVEVTVCkpKQo+
Cj4gICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCj4gICMgU291cmNlcwo+IEBAIC01MzgsMTAgKzUz
OSw0OSBAQCBMSUJSVUJZX0VOQ19TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL3RyYW5zL3Np
bmdsZV9ieXRlLmMKPiAgTElCUlVCWV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy90
cmFucy91dGY4X21hYy5jCj4gIExJQlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9l
bmMvdHJhbnMvdXRmXzE2XzMyLmMKPgo+ICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwo+ICsjIFVu
aXQgdGVzdGluZwo+ICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwo+ICtMSUJSVUJZX1RFU1RfQ0ZM
QUdTLXkgKz0gJChMSUJSVUJZX0NJTkNMVURFUy15KQo+ICtMSUJSVUJZX1RFU1RfQ0ZMQUdTLXkg
Kz0gJChMSUJSVUJZX1NVUFBSRVNTX0ZMQUdTKQo+ICtMSUJSVUJZX1RFU1RfQ0ZMQUdTLXkgKz0g
LURSVUJZX0VYVENPTkZfSD1cImV4dGNvbmYuaFwiCj4gKwo+ICskKExJQlJVQllfU1JDKS9leHQv
LXRlc3QtL2ZpbGUvaW5pdC1maWxlLmM6ICQoTElCUlVCWV9TUkMpL2V4dC8tdGVzdC0vZmlsZS9p
bml0LmMKPiArICAgICAgIGxuIC1zICQ8ICRACj4gK0xJQlJVQllfVEVTVF9TUkNTLXkgKz0gJChM
SUJSVUJZX1NSQykvZXh0Ly10ZXN0LS9maWxlL2luaXQtZmlsZS5jCj4gK0xJQlJVQllfVEVTVF9J
TklULUZJTEVfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9leHQvLXRlc3QtL2ZpbGUKPiAr
TElCUlVCWV9URVNUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvLXRlc3QtL2ZpbGUvZnMu
Ywo+ICtMSUJSVUJZX1RFU1RfRlNfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9leHQvLXRl
c3QtL2ZpbGUKPiArTElCUlVCWV9URVNUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvLXRl
c3QtL2ZpbGUvc3RhdC5jCj4gK0xJQlJVQllfVEVTVF9TVEFUX0ZMQUdTLXkgKz0gLUkkKExJQlJV
QllfQkFTRSkvZXh0Ly10ZXN0LS9maWxlCj4gKwo+ICskKExJQlJVQllfU1JDKS9leHQvLXRlc3Qt
L3RpbWUvaW5pdC10aW1lLmM6ICQoTElCUlVCWV9TUkMpL2V4dC8tdGVzdC0vdGltZS9pbml0LmMK
PiArICAgICAgIGxuIC1zICQ8ICRACj4gK0xJQlJVQllfVEVTVF9TUkNTLXkgKz0gJChMSUJSVUJZ
X1NSQykvZXh0Ly10ZXN0LS90aW1lL2luaXQtdGltZS5jCj4gK0xJQlJVQllfVEVTVF9JTklULVRJ
TUVfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9leHQvLXRlc3QtL3RpbWUKPiArTElCUlVC
WV9URVNUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvLXRlc3QtL3RpbWUvbGVhcF9zZWNv
bmQuYwo+ICtMSUJSVUJZX1RFU1RfTEVBUF9TRUNPTkRfRkxBR1MteSArPSAtSSQoTElCUlVCWV9C
QVNFKS9leHQvLXRlc3QtL3RpbWUKPiArTElCUlVCWV9URVNUX1NSQ1MteSArPSAkKExJQlJVQllf
U1JDKS9leHQvLXRlc3QtL3RpbWUvbmV3LmMKPiArTElCUlVCWV9URVNUX05FV19GTEFHUy15ICs9
IC1JJChMSUJSVUJZX0JBU0UpL2V4dC8tdGVzdC0vdGltZQo+ICsKPiAgIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMKPiAgIyBQcmVwYXJlIHJ1bGVzCj4gICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCj4K
PiArIyBDdXN0b21pemUgY29uZmlnOiBjb25maWd1cmUgc3RhY2sgc2l6ZQo+ICskKEFQUF9CQVNF
KS8uY29uZmlnLm9yaWc6ICQoQVBQX0JBU0UpLy5jb25maWcKPiArICAgICAgICQoY2FsbCB2ZXJi
b3NlX2NtZCxDT05GSUcsbGlicnVieTogJChub3RkaXIgJEApLCBcCj4gKyAgICAgICAgICAgICAg
IGNwICQoQVBQX0JBU0UpLy5jb25maWcgJEAgJiYgXAo+ICsgICAgICAgICAgICAgICBzZWQgLWkg
J3MvXkNPTkZJR19TVEFDS19TSVpFX1BBR0VfT1JERVI9LiokJC9DT05GSUdfU1RBQ0tfU0laRV9Q
QUdFX09SREVSPTEwL2cnICQoQVBQX0JBU0UpLy5jb25maWcpCj4gKwo+ICtMSUJSVUJZX1RFU1Rf
UFJFUEFSRURfREVQUyA9IFwKPiArICAgICAgICQoQVBQX0JBU0UpLy5jb25maWcub3JpZyBcCj4g
Kwo+ICskKExJQlJVQllfVEVTVF9CVUlMRCkvLnByZXBhcmVkOiAkKExJQlJVQllfVEVTVF9QUkVQ
QVJFRF9ERVBTKQo+ICsKPiArVUtfUFJFUEFSRSArPSAkKExJQlJVQllfVEVTVF9CVUlMRCkvLnBy
ZXBhcmVkCj4gKwo+ICsKPiAgIyBDb25maWd1cmUgb3JpZ2luCj4gICQoTElCUlVCWV9CVUlMRCkv
LmNvbmZpZ3VyZWQ6ICQoTElCUlVCWV9CVUlMRCkvLm9yaWdpbgo+ICAgICAgICAgY2QgJChMSUJS
VUJZX1NSQykgJiYgXAo+IGRpZmYgLS1naXQgYS9nZW5lcmF0ZWQvZXh0L2V4dGluaXQuYyBiL2dl
bmVyYXRlZC9leHQvZXh0aW5pdC5jCj4gaW5kZXggY2UyZTc3Yy4uM2FmMzYzMiAxMDA2NDQKPiAt
LS0gYS9nZW5lcmF0ZWQvZXh0L2V4dGluaXQuYwo+ICsrKyBiL2dlbmVyYXRlZC9leHQvZXh0aW5p
dC5jCj4gQEAgLTEwMiw0ICsxMDIsMTAgQEAgdm9pZCBJbml0X2V4dCh2b2lkKQo+ICAjaWYgQ09O
RklHX0xJQlJVQllfRVhUX1JJUFBFUgo+ICAgICAgaW5pdChJbml0X3NkYm0sICJzZGJtIik7Cj4g
ICNlbmRpZgo+ICsKPiArI2lmIENPTkZJR19MSUJSVUJZX1RFU1QKPiArICAgIC8qIFRPRE8gYWRk
IG1vcmUgdGVzdHMgKi8KPiArICAgIGluaXQoSW5pdF90aW1lLCAiLXRlc3QtL2ZpbGUiKTsKPiAr
ICAgIGluaXQoSW5pdF90aW1lLCAiLXRlc3QtL3RpbWUiKTsKPiArI2VuZGlmCj4gIH0KPiAtLQo+
IDIuMjAuMQo+Cj4KPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwo+IE1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKPiBNaW5pb3MtZGV2ZWxAbGlzdHMueGVu
cHJvamVjdC5vcmcKPiBodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGlu
Zm8vbWluaW9zLWRldmVsCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5w
cm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8v
bWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Wed Dec 11 14:42:36 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 11 Dec 2019 14:42:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1if3CF-0005YJ-N1; Wed, 11 Dec 2019 14:42:35 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=boZ+=2B=gmail.com=stefanl.teodorescu@srs-us1.protection.inumbo.net>)
 id 1if3CE-0005YE-49
 for minios-devel@lists.xen.org; Wed, 11 Dec 2019 14:42:34 +0000
X-Inumbo-ID: 770328b8-1c24-11ea-b6f1-bc764e2007e4
Received: from mail-lj1-x243.google.com (unknown [2a00:1450:4864:20::243])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 770328b8-1c24-11ea-b6f1-bc764e2007e4;
 Wed, 11 Dec 2019 14:42:33 +0000 (UTC)
Received: by mail-lj1-x243.google.com with SMTP id m6so24374164ljc.1
 for <minios-devel@lists.xen.org>; Wed, 11 Dec 2019 06:42:33 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to
 :cc; bh=/+frbINXBsPWM5cfUKrL9t3E/YUf52HuaWDmqBlAMhM=;
 b=hHnLBd46DCYnUzqOR7kneK4uw+Mwd2P2xZyObAD9/8uM9La97pIlf5MzS6QDFLfBQf
 D1q450WVuMdwJAAijwBt1CHMKjv0O9i/uSzDDZsJINIizquK2SLe6FEMM0anbMlMYrFS
 uKiK90phNf/BB9IxU5QNJAhU7JionQfa6pcd8ASOFTZFS7gpK8cMHR5aBzrLtcauVPrJ
 gJq+Sr/NiIc0nEOEZKRBP7P+wMd8U3KHI4fRyz9M48UAbk0LdKrjiA4zYrKku6uem9Ls
 tDOeg/VfCOLxUgA7MycD04ggipqmjZoFcbdos7LEzHcmYjX4K+eCUZihXIzv4gD4XAFs
 kopQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
 :message-id:subject:to:cc;
 bh=/+frbINXBsPWM5cfUKrL9t3E/YUf52HuaWDmqBlAMhM=;
 b=rnHON1SWDJnxyVTd9/qMEok7+MGY7IJWe95g/wegBFAeD2nS+14c8fIYJ4TuhJu9fp
 vKNcM5hdHLwvjKOZuf1A09uGRgS65hOMIVLD12Ot4Bw6+VyPMklwBrRP+Ps7/Qin7fuV
 djUO8NmbotSLzhQvR8efi9nDPQDESb74CZToM9e6RyL09ixQzDPTSrOO4RD7bJmyA1Ab
 HqQt56wUbfta3nuaGOULUympNL/6fNeRMsV71nWM7oW4fHz7yGMlspmLEp8lGDKvMEK5
 fM8anvr+JoUEXUeNNzKVnVvEVt/8Tlk0dekOwt3k0+31atbosAqZPsrf6zIl56ffFFhv
 3EZg==
X-Gm-Message-State: APjAAAVYiPAt7iGeG658eMGyq1KPC1j+le9iUmupMMyOEdOEeeeMM894
 qOCetpfi8LA6SRMKT7Hg66Ui8odyTi8i9wJR2xYPkPP1AFE=
X-Google-Smtp-Source: APXvYqzG27ZN4bNEbwn4X737P6ieBZNa6zknjy4D8dX8bVMd5PjPPf+860tUKp3Rv1NrZ7PEqJruGZcvmjihie6ub5M=
X-Received: by 2002:a05:651c:208:: with SMTP id
 y8mr2391577ljn.36.1576075352461; 
 Wed, 11 Dec 2019 06:42:32 -0800 (PST)
MIME-Version: 1.0
References: <20191208095507.27384-1-costin.lupu@cs.pub.ro>
 <20191208095507.27384-10-costin.lupu@cs.pub.ro>
In-Reply-To: <20191208095507.27384-10-costin.lupu@cs.pub.ro>
From: Stefan Teodorescu <stefanl.teodorescu@gmail.com>
Date: Wed, 11 Dec 2019 16:42:03 +0200
Message-ID: <CAEiTdV6W-VJVdfqzx8qiP+vQyaM+J5beDpFfQCyeMbBj20qoQw@mail.gmail.com>
To: Costin Lupu <costin.lupu@cs.pub.ro>
Subject: Re: [Minios-devel] [UNIKRAFT/RUBY PATCH 09/16] extensions/socket:
 Disable unavailable features
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: minios-devel@lists.xen.org
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

UmV2aWV3ZWQtYnk6IFN0ZWZhbiBUZW9kb3Jlc2N1IDxzdGVmYW5sLnRlb2RvcmVzY3VAZ21haWwu
Y29tPgoKT24gU3VuLCBEZWMgOCwgMjAxOSBhdCAxMTo1NSBBTSBDb3N0aW4gTHVwdSA8Y29zdGlu
Lmx1cHVAY3MucHViLnJvPiB3cm90ZToKPgo+IFRoaXMgaXMgYW4gZXhhbXBsZSBvZiBkaXNhYmxp
bmcgZmVhdHVyZXMgaW4gdGhlIDxleHRjb25mLmg+IGhlYWRlciBvZiBhbgo+IGV4dGVuc2lvbi4g
SGVyZSB3ZSBkaXNhYmxlIHRoZSBmbGFncyBmb3IgYGFjY2VwdDQoKWAgYW5kIGBpZmFkZHJzYCBz
dHJ1Y3R1cmUKPiBhbmQgaXRzIGFzc29jaWF0ZWQgZnVuY3Rpb25zLgo+Cj4gU2lnbmVkLW9mZi1i
eTogQ29zdGluIEx1cHUgPGNvc3Rpbi5sdXB1QGNzLnB1Yi5ybz4KPiAtLS0KPiAgZ2VuZXJhdGVk
L2V4dC9zb2NrZXQvZXh0Y29uZi5oIHwgNiArKystLS0KPiAgMSBmaWxlIGNoYW5nZWQsIDMgaW5z
ZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9nZW5lcmF0ZWQvZXh0
L3NvY2tldC9leHRjb25mLmggYi9nZW5lcmF0ZWQvZXh0L3NvY2tldC9leHRjb25mLmgKPiBpbmRl
eCA3ODYxMTdkLi5kMTVmOThkIDEwMDY0NAo+IC0tLSBhL2dlbmVyYXRlZC9leHQvc29ja2V0L2V4
dGNvbmYuaAo+ICsrKyBiL2dlbmVyYXRlZC9leHQvc29ja2V0L2V4dGNvbmYuaAo+IEBAIC04LDcg
KzgsNyBAQAo+ICAjZGVmaW5lIEhBVkVfTkVUUEFDS0VUX1BBQ0tFVF9IIDEKPiAgI2RlZmluZSBI
QVZFX05FVF9FVEhFUk5FVF9IIDEKPiAgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKPiAtI2RlZmlu
ZSBIQVZFX0lGQUREUlNfSCAxCj4gKy8qI2RlZmluZSBIQVZFX0lGQUREUlNfSCAxKi8KPiAgI2Rl
ZmluZSBIQVZFX1NZU19JT0NUTF9IIDEKPiAgI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKPiAgI2Rl
ZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKPiBAQCAtMTA1LDExICsxMDUsMTEgQEAKPiAgI2RlZmlu
ZSBIQVZFX0ZSRUVBRERSSU5GTyAxCj4gICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQo+ICAj
ZGVmaW5lIEdBSV9TVFJFUlJPUl9DT05TVCAxCj4gLSNkZWZpbmUgSEFWRV9BQ0NFUFQ0IDEKPiAr
LyojZGVmaW5lIEhBVkVfQUNDRVBUNCAxKi8KPiAgI2RlZmluZSBIQVZFX0lORVRfTlRPUCAxCj4g
ICNkZWZpbmUgSEFWRV9JTkVUX1BUT04gMQo+ICAjZGVmaW5lIEhBVkVfR0VUU0VSVkJZUE9SVCAx
Cj4gLSNkZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEKPiArLyojZGVmaW5lIEhBVkVfR0VUSUZBRERS
UyAxKi8KPiAgI2RlZmluZSBIQVZFX0lGX0lOREVYVE9OQU1FIDEKPiAgI2RlZmluZSBORUVEX0lG
X0lOREVYVE9OQU1FX0RFQ0wgMQo+ICAjZGVmaW5lIEhBVkVfSUZfTkFNRVRPSU5ERVggMQo+IC0t
Cj4gMi4yMC4xCj4KPgo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCj4gTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdAo+IE1pbmlvcy1kZXZlbEBsaXN0cy54
ZW5wcm9qZWN0Lm9yZwo+IGh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0
aW5mby9taW5pb3MtZGV2ZWwKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhl
bnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5m
by9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Wed Dec 11 14:43:11 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 11 Dec 2019 14:43:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1if3Cp-0005ZI-Pv; Wed, 11 Dec 2019 14:43:11 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=boZ+=2B=gmail.com=stefanl.teodorescu@srs-us1.protection.inumbo.net>)
 id 1if3Co-0005ZD-E8
 for minios-devel@lists.xen.org; Wed, 11 Dec 2019 14:43:10 +0000
X-Inumbo-ID: 8c919674-1c24-11ea-88e7-bc764e2007e4
Received: from mail-lf1-x141.google.com (unknown [2a00:1450:4864:20::141])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 8c919674-1c24-11ea-88e7-bc764e2007e4;
 Wed, 11 Dec 2019 14:43:09 +0000 (UTC)
Received: by mail-lf1-x141.google.com with SMTP id b15so16893087lfc.4
 for <minios-devel@lists.xen.org>; Wed, 11 Dec 2019 06:43:09 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to
 :cc; bh=AX/zi/QRoFp20S8s19dAsdGTjvyqTSFTjhLnGb8pcwk=;
 b=n1BdyRQqVs7m48rs6GYVxjEtmSfV7E8lP19hAXstJhILHuGFx/LGx9Rl15jiEnbn2B
 ZialWpe+Nj6WOob/rlgSTjWfQ5JmQNI5M5VSFKYQzz0lvcEQmdaumQkp7iirXh4qsgnr
 dQ2ZLTwAOnUidsH4sRgn7vAK6oyQhH5GUGSJPbdFPVJAyxVkcEfImH6qi9ln/ja0962P
 r/Uq9vejC/Lu3b8ICRvy25BoNkSZMbB7RYXfqVEMsZv3LNdMciRzdIPPBgnP6TIKS2Nh
 Ejilv7Vk1SH+LcWnyYhEsSYxou26PEtRvaPD5hG1O7iz0/7GPKO67m8IwTnLLXkvklff
 ukzw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
 :message-id:subject:to:cc;
 bh=AX/zi/QRoFp20S8s19dAsdGTjvyqTSFTjhLnGb8pcwk=;
 b=j2lnnlsgpik7ZKjjGKg2mUj7SJ/jNIHgilNBaSZCQcs52/FJHFgYvjGECqD9PzHIVB
 LfCjkLfCFJNi1vjrwpcfbcsZ6MdSuf+XIQyPu3rciEHV0Nsn5R9UkfDCQH8czhCNltdI
 268vt55raQpTQxbdkKXncvKXfC5MWj5NTIRVyWj7yjS0SRWl6Wy1SN6K+0zYVbsiPsPh
 iYLt3ZfHCeGGxXtx5zFzF+fXipF1ivKesvUTTlfT0xW5cuRTDr0o33lARBFfY9FKfpIo
 8ZODGfVUL2q7frxx5/2HnU4Crld7ai7HiPCcXgkrPmHJ106UafW3eGJACk/XQxjPiRrL
 qU7g==
X-Gm-Message-State: APjAAAUXN2fvlEhKDKcuhETs621lIMLnK7ZU3SE0Bkclhip+P6Ff/fNo
 NfGefgFA33uIEFWcoiD14wmZYITh8G1yiPJ/UVJFV11B5+w=
X-Google-Smtp-Source: APXvYqwFc/KIRY461/nwuaK+tqGuH6+2Jo5xHrkBjePDl5zzvgquqxStXS59XG+ZsaA8n02RYlNyf7i0UQSFdy6ZdRg=
X-Received: by 2002:ac2:4212:: with SMTP id y18mr2433241lfh.2.1576075388630;
 Wed, 11 Dec 2019 06:43:08 -0800 (PST)
MIME-Version: 1.0
References: <20191208095507.27384-1-costin.lupu@cs.pub.ro>
 <20191208095507.27384-8-costin.lupu@cs.pub.ro>
In-Reply-To: <20191208095507.27384-8-costin.lupu@cs.pub.ro>
From: Stefan Teodorescu <stefanl.teodorescu@gmail.com>
Date: Wed, 11 Dec 2019 16:42:39 +0200
Message-ID: <CAEiTdV5f-uud6ru-WKgc4Kze9K6qALAU-V7vPqQr0G_Gy5pSEA@mail.gmail.com>
To: Costin Lupu <costin.lupu@cs.pub.ro>
Subject: Re: [Minios-devel] [UNIKRAFT/RUBY PATCH 07/16] patches: Limit all
 memory allocations to maximum 4K bytes
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: minios-devel@lists.xen.org
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

UmV2aWV3ZWQtYnk6IFN0ZWZhbiBUZW9kb3Jlc2N1IDxzdGVmYW5sLnRlb2RvcmVzY3VAZ21haWwu
Y29tPgoKT24gU3VuLCBEZWMgOCwgMjAxOSBhdCAxMTo1NSBBTSBDb3N0aW4gTHVwdSA8Y29zdGlu
Lmx1cHVAY3MucHViLnJvPiB3cm90ZToKPgo+IFdlIGN1cnJlbnRseSBkbyBub3Qgc3VwcG9ydCBh
bGxvY2F0aW9ucyBncmVhdGVyIHRoYW4gNEsgYW5kIHRoYXQgaXMgYmVjYXVzZSB3ZQo+IGRvIG5v
dCBoYXZlIGEgcHJvcGVyIHBhZ2UgdGFibGVzIGltcGxlbWVudGF0aW9uIHlldCBhbmQgYSBjb21w
bGV0ZSBtbWFwKCkKPiBpbXBsZW1lbnRhdGlvbi4gVGhlcmVmb3JlIHRoaXMgcGF0Y2ggc2hvdWxk
IGJlIHJlbW92ZWQgd2hlbiB3ZSB3aWxsIGhhdmUgdGhlc2UKPiBpbiBVbmlrcmFmdC4KPgo+IFNp
Z25lZC1vZmYtYnk6IENvc3RpbiBMdXB1IDxjb3N0aW4ubHVwdUBjcy5wdWIucm8+Cj4gLS0tCj4g
IC4uLjAxLVNldC1tYXhpbXVtLWFsbG9jYXRpb24tc2l6ZS10by00Sy5wYXRjaCB8IDQyICsrKysr
KysrKysrKysrKysrKysKPiAgMSBmaWxlIGNoYW5nZWQsIDQyIGluc2VydGlvbnMoKykKPiAgY3Jl
YXRlIG1vZGUgMTAwNjQ0IHBhdGNoZXMvMDAwMS1TZXQtbWF4aW11bS1hbGxvY2F0aW9uLXNpemUt
dG8tNEsucGF0Y2gKPgo+IGRpZmYgLS1naXQgYS9wYXRjaGVzLzAwMDEtU2V0LW1heGltdW0tYWxs
b2NhdGlvbi1zaXplLXRvLTRLLnBhdGNoIGIvcGF0Y2hlcy8wMDAxLVNldC1tYXhpbXVtLWFsbG9j
YXRpb24tc2l6ZS10by00Sy5wYXRjaAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAw
MDAwMC4uZjBlZGNmZAo+IC0tLSAvZGV2L251bGwKPiArKysgYi9wYXRjaGVzLzAwMDEtU2V0LW1h
eGltdW0tYWxsb2NhdGlvbi1zaXplLXRvLTRLLnBhdGNoCj4gQEAgLTAsMCArMSw0MiBAQAo+ICtG
cm9tIDJjZjdjZjgzYTYyZDYxMzI1NWJmYmU2MGE1ZjNiNTJiZmY5NDU5NGEgTW9uIFNlcCAxNyAw
MDowMDowMCAyMDAxCj4gK0Zyb206IENvc3RpbiBMdXB1IDxjb3N0aW4ubHVwdUBjcy5wdWIucm8+
Cj4gK0RhdGU6IFN1biwgMSBEZWMgMjAxOSAxMjozODowNyArMDIwMAo+ICtTdWJqZWN0OiBbUEFU
Q0hdIFNldCBtYXhpbXVtIGFsbG9jYXRpb24gc2l6ZSB0byA0Swo+ICsKPiArVGhpcyBzaG91bGQg
YmUgcmV2ZXJ0ZWQgb25jZSB3ZSB3aWxsIGhhdmUgcGFnZSB0YWJsZXMgc3VwcG9ydC4KPiArCj4g
K1NpZ25lZC1vZmYtYnk6IENvc3RpbiBMdXB1IDxjb3N0aW4ubHVwdUBjcy5wdWIucm8+Cj4gKy0t
LQo+ICsgZ2MuYyAgICAgICAgICAgICB8IDIgKy0KPiArIHRyYW5zaWVudF9oZWFwLmMgfCAyICst
Cj4gKyAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKPiAr
Cj4gK2RpZmYgLS1naXQgYS9nYy5jIGIvZ2MuYwo+ICtpbmRleCAwZGY3MTg5Li5mOTI2YzY5IDEw
MDY0NAo+ICstLS0gYS9nYy5jCj4gKysrKyBiL2djLmMKPiArQEAgLTY1MCw3ICs2NTAsNyBAQCB0
eXBlZGVmIHN0cnVjdCByYl9vYmpzcGFjZSB7Cj4gKwo+ICsKPiArIC8qIGRlZmF1bHQgdGlueSBo
ZWFwIHNpemU6IDE2S0IgKi8KPiArLSNkZWZpbmUgSEVBUF9QQUdFX0FMSUdOX0xPRyAxNAo+ICsr
I2RlZmluZSBIRUFQX1BBR0VfQUxJR05fTE9HIDEyCj4gKyAjZGVmaW5lIENFSUxESVYoaSwgbW9k
KSAoKChpKSArIChtb2QpIC0gMSkvKG1vZCkpCj4gKyBlbnVtIHsKPiArICAgICBIRUFQX1BBR0Vf
QUxJR04gPSAoMVVMIDw8IEhFQVBfUEFHRV9BTElHTl9MT0cpLAo+ICtkaWZmIC0tZ2l0IGEvdHJh
bnNpZW50X2hlYXAuYyBiL3RyYW5zaWVudF9oZWFwLmMKPiAraW5kZXggNTVhNzk2My4uMDFiZGFj
MiAxMDA2NDQKPiArLS0tIGEvdHJhbnNpZW50X2hlYXAuYwo+ICsrKysgYi90cmFuc2llbnRfaGVh
cC5jCj4gK0BAIC01MSw3ICs1MSw3IEBACj4gKyAjZGVmaW5lIFRSQU5TSUVOVF9IRUFQX1BST01P
VEVEX0RFRkFVTFRfU0laRSAxMDI0Cj4gKwo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLyogIEsgICAgICBNICovCj4gKy0jZGVmaW5lIFRSQU5TSUVOVF9IRUFQ
X0JMT0NLX1NJWkUgICgxMDI0ICogICAzMiAgICAgICApIC8qIDMyS0IgaW50MTZfdCAqLwo+ICsr
I2RlZmluZSBUUkFOU0lFTlRfSEVBUF9CTE9DS19TSVpFICAoMTAyNCAqICAgIDQgICAgICAgKSAv
KiAzMktCIGludDE2X3QgKi8KPiArICNkZWZpbmUgVFJBTlNJRU5UX0hFQVBfVE9UQUxfU0laRSAg
KDEwMjQgKiAxMDI0ICogICAzMikgLyogMzIgTUIgKi8KPiArICNkZWZpbmUgVFJBTlNJRU5UX0hF
QVBfQUxMT0NfTUFYICAgKDEwMjQgKiAgICAyICAgICAgICkgLyogMiBLQiAqLwo+ICsgI2RlZmlu
ZSBUUkFOU0lFTlRfSEVBUF9CTE9DS19OVU0gICAoVFJBTlNJRU5UX0hFQVBfVE9UQUxfU0laRSAv
IFRSQU5TSUVOVF9IRUFQX0JMT0NLX1NJWkUpCj4gKy0tCj4gKzIuMjAuMQo+ICsKPiAtLQo+IDIu
MjAuMQo+Cj4KPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
Xwo+IE1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKPiBNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJv
amVjdC5vcmcKPiBodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8v
bWluaW9zLWRldmVsCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9q
ZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWlu
aW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Wed Dec 11 14:56:59 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 11 Dec 2019 14:56:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1if3QB-0007CY-8Y; Wed, 11 Dec 2019 14:56:59 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=boZ+=2B=gmail.com=stefanl.teodorescu@srs-us1.protection.inumbo.net>)
 id 1if3Q9-0007CT-Oh
 for minios-devel@lists.xen.org; Wed, 11 Dec 2019 14:56:57 +0000
X-Inumbo-ID: 79a1512e-1c26-11ea-88e7-bc764e2007e4
Received: from mail-lj1-x242.google.com (unknown [2a00:1450:4864:20::242])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 79a1512e-1c26-11ea-88e7-bc764e2007e4;
 Wed, 11 Dec 2019 14:56:57 +0000 (UTC)
Received: by mail-lj1-x242.google.com with SMTP id s22so24404671ljs.7
 for <minios-devel@lists.xen.org>; Wed, 11 Dec 2019 06:56:56 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to
 :cc; bh=g3KrMppqIXucg6tb6816uyHQkI+xwxNTBl1+XMJFZhQ=;
 b=kMyCM+MCEVcNWn+9fsak8WutgQWe+2WJdPn2wpP7WGRtDNcqr7KTf6PhFrt+Y5ycAM
 ovfdfrZqM+9hvaNaCpfru1dcZx9IImK0rizpv5yM7+ygxYUsMUaYsiF/rtRLeoBvix6k
 wmaNSK0TwdK9Dkz6tw+EiF8VemO/1DRuSU0zqqaFu2auUZ5lVDJEiSPcnAM1cUN3+vZg
 rRqrIL/1wruTJjQ8JghPhFVSMrU7e+MusMRSMyhmYs6DLKbDYMXBq4astacybrK1upL5
 eDEy6skfBJ7RStN9LtEXxSl6/NVwWQauyJK70yelH+wq6B6nr3UaO+H29bPD2Qhj58Z+
 /PXw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
 :message-id:subject:to:cc;
 bh=g3KrMppqIXucg6tb6816uyHQkI+xwxNTBl1+XMJFZhQ=;
 b=bPpuUYd+38PaRqu2YeHFamsBOs0DVSj2lM7aKHJwD1ByTukKJXS3EeFXuGBhSn6Y3Z
 B1b+xKEKW2iQn+hjYFgVNxQYFwAmcTVJHxey21csaRzKb8L/C67Gie5jaFBoAKPr+OZK
 +uw5KTR7GQXDYKIWQz2z3OruoSCCGy+8iLVvTHhKno09319wMT3wqo4vCOSitj7vkAFe
 we3hJw/Jpq1g2utj2sNapsd3k+mMSUx/RvyQE73A1m2+B7FG53lOv+YZ0HZ7U/qgzD4M
 oiRSjbx4oXVVMBtD2q5nzRZu74TrqGSDI8Q82663LSuBCl7Xm69V+gkxGtylJ6fp7WK/
 hXNA==
X-Gm-Message-State: APjAAAXheKnCBe833nYwTMc8JnDw1AtZEhgrf1BTHpfcXFyW4NIRwjjA
 M96E5p8pD6i32F5ggs8xsVWAyDw47EsrI/EhFHuxybZARBY=
X-Google-Smtp-Source: APXvYqzcAa1xF5AWgjtGjP8U7edbeLKTPfKUl/6RAcYzcC4QklE1Nw1EsD3PvKxoIUet8YyeJs5x15gBTmrsxIP/HvE=
X-Received: by 2002:a2e:8953:: with SMTP id b19mr2179151ljk.249.1576076215756; 
 Wed, 11 Dec 2019 06:56:55 -0800 (PST)
MIME-Version: 1.0
References: <20191208095507.27384-1-costin.lupu@cs.pub.ro>
 <20191208095507.27384-7-costin.lupu@cs.pub.ro>
In-Reply-To: <20191208095507.27384-7-costin.lupu@cs.pub.ro>
From: Stefan Teodorescu <stefanl.teodorescu@gmail.com>
Date: Wed, 11 Dec 2019 16:56:44 +0200
Message-ID: <CAEiTdV72mP8-vszDWTj3QJmfrooFXLkjbunBHYeJTxkvktUyJA@mail.gmail.com>
To: Costin Lupu <costin.lupu@cs.pub.ro>
Subject: Re: [Minios-devel] [UNIKRAFT/RUBY PATCH 06/16] core: Add thread
 related definitions
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: minios-devel@lists.xen.org
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

Tm90ZTogdGhlIHJ1YnlfZmlsbF90aHJlYWRfaWRfc3RyaW5nKCkgZnVuY3Rpb24gaXMgY29waWVk
IGhlcmUgYmVjYXVzZQpvZiBhIGJ1ZyBpbiB0aGUgUnVieSBpbXBsZW1lbnRhdGlvbiwgd2hpY2gg
b25seSBkZWZpbmVzIGl0IGlmClRIUkVBRF9ERUJVRyBpcyBlbmFibGVkLiBXaGVuIHRoaXMgYnVn
IGlzIGZpeGVkIGluIFJ1YnksIHRoaXMgaXMgbm8KbG9uZyBuZWNlc3NhcnkuCgpSZXZpZXdlZC1i
eTogU3RlZmFuIFRlb2RvcmVzY3UgPHN0ZWZhbmwudGVvZG9yZXNjdUBnbWFpbC5jb20+CgpPbiBT
dW4sIERlYyA4LCAyMDE5IGF0IDExOjU1IEFNIENvc3RpbiBMdXB1IDxjb3N0aW4ubHVwdUBjcy5w
dWIucm8+IHdyb3RlOgo+Cj4gV2l0aCBwdGhyZWFkLWVtYmVkZGVkLCBzcGVjaWFsIGNhcmUgaGFz
IHRvIGJlIHRha2VuIHdoZW4gZGVhbGluZyB3aXRoCj4gY29udmVyc2lvbnMgZnJvbSBwdGhyZWFk
X3QgdG8gc2NhbGFyIHZhbHVlcy4gVGhlcmVmb3JlIHdlIGhhdmUgdG8gZGVmaW5lIG91cgo+IG93
biBjb252ZXJzaW9uIGZ1bmN0aW9ucy4gV2UgYWxzbyBjb3B5IHJ1YnlfZmlsbF90aHJlYWRfaWRf
c3RyaW5nKCkgZnVuY3Rpb24KPiBmcm9tIG9yaWdpbiB0byBnbHVlIGluIG9yZGVyIHRvIGF2b2lk
IHBhdGNoaW5nIHRoZSBvcmlnaW4gY29kZS4KPgo+IFNpZ25lZC1vZmYtYnk6IENvc3RpbiBMdXB1
IDxjb3N0aW4ubHVwdUBjcy5wdWIucm8+Cj4gLS0tCj4gIE1ha2VmaWxlLnVrICAgICAgICAgICB8
ICAyICsrCj4gIGluY2x1ZGUvcnVieS9jb25maWcuaCB8ICA5ICsrKysrKysrCj4gIHRocmVhZC5j
ICAgICAgICAgICAgICB8IDUyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysKPiAgMyBmaWxlcyBjaGFuZ2VkLCA2MyBpbnNlcnRpb25zKCspCj4gIGNyZWF0ZSBtb2Rl
IDEwMDY0NCB0aHJlYWQuYwo+Cj4gZGlmZiAtLWdpdCBhL01ha2VmaWxlLnVrIGIvTWFrZWZpbGUu
dWsKPiBpbmRleCA5OGU3MzhmLi5kNjVhOWMzIDEwMDY0NAo+IC0tLSBhL01ha2VmaWxlLnVrCj4g
KysrIGIvTWFrZWZpbGUudWsKPiBAQCAtODgsNiArODgsOCBAQCBMSUJSVUJZX0NGTEFHUy15ICs9
IC1zdGQ9Z251OTkgLURfRk9SVElGWV9TT1VSQ0U9MiBcCj4gICAgICAgICAgLWZuby1zdHJpY3Qt
b3ZlcmZsb3cgLWZ2aXNpYmlsaXR5PWhpZGRlbiAtZmV4Y2Vzcy1wcmVjaXNpb249c3RhbmRhcmQg
XAo+ICAgICAgICAgLURSVUJZX0VYUE9SVCAtRENBTk9OSUNBTElaQVRJT05fRk9SX01BVEhOCj4K
PiArTElCUlVCWV9TUkNTLXkgKz0gJChMSUJSVUJZX0JBU0UpL3RocmVhZC5jfHVuaWtyYWZ0Cj4g
Kwo+ICBpZmVxICgkKENPTkZJR19MSUJSVUJZX01JTkkpLHkpCj4gIExJQlJVQllfU1JDUy15ICs9
ICQoTElCUlVCWV9TUkMpL2RteWRsbi5jCj4gIExJQlJVQllfU1JDUy15ICs9ICQoTElCUlVCWV9T
UkMpL21pbmlpbml0LmMKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9ydWJ5L2NvbmZpZy5oIGIvaW5j
bHVkZS9ydWJ5L2NvbmZpZy5oCj4gaW5kZXggODE5OTJkZS4uZTlmZjRkMSAxMDA2NDQKPiAtLS0g
YS9pbmNsdWRlL3J1YnkvY29uZmlnLmgKPiArKysgYi9pbmNsdWRlL3J1YnkvY29uZmlnLmgKPiBA
QCAtNDI5LDQgKzQyOSwxMyBAQAo+ICAjZGVmaW5lIFVTRV9NSklUIDEKPiAgI2RlZmluZSBIQVZF
X1BUSFJFQURfSCAxCj4gICNkZWZpbmUgUlVCWV9QTEFURk9STSAieDg2XzY0LXVuaWtyYWZ0Igo+
ICsKPiArLyogVGhyZWFkcyAqLwo+ICsjZGVmaW5lIE5PTl9TQ0FMQVJfVEhSRUFEX0lEIDEKPiAr
I2lmbmRlZiBmaWxsX3RocmVhZF9pZF9zdHIKPiArIyBkZWZpbmUgZmlsbF90aHJlYWRfaWRfc3Ry
aW5nKHRoaWQsIGJ1ZikgKCh2b2lkICopKHVpbnRwdHJfdClwdGhyZWFkX3RvX3Vuc2lnbmVkX2xv
bmcoJnRoaWQpKQo+ICsjIGRlZmluZSBmaWxsX3RocmVhZF9pZF9zdHIodGgpICh2b2lkKTAKPiAr
IyBkZWZpbmUgdGhyZWFkX2lkX3N0cih0aCkgKCh2b2lkICopKHVpbnRwdHJfdClwdGhyZWFkX3Rv
X3Vuc2lnbmVkX2xvbmcoJih0aCktPnRocmVhZF9pZCkpCj4gKyMgZGVmaW5lIFBSSV9USFJFQURf
SUQgInAiCj4gKyNlbmRpZgo+ICAjZW5kaWYgLyogSU5DTFVERV9SVUJZX0NPTkZJR19IICovCj4g
ZGlmZiAtLWdpdCBhL3RocmVhZC5jIGIvdGhyZWFkLmMKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+
IGluZGV4IDAwMDAwMDAuLjY0NjY0OWMKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvdGhyZWFkLmMK
PiBAQCAtMCwwICsxLDUyIEBACj4gKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVQgKi8K
PiArLyoKPiArICogQ29weXJpZ2h0IChDKSAyMDA0LTIwMDcgS29pY2hpIFNhc2FkYQo+ICsgKgo+
ICsgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55
IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5Cj4gKyAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29j
aWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0bwo+ICsgKiBkZWFs
IGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBs
aW1pdGF0aW9uIHRoZQo+ICsgKiByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBw
dWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3IKPiArICogc2VsbCBjb3BpZXMg
b2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdh
cmUgaXMKPiArICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9uczoKPiArICoKPiArICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRo
aXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4KPiArICogYWxsIGNvcGll
cyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCj4gKyAqCj4gKyAqIFRI
RSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBL
SU5ELCBFWFBSRVNTIE9SCj4gKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQg
VE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAo+ICsgKiBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUKPiArICogQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFO
WSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUgo+ICsgKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4g
QUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORwo+ICsgKiBGUk9N
LCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9S
IE9USEVSCj4gKyAqIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KPiArICovCj4gKy8qIHJ1Ynlf
ZmlsbF90aHJlYWRfaWRfc3RyaW5nKCkgaXMgY29waWVkIGZyb20gUnVieSdzIHRocmVhZC5jICov
Cj4gKwo+ICsjaW5jbHVkZSAicnVieS9jb25maWcuaCIKPiArI2luY2x1ZGUgInJ1YnkvdGhyZWFk
X25hdGl2ZS5oIgo+ICsjaW5jbHVkZSAidm1fY29yZS5oIgo+ICsKPiArCj4gKyMgaWZkZWYgTk9O
X1NDQUxBUl9USFJFQURfSUQKPiArY29uc3QgY2hhciAqCj4gK3J1YnlfZmlsbF90aHJlYWRfaWRf
c3RyaW5nKHJiX25hdGl2ZXRocmVhZF9pZF90IHRoaWQsIHJiX3RocmVhZF9pZF9zdHJpbmdfdCBi
dWYpCj4gK3sKPiArICAgIGV4dGVybiBjb25zdCBjaGFyIHJ1YnlfZGlnaXRtYXBbXTsKPiArICAg
IHNpemVfdCBpOwo+ICsKPiArICAgIGJ1ZlswXSA9ICcwJzsKPiArICAgIGJ1ZlsxXSA9ICd4JzsK
PiArICAgIGZvciAoaSA9IDA7IGkgPCBzaXplb2YodGhpZCk7IGkrKykgewo+ICsjIGlmZGVmIExJ
VFRMRV9FTkRJQU4KPiArICAgICAgIHNpemVfdCBqID0gc2l6ZW9mKHRoaWQpIC0gaSAtIDE7Cj4g
KyMgZWxzZQo+ICsgICAgICAgc2l6ZV90IGogPSBpOwo+ICsjIGVuZGlmCj4gKyAgICAgICB1bnNp
Z25lZCBjaGFyIGMgPSAodW5zaWduZWQgY2hhcikoKGNoYXIgKikmdGhpZClbal07Cj4gKyAgICAg
ICBidWZbMiArIGkgKiAyXSA9IHJ1YnlfZGlnaXRtYXBbKGMgPj4gNCkgJiAweGZdOwo+ICsgICAg
ICAgYnVmWzMgKyBpICogMl0gPSBydWJ5X2RpZ2l0bWFwW2MgJiAweGZdOwo+ICsgICAgfQo+ICsg
ICAgYnVmW3NpemVvZihyYl90aHJlYWRfaWRfc3RyaW5nX3QpLTFdID0gJ1wwJzsKPiArICAgIHJl
dHVybiBidWY7Cj4gK30KPiArI2VuZGlmCj4gLS0KPiAyLjIwLjEKPgo+Cj4gX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBNaW5pb3MtZGV2ZWwgbWFpbGlu
ZyBsaXN0Cj4gTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCj4gaHR0cHM6Ly9saXN0
cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbAoKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxp
bmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54
ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Wed Dec 11 15:05:37 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 11 Dec 2019 15:05:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1if3YT-00082B-VM; Wed, 11 Dec 2019 15:05:33 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=boZ+=2B=gmail.com=stefanl.teodorescu@srs-us1.protection.inumbo.net>)
 id 1if3YS-000826-Dj
 for minios-devel@lists.xen.org; Wed, 11 Dec 2019 15:05:32 +0000
X-Inumbo-ID: ac70beea-1c27-11ea-88e7-bc764e2007e4
Received: from mail-lj1-x244.google.com (unknown [2a00:1450:4864:20::244])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id ac70beea-1c27-11ea-88e7-bc764e2007e4;
 Wed, 11 Dec 2019 15:05:31 +0000 (UTC)
Received: by mail-lj1-x244.google.com with SMTP id k8so24393361ljh.5
 for <minios-devel@lists.xen.org>; Wed, 11 Dec 2019 07:05:31 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to
 :cc; bh=J9R6iAtiAo1YmY4iFzxXtTrPaEg1Fj8Bih1TKbrSqnU=;
 b=ki3VSmV8fJ6t5Pk1DXZ1ljicLPDK3i39FA/m5ebtBt8mq2WZZv32k8sA6IW+qFRJVN
 pjAWFrcpkc0/gwFo/EO3idT+QxdoDhf32DnblHPrvMnF6dJ/WWm4iiswlMWfiinpUYUb
 QHOfrXauiQh4rl6oaclBnPYViOzv7mORWxZCCd1MnE192+szgdCHV3LtUakitcIJxVTb
 KzJ4q8+o4TqOKlveAXTt2jnmDuEDqUKBjqbDxm9CvbaEBgwjUG+1PqyUNwgggwxUODX7
 xbR5dXLufOwDLEgq/5ebGh6/TjQS+5QfGF0QpLzwf1gDuJp787B6GTOMB8oc/fN1LOwf
 tsYw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
 :message-id:subject:to:cc;
 bh=J9R6iAtiAo1YmY4iFzxXtTrPaEg1Fj8Bih1TKbrSqnU=;
 b=rSPSYvEXquSxFP1nFSs/YJqr+0jKK5Bl4F5X5RbaX8AsiXNUdQ6DbL5o7700169uPo
 kQw/KMA799KQU4FMIHxOicUgDJ48GeybMsJskhL/MS1bd5oaR/y0yEA9FDLR7tRi4Ate
 48B51jC08HYjMx7OnykXuf9Ayj2aooe+yC9s2BruSOpVAEoBBY2bR94U/gLGKVqDoFNo
 o4h6HK2NziSG4sHUgu6D/LGUKALNHtgNtpZXGDevb9k8QN/PwZtmKr866FjPObtgRcIK
 eolW6yGDTMb4sL4Va5rXLRB67D7keYSgY/5UcIrqY/T8NekUdZE0Jvqks4XjGRVZPtJw
 HqMA==
X-Gm-Message-State: APjAAAVgG5ny5os2hxwNfqtkDaz/IIED6TAGCyTeOUTmD0q+KFk5ODZT
 GQR5zZ8ox5DTzdXAAU07KD/e6CTQDurbQwWz6R02jjEIQLU=
X-Google-Smtp-Source: APXvYqyCeXB8drAhKfD4vmXdfcWY987DfaBn10fjuP4cwOV2Iue8U/jjnVcOC00NHAKPjjPBFKdqH/3NrBbIU8puReg=
X-Received: by 2002:a2e:9015:: with SMTP id h21mr2382113ljg.69.1576076730473; 
 Wed, 11 Dec 2019 07:05:30 -0800 (PST)
MIME-Version: 1.0
References: <20191208095507.27384-1-costin.lupu@cs.pub.ro>
 <20191208095507.27384-16-costin.lupu@cs.pub.ro>
In-Reply-To: <20191208095507.27384-16-costin.lupu@cs.pub.ro>
From: Stefan Teodorescu <stefanl.teodorescu@gmail.com>
Date: Wed, 11 Dec 2019 17:05:18 +0200
Message-ID: <CAEiTdV4GJP+Y-JRTAoTLWRkTS-JqBQitHdKji4OxVj93A_PSkg@mail.gmail.com>
To: Costin Lupu <costin.lupu@cs.pub.ro>
Subject: Re: [Minios-devel] [UNIKRAFT/RUBY PATCH 15/16] Provide main()
 function if configured to do so
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: minios-devel@lists.xen.org
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

UmV2aWV3ZWQtYnk6IFN0ZWZhbiBUZW9kb3Jlc2N1IDxzdGVmYW5sLnRlb2RvcmVzY3VAZ21haWwu
Y29tPgoKT24gU3VuLCBEZWMgOCwgMjAxOSBhdCAxMTo1NiBBTSBDb3N0aW4gTHVwdSA8Y29zdGlu
Lmx1cHVAY3MucHViLnJvPiB3cm90ZToKPgo+IFdlIHByb3ZpZGUgYSBjb25maWd1cmFibGUgbWFp
bigpIGZ1bmN0aW9uIGZvciBydW5uaW5nIFJ1Ynkgb3V0LW9mLXRoZS1ib3ggYW5kCj4gYWxzbyBm
b3Igc2hvd2luZyBhbiBleGFtcGxlIG9mIHN1Y2ggYSBmdW5jdGlvbiB0byBiZSB1c2VkIGJ5IGN1
c3RvbQo+IGFwcGxpY2F0aW9ucy4gSXQgYWxzbyBzZXRzIHRoZSBuZWNlc3NhcnkgUnVieSBlbnZp
cm9ubWVudCB2YXJpYWJsZXMuCj4KPiBTaWduZWQtb2ZmLWJ5OiBDb3N0aW4gTHVwdSA8Y29zdGlu
Lmx1cHVAY3MucHViLnJvPgo+IC0tLQo+ICBDb25maWcudWsgICAgICAgICAgIHwgIDYgKysrKysr
Cj4gIE1ha2VmaWxlLnVrICAgICAgICAgfCAgMSArCj4gIHJ1YnlfbWFpbl9leGFtcGxlLmMgfCAx
MyArKysrKysrKysrKysrCj4gIDMgZmlsZXMgY2hhbmdlZCwgMjAgaW5zZXJ0aW9ucygrKQo+ICBj
cmVhdGUgbW9kZSAxMDA2NDQgcnVieV9tYWluX2V4YW1wbGUuYwo+Cj4gZGlmZiAtLWdpdCBhL0Nv
bmZpZy51ayBiL0NvbmZpZy51awo+IGluZGV4IDhmNmQ2ODkuLjkwN2IzOTkgMTAwNjQ0Cj4gLS0t
IGEvQ29uZmlnLnVrCj4gKysrIGIvQ29uZmlnLnVrCj4gQEAgLTIyLDYgKzIyLDEyIEBAIGNvbmZp
ZyBMSUJSVUJZX01JTkkKPiAgICAgICAgIGJvb2wgIk1pbmkgY29uZmlndXJhdGlvbiIKPiAgICAg
ICAgIGRlZmF1bHQgbgo+Cj4gK2NvbmZpZyBMSUJSVUJZX01BSU5fRlVOQ1RJT04KPiArICAgICAg
IGJvb2wgIlByb3ZpZGUgbWFpbiBmdW5jdGlvbiIKPiArICAgICAgIHNlbGVjdCBMSUJWRlNDT1JF
X0FVVE9NT1VOVF9ST09URlMKPiArICAgICAgIHNlbGVjdCBMSUJWRlNDT1JFX1JPT1RGU185UEZT
Cj4gKyAgICAgICBkZWZhdWx0IG4KPiArCj4gIGNvbmZpZyBMSUJSVUJZX0VYVAo+ICAgICAgICAg
Ym9vbCAiRW5hYmxlIGV4dGVuc2lvbnMiCj4gICAgICAgICBkZXBlbmRzIG9uICFMSUJSVUJZX01J
TkkKPiBkaWZmIC0tZ2l0IGEvTWFrZWZpbGUudWsgYi9NYWtlZmlsZS51awo+IGluZGV4IDc0ZDgz
NzguLmMxMjBhYzEgMTAwNjQ0Cj4gLS0tIGEvTWFrZWZpbGUudWsKPiArKysgYi9NYWtlZmlsZS51
awo+IEBAIC05Miw2ICs5Miw3IEBAIExJQlJVQllfQ0ZMQUdTLXkgKz0gLXN0ZD1nbnU5OSAtRF9G
T1JUSUZZX1NPVVJDRT0yIFwKPiAgICAgICAgIC1EUlVCWV9FWFBPUlQgLURDQU5PTklDQUxJWkFU
SU9OX0ZPUl9NQVRITgo+Cj4gIExJQlJVQllfU1JDUy15ICs9ICQoTElCUlVCWV9CQVNFKS90aHJl
YWQuY3x1bmlrcmFmdAo+ICtMSUJSVUJZX1NSQ1MtJChDT05GSUdfTElCUlVCWV9NQUlOX0ZVTkNU
SU9OKSArPSAkKExJQlJVQllfQkFTRSkvcnVieV9tYWluX2V4YW1wbGUuY3x1bmlrcmFmdAo+Cj4g
IGlmZXEgKCQoQ09ORklHX0xJQlJVQllfTUlOSSkseSkKPiAgTElCUlVCWV9TUkNTLXkgKz0gJChM
SUJSVUJZX1NSQykvZG15ZGxuLmMKPiBkaWZmIC0tZ2l0IGEvcnVieV9tYWluX2V4YW1wbGUuYyBi
L3J1YnlfbWFpbl9leGFtcGxlLmMKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAw
MDAuLjhkNzExZmIKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvcnVieV9tYWluX2V4YW1wbGUuYwo+
IEBAIC0wLDAgKzEsMTMgQEAKPiArI2luY2x1ZGUgPHN0ZGxpYi5oPgo+ICsKPiArZXh0ZXJuIGlu
dCBydWJ5X21haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSk7Cj4gKwo+ICtpbnQgbWFpbihpbnQg
YXJnYywgY2hhciAqYXJndltdKQo+ICt7Cj4gKyAgICAgICBzZXRlbnYoIkdFTV9IT01FIiwgIi9s
aWIvcnVieS9nZW1zLzIuNi4wIiwgMCk7Cj4gKyAgICAgICBzZXRlbnYoIkdFTV9QQVRIIiwgIi9s
aWIvcnVieS9nZW1zLzIuNi4wIiwgMCk7Cj4gKyAgICAgICBzZXRlbnYoIlJVQllHRU1TX0dFTURF
UFMiLCAiL2xpYi9ydWJ5LzIuNi4wL0dlbWZpbGUiLCAwKTsKPiArICAgICAgIHNldGVudigiUlVC
WUxJQiIsICIvbGliL3J1YnkvMi42LjAvOi9saWIvcnVieS8yLjYuMC94ODZfNjQtbGludXg6L2xp
Yi9ydWJ5LzIuNi4wLy5leHQiLCAwKTsKPiArCj4gKyAgICAgICByZXR1cm4gcnVieV9tYWluKGFy
Z2MsIGFyZ3YpOwo+ICt9Cj4gLS0KPiAyLjIwLjEKPgo+Cj4gX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18KPiBNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Cj4g
TWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCj4gaHR0cHM6Ly9saXN0cy54ZW5wcm9q
ZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbAoKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApN
aW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0
Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Wed Dec 11 15:15:11 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 11 Dec 2019 15:15:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1if3hm-0000WW-9n; Wed, 11 Dec 2019 15:15:10 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=boZ+=2B=gmail.com=stefanl.teodorescu@srs-us1.protection.inumbo.net>)
 id 1if3hl-0000WR-Kd
 for minios-devel@lists.xen.org; Wed, 11 Dec 2019 15:15:09 +0000
X-Inumbo-ID: 03b84b54-1c29-11ea-a1e1-bc764e2007e4
Received: from mail-lf1-x143.google.com (unknown [2a00:1450:4864:20::143])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 03b84b54-1c29-11ea-a1e1-bc764e2007e4;
 Wed, 11 Dec 2019 15:15:07 +0000 (UTC)
Received: by mail-lf1-x143.google.com with SMTP id 203so16941022lfa.12
 for <minios-devel@lists.xen.org>; Wed, 11 Dec 2019 07:15:07 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to
 :cc; bh=s6gckwb5u8OSbwGzJ1Q56OPR6rL5QBhSSGGzM+IfyKs=;
 b=hKRH4yXtTwriwT6PvLNMMOqhi/Liw46Iy/6MR3/Fitx78grBjWWNtGdwRmuyRfZqpF
 UhSInIl/CqVFOXC3DAAg+/G6Qqesibiqgcejo2yg2Uzeql6r2madD46luiJwd+ak1h2o
 AYgbeJRKJzqSBtn+7xvM5dX45zUUdkEOJUiDGhsBxns/q2e5bjX0ZMpVNQpF6aXlpCo3
 +acfNGVI17j2hKDw1p7hiwBLb5glGGEJZweZHdloYdj9eD3j7W/I/YcnWTHv03OBlirD
 LAin6l8fIACGpceC7PK5/sed9zYb4WNcBIIjNhCLn67WJGdeJEhYU6PeZh0RbxLnUbAl
 JXrA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
 :message-id:subject:to:cc;
 bh=s6gckwb5u8OSbwGzJ1Q56OPR6rL5QBhSSGGzM+IfyKs=;
 b=nJiigpT7/X5iP7AgPywJ7CBkAgqIKDvUr9A/BsOc9k4MYGVyeddREsllu7T1pnSiHT
 fLTGWyKZk/x1+8PcJXEzZT489VqKGN+AS/gmd4Vn/udYDW7LI+rlXVkJQE679oyYHnAu
 tilc2jDM3Ui6xPEdXavpBtdvJ6NEh9cRdhcdpJ0k2z31WIDDcvaj+J3VBiRlPEuxggxq
 UPJTFjJxkpd1RHZfDVG8Ac1RTzh4TrwhwYi5/TmnrC4FHy1uu9jfvFwqHExvuiPtvPXa
 0ctI5GcLO07YqB+d8MnlRNhta0EOvdg9PPLGitJqM339yfpQHY7lmPAFLjijNS57jfPV
 KHJg==
X-Gm-Message-State: APjAAAXHbULEfCipY8Ol9ZELif5xkqGqvdZAdDkQHnD2bjw+vOVR277Z
 1rBcWT5ZlVj3w2tSzuYLAtnpBAEAsFdH82EFPUU=
X-Google-Smtp-Source: APXvYqx7YQ3uOISuG+31uSLD36RM1/tZ4kfflLPLg6tdPQXE0X2sQJPLwciDLz3Z5JnaRik3EXKjA+J/dyw2Fp4cS3o=
X-Received: by 2002:ac2:4199:: with SMTP id z25mr2557752lfh.102.1576077306213; 
 Wed, 11 Dec 2019 07:15:06 -0800 (PST)
MIME-Version: 1.0
References: <20191208095507.27384-1-costin.lupu@cs.pub.ro>
 <20191208095507.27384-11-costin.lupu@cs.pub.ro>
In-Reply-To: <20191208095507.27384-11-costin.lupu@cs.pub.ro>
From: Stefan Teodorescu <stefanl.teodorescu@gmail.com>
Date: Wed, 11 Dec 2019 17:14:55 +0200
Message-ID: <CAEiTdV7HST8aX4ECAUp=RRoFMrZBCopBVyOqXd1AY2Q=dOtNpg@mail.gmail.com>
To: Costin Lupu <costin.lupu@cs.pub.ro>
Subject: Re: [Minios-devel] [UNIKRAFT/RUBY PATCH 10/16] extensions: Build
 extensions
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: minios-devel@lists.xen.org
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

emxpYiBleHRlbnNpb24gc2hvdWxkIGRlcGVuZCBvbiBMSUJaTElCLgoKVGhlIGxhc3QgMyBleHRl
bnNpb25zIGluIEluaXRfZXh0KCkgZnVuY3Rpb24gYXJlIG1pc2NvbmZpZ3VyZWQsIGFzCnRoZXkg
YXJlIGVuYWJsZWQgZm9yIHRoZSBmbGFnIENPTkZJR19MSUJSVUJZX0VYVF9SSVBQRVIuClNhbWUg
Zm9yIGpzb24gKHRoaXJkIG9uZSksIHdoaWNoIGlzIGVuYWJsZWQgdW5kZXIgQ09ORklHX0xJQlJV
QllfRVhUX1NZU0xPRy4KCkFsc28sIGFzIGRpc2N1c3NlZCwgc2luY2Ugc3RyaW5naW8gaXMgYSBt
YW5kYXRvcnkgZXh0ZW5zaW9uLCB0aGlzCmV4dGVuc2lvbiBpbml0aWFsaXphdGlvbiBmdW5jdGlv
biBzaG91bGQgYmUgY2FsbGVkIGV2ZW4gd2hlbgpleHRlbnNpb25zIGFyZSBkaXNhYmxlZCwgdG8g
Y2FsbCB0aGUgaW5pdCBmb3Igc3RyaW5naW8uCgpPbiBTdW4sIERlYyA4LCAyMDE5IGF0IDExOjU1
IEFNIENvc3RpbiBMdXB1IDxjb3N0aW4ubHVwdUBjcy5wdWIucm8+IHdyb3RlOgo+Cj4gQWxsIGV4
dGVuc2lvbnMgYXJlIGluY2x1ZGVkIGluIGEgbmV3IGxpYnJhcnksIGxpYnJ1YnlfZXh0LiBFYWNo
IGV4dGVuc2lvbiBoYXMKPiBpdHMgb3duIGNvbmZpZ3VyYXRpb24gb3B0aW9uIGFuZCBhIDxleHRj
b25mLmg+IGhlYWRlci4gR2l2ZW4gdGhhdCB0aGUKPiBleHRlbnNpb25zIGZpbGVzIGFyZSBnZW5l
cmF0ZWQgYXQgYnVpbGQgdGltZSBieSB0aGUgb3JpZ2luIGJ1aWxkIHN5c3RlbSwgd2UKPiBhbHNv
IGhhdmUgdG8gcnVuIGAuL2NvbmZpZ3VyZWAgYW5kIGBtYWtlYCBmb3IgdGhlIG9yaWdpbmFsIGJ1
aWxkIGJlZm9yZQo+IGJ1aWxkaW5nIHRoZW0gZm9yIFVuaWtyYWZ0Lgo+Cj4gU2lnbmVkLW9mZi1i
eTogQ29zdGluIEx1cHUgPGNvc3Rpbi5sdXB1QGNzLnB1Yi5ybz4KPiAtLS0KPiAgQ29uZmlnLnVr
ICAgICAgICAgICAgICAgfCAxMDIgKysrKysrKysrKysrKysKPiAgTWFrZWZpbGUudWsgICAgICAg
ICAgICAgfCAyOTggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ICBn
ZW5lcmF0ZWQvZXh0L2V4dGluaXQuYyB8ICA1NyArKysrKysrKwo+ICBpbmNsdWRlL3J1YnkvY29u
ZmlnLmggICB8ICAgMSArCj4gIDQgZmlsZXMgY2hhbmdlZCwgNDU4IGluc2VydGlvbnMoKykKPgo+
IGRpZmYgLS1naXQgYS9Db25maWcudWsgYi9Db25maWcudWsKPiBpbmRleCBkZDgzMjY3Li5mZjQ0
ZmQ3IDEwMDY0NAo+IC0tLSBhL0NvbmZpZy51awo+ICsrKyBiL0NvbmZpZy51awo+IEBAIC0yMSw0
ICsyMSwxMDYgQEAgaWYgTElCUlVCWQo+ICBjb25maWcgTElCUlVCWV9NSU5JCj4gICAgICAgICBi
b29sICJNaW5pIGNvbmZpZ3VyYXRpb24iCj4gICAgICAgICBkZWZhdWx0IG4KPiArCj4gK2NvbmZp
ZyBMSUJSVUJZX0VYVAo+ICsgICAgICAgYm9vbCAiRW5hYmxlIGV4dGVuc2lvbnMiCj4gKyAgICAg
ICBkZXBlbmRzIG9uICFMSUJSVUJZX01JTkkKPiArICAgICAgIGRlZmF1bHQgeQo+ICsKPiArICAg
ICAgIGlmIExJQlJVQllfRVhUCj4gKyAgICAgICBjb25maWcgTElCUlVCWV9FWFRfU1RSU0NBTgo+
ICsgICAgICAgICAgICAgICBib29sICJzdHJzY2FuIgo+ICsgICAgICAgICAgICAgICBkZWZhdWx0
IHkKPiArICAgICAgIGNvbmZpZyBMSUJSVUJZX0VYVF9TWVNMT0cKPiArICAgICAgICAgICAgICAg
Ym9vbCAic3lzbG9nIgo+ICsgICAgICAgICAgICAgICBkZWZhdWx0IHkKPiArICAgICAgIGNvbmZp
ZyBMSUJSVUJZX0VYVF9KU09OCj4gKyAgICAgICAgICAgICAgIGJvb2wgImpzb24iCj4gKyAgICAg
ICAgICAgICAgIGRlZmF1bHQgeQo+ICsgICAgICAgY29uZmlnIExJQlJVQllfRVhUX1JCQ09ORklH
X1NJWkVPRgo+ICsgICAgICAgICAgICAgICBib29sICJyYmNvbmZpZy9zaXplb2YiCj4gKyAgICAg
ICAgICAgICAgIGRlZmF1bHQgeQo+ICsgICAgICAgY29uZmlnIExJQlJVQllfRVhUX0JJR0RFQ0lN
QUwKPiArICAgICAgICAgICAgICAgYm9vbCAiYmlnZGVjaW1hbCIKPiArICAgICAgICAgICAgICAg
ZGVmYXVsdCB5Cj4gKyAgICAgICBjb25maWcgTElCUlVCWV9FWFRfUkFDQ19DUEFSU0UKPiArICAg
ICAgICAgICAgICAgYm9vbCAicmFjYy9jcGFyc2UiCj4gKyAgICAgICAgICAgICAgIGRlZmF1bHQg
eQo+ICsgICAgICAgY29uZmlnIExJQlJVQllfRVhUX1BTWUNICj4gKyAgICAgICAgICAgICAgIGJv
b2wgInBzeWNoIgo+ICsgICAgICAgICAgICAgICBkZWZhdWx0IHkKPiArICAgICAgIGlmIExJQlNT
TAo+ICsgICAgICAgY29uZmlnIExJQlJVQllfRVhUX0RJR0VTVAo+ICsgICAgICAgICAgICAgICBi
b29sICJkaWdlc3QiCj4gKyAgICAgICAgICAgICAgIGRlZmF1bHQgeQo+ICsgICAgICAgZW5kaWYK
PiArICAgICAgIGNvbmZpZyBMSUJSVUJZX0VYVF9DR0lfRVNDQVBFCj4gKyAgICAgICAgICAgICAg
IGJvb2wgImNnaS9lc2NhcGUiCj4gKyAgICAgICAgICAgICAgIGRlZmF1bHQgeQo+ICsgICAgICAg
Y29uZmlnIExJQlJVQllfRVhUX0ZDTlRMCj4gKyAgICAgICAgICAgICAgIGJvb2wgImZjbnRsIgo+
ICsgICAgICAgICAgICAgICBkZWZhdWx0IHkKPiArICAgICAgIGNvbmZpZyBMSUJSVUJZX0VYVF9T
T0NLRVQKPiArICAgICAgICAgICAgICAgYm9vbCAic29ja2V0Igo+ICsgICAgICAgICAgICAgICBz
ZWxlY3QgTFdJUF9JUFY2Cj4gKyAgICAgICAgICAgICAgIHNlbGVjdCBMV0lQX0lHTVAKPiArICAg
ICAgICAgICAgICAgZGVmYXVsdCB5Cj4gKyAgICAgICBjb25maWcgTElCUlVCWV9FWFRfUEFUSE5B
TUUKPiArICAgICAgICAgICAgICAgYm9vbCAicGF0aG5hbWUiCj4gKyAgICAgICAgICAgICAgIGRl
ZmF1bHQgeQo+ICsgICAgICAgY29uZmlnIExJQlJVQllfRVhUX0RBVEVfQ09SRQo+ICsgICAgICAg
ICAgICAgICBib29sICJkYXRlX2NvcmUiCj4gKyAgICAgICAgICAgICAgIGRlZmF1bHQgeQo+ICsg
ICAgICAgY29uZmlnIExJQlJVQllfRVhUX1BUWQo+ICsgICAgICAgICAgICAgICBib29sICJwdHki
Cj4gKyAgICAgICAgICAgICAgIGRlZmF1bHQgbgo+ICsgICAgICAgaWYgTElCU1NMCj4gKyAgICAg
ICBjb25maWcgTElCUlVCWV9FWFRfT1BFTlNTTAo+ICsgICAgICAgICAgICAgICBib29sICJvcGVu
c3NsIgo+ICsgICAgICAgICAgICAgICBkZWZhdWx0IHkKPiArICAgICAgIGVuZGlmCj4gKyAgICAg
ICBjb25maWcgTElCUlVCWV9FWFRfRklCRVIKPiArICAgICAgICAgICAgICAgYm9vbCAiZmliZXIi
Cj4gKyAgICAgICAgICAgICAgIGRlZmF1bHQgeQo+ICsgICAgICAgaWYgTElCRkZJCj4gKyAgICAg
ICBjb25maWcgTElCUlVCWV9FWFRfRklERExFCj4gKyAgICAgICAgICAgICAgIGJvb2wgImZpZGRs
ZSIKPiArICAgICAgICAgICAgICAgZGVmYXVsdCB5Cj4gKyAgICAgICBlbmRpZgo+ICsgICAgICAg
Y29uZmlnIExJQlJVQllfRVhUX0VUQwo+ICsgICAgICAgICAgICAgICBib29sICJldGMiCj4gKyAg
ICAgICAgICAgICAgIGRlZmF1bHQgeQo+ICsgICAgICAgY29uZmlnIExJQlJVQllfRVhUX0NPTlRJ
TlVBVElPTgo+ICsgICAgICAgICAgICAgICBib29sICJjb250aW51YXRpb24iCj4gKyAgICAgICAg
ICAgICAgIGRlZmF1bHQgeQo+ICsgICAgICAgY29uZmlnIExJQlJVQllfRVhUX09CSlNQQUNFCj4g
KyAgICAgICAgICAgICAgIGJvb2wgIm9ianNwYWNlIgo+ICsgICAgICAgICAgICAgICBkZWZhdWx0
IHkKPiArICAgICAgIGNvbmZpZyBMSUJSVUJZX0VYVF9DT1ZFUkFHRQo+ICsgICAgICAgICAgICAg
ICBib29sICJjb3ZlcmFnZSIKPiArICAgICAgICAgICAgICAgZGVmYXVsdCB5Cj4gKyAgICAgICBj
b25maWcgTElCUlVCWV9FWFRfSU9fQ09OU09MRQo+ICsgICAgICAgICAgICAgICBib29sICJpby9j
b25zb2xlIgo+ICsgICAgICAgICAgICAgICBkZWZhdWx0IG4KPiArICAgICAgIGNvbmZpZyBMSUJS
VUJZX0VYVF9JT19OT05CTE9DSwo+ICsgICAgICAgICAgICAgICBib29sICJpby9ub25ibG9jayIK
PiArICAgICAgICAgICAgICAgZGVmYXVsdCB5Cj4gKyAgICAgICBjb25maWcgTElCUlVCWV9FWFRf
SU9fV0FJVAo+ICsgICAgICAgICAgICAgICBib29sICJpby93YWl0Igo+ICsgICAgICAgICAgICAg
ICBkZWZhdWx0IHkKPiArICAgICAgIGlmIExJQlJVQllfVEVTVAo+ICsgICAgICAgY29uZmlnIExJ
QlJVQllfRVhUX1JJUFBFUgo+ICsgICAgICAgICAgICAgICBib29sICJyaXBwZXIiCj4gKyAgICAg
ICAgICAgICAgIGRlZmF1bHQgeQo+ICsgICAgICAgZW5kaWYKPiArICAgICAgIGNvbmZpZyBMSUJS
VUJZX0VYVF9OS0YKPiArICAgICAgICAgICAgICAgYm9vbCAibmtmIgo+ICsgICAgICAgICAgICAg
ICBkZWZhdWx0IHkKPiArICAgICAgIGNvbmZpZyBMSUJSVUJZX0VYVF9aTElCCj4gKyAgICAgICAg
ICAgICAgIGJvb2wgInpsaWIiCj4gKyAgICAgICAgICAgICAgIGRlZmF1bHQgeQo+ICsgICAgICAg
Y29uZmlnIExJQlJVQllfRVhUX1NEQk0KPiArICAgICAgICAgICAgICAgYm9vbCAic2RibSIKPiAr
ICAgICAgICAgICAgICAgZGVmYXVsdCB5Cj4gKyAgICAgICBlbmRpZgo+ICBlbmRpZgo+IGRpZmYg
LS1naXQgYS9NYWtlZmlsZS51ayBiL01ha2VmaWxlLnVrCj4gaW5kZXggZDY1YTljMy4uNDJkMzM0
OCAxMDA2NDQKPiAtLS0gYS9NYWtlZmlsZS51awo+ICsrKyBiL01ha2VmaWxlLnVrCj4gQEAgLTM5
LDYgKzM5LDcgQEAKPiAgIyBMaWJyYXJ5IHJlZ2lzdHJhdGlvbgo+ICAjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIwo+ICAkKGV2YWwgJChjYWxsIGFkZGxpYl9zLGxpYnJ1YnksJChDT05GSUdfTElCUlVC
WSkpKQo+ICskKGV2YWwgJChjYWxsIGFkZGxpYl9zLGxpYnJ1YnlfZXh0LCQoQ09ORklHX0xJQlJV
QllfRVhUKSkpCj4KPiAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKPiAgIyBTb3VyY2VzCj4gQEAg
LTE4MCw3ICsxODEsMzA0IEBAIExJQlJVQllfU1JDUy15ICs9ICQoTElCUlVCWV9CQVNFKS9nZW5l
cmF0ZWQvZW5jL3RyYW5zL25ld2xpbmUuYwo+ICBMSUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllf
U1JDKS8uL21pc3Npbmcvc2V0cHJvY3RpdGxlLmMKPiAgTElCUlVCWV9TUkNTLXkgKz0gJChMSUJS
VUJZX1NSQykvYWRkcjJsaW5lLmMKPgo+ICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwo+ICsjIEV4
dGVuc2lvbnMKPiArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKPiArTElCUlVCWV9FWFRfQ0ZMQUdT
LXkgKz0gJChMSUJSVUJZX0NJTkNMVURFUy15KQo+ICtMSUJSVUJZX0VYVF9DRkxBR1MteSArPSAk
KExJQlJVQllfU1VQUFJFU1NfRkxBR1MpCj4gK0xJQlJVQllfRVhUX0NGTEFHUy15ICs9IC1EUlVC
WV9FWFRDT05GX0g9XCJleHRjb25mLmhcIgo+ICsKPiAraWZlcSAoJChDT05GSUdfTElCUlVCWV9F
WFQpLHkpCj4gK0xJQlJVQllfU1JDUy15ICs9ICQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0
L2V4dGluaXQuYwo+ICtlbHNlCj4gIExJQlJVQllfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2Rt
eWV4dC5jCj4gK2VuZGlmCj4gKwo+ICtpZmVxICgkKENPTkZJR19MSUJSVUJZX0VYVF9TVFJTQ0FO
KSx5KQo+ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L3N0cnNjYW4v
c3Ryc2Nhbi5jCj4gK0xJQlJVQllfRVhUX1NUUlNDQU5fRkxBR1MteSArPSAtSSQoTElCUlVCWV9C
QVNFKS9nZW5lcmF0ZWQvZXh0L3N0cnNjYW4KPiArZW5kaWYKPiAraWZlcSAoJChDT05GSUdfTElC
UlVCWV9FWFRfU1lTTE9HKSx5KQo+ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NS
QykvZXh0L3N5c2xvZy9zeXNsb2cuYwo+ICtMSUJSVUJZX0VYVF9TWVNMT0dfRkxBR1MteSArPSAt
SSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L3N5c2xvZwo+ICtlbmRpZgo+ICtpZmVxICgk
KENPTkZJR19MSUJSVUJZX0VYVF9KU09OKSx5KQo+ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChM
SUJSVUJZX1NSQykvZXh0L2pzb24vZ2VuZXJhdG9yL2dlbmVyYXRvci5jCj4gK0xJQlJVQllfRVhU
X0dFTkVSQVRPUl9GTEFHUy15ICs9IC1JJChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQvanNv
bi9nZW5lcmF0b3IKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9q
c29uL3BhcnNlci9wYXJzZXIuY3xqc29uCj4gK0xJQlJVQllfRVhUX1BBUlNFUl9GTEFHUy15ICs9
IC1JJChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQvanNvbi9wYXJzZXIKPiArZW5kaWYKPiAr
aWZlcSAoJChDT05GSUdfTElCUlVCWV9FWFRfUkJDT05GSUdfU0laRU9GKSx5KQo+ICtMSUJSVUJZ
X0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L3JiY29uZmlnL3NpemVvZi9zaXplcy5j
Cj4gK0xJQlJVQllfRVhUX1NJWkVTX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJh
dGVkL2V4dC9yYmNvbmZpZy9zaXplb2YKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVC
WV9TUkMpL2V4dC9yYmNvbmZpZy9zaXplb2YvbGltaXRzLmMKPiArTElCUlVCWV9FWFRfTElNSVRT
X0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9yYmNvbmZpZy9zaXpl
b2YKPiArZW5kaWYKPiAraWZlcSAoJChDT05GSUdfTElCUlVCWV9FWFRfQklHREVDSU1BTCkseSkK
PiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9iaWdkZWNpbWFsL2Jp
Z2RlY2ltYWwuYwo+ICtMSUJSVUJZX0VYVF9CSUdERUNJTUFMX0ZMQUdTLXkgKz0gLUkkKExJQlJV
QllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9iaWdkZWNpbWFsCj4gK0xJQlJVQllfRVhUX1NSQ1MteSAr
PSAkKExJQlJVQllfU1JDKS9leHQvYmlnZGVjaW1hbC91dGlsL3V0aWwuYwo+ICtMSUJSVUJZX0VY
VF9VVElMX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9iaWdkZWNp
bWFsL3V0aWwKPiArZW5kaWYKPiAraWZlcSAoJChDT05GSUdfTElCUlVCWV9FWFRfUkFDQ19DUEFS
U0UpLHkpCj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvcmFjYy9j
cGFyc2UvY3BhcnNlLmMKPiArTElCUlVCWV9FWFRfQ1BBUlNFX0ZMQUdTLXkgKz0gLUkkKExJQlJV
QllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9yYWNjL2NwYXJzZQo+ICtlbmRpZgo+ICtpZmVxICgkKENP
TkZJR19MSUJSVUJZX0VYVF9ESUdFU1QpLHkpCj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJ
QlJVQllfU1JDKS9leHQvZGlnZXN0L2RpZ2VzdC5jCj4gK0xJQlJVQllfRVhUX0RJR0VTVF9GTEFH
Uy15ICs9IC1JJChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQvZGlnZXN0Cj4gK0xJQlJVQllf
RVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvZGlnZXN0L2J1YmJsZWJhYmJsZS9idWJi
bGViYWJibGUuYwo+ICtMSUJSVUJZX0VYVF9CVUJCTEVCQUJCTEVfRkxBR1MteSArPSAtSSQoTElC
UlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L2RpZ2VzdC9idWJibGViYWJibGUKPiArTElCUlVCWV9F
WFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9kaWdlc3QvbWQ1L21kNWluaXQuYwo+ICtM
SUJSVUJZX0VYVF9NRDVJTklUX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVk
L2V4dC9kaWdlc3QvbWQ1Cj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9l
eHQvZGlnZXN0L3JtZDE2MC9ybWQxNjBpbml0LmMKPiArTElCUlVCWV9FWFRfUk1EMTYwSU5JVF9G
TEFHUy15ICs9IC1JJChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQvZGlnZXN0L3JtZDE2MAo+
ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L2RpZ2VzdC9zaGExL3No
YTFpbml0LmMKPiArTElCUlVCWV9FWFRfU0hBMUlOSVRfRkxBR1MteSArPSAtSSQoTElCUlVCWV9C
QVNFKS9nZW5lcmF0ZWQvZXh0L2RpZ2VzdC9zaGExCj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAk
KExJQlJVQllfU1JDKS9leHQvZGlnZXN0L3NoYTIvc2hhMmluaXQuYwo+ICtMSUJSVUJZX0VYVF9T
SEEySU5JVF9GTEFHUy15ICs9IC1JJChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQvZGlnZXN0
L3NoYTIKPiArZW5kaWYKPiAraWZlcSAoJChDT05GSUdfTElCUlVCWV9FWFRfUFNZQ0gpLHkpCj4g
K0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvcHN5Y2gvcHN5Y2hfdG9f
cnVieS5jCj4gK0xJQlJVQllfRVhUX1BTWUNIX1RPX1JVQllfRkxBR1MteSArPSAtSSQoTElCUlVC
WV9CQVNFKS9nZW5lcmF0ZWQvZXh0L3BzeWNoIC1JJChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9l
eHQvcHN5Y2gveWFtbAo+ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0
L3BzeWNoL3BzeWNoX3lhbWxfdHJlZS5jCj4gK0xJQlJVQllfRVhUX1BTWUNIX1lBTUxfVFJFRV9G
TEFHUy15ICs9IC1JJChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQvcHN5Y2ggLUkkKExJQlJV
QllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9wc3ljaC95YW1sCj4gK0xJQlJVQllfRVhUX1NSQ1MteSAr
PSAkKExJQlJVQllfU1JDKS9leHQvcHN5Y2gvcHN5Y2hfZW1pdHRlci5jCj4gK0xJQlJVQllfRVhU
X1BTWUNIX0VNSVRURVJfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0
L3BzeWNoIC1JJChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQvcHN5Y2gveWFtbAo+ICtMSUJS
VUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L3BzeWNoL3BzeWNoX3BhcnNlci5j
fHBzeWNoCj4gK0xJQlJVQllfRVhUX1BTWUNIX1BBUlNFUl9GTEFHUy15ICs9IC1JJChMSUJSVUJZ
X0JBU0UpL2dlbmVyYXRlZC9leHQvcHN5Y2ggLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4
dC9wc3ljaC95YW1sCj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQv
cHN5Y2gvcHN5Y2guYwo+ICtMSUJSVUJZX0VYVF9QU1lDSF9GTEFHUy15ICs9IC1JJChMSUJSVUJZ
X0JBU0UpL2dlbmVyYXRlZC9leHQvcHN5Y2ggLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4
dC9wc3ljaC95YW1sCj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQv
cHN5Y2gveWFtbC9kdW1wZXIuYwo+ICtMSUJSVUJZX0VYVF9EVU1QRVJfRkxBR1MteSArPSAtSSQo
TElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L3BzeWNoIC1JJChMSUJSVUJZX0JBU0UpL2dlbmVy
YXRlZC9leHQvcHN5Y2gveWFtbAo+ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NS
QykvZXh0L3BzeWNoL3lhbWwvcGFyc2VyLmN8eWFtbAo+ICtMSUJSVUJZX0VYVF9QQVJTRVJfRkxB
R1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L3BzeWNoIC1JJChMSUJSVUJZ
X0JBU0UpL2dlbmVyYXRlZC9leHQvcHN5Y2gveWFtbAo+ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0g
JChMSUJSVUJZX1NSQykvZXh0L3BzeWNoL3lhbWwvc2Nhbm5lci5jCj4gK0xJQlJVQllfRVhUX1ND
QU5ORVJfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L3BzeWNoIC1J
JChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQvcHN5Y2gveWFtbAo+ICtMSUJSVUJZX0VYVF9T
UkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L3BzeWNoL3lhbWwvYXBpLmMKPiArTElCUlVCWV9F
WFRfQVBJX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9wc3ljaCAt
SSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L3BzeWNoL3lhbWwKPiArTElCUlVCWV9FWFRf
U1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9wc3ljaC95YW1sL2xvYWRlci5jCj4gK0xJQlJV
QllfRVhUX0xPQURFUl9GTEFHUy15ICs9IC1JJChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQv
cHN5Y2ggLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9wc3ljaC95YW1sCj4gK0xJQlJV
QllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvcHN5Y2gveWFtbC93cml0ZXIuYwo+
ICtMSUJSVUJZX0VYVF9XUklURVJfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0
ZWQvZXh0L3BzeWNoIC1JJChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQvcHN5Y2gveWFtbAo+
ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L3BzeWNoL3lhbWwvZW1p
dHRlci5jCj4gK0xJQlJVQllfRVhUX0VNSVRURVJfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNF
KS9nZW5lcmF0ZWQvZXh0L3BzeWNoIC1JJChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQvcHN5
Y2gveWFtbAo+ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L3BzeWNo
L3lhbWwvcmVhZGVyLmMKPiArTElCUlVCWV9FWFRfUkVBREVSX0ZMQUdTLXkgKz0gLUkkKExJQlJV
QllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9wc3ljaCAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQv
ZXh0L3BzeWNoL3lhbWwKPiArZW5kaWYKPiAraWZlcSAoJChDT05GSUdfTElCUlVCWV9FWFRfQ0dJ
X0VTQ0FQRSkseSkKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9j
Z2kvZXNjYXBlL2VzY2FwZS5jCj4gK0xJQlJVQllfRVhUX0VTQ0FQRV9GTEFHUy15ICs9IC1JJChM
SUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQvY2dpL2VzY2FwZQo+ICtlbmRpZgo+ICtpZmVxICgk
KENPTkZJR19MSUJSVUJZX0VYVF9GQ05UTCkseSkKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQo
TElCUlVCWV9TUkMpL2V4dC9mY250bC9mY250bC5jCj4gK0xJQlJVQllfRVhUX0ZDTlRMX0ZMQUdT
LXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9mY250bAo+ICtlbmRpZgo+ICtp
ZmVxICgkKENPTkZJR19MSUJSVUJZX0VYVF9TT0NLRVQpLHkpCj4gK0xJQlJVQllfRVhUX1NSQ1Mt
eSArPSAkKExJQlJVQllfU1JDKS9leHQvc29ja2V0L2luaXQuY3xzb2NrZXQKPiArTElCUlVCWV9F
WFRfSU5JVF9GTEFHUy15ICs9IC1JJChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQvc29ja2V0
Cj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvc29ja2V0L2NvbnN0
YW50cy5jCj4gK0xJQlJVQllfRVhUX0NPTlNUQU5UU19GTEFHUy15ICs9IC1JJChMSUJSVUJZX0JB
U0UpL2dlbmVyYXRlZC9leHQvc29ja2V0Cj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJV
QllfU1JDKS9leHQvc29ja2V0L2Jhc2ljc29ja2V0LmMKPiArTElCUlVCWV9FWFRfQkFTSUNTT0NL
RVRfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L3NvY2tldAo+ICtM
SUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L3NvY2tldC9zb2NrZXQuYwo+
ICtMSUJSVUJZX0VYVF9TT0NLRVRfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0
ZWQvZXh0L3NvY2tldAo+ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0
L3NvY2tldC9pcHNvY2tldC5jCj4gK0xJQlJVQllfRVhUX0lQU09DS0VUX0ZMQUdTLXkgKz0gLUkk
KExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9zb2NrZXQKPiArTElCUlVCWV9FWFRfU1JDUy15
ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9zb2NrZXQvdGNwc29ja2V0LmMKPiArTElCUlVCWV9FWFRf
VENQU09DS0VUX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9zb2Nr
ZXQKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9zb2NrZXQvdGNw
c2VydmVyLmMKPiArTElCUlVCWV9FWFRfVENQU0VSVkVSX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllf
QkFTRSkvZ2VuZXJhdGVkL2V4dC9zb2NrZXQKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElC
UlVCWV9TUkMpL2V4dC9zb2NrZXQvc29ja3Nzb2NrZXQuYwo+ICtMSUJSVUJZX0VYVF9TT0NLU1NP
Q0tFVF9GTEFHUy15ICs9IC1JJChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQvc29ja2V0Cj4g
K0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvc29ja2V0L3VkcHNvY2tl
dC5jCj4gK0xJQlJVQllfRVhUX1VEUFNPQ0tFVF9GTEFHUy15ICs9IC1JJChMSUJSVUJZX0JBU0Up
L2dlbmVyYXRlZC9leHQvc29ja2V0Cj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllf
U1JDKS9leHQvc29ja2V0L3VuaXhzb2NrZXQuYwo+ICtMSUJSVUJZX0VYVF9VTklYU09DS0VUX0ZM
QUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9zb2NrZXQKPiArTElCUlVC
WV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9zb2NrZXQvdW5peHNlcnZlci5jCj4g
K0xJQlJVQllfRVhUX1VOSVhTRVJWRVJfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5l
cmF0ZWQvZXh0L3NvY2tldAo+ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykv
ZXh0L3NvY2tldC9vcHRpb24uYwo+ICtMSUJSVUJZX0VYVF9PUFRJT05fRkxBR1MteSArPSAtSSQo
TElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L3NvY2tldAo+ICtMSUJSVUJZX0VYVF9TUkNTLXkg
Kz0gJChMSUJSVUJZX1NSQykvZXh0L3NvY2tldC9hbmNkYXRhLmMKPiArTElCUlVCWV9FWFRfQU5D
REFUQV9GTEFHUy15ICs9IC1JJChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQvc29ja2V0Cj4g
K0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvc29ja2V0L3JhZGRyaW5m
by5jCj4gK0xJQlJVQllfRVhUX1JBRERSSU5GT19GTEFHUy15ICs9IC1JJChMSUJSVUJZX0JBU0Up
L2dlbmVyYXRlZC9leHQvc29ja2V0Cj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllf
U1JDKS9leHQvc29ja2V0L2lmYWRkci5jCj4gK0xJQlJVQllfRVhUX0lGQUREUl9GTEFHUy15ICs9
IC1JJChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQvc29ja2V0Cj4gK2VuZGlmCj4gK2lmZXEg
KCQoQ09ORklHX0xJQlJVQllfRVhUX1BBVEhOQU1FKSx5KQo+ICtMSUJSVUJZX0VYVF9TUkNTLXkg
Kz0gJChMSUJSVUJZX1NSQykvZXh0L3BhdGhuYW1lL3BhdGhuYW1lLmMKPiArTElCUlVCWV9FWFRf
UEFUSE5BTUVfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L3BhdGhu
YW1lCj4gK2VuZGlmCj4gK2lmZXEgKCQoQ09ORklHX0xJQlJVQllfRVhUX0RBVEVfQ09SRSkseSkK
PiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9kYXRlL2RhdGVfY29y
ZS5jCj4gK0xJQlJVQllfRVhUX0RBVEVfQ09SRV9GTEFHUy15ICs9IC1JJChMSUJSVUJZX0JBU0Up
L2dlbmVyYXRlZC9leHQvZGF0ZQo+ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NS
QykvZXh0L2RhdGUvZGF0ZV9wYXJzZS5jCj4gK0xJQlJVQllfRVhUX0RBVEVfUEFSU0VfRkxBR1Mt
eSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L2RhdGUKPiArTElCUlVCWV9FWFRf
U1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9kYXRlL2RhdGVfc3RyZnRpbWUuYwo+ICtMSUJS
VUJZX0VYVF9EQVRFX1NUUkZUSU1FX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJh
dGVkL2V4dC9kYXRlCj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQv
ZGF0ZS9kYXRlX3N0cnB0aW1lLmMKPiArTElCUlVCWV9FWFRfREFURV9TVFJQVElNRV9GTEFHUy15
ICs9IC1JJChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQvZGF0ZQo+ICtlbmRpZgo+ICtpZmVx
ICgkKENPTkZJR19MSUJSVUJZX0VYVF9QVFkpLHkpCj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAk
KExJQlJVQllfU1JDKS9leHQvcHR5L3B0eS5jCj4gK0xJQlJVQllfRVhUX1BUWV9GTEFHUy15ICs9
IC1JJChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQvcHR5Cj4gK2VuZGlmCj4gK2lmZXEgKCQo
Q09ORklHX0xJQlJVQllfRVhUX09QRU5TU0wpLHkpCj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAk
KExJQlJVQllfU1JDKS9leHQvb3BlbnNzbC9vcGVuc3NsX21pc3NpbmcuYwo+ICtMSUJSVUJZX0VY
VF9PUEVOU1NMX01JU1NJTkdfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQv
ZXh0L29wZW5zc2wKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9v
cGVuc3NsL29zc2wuYwo+ICtMSUJSVUJZX0VYVF9PU1NMX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllf
QkFTRSkvZ2VuZXJhdGVkL2V4dC9vcGVuc3NsCj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJ
QlJVQllfU1JDKS9leHQvb3BlbnNzbC9vc3NsX2FzbjEuYwo+ICtMSUJSVUJZX0VYVF9PU1NMX0FT
TjFfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L29wZW5zc2wKPiAr
TElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsL29zc2xfYmlv
LmMKPiArTElCUlVCWV9FWFRfT1NTTF9CSU9fRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9n
ZW5lcmF0ZWQvZXh0L29wZW5zc2wKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9T
UkMpL2V4dC9vcGVuc3NsL29zc2xfYm4uYwo+ICtMSUJSVUJZX0VYVF9PU1NMX0JOX0ZMQUdTLXkg
Kz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9vcGVuc3NsCj4gK0xJQlJVQllfRVhU
X1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbC9vc3NsX2NpcGhlci5jCj4gK0xJ
QlJVQllfRVhUX09TU0xfQ0lQSEVSX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJh
dGVkL2V4dC9vcGVuc3NsCj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9l
eHQvb3BlbnNzbC9vc3NsX2NvbmZpZy5jCj4gK0xJQlJVQllfRVhUX09TU0xfQ09ORklHX0ZMQUdT
LXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9vcGVuc3NsCj4gK0xJQlJVQllf
RVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbC9vc3NsX2RpZ2VzdC5jCj4g
K0xJQlJVQllfRVhUX09TU0xfRElHRVNUX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2Vu
ZXJhdGVkL2V4dC9vcGVuc3NsCj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JD
KS9leHQvb3BlbnNzbC9vc3NsX2VuZ2luZS5jCj4gK0xJQlJVQllfRVhUX09TU0xfRU5HSU5FX0ZM
QUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9vcGVuc3NsCj4gK0xJQlJV
QllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbC9vc3NsX2htYWMuYwo+
ICtMSUJSVUJZX0VYVF9PU1NMX0hNQUNfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5l
cmF0ZWQvZXh0L29wZW5zc2wKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMp
L2V4dC9vcGVuc3NsL29zc2xfa2RmLmMKPiArTElCUlVCWV9FWFRfT1NTTF9LREZfRkxBR1MteSAr
PSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L29wZW5zc2wKPiArTElCUlVCWV9FWFRf
U1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsL29zc2xfbnNfc3BraS5jCj4gK0xJ
QlJVQllfRVhUX09TU0xfTlNfU1BLSV9GTEFHUy15ICs9IC1JJChMSUJSVUJZX0JBU0UpL2dlbmVy
YXRlZC9leHQvb3BlbnNzbAo+ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykv
ZXh0L29wZW5zc2wvb3NzbF9vY3NwLmMKPiArTElCUlVCWV9FWFRfT1NTTF9PQ1NQX0ZMQUdTLXkg
Kz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9vcGVuc3NsCj4gK0xJQlJVQllfRVhU
X1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbC9vc3NsX3BrY3MxMi5jCj4gK0xJ
QlJVQllfRVhUX09TU0xfUEtDUzEyX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJh
dGVkL2V4dC9vcGVuc3NsCj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9l
eHQvb3BlbnNzbC9vc3NsX3BrY3M3LmMKPiArTElCUlVCWV9FWFRfT1NTTF9QS0NTN19GTEFHUy15
ICs9IC1JJChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQvb3BlbnNzbAo+ICtMSUJSVUJZX0VY
VF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L29wZW5zc2wvb3NzbF9wa2V5LmMKPiArTElC
UlVCWV9FWFRfT1NTTF9QS0VZX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVk
L2V4dC9vcGVuc3NsCj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQv
b3BlbnNzbC9vc3NsX3BrZXlfZGguYwo+ICtMSUJSVUJZX0VYVF9PU1NMX1BLRVlfREhfRkxBR1Mt
eSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L29wZW5zc2wKPiArTElCUlVCWV9F
WFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsL29zc2xfcGtleV9kc2EuYwo+
ICtMSUJSVUJZX0VYVF9PU1NMX1BLRVlfRFNBX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkv
Z2VuZXJhdGVkL2V4dC9vcGVuc3NsCj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllf
U1JDKS9leHQvb3BlbnNzbC9vc3NsX3BrZXlfZWMuYwo+ICtMSUJSVUJZX0VYVF9PU1NMX1BLRVlf
RUNfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L29wZW5zc2wKPiAr
TElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsL29zc2xfcGtl
eV9yc2EuYwo+ICtMSUJSVUJZX0VYVF9PU1NMX1BLRVlfUlNBX0ZMQUdTLXkgKz0gLUkkKExJQlJV
QllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9vcGVuc3NsCj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAk
KExJQlJVQllfU1JDKS9leHQvb3BlbnNzbC9vc3NsX3JhbmQuYwo+ICtMSUJSVUJZX0VYVF9PU1NM
X1JBTkRfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L29wZW5zc2wK
PiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsL29zc2xf
c3NsLmMKPiArTElCUlVCWV9FWFRfT1NTTF9TU0xfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNF
KS9nZW5lcmF0ZWQvZXh0L29wZW5zc2wKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVC
WV9TUkMpL2V4dC9vcGVuc3NsL29zc2xfc3NsX3Nlc3Npb24uYwo+ICtMSUJSVUJZX0VYVF9PU1NM
X1NTTF9TRVNTSU9OX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9v
cGVuc3NsCj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvb3BlbnNz
bC9vc3NsX3g1MDkuYwo+ICtMSUJSVUJZX0VYVF9PU1NMX1g1MDlfRkxBR1MteSArPSAtSSQoTElC
UlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L29wZW5zc2wKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9
ICQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsL29zc2xfeDUwOWF0dHIuYwo+ICtMSUJSVUJZX0VY
VF9PU1NMX1g1MDlBVFRSX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4
dC9vcGVuc3NsCj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvb3Bl
bnNzbC9vc3NsX3g1MDljZXJ0LmMKPiArTElCUlVCWV9FWFRfT1NTTF9YNTA5Q0VSVF9GTEFHUy15
ICs9IC1JJChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQvb3BlbnNzbAo+ICtMSUJSVUJZX0VY
VF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L29wZW5zc2wvb3NzbF94NTA5Y3JsLmMKPiAr
TElCUlVCWV9FWFRfT1NTTF9YNTA5Q1JMX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2Vu
ZXJhdGVkL2V4dC9vcGVuc3NsCj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JD
KS9leHQvb3BlbnNzbC9vc3NsX3g1MDlleHQuYwo+ICtMSUJSVUJZX0VYVF9PU1NMX1g1MDlFWFRf
RkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L29wZW5zc2wKPiArTElC
UlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsL29zc2xfeDUwOW5h
bWUuYwo+ICtMSUJSVUJZX0VYVF9PU1NMX1g1MDlOQU1FX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllf
QkFTRSkvZ2VuZXJhdGVkL2V4dC9vcGVuc3NsCj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJ
QlJVQllfU1JDKS9leHQvb3BlbnNzbC9vc3NsX3g1MDlyZXEuYwo+ICtMSUJSVUJZX0VYVF9PU1NM
X1g1MDlSRVFfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L29wZW5z
c2wKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsL29z
c2xfeDUwOXJldm9rZWQuYwo+ICtMSUJSVUJZX0VYVF9PU1NMX1g1MDlSRVZPS0VEX0ZMQUdTLXkg
Kz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9vcGVuc3NsCj4gK0xJQlJVQllfRVhU
X1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbC9vc3NsX3g1MDlzdG9yZS5jCj4g
K0xJQlJVQllfRVhUX09TU0xfWDUwOVNUT1JFX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkv
Z2VuZXJhdGVkL2V4dC9vcGVuc3NsCj4gK2VuZGlmCj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAk
KExJQlJVQllfU1JDKS9leHQvc3RyaW5naW8vc3RyaW5naW8uYwo+ICtMSUJSVUJZX0VYVF9TVFJJ
TkdJT19GTEFHUy15ICs9IC1JJChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQvc3RyaW5naW8K
PiAraWZlcSAoJChDT05GSUdfTElCUlVCWV9FWFRfRklCRVIpLHkpCj4gK0xJQlJVQllfRVhUX1NS
Q1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvZmliZXIvZmliZXIuYwo+ICtMSUJSVUJZX0VYVF9G
SUJFUl9GTEFHUy15ICs9IC1JJChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQvZmliZXIKPiAr
ZW5kaWYKPiAraWZlcSAoJChDT05GSUdfTElCUlVCWV9FWFRfRklERExFKSx5KQo+ICtMSUJSVUJZ
X0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L2ZpZGRsZS9jbG9zdXJlLmMKPiArTElC
UlVCWV9FWFRfQ0xPU1VSRV9GTEFHUy15ICs9IC1JJChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9l
eHQvZmlkZGxlCj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvZmlk
ZGxlL2NvbnZlcnNpb25zLmMKPiArTElCUlVCWV9FWFRfQ09OVkVSU0lPTlNfRkxBR1MteSArPSAt
SSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L2ZpZGRsZQo+ICtMSUJSVUJZX0VYVF9TUkNT
LXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L2ZpZGRsZS9maWRkbGUuYwo+ICtMSUJSVUJZX0VYVF9G
SURETEVfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L2ZpZGRsZQo+
ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L2ZpZGRsZS9mdW5jdGlv
bi5jCj4gK0xJQlJVQllfRVhUX0ZVTkNUSU9OX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkv
Z2VuZXJhdGVkL2V4dC9maWRkbGUKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9T
UkMpL2V4dC9maWRkbGUvaGFuZGxlLmMKPiArTElCUlVCWV9FWFRfSEFORExFX0ZMQUdTLXkgKz0g
LUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9maWRkbGUKPiArTElCUlVCWV9FWFRfU1JD
Uy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9maWRkbGUvcG9pbnRlci5jCj4gK0xJQlJVQllfRVhU
X1BPSU5URVJfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L2ZpZGRs
ZQo+ICtlbmRpZgo+ICtpZmVxICgkKENPTkZJR19MSUJSVUJZX0VYVF9FVEMpLHkpCj4gK0xJQlJV
QllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvZXRjL2V0Yy5jCj4gK0xJQlJVQllf
RVhUX0VUQ19GTEFHUy15ICs9IC1JJChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQvZXRjCj4g
K2VuZGlmCj4gK2lmZXEgKCQoQ09ORklHX0xJQlJVQllfRVhUX0NPTlRJTlVBVElPTikseSkKPiAr
TElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9jb250aW51YXRpb24vY29u
dGludWF0aW9uLmMKPiArTElCUlVCWV9FWFRfQ09OVElOVUFUSU9OX0ZMQUdTLXkgKz0gLUkkKExJ
QlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9jb250aW51YXRpb24KPiArZW5kaWYKPiAraWZlcSAo
JChDT05GSUdfTElCUlVCWV9FWFRfT0JKU1BBQ0UpLHkpCj4gK0xJQlJVQllfRVhUX1NSQ1MteSAr
PSAkKExJQlJVQllfU1JDKS9leHQvb2Jqc3BhY2Uvb2JqZWN0X3RyYWNpbmcuYwo+ICtMSUJSVUJZ
X0VYVF9PQkpFQ1RfVFJBQ0lOR19GTEFHUy15ICs9IC1JJChMSUJSVUJZX0JBU0UpL2dlbmVyYXRl
ZC9leHQvb2Jqc3BhY2UKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4
dC9vYmpzcGFjZS9vYmpzcGFjZS5jCj4gK0xJQlJVQllfRVhUX09CSlNQQUNFX0ZMQUdTLXkgKz0g
LUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9vYmpzcGFjZQo+ICtMSUJSVUJZX0VYVF9T
UkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L29ianNwYWNlL29ianNwYWNlX2R1bXAuYwo+ICtM
SUJSVUJZX0VYVF9PQkpTUEFDRV9EVU1QX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2Vu
ZXJhdGVkL2V4dC9vYmpzcGFjZQo+ICtlbmRpZgo+ICtpZmVxICgkKENPTkZJR19MSUJSVUJZX0VY
VF9DT1ZFUkFHRSkseSkKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4
dC9jb3ZlcmFnZS9jb3ZlcmFnZS5jCj4gK0xJQlJVQllfRVhUX0NPVkVSQUdFX0ZMQUdTLXkgKz0g
LUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9jb3ZlcmFnZQo+ICtlbmRpZgo+ICtpZmVx
ICgkKENPTkZJR19MSUJSVUJZX0VYVF9JT19DT05TT0xFKSx5KQo+ICtMSUJSVUJZX0VYVF9TUkNT
LXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L2lvL2NvbnNvbGUvY29uc29sZS5jCj4gK0xJQlJVQllf
RVhUX0NPTlNPTEVfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L2lv
L2NvbnNvbGUKPiArZW5kaWYKPiAraWZlcSAoJChDT05GSUdfTElCUlVCWV9FWFRfSU9fTk9OQkxP
Q0spLHkpCj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvaW8vbm9u
YmxvY2svbm9uYmxvY2suYwo+ICtMSUJSVUJZX0VYVF9OT05CTE9DS19GTEFHUy15ICs9IC1JJChM
SUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQvaW8vbm9uYmxvY2sKPiArZW5kaWYKPiAraWZlcSAo
JChDT05GSUdfTElCUlVCWV9FWFRfSU9fV0FJVCkseSkKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9
ICQoTElCUlVCWV9TUkMpL2V4dC9pby93YWl0L3dhaXQuYwo+ICtMSUJSVUJZX0VYVF9XQUlUX0ZM
QUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9pby93YWl0Cj4gK2VuZGlm
Cj4gK2lmZXEgKCQoQ09ORklHX0xJQlJVQllfRVhUX1JJUFBFUikseSkKPiArTElCUlVCWV9FWFRf
U1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9yaXBwZXIvcmlwcGVyLmMKPiArTElCUlVCWV9F
WFRfUklQUEVSX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9yaXBw
ZXIKPiArZW5kaWYKPiAraWZlcSAoJChDT05GSUdfTElCUlVCWV9FWFRfTktGKSx5KQo+ICtMSUJS
VUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L25rZi9ua2YuYwo+ICtMSUJSVUJZ
X0VYVF9OS0ZfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L25rZgo+
ICtlbmRpZgo+ICtpZmVxICgkKENPTkZJR19MSUJSVUJZX0VYVF9aTElCKSx5KQo+ICtMSUJSVUJZ
X0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L3psaWIvemxpYi5jCj4gK0xJQlJVQllf
RVhUX1pMSUJfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L3psaWIK
PiArZW5kaWYKPiAraWZlcSAoJChDT05GSUdfTElCUlVCWV9FWFRfU0RCTSkseSkKPiArTElCUlVC
WV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9zZGJtL19zZGJtLmMKPiArTElCUlVC
WV9FWFRfX1NEQk1fRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L3Nk
Ym0KPiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9zZGJtL2luaXQu
Y3xzZGJtCj4gK0xJQlJVQllfRVhUX0lOSVRfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9n
ZW5lcmF0ZWQvZXh0L3NkYm0KPiArZW5kaWYKPgo+ICBMSUJSVUJZX1NSQ1MteSArPSAkKExJQlJV
QllfU1JDKS9kbXllbmMuYwo+Cj4gKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCj4gKyMgUHJlcGFy
ZSBydWxlcwo+ICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwo+ICsKPiArIyBDb25maWd1cmUgb3Jp
Z2luCj4gKyQoTElCUlVCWV9CVUlMRCkvLmNvbmZpZ3VyZWQ6ICQoTElCUlVCWV9CVUlMRCkvLm9y
aWdpbgo+ICsgICAgICAgY2QgJChMSUJSVUJZX1NSQykgJiYgXAo+ICsgICAgICAgICAgICAgICBh
dXRvY29uZiAmJiBcCj4gKyAgICAgICAgICAgICAgIC4vY29uZmlndXJlIC0td2l0aC1zdGF0aWMt
bGlua2VkLWV4dCAmJiBcCj4gKyAgICAgICAgICAgICAgIHRvdWNoICRACj4gKwo+ICsjIEJ1aWxk
IFJ1YnkKPiArJChMSUJSVUJZX0JVSUxEKS8uYnVpbGQ6ICQoTElCUlVCWV9CVUlMRCkvLmNvbmZp
Z3VyZWQKPiArICAgICAgIGNkICQoTElCUlVCWV9TUkMpICYmIG1ha2UgJiYgdG91Y2ggJEAKPiAr
Cj4gK2lmZXEgKCQoQ09ORklHX0xJQlJVQllfRVhUKSx5KQo+ICtVS19QUkVQQVJFICs9ICQoTElC
UlVCWV9CVUlMRCkvLmJ1aWxkCj4gK2VuZGlmCj4gKwo+IGRpZmYgLS1naXQgYS9nZW5lcmF0ZWQv
ZXh0L2V4dGluaXQuYyBiL2dlbmVyYXRlZC9leHQvZXh0aW5pdC5jCj4gaW5kZXggNDkyYTkzMy4u
Y2UyZTc3YyAxMDA2NDQKPiAtLS0gYS9nZW5lcmF0ZWQvZXh0L2V4dGluaXQuYwo+ICsrKyBiL2dl
bmVyYXRlZC9leHQvZXh0aW5pdC5jCj4gQEAgLTEsMyArMSw0IEBACj4gKyNpbmNsdWRlIDx1ay9j
b25maWcuaD4KPiAgI2luY2x1ZGUgInJ1YnkvcnVieS5oIgo+Cj4gICNkZWZpbmUgaW5pdChmdW5j
LCBuYW1lKSB7ICAgICBcCj4gQEAgLTksNDAgKzEwLDk2IEBAIHZvaWQgcnVieV9pbml0X2V4dChj
b25zdCBjaGFyICpuYW1lLCB2b2lkICgqaW5pdCkodm9pZCkpOwo+Cj4gIHZvaWQgSW5pdF9leHQo
dm9pZCkKPiAgewo+ICsjaWYgQ09ORklHX0xJQlJVQllfRVhUX1NUUlNDQU4KPiAgICAgIGluaXQo
SW5pdF9zdHJzY2FuLCAic3Ryc2NhbiIpOwo+ICsjZW5kaWYKPiArI2lmIENPTkZJR19MSUJSVUJZ
X0VYVF9TWVNMT0cKPiAgICAgIGluaXQoSW5pdF9zeXNsb2csICJzeXNsb2ciKTsKPiArI2VuZGlm
Cj4gKyNpZiBDT05GSUdfTElCUlVCWV9FWFRfU1lTTE9HCj4gICAgICBpbml0KEluaXRfZ2VuZXJh
dG9yLCAianNvbi9leHQvZ2VuZXJhdG9yIik7Cj4gICAgICBpbml0KEluaXRfcGFyc2VyLCAianNv
bi9leHQvcGFyc2VyIik7Cj4gKyNlbmRpZgo+ICsjaWYgQ09ORklHX0xJQlJVQllfRVhUX1JCQ09O
RklHX1NJWkVPRgo+ICAgICAgaW5pdChJbml0X3NpemVvZiwgInJiY29uZmlnL3NpemVvZiIpOwo+
ICsjZW5kaWYKPiArI2lmIENPTkZJR19MSUJSVUJZX0VYVF9CSUdERUNJTUFMCj4gICAgICBpbml0
KEluaXRfYmlnZGVjaW1hbCwgImJpZ2RlY2ltYWwiKTsKPiAgICAgIGluaXQoSW5pdF91dGlsLCAi
YmlnZGVjaW1hbC91dGlsIik7Cj4gKyNlbmRpZgo+ICsjaWYgQ09ORklHX0xJQlJVQllfRVhUX1JB
Q0NfQ1BBUlNFCj4gICAgICBpbml0KEluaXRfY3BhcnNlLCAicmFjYy9jcGFyc2UiKTsKPiArI2Vu
ZGlmCj4gKyNpZiBDT05GSUdfTElCUlVCWV9FWFRfRElHRVNUCj4gICAgICBpbml0KEluaXRfZGln
ZXN0LCAiZGlnZXN0Iik7Cj4gICAgICBpbml0KEluaXRfYnViYmxlYmFiYmxlLCAiZGlnZXN0L2J1
YmJsZWJhYmJsZSIpOwo+ICAgICAgaW5pdChJbml0X21kNSwgImRpZ2VzdC9tZDUiKTsKPiAgICAg
IGluaXQoSW5pdF9ybWQxNjAsICJkaWdlc3Qvcm1kMTYwIik7Cj4gICAgICBpbml0KEluaXRfc2hh
MSwgImRpZ2VzdC9zaGExIik7Cj4gICAgICBpbml0KEluaXRfc2hhMiwgImRpZ2VzdC9zaGEyIik7
Cj4gKyNlbmRpZgo+ICsjaWYgQ09ORklHX0xJQlJVQllfRVhUX1BTWUNICj4gICAgICBpbml0KElu
aXRfcHN5Y2gsICJwc3ljaCIpOwo+ICsjZW5kaWYKPiArI2lmIENPTkZJR19MSUJSVUJZX0VYVF9D
R0lfRVNDQVBFCj4gICAgICBpbml0KEluaXRfZXNjYXBlLCAiY2dpL2VzY2FwZSIpOwo+ICsjZW5k
aWYKPiArI2lmIENPTkZJR19MSUJSVUJZX0VYVF9GQ05UTAo+ICAgICAgaW5pdChJbml0X2ZjbnRs
LCAiZmNudGwiKTsKPiArI2VuZGlmCj4gICAgICBpbml0KEluaXRfc3RyaW5naW8sICJzdHJpbmdp
byIpOwo+ICsjaWYgQ09ORklHX0xJQlJVQllfRVhUX1NPQ0tFVAo+ICAgICAgaW5pdChJbml0X3Nv
Y2tldCwgInNvY2tldCIpOwo+ICsjZW5kaWYKPiArI2lmIENPTkZJR19MSUJSVUJZX0VYVF9QQVRI
TkFNRQo+ICAgICAgaW5pdChJbml0X3BhdGhuYW1lLCAicGF0aG5hbWUiKTsKPiArI2VuZGlmCj4g
KyNpZiBDT05GSUdfTElCUlVCWV9FWFRfREFURV9DT1JFCj4gICAgICBpbml0KEluaXRfZGF0ZV9j
b3JlLCAiZGF0ZV9jb3JlIik7Cj4gKyNlbmRpZgo+ICsjaWYgQ09ORklHX0xJQlJVQllfRVhUX1BU
WQo+ICAgICAgaW5pdChJbml0X3B0eSwgInB0eSIpOwo+ICsjZW5kaWYKPiArI2lmIENPTkZJR19M
SUJSVUJZX0VYVF9PUEVOU1NMCj4gICAgICBpbml0KEluaXRfb3BlbnNzbCwgIm9wZW5zc2wiKTsK
PiArI2VuZGlmCj4gKyNpZiBDT05GSUdfTElCUlVCWV9FWFRfRklCRVIKPiAgICAgIGluaXQoSW5p
dF9maWJlciwgImZpYmVyIik7Cj4gKyNlbmRpZgo+ICsjaWYgQ09ORklHX0xJQlJVQllfRVhUX0ZJ
RERMRQo+ICAgICAgaW5pdChJbml0X2ZpZGRsZSwgImZpZGRsZSIpOwo+ICsjZW5kaWYKPiArI2lm
IENPTkZJR19MSUJSVUJZX0VYVF9FVEMKPiAgICAgIGluaXQoSW5pdF9ldGMsICJldGMiKTsKPiAr
I2VuZGlmCj4gKyNpZiBDT05GSUdfTElCUlVCWV9FWFRfQ09OVElOVUFUSU9OCj4gICAgICBpbml0
KEluaXRfY29udGludWF0aW9uLCAiY29udGludWF0aW9uIik7Cj4gKyNlbmRpZgo+ICsjaWYgQ09O
RklHX0xJQlJVQllfRVhUX09CSlNQQUNFCj4gICAgICBpbml0KEluaXRfb2Jqc3BhY2UsICJvYmpz
cGFjZSIpOwo+ICsjZW5kaWYKPiArI2lmIENPTkZJR19MSUJSVUJZX0VYVF9DT1ZFUkFHRQo+ICAg
ICAgaW5pdChJbml0X2NvdmVyYWdlLCAiY292ZXJhZ2UiKTsKPiArI2VuZGlmCj4gKyNpZiBDT05G
SUdfTElCUlVCWV9FWFRfSU9fQ09OU09MRQo+ICAgICAgaW5pdChJbml0X2NvbnNvbGUsICJpby9j
b25zb2xlIik7Cj4gKyNlbmRpZgo+ICsjaWYgQ09ORklHX0xJQlJVQllfRVhUX0lPX05PTkJMT0NL
Cj4gICAgICBpbml0KEluaXRfbm9uYmxvY2ssICJpby9ub25ibG9jayIpOwo+ICsjZW5kaWYKPiAr
I2lmIENPTkZJR19MSUJSVUJZX0VYVF9JT19XQUlUCj4gICAgICBpbml0KEluaXRfd2FpdCwgImlv
L3dhaXQiKTsKPiArI2VuZGlmCj4gKyNpZiBDT05GSUdfTElCUlVCWV9FWFRfUklQUEVSCj4gICAg
ICBpbml0KEluaXRfcmlwcGVyLCAicmlwcGVyIik7Cj4gKyNlbmRpZgo+ICsjaWYgQ09ORklHX0xJ
QlJVQllfRVhUX1JJUFBFUgo+ICAgICAgaW5pdChJbml0X25rZiwgIm5rZiIpOwo+ICsjZW5kaWYK
PiArI2lmIENPTkZJR19MSUJSVUJZX0VYVF9SSVBQRVIKPiAgICAgIGluaXQoSW5pdF96bGliLCAi
emxpYiIpOwo+ICsjZW5kaWYKPiArI2lmIENPTkZJR19MSUJSVUJZX0VYVF9SSVBQRVIKPiAgICAg
IGluaXQoSW5pdF9zZGJtLCAic2RibSIpOwo+ICsjZW5kaWYKPiAgfQo+IGRpZmYgLS1naXQgYS9p
bmNsdWRlL3J1YnkvY29uZmlnLmggYi9pbmNsdWRlL3J1YnkvY29uZmlnLmgKPiBpbmRleCBlOWZm
NGQxLi4yYjBmYWUwIDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvcnVieS9jb25maWcuaAo+ICsrKyBi
L2luY2x1ZGUvcnVieS9jb25maWcuaAo+IEBAIC00MjIsNiArNDIyLDcgQEAKPiAgLyogI2RlZmlu
ZSBIQVZFX1ZBTEdSSU5EX01FTUNIRUNLX0ggMSAqLwo+ICAjZGVmaW5lIERMRVhUX01BWExFTiAz
Cj4gICNkZWZpbmUgRExFWFQgIi5zbyIKPiArI2RlZmluZSBFWFRTVEFUSUMgMQo+ICAjZGVmaW5l
IEhBVkVfX1NFVEpNUCAxCj4gICNkZWZpbmUgUlVCWV9TRVRKTVAoZW52KSBfX2J1aWx0aW5fc2V0
am1wKChlbnYpKQo+ICAjZGVmaW5lIFJVQllfTE9OR0pNUChlbnYsdmFsKSBfX2J1aWx0aW5fbG9u
Z2ptcCgoZW52KSx2YWwpCj4gLS0KPiAyLjIwLjEKPgo+Cj4gX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18KPiBNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Cj4g
TWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCj4gaHR0cHM6Ly9saXN0cy54ZW5wcm9q
ZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbAoKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApN
aW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0
Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Wed Dec 11 15:18:54 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 11 Dec 2019 15:18:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1if3lN-0000bM-Lt; Wed, 11 Dec 2019 15:18:53 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=boZ+=2B=gmail.com=stefanl.teodorescu@srs-us1.protection.inumbo.net>)
 id 1if3lN-0000bH-1k
 for minios-devel@lists.xen.org; Wed, 11 Dec 2019 15:18:53 +0000
X-Inumbo-ID: 85e03d1c-1c29-11ea-a1e1-bc764e2007e4
Received: from mail-lf1-x12b.google.com (unknown [2a00:1450:4864:20::12b])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 85e03d1c-1c29-11ea-a1e1-bc764e2007e4;
 Wed, 11 Dec 2019 15:18:46 +0000 (UTC)
Received: by mail-lf1-x12b.google.com with SMTP id n12so17016173lfe.3
 for <minios-devel@lists.xen.org>; Wed, 11 Dec 2019 07:18:45 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to
 :cc; bh=rS2jAy4aEs6T6io+6WjLkDdCQPEb5ZuY6f874gHvknQ=;
 b=hzFamO79yr/n8emwRD5b8RTEG6agbsRnJhx4jR0Wew20QEHdLgkTBXT42yrQxPrAJr
 aogz7F3X1KQSjzFoSnIrrwHq/JwExKVYcxXT1yEeeo2svvy4FKEkkHcAPD7oJNS6stLz
 uLyyZskg14Ag57gbLhv3qOymje9DVCZZT6Cl5ic2s2p4Aw7SBpsHFhfHAMLygn7BTldP
 rirvcSFvIaElhSd+rQO6L/+2KqiO+ax3ZFX8PaQ067NPblrGcRbYWVS64UHFHMKB6/Y9
 zbKuDGoaKAbJIqgXKXgtG+zFCR2UWh38PBsnNrSR0hifW6TSQo7cE1jQ1hjCLRLoIKFe
 nuww==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
 :message-id:subject:to:cc;
 bh=rS2jAy4aEs6T6io+6WjLkDdCQPEb5ZuY6f874gHvknQ=;
 b=GxH06Hn5DTGK3smnu9YXCgbpBRFR3J/HxBunbZ43uKycnctkkxT43ojiE7hC31r8Cr
 M/tIBMCaJvCYZ4p8RukHuH0znD86ujtISB6ENn4JJHdw8FHXHB0VMYHvN9DjPgtpSaDd
 HJTbDP63r570ChnquS0SUjrIrx6TswTsT+3nt9yNGXiLwdFbFDcYzACnSHQ7Suh/zHx/
 KSARBGX7NcqCEneksoB1xA42PL5BRbONnMYpdyrNPWwxW5Eqirjehxtm1ocidmAQPNAT
 1JAkjCnpb9h6VuWX+8Oi6rRBurDyrNWH29FdKHkBcnOBoS5C8H4hFSM2kctOQHQIpiia
 bXXA==
X-Gm-Message-State: APjAAAWVrI9KU7WK1C6Ma9tDqkMeF3WicVp+kLPto7xKLamK/VfqST0Z
 Y8Q8tAHAJLx+6PviDPCbsLaiVM6jFvGw7t6SyFlGIL2m
X-Google-Smtp-Source: APXvYqxTEFiRMHOvTumr4SuFQD7cp0pndpBjgo+Stjo3cx3HyvwfxENhx7fwGuf+ldhuIdqHogkkis+TkxywUMnAy/I=
X-Received: by 2002:a19:f006:: with SMTP id p6mr2539123lfc.94.1576077522755;
 Wed, 11 Dec 2019 07:18:42 -0800 (PST)
MIME-Version: 1.0
References: <20191208095507.27384-1-costin.lupu@cs.pub.ro>
 <20191208095507.27384-9-costin.lupu@cs.pub.ro>
In-Reply-To: <20191208095507.27384-9-costin.lupu@cs.pub.ro>
From: Stefan Teodorescu <stefanl.teodorescu@gmail.com>
Date: Wed, 11 Dec 2019 17:18:31 +0200
Message-ID: <CAEiTdV4=7jkq5u+--NraCKMm70H8AHC1GXoGRmwxrpJ_s50NiQ@mail.gmail.com>
To: Costin Lupu <costin.lupu@cs.pub.ro>
Subject: Re: [Minios-devel] [UNIKRAFT/RUBY PATCH 08/16] extensions: Add
 generated files
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: minios-devel@lists.xen.org
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

QXMgZGlzY3Vzc2VkLCBzaW5jZSBzb2NrZXQvZXh0Y29uZi5oIGlzIHRoZSBvbmx5IG9uZSB0aGF0
IHJlcXVpcmVzCnNwZWNpYWwgY2hhbmdlcywgd2UgZG9uJ3QgbmVlZCB0byBhZGQgdGhlIG90aGVy
cyB0byB0aGUgZ2x1ZSBjb2RlLgoKT24gU3VuLCBEZWMgOCwgMjAxOSBhdCAxMTo1NiBBTSBDb3N0
aW4gTHVwdSA8Y29zdGluLmx1cHVAY3MucHViLnJvPiB3cm90ZToKPgo+IEVhY2ggZXh0ZW5zaW9u
cyBoYXMgaXRzIG93biA8ZXh0Y29uZi5oPiBoZWFkZXIsIHdoaWNoIGlzIGdlbmVyYXRlZCBiYXNl
ZCBvbgo+IHRoZSBidWlsZCBzeXN0ZW0gY29uZmlndXJhdGlvbi4gV2UgYWRkIHRoZXNlIGhlYWRl
ciBpbnRvIHRoZSBnbHVlIGNvZGUKPiBiZWNhdXNlIHdlIG5lZWQgdG8gY2hhbmdlIHNvbWUgb2Yg
dGhlc2UgY29uZmlndXJhdGlvbnMgbGF0ZXIuIFdlIGFsc28gYWRkIG5vdwo+IHRoZSBnZW5lcmF0
ZWQgaGVhZGVycyBmb3IgcHN5Y2ggZXh0ZW5zaW9uLiBBbGwgdGhlIGV4dGVuc2lvbnMgYXJlIHJl
Z2lzdGVyZWQgaW4KPiB0aGUgZXh0aW5pdC5jIGZpbGUuCj4KPiBTaWduZWQtb2ZmLWJ5OiBDb3N0
aW4gTHVwdSA8Y29zdGluLmx1cHVAY3MucHViLnJvPgo+IC0tLQo+ICAuLi4vZXh0Ly10ZXN0LS9h
cml0aF9zZXEvZXh0cmFjdC9leHRjb25mLmggICAgfCAgICAzICsKPiAgZ2VuZXJhdGVkL2V4dC8t
dGVzdC0vYXJyYXkvcmVzaXplL2V4dGNvbmYuaCAgIHwgICAgMyArCj4gIGdlbmVyYXRlZC9leHQv
LXRlc3QtL2JpZ251bS9leHRjb25mLmggICAgICAgICB8ICAgIDQgKwo+ICBnZW5lcmF0ZWQvZXh0
Ly10ZXN0LS9idWctMTQ4MzQvZXh0Y29uZi5oICAgICAgfCAgICAzICsKPiAgZ2VuZXJhdGVkL2V4
dC8tdGVzdC0vYnVnLTM1NzEvZXh0Y29uZi5oICAgICAgIHwgICAgMyArCj4gIGdlbmVyYXRlZC9l
eHQvLXRlc3QtL2J1Zy01ODMyL2V4dGNvbmYuaCAgICAgICB8ICAgIDMgKwo+ICBnZW5lcmF0ZWQv
ZXh0Ly10ZXN0LS9idWdfcmVwb3J0ZXIvZXh0Y29uZi5oICAgfCAgICAzICsKPiAgZ2VuZXJhdGVk
L2V4dC8tdGVzdC0vY2xhc3MvZXh0Y29uZi5oICAgICAgICAgIHwgICAgNCArCj4gIGdlbmVyYXRl
ZC9leHQvLXRlc3QtL2RlYnVnL2V4dGNvbmYuaCAgICAgICAgICB8ICAgIDQgKwo+ICBnZW5lcmF0
ZWQvZXh0Ly10ZXN0LS9kbG4vZW1wdHkvZXh0Y29uZi5oICAgICAgfCAgICAzICsKPiAgZ2VuZXJh
dGVkL2V4dC8tdGVzdC0vZXhjZXB0aW9uL2V4dGNvbmYuaCAgICAgIHwgICAgNCArCj4gIGdlbmVy
YXRlZC9leHQvLXRlc3QtL2ZhdGFsL2V4dGNvbmYuaCAgICAgICAgICB8ICAgIDMgKwo+ICBnZW5l
cmF0ZWQvZXh0Ly10ZXN0LS9maWxlL2V4dGNvbmYuaCAgICAgICAgICAgfCAgIDE0ICsKPiAgZ2Vu
ZXJhdGVkL2V4dC8tdGVzdC0vZmxvYXQvZXh0Y29uZi5oICAgICAgICAgIHwgICAgNCArCj4gIGdl
bmVyYXRlZC9leHQvLXRlc3QtL2Z1bmNhbGwvZXh0Y29uZi5oICAgICAgICB8ICAgIDMgKwo+ICAu
Li4vZXh0Ly10ZXN0LS9ndmwvY2FsbF93aXRob3V0X2d2bC9leHRjb25mLmggfCAgICAzICsKPiAg
Z2VuZXJhdGVkL2V4dC8tdGVzdC0vaGFzaC9leHRjb25mLmggICAgICAgICAgIHwgICAgNCArCj4g
IGdlbmVyYXRlZC9leHQvLXRlc3QtL2ludGVnZXIvZXh0Y29uZi5oICAgICAgICB8ICAgIDQgKwo+
ICBnZW5lcmF0ZWQvZXh0Ly10ZXN0LS9pc2VxX2xvYWQvZXh0Y29uZi5oICAgICAgfCAgICAzICsK
PiAgZ2VuZXJhdGVkL2V4dC8tdGVzdC0vaXRlci9leHRjb25mLmggICAgICAgICAgIHwgICAgNCAr
Cj4gIGdlbmVyYXRlZC9leHQvLXRlc3QtL2xvYWQvZG90LmRvdC9leHRjb25mLmggICB8ICAgIDMg
Kwo+ICBnZW5lcmF0ZWQvZXh0Ly10ZXN0LS9sb2FkL3Byb3RlY3QvZXh0Y29uZi5oICAgfCAgICAz
ICsKPiAgZ2VuZXJhdGVkL2V4dC8tdGVzdC0vbWFyc2hhbC9jb21wYXQvZXh0Y29uZi5oIHwgICAg
MyArCj4gIC4uLi8tdGVzdC0vbWFyc2hhbC9pbnRlcm5hbF9pdmFyL2V4dGNvbmYuaCAgICB8ICAg
IDMgKwo+ICBnZW5lcmF0ZWQvZXh0Ly10ZXN0LS9tYXJzaGFsL3Vzci9leHRjb25mLmggICAgfCAg
ICAzICsKPiAgZ2VuZXJhdGVkL2V4dC8tdGVzdC0vbWV0aG9kL2V4dGNvbmYuaCAgICAgICAgIHwg
ICAgNCArCj4gIGdlbmVyYXRlZC9leHQvLXRlc3QtL25vdGltcGxlbWVudC9leHRjb25mLmggICB8
ICAgIDMgKwo+ICBnZW5lcmF0ZWQvZXh0Ly10ZXN0LS9udW0yaW50L2V4dGNvbmYuaCAgICAgICAg
fCAgICAzICsKPiAgZ2VuZXJhdGVkL2V4dC8tdGVzdC0vcGF0aF90b19jbGFzcy9leHRjb25mLmgg
IHwgICAgNCArCj4gIGdlbmVyYXRlZC9leHQvLXRlc3QtL3BvcGVuX2RlYWRsb2NrL2V4dGNvbmYu
aCB8ICAgIDMgKwo+ICBnZW5lcmF0ZWQvZXh0Ly10ZXN0LS9wb3N0cG9uZWRfam9iL2V4dGNvbmYu
aCAgfCAgICAzICsKPiAgZ2VuZXJhdGVkL2V4dC8tdGVzdC0vcHJpbnRmL2V4dGNvbmYuaCAgICAg
ICAgIHwgICAgMyArCj4gIGdlbmVyYXRlZC9leHQvLXRlc3QtL3Byb2MvZXh0Y29uZi5oICAgICAg
ICAgICB8ICAgIDQgKwo+ICBnZW5lcmF0ZWQvZXh0Ly10ZXN0LS9yYXRpb25hbC9leHRjb25mLmgg
ICAgICAgfCAgICA0ICsKPiAgZ2VuZXJhdGVkL2V4dC8tdGVzdC0vcmVjdXJzaW9uL2V4dGNvbmYu
aCAgICAgIHwgICAgMyArCj4gIGdlbmVyYXRlZC9leHQvLXRlc3QtL3JlZ2V4cC9leHRjb25mLmgg
ICAgICAgICB8ICAgIDQgKwo+ICBnZW5lcmF0ZWQvZXh0Ly10ZXN0LS9zY2FuX2FyZ3MvZXh0Y29u
Zi5oICAgICAgfCAgICAzICsKPiAgZ2VuZXJhdGVkL2V4dC8tdGVzdC0vc3QvZm9yZWFjaC9leHRj
b25mLmggICAgIHwgICAgMyArCj4gIGdlbmVyYXRlZC9leHQvLXRlc3QtL3N0L251bWhhc2gvZXh0
Y29uZi5oICAgICB8ICAgIDMgKwo+ICBnZW5lcmF0ZWQvZXh0Ly10ZXN0LS9zdC91cGRhdGUvZXh0
Y29uZi5oICAgICAgfCAgICAzICsKPiAgZ2VuZXJhdGVkL2V4dC8tdGVzdC0vc3RyaW5nL2V4dGNv
bmYuaCAgICAgICAgIHwgICAgNCArCj4gIGdlbmVyYXRlZC9leHQvLXRlc3QtL3N0cnVjdC9leHRj
b25mLmggICAgICAgICB8ICAgIDQgKwo+ICBnZW5lcmF0ZWQvZXh0Ly10ZXN0LS9zeW1ib2wvZXh0
Y29uZi5oICAgICAgICAgfCAgICA0ICsKPiAgLi4uL2V4dC8tdGVzdC0vdGhyZWFkX2ZkX2Nsb3Nl
L2V4dGNvbmYuaCAgICAgIHwgICAgMyArCj4gIGdlbmVyYXRlZC9leHQvLXRlc3QtL3RpbWUvZXh0
Y29uZi5oICAgICAgICAgICB8ICAgIDQgKwo+ICBnZW5lcmF0ZWQvZXh0Ly10ZXN0LS90cmFjZXBv
aW50L2V4dGNvbmYuaCAgICAgfCAgICAzICsKPiAgZ2VuZXJhdGVkL2V4dC8tdGVzdC0vdHlwZWRk
YXRhL2V4dGNvbmYuaCAgICAgIHwgICAgMyArCj4gIGdlbmVyYXRlZC9leHQvLXRlc3QtL3ZtL2V4
dGNvbmYuaCAgICAgICAgICAgICB8ICAgIDMgKwo+ICAuLi4vZXh0Ly10ZXN0LS93YWl0X2Zvcl9z
aW5nbGVfZmQvZXh0Y29uZi5oICAgfCAgICA1ICsKPiAgZ2VuZXJhdGVkL2V4dC9iaWdkZWNpbWFs
L2V4dGNvbmYuaCAgICAgICAgICAgIHwgICAxMiArCj4gIGdlbmVyYXRlZC9leHQvYmlnZGVjaW1h
bC91dGlsL2V4dGNvbmYuaCAgICAgICB8ICAgIDQgKwo+ICBnZW5lcmF0ZWQvZXh0L2NnaS9lc2Nh
cGUvZXh0Y29uZi5oICAgICAgICAgICAgfCAgICA0ICsKPiAgZ2VuZXJhdGVkL2V4dC9jb250aW51
YXRpb24vZXh0Y29uZi5oICAgICAgICAgIHwgICAgNCArCj4gIGdlbmVyYXRlZC9leHQvY292ZXJh
Z2UvZXh0Y29uZi5oICAgICAgICAgICAgICB8ICAgIDQgKwo+ICBnZW5lcmF0ZWQvZXh0L2RhdGUv
ZXh0Y29uZi5oICAgICAgICAgICAgICAgICAgfCAgICA1ICsKPiAgZ2VuZXJhdGVkL2V4dC9kaWdl
c3QvYnViYmxlYmFiYmxlL2V4dGNvbmYuaCAgIHwgICAgNSArCj4gIGdlbmVyYXRlZC9leHQvZGln
ZXN0L2V4dGNvbmYuaCAgICAgICAgICAgICAgICB8ICAgIDQgKwo+ICBnZW5lcmF0ZWQvZXh0L2Rp
Z2VzdC9tZDUvZXh0Y29uZi5oICAgICAgICAgICAgfCAgIDEwICsKPiAgZ2VuZXJhdGVkL2V4dC9k
aWdlc3Qvcm1kMTYwL2V4dGNvbmYuaCAgICAgICAgIHwgICAxMSArCj4gIGdlbmVyYXRlZC9leHQv
ZGlnZXN0L3NoYTEvZXh0Y29uZi5oICAgICAgICAgICB8ICAgMTAgKwo+ICBnZW5lcmF0ZWQvZXh0
L2RpZ2VzdC9zaGEyL2V4dGNvbmYuaCAgICAgICAgICAgfCAgIDEyICsKPiAgZ2VuZXJhdGVkL2V4
dC9ldGMvZXh0Y29uZi5oICAgICAgICAgICAgICAgICAgIHwgICAxOSArCj4gIGdlbmVyYXRlZC9l
eHQvZXh0aW5pdC5jICAgICAgICAgICAgICAgICAgICAgICB8ICAgNDggKwo+ICBnZW5lcmF0ZWQv
ZXh0L2ZjbnRsL2V4dGNvbmYuaCAgICAgICAgICAgICAgICAgfCAgICA0ICsKPiAgZ2VuZXJhdGVk
L2V4dC9maWJlci9leHRjb25mLmggICAgICAgICAgICAgICAgIHwgICAgNCArCj4gIGdlbmVyYXRl
ZC9leHQvZmlkZGxlL2V4dGNvbmYuaCAgICAgICAgICAgICAgICB8ICAgMTQgKwo+ICBnZW5lcmF0
ZWQvZXh0L2lvL2NvbnNvbGUvZXh0Y29uZi5oICAgICAgICAgICAgfCAgICA4ICsKPiAgZ2VuZXJh
dGVkL2V4dC9pby9ub25ibG9jay9leHRjb25mLmggICAgICAgICAgIHwgICAgNCArCj4gIGdlbmVy
YXRlZC9leHQvaW8vd2FpdC9leHRjb25mLmggICAgICAgICAgICAgICB8ICAgIDYgKwo+ICBnZW5l
cmF0ZWQvZXh0L2pzb24vZXh0Y29uZi5oICAgICAgICAgICAgICAgICAgfCAgICA0ICsKPiAgZ2Vu
ZXJhdGVkL2V4dC9qc29uL2dlbmVyYXRvci9leHRjb25mLmggICAgICAgIHwgICAgNSArCj4gIGdl
bmVyYXRlZC9leHQvanNvbi9wYXJzZXIvZXh0Y29uZi5oICAgICAgICAgICB8ICAgIDUgKwo+ICBn
ZW5lcmF0ZWQvZXh0L25rZi9leHRjb25mLmggICAgICAgICAgICAgICAgICAgfCAgICA0ICsKPiAg
Z2VuZXJhdGVkL2V4dC9vYmpzcGFjZS9leHRjb25mLmggICAgICAgICAgICAgIHwgICAgNCArCj4g
IGdlbmVyYXRlZC9leHQvb3BlbnNzbC9leHRjb25mLmggICAgICAgICAgICAgICB8ICAgNDYgKwo+
ICBnZW5lcmF0ZWQvZXh0L3BhdGhuYW1lL2V4dGNvbmYuaCAgICAgICAgICAgICAgfCAgICA0ICsK
PiAgZ2VuZXJhdGVkL2V4dC9wc3ljaC9leHRjb25mLmggICAgICAgICAgICAgICAgIHwgICAxNSAr
Cj4gIGdlbmVyYXRlZC9leHQvcHN5Y2gvcHN5Y2guaCAgICAgICAgICAgICAgICAgICB8ICAgMTcg
Kwo+ICBnZW5lcmF0ZWQvZXh0L3BzeWNoL3BzeWNoX2VtaXR0ZXIuaCAgICAgICAgICAgfCAgICA4
ICsKPiAgZ2VuZXJhdGVkL2V4dC9wc3ljaC9wc3ljaF9wYXJzZXIuaCAgICAgICAgICAgIHwgICAg
NiArCj4gIGdlbmVyYXRlZC9leHQvcHN5Y2gvcHN5Y2hfdG9fcnVieS5oICAgICAgICAgICB8ICAg
IDggKwo+ICBnZW5lcmF0ZWQvZXh0L3BzeWNoL3BzeWNoX3lhbWxfdHJlZS5oICAgICAgICAgfCAg
ICA4ICsKPiAgZ2VuZXJhdGVkL2V4dC9wc3ljaC95YW1sL2NvbmZpZy5oICAgICAgICAgICAgIHwg
ICAxMCArCj4gIGdlbmVyYXRlZC9leHQvcHN5Y2gveWFtbC95YW1sLmggICAgICAgICAgICAgICB8
IDE5NzEgKysrKysrKysrKysrKysrKysKPiAgZ2VuZXJhdGVkL2V4dC9wdHkvZXh0Y29uZi5oICAg
ICAgICAgICAgICAgICAgIHwgICAgOSArCj4gIGdlbmVyYXRlZC9leHQvcmFjYy9jcGFyc2UvZXh0
Y29uZi5oICAgICAgICAgICB8ICAgIDUgKwo+ICBnZW5lcmF0ZWQvZXh0L3JiY29uZmlnL3NpemVv
Zi9leHRjb25mLmggICAgICAgfCAgIDI5ICsKPiAgZ2VuZXJhdGVkL2V4dC9yaXBwZXIvZXh0Y29u
Zi5oICAgICAgICAgICAgICAgIHwgICAgNSArCj4gIGdlbmVyYXRlZC9leHQvcnVieXZtL2V4dGNv
bmYuaCAgICAgICAgICAgICAgICB8ICAgIDQgKwo+ICBnZW5lcmF0ZWQvZXh0L3NkYm0vZXh0Y29u
Zi5oICAgICAgICAgICAgICAgICAgfCAgICA1ICsKPiAgZ2VuZXJhdGVkL2V4dC9zb2NrZXQvZXh0
Y29uZi5oICAgICAgICAgICAgICAgIHwgIDEyOCArKwo+ICBnZW5lcmF0ZWQvZXh0L3N0cmluZ2lv
L2V4dGNvbmYuaCAgICAgICAgICAgICAgfCAgICA0ICsKPiAgZ2VuZXJhdGVkL2V4dC9zdHJzY2Fu
L2V4dGNvbmYuaCAgICAgICAgICAgICAgIHwgICAgNCArCj4gIGdlbmVyYXRlZC9leHQvc3lzbG9n
L2V4dGNvbmYuaCAgICAgICAgICAgICAgICB8ICAgIDcgKwo+ICBnZW5lcmF0ZWQvZXh0L3psaWIv
ZXh0Y29uZi5oICAgICAgICAgICAgICAgICAgfCAgICA4ICsKPiAgOTUgZmlsZXMgY2hhbmdlZCwg
MjY5MiBpbnNlcnRpb25zKCspCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0Ly10
ZXN0LS9hcml0aF9zZXEvZXh0cmFjdC9leHRjb25mLmgKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGdl
bmVyYXRlZC9leHQvLXRlc3QtL2FycmF5L3Jlc2l6ZS9leHRjb25mLmgKPiAgY3JlYXRlIG1vZGUg
MTAwNjQ0IGdlbmVyYXRlZC9leHQvLXRlc3QtL2JpZ251bS9leHRjb25mLmgKPiAgY3JlYXRlIG1v
ZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvLXRlc3QtL2J1Zy0xNDgzNC9leHRjb25mLmgKPiAgY3Jl
YXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvLXRlc3QtL2J1Zy0zNTcxL2V4dGNvbmYuaAo+
ICBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC8tdGVzdC0vYnVnLTU4MzIvZXh0Y29u
Zi5oCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0Ly10ZXN0LS9idWdfcmVwb3J0
ZXIvZXh0Y29uZi5oCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0Ly10ZXN0LS9j
bGFzcy9leHRjb25mLmgKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvLXRlc3Qt
L2RlYnVnL2V4dGNvbmYuaAo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC8tdGVz
dC0vZGxuL2VtcHR5L2V4dGNvbmYuaAo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4
dC8tdGVzdC0vZXhjZXB0aW9uL2V4dGNvbmYuaAo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJh
dGVkL2V4dC8tdGVzdC0vZmF0YWwvZXh0Y29uZi5oCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5l
cmF0ZWQvZXh0Ly10ZXN0LS9maWxlL2V4dGNvbmYuaAo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZ2Vu
ZXJhdGVkL2V4dC8tdGVzdC0vZmxvYXQvZXh0Y29uZi5oCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBn
ZW5lcmF0ZWQvZXh0Ly10ZXN0LS9mdW5jYWxsL2V4dGNvbmYuaAo+ICBjcmVhdGUgbW9kZSAxMDA2
NDQgZ2VuZXJhdGVkL2V4dC8tdGVzdC0vZ3ZsL2NhbGxfd2l0aG91dF9ndmwvZXh0Y29uZi5oCj4g
IGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0Ly10ZXN0LS9oYXNoL2V4dGNvbmYuaAo+
ICBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC8tdGVzdC0vaW50ZWdlci9leHRjb25m
LmgKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvLXRlc3QtL2lzZXFfbG9hZC9l
eHRjb25mLmgKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvLXRlc3QtL2l0ZXIv
ZXh0Y29uZi5oCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0Ly10ZXN0LS9sb2Fk
L2RvdC5kb3QvZXh0Y29uZi5oCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0Ly10
ZXN0LS9sb2FkL3Byb3RlY3QvZXh0Y29uZi5oCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0
ZWQvZXh0Ly10ZXN0LS9tYXJzaGFsL2NvbXBhdC9leHRjb25mLmgKPiAgY3JlYXRlIG1vZGUgMTAw
NjQ0IGdlbmVyYXRlZC9leHQvLXRlc3QtL21hcnNoYWwvaW50ZXJuYWxfaXZhci9leHRjb25mLmgK
PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvLXRlc3QtL21hcnNoYWwvdXNyL2V4
dGNvbmYuaAo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC8tdGVzdC0vbWV0aG9k
L2V4dGNvbmYuaAo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC8tdGVzdC0vbm90
aW1wbGVtZW50L2V4dGNvbmYuaAo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC8t
dGVzdC0vbnVtMmludC9leHRjb25mLmgKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9l
eHQvLXRlc3QtL3BhdGhfdG9fY2xhc3MvZXh0Y29uZi5oCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBn
ZW5lcmF0ZWQvZXh0Ly10ZXN0LS9wb3Blbl9kZWFkbG9jay9leHRjb25mLmgKPiAgY3JlYXRlIG1v
ZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvLXRlc3QtL3Bvc3Rwb25lZF9qb2IvZXh0Y29uZi5oCj4g
IGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0Ly10ZXN0LS9wcmludGYvZXh0Y29uZi5o
Cj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0Ly10ZXN0LS9wcm9jL2V4dGNvbmYu
aAo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC8tdGVzdC0vcmF0aW9uYWwvZXh0
Y29uZi5oCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0Ly10ZXN0LS9yZWN1cnNp
b24vZXh0Y29uZi5oCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0Ly10ZXN0LS9y
ZWdleHAvZXh0Y29uZi5oCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0Ly10ZXN0
LS9zY2FuX2FyZ3MvZXh0Y29uZi5oCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0
Ly10ZXN0LS9zdC9mb3JlYWNoL2V4dGNvbmYuaAo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJh
dGVkL2V4dC8tdGVzdC0vc3QvbnVtaGFzaC9leHRjb25mLmgKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0
IGdlbmVyYXRlZC9leHQvLXRlc3QtL3N0L3VwZGF0ZS9leHRjb25mLmgKPiAgY3JlYXRlIG1vZGUg
MTAwNjQ0IGdlbmVyYXRlZC9leHQvLXRlc3QtL3N0cmluZy9leHRjb25mLmgKPiAgY3JlYXRlIG1v
ZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvLXRlc3QtL3N0cnVjdC9leHRjb25mLmgKPiAgY3JlYXRl
IG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvLXRlc3QtL3N5bWJvbC9leHRjb25mLmgKPiAgY3Jl
YXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvLXRlc3QtL3RocmVhZF9mZF9jbG9zZS9leHRj
b25mLmgKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvLXRlc3QtL3RpbWUvZXh0
Y29uZi5oCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0Ly10ZXN0LS90cmFjZXBv
aW50L2V4dGNvbmYuaAo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC8tdGVzdC0v
dHlwZWRkYXRhL2V4dGNvbmYuaAo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC8t
dGVzdC0vdm0vZXh0Y29uZi5oCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0Ly10
ZXN0LS93YWl0X2Zvcl9zaW5nbGVfZmQvZXh0Y29uZi5oCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBn
ZW5lcmF0ZWQvZXh0L2JpZ2RlY2ltYWwvZXh0Y29uZi5oCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBn
ZW5lcmF0ZWQvZXh0L2JpZ2RlY2ltYWwvdXRpbC9leHRjb25mLmgKPiAgY3JlYXRlIG1vZGUgMTAw
NjQ0IGdlbmVyYXRlZC9leHQvY2dpL2VzY2FwZS9leHRjb25mLmgKPiAgY3JlYXRlIG1vZGUgMTAw
NjQ0IGdlbmVyYXRlZC9leHQvY29udGludWF0aW9uL2V4dGNvbmYuaAo+ICBjcmVhdGUgbW9kZSAx
MDA2NDQgZ2VuZXJhdGVkL2V4dC9jb3ZlcmFnZS9leHRjb25mLmgKPiAgY3JlYXRlIG1vZGUgMTAw
NjQ0IGdlbmVyYXRlZC9leHQvZGF0ZS9leHRjb25mLmgKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGdl
bmVyYXRlZC9leHQvZGlnZXN0L2J1YmJsZWJhYmJsZS9leHRjb25mLmgKPiAgY3JlYXRlIG1vZGUg
MTAwNjQ0IGdlbmVyYXRlZC9leHQvZGlnZXN0L2V4dGNvbmYuaAo+ICBjcmVhdGUgbW9kZSAxMDA2
NDQgZ2VuZXJhdGVkL2V4dC9kaWdlc3QvbWQ1L2V4dGNvbmYuaAo+ICBjcmVhdGUgbW9kZSAxMDA2
NDQgZ2VuZXJhdGVkL2V4dC9kaWdlc3Qvcm1kMTYwL2V4dGNvbmYuaAo+ICBjcmVhdGUgbW9kZSAx
MDA2NDQgZ2VuZXJhdGVkL2V4dC9kaWdlc3Qvc2hhMS9leHRjb25mLmgKPiAgY3JlYXRlIG1vZGUg
MTAwNjQ0IGdlbmVyYXRlZC9leHQvZGlnZXN0L3NoYTIvZXh0Y29uZi5oCj4gIGNyZWF0ZSBtb2Rl
IDEwMDY0NCBnZW5lcmF0ZWQvZXh0L2V0Yy9leHRjb25mLmgKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0
IGdlbmVyYXRlZC9leHQvZXh0aW5pdC5jCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQv
ZXh0L2ZjbnRsL2V4dGNvbmYuaAo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC9m
aWJlci9leHRjb25mLmgKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvZmlkZGxl
L2V4dGNvbmYuaAo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC9pby9jb25zb2xl
L2V4dGNvbmYuaAo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC9pby9ub25ibG9j
ay9leHRjb25mLmgKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvaW8vd2FpdC9l
eHRjb25mLmgKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvanNvbi9leHRjb25m
LmgKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvanNvbi9nZW5lcmF0b3IvZXh0
Y29uZi5oCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0L2pzb24vcGFyc2VyL2V4
dGNvbmYuaAo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC9ua2YvZXh0Y29uZi5o
Cj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0L29ianNwYWNlL2V4dGNvbmYuaAo+
ICBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC9vcGVuc3NsL2V4dGNvbmYuaAo+ICBj
cmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC9wYXRobmFtZS9leHRjb25mLmgKPiAgY3Jl
YXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvcHN5Y2gvZXh0Y29uZi5oCj4gIGNyZWF0ZSBt
b2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0L3BzeWNoL3BzeWNoLmgKPiAgY3JlYXRlIG1vZGUgMTAw
NjQ0IGdlbmVyYXRlZC9leHQvcHN5Y2gvcHN5Y2hfZW1pdHRlci5oCj4gIGNyZWF0ZSBtb2RlIDEw
MDY0NCBnZW5lcmF0ZWQvZXh0L3BzeWNoL3BzeWNoX3BhcnNlci5oCj4gIGNyZWF0ZSBtb2RlIDEw
MDY0NCBnZW5lcmF0ZWQvZXh0L3BzeWNoL3BzeWNoX3RvX3J1YnkuaAo+ICBjcmVhdGUgbW9kZSAx
MDA2NDQgZ2VuZXJhdGVkL2V4dC9wc3ljaC9wc3ljaF95YW1sX3RyZWUuaAo+ICBjcmVhdGUgbW9k
ZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC9wc3ljaC95YW1sL2NvbmZpZy5oCj4gIGNyZWF0ZSBtb2Rl
IDEwMDY0NCBnZW5lcmF0ZWQvZXh0L3BzeWNoL3lhbWwveWFtbC5oCj4gIGNyZWF0ZSBtb2RlIDEw
MDY0NCBnZW5lcmF0ZWQvZXh0L3B0eS9leHRjb25mLmgKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGdl
bmVyYXRlZC9leHQvcmFjYy9jcGFyc2UvZXh0Y29uZi5oCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBn
ZW5lcmF0ZWQvZXh0L3JiY29uZmlnL3NpemVvZi9leHRjb25mLmgKPiAgY3JlYXRlIG1vZGUgMTAw
NjQ0IGdlbmVyYXRlZC9leHQvcmlwcGVyL2V4dGNvbmYuaAo+ICBjcmVhdGUgbW9kZSAxMDA2NDQg
Z2VuZXJhdGVkL2V4dC9ydWJ5dm0vZXh0Y29uZi5oCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5l
cmF0ZWQvZXh0L3NkYm0vZXh0Y29uZi5oCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQv
ZXh0L3NvY2tldC9leHRjb25mLmgKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQv
c3RyaW5naW8vZXh0Y29uZi5oCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0L3N0
cnNjYW4vZXh0Y29uZi5oCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0L3N5c2xv
Zy9leHRjb25mLmgKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9leHQvemxpYi9leHRj
b25mLmgKPgo+IGRpZmYgLS1naXQgYS9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS9hcml0aF9zZXEvZXh0
cmFjdC9leHRjb25mLmggYi9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS9hcml0aF9zZXEvZXh0cmFjdC9l
eHRjb25mLmgKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAuLmNkYTBjYzgK
PiAtLS0gL2Rldi9udWxsCj4gKysrIGIvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vYXJpdGhfc2VxL2V4
dHJhY3QvZXh0Y29uZi5oCj4gQEAgLTAsMCArMSwzIEBACj4gKyNpZm5kZWYgRVhUQ09ORl9ICj4g
KyNkZWZpbmUgRVhUQ09ORl9ICj4gKyNlbmRpZgo+IGRpZmYgLS1naXQgYS9nZW5lcmF0ZWQvZXh0
Ly10ZXN0LS9hcnJheS9yZXNpemUvZXh0Y29uZi5oIGIvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vYXJy
YXkvcmVzaXplL2V4dGNvbmYuaAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAw
MC4uY2RhMGNjOAo+IC0tLSAvZGV2L251bGwKPiArKysgYi9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS9h
cnJheS9yZXNpemUvZXh0Y29uZi5oCj4gQEAgLTAsMCArMSwzIEBACj4gKyNpZm5kZWYgRVhUQ09O
Rl9ICj4gKyNkZWZpbmUgRVhUQ09ORl9ICj4gKyNlbmRpZgo+IGRpZmYgLS1naXQgYS9nZW5lcmF0
ZWQvZXh0Ly10ZXN0LS9iaWdudW0vZXh0Y29uZi5oIGIvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vYmln
bnVtL2V4dGNvbmYuaAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMC4uOGNl
Y2MzZAo+IC0tLSAvZGV2L251bGwKPiArKysgYi9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS9iaWdudW0v
ZXh0Y29uZi5oCj4gQEAgLTAsMCArMSw0IEBACj4gKyNpZm5kZWYgRVhUQ09ORl9ICj4gKyNkZWZp
bmUgRVhUQ09ORl9ICj4gKyNkZWZpbmUgVEVTVF9JTklUX0ZVTkNTKFgpIFgoYmlnemVybykgWChz
dHIyYmlnKSBYKG11bCkgWChkaXYpIFgoYmlnMnN0cikgWChpbnRwYWNrKQo+ICsjZW5kaWYKPiBk
aWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vYnVnLTE0ODM0L2V4dGNvbmYuaCBiL2dl
bmVyYXRlZC9leHQvLXRlc3QtL2J1Zy0xNDgzNC9leHRjb25mLmgKPiBuZXcgZmlsZSBtb2RlIDEw
MDY0NAo+IGluZGV4IDAwMDAwMDAuLmNkYTBjYzgKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvZ2Vu
ZXJhdGVkL2V4dC8tdGVzdC0vYnVnLTE0ODM0L2V4dGNvbmYuaAo+IEBAIC0wLDAgKzEsMyBAQAo+
ICsjaWZuZGVmIEVYVENPTkZfSAo+ICsjZGVmaW5lIEVYVENPTkZfSAo+ICsjZW5kaWYKPiBkaWZm
IC0tZ2l0IGEvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vYnVnLTM1NzEvZXh0Y29uZi5oIGIvZ2VuZXJh
dGVkL2V4dC8tdGVzdC0vYnVnLTM1NzEvZXh0Y29uZi5oCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQK
PiBpbmRleCAwMDAwMDAwLi5jZGEwY2M4Cj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2dlbmVyYXRl
ZC9leHQvLXRlc3QtL2J1Zy0zNTcxL2V4dGNvbmYuaAo+IEBAIC0wLDAgKzEsMyBAQAo+ICsjaWZu
ZGVmIEVYVENPTkZfSAo+ICsjZGVmaW5lIEVYVENPTkZfSAo+ICsjZW5kaWYKPiBkaWZmIC0tZ2l0
IGEvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vYnVnLTU4MzIvZXh0Y29uZi5oIGIvZ2VuZXJhdGVkL2V4
dC8tdGVzdC0vYnVnLTU4MzIvZXh0Y29uZi5oCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRl
eCAwMDAwMDAwLi5jZGEwY2M4Cj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2dlbmVyYXRlZC9leHQv
LXRlc3QtL2J1Zy01ODMyL2V4dGNvbmYuaAo+IEBAIC0wLDAgKzEsMyBAQAo+ICsjaWZuZGVmIEVY
VENPTkZfSAo+ICsjZGVmaW5lIEVYVENPTkZfSAo+ICsjZW5kaWYKPiBkaWZmIC0tZ2l0IGEvZ2Vu
ZXJhdGVkL2V4dC8tdGVzdC0vYnVnX3JlcG9ydGVyL2V4dGNvbmYuaCBiL2dlbmVyYXRlZC9leHQv
LXRlc3QtL2J1Z19yZXBvcnRlci9leHRjb25mLmgKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGlu
ZGV4IDAwMDAwMDAuLmNkYTBjYzgKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvZ2VuZXJhdGVkL2V4
dC8tdGVzdC0vYnVnX3JlcG9ydGVyL2V4dGNvbmYuaAo+IEBAIC0wLDAgKzEsMyBAQAo+ICsjaWZu
ZGVmIEVYVENPTkZfSAo+ICsjZGVmaW5lIEVYVENPTkZfSAo+ICsjZW5kaWYKPiBkaWZmIC0tZ2l0
IGEvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vY2xhc3MvZXh0Y29uZi5oIGIvZ2VuZXJhdGVkL2V4dC8t
dGVzdC0vY2xhc3MvZXh0Y29uZi5oCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAw
MDAwLi5hNjU2NjZlCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2dlbmVyYXRlZC9leHQvLXRlc3Qt
L2NsYXNzL2V4dGNvbmYuaAo+IEBAIC0wLDAgKzEsNCBAQAo+ICsjaWZuZGVmIEVYVENPTkZfSAo+
ICsjZGVmaW5lIEVYVENPTkZfSAo+ICsjZGVmaW5lIFRFU1RfSU5JVF9GVU5DUyhYKSBYKGNsYXNz
Mm5hbWUpCj4gKyNlbmRpZgo+IGRpZmYgLS1naXQgYS9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS9kZWJ1
Zy9leHRjb25mLmggYi9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS9kZWJ1Zy9leHRjb25mLmgKPiBuZXcg
ZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAuLjczZmMxMDMKPiAtLS0gL2Rldi9udWxs
Cj4gKysrIGIvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vZGVidWcvZXh0Y29uZi5oCj4gQEAgLTAsMCAr
MSw0IEBACj4gKyNpZm5kZWYgRVhUQ09ORl9ICj4gKyNkZWZpbmUgRVhUQ09ORl9ICj4gKyNkZWZp
bmUgVEVTVF9JTklUX0ZVTkNTKFgpIFgocHJvZmlsZV9mcmFtZXMpIFgoaW5zcGVjdG9yKQo+ICsj
ZW5kaWYKPiBkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vZGxuL2VtcHR5L2V4dGNv
bmYuaCBiL2dlbmVyYXRlZC9leHQvLXRlc3QtL2Rsbi9lbXB0eS9leHRjb25mLmgKPiBuZXcgZmls
ZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAuLmNkYTBjYzgKPiAtLS0gL2Rldi9udWxsCj4g
KysrIGIvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vZGxuL2VtcHR5L2V4dGNvbmYuaAo+IEBAIC0wLDAg
KzEsMyBAQAo+ICsjaWZuZGVmIEVYVENPTkZfSAo+ICsjZGVmaW5lIEVYVENPTkZfSAo+ICsjZW5k
aWYKPiBkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vZXhjZXB0aW9uL2V4dGNvbmYu
aCBiL2dlbmVyYXRlZC9leHQvLXRlc3QtL2V4Y2VwdGlvbi9leHRjb25mLmgKPiBuZXcgZmlsZSBt
b2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAuLmUxYTI4MzIKPiAtLS0gL2Rldi9udWxsCj4gKysr
IGIvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vZXhjZXB0aW9uL2V4dGNvbmYuaAo+IEBAIC0wLDAgKzEs
NCBAQAo+ICsjaWZuZGVmIEVYVENPTkZfSAo+ICsjZGVmaW5lIEVYVENPTkZfSAo+ICsjZGVmaW5l
IFRFU1RfSU5JVF9GVU5DUyhYKSBYKGVuc3VyZWQpIFgoZW5jX3JhaXNlKSBYKGRhdGFlcnJvcikK
PiArI2VuZGlmCj4gZGlmZiAtLWdpdCBhL2dlbmVyYXRlZC9leHQvLXRlc3QtL2ZhdGFsL2V4dGNv
bmYuaCBiL2dlbmVyYXRlZC9leHQvLXRlc3QtL2ZhdGFsL2V4dGNvbmYuaAo+IG5ldyBmaWxlIG1v
ZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMC4uY2RhMGNjOAo+IC0tLSAvZGV2L251bGwKPiArKysg
Yi9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS9mYXRhbC9leHRjb25mLmgKPiBAQCAtMCwwICsxLDMgQEAK
PiArI2lmbmRlZiBFWFRDT05GX0gKPiArI2RlZmluZSBFWFRDT05GX0gKPiArI2VuZGlmCj4gZGlm
ZiAtLWdpdCBhL2dlbmVyYXRlZC9leHQvLXRlc3QtL2ZpbGUvZXh0Y29uZi5oIGIvZ2VuZXJhdGVk
L2V4dC8tdGVzdC0vZmlsZS9leHRjb25mLmgKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4
IDAwMDAwMDAuLjMwNTFiMDMKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvZ2VuZXJhdGVkL2V4dC8t
dGVzdC0vZmlsZS9leHRjb25mLmgKPiBAQCAtMCwwICsxLDE0IEBACj4gKyNpZm5kZWYgRVhUQ09O
Rl9ICj4gKyNkZWZpbmUgRVhUQ09ORl9ICj4gKyNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCj4g
KyNkZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAxCj4gKyNkZWZpbmUgSEFWRV9TWVNfVkZTX0ggMQo+
ICsjZGVmaW5lIEhBVkVfVFlQRV9TVFJVQ1RfU1RBVEZTIDEKPiArI2RlZmluZSBIQVZFX1NUUlVD
VF9TVEFURlNfRl9UWVBFIDEKPiArI2RlZmluZSBIQVZFX1NUX0ZfVFlQRSAxCj4gKyNkZWZpbmUg
SEFWRV9TVFJVQ1RfU1RBVEZTX0ZfRkxBR1MgMQo+ICsjZGVmaW5lIEhBVkVfU1RfRl9GTEFHUyAx
Cj4gKyNkZWZpbmUgSEFWRV9TWVNfU1RBVFZGU19IIDEKPiArI2RlZmluZSBIQVZFX1RZUEVfU1RS
VUNUX1NUQVRWRlMgMQo+ICsjZGVmaW5lIFRFU1RfSU5JVF9GVU5DUyhYKSBYKGZzKSBYKHN0YXQp
Cj4gKyNlbmRpZgo+IGRpZmYgLS1naXQgYS9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS9mbG9hdC9leHRj
b25mLmggYi9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS9mbG9hdC9leHRjb25mLmgKPiBuZXcgZmlsZSBt
b2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAuLjJlODQ2ZDIKPiAtLS0gL2Rldi9udWxsCj4gKysr
IGIvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vZmxvYXQvZXh0Y29uZi5oCj4gQEAgLTAsMCArMSw0IEBA
Cj4gKyNpZm5kZWYgRVhUQ09ORl9ICj4gKyNkZWZpbmUgRVhUQ09ORl9ICj4gKyNkZWZpbmUgVEVT
VF9JTklUX0ZVTkNTKFgpIFgobmV4dGFmdGVyKQo+ICsjZW5kaWYKPiBkaWZmIC0tZ2l0IGEvZ2Vu
ZXJhdGVkL2V4dC8tdGVzdC0vZnVuY2FsbC9leHRjb25mLmggYi9nZW5lcmF0ZWQvZXh0Ly10ZXN0
LS9mdW5jYWxsL2V4dGNvbmYuaAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAw
MC4uY2RhMGNjOAo+IC0tLSAvZGV2L251bGwKPiArKysgYi9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS9m
dW5jYWxsL2V4dGNvbmYuaAo+IEBAIC0wLDAgKzEsMyBAQAo+ICsjaWZuZGVmIEVYVENPTkZfSAo+
ICsjZGVmaW5lIEVYVENPTkZfSAo+ICsjZW5kaWYKPiBkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2V4
dC8tdGVzdC0vZ3ZsL2NhbGxfd2l0aG91dF9ndmwvZXh0Y29uZi5oIGIvZ2VuZXJhdGVkL2V4dC8t
dGVzdC0vZ3ZsL2NhbGxfd2l0aG91dF9ndmwvZXh0Y29uZi5oCj4gbmV3IGZpbGUgbW9kZSAxMDA2
NDQKPiBpbmRleCAwMDAwMDAwLi5jZGEwY2M4Cj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2dlbmVy
YXRlZC9leHQvLXRlc3QtL2d2bC9jYWxsX3dpdGhvdXRfZ3ZsL2V4dGNvbmYuaAo+IEBAIC0wLDAg
KzEsMyBAQAo+ICsjaWZuZGVmIEVYVENPTkZfSAo+ICsjZGVmaW5lIEVYVENPTkZfSAo+ICsjZW5k
aWYKPiBkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vaGFzaC9leHRjb25mLmggYi9n
ZW5lcmF0ZWQvZXh0Ly10ZXN0LS9oYXNoL2V4dGNvbmYuaAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0
Cj4gaW5kZXggMDAwMDAwMC4uMWEwNDYwMAo+IC0tLSAvZGV2L251bGwKPiArKysgYi9nZW5lcmF0
ZWQvZXh0Ly10ZXN0LS9oYXNoL2V4dGNvbmYuaAo+IEBAIC0wLDAgKzEsNCBAQAo+ICsjaWZuZGVm
IEVYVENPTkZfSAo+ICsjZGVmaW5lIEVYVENPTkZfSAo+ICsjZGVmaW5lIFRFU1RfSU5JVF9GVU5D
UyhYKSBYKGRlbGV0ZSkKPiArI2VuZGlmCj4gZGlmZiAtLWdpdCBhL2dlbmVyYXRlZC9leHQvLXRl
c3QtL2ludGVnZXIvZXh0Y29uZi5oIGIvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vaW50ZWdlci9leHRj
b25mLmgKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAuLjJhMmU1NmEKPiAt
LS0gL2Rldi9udWxsCj4gKysrIGIvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vaW50ZWdlci9leHRjb25m
LmgKPiBAQCAtMCwwICsxLDQgQEAKPiArI2lmbmRlZiBFWFRDT05GX0gKPiArI2RlZmluZSBFWFRD
T05GX0gKPiArI2RlZmluZSBURVNUX0lOSVRfRlVOQ1MoWCkgWChjb3JlX2V4dCkgWChteV9pbnRl
Z2VyKQo+ICsjZW5kaWYKPiBkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vaXNlcV9s
b2FkL2V4dGNvbmYuaCBiL2dlbmVyYXRlZC9leHQvLXRlc3QtL2lzZXFfbG9hZC9leHRjb25mLmgK
PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAuLmNkYTBjYzgKPiAtLS0gL2Rl
di9udWxsCj4gKysrIGIvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vaXNlcV9sb2FkL2V4dGNvbmYuaAo+
IEBAIC0wLDAgKzEsMyBAQAo+ICsjaWZuZGVmIEVYVENPTkZfSAo+ICsjZGVmaW5lIEVYVENPTkZf
SAo+ICsjZW5kaWYKPiBkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vaXRlci9leHRj
b25mLmggYi9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS9pdGVyL2V4dGNvbmYuaAo+IG5ldyBmaWxlIG1v
ZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMC4uNjJhOTY3Nwo+IC0tLSAvZGV2L251bGwKPiArKysg
Yi9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS9pdGVyL2V4dGNvbmYuaAo+IEBAIC0wLDAgKzEsNCBAQAo+
ICsjaWZuZGVmIEVYVENPTkZfSAo+ICsjZGVmaW5lIEVYVENPTkZfSAo+ICsjZGVmaW5lIFRFU1Rf
SU5JVF9GVU5DUyhYKSBYKGJyZWFrKSBYKHlpZWxkKQo+ICsjZW5kaWYKPiBkaWZmIC0tZ2l0IGEv
Z2VuZXJhdGVkL2V4dC8tdGVzdC0vbG9hZC9kb3QuZG90L2V4dGNvbmYuaCBiL2dlbmVyYXRlZC9l
eHQvLXRlc3QtL2xvYWQvZG90LmRvdC9leHRjb25mLmgKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+
IGluZGV4IDAwMDAwMDAuLmNkYTBjYzgKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvZ2VuZXJhdGVk
L2V4dC8tdGVzdC0vbG9hZC9kb3QuZG90L2V4dGNvbmYuaAo+IEBAIC0wLDAgKzEsMyBAQAo+ICsj
aWZuZGVmIEVYVENPTkZfSAo+ICsjZGVmaW5lIEVYVENPTkZfSAo+ICsjZW5kaWYKPiBkaWZmIC0t
Z2l0IGEvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vbG9hZC9wcm90ZWN0L2V4dGNvbmYuaCBiL2dlbmVy
YXRlZC9leHQvLXRlc3QtL2xvYWQvcHJvdGVjdC9leHRjb25mLmgKPiBuZXcgZmlsZSBtb2RlIDEw
MDY0NAo+IGluZGV4IDAwMDAwMDAuLmNkYTBjYzgKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvZ2Vu
ZXJhdGVkL2V4dC8tdGVzdC0vbG9hZC9wcm90ZWN0L2V4dGNvbmYuaAo+IEBAIC0wLDAgKzEsMyBA
QAo+ICsjaWZuZGVmIEVYVENPTkZfSAo+ICsjZGVmaW5lIEVYVENPTkZfSAo+ICsjZW5kaWYKPiBk
aWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vbWFyc2hhbC9jb21wYXQvZXh0Y29uZi5o
IGIvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vbWFyc2hhbC9jb21wYXQvZXh0Y29uZi5oCj4gbmV3IGZp
bGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi5jZGEwY2M4Cj4gLS0tIC9kZXYvbnVsbAo+
ICsrKyBiL2dlbmVyYXRlZC9leHQvLXRlc3QtL21hcnNoYWwvY29tcGF0L2V4dGNvbmYuaAo+IEBA
IC0wLDAgKzEsMyBAQAo+ICsjaWZuZGVmIEVYVENPTkZfSAo+ICsjZGVmaW5lIEVYVENPTkZfSAo+
ICsjZW5kaWYKPiBkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vbWFyc2hhbC9pbnRl
cm5hbF9pdmFyL2V4dGNvbmYuaCBiL2dlbmVyYXRlZC9leHQvLXRlc3QtL21hcnNoYWwvaW50ZXJu
YWxfaXZhci9leHRjb25mLmgKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAu
LmNkYTBjYzgKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vbWFy
c2hhbC9pbnRlcm5hbF9pdmFyL2V4dGNvbmYuaAo+IEBAIC0wLDAgKzEsMyBAQAo+ICsjaWZuZGVm
IEVYVENPTkZfSAo+ICsjZGVmaW5lIEVYVENPTkZfSAo+ICsjZW5kaWYKPiBkaWZmIC0tZ2l0IGEv
Z2VuZXJhdGVkL2V4dC8tdGVzdC0vbWFyc2hhbC91c3IvZXh0Y29uZi5oIGIvZ2VuZXJhdGVkL2V4
dC8tdGVzdC0vbWFyc2hhbC91c3IvZXh0Y29uZi5oCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBp
bmRleCAwMDAwMDAwLi5jZGEwY2M4Cj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2dlbmVyYXRlZC9l
eHQvLXRlc3QtL21hcnNoYWwvdXNyL2V4dGNvbmYuaAo+IEBAIC0wLDAgKzEsMyBAQAo+ICsjaWZu
ZGVmIEVYVENPTkZfSAo+ICsjZGVmaW5lIEVYVENPTkZfSAo+ICsjZW5kaWYKPiBkaWZmIC0tZ2l0
IGEvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vbWV0aG9kL2V4dGNvbmYuaCBiL2dlbmVyYXRlZC9leHQv
LXRlc3QtL21ldGhvZC9leHRjb25mLmgKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAw
MDAwMDAuLjA1ZjljNmUKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvZ2VuZXJhdGVkL2V4dC8tdGVz
dC0vbWV0aG9kL2V4dGNvbmYuaAo+IEBAIC0wLDAgKzEsNCBAQAo+ICsjaWZuZGVmIEVYVENPTkZf
SAo+ICsjZGVmaW5lIEVYVENPTkZfSAo+ICsjZGVmaW5lIFRFU1RfSU5JVF9GVU5DUyhYKSBYKGFy
aXR5KQo+ICsjZW5kaWYKPiBkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vbm90aW1w
bGVtZW50L2V4dGNvbmYuaCBiL2dlbmVyYXRlZC9leHQvLXRlc3QtL25vdGltcGxlbWVudC9leHRj
b25mLmgKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAuLmNkYTBjYzgKPiAt
LS0gL2Rldi9udWxsCj4gKysrIGIvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vbm90aW1wbGVtZW50L2V4
dGNvbmYuaAo+IEBAIC0wLDAgKzEsMyBAQAo+ICsjaWZuZGVmIEVYVENPTkZfSAo+ICsjZGVmaW5l
IEVYVENPTkZfSAo+ICsjZW5kaWYKPiBkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2V4dC8tdGVzdC0v
bnVtMmludC9leHRjb25mLmggYi9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS9udW0yaW50L2V4dGNvbmYu
aAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMC4uY2RhMGNjOAo+IC0tLSAv
ZGV2L251bGwKPiArKysgYi9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS9udW0yaW50L2V4dGNvbmYuaAo+
IEBAIC0wLDAgKzEsMyBAQAo+ICsjaWZuZGVmIEVYVENPTkZfSAo+ICsjZGVmaW5lIEVYVENPTkZf
SAo+ICsjZW5kaWYKPiBkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vcGF0aF90b19j
bGFzcy9leHRjb25mLmggYi9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS9wYXRoX3RvX2NsYXNzL2V4dGNv
bmYuaAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMC4uODIxYjQ5Ngo+IC0t
LSAvZGV2L251bGwKPiArKysgYi9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS9wYXRoX3RvX2NsYXNzL2V4
dGNvbmYuaAo+IEBAIC0wLDAgKzEsNCBAQAo+ICsjaWZuZGVmIEVYVENPTkZfSAo+ICsjZGVmaW5l
IEVYVENPTkZfSAo+ICsjZGVmaW5lIFRFU1RfSU5JVF9GVU5DUyhYKSBYKHBhdGhfdG9fY2xhc3Mp
Cj4gKyNlbmRpZgo+IGRpZmYgLS1naXQgYS9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS9wb3Blbl9kZWFk
bG9jay9leHRjb25mLmggYi9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS9wb3Blbl9kZWFkbG9jay9leHRj
b25mLmgKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAuLmNkYTBjYzgKPiAt
LS0gL2Rldi9udWxsCj4gKysrIGIvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vcG9wZW5fZGVhZGxvY2sv
ZXh0Y29uZi5oCj4gQEAgLTAsMCArMSwzIEBACj4gKyNpZm5kZWYgRVhUQ09ORl9ICj4gKyNkZWZp
bmUgRVhUQ09ORl9ICj4gKyNlbmRpZgo+IGRpZmYgLS1naXQgYS9nZW5lcmF0ZWQvZXh0Ly10ZXN0
LS9wb3N0cG9uZWRfam9iL2V4dGNvbmYuaCBiL2dlbmVyYXRlZC9leHQvLXRlc3QtL3Bvc3Rwb25l
ZF9qb2IvZXh0Y29uZi5oCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi5j
ZGEwY2M4Cj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2dlbmVyYXRlZC9leHQvLXRlc3QtL3Bvc3Rw
b25lZF9qb2IvZXh0Y29uZi5oCj4gQEAgLTAsMCArMSwzIEBACj4gKyNpZm5kZWYgRVhUQ09ORl9I
Cj4gKyNkZWZpbmUgRVhUQ09ORl9ICj4gKyNlbmRpZgo+IGRpZmYgLS1naXQgYS9nZW5lcmF0ZWQv
ZXh0Ly10ZXN0LS9wcmludGYvZXh0Y29uZi5oIGIvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vcHJpbnRm
L2V4dGNvbmYuaAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMC4uY2RhMGNj
OAo+IC0tLSAvZGV2L251bGwKPiArKysgYi9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS9wcmludGYvZXh0
Y29uZi5oCj4gQEAgLTAsMCArMSwzIEBACj4gKyNpZm5kZWYgRVhUQ09ORl9ICj4gKyNkZWZpbmUg
RVhUQ09ORl9ICj4gKyNlbmRpZgo+IGRpZmYgLS1naXQgYS9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS9w
cm9jL2V4dGNvbmYuaCBiL2dlbmVyYXRlZC9leHQvLXRlc3QtL3Byb2MvZXh0Y29uZi5oCj4gbmV3
IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi4wZGFhMjliCj4gLS0tIC9kZXYvbnVs
bAo+ICsrKyBiL2dlbmVyYXRlZC9leHQvLXRlc3QtL3Byb2MvZXh0Y29uZi5oCj4gQEAgLTAsMCAr
MSw0IEBACj4gKyNpZm5kZWYgRVhUQ09ORl9ICj4gKyNkZWZpbmUgRVhUQ09ORl9ICj4gKyNkZWZp
bmUgVEVTVF9JTklUX0ZVTkNTKFgpIFgocmVjZWl2ZXIpIFgoc3VwZXIpCj4gKyNlbmRpZgo+IGRp
ZmYgLS1naXQgYS9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS9yYXRpb25hbC9leHRjb25mLmggYi9nZW5l
cmF0ZWQvZXh0Ly10ZXN0LS9yYXRpb25hbC9leHRjb25mLmgKPiBuZXcgZmlsZSBtb2RlIDEwMDY0
NAo+IGluZGV4IDAwMDAwMDAuLmViYjM2YzUKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvZ2VuZXJh
dGVkL2V4dC8tdGVzdC0vcmF0aW9uYWwvZXh0Y29uZi5oCj4gQEAgLTAsMCArMSw0IEBACj4gKyNp
Zm5kZWYgRVhUQ09ORl9ICj4gKyNkZWZpbmUgRVhUQ09ORl9ICj4gKyNkZWZpbmUgVEVTVF9JTklU
X0ZVTkNTKFgpIFgocmF0KQo+ICsjZW5kaWYKPiBkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2V4dC8t
dGVzdC0vcmVjdXJzaW9uL2V4dGNvbmYuaCBiL2dlbmVyYXRlZC9leHQvLXRlc3QtL3JlY3Vyc2lv
bi9leHRjb25mLmgKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAuLmNkYTBj
YzgKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vcmVjdXJzaW9u
L2V4dGNvbmYuaAo+IEBAIC0wLDAgKzEsMyBAQAo+ICsjaWZuZGVmIEVYVENPTkZfSAo+ICsjZGVm
aW5lIEVYVENPTkZfSAo+ICsjZW5kaWYKPiBkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2V4dC8tdGVz
dC0vcmVnZXhwL2V4dGNvbmYuaCBiL2dlbmVyYXRlZC9leHQvLXRlc3QtL3JlZ2V4cC9leHRjb25m
LmgKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAuLjk4MzRiZGMKPiAtLS0g
L2Rldi9udWxsCj4gKysrIGIvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vcmVnZXhwL2V4dGNvbmYuaAo+
IEBAIC0wLDAgKzEsNCBAQAo+ICsjaWZuZGVmIEVYVENPTkZfSAo+ICsjZGVmaW5lIEVYVENPTkZf
SAo+ICsjZGVmaW5lIFRFU1RfSU5JVF9GVU5DUyhYKSBYKHBhcnNlX2RlcHRoX2xpbWl0KQo+ICsj
ZW5kaWYKPiBkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vc2Nhbl9hcmdzL2V4dGNv
bmYuaCBiL2dlbmVyYXRlZC9leHQvLXRlc3QtL3NjYW5fYXJncy9leHRjb25mLmgKPiBuZXcgZmls
ZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAuLmNkYTBjYzgKPiAtLS0gL2Rldi9udWxsCj4g
KysrIGIvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vc2Nhbl9hcmdzL2V4dGNvbmYuaAo+IEBAIC0wLDAg
KzEsMyBAQAo+ICsjaWZuZGVmIEVYVENPTkZfSAo+ICsjZGVmaW5lIEVYVENPTkZfSAo+ICsjZW5k
aWYKPiBkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vc3QvZm9yZWFjaC9leHRjb25m
LmggYi9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS9zdC9mb3JlYWNoL2V4dGNvbmYuaAo+IG5ldyBmaWxl
IG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMC4uY2RhMGNjOAo+IC0tLSAvZGV2L251bGwKPiAr
KysgYi9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS9zdC9mb3JlYWNoL2V4dGNvbmYuaAo+IEBAIC0wLDAg
KzEsMyBAQAo+ICsjaWZuZGVmIEVYVENPTkZfSAo+ICsjZGVmaW5lIEVYVENPTkZfSAo+ICsjZW5k
aWYKPiBkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vc3QvbnVtaGFzaC9leHRjb25m
LmggYi9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS9zdC9udW1oYXNoL2V4dGNvbmYuaAo+IG5ldyBmaWxl
IG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMC4uY2RhMGNjOAo+IC0tLSAvZGV2L251bGwKPiAr
KysgYi9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS9zdC9udW1oYXNoL2V4dGNvbmYuaAo+IEBAIC0wLDAg
KzEsMyBAQAo+ICsjaWZuZGVmIEVYVENPTkZfSAo+ICsjZGVmaW5lIEVYVENPTkZfSAo+ICsjZW5k
aWYKPiBkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vc3QvdXBkYXRlL2V4dGNvbmYu
aCBiL2dlbmVyYXRlZC9leHQvLXRlc3QtL3N0L3VwZGF0ZS9leHRjb25mLmgKPiBuZXcgZmlsZSBt
b2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAuLmNkYTBjYzgKPiAtLS0gL2Rldi9udWxsCj4gKysr
IGIvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vc3QvdXBkYXRlL2V4dGNvbmYuaAo+IEBAIC0wLDAgKzEs
MyBAQAo+ICsjaWZuZGVmIEVYVENPTkZfSAo+ICsjZGVmaW5lIEVYVENPTkZfSAo+ICsjZW5kaWYK
PiBkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vc3RyaW5nL2V4dGNvbmYuaCBiL2dl
bmVyYXRlZC9leHQvLXRlc3QtL3N0cmluZy9leHRjb25mLmgKPiBuZXcgZmlsZSBtb2RlIDEwMDY0
NAo+IGluZGV4IDAwMDAwMDAuLjNmOWFmNDQKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvZ2VuZXJh
dGVkL2V4dC8tdGVzdC0vc3RyaW5nL2V4dGNvbmYuaAo+IEBAIC0wLDAgKzEsNCBAQAo+ICsjaWZu
ZGVmIEVYVENPTkZfSAo+ICsjZGVmaW5lIEVYVENPTkZfSAo+ICsjZGVmaW5lIFRFU1RfSU5JVF9G
VU5DUyhYKSBYKHNldF9sZW4pIFgoY2FwYWNpdHkpIFgocmJfc3RyX2R1cCkgWChub3JtYWxpemUp
IFgoZW5jX3N0cl9idWZfY2F0KSBYKGNvZGVyYW5nZSkgWChlbmNfYXNzb2NpYXRlKSBYKGVsbGlw
c2l6ZSkgWChjc3RyKSBYKGZzdHJpbmcpIFgobm9mcmVlKSBYKHFzb3J0KSBYKG5ldykgWChtb2Rp
ZnkpCj4gKyNlbmRpZgo+IGRpZmYgLS1naXQgYS9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS9zdHJ1Y3Qv
ZXh0Y29uZi5oIGIvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vc3RydWN0L2V4dGNvbmYuaAo+IG5ldyBm
aWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMC4uZDYzOTJkYwo+IC0tLSAvZGV2L251bGwK
PiArKysgYi9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS9zdHJ1Y3QvZXh0Y29uZi5oCj4gQEAgLTAsMCAr
MSw0IEBACj4gKyNpZm5kZWYgRVhUQ09ORl9ICj4gKyNkZWZpbmUgRVhUQ09ORl9ICj4gKyNkZWZp
bmUgVEVTVF9JTklUX0ZVTkNTKFgpIFgobWVtYmVyKSBYKGR1cGxpY2F0ZSkgWChsZW4pCj4gKyNl
bmRpZgo+IGRpZmYgLS1naXQgYS9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS9zeW1ib2wvZXh0Y29uZi5o
IGIvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vc3ltYm9sL2V4dGNvbmYuaAo+IG5ldyBmaWxlIG1vZGUg
MTAwNjQ0Cj4gaW5kZXggMDAwMDAwMC4uY2I5MjNkYwo+IC0tLSAvZGV2L251bGwKPiArKysgYi9n
ZW5lcmF0ZWQvZXh0Ly10ZXN0LS9zeW1ib2wvZXh0Y29uZi5oCj4gQEAgLTAsMCArMSw0IEBACj4g
KyNpZm5kZWYgRVhUQ09ORl9ICj4gKyNkZWZpbmUgRVhUQ09ORl9ICj4gKyNkZWZpbmUgVEVTVF9J
TklUX0ZVTkNTKFgpIFgodHlwZSkKPiArI2VuZGlmCj4gZGlmZiAtLWdpdCBhL2dlbmVyYXRlZC9l
eHQvLXRlc3QtL3RocmVhZF9mZF9jbG9zZS9leHRjb25mLmggYi9nZW5lcmF0ZWQvZXh0Ly10ZXN0
LS90aHJlYWRfZmRfY2xvc2UvZXh0Y29uZi5oCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRl
eCAwMDAwMDAwLi5jZGEwY2M4Cj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2dlbmVyYXRlZC9leHQv
LXRlc3QtL3RocmVhZF9mZF9jbG9zZS9leHRjb25mLmgKPiBAQCAtMCwwICsxLDMgQEAKPiArI2lm
bmRlZiBFWFRDT05GX0gKPiArI2RlZmluZSBFWFRDT05GX0gKPiArI2VuZGlmCj4gZGlmZiAtLWdp
dCBhL2dlbmVyYXRlZC9leHQvLXRlc3QtL3RpbWUvZXh0Y29uZi5oIGIvZ2VuZXJhdGVkL2V4dC8t
dGVzdC0vdGltZS9leHRjb25mLmgKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAw
MDAuLmI2NzdhMGQKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvZ2VuZXJhdGVkL2V4dC8tdGVzdC0v
dGltZS9leHRjb25mLmgKPiBAQCAtMCwwICsxLDQgQEAKPiArI2lmbmRlZiBFWFRDT05GX0gKPiAr
I2RlZmluZSBFWFRDT05GX0gKPiArI2RlZmluZSBURVNUX0lOSVRfRlVOQ1MoWCkgWChsZWFwX3Nl
Y29uZCkgWChuZXcpCj4gKyNlbmRpZgo+IGRpZmYgLS1naXQgYS9nZW5lcmF0ZWQvZXh0Ly10ZXN0
LS90cmFjZXBvaW50L2V4dGNvbmYuaCBiL2dlbmVyYXRlZC9leHQvLXRlc3QtL3RyYWNlcG9pbnQv
ZXh0Y29uZi5oCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi5jZGEwY2M4
Cj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2dlbmVyYXRlZC9leHQvLXRlc3QtL3RyYWNlcG9pbnQv
ZXh0Y29uZi5oCj4gQEAgLTAsMCArMSwzIEBACj4gKyNpZm5kZWYgRVhUQ09ORl9ICj4gKyNkZWZp
bmUgRVhUQ09ORl9ICj4gKyNlbmRpZgo+IGRpZmYgLS1naXQgYS9nZW5lcmF0ZWQvZXh0Ly10ZXN0
LS90eXBlZGRhdGEvZXh0Y29uZi5oIGIvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vdHlwZWRkYXRhL2V4
dGNvbmYuaAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMC4uY2RhMGNjOAo+
IC0tLSAvZGV2L251bGwKPiArKysgYi9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS90eXBlZGRhdGEvZXh0
Y29uZi5oCj4gQEAgLTAsMCArMSwzIEBACj4gKyNpZm5kZWYgRVhUQ09ORl9ICj4gKyNkZWZpbmUg
RVhUQ09ORl9ICj4gKyNlbmRpZgo+IGRpZmYgLS1naXQgYS9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS92
bS9leHRjb25mLmggYi9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS92bS9leHRjb25mLmgKPiBuZXcgZmls
ZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAuLmNkYTBjYzgKPiAtLS0gL2Rldi9udWxsCj4g
KysrIGIvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vdm0vZXh0Y29uZi5oCj4gQEAgLTAsMCArMSwzIEBA
Cj4gKyNpZm5kZWYgRVhUQ09ORl9ICj4gKyNkZWZpbmUgRVhUQ09ORl9ICj4gKyNlbmRpZgo+IGRp
ZmYgLS1naXQgYS9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS93YWl0X2Zvcl9zaW5nbGVfZmQvZXh0Y29u
Zi5oIGIvZ2VuZXJhdGVkL2V4dC8tdGVzdC0vd2FpdF9mb3Jfc2luZ2xlX2ZkL2V4dGNvbmYuaAo+
IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMC4uODk3YjMyNQo+IC0tLSAvZGV2
L251bGwKPiArKysgYi9nZW5lcmF0ZWQvZXh0Ly10ZXN0LS93YWl0X2Zvcl9zaW5nbGVfZmQvZXh0
Y29uZi5oCj4gQEAgLTAsMCArMSw1IEBACj4gKyNpZm5kZWYgRVhUQ09ORl9ICj4gKyNkZWZpbmUg
RVhUQ09ORl9ICj4gKyNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCj4gKyNkZWZpbmUgSEFWRV9T
WVNfVElNRV9IIDEKPiArI2VuZGlmCj4gZGlmZiAtLWdpdCBhL2dlbmVyYXRlZC9leHQvYmlnZGVj
aW1hbC9leHRjb25mLmggYi9nZW5lcmF0ZWQvZXh0L2JpZ2RlY2ltYWwvZXh0Y29uZi5oCj4gbmV3
IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi42MjhlYzIyCj4gLS0tIC9kZXYvbnVs
bAo+ICsrKyBiL2dlbmVyYXRlZC9leHQvYmlnZGVjaW1hbC9leHRjb25mLmgKPiBAQCAtMCwwICsx
LDEyIEBACj4gKyNpZm5kZWYgRVhUQ09ORl9ICj4gKyNkZWZpbmUgRVhUQ09ORl9ICj4gKyNkZWZp
bmUgUlVCWV9CSUdERUNJTUFMX1ZFUlNJT04gIjEuNC4xIgo+ICsjZGVmaW5lIEhBVkVfTEFCUyAx
Cj4gKyNkZWZpbmUgSEFWRV9MTEFCUyAxCj4gKyNkZWZpbmUgSEFWRV9GSU5JVEUgMQo+ICsjZGVm
aW5lIEhBVkVfUkJfUkFUSU9OQUxfTlVNIDEKPiArI2RlZmluZSBIQVZFX1JCX1JBVElPTkFMX0RF
TiAxCj4gKyNkZWZpbmUgSEFWRV9SQl9BUlJBWV9DT05TVF9QVFIgMQo+ICsjZGVmaW5lIEhBVkVf
UkJfU1lNMlNUUiAxCj4gKyNkZWZpbmUgUlVCWV9FWFBPUlQgMQo+ICsjZW5kaWYKPiBkaWZmIC0t
Z2l0IGEvZ2VuZXJhdGVkL2V4dC9iaWdkZWNpbWFsL3V0aWwvZXh0Y29uZi5oIGIvZ2VuZXJhdGVk
L2V4dC9iaWdkZWNpbWFsL3V0aWwvZXh0Y29uZi5oCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBp
bmRleCAwMDAwMDAwLi4wNzk1ZTNkCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2dlbmVyYXRlZC9l
eHQvYmlnZGVjaW1hbC91dGlsL2V4dGNvbmYuaAo+IEBAIC0wLDAgKzEsNCBAQAo+ICsjaWZuZGVm
IEVYVENPTkZfSAo+ICsjZGVmaW5lIEVYVENPTkZfSAo+ICsjZGVmaW5lIFJVQllfRVhQT1JUIDEK
PiArI2VuZGlmCj4gZGlmZiAtLWdpdCBhL2dlbmVyYXRlZC9leHQvY2dpL2VzY2FwZS9leHRjb25m
LmggYi9nZW5lcmF0ZWQvZXh0L2NnaS9lc2NhcGUvZXh0Y29uZi5oCj4gbmV3IGZpbGUgbW9kZSAx
MDA2NDQKPiBpbmRleCAwMDAwMDAwLi4wNzk1ZTNkCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2dl
bmVyYXRlZC9leHQvY2dpL2VzY2FwZS9leHRjb25mLmgKPiBAQCAtMCwwICsxLDQgQEAKPiArI2lm
bmRlZiBFWFRDT05GX0gKPiArI2RlZmluZSBFWFRDT05GX0gKPiArI2RlZmluZSBSVUJZX0VYUE9S
VCAxCj4gKyNlbmRpZgo+IGRpZmYgLS1naXQgYS9nZW5lcmF0ZWQvZXh0L2NvbnRpbnVhdGlvbi9l
eHRjb25mLmggYi9nZW5lcmF0ZWQvZXh0L2NvbnRpbnVhdGlvbi9leHRjb25mLmgKPiBuZXcgZmls
ZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAuLjA3OTVlM2QKPiAtLS0gL2Rldi9udWxsCj4g
KysrIGIvZ2VuZXJhdGVkL2V4dC9jb250aW51YXRpb24vZXh0Y29uZi5oCj4gQEAgLTAsMCArMSw0
IEBACj4gKyNpZm5kZWYgRVhUQ09ORl9ICj4gKyNkZWZpbmUgRVhUQ09ORl9ICj4gKyNkZWZpbmUg
UlVCWV9FWFBPUlQgMQo+ICsjZW5kaWYKPiBkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2V4dC9jb3Zl
cmFnZS9leHRjb25mLmggYi9nZW5lcmF0ZWQvZXh0L2NvdmVyYWdlL2V4dGNvbmYuaAo+IG5ldyBm
aWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMC4uMDc5NWUzZAo+IC0tLSAvZGV2L251bGwK
PiArKysgYi9nZW5lcmF0ZWQvZXh0L2NvdmVyYWdlL2V4dGNvbmYuaAo+IEBAIC0wLDAgKzEsNCBA
QAo+ICsjaWZuZGVmIEVYVENPTkZfSAo+ICsjZGVmaW5lIEVYVENPTkZfSAo+ICsjZGVmaW5lIFJV
QllfRVhQT1JUIDEKPiArI2VuZGlmCj4gZGlmZiAtLWdpdCBhL2dlbmVyYXRlZC9leHQvZGF0ZS9l
eHRjb25mLmggYi9nZW5lcmF0ZWQvZXh0L2RhdGUvZXh0Y29uZi5oCj4gbmV3IGZpbGUgbW9kZSAx
MDA2NDQKPiBpbmRleCAwMDAwMDAwLi5jZDg5NTY2Cj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2dl
bmVyYXRlZC9leHQvZGF0ZS9leHRjb25mLmgKPiBAQCAtMCwwICsxLDUgQEAKPiArI2lmbmRlZiBF
WFRDT05GX0gKPiArI2RlZmluZSBFWFRDT05GX0gKPiArI2RlZmluZSBIQVZFX1RJTUVaT05FIDEK
PiArI2RlZmluZSBSVUJZX0VYUE9SVCAxCj4gKyNlbmRpZgo+IGRpZmYgLS1naXQgYS9nZW5lcmF0
ZWQvZXh0L2RpZ2VzdC9idWJibGViYWJibGUvZXh0Y29uZi5oIGIvZ2VuZXJhdGVkL2V4dC9kaWdl
c3QvYnViYmxlYmFiYmxlL2V4dGNvbmYuaAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXgg
MDAwMDAwMC4uNTZjNDE4Ngo+IC0tLSAvZGV2L251bGwKPiArKysgYi9nZW5lcmF0ZWQvZXh0L2Rp
Z2VzdC9idWJibGViYWJibGUvZXh0Y29uZi5oCj4gQEAgLTAsMCArMSw1IEBACj4gKyNpZm5kZWYg
RVhUQ09ORl9ICj4gKyNkZWZpbmUgRVhUQ09ORl9ICj4gKyNkZWZpbmUgSEFWRV9DT05GSUdfSCAx
Cj4gKyNkZWZpbmUgUlVCWV9FWFBPUlQgMQo+ICsjZW5kaWYKPiBkaWZmIC0tZ2l0IGEvZ2VuZXJh
dGVkL2V4dC9kaWdlc3QvZXh0Y29uZi5oIGIvZ2VuZXJhdGVkL2V4dC9kaWdlc3QvZXh0Y29uZi5o
Cj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi4wNzk1ZTNkCj4gLS0tIC9k
ZXYvbnVsbAo+ICsrKyBiL2dlbmVyYXRlZC9leHQvZGlnZXN0L2V4dGNvbmYuaAo+IEBAIC0wLDAg
KzEsNCBAQAo+ICsjaWZuZGVmIEVYVENPTkZfSAo+ICsjZGVmaW5lIEVYVENPTkZfSAo+ICsjZGVm
aW5lIFJVQllfRVhQT1JUIDEKPiArI2VuZGlmCj4gZGlmZiAtLWdpdCBhL2dlbmVyYXRlZC9leHQv
ZGlnZXN0L21kNS9leHRjb25mLmggYi9nZW5lcmF0ZWQvZXh0L2RpZ2VzdC9tZDUvZXh0Y29uZi5o
Cj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi5iN2I3ZTVlCj4gLS0tIC9k
ZXYvbnVsbAo+ICsrKyBiL2dlbmVyYXRlZC9leHQvZGlnZXN0L21kNS9leHRjb25mLmgKPiBAQCAt
MCwwICsxLDEwIEBACj4gKyNpZm5kZWYgRVhUQ09ORl9ICj4gKyNkZWZpbmUgRVhUQ09ORl9ICj4g
KyNkZWZpbmUgSEFWRV9DT05GSUdfSCAxCj4gKyNkZWZpbmUgSEFWRV9PUEVOU1NMX1NTTF9IIDEK
PiArI2RlZmluZSBIQVZFX01ENV9UUkFOU0ZPUk0gMQo+ICsjZGVmaW5lIEhBVkVfVFlQRV9NRDVf
Q1RYIDEKPiArI2RlZmluZSBNRDVfVVNFX09QRU5TU0wgMQo+ICsjZGVmaW5lIEhBVkVfU1lTX0NE
RUZTX0ggMQo+ICsjZGVmaW5lIFJVQllfRVhQT1JUIDEKPiArI2VuZGlmCj4gZGlmZiAtLWdpdCBh
L2dlbmVyYXRlZC9leHQvZGlnZXN0L3JtZDE2MC9leHRjb25mLmggYi9nZW5lcmF0ZWQvZXh0L2Rp
Z2VzdC9ybWQxNjAvZXh0Y29uZi5oCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAw
MDAwLi5jNDNiZjNlCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2dlbmVyYXRlZC9leHQvZGlnZXN0
L3JtZDE2MC9leHRjb25mLmgKPiBAQCAtMCwwICsxLDExIEBACj4gKyNpZm5kZWYgRVhUQ09ORl9I
Cj4gKyNkZWZpbmUgRVhUQ09ORl9ICj4gKyNkZWZpbmUgTkRFQlVHIDEKPiArI2RlZmluZSBIQVZF
X0NPTkZJR19IIDEKPiArI2RlZmluZSBIQVZFX09QRU5TU0xfU1NMX0ggMQo+ICsjZGVmaW5lIEhB
VkVfUklQRU1EMTYwX1RSQU5TRk9STSAxCj4gKyNkZWZpbmUgSEFWRV9UWVBFX1JJUEVNRDE2MF9D
VFggMQo+ICsjZGVmaW5lIFJNRDE2MF9VU0VfT1BFTlNTTCAxCj4gKyNkZWZpbmUgSEFWRV9TWVNf
Q0RFRlNfSCAxCj4gKyNkZWZpbmUgUlVCWV9FWFBPUlQgMQo+ICsjZW5kaWYKPiBkaWZmIC0tZ2l0
IGEvZ2VuZXJhdGVkL2V4dC9kaWdlc3Qvc2hhMS9leHRjb25mLmggYi9nZW5lcmF0ZWQvZXh0L2Rp
Z2VzdC9zaGExL2V4dGNvbmYuaAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAw
MC4uMjMxYjEzYwo+IC0tLSAvZGV2L251bGwKPiArKysgYi9nZW5lcmF0ZWQvZXh0L2RpZ2VzdC9z
aGExL2V4dGNvbmYuaAo+IEBAIC0wLDAgKzEsMTAgQEAKPiArI2lmbmRlZiBFWFRDT05GX0gKPiAr
I2RlZmluZSBFWFRDT05GX0gKPiArI2RlZmluZSBIQVZFX0NPTkZJR19IIDEKPiArI2RlZmluZSBI
QVZFX09QRU5TU0xfU1NMX0ggMQo+ICsjZGVmaW5lIEhBVkVfU0hBMV9UUkFOU0ZPUk0gMQo+ICsj
ZGVmaW5lIEhBVkVfVFlQRV9TSEFfQ1RYIDEKPiArI2RlZmluZSBTSEExX1VTRV9PUEVOU1NMIDEK
PiArI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEKPiArI2RlZmluZSBSVUJZX0VYUE9SVCAxCj4g
KyNlbmRpZgo+IGRpZmYgLS1naXQgYS9nZW5lcmF0ZWQvZXh0L2RpZ2VzdC9zaGEyL2V4dGNvbmYu
aCBiL2dlbmVyYXRlZC9leHQvZGlnZXN0L3NoYTIvZXh0Y29uZi5oCj4gbmV3IGZpbGUgbW9kZSAx
MDA2NDQKPiBpbmRleCAwMDAwMDAwLi5lNjc4OTU0Cj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2dl
bmVyYXRlZC9leHQvZGlnZXN0L3NoYTIvZXh0Y29uZi5oCj4gQEAgLTAsMCArMSwxMiBAQAo+ICsj
aWZuZGVmIEVYVENPTkZfSAo+ICsjZGVmaW5lIEVYVENPTkZfSAo+ICsjZGVmaW5lIEhBVkVfQ09O
RklHX0ggMQo+ICsjZGVmaW5lIEhBVkVfT1BFTlNTTF9TU0xfSCAxCj4gKyNkZWZpbmUgSEFWRV9T
SEEyNTZfVFJBTlNGT1JNIDEKPiArI2RlZmluZSBIQVZFX1NIQTUxMl9UUkFOU0ZPUk0gMQo+ICsj
ZGVmaW5lIEhBVkVfVFlQRV9TSEEyNTZfQ1RYIDEKPiArI2RlZmluZSBIQVZFX1RZUEVfU0hBNTEy
X0NUWCAxCj4gKyNkZWZpbmUgU0hBMl9VU0VfT1BFTlNTTCAxCj4gKyNkZWZpbmUgSEFWRV9TWVNf
Q0RFRlNfSCAxCj4gKyNkZWZpbmUgUlVCWV9FWFBPUlQgMQo+ICsjZW5kaWYKPiBkaWZmIC0tZ2l0
IGEvZ2VuZXJhdGVkL2V4dC9ldGMvZXh0Y29uZi5oIGIvZ2VuZXJhdGVkL2V4dC9ldGMvZXh0Y29u
Zi5oCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi5jNDUzODY2Cj4gLS0t
IC9kZXYvbnVsbAo+ICsrKyBiL2dlbmVyYXRlZC9leHQvZXRjL2V4dGNvbmYuaAo+IEBAIC0wLDAg
KzEsMTkgQEAKPiArI2lmbmRlZiBFWFRDT05GX0gKPiArI2RlZmluZSBFWFRDT05GX0gKPiArI2Rl
ZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQo+ICsjZGVmaW5lIEhBVkVfVU5BTUUgMQo+ICsjZGVm
aW5lIEhBVkVfR0VUTE9HSU4gMQo+ICsjZGVmaW5lIEhBVkVfR0VUUFdFTlQgMQo+ICsjZGVmaW5l
IEhBVkVfR0VUR1JFTlQgMQo+ICsjZGVmaW5lIFNZU0NPTkZESVIgIi9ob21lL3dvbGYvbmZ2L2Rl
di91bmlrcmFmdC9hcHBzL3VrdXRlc3QuZ2l0L2J1aWxkL2xpYnJ1Ynkvb3JpZ2luL3J1YnktcnVi
eV8yXzYvZGlzdC9ldGMiCj4gKyNkZWZpbmUgSEFWRV9TWVNDT05GIDEKPiArI2RlZmluZSBIQVZF
X0NPTkZTVFIgMQo+ICsjZGVmaW5lIEhBVkVfRlBBVEhDT05GIDEKPiArI2RlZmluZSBIQVZFX1NU
UlVDVF9QQVNTV0RfUFdfR0VDT1MgMQo+ICsjZGVmaW5lIEhBVkVfU1RfUFdfR0VDT1MgMQo+ICsj
ZGVmaW5lIEhBVkVfU1RSVUNUX1BBU1NXRF9QV19QQVNTV0QgMQo+ICsjZGVmaW5lIEhBVkVfU1Rf
UFdfUEFTU1dEIDEKPiArI2RlZmluZSBIQVZFX1NUUlVDVF9HUk9VUF9HUl9QQVNTV0QgMQo+ICsj
ZGVmaW5lIEhBVkVfU1RfR1JfUEFTU1dEIDEKPiArI2RlZmluZSBSVUJZX0VYUE9SVCAxCj4gKyNl
bmRpZgo+IGRpZmYgLS1naXQgYS9nZW5lcmF0ZWQvZXh0L2V4dGluaXQuYyBiL2dlbmVyYXRlZC9l
eHQvZXh0aW5pdC5jCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi40OTJh
OTMzCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2dlbmVyYXRlZC9leHQvZXh0aW5pdC5jCj4gQEAg
LTAsMCArMSw0OCBAQAo+ICsjaW5jbHVkZSAicnVieS9ydWJ5LmgiCj4gKwo+ICsjZGVmaW5lIGlu
aXQoZnVuYywgbmFtZSkgeyAgICAgXAo+ICsgICAgZXh0ZXJuIHZvaWQgZnVuYyh2b2lkKTsgICAg
XAo+ICsgICAgcnVieV9pbml0X2V4dChuYW1lIi5zbyIsIGZ1bmMpOyBcCj4gK30KPiArCj4gK3Zv
aWQgcnVieV9pbml0X2V4dChjb25zdCBjaGFyICpuYW1lLCB2b2lkICgqaW5pdCkodm9pZCkpOwo+
ICsKPiArdm9pZCBJbml0X2V4dCh2b2lkKQo+ICt7Cj4gKyAgICBpbml0KEluaXRfc3Ryc2Nhbiwg
InN0cnNjYW4iKTsKPiArICAgIGluaXQoSW5pdF9zeXNsb2csICJzeXNsb2ciKTsKPiArICAgIGlu
aXQoSW5pdF9nZW5lcmF0b3IsICJqc29uL2V4dC9nZW5lcmF0b3IiKTsKPiArICAgIGluaXQoSW5p
dF9wYXJzZXIsICJqc29uL2V4dC9wYXJzZXIiKTsKPiArICAgIGluaXQoSW5pdF9zaXplb2YsICJy
YmNvbmZpZy9zaXplb2YiKTsKPiArICAgIGluaXQoSW5pdF9iaWdkZWNpbWFsLCAiYmlnZGVjaW1h
bCIpOwo+ICsgICAgaW5pdChJbml0X3V0aWwsICJiaWdkZWNpbWFsL3V0aWwiKTsKPiArICAgIGlu
aXQoSW5pdF9jcGFyc2UsICJyYWNjL2NwYXJzZSIpOwo+ICsgICAgaW5pdChJbml0X2RpZ2VzdCwg
ImRpZ2VzdCIpOwo+ICsgICAgaW5pdChJbml0X2J1YmJsZWJhYmJsZSwgImRpZ2VzdC9idWJibGVi
YWJibGUiKTsKPiArICAgIGluaXQoSW5pdF9tZDUsICJkaWdlc3QvbWQ1Iik7Cj4gKyAgICBpbml0
KEluaXRfcm1kMTYwLCAiZGlnZXN0L3JtZDE2MCIpOwo+ICsgICAgaW5pdChJbml0X3NoYTEsICJk
aWdlc3Qvc2hhMSIpOwo+ICsgICAgaW5pdChJbml0X3NoYTIsICJkaWdlc3Qvc2hhMiIpOwo+ICsg
ICAgaW5pdChJbml0X3BzeWNoLCAicHN5Y2giKTsKPiArICAgIGluaXQoSW5pdF9lc2NhcGUsICJj
Z2kvZXNjYXBlIik7Cj4gKyAgICBpbml0KEluaXRfZmNudGwsICJmY250bCIpOwo+ICsgICAgaW5p
dChJbml0X3N0cmluZ2lvLCAic3RyaW5naW8iKTsKPiArICAgIGluaXQoSW5pdF9zb2NrZXQsICJz
b2NrZXQiKTsKPiArICAgIGluaXQoSW5pdF9wYXRobmFtZSwgInBhdGhuYW1lIik7Cj4gKyAgICBp
bml0KEluaXRfZGF0ZV9jb3JlLCAiZGF0ZV9jb3JlIik7Cj4gKyAgICBpbml0KEluaXRfcHR5LCAi
cHR5Iik7Cj4gKyAgICBpbml0KEluaXRfb3BlbnNzbCwgIm9wZW5zc2wiKTsKPiArICAgIGluaXQo
SW5pdF9maWJlciwgImZpYmVyIik7Cj4gKyAgICBpbml0KEluaXRfZmlkZGxlLCAiZmlkZGxlIik7
Cj4gKyAgICBpbml0KEluaXRfZXRjLCAiZXRjIik7Cj4gKyAgICBpbml0KEluaXRfY29udGludWF0
aW9uLCAiY29udGludWF0aW9uIik7Cj4gKyAgICBpbml0KEluaXRfb2Jqc3BhY2UsICJvYmpzcGFj
ZSIpOwo+ICsgICAgaW5pdChJbml0X2NvdmVyYWdlLCAiY292ZXJhZ2UiKTsKPiArICAgIGluaXQo
SW5pdF9jb25zb2xlLCAiaW8vY29uc29sZSIpOwo+ICsgICAgaW5pdChJbml0X25vbmJsb2NrLCAi
aW8vbm9uYmxvY2siKTsKPiArICAgIGluaXQoSW5pdF93YWl0LCAiaW8vd2FpdCIpOwo+ICsgICAg
aW5pdChJbml0X3JpcHBlciwgInJpcHBlciIpOwo+ICsgICAgaW5pdChJbml0X25rZiwgIm5rZiIp
Owo+ICsgICAgaW5pdChJbml0X3psaWIsICJ6bGliIik7Cj4gKyAgICBpbml0KEluaXRfc2RibSwg
InNkYm0iKTsKPiArfQo+IGRpZmYgLS1naXQgYS9nZW5lcmF0ZWQvZXh0L2ZjbnRsL2V4dGNvbmYu
aCBiL2dlbmVyYXRlZC9leHQvZmNudGwvZXh0Y29uZi5oCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQK
PiBpbmRleCAwMDAwMDAwLi4wNzk1ZTNkCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2dlbmVyYXRl
ZC9leHQvZmNudGwvZXh0Y29uZi5oCj4gQEAgLTAsMCArMSw0IEBACj4gKyNpZm5kZWYgRVhUQ09O
Rl9ICj4gKyNkZWZpbmUgRVhUQ09ORl9ICj4gKyNkZWZpbmUgUlVCWV9FWFBPUlQgMQo+ICsjZW5k
aWYKPiBkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2V4dC9maWJlci9leHRjb25mLmggYi9nZW5lcmF0
ZWQvZXh0L2ZpYmVyL2V4dGNvbmYuaAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAw
MDAwMC4uMDc5NWUzZAo+IC0tLSAvZGV2L251bGwKPiArKysgYi9nZW5lcmF0ZWQvZXh0L2ZpYmVy
L2V4dGNvbmYuaAo+IEBAIC0wLDAgKzEsNCBAQAo+ICsjaWZuZGVmIEVYVENPTkZfSAo+ICsjZGVm
aW5lIEVYVENPTkZfSAo+ICsjZGVmaW5lIFJVQllfRVhQT1JUIDEKPiArI2VuZGlmCj4gZGlmZiAt
LWdpdCBhL2dlbmVyYXRlZC9leHQvZmlkZGxlL2V4dGNvbmYuaCBiL2dlbmVyYXRlZC9leHQvZmlk
ZGxlL2V4dGNvbmYuaAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMC4uZjUz
MzJkYgo+IC0tLSAvZGV2L251bGwKPiArKysgYi9nZW5lcmF0ZWQvZXh0L2ZpZGRsZS9leHRjb25m
LmgKPiBAQCAtMCwwICsxLDE0IEBACj4gKyNpZm5kZWYgRVhUQ09ORl9ICj4gKyNkZWZpbmUgRVhU
Q09ORl9ICj4gKyNkZWZpbmUgSEFWRV9GRklfSCAxCj4gKyNkZWZpbmUgUlVCWV9MSUJGRklfTU9E
VkVSU0lPTiAzMDAyMDAxCj4gKyNkZWZpbmUgSEFWRV9TWVNfTU1BTl9IIDEKPiArI2RlZmluZSBI
QVZFX0RMRkNOX0ggMQo+ICsjZGVmaW5lIEhBVkVfRExPUEVOIDEKPiArI2RlZmluZSBIQVZFX0RM
Q0xPU0UgMQo+ICsjZGVmaW5lIEhBVkVfRExTWU0gMQo+ICsjZGVmaW5lIEhBVkVfRExFUlJPUiAx
Cj4gKyNkZWZpbmUgSEFWRV9DT05TVF9GRklfU1REQ0FMTCAxCj4gKyNkZWZpbmUgU0lHTkVETkVT
U19PRl9TSVpFX1QgKzEKPiArI2RlZmluZSBSVUJZX0VYUE9SVCAxCj4gKyNlbmRpZgo+IGRpZmYg
LS1naXQgYS9nZW5lcmF0ZWQvZXh0L2lvL2NvbnNvbGUvZXh0Y29uZi5oIGIvZ2VuZXJhdGVkL2V4
dC9pby9jb25zb2xlL2V4dGNvbmYuaAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAw
MDAwMC4uYzRiYTEyYQo+IC0tLSAvZGV2L251bGwKPiArKysgYi9nZW5lcmF0ZWQvZXh0L2lvL2Nv
bnNvbGUvZXh0Y29uZi5oCj4gQEAgLTAsMCArMSw4IEBACj4gKyNpZm5kZWYgRVhUQ09ORl9ICj4g
KyNkZWZpbmUgRVhUQ09ORl9ICj4gKyNkZWZpbmUgSEFWRV9URVJNSU9TX0ggMQo+ICsjZGVmaW5l
IEhBVkVfQ0ZNQUtFUkFXIDEKPiArI2RlZmluZSBIQVZFX1NZU19JT0NUTF9IIDEKPiArI2RlZmlu
ZSBFTkFCTEVfSU9fR0VUUEFTUyAxCj4gKyNkZWZpbmUgUlVCWV9FWFBPUlQgMQo+ICsjZW5kaWYK
PiBkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2V4dC9pby9ub25ibG9jay9leHRjb25mLmggYi9nZW5l
cmF0ZWQvZXh0L2lvL25vbmJsb2NrL2V4dGNvbmYuaAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4g
aW5kZXggMDAwMDAwMC4uMDc5NWUzZAo+IC0tLSAvZGV2L251bGwKPiArKysgYi9nZW5lcmF0ZWQv
ZXh0L2lvL25vbmJsb2NrL2V4dGNvbmYuaAo+IEBAIC0wLDAgKzEsNCBAQAo+ICsjaWZuZGVmIEVY
VENPTkZfSAo+ICsjZGVmaW5lIEVYVENPTkZfSAo+ICsjZGVmaW5lIFJVQllfRVhQT1JUIDEKPiAr
I2VuZGlmCj4gZGlmZiAtLWdpdCBhL2dlbmVyYXRlZC9leHQvaW8vd2FpdC9leHRjb25mLmggYi9n
ZW5lcmF0ZWQvZXh0L2lvL3dhaXQvZXh0Y29uZi5oCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBp
bmRleCAwMDAwMDAwLi5iN2I5MzgwCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2dlbmVyYXRlZC9l
eHQvaW8vd2FpdC9leHRjb25mLmgKPiBAQCAtMCwwICsxLDYgQEAKPiArI2lmbmRlZiBFWFRDT05G
X0gKPiArI2RlZmluZSBFWFRDT05GX0gKPiArI2RlZmluZSBIQVZFX1NZU19JT0NUTF9IIDEKPiAr
I2RlZmluZSBGSU9OUkVBRF9IRUFERVIgPHN5cy9pb2N0bC5oPgo+ICsjZGVmaW5lIFJVQllfRVhQ
T1JUIDEKPiArI2VuZGlmCj4gZGlmZiAtLWdpdCBhL2dlbmVyYXRlZC9leHQvanNvbi9leHRjb25m
LmggYi9nZW5lcmF0ZWQvZXh0L2pzb24vZXh0Y29uZi5oCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQK
PiBpbmRleCAwMDAwMDAwLi4wNzk1ZTNkCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2dlbmVyYXRl
ZC9leHQvanNvbi9leHRjb25mLmgKPiBAQCAtMCwwICsxLDQgQEAKPiArI2lmbmRlZiBFWFRDT05G
X0gKPiArI2RlZmluZSBFWFRDT05GX0gKPiArI2RlZmluZSBSVUJZX0VYUE9SVCAxCj4gKyNlbmRp
Zgo+IGRpZmYgLS1naXQgYS9nZW5lcmF0ZWQvZXh0L2pzb24vZ2VuZXJhdG9yL2V4dGNvbmYuaCBi
L2dlbmVyYXRlZC9leHQvanNvbi9nZW5lcmF0b3IvZXh0Y29uZi5oCj4gbmV3IGZpbGUgbW9kZSAx
MDA2NDQKPiBpbmRleCAwMDAwMDAwLi41MWU4N2NlCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2dl
bmVyYXRlZC9leHQvanNvbi9nZW5lcmF0b3IvZXh0Y29uZi5oCj4gQEAgLTAsMCArMSw1IEBACj4g
KyNpZm5kZWYgRVhUQ09ORl9ICj4gKyNkZWZpbmUgRVhUQ09ORl9ICj4gKyNkZWZpbmUgSlNPTl9H
RU5FUkFUT1IgMQo+ICsjZGVmaW5lIFJVQllfRVhQT1JUIDEKPiArI2VuZGlmCj4gZGlmZiAtLWdp
dCBhL2dlbmVyYXRlZC9leHQvanNvbi9wYXJzZXIvZXh0Y29uZi5oIGIvZ2VuZXJhdGVkL2V4dC9q
c29uL3BhcnNlci9leHRjb25mLmgKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAw
MDAuLjgwMGRjOGIKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvZ2VuZXJhdGVkL2V4dC9qc29uL3Bh
cnNlci9leHRjb25mLmgKPiBAQCAtMCwwICsxLDUgQEAKPiArI2lmbmRlZiBFWFRDT05GX0gKPiAr
I2RlZmluZSBFWFRDT05GX0gKPiArI2RlZmluZSBIQVZFX1JCX0VOQ19SQUlTRSAxCj4gKyNkZWZp
bmUgUlVCWV9FWFBPUlQgMQo+ICsjZW5kaWYKPiBkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2V4dC9u
a2YvZXh0Y29uZi5oIGIvZ2VuZXJhdGVkL2V4dC9ua2YvZXh0Y29uZi5oCj4gbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi4wNzk1ZTNkCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBi
L2dlbmVyYXRlZC9leHQvbmtmL2V4dGNvbmYuaAo+IEBAIC0wLDAgKzEsNCBAQAo+ICsjaWZuZGVm
IEVYVENPTkZfSAo+ICsjZGVmaW5lIEVYVENPTkZfSAo+ICsjZGVmaW5lIFJVQllfRVhQT1JUIDEK
PiArI2VuZGlmCj4gZGlmZiAtLWdpdCBhL2dlbmVyYXRlZC9leHQvb2Jqc3BhY2UvZXh0Y29uZi5o
IGIvZ2VuZXJhdGVkL2V4dC9vYmpzcGFjZS9leHRjb25mLmgKPiBuZXcgZmlsZSBtb2RlIDEwMDY0
NAo+IGluZGV4IDAwMDAwMDAuLjA3OTVlM2QKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvZ2VuZXJh
dGVkL2V4dC9vYmpzcGFjZS9leHRjb25mLmgKPiBAQCAtMCwwICsxLDQgQEAKPiArI2lmbmRlZiBF
WFRDT05GX0gKPiArI2RlZmluZSBFWFRDT05GX0gKPiArI2RlZmluZSBSVUJZX0VYUE9SVCAxCj4g
KyNlbmRpZgo+IGRpZmYgLS1naXQgYS9nZW5lcmF0ZWQvZXh0L29wZW5zc2wvZXh0Y29uZi5oIGIv
Z2VuZXJhdGVkL2V4dC9vcGVuc3NsL2V4dGNvbmYuaAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4g
aW5kZXggMDAwMDAwMC4uMWI1YjM4MAo+IC0tLSAvZGV2L251bGwKPiArKysgYi9nZW5lcmF0ZWQv
ZXh0L29wZW5zc2wvZXh0Y29uZi5oCj4gQEAgLTAsMCArMSw0NiBAQAo+ICsjaWZuZGVmIEVYVENP
TkZfSAo+ICsjZGVmaW5lIEVYVENPTkZfSAo+ICsjZGVmaW5lIEhBVkVfT1BFTlNTTF9TU0xfSCAx
Cj4gKyNkZWZpbmUgSEFWRV9FTkdJTkVfTE9BRF9CVUlMVElOX0VOR0lORVMgMQo+ICsjZGVmaW5l
IEhBVkVfRU5HSU5FX0xPQURfRFlOQU1JQyAxCj4gKyNkZWZpbmUgSEFWRV9FTkdJTkVfTE9BRF9D
UllQVE9ERVYgMQo+ICsjZGVmaW5lIEhBVkVfRUNfQ1VSVkVfTklTVDJOSUQgMQo+ICsjZGVmaW5l
IEhBVkVfWDUwOV9SRVZPS0VEX0RVUCAxCj4gKyNkZWZpbmUgSEFWRV9YNTA5X1NUT1JFX0NUWF9H
RVQwX1NUT1JFIDEKPiArI2RlZmluZSBIQVZFX1NTTF9DVFhfU0VUX0FMUE5fU0VMRUNUX0NCIDEK
PiArI2RlZmluZSBIQVZFX1NTTF9DVFhfU0VUMV9DVVJWRVNfTElTVCAxCj4gKyNkZWZpbmUgSEFW
RV9TU0xfQ1RYX1NFVF9FQ0RIX0FVVE8gMQo+ICsjZGVmaW5lIEhBVkVfU1NMX0dFVF9TRVJWRVJf
VE1QX0tFWSAxCj4gKyNkZWZpbmUgSEFWRV9TU0xfSVNfU0VSVkVSIDEKPiArI2RlZmluZSBIQVZF
X09QQVFVRV9PUEVOU1NMIDEKPiArI2RlZmluZSBIQVZFX09QRU5TU0xfMTEwX1RIUkVBRElOR19B
UEkgMQo+ICsjZGVmaW5lIEhBVkVfQk5fR0VOQ0JfTkVXIDEKPiArI2RlZmluZSBIQVZFX0JOX0dF
TkNCX0ZSRUUgMQo+ICsjZGVmaW5lIEhBVkVfQk5fR0VOQ0JfR0VUX0FSRyAxCj4gKyNkZWZpbmUg
SEFWRV9FVlBfTURfQ1RYX05FVyAxCj4gKyNkZWZpbmUgSEFWRV9FVlBfTURfQ1RYX0ZSRUUgMQo+
ICsjZGVmaW5lIEhBVkVfSE1BQ19DVFhfTkVXIDEKPiArI2RlZmluZSBIQVZFX0hNQUNfQ1RYX0ZS
RUUgMQo+ICsjZGVmaW5lIEhBVkVfWDUwOV9TVE9SRV9HRVRfRVhfREFUQSAxCj4gKyNkZWZpbmUg
SEFWRV9YNTA5X1NUT1JFX1NFVF9FWF9EQVRBIDEKPiArI2RlZmluZSBIQVZFX1g1MDlfQ1JMX0dF
VDBfU0lHTkFUVVJFIDEKPiArI2RlZmluZSBIQVZFX1g1MDlfUkVRX0dFVDBfU0lHTkFUVVJFIDEK
PiArI2RlZmluZSBIQVZFX1g1MDlfUkVWT0tFRF9HRVQwX1NFUklBTE5VTUJFUiAxCj4gKyNkZWZp
bmUgSEFWRV9YNTA5X1JFVk9LRURfR0VUMF9SRVZPQ0FUSU9OREFURSAxCj4gKyNkZWZpbmUgSEFW
RV9YNTA5X0dFVDBfVEJTX1NJR0FMRyAxCj4gKyNkZWZpbmUgSEFWRV9YNTA5X1NUT1JFX0NUWF9H
RVQwX1VOVFJVU1RFRCAxCj4gKyNkZWZpbmUgSEFWRV9YNTA5X1NUT1JFX0NUWF9HRVQwX0NFUlQg
MQo+ICsjZGVmaW5lIEhBVkVfWDUwOV9TVE9SRV9DVFhfR0VUMF9DSEFJTiAxCj4gKyNkZWZpbmUg
SEFWRV9PQ1NQX1NJTkdMRVJFU1BfR0VUMF9JRCAxCj4gKyNkZWZpbmUgSEFWRV9TU0xfQ1RYX0dF
VF9DSVBIRVJTIDEKPiArI2RlZmluZSBIQVZFX1g1MDlfVVBfUkVGIDEKPiArI2RlZmluZSBIQVZF
X1g1MDlfQ1JMX1VQX1JFRiAxCj4gKyNkZWZpbmUgSEFWRV9YNTA5X1NUT1JFX1VQX1JFRiAxCj4g
KyNkZWZpbmUgSEFWRV9TU0xfU0VTU0lPTl9VUF9SRUYgMQo+ICsjZGVmaW5lIEhBVkVfRVZQX1BL
RVlfVVBfUkVGIDEKPiArI2RlZmluZSBIQVZFX1NTTF9DVFhfU0VUX01JTl9QUk9UT19WRVJTSU9O
IDEKPiArI2RlZmluZSBIQVZFX1NTTF9DVFhfR0VUX1NFQ1VSSVRZX0xFVkVMIDEKPiArI2RlZmlu
ZSBIQVZFX1g1MDlfR0VUMF9OT1RCRUZPUkUgMQo+ICsjZGVmaW5lIEhBVkVfU1NMX1NFU1NJT05f
R0VUX1BST1RPQ09MX1ZFUlNJT04gMQo+ICsjZGVmaW5lIEhBVkVfRVZQX1BCRV9TQ1JZUFQgMQo+
ICsjZW5kaWYKPiBkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2V4dC9wYXRobmFtZS9leHRjb25mLmgg
Yi9nZW5lcmF0ZWQvZXh0L3BhdGhuYW1lL2V4dGNvbmYuaAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0
Cj4gaW5kZXggMDAwMDAwMC4uMDc5NWUzZAo+IC0tLSAvZGV2L251bGwKPiArKysgYi9nZW5lcmF0
ZWQvZXh0L3BhdGhuYW1lL2V4dGNvbmYuaAo+IEBAIC0wLDAgKzEsNCBAQAo+ICsjaWZuZGVmIEVY
VENPTkZfSAo+ICsjZGVmaW5lIEVYVENPTkZfSAo+ICsjZGVmaW5lIFJVQllfRVhQT1JUIDEKPiAr
I2VuZGlmCj4gZGlmZiAtLWdpdCBhL2dlbmVyYXRlZC9leHQvcHN5Y2gvZXh0Y29uZi5oIGIvZ2Vu
ZXJhdGVkL2V4dC9wc3ljaC9leHRjb25mLmgKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4
IDAwMDAwMDAuLjIwMGNjZDIKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvZ2VuZXJhdGVkL2V4dC9w
c3ljaC9leHRjb25mLmgKPiBAQCAtMCwwICsxLDE1IEBACj4gKyNpZm5kZWYgRVhUQ09ORl9ICj4g
KyNkZWZpbmUgRVhUQ09ORl9ICj4gKyNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKPiArI2RlZmluZSBI
QVZFX0lOVFRZUEVTX0ggMQo+ICsjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQo+ICsjZGVmaW5lIEhB
VkVfU1RESU5UX0ggMQo+ICsjZGVmaW5lIEhBVkVfU1RETElCX0ggMQo+ICsjZGVmaW5lIEhBVkVf
U1RSSU5HU19IIDEKPiArI2RlZmluZSBIQVZFX1NUUklOR19IIDEKPiArI2RlZmluZSBIQVZFX1NZ
U19TVEFUX0ggMQo+ICsjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQo+ICsjZGVmaW5lIEhBVkVf
VU5JU1REX0ggMQo+ICsjZGVmaW5lIEhBVkVfQ09ORklHX0ggMQo+ICsjZGVmaW5lIFJVQllfRVhQ
T1JUIDEKPiArI2VuZGlmCj4gZGlmZiAtLWdpdCBhL2dlbmVyYXRlZC9leHQvcHN5Y2gvcHN5Y2gu
aCBiL2dlbmVyYXRlZC9leHQvcHN5Y2gvcHN5Y2guaAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4g
aW5kZXggMDAwMDAwMC4uNmIzZDYzZgo+IC0tLSAvZGV2L251bGwKPiArKysgYi9nZW5lcmF0ZWQv
ZXh0L3BzeWNoL3BzeWNoLmgKPiBAQCAtMCwwICsxLDE3IEBACj4gKyNpZm5kZWYgUFNZQ0hfSAo+
ICsjZGVmaW5lIFBTWUNIX0gKPiArCj4gKyNpbmNsdWRlIDxydWJ5Lmg+Cj4gKyNpbmNsdWRlIDxy
dWJ5L2VuY29kaW5nLmg+Cj4gKwo+ICsjaW5jbHVkZSA8eWFtbC5oPgo+ICsKPiArI2luY2x1ZGUg
PHBzeWNoX3BhcnNlci5oPgo+ICsjaW5jbHVkZSA8cHN5Y2hfZW1pdHRlci5oPgo+ICsjaW5jbHVk
ZSA8cHN5Y2hfdG9fcnVieS5oPgo+ICsjaW5jbHVkZSA8cHN5Y2hfeWFtbF90cmVlLmg+Cj4gKwo+
ICtleHRlcm4gVkFMVUUgbVBzeWNoOwo+ICsKPiArCj4gKyNlbmRpZgo+IGRpZmYgLS1naXQgYS9n
ZW5lcmF0ZWQvZXh0L3BzeWNoL3BzeWNoX2VtaXR0ZXIuaCBiL2dlbmVyYXRlZC9leHQvcHN5Y2gv
cHN5Y2hfZW1pdHRlci5oCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi40
YzE0ODJhCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2dlbmVyYXRlZC9leHQvcHN5Y2gvcHN5Y2hf
ZW1pdHRlci5oCj4gQEAgLTAsMCArMSw4IEBACj4gKyNpZm5kZWYgUFNZQ0hfRU1JVFRFUl9ICj4g
KyNkZWZpbmUgUFNZQ0hfRU1JVFRFUl9ICj4gKwo+ICsjaW5jbHVkZSA8cHN5Y2guaD4KPiArCj4g
K3ZvaWQgSW5pdF9wc3ljaF9lbWl0dGVyKHZvaWQpOwo+ICsKPiArI2VuZGlmCj4gZGlmZiAtLWdp
dCBhL2dlbmVyYXRlZC9leHQvcHN5Y2gvcHN5Y2hfcGFyc2VyLmggYi9nZW5lcmF0ZWQvZXh0L3Bz
eWNoL3BzeWNoX3BhcnNlci5oCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAw
Li5iZWIzZGQwCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2dlbmVyYXRlZC9leHQvcHN5Y2gvcHN5
Y2hfcGFyc2VyLmgKPiBAQCAtMCwwICsxLDYgQEAKPiArI2lmbmRlZiBQU1lDSF9QQVJTRVJfSAo+
ICsjZGVmaW5lIFBTWUNIX1BBUlNFUl9ICj4gKwo+ICt2b2lkIEluaXRfcHN5Y2hfcGFyc2VyKHZv
aWQpOwo+ICsKPiArI2VuZGlmCj4gZGlmZiAtLWdpdCBhL2dlbmVyYXRlZC9leHQvcHN5Y2gvcHN5
Y2hfdG9fcnVieS5oIGIvZ2VuZXJhdGVkL2V4dC9wc3ljaC9wc3ljaF90b19ydWJ5LmgKPiBuZXcg
ZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAuLjdiOGU3NTcKPiAtLS0gL2Rldi9udWxs
Cj4gKysrIGIvZ2VuZXJhdGVkL2V4dC9wc3ljaC9wc3ljaF90b19ydWJ5LmgKPiBAQCAtMCwwICsx
LDggQEAKPiArI2lmbmRlZiBQU1lDSF9UT19SVUJZX0gKPiArI2RlZmluZSBQU1lDSF9UT19SVUJZ
X0gKPiArCj4gKyNpbmNsdWRlIDxwc3ljaC5oPgo+ICsKPiArdm9pZCBJbml0X3BzeWNoX3RvX3J1
Ynkodm9pZCk7Cj4gKwo+ICsjZW5kaWYKPiBkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2V4dC9wc3lj
aC9wc3ljaF95YW1sX3RyZWUuaCBiL2dlbmVyYXRlZC9leHQvcHN5Y2gvcHN5Y2hfeWFtbF90cmVl
LmgKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAuLjQ2MjhhNjkKPiAtLS0g
L2Rldi9udWxsCj4gKysrIGIvZ2VuZXJhdGVkL2V4dC9wc3ljaC9wc3ljaF95YW1sX3RyZWUuaAo+
IEBAIC0wLDAgKzEsOCBAQAo+ICsjaWZuZGVmIFBTWUNIX1lBTUxfVFJFRV9ICj4gKyNkZWZpbmUg
UFNZQ0hfWUFNTF9UUkVFX0gKPiArCj4gKyNpbmNsdWRlIDxwc3ljaC5oPgo+ICsKPiArdm9pZCBJ
bml0X3BzeWNoX3lhbWxfdHJlZSh2b2lkKTsKPiArCj4gKyNlbmRpZgo+IGRpZmYgLS1naXQgYS9n
ZW5lcmF0ZWQvZXh0L3BzeWNoL3lhbWwvY29uZmlnLmggYi9nZW5lcmF0ZWQvZXh0L3BzeWNoL3lh
bWwvY29uZmlnLmgKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAuLmRhOTA1
MTMKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvZ2VuZXJhdGVkL2V4dC9wc3ljaC95YW1sL2NvbmZp
Zy5oCj4gQEAgLTAsMCArMSwxMCBAQAo+ICsjZGVmaW5lIFBBQ0tBR0VfTkFNRSAieWFtbCIKPiAr
I2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInlhbWwiCj4gKyNkZWZpbmUgUEFDS0FHRV9WRVJTSU9O
ICIwLjIuMSIKPiArI2RlZmluZSBQQUNLQUdFX1NUUklORyAieWFtbCAwLjIuMSIKPiArI2RlZmlu
ZSBQQUNLQUdFX0JVR1JFUE9SVCAiaHR0cHM6Ly9naXRodWIuY29tL3lhbWwvbGlieWFtbC9pc3N1
ZXMiCj4gKyNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHBzOi8vZ2l0aHViLmNvbS95YW1sL2xpYnlh
bWwiCj4gKyNkZWZpbmUgWUFNTF9WRVJTSU9OX01BSk9SIDAKPiArI2RlZmluZSBZQU1MX1ZFUlNJ
T05fTUlOT1IgMgo+ICsjZGVmaW5lIFlBTUxfVkVSU0lPTl9QQVRDSCAxCj4gKyNkZWZpbmUgWUFN
TF9WRVJTSU9OX1NUUklORyAiMC4yLjEiCj4gZGlmZiAtLWdpdCBhL2dlbmVyYXRlZC9leHQvcHN5
Y2gveWFtbC95YW1sLmggYi9nZW5lcmF0ZWQvZXh0L3BzeWNoL3lhbWwveWFtbC5oCj4gbmV3IGZp
bGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi5mMzNhMTUyCj4gLS0tIC9kZXYvbnVsbAo+
ICsrKyBiL2dlbmVyYXRlZC9leHQvcHN5Y2gveWFtbC95YW1sLmgKPiBAQCAtMCwwICsxLDE5NzEg
QEAKPiArLyoqCj4gKyAqIEBmaWxlIHlhbWwuaAo+ICsgKiBAYnJpZWYgUHVibGljIGludGVyZmFj
ZSBmb3IgbGlieWFtbC4KPiArICoKPiArICogSW5jbHVkZSB0aGUgaGVhZGVyIGZpbGUgd2l0aCB0
aGUgY29kZToKPiArICogQGNvZGUKPiArICogI2luY2x1ZGUgPHlhbWwuaD4KPiArICogQGVuZGNv
ZGUKPiArICovCj4gKwo+ICsjaWZuZGVmIFlBTUxfSAo+ICsjZGVmaW5lIFlBTUxfSAo+ICsKPiAr
I2lmZGVmIF9fY3BsdXNwbHVzCj4gK2V4dGVybiAiQyIgewo+ICsjZW5kaWYKPiArCj4gKyNpbmNs
dWRlIDxzdGRsaWIuaD4KPiArI2luY2x1ZGUgPHN0ZGlvLmg+Cj4gKyNpbmNsdWRlIDxzdHJpbmcu
aD4KPiArCj4gKy8qKgo+ICsgKiBAZGVmZ3JvdXAgZXhwb3J0IEV4cG9ydCBEZWZpbml0aW9ucwo+
ICsgKiBAewo+ICsgKi8KPiArCj4gKy8qKiBUaGUgcHVibGljIEFQSSBkZWNsYXJhdGlvbi4gKi8K
PiArCj4gKyNpZmRlZiBfV0lOMzIKPiArIyAgIGlmIGRlZmluZWQoWUFNTF9ERUNMQVJFX1NUQVRJ
QykKPiArIyAgICAgICBkZWZpbmUgIFlBTUxfREVDTEFSRSh0eXBlKSAgdHlwZQo+ICsjICAgZWxp
ZiBkZWZpbmVkKFlBTUxfREVDTEFSRV9FWFBPUlQpCj4gKyMgICAgICAgZGVmaW5lICBZQU1MX0RF
Q0xBUkUodHlwZSkgIF9fZGVjbHNwZWMoZGxsZXhwb3J0KSB0eXBlCj4gKyMgICBlbHNlCj4gKyMg
ICAgICAgZGVmaW5lICBZQU1MX0RFQ0xBUkUodHlwZSkgIF9fZGVjbHNwZWMoZGxsaW1wb3J0KSB0
eXBlCj4gKyMgICBlbmRpZgo+ICsjZWxzZQo+ICsjICAgZGVmaW5lICBZQU1MX0RFQ0xBUkUodHlw
ZSkgIHR5cGUKPiArI2VuZGlmCj4gKwo+ICsvKiogQH0gKi8KPiArCj4gKy8qKgo+ICsgKiBAZGVm
Z3JvdXAgdmVyc2lvbiBWZXJzaW9uIEluZm9ybWF0aW9uCj4gKyAqIEB7Cj4gKyAqLwo+ICsKPiAr
LyoqCj4gKyAqIEdldCB0aGUgbGlicmFyeSB2ZXJzaW9uIGFzIGEgc3RyaW5nLgo+ICsgKgo+ICsg
KiBAcmV0dXJucyBUaGUgZnVuY3Rpb24gcmV0dXJucyB0aGUgcG9pbnRlciB0byBhIHN0YXRpYyBz
dHJpbmcgb2YgdGhlIGZvcm0KPiArICogQGMgIlguWS5aIiwgd2hlcmUgQGMgWCBpcyB0aGUgbWFq
b3IgdmVyc2lvbiBudW1iZXIsIEBjIFkgaXMgYSBtaW5vciB2ZXJzaW9uCj4gKyAqIG51bWJlciwg
YW5kIEBjIFogaXMgdGhlIHBhdGNoIHZlcnNpb24gbnVtYmVyLgo+ICsgKi8KPiArCj4gK1lBTUxf
REVDTEFSRShjb25zdCBjaGFyICopCj4gK3lhbWxfZ2V0X3ZlcnNpb25fc3RyaW5nKHZvaWQpOwo+
ICsKPiArLyoqCj4gKyAqIEdldCB0aGUgbGlicmFyeSB2ZXJzaW9uIG51bWJlcnMuCj4gKyAqCj4g
KyAqIEBwYXJhbVtvdXRdICAgICAgbWFqb3IgICBNYWpvciB2ZXJzaW9uIG51bWJlci4KPiArICog
QHBhcmFtW291dF0gICAgICBtaW5vciAgIE1pbm9yIHZlcnNpb24gbnVtYmVyLgo+ICsgKiBAcGFy
YW1bb3V0XSAgICAgIHBhdGNoICAgUGF0Y2ggdmVyc2lvbiBudW1iZXIuCj4gKyAqLwo+ICsKPiAr
WUFNTF9ERUNMQVJFKHZvaWQpCj4gK3lhbWxfZ2V0X3ZlcnNpb24oaW50ICptYWpvciwgaW50ICpt
aW5vciwgaW50ICpwYXRjaCk7Cj4gKwo+ICsvKiogQH0gKi8KPiArCj4gKy8qKgo+ICsgKiBAZGVm
Z3JvdXAgYmFzaWMgQmFzaWMgVHlwZXMKPiArICogQHsKPiArICovCj4gKwo+ICsvKiogVGhlIGNo
YXJhY3RlciB0eXBlIChVVEYtOCBvY3RldCkuICovCj4gK3R5cGVkZWYgdW5zaWduZWQgY2hhciB5
YW1sX2NoYXJfdDsKPiArCj4gKy8qKiBUaGUgdmVyc2lvbiBkaXJlY3RpdmUgZGF0YS4gKi8KPiAr
dHlwZWRlZiBzdHJ1Y3QgeWFtbF92ZXJzaW9uX2RpcmVjdGl2ZV9zIHsKPiArICAgIC8qKiBUaGUg
bWFqb3IgdmVyc2lvbiBudW1iZXIuICovCj4gKyAgICBpbnQgbWFqb3I7Cj4gKyAgICAvKiogVGhl
IG1pbm9yIHZlcnNpb24gbnVtYmVyLiAqLwo+ICsgICAgaW50IG1pbm9yOwo+ICt9IHlhbWxfdmVy
c2lvbl9kaXJlY3RpdmVfdDsKPiArCj4gKy8qKiBUaGUgdGFnIGRpcmVjdGl2ZSBkYXRhLiAqLwo+
ICt0eXBlZGVmIHN0cnVjdCB5YW1sX3RhZ19kaXJlY3RpdmVfcyB7Cj4gKyAgICAvKiogVGhlIHRh
ZyBoYW5kbGUuICovCj4gKyAgICB5YW1sX2NoYXJfdCAqaGFuZGxlOwo+ICsgICAgLyoqIFRoZSB0
YWcgcHJlZml4LiAqLwo+ICsgICAgeWFtbF9jaGFyX3QgKnByZWZpeDsKPiArfSB5YW1sX3RhZ19k
aXJlY3RpdmVfdDsKPiArCj4gKy8qKiBUaGUgc3RyZWFtIGVuY29kaW5nLiAqLwo+ICt0eXBlZGVm
IGVudW0geWFtbF9lbmNvZGluZ19lIHsKPiArICAgIC8qKiBMZXQgdGhlIHBhcnNlciBjaG9vc2Ug
dGhlIGVuY29kaW5nLiAqLwo+ICsgICAgWUFNTF9BTllfRU5DT0RJTkcsCj4gKyAgICAvKiogVGhl
IGRlZmF1bHQgVVRGLTggZW5jb2RpbmcuICovCj4gKyAgICBZQU1MX1VURjhfRU5DT0RJTkcsCj4g
KyAgICAvKiogVGhlIFVURi0xNi1MRSBlbmNvZGluZyB3aXRoIEJPTS4gKi8KPiArICAgIFlBTUxf
VVRGMTZMRV9FTkNPRElORywKPiArICAgIC8qKiBUaGUgVVRGLTE2LUJFIGVuY29kaW5nIHdpdGgg
Qk9NLiAqLwo+ICsgICAgWUFNTF9VVEYxNkJFX0VOQ09ESU5HCj4gK30geWFtbF9lbmNvZGluZ190
Owo+ICsKPiArLyoqIExpbmUgYnJlYWsgdHlwZXMuICovCj4gKwo+ICt0eXBlZGVmIGVudW0geWFt
bF9icmVha19lIHsKPiArICAgIC8qKiBMZXQgdGhlIHBhcnNlciBjaG9vc2UgdGhlIGJyZWFrIHR5
cGUuICovCj4gKyAgICBZQU1MX0FOWV9CUkVBSywKPiArICAgIC8qKiBVc2UgQ1IgZm9yIGxpbmUg
YnJlYWtzIChNYWMgc3R5bGUpLiAqLwo+ICsgICAgWUFNTF9DUl9CUkVBSywKPiArICAgIC8qKiBV
c2UgTE4gZm9yIGxpbmUgYnJlYWtzIChVbml4IHN0eWxlKS4gKi8KPiArICAgIFlBTUxfTE5fQlJF
QUssCj4gKyAgICAvKiogVXNlIENSIExOIGZvciBsaW5lIGJyZWFrcyAoRE9TIHN0eWxlKS4gKi8K
PiArICAgIFlBTUxfQ1JMTl9CUkVBSwo+ICt9IHlhbWxfYnJlYWtfdDsKPiArCj4gKy8qKiBNYW55
IGJhZCB0aGluZ3MgY291bGQgaGFwcGVuIHdpdGggdGhlIHBhcnNlciBhbmQgZW1pdHRlci4gKi8K
PiArdHlwZWRlZiBlbnVtIHlhbWxfZXJyb3JfdHlwZV9lIHsKPiArICAgIC8qKiBObyBlcnJvciBp
cyBwcm9kdWNlZC4gKi8KPiArICAgIFlBTUxfTk9fRVJST1IsCj4gKwo+ICsgICAgLyoqIENhbm5v
dCBhbGxvY2F0ZSBvciByZWFsbG9jYXRlIGEgYmxvY2sgb2YgbWVtb3J5LiAqLwo+ICsgICAgWUFN
TF9NRU1PUllfRVJST1IsCj4gKwo+ICsgICAgLyoqIENhbm5vdCByZWFkIG9yIGRlY29kZSB0aGUg
aW5wdXQgc3RyZWFtLiAqLwo+ICsgICAgWUFNTF9SRUFERVJfRVJST1IsCj4gKyAgICAvKiogQ2Fu
bm90IHNjYW4gdGhlIGlucHV0IHN0cmVhbS4gKi8KPiArICAgIFlBTUxfU0NBTk5FUl9FUlJPUiwK
PiArICAgIC8qKiBDYW5ub3QgcGFyc2UgdGhlIGlucHV0IHN0cmVhbS4gKi8KPiArICAgIFlBTUxf
UEFSU0VSX0VSUk9SLAo+ICsgICAgLyoqIENhbm5vdCBjb21wb3NlIGEgWUFNTCBkb2N1bWVudC4g
Ki8KPiArICAgIFlBTUxfQ09NUE9TRVJfRVJST1IsCj4gKwo+ICsgICAgLyoqIENhbm5vdCB3cml0
ZSB0byB0aGUgb3V0cHV0IHN0cmVhbS4gKi8KPiArICAgIFlBTUxfV1JJVEVSX0VSUk9SLAo+ICsg
ICAgLyoqIENhbm5vdCBlbWl0IGEgWUFNTCBzdHJlYW0uICovCj4gKyAgICBZQU1MX0VNSVRURVJf
RVJST1IKPiArfSB5YW1sX2Vycm9yX3R5cGVfdDsKPiArCj4gKy8qKiBUaGUgcG9pbnRlciBwb3Np
dGlvbi4gKi8KPiArdHlwZWRlZiBzdHJ1Y3QgeWFtbF9tYXJrX3Mgewo+ICsgICAgLyoqIFRoZSBw
b3NpdGlvbiBpbmRleC4gKi8KPiArICAgIHNpemVfdCBpbmRleDsKPiArCj4gKyAgICAvKiogVGhl
IHBvc2l0aW9uIGxpbmUuICovCj4gKyAgICBzaXplX3QgbGluZTsKPiArCj4gKyAgICAvKiogVGhl
IHBvc2l0aW9uIGNvbHVtbi4gKi8KPiArICAgIHNpemVfdCBjb2x1bW47Cj4gK30geWFtbF9tYXJr
X3Q7Cj4gKwo+ICsvKiogQH0gKi8KPiArCj4gKy8qKgo+ICsgKiBAZGVmZ3JvdXAgc3R5bGVzIE5v
ZGUgU3R5bGVzCj4gKyAqIEB7Cj4gKyAqLwo+ICsKPiArLyoqIFNjYWxhciBzdHlsZXMuICovCj4g
K3R5cGVkZWYgZW51bSB5YW1sX3NjYWxhcl9zdHlsZV9lIHsKPiArICAgIC8qKiBMZXQgdGhlIGVt
aXR0ZXIgY2hvb3NlIHRoZSBzdHlsZS4gKi8KPiArICAgIFlBTUxfQU5ZX1NDQUxBUl9TVFlMRSwK
PiArCj4gKyAgICAvKiogVGhlIHBsYWluIHNjYWxhciBzdHlsZS4gKi8KPiArICAgIFlBTUxfUExB
SU5fU0NBTEFSX1NUWUxFLAo+ICsKPiArICAgIC8qKiBUaGUgc2luZ2xlLXF1b3RlZCBzY2FsYXIg
c3R5bGUuICovCj4gKyAgICBZQU1MX1NJTkdMRV9RVU9URURfU0NBTEFSX1NUWUxFLAo+ICsgICAg
LyoqIFRoZSBkb3VibGUtcXVvdGVkIHNjYWxhciBzdHlsZS4gKi8KPiArICAgIFlBTUxfRE9VQkxF
X1FVT1RFRF9TQ0FMQVJfU1RZTEUsCj4gKwo+ICsgICAgLyoqIFRoZSBsaXRlcmFsIHNjYWxhciBz
dHlsZS4gKi8KPiArICAgIFlBTUxfTElURVJBTF9TQ0FMQVJfU1RZTEUsCj4gKyAgICAvKiogVGhl
IGZvbGRlZCBzY2FsYXIgc3R5bGUuICovCj4gKyAgICBZQU1MX0ZPTERFRF9TQ0FMQVJfU1RZTEUK
PiArfSB5YW1sX3NjYWxhcl9zdHlsZV90Owo+ICsKPiArLyoqIFNlcXVlbmNlIHN0eWxlcy4gKi8K
PiArdHlwZWRlZiBlbnVtIHlhbWxfc2VxdWVuY2Vfc3R5bGVfZSB7Cj4gKyAgICAvKiogTGV0IHRo
ZSBlbWl0dGVyIGNob29zZSB0aGUgc3R5bGUuICovCj4gKyAgICBZQU1MX0FOWV9TRVFVRU5DRV9T
VFlMRSwKPiArCj4gKyAgICAvKiogVGhlIGJsb2NrIHNlcXVlbmNlIHN0eWxlLiAqLwo+ICsgICAg
WUFNTF9CTE9DS19TRVFVRU5DRV9TVFlMRSwKPiArICAgIC8qKiBUaGUgZmxvdyBzZXF1ZW5jZSBz
dHlsZS4gKi8KPiArICAgIFlBTUxfRkxPV19TRVFVRU5DRV9TVFlMRQo+ICt9IHlhbWxfc2VxdWVu
Y2Vfc3R5bGVfdDsKPiArCj4gKy8qKiBNYXBwaW5nIHN0eWxlcy4gKi8KPiArdHlwZWRlZiBlbnVt
IHlhbWxfbWFwcGluZ19zdHlsZV9lIHsKPiArICAgIC8qKiBMZXQgdGhlIGVtaXR0ZXIgY2hvb3Nl
IHRoZSBzdHlsZS4gKi8KPiArICAgIFlBTUxfQU5ZX01BUFBJTkdfU1RZTEUsCj4gKwo+ICsgICAg
LyoqIFRoZSBibG9jayBtYXBwaW5nIHN0eWxlLiAqLwo+ICsgICAgWUFNTF9CTE9DS19NQVBQSU5H
X1NUWUxFLAo+ICsgICAgLyoqIFRoZSBmbG93IG1hcHBpbmcgc3R5bGUuICovCj4gKyAgICBZQU1M
X0ZMT1dfTUFQUElOR19TVFlMRQo+ICsvKiAgICBZQU1MX0ZMT1dfU0VUX01BUFBJTkdfU1RZTEUg
ICAqLwo+ICt9IHlhbWxfbWFwcGluZ19zdHlsZV90Owo+ICsKPiArLyoqIEB9ICovCj4gKwo+ICsv
KioKPiArICogQGRlZmdyb3VwIHRva2VucyBUb2tlbnMKPiArICogQHsKPiArICovCj4gKwo+ICsv
KiogVG9rZW4gdHlwZXMuICovCj4gK3R5cGVkZWYgZW51bSB5YW1sX3Rva2VuX3R5cGVfZSB7Cj4g
KyAgICAvKiogQW4gZW1wdHkgdG9rZW4uICovCj4gKyAgICBZQU1MX05PX1RPS0VOLAo+ICsKPiAr
ICAgIC8qKiBBIFNUUkVBTS1TVEFSVCB0b2tlbi4gKi8KPiArICAgIFlBTUxfU1RSRUFNX1NUQVJU
X1RPS0VOLAo+ICsgICAgLyoqIEEgU1RSRUFNLUVORCB0b2tlbi4gKi8KPiArICAgIFlBTUxfU1RS
RUFNX0VORF9UT0tFTiwKPiArCj4gKyAgICAvKiogQSBWRVJTSU9OLURJUkVDVElWRSB0b2tlbi4g
Ki8KPiArICAgIFlBTUxfVkVSU0lPTl9ESVJFQ1RJVkVfVE9LRU4sCj4gKyAgICAvKiogQSBUQUct
RElSRUNUSVZFIHRva2VuLiAqLwo+ICsgICAgWUFNTF9UQUdfRElSRUNUSVZFX1RPS0VOLAo+ICsg
ICAgLyoqIEEgRE9DVU1FTlQtU1RBUlQgdG9rZW4uICovCj4gKyAgICBZQU1MX0RPQ1VNRU5UX1NU
QVJUX1RPS0VOLAo+ICsgICAgLyoqIEEgRE9DVU1FTlQtRU5EIHRva2VuLiAqLwo+ICsgICAgWUFN
TF9ET0NVTUVOVF9FTkRfVE9LRU4sCj4gKwo+ICsgICAgLyoqIEEgQkxPQ0stU0VRVUVOQ0UtU1RB
UlQgdG9rZW4uICovCj4gKyAgICBZQU1MX0JMT0NLX1NFUVVFTkNFX1NUQVJUX1RPS0VOLAo+ICsg
ICAgLyoqIEEgQkxPQ0stU0VRVUVOQ0UtRU5EIHRva2VuLiAqLwo+ICsgICAgWUFNTF9CTE9DS19N
QVBQSU5HX1NUQVJUX1RPS0VOLAo+ICsgICAgLyoqIEEgQkxPQ0stRU5EIHRva2VuLiAqLwo+ICsg
ICAgWUFNTF9CTE9DS19FTkRfVE9LRU4sCj4gKwo+ICsgICAgLyoqIEEgRkxPVy1TRVFVRU5DRS1T
VEFSVCB0b2tlbi4gKi8KPiArICAgIFlBTUxfRkxPV19TRVFVRU5DRV9TVEFSVF9UT0tFTiwKPiAr
ICAgIC8qKiBBIEZMT1ctU0VRVUVOQ0UtRU5EIHRva2VuLiAqLwo+ICsgICAgWUFNTF9GTE9XX1NF
UVVFTkNFX0VORF9UT0tFTiwKPiArICAgIC8qKiBBIEZMT1ctTUFQUElORy1TVEFSVCB0b2tlbi4g
Ki8KPiArICAgIFlBTUxfRkxPV19NQVBQSU5HX1NUQVJUX1RPS0VOLAo+ICsgICAgLyoqIEEgRkxP
Vy1NQVBQSU5HLUVORCB0b2tlbi4gKi8KPiArICAgIFlBTUxfRkxPV19NQVBQSU5HX0VORF9UT0tF
TiwKPiArCj4gKyAgICAvKiogQSBCTE9DSy1FTlRSWSB0b2tlbi4gKi8KPiArICAgIFlBTUxfQkxP
Q0tfRU5UUllfVE9LRU4sCj4gKyAgICAvKiogQSBGTE9XLUVOVFJZIHRva2VuLiAqLwo+ICsgICAg
WUFNTF9GTE9XX0VOVFJZX1RPS0VOLAo+ICsgICAgLyoqIEEgS0VZIHRva2VuLiAqLwo+ICsgICAg
WUFNTF9LRVlfVE9LRU4sCj4gKyAgICAvKiogQSBWQUxVRSB0b2tlbi4gKi8KPiArICAgIFlBTUxf
VkFMVUVfVE9LRU4sCj4gKwo+ICsgICAgLyoqIEFuIEFMSUFTIHRva2VuLiAqLwo+ICsgICAgWUFN
TF9BTElBU19UT0tFTiwKPiArICAgIC8qKiBBbiBBTkNIT1IgdG9rZW4uICovCj4gKyAgICBZQU1M
X0FOQ0hPUl9UT0tFTiwKPiArICAgIC8qKiBBIFRBRyB0b2tlbi4gKi8KPiArICAgIFlBTUxfVEFH
X1RPS0VOLAo+ICsgICAgLyoqIEEgU0NBTEFSIHRva2VuLiAqLwo+ICsgICAgWUFNTF9TQ0FMQVJf
VE9LRU4KPiArfSB5YW1sX3Rva2VuX3R5cGVfdDsKPiArCj4gKy8qKiBUaGUgdG9rZW4gc3RydWN0
dXJlLiAqLwo+ICt0eXBlZGVmIHN0cnVjdCB5YW1sX3Rva2VuX3Mgewo+ICsKPiArICAgIC8qKiBU
aGUgdG9rZW4gdHlwZS4gKi8KPiArICAgIHlhbWxfdG9rZW5fdHlwZV90IHR5cGU7Cj4gKwo+ICsg
ICAgLyoqIFRoZSB0b2tlbiBkYXRhLiAqLwo+ICsgICAgdW5pb24gewo+ICsKPiArICAgICAgICAv
KiogVGhlIHN0cmVhbSBzdGFydCAoZm9yIEBjIFlBTUxfU1RSRUFNX1NUQVJUX1RPS0VOKS4gKi8K
PiArICAgICAgICBzdHJ1Y3Qgewo+ICsgICAgICAgICAgICAvKiogVGhlIHN0cmVhbSBlbmNvZGlu
Zy4gKi8KPiArICAgICAgICAgICAgeWFtbF9lbmNvZGluZ190IGVuY29kaW5nOwo+ICsgICAgICAg
IH0gc3RyZWFtX3N0YXJ0Owo+ICsKPiArICAgICAgICAvKiogVGhlIGFsaWFzIChmb3IgQGMgWUFN
TF9BTElBU19UT0tFTikuICovCj4gKyAgICAgICAgc3RydWN0IHsKPiArICAgICAgICAgICAgLyoq
IFRoZSBhbGlhcyB2YWx1ZS4gKi8KPiArICAgICAgICAgICAgeWFtbF9jaGFyX3QgKnZhbHVlOwo+
ICsgICAgICAgIH0gYWxpYXM7Cj4gKwo+ICsgICAgICAgIC8qKiBUaGUgYW5jaG9yIChmb3IgQGMg
WUFNTF9BTkNIT1JfVE9LRU4pLiAqLwo+ICsgICAgICAgIHN0cnVjdCB7Cj4gKyAgICAgICAgICAg
IC8qKiBUaGUgYW5jaG9yIHZhbHVlLiAqLwo+ICsgICAgICAgICAgICB5YW1sX2NoYXJfdCAqdmFs
dWU7Cj4gKyAgICAgICAgfSBhbmNob3I7Cj4gKwo+ICsgICAgICAgIC8qKiBUaGUgdGFnIChmb3Ig
QGMgWUFNTF9UQUdfVE9LRU4pLiAqLwo+ICsgICAgICAgIHN0cnVjdCB7Cj4gKyAgICAgICAgICAg
IC8qKiBUaGUgdGFnIGhhbmRsZS4gKi8KPiArICAgICAgICAgICAgeWFtbF9jaGFyX3QgKmhhbmRs
ZTsKPiArICAgICAgICAgICAgLyoqIFRoZSB0YWcgc3VmZml4LiAqLwo+ICsgICAgICAgICAgICB5
YW1sX2NoYXJfdCAqc3VmZml4Owo+ICsgICAgICAgIH0gdGFnOwo+ICsKPiArICAgICAgICAvKiog
VGhlIHNjYWxhciB2YWx1ZSAoZm9yIEBjIFlBTUxfU0NBTEFSX1RPS0VOKS4gKi8KPiArICAgICAg
ICBzdHJ1Y3Qgewo+ICsgICAgICAgICAgICAvKiogVGhlIHNjYWxhciB2YWx1ZS4gKi8KPiArICAg
ICAgICAgICAgeWFtbF9jaGFyX3QgKnZhbHVlOwo+ICsgICAgICAgICAgICAvKiogVGhlIGxlbmd0
aCBvZiB0aGUgc2NhbGFyIHZhbHVlLiAqLwo+ICsgICAgICAgICAgICBzaXplX3QgbGVuZ3RoOwo+
ICsgICAgICAgICAgICAvKiogVGhlIHNjYWxhciBzdHlsZS4gKi8KPiArICAgICAgICAgICAgeWFt
bF9zY2FsYXJfc3R5bGVfdCBzdHlsZTsKPiArICAgICAgICB9IHNjYWxhcjsKPiArCj4gKyAgICAg
ICAgLyoqIFRoZSB2ZXJzaW9uIGRpcmVjdGl2ZSAoZm9yIEBjIFlBTUxfVkVSU0lPTl9ESVJFQ1RJ
VkVfVE9LRU4pLiAqLwo+ICsgICAgICAgIHN0cnVjdCB7Cj4gKyAgICAgICAgICAgIC8qKiBUaGUg
bWFqb3IgdmVyc2lvbiBudW1iZXIuICovCj4gKyAgICAgICAgICAgIGludCBtYWpvcjsKPiArICAg
ICAgICAgICAgLyoqIFRoZSBtaW5vciB2ZXJzaW9uIG51bWJlci4gKi8KPiArICAgICAgICAgICAg
aW50IG1pbm9yOwo+ICsgICAgICAgIH0gdmVyc2lvbl9kaXJlY3RpdmU7Cj4gKwo+ICsgICAgICAg
IC8qKiBUaGUgdGFnIGRpcmVjdGl2ZSAoZm9yIEBjIFlBTUxfVEFHX0RJUkVDVElWRV9UT0tFTiku
ICovCj4gKyAgICAgICAgc3RydWN0IHsKPiArICAgICAgICAgICAgLyoqIFRoZSB0YWcgaGFuZGxl
LiAqLwo+ICsgICAgICAgICAgICB5YW1sX2NoYXJfdCAqaGFuZGxlOwo+ICsgICAgICAgICAgICAv
KiogVGhlIHRhZyBwcmVmaXguICovCj4gKyAgICAgICAgICAgIHlhbWxfY2hhcl90ICpwcmVmaXg7
Cj4gKyAgICAgICAgfSB0YWdfZGlyZWN0aXZlOwo+ICsKPiArICAgIH0gZGF0YTsKPiArCj4gKyAg
ICAvKiogVGhlIGJlZ2lubmluZyBvZiB0aGUgdG9rZW4uICovCj4gKyAgICB5YW1sX21hcmtfdCBz
dGFydF9tYXJrOwo+ICsgICAgLyoqIFRoZSBlbmQgb2YgdGhlIHRva2VuLiAqLwo+ICsgICAgeWFt
bF9tYXJrX3QgZW5kX21hcms7Cj4gKwo+ICt9IHlhbWxfdG9rZW5fdDsKPiArCj4gKy8qKgo+ICsg
KiBGcmVlIGFueSBtZW1vcnkgYWxsb2NhdGVkIGZvciBhIHRva2VuIG9iamVjdC4KPiArICoKPiAr
ICogQHBhcmFtW2luLG91dF0gICB0b2tlbiAgIEEgdG9rZW4gb2JqZWN0Lgo+ICsgKi8KPiArCj4g
K1lBTUxfREVDTEFSRSh2b2lkKQo+ICt5YW1sX3Rva2VuX2RlbGV0ZSh5YW1sX3Rva2VuX3QgKnRv
a2VuKTsKPiArCj4gKy8qKiBAfSAqLwo+ICsKPiArLyoqCj4gKyAqIEBkZWZncm91cCBldmVudHMg
RXZlbnRzCj4gKyAqIEB7Cj4gKyAqLwo+ICsKPiArLyoqIEV2ZW50IHR5cGVzLiAqLwo+ICt0eXBl
ZGVmIGVudW0geWFtbF9ldmVudF90eXBlX2Ugewo+ICsgICAgLyoqIEFuIGVtcHR5IGV2ZW50LiAq
Lwo+ICsgICAgWUFNTF9OT19FVkVOVCwKPiArCj4gKyAgICAvKiogQSBTVFJFQU0tU1RBUlQgZXZl
bnQuICovCj4gKyAgICBZQU1MX1NUUkVBTV9TVEFSVF9FVkVOVCwKPiArICAgIC8qKiBBIFNUUkVB
TS1FTkQgZXZlbnQuICovCj4gKyAgICBZQU1MX1NUUkVBTV9FTkRfRVZFTlQsCj4gKwo+ICsgICAg
LyoqIEEgRE9DVU1FTlQtU1RBUlQgZXZlbnQuICovCj4gKyAgICBZQU1MX0RPQ1VNRU5UX1NUQVJU
X0VWRU5ULAo+ICsgICAgLyoqIEEgRE9DVU1FTlQtRU5EIGV2ZW50LiAqLwo+ICsgICAgWUFNTF9E
T0NVTUVOVF9FTkRfRVZFTlQsCj4gKwo+ICsgICAgLyoqIEFuIEFMSUFTIGV2ZW50LiAqLwo+ICsg
ICAgWUFNTF9BTElBU19FVkVOVCwKPiArICAgIC8qKiBBIFNDQUxBUiBldmVudC4gKi8KPiArICAg
IFlBTUxfU0NBTEFSX0VWRU5ULAo+ICsKPiArICAgIC8qKiBBIFNFUVVFTkNFLVNUQVJUIGV2ZW50
LiAqLwo+ICsgICAgWUFNTF9TRVFVRU5DRV9TVEFSVF9FVkVOVCwKPiArICAgIC8qKiBBIFNFUVVF
TkNFLUVORCBldmVudC4gKi8KPiArICAgIFlBTUxfU0VRVUVOQ0VfRU5EX0VWRU5ULAo+ICsKPiAr
ICAgIC8qKiBBIE1BUFBJTkctU1RBUlQgZXZlbnQuICovCj4gKyAgICBZQU1MX01BUFBJTkdfU1RB
UlRfRVZFTlQsCj4gKyAgICAvKiogQSBNQVBQSU5HLUVORCBldmVudC4gKi8KPiArICAgIFlBTUxf
TUFQUElOR19FTkRfRVZFTlQKPiArfSB5YW1sX2V2ZW50X3R5cGVfdDsKPiArCj4gKy8qKiBUaGUg
ZXZlbnQgc3RydWN0dXJlLiAqLwo+ICt0eXBlZGVmIHN0cnVjdCB5YW1sX2V2ZW50X3Mgewo+ICsK
PiArICAgIC8qKiBUaGUgZXZlbnQgdHlwZS4gKi8KPiArICAgIHlhbWxfZXZlbnRfdHlwZV90IHR5
cGU7Cj4gKwo+ICsgICAgLyoqIFRoZSBldmVudCBkYXRhLiAqLwo+ICsgICAgdW5pb24gewo+ICsK
PiArICAgICAgICAvKiogVGhlIHN0cmVhbSBwYXJhbWV0ZXJzIChmb3IgQGMgWUFNTF9TVFJFQU1f
U1RBUlRfRVZFTlQpLiAqLwo+ICsgICAgICAgIHN0cnVjdCB7Cj4gKyAgICAgICAgICAgIC8qKiBU
aGUgZG9jdW1lbnQgZW5jb2RpbmcuICovCj4gKyAgICAgICAgICAgIHlhbWxfZW5jb2RpbmdfdCBl
bmNvZGluZzsKPiArICAgICAgICB9IHN0cmVhbV9zdGFydDsKPiArCj4gKyAgICAgICAgLyoqIFRo
ZSBkb2N1bWVudCBwYXJhbWV0ZXJzIChmb3IgQGMgWUFNTF9ET0NVTUVOVF9TVEFSVF9FVkVOVCku
ICovCj4gKyAgICAgICAgc3RydWN0IHsKPiArICAgICAgICAgICAgLyoqIFRoZSB2ZXJzaW9uIGRp
cmVjdGl2ZS4gKi8KPiArICAgICAgICAgICAgeWFtbF92ZXJzaW9uX2RpcmVjdGl2ZV90ICp2ZXJz
aW9uX2RpcmVjdGl2ZTsKPiArCj4gKyAgICAgICAgICAgIC8qKiBUaGUgbGlzdCBvZiB0YWcgZGly
ZWN0aXZlcy4gKi8KPiArICAgICAgICAgICAgc3RydWN0IHsKPiArICAgICAgICAgICAgICAgIC8q
KiBUaGUgYmVnaW5uaW5nIG9mIHRoZSB0YWcgZGlyZWN0aXZlcyBsaXN0LiAqLwo+ICsgICAgICAg
ICAgICAgICAgeWFtbF90YWdfZGlyZWN0aXZlX3QgKnN0YXJ0Owo+ICsgICAgICAgICAgICAgICAg
LyoqIFRoZSBlbmQgb2YgdGhlIHRhZyBkaXJlY3RpdmVzIGxpc3QuICovCj4gKyAgICAgICAgICAg
ICAgICB5YW1sX3RhZ19kaXJlY3RpdmVfdCAqZW5kOwo+ICsgICAgICAgICAgICB9IHRhZ19kaXJl
Y3RpdmVzOwo+ICsKPiArICAgICAgICAgICAgLyoqIElzIHRoZSBkb2N1bWVudCBpbmRpY2F0b3Ig
aW1wbGljaXQ/ICovCj4gKyAgICAgICAgICAgIGludCBpbXBsaWNpdDsKPiArICAgICAgICB9IGRv
Y3VtZW50X3N0YXJ0Owo+ICsKPiArICAgICAgICAvKiogVGhlIGRvY3VtZW50IGVuZCBwYXJhbWV0
ZXJzIChmb3IgQGMgWUFNTF9ET0NVTUVOVF9FTkRfRVZFTlQpLiAqLwo+ICsgICAgICAgIHN0cnVj
dCB7Cj4gKyAgICAgICAgICAgIC8qKiBJcyB0aGUgZG9jdW1lbnQgZW5kIGluZGljYXRvciBpbXBs
aWNpdD8gKi8KPiArICAgICAgICAgICAgaW50IGltcGxpY2l0Owo+ICsgICAgICAgIH0gZG9jdW1l
bnRfZW5kOwo+ICsKPiArICAgICAgICAvKiogVGhlIGFsaWFzIHBhcmFtZXRlcnMgKGZvciBAYyBZ
QU1MX0FMSUFTX0VWRU5UKS4gKi8KPiArICAgICAgICBzdHJ1Y3Qgewo+ICsgICAgICAgICAgICAv
KiogVGhlIGFuY2hvci4gKi8KPiArICAgICAgICAgICAgeWFtbF9jaGFyX3QgKmFuY2hvcjsKPiAr
ICAgICAgICB9IGFsaWFzOwo+ICsKPiArICAgICAgICAvKiogVGhlIHNjYWxhciBwYXJhbWV0ZXJz
IChmb3IgQGMgWUFNTF9TQ0FMQVJfRVZFTlQpLiAqLwo+ICsgICAgICAgIHN0cnVjdCB7Cj4gKyAg
ICAgICAgICAgIC8qKiBUaGUgYW5jaG9yLiAqLwo+ICsgICAgICAgICAgICB5YW1sX2NoYXJfdCAq
YW5jaG9yOwo+ICsgICAgICAgICAgICAvKiogVGhlIHRhZy4gKi8KPiArICAgICAgICAgICAgeWFt
bF9jaGFyX3QgKnRhZzsKPiArICAgICAgICAgICAgLyoqIFRoZSBzY2FsYXIgdmFsdWUuICovCj4g
KyAgICAgICAgICAgIHlhbWxfY2hhcl90ICp2YWx1ZTsKPiArICAgICAgICAgICAgLyoqIFRoZSBs
ZW5ndGggb2YgdGhlIHNjYWxhciB2YWx1ZS4gKi8KPiArICAgICAgICAgICAgc2l6ZV90IGxlbmd0
aDsKPiArICAgICAgICAgICAgLyoqIElzIHRoZSB0YWcgb3B0aW9uYWwgZm9yIHRoZSBwbGFpbiBz
dHlsZT8gKi8KPiArICAgICAgICAgICAgaW50IHBsYWluX2ltcGxpY2l0Owo+ICsgICAgICAgICAg
ICAvKiogSXMgdGhlIHRhZyBvcHRpb25hbCBmb3IgYW55IG5vbi1wbGFpbiBzdHlsZT8gKi8KPiAr
ICAgICAgICAgICAgaW50IHF1b3RlZF9pbXBsaWNpdDsKPiArICAgICAgICAgICAgLyoqIFRoZSBz
Y2FsYXIgc3R5bGUuICovCj4gKyAgICAgICAgICAgIHlhbWxfc2NhbGFyX3N0eWxlX3Qgc3R5bGU7
Cj4gKyAgICAgICAgfSBzY2FsYXI7Cj4gKwo+ICsgICAgICAgIC8qKiBUaGUgc2VxdWVuY2UgcGFy
YW1ldGVycyAoZm9yIEBjIFlBTUxfU0VRVUVOQ0VfU1RBUlRfRVZFTlQpLiAqLwo+ICsgICAgICAg
IHN0cnVjdCB7Cj4gKyAgICAgICAgICAgIC8qKiBUaGUgYW5jaG9yLiAqLwo+ICsgICAgICAgICAg
ICB5YW1sX2NoYXJfdCAqYW5jaG9yOwo+ICsgICAgICAgICAgICAvKiogVGhlIHRhZy4gKi8KPiAr
ICAgICAgICAgICAgeWFtbF9jaGFyX3QgKnRhZzsKPiArICAgICAgICAgICAgLyoqIElzIHRoZSB0
YWcgb3B0aW9uYWw/ICovCj4gKyAgICAgICAgICAgIGludCBpbXBsaWNpdDsKPiArICAgICAgICAg
ICAgLyoqIFRoZSBzZXF1ZW5jZSBzdHlsZS4gKi8KPiArICAgICAgICAgICAgeWFtbF9zZXF1ZW5j
ZV9zdHlsZV90IHN0eWxlOwo+ICsgICAgICAgIH0gc2VxdWVuY2Vfc3RhcnQ7Cj4gKwo+ICsgICAg
ICAgIC8qKiBUaGUgbWFwcGluZyBwYXJhbWV0ZXJzIChmb3IgQGMgWUFNTF9NQVBQSU5HX1NUQVJU
X0VWRU5UKS4gKi8KPiArICAgICAgICBzdHJ1Y3Qgewo+ICsgICAgICAgICAgICAvKiogVGhlIGFu
Y2hvci4gKi8KPiArICAgICAgICAgICAgeWFtbF9jaGFyX3QgKmFuY2hvcjsKPiArICAgICAgICAg
ICAgLyoqIFRoZSB0YWcuICovCj4gKyAgICAgICAgICAgIHlhbWxfY2hhcl90ICp0YWc7Cj4gKyAg
ICAgICAgICAgIC8qKiBJcyB0aGUgdGFnIG9wdGlvbmFsPyAqLwo+ICsgICAgICAgICAgICBpbnQg
aW1wbGljaXQ7Cj4gKyAgICAgICAgICAgIC8qKiBUaGUgbWFwcGluZyBzdHlsZS4gKi8KPiArICAg
ICAgICAgICAgeWFtbF9tYXBwaW5nX3N0eWxlX3Qgc3R5bGU7Cj4gKyAgICAgICAgfSBtYXBwaW5n
X3N0YXJ0Owo+ICsKPiArICAgIH0gZGF0YTsKPiArCj4gKyAgICAvKiogVGhlIGJlZ2lubmluZyBv
ZiB0aGUgZXZlbnQuICovCj4gKyAgICB5YW1sX21hcmtfdCBzdGFydF9tYXJrOwo+ICsgICAgLyoq
IFRoZSBlbmQgb2YgdGhlIGV2ZW50LiAqLwo+ICsgICAgeWFtbF9tYXJrX3QgZW5kX21hcms7Cj4g
Kwo+ICt9IHlhbWxfZXZlbnRfdDsKPiArCj4gKy8qKgo+ICsgKiBDcmVhdGUgdGhlIFNUUkVBTS1T
VEFSVCBldmVudC4KPiArICoKPiArICogQHBhcmFtW291dF0gICAgICBldmVudCAgICAgICBBbiBl
bXB0eSBldmVudCBvYmplY3QuCj4gKyAqIEBwYXJhbVtpbl0gICAgICAgZW5jb2RpbmcgICAgVGhl
IHN0cmVhbSBlbmNvZGluZy4KPiArICoKPiArICogQHJldHVybnMgQGMgMSBpZiB0aGUgZnVuY3Rp
b24gc3VjY2VlZGVkLCBAYyAwIG9uIGVycm9yLgo+ICsgKi8KPiArCj4gK1lBTUxfREVDTEFSRShp
bnQpCj4gK3lhbWxfc3RyZWFtX3N0YXJ0X2V2ZW50X2luaXRpYWxpemUoeWFtbF9ldmVudF90ICpl
dmVudCwKPiArICAgICAgICB5YW1sX2VuY29kaW5nX3QgZW5jb2RpbmcpOwo+ICsKPiArLyoqCj4g
KyAqIENyZWF0ZSB0aGUgU1RSRUFNLUVORCBldmVudC4KPiArICoKPiArICogQHBhcmFtW291dF0g
ICAgICBldmVudCAgICAgICBBbiBlbXB0eSBldmVudCBvYmplY3QuCj4gKyAqCj4gKyAqIEByZXR1
cm5zIEBjIDEgaWYgdGhlIGZ1bmN0aW9uIHN1Y2NlZWRlZCwgQGMgMCBvbiBlcnJvci4KPiArICov
Cj4gKwo+ICtZQU1MX0RFQ0xBUkUoaW50KQo+ICt5YW1sX3N0cmVhbV9lbmRfZXZlbnRfaW5pdGlh
bGl6ZSh5YW1sX2V2ZW50X3QgKmV2ZW50KTsKPiArCj4gKy8qKgo+ICsgKiBDcmVhdGUgdGhlIERP
Q1VNRU5ULVNUQVJUIGV2ZW50Lgo+ICsgKgo+ICsgKiBUaGUgQGEgaW1wbGljaXQgYXJndW1lbnQg
aXMgY29uc2lkZXJlZCBhcyBhIHN0eWxpc3RpYyBwYXJhbWV0ZXIgYW5kIG1heSBiZQo+ICsgKiBp
Z25vcmVkIGJ5IHRoZSBlbWl0dGVyLgo+ICsgKgo+ICsgKiBAcGFyYW1bb3V0XSAgICAgIGV2ZW50
ICAgICAgICAgICAgICAgICAgIEFuIGVtcHR5IGV2ZW50IG9iamVjdC4KPiArICogQHBhcmFtW2lu
XSAgICAgICB2ZXJzaW9uX2RpcmVjdGl2ZSAgICAgICBUaGUgJVlBTUwgZGlyZWN0aXZlIHZhbHVl
IG9yCj4gKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGMgTlVM
TC4KPiArICogQHBhcmFtW2luXSAgICAgICB0YWdfZGlyZWN0aXZlc19zdGFydCAgICBUaGUgYmVn
aW5uaW5nIG9mIHRoZSAlVEFHCj4gKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZGlyZWN0aXZlcyBsaXN0Lgo+ICsgKiBAcGFyYW1baW5dICAgICAgIHRhZ19kaXJl
Y3RpdmVzX2VuZCAgICAgIFRoZSBlbmQgb2YgdGhlICVUQUcgZGlyZWN0aXZlcwo+ICsgKiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3QuCj4gKyAqIEBwYXJhbVtp
bl0gICAgICAgaW1wbGljaXQgICAgICAgICAgICAgICAgSWYgdGhlIGRvY3VtZW50IHN0YXJ0IGlu
ZGljYXRvciBpcwo+ICsgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGltcGxpY2l0Lgo+ICsgKgo+ICsgKiBAcmV0dXJucyBAYyAxIGlmIHRoZSBmdW5jdGlvbiBzdWNj
ZWVkZWQsIEBjIDAgb24gZXJyb3IuCj4gKyAqLwo+ICsKPiArWUFNTF9ERUNMQVJFKGludCkKPiAr
eWFtbF9kb2N1bWVudF9zdGFydF9ldmVudF9pbml0aWFsaXplKHlhbWxfZXZlbnRfdCAqZXZlbnQs
Cj4gKyAgICAgICAgeWFtbF92ZXJzaW9uX2RpcmVjdGl2ZV90ICp2ZXJzaW9uX2RpcmVjdGl2ZSwK
PiArICAgICAgICB5YW1sX3RhZ19kaXJlY3RpdmVfdCAqdGFnX2RpcmVjdGl2ZXNfc3RhcnQsCj4g
KyAgICAgICAgeWFtbF90YWdfZGlyZWN0aXZlX3QgKnRhZ19kaXJlY3RpdmVzX2VuZCwKPiArICAg
ICAgICBpbnQgaW1wbGljaXQpOwo+ICsKPiArLyoqCj4gKyAqIENyZWF0ZSB0aGUgRE9DVU1FTlQt
RU5EIGV2ZW50Lgo+ICsgKgo+ICsgKiBUaGUgQGEgaW1wbGljaXQgYXJndW1lbnQgaXMgY29uc2lk
ZXJlZCBhcyBhIHN0eWxpc3RpYyBwYXJhbWV0ZXIgYW5kIG1heSBiZQo+ICsgKiBpZ25vcmVkIGJ5
IHRoZSBlbWl0dGVyLgo+ICsgKgo+ICsgKiBAcGFyYW1bb3V0XSAgICAgIGV2ZW50ICAgICAgIEFu
IGVtcHR5IGV2ZW50IG9iamVjdC4KPiArICogQHBhcmFtW2luXSAgICAgICBpbXBsaWNpdCAgICBJ
ZiB0aGUgZG9jdW1lbnQgZW5kIGluZGljYXRvciBpcyBpbXBsaWNpdC4KPiArICoKPiArICogQHJl
dHVybnMgQGMgMSBpZiB0aGUgZnVuY3Rpb24gc3VjY2VlZGVkLCBAYyAwIG9uIGVycm9yLgo+ICsg
Ki8KPiArCj4gK1lBTUxfREVDTEFSRShpbnQpCj4gK3lhbWxfZG9jdW1lbnRfZW5kX2V2ZW50X2lu
aXRpYWxpemUoeWFtbF9ldmVudF90ICpldmVudCwgaW50IGltcGxpY2l0KTsKPiArCj4gKy8qKgo+
ICsgKiBDcmVhdGUgYW4gQUxJQVMgZXZlbnQuCj4gKyAqCj4gKyAqIEBwYXJhbVtvdXRdICAgICAg
ZXZlbnQgICAgICAgQW4gZW1wdHkgZXZlbnQgb2JqZWN0Lgo+ICsgKiBAcGFyYW1baW5dICAgICAg
IGFuY2hvciAgICAgIFRoZSBhbmNob3IgdmFsdWUuCj4gKyAqCj4gKyAqIEByZXR1cm5zIEBjIDEg
aWYgdGhlIGZ1bmN0aW9uIHN1Y2NlZWRlZCwgQGMgMCBvbiBlcnJvci4KPiArICovCj4gKwo+ICtZ
QU1MX0RFQ0xBUkUoaW50KQo+ICt5YW1sX2FsaWFzX2V2ZW50X2luaXRpYWxpemUoeWFtbF9ldmVu
dF90ICpldmVudCwgeWFtbF9jaGFyX3QgKmFuY2hvcik7Cj4gKwo+ICsvKioKPiArICogQ3JlYXRl
IGEgU0NBTEFSIGV2ZW50Lgo+ICsgKgo+ICsgKiBUaGUgQGEgc3R5bGUgYXJndW1lbnQgbWF5IGJl
IGlnbm9yZWQgYnkgdGhlIGVtaXR0ZXIuCj4gKyAqCj4gKyAqIEVpdGhlciB0aGUgQGEgdGFnIGF0
dHJpYnV0ZSBvciBvbmUgb2YgdGhlIEBhIHBsYWluX2ltcGxpY2l0IGFuZAo+ICsgKiBAYSBxdW90
ZWRfaW1wbGljaXQgZmxhZ3MgbXVzdCBiZSBzZXQuCj4gKyAqCj4gKyAqIEBwYXJhbVtvdXRdICAg
ICAgZXZlbnQgICAgICAgICAgIEFuIGVtcHR5IGV2ZW50IG9iamVjdC4KPiArICogQHBhcmFtW2lu
XSAgICAgICBhbmNob3IgICAgICAgICAgVGhlIHNjYWxhciBhbmNob3Igb3IgQGMgTlVMTC4KPiAr
ICogQHBhcmFtW2luXSAgICAgICB0YWcgICAgICAgICAgICAgVGhlIHNjYWxhciB0YWcgb3IgQGMg
TlVMTC4KPiArICogQHBhcmFtW2luXSAgICAgICB2YWx1ZSAgICAgICAgICAgVGhlIHNjYWxhciB2
YWx1ZS4KPiArICogQHBhcmFtW2luXSAgICAgICBsZW5ndGggICAgICAgICAgVGhlIGxlbmd0aCBv
ZiB0aGUgc2NhbGFyIHZhbHVlLgo+ICsgKiBAcGFyYW1baW5dICAgICAgIHBsYWluX2ltcGxpY2l0
ICBJZiB0aGUgdGFnIG1heSBiZSBvbWl0dGVkIGZvciB0aGUgcGxhaW4KPiArICogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGUuCj4gKyAqIEBwYXJhbVtpbl0gICAgICAgcXVv
dGVkX2ltcGxpY2l0IElmIHRoZSB0YWcgbWF5IGJlIG9taXR0ZWQgZm9yIGFueQo+ICsgKiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub24tcGxhaW4gc3R5bGUuCj4gKyAqIEBwYXJh
bVtpbl0gICAgICAgc3R5bGUgICAgICAgICAgIFRoZSBzY2FsYXIgc3R5bGUuCj4gKyAqCj4gKyAq
IEByZXR1cm5zIEBjIDEgaWYgdGhlIGZ1bmN0aW9uIHN1Y2NlZWRlZCwgQGMgMCBvbiBlcnJvci4K
PiArICovCj4gKwo+ICtZQU1MX0RFQ0xBUkUoaW50KQo+ICt5YW1sX3NjYWxhcl9ldmVudF9pbml0
aWFsaXplKHlhbWxfZXZlbnRfdCAqZXZlbnQsCj4gKyAgICAgICAgeWFtbF9jaGFyX3QgKmFuY2hv
ciwgeWFtbF9jaGFyX3QgKnRhZywKPiArICAgICAgICB5YW1sX2NoYXJfdCAqdmFsdWUsIGludCBs
ZW5ndGgsCj4gKyAgICAgICAgaW50IHBsYWluX2ltcGxpY2l0LCBpbnQgcXVvdGVkX2ltcGxpY2l0
LAo+ICsgICAgICAgIHlhbWxfc2NhbGFyX3N0eWxlX3Qgc3R5bGUpOwo+ICsKPiArLyoqCj4gKyAq
IENyZWF0ZSBhIFNFUVVFTkNFLVNUQVJUIGV2ZW50Lgo+ICsgKgo+ICsgKiBUaGUgQGEgc3R5bGUg
YXJndW1lbnQgbWF5IGJlIGlnbm9yZWQgYnkgdGhlIGVtaXR0ZXIuCj4gKyAqCj4gKyAqIEVpdGhl
ciB0aGUgQGEgdGFnIGF0dHJpYnV0ZSBvciB0aGUgQGEgaW1wbGljaXQgZmxhZyBtdXN0IGJlIHNl
dC4KPiArICoKPiArICogQHBhcmFtW291dF0gICAgICBldmVudCAgICAgICBBbiBlbXB0eSBldmVu
dCBvYmplY3QuCj4gKyAqIEBwYXJhbVtpbl0gICAgICAgYW5jaG9yICAgICAgVGhlIHNlcXVlbmNl
IGFuY2hvciBvciBAYyBOVUxMLgo+ICsgKiBAcGFyYW1baW5dICAgICAgIHRhZyAgICAgICAgIFRo
ZSBzZXF1ZW5jZSB0YWcgb3IgQGMgTlVMTC4KPiArICogQHBhcmFtW2luXSAgICAgICBpbXBsaWNp
dCAgICBJZiB0aGUgdGFnIG1heSBiZSBvbWl0dGVkLgo+ICsgKiBAcGFyYW1baW5dICAgICAgIHN0
eWxlICAgICAgIFRoZSBzZXF1ZW5jZSBzdHlsZS4KPiArICoKPiArICogQHJldHVybnMgQGMgMSBp
ZiB0aGUgZnVuY3Rpb24gc3VjY2VlZGVkLCBAYyAwIG9uIGVycm9yLgo+ICsgKi8KPiArCj4gK1lB
TUxfREVDTEFSRShpbnQpCj4gK3lhbWxfc2VxdWVuY2Vfc3RhcnRfZXZlbnRfaW5pdGlhbGl6ZSh5
YW1sX2V2ZW50X3QgKmV2ZW50LAo+ICsgICAgICAgIHlhbWxfY2hhcl90ICphbmNob3IsIHlhbWxf
Y2hhcl90ICp0YWcsIGludCBpbXBsaWNpdCwKPiArICAgICAgICB5YW1sX3NlcXVlbmNlX3N0eWxl
X3Qgc3R5bGUpOwo+ICsKPiArLyoqCj4gKyAqIENyZWF0ZSBhIFNFUVVFTkNFLUVORCBldmVudC4K
PiArICoKPiArICogQHBhcmFtW291dF0gICAgICBldmVudCAgICAgICBBbiBlbXB0eSBldmVudCBv
YmplY3QuCj4gKyAqCj4gKyAqIEByZXR1cm5zIEBjIDEgaWYgdGhlIGZ1bmN0aW9uIHN1Y2NlZWRl
ZCwgQGMgMCBvbiBlcnJvci4KPiArICovCj4gKwo+ICtZQU1MX0RFQ0xBUkUoaW50KQo+ICt5YW1s
X3NlcXVlbmNlX2VuZF9ldmVudF9pbml0aWFsaXplKHlhbWxfZXZlbnRfdCAqZXZlbnQpOwo+ICsK
PiArLyoqCj4gKyAqIENyZWF0ZSBhIE1BUFBJTkctU1RBUlQgZXZlbnQuCj4gKyAqCj4gKyAqIFRo
ZSBAYSBzdHlsZSBhcmd1bWVudCBtYXkgYmUgaWdub3JlZCBieSB0aGUgZW1pdHRlci4KPiArICoK
PiArICogRWl0aGVyIHRoZSBAYSB0YWcgYXR0cmlidXRlIG9yIHRoZSBAYSBpbXBsaWNpdCBmbGFn
IG11c3QgYmUgc2V0Lgo+ICsgKgo+ICsgKiBAcGFyYW1bb3V0XSAgICAgIGV2ZW50ICAgICAgIEFu
IGVtcHR5IGV2ZW50IG9iamVjdC4KPiArICogQHBhcmFtW2luXSAgICAgICBhbmNob3IgICAgICBU
aGUgbWFwcGluZyBhbmNob3Igb3IgQGMgTlVMTC4KPiArICogQHBhcmFtW2luXSAgICAgICB0YWcg
ICAgICAgICBUaGUgbWFwcGluZyB0YWcgb3IgQGMgTlVMTC4KPiArICogQHBhcmFtW2luXSAgICAg
ICBpbXBsaWNpdCAgICBJZiB0aGUgdGFnIG1heSBiZSBvbWl0dGVkLgo+ICsgKiBAcGFyYW1baW5d
ICAgICAgIHN0eWxlICAgICAgIFRoZSBtYXBwaW5nIHN0eWxlLgo+ICsgKgo+ICsgKiBAcmV0dXJu
cyBAYyAxIGlmIHRoZSBmdW5jdGlvbiBzdWNjZWVkZWQsIEBjIDAgb24gZXJyb3IuCj4gKyAqLwo+
ICsKPiArWUFNTF9ERUNMQVJFKGludCkKPiAreWFtbF9tYXBwaW5nX3N0YXJ0X2V2ZW50X2luaXRp
YWxpemUoeWFtbF9ldmVudF90ICpldmVudCwKPiArICAgICAgICB5YW1sX2NoYXJfdCAqYW5jaG9y
LCB5YW1sX2NoYXJfdCAqdGFnLCBpbnQgaW1wbGljaXQsCj4gKyAgICAgICAgeWFtbF9tYXBwaW5n
X3N0eWxlX3Qgc3R5bGUpOwo+ICsKPiArLyoqCj4gKyAqIENyZWF0ZSBhIE1BUFBJTkctRU5EIGV2
ZW50Lgo+ICsgKgo+ICsgKiBAcGFyYW1bb3V0XSAgICAgIGV2ZW50ICAgICAgIEFuIGVtcHR5IGV2
ZW50IG9iamVjdC4KPiArICoKPiArICogQHJldHVybnMgQGMgMSBpZiB0aGUgZnVuY3Rpb24gc3Vj
Y2VlZGVkLCBAYyAwIG9uIGVycm9yLgo+ICsgKi8KPiArCj4gK1lBTUxfREVDTEFSRShpbnQpCj4g
K3lhbWxfbWFwcGluZ19lbmRfZXZlbnRfaW5pdGlhbGl6ZSh5YW1sX2V2ZW50X3QgKmV2ZW50KTsK
PiArCj4gKy8qKgo+ICsgKiBGcmVlIGFueSBtZW1vcnkgYWxsb2NhdGVkIGZvciBhbiBldmVudCBv
YmplY3QuCj4gKyAqCj4gKyAqIEBwYXJhbVtpbixvdXRdICAgZXZlbnQgICBBbiBldmVudCBvYmpl
Y3QuCj4gKyAqLwo+ICsKPiArWUFNTF9ERUNMQVJFKHZvaWQpCj4gK3lhbWxfZXZlbnRfZGVsZXRl
KHlhbWxfZXZlbnRfdCAqZXZlbnQpOwo+ICsKPiArLyoqIEB9ICovCj4gKwo+ICsvKioKPiArICog
QGRlZmdyb3VwIG5vZGVzIE5vZGVzCj4gKyAqIEB7Cj4gKyAqLwo+ICsKPiArLyoqIFRoZSB0YWcg
QGMgISFudWxsIHdpdGggdGhlIG9ubHkgcG9zc2libGUgdmFsdWU6IEBjIG51bGwuICovCj4gKyNk
ZWZpbmUgWUFNTF9OVUxMX1RBRyAgICAgICAidGFnOnlhbWwub3JnLDIwMDI6bnVsbCIKPiArLyoq
IFRoZSB0YWcgQGMgISFib29sIHdpdGggdGhlIHZhbHVlczogQGMgdHJ1ZSBhbmQgQGMgZmFsY2Uu
ICovCj4gKyNkZWZpbmUgWUFNTF9CT09MX1RBRyAgICAgICAidGFnOnlhbWwub3JnLDIwMDI6Ym9v
bCIKPiArLyoqIFRoZSB0YWcgQGMgISFzdHIgZm9yIHN0cmluZyB2YWx1ZXMuICovCj4gKyNkZWZp
bmUgWUFNTF9TVFJfVEFHICAgICAgICAidGFnOnlhbWwub3JnLDIwMDI6c3RyIgo+ICsvKiogVGhl
IHRhZyBAYyAhIWludCBmb3IgaW50ZWdlciB2YWx1ZXMuICovCj4gKyNkZWZpbmUgWUFNTF9JTlRf
VEFHICAgICAgICAidGFnOnlhbWwub3JnLDIwMDI6aW50Igo+ICsvKiogVGhlIHRhZyBAYyAhIWZs
b2F0IGZvciBmbG9hdCB2YWx1ZXMuICovCj4gKyNkZWZpbmUgWUFNTF9GTE9BVF9UQUcgICAgICAi
dGFnOnlhbWwub3JnLDIwMDI6ZmxvYXQiCj4gKy8qKiBUaGUgdGFnIEBjICEhdGltZXN0YW1wIGZv
ciBkYXRlIGFuZCB0aW1lIHZhbHVlcy4gKi8KPiArI2RlZmluZSBZQU1MX1RJTUVTVEFNUF9UQUcg
ICJ0YWc6eWFtbC5vcmcsMjAwMjp0aW1lc3RhbXAiCj4gKwo+ICsvKiogVGhlIHRhZyBAYyAhIXNl
cSBpcyB1c2VkIHRvIGRlbm90ZSBzZXF1ZW5jZXMuICovCj4gKyNkZWZpbmUgWUFNTF9TRVFfVEFH
ICAgICAgICAidGFnOnlhbWwub3JnLDIwMDI6c2VxIgo+ICsvKiogVGhlIHRhZyBAYyAhIW1hcCBp
cyB1c2VkIHRvIGRlbm90ZSBtYXBwaW5nLiAqLwo+ICsjZGVmaW5lIFlBTUxfTUFQX1RBRyAgICAg
ICAgInRhZzp5YW1sLm9yZywyMDAyOm1hcCIKPiArCj4gKy8qKiBUaGUgZGVmYXVsdCBzY2FsYXIg
dGFnIGlzIEBjICEhc3RyLiAqLwo+ICsjZGVmaW5lIFlBTUxfREVGQVVMVF9TQ0FMQVJfVEFHICAg
ICBZQU1MX1NUUl9UQUcKPiArLyoqIFRoZSBkZWZhdWx0IHNlcXVlbmNlIHRhZyBpcyBAYyAhIXNl
cS4gKi8KPiArI2RlZmluZSBZQU1MX0RFRkFVTFRfU0VRVUVOQ0VfVEFHICAgWUFNTF9TRVFfVEFH
Cj4gKy8qKiBUaGUgZGVmYXVsdCBtYXBwaW5nIHRhZyBpcyBAYyAhIW1hcC4gKi8KPiArI2RlZmlu
ZSBZQU1MX0RFRkFVTFRfTUFQUElOR19UQUcgICAgWUFNTF9NQVBfVEFHCj4gKwo+ICsvKiogTm9k
ZSB0eXBlcy4gKi8KPiArdHlwZWRlZiBlbnVtIHlhbWxfbm9kZV90eXBlX2Ugewo+ICsgICAgLyoq
IEFuIGVtcHR5IG5vZGUuICovCj4gKyAgICBZQU1MX05PX05PREUsCj4gKwo+ICsgICAgLyoqIEEg
c2NhbGFyIG5vZGUuICovCj4gKyAgICBZQU1MX1NDQUxBUl9OT0RFLAo+ICsgICAgLyoqIEEgc2Vx
dWVuY2Ugbm9kZS4gKi8KPiArICAgIFlBTUxfU0VRVUVOQ0VfTk9ERSwKPiArICAgIC8qKiBBIG1h
cHBpbmcgbm9kZS4gKi8KPiArICAgIFlBTUxfTUFQUElOR19OT0RFCj4gK30geWFtbF9ub2RlX3R5
cGVfdDsKPiArCj4gKy8qKiBUaGUgZm9yd2FyZCBkZWZpbml0aW9uIG9mIGEgZG9jdW1lbnQgbm9k
ZSBzdHJ1Y3R1cmUuICovCj4gK3R5cGVkZWYgc3RydWN0IHlhbWxfbm9kZV9zIHlhbWxfbm9kZV90
Owo+ICsKPiArLyoqIEFuIGVsZW1lbnQgb2YgYSBzZXF1ZW5jZSBub2RlLiAqLwo+ICt0eXBlZGVm
IGludCB5YW1sX25vZGVfaXRlbV90Owo+ICsKPiArLyoqIEFuIGVsZW1lbnQgb2YgYSBtYXBwaW5n
IG5vZGUuICovCj4gK3R5cGVkZWYgc3RydWN0IHlhbWxfbm9kZV9wYWlyX3Mgewo+ICsgICAgLyoq
IFRoZSBrZXkgb2YgdGhlIGVsZW1lbnQuICovCj4gKyAgICBpbnQga2V5Owo+ICsgICAgLyoqIFRo
ZSB2YWx1ZSBvZiB0aGUgZWxlbWVudC4gKi8KPiArICAgIGludCB2YWx1ZTsKPiArfSB5YW1sX25v
ZGVfcGFpcl90Owo+ICsKPiArLyoqIFRoZSBub2RlIHN0cnVjdHVyZS4gKi8KPiArc3RydWN0IHlh
bWxfbm9kZV9zIHsKPiArCj4gKyAgICAvKiogVGhlIG5vZGUgdHlwZS4gKi8KPiArICAgIHlhbWxf
bm9kZV90eXBlX3QgdHlwZTsKPiArCj4gKyAgICAvKiogVGhlIG5vZGUgdGFnLiAqLwo+ICsgICAg
eWFtbF9jaGFyX3QgKnRhZzsKPiArCj4gKyAgICAvKiogVGhlIG5vZGUgZGF0YS4gKi8KPiArICAg
IHVuaW9uIHsKPiArCj4gKyAgICAgICAgLyoqIFRoZSBzY2FsYXIgcGFyYW1ldGVycyAoZm9yIEBj
IFlBTUxfU0NBTEFSX05PREUpLiAqLwo+ICsgICAgICAgIHN0cnVjdCB7Cj4gKyAgICAgICAgICAg
IC8qKiBUaGUgc2NhbGFyIHZhbHVlLiAqLwo+ICsgICAgICAgICAgICB5YW1sX2NoYXJfdCAqdmFs
dWU7Cj4gKyAgICAgICAgICAgIC8qKiBUaGUgbGVuZ3RoIG9mIHRoZSBzY2FsYXIgdmFsdWUuICov
Cj4gKyAgICAgICAgICAgIHNpemVfdCBsZW5ndGg7Cj4gKyAgICAgICAgICAgIC8qKiBUaGUgc2Nh
bGFyIHN0eWxlLiAqLwo+ICsgICAgICAgICAgICB5YW1sX3NjYWxhcl9zdHlsZV90IHN0eWxlOwo+
ICsgICAgICAgIH0gc2NhbGFyOwo+ICsKPiArICAgICAgICAvKiogVGhlIHNlcXVlbmNlIHBhcmFt
ZXRlcnMgKGZvciBAYyBZQU1MX1NFUVVFTkNFX05PREUpLiAqLwo+ICsgICAgICAgIHN0cnVjdCB7
Cj4gKyAgICAgICAgICAgIC8qKiBUaGUgc3RhY2sgb2Ygc2VxdWVuY2UgaXRlbXMuICovCj4gKyAg
ICAgICAgICAgIHN0cnVjdCB7Cj4gKyAgICAgICAgICAgICAgICAvKiogVGhlIGJlZ2lubmluZyBv
ZiB0aGUgc3RhY2suICovCj4gKyAgICAgICAgICAgICAgICB5YW1sX25vZGVfaXRlbV90ICpzdGFy
dDsKPiArICAgICAgICAgICAgICAgIC8qKiBUaGUgZW5kIG9mIHRoZSBzdGFjay4gKi8KPiArICAg
ICAgICAgICAgICAgIHlhbWxfbm9kZV9pdGVtX3QgKmVuZDsKPiArICAgICAgICAgICAgICAgIC8q
KiBUaGUgdG9wIG9mIHRoZSBzdGFjay4gKi8KPiArICAgICAgICAgICAgICAgIHlhbWxfbm9kZV9p
dGVtX3QgKnRvcDsKPiArICAgICAgICAgICAgfSBpdGVtczsKPiArICAgICAgICAgICAgLyoqIFRo
ZSBzZXF1ZW5jZSBzdHlsZS4gKi8KPiArICAgICAgICAgICAgeWFtbF9zZXF1ZW5jZV9zdHlsZV90
IHN0eWxlOwo+ICsgICAgICAgIH0gc2VxdWVuY2U7Cj4gKwo+ICsgICAgICAgIC8qKiBUaGUgbWFw
cGluZyBwYXJhbWV0ZXJzIChmb3IgQGMgWUFNTF9NQVBQSU5HX05PREUpLiAqLwo+ICsgICAgICAg
IHN0cnVjdCB7Cj4gKyAgICAgICAgICAgIC8qKiBUaGUgc3RhY2sgb2YgbWFwcGluZyBwYWlycyAo
a2V5LCB2YWx1ZSkuICovCj4gKyAgICAgICAgICAgIHN0cnVjdCB7Cj4gKyAgICAgICAgICAgICAg
ICAvKiogVGhlIGJlZ2lubmluZyBvZiB0aGUgc3RhY2suICovCj4gKyAgICAgICAgICAgICAgICB5
YW1sX25vZGVfcGFpcl90ICpzdGFydDsKPiArICAgICAgICAgICAgICAgIC8qKiBUaGUgZW5kIG9m
IHRoZSBzdGFjay4gKi8KPiArICAgICAgICAgICAgICAgIHlhbWxfbm9kZV9wYWlyX3QgKmVuZDsK
PiArICAgICAgICAgICAgICAgIC8qKiBUaGUgdG9wIG9mIHRoZSBzdGFjay4gKi8KPiArICAgICAg
ICAgICAgICAgIHlhbWxfbm9kZV9wYWlyX3QgKnRvcDsKPiArICAgICAgICAgICAgfSBwYWlyczsK
PiArICAgICAgICAgICAgLyoqIFRoZSBtYXBwaW5nIHN0eWxlLiAqLwo+ICsgICAgICAgICAgICB5
YW1sX21hcHBpbmdfc3R5bGVfdCBzdHlsZTsKPiArICAgICAgICB9IG1hcHBpbmc7Cj4gKwo+ICsg
ICAgfSBkYXRhOwo+ICsKPiArICAgIC8qKiBUaGUgYmVnaW5uaW5nIG9mIHRoZSBub2RlLiAqLwo+
ICsgICAgeWFtbF9tYXJrX3Qgc3RhcnRfbWFyazsKPiArICAgIC8qKiBUaGUgZW5kIG9mIHRoZSBu
b2RlLiAqLwo+ICsgICAgeWFtbF9tYXJrX3QgZW5kX21hcms7Cj4gKwo+ICt9Owo+ICsKPiArLyoq
IFRoZSBkb2N1bWVudCBzdHJ1Y3R1cmUuICovCj4gK3R5cGVkZWYgc3RydWN0IHlhbWxfZG9jdW1l
bnRfcyB7Cj4gKwo+ICsgICAgLyoqIFRoZSBkb2N1bWVudCBub2Rlcy4gKi8KPiArICAgIHN0cnVj
dCB7Cj4gKyAgICAgICAgLyoqIFRoZSBiZWdpbm5pbmcgb2YgdGhlIHN0YWNrLiAqLwo+ICsgICAg
ICAgIHlhbWxfbm9kZV90ICpzdGFydDsKPiArICAgICAgICAvKiogVGhlIGVuZCBvZiB0aGUgc3Rh
Y2suICovCj4gKyAgICAgICAgeWFtbF9ub2RlX3QgKmVuZDsKPiArICAgICAgICAvKiogVGhlIHRv
cCBvZiB0aGUgc3RhY2suICovCj4gKyAgICAgICAgeWFtbF9ub2RlX3QgKnRvcDsKPiArICAgIH0g
bm9kZXM7Cj4gKwo+ICsgICAgLyoqIFRoZSB2ZXJzaW9uIGRpcmVjdGl2ZS4gKi8KPiArICAgIHlh
bWxfdmVyc2lvbl9kaXJlY3RpdmVfdCAqdmVyc2lvbl9kaXJlY3RpdmU7Cj4gKwo+ICsgICAgLyoq
IFRoZSBsaXN0IG9mIHRhZyBkaXJlY3RpdmVzLiAqLwo+ICsgICAgc3RydWN0IHsKPiArICAgICAg
ICAvKiogVGhlIGJlZ2lubmluZyBvZiB0aGUgdGFnIGRpcmVjdGl2ZXMgbGlzdC4gKi8KPiArICAg
ICAgICB5YW1sX3RhZ19kaXJlY3RpdmVfdCAqc3RhcnQ7Cj4gKyAgICAgICAgLyoqIFRoZSBlbmQg
b2YgdGhlIHRhZyBkaXJlY3RpdmVzIGxpc3QuICovCj4gKyAgICAgICAgeWFtbF90YWdfZGlyZWN0
aXZlX3QgKmVuZDsKPiArICAgIH0gdGFnX2RpcmVjdGl2ZXM7Cj4gKwo+ICsgICAgLyoqIElzIHRo
ZSBkb2N1bWVudCBzdGFydCBpbmRpY2F0b3IgaW1wbGljaXQ/ICovCj4gKyAgICBpbnQgc3RhcnRf
aW1wbGljaXQ7Cj4gKyAgICAvKiogSXMgdGhlIGRvY3VtZW50IGVuZCBpbmRpY2F0b3IgaW1wbGlj
aXQ/ICovCj4gKyAgICBpbnQgZW5kX2ltcGxpY2l0Owo+ICsKPiArICAgIC8qKiBUaGUgYmVnaW5u
aW5nIG9mIHRoZSBkb2N1bWVudC4gKi8KPiArICAgIHlhbWxfbWFya190IHN0YXJ0X21hcms7Cj4g
KyAgICAvKiogVGhlIGVuZCBvZiB0aGUgZG9jdW1lbnQuICovCj4gKyAgICB5YW1sX21hcmtfdCBl
bmRfbWFyazsKPiArCj4gK30geWFtbF9kb2N1bWVudF90Owo+ICsKPiArLyoqCj4gKyAqIENyZWF0
ZSBhIFlBTUwgZG9jdW1lbnQuCj4gKyAqCj4gKyAqIEBwYXJhbVtvdXRdICAgICAgZG9jdW1lbnQg
ICAgICAgICAgICAgICAgQW4gZW1wdHkgZG9jdW1lbnQgb2JqZWN0Lgo+ICsgKiBAcGFyYW1baW5d
ICAgICAgIHZlcnNpb25fZGlyZWN0aXZlICAgICAgIFRoZSAlWUFNTCBkaXJlY3RpdmUgdmFsdWUg
b3IKPiArICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAYyBOVUxM
Lgo+ICsgKiBAcGFyYW1baW5dICAgICAgIHRhZ19kaXJlY3RpdmVzX3N0YXJ0ICAgIFRoZSBiZWdp
bm5pbmcgb2YgdGhlICVUQUcKPiArICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBkaXJlY3RpdmVzIGxpc3QuCj4gKyAqIEBwYXJhbVtpbl0gICAgICAgdGFnX2RpcmVj
dGl2ZXNfZW5kICAgICAgVGhlIGVuZCBvZiB0aGUgJVRBRyBkaXJlY3RpdmVzCj4gKyAqICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdC4KPiArICogQHBhcmFtW2lu
XSAgICAgICBzdGFydF9pbXBsaWNpdCAgICAgICAgICBJZiB0aGUgZG9jdW1lbnQgc3RhcnQgaW5k
aWNhdG9yIGlzCj4gKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW1wbGljaXQuCj4gKyAqIEBwYXJhbVtpbl0gICAgICAgZW5kX2ltcGxpY2l0ICAgICAgICAgICAg
SWYgdGhlIGRvY3VtZW50IGVuZCBpbmRpY2F0b3IgaXMKPiArICogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbXBsaWNpdC4KPiArICoKPiArICogQHJldHVybnMgQGMg
MSBpZiB0aGUgZnVuY3Rpb24gc3VjY2VlZGVkLCBAYyAwIG9uIGVycm9yLgo+ICsgKi8KPiArCj4g
K1lBTUxfREVDTEFSRShpbnQpCj4gK3lhbWxfZG9jdW1lbnRfaW5pdGlhbGl6ZSh5YW1sX2RvY3Vt
ZW50X3QgKmRvY3VtZW50LAo+ICsgICAgICAgIHlhbWxfdmVyc2lvbl9kaXJlY3RpdmVfdCAqdmVy
c2lvbl9kaXJlY3RpdmUsCj4gKyAgICAgICAgeWFtbF90YWdfZGlyZWN0aXZlX3QgKnRhZ19kaXJl
Y3RpdmVzX3N0YXJ0LAo+ICsgICAgICAgIHlhbWxfdGFnX2RpcmVjdGl2ZV90ICp0YWdfZGlyZWN0
aXZlc19lbmQsCj4gKyAgICAgICAgaW50IHN0YXJ0X2ltcGxpY2l0LCBpbnQgZW5kX2ltcGxpY2l0
KTsKPiArCj4gKy8qKgo+ICsgKiBEZWxldGUgYSBZQU1MIGRvY3VtZW50IGFuZCBhbGwgaXRzIG5v
ZGVzLgo+ICsgKgo+ICsgKiBAcGFyYW1baW4sb3V0XSAgIGRvY3VtZW50ICAgICAgICBBIGRvY3Vt
ZW50IG9iamVjdC4KPiArICovCj4gKwo+ICtZQU1MX0RFQ0xBUkUodm9pZCkKPiAreWFtbF9kb2N1
bWVudF9kZWxldGUoeWFtbF9kb2N1bWVudF90ICpkb2N1bWVudCk7Cj4gKwo+ICsvKioKPiArICog
R2V0IGEgbm9kZSBvZiBhIFlBTUwgZG9jdW1lbnQuCj4gKyAqCj4gKyAqIFRoZSBwb2ludGVyIHJl
dHVybmVkIGJ5IHRoaXMgZnVuY3Rpb24gaXMgdmFsaWQgdW50aWwgYW55IG9mIHRoZSBmdW5jdGlv
bnMKPiArICogbW9kaWZ5aW5nIHRoZSBkb2N1bWVudHMgYXJlIGNhbGxlZC4KPiArICoKPiArICog
QHBhcmFtW2luXSAgICAgICBkb2N1bWVudCAgICAgICAgQSBkb2N1bWVudCBvYmplY3QuCj4gKyAq
IEBwYXJhbVtpbl0gICAgICAgaW5kZXggICAgICAgICAgIFRoZSBub2RlIGlkLgo+ICsgKgo+ICsg
KiBAcmV0dXJucyB0aGUgbm9kZSBvYmpjdCBvciBAYyBOVUxMIGlmIEBjIG5vZGVfaWQgaXMgb3V0
IG9mIHJhbmdlLgo+ICsgKi8KPiArCj4gK1lBTUxfREVDTEFSRSh5YW1sX25vZGVfdCAqKQo+ICt5
YW1sX2RvY3VtZW50X2dldF9ub2RlKHlhbWxfZG9jdW1lbnRfdCAqZG9jdW1lbnQsIGludCBpbmRl
eCk7Cj4gKwo+ICsvKioKPiArICogR2V0IHRoZSByb290IG9mIGEgWUFNTCBkb2N1bWVudCBub2Rl
Lgo+ICsgKgo+ICsgKiBUaGUgcm9vdCBvYmplY3QgaXMgdGhlIGZpcnN0IG9iamVjdCBhZGRlZCB0
byB0aGUgZG9jdW1lbnQuCj4gKyAqCj4gKyAqIFRoZSBwb2ludGVyIHJldHVybmVkIGJ5IHRoaXMg
ZnVuY3Rpb24gaXMgdmFsaWQgdW50aWwgYW55IG9mIHRoZSBmdW5jdGlvbnMKPiArICogbW9kaWZ5
aW5nIHRoZSBkb2N1bWVudHMgYXJlIGNhbGxlZC4KPiArICoKPiArICogQW4gZW1wdHkgZG9jdW1l
bnQgcHJvZHVjZWQgYnkgdGhlIHBhcnNlciBzaWduaWZpZXMgdGhlIGVuZCBvZiBhIFlBTUwKPiAr
ICogc3RyZWFtLgo+ICsgKgo+ICsgKiBAcGFyYW1baW5dICAgICAgIGRvY3VtZW50ICAgICAgICBB
IGRvY3VtZW50IG9iamVjdC4KPiArICoKPiArICogQHJldHVybnMgdGhlIG5vZGUgb2JqZWN0IG9y
IEBjIE5VTEwgaWYgdGhlIGRvY3VtZW50IGlzIGVtcHR5Lgo+ICsgKi8KPiArCj4gK1lBTUxfREVD
TEFSRSh5YW1sX25vZGVfdCAqKQo+ICt5YW1sX2RvY3VtZW50X2dldF9yb290X25vZGUoeWFtbF9k
b2N1bWVudF90ICpkb2N1bWVudCk7Cj4gKwo+ICsvKioKPiArICogQ3JlYXRlIGEgU0NBTEFSIG5v
ZGUgYW5kIGF0dGFjaCBpdCB0byB0aGUgZG9jdW1lbnQuCj4gKyAqCj4gKyAqIFRoZSBAYSBzdHls
ZSBhcmd1bWVudCBtYXkgYmUgaWdub3JlZCBieSB0aGUgZW1pdHRlci4KPiArICoKPiArICogQHBh
cmFtW2luLG91dF0gICBkb2N1bWVudCAgICAgICAgQSBkb2N1bWVudCBvYmplY3QuCj4gKyAqIEBw
YXJhbVtpbl0gICAgICAgdGFnICAgICAgICAgICAgIFRoZSBzY2FsYXIgdGFnLgo+ICsgKiBAcGFy
YW1baW5dICAgICAgIHZhbHVlICAgICAgICAgICBUaGUgc2NhbGFyIHZhbHVlLgo+ICsgKiBAcGFy
YW1baW5dICAgICAgIGxlbmd0aCAgICAgICAgICBUaGUgbGVuZ3RoIG9mIHRoZSBzY2FsYXIgdmFs
dWUuCj4gKyAqIEBwYXJhbVtpbl0gICAgICAgc3R5bGUgICAgICAgICAgIFRoZSBzY2FsYXIgc3R5
bGUuCj4gKyAqCj4gKyAqIEByZXR1cm5zIHRoZSBub2RlIGlkIG9yIEBjIDAgb24gZXJyb3IuCj4g
KyAqLwo+ICsKPiArWUFNTF9ERUNMQVJFKGludCkKPiAreWFtbF9kb2N1bWVudF9hZGRfc2NhbGFy
KHlhbWxfZG9jdW1lbnRfdCAqZG9jdW1lbnQsCj4gKyAgICAgICAgeWFtbF9jaGFyX3QgKnRhZywg
eWFtbF9jaGFyX3QgKnZhbHVlLCBpbnQgbGVuZ3RoLAo+ICsgICAgICAgIHlhbWxfc2NhbGFyX3N0
eWxlX3Qgc3R5bGUpOwo+ICsKPiArLyoqCj4gKyAqIENyZWF0ZSBhIFNFUVVFTkNFIG5vZGUgYW5k
IGF0dGFjaCBpdCB0byB0aGUgZG9jdW1lbnQuCj4gKyAqCj4gKyAqIFRoZSBAYSBzdHlsZSBhcmd1
bWVudCBtYXkgYmUgaWdub3JlZCBieSB0aGUgZW1pdHRlci4KPiArICoKPiArICogQHBhcmFtW2lu
LG91dF0gICBkb2N1bWVudCAgICBBIGRvY3VtZW50IG9iamVjdC4KPiArICogQHBhcmFtW2luXSAg
ICAgICB0YWcgICAgICAgICBUaGUgc2VxdWVuY2UgdGFnLgo+ICsgKiBAcGFyYW1baW5dICAgICAg
IHN0eWxlICAgICAgIFRoZSBzZXF1ZW5jZSBzdHlsZS4KPiArICoKPiArICogQHJldHVybnMgdGhl
IG5vZGUgaWQgb3IgQGMgMCBvbiBlcnJvci4KPiArICovCj4gKwo+ICtZQU1MX0RFQ0xBUkUoaW50
KQo+ICt5YW1sX2RvY3VtZW50X2FkZF9zZXF1ZW5jZSh5YW1sX2RvY3VtZW50X3QgKmRvY3VtZW50
LAo+ICsgICAgICAgIHlhbWxfY2hhcl90ICp0YWcsIHlhbWxfc2VxdWVuY2Vfc3R5bGVfdCBzdHls
ZSk7Cj4gKwo+ICsvKioKPiArICogQ3JlYXRlIGEgTUFQUElORyBub2RlIGFuZCBhdHRhY2ggaXQg
dG8gdGhlIGRvY3VtZW50Lgo+ICsgKgo+ICsgKiBUaGUgQGEgc3R5bGUgYXJndW1lbnQgbWF5IGJl
IGlnbm9yZWQgYnkgdGhlIGVtaXR0ZXIuCj4gKyAqCj4gKyAqIEBwYXJhbVtpbixvdXRdICAgZG9j
dW1lbnQgICAgQSBkb2N1bWVudCBvYmplY3QuCj4gKyAqIEBwYXJhbVtpbl0gICAgICAgdGFnICAg
ICAgICAgVGhlIHNlcXVlbmNlIHRhZy4KPiArICogQHBhcmFtW2luXSAgICAgICBzdHlsZSAgICAg
ICBUaGUgc2VxdWVuY2Ugc3R5bGUuCj4gKyAqCj4gKyAqIEByZXR1cm5zIHRoZSBub2RlIGlkIG9y
IEBjIDAgb24gZXJyb3IuCj4gKyAqLwo+ICsKPiArWUFNTF9ERUNMQVJFKGludCkKPiAreWFtbF9k
b2N1bWVudF9hZGRfbWFwcGluZyh5YW1sX2RvY3VtZW50X3QgKmRvY3VtZW50LAo+ICsgICAgICAg
IHlhbWxfY2hhcl90ICp0YWcsIHlhbWxfbWFwcGluZ19zdHlsZV90IHN0eWxlKTsKPiArCj4gKy8q
Kgo+ICsgKiBBZGQgYW4gaXRlbSB0byBhIFNFUVVFTkNFIG5vZGUuCj4gKyAqCj4gKyAqIEBwYXJh
bVtpbixvdXRdICAgZG9jdW1lbnQgICAgQSBkb2N1bWVudCBvYmplY3QuCj4gKyAqIEBwYXJhbVtp
bl0gICAgICAgc2VxdWVuY2UgICAgVGhlIHNlcXVlbmNlIG5vZGUgaWQuCj4gKyAqIEBwYXJhbVtp
bl0gICAgICAgaXRlbSAgICAgICAgVGhlIGl0ZW0gbm9kZSBpZC4KPiArKgo+ICsgKiBAcmV0dXJu
cyBAYyAxIGlmIHRoZSBmdW5jdGlvbiBzdWNjZWVkZWQsIEBjIDAgb24gZXJyb3IuCj4gKyAqLwo+
ICsKPiArWUFNTF9ERUNMQVJFKGludCkKPiAreWFtbF9kb2N1bWVudF9hcHBlbmRfc2VxdWVuY2Vf
aXRlbSh5YW1sX2RvY3VtZW50X3QgKmRvY3VtZW50LAo+ICsgICAgICAgIGludCBzZXF1ZW5jZSwg
aW50IGl0ZW0pOwo+ICsKPiArLyoqCj4gKyAqIEFkZCBhIHBhaXIgb2YgYSBrZXkgYW5kIGEgdmFs
dWUgdG8gYSBNQVBQSU5HIG5vZGUuCj4gKyAqCj4gKyAqIEBwYXJhbVtpbixvdXRdICAgZG9jdW1l
bnQgICAgQSBkb2N1bWVudCBvYmplY3QuCj4gKyAqIEBwYXJhbVtpbl0gICAgICAgbWFwcGluZyAg
ICAgVGhlIG1hcHBpbmcgbm9kZSBpZC4KPiArICogQHBhcmFtW2luXSAgICAgICBrZXkgICAgICAg
ICBUaGUga2V5IG5vZGUgaWQuCj4gKyAqIEBwYXJhbVtpbl0gICAgICAgdmFsdWUgICAgICAgVGhl
IHZhbHVlIG5vZGUgaWQuCj4gKyoKPiArICogQHJldHVybnMgQGMgMSBpZiB0aGUgZnVuY3Rpb24g
c3VjY2VlZGVkLCBAYyAwIG9uIGVycm9yLgo+ICsgKi8KPiArCj4gK1lBTUxfREVDTEFSRShpbnQp
Cj4gK3lhbWxfZG9jdW1lbnRfYXBwZW5kX21hcHBpbmdfcGFpcih5YW1sX2RvY3VtZW50X3QgKmRv
Y3VtZW50LAo+ICsgICAgICAgIGludCBtYXBwaW5nLCBpbnQga2V5LCBpbnQgdmFsdWUpOwo+ICsK
PiArLyoqIEB9ICovCj4gKwo+ICsvKioKPiArICogQGRlZmdyb3VwIHBhcnNlciBQYXJzZXIgRGVm
aW5pdGlvbnMKPiArICogQHsKPiArICovCj4gKwo+ICsvKioKPiArICogVGhlIHByb3RvdHlwZSBv
ZiBhIHJlYWQgaGFuZGxlci4KPiArICoKPiArICogVGhlIHJlYWQgaGFuZGxlciBpcyBjYWxsZWQg
d2hlbiB0aGUgcGFyc2VyIG5lZWRzIHRvIHJlYWQgbW9yZSBieXRlcyBmcm9tIHRoZQo+ICsgKiBz
b3VyY2UuICBUaGUgaGFuZGxlciBzaG91bGQgd3JpdGUgbm90IG1vcmUgdGhhbiBAYSBzaXplIGJ5
dGVzIHRvIHRoZSBAYQo+ICsgKiBidWZmZXIuICBUaGUgbnVtYmVyIG9mIHdyaXR0ZW4gYnl0ZXMg
c2hvdWxkIGJlIHNldCB0byB0aGUgQGEgbGVuZ3RoIHZhcmlhYmxlLgo+ICsgKgo+ICsgKiBAcGFy
YW1baW4sb3V0XSAgIGRhdGEgICAgICAgIEEgcG9pbnRlciB0byBhbiBhcHBsaWNhdGlvbiBkYXRh
IHNwZWNpZmllZCBieQo+ICsgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHlhbWxfcGFy
c2VyX3NldF9pbnB1dCgpLgo+ICsgKiBAcGFyYW1bb3V0XSAgICAgIGJ1ZmZlciAgICAgIFRoZSBi
dWZmZXIgdG8gd3JpdGUgdGhlIGRhdGEgZnJvbSB0aGUgc291cmNlLgo+ICsgKiBAcGFyYW1baW5d
ICAgICAgIHNpemUgICAgICAgIFRoZSBzaXplIG9mIHRoZSBidWZmZXIuCj4gKyAqIEBwYXJhbVtv
dXRdICAgICAgc2l6ZV9yZWFkICAgVGhlIGFjdHVhbCBudW1iZXIgb2YgYnl0ZXMgcmVhZCBmcm9t
IHRoZSBzb3VyY2UuCj4gKyAqCj4gKyAqIEByZXR1cm5zIE9uIHN1Y2Nlc3MsIHRoZSBoYW5kbGVy
IHNob3VsZCByZXR1cm4gQGMgMS4gIElmIHRoZSBoYW5kbGVyIGZhaWxlZCwKPiArICogdGhlIHJl
dHVybmVkIHZhbHVlIHNob3VsZCBiZSBAYyAwLiAgT24gRU9GLCB0aGUgaGFuZGxlciBzaG91bGQg
c2V0IHRoZQo+ICsgKiBAYSBzaXplX3JlYWQgdG8gQGMgMCBhbmQgcmV0dXJuIEBjIDEuCj4gKyAq
Lwo+ICsKPiArdHlwZWRlZiBpbnQgeWFtbF9yZWFkX2hhbmRsZXJfdCh2b2lkICpkYXRhLCB1bnNp
Z25lZCBjaGFyICpidWZmZXIsIHNpemVfdCBzaXplLAo+ICsgICAgICAgIHNpemVfdCAqc2l6ZV9y
ZWFkKTsKPiArCj4gKy8qKgo+ICsgKiBUaGlzIHN0cnVjdHVyZSBob2xkcyBpbmZvcm1hdGlvbiBh
Ym91dCBhIHBvdGVudGlhbCBzaW1wbGUga2V5Lgo+ICsgKi8KPiArCj4gK3R5cGVkZWYgc3RydWN0
IHlhbWxfc2ltcGxlX2tleV9zIHsKPiArICAgIC8qKiBJcyBhIHNpbXBsZSBrZXkgcG9zc2libGU/
ICovCj4gKyAgICBpbnQgcG9zc2libGU7Cj4gKwo+ICsgICAgLyoqIElzIGEgc2ltcGxlIGtleSBy
ZXF1aXJlZD8gKi8KPiArICAgIGludCByZXF1aXJlZDsKPiArCj4gKyAgICAvKiogVGhlIG51bWJl
ciBvZiB0aGUgdG9rZW4uICovCj4gKyAgICBzaXplX3QgdG9rZW5fbnVtYmVyOwo+ICsKPiArICAg
IC8qKiBUaGUgcG9zaXRpb24gbWFyay4gKi8KPiArICAgIHlhbWxfbWFya190IG1hcms7Cj4gK30g
eWFtbF9zaW1wbGVfa2V5X3Q7Cj4gKwo+ICsvKioKPiArICogVGhlIHN0YXRlcyBvZiB0aGUgcGFy
c2VyLgo+ICsgKi8KPiArdHlwZWRlZiBlbnVtIHlhbWxfcGFyc2VyX3N0YXRlX2Ugewo+ICsgICAg
LyoqIEV4cGVjdCBTVFJFQU0tU1RBUlQuICovCj4gKyAgICBZQU1MX1BBUlNFX1NUUkVBTV9TVEFS
VF9TVEFURSwKPiArICAgIC8qKiBFeHBlY3QgdGhlIGJlZ2lubmluZyBvZiBhbiBpbXBsaWNpdCBk
b2N1bWVudC4gKi8KPiArICAgIFlBTUxfUEFSU0VfSU1QTElDSVRfRE9DVU1FTlRfU1RBUlRfU1RB
VEUsCj4gKyAgICAvKiogRXhwZWN0IERPQ1VNRU5ULVNUQVJULiAqLwo+ICsgICAgWUFNTF9QQVJT
RV9ET0NVTUVOVF9TVEFSVF9TVEFURSwKPiArICAgIC8qKiBFeHBlY3QgdGhlIGNvbnRlbnQgb2Yg
YSBkb2N1bWVudC4gKi8KPiArICAgIFlBTUxfUEFSU0VfRE9DVU1FTlRfQ09OVEVOVF9TVEFURSwK
PiArICAgIC8qKiBFeHBlY3QgRE9DVU1FTlQtRU5ELiAqLwo+ICsgICAgWUFNTF9QQVJTRV9ET0NV
TUVOVF9FTkRfU1RBVEUsCj4gKyAgICAvKiogRXhwZWN0IGEgYmxvY2sgbm9kZS4gKi8KPiArICAg
IFlBTUxfUEFSU0VfQkxPQ0tfTk9ERV9TVEFURSwKPiArICAgIC8qKiBFeHBlY3QgYSBibG9jayBu
b2RlIG9yIGluZGVudGxlc3Mgc2VxdWVuY2UuICovCj4gKyAgICBZQU1MX1BBUlNFX0JMT0NLX05P
REVfT1JfSU5ERU5UTEVTU19TRVFVRU5DRV9TVEFURSwKPiArICAgIC8qKiBFeHBlY3QgYSBmbG93
IG5vZGUuICovCj4gKyAgICBZQU1MX1BBUlNFX0ZMT1dfTk9ERV9TVEFURSwKPiArICAgIC8qKiBF
eHBlY3QgdGhlIGZpcnN0IGVudHJ5IG9mIGEgYmxvY2sgc2VxdWVuY2UuICovCj4gKyAgICBZQU1M
X1BBUlNFX0JMT0NLX1NFUVVFTkNFX0ZJUlNUX0VOVFJZX1NUQVRFLAo+ICsgICAgLyoqIEV4cGVj
dCBhbiBlbnRyeSBvZiBhIGJsb2NrIHNlcXVlbmNlLiAqLwo+ICsgICAgWUFNTF9QQVJTRV9CTE9D
S19TRVFVRU5DRV9FTlRSWV9TVEFURSwKPiArICAgIC8qKiBFeHBlY3QgYW4gZW50cnkgb2YgYW4g
aW5kZW50bGVzcyBzZXF1ZW5jZS4gKi8KPiArICAgIFlBTUxfUEFSU0VfSU5ERU5UTEVTU19TRVFV
RU5DRV9FTlRSWV9TVEFURSwKPiArICAgIC8qKiBFeHBlY3QgdGhlIGZpcnN0IGtleSBvZiBhIGJs
b2NrIG1hcHBpbmcuICovCj4gKyAgICBZQU1MX1BBUlNFX0JMT0NLX01BUFBJTkdfRklSU1RfS0VZ
X1NUQVRFLAo+ICsgICAgLyoqIEV4cGVjdCBhIGJsb2NrIG1hcHBpbmcga2V5LiAqLwo+ICsgICAg
WUFNTF9QQVJTRV9CTE9DS19NQVBQSU5HX0tFWV9TVEFURSwKPiArICAgIC8qKiBFeHBlY3QgYSBi
bG9jayBtYXBwaW5nIHZhbHVlLiAqLwo+ICsgICAgWUFNTF9QQVJTRV9CTE9DS19NQVBQSU5HX1ZB
TFVFX1NUQVRFLAo+ICsgICAgLyoqIEV4cGVjdCB0aGUgZmlyc3QgZW50cnkgb2YgYSBmbG93IHNl
cXVlbmNlLiAqLwo+ICsgICAgWUFNTF9QQVJTRV9GTE9XX1NFUVVFTkNFX0ZJUlNUX0VOVFJZX1NU
QVRFLAo+ICsgICAgLyoqIEV4cGVjdCBhbiBlbnRyeSBvZiBhIGZsb3cgc2VxdWVuY2UuICovCj4g
KyAgICBZQU1MX1BBUlNFX0ZMT1dfU0VRVUVOQ0VfRU5UUllfU1RBVEUsCj4gKyAgICAvKiogRXhw
ZWN0IGEga2V5IG9mIGFuIG9yZGVyZWQgbWFwcGluZy4gKi8KPiArICAgIFlBTUxfUEFSU0VfRkxP
V19TRVFVRU5DRV9FTlRSWV9NQVBQSU5HX0tFWV9TVEFURSwKPiArICAgIC8qKiBFeHBlY3QgYSB2
YWx1ZSBvZiBhbiBvcmRlcmVkIG1hcHBpbmcuICovCj4gKyAgICBZQU1MX1BBUlNFX0ZMT1dfU0VR
VUVOQ0VfRU5UUllfTUFQUElOR19WQUxVRV9TVEFURSwKPiArICAgIC8qKiBFeHBlY3QgdGhlIGFu
ZCBvZiBhbiBvcmRlcmVkIG1hcHBpbmcgZW50cnkuICovCj4gKyAgICBZQU1MX1BBUlNFX0ZMT1df
U0VRVUVOQ0VfRU5UUllfTUFQUElOR19FTkRfU1RBVEUsCj4gKyAgICAvKiogRXhwZWN0IHRoZSBm
aXJzdCBrZXkgb2YgYSBmbG93IG1hcHBpbmcuICovCj4gKyAgICBZQU1MX1BBUlNFX0ZMT1dfTUFQ
UElOR19GSVJTVF9LRVlfU1RBVEUsCj4gKyAgICAvKiogRXhwZWN0IGEga2V5IG9mIGEgZmxvdyBt
YXBwaW5nLiAqLwo+ICsgICAgWUFNTF9QQVJTRV9GTE9XX01BUFBJTkdfS0VZX1NUQVRFLAo+ICsg
ICAgLyoqIEV4cGVjdCBhIHZhbHVlIG9mIGEgZmxvdyBtYXBwaW5nLiAqLwo+ICsgICAgWUFNTF9Q
QVJTRV9GTE9XX01BUFBJTkdfVkFMVUVfU1RBVEUsCj4gKyAgICAvKiogRXhwZWN0IGFuIGVtcHR5
IHZhbHVlIG9mIGEgZmxvdyBtYXBwaW5nLiAqLwo+ICsgICAgWUFNTF9QQVJTRV9GTE9XX01BUFBJ
TkdfRU1QVFlfVkFMVUVfU1RBVEUsCj4gKyAgICAvKiogRXhwZWN0IG5vdGhpbmcuICovCj4gKyAg
ICBZQU1MX1BBUlNFX0VORF9TVEFURQo+ICt9IHlhbWxfcGFyc2VyX3N0YXRlX3Q7Cj4gKwo+ICsv
KioKPiArICogVGhpcyBzdHJ1Y3R1cmUgaG9sZHMgYWxpYXNlcyBkYXRhLgo+ICsgKi8KPiArCj4g
K3R5cGVkZWYgc3RydWN0IHlhbWxfYWxpYXNfZGF0YV9zIHsKPiArICAgIC8qKiBUaGUgYW5jaG9y
LiAqLwo+ICsgICAgeWFtbF9jaGFyX3QgKmFuY2hvcjsKPiArICAgIC8qKiBUaGUgbm9kZSBpZC4g
Ki8KPiArICAgIGludCBpbmRleDsKPiArICAgIC8qKiBUaGUgYW5jaG9yIG1hcmsuICovCj4gKyAg
ICB5YW1sX21hcmtfdCBtYXJrOwo+ICt9IHlhbWxfYWxpYXNfZGF0YV90Owo+ICsKPiArLyoqCj4g
KyAqIFRoZSBwYXJzZXIgc3RydWN0dXJlLgo+ICsgKgo+ICsgKiBBbGwgbWVtYmVycyBhcmUgaW50
ZXJuYWwuICBNYW5hZ2UgdGhlIHN0cnVjdHVyZSB1c2luZyB0aGUgQGMgeWFtbF9wYXJzZXJfCj4g
KyAqIGZhbWlseSBvZiBmdW5jdGlvbnMuCj4gKyAqLwo+ICsKPiArdHlwZWRlZiBzdHJ1Y3QgeWFt
bF9wYXJzZXJfcyB7Cj4gKwo+ICsgICAgLyoqCj4gKyAgICAgKiBAbmFtZSBFcnJvciBoYW5kbGlu
Zwo+ICsgICAgICogQHsKPiArICAgICAqLwo+ICsKPiArICAgIC8qKiBFcnJvciB0eXBlLiAqLwo+
ICsgICAgeWFtbF9lcnJvcl90eXBlX3QgZXJyb3I7Cj4gKyAgICAvKiogRXJyb3IgZGVzY3JpcHRp
b24uICovCj4gKyAgICBjb25zdCBjaGFyICpwcm9ibGVtOwo+ICsgICAgLyoqIFRoZSBieXRlIGFi
b3V0IHdoaWNoIHRoZSBwcm9ibGVtIG9jY3VycmVkLiAqLwo+ICsgICAgc2l6ZV90IHByb2JsZW1f
b2Zmc2V0Owo+ICsgICAgLyoqIFRoZSBwcm9ibGVtYXRpYyB2YWx1ZSAoQGMgLTEgaXMgbm9uZSku
ICovCj4gKyAgICBpbnQgcHJvYmxlbV92YWx1ZTsKPiArICAgIC8qKiBUaGUgcHJvYmxlbSBwb3Np
dGlvbi4gKi8KPiArICAgIHlhbWxfbWFya190IHByb2JsZW1fbWFyazsKPiArICAgIC8qKiBUaGUg
ZXJyb3IgY29udGV4dC4gKi8KPiArICAgIGNvbnN0IGNoYXIgKmNvbnRleHQ7Cj4gKyAgICAvKiog
VGhlIGNvbnRleHQgcG9zaXRpb24uICovCj4gKyAgICB5YW1sX21hcmtfdCBjb250ZXh0X21hcms7
Cj4gKwo+ICsgICAgLyoqCj4gKyAgICAgKiBAfQo+ICsgICAgICovCj4gKwo+ICsgICAgLyoqCj4g
KyAgICAgKiBAbmFtZSBSZWFkZXIgc3R1ZmYKPiArICAgICAqIEB7Cj4gKyAgICAgKi8KPiArCj4g
KyAgICAvKiogUmVhZCBoYW5kbGVyLiAqLwo+ICsgICAgeWFtbF9yZWFkX2hhbmRsZXJfdCAqcmVh
ZF9oYW5kbGVyOwo+ICsKPiArICAgIC8qKiBBIHBvaW50ZXIgZm9yIHBhc3NpbmcgdG8gdGhlIHJl
YWQgaGFuZGxlci4gKi8KPiArICAgIHZvaWQgKnJlYWRfaGFuZGxlcl9kYXRhOwo+ICsKPiArICAg
IC8qKiBTdGFuZGFyZCAoc3RyaW5nIG9yIGZpbGUpIGlucHV0IGRhdGEuICovCj4gKyAgICB1bmlv
biB7Cj4gKyAgICAgICAgLyoqIFN0cmluZyBpbnB1dCBkYXRhLiAqLwo+ICsgICAgICAgIHN0cnVj
dCB7Cj4gKyAgICAgICAgICAgIC8qKiBUaGUgc3RyaW5nIHN0YXJ0IHBvaW50ZXIuICovCj4gKyAg
ICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnN0YXJ0Owo+ICsgICAgICAgICAgICAvKiog
VGhlIHN0cmluZyBlbmQgcG9pbnRlci4gKi8KPiArICAgICAgICAgICAgY29uc3QgdW5zaWduZWQg
Y2hhciAqZW5kOwo+ICsgICAgICAgICAgICAvKiogVGhlIHN0cmluZyBjdXJyZW50IHBvc2l0aW9u
LiAqLwo+ICsgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpjdXJyZW50Owo+ICsgICAg
ICAgIH0gc3RyaW5nOwo+ICsKPiArICAgICAgICAvKiogRmlsZSBpbnB1dCBkYXRhLiAqLwo+ICsg
ICAgICAgIEZJTEUgKmZpbGU7Cj4gKyAgICB9IGlucHV0Owo+ICsKPiArICAgIC8qKiBFT0YgZmxh
ZyAqLwo+ICsgICAgaW50IGVvZjsKPiArCj4gKyAgICAvKiogVGhlIHdvcmtpbmcgYnVmZmVyLiAq
Lwo+ICsgICAgc3RydWN0IHsKPiArICAgICAgICAvKiogVGhlIGJlZ2lubmluZyBvZiB0aGUgYnVm
ZmVyLiAqLwo+ICsgICAgICAgIHlhbWxfY2hhcl90ICpzdGFydDsKPiArICAgICAgICAvKiogVGhl
IGVuZCBvZiB0aGUgYnVmZmVyLiAqLwo+ICsgICAgICAgIHlhbWxfY2hhcl90ICplbmQ7Cj4gKyAg
ICAgICAgLyoqIFRoZSBjdXJyZW50IHBvc2l0aW9uIG9mIHRoZSBidWZmZXIuICovCj4gKyAgICAg
ICAgeWFtbF9jaGFyX3QgKnBvaW50ZXI7Cj4gKyAgICAgICAgLyoqIFRoZSBsYXN0IGZpbGxlZCBw
b3NpdGlvbiBvZiB0aGUgYnVmZmVyLiAqLwo+ICsgICAgICAgIHlhbWxfY2hhcl90ICpsYXN0Owo+
ICsgICAgfSBidWZmZXI7Cj4gKwo+ICsgICAgLyogVGhlIG51bWJlciBvZiB1bnJlYWQgY2hhcmFj
dGVycyBpbiB0aGUgYnVmZmVyLiAqLwo+ICsgICAgc2l6ZV90IHVucmVhZDsKPiArCj4gKyAgICAv
KiogVGhlIHJhdyBidWZmZXIuICovCj4gKyAgICBzdHJ1Y3Qgewo+ICsgICAgICAgIC8qKiBUaGUg
YmVnaW5uaW5nIG9mIHRoZSBidWZmZXIuICovCj4gKyAgICAgICAgdW5zaWduZWQgY2hhciAqc3Rh
cnQ7Cj4gKyAgICAgICAgLyoqIFRoZSBlbmQgb2YgdGhlIGJ1ZmZlci4gKi8KPiArICAgICAgICB1
bnNpZ25lZCBjaGFyICplbmQ7Cj4gKyAgICAgICAgLyoqIFRoZSBjdXJyZW50IHBvc2l0aW9uIG9m
IHRoZSBidWZmZXIuICovCj4gKyAgICAgICAgdW5zaWduZWQgY2hhciAqcG9pbnRlcjsKPiArICAg
ICAgICAvKiogVGhlIGxhc3QgZmlsbGVkIHBvc2l0aW9uIG9mIHRoZSBidWZmZXIuICovCj4gKyAg
ICAgICAgdW5zaWduZWQgY2hhciAqbGFzdDsKPiArICAgIH0gcmF3X2J1ZmZlcjsKPiArCj4gKyAg
ICAvKiogVGhlIGlucHV0IGVuY29kaW5nLiAqLwo+ICsgICAgeWFtbF9lbmNvZGluZ190IGVuY29k
aW5nOwo+ICsKPiArICAgIC8qKiBUaGUgb2Zmc2V0IG9mIHRoZSBjdXJyZW50IHBvc2l0aW9uIChp
biBieXRlcykuICovCj4gKyAgICBzaXplX3Qgb2Zmc2V0Owo+ICsKPiArICAgIC8qKiBUaGUgbWFy
ayBvZiB0aGUgY3VycmVudCBwb3NpdGlvbi4gKi8KPiArICAgIHlhbWxfbWFya190IG1hcms7Cj4g
Kwo+ICsgICAgLyoqCj4gKyAgICAgKiBAfQo+ICsgICAgICovCj4gKwo+ICsgICAgLyoqCj4gKyAg
ICAgKiBAbmFtZSBTY2FubmVyIHN0dWZmCj4gKyAgICAgKiBAewo+ICsgICAgICovCj4gKwo+ICsg
ICAgLyoqIEhhdmUgd2Ugc3RhcnRlZCB0byBzY2FuIHRoZSBpbnB1dCBzdHJlYW0/ICovCj4gKyAg
ICBpbnQgc3RyZWFtX3N0YXJ0X3Byb2R1Y2VkOwo+ICsKPiArICAgIC8qKiBIYXZlIHdlIHJlYWNo
ZWQgdGhlIGVuZCBvZiB0aGUgaW5wdXQgc3RyZWFtPyAqLwo+ICsgICAgaW50IHN0cmVhbV9lbmRf
cHJvZHVjZWQ7Cj4gKwo+ICsgICAgLyoqIFRoZSBudW1iZXIgb2YgdW5jbG9zZWQgJ1snIGFuZCAn
eycgaW5kaWNhdG9ycy4gKi8KPiArICAgIGludCBmbG93X2xldmVsOwo+ICsKPiArICAgIC8qKiBU
aGUgdG9rZW5zIHF1ZXVlLiAqLwo+ICsgICAgc3RydWN0IHsKPiArICAgICAgICAvKiogVGhlIGJl
Z2lubmluZyBvZiB0aGUgdG9rZW5zIHF1ZXVlLiAqLwo+ICsgICAgICAgIHlhbWxfdG9rZW5fdCAq
c3RhcnQ7Cj4gKyAgICAgICAgLyoqIFRoZSBlbmQgb2YgdGhlIHRva2VucyBxdWV1ZS4gKi8KPiAr
ICAgICAgICB5YW1sX3Rva2VuX3QgKmVuZDsKPiArICAgICAgICAvKiogVGhlIGhlYWQgb2YgdGhl
IHRva2VucyBxdWV1ZS4gKi8KPiArICAgICAgICB5YW1sX3Rva2VuX3QgKmhlYWQ7Cj4gKyAgICAg
ICAgLyoqIFRoZSB0YWlsIG9mIHRoZSB0b2tlbnMgcXVldWUuICovCj4gKyAgICAgICAgeWFtbF90
b2tlbl90ICp0YWlsOwo+ICsgICAgfSB0b2tlbnM7Cj4gKwo+ICsgICAgLyoqIFRoZSBudW1iZXIg
b2YgdG9rZW5zIGZldGNoZWQgZnJvbSB0aGUgcXVldWUuICovCj4gKyAgICBzaXplX3QgdG9rZW5z
X3BhcnNlZDsKPiArCj4gKyAgICAvKiBEb2VzIHRoZSB0b2tlbnMgcXVldWUgY29udGFpbiBhIHRv
a2VuIHJlYWR5IGZvciBkZXF1ZXVlaW5nLiAqLwo+ICsgICAgaW50IHRva2VuX2F2YWlsYWJsZTsK
PiArCj4gKyAgICAvKiogVGhlIGluZGVudGF0aW9uIGxldmVscyBzdGFjay4gKi8KPiArICAgIHN0
cnVjdCB7Cj4gKyAgICAgICAgLyoqIFRoZSBiZWdpbm5pbmcgb2YgdGhlIHN0YWNrLiAqLwo+ICsg
ICAgICAgIGludCAqc3RhcnQ7Cj4gKyAgICAgICAgLyoqIFRoZSBlbmQgb2YgdGhlIHN0YWNrLiAq
Lwo+ICsgICAgICAgIGludCAqZW5kOwo+ICsgICAgICAgIC8qKiBUaGUgdG9wIG9mIHRoZSBzdGFj
ay4gKi8KPiArICAgICAgICBpbnQgKnRvcDsKPiArICAgIH0gaW5kZW50czsKPiArCj4gKyAgICAv
KiogVGhlIGN1cnJlbnQgaW5kZW50YXRpb24gbGV2ZWwuICovCj4gKyAgICBpbnQgaW5kZW50Owo+
ICsKPiArICAgIC8qKiBNYXkgYSBzaW1wbGUga2V5IG9jY3VyIGF0IHRoZSBjdXJyZW50IHBvc2l0
aW9uPyAqLwo+ICsgICAgaW50IHNpbXBsZV9rZXlfYWxsb3dlZDsKPiArCj4gKyAgICAvKiogVGhl
IHN0YWNrIG9mIHNpbXBsZSBrZXlzLiAqLwo+ICsgICAgc3RydWN0IHsKPiArICAgICAgICAvKiog
VGhlIGJlZ2lubmluZyBvZiB0aGUgc3RhY2suICovCj4gKyAgICAgICAgeWFtbF9zaW1wbGVfa2V5
X3QgKnN0YXJ0Owo+ICsgICAgICAgIC8qKiBUaGUgZW5kIG9mIHRoZSBzdGFjay4gKi8KPiArICAg
ICAgICB5YW1sX3NpbXBsZV9rZXlfdCAqZW5kOwo+ICsgICAgICAgIC8qKiBUaGUgdG9wIG9mIHRo
ZSBzdGFjay4gKi8KPiArICAgICAgICB5YW1sX3NpbXBsZV9rZXlfdCAqdG9wOwo+ICsgICAgfSBz
aW1wbGVfa2V5czsKPiArCj4gKyAgICAvKioKPiArICAgICAqIEB9Cj4gKyAgICAgKi8KPiArCj4g
KyAgICAvKioKPiArICAgICAqIEBuYW1lIFBhcnNlciBzdHVmZgo+ICsgICAgICogQHsKPiArICAg
ICAqLwo+ICsKPiArICAgIC8qKiBUaGUgcGFyc2VyIHN0YXRlcyBzdGFjay4gKi8KPiArICAgIHN0
cnVjdCB7Cj4gKyAgICAgICAgLyoqIFRoZSBiZWdpbm5pbmcgb2YgdGhlIHN0YWNrLiAqLwo+ICsg
ICAgICAgIHlhbWxfcGFyc2VyX3N0YXRlX3QgKnN0YXJ0Owo+ICsgICAgICAgIC8qKiBUaGUgZW5k
IG9mIHRoZSBzdGFjay4gKi8KPiArICAgICAgICB5YW1sX3BhcnNlcl9zdGF0ZV90ICplbmQ7Cj4g
KyAgICAgICAgLyoqIFRoZSB0b3Agb2YgdGhlIHN0YWNrLiAqLwo+ICsgICAgICAgIHlhbWxfcGFy
c2VyX3N0YXRlX3QgKnRvcDsKPiArICAgIH0gc3RhdGVzOwo+ICsKPiArICAgIC8qKiBUaGUgY3Vy
cmVudCBwYXJzZXIgc3RhdGUuICovCj4gKyAgICB5YW1sX3BhcnNlcl9zdGF0ZV90IHN0YXRlOwo+
ICsKPiArICAgIC8qKiBUaGUgc3RhY2sgb2YgbWFya3MuICovCj4gKyAgICBzdHJ1Y3Qgewo+ICsg
ICAgICAgIC8qKiBUaGUgYmVnaW5uaW5nIG9mIHRoZSBzdGFjay4gKi8KPiArICAgICAgICB5YW1s
X21hcmtfdCAqc3RhcnQ7Cj4gKyAgICAgICAgLyoqIFRoZSBlbmQgb2YgdGhlIHN0YWNrLiAqLwo+
ICsgICAgICAgIHlhbWxfbWFya190ICplbmQ7Cj4gKyAgICAgICAgLyoqIFRoZSB0b3Agb2YgdGhl
IHN0YWNrLiAqLwo+ICsgICAgICAgIHlhbWxfbWFya190ICp0b3A7Cj4gKyAgICB9IG1hcmtzOwo+
ICsKPiArICAgIC8qKiBUaGUgbGlzdCBvZiBUQUcgZGlyZWN0aXZlcy4gKi8KPiArICAgIHN0cnVj
dCB7Cj4gKyAgICAgICAgLyoqIFRoZSBiZWdpbm5pbmcgb2YgdGhlIGxpc3QuICovCj4gKyAgICAg
ICAgeWFtbF90YWdfZGlyZWN0aXZlX3QgKnN0YXJ0Owo+ICsgICAgICAgIC8qKiBUaGUgZW5kIG9m
IHRoZSBsaXN0LiAqLwo+ICsgICAgICAgIHlhbWxfdGFnX2RpcmVjdGl2ZV90ICplbmQ7Cj4gKyAg
ICAgICAgLyoqIFRoZSB0b3Agb2YgdGhlIGxpc3QuICovCj4gKyAgICAgICAgeWFtbF90YWdfZGly
ZWN0aXZlX3QgKnRvcDsKPiArICAgIH0gdGFnX2RpcmVjdGl2ZXM7Cj4gKwo+ICsgICAgLyoqCj4g
KyAgICAgKiBAfQo+ICsgICAgICovCj4gKwo+ICsgICAgLyoqCj4gKyAgICAgKiBAbmFtZSBEdW1w
ZXIgc3R1ZmYKPiArICAgICAqIEB7Cj4gKyAgICAgKi8KPiArCj4gKyAgICAvKiogVGhlIGFsaWFz
IGRhdGEuICovCj4gKyAgICBzdHJ1Y3Qgewo+ICsgICAgICAgIC8qKiBUaGUgYmVnaW5uaW5nIG9m
IHRoZSBsaXN0LiAqLwo+ICsgICAgICAgIHlhbWxfYWxpYXNfZGF0YV90ICpzdGFydDsKPiArICAg
ICAgICAvKiogVGhlIGVuZCBvZiB0aGUgbGlzdC4gKi8KPiArICAgICAgICB5YW1sX2FsaWFzX2Rh
dGFfdCAqZW5kOwo+ICsgICAgICAgIC8qKiBUaGUgdG9wIG9mIHRoZSBsaXN0LiAqLwo+ICsgICAg
ICAgIHlhbWxfYWxpYXNfZGF0YV90ICp0b3A7Cj4gKyAgICB9IGFsaWFzZXM7Cj4gKwo+ICsgICAg
LyoqIFRoZSBjdXJyZW50bHkgcGFyc2VkIGRvY3VtZW50LiAqLwo+ICsgICAgeWFtbF9kb2N1bWVu
dF90ICpkb2N1bWVudDsKPiArCj4gKyAgICAvKioKPiArICAgICAqIEB9Cj4gKyAgICAgKi8KPiAr
Cj4gK30geWFtbF9wYXJzZXJfdDsKPiArCj4gKy8qKgo+ICsgKiBJbml0aWFsaXplIGEgcGFyc2Vy
Lgo+ICsgKgo+ICsgKiBUaGlzIGZ1bmN0aW9uIGNyZWF0ZXMgYSBuZXcgcGFyc2VyIG9iamVjdC4g
IEFuIGFwcGxpY2F0aW9uIGlzIHJlc3BvbnNpYmxlCj4gKyAqIGZvciBkZXN0cm95aW5nIHRoZSBv
YmplY3QgdXNpbmcgdGhlIHlhbWxfcGFyc2VyX2RlbGV0ZSgpIGZ1bmN0aW9uLgo+ICsgKgo+ICsg
KiBAcGFyYW1bb3V0XSAgICAgIHBhcnNlciAgQW4gZW1wdHkgcGFyc2VyIG9iamVjdC4KPiArICoK
PiArICogQHJldHVybnMgQGMgMSBpZiB0aGUgZnVuY3Rpb24gc3VjY2VlZGVkLCBAYyAwIG9uIGVy
cm9yLgo+ICsgKi8KPiArCj4gK1lBTUxfREVDTEFSRShpbnQpCj4gK3lhbWxfcGFyc2VyX2luaXRp
YWxpemUoeWFtbF9wYXJzZXJfdCAqcGFyc2VyKTsKPiArCj4gKy8qKgo+ICsgKiBEZXN0cm95IGEg
cGFyc2VyLgo+ICsgKgo+ICsgKiBAcGFyYW1baW4sb3V0XSAgIHBhcnNlciAgQSBwYXJzZXIgb2Jq
ZWN0Lgo+ICsgKi8KPiArCj4gK1lBTUxfREVDTEFSRSh2b2lkKQo+ICt5YW1sX3BhcnNlcl9kZWxl
dGUoeWFtbF9wYXJzZXJfdCAqcGFyc2VyKTsKPiArCj4gKy8qKgo+ICsgKiBTZXQgYSBzdHJpbmcg
aW5wdXQuCj4gKyAqCj4gKyAqIE5vdGUgdGhhdCB0aGUgQGEgaW5wdXQgcG9pbnRlciBtdXN0IGJl
IHZhbGlkIHdoaWxlIHRoZSBAYSBwYXJzZXIgb2JqZWN0Cj4gKyAqIGV4aXN0cy4gIFRoZSBhcHBs
aWNhdGlvbiBpcyByZXNwb25zaWJsZSBmb3IgZGVzdHJvaW5nIEBhIGlucHV0IGFmdGVyCj4gKyAq
IGRlc3Ryb3lpbmcgdGhlIEBhIHBhcnNlci4KPiArICoKPiArICogQHBhcmFtW2luLG91dF0gICBw
YXJzZXIgIEEgcGFyc2VyIG9iamVjdC4KPiArICogQHBhcmFtW2luXSAgICAgICBpbnB1dCAgIEEg
c291cmNlIGRhdGEuCj4gKyAqIEBwYXJhbVtpbl0gICAgICAgc2l6ZSAgICBUaGUgbGVuZ3RoIG9m
IHRoZSBzb3VyY2UgZGF0YSBpbiBieXRlcy4KPiArICovCj4gKwo+ICtZQU1MX0RFQ0xBUkUodm9p
ZCkKPiAreWFtbF9wYXJzZXJfc2V0X2lucHV0X3N0cmluZyh5YW1sX3BhcnNlcl90ICpwYXJzZXIs
Cj4gKyAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqaW5wdXQsIHNpemVfdCBzaXplKTsKPiAr
Cj4gKy8qKgo+ICsgKiBTZXQgYSBmaWxlIGlucHV0Lgo+ICsgKgo+ICsgKiBAYSBmaWxlIHNob3Vs
ZCBiZSBhIGZpbGUgb2JqZWN0IG9wZW4gZm9yIHJlYWRpbmcuICBUaGUgYXBwbGljYXRpb24gaXMK
PiArICogcmVzcG9uc2libGUgZm9yIGNsb3NpbmcgdGhlIEBhIGZpbGUuCj4gKyAqCj4gKyAqIEBw
YXJhbVtpbixvdXRdICAgcGFyc2VyICBBIHBhcnNlciBvYmplY3QuCj4gKyAqIEBwYXJhbVtpbl0g
ICAgICAgZmlsZSAgICBBbiBvcGVuIGZpbGUuCj4gKyAqLwo+ICsKPiArWUFNTF9ERUNMQVJFKHZv
aWQpCj4gK3lhbWxfcGFyc2VyX3NldF9pbnB1dF9maWxlKHlhbWxfcGFyc2VyX3QgKnBhcnNlciwg
RklMRSAqZmlsZSk7Cj4gKwo+ICsvKioKPiArICogU2V0IGEgZ2VuZXJpYyBpbnB1dCBoYW5kbGVy
Lgo+ICsgKgo+ICsgKiBAcGFyYW1baW4sb3V0XSAgIHBhcnNlciAgQSBwYXJzZXIgb2JqZWN0Lgo+
ICsgKiBAcGFyYW1baW5dICAgICAgIGhhbmRsZXIgQSByZWFkIGhhbmRsZXIuCj4gKyAqIEBwYXJh
bVtpbl0gICAgICAgZGF0YSAgICBBbnkgYXBwbGljYXRpb24gZGF0YSBmb3IgcGFzc2luZyB0byB0
aGUgcmVhZAo+ICsgKiAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlci4KPiArICovCj4g
Kwo+ICtZQU1MX0RFQ0xBUkUodm9pZCkKPiAreWFtbF9wYXJzZXJfc2V0X2lucHV0KHlhbWxfcGFy
c2VyX3QgKnBhcnNlciwKPiArICAgICAgICB5YW1sX3JlYWRfaGFuZGxlcl90ICpoYW5kbGVyLCB2
b2lkICpkYXRhKTsKPiArCj4gKy8qKgo+ICsgKiBTZXQgdGhlIHNvdXJjZSBlbmNvZGluZy4KPiAr
ICoKPiArICogQHBhcmFtW2luLG91dF0gICBwYXJzZXIgICAgICBBIHBhcnNlciBvYmplY3QuCj4g
KyAqIEBwYXJhbVtpbl0gICAgICAgZW5jb2RpbmcgICAgVGhlIHNvdXJjZSBlbmNvZGluZy4KPiAr
ICovCj4gKwo+ICtZQU1MX0RFQ0xBUkUodm9pZCkKPiAreWFtbF9wYXJzZXJfc2V0X2VuY29kaW5n
KHlhbWxfcGFyc2VyX3QgKnBhcnNlciwgeWFtbF9lbmNvZGluZ190IGVuY29kaW5nKTsKPiArCj4g
Ky8qKgo+ICsgKiBTY2FuIHRoZSBpbnB1dCBzdHJlYW0gYW5kIHByb2R1Y2UgdGhlIG5leHQgdG9r
ZW4uCj4gKyAqCj4gKyAqIENhbGwgdGhlIGZ1bmN0aW9uIHN1YnNlcXVlbnRseSB0byBwcm9kdWNl
IGEgc2VxdWVuY2Ugb2YgdG9rZW5zIGNvcnJlc3BvbmRpbmcKPiArICogdG8gdGhlIGlucHV0IHN0
cmVhbS4gIFRoZSBpbml0aWFsIHRva2VuIGhhcyB0aGUgdHlwZQo+ICsgKiBAYyBZQU1MX1NUUkVB
TV9TVEFSVF9UT0tFTiB3aGlsZSB0aGUgZW5kaW5nIHRva2VuIGhhcyB0aGUgdHlwZQo+ICsgKiBA
YyBZQU1MX1NUUkVBTV9FTkRfVE9LRU4uCj4gKyAqCj4gKyAqIEFuIGFwcGxpY2F0aW9uIGlzIHJl
c3BvbnNpYmxlIGZvciBmcmVlaW5nIGFueSBidWZmZXJzIGFzc29jaWF0ZWQgd2l0aCB0aGUKPiAr
ICogcHJvZHVjZWQgdG9rZW4gb2JqZWN0IHVzaW5nIHRoZSBAYyB5YW1sX3Rva2VuX2RlbGV0ZSBm
dW5jdGlvbi4KPiArICoKPiArICogQW4gYXBwbGljYXRpb24gbXVzdCBub3QgYWx0ZXJuYXRlIHRo
ZSBjYWxscyBvZiB5YW1sX3BhcnNlcl9zY2FuKCkgd2l0aCB0aGUKPiArICogY2FsbHMgb2YgeWFt
bF9wYXJzZXJfcGFyc2UoKSBvciB5YW1sX3BhcnNlcl9sb2FkKCkuIERvaW5nIHRoaXMgd2lsbCBi
cmVhawo+ICsgKiB0aGUgcGFyc2VyLgo+ICsgKgo+ICsgKiBAcGFyYW1baW4sb3V0XSAgIHBhcnNl
ciAgICAgIEEgcGFyc2VyIG9iamVjdC4KPiArICogQHBhcmFtW291dF0gICAgICB0b2tlbiAgICAg
ICBBbiBlbXB0eSB0b2tlbiBvYmplY3QuCj4gKyAqCj4gKyAqIEByZXR1cm5zIEBjIDEgaWYgdGhl
IGZ1bmN0aW9uIHN1Y2NlZWRlZCwgQGMgMCBvbiBlcnJvci4KPiArICovCj4gKwo+ICtZQU1MX0RF
Q0xBUkUoaW50KQo+ICt5YW1sX3BhcnNlcl9zY2FuKHlhbWxfcGFyc2VyX3QgKnBhcnNlciwgeWFt
bF90b2tlbl90ICp0b2tlbik7Cj4gKwo+ICsvKioKPiArICogUGFyc2UgdGhlIGlucHV0IHN0cmVh
bSBhbmQgcHJvZHVjZSB0aGUgbmV4dCBwYXJzaW5nIGV2ZW50Lgo+ICsgKgo+ICsgKiBDYWxsIHRo
ZSBmdW5jdGlvbiBzdWJzZXF1ZW50bHkgdG8gcHJvZHVjZSBhIHNlcXVlbmNlIG9mIGV2ZW50cyBj
b3JyZXNwb25kaW5nCj4gKyAqIHRvIHRoZSBpbnB1dCBzdHJlYW0uICBUaGUgaW5pdGlhbCBldmVu
dCBoYXMgdGhlIHR5cGUKPiArICogQGMgWUFNTF9TVFJFQU1fU1RBUlRfRVZFTlQgd2hpbGUgdGhl
IGVuZGluZyBldmVudCBoYXMgdGhlIHR5cGUKPiArICogQGMgWUFNTF9TVFJFQU1fRU5EX0VWRU5U
Lgo+ICsgKgo+ICsgKiBBbiBhcHBsaWNhdGlvbiBpcyByZXNwb25zaWJsZSBmb3IgZnJlZWluZyBh
bnkgYnVmZmVycyBhc3NvY2lhdGVkIHdpdGggdGhlCj4gKyAqIHByb2R1Y2VkIGV2ZW50IG9iamVj
dCB1c2luZyB0aGUgeWFtbF9ldmVudF9kZWxldGUoKSBmdW5jdGlvbi4KPiArICoKPiArICogQW4g
YXBwbGljYXRpb24gbXVzdCBub3QgYWx0ZXJuYXRlIHRoZSBjYWxscyBvZiB5YW1sX3BhcnNlcl9w
YXJzZSgpIHdpdGggdGhlCj4gKyAqIGNhbGxzIG9mIHlhbWxfcGFyc2VyX3NjYW4oKSBvciB5YW1s
X3BhcnNlcl9sb2FkKCkuIERvaW5nIHRoaXMgd2lsbCBicmVhayB0aGUKPiArICogcGFyc2VyLgo+
ICsgKgo+ICsgKiBAcGFyYW1baW4sb3V0XSAgIHBhcnNlciAgICAgIEEgcGFyc2VyIG9iamVjdC4K
PiArICogQHBhcmFtW291dF0gICAgICBldmVudCAgICAgICBBbiBlbXB0eSBldmVudCBvYmplY3Qu
Cj4gKyAqCj4gKyAqIEByZXR1cm5zIEBjIDEgaWYgdGhlIGZ1bmN0aW9uIHN1Y2NlZWRlZCwgQGMg
MCBvbiBlcnJvci4KPiArICovCj4gKwo+ICtZQU1MX0RFQ0xBUkUoaW50KQo+ICt5YW1sX3BhcnNl
cl9wYXJzZSh5YW1sX3BhcnNlcl90ICpwYXJzZXIsIHlhbWxfZXZlbnRfdCAqZXZlbnQpOwo+ICsK
PiArLyoqCj4gKyAqIFBhcnNlIHRoZSBpbnB1dCBzdHJlYW0gYW5kIHByb2R1Y2UgdGhlIG5leHQg
WUFNTCBkb2N1bWVudC4KPiArICoKPiArICogQ2FsbCB0aGlzIGZ1bmN0aW9uIHN1YnNlcXVlbnRs
eSB0byBwcm9kdWNlIGEgc2VxdWVuY2Ugb2YgZG9jdW1lbnRzCj4gKyAqIGNvbnN0aXR1dGluZyB0
aGUgaW5wdXQgc3RyZWFtLgo+ICsgKgo+ICsgKiBJZiB0aGUgcHJvZHVjZWQgZG9jdW1lbnQgaGFz
IG5vIHJvb3Qgbm9kZSwgaXQgbWVhbnMgdGhhdCB0aGUgZG9jdW1lbnQKPiArICogZW5kIGhhcyBi
ZWVuIHJlYWNoZWQuCj4gKyAqCj4gKyAqIEFuIGFwcGxpY2F0aW9uIGlzIHJlc3BvbnNpYmxlIGZv
ciBmcmVlaW5nIGFueSBkYXRhIGFzc29jaWF0ZWQgd2l0aCB0aGUKPiArICogcHJvZHVjZWQgZG9j
dW1lbnQgb2JqZWN0IHVzaW5nIHRoZSB5YW1sX2RvY3VtZW50X2RlbGV0ZSgpIGZ1bmN0aW9uLgo+
ICsgKgo+ICsgKiBBbiBhcHBsaWNhdGlvbiBtdXN0IG5vdCBhbHRlcm5hdGUgdGhlIGNhbGxzIG9m
IHlhbWxfcGFyc2VyX2xvYWQoKSB3aXRoIHRoZQo+ICsgKiBjYWxscyBvZiB5YW1sX3BhcnNlcl9z
Y2FuKCkgb3IgeWFtbF9wYXJzZXJfcGFyc2UoKS4gRG9pbmcgdGhpcyB3aWxsIGJyZWFrCj4gKyAq
IHRoZSBwYXJzZXIuCj4gKyAqCj4gKyAqIEBwYXJhbVtpbixvdXRdICAgcGFyc2VyICAgICAgQSBw
YXJzZXIgb2JqZWN0Lgo+ICsgKiBAcGFyYW1bb3V0XSAgICAgIGRvY3VtZW50ICAgIEFuIGVtcHR5
IGRvY3VtZW50IG9iamVjdC4KPiArICoKPiArICogQHJldHVybiBAYyAxIGlmIHRoZSBmdW5jdGlv
biBzdWNjZWVkZWQsIEBjIDAgb24gZXJyb3IuCj4gKyAqLwo+ICsKPiArWUFNTF9ERUNMQVJFKGlu
dCkKPiAreWFtbF9wYXJzZXJfbG9hZCh5YW1sX3BhcnNlcl90ICpwYXJzZXIsIHlhbWxfZG9jdW1l
bnRfdCAqZG9jdW1lbnQpOwo+ICsKPiArLyoqIEB9ICovCj4gKwo+ICsvKioKPiArICogQGRlZmdy
b3VwIGVtaXR0ZXIgRW1pdHRlciBEZWZpbml0aW9ucwo+ICsgKiBAewo+ICsgKi8KPiArCj4gKy8q
Kgo+ICsgKiBUaGUgcHJvdG90eXBlIG9mIGEgd3JpdGUgaGFuZGxlci4KPiArICoKPiArICogVGhl
IHdyaXRlIGhhbmRsZXIgaXMgY2FsbGVkIHdoZW4gdGhlIGVtaXR0ZXIgbmVlZHMgdG8gZmx1c2gg
dGhlIGFjY3VtdWxhdGVkCj4gKyAqIGNoYXJhY3RlcnMgdG8gdGhlIG91dHB1dC4gIFRoZSBoYW5k
bGVyIHNob3VsZCB3cml0ZSBAYSBzaXplIGJ5dGVzIG9mIHRoZQo+ICsgKiBAYSBidWZmZXIgdG8g
dGhlIG91dHB1dC4KPiArICoKPiArICogQHBhcmFtW2luLG91dF0gICBkYXRhICAgICAgICBBIHBv
aW50ZXIgdG8gYW4gYXBwbGljYXRpb24gZGF0YSBzcGVjaWZpZWQgYnkKPiArICogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB5YW1sX2VtaXR0ZXJfc2V0X291dHB1dCgpLgo+ICsgKiBAcGFy
YW1baW5dICAgICAgIGJ1ZmZlciAgICAgIFRoZSBidWZmZXIgd2l0aCBieXRlcyB0byBiZSB3cml0
dGVuLgo+ICsgKiBAcGFyYW1baW5dICAgICAgIHNpemUgICAgICAgIFRoZSBzaXplIG9mIHRoZSBi
dWZmZXIuCj4gKyAqCj4gKyAqIEByZXR1cm5zIE9uIHN1Y2Nlc3MsIHRoZSBoYW5kbGVyIHNob3Vs
ZCByZXR1cm4gQGMgMS4gIElmIHRoZSBoYW5kbGVyIGZhaWxlZCwKPiArICogdGhlIHJldHVybmVk
IHZhbHVlIHNob3VsZCBiZSBAYyAwLgo+ICsgKi8KPiArCj4gK3R5cGVkZWYgaW50IHlhbWxfd3Jp
dGVfaGFuZGxlcl90KHZvaWQgKmRhdGEsIHVuc2lnbmVkIGNoYXIgKmJ1ZmZlciwgc2l6ZV90IHNp
emUpOwo+ICsKPiArLyoqIFRoZSBlbWl0dGVyIHN0YXRlcy4gKi8KPiArdHlwZWRlZiBlbnVtIHlh
bWxfZW1pdHRlcl9zdGF0ZV9lIHsKPiArICAgIC8qKiBFeHBlY3QgU1RSRUFNLVNUQVJULiAqLwo+
ICsgICAgWUFNTF9FTUlUX1NUUkVBTV9TVEFSVF9TVEFURSwKPiArICAgIC8qKiBFeHBlY3QgdGhl
IGZpcnN0IERPQ1VNRU5ULVNUQVJUIG9yIFNUUkVBTS1FTkQuICovCj4gKyAgICBZQU1MX0VNSVRf
RklSU1RfRE9DVU1FTlRfU1RBUlRfU1RBVEUsCj4gKyAgICAvKiogRXhwZWN0IERPQ1VNRU5ULVNU
QVJUIG9yIFNUUkVBTS1FTkQuICovCj4gKyAgICBZQU1MX0VNSVRfRE9DVU1FTlRfU1RBUlRfU1RB
VEUsCj4gKyAgICAvKiogRXhwZWN0IHRoZSBjb250ZW50IG9mIGEgZG9jdW1lbnQuICovCj4gKyAg
ICBZQU1MX0VNSVRfRE9DVU1FTlRfQ09OVEVOVF9TVEFURSwKPiArICAgIC8qKiBFeHBlY3QgRE9D
VU1FTlQtRU5ELiAqLwo+ICsgICAgWUFNTF9FTUlUX0RPQ1VNRU5UX0VORF9TVEFURSwKPiArICAg
IC8qKiBFeHBlY3QgdGhlIGZpcnN0IGl0ZW0gb2YgYSBmbG93IHNlcXVlbmNlLiAqLwo+ICsgICAg
WUFNTF9FTUlUX0ZMT1dfU0VRVUVOQ0VfRklSU1RfSVRFTV9TVEFURSwKPiArICAgIC8qKiBFeHBl
Y3QgYW4gaXRlbSBvZiBhIGZsb3cgc2VxdWVuY2UuICovCj4gKyAgICBZQU1MX0VNSVRfRkxPV19T
RVFVRU5DRV9JVEVNX1NUQVRFLAo+ICsgICAgLyoqIEV4cGVjdCB0aGUgZmlyc3Qga2V5IG9mIGEg
ZmxvdyBtYXBwaW5nLiAqLwo+ICsgICAgWUFNTF9FTUlUX0ZMT1dfTUFQUElOR19GSVJTVF9LRVlf
U1RBVEUsCj4gKyAgICAvKiogRXhwZWN0IGEga2V5IG9mIGEgZmxvdyBtYXBwaW5nLiAqLwo+ICsg
ICAgWUFNTF9FTUlUX0ZMT1dfTUFQUElOR19LRVlfU1RBVEUsCj4gKyAgICAvKiogRXhwZWN0IGEg
dmFsdWUgZm9yIGEgc2ltcGxlIGtleSBvZiBhIGZsb3cgbWFwcGluZy4gKi8KPiArICAgIFlBTUxf
RU1JVF9GTE9XX01BUFBJTkdfU0lNUExFX1ZBTFVFX1NUQVRFLAo+ICsgICAgLyoqIEV4cGVjdCBh
IHZhbHVlIG9mIGEgZmxvdyBtYXBwaW5nLiAqLwo+ICsgICAgWUFNTF9FTUlUX0ZMT1dfTUFQUElO
R19WQUxVRV9TVEFURSwKPiArICAgIC8qKiBFeHBlY3QgdGhlIGZpcnN0IGl0ZW0gb2YgYSBibG9j
ayBzZXF1ZW5jZS4gKi8KPiArICAgIFlBTUxfRU1JVF9CTE9DS19TRVFVRU5DRV9GSVJTVF9JVEVN
X1NUQVRFLAo+ICsgICAgLyoqIEV4cGVjdCBhbiBpdGVtIG9mIGEgYmxvY2sgc2VxdWVuY2UuICov
Cj4gKyAgICBZQU1MX0VNSVRfQkxPQ0tfU0VRVUVOQ0VfSVRFTV9TVEFURSwKPiArICAgIC8qKiBF
eHBlY3QgdGhlIGZpcnN0IGtleSBvZiBhIGJsb2NrIG1hcHBpbmcuICovCj4gKyAgICBZQU1MX0VN
SVRfQkxPQ0tfTUFQUElOR19GSVJTVF9LRVlfU1RBVEUsCj4gKyAgICAvKiogRXhwZWN0IHRoZSBr
ZXkgb2YgYSBibG9jayBtYXBwaW5nLiAqLwo+ICsgICAgWUFNTF9FTUlUX0JMT0NLX01BUFBJTkdf
S0VZX1NUQVRFLAo+ICsgICAgLyoqIEV4cGVjdCBhIHZhbHVlIGZvciBhIHNpbXBsZSBrZXkgb2Yg
YSBibG9jayBtYXBwaW5nLiAqLwo+ICsgICAgWUFNTF9FTUlUX0JMT0NLX01BUFBJTkdfU0lNUExF
X1ZBTFVFX1NUQVRFLAo+ICsgICAgLyoqIEV4cGVjdCBhIHZhbHVlIG9mIGEgYmxvY2sgbWFwcGlu
Zy4gKi8KPiArICAgIFlBTUxfRU1JVF9CTE9DS19NQVBQSU5HX1ZBTFVFX1NUQVRFLAo+ICsgICAg
LyoqIEV4cGVjdCBub3RoaW5nLiAqLwo+ICsgICAgWUFNTF9FTUlUX0VORF9TVEFURQo+ICt9IHlh
bWxfZW1pdHRlcl9zdGF0ZV90Owo+ICsKPiArLyoqCj4gKyAqIFRoZSBlbWl0dGVyIHN0cnVjdHVy
ZS4KPiArICoKPiArICogQWxsIG1lbWJlcnMgYXJlIGludGVybmFsLiAgTWFuYWdlIHRoZSBzdHJ1
Y3R1cmUgdXNpbmcgdGhlIEBjIHlhbWxfZW1pdHRlcl8KPiArICogZmFtaWx5IG9mIGZ1bmN0aW9u
cy4KPiArICovCj4gKwo+ICt0eXBlZGVmIHN0cnVjdCB5YW1sX2VtaXR0ZXJfcyB7Cj4gKwo+ICsg
ICAgLyoqCj4gKyAgICAgKiBAbmFtZSBFcnJvciBoYW5kbGluZwo+ICsgICAgICogQHsKPiArICAg
ICAqLwo+ICsKPiArICAgIC8qKiBFcnJvciB0eXBlLiAqLwo+ICsgICAgeWFtbF9lcnJvcl90eXBl
X3QgZXJyb3I7Cj4gKyAgICAvKiogRXJyb3IgZGVzY3JpcHRpb24uICovCj4gKyAgICBjb25zdCBj
aGFyICpwcm9ibGVtOwo+ICsKPiArICAgIC8qKgo+ICsgICAgICogQH0KPiArICAgICAqLwo+ICsK
PiArICAgIC8qKgo+ICsgICAgICogQG5hbWUgV3JpdGVyIHN0dWZmCj4gKyAgICAgKiBAewo+ICsg
ICAgICovCj4gKwo+ICsgICAgLyoqIFdyaXRlIGhhbmRsZXIuICovCj4gKyAgICB5YW1sX3dyaXRl
X2hhbmRsZXJfdCAqd3JpdGVfaGFuZGxlcjsKPiArCj4gKyAgICAvKiogQSBwb2ludGVyIGZvciBw
YXNzaW5nIHRvIHRoZSB3aGl0ZSBoYW5kbGVyLiAqLwo+ICsgICAgdm9pZCAqd3JpdGVfaGFuZGxl
cl9kYXRhOwo+ICsKPiArICAgIC8qKiBTdGFuZGFyZCAoc3RyaW5nIG9yIGZpbGUpIG91dHB1dCBk
YXRhLiAqLwo+ICsgICAgdW5pb24gewo+ICsgICAgICAgIC8qKiBTdHJpbmcgb3V0cHV0IGRhdGEu
ICovCj4gKyAgICAgICAgc3RydWN0IHsKPiArICAgICAgICAgICAgLyoqIFRoZSBidWZmZXIgcG9p
bnRlci4gKi8KPiArICAgICAgICAgICAgdW5zaWduZWQgY2hhciAqYnVmZmVyOwo+ICsgICAgICAg
ICAgICAvKiogVGhlIGJ1ZmZlciBzaXplLiAqLwo+ICsgICAgICAgICAgICBzaXplX3Qgc2l6ZTsK
PiArICAgICAgICAgICAgLyoqIFRoZSBudW1iZXIgb2Ygd3JpdHRlbiBieXRlcy4gKi8KPiArICAg
ICAgICAgICAgc2l6ZV90ICpzaXplX3dyaXR0ZW47Cj4gKyAgICAgICAgfSBzdHJpbmc7Cj4gKwo+
ICsgICAgICAgIC8qKiBGaWxlIG91dHB1dCBkYXRhLiAqLwo+ICsgICAgICAgIEZJTEUgKmZpbGU7
Cj4gKyAgICB9IG91dHB1dDsKPiArCj4gKyAgICAvKiogVGhlIHdvcmtpbmcgYnVmZmVyLiAqLwo+
ICsgICAgc3RydWN0IHsKPiArICAgICAgICAvKiogVGhlIGJlZ2lubmluZyBvZiB0aGUgYnVmZmVy
LiAqLwo+ICsgICAgICAgIHlhbWxfY2hhcl90ICpzdGFydDsKPiArICAgICAgICAvKiogVGhlIGVu
ZCBvZiB0aGUgYnVmZmVyLiAqLwo+ICsgICAgICAgIHlhbWxfY2hhcl90ICplbmQ7Cj4gKyAgICAg
ICAgLyoqIFRoZSBjdXJyZW50IHBvc2l0aW9uIG9mIHRoZSBidWZmZXIuICovCj4gKyAgICAgICAg
eWFtbF9jaGFyX3QgKnBvaW50ZXI7Cj4gKyAgICAgICAgLyoqIFRoZSBsYXN0IGZpbGxlZCBwb3Np
dGlvbiBvZiB0aGUgYnVmZmVyLiAqLwo+ICsgICAgICAgIHlhbWxfY2hhcl90ICpsYXN0Owo+ICsg
ICAgfSBidWZmZXI7Cj4gKwo+ICsgICAgLyoqIFRoZSByYXcgYnVmZmVyLiAqLwo+ICsgICAgc3Ry
dWN0IHsKPiArICAgICAgICAvKiogVGhlIGJlZ2lubmluZyBvZiB0aGUgYnVmZmVyLiAqLwo+ICsg
ICAgICAgIHVuc2lnbmVkIGNoYXIgKnN0YXJ0Owo+ICsgICAgICAgIC8qKiBUaGUgZW5kIG9mIHRo
ZSBidWZmZXIuICovCj4gKyAgICAgICAgdW5zaWduZWQgY2hhciAqZW5kOwo+ICsgICAgICAgIC8q
KiBUaGUgY3VycmVudCBwb3NpdGlvbiBvZiB0aGUgYnVmZmVyLiAqLwo+ICsgICAgICAgIHVuc2ln
bmVkIGNoYXIgKnBvaW50ZXI7Cj4gKyAgICAgICAgLyoqIFRoZSBsYXN0IGZpbGxlZCBwb3NpdGlv
biBvZiB0aGUgYnVmZmVyLiAqLwo+ICsgICAgICAgIHVuc2lnbmVkIGNoYXIgKmxhc3Q7Cj4gKyAg
ICB9IHJhd19idWZmZXI7Cj4gKwo+ICsgICAgLyoqIFRoZSBzdHJlYW0gZW5jb2RpbmcuICovCj4g
KyAgICB5YW1sX2VuY29kaW5nX3QgZW5jb2Rpbmc7Cj4gKwo+ICsgICAgLyoqCj4gKyAgICAgKiBA
fQo+ICsgICAgICovCj4gKwo+ICsgICAgLyoqCj4gKyAgICAgKiBAbmFtZSBFbWl0dGVyIHN0dWZm
Cj4gKyAgICAgKiBAewo+ICsgICAgICovCj4gKwo+ICsgICAgLyoqIElmIHRoZSBvdXRwdXQgaXMg
aW4gdGhlIGNhbm9uaWNhbCBzdHlsZT8gKi8KPiArICAgIGludCBjYW5vbmljYWw7Cj4gKyAgICAv
KiogVGhlIG51bWJlciBvZiBpbmRlbnRhdGlvbiBzcGFjZXMuICovCj4gKyAgICBpbnQgYmVzdF9p
bmRlbnQ7Cj4gKyAgICAvKiogVGhlIHByZWZlcnJlZCB3aWR0aCBvZiB0aGUgb3V0cHV0IGxpbmVz
LiAqLwo+ICsgICAgaW50IGJlc3Rfd2lkdGg7Cj4gKyAgICAvKiogQWxsb3cgdW5lc2NhcGVkIG5v
bi1BU0NJSSBjaGFyYWN0ZXJzPyAqLwo+ICsgICAgaW50IHVuaWNvZGU7Cj4gKyAgICAvKiogVGhl
IHByZWZlcnJlZCBsaW5lIGJyZWFrLiAqLwo+ICsgICAgeWFtbF9icmVha190IGxpbmVfYnJlYWs7
Cj4gKwo+ICsgICAgLyoqIFRoZSBzdGFjayBvZiBzdGF0ZXMuICovCj4gKyAgICBzdHJ1Y3Qgewo+
ICsgICAgICAgIC8qKiBUaGUgYmVnaW5uaW5nIG9mIHRoZSBzdGFjay4gKi8KPiArICAgICAgICB5
YW1sX2VtaXR0ZXJfc3RhdGVfdCAqc3RhcnQ7Cj4gKyAgICAgICAgLyoqIFRoZSBlbmQgb2YgdGhl
IHN0YWNrLiAqLwo+ICsgICAgICAgIHlhbWxfZW1pdHRlcl9zdGF0ZV90ICplbmQ7Cj4gKyAgICAg
ICAgLyoqIFRoZSB0b3Agb2YgdGhlIHN0YWNrLiAqLwo+ICsgICAgICAgIHlhbWxfZW1pdHRlcl9z
dGF0ZV90ICp0b3A7Cj4gKyAgICB9IHN0YXRlczsKPiArCj4gKyAgICAvKiogVGhlIGN1cnJlbnQg
ZW1pdHRlciBzdGF0ZS4gKi8KPiArICAgIHlhbWxfZW1pdHRlcl9zdGF0ZV90IHN0YXRlOwo+ICsK
PiArICAgIC8qKiBUaGUgZXZlbnQgcXVldWUuICovCj4gKyAgICBzdHJ1Y3Qgewo+ICsgICAgICAg
IC8qKiBUaGUgYmVnaW5uaW5nIG9mIHRoZSBldmVudCBxdWV1ZS4gKi8KPiArICAgICAgICB5YW1s
X2V2ZW50X3QgKnN0YXJ0Owo+ICsgICAgICAgIC8qKiBUaGUgZW5kIG9mIHRoZSBldmVudCBxdWV1
ZS4gKi8KPiArICAgICAgICB5YW1sX2V2ZW50X3QgKmVuZDsKPiArICAgICAgICAvKiogVGhlIGhl
YWQgb2YgdGhlIGV2ZW50IHF1ZXVlLiAqLwo+ICsgICAgICAgIHlhbWxfZXZlbnRfdCAqaGVhZDsK
PiArICAgICAgICAvKiogVGhlIHRhaWwgb2YgdGhlIGV2ZW50IHF1ZXVlLiAqLwo+ICsgICAgICAg
IHlhbWxfZXZlbnRfdCAqdGFpbDsKPiArICAgIH0gZXZlbnRzOwo+ICsKPiArICAgIC8qKiBUaGUg
c3RhY2sgb2YgaW5kZW50YXRpb24gbGV2ZWxzLiAqLwo+ICsgICAgc3RydWN0IHsKPiArICAgICAg
ICAvKiogVGhlIGJlZ2lubmluZyBvZiB0aGUgc3RhY2suICovCj4gKyAgICAgICAgaW50ICpzdGFy
dDsKPiArICAgICAgICAvKiogVGhlIGVuZCBvZiB0aGUgc3RhY2suICovCj4gKyAgICAgICAgaW50
ICplbmQ7Cj4gKyAgICAgICAgLyoqIFRoZSB0b3Agb2YgdGhlIHN0YWNrLiAqLwo+ICsgICAgICAg
IGludCAqdG9wOwo+ICsgICAgfSBpbmRlbnRzOwo+ICsKPiArICAgIC8qKiBUaGUgbGlzdCBvZiB0
YWcgZGlyZWN0aXZlcy4gKi8KPiArICAgIHN0cnVjdCB7Cj4gKyAgICAgICAgLyoqIFRoZSBiZWdp
bm5pbmcgb2YgdGhlIGxpc3QuICovCj4gKyAgICAgICAgeWFtbF90YWdfZGlyZWN0aXZlX3QgKnN0
YXJ0Owo+ICsgICAgICAgIC8qKiBUaGUgZW5kIG9mIHRoZSBsaXN0LiAqLwo+ICsgICAgICAgIHlh
bWxfdGFnX2RpcmVjdGl2ZV90ICplbmQ7Cj4gKyAgICAgICAgLyoqIFRoZSB0b3Agb2YgdGhlIGxp
c3QuICovCj4gKyAgICAgICAgeWFtbF90YWdfZGlyZWN0aXZlX3QgKnRvcDsKPiArICAgIH0gdGFn
X2RpcmVjdGl2ZXM7Cj4gKwo+ICsgICAgLyoqIFRoZSBjdXJyZW50IGluZGVudGF0aW9uIGxldmVs
LiAqLwo+ICsgICAgaW50IGluZGVudDsKPiArCj4gKyAgICAvKiogVGhlIGN1cnJlbnQgZmxvdyBs
ZXZlbC4gKi8KPiArICAgIGludCBmbG93X2xldmVsOwo+ICsKPiArICAgIC8qKiBJcyBpdCB0aGUg
ZG9jdW1lbnQgcm9vdCBjb250ZXh0PyAqLwo+ICsgICAgaW50IHJvb3RfY29udGV4dDsKPiArICAg
IC8qKiBJcyBpdCBhIHNlcXVlbmNlIGNvbnRleHQ/ICovCj4gKyAgICBpbnQgc2VxdWVuY2VfY29u
dGV4dDsKPiArICAgIC8qKiBJcyBpdCBhIG1hcHBpbmcgY29udGV4dD8gKi8KPiArICAgIGludCBt
YXBwaW5nX2NvbnRleHQ7Cj4gKyAgICAvKiogSXMgaXQgYSBzaW1wbGUgbWFwcGluZyBrZXkgY29u
dGV4dD8gKi8KPiArICAgIGludCBzaW1wbGVfa2V5X2NvbnRleHQ7Cj4gKwo+ICsgICAgLyoqIFRo
ZSBjdXJyZW50IGxpbmUuICovCj4gKyAgICBpbnQgbGluZTsKPiArICAgIC8qKiBUaGUgY3VycmVu
dCBjb2x1bW4uICovCj4gKyAgICBpbnQgY29sdW1uOwo+ICsgICAgLyoqIElmIHRoZSBsYXN0IGNo
YXJhY3RlciB3YXMgYSB3aGl0ZXNwYWNlPyAqLwo+ICsgICAgaW50IHdoaXRlc3BhY2U7Cj4gKyAg
ICAvKiogSWYgdGhlIGxhc3QgY2hhcmFjdGVyIHdhcyBhbiBpbmRlbnRhdGlvbiBjaGFyYWN0ZXIg
KCcgJywgJy0nLCAnPycsICc6Jyk/ICovCj4gKyAgICBpbnQgaW5kZW50aW9uOwo+ICsgICAgLyoq
IElmIGFuIGV4cGxpY2l0IGRvY3VtZW50IGVuZCBpcyByZXF1aXJlZD8gKi8KPiArICAgIGludCBv
cGVuX2VuZGVkOwo+ICsKPiArICAgIC8qKiBBbmNob3IgYW5hbHlzaXMuICovCj4gKyAgICBzdHJ1
Y3Qgewo+ICsgICAgICAgIC8qKiBUaGUgYW5jaG9yIHZhbHVlLiAqLwo+ICsgICAgICAgIHlhbWxf
Y2hhcl90ICphbmNob3I7Cj4gKyAgICAgICAgLyoqIFRoZSBhbmNob3IgbGVuZ3RoLiAqLwo+ICsg
ICAgICAgIHNpemVfdCBhbmNob3JfbGVuZ3RoOwo+ICsgICAgICAgIC8qKiBJcyBpdCBhbiBhbGlh
cz8gKi8KPiArICAgICAgICBpbnQgYWxpYXM7Cj4gKyAgICB9IGFuY2hvcl9kYXRhOwo+ICsKPiAr
ICAgIC8qKiBUYWcgYW5hbHlzaXMuICovCj4gKyAgICBzdHJ1Y3Qgewo+ICsgICAgICAgIC8qKiBU
aGUgdGFnIGhhbmRsZS4gKi8KPiArICAgICAgICB5YW1sX2NoYXJfdCAqaGFuZGxlOwo+ICsgICAg
ICAgIC8qKiBUaGUgdGFnIGhhbmRsZSBsZW5ndGguICovCj4gKyAgICAgICAgc2l6ZV90IGhhbmRs
ZV9sZW5ndGg7Cj4gKyAgICAgICAgLyoqIFRoZSB0YWcgc3VmZml4LiAqLwo+ICsgICAgICAgIHlh
bWxfY2hhcl90ICpzdWZmaXg7Cj4gKyAgICAgICAgLyoqIFRoZSB0YWcgc3VmZml4IGxlbmd0aC4g
Ki8KPiArICAgICAgICBzaXplX3Qgc3VmZml4X2xlbmd0aDsKPiArICAgIH0gdGFnX2RhdGE7Cj4g
Kwo+ICsgICAgLyoqIFNjYWxhciBhbmFseXNpcy4gKi8KPiArICAgIHN0cnVjdCB7Cj4gKyAgICAg
ICAgLyoqIFRoZSBzY2FsYXIgdmFsdWUuICovCj4gKyAgICAgICAgeWFtbF9jaGFyX3QgKnZhbHVl
Owo+ICsgICAgICAgIC8qKiBUaGUgc2NhbGFyIGxlbmd0aC4gKi8KPiArICAgICAgICBzaXplX3Qg
bGVuZ3RoOwo+ICsgICAgICAgIC8qKiBEb2VzIHRoZSBzY2FsYXIgY29udGFpbiBsaW5lIGJyZWFr
cz8gKi8KPiArICAgICAgICBpbnQgbXVsdGlsaW5lOwo+ICsgICAgICAgIC8qKiBDYW4gdGhlIHNj
YWxhciBiZSBleHBlc3NlZCBpbiB0aGUgZmxvdyBwbGFpbiBzdHlsZT8gKi8KPiArICAgICAgICBp
bnQgZmxvd19wbGFpbl9hbGxvd2VkOwo+ICsgICAgICAgIC8qKiBDYW4gdGhlIHNjYWxhciBiZSBl
eHByZXNzZWQgaW4gdGhlIGJsb2NrIHBsYWluIHN0eWxlPyAqLwo+ICsgICAgICAgIGludCBibG9j
a19wbGFpbl9hbGxvd2VkOwo+ICsgICAgICAgIC8qKiBDYW4gdGhlIHNjYWxhciBiZSBleHByZXNz
ZWQgaW4gdGhlIHNpbmdsZSBxdW90ZWQgc3R5bGU/ICovCj4gKyAgICAgICAgaW50IHNpbmdsZV9x
dW90ZWRfYWxsb3dlZDsKPiArICAgICAgICAvKiogQ2FuIHRoZSBzY2FsYXIgYmUgZXhwcmVzc2Vk
IGluIHRoZSBsaXRlcmFsIG9yIGZvbGRlZCBzdHlsZXM/ICovCj4gKyAgICAgICAgaW50IGJsb2Nr
X2FsbG93ZWQ7Cj4gKyAgICAgICAgLyoqIFRoZSBvdXRwdXQgc3R5bGUuICovCj4gKyAgICAgICAg
eWFtbF9zY2FsYXJfc3R5bGVfdCBzdHlsZTsKPiArICAgIH0gc2NhbGFyX2RhdGE7Cj4gKwo+ICsg
ICAgLyoqCj4gKyAgICAgKiBAfQo+ICsgICAgICovCj4gKwo+ICsgICAgLyoqCj4gKyAgICAgKiBA
bmFtZSBEdW1wZXIgc3R1ZmYKPiArICAgICAqIEB7Cj4gKyAgICAgKi8KPiArCj4gKyAgICAvKiog
SWYgdGhlIHN0cmVhbSB3YXMgYWxyZWFkeSBvcGVuZWQ/ICovCj4gKyAgICBpbnQgb3BlbmVkOwo+
ICsgICAgLyoqIElmIHRoZSBzdHJlYW0gd2FzIGFscmVhZHkgY2xvc2VkPyAqLwo+ICsgICAgaW50
IGNsb3NlZDsKPiArCj4gKyAgICAvKiogVGhlIGluZm9ybWF0aW9uIGFzc29jaWF0ZWQgd2l0aCB0
aGUgZG9jdW1lbnQgbm9kZXMuICovCj4gKyAgICBzdHJ1Y3Qgewo+ICsgICAgICAgIC8qKiBUaGUg
bnVtYmVyIG9mIHJlZmVyZW5jZXMuICovCj4gKyAgICAgICAgaW50IHJlZmVyZW5jZXM7Cj4gKyAg
ICAgICAgLyoqIFRoZSBhbmNob3IgaWQuICovCj4gKyAgICAgICAgaW50IGFuY2hvcjsKPiArICAg
ICAgICAvKiogSWYgdGhlIG5vZGUgaGFzIGJlZW4gZW1pdHRlZD8gKi8KPiArICAgICAgICBpbnQg
c2VyaWFsaXplZDsKPiArICAgIH0gKmFuY2hvcnM7Cj4gKwo+ICsgICAgLyoqIFRoZSBsYXN0IGFz
c2lnbmVkIGFuY2hvciBpZC4gKi8KPiArICAgIGludCBsYXN0X2FuY2hvcl9pZDsKPiArCj4gKyAg
ICAvKiogVGhlIGN1cnJlbnRseSBlbWl0dGVkIGRvY3VtZW50LiAqLwo+ICsgICAgeWFtbF9kb2N1
bWVudF90ICpkb2N1bWVudDsKPiArCj4gKyAgICAvKioKPiArICAgICAqIEB9Cj4gKyAgICAgKi8K
PiArCj4gK30geWFtbF9lbWl0dGVyX3Q7Cj4gKwo+ICsvKioKPiArICogSW5pdGlhbGl6ZSBhbiBl
bWl0dGVyLgo+ICsgKgo+ICsgKiBUaGlzIGZ1bmN0aW9uIGNyZWF0ZXMgYSBuZXcgZW1pdHRlciBv
YmplY3QuICBBbiBhcHBsaWNhdGlvbiBpcyByZXNwb25zaWJsZQo+ICsgKiBmb3IgZGVzdHJveWlu
ZyB0aGUgb2JqZWN0IHVzaW5nIHRoZSB5YW1sX2VtaXR0ZXJfZGVsZXRlKCkgZnVuY3Rpb24uCj4g
KyAqCj4gKyAqIEBwYXJhbVtvdXRdICAgICAgZW1pdHRlciAgICAgQW4gZW1wdHkgcGFyc2VyIG9i
amVjdC4KPiArICoKPiArICogQHJldHVybnMgQGMgMSBpZiB0aGUgZnVuY3Rpb24gc3VjY2VlZGVk
LCBAYyAwIG9uIGVycm9yLgo+ICsgKi8KPiArCj4gK1lBTUxfREVDTEFSRShpbnQpCj4gK3lhbWxf
ZW1pdHRlcl9pbml0aWFsaXplKHlhbWxfZW1pdHRlcl90ICplbWl0dGVyKTsKPiArCj4gKy8qKgo+
ICsgKiBEZXN0cm95IGFuIGVtaXR0ZXIuCj4gKyAqCj4gKyAqIEBwYXJhbVtpbixvdXRdICAgZW1p
dHRlciAgICAgQW4gZW1pdHRlciBvYmplY3QuCj4gKyAqLwo+ICsKPiArWUFNTF9ERUNMQVJFKHZv
aWQpCj4gK3lhbWxfZW1pdHRlcl9kZWxldGUoeWFtbF9lbWl0dGVyX3QgKmVtaXR0ZXIpOwo+ICsK
PiArLyoqCj4gKyAqIFNldCBhIHN0cmluZyBvdXRwdXQuCj4gKyAqCj4gKyAqIFRoZSBlbWl0dGVy
IHdpbGwgd3JpdGUgdGhlIG91dHB1dCBjaGFyYWN0ZXJzIHRvIHRoZSBAYSBvdXRwdXQgYnVmZmVy
IG9mIHRoZQo+ICsgKiBzaXplIEBhIHNpemUuICBUaGUgZW1pdHRlciB3aWxsIHNldCBAYSBzaXpl
X3dyaXR0ZW4gdG8gdGhlIG51bWJlciBvZiB3cml0dGVuCj4gKyAqIGJ5dGVzLiAgSWYgdGhlIGJ1
ZmZlciBpcyBzbWFsbGVyIHRoYW4gcmVxdWlyZWQsIHRoZSBlbWl0dGVyIHByb2R1Y2VzIHRoZQo+
ICsgKiBZQU1MX1dSSVRFX0VSUk9SIGVycm9yLgo+ICsgKgo+ICsgKiBAcGFyYW1baW4sb3V0XSAg
IGVtaXR0ZXIgICAgICAgICBBbiBlbWl0dGVyIG9iamVjdC4KPiArICogQHBhcmFtW2luXSAgICAg
ICBvdXRwdXQgICAgICAgICAgQW4gb3V0cHV0IGJ1ZmZlci4KPiArICogQHBhcmFtW2luXSAgICAg
ICBzaXplICAgICAgICAgICAgVGhlIGJ1ZmZlciBzaXplLgo+ICsgKiBAcGFyYW1baW5dICAgICAg
IHNpemVfd3JpdHRlbiAgICBUaGUgcG9pbnRlciB0byBzYXZlIHRoZSBudW1iZXIgb2Ygd3JpdHRl
bgo+ICsgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieXRlcy4KPiArICovCj4g
Kwo+ICtZQU1MX0RFQ0xBUkUodm9pZCkKPiAreWFtbF9lbWl0dGVyX3NldF9vdXRwdXRfc3RyaW5n
KHlhbWxfZW1pdHRlcl90ICplbWl0dGVyLAo+ICsgICAgICAgIHVuc2lnbmVkIGNoYXIgKm91dHB1
dCwgc2l6ZV90IHNpemUsIHNpemVfdCAqc2l6ZV93cml0dGVuKTsKPiArCj4gKy8qKgo+ICsgKiBT
ZXQgYSBmaWxlIG91dHB1dC4KPiArICoKPiArICogQGEgZmlsZSBzaG91bGQgYmUgYSBmaWxlIG9i
amVjdCBvcGVuIGZvciB3cml0aW5nLiAgVGhlIGFwcGxpY2F0aW9uIGlzCj4gKyAqIHJlc3BvbnNp
YmxlIGZvciBjbG9zaW5nIHRoZSBAYSBmaWxlLgo+ICsgKgo+ICsgKiBAcGFyYW1baW4sb3V0XSAg
IGVtaXR0ZXIgICAgIEFuIGVtaXR0ZXIgb2JqZWN0Lgo+ICsgKiBAcGFyYW1baW5dICAgICAgIGZp
bGUgICAgICAgIEFuIG9wZW4gZmlsZS4KPiArICovCj4gKwo+ICtZQU1MX0RFQ0xBUkUodm9pZCkK
PiAreWFtbF9lbWl0dGVyX3NldF9vdXRwdXRfZmlsZSh5YW1sX2VtaXR0ZXJfdCAqZW1pdHRlciwg
RklMRSAqZmlsZSk7Cj4gKwo+ICsvKioKPiArICogU2V0IGEgZ2VuZXJpYyBvdXRwdXQgaGFuZGxl
ci4KPiArICoKPiArICogQHBhcmFtW2luLG91dF0gICBlbWl0dGVyICAgICBBbiBlbWl0dGVyIG9i
amVjdC4KPiArICogQHBhcmFtW2luXSAgICAgICBoYW5kbGVyICAgICBBIHdyaXRlIGhhbmRsZXIu
Cj4gKyAqIEBwYXJhbVtpbl0gICAgICAgZGF0YSAgICAgICAgQW55IGFwcGxpY2F0aW9uIGRhdGEg
Zm9yIHBhc3NpbmcgdG8gdGhlIHdyaXRlCj4gKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaGFuZGxlci4KPiArICovCj4gKwo+ICtZQU1MX0RFQ0xBUkUodm9pZCkKPiAreWFtbF9lbWl0
dGVyX3NldF9vdXRwdXQoeWFtbF9lbWl0dGVyX3QgKmVtaXR0ZXIsCj4gKyAgICAgICAgeWFtbF93
cml0ZV9oYW5kbGVyX3QgKmhhbmRsZXIsIHZvaWQgKmRhdGEpOwo+ICsKPiArLyoqCj4gKyAqIFNl
dCB0aGUgb3V0cHV0IGVuY29kaW5nLgo+ICsgKgo+ICsgKiBAcGFyYW1baW4sb3V0XSAgIGVtaXR0
ZXIgICAgIEFuIGVtaXR0ZXIgb2JqZWN0Lgo+ICsgKiBAcGFyYW1baW5dICAgICAgIGVuY29kaW5n
ICAgIFRoZSBvdXRwdXQgZW5jb2RpbmcuCj4gKyAqLwo+ICsKPiArWUFNTF9ERUNMQVJFKHZvaWQp
Cj4gK3lhbWxfZW1pdHRlcl9zZXRfZW5jb2RpbmcoeWFtbF9lbWl0dGVyX3QgKmVtaXR0ZXIsIHlh
bWxfZW5jb2RpbmdfdCBlbmNvZGluZyk7Cj4gKwo+ICsvKioKPiArICogU2V0IGlmIHRoZSBvdXRw
dXQgc2hvdWxkIGJlIGluIHRoZSAiY2Fub25pY2FsIiBmb3JtYXQgYXMgaW4gdGhlIFlBTUwKPiAr
ICogc3BlY2lmaWNhdGlvbi4KPiArICoKPiArICogQHBhcmFtW2luLG91dF0gICBlbWl0dGVyICAg
ICBBbiBlbWl0dGVyIG9iamVjdC4KPiArICogQHBhcmFtW2luXSAgICAgICBjYW5vbmljYWwgICBJ
ZiB0aGUgb3V0cHV0IGlzIGNhbm9uaWNhbC4KPiArICovCj4gKwo+ICtZQU1MX0RFQ0xBUkUodm9p
ZCkKPiAreWFtbF9lbWl0dGVyX3NldF9jYW5vbmljYWwoeWFtbF9lbWl0dGVyX3QgKmVtaXR0ZXIs
IGludCBjYW5vbmljYWwpOwo+ICsKPiArLyoqCj4gKyAqIFNldCB0aGUgaW5kZW50YXRpb24gaW5j
cmVtZW50Lgo+ICsgKgo+ICsgKiBAcGFyYW1baW4sb3V0XSAgIGVtaXR0ZXIgICAgIEFuIGVtaXR0
ZXIgb2JqZWN0Lgo+ICsgKiBAcGFyYW1baW5dICAgICAgIGluZGVudCAgICAgIFRoZSBpbmRlbnRh
dGlvbiBpbmNyZW1lbnQgKDEgPCAuIDwgMTApLgo+ICsgKi8KPiArCj4gK1lBTUxfREVDTEFSRSh2
b2lkKQo+ICt5YW1sX2VtaXR0ZXJfc2V0X2luZGVudCh5YW1sX2VtaXR0ZXJfdCAqZW1pdHRlciwg
aW50IGluZGVudCk7Cj4gKwo+ICsvKioKPiArICogU2V0IHRoZSBwcmVmZXJyZWQgbGluZSB3aWR0
aC4gQGMgLTEgbWVhbnMgdW5saW1pdGVkLgo+ICsgKgo+ICsgKiBAcGFyYW1baW4sb3V0XSAgIGVt
aXR0ZXIgICAgIEFuIGVtaXR0ZXIgb2JqZWN0Lgo+ICsgKiBAcGFyYW1baW5dICAgICAgIHdpZHRo
ICAgICAgIFRoZSBwcmVmZXJyZWQgbGluZSB3aWR0aC4KPiArICovCj4gKwo+ICtZQU1MX0RFQ0xB
UkUodm9pZCkKPiAreWFtbF9lbWl0dGVyX3NldF93aWR0aCh5YW1sX2VtaXR0ZXJfdCAqZW1pdHRl
ciwgaW50IHdpZHRoKTsKPiArCj4gKy8qKgo+ICsgKiBTZXQgaWYgdW5lc2NhcGVkIG5vbi1BU0NJ
SSBjaGFyYWN0ZXJzIGFyZSBhbGxvd2VkLgo+ICsgKgo+ICsgKiBAcGFyYW1baW4sb3V0XSAgIGVt
aXR0ZXIgICAgIEFuIGVtaXR0ZXIgb2JqZWN0Lgo+ICsgKiBAcGFyYW1baW5dICAgICAgIHVuaWNv
ZGUgICAgIElmIHVuZXNjYXBlZCBVbmljb2RlIGNoYXJhY3RlcnMgYXJlIGFsbG93ZWQuCj4gKyAq
Lwo+ICsKPiArWUFNTF9ERUNMQVJFKHZvaWQpCj4gK3lhbWxfZW1pdHRlcl9zZXRfdW5pY29kZSh5
YW1sX2VtaXR0ZXJfdCAqZW1pdHRlciwgaW50IHVuaWNvZGUpOwo+ICsKPiArLyoqCj4gKyAqIFNl
dCB0aGUgcHJlZmVycmVkIGxpbmUgYnJlYWsuCj4gKyAqCj4gKyAqIEBwYXJhbVtpbixvdXRdICAg
ZW1pdHRlciAgICAgQW4gZW1pdHRlciBvYmplY3QuCj4gKyAqIEBwYXJhbVtpbl0gICAgICAgbGlu
ZV9icmVhayAgVGhlIHByZWZlcnJlZCBsaW5lIGJyZWFrLgo+ICsgKi8KPiArCj4gK1lBTUxfREVD
TEFSRSh2b2lkKQo+ICt5YW1sX2VtaXR0ZXJfc2V0X2JyZWFrKHlhbWxfZW1pdHRlcl90ICplbWl0
dGVyLCB5YW1sX2JyZWFrX3QgbGluZV9icmVhayk7Cj4gKwo+ICsvKioKPiArICogRW1pdCBhbiBl
dmVudC4KPiArICoKPiArICogVGhlIGV2ZW50IG9iamVjdCBtYXkgYmUgZ2VuZXJhdGVkIHVzaW5n
IHRoZSB5YW1sX3BhcnNlcl9wYXJzZSgpIGZ1bmN0aW9uLgo+ICsgKiBUaGUgZW1pdHRlciB0YWtl
cyB0aGUgcmVzcG9uc2liaWxpdHkgZm9yIHRoZSBldmVudCBvYmplY3QgYW5kIGRlc3Ryb3lzIGl0
cwo+ICsgKiBjb250ZW50IGFmdGVyIGl0IGlzIGVtaXR0ZWQuIFRoZSBldmVudCBvYmplY3QgaXMg
ZGVzdHJveWVkIGV2ZW4gaWYgdGhlCj4gKyAqIGZ1bmN0aW9uIGZhaWxzLgo+ICsgKgo+ICsgKiBA
cGFyYW1baW4sb3V0XSAgIGVtaXR0ZXIgICAgIEFuIGVtaXR0ZXIgb2JqZWN0Lgo+ICsgKiBAcGFy
YW1baW4sb3V0XSAgIGV2ZW50ICAgICAgIEFuIGV2ZW50IG9iamVjdC4KPiArICoKPiArICogQHJl
dHVybnMgQGMgMSBpZiB0aGUgZnVuY3Rpb24gc3VjY2VlZGVkLCBAYyAwIG9uIGVycm9yLgo+ICsg
Ki8KPiArCj4gK1lBTUxfREVDTEFSRShpbnQpCj4gK3lhbWxfZW1pdHRlcl9lbWl0KHlhbWxfZW1p
dHRlcl90ICplbWl0dGVyLCB5YW1sX2V2ZW50X3QgKmV2ZW50KTsKPiArCj4gKy8qKgo+ICsgKiBT
dGFydCBhIFlBTUwgc3RyZWFtLgo+ICsgKgo+ICsgKiBUaGlzIGZ1bmN0aW9uIHNob3VsZCBiZSB1
c2VkIGJlZm9yZSB5YW1sX2VtaXR0ZXJfZHVtcCgpIGlzIGNhbGxlZC4KPiArICoKPiArICogQHBh
cmFtW2luLG91dF0gICBlbWl0dGVyICAgICBBbiBlbWl0dGVyIG9iamVjdC4KPiArICoKPiArICog
QHJldHVybnMgQGMgMSBpZiB0aGUgZnVuY3Rpb24gc3VjY2VlZGVkLCBAYyAwIG9uIGVycm9yLgo+
ICsgKi8KPiArCj4gK1lBTUxfREVDTEFSRShpbnQpCj4gK3lhbWxfZW1pdHRlcl9vcGVuKHlhbWxf
ZW1pdHRlcl90ICplbWl0dGVyKTsKPiArCj4gKy8qKgo+ICsgKiBGaW5pc2ggYSBZQU1MIHN0cmVh
bS4KPiArICoKPiArICogVGhpcyBmdW5jdGlvbiBzaG91bGQgYmUgdXNlZCBhZnRlciB5YW1sX2Vt
aXR0ZXJfZHVtcCgpIGlzIGNhbGxlZC4KPiArICoKPiArICogQHBhcmFtW2luLG91dF0gICBlbWl0
dGVyICAgICBBbiBlbWl0dGVyIG9iamVjdC4KPiArICoKPiArICogQHJldHVybnMgQGMgMSBpZiB0
aGUgZnVuY3Rpb24gc3VjY2VlZGVkLCBAYyAwIG9uIGVycm9yLgo+ICsgKi8KPiArCj4gK1lBTUxf
REVDTEFSRShpbnQpCj4gK3lhbWxfZW1pdHRlcl9jbG9zZSh5YW1sX2VtaXR0ZXJfdCAqZW1pdHRl
cik7Cj4gKwo+ICsvKioKPiArICogRW1pdCBhIFlBTUwgZG9jdW1lbnQuCj4gKyAqCj4gKyAqIFRo
ZSBkb2N1bWVuIG9iamVjdCBtYXkgYmUgZ2VuZXJhdGVkIHVzaW5nIHRoZSB5YW1sX3BhcnNlcl9s
b2FkKCkgZnVuY3Rpb24KPiArICogb3IgdGhlIHlhbWxfZG9jdW1lbnRfaW5pdGlhbGl6ZSgpIGZ1
bmN0aW9uLiAgVGhlIGVtaXR0ZXIgdGFrZXMgdGhlCj4gKyAqIHJlc3BvbnNpYmlsaXR5IGZvciB0
aGUgZG9jdW1lbnQgb2JqZWN0IGFuZCBkZXN0b3lzIGl0cyBjb250ZW50IGFmdGVyCj4gKyAqIGl0
IGlzIGVtaXR0ZWQuIFRoZSBkb2N1bWVudCBvYmplY3QgaXMgZGVzdHJveWVkZXZlbiBpZiB0aGUg
ZnVuY3Rpb24gZmFpbHMuCj4gKyAqCj4gKyAqIEBwYXJhbVtpbixvdXRdICAgZW1pdHRlciAgICAg
QW4gZW1pdHRlciBvYmplY3QuCj4gKyAqIEBwYXJhbVtpbixvdXRdICAgZG9jdW1lbnQgICAgQSBk
b2N1bWVudCBvYmplY3QuCj4gKyAqCj4gKyAqIEByZXR1cm5zIEBjIDEgaWYgdGhlIGZ1bmN0aW9u
IHN1Y2NlZWRlZCwgQGMgMCBvbiBlcnJvci4KPiArICovCj4gKwo+ICtZQU1MX0RFQ0xBUkUoaW50
KQo+ICt5YW1sX2VtaXR0ZXJfZHVtcCh5YW1sX2VtaXR0ZXJfdCAqZW1pdHRlciwgeWFtbF9kb2N1
bWVudF90ICpkb2N1bWVudCk7Cj4gKwo+ICsvKioKPiArICogRmx1c2ggdGhlIGFjY3VtdWxhdGVk
IGNoYXJhY3RlcnMgdG8gdGhlIG91dHB1dC4KPiArICoKPiArICogQHBhcmFtW2luLG91dF0gICBl
bWl0dGVyICAgICBBbiBlbWl0dGVyIG9iamVjdC4KPiArICoKPiArICogQHJldHVybnMgQGMgMSBp
ZiB0aGUgZnVuY3Rpb24gc3VjY2VlZGVkLCBAYyAwIG9uIGVycm9yLgo+ICsgKi8KPiArCj4gK1lB
TUxfREVDTEFSRShpbnQpCj4gK3lhbWxfZW1pdHRlcl9mbHVzaCh5YW1sX2VtaXR0ZXJfdCAqZW1p
dHRlcik7Cj4gKwo+ICsvKiogQH0gKi8KPiArCj4gKyNpZmRlZiBfX2NwbHVzcGx1cwo+ICt9Cj4g
KyNlbmRpZgo+ICsKPiArI2VuZGlmIC8qICNpZm5kZWYgWUFNTF9IICovCj4gKwo+IGRpZmYgLS1n
aXQgYS9nZW5lcmF0ZWQvZXh0L3B0eS9leHRjb25mLmggYi9nZW5lcmF0ZWQvZXh0L3B0eS9leHRj
b25mLmgKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAuLmNkMjQ5MDQKPiAt
LS0gL2Rldi9udWxsCj4gKysrIGIvZ2VuZXJhdGVkL2V4dC9wdHkvZXh0Y29uZi5oCj4gQEAgLTAs
MCArMSw5IEBACj4gKyNpZm5kZWYgRVhUQ09ORl9ICj4gKyNkZWZpbmUgRVhUQ09ORl9ICj4gKyNk
ZWZpbmUgSEFWRV9TWVNfU1RST1BUU19IIDEKPiArI2RlZmluZSBIQVZFX1NFVFJFU1VJRCAxCj4g
KyNkZWZpbmUgSEFWRV9QVFlfSCAxCj4gKyNkZWZpbmUgSEFWRV9QV0RfSCAxCj4gKyNkZWZpbmUg
SEFWRV9QT1NJWF9PUEVOUFQgMQo+ICsjZGVmaW5lIFJVQllfRVhQT1JUIDEKPiArI2VuZGlmCj4g
ZGlmZiAtLWdpdCBhL2dlbmVyYXRlZC9leHQvcmFjYy9jcGFyc2UvZXh0Y29uZi5oIGIvZ2VuZXJh
dGVkL2V4dC9yYWNjL2NwYXJzZS9leHRjb25mLmgKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGlu
ZGV4IDAwMDAwMDAuLjAxMDZjNWUKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvZ2VuZXJhdGVkL2V4
dC9yYWNjL2NwYXJzZS9leHRjb25mLmgKPiBAQCAtMCwwICsxLDUgQEAKPiArI2lmbmRlZiBFWFRD
T05GX0gKPiArI2RlZmluZSBFWFRDT05GX0gKPiArI2RlZmluZSBIQVZFX1JCX0JMT0NLX0NBTEwg
MQo+ICsjZGVmaW5lIFJVQllfRVhQT1JUIDEKPiArI2VuZGlmCj4gZGlmZiAtLWdpdCBhL2dlbmVy
YXRlZC9leHQvcmJjb25maWcvc2l6ZW9mL2V4dGNvbmYuaCBiL2dlbmVyYXRlZC9leHQvcmJjb25m
aWcvc2l6ZW9mL2V4dGNvbmYuaAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAw
MC4uMGJkZjkwNgo+IC0tLSAvZGV2L251bGwKPiArKysgYi9nZW5lcmF0ZWQvZXh0L3JiY29uZmln
L3NpemVvZi9leHRjb25mLmgKPiBAQCAtMCwwICsxLDI5IEBACj4gKyNpZm5kZWYgRVhUQ09ORl9I
Cj4gKyNkZWZpbmUgRVhUQ09ORl9ICj4gKyNkZWZpbmUgSEFWRV9UWVBFX0lOVF9MRUFTVDhfVCAx
Cj4gKyNkZWZpbmUgSEFWRV9UWVBFX0lOVF9MRUFTVDE2X1QgMQo+ICsjZGVmaW5lIEhBVkVfVFlQ
RV9JTlRfTEVBU1QzMl9UIDEKPiArI2RlZmluZSBIQVZFX1RZUEVfSU5UX0xFQVNUNjRfVCAxCj4g
KyNkZWZpbmUgSEFWRV9UWVBFX0lOVF9GQVNUOF9UIDEKPiArI2RlZmluZSBIQVZFX1RZUEVfSU5U
X0ZBU1QxNl9UIDEKPiArI2RlZmluZSBIQVZFX1RZUEVfSU5UX0ZBU1QzMl9UIDEKPiArI2RlZmlu
ZSBIQVZFX1RZUEVfSU5UX0ZBU1Q2NF9UIDEKPiArI2RlZmluZSBIQVZFX1RZUEVfSU5UTUFYX1Qg
MQo+ICsjZGVmaW5lIEhBVkVfVFlQRV9TSUdfQVRPTUlDX1QgMQo+ICsjZGVmaW5lIEhBVkVfVFlQ
RV9XQ0hBUl9UIDEKPiArI2RlZmluZSBIQVZFX1RZUEVfV0lOVF9UIDEKPiArI2RlZmluZSBIQVZF
X1RZUEVfV0NUUkFOU19UIDEKPiArI2RlZmluZSBIQVZFX1RZUEVfV0NUWVBFX1QgMQo+ICsjZGVm
aW5lIEhBVkVfVFlQRV9fQk9PTCAxCj4gKyNkZWZpbmUgSEFWRV9UWVBFX0xPTkdfRE9VQkxFIDEK
PiArI2RlZmluZSBIQVZFX1RZUEVfRkxPQVRfX0NPTVBMRVggMQo+ICsjZGVmaW5lIEhBVkVfVFlQ
RV9ET1VCTEVfX0NPTVBMRVggMQo+ICsjZGVmaW5lIEhBVkVfVFlQRV9MT05HX0RPVUJMRV9fQ09N
UExFWCAxCj4gKyNkZWZpbmUgSEFWRV9UWVBFX19fSU5UMTI4IDEKPiArI2RlZmluZSBIQVZFX1RZ
UEVfX19GTE9BVDEyOCAxCj4gKyNkZWZpbmUgSEFWRV9UWVBFX19ERUNJTUFMMzIgMQo+ICsjZGVm
aW5lIEhBVkVfVFlQRV9fREVDSU1BTDY0IDEKPiArI2RlZmluZSBIQVZFX1RZUEVfX0RFQ0lNQUwx
MjggMQo+ICsjZGVmaW5lIEhBVkVfVFlQRV9fX0ZMT0FUODAgMQo+ICsjZGVmaW5lIFJVQllfRVhQ
T1JUIDEKPiArI2VuZGlmCj4gZGlmZiAtLWdpdCBhL2dlbmVyYXRlZC9leHQvcmlwcGVyL2V4dGNv
bmYuaCBiL2dlbmVyYXRlZC9leHQvcmlwcGVyL2V4dGNvbmYuaAo+IG5ldyBmaWxlIG1vZGUgMTAw
NjQ0Cj4gaW5kZXggMDAwMDAwMC4uNWMzOTdjNAo+IC0tLSAvZGV2L251bGwKPiArKysgYi9nZW5l
cmF0ZWQvZXh0L3JpcHBlci9leHRjb25mLmgKPiBAQCAtMCwwICsxLDUgQEAKPiArI2lmbmRlZiBF
WFRDT05GX0gKPiArI2RlZmluZSBFWFRDT05GX0gKPiArI2RlZmluZSBSSVBQRVIgMQo+ICsjZGVm
aW5lIFJVQllfRVhQT1JUIDEKPiArI2VuZGlmCj4gZGlmZiAtLWdpdCBhL2dlbmVyYXRlZC9leHQv
cnVieXZtL2V4dGNvbmYuaCBiL2dlbmVyYXRlZC9leHQvcnVieXZtL2V4dGNvbmYuaAo+IG5ldyBm
aWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMC4uMDc5NWUzZAo+IC0tLSAvZGV2L251bGwK
PiArKysgYi9nZW5lcmF0ZWQvZXh0L3J1Ynl2bS9leHRjb25mLmgKPiBAQCAtMCwwICsxLDQgQEAK
PiArI2lmbmRlZiBFWFRDT05GX0gKPiArI2RlZmluZSBFWFRDT05GX0gKPiArI2RlZmluZSBSVUJZ
X0VYUE9SVCAxCj4gKyNlbmRpZgo+IGRpZmYgLS1naXQgYS9nZW5lcmF0ZWQvZXh0L3NkYm0vZXh0
Y29uZi5oIGIvZ2VuZXJhdGVkL2V4dC9zZGJtL2V4dGNvbmYuaAo+IG5ldyBmaWxlIG1vZGUgMTAw
NjQ0Cj4gaW5kZXggMDAwMDAwMC4uZGM5MjFmNgo+IC0tLSAvZGV2L251bGwKPiArKysgYi9nZW5l
cmF0ZWQvZXh0L3NkYm0vZXh0Y29uZi5oCj4gQEAgLTAsMCArMSw1IEBACj4gKyNpZm5kZWYgRVhU
Q09ORl9ICj4gKyNkZWZpbmUgRVhUQ09ORl9ICj4gKyNkZWZpbmUgQkFETUVTUyAwCj4gKyNkZWZp
bmUgUlVCWV9FWFBPUlQgMQo+ICsjZW5kaWYKPiBkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2V4dC9z
b2NrZXQvZXh0Y29uZi5oIGIvZ2VuZXJhdGVkL2V4dC9zb2NrZXQvZXh0Y29uZi5oCj4gbmV3IGZp
bGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi43ODYxMTdkCj4gLS0tIC9kZXYvbnVsbAo+
ICsrKyBiL2dlbmVyYXRlZC9leHQvc29ja2V0L2V4dGNvbmYuaAo+IEBAIC0wLDAgKzEsMTI4IEBA
Cj4gKyNpZm5kZWYgRVhUQ09ORl9ICj4gKyNkZWZpbmUgRVhUQ09ORl9ICj4gKyNkZWZpbmUgSEFW
RV9TWVNfVUlPX0ggMQo+ICsjZGVmaW5lIEhBVkVfTkVUSU5FVF9JTl9TWVNUTV9IIDEKPiArI2Rl
ZmluZSBIQVZFX05FVElORVRfVENQX0ggMQo+ICsjZGVmaW5lIEhBVkVfTkVUSU5FVF9VRFBfSCAx
Cj4gKyNkZWZpbmUgSEFWRV9BUlBBX0lORVRfSCAxCj4gKyNkZWZpbmUgSEFWRV9ORVRQQUNLRVRf
UEFDS0VUX0ggMQo+ICsjZGVmaW5lIEhBVkVfTkVUX0VUSEVSTkVUX0ggMQo+ICsjZGVmaW5lIEhB
VkVfU1lTX1VOX0ggMQo+ICsjZGVmaW5lIEhBVkVfSUZBRERSU19IIDEKPiArI2RlZmluZSBIQVZF
X1NZU19JT0NUTF9IIDEKPiArI2RlZmluZSBIQVZFX05FVF9JRl9IIDEKPiArI2RlZmluZSBIQVZF
X1NZU19QQVJBTV9IIDEKPiArI2RlZmluZSBIQVZFX0FSUEFfTkFNRVNFUl9IIDEKPiArI2RlZmlu
ZSBIQVZFX1JFU09MVl9IIDEKPiArI2RlZmluZSBIQVZFX1RZUEVfU1RSVUNUX1NPQ0tBRERSX1VO
IDEKPiArI2RlZmluZSBIQVZFX1RZUEVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0UgMQo+ICsjZGVm
aW5lIEhBVkVfVFlQRV9TVFJVQ1RfQUREUklORk8gMQo+ICsjZGVmaW5lIEhBVkVfVFlQRV9TT0NL
TEVOX1QgMQo+ICsjZGVmaW5lIEhBVkVfVFlQRV9TVFJVQ1RfSU5fUEtUSU5GTyAxCj4gKyNkZWZp
bmUgSEFWRV9TVFJVQ1RfSU5fUEtUSU5GT19JUElfU1BFQ19EU1QgMQo+ICsjZGVmaW5lIEhBVkVf
U1RfSVBJX1NQRUNfRFNUIDEKPiArI2RlZmluZSBIQVZFX1RZUEVfU1RSVUNUX0lONl9QS1RJTkZP
IDEKPiArI2RlZmluZSBIQVZFX1RZUEVfU1RSVUNUX0lQX01SRVEgMQo+ICsjZGVmaW5lIEhBVkVf
VFlQRV9TVFJVQ1RfSVBfTVJFUU4gMQo+ICsjZGVmaW5lIEhBVkVfVFlQRV9TVFJVQ1RfSVBWNl9N
UkVRIDEKPiArI2RlZmluZSBIQVZFX1NUUlVDVF9NU0dIRFJfTVNHX0NPTlRST0wgMQo+ICsjZGVm
aW5lIEhBVkVfU1RfTVNHX0NPTlRST0wgMQo+ICsjZGVmaW5lIEhBVkVfVFlQRV9TVFJVQ1RfVENQ
X0lORk8gMQo+ICsjZGVmaW5lIEhBVkVfQ09OU1RfVENQX0VTVEFCTElTSEVEIDEKPiArI2RlZmlu
ZSBIQVZFX0NPTlNUX1RDUF9TWU5fU0VOVCAxCj4gKyNkZWZpbmUgSEFWRV9DT05TVF9UQ1BfU1lO
X1JFQ1YgMQo+ICsjZGVmaW5lIEhBVkVfQ09OU1RfVENQX0ZJTl9XQUlUMSAxCj4gKyNkZWZpbmUg
SEFWRV9DT05TVF9UQ1BfRklOX1dBSVQyIDEKPiArI2RlZmluZSBIQVZFX0NPTlNUX1RDUF9USU1F
X1dBSVQgMQo+ICsjZGVmaW5lIEhBVkVfQ09OU1RfVENQX0NMT1NFIDEKPiArI2RlZmluZSBIQVZF
X0NPTlNUX1RDUF9DTE9TRV9XQUlUIDEKPiArI2RlZmluZSBIQVZFX0NPTlNUX1RDUF9MQVNUX0FD
SyAxCj4gKyNkZWZpbmUgSEFWRV9DT05TVF9UQ1BfTElTVEVOIDEKPiArI2RlZmluZSBIQVZFX0NP
TlNUX1RDUF9DTE9TSU5HIDEKPiArI2RlZmluZSBIQVZFX1NUUlVDVF9UQ1BfSU5GT19UQ1BJX1NU
QVRFIDEKPiArI2RlZmluZSBIQVZFX1NUX1RDUElfU1RBVEUgMQo+ICsjZGVmaW5lIEhBVkVfU1RS
VUNUX1RDUF9JTkZPX1RDUElfQ0FfU1RBVEUgMQo+ICsjZGVmaW5lIEhBVkVfU1RfVENQSV9DQV9T
VEFURSAxCj4gKyNkZWZpbmUgSEFWRV9TVFJVQ1RfVENQX0lORk9fVENQSV9SRVRSQU5TTUlUUyAx
Cj4gKyNkZWZpbmUgSEFWRV9TVF9UQ1BJX1JFVFJBTlNNSVRTIDEKPiArI2RlZmluZSBIQVZFX1NU
UlVDVF9UQ1BfSU5GT19UQ1BJX1BST0JFUyAxCj4gKyNkZWZpbmUgSEFWRV9TVF9UQ1BJX1BST0JF
UyAxCj4gKyNkZWZpbmUgSEFWRV9TVFJVQ1RfVENQX0lORk9fVENQSV9CQUNLT0ZGIDEKPiArI2Rl
ZmluZSBIQVZFX1NUX1RDUElfQkFDS09GRiAxCj4gKyNkZWZpbmUgSEFWRV9TVFJVQ1RfVENQX0lO
Rk9fVENQSV9PUFRJT05TIDEKPiArI2RlZmluZSBIQVZFX1NUX1RDUElfT1BUSU9OUyAxCj4gKyNk
ZWZpbmUgSEFWRV9TVFJVQ1RfVENQX0lORk9fVENQSV9SVE8gMQo+ICsjZGVmaW5lIEhBVkVfU1Rf
VENQSV9SVE8gMQo+ICsjZGVmaW5lIEhBVkVfU1RSVUNUX1RDUF9JTkZPX1RDUElfQVRPIDEKPiAr
I2RlZmluZSBIQVZFX1NUX1RDUElfQVRPIDEKPiArI2RlZmluZSBIQVZFX1NUUlVDVF9UQ1BfSU5G
T19UQ1BJX1NORF9NU1MgMQo+ICsjZGVmaW5lIEhBVkVfU1RfVENQSV9TTkRfTVNTIDEKPiArI2Rl
ZmluZSBIQVZFX1NUUlVDVF9UQ1BfSU5GT19UQ1BJX1JDVl9NU1MgMQo+ICsjZGVmaW5lIEhBVkVf
U1RfVENQSV9SQ1ZfTVNTIDEKPiArI2RlZmluZSBIQVZFX1NUUlVDVF9UQ1BfSU5GT19UQ1BJX1VO
QUNLRUQgMQo+ICsjZGVmaW5lIEhBVkVfU1RfVENQSV9VTkFDS0VEIDEKPiArI2RlZmluZSBIQVZF
X1NUUlVDVF9UQ1BfSU5GT19UQ1BJX1NBQ0tFRCAxCj4gKyNkZWZpbmUgSEFWRV9TVF9UQ1BJX1NB
Q0tFRCAxCj4gKyNkZWZpbmUgSEFWRV9TVFJVQ1RfVENQX0lORk9fVENQSV9MT1NUIDEKPiArI2Rl
ZmluZSBIQVZFX1NUX1RDUElfTE9TVCAxCj4gKyNkZWZpbmUgSEFWRV9TVFJVQ1RfVENQX0lORk9f
VENQSV9SRVRSQU5TIDEKPiArI2RlZmluZSBIQVZFX1NUX1RDUElfUkVUUkFOUyAxCj4gKyNkZWZp
bmUgSEFWRV9TVFJVQ1RfVENQX0lORk9fVENQSV9GQUNLRVRTIDEKPiArI2RlZmluZSBIQVZFX1NU
X1RDUElfRkFDS0VUUyAxCj4gKyNkZWZpbmUgSEFWRV9TVFJVQ1RfVENQX0lORk9fVENQSV9MQVNU
X0RBVEFfU0VOVCAxCj4gKyNkZWZpbmUgSEFWRV9TVF9UQ1BJX0xBU1RfREFUQV9TRU5UIDEKPiAr
I2RlZmluZSBIQVZFX1NUUlVDVF9UQ1BfSU5GT19UQ1BJX0xBU1RfQUNLX1NFTlQgMQo+ICsjZGVm
aW5lIEhBVkVfU1RfVENQSV9MQVNUX0FDS19TRU5UIDEKPiArI2RlZmluZSBIQVZFX1NUUlVDVF9U
Q1BfSU5GT19UQ1BJX0xBU1RfREFUQV9SRUNWIDEKPiArI2RlZmluZSBIQVZFX1NUX1RDUElfTEFT
VF9EQVRBX1JFQ1YgMQo+ICsjZGVmaW5lIEhBVkVfU1RSVUNUX1RDUF9JTkZPX1RDUElfTEFTVF9B
Q0tfUkVDViAxCj4gKyNkZWZpbmUgSEFWRV9TVF9UQ1BJX0xBU1RfQUNLX1JFQ1YgMQo+ICsjZGVm
aW5lIEhBVkVfU1RSVUNUX1RDUF9JTkZPX1RDUElfUE1UVSAxCj4gKyNkZWZpbmUgSEFWRV9TVF9U
Q1BJX1BNVFUgMQo+ICsjZGVmaW5lIEhBVkVfU1RSVUNUX1RDUF9JTkZPX1RDUElfUkNWX1NTVEhS
RVNIIDEKPiArI2RlZmluZSBIQVZFX1NUX1RDUElfUkNWX1NTVEhSRVNIIDEKPiArI2RlZmluZSBI
QVZFX1NUUlVDVF9UQ1BfSU5GT19UQ1BJX1JUVCAxCj4gKyNkZWZpbmUgSEFWRV9TVF9UQ1BJX1JU
VCAxCj4gKyNkZWZpbmUgSEFWRV9TVFJVQ1RfVENQX0lORk9fVENQSV9SVFRWQVIgMQo+ICsjZGVm
aW5lIEhBVkVfU1RfVENQSV9SVFRWQVIgMQo+ICsjZGVmaW5lIEhBVkVfU1RSVUNUX1RDUF9JTkZP
X1RDUElfU05EX1NTVEhSRVNIIDEKPiArI2RlZmluZSBIQVZFX1NUX1RDUElfU05EX1NTVEhSRVNI
IDEKPiArI2RlZmluZSBIQVZFX1NUUlVDVF9UQ1BfSU5GT19UQ1BJX1NORF9DV05EIDEKPiArI2Rl
ZmluZSBIQVZFX1NUX1RDUElfU05EX0NXTkQgMQo+ICsjZGVmaW5lIEhBVkVfU1RSVUNUX1RDUF9J
TkZPX1RDUElfQURWTVNTIDEKPiArI2RlZmluZSBIQVZFX1NUX1RDUElfQURWTVNTIDEKPiArI2Rl
ZmluZSBIQVZFX1NUUlVDVF9UQ1BfSU5GT19UQ1BJX1JFT1JERVJJTkcgMQo+ICsjZGVmaW5lIEhB
VkVfU1RfVENQSV9SRU9SREVSSU5HIDEKPiArI2RlZmluZSBIQVZFX1NUUlVDVF9UQ1BfSU5GT19U
Q1BJX1JDVl9SVFQgMQo+ICsjZGVmaW5lIEhBVkVfU1RfVENQSV9SQ1ZfUlRUIDEKPiArI2RlZmlu
ZSBIQVZFX1NUUlVDVF9UQ1BfSU5GT19UQ1BJX1JDVl9TUEFDRSAxCj4gKyNkZWZpbmUgSEFWRV9T
VF9UQ1BJX1JDVl9TUEFDRSAxCj4gKyNkZWZpbmUgSEFWRV9TVFJVQ1RfVENQX0lORk9fVENQSV9U
T1RBTF9SRVRSQU5TIDEKPiArI2RlZmluZSBIQVZFX1NUX1RDUElfVE9UQUxfUkVUUkFOUyAxCj4g
KyNkZWZpbmUgSEFWRV9TT0NLRVQgMQo+ICsjZGVmaW5lIEhBVkVfU0VORE1TRyAxCj4gKyNkZWZp
bmUgSEFWRV9SRUNWTVNHIDEKPiArI2RlZmluZSBIQVZFX0ZSRUVBRERSSU5GTyAxCj4gKyNkZWZp
bmUgSEFWRV9HQUlfU1RSRVJST1IgMQo+ICsjZGVmaW5lIEdBSV9TVFJFUlJPUl9DT05TVCAxCj4g
KyNkZWZpbmUgSEFWRV9BQ0NFUFQ0IDEKPiArI2RlZmluZSBIQVZFX0lORVRfTlRPUCAxCj4gKyNk
ZWZpbmUgSEFWRV9JTkVUX1BUT04gMQo+ICsjZGVmaW5lIEhBVkVfR0VUU0VSVkJZUE9SVCAxCj4g
KyNkZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEKPiArI2RlZmluZSBIQVZFX0lGX0lOREVYVE9OQU1F
IDEKPiArI2RlZmluZSBORUVEX0lGX0lOREVYVE9OQU1FX0RFQ0wgMQo+ICsjZGVmaW5lIEhBVkVf
SUZfTkFNRVRPSU5ERVggMQo+ICsjZGVmaW5lIE5FRURfSUZfTkFNRVRPSU5ERVhfREVDTCAxCj4g
KyNkZWZpbmUgSEFWRV9HRVRIT1NUQllOQU1FMiAxCj4gKyNkZWZpbmUgSEFWRV9TT0NLRVRQQUlS
IDEKPiArI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKPiArI2RlZmluZSBFTkFCTEVfSVBWNiAx
Cj4gKyNkZWZpbmUgSU5FVDYgMQo+ICsjZGVmaW5lIEhBVkVfQ09OU1RfQUZfVU5JWCAxCj4gKyNk
ZWZpbmUgSEFWRV9DT05TVF9TQ01fUklHSFRTIDEKPiArI2RlZmluZSBGRF9QQVNTSU5HX1dPUktf
V0lUSF9SRUNWTVNHX01TR19QRUVLIDEKPiArI2RlZmluZSBIQVZFX0dFVE5BTUVJTkZPIDEKPiAr
I2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKPiArI2RlZmluZSBSVUJZX0VYUE9SVCAxCj4gKyNl
bmRpZgo+IGRpZmYgLS1naXQgYS9nZW5lcmF0ZWQvZXh0L3N0cmluZ2lvL2V4dGNvbmYuaCBiL2dl
bmVyYXRlZC9leHQvc3RyaW5naW8vZXh0Y29uZi5oCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBp
bmRleCAwMDAwMDAwLi4wNzk1ZTNkCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2dlbmVyYXRlZC9l
eHQvc3RyaW5naW8vZXh0Y29uZi5oCj4gQEAgLTAsMCArMSw0IEBACj4gKyNpZm5kZWYgRVhUQ09O
Rl9ICj4gKyNkZWZpbmUgRVhUQ09ORl9ICj4gKyNkZWZpbmUgUlVCWV9FWFBPUlQgMQo+ICsjZW5k
aWYKPiBkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2V4dC9zdHJzY2FuL2V4dGNvbmYuaCBiL2dlbmVy
YXRlZC9leHQvc3Ryc2Nhbi9leHRjb25mLmgKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4
IDAwMDAwMDAuLjA3OTVlM2QKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvZ2VuZXJhdGVkL2V4dC9z
dHJzY2FuL2V4dGNvbmYuaAo+IEBAIC0wLDAgKzEsNCBAQAo+ICsjaWZuZGVmIEVYVENPTkZfSAo+
ICsjZGVmaW5lIEVYVENPTkZfSAo+ICsjZGVmaW5lIFJVQllfRVhQT1JUIDEKPiArI2VuZGlmCj4g
ZGlmZiAtLWdpdCBhL2dlbmVyYXRlZC9leHQvc3lzbG9nL2V4dGNvbmYuaCBiL2dlbmVyYXRlZC9l
eHQvc3lzbG9nL2V4dGNvbmYuaAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAw
MC4uNWU3ZTllMQo+IC0tLSAvZGV2L251bGwKPiArKysgYi9nZW5lcmF0ZWQvZXh0L3N5c2xvZy9l
eHRjb25mLmgKPiBAQCAtMCwwICsxLDcgQEAKPiArI2lmbmRlZiBFWFRDT05GX0gKPiArI2RlZmlu
ZSBFWFRDT05GX0gKPiArI2RlZmluZSBIQVZFX1NZU0xPR19IIDEKPiArI2RlZmluZSBIQVZFX09Q
RU5MT0cgMQo+ICsjZGVmaW5lIEhBVkVfU0VUTE9HTUFTSyAxCj4gKyNkZWZpbmUgUlVCWV9FWFBP
UlQgMQo+ICsjZW5kaWYKPiBkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2V4dC96bGliL2V4dGNvbmYu
aCBiL2dlbmVyYXRlZC9leHQvemxpYi9leHRjb25mLmgKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+
IGluZGV4IDAwMDAwMDAuLjM5MDA2YmMKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvZ2VuZXJhdGVk
L2V4dC96bGliL2V4dGNvbmYuaAo+IEBAIC0wLDAgKzEsOCBAQAo+ICsjaWZuZGVmIEVYVENPTkZf
SAo+ICsjZGVmaW5lIEVYVENPTkZfSAo+ICsjZGVmaW5lIEhBVkVfWkxJQl9IIDEKPiArI2RlZmlu
ZSBIQVZFX0NSQzMyX0NPTUJJTkUgMQo+ICsjZGVmaW5lIEhBVkVfQURMRVIzMl9DT01CSU5FIDEK
PiArI2RlZmluZSBIQVZFX1RZUEVfWl9DUkNfVCAxCj4gKyNkZWZpbmUgUlVCWV9FWFBPUlQgMQo+
ICsjZW5kaWYKPiAtLQo+IDIuMjAuMQo+Cj4KPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwo+IE1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKPiBNaW5pb3Mt
ZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKPiBodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3Jn
L21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVsCgpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1k
ZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21h
aWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Wed Dec 11 15:37:04 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 11 Dec 2019 15:37:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1if42x-0002xP-RO; Wed, 11 Dec 2019 15:37:03 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=boZ+=2B=gmail.com=stefanl.teodorescu@srs-us1.protection.inumbo.net>)
 id 1if42w-0002xK-3a
 for minios-devel@lists.xen.org; Wed, 11 Dec 2019 15:37:02 +0000
X-Inumbo-ID: 1232a564-1c2c-11ea-b6f1-bc764e2007e4
Received: from mail-lj1-x244.google.com (unknown [2a00:1450:4864:20::244])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 1232a564-1c2c-11ea-b6f1-bc764e2007e4;
 Wed, 11 Dec 2019 15:37:00 +0000 (UTC)
Received: by mail-lj1-x244.google.com with SMTP id c19so24487208lji.11
 for <minios-devel@lists.xen.org>; Wed, 11 Dec 2019 07:37:00 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to
 :cc; bh=6d+KTsl/KV0dJpgvBA1ihRmPcpPlJfKemP7euYpGo5g=;
 b=NHj3NwMr5wICjXOR7DehTA+WSWHVn7O06gi0/dzWZFHPqSqKeMJCvDT0krRrvI2i2h
 rOiDEJ9lH5EmAYJcInQYMtSXsvImNnqVVCP2a1ik6qVr4h0VahUjdivj9OsOh1uTn9Sc
 49b8/yjnDUZ6d1/ORmSHHgpU3dIfpenQy8Q/8h5Tgwjlm6SJ8MAGF/T2s6U9p4uhShqS
 s6v4BIEQhw/sIiGjCevcEi29fFVfaH6Lru9FDUt21LpnJFnbtQEAYoiEFSUP2Q8EsjMv
 O8v91oYBpAHdK7kh1wTKqdCPWDpNKLKb9zzK6cNXJ9z7o+0FBcc4Zi1HAJBu0rXkz3bd
 T7jA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
 :message-id:subject:to:cc;
 bh=6d+KTsl/KV0dJpgvBA1ihRmPcpPlJfKemP7euYpGo5g=;
 b=kfLjHpQRxSmTCgL4Blmxu9vCwhgiPNDBATo8ao7iUE9AFG31CQ56xRDRjtz2MHhEMr
 uBBrblIoyCPvw1WXS/Pe2SuHihmegH85erh4I2QhucLzayFo8INqjMdLvq+cwls99YSQ
 Q19gXmox/ID/yMs/BScNxhTYY/ylA1g9NAgp8ufIUMYub5cA2TxI3Wvws2hv+WX7W8VM
 ky7WJJ32vXhVjbtX5qfvw3c8O7QHZf6P0gzRQAxFWAlFZus5gtZXzcnEdnnmFU94XgpO
 6pU0/xSmr14cdEBtPmhwUYx5vjYUbvQx8sUTRX9D7ofn5Gt70C+MyEBLRHf5FDJcWgkV
 P8zA==
X-Gm-Message-State: APjAAAWrsE6Zgcx0YXCuvfrSM69bpgXuSPASRQtgBpPGG4JAkeA/bkF/
 NUDTD4BNd1QFRj2xNI58x8Wo+qrhXndkbhcmsD4=
X-Google-Smtp-Source: APXvYqxzhHhl7il8FO+ZNLQsx/1wSmmHEGp4V5FUvpYk/Mgk9HzwfjE/A5abQsOHqa6nN59tjT0Tir00F1DsIPaPgBg=
X-Received: by 2002:a05:651c:3dc:: with SMTP id
 f28mr2658350ljp.35.1576078619007; 
 Wed, 11 Dec 2019 07:36:59 -0800 (PST)
MIME-Version: 1.0
References: <20191208095507.27384-1-costin.lupu@cs.pub.ro>
 <20191208095507.27384-6-costin.lupu@cs.pub.ro>
In-Reply-To: <20191208095507.27384-6-costin.lupu@cs.pub.ro>
From: Stefan Teodorescu <stefanl.teodorescu@gmail.com>
Date: Wed, 11 Dec 2019 17:36:47 +0200
Message-ID: <CAEiTdV6JeXX1z7HKfzUDMnKU1SdD9ipizfsqu3zTPPnkN4oE3Q@mail.gmail.com>
To: Costin Lupu <costin.lupu@cs.pub.ro>
Subject: Re: [Minios-devel] [UNIKRAFT/RUBY PATCH 05/16] core: Build core
 functionality
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Andrei Gogonea <andrei.gogonea09@gmail.com>, minios-devel@lists.xen.org
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

T25jZSBpdCdzIHVwc3RyZWFtZWQsIHdlIHNob3VsZCBhbHNvIGF1dG9tYXRpY2FsbHkgc2VsZWN0
IHRoZQovZGV2L251bGwgZmxhZyBmb3IgdGhlIGNvbmZpZ3VyYXRpb24sIHNpbmNlIGl0IGlzIHJl
cXVpcmVkIGJ5IHRoZSB1c2VyCmludGVyYWN0aW9uIG1vZHVsZS4gSSdtIG5vdCBzdXJlIHdoZXJl
IGV4YWN0bHkgd2Ugc2hvdWxkIGFkZCB0aGlzLCBidXQKaXQgd291bGQgYXZvaWQgYSBydW50aW1l
IGVycm9yLgoKQWxzbywgb24gbXkgZ2NjIHZlcnNpb24gKDkuMi4wKSwgSSBlbmNvdW50ZXIgc29t
ZSB3YXJuaW5ncyB3aGVuCmJ1aWxkaW5nIFJ1YnksIHdoaWNoIGNvdWxkIGJlIHN1cHByZXNzZWQg
d2l0aCB0aGUgZmxhZwotV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlci4gSSB3aWxsIHNlbmQg
YSBwYXRjaCB0byBmaXggdGhlc2UsIG9uY2UKdGhpcyBpcyB1cHN0cmVhbWVkLgoKUmV2aWV3ZWQt
Ynk6IFN0ZWZhbiBUZW9kb3Jlc2N1IDxzdGVmYW5sLnRlb2RvcmVzY3VAZ21haWwuY29tPgoKT24g
U3VuLCBEZWMgOCwgMjAxOSBhdCAxMTo1NSBBTSBDb3N0aW4gTHVwdSA8Y29zdGluLmx1cHVAY3Mu
cHViLnJvPiB3cm90ZToKPgo+IEZyb206IEFuZHJlaSBHb2dvbmVhIDxhbmRyZWkuZ29nb25lYTA5
QGdtYWlsLmNvbT4KPgo+IFdpdGggdGhlc2UgY2hhbmdlcyB3ZSBvbmx5IGJ1aWxkIHRoZSBSdWJ5
IGludGVycHJldGVyLiBJbiB0aGUgZm9sbG93aW5nIHBhdGNoZXMKPiB3ZSB3aWxsIGFkZCBSdWJ5
IGV4dGVuc2lvbnMgYW5kIGVuY29kaW5ncyBhcyB3ZWxsLiBUaGUgb3JpZ2luYWwgUnVieSBidWls
ZAo+IHByb3ZpZGVzIHdoYXQgaXMgY2FsbGVkICdtaW5pcnVieScgLSB0aGUgbWluaW1hbGlzdGlj
IHZhcmlhbnQgb2YgdGhlIFJ1YnkKPiBpbnRlcHJldG9yIGFuZCB3aGljaCBkb2Vzbid0IGhhdmUg
YW55IGV4dGVuc2lvbnMuIFdlIHVzZWQgdGhlIHNhbWUgaWRlYSB0bwo+IHByb3ZpZGUgYSBtaW5p
bWFsaXN0aWMgdmVyc2lvbiBmb3IgVW5pa3JhZnQgd2hlbiB0aGUgbWluaSBjb25maWd1cmF0aW9u
IGlzCj4gY2hlY2tlZCB2aWEgbWVudWNvbmZpZy4KPgo+IFNpZ25lZC1vZmYtYnk6IEFuZHJlaSBH
b2dvbmVhIDxhbmRyZWkuZ29nb25lYTA5QGdtYWlsLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBDb3N0
aW4gTHVwdSA8Y29zdGluLmx1cHVAY3MucHViLnJvPgo+IC0tLQo+ICBDb25maWcudWsgICAgICAg
ICAgfCAgMTYgKysrLQo+ICBNYWtlZmlsZS51ayAgICAgICAgfCAxODQgKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gIGluY2x1ZGUvc3RkYWxpZ24uaCB8ICAx
MCArKysKPiAgMyBmaWxlcyBjaGFuZ2VkLCAyMDkgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigt
KQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgTWFrZWZpbGUudWsKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0
IGluY2x1ZGUvc3RkYWxpZ24uaAo+Cj4gZGlmZiAtLWdpdCBhL0NvbmZpZy51ayBiL0NvbmZpZy51
awo+IGluZGV4IGExMWJlMzQuLmRkODMyNjcgMTAwNjQ0Cj4gLS0tIGEvQ29uZmlnLnVrCj4gKysr
IGIvQ29uZmlnLnVrCj4gQEAgLTEsMTAgKzEsMjQgQEAKPiAgbWVudWNvbmZpZyBMSUJSVUJZCj4g
ICAgICAgICBib29sICJSdWJ5Igo+ICAgICAgICAgZGVmYXVsdCBuCj4gLSAgICAgICBzZWxlY3Qg
TElCTk9MSUJDIGlmICFIQVZFX0xJQkMKPiAgICAgICAgIHNlbGVjdCBMSUJVS0RFQlVHCj4gICAg
ICAgICBzZWxlY3QgTElCVUtBTExPQwo+ICAgICAgICAgc2VsZWN0IExJQlVLU0NIRUQKPiArICAg
ICAgIHNlbGVjdCBMSUJWRlNDT1JFCj4gKyAgICAgICBzZWxlY3QgTElCU1lTQ0FMTF9TSElNCj4g
KyAgICAgICBzZWxlY3QgTElCVUtNTUFQCj4gKyAgICAgICBzZWxlY3QgVUtTWVNJTkZPCj4gKyAg
ICAgICBzZWxlY3QgTElCUE9TSVhfTElCREwKPiArICAgICAgIHNlbGVjdCBMSUJORVdMSUJDCj4g
KyAgICAgICBzZWxlY3QgTElCQ09NUElMRVJfUlQKPiArICAgICAgIHNlbGVjdCBMSUJVTldJTkQK
PiArICAgICAgIHNlbGVjdCBMSUJDWFgKPiArICAgICAgIHNlbGVjdCBDWFhfVEhSRUFEUwo+ICsg
ICAgICAgc2VsZWN0IExJQlBUSFJFQURfRU1CRURERUQKPiArICAgICAgIHNlbGVjdCBMSUJMV0lQ
Cj4KPiAgaWYgTElCUlVCWQo+ICtjb25maWcgTElCUlVCWV9NSU5JCj4gKyAgICAgICBib29sICJN
aW5pIGNvbmZpZ3VyYXRpb24iCj4gKyAgICAgICBkZWZhdWx0IG4KPiAgZW5kaWYKPiBkaWZmIC0t
Z2l0IGEvTWFrZWZpbGUudWsgYi9NYWtlZmlsZS51awo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4g
aW5kZXggMDAwMDAwMC4uOThlNzM4Zgo+IC0tLSAvZGV2L251bGwKPiArKysgYi9NYWtlZmlsZS51
awo+IEBAIC0wLDAgKzEsMTg0IEBACj4gKyMgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0Qt
My1DbGF1c2UKPiArIwo+ICsjICBSdWJ5IE1ha2VmaWxlLnVrCj4gKyMKPiArIyAgQXV0aG9yczog
QW5kcmVpIEdvZ29uZWEgPGFuZHJlaS5nb2dvbmVhMDlAZ21haWwuY29tPgo+ICsjICAgICAgICAg
ICBDb3N0aW4gTHVwdSA8Y29zdGluLmx1cHVAY3MucHViLnJvPgo+ICsjCj4gKyMgIENvcHlyaWdo
dCAoYykgMjAxOSwgVW5pdmVyc2l0eSBQb2xpdGVobmljYSBvZiBCdWNoYXJlc3QuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCj4gKyMKPiArIyAgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cj4gKyMgIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwo+ICsjICBh
cmUgbWV0Ogo+ICsjCj4gKyMgIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cj4gKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KPiArIyAgMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKPiArIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQo+ICsjICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgo+ICsjICAzLiBOZWl0
aGVyIHRoZSBuYW1lIG9mIHRoZSBjb3B5cmlnaHQgaG9sZGVyIG5vciB0aGUgbmFtZXMgb2YgaXRz
Cj4gKyMgICAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tCj4gKyMgICAgIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCj4gKyMKPiArIyAgVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMg
SVMiCj4gKyMgIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKPiArIyAgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKPiArIyAg
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9S
IENPTlRSSUJVVE9SUyBCRQo+ICsjICBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCj4gKyMgIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCj4gKyMg
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUwo+ICsjICBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgo+ICsjICBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQo+ICsjICBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRQo+ICsjICBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KPiArIwo+ICsjICBUSElTIEhFQURFUiBNQVkgTk9UIEJFIEVYVFJBQ1RFRCBPUiBNT0RJRklF
RCBJTiBBTlkgV0FZLgo+ICsjCj4gKwo+ICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwo+ICsjIExp
YnJhcnkgcmVnaXN0cmF0aW9uCj4gKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCj4gKyQoZXZhbCAk
KGNhbGwgYWRkbGliX3MsbGlicnVieSwkKENPTkZJR19MSUJSVUJZKSkpCj4gKwo+ICsjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIwo+ICsjIFNvdXJjZXMKPiArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK
PiArTElCUlVCWV9WRVJTSU9OPTJfNgo+ICtMSUJSVUJZX0FSQ0hJVkU9cnVieV8kKExJQlJVQllf
VkVSU0lPTikuemlwCj4gK0xJQlJVQllfVVJMPWh0dHBzOi8vZ2l0aHViLmNvbS9ydWJ5L3J1Ynkv
YXJjaGl2ZS8kKExJQlJVQllfQVJDSElWRSkKPiArTElCUlVCWV9ESVI9cnVieS1ydWJ5XyQoTElC
UlVCWV9WRVJTSU9OKQo+ICtMSUJSVUJZX1BBVENIRElSPSQoTElCUlVCWV9CQVNFKS9wYXRjaGVz
Cj4gKyQoZXZhbCAkKGNhbGwgZmV0Y2gsbGlicnVieSwkKExJQlJVQllfVVJMKSxydWJ5XyQoTElC
UlVCWV9BUkNISVZFKSkpCj4gKyQoZXZhbCAkKGNhbGwgcGF0Y2gsbGlicnVieSwkKExJQlJVQllf
UEFUQ0hESVIpLCQoTElCUlVCWV9ESVIpKSkKPiArCj4gKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
Cj4gKyMgR2xvYmFsIGFuZCBjb21tb24gZmxhZ3MKPiArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK
PiArIyBTdXBwcmVzcyBmbGFncwo+ICtMSUJSVUJZX1NVUFBSRVNTX0ZMQUdTID0gLVduby1jYXN0
LWZ1bmN0aW9uLXR5cGUgLVduby1sb25nLWxvbmcgXAo+ICsgICAgICAgLVduby1taXNzaW5nLWZp
ZWxkLWluaXRpYWxpemVycyAtV25vLW92ZXJsZW5ndGgtc3RyaW5ncyBcCj4gKyAgICAgICAtV25v
LXBhY2tlZC1iaXRmaWVsZC1jb21wYXQgLVduby10YXV0b2xvZ2ljYWwtY29tcGFyZSBcCj4gKyAg
ICAgICAtV25vLXVudXNlZC1wYXJhbWV0ZXIgLVduby11bnVzZWQtdmFsdWUgLVduby1pbXBsaWNp
dC1mYWxsdGhyb3VnaCBcCj4gKyAgICAgICAtV25vLXVudXNlZC1idXQtc2V0LXZhcmlhYmxlCj4g
K0xJQlJVQllfU1VQUkVTU19DRkxBR1MteSAgICs9ICQoTElCUlVCWV9TVVBQUkVTU19GTEFHUykg
XAo+ICsgICAgICAgLVduby1wb2ludGVyLXRvLWludC1jYXN0IC1Xbm8taW50LXRvLXBvaW50ZXIt
Y2FzdAo+ICtMSUJSVUJZX1NVUFJFU1NfQ1hYRkxBR1MteSArPSAkKExJQlJVQllfU1VQUFJFU1Nf
RkxBR1MpCj4gK0xJQlJVQllfQ0ZMQUdTLXkgICAgICAgICAgICs9ICQoTElCUlVCWV9TVVBSRVNT
X0NGTEFHUy15KQo+ICtMSUJSVUJZX0NYWEZMQUdTLXkgICAgICAgICArPSAkKExJQlJVQllfU1VQ
UkVTU19DWFhGTEFHUy15KQo+ICsKPiArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKPiArIyBIZWxw
ZXJzCj4gKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCj4gK0xJQlJVQllfU1JDPSQoTElCUlVCWV9P
UklHSU4pLyQoTElCUlVCWV9ESVIpCj4gKwo+ICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwo+ICsj
IEdsb2JhbCBhbmQgY29tbW9uIGluY2x1ZGVzCj4gKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCj4g
K0xJQlJVQllfQ0lOQ0xVREVTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkvaW5jbHVkZSBcCj4gKyAg
ICAgICAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQgXAo+ICsgICAgICAgLUkkKExJQlJVQllf
U1JDKSBcCj4gKyAgICAgICAtSSQoTElCUlVCWV9TUkMpL2luY2x1ZGUgXAo+ICsgICAgICAgLUkk
KExJQlJVQllfU1JDKS9lbmMvdW5pY29kZS8xMi4xLjAKPiArCj4gKyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjCj4gKyMgQ29yZQo+ICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwo+ICsjIEFzIHRha2Vu
IGZyb20gb3JpZ2luYWwgYnVpbGQ6Cj4gK0xJQlJVQllfQ0ZMQUdTLXkgKz0gLXN0ZD1nbnU5OSAt
RF9GT1JUSUZZX1NPVVJDRT0yIFwKPiArICAgICAgICAtZm5vLXN0cmljdC1vdmVyZmxvdyAtZnZp
c2liaWxpdHk9aGlkZGVuIC1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZCBcCj4gKyAgICAgICAt
RFJVQllfRVhQT1JUIC1EQ0FOT05JQ0FMSVpBVElPTl9GT1JfTUFUSE4KPiArCj4gK2lmZXEgKCQo
Q09ORklHX0xJQlJVQllfTUlOSSkseSkKPiArTElCUlVCWV9TUkNTLXkgKz0gJChMSUJSVUJZX1NS
QykvZG15ZGxuLmMKPiArTElCUlVCWV9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvbWluaWluaXQu
Ywo+ICtMSUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL21pbmlwcmVs
dWRlLmMKPiArZWxzZQo+ICtMSUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9kbG4uYwo+
ICtMSUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9sb2NhbGVpbml0LmMKPiArTElCUlVC
WV9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvbG9hZHBhdGguYwo+ICtMSUJSVUJZX1NSQ1MteSAr
PSAkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL3ByZWx1ZGUuYwo+ICtlbmRpZgo+ICsKPiArTElC
UlVCWV9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvbWFpbi5jCj4gK0xJQlJVQllfTUFJTl9GTEFH
Uy15ICs9IC1EbWFpbj1ydWJ5X21haW4KPiArTElCUlVCWV9TUkNTLXkgKz0gJChMSUJSVUJZX1NS
QykvYXJyYXkuYwo+ICtMSUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9hc3QuYwo+ICtM
SUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9iaWdudW0uYwo+ICtMSUJSVUJZX1NSQ1Mt
eSArPSAkKExJQlJVQllfU1JDKS9jbGFzcy5jCj4gK0xJQlJVQllfU1JDUy15ICs9ICQoTElCUlVC
WV9TUkMpL2NvbXBhci5jCj4gK0xJQlJVQllfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2NvbXBp
bGUuYwo+ICtMSUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9jb21wbGV4LmMKPiArTElC
UlVCWV9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvY29udC5jCj4gK0xJQlJVQllfU1JDUy15ICs9
ICQoTElCUlVCWV9TUkMpL2RlYnVnLmMKPiArTElCUlVCWV9TUkNTLXkgKz0gJChMSUJSVUJZX1NS
QykvZGVidWdfY291bnRlci5jCj4gK0xJQlJVQllfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2Rp
ci5jCj4gK0xJQlJVQllfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2Rsbl9maW5kLmMKPiArTElC
UlVCWV9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jb2RpbmcuYwo+ICtMSUJSVUJZX1NSQ1Mt
eSArPSAkKExJQlJVQllfU1JDKS9lbnVtLmMKPiArTElCUlVCWV9TUkNTLXkgKz0gJChMSUJSVUJZ
X1NSQykvZW51bWVyYXRvci5jCj4gK0xJQlJVQllfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2Vy
cm9yLmMKPiArTElCUlVCWV9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXZhbC5jCj4gK0xJQlJV
QllfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2ZpbGUuYwo+ICtMSUJSVUJZX1NSQ1MteSArPSAk
KExJQlJVQllfU1JDKS9nYy5jCj4gK0xJQlJVQllfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2hh
c2guYwo+ICtMSUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9pbml0cy5jCj4gK0xJQlJV
QllfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2lvLmMKPiArTElCUlVCWV9TUkNTLXkgKz0gJChM
SUJSVUJZX1NSQykvaXNlcS5jCj4gK0xJQlJVQllfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2xv
YWQuYwo+ICtMSUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9tYXJzaGFsLmMKPiArTElC
UlVCWV9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvbWF0aC5jCj4gK0xJQlJVQllfU1JDUy15ICs9
ICQoTElCUlVCWV9TUkMpL21qaXQuYwo+ICtMSUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllfU1JD
KS9taml0X2NvbXBpbGUuYwo+ICtMSUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9ub2Rl
LmMKPiArTElCUlVCWV9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvbnVtZXJpYy5jCj4gK0xJQlJV
QllfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL29iamVjdC5jCj4gK0xJQlJVQllfU1JDUy15ICs9
ICQoTElCUlVCWV9TUkMpL3BhY2suYwo+ICtMSUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllfQkFT
RSkvZ2VuZXJhdGVkL3BhcnNlLmMKPiArTElCUlVCWV9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykv
cHJvYy5jCj4gK0xJQlJVQllfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL3Byb2Nlc3MuYwo+ICtM
SUJSVUJZX1BST0NFU1NfRkxBR1MteSArPSAtV25vLWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVz
Cj4gK0xJQlJVQllfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL3JhbmRvbS5jCj4gK0xJQlJVQllf
U1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL3JhbmdlLmMKPiArTElCUlVCWV9TUkNTLXkgKz0gJChM
SUJSVUJZX1NSQykvcmF0aW9uYWwuYwo+ICtMSUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllfU1JD
KS9yZS5jCj4gK0xJQlJVQllfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL3JlZ2NvbXAuYwo+ICtM
SUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9yZWdlbmMuYwo+ICtMSUJSVUJZX1NSQ1Mt
eSArPSAkKExJQlJVQllfU1JDKS9yZWdlcnJvci5jCj4gK0xJQlJVQllfU1JDUy15ICs9ICQoTElC
UlVCWV9TUkMpL3JlZ2V4ZWMuYwo+ICtMSUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9y
ZWdwYXJzZS5jCj4gK0xJQlJVQllfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL3JlZ3N5bnRheC5j
Cj4gK0xJQlJVQllfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL3J1YnkuYwo+ICtMSUJSVUJZX1NS
Q1MteSArPSAkKExJQlJVQllfU1JDKS9zYWZlLmMKPiArTElCUlVCWV9TUkNTLXkgKz0gJChMSUJS
VUJZX1NSQykvc2lnbmFsLmMKPiArTElCUlVCWV9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvc3By
aW50Zi5jCj4gK0xJQlJVQllfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL3N0LmMKPiArTElCUlVC
WV9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvc3RyZnRpbWUuYwo+ICtMSUJSVUJZX1NSQ1MteSAr
PSAkKExJQlJVQllfU1JDKS9zdHJpbmcuYwo+ICtMSUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllf
U1JDKS9zdHJ1Y3QuYwo+ICtMSUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9zeW1ib2wu
Ywo+ICtMSUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS90aHJlYWQuYwo+ICtMSUJSVUJZ
X1RIUkVBRF9GTEFHUyArPSAtV25vLXVudXNlZC1mdW5jdGlvbgo+ICtMSUJSVUJZX1NSQ1MteSAr
PSAkKExJQlJVQllfU1JDKS90aW1lLmMKPiArTElCUlVCWV9TUkNTLXkgKz0gJChMSUJSVUJZX1NS
QykvdHJhbnNjb2RlLmMKPiArTElCUlVCWV9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvdHJhbnNp
ZW50X2hlYXAuYwo+ICtMSUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS91dGlsLmMKPiAr
TElCUlVCWV9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvdmFyaWFibGUuYwo+ICtMSUJSVUJZX1NS
Q1MteSArPSAkKExJQlJVQllfU1JDKS92ZXJzaW9uLmMKPiArTElCUlVCWV9TUkNTLXkgKz0gJChM
SUJSVUJZX1NSQykvdm0uYwo+ICtMSUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS92bV9i
YWNrdHJhY2UuYwo+ICtMSUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS92bV9kdW1wLmMK
PiArTElCUlVCWV9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvdm1fdHJhY2UuYwo+ICtMSUJSVUJZ
X1NSQ1MtJChDT05GSUdfQVJDSF9YODZfNjQpICs9ICQoTElCUlVCWV9TUkMpL2Nvcm91dGluZS9h
bWQ2NC9Db250ZXh0LlMKPiArTElCUlVCWV9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL2Fz
Y2lpLmMKPiArTElCUlVCWV9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL3VzX2FzY2lpLmMK
PiArTElCUlVCWV9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL3VuaWNvZGUuYwo+ICtMSUJS
VUJZX1VOSUNPREVfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZW5jL3Vu
aWNvZGUvMTIuMS4wLwo+ICtMSUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMvdXRm
XzguYwo+ICtMSUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2VuYy90
cmFucy9uZXdsaW5lLmMKPiArTElCUlVCWV9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvLi9taXNz
aW5nL3NldHByb2N0aXRsZS5jCj4gK0xJQlJVQllfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2Fk
ZHIybGluZS5jCj4gKwo+ICtMSUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9kbXlleHQu
Ywo+ICsKPiArTElCUlVCWV9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZG15ZW5jLmMKPiArCj4g
ZGlmZiAtLWdpdCBhL2luY2x1ZGUvc3RkYWxpZ24uaCBiL2luY2x1ZGUvc3RkYWxpZ24uaAo+IG5l
dyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMC4uODBjM2UxNQo+IC0tLSAvZGV2L251
bGwKPiArKysgYi9pbmNsdWRlL3N0ZGFsaWduLmgKPiBAQCAtMCwwICsxLDEwIEBACj4gKyNpZm5k
ZWYgX1NUREFMSUdOX0gKPiArI2RlZmluZSBfU1REQUxJR05fSAo+ICsKPiArI2RlZmluZSBhbGln
bmFzIF9BbGlnbmFzCj4gKyNkZWZpbmUgYWxpZ25vZiBfQWxpZ25vZgo+ICsKPiArI2RlZmluZSBf
X2FsaWduYXNfaXNfZGVmaW5lZCAxCj4gKyNkZWZpbmUgX19hbGlnbm9mX2lzX2RlZmluZWQgMQo+
ICsKPiArI2VuZGlmCj4gLS0KPiAyLjIwLjEKPgo+Cj4gX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KPiBNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Cj4gTWlu
aW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCj4gaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0
Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbAoKX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5p
b3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9y
Zy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Wed Dec 11 15:40:16 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 11 Dec 2019 15:40:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1if464-0003fJ-4A; Wed, 11 Dec 2019 15:40:16 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=boZ+=2B=gmail.com=stefanl.teodorescu@srs-us1.protection.inumbo.net>)
 id 1if462-0003em-D2
 for minios-devel@lists.xen.org; Wed, 11 Dec 2019 15:40:14 +0000
X-Inumbo-ID: 8545ab1e-1c2c-11ea-88e7-bc764e2007e4
Received: from mail-lf1-x142.google.com (unknown [2a00:1450:4864:20::142])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 8545ab1e-1c2c-11ea-88e7-bc764e2007e4;
 Wed, 11 Dec 2019 15:40:13 +0000 (UTC)
Received: by mail-lf1-x142.google.com with SMTP id v201so17018175lfa.11
 for <minios-devel@lists.xen.org>; Wed, 11 Dec 2019 07:40:13 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to
 :cc; bh=P8MlatZzkbK2jF97zyl8LoDFLArR3Gh/g/ZhKQPVbuk=;
 b=CgI3r/DqIlthHqk+l1Ka5fAJT42tD5CGPoOsyVdhGHeWor9fGnvC0v3S7q+Znz7GK+
 l0AzeMCMSzzPzlHqxV0JeR8rVMIyooRU6oGwJLVSP9kPuCnDlu0QwcKKSnN7gAkRhzyt
 SGZAGMzpwrW0Yf6IIVyc8XS44eLzxEnlbXxZ5Hty3shyhtx4M1362jBg937TvGZyITy4
 HAjz1ppRzhV0acnDouRxNVILSACk8G3E56TlkmkbP9zkuPJGEOVw8fIAAzPnCPnqSJxz
 z8PFiGPinn6BaiOYdD2JDS/4sImYp4KeEM75nY+SZ25GHADrlq4k9OcLzSTXu237fUDE
 xKww==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
 :message-id:subject:to:cc;
 bh=P8MlatZzkbK2jF97zyl8LoDFLArR3Gh/g/ZhKQPVbuk=;
 b=SdNRhiAkEDfr5DunP+VUQqg3SICPfABJJrr88pMey+/sej12vJOu76CFnUcXXTzABk
 61KAUOqD3Y4d5wLzdw5ZeQnU0INIZhnr90QOK53gAvdzDZlFBGzOuFsCeGgVGlSVjgcN
 hnWSDmhNFKUqAu6vJJanZ89l9hFsk2hFV2Dey2frBv9yVUBWsKX0gQiW8cxdfz25Pceg
 NU/Bamf9qT1XEp6ORBQPX2Imoalz0LHPZShObqR68YRlDpc5Khse4BGFKBE2JsqRbinm
 4oLT86L2kEO9YYvp99R76jASWEBORrIT5CtaSDahhXCxV2caYP7iCWKuka67v8YDQd9O
 WEmQ==
X-Gm-Message-State: APjAAAWbFW+jnozGktuPbp19ICoTVMpO31it5y8IETwqpHUrhEAwD1fm
 CwlyfyUAtTzgFYsRKGj36QGFKwEsYQ5mWDxyT4hRi3mMduI=
X-Google-Smtp-Source: APXvYqwItASRdFBATFCKFSmoftswFvrlwdJCmM5DrF06xOkbJwATBwOIYz8f3lbhlMORSy59gFwcgfOgJJzOJmFM5FM=
X-Received: by 2002:a19:8456:: with SMTP id g83mr2683163lfd.0.1576078812128;
 Wed, 11 Dec 2019 07:40:12 -0800 (PST)
MIME-Version: 1.0
References: <20191208095507.27384-1-costin.lupu@cs.pub.ro>
 <20191208095507.27384-13-costin.lupu@cs.pub.ro>
In-Reply-To: <20191208095507.27384-13-costin.lupu@cs.pub.ro>
From: Stefan Teodorescu <stefanl.teodorescu@gmail.com>
Date: Wed, 11 Dec 2019 17:40:00 +0200
Message-ID: <CAEiTdV4qNYdRQ5eEtCsEh+Kt1Ya5qMSR4k_UpjLvU3QsgHmJrA@mail.gmail.com>
To: Costin Lupu <costin.lupu@cs.pub.ro>
Subject: Re: [Minios-devel] [UNIKRAFT/RUBY PATCH 12/16] encodings: Build
 extensions
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: minios-devel@lists.xen.org
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

UmV2aWV3ZWQtYnk6IFN0ZWZhbiBUZW9kb3Jlc2N1IDxzdGVmYW5sLnRlb2RvcmVzY3VAZ21haWwu
Y29tPgoKT24gU3VuLCBEZWMgOCwgMjAxOSBhdCAxMTo1NiBBTSBDb3N0aW4gTHVwdSA8Y29zdGlu
Lmx1cHVAY3MucHViLnJvPiB3cm90ZToKPgo+IEFsbCBlbmNvZGluZ3MgYXJlIGluY2x1ZGVkIGlu
IGEgbmV3IGxpYnJhcnksIGxpYnJ1YnlfZW5jLiBHaXZlbiB0aGF0IHRoZQo+IGV4dGVuc2lvbnMg
ZmlsZXMgYXJlIGdlbmVyYXRlZCBhdCBidWlsZCB0aW1lIGJ5IHRoZSBvcmlnaW4gYnVpbGQgc3lz
dGVtLCB3ZQo+IGFsc28gaGF2ZSB0byBydW4gYC4vY29uZmlndXJlYCBhbmQgYG1ha2VgIGZvciB0
aGUgb3JpZ2luYWwgYnVpbGQgYmVmb3JlCj4gYnVpbGRpbmcgdGhlbSBmb3IgVW5pa3JhZnQuIFRo
aXMgaXMgZG9uZSBvbmNlIGZvciBib3RoIGV4dGVuc2lvbnMgYW5kCj4gZW5jb2RpbmdzLgo+Cj4g
U2lnbmVkLW9mZi1ieTogQ29zdGluIEx1cHUgPGNvc3Rpbi5sdXB1QGNzLnB1Yi5ybz4KPiAtLS0K
PiAgQ29uZmlnLnVrICAgfCAgNiArKysrKwo+ICBNYWtlZmlsZS51ayB8IDc4ICsrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gIDIgZmlsZXMgY2hh
bmdlZCwgODQgaW5zZXJ0aW9ucygrKQo+Cj4gZGlmZiAtLWdpdCBhL0NvbmZpZy51ayBiL0NvbmZp
Zy51awo+IGluZGV4IGZmNDRmZDcuLmI0YzViZmYgMTAwNjQ0Cj4gLS0tIGEvQ29uZmlnLnVrCj4g
KysrIGIvQ29uZmlnLnVrCj4gQEAgLTEyMyw0ICsxMjMsMTAgQEAgY29uZmlnIExJQlJVQllfRVhU
Cj4gICAgICAgICAgICAgICAgIGJvb2wgInNkYm0iCj4gICAgICAgICAgICAgICAgIGRlZmF1bHQg
eQo+ICAgICAgICAgZW5kaWYKPiArCj4gK2NvbmZpZyBMSUJSVUJZX0VOQwo+ICsgICAgICAgYm9v
bCAiRW5hYmxlIGVuY29kaW5ncyIKPiArICAgICAgIGRlcGVuZHMgb24gIUxJQlJVQllfTUlOSQo+
ICsgICAgICAgZGVmYXVsdCB5Cj4gKwo+ICBlbmRpZgo+IGRpZmYgLS1naXQgYS9NYWtlZmlsZS51
ayBiL01ha2VmaWxlLnVrCj4gaW5kZXggNDJkMzM0OC4uOWY2NjYwNiAxMDA2NDQKPiAtLS0gYS9N
YWtlZmlsZS51awo+ICsrKyBiL01ha2VmaWxlLnVrCj4gQEAgLTQwLDYgKzQwLDcgQEAKPiAgIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMKPiAgJChldmFsICQoY2FsbCBhZGRsaWJfcyxsaWJydWJ5LCQo
Q09ORklHX0xJQlJVQlkpKSkKPiAgJChldmFsICQoY2FsbCBhZGRsaWJfcyxsaWJydWJ5X2V4dCwk
KENPTkZJR19MSUJSVUJZX0VYVCkpKQo+ICskKGV2YWwgJChjYWxsIGFkZGxpYl9zLGxpYnJ1Ynlf
ZW5jLCQoQ09ORklHX0xJQlJVQllfRU5DKSkpCj4KPiAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK
PiAgIyBTb3VyY2VzCj4gQEAgLTQ2MSw3ICs0NjIsODEgQEAgTElCUlVCWV9FWFRfU1JDUy15ICs9
ICQoTElCUlVCWV9TUkMpL2V4dC9zZGJtL2luaXQuY3xzZGJtCj4gIExJQlJVQllfRVhUX0lOSVRf
RkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L3NkYm0KPiAgZW5kaWYK
Pgo+ICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwo+ICsjIEVuY29kaW5ncwo+ICsjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIwo+ICtMSUJSVUJZX0VOQ19DRkxBR1MteSArPSAkKExJQlJVQllfQ0lOQ0xV
REVTLXkpCj4gK0xJQlJVQllfRU5DX0NGTEFHUy15ICs9ICQoTElCUlVCWV9TVVBQUkVTU19GTEFH
UykKPiArTElCUlVCWV9FTkNfQ0ZMQUdTLXkgKz0gLURSVUJZX0VYUE9SVD0xIC1ET05JR19FTkNf
UkVHSVNURVI9cmJfZW5jX3JlZ2lzdGVyCj4gKwo+ICtpZmVxICgkKENPTkZJR19MSUJSVUJZX0VO
QykseSkKPiArTElCUlVCWV9TUkNTLXkgKz0gJChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9lbmMv
ZW5jaW5pdC5jCj4gK2Vsc2UKPiAgTElCUlVCWV9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZG15
ZW5jLmMKPiArZW5kaWYKPiArCj4gKyMgZW5jL2xpYmVuYy5hCj4gK0xJQlJVQllfRU5DX1NSQ1Mt
eSArPSAkKExJQlJVQllfU1JDKS9lbmMvZW5jZGIuYwo+ICtMSUJSVUJZX0VOQ19TUkNTLXkgKz0g
JChMSUJSVUJZX1NSQykvZW5jL2JpZzUuYwo+ICtMSUJSVUJZX0VOQ19TUkNTLXkgKz0gJChMSUJS
VUJZX1NSQykvZW5jL2NwOTQ5LmMKPiArTElCUlVCWV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9T
UkMpL2VuYy9lbWFjc19tdWxlLmMKPiArTElCUlVCWV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9T
UkMpL2VuYy9ldWNfanAuYwo+ICtMSUJSVUJZX0VOQ19TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykv
ZW5jL2V1Y19rci5jCj4gK0xJQlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMv
ZXVjX3R3LmMKPiArTElCUlVCWV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy9nYjIz
MTIuYwo+ICtMSUJSVUJZX0VOQ19TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL2diMTgwMzAu
Ywo+ICtMSUJSVUJZX0VOQ19TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL2diay5jCj4gK0xJ
QlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMvaXNvXzg4NTlfMS5jCj4gK0xJ
QlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMvaXNvXzg4NTlfMi5jCj4gK0xJ
QlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMvaXNvXzg4NTlfMy5jCj4gK0xJ
QlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMvaXNvXzg4NTlfNC5jCj4gK0xJ
QlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMvaXNvXzg4NTlfNS5jCj4gK0xJ
QlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMvaXNvXzg4NTlfNi5jCj4gK0xJ
QlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMvaXNvXzg4NTlfNy5jCj4gK0xJ
QlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMvaXNvXzg4NTlfOC5jCj4gK0xJ
QlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMvaXNvXzg4NTlfOS5jCj4gK0xJ
QlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMvaXNvXzg4NTlfMTAuYwo+ICtM
SUJSVUJZX0VOQ19TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL2lzb184ODU5XzExLmMKPiAr
TElCUlVCWV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy9pc29fODg1OV8xMy5jCj4g
K0xJQlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMvaXNvXzg4NTlfMTQuYwo+
ICtMSUJSVUJZX0VOQ19TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL2lzb184ODU5XzE1LmMK
PiArTElCUlVCWV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy9pc29fODg1OV8xNi5j
Cj4gK0xJQlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMva29pOF9yLmMKPiAr
TElCUlVCWV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy9rb2k4X3UuYwo+ICtMSUJS
VUJZX0VOQ19TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL3NoaWZ0X2ppcy5jCj4gK0xJQlJV
QllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMvdXRmXzE2YmUuYwo+ICtMSUJSVUJZ
X0VOQ19TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL3V0Zl8xNmxlLmMKPiArTElCUlVCWV9F
TkNfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy91dGZfMzJiZS5jCj4gK0xJQlJVQllfRU5D
X1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMvdXRmXzMybGUuYwo+ICtMSUJSVUJZX0VOQ19T
UkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL3dpbmRvd3NfMzFqLmMKPiArTElCUlVCWV9FTkNf
U1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy93aW5kb3dzXzEyNTAuYwo+ICtMSUJSVUJZX0VO
Q19TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL3dpbmRvd3NfMTI1MS5jCj4gK0xJQlJVQllf
RU5DX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMvd2luZG93c18xMjUyLmMKPiArTElCUlVC
WV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy93aW5kb3dzXzEyNTMuYwo+ICtMSUJS
VUJZX0VOQ19TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL3dpbmRvd3NfMTI1NC5jCj4gK0xJ
QlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMvd2luZG93c18xMjU3LmMKPiAr
Cj4gKyMgZW5jL2xpYnRyYW5zLmEKPiArTElCUlVCWV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9T
UkMpL2VuYy90cmFucy90cmFuc2RiLmMKPiArTElCUlVCWV9FTkNfU1JDUy15ICs9ICQoTElCUlVC
WV9TUkMpL2VuYy90cmFucy9iaWc1LmN8dHJhbnMKPiArTElCUlVCWV9FTkNfU1JDUy15ICs9ICQo
TElCUlVCWV9TUkMpL2VuYy90cmFucy9jaGluZXNlLmMKPiArTElCUlVCWV9FTkNfU1JDUy15ICs9
ICQoTElCUlVCWV9TUkMpL2VuYy90cmFucy9lYmNkaWMuYwo+ICtMSUJSVUJZX0VOQ19TUkNTLXkg
Kz0gJChMSUJSVUJZX1NSQykvZW5jL3RyYW5zL2Vtb2ppLmMKPiArTElCUlVCWV9FTkNfU1JDUy15
ICs9ICQoTElCUlVCWV9TUkMpL2VuYy90cmFucy9lbW9qaV9pc28yMDIyX2tkZGkuYwo+ICtMSUJS
VUJZX0VOQ19TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL3RyYW5zL2Vtb2ppX3NqaXNfZG9j
b21vLmMKPiArTElCUlVCWV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy90cmFucy9l
bW9qaV9zamlzX2tkZGkuYwo+ICtMSUJSVUJZX0VOQ19TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykv
ZW5jL3RyYW5zL2Vtb2ppX3NqaXNfc29mdGJhbmsuYwo+ICtMSUJSVUJZX0VOQ19TUkNTLXkgKz0g
JChMSUJSVUJZX1NSQykvZW5jL3RyYW5zL2VzY2FwZS5jCj4gK0xJQlJVQllfRU5DX1NSQ1MteSAr
PSAkKExJQlJVQllfU1JDKS9lbmMvdHJhbnMvZ2IxODAzMC5jfHRyYW5zCj4gK0xJQlJVQllfRU5D
X1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMvdHJhbnMvZ2JrLmN8dHJhbnMKPiArTElCUlVC
WV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy90cmFucy9pc28yMDIyLmMKPiArTElC
UlVCWV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy90cmFucy9qYXBhbmVzZS5jCj4g
K0xJQlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMvdHJhbnMvamFwYW5lc2Vf
ZXVjLmMKPiArTElCUlVCWV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy90cmFucy9q
YXBhbmVzZV9zamlzLmMKPiArTElCUlVCWV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2Vu
Yy90cmFucy9rb3JlYW4uYwo+ICtMSUJSVUJZX0VOQ19TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykv
ZW5jL3RyYW5zL3NpbmdsZV9ieXRlLmMKPiArTElCUlVCWV9FTkNfU1JDUy15ICs9ICQoTElCUlVC
WV9TUkMpL2VuYy90cmFucy91dGY4X21hYy5jCj4gK0xJQlJVQllfRU5DX1NSQ1MteSArPSAkKExJ
QlJVQllfU1JDKS9lbmMvdHJhbnMvdXRmXzE2XzMyLmMKPgo+ICAjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIwo+ICAjIFByZXBhcmUgcnVsZXMKPiBAQCAtNDgxLDQgKzU1Niw3IEBAICQoTElCUlVCWV9C
VUlMRCkvLmJ1aWxkOiAkKExJQlJVQllfQlVJTEQpLy5jb25maWd1cmVkCj4gIGlmZXEgKCQoQ09O
RklHX0xJQlJVQllfRVhUKSx5KQo+ICBVS19QUkVQQVJFICs9ICQoTElCUlVCWV9CVUlMRCkvLmJ1
aWxkCj4gIGVuZGlmCj4gK2lmZXEgKCQoQ09ORklHX0xJQlJVQllfRU5DKSx5KQo+ICtVS19QUkVQ
QVJFICs9ICQoTElCUlVCWV9CVUlMRCkvLmJ1aWxkCj4gK2VuZGlmCj4KPiAtLQo+IDIuMjAuMQo+
Cj4KPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IE1p
bmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKPiBNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5v
cmcKPiBodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9z
LWRldmVsCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpN
aW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9y
ZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRl
dmVs

From minios-devel-bounces@lists.xenproject.org Thu Dec 12 07:30:23 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 12 Dec 2019 07:30:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ifIvU-0007jW-EK; Thu, 12 Dec 2019 07:30:20 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=Q3qu=2C=neclab.eu=felipe.huici@srs-us1.protection.inumbo.net>)
 id 1ifIvT-0007jP-Pu
 for minios-devel@lists.xenproject.org; Thu, 12 Dec 2019 07:30:19 +0000
X-Inumbo-ID: 3a04f62a-1cb1-11ea-b6f1-bc764e2007e4
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 3a04f62a-1cb1-11ea-b6f1-bc764e2007e4;
 Thu, 12 Dec 2019 07:30:10 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 60F151041BF;
 Thu, 12 Dec 2019 08:30:09 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-a.office.hd)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id 72a7gUW0CP2a; Thu, 12 Dec 2019 08:30:09 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from Oberon.office.hd (Oberon.office.hd [192.168.24.90])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 3D2CA103ABB;
 Thu, 12 Dec 2019 08:30:09 +0100 (CET)
Received: from oberon.office.hd (192.168.24.90) by Oberon.office.hd
 (192.168.24.90) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 12 Dec
 2019 08:30:08 +0100
Received: from oberon.office.hd ([192.168.126.11]) by Oberon.office.hd
 ([192.168.126.11]) with mapi id 15.01.1713.009; Thu, 12 Dec 2019 08:30:08
 +0100
From: Felipe Huici <Felipe.Huici@neclab.eu>
To: =?utf-8?B?VmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIp?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>, "minios-devel@lists.xenproject.org"
 <minios-devel@lists.xenproject.org>
Thread-Topic: [Minios-devel] [UNIKRAFT/LIBLWIP PATCH v2 1/2] Add missing EAI_*
 macro definitions
Thread-Index: AQHVrmlgV1NP4tGCpkGYYDiovmm0MKez8ncAgAIsqwA=
Date: Thu, 12 Dec 2019 07:30:08 +0000
Message-ID: <3160661A-2AE8-480A-A5CC-EBD75FED7076@neclab.eu>
References: <20191209081925.6589-1-felipe.huici@neclab.eu>
 <20191209081925.6589-2-felipe.huici@neclab.eu>
 <3a280429-edc4-1d3f-3446-b47409230388@stud.acs.upb.ro>
In-Reply-To: <3a280429-edc4-1d3f-3446-b47409230388@stud.acs.upb.ro>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: Microsoft-MacOutlook/10.10.10.191111
x-originating-ip: [192.168.24.96]
Content-ID: <12C0A1165C0FA74486D43FCC162A8EF4@office.hd>
MIME-Version: 1.0
Subject: Re: [Minios-devel] [UNIKRAFT/LIBLWIP PATCH v2 1/2] Add missing
 EAI_* macro definitions
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgVmxhZCwgc291bmRzIGdvb2QsIEknbGwgZml4IHRoYXQgb24gdXBzdHJlYW1pbmcsIHRoYW5r
cy4NCg0KLS0gRmVsaXBlDQoNCu+7v09uIDExLjEyLjE5LCAwMDoxOCwgIk1pbmlvcy1kZXZlbCBv
biBiZWhhbGYgb2YgVmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIpIiA8bWluaW9zLWRldmVsLWJv
dW5jZXNAbGlzdHMueGVucHJvamVjdC5vcmcgb24gYmVoYWxmIG9mIHZsYWRfYW5kcmVpLmJhZG9p
dUBzdHVkLmFjcy51cGIucm8+IHdyb3RlOg0KDQogICAgSGV5LA0KICAgIA0KICAgIEFjdHVhbGx5
IHRoZXJlIGlzIGEgcHJvYmxlbSB0aGF0IG1heSBiZSBmaXhlZCBkdXJpbmcgdGhlIHVwc3RyZWFt
aW5nLCANCiAgICBwbGVhc2Ugc2VlIGlubGluZS4NCiAgICANCiAgICBUaGFua3MsDQogICAgDQog
ICAgVmxhZA0KICAgIA0KICAgIE9uIDA5LjEyLjIwMTkgMTA6MTksIEZlbGlwZSBIdWljaSB3cm90
ZToNCiAgICA+IFNpZ25lZC1vZmYtYnk6IEZlbGlwZSBIdWljaSA8ZmVsaXBlLmh1aWNpQG5lY2xh
Yi5ldT4NCiAgICA+IC0tLQ0KICAgID4gICBpbmNsdWRlL25ldGRiLmggfCAxMSArKysrKysrKysr
LQ0KICAgID4gICAxIGZpbGUgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigt
KQ0KICAgID4NCiAgICA+IGRpZmYgLS1naXQgYS9pbmNsdWRlL25ldGRiLmggYi9pbmNsdWRlL25l
dGRiLmgNCiAgICA+IGluZGV4IDk0OGEyZTcuLjViYmQzNTQgMTAwNjQ0DQogICAgPiAtLS0gYS9p
bmNsdWRlL25ldGRiLmgNCiAgICA+ICsrKyBiL2luY2x1ZGUvbmV0ZGIuaA0KICAgID4gQEAgLTEs
MyArMSw1IEBADQogICAgPiArI2lmbmRlZiBfTFdJUF9HTFVFX05FVERCX0hfDQogICAgPiArI2Rl
ZmluZSBfTFdJUF9HTFVFX05FVERCX0hfDQogICAgPiAgICNpbmNsdWRlIDxjb21wYXQvcG9zaXgv
bmV0ZGIuaD4NCiAgICA+ICAgDQogICAgPiAgICNpZiBMV0lQX0ROUyAmJiBMV0lQX1NPQ0tFVA0K
ICAgID4gQEAgLTYzLDcgKzY1LDEzIEBAIHZvaWQgc2V0cHJvdG9lbnQoaW50IHN0YXlvcGVuKTsN
CiAgICA+ICAgI2RlZmluZSBFQUlfU1lTVEVNICAgICAxMQ0KICAgIFRoaXMgZGVmaW5pdGlvbiBz
aG91bGQgYmUgcmVtb3ZlZCBzaW5jZSB3ZSdyZSByZWRlZmluaW5nIHRoZSB2YWx1ZSBhZ2FpbiAN
CiAgICBhdCBhIGZ1dHVyZSBwb2ludCBpbiB0aGUgY29kZS4NCiAgICA+ICAgDQogICAgPiAgIC8q
IEVycm9yIHZhbHVlcyBmb3IgZ2V0YWRkcmluZm8oKSBub3QgZGVmaW5lZCBieSBsd2lwL25ldGRi
LmggKi8NCiAgICA+IC0jZGVmaW5lIEVBSV9PVkVSRkxPVyAgICAyMDUgICAgICAvKiBBcmd1bWVu
dCBidWZmZXIgb3ZlcmZsb3cuICAqLw0KICAgID4gKyNkZWZpbmUgRUFJX0JBREZMQUdTICAgLTEN
CiAgICA+ICsjZGVmaW5lIEVBSV9BR0FJTiAgICAgIC0zDQogICAgPiArI2RlZmluZSBFQUlfTk9E
QVRBICAgICAtNQ0KICAgID4gKyNkZWZpbmUgRUFJX1NPQ0tUWVBFICAgLTcNCiAgICA+ICsjZGVm
aW5lIEVBSV9BRERSRkFNSUxZIC05DQogICAgPiArI2RlZmluZSBFQUlfU1lTVEVNICAgICAtMTEN
CiAgICBSaWdodCBoZXJlLg0KICAgID4gKyNkZWZpbmUgRUFJX09WRVJGTE9XICAgLTEyDQogICAg
PiAgIA0KICAgID4gICBpbnQgZ2V0bmFtZWluZm8oY29uc3Qgc3RydWN0IHNvY2thZGRyICphZGRy
LCBzb2NrbGVuX3QgYWRkcmxlbiwNCiAgICA+ICAgCQljaGFyICpob3N0LCBzb2NrbGVuX3QgaG9z
dGxlbiwNCiAgICA+IEBAIC03Myw0ICs4MSw1IEBAIHN0cnVjdCBzZXJ2ZW50ICpnZXRzZXJ2Ynlu
YW1lKGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKnByb3RvKTsNCiAgICA+ICAgc3RydWN0
IHNlcnZlbnQgKmdldHNlcnZieXBvcnQoaW50IHBvcnQsIGNvbnN0IGNoYXIgKnByb3RvKTsNCiAg
ICA+ICAgaW50IGdldHNlcnZieXBvcnRfcihpbnQgcG9ydCwgY29uc3QgY2hhciAqcHJvdHMsIHN0
cnVjdCBzZXJ2ZW50ICpzZSwNCiAgICA+ICAgCQkgICAgY2hhciAqYnVmLCBzaXplX3QgYnVmbGVu
LCBzdHJ1Y3Qgc2VydmVudCAqKnJlcyk7DQogICAgPiArI2VuZGlmDQogICAgPiAgIA0KICAgIF9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQogICAgTWluaW9z
LWRldmVsIG1haWxpbmcgbGlzdA0KICAgIE1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9y
Zw0KICAgIGh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5p
b3MtZGV2ZWwNCg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVj
dC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlv
cy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Thu Dec 12 10:41:08 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 12 Dec 2019 10:41:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ifLu6-0006ws-Ii; Thu, 12 Dec 2019 10:41:06 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=xxBE=2A=gmail.com=stefanl.teodorescu@srs-us1.protection.inumbo.net>)
 id 1ieeUq-0002Hd-Fg
 for minios-devel@lists.xen.org; Tue, 10 Dec 2019 12:20:08 +0000
X-Inumbo-ID: 66761ed4-1b47-11ea-a914-bc764e2007e4
Received: from mail-lj1-x22b.google.com (unknown [2a00:1450:4864:20::22b])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 66761ed4-1b47-11ea-a914-bc764e2007e4;
 Tue, 10 Dec 2019 12:20:07 +0000 (UTC)
Received: by mail-lj1-x22b.google.com with SMTP id r19so19659217ljg.3
 for <minios-devel@lists.xen.org>; Tue, 10 Dec 2019 04:20:07 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to
 :cc; bh=9u5jWDoOjoc4lBkr+t1QMmlUTc7nNYXpKqEHD4hHJ7E=;
 b=BjG6WDBAIT83eahKAyzdVwF3n/O5r1Nyvw4QmO6FZCzjpfQNjmAlHJ897SlRxqxY+z
 xazKy2YyfVVT9qwjN36JtlCds1ZB3OBF5aYRlvjhUpYVVmgSgyZRA2AyFvuW3kPkqVAo
 n4CGzpk/WLYiyMcjtGZWCTRGszjx1iAaKyAhw4CGD1l8k1M0XSC5uPGpxQw4im31U1PH
 2vAw65DaMryGjKT5v9UFT5vXmzTHgIO4tmAtzC/iZcBpwYgHIE1ptiJd7EwBbk8tfZdl
 SZb/jv0eDbO3jqc3nAYGcea8nctlHakk70X7+/KRY+8dWqE/Tv0oV4hdIIoE4Cv+iCMa
 vCxg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
 :message-id:subject:to:cc;
 bh=9u5jWDoOjoc4lBkr+t1QMmlUTc7nNYXpKqEHD4hHJ7E=;
 b=EhtZaaXwhRqSNnj34JM60RKZY2Q/g67BtY320PLjeSjgkj3LJ1xyuCZlcgoPo3P5EM
 rs3G4Sg94hMIrev48Z/7DPT3chp1L1zyP1JJhClHbv7qwXSG7GtkJpnu3a4ieNGy//2A
 qAfMHk8RoFlJOOYqOUK0mN2omXG7hOtX78fNUCIqoHu8LAZSNMTRzip/3Lsps88uh7MB
 w9FAYLP3I4hMNnUadShClnQ/USQ/MRBtFxNHA2cirj2LjNAOqBsicpA3Cg3xwOOsUTa3
 qIb8qny5sV8n3p0DXnLPtMhN9pzPPpMT+LEoMCGi+T9eF/34DJivIGqHhi75n7CP6u87
 gaMA==
X-Gm-Message-State: APjAAAVyTZSnk5sqM40anVqO2mVLXV79YGYBgv0j5IUkfyoqUHH6g9st
 I+cLS9w0aZ2s4xBGoXDoPSnECCqqq9F3IH6Qhb0=
X-Google-Smtp-Source: APXvYqwk50E1PeYKGo0aqHuVqXgAKGYklc0a4c/zGSZjLgFfRUc37JjC3+8p5fOuWJLpgR2siV0t1fy4BWq5v+AqixA=
X-Received: by 2002:a2e:9015:: with SMTP id h21mr4010776ljg.69.1575980404144; 
 Tue, 10 Dec 2019 04:20:04 -0800 (PST)
MIME-Version: 1.0
References: <20191208095507.27384-1-costin.lupu@cs.pub.ro>
 <20191208095507.27384-5-costin.lupu@cs.pub.ro>
In-Reply-To: <20191208095507.27384-5-costin.lupu@cs.pub.ro>
From: Stefan Teodorescu <stefanl.teodorescu@gmail.com>
Date: Tue, 10 Dec 2019 14:19:48 +0200
Message-ID: <CAEiTdV7xUAC6qkC=dD94nkrXh8nseNVhdsiOS6wfTV+HO-wCDQ@mail.gmail.com>
To: Costin Lupu <costin.lupu@cs.pub.ro>
X-Mailman-Approved-At: Thu, 12 Dec 2019 10:41:04 +0000
Subject: Re: [Minios-devel] [UNIKRAFT/RUBY PATCH 04/16] core: Add generated
 files for core
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Andrei Gogonea <andrei.gogonea09@gmail.com>, minios-devel@lists.xen.org
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

V2h5IGV4YWN0bHkgZG8gd2UgbmVlZCB0byBjb3B5LXBhc3RlIHRoZXNlIGF1dG9nZW5lcmF0ZWQg
ZmlsZXMsIHNpbmNlCnRoZXkgYXJlbid0IG1vZGlmaWVkIGluIGFueSB3YXk/IEkgdGhpbmsgaXQn
cyBjbGVhbmVyIHRvIGdlbmVyYXRlIHRoZW0KYXQgYnVpbGQgdGltZSwgc2luY2Ugc3R1ZmYgbWln
aHQgY2hhbmdlIGhlcmUgKHRoYXQncyB3aHkgdGhleSdyZQphdXRvZ2VuZXJhdGVkKSBhbmQgdGhp
cyBjb3VsZCBhZmZlY3Qgc3VwcG9ydGluZyB1cGNvbWluZyB2ZXJzaW9ucyBvZgpSdWJ5LgoKT24g
TW9uLCBEZWMgOSwgMjAxOSBhdCAxMDo0OCBBTSBDb3N0aW4gTHVwdSA8Y29zdGluLmx1cHVAY3Mu
cHViLnJvPiB3cm90ZToKPgo+IEZyb206IEFuZHJlaSBHb2dvbmVhIDxhbmRyZWkuZ29nb25lYTA5
QGdtYWlsLmNvbT4KPgo+IFNvbWUgb2YgdGhlIGZpbGVzIG5lZWRlZCBmb3IgYnVpbGRpbmcgdGhl
IFJ1YnkgaW50ZXJwcmV0ZXIgYXJlIGdlbmVyYXRlZCBhdAo+IGJ1aWxkIHRpbWUgYnkgUnVieSdz
IGJ1aWxkIHN5c3RlbS4gV2UganVzdCBjb3B5IHRoZXNlIGZpbGVzIGludG8gb3VyIGdsdWUKPiBs
aWJyYXJ5LiBGdXJ0aGVyIGltcHJvdmVtZW50cyBtYXkgYmUgZG9uZSB0byBnZW5lcmF0ZSAoc29t
ZSBvZikgdGhlc2UgZmlsZXMgYXQKPiBidWlsZCB0aW1lIGZvciBVbmlrcmFmdCdzIGJ1aWxkIGFz
IHdlbGwuCj4KPiBTaWduZWQtb2ZmLWJ5OiBBbmRyZWkgR29nb25lYSA8YW5kcmVpLmdvZ29uZWEw
OUBnbWFpbC5jb20+Cj4gU2lnbmVkLW9mZi1ieTogQ29zdGluIEx1cHUgPGNvc3Rpbi5sdXB1QGNz
LnB1Yi5ybz4KPiAtLS0KPiAgZ2VuZXJhdGVkL2lkLmMgICAgICAgICAgICAgICAgICAgICAgIHwg
ICAxMzUgKwo+ICBnZW5lcmF0ZWQvaWQuaCAgICAgICAgICAgICAgICAgICAgICAgfCAgIDI1MiAr
Cj4gIGdlbmVyYXRlZC9pbnNucy5pbmMgICAgICAgICAgICAgICAgICB8ICAgMjQ5ICsKPiAgZ2Vu
ZXJhdGVkL2luc25zX2luZm8uaW5jICAgICAgICAgICAgIHwgIDkzNzQgKysrKysrKysrKysrKwo+
ICBnZW5lcmF0ZWQva25vd25fZXJyb3JzLmluYyAgICAgICAgICAgfCAgIDc5MSArKwo+ICBnZW5l
cmF0ZWQvbGV4LmMgICAgICAgICAgICAgICAgICAgICAgfCAgIDMwMyArCj4gIGdlbmVyYXRlZC9t
aW5pcHJlbHVkZS5jICAgICAgICAgICAgICB8ICAgICA5ICsKPiAgZ2VuZXJhdGVkL21qaXRfY29t
cGlsZS5pbmMgICAgICAgICAgIHwgIDQyMjYgKysrKysrCj4gIGdlbmVyYXRlZC9taml0X2NvbmZp
Zy5oICAgICAgICAgICAgICB8ICAgIDIwICsKPiAgZ2VuZXJhdGVkL25vZGVfbmFtZS5pbmMgICAg
ICAgICAgICAgIHwgICAyMDAgKwo+ICBnZW5lcmF0ZWQvb3B0aW5zbi5pbmMgICAgICAgICAgICAg
ICAgfCAgIDEyOCArCj4gIGdlbmVyYXRlZC9wYXJzZS5jICAgICAgICAgICAgICAgICAgICB8IDE3
NzM3ICsrKysrKysrKysrKysrKysrKysrKysrKysKPiAgZ2VuZXJhdGVkL3BhcnNlLmggICAgICAg
ICAgICAgICAgICAgIHwgICAyMTEgKwo+ICBnZW5lcmF0ZWQvcHJlbHVkZS5jICAgICAgICAgICAg
ICAgICAgfCAgIDI0NiArCj4gIGdlbmVyYXRlZC9wcm9iZXMuZG15aCAgICAgICAgICAgICAgICB8
ICAgIDgwICsKPiAgZ2VuZXJhdGVkL3Byb2Jlcy5oICAgICAgICAgICAgICAgICAgIHwgICAgIDEg
Kwo+ICBnZW5lcmF0ZWQvcmV2aXNpb24uaCAgICAgICAgICAgICAgICAgfCAgICAgMAo+ICBnZW5l
cmF0ZWQvdmVyY29uZi5oICAgICAgICAgICAgICAgICAgfCAgICAxMyArCj4gIGdlbmVyYXRlZC92
bS5pbmMgICAgICAgICAgICAgICAgICAgICB8ICA0NTA0ICsrKysrKysKPiAgZ2VuZXJhdGVkL3Zt
X2NhbGxfaXNlcV9vcHRpbWl6ZWQuaW5jIHwgICAyMTMgKwo+ICBnZW5lcmF0ZWQvdm10Yy5pbmMg
ICAgICAgICAgICAgICAgICAgfCAgIDI0MyArCj4gIDIxIGZpbGVzIGNoYW5nZWQsIDM4OTM1IGlu
c2VydGlvbnMoKykKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9pZC5jCj4gIGNyZWF0
ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvaWQuaAo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJh
dGVkL2luc25zLmluYwo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2luc25zX2luZm8u
aW5jCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQva25vd25fZXJyb3JzLmluYwo+ICBj
cmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2xleC5jCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBn
ZW5lcmF0ZWQvbWluaXByZWx1ZGUuYwo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL21q
aXRfY29tcGlsZS5pbmMKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9taml0X2NvbmZp
Zy5oCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvbm9kZV9uYW1lLmluYwo+ICBjcmVh
dGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL29wdGluc24uaW5jCj4gIGNyZWF0ZSBtb2RlIDEwMDY0
NCBnZW5lcmF0ZWQvcGFyc2UuYwo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL3BhcnNl
LmgKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9wcmVsdWRlLmMKPiAgY3JlYXRlIG1v
ZGUgMTAwNjQ0IGdlbmVyYXRlZC9wcm9iZXMuZG15aAo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZ2Vu
ZXJhdGVkL3Byb2Jlcy5oCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvcmV2aXNpb24u
aAo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL3ZlcmNvbmYuaAo+ICBjcmVhdGUgbW9k
ZSAxMDA2NDQgZ2VuZXJhdGVkL3ZtLmluYwo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVk
L3ZtX2NhbGxfaXNlcV9vcHRpbWl6ZWQuaW5jCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0
ZWQvdm10Yy5pbmMKPgo+IGRpZmYgLS1naXQgYS9nZW5lcmF0ZWQvaWQuYyBiL2dlbmVyYXRlZC9p
ZC5jCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi4wZjhiZjcyCj4gLS0t
IC9kZXYvbnVsbAo+ICsrKyBiL2dlbmVyYXRlZC9pZC5jCj4gQEAgLTAsMCArMSwxMzUgQEAKPiAr
LyogRE8gTk9UIEVESVQgVEhJUyBGSUxFIERJUkVDVExZICovCj4gKy8qKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCj4g
Kwo+ICsgIGlkLmMgLQo+ICsKPiArICAkQXV0aG9yJAo+ICsgIGNyZWF0ZWQgYXQ6IFdlZCBEZWMg
IDUgMDI6MzY6MTAgMjAxMgo+ICsKPiArICBDb3B5cmlnaHQgKEMpIDIwMDQtMjAwNyBLb2ljaGkg
U2FzYWRhCj4gKwo+ICsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqLwo+ICsKPiArI2RlZmluZSB0RE9UMiBSVUJZX1RP
S0VOKERPVDIpCj4gKyNkZWZpbmUgdERPVDMgUlVCWV9UT0tFTihET1QzKQo+ICsjZGVmaW5lIHRV
UExVUyBSVUJZX1RPS0VOKFVQTFVTKQo+ICsjZGVmaW5lIHRVTUlOVVMgUlVCWV9UT0tFTihVTUlO
VVMpCj4gKyNkZWZpbmUgdFBPVyBSVUJZX1RPS0VOKFBPVykKPiArI2RlZmluZSB0Q01QIFJVQllf
VE9LRU4oQ01QKQo+ICsjZGVmaW5lIHRMU0hGVCBSVUJZX1RPS0VOKExTSEZUKQo+ICsjZGVmaW5l
IHRSU0hGVCBSVUJZX1RPS0VOKFJTSEZUKQo+ICsjZGVmaW5lIHRMRVEgUlVCWV9UT0tFTihMRVEp
Cj4gKyNkZWZpbmUgdEdFUSBSVUJZX1RPS0VOKEdFUSkKPiArI2RlZmluZSB0RVEgUlVCWV9UT0tF
TihFUSkKPiArI2RlZmluZSB0RVFRIFJVQllfVE9LRU4oRVFRKQo+ICsjZGVmaW5lIHRORVEgUlVC
WV9UT0tFTihORVEpCj4gKyNkZWZpbmUgdE1BVENIIFJVQllfVE9LRU4oTUFUQ0gpCj4gKyNkZWZp
bmUgdE5NQVRDSCBSVUJZX1RPS0VOKE5NQVRDSCkKPiArI2RlZmluZSB0QVJFRiBSVUJZX1RPS0VO
KEFSRUYpCj4gKyNkZWZpbmUgdEFTRVQgUlVCWV9UT0tFTihBU0VUKQo+ICsjZGVmaW5lIHRDT0xP
TjIgUlVCWV9UT0tFTihDT0xPTjIpCj4gKyNkZWZpbmUgdEFORE9QIFJVQllfVE9LRU4oQU5ET1Ap
Cj4gKyNkZWZpbmUgdE9ST1AgUlVCWV9UT0tFTihPUk9QKQo+ICsjZGVmaW5lIHRBTkRET1QgUlVC
WV9UT0tFTihBTkRET1QpCj4gKwo+ICtzdGF0aWMgY29uc3Qgc3RydWN0IHsKPiArICAgIHVuc2ln
bmVkIHNob3J0IHRva2VuOwo+ICsgICAgY29uc3QgY2hhciBuYW1lWzNdLCB0ZXJtOwo+ICt9IG9w
X3RibFtdID0gewo+ICsgICAge3RET1QyLCAiLi4ifSwKPiArICAgIHt0RE9UMywgIi4uLiJ9LAo+
ICsgICAge3RVUExVUywgIitAIn0sCj4gKyAgICB7dFVNSU5VUywgIi1AIn0sCj4gKyAgICB7dFBP
VywgIioqIn0sCj4gKyAgICB7dENNUCwgIjw9PiJ9LAo+ICsgICAge3RMU0hGVCwgIjw8In0sCj4g
KyAgICB7dFJTSEZULCAiPj4ifSwKPiArICAgIHt0TEVRLCAiPD0ifSwKPiArICAgIHt0R0VRLCAi
Pj0ifSwKPiArICAgIHt0RVEsICI9PSJ9LAo+ICsgICAge3RFUVEsICI9PT0ifSwKPiArICAgIHt0
TkVRLCAiIT0ifSwKPiArICAgIHt0TUFUQ0gsICI9fiJ9LAo+ICsgICAge3ROTUFUQ0gsICIhfiJ9
LAo+ICsgICAge3RBUkVGLCAiW10ifSwKPiArICAgIHt0QVNFVCwgIltdPSJ9LAo+ICsgICAge3RD
T0xPTjIsICI6OiJ9LAo+ICsgICAge3RBTkRPUCwgIiYmIn0sCj4gKyAgICB7dE9ST1AsICJ8fCJ9
LAo+ICsgICAge3RBTkRET1QsICImLiJ9LAo+ICt9Owo+ICsKPiArc3RhdGljIHZvaWQKPiArSW5p
dF9pZCh2b2lkKQo+ICt7Cj4gKyN1bmRlZiByYl9pbnRlcm4KPiArI2RlZmluZSByYl9pbnRlcm4o
c3RyKSByYl9pbnRlcm5fY29uc3Qoc3RyKQo+ICsgICAgcmJfZW5jb2RpbmcgKmVuYyA9IHJiX3Vz
YXNjaWlfZW5jb2RpbmcoKTsKPiArCj4gKyAgICBSRUdJU1RFUl9TWU1JRChpZE1heCwgIm1heCIp
Owo+ICsgICAgUkVHSVNURVJfU1lNSUQoaWRNaW4sICJtaW4iKTsKPiArICAgIFJFR0lTVEVSX1NZ
TUlEKGlkRnJlZXplLCAiZnJlZXplIik7Cj4gKyAgICBSRUdJU1RFUl9TWU1JRChpZEluc3BlY3Qs
ICJpbnNwZWN0Iik7Cj4gKyAgICBSRUdJU1RFUl9TWU1JRChpZEludGVybiwgImludGVybiIpOwo+
ICsgICAgUkVHSVNURVJfU1lNSUQoaWRPYmplY3RfaWQsICJvYmplY3RfaWQiKTsKPiArICAgIFJF
R0lTVEVSX1NZTUlEKGlkQ29uc3RfbWlzc2luZywgImNvbnN0X21pc3NpbmciKTsKPiArICAgIFJF
R0lTVEVSX1NZTUlEKGlkTWV0aG9kTWlzc2luZywgIm1ldGhvZF9taXNzaW5nIik7Cj4gKyAgICBS
RUdJU1RFUl9TWU1JRChpZE1ldGhvZF9hZGRlZCwgIm1ldGhvZF9hZGRlZCIpOwo+ICsgICAgUkVH
SVNURVJfU1lNSUQoaWRTaW5nbGV0b25fbWV0aG9kX2FkZGVkLCAic2luZ2xldG9uX21ldGhvZF9h
ZGRlZCIpOwo+ICsgICAgUkVHSVNURVJfU1lNSUQoaWRNZXRob2RfcmVtb3ZlZCwgIm1ldGhvZF9y
ZW1vdmVkIik7Cj4gKyAgICBSRUdJU1RFUl9TWU1JRChpZFNpbmdsZXRvbl9tZXRob2RfcmVtb3Zl
ZCwgInNpbmdsZXRvbl9tZXRob2RfcmVtb3ZlZCIpOwo+ICsgICAgUkVHSVNURVJfU1lNSUQoaWRN
ZXRob2RfdW5kZWZpbmVkLCAibWV0aG9kX3VuZGVmaW5lZCIpOwo+ICsgICAgUkVHSVNURVJfU1lN
SUQoaWRTaW5nbGV0b25fbWV0aG9kX3VuZGVmaW5lZCwgInNpbmdsZXRvbl9tZXRob2RfdW5kZWZp
bmVkIik7Cj4gKyAgICBSRUdJU1RFUl9TWU1JRChpZExlbmd0aCwgImxlbmd0aCIpOwo+ICsgICAg
UkVHSVNURVJfU1lNSUQoaWRTaXplLCAic2l6ZSIpOwo+ICsgICAgUkVHSVNURVJfU1lNSUQoaWRH
ZXRzLCAiZ2V0cyIpOwo+ICsgICAgUkVHSVNURVJfU1lNSUQoaWRTdWNjLCAic3VjYyIpOwo+ICsg
ICAgUkVHSVNURVJfU1lNSUQoaWRFYWNoLCAiZWFjaCIpOwo+ICsgICAgUkVHSVNURVJfU1lNSUQo
aWRQcm9jLCAicHJvYyIpOwo+ICsgICAgUkVHSVNURVJfU1lNSUQoaWRMYW1iZGEsICJsYW1iZGEi
KTsKPiArICAgIFJFR0lTVEVSX1NZTUlEKGlkU2VuZCwgInNlbmQiKTsKPiArICAgIFJFR0lTVEVS
X1NZTUlEKGlkX19zZW5kX18sICJfX3NlbmRfXyIpOwo+ICsgICAgUkVHSVNURVJfU1lNSUQoaWRf
X2F0dGFjaGVkX18sICJfX2F0dGFjaGVkX18iKTsKPiArICAgIFJFR0lTVEVSX1NZTUlEKGlkSW5p
dGlhbGl6ZSwgImluaXRpYWxpemUiKTsKPiArICAgIFJFR0lTVEVSX1NZTUlEKGlkSW5pdGlhbGl6
ZV9jb3B5LCAiaW5pdGlhbGl6ZV9jb3B5Iik7Cj4gKyAgICBSRUdJU1RFUl9TWU1JRChpZEluaXRp
YWxpemVfY2xvbmUsICJpbml0aWFsaXplX2Nsb25lIik7Cj4gKyAgICBSRUdJU1RFUl9TWU1JRChp
ZEluaXRpYWxpemVfZHVwLCAiaW5pdGlhbGl6ZV9kdXAiKTsKPiArICAgIFJFR0lTVEVSX1NZTUlE
KGlkVG9faW50LCAidG9faW50Iik7Cj4gKyAgICBSRUdJU1RFUl9TWU1JRChpZFRvX2FyeSwgInRv
X2FyeSIpOwo+ICsgICAgUkVHSVNURVJfU1lNSUQoaWRUb19zdHIsICJ0b19zdHIiKTsKPiArICAg
IFJFR0lTVEVSX1NZTUlEKGlkVG9fc3ltLCAidG9fc3ltIik7Cj4gKyAgICBSRUdJU1RFUl9TWU1J
RChpZFRvX2hhc2gsICJ0b19oYXNoIik7Cj4gKyAgICBSRUdJU1RFUl9TWU1JRChpZFRvX3Byb2Ms
ICJ0b19wcm9jIik7Cj4gKyAgICBSRUdJU1RFUl9TWU1JRChpZFRvX2lvLCAidG9faW8iKTsKPiAr
ICAgIFJFR0lTVEVSX1NZTUlEKGlkVG9fYSwgInRvX2EiKTsKPiArICAgIFJFR0lTVEVSX1NZTUlE
KGlkVG9fcywgInRvX3MiKTsKPiArICAgIFJFR0lTVEVSX1NZTUlEKGlkVG9faSwgInRvX2kiKTsK
PiArICAgIFJFR0lTVEVSX1NZTUlEKGlkVG9fZiwgInRvX2YiKTsKPiArICAgIFJFR0lTVEVSX1NZ
TUlEKGlkVG9fciwgInRvX3IiKTsKPiArICAgIFJFR0lTVEVSX1NZTUlEKGlkQnQsICJidCIpOwo+
ICsgICAgUkVHSVNURVJfU1lNSUQoaWRCdF9sb2NhdGlvbnMsICJidF9sb2NhdGlvbnMiKTsKPiAr
ICAgIFJFR0lTVEVSX1NZTUlEKGlkQ2FsbCwgImNhbGwiKTsKPiArICAgIFJFR0lTVEVSX1NZTUlE
KGlkTWVzZywgIm1lc2ciKTsKPiArICAgIFJFR0lTVEVSX1NZTUlEKGlkRXhjZXB0aW9uLCAiZXhj
ZXB0aW9uIik7Cj4gKyAgICBSRUdJU1RFUl9TWU1JRChpZE5PVCwgIm5vdCIpOwo+ICsgICAgUkVH
SVNURVJfU1lNSUQoaWRBTkQsICJhbmQiKTsKPiArICAgIFJFR0lTVEVSX1NZTUlEKGlkT1IsICJv
ciIpOwo+ICsgICAgUkVHSVNURVJfU1lNSUQoaWRVU2NvcmUsICJfIik7Cj4gKyAgICBSRUdJU1RF
Ul9TWU1JRChpZE5VTEwsICIiLypOVUxMKi8iIik7Cj4gKyAgICBSRUdJU1RFUl9TWU1JRChpZEVt
cHR5UCwgImVtcHR5PyIpOwo+ICsgICAgUkVHSVNURVJfU1lNSUQoaWRFcWxQLCAiZXFsPyIpOwo+
ICsgICAgUkVHSVNURVJfU1lNSUQoaWRSZXNwb25kX3RvLCAicmVzcG9uZF90bz8iKTsKPiArICAg
IFJFR0lTVEVSX1NZTUlEKGlkUmVzcG9uZF90b19taXNzaW5nLCAicmVzcG9uZF90b19taXNzaW5n
PyIpOwo+ICsgICAgUkVHSVNURVJfU1lNSUQoaWRJRlVOQywgIjxJRlVOQz4iKTsKPiArICAgIFJF
R0lTVEVSX1NZTUlEKGlkQ0ZVTkMsICI8Q0ZVTkM+Iik7Cj4gKyAgICBSRUdJU1RFUl9TWU1JRChp
ZF9jb3JlX3NldF9tZXRob2RfYWxpYXMsICJjb3JlI3NldF9tZXRob2RfYWxpYXMiKTsKPiArICAg
IFJFR0lTVEVSX1NZTUlEKGlkX2NvcmVfc2V0X3ZhcmlhYmxlX2FsaWFzLCAiY29yZSNzZXRfdmFy
aWFibGVfYWxpYXMiKTsKPiArICAgIFJFR0lTVEVSX1NZTUlEKGlkX2NvcmVfdW5kZWZfbWV0aG9k
LCAiY29yZSN1bmRlZl9tZXRob2QiKTsKPiArICAgIFJFR0lTVEVSX1NZTUlEKGlkX2NvcmVfZGVm
aW5lX21ldGhvZCwgImNvcmUjZGVmaW5lX21ldGhvZCIpOwo+ICsgICAgUkVHSVNURVJfU1lNSUQo
aWRfY29yZV9kZWZpbmVfc2luZ2xldG9uX21ldGhvZCwgImNvcmUjZGVmaW5lX3NpbmdsZXRvbl9t
ZXRob2QiKTsKPiArICAgIFJFR0lTVEVSX1NZTUlEKGlkX2NvcmVfc2V0X3Bvc3RleGUsICJjb3Jl
I3NldF9wb3N0ZXhlIik7Cj4gKyAgICBSRUdJU1RFUl9TWU1JRChpZF9jb3JlX2hhc2hfbWVyZ2Vf
cHRyLCAiY29yZSNoYXNoX21lcmdlX3B0ciIpOwo+ICsgICAgUkVHSVNURVJfU1lNSUQoaWRfY29y
ZV9oYXNoX21lcmdlX2t3ZCwgImNvcmUjaGFzaF9tZXJnZV9rd2QiKTsKPiArICAgIFJFR0lTVEVS
X1NZTUlEKGlkTEFTVExJTkUsICIkXyIpOwo+ICsgICAgUkVHSVNURVJfU1lNSUQoaWRCQUNLUkVG
LCAiJH4iKTsKPiArfQo+IGRpZmYgLS1naXQgYS9nZW5lcmF0ZWQvaWQuaCBiL2dlbmVyYXRlZC9p
ZC5oCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi5hMzUxNWUzCj4gLS0t
IC9kZXYvbnVsbAo+ICsrKyBiL2dlbmVyYXRlZC9pZC5oCj4gQEAgLTAsMCArMSwyNTIgQEAKPiAr
LyogRE8gTk9UIEVESVQgVEhJUyBGSUxFIERJUkVDVExZICovCj4gKy8qKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCj4g
Kwo+ICsgIGlkLmggLQo+ICsKPiArICAkQXV0aG9yJAo+ICsgIGNyZWF0ZWQgYXQ6IFN1biBPY3Qg
MTkgMjE6MTI6NTEgMjAwOAo+ICsKPiArICBDb3B5cmlnaHQgKEMpIDIwMDcgS29pY2hpIFNhc2Fk
YQo+ICsKPiArKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKi8KPiArCj4gKyNpZm5kZWYgUlVCWV9JRF9ICj4gKyNkZWZp
bmUgUlVCWV9JRF9ICj4gKwo+ICtlbnVtIHJ1YnlfaWRfdHlwZXMgewo+ICsgICAgUlVCWV9JRF9T
VEFUSUNfU1lNICA9IDB4MDEsCj4gKyAgICBSVUJZX0lEX0xPQ0FMICAgICAgID0gMHgwMCwKPiAr
ICAgIFJVQllfSURfSU5TVEFOQ0UgICAgPSAoMHgwMTw8MSksCj4gKyAgICBSVUJZX0lEX0dMT0JB
TCAgICAgID0gKDB4MDM8PDEpLAo+ICsgICAgUlVCWV9JRF9BVFRSU0VUICAgICA9ICgweDA0PDwx
KSwKPiArICAgIFJVQllfSURfQ09OU1QgICAgICAgPSAoMHgwNTw8MSksCj4gKyAgICBSVUJZX0lE
X0NMQVNTICAgICAgID0gKDB4MDY8PDEpLAo+ICsgICAgUlVCWV9JRF9KVU5LICAgICAgICA9ICgw
eDA3PDwxKSwKPiArICAgIFJVQllfSURfSU5URVJOQUwgICAgPSBSVUJZX0lEX0pVTkssCj4gKyAg
ICBSVUJZX0lEX1NDT1BFX1NISUZUID0gNCwKPiArICAgIFJVQllfSURfU0NPUEVfTUFTSyAgPSAo
fih+MFU8PChSVUJZX0lEX1NDT1BFX1NISUZULTEpKTw8MSkKPiArfTsKPiArCj4gKyNkZWZpbmUg
SURfU1RBVElDX1NZTSAgUlVCWV9JRF9TVEFUSUNfU1lNCj4gKyNkZWZpbmUgSURfU0NPUEVfU0hJ
RlQgUlVCWV9JRF9TQ09QRV9TSElGVAo+ICsjZGVmaW5lIElEX1NDT1BFX01BU0sgIFJVQllfSURf
U0NPUEVfTUFTSwo+ICsjZGVmaW5lIElEX0xPQ0FMICAgICAgIFJVQllfSURfTE9DQUwKPiArI2Rl
ZmluZSBJRF9JTlNUQU5DRSAgICBSVUJZX0lEX0lOU1RBTkNFCj4gKyNkZWZpbmUgSURfR0xPQkFM
ICAgICAgUlVCWV9JRF9HTE9CQUwKPiArI2RlZmluZSBJRF9BVFRSU0VUICAgICBSVUJZX0lEX0FU
VFJTRVQKPiArI2RlZmluZSBJRF9DT05TVCAgICAgICBSVUJZX0lEX0NPTlNUCj4gKyNkZWZpbmUg
SURfQ0xBU1MgICAgICAgUlVCWV9JRF9DTEFTUwo+ICsjZGVmaW5lIElEX0pVTksgICAgICAgIFJV
QllfSURfSlVOSwo+ICsjZGVmaW5lIElEX0lOVEVSTkFMICAgIFJVQllfSURfSU5URVJOQUwKPiAr
Cj4gKyNkZWZpbmUgc3ltSUZVTkMgSUQyU1lNKGlkSUZVTkMpCj4gKyNkZWZpbmUgc3ltQ0ZVTkMg
SUQyU1lNKGlkQ0ZVTkMpCj4gKwo+ICsjZGVmaW5lIFJVQllfVE9LRU5fRE9UMiAxMjgKPiArI2Rl
ZmluZSBSVUJZX1RPS0VOX0RPVDMgMTI5Cj4gKyNkZWZpbmUgUlVCWV9UT0tFTl9VUExVUyAxMzAK
PiArI2RlZmluZSBSVUJZX1RPS0VOX1VNSU5VUyAxMzEKPiArI2RlZmluZSBSVUJZX1RPS0VOX1BP
VyAxMzIKPiArI2RlZmluZSBSVUJZX1RPS0VOX0NNUCAxMzMKPiArI2RlZmluZSBSVUJZX1RPS0VO
X0xTSEZUIDEzNAo+ICsjZGVmaW5lIFJVQllfVE9LRU5fUlNIRlQgMTM1Cj4gKyNkZWZpbmUgUlVC
WV9UT0tFTl9MRVEgMTM2Cj4gKyNkZWZpbmUgUlVCWV9UT0tFTl9HRVEgMTM3Cj4gKyNkZWZpbmUg
UlVCWV9UT0tFTl9FUSAxMzgKPiArI2RlZmluZSBSVUJZX1RPS0VOX0VRUSAxMzkKPiArI2RlZmlu
ZSBSVUJZX1RPS0VOX05FUSAxNDAKPiArI2RlZmluZSBSVUJZX1RPS0VOX01BVENIIDE0MQo+ICsj
ZGVmaW5lIFJVQllfVE9LRU5fTk1BVENIIDE0Mgo+ICsjZGVmaW5lIFJVQllfVE9LRU5fQVJFRiAx
NDMKPiArI2RlZmluZSBSVUJZX1RPS0VOX0FTRVQgMTQ0Cj4gKyNkZWZpbmUgUlVCWV9UT0tFTl9D
T0xPTjIgMTQ1Cj4gKyNkZWZpbmUgUlVCWV9UT0tFTl9BTkRPUCAxNDYKPiArI2RlZmluZSBSVUJZ
X1RPS0VOX09ST1AgMTQ3Cj4gKyNkZWZpbmUgUlVCWV9UT0tFTl9BTkRET1QgMTQ4Cj4gKyNkZWZp
bmUgUlVCWV9UT0tFTih0KSBSVUJZX1RPS0VOXyMjdAo+ICsKPiArI2RlZmluZSBSVUJZX1RPS0VO
MklEX1RZUEUodG9rLCB0eXBlKSAoKHRvazw8UlVCWV9JRF9TQ09QRV9TSElGVCl8dHlwZXxSVUJZ
X0lEX1NUQVRJQ19TWU0pCj4gKyNkZWZpbmUgVE9LRU4yTE9DQUxJRCh0b2spIFJVQllfVE9LRU4y
SURfVFlQRSh0b2ssIFJVQllfSURfTE9DQUwpCj4gKyNkZWZpbmUgVE9LRU4ySU5TVEFOQ0VJRCh0
b2spIFJVQllfVE9LRU4ySURfVFlQRSh0b2ssIFJVQllfSURfSU5TVEFOQ0UpCj4gKyNkZWZpbmUg
VE9LRU4yR0xPQkFMSUQodG9rKSBSVUJZX1RPS0VOMklEX1RZUEUodG9rLCBSVUJZX0lEX0dMT0JB
TCkKPiArI2RlZmluZSBUT0tFTjJDT05TVElEKHRvaykgUlVCWV9UT0tFTjJJRF9UWVBFKHRvaywg
UlVCWV9JRF9DT05TVCkKPiArI2RlZmluZSBUT0tFTjJDTEFTU0lEKHRvaykgUlVCWV9UT0tFTjJJ
RF9UWVBFKHRvaywgUlVCWV9JRF9DTEFTUykKPiArI2RlZmluZSBUT0tFTjJBVFRSU0VUSUQodG9r
KSBSVUJZX1RPS0VOMklEX1RZUEUodG9rLCBSVUJZX0lEX0FUVFJTRVQpCj4gKwo+ICtlbnVtIHJ1
YnlfbWV0aG9kX2lkcyB7Cj4gKyAgICBpZERvdDIgPSBSVUJZX1RPS0VOKERPVDIpLAo+ICsgICAg
aWREb3QzID0gUlVCWV9UT0tFTihET1QzKSwKPiArICAgIGlkVVBsdXMgPSBSVUJZX1RPS0VOKFVQ
TFVTKSwKPiArICAgIGlkVU1pbnVzID0gUlVCWV9UT0tFTihVTUlOVVMpLAo+ICsgICAgaWRQb3cg
PSBSVUJZX1RPS0VOKFBPVyksCj4gKyAgICBpZENtcCA9IFJVQllfVE9LRU4oQ01QKSwKPiArICAg
IGlkUExVUyA9ICcrJywKPiArICAgIGlkTUlOVVMgPSAnLScsCj4gKyAgICBpZE1VTFQgPSAnKics
Cj4gKyAgICBpZERJViA9ICcvJywKPiArICAgIGlkTU9EID0gJyUnLAo+ICsgICAgaWRMVExUID0g
UlVCWV9UT0tFTihMU0hGVCksCj4gKyAgICBpZEdUR1QgPSBSVUJZX1RPS0VOKFJTSEZUKSwKPiAr
ICAgIGlkTFQgPSAnPCcsCj4gKyAgICBpZExFID0gUlVCWV9UT0tFTihMRVEpLAo+ICsgICAgaWRH
VCA9ICc+JywKPiArICAgIGlkR0UgPSBSVUJZX1RPS0VOKEdFUSksCj4gKyAgICBpZEVxID0gUlVC
WV9UT0tFTihFUSksCj4gKyAgICBpZEVxcSA9IFJVQllfVE9LRU4oRVFRKSwKPiArICAgIGlkTmVx
ID0gUlVCWV9UT0tFTihORVEpLAo+ICsgICAgaWROb3QgPSAnIScsCj4gKyAgICBpZEFuZCA9ICcm
JywKPiArICAgIGlkT3IgPSAnfCcsCj4gKyAgICBpZEJhY2txdW90ZSA9ICdgJywKPiArICAgIGlk
RXFUaWxkZSA9IFJVQllfVE9LRU4oTUFUQ0gpLAo+ICsgICAgaWROZXFUaWxkZSA9IFJVQllfVE9L
RU4oTk1BVENIKSwKPiArICAgIGlkQVJFRiA9IFJVQllfVE9LRU4oQVJFRiksCj4gKyAgICBpZEFT
RVQgPSBSVUJZX1RPS0VOKEFTRVQpLAo+ICsgICAgaWRDT0xPTjIgPSBSVUJZX1RPS0VOKENPTE9O
MiksCj4gKyAgICBpZEFORE9QID0gUlVCWV9UT0tFTihBTkRPUCksCj4gKyAgICBpZE9ST1AgPSBS
VUJZX1RPS0VOKE9ST1ApLAo+ICsgICAgaWRBTkRET1QgPSBSVUJZX1RPS0VOKEFORERPVCksCj4g
KyAgICB0UFJFU0VSVkVEX0lEX0JFR0lOID0gMTQ4LAo+ICsgICAgaWROVUxMLAo+ICsgICAgaWRF
bXB0eVAsCj4gKyAgICBpZEVxbFAsCj4gKyAgICBpZFJlc3BvbmRfdG8sCj4gKyAgICBpZFJlc3Bv
bmRfdG9fbWlzc2luZywKPiArICAgIGlkSUZVTkMsCj4gKyAgICBpZENGVU5DLAo+ICsgICAgaWRf
Y29yZV9zZXRfbWV0aG9kX2FsaWFzLAo+ICsgICAgaWRfY29yZV9zZXRfdmFyaWFibGVfYWxpYXMs
Cj4gKyAgICBpZF9jb3JlX3VuZGVmX21ldGhvZCwKPiArICAgIGlkX2NvcmVfZGVmaW5lX21ldGhv
ZCwKPiArICAgIGlkX2NvcmVfZGVmaW5lX3NpbmdsZXRvbl9tZXRob2QsCj4gKyAgICBpZF9jb3Jl
X3NldF9wb3N0ZXhlLAo+ICsgICAgaWRfY29yZV9oYXNoX21lcmdlX3B0ciwKPiArICAgIGlkX2Nv
cmVfaGFzaF9tZXJnZV9rd2QsCj4gKyAgICBpZF9kZWJ1Z19jcmVhdGVkX2luZm8sCj4gKyAgICB0
UFJFU0VSVkVEX0lEX0VORCwKPiArICAgIHRUT0tFTl9MT0NBTF9CRUdJTiA9IHRQUkVTRVJWRURf
SURfRU5ELTEsCj4gKyAgICB0TWF4LAo+ICsgICAgdE1pbiwKPiArICAgIHRGcmVlemUsCj4gKyAg
ICB0SW5zcGVjdCwKPiArICAgIHRJbnRlcm4sCj4gKyAgICB0T2JqZWN0X2lkLAo+ICsgICAgdENv
bnN0X21pc3NpbmcsCj4gKyAgICB0TWV0aG9kTWlzc2luZywKPiArICAgIHRNZXRob2RfYWRkZWQs
Cj4gKyAgICB0U2luZ2xldG9uX21ldGhvZF9hZGRlZCwKPiArICAgIHRNZXRob2RfcmVtb3ZlZCwK
PiArICAgIHRTaW5nbGV0b25fbWV0aG9kX3JlbW92ZWQsCj4gKyAgICB0TWV0aG9kX3VuZGVmaW5l
ZCwKPiArICAgIHRTaW5nbGV0b25fbWV0aG9kX3VuZGVmaW5lZCwKPiArICAgIHRMZW5ndGgsCj4g
KyAgICB0U2l6ZSwKPiArICAgIHRHZXRzLAo+ICsgICAgdFN1Y2MsCj4gKyAgICB0RWFjaCwKPiAr
ICAgIHRQcm9jLAo+ICsgICAgdExhbWJkYSwKPiArICAgIHRTZW5kLAo+ICsgICAgdF9fc2VuZF9f
LAo+ICsgICAgdF9fYXR0YWNoZWRfXywKPiArICAgIHRJbml0aWFsaXplLAo+ICsgICAgdEluaXRp
YWxpemVfY29weSwKPiArICAgIHRJbml0aWFsaXplX2Nsb25lLAo+ICsgICAgdEluaXRpYWxpemVf
ZHVwLAo+ICsgICAgdFRvX2ludCwKPiArICAgIHRUb19hcnksCj4gKyAgICB0VG9fc3RyLAo+ICsg
ICAgdFRvX3N5bSwKPiArICAgIHRUb19oYXNoLAo+ICsgICAgdFRvX3Byb2MsCj4gKyAgICB0VG9f
aW8sCj4gKyAgICB0VG9fYSwKPiArICAgIHRUb19zLAo+ICsgICAgdFRvX2ksCj4gKyAgICB0VG9f
ZiwKPiArICAgIHRUb19yLAo+ICsgICAgdEJ0LAo+ICsgICAgdEJ0X2xvY2F0aW9ucywKPiArICAg
IHRDYWxsLAo+ICsgICAgdE1lc2csCj4gKyAgICB0RXhjZXB0aW9uLAo+ICsgICAgdE5PVCwKPiAr
ICAgIHRBTkQsCj4gKyAgICB0T1IsCj4gKyAgICB0VVNjb3JlLAo+ICsgICAgdFRPS0VOX0xPQ0FM
X0VORCwKPiArICAgIHRUT0tFTl9JTlNUQU5DRV9CRUdJTiA9IHRUT0tFTl9MT0NBTF9FTkQtMSwK
PiArICAgIHRUT0tFTl9JTlNUQU5DRV9FTkQsCj4gKyAgICB0VE9LRU5fR0xPQkFMX0JFR0lOID0g
dFRPS0VOX0lOU1RBTkNFX0VORC0xLAo+ICsgICAgdExBU1RMSU5FLAo+ICsgICAgdEJBQ0tSRUYs
Cj4gKyAgICB0VE9LRU5fR0xPQkFMX0VORCwKPiArICAgIHRUT0tFTl9DT05TVF9CRUdJTiA9IHRU
T0tFTl9HTE9CQUxfRU5ELTEsCj4gKyAgICB0VE9LRU5fQ09OU1RfRU5ELAo+ICsgICAgdFRPS0VO
X0NMQVNTX0JFR0lOID0gdFRPS0VOX0NPTlNUX0VORC0xLAo+ICsgICAgdFRPS0VOX0NMQVNTX0VO
RCwKPiArICAgIHRUT0tFTl9BVFRSU0VUX0JFR0lOID0gdFRPS0VOX0NMQVNTX0VORC0xLAo+ICsg
ICAgdFRPS0VOX0FUVFJTRVRfRU5ELAo+ICsgICAgdE5FWFRfSUQgPSB0VE9LRU5fQVRUUlNFVF9F
TkQsCj4gKyNkZWZpbmUgREVGSU5FX0xPQ0FMSURfRlJPTV9UT0tFTihuKSBpZCMjbiA9IFRPS0VO
MkxPQ0FMSUQodCMjbikKPiArICAgIERFRklORV9MT0NBTElEX0ZST01fVE9LRU4oTWF4KSwKPiAr
ICAgIERFRklORV9MT0NBTElEX0ZST01fVE9LRU4oTWluKSwKPiArICAgIERFRklORV9MT0NBTElE
X0ZST01fVE9LRU4oRnJlZXplKSwKPiArICAgIERFRklORV9MT0NBTElEX0ZST01fVE9LRU4oSW5z
cGVjdCksCj4gKyAgICBERUZJTkVfTE9DQUxJRF9GUk9NX1RPS0VOKEludGVybiksCj4gKyAgICBE
RUZJTkVfTE9DQUxJRF9GUk9NX1RPS0VOKE9iamVjdF9pZCksCj4gKyAgICBERUZJTkVfTE9DQUxJ
RF9GUk9NX1RPS0VOKENvbnN0X21pc3NpbmcpLAo+ICsgICAgREVGSU5FX0xPQ0FMSURfRlJPTV9U
T0tFTihNZXRob2RNaXNzaW5nKSwKPiArICAgIERFRklORV9MT0NBTElEX0ZST01fVE9LRU4oTWV0
aG9kX2FkZGVkKSwKPiArICAgIERFRklORV9MT0NBTElEX0ZST01fVE9LRU4oU2luZ2xldG9uX21l
dGhvZF9hZGRlZCksCj4gKyAgICBERUZJTkVfTE9DQUxJRF9GUk9NX1RPS0VOKE1ldGhvZF9yZW1v
dmVkKSwKPiArICAgIERFRklORV9MT0NBTElEX0ZST01fVE9LRU4oU2luZ2xldG9uX21ldGhvZF9y
ZW1vdmVkKSwKPiArICAgIERFRklORV9MT0NBTElEX0ZST01fVE9LRU4oTWV0aG9kX3VuZGVmaW5l
ZCksCj4gKyAgICBERUZJTkVfTE9DQUxJRF9GUk9NX1RPS0VOKFNpbmdsZXRvbl9tZXRob2RfdW5k
ZWZpbmVkKSwKPiArICAgIERFRklORV9MT0NBTElEX0ZST01fVE9LRU4oTGVuZ3RoKSwKPiArICAg
IERFRklORV9MT0NBTElEX0ZST01fVE9LRU4oU2l6ZSksCj4gKyAgICBERUZJTkVfTE9DQUxJRF9G
Uk9NX1RPS0VOKEdldHMpLAo+ICsgICAgREVGSU5FX0xPQ0FMSURfRlJPTV9UT0tFTihTdWNjKSwK
PiArICAgIERFRklORV9MT0NBTElEX0ZST01fVE9LRU4oRWFjaCksCj4gKyAgICBERUZJTkVfTE9D
QUxJRF9GUk9NX1RPS0VOKFByb2MpLAo+ICsgICAgREVGSU5FX0xPQ0FMSURfRlJPTV9UT0tFTihM
YW1iZGEpLAo+ICsgICAgREVGSU5FX0xPQ0FMSURfRlJPTV9UT0tFTihTZW5kKSwKPiArICAgIERF
RklORV9MT0NBTElEX0ZST01fVE9LRU4oX19zZW5kX18pLAo+ICsgICAgREVGSU5FX0xPQ0FMSURf
RlJPTV9UT0tFTihfX2F0dGFjaGVkX18pLAo+ICsgICAgREVGSU5FX0xPQ0FMSURfRlJPTV9UT0tF
TihJbml0aWFsaXplKSwKPiArICAgIERFRklORV9MT0NBTElEX0ZST01fVE9LRU4oSW5pdGlhbGl6
ZV9jb3B5KSwKPiArICAgIERFRklORV9MT0NBTElEX0ZST01fVE9LRU4oSW5pdGlhbGl6ZV9jbG9u
ZSksCj4gKyAgICBERUZJTkVfTE9DQUxJRF9GUk9NX1RPS0VOKEluaXRpYWxpemVfZHVwKSwKPiAr
ICAgIERFRklORV9MT0NBTElEX0ZST01fVE9LRU4oVG9faW50KSwKPiArICAgIERFRklORV9MT0NB
TElEX0ZST01fVE9LRU4oVG9fYXJ5KSwKPiArICAgIERFRklORV9MT0NBTElEX0ZST01fVE9LRU4o
VG9fc3RyKSwKPiArICAgIERFRklORV9MT0NBTElEX0ZST01fVE9LRU4oVG9fc3ltKSwKPiArICAg
IERFRklORV9MT0NBTElEX0ZST01fVE9LRU4oVG9faGFzaCksCj4gKyAgICBERUZJTkVfTE9DQUxJ
RF9GUk9NX1RPS0VOKFRvX3Byb2MpLAo+ICsgICAgREVGSU5FX0xPQ0FMSURfRlJPTV9UT0tFTihU
b19pbyksCj4gKyAgICBERUZJTkVfTE9DQUxJRF9GUk9NX1RPS0VOKFRvX2EpLAo+ICsgICAgREVG
SU5FX0xPQ0FMSURfRlJPTV9UT0tFTihUb19zKSwKPiArICAgIERFRklORV9MT0NBTElEX0ZST01f
VE9LRU4oVG9faSksCj4gKyAgICBERUZJTkVfTE9DQUxJRF9GUk9NX1RPS0VOKFRvX2YpLAo+ICsg
ICAgREVGSU5FX0xPQ0FMSURfRlJPTV9UT0tFTihUb19yKSwKPiArICAgIERFRklORV9MT0NBTElE
X0ZST01fVE9LRU4oQnQpLAo+ICsgICAgREVGSU5FX0xPQ0FMSURfRlJPTV9UT0tFTihCdF9sb2Nh
dGlvbnMpLAo+ICsgICAgREVGSU5FX0xPQ0FMSURfRlJPTV9UT0tFTihDYWxsKSwKPiArICAgIERF
RklORV9MT0NBTElEX0ZST01fVE9LRU4oTWVzZyksCj4gKyAgICBERUZJTkVfTE9DQUxJRF9GUk9N
X1RPS0VOKEV4Y2VwdGlvbiksCj4gKyAgICBERUZJTkVfTE9DQUxJRF9GUk9NX1RPS0VOKE5PVCks
Cj4gKyAgICBERUZJTkVfTE9DQUxJRF9GUk9NX1RPS0VOKEFORCksCj4gKyAgICBERUZJTkVfTE9D
QUxJRF9GUk9NX1RPS0VOKE9SKSwKPiArICAgIERFRklORV9MT0NBTElEX0ZST01fVE9LRU4oVVNj
b3JlKSwKPiArI2RlZmluZSBERUZJTkVfSU5TVEFOQ0VJRF9GUk9NX1RPS0VOKG4pIGlkIyNuID0g
VE9LRU4ySU5TVEFOQ0VJRCh0IyNuKQo+ICsjZGVmaW5lIERFRklORV9HTE9CQUxJRF9GUk9NX1RP
S0VOKG4pIGlkIyNuID0gVE9LRU4yR0xPQkFMSUQodCMjbikKPiArICAgIERFRklORV9HTE9CQUxJ
RF9GUk9NX1RPS0VOKExBU1RMSU5FKSwKPiArICAgIERFRklORV9HTE9CQUxJRF9GUk9NX1RPS0VO
KEJBQ0tSRUYpLAo+ICsjZGVmaW5lIERFRklORV9DT05TVElEX0ZST01fVE9LRU4obikgaWQjI24g
PSBUT0tFTjJDT05TVElEKHQjI24pCj4gKyNkZWZpbmUgREVGSU5FX0NMQVNTSURfRlJPTV9UT0tF
TihuKSBpZCMjbiA9IFRPS0VOMkNMQVNTSUQodCMjbikKPiArI2RlZmluZSBERUZJTkVfQVRUUlNF
VElEX0ZST01fVE9LRU4obikgaWQjI24gPSBUT0tFTjJBVFRSU0VUSUQodCMjbikKPiArICAgIHRM
QVNUX09QX0lEID0gdFBSRVNFUlZFRF9JRF9FTkQtMSwKPiArICAgIGlkTEFTVF9PUF9JRCA9IHRM
QVNUX09QX0lEID4+IElEX1NDT1BFX1NISUZUCj4gK307Cj4gKwo+ICsjZW5kaWYgLyogUlVCWV9J
RF9IICovCj4gZGlmZiAtLWdpdCBhL2dlbmVyYXRlZC9pbnNucy5pbmMgYi9nZW5lcmF0ZWQvaW5z
bnMuaW5jCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi5hYjQ5YzhmCj4g
LS0tIC9kZXYvbnVsbAo+ICsrKyBiL2dlbmVyYXRlZC9pbnNucy5pbmMKPiBAQCAtMCwwICsxLDI0
OSBAQAo+ICsvKiAtKi0gbW9kZTpjOyBzdHlsZTpydWJ5OyBjb2Rpbmc6IHV0Zi04OyBpbmRlbnQt
dGFicy1tb2RlOiBuaWwgLSotICovCj4gKwo+ICsvKiBUaGlzIGlzICBhbiBhdXRvLWdlbmVyYXRl
ZCBmaWxlICBhbmQgaXMgYSAgcGFydCBvZiB0aGUgIHByb2dyYW1taW5nIGxhbmd1YWdlCj4gKyAq
IFJ1YnkuICBUaGUgIHBlcnNvbiB3aG8gIGNyZWF0ZWQgIGEgIHByb2dyYW0gIHRvICBnZW5lcmF0
ZSB0aGlzICBmaWxlICAoYGBJJycKPiArICogaGVyZWFmdGVyKSB3b3VsZCBsaWtlICB0byByZWZy
YWluIGZyb20gZGVmaW5pbmcgbGljZW5zaW5nICBvZiB0aGlzIGdlbmVyYXRlZAo+ICsgKiBzb3Vy
Y2UgY29kZS4KPiArICoKPiArICogVGhpcyBmaWxlIGNvbnNpc3Qgb2YgbWFueSBzbWFsbCAgcGFy
dHMgb2YgY29kZXMgY29weXJpZ2h0ZWQgYnkgZWFjaCBhdXRob3JzLAo+ICsgKiBub3QgIG9ubHkg
IHRoZSAgYGBJJycgIHBlcnNvbi4gICBUaG9zZSAgb3JpZ2luYWwgIGF1dGhvcnMgIGFncmVlICB3
aXRoICBzb21lCj4gKyAqIG9wZW4tc291cmNlIGxpY2Vuc2UuICBJICBiZWxpZXZlIHRoYXQgdGhl
IGxpY2Vuc2Ugd2UgYWdyZWUgIGlzIHRoZSBjb25kaXRpb24KPiArICogbWVudGlvbmVkIGluICB0
aGUgZmlsZSBDT1BZSU5HLiAgSXQgIHN0YXRlcyAiNC4gIFlvdSBtYXkgIG1vZGlmeSBhbmQgaW5j
bHVkZQo+ICsgKiB0aGUgcGFydCBvZiB0aGUgc29mdHdhcmUgaW50byBhbnkgIG90aGVyIHNvZnR3
YXJlIC4uLiIuICBCdXQgdGhlIHByb2JsZW0gaXMsCj4gKyAqIHRoZSBsaWNlbnNlIG5ldmVyIG1h
a2VzIGl0IGNsZWFyIGlmICBzdWNoIG1vZGlmaWVkIHBhcnRzIHN0aWxsIHJlbWFpbiBpbiB0aGUK
PiArICogc2FtZSAgbGljZW5zZSwgb3IgIG5vdC4gICBUaGUgZmFjdCAgdGhhdCAgd2UgYWdyZWUg
IHdpdGggIHRoZSBzb3VyY2UgIGNvZGUncwo+ICsgKiBsaWNlbnNpbmcgdGVybXMgZG8gbm90IGF1
dG9tYXRpY2FsbHkgZGVmaW5lIHRoYXQgb2YgZ2VuZXJhdGVkIG9uZXMuICBUaGlzIGlzCj4gKyAq
IHRoZSByZWFzb24gIHdoeSB0aGlzIGZpbGUgIGlzIHVuZGVyIHVuY2xlYXIgc2l0dWF0aW9uLiAg
IEFsbCB0aGF0IEkgIGtub3cgaXMKPiArICogdGhhdCBhYm92ZSBwcm92aXNpb24gZ3VhcmFudGVl
cyB0aGlzIGZpbGUgdG8gZXhpc3QuCj4gKyAqCj4gKyAqIFBsZWFzZSBsZXQgbWUgIGhlc2l0YXRl
IHRvIGRlY2xhcmUgc29tZXRoaW5nIGFib3V0IHRoaXMgIG51YW5jZWQgY29udHJhY3QuIEkKPiAr
ICogYW0gbm90IGluIHRoZSBwb3NpdGlvbiB0byB0YWtlICBvdmVyIG90aGVyIGF1dGhvcnMnIGxp
Y2Vuc2UgdG8gbWVyZ2UgaW50byBteQo+ICsgKiBvbmUuICBDaGFuZ2luZyB0aGVtIHRvIChzYXkp
IEdQTHYzICBpcyBub3QgZG9hYmxlIGJ5IG15c2VsZi4gUGVyaGFwcyBzb21lZGF5Cj4gKyAqIGl0
IG1pZ2h0IHR1cm4gb3V0IHRvIGJlIG9rYXkgdG8gc2F5IHRoaXMgZmlsZSBpcyB1bmRlciBhIGxp
Y2Vuc2UuIEkgd2lzaCB0aGUKPiArICogc2l0dWF0aW9uIHdvdWxkIGJlY29tZSBtb3JlIGNsZWFy
IGluIHRoZSBmdXR1cmUuICovCj4gKwo+ICsvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KPiArLyoqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCj4g
Ky8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqLwo+ICsvKioKPiArICBUaGlzIGZpbGUgY29udGFpbnMgWUFSViBpbnN0cnVj
dGlvbiBsaXN0Lgo+ICsKPiArICAtLS0tCj4gKyAgVGhpcyBmaWxlIGlzIGF1dG8gZ2VuZXJhdGVk
IGJ5IGluc25zMnZtLnJiCj4gKyAgRE8gTk9UIFRPVUNIIQo+ICsKPiArICBJZiB5b3Ugd2FudCB0
byBmaXggc29tZXRoaW5nLCB5b3UgbXVzdCBlZGl0ICJ0b29sL3J1Ynlfdm0vdmlld3MvaW5zbnMu
aW5jLmVyYiIKPiArICBvciB0b29sL2luc25zMnZtLnJiCj4gKyAqLwo+ICsKPiArLyogQklOIDog
QmFzaWMgSW5zdHJ1Y3Rpb24gTmFtZSAqLwo+ICsjZGVmaW5lIEJJTihuKSBZQVJWSU5TTl8jI24K
PiArCj4gK2VudW0gcnVieV92bWluc25fdHlwZSB7Cj4gKyAgICBCSU4obm9wKSwKPiArICAgIEJJ
TihnZXRsb2NhbCksCj4gKyAgICBCSU4oc2V0bG9jYWwpLAo+ICsgICAgQklOKGdldGJsb2NrcGFy
YW0pLAo+ICsgICAgQklOKHNldGJsb2NrcGFyYW0pLAo+ICsgICAgQklOKGdldGJsb2NrcGFyYW1w
cm94eSksCj4gKyAgICBCSU4oZ2V0c3BlY2lhbCksCj4gKyAgICBCSU4oc2V0c3BlY2lhbCksCj4g
KyAgICBCSU4oZ2V0aW5zdGFuY2V2YXJpYWJsZSksCj4gKyAgICBCSU4oc2V0aW5zdGFuY2V2YXJp
YWJsZSksCj4gKyAgICBCSU4oZ2V0Y2xhc3N2YXJpYWJsZSksCj4gKyAgICBCSU4oc2V0Y2xhc3N2
YXJpYWJsZSksCj4gKyAgICBCSU4oZ2V0Y29uc3RhbnQpLAo+ICsgICAgQklOKHNldGNvbnN0YW50
KSwKPiArICAgIEJJTihnZXRnbG9iYWwpLAo+ICsgICAgQklOKHNldGdsb2JhbCksCj4gKyAgICBC
SU4ocHV0bmlsKSwKPiArICAgIEJJTihwdXRzZWxmKSwKPiArICAgIEJJTihwdXRvYmplY3QpLAo+
ICsgICAgQklOKHB1dHNwZWNpYWxvYmplY3QpLAo+ICsgICAgQklOKHB1dGlzZXEpLAo+ICsgICAg
QklOKHB1dHN0cmluZyksCj4gKyAgICBCSU4oY29uY2F0c3RyaW5ncyksCj4gKyAgICBCSU4odG9z
dHJpbmcpLAo+ICsgICAgQklOKGZyZWV6ZXN0cmluZyksCj4gKyAgICBCSU4odG9yZWdleHApLAo+
ICsgICAgQklOKGludGVybiksCj4gKyAgICBCSU4obmV3YXJyYXkpLAo+ICsgICAgQklOKGR1cGFy
cmF5KSwKPiArICAgIEJJTihkdXBoYXNoKSwKPiArICAgIEJJTihleHBhbmRhcnJheSksCj4gKyAg
ICBCSU4oY29uY2F0YXJyYXkpLAo+ICsgICAgQklOKHNwbGF0YXJyYXkpLAo+ICsgICAgQklOKG5l
d2hhc2gpLAo+ICsgICAgQklOKG5ld3JhbmdlKSwKPiArICAgIEJJTihwb3ApLAo+ICsgICAgQklO
KGR1cCksCj4gKyAgICBCSU4oZHVwbiksCj4gKyAgICBCSU4oc3dhcCksCj4gKyAgICBCSU4ocmV2
ZXJzZSksCj4gKyAgICBCSU4ocmVwdXQpLAo+ICsgICAgQklOKHRvcG4pLAo+ICsgICAgQklOKHNl
dG4pLAo+ICsgICAgQklOKGFkanVzdHN0YWNrKSwKPiArICAgIEJJTihkZWZpbmVkKSwKPiArICAg
IEJJTihjaGVja21hdGNoKSwKPiArICAgIEJJTihjaGVja2tleXdvcmQpLAo+ICsgICAgQklOKGNo
ZWNrdHlwZSksCj4gKyAgICBCSU4oZGVmaW5lY2xhc3MpLAo+ICsgICAgQklOKHNlbmQpLAo+ICsg
ICAgQklOKG9wdF9zZW5kX3dpdGhvdXRfYmxvY2spLAo+ICsgICAgQklOKG9wdF9zdHJfZnJlZXpl
KSwKPiArICAgIEJJTihvcHRfc3RyX3VtaW51cyksCj4gKyAgICBCSU4ob3B0X25ld2FycmF5X21h
eCksCj4gKyAgICBCSU4ob3B0X25ld2FycmF5X21pbiksCj4gKyAgICBCSU4oaW52b2tlc3VwZXIp
LAo+ICsgICAgQklOKGludm9rZWJsb2NrKSwKPiArICAgIEJJTihsZWF2ZSksCj4gKyAgICBCSU4o
dGhyb3cpLAo+ICsgICAgQklOKGp1bXApLAo+ICsgICAgQklOKGJyYW5jaGlmKSwKPiArICAgIEJJ
TihicmFuY2h1bmxlc3MpLAo+ICsgICAgQklOKGJyYW5jaG5pbCksCj4gKyAgICBCSU4ob3B0X2dl
dGlubGluZWNhY2hlKSwKPiArICAgIEJJTihvcHRfc2V0aW5saW5lY2FjaGUpLAo+ICsgICAgQklO
KG9uY2UpLAo+ICsgICAgQklOKG9wdF9jYXNlX2Rpc3BhdGNoKSwKPiArICAgIEJJTihvcHRfcGx1
cyksCj4gKyAgICBCSU4ob3B0X21pbnVzKSwKPiArICAgIEJJTihvcHRfbXVsdCksCj4gKyAgICBC
SU4ob3B0X2RpdiksCj4gKyAgICBCSU4ob3B0X21vZCksCj4gKyAgICBCSU4ob3B0X2VxKSwKPiAr
ICAgIEJJTihvcHRfbmVxKSwKPiArICAgIEJJTihvcHRfbHQpLAo+ICsgICAgQklOKG9wdF9sZSks
Cj4gKyAgICBCSU4ob3B0X2d0KSwKPiArICAgIEJJTihvcHRfZ2UpLAo+ICsgICAgQklOKG9wdF9s
dGx0KSwKPiArICAgIEJJTihvcHRfYW5kKSwKPiArICAgIEJJTihvcHRfb3IpLAo+ICsgICAgQklO
KG9wdF9hcmVmKSwKPiArICAgIEJJTihvcHRfYXNldCksCj4gKyAgICBCSU4ob3B0X2FzZXRfd2l0
aCksCj4gKyAgICBCSU4ob3B0X2FyZWZfd2l0aCksCj4gKyAgICBCSU4ob3B0X2xlbmd0aCksCj4g
KyAgICBCSU4ob3B0X3NpemUpLAo+ICsgICAgQklOKG9wdF9lbXB0eV9wKSwKPiArICAgIEJJTihv
cHRfc3VjYyksCj4gKyAgICBCSU4ob3B0X25vdCksCj4gKyAgICBCSU4ob3B0X3JlZ2V4cG1hdGNo
MSksCj4gKyAgICBCSU4ob3B0X3JlZ2V4cG1hdGNoMiksCj4gKyAgICBCSU4ob3B0X2NhbGxfY19m
dW5jdGlvbiksCj4gKyAgICBCSU4oYml0Ymx0KSwKPiArICAgIEJJTihhbnN3ZXIpLAo+ICsgICAg
QklOKGdldGxvY2FsX1dDXzApLAo+ICsgICAgQklOKGdldGxvY2FsX1dDXzEpLAo+ICsgICAgQklO
KHNldGxvY2FsX1dDXzApLAo+ICsgICAgQklOKHNldGxvY2FsX1dDXzEpLAo+ICsgICAgQklOKHB1
dG9iamVjdF9JTlQyRklYXzBfKSwKPiArICAgIEJJTihwdXRvYmplY3RfSU5UMkZJWF8xXyksCj4g
KyAgICBCSU4odHJhY2Vfbm9wKSwKPiArICAgIEJJTih0cmFjZV9nZXRsb2NhbCksCj4gKyAgICBC
SU4odHJhY2Vfc2V0bG9jYWwpLAo+ICsgICAgQklOKHRyYWNlX2dldGJsb2NrcGFyYW0pLAo+ICsg
ICAgQklOKHRyYWNlX3NldGJsb2NrcGFyYW0pLAo+ICsgICAgQklOKHRyYWNlX2dldGJsb2NrcGFy
YW1wcm94eSksCj4gKyAgICBCSU4odHJhY2VfZ2V0c3BlY2lhbCksCj4gKyAgICBCSU4odHJhY2Vf
c2V0c3BlY2lhbCksCj4gKyAgICBCSU4odHJhY2VfZ2V0aW5zdGFuY2V2YXJpYWJsZSksCj4gKyAg
ICBCSU4odHJhY2Vfc2V0aW5zdGFuY2V2YXJpYWJsZSksCj4gKyAgICBCSU4odHJhY2VfZ2V0Y2xh
c3N2YXJpYWJsZSksCj4gKyAgICBCSU4odHJhY2Vfc2V0Y2xhc3N2YXJpYWJsZSksCj4gKyAgICBC
SU4odHJhY2VfZ2V0Y29uc3RhbnQpLAo+ICsgICAgQklOKHRyYWNlX3NldGNvbnN0YW50KSwKPiAr
ICAgIEJJTih0cmFjZV9nZXRnbG9iYWwpLAo+ICsgICAgQklOKHRyYWNlX3NldGdsb2JhbCksCj4g
KyAgICBCSU4odHJhY2VfcHV0bmlsKSwKPiArICAgIEJJTih0cmFjZV9wdXRzZWxmKSwKPiArICAg
IEJJTih0cmFjZV9wdXRvYmplY3QpLAo+ICsgICAgQklOKHRyYWNlX3B1dHNwZWNpYWxvYmplY3Qp
LAo+ICsgICAgQklOKHRyYWNlX3B1dGlzZXEpLAo+ICsgICAgQklOKHRyYWNlX3B1dHN0cmluZyks
Cj4gKyAgICBCSU4odHJhY2VfY29uY2F0c3RyaW5ncyksCj4gKyAgICBCSU4odHJhY2VfdG9zdHJp
bmcpLAo+ICsgICAgQklOKHRyYWNlX2ZyZWV6ZXN0cmluZyksCj4gKyAgICBCSU4odHJhY2VfdG9y
ZWdleHApLAo+ICsgICAgQklOKHRyYWNlX2ludGVybiksCj4gKyAgICBCSU4odHJhY2VfbmV3YXJy
YXkpLAo+ICsgICAgQklOKHRyYWNlX2R1cGFycmF5KSwKPiArICAgIEJJTih0cmFjZV9kdXBoYXNo
KSwKPiArICAgIEJJTih0cmFjZV9leHBhbmRhcnJheSksCj4gKyAgICBCSU4odHJhY2VfY29uY2F0
YXJyYXkpLAo+ICsgICAgQklOKHRyYWNlX3NwbGF0YXJyYXkpLAo+ICsgICAgQklOKHRyYWNlX25l
d2hhc2gpLAo+ICsgICAgQklOKHRyYWNlX25ld3JhbmdlKSwKPiArICAgIEJJTih0cmFjZV9wb3Ap
LAo+ICsgICAgQklOKHRyYWNlX2R1cCksCj4gKyAgICBCSU4odHJhY2VfZHVwbiksCj4gKyAgICBC
SU4odHJhY2Vfc3dhcCksCj4gKyAgICBCSU4odHJhY2VfcmV2ZXJzZSksCj4gKyAgICBCSU4odHJh
Y2VfcmVwdXQpLAo+ICsgICAgQklOKHRyYWNlX3RvcG4pLAo+ICsgICAgQklOKHRyYWNlX3NldG4p
LAo+ICsgICAgQklOKHRyYWNlX2FkanVzdHN0YWNrKSwKPiArICAgIEJJTih0cmFjZV9kZWZpbmVk
KSwKPiArICAgIEJJTih0cmFjZV9jaGVja21hdGNoKSwKPiArICAgIEJJTih0cmFjZV9jaGVja2tl
eXdvcmQpLAo+ICsgICAgQklOKHRyYWNlX2NoZWNrdHlwZSksCj4gKyAgICBCSU4odHJhY2VfZGVm
aW5lY2xhc3MpLAo+ICsgICAgQklOKHRyYWNlX3NlbmQpLAo+ICsgICAgQklOKHRyYWNlX29wdF9z
ZW5kX3dpdGhvdXRfYmxvY2spLAo+ICsgICAgQklOKHRyYWNlX29wdF9zdHJfZnJlZXplKSwKPiAr
ICAgIEJJTih0cmFjZV9vcHRfc3RyX3VtaW51cyksCj4gKyAgICBCSU4odHJhY2Vfb3B0X25ld2Fy
cmF5X21heCksCj4gKyAgICBCSU4odHJhY2Vfb3B0X25ld2FycmF5X21pbiksCj4gKyAgICBCSU4o
dHJhY2VfaW52b2tlc3VwZXIpLAo+ICsgICAgQklOKHRyYWNlX2ludm9rZWJsb2NrKSwKPiArICAg
IEJJTih0cmFjZV9sZWF2ZSksCj4gKyAgICBCSU4odHJhY2VfdGhyb3cpLAo+ICsgICAgQklOKHRy
YWNlX2p1bXApLAo+ICsgICAgQklOKHRyYWNlX2JyYW5jaGlmKSwKPiArICAgIEJJTih0cmFjZV9i
cmFuY2h1bmxlc3MpLAo+ICsgICAgQklOKHRyYWNlX2JyYW5jaG5pbCksCj4gKyAgICBCSU4odHJh
Y2Vfb3B0X2dldGlubGluZWNhY2hlKSwKPiArICAgIEJJTih0cmFjZV9vcHRfc2V0aW5saW5lY2Fj
aGUpLAo+ICsgICAgQklOKHRyYWNlX29uY2UpLAo+ICsgICAgQklOKHRyYWNlX29wdF9jYXNlX2Rp
c3BhdGNoKSwKPiArICAgIEJJTih0cmFjZV9vcHRfcGx1cyksCj4gKyAgICBCSU4odHJhY2Vfb3B0
X21pbnVzKSwKPiArICAgIEJJTih0cmFjZV9vcHRfbXVsdCksCj4gKyAgICBCSU4odHJhY2Vfb3B0
X2RpdiksCj4gKyAgICBCSU4odHJhY2Vfb3B0X21vZCksCj4gKyAgICBCSU4odHJhY2Vfb3B0X2Vx
KSwKPiArICAgIEJJTih0cmFjZV9vcHRfbmVxKSwKPiArICAgIEJJTih0cmFjZV9vcHRfbHQpLAo+
ICsgICAgQklOKHRyYWNlX29wdF9sZSksCj4gKyAgICBCSU4odHJhY2Vfb3B0X2d0KSwKPiArICAg
IEJJTih0cmFjZV9vcHRfZ2UpLAo+ICsgICAgQklOKHRyYWNlX29wdF9sdGx0KSwKPiArICAgIEJJ
Tih0cmFjZV9vcHRfYW5kKSwKPiArICAgIEJJTih0cmFjZV9vcHRfb3IpLAo+ICsgICAgQklOKHRy
YWNlX29wdF9hcmVmKSwKPiArICAgIEJJTih0cmFjZV9vcHRfYXNldCksCj4gKyAgICBCSU4odHJh
Y2Vfb3B0X2FzZXRfd2l0aCksCj4gKyAgICBCSU4odHJhY2Vfb3B0X2FyZWZfd2l0aCksCj4gKyAg
ICBCSU4odHJhY2Vfb3B0X2xlbmd0aCksCj4gKyAgICBCSU4odHJhY2Vfb3B0X3NpemUpLAo+ICsg
ICAgQklOKHRyYWNlX29wdF9lbXB0eV9wKSwKPiArICAgIEJJTih0cmFjZV9vcHRfc3VjYyksCj4g
KyAgICBCSU4odHJhY2Vfb3B0X25vdCksCj4gKyAgICBCSU4odHJhY2Vfb3B0X3JlZ2V4cG1hdGNo
MSksCj4gKyAgICBCSU4odHJhY2Vfb3B0X3JlZ2V4cG1hdGNoMiksCj4gKyAgICBCSU4odHJhY2Vf
b3B0X2NhbGxfY19mdW5jdGlvbiksCj4gKyAgICBCSU4odHJhY2VfYml0Ymx0KSwKPiArICAgIEJJ
Tih0cmFjZV9hbnN3ZXIpLAo+ICsgICAgQklOKHRyYWNlX2dldGxvY2FsX1dDXzApLAo+ICsgICAg
QklOKHRyYWNlX2dldGxvY2FsX1dDXzEpLAo+ICsgICAgQklOKHRyYWNlX3NldGxvY2FsX1dDXzAp
LAo+ICsgICAgQklOKHRyYWNlX3NldGxvY2FsX1dDXzEpLAo+ICsgICAgQklOKHRyYWNlX3B1dG9i
amVjdF9JTlQyRklYXzBfKSwKPiArICAgIEJJTih0cmFjZV9wdXRvYmplY3RfSU5UMkZJWF8xXyks
Cj4gKyAgICBWTV9JTlNUUlVDVElPTl9TSVpFCj4gK307Cj4gKwo+ICsjZGVmaW5lIEFTU0VSVF9W
TV9JTlNUUlVDVElPTl9TSVpFKGFycmF5KSBcCj4gKyAgICBTVEFUSUNfQVNTRVJUKG51bWJlcm9m
XyMjYXJyYXksIG51bWJlcm9mKGFycmF5KSA9PSBWTV9JTlNUUlVDVElPTl9TSVpFKQo+IGRpZmYg
LS1naXQgYS9nZW5lcmF0ZWQvaW5zbnNfaW5mby5pbmMgYi9nZW5lcmF0ZWQvaW5zbnNfaW5mby5p
bmMKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAuLmU2NGIxNzgKPiAtLS0g
L2Rldi9udWxsCj4gKysrIGIvZ2VuZXJhdGVkL2luc25zX2luZm8uaW5jCj4gQEAgLTAsMCArMSw5
Mzc0IEBACj4gKy8qIC0qLSBtb2RlOmM7IHN0eWxlOnJ1Ynk7IGNvZGluZzogdXRmLTg7IGluZGVu
dC10YWJzLW1vZGU6IG5pbCAtKi0gKi8KPiArCj4gKy8qIFRoaXMgaXMgIGFuIGF1dG8tZ2VuZXJh
dGVkIGZpbGUgIGFuZCBpcyBhICBwYXJ0IG9mIHRoZSAgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UKPiAr
ICogUnVieS4gIFRoZSAgcGVyc29uIHdobyAgY3JlYXRlZCAgYSAgcHJvZ3JhbSAgdG8gIGdlbmVy
YXRlIHRoaXMgIGZpbGUgIChgYEknJwo+ICsgKiBoZXJlYWZ0ZXIpIHdvdWxkIGxpa2UgIHRvIHJl
ZnJhaW4gZnJvbSBkZWZpbmluZyBsaWNlbnNpbmcgIG9mIHRoaXMgZ2VuZXJhdGVkCj4gKyAqIHNv
dXJjZSBjb2RlLgo+ICsgKgo+ICsgKiBUaGlzIGZpbGUgY29uc2lzdCBvZiBtYW55IHNtYWxsICBw
YXJ0cyBvZiBjb2RlcyBjb3B5cmlnaHRlZCBieSBlYWNoIGF1dGhvcnMsCj4gKyAqIG5vdCAgb25s
eSAgdGhlICBgYEknJyAgcGVyc29uLiAgIFRob3NlICBvcmlnaW5hbCAgYXV0aG9ycyAgYWdyZWUg
IHdpdGggIHNvbWUKPiArICogb3Blbi1zb3VyY2UgbGljZW5zZS4gIEkgIGJlbGlldmUgdGhhdCB0
aGUgbGljZW5zZSB3ZSBhZ3JlZSAgaXMgdGhlIGNvbmRpdGlvbgo+ICsgKiBtZW50aW9uZWQgaW4g
IHRoZSBmaWxlIENPUFlJTkcuICBJdCAgc3RhdGVzICI0LiAgWW91IG1heSAgbW9kaWZ5IGFuZCBp
bmNsdWRlCj4gKyAqIHRoZSBwYXJ0IG9mIHRoZSBzb2Z0d2FyZSBpbnRvIGFueSAgb3RoZXIgc29m
dHdhcmUgLi4uIi4gIEJ1dCB0aGUgcHJvYmxlbSBpcywKPiArICogdGhlIGxpY2Vuc2UgbmV2ZXIg
bWFrZXMgaXQgY2xlYXIgaWYgIHN1Y2ggbW9kaWZpZWQgcGFydHMgc3RpbGwgcmVtYWluIGluIHRo
ZQo+ICsgKiBzYW1lICBsaWNlbnNlLCBvciAgbm90LiAgIFRoZSBmYWN0ICB0aGF0ICB3ZSBhZ3Jl
ZSAgd2l0aCAgdGhlIHNvdXJjZSAgY29kZSdzCj4gKyAqIGxpY2Vuc2luZyB0ZXJtcyBkbyBub3Qg
YXV0b21hdGljYWxseSBkZWZpbmUgdGhhdCBvZiBnZW5lcmF0ZWQgb25lcy4gIFRoaXMgaXMKPiAr
ICogdGhlIHJlYXNvbiAgd2h5IHRoaXMgZmlsZSAgaXMgdW5kZXIgdW5jbGVhciBzaXR1YXRpb24u
ICAgQWxsIHRoYXQgSSAga25vdyBpcwo+ICsgKiB0aGF0IGFib3ZlIHByb3Zpc2lvbiBndWFyYW50
ZWVzIHRoaXMgZmlsZSB0byBleGlzdC4KPiArICoKPiArICogUGxlYXNlIGxldCBtZSAgaGVzaXRh
dGUgdG8gZGVjbGFyZSBzb21ldGhpbmcgYWJvdXQgdGhpcyAgbnVhbmNlZCBjb250cmFjdC4gSQo+
ICsgKiBhbSBub3QgaW4gdGhlIHBvc2l0aW9uIHRvIHRha2UgIG92ZXIgb3RoZXIgYXV0aG9ycycg
bGljZW5zZSB0byBtZXJnZSBpbnRvIG15Cj4gKyAqIG9uZS4gIENoYW5naW5nIHRoZW0gdG8gKHNh
eSkgR1BMdjMgIGlzIG5vdCBkb2FibGUgYnkgbXlzZWxmLiBQZXJoYXBzIHNvbWVkYXkKPiArICog
aXQgbWlnaHQgdHVybiBvdXQgdG8gYmUgb2theSB0byBzYXkgdGhpcyBmaWxlIGlzIHVuZGVyIGEg
bGljZW5zZS4gSSB3aXNoIHRoZQo+ICsgKiBzaXR1YXRpb24gd291bGQgYmVjb21lIG1vcmUgY2xl
YXIgaW4gdGhlIGZ1dHVyZS4gKi8KPiArCj4gKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwo+ICsvKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8K
PiArLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKiovCj4gKy8qKgo+ICsgIFRoaXMgZmlsZSBjb250YWlucyBpbnN0cnVjdGlv
biBpbmZvcm1hdGlvbiBmb3IgeWFydiBpbnN0cnVjdGlvbiBzZXF1ZW5jZS4uCj4gKwo+ICsgIC0t
LS0KPiArICBUaGlzIGZpbGUgaXMgYXV0byBnZW5lcmF0ZWQgYnkgaW5zbnMydm0ucmIKPiArICBE
TyBOT1QgVE9VQ0ghCj4gKwo+ICsgIElmIHlvdSB3YW50IHRvIGZpeCBzb21ldGhpbmcsIHlvdSBt
dXN0IGVkaXQgInRvb2wvcnVieV92bS92aWV3cy9pbnNuc19pbmZvLmluYy5lcmIiCj4gKyAgb3Ig
dG9vbC9pbnNuczJ2bS5yYgo+ICsgKi8KPiArCj4gK2VudW0gcnVieV9pbnNuX3R5cGVfY2hhcnMg
ewo+ICsgICAgVFNfVkFSSUFCTEUgPSAnLicsCj4gKyAgICBUU19DQUxMQ0FDSEUgPSAnRScsCj4g
KyAgICBUU19DQUxMSU5GTyA9ICdDJywKPiArICAgIFRTX0NESEFTSCA9ICdIJywKPiArICAgIFRT
X0dFTlRSWSA9ICdHJywKPiArICAgIFRTX0lDID0gJ0snLAo+ICsgICAgVFNfSUQgPSAnSScsCj4g
KyAgICBUU19JU0UgPSAnVCcsCj4gKyAgICBUU19JU0VRID0gJ1MnLAo+ICsgICAgVFNfT0ZGU0VU
ID0gJ08nLAo+ICsgICAgVFNfVkFMVUUgPSAnVicsCj4gKyAgICBUU19MSU5ERVggPSAnTCcsCj4g
KyAgICBUU19GVU5DUFRSID0gJ0YnLAo+ICsgICAgVFNfTlVNID0gJ04nCj4gK307Cj4gKwo+ICtD
T05TVEZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBjb25zdCBjaGFyICppbnNuX25hbWUoVkFMVUUg
aW5zbikpKTsKPiArZXh0ZXJuIGNvbnN0IGNoYXIgKnJiX3ZtX2luc25fbmFtZV9pbmZvOwo+ICtN
SklUX1NZTUJPTF9FWFBPUlRfQkVHSU4KPiArZXh0ZXJuIGNvbnN0IHVuc2lnbmVkIHNob3J0IHJi
X3ZtX2luc25fbmFtZV9vZmZzZXRbXTsKPiArTUpJVF9TWU1CT0xfRVhQT1JUX0VORAo+ICsKPiAr
I2lmZGVmIFJVQllfVk1fSU5TTlNfSU5GTwo+ICtjb25zdCB1bnNpZ25lZCBzaG9ydCByYl92bV9p
bnNuX25hbWVfb2Zmc2V0W10gPSB7Cj4gKyAgICAgICAwLCAgICA0LCAgIDEzLCAgIDIyLCAgIDM2
LCAgIDUwLCAgIDY5LCAgIDgwLCAgIDkxLCAgMTExLCAgMTMxLCAgMTQ4LAo+ICsgICAgIDE2NSwg
IDE3NywgIDE4OSwgIDE5OSwgIDIwOSwgIDIxNiwgIDIyNCwgIDIzNCwgIDI1MSwgIDI1OSwgIDI2
OSwgIDI4MywKPiArICAgICAyOTIsICAzMDUsICAzMTQsICAzMjEsICAzMzAsICAzMzksICAzNDcs
ICAzNTksICAzNzEsICAzODIsICAzOTAsICAzOTksCj4gKyAgICAgNDAzLCAgNDA3LCAgNDEyLCAg
NDE3LCAgNDI1LCAgNDMxLCAgNDM2LCAgNDQxLCAgNDUzLCAgNDYxLCAgNDcyLCAgNDg1LAo+ICsg
ICAgIDQ5NSwgIDUwNywgIDUxMiwgIDUzNSwgIDU1MCwgIDU2NSwgIDU4MiwgIDU5OSwgIDYxMSwg
IDYyMywgIDYyOSwgIDYzNSwKPiArICAgICA2NDAsICA2NDksICA2NjIsICA2NzIsICA2OTEsICA3
MTAsICA3MTUsICA3MzMsICA3NDIsICA3NTIsICA3NjEsICA3NjksCj4gKyAgICAgNzc3LCAgNzg0
LCAgNzkyLCAgNzk5LCAgODA2LCAgODEzLCAgODIwLCAgODI5LCAgODM3LCAgODQ0LCAgODUzLCAg
ODYyLAo+ICsgICAgIDg3NiwgIDg5MCwgIDkwMSwgIDkxMCwgIDkyMiwgIDkzMSwgIDkzOSwgIDk1
NiwgIDk3MywgIDk5MywgMTAwMCwgMTAwNywKPiArICAgIDEwMjEsIDEwMzUsIDEwNDksIDEwNjMs
IDEwODQsIDExMDUsIDExMTUsIDExMzAsIDExNDUsIDExNjUsIDExODUsIDEyMTAsCj4gKyAgICAx
MjI3LCAxMjQ0LCAxMjcwLCAxMjk2LCAxMzE5LCAxMzQyLCAxMzYwLCAxMzc4LCAxMzk0LCAxNDEw
LCAxNDIzLCAxNDM3LAo+ICsgICAgMTQ1MywgMTQ3NiwgMTQ5MCwgMTUwNiwgMTUyNiwgMTU0MSwg
MTU2MCwgMTU3NSwgMTU4OCwgMTYwMywgMTYxOCwgMTYzMiwKPiArICAgIDE2NTAsIDE2NjgsIDE2
ODUsIDE2OTksIDE3MTQsIDE3MjQsIDE3MzQsIDE3NDUsIDE3NTYsIDE3NzAsIDE3ODIsIDE3OTMs
Cj4gKyAgICAxODA0LCAxODIyLCAxODM2LCAxODUzLCAxODcyLCAxODg4LCAxOTA2LCAxOTE3LCAx
OTQ2LCAxOTY3LCAxOTg4LCAyMDExLAo+ICsgICAgMjAzNCwgMjA1MiwgMjA3MCwgMjA4MiwgMjA5
NCwgMjEwNSwgMjEyMCwgMjEzOSwgMjE1NSwgMjE4MCwgMjIwNSwgMjIxNiwKPiArICAgIDIyNDAs
IDIyNTUsIDIyNzEsIDIyODYsIDIzMDAsIDIzMTQsIDIzMjcsIDIzNDEsIDIzNTQsIDIzNjcsIDIz
ODAsIDIzOTMsCj4gKyAgICAyNDA4LCAyNDIyLCAyNDM1LCAyNDUwLCAyNDY1LCAyNDg1LCAyNTA1
LCAyNTIyLCAyNTM3LCAyNTU1LCAyNTcwLCAyNTg0LAo+ICsgICAgMjYwNywgMjYzMCwgMjY1Niwg
MjY2OSwgMjY4MiwgMjcwMiwgMjcyMiwgMjc0MiwgMjc2MiwgMjc4OSwKPiArfTsKPiArY29uc3Qg
aW50IHJiX3ZtX21heF9pbnNuX25hbWVfc2l6ZSA9IDI4Owo+ICtBU1NFUlRfVk1fSU5TVFJVQ1RJ
T05fU0laRShyYl92bV9pbnNuX25hbWVfb2Zmc2V0KTsKPiArCj4gK1BBQ0tFRF9TVFJVQ1Qoc3Ry
dWN0IHJiX3ZtX2luc25fbmFtZV9pbmZvX3RhZyB7Cj4gKyAgICBjb25zdCBjaGFyIEwwMDBbIDRd
OyBjb25zdCBjaGFyIEwwMDFbIDldOyBjb25zdCBjaGFyIEwwMDJbIDldOwo+ICsgICAgY29uc3Qg
Y2hhciBMMDAzWzE0XTsgY29uc3QgY2hhciBMMDA0WzE0XTsgY29uc3QgY2hhciBMMDA1WzE5XTsK
PiArICAgIGNvbnN0IGNoYXIgTDAwNlsxMV07IGNvbnN0IGNoYXIgTDAwN1sxMV07IGNvbnN0IGNo
YXIgTDAwOFsyMF07Cj4gKyAgICBjb25zdCBjaGFyIEwwMDlbMjBdOyBjb25zdCBjaGFyIEwwMTBb
MTddOyBjb25zdCBjaGFyIEwwMTFbMTddOwo+ICsgICAgY29uc3QgY2hhciBMMDEyWzEyXTsgY29u
c3QgY2hhciBMMDEzWzEyXTsgY29uc3QgY2hhciBMMDE0WzEwXTsKPiArICAgIGNvbnN0IGNoYXIg
TDAxNVsxMF07IGNvbnN0IGNoYXIgTDAxNlsgN107IGNvbnN0IGNoYXIgTDAxN1sgOF07Cj4gKyAg
ICBjb25zdCBjaGFyIEwwMThbMTBdOyBjb25zdCBjaGFyIEwwMTlbMTddOyBjb25zdCBjaGFyIEww
MjBbIDhdOwo+ICsgICAgY29uc3QgY2hhciBMMDIxWzEwXTsgY29uc3QgY2hhciBMMDIyWzE0XTsg
Y29uc3QgY2hhciBMMDIzWyA5XTsKPiArICAgIGNvbnN0IGNoYXIgTDAyNFsxM107IGNvbnN0IGNo
YXIgTDAyNVsgOV07IGNvbnN0IGNoYXIgTDAyNlsgN107Cj4gKyAgICBjb25zdCBjaGFyIEwwMjdb
IDldOyBjb25zdCBjaGFyIEwwMjhbIDldOyBjb25zdCBjaGFyIEwwMjlbIDhdOwo+ICsgICAgY29u
c3QgY2hhciBMMDMwWzEyXTsgY29uc3QgY2hhciBMMDMxWzEyXTsgY29uc3QgY2hhciBMMDMyWzEx
XTsKPiArICAgIGNvbnN0IGNoYXIgTDAzM1sgOF07IGNvbnN0IGNoYXIgTDAzNFsgOV07IGNvbnN0
IGNoYXIgTDAzNVsgNF07Cj4gKyAgICBjb25zdCBjaGFyIEwwMzZbIDRdOyBjb25zdCBjaGFyIEww
MzdbIDVdOyBjb25zdCBjaGFyIEwwMzhbIDVdOwo+ICsgICAgY29uc3QgY2hhciBMMDM5WyA4XTsg
Y29uc3QgY2hhciBMMDQwWyA2XTsgY29uc3QgY2hhciBMMDQxWyA1XTsKPiArICAgIGNvbnN0IGNo
YXIgTDA0MlsgNV07IGNvbnN0IGNoYXIgTDA0M1sxMl07IGNvbnN0IGNoYXIgTDA0NFsgOF07Cj4g
KyAgICBjb25zdCBjaGFyIEwwNDVbMTFdOyBjb25zdCBjaGFyIEwwNDZbMTNdOyBjb25zdCBjaGFy
IEwwNDdbMTBdOwo+ICsgICAgY29uc3QgY2hhciBMMDQ4WzEyXTsgY29uc3QgY2hhciBMMDQ5WyA1
XTsgY29uc3QgY2hhciBMMDUwWzIzXTsKPiArICAgIGNvbnN0IGNoYXIgTDA1MVsxNV07IGNvbnN0
IGNoYXIgTDA1MlsxNV07IGNvbnN0IGNoYXIgTDA1M1sxN107Cj4gKyAgICBjb25zdCBjaGFyIEww
NTRbMTddOyBjb25zdCBjaGFyIEwwNTVbMTJdOyBjb25zdCBjaGFyIEwwNTZbMTJdOwo+ICsgICAg
Y29uc3QgY2hhciBMMDU3WyA2XTsgY29uc3QgY2hhciBMMDU4WyA2XTsgY29uc3QgY2hhciBMMDU5
WyA1XTsKPiArICAgIGNvbnN0IGNoYXIgTDA2MFsgOV07IGNvbnN0IGNoYXIgTDA2MVsxM107IGNv
bnN0IGNoYXIgTDA2MlsxMF07Cj4gKyAgICBjb25zdCBjaGFyIEwwNjNbMTldOyBjb25zdCBjaGFy
IEwwNjRbMTldOyBjb25zdCBjaGFyIEwwNjVbIDVdOwo+ICsgICAgY29uc3QgY2hhciBMMDY2WzE4
XTsgY29uc3QgY2hhciBMMDY3WyA5XTsgY29uc3QgY2hhciBMMDY4WzEwXTsKPiArICAgIGNvbnN0
IGNoYXIgTDA2OVsgOV07IGNvbnN0IGNoYXIgTDA3MFsgOF07IGNvbnN0IGNoYXIgTDA3MVsgOF07
Cj4gKyAgICBjb25zdCBjaGFyIEwwNzJbIDddOyBjb25zdCBjaGFyIEwwNzNbIDhdOyBjb25zdCBj
aGFyIEwwNzRbIDddOwo+ICsgICAgY29uc3QgY2hhciBMMDc1WyA3XTsgY29uc3QgY2hhciBMMDc2
WyA3XTsgY29uc3QgY2hhciBMMDc3WyA3XTsKPiArICAgIGNvbnN0IGNoYXIgTDA3OFsgOV07IGNv
bnN0IGNoYXIgTDA3OVsgOF07IGNvbnN0IGNoYXIgTDA4MFsgN107Cj4gKyAgICBjb25zdCBjaGFy
IEwwODFbIDldOyBjb25zdCBjaGFyIEwwODJbIDldOyBjb25zdCBjaGFyIEwwODNbMTRdOwo+ICsg
ICAgY29uc3QgY2hhciBMMDg0WzE0XTsgY29uc3QgY2hhciBMMDg1WzExXTsgY29uc3QgY2hhciBM
MDg2WyA5XTsKPiArICAgIGNvbnN0IGNoYXIgTDA4N1sxMl07IGNvbnN0IGNoYXIgTDA4OFsgOV07
IGNvbnN0IGNoYXIgTDA4OVsgOF07Cj4gKyAgICBjb25zdCBjaGFyIEwwOTBbMTddOyBjb25zdCBj
aGFyIEwwOTFbMTddOyBjb25zdCBjaGFyIEwwOTJbMjBdOwo+ICsgICAgY29uc3QgY2hhciBMMDkz
WyA3XTsgY29uc3QgY2hhciBMMDk0WyA3XTsgY29uc3QgY2hhciBMMDk1WzE0XTsKPiArICAgIGNv
bnN0IGNoYXIgTDA5NlsxNF07IGNvbnN0IGNoYXIgTDA5N1sxNF07IGNvbnN0IGNoYXIgTDA5OFsx
NF07Cj4gKyAgICBjb25zdCBjaGFyIEwwOTlbMjFdOyBjb25zdCBjaGFyIEwxMDBbMjFdOyBjb25z
dCBjaGFyIEwxMDFbMTBdOwo+ICsgICAgY29uc3QgY2hhciBMMTAyWzE1XTsgY29uc3QgY2hhciBM
MTAzWzE1XTsgY29uc3QgY2hhciBMMTA0WzIwXTsKPiArICAgIGNvbnN0IGNoYXIgTDEwNVsyMF07
IGNvbnN0IGNoYXIgTDEwNlsyNV07IGNvbnN0IGNoYXIgTDEwN1sxN107Cj4gKyAgICBjb25zdCBj
aGFyIEwxMDhbMTddOyBjb25zdCBjaGFyIEwxMDlbMjZdOyBjb25zdCBjaGFyIEwxMTBbMjZdOwo+
ICsgICAgY29uc3QgY2hhciBMMTExWzIzXTsgY29uc3QgY2hhciBMMTEyWzIzXTsgY29uc3QgY2hh
ciBMMTEzWzE4XTsKPiArICAgIGNvbnN0IGNoYXIgTDExNFsxOF07IGNvbnN0IGNoYXIgTDExNVsx
Nl07IGNvbnN0IGNoYXIgTDExNlsxNl07Cj4gKyAgICBjb25zdCBjaGFyIEwxMTdbMTNdOyBjb25z
dCBjaGFyIEwxMThbMTRdOyBjb25zdCBjaGFyIEwxMTlbMTZdOwo+ICsgICAgY29uc3QgY2hhciBM
MTIwWzIzXTsgY29uc3QgY2hhciBMMTIxWzE0XTsgY29uc3QgY2hhciBMMTIyWzE2XTsKPiArICAg
IGNvbnN0IGNoYXIgTDEyM1syMF07IGNvbnN0IGNoYXIgTDEyNFsxNV07IGNvbnN0IGNoYXIgTDEy
NVsxOV07Cj4gKyAgICBjb25zdCBjaGFyIEwxMjZbMTVdOyBjb25zdCBjaGFyIEwxMjdbMTNdOyBj
b25zdCBjaGFyIEwxMjhbMTVdOwo+ICsgICAgY29uc3QgY2hhciBMMTI5WzE1XTsgY29uc3QgY2hh
ciBMMTMwWzE0XTsgY29uc3QgY2hhciBMMTMxWzE4XTsKPiArICAgIGNvbnN0IGNoYXIgTDEzMlsx
OF07IGNvbnN0IGNoYXIgTDEzM1sxN107IGNvbnN0IGNoYXIgTDEzNFsxNF07Cj4gKyAgICBjb25z
dCBjaGFyIEwxMzVbMTVdOyBjb25zdCBjaGFyIEwxMzZbMTBdOyBjb25zdCBjaGFyIEwxMzdbMTBd
Owo+ICsgICAgY29uc3QgY2hhciBMMTM4WzExXTsgY29uc3QgY2hhciBMMTM5WzExXTsgY29uc3Qg
Y2hhciBMMTQwWzE0XTsKPiArICAgIGNvbnN0IGNoYXIgTDE0MVsxMl07IGNvbnN0IGNoYXIgTDE0
MlsxMV07IGNvbnN0IGNoYXIgTDE0M1sxMV07Cj4gKyAgICBjb25zdCBjaGFyIEwxNDRbMThdOyBj
b25zdCBjaGFyIEwxNDVbMTRdOyBjb25zdCBjaGFyIEwxNDZbMTddOwo+ICsgICAgY29uc3QgY2hh
ciBMMTQ3WzE5XTsgY29uc3QgY2hhciBMMTQ4WzE2XTsgY29uc3QgY2hhciBMMTQ5WzE4XTsKPiAr
ICAgIGNvbnN0IGNoYXIgTDE1MFsxMV07IGNvbnN0IGNoYXIgTDE1MVsyOV07IGNvbnN0IGNoYXIg
TDE1MlsyMV07Cj4gKyAgICBjb25zdCBjaGFyIEwxNTNbMjFdOyBjb25zdCBjaGFyIEwxNTRbMjNd
OyBjb25zdCBjaGFyIEwxNTVbMjNdOwo+ICsgICAgY29uc3QgY2hhciBMMTU2WzE4XTsgY29uc3Qg
Y2hhciBMMTU3WzE4XTsgY29uc3QgY2hhciBMMTU4WzEyXTsKPiArICAgIGNvbnN0IGNoYXIgTDE1
OVsxMl07IGNvbnN0IGNoYXIgTDE2MFsxMV07IGNvbnN0IGNoYXIgTDE2MVsxNV07Cj4gKyAgICBj
b25zdCBjaGFyIEwxNjJbMTldOyBjb25zdCBjaGFyIEwxNjNbMTZdOyBjb25zdCBjaGFyIEwxNjRb
MjVdOwo+ICsgICAgY29uc3QgY2hhciBMMTY1WzI1XTsgY29uc3QgY2hhciBMMTY2WzExXTsgY29u
c3QgY2hhciBMMTY3WzI0XTsKPiArICAgIGNvbnN0IGNoYXIgTDE2OFsxNV07IGNvbnN0IGNoYXIg
TDE2OVsxNl07IGNvbnN0IGNoYXIgTDE3MFsxNV07Cj4gKyAgICBjb25zdCBjaGFyIEwxNzFbMTRd
OyBjb25zdCBjaGFyIEwxNzJbMTRdOyBjb25zdCBjaGFyIEwxNzNbMTNdOwo+ICsgICAgY29uc3Qg
Y2hhciBMMTc0WzE0XTsgY29uc3QgY2hhciBMMTc1WzEzXTsgY29uc3QgY2hhciBMMTc2WzEzXTsK
PiArICAgIGNvbnN0IGNoYXIgTDE3N1sxM107IGNvbnN0IGNoYXIgTDE3OFsxM107IGNvbnN0IGNo
YXIgTDE3OVsxNV07Cj4gKyAgICBjb25zdCBjaGFyIEwxODBbMTRdOyBjb25zdCBjaGFyIEwxODFb
MTNdOyBjb25zdCBjaGFyIEwxODJbMTVdOwo+ICsgICAgY29uc3QgY2hhciBMMTgzWzE1XTsgY29u
c3QgY2hhciBMMTg0WzIwXTsgY29uc3QgY2hhciBMMTg1WzIwXTsKPiArICAgIGNvbnN0IGNoYXIg
TDE4NlsxN107IGNvbnN0IGNoYXIgTDE4N1sxNV07IGNvbnN0IGNoYXIgTDE4OFsxOF07Cj4gKyAg
ICBjb25zdCBjaGFyIEwxODlbMTVdOyBjb25zdCBjaGFyIEwxOTBbMTRdOyBjb25zdCBjaGFyIEwx
OTFbMjNdOwo+ICsgICAgY29uc3QgY2hhciBMMTkyWzIzXTsgY29uc3QgY2hhciBMMTkzWzI2XTsg
Y29uc3QgY2hhciBMMTk0WzEzXTsKPiArICAgIGNvbnN0IGNoYXIgTDE5NVsxM107IGNvbnN0IGNo
YXIgTDE5NlsyMF07IGNvbnN0IGNoYXIgTDE5N1syMF07Cj4gKyAgICBjb25zdCBjaGFyIEwxOThb
MjBdOyBjb25zdCBjaGFyIEwxOTlbMjBdOyBjb25zdCBjaGFyIEwyMDBbMjddOwo+ICsgICAgY29u
c3QgY2hhciBMMjAxWzI3XTsKPiArfSk7Cj4gKwo+ICtzdGF0aWMgY29uc3Qgc3RydWN0IHJiX3Zt
X2luc25fbmFtZV9pbmZvX3RhZyByYl92bV9pbnNuX25hbWVfYmFzZSA9IHsKPiArICAgICJub3Ai
ICAgICAgICAgICAgICAgICAgICAgICAgICwgImdldGxvY2FsIiAgICAgICAgICAgICAgICAgICAg
LAo+ICsgICAgInNldGxvY2FsIiAgICAgICAgICAgICAgICAgICAgLCAiZ2V0YmxvY2twYXJhbSIg
ICAgICAgICAgICAgICAsCj4gKyAgICAic2V0YmxvY2twYXJhbSIgICAgICAgICAgICAgICAsICJn
ZXRibG9ja3BhcmFtcHJveHkiICAgICAgICAgICwKPiArICAgICJnZXRzcGVjaWFsIiAgICAgICAg
ICAgICAgICAgICwgInNldHNwZWNpYWwiICAgICAgICAgICAgICAgICAgLAo+ICsgICAgImdldGlu
c3RhbmNldmFyaWFibGUiICAgICAgICAgLCAic2V0aW5zdGFuY2V2YXJpYWJsZSIgICAgICAgICAs
Cj4gKyAgICAiZ2V0Y2xhc3N2YXJpYWJsZSIgICAgICAgICAgICAsICJzZXRjbGFzc3ZhcmlhYmxl
IiAgICAgICAgICAgICwKPiArICAgICJnZXRjb25zdGFudCIgICAgICAgICAgICAgICAgICwgInNl
dGNvbnN0YW50IiAgICAgICAgICAgICAgICAgLAo+ICsgICAgImdldGdsb2JhbCIgICAgICAgICAg
ICAgICAgICAgLCAic2V0Z2xvYmFsIiAgICAgICAgICAgICAgICAgICAsCj4gKyAgICAicHV0bmls
IiAgICAgICAgICAgICAgICAgICAgICAsICJwdXRzZWxmIiAgICAgICAgICAgICAgICAgICAgICwK
PiArICAgICJwdXRvYmplY3QiICAgICAgICAgICAgICAgICAgICwgInB1dHNwZWNpYWxvYmplY3Qi
ICAgICAgICAgICAgLAo+ICsgICAgInB1dGlzZXEiICAgICAgICAgICAgICAgICAgICAgLCAicHV0
c3RyaW5nIiAgICAgICAgICAgICAgICAgICAsCj4gKyAgICAiY29uY2F0c3RyaW5ncyIgICAgICAg
ICAgICAgICAsICJ0b3N0cmluZyIgICAgICAgICAgICAgICAgICAgICwKPiArICAgICJmcmVlemVz
dHJpbmciICAgICAgICAgICAgICAgICwgInRvcmVnZXhwIiAgICAgICAgICAgICAgICAgICAgLAo+
ICsgICAgImludGVybiIgICAgICAgICAgICAgICAgICAgICAgLCAibmV3YXJyYXkiICAgICAgICAg
ICAgICAgICAgICAsCj4gKyAgICAiZHVwYXJyYXkiICAgICAgICAgICAgICAgICAgICAsICJkdXBo
YXNoIiAgICAgICAgICAgICAgICAgICAgICwKPiArICAgICJleHBhbmRhcnJheSIgICAgICAgICAg
ICAgICAgICwgImNvbmNhdGFycmF5IiAgICAgICAgICAgICAgICAgLAo+ICsgICAgInNwbGF0YXJy
YXkiICAgICAgICAgICAgICAgICAgLCAibmV3aGFzaCIgICAgICAgICAgICAgICAgICAgICAsCj4g
KyAgICAibmV3cmFuZ2UiICAgICAgICAgICAgICAgICAgICAsICJwb3AiICAgICAgICAgICAgICAg
ICAgICAgICAgICwKPiArICAgICJkdXAiICAgICAgICAgICAgICAgICAgICAgICAgICwgImR1cG4i
ICAgICAgICAgICAgICAgICAgICAgICAgLAo+ICsgICAgInN3YXAiICAgICAgICAgICAgICAgICAg
ICAgICAgLCAicmV2ZXJzZSIgICAgICAgICAgICAgICAgICAgICAsCj4gKyAgICAicmVwdXQiICAg
ICAgICAgICAgICAgICAgICAgICAsICJ0b3BuIiAgICAgICAgICAgICAgICAgICAgICAgICwKPiAr
ICAgICJzZXRuIiAgICAgICAgICAgICAgICAgICAgICAgICwgImFkanVzdHN0YWNrIiAgICAgICAg
ICAgICAgICAgLAo+ICsgICAgImRlZmluZWQiICAgICAgICAgICAgICAgICAgICAgLCAiY2hlY2tt
YXRjaCIgICAgICAgICAgICAgICAgICAsCj4gKyAgICAiY2hlY2trZXl3b3JkIiAgICAgICAgICAg
ICAgICAsICJjaGVja3R5cGUiICAgICAgICAgICAgICAgICAgICwKPiArICAgICJkZWZpbmVjbGFz
cyIgICAgICAgICAgICAgICAgICwgInNlbmQiICAgICAgICAgICAgICAgICAgICAgICAgLAo+ICsg
ICAgIm9wdF9zZW5kX3dpdGhvdXRfYmxvY2siICAgICAgLCAib3B0X3N0cl9mcmVlemUiICAgICAg
ICAgICAgICAsCj4gKyAgICAib3B0X3N0cl91bWludXMiICAgICAgICAgICAgICAsICJvcHRfbmV3
YXJyYXlfbWF4IiAgICAgICAgICAgICwKPiArICAgICJvcHRfbmV3YXJyYXlfbWluIiAgICAgICAg
ICAgICwgImludm9rZXN1cGVyIiAgICAgICAgICAgICAgICAgLAo+ICsgICAgImludm9rZWJsb2Nr
IiAgICAgICAgICAgICAgICAgLCAibGVhdmUiICAgICAgICAgICAgICAgICAgICAgICAsCj4gKyAg
ICAidGhyb3ciICAgICAgICAgICAgICAgICAgICAgICAsICJqdW1wIiAgICAgICAgICAgICAgICAg
ICAgICAgICwKPiArICAgICJicmFuY2hpZiIgICAgICAgICAgICAgICAgICAgICwgImJyYW5jaHVu
bGVzcyIgICAgICAgICAgICAgICAgLAo+ICsgICAgImJyYW5jaG5pbCIgICAgICAgICAgICAgICAg
ICAgLCAib3B0X2dldGlubGluZWNhY2hlIiAgICAgICAgICAsCj4gKyAgICAib3B0X3NldGlubGlu
ZWNhY2hlIiAgICAgICAgICAsICJvbmNlIiAgICAgICAgICAgICAgICAgICAgICAgICwKPiArICAg
ICJvcHRfY2FzZV9kaXNwYXRjaCIgICAgICAgICAgICwgIm9wdF9wbHVzIiAgICAgICAgICAgICAg
ICAgICAgLAo+ICsgICAgIm9wdF9taW51cyIgICAgICAgICAgICAgICAgICAgLCAib3B0X211bHQi
ICAgICAgICAgICAgICAgICAgICAsCj4gKyAgICAib3B0X2RpdiIgICAgICAgICAgICAgICAgICAg
ICAsICJvcHRfbW9kIiAgICAgICAgICAgICAgICAgICAgICwKPiArICAgICJvcHRfZXEiICAgICAg
ICAgICAgICAgICAgICAgICwgIm9wdF9uZXEiICAgICAgICAgICAgICAgICAgICAgLAo+ICsgICAg
Im9wdF9sdCIgICAgICAgICAgICAgICAgICAgICAgLCAib3B0X2xlIiAgICAgICAgICAgICAgICAg
ICAgICAsCj4gKyAgICAib3B0X2d0IiAgICAgICAgICAgICAgICAgICAgICAsICJvcHRfZ2UiICAg
ICAgICAgICAgICAgICAgICAgICwKPiArICAgICJvcHRfbHRsdCIgICAgICAgICAgICAgICAgICAg
ICwgIm9wdF9hbmQiICAgICAgICAgICAgICAgICAgICAgLAo+ICsgICAgIm9wdF9vciIgICAgICAg
ICAgICAgICAgICAgICAgLCAib3B0X2FyZWYiICAgICAgICAgICAgICAgICAgICAsCj4gKyAgICAi
b3B0X2FzZXQiICAgICAgICAgICAgICAgICAgICAsICJvcHRfYXNldF93aXRoIiAgICAgICAgICAg
ICAgICwKPiArICAgICJvcHRfYXJlZl93aXRoIiAgICAgICAgICAgICAgICwgIm9wdF9sZW5ndGgi
ICAgICAgICAgICAgICAgICAgLAo+ICsgICAgIm9wdF9zaXplIiAgICAgICAgICAgICAgICAgICAg
LCAib3B0X2VtcHR5X3AiICAgICAgICAgICAgICAgICAsCj4gKyAgICAib3B0X3N1Y2MiICAgICAg
ICAgICAgICAgICAgICAsICJvcHRfbm90IiAgICAgICAgICAgICAgICAgICAgICwKPiArICAgICJv
cHRfcmVnZXhwbWF0Y2gxIiAgICAgICAgICAgICwgIm9wdF9yZWdleHBtYXRjaDIiICAgICAgICAg
ICAgLAo+ICsgICAgIm9wdF9jYWxsX2NfZnVuY3Rpb24iICAgICAgICAgLCAiYml0Ymx0IiAgICAg
ICAgICAgICAgICAgICAgICAsCj4gKyAgICAiYW5zd2VyIiAgICAgICAgICAgICAgICAgICAgICAs
ICJnZXRsb2NhbF9XQ18wIiAgICAgICAgICAgICAgICwKPiArICAgICJnZXRsb2NhbF9XQ18xIiAg
ICAgICAgICAgICAgICwgInNldGxvY2FsX1dDXzAiICAgICAgICAgICAgICAgLAo+ICsgICAgInNl
dGxvY2FsX1dDXzEiICAgICAgICAgICAgICAgLCAicHV0b2JqZWN0X0lOVDJGSVhfMF8iICAgICAg
ICAsCj4gKyAgICAicHV0b2JqZWN0X0lOVDJGSVhfMV8iICAgICAgICAsICJ0cmFjZV9ub3AiICAg
ICAgICAgICAgICAgICAgICwKPiArICAgICJ0cmFjZV9nZXRsb2NhbCIgICAgICAgICAgICAgICwg
InRyYWNlX3NldGxvY2FsIiAgICAgICAgICAgICAgLAo+ICsgICAgInRyYWNlX2dldGJsb2NrcGFy
YW0iICAgICAgICAgLCAidHJhY2Vfc2V0YmxvY2twYXJhbSIgICAgICAgICAsCj4gKyAgICAidHJh
Y2VfZ2V0YmxvY2twYXJhbXByb3h5IiAgICAsICJ0cmFjZV9nZXRzcGVjaWFsIiAgICAgICAgICAg
ICwKPiArICAgICJ0cmFjZV9zZXRzcGVjaWFsIiAgICAgICAgICAgICwgInRyYWNlX2dldGluc3Rh
bmNldmFyaWFibGUiICAgLAo+ICsgICAgInRyYWNlX3NldGluc3RhbmNldmFyaWFibGUiICAgLCAi
dHJhY2VfZ2V0Y2xhc3N2YXJpYWJsZSIgICAgICAsCj4gKyAgICAidHJhY2Vfc2V0Y2xhc3N2YXJp
YWJsZSIgICAgICAsICJ0cmFjZV9nZXRjb25zdGFudCIgICAgICAgICAgICwKPiArICAgICJ0cmFj
ZV9zZXRjb25zdGFudCIgICAgICAgICAgICwgInRyYWNlX2dldGdsb2JhbCIgICAgICAgICAgICAg
LAo+ICsgICAgInRyYWNlX3NldGdsb2JhbCIgICAgICAgICAgICAgLCAidHJhY2VfcHV0bmlsIiAg
ICAgICAgICAgICAgICAsCj4gKyAgICAidHJhY2VfcHV0c2VsZiIgICAgICAgICAgICAgICAsICJ0
cmFjZV9wdXRvYmplY3QiICAgICAgICAgICAgICwKPiArICAgICJ0cmFjZV9wdXRzcGVjaWFsb2Jq
ZWN0IiAgICAgICwgInRyYWNlX3B1dGlzZXEiICAgICAgICAgICAgICAgLAo+ICsgICAgInRyYWNl
X3B1dHN0cmluZyIgICAgICAgICAgICAgLCAidHJhY2VfY29uY2F0c3RyaW5ncyIgICAgICAgICAs
Cj4gKyAgICAidHJhY2VfdG9zdHJpbmciICAgICAgICAgICAgICAsICJ0cmFjZV9mcmVlemVzdHJp
bmciICAgICAgICAgICwKPiArICAgICJ0cmFjZV90b3JlZ2V4cCIgICAgICAgICAgICAgICwgInRy
YWNlX2ludGVybiIgICAgICAgICAgICAgICAgLAo+ICsgICAgInRyYWNlX25ld2FycmF5IiAgICAg
ICAgICAgICAgLCAidHJhY2VfZHVwYXJyYXkiICAgICAgICAgICAgICAsCj4gKyAgICAidHJhY2Vf
ZHVwaGFzaCIgICAgICAgICAgICAgICAsICJ0cmFjZV9leHBhbmRhcnJheSIgICAgICAgICAgICwK
PiArICAgICJ0cmFjZV9jb25jYXRhcnJheSIgICAgICAgICAgICwgInRyYWNlX3NwbGF0YXJyYXki
ICAgICAgICAgICAgLAo+ICsgICAgInRyYWNlX25ld2hhc2giICAgICAgICAgICAgICAgLCAidHJh
Y2VfbmV3cmFuZ2UiICAgICAgICAgICAgICAsCj4gKyAgICAidHJhY2VfcG9wIiAgICAgICAgICAg
ICAgICAgICAsICJ0cmFjZV9kdXAiICAgICAgICAgICAgICAgICAgICwKPiArICAgICJ0cmFjZV9k
dXBuIiAgICAgICAgICAgICAgICAgICwgInRyYWNlX3N3YXAiICAgICAgICAgICAgICAgICAgLAo+
ICsgICAgInRyYWNlX3JldmVyc2UiICAgICAgICAgICAgICAgLCAidHJhY2VfcmVwdXQiICAgICAg
ICAgICAgICAgICAsCj4gKyAgICAidHJhY2VfdG9wbiIgICAgICAgICAgICAgICAgICAsICJ0cmFj
ZV9zZXRuIiAgICAgICAgICAgICAgICAgICwKPiArICAgICJ0cmFjZV9hZGp1c3RzdGFjayIgICAg
ICAgICAgICwgInRyYWNlX2RlZmluZWQiICAgICAgICAgICAgICAgLAo+ICsgICAgInRyYWNlX2No
ZWNrbWF0Y2giICAgICAgICAgICAgLCAidHJhY2VfY2hlY2trZXl3b3JkIiAgICAgICAgICAsCj4g
KyAgICAidHJhY2VfY2hlY2t0eXBlIiAgICAgICAgICAgICAsICJ0cmFjZV9kZWZpbmVjbGFzcyIg
ICAgICAgICAgICwKPiArICAgICJ0cmFjZV9zZW5kIiAgICAgICAgICAgICAgICAgICwgInRyYWNl
X29wdF9zZW5kX3dpdGhvdXRfYmxvY2siLAo+ICsgICAgInRyYWNlX29wdF9zdHJfZnJlZXplIiAg
ICAgICAgLCAidHJhY2Vfb3B0X3N0cl91bWludXMiICAgICAgICAsCj4gKyAgICAidHJhY2Vfb3B0
X25ld2FycmF5X21heCIgICAgICAsICJ0cmFjZV9vcHRfbmV3YXJyYXlfbWluIiAgICAgICwKPiAr
ICAgICJ0cmFjZV9pbnZva2VzdXBlciIgICAgICAgICAgICwgInRyYWNlX2ludm9rZWJsb2NrIiAg
ICAgICAgICAgLAo+ICsgICAgInRyYWNlX2xlYXZlIiAgICAgICAgICAgICAgICAgLCAidHJhY2Vf
dGhyb3ciICAgICAgICAgICAgICAgICAsCj4gKyAgICAidHJhY2VfanVtcCIgICAgICAgICAgICAg
ICAgICAsICJ0cmFjZV9icmFuY2hpZiIgICAgICAgICAgICAgICwKPiArICAgICJ0cmFjZV9icmFu
Y2h1bmxlc3MiICAgICAgICAgICwgInRyYWNlX2JyYW5jaG5pbCIgICAgICAgICAgICAgLAo+ICsg
ICAgInRyYWNlX29wdF9nZXRpbmxpbmVjYWNoZSIgICAgLCAidHJhY2Vfb3B0X3NldGlubGluZWNh
Y2hlIiAgICAsCj4gKyAgICAidHJhY2Vfb25jZSIgICAgICAgICAgICAgICAgICAsICJ0cmFjZV9v
cHRfY2FzZV9kaXNwYXRjaCIgICAgICwKPiArICAgICJ0cmFjZV9vcHRfcGx1cyIgICAgICAgICAg
ICAgICwgInRyYWNlX29wdF9taW51cyIgICAgICAgICAgICAgLAo+ICsgICAgInRyYWNlX29wdF9t
dWx0IiAgICAgICAgICAgICAgLCAidHJhY2Vfb3B0X2RpdiIgICAgICAgICAgICAgICAsCj4gKyAg
ICAidHJhY2Vfb3B0X21vZCIgICAgICAgICAgICAgICAsICJ0cmFjZV9vcHRfZXEiICAgICAgICAg
ICAgICAgICwKPiArICAgICJ0cmFjZV9vcHRfbmVxIiAgICAgICAgICAgICAgICwgInRyYWNlX29w
dF9sdCIgICAgICAgICAgICAgICAgLAo+ICsgICAgInRyYWNlX29wdF9sZSIgICAgICAgICAgICAg
ICAgLCAidHJhY2Vfb3B0X2d0IiAgICAgICAgICAgICAgICAsCj4gKyAgICAidHJhY2Vfb3B0X2dl
IiAgICAgICAgICAgICAgICAsICJ0cmFjZV9vcHRfbHRsdCIgICAgICAgICAgICAgICwKPiArICAg
ICJ0cmFjZV9vcHRfYW5kIiAgICAgICAgICAgICAgICwgInRyYWNlX29wdF9vciIgICAgICAgICAg
ICAgICAgLAo+ICsgICAgInRyYWNlX29wdF9hcmVmIiAgICAgICAgICAgICAgLCAidHJhY2Vfb3B0
X2FzZXQiICAgICAgICAgICAgICAsCj4gKyAgICAidHJhY2Vfb3B0X2FzZXRfd2l0aCIgICAgICAg
ICAsICJ0cmFjZV9vcHRfYXJlZl93aXRoIiAgICAgICAgICwKPiArICAgICJ0cmFjZV9vcHRfbGVu
Z3RoIiAgICAgICAgICAgICwgInRyYWNlX29wdF9zaXplIiAgICAgICAgICAgICAgLAo+ICsgICAg
InRyYWNlX29wdF9lbXB0eV9wIiAgICAgICAgICAgLCAidHJhY2Vfb3B0X3N1Y2MiICAgICAgICAg
ICAgICAsCj4gKyAgICAidHJhY2Vfb3B0X25vdCIgICAgICAgICAgICAgICAsICJ0cmFjZV9vcHRf
cmVnZXhwbWF0Y2gxIiAgICAgICwKPiArICAgICJ0cmFjZV9vcHRfcmVnZXhwbWF0Y2gyIiAgICAg
ICwgInRyYWNlX29wdF9jYWxsX2NfZnVuY3Rpb24iICAgLAo+ICsgICAgInRyYWNlX2JpdGJsdCIg
ICAgICAgICAgICAgICAgLCAidHJhY2VfYW5zd2VyIiAgICAgICAgICAgICAgICAsCj4gKyAgICAi
dHJhY2VfZ2V0bG9jYWxfV0NfMCIgICAgICAgICAsICJ0cmFjZV9nZXRsb2NhbF9XQ18xIiAgICAg
ICAgICwKPiArICAgICJ0cmFjZV9zZXRsb2NhbF9XQ18wIiAgICAgICAgICwgInRyYWNlX3NldGxv
Y2FsX1dDXzEiICAgICAgICAgLAo+ICsgICAgInRyYWNlX3B1dG9iamVjdF9JTlQyRklYXzBfIiAg
LCAidHJhY2VfcHV0b2JqZWN0X0lOVDJGSVhfMV8iICAsCj4gK307Cj4gKwo+ICtjb25zdCBjaGFy
ICpyYl92bV9pbnNuX25hbWVfaW5mbyA9IChjb25zdCBjaGFyICopJnJiX3ZtX2luc25fbmFtZV9i
YXNlOwo+ICsjZW5kaWYKPiArCj4gK2NvbnN0IGNoYXIgKgo+ICtpbnNuX25hbWUoVkFMVUUgaSkK
PiArewo+ICsgICAgcmV0dXJuICZyYl92bV9pbnNuX25hbWVfaW5mb1tyYl92bV9pbnNuX25hbWVf
b2Zmc2V0W2ldXTsKPiArfQo+ICsKPiArQ09OU1RGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgaW50
IGluc25fbGVuKFZBTFVFIGluc24pKSk7Cj4gK2V4dGVybiBjb25zdCBjaGFyIHJiX3ZtX2luc25f
bGVuX2luZm9bXTsKPiArCj4gKyNpZmRlZiBSVUJZX1ZNX0lOU05TX0lORk8KPiArY29uc3QgY2hh
ciByYl92bV9pbnNuX2xlbl9pbmZvW10gPSB7Cj4gKyAgICAxLCAzLCAzLCAzLCAzLCAzLCAzLCAy
LCAzLCAzLCAyLCAyLCAyLCAyLCAyLCAyLCAxLCAxLCAyLCAyLCAyLCAyLCAyLCAxLCAyLAo+ICsg
ICAgMywgMSwgMiwgMiwgMiwgMywgMSwgMiwgMiwgMiwgMSwgMSwgMiwgMSwgMiwgMSwgMiwgMiwg
MiwgNCwgMiwgMywgMiwgNCwgNCwKPiArICAgIDMsIDQsIDQsIDIsIDIsIDQsIDIsIDEsIDIsIDIs
IDIsIDIsIDIsIDMsIDIsIDMsIDMsIDMsIDMsIDMsIDMsIDMsIDMsIDUsIDMsCj4gKyAgICAzLCAz
LCAzLCAzLCAzLCAzLCAzLCAzLCA0LCA0LCAzLCAzLCAzLCAzLCAzLCAyLCAzLCAyLCAxLCAxLCAy
LCAyLCAyLCAyLCAxLAo+ICsgICAgMSwgMSwgMywgMywgMywgMywgMywgMywgMiwgMywgMywgMiwg
MiwgMiwgMiwgMiwgMiwgMSwgMSwgMiwgMiwgMiwgMiwgMiwgMSwKPiArICAgIDIsIDMsIDEsIDIs
IDIsIDIsIDMsIDEsIDIsIDIsIDIsIDEsIDEsIDIsIDEsIDIsIDEsIDIsIDIsIDIsIDQsIDIsIDMs
IDIsIDQsCj4gKyAgICA0LCAzLCA0LCA0LCAyLCAyLCA0LCAyLCAxLCAyLCAyLCAyLCAyLCAyLCAz
LCAyLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCA1LAo+ICsgICAgMywgMywgMywgMywgMywgMywg
MywgMywgMywgNCwgNCwgMywgMywgMywgMywgMywgMiwgMywgMiwgMSwgMSwgMiwgMiwgMiwgMiwK
PiArICAgIDEsIDEsCj4gK307Cj4gKyNlbmRpZgo+ICsKPiAraW50Cj4gK2luc25fbGVuKFZBTFVF
IGkpCj4gK3sKPiArICAgIHJldHVybiByYl92bV9pbnNuX2xlbl9pbmZvW2ldOwo+ICt9Cj4gKwo+
ICtDT05TVEZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBjb25zdCBjaGFyICppbnNuX29wX3R5cGVz
KFZBTFVFIGluc24pKSk7Cj4gK0NPTlNURlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGludCBpbnNu
X29wX3R5cGUoVkFMVUUgaW5zbiwgbG9uZyBwb3MpKSk7Cj4gK2V4dGVybiBjb25zdCBjaGFyICpy
Yl92bV9pbnNuX29wX2luZm87Cj4gK2V4dGVybiBjb25zdCB1bnNpZ25lZCBzaG9ydCByYl92bV9p
bnNuX29wX29mZnNldFtdOwo+ICsKPiArI2lmZGVmIFJVQllfVk1fSU5TTlNfSU5GTwo+ICtjb25z
dCB1bnNpZ25lZCBzaG9ydCByYl92bV9pbnNuX29wX29mZnNldFtdID0gewo+ICsgICAgICAwLCAg
IDEsICAgNCwgICA3LCAgMTAsICAxMywgIDE2LCAgMTksICAyMSwgIDI0LCAgMjcsICAyOSwgIDMx
LCAgMzMsCj4gKyAgICAgMzUsICAzNywgIDM5LCAgNDAsICA0MSwgIDQzLCAgNDUsICA0NywgIDQ5
LCAgNTEsICA1MiwgIDU0LCAgNTcsICA1OCwKPiArICAgICA2MCwgIDYyLCAgNjQsICA2NywgIDY4
LCAgNzAsICA3MiwgIDc0LCAgNzUsICA3NiwgIDc4LCAgNzksICA4MSwgIDgyLAo+ICsgICAgIDg0
LCAgODYsICA4OCwgIDkyLCAgOTQsICA5NywgIDk5LCAxMDMsIDEwNywgMTEwLCAxMTQsIDExOCwg
MTIwLCAxMjIsCj4gKyAgICAxMjYsIDEyOCwgMTI5LCAxMzEsIDEzMywgMTM1LCAxMzcsIDEzOSwg
MTQyLCAxNDQsIDE0NywgMTUwLCAxNTMsIDE1NiwKPiArICAgIDE1OSwgMTYyLCAxNjUsIDE2OCwg
MTczLCAxNzYsIDE3OSwgMTgyLCAxODUsIDE4OCwgMTkxLCAxOTQsIDE5NywgMjAwLAo+ICsgICAg
MjA0LCAyMDgsIDIxMSwgMjE0LCAyMTcsIDIyMCwgMjIzLCAyMjUsIDIyOCwgMjMwLCAyMzEsIDIz
MiwgMjM0LCAyMzYsCj4gKyAgICAyMzgsIDI0MCwgMjQxLCAyNDIsIDI0MywgMjQ2LCAyNDksIDI1
MiwgMjU1LCAyNTgsIDI2MSwgMjYzLCAyNjYsIDI2OSwKPiArICAgIDI3MSwgMjczLCAyNzUsIDI3
NywgMjc5LCAyODEsIDI4MiwgMjgzLCAyODUsIDI4NywgMjg5LCAyOTEsIDI5MywgMjk0LAo+ICsg
ICAgMjk2LCAyOTksIDMwMCwgMzAyLCAzMDQsIDMwNiwgMzA5LCAzMTAsIDMxMiwgMzE0LCAzMTYs
IDMxNywgMzE4LCAzMjAsCj4gKyAgICAzMjEsIDMyMywgMzI0LCAzMjYsIDMyOCwgMzMwLCAzMzQs
IDMzNiwgMzM5LCAzNDEsIDM0NSwgMzQ5LCAzNTIsIDM1NiwKPiArICAgIDM2MCwgMzYyLCAzNjQs
IDM2OCwgMzcwLCAzNzEsIDM3MywgMzc1LCAzNzcsIDM3OSwgMzgxLCAzODQsIDM4NiwgMzg5LAo+
ICsgICAgMzkyLCAzOTUsIDM5OCwgNDAxLCA0MDQsIDQwNywgNDEwLCA0MTUsIDQxOCwgNDIxLCA0
MjQsIDQyNywgNDMwLCA0MzMsCj4gKyAgICA0MzYsIDQzOSwgNDQyLCA0NDYsIDQ1MCwgNDUzLCA0
NTYsIDQ1OSwgNDYyLCA0NjUsIDQ2NywgNDcwLCA0NzIsIDQ3MywKPiArICAgIDQ3NCwgNDc2LCA0
NzgsIDQ4MCwgNDgyLCA0ODMsCj4gK307Cj4gK0FTU0VSVF9WTV9JTlNUUlVDVElPTl9TSVpFKHJi
X3ZtX2luc25fb3Bfb2Zmc2V0KTsKPiArCj4gK1BBQ0tFRF9TVFJVQ1Qoc3RydWN0IHJiX3ZtX2lu
c25fb3BfaW5mb190YWcgewo+ICsgICAgY29uc3QgY2hhciBMMDAwWyAxXTsgY29uc3QgY2hhciBM
MDAxWyAzXTsgY29uc3QgY2hhciBMMDAyWyAzXTsKPiArICAgIGNvbnN0IGNoYXIgTDAwM1sgM107
IGNvbnN0IGNoYXIgTDAwNFsgM107IGNvbnN0IGNoYXIgTDAwNVsgM107Cj4gKyAgICBjb25zdCBj
aGFyIEwwMDZbIDNdOyBjb25zdCBjaGFyIEwwMDdbIDJdOyBjb25zdCBjaGFyIEwwMDhbIDNdOwo+
ICsgICAgY29uc3QgY2hhciBMMDA5WyAzXTsgY29uc3QgY2hhciBMMDEwWyAyXTsgY29uc3QgY2hh
ciBMMDExWyAyXTsKPiArICAgIGNvbnN0IGNoYXIgTDAxMlsgMl07IGNvbnN0IGNoYXIgTDAxM1sg
Ml07IGNvbnN0IGNoYXIgTDAxNFsgMl07Cj4gKyAgICBjb25zdCBjaGFyIEwwMTVbIDJdOyBjb25z
dCBjaGFyIEwwMTZbIDFdOyBjb25zdCBjaGFyIEwwMTdbIDFdOwo+ICsgICAgY29uc3QgY2hhciBM
MDE4WyAyXTsgY29uc3QgY2hhciBMMDE5WyAyXTsgY29uc3QgY2hhciBMMDIwWyAyXTsKPiArICAg
IGNvbnN0IGNoYXIgTDAyMVsgMl07IGNvbnN0IGNoYXIgTDAyMlsgMl07IGNvbnN0IGNoYXIgTDAy
M1sgMV07Cj4gKyAgICBjb25zdCBjaGFyIEwwMjRbIDJdOyBjb25zdCBjaGFyIEwwMjVbIDNdOyBj
b25zdCBjaGFyIEwwMjZbIDFdOwo+ICsgICAgY29uc3QgY2hhciBMMDI3WyAyXTsgY29uc3QgY2hh
ciBMMDI4WyAyXTsgY29uc3QgY2hhciBMMDI5WyAyXTsKPiArICAgIGNvbnN0IGNoYXIgTDAzMFsg
M107IGNvbnN0IGNoYXIgTDAzMVsgMV07IGNvbnN0IGNoYXIgTDAzMlsgMl07Cj4gKyAgICBjb25z
dCBjaGFyIEwwMzNbIDJdOyBjb25zdCBjaGFyIEwwMzRbIDJdOyBjb25zdCBjaGFyIEwwMzVbIDFd
Owo+ICsgICAgY29uc3QgY2hhciBMMDM2WyAxXTsgY29uc3QgY2hhciBMMDM3WyAyXTsgY29uc3Qg
Y2hhciBMMDM4WyAxXTsKPiArICAgIGNvbnN0IGNoYXIgTDAzOVsgMl07IGNvbnN0IGNoYXIgTDA0
MFsgMV07IGNvbnN0IGNoYXIgTDA0MVsgMl07Cj4gKyAgICBjb25zdCBjaGFyIEwwNDJbIDJdOyBj
b25zdCBjaGFyIEwwNDNbIDJdOyBjb25zdCBjaGFyIEwwNDRbIDRdOwo+ICsgICAgY29uc3QgY2hh
ciBMMDQ1WyAyXTsgY29uc3QgY2hhciBMMDQ2WyAzXTsgY29uc3QgY2hhciBMMDQ3WyAyXTsKPiAr
ICAgIGNvbnN0IGNoYXIgTDA0OFsgNF07IGNvbnN0IGNoYXIgTDA0OVsgNF07IGNvbnN0IGNoYXIg
TDA1MFsgM107Cj4gKyAgICBjb25zdCBjaGFyIEwwNTFbIDRdOyBjb25zdCBjaGFyIEwwNTJbIDRd
OyBjb25zdCBjaGFyIEwwNTNbIDJdOwo+ICsgICAgY29uc3QgY2hhciBMMDU0WyAyXTsgY29uc3Qg
Y2hhciBMMDU1WyA0XTsgY29uc3QgY2hhciBMMDU2WyAyXTsKPiArICAgIGNvbnN0IGNoYXIgTDA1
N1sgMV07IGNvbnN0IGNoYXIgTDA1OFsgMl07IGNvbnN0IGNoYXIgTDA1OVsgMl07Cj4gKyAgICBj
b25zdCBjaGFyIEwwNjBbIDJdOyBjb25zdCBjaGFyIEwwNjFbIDJdOyBjb25zdCBjaGFyIEwwNjJb
IDJdOwo+ICsgICAgY29uc3QgY2hhciBMMDYzWyAzXTsgY29uc3QgY2hhciBMMDY0WyAyXTsgY29u
c3QgY2hhciBMMDY1WyAzXTsKPiArICAgIGNvbnN0IGNoYXIgTDA2NlsgM107IGNvbnN0IGNoYXIg
TDA2N1sgM107IGNvbnN0IGNoYXIgTDA2OFsgM107Cj4gKyAgICBjb25zdCBjaGFyIEwwNjlbIDNd
OyBjb25zdCBjaGFyIEwwNzBbIDNdOyBjb25zdCBjaGFyIEwwNzFbIDNdOwo+ICsgICAgY29uc3Qg
Y2hhciBMMDcyWyAzXTsgY29uc3QgY2hhciBMMDczWyA1XTsgY29uc3QgY2hhciBMMDc0WyAzXTsK
PiArICAgIGNvbnN0IGNoYXIgTDA3NVsgM107IGNvbnN0IGNoYXIgTDA3NlsgM107IGNvbnN0IGNo
YXIgTDA3N1sgM107Cj4gKyAgICBjb25zdCBjaGFyIEwwNzhbIDNdOyBjb25zdCBjaGFyIEwwNzlb
IDNdOyBjb25zdCBjaGFyIEwwODBbIDNdOwo+ICsgICAgY29uc3QgY2hhciBMMDgxWyAzXTsgY29u
c3QgY2hhciBMMDgyWyAzXTsgY29uc3QgY2hhciBMMDgzWyA0XTsKPiArICAgIGNvbnN0IGNoYXIg
TDA4NFsgNF07IGNvbnN0IGNoYXIgTDA4NVsgM107IGNvbnN0IGNoYXIgTDA4NlsgM107Cj4gKyAg
ICBjb25zdCBjaGFyIEwwODdbIDNdOyBjb25zdCBjaGFyIEwwODhbIDNdOyBjb25zdCBjaGFyIEww
ODlbIDNdOwo+ICsgICAgY29uc3QgY2hhciBMMDkwWyAyXTsgY29uc3QgY2hhciBMMDkxWyAzXTsg
Y29uc3QgY2hhciBMMDkyWyAyXTsKPiArICAgIGNvbnN0IGNoYXIgTDA5M1sgMV07IGNvbnN0IGNo
YXIgTDA5NFsgMV07IGNvbnN0IGNoYXIgTDA5NVsgMl07Cj4gKyAgICBjb25zdCBjaGFyIEwwOTZb
IDJdOyBjb25zdCBjaGFyIEwwOTdbIDJdOyBjb25zdCBjaGFyIEwwOThbIDJdOwo+ICsgICAgY29u
c3QgY2hhciBMMDk5WyAxXTsgY29uc3QgY2hhciBMMTAwWyAxXTsgY29uc3QgY2hhciBMMTAxWyAx
XTsKPiArICAgIGNvbnN0IGNoYXIgTDEwMlsgM107IGNvbnN0IGNoYXIgTDEwM1sgM107IGNvbnN0
IGNoYXIgTDEwNFsgM107Cj4gKyAgICBjb25zdCBjaGFyIEwxMDVbIDNdOyBjb25zdCBjaGFyIEwx
MDZbIDNdOyBjb25zdCBjaGFyIEwxMDdbIDNdOwo+ICsgICAgY29uc3QgY2hhciBMMTA4WyAyXTsg
Y29uc3QgY2hhciBMMTA5WyAzXTsgY29uc3QgY2hhciBMMTEwWyAzXTsKPiArICAgIGNvbnN0IGNo
YXIgTDExMVsgMl07IGNvbnN0IGNoYXIgTDExMlsgMl07IGNvbnN0IGNoYXIgTDExM1sgMl07Cj4g
KyAgICBjb25zdCBjaGFyIEwxMTRbIDJdOyBjb25zdCBjaGFyIEwxMTVbIDJdOyBjb25zdCBjaGFy
IEwxMTZbIDJdOwo+ICsgICAgY29uc3QgY2hhciBMMTE3WyAxXTsgY29uc3QgY2hhciBMMTE4WyAx
XTsgY29uc3QgY2hhciBMMTE5WyAyXTsKPiArICAgIGNvbnN0IGNoYXIgTDEyMFsgMl07IGNvbnN0
IGNoYXIgTDEyMVsgMl07IGNvbnN0IGNoYXIgTDEyMlsgMl07Cj4gKyAgICBjb25zdCBjaGFyIEwx
MjNbIDJdOyBjb25zdCBjaGFyIEwxMjRbIDFdOyBjb25zdCBjaGFyIEwxMjVbIDJdOwo+ICsgICAg
Y29uc3QgY2hhciBMMTI2WyAzXTsgY29uc3QgY2hhciBMMTI3WyAxXTsgY29uc3QgY2hhciBMMTI4
WyAyXTsKPiArICAgIGNvbnN0IGNoYXIgTDEyOVsgMl07IGNvbnN0IGNoYXIgTDEzMFsgMl07IGNv
bnN0IGNoYXIgTDEzMVsgM107Cj4gKyAgICBjb25zdCBjaGFyIEwxMzJbIDFdOyBjb25zdCBjaGFy
IEwxMzNbIDJdOyBjb25zdCBjaGFyIEwxMzRbIDJdOwo+ICsgICAgY29uc3QgY2hhciBMMTM1WyAy
XTsgY29uc3QgY2hhciBMMTM2WyAxXTsgY29uc3QgY2hhciBMMTM3WyAxXTsKPiArICAgIGNvbnN0
IGNoYXIgTDEzOFsgMl07IGNvbnN0IGNoYXIgTDEzOVsgMV07IGNvbnN0IGNoYXIgTDE0MFsgMl07
Cj4gKyAgICBjb25zdCBjaGFyIEwxNDFbIDFdOyBjb25zdCBjaGFyIEwxNDJbIDJdOyBjb25zdCBj
aGFyIEwxNDNbIDJdOwo+ICsgICAgY29uc3QgY2hhciBMMTQ0WyAyXTsgY29uc3QgY2hhciBMMTQ1
WyA0XTsgY29uc3QgY2hhciBMMTQ2WyAyXTsKPiArICAgIGNvbnN0IGNoYXIgTDE0N1sgM107IGNv
bnN0IGNoYXIgTDE0OFsgMl07IGNvbnN0IGNoYXIgTDE0OVsgNF07Cj4gKyAgICBjb25zdCBjaGFy
IEwxNTBbIDRdOyBjb25zdCBjaGFyIEwxNTFbIDNdOyBjb25zdCBjaGFyIEwxNTJbIDRdOwo+ICsg
ICAgY29uc3QgY2hhciBMMTUzWyA0XTsgY29uc3QgY2hhciBMMTU0WyAyXTsgY29uc3QgY2hhciBM
MTU1WyAyXTsKPiArICAgIGNvbnN0IGNoYXIgTDE1NlsgNF07IGNvbnN0IGNoYXIgTDE1N1sgMl07
IGNvbnN0IGNoYXIgTDE1OFsgMV07Cj4gKyAgICBjb25zdCBjaGFyIEwxNTlbIDJdOyBjb25zdCBj
aGFyIEwxNjBbIDJdOyBjb25zdCBjaGFyIEwxNjFbIDJdOwo+ICsgICAgY29uc3QgY2hhciBMMTYy
WyAyXTsgY29uc3QgY2hhciBMMTYzWyAyXTsgY29uc3QgY2hhciBMMTY0WyAzXTsKPiArICAgIGNv
bnN0IGNoYXIgTDE2NVsgMl07IGNvbnN0IGNoYXIgTDE2NlsgM107IGNvbnN0IGNoYXIgTDE2N1sg
M107Cj4gKyAgICBjb25zdCBjaGFyIEwxNjhbIDNdOyBjb25zdCBjaGFyIEwxNjlbIDNdOyBjb25z
dCBjaGFyIEwxNzBbIDNdOwo+ICsgICAgY29uc3QgY2hhciBMMTcxWyAzXTsgY29uc3QgY2hhciBM
MTcyWyAzXTsgY29uc3QgY2hhciBMMTczWyAzXTsKPiArICAgIGNvbnN0IGNoYXIgTDE3NFsgNV07
IGNvbnN0IGNoYXIgTDE3NVsgM107IGNvbnN0IGNoYXIgTDE3NlsgM107Cj4gKyAgICBjb25zdCBj
aGFyIEwxNzdbIDNdOyBjb25zdCBjaGFyIEwxNzhbIDNdOyBjb25zdCBjaGFyIEwxNzlbIDNdOwo+
ICsgICAgY29uc3QgY2hhciBMMTgwWyAzXTsgY29uc3QgY2hhciBMMTgxWyAzXTsgY29uc3QgY2hh
ciBMMTgyWyAzXTsKPiArICAgIGNvbnN0IGNoYXIgTDE4M1sgM107IGNvbnN0IGNoYXIgTDE4NFsg
NF07IGNvbnN0IGNoYXIgTDE4NVsgNF07Cj4gKyAgICBjb25zdCBjaGFyIEwxODZbIDNdOyBjb25z
dCBjaGFyIEwxODdbIDNdOyBjb25zdCBjaGFyIEwxODhbIDNdOwo+ICsgICAgY29uc3QgY2hhciBM
MTg5WyAzXTsgY29uc3QgY2hhciBMMTkwWyAzXTsgY29uc3QgY2hhciBMMTkxWyAyXTsKPiArICAg
IGNvbnN0IGNoYXIgTDE5MlsgM107IGNvbnN0IGNoYXIgTDE5M1sgMl07IGNvbnN0IGNoYXIgTDE5
NFsgMV07Cj4gKyAgICBjb25zdCBjaGFyIEwxOTVbIDFdOyBjb25zdCBjaGFyIEwxOTZbIDJdOyBj
b25zdCBjaGFyIEwxOTdbIDJdOwo+ICsgICAgY29uc3QgY2hhciBMMTk4WyAyXTsgY29uc3QgY2hh
ciBMMTk5WyAyXTsgY29uc3QgY2hhciBMMjAwWyAxXTsKPiArICAgIGNvbnN0IGNoYXIgTDIwMVsg
MV07Cj4gK30pOwo+ICsKPiArc3RhdGljIGNvbnN0IHN0cnVjdCByYl92bV9pbnNuX29wX2luZm9f
dGFnIHJiX3ZtX2luc25fb3BfYmFzZSA9IHsKPiArICAgICIiICAgICwgIkxOIiAgLCAiTE4iICAs
ICJMTiIgICwgIkxOIiAgLCAiTE4iICAsICJOTiIgICwgIk4iICAgLAo+ICsgICAgIklLIiAgLCAi
SUsiICAsICJJIiAgICwgIkkiICAgLCAiSSIgICAsICJJIiAgICwgIkciICAgLCAiRyIgICAsCj4g
KyAgICAiIiAgICAsICIiICAgICwgIlYiICAgLCAiTiIgICAsICJTIiAgICwgIlYiICAgLCAiTiIg
ICAsICIiICAgICwKPiArICAgICJWIiAgICwgIk5OIiAgLCAiIiAgICAsICJOIiAgICwgIlYiICAg
LCAiViIgICAsICJOTiIgICwgIiIgICAgLAo+ICsgICAgIlYiICAgLCAiTiIgICAsICJOIiAgICwg
IiIgICAgLCAiIiAgICAsICJOIiAgICwgIiIgICAgLCAiTiIgICAsCj4gKyAgICAiIiAgICAsICJO
IiAgICwgIk4iICAgLCAiTiIgICAsICJOVlYiICwgIk4iICAgLCAiTEwiICAsICJOIiAgICwKPiAr
ICAgICJJU04iICwgIkNFUyIgLCAiQ0UiICAsICJWQ0UiICwgIlZDRSIgLCAiTiIgICAsICJOIiAg
ICwgIkNFUyIgLAo+ICsgICAgIkMiICAgLCAiIiAgICAsICJOIiAgICwgIk8iICAgLCAiTyIgICAs
ICJPIiAgICwgIk8iICAgLCAiT0siICAsCj4gKyAgICAiSyIgICAsICJTVCIgICwgIkhPIiAgLCAi
Q0UiICAsICJDRSIgICwgIkNFIiAgLCAiQ0UiICAsICJDRSIgICwKPiArICAgICJDRSIgICwgIkNF
Q0UiLCAiQ0UiICAsICJDRSIgICwgIkNFIiAgLCAiQ0UiICAsICJDRSIgICwgIkNFIiAgLAo+ICsg
ICAgIkNFIiAgLCAiQ0UiICAsICJDRSIgICwgIlZDRSIgLCAiVkNFIiAsICJDRSIgICwgIkNFIiAg
LCAiQ0UiICAsCj4gKyAgICAiQ0UiICAsICJDRSIgICwgIlYiICAgLCAiQ0UiICAsICJGIiAgICwg
IiIgICAgLCAiIiAgICAsICJMIiAgICwKPiArICAgICJMIiAgICwgIkwiICAgLCAiTCIgICAsICIi
ICAgICwgIiIgICAgLCAiIiAgICAsICJMTiIgICwgIkxOIiAgLAo+ICsgICAgIkxOIiAgLCAiTE4i
ICAsICJMTiIgICwgIk5OIiAgLCAiTiIgICAsICJJSyIgICwgIklLIiAgLCAiSSIgICAsCj4gKyAg
ICAiSSIgICAsICJJIiAgICwgIkkiICAgLCAiRyIgICAsICJHIiAgICwgIiIgICAgLCAiIiAgICAs
ICJWIiAgICwKPiArICAgICJOIiAgICwgIlMiICAgLCAiViIgICAsICJOIiAgICwgIiIgICAgLCAi
ViIgICAsICJOTiIgICwgIiIgICAgLAo+ICsgICAgIk4iICAgLCAiViIgICAsICJWIiAgICwgIk5O
IiAgLCAiIiAgICAsICJWIiAgICwgIk4iICAgLCAiTiIgICAsCj4gKyAgICAiIiAgICAsICIiICAg
ICwgIk4iICAgLCAiIiAgICAsICJOIiAgICwgIiIgICAgLCAiTiIgICAsICJOIiAgICwKPiArICAg
ICJOIiAgICwgIk5WViIgLCAiTiIgICAsICJMTCIgICwgIk4iICAgLCAiSVNOIiAsICJDRVMiICwg
IkNFIiAgLAo+ICsgICAgIlZDRSIgLCAiVkNFIiAsICJOIiAgICwgIk4iICAgLCAiQ0VTIiAsICJD
IiAgICwgIiIgICAgLCAiTiIgICAsCj4gKyAgICAiTyIgICAsICJPIiAgICwgIk8iICAgLCAiTyIg
ICAsICJPSyIgICwgIksiICAgLCAiU1QiICAsICJITyIgICwKPiArICAgICJDRSIgICwgIkNFIiAg
LCAiQ0UiICAsICJDRSIgICwgIkNFIiAgLCAiQ0UiICAsICJDRUNFIiwgIkNFIiAgLAo+ICsgICAg
IkNFIiAgLCAiQ0UiICAsICJDRSIgICwgIkNFIiAgLCAiQ0UiICAsICJDRSIgICwgIkNFIiAgLCAi
Q0UiICAsCj4gKyAgICAiVkNFIiAsICJWQ0UiICwgIkNFIiAgLCAiQ0UiICAsICJDRSIgICwgIkNF
IiAgLCAiQ0UiICAsICJWIiAgICwKPiArICAgICJDRSIgICwgIkYiICAgLCAiIiAgICAsICIiICAg
ICwgIkwiICAgLCAiTCIgICAsICJMIiAgICwgIkwiICAgLAo+ICsgICAgIiIgICAgLCAiIiAgICAs
Cj4gK307Cj4gKwo+ICtjb25zdCBjaGFyICpyYl92bV9pbnNuX29wX2luZm8gPSAoY29uc3QgY2hh
ciAqKSZyYl92bV9pbnNuX29wX2Jhc2U7Cj4gKyNlbmRpZgo+ICsKPiArY29uc3QgY2hhciAqCj4g
K2luc25fb3BfdHlwZXMoVkFMVUUgaSkKPiArewo+ICsgICAgcmV0dXJuICZyYl92bV9pbnNuX29w
X2luZm9bcmJfdm1faW5zbl9vcF9vZmZzZXRbaV1dOwo+ICt9Cj4gKwo+ICtpbnQKPiAraW5zbl9v
cF90eXBlKFZBTFVFIGksIGxvbmcgaikKPiArewo+ICsgICAgaWYgKGogPj0gaW5zbl9sZW4oaSkp
IHsKPiArICAgICAgICByZXR1cm4gMDsKPiArICAgIH0KPiArICAgIGVsc2Ugewo+ICsgICAgICAg
IHJldHVybiBpbnNuX29wX3R5cGVzKGkpW2pdOwo+ICsgICAgfQo+ICt9Cj4gKwo+ICsKPiArc3Rh
dGljIGJvb2wKPiArbGVhZm5lc3Nfb2ZfZ2V0Z2xvYmFsKFZBTFVFIGdlbnRyeSkKPiArewo+ICsg
ICAgY29uc3Qgc3RydWN0IHJiX2dsb2JhbF9lbnRyeSAqZSA9ICh2b2lkICopZ2VudHJ5Owo+ICsK
PiArICAgIGlmIChVTkxJS0VMWShyYl9ndmFyX2lzX3RyYWNlZChlKSkpIHsKPiArICAgICAgICBy
ZXR1cm4gZmFsc2U7Cj4gKyAgICB9Cj4gKyAgICBlbHNlIHsKPiArICAgICAgICAvKiBXZSBjYW5u
b3Qgd3JpdGUgdGhpcyBmdW5jdGlvbiB1c2luZyBhIHN3aXRjaCgpIGJlY2F1c2UgYQo+ICsgICAg
ICAgICAqIGNhc2UgbGFiZWwgY2Fubm90IGJlIGEgZnVuY3Rpb24gcG9pbnRlci4gKi8KPiArICAg
ICAgICBzdGF0aWMgcmJfZ3Zhcl9nZXR0ZXJfdCAqY29uc3QgYWxsb3dsaXN0W10gPSB7Cj4gKyAg
ICAgICAgICAgIHJiX2d2YXJfdmFsX2dldHRlciwKPiArICAgICAgICAgICAgcmJfZ3Zhcl92YXJf
Z2V0dGVyLAo+ICsgICAgICAgICAgICByYl9ndmFyX3VuZGVmX2dldHRlciwKPiArICAgICAgICB9
Owo+ICsgICAgICAgIHJiX2d2YXJfZ2V0dGVyX3QgKmYgPSByYl9ndmFyX2dldHRlcl9mdW5jdGlv
bl9vZihlKTsKPiArICAgICAgICBpbnQgaTsKPiArCj4gKyAgICAgICAgZm9yIChpID0gMDsgaSA8
IG51bWJlcm9mKGFsbG93bGlzdCk7IGkrKykgewo+ICsgICAgICAgICAgICBpZiAoZiA9PSBhbGxv
d2xpc3RbaV0pIHsKPiArICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwo+ICsgICAgICAgICAg
ICB9Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIHJldHVybiBmYWxzZTsKPiArICAgIH0KPiArfQo+
ICsKPiArc3RhdGljIGJvb2wKPiArbGVhZm5lc3Nfb2Zfc2V0Z2xvYmFsKFZBTFVFIGdlbnRyeSkK
PiArewo+ICsgICAgY29uc3Qgc3RydWN0IHJiX2dsb2JhbF9lbnRyeSAqZSA9ICh2b2lkICopZ2Vu
dHJ5Owo+ICsKPiArICAgIGlmIChVTkxJS0VMWShyYl9ndmFyX2lzX3RyYWNlZChlKSkpIHsKPiAr
ICAgICAgICByZXR1cm4gZmFsc2U7Cj4gKyAgICB9Cj4gKyAgICBlbHNlIHsKPiArICAgICAgICAv
KiBXZSBjYW5ub3Qgd3JpdGUgdGhpcyBmdW5jdGlvbiB1c2luZyBhIHN3aXRjaCgpIGJlY2F1c2Ug
YQo+ICsgICAgICAgICAqIGNhc2UgbGFiZWwgY2Fubm90IGJlIGEgZnVuY3Rpb24gcG9pbnRlci4g
Ki8KPiArICAgICAgICBzdGF0aWMgcmJfZ3Zhcl9zZXR0ZXJfdCAqY29uc3QgYWxsb3dsaXN0W10g
PSB7Cj4gKyAgICAgICAgICAgIHJiX2d2YXJfdmFsX3NldHRlciwKPiArICAgICAgICAgICAgcmJf
Z3Zhcl9yZWFkb25seV9zZXR0ZXIsCj4gKyAgICAgICAgICAgIHJiX2d2YXJfdmFyX3NldHRlciwK
PiArICAgICAgICAgICAgcmJfZ3Zhcl91bmRlZl9zZXR0ZXIsCj4gKyAgICAgICAgfTsKPiArICAg
ICAgICByYl9ndmFyX3NldHRlcl90ICpmID0gcmJfZ3Zhcl9zZXR0ZXJfZnVuY3Rpb25fb2YoZSk7
Cj4gKyAgICAgICAgaW50IGk7Cj4gKwo+ICsgICAgICAgIGZvciAoaSA9IDA7IGkgPCBudW1iZXJv
ZihhbGxvd2xpc3QpOyBpKyspIHsKPiArICAgICAgICAgICAgaWYgKGYgPT0gYWxsb3dsaXN0W2ld
KSB7Cj4gKyAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKPiArICAgICAgICAgICAgfQo+ICsg
ICAgICAgIH0KPiArICAgICAgICByZXR1cm4gZmFsc2U7Cj4gKyAgICB9Cj4gK30KPiArCj4gKyNp
bmNsdWRlICJpc2VxLmgiCj4gKwo+ICtzdGF0aWMgYm9vbAo+ICtsZWFmbmVzc19vZl9kZWZpbmVk
KHJiX251bV90IG9wX3R5cGUpCj4gK3sKPiArICAgIC8qIHNlZSBhbHNvOiB2bV9pbnNuaGVscGVy
LmM6dm1fZGVmaW5lZCgpICovCj4gKyAgICBzd2l0Y2ggKG9wX3R5cGUpIHsKPiArICAgICAgY2Fz
ZSBERUZJTkVEX0lWQVI6Cj4gKyAgICAgIGNhc2UgREVGSU5FRF9JVkFSMjoKPiArICAgICAgY2Fz
ZSBERUZJTkVEX0dWQVI6Cj4gKyAgICAgIGNhc2UgREVGSU5FRF9DVkFSOgo+ICsgICAgICBjYXNl
IERFRklORURfWUlFTEQ6Cj4gKyAgICAgIGNhc2UgREVGSU5FRF9SRUY6Cj4gKyAgICAgIGNhc2Ug
REVGSU5FRF9aU1VQRVI6Cj4gKyAgICAgICAgcmV0dXJuIGZhbHNlOwo+ICsgICAgICBjYXNlIERF
RklORURfQ09OU1Q6Cj4gKyAgICAgICAgLyogaGFzIHJiX2F1dG9sb2FkX2xvYWQoKTsgKi8KPiAr
ICAgICAgICByZXR1cm4gZmFsc2U7Cj4gKyAgICAgIGNhc2UgREVGSU5FRF9GVU5DOgo+ICsgICAg
ICBjYXNlIERFRklORURfTUVUSE9EOgo+ICsgICAgICAgIC8qIGNhbGxzICNyZXNwb25kX3RvX21p
c3Npbmc/ICovCj4gKyAgICAgICAgcmV0dXJuIGZhbHNlOwo+ICsgICAgICBkZWZhdWx0Ogo+ICsg
ICAgICAgIHJiX2J1ZygidW5rbm93biBvcGVyYW5kICVsZDogYmxhbWUgQHNoeW91aGVpLiIsIG9w
X3R5cGUpOwo+ICsgICAgfQo+ICt9Cj4gKwo+ICtzdGF0aWMgYm9vbAo+ICtsZWFmbmVzc19vZl9j
aGVja21hdGNoKHJiX251bV90IGZsYWcpCj4gK3sKPiArICAgIC8qIHNlZSBhbHNvOiB2bV9pbnNu
aGVscGVyLmM6Y2hlY2tfbWF0Y2goKSAqLwo+ICsgICAgaWYgKGZsYWcgPT0gVk1fQ0hFQ0tNQVRD
SF9UWVBFX1dIRU4pIHsKPiArICAgICAgICByZXR1cm4gdHJ1ZTsKPiArICAgIH0KPiArICAgIGVs
c2Ugewo+ICsgICAgICAgIC8qIGhhcyByYl9mdW5jYWxsdigpICovCj4gKyAgICAgICAgcmV0dXJu
IGZhbHNlOwo+ICsgICAgfQo+ICt9Cj4gKwo+ICsjaWZuZGVmIFJVQllfVk1fRVhFQ19ICj4gKy8q
IGNhbid0ICNpbmNsdWRlICJ2bV9leGVjLmgiIGhlcmUuLi4gKi8KPiArdHlwZWRlZiBsb25nIE9G
RlNFVDsKPiArdHlwZWRlZiB1bnNpZ25lZCBsb25nIGxpbmRleF90Owo+ICt0eXBlZGVmIFZBTFVF
IEdFTlRSWTsKPiArdHlwZWRlZiByYl9pc2VxX3QgKklTRVE7Cj4gKyNlbmRpZgo+ICsKPiArUFVS
RUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYXR0cl9iaW5f
bm9wKHZvaWQpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2hh
bmRsZXNfc3Bfbm9wKHZvaWQpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9v
bCBhdHRyX2xlYWZfbm9wKHZvaWQpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMg
Y29uc3QgY2hhciogYXR0cl9uYW1lX25vcCh2b2lkKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVT
RUQoc3RhdGljIHJiX251bV90IGF0dHJfb3Blbl9ub3Aodm9pZCkpKTsKPiArUFVSRUZVTkMoTUFZ
QkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3BvcG5fbm9wKHZvaWQpKSk7Cj4gK1BVUkVG
VU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9yZXRuX25vcCh2b2lkKSkpOwo+
ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX3NudW1fdCBhdHRyX3NwX2luY19ub3Ao
dm9pZCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3dp
ZHRoX25vcCh2b2lkKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGVudW0gcnVi
eV92bWluc25fdHlwZSBhdHRyX2Jpbl9nZXRsb2NhbChsaW5kZXhfdCBpZHgsIHJiX251bV90IGxl
dmVsKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9oYW5kbGVz
X3NwX2dldGxvY2FsKGxpbmRleF90IGlkeCwgcmJfbnVtX3QgbGV2ZWwpKSk7Cj4gK1BVUkVGVU5D
KE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2xlYWZfZ2V0bG9jYWwobGluZGV4X3QgaWR4
LCByYl9udW1fdCBsZXZlbCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBjb25z
dCBjaGFyKiBhdHRyX25hbWVfZ2V0bG9jYWwobGluZGV4X3QgaWR4LCByYl9udW1fdCBsZXZlbCkp
KTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX29wZW5fZ2V0
bG9jYWwobGluZGV4X3QgaWR4LCByYl9udW1fdCBsZXZlbCkpKTsKPiArUFVSRUZVTkMoTUFZQkVf
VU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3BvcG5fZ2V0bG9jYWwobGluZGV4X3QgaWR4LCBy
Yl9udW1fdCBsZXZlbCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1f
dCBhdHRyX3JldG5fZ2V0bG9jYWwobGluZGV4X3QgaWR4LCByYl9udW1fdCBsZXZlbCkpKTsKPiAr
UFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9zbnVtX3QgYXR0cl9zcF9pbmNfZ2V0bG9j
YWwobGluZGV4X3QgaWR4LCByYl9udW1fdCBsZXZlbCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5V
U0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3dpZHRoX2dldGxvY2FsKGxpbmRleF90IGlkeCwgcmJf
bnVtX3QgbGV2ZWwpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgZW51bSBydWJ5
X3ZtaW5zbl90eXBlIGF0dHJfYmluX3NldGxvY2FsKGxpbmRleF90IGlkeCwgcmJfbnVtX3QgbGV2
ZWwpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2hhbmRsZXNf
c3Bfc2V0bG9jYWwobGluZGV4X3QgaWR4LCByYl9udW1fdCBsZXZlbCkpKTsKPiArUFVSRUZVTkMo
TUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfbGVhZl9zZXRsb2NhbChsaW5kZXhfdCBpZHgs
IHJiX251bV90IGxldmVsKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGNvbnN0
IGNoYXIqIGF0dHJfbmFtZV9zZXRsb2NhbChsaW5kZXhfdCBpZHgsIHJiX251bV90IGxldmVsKSkp
Owo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfb3Blbl9zZXRs
b2NhbChsaW5kZXhfdCBpZHgsIHJiX251bV90IGxldmVsKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9V
TlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcG9wbl9zZXRsb2NhbChsaW5kZXhfdCBpZHgsIHJi
X251bV90IGxldmVsKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90
IGF0dHJfcmV0bl9zZXRsb2NhbChsaW5kZXhfdCBpZHgsIHJiX251bV90IGxldmVsKSkpOwo+ICtQ
VVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX3NudW1fdCBhdHRyX3NwX2luY19zZXRsb2Nh
bChsaW5kZXhfdCBpZHgsIHJiX251bV90IGxldmVsKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVT
RUQoc3RhdGljIHJiX251bV90IGF0dHJfd2lkdGhfc2V0bG9jYWwobGluZGV4X3QgaWR4LCByYl9u
dW1fdCBsZXZlbCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBlbnVtIHJ1Ynlf
dm1pbnNuX3R5cGUgYXR0cl9iaW5fZ2V0YmxvY2twYXJhbShsaW5kZXhfdCBpZHgsIHJiX251bV90
IGxldmVsKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9oYW5k
bGVzX3NwX2dldGJsb2NrcGFyYW0obGluZGV4X3QgaWR4LCByYl9udW1fdCBsZXZlbCkpKTsKPiAr
UFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfbGVhZl9nZXRibG9ja3BhcmFt
KGxpbmRleF90IGlkeCwgcmJfbnVtX3QgbGV2ZWwpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNF
RChzdGF0aWMgY29uc3QgY2hhciogYXR0cl9uYW1lX2dldGJsb2NrcGFyYW0obGluZGV4X3QgaWR4
LCByYl9udW1fdCBsZXZlbCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9u
dW1fdCBhdHRyX29wZW5fZ2V0YmxvY2twYXJhbShsaW5kZXhfdCBpZHgsIHJiX251bV90IGxldmVs
KSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcG9wbl9n
ZXRibG9ja3BhcmFtKGxpbmRleF90IGlkeCwgcmJfbnVtX3QgbGV2ZWwpKSk7Cj4gK1BVUkVGVU5D
KE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9yZXRuX2dldGJsb2NrcGFyYW0obGlu
ZGV4X3QgaWR4LCByYl9udW1fdCBsZXZlbCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0
YXRpYyByYl9zbnVtX3QgYXR0cl9zcF9pbmNfZ2V0YmxvY2twYXJhbShsaW5kZXhfdCBpZHgsIHJi
X251bV90IGxldmVsKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90
IGF0dHJfd2lkdGhfZ2V0YmxvY2twYXJhbShsaW5kZXhfdCBpZHgsIHJiX251bV90IGxldmVsKSkp
Owo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGVudW0gcnVieV92bWluc25fdHlwZSBh
dHRyX2Jpbl9zZXRibG9ja3BhcmFtKGxpbmRleF90IGlkeCwgcmJfbnVtX3QgbGV2ZWwpKSk7Cj4g
K1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2hhbmRsZXNfc3Bfc2V0Ymxv
Y2twYXJhbShsaW5kZXhfdCBpZHgsIHJiX251bV90IGxldmVsKSkpOwo+ICtQVVJFRlVOQyhNQVlC
RV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9sZWFmX3NldGJsb2NrcGFyYW0obGluZGV4X3QgaWR4
LCByYl9udW1fdCBsZXZlbCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBjb25z
dCBjaGFyKiBhdHRyX25hbWVfc2V0YmxvY2twYXJhbShsaW5kZXhfdCBpZHgsIHJiX251bV90IGxl
dmVsKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfb3Bl
bl9zZXRibG9ja3BhcmFtKGxpbmRleF90IGlkeCwgcmJfbnVtX3QgbGV2ZWwpKSk7Cj4gK1BVUkVG
VU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9wb3BuX3NldGJsb2NrcGFyYW0o
bGluZGV4X3QgaWR4LCByYl9udW1fdCBsZXZlbCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VE
KHN0YXRpYyByYl9udW1fdCBhdHRyX3JldG5fc2V0YmxvY2twYXJhbShsaW5kZXhfdCBpZHgsIHJi
X251bV90IGxldmVsKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX3NudW1f
dCBhdHRyX3NwX2luY19zZXRibG9ja3BhcmFtKGxpbmRleF90IGlkeCwgcmJfbnVtX3QgbGV2ZWwp
KSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl93aWR0aF9z
ZXRibG9ja3BhcmFtKGxpbmRleF90IGlkeCwgcmJfbnVtX3QgbGV2ZWwpKSk7Cj4gK1BVUkVGVU5D
KE1BWUJFX1VOVVNFRChzdGF0aWMgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGF0dHJfYmluX2dldGJs
b2NrcGFyYW1wcm94eShsaW5kZXhfdCBpZHgsIHJiX251bV90IGxldmVsKSkpOwo+ICtQVVJFRlVO
QyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9oYW5kbGVzX3NwX2dldGJsb2NrcGFyYW1w
cm94eShsaW5kZXhfdCBpZHgsIHJiX251bV90IGxldmVsKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9V
TlVTRUQoc3RhdGljIGJvb2wgYXR0cl9sZWFmX2dldGJsb2NrcGFyYW1wcm94eShsaW5kZXhfdCBp
ZHgsIHJiX251bV90IGxldmVsKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGNv
bnN0IGNoYXIqIGF0dHJfbmFtZV9nZXRibG9ja3BhcmFtcHJveHkobGluZGV4X3QgaWR4LCByYl9u
dW1fdCBsZXZlbCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBh
dHRyX29wZW5fZ2V0YmxvY2twYXJhbXByb3h5KGxpbmRleF90IGlkeCwgcmJfbnVtX3QgbGV2ZWwp
KSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9wb3BuX2dl
dGJsb2NrcGFyYW1wcm94eShsaW5kZXhfdCBpZHgsIHJiX251bV90IGxldmVsKSkpOwo+ICtQVVJF
RlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcmV0bl9nZXRibG9ja3BhcmFt
cHJveHkobGluZGV4X3QgaWR4LCByYl9udW1fdCBsZXZlbCkpKTsKPiArUFVSRUZVTkMoTUFZQkVf
VU5VU0VEKHN0YXRpYyByYl9zbnVtX3QgYXR0cl9zcF9pbmNfZ2V0YmxvY2twYXJhbXByb3h5KGxp
bmRleF90IGlkeCwgcmJfbnVtX3QgbGV2ZWwpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChz
dGF0aWMgcmJfbnVtX3QgYXR0cl93aWR0aF9nZXRibG9ja3BhcmFtcHJveHkobGluZGV4X3QgaWR4
LCByYl9udW1fdCBsZXZlbCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBlbnVt
IHJ1Ynlfdm1pbnNuX3R5cGUgYXR0cl9iaW5fZ2V0c3BlY2lhbChyYl9udW1fdCBrZXksIHJiX251
bV90IHR5cGUpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2hh
bmRsZXNfc3BfZ2V0c3BlY2lhbChyYl9udW1fdCBrZXksIHJiX251bV90IHR5cGUpKSk7Cj4gK1BV
UkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2xlYWZfZ2V0c3BlY2lhbChyYl9u
dW1fdCBrZXksIHJiX251bV90IHR5cGUpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0
aWMgY29uc3QgY2hhciogYXR0cl9uYW1lX2dldHNwZWNpYWwocmJfbnVtX3Qga2V5LCByYl9udW1f
dCB0eXBlKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJf
b3Blbl9nZXRzcGVjaWFsKHJiX251bV90IGtleSwgcmJfbnVtX3QgdHlwZSkpKTsKPiArUFVSRUZV
TkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3BvcG5fZ2V0c3BlY2lhbChyYl9u
dW1fdCBrZXksIHJiX251bV90IHR5cGUpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0
aWMgcmJfbnVtX3QgYXR0cl9yZXRuX2dldHNwZWNpYWwocmJfbnVtX3Qga2V5LCByYl9udW1fdCB0
eXBlKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX3NudW1fdCBhdHRyX3Nw
X2luY19nZXRzcGVjaWFsKHJiX251bV90IGtleSwgcmJfbnVtX3QgdHlwZSkpKTsKPiArUFVSRUZV
TkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3dpZHRoX2dldHNwZWNpYWwocmJf
bnVtX3Qga2V5LCByYl9udW1fdCB0eXBlKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3Rh
dGljIGVudW0gcnVieV92bWluc25fdHlwZSBhdHRyX2Jpbl9zZXRzcGVjaWFsKHJiX251bV90IGtl
eSkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfaGFuZGxlc19z
cF9zZXRzcGVjaWFsKHJiX251bV90IGtleSkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0
YXRpYyBib29sIGF0dHJfbGVhZl9zZXRzcGVjaWFsKHJiX251bV90IGtleSkpKTsKPiArUFVSRUZV
TkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBjb25zdCBjaGFyKiBhdHRyX25hbWVfc2V0c3BlY2lhbChy
Yl9udW1fdCBrZXkpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3Qg
YXR0cl9vcGVuX3NldHNwZWNpYWwocmJfbnVtX3Qga2V5KSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9V
TlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcG9wbl9zZXRzcGVjaWFsKHJiX251bV90IGtleSkp
KTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3JldG5fc2V0
c3BlY2lhbChyYl9udW1fdCBrZXkpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMg
cmJfc251bV90IGF0dHJfc3BfaW5jX3NldHNwZWNpYWwocmJfbnVtX3Qga2V5KSkpOwo+ICtQVVJF
RlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfd2lkdGhfc2V0c3BlY2lhbChy
Yl9udW1fdCBrZXkpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgZW51bSBydWJ5
X3ZtaW5zbl90eXBlIGF0dHJfYmluX2dldGluc3RhbmNldmFyaWFibGUoSUQgaWQsIElDIGljKSkp
Owo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9oYW5kbGVzX3NwX2dl
dGluc3RhbmNldmFyaWFibGUoSUQgaWQsIElDIGljKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVT
RUQoc3RhdGljIGJvb2wgYXR0cl9sZWFmX2dldGluc3RhbmNldmFyaWFibGUoSUQgaWQsIElDIGlj
KSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGNvbnN0IGNoYXIqIGF0dHJfbmFt
ZV9nZXRpbnN0YW5jZXZhcmlhYmxlKElEIGlkLCBJQyBpYykpKTsKPiArUFVSRUZVTkMoTUFZQkVf
VU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX29wZW5fZ2V0aW5zdGFuY2V2YXJpYWJsZShJRCBp
ZCwgSUMgaWMpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0
cl9wb3BuX2dldGluc3RhbmNldmFyaWFibGUoSUQgaWQsIElDIGljKSkpOwo+ICtQVVJFRlVOQyhN
QVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcmV0bl9nZXRpbnN0YW5jZXZhcmlhYmxl
KElEIGlkLCBJQyBpYykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9zbnVt
X3QgYXR0cl9zcF9pbmNfZ2V0aW5zdGFuY2V2YXJpYWJsZShJRCBpZCwgSUMgaWMpKSk7Cj4gK1BV
UkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl93aWR0aF9nZXRpbnN0YW5j
ZXZhcmlhYmxlKElEIGlkLCBJQyBpYykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRp
YyBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYXR0cl9iaW5fc2V0aW5zdGFuY2V2YXJpYWJsZShJRCBp
ZCwgSUMgaWMpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2hh
bmRsZXNfc3Bfc2V0aW5zdGFuY2V2YXJpYWJsZShJRCBpZCwgSUMgaWMpKSk7Cj4gK1BVUkVGVU5D
KE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2xlYWZfc2V0aW5zdGFuY2V2YXJpYWJsZShJ
RCBpZCwgSUMgaWMpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgY29uc3QgY2hh
ciogYXR0cl9uYW1lX3NldGluc3RhbmNldmFyaWFibGUoSUQgaWQsIElDIGljKSkpOwo+ICtQVVJF
RlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfb3Blbl9zZXRpbnN0YW5jZXZh
cmlhYmxlKElEIGlkLCBJQyBpYykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBy
Yl9udW1fdCBhdHRyX3BvcG5fc2V0aW5zdGFuY2V2YXJpYWJsZShJRCBpZCwgSUMgaWMpKSk7Cj4g
K1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9yZXRuX3NldGluc3Rh
bmNldmFyaWFibGUoSUQgaWQsIElDIGljKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3Rh
dGljIHJiX3NudW1fdCBhdHRyX3NwX2luY19zZXRpbnN0YW5jZXZhcmlhYmxlKElEIGlkLCBJQyBp
YykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3dpZHRo
X3NldGluc3RhbmNldmFyaWFibGUoSUQgaWQsIElDIGljKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9V
TlVTRUQoc3RhdGljIGVudW0gcnVieV92bWluc25fdHlwZSBhdHRyX2Jpbl9nZXRjbGFzc3Zhcmlh
YmxlKElEIGlkKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9o
YW5kbGVzX3NwX2dldGNsYXNzdmFyaWFibGUoSUQgaWQpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VO
VVNFRChzdGF0aWMgYm9vbCBhdHRyX2xlYWZfZ2V0Y2xhc3N2YXJpYWJsZShJRCBpZCkpKTsKPiAr
UFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBjb25zdCBjaGFyKiBhdHRyX25hbWVfZ2V0Y2xh
c3N2YXJpYWJsZShJRCBpZCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9u
dW1fdCBhdHRyX29wZW5fZ2V0Y2xhc3N2YXJpYWJsZShJRCBpZCkpKTsKPiArUFVSRUZVTkMoTUFZ
QkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3BvcG5fZ2V0Y2xhc3N2YXJpYWJsZShJRCBp
ZCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3JldG5f
Z2V0Y2xhc3N2YXJpYWJsZShJRCBpZCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRp
YyByYl9zbnVtX3QgYXR0cl9zcF9pbmNfZ2V0Y2xhc3N2YXJpYWJsZShJRCBpZCkpKTsKPiArUFVS
RUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3dpZHRoX2dldGNsYXNzdmFy
aWFibGUoSUQgaWQpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgZW51bSBydWJ5
X3ZtaW5zbl90eXBlIGF0dHJfYmluX3NldGNsYXNzdmFyaWFibGUoSUQgaWQpKSk7Cj4gK1BVUkVG
VU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2hhbmRsZXNfc3Bfc2V0Y2xhc3N2YXJp
YWJsZShJRCBpZCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJf
bGVhZl9zZXRjbGFzc3ZhcmlhYmxlKElEIGlkKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQo
c3RhdGljIGNvbnN0IGNoYXIqIGF0dHJfbmFtZV9zZXRjbGFzc3ZhcmlhYmxlKElEIGlkKSkpOwo+
ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfb3Blbl9zZXRjbGFz
c3ZhcmlhYmxlKElEIGlkKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251
bV90IGF0dHJfcG9wbl9zZXRjbGFzc3ZhcmlhYmxlKElEIGlkKSkpOwo+ICtQVVJFRlVOQyhNQVlC
RV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcmV0bl9zZXRjbGFzc3ZhcmlhYmxlKElEIGlk
KSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX3NudW1fdCBhdHRyX3NwX2lu
Y19zZXRjbGFzc3ZhcmlhYmxlKElEIGlkKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3Rh
dGljIHJiX251bV90IGF0dHJfd2lkdGhfc2V0Y2xhc3N2YXJpYWJsZShJRCBpZCkpKTsKPiArUFVS
RUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYXR0cl9iaW5f
Z2V0Y29uc3RhbnQoSUQgaWQpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9v
bCBhdHRyX2hhbmRsZXNfc3BfZ2V0Y29uc3RhbnQoSUQgaWQpKSk7Cj4gK1BVUkVGVU5DKE1BWUJF
X1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2xlYWZfZ2V0Y29uc3RhbnQoSUQgaWQpKSk7Cj4gK1BV
UkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgY29uc3QgY2hhciogYXR0cl9uYW1lX2dldGNvbnN0
YW50KElEIGlkKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0
dHJfb3Blbl9nZXRjb25zdGFudChJRCBpZCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0
YXRpYyByYl9udW1fdCBhdHRyX3BvcG5fZ2V0Y29uc3RhbnQoSUQgaWQpKSk7Cj4gK1BVUkVGVU5D
KE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9yZXRuX2dldGNvbnN0YW50KElEIGlk
KSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX3NudW1fdCBhdHRyX3NwX2lu
Y19nZXRjb25zdGFudChJRCBpZCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBy
Yl9udW1fdCBhdHRyX3dpZHRoX2dldGNvbnN0YW50KElEIGlkKSkpOwo+ICtQVVJFRlVOQyhNQVlC
RV9VTlVTRUQoc3RhdGljIGVudW0gcnVieV92bWluc25fdHlwZSBhdHRyX2Jpbl9zZXRjb25zdGFu
dChJRCBpZCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfaGFu
ZGxlc19zcF9zZXRjb25zdGFudChJRCBpZCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0
YXRpYyBib29sIGF0dHJfbGVhZl9zZXRjb25zdGFudChJRCBpZCkpKTsKPiArUFVSRUZVTkMoTUFZ
QkVfVU5VU0VEKHN0YXRpYyBjb25zdCBjaGFyKiBhdHRyX25hbWVfc2V0Y29uc3RhbnQoSUQgaWQp
KSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9vcGVuX3Nl
dGNvbnN0YW50KElEIGlkKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251
bV90IGF0dHJfcG9wbl9zZXRjb25zdGFudChJRCBpZCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5V
U0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3JldG5fc2V0Y29uc3RhbnQoSUQgaWQpKSk7Cj4gK1BV
UkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfc251bV90IGF0dHJfc3BfaW5jX3NldGNvbnN0
YW50KElEIGlkKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0
dHJfd2lkdGhfc2V0Y29uc3RhbnQoSUQgaWQpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChz
dGF0aWMgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGF0dHJfYmluX2dldGdsb2JhbChHRU5UUlkgZW50
cnkpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2hhbmRsZXNf
c3BfZ2V0Z2xvYmFsKEdFTlRSWSBlbnRyeSkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0
YXRpYyBib29sIGF0dHJfbGVhZl9nZXRnbG9iYWwoR0VOVFJZIGVudHJ5KSkpOwo+ICtQVVJFRlVO
QyhNQVlCRV9VTlVTRUQoc3RhdGljIGNvbnN0IGNoYXIqIGF0dHJfbmFtZV9nZXRnbG9iYWwoR0VO
VFJZIGVudHJ5KSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0
dHJfb3Blbl9nZXRnbG9iYWwoR0VOVFJZIGVudHJ5KSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVT
RUQoc3RhdGljIHJiX251bV90IGF0dHJfcG9wbl9nZXRnbG9iYWwoR0VOVFJZIGVudHJ5KSkpOwo+
ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcmV0bl9nZXRnbG9i
YWwoR0VOVFJZIGVudHJ5KSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX3Nu
dW1fdCBhdHRyX3NwX2luY19nZXRnbG9iYWwoR0VOVFJZIGVudHJ5KSkpOwo+ICtQVVJFRlVOQyhN
QVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfd2lkdGhfZ2V0Z2xvYmFsKEdFTlRSWSBl
bnRyeSkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBlbnVtIHJ1Ynlfdm1pbnNu
X3R5cGUgYXR0cl9iaW5fc2V0Z2xvYmFsKEdFTlRSWSBlbnRyeSkpKTsKPiArUFVSRUZVTkMoTUFZ
QkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfaGFuZGxlc19zcF9zZXRnbG9iYWwoR0VOVFJZIGVu
dHJ5KSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9sZWFmX3Nl
dGdsb2JhbChHRU5UUlkgZW50cnkpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMg
Y29uc3QgY2hhciogYXR0cl9uYW1lX3NldGdsb2JhbChHRU5UUlkgZW50cnkpKSk7Cj4gK1BVUkVG
VU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9vcGVuX3NldGdsb2JhbChHRU5U
UlkgZW50cnkpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0
cl9wb3BuX3NldGdsb2JhbChHRU5UUlkgZW50cnkpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNF
RChzdGF0aWMgcmJfbnVtX3QgYXR0cl9yZXRuX3NldGdsb2JhbChHRU5UUlkgZW50cnkpKSk7Cj4g
K1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfc251bV90IGF0dHJfc3BfaW5jX3NldGds
b2JhbChHRU5UUlkgZW50cnkpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJf
bnVtX3QgYXR0cl93aWR0aF9zZXRnbG9iYWwoR0VOVFJZIGVudHJ5KSkpOwo+ICtQVVJFRlVOQyhN
QVlCRV9VTlVTRUQoc3RhdGljIGVudW0gcnVieV92bWluc25fdHlwZSBhdHRyX2Jpbl9wdXRuaWwo
dm9pZCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfaGFuZGxl
c19zcF9wdXRuaWwodm9pZCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29s
IGF0dHJfbGVhZl9wdXRuaWwodm9pZCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRp
YyBjb25zdCBjaGFyKiBhdHRyX25hbWVfcHV0bmlsKHZvaWQpKSk7Cj4gK1BVUkVGVU5DKE1BWUJF
X1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9vcGVuX3B1dG5pbCh2b2lkKSkpOwo+ICtQVVJF
RlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcG9wbl9wdXRuaWwodm9pZCkp
KTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3JldG5fcHV0
bmlsKHZvaWQpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfc251bV90IGF0
dHJfc3BfaW5jX3B1dG5pbCh2b2lkKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGlj
IHJiX251bV90IGF0dHJfd2lkdGhfcHV0bmlsKHZvaWQpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VO
VVNFRChzdGF0aWMgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGF0dHJfYmluX3B1dHNlbGYodm9pZCkp
KTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfaGFuZGxlc19zcF9w
dXRzZWxmKHZvaWQpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRy
X2xlYWZfcHV0c2VsZih2b2lkKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGNv
bnN0IGNoYXIqIGF0dHJfbmFtZV9wdXRzZWxmKHZvaWQpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VO
VVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9vcGVuX3B1dHNlbGYodm9pZCkpKTsKPiArUFVSRUZV
TkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3BvcG5fcHV0c2VsZih2b2lkKSkp
Owo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcmV0bl9wdXRz
ZWxmKHZvaWQpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfc251bV90IGF0
dHJfc3BfaW5jX3B1dHNlbGYodm9pZCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRp
YyByYl9udW1fdCBhdHRyX3dpZHRoX3B1dHNlbGYodm9pZCkpKTsKPiArUFVSRUZVTkMoTUFZQkVf
VU5VU0VEKHN0YXRpYyBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYXR0cl9iaW5fcHV0b2JqZWN0KFZB
TFVFIHZhbCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfaGFu
ZGxlc19zcF9wdXRvYmplY3QoVkFMVUUgdmFsKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQo
c3RhdGljIGJvb2wgYXR0cl9sZWFmX3B1dG9iamVjdChWQUxVRSB2YWwpKSk7Cj4gK1BVUkVGVU5D
KE1BWUJFX1VOVVNFRChzdGF0aWMgY29uc3QgY2hhciogYXR0cl9uYW1lX3B1dG9iamVjdChWQUxV
RSB2YWwpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9v
cGVuX3B1dG9iamVjdChWQUxVRSB2YWwpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0
aWMgcmJfbnVtX3QgYXR0cl9wb3BuX3B1dG9iamVjdChWQUxVRSB2YWwpKSk7Cj4gK1BVUkVGVU5D
KE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9yZXRuX3B1dG9iamVjdChWQUxVRSB2
YWwpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfc251bV90IGF0dHJfc3Bf
aW5jX3B1dG9iamVjdChWQUxVRSB2YWwpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0
aWMgcmJfbnVtX3QgYXR0cl93aWR0aF9wdXRvYmplY3QoVkFMVUUgdmFsKSkpOwo+ICtQVVJFRlVO
QyhNQVlCRV9VTlVTRUQoc3RhdGljIGVudW0gcnVieV92bWluc25fdHlwZSBhdHRyX2Jpbl9wdXRz
cGVjaWFsb2JqZWN0KHJiX251bV90IHZhbHVlX3R5cGUpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VO
VVNFRChzdGF0aWMgYm9vbCBhdHRyX2hhbmRsZXNfc3BfcHV0c3BlY2lhbG9iamVjdChyYl9udW1f
dCB2YWx1ZV90eXBlKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0
cl9sZWFmX3B1dHNwZWNpYWxvYmplY3QocmJfbnVtX3QgdmFsdWVfdHlwZSkpKTsKPiArUFVSRUZV
TkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBjb25zdCBjaGFyKiBhdHRyX25hbWVfcHV0c3BlY2lhbG9i
amVjdChyYl9udW1fdCB2YWx1ZV90eXBlKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3Rh
dGljIHJiX251bV90IGF0dHJfb3Blbl9wdXRzcGVjaWFsb2JqZWN0KHJiX251bV90IHZhbHVlX3R5
cGUpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9wb3Bu
X3B1dHNwZWNpYWxvYmplY3QocmJfbnVtX3QgdmFsdWVfdHlwZSkpKTsKPiArUFVSRUZVTkMoTUFZ
QkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3JldG5fcHV0c3BlY2lhbG9iamVjdChyYl9u
dW1fdCB2YWx1ZV90eXBlKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX3Nu
dW1fdCBhdHRyX3NwX2luY19wdXRzcGVjaWFsb2JqZWN0KHJiX251bV90IHZhbHVlX3R5cGUpKSk7
Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl93aWR0aF9wdXRz
cGVjaWFsb2JqZWN0KHJiX251bV90IHZhbHVlX3R5cGUpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VO
VVNFRChzdGF0aWMgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGF0dHJfYmluX3B1dGlzZXEoSVNFUSBp
c2VxKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9oYW5kbGVz
X3NwX3B1dGlzZXEoSVNFUSBpc2VxKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGlj
IGJvb2wgYXR0cl9sZWFmX3B1dGlzZXEoSVNFUSBpc2VxKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9V
TlVTRUQoc3RhdGljIGNvbnN0IGNoYXIqIGF0dHJfbmFtZV9wdXRpc2VxKElTRVEgaXNlcSkpKTsK
PiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX29wZW5fcHV0aXNl
cShJU0VRIGlzZXEpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3Qg
YXR0cl9wb3BuX3B1dGlzZXEoSVNFUSBpc2VxKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQo
c3RhdGljIHJiX251bV90IGF0dHJfcmV0bl9wdXRpc2VxKElTRVEgaXNlcSkpKTsKPiArUFVSRUZV
TkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9zbnVtX3QgYXR0cl9zcF9pbmNfcHV0aXNlcShJU0VR
IGlzZXEpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl93
aWR0aF9wdXRpc2VxKElTRVEgaXNlcSkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRp
YyBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYXR0cl9iaW5fcHV0c3RyaW5nKFZBTFVFIHN0cikpKTsK
PiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfaGFuZGxlc19zcF9wdXRz
dHJpbmcoVkFMVUUgc3RyKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wg
YXR0cl9sZWFmX3B1dHN0cmluZyhWQUxVRSBzdHIpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNF
RChzdGF0aWMgY29uc3QgY2hhciogYXR0cl9uYW1lX3B1dHN0cmluZyhWQUxVRSBzdHIpKSk7Cj4g
K1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9vcGVuX3B1dHN0cmlu
ZyhWQUxVRSBzdHIpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3Qg
YXR0cl9wb3BuX3B1dHN0cmluZyhWQUxVRSBzdHIpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNF
RChzdGF0aWMgcmJfbnVtX3QgYXR0cl9yZXRuX3B1dHN0cmluZyhWQUxVRSBzdHIpKSk7Cj4gK1BV
UkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfc251bV90IGF0dHJfc3BfaW5jX3B1dHN0cmlu
ZyhWQUxVRSBzdHIpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3Qg
YXR0cl93aWR0aF9wdXRzdHJpbmcoVkFMVUUgc3RyKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVT
RUQoc3RhdGljIGVudW0gcnVieV92bWluc25fdHlwZSBhdHRyX2Jpbl9jb25jYXRzdHJpbmdzKHJi
X251bV90IG51bSkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJf
aGFuZGxlc19zcF9jb25jYXRzdHJpbmdzKHJiX251bV90IG51bSkpKTsKPiArUFVSRUZVTkMoTUFZ
QkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfbGVhZl9jb25jYXRzdHJpbmdzKHJiX251bV90IG51
bSkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBjb25zdCBjaGFyKiBhdHRyX25h
bWVfY29uY2F0c3RyaW5ncyhyYl9udW1fdCBudW0pKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNF
RChzdGF0aWMgcmJfbnVtX3QgYXR0cl9vcGVuX2NvbmNhdHN0cmluZ3MocmJfbnVtX3QgbnVtKSkp
Owo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcG9wbl9jb25j
YXRzdHJpbmdzKHJiX251bV90IG51bSkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRp
YyByYl9udW1fdCBhdHRyX3JldG5fY29uY2F0c3RyaW5ncyhyYl9udW1fdCBudW0pKSk7Cj4gK1BV
UkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfc251bV90IGF0dHJfc3BfaW5jX2NvbmNhdHN0
cmluZ3MocmJfbnVtX3QgbnVtKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJi
X251bV90IGF0dHJfd2lkdGhfY29uY2F0c3RyaW5ncyhyYl9udW1fdCBudW0pKSk7Cj4gK1BVUkVG
VU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGF0dHJfYmluX3Rv
c3RyaW5nKHZvaWQpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRy
X2hhbmRsZXNfc3BfdG9zdHJpbmcodm9pZCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0
YXRpYyBib29sIGF0dHJfbGVhZl90b3N0cmluZyh2b2lkKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9V
TlVTRUQoc3RhdGljIGNvbnN0IGNoYXIqIGF0dHJfbmFtZV90b3N0cmluZyh2b2lkKSkpOwo+ICtQ
VVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfb3Blbl90b3N0cmluZyh2
b2lkKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcG9w
bl90b3N0cmluZyh2b2lkKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251
bV90IGF0dHJfcmV0bl90b3N0cmluZyh2b2lkKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQo
c3RhdGljIHJiX3NudW1fdCBhdHRyX3NwX2luY190b3N0cmluZyh2b2lkKSkpOwo+ICtQVVJFRlVO
QyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfd2lkdGhfdG9zdHJpbmcodm9pZCkp
KTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUg
YXR0cl9iaW5fZnJlZXplc3RyaW5nKFZBTFVFIGRlYnVnX2luZm8pKSk7Cj4gK1BVUkVGVU5DKE1B
WUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2hhbmRsZXNfc3BfZnJlZXplc3RyaW5nKFZBTFVF
IGRlYnVnX2luZm8pKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRy
X2xlYWZfZnJlZXplc3RyaW5nKFZBTFVFIGRlYnVnX2luZm8pKSk7Cj4gK1BVUkVGVU5DKE1BWUJF
X1VOVVNFRChzdGF0aWMgY29uc3QgY2hhciogYXR0cl9uYW1lX2ZyZWV6ZXN0cmluZyhWQUxVRSBk
ZWJ1Z19pbmZvKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0
dHJfb3Blbl9mcmVlemVzdHJpbmcoVkFMVUUgZGVidWdfaW5mbykpKTsKPiArUFVSRUZVTkMoTUFZ
QkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3BvcG5fZnJlZXplc3RyaW5nKFZBTFVFIGRl
YnVnX2luZm8pKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0
cl9yZXRuX2ZyZWV6ZXN0cmluZyhWQUxVRSBkZWJ1Z19pbmZvKSkpOwo+ICtQVVJFRlVOQyhNQVlC
RV9VTlVTRUQoc3RhdGljIHJiX3NudW1fdCBhdHRyX3NwX2luY19mcmVlemVzdHJpbmcoVkFMVUUg
ZGVidWdfaW5mbykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBh
dHRyX3dpZHRoX2ZyZWV6ZXN0cmluZyhWQUxVRSBkZWJ1Z19pbmZvKSkpOwo+ICtQVVJFRlVOQyhN
QVlCRV9VTlVTRUQoc3RhdGljIGVudW0gcnVieV92bWluc25fdHlwZSBhdHRyX2Jpbl90b3JlZ2V4
cChyYl9udW1fdCBvcHQsIHJiX251bV90IGNudCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VE
KHN0YXRpYyBib29sIGF0dHJfaGFuZGxlc19zcF90b3JlZ2V4cChyYl9udW1fdCBvcHQsIHJiX251
bV90IGNudCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfbGVh
Zl90b3JlZ2V4cChyYl9udW1fdCBvcHQsIHJiX251bV90IGNudCkpKTsKPiArUFVSRUZVTkMoTUFZ
QkVfVU5VU0VEKHN0YXRpYyBjb25zdCBjaGFyKiBhdHRyX25hbWVfdG9yZWdleHAocmJfbnVtX3Qg
b3B0LCByYl9udW1fdCBjbnQpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJf
bnVtX3QgYXR0cl9vcGVuX3RvcmVnZXhwKHJiX251bV90IG9wdCwgcmJfbnVtX3QgY250KSkpOwo+
ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcG9wbl90b3JlZ2V4
cChyYl9udW1fdCBvcHQsIHJiX251bV90IGNudCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VE
KHN0YXRpYyByYl9udW1fdCBhdHRyX3JldG5fdG9yZWdleHAocmJfbnVtX3Qgb3B0LCByYl9udW1f
dCBjbnQpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfc251bV90IGF0dHJf
c3BfaW5jX3RvcmVnZXhwKHJiX251bV90IG9wdCwgcmJfbnVtX3QgY250KSkpOwo+ICtQVVJFRlVO
QyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfd2lkdGhfdG9yZWdleHAocmJfbnVt
X3Qgb3B0LCByYl9udW1fdCBjbnQpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMg
ZW51bSBydWJ5X3ZtaW5zbl90eXBlIGF0dHJfYmluX2ludGVybih2b2lkKSkpOwo+ICtQVVJFRlVO
QyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9oYW5kbGVzX3NwX2ludGVybih2b2lkKSkp
Owo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9sZWFmX2ludGVybih2
b2lkKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGNvbnN0IGNoYXIqIGF0dHJf
bmFtZV9pbnRlcm4odm9pZCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9u
dW1fdCBhdHRyX29wZW5faW50ZXJuKHZvaWQpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChz
dGF0aWMgcmJfbnVtX3QgYXR0cl9wb3BuX2ludGVybih2b2lkKSkpOwo+ICtQVVJFRlVOQyhNQVlC
RV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcmV0bl9pbnRlcm4odm9pZCkpKTsKPiArUFVS
RUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9zbnVtX3QgYXR0cl9zcF9pbmNfaW50ZXJuKHZv
aWQpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl93aWR0
aF9pbnRlcm4odm9pZCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBlbnVtIHJ1
Ynlfdm1pbnNuX3R5cGUgYXR0cl9iaW5fbmV3YXJyYXkocmJfbnVtX3QgbnVtKSkpOwo+ICtQVVJF
RlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9oYW5kbGVzX3NwX25ld2FycmF5KHJi
X251bV90IG51bSkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJf
bGVhZl9uZXdhcnJheShyYl9udW1fdCBudW0pKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChz
dGF0aWMgY29uc3QgY2hhciogYXR0cl9uYW1lX25ld2FycmF5KHJiX251bV90IG51bSkpKTsKPiAr
UFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX29wZW5fbmV3YXJyYXko
cmJfbnVtX3QgbnVtKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90
IGF0dHJfcG9wbl9uZXdhcnJheShyYl9udW1fdCBudW0pKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VO
VVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9yZXRuX25ld2FycmF5KHJiX251bV90IG51bSkpKTsK
PiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9zbnVtX3QgYXR0cl9zcF9pbmNfbmV3
YXJyYXkocmJfbnVtX3QgbnVtKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJi
X251bV90IGF0dHJfd2lkdGhfbmV3YXJyYXkocmJfbnVtX3QgbnVtKSkpOwo+ICtQVVJFRlVOQyhN
QVlCRV9VTlVTRUQoc3RhdGljIGVudW0gcnVieV92bWluc25fdHlwZSBhdHRyX2Jpbl9kdXBhcnJh
eShWQUxVRSBhcnkpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRy
X2hhbmRsZXNfc3BfZHVwYXJyYXkoVkFMVUUgYXJ5KSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVT
RUQoc3RhdGljIGJvb2wgYXR0cl9sZWFmX2R1cGFycmF5KFZBTFVFIGFyeSkpKTsKPiArUFVSRUZV
TkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBjb25zdCBjaGFyKiBhdHRyX25hbWVfZHVwYXJyYXkoVkFM
VUUgYXJ5KSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJf
b3Blbl9kdXBhcnJheShWQUxVRSBhcnkpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0
aWMgcmJfbnVtX3QgYXR0cl9wb3BuX2R1cGFycmF5KFZBTFVFIGFyeSkpKTsKPiArUFVSRUZVTkMo
TUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3JldG5fZHVwYXJyYXkoVkFMVUUgYXJ5
KSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX3NudW1fdCBhdHRyX3NwX2lu
Y19kdXBhcnJheShWQUxVRSBhcnkpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMg
cmJfbnVtX3QgYXR0cl93aWR0aF9kdXBhcnJheShWQUxVRSBhcnkpKSk7Cj4gK1BVUkVGVU5DKE1B
WUJFX1VOVVNFRChzdGF0aWMgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGF0dHJfYmluX2R1cGhhc2go
VkFMVUUgaGFzaCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJf
aGFuZGxlc19zcF9kdXBoYXNoKFZBTFVFIGhhc2gpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNF
RChzdGF0aWMgYm9vbCBhdHRyX2xlYWZfZHVwaGFzaChWQUxVRSBoYXNoKSkpOwo+ICtQVVJFRlVO
QyhNQVlCRV9VTlVTRUQoc3RhdGljIGNvbnN0IGNoYXIqIGF0dHJfbmFtZV9kdXBoYXNoKFZBTFVF
IGhhc2gpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9v
cGVuX2R1cGhhc2goVkFMVUUgaGFzaCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRp
YyByYl9udW1fdCBhdHRyX3BvcG5fZHVwaGFzaChWQUxVRSBoYXNoKSkpOwo+ICtQVVJFRlVOQyhN
QVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcmV0bl9kdXBoYXNoKFZBTFVFIGhhc2gp
KSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfc251bV90IGF0dHJfc3BfaW5j
X2R1cGhhc2goVkFMVUUgaGFzaCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBy
Yl9udW1fdCBhdHRyX3dpZHRoX2R1cGhhc2goVkFMVUUgaGFzaCkpKTsKPiArUFVSRUZVTkMoTUFZ
QkVfVU5VU0VEKHN0YXRpYyBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYXR0cl9iaW5fZXhwYW5kYXJy
YXkocmJfbnVtX3QgbnVtLCByYl9udW1fdCBmbGFnKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVT
RUQoc3RhdGljIGJvb2wgYXR0cl9oYW5kbGVzX3NwX2V4cGFuZGFycmF5KHJiX251bV90IG51bSwg
cmJfbnVtX3QgZmxhZykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0
dHJfbGVhZl9leHBhbmRhcnJheShyYl9udW1fdCBudW0sIHJiX251bV90IGZsYWcpKSk7Cj4gK1BV
UkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgY29uc3QgY2hhciogYXR0cl9uYW1lX2V4cGFuZGFy
cmF5KHJiX251bV90IG51bSwgcmJfbnVtX3QgZmxhZykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5V
U0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX29wZW5fZXhwYW5kYXJyYXkocmJfbnVtX3QgbnVtLCBy
Yl9udW1fdCBmbGFnKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90
IGF0dHJfcG9wbl9leHBhbmRhcnJheShyYl9udW1fdCBudW0sIHJiX251bV90IGZsYWcpKSk7Cj4g
K1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9yZXRuX2V4cGFuZGFy
cmF5KHJiX251bV90IG51bSwgcmJfbnVtX3QgZmxhZykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5V
U0VEKHN0YXRpYyByYl9zbnVtX3QgYXR0cl9zcF9pbmNfZXhwYW5kYXJyYXkocmJfbnVtX3QgbnVt
LCByYl9udW1fdCBmbGFnKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251
bV90IGF0dHJfd2lkdGhfZXhwYW5kYXJyYXkocmJfbnVtX3QgbnVtLCByYl9udW1fdCBmbGFnKSkp
Owo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGVudW0gcnVieV92bWluc25fdHlwZSBh
dHRyX2Jpbl9jb25jYXRhcnJheSh2b2lkKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3Rh
dGljIGJvb2wgYXR0cl9oYW5kbGVzX3NwX2NvbmNhdGFycmF5KHZvaWQpKSk7Cj4gK1BVUkVGVU5D
KE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2xlYWZfY29uY2F0YXJyYXkodm9pZCkpKTsK
PiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBjb25zdCBjaGFyKiBhdHRyX25hbWVfY29u
Y2F0YXJyYXkodm9pZCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1f
dCBhdHRyX29wZW5fY29uY2F0YXJyYXkodm9pZCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VE
KHN0YXRpYyByYl9udW1fdCBhdHRyX3BvcG5fY29uY2F0YXJyYXkodm9pZCkpKTsKPiArUFVSRUZV
TkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3JldG5fY29uY2F0YXJyYXkodm9p
ZCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9zbnVtX3QgYXR0cl9zcF9p
bmNfY29uY2F0YXJyYXkodm9pZCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBy
Yl9udW1fdCBhdHRyX3dpZHRoX2NvbmNhdGFycmF5KHZvaWQpKSk7Cj4gK1BVUkVGVU5DKE1BWUJF
X1VOVVNFRChzdGF0aWMgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGF0dHJfYmluX3NwbGF0YXJyYXko
VkFMVUUgZmxhZykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJf
aGFuZGxlc19zcF9zcGxhdGFycmF5KFZBTFVFIGZsYWcpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VO
VVNFRChzdGF0aWMgYm9vbCBhdHRyX2xlYWZfc3BsYXRhcnJheShWQUxVRSBmbGFnKSkpOwo+ICtQ
VVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGNvbnN0IGNoYXIqIGF0dHJfbmFtZV9zcGxhdGFy
cmF5KFZBTFVFIGZsYWcpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVt
X3QgYXR0cl9vcGVuX3NwbGF0YXJyYXkoVkFMVUUgZmxhZykpKTsKPiArUFVSRUZVTkMoTUFZQkVf
VU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3BvcG5fc3BsYXRhcnJheShWQUxVRSBmbGFnKSkp
Owo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcmV0bl9zcGxh
dGFycmF5KFZBTFVFIGZsYWcpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJf
c251bV90IGF0dHJfc3BfaW5jX3NwbGF0YXJyYXkoVkFMVUUgZmxhZykpKTsKPiArUFVSRUZVTkMo
TUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3dpZHRoX3NwbGF0YXJyYXkoVkFMVUUg
ZmxhZykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBlbnVtIHJ1Ynlfdm1pbnNu
X3R5cGUgYXR0cl9iaW5fbmV3aGFzaChyYl9udW1fdCBudW0pKSk7Cj4gK1BVUkVGVU5DKE1BWUJF
X1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2hhbmRsZXNfc3BfbmV3aGFzaChyYl9udW1fdCBudW0p
KSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2xlYWZfbmV3aGFz
aChyYl9udW1fdCBudW0pKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgY29uc3Qg
Y2hhciogYXR0cl9uYW1lX25ld2hhc2gocmJfbnVtX3QgbnVtKSkpOwo+ICtQVVJFRlVOQyhNQVlC
RV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfb3Blbl9uZXdoYXNoKHJiX251bV90IG51bSkp
KTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3BvcG5fbmV3
aGFzaChyYl9udW1fdCBudW0pKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJf
bnVtX3QgYXR0cl9yZXRuX25ld2hhc2gocmJfbnVtX3QgbnVtKSkpOwo+ICtQVVJFRlVOQyhNQVlC
RV9VTlVTRUQoc3RhdGljIHJiX3NudW1fdCBhdHRyX3NwX2luY19uZXdoYXNoKHJiX251bV90IG51
bSkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3dpZHRo
X25ld2hhc2gocmJfbnVtX3QgbnVtKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGlj
IGVudW0gcnVieV92bWluc25fdHlwZSBhdHRyX2Jpbl9uZXdyYW5nZShyYl9udW1fdCBmbGFnKSkp
Owo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9oYW5kbGVzX3NwX25l
d3JhbmdlKHJiX251bV90IGZsYWcpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMg
Ym9vbCBhdHRyX2xlYWZfbmV3cmFuZ2UocmJfbnVtX3QgZmxhZykpKTsKPiArUFVSRUZVTkMoTUFZ
QkVfVU5VU0VEKHN0YXRpYyBjb25zdCBjaGFyKiBhdHRyX25hbWVfbmV3cmFuZ2UocmJfbnVtX3Qg
ZmxhZykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX29w
ZW5fbmV3cmFuZ2UocmJfbnVtX3QgZmxhZykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0
YXRpYyByYl9udW1fdCBhdHRyX3BvcG5fbmV3cmFuZ2UocmJfbnVtX3QgZmxhZykpKTsKPiArUFVS
RUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3JldG5fbmV3cmFuZ2UocmJf
bnVtX3QgZmxhZykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9zbnVtX3Qg
YXR0cl9zcF9pbmNfbmV3cmFuZ2UocmJfbnVtX3QgZmxhZykpKTsKPiArUFVSRUZVTkMoTUFZQkVf
VU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3dpZHRoX25ld3JhbmdlKHJiX251bV90IGZsYWcp
KSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgZW51bSBydWJ5X3ZtaW5zbl90eXBl
IGF0dHJfYmluX3BvcCh2b2lkKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJv
b2wgYXR0cl9oYW5kbGVzX3NwX3BvcCh2b2lkKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQo
c3RhdGljIGJvb2wgYXR0cl9sZWFmX3BvcCh2b2lkKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVT
RUQoc3RhdGljIGNvbnN0IGNoYXIqIGF0dHJfbmFtZV9wb3Aodm9pZCkpKTsKPiArUFVSRUZVTkMo
TUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX29wZW5fcG9wKHZvaWQpKSk7Cj4gK1BV
UkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9wb3BuX3BvcCh2b2lkKSkp
Owo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcmV0bl9wb3Ao
dm9pZCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9zbnVtX3QgYXR0cl9z
cF9pbmNfcG9wKHZvaWQpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVt
X3QgYXR0cl93aWR0aF9wb3Aodm9pZCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRp
YyBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYXR0cl9iaW5fZHVwKHZvaWQpKSk7Cj4gK1BVUkVGVU5D
KE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2hhbmRsZXNfc3BfZHVwKHZvaWQpKSk7Cj4g
K1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2xlYWZfZHVwKHZvaWQpKSk7
Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgY29uc3QgY2hhciogYXR0cl9uYW1lX2R1
cCh2b2lkKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJf
b3Blbl9kdXAodm9pZCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1f
dCBhdHRyX3BvcG5fZHVwKHZvaWQpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMg
cmJfbnVtX3QgYXR0cl9yZXRuX2R1cCh2b2lkKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQo
c3RhdGljIHJiX3NudW1fdCBhdHRyX3NwX2luY19kdXAodm9pZCkpKTsKPiArUFVSRUZVTkMoTUFZ
QkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3dpZHRoX2R1cCh2b2lkKSkpOwo+ICtQVVJF
RlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGVudW0gcnVieV92bWluc25fdHlwZSBhdHRyX2Jpbl9k
dXBuKHJiX251bV90IG4pKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBh
dHRyX2hhbmRsZXNfc3BfZHVwbihyYl9udW1fdCBuKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVT
RUQoc3RhdGljIGJvb2wgYXR0cl9sZWFmX2R1cG4ocmJfbnVtX3QgbikpKTsKPiArUFVSRUZVTkMo
TUFZQkVfVU5VU0VEKHN0YXRpYyBjb25zdCBjaGFyKiBhdHRyX25hbWVfZHVwbihyYl9udW1fdCBu
KSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfb3Blbl9k
dXBuKHJiX251bV90IG4pKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVt
X3QgYXR0cl9wb3BuX2R1cG4ocmJfbnVtX3QgbikpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VE
KHN0YXRpYyByYl9udW1fdCBhdHRyX3JldG5fZHVwbihyYl9udW1fdCBuKSkpOwo+ICtQVVJFRlVO
QyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX3NudW1fdCBhdHRyX3NwX2luY19kdXBuKHJiX251bV90
IG4pKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl93aWR0
aF9kdXBuKHJiX251bV90IG4pKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgZW51
bSBydWJ5X3ZtaW5zbl90eXBlIGF0dHJfYmluX3N3YXAodm9pZCkpKTsKPiArUFVSRUZVTkMoTUFZ
QkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfaGFuZGxlc19zcF9zd2FwKHZvaWQpKSk7Cj4gK1BV
UkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2xlYWZfc3dhcCh2b2lkKSkpOwo+
ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGNvbnN0IGNoYXIqIGF0dHJfbmFtZV9zd2Fw
KHZvaWQpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9v
cGVuX3N3YXAodm9pZCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1f
dCBhdHRyX3BvcG5fc3dhcCh2b2lkKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGlj
IHJiX251bV90IGF0dHJfcmV0bl9zd2FwKHZvaWQpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNF
RChzdGF0aWMgcmJfc251bV90IGF0dHJfc3BfaW5jX3N3YXAodm9pZCkpKTsKPiArUFVSRUZVTkMo
TUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3dpZHRoX3N3YXAodm9pZCkpKTsKPiAr
UFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYXR0cl9i
aW5fcmV2ZXJzZShyYl9udW1fdCBuKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGlj
IGJvb2wgYXR0cl9oYW5kbGVzX3NwX3JldmVyc2UocmJfbnVtX3QgbikpKTsKPiArUFVSRUZVTkMo
TUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfbGVhZl9yZXZlcnNlKHJiX251bV90IG4pKSk7
Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgY29uc3QgY2hhciogYXR0cl9uYW1lX3Jl
dmVyc2UocmJfbnVtX3QgbikpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9u
dW1fdCBhdHRyX29wZW5fcmV2ZXJzZShyYl9udW1fdCBuKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9V
TlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcG9wbl9yZXZlcnNlKHJiX251bV90IG4pKSk7Cj4g
K1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9yZXRuX3JldmVyc2Uo
cmJfbnVtX3QgbikpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9zbnVtX3Qg
YXR0cl9zcF9pbmNfcmV2ZXJzZShyYl9udW1fdCBuKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVT
RUQoc3RhdGljIHJiX251bV90IGF0dHJfd2lkdGhfcmV2ZXJzZShyYl9udW1fdCBuKSkpOwo+ICtQ
VVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGVudW0gcnVieV92bWluc25fdHlwZSBhdHRyX2Jp
bl9yZXB1dCh2b2lkKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0
cl9oYW5kbGVzX3NwX3JlcHV0KHZvaWQpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0
aWMgYm9vbCBhdHRyX2xlYWZfcmVwdXQodm9pZCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VE
KHN0YXRpYyBjb25zdCBjaGFyKiBhdHRyX25hbWVfcmVwdXQodm9pZCkpKTsKPiArUFVSRUZVTkMo
TUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX29wZW5fcmVwdXQodm9pZCkpKTsKPiAr
UFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3BvcG5fcmVwdXQodm9p
ZCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3JldG5f
cmVwdXQodm9pZCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9zbnVtX3Qg
YXR0cl9zcF9pbmNfcmVwdXQodm9pZCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRp
YyByYl9udW1fdCBhdHRyX3dpZHRoX3JlcHV0KHZvaWQpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VO
VVNFRChzdGF0aWMgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGF0dHJfYmluX3RvcG4ocmJfbnVtX3Qg
bikpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfaGFuZGxlc19z
cF90b3BuKHJiX251bV90IG4pKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9v
bCBhdHRyX2xlYWZfdG9wbihyYl9udW1fdCBuKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQo
c3RhdGljIGNvbnN0IGNoYXIqIGF0dHJfbmFtZV90b3BuKHJiX251bV90IG4pKSk7Cj4gK1BVUkVG
VU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9vcGVuX3RvcG4ocmJfbnVtX3Qg
bikpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3BvcG5f
dG9wbihyYl9udW1fdCBuKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251
bV90IGF0dHJfcmV0bl90b3BuKHJiX251bV90IG4pKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNF
RChzdGF0aWMgcmJfc251bV90IGF0dHJfc3BfaW5jX3RvcG4ocmJfbnVtX3QgbikpKTsKPiArUFVS
RUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3dpZHRoX3RvcG4ocmJfbnVt
X3QgbikpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBlbnVtIHJ1Ynlfdm1pbnNu
X3R5cGUgYXR0cl9iaW5fc2V0bihyYl9udW1fdCBuKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVT
RUQoc3RhdGljIGJvb2wgYXR0cl9oYW5kbGVzX3NwX3NldG4ocmJfbnVtX3QgbikpKTsKPiArUFVS
RUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfbGVhZl9zZXRuKHJiX251bV90IG4p
KSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgY29uc3QgY2hhciogYXR0cl9uYW1l
X3NldG4ocmJfbnVtX3QgbikpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9u
dW1fdCBhdHRyX29wZW5fc2V0bihyYl9udW1fdCBuKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVT
RUQoc3RhdGljIHJiX251bV90IGF0dHJfcG9wbl9zZXRuKHJiX251bV90IG4pKSk7Cj4gK1BVUkVG
VU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9yZXRuX3NldG4ocmJfbnVtX3Qg
bikpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9zbnVtX3QgYXR0cl9zcF9p
bmNfc2V0bihyYl9udW1fdCBuKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJi
X251bV90IGF0dHJfd2lkdGhfc2V0bihyYl9udW1fdCBuKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9V
TlVTRUQoc3RhdGljIGVudW0gcnVieV92bWluc25fdHlwZSBhdHRyX2Jpbl9hZGp1c3RzdGFjayhy
Yl9udW1fdCBuKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9o
YW5kbGVzX3NwX2FkanVzdHN0YWNrKHJiX251bV90IG4pKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VO
VVNFRChzdGF0aWMgYm9vbCBhdHRyX2xlYWZfYWRqdXN0c3RhY2socmJfbnVtX3QgbikpKTsKPiAr
UFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBjb25zdCBjaGFyKiBhdHRyX25hbWVfYWRqdXN0
c3RhY2socmJfbnVtX3QgbikpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9u
dW1fdCBhdHRyX29wZW5fYWRqdXN0c3RhY2socmJfbnVtX3QgbikpKTsKPiArUFVSRUZVTkMoTUFZ
QkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3BvcG5fYWRqdXN0c3RhY2socmJfbnVtX3Qg
bikpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3JldG5f
YWRqdXN0c3RhY2socmJfbnVtX3QgbikpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRp
YyByYl9zbnVtX3QgYXR0cl9zcF9pbmNfYWRqdXN0c3RhY2socmJfbnVtX3QgbikpKTsKPiArUFVS
RUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3dpZHRoX2FkanVzdHN0YWNr
KHJiX251bV90IG4pKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgZW51bSBydWJ5
X3ZtaW5zbl90eXBlIGF0dHJfYmluX2RlZmluZWQocmJfbnVtX3Qgb3BfdHlwZSwgVkFMVUUgb2Jq
LCBWQUxVRSBuZWVkc3RyKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wg
YXR0cl9oYW5kbGVzX3NwX2RlZmluZWQocmJfbnVtX3Qgb3BfdHlwZSwgVkFMVUUgb2JqLCBWQUxV
RSBuZWVkc3RyKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9s
ZWFmX2RlZmluZWQocmJfbnVtX3Qgb3BfdHlwZSwgVkFMVUUgb2JqLCBWQUxVRSBuZWVkc3RyKSkp
Owo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGNvbnN0IGNoYXIqIGF0dHJfbmFtZV9k
ZWZpbmVkKHJiX251bV90IG9wX3R5cGUsIFZBTFVFIG9iaiwgVkFMVUUgbmVlZHN0cikpKTsKPiAr
UFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX29wZW5fZGVmaW5lZChy
Yl9udW1fdCBvcF90eXBlLCBWQUxVRSBvYmosIFZBTFVFIG5lZWRzdHIpKSk7Cj4gK1BVUkVGVU5D
KE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9wb3BuX2RlZmluZWQocmJfbnVtX3Qg
b3BfdHlwZSwgVkFMVUUgb2JqLCBWQUxVRSBuZWVkc3RyKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9V
TlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcmV0bl9kZWZpbmVkKHJiX251bV90IG9wX3R5cGUs
IFZBTFVFIG9iaiwgVkFMVUUgbmVlZHN0cikpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0
YXRpYyByYl9zbnVtX3QgYXR0cl9zcF9pbmNfZGVmaW5lZChyYl9udW1fdCBvcF90eXBlLCBWQUxV
RSBvYmosIFZBTFVFIG5lZWRzdHIpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMg
cmJfbnVtX3QgYXR0cl93aWR0aF9kZWZpbmVkKHJiX251bV90IG9wX3R5cGUsIFZBTFVFIG9iaiwg
VkFMVUUgbmVlZHN0cikpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBlbnVtIHJ1
Ynlfdm1pbnNuX3R5cGUgYXR0cl9iaW5fY2hlY2ttYXRjaChyYl9udW1fdCBmbGFnKSkpOwo+ICtQ
VVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9oYW5kbGVzX3NwX2NoZWNrbWF0
Y2gocmJfbnVtX3QgZmxhZykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29s
IGF0dHJfbGVhZl9jaGVja21hdGNoKHJiX251bV90IGZsYWcpKSk7Cj4gK1BVUkVGVU5DKE1BWUJF
X1VOVVNFRChzdGF0aWMgY29uc3QgY2hhciogYXR0cl9uYW1lX2NoZWNrbWF0Y2gocmJfbnVtX3Qg
ZmxhZykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX29w
ZW5fY2hlY2ttYXRjaChyYl9udW1fdCBmbGFnKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQo
c3RhdGljIHJiX251bV90IGF0dHJfcG9wbl9jaGVja21hdGNoKHJiX251bV90IGZsYWcpKSk7Cj4g
K1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9yZXRuX2NoZWNrbWF0
Y2gocmJfbnVtX3QgZmxhZykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9z
bnVtX3QgYXR0cl9zcF9pbmNfY2hlY2ttYXRjaChyYl9udW1fdCBmbGFnKSkpOwo+ICtQVVJFRlVO
QyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfd2lkdGhfY2hlY2ttYXRjaChyYl9u
dW1fdCBmbGFnKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGVudW0gcnVieV92
bWluc25fdHlwZSBhdHRyX2Jpbl9jaGVja2tleXdvcmQobGluZGV4X3Qga3dfYml0c19pbmRleCwg
bGluZGV4X3Qga2V5d29yZF9pbmRleCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRp
YyBib29sIGF0dHJfaGFuZGxlc19zcF9jaGVja2tleXdvcmQobGluZGV4X3Qga3dfYml0c19pbmRl
eCwgbGluZGV4X3Qga2V5d29yZF9pbmRleCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0
YXRpYyBib29sIGF0dHJfbGVhZl9jaGVja2tleXdvcmQobGluZGV4X3Qga3dfYml0c19pbmRleCwg
bGluZGV4X3Qga2V5d29yZF9pbmRleCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRp
YyBjb25zdCBjaGFyKiBhdHRyX25hbWVfY2hlY2trZXl3b3JkKGxpbmRleF90IGt3X2JpdHNfaW5k
ZXgsIGxpbmRleF90IGtleXdvcmRfaW5kZXgpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChz
dGF0aWMgcmJfbnVtX3QgYXR0cl9vcGVuX2NoZWNra2V5d29yZChsaW5kZXhfdCBrd19iaXRzX2lu
ZGV4LCBsaW5kZXhfdCBrZXl3b3JkX2luZGV4KSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQo
c3RhdGljIHJiX251bV90IGF0dHJfcG9wbl9jaGVja2tleXdvcmQobGluZGV4X3Qga3dfYml0c19p
bmRleCwgbGluZGV4X3Qga2V5d29yZF9pbmRleCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VE
KHN0YXRpYyByYl9udW1fdCBhdHRyX3JldG5fY2hlY2trZXl3b3JkKGxpbmRleF90IGt3X2JpdHNf
aW5kZXgsIGxpbmRleF90IGtleXdvcmRfaW5kZXgpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNF
RChzdGF0aWMgcmJfc251bV90IGF0dHJfc3BfaW5jX2NoZWNra2V5d29yZChsaW5kZXhfdCBrd19i
aXRzX2luZGV4LCBsaW5kZXhfdCBrZXl3b3JkX2luZGV4KSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9V
TlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfd2lkdGhfY2hlY2trZXl3b3JkKGxpbmRleF90IGt3
X2JpdHNfaW5kZXgsIGxpbmRleF90IGtleXdvcmRfaW5kZXgpKSk7Cj4gK1BVUkVGVU5DKE1BWUJF
X1VOVVNFRChzdGF0aWMgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGF0dHJfYmluX2NoZWNrdHlwZShy
Yl9udW1fdCB0eXBlKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0
cl9oYW5kbGVzX3NwX2NoZWNrdHlwZShyYl9udW1fdCB0eXBlKSkpOwo+ICtQVVJFRlVOQyhNQVlC
RV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9sZWFmX2NoZWNrdHlwZShyYl9udW1fdCB0eXBlKSkp
Owo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGNvbnN0IGNoYXIqIGF0dHJfbmFtZV9j
aGVja3R5cGUocmJfbnVtX3QgdHlwZSkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRp
YyByYl9udW1fdCBhdHRyX29wZW5fY2hlY2t0eXBlKHJiX251bV90IHR5cGUpKSk7Cj4gK1BVUkVG
VU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9wb3BuX2NoZWNrdHlwZShyYl9u
dW1fdCB0eXBlKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0
dHJfcmV0bl9jaGVja3R5cGUocmJfbnVtX3QgdHlwZSkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5V
U0VEKHN0YXRpYyByYl9zbnVtX3QgYXR0cl9zcF9pbmNfY2hlY2t0eXBlKHJiX251bV90IHR5cGUp
KSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl93aWR0aF9j
aGVja3R5cGUocmJfbnVtX3QgdHlwZSkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRp
YyBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYXR0cl9iaW5fZGVmaW5lY2xhc3MoSUQgaWQsIElTRVEg
Y2xhc3NfaXNlcSwgcmJfbnVtX3QgZmxhZ3MpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChz
dGF0aWMgYm9vbCBhdHRyX2hhbmRsZXNfc3BfZGVmaW5lY2xhc3MoSUQgaWQsIElTRVEgY2xhc3Nf
aXNlcSwgcmJfbnVtX3QgZmxhZ3MpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMg
Ym9vbCBhdHRyX2xlYWZfZGVmaW5lY2xhc3MoSUQgaWQsIElTRVEgY2xhc3NfaXNlcSwgcmJfbnVt
X3QgZmxhZ3MpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgY29uc3QgY2hhciog
YXR0cl9uYW1lX2RlZmluZWNsYXNzKElEIGlkLCBJU0VRIGNsYXNzX2lzZXEsIHJiX251bV90IGZs
YWdzKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfb3Bl
bl9kZWZpbmVjbGFzcyhJRCBpZCwgSVNFUSBjbGFzc19pc2VxLCByYl9udW1fdCBmbGFncykpKTsK
PiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3BvcG5fZGVmaW5l
Y2xhc3MoSUQgaWQsIElTRVEgY2xhc3NfaXNlcSwgcmJfbnVtX3QgZmxhZ3MpKSk7Cj4gK1BVUkVG
VU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9yZXRuX2RlZmluZWNsYXNzKElE
IGlkLCBJU0VRIGNsYXNzX2lzZXEsIHJiX251bV90IGZsYWdzKSkpOwo+ICtQVVJFRlVOQyhNQVlC
RV9VTlVTRUQoc3RhdGljIHJiX3NudW1fdCBhdHRyX3NwX2luY19kZWZpbmVjbGFzcyhJRCBpZCwg
SVNFUSBjbGFzc19pc2VxLCByYl9udW1fdCBmbGFncykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5V
U0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3dpZHRoX2RlZmluZWNsYXNzKElEIGlkLCBJU0VRIGNs
YXNzX2lzZXEsIHJiX251bV90IGZsYWdzKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3Rh
dGljIGVudW0gcnVieV92bWluc25fdHlwZSBhdHRyX2Jpbl9zZW5kKENBTExfSU5GTyBjaSwgQ0FM
TF9DQUNIRSBjYywgSVNFUSBibG9ja2lzZXEpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChz
dGF0aWMgYm9vbCBhdHRyX2hhbmRsZXNfc3Bfc2VuZChDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUg
Y2MsIElTRVEgYmxvY2tpc2VxKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJv
b2wgYXR0cl9sZWFmX3NlbmQoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjLCBJU0VRIGJsb2Nr
aXNlcSkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBjb25zdCBjaGFyKiBhdHRy
X25hbWVfc2VuZChDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MsIElTRVEgYmxvY2tpc2VxKSkp
Owo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfb3Blbl9zZW5k
KENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYywgSVNFUSBibG9ja2lzZXEpKSk7Cj4gK1BVUkVG
VU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9wb3BuX3NlbmQoQ0FMTF9JTkZP
IGNpLCBDQUxMX0NBQ0hFIGNjLCBJU0VRIGJsb2NraXNlcSkpKTsKPiArUFVSRUZVTkMoTUFZQkVf
VU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3JldG5fc2VuZChDQUxMX0lORk8gY2ksIENBTExf
Q0FDSEUgY2MsIElTRVEgYmxvY2tpc2VxKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3Rh
dGljIHJiX3NudW1fdCBhdHRyX3NwX2luY19zZW5kKENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBj
YywgSVNFUSBibG9ja2lzZXEpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJf
bnVtX3QgYXR0cl93aWR0aF9zZW5kKENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYywgSVNFUSBi
bG9ja2lzZXEpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgZW51bSBydWJ5X3Zt
aW5zbl90eXBlIGF0dHJfYmluX29wdF9zZW5kX3dpdGhvdXRfYmxvY2soQ0FMTF9JTkZPIGNpLCBD
QUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0
cl9oYW5kbGVzX3NwX29wdF9zZW5kX3dpdGhvdXRfYmxvY2soQ0FMTF9JTkZPIGNpLCBDQUxMX0NB
Q0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9sZWFm
X29wdF9zZW5kX3dpdGhvdXRfYmxvY2soQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwo+
ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGNvbnN0IGNoYXIqIGF0dHJfbmFtZV9vcHRf
c2VuZF93aXRob3V0X2Jsb2NrKENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKPiArUFVS
RUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX29wZW5fb3B0X3NlbmRfd2l0
aG91dF9ibG9jayhDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7Cj4gK1BVUkVGVU5DKE1B
WUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9wb3BuX29wdF9zZW5kX3dpdGhvdXRfYmxv
Y2soQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVT
RUQoc3RhdGljIHJiX251bV90IGF0dHJfcmV0bl9vcHRfc2VuZF93aXRob3V0X2Jsb2NrKENBTExf
SU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRp
YyByYl9zbnVtX3QgYXR0cl9zcF9pbmNfb3B0X3NlbmRfd2l0aG91dF9ibG9jayhDQUxMX0lORk8g
Y2ksIENBTExfQ0FDSEUgY2MpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJf
bnVtX3QgYXR0cl93aWR0aF9vcHRfc2VuZF93aXRob3V0X2Jsb2NrKENBTExfSU5GTyBjaSwgQ0FM
TF9DQUNIRSBjYykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBlbnVtIHJ1Ynlf
dm1pbnNuX3R5cGUgYXR0cl9iaW5fb3B0X3N0cl9mcmVlemUoVkFMVUUgc3RyLCBDQUxMX0lORk8g
Y2ksIENBTExfQ0FDSEUgY2MpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9v
bCBhdHRyX2hhbmRsZXNfc3Bfb3B0X3N0cl9mcmVlemUoVkFMVUUgc3RyLCBDQUxMX0lORk8gY2ks
IENBTExfQ0FDSEUgY2MpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBh
dHRyX2xlYWZfb3B0X3N0cl9mcmVlemUoVkFMVUUgc3RyLCBDQUxMX0lORk8gY2ksIENBTExfQ0FD
SEUgY2MpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgY29uc3QgY2hhciogYXR0
cl9uYW1lX29wdF9zdHJfZnJlZXplKFZBTFVFIHN0ciwgQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hF
IGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfb3Bl
bl9vcHRfc3RyX2ZyZWV6ZShWQUxVRSBzdHIsIENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykp
KTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3BvcG5fb3B0
X3N0cl9mcmVlemUoVkFMVUUgc3RyLCBDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7Cj4g
K1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9yZXRuX29wdF9zdHJf
ZnJlZXplKFZBTFVFIHN0ciwgQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJF
RlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX3NudW1fdCBhdHRyX3NwX2luY19vcHRfc3RyX2Zy
ZWV6ZShWQUxVRSBzdHIsIENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKPiArUFVSRUZV
TkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3dpZHRoX29wdF9zdHJfZnJlZXpl
KFZBTFVFIHN0ciwgQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhN
QVlCRV9VTlVTRUQoc3RhdGljIGVudW0gcnVieV92bWluc25fdHlwZSBhdHRyX2Jpbl9vcHRfc3Ry
X3VtaW51cyhWQUxVRSBzdHIsIENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKPiArUFVS
RUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfaGFuZGxlc19zcF9vcHRfc3RyX3Vt
aW51cyhWQUxVRSBzdHIsIENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKPiArUFVSRUZV
TkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfbGVhZl9vcHRfc3RyX3VtaW51cyhWQUxV
RSBzdHIsIENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKPiArUFVSRUZVTkMoTUFZQkVf
VU5VU0VEKHN0YXRpYyBjb25zdCBjaGFyKiBhdHRyX25hbWVfb3B0X3N0cl91bWludXMoVkFMVUUg
c3RyLCBDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VO
VVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9vcGVuX29wdF9zdHJfdW1pbnVzKFZBTFVFIHN0ciwg
Q0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQo
c3RhdGljIHJiX251bV90IGF0dHJfcG9wbl9vcHRfc3RyX3VtaW51cyhWQUxVRSBzdHIsIENBTExf
SU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRp
YyByYl9udW1fdCBhdHRyX3JldG5fb3B0X3N0cl91bWludXMoVkFMVUUgc3RyLCBDQUxMX0lORk8g
Y2ksIENBTExfQ0FDSEUgY2MpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJf
c251bV90IGF0dHJfc3BfaW5jX29wdF9zdHJfdW1pbnVzKFZBTFVFIHN0ciwgQ0FMTF9JTkZPIGNp
LCBDQUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251
bV90IGF0dHJfd2lkdGhfb3B0X3N0cl91bWludXMoVkFMVUUgc3RyLCBDQUxMX0lORk8gY2ksIENB
TExfQ0FDSEUgY2MpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgZW51bSBydWJ5
X3ZtaW5zbl90eXBlIGF0dHJfYmluX29wdF9uZXdhcnJheV9tYXgocmJfbnVtX3QgbnVtKSkpOwo+
ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9oYW5kbGVzX3NwX29wdF9u
ZXdhcnJheV9tYXgocmJfbnVtX3QgbnVtKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3Rh
dGljIGJvb2wgYXR0cl9sZWFmX29wdF9uZXdhcnJheV9tYXgocmJfbnVtX3QgbnVtKSkpOwo+ICtQ
VVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGNvbnN0IGNoYXIqIGF0dHJfbmFtZV9vcHRfbmV3
YXJyYXlfbWF4KHJiX251bV90IG51bSkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRp
YyByYl9udW1fdCBhdHRyX29wZW5fb3B0X25ld2FycmF5X21heChyYl9udW1fdCBudW0pKSk7Cj4g
K1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9wb3BuX29wdF9uZXdh
cnJheV9tYXgocmJfbnVtX3QgbnVtKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGlj
IHJiX251bV90IGF0dHJfcmV0bl9vcHRfbmV3YXJyYXlfbWF4KHJiX251bV90IG51bSkpKTsKPiAr
UFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9zbnVtX3QgYXR0cl9zcF9pbmNfb3B0X25l
d2FycmF5X21heChyYl9udW1fdCBudW0pKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0
aWMgcmJfbnVtX3QgYXR0cl93aWR0aF9vcHRfbmV3YXJyYXlfbWF4KHJiX251bV90IG51bSkpKTsK
PiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYXR0
cl9iaW5fb3B0X25ld2FycmF5X21pbihyYl9udW1fdCBudW0pKSk7Cj4gK1BVUkVGVU5DKE1BWUJF
X1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2hhbmRsZXNfc3Bfb3B0X25ld2FycmF5X21pbihyYl9u
dW1fdCBudW0pKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2xl
YWZfb3B0X25ld2FycmF5X21pbihyYl9udW1fdCBudW0pKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VO
VVNFRChzdGF0aWMgY29uc3QgY2hhciogYXR0cl9uYW1lX29wdF9uZXdhcnJheV9taW4ocmJfbnVt
X3QgbnVtKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJf
b3Blbl9vcHRfbmV3YXJyYXlfbWluKHJiX251bV90IG51bSkpKTsKPiArUFVSRUZVTkMoTUFZQkVf
VU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3BvcG5fb3B0X25ld2FycmF5X21pbihyYl9udW1f
dCBudW0pKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9y
ZXRuX29wdF9uZXdhcnJheV9taW4ocmJfbnVtX3QgbnVtKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9V
TlVTRUQoc3RhdGljIHJiX3NudW1fdCBhdHRyX3NwX2luY19vcHRfbmV3YXJyYXlfbWluKHJiX251
bV90IG51bSkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRy
X3dpZHRoX29wdF9uZXdhcnJheV9taW4ocmJfbnVtX3QgbnVtKSkpOwo+ICtQVVJFRlVOQyhNQVlC
RV9VTlVTRUQoc3RhdGljIGVudW0gcnVieV92bWluc25fdHlwZSBhdHRyX2Jpbl9pbnZva2VzdXBl
cihDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MsIElTRVEgYmxvY2tpc2VxKSkpOwo+ICtQVVJF
RlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9oYW5kbGVzX3NwX2ludm9rZXN1cGVy
KENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYywgSVNFUSBibG9ja2lzZXEpKSk7Cj4gK1BVUkVG
VU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2xlYWZfaW52b2tlc3VwZXIoQ0FMTF9J
TkZPIGNpLCBDQUxMX0NBQ0hFIGNjLCBJU0VRIGJsb2NraXNlcSkpKTsKPiArUFVSRUZVTkMoTUFZ
QkVfVU5VU0VEKHN0YXRpYyBjb25zdCBjaGFyKiBhdHRyX25hbWVfaW52b2tlc3VwZXIoQ0FMTF9J
TkZPIGNpLCBDQUxMX0NBQ0hFIGNjLCBJU0VRIGJsb2NraXNlcSkpKTsKPiArUFVSRUZVTkMoTUFZ
QkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX29wZW5faW52b2tlc3VwZXIoQ0FMTF9JTkZP
IGNpLCBDQUxMX0NBQ0hFIGNjLCBJU0VRIGJsb2NraXNlcSkpKTsKPiArUFVSRUZVTkMoTUFZQkVf
VU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3BvcG5faW52b2tlc3VwZXIoQ0FMTF9JTkZPIGNp
LCBDQUxMX0NBQ0hFIGNjLCBJU0VRIGJsb2NraXNlcSkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5V
U0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3JldG5faW52b2tlc3VwZXIoQ0FMTF9JTkZPIGNpLCBD
QUxMX0NBQ0hFIGNjLCBJU0VRIGJsb2NraXNlcSkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VE
KHN0YXRpYyByYl9zbnVtX3QgYXR0cl9zcF9pbmNfaW52b2tlc3VwZXIoQ0FMTF9JTkZPIGNpLCBD
QUxMX0NBQ0hFIGNjLCBJU0VRIGJsb2NraXNlcSkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VE
KHN0YXRpYyByYl9udW1fdCBhdHRyX3dpZHRoX2ludm9rZXN1cGVyKENBTExfSU5GTyBjaSwgQ0FM
TF9DQUNIRSBjYywgSVNFUSBibG9ja2lzZXEpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChz
dGF0aWMgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGF0dHJfYmluX2ludm9rZWJsb2NrKENBTExfSU5G
TyBjaSkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfaGFuZGxl
c19zcF9pbnZva2VibG9jayhDQUxMX0lORk8gY2kpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNF
RChzdGF0aWMgYm9vbCBhdHRyX2xlYWZfaW52b2tlYmxvY2soQ0FMTF9JTkZPIGNpKSkpOwo+ICtQ
VVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGNvbnN0IGNoYXIqIGF0dHJfbmFtZV9pbnZva2Vi
bG9jayhDQUxMX0lORk8gY2kpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJf
bnVtX3QgYXR0cl9vcGVuX2ludm9rZWJsb2NrKENBTExfSU5GTyBjaSkpKTsKPiArUFVSRUZVTkMo
TUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3BvcG5faW52b2tlYmxvY2soQ0FMTF9J
TkZPIGNpKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJf
cmV0bl9pbnZva2VibG9jayhDQUxMX0lORk8gY2kpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNF
RChzdGF0aWMgcmJfc251bV90IGF0dHJfc3BfaW5jX2ludm9rZWJsb2NrKENBTExfSU5GTyBjaSkp
KTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3dpZHRoX2lu
dm9rZWJsb2NrKENBTExfSU5GTyBjaSkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRp
YyBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYXR0cl9iaW5fbGVhdmUodm9pZCkpKTsKPiArUFVSRUZV
TkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfaGFuZGxlc19zcF9sZWF2ZSh2b2lkKSkp
Owo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9sZWFmX2xlYXZlKHZv
aWQpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgY29uc3QgY2hhciogYXR0cl9u
YW1lX2xlYXZlKHZvaWQpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVt
X3QgYXR0cl9vcGVuX2xlYXZlKHZvaWQpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0
aWMgcmJfbnVtX3QgYXR0cl9wb3BuX2xlYXZlKHZvaWQpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VO
VVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9yZXRuX2xlYXZlKHZvaWQpKSk7Cj4gK1BVUkVGVU5D
KE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfc251bV90IGF0dHJfc3BfaW5jX2xlYXZlKHZvaWQpKSk7
Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl93aWR0aF9sZWF2
ZSh2b2lkKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGVudW0gcnVieV92bWlu
c25fdHlwZSBhdHRyX2Jpbl90aHJvdyhyYl9udW1fdCB0aHJvd19zdGF0ZSkpKTsKPiArUFVSRUZV
TkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfaGFuZGxlc19zcF90aHJvdyhyYl9udW1f
dCB0aHJvd19zdGF0ZSkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0
dHJfbGVhZl90aHJvdyhyYl9udW1fdCB0aHJvd19zdGF0ZSkpKTsKPiArUFVSRUZVTkMoTUFZQkVf
VU5VU0VEKHN0YXRpYyBjb25zdCBjaGFyKiBhdHRyX25hbWVfdGhyb3cocmJfbnVtX3QgdGhyb3df
c3RhdGUpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9v
cGVuX3Rocm93KHJiX251bV90IHRocm93X3N0YXRlKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVT
RUQoc3RhdGljIHJiX251bV90IGF0dHJfcG9wbl90aHJvdyhyYl9udW1fdCB0aHJvd19zdGF0ZSkp
KTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3JldG5fdGhy
b3cocmJfbnVtX3QgdGhyb3dfc3RhdGUpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0
aWMgcmJfc251bV90IGF0dHJfc3BfaW5jX3Rocm93KHJiX251bV90IHRocm93X3N0YXRlKSkpOwo+
ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfd2lkdGhfdGhyb3co
cmJfbnVtX3QgdGhyb3dfc3RhdGUpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMg
ZW51bSBydWJ5X3ZtaW5zbl90eXBlIGF0dHJfYmluX2p1bXAoT0ZGU0VUIGRzdCkpKTsKPiArUFVS
RUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfaGFuZGxlc19zcF9qdW1wKE9GRlNF
VCBkc3QpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2xlYWZf
anVtcChPRkZTRVQgZHN0KSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGNvbnN0
IGNoYXIqIGF0dHJfbmFtZV9qdW1wKE9GRlNFVCBkc3QpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VO
VVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9vcGVuX2p1bXAoT0ZGU0VUIGRzdCkpKTsKPiArUFVS
RUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3BvcG5fanVtcChPRkZTRVQg
ZHN0KSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcmV0
bl9qdW1wKE9GRlNFVCBkc3QpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJf
c251bV90IGF0dHJfc3BfaW5jX2p1bXAoT0ZGU0VUIGRzdCkpKTsKPiArUFVSRUZVTkMoTUFZQkVf
VU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3dpZHRoX2p1bXAoT0ZGU0VUIGRzdCkpKTsKPiAr
UFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYXR0cl9i
aW5fYnJhbmNoaWYoT0ZGU0VUIGRzdCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRp
YyBib29sIGF0dHJfaGFuZGxlc19zcF9icmFuY2hpZihPRkZTRVQgZHN0KSkpOwo+ICtQVVJFRlVO
QyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9sZWFmX2JyYW5jaGlmKE9GRlNFVCBkc3Qp
KSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgY29uc3QgY2hhciogYXR0cl9uYW1l
X2JyYW5jaGlmKE9GRlNFVCBkc3QpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMg
cmJfbnVtX3QgYXR0cl9vcGVuX2JyYW5jaGlmKE9GRlNFVCBkc3QpKSk7Cj4gK1BVUkVGVU5DKE1B
WUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9wb3BuX2JyYW5jaGlmKE9GRlNFVCBkc3Qp
KSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9yZXRuX2Jy
YW5jaGlmKE9GRlNFVCBkc3QpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJf
c251bV90IGF0dHJfc3BfaW5jX2JyYW5jaGlmKE9GRlNFVCBkc3QpKSk7Cj4gK1BVUkVGVU5DKE1B
WUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl93aWR0aF9icmFuY2hpZihPRkZTRVQgZHN0
KSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGVudW0gcnVieV92bWluc25fdHlw
ZSBhdHRyX2Jpbl9icmFuY2h1bmxlc3MoT0ZGU0VUIGRzdCkpKTsKPiArUFVSRUZVTkMoTUFZQkVf
VU5VU0VEKHN0YXRpYyBib29sIGF0dHJfaGFuZGxlc19zcF9icmFuY2h1bmxlc3MoT0ZGU0VUIGRz
dCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfbGVhZl9icmFu
Y2h1bmxlc3MoT0ZGU0VUIGRzdCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBj
b25zdCBjaGFyKiBhdHRyX25hbWVfYnJhbmNodW5sZXNzKE9GRlNFVCBkc3QpKSk7Cj4gK1BVUkVG
VU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9vcGVuX2JyYW5jaHVubGVzcyhP
RkZTRVQgZHN0KSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0
dHJfcG9wbl9icmFuY2h1bmxlc3MoT0ZGU0VUIGRzdCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5V
U0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3JldG5fYnJhbmNodW5sZXNzKE9GRlNFVCBkc3QpKSk7
Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfc251bV90IGF0dHJfc3BfaW5jX2Jy
YW5jaHVubGVzcyhPRkZTRVQgZHN0KSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGlj
IHJiX251bV90IGF0dHJfd2lkdGhfYnJhbmNodW5sZXNzKE9GRlNFVCBkc3QpKSk7Cj4gK1BVUkVG
VU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGF0dHJfYmluX2Jy
YW5jaG5pbChPRkZTRVQgZHN0KSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJv
b2wgYXR0cl9oYW5kbGVzX3NwX2JyYW5jaG5pbChPRkZTRVQgZHN0KSkpOwo+ICtQVVJFRlVOQyhN
QVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9sZWFmX2JyYW5jaG5pbChPRkZTRVQgZHN0KSkp
Owo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGNvbnN0IGNoYXIqIGF0dHJfbmFtZV9i
cmFuY2huaWwoT0ZGU0VUIGRzdCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBy
Yl9udW1fdCBhdHRyX29wZW5fYnJhbmNobmlsKE9GRlNFVCBkc3QpKSk7Cj4gK1BVUkVGVU5DKE1B
WUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9wb3BuX2JyYW5jaG5pbChPRkZTRVQgZHN0
KSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcmV0bl9i
cmFuY2huaWwoT0ZGU0VUIGRzdCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBy
Yl9zbnVtX3QgYXR0cl9zcF9pbmNfYnJhbmNobmlsKE9GRlNFVCBkc3QpKSk7Cj4gK1BVUkVGVU5D
KE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl93aWR0aF9icmFuY2huaWwoT0ZGU0VU
IGRzdCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBlbnVtIHJ1Ynlfdm1pbnNu
X3R5cGUgYXR0cl9iaW5fb3B0X2dldGlubGluZWNhY2hlKE9GRlNFVCBkc3QsIElDIGljKSkpOwo+
ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9oYW5kbGVzX3NwX29wdF9n
ZXRpbmxpbmVjYWNoZShPRkZTRVQgZHN0LCBJQyBpYykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5V
U0VEKHN0YXRpYyBib29sIGF0dHJfbGVhZl9vcHRfZ2V0aW5saW5lY2FjaGUoT0ZGU0VUIGRzdCwg
SUMgaWMpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgY29uc3QgY2hhciogYXR0
cl9uYW1lX29wdF9nZXRpbmxpbmVjYWNoZShPRkZTRVQgZHN0LCBJQyBpYykpKTsKPiArUFVSRUZV
TkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX29wZW5fb3B0X2dldGlubGluZWNh
Y2hlKE9GRlNFVCBkc3QsIElDIGljKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGlj
IHJiX251bV90IGF0dHJfcG9wbl9vcHRfZ2V0aW5saW5lY2FjaGUoT0ZGU0VUIGRzdCwgSUMgaWMp
KSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9yZXRuX29w
dF9nZXRpbmxpbmVjYWNoZShPRkZTRVQgZHN0LCBJQyBpYykpKTsKPiArUFVSRUZVTkMoTUFZQkVf
VU5VU0VEKHN0YXRpYyByYl9zbnVtX3QgYXR0cl9zcF9pbmNfb3B0X2dldGlubGluZWNhY2hlKE9G
RlNFVCBkc3QsIElDIGljKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251
bV90IGF0dHJfd2lkdGhfb3B0X2dldGlubGluZWNhY2hlKE9GRlNFVCBkc3QsIElDIGljKSkpOwo+
ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGVudW0gcnVieV92bWluc25fdHlwZSBhdHRy
X2Jpbl9vcHRfc2V0aW5saW5lY2FjaGUoSUMgaWMpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNF
RChzdGF0aWMgYm9vbCBhdHRyX2hhbmRsZXNfc3Bfb3B0X3NldGlubGluZWNhY2hlKElDIGljKSkp
Owo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9sZWFmX29wdF9zZXRp
bmxpbmVjYWNoZShJQyBpYykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBjb25z
dCBjaGFyKiBhdHRyX25hbWVfb3B0X3NldGlubGluZWNhY2hlKElDIGljKSkpOwo+ICtQVVJFRlVO
QyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfb3Blbl9vcHRfc2V0aW5saW5lY2Fj
aGUoSUMgaWMpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0
cl9wb3BuX29wdF9zZXRpbmxpbmVjYWNoZShJQyBpYykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5V
U0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3JldG5fb3B0X3NldGlubGluZWNhY2hlKElDIGljKSkp
Owo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX3NudW1fdCBhdHRyX3NwX2luY19v
cHRfc2V0aW5saW5lY2FjaGUoSUMgaWMpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0
aWMgcmJfbnVtX3QgYXR0cl93aWR0aF9vcHRfc2V0aW5saW5lY2FjaGUoSUMgaWMpKSk7Cj4gK1BV
UkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGF0dHJfYmlu
X29uY2UoSVNFUSBpc2VxLCBJU0UgaXNlKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3Rh
dGljIGJvb2wgYXR0cl9oYW5kbGVzX3NwX29uY2UoSVNFUSBpc2VxLCBJU0UgaXNlKSkpOwo+ICtQ
VVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9sZWFmX29uY2UoSVNFUSBpc2Vx
LCBJU0UgaXNlKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGNvbnN0IGNoYXIq
IGF0dHJfbmFtZV9vbmNlKElTRVEgaXNlcSwgSVNFIGlzZSkpKTsKPiArUFVSRUZVTkMoTUFZQkVf
VU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX29wZW5fb25jZShJU0VRIGlzZXEsIElTRSBpc2Up
KSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9wb3BuX29u
Y2UoSVNFUSBpc2VxLCBJU0UgaXNlKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGlj
IHJiX251bV90IGF0dHJfcmV0bl9vbmNlKElTRVEgaXNlcSwgSVNFIGlzZSkpKTsKPiArUFVSRUZV
TkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9zbnVtX3QgYXR0cl9zcF9pbmNfb25jZShJU0VRIGlz
ZXEsIElTRSBpc2UpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3Qg
YXR0cl93aWR0aF9vbmNlKElTRVEgaXNlcSwgSVNFIGlzZSkpKTsKPiArUFVSRUZVTkMoTUFZQkVf
VU5VU0VEKHN0YXRpYyBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYXR0cl9iaW5fb3B0X2Nhc2VfZGlz
cGF0Y2goQ0RIQVNIIGhhc2gsIE9GRlNFVCBlbHNlX29mZnNldCkpKTsKPiArUFVSRUZVTkMoTUFZ
QkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfaGFuZGxlc19zcF9vcHRfY2FzZV9kaXNwYXRjaChD
REhBU0ggaGFzaCwgT0ZGU0VUIGVsc2Vfb2Zmc2V0KSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVT
RUQoc3RhdGljIGJvb2wgYXR0cl9sZWFmX29wdF9jYXNlX2Rpc3BhdGNoKENESEFTSCBoYXNoLCBP
RkZTRVQgZWxzZV9vZmZzZXQpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgY29u
c3QgY2hhciogYXR0cl9uYW1lX29wdF9jYXNlX2Rpc3BhdGNoKENESEFTSCBoYXNoLCBPRkZTRVQg
ZWxzZV9vZmZzZXQpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3Qg
YXR0cl9vcGVuX29wdF9jYXNlX2Rpc3BhdGNoKENESEFTSCBoYXNoLCBPRkZTRVQgZWxzZV9vZmZz
ZXQpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9wb3Bu
X29wdF9jYXNlX2Rpc3BhdGNoKENESEFTSCBoYXNoLCBPRkZTRVQgZWxzZV9vZmZzZXQpKSk7Cj4g
K1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9yZXRuX29wdF9jYXNl
X2Rpc3BhdGNoKENESEFTSCBoYXNoLCBPRkZTRVQgZWxzZV9vZmZzZXQpKSk7Cj4gK1BVUkVGVU5D
KE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfc251bV90IGF0dHJfc3BfaW5jX29wdF9jYXNlX2Rpc3Bh
dGNoKENESEFTSCBoYXNoLCBPRkZTRVQgZWxzZV9vZmZzZXQpKSk7Cj4gK1BVUkVGVU5DKE1BWUJF
X1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl93aWR0aF9vcHRfY2FzZV9kaXNwYXRjaChDREhB
U0ggaGFzaCwgT0ZGU0VUIGVsc2Vfb2Zmc2V0KSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQo
c3RhdGljIGVudW0gcnVieV92bWluc25fdHlwZSBhdHRyX2Jpbl9vcHRfcGx1cyhDQUxMX0lORk8g
Y2ksIENBTExfQ0FDSEUgY2MpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9v
bCBhdHRyX2hhbmRsZXNfc3Bfb3B0X3BsdXMoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkp
Owo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9sZWFmX29wdF9wbHVz
KENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VE
KHN0YXRpYyBjb25zdCBjaGFyKiBhdHRyX25hbWVfb3B0X3BsdXMoQ0FMTF9JTkZPIGNpLCBDQUxM
X0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0
dHJfb3Blbl9vcHRfcGx1cyhDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7Cj4gK1BVUkVG
VU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9wb3BuX29wdF9wbHVzKENBTExf
SU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRp
YyByYl9udW1fdCBhdHRyX3JldG5fb3B0X3BsdXMoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNj
KSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX3NudW1fdCBhdHRyX3NwX2lu
Y19vcHRfcGx1cyhDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7Cj4gK1BVUkVGVU5DKE1B
WUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl93aWR0aF9vcHRfcGx1cyhDQUxMX0lORk8g
Y2ksIENBTExfQ0FDSEUgY2MpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgZW51
bSBydWJ5X3ZtaW5zbl90eXBlIGF0dHJfYmluX29wdF9taW51cyhDQUxMX0lORk8gY2ksIENBTExf
Q0FDSEUgY2MpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2hh
bmRsZXNfc3Bfb3B0X21pbnVzKENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKPiArUFVS
RUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfbGVhZl9vcHRfbWludXMoQ0FMTF9J
TkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGlj
IGNvbnN0IGNoYXIqIGF0dHJfbmFtZV9vcHRfbWludXMoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hF
IGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfb3Bl
bl9vcHRfbWludXMoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhN
QVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcG9wbl9vcHRfbWludXMoQ0FMTF9JTkZP
IGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJi
X251bV90IGF0dHJfcmV0bl9vcHRfbWludXMoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkp
Owo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX3NudW1fdCBhdHRyX3NwX2luY19v
cHRfbWludXMoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlC
RV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfd2lkdGhfb3B0X21pbnVzKENBTExfSU5GTyBj
aSwgQ0FMTF9DQUNIRSBjYykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBlbnVt
IHJ1Ynlfdm1pbnNuX3R5cGUgYXR0cl9iaW5fb3B0X211bHQoQ0FMTF9JTkZPIGNpLCBDQUxMX0NB
Q0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9oYW5k
bGVzX3NwX29wdF9tdWx0KENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKPiArUFVSRUZV
TkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfbGVhZl9vcHRfbXVsdChDQUxMX0lORk8g
Y2ksIENBTExfQ0FDSEUgY2MpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgY29u
c3QgY2hhciogYXR0cl9uYW1lX29wdF9tdWx0KENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykp
KTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX29wZW5fb3B0
X211bHQoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9V
TlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcG9wbl9vcHRfbXVsdChDQUxMX0lORk8gY2ksIENB
TExfQ0FDSEUgY2MpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3Qg
YXR0cl9yZXRuX29wdF9tdWx0KENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKPiArUFVS
RUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9zbnVtX3QgYXR0cl9zcF9pbmNfb3B0X211bHQo
Q0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQo
c3RhdGljIHJiX251bV90IGF0dHJfd2lkdGhfb3B0X211bHQoQ0FMTF9JTkZPIGNpLCBDQUxMX0NB
Q0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGVudW0gcnVieV92bWlu
c25fdHlwZSBhdHRyX2Jpbl9vcHRfZGl2KENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsK
PiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfaGFuZGxlc19zcF9vcHRf
ZGl2KENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5V
U0VEKHN0YXRpYyBib29sIGF0dHJfbGVhZl9vcHRfZGl2KENBTExfSU5GTyBjaSwgQ0FMTF9DQUNI
RSBjYykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBjb25zdCBjaGFyKiBhdHRy
X25hbWVfb3B0X2RpdihDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7Cj4gK1BVUkVGVU5D
KE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9vcGVuX29wdF9kaXYoQ0FMTF9JTkZP
IGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJi
X251bV90IGF0dHJfcG9wbl9vcHRfZGl2KENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsK
PiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3JldG5fb3B0X2Rp
dihDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNF
RChzdGF0aWMgcmJfc251bV90IGF0dHJfc3BfaW5jX29wdF9kaXYoQ0FMTF9JTkZPIGNpLCBDQUxM
X0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0
dHJfd2lkdGhfb3B0X2RpdihDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7Cj4gK1BVUkVG
VU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGF0dHJfYmluX29w
dF9tb2QoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9V
TlVTRUQoc3RhdGljIGJvb2wgYXR0cl9oYW5kbGVzX3NwX29wdF9tb2QoQ0FMTF9JTkZPIGNpLCBD
QUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0
cl9sZWFmX29wdF9tb2QoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVO
QyhNQVlCRV9VTlVTRUQoc3RhdGljIGNvbnN0IGNoYXIqIGF0dHJfbmFtZV9vcHRfbW9kKENBTExf
SU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRp
YyByYl9udW1fdCBhdHRyX29wZW5fb3B0X21vZChDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2Mp
KSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9wb3BuX29w
dF9tb2QoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9V
TlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcmV0bl9vcHRfbW9kKENBTExfSU5GTyBjaSwgQ0FM
TF9DQUNIRSBjYykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9zbnVtX3Qg
YXR0cl9zcF9pbmNfb3B0X21vZChDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7Cj4gK1BV
UkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl93aWR0aF9vcHRfbW9kKENB
TExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0
YXRpYyBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYXR0cl9iaW5fb3B0X2VxKENBTExfSU5GTyBjaSwg
Q0FMTF9DQUNIRSBjYykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0
dHJfaGFuZGxlc19zcF9vcHRfZXEoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwo+ICtQ
VVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9sZWFmX29wdF9lcShDQUxMX0lO
Rk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMg
Y29uc3QgY2hhciogYXR0cl9uYW1lX29wdF9lcShDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2Mp
KSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9vcGVuX29w
dF9lcShDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VO
VVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9wb3BuX29wdF9lcShDQUxMX0lORk8gY2ksIENBTExf
Q0FDSEUgY2MpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0
cl9yZXRuX29wdF9lcShDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7Cj4gK1BVUkVGVU5D
KE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfc251bV90IGF0dHJfc3BfaW5jX29wdF9lcShDQUxMX0lO
Rk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMg
cmJfbnVtX3QgYXR0cl93aWR0aF9vcHRfZXEoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkp
Owo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGVudW0gcnVieV92bWluc25fdHlwZSBh
dHRyX2Jpbl9vcHRfbmVxKENBTExfSU5GTyBjaV9lcSwgQ0FMTF9DQUNIRSBjY19lcSwgQ0FMTF9J
TkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGlj
IGJvb2wgYXR0cl9oYW5kbGVzX3NwX29wdF9uZXEoQ0FMTF9JTkZPIGNpX2VxLCBDQUxMX0NBQ0hF
IGNjX2VxLCBDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7Cj4gK1BVUkVGVU5DKE1BWUJF
X1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2xlYWZfb3B0X25lcShDQUxMX0lORk8gY2lfZXEsIENB
TExfQ0FDSEUgY2NfZXEsIENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKPiArUFVSRUZV
TkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBjb25zdCBjaGFyKiBhdHRyX25hbWVfb3B0X25lcShDQUxM
X0lORk8gY2lfZXEsIENBTExfQ0FDSEUgY2NfZXEsIENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBj
YykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX29wZW5f
b3B0X25lcShDQUxMX0lORk8gY2lfZXEsIENBTExfQ0FDSEUgY2NfZXEsIENBTExfSU5GTyBjaSwg
Q0FMTF9DQUNIRSBjYykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1f
dCBhdHRyX3BvcG5fb3B0X25lcShDQUxMX0lORk8gY2lfZXEsIENBTExfQ0FDSEUgY2NfZXEsIENB
TExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0
YXRpYyByYl9udW1fdCBhdHRyX3JldG5fb3B0X25lcShDQUxMX0lORk8gY2lfZXEsIENBTExfQ0FD
SEUgY2NfZXEsIENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKPiArUFVSRUZVTkMoTUFZ
QkVfVU5VU0VEKHN0YXRpYyByYl9zbnVtX3QgYXR0cl9zcF9pbmNfb3B0X25lcShDQUxMX0lORk8g
Y2lfZXEsIENBTExfQ0FDSEUgY2NfZXEsIENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsK
PiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3dpZHRoX29wdF9u
ZXEoQ0FMTF9JTkZPIGNpX2VxLCBDQUxMX0NBQ0hFIGNjX2VxLCBDQUxMX0lORk8gY2ksIENBTExf
Q0FDSEUgY2MpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgZW51bSBydWJ5X3Zt
aW5zbl90eXBlIGF0dHJfYmluX29wdF9sdChDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7
Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2hhbmRsZXNfc3Bfb3B0
X2x0KENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5V
U0VEKHN0YXRpYyBib29sIGF0dHJfbGVhZl9vcHRfbHQoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hF
IGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGNvbnN0IGNoYXIqIGF0dHJf
bmFtZV9vcHRfbHQoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhN
QVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfb3Blbl9vcHRfbHQoQ0FMTF9JTkZPIGNp
LCBDQUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251
bV90IGF0dHJfcG9wbl9vcHRfbHQoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwo+ICtQ
VVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcmV0bl9vcHRfbHQoQ0FM
TF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3Rh
dGljIHJiX3NudW1fdCBhdHRyX3NwX2luY19vcHRfbHQoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hF
IGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfd2lk
dGhfb3B0X2x0KENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKPiArUFVSRUZVTkMoTUFZ
QkVfVU5VU0VEKHN0YXRpYyBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYXR0cl9iaW5fb3B0X2xlKENB
TExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0
YXRpYyBib29sIGF0dHJfaGFuZGxlc19zcF9vcHRfbGUoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hF
IGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9sZWFmX29w
dF9sZShDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VO
VVNFRChzdGF0aWMgY29uc3QgY2hhciogYXR0cl9uYW1lX29wdF9sZShDQUxMX0lORk8gY2ksIENB
TExfQ0FDSEUgY2MpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3Qg
YXR0cl9vcGVuX29wdF9sZShDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7Cj4gK1BVUkVG
VU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9wb3BuX29wdF9sZShDQUxMX0lO
Rk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMg
cmJfbnVtX3QgYXR0cl9yZXRuX29wdF9sZShDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7
Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfc251bV90IGF0dHJfc3BfaW5jX29w
dF9sZShDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VO
VVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl93aWR0aF9vcHRfbGUoQ0FMTF9JTkZPIGNpLCBDQUxM
X0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGVudW0gcnVieV92
bWluc25fdHlwZSBhdHRyX2Jpbl9vcHRfZ3QoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkp
Owo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9oYW5kbGVzX3NwX29w
dF9ndChDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VO
VVNFRChzdGF0aWMgYm9vbCBhdHRyX2xlYWZfb3B0X2d0KENBTExfSU5GTyBjaSwgQ0FMTF9DQUNI
RSBjYykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBjb25zdCBjaGFyKiBhdHRy
X25hbWVfb3B0X2d0KENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKPiArUFVSRUZVTkMo
TUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX29wZW5fb3B0X2d0KENBTExfSU5GTyBj
aSwgQ0FMTF9DQUNIRSBjYykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9u
dW1fdCBhdHRyX3BvcG5fb3B0X2d0KENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKPiAr
UFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3JldG5fb3B0X2d0KENB
TExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0
YXRpYyByYl9zbnVtX3QgYXR0cl9zcF9pbmNfb3B0X2d0KENBTExfSU5GTyBjaSwgQ0FMTF9DQUNI
RSBjYykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3dp
ZHRoX29wdF9ndChDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7Cj4gK1BVUkVGVU5DKE1B
WUJFX1VOVVNFRChzdGF0aWMgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGF0dHJfYmluX29wdF9nZShD
QUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChz
dGF0aWMgYm9vbCBhdHRyX2hhbmRsZXNfc3Bfb3B0X2dlKENBTExfSU5GTyBjaSwgQ0FMTF9DQUNI
RSBjYykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfbGVhZl9v
cHRfZ2UoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9V
TlVTRUQoc3RhdGljIGNvbnN0IGNoYXIqIGF0dHJfbmFtZV9vcHRfZ2UoQ0FMTF9JTkZPIGNpLCBD
QUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90
IGF0dHJfb3Blbl9vcHRfZ2UoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJF
RlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcG9wbl9vcHRfZ2UoQ0FMTF9J
TkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGlj
IHJiX251bV90IGF0dHJfcmV0bl9vcHRfZ2UoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkp
Owo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX3NudW1fdCBhdHRyX3NwX2luY19v
cHRfZ2UoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9V
TlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfd2lkdGhfb3B0X2dlKENBTExfSU5GTyBjaSwgQ0FM
TF9DQUNIRSBjYykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBlbnVtIHJ1Ynlf
dm1pbnNuX3R5cGUgYXR0cl9iaW5fb3B0X2x0bHQoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNj
KSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9oYW5kbGVzX3Nw
X29wdF9sdGx0KENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKPiArUFVSRUZVTkMoTUFZ
QkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfbGVhZl9vcHRfbHRsdChDQUxMX0lORk8gY2ksIENB
TExfQ0FDSEUgY2MpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgY29uc3QgY2hh
ciogYXR0cl9uYW1lX29wdF9sdGx0KENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKPiAr
UFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX29wZW5fb3B0X2x0bHQo
Q0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQo
c3RhdGljIHJiX251bV90IGF0dHJfcG9wbl9vcHRfbHRsdChDQUxMX0lORk8gY2ksIENBTExfQ0FD
SEUgY2MpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9y
ZXRuX29wdF9sdGx0KENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKPiArUFVSRUZVTkMo
TUFZQkVfVU5VU0VEKHN0YXRpYyByYl9zbnVtX3QgYXR0cl9zcF9pbmNfb3B0X2x0bHQoQ0FMTF9J
TkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGlj
IHJiX251bV90IGF0dHJfd2lkdGhfb3B0X2x0bHQoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNj
KSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGVudW0gcnVieV92bWluc25fdHlw
ZSBhdHRyX2Jpbl9vcHRfYW5kKENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKPiArUFVS
RUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfaGFuZGxlc19zcF9vcHRfYW5kKENB
TExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0
YXRpYyBib29sIGF0dHJfbGVhZl9vcHRfYW5kKENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykp
KTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBjb25zdCBjaGFyKiBhdHRyX25hbWVf
b3B0X2FuZChDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7Cj4gK1BVUkVGVU5DKE1BWUJF
X1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9vcGVuX29wdF9hbmQoQ0FMTF9JTkZPIGNpLCBD
QUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90
IGF0dHJfcG9wbl9vcHRfYW5kKENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKPiArUFVS
RUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3JldG5fb3B0X2FuZChDQUxM
X0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0
aWMgcmJfc251bV90IGF0dHJfc3BfaW5jX29wdF9hbmQoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hF
IGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfd2lk
dGhfb3B0X2FuZChDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7Cj4gK1BVUkVGVU5DKE1B
WUJFX1VOVVNFRChzdGF0aWMgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGF0dHJfYmluX29wdF9vcihD
QUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChz
dGF0aWMgYm9vbCBhdHRyX2hhbmRsZXNfc3Bfb3B0X29yKENBTExfSU5GTyBjaSwgQ0FMTF9DQUNI
RSBjYykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfbGVhZl9v
cHRfb3IoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9V
TlVTRUQoc3RhdGljIGNvbnN0IGNoYXIqIGF0dHJfbmFtZV9vcHRfb3IoQ0FMTF9JTkZPIGNpLCBD
QUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90
IGF0dHJfb3Blbl9vcHRfb3IoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJF
RlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcG9wbl9vcHRfb3IoQ0FMTF9J
TkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGlj
IHJiX251bV90IGF0dHJfcmV0bl9vcHRfb3IoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkp
Owo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX3NudW1fdCBhdHRyX3NwX2luY19v
cHRfb3IoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9V
TlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfd2lkdGhfb3B0X29yKENBTExfSU5GTyBjaSwgQ0FM
TF9DQUNIRSBjYykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBlbnVtIHJ1Ynlf
dm1pbnNuX3R5cGUgYXR0cl9iaW5fb3B0X2FyZWYoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNj
KSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9oYW5kbGVzX3Nw
X29wdF9hcmVmKENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKPiArUFVSRUZVTkMoTUFZ
QkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfbGVhZl9vcHRfYXJlZihDQUxMX0lORk8gY2ksIENB
TExfQ0FDSEUgY2MpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgY29uc3QgY2hh
ciogYXR0cl9uYW1lX29wdF9hcmVmKENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKPiAr
UFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX29wZW5fb3B0X2FyZWYo
Q0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQo
c3RhdGljIHJiX251bV90IGF0dHJfcG9wbl9vcHRfYXJlZihDQUxMX0lORk8gY2ksIENBTExfQ0FD
SEUgY2MpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9y
ZXRuX29wdF9hcmVmKENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKPiArUFVSRUZVTkMo
TUFZQkVfVU5VU0VEKHN0YXRpYyByYl9zbnVtX3QgYXR0cl9zcF9pbmNfb3B0X2FyZWYoQ0FMTF9J
TkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGlj
IHJiX251bV90IGF0dHJfd2lkdGhfb3B0X2FyZWYoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNj
KSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGVudW0gcnVieV92bWluc25fdHlw
ZSBhdHRyX2Jpbl9vcHRfYXNldChDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7Cj4gK1BV
UkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2hhbmRsZXNfc3Bfb3B0X2FzZXQo
Q0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQo
c3RhdGljIGJvb2wgYXR0cl9sZWFmX29wdF9hc2V0KENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBj
YykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBjb25zdCBjaGFyKiBhdHRyX25h
bWVfb3B0X2FzZXQoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhN
QVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfb3Blbl9vcHRfYXNldChDQUxMX0lORk8g
Y2ksIENBTExfQ0FDSEUgY2MpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJf
bnVtX3QgYXR0cl9wb3BuX29wdF9hc2V0KENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsK
PiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3JldG5fb3B0X2Fz
ZXQoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVT
RUQoc3RhdGljIHJiX3NudW1fdCBhdHRyX3NwX2luY19vcHRfYXNldChDQUxMX0lORk8gY2ksIENB
TExfQ0FDSEUgY2MpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3Qg
YXR0cl93aWR0aF9vcHRfYXNldChDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7Cj4gK1BV
UkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGF0dHJfYmlu
X29wdF9hc2V0X3dpdGgoVkFMVUUga2V5LCBDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7
Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2hhbmRsZXNfc3Bfb3B0
X2FzZXRfd2l0aChWQUxVRSBrZXksIENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKPiAr
UFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfbGVhZl9vcHRfYXNldF93aXRo
KFZBTFVFIGtleSwgQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhN
QVlCRV9VTlVTRUQoc3RhdGljIGNvbnN0IGNoYXIqIGF0dHJfbmFtZV9vcHRfYXNldF93aXRoKFZB
TFVFIGtleSwgQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlC
RV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfb3Blbl9vcHRfYXNldF93aXRoKFZBTFVFIGtl
eSwgQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVT
RUQoc3RhdGljIHJiX251bV90IGF0dHJfcG9wbl9vcHRfYXNldF93aXRoKFZBTFVFIGtleSwgQ0FM
TF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3Rh
dGljIHJiX251bV90IGF0dHJfcmV0bl9vcHRfYXNldF93aXRoKFZBTFVFIGtleSwgQ0FMTF9JTkZP
IGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJi
X3NudW1fdCBhdHRyX3NwX2luY19vcHRfYXNldF93aXRoKFZBTFVFIGtleSwgQ0FMTF9JTkZPIGNp
LCBDQUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251
bV90IGF0dHJfd2lkdGhfb3B0X2FzZXRfd2l0aChWQUxVRSBrZXksIENBTExfSU5GTyBjaSwgQ0FM
TF9DQUNIRSBjYykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBlbnVtIHJ1Ynlf
dm1pbnNuX3R5cGUgYXR0cl9iaW5fb3B0X2FyZWZfd2l0aChWQUxVRSBrZXksIENBTExfSU5GTyBj
aSwgQ0FMTF9DQUNIRSBjYykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29s
IGF0dHJfaGFuZGxlc19zcF9vcHRfYXJlZl93aXRoKFZBTFVFIGtleSwgQ0FMTF9JTkZPIGNpLCBD
QUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0
cl9sZWFmX29wdF9hcmVmX3dpdGgoVkFMVUUga2V5LCBDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUg
Y2MpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgY29uc3QgY2hhciogYXR0cl9u
YW1lX29wdF9hcmVmX3dpdGgoVkFMVUUga2V5LCBDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2Mp
KSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9vcGVuX29w
dF9hcmVmX3dpdGgoVkFMVUUga2V5LCBDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7Cj4g
K1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9wb3BuX29wdF9hcmVm
X3dpdGgoVkFMVUUga2V5LCBDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7Cj4gK1BVUkVG
VU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9yZXRuX29wdF9hcmVmX3dpdGgo
VkFMVUUga2V5LCBDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7Cj4gK1BVUkVGVU5DKE1B
WUJFX1VOVVNFRChzdGF0aWMgcmJfc251bV90IGF0dHJfc3BfaW5jX29wdF9hcmVmX3dpdGgoVkFM
VUUga2V5LCBDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7Cj4gK1BVUkVGVU5DKE1BWUJF
X1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl93aWR0aF9vcHRfYXJlZl93aXRoKFZBTFVFIGtl
eSwgQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVT
RUQoc3RhdGljIGVudW0gcnVieV92bWluc25fdHlwZSBhdHRyX2Jpbl9vcHRfbGVuZ3RoKENBTExf
SU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRp
YyBib29sIGF0dHJfaGFuZGxlc19zcF9vcHRfbGVuZ3RoKENBTExfSU5GTyBjaSwgQ0FMTF9DQUNI
RSBjYykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfbGVhZl9v
cHRfbGVuZ3RoKENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKPiArUFVSRUZVTkMoTUFZ
QkVfVU5VU0VEKHN0YXRpYyBjb25zdCBjaGFyKiBhdHRyX25hbWVfb3B0X2xlbmd0aChDQUxMX0lO
Rk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMg
cmJfbnVtX3QgYXR0cl9vcGVuX29wdF9sZW5ndGgoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNj
KSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcG9wbl9v
cHRfbGVuZ3RoKENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKPiArUFVSRUZVTkMoTUFZ
QkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3JldG5fb3B0X2xlbmd0aChDQUxMX0lORk8g
Y2ksIENBTExfQ0FDSEUgY2MpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJf
c251bV90IGF0dHJfc3BfaW5jX29wdF9sZW5ndGgoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNj
KSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfd2lkdGhf
b3B0X2xlbmd0aChDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7Cj4gK1BVUkVGVU5DKE1B
WUJFX1VOVVNFRChzdGF0aWMgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGF0dHJfYmluX29wdF9zaXpl
KENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VE
KHN0YXRpYyBib29sIGF0dHJfaGFuZGxlc19zcF9vcHRfc2l6ZShDQUxMX0lORk8gY2ksIENBTExf
Q0FDSEUgY2MpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2xl
YWZfb3B0X3NpemUoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhN
QVlCRV9VTlVTRUQoc3RhdGljIGNvbnN0IGNoYXIqIGF0dHJfbmFtZV9vcHRfc2l6ZShDQUxMX0lO
Rk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMg
cmJfbnVtX3QgYXR0cl9vcGVuX29wdF9zaXplKENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykp
KTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3BvcG5fb3B0
X3NpemUoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9V
TlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcmV0bl9vcHRfc2l6ZShDQUxMX0lORk8gY2ksIENB
TExfQ0FDSEUgY2MpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfc251bV90
IGF0dHJfc3BfaW5jX29wdF9zaXplKENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKPiAr
UFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3dpZHRoX29wdF9zaXpl
KENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VE
KHN0YXRpYyBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYXR0cl9iaW5fb3B0X2VtcHR5X3AoQ0FMTF9J
TkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGlj
IGJvb2wgYXR0cl9oYW5kbGVzX3NwX29wdF9lbXB0eV9wKENBTExfSU5GTyBjaSwgQ0FMTF9DQUNI
RSBjYykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfbGVhZl9v
cHRfZW1wdHlfcChDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7Cj4gK1BVUkVGVU5DKE1B
WUJFX1VOVVNFRChzdGF0aWMgY29uc3QgY2hhciogYXR0cl9uYW1lX29wdF9lbXB0eV9wKENBTExf
SU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRp
YyByYl9udW1fdCBhdHRyX29wZW5fb3B0X2VtcHR5X3AoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hF
IGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcG9w
bl9vcHRfZW1wdHlfcChDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7Cj4gK1BVUkVGVU5D
KE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9yZXRuX29wdF9lbXB0eV9wKENBTExf
SU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRp
YyByYl9zbnVtX3QgYXR0cl9zcF9pbmNfb3B0X2VtcHR5X3AoQ0FMTF9JTkZPIGNpLCBDQUxMX0NB
Q0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJf
d2lkdGhfb3B0X2VtcHR5X3AoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJF
RlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGVudW0gcnVieV92bWluc25fdHlwZSBhdHRyX2Jpbl9v
cHRfc3VjYyhDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7Cj4gK1BVUkVGVU5DKE1BWUJF
X1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2hhbmRsZXNfc3Bfb3B0X3N1Y2MoQ0FMTF9JTkZPIGNp
LCBDQUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wg
YXR0cl9sZWFmX29wdF9zdWNjKENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKPiArUFVS
RUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBjb25zdCBjaGFyKiBhdHRyX25hbWVfb3B0X3N1Y2Mo
Q0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQo
c3RhdGljIHJiX251bV90IGF0dHJfb3Blbl9vcHRfc3VjYyhDQUxMX0lORk8gY2ksIENBTExfQ0FD
SEUgY2MpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9w
b3BuX29wdF9zdWNjKENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKPiArUFVSRUZVTkMo
TUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3JldG5fb3B0X3N1Y2MoQ0FMTF9JTkZP
IGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJi
X3NudW1fdCBhdHRyX3NwX2luY19vcHRfc3VjYyhDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2Mp
KSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl93aWR0aF9v
cHRfc3VjYyhDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7Cj4gK1BVUkVGVU5DKE1BWUJF
X1VOVVNFRChzdGF0aWMgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGF0dHJfYmluX29wdF9ub3QoQ0FM
TF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3Rh
dGljIGJvb2wgYXR0cl9oYW5kbGVzX3NwX29wdF9ub3QoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hF
IGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9sZWFmX29w
dF9ub3QoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9V
TlVTRUQoc3RhdGljIGNvbnN0IGNoYXIqIGF0dHJfbmFtZV9vcHRfbm90KENBTExfSU5GTyBjaSwg
Q0FMTF9DQUNIRSBjYykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1f
dCBhdHRyX29wZW5fb3B0X25vdChDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7Cj4gK1BV
UkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9wb3BuX29wdF9ub3QoQ0FM
TF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3Rh
dGljIHJiX251bV90IGF0dHJfcmV0bl9vcHRfbm90KENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBj
YykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9zbnVtX3QgYXR0cl9zcF9p
bmNfb3B0X25vdChDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7Cj4gK1BVUkVGVU5DKE1B
WUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl93aWR0aF9vcHRfbm90KENBTExfSU5GTyBj
aSwgQ0FMTF9DQUNIRSBjYykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBlbnVt
IHJ1Ynlfdm1pbnNuX3R5cGUgYXR0cl9iaW5fb3B0X3JlZ2V4cG1hdGNoMShWQUxVRSByZWN2KSkp
Owo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9oYW5kbGVzX3NwX29w
dF9yZWdleHBtYXRjaDEoVkFMVUUgcmVjdikpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0
YXRpYyBib29sIGF0dHJfbGVhZl9vcHRfcmVnZXhwbWF0Y2gxKFZBTFVFIHJlY3YpKSk7Cj4gK1BV
UkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgY29uc3QgY2hhciogYXR0cl9uYW1lX29wdF9yZWdl
eHBtYXRjaDEoVkFMVUUgcmVjdikpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBy
Yl9udW1fdCBhdHRyX29wZW5fb3B0X3JlZ2V4cG1hdGNoMShWQUxVRSByZWN2KSkpOwo+ICtQVVJF
RlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcG9wbl9vcHRfcmVnZXhwbWF0
Y2gxKFZBTFVFIHJlY3YpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVt
X3QgYXR0cl9yZXRuX29wdF9yZWdleHBtYXRjaDEoVkFMVUUgcmVjdikpKTsKPiArUFVSRUZVTkMo
TUFZQkVfVU5VU0VEKHN0YXRpYyByYl9zbnVtX3QgYXR0cl9zcF9pbmNfb3B0X3JlZ2V4cG1hdGNo
MShWQUxVRSByZWN2KSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90
IGF0dHJfd2lkdGhfb3B0X3JlZ2V4cG1hdGNoMShWQUxVRSByZWN2KSkpOwo+ICtQVVJFRlVOQyhN
QVlCRV9VTlVTRUQoc3RhdGljIGVudW0gcnVieV92bWluc25fdHlwZSBhdHRyX2Jpbl9vcHRfcmVn
ZXhwbWF0Y2gyKENBTExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKPiArUFVSRUZVTkMoTUFZ
QkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfaGFuZGxlc19zcF9vcHRfcmVnZXhwbWF0Y2gyKENB
TExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0
YXRpYyBib29sIGF0dHJfbGVhZl9vcHRfcmVnZXhwbWF0Y2gyKENBTExfSU5GTyBjaSwgQ0FMTF9D
QUNIRSBjYykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBjb25zdCBjaGFyKiBh
dHRyX25hbWVfb3B0X3JlZ2V4cG1hdGNoMihDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7
Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9vcGVuX29wdF9y
ZWdleHBtYXRjaDIoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNjKSkpOwo+ICtQVVJFRlVOQyhN
QVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcG9wbl9vcHRfcmVnZXhwbWF0Y2gyKENB
TExfSU5GTyBjaSwgQ0FMTF9DQUNIRSBjYykpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0
YXRpYyByYl9udW1fdCBhdHRyX3JldG5fb3B0X3JlZ2V4cG1hdGNoMihDQUxMX0lORk8gY2ksIENB
TExfQ0FDSEUgY2MpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfc251bV90
IGF0dHJfc3BfaW5jX29wdF9yZWdleHBtYXRjaDIoQ0FMTF9JTkZPIGNpLCBDQUxMX0NBQ0hFIGNj
KSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfd2lkdGhf
b3B0X3JlZ2V4cG1hdGNoMihDQUxMX0lORk8gY2ksIENBTExfQ0FDSEUgY2MpKSk7Cj4gK1BVUkVG
VU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGF0dHJfYmluX29w
dF9jYWxsX2NfZnVuY3Rpb24ocmJfaW5zbl9mdW5jX3QgZnVuY3B0cikpKTsKPiArUFVSRUZVTkMo
TUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfaGFuZGxlc19zcF9vcHRfY2FsbF9jX2Z1bmN0
aW9uKHJiX2luc25fZnVuY190IGZ1bmNwdHIpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChz
dGF0aWMgYm9vbCBhdHRyX2xlYWZfb3B0X2NhbGxfY19mdW5jdGlvbihyYl9pbnNuX2Z1bmNfdCBm
dW5jcHRyKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGNvbnN0IGNoYXIqIGF0
dHJfbmFtZV9vcHRfY2FsbF9jX2Z1bmN0aW9uKHJiX2luc25fZnVuY190IGZ1bmNwdHIpKSk7Cj4g
K1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9vcGVuX29wdF9jYWxs
X2NfZnVuY3Rpb24ocmJfaW5zbl9mdW5jX3QgZnVuY3B0cikpKTsKPiArUFVSRUZVTkMoTUFZQkVf
VU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3BvcG5fb3B0X2NhbGxfY19mdW5jdGlvbihyYl9p
bnNuX2Z1bmNfdCBmdW5jcHRyKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJi
X251bV90IGF0dHJfcmV0bl9vcHRfY2FsbF9jX2Z1bmN0aW9uKHJiX2luc25fZnVuY190IGZ1bmNw
dHIpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfc251bV90IGF0dHJfc3Bf
aW5jX29wdF9jYWxsX2NfZnVuY3Rpb24ocmJfaW5zbl9mdW5jX3QgZnVuY3B0cikpKTsKPiArUFVS
RUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3dpZHRoX29wdF9jYWxsX2Nf
ZnVuY3Rpb24ocmJfaW5zbl9mdW5jX3QgZnVuY3B0cikpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5V
U0VEKHN0YXRpYyBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYXR0cl9iaW5fYml0Ymx0KHZvaWQpKSk7
Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2hhbmRsZXNfc3BfYml0
Ymx0KHZvaWQpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2xl
YWZfYml0Ymx0KHZvaWQpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgY29uc3Qg
Y2hhciogYXR0cl9uYW1lX2JpdGJsdCh2b2lkKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQo
c3RhdGljIHJiX251bV90IGF0dHJfb3Blbl9iaXRibHQodm9pZCkpKTsKPiArUFVSRUZVTkMoTUFZ
QkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3BvcG5fYml0Ymx0KHZvaWQpKSk7Cj4gK1BV
UkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9yZXRuX2JpdGJsdCh2b2lk
KSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX3NudW1fdCBhdHRyX3NwX2lu
Y19iaXRibHQodm9pZCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1f
dCBhdHRyX3dpZHRoX2JpdGJsdCh2b2lkKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3Rh
dGljIGVudW0gcnVieV92bWluc25fdHlwZSBhdHRyX2Jpbl9hbnN3ZXIodm9pZCkpKTsKPiArUFVS
RUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfaGFuZGxlc19zcF9hbnN3ZXIodm9p
ZCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfbGVhZl9hbnN3
ZXIodm9pZCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBjb25zdCBjaGFyKiBh
dHRyX25hbWVfYW5zd2VyKHZvaWQpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMg
cmJfbnVtX3QgYXR0cl9vcGVuX2Fuc3dlcih2b2lkKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVT
RUQoc3RhdGljIHJiX251bV90IGF0dHJfcG9wbl9hbnN3ZXIodm9pZCkpKTsKPiArUFVSRUZVTkMo
TUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3JldG5fYW5zd2VyKHZvaWQpKSk7Cj4g
K1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfc251bV90IGF0dHJfc3BfaW5jX2Fuc3dl
cih2b2lkKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJf
d2lkdGhfYW5zd2VyKHZvaWQpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgZW51
bSBydWJ5X3ZtaW5zbl90eXBlIGF0dHJfYmluX2dldGxvY2FsX1dDXzAobGluZGV4X3QgaWR4KSkp
Owo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9oYW5kbGVzX3NwX2dl
dGxvY2FsX1dDXzAobGluZGV4X3QgaWR4KSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3Rh
dGljIGJvb2wgYXR0cl9sZWFmX2dldGxvY2FsX1dDXzAobGluZGV4X3QgaWR4KSkpOwo+ICtQVVJF
RlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGNvbnN0IGNoYXIqIGF0dHJfbmFtZV9nZXRsb2NhbF9X
Q18wKGxpbmRleF90IGlkeCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9u
dW1fdCBhdHRyX29wZW5fZ2V0bG9jYWxfV0NfMChsaW5kZXhfdCBpZHgpKSk7Cj4gK1BVUkVGVU5D
KE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9wb3BuX2dldGxvY2FsX1dDXzAobGlu
ZGV4X3QgaWR4KSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0
dHJfcmV0bl9nZXRsb2NhbF9XQ18wKGxpbmRleF90IGlkeCkpKTsKPiArUFVSRUZVTkMoTUFZQkVf
VU5VU0VEKHN0YXRpYyByYl9zbnVtX3QgYXR0cl9zcF9pbmNfZ2V0bG9jYWxfV0NfMChsaW5kZXhf
dCBpZHgpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl93
aWR0aF9nZXRsb2NhbF9XQ18wKGxpbmRleF90IGlkeCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5V
U0VEKHN0YXRpYyBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYXR0cl9iaW5fZ2V0bG9jYWxfV0NfMShs
aW5kZXhfdCBpZHgpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRy
X2hhbmRsZXNfc3BfZ2V0bG9jYWxfV0NfMShsaW5kZXhfdCBpZHgpKSk7Cj4gK1BVUkVGVU5DKE1B
WUJFX1VOVVNFRChzdGF0aWMgYm9vbCBhdHRyX2xlYWZfZ2V0bG9jYWxfV0NfMShsaW5kZXhfdCBp
ZHgpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgY29uc3QgY2hhciogYXR0cl9u
YW1lX2dldGxvY2FsX1dDXzEobGluZGV4X3QgaWR4KSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVT
RUQoc3RhdGljIHJiX251bV90IGF0dHJfb3Blbl9nZXRsb2NhbF9XQ18xKGxpbmRleF90IGlkeCkp
KTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3BvcG5fZ2V0
bG9jYWxfV0NfMShsaW5kZXhfdCBpZHgpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0
aWMgcmJfbnVtX3QgYXR0cl9yZXRuX2dldGxvY2FsX1dDXzEobGluZGV4X3QgaWR4KSkpOwo+ICtQ
VVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX3NudW1fdCBhdHRyX3NwX2luY19nZXRsb2Nh
bF9XQ18xKGxpbmRleF90IGlkeCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBy
Yl9udW1fdCBhdHRyX3dpZHRoX2dldGxvY2FsX1dDXzEobGluZGV4X3QgaWR4KSkpOwo+ICtQVVJF
RlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGVudW0gcnVieV92bWluc25fdHlwZSBhdHRyX2Jpbl9z
ZXRsb2NhbF9XQ18wKGxpbmRleF90IGlkeCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0
YXRpYyBib29sIGF0dHJfaGFuZGxlc19zcF9zZXRsb2NhbF9XQ18wKGxpbmRleF90IGlkeCkpKTsK
PiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfbGVhZl9zZXRsb2NhbF9X
Q18wKGxpbmRleF90IGlkeCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBjb25z
dCBjaGFyKiBhdHRyX25hbWVfc2V0bG9jYWxfV0NfMChsaW5kZXhfdCBpZHgpKSk7Cj4gK1BVUkVG
VU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9vcGVuX3NldGxvY2FsX1dDXzAo
bGluZGV4X3QgaWR4KSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90
IGF0dHJfcG9wbl9zZXRsb2NhbF9XQ18wKGxpbmRleF90IGlkeCkpKTsKPiArUFVSRUZVTkMoTUFZ
QkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3JldG5fc2V0bG9jYWxfV0NfMChsaW5kZXhf
dCBpZHgpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfc251bV90IGF0dHJf
c3BfaW5jX3NldGxvY2FsX1dDXzAobGluZGV4X3QgaWR4KSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9V
TlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfd2lkdGhfc2V0bG9jYWxfV0NfMChsaW5kZXhfdCBp
ZHgpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgZW51bSBydWJ5X3ZtaW5zbl90
eXBlIGF0dHJfYmluX3NldGxvY2FsX1dDXzEobGluZGV4X3QgaWR4KSkpOwo+ICtQVVJFRlVOQyhN
QVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9oYW5kbGVzX3NwX3NldGxvY2FsX1dDXzEobGlu
ZGV4X3QgaWR4KSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9s
ZWFmX3NldGxvY2FsX1dDXzEobGluZGV4X3QgaWR4KSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVT
RUQoc3RhdGljIGNvbnN0IGNoYXIqIGF0dHJfbmFtZV9zZXRsb2NhbF9XQ18xKGxpbmRleF90IGlk
eCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX29wZW5f
c2V0bG9jYWxfV0NfMShsaW5kZXhfdCBpZHgpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChz
dGF0aWMgcmJfbnVtX3QgYXR0cl9wb3BuX3NldGxvY2FsX1dDXzEobGluZGV4X3QgaWR4KSkpOwo+
ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIHJiX251bV90IGF0dHJfcmV0bl9zZXRsb2Nh
bF9XQ18xKGxpbmRleF90IGlkeCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBy
Yl9zbnVtX3QgYXR0cl9zcF9pbmNfc2V0bG9jYWxfV0NfMShsaW5kZXhfdCBpZHgpKSk7Cj4gK1BV
UkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl93aWR0aF9zZXRsb2NhbF9X
Q18xKGxpbmRleF90IGlkeCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBlbnVt
IHJ1Ynlfdm1pbnNuX3R5cGUgYXR0cl9iaW5fcHV0b2JqZWN0X0lOVDJGSVhfMF8odm9pZCkpKTsK
PiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBib29sIGF0dHJfaGFuZGxlc19zcF9wdXRv
YmplY3RfSU5UMkZJWF8wXyh2b2lkKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGlj
IGJvb2wgYXR0cl9sZWFmX3B1dG9iamVjdF9JTlQyRklYXzBfKHZvaWQpKSk7Cj4gK1BVUkVGVU5D
KE1BWUJFX1VOVVNFRChzdGF0aWMgY29uc3QgY2hhciogYXR0cl9uYW1lX3B1dG9iamVjdF9JTlQy
RklYXzBfKHZvaWQpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3Qg
YXR0cl9vcGVuX3B1dG9iamVjdF9JTlQyRklYXzBfKHZvaWQpKSk7Cj4gK1BVUkVGVU5DKE1BWUJF
X1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9wb3BuX3B1dG9iamVjdF9JTlQyRklYXzBfKHZv
aWQpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl9yZXRu
X3B1dG9iamVjdF9JTlQyRklYXzBfKHZvaWQpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChz
dGF0aWMgcmJfc251bV90IGF0dHJfc3BfaW5jX3B1dG9iamVjdF9JTlQyRklYXzBfKHZvaWQpKSk7
Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgcmJfbnVtX3QgYXR0cl93aWR0aF9wdXRv
YmplY3RfSU5UMkZJWF8wXyh2b2lkKSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGlj
IGVudW0gcnVieV92bWluc25fdHlwZSBhdHRyX2Jpbl9wdXRvYmplY3RfSU5UMkZJWF8xXyh2b2lk
KSkpOwo+ICtQVVJFRlVOQyhNQVlCRV9VTlVTRUQoc3RhdGljIGJvb2wgYXR0cl9oYW5kbGVzX3Nw
X3B1dG9iamVjdF9JTlQyRklYXzFfKHZvaWQpKSk7Cj4gK1BVUkVGVU5DKE1BWUJFX1VOVVNFRChz
dGF0aWMgYm9vbCBhdHRyX2xlYWZfcHV0b2JqZWN0X0lOVDJGSVhfMV8odm9pZCkpKTsKPiArUFVS
RUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyBjb25zdCBjaGFyKiBhdHRyX25hbWVfcHV0b2JqZWN0
X0lOVDJGSVhfMV8odm9pZCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9u
dW1fdCBhdHRyX29wZW5fcHV0b2JqZWN0X0lOVDJGSVhfMV8odm9pZCkpKTsKPiArUFVSRUZVTkMo
TUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3BvcG5fcHV0b2JqZWN0X0lOVDJGSVhf
MV8odm9pZCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRy
X3JldG5fcHV0b2JqZWN0X0lOVDJGSVhfMV8odm9pZCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5V
U0VEKHN0YXRpYyByYl9zbnVtX3QgYXR0cl9zcF9pbmNfcHV0b2JqZWN0X0lOVDJGSVhfMV8odm9p
ZCkpKTsKPiArUFVSRUZVTkMoTUFZQkVfVU5VU0VEKHN0YXRpYyByYl9udW1fdCBhdHRyX3dpZHRo
X3B1dG9iamVjdF9JTlQyRklYXzFfKHZvaWQpKSk7Cj4gKwo+ICsvKiBhdHRyIGVudW0gcnVieV92
bWluc25fdHlwZSBiaW4gQCBub3AoKSgpKCkgKi8KPiArZW51bSBydWJ5X3ZtaW5zbl90eXBlCj4g
K2F0dHJfYmluX25vcCh2b2lkKQo+ICt7Cj4gKyAgICByZXR1cm4gQklOKG5vcCk7Cj4gK30KPiAr
Cj4gKy8qIGF0dHIgYm9vbCBoYW5kbGVzX3NwIEAgbm9wKCkoKSgpICovCj4gK2Jvb2wKPiArYXR0
cl9oYW5kbGVzX3NwX25vcCh2b2lkKQo+ICt7Cj4gKyAgICByZXR1cm4gZmFsc2U7Cj4gK30KPiAr
Cj4gKy8qIGF0dHIgYm9vbCBsZWFmIEAgbm9wKCkoKSgpICovCj4gK2Jvb2wKPiArYXR0cl9sZWFm
X25vcCh2b2lkKQo+ICt7Cj4gKyAgICByZXR1cm4gdHJ1ZTsKPiArfQo+ICsKPiArLyogYXR0ciBj
b25zdCBjaGFyKiBuYW1lIEAgbm9wKCkoKSgpICovCj4gK2NvbnN0IGNoYXIqCj4gK2F0dHJfbmFt
ZV9ub3Aodm9pZCkKPiArewo+ICsgICAgcmV0dXJuIGluc25fbmFtZShCSU4obm9wKSk7Cj4gK30K
PiArCj4gKy8qIGF0dHIgcmJfbnVtX3Qgb3BlbiBAIG5vcCgpKCkoKSAqLwo+ICtyYl9udW1fdAo+
ICthdHRyX29wZW5fbm9wKHZvaWQpCj4gK3sKPiArICAgIHJldHVybiAwOwo+ICt9Cj4gKwo+ICsv
KiBhdHRyIHJiX251bV90IHBvcG4gQCBub3AoKSgpKCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl9w
b3BuX25vcCh2b2lkKQo+ICt7Cj4gKyAgICByZXR1cm4gMDsKPiArfQo+ICsKPiArLyogYXR0ciBy
Yl9udW1fdCByZXRuIEAgbm9wKCkoKSgpICovCj4gK3JiX251bV90Cj4gK2F0dHJfcmV0bl9ub3Ao
dm9pZCkKPiArewo+ICsgICAgcmV0dXJuIDA7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfc251bV90
IHNwX2luYyBAIG5vcCgpKCkoKSAqLwo+ICtyYl9zbnVtX3QKPiArYXR0cl9zcF9pbmNfbm9wKHZv
aWQpCj4gK3sKPiArICAgIHJldHVybiAwOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHdp
ZHRoIEAgbm9wKCkoKSgpICovCj4gK3JiX251bV90Cj4gK2F0dHJfd2lkdGhfbm9wKHZvaWQpCj4g
K3sKPiArICAgIHJldHVybiAxOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGVudW0gcnVieV92bWluc25f
dHlwZSBiaW4gQCBnZXRsb2NhbChpZHgsIGxldmVsKSgpKHZhbCkgKi8KPiArZW51bSBydWJ5X3Zt
aW5zbl90eXBlCj4gK2F0dHJfYmluX2dldGxvY2FsKAo+ICsgICAgTUFZQkVfVU5VU0VEKGxpbmRl
eF90IGlkeCksCj4gKyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QgbGV2ZWwpCj4gKykKPiArewo+
ICsgICAgcmV0dXJuIEJJTihnZXRsb2NhbCk7Cj4gK30KPiArCj4gKy8qIGF0dHIgYm9vbCBoYW5k
bGVzX3NwIEAgZ2V0bG9jYWwoaWR4LCBsZXZlbCkoKSh2YWwpICovCj4gK2Jvb2wKPiArYXR0cl9o
YW5kbGVzX3NwX2dldGxvY2FsKAo+ICsgICAgTUFZQkVfVU5VU0VEKGxpbmRleF90IGlkeCksCj4g
KyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QgbGV2ZWwpCj4gKykKPiArewo+ICsgICAgcmV0dXJu
IGZhbHNlOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGJvb2wgbGVhZiBAIGdldGxvY2FsKGlkeCwgbGV2
ZWwpKCkodmFsKSAqLwo+ICtib29sCj4gK2F0dHJfbGVhZl9nZXRsb2NhbCgKPiArICAgIE1BWUJF
X1VOVVNFRChsaW5kZXhfdCBpZHgpLAo+ICsgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IGxldmVs
KQo+ICspCj4gK3sKPiArICAgIHJldHVybiB0cnVlOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGNvbnN0
IGNoYXIqIG5hbWUgQCBnZXRsb2NhbChpZHgsIGxldmVsKSgpKHZhbCkgKi8KPiArY29uc3QgY2hh
cioKPiArYXR0cl9uYW1lX2dldGxvY2FsKAo+ICsgICAgTUFZQkVfVU5VU0VEKGxpbmRleF90IGlk
eCksCj4gKyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QgbGV2ZWwpCj4gKykKPiArewo+ICsgICAg
cmV0dXJuIGluc25fbmFtZShCSU4oZ2V0bG9jYWwpKTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9u
dW1fdCBvcGVuIEAgZ2V0bG9jYWwoaWR4LCBsZXZlbCkoKSh2YWwpICovCj4gK3JiX251bV90Cj4g
K2F0dHJfb3Blbl9nZXRsb2NhbCgKPiArICAgIE1BWUJFX1VOVVNFRChsaW5kZXhfdCBpZHgpLAo+
ICsgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IGxldmVsKQo+ICspCj4gK3sKPiArICAgIHJldHVy
biAyOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHBvcG4gQCBnZXRsb2NhbChpZHgsIGxl
dmVsKSgpKHZhbCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl9wb3BuX2dldGxvY2FsKAo+ICsgICAg
TUFZQkVfVU5VU0VEKGxpbmRleF90IGlkeCksCj4gKyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3Qg
bGV2ZWwpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIDA7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJf
bnVtX3QgcmV0biBAIGdldGxvY2FsKGlkeCwgbGV2ZWwpKCkodmFsKSAqLwo+ICtyYl9udW1fdAo+
ICthdHRyX3JldG5fZ2V0bG9jYWwoCj4gKyAgICBNQVlCRV9VTlVTRUQobGluZGV4X3QgaWR4KSwK
PiArICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCBsZXZlbCkKPiArKQo+ICt7Cj4gKyAgICByZXR1
cm4gMTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9zbnVtX3Qgc3BfaW5jIEAgZ2V0bG9jYWwoaWR4
LCBsZXZlbCkoKSh2YWwpICovCj4gK3JiX3NudW1fdAo+ICthdHRyX3NwX2luY19nZXRsb2NhbCgK
PiArICAgIE1BWUJFX1VOVVNFRChsaW5kZXhfdCBpZHgpLAo+ICsgICAgTUFZQkVfVU5VU0VEKHJi
X251bV90IGxldmVsKQo+ICspCj4gK3sKPiArICAgIHJldHVybiAxOwo+ICt9Cj4gKwo+ICsvKiBh
dHRyIHJiX251bV90IHdpZHRoIEAgZ2V0bG9jYWwoaWR4LCBsZXZlbCkoKSh2YWwpICovCj4gK3Ji
X251bV90Cj4gK2F0dHJfd2lkdGhfZ2V0bG9jYWwoCj4gKyAgICBNQVlCRV9VTlVTRUQobGluZGV4
X3QgaWR4KSwKPiArICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCBsZXZlbCkKPiArKQo+ICt7Cj4g
KyAgICByZXR1cm4gMzsKPiArfQo+ICsKPiArLyogYXR0ciBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUg
YmluIEAgc2V0bG9jYWwoaWR4LCBsZXZlbCkodmFsKSgpICovCj4gK2VudW0gcnVieV92bWluc25f
dHlwZQo+ICthdHRyX2Jpbl9zZXRsb2NhbCgKPiArICAgIE1BWUJFX1VOVVNFRChsaW5kZXhfdCBp
ZHgpLAo+ICsgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IGxldmVsKQo+ICspCj4gK3sKPiArICAg
IHJldHVybiBCSU4oc2V0bG9jYWwpOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGJvb2wgaGFuZGxlc19z
cCBAIHNldGxvY2FsKGlkeCwgbGV2ZWwpKHZhbCkoKSAqLwo+ICtib29sCj4gK2F0dHJfaGFuZGxl
c19zcF9zZXRsb2NhbCgKPiArICAgIE1BWUJFX1VOVVNFRChsaW5kZXhfdCBpZHgpLAo+ICsgICAg
TUFZQkVfVU5VU0VEKHJiX251bV90IGxldmVsKQo+ICspCj4gK3sKPiArICAgIHJldHVybiBmYWxz
ZTsKPiArfQo+ICsKPiArLyogYXR0ciBib29sIGxlYWYgQCBzZXRsb2NhbChpZHgsIGxldmVsKSh2
YWwpKCkgKi8KPiArYm9vbAo+ICthdHRyX2xlYWZfc2V0bG9jYWwoCj4gKyAgICBNQVlCRV9VTlVT
RUQobGluZGV4X3QgaWR4KSwKPiArICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCBsZXZlbCkKPiAr
KQo+ICt7Cj4gKyAgICByZXR1cm4gdHJ1ZTsKPiArfQo+ICsKPiArLyogYXR0ciBjb25zdCBjaGFy
KiBuYW1lIEAgc2V0bG9jYWwoaWR4LCBsZXZlbCkodmFsKSgpICovCj4gK2NvbnN0IGNoYXIqCj4g
K2F0dHJfbmFtZV9zZXRsb2NhbCgKPiArICAgIE1BWUJFX1VOVVNFRChsaW5kZXhfdCBpZHgpLAo+
ICsgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IGxldmVsKQo+ICspCj4gK3sKPiArICAgIHJldHVy
biBpbnNuX25hbWUoQklOKHNldGxvY2FsKSk7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3Qg
b3BlbiBAIHNldGxvY2FsKGlkeCwgbGV2ZWwpKHZhbCkoKSAqLwo+ICtyYl9udW1fdAo+ICthdHRy
X29wZW5fc2V0bG9jYWwoCj4gKyAgICBNQVlCRV9VTlVTRUQobGluZGV4X3QgaWR4KSwKPiArICAg
IE1BWUJFX1VOVVNFRChyYl9udW1fdCBsZXZlbCkKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gMjsK
PiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCBwb3BuIEAgc2V0bG9jYWwoaWR4LCBsZXZlbCko
dmFsKSgpICovCj4gK3JiX251bV90Cj4gK2F0dHJfcG9wbl9zZXRsb2NhbCgKPiArICAgIE1BWUJF
X1VOVVNFRChsaW5kZXhfdCBpZHgpLAo+ICsgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IGxldmVs
KQo+ICspCj4gK3sKPiArICAgIHJldHVybiAxOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90
IHJldG4gQCBzZXRsb2NhbChpZHgsIGxldmVsKSh2YWwpKCkgKi8KPiArcmJfbnVtX3QKPiArYXR0
cl9yZXRuX3NldGxvY2FsKAo+ICsgICAgTUFZQkVfVU5VU0VEKGxpbmRleF90IGlkeCksCj4gKyAg
ICBNQVlCRV9VTlVTRUQocmJfbnVtX3QgbGV2ZWwpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIDA7
Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfc251bV90IHNwX2luYyBAIHNldGxvY2FsKGlkeCwgbGV2
ZWwpKHZhbCkoKSAqLwo+ICtyYl9zbnVtX3QKPiArYXR0cl9zcF9pbmNfc2V0bG9jYWwoCj4gKyAg
ICBNQVlCRV9VTlVTRUQobGluZGV4X3QgaWR4KSwKPiArICAgIE1BWUJFX1VOVVNFRChyYl9udW1f
dCBsZXZlbCkKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gLTE7Cj4gK30KPiArCj4gKy8qIGF0dHIg
cmJfbnVtX3Qgd2lkdGggQCBzZXRsb2NhbChpZHgsIGxldmVsKSh2YWwpKCkgKi8KPiArcmJfbnVt
X3QKPiArYXR0cl93aWR0aF9zZXRsb2NhbCgKPiArICAgIE1BWUJFX1VOVVNFRChsaW5kZXhfdCBp
ZHgpLAo+ICsgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IGxldmVsKQo+ICspCj4gK3sKPiArICAg
IHJldHVybiAzOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGVudW0gcnVieV92bWluc25fdHlwZSBiaW4g
QCBnZXRibG9ja3BhcmFtKGlkeCwgbGV2ZWwpKCkodmFsKSAqLwo+ICtlbnVtIHJ1Ynlfdm1pbnNu
X3R5cGUKPiArYXR0cl9iaW5fZ2V0YmxvY2twYXJhbSgKPiArICAgIE1BWUJFX1VOVVNFRChsaW5k
ZXhfdCBpZHgpLAo+ICsgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IGxldmVsKQo+ICspCj4gK3sK
PiArICAgIHJldHVybiBCSU4oZ2V0YmxvY2twYXJhbSk7Cj4gK30KPiArCj4gKy8qIGF0dHIgYm9v
bCBoYW5kbGVzX3NwIEAgZ2V0YmxvY2twYXJhbShpZHgsIGxldmVsKSgpKHZhbCkgKi8KPiArYm9v
bAo+ICthdHRyX2hhbmRsZXNfc3BfZ2V0YmxvY2twYXJhbSgKPiArICAgIE1BWUJFX1VOVVNFRChs
aW5kZXhfdCBpZHgpLAo+ICsgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IGxldmVsKQo+ICspCj4g
K3sKPiArICAgIHJldHVybiBmYWxzZTsKPiArfQo+ICsKPiArLyogYXR0ciBib29sIGxlYWYgQCBn
ZXRibG9ja3BhcmFtKGlkeCwgbGV2ZWwpKCkodmFsKSAqLwo+ICtib29sCj4gK2F0dHJfbGVhZl9n
ZXRibG9ja3BhcmFtKAo+ICsgICAgTUFZQkVfVU5VU0VEKGxpbmRleF90IGlkeCksCj4gKyAgICBN
QVlCRV9VTlVTRUQocmJfbnVtX3QgbGV2ZWwpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIHRydWU7
Cj4gK30KPiArCj4gKy8qIGF0dHIgY29uc3QgY2hhciogbmFtZSBAIGdldGJsb2NrcGFyYW0oaWR4
LCBsZXZlbCkoKSh2YWwpICovCj4gK2NvbnN0IGNoYXIqCj4gK2F0dHJfbmFtZV9nZXRibG9ja3Bh
cmFtKAo+ICsgICAgTUFZQkVfVU5VU0VEKGxpbmRleF90IGlkeCksCj4gKyAgICBNQVlCRV9VTlVT
RUQocmJfbnVtX3QgbGV2ZWwpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIGluc25fbmFtZShCSU4o
Z2V0YmxvY2twYXJhbSkpOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IG9wZW4gQCBnZXRi
bG9ja3BhcmFtKGlkeCwgbGV2ZWwpKCkodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX29wZW5f
Z2V0YmxvY2twYXJhbSgKPiArICAgIE1BWUJFX1VOVVNFRChsaW5kZXhfdCBpZHgpLAo+ICsgICAg
TUFZQkVfVU5VU0VEKHJiX251bV90IGxldmVsKQo+ICspCj4gK3sKPiArICAgIHJldHVybiAyOwo+
ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHBvcG4gQCBnZXRibG9ja3BhcmFtKGlkeCwgbGV2
ZWwpKCkodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3BvcG5fZ2V0YmxvY2twYXJhbSgKPiAr
ICAgIE1BWUJFX1VOVVNFRChsaW5kZXhfdCBpZHgpLAo+ICsgICAgTUFZQkVfVU5VU0VEKHJiX251
bV90IGxldmVsKQo+ICspCj4gK3sKPiArICAgIHJldHVybiAwOwo+ICt9Cj4gKwo+ICsvKiBhdHRy
IHJiX251bV90IHJldG4gQCBnZXRibG9ja3BhcmFtKGlkeCwgbGV2ZWwpKCkodmFsKSAqLwo+ICty
Yl9udW1fdAo+ICthdHRyX3JldG5fZ2V0YmxvY2twYXJhbSgKPiArICAgIE1BWUJFX1VOVVNFRChs
aW5kZXhfdCBpZHgpLAo+ICsgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IGxldmVsKQo+ICspCj4g
K3sKPiArICAgIHJldHVybiAxOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX3NudW1fdCBzcF9pbmMg
QCBnZXRibG9ja3BhcmFtKGlkeCwgbGV2ZWwpKCkodmFsKSAqLwo+ICtyYl9zbnVtX3QKPiArYXR0
cl9zcF9pbmNfZ2V0YmxvY2twYXJhbSgKPiArICAgIE1BWUJFX1VOVVNFRChsaW5kZXhfdCBpZHgp
LAo+ICsgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IGxldmVsKQo+ICspCj4gK3sKPiArICAgIHJl
dHVybiAxOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHdpZHRoIEAgZ2V0YmxvY2twYXJh
bShpZHgsIGxldmVsKSgpKHZhbCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl93aWR0aF9nZXRibG9j
a3BhcmFtKAo+ICsgICAgTUFZQkVfVU5VU0VEKGxpbmRleF90IGlkeCksCj4gKyAgICBNQVlCRV9V
TlVTRUQocmJfbnVtX3QgbGV2ZWwpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIDM7Cj4gK30KPiAr
Cj4gKy8qIGF0dHIgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGJpbiBAIHNldGJsb2NrcGFyYW0oaWR4
LCBsZXZlbCkodmFsKSgpICovCj4gK2VudW0gcnVieV92bWluc25fdHlwZQo+ICthdHRyX2Jpbl9z
ZXRibG9ja3BhcmFtKAo+ICsgICAgTUFZQkVfVU5VU0VEKGxpbmRleF90IGlkeCksCj4gKyAgICBN
QVlCRV9VTlVTRUQocmJfbnVtX3QgbGV2ZWwpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIEJJTihz
ZXRibG9ja3BhcmFtKTsKPiArfQo+ICsKPiArLyogYXR0ciBib29sIGhhbmRsZXNfc3AgQCBzZXRi
bG9ja3BhcmFtKGlkeCwgbGV2ZWwpKHZhbCkoKSAqLwo+ICtib29sCj4gK2F0dHJfaGFuZGxlc19z
cF9zZXRibG9ja3BhcmFtKAo+ICsgICAgTUFZQkVfVU5VU0VEKGxpbmRleF90IGlkeCksCj4gKyAg
ICBNQVlCRV9VTlVTRUQocmJfbnVtX3QgbGV2ZWwpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIGZh
bHNlOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGJvb2wgbGVhZiBAIHNldGJsb2NrcGFyYW0oaWR4LCBs
ZXZlbCkodmFsKSgpICovCj4gK2Jvb2wKPiArYXR0cl9sZWFmX3NldGJsb2NrcGFyYW0oCj4gKyAg
ICBNQVlCRV9VTlVTRUQobGluZGV4X3QgaWR4KSwKPiArICAgIE1BWUJFX1VOVVNFRChyYl9udW1f
dCBsZXZlbCkKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gdHJ1ZTsKPiArfQo+ICsKPiArLyogYXR0
ciBjb25zdCBjaGFyKiBuYW1lIEAgc2V0YmxvY2twYXJhbShpZHgsIGxldmVsKSh2YWwpKCkgKi8K
PiArY29uc3QgY2hhcioKPiArYXR0cl9uYW1lX3NldGJsb2NrcGFyYW0oCj4gKyAgICBNQVlCRV9V
TlVTRUQobGluZGV4X3QgaWR4KSwKPiArICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCBsZXZlbCkK
PiArKQo+ICt7Cj4gKyAgICByZXR1cm4gaW5zbl9uYW1lKEJJTihzZXRibG9ja3BhcmFtKSk7Cj4g
K30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3Qgb3BlbiBAIHNldGJsb2NrcGFyYW0oaWR4LCBsZXZl
bCkodmFsKSgpICovCj4gK3JiX251bV90Cj4gK2F0dHJfb3Blbl9zZXRibG9ja3BhcmFtKAo+ICsg
ICAgTUFZQkVfVU5VU0VEKGxpbmRleF90IGlkeCksCj4gKyAgICBNQVlCRV9VTlVTRUQocmJfbnVt
X3QgbGV2ZWwpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIDI7Cj4gK30KPiArCj4gKy8qIGF0dHIg
cmJfbnVtX3QgcG9wbiBAIHNldGJsb2NrcGFyYW0oaWR4LCBsZXZlbCkodmFsKSgpICovCj4gK3Ji
X251bV90Cj4gK2F0dHJfcG9wbl9zZXRibG9ja3BhcmFtKAo+ICsgICAgTUFZQkVfVU5VU0VEKGxp
bmRleF90IGlkeCksCj4gKyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QgbGV2ZWwpCj4gKykKPiAr
ewo+ICsgICAgcmV0dXJuIDE7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3QgcmV0biBAIHNl
dGJsb2NrcGFyYW0oaWR4LCBsZXZlbCkodmFsKSgpICovCj4gK3JiX251bV90Cj4gK2F0dHJfcmV0
bl9zZXRibG9ja3BhcmFtKAo+ICsgICAgTUFZQkVfVU5VU0VEKGxpbmRleF90IGlkeCksCj4gKyAg
ICBNQVlCRV9VTlVTRUQocmJfbnVtX3QgbGV2ZWwpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIDA7
Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfc251bV90IHNwX2luYyBAIHNldGJsb2NrcGFyYW0oaWR4
LCBsZXZlbCkodmFsKSgpICovCj4gK3JiX3NudW1fdAo+ICthdHRyX3NwX2luY19zZXRibG9ja3Bh
cmFtKAo+ICsgICAgTUFZQkVfVU5VU0VEKGxpbmRleF90IGlkeCksCj4gKyAgICBNQVlCRV9VTlVT
RUQocmJfbnVtX3QgbGV2ZWwpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIC0xOwo+ICt9Cj4gKwo+
ICsvKiBhdHRyIHJiX251bV90IHdpZHRoIEAgc2V0YmxvY2twYXJhbShpZHgsIGxldmVsKSh2YWwp
KCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl93aWR0aF9zZXRibG9ja3BhcmFtKAo+ICsgICAgTUFZ
QkVfVU5VU0VEKGxpbmRleF90IGlkeCksCj4gKyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QgbGV2
ZWwpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIDM7Cj4gK30KPiArCj4gKy8qIGF0dHIgZW51bSBy
dWJ5X3ZtaW5zbl90eXBlIGJpbiBAIGdldGJsb2NrcGFyYW1wcm94eShpZHgsIGxldmVsKSgpKHZh
bCkgKi8KPiArZW51bSBydWJ5X3ZtaW5zbl90eXBlCj4gK2F0dHJfYmluX2dldGJsb2NrcGFyYW1w
cm94eSgKPiArICAgIE1BWUJFX1VOVVNFRChsaW5kZXhfdCBpZHgpLAo+ICsgICAgTUFZQkVfVU5V
U0VEKHJiX251bV90IGxldmVsKQo+ICspCj4gK3sKPiArICAgIHJldHVybiBCSU4oZ2V0YmxvY2tw
YXJhbXByb3h5KTsKPiArfQo+ICsKPiArLyogYXR0ciBib29sIGhhbmRsZXNfc3AgQCBnZXRibG9j
a3BhcmFtcHJveHkoaWR4LCBsZXZlbCkoKSh2YWwpICovCj4gK2Jvb2wKPiArYXR0cl9oYW5kbGVz
X3NwX2dldGJsb2NrcGFyYW1wcm94eSgKPiArICAgIE1BWUJFX1VOVVNFRChsaW5kZXhfdCBpZHgp
LAo+ICsgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IGxldmVsKQo+ICspCj4gK3sKPiArICAgIHJl
dHVybiBmYWxzZTsKPiArfQo+ICsKPiArLyogYXR0ciBib29sIGxlYWYgQCBnZXRibG9ja3BhcmFt
cHJveHkoaWR4LCBsZXZlbCkoKSh2YWwpICovCj4gK2Jvb2wKPiArYXR0cl9sZWFmX2dldGJsb2Nr
cGFyYW1wcm94eSgKPiArICAgIE1BWUJFX1VOVVNFRChsaW5kZXhfdCBpZHgpLAo+ICsgICAgTUFZ
QkVfVU5VU0VEKHJiX251bV90IGxldmVsKQo+ICspCj4gK3sKPiArICAgIHJldHVybiB0cnVlOwo+
ICt9Cj4gKwo+ICsvKiBhdHRyIGNvbnN0IGNoYXIqIG5hbWUgQCBnZXRibG9ja3BhcmFtcHJveHko
aWR4LCBsZXZlbCkoKSh2YWwpICovCj4gK2NvbnN0IGNoYXIqCj4gK2F0dHJfbmFtZV9nZXRibG9j
a3BhcmFtcHJveHkoCj4gKyAgICBNQVlCRV9VTlVTRUQobGluZGV4X3QgaWR4KSwKPiArICAgIE1B
WUJFX1VOVVNFRChyYl9udW1fdCBsZXZlbCkKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gaW5zbl9u
YW1lKEJJTihnZXRibG9ja3BhcmFtcHJveHkpKTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1f
dCBvcGVuIEAgZ2V0YmxvY2twYXJhbXByb3h5KGlkeCwgbGV2ZWwpKCkodmFsKSAqLwo+ICtyYl9u
dW1fdAo+ICthdHRyX29wZW5fZ2V0YmxvY2twYXJhbXByb3h5KAo+ICsgICAgTUFZQkVfVU5VU0VE
KGxpbmRleF90IGlkeCksCj4gKyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QgbGV2ZWwpCj4gKykK
PiArewo+ICsgICAgcmV0dXJuIDI7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3QgcG9wbiBA
IGdldGJsb2NrcGFyYW1wcm94eShpZHgsIGxldmVsKSgpKHZhbCkgKi8KPiArcmJfbnVtX3QKPiAr
YXR0cl9wb3BuX2dldGJsb2NrcGFyYW1wcm94eSgKPiArICAgIE1BWUJFX1VOVVNFRChsaW5kZXhf
dCBpZHgpLAo+ICsgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IGxldmVsKQo+ICspCj4gK3sKPiAr
ICAgIHJldHVybiAwOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHJldG4gQCBnZXRibG9j
a3BhcmFtcHJveHkoaWR4LCBsZXZlbCkoKSh2YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJfcmV0
bl9nZXRibG9ja3BhcmFtcHJveHkoCj4gKyAgICBNQVlCRV9VTlVTRUQobGluZGV4X3QgaWR4KSwK
PiArICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCBsZXZlbCkKPiArKQo+ICt7Cj4gKyAgICByZXR1
cm4gMTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9zbnVtX3Qgc3BfaW5jIEAgZ2V0YmxvY2twYXJh
bXByb3h5KGlkeCwgbGV2ZWwpKCkodmFsKSAqLwo+ICtyYl9zbnVtX3QKPiArYXR0cl9zcF9pbmNf
Z2V0YmxvY2twYXJhbXByb3h5KAo+ICsgICAgTUFZQkVfVU5VU0VEKGxpbmRleF90IGlkeCksCj4g
KyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QgbGV2ZWwpCj4gKykKPiArewo+ICsgICAgcmV0dXJu
IDE7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3Qgd2lkdGggQCBnZXRibG9ja3BhcmFtcHJv
eHkoaWR4LCBsZXZlbCkoKSh2YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJfd2lkdGhfZ2V0Ymxv
Y2twYXJhbXByb3h5KAo+ICsgICAgTUFZQkVfVU5VU0VEKGxpbmRleF90IGlkeCksCj4gKyAgICBN
QVlCRV9VTlVTRUQocmJfbnVtX3QgbGV2ZWwpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIDM7Cj4g
K30KPiArCj4gKy8qIGF0dHIgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGJpbiBAIGdldHNwZWNpYWwo
a2V5LCB0eXBlKSgpKHZhbCkgKi8KPiArZW51bSBydWJ5X3ZtaW5zbl90eXBlCj4gK2F0dHJfYmlu
X2dldHNwZWNpYWwoCj4gKyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3Qga2V5KSwKPiArICAgIE1B
WUJFX1VOVVNFRChyYl9udW1fdCB0eXBlKQo+ICspCj4gK3sKPiArICAgIHJldHVybiBCSU4oZ2V0
c3BlY2lhbCk7Cj4gK30KPiArCj4gKy8qIGF0dHIgYm9vbCBoYW5kbGVzX3NwIEAgZ2V0c3BlY2lh
bChrZXksIHR5cGUpKCkodmFsKSAqLwo+ICtib29sCj4gK2F0dHJfaGFuZGxlc19zcF9nZXRzcGVj
aWFsKAo+ICsgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IGtleSksCj4gKyAgICBNQVlCRV9VTlVT
RUQocmJfbnVtX3QgdHlwZSkKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gZmFsc2U7Cj4gK30KPiAr
Cj4gKy8qIGF0dHIgYm9vbCBsZWFmIEAgZ2V0c3BlY2lhbChrZXksIHR5cGUpKCkodmFsKSAqLwo+
ICtib29sCj4gK2F0dHJfbGVhZl9nZXRzcGVjaWFsKAo+ICsgICAgTUFZQkVfVU5VU0VEKHJiX251
bV90IGtleSksCj4gKyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QgdHlwZSkKPiArKQo+ICt7Cj4g
KyAgICByZXR1cm4gdHJ1ZTsKPiArfQo+ICsKPiArLyogYXR0ciBjb25zdCBjaGFyKiBuYW1lIEAg
Z2V0c3BlY2lhbChrZXksIHR5cGUpKCkodmFsKSAqLwo+ICtjb25zdCBjaGFyKgo+ICthdHRyX25h
bWVfZ2V0c3BlY2lhbCgKPiArICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCBrZXkpLAo+ICsgICAg
TUFZQkVfVU5VU0VEKHJiX251bV90IHR5cGUpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIGluc25f
bmFtZShCSU4oZ2V0c3BlY2lhbCkpOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IG9wZW4g
QCBnZXRzcGVjaWFsKGtleSwgdHlwZSkoKSh2YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJfb3Bl
bl9nZXRzcGVjaWFsKAo+ICsgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IGtleSksCj4gKyAgICBN
QVlCRV9VTlVTRUQocmJfbnVtX3QgdHlwZSkKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gMjsKPiAr
fQo+ICsKPiArLyogYXR0ciByYl9udW1fdCBwb3BuIEAgZ2V0c3BlY2lhbChrZXksIHR5cGUpKCko
dmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3BvcG5fZ2V0c3BlY2lhbCgKPiArICAgIE1BWUJF
X1VOVVNFRChyYl9udW1fdCBrZXkpLAo+ICsgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IHR5cGUp
Cj4gKykKPiArewo+ICsgICAgcmV0dXJuIDA7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3Qg
cmV0biBAIGdldHNwZWNpYWwoa2V5LCB0eXBlKSgpKHZhbCkgKi8KPiArcmJfbnVtX3QKPiArYXR0
cl9yZXRuX2dldHNwZWNpYWwoCj4gKyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3Qga2V5KSwKPiAr
ICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCB0eXBlKQo+ICspCj4gK3sKPiArICAgIHJldHVybiAx
Owo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX3NudW1fdCBzcF9pbmMgQCBnZXRzcGVjaWFsKGtleSwg
dHlwZSkoKSh2YWwpICovCj4gK3JiX3NudW1fdAo+ICthdHRyX3NwX2luY19nZXRzcGVjaWFsKAo+
ICsgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IGtleSksCj4gKyAgICBNQVlCRV9VTlVTRUQocmJf
bnVtX3QgdHlwZSkKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gMTsKPiArfQo+ICsKPiArLyogYXR0
ciByYl9udW1fdCB3aWR0aCBAIGdldHNwZWNpYWwoa2V5LCB0eXBlKSgpKHZhbCkgKi8KPiArcmJf
bnVtX3QKPiArYXR0cl93aWR0aF9nZXRzcGVjaWFsKAo+ICsgICAgTUFZQkVfVU5VU0VEKHJiX251
bV90IGtleSksCj4gKyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QgdHlwZSkKPiArKQo+ICt7Cj4g
KyAgICByZXR1cm4gMzsKPiArfQo+ICsKPiArLyogYXR0ciBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUg
YmluIEAgc2V0c3BlY2lhbChrZXkpKG9iaikoKSAqLwo+ICtlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUK
PiArYXR0cl9iaW5fc2V0c3BlY2lhbChNQVlCRV9VTlVTRUQocmJfbnVtX3Qga2V5KSkKPiArewo+
ICsgICAgcmV0dXJuIEJJTihzZXRzcGVjaWFsKTsKPiArfQo+ICsKPiArLyogYXR0ciBib29sIGhh
bmRsZXNfc3AgQCBzZXRzcGVjaWFsKGtleSkob2JqKSgpICovCj4gK2Jvb2wKPiArYXR0cl9oYW5k
bGVzX3NwX3NldHNwZWNpYWwoTUFZQkVfVU5VU0VEKHJiX251bV90IGtleSkpCj4gK3sKPiArICAg
IHJldHVybiBmYWxzZTsKPiArfQo+ICsKPiArLyogYXR0ciBib29sIGxlYWYgQCBzZXRzcGVjaWFs
KGtleSkob2JqKSgpICovCj4gK2Jvb2wKPiArYXR0cl9sZWFmX3NldHNwZWNpYWwoTUFZQkVfVU5V
U0VEKHJiX251bV90IGtleSkpCj4gK3sKPiArICAgIHJldHVybiB0cnVlOwo+ICt9Cj4gKwo+ICsv
KiBhdHRyIGNvbnN0IGNoYXIqIG5hbWUgQCBzZXRzcGVjaWFsKGtleSkob2JqKSgpICovCj4gK2Nv
bnN0IGNoYXIqCj4gK2F0dHJfbmFtZV9zZXRzcGVjaWFsKE1BWUJFX1VOVVNFRChyYl9udW1fdCBr
ZXkpKQo+ICt7Cj4gKyAgICByZXR1cm4gaW5zbl9uYW1lKEJJTihzZXRzcGVjaWFsKSk7Cj4gK30K
PiArCj4gKy8qIGF0dHIgcmJfbnVtX3Qgb3BlbiBAIHNldHNwZWNpYWwoa2V5KShvYmopKCkgKi8K
PiArcmJfbnVtX3QKPiArYXR0cl9vcGVuX3NldHNwZWNpYWwoTUFZQkVfVU5VU0VEKHJiX251bV90
IGtleSkpCj4gK3sKPiArICAgIHJldHVybiAxOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90
IHBvcG4gQCBzZXRzcGVjaWFsKGtleSkob2JqKSgpICovCj4gK3JiX251bV90Cj4gK2F0dHJfcG9w
bl9zZXRzcGVjaWFsKE1BWUJFX1VOVVNFRChyYl9udW1fdCBrZXkpKQo+ICt7Cj4gKyAgICByZXR1
cm4gMTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCByZXRuIEAgc2V0c3BlY2lhbChrZXkp
KG9iaikoKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3JldG5fc2V0c3BlY2lhbChNQVlCRV9VTlVT
RUQocmJfbnVtX3Qga2V5KSkKPiArewo+ICsgICAgcmV0dXJuIDA7Cj4gK30KPiArCj4gKy8qIGF0
dHIgcmJfc251bV90IHNwX2luYyBAIHNldHNwZWNpYWwoa2V5KShvYmopKCkgKi8KPiArcmJfc251
bV90Cj4gK2F0dHJfc3BfaW5jX3NldHNwZWNpYWwoTUFZQkVfVU5VU0VEKHJiX251bV90IGtleSkp
Cj4gK3sKPiArICAgIHJldHVybiAtMTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCB3aWR0
aCBAIHNldHNwZWNpYWwoa2V5KShvYmopKCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl93aWR0aF9z
ZXRzcGVjaWFsKE1BWUJFX1VOVVNFRChyYl9udW1fdCBrZXkpKQo+ICt7Cj4gKyAgICByZXR1cm4g
MjsKPiArfQo+ICsKPiArLyogYXR0ciBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYmluIEAgZ2V0aW5z
dGFuY2V2YXJpYWJsZShpZCwgaWMpKCkodmFsKSAqLwo+ICtlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUK
PiArYXR0cl9iaW5fZ2V0aW5zdGFuY2V2YXJpYWJsZSgKPiArICAgIE1BWUJFX1VOVVNFRChJRCBp
ZCksCj4gKyAgICBNQVlCRV9VTlVTRUQoSUMgaWMpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIEJJ
TihnZXRpbnN0YW5jZXZhcmlhYmxlKTsKPiArfQo+ICsKPiArLyogYXR0ciBib29sIGhhbmRsZXNf
c3AgQCBnZXRpbnN0YW5jZXZhcmlhYmxlKGlkLCBpYykoKSh2YWwpICovCj4gK2Jvb2wKPiArYXR0
cl9oYW5kbGVzX3NwX2dldGluc3RhbmNldmFyaWFibGUoCj4gKyAgICBNQVlCRV9VTlVTRUQoSUQg
aWQpLAo+ICsgICAgTUFZQkVfVU5VU0VEKElDIGljKQo+ICspCj4gK3sKPiArICAgIHJldHVybiBm
YWxzZTsKPiArfQo+ICsKPiArLyogYXR0ciBib29sIGxlYWYgQCBnZXRpbnN0YW5jZXZhcmlhYmxl
KGlkLCBpYykoKSh2YWwpICovCj4gK2Jvb2wKPiArYXR0cl9sZWFmX2dldGluc3RhbmNldmFyaWFi
bGUoCj4gKyAgICBNQVlCRV9VTlVTRUQoSUQgaWQpLAo+ICsgICAgTUFZQkVfVU5VU0VEKElDIGlj
KQo+ICspCj4gK3sKPiArICAgIHJldHVybgo+ICsjbGluZSAyMTIgImluc25zLmRlZiIKPiArZmFs
c2U7Cj4gKyNsaW5lIDIxNTAgImluc25zX2luZm8uaW5jIgo+ICt9Cj4gKwo+ICsvKiBhdHRyIGNv
bnN0IGNoYXIqIG5hbWUgQCBnZXRpbnN0YW5jZXZhcmlhYmxlKGlkLCBpYykoKSh2YWwpICovCj4g
K2NvbnN0IGNoYXIqCj4gK2F0dHJfbmFtZV9nZXRpbnN0YW5jZXZhcmlhYmxlKAo+ICsgICAgTUFZ
QkVfVU5VU0VEKElEIGlkKSwKPiArICAgIE1BWUJFX1VOVVNFRChJQyBpYykKPiArKQo+ICt7Cj4g
KyAgICByZXR1cm4gaW5zbl9uYW1lKEJJTihnZXRpbnN0YW5jZXZhcmlhYmxlKSk7Cj4gK30KPiAr
Cj4gKy8qIGF0dHIgcmJfbnVtX3Qgb3BlbiBAIGdldGluc3RhbmNldmFyaWFibGUoaWQsIGljKSgp
KHZhbCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl9vcGVuX2dldGluc3RhbmNldmFyaWFibGUoCj4g
KyAgICBNQVlCRV9VTlVTRUQoSUQgaWQpLAo+ICsgICAgTUFZQkVfVU5VU0VEKElDIGljKQo+ICsp
Cj4gK3sKPiArICAgIHJldHVybiAyOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHBvcG4g
QCBnZXRpbnN0YW5jZXZhcmlhYmxlKGlkLCBpYykoKSh2YWwpICovCj4gK3JiX251bV90Cj4gK2F0
dHJfcG9wbl9nZXRpbnN0YW5jZXZhcmlhYmxlKAo+ICsgICAgTUFZQkVfVU5VU0VEKElEIGlkKSwK
PiArICAgIE1BWUJFX1VOVVNFRChJQyBpYykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gMDsKPiAr
fQo+ICsKPiArLyogYXR0ciByYl9udW1fdCByZXRuIEAgZ2V0aW5zdGFuY2V2YXJpYWJsZShpZCwg
aWMpKCkodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3JldG5fZ2V0aW5zdGFuY2V2YXJpYWJs
ZSgKPiArICAgIE1BWUJFX1VOVVNFRChJRCBpZCksCj4gKyAgICBNQVlCRV9VTlVTRUQoSUMgaWMp
Cj4gKykKPiArewo+ICsgICAgcmV0dXJuIDE7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfc251bV90
IHNwX2luYyBAIGdldGluc3RhbmNldmFyaWFibGUoaWQsIGljKSgpKHZhbCkgKi8KPiArcmJfc251
bV90Cj4gK2F0dHJfc3BfaW5jX2dldGluc3RhbmNldmFyaWFibGUoCj4gKyAgICBNQVlCRV9VTlVT
RUQoSUQgaWQpLAo+ICsgICAgTUFZQkVfVU5VU0VEKElDIGljKQo+ICspCj4gK3sKPiArICAgIHJl
dHVybiAxOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHdpZHRoIEAgZ2V0aW5zdGFuY2V2
YXJpYWJsZShpZCwgaWMpKCkodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3dpZHRoX2dldGlu
c3RhbmNldmFyaWFibGUoCj4gKyAgICBNQVlCRV9VTlVTRUQoSUQgaWQpLAo+ICsgICAgTUFZQkVf
VU5VU0VEKElDIGljKQo+ICspCj4gK3sKPiArICAgIHJldHVybiAzOwo+ICt9Cj4gKwo+ICsvKiBh
dHRyIGVudW0gcnVieV92bWluc25fdHlwZSBiaW4gQCBzZXRpbnN0YW5jZXZhcmlhYmxlKGlkLCBp
YykodmFsKSgpICovCj4gK2VudW0gcnVieV92bWluc25fdHlwZQo+ICthdHRyX2Jpbl9zZXRpbnN0
YW5jZXZhcmlhYmxlKAo+ICsgICAgTUFZQkVfVU5VU0VEKElEIGlkKSwKPiArICAgIE1BWUJFX1VO
VVNFRChJQyBpYykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gQklOKHNldGluc3RhbmNldmFyaWFi
bGUpOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGJvb2wgaGFuZGxlc19zcCBAIHNldGluc3RhbmNldmFy
aWFibGUoaWQsIGljKSh2YWwpKCkgKi8KPiArYm9vbAo+ICthdHRyX2hhbmRsZXNfc3Bfc2V0aW5z
dGFuY2V2YXJpYWJsZSgKPiArICAgIE1BWUJFX1VOVVNFRChJRCBpZCksCj4gKyAgICBNQVlCRV9V
TlVTRUQoSUMgaWMpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIGZhbHNlOwo+ICt9Cj4gKwo+ICsv
KiBhdHRyIGJvb2wgbGVhZiBAIHNldGluc3RhbmNldmFyaWFibGUoaWQsIGljKSh2YWwpKCkgKi8K
PiArYm9vbAo+ICthdHRyX2xlYWZfc2V0aW5zdGFuY2V2YXJpYWJsZSgKPiArICAgIE1BWUJFX1VO
VVNFRChJRCBpZCksCj4gKyAgICBNQVlCRV9VTlVTRUQoSUMgaWMpCj4gKykKPiArewo+ICsgICAg
cmV0dXJuIHRydWU7Cj4gK30KPiArCj4gKy8qIGF0dHIgY29uc3QgY2hhciogbmFtZSBAIHNldGlu
c3RhbmNldmFyaWFibGUoaWQsIGljKSh2YWwpKCkgKi8KPiArY29uc3QgY2hhcioKPiArYXR0cl9u
YW1lX3NldGluc3RhbmNldmFyaWFibGUoCj4gKyAgICBNQVlCRV9VTlVTRUQoSUQgaWQpLAo+ICsg
ICAgTUFZQkVfVU5VU0VEKElDIGljKQo+ICspCj4gK3sKPiArICAgIHJldHVybiBpbnNuX25hbWUo
QklOKHNldGluc3RhbmNldmFyaWFibGUpKTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCBv
cGVuIEAgc2V0aW5zdGFuY2V2YXJpYWJsZShpZCwgaWMpKHZhbCkoKSAqLwo+ICtyYl9udW1fdAo+
ICthdHRyX29wZW5fc2V0aW5zdGFuY2V2YXJpYWJsZSgKPiArICAgIE1BWUJFX1VOVVNFRChJRCBp
ZCksCj4gKyAgICBNQVlCRV9VTlVTRUQoSUMgaWMpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIDI7
Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3QgcG9wbiBAIHNldGluc3RhbmNldmFyaWFibGUo
aWQsIGljKSh2YWwpKCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl9wb3BuX3NldGluc3RhbmNldmFy
aWFibGUoCj4gKyAgICBNQVlCRV9VTlVTRUQoSUQgaWQpLAo+ICsgICAgTUFZQkVfVU5VU0VEKElD
IGljKQo+ICspCj4gK3sKPiArICAgIHJldHVybiAxOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251
bV90IHJldG4gQCBzZXRpbnN0YW5jZXZhcmlhYmxlKGlkLCBpYykodmFsKSgpICovCj4gK3JiX251
bV90Cj4gK2F0dHJfcmV0bl9zZXRpbnN0YW5jZXZhcmlhYmxlKAo+ICsgICAgTUFZQkVfVU5VU0VE
KElEIGlkKSwKPiArICAgIE1BWUJFX1VOVVNFRChJQyBpYykKPiArKQo+ICt7Cj4gKyAgICByZXR1
cm4gMDsKPiArfQo+ICsKPiArLyogYXR0ciByYl9zbnVtX3Qgc3BfaW5jIEAgc2V0aW5zdGFuY2V2
YXJpYWJsZShpZCwgaWMpKHZhbCkoKSAqLwo+ICtyYl9zbnVtX3QKPiArYXR0cl9zcF9pbmNfc2V0
aW5zdGFuY2V2YXJpYWJsZSgKPiArICAgIE1BWUJFX1VOVVNFRChJRCBpZCksCj4gKyAgICBNQVlC
RV9VTlVTRUQoSUMgaWMpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIC0xOwo+ICt9Cj4gKwo+ICsv
KiBhdHRyIHJiX251bV90IHdpZHRoIEAgc2V0aW5zdGFuY2V2YXJpYWJsZShpZCwgaWMpKHZhbCko
KSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3dpZHRoX3NldGluc3RhbmNldmFyaWFibGUoCj4gKyAg
ICBNQVlCRV9VTlVTRUQoSUQgaWQpLAo+ICsgICAgTUFZQkVfVU5VU0VEKElDIGljKQo+ICspCj4g
K3sKPiArICAgIHJldHVybiAzOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGVudW0gcnVieV92bWluc25f
dHlwZSBiaW4gQCBnZXRjbGFzc3ZhcmlhYmxlKGlkKSgpKHZhbCkgKi8KPiArZW51bSBydWJ5X3Zt
aW5zbl90eXBlCj4gK2F0dHJfYmluX2dldGNsYXNzdmFyaWFibGUoTUFZQkVfVU5VU0VEKElEIGlk
KSkKPiArewo+ICsgICAgcmV0dXJuIEJJTihnZXRjbGFzc3ZhcmlhYmxlKTsKPiArfQo+ICsKPiAr
LyogYXR0ciBib29sIGhhbmRsZXNfc3AgQCBnZXRjbGFzc3ZhcmlhYmxlKGlkKSgpKHZhbCkgKi8K
PiArYm9vbAo+ICthdHRyX2hhbmRsZXNfc3BfZ2V0Y2xhc3N2YXJpYWJsZShNQVlCRV9VTlVTRUQo
SUQgaWQpKQo+ICt7Cj4gKyAgICByZXR1cm4gZmFsc2U7Cj4gK30KPiArCj4gKy8qIGF0dHIgYm9v
bCBsZWFmIEAgZ2V0Y2xhc3N2YXJpYWJsZShpZCkoKSh2YWwpICovCj4gK2Jvb2wKPiArYXR0cl9s
ZWFmX2dldGNsYXNzdmFyaWFibGUoTUFZQkVfVU5VU0VEKElEIGlkKSkKPiArewo+ICsgICAgcmV0
dXJuCj4gKyNsaW5lIDIzNCAiaW5zbnMuZGVmIgo+ICtmYWxzZTsKPiArI2xpbmUgMjMyNCAiaW5z
bnNfaW5mby5pbmMiCj4gK30KPiArCj4gKy8qIGF0dHIgY29uc3QgY2hhciogbmFtZSBAIGdldGNs
YXNzdmFyaWFibGUoaWQpKCkodmFsKSAqLwo+ICtjb25zdCBjaGFyKgo+ICthdHRyX25hbWVfZ2V0
Y2xhc3N2YXJpYWJsZShNQVlCRV9VTlVTRUQoSUQgaWQpKQo+ICt7Cj4gKyAgICByZXR1cm4gaW5z
bl9uYW1lKEJJTihnZXRjbGFzc3ZhcmlhYmxlKSk7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVt
X3Qgb3BlbiBAIGdldGNsYXNzdmFyaWFibGUoaWQpKCkodmFsKSAqLwo+ICtyYl9udW1fdAo+ICth
dHRyX29wZW5fZ2V0Y2xhc3N2YXJpYWJsZShNQVlCRV9VTlVTRUQoSUQgaWQpKQo+ICt7Cj4gKyAg
ICByZXR1cm4gMTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCBwb3BuIEAgZ2V0Y2xhc3N2
YXJpYWJsZShpZCkoKSh2YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJfcG9wbl9nZXRjbGFzc3Zh
cmlhYmxlKE1BWUJFX1VOVVNFRChJRCBpZCkpCj4gK3sKPiArICAgIHJldHVybiAwOwo+ICt9Cj4g
Kwo+ICsvKiBhdHRyIHJiX251bV90IHJldG4gQCBnZXRjbGFzc3ZhcmlhYmxlKGlkKSgpKHZhbCkg
Ki8KPiArcmJfbnVtX3QKPiArYXR0cl9yZXRuX2dldGNsYXNzdmFyaWFibGUoTUFZQkVfVU5VU0VE
KElEIGlkKSkKPiArewo+ICsgICAgcmV0dXJuIDE7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfc251
bV90IHNwX2luYyBAIGdldGNsYXNzdmFyaWFibGUoaWQpKCkodmFsKSAqLwo+ICtyYl9zbnVtX3QK
PiArYXR0cl9zcF9pbmNfZ2V0Y2xhc3N2YXJpYWJsZShNQVlCRV9VTlVTRUQoSUQgaWQpKQo+ICt7
Cj4gKyAgICByZXR1cm4gMTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCB3aWR0aCBAIGdl
dGNsYXNzdmFyaWFibGUoaWQpKCkodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3dpZHRoX2dl
dGNsYXNzdmFyaWFibGUoTUFZQkVfVU5VU0VEKElEIGlkKSkKPiArewo+ICsgICAgcmV0dXJuIDI7
Cj4gK30KPiArCj4gKy8qIGF0dHIgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGJpbiBAIHNldGNsYXNz
dmFyaWFibGUoaWQpKHZhbCkoKSAqLwo+ICtlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUKPiArYXR0cl9i
aW5fc2V0Y2xhc3N2YXJpYWJsZShNQVlCRV9VTlVTRUQoSUQgaWQpKQo+ICt7Cj4gKyAgICByZXR1
cm4gQklOKHNldGNsYXNzdmFyaWFibGUpOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGJvb2wgaGFuZGxl
c19zcCBAIHNldGNsYXNzdmFyaWFibGUoaWQpKHZhbCkoKSAqLwo+ICtib29sCj4gK2F0dHJfaGFu
ZGxlc19zcF9zZXRjbGFzc3ZhcmlhYmxlKE1BWUJFX1VOVVNFRChJRCBpZCkpCj4gK3sKPiArICAg
IHJldHVybiBmYWxzZTsKPiArfQo+ICsKPiArLyogYXR0ciBib29sIGxlYWYgQCBzZXRjbGFzc3Zh
cmlhYmxlKGlkKSh2YWwpKCkgKi8KPiArYm9vbAo+ICthdHRyX2xlYWZfc2V0Y2xhc3N2YXJpYWJs
ZShNQVlCRV9VTlVTRUQoSUQgaWQpKQo+ICt7Cj4gKyAgICByZXR1cm4KPiArI2xpbmUgMjQ2ICJp
bnNucy5kZWYiCj4gK2ZhbHNlOwo+ICsjbGluZSAyMzkwICJpbnNuc19pbmZvLmluYyIKPiArfQo+
ICsKPiArLyogYXR0ciBjb25zdCBjaGFyKiBuYW1lIEAgc2V0Y2xhc3N2YXJpYWJsZShpZCkodmFs
KSgpICovCj4gK2NvbnN0IGNoYXIqCj4gK2F0dHJfbmFtZV9zZXRjbGFzc3ZhcmlhYmxlKE1BWUJF
X1VOVVNFRChJRCBpZCkpCj4gK3sKPiArICAgIHJldHVybiBpbnNuX25hbWUoQklOKHNldGNsYXNz
dmFyaWFibGUpKTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCBvcGVuIEAgc2V0Y2xhc3N2
YXJpYWJsZShpZCkodmFsKSgpICovCj4gK3JiX251bV90Cj4gK2F0dHJfb3Blbl9zZXRjbGFzc3Zh
cmlhYmxlKE1BWUJFX1VOVVNFRChJRCBpZCkpCj4gK3sKPiArICAgIHJldHVybiAxOwo+ICt9Cj4g
Kwo+ICsvKiBhdHRyIHJiX251bV90IHBvcG4gQCBzZXRjbGFzc3ZhcmlhYmxlKGlkKSh2YWwpKCkg
Ki8KPiArcmJfbnVtX3QKPiArYXR0cl9wb3BuX3NldGNsYXNzdmFyaWFibGUoTUFZQkVfVU5VU0VE
KElEIGlkKSkKPiArewo+ICsgICAgcmV0dXJuIDE7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVt
X3QgcmV0biBAIHNldGNsYXNzdmFyaWFibGUoaWQpKHZhbCkoKSAqLwo+ICtyYl9udW1fdAo+ICth
dHRyX3JldG5fc2V0Y2xhc3N2YXJpYWJsZShNQVlCRV9VTlVTRUQoSUQgaWQpKQo+ICt7Cj4gKyAg
ICByZXR1cm4gMDsKPiArfQo+ICsKPiArLyogYXR0ciByYl9zbnVtX3Qgc3BfaW5jIEAgc2V0Y2xh
c3N2YXJpYWJsZShpZCkodmFsKSgpICovCj4gK3JiX3NudW1fdAo+ICthdHRyX3NwX2luY19zZXRj
bGFzc3ZhcmlhYmxlKE1BWUJFX1VOVVNFRChJRCBpZCkpCj4gK3sKPiArICAgIHJldHVybiAtMTsK
PiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCB3aWR0aCBAIHNldGNsYXNzdmFyaWFibGUoaWQp
KHZhbCkoKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3dpZHRoX3NldGNsYXNzdmFyaWFibGUoTUFZ
QkVfVU5VU0VEKElEIGlkKSkKPiArewo+ICsgICAgcmV0dXJuIDI7Cj4gK30KPiArCj4gKy8qIGF0
dHIgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGJpbiBAIGdldGNvbnN0YW50KGlkKShrbGFzcykodmFs
KSAqLwo+ICtlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUKPiArYXR0cl9iaW5fZ2V0Y29uc3RhbnQoTUFZ
QkVfVU5VU0VEKElEIGlkKSkKPiArewo+ICsgICAgcmV0dXJuIEJJTihnZXRjb25zdGFudCk7Cj4g
K30KPiArCj4gKy8qIGF0dHIgYm9vbCBoYW5kbGVzX3NwIEAgZ2V0Y29uc3RhbnQoaWQpKGtsYXNz
KSh2YWwpICovCj4gK2Jvb2wKPiArYXR0cl9oYW5kbGVzX3NwX2dldGNvbnN0YW50KE1BWUJFX1VO
VVNFRChJRCBpZCkpCj4gK3sKPiArICAgIHJldHVybiBmYWxzZTsKPiArfQo+ICsKPiArLyogYXR0
ciBib29sIGxlYWYgQCBnZXRjb25zdGFudChpZCkoa2xhc3MpKHZhbCkgKi8KPiArYm9vbAo+ICth
dHRyX2xlYWZfZ2V0Y29uc3RhbnQoTUFZQkVfVU5VU0VEKElEIGlkKSkKPiArewo+ICsgICAgcmV0
dXJuCj4gKyNsaW5lIDI2MiAiaW5zbnMuZGVmIgo+ICtmYWxzZTsKPiArI2xpbmUgMjQ1NiAiaW5z
bnNfaW5mby5pbmMiCj4gK30KPiArCj4gKy8qIGF0dHIgY29uc3QgY2hhciogbmFtZSBAIGdldGNv
bnN0YW50KGlkKShrbGFzcykodmFsKSAqLwo+ICtjb25zdCBjaGFyKgo+ICthdHRyX25hbWVfZ2V0
Y29uc3RhbnQoTUFZQkVfVU5VU0VEKElEIGlkKSkKPiArewo+ICsgICAgcmV0dXJuIGluc25fbmFt
ZShCSU4oZ2V0Y29uc3RhbnQpKTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCBvcGVuIEAg
Z2V0Y29uc3RhbnQoaWQpKGtsYXNzKSh2YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJfb3Blbl9n
ZXRjb25zdGFudChNQVlCRV9VTlVTRUQoSUQgaWQpKQo+ICt7Cj4gKyAgICByZXR1cm4gMTsKPiAr
fQo+ICsKPiArLyogYXR0ciByYl9udW1fdCBwb3BuIEAgZ2V0Y29uc3RhbnQoaWQpKGtsYXNzKSh2
YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJfcG9wbl9nZXRjb25zdGFudChNQVlCRV9VTlVTRUQo
SUQgaWQpKQo+ICt7Cj4gKyAgICByZXR1cm4gMTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1f
dCByZXRuIEAgZ2V0Y29uc3RhbnQoaWQpKGtsYXNzKSh2YWwpICovCj4gK3JiX251bV90Cj4gK2F0
dHJfcmV0bl9nZXRjb25zdGFudChNQVlCRV9VTlVTRUQoSUQgaWQpKQo+ICt7Cj4gKyAgICByZXR1
cm4gMTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9zbnVtX3Qgc3BfaW5jIEAgZ2V0Y29uc3RhbnQo
aWQpKGtsYXNzKSh2YWwpICovCj4gK3JiX3NudW1fdAo+ICthdHRyX3NwX2luY19nZXRjb25zdGFu
dChNQVlCRV9VTlVTRUQoSUQgaWQpKQo+ICt7Cj4gKyAgICByZXR1cm4gMDsKPiArfQo+ICsKPiAr
LyogYXR0ciByYl9udW1fdCB3aWR0aCBAIGdldGNvbnN0YW50KGlkKShrbGFzcykodmFsKSAqLwo+
ICtyYl9udW1fdAo+ICthdHRyX3dpZHRoX2dldGNvbnN0YW50KE1BWUJFX1VOVVNFRChJRCBpZCkp
Cj4gK3sKPiArICAgIHJldHVybiAyOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGVudW0gcnVieV92bWlu
c25fdHlwZSBiaW4gQCBzZXRjb25zdGFudChpZCkodmFsLCBjYmFzZSkoKSAqLwo+ICtlbnVtIHJ1
Ynlfdm1pbnNuX3R5cGUKPiArYXR0cl9iaW5fc2V0Y29uc3RhbnQoTUFZQkVfVU5VU0VEKElEIGlk
KSkKPiArewo+ICsgICAgcmV0dXJuIEJJTihzZXRjb25zdGFudCk7Cj4gK30KPiArCj4gKy8qIGF0
dHIgYm9vbCBoYW5kbGVzX3NwIEAgc2V0Y29uc3RhbnQoaWQpKHZhbCwgY2Jhc2UpKCkgKi8KPiAr
Ym9vbAo+ICthdHRyX2hhbmRsZXNfc3Bfc2V0Y29uc3RhbnQoTUFZQkVfVU5VU0VEKElEIGlkKSkK
PiArewo+ICsgICAgcmV0dXJuIGZhbHNlOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGJvb2wgbGVhZiBA
IHNldGNvbnN0YW50KGlkKSh2YWwsIGNiYXNlKSgpICovCj4gK2Jvb2wKPiArYXR0cl9sZWFmX3Nl
dGNvbnN0YW50KE1BWUJFX1VOVVNFRChJRCBpZCkpCj4gK3sKPiArICAgIHJldHVybgo+ICsjbGlu
ZSAyNzggImluc25zLmRlZiIKPiArZmFsc2U7Cj4gKyNsaW5lIDI1MjIgImluc25zX2luZm8uaW5j
Igo+ICt9Cj4gKwo+ICsvKiBhdHRyIGNvbnN0IGNoYXIqIG5hbWUgQCBzZXRjb25zdGFudChpZCko
dmFsLCBjYmFzZSkoKSAqLwo+ICtjb25zdCBjaGFyKgo+ICthdHRyX25hbWVfc2V0Y29uc3RhbnQo
TUFZQkVfVU5VU0VEKElEIGlkKSkKPiArewo+ICsgICAgcmV0dXJuIGluc25fbmFtZShCSU4oc2V0
Y29uc3RhbnQpKTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCBvcGVuIEAgc2V0Y29uc3Rh
bnQoaWQpKHZhbCwgY2Jhc2UpKCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl9vcGVuX3NldGNvbnN0
YW50KE1BWUJFX1VOVVNFRChJRCBpZCkpCj4gK3sKPiArICAgIHJldHVybiAxOwo+ICt9Cj4gKwo+
ICsvKiBhdHRyIHJiX251bV90IHBvcG4gQCBzZXRjb25zdGFudChpZCkodmFsLCBjYmFzZSkoKSAq
Lwo+ICtyYl9udW1fdAo+ICthdHRyX3BvcG5fc2V0Y29uc3RhbnQoTUFZQkVfVU5VU0VEKElEIGlk
KSkKPiArewo+ICsgICAgcmV0dXJuIDI7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3QgcmV0
biBAIHNldGNvbnN0YW50KGlkKSh2YWwsIGNiYXNlKSgpICovCj4gK3JiX251bV90Cj4gK2F0dHJf
cmV0bl9zZXRjb25zdGFudChNQVlCRV9VTlVTRUQoSUQgaWQpKQo+ICt7Cj4gKyAgICByZXR1cm4g
MDsKPiArfQo+ICsKPiArLyogYXR0ciByYl9zbnVtX3Qgc3BfaW5jIEAgc2V0Y29uc3RhbnQoaWQp
KHZhbCwgY2Jhc2UpKCkgKi8KPiArcmJfc251bV90Cj4gK2F0dHJfc3BfaW5jX3NldGNvbnN0YW50
KE1BWUJFX1VOVVNFRChJRCBpZCkpCj4gK3sKPiArICAgIHJldHVybiAtMjsKPiArfQo+ICsKPiAr
LyogYXR0ciByYl9udW1fdCB3aWR0aCBAIHNldGNvbnN0YW50KGlkKSh2YWwsIGNiYXNlKSgpICov
Cj4gK3JiX251bV90Cj4gK2F0dHJfd2lkdGhfc2V0Y29uc3RhbnQoTUFZQkVfVU5VU0VEKElEIGlk
KSkKPiArewo+ICsgICAgcmV0dXJuIDI7Cj4gK30KPiArCj4gKy8qIGF0dHIgZW51bSBydWJ5X3Zt
aW5zbl90eXBlIGJpbiBAIGdldGdsb2JhbChlbnRyeSkoKSh2YWwpICovCj4gK2VudW0gcnVieV92
bWluc25fdHlwZQo+ICthdHRyX2Jpbl9nZXRnbG9iYWwoTUFZQkVfVU5VU0VEKEdFTlRSWSBlbnRy
eSkpCj4gK3sKPiArICAgIHJldHVybiBCSU4oZ2V0Z2xvYmFsKTsKPiArfQo+ICsKPiArLyogYXR0
ciBib29sIGhhbmRsZXNfc3AgQCBnZXRnbG9iYWwoZW50cnkpKCkodmFsKSAqLwo+ICtib29sCj4g
K2F0dHJfaGFuZGxlc19zcF9nZXRnbG9iYWwoTUFZQkVfVU5VU0VEKEdFTlRSWSBlbnRyeSkpCj4g
K3sKPiArICAgIHJldHVybiBmYWxzZTsKPiArfQo+ICsKPiArLyogYXR0ciBib29sIGxlYWYgQCBn
ZXRnbG9iYWwoZW50cnkpKCkodmFsKSAqLwo+ICtib29sCj4gK2F0dHJfbGVhZl9nZXRnbG9iYWwo
TUFZQkVfVU5VU0VEKEdFTlRSWSBlbnRyeSkpCj4gK3sKPiArICAgIHJldHVybgo+ICsjbGluZSAy
OTEgImluc25zLmRlZiIKPiArbGVhZm5lc3Nfb2ZfZ2V0Z2xvYmFsKGVudHJ5KTsKPiArI2xpbmUg
MjU4OCAiaW5zbnNfaW5mby5pbmMiCj4gK30KPiArCj4gKy8qIGF0dHIgY29uc3QgY2hhciogbmFt
ZSBAIGdldGdsb2JhbChlbnRyeSkoKSh2YWwpICovCj4gK2NvbnN0IGNoYXIqCj4gK2F0dHJfbmFt
ZV9nZXRnbG9iYWwoTUFZQkVfVU5VU0VEKEdFTlRSWSBlbnRyeSkpCj4gK3sKPiArICAgIHJldHVy
biBpbnNuX25hbWUoQklOKGdldGdsb2JhbCkpOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90
IG9wZW4gQCBnZXRnbG9iYWwoZW50cnkpKCkodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX29w
ZW5fZ2V0Z2xvYmFsKE1BWUJFX1VOVVNFRChHRU5UUlkgZW50cnkpKQo+ICt7Cj4gKyAgICByZXR1
cm4gMTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCBwb3BuIEAgZ2V0Z2xvYmFsKGVudHJ5
KSgpKHZhbCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl9wb3BuX2dldGdsb2JhbChNQVlCRV9VTlVT
RUQoR0VOVFJZIGVudHJ5KSkKPiArewo+ICsgICAgcmV0dXJuIDA7Cj4gK30KPiArCj4gKy8qIGF0
dHIgcmJfbnVtX3QgcmV0biBAIGdldGdsb2JhbChlbnRyeSkoKSh2YWwpICovCj4gK3JiX251bV90
Cj4gK2F0dHJfcmV0bl9nZXRnbG9iYWwoTUFZQkVfVU5VU0VEKEdFTlRSWSBlbnRyeSkpCj4gK3sK
PiArICAgIHJldHVybiAxOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX3NudW1fdCBzcF9pbmMgQCBn
ZXRnbG9iYWwoZW50cnkpKCkodmFsKSAqLwo+ICtyYl9zbnVtX3QKPiArYXR0cl9zcF9pbmNfZ2V0
Z2xvYmFsKE1BWUJFX1VOVVNFRChHRU5UUlkgZW50cnkpKQo+ICt7Cj4gKyAgICByZXR1cm4gMTsK
PiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCB3aWR0aCBAIGdldGdsb2JhbChlbnRyeSkoKSh2
YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJfd2lkdGhfZ2V0Z2xvYmFsKE1BWUJFX1VOVVNFRChH
RU5UUlkgZW50cnkpKQo+ICt7Cj4gKyAgICByZXR1cm4gMjsKPiArfQo+ICsKPiArLyogYXR0ciBl
bnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYmluIEAgc2V0Z2xvYmFsKGVudHJ5KSh2YWwpKCkgKi8KPiAr
ZW51bSBydWJ5X3ZtaW5zbl90eXBlCj4gK2F0dHJfYmluX3NldGdsb2JhbChNQVlCRV9VTlVTRUQo
R0VOVFJZIGVudHJ5KSkKPiArewo+ICsgICAgcmV0dXJuIEJJTihzZXRnbG9iYWwpOwo+ICt9Cj4g
Kwo+ICsvKiBhdHRyIGJvb2wgaGFuZGxlc19zcCBAIHNldGdsb2JhbChlbnRyeSkodmFsKSgpICov
Cj4gK2Jvb2wKPiArYXR0cl9oYW5kbGVzX3NwX3NldGdsb2JhbChNQVlCRV9VTlVTRUQoR0VOVFJZ
IGVudHJ5KSkKPiArewo+ICsgICAgcmV0dXJuIGZhbHNlOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGJv
b2wgbGVhZiBAIHNldGdsb2JhbChlbnRyeSkodmFsKSgpICovCj4gK2Jvb2wKPiArYXR0cl9sZWFm
X3NldGdsb2JhbChNQVlCRV9VTlVTRUQoR0VOVFJZIGVudHJ5KSkKPiArewo+ICsgICAgcmV0dXJu
Cj4gKyNsaW5lIDMwMiAiaW5zbnMuZGVmIgo+ICtsZWFmbmVzc19vZl9zZXRnbG9iYWwoZW50cnkp
Owo+ICsjbGluZSAyNjU0ICJpbnNuc19pbmZvLmluYyIKPiArfQo+ICsKPiArLyogYXR0ciBjb25z
dCBjaGFyKiBuYW1lIEAgc2V0Z2xvYmFsKGVudHJ5KSh2YWwpKCkgKi8KPiArY29uc3QgY2hhcioK
PiArYXR0cl9uYW1lX3NldGdsb2JhbChNQVlCRV9VTlVTRUQoR0VOVFJZIGVudHJ5KSkKPiArewo+
ICsgICAgcmV0dXJuIGluc25fbmFtZShCSU4oc2V0Z2xvYmFsKSk7Cj4gK30KPiArCj4gKy8qIGF0
dHIgcmJfbnVtX3Qgb3BlbiBAIHNldGdsb2JhbChlbnRyeSkodmFsKSgpICovCj4gK3JiX251bV90
Cj4gK2F0dHJfb3Blbl9zZXRnbG9iYWwoTUFZQkVfVU5VU0VEKEdFTlRSWSBlbnRyeSkpCj4gK3sK
PiArICAgIHJldHVybiAxOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHBvcG4gQCBzZXRn
bG9iYWwoZW50cnkpKHZhbCkoKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3BvcG5fc2V0Z2xvYmFs
KE1BWUJFX1VOVVNFRChHRU5UUlkgZW50cnkpKQo+ICt7Cj4gKyAgICByZXR1cm4gMTsKPiArfQo+
ICsKPiArLyogYXR0ciByYl9udW1fdCByZXRuIEAgc2V0Z2xvYmFsKGVudHJ5KSh2YWwpKCkgKi8K
PiArcmJfbnVtX3QKPiArYXR0cl9yZXRuX3NldGdsb2JhbChNQVlCRV9VTlVTRUQoR0VOVFJZIGVu
dHJ5KSkKPiArewo+ICsgICAgcmV0dXJuIDA7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfc251bV90
IHNwX2luYyBAIHNldGdsb2JhbChlbnRyeSkodmFsKSgpICovCj4gK3JiX3NudW1fdAo+ICthdHRy
X3NwX2luY19zZXRnbG9iYWwoTUFZQkVfVU5VU0VEKEdFTlRSWSBlbnRyeSkpCj4gK3sKPiArICAg
IHJldHVybiAtMTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCB3aWR0aCBAIHNldGdsb2Jh
bChlbnRyeSkodmFsKSgpICovCj4gK3JiX251bV90Cj4gK2F0dHJfd2lkdGhfc2V0Z2xvYmFsKE1B
WUJFX1VOVVNFRChHRU5UUlkgZW50cnkpKQo+ICt7Cj4gKyAgICByZXR1cm4gMjsKPiArfQo+ICsK
PiArLyogYXR0ciBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYmluIEAgcHV0bmlsKCkoKSh2YWwpICov
Cj4gK2VudW0gcnVieV92bWluc25fdHlwZQo+ICthdHRyX2Jpbl9wdXRuaWwodm9pZCkKPiArewo+
ICsgICAgcmV0dXJuIEJJTihwdXRuaWwpOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGJvb2wgaGFuZGxl
c19zcCBAIHB1dG5pbCgpKCkodmFsKSAqLwo+ICtib29sCj4gK2F0dHJfaGFuZGxlc19zcF9wdXRu
aWwodm9pZCkKPiArewo+ICsgICAgcmV0dXJuIGZhbHNlOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGJv
b2wgbGVhZiBAIHB1dG5pbCgpKCkodmFsKSAqLwo+ICtib29sCj4gK2F0dHJfbGVhZl9wdXRuaWwo
dm9pZCkKPiArewo+ICsgICAgcmV0dXJuIHRydWU7Cj4gK30KPiArCj4gKy8qIGF0dHIgY29uc3Qg
Y2hhciogbmFtZSBAIHB1dG5pbCgpKCkodmFsKSAqLwo+ICtjb25zdCBjaGFyKgo+ICthdHRyX25h
bWVfcHV0bmlsKHZvaWQpCj4gK3sKPiArICAgIHJldHVybiBpbnNuX25hbWUoQklOKHB1dG5pbCkp
Owo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IG9wZW4gQCBwdXRuaWwoKSgpKHZhbCkgKi8K
PiArcmJfbnVtX3QKPiArYXR0cl9vcGVuX3B1dG5pbCh2b2lkKQo+ICt7Cj4gKyAgICByZXR1cm4g
MDsKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCBwb3BuIEAgcHV0bmlsKCkoKSh2YWwpICov
Cj4gK3JiX251bV90Cj4gK2F0dHJfcG9wbl9wdXRuaWwodm9pZCkKPiArewo+ICsgICAgcmV0dXJu
IDA7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3QgcmV0biBAIHB1dG5pbCgpKCkodmFsKSAq
Lwo+ICtyYl9udW1fdAo+ICthdHRyX3JldG5fcHV0bmlsKHZvaWQpCj4gK3sKPiArICAgIHJldHVy
biAxOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX3NudW1fdCBzcF9pbmMgQCBwdXRuaWwoKSgpKHZh
bCkgKi8KPiArcmJfc251bV90Cj4gK2F0dHJfc3BfaW5jX3B1dG5pbCh2b2lkKQo+ICt7Cj4gKyAg
ICByZXR1cm4gMTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCB3aWR0aCBAIHB1dG5pbCgp
KCkodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3dpZHRoX3B1dG5pbCh2b2lkKQo+ICt7Cj4g
KyAgICByZXR1cm4gMTsKPiArfQo+ICsKPiArLyogYXR0ciBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUg
YmluIEAgcHV0c2VsZigpKCkodmFsKSAqLwo+ICtlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUKPiArYXR0
cl9iaW5fcHV0c2VsZih2b2lkKQo+ICt7Cj4gKyAgICByZXR1cm4gQklOKHB1dHNlbGYpOwo+ICt9
Cj4gKwo+ICsvKiBhdHRyIGJvb2wgaGFuZGxlc19zcCBAIHB1dHNlbGYoKSgpKHZhbCkgKi8KPiAr
Ym9vbAo+ICthdHRyX2hhbmRsZXNfc3BfcHV0c2VsZih2b2lkKQo+ICt7Cj4gKyAgICByZXR1cm4g
ZmFsc2U7Cj4gK30KPiArCj4gKy8qIGF0dHIgYm9vbCBsZWFmIEAgcHV0c2VsZigpKCkodmFsKSAq
Lwo+ICtib29sCj4gK2F0dHJfbGVhZl9wdXRzZWxmKHZvaWQpCj4gK3sKPiArICAgIHJldHVybiB0
cnVlOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGNvbnN0IGNoYXIqIG5hbWUgQCBwdXRzZWxmKCkoKSh2
YWwpICovCj4gK2NvbnN0IGNoYXIqCj4gK2F0dHJfbmFtZV9wdXRzZWxmKHZvaWQpCj4gK3sKPiAr
ICAgIHJldHVybiBpbnNuX25hbWUoQklOKHB1dHNlbGYpKTsKPiArfQo+ICsKPiArLyogYXR0ciBy
Yl9udW1fdCBvcGVuIEAgcHV0c2VsZigpKCkodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX29w
ZW5fcHV0c2VsZih2b2lkKQo+ICt7Cj4gKyAgICByZXR1cm4gMDsKPiArfQo+ICsKPiArLyogYXR0
ciByYl9udW1fdCBwb3BuIEAgcHV0c2VsZigpKCkodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRy
X3BvcG5fcHV0c2VsZih2b2lkKQo+ICt7Cj4gKyAgICByZXR1cm4gMDsKPiArfQo+ICsKPiArLyog
YXR0ciByYl9udW1fdCByZXRuIEAgcHV0c2VsZigpKCkodmFsKSAqLwo+ICtyYl9udW1fdAo+ICth
dHRyX3JldG5fcHV0c2VsZih2b2lkKQo+ICt7Cj4gKyAgICByZXR1cm4gMTsKPiArfQo+ICsKPiAr
LyogYXR0ciByYl9zbnVtX3Qgc3BfaW5jIEAgcHV0c2VsZigpKCkodmFsKSAqLwo+ICtyYl9zbnVt
X3QKPiArYXR0cl9zcF9pbmNfcHV0c2VsZih2b2lkKQo+ICt7Cj4gKyAgICByZXR1cm4gMTsKPiAr
fQo+ICsKPiArLyogYXR0ciByYl9udW1fdCB3aWR0aCBAIHB1dHNlbGYoKSgpKHZhbCkgKi8KPiAr
cmJfbnVtX3QKPiArYXR0cl93aWR0aF9wdXRzZWxmKHZvaWQpCj4gK3sKPiArICAgIHJldHVybiAx
Owo+ICt9Cj4gKwo+ICsvKiBhdHRyIGVudW0gcnVieV92bWluc25fdHlwZSBiaW4gQCBwdXRvYmpl
Y3QodmFsKSgpKHZhbCkgKi8KPiArZW51bSBydWJ5X3ZtaW5zbl90eXBlCj4gK2F0dHJfYmluX3B1
dG9iamVjdChNQVlCRV9VTlVTRUQoVkFMVUUgdmFsKSkKPiArewo+ICsgICAgcmV0dXJuIEJJTihw
dXRvYmplY3QpOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGJvb2wgaGFuZGxlc19zcCBAIHB1dG9iamVj
dCh2YWwpKCkodmFsKSAqLwo+ICtib29sCj4gK2F0dHJfaGFuZGxlc19zcF9wdXRvYmplY3QoTUFZ
QkVfVU5VU0VEKFZBTFVFIHZhbCkpCj4gK3sKPiArICAgIHJldHVybiBmYWxzZTsKPiArfQo+ICsK
PiArLyogYXR0ciBib29sIGxlYWYgQCBwdXRvYmplY3QodmFsKSgpKHZhbCkgKi8KPiArYm9vbAo+
ICthdHRyX2xlYWZfcHV0b2JqZWN0KE1BWUJFX1VOVVNFRChWQUxVRSB2YWwpKQo+ICt7Cj4gKyAg
ICByZXR1cm4gdHJ1ZTsKPiArfQo+ICsKPiArLyogYXR0ciBjb25zdCBjaGFyKiBuYW1lIEAgcHV0
b2JqZWN0KHZhbCkoKSh2YWwpICovCj4gK2NvbnN0IGNoYXIqCj4gK2F0dHJfbmFtZV9wdXRvYmpl
Y3QoTUFZQkVfVU5VU0VEKFZBTFVFIHZhbCkpCj4gK3sKPiArICAgIHJldHVybiBpbnNuX25hbWUo
QklOKHB1dG9iamVjdCkpOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IG9wZW4gQCBwdXRv
YmplY3QodmFsKSgpKHZhbCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl9vcGVuX3B1dG9iamVjdChN
QVlCRV9VTlVTRUQoVkFMVUUgdmFsKSkKPiArewo+ICsgICAgcmV0dXJuIDE7Cj4gK30KPiArCj4g
Ky8qIGF0dHIgcmJfbnVtX3QgcG9wbiBAIHB1dG9iamVjdCh2YWwpKCkodmFsKSAqLwo+ICtyYl9u
dW1fdAo+ICthdHRyX3BvcG5fcHV0b2JqZWN0KE1BWUJFX1VOVVNFRChWQUxVRSB2YWwpKQo+ICt7
Cj4gKyAgICByZXR1cm4gMDsKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCByZXRuIEAgcHV0
b2JqZWN0KHZhbCkoKSh2YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJfcmV0bl9wdXRvYmplY3Qo
TUFZQkVfVU5VU0VEKFZBTFVFIHZhbCkpCj4gK3sKPiArICAgIHJldHVybiAxOwo+ICt9Cj4gKwo+
ICsvKiBhdHRyIHJiX3NudW1fdCBzcF9pbmMgQCBwdXRvYmplY3QodmFsKSgpKHZhbCkgKi8KPiAr
cmJfc251bV90Cj4gK2F0dHJfc3BfaW5jX3B1dG9iamVjdChNQVlCRV9VTlVTRUQoVkFMVUUgdmFs
KSkKPiArewo+ICsgICAgcmV0dXJuIDE7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3Qgd2lk
dGggQCBwdXRvYmplY3QodmFsKSgpKHZhbCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl93aWR0aF9w
dXRvYmplY3QoTUFZQkVfVU5VU0VEKFZBTFVFIHZhbCkpCj4gK3sKPiArICAgIHJldHVybiAyOwo+
ICt9Cj4gKwo+ICsvKiBhdHRyIGVudW0gcnVieV92bWluc25fdHlwZSBiaW4gQCBwdXRzcGVjaWFs
b2JqZWN0KHZhbHVlX3R5cGUpKCkodmFsKSAqLwo+ICtlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUKPiAr
YXR0cl9iaW5fcHV0c3BlY2lhbG9iamVjdChNQVlCRV9VTlVTRUQocmJfbnVtX3QgdmFsdWVfdHlw
ZSkpCj4gK3sKPiArICAgIHJldHVybiBCSU4ocHV0c3BlY2lhbG9iamVjdCk7Cj4gK30KPiArCj4g
Ky8qIGF0dHIgYm9vbCBoYW5kbGVzX3NwIEAgcHV0c3BlY2lhbG9iamVjdCh2YWx1ZV90eXBlKSgp
KHZhbCkgKi8KPiArYm9vbAo+ICthdHRyX2hhbmRsZXNfc3BfcHV0c3BlY2lhbG9iamVjdChNQVlC
RV9VTlVTRUQocmJfbnVtX3QgdmFsdWVfdHlwZSkpCj4gK3sKPiArICAgIHJldHVybiBmYWxzZTsK
PiArfQo+ICsKPiArLyogYXR0ciBib29sIGxlYWYgQCBwdXRzcGVjaWFsb2JqZWN0KHZhbHVlX3R5
cGUpKCkodmFsKSAqLwo+ICtib29sCj4gK2F0dHJfbGVhZl9wdXRzcGVjaWFsb2JqZWN0KE1BWUJF
X1VOVVNFRChyYl9udW1fdCB2YWx1ZV90eXBlKSkKPiArewo+ICsgICAgcmV0dXJuIHRydWU7Cj4g
K30KPiArCj4gKy8qIGF0dHIgY29uc3QgY2hhciogbmFtZSBAIHB1dHNwZWNpYWxvYmplY3QodmFs
dWVfdHlwZSkoKSh2YWwpICovCj4gK2NvbnN0IGNoYXIqCj4gK2F0dHJfbmFtZV9wdXRzcGVjaWFs
b2JqZWN0KE1BWUJFX1VOVVNFRChyYl9udW1fdCB2YWx1ZV90eXBlKSkKPiArewo+ICsgICAgcmV0
dXJuIGluc25fbmFtZShCSU4ocHV0c3BlY2lhbG9iamVjdCkpOwo+ICt9Cj4gKwo+ICsvKiBhdHRy
IHJiX251bV90IG9wZW4gQCBwdXRzcGVjaWFsb2JqZWN0KHZhbHVlX3R5cGUpKCkodmFsKSAqLwo+
ICtyYl9udW1fdAo+ICthdHRyX29wZW5fcHV0c3BlY2lhbG9iamVjdChNQVlCRV9VTlVTRUQocmJf
bnVtX3QgdmFsdWVfdHlwZSkpCj4gK3sKPiArICAgIHJldHVybiAxOwo+ICt9Cj4gKwo+ICsvKiBh
dHRyIHJiX251bV90IHBvcG4gQCBwdXRzcGVjaWFsb2JqZWN0KHZhbHVlX3R5cGUpKCkodmFsKSAq
Lwo+ICtyYl9udW1fdAo+ICthdHRyX3BvcG5fcHV0c3BlY2lhbG9iamVjdChNQVlCRV9VTlVTRUQo
cmJfbnVtX3QgdmFsdWVfdHlwZSkpCj4gK3sKPiArICAgIHJldHVybiAwOwo+ICt9Cj4gKwo+ICsv
KiBhdHRyIHJiX251bV90IHJldG4gQCBwdXRzcGVjaWFsb2JqZWN0KHZhbHVlX3R5cGUpKCkodmFs
KSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3JldG5fcHV0c3BlY2lhbG9iamVjdChNQVlCRV9VTlVT
RUQocmJfbnVtX3QgdmFsdWVfdHlwZSkpCj4gK3sKPiArICAgIHJldHVybiAxOwo+ICt9Cj4gKwo+
ICsvKiBhdHRyIHJiX3NudW1fdCBzcF9pbmMgQCBwdXRzcGVjaWFsb2JqZWN0KHZhbHVlX3R5cGUp
KCkodmFsKSAqLwo+ICtyYl9zbnVtX3QKPiArYXR0cl9zcF9pbmNfcHV0c3BlY2lhbG9iamVjdChN
QVlCRV9VTlVTRUQocmJfbnVtX3QgdmFsdWVfdHlwZSkpCj4gK3sKPiArICAgIHJldHVybiAxOwo+
ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHdpZHRoIEAgcHV0c3BlY2lhbG9iamVjdCh2YWx1
ZV90eXBlKSgpKHZhbCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl93aWR0aF9wdXRzcGVjaWFsb2Jq
ZWN0KE1BWUJFX1VOVVNFRChyYl9udW1fdCB2YWx1ZV90eXBlKSkKPiArewo+ICsgICAgcmV0dXJu
IDI7Cj4gK30KPiArCj4gKy8qIGF0dHIgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGJpbiBAIHB1dGlz
ZXEoaXNlcSkoKShyZXQpICovCj4gK2VudW0gcnVieV92bWluc25fdHlwZQo+ICthdHRyX2Jpbl9w
dXRpc2VxKE1BWUJFX1VOVVNFRChJU0VRIGlzZXEpKQo+ICt7Cj4gKyAgICByZXR1cm4gQklOKHB1
dGlzZXEpOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGJvb2wgaGFuZGxlc19zcCBAIHB1dGlzZXEoaXNl
cSkoKShyZXQpICovCj4gK2Jvb2wKPiArYXR0cl9oYW5kbGVzX3NwX3B1dGlzZXEoTUFZQkVfVU5V
U0VEKElTRVEgaXNlcSkpCj4gK3sKPiArICAgIHJldHVybgo+ICsjbGluZSAzNjIgImluc25zLmRl
ZiIKPiArZmFsc2U7Cj4gKyNsaW5lIDI5NjUgImluc25zX2luZm8uaW5jIgo+ICt9Cj4gKwo+ICsv
KiBhdHRyIGJvb2wgbGVhZiBAIHB1dGlzZXEoaXNlcSkoKShyZXQpICovCj4gK2Jvb2wKPiArYXR0
cl9sZWFmX3B1dGlzZXEoTUFZQkVfVU5VU0VEKElTRVEgaXNlcSkpCj4gK3sKPiArICAgIHJldHVy
biB0cnVlOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGNvbnN0IGNoYXIqIG5hbWUgQCBwdXRpc2VxKGlz
ZXEpKCkocmV0KSAqLwo+ICtjb25zdCBjaGFyKgo+ICthdHRyX25hbWVfcHV0aXNlcShNQVlCRV9V
TlVTRUQoSVNFUSBpc2VxKSkKPiArewo+ICsgICAgcmV0dXJuIGluc25fbmFtZShCSU4ocHV0aXNl
cSkpOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IG9wZW4gQCBwdXRpc2VxKGlzZXEpKCko
cmV0KSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX29wZW5fcHV0aXNlcShNQVlCRV9VTlVTRUQoSVNF
USBpc2VxKSkKPiArewo+ICsgICAgcmV0dXJuIDE7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVt
X3QgcG9wbiBAIHB1dGlzZXEoaXNlcSkoKShyZXQpICovCj4gK3JiX251bV90Cj4gK2F0dHJfcG9w
bl9wdXRpc2VxKE1BWUJFX1VOVVNFRChJU0VRIGlzZXEpKQo+ICt7Cj4gKyAgICByZXR1cm4gMDsK
PiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCByZXRuIEAgcHV0aXNlcShpc2VxKSgpKHJldCkg
Ki8KPiArcmJfbnVtX3QKPiArYXR0cl9yZXRuX3B1dGlzZXEoTUFZQkVfVU5VU0VEKElTRVEgaXNl
cSkpCj4gK3sKPiArICAgIHJldHVybiAxOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX3NudW1fdCBz
cF9pbmMgQCBwdXRpc2VxKGlzZXEpKCkocmV0KSAqLwo+ICtyYl9zbnVtX3QKPiArYXR0cl9zcF9p
bmNfcHV0aXNlcShNQVlCRV9VTlVTRUQoSVNFUSBpc2VxKSkKPiArewo+ICsgICAgcmV0dXJuIDE7
Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3Qgd2lkdGggQCBwdXRpc2VxKGlzZXEpKCkocmV0
KSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3dpZHRoX3B1dGlzZXEoTUFZQkVfVU5VU0VEKElTRVEg
aXNlcSkpCj4gK3sKPiArICAgIHJldHVybiAyOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGVudW0gcnVi
eV92bWluc25fdHlwZSBiaW4gQCBwdXRzdHJpbmcoc3RyKSgpKHZhbCkgKi8KPiArZW51bSBydWJ5
X3ZtaW5zbl90eXBlCj4gK2F0dHJfYmluX3B1dHN0cmluZyhNQVlCRV9VTlVTRUQoVkFMVUUgc3Ry
KSkKPiArewo+ICsgICAgcmV0dXJuIEJJTihwdXRzdHJpbmcpOwo+ICt9Cj4gKwo+ICsvKiBhdHRy
IGJvb2wgaGFuZGxlc19zcCBAIHB1dHN0cmluZyhzdHIpKCkodmFsKSAqLwo+ICtib29sCj4gK2F0
dHJfaGFuZGxlc19zcF9wdXRzdHJpbmcoTUFZQkVfVU5VU0VEKFZBTFVFIHN0cikpCj4gK3sKPiAr
ICAgIHJldHVybiBmYWxzZTsKPiArfQo+ICsKPiArLyogYXR0ciBib29sIGxlYWYgQCBwdXRzdHJp
bmcoc3RyKSgpKHZhbCkgKi8KPiArYm9vbAo+ICthdHRyX2xlYWZfcHV0c3RyaW5nKE1BWUJFX1VO
VVNFRChWQUxVRSBzdHIpKQo+ICt7Cj4gKyAgICByZXR1cm4gdHJ1ZTsKPiArfQo+ICsKPiArLyog
YXR0ciBjb25zdCBjaGFyKiBuYW1lIEAgcHV0c3RyaW5nKHN0cikoKSh2YWwpICovCj4gK2NvbnN0
IGNoYXIqCj4gK2F0dHJfbmFtZV9wdXRzdHJpbmcoTUFZQkVfVU5VU0VEKFZBTFVFIHN0cikpCj4g
K3sKPiArICAgIHJldHVybiBpbnNuX25hbWUoQklOKHB1dHN0cmluZykpOwo+ICt9Cj4gKwo+ICsv
KiBhdHRyIHJiX251bV90IG9wZW4gQCBwdXRzdHJpbmcoc3RyKSgpKHZhbCkgKi8KPiArcmJfbnVt
X3QKPiArYXR0cl9vcGVuX3B1dHN0cmluZyhNQVlCRV9VTlVTRUQoVkFMVUUgc3RyKSkKPiArewo+
ICsgICAgcmV0dXJuIDE7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3QgcG9wbiBAIHB1dHN0
cmluZyhzdHIpKCkodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3BvcG5fcHV0c3RyaW5nKE1B
WUJFX1VOVVNFRChWQUxVRSBzdHIpKQo+ICt7Cj4gKyAgICByZXR1cm4gMDsKPiArfQo+ICsKPiAr
LyogYXR0ciByYl9udW1fdCByZXRuIEAgcHV0c3RyaW5nKHN0cikoKSh2YWwpICovCj4gK3JiX251
bV90Cj4gK2F0dHJfcmV0bl9wdXRzdHJpbmcoTUFZQkVfVU5VU0VEKFZBTFVFIHN0cikpCj4gK3sK
PiArICAgIHJldHVybiAxOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX3NudW1fdCBzcF9pbmMgQCBw
dXRzdHJpbmcoc3RyKSgpKHZhbCkgKi8KPiArcmJfc251bV90Cj4gK2F0dHJfc3BfaW5jX3B1dHN0
cmluZyhNQVlCRV9VTlVTRUQoVkFMVUUgc3RyKSkKPiArewo+ICsgICAgcmV0dXJuIDE7Cj4gK30K
PiArCj4gKy8qIGF0dHIgcmJfbnVtX3Qgd2lkdGggQCBwdXRzdHJpbmcoc3RyKSgpKHZhbCkgKi8K
PiArcmJfbnVtX3QKPiArYXR0cl93aWR0aF9wdXRzdHJpbmcoTUFZQkVfVU5VU0VEKFZBTFVFIHN0
cikpCj4gK3sKPiArICAgIHJldHVybiAyOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGVudW0gcnVieV92
bWluc25fdHlwZSBiaW4gQCBjb25jYXRzdHJpbmdzKG51bSkoLi4uKSh2YWwpICovCj4gK2VudW0g
cnVieV92bWluc25fdHlwZQo+ICthdHRyX2Jpbl9jb25jYXRzdHJpbmdzKE1BWUJFX1VOVVNFRChy
Yl9udW1fdCBudW0pKQo+ICt7Cj4gKyAgICByZXR1cm4gQklOKGNvbmNhdHN0cmluZ3MpOwo+ICt9
Cj4gKwo+ICsvKiBhdHRyIGJvb2wgaGFuZGxlc19zcCBAIGNvbmNhdHN0cmluZ3MobnVtKSguLi4p
KHZhbCkgKi8KPiArYm9vbAo+ICthdHRyX2hhbmRsZXNfc3BfY29uY2F0c3RyaW5ncyhNQVlCRV9V
TlVTRUQocmJfbnVtX3QgbnVtKSkKPiArewo+ICsgICAgcmV0dXJuIGZhbHNlOwo+ICt9Cj4gKwo+
ICsvKiBhdHRyIGJvb2wgbGVhZiBAIGNvbmNhdHN0cmluZ3MobnVtKSguLi4pKHZhbCkgKi8KPiAr
Ym9vbAo+ICthdHRyX2xlYWZfY29uY2F0c3RyaW5ncyhNQVlCRV9VTlVTRUQocmJfbnVtX3QgbnVt
KSkKPiArewo+ICsgICAgcmV0dXJuIHRydWU7Cj4gK30KPiArCj4gKy8qIGF0dHIgY29uc3QgY2hh
ciogbmFtZSBAIGNvbmNhdHN0cmluZ3MobnVtKSguLi4pKHZhbCkgKi8KPiArY29uc3QgY2hhcioK
PiArYXR0cl9uYW1lX2NvbmNhdHN0cmluZ3MoTUFZQkVfVU5VU0VEKHJiX251bV90IG51bSkpCj4g
K3sKPiArICAgIHJldHVybiBpbnNuX25hbWUoQklOKGNvbmNhdHN0cmluZ3MpKTsKPiArfQo+ICsK
PiArLyogYXR0ciByYl9udW1fdCBvcGVuIEAgY29uY2F0c3RyaW5ncyhudW0pKC4uLikodmFsKSAq
Lwo+ICtyYl9udW1fdAo+ICthdHRyX29wZW5fY29uY2F0c3RyaW5ncyhNQVlCRV9VTlVTRUQocmJf
bnVtX3QgbnVtKSkKPiArewo+ICsgICAgcmV0dXJuIDE7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJf
bnVtX3QgcG9wbiBAIGNvbmNhdHN0cmluZ3MobnVtKSguLi4pKHZhbCkgKi8KPiArcmJfbnVtX3QK
PiArYXR0cl9wb3BuX2NvbmNhdHN0cmluZ3MoTUFZQkVfVU5VU0VEKHJiX251bV90IG51bSkpCj4g
K3sKPiArICAgIHJldHVybiAwOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHJldG4gQCBj
b25jYXRzdHJpbmdzKG51bSkoLi4uKSh2YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJfcmV0bl9j
b25jYXRzdHJpbmdzKE1BWUJFX1VOVVNFRChyYl9udW1fdCBudW0pKQo+ICt7Cj4gKyAgICByZXR1
cm4gMTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9zbnVtX3Qgc3BfaW5jIEAgY29uY2F0c3RyaW5n
cyhudW0pKC4uLikodmFsKSAqLwo+ICtyYl9zbnVtX3QKPiArYXR0cl9zcF9pbmNfY29uY2F0c3Ry
aW5ncyhNQVlCRV9VTlVTRUQocmJfbnVtX3QgbnVtKSkKPiArewo+ICsgICAgcmV0dXJuCj4gKyNs
aW5lIDM4MyAiaW5zbnMuZGVmIgo+ICsxIC0gKHJiX3NudW1fdCludW07Cj4gKyNsaW5lIDMxMzYg
Imluc25zX2luZm8uaW5jIgo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHdpZHRoIEAgY29u
Y2F0c3RyaW5ncyhudW0pKC4uLikodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3dpZHRoX2Nv
bmNhdHN0cmluZ3MoTUFZQkVfVU5VU0VEKHJiX251bV90IG51bSkpCj4gK3sKPiArICAgIHJldHVy
biAyOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGVudW0gcnVieV92bWluc25fdHlwZSBiaW4gQCB0b3N0
cmluZygpKHZhbCwgc3RyKSh2YWwpICovCj4gK2VudW0gcnVieV92bWluc25fdHlwZQo+ICthdHRy
X2Jpbl90b3N0cmluZyh2b2lkKQo+ICt7Cj4gKyAgICByZXR1cm4gQklOKHRvc3RyaW5nKTsKPiAr
fQo+ICsKPiArLyogYXR0ciBib29sIGhhbmRsZXNfc3AgQCB0b3N0cmluZygpKHZhbCwgc3RyKSh2
YWwpICovCj4gK2Jvb2wKPiArYXR0cl9oYW5kbGVzX3NwX3Rvc3RyaW5nKHZvaWQpCj4gK3sKPiAr
ICAgIHJldHVybiBmYWxzZTsKPiArfQo+ICsKPiArLyogYXR0ciBib29sIGxlYWYgQCB0b3N0cmlu
ZygpKHZhbCwgc3RyKSh2YWwpICovCj4gK2Jvb2wKPiArYXR0cl9sZWFmX3Rvc3RyaW5nKHZvaWQp
Cj4gK3sKPiArICAgIHJldHVybiB0cnVlOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGNvbnN0IGNoYXIq
IG5hbWUgQCB0b3N0cmluZygpKHZhbCwgc3RyKSh2YWwpICovCj4gK2NvbnN0IGNoYXIqCj4gK2F0
dHJfbmFtZV90b3N0cmluZyh2b2lkKQo+ICt7Cj4gKyAgICByZXR1cm4gaW5zbl9uYW1lKEJJTih0
b3N0cmluZykpOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IG9wZW4gQCB0b3N0cmluZygp
KHZhbCwgc3RyKSh2YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJfb3Blbl90b3N0cmluZyh2b2lk
KQo+ICt7Cj4gKyAgICByZXR1cm4gMDsKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCBwb3Bu
IEAgdG9zdHJpbmcoKSh2YWwsIHN0cikodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3BvcG5f
dG9zdHJpbmcodm9pZCkKPiArewo+ICsgICAgcmV0dXJuIDI7Cj4gK30KPiArCj4gKy8qIGF0dHIg
cmJfbnVtX3QgcmV0biBAIHRvc3RyaW5nKCkodmFsLCBzdHIpKHZhbCkgKi8KPiArcmJfbnVtX3QK
PiArYXR0cl9yZXRuX3Rvc3RyaW5nKHZvaWQpCj4gK3sKPiArICAgIHJldHVybiAxOwo+ICt9Cj4g
Kwo+ICsvKiBhdHRyIHJiX3NudW1fdCBzcF9pbmMgQCB0b3N0cmluZygpKHZhbCwgc3RyKSh2YWwp
ICovCj4gK3JiX3NudW1fdAo+ICthdHRyX3NwX2luY190b3N0cmluZyh2b2lkKQo+ICt7Cj4gKyAg
ICByZXR1cm4gLTE7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3Qgd2lkdGggQCB0b3N0cmlu
ZygpKHZhbCwgc3RyKSh2YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJfd2lkdGhfdG9zdHJpbmco
dm9pZCkKPiArewo+ICsgICAgcmV0dXJuIDE7Cj4gK30KPiArCj4gKy8qIGF0dHIgZW51bSBydWJ5
X3ZtaW5zbl90eXBlIGJpbiBAIGZyZWV6ZXN0cmluZyhkZWJ1Z19pbmZvKShzdHIpKHN0cikgKi8K
PiArZW51bSBydWJ5X3ZtaW5zbl90eXBlCj4gK2F0dHJfYmluX2ZyZWV6ZXN0cmluZyhNQVlCRV9V
TlVTRUQoVkFMVUUgZGVidWdfaW5mbykpCj4gK3sKPiArICAgIHJldHVybiBCSU4oZnJlZXplc3Ry
aW5nKTsKPiArfQo+ICsKPiArLyogYXR0ciBib29sIGhhbmRsZXNfc3AgQCBmcmVlemVzdHJpbmco
ZGVidWdfaW5mbykoc3RyKShzdHIpICovCj4gK2Jvb2wKPiArYXR0cl9oYW5kbGVzX3NwX2ZyZWV6
ZXN0cmluZyhNQVlCRV9VTlVTRUQoVkFMVUUgZGVidWdfaW5mbykpCj4gK3sKPiArICAgIHJldHVy
biBmYWxzZTsKPiArfQo+ICsKPiArLyogYXR0ciBib29sIGxlYWYgQCBmcmVlemVzdHJpbmcoZGVi
dWdfaW5mbykoc3RyKShzdHIpICovCj4gK2Jvb2wKPiArYXR0cl9sZWFmX2ZyZWV6ZXN0cmluZyhN
QVlCRV9VTlVTRUQoVkFMVUUgZGVidWdfaW5mbykpCj4gK3sKPiArICAgIHJldHVybiB0cnVlOwo+
ICt9Cj4gKwo+ICsvKiBhdHRyIGNvbnN0IGNoYXIqIG5hbWUgQCBmcmVlemVzdHJpbmcoZGVidWdf
aW5mbykoc3RyKShzdHIpICovCj4gK2NvbnN0IGNoYXIqCj4gK2F0dHJfbmFtZV9mcmVlemVzdHJp
bmcoTUFZQkVfVU5VU0VEKFZBTFVFIGRlYnVnX2luZm8pKQo+ICt7Cj4gKyAgICByZXR1cm4gaW5z
bl9uYW1lKEJJTihmcmVlemVzdHJpbmcpKTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCBv
cGVuIEAgZnJlZXplc3RyaW5nKGRlYnVnX2luZm8pKHN0cikoc3RyKSAqLwo+ICtyYl9udW1fdAo+
ICthdHRyX29wZW5fZnJlZXplc3RyaW5nKE1BWUJFX1VOVVNFRChWQUxVRSBkZWJ1Z19pbmZvKSkK
PiArewo+ICsgICAgcmV0dXJuIDE7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3QgcG9wbiBA
IGZyZWV6ZXN0cmluZyhkZWJ1Z19pbmZvKShzdHIpKHN0cikgKi8KPiArcmJfbnVtX3QKPiArYXR0
cl9wb3BuX2ZyZWV6ZXN0cmluZyhNQVlCRV9VTlVTRUQoVkFMVUUgZGVidWdfaW5mbykpCj4gK3sK
PiArICAgIHJldHVybiAxOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHJldG4gQCBmcmVl
emVzdHJpbmcoZGVidWdfaW5mbykoc3RyKShzdHIpICovCj4gK3JiX251bV90Cj4gK2F0dHJfcmV0
bl9mcmVlemVzdHJpbmcoTUFZQkVfVU5VU0VEKFZBTFVFIGRlYnVnX2luZm8pKQo+ICt7Cj4gKyAg
ICByZXR1cm4gMTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9zbnVtX3Qgc3BfaW5jIEAgZnJlZXpl
c3RyaW5nKGRlYnVnX2luZm8pKHN0cikoc3RyKSAqLwo+ICtyYl9zbnVtX3QKPiArYXR0cl9zcF9p
bmNfZnJlZXplc3RyaW5nKE1BWUJFX1VOVVNFRChWQUxVRSBkZWJ1Z19pbmZvKSkKPiArewo+ICsg
ICAgcmV0dXJuIDA7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3Qgd2lkdGggQCBmcmVlemVz
dHJpbmcoZGVidWdfaW5mbykoc3RyKShzdHIpICovCj4gK3JiX251bV90Cj4gK2F0dHJfd2lkdGhf
ZnJlZXplc3RyaW5nKE1BWUJFX1VOVVNFRChWQUxVRSBkZWJ1Z19pbmZvKSkKPiArewo+ICsgICAg
cmV0dXJuIDI7Cj4gK30KPiArCj4gKy8qIGF0dHIgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGJpbiBA
IHRvcmVnZXhwKG9wdCwgY250KSguLi4pKHZhbCkgKi8KPiArZW51bSBydWJ5X3ZtaW5zbl90eXBl
Cj4gK2F0dHJfYmluX3RvcmVnZXhwKAo+ICsgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IG9wdCks
Cj4gKyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QgY250KQo+ICspCj4gK3sKPiArICAgIHJldHVy
biBCSU4odG9yZWdleHApOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGJvb2wgaGFuZGxlc19zcCBAIHRv
cmVnZXhwKG9wdCwgY250KSguLi4pKHZhbCkgKi8KPiArYm9vbAo+ICthdHRyX2hhbmRsZXNfc3Bf
dG9yZWdleHAoCj4gKyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3Qgb3B0KSwKPiArICAgIE1BWUJF
X1VOVVNFRChyYl9udW1fdCBjbnQpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIGZhbHNlOwo+ICt9
Cj4gKwo+ICsvKiBhdHRyIGJvb2wgbGVhZiBAIHRvcmVnZXhwKG9wdCwgY250KSguLi4pKHZhbCkg
Ki8KPiArYm9vbAo+ICthdHRyX2xlYWZfdG9yZWdleHAoCj4gKyAgICBNQVlCRV9VTlVTRUQocmJf
bnVtX3Qgb3B0KSwKPiArICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCBjbnQpCj4gKykKPiArewo+
ICsgICAgcmV0dXJuCj4gKyNsaW5lIDQxOCAiaW5zbnMuZGVmIgo+ICt0cnVlOwo+ICsjbGluZSAz
MzAyICJpbnNuc19pbmZvLmluYyIKPiArfQo+ICsKPiArLyogYXR0ciBjb25zdCBjaGFyKiBuYW1l
IEAgdG9yZWdleHAob3B0LCBjbnQpKC4uLikodmFsKSAqLwo+ICtjb25zdCBjaGFyKgo+ICthdHRy
X25hbWVfdG9yZWdleHAoCj4gKyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3Qgb3B0KSwKPiArICAg
IE1BWUJFX1VOVVNFRChyYl9udW1fdCBjbnQpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIGluc25f
bmFtZShCSU4odG9yZWdleHApKTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCBvcGVuIEAg
dG9yZWdleHAob3B0LCBjbnQpKC4uLikodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX29wZW5f
dG9yZWdleHAoCj4gKyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3Qgb3B0KSwKPiArICAgIE1BWUJF
X1VOVVNFRChyYl9udW1fdCBjbnQpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIDI7Cj4gK30KPiAr
Cj4gKy8qIGF0dHIgcmJfbnVtX3QgcG9wbiBAIHRvcmVnZXhwKG9wdCwgY250KSguLi4pKHZhbCkg
Ki8KPiArcmJfbnVtX3QKPiArYXR0cl9wb3BuX3RvcmVnZXhwKAo+ICsgICAgTUFZQkVfVU5VU0VE
KHJiX251bV90IG9wdCksCj4gKyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QgY250KQo+ICspCj4g
K3sKPiArICAgIHJldHVybiAwOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHJldG4gQCB0
b3JlZ2V4cChvcHQsIGNudCkoLi4uKSh2YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJfcmV0bl90
b3JlZ2V4cCgKPiArICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCBvcHQpLAo+ICsgICAgTUFZQkVf
VU5VU0VEKHJiX251bV90IGNudCkKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gMTsKPiArfQo+ICsK
PiArLyogYXR0ciByYl9zbnVtX3Qgc3BfaW5jIEAgdG9yZWdleHAob3B0LCBjbnQpKC4uLikodmFs
KSAqLwo+ICtyYl9zbnVtX3QKPiArYXR0cl9zcF9pbmNfdG9yZWdleHAoCj4gKyAgICBNQVlCRV9V
TlVTRUQocmJfbnVtX3Qgb3B0KSwKPiArICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCBjbnQpCj4g
KykKPiArewo+ICsgICAgcmV0dXJuCj4gKyNsaW5lIDQxOSAiaW5zbnMuZGVmIgo+ICsxIC0gKHJi
X3NudW1fdCljbnQ7Cj4gKyNsaW5lIDMzNTUgImluc25zX2luZm8uaW5jIgo+ICt9Cj4gKwo+ICsv
KiBhdHRyIHJiX251bV90IHdpZHRoIEAgdG9yZWdleHAob3B0LCBjbnQpKC4uLikodmFsKSAqLwo+
ICtyYl9udW1fdAo+ICthdHRyX3dpZHRoX3RvcmVnZXhwKAo+ICsgICAgTUFZQkVfVU5VU0VEKHJi
X251bV90IG9wdCksCj4gKyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QgY250KQo+ICspCj4gK3sK
PiArICAgIHJldHVybiAzOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGVudW0gcnVieV92bWluc25fdHlw
ZSBiaW4gQCBpbnRlcm4oKShzdHIpKHN5bSkgKi8KPiArZW51bSBydWJ5X3ZtaW5zbl90eXBlCj4g
K2F0dHJfYmluX2ludGVybih2b2lkKQo+ICt7Cj4gKyAgICByZXR1cm4gQklOKGludGVybik7Cj4g
K30KPiArCj4gKy8qIGF0dHIgYm9vbCBoYW5kbGVzX3NwIEAgaW50ZXJuKCkoc3RyKShzeW0pICov
Cj4gK2Jvb2wKPiArYXR0cl9oYW5kbGVzX3NwX2ludGVybih2b2lkKQo+ICt7Cj4gKyAgICByZXR1
cm4gZmFsc2U7Cj4gK30KPiArCj4gKy8qIGF0dHIgYm9vbCBsZWFmIEAgaW50ZXJuKCkoc3RyKShz
eW0pICovCj4gK2Jvb2wKPiArYXR0cl9sZWFmX2ludGVybih2b2lkKQo+ICt7Cj4gKyAgICByZXR1
cm4gdHJ1ZTsKPiArfQo+ICsKPiArLyogYXR0ciBjb25zdCBjaGFyKiBuYW1lIEAgaW50ZXJuKCko
c3RyKShzeW0pICovCj4gK2NvbnN0IGNoYXIqCj4gK2F0dHJfbmFtZV9pbnRlcm4odm9pZCkKPiAr
ewo+ICsgICAgcmV0dXJuIGluc25fbmFtZShCSU4oaW50ZXJuKSk7Cj4gK30KPiArCj4gKy8qIGF0
dHIgcmJfbnVtX3Qgb3BlbiBAIGludGVybigpKHN0cikoc3ltKSAqLwo+ICtyYl9udW1fdAo+ICth
dHRyX29wZW5faW50ZXJuKHZvaWQpCj4gK3sKPiArICAgIHJldHVybiAwOwo+ICt9Cj4gKwo+ICsv
KiBhdHRyIHJiX251bV90IHBvcG4gQCBpbnRlcm4oKShzdHIpKHN5bSkgKi8KPiArcmJfbnVtX3QK
PiArYXR0cl9wb3BuX2ludGVybih2b2lkKQo+ICt7Cj4gKyAgICByZXR1cm4gMTsKPiArfQo+ICsK
PiArLyogYXR0ciByYl9udW1fdCByZXRuIEAgaW50ZXJuKCkoc3RyKShzeW0pICovCj4gK3JiX251
bV90Cj4gK2F0dHJfcmV0bl9pbnRlcm4odm9pZCkKPiArewo+ICsgICAgcmV0dXJuIDE7Cj4gK30K
PiArCj4gKy8qIGF0dHIgcmJfc251bV90IHNwX2luYyBAIGludGVybigpKHN0cikoc3ltKSAqLwo+
ICtyYl9zbnVtX3QKPiArYXR0cl9zcF9pbmNfaW50ZXJuKHZvaWQpCj4gK3sKPiArICAgIHJldHVy
biAwOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHdpZHRoIEAgaW50ZXJuKCkoc3RyKShz
eW0pICovCj4gK3JiX251bV90Cj4gK2F0dHJfd2lkdGhfaW50ZXJuKHZvaWQpCj4gK3sKPiArICAg
IHJldHVybiAxOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGVudW0gcnVieV92bWluc25fdHlwZSBiaW4g
QCBuZXdhcnJheShudW0pKC4uLikodmFsKSAqLwo+ICtlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUKPiAr
YXR0cl9iaW5fbmV3YXJyYXkoTUFZQkVfVU5VU0VEKHJiX251bV90IG51bSkpCj4gK3sKPiArICAg
IHJldHVybiBCSU4obmV3YXJyYXkpOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGJvb2wgaGFuZGxlc19z
cCBAIG5ld2FycmF5KG51bSkoLi4uKSh2YWwpICovCj4gK2Jvb2wKPiArYXR0cl9oYW5kbGVzX3Nw
X25ld2FycmF5KE1BWUJFX1VOVVNFRChyYl9udW1fdCBudW0pKQo+ICt7Cj4gKyAgICByZXR1cm4g
ZmFsc2U7Cj4gK30KPiArCj4gKy8qIGF0dHIgYm9vbCBsZWFmIEAgbmV3YXJyYXkobnVtKSguLi4p
KHZhbCkgKi8KPiArYm9vbAo+ICthdHRyX2xlYWZfbmV3YXJyYXkoTUFZQkVfVU5VU0VEKHJiX251
bV90IG51bSkpCj4gK3sKPiArICAgIHJldHVybiB0cnVlOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGNv
bnN0IGNoYXIqIG5hbWUgQCBuZXdhcnJheShudW0pKC4uLikodmFsKSAqLwo+ICtjb25zdCBjaGFy
Kgo+ICthdHRyX25hbWVfbmV3YXJyYXkoTUFZQkVfVU5VU0VEKHJiX251bV90IG51bSkpCj4gK3sK
PiArICAgIHJldHVybiBpbnNuX25hbWUoQklOKG5ld2FycmF5KSk7Cj4gK30KPiArCj4gKy8qIGF0
dHIgcmJfbnVtX3Qgb3BlbiBAIG5ld2FycmF5KG51bSkoLi4uKSh2YWwpICovCj4gK3JiX251bV90
Cj4gK2F0dHJfb3Blbl9uZXdhcnJheShNQVlCRV9VTlVTRUQocmJfbnVtX3QgbnVtKSkKPiArewo+
ICsgICAgcmV0dXJuIDE7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3QgcG9wbiBAIG5ld2Fy
cmF5KG51bSkoLi4uKSh2YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJfcG9wbl9uZXdhcnJheShN
QVlCRV9VTlVTRUQocmJfbnVtX3QgbnVtKSkKPiArewo+ICsgICAgcmV0dXJuIDA7Cj4gK30KPiAr
Cj4gKy8qIGF0dHIgcmJfbnVtX3QgcmV0biBAIG5ld2FycmF5KG51bSkoLi4uKSh2YWwpICovCj4g
K3JiX251bV90Cj4gK2F0dHJfcmV0bl9uZXdhcnJheShNQVlCRV9VTlVTRUQocmJfbnVtX3QgbnVt
KSkKPiArewo+ICsgICAgcmV0dXJuIDE7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfc251bV90IHNw
X2luYyBAIG5ld2FycmF5KG51bSkoLi4uKSh2YWwpICovCj4gK3JiX3NudW1fdAo+ICthdHRyX3Nw
X2luY19uZXdhcnJheShNQVlCRV9VTlVTRUQocmJfbnVtX3QgbnVtKSkKPiArewo+ICsgICAgcmV0
dXJuCj4gKyNsaW5lIDQ0MiAiaW5zbnMuZGVmIgo+ICsxIC0gKHJiX3NudW1fdCludW07Cj4gKyNs
aW5lIDM0ODcgImluc25zX2luZm8uaW5jIgo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHdp
ZHRoIEAgbmV3YXJyYXkobnVtKSguLi4pKHZhbCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl93aWR0
aF9uZXdhcnJheShNQVlCRV9VTlVTRUQocmJfbnVtX3QgbnVtKSkKPiArewo+ICsgICAgcmV0dXJu
IDI7Cj4gK30KPiArCj4gKy8qIGF0dHIgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGJpbiBAIGR1cGFy
cmF5KGFyeSkoKSh2YWwpICovCj4gK2VudW0gcnVieV92bWluc25fdHlwZQo+ICthdHRyX2Jpbl9k
dXBhcnJheShNQVlCRV9VTlVTRUQoVkFMVUUgYXJ5KSkKPiArewo+ICsgICAgcmV0dXJuIEJJTihk
dXBhcnJheSk7Cj4gK30KPiArCj4gKy8qIGF0dHIgYm9vbCBoYW5kbGVzX3NwIEAgZHVwYXJyYXko
YXJ5KSgpKHZhbCkgKi8KPiArYm9vbAo+ICthdHRyX2hhbmRsZXNfc3BfZHVwYXJyYXkoTUFZQkVf
VU5VU0VEKFZBTFVFIGFyeSkpCj4gK3sKPiArICAgIHJldHVybiBmYWxzZTsKPiArfQo+ICsKPiAr
LyogYXR0ciBib29sIGxlYWYgQCBkdXBhcnJheShhcnkpKCkodmFsKSAqLwo+ICtib29sCj4gK2F0
dHJfbGVhZl9kdXBhcnJheShNQVlCRV9VTlVTRUQoVkFMVUUgYXJ5KSkKPiArewo+ICsgICAgcmV0
dXJuIHRydWU7Cj4gK30KPiArCj4gKy8qIGF0dHIgY29uc3QgY2hhciogbmFtZSBAIGR1cGFycmF5
KGFyeSkoKSh2YWwpICovCj4gK2NvbnN0IGNoYXIqCj4gK2F0dHJfbmFtZV9kdXBhcnJheShNQVlC
RV9VTlVTRUQoVkFMVUUgYXJ5KSkKPiArewo+ICsgICAgcmV0dXJuIGluc25fbmFtZShCSU4oZHVw
YXJyYXkpKTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCBvcGVuIEAgZHVwYXJyYXkoYXJ5
KSgpKHZhbCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl9vcGVuX2R1cGFycmF5KE1BWUJFX1VOVVNF
RChWQUxVRSBhcnkpKQo+ICt7Cj4gKyAgICByZXR1cm4gMTsKPiArfQo+ICsKPiArLyogYXR0ciBy
Yl9udW1fdCBwb3BuIEAgZHVwYXJyYXkoYXJ5KSgpKHZhbCkgKi8KPiArcmJfbnVtX3QKPiArYXR0
cl9wb3BuX2R1cGFycmF5KE1BWUJFX1VOVVNFRChWQUxVRSBhcnkpKQo+ICt7Cj4gKyAgICByZXR1
cm4gMDsKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCByZXRuIEAgZHVwYXJyYXkoYXJ5KSgp
KHZhbCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl9yZXRuX2R1cGFycmF5KE1BWUJFX1VOVVNFRChW
QUxVRSBhcnkpKQo+ICt7Cj4gKyAgICByZXR1cm4gMTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9z
bnVtX3Qgc3BfaW5jIEAgZHVwYXJyYXkoYXJ5KSgpKHZhbCkgKi8KPiArcmJfc251bV90Cj4gK2F0
dHJfc3BfaW5jX2R1cGFycmF5KE1BWUJFX1VOVVNFRChWQUxVRSBhcnkpKQo+ICt7Cj4gKyAgICBy
ZXR1cm4gMTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCB3aWR0aCBAIGR1cGFycmF5KGFy
eSkoKSh2YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJfd2lkdGhfZHVwYXJyYXkoTUFZQkVfVU5V
U0VEKFZBTFVFIGFyeSkpCj4gK3sKPiArICAgIHJldHVybiAyOwo+ICt9Cj4gKwo+ICsvKiBhdHRy
IGVudW0gcnVieV92bWluc25fdHlwZSBiaW4gQCBkdXBoYXNoKGhhc2gpKCkodmFsKSAqLwo+ICtl
bnVtIHJ1Ynlfdm1pbnNuX3R5cGUKPiArYXR0cl9iaW5fZHVwaGFzaChNQVlCRV9VTlVTRUQoVkFM
VUUgaGFzaCkpCj4gK3sKPiArICAgIHJldHVybiBCSU4oZHVwaGFzaCk7Cj4gK30KPiArCj4gKy8q
IGF0dHIgYm9vbCBoYW5kbGVzX3NwIEAgZHVwaGFzaChoYXNoKSgpKHZhbCkgKi8KPiArYm9vbAo+
ICthdHRyX2hhbmRsZXNfc3BfZHVwaGFzaChNQVlCRV9VTlVTRUQoVkFMVUUgaGFzaCkpCj4gK3sK
PiArICAgIHJldHVybiBmYWxzZTsKPiArfQo+ICsKPiArLyogYXR0ciBib29sIGxlYWYgQCBkdXBo
YXNoKGhhc2gpKCkodmFsKSAqLwo+ICtib29sCj4gK2F0dHJfbGVhZl9kdXBoYXNoKE1BWUJFX1VO
VVNFRChWQUxVRSBoYXNoKSkKPiArewo+ICsgICAgcmV0dXJuIHRydWU7Cj4gK30KPiArCj4gKy8q
IGF0dHIgY29uc3QgY2hhciogbmFtZSBAIGR1cGhhc2goaGFzaCkoKSh2YWwpICovCj4gK2NvbnN0
IGNoYXIqCj4gK2F0dHJfbmFtZV9kdXBoYXNoKE1BWUJFX1VOVVNFRChWQUxVRSBoYXNoKSkKPiAr
ewo+ICsgICAgcmV0dXJuIGluc25fbmFtZShCSU4oZHVwaGFzaCkpOwo+ICt9Cj4gKwo+ICsvKiBh
dHRyIHJiX251bV90IG9wZW4gQCBkdXBoYXNoKGhhc2gpKCkodmFsKSAqLwo+ICtyYl9udW1fdAo+
ICthdHRyX29wZW5fZHVwaGFzaChNQVlCRV9VTlVTRUQoVkFMVUUgaGFzaCkpCj4gK3sKPiArICAg
IHJldHVybiAxOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHBvcG4gQCBkdXBoYXNoKGhh
c2gpKCkodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3BvcG5fZHVwaGFzaChNQVlCRV9VTlVT
RUQoVkFMVUUgaGFzaCkpCj4gK3sKPiArICAgIHJldHVybiAwOwo+ICt9Cj4gKwo+ICsvKiBhdHRy
IHJiX251bV90IHJldG4gQCBkdXBoYXNoKGhhc2gpKCkodmFsKSAqLwo+ICtyYl9udW1fdAo+ICth
dHRyX3JldG5fZHVwaGFzaChNQVlCRV9VTlVTRUQoVkFMVUUgaGFzaCkpCj4gK3sKPiArICAgIHJl
dHVybiAxOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX3NudW1fdCBzcF9pbmMgQCBkdXBoYXNoKGhh
c2gpKCkodmFsKSAqLwo+ICtyYl9zbnVtX3QKPiArYXR0cl9zcF9pbmNfZHVwaGFzaChNQVlCRV9V
TlVTRUQoVkFMVUUgaGFzaCkpCj4gK3sKPiArICAgIHJldHVybiAxOwo+ICt9Cj4gKwo+ICsvKiBh
dHRyIHJiX251bV90IHdpZHRoIEAgZHVwaGFzaChoYXNoKSgpKHZhbCkgKi8KPiArcmJfbnVtX3QK
PiArYXR0cl93aWR0aF9kdXBoYXNoKE1BWUJFX1VOVVNFRChWQUxVRSBoYXNoKSkKPiArewo+ICsg
ICAgcmV0dXJuIDI7Cj4gK30KPiArCj4gKy8qIGF0dHIgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGJp
biBAIGV4cGFuZGFycmF5KG51bSwgZmxhZykoLi4uLCBhcnkpKC4uLikgKi8KPiArZW51bSBydWJ5
X3ZtaW5zbl90eXBlCj4gK2F0dHJfYmluX2V4cGFuZGFycmF5KAo+ICsgICAgTUFZQkVfVU5VU0VE
KHJiX251bV90IG51bSksCj4gKyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QgZmxhZykKPiArKQo+
ICt7Cj4gKyAgICByZXR1cm4gQklOKGV4cGFuZGFycmF5KTsKPiArfQo+ICsKPiArLyogYXR0ciBi
b29sIGhhbmRsZXNfc3AgQCBleHBhbmRhcnJheShudW0sIGZsYWcpKC4uLiwgYXJ5KSguLi4pICov
Cj4gK2Jvb2wKPiArYXR0cl9oYW5kbGVzX3NwX2V4cGFuZGFycmF5KAo+ICsgICAgTUFZQkVfVU5V
U0VEKHJiX251bV90IG51bSksCj4gKyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QgZmxhZykKPiAr
KQo+ICt7Cj4gKyAgICByZXR1cm4gZmFsc2U7Cj4gK30KPiArCj4gKy8qIGF0dHIgYm9vbCBsZWFm
IEAgZXhwYW5kYXJyYXkobnVtLCBmbGFnKSguLi4sIGFyeSkoLi4uKSAqLwo+ICtib29sCj4gK2F0
dHJfbGVhZl9leHBhbmRhcnJheSgKPiArICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCBudW0pLAo+
ICsgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IGZsYWcpCj4gKykKPiArewo+ICsgICAgcmV0dXJu
Cj4gKyNsaW5lIDQ4MyAiaW5zbnMuZGVmIgo+ICtmYWxzZTsKPiArI2xpbmUgMzY1MyAiaW5zbnNf
aW5mby5pbmMiCj4gK30KPiArCj4gKy8qIGF0dHIgY29uc3QgY2hhciogbmFtZSBAIGV4cGFuZGFy
cmF5KG51bSwgZmxhZykoLi4uLCBhcnkpKC4uLikgKi8KPiArY29uc3QgY2hhcioKPiArYXR0cl9u
YW1lX2V4cGFuZGFycmF5KAo+ICsgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IG51bSksCj4gKyAg
ICBNQVlCRV9VTlVTRUQocmJfbnVtX3QgZmxhZykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gaW5z
bl9uYW1lKEJJTihleHBhbmRhcnJheSkpOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IG9w
ZW4gQCBleHBhbmRhcnJheShudW0sIGZsYWcpKC4uLiwgYXJ5KSguLi4pICovCj4gK3JiX251bV90
Cj4gK2F0dHJfb3Blbl9leHBhbmRhcnJheSgKPiArICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCBu
dW0pLAo+ICsgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IGZsYWcpCj4gKykKPiArewo+ICsgICAg
cmV0dXJuIDI7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3QgcG9wbiBAIGV4cGFuZGFycmF5
KG51bSwgZmxhZykoLi4uLCBhcnkpKC4uLikgKi8KPiArcmJfbnVtX3QKPiArYXR0cl9wb3BuX2V4
cGFuZGFycmF5KAo+ICsgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IG51bSksCj4gKyAgICBNQVlC
RV9VTlVTRUQocmJfbnVtX3QgZmxhZykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gMTsKPiArfQo+
ICsKPiArLyogYXR0ciByYl9udW1fdCByZXRuIEAgZXhwYW5kYXJyYXkobnVtLCBmbGFnKSguLi4s
IGFyeSkoLi4uKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3JldG5fZXhwYW5kYXJyYXkoCj4gKyAg
ICBNQVlCRV9VTlVTRUQocmJfbnVtX3QgbnVtKSwKPiArICAgIE1BWUJFX1VOVVNFRChyYl9udW1f
dCBmbGFnKQo+ICspCj4gK3sKPiArICAgIHJldHVybiAwOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJi
X3NudW1fdCBzcF9pbmMgQCBleHBhbmRhcnJheShudW0sIGZsYWcpKC4uLiwgYXJ5KSguLi4pICov
Cj4gK3JiX3NudW1fdAo+ICthdHRyX3NwX2luY19leHBhbmRhcnJheSgKPiArICAgIE1BWUJFX1VO
VVNFRChyYl9udW1fdCBudW0pLAo+ICsgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IGZsYWcpCj4g
KykKPiArewo+ICsgICAgcmV0dXJuCj4gKyNsaW5lIDQ4NCAiaW5zbnMuZGVmIgo+ICsocmJfc251
bV90KW51bSAtIDEgKyAoZmxhZyAmIDEgPyAxIDogMCk7Cj4gKyNsaW5lIDM3MDYgImluc25zX2lu
Zm8uaW5jIgo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHdpZHRoIEAgZXhwYW5kYXJyYXko
bnVtLCBmbGFnKSguLi4sIGFyeSkoLi4uKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3dpZHRoX2V4
cGFuZGFycmF5KAo+ICsgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IG51bSksCj4gKyAgICBNQVlC
RV9VTlVTRUQocmJfbnVtX3QgZmxhZykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gMzsKPiArfQo+
ICsKPiArLyogYXR0ciBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYmluIEAgY29uY2F0YXJyYXkoKShh
cnkxLCBhcnkyKShhcnkpICovCj4gK2VudW0gcnVieV92bWluc25fdHlwZQo+ICthdHRyX2Jpbl9j
b25jYXRhcnJheSh2b2lkKQo+ICt7Cj4gKyAgICByZXR1cm4gQklOKGNvbmNhdGFycmF5KTsKPiAr
fQo+ICsKPiArLyogYXR0ciBib29sIGhhbmRsZXNfc3AgQCBjb25jYXRhcnJheSgpKGFyeTEsIGFy
eTIpKGFyeSkgKi8KPiArYm9vbAo+ICthdHRyX2hhbmRsZXNfc3BfY29uY2F0YXJyYXkodm9pZCkK
PiArewo+ICsgICAgcmV0dXJuIGZhbHNlOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGJvb2wgbGVhZiBA
IGNvbmNhdGFycmF5KCkoYXJ5MSwgYXJ5MikoYXJ5KSAqLwo+ICtib29sCj4gK2F0dHJfbGVhZl9j
b25jYXRhcnJheSh2b2lkKQo+ICt7Cj4gKyAgICByZXR1cm4KPiArI2xpbmUgNDk1ICJpbnNucy5k
ZWYiCj4gK2ZhbHNlOwo+ICsjbGluZSAzNzQwICJpbnNuc19pbmZvLmluYyIKPiArfQo+ICsKPiAr
LyogYXR0ciBjb25zdCBjaGFyKiBuYW1lIEAgY29uY2F0YXJyYXkoKShhcnkxLCBhcnkyKShhcnkp
ICovCj4gK2NvbnN0IGNoYXIqCj4gK2F0dHJfbmFtZV9jb25jYXRhcnJheSh2b2lkKQo+ICt7Cj4g
KyAgICByZXR1cm4gaW5zbl9uYW1lKEJJTihjb25jYXRhcnJheSkpOwo+ICt9Cj4gKwo+ICsvKiBh
dHRyIHJiX251bV90IG9wZW4gQCBjb25jYXRhcnJheSgpKGFyeTEsIGFyeTIpKGFyeSkgKi8KPiAr
cmJfbnVtX3QKPiArYXR0cl9vcGVuX2NvbmNhdGFycmF5KHZvaWQpCj4gK3sKPiArICAgIHJldHVy
biAwOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHBvcG4gQCBjb25jYXRhcnJheSgpKGFy
eTEsIGFyeTIpKGFyeSkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl9wb3BuX2NvbmNhdGFycmF5KHZv
aWQpCj4gK3sKPiArICAgIHJldHVybiAyOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHJl
dG4gQCBjb25jYXRhcnJheSgpKGFyeTEsIGFyeTIpKGFyeSkgKi8KPiArcmJfbnVtX3QKPiArYXR0
cl9yZXRuX2NvbmNhdGFycmF5KHZvaWQpCj4gK3sKPiArICAgIHJldHVybiAxOwo+ICt9Cj4gKwo+
ICsvKiBhdHRyIHJiX3NudW1fdCBzcF9pbmMgQCBjb25jYXRhcnJheSgpKGFyeTEsIGFyeTIpKGFy
eSkgKi8KPiArcmJfc251bV90Cj4gK2F0dHJfc3BfaW5jX2NvbmNhdGFycmF5KHZvaWQpCj4gK3sK
PiArICAgIHJldHVybiAtMTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCB3aWR0aCBAIGNv
bmNhdGFycmF5KCkoYXJ5MSwgYXJ5MikoYXJ5KSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3dpZHRo
X2NvbmNhdGFycmF5KHZvaWQpCj4gK3sKPiArICAgIHJldHVybiAxOwo+ICt9Cj4gKwo+ICsvKiBh
dHRyIGVudW0gcnVieV92bWluc25fdHlwZSBiaW4gQCBzcGxhdGFycmF5KGZsYWcpKGFyeSkob2Jq
KSAqLwo+ICtlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUKPiArYXR0cl9iaW5fc3BsYXRhcnJheShNQVlC
RV9VTlVTRUQoVkFMVUUgZmxhZykpCj4gK3sKPiArICAgIHJldHVybiBCSU4oc3BsYXRhcnJheSk7
Cj4gK30KPiArCj4gKy8qIGF0dHIgYm9vbCBoYW5kbGVzX3NwIEAgc3BsYXRhcnJheShmbGFnKShh
cnkpKG9iaikgKi8KPiArYm9vbAo+ICthdHRyX2hhbmRsZXNfc3Bfc3BsYXRhcnJheShNQVlCRV9V
TlVTRUQoVkFMVUUgZmxhZykpCj4gK3sKPiArICAgIHJldHVybiBmYWxzZTsKPiArfQo+ICsKPiAr
LyogYXR0ciBib29sIGxlYWYgQCBzcGxhdGFycmF5KGZsYWcpKGFyeSkob2JqKSAqLwo+ICtib29s
Cj4gK2F0dHJfbGVhZl9zcGxhdGFycmF5KE1BWUJFX1VOVVNFRChWQUxVRSBmbGFnKSkKPiArewo+
ICsgICAgcmV0dXJuCj4gKyNsaW5lIDUwNiAiaW5zbnMuZGVmIgo+ICtmYWxzZTsKPiArI2xpbmUg
MzgwNiAiaW5zbnNfaW5mby5pbmMiCj4gK30KPiArCj4gKy8qIGF0dHIgY29uc3QgY2hhciogbmFt
ZSBAIHNwbGF0YXJyYXkoZmxhZykoYXJ5KShvYmopICovCj4gK2NvbnN0IGNoYXIqCj4gK2F0dHJf
bmFtZV9zcGxhdGFycmF5KE1BWUJFX1VOVVNFRChWQUxVRSBmbGFnKSkKPiArewo+ICsgICAgcmV0
dXJuIGluc25fbmFtZShCSU4oc3BsYXRhcnJheSkpOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251
bV90IG9wZW4gQCBzcGxhdGFycmF5KGZsYWcpKGFyeSkob2JqKSAqLwo+ICtyYl9udW1fdAo+ICth
dHRyX29wZW5fc3BsYXRhcnJheShNQVlCRV9VTlVTRUQoVkFMVUUgZmxhZykpCj4gK3sKPiArICAg
IHJldHVybiAxOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHBvcG4gQCBzcGxhdGFycmF5
KGZsYWcpKGFyeSkob2JqKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3BvcG5fc3BsYXRhcnJheShN
QVlCRV9VTlVTRUQoVkFMVUUgZmxhZykpCj4gK3sKPiArICAgIHJldHVybiAxOwo+ICt9Cj4gKwo+
ICsvKiBhdHRyIHJiX251bV90IHJldG4gQCBzcGxhdGFycmF5KGZsYWcpKGFyeSkob2JqKSAqLwo+
ICtyYl9udW1fdAo+ICthdHRyX3JldG5fc3BsYXRhcnJheShNQVlCRV9VTlVTRUQoVkFMVUUgZmxh
ZykpCj4gK3sKPiArICAgIHJldHVybiAxOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX3NudW1fdCBz
cF9pbmMgQCBzcGxhdGFycmF5KGZsYWcpKGFyeSkob2JqKSAqLwo+ICtyYl9zbnVtX3QKPiArYXR0
cl9zcF9pbmNfc3BsYXRhcnJheShNQVlCRV9VTlVTRUQoVkFMVUUgZmxhZykpCj4gK3sKPiArICAg
IHJldHVybiAwOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHdpZHRoIEAgc3BsYXRhcnJh
eShmbGFnKShhcnkpKG9iaikgKi8KPiArcmJfbnVtX3QKPiArYXR0cl93aWR0aF9zcGxhdGFycmF5
KE1BWUJFX1VOVVNFRChWQUxVRSBmbGFnKSkKPiArewo+ICsgICAgcmV0dXJuIDI7Cj4gK30KPiAr
Cj4gKy8qIGF0dHIgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGJpbiBAIG5ld2hhc2gobnVtKSguLi4p
KHZhbCkgKi8KPiArZW51bSBydWJ5X3ZtaW5zbl90eXBlCj4gK2F0dHJfYmluX25ld2hhc2goTUFZ
QkVfVU5VU0VEKHJiX251bV90IG51bSkpCj4gK3sKPiArICAgIHJldHVybiBCSU4obmV3aGFzaCk7
Cj4gK30KPiArCj4gKy8qIGF0dHIgYm9vbCBoYW5kbGVzX3NwIEAgbmV3aGFzaChudW0pKC4uLiko
dmFsKSAqLwo+ICtib29sCj4gK2F0dHJfaGFuZGxlc19zcF9uZXdoYXNoKE1BWUJFX1VOVVNFRChy
Yl9udW1fdCBudW0pKQo+ICt7Cj4gKyAgICByZXR1cm4gZmFsc2U7Cj4gK30KPiArCj4gKy8qIGF0
dHIgYm9vbCBsZWFmIEAgbmV3aGFzaChudW0pKC4uLikodmFsKSAqLwo+ICtib29sCj4gK2F0dHJf
bGVhZl9uZXdoYXNoKE1BWUJFX1VOVVNFRChyYl9udW1fdCBudW0pKQo+ICt7Cj4gKyAgICByZXR1
cm4KPiArI2xpbmUgNTE3ICJpbnNucy5kZWYiCj4gK2ZhbHNlOwo+ICsjbGluZSAzODcyICJpbnNu
c19pbmZvLmluYyIKPiArfQo+ICsKPiArLyogYXR0ciBjb25zdCBjaGFyKiBuYW1lIEAgbmV3aGFz
aChudW0pKC4uLikodmFsKSAqLwo+ICtjb25zdCBjaGFyKgo+ICthdHRyX25hbWVfbmV3aGFzaChN
QVlCRV9VTlVTRUQocmJfbnVtX3QgbnVtKSkKPiArewo+ICsgICAgcmV0dXJuIGluc25fbmFtZShC
SU4obmV3aGFzaCkpOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IG9wZW4gQCBuZXdoYXNo
KG51bSkoLi4uKSh2YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJfb3Blbl9uZXdoYXNoKE1BWUJF
X1VOVVNFRChyYl9udW1fdCBudW0pKQo+ICt7Cj4gKyAgICByZXR1cm4gMTsKPiArfQo+ICsKPiAr
LyogYXR0ciByYl9udW1fdCBwb3BuIEAgbmV3aGFzaChudW0pKC4uLikodmFsKSAqLwo+ICtyYl9u
dW1fdAo+ICthdHRyX3BvcG5fbmV3aGFzaChNQVlCRV9VTlVTRUQocmJfbnVtX3QgbnVtKSkKPiAr
ewo+ICsgICAgcmV0dXJuIDA7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3QgcmV0biBAIG5l
d2hhc2gobnVtKSguLi4pKHZhbCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl9yZXRuX25ld2hhc2go
TUFZQkVfVU5VU0VEKHJiX251bV90IG51bSkpCj4gK3sKPiArICAgIHJldHVybiAxOwo+ICt9Cj4g
Kwo+ICsvKiBhdHRyIHJiX3NudW1fdCBzcF9pbmMgQCBuZXdoYXNoKG51bSkoLi4uKSh2YWwpICov
Cj4gK3JiX3NudW1fdAo+ICthdHRyX3NwX2luY19uZXdoYXNoKE1BWUJFX1VOVVNFRChyYl9udW1f
dCBudW0pKQo+ICt7Cj4gKyAgICByZXR1cm4KPiArI2xpbmUgNTE4ICJpbnNucy5kZWYiCj4gKzEg
LSAocmJfc251bV90KW51bTsKPiArI2xpbmUgMzkxMCAiaW5zbnNfaW5mby5pbmMiCj4gK30KPiAr
Cj4gKy8qIGF0dHIgcmJfbnVtX3Qgd2lkdGggQCBuZXdoYXNoKG51bSkoLi4uKSh2YWwpICovCj4g
K3JiX251bV90Cj4gK2F0dHJfd2lkdGhfbmV3aGFzaChNQVlCRV9VTlVTRUQocmJfbnVtX3QgbnVt
KSkKPiArewo+ICsgICAgcmV0dXJuIDI7Cj4gK30KPiArCj4gKy8qIGF0dHIgZW51bSBydWJ5X3Zt
aW5zbl90eXBlIGJpbiBAIG5ld3JhbmdlKGZsYWcpKGxvdywgaGlnaCkodmFsKSAqLwo+ICtlbnVt
IHJ1Ynlfdm1pbnNuX3R5cGUKPiArYXR0cl9iaW5fbmV3cmFuZ2UoTUFZQkVfVU5VU0VEKHJiX251
bV90IGZsYWcpKQo+ICt7Cj4gKyAgICByZXR1cm4gQklOKG5ld3JhbmdlKTsKPiArfQo+ICsKPiAr
LyogYXR0ciBib29sIGhhbmRsZXNfc3AgQCBuZXdyYW5nZShmbGFnKShsb3csIGhpZ2gpKHZhbCkg
Ki8KPiArYm9vbAo+ICthdHRyX2hhbmRsZXNfc3BfbmV3cmFuZ2UoTUFZQkVfVU5VU0VEKHJiX251
bV90IGZsYWcpKQo+ICt7Cj4gKyAgICByZXR1cm4gZmFsc2U7Cj4gK30KPiArCj4gKy8qIGF0dHIg
Ym9vbCBsZWFmIEAgbmV3cmFuZ2UoZmxhZykobG93LCBoaWdoKSh2YWwpICovCj4gK2Jvb2wKPiAr
YXR0cl9sZWFmX25ld3JhbmdlKE1BWUJFX1VOVVNFRChyYl9udW1fdCBmbGFnKSkKPiArewo+ICsg
ICAgcmV0dXJuCj4gKyNsaW5lIDUzNiAiaW5zbnMuZGVmIgo+ICtmYWxzZTsKPiArI2xpbmUgMzk0
MSAiaW5zbnNfaW5mby5pbmMiCj4gK30KPiArCj4gKy8qIGF0dHIgY29uc3QgY2hhciogbmFtZSBA
IG5ld3JhbmdlKGZsYWcpKGxvdywgaGlnaCkodmFsKSAqLwo+ICtjb25zdCBjaGFyKgo+ICthdHRy
X25hbWVfbmV3cmFuZ2UoTUFZQkVfVU5VU0VEKHJiX251bV90IGZsYWcpKQo+ICt7Cj4gKyAgICBy
ZXR1cm4gaW5zbl9uYW1lKEJJTihuZXdyYW5nZSkpOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251
bV90IG9wZW4gQCBuZXdyYW5nZShmbGFnKShsb3csIGhpZ2gpKHZhbCkgKi8KPiArcmJfbnVtX3QK
PiArYXR0cl9vcGVuX25ld3JhbmdlKE1BWUJFX1VOVVNFRChyYl9udW1fdCBmbGFnKSkKPiArewo+
ICsgICAgcmV0dXJuIDE7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3QgcG9wbiBAIG5ld3Jh
bmdlKGZsYWcpKGxvdywgaGlnaCkodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3BvcG5fbmV3
cmFuZ2UoTUFZQkVfVU5VU0VEKHJiX251bV90IGZsYWcpKQo+ICt7Cj4gKyAgICByZXR1cm4gMjsK
PiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCByZXRuIEAgbmV3cmFuZ2UoZmxhZykobG93LCBo
aWdoKSh2YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJfcmV0bl9uZXdyYW5nZShNQVlCRV9VTlVT
RUQocmJfbnVtX3QgZmxhZykpCj4gK3sKPiArICAgIHJldHVybiAxOwo+ICt9Cj4gKwo+ICsvKiBh
dHRyIHJiX3NudW1fdCBzcF9pbmMgQCBuZXdyYW5nZShmbGFnKShsb3csIGhpZ2gpKHZhbCkgKi8K
PiArcmJfc251bV90Cj4gK2F0dHJfc3BfaW5jX25ld3JhbmdlKE1BWUJFX1VOVVNFRChyYl9udW1f
dCBmbGFnKSkKPiArewo+ICsgICAgcmV0dXJuIC0xOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251
bV90IHdpZHRoIEAgbmV3cmFuZ2UoZmxhZykobG93LCBoaWdoKSh2YWwpICovCj4gK3JiX251bV90
Cj4gK2F0dHJfd2lkdGhfbmV3cmFuZ2UoTUFZQkVfVU5VU0VEKHJiX251bV90IGZsYWcpKQo+ICt7
Cj4gKyAgICByZXR1cm4gMjsKPiArfQo+ICsKPiArLyogYXR0ciBlbnVtIHJ1Ynlfdm1pbnNuX3R5
cGUgYmluIEAgcG9wKCkodmFsKSgpICovCj4gK2VudW0gcnVieV92bWluc25fdHlwZQo+ICthdHRy
X2Jpbl9wb3Aodm9pZCkKPiArewo+ICsgICAgcmV0dXJuIEJJTihwb3ApOwo+ICt9Cj4gKwo+ICsv
KiBhdHRyIGJvb2wgaGFuZGxlc19zcCBAIHBvcCgpKHZhbCkoKSAqLwo+ICtib29sCj4gK2F0dHJf
aGFuZGxlc19zcF9wb3Aodm9pZCkKPiArewo+ICsgICAgcmV0dXJuIGZhbHNlOwo+ICt9Cj4gKwo+
ICsvKiBhdHRyIGJvb2wgbGVhZiBAIHBvcCgpKHZhbCkoKSAqLwo+ICtib29sCj4gK2F0dHJfbGVh
Zl9wb3Aodm9pZCkKPiArewo+ICsgICAgcmV0dXJuIHRydWU7Cj4gK30KPiArCj4gKy8qIGF0dHIg
Y29uc3QgY2hhciogbmFtZSBAIHBvcCgpKHZhbCkoKSAqLwo+ICtjb25zdCBjaGFyKgo+ICthdHRy
X25hbWVfcG9wKHZvaWQpCj4gK3sKPiArICAgIHJldHVybiBpbnNuX25hbWUoQklOKHBvcCkpOwo+
ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IG9wZW4gQCBwb3AoKSh2YWwpKCkgKi8KPiArcmJf
bnVtX3QKPiArYXR0cl9vcGVuX3BvcCh2b2lkKQo+ICt7Cj4gKyAgICByZXR1cm4gMDsKPiArfQo+
ICsKPiArLyogYXR0ciByYl9udW1fdCBwb3BuIEAgcG9wKCkodmFsKSgpICovCj4gK3JiX251bV90
Cj4gK2F0dHJfcG9wbl9wb3Aodm9pZCkKPiArewo+ICsgICAgcmV0dXJuIDE7Cj4gK30KPiArCj4g
Ky8qIGF0dHIgcmJfbnVtX3QgcmV0biBAIHBvcCgpKHZhbCkoKSAqLwo+ICtyYl9udW1fdAo+ICth
dHRyX3JldG5fcG9wKHZvaWQpCj4gK3sKPiArICAgIHJldHVybiAwOwo+ICt9Cj4gKwo+ICsvKiBh
dHRyIHJiX3NudW1fdCBzcF9pbmMgQCBwb3AoKSh2YWwpKCkgKi8KPiArcmJfc251bV90Cj4gK2F0
dHJfc3BfaW5jX3BvcCh2b2lkKQo+ICt7Cj4gKyAgICByZXR1cm4gLTE7Cj4gK30KPiArCj4gKy8q
IGF0dHIgcmJfbnVtX3Qgd2lkdGggQCBwb3AoKSh2YWwpKCkgKi8KPiArcmJfbnVtX3QKPiArYXR0
cl93aWR0aF9wb3Aodm9pZCkKPiArewo+ICsgICAgcmV0dXJuIDE7Cj4gK30KPiArCj4gKy8qIGF0
dHIgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGJpbiBAIGR1cCgpKHZhbCkodmFsMSwgdmFsMikgKi8K
PiArZW51bSBydWJ5X3ZtaW5zbl90eXBlCj4gK2F0dHJfYmluX2R1cCh2b2lkKQo+ICt7Cj4gKyAg
ICByZXR1cm4gQklOKGR1cCk7Cj4gK30KPiArCj4gKy8qIGF0dHIgYm9vbCBoYW5kbGVzX3NwIEAg
ZHVwKCkodmFsKSh2YWwxLCB2YWwyKSAqLwo+ICtib29sCj4gK2F0dHJfaGFuZGxlc19zcF9kdXAo
dm9pZCkKPiArewo+ICsgICAgcmV0dXJuIGZhbHNlOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGJvb2wg
bGVhZiBAIGR1cCgpKHZhbCkodmFsMSwgdmFsMikgKi8KPiArYm9vbAo+ICthdHRyX2xlYWZfZHVw
KHZvaWQpCj4gK3sKPiArICAgIHJldHVybiB0cnVlOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGNvbnN0
IGNoYXIqIG5hbWUgQCBkdXAoKSh2YWwpKHZhbDEsIHZhbDIpICovCj4gK2NvbnN0IGNoYXIqCj4g
K2F0dHJfbmFtZV9kdXAodm9pZCkKPiArewo+ICsgICAgcmV0dXJuIGluc25fbmFtZShCSU4oZHVw
KSk7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3Qgb3BlbiBAIGR1cCgpKHZhbCkodmFsMSwg
dmFsMikgKi8KPiArcmJfbnVtX3QKPiArYXR0cl9vcGVuX2R1cCh2b2lkKQo+ICt7Cj4gKyAgICBy
ZXR1cm4gMDsKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCBwb3BuIEAgZHVwKCkodmFsKSh2
YWwxLCB2YWwyKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3BvcG5fZHVwKHZvaWQpCj4gK3sKPiAr
ICAgIHJldHVybiAxOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHJldG4gQCBkdXAoKSh2
YWwpKHZhbDEsIHZhbDIpICovCj4gK3JiX251bV90Cj4gK2F0dHJfcmV0bl9kdXAodm9pZCkKPiAr
ewo+ICsgICAgcmV0dXJuIDI7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfc251bV90IHNwX2luYyBA
IGR1cCgpKHZhbCkodmFsMSwgdmFsMikgKi8KPiArcmJfc251bV90Cj4gK2F0dHJfc3BfaW5jX2R1
cCh2b2lkKQo+ICt7Cj4gKyAgICByZXR1cm4gMTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1f
dCB3aWR0aCBAIGR1cCgpKHZhbCkodmFsMSwgdmFsMikgKi8KPiArcmJfbnVtX3QKPiArYXR0cl93
aWR0aF9kdXAodm9pZCkKPiArewo+ICsgICAgcmV0dXJuIDE7Cj4gK30KPiArCj4gKy8qIGF0dHIg
ZW51bSBydWJ5X3ZtaW5zbl90eXBlIGJpbiBAIGR1cG4obikoLi4uKSguLi4pICovCj4gK2VudW0g
cnVieV92bWluc25fdHlwZQo+ICthdHRyX2Jpbl9kdXBuKE1BWUJFX1VOVVNFRChyYl9udW1fdCBu
KSkKPiArewo+ICsgICAgcmV0dXJuIEJJTihkdXBuKTsKPiArfQo+ICsKPiArLyogYXR0ciBib29s
IGhhbmRsZXNfc3AgQCBkdXBuKG4pKC4uLikoLi4uKSAqLwo+ICtib29sCj4gK2F0dHJfaGFuZGxl
c19zcF9kdXBuKE1BWUJFX1VOVVNFRChyYl9udW1fdCBuKSkKPiArewo+ICsgICAgcmV0dXJuIGZh
bHNlOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGJvb2wgbGVhZiBAIGR1cG4obikoLi4uKSguLi4pICov
Cj4gK2Jvb2wKPiArYXR0cl9sZWFmX2R1cG4oTUFZQkVfVU5VU0VEKHJiX251bV90IG4pKQo+ICt7
Cj4gKyAgICByZXR1cm4gdHJ1ZTsKPiArfQo+ICsKPiArLyogYXR0ciBjb25zdCBjaGFyKiBuYW1l
IEAgZHVwbihuKSguLi4pKC4uLikgKi8KPiArY29uc3QgY2hhcioKPiArYXR0cl9uYW1lX2R1cG4o
TUFZQkVfVU5VU0VEKHJiX251bV90IG4pKQo+ICt7Cj4gKyAgICByZXR1cm4gaW5zbl9uYW1lKEJJ
TihkdXBuKSk7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3Qgb3BlbiBAIGR1cG4obikoLi4u
KSguLi4pICovCj4gK3JiX251bV90Cj4gK2F0dHJfb3Blbl9kdXBuKE1BWUJFX1VOVVNFRChyYl9u
dW1fdCBuKSkKPiArewo+ICsgICAgcmV0dXJuIDE7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVt
X3QgcG9wbiBAIGR1cG4obikoLi4uKSguLi4pICovCj4gK3JiX251bV90Cj4gK2F0dHJfcG9wbl9k
dXBuKE1BWUJFX1VOVVNFRChyYl9udW1fdCBuKSkKPiArewo+ICsgICAgcmV0dXJuIDA7Cj4gK30K
PiArCj4gKy8qIGF0dHIgcmJfbnVtX3QgcmV0biBAIGR1cG4obikoLi4uKSguLi4pICovCj4gK3Ji
X251bV90Cj4gK2F0dHJfcmV0bl9kdXBuKE1BWUJFX1VOVVNFRChyYl9udW1fdCBuKSkKPiArewo+
ICsgICAgcmV0dXJuIDA7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfc251bV90IHNwX2luYyBAIGR1
cG4obikoLi4uKSguLi4pICovCj4gK3JiX3NudW1fdAo+ICthdHRyX3NwX2luY19kdXBuKE1BWUJF
X1VOVVNFRChyYl9udW1fdCBuKSkKPiArewo+ICsgICAgcmV0dXJuCj4gKyNsaW5lIDU3MiAiaW5z
bnMuZGVmIgo+ICtuOwo+ICsjbGluZSA0MTY4ICJpbnNuc19pbmZvLmluYyIKPiArfQo+ICsKPiAr
LyogYXR0ciByYl9udW1fdCB3aWR0aCBAIGR1cG4obikoLi4uKSguLi4pICovCj4gK3JiX251bV90
Cj4gK2F0dHJfd2lkdGhfZHVwbihNQVlCRV9VTlVTRUQocmJfbnVtX3QgbikpCj4gK3sKPiArICAg
IHJldHVybiAyOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGVudW0gcnVieV92bWluc25fdHlwZSBiaW4g
QCBzd2FwKCkodmFsLCBvYmopKG9iaiwgdmFsKSAqLwo+ICtlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUK
PiArYXR0cl9iaW5fc3dhcCh2b2lkKQo+ICt7Cj4gKyAgICByZXR1cm4gQklOKHN3YXApOwo+ICt9
Cj4gKwo+ICsvKiBhdHRyIGJvb2wgaGFuZGxlc19zcCBAIHN3YXAoKSh2YWwsIG9iaikob2JqLCB2
YWwpICovCj4gK2Jvb2wKPiArYXR0cl9oYW5kbGVzX3NwX3N3YXAodm9pZCkKPiArewo+ICsgICAg
cmV0dXJuIGZhbHNlOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGJvb2wgbGVhZiBAIHN3YXAoKSh2YWws
IG9iaikob2JqLCB2YWwpICovCj4gK2Jvb2wKPiArYXR0cl9sZWFmX3N3YXAodm9pZCkKPiArewo+
ICsgICAgcmV0dXJuIHRydWU7Cj4gK30KPiArCj4gKy8qIGF0dHIgY29uc3QgY2hhciogbmFtZSBA
IHN3YXAoKSh2YWwsIG9iaikob2JqLCB2YWwpICovCj4gK2NvbnN0IGNoYXIqCj4gK2F0dHJfbmFt
ZV9zd2FwKHZvaWQpCj4gK3sKPiArICAgIHJldHVybiBpbnNuX25hbWUoQklOKHN3YXApKTsKPiAr
fQo+ICsKPiArLyogYXR0ciByYl9udW1fdCBvcGVuIEAgc3dhcCgpKHZhbCwgb2JqKShvYmosIHZh
bCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl9vcGVuX3N3YXAodm9pZCkKPiArewo+ICsgICAgcmV0
dXJuIDA7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3QgcG9wbiBAIHN3YXAoKSh2YWwsIG9i
aikob2JqLCB2YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJfcG9wbl9zd2FwKHZvaWQpCj4gK3sK
PiArICAgIHJldHVybiAyOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHJldG4gQCBzd2Fw
KCkodmFsLCBvYmopKG9iaiwgdmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3JldG5fc3dhcCh2
b2lkKQo+ICt7Cj4gKyAgICByZXR1cm4gMjsKPiArfQo+ICsKPiArLyogYXR0ciByYl9zbnVtX3Qg
c3BfaW5jIEAgc3dhcCgpKHZhbCwgb2JqKShvYmosIHZhbCkgKi8KPiArcmJfc251bV90Cj4gK2F0
dHJfc3BfaW5jX3N3YXAodm9pZCkKPiArewo+ICsgICAgcmV0dXJuIDA7Cj4gK30KPiArCj4gKy8q
IGF0dHIgcmJfbnVtX3Qgd2lkdGggQCBzd2FwKCkodmFsLCBvYmopKG9iaiwgdmFsKSAqLwo+ICty
Yl9udW1fdAo+ICthdHRyX3dpZHRoX3N3YXAodm9pZCkKPiArewo+ICsgICAgcmV0dXJuIDE7Cj4g
K30KPiArCj4gKy8qIGF0dHIgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGJpbiBAIHJldmVyc2Uobiko
Li4uKSguLi4pICovCj4gK2VudW0gcnVieV92bWluc25fdHlwZQo+ICthdHRyX2Jpbl9yZXZlcnNl
KE1BWUJFX1VOVVNFRChyYl9udW1fdCBuKSkKPiArewo+ICsgICAgcmV0dXJuIEJJTihyZXZlcnNl
KTsKPiArfQo+ICsKPiArLyogYXR0ciBib29sIGhhbmRsZXNfc3AgQCByZXZlcnNlKG4pKC4uLiko
Li4uKSAqLwo+ICtib29sCj4gK2F0dHJfaGFuZGxlc19zcF9yZXZlcnNlKE1BWUJFX1VOVVNFRChy
Yl9udW1fdCBuKSkKPiArewo+ICsgICAgcmV0dXJuIGZhbHNlOwo+ICt9Cj4gKwo+ICsvKiBhdHRy
IGJvb2wgbGVhZiBAIHJldmVyc2UobikoLi4uKSguLi4pICovCj4gK2Jvb2wKPiArYXR0cl9sZWFm
X3JldmVyc2UoTUFZQkVfVU5VU0VEKHJiX251bV90IG4pKQo+ICt7Cj4gKyAgICByZXR1cm4gdHJ1
ZTsKPiArfQo+ICsKPiArLyogYXR0ciBjb25zdCBjaGFyKiBuYW1lIEAgcmV2ZXJzZShuKSguLi4p
KC4uLikgKi8KPiArY29uc3QgY2hhcioKPiArYXR0cl9uYW1lX3JldmVyc2UoTUFZQkVfVU5VU0VE
KHJiX251bV90IG4pKQo+ICt7Cj4gKyAgICByZXR1cm4gaW5zbl9uYW1lKEJJTihyZXZlcnNlKSk7
Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3Qgb3BlbiBAIHJldmVyc2UobikoLi4uKSguLi4p
ICovCj4gK3JiX251bV90Cj4gK2F0dHJfb3Blbl9yZXZlcnNlKE1BWUJFX1VOVVNFRChyYl9udW1f
dCBuKSkKPiArewo+ICsgICAgcmV0dXJuIDE7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3Qg
cG9wbiBAIHJldmVyc2UobikoLi4uKSguLi4pICovCj4gK3JiX251bV90Cj4gK2F0dHJfcG9wbl9y
ZXZlcnNlKE1BWUJFX1VOVVNFRChyYl9udW1fdCBuKSkKPiArewo+ICsgICAgcmV0dXJuIDA7Cj4g
K30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3QgcmV0biBAIHJldmVyc2UobikoLi4uKSguLi4pICov
Cj4gK3JiX251bV90Cj4gK2F0dHJfcmV0bl9yZXZlcnNlKE1BWUJFX1VOVVNFRChyYl9udW1fdCBu
KSkKPiArewo+ICsgICAgcmV0dXJuIDA7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfc251bV90IHNw
X2luYyBAIHJldmVyc2UobikoLi4uKSguLi4pICovCj4gK3JiX3NudW1fdAo+ICthdHRyX3NwX2lu
Y19yZXZlcnNlKE1BWUJFX1VOVVNFRChyYl9udW1fdCBuKSkKPiArewo+ICsgICAgcmV0dXJuCj4g
KyNsaW5lIDU5NiAiaW5zbnMuZGVmIgo+ICswOwo+ICsjbGluZSA0Mjk3ICJpbnNuc19pbmZvLmlu
YyIKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCB3aWR0aCBAIHJldmVyc2UobikoLi4uKSgu
Li4pICovCj4gK3JiX251bV90Cj4gK2F0dHJfd2lkdGhfcmV2ZXJzZShNQVlCRV9VTlVTRUQocmJf
bnVtX3QgbikpCj4gK3sKPiArICAgIHJldHVybiAyOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGVudW0g
cnVieV92bWluc25fdHlwZSBiaW4gQCByZXB1dCgpKC4uLiwgdmFsKSh2YWwpICovCj4gK2VudW0g
cnVieV92bWluc25fdHlwZQo+ICthdHRyX2Jpbl9yZXB1dCh2b2lkKQo+ICt7Cj4gKyAgICByZXR1
cm4gQklOKHJlcHV0KTsKPiArfQo+ICsKPiArLyogYXR0ciBib29sIGhhbmRsZXNfc3AgQCByZXB1
dCgpKC4uLiwgdmFsKSh2YWwpICovCj4gK2Jvb2wKPiArYXR0cl9oYW5kbGVzX3NwX3JlcHV0KHZv
aWQpCj4gK3sKPiArICAgIHJldHVybiBmYWxzZTsKPiArfQo+ICsKPiArLyogYXR0ciBib29sIGxl
YWYgQCByZXB1dCgpKC4uLiwgdmFsKSh2YWwpICovCj4gK2Jvb2wKPiArYXR0cl9sZWFmX3JlcHV0
KHZvaWQpCj4gK3sKPiArICAgIHJldHVybiB0cnVlOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGNvbnN0
IGNoYXIqIG5hbWUgQCByZXB1dCgpKC4uLiwgdmFsKSh2YWwpICovCj4gK2NvbnN0IGNoYXIqCj4g
K2F0dHJfbmFtZV9yZXB1dCh2b2lkKQo+ICt7Cj4gKyAgICByZXR1cm4gaW5zbl9uYW1lKEJJTihy
ZXB1dCkpOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IG9wZW4gQCByZXB1dCgpKC4uLiwg
dmFsKSh2YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJfb3Blbl9yZXB1dCh2b2lkKQo+ICt7Cj4g
KyAgICByZXR1cm4gMDsKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCBwb3BuIEAgcmVwdXQo
KSguLi4sIHZhbCkodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3BvcG5fcmVwdXQodm9pZCkK
PiArewo+ICsgICAgcmV0dXJuIDE7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3QgcmV0biBA
IHJlcHV0KCkoLi4uLCB2YWwpKHZhbCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl9yZXRuX3JlcHV0
KHZvaWQpCj4gK3sKPiArICAgIHJldHVybiAxOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX3NudW1f
dCBzcF9pbmMgQCByZXB1dCgpKC4uLiwgdmFsKSh2YWwpICovCj4gK3JiX3NudW1fdAo+ICthdHRy
X3NwX2luY19yZXB1dCh2b2lkKQo+ICt7Cj4gKyAgICByZXR1cm4KPiArI2xpbmUgNjE1ICJpbnNu
cy5kZWYiCj4gKzA7Cj4gKyNsaW5lIDQzNjMgImluc25zX2luZm8uaW5jIgo+ICt9Cj4gKwo+ICsv
KiBhdHRyIHJiX251bV90IHdpZHRoIEAgcmVwdXQoKSguLi4sIHZhbCkodmFsKSAqLwo+ICtyYl9u
dW1fdAo+ICthdHRyX3dpZHRoX3JlcHV0KHZvaWQpCj4gK3sKPiArICAgIHJldHVybiAxOwo+ICt9
Cj4gKwo+ICsvKiBhdHRyIGVudW0gcnVieV92bWluc25fdHlwZSBiaW4gQCB0b3BuKG4pKC4uLiko
dmFsKSAqLwo+ICtlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUKPiArYXR0cl9iaW5fdG9wbihNQVlCRV9V
TlVTRUQocmJfbnVtX3QgbikpCj4gK3sKPiArICAgIHJldHVybiBCSU4odG9wbik7Cj4gK30KPiAr
Cj4gKy8qIGF0dHIgYm9vbCBoYW5kbGVzX3NwIEAgdG9wbihuKSguLi4pKHZhbCkgKi8KPiArYm9v
bAo+ICthdHRyX2hhbmRsZXNfc3BfdG9wbihNQVlCRV9VTlVTRUQocmJfbnVtX3QgbikpCj4gK3sK
PiArICAgIHJldHVybiBmYWxzZTsKPiArfQo+ICsKPiArLyogYXR0ciBib29sIGxlYWYgQCB0b3Bu
KG4pKC4uLikodmFsKSAqLwo+ICtib29sCj4gK2F0dHJfbGVhZl90b3BuKE1BWUJFX1VOVVNFRChy
Yl9udW1fdCBuKSkKPiArewo+ICsgICAgcmV0dXJuIHRydWU7Cj4gK30KPiArCj4gKy8qIGF0dHIg
Y29uc3QgY2hhciogbmFtZSBAIHRvcG4obikoLi4uKSh2YWwpICovCj4gK2NvbnN0IGNoYXIqCj4g
K2F0dHJfbmFtZV90b3BuKE1BWUJFX1VOVVNFRChyYl9udW1fdCBuKSkKPiArewo+ICsgICAgcmV0
dXJuIGluc25fbmFtZShCSU4odG9wbikpOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IG9w
ZW4gQCB0b3BuKG4pKC4uLikodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX29wZW5fdG9wbihN
QVlCRV9VTlVTRUQocmJfbnVtX3QgbikpCj4gK3sKPiArICAgIHJldHVybiAxOwo+ICt9Cj4gKwo+
ICsvKiBhdHRyIHJiX251bV90IHBvcG4gQCB0b3BuKG4pKC4uLikodmFsKSAqLwo+ICtyYl9udW1f
dAo+ICthdHRyX3BvcG5fdG9wbihNQVlCRV9VTlVTRUQocmJfbnVtX3QgbikpCj4gK3sKPiArICAg
IHJldHVybiAwOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHJldG4gQCB0b3BuKG4pKC4u
LikodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3JldG5fdG9wbihNQVlCRV9VTlVTRUQocmJf
bnVtX3QgbikpCj4gK3sKPiArICAgIHJldHVybiAxOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX3Nu
dW1fdCBzcF9pbmMgQCB0b3BuKG4pKC4uLikodmFsKSAqLwo+ICtyYl9zbnVtX3QKPiArYXR0cl9z
cF9pbmNfdG9wbihNQVlCRV9VTlVTRUQocmJfbnVtX3QgbikpCj4gK3sKPiArICAgIHJldHVybgo+
ICsjbGluZSA2MjYgImluc25zLmRlZiIKPiArMTsKPiArI2xpbmUgNDQyOSAiaW5zbnNfaW5mby5p
bmMiCj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3Qgd2lkdGggQCB0b3BuKG4pKC4uLikodmFs
KSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3dpZHRoX3RvcG4oTUFZQkVfVU5VU0VEKHJiX251bV90
IG4pKQo+ICt7Cj4gKyAgICByZXR1cm4gMjsKPiArfQo+ICsKPiArLyogYXR0ciBlbnVtIHJ1Ynlf
dm1pbnNuX3R5cGUgYmluIEAgc2V0bihuKSguLi4sIHZhbCkodmFsKSAqLwo+ICtlbnVtIHJ1Ynlf
dm1pbnNuX3R5cGUKPiArYXR0cl9iaW5fc2V0bihNQVlCRV9VTlVTRUQocmJfbnVtX3QgbikpCj4g
K3sKPiArICAgIHJldHVybiBCSU4oc2V0bik7Cj4gK30KPiArCj4gKy8qIGF0dHIgYm9vbCBoYW5k
bGVzX3NwIEAgc2V0bihuKSguLi4sIHZhbCkodmFsKSAqLwo+ICtib29sCj4gK2F0dHJfaGFuZGxl
c19zcF9zZXRuKE1BWUJFX1VOVVNFRChyYl9udW1fdCBuKSkKPiArewo+ICsgICAgcmV0dXJuIGZh
bHNlOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGJvb2wgbGVhZiBAIHNldG4obikoLi4uLCB2YWwpKHZh
bCkgKi8KPiArYm9vbAo+ICthdHRyX2xlYWZfc2V0bihNQVlCRV9VTlVTRUQocmJfbnVtX3Qgbikp
Cj4gK3sKPiArICAgIHJldHVybiB0cnVlOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGNvbnN0IGNoYXIq
IG5hbWUgQCBzZXRuKG4pKC4uLiwgdmFsKSh2YWwpICovCj4gK2NvbnN0IGNoYXIqCj4gK2F0dHJf
bmFtZV9zZXRuKE1BWUJFX1VOVVNFRChyYl9udW1fdCBuKSkKPiArewo+ICsgICAgcmV0dXJuIGlu
c25fbmFtZShCSU4oc2V0bikpOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IG9wZW4gQCBz
ZXRuKG4pKC4uLiwgdmFsKSh2YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJfb3Blbl9zZXRuKE1B
WUJFX1VOVVNFRChyYl9udW1fdCBuKSkKPiArewo+ICsgICAgcmV0dXJuIDE7Cj4gK30KPiArCj4g
Ky8qIGF0dHIgcmJfbnVtX3QgcG9wbiBAIHNldG4obikoLi4uLCB2YWwpKHZhbCkgKi8KPiArcmJf
bnVtX3QKPiArYXR0cl9wb3BuX3NldG4oTUFZQkVfVU5VU0VEKHJiX251bV90IG4pKQo+ICt7Cj4g
KyAgICByZXR1cm4gMTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCByZXRuIEAgc2V0bihu
KSguLi4sIHZhbCkodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3JldG5fc2V0bihNQVlCRV9V
TlVTRUQocmJfbnVtX3QgbikpCj4gK3sKPiArICAgIHJldHVybiAxOwo+ICt9Cj4gKwo+ICsvKiBh
dHRyIHJiX3NudW1fdCBzcF9pbmMgQCBzZXRuKG4pKC4uLiwgdmFsKSh2YWwpICovCj4gK3JiX3Nu
dW1fdAo+ICthdHRyX3NwX2luY19zZXRuKE1BWUJFX1VOVVNFRChyYl9udW1fdCBuKSkKPiArewo+
ICsgICAgcmV0dXJuCj4gKyNsaW5lIDYzNyAiaW5zbnMuZGVmIgo+ICswOwo+ICsjbGluZSA0NDk1
ICJpbnNuc19pbmZvLmluYyIKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCB3aWR0aCBAIHNl
dG4obikoLi4uLCB2YWwpKHZhbCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl93aWR0aF9zZXRuKE1B
WUJFX1VOVVNFRChyYl9udW1fdCBuKSkKPiArewo+ICsgICAgcmV0dXJuIDI7Cj4gK30KPiArCj4g
Ky8qIGF0dHIgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGJpbiBAIGFkanVzdHN0YWNrKG4pKC4uLiko
Li4uKSAqLwo+ICtlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUKPiArYXR0cl9iaW5fYWRqdXN0c3RhY2so
TUFZQkVfVU5VU0VEKHJiX251bV90IG4pKQo+ICt7Cj4gKyAgICByZXR1cm4gQklOKGFkanVzdHN0
YWNrKTsKPiArfQo+ICsKPiArLyogYXR0ciBib29sIGhhbmRsZXNfc3AgQCBhZGp1c3RzdGFjayhu
KSguLi4pKC4uLikgKi8KPiArYm9vbAo+ICthdHRyX2hhbmRsZXNfc3BfYWRqdXN0c3RhY2soTUFZ
QkVfVU5VU0VEKHJiX251bV90IG4pKQo+ICt7Cj4gKyAgICByZXR1cm4gZmFsc2U7Cj4gK30KPiAr
Cj4gKy8qIGF0dHIgYm9vbCBsZWFmIEAgYWRqdXN0c3RhY2sobikoLi4uKSguLi4pICovCj4gK2Jv
b2wKPiArYXR0cl9sZWFmX2FkanVzdHN0YWNrKE1BWUJFX1VOVVNFRChyYl9udW1fdCBuKSkKPiAr
ewo+ICsgICAgcmV0dXJuIHRydWU7Cj4gK30KPiArCj4gKy8qIGF0dHIgY29uc3QgY2hhciogbmFt
ZSBAIGFkanVzdHN0YWNrKG4pKC4uLikoLi4uKSAqLwo+ICtjb25zdCBjaGFyKgo+ICthdHRyX25h
bWVfYWRqdXN0c3RhY2soTUFZQkVfVU5VU0VEKHJiX251bV90IG4pKQo+ICt7Cj4gKyAgICByZXR1
cm4gaW5zbl9uYW1lKEJJTihhZGp1c3RzdGFjaykpOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251
bV90IG9wZW4gQCBhZGp1c3RzdGFjayhuKSguLi4pKC4uLikgKi8KPiArcmJfbnVtX3QKPiArYXR0
cl9vcGVuX2FkanVzdHN0YWNrKE1BWUJFX1VOVVNFRChyYl9udW1fdCBuKSkKPiArewo+ICsgICAg
cmV0dXJuIDE7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3QgcG9wbiBAIGFkanVzdHN0YWNr
KG4pKC4uLikoLi4uKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3BvcG5fYWRqdXN0c3RhY2soTUFZ
QkVfVU5VU0VEKHJiX251bV90IG4pKQo+ICt7Cj4gKyAgICByZXR1cm4gMDsKPiArfQo+ICsKPiAr
LyogYXR0ciByYl9udW1fdCByZXRuIEAgYWRqdXN0c3RhY2sobikoLi4uKSguLi4pICovCj4gK3Ji
X251bV90Cj4gK2F0dHJfcmV0bl9hZGp1c3RzdGFjayhNQVlCRV9VTlVTRUQocmJfbnVtX3Qgbikp
Cj4gK3sKPiArICAgIHJldHVybiAwOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX3NudW1fdCBzcF9p
bmMgQCBhZGp1c3RzdGFjayhuKSguLi4pKC4uLikgKi8KPiArcmJfc251bV90Cj4gK2F0dHJfc3Bf
aW5jX2FkanVzdHN0YWNrKE1BWUJFX1VOVVNFRChyYl9udW1fdCBuKSkKPiArewo+ICsgICAgcmV0
dXJuCj4gKyNsaW5lIDY0OCAiaW5zbnMuZGVmIgo+ICstKHJiX3NudW1fdCluOwo+ICsjbGluZSA0
NTYxICJpbnNuc19pbmZvLmluYyIKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCB3aWR0aCBA
IGFkanVzdHN0YWNrKG4pKC4uLikoLi4uKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3dpZHRoX2Fk
anVzdHN0YWNrKE1BWUJFX1VOVVNFRChyYl9udW1fdCBuKSkKPiArewo+ICsgICAgcmV0dXJuIDI7
Cj4gK30KPiArCj4gKy8qIGF0dHIgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGJpbiBAIGRlZmluZWQo
b3BfdHlwZSwgb2JqLCBuZWVkc3RyKSh2KSh2YWwpICovCj4gK2VudW0gcnVieV92bWluc25fdHlw
ZQo+ICthdHRyX2Jpbl9kZWZpbmVkKAo+ICsgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IG9wX3R5
cGUpLAo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVFIG9iaiksCj4gKyAgICBNQVlCRV9VTlVTRUQo
VkFMVUUgbmVlZHN0cikKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gQklOKGRlZmluZWQpOwo+ICt9
Cj4gKwo+ICsvKiBhdHRyIGJvb2wgaGFuZGxlc19zcCBAIGRlZmluZWQob3BfdHlwZSwgb2JqLCBu
ZWVkc3RyKSh2KSh2YWwpICovCj4gK2Jvb2wKPiArYXR0cl9oYW5kbGVzX3NwX2RlZmluZWQoCj4g
KyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3Qgb3BfdHlwZSksCj4gKyAgICBNQVlCRV9VTlVTRUQo
VkFMVUUgb2JqKSwKPiArICAgIE1BWUJFX1VOVVNFRChWQUxVRSBuZWVkc3RyKQo+ICspCj4gK3sK
PiArICAgIHJldHVybiBmYWxzZTsKPiArfQo+ICsKPiArLyogYXR0ciBib29sIGxlYWYgQCBkZWZp
bmVkKG9wX3R5cGUsIG9iaiwgbmVlZHN0cikodikodmFsKSAqLwo+ICtib29sCj4gK2F0dHJfbGVh
Zl9kZWZpbmVkKAo+ICsgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IG9wX3R5cGUpLAo+ICsgICAg
TUFZQkVfVU5VU0VEKFZBTFVFIG9iaiksCj4gKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUgbmVlZHN0
cikKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4KPiArI2xpbmUgNjYzICJpbnNucy5kZWYiCj4gK2xl
YWZuZXNzX29mX2RlZmluZWQob3BfdHlwZSk7Cj4gKyNsaW5lIDQ2MDQgImluc25zX2luZm8uaW5j
Igo+ICt9Cj4gKwo+ICsvKiBhdHRyIGNvbnN0IGNoYXIqIG5hbWUgQCBkZWZpbmVkKG9wX3R5cGUs
IG9iaiwgbmVlZHN0cikodikodmFsKSAqLwo+ICtjb25zdCBjaGFyKgo+ICthdHRyX25hbWVfZGVm
aW5lZCgKPiArICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCBvcF90eXBlKSwKPiArICAgIE1BWUJF
X1VOVVNFRChWQUxVRSBvYmopLAo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVFIG5lZWRzdHIpCj4g
KykKPiArewo+ICsgICAgcmV0dXJuIGluc25fbmFtZShCSU4oZGVmaW5lZCkpOwo+ICt9Cj4gKwo+
ICsvKiBhdHRyIHJiX251bV90IG9wZW4gQCBkZWZpbmVkKG9wX3R5cGUsIG9iaiwgbmVlZHN0ciko
dikodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX29wZW5fZGVmaW5lZCgKPiArICAgIE1BWUJF
X1VOVVNFRChyYl9udW1fdCBvcF90eXBlKSwKPiArICAgIE1BWUJFX1VOVVNFRChWQUxVRSBvYmop
LAo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVFIG5lZWRzdHIpCj4gKykKPiArewo+ICsgICAgcmV0
dXJuIDM7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3QgcG9wbiBAIGRlZmluZWQob3BfdHlw
ZSwgb2JqLCBuZWVkc3RyKSh2KSh2YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJfcG9wbl9kZWZp
bmVkKAo+ICsgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IG9wX3R5cGUpLAo+ICsgICAgTUFZQkVf
VU5VU0VEKFZBTFVFIG9iaiksCj4gKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUgbmVlZHN0cikKPiAr
KQo+ICt7Cj4gKyAgICByZXR1cm4gMTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCByZXRu
IEAgZGVmaW5lZChvcF90eXBlLCBvYmosIG5lZWRzdHIpKHYpKHZhbCkgKi8KPiArcmJfbnVtX3QK
PiArYXR0cl9yZXRuX2RlZmluZWQoCj4gKyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3Qgb3BfdHlw
ZSksCj4gKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUgb2JqKSwKPiArICAgIE1BWUJFX1VOVVNFRChW
QUxVRSBuZWVkc3RyKQo+ICspCj4gK3sKPiArICAgIHJldHVybiAxOwo+ICt9Cj4gKwo+ICsvKiBh
dHRyIHJiX3NudW1fdCBzcF9pbmMgQCBkZWZpbmVkKG9wX3R5cGUsIG9iaiwgbmVlZHN0cikodiko
dmFsKSAqLwo+ICtyYl9zbnVtX3QKPiArYXR0cl9zcF9pbmNfZGVmaW5lZCgKPiArICAgIE1BWUJF
X1VOVVNFRChyYl9udW1fdCBvcF90eXBlKSwKPiArICAgIE1BWUJFX1VOVVNFRChWQUxVRSBvYmop
LAo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVFIG5lZWRzdHIpCj4gKykKPiArewo+ICsgICAgcmV0
dXJuIDA7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3Qgd2lkdGggQCBkZWZpbmVkKG9wX3R5
cGUsIG9iaiwgbmVlZHN0cikodikodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3dpZHRoX2Rl
ZmluZWQoCj4gKyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3Qgb3BfdHlwZSksCj4gKyAgICBNQVlC
RV9VTlVTRUQoVkFMVUUgb2JqKSwKPiArICAgIE1BWUJFX1VOVVNFRChWQUxVRSBuZWVkc3RyKQo+
ICspCj4gK3sKPiArICAgIHJldHVybiA0Owo+ICt9Cj4gKwo+ICsvKiBhdHRyIGVudW0gcnVieV92
bWluc25fdHlwZSBiaW4gQCBjaGVja21hdGNoKGZsYWcpKHRhcmdldCwgcGF0dGVybikocmVzdWx0
KSAqLwo+ICtlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUKPiArYXR0cl9iaW5fY2hlY2ttYXRjaChNQVlC
RV9VTlVTRUQocmJfbnVtX3QgZmxhZykpCj4gK3sKPiArICAgIHJldHVybiBCSU4oY2hlY2ttYXRj
aCk7Cj4gK30KPiArCj4gKy8qIGF0dHIgYm9vbCBoYW5kbGVzX3NwIEAgY2hlY2ttYXRjaChmbGFn
KSh0YXJnZXQsIHBhdHRlcm4pKHJlc3VsdCkgKi8KPiArYm9vbAo+ICthdHRyX2hhbmRsZXNfc3Bf
Y2hlY2ttYXRjaChNQVlCRV9VTlVTRUQocmJfbnVtX3QgZmxhZykpCj4gK3sKPiArICAgIHJldHVy
biBmYWxzZTsKPiArfQo+ICsKPiArLyogYXR0ciBib29sIGxlYWYgQCBjaGVja21hdGNoKGZsYWcp
KHRhcmdldCwgcGF0dGVybikocmVzdWx0KSAqLwo+ICtib29sCj4gK2F0dHJfbGVhZl9jaGVja21h
dGNoKE1BWUJFX1VOVVNFRChyYl9udW1fdCBmbGFnKSkKPiArewo+ICsgICAgcmV0dXJuCj4gKyNs
aW5lIDY4MCAiaW5zbnMuZGVmIgo+ICtsZWFmbmVzc19vZl9jaGVja21hdGNoKGZsYWcpOwo+ICsj
bGluZSA0Njk0ICJpbnNuc19pbmZvLmluYyIKPiArfQo+ICsKPiArLyogYXR0ciBjb25zdCBjaGFy
KiBuYW1lIEAgY2hlY2ttYXRjaChmbGFnKSh0YXJnZXQsIHBhdHRlcm4pKHJlc3VsdCkgKi8KPiAr
Y29uc3QgY2hhcioKPiArYXR0cl9uYW1lX2NoZWNrbWF0Y2goTUFZQkVfVU5VU0VEKHJiX251bV90
IGZsYWcpKQo+ICt7Cj4gKyAgICByZXR1cm4gaW5zbl9uYW1lKEJJTihjaGVja21hdGNoKSk7Cj4g
K30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3Qgb3BlbiBAIGNoZWNrbWF0Y2goZmxhZykodGFyZ2V0
LCBwYXR0ZXJuKShyZXN1bHQpICovCj4gK3JiX251bV90Cj4gK2F0dHJfb3Blbl9jaGVja21hdGNo
KE1BWUJFX1VOVVNFRChyYl9udW1fdCBmbGFnKSkKPiArewo+ICsgICAgcmV0dXJuIDE7Cj4gK30K
PiArCj4gKy8qIGF0dHIgcmJfbnVtX3QgcG9wbiBAIGNoZWNrbWF0Y2goZmxhZykodGFyZ2V0LCBw
YXR0ZXJuKShyZXN1bHQpICovCj4gK3JiX251bV90Cj4gK2F0dHJfcG9wbl9jaGVja21hdGNoKE1B
WUJFX1VOVVNFRChyYl9udW1fdCBmbGFnKSkKPiArewo+ICsgICAgcmV0dXJuIDI7Cj4gK30KPiAr
Cj4gKy8qIGF0dHIgcmJfbnVtX3QgcmV0biBAIGNoZWNrbWF0Y2goZmxhZykodGFyZ2V0LCBwYXR0
ZXJuKShyZXN1bHQpICovCj4gK3JiX251bV90Cj4gK2F0dHJfcmV0bl9jaGVja21hdGNoKE1BWUJF
X1VOVVNFRChyYl9udW1fdCBmbGFnKSkKPiArewo+ICsgICAgcmV0dXJuIDE7Cj4gK30KPiArCj4g
Ky8qIGF0dHIgcmJfc251bV90IHNwX2luYyBAIGNoZWNrbWF0Y2goZmxhZykodGFyZ2V0LCBwYXR0
ZXJuKShyZXN1bHQpICovCj4gK3JiX3NudW1fdAo+ICthdHRyX3NwX2luY19jaGVja21hdGNoKE1B
WUJFX1VOVVNFRChyYl9udW1fdCBmbGFnKSkKPiArewo+ICsgICAgcmV0dXJuIC0xOwo+ICt9Cj4g
Kwo+ICsvKiBhdHRyIHJiX251bV90IHdpZHRoIEAgY2hlY2ttYXRjaChmbGFnKSh0YXJnZXQsIHBh
dHRlcm4pKHJlc3VsdCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl93aWR0aF9jaGVja21hdGNoKE1B
WUJFX1VOVVNFRChyYl9udW1fdCBmbGFnKSkKPiArewo+ICsgICAgcmV0dXJuIDI7Cj4gK30KPiAr
Cj4gKy8qIGF0dHIgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGJpbiBAIGNoZWNra2V5d29yZChrd19i
aXRzX2luZGV4LCBrZXl3b3JkX2luZGV4KSgpKHJldCkgKi8KPiArZW51bSBydWJ5X3ZtaW5zbl90
eXBlCj4gK2F0dHJfYmluX2NoZWNra2V5d29yZCgKPiArICAgIE1BWUJFX1VOVVNFRChsaW5kZXhf
dCBrd19iaXRzX2luZGV4KSwKPiArICAgIE1BWUJFX1VOVVNFRChsaW5kZXhfdCBrZXl3b3JkX2lu
ZGV4KQo+ICspCj4gK3sKPiArICAgIHJldHVybiBCSU4oY2hlY2trZXl3b3JkKTsKPiArfQo+ICsK
PiArLyogYXR0ciBib29sIGhhbmRsZXNfc3AgQCBjaGVja2tleXdvcmQoa3dfYml0c19pbmRleCwg
a2V5d29yZF9pbmRleCkoKShyZXQpICovCj4gK2Jvb2wKPiArYXR0cl9oYW5kbGVzX3NwX2NoZWNr
a2V5d29yZCgKPiArICAgIE1BWUJFX1VOVVNFRChsaW5kZXhfdCBrd19iaXRzX2luZGV4KSwKPiAr
ICAgIE1BWUJFX1VOVVNFRChsaW5kZXhfdCBrZXl3b3JkX2luZGV4KQo+ICspCj4gK3sKPiArICAg
IHJldHVybiBmYWxzZTsKPiArfQo+ICsKPiArLyogYXR0ciBib29sIGxlYWYgQCBjaGVja2tleXdv
cmQoa3dfYml0c19pbmRleCwga2V5d29yZF9pbmRleCkoKShyZXQpICovCj4gK2Jvb2wKPiArYXR0
cl9sZWFmX2NoZWNra2V5d29yZCgKPiArICAgIE1BWUJFX1VOVVNFRChsaW5kZXhfdCBrd19iaXRz
X2luZGV4KSwKPiArICAgIE1BWUJFX1VOVVNFRChsaW5kZXhfdCBrZXl3b3JkX2luZGV4KQo+ICsp
Cj4gK3sKPiArICAgIHJldHVybiB0cnVlOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGNvbnN0IGNoYXIq
IG5hbWUgQCBjaGVja2tleXdvcmQoa3dfYml0c19pbmRleCwga2V5d29yZF9pbmRleCkoKShyZXQp
ICovCj4gK2NvbnN0IGNoYXIqCj4gK2F0dHJfbmFtZV9jaGVja2tleXdvcmQoCj4gKyAgICBNQVlC
RV9VTlVTRUQobGluZGV4X3Qga3dfYml0c19pbmRleCksCj4gKyAgICBNQVlCRV9VTlVTRUQobGlu
ZGV4X3Qga2V5d29yZF9pbmRleCkKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gaW5zbl9uYW1lKEJJ
TihjaGVja2tleXdvcmQpKTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCBvcGVuIEAgY2hl
Y2trZXl3b3JkKGt3X2JpdHNfaW5kZXgsIGtleXdvcmRfaW5kZXgpKCkocmV0KSAqLwo+ICtyYl9u
dW1fdAo+ICthdHRyX29wZW5fY2hlY2trZXl3b3JkKAo+ICsgICAgTUFZQkVfVU5VU0VEKGxpbmRl
eF90IGt3X2JpdHNfaW5kZXgpLAo+ICsgICAgTUFZQkVfVU5VU0VEKGxpbmRleF90IGtleXdvcmRf
aW5kZXgpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIDI7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJf
bnVtX3QgcG9wbiBAIGNoZWNra2V5d29yZChrd19iaXRzX2luZGV4LCBrZXl3b3JkX2luZGV4KSgp
KHJldCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl9wb3BuX2NoZWNra2V5d29yZCgKPiArICAgIE1B
WUJFX1VOVVNFRChsaW5kZXhfdCBrd19iaXRzX2luZGV4KSwKPiArICAgIE1BWUJFX1VOVVNFRChs
aW5kZXhfdCBrZXl3b3JkX2luZGV4KQo+ICspCj4gK3sKPiArICAgIHJldHVybiAwOwo+ICt9Cj4g
Kwo+ICsvKiBhdHRyIHJiX251bV90IHJldG4gQCBjaGVja2tleXdvcmQoa3dfYml0c19pbmRleCwg
a2V5d29yZF9pbmRleCkoKShyZXQpICovCj4gK3JiX251bV90Cj4gK2F0dHJfcmV0bl9jaGVja2tl
eXdvcmQoCj4gKyAgICBNQVlCRV9VTlVTRUQobGluZGV4X3Qga3dfYml0c19pbmRleCksCj4gKyAg
ICBNQVlCRV9VTlVTRUQobGluZGV4X3Qga2V5d29yZF9pbmRleCkKPiArKQo+ICt7Cj4gKyAgICBy
ZXR1cm4gMTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9zbnVtX3Qgc3BfaW5jIEAgY2hlY2trZXl3
b3JkKGt3X2JpdHNfaW5kZXgsIGtleXdvcmRfaW5kZXgpKCkocmV0KSAqLwo+ICtyYl9zbnVtX3QK
PiArYXR0cl9zcF9pbmNfY2hlY2trZXl3b3JkKAo+ICsgICAgTUFZQkVfVU5VU0VEKGxpbmRleF90
IGt3X2JpdHNfaW5kZXgpLAo+ICsgICAgTUFZQkVfVU5VU0VEKGxpbmRleF90IGtleXdvcmRfaW5k
ZXgpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIDE7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVt
X3Qgd2lkdGggQCBjaGVja2tleXdvcmQoa3dfYml0c19pbmRleCwga2V5d29yZF9pbmRleCkoKShy
ZXQpICovCj4gK3JiX251bV90Cj4gK2F0dHJfd2lkdGhfY2hlY2trZXl3b3JkKAo+ICsgICAgTUFZ
QkVfVU5VU0VEKGxpbmRleF90IGt3X2JpdHNfaW5kZXgpLAo+ICsgICAgTUFZQkVfVU5VU0VEKGxp
bmRleF90IGtleXdvcmRfaW5kZXgpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIDM7Cj4gK30KPiAr
Cj4gKy8qIGF0dHIgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGJpbiBAIGNoZWNrdHlwZSh0eXBlKSh2
YWwpKHJldCkgKi8KPiArZW51bSBydWJ5X3ZtaW5zbl90eXBlCj4gK2F0dHJfYmluX2NoZWNrdHlw
ZShNQVlCRV9VTlVTRUQocmJfbnVtX3QgdHlwZSkpCj4gK3sKPiArICAgIHJldHVybiBCSU4oY2hl
Y2t0eXBlKTsKPiArfQo+ICsKPiArLyogYXR0ciBib29sIGhhbmRsZXNfc3AgQCBjaGVja3R5cGUo
dHlwZSkodmFsKShyZXQpICovCj4gK2Jvb2wKPiArYXR0cl9oYW5kbGVzX3NwX2NoZWNrdHlwZShN
QVlCRV9VTlVTRUQocmJfbnVtX3QgdHlwZSkpCj4gK3sKPiArICAgIHJldHVybiBmYWxzZTsKPiAr
fQo+ICsKPiArLyogYXR0ciBib29sIGxlYWYgQCBjaGVja3R5cGUodHlwZSkodmFsKShyZXQpICov
Cj4gK2Jvb2wKPiArYXR0cl9sZWFmX2NoZWNrdHlwZShNQVlCRV9VTlVTRUQocmJfbnVtX3QgdHlw
ZSkpCj4gK3sKPiArICAgIHJldHVybiB0cnVlOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGNvbnN0IGNo
YXIqIG5hbWUgQCBjaGVja3R5cGUodHlwZSkodmFsKShyZXQpICovCj4gK2NvbnN0IGNoYXIqCj4g
K2F0dHJfbmFtZV9jaGVja3R5cGUoTUFZQkVfVU5VU0VEKHJiX251bV90IHR5cGUpKQo+ICt7Cj4g
KyAgICByZXR1cm4gaW5zbl9uYW1lKEJJTihjaGVja3R5cGUpKTsKPiArfQo+ICsKPiArLyogYXR0
ciByYl9udW1fdCBvcGVuIEAgY2hlY2t0eXBlKHR5cGUpKHZhbCkocmV0KSAqLwo+ICtyYl9udW1f
dAo+ICthdHRyX29wZW5fY2hlY2t0eXBlKE1BWUJFX1VOVVNFRChyYl9udW1fdCB0eXBlKSkKPiAr
ewo+ICsgICAgcmV0dXJuIDE7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3QgcG9wbiBAIGNo
ZWNrdHlwZSh0eXBlKSh2YWwpKHJldCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl9wb3BuX2NoZWNr
dHlwZShNQVlCRV9VTlVTRUQocmJfbnVtX3QgdHlwZSkpCj4gK3sKPiArICAgIHJldHVybiAxOwo+
ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHJldG4gQCBjaGVja3R5cGUodHlwZSkodmFsKShy
ZXQpICovCj4gK3JiX251bV90Cj4gK2F0dHJfcmV0bl9jaGVja3R5cGUoTUFZQkVfVU5VU0VEKHJi
X251bV90IHR5cGUpKQo+ICt7Cj4gKyAgICByZXR1cm4gMTsKPiArfQo+ICsKPiArLyogYXR0ciBy
Yl9zbnVtX3Qgc3BfaW5jIEAgY2hlY2t0eXBlKHR5cGUpKHZhbCkocmV0KSAqLwo+ICtyYl9zbnVt
X3QKPiArYXR0cl9zcF9pbmNfY2hlY2t0eXBlKE1BWUJFX1VOVVNFRChyYl9udW1fdCB0eXBlKSkK
PiArewo+ICsgICAgcmV0dXJuIDA7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3Qgd2lkdGgg
QCBjaGVja3R5cGUodHlwZSkodmFsKShyZXQpICovCj4gK3JiX251bV90Cj4gK2F0dHJfd2lkdGhf
Y2hlY2t0eXBlKE1BWUJFX1VOVVNFRChyYl9udW1fdCB0eXBlKSkKPiArewo+ICsgICAgcmV0dXJu
IDI7Cj4gK30KPiArCj4gKy8qIGF0dHIgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGJpbiBAIGRlZmlu
ZWNsYXNzKGlkLCBjbGFzc19pc2VxLCBmbGFncykoY2Jhc2UsIHN1cGVyKSh2YWwpICovCj4gK2Vu
dW0gcnVieV92bWluc25fdHlwZQo+ICthdHRyX2Jpbl9kZWZpbmVjbGFzcygKPiArICAgIE1BWUJF
X1VOVVNFRChJRCBpZCksCj4gKyAgICBNQVlCRV9VTlVTRUQoSVNFUSBjbGFzc19pc2VxKSwKPiAr
ICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCBmbGFncykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4g
QklOKGRlZmluZWNsYXNzKTsKPiArfQo+ICsKPiArLyogYXR0ciBib29sIGhhbmRsZXNfc3AgQCBk
ZWZpbmVjbGFzcyhpZCwgY2xhc3NfaXNlcSwgZmxhZ3MpKGNiYXNlLCBzdXBlcikodmFsKSAqLwo+
ICtib29sCj4gK2F0dHJfaGFuZGxlc19zcF9kZWZpbmVjbGFzcygKPiArICAgIE1BWUJFX1VOVVNF
RChJRCBpZCksCj4gKyAgICBNQVlCRV9VTlVTRUQoSVNFUSBjbGFzc19pc2VxKSwKPiArICAgIE1B
WUJFX1VOVVNFRChyYl9udW1fdCBmbGFncykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gdHJ1ZTsK
PiArfQo+ICsKPiArLyogYXR0ciBib29sIGxlYWYgQCBkZWZpbmVjbGFzcyhpZCwgY2xhc3NfaXNl
cSwgZmxhZ3MpKGNiYXNlLCBzdXBlcikodmFsKSAqLwo+ICtib29sCj4gK2F0dHJfbGVhZl9kZWZp
bmVjbGFzcygKPiArICAgIE1BWUJFX1VOVVNFRChJRCBpZCksCj4gKyAgICBNQVlCRV9VTlVTRUQo
SVNFUSBjbGFzc19pc2VxKSwKPiArICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCBmbGFncykKPiAr
KQo+ICt7Cj4gKyAgICByZXR1cm4gZmFsc2U7Cj4gK30KPiArCj4gKy8qIGF0dHIgY29uc3QgY2hh
ciogbmFtZSBAIGRlZmluZWNsYXNzKGlkLCBjbGFzc19pc2VxLCBmbGFncykoY2Jhc2UsIHN1cGVy
KSh2YWwpICovCj4gK2NvbnN0IGNoYXIqCj4gK2F0dHJfbmFtZV9kZWZpbmVjbGFzcygKPiArICAg
IE1BWUJFX1VOVVNFRChJRCBpZCksCj4gKyAgICBNQVlCRV9VTlVTRUQoSVNFUSBjbGFzc19pc2Vx
KSwKPiArICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCBmbGFncykKPiArKQo+ICt7Cj4gKyAgICBy
ZXR1cm4gaW5zbl9uYW1lKEJJTihkZWZpbmVjbGFzcykpOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJi
X251bV90IG9wZW4gQCBkZWZpbmVjbGFzcyhpZCwgY2xhc3NfaXNlcSwgZmxhZ3MpKGNiYXNlLCBz
dXBlcikodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX29wZW5fZGVmaW5lY2xhc3MoCj4gKyAg
ICBNQVlCRV9VTlVTRUQoSUQgaWQpLAo+ICsgICAgTUFZQkVfVU5VU0VEKElTRVEgY2xhc3NfaXNl
cSksCj4gKyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QgZmxhZ3MpCj4gKykKPiArewo+ICsgICAg
cmV0dXJuIDM7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3QgcG9wbiBAIGRlZmluZWNsYXNz
KGlkLCBjbGFzc19pc2VxLCBmbGFncykoY2Jhc2UsIHN1cGVyKSh2YWwpICovCj4gK3JiX251bV90
Cj4gK2F0dHJfcG9wbl9kZWZpbmVjbGFzcygKPiArICAgIE1BWUJFX1VOVVNFRChJRCBpZCksCj4g
KyAgICBNQVlCRV9VTlVTRUQoSVNFUSBjbGFzc19pc2VxKSwKPiArICAgIE1BWUJFX1VOVVNFRChy
Yl9udW1fdCBmbGFncykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gMjsKPiArfQo+ICsKPiArLyog
YXR0ciByYl9udW1fdCByZXRuIEAgZGVmaW5lY2xhc3MoaWQsIGNsYXNzX2lzZXEsIGZsYWdzKShj
YmFzZSwgc3VwZXIpKHZhbCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl9yZXRuX2RlZmluZWNsYXNz
KAo+ICsgICAgTUFZQkVfVU5VU0VEKElEIGlkKSwKPiArICAgIE1BWUJFX1VOVVNFRChJU0VRIGNs
YXNzX2lzZXEpLAo+ICsgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IGZsYWdzKQo+ICspCj4gK3sK
PiArICAgIHJldHVybiAxOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX3NudW1fdCBzcF9pbmMgQCBk
ZWZpbmVjbGFzcyhpZCwgY2xhc3NfaXNlcSwgZmxhZ3MpKGNiYXNlLCBzdXBlcikodmFsKSAqLwo+
ICtyYl9zbnVtX3QKPiArYXR0cl9zcF9pbmNfZGVmaW5lY2xhc3MoCj4gKyAgICBNQVlCRV9VTlVT
RUQoSUQgaWQpLAo+ICsgICAgTUFZQkVfVU5VU0VEKElTRVEgY2xhc3NfaXNlcSksCj4gKyAgICBN
QVlCRV9VTlVTRUQocmJfbnVtX3QgZmxhZ3MpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIC0xOwo+
ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHdpZHRoIEAgZGVmaW5lY2xhc3MoaWQsIGNsYXNz
X2lzZXEsIGZsYWdzKShjYmFzZSwgc3VwZXIpKHZhbCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl93
aWR0aF9kZWZpbmVjbGFzcygKPiArICAgIE1BWUJFX1VOVVNFRChJRCBpZCksCj4gKyAgICBNQVlC
RV9VTlVTRUQoSVNFUSBjbGFzc19pc2VxKSwKPiArICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCBm
bGFncykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gNDsKPiArfQo+ICsKPiArLyogYXR0ciBlbnVt
IHJ1Ynlfdm1pbnNuX3R5cGUgYmluIEAgc2VuZChjaSwgY2MsIGJsb2NraXNlcSkoLi4uKSh2YWwp
ICovCj4gK2VudW0gcnVieV92bWluc25fdHlwZQo+ICthdHRyX2Jpbl9zZW5kKAo+ICsgICAgTUFZ
QkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBj
YyksCj4gKyAgICBNQVlCRV9VTlVTRUQoSVNFUSBibG9ja2lzZXEpCj4gKykKPiArewo+ICsgICAg
cmV0dXJuIEJJTihzZW5kKTsKPiArfQo+ICsKPiArLyogYXR0ciBib29sIGhhbmRsZXNfc3AgQCBz
ZW5kKGNpLCBjYywgYmxvY2tpc2VxKSguLi4pKHZhbCkgKi8KPiArYm9vbAo+ICthdHRyX2hhbmRs
ZXNfc3Bfc2VuZCgKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAo+ICsgICAgTUFZ
QkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpLAo+ICsgICAgTUFZQkVfVU5VU0VEKElTRVEgYmxvY2tp
c2VxKQo+ICspCj4gK3sKPiArICAgIHJldHVybiB0cnVlOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGJv
b2wgbGVhZiBAIHNlbmQoY2ksIGNjLCBibG9ja2lzZXEpKC4uLikodmFsKSAqLwo+ICtib29sCj4g
K2F0dHJfbGVhZl9zZW5kKAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4gKyAg
ICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYyksCj4gKyAgICBNQVlCRV9VTlVTRUQoSVNFUSBi
bG9ja2lzZXEpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIGZhbHNlOwo+ICt9Cj4gKwo+ICsvKiBh
dHRyIGNvbnN0IGNoYXIqIG5hbWUgQCBzZW5kKGNpLCBjYywgYmxvY2tpc2VxKSguLi4pKHZhbCkg
Ki8KPiArY29uc3QgY2hhcioKPiArYXR0cl9uYW1lX3NlbmQoCj4gKyAgICBNQVlCRV9VTlVTRUQo
Q0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKSwKPiArICAg
IE1BWUJFX1VOVVNFRChJU0VRIGJsb2NraXNlcSkKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gaW5z
bl9uYW1lKEJJTihzZW5kKSk7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3Qgb3BlbiBAIHNl
bmQoY2ksIGNjLCBibG9ja2lzZXEpKC4uLikodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX29w
ZW5fc2VuZCgKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAo+ICsgICAgTUFZQkVf
VU5VU0VEKENBTExfQ0FDSEUgY2MpLAo+ICsgICAgTUFZQkVfVU5VU0VEKElTRVEgYmxvY2tpc2Vx
KQo+ICspCj4gK3sKPiArICAgIHJldHVybiAzOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90
IHBvcG4gQCBzZW5kKGNpLCBjYywgYmxvY2tpc2VxKSguLi4pKHZhbCkgKi8KPiArcmJfbnVtX3QK
PiArYXR0cl9wb3BuX3NlbmQoCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiAr
ICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKSwKPiArICAgIE1BWUJFX1VOVVNFRChJU0VR
IGJsb2NraXNlcSkKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gMDsKPiArfQo+ICsKPiArLyogYXR0
ciByYl9udW1fdCByZXRuIEAgc2VuZChjaSwgY2MsIGJsb2NraXNlcSkoLi4uKSh2YWwpICovCj4g
K3JiX251bV90Cj4gK2F0dHJfcmV0bl9zZW5kKAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5G
TyBjaSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYyksCj4gKyAgICBNQVlCRV9V
TlVTRUQoSVNFUSBibG9ja2lzZXEpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIDE7Cj4gK30KPiAr
Cj4gKy8qIGF0dHIgcmJfc251bV90IHNwX2luYyBAIHNlbmQoY2ksIGNjLCBibG9ja2lzZXEpKC4u
LikodmFsKSAqLwo+ICtyYl9zbnVtX3QKPiArYXR0cl9zcF9pbmNfc2VuZCgKPiArICAgIE1BWUJF
X1VOVVNFRChDQUxMX0lORk8gY2kpLAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2Mp
LAo+ICsgICAgTUFZQkVfVU5VU0VEKElTRVEgYmxvY2tpc2VxKQo+ICspCj4gK3sKPiArICAgIHJl
dHVybgo+ICsjbGluZSA3NDMgImluc25zLmRlZiIKPiArLSAoaW50KShjaS0+b3JpZ19hcmdjICsg
KChjaS0+ZmxhZyAmIFZNX0NBTExfQVJHU19CTE9DS0FSRykgPyAxIDogMCkpOwo+ICsjbGluZSA1
MDc5ICJpbnNuc19pbmZvLmluYyIKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCB3aWR0aCBA
IHNlbmQoY2ksIGNjLCBibG9ja2lzZXEpKC4uLikodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRy
X3dpZHRoX3NlbmQoCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1B
WUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKSwKPiArICAgIE1BWUJFX1VOVVNFRChJU0VRIGJsb2Nr
aXNlcSkKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gNDsKPiArfQo+ICsKPiArLyogYXR0ciBlbnVt
IHJ1Ynlfdm1pbnNuX3R5cGUgYmluIEAgb3B0X3NlbmRfd2l0aG91dF9ibG9jayhjaSwgY2MpKC4u
LikodmFsKSAqLwo+ICtlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUKPiArYXR0cl9iaW5fb3B0X3NlbmRf
d2l0aG91dF9ibG9jaygKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAo+ICsgICAg
TUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIEJJTihv
cHRfc2VuZF93aXRob3V0X2Jsb2NrKTsKPiArfQo+ICsKPiArLyogYXR0ciBib29sIGhhbmRsZXNf
c3AgQCBvcHRfc2VuZF93aXRob3V0X2Jsb2NrKGNpLCBjYykoLi4uKSh2YWwpICovCj4gK2Jvb2wK
PiArYXR0cl9oYW5kbGVzX3NwX29wdF9zZW5kX3dpdGhvdXRfYmxvY2soCj4gKyAgICBNQVlCRV9V
TlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+
ICspCj4gK3sKPiArICAgIHJldHVybgo+ICsjbGluZSA3NTkgImluc25zLmRlZiIKPiArdHJ1ZTsK
PiArI2xpbmUgNTExMyAiaW5zbnNfaW5mby5pbmMiCj4gK30KPiArCj4gKy8qIGF0dHIgYm9vbCBs
ZWFmIEAgb3B0X3NlbmRfd2l0aG91dF9ibG9jayhjaSwgY2MpKC4uLikodmFsKSAqLwo+ICtib29s
Cj4gK2F0dHJfbGVhZl9vcHRfc2VuZF93aXRob3V0X2Jsb2NrKAo+ICsgICAgTUFZQkVfVU5VU0VE
KENBTExfSU5GTyBjaSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKPiArKQo+
ICt7Cj4gKyAgICByZXR1cm4gISBhdHRyX2hhbmRsZXNfc3Bfb3B0X3NlbmRfd2l0aG91dF9ibG9j
ayhjaSwgY2MpOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGNvbnN0IGNoYXIqIG5hbWUgQCBvcHRfc2Vu
ZF93aXRob3V0X2Jsb2NrKGNpLCBjYykoLi4uKSh2YWwpICovCj4gK2NvbnN0IGNoYXIqCj4gK2F0
dHJfbmFtZV9vcHRfc2VuZF93aXRob3V0X2Jsb2NrKAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExf
SU5GTyBjaSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKPiArKQo+ICt7Cj4g
KyAgICByZXR1cm4gaW5zbl9uYW1lKEJJTihvcHRfc2VuZF93aXRob3V0X2Jsb2NrKSk7Cj4gK30K
PiArCj4gKy8qIGF0dHIgcmJfbnVtX3Qgb3BlbiBAIG9wdF9zZW5kX3dpdGhvdXRfYmxvY2soY2ks
IGNjKSguLi4pKHZhbCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl9vcGVuX29wdF9zZW5kX3dpdGhv
dXRfYmxvY2soCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJF
X1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICspCj4gK3sKPiArICAgIHJldHVybiAyOwo+ICt9Cj4g
Kwo+ICsvKiBhdHRyIHJiX251bV90IHBvcG4gQCBvcHRfc2VuZF93aXRob3V0X2Jsb2NrKGNpLCBj
YykoLi4uKSh2YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJfcG9wbl9vcHRfc2VuZF93aXRob3V0
X2Jsb2NrKAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBNQVlCRV9V
TlVTRUQoQ0FMTF9DQUNIRSBjYykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gMDsKPiArfQo+ICsK
PiArLyogYXR0ciByYl9udW1fdCByZXRuIEAgb3B0X3NlbmRfd2l0aG91dF9ibG9jayhjaSwgY2Mp
KC4uLikodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3JldG5fb3B0X3NlbmRfd2l0aG91dF9i
bG9jaygKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAo+ICsgICAgTUFZQkVfVU5V
U0VEKENBTExfQ0FDSEUgY2MpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIDE7Cj4gK30KPiArCj4g
Ky8qIGF0dHIgcmJfc251bV90IHNwX2luYyBAIG9wdF9zZW5kX3dpdGhvdXRfYmxvY2soY2ksIGNj
KSguLi4pKHZhbCkgKi8KPiArcmJfc251bV90Cj4gK2F0dHJfc3BfaW5jX29wdF9zZW5kX3dpdGhv
dXRfYmxvY2soCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJF
X1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICspCj4gK3sKPiArICAgIHJldHVybgo+ICsjbGluZSA3
NjAgImluc25zLmRlZiIKPiArLWNpLT5vcmlnX2FyZ2M7Cj4gKyNsaW5lIDUxNzYgImluc25zX2lu
Zm8uaW5jIgo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHdpZHRoIEAgb3B0X3NlbmRfd2l0
aG91dF9ibG9jayhjaSwgY2MpKC4uLikodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3dpZHRo
X29wdF9zZW5kX3dpdGhvdXRfYmxvY2soCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNp
KSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICspCj4gK3sKPiArICAgIHJl
dHVybiAzOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGVudW0gcnVieV92bWluc25fdHlwZSBiaW4gQCBv
cHRfc3RyX2ZyZWV6ZShzdHIsIGNpLCBjYykoKSh2YWwpICovCj4gK2VudW0gcnVieV92bWluc25f
dHlwZQo+ICthdHRyX2Jpbl9vcHRfc3RyX2ZyZWV6ZSgKPiArICAgIE1BWUJFX1VOVVNFRChWQUxV
RSBzdHIpLAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBNQVlCRV9V
TlVTRUQoQ0FMTF9DQUNIRSBjYykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gQklOKG9wdF9zdHJf
ZnJlZXplKTsKPiArfQo+ICsKPiArLyogYXR0ciBib29sIGhhbmRsZXNfc3AgQCBvcHRfc3RyX2Zy
ZWV6ZShzdHIsIGNpLCBjYykoKSh2YWwpICovCj4gK2Jvb2wKPiArYXR0cl9oYW5kbGVzX3NwX29w
dF9zdHJfZnJlZXplKAo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVFIHN0ciksCj4gKyAgICBNQVlC
RV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNj
KQo+ICspCj4gK3sKPiArICAgIHJldHVybiBmYWxzZTsKPiArfQo+ICsKPiArLyogYXR0ciBib29s
IGxlYWYgQCBvcHRfc3RyX2ZyZWV6ZShzdHIsIGNpLCBjYykoKSh2YWwpICovCj4gK2Jvb2wKPiAr
YXR0cl9sZWFmX29wdF9zdHJfZnJlZXplKAo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVFIHN0ciks
Cj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChD
QUxMX0NBQ0hFIGNjKQo+ICspCj4gK3sKPiArICAgIHJldHVybiB0cnVlOwo+ICt9Cj4gKwo+ICsv
KiBhdHRyIGNvbnN0IGNoYXIqIG5hbWUgQCBvcHRfc3RyX2ZyZWV6ZShzdHIsIGNpLCBjYykoKSh2
YWwpICovCj4gK2NvbnN0IGNoYXIqCj4gK2F0dHJfbmFtZV9vcHRfc3RyX2ZyZWV6ZSgKPiArICAg
IE1BWUJFX1VOVVNFRChWQUxVRSBzdHIpLAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBj
aSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKPiArKQo+ICt7Cj4gKyAgICBy
ZXR1cm4gaW5zbl9uYW1lKEJJTihvcHRfc3RyX2ZyZWV6ZSkpOwo+ICt9Cj4gKwo+ICsvKiBhdHRy
IHJiX251bV90IG9wZW4gQCBvcHRfc3RyX2ZyZWV6ZShzdHIsIGNpLCBjYykoKSh2YWwpICovCj4g
K3JiX251bV90Cj4gK2F0dHJfb3Blbl9vcHRfc3RyX2ZyZWV6ZSgKPiArICAgIE1BWUJFX1VOVVNF
RChWQUxVRSBzdHIpLAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBN
QVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gMzsKPiAr
fQo+ICsKPiArLyogYXR0ciByYl9udW1fdCBwb3BuIEAgb3B0X3N0cl9mcmVlemUoc3RyLCBjaSwg
Y2MpKCkodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3BvcG5fb3B0X3N0cl9mcmVlemUoCj4g
KyAgICBNQVlCRV9VTlVTRUQoVkFMVUUgc3RyKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0lO
Rk8gY2kpLAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCj4gKykKPiArewo+ICsg
ICAgcmV0dXJuIDA7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3QgcmV0biBAIG9wdF9zdHJf
ZnJlZXplKHN0ciwgY2ksIGNjKSgpKHZhbCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl9yZXRuX29w
dF9zdHJfZnJlZXplKAo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVFIHN0ciksCj4gKyAgICBNQVlC
RV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNj
KQo+ICspCj4gK3sKPiArICAgIHJldHVybiAxOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX3NudW1f
dCBzcF9pbmMgQCBvcHRfc3RyX2ZyZWV6ZShzdHIsIGNpLCBjYykoKSh2YWwpICovCj4gK3JiX3Nu
dW1fdAo+ICthdHRyX3NwX2luY19vcHRfc3RyX2ZyZWV6ZSgKPiArICAgIE1BWUJFX1VOVVNFRChW
QUxVRSBzdHIpLAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBNQVlC
RV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gMTsKPiArfQo+
ICsKPiArLyogYXR0ciByYl9udW1fdCB3aWR0aCBAIG9wdF9zdHJfZnJlZXplKHN0ciwgY2ksIGNj
KSgpKHZhbCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl93aWR0aF9vcHRfc3RyX2ZyZWV6ZSgKPiAr
ICAgIE1BWUJFX1VOVVNFRChWQUxVRSBzdHIpLAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5G
TyBjaSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKPiArKQo+ICt7Cj4gKyAg
ICByZXR1cm4gNDsKPiArfQo+ICsKPiArLyogYXR0ciBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYmlu
IEAgb3B0X3N0cl91bWludXMoc3RyLCBjaSwgY2MpKCkodmFsKSAqLwo+ICtlbnVtIHJ1Ynlfdm1p
bnNuX3R5cGUKPiArYXR0cl9iaW5fb3B0X3N0cl91bWludXMoCj4gKyAgICBNQVlCRV9VTlVTRUQo
VkFMVUUgc3RyKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAo+ICsgICAgTUFZ
QkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIEJJTihvcHRf
c3RyX3VtaW51cyk7Cj4gK30KPiArCj4gKy8qIGF0dHIgYm9vbCBoYW5kbGVzX3NwIEAgb3B0X3N0
cl91bWludXMoc3RyLCBjaSwgY2MpKCkodmFsKSAqLwo+ICtib29sCj4gK2F0dHJfaGFuZGxlc19z
cF9vcHRfc3RyX3VtaW51cygKPiArICAgIE1BWUJFX1VOVVNFRChWQUxVRSBzdHIpLAo+ICsgICAg
TUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNI
RSBjYykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gZmFsc2U7Cj4gK30KPiArCj4gKy8qIGF0dHIg
Ym9vbCBsZWFmIEAgb3B0X3N0cl91bWludXMoc3RyLCBjaSwgY2MpKCkodmFsKSAqLwo+ICtib29s
Cj4gK2F0dHJfbGVhZl9vcHRfc3RyX3VtaW51cygKPiArICAgIE1BWUJFX1VOVVNFRChWQUxVRSBz
dHIpLAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBNQVlCRV9VTlVT
RUQoQ0FMTF9DQUNIRSBjYykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gdHJ1ZTsKPiArfQo+ICsK
PiArLyogYXR0ciBjb25zdCBjaGFyKiBuYW1lIEAgb3B0X3N0cl91bWludXMoc3RyLCBjaSwgY2Mp
KCkodmFsKSAqLwo+ICtjb25zdCBjaGFyKgo+ICthdHRyX25hbWVfb3B0X3N0cl91bWludXMoCj4g
KyAgICBNQVlCRV9VTlVTRUQoVkFMVUUgc3RyKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0lO
Rk8gY2kpLAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCj4gKykKPiArewo+ICsg
ICAgcmV0dXJuIGluc25fbmFtZShCSU4ob3B0X3N0cl91bWludXMpKTsKPiArfQo+ICsKPiArLyog
YXR0ciByYl9udW1fdCBvcGVuIEAgb3B0X3N0cl91bWludXMoc3RyLCBjaSwgY2MpKCkodmFsKSAq
Lwo+ICtyYl9udW1fdAo+ICthdHRyX29wZW5fb3B0X3N0cl91bWludXMoCj4gKyAgICBNQVlCRV9V
TlVTRUQoVkFMVUUgc3RyKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAo+ICsg
ICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIDM7
Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3QgcG9wbiBAIG9wdF9zdHJfdW1pbnVzKHN0ciwg
Y2ksIGNjKSgpKHZhbCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl9wb3BuX29wdF9zdHJfdW1pbnVz
KAo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVFIHN0ciksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FM
TF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICspCj4gK3sK
PiArICAgIHJldHVybiAwOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHJldG4gQCBvcHRf
c3RyX3VtaW51cyhzdHIsIGNpLCBjYykoKSh2YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJfcmV0
bl9vcHRfc3RyX3VtaW51cygKPiArICAgIE1BWUJFX1VOVVNFRChWQUxVRSBzdHIpLAo+ICsgICAg
TUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNI
RSBjYykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gMTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9z
bnVtX3Qgc3BfaW5jIEAgb3B0X3N0cl91bWludXMoc3RyLCBjaSwgY2MpKCkodmFsKSAqLwo+ICty
Yl9zbnVtX3QKPiArYXR0cl9zcF9pbmNfb3B0X3N0cl91bWludXMoCj4gKyAgICBNQVlCRV9VTlVT
RUQoVkFMVUUgc3RyKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAo+ICsgICAg
TUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIDE7Cj4g
K30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3Qgd2lkdGggQCBvcHRfc3RyX3VtaW51cyhzdHIsIGNp
LCBjYykoKSh2YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJfd2lkdGhfb3B0X3N0cl91bWludXMo
Cj4gKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUgc3RyKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxM
X0lORk8gY2kpLAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCj4gKykKPiArewo+
ICsgICAgcmV0dXJuIDQ7Cj4gK30KPiArCj4gKy8qIGF0dHIgZW51bSBydWJ5X3ZtaW5zbl90eXBl
IGJpbiBAIG9wdF9uZXdhcnJheV9tYXgobnVtKSguLi4pKHZhbCkgKi8KPiArZW51bSBydWJ5X3Zt
aW5zbl90eXBlCj4gK2F0dHJfYmluX29wdF9uZXdhcnJheV9tYXgoTUFZQkVfVU5VU0VEKHJiX251
bV90IG51bSkpCj4gK3sKPiArICAgIHJldHVybiBCSU4ob3B0X25ld2FycmF5X21heCk7Cj4gK30K
PiArCj4gKy8qIGF0dHIgYm9vbCBoYW5kbGVzX3NwIEAgb3B0X25ld2FycmF5X21heChudW0pKC4u
LikodmFsKSAqLwo+ICtib29sCj4gK2F0dHJfaGFuZGxlc19zcF9vcHRfbmV3YXJyYXlfbWF4KE1B
WUJFX1VOVVNFRChyYl9udW1fdCBudW0pKQo+ICt7Cj4gKyAgICByZXR1cm4gZmFsc2U7Cj4gK30K
PiArCj4gKy8qIGF0dHIgYm9vbCBsZWFmIEAgb3B0X25ld2FycmF5X21heChudW0pKC4uLikodmFs
KSAqLwo+ICtib29sCj4gK2F0dHJfbGVhZl9vcHRfbmV3YXJyYXlfbWF4KE1BWUJFX1VOVVNFRChy
Yl9udW1fdCBudW0pKQo+ICt7Cj4gKyAgICByZXR1cm4KPiArI2xpbmUgODA1ICJpbnNucy5kZWYi
Cj4gK2ZhbHNlOwo+ICsjbGluZSA1NDA4ICJpbnNuc19pbmZvLmluYyIKPiArfQo+ICsKPiArLyog
YXR0ciBjb25zdCBjaGFyKiBuYW1lIEAgb3B0X25ld2FycmF5X21heChudW0pKC4uLikodmFsKSAq
Lwo+ICtjb25zdCBjaGFyKgo+ICthdHRyX25hbWVfb3B0X25ld2FycmF5X21heChNQVlCRV9VTlVT
RUQocmJfbnVtX3QgbnVtKSkKPiArewo+ICsgICAgcmV0dXJuIGluc25fbmFtZShCSU4ob3B0X25l
d2FycmF5X21heCkpOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IG9wZW4gQCBvcHRfbmV3
YXJyYXlfbWF4KG51bSkoLi4uKSh2YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJfb3Blbl9vcHRf
bmV3YXJyYXlfbWF4KE1BWUJFX1VOVVNFRChyYl9udW1fdCBudW0pKQo+ICt7Cj4gKyAgICByZXR1
cm4gMTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCBwb3BuIEAgb3B0X25ld2FycmF5X21h
eChudW0pKC4uLikodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3BvcG5fb3B0X25ld2FycmF5
X21heChNQVlCRV9VTlVTRUQocmJfbnVtX3QgbnVtKSkKPiArewo+ICsgICAgcmV0dXJuIDA7Cj4g
K30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3QgcmV0biBAIG9wdF9uZXdhcnJheV9tYXgobnVtKSgu
Li4pKHZhbCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl9yZXRuX29wdF9uZXdhcnJheV9tYXgoTUFZ
QkVfVU5VU0VEKHJiX251bV90IG51bSkpCj4gK3sKPiArICAgIHJldHVybiAxOwo+ICt9Cj4gKwo+
ICsvKiBhdHRyIHJiX3NudW1fdCBzcF9pbmMgQCBvcHRfbmV3YXJyYXlfbWF4KG51bSkoLi4uKSh2
YWwpICovCj4gK3JiX3NudW1fdAo+ICthdHRyX3NwX2luY19vcHRfbmV3YXJyYXlfbWF4KE1BWUJF
X1VOVVNFRChyYl9udW1fdCBudW0pKQo+ICt7Cj4gKyAgICByZXR1cm4KPiArI2xpbmUgODA2ICJp
bnNucy5kZWYiCj4gKzEgLSAocmJfc251bV90KW51bTsKPiArI2xpbmUgNTQ0NiAiaW5zbnNfaW5m
by5pbmMiCj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3Qgd2lkdGggQCBvcHRfbmV3YXJyYXlf
bWF4KG51bSkoLi4uKSh2YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJfd2lkdGhfb3B0X25ld2Fy
cmF5X21heChNQVlCRV9VTlVTRUQocmJfbnVtX3QgbnVtKSkKPiArewo+ICsgICAgcmV0dXJuIDI7
Cj4gK30KPiArCj4gKy8qIGF0dHIgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGJpbiBAIG9wdF9uZXdh
cnJheV9taW4obnVtKSguLi4pKHZhbCkgKi8KPiArZW51bSBydWJ5X3ZtaW5zbl90eXBlCj4gK2F0
dHJfYmluX29wdF9uZXdhcnJheV9taW4oTUFZQkVfVU5VU0VEKHJiX251bV90IG51bSkpCj4gK3sK
PiArICAgIHJldHVybiBCSU4ob3B0X25ld2FycmF5X21pbik7Cj4gK30KPiArCj4gKy8qIGF0dHIg
Ym9vbCBoYW5kbGVzX3NwIEAgb3B0X25ld2FycmF5X21pbihudW0pKC4uLikodmFsKSAqLwo+ICti
b29sCj4gK2F0dHJfaGFuZGxlc19zcF9vcHRfbmV3YXJyYXlfbWluKE1BWUJFX1VOVVNFRChyYl9u
dW1fdCBudW0pKQo+ICt7Cj4gKyAgICByZXR1cm4gZmFsc2U7Cj4gK30KPiArCj4gKy8qIGF0dHIg
Ym9vbCBsZWFmIEAgb3B0X25ld2FycmF5X21pbihudW0pKC4uLikodmFsKSAqLwo+ICtib29sCj4g
K2F0dHJfbGVhZl9vcHRfbmV3YXJyYXlfbWluKE1BWUJFX1VOVVNFRChyYl9udW1fdCBudW0pKQo+
ICt7Cj4gKyAgICByZXR1cm4KPiArI2xpbmUgODE3ICJpbnNucy5kZWYiCj4gK2ZhbHNlOwo+ICsj
bGluZSA1NDc3ICJpbnNuc19pbmZvLmluYyIKPiArfQo+ICsKPiArLyogYXR0ciBjb25zdCBjaGFy
KiBuYW1lIEAgb3B0X25ld2FycmF5X21pbihudW0pKC4uLikodmFsKSAqLwo+ICtjb25zdCBjaGFy
Kgo+ICthdHRyX25hbWVfb3B0X25ld2FycmF5X21pbihNQVlCRV9VTlVTRUQocmJfbnVtX3QgbnVt
KSkKPiArewo+ICsgICAgcmV0dXJuIGluc25fbmFtZShCSU4ob3B0X25ld2FycmF5X21pbikpOwo+
ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IG9wZW4gQCBvcHRfbmV3YXJyYXlfbWluKG51bSko
Li4uKSh2YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJfb3Blbl9vcHRfbmV3YXJyYXlfbWluKE1B
WUJFX1VOVVNFRChyYl9udW1fdCBudW0pKQo+ICt7Cj4gKyAgICByZXR1cm4gMTsKPiArfQo+ICsK
PiArLyogYXR0ciByYl9udW1fdCBwb3BuIEAgb3B0X25ld2FycmF5X21pbihudW0pKC4uLikodmFs
KSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3BvcG5fb3B0X25ld2FycmF5X21pbihNQVlCRV9VTlVT
RUQocmJfbnVtX3QgbnVtKSkKPiArewo+ICsgICAgcmV0dXJuIDA7Cj4gK30KPiArCj4gKy8qIGF0
dHIgcmJfbnVtX3QgcmV0biBAIG9wdF9uZXdhcnJheV9taW4obnVtKSguLi4pKHZhbCkgKi8KPiAr
cmJfbnVtX3QKPiArYXR0cl9yZXRuX29wdF9uZXdhcnJheV9taW4oTUFZQkVfVU5VU0VEKHJiX251
bV90IG51bSkpCj4gK3sKPiArICAgIHJldHVybiAxOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX3Nu
dW1fdCBzcF9pbmMgQCBvcHRfbmV3YXJyYXlfbWluKG51bSkoLi4uKSh2YWwpICovCj4gK3JiX3Nu
dW1fdAo+ICthdHRyX3NwX2luY19vcHRfbmV3YXJyYXlfbWluKE1BWUJFX1VOVVNFRChyYl9udW1f
dCBudW0pKQo+ICt7Cj4gKyAgICByZXR1cm4KPiArI2xpbmUgODE4ICJpbnNucy5kZWYiCj4gKzEg
LSAocmJfc251bV90KW51bTsKPiArI2xpbmUgNTUxNSAiaW5zbnNfaW5mby5pbmMiCj4gK30KPiAr
Cj4gKy8qIGF0dHIgcmJfbnVtX3Qgd2lkdGggQCBvcHRfbmV3YXJyYXlfbWluKG51bSkoLi4uKSh2
YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJfd2lkdGhfb3B0X25ld2FycmF5X21pbihNQVlCRV9V
TlVTRUQocmJfbnVtX3QgbnVtKSkKPiArewo+ICsgICAgcmV0dXJuIDI7Cj4gK30KPiArCj4gKy8q
IGF0dHIgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGJpbiBAIGludm9rZXN1cGVyKGNpLCBjYywgYmxv
Y2tpc2VxKSguLi4pKHZhbCkgKi8KPiArZW51bSBydWJ5X3ZtaW5zbl90eXBlCj4gK2F0dHJfYmlu
X2ludm9rZXN1cGVyKAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBN
QVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYyksCj4gKyAgICBNQVlCRV9VTlVTRUQoSVNFUSBibG9j
a2lzZXEpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIEJJTihpbnZva2VzdXBlcik7Cj4gK30KPiAr
Cj4gKy8qIGF0dHIgYm9vbCBoYW5kbGVzX3NwIEAgaW52b2tlc3VwZXIoY2ksIGNjLCBibG9ja2lz
ZXEpKC4uLikodmFsKSAqLwo+ICtib29sCj4gK2F0dHJfaGFuZGxlc19zcF9pbnZva2VzdXBlcigK
PiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAo+ICsgICAgTUFZQkVfVU5VU0VEKENB
TExfQ0FDSEUgY2MpLAo+ICsgICAgTUFZQkVfVU5VU0VEKElTRVEgYmxvY2tpc2VxKQo+ICspCj4g
K3sKPiArICAgIHJldHVybiB0cnVlOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGJvb2wgbGVhZiBAIGlu
dm9rZXN1cGVyKGNpLCBjYywgYmxvY2tpc2VxKSguLi4pKHZhbCkgKi8KPiArYm9vbAo+ICthdHRy
X2xlYWZfaW52b2tlc3VwZXIoCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiAr
ICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKSwKPiArICAgIE1BWUJFX1VOVVNFRChJU0VR
IGJsb2NraXNlcSkKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gZmFsc2U7Cj4gK30KPiArCj4gKy8q
IGF0dHIgY29uc3QgY2hhciogbmFtZSBAIGludm9rZXN1cGVyKGNpLCBjYywgYmxvY2tpc2VxKSgu
Li4pKHZhbCkgKi8KPiArY29uc3QgY2hhcioKPiArYXR0cl9uYW1lX2ludm9rZXN1cGVyKAo+ICsg
ICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9D
QUNIRSBjYyksCj4gKyAgICBNQVlCRV9VTlVTRUQoSVNFUSBibG9ja2lzZXEpCj4gKykKPiArewo+
ICsgICAgcmV0dXJuIGluc25fbmFtZShCSU4oaW52b2tlc3VwZXIpKTsKPiArfQo+ICsKPiArLyog
YXR0ciByYl9udW1fdCBvcGVuIEAgaW52b2tlc3VwZXIoY2ksIGNjLCBibG9ja2lzZXEpKC4uLiko
dmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX29wZW5faW52b2tlc3VwZXIoCj4gKyAgICBNQVlC
RV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNj
KSwKPiArICAgIE1BWUJFX1VOVVNFRChJU0VRIGJsb2NraXNlcSkKPiArKQo+ICt7Cj4gKyAgICBy
ZXR1cm4gMzsKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCBwb3BuIEAgaW52b2tlc3VwZXIo
Y2ksIGNjLCBibG9ja2lzZXEpKC4uLikodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3BvcG5f
aW52b2tlc3VwZXIoCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1B
WUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKSwKPiArICAgIE1BWUJFX1VOVVNFRChJU0VRIGJsb2Nr
aXNlcSkKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gMDsKPiArfQo+ICsKPiArLyogYXR0ciByYl9u
dW1fdCByZXRuIEAgaW52b2tlc3VwZXIoY2ksIGNjLCBibG9ja2lzZXEpKC4uLikodmFsKSAqLwo+
ICtyYl9udW1fdAo+ICthdHRyX3JldG5faW52b2tlc3VwZXIoCj4gKyAgICBNQVlCRV9VTlVTRUQo
Q0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKSwKPiArICAg
IE1BWUJFX1VOVVNFRChJU0VRIGJsb2NraXNlcSkKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gMTsK
PiArfQo+ICsKPiArLyogYXR0ciByYl9zbnVtX3Qgc3BfaW5jIEAgaW52b2tlc3VwZXIoY2ksIGNj
LCBibG9ja2lzZXEpKC4uLikodmFsKSAqLwo+ICtyYl9zbnVtX3QKPiArYXR0cl9zcF9pbmNfaW52
b2tlc3VwZXIoCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJF
X1VOVVNFRChDQUxMX0NBQ0hFIGNjKSwKPiArICAgIE1BWUJFX1VOVVNFRChJU0VRIGJsb2NraXNl
cSkKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4KPiArI2xpbmUgODI5ICJpbnNucy5kZWYiCj4gKy0g
KGludCkoY2ktPm9yaWdfYXJnYyArICgoY2ktPmZsYWcgJiBWTV9DQUxMX0FSR1NfQkxPQ0tBUkcp
ID8gMSA6IDApKTsKPiArI2xpbmUgNTYxMyAiaW5zbnNfaW5mby5pbmMiCj4gK30KPiArCj4gKy8q
IGF0dHIgcmJfbnVtX3Qgd2lkdGggQCBpbnZva2VzdXBlcihjaSwgY2MsIGJsb2NraXNlcSkoLi4u
KSh2YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJfd2lkdGhfaW52b2tlc3VwZXIoCj4gKyAgICBN
QVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hF
IGNjKSwKPiArICAgIE1BWUJFX1VOVVNFRChJU0VRIGJsb2NraXNlcSkKPiArKQo+ICt7Cj4gKyAg
ICByZXR1cm4gNDsKPiArfQo+ICsKPiArLyogYXR0ciBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYmlu
IEAgaW52b2tlYmxvY2soY2kpKC4uLikodmFsKSAqLwo+ICtlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUK
PiArYXR0cl9iaW5faW52b2tlYmxvY2soTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSkpCj4gK3sK
PiArICAgIHJldHVybiBCSU4oaW52b2tlYmxvY2spOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGJvb2wg
aGFuZGxlc19zcCBAIGludm9rZWJsb2NrKGNpKSguLi4pKHZhbCkgKi8KPiArYm9vbAo+ICthdHRy
X2hhbmRsZXNfc3BfaW52b2tlYmxvY2soTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSkpCj4gK3sK
PiArICAgIHJldHVybgo+ICsjbGluZSA4NDUgImluc25zLmRlZiIKPiArdHJ1ZTsKPiArI2xpbmUg
NTY0MSAiaW5zbnNfaW5mby5pbmMiCj4gK30KPiArCj4gKy8qIGF0dHIgYm9vbCBsZWFmIEAgaW52
b2tlYmxvY2soY2kpKC4uLikodmFsKSAqLwo+ICtib29sCj4gK2F0dHJfbGVhZl9pbnZva2VibG9j
ayhNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSkKPiArewo+ICsgICAgcmV0dXJuICEgYXR0cl9o
YW5kbGVzX3NwX2ludm9rZWJsb2NrKGNpKTsKPiArfQo+ICsKPiArLyogYXR0ciBjb25zdCBjaGFy
KiBuYW1lIEAgaW52b2tlYmxvY2soY2kpKC4uLikodmFsKSAqLwo+ICtjb25zdCBjaGFyKgo+ICth
dHRyX25hbWVfaW52b2tlYmxvY2soTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSkpCj4gK3sKPiAr
ICAgIHJldHVybiBpbnNuX25hbWUoQklOKGludm9rZWJsb2NrKSk7Cj4gK30KPiArCj4gKy8qIGF0
dHIgcmJfbnVtX3Qgb3BlbiBAIGludm9rZWJsb2NrKGNpKSguLi4pKHZhbCkgKi8KPiArcmJfbnVt
X3QKPiArYXR0cl9vcGVuX2ludm9rZWJsb2NrKE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpKQo+
ICt7Cj4gKyAgICByZXR1cm4gMTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCBwb3BuIEAg
aW52b2tlYmxvY2soY2kpKC4uLikodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3BvcG5faW52
b2tlYmxvY2soTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSkpCj4gK3sKPiArICAgIHJldHVybiAw
Owo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHJldG4gQCBpbnZva2VibG9jayhjaSkoLi4u
KSh2YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJfcmV0bl9pbnZva2VibG9jayhNQVlCRV9VTlVT
RUQoQ0FMTF9JTkZPIGNpKSkKPiArewo+ICsgICAgcmV0dXJuIDE7Cj4gK30KPiArCj4gKy8qIGF0
dHIgcmJfc251bV90IHNwX2luYyBAIGludm9rZWJsb2NrKGNpKSguLi4pKHZhbCkgKi8KPiArcmJf
c251bV90Cj4gK2F0dHJfc3BfaW5jX2ludm9rZWJsb2NrKE1BWUJFX1VOVVNFRChDQUxMX0lORk8g
Y2kpKQo+ICt7Cj4gKyAgICByZXR1cm4KPiArI2xpbmUgODQ2ICJpbnNucy5kZWYiCj4gKzEgLSBj
aS0+b3JpZ19hcmdjOwo+ICsjbGluZSA1Njg2ICJpbnNuc19pbmZvLmluYyIKPiArfQo+ICsKPiAr
LyogYXR0ciByYl9udW1fdCB3aWR0aCBAIGludm9rZWJsb2NrKGNpKSguLi4pKHZhbCkgKi8KPiAr
cmJfbnVtX3QKPiArYXR0cl93aWR0aF9pbnZva2VibG9jayhNQVlCRV9VTlVTRUQoQ0FMTF9JTkZP
IGNpKSkKPiArewo+ICsgICAgcmV0dXJuIDI7Cj4gK30KPiArCj4gKy8qIGF0dHIgZW51bSBydWJ5
X3ZtaW5zbl90eXBlIGJpbiBAIGxlYXZlKCkodmFsKSh2YWwpICovCj4gK2VudW0gcnVieV92bWlu
c25fdHlwZQo+ICthdHRyX2Jpbl9sZWF2ZSh2b2lkKQo+ICt7Cj4gKyAgICByZXR1cm4gQklOKGxl
YXZlKTsKPiArfQo+ICsKPiArLyogYXR0ciBib29sIGhhbmRsZXNfc3AgQCBsZWF2ZSgpKHZhbCko
dmFsKSAqLwo+ICtib29sCj4gK2F0dHJfaGFuZGxlc19zcF9sZWF2ZSh2b2lkKQo+ICt7Cj4gKyAg
ICByZXR1cm4KPiArI2xpbmUgODc2ICJpbnNucy5kZWYiCj4gK3RydWU7Cj4gKyNsaW5lIDU3MTAg
Imluc25zX2luZm8uaW5jIgo+ICt9Cj4gKwo+ICsvKiBhdHRyIGJvb2wgbGVhZiBAIGxlYXZlKCko
dmFsKSh2YWwpICovCj4gK2Jvb2wKPiArYXR0cl9sZWFmX2xlYXZlKHZvaWQpCj4gK3sKPiArICAg
IHJldHVybgo+ICsjbGluZSA4NzUgImluc25zLmRlZiIKPiArZmFsc2U7Cj4gKyNsaW5lIDU3MjAg
Imluc25zX2luZm8uaW5jIgo+ICt9Cj4gKwo+ICsvKiBhdHRyIGNvbnN0IGNoYXIqIG5hbWUgQCBs
ZWF2ZSgpKHZhbCkodmFsKSAqLwo+ICtjb25zdCBjaGFyKgo+ICthdHRyX25hbWVfbGVhdmUodm9p
ZCkKPiArewo+ICsgICAgcmV0dXJuIGluc25fbmFtZShCSU4obGVhdmUpKTsKPiArfQo+ICsKPiAr
LyogYXR0ciByYl9udW1fdCBvcGVuIEAgbGVhdmUoKSh2YWwpKHZhbCkgKi8KPiArcmJfbnVtX3QK
PiArYXR0cl9vcGVuX2xlYXZlKHZvaWQpCj4gK3sKPiArICAgIHJldHVybiAwOwo+ICt9Cj4gKwo+
ICsvKiBhdHRyIHJiX251bV90IHBvcG4gQCBsZWF2ZSgpKHZhbCkodmFsKSAqLwo+ICtyYl9udW1f
dAo+ICthdHRyX3BvcG5fbGVhdmUodm9pZCkKPiArewo+ICsgICAgcmV0dXJuIDE7Cj4gK30KPiAr
Cj4gKy8qIGF0dHIgcmJfbnVtX3QgcmV0biBAIGxlYXZlKCkodmFsKSh2YWwpICovCj4gK3JiX251
bV90Cj4gK2F0dHJfcmV0bl9sZWF2ZSh2b2lkKQo+ICt7Cj4gKyAgICByZXR1cm4gMTsKPiArfQo+
ICsKPiArLyogYXR0ciByYl9zbnVtX3Qgc3BfaW5jIEAgbGVhdmUoKSh2YWwpKHZhbCkgKi8KPiAr
cmJfc251bV90Cj4gK2F0dHJfc3BfaW5jX2xlYXZlKHZvaWQpCj4gK3sKPiArICAgIHJldHVybiAw
Owo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHdpZHRoIEAgbGVhdmUoKSh2YWwpKHZhbCkg
Ki8KPiArcmJfbnVtX3QKPiArYXR0cl93aWR0aF9sZWF2ZSh2b2lkKQo+ICt7Cj4gKyAgICByZXR1
cm4gMTsKPiArfQo+ICsKPiArLyogYXR0ciBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYmluIEAgdGhy
b3codGhyb3dfc3RhdGUpKHRocm93b2JqKSh2YWwpICovCj4gK2VudW0gcnVieV92bWluc25fdHlw
ZQo+ICthdHRyX2Jpbl90aHJvdyhNQVlCRV9VTlVTRUQocmJfbnVtX3QgdGhyb3dfc3RhdGUpKQo+
ICt7Cj4gKyAgICByZXR1cm4gQklOKHRocm93KTsKPiArfQo+ICsKPiArLyogYXR0ciBib29sIGhh
bmRsZXNfc3AgQCB0aHJvdyh0aHJvd19zdGF0ZSkodGhyb3dvYmopKHZhbCkgKi8KPiArYm9vbAo+
ICthdHRyX2hhbmRsZXNfc3BfdGhyb3coTUFZQkVfVU5VU0VEKHJiX251bV90IHRocm93X3N0YXRl
KSkKPiArewo+ICsgICAgcmV0dXJuIGZhbHNlOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGJvb2wgbGVh
ZiBAIHRocm93KHRocm93X3N0YXRlKSh0aHJvd29iaikodmFsKSAqLwo+ICtib29sCj4gK2F0dHJf
bGVhZl90aHJvdyhNQVlCRV9VTlVTRUQocmJfbnVtX3QgdGhyb3dfc3RhdGUpKQo+ICt7Cj4gKyAg
ICByZXR1cm4KPiArI2xpbmUgOTExICJpbnNucy5kZWYiCj4gK2ZhbHNlOwo+ICsjbGluZSA1Nzg2
ICJpbnNuc19pbmZvLmluYyIKPiArfQo+ICsKPiArLyogYXR0ciBjb25zdCBjaGFyKiBuYW1lIEAg
dGhyb3codGhyb3dfc3RhdGUpKHRocm93b2JqKSh2YWwpICovCj4gK2NvbnN0IGNoYXIqCj4gK2F0
dHJfbmFtZV90aHJvdyhNQVlCRV9VTlVTRUQocmJfbnVtX3QgdGhyb3dfc3RhdGUpKQo+ICt7Cj4g
KyAgICByZXR1cm4gaW5zbl9uYW1lKEJJTih0aHJvdykpOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJi
X251bV90IG9wZW4gQCB0aHJvdyh0aHJvd19zdGF0ZSkodGhyb3dvYmopKHZhbCkgKi8KPiArcmJf
bnVtX3QKPiArYXR0cl9vcGVuX3Rocm93KE1BWUJFX1VOVVNFRChyYl9udW1fdCB0aHJvd19zdGF0
ZSkpCj4gK3sKPiArICAgIHJldHVybiAxOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHBv
cG4gQCB0aHJvdyh0aHJvd19zdGF0ZSkodGhyb3dvYmopKHZhbCkgKi8KPiArcmJfbnVtX3QKPiAr
YXR0cl9wb3BuX3Rocm93KE1BWUJFX1VOVVNFRChyYl9udW1fdCB0aHJvd19zdGF0ZSkpCj4gK3sK
PiArICAgIHJldHVybiAxOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHJldG4gQCB0aHJv
dyh0aHJvd19zdGF0ZSkodGhyb3dvYmopKHZhbCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl9yZXRu
X3Rocm93KE1BWUJFX1VOVVNFRChyYl9udW1fdCB0aHJvd19zdGF0ZSkpCj4gK3sKPiArICAgIHJl
dHVybiAxOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX3NudW1fdCBzcF9pbmMgQCB0aHJvdyh0aHJv
d19zdGF0ZSkodGhyb3dvYmopKHZhbCkgKi8KPiArcmJfc251bV90Cj4gK2F0dHJfc3BfaW5jX3Ro
cm93KE1BWUJFX1VOVVNFRChyYl9udW1fdCB0aHJvd19zdGF0ZSkpCj4gK3sKPiArICAgIHJldHVy
biAwOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHdpZHRoIEAgdGhyb3codGhyb3dfc3Rh
dGUpKHRocm93b2JqKSh2YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJfd2lkdGhfdGhyb3coTUFZ
QkVfVU5VU0VEKHJiX251bV90IHRocm93X3N0YXRlKSkKPiArewo+ICsgICAgcmV0dXJuIDI7Cj4g
K30KPiArCj4gKy8qIGF0dHIgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGJpbiBAIGp1bXAoZHN0KSgp
KCkgKi8KPiArZW51bSBydWJ5X3ZtaW5zbl90eXBlCj4gK2F0dHJfYmluX2p1bXAoTUFZQkVfVU5V
U0VEKE9GRlNFVCBkc3QpKQo+ICt7Cj4gKyAgICByZXR1cm4gQklOKGp1bXApOwo+ICt9Cj4gKwo+
ICsvKiBhdHRyIGJvb2wgaGFuZGxlc19zcCBAIGp1bXAoZHN0KSgpKCkgKi8KPiArYm9vbAo+ICth
dHRyX2hhbmRsZXNfc3BfanVtcChNQVlCRV9VTlVTRUQoT0ZGU0VUIGRzdCkpCj4gK3sKPiArICAg
IHJldHVybiBmYWxzZTsKPiArfQo+ICsKPiArLyogYXR0ciBib29sIGxlYWYgQCBqdW1wKGRzdCko
KSgpICovCj4gK2Jvb2wKPiArYXR0cl9sZWFmX2p1bXAoTUFZQkVfVU5VU0VEKE9GRlNFVCBkc3Qp
KQo+ICt7Cj4gKyAgICByZXR1cm4KPiArI2xpbmUgOTMwICJpbnNucy5kZWYiCj4gK2ZhbHNlOwo+
ICsjbGluZSA1ODUyICJpbnNuc19pbmZvLmluYyIKPiArfQo+ICsKPiArLyogYXR0ciBjb25zdCBj
aGFyKiBuYW1lIEAganVtcChkc3QpKCkoKSAqLwo+ICtjb25zdCBjaGFyKgo+ICthdHRyX25hbWVf
anVtcChNQVlCRV9VTlVTRUQoT0ZGU0VUIGRzdCkpCj4gK3sKPiArICAgIHJldHVybiBpbnNuX25h
bWUoQklOKGp1bXApKTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCBvcGVuIEAganVtcChk
c3QpKCkoKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX29wZW5fanVtcChNQVlCRV9VTlVTRUQoT0ZG
U0VUIGRzdCkpCj4gK3sKPiArICAgIHJldHVybiAxOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251
bV90IHBvcG4gQCBqdW1wKGRzdCkoKSgpICovCj4gK3JiX251bV90Cj4gK2F0dHJfcG9wbl9qdW1w
KE1BWUJFX1VOVVNFRChPRkZTRVQgZHN0KSkKPiArewo+ICsgICAgcmV0dXJuIDA7Cj4gK30KPiAr
Cj4gKy8qIGF0dHIgcmJfbnVtX3QgcmV0biBAIGp1bXAoZHN0KSgpKCkgKi8KPiArcmJfbnVtX3QK
PiArYXR0cl9yZXRuX2p1bXAoTUFZQkVfVU5VU0VEKE9GRlNFVCBkc3QpKQo+ICt7Cj4gKyAgICBy
ZXR1cm4gMDsKPiArfQo+ICsKPiArLyogYXR0ciByYl9zbnVtX3Qgc3BfaW5jIEAganVtcChkc3Qp
KCkoKSAqLwo+ICtyYl9zbnVtX3QKPiArYXR0cl9zcF9pbmNfanVtcChNQVlCRV9VTlVTRUQoT0ZG
U0VUIGRzdCkpCj4gK3sKPiArICAgIHJldHVybiAwOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251
bV90IHdpZHRoIEAganVtcChkc3QpKCkoKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3dpZHRoX2p1
bXAoTUFZQkVfVU5VU0VEKE9GRlNFVCBkc3QpKQo+ICt7Cj4gKyAgICByZXR1cm4gMjsKPiArfQo+
ICsKPiArLyogYXR0ciBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYmluIEAgYnJhbmNoaWYoZHN0KSh2
YWwpKCkgKi8KPiArZW51bSBydWJ5X3ZtaW5zbl90eXBlCj4gK2F0dHJfYmluX2JyYW5jaGlmKE1B
WUJFX1VOVVNFRChPRkZTRVQgZHN0KSkKPiArewo+ICsgICAgcmV0dXJuIEJJTihicmFuY2hpZik7
Cj4gK30KPiArCj4gKy8qIGF0dHIgYm9vbCBoYW5kbGVzX3NwIEAgYnJhbmNoaWYoZHN0KSh2YWwp
KCkgKi8KPiArYm9vbAo+ICthdHRyX2hhbmRsZXNfc3BfYnJhbmNoaWYoTUFZQkVfVU5VU0VEKE9G
RlNFVCBkc3QpKQo+ICt7Cj4gKyAgICByZXR1cm4gZmFsc2U7Cj4gK30KPiArCj4gKy8qIGF0dHIg
Ym9vbCBsZWFmIEAgYnJhbmNoaWYoZHN0KSh2YWwpKCkgKi8KPiArYm9vbAo+ICthdHRyX2xlYWZf
YnJhbmNoaWYoTUFZQkVfVU5VU0VEKE9GRlNFVCBkc3QpKQo+ICt7Cj4gKyAgICByZXR1cm4KPiAr
I2xpbmUgOTQzICJpbnNucy5kZWYiCj4gK2ZhbHNlOwo+ICsjbGluZSA1OTE4ICJpbnNuc19pbmZv
LmluYyIKPiArfQo+ICsKPiArLyogYXR0ciBjb25zdCBjaGFyKiBuYW1lIEAgYnJhbmNoaWYoZHN0
KSh2YWwpKCkgKi8KPiArY29uc3QgY2hhcioKPiArYXR0cl9uYW1lX2JyYW5jaGlmKE1BWUJFX1VO
VVNFRChPRkZTRVQgZHN0KSkKPiArewo+ICsgICAgcmV0dXJuIGluc25fbmFtZShCSU4oYnJhbmNo
aWYpKTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCBvcGVuIEAgYnJhbmNoaWYoZHN0KSh2
YWwpKCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl9vcGVuX2JyYW5jaGlmKE1BWUJFX1VOVVNFRChP
RkZTRVQgZHN0KSkKPiArewo+ICsgICAgcmV0dXJuIDE7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJf
bnVtX3QgcG9wbiBAIGJyYW5jaGlmKGRzdCkodmFsKSgpICovCj4gK3JiX251bV90Cj4gK2F0dHJf
cG9wbl9icmFuY2hpZihNQVlCRV9VTlVTRUQoT0ZGU0VUIGRzdCkpCj4gK3sKPiArICAgIHJldHVy
biAxOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHJldG4gQCBicmFuY2hpZihkc3QpKHZh
bCkoKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3JldG5fYnJhbmNoaWYoTUFZQkVfVU5VU0VEKE9G
RlNFVCBkc3QpKQo+ICt7Cj4gKyAgICByZXR1cm4gMDsKPiArfQo+ICsKPiArLyogYXR0ciByYl9z
bnVtX3Qgc3BfaW5jIEAgYnJhbmNoaWYoZHN0KSh2YWwpKCkgKi8KPiArcmJfc251bV90Cj4gK2F0
dHJfc3BfaW5jX2JyYW5jaGlmKE1BWUJFX1VOVVNFRChPRkZTRVQgZHN0KSkKPiArewo+ICsgICAg
cmV0dXJuIC0xOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHdpZHRoIEAgYnJhbmNoaWYo
ZHN0KSh2YWwpKCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl93aWR0aF9icmFuY2hpZihNQVlCRV9V
TlVTRUQoT0ZGU0VUIGRzdCkpCj4gK3sKPiArICAgIHJldHVybiAyOwo+ICt9Cj4gKwo+ICsvKiBh
dHRyIGVudW0gcnVieV92bWluc25fdHlwZSBiaW4gQCBicmFuY2h1bmxlc3MoZHN0KSh2YWwpKCkg
Ki8KPiArZW51bSBydWJ5X3ZtaW5zbl90eXBlCj4gK2F0dHJfYmluX2JyYW5jaHVubGVzcyhNQVlC
RV9VTlVTRUQoT0ZGU0VUIGRzdCkpCj4gK3sKPiArICAgIHJldHVybiBCSU4oYnJhbmNodW5sZXNz
KTsKPiArfQo+ICsKPiArLyogYXR0ciBib29sIGhhbmRsZXNfc3AgQCBicmFuY2h1bmxlc3MoZHN0
KSh2YWwpKCkgKi8KPiArYm9vbAo+ICthdHRyX2hhbmRsZXNfc3BfYnJhbmNodW5sZXNzKE1BWUJF
X1VOVVNFRChPRkZTRVQgZHN0KSkKPiArewo+ICsgICAgcmV0dXJuIGZhbHNlOwo+ICt9Cj4gKwo+
ICsvKiBhdHRyIGJvb2wgbGVhZiBAIGJyYW5jaHVubGVzcyhkc3QpKHZhbCkoKSAqLwo+ICtib29s
Cj4gK2F0dHJfbGVhZl9icmFuY2h1bmxlc3MoTUFZQkVfVU5VU0VEKE9GRlNFVCBkc3QpKQo+ICt7
Cj4gKyAgICByZXR1cm4KPiArI2xpbmUgOTU4ICJpbnNucy5kZWYiCj4gK2ZhbHNlOwo+ICsjbGlu
ZSA1OTg0ICJpbnNuc19pbmZvLmluYyIKPiArfQo+ICsKPiArLyogYXR0ciBjb25zdCBjaGFyKiBu
YW1lIEAgYnJhbmNodW5sZXNzKGRzdCkodmFsKSgpICovCj4gK2NvbnN0IGNoYXIqCj4gK2F0dHJf
bmFtZV9icmFuY2h1bmxlc3MoTUFZQkVfVU5VU0VEKE9GRlNFVCBkc3QpKQo+ICt7Cj4gKyAgICBy
ZXR1cm4gaW5zbl9uYW1lKEJJTihicmFuY2h1bmxlc3MpKTsKPiArfQo+ICsKPiArLyogYXR0ciBy
Yl9udW1fdCBvcGVuIEAgYnJhbmNodW5sZXNzKGRzdCkodmFsKSgpICovCj4gK3JiX251bV90Cj4g
K2F0dHJfb3Blbl9icmFuY2h1bmxlc3MoTUFZQkVfVU5VU0VEKE9GRlNFVCBkc3QpKQo+ICt7Cj4g
KyAgICByZXR1cm4gMTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCBwb3BuIEAgYnJhbmNo
dW5sZXNzKGRzdCkodmFsKSgpICovCj4gK3JiX251bV90Cj4gK2F0dHJfcG9wbl9icmFuY2h1bmxl
c3MoTUFZQkVfVU5VU0VEKE9GRlNFVCBkc3QpKQo+ICt7Cj4gKyAgICByZXR1cm4gMTsKPiArfQo+
ICsKPiArLyogYXR0ciByYl9udW1fdCByZXRuIEAgYnJhbmNodW5sZXNzKGRzdCkodmFsKSgpICov
Cj4gK3JiX251bV90Cj4gK2F0dHJfcmV0bl9icmFuY2h1bmxlc3MoTUFZQkVfVU5VU0VEKE9GRlNF
VCBkc3QpKQo+ICt7Cj4gKyAgICByZXR1cm4gMDsKPiArfQo+ICsKPiArLyogYXR0ciByYl9zbnVt
X3Qgc3BfaW5jIEAgYnJhbmNodW5sZXNzKGRzdCkodmFsKSgpICovCj4gK3JiX3NudW1fdAo+ICth
dHRyX3NwX2luY19icmFuY2h1bmxlc3MoTUFZQkVfVU5VU0VEKE9GRlNFVCBkc3QpKQo+ICt7Cj4g
KyAgICByZXR1cm4gLTE7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3Qgd2lkdGggQCBicmFu
Y2h1bmxlc3MoZHN0KSh2YWwpKCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl93aWR0aF9icmFuY2h1
bmxlc3MoTUFZQkVfVU5VU0VEKE9GRlNFVCBkc3QpKQo+ICt7Cj4gKyAgICByZXR1cm4gMjsKPiAr
fQo+ICsKPiArLyogYXR0ciBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYmluIEAgYnJhbmNobmlsKGRz
dCkodmFsKSgpICovCj4gK2VudW0gcnVieV92bWluc25fdHlwZQo+ICthdHRyX2Jpbl9icmFuY2hu
aWwoTUFZQkVfVU5VU0VEKE9GRlNFVCBkc3QpKQo+ICt7Cj4gKyAgICByZXR1cm4gQklOKGJyYW5j
aG5pbCk7Cj4gK30KPiArCj4gKy8qIGF0dHIgYm9vbCBoYW5kbGVzX3NwIEAgYnJhbmNobmlsKGRz
dCkodmFsKSgpICovCj4gK2Jvb2wKPiArYXR0cl9oYW5kbGVzX3NwX2JyYW5jaG5pbChNQVlCRV9V
TlVTRUQoT0ZGU0VUIGRzdCkpCj4gK3sKPiArICAgIHJldHVybiBmYWxzZTsKPiArfQo+ICsKPiAr
LyogYXR0ciBib29sIGxlYWYgQCBicmFuY2huaWwoZHN0KSh2YWwpKCkgKi8KPiArYm9vbAo+ICth
dHRyX2xlYWZfYnJhbmNobmlsKE1BWUJFX1VOVVNFRChPRkZTRVQgZHN0KSkKPiArewo+ICsgICAg
cmV0dXJuCj4gKyNsaW5lIDk3MyAiaW5zbnMuZGVmIgo+ICtmYWxzZTsKPiArI2xpbmUgNjA1MCAi
aW5zbnNfaW5mby5pbmMiCj4gK30KPiArCj4gKy8qIGF0dHIgY29uc3QgY2hhciogbmFtZSBAIGJy
YW5jaG5pbChkc3QpKHZhbCkoKSAqLwo+ICtjb25zdCBjaGFyKgo+ICthdHRyX25hbWVfYnJhbmNo
bmlsKE1BWUJFX1VOVVNFRChPRkZTRVQgZHN0KSkKPiArewo+ICsgICAgcmV0dXJuIGluc25fbmFt
ZShCSU4oYnJhbmNobmlsKSk7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3Qgb3BlbiBAIGJy
YW5jaG5pbChkc3QpKHZhbCkoKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX29wZW5fYnJhbmNobmls
KE1BWUJFX1VOVVNFRChPRkZTRVQgZHN0KSkKPiArewo+ICsgICAgcmV0dXJuIDE7Cj4gK30KPiAr
Cj4gKy8qIGF0dHIgcmJfbnVtX3QgcG9wbiBAIGJyYW5jaG5pbChkc3QpKHZhbCkoKSAqLwo+ICty
Yl9udW1fdAo+ICthdHRyX3BvcG5fYnJhbmNobmlsKE1BWUJFX1VOVVNFRChPRkZTRVQgZHN0KSkK
PiArewo+ICsgICAgcmV0dXJuIDE7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3QgcmV0biBA
IGJyYW5jaG5pbChkc3QpKHZhbCkoKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3JldG5fYnJhbmNo
bmlsKE1BWUJFX1VOVVNFRChPRkZTRVQgZHN0KSkKPiArewo+ICsgICAgcmV0dXJuIDA7Cj4gK30K
PiArCj4gKy8qIGF0dHIgcmJfc251bV90IHNwX2luYyBAIGJyYW5jaG5pbChkc3QpKHZhbCkoKSAq
Lwo+ICtyYl9zbnVtX3QKPiArYXR0cl9zcF9pbmNfYnJhbmNobmlsKE1BWUJFX1VOVVNFRChPRkZT
RVQgZHN0KSkKPiArewo+ICsgICAgcmV0dXJuIC0xOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251
bV90IHdpZHRoIEAgYnJhbmNobmlsKGRzdCkodmFsKSgpICovCj4gK3JiX251bV90Cj4gK2F0dHJf
d2lkdGhfYnJhbmNobmlsKE1BWUJFX1VOVVNFRChPRkZTRVQgZHN0KSkKPiArewo+ICsgICAgcmV0
dXJuIDI7Cj4gK30KPiArCj4gKy8qIGF0dHIgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGJpbiBAIG9w
dF9nZXRpbmxpbmVjYWNoZShkc3QsIGljKSgpKHZhbCkgKi8KPiArZW51bSBydWJ5X3ZtaW5zbl90
eXBlCj4gK2F0dHJfYmluX29wdF9nZXRpbmxpbmVjYWNoZSgKPiArICAgIE1BWUJFX1VOVVNFRChP
RkZTRVQgZHN0KSwKPiArICAgIE1BWUJFX1VOVVNFRChJQyBpYykKPiArKQo+ICt7Cj4gKyAgICBy
ZXR1cm4gQklOKG9wdF9nZXRpbmxpbmVjYWNoZSk7Cj4gK30KPiArCj4gKy8qIGF0dHIgYm9vbCBo
YW5kbGVzX3NwIEAgb3B0X2dldGlubGluZWNhY2hlKGRzdCwgaWMpKCkodmFsKSAqLwo+ICtib29s
Cj4gK2F0dHJfaGFuZGxlc19zcF9vcHRfZ2V0aW5saW5lY2FjaGUoCj4gKyAgICBNQVlCRV9VTlVT
RUQoT0ZGU0VUIGRzdCksCj4gKyAgICBNQVlCRV9VTlVTRUQoSUMgaWMpCj4gKykKPiArewo+ICsg
ICAgcmV0dXJuIGZhbHNlOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGJvb2wgbGVhZiBAIG9wdF9nZXRp
bmxpbmVjYWNoZShkc3QsIGljKSgpKHZhbCkgKi8KPiArYm9vbAo+ICthdHRyX2xlYWZfb3B0X2dl
dGlubGluZWNhY2hlKAo+ICsgICAgTUFZQkVfVU5VU0VEKE9GRlNFVCBkc3QpLAo+ICsgICAgTUFZ
QkVfVU5VU0VEKElDIGljKQo+ICspCj4gK3sKPiArICAgIHJldHVybiB0cnVlOwo+ICt9Cj4gKwo+
ICsvKiBhdHRyIGNvbnN0IGNoYXIqIG5hbWUgQCBvcHRfZ2V0aW5saW5lY2FjaGUoZHN0LCBpYyko
KSh2YWwpICovCj4gK2NvbnN0IGNoYXIqCj4gK2F0dHJfbmFtZV9vcHRfZ2V0aW5saW5lY2FjaGUo
Cj4gKyAgICBNQVlCRV9VTlVTRUQoT0ZGU0VUIGRzdCksCj4gKyAgICBNQVlCRV9VTlVTRUQoSUMg
aWMpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIGluc25fbmFtZShCSU4ob3B0X2dldGlubGluZWNh
Y2hlKSk7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3Qgb3BlbiBAIG9wdF9nZXRpbmxpbmVj
YWNoZShkc3QsIGljKSgpKHZhbCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl9vcGVuX29wdF9nZXRp
bmxpbmVjYWNoZSgKPiArICAgIE1BWUJFX1VOVVNFRChPRkZTRVQgZHN0KSwKPiArICAgIE1BWUJF
X1VOVVNFRChJQyBpYykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gMjsKPiArfQo+ICsKPiArLyog
YXR0ciByYl9udW1fdCBwb3BuIEAgb3B0X2dldGlubGluZWNhY2hlKGRzdCwgaWMpKCkodmFsKSAq
Lwo+ICtyYl9udW1fdAo+ICthdHRyX3BvcG5fb3B0X2dldGlubGluZWNhY2hlKAo+ICsgICAgTUFZ
QkVfVU5VU0VEKE9GRlNFVCBkc3QpLAo+ICsgICAgTUFZQkVfVU5VU0VEKElDIGljKQo+ICspCj4g
K3sKPiArICAgIHJldHVybiAwOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHJldG4gQCBv
cHRfZ2V0aW5saW5lY2FjaGUoZHN0LCBpYykoKSh2YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJf
cmV0bl9vcHRfZ2V0aW5saW5lY2FjaGUoCj4gKyAgICBNQVlCRV9VTlVTRUQoT0ZGU0VUIGRzdCks
Cj4gKyAgICBNQVlCRV9VTlVTRUQoSUMgaWMpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIDE7Cj4g
K30KPiArCj4gKy8qIGF0dHIgcmJfc251bV90IHNwX2luYyBAIG9wdF9nZXRpbmxpbmVjYWNoZShk
c3QsIGljKSgpKHZhbCkgKi8KPiArcmJfc251bV90Cj4gK2F0dHJfc3BfaW5jX29wdF9nZXRpbmxp
bmVjYWNoZSgKPiArICAgIE1BWUJFX1VOVVNFRChPRkZTRVQgZHN0KSwKPiArICAgIE1BWUJFX1VO
VVNFRChJQyBpYykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gMTsKPiArfQo+ICsKPiArLyogYXR0
ciByYl9udW1fdCB3aWR0aCBAIG9wdF9nZXRpbmxpbmVjYWNoZShkc3QsIGljKSgpKHZhbCkgKi8K
PiArcmJfbnVtX3QKPiArYXR0cl93aWR0aF9vcHRfZ2V0aW5saW5lY2FjaGUoCj4gKyAgICBNQVlC
RV9VTlVTRUQoT0ZGU0VUIGRzdCksCj4gKyAgICBNQVlCRV9VTlVTRUQoSUMgaWMpCj4gKykKPiAr
ewo+ICsgICAgcmV0dXJuIDM7Cj4gK30KPiArCj4gKy8qIGF0dHIgZW51bSBydWJ5X3ZtaW5zbl90
eXBlIGJpbiBAIG9wdF9zZXRpbmxpbmVjYWNoZShpYykodmFsKSh2YWwpICovCj4gK2VudW0gcnVi
eV92bWluc25fdHlwZQo+ICthdHRyX2Jpbl9vcHRfc2V0aW5saW5lY2FjaGUoTUFZQkVfVU5VU0VE
KElDIGljKSkKPiArewo+ICsgICAgcmV0dXJuIEJJTihvcHRfc2V0aW5saW5lY2FjaGUpOwo+ICt9
Cj4gKwo+ICsvKiBhdHRyIGJvb2wgaGFuZGxlc19zcCBAIG9wdF9zZXRpbmxpbmVjYWNoZShpYyko
dmFsKSh2YWwpICovCj4gK2Jvb2wKPiArYXR0cl9oYW5kbGVzX3NwX29wdF9zZXRpbmxpbmVjYWNo
ZShNQVlCRV9VTlVTRUQoSUMgaWMpKQo+ICt7Cj4gKyAgICByZXR1cm4gZmFsc2U7Cj4gK30KPiAr
Cj4gKy8qIGF0dHIgYm9vbCBsZWFmIEAgb3B0X3NldGlubGluZWNhY2hlKGljKSh2YWwpKHZhbCkg
Ki8KPiArYm9vbAo+ICthdHRyX2xlYWZfb3B0X3NldGlubGluZWNhY2hlKE1BWUJFX1VOVVNFRChJ
QyBpYykpCj4gK3sKPiArICAgIHJldHVybiB0cnVlOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGNvbnN0
IGNoYXIqIG5hbWUgQCBvcHRfc2V0aW5saW5lY2FjaGUoaWMpKHZhbCkodmFsKSAqLwo+ICtjb25z
dCBjaGFyKgo+ICthdHRyX25hbWVfb3B0X3NldGlubGluZWNhY2hlKE1BWUJFX1VOVVNFRChJQyBp
YykpCj4gK3sKPiArICAgIHJldHVybiBpbnNuX25hbWUoQklOKG9wdF9zZXRpbmxpbmVjYWNoZSkp
Owo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IG9wZW4gQCBvcHRfc2V0aW5saW5lY2FjaGUo
aWMpKHZhbCkodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX29wZW5fb3B0X3NldGlubGluZWNh
Y2hlKE1BWUJFX1VOVVNFRChJQyBpYykpCj4gK3sKPiArICAgIHJldHVybiAxOwo+ICt9Cj4gKwo+
ICsvKiBhdHRyIHJiX251bV90IHBvcG4gQCBvcHRfc2V0aW5saW5lY2FjaGUoaWMpKHZhbCkodmFs
KSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3BvcG5fb3B0X3NldGlubGluZWNhY2hlKE1BWUJFX1VO
VVNFRChJQyBpYykpCj4gK3sKPiArICAgIHJldHVybiAxOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJi
X251bV90IHJldG4gQCBvcHRfc2V0aW5saW5lY2FjaGUoaWMpKHZhbCkodmFsKSAqLwo+ICtyYl9u
dW1fdAo+ICthdHRyX3JldG5fb3B0X3NldGlubGluZWNhY2hlKE1BWUJFX1VOVVNFRChJQyBpYykp
Cj4gK3sKPiArICAgIHJldHVybiAxOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX3NudW1fdCBzcF9p
bmMgQCBvcHRfc2V0aW5saW5lY2FjaGUoaWMpKHZhbCkodmFsKSAqLwo+ICtyYl9zbnVtX3QKPiAr
YXR0cl9zcF9pbmNfb3B0X3NldGlubGluZWNhY2hlKE1BWUJFX1VOVVNFRChJQyBpYykpCj4gK3sK
PiArICAgIHJldHVybiAwOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHdpZHRoIEAgb3B0
X3NldGlubGluZWNhY2hlKGljKSh2YWwpKHZhbCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl93aWR0
aF9vcHRfc2V0aW5saW5lY2FjaGUoTUFZQkVfVU5VU0VEKElDIGljKSkKPiArewo+ICsgICAgcmV0
dXJuIDI7Cj4gK30KPiArCj4gKy8qIGF0dHIgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGJpbiBAIG9u
Y2UoaXNlcSwgaXNlKSgpKHZhbCkgKi8KPiArZW51bSBydWJ5X3ZtaW5zbl90eXBlCj4gK2F0dHJf
YmluX29uY2UoCj4gKyAgICBNQVlCRV9VTlVTRUQoSVNFUSBpc2VxKSwKPiArICAgIE1BWUJFX1VO
VVNFRChJU0UgaXNlKQo+ICspCj4gK3sKPiArICAgIHJldHVybiBCSU4ob25jZSk7Cj4gK30KPiAr
Cj4gKy8qIGF0dHIgYm9vbCBoYW5kbGVzX3NwIEAgb25jZShpc2VxLCBpc2UpKCkodmFsKSAqLwo+
ICtib29sCj4gK2F0dHJfaGFuZGxlc19zcF9vbmNlKAo+ICsgICAgTUFZQkVfVU5VU0VEKElTRVEg
aXNlcSksCj4gKyAgICBNQVlCRV9VTlVTRUQoSVNFIGlzZSkKPiArKQo+ICt7Cj4gKyAgICByZXR1
cm4gdHJ1ZTsKPiArfQo+ICsKPiArLyogYXR0ciBib29sIGxlYWYgQCBvbmNlKGlzZXEsIGlzZSko
KSh2YWwpICovCj4gK2Jvb2wKPiArYXR0cl9sZWFmX29uY2UoCj4gKyAgICBNQVlCRV9VTlVTRUQo
SVNFUSBpc2VxKSwKPiArICAgIE1BWUJFX1VOVVNFRChJU0UgaXNlKQo+ICspCj4gK3sKPiArICAg
IHJldHVybiBmYWxzZTsKPiArfQo+ICsKPiArLyogYXR0ciBjb25zdCBjaGFyKiBuYW1lIEAgb25j
ZShpc2VxLCBpc2UpKCkodmFsKSAqLwo+ICtjb25zdCBjaGFyKgo+ICthdHRyX25hbWVfb25jZSgK
PiArICAgIE1BWUJFX1VOVVNFRChJU0VRIGlzZXEpLAo+ICsgICAgTUFZQkVfVU5VU0VEKElTRSBp
c2UpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIGluc25fbmFtZShCSU4ob25jZSkpOwo+ICt9Cj4g
Kwo+ICsvKiBhdHRyIHJiX251bV90IG9wZW4gQCBvbmNlKGlzZXEsIGlzZSkoKSh2YWwpICovCj4g
K3JiX251bV90Cj4gK2F0dHJfb3Blbl9vbmNlKAo+ICsgICAgTUFZQkVfVU5VU0VEKElTRVEgaXNl
cSksCj4gKyAgICBNQVlCRV9VTlVTRUQoSVNFIGlzZSkKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4g
MjsKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCBwb3BuIEAgb25jZShpc2VxLCBpc2UpKCko
dmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3BvcG5fb25jZSgKPiArICAgIE1BWUJFX1VOVVNF
RChJU0VRIGlzZXEpLAo+ICsgICAgTUFZQkVfVU5VU0VEKElTRSBpc2UpCj4gKykKPiArewo+ICsg
ICAgcmV0dXJuIDA7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3QgcmV0biBAIG9uY2UoaXNl
cSwgaXNlKSgpKHZhbCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl9yZXRuX29uY2UoCj4gKyAgICBN
QVlCRV9VTlVTRUQoSVNFUSBpc2VxKSwKPiArICAgIE1BWUJFX1VOVVNFRChJU0UgaXNlKQo+ICsp
Cj4gK3sKPiArICAgIHJldHVybiAxOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX3NudW1fdCBzcF9p
bmMgQCBvbmNlKGlzZXEsIGlzZSkoKSh2YWwpICovCj4gK3JiX3NudW1fdAo+ICthdHRyX3NwX2lu
Y19vbmNlKAo+ICsgICAgTUFZQkVfVU5VU0VEKElTRVEgaXNlcSksCj4gKyAgICBNQVlCRV9VTlVT
RUQoSVNFIGlzZSkKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gMTsKPiArfQo+ICsKPiArLyogYXR0
ciByYl9udW1fdCB3aWR0aCBAIG9uY2UoaXNlcSwgaXNlKSgpKHZhbCkgKi8KPiArcmJfbnVtX3QK
PiArYXR0cl93aWR0aF9vbmNlKAo+ICsgICAgTUFZQkVfVU5VU0VEKElTRVEgaXNlcSksCj4gKyAg
ICBNQVlCRV9VTlVTRUQoSVNFIGlzZSkKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gMzsKPiArfQo+
ICsKPiArLyogYXR0ciBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYmluIEAgb3B0X2Nhc2VfZGlzcGF0
Y2goaGFzaCwgZWxzZV9vZmZzZXQpKC4uLiwga2V5KSgpICovCj4gK2VudW0gcnVieV92bWluc25f
dHlwZQo+ICthdHRyX2Jpbl9vcHRfY2FzZV9kaXNwYXRjaCgKPiArICAgIE1BWUJFX1VOVVNFRChD
REhBU0ggaGFzaCksCj4gKyAgICBNQVlCRV9VTlVTRUQoT0ZGU0VUIGVsc2Vfb2Zmc2V0KQo+ICsp
Cj4gK3sKPiArICAgIHJldHVybiBCSU4ob3B0X2Nhc2VfZGlzcGF0Y2gpOwo+ICt9Cj4gKwo+ICsv
KiBhdHRyIGJvb2wgaGFuZGxlc19zcCBAIG9wdF9jYXNlX2Rpc3BhdGNoKGhhc2gsIGVsc2Vfb2Zm
c2V0KSguLi4sIGtleSkoKSAqLwo+ICtib29sCj4gK2F0dHJfaGFuZGxlc19zcF9vcHRfY2FzZV9k
aXNwYXRjaCgKPiArICAgIE1BWUJFX1VOVVNFRChDREhBU0ggaGFzaCksCj4gKyAgICBNQVlCRV9V
TlVTRUQoT0ZGU0VUIGVsc2Vfb2Zmc2V0KQo+ICspCj4gK3sKPiArICAgIHJldHVybiBmYWxzZTsK
PiArfQo+ICsKPiArLyogYXR0ciBib29sIGxlYWYgQCBvcHRfY2FzZV9kaXNwYXRjaChoYXNoLCBl
bHNlX29mZnNldCkoLi4uLCBrZXkpKCkgKi8KPiArYm9vbAo+ICthdHRyX2xlYWZfb3B0X2Nhc2Vf
ZGlzcGF0Y2goCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0RIQVNIIGhhc2gpLAo+ICsgICAgTUFZQkVf
VU5VU0VEKE9GRlNFVCBlbHNlX29mZnNldCkKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gdHJ1ZTsK
PiArfQo+ICsKPiArLyogYXR0ciBjb25zdCBjaGFyKiBuYW1lIEAgb3B0X2Nhc2VfZGlzcGF0Y2go
aGFzaCwgZWxzZV9vZmZzZXQpKC4uLiwga2V5KSgpICovCj4gK2NvbnN0IGNoYXIqCj4gK2F0dHJf
bmFtZV9vcHRfY2FzZV9kaXNwYXRjaCgKPiArICAgIE1BWUJFX1VOVVNFRChDREhBU0ggaGFzaCks
Cj4gKyAgICBNQVlCRV9VTlVTRUQoT0ZGU0VUIGVsc2Vfb2Zmc2V0KQo+ICspCj4gK3sKPiArICAg
IHJldHVybiBpbnNuX25hbWUoQklOKG9wdF9jYXNlX2Rpc3BhdGNoKSk7Cj4gK30KPiArCj4gKy8q
IGF0dHIgcmJfbnVtX3Qgb3BlbiBAIG9wdF9jYXNlX2Rpc3BhdGNoKGhhc2gsIGVsc2Vfb2Zmc2V0
KSguLi4sIGtleSkoKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX29wZW5fb3B0X2Nhc2VfZGlzcGF0
Y2goCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0RIQVNIIGhhc2gpLAo+ICsgICAgTUFZQkVfVU5VU0VE
KE9GRlNFVCBlbHNlX29mZnNldCkKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gMjsKPiArfQo+ICsK
PiArLyogYXR0ciByYl9udW1fdCBwb3BuIEAgb3B0X2Nhc2VfZGlzcGF0Y2goaGFzaCwgZWxzZV9v
ZmZzZXQpKC4uLiwga2V5KSgpICovCj4gK3JiX251bV90Cj4gK2F0dHJfcG9wbl9vcHRfY2FzZV9k
aXNwYXRjaCgKPiArICAgIE1BWUJFX1VOVVNFRChDREhBU0ggaGFzaCksCj4gKyAgICBNQVlCRV9V
TlVTRUQoT0ZGU0VUIGVsc2Vfb2Zmc2V0KQo+ICspCj4gK3sKPiArICAgIHJldHVybiAxOwo+ICt9
Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHJldG4gQCBvcHRfY2FzZV9kaXNwYXRjaChoYXNoLCBl
bHNlX29mZnNldCkoLi4uLCBrZXkpKCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl9yZXRuX29wdF9j
YXNlX2Rpc3BhdGNoKAo+ICsgICAgTUFZQkVfVU5VU0VEKENESEFTSCBoYXNoKSwKPiArICAgIE1B
WUJFX1VOVVNFRChPRkZTRVQgZWxzZV9vZmZzZXQpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIDA7
Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfc251bV90IHNwX2luYyBAIG9wdF9jYXNlX2Rpc3BhdGNo
KGhhc2gsIGVsc2Vfb2Zmc2V0KSguLi4sIGtleSkoKSAqLwo+ICtyYl9zbnVtX3QKPiArYXR0cl9z
cF9pbmNfb3B0X2Nhc2VfZGlzcGF0Y2goCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0RIQVNIIGhhc2gp
LAo+ICsgICAgTUFZQkVfVU5VU0VEKE9GRlNFVCBlbHNlX29mZnNldCkKPiArKQo+ICt7Cj4gKyAg
ICByZXR1cm4KPiArI2xpbmUgMTAyNyAiaW5zbnMuZGVmIgo+ICstMTsKPiArI2xpbmUgNjQxOCAi
aW5zbnNfaW5mby5pbmMiCj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3Qgd2lkdGggQCBvcHRf
Y2FzZV9kaXNwYXRjaChoYXNoLCBlbHNlX29mZnNldCkoLi4uLCBrZXkpKCkgKi8KPiArcmJfbnVt
X3QKPiArYXR0cl93aWR0aF9vcHRfY2FzZV9kaXNwYXRjaCgKPiArICAgIE1BWUJFX1VOVVNFRChD
REhBU0ggaGFzaCksCj4gKyAgICBNQVlCRV9VTlVTRUQoT0ZGU0VUIGVsc2Vfb2Zmc2V0KQo+ICsp
Cj4gK3sKPiArICAgIHJldHVybiAzOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGVudW0gcnVieV92bWlu
c25fdHlwZSBiaW4gQCBvcHRfcGx1cyhjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLwo+ICtlbnVt
IHJ1Ynlfdm1pbnNuX3R5cGUKPiArYXR0cl9iaW5fb3B0X3BsdXMoCj4gKyAgICBNQVlCRV9VTlVT
RUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICsp
Cj4gK3sKPiArICAgIHJldHVybiBCSU4ob3B0X3BsdXMpOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGJv
b2wgaGFuZGxlc19zcCBAIG9wdF9wbHVzKGNpLCBjYykocmVjdiwgb2JqKSh2YWwpICovCj4gK2Jv
b2wKPiArYXR0cl9oYW5kbGVzX3NwX29wdF9wbHVzKAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExf
SU5GTyBjaSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKPiArKQo+ICt7Cj4g
KyAgICByZXR1cm4gZmFsc2U7Cj4gK30KPiArCj4gKy8qIGF0dHIgYm9vbCBsZWFmIEAgb3B0X3Bs
dXMoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KPiArYm9vbAo+ICthdHRyX2xlYWZfb3B0X3Bs
dXMoCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNF
RChDQUxMX0NBQ0hFIGNjKQo+ICspCj4gK3sKPiArICAgIHJldHVybgo+ICsjbGluZSAxMDQ2ICJp
bnNucy5kZWYiCj4gK2ZhbHNlOwo+ICsjbGluZSA2NDYxICJpbnNuc19pbmZvLmluYyIKPiArfQo+
ICsKPiArLyogYXR0ciBjb25zdCBjaGFyKiBuYW1lIEAgb3B0X3BsdXMoY2ksIGNjKShyZWN2LCBv
YmopKHZhbCkgKi8KPiArY29uc3QgY2hhcioKPiArYXR0cl9uYW1lX29wdF9wbHVzKAo+ICsgICAg
TUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNI
RSBjYykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gaW5zbl9uYW1lKEJJTihvcHRfcGx1cykpOwo+
ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IG9wZW4gQCBvcHRfcGx1cyhjaSwgY2MpKHJlY3Ys
IG9iaikodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX29wZW5fb3B0X3BsdXMoCj4gKyAgICBN
QVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hF
IGNjKQo+ICspCj4gK3sKPiArICAgIHJldHVybiAyOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251
bV90IHBvcG4gQCBvcHRfcGx1cyhjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLwo+ICtyYl9udW1f
dAo+ICthdHRyX3BvcG5fb3B0X3BsdXMoCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNp
KSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICspCj4gK3sKPiArICAgIHJl
dHVybiAyOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHJldG4gQCBvcHRfcGx1cyhjaSwg
Y2MpKHJlY3YsIG9iaikodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3JldG5fb3B0X3BsdXMo
Cj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChD
QUxMX0NBQ0hFIGNjKQo+ICspCj4gK3sKPiArICAgIHJldHVybiAxOwo+ICt9Cj4gKwo+ICsvKiBh
dHRyIHJiX3NudW1fdCBzcF9pbmMgQCBvcHRfcGx1cyhjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAq
Lwo+ICtyYl9zbnVtX3QKPiArYXR0cl9zcF9pbmNfb3B0X3BsdXMoCj4gKyAgICBNQVlCRV9VTlVT
RUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICsp
Cj4gK3sKPiArICAgIHJldHVybiAtMTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCB3aWR0
aCBAIG9wdF9wbHVzKGNpLCBjYykocmVjdiwgb2JqKSh2YWwpICovCj4gK3JiX251bV90Cj4gK2F0
dHJfd2lkdGhfb3B0X3BsdXMoCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiAr
ICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICspCj4gK3sKPiArICAgIHJldHVybiAz
Owo+ICt9Cj4gKwo+ICsvKiBhdHRyIGVudW0gcnVieV92bWluc25fdHlwZSBiaW4gQCBvcHRfbWlu
dXMoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KPiArZW51bSBydWJ5X3ZtaW5zbl90eXBlCj4g
K2F0dHJfYmluX29wdF9taW51cygKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAo+
ICsgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCj4gKykKPiArewo+ICsgICAgcmV0dXJu
IEJJTihvcHRfbWludXMpOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGJvb2wgaGFuZGxlc19zcCBAIG9w
dF9taW51cyhjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLwo+ICtib29sCj4gK2F0dHJfaGFuZGxl
c19zcF9vcHRfbWludXMoCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiArICAg
IE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICspCj4gK3sKPiArICAgIHJldHVybiBmYWxz
ZTsKPiArfQo+ICsKPiArLyogYXR0ciBib29sIGxlYWYgQCBvcHRfbWludXMoY2ksIGNjKShyZWN2
LCBvYmopKHZhbCkgKi8KPiArYm9vbAo+ICthdHRyX2xlYWZfb3B0X21pbnVzKAo+ICsgICAgTUFZ
QkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBj
YykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gdHJ1ZTsKPiArfQo+ICsKPiArLyogYXR0ciBjb25z
dCBjaGFyKiBuYW1lIEAgb3B0X21pbnVzKGNpLCBjYykocmVjdiwgb2JqKSh2YWwpICovCj4gK2Nv
bnN0IGNoYXIqCj4gK2F0dHJfbmFtZV9vcHRfbWludXMoCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FM
TF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICspCj4gK3sK
PiArICAgIHJldHVybiBpbnNuX25hbWUoQklOKG9wdF9taW51cykpOwo+ICt9Cj4gKwo+ICsvKiBh
dHRyIHJiX251bV90IG9wZW4gQCBvcHRfbWludXMoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8K
PiArcmJfbnVtX3QKPiArYXR0cl9vcGVuX29wdF9taW51cygKPiArICAgIE1BWUJFX1VOVVNFRChD
QUxMX0lORk8gY2kpLAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCj4gKykKPiAr
ewo+ICsgICAgcmV0dXJuIDI7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3QgcG9wbiBAIG9w
dF9taW51cyhjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3Bv
cG5fb3B0X21pbnVzKAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBN
QVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gMjsKPiAr
fQo+ICsKPiArLyogYXR0ciByYl9udW1fdCByZXRuIEAgb3B0X21pbnVzKGNpLCBjYykocmVjdiwg
b2JqKSh2YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJfcmV0bl9vcHRfbWludXMoCj4gKyAgICBN
QVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hF
IGNjKQo+ICspCj4gK3sKPiArICAgIHJldHVybiAxOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX3Nu
dW1fdCBzcF9pbmMgQCBvcHRfbWludXMoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KPiArcmJf
c251bV90Cj4gK2F0dHJfc3BfaW5jX29wdF9taW51cygKPiArICAgIE1BWUJFX1VOVVNFRChDQUxM
X0lORk8gY2kpLAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCj4gKykKPiArewo+
ICsgICAgcmV0dXJuIC0xOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHdpZHRoIEAgb3B0
X21pbnVzKGNpLCBjYykocmVjdiwgb2JqKSh2YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJfd2lk
dGhfb3B0X21pbnVzKAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBN
QVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gMzsKPiAr
fQo+ICsKPiArLyogYXR0ciBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYmluIEAgb3B0X211bHQoY2ks
IGNjKShyZWN2LCBvYmopKHZhbCkgKi8KPiArZW51bSBydWJ5X3ZtaW5zbl90eXBlCj4gK2F0dHJf
YmluX29wdF9tdWx0KAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBN
QVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gQklOKG9w
dF9tdWx0KTsKPiArfQo+ICsKPiArLyogYXR0ciBib29sIGhhbmRsZXNfc3AgQCBvcHRfbXVsdChj
aSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLwo+ICtib29sCj4gK2F0dHJfaGFuZGxlc19zcF9vcHRf
bXVsdCgKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAo+ICsgICAgTUFZQkVfVU5V
U0VEKENBTExfQ0FDSEUgY2MpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIGZhbHNlOwo+ICt9Cj4g
Kwo+ICsvKiBhdHRyIGJvb2wgbGVhZiBAIG9wdF9tdWx0KGNpLCBjYykocmVjdiwgb2JqKSh2YWwp
ICovCj4gK2Jvb2wKPiArYXR0cl9sZWFmX29wdF9tdWx0KAo+ICsgICAgTUFZQkVfVU5VU0VEKENB
TExfSU5GTyBjaSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKPiArKQo+ICt7
Cj4gKyAgICByZXR1cm4gdHJ1ZTsKPiArfQo+ICsKPiArLyogYXR0ciBjb25zdCBjaGFyKiBuYW1l
IEAgb3B0X211bHQoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KPiArY29uc3QgY2hhcioKPiAr
YXR0cl9uYW1lX29wdF9tdWx0KAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4g
KyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4g
aW5zbl9uYW1lKEJJTihvcHRfbXVsdCkpOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IG9w
ZW4gQCBvcHRfbXVsdChjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLwo+ICtyYl9udW1fdAo+ICth
dHRyX29wZW5fb3B0X211bHQoCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiAr
ICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICspCj4gK3sKPiArICAgIHJldHVybiAy
Owo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHBvcG4gQCBvcHRfbXVsdChjaSwgY2MpKHJl
Y3YsIG9iaikodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3BvcG5fb3B0X211bHQoCj4gKyAg
ICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NB
Q0hFIGNjKQo+ICspCj4gK3sKPiArICAgIHJldHVybiAyOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJi
X251bV90IHJldG4gQCBvcHRfbXVsdChjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLwo+ICtyYl9u
dW1fdAo+ICthdHRyX3JldG5fb3B0X211bHQoCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZP
IGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICspCj4gK3sKPiArICAg
IHJldHVybiAxOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX3NudW1fdCBzcF9pbmMgQCBvcHRfbXVs
dChjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLwo+ICtyYl9zbnVtX3QKPiArYXR0cl9zcF9pbmNf
b3B0X211bHQoCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJF
X1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICspCj4gK3sKPiArICAgIHJldHVybiAtMTsKPiArfQo+
ICsKPiArLyogYXR0ciByYl9udW1fdCB3aWR0aCBAIG9wdF9tdWx0KGNpLCBjYykocmVjdiwgb2Jq
KSh2YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJfd2lkdGhfb3B0X211bHQoCj4gKyAgICBNQVlC
RV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNj
KQo+ICspCj4gK3sKPiArICAgIHJldHVybiAzOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGVudW0gcnVi
eV92bWluc25fdHlwZSBiaW4gQCBvcHRfZGl2KGNpLCBjYykocmVjdiwgb2JqKSh2YWwpICovCj4g
K2VudW0gcnVieV92bWluc25fdHlwZQo+ICthdHRyX2Jpbl9vcHRfZGl2KAo+ICsgICAgTUFZQkVf
VU5VU0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykK
PiArKQo+ICt7Cj4gKyAgICByZXR1cm4gQklOKG9wdF9kaXYpOwo+ICt9Cj4gKwo+ICsvKiBhdHRy
IGJvb2wgaGFuZGxlc19zcCBAIG9wdF9kaXYoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KPiAr
Ym9vbAo+ICthdHRyX2hhbmRsZXNfc3Bfb3B0X2RpdigKPiArICAgIE1BWUJFX1VOVVNFRChDQUxM
X0lORk8gY2kpLAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCj4gKykKPiArewo+
ICsgICAgcmV0dXJuIGZhbHNlOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGJvb2wgbGVhZiBAIG9wdF9k
aXYoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KPiArYm9vbAo+ICthdHRyX2xlYWZfb3B0X2Rp
digKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAo+ICsgICAgTUFZQkVfVU5VU0VE
KENBTExfQ0FDSEUgY2MpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIHRydWU7Cj4gK30KPiArCj4g
Ky8qIGF0dHIgY29uc3QgY2hhciogbmFtZSBAIG9wdF9kaXYoY2ksIGNjKShyZWN2LCBvYmopKHZh
bCkgKi8KPiArY29uc3QgY2hhcioKPiArYXR0cl9uYW1lX29wdF9kaXYoCj4gKyAgICBNQVlCRV9V
TlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+
ICspCj4gK3sKPiArICAgIHJldHVybiBpbnNuX25hbWUoQklOKG9wdF9kaXYpKTsKPiArfQo+ICsK
PiArLyogYXR0ciByYl9udW1fdCBvcGVuIEAgb3B0X2RpdihjaSwgY2MpKHJlY3YsIG9iaikodmFs
KSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX29wZW5fb3B0X2RpdigKPiArICAgIE1BWUJFX1VOVVNF
RChDQUxMX0lORk8gY2kpLAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCj4gKykK
PiArewo+ICsgICAgcmV0dXJuIDI7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3QgcG9wbiBA
IG9wdF9kaXYoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl9w
b3BuX29wdF9kaXYoCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1B
WUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICspCj4gK3sKPiArICAgIHJldHVybiAyOwo+ICt9
Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHJldG4gQCBvcHRfZGl2KGNpLCBjYykocmVjdiwgb2Jq
KSh2YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJfcmV0bl9vcHRfZGl2KAo+ICsgICAgTUFZQkVf
VU5VU0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykK
PiArKQo+ICt7Cj4gKyAgICByZXR1cm4gMTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9zbnVtX3Qg
c3BfaW5jIEAgb3B0X2RpdihjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLwo+ICtyYl9zbnVtX3QK
PiArYXR0cl9zcF9pbmNfb3B0X2RpdigKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kp
LAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCj4gKykKPiArewo+ICsgICAgcmV0
dXJuIC0xOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHdpZHRoIEAgb3B0X2RpdihjaSwg
Y2MpKHJlY3YsIG9iaikodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3dpZHRoX29wdF9kaXYo
Cj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChD
QUxMX0NBQ0hFIGNjKQo+ICspCj4gK3sKPiArICAgIHJldHVybiAzOwo+ICt9Cj4gKwo+ICsvKiBh
dHRyIGVudW0gcnVieV92bWluc25fdHlwZSBiaW4gQCBvcHRfbW9kKGNpLCBjYykocmVjdiwgb2Jq
KSh2YWwpICovCj4gK2VudW0gcnVieV92bWluc25fdHlwZQo+ICthdHRyX2Jpbl9vcHRfbW9kKAo+
ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FM
TF9DQUNIRSBjYykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gQklOKG9wdF9tb2QpOwo+ICt9Cj4g
Kwo+ICsvKiBhdHRyIGJvb2wgaGFuZGxlc19zcCBAIG9wdF9tb2QoY2ksIGNjKShyZWN2LCBvYmop
KHZhbCkgKi8KPiArYm9vbAo+ICthdHRyX2hhbmRsZXNfc3Bfb3B0X21vZCgKPiArICAgIE1BWUJF
X1VOVVNFRChDQUxMX0lORk8gY2kpLAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2Mp
Cj4gKykKPiArewo+ICsgICAgcmV0dXJuIGZhbHNlOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGJvb2wg
bGVhZiBAIG9wdF9tb2QoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KPiArYm9vbAo+ICthdHRy
X2xlYWZfb3B0X21vZCgKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAo+ICsgICAg
TUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIHRydWU7
Cj4gK30KPiArCj4gKy8qIGF0dHIgY29uc3QgY2hhciogbmFtZSBAIG9wdF9tb2QoY2ksIGNjKShy
ZWN2LCBvYmopKHZhbCkgKi8KPiArY29uc3QgY2hhcioKPiArYXR0cl9uYW1lX29wdF9tb2QoCj4g
KyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxM
X0NBQ0hFIGNjKQo+ICspCj4gK3sKPiArICAgIHJldHVybiBpbnNuX25hbWUoQklOKG9wdF9tb2Qp
KTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCBvcGVuIEAgb3B0X21vZChjaSwgY2MpKHJl
Y3YsIG9iaikodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX29wZW5fb3B0X21vZCgKPiArICAg
IE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FD
SEUgY2MpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIDI7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJf
bnVtX3QgcG9wbiBAIG9wdF9tb2QoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KPiArcmJfbnVt
X3QKPiArYXR0cl9wb3BuX29wdF9tb2QoCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNp
KSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICspCj4gK3sKPiArICAgIHJl
dHVybiAyOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHJldG4gQCBvcHRfbW9kKGNpLCBj
YykocmVjdiwgb2JqKSh2YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJfcmV0bl9vcHRfbW9kKAo+
ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FM
TF9DQUNIRSBjYykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gMTsKPiArfQo+ICsKPiArLyogYXR0
ciByYl9zbnVtX3Qgc3BfaW5jIEAgb3B0X21vZChjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLwo+
ICtyYl9zbnVtX3QKPiArYXR0cl9zcF9pbmNfb3B0X21vZCgKPiArICAgIE1BWUJFX1VOVVNFRChD
QUxMX0lORk8gY2kpLAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCj4gKykKPiAr
ewo+ICsgICAgcmV0dXJuIC0xOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHdpZHRoIEAg
b3B0X21vZChjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3dp
ZHRoX29wdF9tb2QoCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1B
WUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICspCj4gK3sKPiArICAgIHJldHVybiAzOwo+ICt9
Cj4gKwo+ICsvKiBhdHRyIGVudW0gcnVieV92bWluc25fdHlwZSBiaW4gQCBvcHRfZXEoY2ksIGNj
KShyZWN2LCBvYmopKHZhbCkgKi8KPiArZW51bSBydWJ5X3ZtaW5zbl90eXBlCj4gK2F0dHJfYmlu
X29wdF9lcSgKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAo+ICsgICAgTUFZQkVf
VU5VU0VEKENBTExfQ0FDSEUgY2MpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIEJJTihvcHRfZXEp
Owo+ICt9Cj4gKwo+ICsvKiBhdHRyIGJvb2wgaGFuZGxlc19zcCBAIG9wdF9lcShjaSwgY2MpKHJl
Y3YsIG9iaikodmFsKSAqLwo+ICtib29sCj4gK2F0dHJfaGFuZGxlc19zcF9vcHRfZXEoCj4gKyAg
ICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NB
Q0hFIGNjKQo+ICspCj4gK3sKPiArICAgIHJldHVybiBmYWxzZTsKPiArfQo+ICsKPiArLyogYXR0
ciBib29sIGxlYWYgQCBvcHRfZXEoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KPiArYm9vbAo+
ICthdHRyX2xlYWZfb3B0X2VxKAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4g
KyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4K
PiArI2xpbmUgMTEyMCAiaW5zbnMuZGVmIgo+ICtmYWxzZTsKPiArI2xpbmUgNjkxNCAiaW5zbnNf
aW5mby5pbmMiCj4gK30KPiArCj4gKy8qIGF0dHIgY29uc3QgY2hhciogbmFtZSBAIG9wdF9lcShj
aSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLwo+ICtjb25zdCBjaGFyKgo+ICthdHRyX25hbWVfb3B0
X2VxKAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBNQVlCRV9VTlVT
RUQoQ0FMTF9DQUNIRSBjYykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gaW5zbl9uYW1lKEJJTihv
cHRfZXEpKTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCBvcGVuIEAgb3B0X2VxKGNpLCBj
YykocmVjdiwgb2JqKSh2YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJfb3Blbl9vcHRfZXEoCj4g
KyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxM
X0NBQ0hFIGNjKQo+ICspCj4gK3sKPiArICAgIHJldHVybiAyOwo+ICt9Cj4gKwo+ICsvKiBhdHRy
IHJiX251bV90IHBvcG4gQCBvcHRfZXEoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KPiArcmJf
bnVtX3QKPiArYXR0cl9wb3BuX29wdF9lcSgKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8g
Y2kpLAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCj4gKykKPiArewo+ICsgICAg
cmV0dXJuIDI7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3QgcmV0biBAIG9wdF9lcShjaSwg
Y2MpKHJlY3YsIG9iaikodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3JldG5fb3B0X2VxKAo+
ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FM
TF9DQUNIRSBjYykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gMTsKPiArfQo+ICsKPiArLyogYXR0
ciByYl9zbnVtX3Qgc3BfaW5jIEAgb3B0X2VxKGNpLCBjYykocmVjdiwgb2JqKSh2YWwpICovCj4g
K3JiX3NudW1fdAo+ICthdHRyX3NwX2luY19vcHRfZXEoCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FM
TF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICspCj4gK3sK
PiArICAgIHJldHVybiAtMTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCB3aWR0aCBAIG9w
dF9lcShjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3dpZHRo
X29wdF9lcSgKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAo+ICsgICAgTUFZQkVf
VU5VU0VEKENBTExfQ0FDSEUgY2MpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIDM7Cj4gK30KPiAr
Cj4gKy8qIGF0dHIgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGJpbiBAIG9wdF9uZXEoY2lfZXEsIGNj
X2VxLCBjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLwo+ICtlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUK
PiArYXR0cl9iaW5fb3B0X25lcSgKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2lfZXEp
LAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2NfZXEpLAo+ICsgICAgTUFZQkVfVU5V
U0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKPiAr
KQo+ICt7Cj4gKyAgICByZXR1cm4gQklOKG9wdF9uZXEpOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGJv
b2wgaGFuZGxlc19zcCBAIG9wdF9uZXEoY2lfZXEsIGNjX2VxLCBjaSwgY2MpKHJlY3YsIG9iaiko
dmFsKSAqLwo+ICtib29sCj4gK2F0dHJfaGFuZGxlc19zcF9vcHRfbmVxKAo+ICsgICAgTUFZQkVf
VU5VU0VEKENBTExfSU5GTyBjaV9lcSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBj
Y19lcSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VO
VVNFRChDQUxMX0NBQ0hFIGNjKQo+ICspCj4gK3sKPiArICAgIHJldHVybiBmYWxzZTsKPiArfQo+
ICsKPiArLyogYXR0ciBib29sIGxlYWYgQCBvcHRfbmVxKGNpX2VxLCBjY19lcSwgY2ksIGNjKShy
ZWN2LCBvYmopKHZhbCkgKi8KPiArYm9vbAo+ICthdHRyX2xlYWZfb3B0X25lcSgKPiArICAgIE1B
WUJFX1VOVVNFRChDQUxMX0lORk8gY2lfZXEpLAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FD
SEUgY2NfZXEpLAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBNQVlC
RV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4KPiArI2xpbmUg
MTEzNiAiaW5zbnMuZGVmIgo+ICtmYWxzZTsKPiArI2xpbmUgNzAxMyAiaW5zbnNfaW5mby5pbmMi
Cj4gK30KPiArCj4gKy8qIGF0dHIgY29uc3QgY2hhciogbmFtZSBAIG9wdF9uZXEoY2lfZXEsIGNj
X2VxLCBjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLwo+ICtjb25zdCBjaGFyKgo+ICthdHRyX25h
bWVfb3B0X25lcSgKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2lfZXEpLAo+ICsgICAg
TUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2NfZXEpLAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExf
SU5GTyBjaSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKPiArKQo+ICt7Cj4g
KyAgICByZXR1cm4gaW5zbl9uYW1lKEJJTihvcHRfbmVxKSk7Cj4gK30KPiArCj4gKy8qIGF0dHIg
cmJfbnVtX3Qgb3BlbiBAIG9wdF9uZXEoY2lfZXEsIGNjX2VxLCBjaSwgY2MpKHJlY3YsIG9iaiko
dmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX29wZW5fb3B0X25lcSgKPiArICAgIE1BWUJFX1VO
VVNFRChDQUxMX0lORk8gY2lfZXEpLAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2Nf
ZXEpLAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBNQVlCRV9VTlVT
RUQoQ0FMTF9DQUNIRSBjYykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gNDsKPiArfQo+ICsKPiAr
LyogYXR0ciByYl9udW1fdCBwb3BuIEAgb3B0X25lcShjaV9lcSwgY2NfZXEsIGNpLCBjYykocmVj
diwgb2JqKSh2YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJfcG9wbl9vcHRfbmVxKAo+ICsgICAg
TUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaV9lcSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9D
QUNIRSBjY19lcSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1B
WUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICspCj4gK3sKPiArICAgIHJldHVybiAyOwo+ICt9
Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHJldG4gQCBvcHRfbmVxKGNpX2VxLCBjY19lcSwgY2ks
IGNjKShyZWN2LCBvYmopKHZhbCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl9yZXRuX29wdF9uZXEo
Cj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpX2VxKSwKPiArICAgIE1BWUJFX1VOVVNF
RChDQUxMX0NBQ0hFIGNjX2VxKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAo+
ICsgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCj4gKykKPiArewo+ICsgICAgcmV0dXJu
IDE7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfc251bV90IHNwX2luYyBAIG9wdF9uZXEoY2lfZXEs
IGNjX2VxLCBjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLwo+ICtyYl9zbnVtX3QKPiArYXR0cl9z
cF9pbmNfb3B0X25lcSgKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2lfZXEpLAo+ICsg
ICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2NfZXEpLAo+ICsgICAgTUFZQkVfVU5VU0VEKENB
TExfSU5GTyBjaSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKPiArKQo+ICt7
Cj4gKyAgICByZXR1cm4gLTE7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3Qgd2lkdGggQCBv
cHRfbmVxKGNpX2VxLCBjY19lcSwgY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KPiArcmJfbnVt
X3QKPiArYXR0cl93aWR0aF9vcHRfbmVxKAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBj
aV9lcSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjY19lcSksCj4gKyAgICBNQVlC
RV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNj
KQo+ICspCj4gK3sKPiArICAgIHJldHVybiA1Owo+ICt9Cj4gKwo+ICsvKiBhdHRyIGVudW0gcnVi
eV92bWluc25fdHlwZSBiaW4gQCBvcHRfbHQoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KPiAr
ZW51bSBydWJ5X3ZtaW5zbl90eXBlCj4gK2F0dHJfYmluX29wdF9sdCgKPiArICAgIE1BWUJFX1VO
VVNFRChDQUxMX0lORk8gY2kpLAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCj4g
KykKPiArewo+ICsgICAgcmV0dXJuIEJJTihvcHRfbHQpOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGJv
b2wgaGFuZGxlc19zcCBAIG9wdF9sdChjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLwo+ICtib29s
Cj4gK2F0dHJfaGFuZGxlc19zcF9vcHRfbHQoCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZP
IGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICspCj4gK3sKPiArICAg
IHJldHVybiBmYWxzZTsKPiArfQo+ICsKPiArLyogYXR0ciBib29sIGxlYWYgQCBvcHRfbHQoY2ks
IGNjKShyZWN2LCBvYmopKHZhbCkgKi8KPiArYm9vbAo+ICthdHRyX2xlYWZfb3B0X2x0KAo+ICsg
ICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9D
QUNIRSBjYykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gdHJ1ZTsKPiArfQo+ICsKPiArLyogYXR0
ciBjb25zdCBjaGFyKiBuYW1lIEAgb3B0X2x0KGNpLCBjYykocmVjdiwgb2JqKSh2YWwpICovCj4g
K2NvbnN0IGNoYXIqCj4gK2F0dHJfbmFtZV9vcHRfbHQoCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FM
TF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICspCj4gK3sK
PiArICAgIHJldHVybiBpbnNuX25hbWUoQklOKG9wdF9sdCkpOwo+ICt9Cj4gKwo+ICsvKiBhdHRy
IHJiX251bV90IG9wZW4gQCBvcHRfbHQoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KPiArcmJf
bnVtX3QKPiArYXR0cl9vcGVuX29wdF9sdCgKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8g
Y2kpLAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCj4gKykKPiArewo+ICsgICAg
cmV0dXJuIDI7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3QgcG9wbiBAIG9wdF9sdChjaSwg
Y2MpKHJlY3YsIG9iaikodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3BvcG5fb3B0X2x0KAo+
ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FM
TF9DQUNIRSBjYykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gMjsKPiArfQo+ICsKPiArLyogYXR0
ciByYl9udW1fdCByZXRuIEAgb3B0X2x0KGNpLCBjYykocmVjdiwgb2JqKSh2YWwpICovCj4gK3Ji
X251bV90Cj4gK2F0dHJfcmV0bl9vcHRfbHQoCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZP
IGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICspCj4gK3sKPiArICAg
IHJldHVybiAxOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX3NudW1fdCBzcF9pbmMgQCBvcHRfbHQo
Y2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KPiArcmJfc251bV90Cj4gK2F0dHJfc3BfaW5jX29w
dF9sdCgKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAo+ICsgICAgTUFZQkVfVU5V
U0VEKENBTExfQ0FDSEUgY2MpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIC0xOwo+ICt9Cj4gKwo+
ICsvKiBhdHRyIHJiX251bV90IHdpZHRoIEAgb3B0X2x0KGNpLCBjYykocmVjdiwgb2JqKSh2YWwp
ICovCj4gK3JiX251bV90Cj4gK2F0dHJfd2lkdGhfb3B0X2x0KAo+ICsgICAgTUFZQkVfVU5VU0VE
KENBTExfSU5GTyBjaSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKPiArKQo+
ICt7Cj4gKyAgICByZXR1cm4gMzsKPiArfQo+ICsKPiArLyogYXR0ciBlbnVtIHJ1Ynlfdm1pbnNu
X3R5cGUgYmluIEAgb3B0X2xlKGNpLCBjYykocmVjdiwgb2JqKSh2YWwpICovCj4gK2VudW0gcnVi
eV92bWluc25fdHlwZQo+ICthdHRyX2Jpbl9vcHRfbGUoCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FM
TF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICspCj4gK3sK
PiArICAgIHJldHVybiBCSU4ob3B0X2xlKTsKPiArfQo+ICsKPiArLyogYXR0ciBib29sIGhhbmRs
ZXNfc3AgQCBvcHRfbGUoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KPiArYm9vbAo+ICthdHRy
X2hhbmRsZXNfc3Bfb3B0X2xlKAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4g
KyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4g
ZmFsc2U7Cj4gK30KPiArCj4gKy8qIGF0dHIgYm9vbCBsZWFmIEAgb3B0X2xlKGNpLCBjYykocmVj
diwgb2JqKSh2YWwpICovCj4gK2Jvb2wKPiArYXR0cl9sZWFmX29wdF9sZSgKPiArICAgIE1BWUJF
X1VOVVNFRChDQUxMX0lORk8gY2kpLAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2Mp
Cj4gKykKPiArewo+ICsgICAgcmV0dXJuIHRydWU7Cj4gK30KPiArCj4gKy8qIGF0dHIgY29uc3Qg
Y2hhciogbmFtZSBAIG9wdF9sZShjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLwo+ICtjb25zdCBj
aGFyKgo+ICthdHRyX25hbWVfb3B0X2xlKAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBj
aSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKPiArKQo+ICt7Cj4gKyAgICBy
ZXR1cm4gaW5zbl9uYW1lKEJJTihvcHRfbGUpKTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1f
dCBvcGVuIEAgb3B0X2xlKGNpLCBjYykocmVjdiwgb2JqKSh2YWwpICovCj4gK3JiX251bV90Cj4g
K2F0dHJfb3Blbl9vcHRfbGUoCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiAr
ICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICspCj4gK3sKPiArICAgIHJldHVybiAy
Owo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHBvcG4gQCBvcHRfbGUoY2ksIGNjKShyZWN2
LCBvYmopKHZhbCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl9wb3BuX29wdF9sZSgKPiArICAgIE1B
WUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUg
Y2MpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIDI7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVt
X3QgcmV0biBAIG9wdF9sZShjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLwo+ICtyYl9udW1fdAo+
ICthdHRyX3JldG5fb3B0X2xlKAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4g
KyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4g
MTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9zbnVtX3Qgc3BfaW5jIEAgb3B0X2xlKGNpLCBjYyko
cmVjdiwgb2JqKSh2YWwpICovCj4gK3JiX3NudW1fdAo+ICthdHRyX3NwX2luY19vcHRfbGUoCj4g
KyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxM
X0NBQ0hFIGNjKQo+ICspCj4gK3sKPiArICAgIHJldHVybiAtMTsKPiArfQo+ICsKPiArLyogYXR0
ciByYl9udW1fdCB3aWR0aCBAIG9wdF9sZShjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLwo+ICty
Yl9udW1fdAo+ICthdHRyX3dpZHRoX29wdF9sZSgKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0lO
Rk8gY2kpLAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCj4gKykKPiArewo+ICsg
ICAgcmV0dXJuIDM7Cj4gK30KPiArCj4gKy8qIGF0dHIgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGJp
biBAIG9wdF9ndChjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLwo+ICtlbnVtIHJ1Ynlfdm1pbnNu
X3R5cGUKPiArYXR0cl9iaW5fb3B0X2d0KAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBj
aSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKPiArKQo+ICt7Cj4gKyAgICBy
ZXR1cm4gQklOKG9wdF9ndCk7Cj4gK30KPiArCj4gKy8qIGF0dHIgYm9vbCBoYW5kbGVzX3NwIEAg
b3B0X2d0KGNpLCBjYykocmVjdiwgb2JqKSh2YWwpICovCj4gK2Jvb2wKPiArYXR0cl9oYW5kbGVz
X3NwX29wdF9ndCgKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAo+ICsgICAgTUFZ
QkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIGZhbHNlOwo+
ICt9Cj4gKwo+ICsvKiBhdHRyIGJvb2wgbGVhZiBAIG9wdF9ndChjaSwgY2MpKHJlY3YsIG9iaiko
dmFsKSAqLwo+ICtib29sCj4gK2F0dHJfbGVhZl9vcHRfZ3QoCj4gKyAgICBNQVlCRV9VTlVTRUQo
Q0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICspCj4g
K3sKPiArICAgIHJldHVybiB0cnVlOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGNvbnN0IGNoYXIqIG5h
bWUgQCBvcHRfZ3QoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KPiArY29uc3QgY2hhcioKPiAr
YXR0cl9uYW1lX29wdF9ndCgKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAo+ICsg
ICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIGlu
c25fbmFtZShCSU4ob3B0X2d0KSk7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3Qgb3BlbiBA
IG9wdF9ndChjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX29w
ZW5fb3B0X2d0KAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBNQVlC
RV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gMjsKPiArfQo+
ICsKPiArLyogYXR0ciByYl9udW1fdCBwb3BuIEAgb3B0X2d0KGNpLCBjYykocmVjdiwgb2JqKSh2
YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJfcG9wbl9vcHRfZ3QoCj4gKyAgICBNQVlCRV9VTlVT
RUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICsp
Cj4gK3sKPiArICAgIHJldHVybiAyOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHJldG4g
QCBvcHRfZ3QoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl9y
ZXRuX29wdF9ndCgKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAo+ICsgICAgTUFZ
QkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIDE7Cj4gK30K
PiArCj4gKy8qIGF0dHIgcmJfc251bV90IHNwX2luYyBAIG9wdF9ndChjaSwgY2MpKHJlY3YsIG9i
aikodmFsKSAqLwo+ICtyYl9zbnVtX3QKPiArYXR0cl9zcF9pbmNfb3B0X2d0KAo+ICsgICAgTUFZ
QkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBj
YykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gLTE7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVt
X3Qgd2lkdGggQCBvcHRfZ3QoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KPiArcmJfbnVtX3QK
PiArYXR0cl93aWR0aF9vcHRfZ3QoCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwK
PiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICspCj4gK3sKPiArICAgIHJldHVy
biAzOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGVudW0gcnVieV92bWluc25fdHlwZSBiaW4gQCBvcHRf
Z2UoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KPiArZW51bSBydWJ5X3ZtaW5zbl90eXBlCj4g
K2F0dHJfYmluX29wdF9nZSgKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAo+ICsg
ICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIEJJ
TihvcHRfZ2UpOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGJvb2wgaGFuZGxlc19zcCBAIG9wdF9nZShj
aSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLwo+ICtib29sCj4gK2F0dHJfaGFuZGxlc19zcF9vcHRf
Z2UoCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNF
RChDQUxMX0NBQ0hFIGNjKQo+ICspCj4gK3sKPiArICAgIHJldHVybiBmYWxzZTsKPiArfQo+ICsK
PiArLyogYXR0ciBib29sIGxlYWYgQCBvcHRfZ2UoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8K
PiArYm9vbAo+ICthdHRyX2xlYWZfb3B0X2dlKAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5G
TyBjaSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKPiArKQo+ICt7Cj4gKyAg
ICByZXR1cm4gdHJ1ZTsKPiArfQo+ICsKPiArLyogYXR0ciBjb25zdCBjaGFyKiBuYW1lIEAgb3B0
X2dlKGNpLCBjYykocmVjdiwgb2JqKSh2YWwpICovCj4gK2NvbnN0IGNoYXIqCj4gK2F0dHJfbmFt
ZV9vcHRfZ2UoCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJF
X1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICspCj4gK3sKPiArICAgIHJldHVybiBpbnNuX25hbWUo
QklOKG9wdF9nZSkpOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IG9wZW4gQCBvcHRfZ2Uo
Y2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl9vcGVuX29wdF9n
ZSgKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAo+ICsgICAgTUFZQkVfVU5VU0VE
KENBTExfQ0FDSEUgY2MpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIDI7Cj4gK30KPiArCj4gKy8q
IGF0dHIgcmJfbnVtX3QgcG9wbiBAIG9wdF9nZShjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLwo+
ICtyYl9udW1fdAo+ICthdHRyX3BvcG5fb3B0X2dlKAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExf
SU5GTyBjaSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKPiArKQo+ICt7Cj4g
KyAgICByZXR1cm4gMjsKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCByZXRuIEAgb3B0X2dl
KGNpLCBjYykocmVjdiwgb2JqKSh2YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJfcmV0bl9vcHRf
Z2UoCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNF
RChDQUxMX0NBQ0hFIGNjKQo+ICspCj4gK3sKPiArICAgIHJldHVybiAxOwo+ICt9Cj4gKwo+ICsv
KiBhdHRyIHJiX3NudW1fdCBzcF9pbmMgQCBvcHRfZ2UoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkg
Ki8KPiArcmJfc251bV90Cj4gK2F0dHJfc3BfaW5jX29wdF9nZSgKPiArICAgIE1BWUJFX1VOVVNF
RChDQUxMX0lORk8gY2kpLAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCj4gKykK
PiArewo+ICsgICAgcmV0dXJuIC0xOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHdpZHRo
IEAgb3B0X2dlKGNpLCBjYykocmVjdiwgb2JqKSh2YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJf
d2lkdGhfb3B0X2dlKAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBN
QVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gMzsKPiAr
fQo+ICsKPiArLyogYXR0ciBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYmluIEAgb3B0X2x0bHQoY2ks
IGNjKShyZWN2LCBvYmopKHZhbCkgKi8KPiArZW51bSBydWJ5X3ZtaW5zbl90eXBlCj4gK2F0dHJf
YmluX29wdF9sdGx0KAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBN
QVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gQklOKG9w
dF9sdGx0KTsKPiArfQo+ICsKPiArLyogYXR0ciBib29sIGhhbmRsZXNfc3AgQCBvcHRfbHRsdChj
aSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLwo+ICtib29sCj4gK2F0dHJfaGFuZGxlc19zcF9vcHRf
bHRsdCgKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAo+ICsgICAgTUFZQkVfVU5V
U0VEKENBTExfQ0FDSEUgY2MpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIGZhbHNlOwo+ICt9Cj4g
Kwo+ICsvKiBhdHRyIGJvb2wgbGVhZiBAIG9wdF9sdGx0KGNpLCBjYykocmVjdiwgb2JqKSh2YWwp
ICovCj4gK2Jvb2wKPiArYXR0cl9sZWFmX29wdF9sdGx0KAo+ICsgICAgTUFZQkVfVU5VU0VEKENB
TExfSU5GTyBjaSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKPiArKQo+ICt7
Cj4gKyAgICByZXR1cm4gdHJ1ZTsKPiArfQo+ICsKPiArLyogYXR0ciBjb25zdCBjaGFyKiBuYW1l
IEAgb3B0X2x0bHQoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KPiArY29uc3QgY2hhcioKPiAr
YXR0cl9uYW1lX29wdF9sdGx0KAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4g
KyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4g
aW5zbl9uYW1lKEJJTihvcHRfbHRsdCkpOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IG9w
ZW4gQCBvcHRfbHRsdChjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLwo+ICtyYl9udW1fdAo+ICth
dHRyX29wZW5fb3B0X2x0bHQoCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiAr
ICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICspCj4gK3sKPiArICAgIHJldHVybiAy
Owo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHBvcG4gQCBvcHRfbHRsdChjaSwgY2MpKHJl
Y3YsIG9iaikodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3BvcG5fb3B0X2x0bHQoCj4gKyAg
ICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NB
Q0hFIGNjKQo+ICspCj4gK3sKPiArICAgIHJldHVybiAyOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJi
X251bV90IHJldG4gQCBvcHRfbHRsdChjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLwo+ICtyYl9u
dW1fdAo+ICthdHRyX3JldG5fb3B0X2x0bHQoCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZP
IGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICspCj4gK3sKPiArICAg
IHJldHVybiAxOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX3NudW1fdCBzcF9pbmMgQCBvcHRfbHRs
dChjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLwo+ICtyYl9zbnVtX3QKPiArYXR0cl9zcF9pbmNf
b3B0X2x0bHQoCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJF
X1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICspCj4gK3sKPiArICAgIHJldHVybiAtMTsKPiArfQo+
ICsKPiArLyogYXR0ciByYl9udW1fdCB3aWR0aCBAIG9wdF9sdGx0KGNpLCBjYykocmVjdiwgb2Jq
KSh2YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJfd2lkdGhfb3B0X2x0bHQoCj4gKyAgICBNQVlC
RV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNj
KQo+ICspCj4gK3sKPiArICAgIHJldHVybiAzOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGVudW0gcnVi
eV92bWluc25fdHlwZSBiaW4gQCBvcHRfYW5kKGNpLCBjYykocmVjdiwgb2JqKSh2YWwpICovCj4g
K2VudW0gcnVieV92bWluc25fdHlwZQo+ICthdHRyX2Jpbl9vcHRfYW5kKAo+ICsgICAgTUFZQkVf
VU5VU0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykK
PiArKQo+ICt7Cj4gKyAgICByZXR1cm4gQklOKG9wdF9hbmQpOwo+ICt9Cj4gKwo+ICsvKiBhdHRy
IGJvb2wgaGFuZGxlc19zcCBAIG9wdF9hbmQoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KPiAr
Ym9vbAo+ICthdHRyX2hhbmRsZXNfc3Bfb3B0X2FuZCgKPiArICAgIE1BWUJFX1VOVVNFRChDQUxM
X0lORk8gY2kpLAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCj4gKykKPiArewo+
ICsgICAgcmV0dXJuIGZhbHNlOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGJvb2wgbGVhZiBAIG9wdF9h
bmQoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KPiArYm9vbAo+ICthdHRyX2xlYWZfb3B0X2Fu
ZCgKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAo+ICsgICAgTUFZQkVfVU5VU0VE
KENBTExfQ0FDSEUgY2MpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIHRydWU7Cj4gK30KPiArCj4g
Ky8qIGF0dHIgY29uc3QgY2hhciogbmFtZSBAIG9wdF9hbmQoY2ksIGNjKShyZWN2LCBvYmopKHZh
bCkgKi8KPiArY29uc3QgY2hhcioKPiArYXR0cl9uYW1lX29wdF9hbmQoCj4gKyAgICBNQVlCRV9V
TlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+
ICspCj4gK3sKPiArICAgIHJldHVybiBpbnNuX25hbWUoQklOKG9wdF9hbmQpKTsKPiArfQo+ICsK
PiArLyogYXR0ciByYl9udW1fdCBvcGVuIEAgb3B0X2FuZChjaSwgY2MpKHJlY3YsIG9iaikodmFs
KSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX29wZW5fb3B0X2FuZCgKPiArICAgIE1BWUJFX1VOVVNF
RChDQUxMX0lORk8gY2kpLAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCj4gKykK
PiArewo+ICsgICAgcmV0dXJuIDI7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3QgcG9wbiBA
IG9wdF9hbmQoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl9w
b3BuX29wdF9hbmQoCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1B
WUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICspCj4gK3sKPiArICAgIHJldHVybiAyOwo+ICt9
Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHJldG4gQCBvcHRfYW5kKGNpLCBjYykocmVjdiwgb2Jq
KSh2YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJfcmV0bl9vcHRfYW5kKAo+ICsgICAgTUFZQkVf
VU5VU0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykK
PiArKQo+ICt7Cj4gKyAgICByZXR1cm4gMTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9zbnVtX3Qg
c3BfaW5jIEAgb3B0X2FuZChjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLwo+ICtyYl9zbnVtX3QK
PiArYXR0cl9zcF9pbmNfb3B0X2FuZCgKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kp
LAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCj4gKykKPiArewo+ICsgICAgcmV0
dXJuIC0xOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHdpZHRoIEAgb3B0X2FuZChjaSwg
Y2MpKHJlY3YsIG9iaikodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3dpZHRoX29wdF9hbmQo
Cj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChD
QUxMX0NBQ0hFIGNjKQo+ICspCj4gK3sKPiArICAgIHJldHVybiAzOwo+ICt9Cj4gKwo+ICsvKiBh
dHRyIGVudW0gcnVieV92bWluc25fdHlwZSBiaW4gQCBvcHRfb3IoY2ksIGNjKShyZWN2LCBvYmop
KHZhbCkgKi8KPiArZW51bSBydWJ5X3ZtaW5zbl90eXBlCj4gK2F0dHJfYmluX29wdF9vcigKPiAr
ICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExf
Q0FDSEUgY2MpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIEJJTihvcHRfb3IpOwo+ICt9Cj4gKwo+
ICsvKiBhdHRyIGJvb2wgaGFuZGxlc19zcCBAIG9wdF9vcihjaSwgY2MpKHJlY3YsIG9iaikodmFs
KSAqLwo+ICtib29sCj4gK2F0dHJfaGFuZGxlc19zcF9vcHRfb3IoCj4gKyAgICBNQVlCRV9VTlVT
RUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICsp
Cj4gK3sKPiArICAgIHJldHVybiBmYWxzZTsKPiArfQo+ICsKPiArLyogYXR0ciBib29sIGxlYWYg
QCBvcHRfb3IoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KPiArYm9vbAo+ICthdHRyX2xlYWZf
b3B0X29yKAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBNQVlCRV9V
TlVTRUQoQ0FMTF9DQUNIRSBjYykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gdHJ1ZTsKPiArfQo+
ICsKPiArLyogYXR0ciBjb25zdCBjaGFyKiBuYW1lIEAgb3B0X29yKGNpLCBjYykocmVjdiwgb2Jq
KSh2YWwpICovCj4gK2NvbnN0IGNoYXIqCj4gK2F0dHJfbmFtZV9vcHRfb3IoCj4gKyAgICBNQVlC
RV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNj
KQo+ICspCj4gK3sKPiArICAgIHJldHVybiBpbnNuX25hbWUoQklOKG9wdF9vcikpOwo+ICt9Cj4g
Kwo+ICsvKiBhdHRyIHJiX251bV90IG9wZW4gQCBvcHRfb3IoY2ksIGNjKShyZWN2LCBvYmopKHZh
bCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl9vcGVuX29wdF9vcigKPiArICAgIE1BWUJFX1VOVVNF
RChDQUxMX0lORk8gY2kpLAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCj4gKykK
PiArewo+ICsgICAgcmV0dXJuIDI7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3QgcG9wbiBA
IG9wdF9vcihjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3Bv
cG5fb3B0X29yKAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBNQVlC
RV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gMjsKPiArfQo+
ICsKPiArLyogYXR0ciByYl9udW1fdCByZXRuIEAgb3B0X29yKGNpLCBjYykocmVjdiwgb2JqKSh2
YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJfcmV0bl9vcHRfb3IoCj4gKyAgICBNQVlCRV9VTlVT
RUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICsp
Cj4gK3sKPiArICAgIHJldHVybiAxOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX3NudW1fdCBzcF9p
bmMgQCBvcHRfb3IoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KPiArcmJfc251bV90Cj4gK2F0
dHJfc3BfaW5jX29wdF9vcigKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAo+ICsg
ICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIC0x
Owo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHdpZHRoIEAgb3B0X29yKGNpLCBjYykocmVj
diwgb2JqKSh2YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJfd2lkdGhfb3B0X29yKAo+ICsgICAg
TUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNI
RSBjYykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gMzsKPiArfQo+ICsKPiArLyogYXR0ciBlbnVt
IHJ1Ynlfdm1pbnNuX3R5cGUgYmluIEAgb3B0X2FyZWYoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkg
Ki8KPiArZW51bSBydWJ5X3ZtaW5zbl90eXBlCj4gK2F0dHJfYmluX29wdF9hcmVmKAo+ICsgICAg
TUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNI
RSBjYykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gQklOKG9wdF9hcmVmKTsKPiArfQo+ICsKPiAr
LyogYXR0ciBib29sIGhhbmRsZXNfc3AgQCBvcHRfYXJlZihjaSwgY2MpKHJlY3YsIG9iaikodmFs
KSAqLwo+ICtib29sCj4gK2F0dHJfaGFuZGxlc19zcF9vcHRfYXJlZigKPiArICAgIE1BWUJFX1VO
VVNFRChDQUxMX0lORk8gY2kpLAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCj4g
KykKPiArewo+ICsgICAgcmV0dXJuIGZhbHNlOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGJvb2wgbGVh
ZiBAIG9wdF9hcmVmKGNpLCBjYykocmVjdiwgb2JqKSh2YWwpICovCj4gK2Jvb2wKPiArYXR0cl9s
ZWFmX29wdF9hcmVmKAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBN
QVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4KPiArI2xp
bmUgMTI1MyAiaW5zbnMuZGVmIgo+ICtmYWxzZTsKPiArI2xpbmUgNzc0OCAiaW5zbnNfaW5mby5p
bmMiCj4gK30KPiArCj4gKy8qIGF0dHIgY29uc3QgY2hhciogbmFtZSBAIG9wdF9hcmVmKGNpLCBj
YykocmVjdiwgb2JqKSh2YWwpICovCj4gK2NvbnN0IGNoYXIqCj4gK2F0dHJfbmFtZV9vcHRfYXJl
ZigKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAo+ICsgICAgTUFZQkVfVU5VU0VE
KENBTExfQ0FDSEUgY2MpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIGluc25fbmFtZShCSU4ob3B0
X2FyZWYpKTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCBvcGVuIEAgb3B0X2FyZWYoY2ks
IGNjKShyZWN2LCBvYmopKHZhbCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl9vcGVuX29wdF9hcmVm
KAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBNQVlCRV9VTlVTRUQo
Q0FMTF9DQUNIRSBjYykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gMjsKPiArfQo+ICsKPiArLyog
YXR0ciByYl9udW1fdCBwb3BuIEAgb3B0X2FyZWYoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8K
PiArcmJfbnVtX3QKPiArYXR0cl9wb3BuX29wdF9hcmVmKAo+ICsgICAgTUFZQkVfVU5VU0VEKENB
TExfSU5GTyBjaSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKPiArKQo+ICt7
Cj4gKyAgICByZXR1cm4gMjsKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCByZXRuIEAgb3B0
X2FyZWYoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl9yZXRu
X29wdF9hcmVmKAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBNQVlC
RV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gMTsKPiArfQo+
ICsKPiArLyogYXR0ciByYl9zbnVtX3Qgc3BfaW5jIEAgb3B0X2FyZWYoY2ksIGNjKShyZWN2LCBv
YmopKHZhbCkgKi8KPiArcmJfc251bV90Cj4gK2F0dHJfc3BfaW5jX29wdF9hcmVmKAo+ICsgICAg
TUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNI
RSBjYykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gLTE7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJf
bnVtX3Qgd2lkdGggQCBvcHRfYXJlZihjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLwo+ICtyYl9u
dW1fdAo+ICthdHRyX3dpZHRoX29wdF9hcmVmKAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5G
TyBjaSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKPiArKQo+ICt7Cj4gKyAg
ICByZXR1cm4gMzsKPiArfQo+ICsKPiArLyogYXR0ciBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYmlu
IEAgb3B0X2FzZXQoY2ksIGNjKShyZWN2LCBvYmosIHNldCkodmFsKSAqLwo+ICtlbnVtIHJ1Ynlf
dm1pbnNuX3R5cGUKPiArYXR0cl9iaW5fb3B0X2FzZXQoCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FM
TF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICspCj4gK3sK
PiArICAgIHJldHVybiBCSU4ob3B0X2FzZXQpOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGJvb2wgaGFu
ZGxlc19zcCBAIG9wdF9hc2V0KGNpLCBjYykocmVjdiwgb2JqLCBzZXQpKHZhbCkgKi8KPiArYm9v
bAo+ICthdHRyX2hhbmRsZXNfc3Bfb3B0X2FzZXQoCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9J
TkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICspCj4gK3sKPiAr
ICAgIHJldHVybiBmYWxzZTsKPiArfQo+ICsKPiArLyogYXR0ciBib29sIGxlYWYgQCBvcHRfYXNl
dChjaSwgY2MpKHJlY3YsIG9iaiwgc2V0KSh2YWwpICovCj4gK2Jvb2wKPiArYXR0cl9sZWFmX29w
dF9hc2V0KAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBNQVlCRV9V
TlVTRUQoQ0FMTF9DQUNIRSBjYykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4KPiArI2xpbmUgMTI3
MCAiaW5zbnMuZGVmIgo+ICtmYWxzZTsKPiArI2xpbmUgNzg0MSAiaW5zbnNfaW5mby5pbmMiCj4g
K30KPiArCj4gKy8qIGF0dHIgY29uc3QgY2hhciogbmFtZSBAIG9wdF9hc2V0KGNpLCBjYykocmVj
diwgb2JqLCBzZXQpKHZhbCkgKi8KPiArY29uc3QgY2hhcioKPiArYXR0cl9uYW1lX29wdF9hc2V0
KAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBNQVlCRV9VTlVTRUQo
Q0FMTF9DQUNIRSBjYykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gaW5zbl9uYW1lKEJJTihvcHRf
YXNldCkpOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IG9wZW4gQCBvcHRfYXNldChjaSwg
Y2MpKHJlY3YsIG9iaiwgc2V0KSh2YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJfb3Blbl9vcHRf
YXNldCgKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAo+ICsgICAgTUFZQkVfVU5V
U0VEKENBTExfQ0FDSEUgY2MpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIDI7Cj4gK30KPiArCj4g
Ky8qIGF0dHIgcmJfbnVtX3QgcG9wbiBAIG9wdF9hc2V0KGNpLCBjYykocmVjdiwgb2JqLCBzZXQp
KHZhbCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl9wb3BuX29wdF9hc2V0KAo+ICsgICAgTUFZQkVf
VU5VU0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykK
PiArKQo+ICt7Cj4gKyAgICByZXR1cm4gMzsKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCBy
ZXRuIEAgb3B0X2FzZXQoY2ksIGNjKShyZWN2LCBvYmosIHNldCkodmFsKSAqLwo+ICtyYl9udW1f
dAo+ICthdHRyX3JldG5fb3B0X2FzZXQoCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNp
KSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICspCj4gK3sKPiArICAgIHJl
dHVybiAxOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX3NudW1fdCBzcF9pbmMgQCBvcHRfYXNldChj
aSwgY2MpKHJlY3YsIG9iaiwgc2V0KSh2YWwpICovCj4gK3JiX3NudW1fdAo+ICthdHRyX3NwX2lu
Y19vcHRfYXNldCgKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAo+ICsgICAgTUFZ
QkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIC0yOwo+ICt9
Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHdpZHRoIEAgb3B0X2FzZXQoY2ksIGNjKShyZWN2LCBv
YmosIHNldCkodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3dpZHRoX29wdF9hc2V0KAo+ICsg
ICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9D
QUNIRSBjYykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gMzsKPiArfQo+ICsKPiArLyogYXR0ciBl
bnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYmluIEAgb3B0X2FzZXRfd2l0aChrZXksIGNpLCBjYykocmVj
diwgdmFsKSh2YWwpICovCj4gK2VudW0gcnVieV92bWluc25fdHlwZQo+ICthdHRyX2Jpbl9vcHRf
YXNldF93aXRoKAo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVFIGtleSksCj4gKyAgICBNQVlCRV9V
TlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+
ICspCj4gK3sKPiArICAgIHJldHVybiBCSU4ob3B0X2FzZXRfd2l0aCk7Cj4gK30KPiArCj4gKy8q
IGF0dHIgYm9vbCBoYW5kbGVzX3NwIEAgb3B0X2FzZXRfd2l0aChrZXksIGNpLCBjYykocmVjdiwg
dmFsKSh2YWwpICovCj4gK2Jvb2wKPiArYXR0cl9oYW5kbGVzX3NwX29wdF9hc2V0X3dpdGgoCj4g
KyAgICBNQVlCRV9VTlVTRUQoVkFMVUUga2V5KSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0lO
Rk8gY2kpLAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCj4gKykKPiArewo+ICsg
ICAgcmV0dXJuIGZhbHNlOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGJvb2wgbGVhZiBAIG9wdF9hc2V0
X3dpdGgoa2V5LCBjaSwgY2MpKHJlY3YsIHZhbCkodmFsKSAqLwo+ICtib29sCj4gK2F0dHJfbGVh
Zl9vcHRfYXNldF93aXRoKAo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVFIGtleSksCj4gKyAgICBN
QVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hF
IGNjKQo+ICspCj4gK3sKPiArICAgIHJldHVybgo+ICsjbGluZSAxMjg2ICJpbnNucy5kZWYiCj4g
K2ZhbHNlOwo+ICsjbGluZSA3OTM3ICJpbnNuc19pbmZvLmluYyIKPiArfQo+ICsKPiArLyogYXR0
ciBjb25zdCBjaGFyKiBuYW1lIEAgb3B0X2FzZXRfd2l0aChrZXksIGNpLCBjYykocmVjdiwgdmFs
KSh2YWwpICovCj4gK2NvbnN0IGNoYXIqCj4gK2F0dHJfbmFtZV9vcHRfYXNldF93aXRoKAo+ICsg
ICAgTUFZQkVfVU5VU0VEKFZBTFVFIGtleSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZP
IGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICspCj4gK3sKPiArICAg
IHJldHVybiBpbnNuX25hbWUoQklOKG9wdF9hc2V0X3dpdGgpKTsKPiArfQo+ICsKPiArLyogYXR0
ciByYl9udW1fdCBvcGVuIEAgb3B0X2FzZXRfd2l0aChrZXksIGNpLCBjYykocmVjdiwgdmFsKSh2
YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJfb3Blbl9vcHRfYXNldF93aXRoKAo+ICsgICAgTUFZ
QkVfVU5VU0VEKFZBTFVFIGtleSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwK
PiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICspCj4gK3sKPiArICAgIHJldHVy
biAzOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHBvcG4gQCBvcHRfYXNldF93aXRoKGtl
eSwgY2ksIGNjKShyZWN2LCB2YWwpKHZhbCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl9wb3BuX29w
dF9hc2V0X3dpdGgoCj4gKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUga2V5KSwKPiArICAgIE1BWUJF
X1VOVVNFRChDQUxMX0lORk8gY2kpLAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2Mp
Cj4gKykKPiArewo+ICsgICAgcmV0dXJuIDI7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3Qg
cmV0biBAIG9wdF9hc2V0X3dpdGgoa2V5LCBjaSwgY2MpKHJlY3YsIHZhbCkodmFsKSAqLwo+ICty
Yl9udW1fdAo+ICthdHRyX3JldG5fb3B0X2FzZXRfd2l0aCgKPiArICAgIE1BWUJFX1VOVVNFRChW
QUxVRSBrZXkpLAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBNQVlC
RV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gMTsKPiArfQo+
ICsKPiArLyogYXR0ciByYl9zbnVtX3Qgc3BfaW5jIEAgb3B0X2FzZXRfd2l0aChrZXksIGNpLCBj
YykocmVjdiwgdmFsKSh2YWwpICovCj4gK3JiX3NudW1fdAo+ICthdHRyX3NwX2luY19vcHRfYXNl
dF93aXRoKAo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVFIGtleSksCj4gKyAgICBNQVlCRV9VTlVT
RUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICsp
Cj4gK3sKPiArICAgIHJldHVybiAtMTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCB3aWR0
aCBAIG9wdF9hc2V0X3dpdGgoa2V5LCBjaSwgY2MpKHJlY3YsIHZhbCkodmFsKSAqLwo+ICtyYl9u
dW1fdAo+ICthdHRyX3dpZHRoX29wdF9hc2V0X3dpdGgoCj4gKyAgICBNQVlCRV9VTlVTRUQoVkFM
VUUga2V5KSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAo+ICsgICAgTUFZQkVf
VU5VU0VEKENBTExfQ0FDSEUgY2MpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIDQ7Cj4gK30KPiAr
Cj4gKy8qIGF0dHIgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGJpbiBAIG9wdF9hcmVmX3dpdGgoa2V5
LCBjaSwgY2MpKHJlY3YpKHZhbCkgKi8KPiArZW51bSBydWJ5X3ZtaW5zbl90eXBlCj4gK2F0dHJf
YmluX29wdF9hcmVmX3dpdGgoCj4gKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUga2V5KSwKPiArICAg
IE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FD
SEUgY2MpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIEJJTihvcHRfYXJlZl93aXRoKTsKPiArfQo+
ICsKPiArLyogYXR0ciBib29sIGhhbmRsZXNfc3AgQCBvcHRfYXJlZl93aXRoKGtleSwgY2ksIGNj
KShyZWN2KSh2YWwpICovCj4gK2Jvb2wKPiArYXR0cl9oYW5kbGVzX3NwX29wdF9hcmVmX3dpdGgo
Cj4gKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUga2V5KSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxM
X0lORk8gY2kpLAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCj4gKykKPiArewo+
ICsgICAgcmV0dXJuIGZhbHNlOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGJvb2wgbGVhZiBAIG9wdF9h
cmVmX3dpdGgoa2V5LCBjaSwgY2MpKHJlY3YpKHZhbCkgKi8KPiArYm9vbAo+ICthdHRyX2xlYWZf
b3B0X2FyZWZfd2l0aCgKPiArICAgIE1BWUJFX1VOVVNFRChWQUxVRSBrZXkpLAo+ICsgICAgTUFZ
QkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBj
YykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4KPiArI2xpbmUgMTMwOSAiaW5zbnMuZGVmIgo+ICtm
YWxzZTsKPiArI2xpbmUgODAzOSAiaW5zbnNfaW5mby5pbmMiCj4gK30KPiArCj4gKy8qIGF0dHIg
Y29uc3QgY2hhciogbmFtZSBAIG9wdF9hcmVmX3dpdGgoa2V5LCBjaSwgY2MpKHJlY3YpKHZhbCkg
Ki8KPiArY29uc3QgY2hhcioKPiArYXR0cl9uYW1lX29wdF9hcmVmX3dpdGgoCj4gKyAgICBNQVlC
RV9VTlVTRUQoVkFMVUUga2V5KSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAo+
ICsgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCj4gKykKPiArewo+ICsgICAgcmV0dXJu
IGluc25fbmFtZShCSU4ob3B0X2FyZWZfd2l0aCkpOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251
bV90IG9wZW4gQCBvcHRfYXJlZl93aXRoKGtleSwgY2ksIGNjKShyZWN2KSh2YWwpICovCj4gK3Ji
X251bV90Cj4gK2F0dHJfb3Blbl9vcHRfYXJlZl93aXRoKAo+ICsgICAgTUFZQkVfVU5VU0VEKFZB
TFVFIGtleSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJF
X1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICspCj4gK3sKPiArICAgIHJldHVybiAzOwo+ICt9Cj4g
Kwo+ICsvKiBhdHRyIHJiX251bV90IHBvcG4gQCBvcHRfYXJlZl93aXRoKGtleSwgY2ksIGNjKShy
ZWN2KSh2YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJfcG9wbl9vcHRfYXJlZl93aXRoKAo+ICsg
ICAgTUFZQkVfVU5VU0VEKFZBTFVFIGtleSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZP
IGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICspCj4gK3sKPiArICAg
IHJldHVybiAxOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHJldG4gQCBvcHRfYXJlZl93
aXRoKGtleSwgY2ksIGNjKShyZWN2KSh2YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJfcmV0bl9v
cHRfYXJlZl93aXRoKAo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVFIGtleSksCj4gKyAgICBNQVlC
RV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNj
KQo+ICspCj4gK3sKPiArICAgIHJldHVybiAxOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX3NudW1f
dCBzcF9pbmMgQCBvcHRfYXJlZl93aXRoKGtleSwgY2ksIGNjKShyZWN2KSh2YWwpICovCj4gK3Ji
X3NudW1fdAo+ICthdHRyX3NwX2luY19vcHRfYXJlZl93aXRoKAo+ICsgICAgTUFZQkVfVU5VU0VE
KFZBTFVFIGtleSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1B
WUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICspCj4gK3sKPiArICAgIHJldHVybiAwOwo+ICt9
Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHdpZHRoIEAgb3B0X2FyZWZfd2l0aChrZXksIGNpLCBj
YykocmVjdikodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3dpZHRoX29wdF9hcmVmX3dpdGgo
Cj4gKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUga2V5KSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxM
X0lORk8gY2kpLAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCj4gKykKPiArewo+
ICsgICAgcmV0dXJuIDQ7Cj4gK30KPiArCj4gKy8qIGF0dHIgZW51bSBydWJ5X3ZtaW5zbl90eXBl
IGJpbiBAIG9wdF9sZW5ndGgoY2ksIGNjKShyZWN2KSh2YWwpICovCj4gK2VudW0gcnVieV92bWlu
c25fdHlwZQo+ICthdHRyX2Jpbl9vcHRfbGVuZ3RoKAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExf
SU5GTyBjaSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKPiArKQo+ICt7Cj4g
KyAgICByZXR1cm4gQklOKG9wdF9sZW5ndGgpOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGJvb2wgaGFu
ZGxlc19zcCBAIG9wdF9sZW5ndGgoY2ksIGNjKShyZWN2KSh2YWwpICovCj4gK2Jvb2wKPiArYXR0
cl9oYW5kbGVzX3NwX29wdF9sZW5ndGgoCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNp
KSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICspCj4gK3sKPiArICAgIHJl
dHVybiBmYWxzZTsKPiArfQo+ICsKPiArLyogYXR0ciBib29sIGxlYWYgQCBvcHRfbGVuZ3RoKGNp
LCBjYykocmVjdikodmFsKSAqLwo+ICtib29sCj4gK2F0dHJfbGVhZl9vcHRfbGVuZ3RoKAo+ICsg
ICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9D
QUNIRSBjYykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gdHJ1ZTsKPiArfQo+ICsKPiArLyogYXR0
ciBjb25zdCBjaGFyKiBuYW1lIEAgb3B0X2xlbmd0aChjaSwgY2MpKHJlY3YpKHZhbCkgKi8KPiAr
Y29uc3QgY2hhcioKPiArYXR0cl9uYW1lX29wdF9sZW5ndGgoCj4gKyAgICBNQVlCRV9VTlVTRUQo
Q0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICspCj4g
K3sKPiArICAgIHJldHVybiBpbnNuX25hbWUoQklOKG9wdF9sZW5ndGgpKTsKPiArfQo+ICsKPiAr
LyogYXR0ciByYl9udW1fdCBvcGVuIEAgb3B0X2xlbmd0aChjaSwgY2MpKHJlY3YpKHZhbCkgKi8K
PiArcmJfbnVtX3QKPiArYXR0cl9vcGVuX29wdF9sZW5ndGgoCj4gKyAgICBNQVlCRV9VTlVTRUQo
Q0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICspCj4g
K3sKPiArICAgIHJldHVybiAyOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHBvcG4gQCBv
cHRfbGVuZ3RoKGNpLCBjYykocmVjdikodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3BvcG5f
b3B0X2xlbmd0aCgKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAo+ICsgICAgTUFZ
QkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIDE7Cj4gK30K
PiArCj4gKy8qIGF0dHIgcmJfbnVtX3QgcmV0biBAIG9wdF9sZW5ndGgoY2ksIGNjKShyZWN2KSh2
YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJfcmV0bl9vcHRfbGVuZ3RoKAo+ICsgICAgTUFZQkVf
VU5VU0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykK
PiArKQo+ICt7Cj4gKyAgICByZXR1cm4gMTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9zbnVtX3Qg
c3BfaW5jIEAgb3B0X2xlbmd0aChjaSwgY2MpKHJlY3YpKHZhbCkgKi8KPiArcmJfc251bV90Cj4g
K2F0dHJfc3BfaW5jX29wdF9sZW5ndGgoCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNp
KSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICspCj4gK3sKPiArICAgIHJl
dHVybiAwOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHdpZHRoIEAgb3B0X2xlbmd0aChj
aSwgY2MpKHJlY3YpKHZhbCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl93aWR0aF9vcHRfbGVuZ3Ro
KAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBNQVlCRV9VTlVTRUQo
Q0FMTF9DQUNIRSBjYykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gMzsKPiArfQo+ICsKPiArLyog
YXR0ciBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYmluIEAgb3B0X3NpemUoY2ksIGNjKShyZWN2KSh2
YWwpICovCj4gK2VudW0gcnVieV92bWluc25fdHlwZQo+ICthdHRyX2Jpbl9vcHRfc2l6ZSgKPiAr
ICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExf
Q0FDSEUgY2MpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIEJJTihvcHRfc2l6ZSk7Cj4gK30KPiAr
Cj4gKy8qIGF0dHIgYm9vbCBoYW5kbGVzX3NwIEAgb3B0X3NpemUoY2ksIGNjKShyZWN2KSh2YWwp
ICovCj4gK2Jvb2wKPiArYXR0cl9oYW5kbGVzX3NwX29wdF9zaXplKAo+ICsgICAgTUFZQkVfVU5V
U0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKPiAr
KQo+ICt7Cj4gKyAgICByZXR1cm4gZmFsc2U7Cj4gK30KPiArCj4gKy8qIGF0dHIgYm9vbCBsZWFm
IEAgb3B0X3NpemUoY2ksIGNjKShyZWN2KSh2YWwpICovCj4gK2Jvb2wKPiArYXR0cl9sZWFmX29w
dF9zaXplKAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBNQVlCRV9V
TlVTRUQoQ0FMTF9DQUNIRSBjYykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gdHJ1ZTsKPiArfQo+
ICsKPiArLyogYXR0ciBjb25zdCBjaGFyKiBuYW1lIEAgb3B0X3NpemUoY2ksIGNjKShyZWN2KSh2
YWwpICovCj4gK2NvbnN0IGNoYXIqCj4gK2F0dHJfbmFtZV9vcHRfc2l6ZSgKPiArICAgIE1BWUJF
X1VOVVNFRChDQUxMX0lORk8gY2kpLAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2Mp
Cj4gKykKPiArewo+ICsgICAgcmV0dXJuIGluc25fbmFtZShCSU4ob3B0X3NpemUpKTsKPiArfQo+
ICsKPiArLyogYXR0ciByYl9udW1fdCBvcGVuIEAgb3B0X3NpemUoY2ksIGNjKShyZWN2KSh2YWwp
ICovCj4gK3JiX251bV90Cj4gK2F0dHJfb3Blbl9vcHRfc2l6ZSgKPiArICAgIE1BWUJFX1VOVVNF
RChDQUxMX0lORk8gY2kpLAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCj4gKykK
PiArewo+ICsgICAgcmV0dXJuIDI7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3QgcG9wbiBA
IG9wdF9zaXplKGNpLCBjYykocmVjdikodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3BvcG5f
b3B0X3NpemUoCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJF
X1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICspCj4gK3sKPiArICAgIHJldHVybiAxOwo+ICt9Cj4g
Kwo+ICsvKiBhdHRyIHJiX251bV90IHJldG4gQCBvcHRfc2l6ZShjaSwgY2MpKHJlY3YpKHZhbCkg
Ki8KPiArcmJfbnVtX3QKPiArYXR0cl9yZXRuX29wdF9zaXplKAo+ICsgICAgTUFZQkVfVU5VU0VE
KENBTExfSU5GTyBjaSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKPiArKQo+
ICt7Cj4gKyAgICByZXR1cm4gMTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9zbnVtX3Qgc3BfaW5j
IEAgb3B0X3NpemUoY2ksIGNjKShyZWN2KSh2YWwpICovCj4gK3JiX3NudW1fdAo+ICthdHRyX3Nw
X2luY19vcHRfc2l6ZSgKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAo+ICsgICAg
TUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIDA7Cj4g
K30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3Qgd2lkdGggQCBvcHRfc2l6ZShjaSwgY2MpKHJlY3Yp
KHZhbCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl93aWR0aF9vcHRfc2l6ZSgKPiArICAgIE1BWUJF
X1VOVVNFRChDQUxMX0lORk8gY2kpLAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2Mp
Cj4gKykKPiArewo+ICsgICAgcmV0dXJuIDM7Cj4gK30KPiArCj4gKy8qIGF0dHIgZW51bSBydWJ5
X3ZtaW5zbl90eXBlIGJpbiBAIG9wdF9lbXB0eV9wKGNpLCBjYykocmVjdikodmFsKSAqLwo+ICtl
bnVtIHJ1Ynlfdm1pbnNuX3R5cGUKPiArYXR0cl9iaW5fb3B0X2VtcHR5X3AoCj4gKyAgICBNQVlC
RV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNj
KQo+ICspCj4gK3sKPiArICAgIHJldHVybiBCSU4ob3B0X2VtcHR5X3ApOwo+ICt9Cj4gKwo+ICsv
KiBhdHRyIGJvb2wgaGFuZGxlc19zcCBAIG9wdF9lbXB0eV9wKGNpLCBjYykocmVjdikodmFsKSAq
Lwo+ICtib29sCj4gK2F0dHJfaGFuZGxlc19zcF9vcHRfZW1wdHlfcCgKPiArICAgIE1BWUJFX1VO
VVNFRChDQUxMX0lORk8gY2kpLAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCj4g
KykKPiArewo+ICsgICAgcmV0dXJuIGZhbHNlOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGJvb2wgbGVh
ZiBAIG9wdF9lbXB0eV9wKGNpLCBjYykocmVjdikodmFsKSAqLwo+ICtib29sCj4gK2F0dHJfbGVh
Zl9vcHRfZW1wdHlfcCgKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAo+ICsgICAg
TUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIHRydWU7
Cj4gK30KPiArCj4gKy8qIGF0dHIgY29uc3QgY2hhciogbmFtZSBAIG9wdF9lbXB0eV9wKGNpLCBj
YykocmVjdikodmFsKSAqLwo+ICtjb25zdCBjaGFyKgo+ICthdHRyX25hbWVfb3B0X2VtcHR5X3Ao
Cj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChD
QUxMX0NBQ0hFIGNjKQo+ICspCj4gK3sKPiArICAgIHJldHVybiBpbnNuX25hbWUoQklOKG9wdF9l
bXB0eV9wKSk7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3Qgb3BlbiBAIG9wdF9lbXB0eV9w
KGNpLCBjYykocmVjdikodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX29wZW5fb3B0X2VtcHR5
X3AoCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNF
RChDQUxMX0NBQ0hFIGNjKQo+ICspCj4gK3sKPiArICAgIHJldHVybiAyOwo+ICt9Cj4gKwo+ICsv
KiBhdHRyIHJiX251bV90IHBvcG4gQCBvcHRfZW1wdHlfcChjaSwgY2MpKHJlY3YpKHZhbCkgKi8K
PiArcmJfbnVtX3QKPiArYXR0cl9wb3BuX29wdF9lbXB0eV9wKAo+ICsgICAgTUFZQkVfVU5VU0VE
KENBTExfSU5GTyBjaSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKPiArKQo+
ICt7Cj4gKyAgICByZXR1cm4gMTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCByZXRuIEAg
b3B0X2VtcHR5X3AoY2ksIGNjKShyZWN2KSh2YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJfcmV0
bl9vcHRfZW1wdHlfcCgKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAo+ICsgICAg
TUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIDE7Cj4g
K30KPiArCj4gKy8qIGF0dHIgcmJfc251bV90IHNwX2luYyBAIG9wdF9lbXB0eV9wKGNpLCBjYyko
cmVjdikodmFsKSAqLwo+ICtyYl9zbnVtX3QKPiArYXR0cl9zcF9pbmNfb3B0X2VtcHR5X3AoCj4g
KyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxM
X0NBQ0hFIGNjKQo+ICspCj4gK3sKPiArICAgIHJldHVybiAwOwo+ICt9Cj4gKwo+ICsvKiBhdHRy
IHJiX251bV90IHdpZHRoIEAgb3B0X2VtcHR5X3AoY2ksIGNjKShyZWN2KSh2YWwpICovCj4gK3Ji
X251bV90Cj4gK2F0dHJfd2lkdGhfb3B0X2VtcHR5X3AoCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FM
TF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICspCj4gK3sK
PiArICAgIHJldHVybiAzOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGVudW0gcnVieV92bWluc25fdHlw
ZSBiaW4gQCBvcHRfc3VjYyhjaSwgY2MpKHJlY3YpKHZhbCkgKi8KPiArZW51bSBydWJ5X3ZtaW5z
bl90eXBlCj4gK2F0dHJfYmluX29wdF9zdWNjKAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5G
TyBjaSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKPiArKQo+ICt7Cj4gKyAg
ICByZXR1cm4gQklOKG9wdF9zdWNjKTsKPiArfQo+ICsKPiArLyogYXR0ciBib29sIGhhbmRsZXNf
c3AgQCBvcHRfc3VjYyhjaSwgY2MpKHJlY3YpKHZhbCkgKi8KPiArYm9vbAo+ICthdHRyX2hhbmRs
ZXNfc3Bfb3B0X3N1Y2MoCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiArICAg
IE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICspCj4gK3sKPiArICAgIHJldHVybiBmYWxz
ZTsKPiArfQo+ICsKPiArLyogYXR0ciBib29sIGxlYWYgQCBvcHRfc3VjYyhjaSwgY2MpKHJlY3Yp
KHZhbCkgKi8KPiArYm9vbAo+ICthdHRyX2xlYWZfb3B0X3N1Y2MoCj4gKyAgICBNQVlCRV9VTlVT
RUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICsp
Cj4gK3sKPiArICAgIHJldHVybiB0cnVlOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGNvbnN0IGNoYXIq
IG5hbWUgQCBvcHRfc3VjYyhjaSwgY2MpKHJlY3YpKHZhbCkgKi8KPiArY29uc3QgY2hhcioKPiAr
YXR0cl9uYW1lX29wdF9zdWNjKAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4g
KyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4g
aW5zbl9uYW1lKEJJTihvcHRfc3VjYykpOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IG9w
ZW4gQCBvcHRfc3VjYyhjaSwgY2MpKHJlY3YpKHZhbCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl9v
cGVuX29wdF9zdWNjKAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBN
QVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gMjsKPiAr
fQo+ICsKPiArLyogYXR0ciByYl9udW1fdCBwb3BuIEAgb3B0X3N1Y2MoY2ksIGNjKShyZWN2KSh2
YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJfcG9wbl9vcHRfc3VjYygKPiArICAgIE1BWUJFX1VO
VVNFRChDQUxMX0lORk8gY2kpLAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCj4g
KykKPiArewo+ICsgICAgcmV0dXJuIDE7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3QgcmV0
biBAIG9wdF9zdWNjKGNpLCBjYykocmVjdikodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3Jl
dG5fb3B0X3N1Y2MoCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1B
WUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICspCj4gK3sKPiArICAgIHJldHVybiAxOwo+ICt9
Cj4gKwo+ICsvKiBhdHRyIHJiX3NudW1fdCBzcF9pbmMgQCBvcHRfc3VjYyhjaSwgY2MpKHJlY3Yp
KHZhbCkgKi8KPiArcmJfc251bV90Cj4gK2F0dHJfc3BfaW5jX29wdF9zdWNjKAo+ICsgICAgTUFZ
QkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBj
YykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gMDsKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1f
dCB3aWR0aCBAIG9wdF9zdWNjKGNpLCBjYykocmVjdikodmFsKSAqLwo+ICtyYl9udW1fdAo+ICth
dHRyX3dpZHRoX29wdF9zdWNjKAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4g
KyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4g
MzsKPiArfQo+ICsKPiArLyogYXR0ciBlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYmluIEAgb3B0X25v
dChjaSwgY2MpKHJlY3YpKHZhbCkgKi8KPiArZW51bSBydWJ5X3ZtaW5zbl90eXBlCj4gK2F0dHJf
YmluX29wdF9ub3QoCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1B
WUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICspCj4gK3sKPiArICAgIHJldHVybiBCSU4ob3B0
X25vdCk7Cj4gK30KPiArCj4gKy8qIGF0dHIgYm9vbCBoYW5kbGVzX3NwIEAgb3B0X25vdChjaSwg
Y2MpKHJlY3YpKHZhbCkgKi8KPiArYm9vbAo+ICthdHRyX2hhbmRsZXNfc3Bfb3B0X25vdCgKPiAr
ICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExf
Q0FDSEUgY2MpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIGZhbHNlOwo+ICt9Cj4gKwo+ICsvKiBh
dHRyIGJvb2wgbGVhZiBAIG9wdF9ub3QoY2ksIGNjKShyZWN2KSh2YWwpICovCj4gK2Jvb2wKPiAr
YXR0cl9sZWFmX29wdF9ub3QoCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiAr
ICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICspCj4gK3sKPiArICAgIHJldHVybiB0
cnVlOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGNvbnN0IGNoYXIqIG5hbWUgQCBvcHRfbm90KGNpLCBj
YykocmVjdikodmFsKSAqLwo+ICtjb25zdCBjaGFyKgo+ICthdHRyX25hbWVfb3B0X25vdCgKPiAr
ICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExf
Q0FDSEUgY2MpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIGluc25fbmFtZShCSU4ob3B0X25vdCkp
Owo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IG9wZW4gQCBvcHRfbm90KGNpLCBjYykocmVj
dikodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX29wZW5fb3B0X25vdCgKPiArICAgIE1BWUJF
X1VOVVNFRChDQUxMX0lORk8gY2kpLAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2Mp
Cj4gKykKPiArewo+ICsgICAgcmV0dXJuIDI7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3Qg
cG9wbiBAIG9wdF9ub3QoY2ksIGNjKShyZWN2KSh2YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJf
cG9wbl9vcHRfbm90KAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBN
QVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gMTsKPiAr
fQo+ICsKPiArLyogYXR0ciByYl9udW1fdCByZXRuIEAgb3B0X25vdChjaSwgY2MpKHJlY3YpKHZh
bCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl9yZXRuX29wdF9ub3QoCj4gKyAgICBNQVlCRV9VTlVT
RUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICsp
Cj4gK3sKPiArICAgIHJldHVybiAxOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX3NudW1fdCBzcF9p
bmMgQCBvcHRfbm90KGNpLCBjYykocmVjdikodmFsKSAqLwo+ICtyYl9zbnVtX3QKPiArYXR0cl9z
cF9pbmNfb3B0X25vdCgKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAo+ICsgICAg
TUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIDA7Cj4g
K30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3Qgd2lkdGggQCBvcHRfbm90KGNpLCBjYykocmVjdiko
dmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3dpZHRoX29wdF9ub3QoCj4gKyAgICBNQVlCRV9V
TlVTRUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+
ICspCj4gK3sKPiArICAgIHJldHVybiAzOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGVudW0gcnVieV92
bWluc25fdHlwZSBiaW4gQCBvcHRfcmVnZXhwbWF0Y2gxKHJlY3YpKG9iaikodmFsKSAqLwo+ICtl
bnVtIHJ1Ynlfdm1pbnNuX3R5cGUKPiArYXR0cl9iaW5fb3B0X3JlZ2V4cG1hdGNoMShNQVlCRV9V
TlVTRUQoVkFMVUUgcmVjdikpCj4gK3sKPiArICAgIHJldHVybiBCSU4ob3B0X3JlZ2V4cG1hdGNo
MSk7Cj4gK30KPiArCj4gKy8qIGF0dHIgYm9vbCBoYW5kbGVzX3NwIEAgb3B0X3JlZ2V4cG1hdGNo
MShyZWN2KShvYmopKHZhbCkgKi8KPiArYm9vbAo+ICthdHRyX2hhbmRsZXNfc3Bfb3B0X3JlZ2V4
cG1hdGNoMShNQVlCRV9VTlVTRUQoVkFMVUUgcmVjdikpCj4gK3sKPiArICAgIHJldHVybiBmYWxz
ZTsKPiArfQo+ICsKPiArLyogYXR0ciBib29sIGxlYWYgQCBvcHRfcmVnZXhwbWF0Y2gxKHJlY3Yp
KG9iaikodmFsKSAqLwo+ICtib29sCj4gK2F0dHJfbGVhZl9vcHRfcmVnZXhwbWF0Y2gxKE1BWUJF
X1VOVVNFRChWQUxVRSByZWN2KSkKPiArewo+ICsgICAgcmV0dXJuCj4gKyNsaW5lIDEzOTcgImlu
c25zLmRlZiIKPiArQkFTSUNfT1BfVU5SRURFRklORURfUChCT1BfTUFUQ0gsIFJFR0VYUF9SRURF
RklORURfT1BfRkxBRyk7Cj4gKyNsaW5lIDg1NzkgImluc25zX2luZm8uaW5jIgo+ICt9Cj4gKwo+
ICsvKiBhdHRyIGNvbnN0IGNoYXIqIG5hbWUgQCBvcHRfcmVnZXhwbWF0Y2gxKHJlY3YpKG9iaiko
dmFsKSAqLwo+ICtjb25zdCBjaGFyKgo+ICthdHRyX25hbWVfb3B0X3JlZ2V4cG1hdGNoMShNQVlC
RV9VTlVTRUQoVkFMVUUgcmVjdikpCj4gK3sKPiArICAgIHJldHVybiBpbnNuX25hbWUoQklOKG9w
dF9yZWdleHBtYXRjaDEpKTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCBvcGVuIEAgb3B0
X3JlZ2V4cG1hdGNoMShyZWN2KShvYmopKHZhbCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl9vcGVu
X29wdF9yZWdleHBtYXRjaDEoTUFZQkVfVU5VU0VEKFZBTFVFIHJlY3YpKQo+ICt7Cj4gKyAgICBy
ZXR1cm4gMTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCBwb3BuIEAgb3B0X3JlZ2V4cG1h
dGNoMShyZWN2KShvYmopKHZhbCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl9wb3BuX29wdF9yZWdl
eHBtYXRjaDEoTUFZQkVfVU5VU0VEKFZBTFVFIHJlY3YpKQo+ICt7Cj4gKyAgICByZXR1cm4gMTsK
PiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCByZXRuIEAgb3B0X3JlZ2V4cG1hdGNoMShyZWN2
KShvYmopKHZhbCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl9yZXRuX29wdF9yZWdleHBtYXRjaDEo
TUFZQkVfVU5VU0VEKFZBTFVFIHJlY3YpKQo+ICt7Cj4gKyAgICByZXR1cm4gMTsKPiArfQo+ICsK
PiArLyogYXR0ciByYl9zbnVtX3Qgc3BfaW5jIEAgb3B0X3JlZ2V4cG1hdGNoMShyZWN2KShvYmop
KHZhbCkgKi8KPiArcmJfc251bV90Cj4gK2F0dHJfc3BfaW5jX29wdF9yZWdleHBtYXRjaDEoTUFZ
QkVfVU5VU0VEKFZBTFVFIHJlY3YpKQo+ICt7Cj4gKyAgICByZXR1cm4gMDsKPiArfQo+ICsKPiAr
LyogYXR0ciByYl9udW1fdCB3aWR0aCBAIG9wdF9yZWdleHBtYXRjaDEocmVjdikob2JqKSh2YWwp
ICovCj4gK3JiX251bV90Cj4gK2F0dHJfd2lkdGhfb3B0X3JlZ2V4cG1hdGNoMShNQVlCRV9VTlVT
RUQoVkFMVUUgcmVjdikpCj4gK3sKPiArICAgIHJldHVybiAyOwo+ICt9Cj4gKwo+ICsvKiBhdHRy
IGVudW0gcnVieV92bWluc25fdHlwZSBiaW4gQCBvcHRfcmVnZXhwbWF0Y2gyKGNpLCBjYykob2Jq
Miwgb2JqMSkodmFsKSAqLwo+ICtlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUKPiArYXR0cl9iaW5fb3B0
X3JlZ2V4cG1hdGNoMigKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAo+ICsgICAg
TUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCj4gKykKPiArewo+ICsgICAgcmV0dXJuIEJJTihv
cHRfcmVnZXhwbWF0Y2gyKTsKPiArfQo+ICsKPiArLyogYXR0ciBib29sIGhhbmRsZXNfc3AgQCBv
cHRfcmVnZXhwbWF0Y2gyKGNpLCBjYykob2JqMiwgb2JqMSkodmFsKSAqLwo+ICtib29sCj4gK2F0
dHJfaGFuZGxlc19zcF9vcHRfcmVnZXhwbWF0Y2gyKAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExf
SU5GTyBjaSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKPiArKQo+ICt7Cj4g
KyAgICByZXR1cm4gZmFsc2U7Cj4gK30KPiArCj4gKy8qIGF0dHIgYm9vbCBsZWFmIEAgb3B0X3Jl
Z2V4cG1hdGNoMihjaSwgY2MpKG9iajIsIG9iajEpKHZhbCkgKi8KPiArYm9vbAo+ICthdHRyX2xl
YWZfb3B0X3JlZ2V4cG1hdGNoMigKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpLAo+
ICsgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCj4gKykKPiArewo+ICsgICAgcmV0dXJu
IHRydWU7Cj4gK30KPiArCj4gKy8qIGF0dHIgY29uc3QgY2hhciogbmFtZSBAIG9wdF9yZWdleHBt
YXRjaDIoY2ksIGNjKShvYmoyLCBvYmoxKSh2YWwpICovCj4gK2NvbnN0IGNoYXIqCj4gK2F0dHJf
bmFtZV9vcHRfcmVnZXhwbWF0Y2gyKAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSks
Cj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKPiArKQo+ICt7Cj4gKyAgICByZXR1
cm4gaW5zbl9uYW1lKEJJTihvcHRfcmVnZXhwbWF0Y2gyKSk7Cj4gK30KPiArCj4gKy8qIGF0dHIg
cmJfbnVtX3Qgb3BlbiBAIG9wdF9yZWdleHBtYXRjaDIoY2ksIGNjKShvYmoyLCBvYmoxKSh2YWwp
ICovCj4gK3JiX251bV90Cj4gK2F0dHJfb3Blbl9vcHRfcmVnZXhwbWF0Y2gyKAo+ICsgICAgTUFZ
QkVfVU5VU0VEKENBTExfSU5GTyBjaSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBj
YykKPiArKQo+ICt7Cj4gKyAgICByZXR1cm4gMjsKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1f
dCBwb3BuIEAgb3B0X3JlZ2V4cG1hdGNoMihjaSwgY2MpKG9iajIsIG9iajEpKHZhbCkgKi8KPiAr
cmJfbnVtX3QKPiArYXR0cl9wb3BuX29wdF9yZWdleHBtYXRjaDIoCj4gKyAgICBNQVlCRV9VTlVT
RUQoQ0FMTF9JTkZPIGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICsp
Cj4gK3sKPiArICAgIHJldHVybiAyOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHJldG4g
QCBvcHRfcmVnZXhwbWF0Y2gyKGNpLCBjYykob2JqMiwgb2JqMSkodmFsKSAqLwo+ICtyYl9udW1f
dAo+ICthdHRyX3JldG5fb3B0X3JlZ2V4cG1hdGNoMigKPiArICAgIE1BWUJFX1VOVVNFRChDQUxM
X0lORk8gY2kpLAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpCj4gKykKPiArewo+
ICsgICAgcmV0dXJuIDE7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfc251bV90IHNwX2luYyBAIG9w
dF9yZWdleHBtYXRjaDIoY2ksIGNjKShvYmoyLCBvYmoxKSh2YWwpICovCj4gK3JiX3NudW1fdAo+
ICthdHRyX3NwX2luY19vcHRfcmVnZXhwbWF0Y2gyKAo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExf
SU5GTyBjaSksCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykKPiArKQo+ICt7Cj4g
KyAgICByZXR1cm4gLTE7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3Qgd2lkdGggQCBvcHRf
cmVnZXhwbWF0Y2gyKGNpLCBjYykob2JqMiwgb2JqMSkodmFsKSAqLwo+ICtyYl9udW1fdAo+ICth
dHRyX3dpZHRoX29wdF9yZWdleHBtYXRjaDIoCj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZP
IGNpKSwKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKQo+ICspCj4gK3sKPiArICAg
IHJldHVybiAzOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGVudW0gcnVieV92bWluc25fdHlwZSBiaW4g
QCBvcHRfY2FsbF9jX2Z1bmN0aW9uKGZ1bmNwdHIpKCkoKSAqLwo+ICtlbnVtIHJ1Ynlfdm1pbnNu
X3R5cGUKPiArYXR0cl9iaW5fb3B0X2NhbGxfY19mdW5jdGlvbihNQVlCRV9VTlVTRUQocmJfaW5z
bl9mdW5jX3QgZnVuY3B0cikpCj4gK3sKPiArICAgIHJldHVybiBCSU4ob3B0X2NhbGxfY19mdW5j
dGlvbik7Cj4gK30KPiArCj4gKy8qIGF0dHIgYm9vbCBoYW5kbGVzX3NwIEAgb3B0X2NhbGxfY19m
dW5jdGlvbihmdW5jcHRyKSgpKCkgKi8KPiArYm9vbAo+ICthdHRyX2hhbmRsZXNfc3Bfb3B0X2Nh
bGxfY19mdW5jdGlvbihNQVlCRV9VTlVTRUQocmJfaW5zbl9mdW5jX3QgZnVuY3B0cikpCj4gK3sK
PiArICAgIHJldHVybgo+ICsjbGluZSAxNDIzICJpbnNucy5kZWYiCj4gK3RydWU7Cj4gKyNsaW5l
IDg3MjggImluc25zX2luZm8uaW5jIgo+ICt9Cj4gKwo+ICsvKiBhdHRyIGJvb2wgbGVhZiBAIG9w
dF9jYWxsX2NfZnVuY3Rpb24oZnVuY3B0cikoKSgpICovCj4gK2Jvb2wKPiArYXR0cl9sZWFmX29w
dF9jYWxsX2NfZnVuY3Rpb24oTUFZQkVfVU5VU0VEKHJiX2luc25fZnVuY190IGZ1bmNwdHIpKQo+
ICt7Cj4gKyAgICByZXR1cm4KPiArI2xpbmUgMTQyMiAiaW5zbnMuZGVmIgo+ICtmYWxzZTsKPiAr
I2xpbmUgODczOCAiaW5zbnNfaW5mby5pbmMiCj4gK30KPiArCj4gKy8qIGF0dHIgY29uc3QgY2hh
ciogbmFtZSBAIG9wdF9jYWxsX2NfZnVuY3Rpb24oZnVuY3B0cikoKSgpICovCj4gK2NvbnN0IGNo
YXIqCj4gK2F0dHJfbmFtZV9vcHRfY2FsbF9jX2Z1bmN0aW9uKE1BWUJFX1VOVVNFRChyYl9pbnNu
X2Z1bmNfdCBmdW5jcHRyKSkKPiArewo+ICsgICAgcmV0dXJuIGluc25fbmFtZShCSU4ob3B0X2Nh
bGxfY19mdW5jdGlvbikpOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IG9wZW4gQCBvcHRf
Y2FsbF9jX2Z1bmN0aW9uKGZ1bmNwdHIpKCkoKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX29wZW5f
b3B0X2NhbGxfY19mdW5jdGlvbihNQVlCRV9VTlVTRUQocmJfaW5zbl9mdW5jX3QgZnVuY3B0cikp
Cj4gK3sKPiArICAgIHJldHVybiAxOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHBvcG4g
QCBvcHRfY2FsbF9jX2Z1bmN0aW9uKGZ1bmNwdHIpKCkoKSAqLwo+ICtyYl9udW1fdAo+ICthdHRy
X3BvcG5fb3B0X2NhbGxfY19mdW5jdGlvbihNQVlCRV9VTlVTRUQocmJfaW5zbl9mdW5jX3QgZnVu
Y3B0cikpCj4gK3sKPiArICAgIHJldHVybiAwOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90
IHJldG4gQCBvcHRfY2FsbF9jX2Z1bmN0aW9uKGZ1bmNwdHIpKCkoKSAqLwo+ICtyYl9udW1fdAo+
ICthdHRyX3JldG5fb3B0X2NhbGxfY19mdW5jdGlvbihNQVlCRV9VTlVTRUQocmJfaW5zbl9mdW5j
X3QgZnVuY3B0cikpCj4gK3sKPiArICAgIHJldHVybiAwOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJi
X3NudW1fdCBzcF9pbmMgQCBvcHRfY2FsbF9jX2Z1bmN0aW9uKGZ1bmNwdHIpKCkoKSAqLwo+ICty
Yl9zbnVtX3QKPiArYXR0cl9zcF9pbmNfb3B0X2NhbGxfY19mdW5jdGlvbihNQVlCRV9VTlVTRUQo
cmJfaW5zbl9mdW5jX3QgZnVuY3B0cikpCj4gK3sKPiArICAgIHJldHVybiAwOwo+ICt9Cj4gKwo+
ICsvKiBhdHRyIHJiX251bV90IHdpZHRoIEAgb3B0X2NhbGxfY19mdW5jdGlvbihmdW5jcHRyKSgp
KCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl93aWR0aF9vcHRfY2FsbF9jX2Z1bmN0aW9uKE1BWUJF
X1VOVVNFRChyYl9pbnNuX2Z1bmNfdCBmdW5jcHRyKSkKPiArewo+ICsgICAgcmV0dXJuIDI7Cj4g
K30KPiArCj4gKy8qIGF0dHIgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGJpbiBAIGJpdGJsdCgpKCko
cmV0KSAqLwo+ICtlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUKPiArYXR0cl9iaW5fYml0Ymx0KHZvaWQp
Cj4gK3sKPiArICAgIHJldHVybiBCSU4oYml0Ymx0KTsKPiArfQo+ICsKPiArLyogYXR0ciBib29s
IGhhbmRsZXNfc3AgQCBiaXRibHQoKSgpKHJldCkgKi8KPiArYm9vbAo+ICthdHRyX2hhbmRsZXNf
c3BfYml0Ymx0KHZvaWQpCj4gK3sKPiArICAgIHJldHVybiBmYWxzZTsKPiArfQo+ICsKPiArLyog
YXR0ciBib29sIGxlYWYgQCBiaXRibHQoKSgpKHJldCkgKi8KPiArYm9vbAo+ICthdHRyX2xlYWZf
Yml0Ymx0KHZvaWQpCj4gK3sKPiArICAgIHJldHVybiB0cnVlOwo+ICt9Cj4gKwo+ICsvKiBhdHRy
IGNvbnN0IGNoYXIqIG5hbWUgQCBiaXRibHQoKSgpKHJldCkgKi8KPiArY29uc3QgY2hhcioKPiAr
YXR0cl9uYW1lX2JpdGJsdCh2b2lkKQo+ICt7Cj4gKyAgICByZXR1cm4gaW5zbl9uYW1lKEJJTihi
aXRibHQpKTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCBvcGVuIEAgYml0Ymx0KCkoKShy
ZXQpICovCj4gK3JiX251bV90Cj4gK2F0dHJfb3Blbl9iaXRibHQodm9pZCkKPiArewo+ICsgICAg
cmV0dXJuIDA7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3QgcG9wbiBAIGJpdGJsdCgpKCko
cmV0KSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3BvcG5fYml0Ymx0KHZvaWQpCj4gK3sKPiArICAg
IHJldHVybiAwOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHJldG4gQCBiaXRibHQoKSgp
KHJldCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl9yZXRuX2JpdGJsdCh2b2lkKQo+ICt7Cj4gKyAg
ICByZXR1cm4gMTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9zbnVtX3Qgc3BfaW5jIEAgYml0Ymx0
KCkoKShyZXQpICovCj4gK3JiX3NudW1fdAo+ICthdHRyX3NwX2luY19iaXRibHQodm9pZCkKPiAr
ewo+ICsgICAgcmV0dXJuIDE7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3Qgd2lkdGggQCBi
aXRibHQoKSgpKHJldCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl93aWR0aF9iaXRibHQodm9pZCkK
PiArewo+ICsgICAgcmV0dXJuIDE7Cj4gK30KPiArCj4gKy8qIGF0dHIgZW51bSBydWJ5X3ZtaW5z
bl90eXBlIGJpbiBAIGFuc3dlcigpKCkocmV0KSAqLwo+ICtlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUK
PiArYXR0cl9iaW5fYW5zd2VyKHZvaWQpCj4gK3sKPiArICAgIHJldHVybiBCSU4oYW5zd2VyKTsK
PiArfQo+ICsKPiArLyogYXR0ciBib29sIGhhbmRsZXNfc3AgQCBhbnN3ZXIoKSgpKHJldCkgKi8K
PiArYm9vbAo+ICthdHRyX2hhbmRsZXNfc3BfYW5zd2VyKHZvaWQpCj4gK3sKPiArICAgIHJldHVy
biBmYWxzZTsKPiArfQo+ICsKPiArLyogYXR0ciBib29sIGxlYWYgQCBhbnN3ZXIoKSgpKHJldCkg
Ki8KPiArYm9vbAo+ICthdHRyX2xlYWZfYW5zd2VyKHZvaWQpCj4gK3sKPiArICAgIHJldHVybiB0
cnVlOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGNvbnN0IGNoYXIqIG5hbWUgQCBhbnN3ZXIoKSgpKHJl
dCkgKi8KPiArY29uc3QgY2hhcioKPiArYXR0cl9uYW1lX2Fuc3dlcih2b2lkKQo+ICt7Cj4gKyAg
ICByZXR1cm4gaW5zbl9uYW1lKEJJTihhbnN3ZXIpKTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9u
dW1fdCBvcGVuIEAgYW5zd2VyKCkoKShyZXQpICovCj4gK3JiX251bV90Cj4gK2F0dHJfb3Blbl9h
bnN3ZXIodm9pZCkKPiArewo+ICsgICAgcmV0dXJuIDA7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJf
bnVtX3QgcG9wbiBAIGFuc3dlcigpKCkocmV0KSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3BvcG5f
YW5zd2VyKHZvaWQpCj4gK3sKPiArICAgIHJldHVybiAwOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJi
X251bV90IHJldG4gQCBhbnN3ZXIoKSgpKHJldCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl9yZXRu
X2Fuc3dlcih2b2lkKQo+ICt7Cj4gKyAgICByZXR1cm4gMTsKPiArfQo+ICsKPiArLyogYXR0ciBy
Yl9zbnVtX3Qgc3BfaW5jIEAgYW5zd2VyKCkoKShyZXQpICovCj4gK3JiX3NudW1fdAo+ICthdHRy
X3NwX2luY19hbnN3ZXIodm9pZCkKPiArewo+ICsgICAgcmV0dXJuIDE7Cj4gK30KPiArCj4gKy8q
IGF0dHIgcmJfbnVtX3Qgd2lkdGggQCBhbnN3ZXIoKSgpKHJldCkgKi8KPiArcmJfbnVtX3QKPiAr
YXR0cl93aWR0aF9hbnN3ZXIodm9pZCkKPiArewo+ICsgICAgcmV0dXJuIDE7Cj4gK30KPiArCj4g
Ky8qIGF0dHIgZW51bSBydWJ5X3ZtaW5zbl90eXBlIGJpbiBAIGdldGxvY2FsX1dDXzAoaWR4KSgp
KHZhbCkgKi8KPiArZW51bSBydWJ5X3ZtaW5zbl90eXBlCj4gK2F0dHJfYmluX2dldGxvY2FsX1dD
XzAoTUFZQkVfVU5VU0VEKGxpbmRleF90IGlkeCkpCj4gK3sKPiArICAgIHJldHVybiBCSU4oZ2V0
bG9jYWxfV0NfMCk7Cj4gK30KPiArCj4gKy8qIGF0dHIgYm9vbCBoYW5kbGVzX3NwIEAgZ2V0bG9j
YWxfV0NfMChpZHgpKCkodmFsKSAqLwo+ICtib29sCj4gK2F0dHJfaGFuZGxlc19zcF9nZXRsb2Nh
bF9XQ18wKE1BWUJFX1VOVVNFRChsaW5kZXhfdCBpZHgpKQo+ICt7Cj4gKyAgICByZXR1cm4gZmFs
c2U7Cj4gK30KPiArCj4gKy8qIGF0dHIgYm9vbCBsZWFmIEAgZ2V0bG9jYWxfV0NfMChpZHgpKCko
dmFsKSAqLwo+ICtib29sCj4gK2F0dHJfbGVhZl9nZXRsb2NhbF9XQ18wKE1BWUJFX1VOVVNFRChs
aW5kZXhfdCBpZHgpKQo+ICt7Cj4gKyAgICByZXR1cm4gdHJ1ZTsKPiArfQo+ICsKPiArLyogYXR0
ciBjb25zdCBjaGFyKiBuYW1lIEAgZ2V0bG9jYWxfV0NfMChpZHgpKCkodmFsKSAqLwo+ICtjb25z
dCBjaGFyKgo+ICthdHRyX25hbWVfZ2V0bG9jYWxfV0NfMChNQVlCRV9VTlVTRUQobGluZGV4X3Qg
aWR4KSkKPiArewo+ICsgICAgcmV0dXJuIGluc25fbmFtZShCSU4oZ2V0bG9jYWxfV0NfMCkpOwo+
ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IG9wZW4gQCBnZXRsb2NhbF9XQ18wKGlkeCkoKSh2
YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJfb3Blbl9nZXRsb2NhbF9XQ18wKE1BWUJFX1VOVVNF
RChsaW5kZXhfdCBpZHgpKQo+ICt7Cj4gKyAgICByZXR1cm4gMTsKPiArfQo+ICsKPiArLyogYXR0
ciByYl9udW1fdCBwb3BuIEAgZ2V0bG9jYWxfV0NfMChpZHgpKCkodmFsKSAqLwo+ICtyYl9udW1f
dAo+ICthdHRyX3BvcG5fZ2V0bG9jYWxfV0NfMChNQVlCRV9VTlVTRUQobGluZGV4X3QgaWR4KSkK
PiArewo+ICsgICAgcmV0dXJuIDA7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3QgcmV0biBA
IGdldGxvY2FsX1dDXzAoaWR4KSgpKHZhbCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl9yZXRuX2dl
dGxvY2FsX1dDXzAoTUFZQkVfVU5VU0VEKGxpbmRleF90IGlkeCkpCj4gK3sKPiArICAgIHJldHVy
biAxOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX3NudW1fdCBzcF9pbmMgQCBnZXRsb2NhbF9XQ18w
KGlkeCkoKSh2YWwpICovCj4gK3JiX3NudW1fdAo+ICthdHRyX3NwX2luY19nZXRsb2NhbF9XQ18w
KE1BWUJFX1VOVVNFRChsaW5kZXhfdCBpZHgpKQo+ICt7Cj4gKyAgICByZXR1cm4gMTsKPiArfQo+
ICsKPiArLyogYXR0ciByYl9udW1fdCB3aWR0aCBAIGdldGxvY2FsX1dDXzAoaWR4KSgpKHZhbCkg
Ki8KPiArcmJfbnVtX3QKPiArYXR0cl93aWR0aF9nZXRsb2NhbF9XQ18wKE1BWUJFX1VOVVNFRChs
aW5kZXhfdCBpZHgpKQo+ICt7Cj4gKyAgICByZXR1cm4gMjsKPiArfQo+ICsKPiArLyogYXR0ciBl
bnVtIHJ1Ynlfdm1pbnNuX3R5cGUgYmluIEAgZ2V0bG9jYWxfV0NfMShpZHgpKCkodmFsKSAqLwo+
ICtlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUKPiArYXR0cl9iaW5fZ2V0bG9jYWxfV0NfMShNQVlCRV9V
TlVTRUQobGluZGV4X3QgaWR4KSkKPiArewo+ICsgICAgcmV0dXJuIEJJTihnZXRsb2NhbF9XQ18x
KTsKPiArfQo+ICsKPiArLyogYXR0ciBib29sIGhhbmRsZXNfc3AgQCBnZXRsb2NhbF9XQ18xKGlk
eCkoKSh2YWwpICovCj4gK2Jvb2wKPiArYXR0cl9oYW5kbGVzX3NwX2dldGxvY2FsX1dDXzEoTUFZ
QkVfVU5VU0VEKGxpbmRleF90IGlkeCkpCj4gK3sKPiArICAgIHJldHVybiBmYWxzZTsKPiArfQo+
ICsKPiArLyogYXR0ciBib29sIGxlYWYgQCBnZXRsb2NhbF9XQ18xKGlkeCkoKSh2YWwpICovCj4g
K2Jvb2wKPiArYXR0cl9sZWFmX2dldGxvY2FsX1dDXzEoTUFZQkVfVU5VU0VEKGxpbmRleF90IGlk
eCkpCj4gK3sKPiArICAgIHJldHVybiB0cnVlOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGNvbnN0IGNo
YXIqIG5hbWUgQCBnZXRsb2NhbF9XQ18xKGlkeCkoKSh2YWwpICovCj4gK2NvbnN0IGNoYXIqCj4g
K2F0dHJfbmFtZV9nZXRsb2NhbF9XQ18xKE1BWUJFX1VOVVNFRChsaW5kZXhfdCBpZHgpKQo+ICt7
Cj4gKyAgICByZXR1cm4gaW5zbl9uYW1lKEJJTihnZXRsb2NhbF9XQ18xKSk7Cj4gK30KPiArCj4g
Ky8qIGF0dHIgcmJfbnVtX3Qgb3BlbiBAIGdldGxvY2FsX1dDXzEoaWR4KSgpKHZhbCkgKi8KPiAr
cmJfbnVtX3QKPiArYXR0cl9vcGVuX2dldGxvY2FsX1dDXzEoTUFZQkVfVU5VU0VEKGxpbmRleF90
IGlkeCkpCj4gK3sKPiArICAgIHJldHVybiAxOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90
IHBvcG4gQCBnZXRsb2NhbF9XQ18xKGlkeCkoKSh2YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJf
cG9wbl9nZXRsb2NhbF9XQ18xKE1BWUJFX1VOVVNFRChsaW5kZXhfdCBpZHgpKQo+ICt7Cj4gKyAg
ICByZXR1cm4gMDsKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCByZXRuIEAgZ2V0bG9jYWxf
V0NfMShpZHgpKCkodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3JldG5fZ2V0bG9jYWxfV0Nf
MShNQVlCRV9VTlVTRUQobGluZGV4X3QgaWR4KSkKPiArewo+ICsgICAgcmV0dXJuIDE7Cj4gK30K
PiArCj4gKy8qIGF0dHIgcmJfc251bV90IHNwX2luYyBAIGdldGxvY2FsX1dDXzEoaWR4KSgpKHZh
bCkgKi8KPiArcmJfc251bV90Cj4gK2F0dHJfc3BfaW5jX2dldGxvY2FsX1dDXzEoTUFZQkVfVU5V
U0VEKGxpbmRleF90IGlkeCkpCj4gK3sKPiArICAgIHJldHVybiAxOwo+ICt9Cj4gKwo+ICsvKiBh
dHRyIHJiX251bV90IHdpZHRoIEAgZ2V0bG9jYWxfV0NfMShpZHgpKCkodmFsKSAqLwo+ICtyYl9u
dW1fdAo+ICthdHRyX3dpZHRoX2dldGxvY2FsX1dDXzEoTUFZQkVfVU5VU0VEKGxpbmRleF90IGlk
eCkpCj4gK3sKPiArICAgIHJldHVybiAyOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGVudW0gcnVieV92
bWluc25fdHlwZSBiaW4gQCBzZXRsb2NhbF9XQ18wKGlkeCkodmFsKSgpICovCj4gK2VudW0gcnVi
eV92bWluc25fdHlwZQo+ICthdHRyX2Jpbl9zZXRsb2NhbF9XQ18wKE1BWUJFX1VOVVNFRChsaW5k
ZXhfdCBpZHgpKQo+ICt7Cj4gKyAgICByZXR1cm4gQklOKHNldGxvY2FsX1dDXzApOwo+ICt9Cj4g
Kwo+ICsvKiBhdHRyIGJvb2wgaGFuZGxlc19zcCBAIHNldGxvY2FsX1dDXzAoaWR4KSh2YWwpKCkg
Ki8KPiArYm9vbAo+ICthdHRyX2hhbmRsZXNfc3Bfc2V0bG9jYWxfV0NfMChNQVlCRV9VTlVTRUQo
bGluZGV4X3QgaWR4KSkKPiArewo+ICsgICAgcmV0dXJuIGZhbHNlOwo+ICt9Cj4gKwo+ICsvKiBh
dHRyIGJvb2wgbGVhZiBAIHNldGxvY2FsX1dDXzAoaWR4KSh2YWwpKCkgKi8KPiArYm9vbAo+ICth
dHRyX2xlYWZfc2V0bG9jYWxfV0NfMChNQVlCRV9VTlVTRUQobGluZGV4X3QgaWR4KSkKPiArewo+
ICsgICAgcmV0dXJuIHRydWU7Cj4gK30KPiArCj4gKy8qIGF0dHIgY29uc3QgY2hhciogbmFtZSBA
IHNldGxvY2FsX1dDXzAoaWR4KSh2YWwpKCkgKi8KPiArY29uc3QgY2hhcioKPiArYXR0cl9uYW1l
X3NldGxvY2FsX1dDXzAoTUFZQkVfVU5VU0VEKGxpbmRleF90IGlkeCkpCj4gK3sKPiArICAgIHJl
dHVybiBpbnNuX25hbWUoQklOKHNldGxvY2FsX1dDXzApKTsKPiArfQo+ICsKPiArLyogYXR0ciBy
Yl9udW1fdCBvcGVuIEAgc2V0bG9jYWxfV0NfMChpZHgpKHZhbCkoKSAqLwo+ICtyYl9udW1fdAo+
ICthdHRyX29wZW5fc2V0bG9jYWxfV0NfMChNQVlCRV9VTlVTRUQobGluZGV4X3QgaWR4KSkKPiAr
ewo+ICsgICAgcmV0dXJuIDE7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3QgcG9wbiBAIHNl
dGxvY2FsX1dDXzAoaWR4KSh2YWwpKCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl9wb3BuX3NldGxv
Y2FsX1dDXzAoTUFZQkVfVU5VU0VEKGxpbmRleF90IGlkeCkpCj4gK3sKPiArICAgIHJldHVybiAx
Owo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHJldG4gQCBzZXRsb2NhbF9XQ18wKGlkeCko
dmFsKSgpICovCj4gK3JiX251bV90Cj4gK2F0dHJfcmV0bl9zZXRsb2NhbF9XQ18wKE1BWUJFX1VO
VVNFRChsaW5kZXhfdCBpZHgpKQo+ICt7Cj4gKyAgICByZXR1cm4gMDsKPiArfQo+ICsKPiArLyog
YXR0ciByYl9zbnVtX3Qgc3BfaW5jIEAgc2V0bG9jYWxfV0NfMChpZHgpKHZhbCkoKSAqLwo+ICty
Yl9zbnVtX3QKPiArYXR0cl9zcF9pbmNfc2V0bG9jYWxfV0NfMChNQVlCRV9VTlVTRUQobGluZGV4
X3QgaWR4KSkKPiArewo+ICsgICAgcmV0dXJuIC0xOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251
bV90IHdpZHRoIEAgc2V0bG9jYWxfV0NfMChpZHgpKHZhbCkoKSAqLwo+ICtyYl9udW1fdAo+ICth
dHRyX3dpZHRoX3NldGxvY2FsX1dDXzAoTUFZQkVfVU5VU0VEKGxpbmRleF90IGlkeCkpCj4gK3sK
PiArICAgIHJldHVybiAyOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGVudW0gcnVieV92bWluc25fdHlw
ZSBiaW4gQCBzZXRsb2NhbF9XQ18xKGlkeCkodmFsKSgpICovCj4gK2VudW0gcnVieV92bWluc25f
dHlwZQo+ICthdHRyX2Jpbl9zZXRsb2NhbF9XQ18xKE1BWUJFX1VOVVNFRChsaW5kZXhfdCBpZHgp
KQo+ICt7Cj4gKyAgICByZXR1cm4gQklOKHNldGxvY2FsX1dDXzEpOwo+ICt9Cj4gKwo+ICsvKiBh
dHRyIGJvb2wgaGFuZGxlc19zcCBAIHNldGxvY2FsX1dDXzEoaWR4KSh2YWwpKCkgKi8KPiArYm9v
bAo+ICthdHRyX2hhbmRsZXNfc3Bfc2V0bG9jYWxfV0NfMShNQVlCRV9VTlVTRUQobGluZGV4X3Qg
aWR4KSkKPiArewo+ICsgICAgcmV0dXJuIGZhbHNlOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGJvb2wg
bGVhZiBAIHNldGxvY2FsX1dDXzEoaWR4KSh2YWwpKCkgKi8KPiArYm9vbAo+ICthdHRyX2xlYWZf
c2V0bG9jYWxfV0NfMShNQVlCRV9VTlVTRUQobGluZGV4X3QgaWR4KSkKPiArewo+ICsgICAgcmV0
dXJuIHRydWU7Cj4gK30KPiArCj4gKy8qIGF0dHIgY29uc3QgY2hhciogbmFtZSBAIHNldGxvY2Fs
X1dDXzEoaWR4KSh2YWwpKCkgKi8KPiArY29uc3QgY2hhcioKPiArYXR0cl9uYW1lX3NldGxvY2Fs
X1dDXzEoTUFZQkVfVU5VU0VEKGxpbmRleF90IGlkeCkpCj4gK3sKPiArICAgIHJldHVybiBpbnNu
X25hbWUoQklOKHNldGxvY2FsX1dDXzEpKTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCBv
cGVuIEAgc2V0bG9jYWxfV0NfMShpZHgpKHZhbCkoKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX29w
ZW5fc2V0bG9jYWxfV0NfMShNQVlCRV9VTlVTRUQobGluZGV4X3QgaWR4KSkKPiArewo+ICsgICAg
cmV0dXJuIDE7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3QgcG9wbiBAIHNldGxvY2FsX1dD
XzEoaWR4KSh2YWwpKCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl9wb3BuX3NldGxvY2FsX1dDXzEo
TUFZQkVfVU5VU0VEKGxpbmRleF90IGlkeCkpCj4gK3sKPiArICAgIHJldHVybiAxOwo+ICt9Cj4g
Kwo+ICsvKiBhdHRyIHJiX251bV90IHJldG4gQCBzZXRsb2NhbF9XQ18xKGlkeCkodmFsKSgpICov
Cj4gK3JiX251bV90Cj4gK2F0dHJfcmV0bl9zZXRsb2NhbF9XQ18xKE1BWUJFX1VOVVNFRChsaW5k
ZXhfdCBpZHgpKQo+ICt7Cj4gKyAgICByZXR1cm4gMDsKPiArfQo+ICsKPiArLyogYXR0ciByYl9z
bnVtX3Qgc3BfaW5jIEAgc2V0bG9jYWxfV0NfMShpZHgpKHZhbCkoKSAqLwo+ICtyYl9zbnVtX3QK
PiArYXR0cl9zcF9pbmNfc2V0bG9jYWxfV0NfMShNQVlCRV9VTlVTRUQobGluZGV4X3QgaWR4KSkK
PiArewo+ICsgICAgcmV0dXJuIC0xOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHdpZHRo
IEAgc2V0bG9jYWxfV0NfMShpZHgpKHZhbCkoKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3dpZHRo
X3NldGxvY2FsX1dDXzEoTUFZQkVfVU5VU0VEKGxpbmRleF90IGlkeCkpCj4gK3sKPiArICAgIHJl
dHVybiAyOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGVudW0gcnVieV92bWluc25fdHlwZSBiaW4gQCBw
dXRvYmplY3RfSU5UMkZJWF8wXygpKCkodmFsKSAqLwo+ICtlbnVtIHJ1Ynlfdm1pbnNuX3R5cGUK
PiArYXR0cl9iaW5fcHV0b2JqZWN0X0lOVDJGSVhfMF8odm9pZCkKPiArewo+ICsgICAgcmV0dXJu
IEJJTihwdXRvYmplY3RfSU5UMkZJWF8wXyk7Cj4gK30KPiArCj4gKy8qIGF0dHIgYm9vbCBoYW5k
bGVzX3NwIEAgcHV0b2JqZWN0X0lOVDJGSVhfMF8oKSgpKHZhbCkgKi8KPiArYm9vbAo+ICthdHRy
X2hhbmRsZXNfc3BfcHV0b2JqZWN0X0lOVDJGSVhfMF8odm9pZCkKPiArewo+ICsgICAgcmV0dXJu
IGZhbHNlOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGJvb2wgbGVhZiBAIHB1dG9iamVjdF9JTlQyRklY
XzBfKCkoKSh2YWwpICovCj4gK2Jvb2wKPiArYXR0cl9sZWFmX3B1dG9iamVjdF9JTlQyRklYXzBf
KHZvaWQpCj4gK3sKPiArICAgIHJldHVybiB0cnVlOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIGNvbnN0
IGNoYXIqIG5hbWUgQCBwdXRvYmplY3RfSU5UMkZJWF8wXygpKCkodmFsKSAqLwo+ICtjb25zdCBj
aGFyKgo+ICthdHRyX25hbWVfcHV0b2JqZWN0X0lOVDJGSVhfMF8odm9pZCkKPiArewo+ICsgICAg
cmV0dXJuIGluc25fbmFtZShCSU4ocHV0b2JqZWN0X0lOVDJGSVhfMF8pKTsKPiArfQo+ICsKPiAr
LyogYXR0ciByYl9udW1fdCBvcGVuIEAgcHV0b2JqZWN0X0lOVDJGSVhfMF8oKSgpKHZhbCkgKi8K
PiArcmJfbnVtX3QKPiArYXR0cl9vcGVuX3B1dG9iamVjdF9JTlQyRklYXzBfKHZvaWQpCj4gK3sK
PiArICAgIHJldHVybiAwOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHBvcG4gQCBwdXRv
YmplY3RfSU5UMkZJWF8wXygpKCkodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3BvcG5fcHV0
b2JqZWN0X0lOVDJGSVhfMF8odm9pZCkKPiArewo+ICsgICAgcmV0dXJuIDA7Cj4gK30KPiArCj4g
Ky8qIGF0dHIgcmJfbnVtX3QgcmV0biBAIHB1dG9iamVjdF9JTlQyRklYXzBfKCkoKSh2YWwpICov
Cj4gK3JiX251bV90Cj4gK2F0dHJfcmV0bl9wdXRvYmplY3RfSU5UMkZJWF8wXyh2b2lkKQo+ICt7
Cj4gKyAgICByZXR1cm4gMTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9zbnVtX3Qgc3BfaW5jIEAg
cHV0b2JqZWN0X0lOVDJGSVhfMF8oKSgpKHZhbCkgKi8KPiArcmJfc251bV90Cj4gK2F0dHJfc3Bf
aW5jX3B1dG9iamVjdF9JTlQyRklYXzBfKHZvaWQpCj4gK3sKPiArICAgIHJldHVybiAxOwo+ICt9
Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHdpZHRoIEAgcHV0b2JqZWN0X0lOVDJGSVhfMF8oKSgp
KHZhbCkgKi8KPiArcmJfbnVtX3QKPiArYXR0cl93aWR0aF9wdXRvYmplY3RfSU5UMkZJWF8wXyh2
b2lkKQo+ICt7Cj4gKyAgICByZXR1cm4gMTsKPiArfQo+ICsKPiArLyogYXR0ciBlbnVtIHJ1Ynlf
dm1pbnNuX3R5cGUgYmluIEAgcHV0b2JqZWN0X0lOVDJGSVhfMV8oKSgpKHZhbCkgKi8KPiArZW51
bSBydWJ5X3ZtaW5zbl90eXBlCj4gK2F0dHJfYmluX3B1dG9iamVjdF9JTlQyRklYXzFfKHZvaWQp
Cj4gK3sKPiArICAgIHJldHVybiBCSU4ocHV0b2JqZWN0X0lOVDJGSVhfMV8pOwo+ICt9Cj4gKwo+
ICsvKiBhdHRyIGJvb2wgaGFuZGxlc19zcCBAIHB1dG9iamVjdF9JTlQyRklYXzFfKCkoKSh2YWwp
ICovCj4gK2Jvb2wKPiArYXR0cl9oYW5kbGVzX3NwX3B1dG9iamVjdF9JTlQyRklYXzFfKHZvaWQp
Cj4gK3sKPiArICAgIHJldHVybiBmYWxzZTsKPiArfQo+ICsKPiArLyogYXR0ciBib29sIGxlYWYg
QCBwdXRvYmplY3RfSU5UMkZJWF8xXygpKCkodmFsKSAqLwo+ICtib29sCj4gK2F0dHJfbGVhZl9w
dXRvYmplY3RfSU5UMkZJWF8xXyh2b2lkKQo+ICt7Cj4gKyAgICByZXR1cm4gdHJ1ZTsKPiArfQo+
ICsKPiArLyogYXR0ciBjb25zdCBjaGFyKiBuYW1lIEAgcHV0b2JqZWN0X0lOVDJGSVhfMV8oKSgp
KHZhbCkgKi8KPiArY29uc3QgY2hhcioKPiArYXR0cl9uYW1lX3B1dG9iamVjdF9JTlQyRklYXzFf
KHZvaWQpCj4gK3sKPiArICAgIHJldHVybiBpbnNuX25hbWUoQklOKHB1dG9iamVjdF9JTlQyRklY
XzFfKSk7Cj4gK30KPiArCj4gKy8qIGF0dHIgcmJfbnVtX3Qgb3BlbiBAIHB1dG9iamVjdF9JTlQy
RklYXzFfKCkoKSh2YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJfb3Blbl9wdXRvYmplY3RfSU5U
MkZJWF8xXyh2b2lkKQo+ICt7Cj4gKyAgICByZXR1cm4gMDsKPiArfQo+ICsKPiArLyogYXR0ciBy
Yl9udW1fdCBwb3BuIEAgcHV0b2JqZWN0X0lOVDJGSVhfMV8oKSgpKHZhbCkgKi8KPiArcmJfbnVt
X3QKPiArYXR0cl9wb3BuX3B1dG9iamVjdF9JTlQyRklYXzFfKHZvaWQpCj4gK3sKPiArICAgIHJl
dHVybiAwOwo+ICt9Cj4gKwo+ICsvKiBhdHRyIHJiX251bV90IHJldG4gQCBwdXRvYmplY3RfSU5U
MkZJWF8xXygpKCkodmFsKSAqLwo+ICtyYl9udW1fdAo+ICthdHRyX3JldG5fcHV0b2JqZWN0X0lO
VDJGSVhfMV8odm9pZCkKPiArewo+ICsgICAgcmV0dXJuIDE7Cj4gK30KPiArCj4gKy8qIGF0dHIg
cmJfc251bV90IHNwX2luYyBAIHB1dG9iamVjdF9JTlQyRklYXzFfKCkoKSh2YWwpICovCj4gK3Ji
X3NudW1fdAo+ICthdHRyX3NwX2luY19wdXRvYmplY3RfSU5UMkZJWF8xXyh2b2lkKQo+ICt7Cj4g
KyAgICByZXR1cm4gMTsKPiArfQo+ICsKPiArLyogYXR0ciByYl9udW1fdCB3aWR0aCBAIHB1dG9i
amVjdF9JTlQyRklYXzFfKCkoKSh2YWwpICovCj4gK3JiX251bV90Cj4gK2F0dHJfd2lkdGhfcHV0
b2JqZWN0X0lOVDJGSVhfMV8odm9pZCkKPiArewo+ICsgICAgcmV0dXJuIDE7Cj4gK30KPiArCj4g
K1BVUkVGVU5DKE1BWUJFX1VOVVNFRChzdGF0aWMgaW50IGluc25fc3RhY2tfaW5jcmVhc2UoaW50
IGRlcHRoLCBpbnQgaW5zbiwgY29uc3QgVkFMVUUgKm9wZXMpKSk7Cj4gK1BVUkVGVU5DKHN0YXRp
YyByYl9zbnVtX3QgaW5zbl9zdGFja19pbmNyZWFzZV9kaXNwYXRjaChlbnVtIHJ1Ynlfdm1pbnNu
X3R5cGUgaW5zbiwgY29uc3QgVkFMVUUgKm9wZXMpKTsKPiArCj4gK3JiX3NudW1fdAo+ICtpbnNu
X3N0YWNrX2luY3JlYXNlX2Rpc3BhdGNoKGVudW0gcnVieV92bWluc25fdHlwZSBpbnNuLCBjb25z
dCBWQUxVRSAqb3BlcykKPiArewo+ICsgICAgc3RhdGljIGNvbnN0IHNpZ25lZCBjaGFyIHRbXSA9
IHsKPiArICAgICAgICAgICAwLCAgICAxLCAgIC0xLCAgICAxLCAgIC0xLCAgICAxLCAgICAxLCAg
IC0xLAo+ICsgICAgICAgICAgIDEsICAgLTEsICAgIDEsICAgLTEsICAgIDAsICAgLTIsICAgIDEs
ICAgLTEsCj4gKyAgICAgICAgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgLTEy
NywgICAtMSwKPiArICAgICAgICAgICAwLCAtMTI3LCAgICAwLCAtMTI3LCAgICAxLCAgICAxLCAt
MTI3LCAgIC0xLAo+ICsgICAgICAgICAgIDAsIC0xMjcsICAgLTEsICAgLTEsICAgIDEsIC0xMjcs
ICAgIDAsIC0xMjcsCj4gKyAgICAgICAgLTEyNywgLTEyNywgLTEyNywgLTEyNywgICAgMCwgICAt
MSwgICAgMSwgICAgMCwKPiArICAgICAgICAgIC0xLCAtMTI3LCAtMTI3LCAgICAxLCAgICAxLCAt
MTI3LCAtMTI3LCAtMTI3LAo+ICsgICAgICAgIC0xMjcsICAgIDAsICAgIDAsICAgIDAsICAgLTEs
ICAgLTEsICAgLTEsICAgIDEsCj4gKyAgICAgICAgICAgMCwgICAgMSwgLTEyNywgICAtMSwgICAt
MSwgICAtMSwgICAtMSwgICAtMSwKPiArICAgICAgICAgIC0xLCAgIC0xLCAgIC0xLCAgIC0xLCAg
IC0xLCAgIC0xLCAgIC0xLCAgIC0xLAo+ICsgICAgICAgICAgLTEsICAgLTEsICAgLTIsICAgLTEs
ICAgIDAsICAgIDAsICAgIDAsICAgIDAsCj4gKyAgICAgICAgICAgMCwgICAgMCwgICAgMCwgICAt
MSwgICAgMCwgICAgMSwgICAgMSwgICAgMSwKPiArICAgICAgICAgICAxLCAgIC0xLCAgIC0xLCAg
ICAxLCAgICAxLCAgICAwLCAgICAwLCAgICAwLAo+ICsgICAgICAgICAgIDAsICAgIDAsICAgIDAs
ICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsCj4gKyAgICAgICAgICAgMCwgICAgMCwgICAg
MCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwKPiArICAgICAgICAgICAwLCAgICAwLCAg
ICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLAo+ICsgICAgICAgICAgIDAsICAgIDAs
ICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsCj4gKyAgICAgICAgICAgMCwgICAg
MCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwKPiArICAgICAgICAgICAwLCAg
ICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLAo+ICsgICAgICAgICAgIDAs
ICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsCj4gKyAgICAgICAgICAg
MCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwKPiArICAgICAgICAg
ICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLAo+ICsgICAgICAg
ICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsICAgIDAsCj4gKyAgICAg
ICAgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwgICAgMCwKPiArICAg
ICAgICAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLCAgICAwLAo+ICsg
ICAgICAgICAgIDAsICAgIDAsCj4gKyAgICB9Owo+ICsgICAgc2lnbmVkIGNoYXIgYyA9IHRbaW5z
bl07Cj4gKwo+ICsgICAgQVNTRVJUX1ZNX0lOU1RSVUNUSU9OX1NJWkUodCk7Cj4gKyAgICBpZiAo
YyAhPSAtMTI3KSB7Cj4gKyAgICAgICAgcmV0dXJuIGM7Cj4gKyAgICB9Cj4gKyAgICBlbHNlIHN3
aXRjaChpbnNuKSB7Cj4gKyAgICBkZWZhdWx0Ogo+ICsgICAgICAgIFVOUkVBQ0hBQkxFOwo+ICsg
ICAgY2FzZSBCSU4oY29uY2F0c3RyaW5ncyk6Cj4gKyAgICAgICAgcmV0dXJuIGF0dHJfc3BfaW5j
X2NvbmNhdHN0cmluZ3MoTlVNMkxPTkcob3Blc1swXSkpOwo+ICsgICAgY2FzZSBCSU4odG9yZWdl
eHApOgo+ICsgICAgICAgIHJldHVybiBhdHRyX3NwX2luY190b3JlZ2V4cChOVU0yTE9ORyhvcGVz
WzBdKSwgTlVNMkxPTkcob3Blc1sxXSkpOwo+ICsgICAgY2FzZSBCSU4obmV3YXJyYXkpOgo+ICsg
ICAgICAgIHJldHVybiBhdHRyX3NwX2luY19uZXdhcnJheShOVU0yTE9ORyhvcGVzWzBdKSk7Cj4g
KyAgICBjYXNlIEJJTihleHBhbmRhcnJheSk6Cj4gKyAgICAgICAgcmV0dXJuIGF0dHJfc3BfaW5j
X2V4cGFuZGFycmF5KE5VTTJMT05HKG9wZXNbMF0pLCBOVU0yTE9ORyhvcGVzWzFdKSk7Cj4gKyAg
ICBjYXNlIEJJTihuZXdoYXNoKToKPiArICAgICAgICByZXR1cm4gYXR0cl9zcF9pbmNfbmV3aGFz
aChOVU0yTE9ORyhvcGVzWzBdKSk7Cj4gKyAgICBjYXNlIEJJTihkdXBuKToKPiArICAgICAgICBy
ZXR1cm4gYXR0cl9zcF9pbmNfZHVwbihOVU0yTE9ORyhvcGVzWzBdKSk7Cj4gKyAgICBjYXNlIEJJ
TihyZXZlcnNlKToKPiArICAgICAgICByZXR1cm4gYXR0cl9zcF9pbmNfcmV2ZXJzZShOVU0yTE9O
RyhvcGVzWzBdKSk7Cj4gKyAgICBjYXNlIEJJTihyZXB1dCk6Cj4gKyAgICAgICAgcmV0dXJuIGF0
dHJfc3BfaW5jX3JlcHV0KCk7Cj4gKyAgICBjYXNlIEJJTih0b3BuKToKPiArICAgICAgICByZXR1
cm4gYXR0cl9zcF9pbmNfdG9wbihOVU0yTE9ORyhvcGVzWzBdKSk7Cj4gKyAgICBjYXNlIEJJTihz
ZXRuKToKPiArICAgICAgICByZXR1cm4gYXR0cl9zcF9pbmNfc2V0bihOVU0yTE9ORyhvcGVzWzBd
KSk7Cj4gKyAgICBjYXNlIEJJTihhZGp1c3RzdGFjayk6Cj4gKyAgICAgICAgcmV0dXJuIGF0dHJf
c3BfaW5jX2FkanVzdHN0YWNrKE5VTTJMT05HKG9wZXNbMF0pKTsKPiArICAgIGNhc2UgQklOKHNl
bmQpOgo+ICsgICAgICAgIHJldHVybiBhdHRyX3NwX2luY19zZW5kKChDQUxMX0lORk8pKG9wZXNb
MF0pLCAoQ0FMTF9DQUNIRSkob3Blc1sxXSksIChJU0VRKShvcGVzWzJdKSk7Cj4gKyAgICBjYXNl
IEJJTihvcHRfc2VuZF93aXRob3V0X2Jsb2NrKToKPiArICAgICAgICByZXR1cm4gYXR0cl9zcF9p
bmNfb3B0X3NlbmRfd2l0aG91dF9ibG9jaygoQ0FMTF9JTkZPKShvcGVzWzBdKSwgKENBTExfQ0FD
SEUpKG9wZXNbMV0pKTsKPiArICAgIGNhc2UgQklOKG9wdF9uZXdhcnJheV9tYXgpOgo+ICsgICAg
ICAgIHJldHVybiBhdHRyX3NwX2luY19vcHRfbmV3YXJyYXlfbWF4KE5VTTJMT05HKG9wZXNbMF0p
KTsKPiArICAgIGNhc2UgQklOKG9wdF9uZXdhcnJheV9taW4pOgo+ICsgICAgICAgIHJldHVybiBh
dHRyX3NwX2luY19vcHRfbmV3YXJyYXlfbWluKE5VTTJMT05HKG9wZXNbMF0pKTsKPiArICAgIGNh
c2UgQklOKGludm9rZXN1cGVyKToKPiArICAgICAgICByZXR1cm4gYXR0cl9zcF9pbmNfaW52b2tl
c3VwZXIoKENBTExfSU5GTykob3Blc1swXSksIChDQUxMX0NBQ0hFKShvcGVzWzFdKSwgKElTRVEp
KG9wZXNbMl0pKTsKPiArICAgIGNhc2UgQklOKGludm9rZWJsb2NrKToKPiArICAgICAgICByZXR1
cm4gYXR0cl9zcF9pbmNfaW52b2tlYmxvY2soKENBTExfSU5GTykob3Blc1swXSkpOwo+ICsgICAg
Y2FzZSBCSU4ob3B0X2Nhc2VfZGlzcGF0Y2gpOgo+ICsgICAgICAgIHJldHVybiBhdHRyX3NwX2lu
Y19vcHRfY2FzZV9kaXNwYXRjaCgoQ0RIQVNIKShvcGVzWzBdKSwgKE9GRlNFVCkob3Blc1sxXSkp
Owo+ICsgICAgfQo+ICt9Cj4gKwo+ICtpbnQKPiAraW5zbl9zdGFja19pbmNyZWFzZShpbnQgZGVw
dGgsIGludCBpbnNuLCBjb25zdCBWQUxVRSAqb3BlcykKPiArewo+ICsgICAgZW51bSBydWJ5X3Zt
aW5zbl90eXBlIGl0eXBlID0gKGVudW0gcnVieV92bWluc25fdHlwZSlpbnNuOwo+ICsgICAgcmV0
dXJuIGRlcHRoICsgKGludClpbnNuX3N0YWNrX2luY3JlYXNlX2Rpc3BhdGNoKGl0eXBlLCBvcGVz
KTsKPiArfQo+ICsKPiBkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2tub3duX2Vycm9ycy5pbmMgYi9n
ZW5lcmF0ZWQva25vd25fZXJyb3JzLmluYwo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXgg
MDAwMDAwMC4uZjM0NzgxMAo+IC0tLSAvZGV2L251bGwKPiArKysgYi9nZW5lcmF0ZWQva25vd25f
ZXJyb3JzLmluYwo+IEBAIC0wLDAgKzEsNzkxIEBACj4gKy8qKiAtKi1jLSotCj4gKyAqIERPIE5P
VCBFRElUCj4gKyAqIFRoaXMgZmlsZSBpcyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSB0b29s
L2dlbmVyaWNfZXJiLnJiIGZyb20KPiArICogdGVtcGxhdGUva25vd25fZXJyb3JzLmluYy50bXBs
IGFuZCBkZWZzL2tub3duX2Vycm9ycy5kZWYuCj4gKyAqLwo+ICsKPiArI2lmZGVmIEUyQklHCj4g
KyAgICAgICAgZGVmaW5lZF9lcnJvcigiRTJCSUciLCBFMkJJRykKPiArI2Vsc2UKPiArICAgICAg
ICB1bmRlZmluZWRfZXJyb3IoIkUyQklHIikKPiArI2VuZGlmCj4gKyNpZmRlZiBFQUNDRVMKPiAr
ICAgICAgICBkZWZpbmVkX2Vycm9yKCJFQUNDRVMiLCBFQUNDRVMpCj4gKyNlbHNlCj4gKyAgICAg
ICAgdW5kZWZpbmVkX2Vycm9yKCJFQUNDRVMiKQo+ICsjZW5kaWYKPiArI2lmZGVmIEVBRERSSU5V
U0UKPiArICAgICAgICBkZWZpbmVkX2Vycm9yKCJFQUREUklOVVNFIiwgRUFERFJJTlVTRSkKPiAr
I2Vsc2UKPiArICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVBRERSSU5VU0UiKQo+ICsjZW5kaWYK
PiArI2lmZGVmIEVBRERSTk9UQVZBSUwKPiArICAgICAgICBkZWZpbmVkX2Vycm9yKCJFQUREUk5P
VEFWQUlMIiwgRUFERFJOT1RBVkFJTCkKPiArI2Vsc2UKPiArICAgICAgICB1bmRlZmluZWRfZXJy
b3IoIkVBRERSTk9UQVZBSUwiKQo+ICsjZW5kaWYKPiArI2lmZGVmIEVBRFYKPiArICAgICAgICBk
ZWZpbmVkX2Vycm9yKCJFQURWIiwgRUFEVikKPiArI2Vsc2UKPiArICAgICAgICB1bmRlZmluZWRf
ZXJyb3IoIkVBRFYiKQo+ICsjZW5kaWYKPiArI2lmZGVmIEVBRk5PU1VQUE9SVAo+ICsgICAgICAg
IGRlZmluZWRfZXJyb3IoIkVBRk5PU1VQUE9SVCIsIEVBRk5PU1VQUE9SVCkKPiArI2Vsc2UKPiAr
ICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVBRk5PU1VQUE9SVCIpCj4gKyNlbmRpZgo+ICsjaWZk
ZWYgRUFHQUlOCj4gKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRUFHQUlOIiwgRUFHQUlOKQo+ICsj
ZWxzZQo+ICsgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRUFHQUlOIikKPiArI2VuZGlmCj4gKyNp
ZmRlZiBFQUxSRUFEWQo+ICsgICAgICAgIGRlZmluZWRfZXJyb3IoIkVBTFJFQURZIiwgRUFMUkVB
RFkpCj4gKyNlbHNlCj4gKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFQUxSRUFEWSIpCj4gKyNl
bmRpZgo+ICsjaWZkZWYgRUFVVEgKPiArICAgICAgICBkZWZpbmVkX2Vycm9yKCJFQVVUSCIsIEVB
VVRIKQo+ICsjZWxzZQo+ICsgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRUFVVEgiKQo+ICsjZW5k
aWYKPiArI2lmZGVmIEVCQURBUkNICj4gKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRUJBREFSQ0gi
LCBFQkFEQVJDSCkKPiArI2Vsc2UKPiArICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVCQURBUkNI
IikKPiArI2VuZGlmCj4gKyNpZmRlZiBFQkFERQo+ICsgICAgICAgIGRlZmluZWRfZXJyb3IoIkVC
QURFIiwgRUJBREUpCj4gKyNlbHNlCj4gKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFQkFERSIp
Cj4gKyNlbmRpZgo+ICsjaWZkZWYgRUJBREVYRUMKPiArICAgICAgICBkZWZpbmVkX2Vycm9yKCJF
QkFERVhFQyIsIEVCQURFWEVDKQo+ICsjZWxzZQo+ICsgICAgICAgIHVuZGVmaW5lZF9lcnJvcigi
RUJBREVYRUMiKQo+ICsjZW5kaWYKPiArI2lmZGVmIEVCQURGCj4gKyAgICAgICAgZGVmaW5lZF9l
cnJvcigiRUJBREYiLCBFQkFERikKPiArI2Vsc2UKPiArICAgICAgICB1bmRlZmluZWRfZXJyb3Io
IkVCQURGIikKPiArI2VuZGlmCj4gKyNpZmRlZiBFQkFERkQKPiArICAgICAgICBkZWZpbmVkX2Vy
cm9yKCJFQkFERkQiLCBFQkFERkQpCj4gKyNlbHNlCj4gKyAgICAgICAgdW5kZWZpbmVkX2Vycm9y
KCJFQkFERkQiKQo+ICsjZW5kaWYKPiArI2lmZGVmIEVCQURNQUNITwo+ICsgICAgICAgIGRlZmlu
ZWRfZXJyb3IoIkVCQURNQUNITyIsIEVCQURNQUNITykKPiArI2Vsc2UKPiArICAgICAgICB1bmRl
ZmluZWRfZXJyb3IoIkVCQURNQUNITyIpCj4gKyNlbmRpZgo+ICsjaWZkZWYgRUJBRE1TRwo+ICsg
ICAgICAgIGRlZmluZWRfZXJyb3IoIkVCQURNU0ciLCBFQkFETVNHKQo+ICsjZWxzZQo+ICsgICAg
ICAgIHVuZGVmaW5lZF9lcnJvcigiRUJBRE1TRyIpCj4gKyNlbmRpZgo+ICsjaWZkZWYgRUJBRFIK
PiArICAgICAgICBkZWZpbmVkX2Vycm9yKCJFQkFEUiIsIEVCQURSKQo+ICsjZWxzZQo+ICsgICAg
ICAgIHVuZGVmaW5lZF9lcnJvcigiRUJBRFIiKQo+ICsjZW5kaWYKPiArI2lmZGVmIEVCQURSUEMK
PiArICAgICAgICBkZWZpbmVkX2Vycm9yKCJFQkFEUlBDIiwgRUJBRFJQQykKPiArI2Vsc2UKPiAr
ICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVCQURSUEMiKQo+ICsjZW5kaWYKPiArI2lmZGVmIEVC
QURSUUMKPiArICAgICAgICBkZWZpbmVkX2Vycm9yKCJFQkFEUlFDIiwgRUJBRFJRQykKPiArI2Vs
c2UKPiArICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVCQURSUUMiKQo+ICsjZW5kaWYKPiArI2lm
ZGVmIEVCQURTTFQKPiArICAgICAgICBkZWZpbmVkX2Vycm9yKCJFQkFEU0xUIiwgRUJBRFNMVCkK
PiArI2Vsc2UKPiArICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVCQURTTFQiKQo+ICsjZW5kaWYK
PiArI2lmZGVmIEVCRk9OVAo+ICsgICAgICAgIGRlZmluZWRfZXJyb3IoIkVCRk9OVCIsIEVCRk9O
VCkKPiArI2Vsc2UKPiArICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVCRk9OVCIpCj4gKyNlbmRp
Zgo+ICsjaWZkZWYgRUJVU1kKPiArICAgICAgICBkZWZpbmVkX2Vycm9yKCJFQlVTWSIsIEVCVVNZ
KQo+ICsjZWxzZQo+ICsgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRUJVU1kiKQo+ICsjZW5kaWYK
PiArI2lmZGVmIEVDQU5DRUxFRAo+ICsgICAgICAgIGRlZmluZWRfZXJyb3IoIkVDQU5DRUxFRCIs
IEVDQU5DRUxFRCkKPiArI2Vsc2UKPiArICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVDQU5DRUxF
RCIpCj4gKyNlbmRpZgo+ICsjaWZkZWYgRUNBUE1PREUKPiArICAgICAgICBkZWZpbmVkX2Vycm9y
KCJFQ0FQTU9ERSIsIEVDQVBNT0RFKQo+ICsjZWxzZQo+ICsgICAgICAgIHVuZGVmaW5lZF9lcnJv
cigiRUNBUE1PREUiKQo+ICsjZW5kaWYKPiArI2lmZGVmIEVDSElMRAo+ICsgICAgICAgIGRlZmlu
ZWRfZXJyb3IoIkVDSElMRCIsIEVDSElMRCkKPiArI2Vsc2UKPiArICAgICAgICB1bmRlZmluZWRf
ZXJyb3IoIkVDSElMRCIpCj4gKyNlbmRpZgo+ICsjaWZkZWYgRUNIUk5HCj4gKyAgICAgICAgZGVm
aW5lZF9lcnJvcigiRUNIUk5HIiwgRUNIUk5HKQo+ICsjZWxzZQo+ICsgICAgICAgIHVuZGVmaW5l
ZF9lcnJvcigiRUNIUk5HIikKPiArI2VuZGlmCj4gKyNpZmRlZiBFQ09NTQo+ICsgICAgICAgIGRl
ZmluZWRfZXJyb3IoIkVDT01NIiwgRUNPTU0pCj4gKyNlbHNlCj4gKyAgICAgICAgdW5kZWZpbmVk
X2Vycm9yKCJFQ09NTSIpCj4gKyNlbmRpZgo+ICsjaWZkZWYgRUNPTk5BQk9SVEVECj4gKyAgICAg
ICAgZGVmaW5lZF9lcnJvcigiRUNPTk5BQk9SVEVEIiwgRUNPTk5BQk9SVEVEKQo+ICsjZWxzZQo+
ICsgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRUNPTk5BQk9SVEVEIikKPiArI2VuZGlmCj4gKyNp
ZmRlZiBFQ09OTlJFRlVTRUQKPiArICAgICAgICBkZWZpbmVkX2Vycm9yKCJFQ09OTlJFRlVTRUQi
LCBFQ09OTlJFRlVTRUQpCj4gKyNlbHNlCj4gKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFQ09O
TlJFRlVTRUQiKQo+ICsjZW5kaWYKPiArI2lmZGVmIEVDT05OUkVTRVQKPiArICAgICAgICBkZWZp
bmVkX2Vycm9yKCJFQ09OTlJFU0VUIiwgRUNPTk5SRVNFVCkKPiArI2Vsc2UKPiArICAgICAgICB1
bmRlZmluZWRfZXJyb3IoIkVDT05OUkVTRVQiKQo+ICsjZW5kaWYKPiArI2lmZGVmIEVERUFETEsK
PiArICAgICAgICBkZWZpbmVkX2Vycm9yKCJFREVBRExLIiwgRURFQURMSykKPiArI2Vsc2UKPiAr
ICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVERUFETEsiKQo+ICsjZW5kaWYKPiArI2lmZGVmIEVE
RUFETE9DSwo+ICsgICAgICAgIGRlZmluZWRfZXJyb3IoIkVERUFETE9DSyIsIEVERUFETE9DSykK
PiArI2Vsc2UKPiArICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVERUFETE9DSyIpCj4gKyNlbmRp
Zgo+ICsjaWZkZWYgRURFU1RBRERSUkVRCj4gKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRURFU1RB
RERSUkVRIiwgRURFU1RBRERSUkVRKQo+ICsjZWxzZQo+ICsgICAgICAgIHVuZGVmaW5lZF9lcnJv
cigiRURFU1RBRERSUkVRIikKPiArI2VuZGlmCj4gKyNpZmRlZiBFREVWRVJSCj4gKyAgICAgICAg
ZGVmaW5lZF9lcnJvcigiRURFVkVSUiIsIEVERVZFUlIpCj4gKyNlbHNlCj4gKyAgICAgICAgdW5k
ZWZpbmVkX2Vycm9yKCJFREVWRVJSIikKPiArI2VuZGlmCj4gKyNpZmRlZiBFRE9NCj4gKyAgICAg
ICAgZGVmaW5lZF9lcnJvcigiRURPTSIsIEVET00pCj4gKyNlbHNlCj4gKyAgICAgICAgdW5kZWZp
bmVkX2Vycm9yKCJFRE9NIikKPiArI2VuZGlmCj4gKyNpZmRlZiBFRE9PRlVTCj4gKyAgICAgICAg
ZGVmaW5lZF9lcnJvcigiRURPT0ZVUyIsIEVET09GVVMpCj4gKyNlbHNlCj4gKyAgICAgICAgdW5k
ZWZpbmVkX2Vycm9yKCJFRE9PRlVTIikKPiArI2VuZGlmCj4gKyNpZmRlZiBFRE9URE9UCj4gKyAg
ICAgICAgZGVmaW5lZF9lcnJvcigiRURPVERPVCIsIEVET1RET1QpCj4gKyNlbHNlCj4gKyAgICAg
ICAgdW5kZWZpbmVkX2Vycm9yKCJFRE9URE9UIikKPiArI2VuZGlmCj4gKyNpZmRlZiBFRFFVT1QK
PiArICAgICAgICBkZWZpbmVkX2Vycm9yKCJFRFFVT1QiLCBFRFFVT1QpCj4gKyNlbHNlCj4gKyAg
ICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFRFFVT1QiKQo+ICsjZW5kaWYKPiArI2lmZGVmIEVFWElT
VAo+ICsgICAgICAgIGRlZmluZWRfZXJyb3IoIkVFWElTVCIsIEVFWElTVCkKPiArI2Vsc2UKPiAr
ICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVFWElTVCIpCj4gKyNlbmRpZgo+ICsjaWZkZWYgRUZB
VUxUCj4gKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRUZBVUxUIiwgRUZBVUxUKQo+ICsjZWxzZQo+
ICsgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRUZBVUxUIikKPiArI2VuZGlmCj4gKyNpZmRlZiBF
RkJJRwo+ICsgICAgICAgIGRlZmluZWRfZXJyb3IoIkVGQklHIiwgRUZCSUcpCj4gKyNlbHNlCj4g
KyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFRkJJRyIpCj4gKyNlbmRpZgo+ICsjaWZkZWYgRUZU
WVBFCj4gKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRUZUWVBFIiwgRUZUWVBFKQo+ICsjZWxzZQo+
ICsgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRUZUWVBFIikKPiArI2VuZGlmCj4gKyNpZmRlZiBF
SE9TVERPV04KPiArICAgICAgICBkZWZpbmVkX2Vycm9yKCJFSE9TVERPV04iLCBFSE9TVERPV04p
Cj4gKyNlbHNlCj4gKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFSE9TVERPV04iKQo+ICsjZW5k
aWYKPiArI2lmZGVmIEVIT1NUVU5SRUFDSAo+ICsgICAgICAgIGRlZmluZWRfZXJyb3IoIkVIT1NU
VU5SRUFDSCIsIEVIT1NUVU5SRUFDSCkKPiArI2Vsc2UKPiArICAgICAgICB1bmRlZmluZWRfZXJy
b3IoIkVIT1NUVU5SRUFDSCIpCj4gKyNlbmRpZgo+ICsjaWZkZWYgRUhXUE9JU09OCj4gKyAgICAg
ICAgZGVmaW5lZF9lcnJvcigiRUhXUE9JU09OIiwgRUhXUE9JU09OKQo+ICsjZWxzZQo+ICsgICAg
ICAgIHVuZGVmaW5lZF9lcnJvcigiRUhXUE9JU09OIikKPiArI2VuZGlmCj4gKyNpZmRlZiBFSURS
TQo+ICsgICAgICAgIGRlZmluZWRfZXJyb3IoIkVJRFJNIiwgRUlEUk0pCj4gKyNlbHNlCj4gKyAg
ICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFSURSTSIpCj4gKyNlbmRpZgo+ICsjaWZkZWYgRUlMU0VR
Cj4gKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRUlMU0VRIiwgRUlMU0VRKQo+ICsjZWxzZQo+ICsg
ICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRUlMU0VRIikKPiArI2VuZGlmCj4gKyNpZmRlZiBFSU5Q
Uk9HUkVTUwo+ICsgICAgICAgIGRlZmluZWRfZXJyb3IoIkVJTlBST0dSRVNTIiwgRUlOUFJPR1JF
U1MpCj4gKyNlbHNlCj4gKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFSU5QUk9HUkVTUyIpCj4g
KyNlbmRpZgo+ICsjaWZkZWYgRUlOVFIKPiArICAgICAgICBkZWZpbmVkX2Vycm9yKCJFSU5UUiIs
IEVJTlRSKQo+ICsjZWxzZQo+ICsgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRUlOVFIiKQo+ICsj
ZW5kaWYKPiArI2lmZGVmIEVJTlZBTAo+ICsgICAgICAgIGRlZmluZWRfZXJyb3IoIkVJTlZBTCIs
IEVJTlZBTCkKPiArI2Vsc2UKPiArICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVJTlZBTCIpCj4g
KyNlbmRpZgo+ICsjaWZkZWYgRUlPCj4gKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRUlPIiwgRUlP
KQo+ICsjZWxzZQo+ICsgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRUlPIikKPiArI2VuZGlmCj4g
KyNpZmRlZiBFSVBTRUMKPiArICAgICAgICBkZWZpbmVkX2Vycm9yKCJFSVBTRUMiLCBFSVBTRUMp
Cj4gKyNlbHNlCj4gKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFSVBTRUMiKQo+ICsjZW5kaWYK
PiArI2lmZGVmIEVJU0NPTk4KPiArICAgICAgICBkZWZpbmVkX2Vycm9yKCJFSVNDT05OIiwgRUlT
Q09OTikKPiArI2Vsc2UKPiArICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVJU0NPTk4iKQo+ICsj
ZW5kaWYKPiArI2lmZGVmIEVJU0RJUgo+ICsgICAgICAgIGRlZmluZWRfZXJyb3IoIkVJU0RJUiIs
IEVJU0RJUikKPiArI2Vsc2UKPiArICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVJU0RJUiIpCj4g
KyNlbmRpZgo+ICsjaWZkZWYgRUlTTkFNCj4gKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRUlTTkFN
IiwgRUlTTkFNKQo+ICsjZWxzZQo+ICsgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRUlTTkFNIikK
PiArI2VuZGlmCj4gKyNpZmRlZiBFS0VZRVhQSVJFRAo+ICsgICAgICAgIGRlZmluZWRfZXJyb3Io
IkVLRVlFWFBJUkVEIiwgRUtFWUVYUElSRUQpCj4gKyNlbHNlCj4gKyAgICAgICAgdW5kZWZpbmVk
X2Vycm9yKCJFS0VZRVhQSVJFRCIpCj4gKyNlbmRpZgo+ICsjaWZkZWYgRUtFWVJFSkVDVEVECj4g
KyAgICAgICAgZGVmaW5lZF9lcnJvcigiRUtFWVJFSkVDVEVEIiwgRUtFWVJFSkVDVEVEKQo+ICsj
ZWxzZQo+ICsgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRUtFWVJFSkVDVEVEIikKPiArI2VuZGlm
Cj4gKyNpZmRlZiBFS0VZUkVWT0tFRAo+ICsgICAgICAgIGRlZmluZWRfZXJyb3IoIkVLRVlSRVZP
S0VEIiwgRUtFWVJFVk9LRUQpCj4gKyNlbHNlCj4gKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJF
S0VZUkVWT0tFRCIpCj4gKyNlbmRpZgo+ICsjaWZkZWYgRUwySExUCj4gKyAgICAgICAgZGVmaW5l
ZF9lcnJvcigiRUwySExUIiwgRUwySExUKQo+ICsjZWxzZQo+ICsgICAgICAgIHVuZGVmaW5lZF9l
cnJvcigiRUwySExUIikKPiArI2VuZGlmCj4gKyNpZmRlZiBFTDJOU1lOQwo+ICsgICAgICAgIGRl
ZmluZWRfZXJyb3IoIkVMMk5TWU5DIiwgRUwyTlNZTkMpCj4gKyNlbHNlCj4gKyAgICAgICAgdW5k
ZWZpbmVkX2Vycm9yKCJFTDJOU1lOQyIpCj4gKyNlbmRpZgo+ICsjaWZkZWYgRUwzSExUCj4gKyAg
ICAgICAgZGVmaW5lZF9lcnJvcigiRUwzSExUIiwgRUwzSExUKQo+ICsjZWxzZQo+ICsgICAgICAg
IHVuZGVmaW5lZF9lcnJvcigiRUwzSExUIikKPiArI2VuZGlmCj4gKyNpZmRlZiBFTDNSU1QKPiAr
ICAgICAgICBkZWZpbmVkX2Vycm9yKCJFTDNSU1QiLCBFTDNSU1QpCj4gKyNlbHNlCj4gKyAgICAg
ICAgdW5kZWZpbmVkX2Vycm9yKCJFTDNSU1QiKQo+ICsjZW5kaWYKPiArI2lmZGVmIEVMQVNUCj4g
KyAgICAgICAgZGVmaW5lZF9lcnJvcigiRUxBU1QiLCBFTEFTVCkKPiArI2Vsc2UKPiArICAgICAg
ICB1bmRlZmluZWRfZXJyb3IoIkVMQVNUIikKPiArI2VuZGlmCj4gKyNpZmRlZiBFTElCQUNDCj4g
KyAgICAgICAgZGVmaW5lZF9lcnJvcigiRUxJQkFDQyIsIEVMSUJBQ0MpCj4gKyNlbHNlCj4gKyAg
ICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFTElCQUNDIikKPiArI2VuZGlmCj4gKyNpZmRlZiBFTElC
QkFECj4gKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRUxJQkJBRCIsIEVMSUJCQUQpCj4gKyNlbHNl
Cj4gKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFTElCQkFEIikKPiArI2VuZGlmCj4gKyNpZmRl
ZiBFTElCRVhFQwo+ICsgICAgICAgIGRlZmluZWRfZXJyb3IoIkVMSUJFWEVDIiwgRUxJQkVYRUMp
Cj4gKyNlbHNlCj4gKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFTElCRVhFQyIpCj4gKyNlbmRp
Zgo+ICsjaWZkZWYgRUxJQk1BWAo+ICsgICAgICAgIGRlZmluZWRfZXJyb3IoIkVMSUJNQVgiLCBF
TElCTUFYKQo+ICsjZWxzZQo+ICsgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRUxJQk1BWCIpCj4g
KyNlbmRpZgo+ICsjaWZkZWYgRUxJQlNDTgo+ICsgICAgICAgIGRlZmluZWRfZXJyb3IoIkVMSUJT
Q04iLCBFTElCU0NOKQo+ICsjZWxzZQo+ICsgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRUxJQlND
TiIpCj4gKyNlbmRpZgo+ICsjaWZkZWYgRUxOUk5HCj4gKyAgICAgICAgZGVmaW5lZF9lcnJvcigi
RUxOUk5HIiwgRUxOUk5HKQo+ICsjZWxzZQo+ICsgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRUxO
Uk5HIikKPiArI2VuZGlmCj4gKyNpZmRlZiBFTE9PUAo+ICsgICAgICAgIGRlZmluZWRfZXJyb3Io
IkVMT09QIiwgRUxPT1ApCj4gKyNlbHNlCj4gKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFTE9P
UCIpCj4gKyNlbmRpZgo+ICsjaWZkZWYgRU1FRElVTVRZUEUKPiArICAgICAgICBkZWZpbmVkX2Vy
cm9yKCJFTUVESVVNVFlQRSIsIEVNRURJVU1UWVBFKQo+ICsjZWxzZQo+ICsgICAgICAgIHVuZGVm
aW5lZF9lcnJvcigiRU1FRElVTVRZUEUiKQo+ICsjZW5kaWYKPiArI2lmZGVmIEVNRklMRQo+ICsg
ICAgICAgIGRlZmluZWRfZXJyb3IoIkVNRklMRSIsIEVNRklMRSkKPiArI2Vsc2UKPiArICAgICAg
ICB1bmRlZmluZWRfZXJyb3IoIkVNRklMRSIpCj4gKyNlbmRpZgo+ICsjaWZkZWYgRU1MSU5LCj4g
KyAgICAgICAgZGVmaW5lZF9lcnJvcigiRU1MSU5LIiwgRU1MSU5LKQo+ICsjZWxzZQo+ICsgICAg
ICAgIHVuZGVmaW5lZF9lcnJvcigiRU1MSU5LIikKPiArI2VuZGlmCj4gKyNpZmRlZiBFTVNHU0la
RQo+ICsgICAgICAgIGRlZmluZWRfZXJyb3IoIkVNU0dTSVpFIiwgRU1TR1NJWkUpCj4gKyNlbHNl
Cj4gKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFTVNHU0laRSIpCj4gKyNlbmRpZgo+ICsjaWZk
ZWYgRU1VTFRJSE9QCj4gKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRU1VTFRJSE9QIiwgRU1VTFRJ
SE9QKQo+ICsjZWxzZQo+ICsgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRU1VTFRJSE9QIikKPiAr
I2VuZGlmCj4gKyNpZmRlZiBFTkFNRVRPT0xPTkcKPiArICAgICAgICBkZWZpbmVkX2Vycm9yKCJF
TkFNRVRPT0xPTkciLCBFTkFNRVRPT0xPTkcpCj4gKyNlbHNlCj4gKyAgICAgICAgdW5kZWZpbmVk
X2Vycm9yKCJFTkFNRVRPT0xPTkciKQo+ICsjZW5kaWYKPiArI2lmZGVmIEVOQVZBSUwKPiArICAg
ICAgICBkZWZpbmVkX2Vycm9yKCJFTkFWQUlMIiwgRU5BVkFJTCkKPiArI2Vsc2UKPiArICAgICAg
ICB1bmRlZmluZWRfZXJyb3IoIkVOQVZBSUwiKQo+ICsjZW5kaWYKPiArI2lmZGVmIEVORUVEQVVU
SAo+ICsgICAgICAgIGRlZmluZWRfZXJyb3IoIkVORUVEQVVUSCIsIEVORUVEQVVUSCkKPiArI2Vs
c2UKPiArICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVORUVEQVVUSCIpCj4gKyNlbmRpZgo+ICsj
aWZkZWYgRU5FVERPV04KPiArICAgICAgICBkZWZpbmVkX2Vycm9yKCJFTkVURE9XTiIsIEVORVRE
T1dOKQo+ICsjZWxzZQo+ICsgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRU5FVERPV04iKQo+ICsj
ZW5kaWYKPiArI2lmZGVmIEVORVRSRVNFVAo+ICsgICAgICAgIGRlZmluZWRfZXJyb3IoIkVORVRS
RVNFVCIsIEVORVRSRVNFVCkKPiArI2Vsc2UKPiArICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVO
RVRSRVNFVCIpCj4gKyNlbmRpZgo+ICsjaWZkZWYgRU5FVFVOUkVBQ0gKPiArICAgICAgICBkZWZp
bmVkX2Vycm9yKCJFTkVUVU5SRUFDSCIsIEVORVRVTlJFQUNIKQo+ICsjZWxzZQo+ICsgICAgICAg
IHVuZGVmaW5lZF9lcnJvcigiRU5FVFVOUkVBQ0giKQo+ICsjZW5kaWYKPiArI2lmZGVmIEVORklM
RQo+ICsgICAgICAgIGRlZmluZWRfZXJyb3IoIkVORklMRSIsIEVORklMRSkKPiArI2Vsc2UKPiAr
ICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVORklMRSIpCj4gKyNlbmRpZgo+ICsjaWZkZWYgRU5P
QU5PCj4gKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRU5PQU5PIiwgRU5PQU5PKQo+ICsjZWxzZQo+
ICsgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRU5PQU5PIikKPiArI2VuZGlmCj4gKyNpZmRlZiBF
Tk9BVFRSCj4gKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRU5PQVRUUiIsIEVOT0FUVFIpCj4gKyNl
bHNlCj4gKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFTk9BVFRSIikKPiArI2VuZGlmCj4gKyNp
ZmRlZiBFTk9CVUZTCj4gKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRU5PQlVGUyIsIEVOT0JVRlMp
Cj4gKyNlbHNlCj4gKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFTk9CVUZTIikKPiArI2VuZGlm
Cj4gKyNpZmRlZiBFTk9DU0kKPiArICAgICAgICBkZWZpbmVkX2Vycm9yKCJFTk9DU0kiLCBFTk9D
U0kpCj4gKyNlbHNlCj4gKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFTk9DU0kiKQo+ICsjZW5k
aWYKPiArI2lmZGVmIEVOT0RBVEEKPiArICAgICAgICBkZWZpbmVkX2Vycm9yKCJFTk9EQVRBIiwg
RU5PREFUQSkKPiArI2Vsc2UKPiArICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVOT0RBVEEiKQo+
ICsjZW5kaWYKPiArI2lmZGVmIEVOT0RFVgo+ICsgICAgICAgIGRlZmluZWRfZXJyb3IoIkVOT0RF
ViIsIEVOT0RFVikKPiArI2Vsc2UKPiArICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVOT0RFViIp
Cj4gKyNlbmRpZgo+ICsjaWZkZWYgRU5PRU5UCj4gKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRU5P
RU5UIiwgRU5PRU5UKQo+ICsjZWxzZQo+ICsgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRU5PRU5U
IikKPiArI2VuZGlmCj4gKyNpZmRlZiBFTk9FWEVDCj4gKyAgICAgICAgZGVmaW5lZF9lcnJvcigi
RU5PRVhFQyIsIEVOT0VYRUMpCj4gKyNlbHNlCj4gKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJF
Tk9FWEVDIikKPiArI2VuZGlmCj4gKyNpZmRlZiBFTk9LRVkKPiArICAgICAgICBkZWZpbmVkX2Vy
cm9yKCJFTk9LRVkiLCBFTk9LRVkpCj4gKyNlbHNlCj4gKyAgICAgICAgdW5kZWZpbmVkX2Vycm9y
KCJFTk9LRVkiKQo+ICsjZW5kaWYKPiArI2lmZGVmIEVOT0xDSwo+ICsgICAgICAgIGRlZmluZWRf
ZXJyb3IoIkVOT0xDSyIsIEVOT0xDSykKPiArI2Vsc2UKPiArICAgICAgICB1bmRlZmluZWRfZXJy
b3IoIkVOT0xDSyIpCj4gKyNlbmRpZgo+ICsjaWZkZWYgRU5PTElOSwo+ICsgICAgICAgIGRlZmlu
ZWRfZXJyb3IoIkVOT0xJTksiLCBFTk9MSU5LKQo+ICsjZWxzZQo+ICsgICAgICAgIHVuZGVmaW5l
ZF9lcnJvcigiRU5PTElOSyIpCj4gKyNlbmRpZgo+ICsjaWZkZWYgRU5PTUVESVVNCj4gKyAgICAg
ICAgZGVmaW5lZF9lcnJvcigiRU5PTUVESVVNIiwgRU5PTUVESVVNKQo+ICsjZWxzZQo+ICsgICAg
ICAgIHVuZGVmaW5lZF9lcnJvcigiRU5PTUVESVVNIikKPiArI2VuZGlmCj4gKyNpZmRlZiBFTk9N
RU0KPiArICAgICAgICBkZWZpbmVkX2Vycm9yKCJFTk9NRU0iLCBFTk9NRU0pCj4gKyNlbHNlCj4g
KyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFTk9NRU0iKQo+ICsjZW5kaWYKPiArI2lmZGVmIEVO
T01TRwo+ICsgICAgICAgIGRlZmluZWRfZXJyb3IoIkVOT01TRyIsIEVOT01TRykKPiArI2Vsc2UK
PiArICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVOT01TRyIpCj4gKyNlbmRpZgo+ICsjaWZkZWYg
RU5PTkVUCj4gKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRU5PTkVUIiwgRU5PTkVUKQo+ICsjZWxz
ZQo+ICsgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRU5PTkVUIikKPiArI2VuZGlmCj4gKyNpZmRl
ZiBFTk9QS0cKPiArICAgICAgICBkZWZpbmVkX2Vycm9yKCJFTk9QS0ciLCBFTk9QS0cpCj4gKyNl
bHNlCj4gKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFTk9QS0ciKQo+ICsjZW5kaWYKPiArI2lm
ZGVmIEVOT1BPTElDWQo+ICsgICAgICAgIGRlZmluZWRfZXJyb3IoIkVOT1BPTElDWSIsIEVOT1BP
TElDWSkKPiArI2Vsc2UKPiArICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVOT1BPTElDWSIpCj4g
KyNlbmRpZgo+ICsjaWZkZWYgRU5PUFJPVE9PUFQKPiArICAgICAgICBkZWZpbmVkX2Vycm9yKCJF
Tk9QUk9UT09QVCIsIEVOT1BST1RPT1BUKQo+ICsjZWxzZQo+ICsgICAgICAgIHVuZGVmaW5lZF9l
cnJvcigiRU5PUFJPVE9PUFQiKQo+ICsjZW5kaWYKPiArI2lmZGVmIEVOT1NQQwo+ICsgICAgICAg
IGRlZmluZWRfZXJyb3IoIkVOT1NQQyIsIEVOT1NQQykKPiArI2Vsc2UKPiArICAgICAgICB1bmRl
ZmluZWRfZXJyb3IoIkVOT1NQQyIpCj4gKyNlbmRpZgo+ICsjaWZkZWYgRU5PU1IKPiArICAgICAg
ICBkZWZpbmVkX2Vycm9yKCJFTk9TUiIsIEVOT1NSKQo+ICsjZWxzZQo+ICsgICAgICAgIHVuZGVm
aW5lZF9lcnJvcigiRU5PU1IiKQo+ICsjZW5kaWYKPiArI2lmZGVmIEVOT1NUUgo+ICsgICAgICAg
IGRlZmluZWRfZXJyb3IoIkVOT1NUUiIsIEVOT1NUUikKPiArI2Vsc2UKPiArICAgICAgICB1bmRl
ZmluZWRfZXJyb3IoIkVOT1NUUiIpCj4gKyNlbmRpZgo+ICsjaWZkZWYgRU5PU1lTCj4gKyAgICAg
ICAgZGVmaW5lZF9lcnJvcigiRU5PU1lTIiwgRU5PU1lTKQo+ICsjZWxzZQo+ICsgICAgICAgIHVu
ZGVmaW5lZF9lcnJvcigiRU5PU1lTIikKPiArI2VuZGlmCj4gKyNpZmRlZiBFTk9UQkxLCj4gKyAg
ICAgICAgZGVmaW5lZF9lcnJvcigiRU5PVEJMSyIsIEVOT1RCTEspCj4gKyNlbHNlCj4gKyAgICAg
ICAgdW5kZWZpbmVkX2Vycm9yKCJFTk9UQkxLIikKPiArI2VuZGlmCj4gKyNpZmRlZiBFTk9UQ0FQ
QUJMRQo+ICsgICAgICAgIGRlZmluZWRfZXJyb3IoIkVOT1RDQVBBQkxFIiwgRU5PVENBUEFCTEUp
Cj4gKyNlbHNlCj4gKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFTk9UQ0FQQUJMRSIpCj4gKyNl
bmRpZgo+ICsjaWZkZWYgRU5PVENPTk4KPiArICAgICAgICBkZWZpbmVkX2Vycm9yKCJFTk9UQ09O
TiIsIEVOT1RDT05OKQo+ICsjZWxzZQo+ICsgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRU5PVENP
Tk4iKQo+ICsjZW5kaWYKPiArI2lmZGVmIEVOT1RESVIKPiArICAgICAgICBkZWZpbmVkX2Vycm9y
KCJFTk9URElSIiwgRU5PVERJUikKPiArI2Vsc2UKPiArICAgICAgICB1bmRlZmluZWRfZXJyb3Io
IkVOT1RESVIiKQo+ICsjZW5kaWYKPiArI2lmZGVmIEVOT1RFTVBUWQo+ICsgICAgICAgIGRlZmlu
ZWRfZXJyb3IoIkVOT1RFTVBUWSIsIEVOT1RFTVBUWSkKPiArI2Vsc2UKPiArICAgICAgICB1bmRl
ZmluZWRfZXJyb3IoIkVOT1RFTVBUWSIpCj4gKyNlbmRpZgo+ICsjaWZkZWYgRU5PVE5BTQo+ICsg
ICAgICAgIGRlZmluZWRfZXJyb3IoIkVOT1ROQU0iLCBFTk9UTkFNKQo+ICsjZWxzZQo+ICsgICAg
ICAgIHVuZGVmaW5lZF9lcnJvcigiRU5PVE5BTSIpCj4gKyNlbmRpZgo+ICsjaWZkZWYgRU5PVFJF
Q09WRVJBQkxFCj4gKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRU5PVFJFQ09WRVJBQkxFIiwgRU5P
VFJFQ09WRVJBQkxFKQo+ICsjZWxzZQo+ICsgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRU5PVFJF
Q09WRVJBQkxFIikKPiArI2VuZGlmCj4gKyNpZmRlZiBFTk9UU09DSwo+ICsgICAgICAgIGRlZmlu
ZWRfZXJyb3IoIkVOT1RTT0NLIiwgRU5PVFNPQ0spCj4gKyNlbHNlCj4gKyAgICAgICAgdW5kZWZp
bmVkX2Vycm9yKCJFTk9UU09DSyIpCj4gKyNlbmRpZgo+ICsjaWZkZWYgRU5PVFNVUAo+ICsgICAg
ICAgIGRlZmluZWRfZXJyb3IoIkVOT1RTVVAiLCBFTk9UU1VQKQo+ICsjZWxzZQo+ICsgICAgICAg
IHVuZGVmaW5lZF9lcnJvcigiRU5PVFNVUCIpCj4gKyNlbmRpZgo+ICsjaWZkZWYgRU5PVFRZCj4g
KyAgICAgICAgZGVmaW5lZF9lcnJvcigiRU5PVFRZIiwgRU5PVFRZKQo+ICsjZWxzZQo+ICsgICAg
ICAgIHVuZGVmaW5lZF9lcnJvcigiRU5PVFRZIikKPiArI2VuZGlmCj4gKyNpZmRlZiBFTk9UVU5J
UQo+ICsgICAgICAgIGRlZmluZWRfZXJyb3IoIkVOT1RVTklRIiwgRU5PVFVOSVEpCj4gKyNlbHNl
Cj4gKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFTk9UVU5JUSIpCj4gKyNlbmRpZgo+ICsjaWZk
ZWYgRU5YSU8KPiArICAgICAgICBkZWZpbmVkX2Vycm9yKCJFTlhJTyIsIEVOWElPKQo+ICsjZWxz
ZQo+ICsgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRU5YSU8iKQo+ICsjZW5kaWYKPiArI2lmZGVm
IEVPUE5PVFNVUFAKPiArICAgICAgICBkZWZpbmVkX2Vycm9yKCJFT1BOT1RTVVBQIiwgRU9QTk9U
U1VQUCkKPiArI2Vsc2UKPiArICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVPUE5PVFNVUFAiKQo+
ICsjZW5kaWYKPiArI2lmZGVmIEVPVkVSRkxPVwo+ICsgICAgICAgIGRlZmluZWRfZXJyb3IoIkVP
VkVSRkxPVyIsIEVPVkVSRkxPVykKPiArI2Vsc2UKPiArICAgICAgICB1bmRlZmluZWRfZXJyb3Io
IkVPVkVSRkxPVyIpCj4gKyNlbmRpZgo+ICsjaWZkZWYgRU9XTkVSREVBRAo+ICsgICAgICAgIGRl
ZmluZWRfZXJyb3IoIkVPV05FUkRFQUQiLCBFT1dORVJERUFEKQo+ICsjZWxzZQo+ICsgICAgICAg
IHVuZGVmaW5lZF9lcnJvcigiRU9XTkVSREVBRCIpCj4gKyNlbmRpZgo+ICsjaWZkZWYgRVBFUk0K
PiArICAgICAgICBkZWZpbmVkX2Vycm9yKCJFUEVSTSIsIEVQRVJNKQo+ICsjZWxzZQo+ICsgICAg
ICAgIHVuZGVmaW5lZF9lcnJvcigiRVBFUk0iKQo+ICsjZW5kaWYKPiArI2lmZGVmIEVQRk5PU1VQ
UE9SVAo+ICsgICAgICAgIGRlZmluZWRfZXJyb3IoIkVQRk5PU1VQUE9SVCIsIEVQRk5PU1VQUE9S
VCkKPiArI2Vsc2UKPiArICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVQRk5PU1VQUE9SVCIpCj4g
KyNlbmRpZgo+ICsjaWZkZWYgRVBJUEUKPiArICAgICAgICBkZWZpbmVkX2Vycm9yKCJFUElQRSIs
IEVQSVBFKQo+ICsjZWxzZQo+ICsgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRVBJUEUiKQo+ICsj
ZW5kaWYKPiArI2lmZGVmIEVQUk9DTElNCj4gKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRVBST0NM
SU0iLCBFUFJPQ0xJTSkKPiArI2Vsc2UKPiArICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVQUk9D
TElNIikKPiArI2VuZGlmCj4gKyNpZmRlZiBFUFJPQ1VOQVZBSUwKPiArICAgICAgICBkZWZpbmVk
X2Vycm9yKCJFUFJPQ1VOQVZBSUwiLCBFUFJPQ1VOQVZBSUwpCj4gKyNlbHNlCj4gKyAgICAgICAg
dW5kZWZpbmVkX2Vycm9yKCJFUFJPQ1VOQVZBSUwiKQo+ICsjZW5kaWYKPiArI2lmZGVmIEVQUk9H
TUlTTUFUQ0gKPiArICAgICAgICBkZWZpbmVkX2Vycm9yKCJFUFJPR01JU01BVENIIiwgRVBST0dN
SVNNQVRDSCkKPiArI2Vsc2UKPiArICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVQUk9HTUlTTUFU
Q0giKQo+ICsjZW5kaWYKPiArI2lmZGVmIEVQUk9HVU5BVkFJTAo+ICsgICAgICAgIGRlZmluZWRf
ZXJyb3IoIkVQUk9HVU5BVkFJTCIsIEVQUk9HVU5BVkFJTCkKPiArI2Vsc2UKPiArICAgICAgICB1
bmRlZmluZWRfZXJyb3IoIkVQUk9HVU5BVkFJTCIpCj4gKyNlbmRpZgo+ICsjaWZkZWYgRVBST1RP
Cj4gKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRVBST1RPIiwgRVBST1RPKQo+ICsjZWxzZQo+ICsg
ICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRVBST1RPIikKPiArI2VuZGlmCj4gKyNpZmRlZiBFUFJP
VE9OT1NVUFBPUlQKPiArICAgICAgICBkZWZpbmVkX2Vycm9yKCJFUFJPVE9OT1NVUFBPUlQiLCBF
UFJPVE9OT1NVUFBPUlQpCj4gKyNlbHNlCj4gKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFUFJP
VE9OT1NVUFBPUlQiKQo+ICsjZW5kaWYKPiArI2lmZGVmIEVQUk9UT1RZUEUKPiArICAgICAgICBk
ZWZpbmVkX2Vycm9yKCJFUFJPVE9UWVBFIiwgRVBST1RPVFlQRSkKPiArI2Vsc2UKPiArICAgICAg
ICB1bmRlZmluZWRfZXJyb3IoIkVQUk9UT1RZUEUiKQo+ICsjZW5kaWYKPiArI2lmZGVmIEVQV1JP
RkYKPiArICAgICAgICBkZWZpbmVkX2Vycm9yKCJFUFdST0ZGIiwgRVBXUk9GRikKPiArI2Vsc2UK
PiArICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVQV1JPRkYiKQo+ICsjZW5kaWYKPiArI2lmZGVm
IEVRRlVMTAo+ICsgICAgICAgIGRlZmluZWRfZXJyb3IoIkVRRlVMTCIsIEVRRlVMTCkKPiArI2Vs
c2UKPiArICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVRRlVMTCIpCj4gKyNlbmRpZgo+ICsjaWZk
ZWYgRVJBTkdFCj4gKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRVJBTkdFIiwgRVJBTkdFKQo+ICsj
ZWxzZQo+ICsgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRVJBTkdFIikKPiArI2VuZGlmCj4gKyNp
ZmRlZiBFUkVNQ0hHCj4gKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRVJFTUNIRyIsIEVSRU1DSEcp
Cj4gKyNlbHNlCj4gKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFUkVNQ0hHIikKPiArI2VuZGlm
Cj4gKyNpZmRlZiBFUkVNT1RFCj4gKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRVJFTU9URSIsIEVS
RU1PVEUpCj4gKyNlbHNlCj4gKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFUkVNT1RFIikKPiAr
I2VuZGlmCj4gKyNpZmRlZiBFUkVNT1RFSU8KPiArICAgICAgICBkZWZpbmVkX2Vycm9yKCJFUkVN
T1RFSU8iLCBFUkVNT1RFSU8pCj4gKyNlbHNlCj4gKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJF
UkVNT1RFSU8iKQo+ICsjZW5kaWYKPiArI2lmZGVmIEVSRVNUQVJUCj4gKyAgICAgICAgZGVmaW5l
ZF9lcnJvcigiRVJFU1RBUlQiLCBFUkVTVEFSVCkKPiArI2Vsc2UKPiArICAgICAgICB1bmRlZmlu
ZWRfZXJyb3IoIkVSRVNUQVJUIikKPiArI2VuZGlmCj4gKyNpZmRlZiBFUkZLSUxMCj4gKyAgICAg
ICAgZGVmaW5lZF9lcnJvcigiRVJGS0lMTCIsIEVSRktJTEwpCj4gKyNlbHNlCj4gKyAgICAgICAg
dW5kZWZpbmVkX2Vycm9yKCJFUkZLSUxMIikKPiArI2VuZGlmCj4gKyNpZmRlZiBFUk9GUwo+ICsg
ICAgICAgIGRlZmluZWRfZXJyb3IoIkVST0ZTIiwgRVJPRlMpCj4gKyNlbHNlCj4gKyAgICAgICAg
dW5kZWZpbmVkX2Vycm9yKCJFUk9GUyIpCj4gKyNlbmRpZgo+ICsjaWZkZWYgRVJQQ01JU01BVENI
Cj4gKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRVJQQ01JU01BVENIIiwgRVJQQ01JU01BVENIKQo+
ICsjZWxzZQo+ICsgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRVJQQ01JU01BVENIIikKPiArI2Vu
ZGlmCj4gKyNpZmRlZiBFU0hMSUJWRVJTCj4gKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRVNITElC
VkVSUyIsIEVTSExJQlZFUlMpCj4gKyNlbHNlCj4gKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJF
U0hMSUJWRVJTIikKPiArI2VuZGlmCj4gKyNpZmRlZiBFU0hVVERPV04KPiArICAgICAgICBkZWZp
bmVkX2Vycm9yKCJFU0hVVERPV04iLCBFU0hVVERPV04pCj4gKyNlbHNlCj4gKyAgICAgICAgdW5k
ZWZpbmVkX2Vycm9yKCJFU0hVVERPV04iKQo+ICsjZW5kaWYKPiArI2lmZGVmIEVTT0NLVE5PU1VQ
UE9SVAo+ICsgICAgICAgIGRlZmluZWRfZXJyb3IoIkVTT0NLVE5PU1VQUE9SVCIsIEVTT0NLVE5P
U1VQUE9SVCkKPiArI2Vsc2UKPiArICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVTT0NLVE5PU1VQ
UE9SVCIpCj4gKyNlbmRpZgo+ICsjaWZkZWYgRVNQSVBFCj4gKyAgICAgICAgZGVmaW5lZF9lcnJv
cigiRVNQSVBFIiwgRVNQSVBFKQo+ICsjZWxzZQo+ICsgICAgICAgIHVuZGVmaW5lZF9lcnJvcigi
RVNQSVBFIikKPiArI2VuZGlmCj4gKyNpZmRlZiBFU1JDSAo+ICsgICAgICAgIGRlZmluZWRfZXJy
b3IoIkVTUkNIIiwgRVNSQ0gpCj4gKyNlbHNlCj4gKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJF
U1JDSCIpCj4gKyNlbmRpZgo+ICsjaWZkZWYgRVNSTU5UCj4gKyAgICAgICAgZGVmaW5lZF9lcnJv
cigiRVNSTU5UIiwgRVNSTU5UKQo+ICsjZWxzZQo+ICsgICAgICAgIHVuZGVmaW5lZF9lcnJvcigi
RVNSTU5UIikKPiArI2VuZGlmCj4gKyNpZmRlZiBFU1RBTEUKPiArICAgICAgICBkZWZpbmVkX2Vy
cm9yKCJFU1RBTEUiLCBFU1RBTEUpCj4gKyNlbHNlCj4gKyAgICAgICAgdW5kZWZpbmVkX2Vycm9y
KCJFU1RBTEUiKQo+ICsjZW5kaWYKPiArI2lmZGVmIEVTVFJQSVBFCj4gKyAgICAgICAgZGVmaW5l
ZF9lcnJvcigiRVNUUlBJUEUiLCBFU1RSUElQRSkKPiArI2Vsc2UKPiArICAgICAgICB1bmRlZmlu
ZWRfZXJyb3IoIkVTVFJQSVBFIikKPiArI2VuZGlmCj4gKyNpZmRlZiBFVElNRQo+ICsgICAgICAg
IGRlZmluZWRfZXJyb3IoIkVUSU1FIiwgRVRJTUUpCj4gKyNlbHNlCj4gKyAgICAgICAgdW5kZWZp
bmVkX2Vycm9yKCJFVElNRSIpCj4gKyNlbmRpZgo+ICsjaWZkZWYgRVRJTUVET1VUCj4gKyAgICAg
ICAgZGVmaW5lZF9lcnJvcigiRVRJTUVET1VUIiwgRVRJTUVET1VUKQo+ICsjZWxzZQo+ICsgICAg
ICAgIHVuZGVmaW5lZF9lcnJvcigiRVRJTUVET1VUIikKPiArI2VuZGlmCj4gKyNpZmRlZiBFVE9P
TUFOWVJFRlMKPiArICAgICAgICBkZWZpbmVkX2Vycm9yKCJFVE9PTUFOWVJFRlMiLCBFVE9PTUFO
WVJFRlMpCj4gKyNlbHNlCj4gKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFVE9PTUFOWVJFRlMi
KQo+ICsjZW5kaWYKPiArI2lmZGVmIEVUWFRCU1kKPiArICAgICAgICBkZWZpbmVkX2Vycm9yKCJF
VFhUQlNZIiwgRVRYVEJTWSkKPiArI2Vsc2UKPiArICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVU
WFRCU1kiKQo+ICsjZW5kaWYKPiArI2lmZGVmIEVVQ0xFQU4KPiArICAgICAgICBkZWZpbmVkX2Vy
cm9yKCJFVUNMRUFOIiwgRVVDTEVBTikKPiArI2Vsc2UKPiArICAgICAgICB1bmRlZmluZWRfZXJy
b3IoIkVVQ0xFQU4iKQo+ICsjZW5kaWYKPiArI2lmZGVmIEVVTkFUQ0gKPiArICAgICAgICBkZWZp
bmVkX2Vycm9yKCJFVU5BVENIIiwgRVVOQVRDSCkKPiArI2Vsc2UKPiArICAgICAgICB1bmRlZmlu
ZWRfZXJyb3IoIkVVTkFUQ0giKQo+ICsjZW5kaWYKPiArI2lmZGVmIEVVU0VSUwo+ICsgICAgICAg
IGRlZmluZWRfZXJyb3IoIkVVU0VSUyIsIEVVU0VSUykKPiArI2Vsc2UKPiArICAgICAgICB1bmRl
ZmluZWRfZXJyb3IoIkVVU0VSUyIpCj4gKyNlbmRpZgo+ICsjaWZkZWYgRVdPVUxEQkxPQ0sKPiAr
ICAgICAgICBkZWZpbmVkX2Vycm9yKCJFV09VTERCTE9DSyIsIEVXT1VMREJMT0NLKQo+ICsjZWxz
ZQo+ICsgICAgICAgIHVuZGVmaW5lZF9lcnJvcigiRVdPVUxEQkxPQ0siKQo+ICsjZW5kaWYKPiAr
I2lmZGVmIEVYREVWCj4gKyAgICAgICAgZGVmaW5lZF9lcnJvcigiRVhERVYiLCBFWERFVikKPiAr
I2Vsc2UKPiArICAgICAgICB1bmRlZmluZWRfZXJyb3IoIkVYREVWIikKPiArI2VuZGlmCj4gKyNp
ZmRlZiBFWEZVTEwKPiArICAgICAgICBkZWZpbmVkX2Vycm9yKCJFWEZVTEwiLCBFWEZVTEwpCj4g
KyNlbHNlCj4gKyAgICAgICAgdW5kZWZpbmVkX2Vycm9yKCJFWEZVTEwiKQo+ICsjZW5kaWYKPiBk
aWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2xleC5jIGIvZ2VuZXJhdGVkL2xleC5jCj4gbmV3IGZpbGUg
bW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi45MmE0NzkzCj4gLS0tIC9kZXYvbnVsbAo+ICsr
KyBiL2dlbmVyYXRlZC9sZXguYwo+IEBAIC0wLDAgKzEsMzAzIEBACj4gKy8qIEFOU0ktQyBjb2Rl
IHByb2R1Y2VkIGJ5IGdwZXJmIHZlcnNpb24gMy4xICovCj4gKy8qIENvbW1hbmQtbGluZTogZ3Bl
cmYgLUMgLVAgLXAgLWoxIC1pIDEgLWcgLW8gLXQgLU4gcmJfcmVzZXJ2ZWRfd29yZCAtaycxLDMs
JCcgZGVmcy9rZXl3b3JkcyAgKi8KPiArCj4gKyNpZiAhKCgnICcgPT0gMzIpICYmICgnIScgPT0g
MzMpICYmICgnIicgPT0gMzQpICYmICgnIycgPT0gMzUpIFwKPiArICAgICAgJiYgKCclJyA9PSAz
NykgJiYgKCcmJyA9PSAzOCkgJiYgKCdcJycgPT0gMzkpICYmICgnKCcgPT0gNDApIFwKPiArICAg
ICAgJiYgKCcpJyA9PSA0MSkgJiYgKCcqJyA9PSA0MikgJiYgKCcrJyA9PSA0MykgJiYgKCcsJyA9
PSA0NCkgXAo+ICsgICAgICAmJiAoJy0nID09IDQ1KSAmJiAoJy4nID09IDQ2KSAmJiAoJy8nID09
IDQ3KSAmJiAoJzAnID09IDQ4KSBcCj4gKyAgICAgICYmICgnMScgPT0gNDkpICYmICgnMicgPT0g
NTApICYmICgnMycgPT0gNTEpICYmICgnNCcgPT0gNTIpIFwKPiArICAgICAgJiYgKCc1JyA9PSA1
MykgJiYgKCc2JyA9PSA1NCkgJiYgKCc3JyA9PSA1NSkgJiYgKCc4JyA9PSA1NikgXAo+ICsgICAg
ICAmJiAoJzknID09IDU3KSAmJiAoJzonID09IDU4KSAmJiAoJzsnID09IDU5KSAmJiAoJzwnID09
IDYwKSBcCj4gKyAgICAgICYmICgnPScgPT0gNjEpICYmICgnPicgPT0gNjIpICYmICgnPycgPT0g
NjMpICYmICgnQScgPT0gNjUpIFwKPiArICAgICAgJiYgKCdCJyA9PSA2NikgJiYgKCdDJyA9PSA2
NykgJiYgKCdEJyA9PSA2OCkgJiYgKCdFJyA9PSA2OSkgXAo+ICsgICAgICAmJiAoJ0YnID09IDcw
KSAmJiAoJ0cnID09IDcxKSAmJiAoJ0gnID09IDcyKSAmJiAoJ0knID09IDczKSBcCj4gKyAgICAg
ICYmICgnSicgPT0gNzQpICYmICgnSycgPT0gNzUpICYmICgnTCcgPT0gNzYpICYmICgnTScgPT0g
NzcpIFwKPiArICAgICAgJiYgKCdOJyA9PSA3OCkgJiYgKCdPJyA9PSA3OSkgJiYgKCdQJyA9PSA4
MCkgJiYgKCdRJyA9PSA4MSkgXAo+ICsgICAgICAmJiAoJ1InID09IDgyKSAmJiAoJ1MnID09IDgz
KSAmJiAoJ1QnID09IDg0KSAmJiAoJ1UnID09IDg1KSBcCj4gKyAgICAgICYmICgnVicgPT0gODYp
ICYmICgnVycgPT0gODcpICYmICgnWCcgPT0gODgpICYmICgnWScgPT0gODkpIFwKPiArICAgICAg
JiYgKCdaJyA9PSA5MCkgJiYgKCdbJyA9PSA5MSkgJiYgKCdcXCcgPT0gOTIpICYmICgnXScgPT0g
OTMpIFwKPiArICAgICAgJiYgKCdeJyA9PSA5NCkgJiYgKCdfJyA9PSA5NSkgJiYgKCdhJyA9PSA5
NykgJiYgKCdiJyA9PSA5OCkgXAo+ICsgICAgICAmJiAoJ2MnID09IDk5KSAmJiAoJ2QnID09IDEw
MCkgJiYgKCdlJyA9PSAxMDEpICYmICgnZicgPT0gMTAyKSBcCj4gKyAgICAgICYmICgnZycgPT0g
MTAzKSAmJiAoJ2gnID09IDEwNCkgJiYgKCdpJyA9PSAxMDUpICYmICgnaicgPT0gMTA2KSBcCj4g
KyAgICAgICYmICgnaycgPT0gMTA3KSAmJiAoJ2wnID09IDEwOCkgJiYgKCdtJyA9PSAxMDkpICYm
ICgnbicgPT0gMTEwKSBcCj4gKyAgICAgICYmICgnbycgPT0gMTExKSAmJiAoJ3AnID09IDExMikg
JiYgKCdxJyA9PSAxMTMpICYmICgncicgPT0gMTE0KSBcCj4gKyAgICAgICYmICgncycgPT0gMTE1
KSAmJiAoJ3QnID09IDExNikgJiYgKCd1JyA9PSAxMTcpICYmICgndicgPT0gMTE4KSBcCj4gKyAg
ICAgICYmICgndycgPT0gMTE5KSAmJiAoJ3gnID09IDEyMCkgJiYgKCd5JyA9PSAxMjEpICYmICgn
eicgPT0gMTIyKSBcCj4gKyAgICAgICYmICgneycgPT0gMTIzKSAmJiAoJ3wnID09IDEyNCkgJiYg
KCd9JyA9PSAxMjUpICYmICgnficgPT0gMTI2KSkKPiArLyogVGhlIGNoYXJhY3RlciBzZXQgaXMg
bm90IGJhc2VkIG9uIElTTy02NDYuICAqLwo+ICsjZXJyb3IgImdwZXJmIGdlbmVyYXRlZCB0YWJs
ZXMgZG9uJ3Qgd29yayB3aXRoIHRoaXMgZXhlY3V0aW9uIGNoYXJhY3RlciBzZXQuIFBsZWFzZSBy
ZXBvcnQgYSBidWcgdG8gPGJ1Zy1ncGVyZkBnbnUub3JnPi4iCj4gKyNlbmRpZgo+ICsKPiArI2Rl
ZmluZSBncGVyZl9vZmZzZXRvZihzLCBuKSAoc2hvcnQpb2Zmc2V0b2Yoc3RydWN0IHMjI190LCBz
IyNfc3RyIyNuKQo+ICsjbGluZSAxICJkZWZzL2tleXdvcmRzIgo+ICsKPiArc3RydWN0IGt3dGFi
bGUge3Nob3J0IG5hbWUsIGlkWzJdLCBzdGF0ZTt9Owo+ICtjb25zdCBzdHJ1Y3Qga3d0YWJsZSAq
cmJfcmVzZXJ2ZWRfd29yZChjb25zdCBjaGFyICosIHVuc2lnbmVkIGludCk7Cj4gKyNpZm5kZWYg
UklQUEVSCj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3Qga3d0YWJsZSAqcmVzZXJ2ZWRfd29yZCgvKmNv
bnN0IGNoYXIgKiwgdW5zaWduZWQgaW50Ki8pOwo+ICsjZGVmaW5lIHJiX3Jlc2VydmVkX3dvcmQo
c3RyLCBsZW4pIHJlc2VydmVkX3dvcmQoc3RyLCBsZW4pCj4gKyNsaW5lIDkgImRlZnMva2V5d29y
ZHMiCj4gK3N0cnVjdCBrd3RhYmxlOwo+ICsKPiArI2RlZmluZSBUT1RBTF9LRVlXT1JEUyA0MQo+
ICsjZGVmaW5lIE1JTl9XT1JEX0xFTkdUSCAyCj4gKyNkZWZpbmUgTUFYX1dPUkRfTEVOR1RIIDEy
Cj4gKyNkZWZpbmUgTUlOX0hBU0hfVkFMVUUgOAo+ICsjZGVmaW5lIE1BWF9IQVNIX1ZBTFVFIDUw
Cj4gKy8qIG1heGltdW0ga2V5IHJhbmdlID0gNDMsIGR1cGxpY2F0ZXMgPSAwICovCj4gKwo+ICsj
aWZkZWYgX19HTlVDX18KPiArX19pbmxpbmUKPiArI2Vsc2UKPiArI2lmZGVmIF9fY3BsdXNwbHVz
Cj4gK2lubGluZQo+ICsjZW5kaWYKPiArI2VuZGlmCj4gK3N0YXRpYyB1bnNpZ25lZCBpbnQKPiAr
aGFzaCAocmVnaXN0ZXIgY29uc3QgY2hhciAqc3RyLCByZWdpc3RlciBzaXplX3QgbGVuKQo+ICt7
Cj4gKyAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgYXNzb192YWx1ZXNbXSA9Cj4gKyAgICB7
Cj4gKyAgICAgIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLAo+ICsgICAg
ICA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwKPiArICAgICAgNTEsIDUx
LCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsCj4gKyAgICAgIDUxLCA1MSwgNTEsIDUx
LCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLAo+ICsgICAgICA1MSwgNTEsIDUxLCA1MSwgNTEsIDUx
LCA1MSwgNTEsIDUxLCA1MSwKPiArICAgICAgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUx
LCA1MSwgNTEsCj4gKyAgICAgIDUxLCA1MSwgNTEsIDI2LCA1MSwgNTEsIDE0LCA1MSwgMTYsICA4
LAo+ICsgICAgICAxMSwgMTMsIDUxLCA1MSwgNTEsIDUxLCAxMCwgNTEsIDEzLCA1MSwKPiArICAg
ICAgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsCj4gKyAgICAgIDUxLCA1
MSwgNTEsIDUxLCA1MSwgMTEsIDUxLCAxMywgIDEsIDI2LAo+ICsgICAgICAgNCwgIDEsICA4LCAy
OCwgNTEsIDIzLCA1MSwgIDEsICAxLCAyNywKPiArICAgICAgIDUsIDE5LCAyMSwgNTEsICA4LCAg
MywgIDMsIDExLCA1MSwgMjEsCj4gKyAgICAgIDI0LCAxNiwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1
MSwgNTEsIDUxLAo+ICsgICAgICA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1
MSwKPiArICAgICAgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsCj4gKyAg
ICAgIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLAo+ICsgICAgICA1MSwg
NTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwKPiArICAgICAgNTEsIDUxLCA1MSwg
NTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsCj4gKyAgICAgIDUxLCA1MSwgNTEsIDUxLCA1MSwg
NTEsIDUxLCA1MSwgNTEsIDUxLAo+ICsgICAgICA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwg
NTEsIDUxLCA1MSwKPiArICAgICAgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwg
NTEsCj4gKyAgICAgIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLAo+ICsg
ICAgICA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwKPiArICAgICAgNTEs
IDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsCj4gKyAgICAgIDUxLCA1MSwgNTEs
IDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLAo+ICsgICAgICA1MSwgNTEsIDUxLCA1MSwgNTEs
IDUxCj4gKyAgICB9Owo+ICsgIHJlZ2lzdGVyIHVuc2lnbmVkIGludCBodmFsID0gKHVuc2lnbmVk
IGludClsZW47Cj4gKwo+ICsgIHN3aXRjaCAoaHZhbCkKPiArICAgIHsKPiArICAgICAgZGVmYXVs
dDoKPiArICAgICAgICBodmFsICs9IGFzc29fdmFsdWVzWyh1bnNpZ25lZCBjaGFyKXN0clsyXV07
Cj4gKyAgICAgIC8qRkFMTFRIUk9VR0gqLwo+ICsgICAgICBjYXNlIDI6Cj4gKyAgICAgIGNhc2Ug
MToKPiArICAgICAgICBodmFsICs9IGFzc29fdmFsdWVzWyh1bnNpZ25lZCBjaGFyKXN0clswXV07
Cj4gKyAgICAgICAgYnJlYWs7Cj4gKyAgICB9Cj4gKyAgcmV0dXJuICh1bnNpZ25lZCBpbnQpaHZh
bCArIGFzc29fdmFsdWVzWyh1bnNpZ25lZCBjaGFyKXN0cltsZW4gLSAxXV07Cj4gK30KPiArCj4g
K3N0cnVjdCBzdHJpbmdwb29sX3QKPiArICB7Cj4gKyAgICBjaGFyIHN0cmluZ3Bvb2xfc3RyOFtz
aXplb2YoImJyZWFrIildOwo+ICsgICAgY2hhciBzdHJpbmdwb29sX3N0cjlbc2l6ZW9mKCJlbHNl
IildOwo+ICsgICAgY2hhciBzdHJpbmdwb29sX3N0cjEwW3NpemVvZigibmlsIildOwo+ICsgICAg
Y2hhciBzdHJpbmdwb29sX3N0cjExW3NpemVvZigiZW5zdXJlIildOwo+ICsgICAgY2hhciBzdHJp
bmdwb29sX3N0cjEyW3NpemVvZigiZW5kIildOwo+ICsgICAgY2hhciBzdHJpbmdwb29sX3N0cjEz
W3NpemVvZigidGhlbiIpXTsKPiArICAgIGNoYXIgc3RyaW5ncG9vbF9zdHIxNFtzaXplb2YoIm5v
dCIpXTsKPiArICAgIGNoYXIgc3RyaW5ncG9vbF9zdHIxNVtzaXplb2YoImZhbHNlIildOwo+ICsg
ICAgY2hhciBzdHJpbmdwb29sX3N0cjE2W3NpemVvZigic2VsZiIpXTsKPiArICAgIGNoYXIgc3Ry
aW5ncG9vbF9zdHIxN1tzaXplb2YoImVsc2lmIildOwo+ICsgICAgY2hhciBzdHJpbmdwb29sX3N0
cjE4W3NpemVvZigicmVzY3VlIildOwo+ICsgICAgY2hhciBzdHJpbmdwb29sX3N0cjE5W3NpemVv
ZigidHJ1ZSIpXTsKPiArICAgIGNoYXIgc3RyaW5ncG9vbF9zdHIyMFtzaXplb2YoInVudGlsIild
Owo+ICsgICAgY2hhciBzdHJpbmdwb29sX3N0cjIxW3NpemVvZigidW5sZXNzIildOwo+ICsgICAg
Y2hhciBzdHJpbmdwb29sX3N0cjIyW3NpemVvZigicmV0dXJuIildOwo+ICsgICAgY2hhciBzdHJp
bmdwb29sX3N0cjIzW3NpemVvZigiZGVmIildOwo+ICsgICAgY2hhciBzdHJpbmdwb29sX3N0cjI0
W3NpemVvZigiYW5kIildOwo+ICsgICAgY2hhciBzdHJpbmdwb29sX3N0cjI1W3NpemVvZigiZG8i
KV07Cj4gKyAgICBjaGFyIHN0cmluZ3Bvb2xfc3RyMjZbc2l6ZW9mKCJ5aWVsZCIpXTsKPiArICAg
IGNoYXIgc3RyaW5ncG9vbF9zdHIyN1tzaXplb2YoImZvciIpXTsKPiArICAgIGNoYXIgc3RyaW5n
cG9vbF9zdHIyOFtzaXplb2YoInVuZGVmIildOwo+ICsgICAgY2hhciBzdHJpbmdwb29sX3N0cjI5
W3NpemVvZigib3IiKV07Cj4gKyAgICBjaGFyIHN0cmluZ3Bvb2xfc3RyMzBbc2l6ZW9mKCJpbiIp
XTsKPiArICAgIGNoYXIgc3RyaW5ncG9vbF9zdHIzMVtzaXplb2YoIndoZW4iKV07Cj4gKyAgICBj
aGFyIHN0cmluZ3Bvb2xfc3RyMzJbc2l6ZW9mKCJyZXRyeSIpXTsKPiArICAgIGNoYXIgc3RyaW5n
cG9vbF9zdHIzM1tzaXplb2YoImlmIildOwo+ICsgICAgY2hhciBzdHJpbmdwb29sX3N0cjM0W3Np
emVvZigiY2FzZSIpXTsKPiArICAgIGNoYXIgc3RyaW5ncG9vbF9zdHIzNVtzaXplb2YoInJlZG8i
KV07Cj4gKyAgICBjaGFyIHN0cmluZ3Bvb2xfc3RyMzZbc2l6ZW9mKCJuZXh0IildOwo+ICsgICAg
Y2hhciBzdHJpbmdwb29sX3N0cjM3W3NpemVvZigic3VwZXIiKV07Cj4gKyAgICBjaGFyIHN0cmlu
Z3Bvb2xfc3RyMzhbc2l6ZW9mKCJtb2R1bGUiKV07Cj4gKyAgICBjaGFyIHN0cmluZ3Bvb2xfc3Ry
Mzlbc2l6ZW9mKCJiZWdpbiIpXTsKPiArICAgIGNoYXIgc3RyaW5ncG9vbF9zdHI0MFtzaXplb2Yo
Il9fTElORV9fIildOwo+ICsgICAgY2hhciBzdHJpbmdwb29sX3N0cjQxW3NpemVvZigiX19GSUxF
X18iKV07Cj4gKyAgICBjaGFyIHN0cmluZ3Bvb2xfc3RyNDJbc2l6ZW9mKCJfX0VOQ09ESU5HX18i
KV07Cj4gKyAgICBjaGFyIHN0cmluZ3Bvb2xfc3RyNDNbc2l6ZW9mKCJFTkQiKV07Cj4gKyAgICBj
aGFyIHN0cmluZ3Bvb2xfc3RyNDRbc2l6ZW9mKCJhbGlhcyIpXTsKPiArICAgIGNoYXIgc3RyaW5n
cG9vbF9zdHI0NVtzaXplb2YoIkJFR0lOIildOwo+ICsgICAgY2hhciBzdHJpbmdwb29sX3N0cjQ2
W3NpemVvZigiZGVmaW5lZD8iKV07Cj4gKyAgICBjaGFyIHN0cmluZ3Bvb2xfc3RyNDdbc2l6ZW9m
KCJjbGFzcyIpXTsKPiArICAgIGNoYXIgc3RyaW5ncG9vbF9zdHI1MFtzaXplb2YoIndoaWxlIild
Owo+ICsgIH07Cj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc3RyaW5ncG9vbF90IHN0cmluZ3Bvb2xf
Y29udGVudHMgPQo+ICsgIHsKPiArICAgICJicmVhayIsCj4gKyAgICAiZWxzZSIsCj4gKyAgICAi
bmlsIiwKPiArICAgICJlbnN1cmUiLAo+ICsgICAgImVuZCIsCj4gKyAgICAidGhlbiIsCj4gKyAg
ICAibm90IiwKPiArICAgICJmYWxzZSIsCj4gKyAgICAic2VsZiIsCj4gKyAgICAiZWxzaWYiLAo+
ICsgICAgInJlc2N1ZSIsCj4gKyAgICAidHJ1ZSIsCj4gKyAgICAidW50aWwiLAo+ICsgICAgInVu
bGVzcyIsCj4gKyAgICAicmV0dXJuIiwKPiArICAgICJkZWYiLAo+ICsgICAgImFuZCIsCj4gKyAg
ICAiZG8iLAo+ICsgICAgInlpZWxkIiwKPiArICAgICJmb3IiLAo+ICsgICAgInVuZGVmIiwKPiAr
ICAgICJvciIsCj4gKyAgICAiaW4iLAo+ICsgICAgIndoZW4iLAo+ICsgICAgInJldHJ5IiwKPiAr
ICAgICJpZiIsCj4gKyAgICAiY2FzZSIsCj4gKyAgICAicmVkbyIsCj4gKyAgICAibmV4dCIsCj4g
KyAgICAic3VwZXIiLAo+ICsgICAgIm1vZHVsZSIsCj4gKyAgICAiYmVnaW4iLAo+ICsgICAgIl9f
TElORV9fIiwKPiArICAgICJfX0ZJTEVfXyIsCj4gKyAgICAiX19FTkNPRElOR19fIiwKPiArICAg
ICJFTkQiLAo+ICsgICAgImFsaWFzIiwKPiArICAgICJCRUdJTiIsCj4gKyAgICAiZGVmaW5lZD8i
LAo+ICsgICAgImNsYXNzIiwKPiArICAgICJ3aGlsZSIKPiArICB9Owo+ICsjZGVmaW5lIHN0cmlu
Z3Bvb2wgKChjb25zdCBjaGFyICopICZzdHJpbmdwb29sX2NvbnRlbnRzKQo+ICtjb25zdCBzdHJ1
Y3Qga3d0YWJsZSAqCj4gK3JiX3Jlc2VydmVkX3dvcmQgKHJlZ2lzdGVyIGNvbnN0IGNoYXIgKnN0
ciwgcmVnaXN0ZXIgc2l6ZV90IGxlbikKPiArewo+ICsgIHN0YXRpYyBjb25zdCBzdHJ1Y3Qga3d0
YWJsZSB3b3JkbGlzdFtdID0KPiArICAgIHsKPiArICAgICAgey0xfSwgey0xfSwgey0xfSwgey0x
fSwgey0xfSwgey0xfSwgey0xfSwgey0xfSwKPiArI2xpbmUgMTkgImRlZnMva2V5d29yZHMiCj4g
KyAgICAgIHtncGVyZl9vZmZzZXRvZihzdHJpbmdwb29sLCA4KSwge2tleXdvcmRfYnJlYWssIGtl
eXdvcmRfYnJlYWt9LCBFWFBSX01JRH0sCj4gKyNsaW5lIDI1ICJkZWZzL2tleXdvcmRzIgo+ICsg
ICAgICB7Z3BlcmZfb2Zmc2V0b2Yoc3RyaW5ncG9vbCwgOSksIHtrZXl3b3JkX2Vsc2UsIGtleXdv
cmRfZWxzZX0sIEVYUFJfQkVHfSwKPiArI2xpbmUgMzUgImRlZnMva2V5d29yZHMiCj4gKyAgICAg
IHtncGVyZl9vZmZzZXRvZihzdHJpbmdwb29sLCAxMCksIHtrZXl3b3JkX25pbCwga2V5d29yZF9u
aWx9LCBFWFBSX0VORH0sCj4gKyNsaW5lIDI4ICJkZWZzL2tleXdvcmRzIgo+ICsgICAgICB7Z3Bl
cmZfb2Zmc2V0b2Yoc3RyaW5ncG9vbCwgMTEpLCB7a2V5d29yZF9lbnN1cmUsIGtleXdvcmRfZW5z
dXJlfSwgRVhQUl9CRUd9LAo+ICsjbGluZSAyNyAiZGVmcy9rZXl3b3JkcyIKPiArICAgICAge2dw
ZXJmX29mZnNldG9mKHN0cmluZ3Bvb2wsIDEyKSwge2tleXdvcmRfZW5kLCBrZXl3b3JkX2VuZH0s
IEVYUFJfRU5EfSwKPiArI2xpbmUgNDQgImRlZnMva2V5d29yZHMiCj4gKyAgICAgIHtncGVyZl9v
ZmZzZXRvZihzdHJpbmdwb29sLCAxMyksIHtrZXl3b3JkX3RoZW4sIGtleXdvcmRfdGhlbn0sIEVY
UFJfQkVHfSwKPiArI2xpbmUgMzYgImRlZnMva2V5d29yZHMiCj4gKyAgICAgIHtncGVyZl9vZmZz
ZXRvZihzdHJpbmdwb29sLCAxNCksIHtrZXl3b3JkX25vdCwga2V5d29yZF9ub3R9LCBFWFBSX0FS
R30sCj4gKyNsaW5lIDI5ICJkZWZzL2tleXdvcmRzIgo+ICsgICAgICB7Z3BlcmZfb2Zmc2V0b2Yo
c3RyaW5ncG9vbCwgMTUpLCB7a2V5d29yZF9mYWxzZSwga2V5d29yZF9mYWxzZX0sIEVYUFJfRU5E
fSwKPiArI2xpbmUgNDIgImRlZnMva2V5d29yZHMiCj4gKyAgICAgIHtncGVyZl9vZmZzZXRvZihz
dHJpbmdwb29sLCAxNiksIHtrZXl3b3JkX3NlbGYsIGtleXdvcmRfc2VsZn0sIEVYUFJfRU5EfSwK
PiArI2xpbmUgMjYgImRlZnMva2V5d29yZHMiCj4gKyAgICAgIHtncGVyZl9vZmZzZXRvZihzdHJp
bmdwb29sLCAxNyksIHtrZXl3b3JkX2Vsc2lmLCBrZXl3b3JkX2Vsc2lmfSwgRVhQUl9WQUxVRX0s
Cj4gKyNsaW5lIDM5ICJkZWZzL2tleXdvcmRzIgo+ICsgICAgICB7Z3BlcmZfb2Zmc2V0b2Yoc3Ry
aW5ncG9vbCwgMTgpLCB7a2V5d29yZF9yZXNjdWUsIG1vZGlmaWVyX3Jlc2N1ZX0sIEVYUFJfTUlE
fSwKPiArI2xpbmUgNDUgImRlZnMva2V5d29yZHMiCj4gKyAgICAgIHtncGVyZl9vZmZzZXRvZihz
dHJpbmdwb29sLCAxOSksIHtrZXl3b3JkX3RydWUsIGtleXdvcmRfdHJ1ZX0sIEVYUFJfRU5EfSwK
PiArI2xpbmUgNDggImRlZnMva2V5d29yZHMiCj4gKyAgICAgIHtncGVyZl9vZmZzZXRvZihzdHJp
bmdwb29sLCAyMCksIHtrZXl3b3JkX3VudGlsLCBtb2RpZmllcl91bnRpbH0sIEVYUFJfVkFMVUV9
LAo+ICsjbGluZSA0NyAiZGVmcy9rZXl3b3JkcyIKPiArICAgICAge2dwZXJmX29mZnNldG9mKHN0
cmluZ3Bvb2wsIDIxKSwge2tleXdvcmRfdW5sZXNzLCBtb2RpZmllcl91bmxlc3N9LCBFWFBSX1ZB
TFVFfSwKPiArI2xpbmUgNDEgImRlZnMva2V5d29yZHMiCj4gKyAgICAgIHtncGVyZl9vZmZzZXRv
ZihzdHJpbmdwb29sLCAyMiksIHtrZXl3b3JkX3JldHVybiwga2V5d29yZF9yZXR1cm59LCBFWFBS
X01JRH0sCj4gKyNsaW5lIDIyICJkZWZzL2tleXdvcmRzIgo+ICsgICAgICB7Z3BlcmZfb2Zmc2V0
b2Yoc3RyaW5ncG9vbCwgMjMpLCB7a2V5d29yZF9kZWYsIGtleXdvcmRfZGVmfSwgRVhQUl9GTkFN
RX0sCj4gKyNsaW5lIDE3ICJkZWZzL2tleXdvcmRzIgo+ICsgICAgICB7Z3BlcmZfb2Zmc2V0b2Yo
c3RyaW5ncG9vbCwgMjQpLCB7a2V5d29yZF9hbmQsIGtleXdvcmRfYW5kfSwgRVhQUl9WQUxVRX0s
Cj4gKyNsaW5lIDI0ICJkZWZzL2tleXdvcmRzIgo+ICsgICAgICB7Z3BlcmZfb2Zmc2V0b2Yoc3Ry
aW5ncG9vbCwgMjUpLCB7a2V5d29yZF9kbywga2V5d29yZF9kb30sIEVYUFJfQkVHfSwKPiArI2xp
bmUgNTEgImRlZnMva2V5d29yZHMiCj4gKyAgICAgIHtncGVyZl9vZmZzZXRvZihzdHJpbmdwb29s
LCAyNiksIHtrZXl3b3JkX3lpZWxkLCBrZXl3b3JkX3lpZWxkfSwgRVhQUl9BUkd9LAo+ICsjbGlu
ZSAzMCAiZGVmcy9rZXl3b3JkcyIKPiArICAgICAge2dwZXJmX29mZnNldG9mKHN0cmluZ3Bvb2ws
IDI3KSwge2tleXdvcmRfZm9yLCBrZXl3b3JkX2Zvcn0sIEVYUFJfVkFMVUV9LAo+ICsjbGluZSA0
NiAiZGVmcy9rZXl3b3JkcyIKPiArICAgICAge2dwZXJmX29mZnNldG9mKHN0cmluZ3Bvb2wsIDI4
KSwge2tleXdvcmRfdW5kZWYsIGtleXdvcmRfdW5kZWZ9LCBFWFBSX0ZOQU1FfEVYUFJfRklURU19
LAo+ICsjbGluZSAzNyAiZGVmcy9rZXl3b3JkcyIKPiArICAgICAge2dwZXJmX29mZnNldG9mKHN0
cmluZ3Bvb2wsIDI5KSwge2tleXdvcmRfb3IsIGtleXdvcmRfb3J9LCBFWFBSX1ZBTFVFfSwKPiAr
I2xpbmUgMzIgImRlZnMva2V5d29yZHMiCj4gKyAgICAgIHtncGVyZl9vZmZzZXRvZihzdHJpbmdw
b29sLCAzMCksIHtrZXl3b3JkX2luLCBrZXl3b3JkX2lufSwgRVhQUl9WQUxVRX0sCj4gKyNsaW5l
IDQ5ICJkZWZzL2tleXdvcmRzIgo+ICsgICAgICB7Z3BlcmZfb2Zmc2V0b2Yoc3RyaW5ncG9vbCwg
MzEpLCB7a2V5d29yZF93aGVuLCBrZXl3b3JkX3doZW59LCBFWFBSX1ZBTFVFfSwKPiArI2xpbmUg
NDAgImRlZnMva2V5d29yZHMiCj4gKyAgICAgIHtncGVyZl9vZmZzZXRvZihzdHJpbmdwb29sLCAz
MiksIHtrZXl3b3JkX3JldHJ5LCBrZXl3b3JkX3JldHJ5fSwgRVhQUl9FTkR9LAo+ICsjbGluZSAz
MSAiZGVmcy9rZXl3b3JkcyIKPiArICAgICAge2dwZXJmX29mZnNldG9mKHN0cmluZ3Bvb2wsIDMz
KSwge2tleXdvcmRfaWYsIG1vZGlmaWVyX2lmfSwgRVhQUl9WQUxVRX0sCj4gKyNsaW5lIDIwICJk
ZWZzL2tleXdvcmRzIgo+ICsgICAgICB7Z3BlcmZfb2Zmc2V0b2Yoc3RyaW5ncG9vbCwgMzQpLCB7
a2V5d29yZF9jYXNlLCBrZXl3b3JkX2Nhc2V9LCBFWFBSX1ZBTFVFfSwKPiArI2xpbmUgMzggImRl
ZnMva2V5d29yZHMiCj4gKyAgICAgIHtncGVyZl9vZmZzZXRvZihzdHJpbmdwb29sLCAzNSksIHtr
ZXl3b3JkX3JlZG8sIGtleXdvcmRfcmVkb30sIEVYUFJfRU5EfSwKPiArI2xpbmUgMzQgImRlZnMv
a2V5d29yZHMiCj4gKyAgICAgIHtncGVyZl9vZmZzZXRvZihzdHJpbmdwb29sLCAzNiksIHtrZXl3
b3JkX25leHQsIGtleXdvcmRfbmV4dH0sIEVYUFJfTUlEfSwKPiArI2xpbmUgNDMgImRlZnMva2V5
d29yZHMiCj4gKyAgICAgIHtncGVyZl9vZmZzZXRvZihzdHJpbmdwb29sLCAzNyksIHtrZXl3b3Jk
X3N1cGVyLCBrZXl3b3JkX3N1cGVyfSwgRVhQUl9BUkd9LAo+ICsjbGluZSAzMyAiZGVmcy9rZXl3
b3JkcyIKPiArICAgICAge2dwZXJmX29mZnNldG9mKHN0cmluZ3Bvb2wsIDM4KSwge2tleXdvcmRf
bW9kdWxlLCBrZXl3b3JkX21vZHVsZX0sIEVYUFJfVkFMVUV9LAo+ICsjbGluZSAxOCAiZGVmcy9r
ZXl3b3JkcyIKPiArICAgICAge2dwZXJmX29mZnNldG9mKHN0cmluZ3Bvb2wsIDM5KSwge2tleXdv
cmRfYmVnaW4sIGtleXdvcmRfYmVnaW59LCBFWFBSX0JFR30sCj4gKyNsaW5lIDEyICJkZWZzL2tl
eXdvcmRzIgo+ICsgICAgICB7Z3BlcmZfb2Zmc2V0b2Yoc3RyaW5ncG9vbCwgNDApLCB7a2V5d29y
ZF9fTElORV9fLCBrZXl3b3JkX19MSU5FX199LCBFWFBSX0VORH0sCj4gKyNsaW5lIDEzICJkZWZz
L2tleXdvcmRzIgo+ICsgICAgICB7Z3BlcmZfb2Zmc2V0b2Yoc3RyaW5ncG9vbCwgNDEpLCB7a2V5
d29yZF9fRklMRV9fLCBrZXl3b3JkX19GSUxFX199LCBFWFBSX0VORH0sCj4gKyNsaW5lIDExICJk
ZWZzL2tleXdvcmRzIgo+ICsgICAgICB7Z3BlcmZfb2Zmc2V0b2Yoc3RyaW5ncG9vbCwgNDIpLCB7
a2V5d29yZF9fRU5DT0RJTkdfXywga2V5d29yZF9fRU5DT0RJTkdfX30sIEVYUFJfRU5EfSwKPiAr
I2xpbmUgMTUgImRlZnMva2V5d29yZHMiCj4gKyAgICAgIHtncGVyZl9vZmZzZXRvZihzdHJpbmdw
b29sLCA0MyksIHtrZXl3b3JkX0VORCwga2V5d29yZF9FTkR9LCBFWFBSX0VORH0sCj4gKyNsaW5l
IDE2ICJkZWZzL2tleXdvcmRzIgo+ICsgICAgICB7Z3BlcmZfb2Zmc2V0b2Yoc3RyaW5ncG9vbCwg
NDQpLCB7a2V5d29yZF9hbGlhcywga2V5d29yZF9hbGlhc30sIEVYUFJfRk5BTUV8RVhQUl9GSVRF
TX0sCj4gKyNsaW5lIDE0ICJkZWZzL2tleXdvcmRzIgo+ICsgICAgICB7Z3BlcmZfb2Zmc2V0b2Yo
c3RyaW5ncG9vbCwgNDUpLCB7a2V5d29yZF9CRUdJTiwga2V5d29yZF9CRUdJTn0sIEVYUFJfRU5E
fSwKPiArI2xpbmUgMjMgImRlZnMva2V5d29yZHMiCj4gKyAgICAgIHtncGVyZl9vZmZzZXRvZihz
dHJpbmdwb29sLCA0NiksIHtrZXl3b3JkX2RlZmluZWQsIGtleXdvcmRfZGVmaW5lZH0sIEVYUFJf
QVJHfSwKPiArI2xpbmUgMjEgImRlZnMva2V5d29yZHMiCj4gKyAgICAgIHtncGVyZl9vZmZzZXRv
ZihzdHJpbmdwb29sLCA0NyksIHtrZXl3b3JkX2NsYXNzLCBrZXl3b3JkX2NsYXNzfSwgRVhQUl9D
TEFTU30sCj4gKyAgICAgIHstMX0sIHstMX0sCj4gKyNsaW5lIDUwICJkZWZzL2tleXdvcmRzIgo+
ICsgICAgICB7Z3BlcmZfb2Zmc2V0b2Yoc3RyaW5ncG9vbCwgNTApLCB7a2V5d29yZF93aGlsZSwg
bW9kaWZpZXJfd2hpbGV9LCBFWFBSX1ZBTFVFfQo+ICsgICAgfTsKPiArCj4gKyAgaWYgKGxlbiA8
PSBNQVhfV09SRF9MRU5HVEggJiYgbGVuID49IE1JTl9XT1JEX0xFTkdUSCkKPiArICAgIHsKPiAr
ICAgICAgcmVnaXN0ZXIgdW5zaWduZWQgaW50IGtleSA9IGhhc2ggKHN0ciwgbGVuKTsKPiArCj4g
KyAgICAgIGlmIChrZXkgPD0gTUFYX0hBU0hfVkFMVUUpCj4gKyAgICAgICAgewo+ICsgICAgICAg
ICAgcmVnaXN0ZXIgaW50IG8gPSB3b3JkbGlzdFtrZXldLm5hbWU7Cj4gKyAgICAgICAgICBpZiAo
byA+PSAwKQo+ICsgICAgICAgICAgICB7Cj4gKyAgICAgICAgICAgICAgcmVnaXN0ZXIgY29uc3Qg
Y2hhciAqcyA9IG8gKyBzdHJpbmdwb29sOwo+ICsKPiArICAgICAgICAgICAgICBpZiAoKnN0ciA9
PSAqcyAmJiAhc3RyY21wIChzdHIgKyAxLCBzICsgMSkpCj4gKyAgICAgICAgICAgICAgICByZXR1
cm4gJndvcmRsaXN0W2tleV07Cj4gKyAgICAgICAgICAgIH0KPiArICAgICAgICB9Cj4gKyAgICB9
Cj4gKyAgcmV0dXJuIDA7Cj4gK30KPiArI2xpbmUgNTIgImRlZnMva2V5d29yZHMiCj4gKwo+ICsj
ZW5kaWYKPiBkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL21pbmlwcmVsdWRlLmMgYi9nZW5lcmF0ZWQv
bWluaXByZWx1ZGUuYwo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMC4uZDdi
YjA2OAo+IC0tLSAvZGV2L251bGwKPiArKysgYi9nZW5lcmF0ZWQvbWluaXByZWx1ZGUuYwo+IEBA
IC0wLDAgKzEsOSBAQAo+ICsvKiAtKi1jLSotCj4gKyBUSElTIEZJTEUgV0FTIEFVVE9HRU5FUkFU
RUQgQlkgdGVtcGxhdGUvcHJlbHVkZS5jLnRtcGwuIERPIE5PVCBFRElULgo+ICsKPiArIHNvdXJj
ZXM6Cj4gKyovCj4gK3ZvaWQKPiArSW5pdF9wcmVsdWRlKHZvaWQpCj4gK3sKPiArfQo+IGRpZmYg
LS1naXQgYS9nZW5lcmF0ZWQvbWppdF9jb21waWxlLmluYyBiL2dlbmVyYXRlZC9taml0X2NvbXBp
bGUuaW5jCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi42NzdkMjRkCj4g
LS0tIC9kZXYvbnVsbAo+ICsrKyBiL2dlbmVyYXRlZC9taml0X2NvbXBpbGUuaW5jCj4gQEAgLTAs
MCArMSw0MjI2IEBACj4gKy8qIC0qLSBtb2RlOmM7IHN0eWxlOnJ1Ynk7IGNvZGluZzogdXRmLTg7
IGluZGVudC10YWJzLW1vZGU6IG5pbCAtKi0gKi8KPiArCj4gKy8qIFRoaXMgaXMgIGFuIGF1dG8t
Z2VuZXJhdGVkIGZpbGUgIGFuZCBpcyBhICBwYXJ0IG9mIHRoZSAgcHJvZ3JhbW1pbmcgbGFuZ3Vh
Z2UKPiArICogUnVieS4gIFRoZSAgcGVyc29uIHdobyAgY3JlYXRlZCAgYSAgcHJvZ3JhbSAgdG8g
IGdlbmVyYXRlIHRoaXMgIGZpbGUgIChgYEknJwo+ICsgKiBoZXJlYWZ0ZXIpIHdvdWxkIGxpa2Ug
IHRvIHJlZnJhaW4gZnJvbSBkZWZpbmluZyBsaWNlbnNpbmcgIG9mIHRoaXMgZ2VuZXJhdGVkCj4g
KyAqIHNvdXJjZSBjb2RlLgo+ICsgKgo+ICsgKiBUaGlzIGZpbGUgY29uc2lzdCBvZiBtYW55IHNt
YWxsICBwYXJ0cyBvZiBjb2RlcyBjb3B5cmlnaHRlZCBieSBlYWNoIGF1dGhvcnMsCj4gKyAqIG5v
dCAgb25seSAgdGhlICBgYEknJyAgcGVyc29uLiAgIFRob3NlICBvcmlnaW5hbCAgYXV0aG9ycyAg
YWdyZWUgIHdpdGggIHNvbWUKPiArICogb3Blbi1zb3VyY2UgbGljZW5zZS4gIEkgIGJlbGlldmUg
dGhhdCB0aGUgbGljZW5zZSB3ZSBhZ3JlZSAgaXMgdGhlIGNvbmRpdGlvbgo+ICsgKiBtZW50aW9u
ZWQgaW4gIHRoZSBmaWxlIENPUFlJTkcuICBJdCAgc3RhdGVzICI0LiAgWW91IG1heSAgbW9kaWZ5
IGFuZCBpbmNsdWRlCj4gKyAqIHRoZSBwYXJ0IG9mIHRoZSBzb2Z0d2FyZSBpbnRvIGFueSAgb3Ro
ZXIgc29mdHdhcmUgLi4uIi4gIEJ1dCB0aGUgcHJvYmxlbSBpcywKPiArICogdGhlIGxpY2Vuc2Ug
bmV2ZXIgbWFrZXMgaXQgY2xlYXIgaWYgIHN1Y2ggbW9kaWZpZWQgcGFydHMgc3RpbGwgcmVtYWlu
IGluIHRoZQo+ICsgKiBzYW1lICBsaWNlbnNlLCBvciAgbm90LiAgIFRoZSBmYWN0ICB0aGF0ICB3
ZSBhZ3JlZSAgd2l0aCAgdGhlIHNvdXJjZSAgY29kZSdzCj4gKyAqIGxpY2Vuc2luZyB0ZXJtcyBk
byBub3QgYXV0b21hdGljYWxseSBkZWZpbmUgdGhhdCBvZiBnZW5lcmF0ZWQgb25lcy4gIFRoaXMg
aXMKPiArICogdGhlIHJlYXNvbiAgd2h5IHRoaXMgZmlsZSAgaXMgdW5kZXIgdW5jbGVhciBzaXR1
YXRpb24uICAgQWxsIHRoYXQgSSAga25vdyBpcwo+ICsgKiB0aGF0IGFib3ZlIHByb3Zpc2lvbiBn
dWFyYW50ZWVzIHRoaXMgZmlsZSB0byBleGlzdC4KPiArICoKPiArICogUGxlYXNlIGxldCBtZSAg
aGVzaXRhdGUgdG8gZGVjbGFyZSBzb21ldGhpbmcgYWJvdXQgdGhpcyAgbnVhbmNlZCBjb250cmFj
dC4gSQo+ICsgKiBhbSBub3QgaW4gdGhlIHBvc2l0aW9uIHRvIHRha2UgIG92ZXIgb3RoZXIgYXV0
aG9ycycgbGljZW5zZSB0byBtZXJnZSBpbnRvIG15Cj4gKyAqIG9uZS4gIENoYW5naW5nIHRoZW0g
dG8gKHNheSkgR1BMdjMgIGlzIG5vdCBkb2FibGUgYnkgbXlzZWxmLiBQZXJoYXBzIHNvbWVkYXkK
PiArICogaXQgbWlnaHQgdHVybiBvdXQgdG8gYmUgb2theSB0byBzYXkgdGhpcyBmaWxlIGlzIHVu
ZGVyIGEgbGljZW5zZS4gSSB3aXNoIHRoZQo+ICsgKiBzaXR1YXRpb24gd291bGQgYmVjb21lIG1v
cmUgY2xlYXIgaW4gdGhlIGZ1dHVyZS4gKi8KPiArCj4gKy8qKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwo+ICsvKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKi8KPiArLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKiovCj4gKy8qKgo+ICsgIFRoaXMgZmlsZSBpcyB0aGUgbWFpbiBw
YXJ0IG9mIGNvbXBpbGVfaW5zbigpIGluIG1qaXRfY29tcGlsZS5jLgo+ICsKPiArICAtLS0tCj4g
KyAgVGhpcyBmaWxlIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IGluc25zMnZtLnJiCj4gKyAgRE8gTk9U
IFRPVUNIIQo+ICsKPiArICBJZiB5b3Ugd2FudCB0byBmaXggc29tZXRoaW5nLCB5b3UgbXVzdCBl
ZGl0ICJ0b29sL3J1Ynlfdm0vdmlld3MvbWppdF9jb21waWxlLmluYy5lcmIiCj4gKyAgb3IgdG9v
bC9pbnNuczJ2bS5yYgo+ICsgKi8KPiArCj4gK3N3aXRjaCAoaW5zbikgewo+ICsgIGNhc2UgQklO
KG5vcCk6Cj4gKyAgICBmcHJpbnRmKGYsICJ7XG4iKTsKPiArICAgIHsKPiArICAgICAgICBNQVlC
RV9VTlVTRUQoaW50IHBjX21vdmVkX3ApID0gRkFMU0U7Cj4gKyAgICAgICAgaWYgKHN0YXR1cy0+
bG9jYWxfc3RhY2tfcCkgewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5V
U0VEKHVuc2lnbmVkIGludCkgc3RhY2tfc2l6ZSA9ICV1O1xuIiwgYi0+c3RhY2tfc2l6ZSk7Cj4g
KyAgICAgICAgfQo+ICsKPiArICAgICAgICBpZiAoYm9keS0+Y2F0Y2hfZXhjZXB0X3AgfHwgRkFM
U0UpIHsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnBjID0gb3JpZ2lu
YWxfYm9keV9pc2VxICsgJWQ7XG4iLCBuZXh0X3Bvcyk7IC8qIEFERF9QQyhJTlNOX0FUVFIod2lk
dGgpKTsgKi8KPiArICAgICAgICAgICAgcGNfbW92ZWRfcCA9IFRSVUU7Cj4gKyAgICAgICAgfQo+
ICsgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKPiArICAgICAgICB9Cj4gKyAg
ICAgICAgZWxzZSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5zcCA9
IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgMSk7Cj4gKyAg
ICAgICAgfQo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICB7XG4iKTsKPiArICAgICAgICBmcHJp
bnRmKGYsICIgICAgICAgIC8qIG5vbmUgKi9cbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAg
ICB9XG4iKTsKPiArICAgICAgICBiLT5zdGFja19zaXplICs9IGF0dHJfc3BfaW5jX25vcCgpOwo+
ICsgICAgfQo+ICsgICAgZnByaW50ZihmLCAifVxuIik7Cj4gKyAgICBicmVhazsKPiArICBjYXNl
IEJJTihnZXRsb2NhbCk6Cj4gKyAgICBmcHJpbnRmKGYsICJ7XG4iKTsKPiArICAgIHsKPiArICAg
ICAgICBNQVlCRV9VTlVTRUQoaW50IHBjX21vdmVkX3ApID0gRkFMU0U7Cj4gKyAgICAgICAgTUFZ
QkVfVU5VU0VEKGxpbmRleF90IGlkeCkgPSAobGluZGV4X3Qpb3BlcmFuZHNbMF07Cj4gKyAgICAg
ICAgTUFZQkVfVU5VU0VEKHJiX251bV90IGxldmVsKSA9IChyYl9udW1fdClvcGVyYW5kc1sxXTsK
PiArICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cj4gKyAgICAgICAgICAgIGZw
cmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQodW5zaWduZWQgaW50KSBzdGFja19zaXplID0gJXU7
XG4iLCBiLT5zdGFja19zaXplKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAi
ICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgdmFsO1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAi
ICAgIE1BWUJFX1VOVVNFRChsaW5kZXhfdCkgaWR4O1xuIik7Cj4gKyAgICAgICAgZnByaW50Zihm
LCAiICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCkgbGV2ZWw7XG4iKTsKPiArCj4gKyAgICAgICAg
ZnByaW50ZihmLCAiICAgIGlkeCA9IChsaW5kZXhfdCkweCUiUFJJeFZBTFVFIjsiLCBvcGVyYW5k
c1swXSk7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYs
ICIgICAgbGV2ZWwgPSAocmJfbnVtX3QpMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNbMV0pOwo+
ICsgICAgICAgIGZwcmludGYoZiwgIlxuIik7Cj4gKyAgICAgICAgaWYgKGJvZHktPmNhdGNoX2V4
Y2VwdF9wIHx8IEZBTFNFKSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2Zw
LT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3MpOyAvKiBBRERfUEMo
SU5TTl9BVFRSKHdpZHRoKSk7ICovCj4gKyAgICAgICAgICAgIHBjX21vdmVkX3AgPSBUUlVFOwo+
ICsgICAgICAgIH0KPiArICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cj4gKyAg
ICAgICAgfQo+ICsgICAgICAgIGVsc2Ugewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAg
cmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6
ZSArIDEpOwo+ICsgICAgICAgIH0KPiArICAgICAgICBmcHJpbnRmKGYsICIgICAge1xuIik7Cj4g
KyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICB2YWwgPSAqKHZtX2dldF9lcChHRVRfRVAoKSwg
bGV2ZWwpIC0gaWR4KTtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgUkJfREVC
VUdfQ09VTlRFUl9JTkMobHZhcl9nZXQpO1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAg
ICAgICAodm9pZClSQl9ERUJVR19DT1VOVEVSX0lOQ19JRihsdmFyX2dldF9keW5hbWljLCBsZXZl
bCA+IDApO1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIpOwo+ICsgICAgICAg
IGZwcmludGYoZiwgIiAgICBzdGFja1slZF0gPSB2YWw7XG4iLCBiLT5zdGFja19zaXplICsgKGlu
dClhdHRyX3NwX2luY19nZXRsb2NhbChpZHgsIGxldmVsKSAtIDEpOwo+ICsgICAgICAgIGItPnN0
YWNrX3NpemUgKz0gYXR0cl9zcF9pbmNfZ2V0bG9jYWwoaWR4LCBsZXZlbCk7Cj4gKyAgICB9Cj4g
KyAgICBmcHJpbnRmKGYsICJ9XG4iKTsKPiArICAgIGJyZWFrOwo+ICsgIGNhc2UgQklOKHNldGxv
Y2FsKToKPiArICAgIGZwcmludGYoZiwgIntcbiIpOwo+ICsgICAgewo+ICsgICAgICAgIE1BWUJF
X1VOVVNFRChpbnQgcGNfbW92ZWRfcCkgPSBGQUxTRTsKPiArICAgICAgICBNQVlCRV9VTlVTRUQo
bGluZGV4X3QgaWR4KSA9IChsaW5kZXhfdClvcGVyYW5kc1swXTsKPiArICAgICAgICBNQVlCRV9V
TlVTRUQocmJfbnVtX3QgbGV2ZWwpID0gKHJiX251bV90KW9wZXJhbmRzWzFdOwo+ICsgICAgICAg
IGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAi
ICAgIE1BWUJFX1VOVVNFRCh1bnNpZ25lZCBpbnQpIHN0YWNrX3NpemUgPSAldTtcbiIsIGItPnN0
YWNrX3NpemUpOwo+ICsgICAgICAgIH0KPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVf
VU5VU0VEKFZBTFVFKSB2YWw7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVf
VU5VU0VEKGxpbmRleF90KSBpZHg7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZ
QkVfVU5VU0VEKHJiX251bV90KSBsZXZlbDtcbiIpOwo+ICsKPiArICAgICAgICBmcHJpbnRmKGYs
ICIgICAgaWR4ID0gKGxpbmRleF90KTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRzWzBdKTsKPiAr
ICAgICAgICBmcHJpbnRmKGYsICJcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBsZXZl
bCA9IChyYl9udW1fdCkweCUiUFJJeFZBTFVFIjsiLCBvcGVyYW5kc1sxXSk7Cj4gKyAgICAgICAg
ZnByaW50ZihmLCAiXG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgdmFsID0gc3RhY2tb
JWRdO1xuIiwgYi0+c3RhY2tfc2l6ZSAtIDEpOwo+ICsgICAgICAgIGlmIChib2R5LT5jYXRjaF9l
eGNlcHRfcCB8fCBGQUxTRSkgewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2Nm
cC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsgLyogQUREX1BD
KElOU05fQVRUUih3aWR0aCkpOyAqLwo+ICsgICAgICAgICAgICBwY19tb3ZlZF9wID0gVFJVRTsK
PiArICAgICAgICB9Cj4gKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgewo+ICsg
ICAgICAgIH0KPiArICAgICAgICBlbHNlIHsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAg
IHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3Np
emUgKyAxKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIHtcbiIpOwo+
ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgdm1fZW52X3dyaXRlKHZtX2dldF9lcChHRVRf
RVAoKSwgbGV2ZWwpLCAtKGludClpZHgsIHZhbCk7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYs
ICIgICAgICAgIFJCX0RFQlVHX0NPVU5URVJfSU5DKGx2YXJfc2V0KTtcbiIpOwo+ICsgICAgICAg
IGZwcmludGYoZiwgIiAgICAgICAgKHZvaWQpUkJfREVCVUdfQ09VTlRFUl9JTkNfSUYobHZhcl9z
ZXRfZHluYW1pYywgbGV2ZWwgPiAwKTtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICB9
XG4iKTsKPiArICAgICAgICBiLT5zdGFja19zaXplICs9IGF0dHJfc3BfaW5jX3NldGxvY2FsKGlk
eCwgbGV2ZWwpOwo+ICsgICAgfQo+ICsgICAgZnByaW50ZihmLCAifVxuIik7Cj4gKyAgICBicmVh
azsKPiArICBjYXNlIEJJTihnZXRibG9ja3BhcmFtKToKPiArICAgIGZwcmludGYoZiwgIntcbiIp
Owo+ICsgICAgewo+ICsgICAgICAgIE1BWUJFX1VOVVNFRChpbnQgcGNfbW92ZWRfcCkgPSBGQUxT
RTsKPiArICAgICAgICBNQVlCRV9VTlVTRUQobGluZGV4X3QgaWR4KSA9IChsaW5kZXhfdClvcGVy
YW5kc1swXTsKPiArICAgICAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QgbGV2ZWwpID0gKHJiX251
bV90KW9wZXJhbmRzWzFdOwo+ICsgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsK
PiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRCh1bnNpZ25lZCBpbnQp
IHN0YWNrX3NpemUgPSAldTtcbiIsIGItPnN0YWNrX3NpemUpOwo+ICsgICAgICAgIH0KPiArICAg
ICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSB2YWw7XG4iKTsKPiArICAg
ICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKGxpbmRleF90KSBpZHg7XG4iKTsKPiAr
ICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHJiX251bV90KSBsZXZlbDtcbiIp
Owo+ICsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgaWR4ID0gKGxpbmRleF90KTB4JSJQUkl4
VkFMVUUiOyIsIG9wZXJhbmRzWzBdKTsKPiArICAgICAgICBmcHJpbnRmKGYsICJcbiIpOwo+ICsg
ICAgICAgIGZwcmludGYoZiwgIiAgICBsZXZlbCA9IChyYl9udW1fdCkweCUiUFJJeFZBTFVFIjsi
LCBvcGVyYW5kc1sxXSk7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsKPiArICAgICAgICBp
ZiAoYm9keS0+Y2F0Y2hfZXhjZXB0X3AgfHwgRkFMU0UpIHsKPiArICAgICAgICAgICAgZnByaW50
ZihmLCAiICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBuZXh0
X3Bvcyk7IC8qIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsgKi8KPiArICAgICAgICAgICAgcGNf
bW92ZWRfcCA9IFRSVUU7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGlmIChzdGF0dXMtPmxvY2Fs
X3N0YWNrX3ApIHsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZWxzZSB7Cj4gKyAgICAgICAgICAg
IGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7
XG4iLCBiLT5zdGFja19zaXplICsgMSk7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGZwcmludGYo
ZiwgIiAgICB7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIGNvbnN0IFZBTFVF
ICplcCA9IHZtX2dldF9lcChHRVRfRVAoKSwgbGV2ZWwpO1xuIik7Cj4gKyAgICAgICAgZnByaW50
ZihmLCAiICAgICAgICBWTV9BU1NFUlQoVk1fRU5WX0xPQ0FMX1AoZXApKTtcbiIpOwo+ICsgICAg
ICAgIGZwcmludGYoZiwgIlxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICBpZiAo
IVZNX0VOVl9GTEFHUyhlcCwgVk1fRlJBTUVfRkxBR19NT0RJRklFRF9CTE9DS19QQVJBTSkpIHtc
biIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgIHZhbCA9IHJiX3ZtX2JoX3Rv
X3Byb2N2YWwoZWMsIFZNX0VOVl9CTE9DS19IQU5ETEVSKGVwKSk7XG4iKTsKPiArICAgICAgICBm
cHJpbnRmKGYsICIgICAgICAgICAgICB2bV9lbnZfd3JpdGUoZXAsIC0oaW50KWlkeCwgdmFsKTtc
biIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgIFZNX0VOVl9GTEFHU19TRVQo
ZXAsIFZNX0ZSQU1FX0ZMQUdfTU9ESUZJRURfQkxPQ0tfUEFSQU0pO1xuIik7Cj4gKyAgICAgICAg
ZnByaW50ZihmLCAiICAgICAgICB9XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAg
IGVsc2Uge1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICAgICAgdmFsID0gKihl
cCAtIGlkeCk7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgICAgICBSQl9ERUJV
R19DT1VOVEVSX0lOQyhsdmFyX2dldCk7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAg
ICAgICAgICAodm9pZClSQl9ERUJVR19DT1VOVEVSX0lOQ19JRihsdmFyX2dldF9keW5hbWljLCBs
ZXZlbCA+IDApO1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICB9XG4iKTsKPiAr
ICAgICAgICBmcHJpbnRmKGYsICIgICAgfVxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAg
IHN0YWNrWyVkXSA9IHZhbDtcbiIsIGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5jX2dl
dGJsb2NrcGFyYW0oaWR4LCBsZXZlbCkgLSAxKTsKPiArICAgICAgICBiLT5zdGFja19zaXplICs9
IGF0dHJfc3BfaW5jX2dldGJsb2NrcGFyYW0oaWR4LCBsZXZlbCk7Cj4gKyAgICB9Cj4gKyAgICBm
cHJpbnRmKGYsICJ9XG4iKTsKPiArICAgIGJyZWFrOwo+ICsgIGNhc2UgQklOKHNldGJsb2NrcGFy
YW0pOgo+ICsgICAgZnByaW50ZihmLCAie1xuIik7Cj4gKyAgICB7Cj4gKyAgICAgICAgTUFZQkVf
VU5VU0VEKGludCBwY19tb3ZlZF9wKSA9IEZBTFNFOwo+ICsgICAgICAgIE1BWUJFX1VOVVNFRChs
aW5kZXhfdCBpZHgpID0gKGxpbmRleF90KW9wZXJhbmRzWzBdOwo+ICsgICAgICAgIE1BWUJFX1VO
VVNFRChyYl9udW1fdCBsZXZlbCkgPSAocmJfbnVtX3Qpb3BlcmFuZHNbMV07Cj4gKyAgICAgICAg
aWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIg
ICAgTUFZQkVfVU5VU0VEKHVuc2lnbmVkIGludCkgc3RhY2tfc2l6ZSA9ICV1O1xuIiwgYi0+c3Rh
Y2tfc2l6ZSk7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9V
TlVTRUQoVkFMVUUpIHZhbDtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9V
TlVTRUQobGluZGV4X3QpIGlkeDtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlC
RV9VTlVTRUQocmJfbnVtX3QpIGxldmVsO1xuIik7Cj4gKwo+ICsgICAgICAgIGZwcmludGYoZiwg
IiAgICBpZHggPSAobGluZGV4X3QpMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNbMF0pOwo+ICsg
ICAgICAgIGZwcmludGYoZiwgIlxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIGxldmVs
ID0gKHJiX251bV90KTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRzWzFdKTsKPiArICAgICAgICBm
cHJpbnRmKGYsICJcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICB2YWwgPSBzdGFja1sl
ZF07XG4iLCBiLT5zdGFja19zaXplIC0gMSk7Cj4gKyAgICAgICAgaWYgKGJvZHktPmNhdGNoX2V4
Y2VwdF9wIHx8IEZBTFNFKSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2Zw
LT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3MpOyAvKiBBRERfUEMo
SU5TTl9BVFRSKHdpZHRoKSk7ICovCj4gKyAgICAgICAgICAgIHBjX21vdmVkX3AgPSBUUlVFOwo+
ICsgICAgICAgIH0KPiArICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cj4gKyAg
ICAgICAgfQo+ICsgICAgICAgIGVsc2Ugewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAg
cmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6
ZSArIDEpOwo+ICsgICAgICAgIH0KPiArICAgICAgICBmcHJpbnRmKGYsICIgICAge1xuIik7Cj4g
KyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICBjb25zdCBWQUxVRSAqZXAgPSB2bV9nZXRfZXAo
R0VUX0VQKCksIGxldmVsKTtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgVk1f
QVNTRVJUKFZNX0VOVl9MT0NBTF9QKGVwKSk7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICJc
biIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgdm1fZW52X3dyaXRlKGVwLCAtKGlu
dClpZHgsIHZhbCk7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIFJCX0RFQlVH
X0NPVU5URVJfSU5DKGx2YXJfc2V0KTtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAg
ICAgKHZvaWQpUkJfREVCVUdfQ09VTlRFUl9JTkNfSUYobHZhcl9zZXRfZHluYW1pYywgbGV2ZWwg
PiAwKTtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIlxuIik7Cj4gKyAgICAgICAgZnByaW50
ZihmLCAiICAgICAgICBWTV9FTlZfRkxBR1NfU0VUKGVwLCBWTV9GUkFNRV9GTEFHX01PRElGSUVE
X0JMT0NLX1BBUkFNKTtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICB9XG4iKTsKPiAr
ICAgICAgICBiLT5zdGFja19zaXplICs9IGF0dHJfc3BfaW5jX3NldGJsb2NrcGFyYW0oaWR4LCBs
ZXZlbCk7Cj4gKyAgICB9Cj4gKyAgICBmcHJpbnRmKGYsICJ9XG4iKTsKPiArICAgIGJyZWFrOwo+
ICsgIGNhc2UgQklOKGdldHNwZWNpYWwpOgo+ICsgICAgZnByaW50ZihmLCAie1xuIik7Cj4gKyAg
ICB7Cj4gKyAgICAgICAgTUFZQkVfVU5VU0VEKGludCBwY19tb3ZlZF9wKSA9IEZBTFNFOwo+ICsg
ICAgICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCBrZXkpID0gKHJiX251bV90KW9wZXJhbmRzWzBd
Owo+ICsgICAgICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCB0eXBlKSA9IChyYl9udW1fdClvcGVy
YW5kc1sxXTsKPiArICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cj4gKyAgICAg
ICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQodW5zaWduZWQgaW50KSBzdGFja19z
aXplID0gJXU7XG4iLCBiLT5zdGFja19zaXplKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnBy
aW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgdmFsO1xuIik7Cj4gKyAgICAgICAgZnBy
aW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCkga2V5LCB0eXBlO1xuIik7Cj4gKwo+
ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBrZXkgPSAocmJfbnVtX3QpMHglIlBSSXhWQUxVRSI7
Iiwgb3BlcmFuZHNbMF0pOwo+ICsgICAgICAgIGZwcmludGYoZiwgIlxuIik7Cj4gKyAgICAgICAg
ZnByaW50ZihmLCAiICAgIHR5cGUgPSAocmJfbnVtX3QpMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFu
ZHNbMV0pOwo+ICsgICAgICAgIGZwcmludGYoZiwgIlxuIik7Cj4gKyAgICAgICAgaWYgKGJvZHkt
PmNhdGNoX2V4Y2VwdF9wIHx8IEZBTFNFKSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAg
ICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3MpOyAv
KiBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7ICovCj4gKyAgICAgICAgICAgIHBjX21vdmVkX3Ag
PSBUUlVFOwo+ICsgICAgICAgIH0KPiArICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19w
KSB7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGVsc2Ugewo+ICsgICAgICAgICAgICBmcHJpbnRm
KGYsICIgICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+
c3RhY2tfc2l6ZSArIDEpOwo+ICsgICAgICAgIH0KPiArICAgICAgICBmcHJpbnRmKGYsICIgICAg
e1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICB2YWwgPSB2bV9nZXRzcGVjaWFs
KGVjLCBHRVRfTEVQKCksIGtleSwgdHlwZSk7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIg
ICAgfVxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIHN0YWNrWyVkXSA9IHZhbDtcbiIs
IGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5jX2dldHNwZWNpYWwoa2V5LCB0eXBlKSAt
IDEpOwo+ICsgICAgICAgIGItPnN0YWNrX3NpemUgKz0gYXR0cl9zcF9pbmNfZ2V0c3BlY2lhbChr
ZXksIHR5cGUpOwo+ICsgICAgfQo+ICsgICAgZnByaW50ZihmLCAifVxuIik7Cj4gKyAgICBicmVh
azsKPiArICBjYXNlIEJJTihzZXRzcGVjaWFsKToKPiArICAgIGZwcmludGYoZiwgIntcbiIpOwo+
ICsgICAgewo+ICsgICAgICAgIE1BWUJFX1VOVVNFRChpbnQgcGNfbW92ZWRfcCkgPSBGQUxTRTsK
PiArICAgICAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3Qga2V5KSA9IChyYl9udW1fdClvcGVyYW5k
c1swXTsKPiArICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cj4gKyAgICAgICAg
ICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQodW5zaWduZWQgaW50KSBzdGFja19zaXpl
ID0gJXU7XG4iLCBiLT5zdGFja19zaXplKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50
ZihmLCAiICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgb2JqO1xuIik7Cj4gKyAgICAgICAgZnByaW50
ZihmLCAiICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCkga2V5O1xuIik7Cj4gKwo+ICsgICAgICAg
IGZwcmludGYoZiwgIiAgICBrZXkgPSAocmJfbnVtX3QpMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFu
ZHNbMF0pOwo+ICsgICAgICAgIGZwcmludGYoZiwgIlxuIik7Cj4gKyAgICAgICAgZnByaW50Zihm
LCAiICAgIG9iaiA9IHN0YWNrWyVkXTtcbiIsIGItPnN0YWNrX3NpemUgLSAxKTsKPiArICAgICAg
ICBpZiAoYm9keS0+Y2F0Y2hfZXhjZXB0X3AgfHwgRkFMU0UpIHsKPiArICAgICAgICAgICAgZnBy
aW50ZihmLCAiICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBu
ZXh0X3Bvcyk7IC8qIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsgKi8KPiArICAgICAgICAgICAg
cGNfbW92ZWRfcCA9IFRSVUU7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGlmIChzdGF0dXMtPmxv
Y2FsX3N0YWNrX3ApIHsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZWxzZSB7Cj4gKyAgICAgICAg
ICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsg
JWQ7XG4iLCBiLT5zdGFja19zaXplICsgMSk7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGZwcmlu
dGYoZiwgIiAgICB7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIGxlcF9zdmFy
X3NldChlYywgR0VUX0xFUCgpLCBrZXksIG9iaik7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYs
ICIgICAgfVxuIik7Cj4gKyAgICAgICAgYi0+c3RhY2tfc2l6ZSArPSBhdHRyX3NwX2luY19zZXRz
cGVjaWFsKGtleSk7Cj4gKyAgICB9Cj4gKyAgICBmcHJpbnRmKGYsICJ9XG4iKTsKPiArICAgIGJy
ZWFrOwo+ICsgIGNhc2UgQklOKGdldGluc3RhbmNldmFyaWFibGUpOgo+ICsjaWYgT1BUX0lDX0ZP
Ul9JVkFSCj4gK3sKPiArICAgIE1BWUJFX1VOVVNFRChJRCBpZCkgPSAoSUQpb3BlcmFuZHNbMF07
Cj4gKyAgICBNQVlCRV9VTlVTRUQoSUMgaWMpID0gKElDKW9wZXJhbmRzWzFdOwo+ICsgICAgSUMg
aWNfY29weSA9ICYoc3RhdHVzLT5pc19lbnRyaWVzICsgKCh1bmlvbiBpc2VxX2lubGluZV9zdG9y
YWdlX2VudHJ5ICopaWMgLSBib2R5LT5pc19lbnRyaWVzKSktPmNhY2hlOwo+ICsgICAgaWYgKGlj
X2NvcHktPmljX3NlcmlhbCkgewo+ICsgICAgICAgIGZwcmludGYoZiwgIntcbiIpOwo+ICsgICAg
ICAgIGZwcmludGYoZiwgIiAgICBWQUxVRSBvYmogPSBHRVRfU0VMRigpO1xuIik7Cj4gKyAgICAg
ICAgZnByaW50ZihmLCAiICAgIGNvbnN0IHJiX3NlcmlhbF90IGljX3NlcmlhbCA9IChyYl9zZXJp
YWxfdCklIlBSSV9TRVJJQUxUX1BSRUZJWCJ1O1xuIiwgaWNfY29weS0+aWNfc2VyaWFsKTsKPiAr
ICAgICAgICBmcHJpbnRmKGYsICIgICAgY29uc3Qgc3RfaW5kZXhfdCBpbmRleCA9ICUiUFJJdVNJ
WkUiO1xuIiwgaWNfY29weS0+aWNfdmFsdWUuaW5kZXgpOwo+ICsgICAgICAgIGZwcmludGYoZiwg
IiAgICBWQUxVRSB2YWw7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgaWYgKExJS0VM
WShSQl9UWVBFX1Aob2JqLCBUX09CSkVDVCkgJiYgaWNfc2VyaWFsID09IFJDTEFTU19TRVJJQUwo
UkJBU0lDKG9iaiktPmtsYXNzKSAmJiBpbmRleCA8IFJPQkpFQ1RfTlVNSVYob2JqKSAmJiAodmFs
ID0gUk9CSkVDVF9JVlBUUihvYmopW2luZGV4XSkgIT0gUXVuZGVmKSkge1xuIik7Cj4gKyAgICAg
ICAgZnByaW50ZihmLCAiICAgICAgICBzdGFja1slZF0gPSB2YWw7XG4iLCBiLT5zdGFja19zaXpl
KTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgfVxuIik7Cj4gKyAgICAgICAgZnByaW50Zihm
LCAiICAgIGVsc2Uge1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICByZWdfY2Zw
LT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgcG9zKTsKPiArICAgICAgICBmcHJp
bnRmKGYsICIgICAgICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtc
biIsIGItPnN0YWNrX3NpemUgKyAxKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIGdv
dG8gY2FuY2VsO1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIpOwo+ICsKPiAr
ICAgICAgICBiLT5zdGFja19zaXplICs9IGF0dHJfc3BfaW5jX2dldGluc3RhbmNldmFyaWFibGUo
aWQsIGljKTsKPiArICAgICAgICBmcHJpbnRmKGYsICJ9XG4iKTsKPiArICAgICAgICBicmVhazsK
PiArICAgIH0KPiArfQo+ICsjZW5kaWYgLyogT1BUX0lDX0ZPUl9JVkFSICovCj4gKyAgICBmcHJp
bnRmKGYsICJ7XG4iKTsKPiArICAgIHsKPiArICAgICAgICBNQVlCRV9VTlVTRUQoaW50IHBjX21v
dmVkX3ApID0gRkFMU0U7Cj4gKyAgICAgICAgTUFZQkVfVU5VU0VEKElEIGlkKSA9IChJRClvcGVy
YW5kc1swXTsKPiArICAgICAgICBNQVlCRV9VTlVTRUQoSUMgaWMpID0gKElDKW9wZXJhbmRzWzFd
Owo+ICsgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKPiArICAgICAgICAgICAg
ZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRCh1bnNpZ25lZCBpbnQpIHN0YWNrX3NpemUgPSAl
dTtcbiIsIGItPnN0YWNrX3NpemUpOwo+ICsgICAgICAgIH0KPiArICAgICAgICBmcHJpbnRmKGYs
ICIgICAgTUFZQkVfVU5VU0VEKElDKSBpYztcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAg
ICBNQVlCRV9VTlVTRUQoSUQpIGlkO1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1B
WUJFX1VOVVNFRChWQUxVRSkgdmFsO1xuIik7Cj4gKwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAg
ICBpZCA9IChJRCkweCUiUFJJeFZBTFVFIjsiLCBvcGVyYW5kc1swXSk7Cj4gKyAgICAgICAgY29t
bWVudF9pZChmLCAoSUQpb3BlcmFuZHNbMF0pOwo+ICsgICAgICAgIGZwcmludGYoZiwgIlxuIik7
Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIGljID0gKElDKTB4JSJQUkl4VkFMVUUiOyIsIG9w
ZXJhbmRzWzFdKTsKPiArICAgICAgICBmcHJpbnRmKGYsICJcbiIpOwo+ICsgICAgICAgIGlmIChi
b2R5LT5jYXRjaF9leGNlcHRfcCB8fCBUUlVFKSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwg
IiAgICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3Mp
OyAvKiBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7ICovCj4gKyAgICAgICAgICAgIHBjX21vdmVk
X3AgPSBUUlVFOwo+ICsgICAgICAgIH0KPiArICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFj
a19wKSB7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGVsc2Ugewo+ICsgICAgICAgICAgICBmcHJp
bnRmKGYsICIgICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwg
Yi0+c3RhY2tfc2l6ZSArIDEpOwo+ICsgICAgICAgIH0KPiArICAgICAgICBmcHJpbnRmKGYsICIg
ICAge1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICB2YWwgPSB2bV9nZXRpbnN0
YW5jZXZhcmlhYmxlKEdFVF9TRUxGKCksIGlkLCBpYyk7XG4iKTsKPiArICAgICAgICBmcHJpbnRm
KGYsICIgICAgfVxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIHN0YWNrWyVkXSA9IHZh
bDtcbiIsIGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5jX2dldGluc3RhbmNldmFyaWFi
bGUoaWQsIGljKSAtIDEpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBpZiAoVU5MSUtFTFko
cnVieV92bV9ldmVudF9lbmFibGVkX2dsb2JhbF9mbGFncyAmIElTRVFfVFJBQ0VfRVZFTlRTKSkg
e1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICByZWdfY2ZwLT5zcCA9IChWQUxV
RSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgKGludClhdHRyX3NwX2lu
Y19nZXRpbnN0YW5jZXZhcmlhYmxlKGlkLCBpYykgKyAxKTsKPiArICAgICAgICBpZiAoIXBjX21v
dmVkX3ApIHsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgICAgICByZWdfY2ZwLT5wYyA9
IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3MpOwo+ICsgICAgICAgIH0KPiAr
ICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIGdvdG8gY2FuY2VsO1xuIik7Cj4gKyAgICAgICAg
ZnByaW50ZihmLCAiICAgIH1cbiIpOwo+ICsgICAgICAgIGItPnN0YWNrX3NpemUgKz0gYXR0cl9z
cF9pbmNfZ2V0aW5zdGFuY2V2YXJpYWJsZShpZCwgaWMpOwo+ICsgICAgfQo+ICsgICAgZnByaW50
ZihmLCAifVxuIik7Cj4gKyAgICBicmVhazsKPiArICBjYXNlIEJJTihzZXRpbnN0YW5jZXZhcmlh
YmxlKToKPiArI2lmIE9QVF9JQ19GT1JfSVZBUgo+ICt7Cj4gKyAgICBNQVlCRV9VTlVTRUQoSUQg
aWQpID0gKElEKW9wZXJhbmRzWzBdOwo+ICsgICAgTUFZQkVfVU5VU0VEKElDIGljKSA9IChJQylv
cGVyYW5kc1sxXTsKPiArICAgIElDIGljX2NvcHkgPSAmKHN0YXR1cy0+aXNfZW50cmllcyArICgo
dW5pb24gaXNlcV9pbmxpbmVfc3RvcmFnZV9lbnRyeSAqKWljIC0gYm9keS0+aXNfZW50cmllcykp
LT5jYWNoZTsKPiArICAgIGlmIChpY19jb3B5LT5pY19zZXJpYWwpIHsKPiArICAgICAgICBmcHJp
bnRmKGYsICJ7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgVkFMVUUgb2JqID0gR0VU
X1NFTEYoKTtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBjb25zdCByYl9zZXJpYWxf
dCBpY19zZXJpYWwgPSAocmJfc2VyaWFsX3QpJSJQUklfU0VSSUFMVF9QUkVGSVgidTtcbiIsIGlj
X2NvcHktPmljX3NlcmlhbCk7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIGNvbnN0IHN0X2lu
ZGV4X3QgaW5kZXggPSAlIlBSSXVTSVpFIjtcbiIsIGljX2NvcHktPmljX3ZhbHVlLmluZGV4KTsK
PiArICAgICAgICBmcHJpbnRmKGYsICIgICAgVkFMVUUgdmFsID0gc3RhY2tbJWRdO1xuIiwgYi0+
c3RhY2tfc2l6ZSAtIDEpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBpZiAoTElLRUxZKFJC
X1RZUEVfUChvYmosIFRfT0JKRUNUKSAmJiBpY19zZXJpYWwgPT0gUkNMQVNTX1NFUklBTChSQkFT
SUMob2JqKS0+a2xhc3MpICYmIGluZGV4IDwgUk9CSkVDVF9OVU1JVihvYmopKSkge1xuIik7Cj4g
KyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICBWQUxVRSAqcHRyID0gUk9CSkVDVF9JVlBUUihv
YmopO1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICBSQl9PQkpfV1JJVEUob2Jq
LCAmcHRyW2luZGV4XSwgdmFsKTtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICB9XG4i
KTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgZWxzZSB7XG4iKTsKPiArICAgICAgICBmcHJp
bnRmKGYsICIgICAgICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4i
LCBwb3MpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgcmVnX2NmcC0+c3AgPSAoVkFM
VUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEpOwo+ICsgICAgICAg
IGZwcmludGYoZiwgIiAgICAgICAgZ290byBjYW5jZWw7XG4iKTsKPiArICAgICAgICBmcHJpbnRm
KGYsICIgICAgfVxuIik7Cj4gKwo+ICsgICAgICAgIGItPnN0YWNrX3NpemUgKz0gYXR0cl9zcF9p
bmNfc2V0aW5zdGFuY2V2YXJpYWJsZShpZCwgaWMpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIn1c
biIpOwo+ICsgICAgICAgIGJyZWFrOwo+ICsgICAgfQo+ICt9Cj4gKyNlbmRpZiAvKiBPUFRfSUNf
Rk9SX0lWQVIgKi8KPiArICAgIGZwcmludGYoZiwgIntcbiIpOwo+ICsgICAgewo+ICsgICAgICAg
IE1BWUJFX1VOVVNFRChpbnQgcGNfbW92ZWRfcCkgPSBGQUxTRTsKPiArICAgICAgICBNQVlCRV9V
TlVTRUQoSUQgaWQpID0gKElEKW9wZXJhbmRzWzBdOwo+ICsgICAgICAgIE1BWUJFX1VOVVNFRChJ
QyBpYykgPSAoSUMpb3BlcmFuZHNbMV07Cj4gKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3Rh
Y2tfcCkgewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVuc2ln
bmVkIGludCkgc3RhY2tfc2l6ZSA9ICV1O1xuIiwgYi0+c3RhY2tfc2l6ZSk7Cj4gKyAgICAgICAg
fQo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQoSUMpIGljO1xuIik7Cj4g
KyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChJRCkgaWQ7XG4iKTsKPiArICAg
ICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSB2YWw7XG4iKTsKPiArCj4g
KyAgICAgICAgZnByaW50ZihmLCAiICAgIGlkID0gKElEKTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJh
bmRzWzBdKTsKPiArICAgICAgICBjb21tZW50X2lkKGYsIChJRClvcGVyYW5kc1swXSk7Cj4gKyAg
ICAgICAgZnByaW50ZihmLCAiXG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgaWMgPSAo
SUMpMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNbMV0pOwo+ICsgICAgICAgIGZwcmludGYoZiwg
IlxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIHZhbCA9IHN0YWNrWyVkXTtcbiIsIGIt
PnN0YWNrX3NpemUgLSAxKTsKPiArICAgICAgICBpZiAoYm9keS0+Y2F0Y2hfZXhjZXB0X3AgfHwg
RkFMU0UpIHsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnBjID0gb3Jp
Z2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBuZXh0X3Bvcyk7IC8qIEFERF9QQyhJTlNOX0FUVFIo
d2lkdGgpKTsgKi8KPiArICAgICAgICAgICAgcGNfbW92ZWRfcCA9IFRSVUU7Cj4gKyAgICAgICAg
fQo+ICsgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKPiArICAgICAgICB9Cj4g
KyAgICAgICAgZWxzZSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5z
cCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgMSk7Cj4g
KyAgICAgICAgfQo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICB7XG4iKTsKPiArICAgICAgICBm
cHJpbnRmKGYsICIgICAgICAgIHZtX3NldGluc3RhbmNldmFyaWFibGUoR0VUX1NFTEYoKSwgaWQs
IHZhbCwgaWMpO1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIpOwo+ICsgICAg
ICAgIGItPnN0YWNrX3NpemUgKz0gYXR0cl9zcF9pbmNfc2V0aW5zdGFuY2V2YXJpYWJsZShpZCwg
aWMpOwo+ICsgICAgfQo+ICsgICAgZnByaW50ZihmLCAifVxuIik7Cj4gKyAgICBicmVhazsKPiAr
ICBjYXNlIEJJTihnZXRjbGFzc3ZhcmlhYmxlKToKPiArICAgIGZwcmludGYoZiwgIntcbiIpOwo+
ICsgICAgewo+ICsgICAgICAgIE1BWUJFX1VOVVNFRChpbnQgcGNfbW92ZWRfcCkgPSBGQUxTRTsK
PiArICAgICAgICBNQVlCRV9VTlVTRUQoSUQgaWQpID0gKElEKW9wZXJhbmRzWzBdOwo+ICsgICAg
ICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKPiArICAgICAgICAgICAgZnByaW50Zihm
LCAiICAgIE1BWUJFX1VOVVNFRCh1bnNpZ25lZCBpbnQpIHN0YWNrX3NpemUgPSAldTtcbiIsIGIt
PnN0YWNrX3NpemUpOwo+ICsgICAgICAgIH0KPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZ
QkVfVU5VU0VEKElEKSBpZDtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9V
TlVTRUQoVkFMVUUpIHZhbDtcbiIpOwo+ICsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgaWQg
PSAoSUQpMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNbMF0pOwo+ICsgICAgICAgIGNvbW1lbnRf
aWQoZiwgKElEKW9wZXJhbmRzWzBdKTsKPiArICAgICAgICBmcHJpbnRmKGYsICJcbiIpOwo+ICsg
ICAgICAgIGlmIChib2R5LT5jYXRjaF9leGNlcHRfcCB8fCBUUlVFKSB7Cj4gKyAgICAgICAgICAg
IGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xu
IiwgbmV4dF9wb3MpOyAvKiBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7ICovCj4gKyAgICAgICAg
ICAgIHBjX21vdmVkX3AgPSBUUlVFOwo+ICsgICAgICAgIH0KPiArICAgICAgICBpZiAoc3RhdHVz
LT5sb2NhbF9zdGFja19wKSB7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGVsc2Ugewo+ICsgICAg
ICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5i
cCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEpOwo+ICsgICAgICAgIH0KPiArICAgICAgICBm
cHJpbnRmKGYsICIgICAge1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICB2YWwg
PSByYl9jdmFyX2dldCh2bV9nZXRfY3Zhcl9iYXNlKHJiX3ZtX2dldF9jcmVmKEdFVF9FUCgpKSwg
R0VUX0NGUCgpKSwgaWQpO1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIpOwo+
ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBzdGFja1slZF0gPSB2YWw7XG4iLCBiLT5zdGFja19z
aXplICsgKGludClhdHRyX3NwX2luY19nZXRjbGFzc3ZhcmlhYmxlKGlkKSAtIDEpOwo+ICsgICAg
ICAgIGZwcmludGYoZiwgIiAgICBpZiAoVU5MSUtFTFkocnVieV92bV9ldmVudF9lbmFibGVkX2ds
b2JhbF9mbGFncyAmIElTRVFfVFJBQ0VfRVZFTlRTKSkge1xuIik7Cj4gKyAgICAgICAgZnByaW50
ZihmLCAiICAgICAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4i
LCBiLT5zdGFja19zaXplICsgKGludClhdHRyX3NwX2luY19nZXRjbGFzc3ZhcmlhYmxlKGlkKSAr
IDEpOwo+ICsgICAgICAgIGlmICghcGNfbW92ZWRfcCkgewo+ICsgICAgICAgICAgICBmcHJpbnRm
KGYsICIgICAgICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBu
ZXh0X3Bvcyk7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgZ290
byBjYW5jZWw7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgfVxuIik7Cj4gKyAgICAg
ICAgYi0+c3RhY2tfc2l6ZSArPSBhdHRyX3NwX2luY19nZXRjbGFzc3ZhcmlhYmxlKGlkKTsKPiAr
ICAgIH0KPiArICAgIGZwcmludGYoZiwgIn1cbiIpOwo+ICsgICAgYnJlYWs7Cj4gKyAgY2FzZSBC
SU4oc2V0Y2xhc3N2YXJpYWJsZSk6Cj4gKyAgICBmcHJpbnRmKGYsICJ7XG4iKTsKPiArICAgIHsK
PiArICAgICAgICBNQVlCRV9VTlVTRUQoaW50IHBjX21vdmVkX3ApID0gRkFMU0U7Cj4gKyAgICAg
ICAgTUFZQkVfVU5VU0VEKElEIGlkKSA9IChJRClvcGVyYW5kc1swXTsKPiArICAgICAgICBpZiAo
c3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICBN
QVlCRV9VTlVTRUQodW5zaWduZWQgaW50KSBzdGFja19zaXplID0gJXU7XG4iLCBiLT5zdGFja19z
aXplKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNF
RChJRCkgaWQ7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKFZB
TFVFKSB2YWw7XG4iKTsKPiArCj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIGlkID0gKElEKTB4
JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRzWzBdKTsKPiArICAgICAgICBjb21tZW50X2lkKGYsIChJ
RClvcGVyYW5kc1swXSk7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsKPiArICAgICAgICBm
cHJpbnRmKGYsICIgICAgdmFsID0gc3RhY2tbJWRdO1xuIiwgYi0+c3RhY2tfc2l6ZSAtIDEpOwo+
ICsgICAgICAgIGlmIChib2R5LT5jYXRjaF9leGNlcHRfcCB8fCBUUlVFKSB7Cj4gKyAgICAgICAg
ICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVk
O1xuIiwgbmV4dF9wb3MpOyAvKiBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7ICovCj4gKyAgICAg
ICAgICAgIHBjX21vdmVkX3AgPSBUUlVFOwo+ICsgICAgICAgIH0KPiArICAgICAgICBpZiAoc3Rh
dHVzLT5sb2NhbF9zdGFja19wKSB7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGVsc2Ugewo+ICsg
ICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2Zw
LT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEpOwo+ICsgICAgICAgIH0KPiArICAgICAg
ICBmcHJpbnRmKGYsICIgICAge1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICB2
bV9lbnN1cmVfbm90X3JlZmluZW1lbnRfbW9kdWxlKEdFVF9TRUxGKCkpO1xuIik7Cj4gKyAgICAg
ICAgZnByaW50ZihmLCAiICAgICAgICByYl9jdmFyX3NldCh2bV9nZXRfY3Zhcl9iYXNlKHJiX3Zt
X2dldF9jcmVmKEdFVF9FUCgpKSwgR0VUX0NGUCgpKSwgaWQsIHZhbCk7XG4iKTsKPiArICAgICAg
ICBmcHJpbnRmKGYsICIgICAgfVxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIGlmIChV
TkxJS0VMWShydWJ5X3ZtX2V2ZW50X2VuYWJsZWRfZ2xvYmFsX2ZsYWdzICYgSVNFUV9UUkFDRV9F
VkVOVFMpKSB7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHJlZ19jZnAtPnNw
ID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAoaW50KWF0
dHJfc3BfaW5jX3NldGNsYXNzdmFyaWFibGUoaWQpICsgMSk7Cj4gKyAgICAgICAgaWYgKCFwY19t
b3ZlZF9wKSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgcmVnX2NmcC0+cGMg
PSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsKPiArICAgICAgICB9Cj4g
KyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICBnb3RvIGNhbmNlbDtcbiIpOwo+ICsgICAgICAg
IGZwcmludGYoZiwgIiAgICB9XG4iKTsKPiArICAgICAgICBiLT5zdGFja19zaXplICs9IGF0dHJf
c3BfaW5jX3NldGNsYXNzdmFyaWFibGUoaWQpOwo+ICsgICAgfQo+ICsgICAgZnByaW50ZihmLCAi
fVxuIik7Cj4gKyAgICBicmVhazsKPiArICBjYXNlIEJJTihnZXRjb25zdGFudCk6Cj4gKyAgICBm
cHJpbnRmKGYsICJ7XG4iKTsKPiArICAgIHsKPiArICAgICAgICBNQVlCRV9VTlVTRUQoaW50IHBj
X21vdmVkX3ApID0gRkFMU0U7Cj4gKyAgICAgICAgTUFZQkVfVU5VU0VEKElEIGlkKSA9IChJRClv
cGVyYW5kc1swXTsKPiArICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cj4gKyAg
ICAgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQodW5zaWduZWQgaW50KSBzdGFj
a19zaXplID0gJXU7XG4iLCBiLT5zdGFja19zaXplKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAg
ZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChJRCkgaWQ7XG4iKTsKPiArICAgICAgICBmcHJp
bnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSBrbGFzcywgdmFsO1xuIik7Cj4gKwo+ICsg
ICAgICAgIGZwcmludGYoZiwgIiAgICBpZCA9IChJRCkweCUiUFJJeFZBTFVFIjsiLCBvcGVyYW5k
c1swXSk7Cj4gKyAgICAgICAgY29tbWVudF9pZChmLCAoSUQpb3BlcmFuZHNbMF0pOwo+ICsgICAg
ICAgIGZwcmludGYoZiwgIlxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIGtsYXNzID0g
c3RhY2tbJWRdO1xuIiwgYi0+c3RhY2tfc2l6ZSAtIDEpOwo+ICsgICAgICAgIGlmIChib2R5LT5j
YXRjaF9leGNlcHRfcCB8fCBUUlVFKSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICBy
ZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3MpOyAvKiBB
RERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7ICovCj4gKyAgICAgICAgICAgIHBjX21vdmVkX3AgPSBU
UlVFOwo+ICsgICAgICAgIH0KPiArICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7
Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGVsc2Ugewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYs
ICIgICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3Rh
Y2tfc2l6ZSArIDEpOwo+ICsgICAgICAgIH0KPiArICAgICAgICBmcHJpbnRmKGYsICIgICAge1xu
Iik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICB2YWwgPSB2bV9nZXRfZXZfY29uc3Qo
ZWMsIGtsYXNzLCBpZCwgMCk7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgfVxuIik7
Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIHN0YWNrWyVkXSA9IHZhbDtcbiIsIGItPnN0YWNr
X3NpemUgKyAoaW50KWF0dHJfc3BfaW5jX2dldGNvbnN0YW50KGlkKSAtIDEpOwo+ICsgICAgICAg
IGZwcmludGYoZiwgIiAgICBpZiAoVU5MSUtFTFkocnVieV92bV9ldmVudF9lbmFibGVkX2dsb2Jh
bF9mbGFncyAmIElTRVFfVFJBQ0VfRVZFTlRTKSkge1xuIik7Cj4gKyAgICAgICAgZnByaW50Zihm
LCAiICAgICAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBi
LT5zdGFja19zaXplICsgKGludClhdHRyX3NwX2luY19nZXRjb25zdGFudChpZCkgKyAxKTsKPiAr
ICAgICAgICBpZiAoIXBjX21vdmVkX3ApIHsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAg
ICAgICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3Mp
Owo+ICsgICAgICAgIH0KPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIGdvdG8gY2FuY2Vs
O1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIpOwo+ICsgICAgICAgIGItPnN0
YWNrX3NpemUgKz0gYXR0cl9zcF9pbmNfZ2V0Y29uc3RhbnQoaWQpOwo+ICsgICAgfQo+ICsgICAg
ZnByaW50ZihmLCAifVxuIik7Cj4gKyAgICBicmVhazsKPiArICBjYXNlIEJJTihzZXRjb25zdGFu
dCk6Cj4gKyAgICBmcHJpbnRmKGYsICJ7XG4iKTsKPiArICAgIHsKPiArICAgICAgICBNQVlCRV9V
TlVTRUQoaW50IHBjX21vdmVkX3ApID0gRkFMU0U7Cj4gKyAgICAgICAgTUFZQkVfVU5VU0VEKElE
IGlkKSA9IChJRClvcGVyYW5kc1swXTsKPiArICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFj
a19wKSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQodW5zaWdu
ZWQgaW50KSBzdGFja19zaXplID0gJXU7XG4iLCBiLT5zdGFja19zaXplKTsKPiArICAgICAgICB9
Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChJRCkgaWQ7XG4iKTsKPiAr
ICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSBjYmFzZSwgdmFsO1xu
Iik7Cj4gKwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBpZCA9IChJRCkweCUiUFJJeFZBTFVF
IjsiLCBvcGVyYW5kc1swXSk7Cj4gKyAgICAgICAgY29tbWVudF9pZChmLCAoSUQpb3BlcmFuZHNb
MF0pOwo+ICsgICAgICAgIGZwcmludGYoZiwgIlxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAi
ICAgIHZhbCA9IHN0YWNrWyVkXTtcbiIsIGItPnN0YWNrX3NpemUgLSAyKTsKPiArICAgICAgICBm
cHJpbnRmKGYsICIgICAgY2Jhc2UgPSBzdGFja1slZF07XG4iLCBiLT5zdGFja19zaXplIC0gMSk7
Cj4gKyAgICAgICAgaWYgKGJvZHktPmNhdGNoX2V4Y2VwdF9wIHx8IFRSVUUpIHsKPiArICAgICAg
ICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsg
JWQ7XG4iLCBuZXh0X3Bvcyk7IC8qIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsgKi8KPiArICAg
ICAgICAgICAgcGNfbW92ZWRfcCA9IFRSVUU7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGlmIChz
dGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZWxzZSB7Cj4g
KyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19j
ZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgMSk7Cj4gKyAgICAgICAgfQo+ICsgICAg
ICAgIGZwcmludGYoZiwgIiAgICB7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAg
IHZtX2NoZWNrX2lmX25hbWVzcGFjZShjYmFzZSk7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYs
ICIgICAgICAgIHZtX2Vuc3VyZV9ub3RfcmVmaW5lbWVudF9tb2R1bGUoR0VUX1NFTEYoKSk7XG4i
KTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHJiX2NvbnN0X3NldChjYmFzZSwgaWQs
IHZhbCk7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgfVxuIik7Cj4gKyAgICAgICAg
ZnByaW50ZihmLCAiICAgIGlmIChVTkxJS0VMWShydWJ5X3ZtX2V2ZW50X2VuYWJsZWRfZ2xvYmFs
X2ZsYWdzICYgSVNFUV9UUkFDRV9FVkVOVFMpKSB7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYs
ICIgICAgICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGIt
PnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5jX3NldGNvbnN0YW50KGlkKSArIDEpOwo+ICsg
ICAgICAgIGlmICghcGNfbW92ZWRfcCkgewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAg
ICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBuZXh0X3Bvcyk7
Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgZ290byBjYW5jZWw7
XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgfVxuIik7Cj4gKyAgICAgICAgYi0+c3Rh
Y2tfc2l6ZSArPSBhdHRyX3NwX2luY19zZXRjb25zdGFudChpZCk7Cj4gKyAgICB9Cj4gKyAgICBm
cHJpbnRmKGYsICJ9XG4iKTsKPiArICAgIGJyZWFrOwo+ICsgIGNhc2UgQklOKGdldGdsb2JhbCk6
Cj4gKyAgICBmcHJpbnRmKGYsICJ7XG4iKTsKPiArICAgIHsKPiArICAgICAgICBNQVlCRV9VTlVT
RUQoaW50IHBjX21vdmVkX3ApID0gRkFMU0U7Cj4gKyAgICAgICAgTUFZQkVfVU5VU0VEKEdFTlRS
WSBlbnRyeSkgPSAoR0VOVFJZKW9wZXJhbmRzWzBdOwo+ICsgICAgICAgIGlmIChzdGF0dXMtPmxv
Y2FsX3N0YWNrX3ApIHsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNF
RCh1bnNpZ25lZCBpbnQpIHN0YWNrX3NpemUgPSAldTtcbiIsIGItPnN0YWNrX3NpemUpOwo+ICsg
ICAgICAgIH0KPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKEdFTlRSWSkg
ZW50cnk7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKFZBTFVF
KSB2YWw7XG4iKTsKPiArCj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIGVudHJ5ID0gKEdFTlRS
WSkweCUiUFJJeFZBTFVFIjsiLCBvcGVyYW5kc1swXSk7Cj4gKyAgICAgICAgZnByaW50ZihmLCAi
XG4iKTsKPiArICAgICAgICBpZiAoYm9keS0+Y2F0Y2hfZXhjZXB0X3AgfHwgVFJVRSkgewo+ICsg
ICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lz
ZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsgLyogQUREX1BDKElOU05fQVRUUih3aWR0aCkpOyAqLwo+
ICsgICAgICAgICAgICBwY19tb3ZlZF9wID0gVFJVRTsKPiArICAgICAgICB9Cj4gKyAgICAgICAg
aWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgewo+ICsgICAgICAgIH0KPiArICAgICAgICBlbHNl
IHsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICop
cmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAxKTsKPiArICAgICAgICB9Cj4g
KyAgICAgICAgZnByaW50ZihmLCAiICAgIHtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAg
ICAgICAgdmFsID0gR0VUX0dMT0JBTCgoVkFMVUUpZW50cnkpO1xuIik7Cj4gKyAgICAgICAgZnBy
aW50ZihmLCAiICAgIH1cbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBzdGFja1slZF0g
PSB2YWw7XG4iLCBiLT5zdGFja19zaXplICsgKGludClhdHRyX3NwX2luY19nZXRnbG9iYWwoZW50
cnkpIC0gMSk7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIGlmIChVTkxJS0VMWShydWJ5X3Zt
X2V2ZW50X2VuYWJsZWRfZ2xvYmFsX2ZsYWdzICYgSVNFUV9UUkFDRV9FVkVOVFMpKSB7XG4iKTsK
PiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVn
X2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5jX2dldGds
b2JhbChlbnRyeSkgKyAxKTsKPiArICAgICAgICBpZiAoIXBjX21vdmVkX3ApIHsKPiArICAgICAg
ICAgICAgZnByaW50ZihmLCAiICAgICAgICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNl
cSArICVkO1xuIiwgbmV4dF9wb3MpOwo+ICsgICAgICAgIH0KPiArICAgICAgICBmcHJpbnRmKGYs
ICIgICAgICAgIGdvdG8gY2FuY2VsO1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIH1c
biIpOwo+ICsgICAgICAgIGItPnN0YWNrX3NpemUgKz0gYXR0cl9zcF9pbmNfZ2V0Z2xvYmFsKGVu
dHJ5KTsKPiArICAgIH0KPiArICAgIGZwcmludGYoZiwgIn1cbiIpOwo+ICsgICAgYnJlYWs7Cj4g
KyAgY2FzZSBCSU4oc2V0Z2xvYmFsKToKPiArICAgIGZwcmludGYoZiwgIntcbiIpOwo+ICsgICAg
ewo+ICsgICAgICAgIE1BWUJFX1VOVVNFRChpbnQgcGNfbW92ZWRfcCkgPSBGQUxTRTsKPiArICAg
ICAgICBNQVlCRV9VTlVTRUQoR0VOVFJZIGVudHJ5KSA9IChHRU5UUlkpb3BlcmFuZHNbMF07Cj4g
KyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgewo+ICsgICAgICAgICAgICBmcHJp
bnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVuc2lnbmVkIGludCkgc3RhY2tfc2l6ZSA9ICV1O1xu
IiwgYi0+c3RhY2tfc2l6ZSk7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGZwcmludGYoZiwgIiAg
ICBNQVlCRV9VTlVTRUQoR0VOVFJZKSBlbnRyeTtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwg
IiAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIHZhbDtcbiIpOwo+ICsKPiArICAgICAgICBmcHJpbnRm
KGYsICIgICAgZW50cnkgPSAoR0VOVFJZKTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRzWzBdKTsK
PiArICAgICAgICBmcHJpbnRmKGYsICJcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICB2
YWwgPSBzdGFja1slZF07XG4iLCBiLT5zdGFja19zaXplIC0gMSk7Cj4gKyAgICAgICAgaWYgKGJv
ZHktPmNhdGNoX2V4Y2VwdF9wIHx8IFRSVUUpIHsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAi
ICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBuZXh0X3Bvcyk7
IC8qIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsgKi8KPiArICAgICAgICAgICAgcGNfbW92ZWRf
cCA9IFRSVUU7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNr
X3ApIHsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZWxzZSB7Cj4gKyAgICAgICAgICAgIGZwcmlu
dGYoZiwgIiAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBi
LT5zdGFja19zaXplICsgMSk7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGZwcmludGYoZiwgIiAg
ICB7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIFNFVF9HTE9CQUwoKFZBTFVF
KWVudHJ5LCB2YWwpO1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIpOwo+ICsg
ICAgICAgIGZwcmludGYoZiwgIiAgICBpZiAoVU5MSUtFTFkocnVieV92bV9ldmVudF9lbmFibGVk
X2dsb2JhbF9mbGFncyAmIElTRVFfVFJBQ0VfRVZFTlRTKSkge1xuIik7Cj4gKyAgICAgICAgZnBy
aW50ZihmLCAiICAgICAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7
XG4iLCBiLT5zdGFja19zaXplICsgKGludClhdHRyX3NwX2luY19zZXRnbG9iYWwoZW50cnkpICsg
MSk7Cj4gKyAgICAgICAgaWYgKCFwY19tb3ZlZF9wKSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYo
ZiwgIiAgICAgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5l
eHRfcG9zKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICBnb3Rv
IGNhbmNlbDtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICB9XG4iKTsKPiArICAgICAg
ICBiLT5zdGFja19zaXplICs9IGF0dHJfc3BfaW5jX3NldGdsb2JhbChlbnRyeSk7Cj4gKyAgICB9
Cj4gKyAgICBmcHJpbnRmKGYsICJ9XG4iKTsKPiArICAgIGJyZWFrOwo+ICsgIGNhc2UgQklOKHB1
dG5pbCk6Cj4gKyAgICBmcHJpbnRmKGYsICJ7XG4iKTsKPiArICAgIHsKPiArICAgICAgICBNQVlC
RV9VTlVTRUQoaW50IHBjX21vdmVkX3ApID0gRkFMU0U7Cj4gKyAgICAgICAgaWYgKHN0YXR1cy0+
bG9jYWxfc3RhY2tfcCkgewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5V
U0VEKHVuc2lnbmVkIGludCkgc3RhY2tfc2l6ZSA9ICV1O1xuIiwgYi0+c3RhY2tfc2l6ZSk7Cj4g
KyAgICAgICAgfQo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQoVkFMVUUp
IHZhbDtcbiIpOwo+ICsKPiArICAgICAgICBpZiAoYm9keS0+Y2F0Y2hfZXhjZXB0X3AgfHwgRkFM
U0UpIHsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnBjID0gb3JpZ2lu
YWxfYm9keV9pc2VxICsgJWQ7XG4iLCBuZXh0X3Bvcyk7IC8qIEFERF9QQyhJTlNOX0FUVFIod2lk
dGgpKTsgKi8KPiArICAgICAgICAgICAgcGNfbW92ZWRfcCA9IFRSVUU7Cj4gKyAgICAgICAgfQo+
ICsgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKPiArICAgICAgICB9Cj4gKyAg
ICAgICAgZWxzZSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5zcCA9
IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgMSk7Cj4gKyAg
ICAgICAgfQo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICB7XG4iKTsKPiArICAgICAgICBmcHJp
bnRmKGYsICIgICAgICAgIHZhbCA9IFFuaWw7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIg
ICAgfVxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIHN0YWNrWyVkXSA9IHZhbDtcbiIs
IGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5jX3B1dG5pbCgpIC0gMSk7Cj4gKyAgICAg
ICAgYi0+c3RhY2tfc2l6ZSArPSBhdHRyX3NwX2luY19wdXRuaWwoKTsKPiArICAgIH0KPiArICAg
IGZwcmludGYoZiwgIn1cbiIpOwo+ICsgICAgYnJlYWs7Cj4gKyAgY2FzZSBCSU4ocHV0c2VsZik6
Cj4gKyAgICBmcHJpbnRmKGYsICJ7XG4iKTsKPiArICAgIHsKPiArICAgICAgICBNQVlCRV9VTlVT
RUQoaW50IHBjX21vdmVkX3ApID0gRkFMU0U7Cj4gKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxf
c3RhY2tfcCkgewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVu
c2lnbmVkIGludCkgc3RhY2tfc2l6ZSA9ICV1O1xuIiwgYi0+c3RhY2tfc2l6ZSk7Cj4gKyAgICAg
ICAgfQo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIHZhbDtc
biIpOwo+ICsKPiArICAgICAgICBpZiAoYm9keS0+Y2F0Y2hfZXhjZXB0X3AgfHwgRkFMU0UpIHsK
PiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9k
eV9pc2VxICsgJWQ7XG4iLCBuZXh0X3Bvcyk7IC8qIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsg
Ki8KPiArICAgICAgICAgICAgcGNfbW92ZWRfcCA9IFRSVUU7Cj4gKyAgICAgICAgfQo+ICsgICAg
ICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKPiArICAgICAgICB9Cj4gKyAgICAgICAg
ZWxzZSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5zcCA9IChWQUxV
RSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgMSk7Cj4gKyAgICAgICAg
fQo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICB7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYs
ICIgICAgICAgIHZhbCA9IEdFVF9TRUxGKCk7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIg
ICAgfVxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIHN0YWNrWyVkXSA9IHZhbDtcbiIs
IGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5jX3B1dHNlbGYoKSAtIDEpOwo+ICsgICAg
ICAgIGItPnN0YWNrX3NpemUgKz0gYXR0cl9zcF9pbmNfcHV0c2VsZigpOwo+ICsgICAgfQo+ICsg
ICAgZnByaW50ZihmLCAifVxuIik7Cj4gKyAgICBicmVhazsKPiArICBjYXNlIEJJTihwdXRvYmpl
Y3QpOgo+ICsgICAgZnByaW50ZihmLCAie1xuIik7Cj4gKyAgICB7Cj4gKyAgICAgICAgTUFZQkVf
VU5VU0VEKGludCBwY19tb3ZlZF9wKSA9IEZBTFNFOwo+ICsgICAgICAgIE1BWUJFX1VOVVNFRChW
QUxVRSB2YWwpID0gKFZBTFVFKW9wZXJhbmRzWzBdOwo+ICsgICAgICAgIGlmIChzdGF0dXMtPmxv
Y2FsX3N0YWNrX3ApIHsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNF
RCh1bnNpZ25lZCBpbnQpIHN0YWNrX3NpemUgPSAldTtcbiIsIGItPnN0YWNrX3NpemUpOwo+ICsg
ICAgICAgIH0KPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSB2
YWw7XG4iKTsKPiArCj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIHZhbCA9IChWQUxVRSkweCUi
UFJJeFZBTFVFIjsiLCBvcGVyYW5kc1swXSk7Cj4gKyAgICAgICAgaWYgKFNZTUJPTF9QKChWQUxV
RSlvcGVyYW5kc1swXSkpIGNvbW1lbnRfaWQoZiwgU1lNMklEKChWQUxVRSlvcGVyYW5kc1swXSkp
Owo+ICsgICAgICAgIGZwcmludGYoZiwgIlxuIik7Cj4gKyAgICAgICAgaWYgKGJvZHktPmNhdGNo
X2V4Y2VwdF9wIHx8IEZBTFNFKSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdf
Y2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3MpOyAvKiBBRERf
UEMoSU5TTl9BVFRSKHdpZHRoKSk7ICovCj4gKyAgICAgICAgICAgIHBjX21vdmVkX3AgPSBUUlVF
Owo+ICsgICAgICAgIH0KPiArICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cj4g
KyAgICAgICAgfQo+ICsgICAgICAgIGVsc2Ugewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIg
ICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tf
c2l6ZSArIDEpOwo+ICsgICAgICAgIH0KPiArICAgICAgICBmcHJpbnRmKGYsICIgICAge1xuIik7
Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICAvKiAqL1xuIik7Cj4gKyAgICAgICAgZnBy
aW50ZihmLCAiICAgIH1cbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBzdGFja1slZF0g
PSB2YWw7XG4iLCBiLT5zdGFja19zaXplICsgKGludClhdHRyX3NwX2luY19wdXRvYmplY3QodmFs
KSAtIDEpOwo+ICsgICAgICAgIGItPnN0YWNrX3NpemUgKz0gYXR0cl9zcF9pbmNfcHV0b2JqZWN0
KHZhbCk7Cj4gKyAgICB9Cj4gKyAgICBmcHJpbnRmKGYsICJ9XG4iKTsKPiArICAgIGJyZWFrOwo+
ICsgIGNhc2UgQklOKHB1dHNwZWNpYWxvYmplY3QpOgo+ICsgICAgZnByaW50ZihmLCAie1xuIik7
Cj4gKyAgICB7Cj4gKyAgICAgICAgTUFZQkVfVU5VU0VEKGludCBwY19tb3ZlZF9wKSA9IEZBTFNF
Owo+ICsgICAgICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCB2YWx1ZV90eXBlKSA9IChyYl9udW1f
dClvcGVyYW5kc1swXTsKPiArICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cj4g
KyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQodW5zaWduZWQgaW50KSBz
dGFja19zaXplID0gJXU7XG4iLCBiLT5zdGFja19zaXplKTsKPiArICAgICAgICB9Cj4gKyAgICAg
ICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgdmFsO1xuIik7Cj4gKyAgICAg
ICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCkgdmFsdWVfdHlwZTtcbiIp
Owo+ICsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgdmFsdWVfdHlwZSA9IChyYl9udW1fdCkw
eCUiUFJJeFZBTFVFIjsiLCBvcGVyYW5kc1swXSk7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiXG4i
KTsKPiArICAgICAgICBpZiAoYm9keS0+Y2F0Y2hfZXhjZXB0X3AgfHwgRkFMU0UpIHsKPiArICAg
ICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2Vx
ICsgJWQ7XG4iLCBuZXh0X3Bvcyk7IC8qIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsgKi8KPiAr
ICAgICAgICAgICAgcGNfbW92ZWRfcCA9IFRSVUU7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGlm
IChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZWxzZSB7
Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJl
Z19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgMSk7Cj4gKyAgICAgICAgfQo+ICsg
ICAgICAgIGZwcmludGYoZiwgIiAgICB7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAg
ICAgIGVudW0gdm1fc3BlY2lhbF9vYmplY3RfdHlwZSB0eXBlO1xuIik7Cj4gKyAgICAgICAgZnBy
aW50ZihmLCAiXG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHR5cGUgPSAoZW51
bSB2bV9zcGVjaWFsX29iamVjdF90eXBlKXZhbHVlX3R5cGU7XG4iKTsKPiArICAgICAgICBmcHJp
bnRmKGYsICIgICAgICAgIHZhbCA9IHZtX2dldF9zcGVjaWFsX29iamVjdChHRVRfRVAoKSwgdHlw
ZSk7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgfVxuIik7Cj4gKyAgICAgICAgZnBy
aW50ZihmLCAiICAgIHN0YWNrWyVkXSA9IHZhbDtcbiIsIGItPnN0YWNrX3NpemUgKyAoaW50KWF0
dHJfc3BfaW5jX3B1dHNwZWNpYWxvYmplY3QodmFsdWVfdHlwZSkgLSAxKTsKPiArICAgICAgICBi
LT5zdGFja19zaXplICs9IGF0dHJfc3BfaW5jX3B1dHNwZWNpYWxvYmplY3QodmFsdWVfdHlwZSk7
Cj4gKyAgICB9Cj4gKyAgICBmcHJpbnRmKGYsICJ9XG4iKTsKPiArICAgIGJyZWFrOwo+ICsgIGNh
c2UgQklOKHB1dGlzZXEpOgo+ICsgICAgZnByaW50ZihmLCAie1xuIik7Cj4gKyAgICB7Cj4gKyAg
ICAgICAgTUFZQkVfVU5VU0VEKGludCBwY19tb3ZlZF9wKSA9IEZBTFNFOwo+ICsgICAgICAgIE1B
WUJFX1VOVVNFRChJU0VRIGlzZXEpID0gKElTRVEpb3BlcmFuZHNbMF07Cj4gKyAgICAgICAgaWYg
KHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAg
TUFZQkVfVU5VU0VEKHVuc2lnbmVkIGludCkgc3RhY2tfc2l6ZSA9ICV1O1xuIiwgYi0+c3RhY2tf
c2l6ZSk7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVT
RUQoSVNFUSkgaXNlcTtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVT
RUQoVkFMVUUpIHJldDtcbiIpOwo+ICsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgaXNlcSA9
IChJU0VRKTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRzWzBdKTsKPiArICAgICAgICBmcHJpbnRm
KGYsICJcbiIpOwo+ICsgICAgICAgIGlmIChib2R5LT5jYXRjaF9leGNlcHRfcCB8fCBGQUxTRSkg
ewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9i
b2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsgLyogQUREX1BDKElOU05fQVRUUih3aWR0aCkp
OyAqLwo+ICsgICAgICAgICAgICBwY19tb3ZlZF9wID0gVFJVRTsKPiArICAgICAgICB9Cj4gKyAg
ICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgewo+ICsgICAgICAgIH0KPiArICAgICAg
ICBlbHNlIHsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnNwID0gKFZB
TFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAxKTsKPiArICAgICAg
ICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIHtcbiIpOwo+ICsgICAgICAgIGZwcmludGYo
ZiwgIiAgICAgICAgcmV0ID0gKFZBTFVFKWlzZXE7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYs
ICIgICAgfVxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIHN0YWNrWyVkXSA9IHJldDtc
biIsIGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5jX3B1dGlzZXEoaXNlcSkgLSAxKTsK
PiArICAgICAgICBiLT5zdGFja19zaXplICs9IGF0dHJfc3BfaW5jX3B1dGlzZXEoaXNlcSk7Cj4g
KyAgICB9Cj4gKyAgICBmcHJpbnRmKGYsICJ9XG4iKTsKPiArICAgIGJyZWFrOwo+ICsgIGNhc2Ug
QklOKHB1dHN0cmluZyk6Cj4gKyAgICBmcHJpbnRmKGYsICJ7XG4iKTsKPiArICAgIHsKPiArICAg
ICAgICBNQVlCRV9VTlVTRUQoaW50IHBjX21vdmVkX3ApID0gRkFMU0U7Cj4gKyAgICAgICAgTUFZ
QkVfVU5VU0VEKFZBTFVFIHN0cikgPSAoVkFMVUUpb3BlcmFuZHNbMF07Cj4gKyAgICAgICAgaWYg
KHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAg
TUFZQkVfVU5VU0VEKHVuc2lnbmVkIGludCkgc3RhY2tfc2l6ZSA9ICV1O1xuIiwgYi0+c3RhY2tf
c2l6ZSk7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVT
RUQoVkFMVUUpIHN0ciwgdmFsO1xuIik7Cj4gKwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBz
dHIgPSAoVkFMVUUpMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNbMF0pOwo+ICsgICAgICAgIGlm
IChTWU1CT0xfUCgoVkFMVUUpb3BlcmFuZHNbMF0pKSBjb21tZW50X2lkKGYsIFNZTTJJRCgoVkFM
VUUpb3BlcmFuZHNbMF0pKTsKPiArICAgICAgICBmcHJpbnRmKGYsICJcbiIpOwo+ICsgICAgICAg
IGlmIChib2R5LT5jYXRjaF9leGNlcHRfcCB8fCBGQUxTRSkgewo+ICsgICAgICAgICAgICBmcHJp
bnRmKGYsICIgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5l
eHRfcG9zKTsgLyogQUREX1BDKElOU05fQVRUUih3aWR0aCkpOyAqLwo+ICsgICAgICAgICAgICBw
Y19tb3ZlZF9wID0gVFJVRTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgaWYgKHN0YXR1cy0+bG9j
YWxfc3RhY2tfcCkgewo+ICsgICAgICAgIH0KPiArICAgICAgICBlbHNlIHsKPiArICAgICAgICAg
ICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAl
ZDtcbiIsIGItPnN0YWNrX3NpemUgKyAxKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50
ZihmLCAiICAgIHtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgdmFsID0gcmJf
c3RyX3Jlc3VycmVjdChzdHIpO1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIp
Owo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBzdGFja1slZF0gPSB2YWw7XG4iLCBiLT5zdGFj
a19zaXplICsgKGludClhdHRyX3NwX2luY19wdXRzdHJpbmcoc3RyKSAtIDEpOwo+ICsgICAgICAg
IGItPnN0YWNrX3NpemUgKz0gYXR0cl9zcF9pbmNfcHV0c3RyaW5nKHN0cik7Cj4gKyAgICB9Cj4g
KyAgICBmcHJpbnRmKGYsICJ9XG4iKTsKPiArICAgIGJyZWFrOwo+ICsgIGNhc2UgQklOKGNvbmNh
dHN0cmluZ3MpOgo+ICsgICAgZnByaW50ZihmLCAie1xuIik7Cj4gKyAgICB7Cj4gKyAgICAgICAg
TUFZQkVfVU5VU0VEKGludCBwY19tb3ZlZF9wKSA9IEZBTFNFOwo+ICsgICAgICAgIE1BWUJFX1VO
VVNFRChyYl9udW1fdCBudW0pID0gKHJiX251bV90KW9wZXJhbmRzWzBdOwo+ICsgICAgICAgIGlm
IChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAg
IE1BWUJFX1VOVVNFRCh1bnNpZ25lZCBpbnQpIHN0YWNrX3NpemUgPSAldTtcbiIsIGItPnN0YWNr
X3NpemUpOwo+ICsgICAgICAgIH0KPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5V
U0VEKFZBTFVFKSB2YWw7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5V
U0VEKHJiX251bV90KSBudW07XG4iKTsKPiArCj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIG51
bSA9IChyYl9udW1fdCkweCUiUFJJeFZBTFVFIjsiLCBvcGVyYW5kc1swXSk7Cj4gKyAgICAgICAg
ZnByaW50ZihmLCAiXG4iKTsKPiArICAgICAgICBpZiAoYm9keS0+Y2F0Y2hfZXhjZXB0X3AgfHwg
RkFMU0UpIHsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnBjID0gb3Jp
Z2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBuZXh0X3Bvcyk7IC8qIEFERF9QQyhJTlNOX0FUVFIo
d2lkdGgpKTsgKi8KPiArICAgICAgICAgICAgcGNfbW92ZWRfcCA9IFRSVUU7Cj4gKyAgICAgICAg
fQo+ICsgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKPiArICAgICAgICB9Cj4g
KyAgICAgICAgZWxzZSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5z
cCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgMSk7Cj4g
KyAgICAgICAgfQo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICB7XG4iKTsKPiArICAgICAgICBm
cHJpbnRmKGYsICIgICAgICAgIHZhbCA9IHJiX3N0cl9jb25jYXRfbGl0ZXJhbHMobnVtLCAlcyk7
XG4iLAo+ICsgICAgICAgICAgICAgICAgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCA/ICJzdGFjayAr
IChzdGFja19zaXplIC0gKG51bSkpIiA6ICJTVEFDS19BRERSX0ZST01fVE9QKG51bSkiKSk7Cj4g
KyAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAg
ICBzdGFja1slZF0gPSB2YWw7XG4iLCBiLT5zdGFja19zaXplICsgKGludClhdHRyX3NwX2luY19j
b25jYXRzdHJpbmdzKG51bSkgLSAxKTsKPiArICAgICAgICBiLT5zdGFja19zaXplICs9IGF0dHJf
c3BfaW5jX2NvbmNhdHN0cmluZ3MobnVtKTsKPiArICAgIH0KPiArICAgIGZwcmludGYoZiwgIn1c
biIpOwo+ICsgICAgYnJlYWs7Cj4gKyAgY2FzZSBCSU4odG9zdHJpbmcpOgo+ICsgICAgZnByaW50
ZihmLCAie1xuIik7Cj4gKyAgICB7Cj4gKyAgICAgICAgTUFZQkVfVU5VU0VEKGludCBwY19tb3Zl
ZF9wKSA9IEZBTFNFOwo+ICsgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKPiAr
ICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRCh1bnNpZ25lZCBpbnQpIHN0
YWNrX3NpemUgPSAldTtcbiIsIGItPnN0YWNrX3NpemUpOwo+ICsgICAgICAgIH0KPiArICAgICAg
ICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSBzdHIsIHZhbDtcbiIpOwo+ICsK
PiArICAgICAgICBmcHJpbnRmKGYsICIgICAgdmFsID0gc3RhY2tbJWRdO1xuIiwgYi0+c3RhY2tf
c2l6ZSAtIDIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBzdHIgPSBzdGFja1slZF07XG4i
LCBiLT5zdGFja19zaXplIC0gMSk7Cj4gKyAgICAgICAgaWYgKGJvZHktPmNhdGNoX2V4Y2VwdF9w
IHx8IEZBTFNFKSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5wYyA9
IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3MpOyAvKiBBRERfUEMoSU5TTl9B
VFRSKHdpZHRoKSk7ICovCj4gKyAgICAgICAgICAgIHBjX21vdmVkX3AgPSBUUlVFOwo+ICsgICAg
ICAgIH0KPiArICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cj4gKyAgICAgICAg
fQo+ICsgICAgICAgIGVsc2Ugewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2Nm
cC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEp
Owo+ICsgICAgICAgIH0KPiArICAgICAgICBmcHJpbnRmKGYsICIgICAge1xuIik7Cj4gKyAgICAg
ICAgZnByaW50ZihmLCAiICAgICAgICB2YWwgPSByYl9vYmpfYXNfc3RyaW5nX3Jlc3VsdChzdHIs
IHZhbCk7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgfVxuIik7Cj4gKyAgICAgICAg
ZnByaW50ZihmLCAiICAgIHN0YWNrWyVkXSA9IHZhbDtcbiIsIGItPnN0YWNrX3NpemUgKyAoaW50
KWF0dHJfc3BfaW5jX3Rvc3RyaW5nKCkgLSAxKTsKPiArICAgICAgICBiLT5zdGFja19zaXplICs9
IGF0dHJfc3BfaW5jX3Rvc3RyaW5nKCk7Cj4gKyAgICB9Cj4gKyAgICBmcHJpbnRmKGYsICJ9XG4i
KTsKPiArICAgIGJyZWFrOwo+ICsgIGNhc2UgQklOKGZyZWV6ZXN0cmluZyk6Cj4gKyAgICBmcHJp
bnRmKGYsICJ7XG4iKTsKPiArICAgIHsKPiArICAgICAgICBNQVlCRV9VTlVTRUQoaW50IHBjX21v
dmVkX3ApID0gRkFMU0U7Cj4gKyAgICAgICAgTUFZQkVfVU5VU0VEKFZBTFVFIGRlYnVnX2luZm8p
ID0gKFZBTFVFKW9wZXJhbmRzWzBdOwo+ICsgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNr
X3ApIHsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRCh1bnNpZ25l
ZCBpbnQpIHN0YWNrX3NpemUgPSAldTtcbiIsIGItPnN0YWNrX3NpemUpOwo+ICsgICAgICAgIH0K
PiArICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSBkZWJ1Z19pbmZv
LCBzdHI7XG4iKTsKPiArCj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIGRlYnVnX2luZm8gPSAo
VkFMVUUpMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNbMF0pOwo+ICsgICAgICAgIGlmIChTWU1C
T0xfUCgoVkFMVUUpb3BlcmFuZHNbMF0pKSBjb21tZW50X2lkKGYsIFNZTTJJRCgoVkFMVUUpb3Bl
cmFuZHNbMF0pKTsKPiArICAgICAgICBmcHJpbnRmKGYsICJcbiIpOwo+ICsgICAgICAgIGZwcmlu
dGYoZiwgIiAgICBzdHIgPSBzdGFja1slZF07XG4iLCBiLT5zdGFja19zaXplIC0gMSk7Cj4gKyAg
ICAgICAgaWYgKGJvZHktPmNhdGNoX2V4Y2VwdF9wIHx8IEZBTFNFKSB7Cj4gKyAgICAgICAgICAg
IGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xu
IiwgbmV4dF9wb3MpOyAvKiBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7ICovCj4gKyAgICAgICAg
ICAgIHBjX21vdmVkX3AgPSBUUlVFOwo+ICsgICAgICAgIH0KPiArICAgICAgICBpZiAoc3RhdHVz
LT5sb2NhbF9zdGFja19wKSB7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGVsc2Ugewo+ICsgICAg
ICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5i
cCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEpOwo+ICsgICAgICAgIH0KPiArICAgICAgICBm
cHJpbnRmKGYsICIgICAge1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICB2bV9m
cmVlemVzdHJpbmcoc3RyLCBkZWJ1Z19pbmZvKTtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwg
IiAgICB9XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgc3RhY2tbJWRdID0gc3RyO1xu
IiwgYi0+c3RhY2tfc2l6ZSArIChpbnQpYXR0cl9zcF9pbmNfZnJlZXplc3RyaW5nKGRlYnVnX2lu
Zm8pIC0gMSk7Cj4gKyAgICAgICAgYi0+c3RhY2tfc2l6ZSArPSBhdHRyX3NwX2luY19mcmVlemVz
dHJpbmcoZGVidWdfaW5mbyk7Cj4gKyAgICB9Cj4gKyAgICBmcHJpbnRmKGYsICJ9XG4iKTsKPiAr
ICAgIGJyZWFrOwo+ICsgIGNhc2UgQklOKHRvcmVnZXhwKToKPiArICAgIGZwcmludGYoZiwgIntc
biIpOwo+ICsgICAgewo+ICsgICAgICAgIE1BWUJFX1VOVVNFRChpbnQgcGNfbW92ZWRfcCkgPSBG
QUxTRTsKPiArICAgICAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3Qgb3B0KSA9IChyYl9udW1fdClv
cGVyYW5kc1swXTsKPiArICAgICAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QgY250KSA9IChyYl9u
dW1fdClvcGVyYW5kc1sxXTsKPiArICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7
Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQodW5zaWduZWQgaW50
KSBzdGFja19zaXplID0gJXU7XG4iLCBiLT5zdGFja19zaXplKTsKPiArICAgICAgICB9Cj4gKyAg
ICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgdmFsO1xuIik7Cj4gKyAg
ICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCkgY250LCBvcHQ7XG4i
KTsKPiArCj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIG9wdCA9IChyYl9udW1fdCkweCUiUFJJ
eFZBTFVFIjsiLCBvcGVyYW5kc1swXSk7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsKPiAr
ICAgICAgICBmcHJpbnRmKGYsICIgICAgY250ID0gKHJiX251bV90KTB4JSJQUkl4VkFMVUUiOyIs
IG9wZXJhbmRzWzFdKTsKPiArICAgICAgICBmcHJpbnRmKGYsICJcbiIpOwo+ICsgICAgICAgIGlm
IChib2R5LT5jYXRjaF9leGNlcHRfcCB8fCBGQUxTRSkgewo+ICsgICAgICAgICAgICBmcHJpbnRm
KGYsICIgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRf
cG9zKTsgLyogQUREX1BDKElOU05fQVRUUih3aWR0aCkpOyAqLwo+ICsgICAgICAgICAgICBwY19t
b3ZlZF9wID0gVFJVRTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxf
c3RhY2tfcCkgewo+ICsgICAgICAgIH0KPiArICAgICAgICBlbHNlIHsKPiArICAgICAgICAgICAg
ZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtc
biIsIGItPnN0YWNrX3NpemUgKyAxKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50Zihm
LCAiICAgIHtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgY29uc3QgVkFMVUUg
YXJ5ID0gcmJfYXJ5X3RtcF9uZXdfZnJvbV92YWx1ZXMoMCwgY250LCAlcyk7XG4iLAo+ICsgICAg
ICAgICAgICAgICAgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCA/ICJzdGFjayArIChzdGFja19zaXpl
IC0gKGNudCkpIiA6ICJTVEFDS19BRERSX0ZST01fVE9QKGNudCkiKSk7Cj4gKyAgICAgICAgZnBy
aW50ZihmLCAiICAgICAgICB2YWwgPSByYl9yZWdfbmV3X2FyeShhcnksIChpbnQpb3B0KTtcbiIp
Owo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgcmJfYXJ5X2NsZWFyKGFyeSk7XG4iKTsK
PiArICAgICAgICBmcHJpbnRmKGYsICIgICAgfVxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAi
ICAgIHN0YWNrWyVkXSA9IHZhbDtcbiIsIGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5j
X3RvcmVnZXhwKG9wdCwgY250KSAtIDEpOwo+ICsgICAgICAgIGItPnN0YWNrX3NpemUgKz0gYXR0
cl9zcF9pbmNfdG9yZWdleHAob3B0LCBjbnQpOwo+ICsgICAgfQo+ICsgICAgZnByaW50ZihmLCAi
fVxuIik7Cj4gKyAgICBicmVhazsKPiArICBjYXNlIEJJTihpbnRlcm4pOgo+ICsgICAgZnByaW50
ZihmLCAie1xuIik7Cj4gKyAgICB7Cj4gKyAgICAgICAgTUFZQkVfVU5VU0VEKGludCBwY19tb3Zl
ZF9wKSA9IEZBTFNFOwo+ICsgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKPiAr
ICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRCh1bnNpZ25lZCBpbnQpIHN0
YWNrX3NpemUgPSAldTtcbiIsIGItPnN0YWNrX3NpemUpOwo+ICsgICAgICAgIH0KPiArICAgICAg
ICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSBzdHIsIHN5bTtcbiIpOwo+ICsK
PiArICAgICAgICBmcHJpbnRmKGYsICIgICAgc3RyID0gc3RhY2tbJWRdO1xuIiwgYi0+c3RhY2tf
c2l6ZSAtIDEpOwo+ICsgICAgICAgIGlmIChib2R5LT5jYXRjaF9leGNlcHRfcCB8fCBGQUxTRSkg
ewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9i
b2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsgLyogQUREX1BDKElOU05fQVRUUih3aWR0aCkp
OyAqLwo+ICsgICAgICAgICAgICBwY19tb3ZlZF9wID0gVFJVRTsKPiArICAgICAgICB9Cj4gKyAg
ICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgewo+ICsgICAgICAgIH0KPiArICAgICAg
ICBlbHNlIHsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnNwID0gKFZB
TFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAxKTsKPiArICAgICAg
ICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIHtcbiIpOwo+ICsgICAgICAgIGZwcmludGYo
ZiwgIiAgICAgICAgc3ltID0gcmJfc3RyX2ludGVybihzdHIpO1xuIik7Cj4gKyAgICAgICAgZnBy
aW50ZihmLCAiICAgIH1cbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBzdGFja1slZF0g
PSBzeW07XG4iLCBiLT5zdGFja19zaXplICsgKGludClhdHRyX3NwX2luY19pbnRlcm4oKSAtIDEp
Owo+ICsgICAgICAgIGItPnN0YWNrX3NpemUgKz0gYXR0cl9zcF9pbmNfaW50ZXJuKCk7Cj4gKyAg
ICB9Cj4gKyAgICBmcHJpbnRmKGYsICJ9XG4iKTsKPiArICAgIGJyZWFrOwo+ICsgIGNhc2UgQklO
KG5ld2FycmF5KToKPiArICAgIGZwcmludGYoZiwgIntcbiIpOwo+ICsgICAgewo+ICsgICAgICAg
IE1BWUJFX1VOVVNFRChpbnQgcGNfbW92ZWRfcCkgPSBGQUxTRTsKPiArICAgICAgICBNQVlCRV9V
TlVTRUQocmJfbnVtX3QgbnVtKSA9IChyYl9udW1fdClvcGVyYW5kc1swXTsKPiArICAgICAgICBp
ZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAg
ICBNQVlCRV9VTlVTRUQodW5zaWduZWQgaW50KSBzdGFja19zaXplID0gJXU7XG4iLCBiLT5zdGFj
a19zaXplKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VO
VVNFRChWQUxVRSkgdmFsO1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VO
VVNFRChyYl9udW1fdCkgbnVtO1xuIik7Cj4gKwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBu
dW0gPSAocmJfbnVtX3QpMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNbMF0pOwo+ICsgICAgICAg
IGZwcmludGYoZiwgIlxuIik7Cj4gKyAgICAgICAgaWYgKGJvZHktPmNhdGNoX2V4Y2VwdF9wIHx8
IEZBTFNFKSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5wYyA9IG9y
aWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3MpOyAvKiBBRERfUEMoSU5TTl9BVFRS
KHdpZHRoKSk7ICovCj4gKyAgICAgICAgICAgIHBjX21vdmVkX3AgPSBUUlVFOwo+ICsgICAgICAg
IH0KPiArICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cj4gKyAgICAgICAgfQo+
ICsgICAgICAgIGVsc2Ugewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+
c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEpOwo+
ICsgICAgICAgIH0KPiArICAgICAgICBmcHJpbnRmKGYsICIgICAge1xuIik7Cj4gKyAgICAgICAg
ZnByaW50ZihmLCAiICAgICAgICB2YWwgPSByYl9hcnlfbmV3NChudW0sICVzKTtcbiIsCj4gKyAg
ICAgICAgICAgICAgICAoc3RhdHVzLT5sb2NhbF9zdGFja19wID8gInN0YWNrICsgKHN0YWNrX3Np
emUgLSAobnVtKSkiIDogIlNUQUNLX0FERFJfRlJPTV9UT1AobnVtKSIpKTsKPiArICAgICAgICBm
cHJpbnRmKGYsICIgICAgfVxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIHN0YWNrWyVk
XSA9IHZhbDtcbiIsIGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5jX25ld2FycmF5KG51
bSkgLSAxKTsKPiArICAgICAgICBiLT5zdGFja19zaXplICs9IGF0dHJfc3BfaW5jX25ld2FycmF5
KG51bSk7Cj4gKyAgICB9Cj4gKyAgICBmcHJpbnRmKGYsICJ9XG4iKTsKPiArICAgIGJyZWFrOwo+
ICsgIGNhc2UgQklOKGR1cGFycmF5KToKPiArICAgIGZwcmludGYoZiwgIntcbiIpOwo+ICsgICAg
ewo+ICsgICAgICAgIE1BWUJFX1VOVVNFRChpbnQgcGNfbW92ZWRfcCkgPSBGQUxTRTsKPiArICAg
ICAgICBNQVlCRV9VTlVTRUQoVkFMVUUgYXJ5KSA9IChWQUxVRSlvcGVyYW5kc1swXTsKPiArICAg
ICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYo
ZiwgIiAgICBNQVlCRV9VTlVTRUQodW5zaWduZWQgaW50KSBzdGFja19zaXplID0gJXU7XG4iLCBi
LT5zdGFja19zaXplKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1B
WUJFX1VOVVNFRChWQUxVRSkgYXJ5LCB2YWw7XG4iKTsKPiArCj4gKyAgICAgICAgZnByaW50Zihm
LCAiICAgIGFyeSA9IChWQUxVRSkweCUiUFJJeFZBTFVFIjsiLCBvcGVyYW5kc1swXSk7Cj4gKyAg
ICAgICAgaWYgKFNZTUJPTF9QKChWQUxVRSlvcGVyYW5kc1swXSkpIGNvbW1lbnRfaWQoZiwgU1lN
MklEKChWQUxVRSlvcGVyYW5kc1swXSkpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIlxuIik7Cj4g
KyAgICAgICAgaWYgKGJvZHktPmNhdGNoX2V4Y2VwdF9wIHx8IEZBTFNFKSB7Cj4gKyAgICAgICAg
ICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVk
O1xuIiwgbmV4dF9wb3MpOyAvKiBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7ICovCj4gKyAgICAg
ICAgICAgIHBjX21vdmVkX3AgPSBUUlVFOwo+ICsgICAgICAgIH0KPiArICAgICAgICBpZiAoc3Rh
dHVzLT5sb2NhbF9zdGFja19wKSB7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGVsc2Ugewo+ICsg
ICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2Zw
LT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEpOwo+ICsgICAgICAgIH0KPiArICAgICAg
ICBmcHJpbnRmKGYsICIgICAge1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICBS
VUJZX0RUUkFDRV9DUkVBVEVfSE9PSyhBUlJBWSwgUkFSUkFZX0xFTihhcnkpKTtcbiIpOwo+ICsg
ICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgdmFsID0gcmJfYXJ5X3Jlc3VycmVjdChhcnkpO1xu
Iik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIpOwo+ICsgICAgICAgIGZwcmludGYo
ZiwgIiAgICBzdGFja1slZF0gPSB2YWw7XG4iLCBiLT5zdGFja19zaXplICsgKGludClhdHRyX3Nw
X2luY19kdXBhcnJheShhcnkpIC0gMSk7Cj4gKyAgICAgICAgYi0+c3RhY2tfc2l6ZSArPSBhdHRy
X3NwX2luY19kdXBhcnJheShhcnkpOwo+ICsgICAgfQo+ICsgICAgZnByaW50ZihmLCAifVxuIik7
Cj4gKyAgICBicmVhazsKPiArICBjYXNlIEJJTihkdXBoYXNoKToKPiArICAgIGZwcmludGYoZiwg
IntcbiIpOwo+ICsgICAgewo+ICsgICAgICAgIE1BWUJFX1VOVVNFRChpbnQgcGNfbW92ZWRfcCkg
PSBGQUxTRTsKPiArICAgICAgICBNQVlCRV9VTlVTRUQoVkFMVUUgaGFzaCkgPSAoVkFMVUUpb3Bl
cmFuZHNbMF07Cj4gKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgewo+ICsgICAg
ICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVuc2lnbmVkIGludCkgc3RhY2tf
c2l6ZSA9ICV1O1xuIiwgYi0+c3RhY2tfc2l6ZSk7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGZw
cmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIGhhc2gsIHZhbDtcbiIpOwo+ICsKPiAr
ICAgICAgICBmcHJpbnRmKGYsICIgICAgaGFzaCA9IChWQUxVRSkweCUiUFJJeFZBTFVFIjsiLCBv
cGVyYW5kc1swXSk7Cj4gKyAgICAgICAgaWYgKFNZTUJPTF9QKChWQUxVRSlvcGVyYW5kc1swXSkp
IGNvbW1lbnRfaWQoZiwgU1lNMklEKChWQUxVRSlvcGVyYW5kc1swXSkpOwo+ICsgICAgICAgIGZw
cmludGYoZiwgIlxuIik7Cj4gKyAgICAgICAgaWYgKGJvZHktPmNhdGNoX2V4Y2VwdF9wIHx8IEZB
TFNFKSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5wYyA9IG9yaWdp
bmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3MpOyAvKiBBRERfUEMoSU5TTl9BVFRSKHdp
ZHRoKSk7ICovCj4gKyAgICAgICAgICAgIHBjX21vdmVkX3AgPSBUUlVFOwo+ICsgICAgICAgIH0K
PiArICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cj4gKyAgICAgICAgfQo+ICsg
ICAgICAgIGVsc2Ugewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+c3Ag
PSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEpOwo+ICsg
ICAgICAgIH0KPiArICAgICAgICBmcHJpbnRmKGYsICIgICAge1xuIik7Cj4gKyAgICAgICAgZnBy
aW50ZihmLCAiICAgICAgICBSVUJZX0RUUkFDRV9DUkVBVEVfSE9PSyhIQVNILCBSSEFTSF9TSVpF
KGhhc2gpIDw8IDEpO1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICB2YWwgPSBy
Yl9oYXNoX3Jlc3VycmVjdChoYXNoKTtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICB9
XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgc3RhY2tbJWRdID0gdmFsO1xuIiwgYi0+
c3RhY2tfc2l6ZSArIChpbnQpYXR0cl9zcF9pbmNfZHVwaGFzaChoYXNoKSAtIDEpOwo+ICsgICAg
ICAgIGItPnN0YWNrX3NpemUgKz0gYXR0cl9zcF9pbmNfZHVwaGFzaChoYXNoKTsKPiArICAgIH0K
PiArICAgIGZwcmludGYoZiwgIn1cbiIpOwo+ICsgICAgYnJlYWs7Cj4gKyAgY2FzZSBCSU4oZXhw
YW5kYXJyYXkpOgo+ICsgICAgZnByaW50ZihmLCAie1xuIik7Cj4gKyAgICB7Cj4gKyAgICAgICAg
TUFZQkVfVU5VU0VEKGludCBwY19tb3ZlZF9wKSA9IEZBTFNFOwo+ICsgICAgICAgIE1BWUJFX1VO
VVNFRChyYl9udW1fdCBudW0pID0gKHJiX251bV90KW9wZXJhbmRzWzBdOwo+ICsgICAgICAgIE1B
WUJFX1VOVVNFRChyYl9udW1fdCBmbGFnKSA9IChyYl9udW1fdClvcGVyYW5kc1sxXTsKPiArICAg
ICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYo
ZiwgIiAgICBNQVlCRV9VTlVTRUQodW5zaWduZWQgaW50KSBzdGFja19zaXplID0gJXU7XG4iLCBi
LT5zdGFja19zaXplKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1B
WUJFX1VOVVNFRChWQUxVRSkgYXJ5O1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1B
WUJFX1VOVVNFRChyYl9udW1fdCkgZmxhZywgbnVtO1xuIik7Cj4gKwo+ICsgICAgICAgIGZwcmlu
dGYoZiwgIiAgICBudW0gPSAocmJfbnVtX3QpMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNbMF0p
Owo+ICsgICAgICAgIGZwcmludGYoZiwgIlxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAg
IGZsYWcgPSAocmJfbnVtX3QpMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNbMV0pOwo+ICsgICAg
ICAgIGZwcmludGYoZiwgIlxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIGFyeSA9IHN0
YWNrWyVkXTtcbiIsIGItPnN0YWNrX3NpemUgLSAxKTsKPiArICAgICAgICBpZiAoYm9keS0+Y2F0
Y2hfZXhjZXB0X3AgfHwgVFJVRSkgewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVn
X2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsgLyogQURE
X1BDKElOU05fQVRUUih3aWR0aCkpOyAqLwo+ICsgICAgICAgICAgICBwY19tb3ZlZF9wID0gVFJV
RTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgewo+
ICsgICAgICAgIH0KPiArICAgICAgICBlbHNlIHsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAi
ICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNr
X3NpemUgKyAxKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIHtcbiIp
Owo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgdm1fZXhwYW5kYXJyYXkoJXMsIGFyeSwg
bnVtLCAoaW50KWZsYWcpO1xuIiwgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCA/ICIoc3RhY2sgKyBz
dGFja19zaXplKSIgOiAiR0VUX1NQKCkiKSk7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIH1c
biIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBpZiAoVU5MSUtFTFkocnVieV92bV9ldmVu
dF9lbmFibGVkX2dsb2JhbF9mbGFncyAmIElTRVFfVFJBQ0VfRVZFTlRTKSkge1xuIik7Cj4gKyAg
ICAgICAgZnByaW50ZihmLCAiICAgICAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAt
PmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgKGludClhdHRyX3NwX2luY19leHBhbmRhcnJh
eShudW0sIGZsYWcpICsgMSk7Cj4gKyAgICAgICAgaWYgKCFwY19tb3ZlZF9wKSB7Cj4gKyAgICAg
ICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lz
ZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50Zihm
LCAiICAgICAgICBnb3RvIGNhbmNlbDtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICB9
XG4iKTsKPiArICAgICAgICBiLT5zdGFja19zaXplICs9IGF0dHJfc3BfaW5jX2V4cGFuZGFycmF5
KG51bSwgZmxhZyk7Cj4gKyAgICB9Cj4gKyAgICBmcHJpbnRmKGYsICJ9XG4iKTsKPiArICAgIGJy
ZWFrOwo+ICsgIGNhc2UgQklOKGNvbmNhdGFycmF5KToKPiArICAgIGZwcmludGYoZiwgIntcbiIp
Owo+ICsgICAgewo+ICsgICAgICAgIE1BWUJFX1VOVVNFRChpbnQgcGNfbW92ZWRfcCkgPSBGQUxT
RTsKPiArICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cj4gKyAgICAgICAgICAg
IGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQodW5zaWduZWQgaW50KSBzdGFja19zaXplID0g
JXU7XG4iLCBiLT5zdGFja19zaXplKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50Zihm
LCAiICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgYXJ5LCBhcnkxLCBhcnkyO1xuIik7Cj4gKwo+ICsg
ICAgICAgIGZwcmludGYoZiwgIiAgICBhcnkxID0gc3RhY2tbJWRdO1xuIiwgYi0+c3RhY2tfc2l6
ZSAtIDIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBhcnkyID0gc3RhY2tbJWRdO1xuIiwg
Yi0+c3RhY2tfc2l6ZSAtIDEpOwo+ICsgICAgICAgIGlmIChib2R5LT5jYXRjaF9leGNlcHRfcCB8
fCBUUlVFKSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5wYyA9IG9y
aWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3MpOyAvKiBBRERfUEMoSU5TTl9BVFRS
KHdpZHRoKSk7ICovCj4gKyAgICAgICAgICAgIHBjX21vdmVkX3AgPSBUUlVFOwo+ICsgICAgICAg
IH0KPiArICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cj4gKyAgICAgICAgfQo+
ICsgICAgICAgIGVsc2Ugewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+
c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEpOwo+
ICsgICAgICAgIH0KPiArICAgICAgICBmcHJpbnRmKGYsICIgICAge1xuIik7Cj4gKyAgICAgICAg
ZnByaW50ZihmLCAiICAgICAgICBhcnkgPSB2bV9jb25jYXRfYXJyYXkoYXJ5MSwgYXJ5Mik7XG4i
KTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgfVxuIik7Cj4gKyAgICAgICAgZnByaW50Zihm
LCAiICAgIHN0YWNrWyVkXSA9IGFyeTtcbiIsIGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3Bf
aW5jX2NvbmNhdGFycmF5KCkgLSAxKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgaWYgKFVO
TElLRUxZKHJ1Ynlfdm1fZXZlbnRfZW5hYmxlZF9nbG9iYWxfZmxhZ3MgJiBJU0VRX1RSQUNFX0VW
RU5UUykpIHtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgcmVnX2NmcC0+c3Ag
PSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIChpbnQpYXR0
cl9zcF9pbmNfY29uY2F0YXJyYXkoKSArIDEpOwo+ICsgICAgICAgIGlmICghcGNfbW92ZWRfcCkg
ewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHJlZ19jZnAtPnBjID0gb3JpZ2lu
YWxfYm9keV9pc2VxICsgJWQ7XG4iLCBuZXh0X3Bvcyk7Cj4gKyAgICAgICAgfQo+ICsgICAgICAg
IGZwcmludGYoZiwgIiAgICAgICAgZ290byBjYW5jZWw7XG4iKTsKPiArICAgICAgICBmcHJpbnRm
KGYsICIgICAgfVxuIik7Cj4gKyAgICAgICAgYi0+c3RhY2tfc2l6ZSArPSBhdHRyX3NwX2luY19j
b25jYXRhcnJheSgpOwo+ICsgICAgfQo+ICsgICAgZnByaW50ZihmLCAifVxuIik7Cj4gKyAgICBi
cmVhazsKPiArICBjYXNlIEJJTihzcGxhdGFycmF5KToKPiArICAgIGZwcmludGYoZiwgIntcbiIp
Owo+ICsgICAgewo+ICsgICAgICAgIE1BWUJFX1VOVVNFRChpbnQgcGNfbW92ZWRfcCkgPSBGQUxT
RTsKPiArICAgICAgICBNQVlCRV9VTlVTRUQoVkFMVUUgZmxhZykgPSAoVkFMVUUpb3BlcmFuZHNb
MF07Cj4gKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgewo+ICsgICAgICAgICAg
ICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVuc2lnbmVkIGludCkgc3RhY2tfc2l6ZSA9
ICV1O1xuIiwgYi0+c3RhY2tfc2l6ZSk7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGZwcmludGYo
ZiwgIiAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIGFyeSwgZmxhZywgb2JqO1xuIik7Cj4gKwo+ICsg
ICAgICAgIGZwcmludGYoZiwgIiAgICBmbGFnID0gKFZBTFVFKTB4JSJQUkl4VkFMVUUiOyIsIG9w
ZXJhbmRzWzBdKTsKPiArICAgICAgICBpZiAoU1lNQk9MX1AoKFZBTFVFKW9wZXJhbmRzWzBdKSkg
Y29tbWVudF9pZChmLCBTWU0ySUQoKFZBTFVFKW9wZXJhbmRzWzBdKSk7Cj4gKyAgICAgICAgZnBy
aW50ZihmLCAiXG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgYXJ5ID0gc3RhY2tbJWRd
O1xuIiwgYi0+c3RhY2tfc2l6ZSAtIDEpOwo+ICsgICAgICAgIGlmIChib2R5LT5jYXRjaF9leGNl
cHRfcCB8fCBUUlVFKSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5w
YyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3MpOyAvKiBBRERfUEMoSU5T
Tl9BVFRSKHdpZHRoKSk7ICovCj4gKyAgICAgICAgICAgIHBjX21vdmVkX3AgPSBUUlVFOwo+ICsg
ICAgICAgIH0KPiArICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cj4gKyAgICAg
ICAgfQo+ICsgICAgICAgIGVsc2Ugewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVn
X2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSAr
IDEpOwo+ICsgICAgICAgIH0KPiArICAgICAgICBmcHJpbnRmKGYsICIgICAge1xuIik7Cj4gKyAg
ICAgICAgZnByaW50ZihmLCAiICAgICAgICBvYmogPSB2bV9zcGxhdF9hcnJheShmbGFnLCBhcnkp
O1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIpOwo+ICsgICAgICAgIGZwcmlu
dGYoZiwgIiAgICBzdGFja1slZF0gPSBvYmo7XG4iLCBiLT5zdGFja19zaXplICsgKGludClhdHRy
X3NwX2luY19zcGxhdGFycmF5KGZsYWcpIC0gMSk7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAg
IGlmIChVTkxJS0VMWShydWJ5X3ZtX2V2ZW50X2VuYWJsZWRfZ2xvYmFsX2ZsYWdzICYgSVNFUV9U
UkFDRV9FVkVOVFMpKSB7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHJlZ19j
ZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAo
aW50KWF0dHJfc3BfaW5jX3NwbGF0YXJyYXkoZmxhZykgKyAxKTsKPiArICAgICAgICBpZiAoIXBj
X21vdmVkX3ApIHsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgICAgICByZWdfY2ZwLT5w
YyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3MpOwo+ICsgICAgICAgIH0K
PiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIGdvdG8gY2FuY2VsO1xuIik7Cj4gKyAgICAg
ICAgZnByaW50ZihmLCAiICAgIH1cbiIpOwo+ICsgICAgICAgIGItPnN0YWNrX3NpemUgKz0gYXR0
cl9zcF9pbmNfc3BsYXRhcnJheShmbGFnKTsKPiArICAgIH0KPiArICAgIGZwcmludGYoZiwgIn1c
biIpOwo+ICsgICAgYnJlYWs7Cj4gKyAgY2FzZSBCSU4obmV3aGFzaCk6Cj4gKyAgICBmcHJpbnRm
KGYsICJ7XG4iKTsKPiArICAgIHsKPiArICAgICAgICBNQVlCRV9VTlVTRUQoaW50IHBjX21vdmVk
X3ApID0gRkFMU0U7Cj4gKyAgICAgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IG51bSkgPSAocmJf
bnVtX3Qpb3BlcmFuZHNbMF07Cj4gKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkg
ewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVuc2lnbmVkIGlu
dCkgc3RhY2tfc2l6ZSA9ICV1O1xuIiwgYi0+c3RhY2tfc2l6ZSk7Cj4gKyAgICAgICAgfQo+ICsg
ICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIHZhbDtcbiIpOwo+ICsg
ICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QpIG51bTtcbiIpOwo+
ICsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgbnVtID0gKHJiX251bV90KTB4JSJQUkl4VkFM
VUUiOyIsIG9wZXJhbmRzWzBdKTsKPiArICAgICAgICBmcHJpbnRmKGYsICJcbiIpOwo+ICsgICAg
ICAgIGlmIChib2R5LT5jYXRjaF9leGNlcHRfcCB8fCBUUlVFKSB7Cj4gKyAgICAgICAgICAgIGZw
cmludGYoZiwgIiAgICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwg
bmV4dF9wb3MpOyAvKiBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7ICovCj4gKyAgICAgICAgICAg
IHBjX21vdmVkX3AgPSBUUlVFOwo+ICsgICAgICAgIH0KPiArICAgICAgICBpZiAoc3RhdHVzLT5s
b2NhbF9zdGFja19wKSB7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGVsc2Ugewo+ICsgICAgICAg
ICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCAr
ICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEpOwo+ICsgICAgICAgIH0KPiArICAgICAgICBmcHJp
bnRmKGYsICIgICAge1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICBSVUJZX0RU
UkFDRV9DUkVBVEVfSE9PSyhIQVNILCBudW0pO1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAi
XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHZhbCA9IHJiX2hhc2hfbmV3X3dp
dGhfc2l6ZShudW0gLyAyKTtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIlxuIik7Cj4gKyAg
ICAgICAgZnByaW50ZihmLCAiICAgICAgICBpZiAobnVtKSB7XG4iKTsKPiArICAgICAgICBmcHJp
bnRmKGYsICIgICAgICAgICAgICByYl9oYXNoX2J1bGtfaW5zZXJ0KG51bSwgJXMsIHZhbCk7XG4i
LAo+ICsgICAgICAgICAgICAgICAgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCA/ICJzdGFjayArIChz
dGFja19zaXplIC0gKG51bSkpIiA6ICJTVEFDS19BRERSX0ZST01fVE9QKG51bSkiKSk7Cj4gKyAg
ICAgICAgZnByaW50ZihmLCAiICAgICAgICB9XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIg
ICAgfVxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIHN0YWNrWyVkXSA9IHZhbDtcbiIs
IGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5jX25ld2hhc2gobnVtKSAtIDEpOwo+ICsg
ICAgICAgIGZwcmludGYoZiwgIiAgICBpZiAoVU5MSUtFTFkocnVieV92bV9ldmVudF9lbmFibGVk
X2dsb2JhbF9mbGFncyAmIElTRVFfVFJBQ0VfRVZFTlRTKSkge1xuIik7Cj4gKyAgICAgICAgZnBy
aW50ZihmLCAiICAgICAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7
XG4iLCBiLT5zdGFja19zaXplICsgKGludClhdHRyX3NwX2luY19uZXdoYXNoKG51bSkgKyAxKTsK
PiArICAgICAgICBpZiAoIXBjX21vdmVkX3ApIHsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAi
ICAgICAgICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9w
b3MpOwo+ICsgICAgICAgIH0KPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIGdvdG8gY2Fu
Y2VsO1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIpOwo+ICsgICAgICAgIGIt
PnN0YWNrX3NpemUgKz0gYXR0cl9zcF9pbmNfbmV3aGFzaChudW0pOwo+ICsgICAgfQo+ICsgICAg
ZnByaW50ZihmLCAifVxuIik7Cj4gKyAgICBicmVhazsKPiArICBjYXNlIEJJTihuZXdyYW5nZSk6
Cj4gKyAgICBmcHJpbnRmKGYsICJ7XG4iKTsKPiArICAgIHsKPiArICAgICAgICBNQVlCRV9VTlVT
RUQoaW50IHBjX21vdmVkX3ApID0gRkFMU0U7Cj4gKyAgICAgICAgTUFZQkVfVU5VU0VEKHJiX251
bV90IGZsYWcpID0gKHJiX251bV90KW9wZXJhbmRzWzBdOwo+ICsgICAgICAgIGlmIChzdGF0dXMt
PmxvY2FsX3N0YWNrX3ApIHsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VO
VVNFRCh1bnNpZ25lZCBpbnQpIHN0YWNrX3NpemUgPSAldTtcbiIsIGItPnN0YWNrX3NpemUpOwo+
ICsgICAgICAgIH0KPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKFZBTFVF
KSBoaWdoLCBsb3csIHZhbDtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9V
TlVTRUQocmJfbnVtX3QpIGZsYWc7XG4iKTsKPiArCj4gKyAgICAgICAgZnByaW50ZihmLCAiICAg
IGZsYWcgPSAocmJfbnVtX3QpMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNbMF0pOwo+ICsgICAg
ICAgIGZwcmludGYoZiwgIlxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIGxvdyA9IHN0
YWNrWyVkXTtcbiIsIGItPnN0YWNrX3NpemUgLSAyKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIg
ICAgaGlnaCA9IHN0YWNrWyVkXTtcbiIsIGItPnN0YWNrX3NpemUgLSAxKTsKPiArICAgICAgICBp
ZiAoYm9keS0+Y2F0Y2hfZXhjZXB0X3AgfHwgVFJVRSkgewo+ICsgICAgICAgICAgICBmcHJpbnRm
KGYsICIgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRf
cG9zKTsgLyogQUREX1BDKElOU05fQVRUUih3aWR0aCkpOyAqLwo+ICsgICAgICAgICAgICBwY19t
b3ZlZF9wID0gVFJVRTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxf
c3RhY2tfcCkgewo+ICsgICAgICAgIH0KPiArICAgICAgICBlbHNlIHsKPiArICAgICAgICAgICAg
ZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtc
biIsIGItPnN0YWNrX3NpemUgKyAxKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50Zihm
LCAiICAgIHtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgdmFsID0gcmJfcmFu
Z2VfbmV3KGxvdywgaGlnaCwgKGludClmbGFnKTtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwg
IiAgICB9XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgc3RhY2tbJWRdID0gdmFsO1xu
IiwgYi0+c3RhY2tfc2l6ZSArIChpbnQpYXR0cl9zcF9pbmNfbmV3cmFuZ2UoZmxhZykgLSAxKTsK
PiArICAgICAgICBmcHJpbnRmKGYsICIgICAgaWYgKFVOTElLRUxZKHJ1Ynlfdm1fZXZlbnRfZW5h
YmxlZF9nbG9iYWxfZmxhZ3MgJiBJU0VRX1RSQUNFX0VWRU5UUykpIHtcbiIpOwo+ICsgICAgICAg
IGZwcmludGYoZiwgIiAgICAgICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCAr
ICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIChpbnQpYXR0cl9zcF9pbmNfbmV3cmFuZ2UoZmxhZykg
KyAxKTsKPiArICAgICAgICBpZiAoIXBjX21vdmVkX3ApIHsKPiArICAgICAgICAgICAgZnByaW50
ZihmLCAiICAgICAgICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwg
bmV4dF9wb3MpOwo+ICsgICAgICAgIH0KPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIGdv
dG8gY2FuY2VsO1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIpOwo+ICsgICAg
ICAgIGItPnN0YWNrX3NpemUgKz0gYXR0cl9zcF9pbmNfbmV3cmFuZ2UoZmxhZyk7Cj4gKyAgICB9
Cj4gKyAgICBmcHJpbnRmKGYsICJ9XG4iKTsKPiArICAgIGJyZWFrOwo+ICsgIGNhc2UgQklOKHBv
cCk6Cj4gKyAgICBmcHJpbnRmKGYsICJ7XG4iKTsKPiArICAgIHsKPiArICAgICAgICBNQVlCRV9V
TlVTRUQoaW50IHBjX21vdmVkX3ApID0gRkFMU0U7Cj4gKyAgICAgICAgaWYgKHN0YXR1cy0+bG9j
YWxfc3RhY2tfcCkgewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VE
KHVuc2lnbmVkIGludCkgc3RhY2tfc2l6ZSA9ICV1O1xuIiwgYi0+c3RhY2tfc2l6ZSk7Cj4gKyAg
ICAgICAgfQo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIHZh
bDtcbiIpOwo+ICsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgdmFsID0gc3RhY2tbJWRdO1xu
IiwgYi0+c3RhY2tfc2l6ZSAtIDEpOwo+ICsgICAgICAgIGlmIChib2R5LT5jYXRjaF9leGNlcHRf
cCB8fCBGQUxTRSkgewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+cGMg
PSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsgLyogQUREX1BDKElOU05f
QVRUUih3aWR0aCkpOyAqLwo+ICsgICAgICAgICAgICBwY19tb3ZlZF9wID0gVFJVRTsKPiArICAg
ICAgICB9Cj4gKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgewo+ICsgICAgICAg
IH0KPiArICAgICAgICBlbHNlIHsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19j
ZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAx
KTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIHtcbiIpOwo+ICsgICAg
ICAgIGZwcmludGYoZiwgIiAgICAgICAgKHZvaWQpdmFsO1xuIik7Cj4gKyAgICAgICAgZnByaW50
ZihmLCAiICAgICAgICAvKiBub25lICovXG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAg
fVxuIik7Cj4gKyAgICAgICAgYi0+c3RhY2tfc2l6ZSArPSBhdHRyX3NwX2luY19wb3AoKTsKPiAr
ICAgIH0KPiArICAgIGZwcmludGYoZiwgIn1cbiIpOwo+ICsgICAgYnJlYWs7Cj4gKyAgY2FzZSBC
SU4oZHVwKToKPiArICAgIGZwcmludGYoZiwgIntcbiIpOwo+ICsgICAgewo+ICsgICAgICAgIE1B
WUJFX1VOVVNFRChpbnQgcGNfbW92ZWRfcCkgPSBGQUxTRTsKPiArICAgICAgICBpZiAoc3RhdHVz
LT5sb2NhbF9zdGFja19wKSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9V
TlVTRUQodW5zaWduZWQgaW50KSBzdGFja19zaXplID0gJXU7XG4iLCBiLT5zdGFja19zaXplKTsK
PiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChWQUxV
RSkgdmFsLCB2YWwxLCB2YWwyO1xuIik7Cj4gKwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICB2
YWwgPSBzdGFja1slZF07XG4iLCBiLT5zdGFja19zaXplIC0gMSk7Cj4gKyAgICAgICAgaWYgKGJv
ZHktPmNhdGNoX2V4Y2VwdF9wIHx8IEZBTFNFKSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwg
IiAgICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3Mp
OyAvKiBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7ICovCj4gKyAgICAgICAgICAgIHBjX21vdmVk
X3AgPSBUUlVFOwo+ICsgICAgICAgIH0KPiArICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFj
a19wKSB7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGVsc2Ugewo+ICsgICAgICAgICAgICBmcHJp
bnRmKGYsICIgICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwg
Yi0+c3RhY2tfc2l6ZSArIDEpOwo+ICsgICAgICAgIH0KPiArICAgICAgICBmcHJpbnRmKGYsICIg
ICAge1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICB2YWwxID0gdmFsMiA9IHZh
bDtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICB9XG4iKTsKPiArICAgICAgICBmcHJp
bnRmKGYsICIgICAgc3RhY2tbJWRdID0gdmFsMjtcbiIsIGItPnN0YWNrX3NpemUgKyAoaW50KWF0
dHJfc3BfaW5jX2R1cCgpIC0gMSk7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIHN0YWNrWyVk
XSA9IHZhbDE7XG4iLCBiLT5zdGFja19zaXplICsgKGludClhdHRyX3NwX2luY19kdXAoKSAtIDIp
Owo+ICsgICAgICAgIGItPnN0YWNrX3NpemUgKz0gYXR0cl9zcF9pbmNfZHVwKCk7Cj4gKyAgICB9
Cj4gKyAgICBmcHJpbnRmKGYsICJ9XG4iKTsKPiArICAgIGJyZWFrOwo+ICsgIGNhc2UgQklOKGR1
cG4pOgo+ICsgICAgZnByaW50ZihmLCAie1xuIik7Cj4gKyAgICB7Cj4gKyAgICAgICAgTUFZQkVf
VU5VU0VEKGludCBwY19tb3ZlZF9wKSA9IEZBTFNFOwo+ICsgICAgICAgIE1BWUJFX1VOVVNFRChy
Yl9udW1fdCBuKSA9IChyYl9udW1fdClvcGVyYW5kc1swXTsKPiArICAgICAgICBpZiAoc3RhdHVz
LT5sb2NhbF9zdGFja19wKSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9V
TlVTRUQodW5zaWduZWQgaW50KSBzdGFja19zaXplID0gJXU7XG4iLCBiLT5zdGFja19zaXplKTsK
PiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChyYl9u
dW1fdCkgbjtcbiIpOwo+ICsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgbiA9IChyYl9udW1f
dCkweCUiUFJJeFZBTFVFIjsiLCBvcGVyYW5kc1swXSk7Cj4gKyAgICAgICAgZnByaW50ZihmLCAi
XG4iKTsKPiArICAgICAgICBpZiAoYm9keS0+Y2F0Y2hfZXhjZXB0X3AgfHwgRkFMU0UpIHsKPiAr
ICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9p
c2VxICsgJWQ7XG4iLCBuZXh0X3Bvcyk7IC8qIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsgKi8K
PiArICAgICAgICAgICAgcGNfbW92ZWRfcCA9IFRSVUU7Cj4gKyAgICAgICAgfQo+ICsgICAgICAg
IGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZWxz
ZSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAq
KXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgMSk7Cj4gKyAgICAgICAgfQo+
ICsgICAgICAgIGZwcmludGYoZiwgIiAgICB7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIg
ICAgICAgIHZvaWQgKmRzdCA9ICVzO1xuIiwgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCA/ICIoc3Rh
Y2sgKyBzdGFja19zaXplKSIgOiAiR0VUX1NQKCkiKSk7Cj4gKyAgICAgICAgZnByaW50ZihmLCAi
ICAgICAgICB2b2lkICpzcmMgPSAlcztcbiIsCj4gKyAgICAgICAgICAgICAgICAoc3RhdHVzLT5s
b2NhbF9zdGFja19wID8gInN0YWNrICsgKHN0YWNrX3NpemUgLSAobikpIiA6ICJTVEFDS19BRERS
X0ZST01fVE9QKG4pIikpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIlxuIik7Cj4gKyAgICAgICAg
ZnByaW50ZihmLCAiICAgICAgICBNRU1DUFkoZHN0LCBzcmMsIFZBTFVFLCBuKTtcbiIpOwo+ICsg
ICAgICAgIGZwcmludGYoZiwgIiAgICB9XG4iKTsKPiArICAgICAgICBiLT5zdGFja19zaXplICs9
IGF0dHJfc3BfaW5jX2R1cG4obik7Cj4gKyAgICB9Cj4gKyAgICBmcHJpbnRmKGYsICJ9XG4iKTsK
PiArICAgIGJyZWFrOwo+ICsgIGNhc2UgQklOKHN3YXApOgo+ICsgICAgZnByaW50ZihmLCAie1xu
Iik7Cj4gKyAgICB7Cj4gKyAgICAgICAgTUFZQkVfVU5VU0VEKGludCBwY19tb3ZlZF9wKSA9IEZB
TFNFOwo+ICsgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKPiArICAgICAgICAg
ICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRCh1bnNpZ25lZCBpbnQpIHN0YWNrX3NpemUg
PSAldTtcbiIsIGItPnN0YWNrX3NpemUpOwo+ICsgICAgICAgIH0KPiArICAgICAgICBmcHJpbnRm
KGYsICIgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSBvYmosIHZhbDtcbiIpOwo+ICsKPiArICAgICAg
ICBmcHJpbnRmKGYsICIgICAgdmFsID0gc3RhY2tbJWRdO1xuIiwgYi0+c3RhY2tfc2l6ZSAtIDIp
Owo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBvYmogPSBzdGFja1slZF07XG4iLCBiLT5zdGFj
a19zaXplIC0gMSk7Cj4gKyAgICAgICAgaWYgKGJvZHktPmNhdGNoX2V4Y2VwdF9wIHx8IEZBTFNF
KSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFs
X2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3MpOyAvKiBBRERfUEMoSU5TTl9BVFRSKHdpZHRo
KSk7ICovCj4gKyAgICAgICAgICAgIHBjX21vdmVkX3AgPSBUUlVFOwo+ICsgICAgICAgIH0KPiAr
ICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cj4gKyAgICAgICAgfQo+ICsgICAg
ICAgIGVsc2Ugewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+c3AgPSAo
VkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEpOwo+ICsgICAg
ICAgIH0KPiArICAgICAgICBmcHJpbnRmKGYsICIgICAge1xuIik7Cj4gKyAgICAgICAgZnByaW50
ZihmLCAiICAgICAgICAvKiBub25lICovXG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAg
fVxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIHN0YWNrWyVkXSA9IHZhbDtcbiIsIGIt
PnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5jX3N3YXAoKSAtIDEpOwo+ICsgICAgICAgIGZw
cmludGYoZiwgIiAgICBzdGFja1slZF0gPSBvYmo7XG4iLCBiLT5zdGFja19zaXplICsgKGludClh
dHRyX3NwX2luY19zd2FwKCkgLSAyKTsKPiArICAgICAgICBiLT5zdGFja19zaXplICs9IGF0dHJf
c3BfaW5jX3N3YXAoKTsKPiArICAgIH0KPiArICAgIGZwcmludGYoZiwgIn1cbiIpOwo+ICsgICAg
YnJlYWs7Cj4gKyAgY2FzZSBCSU4ocmV2ZXJzZSk6Cj4gKyAgICBmcHJpbnRmKGYsICJ7XG4iKTsK
PiArICAgIHsKPiArICAgICAgICBNQVlCRV9VTlVTRUQoaW50IHBjX21vdmVkX3ApID0gRkFMU0U7
Cj4gKyAgICAgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IG4pID0gKHJiX251bV90KW9wZXJhbmRz
WzBdOwo+ICsgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKPiArICAgICAgICAg
ICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRCh1bnNpZ25lZCBpbnQpIHN0YWNrX3NpemUg
PSAldTtcbiIsIGItPnN0YWNrX3NpemUpOwo+ICsgICAgICAgIH0KPiArICAgICAgICBmcHJpbnRm
KGYsICIgICAgTUFZQkVfVU5VU0VEKHJiX251bV90KSBuO1xuIik7Cj4gKwo+ICsgICAgICAgIGZw
cmludGYoZiwgIiAgICBuID0gKHJiX251bV90KTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRzWzBd
KTsKPiArICAgICAgICBmcHJpbnRmKGYsICJcbiIpOwo+ICsgICAgICAgIGlmIChib2R5LT5jYXRj
aF9leGNlcHRfcCB8fCBGQUxTRSkgewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVn
X2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsgLyogQURE
X1BDKElOU05fQVRUUih3aWR0aCkpOyAqLwo+ICsgICAgICAgICAgICBwY19tb3ZlZF9wID0gVFJV
RTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgewo+
ICsgICAgICAgIH0KPiArICAgICAgICBlbHNlIHsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAi
ICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNr
X3NpemUgKyAxKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIHtcbiIp
Owo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgcmJfbnVtX3QgaTtcbiIpOwo+ICsgICAg
ICAgIGZwcmludGYoZiwgIiAgICAgICAgVkFMVUUgKnNwID0gJXM7XG4iLAo+ICsgICAgICAgICAg
ICAgICAgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCA/ICJzdGFjayArIChzdGFja19zaXplIC0gKG4p
KSIgOiAiU1RBQ0tfQUREUl9GUk9NX1RPUChuKSIpKTsKPiArICAgICAgICBmcHJpbnRmKGYsICJc
biIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgZm9yIChpPTA7IGk8bi8yOyBpKysp
IHtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgIFZBTFVFIHYwID0gc3Bb
aV07XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgICAgICBWQUxVRSB2MSA9ICVz
O1xuIiwKPiArICAgICAgICAgICAgICAoc3RhdHVzLT5sb2NhbF9zdGFja19wID8gIiooc3RhY2sg
KyAoc3RhY2tfc2l6ZSAtIChpKSAtIDEpKSIgOiAiVE9QTihpKSIpKTsKPiArICAgICAgICBmcHJp
bnRmKGYsICIgICAgICAgICAgICBzcFtpXSA9IHYxO1xuIik7Cj4gKyAgICAgICAgZnByaW50Zihm
LCAiICAgICAgICAgICAgJXMgPSB2MDtcbiIsCj4gKyAgICAgICAgICAgICAgKHN0YXR1cy0+bG9j
YWxfc3RhY2tfcCA/ICIqKHN0YWNrICsgKHN0YWNrX3NpemUgLSAoaSkgLSAxKSkiIDogIlRPUE4o
aSkiKSk7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICB9XG4iKTsKPiArICAgICAgICBm
cHJpbnRmKGYsICIgICAgfVxuIik7Cj4gKyAgICAgICAgYi0+c3RhY2tfc2l6ZSArPSBhdHRyX3Nw
X2luY19yZXZlcnNlKG4pOwo+ICsgICAgfQo+ICsgICAgZnByaW50ZihmLCAifVxuIik7Cj4gKyAg
ICBicmVhazsKPiArICBjYXNlIEJJTihyZXB1dCk6Cj4gKyAgICBmcHJpbnRmKGYsICJ7XG4iKTsK
PiArICAgIHsKPiArICAgICAgICBNQVlCRV9VTlVTRUQoaW50IHBjX21vdmVkX3ApID0gRkFMU0U7
Cj4gKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgewo+ICsgICAgICAgICAgICBm
cHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVuc2lnbmVkIGludCkgc3RhY2tfc2l6ZSA9ICV1
O1xuIiwgYi0+c3RhY2tfc2l6ZSk7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGZwcmludGYoZiwg
IiAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIHZhbDtcbiIpOwo+ICsKPiArICAgICAgICBmcHJpbnRm
KGYsICIgICAgdmFsID0gc3RhY2tbJWRdO1xuIiwgYi0+c3RhY2tfc2l6ZSAtIDEpOwo+ICsgICAg
ICAgIGlmIChib2R5LT5jYXRjaF9leGNlcHRfcCB8fCBGQUxTRSkgewo+ICsgICAgICAgICAgICBm
cHJpbnRmKGYsICIgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIs
IG5leHRfcG9zKTsgLyogQUREX1BDKElOU05fQVRUUih3aWR0aCkpOyAqLwo+ICsgICAgICAgICAg
ICBwY19tb3ZlZF9wID0gVFJVRTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgaWYgKHN0YXR1cy0+
bG9jYWxfc3RhY2tfcCkgewo+ICsgICAgICAgIH0KPiArICAgICAgICBlbHNlIHsKPiArICAgICAg
ICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAg
KyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAxKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnBy
aW50ZihmLCAiICAgIHtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgLyogbm9u
ZSAqL1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIpOwo+ICsgICAgICAgIGZw
cmludGYoZiwgIiAgICBzdGFja1slZF0gPSB2YWw7XG4iLCBiLT5zdGFja19zaXplICsgKGludClh
dHRyX3NwX2luY19yZXB1dCgpIC0gMSk7Cj4gKyAgICAgICAgYi0+c3RhY2tfc2l6ZSArPSBhdHRy
X3NwX2luY19yZXB1dCgpOwo+ICsgICAgfQo+ICsgICAgZnByaW50ZihmLCAifVxuIik7Cj4gKyAg
ICBicmVhazsKPiArICBjYXNlIEJJTih0b3BuKToKPiArICAgIGZwcmludGYoZiwgIntcbiIpOwo+
ICsgICAgewo+ICsgICAgICAgIE1BWUJFX1VOVVNFRChpbnQgcGNfbW92ZWRfcCkgPSBGQUxTRTsK
PiArICAgICAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QgbikgPSAocmJfbnVtX3Qpb3BlcmFuZHNb
MF07Cj4gKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgewo+ICsgICAgICAgICAg
ICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVuc2lnbmVkIGludCkgc3RhY2tfc2l6ZSA9
ICV1O1xuIiwgYi0+c3RhY2tfc2l6ZSk7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGZwcmludGYo
ZiwgIiAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIHZhbDtcbiIpOwo+ICsgICAgICAgIGZwcmludGYo
ZiwgIiAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QpIG47XG4iKTsKPiArCj4gKyAgICAgICAgZnBy
aW50ZihmLCAiICAgIG4gPSAocmJfbnVtX3QpMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNbMF0p
Owo+ICsgICAgICAgIGZwcmludGYoZiwgIlxuIik7Cj4gKyAgICAgICAgaWYgKGJvZHktPmNhdGNo
X2V4Y2VwdF9wIHx8IEZBTFNFKSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdf
Y2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3MpOyAvKiBBRERf
UEMoSU5TTl9BVFRSKHdpZHRoKSk7ICovCj4gKyAgICAgICAgICAgIHBjX21vdmVkX3AgPSBUUlVF
Owo+ICsgICAgICAgIH0KPiArICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cj4g
KyAgICAgICAgfQo+ICsgICAgICAgIGVsc2Ugewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIg
ICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tf
c2l6ZSArIDEpOwo+ICsgICAgICAgIH0KPiArICAgICAgICBmcHJpbnRmKGYsICIgICAge1xuIik7
Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICB2YWwgPSAlcztcbiIsCj4gKyAgICAgICAg
ICAgICAgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCA/ICIqKHN0YWNrICsgKHN0YWNrX3NpemUgLSAo
bikgLSAxKSkiIDogIlRPUE4obikiKSk7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIp
Owo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBzdGFja1slZF0gPSB2YWw7XG4iLCBiLT5zdGFj
a19zaXplICsgKGludClhdHRyX3NwX2luY190b3BuKG4pIC0gMSk7Cj4gKyAgICAgICAgYi0+c3Rh
Y2tfc2l6ZSArPSBhdHRyX3NwX2luY190b3BuKG4pOwo+ICsgICAgfQo+ICsgICAgZnByaW50Zihm
LCAifVxuIik7Cj4gKyAgICBicmVhazsKPiArICBjYXNlIEJJTihzZXRuKToKPiArICAgIGZwcmlu
dGYoZiwgIntcbiIpOwo+ICsgICAgewo+ICsgICAgICAgIE1BWUJFX1VOVVNFRChpbnQgcGNfbW92
ZWRfcCkgPSBGQUxTRTsKPiArICAgICAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QgbikgPSAocmJf
bnVtX3Qpb3BlcmFuZHNbMF07Cj4gKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkg
ewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVuc2lnbmVkIGlu
dCkgc3RhY2tfc2l6ZSA9ICV1O1xuIiwgYi0+c3RhY2tfc2l6ZSk7Cj4gKyAgICAgICAgfQo+ICsg
ICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIHZhbDtcbiIpOwo+ICsg
ICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QpIG47XG4iKTsKPiAr
Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIG4gPSAocmJfbnVtX3QpMHglIlBSSXhWQUxVRSI7
Iiwgb3BlcmFuZHNbMF0pOwo+ICsgICAgICAgIGZwcmludGYoZiwgIlxuIik7Cj4gKyAgICAgICAg
ZnByaW50ZihmLCAiICAgIHZhbCA9IHN0YWNrWyVkXTtcbiIsIGItPnN0YWNrX3NpemUgLSAxKTsK
PiArICAgICAgICBpZiAoYm9keS0+Y2F0Y2hfZXhjZXB0X3AgfHwgRkFMU0UpIHsKPiArICAgICAg
ICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsg
JWQ7XG4iLCBuZXh0X3Bvcyk7IC8qIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsgKi8KPiArICAg
ICAgICAgICAgcGNfbW92ZWRfcCA9IFRSVUU7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGlmIChz
dGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZWxzZSB7Cj4g
KyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19j
ZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgMSk7Cj4gKyAgICAgICAgfQo+ICsgICAg
ICAgIGZwcmludGYoZiwgIiAgICB7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAg
ICVzID0gdmFsO1xuIiwKPiArICAgICAgICAgICAgICAoc3RhdHVzLT5sb2NhbF9zdGFja19wID8g
Iiooc3RhY2sgKyAoc3RhY2tfc2l6ZSAtIChuKSAtIDEpKSIgOiAiVE9QTihuKSIpKTsKPiArICAg
ICAgICBmcHJpbnRmKGYsICIgICAgfVxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIHN0
YWNrWyVkXSA9IHZhbDtcbiIsIGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5jX3NldG4o
bikgLSAxKTsKPiArICAgICAgICBiLT5zdGFja19zaXplICs9IGF0dHJfc3BfaW5jX3NldG4obik7
Cj4gKyAgICB9Cj4gKyAgICBmcHJpbnRmKGYsICJ9XG4iKTsKPiArICAgIGJyZWFrOwo+ICsgIGNh
c2UgQklOKGFkanVzdHN0YWNrKToKPiArICAgIGZwcmludGYoZiwgIntcbiIpOwo+ICsgICAgewo+
ICsgICAgICAgIE1BWUJFX1VOVVNFRChpbnQgcGNfbW92ZWRfcCkgPSBGQUxTRTsKPiArICAgICAg
ICBNQVlCRV9VTlVTRUQocmJfbnVtX3QgbikgPSAocmJfbnVtX3Qpb3BlcmFuZHNbMF07Cj4gKyAg
ICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgewo+ICsgICAgICAgICAgICBmcHJpbnRm
KGYsICIgICAgTUFZQkVfVU5VU0VEKHVuc2lnbmVkIGludCkgc3RhY2tfc2l6ZSA9ICV1O1xuIiwg
Yi0+c3RhY2tfc2l6ZSk7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBN
QVlCRV9VTlVTRUQocmJfbnVtX3QpIG47XG4iKTsKPiArCj4gKyAgICAgICAgZnByaW50ZihmLCAi
ICAgIG4gPSAocmJfbnVtX3QpMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNbMF0pOwo+ICsgICAg
ICAgIGZwcmludGYoZiwgIlxuIik7Cj4gKyAgICAgICAgaWYgKGJvZHktPmNhdGNoX2V4Y2VwdF9w
IHx8IEZBTFNFKSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5wYyA9
IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3MpOyAvKiBBRERfUEMoSU5TTl9B
VFRSKHdpZHRoKSk7ICovCj4gKyAgICAgICAgICAgIHBjX21vdmVkX3AgPSBUUlVFOwo+ICsgICAg
ICAgIH0KPiArICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cj4gKyAgICAgICAg
fQo+ICsgICAgICAgIGVsc2Ugewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2Nm
cC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEp
Owo+ICsgICAgICAgIH0KPiArICAgICAgICBmcHJpbnRmKGYsICIgICAge1xuIik7Cj4gKyAgICAg
ICAgZnByaW50ZihmLCAiICAgICAgICAvKiBub25lICovXG4iKTsKPiArICAgICAgICBmcHJpbnRm
KGYsICIgICAgfVxuIik7Cj4gKyAgICAgICAgYi0+c3RhY2tfc2l6ZSArPSBhdHRyX3NwX2luY19h
ZGp1c3RzdGFjayhuKTsKPiArICAgIH0KPiArICAgIGZwcmludGYoZiwgIn1cbiIpOwo+ICsgICAg
YnJlYWs7Cj4gKyAgY2FzZSBCSU4oZGVmaW5lZCk6Cj4gKyAgICBmcHJpbnRmKGYsICJ7XG4iKTsK
PiArICAgIHsKPiArICAgICAgICBNQVlCRV9VTlVTRUQoaW50IHBjX21vdmVkX3ApID0gRkFMU0U7
Cj4gKyAgICAgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IG9wX3R5cGUpID0gKHJiX251bV90KW9w
ZXJhbmRzWzBdOwo+ICsgICAgICAgIE1BWUJFX1VOVVNFRChWQUxVRSBvYmopID0gKFZBTFVFKW9w
ZXJhbmRzWzFdOwo+ICsgICAgICAgIE1BWUJFX1VOVVNFRChWQUxVRSBuZWVkc3RyKSA9IChWQUxV
RSlvcGVyYW5kc1syXTsKPiArICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cj4g
KyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQodW5zaWduZWQgaW50KSBz
dGFja19zaXplID0gJXU7XG4iLCBiLT5zdGFja19zaXplKTsKPiArICAgICAgICB9Cj4gKyAgICAg
ICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgbmVlZHN0ciwgb2JqLCB2LCB2
YWw7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHJiX251bV90
KSBvcF90eXBlO1xuIik7Cj4gKwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBvcF90eXBlID0g
KHJiX251bV90KTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRzWzBdKTsKPiArICAgICAgICBmcHJp
bnRmKGYsICJcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBvYmogPSAoVkFMVUUpMHgl
IlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNbMV0pOwo+ICsgICAgICAgIGlmIChTWU1CT0xfUCgoVkFM
VUUpb3BlcmFuZHNbMV0pKSBjb21tZW50X2lkKGYsIFNZTTJJRCgoVkFMVUUpb3BlcmFuZHNbMV0p
KTsKPiArICAgICAgICBmcHJpbnRmKGYsICJcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAg
ICBuZWVkc3RyID0gKFZBTFVFKTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRzWzJdKTsKPiArICAg
ICAgICBpZiAoU1lNQk9MX1AoKFZBTFVFKW9wZXJhbmRzWzJdKSkgY29tbWVudF9pZChmLCBTWU0y
SUQoKFZBTFVFKW9wZXJhbmRzWzJdKSk7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsKPiAr
ICAgICAgICBmcHJpbnRmKGYsICIgICAgdiA9IHN0YWNrWyVkXTtcbiIsIGItPnN0YWNrX3NpemUg
LSAxKTsKPiArICAgICAgICBpZiAoYm9keS0+Y2F0Y2hfZXhjZXB0X3AgfHwgVFJVRSkgewo+ICsg
ICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lz
ZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsgLyogQUREX1BDKElOU05fQVRUUih3aWR0aCkpOyAqLwo+
ICsgICAgICAgICAgICBwY19tb3ZlZF9wID0gVFJVRTsKPiArICAgICAgICB9Cj4gKyAgICAgICAg
aWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgewo+ICsgICAgICAgIH0KPiArICAgICAgICBlbHNl
IHsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICop
cmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAxKTsKPiArICAgICAgICB9Cj4g
KyAgICAgICAgZnByaW50ZihmLCAiICAgIHtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAg
ICAgICAgdmFsID0gdm1fZGVmaW5lZChlYywgR0VUX0NGUCgpLCBvcF90eXBlLCBvYmosIG5lZWRz
dHIsIHYpO1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIpOwo+ICsgICAgICAg
IGZwcmludGYoZiwgIiAgICBzdGFja1slZF0gPSB2YWw7XG4iLCBiLT5zdGFja19zaXplICsgKGlu
dClhdHRyX3NwX2luY19kZWZpbmVkKG9wX3R5cGUsIG9iaiwgbmVlZHN0cikgLSAxKTsKPiArICAg
ICAgICBmcHJpbnRmKGYsICIgICAgaWYgKFVOTElLRUxZKHJ1Ynlfdm1fZXZlbnRfZW5hYmxlZF9n
bG9iYWxfZmxhZ3MgJiBJU0VRX1RSQUNFX0VWRU5UUykpIHtcbiIpOwo+ICsgICAgICAgIGZwcmlu
dGYoZiwgIiAgICAgICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xu
IiwgYi0+c3RhY2tfc2l6ZSArIChpbnQpYXR0cl9zcF9pbmNfZGVmaW5lZChvcF90eXBlLCBvYmos
IG5lZWRzdHIpICsgMSk7Cj4gKyAgICAgICAgaWYgKCFwY19tb3ZlZF9wKSB7Cj4gKyAgICAgICAg
ICAgIGZwcmludGYoZiwgIiAgICAgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEg
KyAlZDtcbiIsIG5leHRfcG9zKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAi
ICAgICAgICBnb3RvIGNhbmNlbDtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICB9XG4i
KTsKPiArICAgICAgICBiLT5zdGFja19zaXplICs9IGF0dHJfc3BfaW5jX2RlZmluZWQob3BfdHlw
ZSwgb2JqLCBuZWVkc3RyKTsKPiArICAgIH0KPiArICAgIGZwcmludGYoZiwgIn1cbiIpOwo+ICsg
ICAgYnJlYWs7Cj4gKyAgY2FzZSBCSU4oY2hlY2ttYXRjaCk6Cj4gKyAgICBmcHJpbnRmKGYsICJ7
XG4iKTsKPiArICAgIHsKPiArICAgICAgICBNQVlCRV9VTlVTRUQoaW50IHBjX21vdmVkX3ApID0g
RkFMU0U7Cj4gKyAgICAgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IGZsYWcpID0gKHJiX251bV90
KW9wZXJhbmRzWzBdOwo+ICsgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKPiAr
ICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRCh1bnNpZ25lZCBpbnQpIHN0
YWNrX3NpemUgPSAldTtcbiIsIGItPnN0YWNrX3NpemUpOwo+ICsgICAgICAgIH0KPiArICAgICAg
ICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSBwYXR0ZXJuLCByZXN1bHQsIHRh
cmdldDtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQocmJfbnVt
X3QpIGZsYWc7XG4iKTsKPiArCj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIGZsYWcgPSAocmJf
bnVtX3QpMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNbMF0pOwo+ICsgICAgICAgIGZwcmludGYo
ZiwgIlxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIHRhcmdldCA9IHN0YWNrWyVkXTtc
biIsIGItPnN0YWNrX3NpemUgLSAyKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgcGF0dGVy
biA9IHN0YWNrWyVkXTtcbiIsIGItPnN0YWNrX3NpemUgLSAxKTsKPiArICAgICAgICBpZiAoYm9k
eS0+Y2F0Y2hfZXhjZXB0X3AgfHwgVFJVRSkgewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIg
ICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsg
LyogQUREX1BDKElOU05fQVRUUih3aWR0aCkpOyAqLwo+ICsgICAgICAgICAgICBwY19tb3ZlZF9w
ID0gVFJVRTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tf
cCkgewo+ICsgICAgICAgIH0KPiArICAgICAgICBlbHNlIHsKPiArICAgICAgICAgICAgZnByaW50
ZihmLCAiICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGIt
PnN0YWNrX3NpemUgKyAxKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAg
IHtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgcmVzdWx0ID0gdm1fY2hlY2tf
bWF0Y2goZWMsIHRhcmdldCwgcGF0dGVybiwgZmxhZyk7XG4iKTsKPiArICAgICAgICBmcHJpbnRm
KGYsICIgICAgfVxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIHN0YWNrWyVkXSA9IHJl
c3VsdDtcbiIsIGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5jX2NoZWNrbWF0Y2goZmxh
ZykgLSAxKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgaWYgKFVOTElLRUxZKHJ1Ynlfdm1f
ZXZlbnRfZW5hYmxlZF9nbG9iYWxfZmxhZ3MgJiBJU0VRX1RSQUNFX0VWRU5UUykpIHtcbiIpOwo+
ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdf
Y2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIChpbnQpYXR0cl9zcF9pbmNfY2hlY2tt
YXRjaChmbGFnKSArIDEpOwo+ICsgICAgICAgIGlmICghcGNfbW92ZWRfcCkgewo+ICsgICAgICAg
ICAgICBmcHJpbnRmKGYsICIgICAgICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2Vx
ICsgJWQ7XG4iLCBuZXh0X3Bvcyk7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGZwcmludGYoZiwg
IiAgICAgICAgZ290byBjYW5jZWw7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgfVxu
Iik7Cj4gKyAgICAgICAgYi0+c3RhY2tfc2l6ZSArPSBhdHRyX3NwX2luY19jaGVja21hdGNoKGZs
YWcpOwo+ICsgICAgfQo+ICsgICAgZnByaW50ZihmLCAifVxuIik7Cj4gKyAgICBicmVhazsKPiAr
ICBjYXNlIEJJTihjaGVja2tleXdvcmQpOgo+ICsgICAgZnByaW50ZihmLCAie1xuIik7Cj4gKyAg
ICB7Cj4gKyAgICAgICAgTUFZQkVfVU5VU0VEKGludCBwY19tb3ZlZF9wKSA9IEZBTFNFOwo+ICsg
ICAgICAgIE1BWUJFX1VOVVNFRChsaW5kZXhfdCBrd19iaXRzX2luZGV4KSA9IChsaW5kZXhfdClv
cGVyYW5kc1swXTsKPiArICAgICAgICBNQVlCRV9VTlVTRUQobGluZGV4X3Qga2V5d29yZF9pbmRl
eCkgPSAobGluZGV4X3Qpb3BlcmFuZHNbMV07Cj4gKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxf
c3RhY2tfcCkgewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVu
c2lnbmVkIGludCkgc3RhY2tfc2l6ZSA9ICV1O1xuIiwgYi0+c3RhY2tfc2l6ZSk7Cj4gKyAgICAg
ICAgfQo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIHJldDtc
biIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQobGluZGV4X3QpIGtl
eXdvcmRfaW5kZXgsIGt3X2JpdHNfaW5kZXg7XG4iKTsKPiArCj4gKyAgICAgICAgZnByaW50Zihm
LCAiICAgIGt3X2JpdHNfaW5kZXggPSAobGluZGV4X3QpMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFu
ZHNbMF0pOwo+ICsgICAgICAgIGZwcmludGYoZiwgIlxuIik7Cj4gKyAgICAgICAgZnByaW50Zihm
LCAiICAgIGtleXdvcmRfaW5kZXggPSAobGluZGV4X3QpMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFu
ZHNbMV0pOwo+ICsgICAgICAgIGZwcmludGYoZiwgIlxuIik7Cj4gKyAgICAgICAgaWYgKGJvZHkt
PmNhdGNoX2V4Y2VwdF9wIHx8IEZBTFNFKSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAg
ICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3MpOyAv
KiBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7ICovCj4gKyAgICAgICAgICAgIHBjX21vdmVkX3Ag
PSBUUlVFOwo+ICsgICAgICAgIH0KPiArICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19w
KSB7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGVsc2Ugewo+ICsgICAgICAgICAgICBmcHJpbnRm
KGYsICIgICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+
c3RhY2tfc2l6ZSArIDEpOwo+ICsgICAgICAgIH0KPiArICAgICAgICBmcHJpbnRmKGYsICIgICAg
e1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICByZXQgPSB2bV9jaGVja19rZXl3
b3JkKGt3X2JpdHNfaW5kZXgsIGtleXdvcmRfaW5kZXgsIEdFVF9FUCgpKTtcbiIpOwo+ICsgICAg
ICAgIGZwcmludGYoZiwgIiAgICB9XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgc3Rh
Y2tbJWRdID0gcmV0O1xuIiwgYi0+c3RhY2tfc2l6ZSArIChpbnQpYXR0cl9zcF9pbmNfY2hlY2tr
ZXl3b3JkKGt3X2JpdHNfaW5kZXgsIGtleXdvcmRfaW5kZXgpIC0gMSk7Cj4gKyAgICAgICAgYi0+
c3RhY2tfc2l6ZSArPSBhdHRyX3NwX2luY19jaGVja2tleXdvcmQoa3dfYml0c19pbmRleCwga2V5
d29yZF9pbmRleCk7Cj4gKyAgICB9Cj4gKyAgICBmcHJpbnRmKGYsICJ9XG4iKTsKPiArICAgIGJy
ZWFrOwo+ICsgIGNhc2UgQklOKGNoZWNrdHlwZSk6Cj4gKyAgICBmcHJpbnRmKGYsICJ7XG4iKTsK
PiArICAgIHsKPiArICAgICAgICBNQVlCRV9VTlVTRUQoaW50IHBjX21vdmVkX3ApID0gRkFMU0U7
Cj4gKyAgICAgICAgTUFZQkVfVU5VU0VEKHJiX251bV90IHR5cGUpID0gKHJiX251bV90KW9wZXJh
bmRzWzBdOwo+ICsgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKPiArICAgICAg
ICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRCh1bnNpZ25lZCBpbnQpIHN0YWNrX3Np
emUgPSAldTtcbiIsIGItPnN0YWNrX3NpemUpOwo+ICsgICAgICAgIH0KPiArICAgICAgICBmcHJp
bnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSByZXQsIHZhbDtcbiIpOwo+ICsgICAgICAg
IGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QpIHR5cGU7XG4iKTsKPiArCj4g
KyAgICAgICAgZnByaW50ZihmLCAiICAgIHR5cGUgPSAocmJfbnVtX3QpMHglIlBSSXhWQUxVRSI7
Iiwgb3BlcmFuZHNbMF0pOwo+ICsgICAgICAgIGZwcmludGYoZiwgIlxuIik7Cj4gKyAgICAgICAg
ZnByaW50ZihmLCAiICAgIHZhbCA9IHN0YWNrWyVkXTtcbiIsIGItPnN0YWNrX3NpemUgLSAxKTsK
PiArICAgICAgICBpZiAoYm9keS0+Y2F0Y2hfZXhjZXB0X3AgfHwgRkFMU0UpIHsKPiArICAgICAg
ICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsg
JWQ7XG4iLCBuZXh0X3Bvcyk7IC8qIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsgKi8KPiArICAg
ICAgICAgICAgcGNfbW92ZWRfcCA9IFRSVUU7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGlmIChz
dGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZWxzZSB7Cj4g
KyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19j
ZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgMSk7Cj4gKyAgICAgICAgfQo+ICsgICAg
ICAgIGZwcmludGYoZiwgIiAgICB7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAg
IHJldCA9IChUWVBFKHZhbCkgPT0gKGludCl0eXBlKSA/IFF0cnVlIDogUWZhbHNlO1xuIik7Cj4g
KyAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAg
ICBzdGFja1slZF0gPSByZXQ7XG4iLCBiLT5zdGFja19zaXplICsgKGludClhdHRyX3NwX2luY19j
aGVja3R5cGUodHlwZSkgLSAxKTsKPiArICAgICAgICBiLT5zdGFja19zaXplICs9IGF0dHJfc3Bf
aW5jX2NoZWNrdHlwZSh0eXBlKTsKPiArICAgIH0KPiArICAgIGZwcmludGYoZiwgIn1cbiIpOwo+
ICsgICAgYnJlYWs7Cj4gKyAgY2FzZSBCSU4oc2VuZCk6Cj4gK3sKPiArICAgIE1BWUJFX1VOVVNF
RChpbnQgcGNfbW92ZWRfcCkgPSBGQUxTRTsKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8g
Y2kpID0gKENBTExfSU5GTylvcGVyYW5kc1swXTsKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NB
Q0hFIGNjKSA9IChDQUxMX0NBQ0hFKW9wZXJhbmRzWzFdOwo+ICsgICAgTUFZQkVfVU5VU0VEKElT
RVEgYmxvY2tpc2VxKSA9IChJU0VRKW9wZXJhbmRzWzJdOwo+ICsgICAgQ0FMTF9DQUNIRSBjY19j
b3B5ID0gc3RhdHVzLT5jY19lbnRyaWVzICsgKGNjIC0gYm9keS0+Y2NfZW50cmllcyk7Cj4gKyAg
ICBpZiAoaGFzX3ZhbGlkX21ldGhvZF90eXBlKGNjX2NvcHkpKSB7Cj4gKyAgICAgICAgY29uc3Qg
cmJfaXNlcV90ICppc2VxOwo+ICsgICAgICAgIHVuc2lnbmVkIGludCBhcmdjID0gY2ktPm9yaWdf
YXJnYzsgLyogdW5saWtlIGBjaS0+b3JpZ19hcmdjYCwgYGFyZ2NgIG1heSBpbmNsdWRlIGJsb2Nr
YXJnICovCj4gKyAgICAgICAgYXJnYyArPSAoKGNpLT5mbGFnICYgVk1fQ0FMTF9BUkdTX0JMT0NL
QVJHKSA/IDEgOiAwKTsKPiArCj4gKyAgICAgICAgaWYgKCEoY2ktPmZsYWcgJiBWTV9DQUxMX1RB
SUxDQUxMKSAmJiAvKiBpbmxpbmluZyBub24tdGFpbGNhbGwgcGF0aCAqLwo+ICsgICAgICAgICAg
ICBjY19jb3B5LT5tZS0+ZGVmLT50eXBlID09IFZNX01FVEhPRF9UWVBFX0lTRVEgJiYgaW5saW5h
YmxlX2lzZXFfcChjaSwgY2NfY29weSwgaXNlcSA9IGRlZl9pc2VxX3B0cihjY19jb3B5LT5tZS0+
ZGVmKSkgLyogQ0NfU0VUX0ZBU1RQQVRIIGluIHZtX2NhbGxlZV9zZXR1cF9hcmcgKi8pIHsKPiAr
ICAgICAgICAgICAgaW50IHBhcmFtX3NpemUgPSBpc2VxLT5ib2R5LT5wYXJhbS5zaXplOyAvKiBU
T0RPOiBjaGVjayBjYWxsaW5nLT5hcmdjIGZvciBhcmd1bWVudF9hcml0eV9lcnJvciAqLwo+ICsK
PiArICAgICAgICAgICAgZnByaW50ZihmLCAie1xuIik7Cj4gKyAgICAgICAgICAgIGlmIChzdGF0
dXMtPmxvY2FsX3N0YWNrX3ApIHsKPiArICAgICAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICBN
QVlCRV9VTlVTRUQodW5zaWduZWQgaW50KSBzdGFja19zaXplID0gJXU7XG4iLCBiLT5zdGFja19z
aXplKTsKPiArICAgICAgICAgICAgfQo+ICsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAg
IGlmIChVTkxJS0VMWShHRVRfR0xPQkFMX01FVEhPRF9TVEFURSgpICE9ICUiUFJJX1NFUklBTFRf
UFJFRklYInUgfHxcbiIsIGNjX2NvcHktPm1ldGhvZF9zdGF0ZSk7Cj4gKyAgICAgICAgICAgIGZw
cmludGYoZiwgIiAgICAgICAgUkNMQVNTX1NFUklBTChDTEFTU19PRihzdGFja1slZF0pKSAhPSAl
IlBSSV9TRVJJQUxUX1BSRUZJWCJ1KSkge1xuIiwgYi0+c3RhY2tfc2l6ZSAtIDEgLSBhcmdjLCBj
Y19jb3B5LT5jbGFzc19zZXJpYWwpOwo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgICAg
IHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBwb3MpOwo+ICsgICAg
ICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2Nm
cC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAxKTsKPiArICAgICAgICAgICAgZnByaW50
ZihmLCAiICAgICAgICBnb3RvIGNhbmNlbDtcbiIpOwo+ICsgICAgICAgICAgICBmcHJpbnRmKGYs
ICIgICAgfVxuIik7Cj4gKwo+ICsgICAgICAgIGlmIChib2R5LT5jYXRjaF9leGNlcHRfcCB8fCBU
UlVFKSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5wYyA9IG9yaWdp
bmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3MpOyAvKiBBRERfUEMoSU5TTl9BVFRSKHdp
ZHRoKSk7ICovCj4gKyAgICAgICAgICAgIHBjX21vdmVkX3AgPSBUUlVFOwo+ICsgICAgICAgIH0K
PiArICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cj4gKyAgICAgICAgICAgIHsK
PiArICAgICAgICAgICAgICAgIHJiX3NudW1fdCBpLCBwdXNoX3NpemU7Cj4gKyAgICAgICAgICAg
ICAgICBwdXNoX3NpemUgPSAtYXR0cl9zcF9pbmNfc2VuZChjaSwgY2MsIGJsb2NraXNlcSkgKyAx
IC0gMDsKPiArICAgICAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5zcCA9IChW
QUxVRSAqKXJlZ19jZnAtPmJwICsgJWxkICsgMTtcbiIsIHB1c2hfc2l6ZSk7IC8qIFBPUE4oSU5T
Tl9BVFRSKHBvcG4pKTsgKi8KPiArICAgICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBwdXNo
X3NpemU7IGkrKykgewo+ICsgICAgICAgICAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICAqKHJl
Z19jZnAtPnNwICsgJWxkKSA9IHN0YWNrWyVsZF07XG4iLCBpIC0gcHVzaF9zaXplLCAocmJfc251
bV90KWItPnN0YWNrX3NpemUgLSBwdXNoX3NpemUgKyBpKTsKPiArICAgICAgICAgICAgICAgIH0K
PiArICAgICAgICAgICAgfQo+ICsgICAgICAgIH0KPiArICAgICAgICBlbHNlIHsKPiArICAgICAg
ICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAg
KyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAxIC0gMCk7IC8qIFBPUE4oSU5TTl9BVFRSKHBvcG4p
KTsgKi8KPiArICAgICAgICB9Cj4gKwo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAge1xu
Iik7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgc3RydWN0IHJiX2NhbGxpbmdf
aW5mbyBjYWxsaW5nO1xuIik7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgY2Fs
bGluZy5ibG9ja19oYW5kbGVyID0gdm1fY2FsbGVyX3NldHVwX2FyZ19ibG9jayhlYywgcmVnX2Nm
cCwgKENBTExfSU5GTykweCUiUFJJeFZBTFVFIiwgKHJiX2lzZXFfdCAqKTB4JSJQUkl4VkFMVUUi
LCBGQUxTRSk7XG4iLCBvcGVyYW5kc1swXSwgb3BlcmFuZHNbMl0pOwo+ICsgICAgICAgICAgICBm
cHJpbnRmKGYsICIgICAgICAgIGNhbGxpbmcuYXJnYyA9ICVkO1xuIiwgY2ktPm9yaWdfYXJnYyk7
Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgY2FsbGluZy5yZWN2ID0gc3RhY2tb
JWRdO1xuIiwgYi0+c3RhY2tfc2l6ZSAtIDEgLSBhcmdjKTsKPiArCj4gKyAgICAgICAgICAgIGZw
cmludGYoZiwgIiAgICAgICAge1xuIik7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICAg
ICAgICAgIFZBTFVFIHY7XG4iKTsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgICAgICAg
ICAgdm1fY2FsbF9pc2VxX3NldHVwX25vcm1hbChlYywgcmVnX2NmcCwgJmNhbGxpbmcsIChjb25z
dCByYl9jYWxsYWJsZV9tZXRob2RfZW50cnlfdCAqKTB4JSJQUkl4VkFMVUUiLCAwLCAlZCwgJWQp
O1xuIiwKPiArICAgICAgICAgICAgICAgICAgICAoVkFMVUUpY2NfY29weS0+bWUsIHBhcmFtX3Np
emUsIGlzZXEtPmJvZHktPmxvY2FsX3RhYmxlX3NpemUpOyAvKiByYl9zaW1wbGVfaXNlcV9wIGNo
ZWNrcyByYl9zaW1wbGVfaXNlcV9wLCB3aGljaCBlbnN1cmVzIGhhc19vcHQgPT0gRkFMU0UgKi8K
PiArICAgICAgICAgICAgaWYgKGlzZXEtPmJvZHktPmNhdGNoX2V4Y2VwdF9wKSB7Cj4gKyAgICAg
ICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgICAgICBWTV9FTlZfRkxBR1NfU0VUKGVjLT5j
ZnAtPmVwLCBWTV9GUkFNRV9GTEFHX0ZJTklTSCk7XG4iKTsKPiArICAgICAgICAgICAgICAgIGZw
cmludGYoZiwgIiAgICAgICAgICAgIHYgPSB2bV9leGVjKGVjLCBUUlVFKTtcbiIpOwo+ICsgICAg
ICAgICAgICB9Cj4gKyAgICAgICAgICAgIGVsc2Ugewo+ICsgICAgICAgICAgICAgICAgZnByaW50
ZihmLCAiICAgICAgICAgICAgaWYgKCh2ID0gbWppdF9leGVjKGVjKSkgPT0gUXVuZGVmKSB7XG4i
KTsKPiArICAgICAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgICAgICBWTV9FTlZf
RkxBR1NfU0VUKGVjLT5jZnAtPmVwLCBWTV9GUkFNRV9GTEFHX0ZJTklTSCk7XG4iKTsgLyogVGhp
cyBpcyB2bV9jYWxsMF9ib2R5J3MgY29kZSBhZnRlciB2bV9jYWxsX2lzZXFfc2V0dXAgKi8KPiAr
ICAgICAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgICAgICB2ID0gdm1fZXhlYyhl
YywgRkFMU0UpO1xuIik7Cj4gKyAgICAgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgICAg
ICB9XG4iKTsKPiArICAgICAgICAgICAgfQo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAg
ICAgICAgICBzdGFja1slZF0gPSB2O1xuIiwgYi0+c3RhY2tfc2l6ZSAtIGFyZ2MgLSAxKTsKPiAr
ICAgICAgICAgICAgZnByaW50ZihmLCAiICAgICAgICB9XG4iKTsKPiArCj4gKyAgICAgICAgICAg
IGZwcmludGYoZiwgIiAgICB9XG4iKTsKPiArCj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAg
ICBpZiAoVU5MSUtFTFkocnVieV92bV9ldmVudF9lbmFibGVkX2dsb2JhbF9mbGFncyAmIElTRVFf
VFJBQ0VfRVZFTlRTKSkge1xuIik7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAg
cmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6
ZSArIChpbnQpYXR0cl9zcF9pbmNfc2VuZChjaSwgY2MsIGJsb2NraXNlcSkgKyAxKTsKPiArICAg
ICAgICAgICAgaWYgKCFwY19tb3ZlZF9wKSB7Cj4gKyAgICAgICAgICAgICAgICBmcHJpbnRmKGYs
ICIgICAgICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBuZXh0
X3Bvcyk7Cj4gKyAgICAgICAgICAgIH0KPiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgICAg
ICBnb3RvIGNhbmNlbDtcbiIpOwo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgfVxuIik7
Cj4gKwo+ICsgICAgICAgICAgICBiLT5zdGFja19zaXplICs9IGF0dHJfc3BfaW5jX3NlbmQoY2ks
IGNjLCBibG9ja2lzZXEpOwo+ICsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAifVxuIik7Cj4g
KyAgICAgICAgICAgIGJyZWFrOwo+ICsgICAgICAgIH0KPiArICAgIH0KPiArfQo+ICsgICAgZnBy
aW50ZihmLCAie1xuIik7Cj4gKyAgICB7Cj4gKyAgICAgICAgTUFZQkVfVU5VU0VEKGludCBwY19t
b3ZlZF9wKSA9IEZBTFNFOwo+ICsgICAgICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpID0g
KENBTExfSU5GTylvcGVyYW5kc1swXTsKPiArICAgICAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNI
RSBjYykgPSAoQ0FMTF9DQUNIRSlvcGVyYW5kc1sxXTsKPiArICAgICAgICBNQVlCRV9VTlVTRUQo
SVNFUSBibG9ja2lzZXEpID0gKElTRVEpb3BlcmFuZHNbMl07Cj4gKyAgICAgICAgaWYgKHN0YXR1
cy0+bG9jYWxfc3RhY2tfcCkgewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVf
VU5VU0VEKHVuc2lnbmVkIGludCkgc3RhY2tfc2l6ZSA9ICV1O1xuIiwgYi0+c3RhY2tfc2l6ZSk7
Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQoQ0FM
TF9DQUNIRSkgY2M7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VE
KENBTExfSU5GTykgY2k7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5V
U0VEKElTRVEpIGJsb2NraXNlcTtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlC
RV9VTlVTRUQoVkFMVUUpIHZhbDtcbiIpOwo+ICsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAg
Y2kgPSAoQ0FMTF9JTkZPKTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRzWzBdKTsKPiArICAgICAg
ICBjb21tZW50X2lkKGYsICgoQ0FMTF9JTkZPKW9wZXJhbmRzWzBdKS0+bWlkKTsKPiArICAgICAg
ICBmcHJpbnRmKGYsICJcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBjYyA9IChDQUxM
X0NBQ0hFKTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRzWzFdKTsKPiArICAgICAgICBmcHJpbnRm
KGYsICJcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBibG9ja2lzZXEgPSAoSVNFUSkw
eCUiUFJJeFZBTFVFIjsiLCBvcGVyYW5kc1syXSk7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiXG4i
KTsKPiArICAgICAgICBpZiAoYm9keS0+Y2F0Y2hfZXhjZXB0X3AgfHwgVFJVRSkgewo+ICsgICAg
ICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEg
KyAlZDtcbiIsIG5leHRfcG9zKTsgLyogQUREX1BDKElOU05fQVRUUih3aWR0aCkpOyAqLwo+ICsg
ICAgICAgICAgICBwY19tb3ZlZF9wID0gVFJVRTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgaWYg
KHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgewo+ICsgICAgICAgICAgICB7Cj4gKyAgICAgICAgICAg
ICAgICByYl9zbnVtX3QgaSwgcHVzaF9zaXplOwo+ICsgICAgICAgICAgICAgICAgcHVzaF9zaXpl
ID0gLWF0dHJfc3BfaW5jX3NlbmQoY2ksIGNjLCBibG9ja2lzZXEpICsgMSAtIDA7Cj4gKyAgICAg
ICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2Zw
LT5icCArICVsZCArIDE7XG4iLCBwdXNoX3NpemUpOyAvKiBQT1BOKElOU05fQVRUUihwb3BuKSk7
ICovCj4gKyAgICAgICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgcHVzaF9zaXplOyBpKyspIHsK
PiArICAgICAgICAgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgKihyZWdfY2ZwLT5zcCArICVs
ZCkgPSBzdGFja1slbGRdO1xuIiwgaSAtIHB1c2hfc2l6ZSwgKHJiX3NudW1fdCliLT5zdGFja19z
aXplIC0gcHVzaF9zaXplICsgaSk7Cj4gKyAgICAgICAgICAgICAgICB9Cj4gKyAgICAgICAgICAg
IH0KPiArICAgICAgICB9Cj4gKyAgICAgICAgZWxzZSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYo
ZiwgIiAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5z
dGFja19zaXplICsgMSAtIDApOyAvKiBQT1BOKElOU05fQVRUUihwb3BuKSk7ICovCj4gKyAgICAg
ICAgfQo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICB7XG4iKTsKPiArICAgICAgICBmcHJpbnRm
KGYsICIgICAgICAgIHN0cnVjdCByYl9jYWxsaW5nX2luZm8gY2FsbGluZztcbiIpOwo+ICsgICAg
ICAgIGZwcmludGYoZiwgIlxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICBjYWxs
aW5nLmJsb2NrX2hhbmRsZXIgPSB2bV9jYWxsZXJfc2V0dXBfYXJnX2Jsb2NrKGVjLCByZWdfY2Zw
LCBjaSwgYmxvY2tpc2VxLCBGQUxTRSk7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAg
ICAgIGNhbGxpbmcucmVjdiA9IFRPUE4oY2FsbGluZy5hcmdjID0gY2ktPm9yaWdfYXJnYyk7XG4i
KTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHZtX3NlYXJjaF9tZXRob2QoY2ksIGNj
LCBjYWxsaW5nLnJlY3YpO1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICBDQUxM
X01FVEhPRCgmY2FsbGluZywgY2ksIGNjKTtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAg
ICB9XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgc3RhY2tbJWRdID0gdmFsO1xuIiwg
Yi0+c3RhY2tfc2l6ZSArIChpbnQpYXR0cl9zcF9pbmNfc2VuZChjaSwgY2MsIGJsb2NraXNlcSkg
LSAxKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgaWYgKFVOTElLRUxZKHJ1Ynlfdm1fZXZl
bnRfZW5hYmxlZF9nbG9iYWxfZmxhZ3MgJiBJU0VRX1RSQUNFX0VWRU5UUykpIHtcbiIpOwo+ICsg
ICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2Zw
LT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIChpbnQpYXR0cl9zcF9pbmNfc2VuZChjaSwg
Y2MsIGJsb2NraXNlcSkgKyAxKTsKPiArICAgICAgICBpZiAoIXBjX21vdmVkX3ApIHsKPiArICAg
ICAgICAgICAgZnByaW50ZihmLCAiICAgICAgICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlf
aXNlcSArICVkO1xuIiwgbmV4dF9wb3MpOwo+ICsgICAgICAgIH0KPiArICAgICAgICBmcHJpbnRm
KGYsICIgICAgICAgIGdvdG8gY2FuY2VsO1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAg
IH1cbiIpOwo+ICsgICAgICAgIGItPnN0YWNrX3NpemUgKz0gYXR0cl9zcF9pbmNfc2VuZChjaSwg
Y2MsIGJsb2NraXNlcSk7Cj4gKyAgICB9Cj4gKyAgICBmcHJpbnRmKGYsICJ9XG4iKTsKPiArICAg
IGJyZWFrOwo+ICsgIGNhc2UgQklOKG9wdF9zZW5kX3dpdGhvdXRfYmxvY2spOgo+ICt7Cj4gKyAg
ICBNQVlCRV9VTlVTRUQoaW50IHBjX21vdmVkX3ApID0gRkFMU0U7Cj4gKyAgICBNQVlCRV9VTlVT
RUQoQ0FMTF9JTkZPIGNpKSA9IChDQUxMX0lORk8pb3BlcmFuZHNbMF07Cj4gKyAgICBNQVlCRV9V
TlVTRUQoQ0FMTF9DQUNIRSBjYykgPSAoQ0FMTF9DQUNIRSlvcGVyYW5kc1sxXTsKPiArICAgIENB
TExfQ0FDSEUgY2NfY29weSA9IHN0YXR1cy0+Y2NfZW50cmllcyArIChjYyAtIGJvZHktPmNjX2Vu
dHJpZXMpOwo+ICsgICAgaWYgKGhhc192YWxpZF9tZXRob2RfdHlwZShjY19jb3B5KSkgewo+ICsg
ICAgICAgIGNvbnN0IHJiX2lzZXFfdCAqaXNlcTsKPiArICAgICAgICB1bnNpZ25lZCBpbnQgYXJn
YyA9IGNpLT5vcmlnX2FyZ2M7IC8qIHVubGlrZSBgY2ktPm9yaWdfYXJnY2AsIGBhcmdjYCBtYXkg
aW5jbHVkZSBibG9ja2FyZyAqLwo+ICsKPiArICAgICAgICBpZiAoIShjaS0+ZmxhZyAmIFZNX0NB
TExfVEFJTENBTEwpICYmIC8qIGlubGluaW5nIG5vbi10YWlsY2FsbCBwYXRoICovCj4gKyAgICAg
ICAgICAgIGNjX2NvcHktPm1lLT5kZWYtPnR5cGUgPT0gVk1fTUVUSE9EX1RZUEVfSVNFUSAmJiBp
bmxpbmFibGVfaXNlcV9wKGNpLCBjY19jb3B5LCBpc2VxID0gZGVmX2lzZXFfcHRyKGNjX2NvcHkt
Pm1lLT5kZWYpKSAvKiBDQ19TRVRfRkFTVFBBVEggaW4gdm1fY2FsbGVlX3NldHVwX2FyZyAqLykg
ewo+ICsgICAgICAgICAgICBpbnQgcGFyYW1fc2l6ZSA9IGlzZXEtPmJvZHktPnBhcmFtLnNpemU7
IC8qIFRPRE86IGNoZWNrIGNhbGxpbmctPmFyZ2MgZm9yIGFyZ3VtZW50X2FyaXR5X2Vycm9yICov
Cj4gKwo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICJ7XG4iKTsKPiArICAgICAgICAgICAgaWYg
KHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgewo+ICsgICAgICAgICAgICAgICAgZnByaW50ZihmLCAi
ICAgIE1BWUJFX1VOVVNFRCh1bnNpZ25lZCBpbnQpIHN0YWNrX3NpemUgPSAldTtcbiIsIGItPnN0
YWNrX3NpemUpOwo+ICsgICAgICAgICAgICB9Cj4gKwo+ICsgICAgICAgICAgICBmcHJpbnRmKGYs
ICIgICAgaWYgKFVOTElLRUxZKEdFVF9HTE9CQUxfTUVUSE9EX1NUQVRFKCkgIT0gJSJQUklfU0VS
SUFMVF9QUkVGSVgidSB8fFxuIiwgY2NfY29weS0+bWV0aG9kX3N0YXRlKTsKPiArICAgICAgICAg
ICAgZnByaW50ZihmLCAiICAgICAgICBSQ0xBU1NfU0VSSUFMKENMQVNTX09GKHN0YWNrWyVkXSkp
ICE9ICUiUFJJX1NFUklBTFRfUFJFRklYInUpKSB7XG4iLCBiLT5zdGFja19zaXplIC0gMSAtIGFy
Z2MsIGNjX2NvcHktPmNsYXNzX3NlcmlhbCk7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAg
ICAgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIHBvcyk7Cj4g
KyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKily
ZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEpOwo+ICsgICAgICAgICAgICBm
cHJpbnRmKGYsICIgICAgICAgIGdvdG8gY2FuY2VsO1xuIik7Cj4gKyAgICAgICAgICAgIGZwcmlu
dGYoZiwgIiAgICB9XG4iKTsKPiArCj4gKyAgICAgICAgaWYgKGJvZHktPmNhdGNoX2V4Y2VwdF9w
IHx8IFRSVUUpIHsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnBjID0g
b3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBuZXh0X3Bvcyk7IC8qIEFERF9QQyhJTlNOX0FU
VFIod2lkdGgpKTsgKi8KPiArICAgICAgICAgICAgcGNfbW92ZWRfcCA9IFRSVUU7Cj4gKyAgICAg
ICAgfQo+ICsgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKPiArICAgICAgICAg
ICAgewo+ICsgICAgICAgICAgICAgICAgcmJfc251bV90IGksIHB1c2hfc2l6ZTsKPiArICAgICAg
ICAgICAgICAgIHB1c2hfc2l6ZSA9IC1hdHRyX3NwX2luY19vcHRfc2VuZF93aXRob3V0X2Jsb2Nr
KGNpLCBjYykgKyAxIC0gMDsKPiArICAgICAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdf
Y2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWxkICsgMTtcbiIsIHB1c2hfc2l6ZSk7
IC8qIFBPUE4oSU5TTl9BVFRSKHBvcG4pKTsgKi8KPiArICAgICAgICAgICAgICAgIGZvciAoaSA9
IDA7IGkgPCBwdXNoX3NpemU7IGkrKykgewo+ICsgICAgICAgICAgICAgICAgICAgIGZwcmludGYo
ZiwgIiAgICAqKHJlZ19jZnAtPnNwICsgJWxkKSA9IHN0YWNrWyVsZF07XG4iLCBpIC0gcHVzaF9z
aXplLCAocmJfc251bV90KWItPnN0YWNrX3NpemUgLSBwdXNoX3NpemUgKyBpKTsKPiArICAgICAg
ICAgICAgICAgIH0KPiArICAgICAgICAgICAgfQo+ICsgICAgICAgIH0KPiArICAgICAgICBlbHNl
IHsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICop
cmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAxIC0gMCk7IC8qIFBPUE4oSU5T
Tl9BVFRSKHBvcG4pKTsgKi8KPiArICAgICAgICB9Cj4gKwo+ICsgICAgICAgICAgICBmcHJpbnRm
KGYsICIgICAge1xuIik7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgc3RydWN0
IHJiX2NhbGxpbmdfaW5mbyBjYWxsaW5nO1xuIik7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwg
IiAgICAgICAgY2FsbGluZy5ibG9ja19oYW5kbGVyID0gVk1fQkxPQ0tfSEFORExFUl9OT05FO1xu
Iik7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgY2FsbGluZy5hcmdjID0gJWQ7
XG4iLCBjaS0+b3JpZ19hcmdjKTsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgICAgICBj
YWxsaW5nLnJlY3YgPSBzdGFja1slZF07XG4iLCBiLT5zdGFja19zaXplIC0gMSAtIGFyZ2MpOwo+
ICsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgICAgICB7XG4iKTsKPiArICAgICAgICAg
ICAgZnByaW50ZihmLCAiICAgICAgICAgICAgVkFMVUUgdjtcbiIpOwo+ICsgICAgICAgICAgICBm
cHJpbnRmKGYsICIgICAgICAgICAgICB2bV9jYWxsX2lzZXFfc2V0dXBfbm9ybWFsKGVjLCByZWdf
Y2ZwLCAmY2FsbGluZywgKGNvbnN0IHJiX2NhbGxhYmxlX21ldGhvZF9lbnRyeV90ICopMHglIlBS
SXhWQUxVRSIsIDAsICVkLCAlZCk7XG4iLAo+ICsgICAgICAgICAgICAgICAgICAgIChWQUxVRSlj
Y19jb3B5LT5tZSwgcGFyYW1fc2l6ZSwgaXNlcS0+Ym9keS0+bG9jYWxfdGFibGVfc2l6ZSk7IC8q
IHJiX3NpbXBsZV9pc2VxX3AgY2hlY2tzIHJiX3NpbXBsZV9pc2VxX3AsIHdoaWNoIGVuc3VyZXMg
aGFzX29wdCA9PSBGQUxTRSAqLwo+ICsgICAgICAgICAgICBpZiAoaXNlcS0+Ym9keS0+Y2F0Y2hf
ZXhjZXB0X3ApIHsKPiArICAgICAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgIFZN
X0VOVl9GTEFHU19TRVQoZWMtPmNmcC0+ZXAsIFZNX0ZSQU1FX0ZMQUdfRklOSVNIKTtcbiIpOwo+
ICsgICAgICAgICAgICAgICAgZnByaW50ZihmLCAiICAgICAgICAgICAgdiA9IHZtX2V4ZWMoZWMs
IFRSVUUpO1xuIik7Cj4gKyAgICAgICAgICAgIH0KPiArICAgICAgICAgICAgZWxzZSB7Cj4gKyAg
ICAgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgICAgICBpZiAoKHYgPSBtaml0X2V4ZWMo
ZWMpKSA9PSBRdW5kZWYpIHtcbiIpOwo+ICsgICAgICAgICAgICAgICAgZnByaW50ZihmLCAiICAg
ICAgICAgICAgICAgIFZNX0VOVl9GTEFHU19TRVQoZWMtPmNmcC0+ZXAsIFZNX0ZSQU1FX0ZMQUdf
RklOSVNIKTtcbiIpOyAvKiBUaGlzIGlzIHZtX2NhbGwwX2JvZHkncyBjb2RlIGFmdGVyIHZtX2Nh
bGxfaXNlcV9zZXR1cCAqLwo+ICsgICAgICAgICAgICAgICAgZnByaW50ZihmLCAiICAgICAgICAg
ICAgICAgIHYgPSB2bV9leGVjKGVjLCBGQUxTRSk7XG4iKTsKPiArICAgICAgICAgICAgICAgIGZw
cmludGYoZiwgIiAgICAgICAgICAgIH1cbiIpOwo+ICsgICAgICAgICAgICB9Cj4gKyAgICAgICAg
ICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgIHN0YWNrWyVkXSA9IHY7XG4iLCBiLT5zdGFja19z
aXplIC0gYXJnYyAtIDEpOwo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIH1cbiIp
Owo+ICsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIpOwo+ICsKPiArICAgICAg
ICAgICAgZnByaW50ZihmLCAiICAgIGlmIChVTkxJS0VMWShydWJ5X3ZtX2V2ZW50X2VuYWJsZWRf
Z2xvYmFsX2ZsYWdzICYgSVNFUV9UUkFDRV9FVkVOVFMpKSB7XG4iKTsKPiArICAgICAgICAgICAg
ZnByaW50ZihmLCAiICAgICAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsg
JWQ7XG4iLCBiLT5zdGFja19zaXplICsgKGludClhdHRyX3NwX2luY19vcHRfc2VuZF93aXRob3V0
X2Jsb2NrKGNpLCBjYykgKyAxKTsKPiArICAgICAgICAgICAgaWYgKCFwY19tb3ZlZF9wKSB7Cj4g
KyAgICAgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHJlZ19jZnAtPnBjID0gb3JpZ2lu
YWxfYm9keV9pc2VxICsgJWQ7XG4iLCBuZXh0X3Bvcyk7Cj4gKyAgICAgICAgICAgIH0KPiArICAg
ICAgICAgICAgZnByaW50ZihmLCAiICAgICAgICBnb3RvIGNhbmNlbDtcbiIpOwo+ICsgICAgICAg
ICAgICBmcHJpbnRmKGYsICIgICAgfVxuIik7Cj4gKwo+ICsgICAgICAgICAgICBiLT5zdGFja19z
aXplICs9IGF0dHJfc3BfaW5jX29wdF9zZW5kX3dpdGhvdXRfYmxvY2soY2ksIGNjKTsKPiArCj4g
KyAgICAgICAgICAgIGZwcmludGYoZiwgIn1cbiIpOwo+ICsgICAgICAgICAgICBicmVhazsKPiAr
ICAgICAgICB9Cj4gKyAgICB9Cj4gK30KPiArICAgIGZwcmludGYoZiwgIntcbiIpOwo+ICsgICAg
ewo+ICsgICAgICAgIE1BWUJFX1VOVVNFRChpbnQgcGNfbW92ZWRfcCkgPSBGQUxTRTsKPiArICAg
ICAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSA9IChDQUxMX0lORk8pb3BlcmFuZHNbMF07
Cj4gKyAgICAgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpID0gKENBTExfQ0FDSEUpb3Bl
cmFuZHNbMV07Cj4gKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgewo+ICsgICAg
ICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVuc2lnbmVkIGludCkgc3RhY2tf
c2l6ZSA9ICV1O1xuIiwgYi0+c3RhY2tfc2l6ZSk7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGZw
cmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSkgY2M7XG4iKTsKPiArICAgICAg
ICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTykgY2k7XG4iKTsKPiArICAg
ICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSB2YWw7XG4iKTsKPiArCj4g
KyAgICAgICAgZnByaW50ZihmLCAiICAgIGNpID0gKENBTExfSU5GTykweCUiUFJJeFZBTFVFIjsi
LCBvcGVyYW5kc1swXSk7Cj4gKyAgICAgICAgY29tbWVudF9pZChmLCAoKENBTExfSU5GTylvcGVy
YW5kc1swXSktPm1pZCk7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsKPiArICAgICAgICBm
cHJpbnRmKGYsICIgICAgY2MgPSAoQ0FMTF9DQUNIRSkweCUiUFJJeFZBTFVFIjsiLCBvcGVyYW5k
c1sxXSk7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsKPiArICAgICAgICBpZiAoYm9keS0+
Y2F0Y2hfZXhjZXB0X3AgfHwgVFJVRSkgewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAg
cmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsgLyog
QUREX1BDKElOU05fQVRUUih3aWR0aCkpOyAqLwo+ICsgICAgICAgICAgICBwY19tb3ZlZF9wID0g
VFJVRTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkg
ewo+ICsgICAgICAgICAgICB7Cj4gKyAgICAgICAgICAgICAgICByYl9zbnVtX3QgaSwgcHVzaF9z
aXplOwo+ICsgICAgICAgICAgICAgICAgcHVzaF9zaXplID0gLWF0dHJfc3BfaW5jX29wdF9zZW5k
X3dpdGhvdXRfYmxvY2soY2ksIGNjKSArIDEgLSAwOwo+ICsgICAgICAgICAgICAgICAgZnByaW50
ZihmLCAiICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlbGQgKyAxO1xu
IiwgcHVzaF9zaXplKTsgLyogUE9QTihJTlNOX0FUVFIocG9wbikpOyAqLwo+ICsgICAgICAgICAg
ICAgICAgZm9yIChpID0gMDsgaSA8IHB1c2hfc2l6ZTsgaSsrKSB7Cj4gKyAgICAgICAgICAgICAg
ICAgICAgZnByaW50ZihmLCAiICAgICoocmVnX2NmcC0+c3AgKyAlbGQpID0gc3RhY2tbJWxkXTtc
biIsIGkgLSBwdXNoX3NpemUsIChyYl9zbnVtX3QpYi0+c3RhY2tfc2l6ZSAtIHB1c2hfc2l6ZSAr
IGkpOwo+ICsgICAgICAgICAgICAgICAgfQo+ICsgICAgICAgICAgICB9Cj4gKyAgICAgICAgfQo+
ICsgICAgICAgIGVsc2Ugewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+
c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEgLSAw
KTsgLyogUE9QTihJTlNOX0FUVFIocG9wbikpOyAqLwo+ICsgICAgICAgIH0KPiArICAgICAgICBm
cHJpbnRmKGYsICIgICAge1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICBzdHJ1
Y3QgcmJfY2FsbGluZ19pbmZvIGNhbGxpbmc7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIg
ICAgICAgIGNhbGxpbmcuYmxvY2tfaGFuZGxlciA9IFZNX0JMT0NLX0hBTkRMRVJfTk9ORTtcbiIp
Owo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgdm1fc2VhcmNoX21ldGhvZChjaSwgY2Ms
IGNhbGxpbmcucmVjdiA9IFRPUE4oY2FsbGluZy5hcmdjID0gY2ktPm9yaWdfYXJnYykpO1xuIik7
Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICBDQUxMX01FVEhPRCgmY2FsbGluZywgY2ks
IGNjKTtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICB9XG4iKTsKPiArICAgICAgICBm
cHJpbnRmKGYsICIgICAgc3RhY2tbJWRdID0gdmFsO1xuIiwgYi0+c3RhY2tfc2l6ZSArIChpbnQp
YXR0cl9zcF9pbmNfb3B0X3NlbmRfd2l0aG91dF9ibG9jayhjaSwgY2MpIC0gMSk7Cj4gKyAgICAg
ICAgZnByaW50ZihmLCAiICAgIGlmIChVTkxJS0VMWShydWJ5X3ZtX2V2ZW50X2VuYWJsZWRfZ2xv
YmFsX2ZsYWdzICYgSVNFUV9UUkFDRV9FVkVOVFMpKSB7XG4iKTsKPiArICAgICAgICBmcHJpbnRm
KGYsICIgICAgICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIs
IGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5jX29wdF9zZW5kX3dpdGhvdXRfYmxvY2so
Y2ksIGNjKSArIDEpOwo+ICsgICAgICAgIGlmICghcGNfbW92ZWRfcCkgewo+ICsgICAgICAgICAg
ICBmcHJpbnRmKGYsICIgICAgICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsg
JWQ7XG4iLCBuZXh0X3Bvcyk7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGZwcmludGYoZiwgIiAg
ICAgICAgZ290byBjYW5jZWw7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgfVxuIik7
Cj4gKyAgICAgICAgYi0+c3RhY2tfc2l6ZSArPSBhdHRyX3NwX2luY19vcHRfc2VuZF93aXRob3V0
X2Jsb2NrKGNpLCBjYyk7Cj4gKyAgICB9Cj4gKyAgICBmcHJpbnRmKGYsICJ9XG4iKTsKPiArICAg
IGJyZWFrOwo+ICsgIGNhc2UgQklOKG9wdF9zdHJfZnJlZXplKToKPiArICAgIGZwcmludGYoZiwg
IntcbiIpOwo+ICsgICAgewo+ICsgICAgICAgIE1BWUJFX1VOVVNFRChpbnQgcGNfbW92ZWRfcCkg
PSBGQUxTRTsKPiArICAgICAgICBNQVlCRV9VTlVTRUQoVkFMVUUgc3RyKSA9IChWQUxVRSlvcGVy
YW5kc1swXTsKPiArICAgICAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSA9IChDQUxMX0lO
Rk8pb3BlcmFuZHNbMV07Cj4gKyAgICAgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpID0g
KENBTExfQ0FDSEUpb3BlcmFuZHNbMl07Cj4gKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3Rh
Y2tfcCkgewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVuc2ln
bmVkIGludCkgc3RhY2tfc2l6ZSA9ICV1O1xuIiwgYi0+c3RhY2tfc2l6ZSk7Cj4gKyAgICAgICAg
fQo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSkgY2M7
XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTykg
Y2k7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSBz
dHIsIHZhbDtcbiIpOwo+ICsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgc3RyID0gKFZBTFVF
KTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRzWzBdKTsKPiArICAgICAgICBpZiAoU1lNQk9MX1Ao
KFZBTFVFKW9wZXJhbmRzWzBdKSkgY29tbWVudF9pZChmLCBTWU0ySUQoKFZBTFVFKW9wZXJhbmRz
WzBdKSk7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYs
ICIgICAgY2kgPSAoQ0FMTF9JTkZPKTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRzWzFdKTsKPiAr
ICAgICAgICBjb21tZW50X2lkKGYsICgoQ0FMTF9JTkZPKW9wZXJhbmRzWzFdKS0+bWlkKTsKPiAr
ICAgICAgICBmcHJpbnRmKGYsICJcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBjYyA9
IChDQUxMX0NBQ0hFKTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRzWzJdKTsKPiArICAgICAgICBm
cHJpbnRmKGYsICJcbiIpOwo+ICsgICAgICAgIGlmIChib2R5LT5jYXRjaF9leGNlcHRfcCB8fCBG
QUxTRSkgewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+cGMgPSBvcmln
aW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsgLyogQUREX1BDKElOU05fQVRUUih3
aWR0aCkpOyAqLwo+ICsgICAgICAgICAgICBwY19tb3ZlZF9wID0gVFJVRTsKPiArICAgICAgICB9
Cj4gKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgewo+ICsgICAgICAgIH0KPiAr
ICAgICAgICBlbHNlIHsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnNw
ID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAxKTsKPiAr
ICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIHtcbiIpOwo+ICsgICAgICAgIGZw
cmludGYoZiwgIiAgICAgICAgdmFsID0gdm1fb3B0X3N0cl9mcmVlemUoc3RyLCBCT1BfRlJFRVpF
LCBpZEZyZWV6ZSk7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICJcbiIpOwo+ICsgICAgICAg
IGZwcmludGYoZiwgIiAgICAgICAgaWYgKHZhbCA9PSBRdW5kZWYpIHtcbiIpOwo+ICsgICAgICAg
IGZwcmludGYoZiwgIiAgICAgICAgICAgIFBVU0gocmJfc3RyX3Jlc3VycmVjdChzdHIpKTtcbiIp
Owo+ICsgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKPiArICAgICAgICAgICAg
ZnByaW50ZihmLCAiICAgICAgICAgICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5i
cCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEpOwo+ICsgICAgICAgIH0KPiArICAgICAgICBm
cHJpbnRmKGYsICIgICAgICAgICAgICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSAr
ICVkO1xuIiwgcG9zKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgICAgICBnb3RvIGNh
bmNlbDtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgfVxuIik7Cj4gKyAgICAg
ICAgZnByaW50ZihmLCAiICAgIH1cbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBzdGFj
a1slZF0gPSB2YWw7XG4iLCBiLT5zdGFja19zaXplICsgKGludClhdHRyX3NwX2luY19vcHRfc3Ry
X2ZyZWV6ZShzdHIsIGNpLCBjYykgLSAxKTsKPiArICAgICAgICBiLT5zdGFja19zaXplICs9IGF0
dHJfc3BfaW5jX29wdF9zdHJfZnJlZXplKHN0ciwgY2ksIGNjKTsKPiArICAgIH0KPiArICAgIGZw
cmludGYoZiwgIn1cbiIpOwo+ICsgICAgYnJlYWs7Cj4gKyAgY2FzZSBCSU4ob3B0X3N0cl91bWlu
dXMpOgo+ICsgICAgZnByaW50ZihmLCAie1xuIik7Cj4gKyAgICB7Cj4gKyAgICAgICAgTUFZQkVf
VU5VU0VEKGludCBwY19tb3ZlZF9wKSA9IEZBTFNFOwo+ICsgICAgICAgIE1BWUJFX1VOVVNFRChW
QUxVRSBzdHIpID0gKFZBTFVFKW9wZXJhbmRzWzBdOwo+ICsgICAgICAgIE1BWUJFX1VOVVNFRChD
QUxMX0lORk8gY2kpID0gKENBTExfSU5GTylvcGVyYW5kc1sxXTsKPiArICAgICAgICBNQVlCRV9V
TlVTRUQoQ0FMTF9DQUNIRSBjYykgPSAoQ0FMTF9DQUNIRSlvcGVyYW5kc1syXTsKPiArICAgICAg
ICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwg
IiAgICBNQVlCRV9VTlVTRUQodW5zaWduZWQgaW50KSBzdGFja19zaXplID0gJXU7XG4iLCBiLT5z
dGFja19zaXplKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJF
X1VOVVNFRChDQUxMX0NBQ0hFKSBjYztcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBN
QVlCRV9VTlVTRUQoQ0FMTF9JTkZPKSBjaTtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAg
ICBNQVlCRV9VTlVTRUQoVkFMVUUpIHN0ciwgdmFsO1xuIik7Cj4gKwo+ICsgICAgICAgIGZwcmlu
dGYoZiwgIiAgICBzdHIgPSAoVkFMVUUpMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNbMF0pOwo+
ICsgICAgICAgIGlmIChTWU1CT0xfUCgoVkFMVUUpb3BlcmFuZHNbMF0pKSBjb21tZW50X2lkKGYs
IFNZTTJJRCgoVkFMVUUpb3BlcmFuZHNbMF0pKTsKPiArICAgICAgICBmcHJpbnRmKGYsICJcbiIp
Owo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBjaSA9IChDQUxMX0lORk8pMHglIlBSSXhWQUxV
RSI7Iiwgb3BlcmFuZHNbMV0pOwo+ICsgICAgICAgIGNvbW1lbnRfaWQoZiwgKChDQUxMX0lORk8p
b3BlcmFuZHNbMV0pLT5taWQpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIlxuIik7Cj4gKyAgICAg
ICAgZnByaW50ZihmLCAiICAgIGNjID0gKENBTExfQ0FDSEUpMHglIlBSSXhWQUxVRSI7Iiwgb3Bl
cmFuZHNbMl0pOwo+ICsgICAgICAgIGZwcmludGYoZiwgIlxuIik7Cj4gKyAgICAgICAgaWYgKGJv
ZHktPmNhdGNoX2V4Y2VwdF9wIHx8IEZBTFNFKSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwg
IiAgICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3Mp
OyAvKiBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7ICovCj4gKyAgICAgICAgICAgIHBjX21vdmVk
X3AgPSBUUlVFOwo+ICsgICAgICAgIH0KPiArICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFj
a19wKSB7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGVsc2Ugewo+ICsgICAgICAgICAgICBmcHJp
bnRmKGYsICIgICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwg
Yi0+c3RhY2tfc2l6ZSArIDEpOwo+ICsgICAgICAgIH0KPiArICAgICAgICBmcHJpbnRmKGYsICIg
ICAge1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICB2YWwgPSB2bV9vcHRfc3Ry
X2ZyZWV6ZShzdHIsIEJPUF9VTUlOVVMsIGlkVU1pbnVzKTtcbiIpOwo+ICsgICAgICAgIGZwcmlu
dGYoZiwgIlxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICBpZiAodmFsID09IFF1
bmRlZikge1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICAgICAgUFVTSChyYl9z
dHJfcmVzdXJyZWN0KHN0cikpO1xuIik7Cj4gKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3Rh
Y2tfcCkgewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgICAgICByZWdfY2ZwLT5z
cCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgMSk7Cj4g
KyAgICAgICAgfQo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgIHJlZ19jZnAtPnBj
ID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBwb3MpOwo+ICsgICAgICAgIGZwcmludGYo
ZiwgIiAgICAgICAgICAgIGdvdG8gY2FuY2VsO1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAi
ICAgICAgICB9XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgfVxuIik7Cj4gKyAgICAg
ICAgZnByaW50ZihmLCAiICAgIHN0YWNrWyVkXSA9IHZhbDtcbiIsIGItPnN0YWNrX3NpemUgKyAo
aW50KWF0dHJfc3BfaW5jX29wdF9zdHJfdW1pbnVzKHN0ciwgY2ksIGNjKSAtIDEpOwo+ICsgICAg
ICAgIGItPnN0YWNrX3NpemUgKz0gYXR0cl9zcF9pbmNfb3B0X3N0cl91bWludXMoc3RyLCBjaSwg
Y2MpOwo+ICsgICAgfQo+ICsgICAgZnByaW50ZihmLCAifVxuIik7Cj4gKyAgICBicmVhazsKPiAr
ICBjYXNlIEJJTihvcHRfbmV3YXJyYXlfbWF4KToKPiArICAgIGZwcmludGYoZiwgIntcbiIpOwo+
ICsgICAgewo+ICsgICAgICAgIE1BWUJFX1VOVVNFRChpbnQgcGNfbW92ZWRfcCkgPSBGQUxTRTsK
PiArICAgICAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QgbnVtKSA9IChyYl9udW1fdClvcGVyYW5k
c1swXTsKPiArICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cj4gKyAgICAgICAg
ICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQodW5zaWduZWQgaW50KSBzdGFja19zaXpl
ID0gJXU7XG4iLCBiLT5zdGFja19zaXplKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50
ZihmLCAiICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgdmFsO1xuIik7Cj4gKyAgICAgICAgZnByaW50
ZihmLCAiICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCkgbnVtO1xuIik7Cj4gKwo+ICsgICAgICAg
IGZwcmludGYoZiwgIiAgICBudW0gPSAocmJfbnVtX3QpMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFu
ZHNbMF0pOwo+ICsgICAgICAgIGZwcmludGYoZiwgIlxuIik7Cj4gKyAgICAgICAgaWYgKGJvZHkt
PmNhdGNoX2V4Y2VwdF9wIHx8IFRSVUUpIHsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAg
IHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBuZXh0X3Bvcyk7IC8q
IEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsgKi8KPiArICAgICAgICAgICAgcGNfbW92ZWRfcCA9
IFRSVUU7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3Ap
IHsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZWxzZSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYo
ZiwgIiAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5z
dGFja19zaXplICsgMSk7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICB7
XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHZhbCA9IHZtX29wdF9uZXdhcnJh
eV9tYXgobnVtLCAlcyk7XG4iLAo+ICsgICAgICAgICAgICAgICAgKHN0YXR1cy0+bG9jYWxfc3Rh
Y2tfcCA/ICJzdGFjayArIChzdGFja19zaXplIC0gKG51bSkpIiA6ICJTVEFDS19BRERSX0ZST01f
VE9QKG51bSkiKSk7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIpOwo+ICsgICAgICAg
IGZwcmludGYoZiwgIiAgICBzdGFja1slZF0gPSB2YWw7XG4iLCBiLT5zdGFja19zaXplICsgKGlu
dClhdHRyX3NwX2luY19vcHRfbmV3YXJyYXlfbWF4KG51bSkgLSAxKTsKPiArICAgICAgICBmcHJp
bnRmKGYsICIgICAgaWYgKFVOTElLRUxZKHJ1Ynlfdm1fZXZlbnRfZW5hYmxlZF9nbG9iYWxfZmxh
Z3MgJiBJU0VRX1RSQUNFX0VWRU5UUykpIHtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAg
ICAgICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3Rh
Y2tfc2l6ZSArIChpbnQpYXR0cl9zcF9pbmNfb3B0X25ld2FycmF5X21heChudW0pICsgMSk7Cj4g
KyAgICAgICAgaWYgKCFwY19tb3ZlZF9wKSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAg
ICAgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9z
KTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICBnb3RvIGNhbmNl
bDtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICB9XG4iKTsKPiArICAgICAgICBiLT5z
dGFja19zaXplICs9IGF0dHJfc3BfaW5jX29wdF9uZXdhcnJheV9tYXgobnVtKTsKPiArICAgIH0K
PiArICAgIGZwcmludGYoZiwgIn1cbiIpOwo+ICsgICAgYnJlYWs7Cj4gKyAgY2FzZSBCSU4ob3B0
X25ld2FycmF5X21pbik6Cj4gKyAgICBmcHJpbnRmKGYsICJ7XG4iKTsKPiArICAgIHsKPiArICAg
ICAgICBNQVlCRV9VTlVTRUQoaW50IHBjX21vdmVkX3ApID0gRkFMU0U7Cj4gKyAgICAgICAgTUFZ
QkVfVU5VU0VEKHJiX251bV90IG51bSkgPSAocmJfbnVtX3Qpb3BlcmFuZHNbMF07Cj4gKyAgICAg
ICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYs
ICIgICAgTUFZQkVfVU5VU0VEKHVuc2lnbmVkIGludCkgc3RhY2tfc2l6ZSA9ICV1O1xuIiwgYi0+
c3RhY2tfc2l6ZSk7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlC
RV9VTlVTRUQoVkFMVUUpIHZhbDtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlC
RV9VTlVTRUQocmJfbnVtX3QpIG51bTtcbiIpOwo+ICsKPiArICAgICAgICBmcHJpbnRmKGYsICIg
ICAgbnVtID0gKHJiX251bV90KTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRzWzBdKTsKPiArICAg
ICAgICBmcHJpbnRmKGYsICJcbiIpOwo+ICsgICAgICAgIGlmIChib2R5LT5jYXRjaF9leGNlcHRf
cCB8fCBUUlVFKSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5wYyA9
IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3MpOyAvKiBBRERfUEMoSU5TTl9B
VFRSKHdpZHRoKSk7ICovCj4gKyAgICAgICAgICAgIHBjX21vdmVkX3AgPSBUUlVFOwo+ICsgICAg
ICAgIH0KPiArICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cj4gKyAgICAgICAg
fQo+ICsgICAgICAgIGVsc2Ugewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2Nm
cC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEp
Owo+ICsgICAgICAgIH0KPiArICAgICAgICBmcHJpbnRmKGYsICIgICAge1xuIik7Cj4gKyAgICAg
ICAgZnByaW50ZihmLCAiICAgICAgICB2YWwgPSB2bV9vcHRfbmV3YXJyYXlfbWluKG51bSwgJXMp
O1xuIiwKPiArICAgICAgICAgICAgICAgIChzdGF0dXMtPmxvY2FsX3N0YWNrX3AgPyAic3RhY2sg
KyAoc3RhY2tfc2l6ZSAtIChudW0pKSIgOiAiU1RBQ0tfQUREUl9GUk9NX1RPUChudW0pIikpOwo+
ICsgICAgICAgIGZwcmludGYoZiwgIiAgICB9XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIg
ICAgc3RhY2tbJWRdID0gdmFsO1xuIiwgYi0+c3RhY2tfc2l6ZSArIChpbnQpYXR0cl9zcF9pbmNf
b3B0X25ld2FycmF5X21pbihudW0pIC0gMSk7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIGlm
IChVTkxJS0VMWShydWJ5X3ZtX2V2ZW50X2VuYWJsZWRfZ2xvYmFsX2ZsYWdzICYgSVNFUV9UUkFD
RV9FVkVOVFMpKSB7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHJlZ19jZnAt
PnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAoaW50
KWF0dHJfc3BfaW5jX29wdF9uZXdhcnJheV9taW4obnVtKSArIDEpOwo+ICsgICAgICAgIGlmICgh
cGNfbW92ZWRfcCkgewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHJlZ19jZnAt
PnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBuZXh0X3Bvcyk7Cj4gKyAgICAgICAg
fQo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgZ290byBjYW5jZWw7XG4iKTsKPiArICAg
ICAgICBmcHJpbnRmKGYsICIgICAgfVxuIik7Cj4gKyAgICAgICAgYi0+c3RhY2tfc2l6ZSArPSBh
dHRyX3NwX2luY19vcHRfbmV3YXJyYXlfbWluKG51bSk7Cj4gKyAgICB9Cj4gKyAgICBmcHJpbnRm
KGYsICJ9XG4iKTsKPiArICAgIGJyZWFrOwo+ICsgIGNhc2UgQklOKGludm9rZXN1cGVyKToKPiAr
ICAgIGZwcmludGYoZiwgIntcbiIpOwo+ICsgICAgewo+ICsgICAgICAgIE1BWUJFX1VOVVNFRChp
bnQgcGNfbW92ZWRfcCkgPSBGQUxTRTsKPiArICAgICAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZP
IGNpKSA9IChDQUxMX0lORk8pb3BlcmFuZHNbMF07Cj4gKyAgICAgICAgTUFZQkVfVU5VU0VEKENB
TExfQ0FDSEUgY2MpID0gKENBTExfQ0FDSEUpb3BlcmFuZHNbMV07Cj4gKyAgICAgICAgTUFZQkVf
VU5VU0VEKElTRVEgYmxvY2tpc2VxKSA9IChJU0VRKW9wZXJhbmRzWzJdOwo+ICsgICAgICAgIGlm
IChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAg
IE1BWUJFX1VOVVNFRCh1bnNpZ25lZCBpbnQpIHN0YWNrX3NpemUgPSAldTtcbiIsIGItPnN0YWNr
X3NpemUpOwo+ICsgICAgICAgIH0KPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5V
U0VEKENBTExfQ0FDSEUpIGNjO1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJF
X1VOVVNFRChDQUxMX0lORk8pIGNpO1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1B
WUJFX1VOVVNFRChJU0VRKSBibG9ja2lzZXE7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIg
ICAgTUFZQkVfVU5VU0VEKFZBTFVFKSB2YWw7XG4iKTsKPiArCj4gKyAgICAgICAgZnByaW50Zihm
LCAiICAgIGNpID0gKENBTExfSU5GTykweCUiUFJJeFZBTFVFIjsiLCBvcGVyYW5kc1swXSk7Cj4g
KyAgICAgICAgY29tbWVudF9pZChmLCAoKENBTExfSU5GTylvcGVyYW5kc1swXSktPm1pZCk7Cj4g
KyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgY2Mg
PSAoQ0FMTF9DQUNIRSkweCUiUFJJeFZBTFVFIjsiLCBvcGVyYW5kc1sxXSk7Cj4gKyAgICAgICAg
ZnByaW50ZihmLCAiXG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgYmxvY2tpc2VxID0g
KElTRVEpMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNbMl0pOwo+ICsgICAgICAgIGZwcmludGYo
ZiwgIlxuIik7Cj4gKyAgICAgICAgaWYgKGJvZHktPmNhdGNoX2V4Y2VwdF9wIHx8IFRSVUUpIHsK
PiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9k
eV9pc2VxICsgJWQ7XG4iLCBuZXh0X3Bvcyk7IC8qIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsg
Ki8KPiArICAgICAgICAgICAgcGNfbW92ZWRfcCA9IFRSVUU7Cj4gKyAgICAgICAgfQo+ICsgICAg
ICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKPiArICAgICAgICAgICAgewo+ICsgICAg
ICAgICAgICAgICAgcmJfc251bV90IGksIHB1c2hfc2l6ZTsKPiArICAgICAgICAgICAgICAgIHB1
c2hfc2l6ZSA9IC1hdHRyX3NwX2luY19pbnZva2VzdXBlcihjaSwgY2MsIGJsb2NraXNlcSkgKyAx
IC0gMDsKPiArICAgICAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5zcCA9IChW
QUxVRSAqKXJlZ19jZnAtPmJwICsgJWxkICsgMTtcbiIsIHB1c2hfc2l6ZSk7IC8qIFBPUE4oSU5T
Tl9BVFRSKHBvcG4pKTsgKi8KPiArICAgICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBwdXNo
X3NpemU7IGkrKykgewo+ICsgICAgICAgICAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICAqKHJl
Z19jZnAtPnNwICsgJWxkKSA9IHN0YWNrWyVsZF07XG4iLCBpIC0gcHVzaF9zaXplLCAocmJfc251
bV90KWItPnN0YWNrX3NpemUgLSBwdXNoX3NpemUgKyBpKTsKPiArICAgICAgICAgICAgICAgIH0K
PiArICAgICAgICAgICAgfQo+ICsgICAgICAgIH0KPiArICAgICAgICBlbHNlIHsKPiArICAgICAg
ICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAg
KyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAxIC0gMCk7IC8qIFBPUE4oSU5TTl9BVFRSKHBvcG4p
KTsgKi8KPiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIHtcbiIpOwo+ICsg
ICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgc3RydWN0IHJiX2NhbGxpbmdfaW5mbyBjYWxsaW5n
O1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYs
ICIgICAgICAgIGNhbGxpbmcuYmxvY2tfaGFuZGxlciA9IHZtX2NhbGxlcl9zZXR1cF9hcmdfYmxv
Y2soZWMsIHJlZ19jZnAsIGNpLCBibG9ja2lzZXEsIFRSVUUpO1xuIik7Cj4gKyAgICAgICAgZnBy
aW50ZihmLCAiICAgICAgICBjYWxsaW5nLnJlY3YgPSBUT1BOKGNhbGxpbmcuYXJnYyA9IGNpLT5v
cmlnX2FyZ2MpO1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICB2bV9zZWFyY2hf
c3VwZXJfbWV0aG9kKGVjLCBHRVRfQ0ZQKCksICZjYWxsaW5nLCBjaSwgY2MpO1xuIik7Cj4gKyAg
ICAgICAgZnByaW50ZihmLCAiICAgICAgICBDQUxMX01FVEhPRCgmY2FsbGluZywgY2ksIGNjKTtc
biIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICB9XG4iKTsKPiArICAgICAgICBmcHJpbnRm
KGYsICIgICAgc3RhY2tbJWRdID0gdmFsO1xuIiwgYi0+c3RhY2tfc2l6ZSArIChpbnQpYXR0cl9z
cF9pbmNfaW52b2tlc3VwZXIoY2ksIGNjLCBibG9ja2lzZXEpIC0gMSk7Cj4gKyAgICAgICAgZnBy
aW50ZihmLCAiICAgIGlmIChVTkxJS0VMWShydWJ5X3ZtX2V2ZW50X2VuYWJsZWRfZ2xvYmFsX2Zs
YWdzICYgSVNFUV9UUkFDRV9FVkVOVFMpKSB7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIg
ICAgICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0
YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5jX2ludm9rZXN1cGVyKGNpLCBjYywgYmxvY2tpc2Vx
KSArIDEpOwo+ICsgICAgICAgIGlmICghcGNfbW92ZWRfcCkgewo+ICsgICAgICAgICAgICBmcHJp
bnRmKGYsICIgICAgICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4i
LCBuZXh0X3Bvcyk7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAg
Z290byBjYW5jZWw7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgfVxuIik7Cj4gKyAg
ICAgICAgYi0+c3RhY2tfc2l6ZSArPSBhdHRyX3NwX2luY19pbnZva2VzdXBlcihjaSwgY2MsIGJs
b2NraXNlcSk7Cj4gKyAgICB9Cj4gKyAgICBmcHJpbnRmKGYsICJ9XG4iKTsKPiArICAgIGJyZWFr
Owo+ICsgIGNhc2UgQklOKGludm9rZWJsb2NrKToKPiArICAgIGZwcmludGYoZiwgIntcbiIpOwo+
ICsgICAgewo+ICsgICAgICAgIE1BWUJFX1VOVVNFRChpbnQgcGNfbW92ZWRfcCkgPSBGQUxTRTsK
PiArICAgICAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSA9IChDQUxMX0lORk8pb3BlcmFu
ZHNbMF07Cj4gKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgewo+ICsgICAgICAg
ICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVuc2lnbmVkIGludCkgc3RhY2tfc2l6
ZSA9ICV1O1xuIiwgYi0+c3RhY2tfc2l6ZSk7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGZwcmlu
dGYoZiwgIiAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPKSBjaTtcbiIpOwo+ICsgICAgICAgIGZw
cmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIHZhbDtcbiIpOwo+ICsKPiArICAgICAg
ICBmcHJpbnRmKGYsICIgICAgY2kgPSAoQ0FMTF9JTkZPKTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJh
bmRzWzBdKTsKPiArICAgICAgICBjb21tZW50X2lkKGYsICgoQ0FMTF9JTkZPKW9wZXJhbmRzWzBd
KS0+bWlkKTsKPiArICAgICAgICBmcHJpbnRmKGYsICJcbiIpOwo+ICsgICAgICAgIGlmIChib2R5
LT5jYXRjaF9leGNlcHRfcCB8fCBUUlVFKSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAg
ICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3MpOyAv
KiBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7ICovCj4gKyAgICAgICAgICAgIHBjX21vdmVkX3Ag
PSBUUlVFOwo+ICsgICAgICAgIH0KPiArICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19w
KSB7Cj4gKyAgICAgICAgICAgIHsKPiArICAgICAgICAgICAgICAgIHJiX3NudW1fdCBpLCBwdXNo
X3NpemU7Cj4gKyAgICAgICAgICAgICAgICBwdXNoX3NpemUgPSAtYXR0cl9zcF9pbmNfaW52b2tl
YmxvY2soY2kpICsgMSAtIDA7Cj4gKyAgICAgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVn
X2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVsZCArIDE7XG4iLCBwdXNoX3NpemUp
OyAvKiBQT1BOKElOU05fQVRUUihwb3BuKSk7ICovCj4gKyAgICAgICAgICAgICAgICBmb3IgKGkg
PSAwOyBpIDwgcHVzaF9zaXplOyBpKyspIHsKPiArICAgICAgICAgICAgICAgICAgICBmcHJpbnRm
KGYsICIgICAgKihyZWdfY2ZwLT5zcCArICVsZCkgPSBzdGFja1slbGRdO1xuIiwgaSAtIHB1c2hf
c2l6ZSwgKHJiX3NudW1fdCliLT5zdGFja19zaXplIC0gcHVzaF9zaXplICsgaSk7Cj4gKyAgICAg
ICAgICAgICAgICB9Cj4gKyAgICAgICAgICAgIH0KPiArICAgICAgICB9Cj4gKyAgICAgICAgZWxz
ZSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAq
KXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgMSAtIDApOyAvKiBQT1BOKElO
U05fQVRUUihwb3BuKSk7ICovCj4gKyAgICAgICAgfQo+ICsgICAgICAgIGZwcmludGYoZiwgIiAg
ICB7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHN0cnVjdCByYl9jYWxsaW5n
X2luZm8gY2FsbGluZztcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgVkFMVUUg
YmxvY2tfaGFuZGxlcjtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIlxuIik7Cj4gKyAgICAg
ICAgZnByaW50ZihmLCAiICAgICAgICBjYWxsaW5nLmFyZ2MgPSBjaS0+b3JpZ19hcmdjO1xuIik7
Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICBjYWxsaW5nLmJsb2NrX2hhbmRsZXIgPSBW
TV9CTE9DS19IQU5ETEVSX05PTkU7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAg
IGNhbGxpbmcucmVjdiA9IFF1bmRlZjsgLyogc2hvdWxkIG5vdCBiZSB1c2VkICovXG4iKTsKPiAr
ICAgICAgICBmcHJpbnRmKGYsICJcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAg
YmxvY2tfaGFuZGxlciA9IFZNX0NGX0JMT0NLX0hBTkRMRVIoR0VUX0NGUCgpKTtcbiIpOwo+ICsg
ICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgaWYgKGJsb2NrX2hhbmRsZXIgPT0gVk1fQkxPQ0tf
SEFORExFUl9OT05FKSB7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgICAgICBy
Yl92bV9sb2NhbGp1bXBfZXJyb3IoXCJubyBibG9jayBnaXZlbiAoeWllbGQpXCIsIFFuaWwsIDAp
O1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICB9XG4iKTsKPiArICAgICAgICBm
cHJpbnRmKGYsICJcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgdmFsID0gdm1f
aW52b2tlX2Jsb2NrKGVjLCBHRVRfQ0ZQKCksICZjYWxsaW5nLCBjaSwgYmxvY2tfaGFuZGxlcik7
XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIGlmICh2YWwgPT0gUXVuZGVmKSB7
XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgICAgICBFWEVDX0VDX0NGUCh2YWwp
O1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICB9XG4iKTsKPiArICAgICAgICBm
cHJpbnRmKGYsICIgICAgfVxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIHN0YWNrWyVk
XSA9IHZhbDtcbiIsIGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5jX2ludm9rZWJsb2Nr
KGNpKSAtIDEpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBpZiAoVU5MSUtFTFkocnVieV92
bV9ldmVudF9lbmFibGVkX2dsb2JhbF9mbGFncyAmIElTRVFfVFJBQ0VfRVZFTlRTKSkge1xuIik7
Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJl
Z19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgKGludClhdHRyX3NwX2luY19pbnZv
a2VibG9jayhjaSkgKyAxKTsKPiArICAgICAgICBpZiAoIXBjX21vdmVkX3ApIHsKPiArICAgICAg
ICAgICAgZnByaW50ZihmLCAiICAgICAgICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNl
cSArICVkO1xuIiwgbmV4dF9wb3MpOwo+ICsgICAgICAgIH0KPiArICAgICAgICBmcHJpbnRmKGYs
ICIgICAgICAgIGdvdG8gY2FuY2VsO1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIH1c
biIpOwo+ICsgICAgICAgIGItPnN0YWNrX3NpemUgKz0gYXR0cl9zcF9pbmNfaW52b2tlYmxvY2so
Y2kpOwo+ICsgICAgfQo+ICsgICAgZnByaW50ZihmLCAifVxuIik7Cj4gKyAgICBicmVhazsKPiAr
ICBjYXNlIEJJTihsZWF2ZSk6Cj4gKyAgICBpZiAoYi0+c3RhY2tfc2l6ZSAhPSAxKSB7Cj4gKyAg
ICAgICAgaWYgKG1qaXRfb3B0cy53YXJuaW5ncyB8fCBtaml0X29wdHMudmVyYm9zZSkKPiArICAg
ICAgICAgICAgZnByaW50ZihzdGRlcnIsICJNSklUIHdhcm5pbmc6IFVuZXhwZWN0ZWQgSklUIHN0
YWNrX3NpemUgb24gbGVhdmU6ICVkXG4iLCBiLT5zdGFja19zaXplKTsKPiArICAgICAgICBzdGF0
dXMtPnN1Y2Nlc3MgPSBGQUxTRTsKPiArICAgIH0KPiArICAgIGZwcmludGYoZiwgIntcbiIpOwo+
ICsgICAgewo+ICsgICAgICAgIE1BWUJFX1VOVVNFRChpbnQgcGNfbW92ZWRfcCkgPSBGQUxTRTsK
PiArICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cj4gKyAgICAgICAgICAgIGZw
cmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQodW5zaWduZWQgaW50KSBzdGFja19zaXplID0gJXU7
XG4iLCBiLT5zdGFja19zaXplKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAi
ICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgdmFsO1xuIik7Cj4gKwo+ICsgICAgICAgIGZwcmludGYo
ZiwgIiAgICB2YWwgPSBzdGFja1slZF07XG4iLCBiLT5zdGFja19zaXplIC0gMSk7Cj4gKyAgICAg
ICAgaWYgKGJvZHktPmNhdGNoX2V4Y2VwdF9wIHx8IFRSVUUpIHsKPiArICAgICAgICAgICAgZnBy
aW50ZihmLCAiICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBu
ZXh0X3Bvcyk7IC8qIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsgKi8KPiArICAgICAgICAgICAg
cGNfbW92ZWRfcCA9IFRSVUU7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGlmIChzdGF0dXMtPmxv
Y2FsX3N0YWNrX3ApIHsKPiArICAgICAgICAgICAgewo+ICsgICAgICAgICAgICAgICAgcmJfc251
bV90IGksIHB1c2hfc2l6ZTsKPiArICAgICAgICAgICAgICAgIHB1c2hfc2l6ZSA9IC1hdHRyX3Nw
X2luY19sZWF2ZSgpICsgMSAtIDE7Cj4gKyAgICAgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAg
cmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVsZCArIDE7XG4iLCBwdXNoX3Np
emUpOyAvKiBQT1BOKElOU05fQVRUUihwb3BuKSk7ICovCj4gKyAgICAgICAgICAgICAgICBmb3Ig
KGkgPSAwOyBpIDwgcHVzaF9zaXplOyBpKyspIHsKPiArICAgICAgICAgICAgICAgICAgICBmcHJp
bnRmKGYsICIgICAgKihyZWdfY2ZwLT5zcCArICVsZCkgPSBzdGFja1slbGRdO1xuIiwgaSAtIHB1
c2hfc2l6ZSwgKHJiX3NudW1fdCliLT5zdGFja19zaXplIC0gcHVzaF9zaXplICsgaSk7Cj4gKyAg
ICAgICAgICAgICAgICB9Cj4gKyAgICAgICAgICAgIH0KPiArICAgICAgICB9Cj4gKyAgICAgICAg
ZWxzZSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5zcCA9IChWQUxV
RSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgMSAtIDEpOyAvKiBQT1BO
KElOU05fQVRUUihwb3BuKSk7ICovCj4gKyAgICAgICAgfQo+ICsgICAgICAgIGZwcmludGYoZiwg
IiAgICB7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIGlmIChPUFRfQ0hFQ0tF
RF9SVU4pIHtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgIGNvbnN0IFZB
TFVFICpjb25zdCBicCA9IHZtX2Jhc2VfcHRyKHJlZ19jZnApO1xuIik7Cj4gKyAgICAgICAgZnBy
aW50ZihmLCAiICAgICAgICAgICAgaWYgKHJlZ19jZnAtPnNwICE9IGJwKSB7XG4iKTsKPiArICAg
ICAgICBmcHJpbnRmKGYsICIgICAgICAgICAgICAgICAgdm1fc3RhY2tfY29uc2lzdGVuY3lfZXJy
b3IoZWMsIHJlZ19jZnAsIGJwKTtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAg
ICAgIH1cbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgfVxuIik7Cj4gKyAgICAg
ICAgZnByaW50ZihmLCAiXG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIFJVQllf
Vk1fQ0hFQ0tfSU5UUyhlYyk7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICJcbiIpOwo+ICsg
ICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgaWYgKHZtX3BvcF9mcmFtZShlYywgR0VUX0NGUCgp
LCBHRVRfRVAoKSkpIHtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiNpZiBPUFRfQ0FMTF9U
SFJFQURFRF9DT0RFXG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgICAgICByYl9l
Y190aHJlYWRfcHRyKGVjKS0+cmV0dmFsID0gdmFsO1xuIik7Cj4gKyAgICAgICAgZnByaW50Zihm
LCAiICAgICAgICAgICAgcmV0dXJuIDA7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIjZWxz
ZVxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICAgICAgcmV0dXJuIHZhbDtcbiIp
Owo+ICsgICAgICAgIGZwcmludGYoZiwgIiNlbmRpZlxuIik7Cj4gKyAgICAgICAgZnByaW50Zihm
LCAiICAgICAgICB9XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIGVsc2Uge1xu
Iik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiI2lmIE9QVF9DQUxMX1RIUkVBREVEX0NPREVcbiIp
Owo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgIHJiX2VjX3RocmVhZF9wdHIoZWMp
LT5yZXR2YWwgPSB2YWw7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgICAgICBy
ZXR1cm4gMDtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiNlbHNlXG4iKTsKPiArICAgICAg
ICBmcHJpbnRmKGYsICIgICAgICAgICAgICByZXR1cm4gdmFsO1xuIik7Cj4gKyAgICAgICAgZnBy
aW50ZihmLCAiI2VuZGlmXG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIH1cbiIp
Owo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICB9XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYs
ICIgICAgc3RhY2tbJWRdID0gdmFsO1xuIiwgYi0+c3RhY2tfc2l6ZSArIChpbnQpYXR0cl9zcF9p
bmNfbGVhdmUoKSAtIDEpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBpZiAoVU5MSUtFTFko
cnVieV92bV9ldmVudF9lbmFibGVkX2dsb2JhbF9mbGFncyAmIElTRVFfVFJBQ0VfRVZFTlRTKSkg
e1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICByZWdfY2ZwLT5zcCA9IChWQUxV
RSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgKGludClhdHRyX3NwX2lu
Y19sZWF2ZSgpICsgMSk7Cj4gKyAgICAgICAgaWYgKCFwY19tb3ZlZF9wKSB7Cj4gKyAgICAgICAg
ICAgIGZwcmludGYoZiwgIiAgICAgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEg
KyAlZDtcbiIsIG5leHRfcG9zKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAi
ICAgICAgICBnb3RvIGNhbmNlbDtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICB9XG4i
KTsKPiArICAgICAgICBiLT5zdGFja19zaXplICs9IGF0dHJfc3BfaW5jX2xlYXZlKCk7Cj4gKyAg
ICB9Cj4gKyAgICBmcHJpbnRmKGYsICJ9XG4iKTsKPiArICAgIGItPmZpbmlzaF9wID0gVFJVRTsK
PiArICAgIGJyZWFrOwo+ICsgIGNhc2UgQklOKHRocm93KToKPiArICAgIGZwcmludGYoZiwgIntc
biIpOwo+ICsgICAgewo+ICsgICAgICAgIE1BWUJFX1VOVVNFRChpbnQgcGNfbW92ZWRfcCkgPSBG
QUxTRTsKPiArICAgICAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QgdGhyb3dfc3RhdGUpID0gKHJi
X251bV90KW9wZXJhbmRzWzBdOwo+ICsgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3Ap
IHsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRCh1bnNpZ25lZCBp
bnQpIHN0YWNrX3NpemUgPSAldTtcbiIsIGItPnN0YWNrX3NpemUpOwo+ICsgICAgICAgIH0KPiAr
ICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSB0aHJvd29iaiwgdmFs
O1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCkg
dGhyb3dfc3RhdGU7XG4iKTsKPiArCj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIHRocm93X3N0
YXRlID0gKHJiX251bV90KTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRzWzBdKTsKPiArICAgICAg
ICBmcHJpbnRmKGYsICJcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICB0aHJvd29iaiA9
IHN0YWNrWyVkXTtcbiIsIGItPnN0YWNrX3NpemUgLSAxKTsKPiArICAgICAgICBpZiAoYm9keS0+
Y2F0Y2hfZXhjZXB0X3AgfHwgVFJVRSkgewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAg
cmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsgLyog
QUREX1BDKElOU05fQVRUUih3aWR0aCkpOyAqLwo+ICsgICAgICAgICAgICBwY19tb3ZlZF9wID0g
VFJVRTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkg
ewo+ICsgICAgICAgIH0KPiArICAgICAgICBlbHNlIHsKPiArICAgICAgICAgICAgZnByaW50Zihm
LCAiICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0
YWNrX3NpemUgKyAxKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIHtc
biIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgUlVCWV9WTV9DSEVDS19JTlRTKGVj
KTtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgdmFsID0gdm1fdGhyb3coZWMs
IEdFVF9DRlAoKSwgdGhyb3dfc3RhdGUsIHRocm93b2JqKTtcbiIpOwo+ICsgICAgICAgIGZwcmlu
dGYoZiwgIiAgICAgICAgVEhST1dfRVhDRVBUSU9OKHZhbCk7XG4iKTsKPiArICAgICAgICBmcHJp
bnRmKGYsICIgICAgICAgIC8qIHVucmVhY2hhYmxlICovXG4iKTsKPiArICAgICAgICBmcHJpbnRm
KGYsICIgICAgfVxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIHN0YWNrWyVkXSA9IHZh
bDtcbiIsIGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5jX3Rocm93KHRocm93X3N0YXRl
KSAtIDEpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBpZiAoVU5MSUtFTFkocnVieV92bV9l
dmVudF9lbmFibGVkX2dsb2JhbF9mbGFncyAmIElTRVFfVFJBQ0VfRVZFTlRTKSkge1xuIik7Cj4g
KyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19j
ZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgKGludClhdHRyX3NwX2luY190aHJvdyh0
aHJvd19zdGF0ZSkgKyAxKTsKPiArICAgICAgICBpZiAoIXBjX21vdmVkX3ApIHsKPiArICAgICAg
ICAgICAgZnByaW50ZihmLCAiICAgICAgICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNl
cSArICVkO1xuIiwgbmV4dF9wb3MpOwo+ICsgICAgICAgIH0KPiArICAgICAgICBmcHJpbnRmKGYs
ICIgICAgICAgIGdvdG8gY2FuY2VsO1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIH1c
biIpOwo+ICsgICAgICAgIGItPnN0YWNrX3NpemUgKz0gYXR0cl9zcF9pbmNfdGhyb3codGhyb3df
c3RhdGUpOwo+ICsgICAgfQo+ICsgICAgZnByaW50ZihmLCAifVxuIik7Cj4gKyAgICBiLT5maW5p
c2hfcCA9IFRSVUU7Cj4gKyAgICBicmVhazsKPiArICBjYXNlIEJJTihqdW1wKToKPiArICAgIGZw
cmludGYoZiwgIntcbiIpOwo+ICsgICAgewo+ICsgICAgICAgIE1BWUJFX1VOVVNFRChpbnQgcGNf
bW92ZWRfcCkgPSBGQUxTRTsKPiArICAgICAgICBNQVlCRV9VTlVTRUQoT0ZGU0VUIGRzdCkgPSAo
T0ZGU0VUKW9wZXJhbmRzWzBdOwo+ICsgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3Ap
IHsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRCh1bnNpZ25lZCBp
bnQpIHN0YWNrX3NpemUgPSAldTtcbiIsIGItPnN0YWNrX3NpemUpOwo+ICsgICAgICAgIH0KPiAr
ICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKE9GRlNFVCkgZHN0O1xuIik7Cj4g
Kwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBkc3QgPSAoT0ZGU0VUKTB4JSJQUkl4VkFMVUUi
OyIsIG9wZXJhbmRzWzBdKTsKPiArICAgICAgICBmcHJpbnRmKGYsICJcbiIpOwo+ICsgICAgICAg
IGlmIChib2R5LT5jYXRjaF9leGNlcHRfcCB8fCBUUlVFKSB7Cj4gKyAgICAgICAgICAgIGZwcmlu
dGYoZiwgIiAgICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4
dF9wb3MpOyAvKiBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7ICovCj4gKyAgICAgICAgICAgIHBj
X21vdmVkX3AgPSBUUlVFOwo+ICsgICAgICAgIH0KPiArICAgICAgICBpZiAoc3RhdHVzLT5sb2Nh
bF9zdGFja19wKSB7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGVsc2Ugewo+ICsgICAgICAgICAg
ICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVk
O1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEpOwo+ICsgICAgICAgIH0KPiArICAgICAgICBmcHJpbnRm
KGYsICIgICAge1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICBSVUJZX1ZNX0NI
RUNLX0lOVFMoZWMpO1xuIik7Cj4gKyAgICAgICAgbmV4dF9wb3MgPSBwb3MgKyBpbnNuX2xlbihp
bnNuKSArICh1bnNpZ25lZCBpbnQpZHN0Owo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAg
ICAgIGdvdG8gbGFiZWxfJWQ7XG4iLCBuZXh0X3Bvcyk7Cj4gKyAgICAgICAgZnByaW50ZihmLCAi
ICAgIH1cbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBpZiAoVU5MSUtFTFkocnVieV92
bV9ldmVudF9lbmFibGVkX2dsb2JhbF9mbGFncyAmIElTRVFfVFJBQ0VfRVZFTlRTKSkge1xuIik7
Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJl
Z19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgKGludClhdHRyX3NwX2luY19qdW1w
KGRzdCkgKyAxKTsKPiArICAgICAgICBpZiAoIXBjX21vdmVkX3ApIHsKPiArICAgICAgICAgICAg
ZnByaW50ZihmLCAiICAgICAgICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVk
O1xuIiwgbmV4dF9wb3MpOwo+ICsgICAgICAgIH0KPiArICAgICAgICBmcHJpbnRmKGYsICIgICAg
ICAgIGdvdG8gY2FuY2VsO1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIpOwo+
ICsgICAgICAgIGItPnN0YWNrX3NpemUgKz0gYXR0cl9zcF9pbmNfanVtcChkc3QpOwo+ICsgICAg
fQo+ICsgICAgZnByaW50ZihmLCAifVxuIik7Cj4gKyAgICBicmVhazsKPiArICBjYXNlIEJJTihi
cmFuY2hpZik6Cj4gKyAgICBmcHJpbnRmKGYsICJ7XG4iKTsKPiArICAgIHsKPiArICAgICAgICBN
QVlCRV9VTlVTRUQoaW50IHBjX21vdmVkX3ApID0gRkFMU0U7Cj4gKyAgICAgICAgTUFZQkVfVU5V
U0VEKE9GRlNFVCBkc3QpID0gKE9GRlNFVClvcGVyYW5kc1swXTsKPiArICAgICAgICBpZiAoc3Rh
dHVzLT5sb2NhbF9zdGFja19wKSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlC
RV9VTlVTRUQodW5zaWduZWQgaW50KSBzdGFja19zaXplID0gJXU7XG4iLCBiLT5zdGFja19zaXpl
KTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChP
RkZTRVQpIGRzdDtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQo
VkFMVUUpIHZhbDtcbiIpOwo+ICsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgZHN0ID0gKE9G
RlNFVCkweCUiUFJJeFZBTFVFIjsiLCBvcGVyYW5kc1swXSk7Cj4gKyAgICAgICAgZnByaW50Zihm
LCAiXG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgdmFsID0gc3RhY2tbJWRdO1xuIiwg
Yi0+c3RhY2tfc2l6ZSAtIDEpOwo+ICsgICAgICAgIGlmIChib2R5LT5jYXRjaF9leGNlcHRfcCB8
fCBUUlVFKSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5wYyA9IG9y
aWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3MpOyAvKiBBRERfUEMoSU5TTl9BVFRS
KHdpZHRoKSk7ICovCj4gKyAgICAgICAgICAgIHBjX21vdmVkX3AgPSBUUlVFOwo+ICsgICAgICAg
IH0KPiArICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cj4gKyAgICAgICAgfQo+
ICsgICAgICAgIGVsc2Ugewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+
c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEpOwo+
ICsgICAgICAgIH0KPiArICAgICAgICBmcHJpbnRmKGYsICIgICAge1xuIik7Cj4gKyAgICAgICAg
ZnByaW50ZihmLCAiICAgICAgICBpZiAoUlRFU1QodmFsKSkge1xuIik7Cj4gKyAgICAgICAgZnBy
aW50ZihmLCAiICAgICAgICAgICAgUlVCWV9WTV9DSEVDS19JTlRTKGVjKTtcbiIpOwo+ICsgICAg
ICAgIG5leHRfcG9zID0gcG9zICsgaW5zbl9sZW4oaW5zbikgKyAodW5zaWduZWQgaW50KWRzdDsK
PiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgICAgICBnb3RvIGxhYmVsXyVkO1xuIiwgbmV4
dF9wb3MpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgfVxuIik7Cj4gKyAgICAgICAg
ZnByaW50ZihmLCAiICAgIH1cbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBpZiAoVU5M
SUtFTFkocnVieV92bV9ldmVudF9lbmFibGVkX2dsb2JhbF9mbGFncyAmIElTRVFfVFJBQ0VfRVZF
TlRTKSkge1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICByZWdfY2ZwLT5zcCA9
IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgKGludClhdHRy
X3NwX2luY19icmFuY2hpZihkc3QpICsgMSk7Cj4gKyAgICAgICAgaWYgKCFwY19tb3ZlZF9wKSB7
Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5h
bF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAg
ZnByaW50ZihmLCAiICAgICAgICBnb3RvIGNhbmNlbDtcbiIpOwo+ICsgICAgICAgIGZwcmludGYo
ZiwgIiAgICB9XG4iKTsKPiArICAgICAgICBiLT5zdGFja19zaXplICs9IGF0dHJfc3BfaW5jX2Jy
YW5jaGlmKGRzdCk7Cj4gKyAgICB9Cj4gKyAgICBmcHJpbnRmKGYsICJ9XG4iKTsKPiArICAgIGNv
bXBpbGVfaW5zbnMoZiwgYm9keSwgYi0+c3RhY2tfc2l6ZSwgcG9zICsgaW5zbl9sZW4oaW5zbiks
IHN0YXR1cyk7Cj4gKyAgICBicmVhazsKPiArICBjYXNlIEJJTihicmFuY2h1bmxlc3MpOgo+ICsg
ICAgZnByaW50ZihmLCAie1xuIik7Cj4gKyAgICB7Cj4gKyAgICAgICAgTUFZQkVfVU5VU0VEKGlu
dCBwY19tb3ZlZF9wKSA9IEZBTFNFOwo+ICsgICAgICAgIE1BWUJFX1VOVVNFRChPRkZTRVQgZHN0
KSA9IChPRkZTRVQpb3BlcmFuZHNbMF07Cj4gKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3Rh
Y2tfcCkgewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVuc2ln
bmVkIGludCkgc3RhY2tfc2l6ZSA9ICV1O1xuIiwgYi0+c3RhY2tfc2l6ZSk7Cj4gKyAgICAgICAg
fQo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQoT0ZGU0VUKSBkc3Q7XG4i
KTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSB2YWw7XG4i
KTsKPiArCj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIGRzdCA9IChPRkZTRVQpMHglIlBSSXhW
QUxVRSI7Iiwgb3BlcmFuZHNbMF0pOwo+ICsgICAgICAgIGZwcmludGYoZiwgIlxuIik7Cj4gKyAg
ICAgICAgZnByaW50ZihmLCAiICAgIHZhbCA9IHN0YWNrWyVkXTtcbiIsIGItPnN0YWNrX3NpemUg
LSAxKTsKPiArICAgICAgICBpZiAoYm9keS0+Y2F0Y2hfZXhjZXB0X3AgfHwgVFJVRSkgewo+ICsg
ICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lz
ZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsgLyogQUREX1BDKElOU05fQVRUUih3aWR0aCkpOyAqLwo+
ICsgICAgICAgICAgICBwY19tb3ZlZF9wID0gVFJVRTsKPiArICAgICAgICB9Cj4gKyAgICAgICAg
aWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgewo+ICsgICAgICAgIH0KPiArICAgICAgICBlbHNl
IHsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICop
cmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAxKTsKPiArICAgICAgICB9Cj4g
KyAgICAgICAgZnByaW50ZihmLCAiICAgIHtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAg
ICAgICAgaWYgKCFSVEVTVCh2YWwpKSB7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAg
ICAgICAgICBSVUJZX1ZNX0NIRUNLX0lOVFMoZWMpO1xuIik7Cj4gKyAgICAgICAgbmV4dF9wb3Mg
PSBwb3MgKyBpbnNuX2xlbihpbnNuKSArICh1bnNpZ25lZCBpbnQpZHN0Owo+ICsgICAgICAgIGZw
cmludGYoZiwgIiAgICAgICAgICAgIGdvdG8gbGFiZWxfJWQ7XG4iLCBuZXh0X3Bvcyk7Cj4gKyAg
ICAgICAgZnByaW50ZihmLCAiICAgICAgICB9XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIg
ICAgfVxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIGlmIChVTkxJS0VMWShydWJ5X3Zt
X2V2ZW50X2VuYWJsZWRfZ2xvYmFsX2ZsYWdzICYgSVNFUV9UUkFDRV9FVkVOVFMpKSB7XG4iKTsK
PiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVn
X2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5jX2JyYW5j
aHVubGVzcyhkc3QpICsgMSk7Cj4gKyAgICAgICAgaWYgKCFwY19tb3ZlZF9wKSB7Cj4gKyAgICAg
ICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lz
ZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50Zihm
LCAiICAgICAgICBnb3RvIGNhbmNlbDtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICB9
XG4iKTsKPiArICAgICAgICBiLT5zdGFja19zaXplICs9IGF0dHJfc3BfaW5jX2JyYW5jaHVubGVz
cyhkc3QpOwo+ICsgICAgfQo+ICsgICAgZnByaW50ZihmLCAifVxuIik7Cj4gKyAgICBjb21waWxl
X2luc25zKGYsIGJvZHksIGItPnN0YWNrX3NpemUsIHBvcyArIGluc25fbGVuKGluc24pLCBzdGF0
dXMpOwo+ICsgICAgYnJlYWs7Cj4gKyAgY2FzZSBCSU4oYnJhbmNobmlsKToKPiArICAgIGZwcmlu
dGYoZiwgIntcbiIpOwo+ICsgICAgewo+ICsgICAgICAgIE1BWUJFX1VOVVNFRChpbnQgcGNfbW92
ZWRfcCkgPSBGQUxTRTsKPiArICAgICAgICBNQVlCRV9VTlVTRUQoT0ZGU0VUIGRzdCkgPSAoT0ZG
U0VUKW9wZXJhbmRzWzBdOwo+ICsgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsK
PiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRCh1bnNpZ25lZCBpbnQp
IHN0YWNrX3NpemUgPSAldTtcbiIsIGItPnN0YWNrX3NpemUpOwo+ICsgICAgICAgIH0KPiArICAg
ICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKE9GRlNFVCkgZHN0O1xuIik7Cj4gKyAg
ICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgdmFsO1xuIik7Cj4gKwo+
ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBkc3QgPSAoT0ZGU0VUKTB4JSJQUkl4VkFMVUUiOyIs
IG9wZXJhbmRzWzBdKTsKPiArICAgICAgICBmcHJpbnRmKGYsICJcbiIpOwo+ICsgICAgICAgIGZw
cmludGYoZiwgIiAgICB2YWwgPSBzdGFja1slZF07XG4iLCBiLT5zdGFja19zaXplIC0gMSk7Cj4g
KyAgICAgICAgaWYgKGJvZHktPmNhdGNoX2V4Y2VwdF9wIHx8IFRSVUUpIHsKPiArICAgICAgICAg
ICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7
XG4iLCBuZXh0X3Bvcyk7IC8qIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsgKi8KPiArICAgICAg
ICAgICAgcGNfbW92ZWRfcCA9IFRSVUU7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGlmIChzdGF0
dXMtPmxvY2FsX3N0YWNrX3ApIHsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZWxzZSB7Cj4gKyAg
ICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAt
PmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgMSk7Cj4gKyAgICAgICAgfQo+ICsgICAgICAg
IGZwcmludGYoZiwgIiAgICB7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIGlm
IChOSUxfUCh2YWwpKSB7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgICAgICBS
VUJZX1ZNX0NIRUNLX0lOVFMoZWMpO1xuIik7Cj4gKyAgICAgICAgbmV4dF9wb3MgPSBwb3MgKyBp
bnNuX2xlbihpbnNuKSArICh1bnNpZ25lZCBpbnQpZHN0Owo+ICsgICAgICAgIGZwcmludGYoZiwg
IiAgICAgICAgICAgIGdvdG8gbGFiZWxfJWQ7XG4iLCBuZXh0X3Bvcyk7Cj4gKyAgICAgICAgZnBy
aW50ZihmLCAiICAgICAgICB9XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgfVxuIik7
Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIGlmIChVTkxJS0VMWShydWJ5X3ZtX2V2ZW50X2Vu
YWJsZWRfZ2xvYmFsX2ZsYWdzICYgSVNFUV9UUkFDRV9FVkVOVFMpKSB7XG4iKTsKPiArICAgICAg
ICBmcHJpbnRmKGYsICIgICAgICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAg
KyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5jX2JyYW5jaG5pbChkc3Qp
ICsgMSk7Cj4gKyAgICAgICAgaWYgKCFwY19tb3ZlZF9wKSB7Cj4gKyAgICAgICAgICAgIGZwcmlu
dGYoZiwgIiAgICAgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIs
IG5leHRfcG9zKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICBn
b3RvIGNhbmNlbDtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICB9XG4iKTsKPiArICAg
ICAgICBiLT5zdGFja19zaXplICs9IGF0dHJfc3BfaW5jX2JyYW5jaG5pbChkc3QpOwo+ICsgICAg
fQo+ICsgICAgZnByaW50ZihmLCAifVxuIik7Cj4gKyAgICBjb21waWxlX2luc25zKGYsIGJvZHks
IGItPnN0YWNrX3NpemUsIHBvcyArIGluc25fbGVuKGluc24pLCBzdGF0dXMpOwo+ICsgICAgYnJl
YWs7Cj4gKyAgY2FzZSBCSU4ob3B0X2dldGlubGluZWNhY2hlKToKPiArICAgIGZwcmludGYoZiwg
IntcbiIpOwo+ICsgICAgewo+ICsgICAgICAgIE1BWUJFX1VOVVNFRChpbnQgcGNfbW92ZWRfcCkg
PSBGQUxTRTsKPiArICAgICAgICBNQVlCRV9VTlVTRUQoT0ZGU0VUIGRzdCkgPSAoT0ZGU0VUKW9w
ZXJhbmRzWzBdOwo+ICsgICAgICAgIE1BWUJFX1VOVVNFRChJQyBpYykgPSAoSUMpb3BlcmFuZHNb
MV07Cj4gKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgewo+ICsgICAgICAgICAg
ICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVuc2lnbmVkIGludCkgc3RhY2tfc2l6ZSA9
ICV1O1xuIiwgYi0+c3RhY2tfc2l6ZSk7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGZwcmludGYo
ZiwgIiAgICBNQVlCRV9VTlVTRUQoSUMpIGljO1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAi
ICAgIE1BWUJFX1VOVVNFRChPRkZTRVQpIGRzdDtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwg
IiAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIHZhbDtcbiIpOwo+ICsKPiArICAgICAgICBmcHJpbnRm
KGYsICIgICAgZHN0ID0gKE9GRlNFVCkweCUiUFJJeFZBTFVFIjsiLCBvcGVyYW5kc1swXSk7Cj4g
KyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgaWMg
PSAoSUMpMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNbMV0pOwo+ICsgICAgICAgIGZwcmludGYo
ZiwgIlxuIik7Cj4gKyAgICAgICAgaWYgKGJvZHktPmNhdGNoX2V4Y2VwdF9wIHx8IEZBTFNFKSB7
Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2Jv
ZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3MpOyAvKiBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7
ICovCj4gKyAgICAgICAgICAgIHBjX21vdmVkX3AgPSBUUlVFOwo+ICsgICAgICAgIH0KPiArICAg
ICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cj4gKyAgICAgICAgfQo+ICsgICAgICAg
IGVsc2Ugewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+c3AgPSAoVkFM
VUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEpOwo+ICsgICAgICAg
IH0KPiArICAgICAgICBmcHJpbnRmKGYsICIgICAge1xuIik7Cj4gKyAgICAgICAgZnByaW50Zihm
LCAiICAgICAgICBpZiAodm1faWNfaGl0X3AoaWMsIEdFVF9FUCgpKSkge1xuIik7Cj4gKyAgICAg
ICAgZnByaW50ZihmLCAiICAgICAgICAgICAgdmFsID0gaWMtPmljX3ZhbHVlLnZhbHVlO1xuIik7
Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICAgICAgc3RhY2tbJWRdID0gdmFsO1xuIiwg
Yi0+c3RhY2tfc2l6ZSArIChpbnQpYXR0cl9zcF9pbmNfb3B0X2dldGlubGluZWNhY2hlKGRzdCwg
aWMpIC0gMSk7Cj4gKyAgICAgICAgbmV4dF9wb3MgPSBwb3MgKyBpbnNuX2xlbihpbnNuKSArICh1
bnNpZ25lZCBpbnQpZHN0Owo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgIGdvdG8g
bGFiZWxfJWQ7XG4iLCBuZXh0X3Bvcyk7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICB9
XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIGVsc2Uge1xuIik7Cj4gKyAgICAg
ICAgZnByaW50ZihmLCAiICAgICAgICAgICAgdmFsID0gUW5pbDtcbiIpOwo+ICsgICAgICAgIGZw
cmludGYoZiwgIiAgICAgICAgfVxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIp
Owo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBzdGFja1slZF0gPSB2YWw7XG4iLCBiLT5zdGFj
a19zaXplICsgKGludClhdHRyX3NwX2luY19vcHRfZ2V0aW5saW5lY2FjaGUoZHN0LCBpYykgLSAx
KTsKPiArICAgICAgICBiLT5zdGFja19zaXplICs9IGF0dHJfc3BfaW5jX29wdF9nZXRpbmxpbmVj
YWNoZShkc3QsIGljKTsKPiArICAgIH0KPiArICAgIGZwcmludGYoZiwgIn1cbiIpOwo+ICsgICAg
Y29tcGlsZV9pbnNucyhmLCBib2R5LCBiLT5zdGFja19zaXplLCBwb3MgKyBpbnNuX2xlbihpbnNu
KSwgc3RhdHVzKTsKPiArICAgIGJyZWFrOwo+ICsgIGNhc2UgQklOKG9wdF9zZXRpbmxpbmVjYWNo
ZSk6Cj4gKyAgICBmcHJpbnRmKGYsICJ7XG4iKTsKPiArICAgIHsKPiArICAgICAgICBNQVlCRV9V
TlVTRUQoaW50IHBjX21vdmVkX3ApID0gRkFMU0U7Cj4gKyAgICAgICAgTUFZQkVfVU5VU0VEKElD
IGljKSA9IChJQylvcGVyYW5kc1swXTsKPiArICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFj
a19wKSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQodW5zaWdu
ZWQgaW50KSBzdGFja19zaXplID0gJXU7XG4iLCBiLT5zdGFja19zaXplKTsKPiArICAgICAgICB9
Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChJQykgaWM7XG4iKTsKPiAr
ICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSB2YWw7XG4iKTsKPiAr
Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIGljID0gKElDKTB4JSJQUkl4VkFMVUUiOyIsIG9w
ZXJhbmRzWzBdKTsKPiArICAgICAgICBmcHJpbnRmKGYsICJcbiIpOwo+ICsgICAgICAgIGZwcmlu
dGYoZiwgIiAgICB2YWwgPSBzdGFja1slZF07XG4iLCBiLT5zdGFja19zaXplIC0gMSk7Cj4gKyAg
ICAgICAgaWYgKGJvZHktPmNhdGNoX2V4Y2VwdF9wIHx8IEZBTFNFKSB7Cj4gKyAgICAgICAgICAg
IGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xu
IiwgbmV4dF9wb3MpOyAvKiBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7ICovCj4gKyAgICAgICAg
ICAgIHBjX21vdmVkX3AgPSBUUlVFOwo+ICsgICAgICAgIH0KPiArICAgICAgICBpZiAoc3RhdHVz
LT5sb2NhbF9zdGFja19wKSB7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGVsc2Ugewo+ICsgICAg
ICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5i
cCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEpOwo+ICsgICAgICAgIH0KPiArICAgICAgICBm
cHJpbnRmKGYsICIgICAge1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICB2bV9p
Y191cGRhdGUoaWMsIHZhbCwgR0VUX0VQKCkpO1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAi
ICAgIH1cbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBzdGFja1slZF0gPSB2YWw7XG4i
LCBiLT5zdGFja19zaXplICsgKGludClhdHRyX3NwX2luY19vcHRfc2V0aW5saW5lY2FjaGUoaWMp
IC0gMSk7Cj4gKyAgICAgICAgYi0+c3RhY2tfc2l6ZSArPSBhdHRyX3NwX2luY19vcHRfc2V0aW5s
aW5lY2FjaGUoaWMpOwo+ICsgICAgfQo+ICsgICAgZnByaW50ZihmLCAifVxuIik7Cj4gKyAgICBi
cmVhazsKPiArICBjYXNlIEJJTihvbmNlKToKPiArICAgIGZwcmludGYoZiwgIntcbiIpOwo+ICsg
ICAgewo+ICsgICAgICAgIE1BWUJFX1VOVVNFRChpbnQgcGNfbW92ZWRfcCkgPSBGQUxTRTsKPiAr
ICAgICAgICBNQVlCRV9VTlVTRUQoSVNFUSBpc2VxKSA9IChJU0VRKW9wZXJhbmRzWzBdOwo+ICsg
ICAgICAgIE1BWUJFX1VOVVNFRChJU0UgaXNlKSA9IChJU0Upb3BlcmFuZHNbMV07Cj4gKyAgICAg
ICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYs
ICIgICAgTUFZQkVfVU5VU0VEKHVuc2lnbmVkIGludCkgc3RhY2tfc2l6ZSA9ICV1O1xuIiwgYi0+
c3RhY2tfc2l6ZSk7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlC
RV9VTlVTRUQoSVNFKSBpc2U7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVf
VU5VU0VEKElTRVEpIGlzZXE7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVf
VU5VU0VEKFZBTFVFKSB2YWw7XG4iKTsKPiArCj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIGlz
ZXEgPSAoSVNFUSkweCUiUFJJeFZBTFVFIjsiLCBvcGVyYW5kc1swXSk7Cj4gKyAgICAgICAgZnBy
aW50ZihmLCAiXG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgaXNlID0gKElTRSkweCUi
UFJJeFZBTFVFIjsiLCBvcGVyYW5kc1sxXSk7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsK
PiArICAgICAgICBpZiAoYm9keS0+Y2F0Y2hfZXhjZXB0X3AgfHwgVFJVRSkgewo+ICsgICAgICAg
ICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAl
ZDtcbiIsIG5leHRfcG9zKTsgLyogQUREX1BDKElOU05fQVRUUih3aWR0aCkpOyAqLwo+ICsgICAg
ICAgICAgICBwY19tb3ZlZF9wID0gVFJVRTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgaWYgKHN0
YXR1cy0+bG9jYWxfc3RhY2tfcCkgewo+ICsgICAgICAgICAgICB7Cj4gKyAgICAgICAgICAgICAg
ICByYl9zbnVtX3QgaSwgcHVzaF9zaXplOwo+ICsgICAgICAgICAgICAgICAgcHVzaF9zaXplID0g
LWF0dHJfc3BfaW5jX29uY2UoaXNlcSwgaXNlKSArIDEgLSAwOwo+ICsgICAgICAgICAgICAgICAg
ZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlbGQg
KyAxO1xuIiwgcHVzaF9zaXplKTsgLyogUE9QTihJTlNOX0FUVFIocG9wbikpOyAqLwo+ICsgICAg
ICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IHB1c2hfc2l6ZTsgaSsrKSB7Cj4gKyAgICAgICAg
ICAgICAgICAgICAgZnByaW50ZihmLCAiICAgICoocmVnX2NmcC0+c3AgKyAlbGQpID0gc3RhY2tb
JWxkXTtcbiIsIGkgLSBwdXNoX3NpemUsIChyYl9zbnVtX3QpYi0+c3RhY2tfc2l6ZSAtIHB1c2hf
c2l6ZSArIGkpOwo+ICsgICAgICAgICAgICAgICAgfQo+ICsgICAgICAgICAgICB9Cj4gKyAgICAg
ICAgfQo+ICsgICAgICAgIGVsc2Ugewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVn
X2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSAr
IDEgLSAwKTsgLyogUE9QTihJTlNOX0FUVFIocG9wbikpOyAqLwo+ICsgICAgICAgIH0KPiArICAg
ICAgICBmcHJpbnRmKGYsICIgICAge1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAg
ICB2YWwgPSB2bV9vbmNlX2Rpc3BhdGNoKGVjLCBpc2VxLCBpc2UpO1xuIik7Cj4gKyAgICAgICAg
ZnByaW50ZihmLCAiICAgIH1cbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBzdGFja1sl
ZF0gPSB2YWw7XG4iLCBiLT5zdGFja19zaXplICsgKGludClhdHRyX3NwX2luY19vbmNlKGlzZXEs
IGlzZSkgLSAxKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgaWYgKFVOTElLRUxZKHJ1Ynlf
dm1fZXZlbnRfZW5hYmxlZF9nbG9iYWxfZmxhZ3MgJiBJU0VRX1RSQUNFX0VWRU5UUykpIHtcbiIp
Owo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKily
ZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIChpbnQpYXR0cl9zcF9pbmNfb25j
ZShpc2VxLCBpc2UpICsgMSk7Cj4gKyAgICAgICAgaWYgKCFwY19tb3ZlZF9wKSB7Cj4gKyAgICAg
ICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lz
ZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50Zihm
LCAiICAgICAgICBnb3RvIGNhbmNlbDtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICB9
XG4iKTsKPiArICAgICAgICBiLT5zdGFja19zaXplICs9IGF0dHJfc3BfaW5jX29uY2UoaXNlcSwg
aXNlKTsKPiArICAgIH0KPiArICAgIGZwcmludGYoZiwgIn1cbiIpOwo+ICsgICAgYnJlYWs7Cj4g
KyAgY2FzZSBCSU4ob3B0X2Nhc2VfZGlzcGF0Y2gpOgo+ICsgICAgZnByaW50ZihmLCAie1xuIik7
Cj4gKyAgICB7Cj4gKyAgICAgICAgTUFZQkVfVU5VU0VEKGludCBwY19tb3ZlZF9wKSA9IEZBTFNF
Owo+ICsgICAgICAgIE1BWUJFX1VOVVNFRChDREhBU0ggaGFzaCkgPSAoQ0RIQVNIKW9wZXJhbmRz
WzBdOwo+ICsgICAgICAgIE1BWUJFX1VOVVNFRChPRkZTRVQgZWxzZV9vZmZzZXQpID0gKE9GRlNF
VClvcGVyYW5kc1sxXTsKPiArICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cj4g
KyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQodW5zaWduZWQgaW50KSBz
dGFja19zaXplID0gJXU7XG4iLCBiLT5zdGFja19zaXplKTsKPiArICAgICAgICB9Cj4gKyAgICAg
ICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChDREhBU0gpIGhhc2g7XG4iKTsKPiArICAg
ICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKE9GRlNFVCkgZWxzZV9vZmZzZXQ7XG4i
KTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSBrZXk7XG4i
KTsKPiArCj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIGhhc2ggPSAoQ0RIQVNIKTB4JSJQUkl4
VkFMVUUiOyIsIG9wZXJhbmRzWzBdKTsKPiArICAgICAgICBmcHJpbnRmKGYsICJcbiIpOwo+ICsg
ICAgICAgIGZwcmludGYoZiwgIiAgICBlbHNlX29mZnNldCA9IChPRkZTRVQpMHglIlBSSXhWQUxV
RSI7Iiwgb3BlcmFuZHNbMV0pOwo+ICsgICAgICAgIGZwcmludGYoZiwgIlxuIik7Cj4gKyAgICAg
ICAgZnByaW50ZihmLCAiICAgIGtleSA9IHN0YWNrWyVkXTtcbiIsIGItPnN0YWNrX3NpemUgLSAx
KTsKPiArICAgICAgICBpZiAoYm9keS0+Y2F0Y2hfZXhjZXB0X3AgfHwgRkFMU0UpIHsKPiArICAg
ICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2Vx
ICsgJWQ7XG4iLCBuZXh0X3Bvcyk7IC8qIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsgKi8KPiAr
ICAgICAgICAgICAgcGNfbW92ZWRfcCA9IFRSVUU7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGlm
IChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZWxzZSB7
Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJl
Z19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgMSk7Cj4gKyAgICAgICAgfQo+ICsg
ICAgICAgIGZwcmludGYoZiwgIiAgICB7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAg
ICAgIE9GRlNFVCBkc3QgPSB2bV9jYXNlX2Rpc3BhdGNoKGhhc2gsIGVsc2Vfb2Zmc2V0LCBrZXkp
O1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYs
ICIgICAgICAgIGlmIChkc3QpIHtcbiIpOwo+ICsgICAgICAgIHsKPiArICAgICAgICAgICAgc3Ry
dWN0IGNhc2VfZGlzcGF0Y2hfdmFyIGFyZzsKPiArICAgICAgICAgICAgYXJnLmYgPSBmOwo+ICsg
ICAgICAgICAgICBhcmcuYmFzZV9wb3MgPSBwb3MgKyBpbnNuX2xlbihpbnNuKTsKPiArICAgICAg
ICAgICAgYXJnLmxhc3RfdmFsdWUgPSBRdW5kZWY7Cj4gKwo+ICsgICAgICAgICAgICBmcHJpbnRm
KGYsICIgICAgc3dpdGNoIChkc3QpIHtcbiIpOwo+ICsgICAgICAgICAgICBzdF9mb3JlYWNoKFJI
QVNIX1RCTF9SQVcoaGFzaCksIGNvbXBpbGVfY2FzZV9kaXNwYXRjaF9lYWNoLCAoVkFMVUUpJmFy
Zyk7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICAgIGNhc2UgJWx1OlxuIiwgZWxzZV9v
ZmZzZXQpOwo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIGdvdG8gbGFiZWxfJWx1
O1xuIiwgYXJnLmJhc2VfcG9zICsgZWxzZV9vZmZzZXQpOwo+ICsgICAgICAgICAgICBmcHJpbnRm
KGYsICIgICAgfVxuIik7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAg
ICAgfVxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIpOwo+ICsgICAgICAgIGIt
PnN0YWNrX3NpemUgKz0gYXR0cl9zcF9pbmNfb3B0X2Nhc2VfZGlzcGF0Y2goaGFzaCwgZWxzZV9v
ZmZzZXQpOwo+ICsgICAgfQo+ICsgICAgZnByaW50ZihmLCAifVxuIik7Cj4gKyAgICBjb21waWxl
X2luc25zKGYsIGJvZHksIGItPnN0YWNrX3NpemUsIHBvcyArIGluc25fbGVuKGluc24pLCBzdGF0
dXMpOwo+ICsgICAgYnJlYWs7Cj4gKyAgY2FzZSBCSU4ob3B0X3BsdXMpOgo+ICsgICAgZnByaW50
ZihmLCAie1xuIik7Cj4gKyAgICB7Cj4gKyAgICAgICAgTUFZQkVfVU5VU0VEKGludCBwY19tb3Zl
ZF9wKSA9IEZBTFNFOwo+ICsgICAgICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpID0gKENB
TExfSU5GTylvcGVyYW5kc1swXTsKPiArICAgICAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBj
YykgPSAoQ0FMTF9DQUNIRSlvcGVyYW5kc1sxXTsKPiArICAgICAgICBpZiAoc3RhdHVzLT5sb2Nh
bF9zdGFja19wKSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQo
dW5zaWduZWQgaW50KSBzdGFja19zaXplID0gJXU7XG4iLCBiLT5zdGFja19zaXplKTsKPiArICAg
ICAgICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hF
KSBjYztcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQoQ0FMTF9J
TkZPKSBjaTtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQoVkFM
VUUpIG9iaiwgcmVjdiwgdmFsO1xuIik7Cj4gKwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBj
aSA9IChDQUxMX0lORk8pMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNbMF0pOwo+ICsgICAgICAg
IGNvbW1lbnRfaWQoZiwgKChDQUxMX0lORk8pb3BlcmFuZHNbMF0pLT5taWQpOwo+ICsgICAgICAg
IGZwcmludGYoZiwgIlxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIGNjID0gKENBTExf
Q0FDSEUpMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNbMV0pOwo+ICsgICAgICAgIGZwcmludGYo
ZiwgIlxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIHJlY3YgPSBzdGFja1slZF07XG4i
LCBiLT5zdGFja19zaXplIC0gMik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIG9iaiA9IHN0
YWNrWyVkXTtcbiIsIGItPnN0YWNrX3NpemUgLSAxKTsKPiArICAgICAgICBpZiAoYm9keS0+Y2F0
Y2hfZXhjZXB0X3AgfHwgVFJVRSkgewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVn
X2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsgLyogQURE
X1BDKElOU05fQVRUUih3aWR0aCkpOyAqLwo+ICsgICAgICAgICAgICBwY19tb3ZlZF9wID0gVFJV
RTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgewo+
ICsgICAgICAgIH0KPiArICAgICAgICBlbHNlIHsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAi
ICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNr
X3NpemUgKyAxKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIHtcbiIp
Owo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgdmFsID0gdm1fb3B0X3BsdXMocmVjdiwg
b2JqKTtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIlxuIik7Cj4gKyAgICAgICAgZnByaW50
ZihmLCAiICAgICAgICBpZiAodmFsID09IFF1bmRlZikge1xuIik7Cj4gKyAgICAgICAgaWYgKHN0
YXR1cy0+bG9jYWxfc3RhY2tfcCkgewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgICAg
ICAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFj
a19zaXplICsgMSk7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAg
ICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBwb3MpOwo+ICsg
ICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgIGdvdG8gY2FuY2VsO1xuIik7Cj4gKyAgICAg
ICAgZnByaW50ZihmLCAiICAgICAgICB9XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAg
fVxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIHN0YWNrWyVkXSA9IHZhbDtcbiIsIGIt
PnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5jX29wdF9wbHVzKGNpLCBjYykgLSAxKTsKPiAr
ICAgICAgICBmcHJpbnRmKGYsICIgICAgaWYgKFVOTElLRUxZKHJ1Ynlfdm1fZXZlbnRfZW5hYmxl
ZF9nbG9iYWxfZmxhZ3MgJiBJU0VRX1RSQUNFX0VWRU5UUykpIHtcbiIpOwo+ICsgICAgICAgIGZw
cmludGYoZiwgIiAgICAgICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVk
O1xuIiwgYi0+c3RhY2tfc2l6ZSArIChpbnQpYXR0cl9zcF9pbmNfb3B0X3BsdXMoY2ksIGNjKSAr
IDEpOwo+ICsgICAgICAgIGlmICghcGNfbW92ZWRfcCkgewo+ICsgICAgICAgICAgICBmcHJpbnRm
KGYsICIgICAgICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBu
ZXh0X3Bvcyk7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgZ290
byBjYW5jZWw7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgfVxuIik7Cj4gKyAgICAg
ICAgYi0+c3RhY2tfc2l6ZSArPSBhdHRyX3NwX2luY19vcHRfcGx1cyhjaSwgY2MpOwo+ICsgICAg
fQo+ICsgICAgZnByaW50ZihmLCAifVxuIik7Cj4gKyAgICBicmVhazsKPiArICBjYXNlIEJJTihv
cHRfbWludXMpOgo+ICsgICAgZnByaW50ZihmLCAie1xuIik7Cj4gKyAgICB7Cj4gKyAgICAgICAg
TUFZQkVfVU5VU0VEKGludCBwY19tb3ZlZF9wKSA9IEZBTFNFOwo+ICsgICAgICAgIE1BWUJFX1VO
VVNFRChDQUxMX0lORk8gY2kpID0gKENBTExfSU5GTylvcGVyYW5kc1swXTsKPiArICAgICAgICBN
QVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykgPSAoQ0FMTF9DQUNIRSlvcGVyYW5kc1sxXTsKPiAr
ICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cj4gKyAgICAgICAgICAgIGZwcmlu
dGYoZiwgIiAgICBNQVlCRV9VTlVTRUQodW5zaWduZWQgaW50KSBzdGFja19zaXplID0gJXU7XG4i
LCBiLT5zdGFja19zaXplKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAg
IE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFKSBjYztcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwg
IiAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPKSBjaTtcbiIpOwo+ICsgICAgICAgIGZwcmludGYo
ZiwgIiAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIG9iaiwgcmVjdiwgdmFsO1xuIik7Cj4gKwo+ICsg
ICAgICAgIGZwcmludGYoZiwgIiAgICBjaSA9IChDQUxMX0lORk8pMHglIlBSSXhWQUxVRSI7Iiwg
b3BlcmFuZHNbMF0pOwo+ICsgICAgICAgIGNvbW1lbnRfaWQoZiwgKChDQUxMX0lORk8pb3BlcmFu
ZHNbMF0pLT5taWQpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIlxuIik7Cj4gKyAgICAgICAgZnBy
aW50ZihmLCAiICAgIGNjID0gKENBTExfQ0FDSEUpMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNb
MV0pOwo+ICsgICAgICAgIGZwcmludGYoZiwgIlxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAi
ICAgIHJlY3YgPSBzdGFja1slZF07XG4iLCBiLT5zdGFja19zaXplIC0gMik7Cj4gKyAgICAgICAg
ZnByaW50ZihmLCAiICAgIG9iaiA9IHN0YWNrWyVkXTtcbiIsIGItPnN0YWNrX3NpemUgLSAxKTsK
PiArICAgICAgICBpZiAoYm9keS0+Y2F0Y2hfZXhjZXB0X3AgfHwgRkFMU0UpIHsKPiArICAgICAg
ICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsg
JWQ7XG4iLCBuZXh0X3Bvcyk7IC8qIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsgKi8KPiArICAg
ICAgICAgICAgcGNfbW92ZWRfcCA9IFRSVUU7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGlmIChz
dGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZWxzZSB7Cj4g
KyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19j
ZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgMSk7Cj4gKyAgICAgICAgfQo+ICsgICAg
ICAgIGZwcmludGYoZiwgIiAgICB7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAg
IHZhbCA9IHZtX29wdF9taW51cyhyZWN2LCBvYmopO1xuIik7Cj4gKyAgICAgICAgZnByaW50Zihm
LCAiXG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIGlmICh2YWwgPT0gUXVuZGVm
KSB7XG4iKTsKPiArICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cj4gKyAgICAg
ICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVn
X2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAxKTsKPiArICAgICAgICB9Cj4gKyAg
ICAgICAgZnByaW50ZihmLCAiICAgICAgICAgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5
X2lzZXEgKyAlZDtcbiIsIHBvcyk7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICAgICAg
Z290byBjYW5jZWw7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIH1cbiIpOwo+
ICsgICAgICAgIGZwcmludGYoZiwgIiAgICB9XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIg
ICAgc3RhY2tbJWRdID0gdmFsO1xuIiwgYi0+c3RhY2tfc2l6ZSArIChpbnQpYXR0cl9zcF9pbmNf
b3B0X21pbnVzKGNpLCBjYykgLSAxKTsKPiArICAgICAgICBiLT5zdGFja19zaXplICs9IGF0dHJf
c3BfaW5jX29wdF9taW51cyhjaSwgY2MpOwo+ICsgICAgfQo+ICsgICAgZnByaW50ZihmLCAifVxu
Iik7Cj4gKyAgICBicmVhazsKPiArICBjYXNlIEJJTihvcHRfbXVsdCk6Cj4gKyAgICBmcHJpbnRm
KGYsICJ7XG4iKTsKPiArICAgIHsKPiArICAgICAgICBNQVlCRV9VTlVTRUQoaW50IHBjX21vdmVk
X3ApID0gRkFMU0U7Cj4gKyAgICAgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSkgPSAoQ0FM
TF9JTkZPKW9wZXJhbmRzWzBdOwo+ICsgICAgICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNj
KSA9IChDQUxMX0NBQ0hFKW9wZXJhbmRzWzFdOwo+ICsgICAgICAgIGlmIChzdGF0dXMtPmxvY2Fs
X3N0YWNrX3ApIHsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRCh1
bnNpZ25lZCBpbnQpIHN0YWNrX3NpemUgPSAldTtcbiIsIGItPnN0YWNrX3NpemUpOwo+ICsgICAg
ICAgIH0KPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUp
IGNjO1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChDQUxMX0lO
Rk8pIGNpO1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChWQUxV
RSkgb2JqLCByZWN2LCB2YWw7XG4iKTsKPiArCj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIGNp
ID0gKENBTExfSU5GTykweCUiUFJJeFZBTFVFIjsiLCBvcGVyYW5kc1swXSk7Cj4gKyAgICAgICAg
Y29tbWVudF9pZChmLCAoKENBTExfSU5GTylvcGVyYW5kc1swXSktPm1pZCk7Cj4gKyAgICAgICAg
ZnByaW50ZihmLCAiXG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgY2MgPSAoQ0FMTF9D
QUNIRSkweCUiUFJJeFZBTFVFIjsiLCBvcGVyYW5kc1sxXSk7Cj4gKyAgICAgICAgZnByaW50Zihm
LCAiXG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVjdiA9IHN0YWNrWyVkXTtcbiIs
IGItPnN0YWNrX3NpemUgLSAyKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgb2JqID0gc3Rh
Y2tbJWRdO1xuIiwgYi0+c3RhY2tfc2l6ZSAtIDEpOwo+ICsgICAgICAgIGlmIChib2R5LT5jYXRj
aF9leGNlcHRfcCB8fCBGQUxTRSkgewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVn
X2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsgLyogQURE
X1BDKElOU05fQVRUUih3aWR0aCkpOyAqLwo+ICsgICAgICAgICAgICBwY19tb3ZlZF9wID0gVFJV
RTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgewo+
ICsgICAgICAgIH0KPiArICAgICAgICBlbHNlIHsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAi
ICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNr
X3NpemUgKyAxKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIHtcbiIp
Owo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgdmFsID0gdm1fb3B0X211bHQocmVjdiwg
b2JqKTtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIlxuIik7Cj4gKyAgICAgICAgZnByaW50
ZihmLCAiICAgICAgICBpZiAodmFsID09IFF1bmRlZikge1xuIik7Cj4gKyAgICAgICAgaWYgKHN0
YXR1cy0+bG9jYWxfc3RhY2tfcCkgewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgICAg
ICAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFj
a19zaXplICsgMSk7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAg
ICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBwb3MpOwo+ICsg
ICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgIGdvdG8gY2FuY2VsO1xuIik7Cj4gKyAgICAg
ICAgZnByaW50ZihmLCAiICAgICAgICB9XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAg
fVxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIHN0YWNrWyVkXSA9IHZhbDtcbiIsIGIt
PnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5jX29wdF9tdWx0KGNpLCBjYykgLSAxKTsKPiAr
ICAgICAgICBiLT5zdGFja19zaXplICs9IGF0dHJfc3BfaW5jX29wdF9tdWx0KGNpLCBjYyk7Cj4g
KyAgICB9Cj4gKyAgICBmcHJpbnRmKGYsICJ9XG4iKTsKPiArICAgIGJyZWFrOwo+ICsgIGNhc2Ug
QklOKG9wdF9kaXYpOgo+ICsgICAgZnByaW50ZihmLCAie1xuIik7Cj4gKyAgICB7Cj4gKyAgICAg
ICAgTUFZQkVfVU5VU0VEKGludCBwY19tb3ZlZF9wKSA9IEZBTFNFOwo+ICsgICAgICAgIE1BWUJF
X1VOVVNFRChDQUxMX0lORk8gY2kpID0gKENBTExfSU5GTylvcGVyYW5kc1swXTsKPiArICAgICAg
ICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykgPSAoQ0FMTF9DQUNIRSlvcGVyYW5kc1sxXTsK
PiArICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cj4gKyAgICAgICAgICAgIGZw
cmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQodW5zaWduZWQgaW50KSBzdGFja19zaXplID0gJXU7
XG4iLCBiLT5zdGFja19zaXplKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAi
ICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFKSBjYztcbiIpOwo+ICsgICAgICAgIGZwcmludGYo
ZiwgIiAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPKSBjaTtcbiIpOwo+ICsgICAgICAgIGZwcmlu
dGYoZiwgIiAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIG9iaiwgcmVjdiwgdmFsO1xuIik7Cj4gKwo+
ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBjaSA9IChDQUxMX0lORk8pMHglIlBSSXhWQUxVRSI7
Iiwgb3BlcmFuZHNbMF0pOwo+ICsgICAgICAgIGNvbW1lbnRfaWQoZiwgKChDQUxMX0lORk8pb3Bl
cmFuZHNbMF0pLT5taWQpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIlxuIik7Cj4gKyAgICAgICAg
ZnByaW50ZihmLCAiICAgIGNjID0gKENBTExfQ0FDSEUpMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFu
ZHNbMV0pOwo+ICsgICAgICAgIGZwcmludGYoZiwgIlxuIik7Cj4gKyAgICAgICAgZnByaW50Zihm
LCAiICAgIHJlY3YgPSBzdGFja1slZF07XG4iLCBiLT5zdGFja19zaXplIC0gMik7Cj4gKyAgICAg
ICAgZnByaW50ZihmLCAiICAgIG9iaiA9IHN0YWNrWyVkXTtcbiIsIGItPnN0YWNrX3NpemUgLSAx
KTsKPiArICAgICAgICBpZiAoYm9keS0+Y2F0Y2hfZXhjZXB0X3AgfHwgRkFMU0UpIHsKPiArICAg
ICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2Vx
ICsgJWQ7XG4iLCBuZXh0X3Bvcyk7IC8qIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsgKi8KPiAr
ICAgICAgICAgICAgcGNfbW92ZWRfcCA9IFRSVUU7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGlm
IChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZWxzZSB7
Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJl
Z19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgMSk7Cj4gKyAgICAgICAgfQo+ICsg
ICAgICAgIGZwcmludGYoZiwgIiAgICB7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAg
ICAgIHZhbCA9IHZtX29wdF9kaXYocmVjdiwgb2JqKTtcbiIpOwo+ICsgICAgICAgIGZwcmludGYo
ZiwgIlxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICBpZiAodmFsID09IFF1bmRl
Zikge1xuIik7Cj4gKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgewo+ICsgICAg
ICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgICAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJl
Z19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgMSk7Cj4gKyAgICAgICAgfQo+ICsg
ICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9k
eV9pc2VxICsgJWQ7XG4iLCBwb3MpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAg
IGdvdG8gY2FuY2VsO1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICB9XG4iKTsK
PiArICAgICAgICBmcHJpbnRmKGYsICIgICAgfVxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAi
ICAgIHN0YWNrWyVkXSA9IHZhbDtcbiIsIGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5j
X29wdF9kaXYoY2ksIGNjKSAtIDEpOwo+ICsgICAgICAgIGItPnN0YWNrX3NpemUgKz0gYXR0cl9z
cF9pbmNfb3B0X2RpdihjaSwgY2MpOwo+ICsgICAgfQo+ICsgICAgZnByaW50ZihmLCAifVxuIik7
Cj4gKyAgICBicmVhazsKPiArICBjYXNlIEJJTihvcHRfbW9kKToKPiArICAgIGZwcmludGYoZiwg
IntcbiIpOwo+ICsgICAgewo+ICsgICAgICAgIE1BWUJFX1VOVVNFRChpbnQgcGNfbW92ZWRfcCkg
PSBGQUxTRTsKPiArICAgICAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSA9IChDQUxMX0lO
Rk8pb3BlcmFuZHNbMF07Cj4gKyAgICAgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpID0g
KENBTExfQ0FDSEUpb3BlcmFuZHNbMV07Cj4gKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3Rh
Y2tfcCkgewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVuc2ln
bmVkIGludCkgc3RhY2tfc2l6ZSA9ICV1O1xuIiwgYi0+c3RhY2tfc2l6ZSk7Cj4gKyAgICAgICAg
fQo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSkgY2M7
XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTykg
Y2k7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSBv
YmosIHJlY3YsIHZhbDtcbiIpOwo+ICsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgY2kgPSAo
Q0FMTF9JTkZPKTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRzWzBdKTsKPiArICAgICAgICBjb21t
ZW50X2lkKGYsICgoQ0FMTF9JTkZPKW9wZXJhbmRzWzBdKS0+bWlkKTsKPiArICAgICAgICBmcHJp
bnRmKGYsICJcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBjYyA9IChDQUxMX0NBQ0hF
KTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRzWzFdKTsKPiArICAgICAgICBmcHJpbnRmKGYsICJc
biIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICByZWN2ID0gc3RhY2tbJWRdO1xuIiwgYi0+
c3RhY2tfc2l6ZSAtIDIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBvYmogPSBzdGFja1sl
ZF07XG4iLCBiLT5zdGFja19zaXplIC0gMSk7Cj4gKyAgICAgICAgaWYgKGJvZHktPmNhdGNoX2V4
Y2VwdF9wIHx8IEZBTFNFKSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2Zw
LT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3MpOyAvKiBBRERfUEMo
SU5TTl9BVFRSKHdpZHRoKSk7ICovCj4gKyAgICAgICAgICAgIHBjX21vdmVkX3AgPSBUUlVFOwo+
ICsgICAgICAgIH0KPiArICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cj4gKyAg
ICAgICAgfQo+ICsgICAgICAgIGVsc2Ugewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAg
cmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6
ZSArIDEpOwo+ICsgICAgICAgIH0KPiArICAgICAgICBmcHJpbnRmKGYsICIgICAge1xuIik7Cj4g
KyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICB2YWwgPSB2bV9vcHRfbW9kKHJlY3YsIG9iaik7
XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICJcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwg
IiAgICAgICAgaWYgKHZhbCA9PSBRdW5kZWYpIHtcbiIpOwo+ICsgICAgICAgIGlmIChzdGF0dXMt
PmxvY2FsX3N0YWNrX3ApIHsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgICAgICAgICAg
cmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6
ZSArIDEpOwo+ICsgICAgICAgIH0KPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgICAgICBy
ZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgcG9zKTsKPiArICAgICAg
ICBmcHJpbnRmKGYsICIgICAgICAgICAgICBnb3RvIGNhbmNlbDtcbiIpOwo+ICsgICAgICAgIGZw
cmludGYoZiwgIiAgICAgICAgfVxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIp
Owo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBzdGFja1slZF0gPSB2YWw7XG4iLCBiLT5zdGFj
a19zaXplICsgKGludClhdHRyX3NwX2luY19vcHRfbW9kKGNpLCBjYykgLSAxKTsKPiArICAgICAg
ICBiLT5zdGFja19zaXplICs9IGF0dHJfc3BfaW5jX29wdF9tb2QoY2ksIGNjKTsKPiArICAgIH0K
PiArICAgIGZwcmludGYoZiwgIn1cbiIpOwo+ICsgICAgYnJlYWs7Cj4gKyAgY2FzZSBCSU4ob3B0
X2VxKToKPiArICAgIGZwcmludGYoZiwgIntcbiIpOwo+ICsgICAgewo+ICsgICAgICAgIE1BWUJF
X1VOVVNFRChpbnQgcGNfbW92ZWRfcCkgPSBGQUxTRTsKPiArICAgICAgICBNQVlCRV9VTlVTRUQo
Q0FMTF9JTkZPIGNpKSA9IChDQUxMX0lORk8pb3BlcmFuZHNbMF07Cj4gKyAgICAgICAgTUFZQkVf
VU5VU0VEKENBTExfQ0FDSEUgY2MpID0gKENBTExfQ0FDSEUpb3BlcmFuZHNbMV07Cj4gKyAgICAg
ICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYs
ICIgICAgTUFZQkVfVU5VU0VEKHVuc2lnbmVkIGludCkgc3RhY2tfc2l6ZSA9ICV1O1xuIiwgYi0+
c3RhY2tfc2l6ZSk7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlC
RV9VTlVTRUQoQ0FMTF9DQUNIRSkgY2M7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAg
TUFZQkVfVU5VU0VEKENBTExfSU5GTykgY2k7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIg
ICAgTUFZQkVfVU5VU0VEKFZBTFVFKSBvYmosIHJlY3YsIHZhbDtcbiIpOwo+ICsKPiArICAgICAg
ICBmcHJpbnRmKGYsICIgICAgY2kgPSAoQ0FMTF9JTkZPKTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJh
bmRzWzBdKTsKPiArICAgICAgICBjb21tZW50X2lkKGYsICgoQ0FMTF9JTkZPKW9wZXJhbmRzWzBd
KS0+bWlkKTsKPiArICAgICAgICBmcHJpbnRmKGYsICJcbiIpOwo+ICsgICAgICAgIGZwcmludGYo
ZiwgIiAgICBjYyA9IChDQUxMX0NBQ0hFKTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRzWzFdKTsK
PiArICAgICAgICBmcHJpbnRmKGYsICJcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBy
ZWN2ID0gc3RhY2tbJWRdO1xuIiwgYi0+c3RhY2tfc2l6ZSAtIDIpOwo+ICsgICAgICAgIGZwcmlu
dGYoZiwgIiAgICBvYmogPSBzdGFja1slZF07XG4iLCBiLT5zdGFja19zaXplIC0gMSk7Cj4gKyAg
ICAgICAgaWYgKGJvZHktPmNhdGNoX2V4Y2VwdF9wIHx8IFRSVUUpIHsKPiArICAgICAgICAgICAg
ZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4i
LCBuZXh0X3Bvcyk7IC8qIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsgKi8KPiArICAgICAgICAg
ICAgcGNfbW92ZWRfcCA9IFRSVUU7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGlmIChzdGF0dXMt
PmxvY2FsX3N0YWNrX3ApIHsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZWxzZSB7Cj4gKyAgICAg
ICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJw
ICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgMSk7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGZw
cmludGYoZiwgIiAgICB7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHZhbCA9
IG9wdF9lcV9mdW5jKHJlY3YsIG9iaiwgY2ksIGNjKTtcbiIpOwo+ICsgICAgICAgIGZwcmludGYo
ZiwgIlxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICBpZiAodmFsID09IFF1bmRl
Zikge1xuIik7Cj4gKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgewo+ICsgICAg
ICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgICAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJl
Z19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgMSk7Cj4gKyAgICAgICAgfQo+ICsg
ICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9k
eV9pc2VxICsgJWQ7XG4iLCBwb3MpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAg
IGdvdG8gY2FuY2VsO1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICB9XG4iKTsK
PiArICAgICAgICBmcHJpbnRmKGYsICIgICAgfVxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAi
ICAgIHN0YWNrWyVkXSA9IHZhbDtcbiIsIGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5j
X29wdF9lcShjaSwgY2MpIC0gMSk7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIGlmIChVTkxJ
S0VMWShydWJ5X3ZtX2V2ZW50X2VuYWJsZWRfZ2xvYmFsX2ZsYWdzICYgSVNFUV9UUkFDRV9FVkVO
VFMpKSB7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHJlZ19jZnAtPnNwID0g
KFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJf
c3BfaW5jX29wdF9lcShjaSwgY2MpICsgMSk7Cj4gKyAgICAgICAgaWYgKCFwY19tb3ZlZF9wKSB7
Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5h
bF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAg
ZnByaW50ZihmLCAiICAgICAgICBnb3RvIGNhbmNlbDtcbiIpOwo+ICsgICAgICAgIGZwcmludGYo
ZiwgIiAgICB9XG4iKTsKPiArICAgICAgICBiLT5zdGFja19zaXplICs9IGF0dHJfc3BfaW5jX29w
dF9lcShjaSwgY2MpOwo+ICsgICAgfQo+ICsgICAgZnByaW50ZihmLCAifVxuIik7Cj4gKyAgICBi
cmVhazsKPiArICBjYXNlIEJJTihvcHRfbmVxKToKPiArICAgIGZwcmludGYoZiwgIntcbiIpOwo+
ICsgICAgewo+ICsgICAgICAgIE1BWUJFX1VOVVNFRChpbnQgcGNfbW92ZWRfcCkgPSBGQUxTRTsK
PiArICAgICAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpX2VxKSA9IChDQUxMX0lORk8pb3Bl
cmFuZHNbMF07Cj4gKyAgICAgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2NfZXEpID0gKENB
TExfQ0FDSEUpb3BlcmFuZHNbMV07Cj4gKyAgICAgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBj
aSkgPSAoQ0FMTF9JTkZPKW9wZXJhbmRzWzJdOwo+ICsgICAgICAgIE1BWUJFX1VOVVNFRChDQUxM
X0NBQ0hFIGNjKSA9IChDQUxMX0NBQ0hFKW9wZXJhbmRzWzNdOwo+ICsgICAgICAgIGlmIChzdGF0
dXMtPmxvY2FsX3N0YWNrX3ApIHsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJF
X1VOVVNFRCh1bnNpZ25lZCBpbnQpIHN0YWNrX3NpemUgPSAldTtcbiIsIGItPnN0YWNrX3NpemUp
Owo+ICsgICAgICAgIH0KPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKENB
TExfQ0FDSEUpIGNjLCBjY19lcTtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlC
RV9VTlVTRUQoQ0FMTF9JTkZPKSBjaSwgY2lfZXE7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYs
ICIgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSBvYmosIHJlY3YsIHZhbDtcbiIpOwo+ICsKPiArICAg
ICAgICBmcHJpbnRmKGYsICIgICAgY2lfZXEgPSAoQ0FMTF9JTkZPKTB4JSJQUkl4VkFMVUUiOyIs
IG9wZXJhbmRzWzBdKTsKPiArICAgICAgICBjb21tZW50X2lkKGYsICgoQ0FMTF9JTkZPKW9wZXJh
bmRzWzBdKS0+bWlkKTsKPiArICAgICAgICBmcHJpbnRmKGYsICJcbiIpOwo+ICsgICAgICAgIGZw
cmludGYoZiwgIiAgICBjY19lcSA9IChDQUxMX0NBQ0hFKTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJh
bmRzWzFdKTsKPiArICAgICAgICBmcHJpbnRmKGYsICJcbiIpOwo+ICsgICAgICAgIGZwcmludGYo
ZiwgIiAgICBjaSA9IChDQUxMX0lORk8pMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNbMl0pOwo+
ICsgICAgICAgIGNvbW1lbnRfaWQoZiwgKChDQUxMX0lORk8pb3BlcmFuZHNbMl0pLT5taWQpOwo+
ICsgICAgICAgIGZwcmludGYoZiwgIlxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIGNj
ID0gKENBTExfQ0FDSEUpMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNbM10pOwo+ICsgICAgICAg
IGZwcmludGYoZiwgIlxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIHJlY3YgPSBzdGFj
a1slZF07XG4iLCBiLT5zdGFja19zaXplIC0gMik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAg
IG9iaiA9IHN0YWNrWyVkXTtcbiIsIGItPnN0YWNrX3NpemUgLSAxKTsKPiArICAgICAgICBpZiAo
Ym9keS0+Y2F0Y2hfZXhjZXB0X3AgfHwgVFJVRSkgewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYs
ICIgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9z
KTsgLyogQUREX1BDKElOU05fQVRUUih3aWR0aCkpOyAqLwo+ICsgICAgICAgICAgICBwY19tb3Zl
ZF9wID0gVFJVRTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3Rh
Y2tfcCkgewo+ICsgICAgICAgIH0KPiArICAgICAgICBlbHNlIHsKPiArICAgICAgICAgICAgZnBy
aW50ZihmLCAiICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIs
IGItPnN0YWNrX3NpemUgKyAxKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAi
ICAgIHtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgdmFsID0gdm1fb3B0X25l
cShjaSwgY2MsIGNpX2VxLCBjY19lcSwgcmVjdiwgb2JqKTtcbiIpOwo+ICsgICAgICAgIGZwcmlu
dGYoZiwgIlxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICBpZiAodmFsID09IFF1
bmRlZikge1xuIik7Cj4gKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgewo+ICsg
ICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgICAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAq
KXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgMSk7Cj4gKyAgICAgICAgfQo+
ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxf
Ym9keV9pc2VxICsgJWQ7XG4iLCBwb3MpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAg
ICAgIGdvdG8gY2FuY2VsO1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICB9XG4i
KTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgfVxuIik7Cj4gKyAgICAgICAgZnByaW50Zihm
LCAiICAgIHN0YWNrWyVkXSA9IHZhbDtcbiIsIGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3Bf
aW5jX29wdF9uZXEoY2lfZXEsIGNjX2VxLCBjaSwgY2MpIC0gMSk7Cj4gKyAgICAgICAgZnByaW50
ZihmLCAiICAgIGlmIChVTkxJS0VMWShydWJ5X3ZtX2V2ZW50X2VuYWJsZWRfZ2xvYmFsX2ZsYWdz
ICYgSVNFUV9UUkFDRV9FVkVOVFMpKSB7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAg
ICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNr
X3NpemUgKyAoaW50KWF0dHJfc3BfaW5jX29wdF9uZXEoY2lfZXEsIGNjX2VxLCBjaSwgY2MpICsg
MSk7Cj4gKyAgICAgICAgaWYgKCFwY19tb3ZlZF9wKSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYo
ZiwgIiAgICAgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5l
eHRfcG9zKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICBnb3Rv
IGNhbmNlbDtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICB9XG4iKTsKPiArICAgICAg
ICBiLT5zdGFja19zaXplICs9IGF0dHJfc3BfaW5jX29wdF9uZXEoY2lfZXEsIGNjX2VxLCBjaSwg
Y2MpOwo+ICsgICAgfQo+ICsgICAgZnByaW50ZihmLCAifVxuIik7Cj4gKyAgICBicmVhazsKPiAr
ICBjYXNlIEJJTihvcHRfbHQpOgo+ICsgICAgZnByaW50ZihmLCAie1xuIik7Cj4gKyAgICB7Cj4g
KyAgICAgICAgTUFZQkVfVU5VU0VEKGludCBwY19tb3ZlZF9wKSA9IEZBTFNFOwo+ICsgICAgICAg
IE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpID0gKENBTExfSU5GTylvcGVyYW5kc1swXTsKPiAr
ICAgICAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykgPSAoQ0FMTF9DQUNIRSlvcGVyYW5k
c1sxXTsKPiArICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cj4gKyAgICAgICAg
ICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQodW5zaWduZWQgaW50KSBzdGFja19zaXpl
ID0gJXU7XG4iLCBiLT5zdGFja19zaXplKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50
ZihmLCAiICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFKSBjYztcbiIpOwo+ICsgICAgICAgIGZw
cmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPKSBjaTtcbiIpOwo+ICsgICAgICAg
IGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIG9iaiwgcmVjdiwgdmFsO1xuIik7
Cj4gKwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBjaSA9IChDQUxMX0lORk8pMHglIlBSSXhW
QUxVRSI7Iiwgb3BlcmFuZHNbMF0pOwo+ICsgICAgICAgIGNvbW1lbnRfaWQoZiwgKChDQUxMX0lO
Rk8pb3BlcmFuZHNbMF0pLT5taWQpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIlxuIik7Cj4gKyAg
ICAgICAgZnByaW50ZihmLCAiICAgIGNjID0gKENBTExfQ0FDSEUpMHglIlBSSXhWQUxVRSI7Iiwg
b3BlcmFuZHNbMV0pOwo+ICsgICAgICAgIGZwcmludGYoZiwgIlxuIik7Cj4gKyAgICAgICAgZnBy
aW50ZihmLCAiICAgIHJlY3YgPSBzdGFja1slZF07XG4iLCBiLT5zdGFja19zaXplIC0gMik7Cj4g
KyAgICAgICAgZnByaW50ZihmLCAiICAgIG9iaiA9IHN0YWNrWyVkXTtcbiIsIGItPnN0YWNrX3Np
emUgLSAxKTsKPiArICAgICAgICBpZiAoYm9keS0+Y2F0Y2hfZXhjZXB0X3AgfHwgRkFMU0UpIHsK
PiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9k
eV9pc2VxICsgJWQ7XG4iLCBuZXh0X3Bvcyk7IC8qIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsg
Ki8KPiArICAgICAgICAgICAgcGNfbW92ZWRfcCA9IFRSVUU7Cj4gKyAgICAgICAgfQo+ICsgICAg
ICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKPiArICAgICAgICB9Cj4gKyAgICAgICAg
ZWxzZSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5zcCA9IChWQUxV
RSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgMSk7Cj4gKyAgICAgICAg
fQo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICB7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYs
ICIgICAgICAgIHZhbCA9IHZtX29wdF9sdChyZWN2LCBvYmopO1xuIik7Cj4gKyAgICAgICAgZnBy
aW50ZihmLCAiXG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIGlmICh2YWwgPT0g
UXVuZGVmKSB7XG4iKTsKPiArICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cj4g
KyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgIHJlZ19jZnAtPnNwID0gKFZBTFVF
ICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAxKTsKPiArICAgICAgICB9
Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICAgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5h
bF9ib2R5X2lzZXEgKyAlZDtcbiIsIHBvcyk7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAg
ICAgICAgZ290byBjYW5jZWw7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIH1c
biIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICB9XG4iKTsKPiArICAgICAgICBmcHJpbnRm
KGYsICIgICAgc3RhY2tbJWRdID0gdmFsO1xuIiwgYi0+c3RhY2tfc2l6ZSArIChpbnQpYXR0cl9z
cF9pbmNfb3B0X2x0KGNpLCBjYykgLSAxKTsKPiArICAgICAgICBiLT5zdGFja19zaXplICs9IGF0
dHJfc3BfaW5jX29wdF9sdChjaSwgY2MpOwo+ICsgICAgfQo+ICsgICAgZnByaW50ZihmLCAifVxu
Iik7Cj4gKyAgICBicmVhazsKPiArICBjYXNlIEJJTihvcHRfbGUpOgo+ICsgICAgZnByaW50Zihm
LCAie1xuIik7Cj4gKyAgICB7Cj4gKyAgICAgICAgTUFZQkVfVU5VU0VEKGludCBwY19tb3ZlZF9w
KSA9IEZBTFNFOwo+ICsgICAgICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpID0gKENBTExf
SU5GTylvcGVyYW5kc1swXTsKPiArICAgICAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykg
PSAoQ0FMTF9DQUNIRSlvcGVyYW5kc1sxXTsKPiArICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9z
dGFja19wKSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQodW5z
aWduZWQgaW50KSBzdGFja19zaXplID0gJXU7XG4iLCBiLT5zdGFja19zaXplKTsKPiArICAgICAg
ICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFKSBj
YztcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZP
KSBjaTtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQoVkFMVUUp
IG9iaiwgcmVjdiwgdmFsO1xuIik7Cj4gKwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBjaSA9
IChDQUxMX0lORk8pMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNbMF0pOwo+ICsgICAgICAgIGNv
bW1lbnRfaWQoZiwgKChDQUxMX0lORk8pb3BlcmFuZHNbMF0pLT5taWQpOwo+ICsgICAgICAgIGZw
cmludGYoZiwgIlxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIGNjID0gKENBTExfQ0FD
SEUpMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNbMV0pOwo+ICsgICAgICAgIGZwcmludGYoZiwg
IlxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIHJlY3YgPSBzdGFja1slZF07XG4iLCBi
LT5zdGFja19zaXplIC0gMik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIG9iaiA9IHN0YWNr
WyVkXTtcbiIsIGItPnN0YWNrX3NpemUgLSAxKTsKPiArICAgICAgICBpZiAoYm9keS0+Y2F0Y2hf
ZXhjZXB0X3AgfHwgRkFMU0UpIHsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19j
ZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBuZXh0X3Bvcyk7IC8qIEFERF9Q
QyhJTlNOX0FUVFIod2lkdGgpKTsgKi8KPiArICAgICAgICAgICAgcGNfbW92ZWRfcCA9IFRSVUU7
Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKPiAr
ICAgICAgICB9Cj4gKyAgICAgICAgZWxzZSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAg
ICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19z
aXplICsgMSk7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICB7XG4iKTsK
PiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHZhbCA9IHZtX29wdF9sZShyZWN2LCBvYmop
O1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYs
ICIgICAgICAgIGlmICh2YWwgPT0gUXVuZGVmKSB7XG4iKTsKPiArICAgICAgICBpZiAoc3RhdHVz
LT5sb2NhbF9zdGFja19wKSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAg
IHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3Np
emUgKyAxKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICAgICAg
cmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIHBvcyk7Cj4gKyAgICAg
ICAgZnByaW50ZihmLCAiICAgICAgICAgICAgZ290byBjYW5jZWw7XG4iKTsKPiArICAgICAgICBm
cHJpbnRmKGYsICIgICAgICAgIH1cbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICB9XG4i
KTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgc3RhY2tbJWRdID0gdmFsO1xuIiwgYi0+c3Rh
Y2tfc2l6ZSArIChpbnQpYXR0cl9zcF9pbmNfb3B0X2xlKGNpLCBjYykgLSAxKTsKPiArICAgICAg
ICBiLT5zdGFja19zaXplICs9IGF0dHJfc3BfaW5jX29wdF9sZShjaSwgY2MpOwo+ICsgICAgfQo+
ICsgICAgZnByaW50ZihmLCAifVxuIik7Cj4gKyAgICBicmVhazsKPiArICBjYXNlIEJJTihvcHRf
Z3QpOgo+ICsgICAgZnByaW50ZihmLCAie1xuIik7Cj4gKyAgICB7Cj4gKyAgICAgICAgTUFZQkVf
VU5VU0VEKGludCBwY19tb3ZlZF9wKSA9IEZBTFNFOwo+ICsgICAgICAgIE1BWUJFX1VOVVNFRChD
QUxMX0lORk8gY2kpID0gKENBTExfSU5GTylvcGVyYW5kc1swXTsKPiArICAgICAgICBNQVlCRV9V
TlVTRUQoQ0FMTF9DQUNIRSBjYykgPSAoQ0FMTF9DQUNIRSlvcGVyYW5kc1sxXTsKPiArICAgICAg
ICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwg
IiAgICBNQVlCRV9VTlVTRUQodW5zaWduZWQgaW50KSBzdGFja19zaXplID0gJXU7XG4iLCBiLT5z
dGFja19zaXplKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJF
X1VOVVNFRChDQUxMX0NBQ0hFKSBjYztcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBN
QVlCRV9VTlVTRUQoQ0FMTF9JTkZPKSBjaTtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAg
ICBNQVlCRV9VTlVTRUQoVkFMVUUpIG9iaiwgcmVjdiwgdmFsO1xuIik7Cj4gKwo+ICsgICAgICAg
IGZwcmludGYoZiwgIiAgICBjaSA9IChDQUxMX0lORk8pMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFu
ZHNbMF0pOwo+ICsgICAgICAgIGNvbW1lbnRfaWQoZiwgKChDQUxMX0lORk8pb3BlcmFuZHNbMF0p
LT5taWQpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIlxuIik7Cj4gKyAgICAgICAgZnByaW50Zihm
LCAiICAgIGNjID0gKENBTExfQ0FDSEUpMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNbMV0pOwo+
ICsgICAgICAgIGZwcmludGYoZiwgIlxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIHJl
Y3YgPSBzdGFja1slZF07XG4iLCBiLT5zdGFja19zaXplIC0gMik7Cj4gKyAgICAgICAgZnByaW50
ZihmLCAiICAgIG9iaiA9IHN0YWNrWyVkXTtcbiIsIGItPnN0YWNrX3NpemUgLSAxKTsKPiArICAg
ICAgICBpZiAoYm9keS0+Y2F0Y2hfZXhjZXB0X3AgfHwgRkFMU0UpIHsKPiArICAgICAgICAgICAg
ZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4i
LCBuZXh0X3Bvcyk7IC8qIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsgKi8KPiArICAgICAgICAg
ICAgcGNfbW92ZWRfcCA9IFRSVUU7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGlmIChzdGF0dXMt
PmxvY2FsX3N0YWNrX3ApIHsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZWxzZSB7Cj4gKyAgICAg
ICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJw
ICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgMSk7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGZw
cmludGYoZiwgIiAgICB7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHZhbCA9
IHZtX29wdF9ndChyZWN2LCBvYmopO1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsK
PiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIGlmICh2YWwgPT0gUXVuZGVmKSB7XG4iKTsK
PiArICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cj4gKyAgICAgICAgICAgIGZw
cmludGYoZiwgIiAgICAgICAgICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAg
KyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAxKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnBy
aW50ZihmLCAiICAgICAgICAgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAl
ZDtcbiIsIHBvcyk7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICAgICAgZ290byBjYW5j
ZWw7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIH1cbiIpOwo+ICsgICAgICAg
IGZwcmludGYoZiwgIiAgICB9XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgc3RhY2tb
JWRdID0gdmFsO1xuIiwgYi0+c3RhY2tfc2l6ZSArIChpbnQpYXR0cl9zcF9pbmNfb3B0X2d0KGNp
LCBjYykgLSAxKTsKPiArICAgICAgICBiLT5zdGFja19zaXplICs9IGF0dHJfc3BfaW5jX29wdF9n
dChjaSwgY2MpOwo+ICsgICAgfQo+ICsgICAgZnByaW50ZihmLCAifVxuIik7Cj4gKyAgICBicmVh
azsKPiArICBjYXNlIEJJTihvcHRfZ2UpOgo+ICsgICAgZnByaW50ZihmLCAie1xuIik7Cj4gKyAg
ICB7Cj4gKyAgICAgICAgTUFZQkVfVU5VU0VEKGludCBwY19tb3ZlZF9wKSA9IEZBTFNFOwo+ICsg
ICAgICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpID0gKENBTExfSU5GTylvcGVyYW5kc1sw
XTsKPiArICAgICAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykgPSAoQ0FMTF9DQUNIRSlv
cGVyYW5kc1sxXTsKPiArICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cj4gKyAg
ICAgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQodW5zaWduZWQgaW50KSBzdGFj
a19zaXplID0gJXU7XG4iLCBiLT5zdGFja19zaXplKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAg
ZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFKSBjYztcbiIpOwo+ICsgICAg
ICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPKSBjaTtcbiIpOwo+ICsg
ICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIG9iaiwgcmVjdiwgdmFs
O1xuIik7Cj4gKwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBjaSA9IChDQUxMX0lORk8pMHgl
IlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNbMF0pOwo+ICsgICAgICAgIGNvbW1lbnRfaWQoZiwgKChD
QUxMX0lORk8pb3BlcmFuZHNbMF0pLT5taWQpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIlxuIik7
Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIGNjID0gKENBTExfQ0FDSEUpMHglIlBSSXhWQUxV
RSI7Iiwgb3BlcmFuZHNbMV0pOwo+ICsgICAgICAgIGZwcmludGYoZiwgIlxuIik7Cj4gKyAgICAg
ICAgZnByaW50ZihmLCAiICAgIHJlY3YgPSBzdGFja1slZF07XG4iLCBiLT5zdGFja19zaXplIC0g
Mik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIG9iaiA9IHN0YWNrWyVkXTtcbiIsIGItPnN0
YWNrX3NpemUgLSAxKTsKPiArICAgICAgICBpZiAoYm9keS0+Y2F0Y2hfZXhjZXB0X3AgfHwgRkFM
U0UpIHsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnBjID0gb3JpZ2lu
YWxfYm9keV9pc2VxICsgJWQ7XG4iLCBuZXh0X3Bvcyk7IC8qIEFERF9QQyhJTlNOX0FUVFIod2lk
dGgpKTsgKi8KPiArICAgICAgICAgICAgcGNfbW92ZWRfcCA9IFRSVUU7Cj4gKyAgICAgICAgfQo+
ICsgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKPiArICAgICAgICB9Cj4gKyAg
ICAgICAgZWxzZSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5zcCA9
IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgMSk7Cj4gKyAg
ICAgICAgfQo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICB7XG4iKTsKPiArICAgICAgICBmcHJp
bnRmKGYsICIgICAgICAgIHZhbCA9IHZtX29wdF9nZShyZWN2LCBvYmopO1xuIik7Cj4gKyAgICAg
ICAgZnByaW50ZihmLCAiXG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIGlmICh2
YWwgPT0gUXVuZGVmKSB7XG4iKTsKPiArICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19w
KSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgIHJlZ19jZnAtPnNwID0g
KFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAxKTsKPiArICAg
ICAgICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICAgICAgcmVnX2NmcC0+cGMgPSBv
cmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIHBvcyk7Cj4gKyAgICAgICAgZnByaW50ZihmLCAi
ICAgICAgICAgICAgZ290byBjYW5jZWw7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAg
ICAgIH1cbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICB9XG4iKTsKPiArICAgICAgICBm
cHJpbnRmKGYsICIgICAgc3RhY2tbJWRdID0gdmFsO1xuIiwgYi0+c3RhY2tfc2l6ZSArIChpbnQp
YXR0cl9zcF9pbmNfb3B0X2dlKGNpLCBjYykgLSAxKTsKPiArICAgICAgICBiLT5zdGFja19zaXpl
ICs9IGF0dHJfc3BfaW5jX29wdF9nZShjaSwgY2MpOwo+ICsgICAgfQo+ICsgICAgZnByaW50Zihm
LCAifVxuIik7Cj4gKyAgICBicmVhazsKPiArICBjYXNlIEJJTihvcHRfbHRsdCk6Cj4gKyAgICBm
cHJpbnRmKGYsICJ7XG4iKTsKPiArICAgIHsKPiArICAgICAgICBNQVlCRV9VTlVTRUQoaW50IHBj
X21vdmVkX3ApID0gRkFMU0U7Cj4gKyAgICAgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTyBjaSkg
PSAoQ0FMTF9JTkZPKW9wZXJhbmRzWzBdOwo+ICsgICAgICAgIE1BWUJFX1VOVVNFRChDQUxMX0NB
Q0hFIGNjKSA9IChDQUxMX0NBQ0hFKW9wZXJhbmRzWzFdOwo+ICsgICAgICAgIGlmIChzdGF0dXMt
PmxvY2FsX3N0YWNrX3ApIHsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VO
VVNFRCh1bnNpZ25lZCBpbnQpIHN0YWNrX3NpemUgPSAldTtcbiIsIGItPnN0YWNrX3NpemUpOwo+
ICsgICAgICAgIH0KPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKENBTExf
Q0FDSEUpIGNjO1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChD
QUxMX0lORk8pIGNpO1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNF
RChWQUxVRSkgb2JqLCByZWN2LCB2YWw7XG4iKTsKPiArCj4gKyAgICAgICAgZnByaW50ZihmLCAi
ICAgIGNpID0gKENBTExfSU5GTykweCUiUFJJeFZBTFVFIjsiLCBvcGVyYW5kc1swXSk7Cj4gKyAg
ICAgICAgY29tbWVudF9pZChmLCAoKENBTExfSU5GTylvcGVyYW5kc1swXSktPm1pZCk7Cj4gKyAg
ICAgICAgZnByaW50ZihmLCAiXG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgY2MgPSAo
Q0FMTF9DQUNIRSkweCUiUFJJeFZBTFVFIjsiLCBvcGVyYW5kc1sxXSk7Cj4gKyAgICAgICAgZnBy
aW50ZihmLCAiXG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVjdiA9IHN0YWNrWyVk
XTtcbiIsIGItPnN0YWNrX3NpemUgLSAyKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgb2Jq
ID0gc3RhY2tbJWRdO1xuIiwgYi0+c3RhY2tfc2l6ZSAtIDEpOwo+ICsgICAgICAgIGlmIChib2R5
LT5jYXRjaF9leGNlcHRfcCB8fCBGQUxTRSkgewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIg
ICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsg
LyogQUREX1BDKElOU05fQVRUUih3aWR0aCkpOyAqLwo+ICsgICAgICAgICAgICBwY19tb3ZlZF9w
ID0gVFJVRTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tf
cCkgewo+ICsgICAgICAgIH0KPiArICAgICAgICBlbHNlIHsKPiArICAgICAgICAgICAgZnByaW50
ZihmLCAiICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGIt
PnN0YWNrX3NpemUgKyAxKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAg
IHtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgdmFsID0gdm1fb3B0X2x0bHQo
cmVjdiwgb2JqKTtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIlxuIik7Cj4gKyAgICAgICAg
ZnByaW50ZihmLCAiICAgICAgICBpZiAodmFsID09IFF1bmRlZikge1xuIik7Cj4gKyAgICAgICAg
aWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIg
ICAgICAgICAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBi
LT5zdGFja19zaXplICsgMSk7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGZwcmludGYoZiwgIiAg
ICAgICAgICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBwb3Mp
Owo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgIGdvdG8gY2FuY2VsO1xuIik7Cj4g
KyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICB9XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYs
ICIgICAgfVxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIHN0YWNrWyVkXSA9IHZhbDtc
biIsIGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5jX29wdF9sdGx0KGNpLCBjYykgLSAx
KTsKPiArICAgICAgICBiLT5zdGFja19zaXplICs9IGF0dHJfc3BfaW5jX29wdF9sdGx0KGNpLCBj
Yyk7Cj4gKyAgICB9Cj4gKyAgICBmcHJpbnRmKGYsICJ9XG4iKTsKPiArICAgIGJyZWFrOwo+ICsg
IGNhc2UgQklOKG9wdF9hbmQpOgo+ICsgICAgZnByaW50ZihmLCAie1xuIik7Cj4gKyAgICB7Cj4g
KyAgICAgICAgTUFZQkVfVU5VU0VEKGludCBwY19tb3ZlZF9wKSA9IEZBTFNFOwo+ICsgICAgICAg
IE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpID0gKENBTExfSU5GTylvcGVyYW5kc1swXTsKPiAr
ICAgICAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykgPSAoQ0FMTF9DQUNIRSlvcGVyYW5k
c1sxXTsKPiArICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cj4gKyAgICAgICAg
ICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQodW5zaWduZWQgaW50KSBzdGFja19zaXpl
ID0gJXU7XG4iLCBiLT5zdGFja19zaXplKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50
ZihmLCAiICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFKSBjYztcbiIpOwo+ICsgICAgICAgIGZw
cmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPKSBjaTtcbiIpOwo+ICsgICAgICAg
IGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIG9iaiwgcmVjdiwgdmFsO1xuIik7
Cj4gKwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBjaSA9IChDQUxMX0lORk8pMHglIlBSSXhW
QUxVRSI7Iiwgb3BlcmFuZHNbMF0pOwo+ICsgICAgICAgIGNvbW1lbnRfaWQoZiwgKChDQUxMX0lO
Rk8pb3BlcmFuZHNbMF0pLT5taWQpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIlxuIik7Cj4gKyAg
ICAgICAgZnByaW50ZihmLCAiICAgIGNjID0gKENBTExfQ0FDSEUpMHglIlBSSXhWQUxVRSI7Iiwg
b3BlcmFuZHNbMV0pOwo+ICsgICAgICAgIGZwcmludGYoZiwgIlxuIik7Cj4gKyAgICAgICAgZnBy
aW50ZihmLCAiICAgIHJlY3YgPSBzdGFja1slZF07XG4iLCBiLT5zdGFja19zaXplIC0gMik7Cj4g
KyAgICAgICAgZnByaW50ZihmLCAiICAgIG9iaiA9IHN0YWNrWyVkXTtcbiIsIGItPnN0YWNrX3Np
emUgLSAxKTsKPiArICAgICAgICBpZiAoYm9keS0+Y2F0Y2hfZXhjZXB0X3AgfHwgRkFMU0UpIHsK
PiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9k
eV9pc2VxICsgJWQ7XG4iLCBuZXh0X3Bvcyk7IC8qIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsg
Ki8KPiArICAgICAgICAgICAgcGNfbW92ZWRfcCA9IFRSVUU7Cj4gKyAgICAgICAgfQo+ICsgICAg
ICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKPiArICAgICAgICB9Cj4gKyAgICAgICAg
ZWxzZSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5zcCA9IChWQUxV
RSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgMSk7Cj4gKyAgICAgICAg
fQo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICB7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYs
ICIgICAgICAgIHZhbCA9IHZtX29wdF9hbmQocmVjdiwgb2JqKTtcbiIpOwo+ICsgICAgICAgIGZw
cmludGYoZiwgIlxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICBpZiAodmFsID09
IFF1bmRlZikge1xuIik7Cj4gKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgewo+
ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgICAgICByZWdfY2ZwLT5zcCA9IChWQUxV
RSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgMSk7Cj4gKyAgICAgICAg
fQo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgIHJlZ19jZnAtPnBjID0gb3JpZ2lu
YWxfYm9keV9pc2VxICsgJWQ7XG4iLCBwb3MpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAg
ICAgICAgIGdvdG8gY2FuY2VsO1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICB9
XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgfVxuIik7Cj4gKyAgICAgICAgZnByaW50
ZihmLCAiICAgIHN0YWNrWyVkXSA9IHZhbDtcbiIsIGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJf
c3BfaW5jX29wdF9hbmQoY2ksIGNjKSAtIDEpOwo+ICsgICAgICAgIGItPnN0YWNrX3NpemUgKz0g
YXR0cl9zcF9pbmNfb3B0X2FuZChjaSwgY2MpOwo+ICsgICAgfQo+ICsgICAgZnByaW50ZihmLCAi
fVxuIik7Cj4gKyAgICBicmVhazsKPiArICBjYXNlIEJJTihvcHRfb3IpOgo+ICsgICAgZnByaW50
ZihmLCAie1xuIik7Cj4gKyAgICB7Cj4gKyAgICAgICAgTUFZQkVfVU5VU0VEKGludCBwY19tb3Zl
ZF9wKSA9IEZBTFNFOwo+ICsgICAgICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpID0gKENB
TExfSU5GTylvcGVyYW5kc1swXTsKPiArICAgICAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBj
YykgPSAoQ0FMTF9DQUNIRSlvcGVyYW5kc1sxXTsKPiArICAgICAgICBpZiAoc3RhdHVzLT5sb2Nh
bF9zdGFja19wKSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQo
dW5zaWduZWQgaW50KSBzdGFja19zaXplID0gJXU7XG4iLCBiLT5zdGFja19zaXplKTsKPiArICAg
ICAgICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hF
KSBjYztcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQoQ0FMTF9J
TkZPKSBjaTtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQoVkFM
VUUpIG9iaiwgcmVjdiwgdmFsO1xuIik7Cj4gKwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBj
aSA9IChDQUxMX0lORk8pMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNbMF0pOwo+ICsgICAgICAg
IGNvbW1lbnRfaWQoZiwgKChDQUxMX0lORk8pb3BlcmFuZHNbMF0pLT5taWQpOwo+ICsgICAgICAg
IGZwcmludGYoZiwgIlxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIGNjID0gKENBTExf
Q0FDSEUpMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNbMV0pOwo+ICsgICAgICAgIGZwcmludGYo
ZiwgIlxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIHJlY3YgPSBzdGFja1slZF07XG4i
LCBiLT5zdGFja19zaXplIC0gMik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIG9iaiA9IHN0
YWNrWyVkXTtcbiIsIGItPnN0YWNrX3NpemUgLSAxKTsKPiArICAgICAgICBpZiAoYm9keS0+Y2F0
Y2hfZXhjZXB0X3AgfHwgRkFMU0UpIHsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJl
Z19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBuZXh0X3Bvcyk7IC8qIEFE
RF9QQyhJTlNOX0FUVFIod2lkdGgpKTsgKi8KPiArICAgICAgICAgICAgcGNfbW92ZWRfcCA9IFRS
VUU7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsK
PiArICAgICAgICB9Cj4gKyAgICAgICAgZWxzZSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwg
IiAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFj
a19zaXplICsgMSk7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICB7XG4i
KTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHZhbCA9IHZtX29wdF9vcihyZWN2LCBv
YmopO1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsKPiArICAgICAgICBmcHJpbnRm
KGYsICIgICAgICAgIGlmICh2YWwgPT0gUXVuZGVmKSB7XG4iKTsKPiArICAgICAgICBpZiAoc3Rh
dHVzLT5sb2NhbF9zdGFja19wKSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAg
ICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNr
X3NpemUgKyAxKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICAg
ICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIHBvcyk7Cj4gKyAg
ICAgICAgZnByaW50ZihmLCAiICAgICAgICAgICAgZ290byBjYW5jZWw7XG4iKTsKPiArICAgICAg
ICBmcHJpbnRmKGYsICIgICAgICAgIH1cbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICB9
XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgc3RhY2tbJWRdID0gdmFsO1xuIiwgYi0+
c3RhY2tfc2l6ZSArIChpbnQpYXR0cl9zcF9pbmNfb3B0X29yKGNpLCBjYykgLSAxKTsKPiArICAg
ICAgICBiLT5zdGFja19zaXplICs9IGF0dHJfc3BfaW5jX29wdF9vcihjaSwgY2MpOwo+ICsgICAg
fQo+ICsgICAgZnByaW50ZihmLCAifVxuIik7Cj4gKyAgICBicmVhazsKPiArICBjYXNlIEJJTihv
cHRfYXJlZik6Cj4gK3sKPiArICAgIE1BWUJFX1VOVVNFRChpbnQgcGNfbW92ZWRfcCkgPSBGQUxT
RTsKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpID0gKENBTExfSU5GTylvcGVyYW5k
c1swXTsKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKSA9IChDQUxMX0NBQ0hFKW9w
ZXJhbmRzWzFdOwo+ICsgICAgQ0FMTF9DQUNIRSBjY19jb3B5ID0gc3RhdHVzLT5jY19lbnRyaWVz
ICsgKGNjIC0gYm9keS0+Y2NfZW50cmllcyk7Cj4gKyAgICBpZiAoaGFzX3ZhbGlkX21ldGhvZF90
eXBlKGNjX2NvcHkpKSB7Cj4gKyAgICAgICAgY29uc3QgcmJfaXNlcV90ICppc2VxOwo+ICsgICAg
ICAgIHVuc2lnbmVkIGludCBhcmdjID0gY2ktPm9yaWdfYXJnYzsgLyogdW5saWtlIGBjaS0+b3Jp
Z19hcmdjYCwgYGFyZ2NgIG1heSBpbmNsdWRlIGJsb2NrYXJnICovCj4gKwo+ICsgICAgICAgIGlm
ICghKGNpLT5mbGFnICYgVk1fQ0FMTF9UQUlMQ0FMTCkgJiYgLyogaW5saW5pbmcgbm9uLXRhaWxj
YWxsIHBhdGggKi8KPiArICAgICAgICAgICAgY2NfY29weS0+bWUtPmRlZi0+dHlwZSA9PSBWTV9N
RVRIT0RfVFlQRV9JU0VRICYmIGlubGluYWJsZV9pc2VxX3AoY2ksIGNjX2NvcHksIGlzZXEgPSBk
ZWZfaXNlcV9wdHIoY2NfY29weS0+bWUtPmRlZikpIC8qIENDX1NFVF9GQVNUUEFUSCBpbiB2bV9j
YWxsZWVfc2V0dXBfYXJnICovKSB7Cj4gKyAgICAgICAgICAgIGludCBwYXJhbV9zaXplID0gaXNl
cS0+Ym9keS0+cGFyYW0uc2l6ZTsgLyogVE9ETzogY2hlY2sgY2FsbGluZy0+YXJnYyBmb3IgYXJn
dW1lbnRfYXJpdHlfZXJyb3IgKi8KPiArCj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIntcbiIp
Owo+ICsgICAgICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cj4gKyAgICAgICAg
ICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVuc2lnbmVkIGludCkgc3RhY2tf
c2l6ZSA9ICV1O1xuIiwgYi0+c3RhY2tfc2l6ZSk7Cj4gKyAgICAgICAgICAgIH0KPiArCj4gKyAg
ICAgICAgICAgIGZwcmludGYoZiwgIiAgICBpZiAoVU5MSUtFTFkoR0VUX0dMT0JBTF9NRVRIT0Rf
U1RBVEUoKSAhPSAlIlBSSV9TRVJJQUxUX1BSRUZJWCJ1IHx8XG4iLCBjY19jb3B5LT5tZXRob2Rf
c3RhdGUpOwo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIFJDTEFTU19TRVJJQUwo
Q0xBU1NfT0Yoc3RhY2tbJWRdKSkgIT0gJSJQUklfU0VSSUFMVF9QUkVGSVgidSkpIHtcbiIsIGIt
PnN0YWNrX3NpemUgLSAxIC0gYXJnYywgY2NfY29weS0+Y2xhc3Nfc2VyaWFsKTsKPiArICAgICAg
ICAgICAgZnByaW50ZihmLCAiICAgICAgICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNl
cSArICVkO1xuIiwgcG9zKTsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgICAgICByZWdf
Y2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsg
MSk7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgZ290byBjYW5jZWw7XG4iKTsK
PiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIpOwo+ICsKPiArICAgICAgICBpZiAo
Ym9keS0+Y2F0Y2hfZXhjZXB0X3AgfHwgVFJVRSkgewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYs
ICIgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9z
KTsgLyogQUREX1BDKElOU05fQVRUUih3aWR0aCkpOyAqLwo+ICsgICAgICAgICAgICBwY19tb3Zl
ZF9wID0gVFJVRTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3Rh
Y2tfcCkgewo+ICsgICAgICAgICAgICB7Cj4gKyAgICAgICAgICAgICAgICByYl9zbnVtX3QgaSwg
cHVzaF9zaXplOwo+ICsgICAgICAgICAgICAgICAgcHVzaF9zaXplID0gLWF0dHJfc3BfaW5jX29w
dF9zZW5kX3dpdGhvdXRfYmxvY2soY2ksIGNjKSArIDEgLSAwOwo+ICsgICAgICAgICAgICAgICAg
ZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlbGQg
KyAxO1xuIiwgcHVzaF9zaXplKTsgLyogUE9QTihJTlNOX0FUVFIocG9wbikpOyAqLwo+ICsgICAg
ICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IHB1c2hfc2l6ZTsgaSsrKSB7Cj4gKyAgICAgICAg
ICAgICAgICAgICAgZnByaW50ZihmLCAiICAgICoocmVnX2NmcC0+c3AgKyAlbGQpID0gc3RhY2tb
JWxkXTtcbiIsIGkgLSBwdXNoX3NpemUsIChyYl9zbnVtX3QpYi0+c3RhY2tfc2l6ZSAtIHB1c2hf
c2l6ZSArIGkpOwo+ICsgICAgICAgICAgICAgICAgfQo+ICsgICAgICAgICAgICB9Cj4gKyAgICAg
ICAgfQo+ICsgICAgICAgIGVsc2Ugewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVn
X2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSAr
IDEgLSAwKTsgLyogUE9QTihJTlNOX0FUVFIocG9wbikpOyAqLwo+ICsgICAgICAgIH0KPiArCj4g
KyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICB7XG4iKTsKPiArICAgICAgICAgICAgZnByaW50
ZihmLCAiICAgICAgICBzdHJ1Y3QgcmJfY2FsbGluZ19pbmZvIGNhbGxpbmc7XG4iKTsKPiArICAg
ICAgICAgICAgZnByaW50ZihmLCAiICAgICAgICBjYWxsaW5nLmJsb2NrX2hhbmRsZXIgPSBWTV9C
TE9DS19IQU5ETEVSX05PTkU7XG4iKTsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgICAg
ICBjYWxsaW5nLmFyZ2MgPSAlZDtcbiIsIGNpLT5vcmlnX2FyZ2MpOwo+ICsgICAgICAgICAgICBm
cHJpbnRmKGYsICIgICAgICAgIGNhbGxpbmcucmVjdiA9IHN0YWNrWyVkXTtcbiIsIGItPnN0YWNr
X3NpemUgLSAxIC0gYXJnYyk7Cj4gKwo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgICAg
IHtcbiIpOwo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgICAgICBWQUxVRSB2O1xu
Iik7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgIHZtX2NhbGxfaXNlcV9z
ZXR1cF9ub3JtYWwoZWMsIHJlZ19jZnAsICZjYWxsaW5nLCAoY29uc3QgcmJfY2FsbGFibGVfbWV0
aG9kX2VudHJ5X3QgKikweCUiUFJJeFZBTFVFIiwgMCwgJWQsICVkKTtcbiIsCj4gKyAgICAgICAg
ICAgICAgICAgICAgKFZBTFVFKWNjX2NvcHktPm1lLCBwYXJhbV9zaXplLCBpc2VxLT5ib2R5LT5s
b2NhbF90YWJsZV9zaXplKTsgLyogcmJfc2ltcGxlX2lzZXFfcCBjaGVja3MgcmJfc2ltcGxlX2lz
ZXFfcCwgd2hpY2ggZW5zdXJlcyBoYXNfb3B0ID09IEZBTFNFICovCj4gKyAgICAgICAgICAgIGlm
IChpc2VxLT5ib2R5LT5jYXRjaF9leGNlcHRfcCkgewo+ICsgICAgICAgICAgICAgICAgZnByaW50
ZihmLCAiICAgICAgICAgICAgVk1fRU5WX0ZMQUdTX1NFVChlYy0+Y2ZwLT5lcCwgVk1fRlJBTUVf
RkxBR19GSU5JU0gpO1xuIik7Cj4gKyAgICAgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgICAg
ICAgICB2ID0gdm1fZXhlYyhlYywgVFJVRSk7XG4iKTsKPiArICAgICAgICAgICAgfQo+ICsgICAg
ICAgICAgICBlbHNlIHsKPiArICAgICAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAg
IGlmICgodiA9IG1qaXRfZXhlYyhlYykpID09IFF1bmRlZikge1xuIik7Cj4gKyAgICAgICAgICAg
ICAgICBmcHJpbnRmKGYsICIgICAgICAgICAgICAgICAgVk1fRU5WX0ZMQUdTX1NFVChlYy0+Y2Zw
LT5lcCwgVk1fRlJBTUVfRkxBR19GSU5JU0gpO1xuIik7IC8qIFRoaXMgaXMgdm1fY2FsbDBfYm9k
eSdzIGNvZGUgYWZ0ZXIgdm1fY2FsbF9pc2VxX3NldHVwICovCj4gKyAgICAgICAgICAgICAgICBm
cHJpbnRmKGYsICIgICAgICAgICAgICAgICAgdiA9IHZtX2V4ZWMoZWMsIEZBTFNFKTtcbiIpOwo+
ICsgICAgICAgICAgICAgICAgZnByaW50ZihmLCAiICAgICAgICAgICAgfVxuIik7Cj4gKyAgICAg
ICAgICAgIH0KPiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgICAgICAgICAgc3RhY2tbJWRd
ID0gdjtcbiIsIGItPnN0YWNrX3NpemUgLSBhcmdjIC0gMSk7Cj4gKyAgICAgICAgICAgIGZwcmlu
dGYoZiwgIiAgICAgICAgfVxuIik7Cj4gKwo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAg
fVxuIik7Cj4gKwo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgaWYgKFVOTElLRUxZKHJ1
Ynlfdm1fZXZlbnRfZW5hYmxlZF9nbG9iYWxfZmxhZ3MgJiBJU0VRX1RSQUNFX0VWRU5UUykpIHtc
biIpOwo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHJlZ19jZnAtPnNwID0gKFZB
TFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3Bf
aW5jX29wdF9zZW5kX3dpdGhvdXRfYmxvY2soY2ksIGNjKSArIDEpOwo+ICsgICAgICAgICAgICBp
ZiAoIXBjX21vdmVkX3ApIHsKPiArICAgICAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAg
cmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsKPiAr
ICAgICAgICAgICAgfQo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIGdvdG8gY2Fu
Y2VsO1xuIik7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICB9XG4iKTsKPiArCj4gKyAg
ICAgICAgICAgIGItPnN0YWNrX3NpemUgKz0gYXR0cl9zcF9pbmNfb3B0X3NlbmRfd2l0aG91dF9i
bG9jayhjaSwgY2MpOwo+ICsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAifVxuIik7Cj4gKyAg
ICAgICAgICAgIGJyZWFrOwo+ICsgICAgICAgIH0KPiArICAgIH0KPiArfQo+ICsgICAgZnByaW50
ZihmLCAie1xuIik7Cj4gKyAgICB7Cj4gKyAgICAgICAgTUFZQkVfVU5VU0VEKGludCBwY19tb3Zl
ZF9wKSA9IEZBTFNFOwo+ICsgICAgICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpID0gKENB
TExfSU5GTylvcGVyYW5kc1swXTsKPiArICAgICAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBj
YykgPSAoQ0FMTF9DQUNIRSlvcGVyYW5kc1sxXTsKPiArICAgICAgICBpZiAoc3RhdHVzLT5sb2Nh
bF9zdGFja19wKSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQo
dW5zaWduZWQgaW50KSBzdGFja19zaXplID0gJXU7XG4iLCBiLT5zdGFja19zaXplKTsKPiArICAg
ICAgICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hF
KSBjYztcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQoQ0FMTF9J
TkZPKSBjaTtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQoVkFM
VUUpIG9iaiwgcmVjdiwgdmFsO1xuIik7Cj4gKwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBj
aSA9IChDQUxMX0lORk8pMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNbMF0pOwo+ICsgICAgICAg
IGNvbW1lbnRfaWQoZiwgKChDQUxMX0lORk8pb3BlcmFuZHNbMF0pLT5taWQpOwo+ICsgICAgICAg
IGZwcmludGYoZiwgIlxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIGNjID0gKENBTExf
Q0FDSEUpMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNbMV0pOwo+ICsgICAgICAgIGZwcmludGYo
ZiwgIlxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIHJlY3YgPSBzdGFja1slZF07XG4i
LCBiLT5zdGFja19zaXplIC0gMik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIG9iaiA9IHN0
YWNrWyVkXTtcbiIsIGItPnN0YWNrX3NpemUgLSAxKTsKPiArICAgICAgICBpZiAoYm9keS0+Y2F0
Y2hfZXhjZXB0X3AgfHwgVFJVRSkgewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVn
X2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsgLyogQURE
X1BDKElOU05fQVRUUih3aWR0aCkpOyAqLwo+ICsgICAgICAgICAgICBwY19tb3ZlZF9wID0gVFJV
RTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgewo+
ICsgICAgICAgIH0KPiArICAgICAgICBlbHNlIHsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAi
ICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNr
X3NpemUgKyAxKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIHtcbiIp
Owo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgdmFsID0gdm1fb3B0X2FyZWYocmVjdiwg
b2JqKTtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIlxuIik7Cj4gKyAgICAgICAgZnByaW50
ZihmLCAiICAgICAgICBpZiAodmFsID09IFF1bmRlZikge1xuIik7Cj4gKyAgICAgICAgaWYgKHN0
YXR1cy0+bG9jYWxfc3RhY2tfcCkgewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgICAg
ICAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFj
a19zaXplICsgMSk7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAg
ICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBwb3MpOwo+ICsg
ICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgIGdvdG8gY2FuY2VsO1xuIik7Cj4gKyAgICAg
ICAgZnByaW50ZihmLCAiICAgICAgICB9XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAg
fVxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIHN0YWNrWyVkXSA9IHZhbDtcbiIsIGIt
PnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5jX29wdF9hcmVmKGNpLCBjYykgLSAxKTsKPiAr
ICAgICAgICBmcHJpbnRmKGYsICIgICAgaWYgKFVOTElLRUxZKHJ1Ynlfdm1fZXZlbnRfZW5hYmxl
ZF9nbG9iYWxfZmxhZ3MgJiBJU0VRX1RSQUNFX0VWRU5UUykpIHtcbiIpOwo+ICsgICAgICAgIGZw
cmludGYoZiwgIiAgICAgICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVk
O1xuIiwgYi0+c3RhY2tfc2l6ZSArIChpbnQpYXR0cl9zcF9pbmNfb3B0X2FyZWYoY2ksIGNjKSAr
IDEpOwo+ICsgICAgICAgIGlmICghcGNfbW92ZWRfcCkgewo+ICsgICAgICAgICAgICBmcHJpbnRm
KGYsICIgICAgICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBu
ZXh0X3Bvcyk7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgZ290
byBjYW5jZWw7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgfVxuIik7Cj4gKyAgICAg
ICAgYi0+c3RhY2tfc2l6ZSArPSBhdHRyX3NwX2luY19vcHRfYXJlZihjaSwgY2MpOwo+ICsgICAg
fQo+ICsgICAgZnByaW50ZihmLCAifVxuIik7Cj4gKyAgICBicmVhazsKPiArICBjYXNlIEJJTihv
cHRfYXNldCk6Cj4gKyAgICBmcHJpbnRmKGYsICJ7XG4iKTsKPiArICAgIHsKPiArICAgICAgICBN
QVlCRV9VTlVTRUQoaW50IHBjX21vdmVkX3ApID0gRkFMU0U7Cj4gKyAgICAgICAgTUFZQkVfVU5V
U0VEKENBTExfSU5GTyBjaSkgPSAoQ0FMTF9JTkZPKW9wZXJhbmRzWzBdOwo+ICsgICAgICAgIE1B
WUJFX1VOVVNFRChDQUxMX0NBQ0hFIGNjKSA9IChDQUxMX0NBQ0hFKW9wZXJhbmRzWzFdOwo+ICsg
ICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKPiArICAgICAgICAgICAgZnByaW50
ZihmLCAiICAgIE1BWUJFX1VOVVNFRCh1bnNpZ25lZCBpbnQpIHN0YWNrX3NpemUgPSAldTtcbiIs
IGItPnN0YWNrX3NpemUpOwo+ICsgICAgICAgIH0KPiArICAgICAgICBmcHJpbnRmKGYsICIgICAg
TUFZQkVfVU5VU0VEKENBTExfQ0FDSEUpIGNjO1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAi
ICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8pIGNpO1xuIik7Cj4gKyAgICAgICAgZnByaW50Zihm
LCAiICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgb2JqLCByZWN2LCBzZXQsIHZhbDtcbiIpOwo+ICsK
PiArICAgICAgICBmcHJpbnRmKGYsICIgICAgY2kgPSAoQ0FMTF9JTkZPKTB4JSJQUkl4VkFMVUUi
OyIsIG9wZXJhbmRzWzBdKTsKPiArICAgICAgICBjb21tZW50X2lkKGYsICgoQ0FMTF9JTkZPKW9w
ZXJhbmRzWzBdKS0+bWlkKTsKPiArICAgICAgICBmcHJpbnRmKGYsICJcbiIpOwo+ICsgICAgICAg
IGZwcmludGYoZiwgIiAgICBjYyA9IChDQUxMX0NBQ0hFKTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJh
bmRzWzFdKTsKPiArICAgICAgICBmcHJpbnRmKGYsICJcbiIpOwo+ICsgICAgICAgIGZwcmludGYo
ZiwgIiAgICByZWN2ID0gc3RhY2tbJWRdO1xuIiwgYi0+c3RhY2tfc2l6ZSAtIDMpOwo+ICsgICAg
ICAgIGZwcmludGYoZiwgIiAgICBvYmogPSBzdGFja1slZF07XG4iLCBiLT5zdGFja19zaXplIC0g
Mik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIHNldCA9IHN0YWNrWyVkXTtcbiIsIGItPnN0
YWNrX3NpemUgLSAxKTsKPiArICAgICAgICBpZiAoYm9keS0+Y2F0Y2hfZXhjZXB0X3AgfHwgVFJV
RSkgewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5h
bF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsgLyogQUREX1BDKElOU05fQVRUUih3aWR0
aCkpOyAqLwo+ICsgICAgICAgICAgICBwY19tb3ZlZF9wID0gVFJVRTsKPiArICAgICAgICB9Cj4g
KyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgewo+ICsgICAgICAgIH0KPiArICAg
ICAgICBlbHNlIHsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnNwID0g
KFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAxKTsKPiArICAg
ICAgICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIHtcbiIpOwo+ICsgICAgICAgIGZwcmlu
dGYoZiwgIiAgICAgICAgdmFsID0gdm1fb3B0X2FzZXQocmVjdiwgb2JqLCBzZXQpO1xuIik7Cj4g
KyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAg
IGlmICh2YWwgPT0gUXVuZGVmKSB7XG4iKTsKPiArICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9z
dGFja19wKSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgIHJlZ19jZnAt
PnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAxKTsK
PiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICAgICAgcmVnX2NmcC0+
cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIHBvcyk7Cj4gKyAgICAgICAgZnByaW50
ZihmLCAiICAgICAgICAgICAgZ290byBjYW5jZWw7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYs
ICIgICAgICAgIH1cbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICB9XG4iKTsKPiArICAg
ICAgICBmcHJpbnRmKGYsICIgICAgc3RhY2tbJWRdID0gdmFsO1xuIiwgYi0+c3RhY2tfc2l6ZSAr
IChpbnQpYXR0cl9zcF9pbmNfb3B0X2FzZXQoY2ksIGNjKSAtIDEpOwo+ICsgICAgICAgIGZwcmlu
dGYoZiwgIiAgICBpZiAoVU5MSUtFTFkocnVieV92bV9ldmVudF9lbmFibGVkX2dsb2JhbF9mbGFn
cyAmIElTRVFfVFJBQ0VfRVZFTlRTKSkge1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAg
ICAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFj
a19zaXplICsgKGludClhdHRyX3NwX2luY19vcHRfYXNldChjaSwgY2MpICsgMSk7Cj4gKyAgICAg
ICAgaWYgKCFwY19tb3ZlZF9wKSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAg
cmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsKPiAr
ICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICBnb3RvIGNhbmNlbDtcbiIp
Owo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICB9XG4iKTsKPiArICAgICAgICBiLT5zdGFja19z
aXplICs9IGF0dHJfc3BfaW5jX29wdF9hc2V0KGNpLCBjYyk7Cj4gKyAgICB9Cj4gKyAgICBmcHJp
bnRmKGYsICJ9XG4iKTsKPiArICAgIGJyZWFrOwo+ICsgIGNhc2UgQklOKG9wdF9hc2V0X3dpdGgp
Ogo+ICsgICAgZnByaW50ZihmLCAie1xuIik7Cj4gKyAgICB7Cj4gKyAgICAgICAgTUFZQkVfVU5V
U0VEKGludCBwY19tb3ZlZF9wKSA9IEZBTFNFOwo+ICsgICAgICAgIE1BWUJFX1VOVVNFRChWQUxV
RSBrZXkpID0gKFZBTFVFKW9wZXJhbmRzWzBdOwo+ICsgICAgICAgIE1BWUJFX1VOVVNFRChDQUxM
X0lORk8gY2kpID0gKENBTExfSU5GTylvcGVyYW5kc1sxXTsKPiArICAgICAgICBNQVlCRV9VTlVT
RUQoQ0FMTF9DQUNIRSBjYykgPSAoQ0FMTF9DQUNIRSlvcGVyYW5kc1syXTsKPiArICAgICAgICBp
ZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAg
ICBNQVlCRV9VTlVTRUQodW5zaWduZWQgaW50KSBzdGFja19zaXplID0gJXU7XG4iLCBiLT5zdGFj
a19zaXplKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VO
VVNFRChDQUxMX0NBQ0hFKSBjYztcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlC
RV9VTlVTRUQoQ0FMTF9JTkZPKSBjaTtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBN
QVlCRV9VTlVTRUQoVkFMVUUpIGtleSwgcmVjdiwgdmFsO1xuIik7Cj4gKwo+ICsgICAgICAgIGZw
cmludGYoZiwgIiAgICBrZXkgPSAoVkFMVUUpMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNbMF0p
Owo+ICsgICAgICAgIGlmIChTWU1CT0xfUCgoVkFMVUUpb3BlcmFuZHNbMF0pKSBjb21tZW50X2lk
KGYsIFNZTTJJRCgoVkFMVUUpb3BlcmFuZHNbMF0pKTsKPiArICAgICAgICBmcHJpbnRmKGYsICJc
biIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBjaSA9IChDQUxMX0lORk8pMHglIlBSSXhW
QUxVRSI7Iiwgb3BlcmFuZHNbMV0pOwo+ICsgICAgICAgIGNvbW1lbnRfaWQoZiwgKChDQUxMX0lO
Rk8pb3BlcmFuZHNbMV0pLT5taWQpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIlxuIik7Cj4gKyAg
ICAgICAgZnByaW50ZihmLCAiICAgIGNjID0gKENBTExfQ0FDSEUpMHglIlBSSXhWQUxVRSI7Iiwg
b3BlcmFuZHNbMl0pOwo+ICsgICAgICAgIGZwcmludGYoZiwgIlxuIik7Cj4gKyAgICAgICAgZnBy
aW50ZihmLCAiICAgIHJlY3YgPSBzdGFja1slZF07XG4iLCBiLT5zdGFja19zaXplIC0gMik7Cj4g
KyAgICAgICAgZnByaW50ZihmLCAiICAgIHZhbCA9IHN0YWNrWyVkXTtcbiIsIGItPnN0YWNrX3Np
emUgLSAxKTsKPiArICAgICAgICBpZiAoYm9keS0+Y2F0Y2hfZXhjZXB0X3AgfHwgVFJVRSkgewo+
ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5
X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsgLyogQUREX1BDKElOU05fQVRUUih3aWR0aCkpOyAq
Lwo+ICsgICAgICAgICAgICBwY19tb3ZlZF9wID0gVFJVRTsKPiArICAgICAgICB9Cj4gKyAgICAg
ICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgewo+ICsgICAgICAgIH0KPiArICAgICAgICBl
bHNlIHsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnNwID0gKFZBTFVF
ICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAxKTsKPiArICAgICAgICB9
Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIHtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwg
IiAgICAgICAgVkFMVUUgdG1wID0gdm1fb3B0X2FzZXRfd2l0aChyZWN2LCBrZXksIHZhbCk7XG4i
KTsKPiArICAgICAgICBmcHJpbnRmKGYsICJcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAg
ICAgICAgaWYgKHRtcCAhPSBRdW5kZWYpIHtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAg
ICAgICAgICAgIHZhbCA9IHRtcDtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAg
fVxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICBlbHNlIHtcbiIpOwo+ICsgICAg
ICAgIGZwcmludGYoZiwgIiNpZm5kZWYgTUpJVF9IRUFERVJcbiIpOwo+ICsgICAgICAgIGZwcmlu
dGYoZiwgIiAgICAgICAgICAgICVzID0gcmJfc3RyX3Jlc3VycmVjdChrZXkpO1xuIiwKPiArICAg
ICAgICAgICAgICAoc3RhdHVzLT5sb2NhbF9zdGFja19wID8gIiooc3RhY2sgKyAoc3RhY2tfc2l6
ZSAtICgwKSAtIDEpKSIgOiAiVE9QTigwKSIpKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAg
ICAgICAgICBQVVNIKHZhbCk7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIjZW5kaWZcbiIp
Owo+ICsgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKPiArICAgICAgICAgICAg
ZnByaW50ZihmLCAiICAgICAgICAgICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5i
cCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEpOwo+ICsgICAgICAgIH0KPiArICAgICAgICBm
cHJpbnRmKGYsICIgICAgICAgICAgICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSAr
ICVkO1xuIiwgcG9zKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgICAgICBnb3RvIGNh
bmNlbDtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgfVxuIik7Cj4gKyAgICAg
ICAgZnByaW50ZihmLCAiICAgIH1cbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBzdGFj
a1slZF0gPSB2YWw7XG4iLCBiLT5zdGFja19zaXplICsgKGludClhdHRyX3NwX2luY19vcHRfYXNl
dF93aXRoKGtleSwgY2ksIGNjKSAtIDEpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBpZiAo
VU5MSUtFTFkocnVieV92bV9ldmVudF9lbmFibGVkX2dsb2JhbF9mbGFncyAmIElTRVFfVFJBQ0Vf
RVZFTlRTKSkge1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICByZWdfY2ZwLT5z
cCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgKGludClh
dHRyX3NwX2luY19vcHRfYXNldF93aXRoKGtleSwgY2ksIGNjKSArIDEpOwo+ICsgICAgICAgIGlm
ICghcGNfbW92ZWRfcCkgewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHJlZ19j
ZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBuZXh0X3Bvcyk7Cj4gKyAgICAg
ICAgfQo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgZ290byBjYW5jZWw7XG4iKTsKPiAr
ICAgICAgICBmcHJpbnRmKGYsICIgICAgfVxuIik7Cj4gKyAgICAgICAgYi0+c3RhY2tfc2l6ZSAr
PSBhdHRyX3NwX2luY19vcHRfYXNldF93aXRoKGtleSwgY2ksIGNjKTsKPiArICAgIH0KPiArICAg
IGZwcmludGYoZiwgIn1cbiIpOwo+ICsgICAgYnJlYWs7Cj4gKyAgY2FzZSBCSU4ob3B0X2FyZWZf
d2l0aCk6Cj4gKyAgICBmcHJpbnRmKGYsICJ7XG4iKTsKPiArICAgIHsKPiArICAgICAgICBNQVlC
RV9VTlVTRUQoaW50IHBjX21vdmVkX3ApID0gRkFMU0U7Cj4gKyAgICAgICAgTUFZQkVfVU5VU0VE
KFZBTFVFIGtleSkgPSAoVkFMVUUpb3BlcmFuZHNbMF07Cj4gKyAgICAgICAgTUFZQkVfVU5VU0VE
KENBTExfSU5GTyBjaSkgPSAoQ0FMTF9JTkZPKW9wZXJhbmRzWzFdOwo+ICsgICAgICAgIE1BWUJF
X1VOVVNFRChDQUxMX0NBQ0hFIGNjKSA9IChDQUxMX0NBQ0hFKW9wZXJhbmRzWzJdOwo+ICsgICAg
ICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKPiArICAgICAgICAgICAgZnByaW50Zihm
LCAiICAgIE1BWUJFX1VOVVNFRCh1bnNpZ25lZCBpbnQpIHN0YWNrX3NpemUgPSAldTtcbiIsIGIt
PnN0YWNrX3NpemUpOwo+ICsgICAgICAgIH0KPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZ
QkVfVU5VU0VEKENBTExfQ0FDSEUpIGNjO1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAg
IE1BWUJFX1VOVVNFRChDQUxMX0lORk8pIGNpO1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAi
ICAgIE1BWUJFX1VOVVNFRChWQUxVRSkga2V5LCByZWN2LCB2YWw7XG4iKTsKPiArCj4gKyAgICAg
ICAgZnByaW50ZihmLCAiICAgIGtleSA9IChWQUxVRSkweCUiUFJJeFZBTFVFIjsiLCBvcGVyYW5k
c1swXSk7Cj4gKyAgICAgICAgaWYgKFNZTUJPTF9QKChWQUxVRSlvcGVyYW5kc1swXSkpIGNvbW1l
bnRfaWQoZiwgU1lNMklEKChWQUxVRSlvcGVyYW5kc1swXSkpOwo+ICsgICAgICAgIGZwcmludGYo
ZiwgIlxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIGNpID0gKENBTExfSU5GTykweCUi
UFJJeFZBTFVFIjsiLCBvcGVyYW5kc1sxXSk7Cj4gKyAgICAgICAgY29tbWVudF9pZChmLCAoKENB
TExfSU5GTylvcGVyYW5kc1sxXSktPm1pZCk7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsK
PiArICAgICAgICBmcHJpbnRmKGYsICIgICAgY2MgPSAoQ0FMTF9DQUNIRSkweCUiUFJJeFZBTFVF
IjsiLCBvcGVyYW5kc1syXSk7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsKPiArICAgICAg
ICBmcHJpbnRmKGYsICIgICAgcmVjdiA9IHN0YWNrWyVkXTtcbiIsIGItPnN0YWNrX3NpemUgLSAx
KTsKPiArICAgICAgICBpZiAoYm9keS0+Y2F0Y2hfZXhjZXB0X3AgfHwgVFJVRSkgewo+ICsgICAg
ICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEg
KyAlZDtcbiIsIG5leHRfcG9zKTsgLyogQUREX1BDKElOU05fQVRUUih3aWR0aCkpOyAqLwo+ICsg
ICAgICAgICAgICBwY19tb3ZlZF9wID0gVFJVRTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgaWYg
KHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgewo+ICsgICAgICAgIH0KPiArICAgICAgICBlbHNlIHsK
PiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVn
X2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAxKTsKPiArICAgICAgICB9Cj4gKyAg
ICAgICAgZnByaW50ZihmLCAiICAgIHtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAg
ICAgdmFsID0gdm1fb3B0X2FyZWZfd2l0aChyZWN2LCBrZXkpO1xuIik7Cj4gKyAgICAgICAgZnBy
aW50ZihmLCAiXG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIGlmICh2YWwgPT0g
UXVuZGVmKSB7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIjaWZuZGVmIE1KSVRfSEVBREVS
XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgICAgICBQVVNIKHJiX3N0cl9yZXN1
cnJlY3Qoa2V5KSk7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIjZW5kaWZcbiIpOwo+ICsg
ICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKPiArICAgICAgICAgICAgZnByaW50
ZihmLCAiICAgICAgICAgICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVk
O1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEpOwo+ICsgICAgICAgIH0KPiArICAgICAgICBmcHJpbnRm
KGYsICIgICAgICAgICAgICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xu
IiwgcG9zKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgICAgICBnb3RvIGNhbmNlbDtc
biIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgfVxuIik7Cj4gKyAgICAgICAgZnBy
aW50ZihmLCAiICAgIH1cbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBzdGFja1slZF0g
PSB2YWw7XG4iLCBiLT5zdGFja19zaXplICsgKGludClhdHRyX3NwX2luY19vcHRfYXJlZl93aXRo
KGtleSwgY2ksIGNjKSAtIDEpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBpZiAoVU5MSUtF
TFkocnVieV92bV9ldmVudF9lbmFibGVkX2dsb2JhbF9mbGFncyAmIElTRVFfVFJBQ0VfRVZFTlRT
KSkge1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICByZWdfY2ZwLT5zcCA9IChW
QUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgKGludClhdHRyX3Nw
X2luY19vcHRfYXJlZl93aXRoKGtleSwgY2ksIGNjKSArIDEpOwo+ICsgICAgICAgIGlmICghcGNf
bW92ZWRfcCkgewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHJlZ19jZnAtPnBj
ID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBuZXh0X3Bvcyk7Cj4gKyAgICAgICAgfQo+
ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgZ290byBjYW5jZWw7XG4iKTsKPiArICAgICAg
ICBmcHJpbnRmKGYsICIgICAgfVxuIik7Cj4gKyAgICAgICAgYi0+c3RhY2tfc2l6ZSArPSBhdHRy
X3NwX2luY19vcHRfYXJlZl93aXRoKGtleSwgY2ksIGNjKTsKPiArICAgIH0KPiArICAgIGZwcmlu
dGYoZiwgIn1cbiIpOwo+ICsgICAgYnJlYWs7Cj4gKyAgY2FzZSBCSU4ob3B0X2xlbmd0aCk6Cj4g
KyAgICBmcHJpbnRmKGYsICJ7XG4iKTsKPiArICAgIHsKPiArICAgICAgICBNQVlCRV9VTlVTRUQo
aW50IHBjX21vdmVkX3ApID0gRkFMU0U7Cj4gKyAgICAgICAgTUFZQkVfVU5VU0VEKENBTExfSU5G
TyBjaSkgPSAoQ0FMTF9JTkZPKW9wZXJhbmRzWzBdOwo+ICsgICAgICAgIE1BWUJFX1VOVVNFRChD
QUxMX0NBQ0hFIGNjKSA9IChDQUxMX0NBQ0hFKW9wZXJhbmRzWzFdOwo+ICsgICAgICAgIGlmIChz
dGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIE1B
WUJFX1VOVVNFRCh1bnNpZ25lZCBpbnQpIHN0YWNrX3NpemUgPSAldTtcbiIsIGItPnN0YWNrX3Np
emUpOwo+ICsgICAgICAgIH0KPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VE
KENBTExfQ0FDSEUpIGNjO1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VO
VVNFRChDQUxMX0lORk8pIGNpO1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJF
X1VOVVNFRChWQUxVRSkgcmVjdiwgdmFsO1xuIik7Cj4gKwo+ICsgICAgICAgIGZwcmludGYoZiwg
IiAgICBjaSA9IChDQUxMX0lORk8pMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNbMF0pOwo+ICsg
ICAgICAgIGNvbW1lbnRfaWQoZiwgKChDQUxMX0lORk8pb3BlcmFuZHNbMF0pLT5taWQpOwo+ICsg
ICAgICAgIGZwcmludGYoZiwgIlxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIGNjID0g
KENBTExfQ0FDSEUpMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNbMV0pOwo+ICsgICAgICAgIGZw
cmludGYoZiwgIlxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIHJlY3YgPSBzdGFja1sl
ZF07XG4iLCBiLT5zdGFja19zaXplIC0gMSk7Cj4gKyAgICAgICAgaWYgKGJvZHktPmNhdGNoX2V4
Y2VwdF9wIHx8IEZBTFNFKSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2Zw
LT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3MpOyAvKiBBRERfUEMo
SU5TTl9BVFRSKHdpZHRoKSk7ICovCj4gKyAgICAgICAgICAgIHBjX21vdmVkX3AgPSBUUlVFOwo+
ICsgICAgICAgIH0KPiArICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cj4gKyAg
ICAgICAgfQo+ICsgICAgICAgIGVsc2Ugewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAg
cmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6
ZSArIDEpOwo+ICsgICAgICAgIH0KPiArICAgICAgICBmcHJpbnRmKGYsICIgICAge1xuIik7Cj4g
KyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICB2YWwgPSB2bV9vcHRfbGVuZ3RoKHJlY3YsIEJP
UF9MRU5HVEgpO1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsKPiArICAgICAgICBm
cHJpbnRmKGYsICIgICAgICAgIGlmICh2YWwgPT0gUXVuZGVmKSB7XG4iKTsKPiArICAgICAgICBp
ZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAg
ICAgICAgICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGIt
PnN0YWNrX3NpemUgKyAxKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAg
ICAgICAgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIHBvcyk7
Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICAgICAgZ290byBjYW5jZWw7XG4iKTsKPiAr
ICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIH1cbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwg
IiAgICB9XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgc3RhY2tbJWRdID0gdmFsO1xu
IiwgYi0+c3RhY2tfc2l6ZSArIChpbnQpYXR0cl9zcF9pbmNfb3B0X2xlbmd0aChjaSwgY2MpIC0g
MSk7Cj4gKyAgICAgICAgYi0+c3RhY2tfc2l6ZSArPSBhdHRyX3NwX2luY19vcHRfbGVuZ3RoKGNp
LCBjYyk7Cj4gKyAgICB9Cj4gKyAgICBmcHJpbnRmKGYsICJ9XG4iKTsKPiArICAgIGJyZWFrOwo+
ICsgIGNhc2UgQklOKG9wdF9zaXplKToKPiArICAgIGZwcmludGYoZiwgIntcbiIpOwo+ICsgICAg
ewo+ICsgICAgICAgIE1BWUJFX1VOVVNFRChpbnQgcGNfbW92ZWRfcCkgPSBGQUxTRTsKPiArICAg
ICAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPIGNpKSA9IChDQUxMX0lORk8pb3BlcmFuZHNbMF07
Cj4gKyAgICAgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUgY2MpID0gKENBTExfQ0FDSEUpb3Bl
cmFuZHNbMV07Cj4gKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgewo+ICsgICAg
ICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHVuc2lnbmVkIGludCkgc3RhY2tf
c2l6ZSA9ICV1O1xuIiwgYi0+c3RhY2tfc2l6ZSk7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGZw
cmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSkgY2M7XG4iKTsKPiArICAgICAg
ICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTykgY2k7XG4iKTsKPiArICAg
ICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSByZWN2LCB2YWw7XG4iKTsK
PiArCj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIGNpID0gKENBTExfSU5GTykweCUiUFJJeFZB
TFVFIjsiLCBvcGVyYW5kc1swXSk7Cj4gKyAgICAgICAgY29tbWVudF9pZChmLCAoKENBTExfSU5G
TylvcGVyYW5kc1swXSktPm1pZCk7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsKPiArICAg
ICAgICBmcHJpbnRmKGYsICIgICAgY2MgPSAoQ0FMTF9DQUNIRSkweCUiUFJJeFZBTFVFIjsiLCBv
cGVyYW5kc1sxXSk7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsKPiArICAgICAgICBmcHJp
bnRmKGYsICIgICAgcmVjdiA9IHN0YWNrWyVkXTtcbiIsIGItPnN0YWNrX3NpemUgLSAxKTsKPiAr
ICAgICAgICBpZiAoYm9keS0+Y2F0Y2hfZXhjZXB0X3AgfHwgRkFMU0UpIHsKPiArICAgICAgICAg
ICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7
XG4iLCBuZXh0X3Bvcyk7IC8qIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsgKi8KPiArICAgICAg
ICAgICAgcGNfbW92ZWRfcCA9IFRSVUU7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGlmIChzdGF0
dXMtPmxvY2FsX3N0YWNrX3ApIHsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZWxzZSB7Cj4gKyAg
ICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAt
PmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgMSk7Cj4gKyAgICAgICAgfQo+ICsgICAgICAg
IGZwcmludGYoZiwgIiAgICB7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHZh
bCA9IHZtX29wdF9sZW5ndGgocmVjdiwgQk9QX1NJWkUpO1xuIik7Cj4gKyAgICAgICAgZnByaW50
ZihmLCAiXG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIGlmICh2YWwgPT0gUXVu
ZGVmKSB7XG4iKTsKPiArICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cj4gKyAg
ICAgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICop
cmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAxKTsKPiArICAgICAgICB9Cj4g
KyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICAgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9i
b2R5X2lzZXEgKyAlZDtcbiIsIHBvcyk7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICAg
ICAgZ290byBjYW5jZWw7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIH1cbiIp
Owo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICB9XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYs
ICIgICAgc3RhY2tbJWRdID0gdmFsO1xuIiwgYi0+c3RhY2tfc2l6ZSArIChpbnQpYXR0cl9zcF9p
bmNfb3B0X3NpemUoY2ksIGNjKSAtIDEpOwo+ICsgICAgICAgIGItPnN0YWNrX3NpemUgKz0gYXR0
cl9zcF9pbmNfb3B0X3NpemUoY2ksIGNjKTsKPiArICAgIH0KPiArICAgIGZwcmludGYoZiwgIn1c
biIpOwo+ICsgICAgYnJlYWs7Cj4gKyAgY2FzZSBCSU4ob3B0X2VtcHR5X3ApOgo+ICsgICAgZnBy
aW50ZihmLCAie1xuIik7Cj4gKyAgICB7Cj4gKyAgICAgICAgTUFZQkVfVU5VU0VEKGludCBwY19t
b3ZlZF9wKSA9IEZBTFNFOwo+ICsgICAgICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpID0g
KENBTExfSU5GTylvcGVyYW5kc1swXTsKPiArICAgICAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNI
RSBjYykgPSAoQ0FMTF9DQUNIRSlvcGVyYW5kc1sxXTsKPiArICAgICAgICBpZiAoc3RhdHVzLT5s
b2NhbF9zdGFja19wKSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVT
RUQodW5zaWduZWQgaW50KSBzdGFja19zaXplID0gJXU7XG4iLCBiLT5zdGFja19zaXplKTsKPiAr
ICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChDQUxMX0NB
Q0hFKSBjYztcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQoQ0FM
TF9JTkZPKSBjaTtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQo
VkFMVUUpIHJlY3YsIHZhbDtcbiIpOwo+ICsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgY2kg
PSAoQ0FMTF9JTkZPKTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRzWzBdKTsKPiArICAgICAgICBj
b21tZW50X2lkKGYsICgoQ0FMTF9JTkZPKW9wZXJhbmRzWzBdKS0+bWlkKTsKPiArICAgICAgICBm
cHJpbnRmKGYsICJcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBjYyA9IChDQUxMX0NB
Q0hFKTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRzWzFdKTsKPiArICAgICAgICBmcHJpbnRmKGYs
ICJcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICByZWN2ID0gc3RhY2tbJWRdO1xuIiwg
Yi0+c3RhY2tfc2l6ZSAtIDEpOwo+ICsgICAgICAgIGlmIChib2R5LT5jYXRjaF9leGNlcHRfcCB8
fCBGQUxTRSkgewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+cGMgPSBv
cmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsgLyogQUREX1BDKElOU05fQVRU
Uih3aWR0aCkpOyAqLwo+ICsgICAgICAgICAgICBwY19tb3ZlZF9wID0gVFJVRTsKPiArICAgICAg
ICB9Cj4gKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgewo+ICsgICAgICAgIH0K
PiArICAgICAgICBlbHNlIHsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAt
PnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAxKTsK
PiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIHtcbiIpOwo+ICsgICAgICAg
IGZwcmludGYoZiwgIiAgICAgICAgdmFsID0gdm1fb3B0X2VtcHR5X3AocmVjdik7XG4iKTsKPiAr
ICAgICAgICBmcHJpbnRmKGYsICJcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAg
aWYgKHZhbCA9PSBRdW5kZWYpIHtcbiIpOwo+ICsgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0
YWNrX3ApIHsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgICAgICAgICAgcmVnX2NmcC0+
c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEpOwo+
ICsgICAgICAgIH0KPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgICAgICByZWdfY2ZwLT5w
YyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgcG9zKTsKPiArICAgICAgICBmcHJpbnRm
KGYsICIgICAgICAgICAgICBnb3RvIGNhbmNlbDtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwg
IiAgICAgICAgfVxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIpOwo+ICsgICAg
ICAgIGZwcmludGYoZiwgIiAgICBzdGFja1slZF0gPSB2YWw7XG4iLCBiLT5zdGFja19zaXplICsg
KGludClhdHRyX3NwX2luY19vcHRfZW1wdHlfcChjaSwgY2MpIC0gMSk7Cj4gKyAgICAgICAgYi0+
c3RhY2tfc2l6ZSArPSBhdHRyX3NwX2luY19vcHRfZW1wdHlfcChjaSwgY2MpOwo+ICsgICAgfQo+
ICsgICAgZnByaW50ZihmLCAifVxuIik7Cj4gKyAgICBicmVhazsKPiArICBjYXNlIEJJTihvcHRf
c3VjYyk6Cj4gKyAgICBmcHJpbnRmKGYsICJ7XG4iKTsKPiArICAgIHsKPiArICAgICAgICBNQVlC
RV9VTlVTRUQoaW50IHBjX21vdmVkX3ApID0gRkFMU0U7Cj4gKyAgICAgICAgTUFZQkVfVU5VU0VE
KENBTExfSU5GTyBjaSkgPSAoQ0FMTF9JTkZPKW9wZXJhbmRzWzBdOwo+ICsgICAgICAgIE1BWUJF
X1VOVVNFRChDQUxMX0NBQ0hFIGNjKSA9IChDQUxMX0NBQ0hFKW9wZXJhbmRzWzFdOwo+ICsgICAg
ICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKPiArICAgICAgICAgICAgZnByaW50Zihm
LCAiICAgIE1BWUJFX1VOVVNFRCh1bnNpZ25lZCBpbnQpIHN0YWNrX3NpemUgPSAldTtcbiIsIGIt
PnN0YWNrX3NpemUpOwo+ICsgICAgICAgIH0KPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZ
QkVfVU5VU0VEKENBTExfQ0FDSEUpIGNjO1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAg
IE1BWUJFX1VOVVNFRChDQUxMX0lORk8pIGNpO1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAi
ICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgcmVjdiwgdmFsO1xuIik7Cj4gKwo+ICsgICAgICAgIGZw
cmludGYoZiwgIiAgICBjaSA9IChDQUxMX0lORk8pMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNb
MF0pOwo+ICsgICAgICAgIGNvbW1lbnRfaWQoZiwgKChDQUxMX0lORk8pb3BlcmFuZHNbMF0pLT5t
aWQpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIlxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAi
ICAgIGNjID0gKENBTExfQ0FDSEUpMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNbMV0pOwo+ICsg
ICAgICAgIGZwcmludGYoZiwgIlxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIHJlY3Yg
PSBzdGFja1slZF07XG4iLCBiLT5zdGFja19zaXplIC0gMSk7Cj4gKyAgICAgICAgaWYgKGJvZHkt
PmNhdGNoX2V4Y2VwdF9wIHx8IEZBTFNFKSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAg
ICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3MpOyAv
KiBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7ICovCj4gKyAgICAgICAgICAgIHBjX21vdmVkX3Ag
PSBUUlVFOwo+ICsgICAgICAgIH0KPiArICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19w
KSB7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGVsc2Ugewo+ICsgICAgICAgICAgICBmcHJpbnRm
KGYsICIgICAgcmVnX2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+
c3RhY2tfc2l6ZSArIDEpOwo+ICsgICAgICAgIH0KPiArICAgICAgICBmcHJpbnRmKGYsICIgICAg
e1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICB2YWwgPSB2bV9vcHRfc3VjYyhy
ZWN2KTtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIlxuIik7Cj4gKyAgICAgICAgZnByaW50
ZihmLCAiICAgICAgICBpZiAodmFsID09IFF1bmRlZikge1xuIik7Cj4gKyAgICAgICAgaWYgKHN0
YXR1cy0+bG9jYWxfc3RhY2tfcCkgewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgICAg
ICAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFj
a19zaXplICsgMSk7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAg
ICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBwb3MpOwo+ICsg
ICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgIGdvdG8gY2FuY2VsO1xuIik7Cj4gKyAgICAg
ICAgZnByaW50ZihmLCAiICAgICAgICB9XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAg
fVxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIHN0YWNrWyVkXSA9IHZhbDtcbiIsIGIt
PnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5jX29wdF9zdWNjKGNpLCBjYykgLSAxKTsKPiAr
ICAgICAgICBiLT5zdGFja19zaXplICs9IGF0dHJfc3BfaW5jX29wdF9zdWNjKGNpLCBjYyk7Cj4g
KyAgICB9Cj4gKyAgICBmcHJpbnRmKGYsICJ9XG4iKTsKPiArICAgIGJyZWFrOwo+ICsgIGNhc2Ug
QklOKG9wdF9ub3QpOgo+ICsgICAgZnByaW50ZihmLCAie1xuIik7Cj4gKyAgICB7Cj4gKyAgICAg
ICAgTUFZQkVfVU5VU0VEKGludCBwY19tb3ZlZF9wKSA9IEZBTFNFOwo+ICsgICAgICAgIE1BWUJF
X1VOVVNFRChDQUxMX0lORk8gY2kpID0gKENBTExfSU5GTylvcGVyYW5kc1swXTsKPiArICAgICAg
ICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykgPSAoQ0FMTF9DQUNIRSlvcGVyYW5kc1sxXTsK
PiArICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cj4gKyAgICAgICAgICAgIGZw
cmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQodW5zaWduZWQgaW50KSBzdGFja19zaXplID0gJXU7
XG4iLCBiLT5zdGFja19zaXplKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAi
ICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFKSBjYztcbiIpOwo+ICsgICAgICAgIGZwcmludGYo
ZiwgIiAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPKSBjaTtcbiIpOwo+ICsgICAgICAgIGZwcmlu
dGYoZiwgIiAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIHJlY3YsIHZhbDtcbiIpOwo+ICsKPiArICAg
ICAgICBmcHJpbnRmKGYsICIgICAgY2kgPSAoQ0FMTF9JTkZPKTB4JSJQUkl4VkFMVUUiOyIsIG9w
ZXJhbmRzWzBdKTsKPiArICAgICAgICBjb21tZW50X2lkKGYsICgoQ0FMTF9JTkZPKW9wZXJhbmRz
WzBdKS0+bWlkKTsKPiArICAgICAgICBmcHJpbnRmKGYsICJcbiIpOwo+ICsgICAgICAgIGZwcmlu
dGYoZiwgIiAgICBjYyA9IChDQUxMX0NBQ0hFKTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRzWzFd
KTsKPiArICAgICAgICBmcHJpbnRmKGYsICJcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAg
ICByZWN2ID0gc3RhY2tbJWRdO1xuIiwgYi0+c3RhY2tfc2l6ZSAtIDEpOwo+ICsgICAgICAgIGlm
IChib2R5LT5jYXRjaF9leGNlcHRfcCB8fCBGQUxTRSkgewo+ICsgICAgICAgICAgICBmcHJpbnRm
KGYsICIgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRf
cG9zKTsgLyogQUREX1BDKElOU05fQVRUUih3aWR0aCkpOyAqLwo+ICsgICAgICAgICAgICBwY19t
b3ZlZF9wID0gVFJVRTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxf
c3RhY2tfcCkgewo+ICsgICAgICAgIH0KPiArICAgICAgICBlbHNlIHsKPiArICAgICAgICAgICAg
ZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtc
biIsIGItPnN0YWNrX3NpemUgKyAxKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50Zihm
LCAiICAgIHtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgdmFsID0gdm1fb3B0
X25vdChjaSwgY2MsIHJlY3YpO1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsKPiAr
ICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIGlmICh2YWwgPT0gUXVuZGVmKSB7XG4iKTsKPiAr
ICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cj4gKyAgICAgICAgICAgIGZwcmlu
dGYoZiwgIiAgICAgICAgICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAl
ZDtcbiIsIGItPnN0YWNrX3NpemUgKyAxKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50
ZihmLCAiICAgICAgICAgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtc
biIsIHBvcyk7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICAgICAgZ290byBjYW5jZWw7
XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIH1cbiIpOwo+ICsgICAgICAgIGZw
cmludGYoZiwgIiAgICB9XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgc3RhY2tbJWRd
ID0gdmFsO1xuIiwgYi0+c3RhY2tfc2l6ZSArIChpbnQpYXR0cl9zcF9pbmNfb3B0X25vdChjaSwg
Y2MpIC0gMSk7Cj4gKyAgICAgICAgYi0+c3RhY2tfc2l6ZSArPSBhdHRyX3NwX2luY19vcHRfbm90
KGNpLCBjYyk7Cj4gKyAgICB9Cj4gKyAgICBmcHJpbnRmKGYsICJ9XG4iKTsKPiArICAgIGJyZWFr
Owo+ICsgIGNhc2UgQklOKG9wdF9yZWdleHBtYXRjaDEpOgo+ICsgICAgZnByaW50ZihmLCAie1xu
Iik7Cj4gKyAgICB7Cj4gKyAgICAgICAgTUFZQkVfVU5VU0VEKGludCBwY19tb3ZlZF9wKSA9IEZB
TFNFOwo+ICsgICAgICAgIE1BWUJFX1VOVVNFRChWQUxVRSByZWN2KSA9IChWQUxVRSlvcGVyYW5k
c1swXTsKPiArICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cj4gKyAgICAgICAg
ICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQodW5zaWduZWQgaW50KSBzdGFja19zaXpl
ID0gJXU7XG4iLCBiLT5zdGFja19zaXplKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50
ZihmLCAiICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgb2JqLCByZWN2LCB2YWw7XG4iKTsKPiArCj4g
KyAgICAgICAgZnByaW50ZihmLCAiICAgIHJlY3YgPSAoVkFMVUUpMHglIlBSSXhWQUxVRSI7Iiwg
b3BlcmFuZHNbMF0pOwo+ICsgICAgICAgIGlmIChTWU1CT0xfUCgoVkFMVUUpb3BlcmFuZHNbMF0p
KSBjb21tZW50X2lkKGYsIFNZTTJJRCgoVkFMVUUpb3BlcmFuZHNbMF0pKTsKPiArICAgICAgICBm
cHJpbnRmKGYsICJcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBvYmogPSBzdGFja1sl
ZF07XG4iLCBiLT5zdGFja19zaXplIC0gMSk7Cj4gKyAgICAgICAgaWYgKGJvZHktPmNhdGNoX2V4
Y2VwdF9wIHx8IFRSVUUpIHsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAt
PnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBuZXh0X3Bvcyk7IC8qIEFERF9QQyhJ
TlNOX0FUVFIod2lkdGgpKTsgKi8KPiArICAgICAgICAgICAgcGNfbW92ZWRfcCA9IFRSVUU7Cj4g
KyAgICAgICAgfQo+ICsgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKPiArICAg
ICAgICB9Cj4gKyAgICAgICAgZWxzZSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICBy
ZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXpl
ICsgMSk7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICB7XG4iKTsKPiAr
ICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHZhbCA9IHZtX29wdF9yZWdleHBtYXRjaDEocmVj
diwgb2JqKTtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICB9XG4iKTsKPiArICAgICAg
ICBmcHJpbnRmKGYsICIgICAgc3RhY2tbJWRdID0gdmFsO1xuIiwgYi0+c3RhY2tfc2l6ZSArIChp
bnQpYXR0cl9zcF9pbmNfb3B0X3JlZ2V4cG1hdGNoMShyZWN2KSAtIDEpOwo+ICsgICAgICAgIGZw
cmludGYoZiwgIiAgICBpZiAoVU5MSUtFTFkocnVieV92bV9ldmVudF9lbmFibGVkX2dsb2JhbF9m
bGFncyAmIElTRVFfVFJBQ0VfRVZFTlRTKSkge1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAi
ICAgICAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5z
dGFja19zaXplICsgKGludClhdHRyX3NwX2luY19vcHRfcmVnZXhwbWF0Y2gxKHJlY3YpICsgMSk7
Cj4gKyAgICAgICAgaWYgKCFwY19tb3ZlZF9wKSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwg
IiAgICAgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRf
cG9zKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAgICBnb3RvIGNh
bmNlbDtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICB9XG4iKTsKPiArICAgICAgICBi
LT5zdGFja19zaXplICs9IGF0dHJfc3BfaW5jX29wdF9yZWdleHBtYXRjaDEocmVjdik7Cj4gKyAg
ICB9Cj4gKyAgICBmcHJpbnRmKGYsICJ9XG4iKTsKPiArICAgIGJyZWFrOwo+ICsgIGNhc2UgQklO
KG9wdF9yZWdleHBtYXRjaDIpOgo+ICsgICAgZnByaW50ZihmLCAie1xuIik7Cj4gKyAgICB7Cj4g
KyAgICAgICAgTUFZQkVfVU5VU0VEKGludCBwY19tb3ZlZF9wKSA9IEZBTFNFOwo+ICsgICAgICAg
IE1BWUJFX1VOVVNFRChDQUxMX0lORk8gY2kpID0gKENBTExfSU5GTylvcGVyYW5kc1swXTsKPiAr
ICAgICAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSBjYykgPSAoQ0FMTF9DQUNIRSlvcGVyYW5k
c1sxXTsKPiArICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cj4gKyAgICAgICAg
ICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQodW5zaWduZWQgaW50KSBzdGFja19zaXpl
ID0gJXU7XG4iLCBiLT5zdGFja19zaXplKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50
ZihmLCAiICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFKSBjYztcbiIpOwo+ICsgICAgICAgIGZw
cmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPKSBjaTtcbiIpOwo+ICsgICAgICAg
IGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIG9iajEsIG9iajIsIHZhbDtcbiIp
Owo+ICsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgY2kgPSAoQ0FMTF9JTkZPKTB4JSJQUkl4
VkFMVUUiOyIsIG9wZXJhbmRzWzBdKTsKPiArICAgICAgICBjb21tZW50X2lkKGYsICgoQ0FMTF9J
TkZPKW9wZXJhbmRzWzBdKS0+bWlkKTsKPiArICAgICAgICBmcHJpbnRmKGYsICJcbiIpOwo+ICsg
ICAgICAgIGZwcmludGYoZiwgIiAgICBjYyA9IChDQUxMX0NBQ0hFKTB4JSJQUkl4VkFMVUUiOyIs
IG9wZXJhbmRzWzFdKTsKPiArICAgICAgICBmcHJpbnRmKGYsICJcbiIpOwo+ICsgICAgICAgIGZw
cmludGYoZiwgIiAgICBvYmoyID0gc3RhY2tbJWRdO1xuIiwgYi0+c3RhY2tfc2l6ZSAtIDIpOwo+
ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBvYmoxID0gc3RhY2tbJWRdO1xuIiwgYi0+c3RhY2tf
c2l6ZSAtIDEpOwo+ICsgICAgICAgIGlmIChib2R5LT5jYXRjaF9leGNlcHRfcCB8fCBGQUxTRSkg
ewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9i
b2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsgLyogQUREX1BDKElOU05fQVRUUih3aWR0aCkp
OyAqLwo+ICsgICAgICAgICAgICBwY19tb3ZlZF9wID0gVFJVRTsKPiArICAgICAgICB9Cj4gKyAg
ICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgewo+ICsgICAgICAgIH0KPiArICAgICAg
ICBlbHNlIHsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnNwID0gKFZB
TFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAxKTsKPiArICAgICAg
ICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIHtcbiIpOwo+ICsgICAgICAgIGZwcmludGYo
ZiwgIiAgICAgICAgdmFsID0gdm1fb3B0X3JlZ2V4cG1hdGNoMihvYmoyLCBvYmoxKTtcbiIpOwo+
ICsgICAgICAgIGZwcmludGYoZiwgIlxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgICAg
ICBpZiAodmFsID09IFF1bmRlZikge1xuIik7Cj4gKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxf
c3RhY2tfcCkgewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgICAgICByZWdfY2Zw
LT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXplICsgMSk7
Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgICAgIHJlZ19jZnAt
PnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBwb3MpOwo+ICsgICAgICAgIGZwcmlu
dGYoZiwgIiAgICAgICAgICAgIGdvdG8gY2FuY2VsO1xuIik7Cj4gKyAgICAgICAgZnByaW50Zihm
LCAiICAgICAgICB9XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgfVxuIik7Cj4gKyAg
ICAgICAgZnByaW50ZihmLCAiICAgIHN0YWNrWyVkXSA9IHZhbDtcbiIsIGItPnN0YWNrX3NpemUg
KyAoaW50KWF0dHJfc3BfaW5jX29wdF9yZWdleHBtYXRjaDIoY2ksIGNjKSAtIDEpOwo+ICsgICAg
ICAgIGItPnN0YWNrX3NpemUgKz0gYXR0cl9zcF9pbmNfb3B0X3JlZ2V4cG1hdGNoMihjaSwgY2Mp
Owo+ICsgICAgfQo+ICsgICAgZnByaW50ZihmLCAifVxuIik7Cj4gKyAgICBicmVhazsKPiArICBj
YXNlIEJJTihiaXRibHQpOgo+ICsgICAgZnByaW50ZihmLCAie1xuIik7Cj4gKyAgICB7Cj4gKyAg
ICAgICAgTUFZQkVfVU5VU0VEKGludCBwY19tb3ZlZF9wKSA9IEZBTFNFOwo+ICsgICAgICAgIGlm
IChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAg
IE1BWUJFX1VOVVNFRCh1bnNpZ25lZCBpbnQpIHN0YWNrX3NpemUgPSAldTtcbiIsIGItPnN0YWNr
X3NpemUpOwo+ICsgICAgICAgIH0KPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5V
U0VEKFZBTFVFKSByZXQ7XG4iKTsKPiArCj4gKyAgICAgICAgaWYgKGJvZHktPmNhdGNoX2V4Y2Vw
dF9wIHx8IEZBTFNFKSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5w
YyA9IG9yaWdpbmFsX2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3MpOyAvKiBBRERfUEMoSU5T
Tl9BVFRSKHdpZHRoKSk7ICovCj4gKyAgICAgICAgICAgIHBjX21vdmVkX3AgPSBUUlVFOwo+ICsg
ICAgICAgIH0KPiArICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cj4gKyAgICAg
ICAgfQo+ICsgICAgICAgIGVsc2Ugewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVn
X2NmcC0+c3AgPSAoVkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSAr
IDEpOwo+ICsgICAgICAgIH0KPiArICAgICAgICBmcHJpbnRmKGYsICIgICAge1xuIik7Cj4gKyAg
ICAgICAgZnByaW50ZihmLCAiICAgICAgICByZXQgPSByYl9zdHJfbmV3MihcImEgYml0IG9mIGJh
Y29uLCBsZXR0dWNlIGFuZCB0b21hdG9cIik7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIg
ICAgfVxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIHN0YWNrWyVkXSA9IHJldDtcbiIs
IGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5jX2JpdGJsdCgpIC0gMSk7Cj4gKyAgICAg
ICAgYi0+c3RhY2tfc2l6ZSArPSBhdHRyX3NwX2luY19iaXRibHQoKTsKPiArICAgIH0KPiArICAg
IGZwcmludGYoZiwgIn1cbiIpOwo+ICsgICAgYnJlYWs7Cj4gKyAgY2FzZSBCSU4oYW5zd2VyKToK
PiArICAgIGZwcmludGYoZiwgIntcbiIpOwo+ICsgICAgewo+ICsgICAgICAgIE1BWUJFX1VOVVNF
RChpbnQgcGNfbW92ZWRfcCkgPSBGQUxTRTsKPiArICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9z
dGFja19wKSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQodW5z
aWduZWQgaW50KSBzdGFja19zaXplID0gJXU7XG4iLCBiLT5zdGFja19zaXplKTsKPiArICAgICAg
ICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgcmV0O1xu
Iik7Cj4gKwo+ICsgICAgICAgIGlmIChib2R5LT5jYXRjaF9leGNlcHRfcCB8fCBGQUxTRSkgewo+
ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5
X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsgLyogQUREX1BDKElOU05fQVRUUih3aWR0aCkpOyAq
Lwo+ICsgICAgICAgICAgICBwY19tb3ZlZF9wID0gVFJVRTsKPiArICAgICAgICB9Cj4gKyAgICAg
ICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgewo+ICsgICAgICAgIH0KPiArICAgICAgICBl
bHNlIHsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnNwID0gKFZBTFVF
ICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAxKTsKPiArICAgICAgICB9
Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIHtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwg
IiAgICAgICAgcmV0ID0gSU5UMkZJWCg0Mik7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIg
ICAgfVxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIHN0YWNrWyVkXSA9IHJldDtcbiIs
IGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3BfaW5jX2Fuc3dlcigpIC0gMSk7Cj4gKyAgICAg
ICAgYi0+c3RhY2tfc2l6ZSArPSBhdHRyX3NwX2luY19hbnN3ZXIoKTsKPiArICAgIH0KPiArICAg
IGZwcmludGYoZiwgIn1cbiIpOwo+ICsgICAgYnJlYWs7Cj4gKyAgY2FzZSBCSU4oZ2V0bG9jYWxf
V0NfMCk6Cj4gKyAgICBmcHJpbnRmKGYsICJ7XG4iKTsKPiArICAgIHsKPiArICAgICAgICBNQVlC
RV9VTlVTRUQoaW50IHBjX21vdmVkX3ApID0gRkFMU0U7Cj4gKyAgICAgICAgTUFZQkVfVU5VU0VE
KGxpbmRleF90IGlkeCkgPSAobGluZGV4X3Qpb3BlcmFuZHNbMF07Cj4gKyAgICAgICAgaWYgKHN0
YXR1cy0+bG9jYWxfc3RhY2tfcCkgewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZ
QkVfVU5VU0VEKHVuc2lnbmVkIGludCkgc3RhY2tfc2l6ZSA9ICV1O1xuIiwgYi0+c3RhY2tfc2l6
ZSk7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQo
VkFMVUUpIHZhbDtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVTRUQo
bGluZGV4X3QpIGlkeDtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlCRV9VTlVT
RUQocmJfbnVtX3QpIGxldmVsO1xuIik7Cj4gKwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBs
ZXZlbCA9IDA7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgaWR4ID0gKGxpbmRleF90
KTB4JSJQUkl4VkFMVUUiOyIsIG9wZXJhbmRzWzBdKTsKPiArICAgICAgICBmcHJpbnRmKGYsICJc
biIpOwo+ICsgICAgICAgIGlmIChib2R5LT5jYXRjaF9leGNlcHRfcCB8fCBGQUxTRSkgewo+ICsg
ICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lz
ZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsgLyogQUREX1BDKElOU05fQVRUUih3aWR0aCkpOyAqLwo+
ICsgICAgICAgICAgICBwY19tb3ZlZF9wID0gVFJVRTsKPiArICAgICAgICB9Cj4gKyAgICAgICAg
aWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tfcCkgewo+ICsgICAgICAgIH0KPiArICAgICAgICBlbHNl
IHsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICop
cmVnX2NmcC0+YnAgKyAlZDtcbiIsIGItPnN0YWNrX3NpemUgKyAxKTsKPiArICAgICAgICB9Cj4g
KyAgICAgICAgZnByaW50ZihmLCAiICAgIHtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAg
ICAgICAgdmFsID0gKih2bV9nZXRfZXAoR0VUX0VQKCksIGxldmVsKSAtIGlkeCk7XG4iKTsKPiAr
ICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIFJCX0RFQlVHX0NPVU5URVJfSU5DKGx2YXJfZ2V0
KTtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgKHZvaWQpUkJfREVCVUdfQ09V
TlRFUl9JTkNfSUYobHZhcl9nZXRfZHluYW1pYywgbGV2ZWwgPiAwKTtcbiIpOwo+ICsgICAgICAg
IGZwcmludGYoZiwgIiAgICB9XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgc3RhY2tb
JWRdID0gdmFsO1xuIiwgYi0+c3RhY2tfc2l6ZSArIChpbnQpYXR0cl9zcF9pbmNfZ2V0bG9jYWxf
V0NfMChpZHgpIC0gMSk7Cj4gKyAgICAgICAgYi0+c3RhY2tfc2l6ZSArPSBhdHRyX3NwX2luY19n
ZXRsb2NhbF9XQ18wKGlkeCk7Cj4gKyAgICB9Cj4gKyAgICBmcHJpbnRmKGYsICJ9XG4iKTsKPiAr
ICAgIGJyZWFrOwo+ICsgIGNhc2UgQklOKGdldGxvY2FsX1dDXzEpOgo+ICsgICAgZnByaW50Zihm
LCAie1xuIik7Cj4gKyAgICB7Cj4gKyAgICAgICAgTUFZQkVfVU5VU0VEKGludCBwY19tb3ZlZF9w
KSA9IEZBTFNFOwo+ICsgICAgICAgIE1BWUJFX1VOVVNFRChsaW5kZXhfdCBpZHgpID0gKGxpbmRl
eF90KW9wZXJhbmRzWzBdOwo+ICsgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsK
PiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRCh1bnNpZ25lZCBpbnQp
IHN0YWNrX3NpemUgPSAldTtcbiIsIGItPnN0YWNrX3NpemUpOwo+ICsgICAgICAgIH0KPiArICAg
ICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSB2YWw7XG4iKTsKPiArICAg
ICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKGxpbmRleF90KSBpZHg7XG4iKTsKPiAr
ICAgICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHJiX251bV90KSBsZXZlbDtcbiIp
Owo+ICsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgbGV2ZWwgPSAxO1xuIik7Cj4gKyAgICAg
ICAgZnByaW50ZihmLCAiICAgIGlkeCA9IChsaW5kZXhfdCkweCUiUFJJeFZBTFVFIjsiLCBvcGVy
YW5kc1swXSk7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsKPiArICAgICAgICBpZiAoYm9k
eS0+Y2F0Y2hfZXhjZXB0X3AgfHwgRkFMU0UpIHsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAi
ICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBuZXh0X3Bvcyk7
IC8qIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsgKi8KPiArICAgICAgICAgICAgcGNfbW92ZWRf
cCA9IFRSVUU7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNr
X3ApIHsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZWxzZSB7Cj4gKyAgICAgICAgICAgIGZwcmlu
dGYoZiwgIiAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBi
LT5zdGFja19zaXplICsgMSk7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGZwcmludGYoZiwgIiAg
ICB7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHZhbCA9ICoodm1fZ2V0X2Vw
KEdFVF9FUCgpLCBsZXZlbCkgLSBpZHgpO1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAg
ICAgICBSQl9ERUJVR19DT1VOVEVSX0lOQyhsdmFyX2dldCk7XG4iKTsKPiArICAgICAgICBmcHJp
bnRmKGYsICIgICAgICAgICh2b2lkKVJCX0RFQlVHX0NPVU5URVJfSU5DX0lGKGx2YXJfZ2V0X2R5
bmFtaWMsIGxldmVsID4gMCk7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgfVxuIik7
Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIHN0YWNrWyVkXSA9IHZhbDtcbiIsIGItPnN0YWNr
X3NpemUgKyAoaW50KWF0dHJfc3BfaW5jX2dldGxvY2FsX1dDXzEoaWR4KSAtIDEpOwo+ICsgICAg
ICAgIGItPnN0YWNrX3NpemUgKz0gYXR0cl9zcF9pbmNfZ2V0bG9jYWxfV0NfMShpZHgpOwo+ICsg
ICAgfQo+ICsgICAgZnByaW50ZihmLCAifVxuIik7Cj4gKyAgICBicmVhazsKPiArICBjYXNlIEJJ
TihzZXRsb2NhbF9XQ18wKToKPiArICAgIGZwcmludGYoZiwgIntcbiIpOwo+ICsgICAgewo+ICsg
ICAgICAgIE1BWUJFX1VOVVNFRChpbnQgcGNfbW92ZWRfcCkgPSBGQUxTRTsKPiArICAgICAgICBN
QVlCRV9VTlVTRUQobGluZGV4X3QgaWR4KSA9IChsaW5kZXhfdClvcGVyYW5kc1swXTsKPiArICAg
ICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYo
ZiwgIiAgICBNQVlCRV9VTlVTRUQodW5zaWduZWQgaW50KSBzdGFja19zaXplID0gJXU7XG4iLCBi
LT5zdGFja19zaXplKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1B
WUJFX1VOVVNFRChWQUxVRSkgdmFsO1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1B
WUJFX1VOVVNFRChsaW5kZXhfdCkgaWR4O1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAg
IE1BWUJFX1VOVVNFRChyYl9udW1fdCkgbGV2ZWw7XG4iKTsKPiArCj4gKyAgICAgICAgZnByaW50
ZihmLCAiICAgIGxldmVsID0gMDtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBpZHgg
PSAobGluZGV4X3QpMHglIlBSSXhWQUxVRSI7Iiwgb3BlcmFuZHNbMF0pOwo+ICsgICAgICAgIGZw
cmludGYoZiwgIlxuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIHZhbCA9IHN0YWNrWyVk
XTtcbiIsIGItPnN0YWNrX3NpemUgLSAxKTsKPiArICAgICAgICBpZiAoYm9keS0+Y2F0Y2hfZXhj
ZXB0X3AgfHwgRkFMU0UpIHsKPiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIHJlZ19jZnAt
PnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBuZXh0X3Bvcyk7IC8qIEFERF9QQyhJ
TlNOX0FUVFIod2lkdGgpKTsgKi8KPiArICAgICAgICAgICAgcGNfbW92ZWRfcCA9IFRSVUU7Cj4g
KyAgICAgICAgfQo+ICsgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKPiArICAg
ICAgICB9Cj4gKyAgICAgICAgZWxzZSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICBy
ZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsgJWQ7XG4iLCBiLT5zdGFja19zaXpl
ICsgMSk7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICB7XG4iKTsKPiAr
ICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIHZtX2Vudl93cml0ZSh2bV9nZXRfZXAoR0VUX0VQ
KCksIGxldmVsKSwgLShpbnQpaWR4LCB2YWwpO1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAi
ICAgICAgICBSQl9ERUJVR19DT1VOVEVSX0lOQyhsdmFyX3NldCk7XG4iKTsKPiArICAgICAgICBm
cHJpbnRmKGYsICIgICAgICAgICh2b2lkKVJCX0RFQlVHX0NPVU5URVJfSU5DX0lGKGx2YXJfc2V0
X2R5bmFtaWMsIGxldmVsID4gMCk7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgfVxu
Iik7Cj4gKyAgICAgICAgYi0+c3RhY2tfc2l6ZSArPSBhdHRyX3NwX2luY19zZXRsb2NhbF9XQ18w
KGlkeCk7Cj4gKyAgICB9Cj4gKyAgICBmcHJpbnRmKGYsICJ9XG4iKTsKPiArICAgIGJyZWFrOwo+
ICsgIGNhc2UgQklOKHNldGxvY2FsX1dDXzEpOgo+ICsgICAgZnByaW50ZihmLCAie1xuIik7Cj4g
KyAgICB7Cj4gKyAgICAgICAgTUFZQkVfVU5VU0VEKGludCBwY19tb3ZlZF9wKSA9IEZBTFNFOwo+
ICsgICAgICAgIE1BWUJFX1VOVVNFRChsaW5kZXhfdCBpZHgpID0gKGxpbmRleF90KW9wZXJhbmRz
WzBdOwo+ICsgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsKPiArICAgICAgICAg
ICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRCh1bnNpZ25lZCBpbnQpIHN0YWNrX3NpemUg
PSAldTtcbiIsIGItPnN0YWNrX3NpemUpOwo+ICsgICAgICAgIH0KPiArICAgICAgICBmcHJpbnRm
KGYsICIgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSB2YWw7XG4iKTsKPiArICAgICAgICBmcHJpbnRm
KGYsICIgICAgTUFZQkVfVU5VU0VEKGxpbmRleF90KSBpZHg7XG4iKTsKPiArICAgICAgICBmcHJp
bnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKHJiX251bV90KSBsZXZlbDtcbiIpOwo+ICsKPiArICAg
ICAgICBmcHJpbnRmKGYsICIgICAgbGV2ZWwgPSAxO1xuIik7Cj4gKyAgICAgICAgZnByaW50Zihm
LCAiICAgIGlkeCA9IChsaW5kZXhfdCkweCUiUFJJeFZBTFVFIjsiLCBvcGVyYW5kc1swXSk7Cj4g
KyAgICAgICAgZnByaW50ZihmLCAiXG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgdmFs
ID0gc3RhY2tbJWRdO1xuIiwgYi0+c3RhY2tfc2l6ZSAtIDEpOwo+ICsgICAgICAgIGlmIChib2R5
LT5jYXRjaF9leGNlcHRfcCB8fCBGQUxTRSkgewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIg
ICAgcmVnX2NmcC0+cGMgPSBvcmlnaW5hbF9ib2R5X2lzZXEgKyAlZDtcbiIsIG5leHRfcG9zKTsg
LyogQUREX1BDKElOU05fQVRUUih3aWR0aCkpOyAqLwo+ICsgICAgICAgICAgICBwY19tb3ZlZF9w
ID0gVFJVRTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgaWYgKHN0YXR1cy0+bG9jYWxfc3RhY2tf
cCkgewo+ICsgICAgICAgIH0KPiArICAgICAgICBlbHNlIHsKPiArICAgICAgICAgICAgZnByaW50
ZihmLCAiICAgIHJlZ19jZnAtPnNwID0gKFZBTFVFICopcmVnX2NmcC0+YnAgKyAlZDtcbiIsIGIt
PnN0YWNrX3NpemUgKyAxKTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAg
IHtcbiIpOwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgdm1fZW52X3dyaXRlKHZtX2dl
dF9lcChHRVRfRVAoKSwgbGV2ZWwpLCAtKGludClpZHgsIHZhbCk7XG4iKTsKPiArICAgICAgICBm
cHJpbnRmKGYsICIgICAgICAgIFJCX0RFQlVHX0NPVU5URVJfSU5DKGx2YXJfc2V0KTtcbiIpOwo+
ICsgICAgICAgIGZwcmludGYoZiwgIiAgICAgICAgKHZvaWQpUkJfREVCVUdfQ09VTlRFUl9JTkNf
SUYobHZhcl9zZXRfZHluYW1pYywgbGV2ZWwgPiAwKTtcbiIpOwo+ICsgICAgICAgIGZwcmludGYo
ZiwgIiAgICB9XG4iKTsKPiArICAgICAgICBiLT5zdGFja19zaXplICs9IGF0dHJfc3BfaW5jX3Nl
dGxvY2FsX1dDXzEoaWR4KTsKPiArICAgIH0KPiArICAgIGZwcmludGYoZiwgIn1cbiIpOwo+ICsg
ICAgYnJlYWs7Cj4gKyAgY2FzZSBCSU4ocHV0b2JqZWN0X0lOVDJGSVhfMF8pOgo+ICsgICAgZnBy
aW50ZihmLCAie1xuIik7Cj4gKyAgICB7Cj4gKyAgICAgICAgTUFZQkVfVU5VU0VEKGludCBwY19t
b3ZlZF9wKSA9IEZBTFNFOwo+ICsgICAgICAgIGlmIChzdGF0dXMtPmxvY2FsX3N0YWNrX3ApIHsK
PiArICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRCh1bnNpZ25lZCBpbnQp
IHN0YWNrX3NpemUgPSAldTtcbiIsIGItPnN0YWNrX3NpemUpOwo+ICsgICAgICAgIH0KPiArICAg
ICAgICBmcHJpbnRmKGYsICIgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSB2YWw7XG4iKTsKPiArCj4g
KyAgICAgICAgZnByaW50ZihmLCAiICAgIHZhbCA9IElOVDJGSVgoMCk7XG4iKTsKPiArICAgICAg
ICBpZiAoYm9keS0+Y2F0Y2hfZXhjZXB0X3AgfHwgRkFMU0UpIHsKPiArICAgICAgICAgICAgZnBy
aW50ZihmLCAiICAgIHJlZ19jZnAtPnBjID0gb3JpZ2luYWxfYm9keV9pc2VxICsgJWQ7XG4iLCBu
ZXh0X3Bvcyk7IC8qIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsgKi8KPiArICAgICAgICAgICAg
cGNfbW92ZWRfcCA9IFRSVUU7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGlmIChzdGF0dXMtPmxv
Y2FsX3N0YWNrX3ApIHsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZWxzZSB7Cj4gKyAgICAgICAg
ICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5zcCA9IChWQUxVRSAqKXJlZ19jZnAtPmJwICsg
JWQ7XG4iLCBiLT5zdGFja19zaXplICsgMSk7Cj4gKyAgICAgICAgfQo+ICsgICAgICAgIGZwcmlu
dGYoZiwgIiAgICB7XG4iKTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgICAgIC8qICovXG4i
KTsKPiArICAgICAgICBmcHJpbnRmKGYsICIgICAgfVxuIik7Cj4gKyAgICAgICAgZnByaW50Zihm
LCAiICAgIHN0YWNrWyVkXSA9IHZhbDtcbiIsIGItPnN0YWNrX3NpemUgKyAoaW50KWF0dHJfc3Bf
aW5jX3B1dG9iamVjdF9JTlQyRklYXzBfKCkgLSAxKTsKPiArICAgICAgICBiLT5zdGFja19zaXpl
ICs9IGF0dHJfc3BfaW5jX3B1dG9iamVjdF9JTlQyRklYXzBfKCk7Cj4gKyAgICB9Cj4gKyAgICBm
cHJpbnRmKGYsICJ9XG4iKTsKPiArICAgIGJyZWFrOwo+ICsgIGNhc2UgQklOKHB1dG9iamVjdF9J
TlQyRklYXzFfKToKPiArICAgIGZwcmludGYoZiwgIntcbiIpOwo+ICsgICAgewo+ICsgICAgICAg
IE1BWUJFX1VOVVNFRChpbnQgcGNfbW92ZWRfcCkgPSBGQUxTRTsKPiArICAgICAgICBpZiAoc3Rh
dHVzLT5sb2NhbF9zdGFja19wKSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICBNQVlC
RV9VTlVTRUQodW5zaWduZWQgaW50KSBzdGFja19zaXplID0gJXU7XG4iLCBiLT5zdGFja19zaXpl
KTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIE1BWUJFX1VOVVNFRChW
QUxVRSkgdmFsO1xuIik7Cj4gKwo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICB2YWwgPSBJTlQy
RklYKDEpO1xuIik7Cj4gKyAgICAgICAgaWYgKGJvZHktPmNhdGNoX2V4Y2VwdF9wIHx8IEZBTFNF
KSB7Cj4gKyAgICAgICAgICAgIGZwcmludGYoZiwgIiAgICByZWdfY2ZwLT5wYyA9IG9yaWdpbmFs
X2JvZHlfaXNlcSArICVkO1xuIiwgbmV4dF9wb3MpOyAvKiBBRERfUEMoSU5TTl9BVFRSKHdpZHRo
KSk7ICovCj4gKyAgICAgICAgICAgIHBjX21vdmVkX3AgPSBUUlVFOwo+ICsgICAgICAgIH0KPiAr
ICAgICAgICBpZiAoc3RhdHVzLT5sb2NhbF9zdGFja19wKSB7Cj4gKyAgICAgICAgfQo+ICsgICAg
ICAgIGVsc2Ugewo+ICsgICAgICAgICAgICBmcHJpbnRmKGYsICIgICAgcmVnX2NmcC0+c3AgPSAo
VkFMVUUgKilyZWdfY2ZwLT5icCArICVkO1xuIiwgYi0+c3RhY2tfc2l6ZSArIDEpOwo+ICsgICAg
ICAgIH0KPiArICAgICAgICBmcHJpbnRmKGYsICIgICAge1xuIik7Cj4gKyAgICAgICAgZnByaW50
ZihmLCAiICAgICAgICAvKiAqL1xuIik7Cj4gKyAgICAgICAgZnByaW50ZihmLCAiICAgIH1cbiIp
Owo+ICsgICAgICAgIGZwcmludGYoZiwgIiAgICBzdGFja1slZF0gPSB2YWw7XG4iLCBiLT5zdGFj
a19zaXplICsgKGludClhdHRyX3NwX2luY19wdXRvYmplY3RfSU5UMkZJWF8xXygpIC0gMSk7Cj4g
KyAgICAgICAgYi0+c3RhY2tfc2l6ZSArPSBhdHRyX3NwX2luY19wdXRvYmplY3RfSU5UMkZJWF8x
XygpOwo+ICsgICAgfQo+ICsgICAgZnByaW50ZihmLCAifVxuIik7Cj4gKyAgICBicmVhazsKPiAr
ICBkZWZhdWx0Ogo+ICsgICAgaWYgKG1qaXRfb3B0cy53YXJuaW5ncyB8fCBtaml0X29wdHMudmVy
Ym9zZSkKPiArICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIk1KSVQgd2FybmluZzogU2tpcHBlZCB0
byBjb21waWxlIHVuc3VwcG9ydGVkIGluc3RydWN0aW9uOiAlc1xuIiwgaW5zbl9uYW1lKGluc24p
KTsKPiArICAgIHN0YXR1cy0+c3VjY2VzcyA9IEZBTFNFOwo+ICsgICAgYnJlYWs7Cj4gK30KPiBk
aWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL21qaXRfY29uZmlnLmggYi9nZW5lcmF0ZWQvbWppdF9jb25m
aWcuaAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMC4uZWMwNzkyOQo+IC0t
LSAvZGV2L251bGwKPiArKysgYi9nZW5lcmF0ZWQvbWppdF9jb25maWcuaAo+IEBAIC0wLDAgKzEs
MjAgQEAKPiArI2lmbmRlZiBSVUJZX01KSVRfQ09ORklHX0gKPiArI2RlZmluZSBSVUJZX01KSVRf
Q09ORklHX0ggMQo+ICsKPiArI2lmZGVmIExPQURfUkVMQVRJVkUKPiArI2RlZmluZSBNSklUX0hF
QURFUl9JTlNUQUxMX0RJUiAiL2luY2x1ZGUvcnVieS0yLjYuMC94ODZfNjQtbGludXgiCj4gKyNl
bHNlCj4gKyNkZWZpbmUgTUpJVF9IRUFERVJfSU5TVEFMTF9ESVIgIi9ob21lL3dvbGYvbmZ2L2Rl
di91bmlrcmFmdC9hcHBzL3VrdXRlc3QuZ2l0L2J1aWxkL2xpYnJ1Ynkvb3JpZ2luL3J1YnktcnVi
eV8yXzYvZGlzdC9pbmNsdWRlL3J1YnktMi42LjAveDg2XzY0LWxpbnV4Igo+ICsjZW5kaWYKPiAr
I2RlZmluZSBNSklUX01JTl9IRUFERVJfTkFNRSAicmJfbWppdF9taW5faGVhZGVyLTIuNi42Lmgi
Cj4gKyNkZWZpbmUgTUpJVF9DQ19DT01NT04gICAiL3Vzci9iaW4vZ2NjIiwKPiArI2RlZmluZSBN
SklUX0NGTEFHUyAgICAgIE1KSVRfQVJDSEZMQUcgIi13IiwKPiArI2RlZmluZSBNSklUX09QVEZM
QUdTICAgICItTzMiLAo+ICsjZGVmaW5lIE1KSVRfREVCVUdGTEFHUyAgIi1nZ2RiMyIsCj4gKyNk
ZWZpbmUgTUpJVF9MRFNIQVJFRCAgICAiL3Vzci9iaW4vZ2NjIiwgIi1zaGFyZWQiLAo+ICsjZGVm
aW5lIE1KSVRfRExERkxBR1MgICAgTUpJVF9BUkNIRkxBRyAiLVdsLC0tY29tcHJlc3MtZGVidWct
c2VjdGlvbnM9emxpYiIsCj4gKyNkZWZpbmUgTUpJVF9MSUJTICAgICAgICAiLVdsLC1ycGF0aCwv
aG9tZS93b2xmL25mdi9kZXYvdW5pa3JhZnQvYXBwcy91a3V0ZXN0LmdpdC9idWlsZC9saWJydWJ5
L29yaWdpbi9ydWJ5LXJ1YnlfMl82L2Rpc3QvbGliIiwgIi1ML2hvbWUvd29sZi9uZnYvZGV2L3Vu
aWtyYWZ0L2FwcHMvdWt1dGVzdC5naXQvYnVpbGQvbGlicnVieS9vcmlnaW4vcnVieS1ydWJ5XzJf
Ni9kaXN0L2xpYiIsCj4gKyNkZWZpbmUgUFJFTE9BREVOViAgICAgICAiTERfUFJFTE9BRCIKPiAr
I2RlZmluZSBNSklUX0FSQ0hGTEFHICAgIC8qIG5vIGZsYWcgKi8KPiArCj4gKyNlbmRpZiAvKiBS
VUJZX01KSVRfQ09ORklHX0ggKi8KPiBkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL25vZGVfbmFtZS5p
bmMgYi9nZW5lcmF0ZWQvbm9kZV9uYW1lLmluYwo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5k
ZXggMDAwMDAwMC4uYTAyYzc5Mgo+IC0tLSAvZGV2L251bGwKPiArKysgYi9nZW5lcmF0ZWQvbm9k
ZV9uYW1lLmluYwo+IEBAIC0wLDAgKzEsMjAwIEBACj4gKyAgICAgIGNhc2UgTk9ERV9TQ09QRToK
PiArICAgICAgIHJldHVybiAiTk9ERV9TQ09QRSI7Cj4gKyAgICAgIGNhc2UgTk9ERV9CTE9DSzoK
PiArICAgICAgIHJldHVybiAiTk9ERV9CTE9DSyI7Cj4gKyAgICAgIGNhc2UgTk9ERV9JRjoKPiAr
ICAgICAgIHJldHVybiAiTk9ERV9JRiI7Cj4gKyAgICAgIGNhc2UgTk9ERV9VTkxFU1M6Cj4gKyAg
ICAgICByZXR1cm4gIk5PREVfVU5MRVNTIjsKPiArICAgICAgY2FzZSBOT0RFX0NBU0U6Cj4gKyAg
ICAgICByZXR1cm4gIk5PREVfQ0FTRSI7Cj4gKyAgICAgIGNhc2UgTk9ERV9DQVNFMjoKPiArICAg
ICAgIHJldHVybiAiTk9ERV9DQVNFMiI7Cj4gKyAgICAgIGNhc2UgTk9ERV9XSEVOOgo+ICsgICAg
ICAgcmV0dXJuICJOT0RFX1dIRU4iOwo+ICsgICAgICBjYXNlIE5PREVfV0hJTEU6Cj4gKyAgICAg
ICByZXR1cm4gIk5PREVfV0hJTEUiOwo+ICsgICAgICBjYXNlIE5PREVfVU5USUw6Cj4gKyAgICAg
ICByZXR1cm4gIk5PREVfVU5USUwiOwo+ICsgICAgICBjYXNlIE5PREVfSVRFUjoKPiArICAgICAg
IHJldHVybiAiTk9ERV9JVEVSIjsKPiArICAgICAgY2FzZSBOT0RFX0ZPUjoKPiArICAgICAgIHJl
dHVybiAiTk9ERV9GT1IiOwo+ICsgICAgICBjYXNlIE5PREVfRk9SX01BU0dOOgo+ICsgICAgICAg
cmV0dXJuICJOT0RFX0ZPUl9NQVNHTiI7Cj4gKyAgICAgIGNhc2UgTk9ERV9CUkVBSzoKPiArICAg
ICAgIHJldHVybiAiTk9ERV9CUkVBSyI7Cj4gKyAgICAgIGNhc2UgTk9ERV9ORVhUOgo+ICsgICAg
ICAgcmV0dXJuICJOT0RFX05FWFQiOwo+ICsgICAgICBjYXNlIE5PREVfUkVETzoKPiArICAgICAg
IHJldHVybiAiTk9ERV9SRURPIjsKPiArICAgICAgY2FzZSBOT0RFX1JFVFJZOgo+ICsgICAgICAg
cmV0dXJuICJOT0RFX1JFVFJZIjsKPiArICAgICAgY2FzZSBOT0RFX0JFR0lOOgo+ICsgICAgICAg
cmV0dXJuICJOT0RFX0JFR0lOIjsKPiArICAgICAgY2FzZSBOT0RFX1JFU0NVRToKPiArICAgICAg
IHJldHVybiAiTk9ERV9SRVNDVUUiOwo+ICsgICAgICBjYXNlIE5PREVfUkVTQk9EWToKPiArICAg
ICAgIHJldHVybiAiTk9ERV9SRVNCT0RZIjsKPiArICAgICAgY2FzZSBOT0RFX0VOU1VSRToKPiAr
ICAgICAgIHJldHVybiAiTk9ERV9FTlNVUkUiOwo+ICsgICAgICBjYXNlIE5PREVfQU5EOgo+ICsg
ICAgICAgcmV0dXJuICJOT0RFX0FORCI7Cj4gKyAgICAgIGNhc2UgTk9ERV9PUjoKPiArICAgICAg
IHJldHVybiAiTk9ERV9PUiI7Cj4gKyAgICAgIGNhc2UgTk9ERV9NQVNHTjoKPiArICAgICAgIHJl
dHVybiAiTk9ERV9NQVNHTiI7Cj4gKyAgICAgIGNhc2UgTk9ERV9MQVNHTjoKPiArICAgICAgIHJl
dHVybiAiTk9ERV9MQVNHTiI7Cj4gKyAgICAgIGNhc2UgTk9ERV9EQVNHTjoKPiArICAgICAgIHJl
dHVybiAiTk9ERV9EQVNHTiI7Cj4gKyAgICAgIGNhc2UgTk9ERV9EQVNHTl9DVVJSOgo+ICsgICAg
ICAgcmV0dXJuICJOT0RFX0RBU0dOX0NVUlIiOwo+ICsgICAgICBjYXNlIE5PREVfR0FTR046Cj4g
KyAgICAgICByZXR1cm4gIk5PREVfR0FTR04iOwo+ICsgICAgICBjYXNlIE5PREVfSUFTR046Cj4g
KyAgICAgICByZXR1cm4gIk5PREVfSUFTR04iOwo+ICsgICAgICBjYXNlIE5PREVfQ0RFQ0w6Cj4g
KyAgICAgICByZXR1cm4gIk5PREVfQ0RFQ0wiOwo+ICsgICAgICBjYXNlIE5PREVfQ1ZBU0dOOgo+
ICsgICAgICAgcmV0dXJuICJOT0RFX0NWQVNHTiI7Cj4gKyAgICAgIGNhc2UgTk9ERV9PUF9BU0dO
MToKPiArICAgICAgIHJldHVybiAiTk9ERV9PUF9BU0dOMSI7Cj4gKyAgICAgIGNhc2UgTk9ERV9P
UF9BU0dOMjoKPiArICAgICAgIHJldHVybiAiTk9ERV9PUF9BU0dOMiI7Cj4gKyAgICAgIGNhc2Ug
Tk9ERV9PUF9BU0dOX0FORDoKPiArICAgICAgIHJldHVybiAiTk9ERV9PUF9BU0dOX0FORCI7Cj4g
KyAgICAgIGNhc2UgTk9ERV9PUF9BU0dOX09SOgo+ICsgICAgICAgcmV0dXJuICJOT0RFX09QX0FT
R05fT1IiOwo+ICsgICAgICBjYXNlIE5PREVfT1BfQ0RFQ0w6Cj4gKyAgICAgICByZXR1cm4gIk5P
REVfT1BfQ0RFQ0wiOwo+ICsgICAgICBjYXNlIE5PREVfQ0FMTDoKPiArICAgICAgIHJldHVybiAi
Tk9ERV9DQUxMIjsKPiArICAgICAgY2FzZSBOT0RFX09QQ0FMTDoKPiArICAgICAgIHJldHVybiAi
Tk9ERV9PUENBTEwiOwo+ICsgICAgICBjYXNlIE5PREVfRkNBTEw6Cj4gKyAgICAgICByZXR1cm4g
Ik5PREVfRkNBTEwiOwo+ICsgICAgICBjYXNlIE5PREVfVkNBTEw6Cj4gKyAgICAgICByZXR1cm4g
Ik5PREVfVkNBTEwiOwo+ICsgICAgICBjYXNlIE5PREVfUUNBTEw6Cj4gKyAgICAgICByZXR1cm4g
Ik5PREVfUUNBTEwiOwo+ICsgICAgICBjYXNlIE5PREVfU1VQRVI6Cj4gKyAgICAgICByZXR1cm4g
Ik5PREVfU1VQRVIiOwo+ICsgICAgICBjYXNlIE5PREVfWlNVUEVSOgo+ICsgICAgICAgcmV0dXJu
ICJOT0RFX1pTVVBFUiI7Cj4gKyAgICAgIGNhc2UgTk9ERV9BUlJBWToKPiArICAgICAgIHJldHVy
biAiTk9ERV9BUlJBWSI7Cj4gKyAgICAgIGNhc2UgTk9ERV9aQVJSQVk6Cj4gKyAgICAgICByZXR1
cm4gIk5PREVfWkFSUkFZIjsKPiArICAgICAgY2FzZSBOT0RFX1ZBTFVFUzoKPiArICAgICAgIHJl
dHVybiAiTk9ERV9WQUxVRVMiOwo+ICsgICAgICBjYXNlIE5PREVfSEFTSDoKPiArICAgICAgIHJl
dHVybiAiTk9ERV9IQVNIIjsKPiArICAgICAgY2FzZSBOT0RFX1JFVFVSTjoKPiArICAgICAgIHJl
dHVybiAiTk9ERV9SRVRVUk4iOwo+ICsgICAgICBjYXNlIE5PREVfWUlFTEQ6Cj4gKyAgICAgICBy
ZXR1cm4gIk5PREVfWUlFTEQiOwo+ICsgICAgICBjYXNlIE5PREVfTFZBUjoKPiArICAgICAgIHJl
dHVybiAiTk9ERV9MVkFSIjsKPiArICAgICAgY2FzZSBOT0RFX0RWQVI6Cj4gKyAgICAgICByZXR1
cm4gIk5PREVfRFZBUiI7Cj4gKyAgICAgIGNhc2UgTk9ERV9HVkFSOgo+ICsgICAgICAgcmV0dXJu
ICJOT0RFX0dWQVIiOwo+ICsgICAgICBjYXNlIE5PREVfSVZBUjoKPiArICAgICAgIHJldHVybiAi
Tk9ERV9JVkFSIjsKPiArICAgICAgY2FzZSBOT0RFX0NPTlNUOgo+ICsgICAgICAgcmV0dXJuICJO
T0RFX0NPTlNUIjsKPiArICAgICAgY2FzZSBOT0RFX0NWQVI6Cj4gKyAgICAgICByZXR1cm4gIk5P
REVfQ1ZBUiI7Cj4gKyAgICAgIGNhc2UgTk9ERV9OVEhfUkVGOgo+ICsgICAgICAgcmV0dXJuICJO
T0RFX05USF9SRUYiOwo+ICsgICAgICBjYXNlIE5PREVfQkFDS19SRUY6Cj4gKyAgICAgICByZXR1
cm4gIk5PREVfQkFDS19SRUYiOwo+ICsgICAgICBjYXNlIE5PREVfTUFUQ0g6Cj4gKyAgICAgICBy
ZXR1cm4gIk5PREVfTUFUQ0giOwo+ICsgICAgICBjYXNlIE5PREVfTUFUQ0gyOgo+ICsgICAgICAg
cmV0dXJuICJOT0RFX01BVENIMiI7Cj4gKyAgICAgIGNhc2UgTk9ERV9NQVRDSDM6Cj4gKyAgICAg
ICByZXR1cm4gIk5PREVfTUFUQ0gzIjsKPiArICAgICAgY2FzZSBOT0RFX0xJVDoKPiArICAgICAg
IHJldHVybiAiTk9ERV9MSVQiOwo+ICsgICAgICBjYXNlIE5PREVfU1RSOgo+ICsgICAgICAgcmV0
dXJuICJOT0RFX1NUUiI7Cj4gKyAgICAgIGNhc2UgTk9ERV9EU1RSOgo+ICsgICAgICAgcmV0dXJu
ICJOT0RFX0RTVFIiOwo+ICsgICAgICBjYXNlIE5PREVfWFNUUjoKPiArICAgICAgIHJldHVybiAi
Tk9ERV9YU1RSIjsKPiArICAgICAgY2FzZSBOT0RFX0RYU1RSOgo+ICsgICAgICAgcmV0dXJuICJO
T0RFX0RYU1RSIjsKPiArICAgICAgY2FzZSBOT0RFX0VWU1RSOgo+ICsgICAgICAgcmV0dXJuICJO
T0RFX0VWU1RSIjsKPiArICAgICAgY2FzZSBOT0RFX0RSRUdYOgo+ICsgICAgICAgcmV0dXJuICJO
T0RFX0RSRUdYIjsKPiArICAgICAgY2FzZSBOT0RFX09OQ0U6Cj4gKyAgICAgICByZXR1cm4gIk5P
REVfT05DRSI7Cj4gKyAgICAgIGNhc2UgTk9ERV9BUkdTOgo+ICsgICAgICAgcmV0dXJuICJOT0RF
X0FSR1MiOwo+ICsgICAgICBjYXNlIE5PREVfQVJHU19BVVg6Cj4gKyAgICAgICByZXR1cm4gIk5P
REVfQVJHU19BVVgiOwo+ICsgICAgICBjYXNlIE5PREVfT1BUX0FSRzoKPiArICAgICAgIHJldHVy
biAiTk9ERV9PUFRfQVJHIjsKPiArICAgICAgY2FzZSBOT0RFX0tXX0FSRzoKPiArICAgICAgIHJl
dHVybiAiTk9ERV9LV19BUkciOwo+ICsgICAgICBjYXNlIE5PREVfUE9TVEFSRzoKPiArICAgICAg
IHJldHVybiAiTk9ERV9QT1NUQVJHIjsKPiArICAgICAgY2FzZSBOT0RFX0FSR1NDQVQ6Cj4gKyAg
ICAgICByZXR1cm4gIk5PREVfQVJHU0NBVCI7Cj4gKyAgICAgIGNhc2UgTk9ERV9BUkdTUFVTSDoK
PiArICAgICAgIHJldHVybiAiTk9ERV9BUkdTUFVTSCI7Cj4gKyAgICAgIGNhc2UgTk9ERV9TUExB
VDoKPiArICAgICAgIHJldHVybiAiTk9ERV9TUExBVCI7Cj4gKyAgICAgIGNhc2UgTk9ERV9CTE9D
S19QQVNTOgo+ICsgICAgICAgcmV0dXJuICJOT0RFX0JMT0NLX1BBU1MiOwo+ICsgICAgICBjYXNl
IE5PREVfREVGTjoKPiArICAgICAgIHJldHVybiAiTk9ERV9ERUZOIjsKPiArICAgICAgY2FzZSBO
T0RFX0RFRlM6Cj4gKyAgICAgICByZXR1cm4gIk5PREVfREVGUyI7Cj4gKyAgICAgIGNhc2UgTk9E
RV9BTElBUzoKPiArICAgICAgIHJldHVybiAiTk9ERV9BTElBUyI7Cj4gKyAgICAgIGNhc2UgTk9E
RV9WQUxJQVM6Cj4gKyAgICAgICByZXR1cm4gIk5PREVfVkFMSUFTIjsKPiArICAgICAgY2FzZSBO
T0RFX1VOREVGOgo+ICsgICAgICAgcmV0dXJuICJOT0RFX1VOREVGIjsKPiArICAgICAgY2FzZSBO
T0RFX0NMQVNTOgo+ICsgICAgICAgcmV0dXJuICJOT0RFX0NMQVNTIjsKPiArICAgICAgY2FzZSBO
T0RFX01PRFVMRToKPiArICAgICAgIHJldHVybiAiTk9ERV9NT0RVTEUiOwo+ICsgICAgICBjYXNl
IE5PREVfU0NMQVNTOgo+ICsgICAgICAgcmV0dXJuICJOT0RFX1NDTEFTUyI7Cj4gKyAgICAgIGNh
c2UgTk9ERV9DT0xPTjI6Cj4gKyAgICAgICByZXR1cm4gIk5PREVfQ09MT04yIjsKPiArICAgICAg
Y2FzZSBOT0RFX0NPTE9OMzoKPiArICAgICAgIHJldHVybiAiTk9ERV9DT0xPTjMiOwo+ICsgICAg
ICBjYXNlIE5PREVfRE9UMjoKPiArICAgICAgIHJldHVybiAiTk9ERV9ET1QyIjsKPiArICAgICAg
Y2FzZSBOT0RFX0RPVDM6Cj4gKyAgICAgICByZXR1cm4gIk5PREVfRE9UMyI7Cj4gKyAgICAgIGNh
c2UgTk9ERV9GTElQMjoKPiArICAgICAgIHJldHVybiAiTk9ERV9GTElQMiI7Cj4gKyAgICAgIGNh
c2UgTk9ERV9GTElQMzoKPiArICAgICAgIHJldHVybiAiTk9ERV9GTElQMyI7Cj4gKyAgICAgIGNh
c2UgTk9ERV9TRUxGOgo+ICsgICAgICAgcmV0dXJuICJOT0RFX1NFTEYiOwo+ICsgICAgICBjYXNl
IE5PREVfTklMOgo+ICsgICAgICAgcmV0dXJuICJOT0RFX05JTCI7Cj4gKyAgICAgIGNhc2UgTk9E
RV9UUlVFOgo+ICsgICAgICAgcmV0dXJuICJOT0RFX1RSVUUiOwo+ICsgICAgICBjYXNlIE5PREVf
RkFMU0U6Cj4gKyAgICAgICByZXR1cm4gIk5PREVfRkFMU0UiOwo+ICsgICAgICBjYXNlIE5PREVf
RVJSSU5GTzoKPiArICAgICAgIHJldHVybiAiTk9ERV9FUlJJTkZPIjsKPiArICAgICAgY2FzZSBO
T0RFX0RFRklORUQ6Cj4gKyAgICAgICByZXR1cm4gIk5PREVfREVGSU5FRCI7Cj4gKyAgICAgIGNh
c2UgTk9ERV9QT1NURVhFOgo+ICsgICAgICAgcmV0dXJuICJOT0RFX1BPU1RFWEUiOwo+ICsgICAg
ICBjYXNlIE5PREVfRFNZTToKPiArICAgICAgIHJldHVybiAiTk9ERV9EU1lNIjsKPiArICAgICAg
Y2FzZSBOT0RFX0FUVFJBU0dOOgo+ICsgICAgICAgcmV0dXJuICJOT0RFX0FUVFJBU0dOIjsKPiAr
ICAgICAgY2FzZSBOT0RFX0xBTUJEQToKPiArICAgICAgIHJldHVybiAiTk9ERV9MQU1CREEiOwo+
IGRpZmYgLS1naXQgYS9nZW5lcmF0ZWQvb3B0aW5zbi5pbmMgYi9nZW5lcmF0ZWQvb3B0aW5zbi5p
bmMKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAuLjA0ODk4ZDgKPiAtLS0g
L2Rldi9udWxsCj4gKysrIGIvZ2VuZXJhdGVkL29wdGluc24uaW5jCj4gQEAgLTAsMCArMSwxMjgg
QEAKPiArLyogLSotIG1vZGU6Yzsgc3R5bGU6cnVieTsgY29kaW5nOiB1dGYtODsgaW5kZW50LXRh
YnMtbW9kZTogbmlsIC0qLSAqLwo+ICsKPiArLyogVGhpcyBpcyAgYW4gYXV0by1nZW5lcmF0ZWQg
ZmlsZSAgYW5kIGlzIGEgIHBhcnQgb2YgdGhlICBwcm9ncmFtbWluZyBsYW5ndWFnZQo+ICsgKiBS
dWJ5LiAgVGhlICBwZXJzb24gd2hvICBjcmVhdGVkICBhICBwcm9ncmFtICB0byAgZ2VuZXJhdGUg
dGhpcyAgZmlsZSAgKGBgSScnCj4gKyAqIGhlcmVhZnRlcikgd291bGQgbGlrZSAgdG8gcmVmcmFp
biBmcm9tIGRlZmluaW5nIGxpY2Vuc2luZyAgb2YgdGhpcyBnZW5lcmF0ZWQKPiArICogc291cmNl
IGNvZGUuCj4gKyAqCj4gKyAqIFRoaXMgZmlsZSBjb25zaXN0IG9mIG1hbnkgc21hbGwgIHBhcnRz
IG9mIGNvZGVzIGNvcHlyaWdodGVkIGJ5IGVhY2ggYXV0aG9ycywKPiArICogbm90ICBvbmx5ICB0
aGUgIGBgSScnICBwZXJzb24uICAgVGhvc2UgIG9yaWdpbmFsICBhdXRob3JzICBhZ3JlZSAgd2l0
aCAgc29tZQo+ICsgKiBvcGVuLXNvdXJjZSBsaWNlbnNlLiAgSSAgYmVsaWV2ZSB0aGF0IHRoZSBs
aWNlbnNlIHdlIGFncmVlICBpcyB0aGUgY29uZGl0aW9uCj4gKyAqIG1lbnRpb25lZCBpbiAgdGhl
IGZpbGUgQ09QWUlORy4gIEl0ICBzdGF0ZXMgIjQuICBZb3UgbWF5ICBtb2RpZnkgYW5kIGluY2x1
ZGUKPiArICogdGhlIHBhcnQgb2YgdGhlIHNvZnR3YXJlIGludG8gYW55ICBvdGhlciBzb2Z0d2Fy
ZSAuLi4iLiAgQnV0IHRoZSBwcm9ibGVtIGlzLAo+ICsgKiB0aGUgbGljZW5zZSBuZXZlciBtYWtl
cyBpdCBjbGVhciBpZiAgc3VjaCBtb2RpZmllZCBwYXJ0cyBzdGlsbCByZW1haW4gaW4gdGhlCj4g
KyAqIHNhbWUgIGxpY2Vuc2UsIG9yICBub3QuICAgVGhlIGZhY3QgIHRoYXQgIHdlIGFncmVlICB3
aXRoICB0aGUgc291cmNlICBjb2RlJ3MKPiArICogbGljZW5zaW5nIHRlcm1zIGRvIG5vdCBhdXRv
bWF0aWNhbGx5IGRlZmluZSB0aGF0IG9mIGdlbmVyYXRlZCBvbmVzLiAgVGhpcyBpcwo+ICsgKiB0
aGUgcmVhc29uICB3aHkgdGhpcyBmaWxlICBpcyB1bmRlciB1bmNsZWFyIHNpdHVhdGlvbi4gICBB
bGwgdGhhdCBJICBrbm93IGlzCj4gKyAqIHRoYXQgYWJvdmUgcHJvdmlzaW9uIGd1YXJhbnRlZXMg
dGhpcyBmaWxlIHRvIGV4aXN0Lgo+ICsgKgo+ICsgKiBQbGVhc2UgbGV0IG1lICBoZXNpdGF0ZSB0
byBkZWNsYXJlIHNvbWV0aGluZyBhYm91dCB0aGlzICBudWFuY2VkIGNvbnRyYWN0LiBJCj4gKyAq
IGFtIG5vdCBpbiB0aGUgcG9zaXRpb24gdG8gdGFrZSAgb3ZlciBvdGhlciBhdXRob3JzJyBsaWNl
bnNlIHRvIG1lcmdlIGludG8gbXkKPiArICogb25lLiAgQ2hhbmdpbmcgdGhlbSB0byAoc2F5KSBH
UEx2MyAgaXMgbm90IGRvYWJsZSBieSBteXNlbGYuIFBlcmhhcHMgc29tZWRheQo+ICsgKiBpdCBt
aWdodCB0dXJuIG91dCB0byBiZSBva2F5IHRvIHNheSB0aGlzIGZpbGUgaXMgdW5kZXIgYSBsaWNl
bnNlLiBJIHdpc2ggdGhlCj4gKyAqIHNpdHVhdGlvbiB3b3VsZCBiZWNvbWUgbW9yZSBjbGVhciBp
biB0aGUgZnV0dXJlLiAqLwo+ICsvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KPiArLyoqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCj4gKy8qKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqLwo+ICsvKioKPiArICBUaGlzIGZpbGUgaXMgZm9yIHRocmVhZGVkIGNvZGUuCj4gKwo+
ICsgIC0tLS0KPiArICBUaGlzIGZpbGUgaXMgYXV0byBnZW5lcmF0ZWQgYnkgaW5zbnMydm0ucmIK
PiArICBETyBOT1QgVE9VQ0ghCj4gKwo+ICsgIElmIHlvdSB3YW50IHRvIGZpeCBzb21ldGhpbmcs
IHlvdSBtdXN0IGVkaXQgInRvb2wvcnVieV92bS92aWV3cy9vcHRpbnNuLmluYy5lcmIiCj4gKyAg
b3IgdG9vbC9pbnNuczJ2bS5yYgo+ICsgKi8KPiArCj4gK3N0YXRpYyBJTlNOICoKPiAraW5zbl9v
cGVyYW5kc191bmlmaWNhdGlvbihJTlNOICppb2JqKQo+ICt7Cj4gKyNpZmRlZiBPUFRfT1BFUkFO
RFNfVU5JRklDQVRJT04KPiArICAgIFZBTFVFICpvcCA9IGlvYmotPm9wZXJhbmRzOwo+ICsKPiAr
ICAgIHN3aXRjaCAoaW9iai0+aW5zbl9pZCkgewo+ICsgICAgZGVmYXVsdDoKPiArICAgICAgICAv
KiBkbyBub3RoaW5nICovOwo+ICsgICAgICAgIGJyZWFrOwo+ICsKPiArICAgIGNhc2UgQklOKGdl
dGxvY2FsKToKPiArCj4gKyAgICAgICAgLyogZ2V0bG9jYWxfV0NfMChpZHgpKCkodmFsKSAqLwo+
ICsgICAgICAgIGlmICggb3BbMV0gPT0gTE9ORzJOVU0oMCkgKSB7Cj4gKyAgICAgICAgICAgIGlv
YmotPmluc25faWQgICAgICA9IEJJTihnZXRsb2NhbF9XQ18wKTsKPiArICAgICAgICAgICAgaW9i
ai0+b3BlcmFuZF9zaXplID0gMTsKPiArICAgICAgICAgICAgYnJlYWs7Cj4gKyAgICAgICAgfQo+
ICsKPiArICAgICAgICAvKiBnZXRsb2NhbF9XQ18xKGlkeCkoKSh2YWwpICovCj4gKyAgICAgICAg
aWYgKCBvcFsxXSA9PSBMT05HMk5VTSgxKSApIHsKPiArICAgICAgICAgICAgaW9iai0+aW5zbl9p
ZCAgICAgID0gQklOKGdldGxvY2FsX1dDXzEpOwo+ICsgICAgICAgICAgICBpb2JqLT5vcGVyYW5k
X3NpemUgPSAxOwo+ICsgICAgICAgICAgICBicmVhazsKPiArICAgICAgICB9Cj4gKwo+ICsgICAg
ICAgIGJyZWFrOwo+ICsgICAgY2FzZSBCSU4oc2V0bG9jYWwpOgo+ICsKPiArICAgICAgICAvKiBz
ZXRsb2NhbF9XQ18wKGlkeCkodmFsKSgpICovCj4gKyAgICAgICAgaWYgKCBvcFsxXSA9PSBMT05H
Mk5VTSgwKSApIHsKPiArICAgICAgICAgICAgaW9iai0+aW5zbl9pZCAgICAgID0gQklOKHNldGxv
Y2FsX1dDXzApOwo+ICsgICAgICAgICAgICBpb2JqLT5vcGVyYW5kX3NpemUgPSAxOwo+ICsgICAg
ICAgICAgICBicmVhazsKPiArICAgICAgICB9Cj4gKwo+ICsgICAgICAgIC8qIHNldGxvY2FsX1dD
XzEoaWR4KSh2YWwpKCkgKi8KPiArICAgICAgICBpZiAoIG9wWzFdID09IExPTkcyTlVNKDEpICkg
ewo+ICsgICAgICAgICAgICBpb2JqLT5pbnNuX2lkICAgICAgPSBCSU4oc2V0bG9jYWxfV0NfMSk7
Cj4gKyAgICAgICAgICAgIGlvYmotPm9wZXJhbmRfc2l6ZSA9IDE7Cj4gKyAgICAgICAgICAgIGJy
ZWFrOwo+ICsgICAgICAgIH0KPiArCj4gKyAgICAgICAgYnJlYWs7Cj4gKyAgICBjYXNlIEJJTihw
dXRvYmplY3QpOgo+ICsKPiArICAgICAgICAvKiBwdXRvYmplY3RfSU5UMkZJWF8wXygpKCkodmFs
KSAqLwo+ICsgICAgICAgIGlmICggb3BbMF0gPT0gSU5UMkZJWCgwKSApIHsKPiArICAgICAgICAg
ICAgaW9iai0+aW5zbl9pZCAgICAgID0gQklOKHB1dG9iamVjdF9JTlQyRklYXzBfKTsKPiArICAg
ICAgICAgICAgaW9iai0+b3BlcmFuZF9zaXplID0gMDsKPiArICAgICAgICAgICAgYnJlYWs7Cj4g
KyAgICAgICAgfQo+ICsKPiArICAgICAgICAvKiBwdXRvYmplY3RfSU5UMkZJWF8xXygpKCkodmFs
KSAqLwo+ICsgICAgICAgIGlmICggb3BbMF0gPT0gSU5UMkZJWCgxKSApIHsKPiArICAgICAgICAg
ICAgaW9iai0+aW5zbl9pZCAgICAgID0gQklOKHB1dG9iamVjdF9JTlQyRklYXzFfKTsKPiArICAg
ICAgICAgICAgaW9iai0+b3BlcmFuZF9zaXplID0gMDsKPiArICAgICAgICAgICAgYnJlYWs7Cj4g
KyAgICAgICAgfQo+ICsKPiArICAgICAgICBicmVhazsKPiArICAgIH0KPiArI2VuZGlmCj4gKyAg
ICByZXR1cm4gaW9iajsKPiArfQo+ICsKPiAraW50Cj4gK3JiX2luc25fdW5pZmllZF9sb2NhbF92
YXJfbGV2ZWwoVkFMVUUgaW5zbikKPiArewo+ICsjaWZkZWYgT1BUX09QRVJBTkRTX1VOSUZJQ0FU
SU9OCj4gKyAgICAvKiBvcHRpbWl6ZSBydWxlICovCj4gKyAgICBzd2l0Y2ggKGluc24pIHsKPiAr
ICAgICAgZGVmYXVsdDoKPiArICAgICAgIHJldHVybiAtMTsgLyogZG8gbm90aGluZyAqLzsKPiAr
ICAgICAgY2FzZSBCSU4oZ2V0bG9jYWxfV0NfMCk6Cj4gKyAgICAgICByZXR1cm4gMDsKPiArICAg
ICAgY2FzZSBCSU4oZ2V0bG9jYWxfV0NfMSk6Cj4gKyAgICAgICByZXR1cm4gMTsKPiArICAgICAg
Y2FzZSBCSU4oc2V0bG9jYWxfV0NfMCk6Cj4gKyAgICAgICByZXR1cm4gMDsKPiArICAgICAgY2Fz
ZSBCSU4oc2V0bG9jYWxfV0NfMSk6Cj4gKyAgICAgICByZXR1cm4gMTsKPiArICAgICAgY2FzZSBC
SU4ocHV0b2JqZWN0X0lOVDJGSVhfMF8pOgo+ICsgICAgICAgcmV0dXJuIElOVDJGSVgoMCk7Cj4g
KyAgICAgIGNhc2UgQklOKHB1dG9iamVjdF9JTlQyRklYXzFfKToKPiArICAgICAgIHJldHVybiBJ
TlQyRklYKDEpOwo+ICsgICAgfQo+ICsjZW5kaWYKPiArICAgIHJldHVybiAtMTsKPiArfQo+IGRp
ZmYgLS1naXQgYS9nZW5lcmF0ZWQvcGFyc2UuYyBiL2dlbmVyYXRlZC9wYXJzZS5jCj4gbmV3IGZp
bGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi4zYTY3NWU5Cj4gLS0tIC9kZXYvbnVsbAo+
ICsrKyBiL2dlbmVyYXRlZC9wYXJzZS5jCj4gQEAgLTAsMCArMSwxNzczNyBAQAo+ICsvKiBBIEJp
c29uIHBhcnNlciwgbWFkZSBieSBHTlUgQmlzb24gMy4zLjIuICAqLwo+ICsKPiArLyogQmlzb24g
aW1wbGVtZW50YXRpb24gZm9yIFlhY2MtbGlrZSBwYXJzZXJzIGluIEMKPiArCj4gKyAgIENvcHly
aWdodCAoQykgMTk4NCwgMTk4OS0xOTkwLCAyMDAwLTIwMTUsIDIwMTgtMjAxOSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb24sCj4gKyAgIEluYy4KPiArCj4gKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVl
IHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4gKyAgIGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVi
bGlzaGVkIGJ5Cj4gKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJz
aW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCj4gKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy
IHZlcnNpb24uCj4gKwo+ICsgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv
cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiArICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ
OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiArICAgTUVSQ0hBTlRBQklM
SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+ICsgICBH
TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+ICsKPiArICAgWW91
IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UKPiArICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDov
L3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLwo+ICsKPiArLyogQXMgYSBzcGVjaWFsIGV4Y2Vw
dGlvbiwgeW91IG1heSBjcmVhdGUgYSBsYXJnZXIgd29yayB0aGF0IGNvbnRhaW5zCj4gKyAgIHBh
cnQgb3IgYWxsIG9mIHRoZSBCaXNvbiBwYXJzZXIgc2tlbGV0b24gYW5kIGRpc3RyaWJ1dGUgdGhh
dCB3b3JrCj4gKyAgIHVuZGVyIHRlcm1zIG9mIHlvdXIgY2hvaWNlLCBzbyBsb25nIGFzIHRoYXQg
d29yayBpc24ndCBpdHNlbGYgYQo+ICsgICBwYXJzZXIgZ2VuZXJhdG9yIHVzaW5nIHRoZSBza2Vs
ZXRvbiBvciBhIG1vZGlmaWVkIHZlcnNpb24gdGhlcmVvZgo+ICsgICBhcyBhIHBhcnNlciBza2Vs
ZXRvbi4gIEFsdGVybmF0aXZlbHksIGlmIHlvdSBtb2RpZnkgb3IgcmVkaXN0cmlidXRlCj4gKyAg
IHRoZSBwYXJzZXIgc2tlbGV0b24gaXRzZWxmLCB5b3UgbWF5IChhdCB5b3VyIG9wdGlvbikgcmVt
b3ZlIHRoaXMKPiArICAgc3BlY2lhbCBleGNlcHRpb24sIHdoaWNoIHdpbGwgY2F1c2UgdGhlIHNr
ZWxldG9uIGFuZCB0aGUgcmVzdWx0aW5nCj4gKyAgIEJpc29uIG91dHB1dCBmaWxlcyB0byBiZSBs
aWNlbnNlZCB1bmRlciB0aGUgR05VIEdlbmVyYWwgUHVibGljCj4gKyAgIExpY2Vuc2Ugd2l0aG91
dCB0aGlzIHNwZWNpYWwgZXhjZXB0aW9uLgo+ICsKPiArICAgVGhpcyBzcGVjaWFsIGV4Y2VwdGlv
biB3YXMgYWRkZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiBpbgo+ICsgICB2ZXJz
aW9uIDIuMiBvZiBCaXNvbi4gICovCj4gKwo+ICsvKiBDIExBTFIoMSkgcGFyc2VyIHNrZWxldG9u
IHdyaXR0ZW4gYnkgUmljaGFyZCBTdGFsbG1hbiwgYnkKPiArICAgc2ltcGxpZnlpbmcgdGhlIG9y
aWdpbmFsIHNvLWNhbGxlZCAic2VtYW50aWMiIHBhcnNlci4gICovCj4gKwo+ICsvKiBBbGwgc3lt
Ym9scyBkZWZpbmVkIGJlbG93IHNob3VsZCBiZWdpbiB3aXRoIHl5IG9yIFlZLCB0byBhdm9pZAo+
ICsgICBpbmZyaW5naW5nIG9uIHVzZXIgbmFtZSBzcGFjZS4gIFRoaXMgc2hvdWxkIGJlIGRvbmUg
ZXZlbiBmb3IgbG9jYWwKPiArICAgdmFyaWFibGVzLCBhcyB0aGV5IG1pZ2h0IG90aGVyd2lzZSBi
ZSBleHBhbmRlZCBieSB1c2VyIG1hY3Jvcy4KPiArICAgVGhlcmUgYXJlIHNvbWUgdW5hdm9pZGFi
bGUgZXhjZXB0aW9ucyB3aXRoaW4gaW5jbHVkZSBmaWxlcyB0bwo+ICsgICBkZWZpbmUgbmVjZXNz
YXJ5IGxpYnJhcnkgc3ltYm9sczsgdGhleSBhcmUgbm90ZWQgIklORlJJTkdFUyBPTgo+ICsgICBV
U0VSIE5BTUUgU1BBQ0UiIGJlbG93LiAgKi8KPiArCj4gKy8qIFVuZG9jdW1lbnRlZCBtYWNyb3Ms
IGVzcGVjaWFsbHkgdGhvc2Ugd2hvc2UgbmFtZSBzdGFydCB3aXRoIFlZXywKPiArICAgYXJlIHBy
aXZhdGUgaW1wbGVtZW50YXRpb24gZGV0YWlscy4gIERvIG5vdCByZWx5IG9uIHRoZW0uICAqLwo+
ICsKPiArLyogSWRlbnRpZnkgQmlzb24gb3V0cHV0LiAgKi8KPiArI2RlZmluZSBZWUJJU09OIDEK
PiArCj4gKy8qIEJpc29uIHZlcnNpb24uICAqLwo+ICsjZGVmaW5lIFlZQklTT05fVkVSU0lPTiAi
My4zLjIiCj4gKwo+ICsvKiBTa2VsZXRvbiBuYW1lLiAgKi8KPiArI2RlZmluZSBZWVNLRUxFVE9O
X05BTUUgInlhY2MuYyIKPiArCj4gKy8qIFB1cmUgcGFyc2Vycy4gICovCj4gKyNkZWZpbmUgWVlQ
VVJFIDEKPiArCj4gKy8qIFB1c2ggcGFyc2Vycy4gICovCj4gKyNkZWZpbmUgWVlQVVNIIDAKPiAr
Cj4gKy8qIFB1bGwgcGFyc2Vycy4gICovCj4gKyNkZWZpbmUgWVlQVUxMIDEKPiArCj4gKwo+ICsK
PiArCj4gKy8qIEZpcnN0IHBhcnQgb2YgdXNlciBwcm9sb2d1ZS4gICovCj4gKyNsaW5lIDEyICJw
YXJzZS55IiAvKiB5YWNjLmM6MzM3ICAqLwo+ICsKPiArCj4gKyNpZiAhWVlQVVJFCj4gKyMgZXJy
b3IgbmVlZHMgcHVyZSBwYXJzZXIKPiArI2VuZGlmCj4gKyNkZWZpbmUgWVlERUJVRyAxCj4gKyNk
ZWZpbmUgWVlFUlJPUl9WRVJCT1NFIDEKPiArI2RlZmluZSBZWVNUQUNLX1VTRV9BTExPQ0EgMAo+
ICsjZGVmaW5lIFlZTFRZUEUgcmJfY29kZV9sb2NhdGlvbl90Cj4gKyNkZWZpbmUgWVlMVFlQRV9J
U19ERUNMQVJFRCAxCj4gKwo+ICsjaW5jbHVkZSAicnVieS9ydWJ5LmgiCj4gKyNpbmNsdWRlICJy
dWJ5L3N0LmgiCj4gKyNpbmNsdWRlICJydWJ5L2VuY29kaW5nLmgiCj4gKyNpbmNsdWRlICJpbnRl
cm5hbC5oIgo+ICsjaW5jbHVkZSAibm9kZS5oIgo+ICsjaW5jbHVkZSAicGFyc2UuaCIKPiArI2lu
Y2x1ZGUgInN5bWJvbC5oIgo+ICsjaW5jbHVkZSAicmVnZW5jLmgiCj4gKyNpbmNsdWRlIDxzdGRp
by5oPgo+ICsjaW5jbHVkZSA8ZXJybm8uaD4KPiArI2luY2x1ZGUgPGN0eXBlLmg+Cj4gKyNpbmNs
dWRlICJwcm9iZXMuaCIKPiArCj4gKyNpZm5kZWYgV0FSTl9QQVNUX1NDT1BFCj4gKyMgZGVmaW5l
IFdBUk5fUEFTVF9TQ09QRSAwCj4gKyNlbmRpZgo+ICsKPiArI2RlZmluZSBUQUJfV0lEVEggOAo+
ICsKPiArI2RlZmluZSB5eWRlYnVnIChwLT5kZWJ1ZykgICAgIC8qIGRpc2FibGUgdGhlIGdsb2Jh
bCB2YXJpYWJsZSBkZWZpbml0aW9uICovCj4gKwo+ICsjZGVmaW5lIFlZTUFMTE9DKHNpemUpICAg
ICAgICAgcmJfcGFyc2VyX21hbGxvYyhwLCAoc2l6ZSkpCj4gKyNkZWZpbmUgWVlSRUFMTE9DKHB0
ciwgc2l6ZSkgICByYl9wYXJzZXJfcmVhbGxvYyhwLCAocHRyKSwgKHNpemUpKQo+ICsjZGVmaW5l
IFlZQ0FMTE9DKG5lbGVtLCBzaXplKSAgcmJfcGFyc2VyX2NhbGxvYyhwLCAobmVsZW0pLCAoc2l6
ZSkpCj4gKyNkZWZpbmUgWVlGUkVFKHB0cikgICAgICAgICAgICByYl9wYXJzZXJfZnJlZShwLCAo
cHRyKSkKPiArI2RlZmluZSBZWUZQUklOVEYgICAgICAgICAgICAgIHJiX3BhcnNlcl9wcmludGYK
PiArI2RlZmluZSBZWVBSSU5UKG91dCwgdG9rLCB2YWwpIHBhcnNlcl90b2tlbl92YWx1ZV9wcmlu
dChwLCAodG9rKSwgJih2YWwpKQo+ICsjZGVmaW5lIFlZX0xPQ0FUSU9OX1BSSU5UKEZpbGUsIGxv
YykgXAo+ICsgICAgIHJiX3BhcnNlcl9wcmludGYocCwgIiVkLiVkLSVkLiVkIiwgXAo+ICsgICAg
ICAgICAgICAgICAgICAgICAobG9jKS5iZWdfcG9zLmxpbmVubywgKGxvYykuYmVnX3Bvcy5jb2x1
bW4sXAo+ICsgICAgICAgICAgICAgICAgICAgICAobG9jKS5lbmRfcG9zLmxpbmVubywgKGxvYyku
ZW5kX3Bvcy5jb2x1bW4pCj4gKyNkZWZpbmUgWVlMTE9DX0RFRkFVTFQoQ3VycmVudCwgUmhzLCBO
KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gKyAgICBkbyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAo+ICsgICAgICBpZiAoTikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKPiArICAgICAgIHsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gKyAgICAgICAgIChD
dXJyZW50KS5iZWdfcG9zID0gWVlSSFNMT0MoUmhzLCAxKS5iZWdfcG9zOyAgICAgICAgICAgICAg
ICAgXAo+ICsgICAgICAgICAoQ3VycmVudCkuZW5kX3BvcyA9IFlZUkhTTE9DKFJocywgTikuZW5k
X3BvczsgICAgICAgICAgICAgICAgIFwKPiArICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gKyAgICAgIGVsc2Ug
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAo+ICsgICAgICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCj4gKyAgICAgICAgICAoQ3VycmVudCkuYmVnX3BvcyA9
IFlZUkhTTE9DKFJocywgMCkuZW5kX3BvczsgICAgICAgICAgICAgICAgIFwKPiArICAgICAgICAg
IChDdXJyZW50KS5lbmRfcG9zID0gWVlSSFNMT0MoUmhzLCAwKS5lbmRfcG9zOyAgICAgICAgICAg
ICAgICAgXAo+ICsgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gKyAgICB3aGlsZSAoMCkKPiArCj4gKyNkZWZp
bmUgUlVCWV9TRVRfWVlMTE9DX0ZST01fU1RSVEVSTV9IRVJFRE9DKEN1cnJlbnQpICAgICAgICAg
ICAgICAgICAgXAo+ICsgICAgcmJfcGFyc2VyX3NldF9sb2NhdGlvbl9mcm9tX3N0cnRlcm1faGVy
ZWRvYyhwLCAmcC0+bGV4LnN0cnRlcm0tPnUuaGVyZWRvYywgJihDdXJyZW50KSkKPiArI2RlZmlu
ZSBSVUJZX1NFVF9ZWUxMT0NfT0ZfTk9ORShDdXJyZW50KSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKPiArICAgIHJiX3BhcnNlcl9zZXRfbG9jYXRpb25fb2Zfbm9uZShw
LCAmKEN1cnJlbnQpKQo+ICsjZGVmaW5lIFJVQllfU0VUX1lZTExPQyhDdXJyZW50KSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiArICAgIHJiX3BhcnNlcl9zZXRfbG9j
YXRpb24ocCwgJihDdXJyZW50KSkKPiArCj4gK2VudW0gbGV4X3N0YXRlX2JpdHMgewo+ICsgICAg
RVhQUl9CRUdfYml0LCAgICAgICAgICAgICAgLyogaWdub3JlIG5ld2xpbmUsICsvLSBpcyBhIHNp
Z24uICovCj4gKyAgICBFWFBSX0VORF9iaXQsICAgICAgICAgICAgICAvKiBuZXdsaW5lIHNpZ25p
ZmljYW50LCArLy0gaXMgYW4gb3BlcmF0b3IuICovCj4gKyAgICBFWFBSX0VOREFSR19iaXQsICAg
ICAgICAgICAvKiBkaXR0bywgYW5kIHVuYm91bmQgYnJhY2VzLiAqLwo+ICsgICAgRVhQUl9FTkRG
Tl9iaXQsICAgICAgICAgICAgLyogZGl0dG8sIGFuZCB1bmJvdW5kIGJyYWNlcy4gKi8KPiArICAg
IEVYUFJfQVJHX2JpdCwgICAgICAgICAgICAgIC8qIG5ld2xpbmUgc2lnbmlmaWNhbnQsICsvLSBp
cyBhbiBvcGVyYXRvci4gKi8KPiArICAgIEVYUFJfQ01EQVJHX2JpdCwgICAgICAgICAgIC8qIG5l
d2xpbmUgc2lnbmlmaWNhbnQsICsvLSBpcyBhbiBvcGVyYXRvci4gKi8KPiArICAgIEVYUFJfTUlE
X2JpdCwgICAgICAgICAgICAgIC8qIG5ld2xpbmUgc2lnbmlmaWNhbnQsICsvLSBpcyBhbiBvcGVy
YXRvci4gKi8KPiArICAgIEVYUFJfRk5BTUVfYml0LCAgICAgICAgICAgIC8qIGlnbm9yZSBuZXds
aW5lLCBubyByZXNlcnZlZCB3b3Jkcy4gKi8KPiArICAgIEVYUFJfRE9UX2JpdCwgICAgICAgICAg
ICAgIC8qIHJpZ2h0IGFmdGVyIGAuJyBvciBgOjonLCBubyByZXNlcnZlZCB3b3Jkcy4gKi8KPiAr
ICAgIEVYUFJfQ0xBU1NfYml0LCAgICAgICAgICAgIC8qIGltbWVkaWF0ZSBhZnRlciBgY2xhc3Mn
LCBubyBoZXJlIGRvY3VtZW50LiAqLwo+ICsgICAgRVhQUl9MQUJFTF9iaXQsICAgICAgICAgICAg
LyogZmxhZyBiaXQsIGxhYmVsIGlzIGFsbG93ZWQuICovCj4gKyAgICBFWFBSX0xBQkVMRURfYml0
LCAgICAgICAgICAvKiBmbGFnIGJpdCwganVzdCBhZnRlciBhIGxhYmVsLiAqLwo+ICsgICAgRVhQ
Ul9GSVRFTV9iaXQsICAgICAgICAgICAgLyogc3ltYm9sIGxpdGVyYWwgYXMgRk5BTUUuICovCj4g
KyAgICBFWFBSX01BWF9TVEFURQo+ICt9Owo+ICsvKiBleGFtaW5lIGNvbWJpbmF0aW9ucyAqLwo+
ICtlbnVtIGxleF9zdGF0ZV9lIHsKPiArI2RlZmluZSBERUZfRVhQUihuKSBFWFBSXyMjbiA9ICgx
IDw8IEVYUFJfIyNuIyNfYml0KQo+ICsgICAgREVGX0VYUFIoQkVHKSwKPiArICAgIERFRl9FWFBS
KEVORCksCj4gKyAgICBERUZfRVhQUihFTkRBUkcpLAo+ICsgICAgREVGX0VYUFIoRU5ERk4pLAo+
ICsgICAgREVGX0VYUFIoQVJHKSwKPiArICAgIERFRl9FWFBSKENNREFSRyksCj4gKyAgICBERUZf
RVhQUihNSUQpLAo+ICsgICAgREVGX0VYUFIoRk5BTUUpLAo+ICsgICAgREVGX0VYUFIoRE9UKSwK
PiArICAgIERFRl9FWFBSKENMQVNTKSwKPiArICAgIERFRl9FWFBSKExBQkVMKSwKPiArICAgIERF
Rl9FWFBSKExBQkVMRUQpLAo+ICsgICAgREVGX0VYUFIoRklURU0pLAo+ICsgICAgRVhQUl9WQUxV
RSA9IEVYUFJfQkVHLAo+ICsgICAgRVhQUl9CRUdfQU5ZICA9ICAoRVhQUl9CRUcgfCBFWFBSX01J
RCB8IEVYUFJfQ0xBU1MpLAo+ICsgICAgRVhQUl9BUkdfQU5ZICA9ICAoRVhQUl9BUkcgfCBFWFBS
X0NNREFSRyksCj4gKyAgICBFWFBSX0VORF9BTlkgID0gIChFWFBSX0VORCB8IEVYUFJfRU5EQVJH
IHwgRVhQUl9FTkRGTiksCj4gKyAgICBFWFBSX05PTkUgPSAwCj4gK307Cj4gKyNkZWZpbmUgSVNf
bGV4X3N0YXRlX2Zvcih4LCBscykgICAgICAgICgoeCkgJiAobHMpKQo+ICsjZGVmaW5lIElTX2xl
eF9zdGF0ZV9hbGxfZm9yKHgsIGxzKSAoKCh4KSAmIChscykpID09IChscykpCj4gKyNkZWZpbmUg
SVNfbGV4X3N0YXRlKGxzKSAgICAgICBJU19sZXhfc3RhdGVfZm9yKHAtPmxleC5zdGF0ZSwgKGxz
KSkKPiArI2RlZmluZSBJU19sZXhfc3RhdGVfYWxsKGxzKSAgIElTX2xleF9zdGF0ZV9hbGxfZm9y
KHAtPmxleC5zdGF0ZSwgKGxzKSkKPiArCj4gKyMgZGVmaW5lIFNFVF9MRVhfU1RBVEUobHMpIFwK
PiArICAgIChwLT5sZXguc3RhdGUgPSBcCj4gKyAgICAgKHAtPmRlYnVnID8gXAo+ICsgICAgICBy
Yl9wYXJzZXJfdHJhY2VfbGV4X3N0YXRlKHAsIHAtPmxleC5zdGF0ZSwgKGxzKSwgX19MSU5FX18p
IDogXAo+ICsgICAgICAoZW51bSBsZXhfc3RhdGVfZSkobHMpKSkKPiArCj4gK3R5cGVkZWYgVkFM
VUUgc3RhY2tfdHlwZTsKPiArCj4gK3N0YXRpYyBjb25zdCByYl9jb2RlX2xvY2F0aW9uX3QgTlVM
TF9MT0MgPSB7IHswLCAtMX0sIHswLCAtMX0gfTsKPiArCj4gKyMgZGVmaW5lIFNIT1dfQklUU1RB
Q0soc3RhY2ssIG5hbWUpIChwLT5kZWJ1ZyA/IHJiX3BhcnNlcl9zaG93X2JpdHN0YWNrKHAsIHN0
YWNrLCBuYW1lLCBfX0xJTkVfXykgOiAodm9pZCkwKQo+ICsjIGRlZmluZSBCSVRTVEFDS19QVVNI
KHN0YWNrLCBuKSAoKChwLT5zdGFjaykgPSAoKHAtPnN0YWNrKTw8MSl8KChuKSYxKSksIFNIT1df
QklUU1RBQ0socC0+c3RhY2ssICNzdGFjayIocHVzaCkiKSkKPiArIyBkZWZpbmUgQklUU1RBQ0tf
UE9QKHN0YWNrKSAgICAoKChwLT5zdGFjaykgPSAocC0+c3RhY2spID4+IDEpLCBTSE9XX0JJVFNU
QUNLKHAtPnN0YWNrLCAjc3RhY2siKHBvcCkiKSkKPiArIyBkZWZpbmUgQklUU1RBQ0tfU0VUX1Ao
c3RhY2spICAoU0hPV19CSVRTVEFDSyhwLT5zdGFjaywgI3N0YWNrKSwgKHAtPnN0YWNrKSYxKQo+
ICsjIGRlZmluZSBCSVRTVEFDS19TRVQoc3RhY2ssIG4pICAgICAgICAgKChwLT5zdGFjayk9KG4p
LCBTSE9XX0JJVFNUQUNLKHAtPnN0YWNrLCAjc3RhY2siKHNldCkiKSkKPiArCj4gKy8qIEEgZmxh
ZyB0byBpZGVudGlmeSBrZXl3b3JkX2RvX2NvbmQsICJkbyIga2V5d29yZCBhZnRlciBjb25kaXRp
b24gZXhwcmVzc2lvbi4KPiArICAgRXhhbXBsZXM6IGB3aGlsZSAuLi4gZG9gLCBgdW50aWwgLi4u
IGRvYCwgYW5kIGBmb3IgLi4uIGluIC4uLiBkb2AgKi8KPiArI2RlZmluZSBDT05EX1BVU0gobikg
ICBCSVRTVEFDS19QVVNIKGNvbmRfc3RhY2ssIChuKSkKPiArI2RlZmluZSBDT05EX1BPUCgpICAg
ICBCSVRTVEFDS19QT1AoY29uZF9zdGFjaykKPiArI2RlZmluZSBDT05EX1AoKSAgICAgICBCSVRT
VEFDS19TRVRfUChjb25kX3N0YWNrKQo+ICsjZGVmaW5lIENPTkRfU0VUKG4pICAgIEJJVFNUQUNL
X1NFVChjb25kX3N0YWNrLCAobikpCj4gKwo+ICsvKiBBIGZsYWcgdG8gaWRlbnRpZnkga2V5d29y
ZF9kb19ibG9jazsgImRvIiBrZXl3b3JkIGFmdGVyIGNvbW1hbmRfY2FsbC4KPiArICAgRXhhbXBs
ZTogYGZvbyAxLCAyIGRvYC4gKi8KPiArI2RlZmluZSBDTURBUkdfUFVTSChuKSBCSVRTVEFDS19Q
VVNIKGNtZGFyZ19zdGFjaywgKG4pKQo+ICsjZGVmaW5lIENNREFSR19QT1AoKSAgIEJJVFNUQUNL
X1BPUChjbWRhcmdfc3RhY2spCj4gKyNkZWZpbmUgQ01EQVJHX1AoKSAgICAgQklUU1RBQ0tfU0VU
X1AoY21kYXJnX3N0YWNrKQo+ICsjZGVmaW5lIENNREFSR19TRVQobikgIEJJVFNUQUNLX1NFVChj
bWRhcmdfc3RhY2ssIChuKSkKPiArCj4gK3N0cnVjdCB2dGFibGUgewo+ICsgICAgSUQgKnRibDsK
PiArICAgIGludCBwb3M7Cj4gKyAgICBpbnQgY2FwYTsKPiArICAgIHN0cnVjdCB2dGFibGUgKnBy
ZXY7Cj4gK307Cj4gKwo+ICtzdHJ1Y3QgbG9jYWxfdmFycyB7Cj4gKyAgICBzdHJ1Y3QgdnRhYmxl
ICphcmdzOwo+ICsgICAgc3RydWN0IHZ0YWJsZSAqdmFyczsKPiArICAgIHN0cnVjdCB2dGFibGUg
KnVzZWQ7Cj4gKyMgaWYgV0FSTl9QQVNUX1NDT1BFCj4gKyAgICBzdHJ1Y3QgdnRhYmxlICpwYXN0
Owo+ICsjIGVuZGlmCj4gKyAgICBzdHJ1Y3QgbG9jYWxfdmFycyAqcHJldjsKPiArfTsKPiArCj4g
KyNkZWZpbmUgRFZBUlNfSU5IRVJJVCAoKHZvaWQqKTEpCj4gKyNkZWZpbmUgRFZBUlNfVE9QU0NP
UEUgTlVMTAo+ICsjZGVmaW5lIERWQVJTX1RFUk1JTkFMX1AodGJsKSAoKHRibCkgPT0gRFZBUlNf
SU5IRVJJVCB8fCAodGJsKSA9PSBEVkFSU19UT1BTQ09QRSkKPiArCj4gK3R5cGVkZWYgc3RydWN0
IHRva2VuX2luZm8gewo+ICsgICAgY29uc3QgY2hhciAqdG9rZW47Cj4gKyAgICBpbnQgbGluZW51
bTsKPiArICAgIGludCBjb2x1bW47Cj4gKyAgICBpbnQgbm9uc3BjOwo+ICsgICAgc3RydWN0IHRv
a2VuX2luZm8gKm5leHQ7Cj4gK30gdG9rZW5faW5mbzsKPiArCj4gK3R5cGVkZWYgc3RydWN0IHJi
X3N0cnRlcm1fc3RydWN0IHJiX3N0cnRlcm1fdDsKPiArCj4gKy8qCj4gKyAgICBTdHJ1Y3R1cmUg
b2YgTGV4ZXIgQnVmZmVyOgo+ICsKPiArIGxleC5wYmVnICAgICBsZXgucHRvayAgICAgbGV4LnBj
dXIgICAgIGxleC5wZW5kCj4gKyAgICB8ICAgICAgICAgICAgfCAgICAgICAgICAgIHwgICAgICAg
ICAgICB8Cj4gKyAgICB8LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS18Cj4g
KyAgICAgICAgICAgICAgICAgfDwtLS0tLS0tLS0tPnwKPiArICAgICAgICAgICAgICAgICAgICAg
dG9rZW4KPiArKi8KPiArc3RydWN0IHBhcnNlcl9wYXJhbXMgewo+ICsgICAgcmJfaW1lbW9fdG1w
YnVmX3QgKmhlYXA7Cj4gKwo+ICsgICAgWVlTVFlQRSAqbHZhbDsKPiArCj4gKyAgICBzdHJ1Y3Qg
ewo+ICsgICAgICAgcmJfc3RydGVybV90ICpzdHJ0ZXJtOwo+ICsgICAgICAgVkFMVUUgKCpnZXRz
KShzdHJ1Y3QgcGFyc2VyX3BhcmFtcyosVkFMVUUpOwo+ICsgICAgICAgVkFMVUUgaW5wdXQ7Cj4g
KyAgICAgICBWQUxVRSBwcmV2bGluZTsKPiArICAgICAgIFZBTFVFIGxhc3RsaW5lOwo+ICsgICAg
ICAgVkFMVUUgbmV4dGxpbmU7Cj4gKyAgICAgICBjb25zdCBjaGFyICpwYmVnOwo+ICsgICAgICAg
Y29uc3QgY2hhciAqcGN1cjsKPiArICAgICAgIGNvbnN0IGNoYXIgKnBlbmQ7Cj4gKyAgICAgICBj
b25zdCBjaGFyICpwdG9rOwo+ICsgICAgICAgdW5pb24gewo+ICsgICAgICAgICAgIGxvbmcgcHRy
Owo+ICsgICAgICAgICAgIFZBTFVFICgqY2FsbCkoVkFMVUUsIGludCk7Cj4gKyAgICAgICB9IGdl
dHNfOwo+ICsgICAgICAgZW51bSBsZXhfc3RhdGVfZSBzdGF0ZTsKPiArICAgICAgIC8qIHRyYWNr
IHRoZSBuZXN0IGxldmVsIG9mIGFueSBwYXJlbnMgIigpW117fSIgKi8KPiArICAgICAgIGludCBw
YXJlbl9uZXN0Owo+ICsgICAgICAgLyoga2VlcCBwLT5sZXgucGFyZW5fbmVzdCBhdCB0aGUgYmVn
aW5uaW5nIG9mIGxhbWJkYSAiLT4iIHRvIGRldGVjdCB0TEFNQkVHIGFuZCBrZXl3b3JkX2RvX0xB
TUJEQSAqLwo+ICsgICAgICAgaW50IGxwYXJfYmVnOwo+ICsgICAgICAgLyogdHJhY2sgdGhlIG5l
c3QgbGV2ZWwgb2Ygb25seSBicmFjZXMgInt9IiAqLwo+ICsgICAgICAgaW50IGJyYWNlX25lc3Q7
Cj4gKyAgICB9IGxleDsKPiArICAgIHN0YWNrX3R5cGUgY29uZF9zdGFjazsKPiArICAgIHN0YWNr
X3R5cGUgY21kYXJnX3N0YWNrOwo+ICsgICAgaW50IHRva2lkeDsKPiArICAgIGludCB0b2tzaXo7
Cj4gKyAgICBpbnQgdG9rbGluZTsKPiArICAgIGludCBoZXJlZG9jX2VuZDsKPiArICAgIGludCBo
ZXJlZG9jX2luZGVudDsKPiArICAgIGludCBoZXJlZG9jX2xpbmVfaW5kZW50Owo+ICsgICAgY2hh
ciAqdG9rZW5idWY7Cj4gKyAgICBzdHJ1Y3QgbG9jYWxfdmFycyAqbHZ0Ymw7Cj4gKyAgICBpbnQg
bGluZV9jb3VudDsKPiArICAgIGludCBydWJ5X3NvdXJjZWxpbmU7ICAgICAgIC8qIGN1cnJlbnQg
bGluZSBuby4gKi8KPiArICAgIGNvbnN0IGNoYXIgKnJ1Ynlfc291cmNlZmlsZTsgLyogY3VycmVu
dCBzb3VyY2UgZmlsZSAqLwo+ICsgICAgVkFMVUUgcnVieV9zb3VyY2VmaWxlX3N0cmluZzsKPiAr
ICAgIHJiX2VuY29kaW5nICplbmM7Cj4gKyAgICB0b2tlbl9pbmZvICp0b2tlbl9pbmZvOwo+ICsg
ICAgVkFMVUUgY29tcGlsZV9vcHRpb247Cj4gKwo+ICsgICAgVkFMVUUgZGVidWdfYnVmZmVyOwo+
ICsgICAgVkFMVUUgZGVidWdfb3V0cHV0Owo+ICsKPiArICAgIElEIGN1cl9hcmc7Cj4gKwo+ICsg
ICAgcmJfYXN0X3QgKmFzdDsKPiArICAgIGludCBub2RlX2lkOwo+ICsKPiArICAgIHVuc2lnbmVk
IGludCBjb21tYW5kX3N0YXJ0OjE7Cj4gKyAgICB1bnNpZ25lZCBpbnQgZW9mcDogMTsKPiArICAg
IHVuc2lnbmVkIGludCBydWJ5X19lbmRfX3NlZW46IDE7Cj4gKyAgICB1bnNpZ25lZCBpbnQgZGVi
dWc6IDE7Cj4gKyAgICB1bnNpZ25lZCBpbnQgaGFzX3NoZWJhbmc6IDE7Cj4gKyAgICB1bnNpZ25l
ZCBpbnQgaW5fZGVmaW5lZDogMTsKPiArICAgIHVuc2lnbmVkIGludCBpbl9tYWluOiAxOwo+ICsg
ICAgdW5zaWduZWQgaW50IGluX2t3YXJnOiAxOwo+ICsgICAgdW5zaWduZWQgaW50IGluX2RlZjog
MTsKPiArICAgIHVuc2lnbmVkIGludCBpbl9jbGFzczogMTsKPiArICAgIHVuc2lnbmVkIGludCB0
b2tlbl9zZWVuOiAxOwo+ICsgICAgdW5zaWduZWQgaW50IHRva2VuX2luZm9fZW5hYmxlZDogMTsK
PiArIyBpZiBXQVJOX1BBU1RfU0NPUEUKPiArICAgIHVuc2lnbmVkIGludCBwYXN0X3Njb3BlX2Vu
YWJsZWQ6IDE7Cj4gKyMgZW5kaWYKPiArICAgIHVuc2lnbmVkIGludCBlcnJvcl9wOiAxOwo+ICsg
ICAgdW5zaWduZWQgaW50IGNyX3NlZW46IDE7Cj4gKwo+ICsjaWZuZGVmIFJJUFBFUgo+ICsgICAg
LyogUnVieSBjb3JlIG9ubHkgKi8KPiArCj4gKyAgICB1bnNpZ25lZCBpbnQgZG9fcHJpbnQ6IDE7
Cj4gKyAgICB1bnNpZ25lZCBpbnQgZG9fbG9vcDogMTsKPiArICAgIHVuc2lnbmVkIGludCBkb19j
aG9tcDogMTsKPiArICAgIHVuc2lnbmVkIGludCBkb19zcGxpdDogMTsKPiArICAgIHVuc2lnbmVk
IGludCB3YXJuX2xvY2F0aW9uOiAxOwo+ICsKPiArICAgIE5PREUgKmV2YWxfdHJlZV9iZWdpbjsK
PiArICAgIE5PREUgKmV2YWxfdHJlZTsKPiArICAgIFZBTFVFIGVycm9yX2J1ZmZlcjsKPiArICAg
IFZBTFVFIGRlYnVnX2xpbmVzOwo+ICsgICAgY29uc3Qgc3RydWN0IHJiX2Jsb2NrICpiYXNlX2Js
b2NrOwo+ICsjZWxzZQo+ICsgICAgLyogUmlwcGVyIG9ubHkgKi8KPiArCj4gKyAgICBWQUxVRSBk
ZWxheWVkOwo+ICsgICAgaW50IGRlbGF5ZWRfbGluZTsKPiArICAgIGludCBkZWxheWVkX2NvbDsK
PiArCj4gKyAgICBWQUxVRSB2YWx1ZTsKPiArICAgIFZBTFVFIHJlc3VsdDsKPiArICAgIFZBTFVF
IHBhcnNpbmdfdGhyZWFkOwo+ICsjZW5kaWYKPiArfTsKPiArCj4gKyNkZWZpbmUgbmV3X3RtcGJ1
ZigpIFwKPiArICAgIChyYl9pbWVtb190bXBidWZfdCAqKWFkZF9tYXJrX29iamVjdChwLCByYl9p
bWVtb190bXBidWZfYXV0b19mcmVlX3BvaW50ZXIoTlVMTCkpCj4gKwo+ICsjZGVmaW5lIGludGVy
bl9jc3RyKG4sbCxlbikgcmJfaW50ZXJuMyhuLGwsZW4pCj4gKwo+ICsjZGVmaW5lIFNUUl9ORVco
cHRyLGxlbikgcmJfZW5jX3N0cl9uZXcoKHB0ciksKGxlbikscC0+ZW5jKQo+ICsjZGVmaW5lIFNU
Ul9ORVcwKCkgcmJfZW5jX3N0cl9uZXcoMCwwLHAtPmVuYykKPiArI2RlZmluZSBTVFJfTkVXMihw
dHIpIHJiX2VuY19zdHJfbmV3KChwdHIpLHN0cmxlbihwdHIpLHAtPmVuYykKPiArI2RlZmluZSBT
VFJfTkVXMyhwdHIsbGVuLGUsZnVuYykgcGFyc2VyX3N0cl9uZXcoKHB0ciksKGxlbiksKGUpLChm
dW5jKSxwLT5lbmMpCj4gKyNkZWZpbmUgVE9LX0lOVEVSTigpIGludGVybl9jc3RyKHRvayhwKSwg
dG9rbGVuKHApLCBwLT5lbmMpCj4gKwo+ICtzdGF0aWMgaW50IHBhcnNlcl95eWVycm9yKHN0cnVj
dCBwYXJzZXJfcGFyYW1zKiwgY29uc3QgWVlMVFlQRSAqeXlsbG9jLCBjb25zdCBjaGFyKik7Cj4g
KyNkZWZpbmUgeXllcnJvcjAobXNnKSBwYXJzZXJfeXllcnJvcihwLCBOVUxMLCAobXNnKSkKPiAr
I2RlZmluZSB5eWVycm9yMShsb2MsIG1zZykgcGFyc2VyX3l5ZXJyb3IocCwgKGxvYyksIChtc2cp
KQo+ICsjZGVmaW5lIHl5ZXJyb3IoeXlsbG9jLCBwLCBtc2cpIHBhcnNlcl95eWVycm9yKHAsIHl5
bGxvYywgbXNnKQo+ICsjZGVmaW5lIHRva2VuX2ZsdXNoKHB0cikgKChwdHIpLT5sZXgucHRvayA9
IChwdHIpLT5sZXgucGN1cikKPiArCj4gKyNpZmRlZiBSSVBQRVIKPiArI2RlZmluZSBjb21waWxl
X2Zvcl9ldmFsICAgICAgICgwKQo+ICsjZWxzZQo+ICsjZGVmaW5lIGNvbXBpbGVfZm9yX2V2YWwg
ICAgICAgKHAtPmJhc2VfYmxvY2sgIT0gMCAmJiAhcC0+aW5fbWFpbikKPiArI2VuZGlmCj4gKwo+
ICsjZGVmaW5lIHRva2VuX2NvbHVtbiAgICAgICAgICAgKChpbnQpKHAtPmxleC5wdG9rIC0gcC0+
bGV4LnBiZWcpKQo+ICsKPiArI2RlZmluZSBDQUxMX1FfUChxKSAoKHEpID09IFRPS0VOMlZBTCh0
QU5ERE9UKSkKPiArI2RlZmluZSBOT0RFX0NBTExfUShxKSAoQ0FMTF9RX1AocSkgPyBOT0RFX1FD
QUxMIDogTk9ERV9DQUxMKQo+ICsjZGVmaW5lIE5FV19RQ0FMTChxLHIsbSxhLGxvYykgTkVXX05P
REUoTk9ERV9DQUxMX1EocSkscixtLGEsbG9jKQo+ICsKPiArI2RlZmluZSBsYW1iZGFfYmVnaW5u
aW5nX3AoKSAocC0+bGV4LmxwYXJfYmVnID09IHAtPmxleC5wYXJlbl9uZXN0KQo+ICsKPiArc3Rh
dGljIGVudW0geXl0b2tlbnR5cGUgeXlsZXgoWVlTVFlQRSosIFlZTFRZUEUqLCBzdHJ1Y3QgcGFy
c2VyX3BhcmFtcyopOwo+ICsKPiArI2lmbmRlZiBSSVBQRVIKPiArc3RhdGljIGlubGluZSB2b2lk
Cj4gK3JiX2Rpc2NhcmRfbm9kZShzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgTk9ERSAqbikKPiAr
ewo+ICsgICAgcmJfYXN0X2RlbGV0ZV9ub2RlKHAtPmFzdCwgbik7Cj4gK30KPiArI2VuZGlmCj4g
Kwo+ICtzdGF0aWMgaW5saW5lIFZBTFVFCj4gK2FkZF9tYXJrX29iamVjdChzdHJ1Y3QgcGFyc2Vy
X3BhcmFtcyAqcCwgVkFMVUUgb2JqKQo+ICt7Cj4gKyAgICBpZiAoIVNQRUNJQUxfQ09OU1RfUChv
YmopCj4gKyNpZmRlZiBSSVBQRVIKPiArICAgICAgICYmICFSQl9UWVBFX1Aob2JqLCBUX05PREUp
IC8qIFJpcHBlciBqdW1ibGVzIE5PREUgb2JqZWN0cyBhbmQgb3RoZXIgb2JqZWN0cy4uLiAqLwo+
ICsjZW5kaWYKPiArICAgICkgewo+ICsgICAgICAgcmJfYXN0X2FkZF9tYXJrX29iamVjdChwLT5h
c3QsIG9iaik7Cj4gKyAgICB9Cj4gKyAgICByZXR1cm4gb2JqOwo+ICt9Cj4gKwo+ICtzdGF0aWMg
Tk9ERSogbm9kZV9uZXdub2RlKHN0cnVjdCBwYXJzZXJfcGFyYW1zICosIGVudW0gbm9kZV90eXBl
LCBWQUxVRSwgVkFMVUUsIFZBTFVFLCBjb25zdCByYl9jb2RlX2xvY2F0aW9uX3QqKTsKPiArI2Rl
ZmluZSByYl9ub2RlX25ld25vZGUodHlwZSwgYTEsIGEyLCBhMywgbG9jKSBub2RlX25ld25vZGUo
cCwgKHR5cGUpLCAoYTEpLCAoYTIpLCAoYTMpLCAobG9jKSkKPiArCj4gK3N0YXRpYyBOT0RFICpu
ZF9zZXRfbG9jKE5PREUgKm5kLCBjb25zdCBZWUxUWVBFICpsb2MpOwo+ICsKPiArc3RhdGljIGlu
dAo+ICtwYXJzZXJfZ2V0X25vZGVfaWQoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnApCj4gK3sKPiAr
ICAgIGludCBub2RlX2lkID0gcC0+bm9kZV9pZDsKPiArICAgIHAtPm5vZGVfaWQrKzsKPiArICAg
IHJldHVybiBub2RlX2lkOwo+ICt9Cj4gKwo+ICsjaWZuZGVmIFJJUFBFUgo+ICtzdGF0aWMgaW5s
aW5lIHZvaWQKPiArc2V0X2xpbmVfYm9keShOT0RFICpib2R5LCBpbnQgbGluZSkKPiArewo+ICsg
ICAgaWYgKCFib2R5KSByZXR1cm47Cj4gKyAgICBzd2l0Y2ggKG5kX3R5cGUoYm9keSkpIHsKPiAr
ICAgICAgY2FzZSBOT0RFX1JFU0NVRToKPiArICAgICAgY2FzZSBOT0RFX0VOU1VSRToKPiArICAg
ICAgIG5kX3NldF9saW5lKGJvZHksIGxpbmUpOwo+ICsgICAgfQo+ICt9Cj4gKwo+ICsjZGVmaW5l
IHl5cGFyc2UgcnVieV95eXBhcnNlCj4gKwo+ICtzdGF0aWMgTk9ERSogY29uZChzdHJ1Y3QgcGFy
c2VyX3BhcmFtcyAqcCwgTk9ERSAqbm9kZSwgY29uc3QgWVlMVFlQRSAqbG9jKTsKPiArc3RhdGlj
IE5PREUqIG1ldGhvZF9jb25kKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBOT0RFICpub2RlLCBj
b25zdCBZWUxUWVBFICpsb2MpOwo+ICsjZGVmaW5lIG5ld19uaWwobG9jKSBORVdfTklMKGxvYykK
PiArc3RhdGljIE5PREUgKm5ld19pZihzdHJ1Y3QgcGFyc2VyX3BhcmFtcyosTk9ERSosTk9ERSos
Tk9ERSosY29uc3QgWVlMVFlQRSopOwo+ICtzdGF0aWMgTk9ERSAqbmV3X3VubGVzcyhzdHJ1Y3Qg
cGFyc2VyX3BhcmFtcyosTk9ERSosTk9ERSosTk9ERSosY29uc3QgWVlMVFlQRSopOwo+ICtzdGF0
aWMgTk9ERSAqbG9nb3Aoc3RydWN0IHBhcnNlcl9wYXJhbXMqLElELE5PREUqLE5PREUqLGNvbnN0
IFlZTFRZUEUqLGNvbnN0IFlZTFRZUEUqKTsKPiArCj4gK3N0YXRpYyBOT0RFICpuZXdsaW5lX25v
ZGUoTk9ERSopOwo+ICtzdGF0aWMgdm9pZCBmaXhwb3MoTk9ERSosTk9ERSopOwo+ICsKPiArc3Rh
dGljIGludCB2YWx1ZV9leHByX2dlbihzdHJ1Y3QgcGFyc2VyX3BhcmFtcyosTk9ERSopOwo+ICtz
dGF0aWMgdm9pZCB2b2lkX2V4cHIoc3RydWN0IHBhcnNlcl9wYXJhbXMqLE5PREUqKTsKPiArc3Rh
dGljIE5PREUgKnJlbW92ZV9iZWdpbihOT0RFKik7Cj4gK3N0YXRpYyBOT0RFICpyZW1vdmVfYmVn
aW5fYWxsKE5PREUqKTsKPiArI2RlZmluZSB2YWx1ZV9leHByKG5vZGUpIHZhbHVlX2V4cHJfZ2Vu
KHAsIChub2RlKSA9IHJlbW92ZV9iZWdpbihub2RlKSkKPiArc3RhdGljIE5PREUgKnZvaWRfc3Rt
dHMoc3RydWN0IHBhcnNlcl9wYXJhbXMqLE5PREUqKTsKPiArc3RhdGljIHZvaWQgcmVkdWNlX25v
ZGVzKHN0cnVjdCBwYXJzZXJfcGFyYW1zKixOT0RFKiopOwo+ICtzdGF0aWMgdm9pZCBibG9ja19k
dXBfY2hlY2soc3RydWN0IHBhcnNlcl9wYXJhbXMqLE5PREUqLE5PREUqKTsKPiArCj4gK3N0YXRp
YyBOT0RFICpibG9ja19hcHBlbmQoc3RydWN0IHBhcnNlcl9wYXJhbXMqLE5PREUqLE5PREUqKTsK
PiArc3RhdGljIE5PREUgKmxpc3RfYXBwZW5kKHN0cnVjdCBwYXJzZXJfcGFyYW1zKixOT0RFKixO
T0RFKik7Cj4gK3N0YXRpYyBOT0RFICpsaXN0X2NvbmNhdChOT0RFKixOT0RFKik7Cj4gK3N0YXRp
YyBOT0RFICphcmdfYXBwZW5kKHN0cnVjdCBwYXJzZXJfcGFyYW1zKixOT0RFKixOT0RFKixjb25z
dCBZWUxUWVBFKik7Cj4gK3N0YXRpYyBOT0RFICpsYXN0X2FyZ19hcHBlbmQoc3RydWN0IHBhcnNl
cl9wYXJhbXMgKnAsIE5PREUgKmFyZ3MsIE5PREUgKmxhc3RfYXJnLCBjb25zdCBZWUxUWVBFICps
b2MpOwo+ICtzdGF0aWMgTk9ERSAqcmVzdF9hcmdfYXBwZW5kKHN0cnVjdCBwYXJzZXJfcGFyYW1z
ICpwLCBOT0RFICphcmdzLCBOT0RFICpyZXN0X2FyZywgY29uc3QgWVlMVFlQRSAqbG9jKTsKPiAr
c3RhdGljIE5PREUgKmxpdGVyYWxfY29uY2F0KHN0cnVjdCBwYXJzZXJfcGFyYW1zKixOT0RFKixO
T0RFKixjb25zdCBZWUxUWVBFKik7Cj4gK3N0YXRpYyBOT0RFICpuZXdfZXZzdHIoc3RydWN0IHBh
cnNlcl9wYXJhbXMqLE5PREUqLGNvbnN0IFlZTFRZUEUqKTsKPiArc3RhdGljIE5PREUgKmV2c3Ry
MmRzdHIoc3RydWN0IHBhcnNlcl9wYXJhbXMqLE5PREUqKTsKPiArc3RhdGljIE5PREUgKnNwbGF0
X2FycmF5KE5PREUqKTsKPiArCj4gK3N0YXRpYyBOT0RFICpjYWxsX2Jpbl9vcChzdHJ1Y3QgcGFy
c2VyX3BhcmFtcyosTk9ERSosSUQsTk9ERSosY29uc3QgWVlMVFlQRSosY29uc3QgWVlMVFlQRSop
Owo+ICtzdGF0aWMgTk9ERSAqY2FsbF91bmlfb3Aoc3RydWN0IHBhcnNlcl9wYXJhbXMqLE5PREUq
LElELGNvbnN0IFlZTFRZUEUqLGNvbnN0IFlZTFRZUEUqKTsKPiArc3RhdGljIE5PREUgKm5ld19x
Y2FsbChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyogcCwgSUQgYXR5cGUsIE5PREUgKnJlY3YsIElEIG1p
ZCwgTk9ERSAqYXJncywgY29uc3QgWVlMVFlQRSAqb3BfbG9jLCBjb25zdCBZWUxUWVBFICpsb2Mp
Owo+ICtzdGF0aWMgTk9ERSAqbmV3X2NvbW1hbmRfcWNhbGwoc3RydWN0IHBhcnNlcl9wYXJhbXMq
IHAsIElEIGF0eXBlLCBOT0RFICpyZWN2LCBJRCBtaWQsIE5PREUgKmFyZ3MsIE5PREUgKmJsb2Nr
LCBjb25zdCBZWUxUWVBFICpvcF9sb2MsIGNvbnN0IFlZTFRZUEUgKmxvYyk7Cj4gK3N0YXRpYyBO
T0RFICptZXRob2RfYWRkX2Jsb2NrKHN0cnVjdCBwYXJzZXJfcGFyYW1zKnAsIE5PREUgKm0sIE5P
REUgKmIsIGNvbnN0IFlZTFRZUEUgKmxvYykge2ItPm5kX2l0ZXIgPSBtOyBiLT5uZF9sb2MgPSAq
bG9jOyByZXR1cm4gYjt9Cj4gKwo+ICtzdGF0aWMgTk9ERSAqbmV3X2FyZ3Moc3RydWN0IHBhcnNl
cl9wYXJhbXMqLE5PREUqLE5PREUqLElELE5PREUqLE5PREUqLGNvbnN0IFlZTFRZUEUqKTsKPiAr
c3RhdGljIE5PREUgKm5ld19hcmdzX3RhaWwoc3RydWN0IHBhcnNlcl9wYXJhbXMqLE5PREUqLElE
LElELGNvbnN0IFlZTFRZUEUqKTsKPiArc3RhdGljIE5PREUgKm5ld19rd19hcmcoc3RydWN0IHBh
cnNlcl9wYXJhbXMgKnAsIE5PREUgKmssIGNvbnN0IFlZTFRZUEUgKmxvYyk7Cj4gKwo+ICtzdGF0
aWMgVkFMVUUgbmVnYXRlX2xpdChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyosIFZBTFVFKTsKPiArc3Rh
dGljIE5PREUgKnJldF9hcmdzKHN0cnVjdCBwYXJzZXJfcGFyYW1zKixOT0RFKik7Cj4gK3N0YXRp
YyBOT0RFICphcmdfYmxrX3Bhc3MoTk9ERSosTk9ERSopOwo+ICtzdGF0aWMgTk9ERSAqbmV3X3lp
ZWxkKHN0cnVjdCBwYXJzZXJfcGFyYW1zKixOT0RFKixjb25zdCBZWUxUWVBFKik7Cj4gK3N0YXRp
YyBOT0RFICpkc3ltX25vZGUoc3RydWN0IHBhcnNlcl9wYXJhbXMqLE5PREUqLGNvbnN0IFlZTFRZ
UEUqKTsKPiArCj4gK3N0YXRpYyBOT0RFICpnZXR0YWJsZShzdHJ1Y3QgcGFyc2VyX3BhcmFtcyos
SUQsY29uc3QgWVlMVFlQRSopOwo+ICtzdGF0aWMgTk9ERSAqYXNzaWduYWJsZShzdHJ1Y3QgcGFy
c2VyX3BhcmFtcyosSUQsTk9ERSosY29uc3QgWVlMVFlQRSopOwo+ICsKPiArc3RhdGljIE5PREUg
KmFyeXNldChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyosTk9ERSosTk9ERSosY29uc3QgWVlMVFlQRSop
Owo+ICtzdGF0aWMgTk9ERSAqYXR0cnNldChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyosTk9ERSosSUQs
SUQsY29uc3QgWVlMVFlQRSopOwo+ICsKPiArc3RhdGljIHZvaWQgcmJfYmFja3JlZl9lcnJvcihz
dHJ1Y3QgcGFyc2VyX3BhcmFtcyosTk9ERSopOwo+ICtzdGF0aWMgTk9ERSAqbm9kZV9hc3NpZ24o
c3RydWN0IHBhcnNlcl9wYXJhbXMqLE5PREUqLE5PREUqLGNvbnN0IFlZTFRZUEUqKTsKPiArCj4g
K3N0YXRpYyBOT0RFICpuZXdfb3BfYXNzaWduKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBOT0RF
ICpsaHMsIElEIG9wLCBOT0RFICpyaHMsIGNvbnN0IFlZTFRZUEUgKmxvYyk7Cj4gK3N0YXRpYyBO
T0RFICpuZXdfYXJ5X29wX2Fzc2lnbihzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgTk9ERSAqYXJ5
LCBOT0RFICphcmdzLCBJRCBvcCwgTk9ERSAqcmhzLCBjb25zdCBZWUxUWVBFICphcmdzX2xvYywg
Y29uc3QgWVlMVFlQRSAqbG9jKTsKPiArc3RhdGljIE5PREUgKm5ld19hdHRyX29wX2Fzc2lnbihz
dHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgTk9ERSAqbGhzLCBJRCBhdHlwZSwgSUQgYXR0ciwgSUQg
b3AsIE5PREUgKnJocywgY29uc3QgWVlMVFlQRSAqbG9jKTsKPiArc3RhdGljIE5PREUgKm5ld19j
b25zdF9vcF9hc3NpZ24oc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIE5PREUgKmxocywgSUQgb3As
IE5PREUgKnJocywgY29uc3QgWVlMVFlQRSAqbG9jKTsKPiArc3RhdGljIE5PREUgKm5ld19ib2R5
c3RtdChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgTk9ERSAqaGVhZCwgTk9ERSAqcmVzY3VlLCBO
T0RFICpyZXNjdWVfZWxzZSwgTk9ERSAqZW5zdXJlLCBjb25zdCBZWUxUWVBFICpsb2MpOwo+ICsK
PiArc3RhdGljIE5PREUgKmNvbnN0X2RlY2woc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIE5PREUq
IHBhdGgsIGNvbnN0IFlZTFRZUEUgKmxvYyk7Cj4gKwo+ICtzdGF0aWMgTk9ERSAqb3B0X2FyZ19h
cHBlbmQoTk9ERSosIE5PREUqKTsKPiArc3RhdGljIE5PREUgKmt3ZF9hcHBlbmQoTk9ERSosIE5P
REUqKTsKPiArCj4gK3N0YXRpYyBOT0RFICpuZXdfaGFzaChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAq
cCwgTk9ERSAqaGFzaCwgY29uc3QgWVlMVFlQRSAqbG9jKTsKPiArCj4gK3N0YXRpYyBOT0RFICpu
ZXdfZGVmaW5lZChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgTk9ERSAqZXhwciwgY29uc3QgWVlM
VFlQRSAqbG9jKTsKPiArCj4gK3N0YXRpYyBOT0RFICpuZXdfcmVnZXhwKHN0cnVjdCBwYXJzZXJf
cGFyYW1zICosIE5PREUgKiwgaW50LCBjb25zdCBZWUxUWVBFICopOwo+ICsKPiArI2RlZmluZSBt
YWtlX2FycmF5KGFyeSwgbG9jKSAoKGFyeSkgPyAobmRfc2V0X2xvYyhhcnksIGxvYyksIGFyeSkg
OiBORVdfWkFSUkFZKGxvYykpCj4gKwo+ICtzdGF0aWMgTk9ERSAqbmV3X3hzdHJpbmcoc3RydWN0
IHBhcnNlcl9wYXJhbXMgKiwgTk9ERSAqLCBjb25zdCBZWUxUWVBFICpsb2MpOwo+ICsKPiArc3Rh
dGljIE5PREUgKnN5bWJvbF9hcHBlbmQoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIE5PREUgKnN5
bWJvbHMsIE5PREUgKnN5bWJvbCk7Cj4gKwo+ICtzdGF0aWMgTk9ERSAqbWF0Y2hfb3Aoc3RydWN0
IHBhcnNlcl9wYXJhbXMqLE5PREUqLE5PREUqLGNvbnN0IFlZTFRZUEUqLGNvbnN0IFlZTFRZUEUq
KTsKPiArCj4gK3N0YXRpYyBJRCAgKmxvY2FsX3RibChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyopOwo+
ICsKPiArc3RhdGljIFZBTFVFIHJlZ19jb21waWxlKHN0cnVjdCBwYXJzZXJfcGFyYW1zKiwgVkFM
VUUsIGludCk7Cj4gK3N0YXRpYyB2b2lkIHJlZ19mcmFnbWVudF9zZXRlbmMoc3RydWN0IHBhcnNl
cl9wYXJhbXMqLCBWQUxVRSwgaW50KTsKPiArc3RhdGljIGludCByZWdfZnJhZ21lbnRfY2hlY2so
c3RydWN0IHBhcnNlcl9wYXJhbXMqLCBWQUxVRSwgaW50KTsKPiArc3RhdGljIE5PREUgKnJlZ19u
YW1lZF9jYXB0dXJlX2Fzc2lnbihzdHJ1Y3QgcGFyc2VyX3BhcmFtcyogcCwgVkFMVUUgcmVnZXhw
LCBjb25zdCBZWUxUWVBFICpsb2MpOwo+ICsKPiArc3RhdGljIGludCBsaXRlcmFsX2NvbmNhdDAo
c3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIFZBTFVFIGhlYWQsIFZBTFVFIHRhaWwpOwo+ICtzdGF0
aWMgTk9ERSAqaGVyZWRvY19kZWRlbnQoc3RydWN0IHBhcnNlcl9wYXJhbXMqLE5PREUqKTsKPiAr
I2RlZmluZSBnZXRfaWQoaWQpIChpZCkKPiArI2RlZmluZSBnZXRfdmFsdWUodmFsKSAodmFsKQo+
ICsjZWxzZSAgLyogUklQUEVSICovCj4gKyNkZWZpbmUgTk9ERV9SSVBQRVIgTk9ERV9DREVDTAo+
ICsKPiArc3RhdGljIGlubGluZSBWQUxVRQo+ICtyaXBwZXJfbmV3X3l5bHZhbChzdHJ1Y3QgcGFy
c2VyX3BhcmFtcyAqcCwgSUQgYSwgVkFMVUUgYiwgVkFMVUUgYykKPiArewo+ICsgICAgYWRkX21h
cmtfb2JqZWN0KHAsIGIpOwo+ICsgICAgYWRkX21hcmtfb2JqZWN0KHAsIGMpOwo+ICsgICAgcmV0
dXJuIChWQUxVRSlORVdfQ0RFQ0woYSwgYiwgYywgJk5VTExfTE9DKTsKPiArfQo+ICsKPiArc3Rh
dGljIGlubGluZSBpbnQKPiArcmlwcGVyX2lzX25vZGVfeXlsdmFsKFZBTFVFIG4pCj4gK3sKPiAr
ICAgIHJldHVybiBSQl9UWVBFX1AobiwgVF9OT0RFKSAmJiBuZF90eXBlKFJOT0RFKG4pKSA9PSBO
T0RFX1JJUFBFUjsKPiArfQo+ICsKPiArI2RlZmluZSB2YWx1ZV9leHByKG5vZGUpICgodm9pZCko
bm9kZSkpCj4gKyNkZWZpbmUgcmVtb3ZlX2JlZ2luKG5vZGUpIChub2RlKQo+ICsjZGVmaW5lIHZv
aWRfc3RtdHMocCx4KSAoeCkKPiArI2RlZmluZSByYl9kdmFyX2RlZmluZWQoaWQsIGJhc2UpIDAK
PiArI2RlZmluZSByYl9sb2NhbF9kZWZpbmVkKGlkLCBiYXNlKSAwCj4gK3N0YXRpYyBJRCByaXBw
ZXJfZ2V0X2lkKFZBTFVFKTsKPiArI2RlZmluZSBnZXRfaWQoaWQpIHJpcHBlcl9nZXRfaWQoaWQp
Cj4gK3N0YXRpYyBWQUxVRSByaXBwZXJfZ2V0X3ZhbHVlKFZBTFVFKTsKPiArI2RlZmluZSBnZXRf
dmFsdWUodmFsKSByaXBwZXJfZ2V0X3ZhbHVlKHZhbCkKPiArc3RhdGljIFZBTFVFIGFzc2lnbmFi
bGUoc3RydWN0IHBhcnNlcl9wYXJhbXMqLFZBTFVFKTsKPiArc3RhdGljIGludCBpZF9pc192YXIo
c3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIElEIGlkKTsKPiArCj4gKyNkZWZpbmUgbWV0aG9kX2Nv
bmQocCxub2RlLGxvYykgKG5vZGUpCj4gKyNkZWZpbmUgY2FsbF9iaW5fb3AocCwgcmVjdixpZCxh
cmcxLG9wX2xvYyxsb2MpIGRpc3BhdGNoMyhiaW5hcnksIChyZWN2KSwgU1RBVElDX0lEMlNZTShp
ZCksIChhcmcxKSkKPiArI2RlZmluZSBtYXRjaF9vcChwLG5vZGUxLG5vZGUyLG9wX2xvYyxsb2Mp
IGNhbGxfYmluX29wKDAsIChub2RlMSksIGlkRXFUaWxkZSwgKG5vZGUyKSwgb3BfbG9jLCBsb2Mp
Cj4gKyNkZWZpbmUgY2FsbF91bmlfb3AocCwgcmVjdixpZCxvcF9sb2MsbG9jKSBkaXNwYXRjaDIo
dW5hcnksIFNUQVRJQ19JRDJTWU0oaWQpLCAocmVjdikpCj4gKyNkZWZpbmUgbG9nb3AocCxpZCxu
b2RlMSxub2RlMixvcF9sb2MsbG9jKSBjYWxsX2Jpbl9vcCgwLCAobm9kZTEpLCAoaWQpLCAobm9k
ZTIpLCBvcF9sb2MsIGxvYykKPiArCj4gKyNkZWZpbmUgbmV3X25pbChsb2MpIFFuaWwKPiArCj4g
K3N0YXRpYyBWQUxVRSBuZXdfcmVnZXhwKHN0cnVjdCBwYXJzZXJfcGFyYW1zICosIFZBTFVFLCBW
QUxVRSwgY29uc3QgWVlMVFlQRSAqKTsKPiArCj4gK3N0YXRpYyBWQUxVRSBjb25zdF9kZWNsKHN0
cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBWQUxVRSBwYXRoKTsKPiArCj4gK3N0YXRpYyBWQUxVRSB2
YXJfZmllbGQoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIFZBTFVFIGEpOwo+ICtzdGF0aWMgVkFM
VUUgYXNzaWduX2Vycm9yKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBWQUxVRSBhKTsKPiArCj4g
K3N0YXRpYyBWQUxVRSBwYXJzZXJfcmVnX2NvbXBpbGUoc3RydWN0IHBhcnNlcl9wYXJhbXMqLCBW
QUxVRSwgaW50LCBWQUxVRSAqKTsKPiArCj4gKyNlbmRpZiAvKiAhUklQUEVSICovCj4gKwo+ICsv
KiBmb3J3YXJkIGRlY2xhcmF0aW9uICovCj4gK3R5cGVkZWYgc3RydWN0IHJiX3N0cnRlcm1faGVy
ZWRvY19zdHJ1Y3QgcmJfc3RydGVybV9oZXJlZG9jX3Q7Cj4gKwo+ICtSVUJZX1NZTUJPTF9FWFBP
UlRfQkVHSU4KPiArVkFMVUUgcmJfcGFyc2VyX3JlZ19jb21waWxlKHN0cnVjdCBwYXJzZXJfcGFy
YW1zKiBwLCBWQUxVRSBzdHIsIGludCBvcHRpb25zKTsKPiAraW50IHJiX3JlZ19mcmFnbWVudF9z
ZXRlbmMoc3RydWN0IHBhcnNlcl9wYXJhbXMqLCBWQUxVRSwgaW50KTsKPiArZW51bSBsZXhfc3Rh
dGVfZSByYl9wYXJzZXJfdHJhY2VfbGV4X3N0YXRlKHN0cnVjdCBwYXJzZXJfcGFyYW1zICosIGVu
dW0gbGV4X3N0YXRlX2UsIGVudW0gbGV4X3N0YXRlX2UsIGludCk7Cj4gK1ZBTFVFIHJiX3BhcnNl
cl9sZXhfc3RhdGVfbmFtZShlbnVtIGxleF9zdGF0ZV9lIHN0YXRlKTsKPiArdm9pZCByYl9wYXJz
ZXJfc2hvd19iaXRzdGFjayhzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqLCBzdGFja190eXBlLCBjb25z
dCBjaGFyICosIGludCk7Cj4gK1BSSU5URl9BUkdTKHZvaWQgcmJfcGFyc2VyX2ZhdGFsKHN0cnVj
dCBwYXJzZXJfcGFyYW1zICpwLCBjb25zdCBjaGFyICpmbXQsIC4uLiksIDIsIDMpOwo+ICt2b2lk
IHJiX3BhcnNlcl9zZXRfbG9jYXRpb25fZnJvbV9zdHJ0ZXJtX2hlcmVkb2Moc3RydWN0IHBhcnNl
cl9wYXJhbXMgKnAsIHJiX3N0cnRlcm1faGVyZWRvY190ICpoZXJlLCBZWUxUWVBFICp5eWxsb2Mp
Owo+ICt2b2lkIHJiX3BhcnNlcl9zZXRfbG9jYXRpb25fb2Zfbm9uZShzdHJ1Y3QgcGFyc2VyX3Bh
cmFtcyAqcCwgWVlMVFlQRSAqeXlsbG9jKTsKPiArdm9pZCByYl9wYXJzZXJfc2V0X2xvY2F0aW9u
KHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBZWUxUWVBFICp5eWxsb2MpOwo+ICtSVUJZX1NZTUJP
TF9FWFBPUlRfRU5ECj4gKwo+ICtzdGF0aWMgdm9pZCBwYXJzZXJfdG9rZW5fdmFsdWVfcHJpbnQo
c3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIGVudW0geXl0b2tlbnR5cGUgdHlwZSwgY29uc3QgWVlT
VFlQRSAqdmFscCk7Cj4gK3N0YXRpYyBJRCBmb3JtYWxfYXJndW1lbnQoc3RydWN0IHBhcnNlcl9w
YXJhbXMqLCBJRCk7Cj4gK3N0YXRpYyBJRCBzaGFkb3dpbmdfbHZhcihzdHJ1Y3QgcGFyc2VyX3Bh
cmFtcyosSUQpOwo+ICtzdGF0aWMgdm9pZCBuZXdfYnYoc3RydWN0IHBhcnNlcl9wYXJhbXMqLElE
KTsKPiArCj4gK3N0YXRpYyB2b2lkIGxvY2FsX3B1c2goc3RydWN0IHBhcnNlcl9wYXJhbXMqLGlu
dCk7Cj4gK3N0YXRpYyB2b2lkIGxvY2FsX3BvcChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyopOwo+ICtz
dGF0aWMgdm9pZCBsb2NhbF92YXIoc3RydWN0IHBhcnNlcl9wYXJhbXMqLCBJRCk7Cj4gK3N0YXRp
YyB2b2lkIGFyZ192YXIoc3RydWN0IHBhcnNlcl9wYXJhbXMqLCBJRCk7Cj4gK3N0YXRpYyBpbnQg
IGxvY2FsX2lkKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBJRCBpZCk7Cj4gK3N0YXRpYyBpbnQg
IGxvY2FsX2lkX3JlZihzdHJ1Y3QgcGFyc2VyX3BhcmFtcyosIElELCBJRCAqKik7Cj4gK3N0YXRp
YyBJRCAgIGludGVybmFsX2lkKHN0cnVjdCBwYXJzZXJfcGFyYW1zKik7Cj4gKwo+ICtzdGF0aWMg
Y29uc3Qgc3RydWN0IHZ0YWJsZSAqZHluYV9wdXNoKHN0cnVjdCBwYXJzZXJfcGFyYW1zICopOwo+
ICtzdGF0aWMgdm9pZCBkeW5hX3BvcChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyosIGNvbnN0IHN0cnVj
dCB2dGFibGUgKik7Cj4gK3N0YXRpYyBpbnQgZHluYV9pbl9ibG9jayhzdHJ1Y3QgcGFyc2VyX3Bh
cmFtcyopOwo+ICsjZGVmaW5lIGR5bmFfdmFyKHAsIGlkKSBsb2NhbF92YXIocCwgaWQpCj4gK3N0
YXRpYyBpbnQgZHZhcl9kZWZpbmVkKHN0cnVjdCBwYXJzZXJfcGFyYW1zKiwgSUQpOwo+ICtzdGF0
aWMgaW50IGR2YXJfZGVmaW5lZF9yZWYoc3RydWN0IHBhcnNlcl9wYXJhbXMqLCBJRCwgSUQqKik7
Cj4gK3N0YXRpYyBpbnQgZHZhcl9jdXJyKHN0cnVjdCBwYXJzZXJfcGFyYW1zKixJRCk7Cj4gKwo+
ICtzdGF0aWMgaW50IGx2YXJfZGVmaW5lZChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyosIElEKTsKPiAr
Cj4gKyNpZmRlZiBSSVBQRVIKPiArIyBkZWZpbmUgTUVUSE9EX05PVCBpZE5PVAo+ICsjZWxzZQo+
ICsjIGRlZmluZSBNRVRIT0RfTk9UICchJwo+ICsjZW5kaWYKPiArCj4gKyNkZWZpbmUgUkVfT1BU
SU9OX09OQ0UgKDE8PDE2KQo+ICsjZGVmaW5lIFJFX09QVElPTl9FTkNPRElOR19TSElGVCA4Cj4g
KyNkZWZpbmUgUkVfT1BUSU9OX0VOQ09ESU5HKGUpICgoKGUpJjB4ZmYpPDxSRV9PUFRJT05fRU5D
T0RJTkdfU0hJRlQpCj4gKyNkZWZpbmUgUkVfT1BUSU9OX0VOQ09ESU5HX0lEWChvKSAoKChvKT4+
UkVfT1BUSU9OX0VOQ09ESU5HX1NISUZUKSYweGZmKQo+ICsjZGVmaW5lIFJFX09QVElPTl9FTkNP
RElOR19OT05FKG8pICgobykmUkVfT1BUSU9OX0FSR19FTkNPRElOR19OT05FKQo+ICsjZGVmaW5l
IFJFX09QVElPTl9NQVNLICAweGZmCj4gKyNkZWZpbmUgUkVfT1BUSU9OX0FSR19FTkNPRElOR19O
T05FIDMyCj4gKwo+ICsvKiBzdHJ1Y3RzIGZvciBtYW5hZ2luZyB0ZXJtaW5hdG9yIG9mIHN0cmlu
ZyBsaXRlcmFsIGFuZCBoZXJlZG9jbWVudCAqLwo+ICt0eXBlZGVmIHN0cnVjdCByYl9zdHJ0ZXJt
X2xpdGVyYWxfc3RydWN0IHsKPiArICAgIHVuaW9uIHsKPiArICAgICAgIFZBTFVFIGR1bW15Owo+
ICsgICAgICAgbG9uZyBuZXN0Owo+ICsgICAgfSB1MDsKPiArICAgIHVuaW9uIHsKPiArICAgICAg
IFZBTFVFIGR1bW15Owo+ICsgICAgICAgbG9uZyBmdW5jOyAgICAgICAgICAvKiBTVFJfRlVOQ18q
IChlLmcuLCBTVFJfRlVOQ19FU0NBUEUgYW5kIFNUUl9GVU5DX0VYUEFORCkgKi8KPiArICAgIH0g
dTE7Cj4gKyAgICB1bmlvbiB7Cj4gKyAgICAgICBWQUxVRSBkdW1teTsKPiArICAgICAgIGxvbmcg
cGFyZW47ICAgICAgICAgLyogJygnIG9mIGAlcSguLi4pYCAqLwo+ICsgICAgfSB1MjsKPiArICAg
IHVuaW9uIHsKPiArICAgICAgIFZBTFVFIGR1bW15Owo+ICsgICAgICAgbG9uZyB0ZXJtOyAgICAg
ICAgICAvKiAnKScgb2YgYCVxKC4uLilgICovCj4gKyAgICB9IHUzOwo+ICt9IHJiX3N0cnRlcm1f
bGl0ZXJhbF90Owo+ICsKPiArc3RydWN0IHJiX3N0cnRlcm1faGVyZWRvY19zdHJ1Y3Qgewo+ICsg
ICAgU0lHTkVEX1ZBTFVFIHNvdXJjZWxpbmU7IC8qIGxpbmVubyBvZiB0aGUgbGluZSB0aGF0IGNv
bnRhaW5zIGA8PCJFTkQiYCAqLwo+ICsgICAgVkFMVUUgdGVybTsgICAgICAgICAgICAgICAgLyog
YCJFTkQiYCBvZiBgPDwiRU5EImAgKi8KPiArICAgIFZBTFVFIGxhc3RsaW5lOyAgICAvKiB0aGUg
c3RyaW5nIG9mIGxpbmUgdGhhdCBjb250YWlucyBgPDwiRU5EImAgKi8KPiArICAgIHVuaW9uIHsK
PiArICAgICAgIFZBTFVFIGR1bW15Owo+ICsgICAgICAgbG9uZyBsYXN0aWR4OyAgIC8qIHRoZSBj
b2x1bW4gb2YgYDw8IkVORCJgICovCj4gKyAgICB9IHUzOwo+ICt9Owo+ICsKPiArI2RlZmluZSBT
VFJURVJNX0hFUkVET0MgSU1FTU9fRkxfVVNFUjAKPiArCj4gK3N0cnVjdCByYl9zdHJ0ZXJtX3N0
cnVjdCB7Cj4gKyAgICBWQUxVRSBmbGFnczsKPiArICAgIHVuaW9uIHsKPiArICAgICAgIHJiX3N0
cnRlcm1fbGl0ZXJhbF90IGxpdGVyYWw7Cj4gKyAgICAgICByYl9zdHJ0ZXJtX2hlcmVkb2NfdCBo
ZXJlZG9jOwo+ICsgICAgfSB1Owo+ICt9Owo+ICsKPiArI2lmbmRlZiBSSVBQRVIKPiArdm9pZAo+
ICtyYl9zdHJ0ZXJtX21hcmsoVkFMVUUgb2JqKQo+ICt7Cj4gKyAgICByYl9zdHJ0ZXJtX3QgKnN0
cnRlcm0gPSAocmJfc3RydGVybV90KilvYmo7Cj4gKyAgICBpZiAoUkJBU0lDKG9iaiktPmZsYWdz
ICYgU1RSVEVSTV9IRVJFRE9DKSB7Cj4gKyAgICAgICByYl9zdHJ0ZXJtX2hlcmVkb2NfdCAqaGVy
ZWRvYyA9ICZzdHJ0ZXJtLT51LmhlcmVkb2M7Cj4gKyAgICAgICByYl9nY19tYXJrKGhlcmVkb2Mt
PnRlcm0pOwo+ICsgICAgICAgcmJfZ2NfbWFyayhoZXJlZG9jLT5sYXN0bGluZSk7Cj4gKyAgICB9
Cj4gK30KPiArI2VuZGlmCj4gKwo+ICsjZGVmaW5lIFRPS0VOMklEKHRvaykgKCBcCj4gKyAgICB0
VE9LRU5fTE9DQUxfQkVHSU48KHRvaykmJih0b2spPHRUT0tFTl9MT0NBTF9FTkQgPyBUT0tFTjJM
T0NBTElEKHRvaykgOiBcCj4gKyAgICB0VE9LRU5fSU5TVEFOQ0VfQkVHSU48KHRvaykmJih0b2sp
PHRUT0tFTl9JTlNUQU5DRV9FTkQgPyBUT0tFTjJJTlNUQU5DRUlEKHRvaykgOiBcCj4gKyAgICB0
VE9LRU5fR0xPQkFMX0JFR0lOPCh0b2spJiYodG9rKTx0VE9LRU5fR0xPQkFMX0VORCA/IFRPS0VO
MkdMT0JBTElEKHRvaykgOiBcCj4gKyAgICB0VE9LRU5fQ09OU1RfQkVHSU48KHRvaykmJih0b2sp
PHRUT0tFTl9DT05TVF9FTkQgPyBUT0tFTjJDT05TVElEKHRvaykgOiBcCj4gKyAgICB0VE9LRU5f
Q0xBU1NfQkVHSU48KHRvaykmJih0b2spPHRUT0tFTl9DTEFTU19FTkQgPyBUT0tFTjJDTEFTU0lE
KHRvaykgOiBcCj4gKyAgICB0VE9LRU5fQVRUUlNFVF9CRUdJTjwodG9rKSYmKHRvayk8dFRPS0VO
X0FUVFJTRVRfRU5EID8gVE9LRU4yQVRUUlNFVElEKHRvaykgOiBcCj4gKyAgICAoKHRvaykgLyAo
KHRvayk8dFBSRVNFUlZFRF9JRF9FTkQgJiYgKCh0b2spPj0xMjggfHwgcmJfaXNwdW5jdCh0b2sp
KSkpKQo+ICsKPiArLyoqKioqKiBSaXBwZXIgKioqKioqKi8KPiArCj4gKyNpZmRlZiBSSVBQRVIK
PiArI2RlZmluZSBSSVBQRVJfVkVSU0lPTiAiMC4xLjAiCj4gKwo+ICtzdGF0aWMgaW5saW5lIFZB
TFVFIGludGVybl9zeW0oY29uc3QgY2hhciAqbmFtZSk7Cj4gKwo+ICsjaW5jbHVkZSAiZXZlbnRp
ZHMxLmMiCj4gKyNpbmNsdWRlICJldmVudGlkczIuYyIKPiArCj4gK3N0YXRpYyBWQUxVRSByaXBw
ZXJfZGlzcGF0Y2gwKHN0cnVjdCBwYXJzZXJfcGFyYW1zKixJRCk7Cj4gK3N0YXRpYyBWQUxVRSBy
aXBwZXJfZGlzcGF0Y2gxKHN0cnVjdCBwYXJzZXJfcGFyYW1zKixJRCxWQUxVRSk7Cj4gK3N0YXRp
YyBWQUxVRSByaXBwZXJfZGlzcGF0Y2gyKHN0cnVjdCBwYXJzZXJfcGFyYW1zKixJRCxWQUxVRSxW
QUxVRSk7Cj4gK3N0YXRpYyBWQUxVRSByaXBwZXJfZGlzcGF0Y2gzKHN0cnVjdCBwYXJzZXJfcGFy
YW1zKixJRCxWQUxVRSxWQUxVRSxWQUxVRSk7Cj4gK3N0YXRpYyBWQUxVRSByaXBwZXJfZGlzcGF0
Y2g0KHN0cnVjdCBwYXJzZXJfcGFyYW1zKixJRCxWQUxVRSxWQUxVRSxWQUxVRSxWQUxVRSk7Cj4g
K3N0YXRpYyBWQUxVRSByaXBwZXJfZGlzcGF0Y2g1KHN0cnVjdCBwYXJzZXJfcGFyYW1zKixJRCxW
QUxVRSxWQUxVRSxWQUxVRSxWQUxVRSxWQUxVRSk7Cj4gK3N0YXRpYyBWQUxVRSByaXBwZXJfZGlz
cGF0Y2g3KHN0cnVjdCBwYXJzZXJfcGFyYW1zKixJRCxWQUxVRSxWQUxVRSxWQUxVRSxWQUxVRSxW
QUxVRSxWQUxVRSxWQUxVRSk7Cj4gK3N0YXRpYyB2b2lkIHJpcHBlcl9lcnJvcihzdHJ1Y3QgcGFy
c2VyX3BhcmFtcyAqcCk7Cj4gKwo+ICsjZGVmaW5lIGRpc3BhdGNoMChuKSAgICAgICAgICAgIHJp
cHBlcl9kaXNwYXRjaDAocCwgVE9LRU5fUEFTVEUocmlwcGVyX2lkXywgbikpCj4gKyNkZWZpbmUg
ZGlzcGF0Y2gxKG4sYSkgICAgICAgICAgcmlwcGVyX2Rpc3BhdGNoMShwLCBUT0tFTl9QQVNURShy
aXBwZXJfaWRfLCBuKSwgKGEpKQo+ICsjZGVmaW5lIGRpc3BhdGNoMihuLGEsYikgICAgICAgIHJp
cHBlcl9kaXNwYXRjaDIocCwgVE9LRU5fUEFTVEUocmlwcGVyX2lkXywgbiksIChhKSwgKGIpKQo+
ICsjZGVmaW5lIGRpc3BhdGNoMyhuLGEsYixjKSAgICAgIHJpcHBlcl9kaXNwYXRjaDMocCwgVE9L
RU5fUEFTVEUocmlwcGVyX2lkXywgbiksIChhKSwgKGIpLCAoYykpCj4gKyNkZWZpbmUgZGlzcGF0
Y2g0KG4sYSxiLGMsZCkgICAgcmlwcGVyX2Rpc3BhdGNoNChwLCBUT0tFTl9QQVNURShyaXBwZXJf
aWRfLCBuKSwgKGEpLCAoYiksIChjKSwgKGQpKQo+ICsjZGVmaW5lIGRpc3BhdGNoNShuLGEsYixj
LGQsZSkgIHJpcHBlcl9kaXNwYXRjaDUocCwgVE9LRU5fUEFTVEUocmlwcGVyX2lkXywgbiksIChh
KSwgKGIpLCAoYyksIChkKSwgKGUpKQo+ICsjZGVmaW5lIGRpc3BhdGNoNyhuLGEsYixjLGQsZSxm
LGcpIHJpcHBlcl9kaXNwYXRjaDcocCwgVE9LRU5fUEFTVEUocmlwcGVyX2lkXywgbiksIChhKSwg
KGIpLCAoYyksIChkKSwgKGUpLCAoZiksIChnKSkKPiArCj4gKyNkZWZpbmUgeXlwYXJzZSByaXBw
ZXJfeXlwYXJzZQo+ICsKPiArI2RlZmluZSBJRDJWQUwoaWQpIFNUQVRJQ19JRDJTWU0oaWQpCj4g
KyNkZWZpbmUgVE9LRU4yVkFMKHQpIElEMlZBTChUT0tFTjJJRCh0KSkKPiArI2RlZmluZSBLV0Qy
RUlEKHQsIHYpIHJpcHBlcl9uZXdfeXlsdmFsKHAsIGtleXdvcmRfIyN0LCBnZXRfdmFsdWUodiks
IDApCj4gKwo+ICsjZGVmaW5lIHBhcmFtc19uZXcocGFycywgb3B0cywgcmVzdCwgcGFyczIsIGt3
cywga3dyZXN0LCBibGspIFwKPiArICAgICAgICBkaXNwYXRjaDcocGFyYW1zLCAocGFycyksIChv
cHRzKSwgKHJlc3QpLCAocGFyczIpLCAoa3dzKSwgKGt3cmVzdCksIChibGspKQo+ICsKPiArI2Rl
ZmluZSBlc2NhcGVfUXVuZGVmKHgpICgoeCk9PVF1bmRlZiA/IFFuaWwgOiAoeCkpCj4gKwo+ICtz
dGF0aWMgaW5saW5lIFZBTFVFCj4gK25ld19hcmdzKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBW
QUxVRSBwcmVfYXJncywgVkFMVUUgb3B0X2FyZ3MsIFZBTFVFIHJlc3RfYXJnLCBWQUxVRSBwb3N0
X2FyZ3MsIFZBTFVFIHRhaWwsIFlZTFRZUEUgKmxvYykKPiArewo+ICsgICAgTk9ERSAqdCA9IChO
T0RFICopdGFpbDsKPiArICAgIFZBTFVFIGt3X2FyZ3MgPSB0LT51MS52YWx1ZSwga3dfcmVzdF9h
cmcgPSB0LT51Mi52YWx1ZSwgYmxvY2sgPSB0LT51My52YWx1ZTsKPiArICAgIHJldHVybiBwYXJh
bXNfbmV3KHByZV9hcmdzLCBvcHRfYXJncywgcmVzdF9hcmcsIHBvc3RfYXJncywga3dfYXJncywg
a3dfcmVzdF9hcmcsIGVzY2FwZV9RdW5kZWYoYmxvY2spKTsKPiArfQo+ICsKPiArc3RhdGljIGlu
bGluZSBWQUxVRQo+ICtuZXdfYXJnc190YWlsKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBWQUxV
RSBrd19hcmdzLCBWQUxVRSBrd19yZXN0X2FyZywgVkFMVUUgYmxvY2ssIFlZTFRZUEUgKmxvYykK
PiArewo+ICsgICAgTk9ERSAqdCA9IHJiX25vZGVfbmV3bm9kZShOT0RFX0FSR1NfQVVYLCBrd19h
cmdzLCBrd19yZXN0X2FyZywgYmxvY2ssICZOVUxMX0xPQyk7Cj4gKyAgICBhZGRfbWFya19vYmpl
Y3QocCwga3dfYXJncyk7Cj4gKyAgICBhZGRfbWFya19vYmplY3QocCwga3dfcmVzdF9hcmcpOwo+
ICsgICAgYWRkX21hcmtfb2JqZWN0KHAsIGJsb2NrKTsKPiArICAgIHJldHVybiAoVkFMVUUpdDsK
PiArfQo+ICsKPiArI2RlZmluZSBuZXdfZGVmaW5lZChwLGV4cHIsbG9jKSBkaXNwYXRjaDEoZGVm
aW5lZCwgKGV4cHIpKQo+ICsKPiArc3RhdGljIFZBTFVFIGhlcmVkb2NfZGVkZW50KHN0cnVjdCBw
YXJzZXJfcGFyYW1zKixWQUxVRSk7Cj4gKwo+ICsjZWxzZQo+ICsjZGVmaW5lIElEMlZBTChpZCkg
KChWQUxVRSkoaWQpKQo+ICsjZGVmaW5lIFRPS0VOMlZBTCh0KSBJRDJWQUwodCkKPiArI2RlZmlu
ZSBLV0QyRUlEKHQsIHYpIGtleXdvcmRfIyN0Cj4gKyNlbmRpZiAvKiBSSVBQRVIgKi8KPiArCj4g
KyNpZm5kZWYgUklQUEVSCj4gKyMgZGVmaW5lIFFub25lIDAKPiArIyBkZWZpbmUgUW51bGwgMAo+
ICsjIGRlZmluZSBpZm5kZWZfcmlwcGVyKHgpICh4KQo+ICsjZWxzZQo+ICsjIGRlZmluZSBRbm9u
ZSBRbmlsCj4gKyMgZGVmaW5lIFFudWxsIFF1bmRlZgo+ICsjIGRlZmluZSBpZm5kZWZfcmlwcGVy
KHgpCj4gKyNlbmRpZgo+ICsKPiArIyBkZWZpbmUgcmJfd2FybjAoZm10KSAgICAgICAgIFdBUk5f
Q0FMTChXQVJOX0FSR1MoZm10LCAxKSkKPiArIyBkZWZpbmUgcmJfd2FybjEoZm10LGEpICAgICAg
IFdBUk5fQ0FMTChXQVJOX0FSR1MoZm10LCAyKSwgKGEpKQo+ICsjIGRlZmluZSByYl93YXJuMihm
bXQsYSxiKSAgICAgV0FSTl9DQUxMKFdBUk5fQVJHUyhmbXQsIDMpLCAoYSksIChiKSkKPiArIyBk
ZWZpbmUgcmJfd2FybjMoZm10LGEsYixjKSAgIFdBUk5fQ0FMTChXQVJOX0FSR1MoZm10LCA0KSwg
KGEpLCAoYiksIChjKSkKPiArIyBkZWZpbmUgcmJfd2FybjQoZm10LGEsYixjLGQpIFdBUk5fQ0FM
TChXQVJOX0FSR1MoZm10LCA1KSwgKGEpLCAoYiksIChjKSwgKGQpKQo+ICsjIGRlZmluZSByYl93
YXJuaW5nMChmbXQpICAgICAgICAgV0FSTklOR19DQUxMKFdBUk5JTkdfQVJHUyhmbXQsIDEpKQo+
ICsjIGRlZmluZSByYl93YXJuaW5nMShmbXQsYSkgICAgICAgV0FSTklOR19DQUxMKFdBUk5JTkdf
QVJHUyhmbXQsIDIpLCAoYSkpCj4gKyMgZGVmaW5lIHJiX3dhcm5pbmcyKGZtdCxhLGIpICAgICBX
QVJOSU5HX0NBTEwoV0FSTklOR19BUkdTKGZtdCwgMyksIChhKSwgKGIpKQo+ICsjIGRlZmluZSBy
Yl93YXJuaW5nMyhmbXQsYSxiLGMpICAgV0FSTklOR19DQUxMKFdBUk5JTkdfQVJHUyhmbXQsIDQp
LCAoYSksIChiKSwgKGMpKQo+ICsjIGRlZmluZSByYl93YXJuaW5nNChmbXQsYSxiLGMsZCkgV0FS
TklOR19DQUxMKFdBUk5JTkdfQVJHUyhmbXQsIDUpLCAoYSksIChiKSwgKGMpLCAoZCkpCj4gKyMg
ZGVmaW5lIHJiX3dhcm4wTChsLGZtdCkgICAgICAgICBXQVJOX0NBTEwoV0FSTl9BUkdTX0wobCwg
Zm10LCAxKSkKPiArIyBkZWZpbmUgcmJfd2FybjFMKGwsZm10LGEpICAgICAgIFdBUk5fQ0FMTChX
QVJOX0FSR1NfTChsLCBmbXQsIDIpLCAoYSkpCj4gKyMgZGVmaW5lIHJiX3dhcm4yTChsLGZtdCxh
LGIpICAgICBXQVJOX0NBTEwoV0FSTl9BUkdTX0wobCwgZm10LCAzKSwgKGEpLCAoYikpCj4gKyMg
ZGVmaW5lIHJiX3dhcm4zTChsLGZtdCxhLGIsYykgICBXQVJOX0NBTEwoV0FSTl9BUkdTX0wobCwg
Zm10LCA0KSwgKGEpLCAoYiksIChjKSkKPiArIyBkZWZpbmUgcmJfd2FybjRMKGwsZm10LGEsYixj
LGQpIFdBUk5fQ0FMTChXQVJOX0FSR1NfTChsLCBmbXQsIDUpLCAoYSksIChiKSwgKGMpLCAoZCkp
Cj4gKyMgZGVmaW5lIHJiX3dhcm5pbmcwTChsLGZtdCkgICAgICAgICBXQVJOSU5HX0NBTEwoV0FS
TklOR19BUkdTX0wobCwgZm10LCAxKSkKPiArIyBkZWZpbmUgcmJfd2FybmluZzFMKGwsZm10LGEp
ICAgICAgIFdBUk5JTkdfQ0FMTChXQVJOSU5HX0FSR1NfTChsLCBmbXQsIDIpLCAoYSkpCj4gKyMg
ZGVmaW5lIHJiX3dhcm5pbmcyTChsLGZtdCxhLGIpICAgICBXQVJOSU5HX0NBTEwoV0FSTklOR19B
UkdTX0wobCwgZm10LCAzKSwgKGEpLCAoYikpCj4gKyMgZGVmaW5lIHJiX3dhcm5pbmczTChsLGZt
dCxhLGIsYykgICBXQVJOSU5HX0NBTEwoV0FSTklOR19BUkdTX0wobCwgZm10LCA0KSwgKGEpLCAo
YiksIChjKSkKPiArIyBkZWZpbmUgcmJfd2FybmluZzRMKGwsZm10LGEsYixjLGQpIFdBUk5JTkdf
Q0FMTChXQVJOSU5HX0FSR1NfTChsLCBmbXQsIDUpLCAoYSksIChiKSwgKGMpLCAoZCkpCj4gKyNp
ZmRlZiBSSVBQRVIKPiArc3RhdGljIElEIGlkX3dhcm4sIGlkX3dhcm5pbmcsIGlkX2dldHM7Cj4g
KyMgZGVmaW5lIFdBUk5fU19MKHMsbCkgU1RSX05FVyhzLGwpCj4gKyMgZGVmaW5lIFdBUk5fUyhz
KSBTVFJfTkVXMihzKQo+ICsjIGRlZmluZSBXQVJOX0koaSkgSU5UMk5VTShpKQo+ICsjIGRlZmlu
ZSBXQVJOX0lEKGkpIHJiX2lkMnN0cihpKQo+ICsjIGRlZmluZSBQUklzV0FSTiAicyIKPiArIyBk
ZWZpbmUgV0FSTl9BUkdTKGZtdCxuKSBwLT52YWx1ZSwgaWRfd2FybiwgbiwgcmJfdXNhc2NpaV9z
dHJfbmV3X2xpdChmbXQpCj4gKyMgZGVmaW5lIFdBUk5fQVJHU19MKGwsZm10LG4pIFdBUk5fQVJH
UyhmbXQsbikKPiArIyBpZmRlZiBIQVZFX1ZBX0FSR1NfTUFDUk8KPiArIyBkZWZpbmUgV0FSTl9D
QUxMKC4uLikgcmJfZnVuY2FsbChfX1ZBX0FSR1NfXykKPiArIyBlbHNlCj4gKyMgZGVmaW5lIFdB
Uk5fQ0FMTCByYl9mdW5jYWxsCj4gKyMgZW5kaWYKPiArIyBkZWZpbmUgV0FSTklOR19BUkdTKGZt
dCxuKSBwLT52YWx1ZSwgaWRfd2FybmluZywgbiwgcmJfdXNhc2NpaV9zdHJfbmV3X2xpdChmbXQp
Cj4gKyMgZGVmaW5lIFdBUk5JTkdfQVJHU19MKGwsIGZtdCxuKSBXQVJOSU5HX0FSR1MoZm10LG4p
Cj4gKyMgaWZkZWYgSEFWRV9WQV9BUkdTX01BQ1JPCj4gKyMgZGVmaW5lIFdBUk5JTkdfQ0FMTCgu
Li4pIHJiX2Z1bmNhbGwoX19WQV9BUkdTX18pCj4gKyMgZWxzZQo+ICsjIGRlZmluZSBXQVJOSU5H
X0NBTEwgcmJfZnVuY2FsbAo+ICsjIGVuZGlmCj4gK1BSSU5URl9BUkdTKHN0YXRpYyB2b2lkIHJp
cHBlcl9jb21waWxlX2Vycm9yKHN0cnVjdCBwYXJzZXJfcGFyYW1zKiwgY29uc3QgY2hhciAqZm10
LCAuLi4pLCAyLCAzKTsKPiArIyBkZWZpbmUgY29tcGlsZV9lcnJvciByaXBwZXJfY29tcGlsZV9l
cnJvcgo+ICsjZWxzZQo+ICsjIGRlZmluZSBXQVJOX1NfTChzLGwpIHMKPiArIyBkZWZpbmUgV0FS
Tl9TKHMpIHMKPiArIyBkZWZpbmUgV0FSTl9JKGkpIGkKPiArIyBkZWZpbmUgV0FSTl9JRChpKSBy
Yl9pZDJuYW1lKGkpCj4gKyMgZGVmaW5lIFBSSXNXQVJOIFBSSXNWQUxVRQo+ICsjIGRlZmluZSBX
QVJOX0FSR1MoZm10LG4pIFdBUk5fQVJHU19MKHAtPnJ1Ynlfc291cmNlbGluZSxmbXQsbikKPiAr
IyBkZWZpbmUgV0FSTl9BUkdTX0wobCxmbXQsbikgcC0+cnVieV9zb3VyY2VmaWxlLCAobCksIChm
bXQpCj4gKyMgZGVmaW5lIFdBUk5fQ0FMTCByYl9jb21waWxlX3dhcm4KPiArIyBkZWZpbmUgV0FS
TklOR19BUkdTKGZtdCxuKSBXQVJOX0FSR1MoZm10LG4pCj4gKyMgZGVmaW5lIFdBUk5JTkdfQVJH
U19MKGwsZm10LG4pIFdBUk5fQVJHU19MKGwsZm10LG4pCj4gKyMgZGVmaW5lIFdBUk5JTkdfQ0FM
TCByYl9jb21waWxlX3dhcm5pbmcKPiArUFJJTlRGX0FSR1Moc3RhdGljIHZvaWQgcGFyc2VyX2Nv
bXBpbGVfZXJyb3Ioc3RydWN0IHBhcnNlcl9wYXJhbXMqLCBjb25zdCBjaGFyICpmbXQsIC4uLiks
IDIsIDMpOwo+ICsjIGRlZmluZSBjb21waWxlX2Vycm9yIHBhcnNlcl9jb21waWxlX2Vycm9yCj4g
KyNlbmRpZgo+ICsKPiArc3RhdGljIHZvaWQgdG9rZW5faW5mb19wdXNoKHN0cnVjdCBwYXJzZXJf
cGFyYW1zKiwgY29uc3QgY2hhciAqdG9rZW4sIGNvbnN0IHJiX2NvZGVfbG9jYXRpb25fdCAqbG9j
KTsKPiArc3RhdGljIHZvaWQgdG9rZW5faW5mb19wb3Aoc3RydWN0IHBhcnNlcl9wYXJhbXMqLCBj
b25zdCBjaGFyICp0b2tlbiwgY29uc3QgcmJfY29kZV9sb2NhdGlvbl90ICpsb2MpOwo+ICtzdGF0
aWMgdm9pZCB0b2tlbl9pbmZvX3dhcm4oc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIGNvbnN0IGNo
YXIgKnRva2VuLCB0b2tlbl9pbmZvICpwdGluZm9fYmVnLCBpbnQgc2FtZSwgY29uc3QgcmJfY29k
ZV9sb2NhdGlvbl90ICpsb2MpOwo+ICsKPiArI2xpbmUgODE5ICJwYXJzZS5jIiAvKiB5YWNjLmM6
MzM3ICAqLwo+ICsjIGlmbmRlZiBZWV9OVUxMUFRSCj4gKyMgIGlmIGRlZmluZWQgX19jcGx1c3Bs
dXMKPiArIyAgIGlmIDIwMTEwM0wgPD0gX19jcGx1c3BsdXMKPiArIyAgICBkZWZpbmUgWVlfTlVM
TFBUUiBudWxscHRyCj4gKyMgICBlbHNlCj4gKyMgICAgZGVmaW5lIFlZX05VTExQVFIgMAo+ICsj
ICAgZW5kaWYKPiArIyAgZWxzZQo+ICsjICAgZGVmaW5lIFlZX05VTExQVFIgKCh2b2lkKikwKQo+
ICsjICBlbmRpZgo+ICsjIGVuZGlmCj4gKwo+ICsvKiBFbmFibGluZyB2ZXJib3NlIGVycm9yIG1l
c3NhZ2VzLiAgKi8KPiArI2lmZGVmIFlZRVJST1JfVkVSQk9TRQo+ICsjIHVuZGVmIFlZRVJST1Jf
VkVSQk9TRQo+ICsjIGRlZmluZSBZWUVSUk9SX1ZFUkJPU0UgMQo+ICsjZWxzZQo+ICsjIGRlZmlu
ZSBZWUVSUk9SX1ZFUkJPU0UgMAo+ICsjZW5kaWYKPiArCj4gKy8qIEluIGEgZnV0dXJlIHJlbGVh
c2Ugb2YgQmlzb24sIHRoaXMgc2VjdGlvbiB3aWxsIGJlIHJlcGxhY2VkCj4gKyAgIGJ5ICNpbmNs
dWRlICJ5LnRhYi5oIi4gICovCj4gKyNpZm5kZWYgWVlfWVlfWV9UQUJfSF9JTkNMVURFRAo+ICsj
IGRlZmluZSBZWV9ZWV9ZX1RBQl9IX0lOQ0xVREVECj4gKy8qIERlYnVnIHRyYWNlcy4gICovCj4g
KyNpZm5kZWYgWVlERUJVRwo+ICsjIGRlZmluZSBZWURFQlVHIDAKPiArI2VuZGlmCj4gKyNpZiBZ
WURFQlVHCj4gKyNpZm5kZWYgeXlkZWJ1Zwo+ICtleHRlcm4gaW50IHl5ZGVidWc7Cj4gKyNlbmRp
Zgo+ICsjZW5kaWYKPiArCj4gKy8qIFRva2VuIHR5cGUuICAqLwo+ICsjaWZuZGVmIFlZVE9LRU5U
WVBFCj4gKyMgZGVmaW5lIFlZVE9LRU5UWVBFCj4gKyAgZW51bSB5eXRva2VudHlwZQo+ICsgIHsK
PiArICAgIEVORF9PRl9JTlBVVCA9IDAsCj4gKyAgICBrZXl3b3JkX2NsYXNzID0gMjU4LAo+ICsg
ICAga2V5d29yZF9tb2R1bGUgPSAyNTksCj4gKyAgICBrZXl3b3JkX2RlZiA9IDI2MCwKPiArICAg
IGtleXdvcmRfdW5kZWYgPSAyNjEsCj4gKyAgICBrZXl3b3JkX2JlZ2luID0gMjYyLAo+ICsgICAg
a2V5d29yZF9yZXNjdWUgPSAyNjMsCj4gKyAgICBrZXl3b3JkX2Vuc3VyZSA9IDI2NCwKPiArICAg
IGtleXdvcmRfZW5kID0gMjY1LAo+ICsgICAga2V5d29yZF9pZiA9IDI2NiwKPiArICAgIGtleXdv
cmRfdW5sZXNzID0gMjY3LAo+ICsgICAga2V5d29yZF90aGVuID0gMjY4LAo+ICsgICAga2V5d29y
ZF9lbHNpZiA9IDI2OSwKPiArICAgIGtleXdvcmRfZWxzZSA9IDI3MCwKPiArICAgIGtleXdvcmRf
Y2FzZSA9IDI3MSwKPiArICAgIGtleXdvcmRfd2hlbiA9IDI3MiwKPiArICAgIGtleXdvcmRfd2hp
bGUgPSAyNzMsCj4gKyAgICBrZXl3b3JkX3VudGlsID0gMjc0LAo+ICsgICAga2V5d29yZF9mb3Ig
PSAyNzUsCj4gKyAgICBrZXl3b3JkX2JyZWFrID0gMjc2LAo+ICsgICAga2V5d29yZF9uZXh0ID0g
Mjc3LAo+ICsgICAga2V5d29yZF9yZWRvID0gMjc4LAo+ICsgICAga2V5d29yZF9yZXRyeSA9IDI3
OSwKPiArICAgIGtleXdvcmRfaW4gPSAyODAsCj4gKyAgICBrZXl3b3JkX2RvID0gMjgxLAo+ICsg
ICAga2V5d29yZF9kb19jb25kID0gMjgyLAo+ICsgICAga2V5d29yZF9kb19ibG9jayA9IDI4MywK
PiArICAgIGtleXdvcmRfZG9fTEFNQkRBID0gMjg0LAo+ICsgICAga2V5d29yZF9yZXR1cm4gPSAy
ODUsCj4gKyAgICBrZXl3b3JkX3lpZWxkID0gMjg2LAo+ICsgICAga2V5d29yZF9zdXBlciA9IDI4
NywKPiArICAgIGtleXdvcmRfc2VsZiA9IDI4OCwKPiArICAgIGtleXdvcmRfbmlsID0gMjg5LAo+
ICsgICAga2V5d29yZF90cnVlID0gMjkwLAo+ICsgICAga2V5d29yZF9mYWxzZSA9IDI5MSwKPiAr
ICAgIGtleXdvcmRfYW5kID0gMjkyLAo+ICsgICAga2V5d29yZF9vciA9IDI5MywKPiArICAgIGtl
eXdvcmRfbm90ID0gMjk0LAo+ICsgICAgbW9kaWZpZXJfaWYgPSAyOTUsCj4gKyAgICBtb2RpZmll
cl91bmxlc3MgPSAyOTYsCj4gKyAgICBtb2RpZmllcl93aGlsZSA9IDI5NywKPiArICAgIG1vZGlm
aWVyX3VudGlsID0gMjk4LAo+ICsgICAgbW9kaWZpZXJfcmVzY3VlID0gMjk5LAo+ICsgICAga2V5
d29yZF9hbGlhcyA9IDMwMCwKPiArICAgIGtleXdvcmRfZGVmaW5lZCA9IDMwMSwKPiArICAgIGtl
eXdvcmRfQkVHSU4gPSAzMDIsCj4gKyAgICBrZXl3b3JkX0VORCA9IDMwMywKPiArICAgIGtleXdv
cmRfX0xJTkVfXyA9IDMwNCwKPiArICAgIGtleXdvcmRfX0ZJTEVfXyA9IDMwNSwKPiArICAgIGtl
eXdvcmRfX0VOQ09ESU5HX18gPSAzMDYsCj4gKyAgICB0SURFTlRJRklFUiA9IDMwNywKPiArICAg
IHRGSUQgPSAzMDgsCj4gKyAgICB0R1ZBUiA9IDMwOSwKPiArICAgIHRJVkFSID0gMzEwLAo+ICsg
ICAgdENPTlNUQU5UID0gMzExLAo+ICsgICAgdENWQVIgPSAzMTIsCj4gKyAgICB0TEFCRUwgPSAz
MTMsCj4gKyAgICB0SU5URUdFUiA9IDMxNCwKPiArICAgIHRGTE9BVCA9IDMxNSwKPiArICAgIHRS
QVRJT05BTCA9IDMxNiwKPiArICAgIHRJTUFHSU5BUlkgPSAzMTcsCj4gKyAgICB0U1RSSU5HX0NP
TlRFTlQgPSAzMTgsCj4gKyAgICB0Q0hBUiA9IDMxOSwKPiArICAgIHROVEhfUkVGID0gMzIwLAo+
ICsgICAgdEJBQ0tfUkVGID0gMzIxLAo+ICsgICAgdFJFR0VYUF9FTkQgPSAzMjIsCj4gKyAgICB0
U1AgPSAzMjMsCj4gKyAgICB0VVBMVVMgPSAxMzAsCj4gKyAgICB0VU1JTlVTID0gMTMxLAo+ICsg
ICAgdFBPVyA9IDEzMiwKPiArICAgIHRDTVAgPSAxMzMsCj4gKyAgICB0RVEgPSAxMzgsCj4gKyAg
ICB0RVFRID0gMTM5LAo+ICsgICAgdE5FUSA9IDE0MCwKPiArICAgIHRHRVEgPSAxMzcsCj4gKyAg
ICB0TEVRID0gMTM2LAo+ICsgICAgdEFORE9QID0gMTQ2LAo+ICsgICAgdE9ST1AgPSAxNDcsCj4g
KyAgICB0TUFUQ0ggPSAxNDEsCj4gKyAgICB0Tk1BVENIID0gMTQyLAo+ICsgICAgdERPVDIgPSAx
MjgsCj4gKyAgICB0RE9UMyA9IDEyOSwKPiArICAgIHRBUkVGID0gMTQzLAo+ICsgICAgdEFTRVQg
PSAxNDQsCj4gKyAgICB0TFNIRlQgPSAxMzQsCj4gKyAgICB0UlNIRlQgPSAxMzUsCj4gKyAgICB0
QU5ERE9UID0gMTQ4LAo+ICsgICAgdENPTE9OMiA9IDE0NSwKPiArICAgIHRDT0xPTjMgPSAzMjQs
Cj4gKyAgICB0T1BfQVNHTiA9IDMyNSwKPiArICAgIHRBU1NPQyA9IDMyNiwKPiArICAgIHRMUEFS
RU4gPSAzMjcsCj4gKyAgICB0TFBBUkVOX0FSRyA9IDMyOCwKPiArICAgIHRSUEFSRU4gPSAzMjks
Cj4gKyAgICB0TEJSQUNLID0gMzMwLAo+ICsgICAgdExCUkFDRSA9IDMzMSwKPiArICAgIHRMQlJB
Q0VfQVJHID0gMzMyLAo+ICsgICAgdFNUQVIgPSAzMzMsCj4gKyAgICB0RFNUQVIgPSAzMzQsCj4g
KyAgICB0QU1QRVIgPSAzMzUsCj4gKyAgICB0TEFNQkRBID0gMzM2LAo+ICsgICAgdFNZTUJFRyA9
IDMzNywKPiArICAgIHRTVFJJTkdfQkVHID0gMzM4LAo+ICsgICAgdFhTVFJJTkdfQkVHID0gMzM5
LAo+ICsgICAgdFJFR0VYUF9CRUcgPSAzNDAsCj4gKyAgICB0V09SRFNfQkVHID0gMzQxLAo+ICsg
ICAgdFFXT1JEU19CRUcgPSAzNDIsCj4gKyAgICB0U1lNQk9MU19CRUcgPSAzNDMsCj4gKyAgICB0
UVNZTUJPTFNfQkVHID0gMzQ0LAo+ICsgICAgdFNUUklOR19EQkVHID0gMzQ1LAo+ICsgICAgdFNU
UklOR19ERU5EID0gMzQ2LAo+ICsgICAgdFNUUklOR19EVkFSID0gMzQ3LAo+ICsgICAgdFNUUklO
R19FTkQgPSAzNDgsCj4gKyAgICB0TEFNQkVHID0gMzQ5LAo+ICsgICAgdExBQkVMX0VORCA9IDM1
MCwKPiArICAgIHRMT1dFU1QgPSAzNTEsCj4gKyAgICB0VU1JTlVTX05VTSA9IDM1MiwKPiArICAg
IHRMQVNUX1RPS0VOID0gMzUzCj4gKyAgfTsKPiArI2VuZGlmCj4gKwo+ICsvKiBWYWx1ZSB0eXBl
LiAgKi8KPiArI2lmICEgZGVmaW5lZCBZWVNUWVBFICYmICEgZGVmaW5lZCBZWVNUWVBFX0lTX0RF
Q0xBUkVECj4gKwo+ICt1bmlvbiBZWVNUWVBFCj4gK3sKPiArI2xpbmUgNzY5ICJwYXJzZS55IiAv
KiB5YWNjLmM6MzUyICAqLwo+ICsKPiArICAgIFZBTFVFIHZhbDsKPiArICAgIE5PREUgKm5vZGU7
Cj4gKyAgICBJRCBpZDsKPiArICAgIGludCBudW07Cj4gKyAgICBjb25zdCBzdHJ1Y3QgdnRhYmxl
ICp2YXJzOwo+ICsgICAgc3RydWN0IHJiX3N0cnRlcm1fc3RydWN0ICpzdHJ0ZXJtOwo+ICsKPiAr
I2xpbmUgOTkyICJwYXJzZS5jIiAvKiB5YWNjLmM6MzUyICAqLwo+ICt9Owo+ICsKPiArdHlwZWRl
ZiB1bmlvbiBZWVNUWVBFIFlZU1RZUEU7Cj4gKyMgZGVmaW5lIFlZU1RZUEVfSVNfVFJJVklBTCAx
Cj4gKyMgZGVmaW5lIFlZU1RZUEVfSVNfREVDTEFSRUQgMQo+ICsjZW5kaWYKPiArCj4gKy8qIExv
Y2F0aW9uIHR5cGUuICAqLwo+ICsjaWYgISBkZWZpbmVkIFlZTFRZUEUgJiYgISBkZWZpbmVkIFlZ
TFRZUEVfSVNfREVDTEFSRUQKPiArdHlwZWRlZiBzdHJ1Y3QgWVlMVFlQRSBZWUxUWVBFOwo+ICtz
dHJ1Y3QgWVlMVFlQRQo+ICt7Cj4gKyAgaW50IGZpcnN0X2xpbmU7Cj4gKyAgaW50IGZpcnN0X2Nv
bHVtbjsKPiArICBpbnQgbGFzdF9saW5lOwo+ICsgIGludCBsYXN0X2NvbHVtbjsKPiArfTsKPiAr
IyBkZWZpbmUgWVlMVFlQRV9JU19ERUNMQVJFRCAxCj4gKyMgZGVmaW5lIFlZTFRZUEVfSVNfVFJJ
VklBTCAxCj4gKyNlbmRpZgo+ICsKPiArCj4gKwo+ICtpbnQgeXlwYXJzZSAoc3RydWN0IHBhcnNl
cl9wYXJhbXMgKnApOwo+ICsKPiArI2VuZGlmIC8qICFZWV9ZWV9ZX1RBQl9IX0lOQ0xVREVEICAq
Lwo+ICsKPiArCj4gKwo+ICsjaWZkZWYgc2hvcnQKPiArIyB1bmRlZiBzaG9ydAo+ICsjZW5kaWYK
PiArCj4gKyNpZmRlZiBZWVRZUEVfVUlOVDgKPiArdHlwZWRlZiBZWVRZUEVfVUlOVDggeXl0eXBl
X3VpbnQ4Owo+ICsjZWxzZQo+ICt0eXBlZGVmIHVuc2lnbmVkIGNoYXIgeXl0eXBlX3VpbnQ4Owo+
ICsjZW5kaWYKPiArCj4gKyNpZmRlZiBZWVRZUEVfSU5UOAo+ICt0eXBlZGVmIFlZVFlQRV9JTlQ4
IHl5dHlwZV9pbnQ4Owo+ICsjZWxzZQo+ICt0eXBlZGVmIHNpZ25lZCBjaGFyIHl5dHlwZV9pbnQ4
Owo+ICsjZW5kaWYKPiArCj4gKyNpZmRlZiBZWVRZUEVfVUlOVDE2Cj4gK3R5cGVkZWYgWVlUWVBF
X1VJTlQxNiB5eXR5cGVfdWludDE2Owo+ICsjZWxzZQo+ICt0eXBlZGVmIHVuc2lnbmVkIHNob3J0
IHl5dHlwZV91aW50MTY7Cj4gKyNlbmRpZgo+ICsKPiArI2lmZGVmIFlZVFlQRV9JTlQxNgo+ICt0
eXBlZGVmIFlZVFlQRV9JTlQxNiB5eXR5cGVfaW50MTY7Cj4gKyNlbHNlCj4gK3R5cGVkZWYgc2hv
cnQgeXl0eXBlX2ludDE2Owo+ICsjZW5kaWYKPiArCj4gKyNpZm5kZWYgWVlTSVpFX1QKPiArIyBp
ZmRlZiBfX1NJWkVfVFlQRV9fCj4gKyMgIGRlZmluZSBZWVNJWkVfVCBfX1NJWkVfVFlQRV9fCj4g
KyMgZWxpZiBkZWZpbmVkIHNpemVfdAo+ICsjICBkZWZpbmUgWVlTSVpFX1Qgc2l6ZV90Cj4gKyMg
ZWxpZiAhIGRlZmluZWQgWVlTSVpFX1QKPiArIyAgaW5jbHVkZSA8c3RkZGVmLmg+IC8qIElORlJJ
TkdFUyBPTiBVU0VSIE5BTUUgU1BBQ0UgKi8KPiArIyAgZGVmaW5lIFlZU0laRV9UIHNpemVfdAo+
ICsjIGVsc2UKPiArIyAgZGVmaW5lIFlZU0laRV9UIHVuc2lnbmVkCj4gKyMgZW5kaWYKPiArI2Vu
ZGlmCj4gKwo+ICsjZGVmaW5lIFlZU0laRV9NQVhJTVVNICgoWVlTSVpFX1QpIC0xKQo+ICsKPiAr
I2lmbmRlZiBZWV8KPiArIyBpZiBkZWZpbmVkIFlZRU5BQkxFX05MUyAmJiBZWUVOQUJMRV9OTFMK
PiArIyAgaWYgRU5BQkxFX05MUwo+ICsjICAgaW5jbHVkZSA8bGliaW50bC5oPiAvKiBJTkZSSU5H
RVMgT04gVVNFUiBOQU1FIFNQQUNFICovCj4gKyMgICBkZWZpbmUgWVlfKE1zZ2lkKSBkZ2V0dGV4
dCAoImJpc29uLXJ1bnRpbWUiLCBNc2dpZCkKPiArIyAgZW5kaWYKPiArIyBlbmRpZgo+ICsjIGlm
bmRlZiBZWV8KPiArIyAgZGVmaW5lIFlZXyhNc2dpZCkgTXNnaWQKPiArIyBlbmRpZgo+ICsjZW5k
aWYKPiArCj4gKyNpZm5kZWYgWVlfQVRUUklCVVRFCj4gKyMgaWYgKGRlZmluZWQgX19HTlVDX18g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiArICAgICAg
JiYgKDIgPCBfX0dOVUNfXyB8fCAoX19HTlVDX18gPT0gMiAmJiA5NiA8PSBfX0dOVUNfTUlOT1Jf
XykpKSAgXAo+ICsgICAgIHx8IGRlZmluZWQgX19TVU5QUk9fQyAmJiAweDUxMTAgPD0gX19TVU5Q
Uk9fQwo+ICsjICBkZWZpbmUgWVlfQVRUUklCVVRFKFNwZWMpIF9fYXR0cmlidXRlX18oU3BlYykK
PiArIyBlbHNlCj4gKyMgIGRlZmluZSBZWV9BVFRSSUJVVEUoU3BlYykgLyogZW1wdHkgKi8KPiAr
IyBlbmRpZgo+ICsjZW5kaWYKPiArCj4gKyNpZm5kZWYgWVlfQVRUUklCVVRFX1BVUkUKPiArIyBk
ZWZpbmUgWVlfQVRUUklCVVRFX1BVUkUgICBZWV9BVFRSSUJVVEUgKChfX3B1cmVfXykpCj4gKyNl
bmRpZgo+ICsKPiArI2lmbmRlZiBZWV9BVFRSSUJVVEVfVU5VU0VECj4gKyMgZGVmaW5lIFlZX0FU
VFJJQlVURV9VTlVTRUQgWVlfQVRUUklCVVRFICgoX191bnVzZWRfXykpCj4gKyNlbmRpZgo+ICsK
PiArLyogU3VwcHJlc3MgdW51c2VkLXZhcmlhYmxlIHdhcm5pbmdzIGJ5ICJ1c2luZyIgRS4gICov
Cj4gKyNpZiAhIGRlZmluZWQgbGludCB8fCBkZWZpbmVkIF9fR05VQ19fCj4gKyMgZGVmaW5lIFlZ
VVNFKEUpICgodm9pZCkgKEUpKQo+ICsjZWxzZQo+ICsjIGRlZmluZSBZWVVTRShFKSAvKiBlbXB0
eSAqLwo+ICsjZW5kaWYKPiArCj4gKyNpZiBkZWZpbmVkIF9fR05VQ19fICYmICEgZGVmaW5lZCBf
X0lDQyAmJiA0MDcgPD0gX19HTlVDX18gKiAxMDAgKyBfX0dOVUNfTUlOT1JfXwo+ICsvKiBTdXBw
cmVzcyBhbiBpbmNvcnJlY3QgZGlhZ25vc3RpYyBhYm91dCB5eWx2YWwgYmVpbmcgdW5pbml0aWFs
aXplZC4gICovCj4gKyMgZGVmaW5lIFlZX0lHTk9SRV9NQVlCRV9VTklOSVRJQUxJWkVEX0JFR0lO
IFwKPiArICAgIF9QcmFnbWEgKCJHQ0MgZGlhZ25vc3RpYyBwdXNoIikgXAo+ICsgICAgX1ByYWdt
YSAoIkdDQyBkaWFnbm9zdGljIGlnbm9yZWQgXCItV3VuaW5pdGlhbGl6ZWRcIiIpXAo+ICsgICAg
X1ByYWdtYSAoIkdDQyBkaWFnbm9zdGljIGlnbm9yZWQgXCItV21heWJlLXVuaW5pdGlhbGl6ZWRc
IiIpCj4gKyMgZGVmaW5lIFlZX0lHTk9SRV9NQVlCRV9VTklOSVRJQUxJWkVEX0VORCBcCj4gKyAg
ICBfUHJhZ21hICgiR0NDIGRpYWdub3N0aWMgcG9wIikKPiArI2Vsc2UKPiArIyBkZWZpbmUgWVlf
SU5JVElBTF9WQUxVRShWYWx1ZSkgVmFsdWUKPiArI2VuZGlmCj4gKyNpZm5kZWYgWVlfSUdOT1JF
X01BWUJFX1VOSU5JVElBTElaRURfQkVHSU4KPiArIyBkZWZpbmUgWVlfSUdOT1JFX01BWUJFX1VO
SU5JVElBTElaRURfQkVHSU4KPiArIyBkZWZpbmUgWVlfSUdOT1JFX01BWUJFX1VOSU5JVElBTEla
RURfRU5ECj4gKyNlbmRpZgo+ICsjaWZuZGVmIFlZX0lOSVRJQUxfVkFMVUUKPiArIyBkZWZpbmUg
WVlfSU5JVElBTF9WQUxVRShWYWx1ZSkgLyogTm90aGluZy4gKi8KPiArI2VuZGlmCj4gKwo+ICsK
PiArI2lmICEgZGVmaW5lZCB5eW92ZXJmbG93IHx8IFlZRVJST1JfVkVSQk9TRQo+ICsKPiArLyog
VGhlIHBhcnNlciBpbnZva2VzIGFsbG9jYSBvciBtYWxsb2M7IGRlZmluZSB0aGUgbmVjZXNzYXJ5
IHN5bWJvbHMuICAqLwo+ICsKPiArIyBpZmRlZiBZWVNUQUNLX1VTRV9BTExPQ0EKPiArIyAgaWYg
WVlTVEFDS19VU0VfQUxMT0NBCj4gKyMgICBpZmRlZiBfX0dOVUNfXwo+ICsjICAgIGRlZmluZSBZ
WVNUQUNLX0FMTE9DIF9fYnVpbHRpbl9hbGxvY2EKPiArIyAgIGVsaWYgZGVmaW5lZCBfX0JVSUxU
SU5fVkFfQVJHX0lOQ1IKPiArIyAgICBpbmNsdWRlIDxhbGxvY2EuaD4gLyogSU5GUklOR0VTIE9O
IFVTRVIgTkFNRSBTUEFDRSAqLwo+ICsjICAgZWxpZiBkZWZpbmVkIF9BSVgKPiArIyAgICBkZWZp
bmUgWVlTVEFDS19BTExPQyBfX2FsbG9jYQo+ICsjICAgZWxpZiBkZWZpbmVkIF9NU0NfVkVSCj4g
KyMgICAgaW5jbHVkZSA8bWFsbG9jLmg+IC8qIElORlJJTkdFUyBPTiBVU0VSIE5BTUUgU1BBQ0Ug
Ki8KPiArIyAgICBkZWZpbmUgYWxsb2NhIF9hbGxvY2EKPiArIyAgIGVsc2UKPiArIyAgICBkZWZp
bmUgWVlTVEFDS19BTExPQyBhbGxvY2EKPiArIyAgICBpZiAhIGRlZmluZWQgX0FMTE9DQV9IICYm
ICEgZGVmaW5lZCBFWElUX1NVQ0NFU1MKPiArIyAgICAgaW5jbHVkZSA8c3RkbGliLmg+IC8qIElO
RlJJTkdFUyBPTiBVU0VSIE5BTUUgU1BBQ0UgKi8KPiArICAgICAgLyogVXNlIEVYSVRfU1VDQ0VT
UyBhcyBhIHdpdG5lc3MgZm9yIHN0ZGxpYi5oLiAgKi8KPiArIyAgICAgaWZuZGVmIEVYSVRfU1VD
Q0VTUwo+ICsjICAgICAgZGVmaW5lIEVYSVRfU1VDQ0VTUyAwCj4gKyMgICAgIGVuZGlmCj4gKyMg
ICAgZW5kaWYKPiArIyAgIGVuZGlmCj4gKyMgIGVuZGlmCj4gKyMgZW5kaWYKPiArCj4gKyMgaWZk
ZWYgWVlTVEFDS19BTExPQwo+ICsgICAvKiBQYWNpZnkgR0NDJ3MgJ2VtcHR5IGlmLWJvZHknIHdh
cm5pbmcuICAqLwo+ICsjICBkZWZpbmUgWVlTVEFDS19GUkVFKFB0cikgZG8geyAvKiBlbXB0eSAq
LzsgfSB3aGlsZSAoMCkKPiArIyAgaWZuZGVmIFlZU1RBQ0tfQUxMT0NfTUFYSU1VTQo+ICsgICAg
LyogVGhlIE9TIG1pZ2h0IGd1YXJhbnRlZSBvbmx5IG9uZSBndWFyZCBwYWdlIGF0IHRoZSBib3R0
b20gb2YgdGhlIHN0YWNrLAo+ICsgICAgICAgYW5kIGEgcGFnZSBzaXplIGNhbiBiZSBhcyBzbWFs
bCBhcyA0MDk2IGJ5dGVzLiAgU28gd2UgY2Fubm90IHNhZmVseQo+ICsgICAgICAgaW52b2tlIGFs
bG9jYSAoTikgaWYgTiBleGNlZWRzIDQwOTYuICBVc2UgYSBzbGlnaHRseSBzbWFsbGVyIG51bWJl
cgo+ICsgICAgICAgdG8gYWxsb3cgZm9yIGEgZmV3IGNvbXBpbGVyLWFsbG9jYXRlZCB0ZW1wb3Jh
cnkgc3RhY2sgc2xvdHMuICAqLwo+ICsjICAgZGVmaW5lIFlZU1RBQ0tfQUxMT0NfTUFYSU1VTSA0
MDMyIC8qIHJlYXNvbmFibGUgY2lyY2EgMjAwNiAqLwo+ICsjICBlbmRpZgo+ICsjIGVsc2UKPiAr
IyAgZGVmaW5lIFlZU1RBQ0tfQUxMT0MgWVlNQUxMT0MKPiArIyAgZGVmaW5lIFlZU1RBQ0tfRlJF
RSBZWUZSRUUKPiArIyAgaWZuZGVmIFlZU1RBQ0tfQUxMT0NfTUFYSU1VTQo+ICsjICAgZGVmaW5l
IFlZU1RBQ0tfQUxMT0NfTUFYSU1VTSBZWVNJWkVfTUFYSU1VTQo+ICsjICBlbmRpZgo+ICsjICBp
ZiAoZGVmaW5lZCBfX2NwbHVzcGx1cyAmJiAhIGRlZmluZWQgRVhJVF9TVUNDRVNTIFwKPiArICAg
ICAgICYmICEgKChkZWZpbmVkIFlZTUFMTE9DIHx8IGRlZmluZWQgbWFsbG9jKSBcCj4gKyAgICAg
ICAgICAgICAmJiAoZGVmaW5lZCBZWUZSRUUgfHwgZGVmaW5lZCBmcmVlKSkpCj4gKyMgICBpbmNs
dWRlIDxzdGRsaWIuaD4gLyogSU5GUklOR0VTIE9OIFVTRVIgTkFNRSBTUEFDRSAqLwo+ICsjICAg
aWZuZGVmIEVYSVRfU1VDQ0VTUwo+ICsjICAgIGRlZmluZSBFWElUX1NVQ0NFU1MgMAo+ICsjICAg
ZW5kaWYKPiArIyAgZW5kaWYKPiArIyAgaWZuZGVmIFlZTUFMTE9DCj4gKyMgICBkZWZpbmUgWVlN
QUxMT0MgbWFsbG9jCj4gKyMgICBpZiAhIGRlZmluZWQgbWFsbG9jICYmICEgZGVmaW5lZCBFWElU
X1NVQ0NFU1MKPiArdm9pZCAqbWFsbG9jIChZWVNJWkVfVCk7IC8qIElORlJJTkdFUyBPTiBVU0VS
IE5BTUUgU1BBQ0UgKi8KPiArIyAgIGVuZGlmCj4gKyMgIGVuZGlmCj4gKyMgIGlmbmRlZiBZWUZS
RUUKPiArIyAgIGRlZmluZSBZWUZSRUUgZnJlZQo+ICsjICAgaWYgISBkZWZpbmVkIGZyZWUgJiYg
ISBkZWZpbmVkIEVYSVRfU1VDQ0VTUwo+ICt2b2lkIGZyZWUgKHZvaWQgKik7IC8qIElORlJJTkdF
UyBPTiBVU0VSIE5BTUUgU1BBQ0UgKi8KPiArIyAgIGVuZGlmCj4gKyMgIGVuZGlmCj4gKyMgZW5k
aWYKPiArI2VuZGlmIC8qICEgZGVmaW5lZCB5eW92ZXJmbG93IHx8IFlZRVJST1JfVkVSQk9TRSAq
Lwo+ICsKPiArCj4gKyNpZiAoISBkZWZpbmVkIHl5b3ZlcmZsb3cgXAo+ICsgICAgICYmICghIGRl
ZmluZWQgX19jcGx1c3BsdXMgXAo+ICsgICAgICAgICB8fCAoZGVmaW5lZCBZWUxUWVBFX0lTX1RS
SVZJQUwgJiYgWVlMVFlQRV9JU19UUklWSUFMIFwKPiArICAgICAgICAgICAgICYmIGRlZmluZWQg
WVlTVFlQRV9JU19UUklWSUFMICYmIFlZU1RZUEVfSVNfVFJJVklBTCkpKQo+ICsKPiArLyogQSB0
eXBlIHRoYXQgaXMgcHJvcGVybHkgYWxpZ25lZCBmb3IgYW55IHN0YWNrIG1lbWJlci4gICovCj4g
K3VuaW9uIHl5YWxsb2MKPiArewo+ICsgIHl5dHlwZV9pbnQxNiB5eXNzX2FsbG9jOwo+ICsgIFlZ
U1RZUEUgeXl2c19hbGxvYzsKPiArICBZWUxUWVBFIHl5bHNfYWxsb2M7Cj4gK307Cj4gKwo+ICsv
KiBUaGUgc2l6ZSBvZiB0aGUgbWF4aW11bSBnYXAgYmV0d2VlbiBvbmUgYWxpZ25lZCBzdGFjayBh
bmQgdGhlIG5leHQuICAqLwo+ICsjIGRlZmluZSBZWVNUQUNLX0dBUF9NQVhJTVVNIChzaXplb2Yg
KHVuaW9uIHl5YWxsb2MpIC0gMSkKPiArCj4gKy8qIFRoZSBzaXplIG9mIGFuIGFycmF5IGxhcmdl
IHRvIGVub3VnaCB0byBob2xkIGFsbCBzdGFja3MsIGVhY2ggd2l0aAo+ICsgICBOIGVsZW1lbnRz
LiAgKi8KPiArIyBkZWZpbmUgWVlTVEFDS19CWVRFUyhOKSBcCj4gKyAgICAgKChOKSAqIChzaXpl
b2YgKHl5dHlwZV9pbnQxNikgKyBzaXplb2YgKFlZU1RZUEUpICsgc2l6ZW9mIChZWUxUWVBFKSkg
XAo+ICsgICAgICArIDIgKiBZWVNUQUNLX0dBUF9NQVhJTVVNKQo+ICsKPiArIyBkZWZpbmUgWVlD
T1BZX05FRURFRCAxCj4gKwo+ICsvKiBSZWxvY2F0ZSBTVEFDSyBmcm9tIGl0cyBvbGQgbG9jYXRp
b24gdG8gdGhlIG5ldyBvbmUuICBUaGUKPiArICAgbG9jYWwgdmFyaWFibGVzIFlZU0laRSBhbmQg
WVlTVEFDS1NJWkUgZ2l2ZSB0aGUgb2xkIGFuZCBuZXcgbnVtYmVyIG9mCj4gKyAgIGVsZW1lbnRz
IGluIHRoZSBzdGFjaywgYW5kIFlZUFRSIGdpdmVzIHRoZSBuZXcgbG9jYXRpb24gb2YgdGhlCj4g
KyAgIHN0YWNrLiAgQWR2YW5jZSBZWVBUUiB0byBhIHByb3Blcmx5IGFsaWduZWQgbG9jYXRpb24g
Zm9yIHRoZSBuZXh0Cj4gKyAgIHN0YWNrLiAgKi8KPiArIyBkZWZpbmUgWVlTVEFDS19SRUxPQ0FU
RShTdGFja19hbGxvYywgU3RhY2spICAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+ICsgICAg
ZG8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCj4gKyAgICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiArICAgICAgICBZWVNJWkVfVCB5eW5l
d2J5dGVzOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+ICsg
ICAgICAgIFlZQ09QWSAoJnl5cHRyLT5TdGFja19hbGxvYywgU3RhY2ssIHl5c2l6ZSk7ICAgICAg
ICAgICAgICAgICAgICBcCj4gKyAgICAgICAgU3RhY2sgPSAmeXlwdHItPlN0YWNrX2FsbG9jOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiArICAgICAgICB5eW5ld2J5dGVz
ID0geXlzdGFja3NpemUgKiBzaXplb2YgKCpTdGFjaykgKyBZWVNUQUNLX0dBUF9NQVhJTVVNOyBc
Cj4gKyAgICAgICAgeXlwdHIgKz0geXluZXdieXRlcyAvIHNpemVvZiAoKnl5cHRyKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKPiArICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+ICsgICAgd2hpbGUgKDAp
Cj4gKwo+ICsjZW5kaWYKPiArCj4gKyNpZiBkZWZpbmVkIFlZQ09QWV9ORUVERUQgJiYgWVlDT1BZ
X05FRURFRAo+ICsvKiBDb3B5IENPVU5UIG9iamVjdHMgZnJvbSBTUkMgdG8gRFNULiAgVGhlIHNv
dXJjZSBhbmQgZGVzdGluYXRpb24gZG8KPiArICAgbm90IG92ZXJsYXAuICAqLwo+ICsjIGlmbmRl
ZiBZWUNPUFkKPiArIyAgaWYgZGVmaW5lZCBfX0dOVUNfXyAmJiAxIDwgX19HTlVDX18KPiArIyAg
IGRlZmluZSBZWUNPUFkoRHN0LCBTcmMsIENvdW50KSBcCj4gKyAgICAgIF9fYnVpbHRpbl9tZW1j
cHkgKERzdCwgU3JjLCAoQ291bnQpICogc2l6ZW9mICgqKFNyYykpKQo+ICsjICBlbHNlCj4gKyMg
ICBkZWZpbmUgWVlDT1BZKERzdCwgU3JjLCBDb3VudCkgICAgICAgICAgICAgIFwKPiArICAgICAg
ZG8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+ICsgICAgICAgIHsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gKyAgICAgICAgICBZWVNJ
WkVfVCB5eWk7ICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiArICAgICAgICAgIGZvciAoeXlp
ID0gMDsgeXlpIDwgKENvdW50KTsgeXlpKyspICAgXAo+ICsgICAgICAgICAgICAoRHN0KVt5eWld
ID0gKFNyYylbeXlpXTsgICAgICAgICAgICBcCj4gKyAgICAgICAgfSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKPiArICAgICAgd2hpbGUgKDApCj4gKyMgIGVuZGlmCj4g
KyMgZW5kaWYKPiArI2VuZGlmIC8qICFZWUNPUFlfTkVFREVEICovCj4gKwo+ICsvKiBZWUZJTkFM
IC0tIFN0YXRlIG51bWJlciBvZiB0aGUgdGVybWluYXRpb24gc3RhdGUuICAqLwo+ICsjZGVmaW5l
IFlZRklOQUwgIDMKPiArLyogWVlMQVNUIC0tIExhc3QgaW5kZXggaW4gWVlUQUJMRS4gICovCj4g
KyNkZWZpbmUgWVlMQVNUICAgMTI1NzAKPiArCj4gKy8qIFlZTlRPS0VOUyAtLSBOdW1iZXIgb2Yg
dGVybWluYWxzLiAgKi8KPiArI2RlZmluZSBZWU5UT0tFTlMgIDE1Mgo+ICsvKiBZWU5OVFMgLS0g
TnVtYmVyIG9mIG5vbnRlcm1pbmFscy4gICovCj4gKyNkZWZpbmUgWVlOTlRTICAyMTUKPiArLyog
WVlOUlVMRVMgLS0gTnVtYmVyIG9mIHJ1bGVzLiAgKi8KPiArI2RlZmluZSBZWU5SVUxFUyAgNjQw
Cj4gKy8qIFlZTlNUQVRFUyAtLSBOdW1iZXIgb2Ygc3RhdGVzLiAgKi8KPiArI2RlZmluZSBZWU5T
VEFURVMgIDEwNzYKPiArCj4gKyNkZWZpbmUgWVlVTkRFRlRPSyAgMgo+ICsjZGVmaW5lIFlZTUFY
VVRPSyAgIDM1Mwo+ICsKPiArLyogWVlUUkFOU0xBVEUoVE9LRU4tTlVNKSAtLSBTeW1ib2wgbnVt
YmVyIGNvcnJlc3BvbmRpbmcgdG8gVE9LRU4tTlVNCj4gKyAgIGFzIHJldHVybmVkIGJ5IHl5bGV4
LCB3aXRoIG91dC1vZi1ib3VuZHMgY2hlY2tpbmcuICAqLwo+ICsjZGVmaW5lIFlZVFJBTlNMQVRF
KFlZWCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4g
KyAgKCh1bnNpZ25lZCkgKFlZWCkgPD0gWVlNQVhVVE9LID8geXl0cmFuc2xhdGVbWVlYXSA6IFlZ
VU5ERUZUT0spCj4gKwo+ICsvKiBZWVRSQU5TTEFURVtUT0tFTi1OVU1dIC0tIFN5bWJvbCBudW1i
ZXIgY29ycmVzcG9uZGluZyB0byBUT0tFTi1OVU0KPiArICAgYXMgcmV0dXJuZWQgYnkgeXlsZXgu
ICAqLwo+ICtzdGF0aWMgY29uc3QgeXl0eXBlX3VpbnQ4IHl5dHJhbnNsYXRlW10gPQo+ICt7Cj4g
KyAgICAgICAwLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAg
MiwgICAgIDIsICAgIDcxLAo+ICsgICAgIDE1MSwgICAgNzQsICAgIDcyLCAgICA3MywgICAgIDIs
ICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwKPiArICAgICAgIDIsICAgICAyLCAg
ICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsCj4g
KyAgICAgICAyLCAgICAgMiwgICAxNTAsICAgMTM4LCAgICAgMiwgICAgIDIsICAgICAyLCAgIDEz
NiwgICAxMzEsICAgICAyLAo+ICsgICAgIDE0NiwgICAxNDcsICAgMTM0LCAgIDEzMiwgICAxNDQs
ICAgMTMzLCAgICA2OCwgICAxMzUsICAgICAyLCAgICAgMiwKPiArICAgICAgIDIsICAgICAyLCAg
ICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgIDEyNiwgICAxNDksCj4g
KyAgICAgMTI4LCAgIDEyNCwgICAxMjcsICAgMTI1LCAgICAgMiwgICAgIDIsICAgICAyLCAgICAg
MiwgICAgIDIsICAgICAyLAo+ICsgICAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIs
ICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwKPiArICAgICAgIDIsICAgICAyLCAg
ICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsCj4g
KyAgICAgICAyLCAgIDE0MywgICAgNjksICAgMTQ4LCAgIDEzMCwgICAgIDIsICAgMTQ1LCAgICAg
MiwgICAgIDIsICAgICAyLAo+ICsgICAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIs
ICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwKPiArICAgICAgIDIsICAgICAyLCAg
ICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsCj4g
KyAgICAgICAyLCAgICAgMiwgICAgIDIsICAgMTQxLCAgIDEyOSwgICAxNDIsICAgMTM5LCAgICAg
MiwgICAgODgsICAgIDg5LAo+ICsgICAgICA3NSwgICAgNzYsICAgIDc3LCAgICA3OCwgICAgOTIs
ICAgIDkzLCAgICA4MywgICAgODIsICAgIDc5LCAgICA4MCwKPiArICAgICAgODEsICAgIDg2LCAg
ICA4NywgICAgOTAsICAgIDkxLCAgICA5NSwgICAgODQsICAgIDg1LCAgICA5NCwgICAgIDIsCj4g
KyAgICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAg
MiwgICAgIDIsICAgICAyLAo+ICsgICAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIs
ICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwKPiArICAgICAgIDIsICAgICAyLCAg
ICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsCj4g
KyAgICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAg
MiwgICAgIDIsICAgICAyLAo+ICsgICAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIs
ICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwKPiArICAgICAgIDIsICAgICAyLCAg
ICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsCj4g
KyAgICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAg
MiwgICAgIDIsICAgICAyLAo+ICsgICAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIs
ICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwKPiArICAgICAgIDIsICAgICAyLCAg
ICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsCj4g
KyAgICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAg
MiwgICAgIDIsICAgICAyLAo+ICsgICAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIs
ICAgICAyLCAgICAgMSwgICAgIDIsICAgICAzLCAgICAgNCwKPiArICAgICAgIDUsICAgICA2LCAg
ICAgNywgICAgIDgsICAgICA5LCAgICAxMCwgICAgMTEsICAgIDEyLCAgICAxMywgICAgMTQsCj4g
KyAgICAgIDE1LCAgICAxNiwgICAgMTcsICAgIDE4LCAgICAxOSwgICAgMjAsICAgIDIxLCAgICAy
MiwgICAgMjMsICAgIDI0LAo+ICsgICAgICAyNSwgICAgMjYsICAgIDI3LCAgICAyOCwgICAgMjks
ICAgIDMwLCAgICAzMSwgICAgMzIsICAgIDMzLCAgICAzNCwKPiArICAgICAgMzUsICAgIDM2LCAg
ICAzNywgICAgMzgsICAgIDM5LCAgICA0MCwgICAgNDEsICAgIDQyLCAgICA0MywgICAgNDQsCj4g
KyAgICAgIDQ1LCAgICA0NiwgICAgNDcsICAgIDQ4LCAgICA0OSwgICAgNTAsICAgIDUxLCAgICA1
MiwgICAgNTMsICAgIDU0LAo+ICsgICAgICA1NSwgICAgNTYsICAgIDU3LCAgICA1OCwgICAgNTks
ICAgIDYwLCAgICA2MSwgICAgNjIsICAgIDYzLCAgICA2NCwKPiArICAgICAgNjUsICAgIDY2LCAg
ICA2NywgICAgNzAsICAgIDk2LCAgICA5NywgICAgOTgsICAgIDk5LCAgIDEwMCwgICAxMDEsCj4g
KyAgICAgMTAyLCAgIDEwMywgICAxMDQsICAgMTA1LCAgIDEwNiwgICAxMDcsICAgMTA4LCAgIDEw
OSwgICAxMTAsICAgMTExLAo+ICsgICAgIDExMiwgICAxMTMsICAgMTE0LCAgIDExNSwgICAxMTYs
ICAgMTE3LCAgIDExOCwgICAxMTksICAgMTIwLCAgIDEyMSwKPiArICAgICAxMjIsICAgMTIzLCAg
IDEzNywgICAxNDAKPiArfTsKPiArCj4gKyNpZiBZWURFQlVHCj4gKyAgLyogWVlSTElORVtZWU5d
IC0tIFNvdXJjZSBsaW5lIHdoZXJlIHJ1bGUgbnVtYmVyIFlZTiB3YXMgZGVmaW5lZC4gICovCj4g
K3N0YXRpYyBjb25zdCB5eXR5cGVfdWludDE2IHl5cmxpbmVbXSA9Cj4gK3sKPiArICAgICAgIDAs
ICAgOTM2LCAgIDkzNiwgICA5MzYsICAgOTYyLCAgIDk2OCwgICA5NzUsICAgOTgyLCAgIDk4OSwg
ICA5OTUsCj4gKyAgICAgOTk2LCAgMTAwMiwgIDEwMTUsICAxMDEzLCAgMTAyNCwgIDEwMzUsICAx
MDQxLCAgMTA0OCwgIDEwNTUsICAxMDYyLAo+ICsgICAgMTA2OCwgIDEwNzMsICAxMDcyLCAgMTA4
MSwgIDEwODEsICAxMDg4LCAgMTA5NSwgIDExMDUsICAxMTEzLCAgMTEyMCwKPiArICAgIDExMjgs
ICAxMTM2LCAgMTE0OCwgIDExNjAsICAxMTcwLCAgMTE4NCwgIDExODUsICAxMTkzLCAgMTIwMSwg
IDEyMDgsCj4gKyAgICAxMjExLCAgMTIxOSwgIDEyMjcsICAxMjM2LCAgMTI0NCwgIDEyNTIsICAx
MjYwLCAgMTI2OCwgIDEyNzgsICAxMjgzLAo+ICsgICAgMTI5MiwgIDEyOTUsICAxMjk2LCAgMTMw
MCwgIDEzMDQsICAxMzA4LCAgMTMxMiwgIDEzMTUsICAxMzIyLCAgMTMyMiwKPiArICAgIDEzMjIs
ICAxMzI4LCAgMTMyOSwgIDEzMzIsICAxMzMzLCAgMTM0MiwgIDEzNTIsICAxMzYyLCAgMTM3MSwg
IDEzODIsCj4gKyAgICAxMzg5LCAgMTM5NiwgIDE0MDMsICAxNDEwLCAgMTQxOCwgIDE0MjYsICAx
NDMzLCAgMTQ0MCwgIDE0NDksICAxNDUwLAo+ICsgICAgMTQ1OSwgIDE0NjAsICAxNDY5LCAgMTQ3
NiwgIDE0ODMsICAxNDkwLCAgMTQ5NywgIDE1MDQsICAxNTExLCAgMTUxOCwKPiArICAgIDE1MjUs
ICAxNTMyLCAgMTU0MSwgIDE1NDIsICAxNTUxLCAgMTU1OCwgIDE1NjcsICAxNTc0LCAgMTU4Mywg
IDE1OTAsCj4gKyAgICAxNTk3LCAgMTYwNCwgIDE2MTEsICAxNjE4LCAgMTYyNSwgIDE2MzIsICAx
NjM5LCAgMTY0OSwgIDE2NTYsICAxNjYzLAo+ICsgICAgMTY3MCwgIDE2NzcsICAxNjg0LCAgMTY5
MSwgIDE2OTgsICAxNzA1LCAgMTcxNSwgIDE3MjIsICAxNzI1LCAgMTczMiwKPiArICAgIDE3Mzks
ICAxNzQ4LCAgMTc0OSwgIDE3NTAsICAxNzUxLCAgMTc1NiwgIDE3NjMsICAxNzY0LCAgMTc2Nywg
IDE3NzQsCj4gKyAgICAxNzc3LCAgMTc4NCwgIDE3ODQsICAxNzk0LCAgMTc5NSwgIDE3OTYsICAx
Nzk3LCAgMTc5OCwgIDE3OTksICAxODAwLAo+ICsgICAgMTgwMSwgIDE4MDIsICAxODAzLCAgMTgw
NCwgIDE4MDUsICAxODA2LCAgMTgwNywgIDE4MDgsICAxODA5LCAgMTgxMCwKPiArICAgIDE4MTEs
ICAxODEyLCAgMTgxMywgIDE4MTQsICAxODE1LCAgMTgxNiwgIDE4MTcsICAxODE4LCAgMTgxOSwg
IDE4MjAsCj4gKyAgICAxODIxLCAgMTgyMiwgIDE4MjMsICAxODI2LCAgMTgyNiwgIDE4MjYsICAx
ODI3LCAgMTgyNywgIDE4MjgsICAxODI4LAo+ICsgICAgMTgyOCwgIDE4MjksICAxODI5LCAgMTgy
OSwgIDE4MjksICAxODMwLCAgMTgzMCwgIDE4MzAsICAxODMwLCAgMTgzMSwKPiArICAgIDE4MzEs
ICAxODMxLCAgMTgzMiwgIDE4MzIsICAxODMyLCAgMTgzMiwgIDE4MzMsICAxODMzLCAgMTgzMywg
IDE4MzMsCj4gKyAgICAxODM0LCAgMTgzNCwgIDE4MzQsICAxODM0LCAgMTgzNSwgIDE4MzUsICAx
ODM1LCAgMTgzNSwgIDE4MzYsICAxODM2LAo+ICsgICAgMTgzNiwgIDE4MzYsICAxODM3LCAgMTgz
NywgIDE4NDAsICAxODQ3LCAgMTg1NCwgIDE4NjIsICAxODcwLCAgMTg3OCwKPiArICAgIDE4ODYs
ICAxODk0LCAgMTkwMSwgIDE5MDksICAxOTE4LCAgMTkyNywgIDE5MzksICAxOTUxLCAgMTk1NSwg
IDE5NTksCj4gKyAgICAxOTYzLCAgMTk2NywgIDE5NzEsICAxOTc1LCAgMTk3OSwgIDE5ODMsICAx
OTg3LCAgMTk5MSwgIDE5OTUsICAxOTk5LAo+ICsgICAgMjAwMywgIDIwMDQsICAyMDA4LCAgMjAx
MiwgIDIwMTYsICAyMDIwLCAgMjAyNCwgIDIwMjgsICAyMDMyLCAgMjAzNiwKPiArICAgIDIwNDAs
ICAyMDQ0LCAgMjA0OCwgIDIwNDgsICAyMDUzLCAgMjA2MiwgIDIwNjgsICAyMDY5LCAgMjA3MCwg
IDIwNzEsCj4gKyAgICAyMDc0LCAgMjA3OCwgIDIwODUsICAyMDkyLCAgMjA5MywgIDIwOTcsICAy
MTA0LCAgMjExMywgIDIxMTgsICAyMTI5LAo+ICsgICAgMjEzOCwgIDIxMzksICAyMTQyLCAgMjE0
MywgIDIxNDQsICAyMTQ4LCAgMjE1NSwgIDIxNjQsICAyMTcyLCAgMjE3OSwKPiArICAgIDIxODcs
ICAyMTk1LCAgMjE5OSwgIDIxOTksICAyMjM2LCAgMjI0NSwgIDIyNDksICAyMjU1LCAgMjI2Miwg
IDIyNjksCj4gKyAgICAyMjc2LCAgMjI4NSwgIDIyODYsICAyMjg5LCAgMjI5NiwgIDIzMDMsICAy
MzEyLCAgMjMxMywgIDIzMTQsICAyMzE1LAo+ICsgICAgMjMxNiwgIDIzMTcsICAyMzE4LCAgMjMx
OSwgIDIzMjAsICAyMzIxLCAgMjMyMiwgIDIzMzAsICAyMzI5LCAgMjM0NCwKPiArICAgIDIzNDQs
ICAyMzUxLCAgMjM1MSwgIDIzNTgsICAyMzY1LCAgMjM3MiwgIDIzNzksICAyMzg2LCAgMjM5NCwg
IDI0MDEsCj4gKyAgICAyNDA4LCAgMjQxNSwgIDI0MjIsICAyNDIyLCAgMjQyNywgIDI0MzEsICAy
NDM1LCAgMjQ0MiwgIDI0NDMsICAyNDUyLAo+ICsgICAgMjQ1MSwgIDI0NjIsICAyNDczLCAgMjQ4
NCwgIDI0OTQsICAyNTA0LCAgMjUxNCwgIDI1MjEsICAyNTY3LCAgMjU2NiwKPiArICAgIDI1OTAs
ICAyNTg5LCAgMjYxMiwgIDI2MTEsICAyNjM1LCAgMjY0MCwgIDI2MzQsICAyNjYwLCAgMjY2MSwg
IDI2NjAsCj4gKyAgICAyNjg1LCAgMjY5MiwgIDI2OTksICAyNzA2LCAgMjcxNSwgIDI3MjIsICAy
NzI4LCAgMjczNCwgIDI3NDAsICAyNzQ2LAo+ICsgICAgMjc1MiwgIDI3NTgsICAyNzY0LCAgMjc3
MCwgIDI3NzYsICAyNzgyLCAgMjc4OCwgIDI3OTQsICAyODAwLCAgMjgwNiwKPiArICAgIDI4MTIs
ICAyODIwLCAgMjgyNiwgIDI4MzIsICAyODM5LCAgMjg0MCwgIDI4NDEsICAyODQ0LCAgMjg0NSwg
IDI4NDgsCj4gKyAgICAyODQ5LCAgMjg2MSwgIDI4NjIsICAyODcxLCAgMjg3MiwgIDI4NzUsICAy
ODgyLCAgMjg5MSwgIDI4OTgsICAyOTA3LAo+ICsgICAgMjkxNCwgIDI5MjEsICAyOTI4LCAgMjkz
NSwgIDI5NDIsICAyOTQ5LCAgMjk1NiwgIDI5NjMsICAyOTczLCAgMjk3NywKPiArICAgIDI5ODEs
ICAyOTg1LCAgMjk5MSwgIDI5OTYsICAzMDAxLCAgMzAwNSwgIDMwMDksICAzMDEzLCAgMzAxNywg
IDMwMjEsCj4gKyAgICAzMDMwLCAgMzAzNCwgIDMwMzgsICAzMDQyLCAgMzA0NiwgIDMwNTAsICAz
MDU0LCAgMzA1OCwgIDMwNjIsICAzMDY4LAo+ICsgICAgMzA2OSwgIDMwNzUsICAzMDgzLCAgMzA5
MCwgIDMxMDEsICAzMTA1LCAgMzExNCwgIDMxMTYsICAzMTIwLCAgMzEyNSwKPiArICAgIDMxMzEs
ICAzMTM0LCAgMzEzOSwgIDMxMzEsICAzMTU5LCAgMzE2NiwgIDMxNzIsICAzMTc3LCAgMzE4Mywg
IDMxOTMsCj4gKyAgICAzMjA3LCAgMzIxNCwgIDMyMjEsICAzMjMwLCAgMzIzOSwgIDMyNDcsICAz
MjU1LCAgMzI2MiwgIDMyNzAsICAzMjc4LAo+ICsgICAgMzI4NSwgIDMyOTIsICAzMzA1LCAgMzMx
MywgIDMzMjMsICAzMzIzLCAgMzMzNCwgIDMzMzUsICAzMzM0LCAgMzM0NywKPiArICAgIDMzNTks
ICAzMzYwLCAgMzM2MywgIDMzNzUsICAzMzc4LCAgMzM4NSwgIDMzOTIsICAzMzk1LCAgMzM5OSwg
IDM0MDIsCj4gKyAgICAzNDA5LCAgMzQxMiwgIDM0MTMsICAzNDIwLCAgMzQyMywgIDM0MzksICAz
NDQwLCAgMzQ0MSwgIDM0NTAsICAzNDYwLAo+ICsgICAgMzQ2OSwgIDM0NzUsICAzNDg1LCAgMzQ5
MSwgIDM1MDAsICAzNTAyLCAgMzUxMSwgIDM1MjEsICAzNTI3LCAgMzUzNiwKPiArICAgIDM1NDUs
ICAzNTU1LCAgMzU2MSwgIDM1NzEsICAzNTc3LCAgMzU4NywgIDM1OTMsICAzNjAzLCAgMzYwOSwg
IDM2MTksCj4gKyAgICAzNjI5LCAgMzY3MCwgIDM2NzIsICAzNjcxLCAgMzY4OCwgIDM2OTIsICAz
Njk3LCAgMzcwMSwgIDM3MDUsICAzNjg3LAo+ICsgICAgMzcyNiwgIDM3MzMsICAzNzQwLCAgMzc0
NywgIDM3NTAsICAzNzYwLCAgMzc2MSwgIDM3NjIsICAzNzYzLCAgMzc2NiwKPiArICAgIDM3NzYs
ICAzNzc3LCAgMzc4NywgIDM3ODgsICAzNzg5LCAgMzc5MCwgIDM3OTMsICAzNzk0LCAgMzc5NSwg
IDM3OTYsCj4gKyAgICAzNzk3LCAgMzgwMCwgIDM4MDEsICAzODAyLCAgMzgwMywgIDM4MDQsICAz
ODA1LCAgMzgwNiwgIDM4MDksICAzODIyLAo+ICsgICAgMzgzMSwgIDM4MzgsICAzODQ3LCAgMzg0
OCwgIDM4NTIsICAzODUxLCAgMzg2MSwgIDM4NjksICAzODc4LCAgMzg3OCwKPiArICAgIDM4OTIs
ICAzODk2LCAgMzkwMCwgIDM5MDQsICAzOTEwLCAgMzkxNSwgIDM5MjAsICAzOTI0LCAgMzkyOCwg
IDM5MzIsCj4gKyAgICAzOTM2LCAgMzk0MCwgIDM5NDQsICAzOTQ4LCAgMzk1MiwgIDM5NTYsICAz
OTYwLCAgMzk2NCwgIDM5NjgsICAzOTcyLAo+ICsgICAgMzk3NywgIDM5ODMsICAzOTkxLCAgMzk5
OSwgIDQwMDcsICA0MDE3LCAgNDAxOCwgIDQwMjUsICA0MDM0LCAgNDA0MiwKPiArICAgIDQwNjUs
ICA0MDY3LCAgNDA4MCwgIDQwODksICA0MDk3LCAgNDEwNywgIDQxMTQsICA0MTIzLCAgNDEzMCwg
IDQxNDAsCj4gKyAgICA0MTQ3LCAgNDE1NiwgIDQxNTcsICA0MTYwLCAgNDE2OCwgIDQxNzgsICA0
MTg4LCAgNDE5OCwgIDQyMDUsICA0MjE0LAo+ICsgICAgNDIyMSwgIDQyMzAsICA0MjMxLCAgNDIz
NCwgIDQyNDIsICA0MjUyLCAgNDI1MywgIDQyNTYsICA0MjY2LCAgNDI3MCwKPiArICAgIDQyNzks
ICA0Mjg0LCAgNDI4NCwgIDQzMDgsICA0MzA5LCAgNDMxOCwgIDQzMjAsICA0MzQzLCAgNDM1NCwg
IDQzNjEsCj4gKyAgICA0MzY5LCAgNDM4MiwgIDQzODMsICA0Mzg0LCAgNDM4NywgIDQzODgsICA0
Mzg5LCAgNDM5MCwgIDQzOTMsICA0Mzk0LAo+ICsgICAgNDM5NSwgIDQzOTgsICA0Mzk5LCAgNDQw
MiwgIDQ0MDMsICA0NDA2LCAgNDQwNywgIDQ0MTAsICA0NDExLCAgNDQxNCwKPiArICAgIDQ0MTUs
ICA0NDE4LCAgNDQyMSwgIDQ0MjQsICA0NDI1LCAgNDQyNiwgIDQ0MjksICA0NDMwLCAgNDQzMywg
IDQ0MzQsCj4gKyAgICA0NDM4Cj4gK307Cj4gKyNlbmRpZgo+ICsKPiArI2lmIFlZREVCVUcgfHwg
WVlFUlJPUl9WRVJCT1NFIHx8IDAKPiArLyogWVlUTkFNRVtTWU1CT0wtTlVNXSAtLSBTdHJpbmcg
bmFtZSBvZiB0aGUgc3ltYm9sIFNZTUJPTC1OVU0uCj4gKyAgIEZpcnN0LCB0aGUgdGVybWluYWxz
LCB0aGVuLCBzdGFydGluZyBhdCBZWU5UT0tFTlMsIG5vbnRlcm1pbmFscy4gICovCj4gK3N0YXRp
YyBjb25zdCBjaGFyICpjb25zdCB5eXRuYW1lW10gPQo+ICt7Cj4gKyAgIlwiZW5kLW9mLWlucHV0
XCIiLCAiZXJyb3IiLCAiJHVuZGVmaW5lZCIsICJcImNsYXNzXCIiLCAiXCJtb2R1bGVcIiIsCj4g
KyAgIlwiZGVmXCIiLCAiXCJ1bmRlZlwiIiwgIlwiYmVnaW5cIiIsICJcInJlc2N1ZVwiIiwgIlwi
ZW5zdXJlXCIiLAo+ICsgICJcImVuZFwiIiwgIlwiaWZcIiIsICJcInVubGVzc1wiIiwgIlwidGhl
blwiIiwgIlwiZWxzaWZcIiIsICJcImVsc2VcIiIsCj4gKyAgIlwiY2FzZVwiIiwgIlwid2hlblwi
IiwgIlwid2hpbGVcIiIsICJcInVudGlsXCIiLCAiXCJmb3JcIiIsICJcImJyZWFrXCIiLAo+ICsg
ICJcIm5leHRcIiIsICJcInJlZG9cIiIsICJcInJldHJ5XCIiLCAiXCJpblwiIiwgIlwiZG9cIiIs
Cj4gKyAgIlwiZG8gKGZvciBjb25kaXRpb24pXCIiLCAiXCJkbyAoZm9yIGJsb2NrKVwiIiwgIlwi
ZG8gKGZvciBsYW1iZGEpXCIiLAo+ICsgICJcInJldHVyblwiIiwgIlwieWllbGRcIiIsICJcInN1
cGVyXCIiLCAiXCJzZWxmXCIiLCAiXCJuaWxcIiIsCj4gKyAgIlwidHJ1ZVwiIiwgIlwiZmFsc2Vc
IiIsICJcImFuZFwiIiwgIlwib3JcIiIsICJcIm5vdFwiIiwKPiArICAiXCJpZiAobW9kaWZpZXIp
XCIiLCAiXCJ1bmxlc3MgKG1vZGlmaWVyKVwiIiwgIlwid2hpbGUgKG1vZGlmaWVyKVwiIiwKPiAr
ICAiXCJ1bnRpbCAobW9kaWZpZXIpXCIiLCAiXCJyZXNjdWUgKG1vZGlmaWVyKVwiIiwgIlwiYWxp
YXNcIiIsCj4gKyAgIlwiZGVmaW5lZD9cIiIsICJcIkJFR0lOXCIiLCAiXCJFTkRcIiIsICJcIl9f
TElORV9fXCIiLCAiXCJfX0ZJTEVfX1wiIiwKPiArICAiXCJfX0VOQ09ESU5HX19cIiIsICJ0SURF
TlRJRklFUiIsICJ0RklEIiwgInRHVkFSIiwgInRJVkFSIiwgInRDT05TVEFOVCIsCj4gKyAgInRD
VkFSIiwgInRMQUJFTCIsICJ0SU5URUdFUiIsICJ0RkxPQVQiLCAidFJBVElPTkFMIiwgInRJTUFH
SU5BUlkiLAo+ICsgICJ0U1RSSU5HX0NPTlRFTlQiLCAidENIQVIiLCAidE5USF9SRUYiLCAidEJB
Q0tfUkVGIiwgInRSRUdFWFBfRU5EIiwKPiArICAiJy4nIiwgIlwiYmFja3NsYXNoXCIiLCAiXCJl
c2NhcGVkIHNwYWNlXCIiLAo+ICsgICJcImVzY2FwZWQgaG9yaXpvbnRhbCB0YWJcIiIsICJcImVz
Y2FwZWQgZm9ybSBmZWVkXCIiLAo+ICsgICJcImVzY2FwZWQgY2FycmlhZ2UgcmV0dXJuXCIiLCAi
XCJlc2NhcGVkIHZlcnRpY2FsIHRhYlwiIiwgIlwidW5hcnkrXCIiLAo+ICsgICJcInVuYXJ5LVwi
IiwgIlwiKipcIiIsICJcIjw9PlwiIiwgIlwiPT1cIiIsICJcIj09PVwiIiwgIlwiIT1cIiIsCj4g
KyAgIlwiPj1cIiIsICJcIjw9XCIiLCAiXCImJlwiIiwgIlwifHxcIiIsICJcIj1+XCIiLCAiXCIh
flwiIiwgIlwiLi5cIiIsCj4gKyAgIlwiLi4uXCIiLCAiXCJbXVwiIiwgIlwiW109XCIiLCAiXCI8
PFwiIiwgIlwiPj5cIiIsICJcIiYuXCIiLCAiXCI6OlwiIiwKPiArICAiXCI6OiBhdCBFWFBSX0JF
R1wiIiwgInRPUF9BU0dOIiwgIlwiPT5cIiIsICJcIihcIiIsICJcIiggYXJnXCIiLAo+ICsgICJc
IilcIiIsICJcIltcIiIsICJcIntcIiIsICJcInsgYXJnXCIiLCAiXCIqXCIiLCAiXCIqKmFyZ1wi
IiwgIlwiJlwiIiwKPiArICAiXCItPlwiIiwgInRTWU1CRUciLCAidFNUUklOR19CRUciLCAidFhT
VFJJTkdfQkVHIiwgInRSRUdFWFBfQkVHIiwKPiArICAidFdPUkRTX0JFRyIsICJ0UVdPUkRTX0JF
RyIsICJ0U1lNQk9MU19CRUciLCAidFFTWU1CT0xTX0JFRyIsCj4gKyAgInRTVFJJTkdfREJFRyIs
ICJ0U1RSSU5HX0RFTkQiLCAidFNUUklOR19EVkFSIiwgInRTVFJJTkdfRU5EIiwgInRMQU1CRUci
LAo+ICsgICJ0TEFCRUxfRU5EIiwgInRMT1dFU1QiLCAiJz0nIiwgIic/JyIsICInOiciLCAiJz4n
IiwgIic8JyIsICInfCciLCAiJ14nIiwKPiArICAiJyYnIiwgIicrJyIsICInLSciLCAiJyonIiwg
IicvJyIsICInJSciLCAidFVNSU5VU19OVU0iLCAiJyEnIiwgIid+JyIsCj4gKyAgInRMQVNUX1RP
S0VOIiwgIid7JyIsICInfSciLCAiJ1snIiwgIicsJyIsICInYCciLCAiJygnIiwgIicpJyIsICIn
XSciLAo+ICsgICInOyciLCAiJyAnIiwgIidcXG4nIiwgIiRhY2NlcHQiLCAicHJvZ3JhbSIsICIk
QDEiLCAidG9wX2NvbXBzdG10IiwKPiArICAidG9wX3N0bXRzIiwgInRvcF9zdG10IiwgImJlZ2lu
X2Jsb2NrIiwgImJvZHlzdG10IiwgIiRAMiIsICJjb21wc3RtdCIsCj4gKyAgInN0bXRzIiwgInN0
bXRfb3JfYmVnaW4iLCAiJEAzIiwgInN0bXQiLCAiJEA0IiwgImNvbW1hbmRfYXNnbiIsCj4gKyAg
ImNvbW1hbmRfcmhzIiwgImV4cHIiLCAiZXhwcl92YWx1ZSIsICJleHByX3ZhbHVlX2RvIiwgIiRA
NSIsICIkQDYiLAo+ICsgICJjb21tYW5kX2NhbGwiLCAiYmxvY2tfY29tbWFuZCIsICJjbWRfYnJh
Y2VfYmxvY2siLCAiZmNhbGwiLCAiY29tbWFuZCIsCj4gKyAgIm1saHMiLCAibWxoc19pbm5lciIs
ICJtbGhzX2Jhc2ljIiwgIm1saHNfaXRlbSIsICJtbGhzX2hlYWQiLAo+ICsgICJtbGhzX3Bvc3Qi
LCAibWxoc19ub2RlIiwgImxocyIsICJjbmFtZSIsICJjcGF0aCIsICJmbmFtZSIsICJmc3ltIiwK
PiArICAiZml0ZW0iLCAidW5kZWZfbGlzdCIsICIkQDciLCAib3AiLCAicmVzd29yZHMiLCAiYXJn
IiwgIiRAOCIsICJyZWxvcCIsCj4gKyAgInJlbF9leHByIiwgImFyZ192YWx1ZSIsICJhcmVmX2Fy
Z3MiLCAiYXJnX3JocyIsICJwYXJlbl9hcmdzIiwKPiArICAib3B0X3BhcmVuX2FyZ3MiLCAib3B0
X2NhbGxfYXJncyIsICJjYWxsX2FyZ3MiLCAiY29tbWFuZF9hcmdzIiwgIiRAOSIsCj4gKyAgImJs
b2NrX2FyZyIsICJvcHRfYmxvY2tfYXJnIiwgImFyZ3MiLCAibXJoc19hcmciLCAibXJocyIsICJw
cmltYXJ5IiwKPiArICAiJEAxMCIsICIkQDExIiwgIiRAMTIiLCAiJEAxMyIsICIkQDE0IiwgIiRA
MTUiLCAiQDE2IiwgIiRAMTciLCAiQDE4IiwKPiArICAiQDE5IiwgIkAyMCIsICJAMjEiLCAicHJp
bWFyeV92YWx1ZSIsICJrX2JlZ2luIiwgImtfaWYiLCAia191bmxlc3MiLAo+ICsgICJrX3doaWxl
IiwgImtfdW50aWwiLCAia19jYXNlIiwgImtfZm9yIiwgImtfY2xhc3MiLCAia19tb2R1bGUiLCAi
a19kZWYiLAo+ICsgICJrX2RvIiwgImtfZG9fYmxvY2siLCAia19yZXNjdWUiLCAia19lbnN1cmUi
LCAia193aGVuIiwgImtfZWxzZSIsCj4gKyAgImtfZWxzaWYiLCAia19lbmQiLCAia19yZXR1cm4i
LCAidGhlbiIsICJkbyIsICJpZl90YWlsIiwgIm9wdF9lbHNlIiwKPiArICAiZm9yX3ZhciIsICJm
X21hcmciLCAiZl9tYXJnX2xpc3QiLCAiZl9tYXJncyIsICJibG9ja19hcmdzX3RhaWwiLAo+ICsg
ICJvcHRfYmxvY2tfYXJnc190YWlsIiwgImJsb2NrX3BhcmFtIiwgIm9wdF9ibG9ja19wYXJhbSIs
Cj4gKyAgImJsb2NrX3BhcmFtX2RlZiIsICJvcHRfYnZfZGVjbCIsICJidl9kZWNscyIsICJidmFy
IiwgImxhbWJkYSIsICJAMjIiLAo+ICsgICJAMjMiLCAiJEAyNCIsICJmX2xhcmdsaXN0IiwgImxh
bWJkYV9ib2R5IiwgImRvX2Jsb2NrIiwgImJsb2NrX2NhbGwiLAo+ICsgICJtZXRob2RfY2FsbCIs
ICJicmFjZV9ibG9jayIsICJicmFjZV9ib2R5IiwgIkAyNSIsICJkb19ib2R5IiwgIkAyNiIsCj4g
KyAgIiRAMjciLCAiY2FzZV9ib2R5IiwgImNhc2VzIiwgIm9wdF9yZXNjdWUiLCAiZXhjX2xpc3Qi
LCAiZXhjX3ZhciIsCj4gKyAgIm9wdF9lbnN1cmUiLCAibGl0ZXJhbCIsICJzdHJpbmdzIiwgInN0
cmluZyIsICJzdHJpbmcxIiwgInhzdHJpbmciLAo+ICsgICJyZWdleHAiLCAid29yZHMiLCAid29y
ZF9saXN0IiwgIndvcmQiLCAic3ltYm9scyIsICJzeW1ib2xfbGlzdCIsCj4gKyAgInF3b3JkcyIs
ICJxc3ltYm9scyIsICJxd29yZF9saXN0IiwgInFzeW1fbGlzdCIsICJzdHJpbmdfY29udGVudHMi
LAo+ICsgICJ4c3RyaW5nX2NvbnRlbnRzIiwgInJlZ2V4cF9jb250ZW50cyIsICJzdHJpbmdfY29u
dGVudCIsICJAMjgiLCAiJEAyOSIsCj4gKyAgIkAzMCIsICJAMzEiLCAiQDMyIiwgIkAzMyIsICJz
dHJpbmdfZHZhciIsICJzeW1ib2wiLCAic3ltIiwgImRzeW0iLAo+ICsgICJudW1lcmljIiwgInNp
bXBsZV9udW1lcmljIiwgInVzZXJfdmFyaWFibGUiLCAia2V5d29yZF92YXJpYWJsZSIsCj4gKyAg
InZhcl9yZWYiLCAidmFyX2xocyIsICJiYWNrcmVmIiwgInN1cGVyY2xhc3MiLCAiJEAzNCIsICJm
X2FyZ2xpc3QiLAo+ICsgICJAMzUiLCAiYXJnc190YWlsIiwgIm9wdF9hcmdzX3RhaWwiLCAiZl9h
cmdzIiwgImZfYmFkX2FyZyIsICJmX25vcm1fYXJnIiwKPiArICAiZl9hcmdfYXNnbiIsICJmX2Fy
Z19pdGVtIiwgImZfYXJnIiwgImZfbGFiZWwiLCAiZl9rdyIsICJmX2Jsb2NrX2t3IiwKPiArICAi
Zl9ibG9ja19rd2FyZyIsICJmX2t3YXJnIiwgImt3cmVzdF9tYXJrIiwgImZfa3dyZXN0IiwgImZf
b3B0IiwKPiArICAiZl9ibG9ja19vcHQiLCAiZl9ibG9ja19vcHRhcmciLCAiZl9vcHRhcmciLCAi
cmVzdGFyZ19tYXJrIiwKPiArICAiZl9yZXN0X2FyZyIsICJibGthcmdfbWFyayIsICJmX2Jsb2Nr
X2FyZyIsICJvcHRfZl9ibG9ja19hcmciLAo+ICsgICJzaW5nbGV0b24iLCAiJEAzNiIsICJhc3Nv
Y19saXN0IiwgImFzc29jcyIsICJhc3NvYyIsICJvcGVyYXRpb24iLAo+ICsgICJvcGVyYXRpb24y
IiwgIm9wZXJhdGlvbjMiLCAiZG90X29yX2NvbG9uIiwgImNhbGxfb3AiLCAiY2FsbF9vcDIiLAo+
ICsgICJvcHRfdGVybXMiLCAib3B0X25sIiwgInJwYXJlbiIsICJyYnJhY2tldCIsICJ0cmFpbGVy
IiwgInRlcm0iLCAidGVybXMiLAo+ICsgICJub25lIiwgWVlfTlVMTFBUUgo+ICt9Owo+ICsjZW5k
aWYKPiArCj4gKyMgaWZkZWYgWVlQUklOVAo+ICsvKiBZWVRPS05VTVtOVU1dIC0tIChFeHRlcm5h
bCkgdG9rZW4gbnVtYmVyIGNvcnJlc3BvbmRpbmcgdG8gdGhlCj4gKyAgIChpbnRlcm5hbCkgc3lt
Ym9sIG51bWJlciBOVU0gKHdoaWNoIG11c3QgYmUgdGhhdCBvZiBhIHRva2VuKS4gICovCj4gK3N0
YXRpYyBjb25zdCB5eXR5cGVfdWludDE2IHl5dG9rbnVtW10gPQo+ICt7Cj4gKyAgICAgICAwLCAg
IDI1NiwgICAyNTcsICAgMjU4LCAgIDI1OSwgICAyNjAsICAgMjYxLCAgIDI2MiwgICAyNjMsICAg
MjY0LAo+ICsgICAgIDI2NSwgICAyNjYsICAgMjY3LCAgIDI2OCwgICAyNjksICAgMjcwLCAgIDI3
MSwgICAyNzIsICAgMjczLCAgIDI3NCwKPiArICAgICAyNzUsICAgMjc2LCAgIDI3NywgICAyNzgs
ICAgMjc5LCAgIDI4MCwgICAyODEsICAgMjgyLCAgIDI4MywgICAyODQsCj4gKyAgICAgMjg1LCAg
IDI4NiwgICAyODcsICAgMjg4LCAgIDI4OSwgICAyOTAsICAgMjkxLCAgIDI5MiwgICAyOTMsICAg
Mjk0LAo+ICsgICAgIDI5NSwgICAyOTYsICAgMjk3LCAgIDI5OCwgICAyOTksICAgMzAwLCAgIDMw
MSwgICAzMDIsICAgMzAzLCAgIDMwNCwKPiArICAgICAzMDUsICAgMzA2LCAgIDMwNywgICAzMDgs
ICAgMzA5LCAgIDMxMCwgICAzMTEsICAgMzEyLCAgIDMxMywgICAzMTQsCj4gKyAgICAgMzE1LCAg
IDMxNiwgICAzMTcsICAgMzE4LCAgIDMxOSwgICAzMjAsICAgMzIxLCAgIDMyMiwgICAgNDYsICAg
IDkyLAo+ICsgICAgIDMyMywgICAgIDksICAgIDEyLCAgICAxMywgICAgMTEsICAgMTMwLCAgIDEz
MSwgICAxMzIsICAgMTMzLCAgIDEzOCwKPiArICAgICAxMzksICAgMTQwLCAgIDEzNywgICAxMzYs
ICAgMTQ2LCAgIDE0NywgICAxNDEsICAgMTQyLCAgIDEyOCwgICAxMjksCj4gKyAgICAgMTQzLCAg
IDE0NCwgICAxMzQsICAgMTM1LCAgIDE0OCwgICAxNDUsICAgMzI0LCAgIDMyNSwgICAzMjYsICAg
MzI3LAo+ICsgICAgIDMyOCwgICAzMjksICAgMzMwLCAgIDMzMSwgICAzMzIsICAgMzMzLCAgIDMz
NCwgICAzMzUsICAgMzM2LCAgIDMzNywKPiArICAgICAzMzgsICAgMzM5LCAgIDM0MCwgICAzNDEs
ICAgMzQyLCAgIDM0MywgICAzNDQsICAgMzQ1LCAgIDM0NiwgICAzNDcsCj4gKyAgICAgMzQ4LCAg
IDM0OSwgICAzNTAsICAgMzUxLCAgICA2MSwgICAgNjMsICAgIDU4LCAgICA2MiwgICAgNjAsICAg
MTI0LAo+ICsgICAgICA5NCwgICAgMzgsICAgIDQzLCAgICA0NSwgICAgNDIsICAgIDQ3LCAgICAz
NywgICAzNTIsICAgIDMzLCAgIDEyNiwKPiArICAgICAzNTMsICAgMTIzLCAgIDEyNSwgICAgOTEs
ICAgIDQ0LCAgICA5NiwgICAgNDAsICAgIDQxLCAgICA5MywgICAgNTksCj4gKyAgICAgIDMyLCAg
ICAxMAo+ICt9Owo+ICsjIGVuZGlmCj4gKwo+ICsjZGVmaW5lIFlZUEFDVF9OSU5GIC04NTYKPiAr
Cj4gKyNkZWZpbmUgeXlwYWN0X3ZhbHVlX2lzX2RlZmF1bHQoWXlzdGF0ZSkgXAo+ICsgICghISgo
WXlzdGF0ZSkgPT0gKC04NTYpKSkKPiArCj4gKyNkZWZpbmUgWVlUQUJMRV9OSU5GIC02NDEKPiAr
Cj4gKyNkZWZpbmUgeXl0YWJsZV92YWx1ZV9pc19lcnJvcihZeXRhYmxlX3ZhbHVlKSBcCj4gKyAg
KCEhKChZeXRhYmxlX3ZhbHVlKSA9PSAoLTY0MSkpKQo+ICsKPiArICAvKiBZWVBBQ1RbU1RBVEUt
TlVNXSAtLSBJbmRleCBpbiBZWVRBQkxFIG9mIHRoZSBwb3J0aW9uIGRlc2NyaWJpbmcKPiArICAg
ICBTVEFURS1OVU0uICAqLwo+ICtzdGF0aWMgY29uc3QgeXl0eXBlX2ludDE2IHl5cGFjdFtdID0K
PiArewo+ICsgICAgLTg1NiwgICAgODgsICAzMzM0LCAgLTg1NiwgIDgzNTksICAtODU2LCAgLTg1
NiwgIC04NTYsICA3OTUyLCAgLTg1NiwKPiArICAgIC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYs
ICAtODU2LCAgLTg1NiwgIDg0ODMsICA4NDgzLCAgLTg1NiwgIC04NTYsCj4gKyAgICAtODU2LCAg
NDYxMSwgIDQxNzYsICAtODU2LCAgLTg1NiwgIC04NTYsICAtODU2LCAgIC0xNiwgIDc4MDksICAg
LTUwLAo+ICsgICAgIC0yNCwgICAtMTksICAtODU2LCAgLTg1NiwgIC04NTYsICAzNDUxLCAgNDMy
MSwgIC04NTYsICAtODU2LCAgMzU5NiwKPiArICAgIC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYs
ICAtODU2LCAgLTg1NiwgIC04NTYsICAtODU2LCAgOTk3MSwgIDk5NzEsCj4gKyAgICAgIDk1LCAg
NjAzNSwgIDg2MDcsICA4ODU1LCAgOTIyNywgIDMwNDcsICAtODU2LCAgNzY2NiwgIC04NTYsICAt
ODU2LAo+ICsgICAgLTg1NiwgICAgNzgsICAgMTA3LCAgIDExMSwgICAxMTUsICAgOTc2LCAxMDA5
NSwgIDk5NzEsICAtODU2LCAgICAxNiwKPiArICAgIC04NTYsICAxMTYxLCAgLTg1NiwgICA1MTgs
ICAtODU2LCAgLTg1NiwgICAgNjMsICAgMjEzLCAgIDE5OCwgIC04NTYsCj4gKyAgICAgMTQ1LCAx
MDM0MywgIC04NTYsICAgMjAzLCAgMzQyOSwgICA5ODMsICAgMzQ2LCAgIDM2NiwgIC04NTYsIDEw
MjE5LAo+ICsgICAxMDIxOSwgIC04NTYsICAtODU2LCAgNzAwMywgMTA0NjMsIDEwNTgzLCAxMDcw
MywgIDc1MjIsICA4NDgzLCAgICA2MSwKPiArICAgICAgNzEsICAtODU2LCAgLTg1NiwgICAyMzEs
ICAtODU2LCAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYsCj4gKyAgICAtODU2LCAg
LTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwgICAgMjQsICAgMjY4LCAgLTg1NiwgICAyNzgsICAg
MzI1LAo+ICsgICAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1
NiwgIC04NTYsICAtODU2LCAgLTg1NiwKPiArICAgIC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYs
ICAtODU2LCAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYsCj4gKyAgICAtODU2LCAg
LTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYsICAt
ODU2LAo+ICsgICAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1
NiwgIC04NTYsICAtODU2LCAgLTg1NiwKPiArICAgIC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYs
ICAtODU2LCAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYsCj4gKyAgICAtODU2LCAg
LTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYsICAt
ODU2LAo+ICsgICAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1
NiwgIC04NTYsICAtODU2LCAgLTg1NiwKPiArICAgIC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYs
ICAtODU2LCAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYsCj4gKyAgICAgMjQwLCAg
LTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwgICAyNDEsICA5OTcxLCAgIDM0MiwgIDYxODQsICA5
OTcxLAo+ICsgICAgOTk3MSwgIDk5NzEsICAtODU2LCAgOTk3MSwgIC04NTYsICAgMjc2LCAgMzQy
OSwgICAzMTAsICAtODU2LCAgLTg1NiwKPiArICAgICAyNzcsICAgNDIyLCAgICAzMCwgICAxNTMs
ICAgMzI5LCAgIDIzMywgICAyODYsICAtODU2LCAgLTg1NiwgIDY4NzksCj4gKyAgICAtODU2LCAg
ODQ4MywgIDg0ODMsICAtODU2LCAgLTg1NiwgIDcxMjcsICAtODU2LCAxMDIxOSwgICA2OTUsICAt
ODU2LAo+ICsgICAgIDMwMCwgIDYzMzMsICAtODU2LCAgNjQ4MiwgIC04NTYsICAtODU2LCAgIDMw
NiwgICAzMjQsICAgIDYzLCAgLTg1NiwKPiArICAgICA1MDcsICAtODU2LCAgIDQzMCwgICAzOTgs
ICA4NjA3LCAgLTg1NiwgIDYwMzUsICAgMzI4LCAgICAxNiwgIC04NTYsCj4gKyAgICAxMTYxLCAg
IC01MCwgICAzNzAsICAtODU2LCAgMTE2MSwgICAtNTAsICAgMzcyLCAgIC0yOCwgICAxOTYsICAt
ODU2LAo+ICsgICAgIDMxMCwgICA0MDYsICAgMTk2LCAgLTg1NiwgICAtNTAsICAgNDg3LCAgIDk3
NiwgMTA4MjMsICAgNDE2LCAgLTg1NiwKPiArICAgICA1NTIsICAgNTU0LCAgIDU1OCwgICA2NTIs
ICAtODU2LCAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwgICA0NDcsCj4gKyAgICAtODU2LCAg
IDYwOSwgICA4NzQsICAgNDE5LCAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwgICA0NzMsICAt
ODU2LAo+ICsgICAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYsICAtODU2LCAgNzI1
MSwgMTAyMTksIDEwMjE5LCAxMDIxOSwKPiArICAgMTAyMTksICA4NjA3LCAxMDIxOSwgMTAyMTks
ICAtODU2LCAgLTg1NiwgIC04NTYsICAgNDU4LCAgLTg1NiwgIC04NTYsCj4gKyAgICAtODU2LCAg
LTg1NiwgIC04NTYsICA5MzUxLCAgLTg1NiwgIDYwMzUsICA4MjMyLCAgIDQzNCwgIDkzNTEsICA5
OTcxLAo+ICsgICAgOTk3MSwgIDk5NzEsICA5OTcxLCAgOTk3MSwgIC04NTYsICAtODU2LCAgOTk3
MSwgIDk5NzEsICA5OTcxLCAgOTk3MSwKPiArICAgIDk5NzEsICA5OTcxLCAgOTk3MSwgIDk5NzEs
ICA5OTcxLCAgLTg1NiwgIC04NTYsICA5OTcxLCAgOTk3MSwgIDk5NzEsCj4gKyAgICA5OTcxLCAg
OTk3MSwgIDk5NzEsICA5OTcxLCAgOTk3MSwgIDk5NzEsICA5OTcxLCAgLTg1NiwgIC04NTYsIDEx
MTA1LAo+ICsgICAgODQ4MywgMTExOTMsICA1MzQwLCAgIDUxOCwgICAxNTEsICAgMTUxLCAgNjYz
MSwgMTAyMTksICA2NjMxLCAgICAxNiwKPiArICAgICA1NTcsICAgNDM2LCAgIDUzNiwgIC04NTYs
ICAtODU2LCAgIDcwNSwgICA1NjgsICAgIDU3LCAgICA4NywgICAxMDEsCj4gKyAgICAgNzk1LCAg
IDgxMiwgMTAyMTksICAgMjAwLCAgLTg1NiwgICA0ODYsICAgNzEyLCAgLTg1NiwgIC04NTYsICAt
ODU2LAo+ICsgICAgLTg1NiwgICAgNTIsICAgMzYxLCAgIDM4MywgICA0MjMsICAgNDYyLCAgIDQ3
NiwgICA1OTMsICAgNTk0LCAgIDU5NywKPiArICAgIC04NTYsICAtODU2LCAgLTg1NiwgICA1OTgs
ICAtODU2LCAgLTg1NiwgIC04NTYsIDEyNDI1LCAgLTg1NiwgIC04NTYsCj4gKyAgIDEwMDk1LCAx
MDA5NSwgIC04NTYsICAtODU2LCAgIDU3MiwgIC04NTYsICAtODU2LCAgLTg1NiwgIDExMDAsICA5
OTcxLAo+ICsgICAgOTk3MSwgIDg3MzEsICAtODU2LCAgLTg1NiwgMTEyODEsICA4NDgzLCAxMTM2
OSwgIDk5NzEsICA5OTcxLCAgODk3OSwKPiArICAgIC04NTYsICAgLTUwLCAgIDQ2NCwgIC04NTYs
ICAtODU2LCAgIC01MCwgIC04NTYsICAgNDcxLCAgIDQ3NCwgIC04NTYsCj4gKyAgICAgIDM2LCAg
LTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYsICA3OTUyLCAgLTg1NiwgIDk5NzEsICAg
NDg4LAo+ICsgICAgIDQ5MCwgMTEyODEsIDExMzY5LCAgOTk3MSwgIDExNjEsICAgLTI0LCAgIC01
MCwgIC04NTYsICAtODU2LCAgNzM3NSwKPiArICAgICA0ODQsICAgLTUwLCAgLTg1NiwgIC04NTYs
ICA5MTAzLCAgLTg1NiwgIC04NTYsICA5MjI3LCAgLTg1NiwgIC04NTYsCj4gKyAgICAtODU2LCAg
IDMwMCwgICA3MTgsICAtODU2LCAgLTg1NiwgICA0OTMsIDEwODIzLCAxMTQ1NywgIDg0ODMsIDEx
NTQ1LAo+ICsgICAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1
NiwgIC04NTYsICAtODU2LCAgLTg1NiwKPiArICAgIC04NTYsICAtODU2LCAgIDg4NiwgICAgMTQs
ICAgODk5LCAgICA2NSwgIDk5NzEsICAtODU2LCAgLTg1NiwgIC04NTYsCj4gKyAgICAtODU2LCAg
LTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYsICAgNTAyLCAgICAzMywgIC04NTYsICAt
ODU2LAo+ICsgICAgIDY1MCwgIC04NTYsICAgNjUwLCAgOTk3MSwgIC04NTYsICAgNTI0LCAgIDUy
OSwgIC04NTYsICAtODU2LCAgIC01MCwKPiArICAgMTA4MjMsICAgNTMyLCAgLTg1NiwgIC04NTYs
ICAtODU2LCAgIDYzOSwgICA1NjEsICAyNzIxLCAgLTg1NiwgIC04NTYsCj4gKyAgICAtODU2LCAg
IDc3OSwgICA1ODIsICAgNDMwLCAgMTU3MSwgIDE1NzEsICAxNTcxLCAgMTU3MSwgIDE2OTMsICAy
MTI3LAo+ICsgICAgMTU3MSwgIDE1NzEsICAzNzE5LCAgMzcxOSwgIDExMzEsICAxMTMxLCAgNDcy
NywgIDE0MDIsICAxNDAyLCAgMTAzOSwKPiArICAgICA2NTgsICAgNjU4LCAgIDQzMCwgICA0MzAs
ICAgNDMwLCAgMTI3OCwgIDEyNzgsICA0NzU2LCAgMzc0MSwgIDUwNDYsCj4gKyAgICAzODg2LCAg
LTg1NiwgICAzMjQsICAtODU2LCAgIC01MCwgICA0MTcsICAtODU2LCAgIDQ4MywgIC04NTYsICAt
ODU2LAo+ICsgICAgNDQ2NiwgICA2NTAsICAgNzAxLCAgLTg1NiwgIDU0ODksICAgNjk4LCAgNTc4
NywgICA2NTAsICAgIDQwLCAgIDY1MCwKPiArICAgICA1NTcsICAtODU2LCAgOTQ3NSwgICA2NTAs
ICAgMTI3LCAxMTYzMywgIDg0ODMsIDExNzIxLCAgLTg1NiwgICA1MTgsCj4gKyAgICAtODU2LCAg
IDcxOCwgIC04NTYsICAtODU2LCAgLTg1NiwgMTE4MDksICA4NDgzLCAxMTg5NywgIDUzNDAsIDEw
MjE5LAo+ICsgICAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYsICAtODU2LCAgMjM2
NiwgIC04NTYsICAzNTc0LCAgLTg1NiwKPiArICAgIC04NTYsICAtODU2LCAgNzk1MiwgIDk5NzEs
ICAtODU2LCAgOTk3MSwgICAzMTAsICAtODU2LCAgIDI4NiwgIDMxNzIsCj4gKyAgICA0MDMxLCAg
IC01MCwgICA1ODQsICAgNjUxLCAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwgIDg3MzEsICA4
OTc5LAo+ICsgICAgLTg1NiwgIC04NTYsIDEwMjE5LCAgMzQyOSwgIC04NTYsICAtODU2LCAgIDMy
NCwgICAzMjQsICAtODU2LCAgLTg1NiwKPiArICAgICAgNDIsICAtODU2LCAgLTg1NiwgICAxOTYs
IDEwODIzLCAgIDQ5MywgICAzODIsICAgNDc4LCAgIC01MCwgICAgNTYsCj4gKyAgICAgMzUzLCAg
MTIxOCwgIC04NTYsICAgODU0LCAgLTg1NiwgICAyMjksICAtODU2LCAgIDU2NywgIC04NTYsICAt
ODU2LAo+ICsgICAgIDQwOCwgICA1NzUsICAtODU2LCAgIDQzMCwgIC04NTYsICAtODU2LCAgMTE1
NSwgIDY0ODIsICAtODU2LCAgLTg1NiwKPiArICAgICA1OTAsICAtODU2LCAgLTg1NiwgICAgMzMs
ICAtODU2LCAgIDU5NSwgIDk1OTksICAtODU2LCAgIDQ5MywgMTA4MjMsCj4gKyAgICA4NjA3LCAx
MDA5NSwgIDk5NzEsIDExOTg1LCAgODQ4MywgMTIwNzMsICAgNjE2LCAxMDA5NSwgMTAwOTUsICAt
ODU2LAo+ICsgICAgIDQ1OCwgICA2MDYsICAgNTQ2LCAxMDA5NSwgMTAwOTUsICAtODU2LCAgLTg1
NiwgICA0NTgsICAtODU2LCAgLTg1NiwKPiArICAgIC04NTYsICA5NzIzLCAgIDIxNywgIC04NTYs
ICAgMzIxLCAgLTg1NiwgICA3MzAsICAtODU2LCAgLTg1NiwgIC04NTYsCj4gKyAgICAtODU2LCAg
LTg1NiwgICA2NTAsICAgIDY2LCAgLTg1NiwgICAxNjUsICAgMjk4LCAgIC01MCwgICAxMzgsICAg
MTU3LAo+ICsgICAgNjYzMSwgICAgMTYsIDEwMjE5LCAgNTM0MCwgIDEwMTQsICAgNDc4LCAgLTg1
NiwgICAtNTAsICAgNjUwLCAgICAzNiwKPiArICAgICA2MTgsICA4MDk1LCAgICA3MSwgICAyMTMs
ICAtODU2LCAgLTg1NiwgIC04NTYsICAtODU2LCAgOTk3MSwgIDk5NzEsCj4gKyAgICAgNjY1LCAg
OTk3MSwgIDk5NzEsICAgNjI0LCAgICAzNiwgIC04NTYsICAtODU2LCAgIDM4OCwgIC04NTYsICAt
ODU2LAo+ICsgICAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYsICAxMTI5LCAgLTg1
NiwgIC04NTYsICAtODU2LCAgLTg1NiwKPiArICAgIC04NTYsICAxMzg2LCAgLTg1NiwgIC04NTYs
ICAtODU2LCAgLTg1NiwgIC04NTYsICAgNjY2LCAgLTg1NiwgICA2NjcsCj4gKyAgICA5OTcxLCAg
LTg1NiwgICA2NzEsICAgNzY0LCAgIDY3NiwgIC04NTYsICAgNjgwLCAgIDc3NiwgICA2ODMsICAg
Nzc4LAo+ICsgICAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1
NiwgIC04NTYsICAtODU2LCAgLTg1NiwKPiArICAgIC04NTYsICAtODU2LCAgLTg1NiwgICAtNTAs
ICAgNzEwLCAgIDcxNywgICA3MDYsIDEwOTQzLCAgLTg1NiwgICA3MDgsCj4gKyAgICAgNjc2LCAg
LTg1NiwgICA3MTUsICAgNzI2LCAgLTg1NiwgICA3MjksICAtODU2LCAgLTg1NiwgIDUzNDAsICA5
OTcxLAo+ICsgICAgIDcyNywgICA0OTMsICAtODU2LCAgMzQyOSwgIDQ5MDEsICA1MTkxLCAgIC01
MCwgICA3MjUsICAgNzM4LCAgOTk3MSwKPiArICAgIC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYs
ICAtODU2LCAgLTg1NiwgMTAwOTUsICAtODU2LCAgLTg1NiwgIC04NTYsCj4gKyAgICAtODU2LCAg
LTg1NiwgICA1MjQsICAtODU2LCAgIDc4NywgIC04NTYsICAtODU2LCAgLTg1NiwgIDY2MzEsICAt
ODU2LAo+ICsgICAgLTg1NiwgIC04NTYsICAtODU2LCAgNjYzMSwgMTAyMTksICAgNjUwLCAgLTg1
NiwgIC04NTYsICAgNjUwLCAgLTg1NiwKPiArICAgIC04NTYsICA5ODQ3LCAgNTYzOCwgICAxNzAs
ICAgNjUwLCAgNTM0MCwgICAgMTYsICAgNjUwLCAgLTg1NiwgIC04NTYsCj4gKyAgICAtODU2LCAg
MTM4NiwgIDUzNDAsICAxMzg2LCAgLTg1NiwgIC04NTYsICAtODU2LCAgOTk3MSwgIDg5NzksICAt
ODU2LAo+ICsgICAgMTEyOSwgICA1MzQsICAtODU2LCAgIDc0OCwgICAtNTAsICAtODU2LCAgIC01
MCwgICAgNzMsICA5OTcxLCAgMTM4NiwKPiArICAgIC04NTYsICAtODU2LCAgIDgyNSwgIC04NTYs
ICAtODU2LCAgLTg1NiwgICAgNDYsICAtODU2LCAgMTM4NiwgIC04NTYsCj4gKyAgICAtODU2LCAg
MTI5MCwgIC04NTYsICAtODU2LCAgLTg1NiwgICA3NjUsICAtODU2LCAxMDk0MywgIDEzODYsICAt
ODU2LAo+ICsgICAgIDg0NCwgICA4MzMsICAgODI1LCAgLTg1NiwgIC04NTYsICAxMzg2LCAgLTg1
NiwgIDEyOTAsICAtODU2LCAgIDk1NywKPiArICAgIC04NTYsICAgNzY2LCAgIDc3NSwgIDM0Mjks
ICAtODU2LCAgLTg1NiwgMTEwNjMsICAgMTUxLCAgLTg1NiwgIC04NTYsCj4gKyAgICA1OTExLCAg
LTg1NiwgICAxNTEsICAtODU2LCAgLTg1NiwgIC04NTYsICAgNDAxLCAgLTg1NiwgICA2NTAsICAt
ODU2LAo+ICsgICAgLTg1NiwgICAtNTAsICAgNjUwLCAgICAxNiwgICA2MTgsICAgLTUwLCAgMTI1
OSwgICA3NjgsICAxMjc0LCAgLTg1NiwKPiArICAgICA3NzAsICA1MzQwLCAgNjQ4MiwgIC04NTYs
ICAtODU2LCAgLTg1NiwgIC04NTYsICAgNzcxLCAgIDc3NCwgIC04NTYsCj4gKyAgICAgNjc2LCAg
LTg1NiwgICA3ODIsICAtODU2LCAgIDc4OSwgIC04NTYsICAgNzgyLCAgLTg1NiwgIC04NTYsICAg
ODMzLAo+ICsgICAgLTg1NiwgICA3OTAsICAgNzkxLCAgLTg1NiwgMTIxNjEsICAtODU2LCAgIDY3
NiwgICA3OTksICAtODU2LCAgIDgwMSwKPiArICAgICA3OTksICAtODU2LCAgIDMxMSwgIC04NTYs
ICAtODU2LCAgIDg4MywgIC04NTYsICAgODM1LCAgIDIxMCwgICAyNTUsCj4gKyAgICAgMjgyLCAg
NTM0MCwgICA5MzcsICA1NDg5LCAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYsICAt
ODU2LAo+ICsgICAgLTg1NiwgIDUzNDAsICAtODU2LCAgIDgwMywgIDEyNTksICAgNzIyLCAgLTg1
NiwgIC04NTYsICAgNjUwLCAgIDgwOCwKPiArICAgIDEzODYsICAtODU2LCAgMTI5MCwgIC04NTYs
ICAtODU2LCAgMTI5MCwgIC04NTYsICAxMjkwLCAgLTg1NiwgIC04NTYsCj4gKyAgICA2NzU1LCAg
MTM4NiwgIC04NTYsICAxMjkwLCAgLTg1NiwgICA4MDUsICAgODE1LCAgLTg1NiwgIDEyOTAsICAt
ODU2LAo+ICsgICAgMTI5MCwgIC04NTYsICAtODU2LCAgIDk1NywgIC04NTYsICAgMjk0LCAxMjI0
OSwgIDg0ODMsIDEyMzM3LCAgIDcwMSwKPiArICAgIC04NTYsICAgMzIxLCAgIDY1MCwgIDEyNTks
ICAgODAzLCAgMTI1OSwgICA4MjIsICAtODU2LCAgLTg1NiwgICA3ODIsCj4gKyAgICAgODI2LCAg
IDc4MiwgICA3ODIsICAgODU2LCAgIDc5OSwgICA4MjgsICAgNzk5LCAgIDc5OSwgIC04NTYsICAg
IDkxLAo+ICsgICAgIDI1MCwgICAtNTAsICAgMzE1LCAgIDM0NywgIC04NTYsICAtODU2LCAgLTg1
NiwgICA4MDMsICAxMjU5LCAgLTg1NiwKPiArICAgIDEyOTAsICAtODU2LCAgLTg1NiwgIC04NTYs
ICAtODU2LCAgLTg1NiwgIDEyOTAsICAtODU2LCAgLTg1NiwgIC04NTYsCj4gKyAgICAgMzUwLCAg
IDgwMywgICA3ODIsICAgNzk5LCAgLTg1NiwgIC04NTYKPiArfTsKPiArCj4gKyAgLyogWVlERUZB
Q1RbU1RBVEUtTlVNXSAtLSBEZWZhdWx0IHJlZHVjdGlvbiBudW1iZXIgaW4gc3RhdGUgU1RBVEUt
TlVNLgo+ICsgICAgIFBlcmZvcm1lZCB3aGVuIFlZVEFCTEUgZG9lcyBub3Qgc3BlY2lmeSBzb21l
dGhpbmcgZWxzZSB0byBkby4gIFplcm8KPiArICAgICBtZWFucyB0aGUgZGVmYXVsdCBpcyBhbiBl
cnJvci4gICovCj4gK3N0YXRpYyBjb25zdCB5eXR5cGVfdWludDE2IHl5ZGVmYWN0W10gPQo+ICt7
Cj4gKyAgICAgICAyLCAgICAgMCwgICAgIDAsICAgICAxLCAgICAgMCwgICAzNTIsICAgMzUzLCAg
IDM1NCwgICAgIDAsICAgMzQ1LAo+ICsgICAgIDM0NiwgICAzNDcsICAgMzUwLCAgIDM0OCwgICAz
NDksICAgMzUxLCAgIDM0MCwgICAzNDEsICAgMzQyLCAgIDM0MywKPiArICAgICAzNjMsICAgMjcy
LCAgIDI3MiwgICA1MjIsICAgNTIxLCAgIDUyMywgICA1MjQsICAgNjI5LCAgICAgMCwgICA2Mjks
Cj4gKyAgICAgICAwLCAgICAgMCwgICA1MjYsICAgNTI1LCAgIDUyNywgICA2MTEsICAgNjEzLCAg
IDUxOCwgICA1MTcsICAgNjEyLAo+ICsgICAgIDUyMCwgICA1MTIsICAgNTEzLCAgIDUxNCwgICA1
MTUsICAgNDY1LCAgIDUzMiwgICA1MzMsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAsICAgICAw
LCAgIDI5OSwgICA2NDAsICAgNjQwLCAgICA5MCwgICAzMTksICAgNDg1LCAgIDQ4NSwgICA0ODcs
Cj4gKyAgICAgNDg5LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAg
ICAgMCwgICAgIDMsICAgNjI3LAo+ICsgICAgICAgNiwgICAgIDksICAgIDM1LCAgICAzOSwgICAg
NTEsICAgIDYyLCAgIDI3MiwgICAgNjEsICAgICAwLCAgICA3OCwKPiArICAgICAgIDAsICAgIDgy
LCAgICA5MiwgICAgIDAsICAgIDU2LCAgIDIzMCwgICAyNDUsICAgICAwLCAgIDI5NywgICAgIDAs
Cj4gKyAgICAgICAwLCAgICA1OCwgICAgNTgsICAgNjI3LCAgICAgMCwgICAgIDAsICAgICAwLCAg
ICAgMCwgICAzMDgsICAgIDYzLAo+ICsgICAgIDMxNywgICAyODYsICAgMjg3LCAgIDQ2NCwgICA0
NjYsICAgMjg4LCAgIDI4OSwgICAyOTAsICAgMjkyLCAgIDI5MSwKPiArICAgICAyOTMsICAgNDYy
LCAgIDQ2MywgICA0NjEsICAgNTEwLCAgIDUyOCwgICA1MjksICAgMjk0LCAgICAgMCwgICAyOTUs
Cj4gKyAgICAgIDY2LCAgICAgNSwgICAgIDgsICAgMTczLCAgIDE4NCwgICAxNzQsICAgMTk3LCAg
IDE3MCwgICAxOTAsICAgMTgwLAo+ICsgICAgIDE3OSwgICAyMDAsICAgMjAxLCAgIDE5NSwgICAx
NzgsICAgMTc3LCAgIDE3MiwgICAxOTgsICAgMjAyLCAgIDIwMywKPiArICAgICAxODIsICAgMTcx
LCAgIDE4NSwgICAxODksICAgMTkxLCAgIDE4MywgICAxNzYsICAgMTkyLCAgIDE5OSwgICAxOTQs
Cj4gKyAgICAgMTkzLCAgIDE4NiwgICAxOTYsICAgMTgxLCAgIDE2OSwgICAxODgsICAgMTg3LCAg
IDE2OCwgICAxNzUsICAgMTY2LAo+ICsgICAgIDE2NywgICAxNjMsICAgMTY0LCAgIDE2NSwgICAx
MjEsICAgMTIzLCAgIDEyMiwgICAxNTgsICAgMTU5LCAgIDE1NCwKPiArICAgICAxMzYsICAgMTM3
LCAgIDEzOCwgICAxNDUsICAgMTQyLCAgIDE0NCwgICAxMzksICAgMTQwLCAgIDE2MCwgICAxNjEs
Cj4gKyAgICAgMTQ2LCAgIDE0NywgICAxNTEsICAgMTU1LCAgIDE0MSwgICAxNDMsICAgMTMzLCAg
IDEzNCwgICAxMzUsICAgMTQ4LAo+ICsgICAgIDE0OSwgICAxNTAsICAgMTUyLCAgIDE1MywgICAx
NTYsICAgMTU3LCAgIDE2MiwgICAxMjYsICAgMTI4LCAgIDEzMCwKPiArICAgICAgMjgsICAgMTI0
LCAgIDEyNSwgICAxMjcsICAgMTI5LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAs
Cj4gKyAgICAgICAwLCAgICAgMCwgICA0ODUsICAgICAwLCAgIDI2NywgICAgIDAsICAgMjUyLCAg
IDI3NywgICAgNzYsICAgMjcxLAo+ICsgICAgIDY0MCwgICAgIDAsICAgNTI4LCAgIDUyOSwgICAg
IDAsICAgMjk1LCAgIDY0MCwgICA2MDUsICAgIDc3LCAgIDYyOSwKPiArICAgICAgNzQsICAgICAw
LCAgIDY0MCwgICA0MzksICAgIDczLCAgIDYyOSwgICA2MzAsICAgICAwLCAgICAgMCwgICAgMjMs
Cj4gKyAgICAgMjQyLCAgICAgMCwgICAgMTAsICAgICAwLCAgIDM0MCwgICAzNDEsICAgMzExLCAg
IDQ0MCwgICAgIDAsICAgMjI0LAo+ICsgICAgICAgMCwgICAzMDgsICAgMjI1LCAgIDMwNSwgICAg
IDAsICAgIDIxLCAgICAgMCwgICAgIDAsICAgNjI3LCAgICAxNywKPiArICAgICAgMjAsICAgNjI5
LCAgICA4MCwgICAgMTYsICAgMzAxLCAgIDYyOSwgICAgIDAsICAgNjMzLCAgIDYzMywgICAyNTMs
Cj4gKyAgICAgICAwLCAgICAgMCwgICA2MzMsICAgNjAzLCAgIDYyOSwgICAgIDAsICAgICAwLCAg
ICAgMCwgICAgODgsICAgMzQ0LAo+ICsgICAgICAgMCwgICAgOTgsICAgIDk5LCAgIDEwNiwgICA0
MjAsICAgNTA3LCAgIDUwNiwgICA1MDgsICAgNTA1LCAgICAgMCwKPiArICAgICA1MDQsICAgICAw
LCAgICAgMCwgICAgIDAsICAgNDcyLCAgIDQ4MSwgICA0NzcsICAgNDgzLCAgIDUxMSwgICAgNTUs
Cj4gKyAgICAgMjM2LCAgIDIzNywgICA2MzYsICAgNjM3LCAgICAgNCwgICA2MzgsICAgNjI4LCAg
ICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAz
NTUsICAgNDQ0LCAgIDQzMywgICAgNjcsICAgNDQ2LCAgIDMxNiwKPiArICAgICAzNTYsICAgNDQ2
LCAgIDQyOSwgICAgIDAsICAgIDk0LCAgICAgMCwgICAgODYsICAgIDgzLCAgICAgMCwgICAgIDAs
Cj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDI0OCwgICAyNDksICAgICAwLCAg
ICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgIDIxNSwgICAyMTYsICAgICAwLCAgICAgMCwgICAg
IDAsICAgMjQ2LCAgIDI0NywgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAsICAgICAw
LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgNjIzLCAgIDYyNCwgICAgIDAs
Cj4gKyAgICAgNjQwLCAgICAgMCwgICAgIDAsICAgIDU3LCAgICAgMCwgICAgIDAsICAgICAwLCAg
ICAgMCwgICAgIDAsICAgNjI3LAo+ICsgICAgICAgMCwgICA2MjgsICAgICAwLCAgIDM3NCwgICAz
NzMsICAgICAwLCAgICAgMCwgICA1MjgsICAgNTI5LCAgIDI5NSwKPiArICAgICAxMTYsICAgMTE3
LCAgICAgMCwgICAgIDAsICAgMTE5LCAgIDUzNiwgICAgIDAsICAgNTI4LCAgIDUyOSwgICAyOTUs
Cj4gKyAgICAgMzMyLCAgIDE5MywgICAxODYsICAgMTk2LCAgIDE4MSwgICAxNjMsICAgMTY0LCAg
IDE2NSwgICAxMjEsICAgMTIyLAo+ICsgICAgIDYwMSwgICAzMzQsICAgNjAwLCAgICAgMCwgICAg
NzUsICAgNjI2LCAgIDYyNSwgICAgIDAsICAgMzE4LCAgIDQ2NywKPiArICAgICAgIDAsICAgICAw
LCAgIDEzMSwgICA2MDgsICAgMzA1LCAgIDI3OCwgICA2MTAsICAgMjc0LCAgICAgMCwgICAgIDAs
Cj4gKyAgICAgICAwLCAgICAgMCwgICAyNjgsICAgMjc2LCAgICAgMCwgICA2NDAsICAgICAwLCAg
ICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgIDI2OSwgICA2MjksICAgICAwLCAgIDMxMCwgICAy
NzMsICAgNjI5LCAgIDI2MywgICA2NDAsICAgNjQwLCAgIDI2MiwKPiArICAgICA2MjksICAgMzE1
LCAgICA1NCwgICAgMjUsICAgIDI3LCAgICAyNiwgICAgIDAsICAgMzEyLCAgICAgMCwgICAgIDAs
Cj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAxOSwgICAgIDAsICAgNjI5LCAg
IDMwMywgICAgMTUsICAgNjI4LAo+ICsgICAgICA3OSwgICA2MjksICAgMzAwLCAgIDMwNiwgICA2
MzUsICAgNjM0LCAgIDI1NCwgICA2MzUsICAgMjU2LCAgIDMwNywKPiArICAgICA2MDQsICAgICAw
LCAgIDEwNSwgICA1MTEsICAgIDk2LCAgICA5MSwgICAgIDAsICAgICAwLCAgIDY0MCwgICAgIDAs
Cj4gKyAgICAgMzIwLCAgIDQyMSwgICA0OTEsICAgNDk0LCAgIDQ5MiwgICA1MDksICAgNDg2LCAg
IDQ2OCwgICA0NjksICAgNDg4LAo+ICsgICAgIDQ3MCwgICA0OTAsICAgICAwLCAgICAgMCwgICAg
IDAsICAgICAwLCAgICAgMCwgICA2MzksICAgICA3LCAgICAyOSwKPiArICAgICAgMzAsICAgIDMx
LCAgICAzMiwgICAgMzMsICAgIDUyLCAgICA1MywgICAgIDAsICAgNjQwLCAgIDQ0NCwgICAgNjgs
Cj4gKyAgICAgICAwLCAgIDQ0NywgICAgIDAsICAgICAwLCAgICAzNiwgICAyODIsICAgICAwLCAg
ICAzOCwgICAyODEsICAgNjI5LAo+ICsgICAgICAgMCwgICAgODQsICAgIDk1LCAgICA1MCwgICAg
NDAsICAgIDQ4LCAgICAgMCwgICAyNTcsICAgMjc3LCAgIDIwNCwKPiArICAgICAgMzcsICAgICAw
LCAgIDI5NSwgICAyMjIsICAgMjI5LCAgIDIzMSwgICAyMzIsICAgMjMzLCAgIDI0MCwgICAyNDEs
Cj4gKyAgICAgMjM0LCAgIDIzNSwgICAyMTMsICAgMjE0LCAgIDIzOCwgICAyMzksICAgNjI5LCAg
IDIyNiwgICAyMjcsICAgMjI4LAo+ICsgICAgIDIxNywgICAyMTgsICAgMjE5LCAgIDIyMCwgICAy
MjEsICAgMjUwLCAgIDI1MSwgICA2MTQsICAgNjE2LCAgIDYxNSwKPiArICAgICA2MTcsICAgNDM4
LCAgIDI3MiwgICA0MzYsICAgNjI5LCAgIDYxNCwgICA2MTYsICAgNjE1LCAgIDYxNywgICA0Mzcs
Cj4gKyAgICAgMjcyLCAgICAgMCwgICA2NDAsICAgMzY1LCAgICAgMCwgICAzNjQsICAgICAwLCAg
ICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAzNTksICAgICAwLCAgICAgMCwgICAz
MDUsICAgICAwLCAgIDY0MCwgICAgIDAsICAgIDU4LCAgIDMzMCwKPiArICAgICAxMTYsICAgMTE3
LCAgIDExOCwgICA1MzQsICAgMzI4LCAgICAgMCwgICA2NDAsICAgICAwLCAgICAgMCwgICAgIDAs
Cj4gKyAgICAgMzM1LCAgIDYyMSwgICA2MjIsICAgMzM3LCAgIDYxNCwgICA2MTUsICAgMjcyLCAg
ICA0MSwgICAyNTcsICAgMjA1LAo+ICsgICAgICA0NywgICAyMTIsICAgICAwLCAgICAgMCwgICA2
MDcsICAgICAwLCAgIDI3OSwgICAyNzUsICAgNjQwLCAgIDYxNCwKPiArICAgICA2MTUsICAgNjI5
LCAgIDYxNCwgICA2MTUsICAgNjA2LCAgIDMwOSwgICA2MzEsICAgMjU5LCAgIDI2NCwgICAyNjYs
Cj4gKyAgICAgMzE0LCAgICAyNCwgICAgIDAsICAgMjQzLCAgICAxMSwgICAgMzQsICAgICAwLCAg
IDY0MCwgICAyMTEsICAgIDIyLAo+ICsgICAgICA4MSwgICAgMTgsICAgMzAyLCAgIDYzMywgICAg
IDAsICAgIDg5LCAgIDYxOCwgICAxMDQsICAgNjI5LCAgIDYxNCwKPiArICAgICA2MTUsICAgNTYw
LCAgIDQ5NSwgICAgIDAsICAgNDcxLCAgICAgMCwgICA0NzQsICAgICAwLCAgIDQ3OSwgICA0NzYs
Cj4gKyAgICAgICAwLCAgICAgMCwgICA0ODAsICAgMjIzLCAgIDQ0MiwgICA0MTIsICAgNjI5LCAg
ICAgMCwgICA0MTAsICAgNDA5LAo+ICsgICAgICAgMCwgICAzNjIsICAgNDQzLCAgIDY0MCwgICA0
MjgsICAgMjg1LCAgICAgMCwgICAgOTMsICAgIDg3LCAgICAgMCwKPiArICAgICAgIDAsICAgICAw
LCAgICAgMCwgICAgIDAsICAgNjQwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICA0MzUs
Cj4gKyAgICAgIDcxLCAgICAgMCwgICA0NDEsICAgICAwLCAgICAgMCwgICAyNjEsICAgNDM0LCAg
ICA2OSwgICAyNjAsICAgMjk4LAo+ICsgICAgIDM1NywgICA2NDAsICAgNjQwLCAgIDQ1MywgICA2
NDAsICAgMzY2LCAgIDY0MCwgICAzMjMsICAgMzY4LCAgICA1OSwKPiArICAgICAzNjcsICAgMzI0
LCAgICAgMCwgICAgIDAsICAgMzI2LCAgIDYxOCwgICAzMDQsICAgNjI5LCAgIDYxNCwgICA2MTUs
Cj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDExNiwgICAxMTcsICAgMTIwLCAg
IDYyOSwgICAgIDAsICAgNjI5LAo+ICsgICAgIDUzOCwgICAgIDAsICAgNDMwLCAgICA2NCwgICAx
MzIsICAgNjA5LCAgIDI4MCwgICAyNzAsICAgICAwLCAgICAgMCwKPiArICAgICA0NDEsICAgICAw
LCAgICAgMCwgICA2NDAsICAgNjI5LCAgIDI1NSwgICAgOTcsICAgNDQxLCAgIDU2NiwgICA1NjMs
Cj4gKyAgICAgNTYyLCAgIDU2MSwgICA1NjQsICAgNTcyLCAgIDU4MSwgICAgIDAsICAgNTkyLCAg
IDU4MiwgICA1OTYsICAgNTk1LAo+ICsgICAgIDU5MSwgICA1NjAsICAgNDIyLCAgIDU1OSwgICA0
MjUsICAgNTY1LCAgIDU2NywgICA1NjgsICAgNTcwLCAgIDU0NSwKPiArICAgICA1NzQsICAgNTc5
LCAgIDY0MCwgICA1ODQsICAgNjQwLCAgIDU4OSwgICA1NDUsICAgNTk0LCAgIDU0NSwgICAgIDAs
Cj4gKyAgICAgNTQzLCAgIDQ5NiwgICA1MDAsICAgNTAxLCAgIDUwMiwgICA0OTMsICAgNTAzLCAg
IDQ3MywgICA0NzUsICAgNDgyLAo+ICsgICAgIDQ3OCwgICA0ODQsICAgNDA4LCAgIDYyOSwgICAg
IDAsICAgNTY4LCAgIDM5MywgICA1NzYsICAgNTc3LCAgIDY0MCwKPiArICAgICA2NDAsICAgNTg3
LCAgIDM5MywgICAzOTMsICAgMzkxLCAgIDQxNCwgICA0NDUsICAgIDY1LCAgICAgMCwgICAgIDAs
Cj4gKyAgICAgMjgzLCAgICA4NSwgICAgNDksICAgMjU4LCAgIDYxNCwgICA2MTUsICAgNjI5LCAg
IDYxNCwgICA2MTUsICAgICAwLAo+ICsgICAgICA0NiwgICAyMDksICAgIDQ1LCAgIDIxMCwgICAg
NzIsICAgNjMyLCAgICAgMCwgICAgNDMsICAgMjA3LCAgICA0NCwKPiArICAgICAyMDgsICAgIDcw
LCAgIDQ1NCwgICA0NTUsICAgNjQwLCAgIDQ1NiwgICAzNTgsICAgMzYwLCAgICAgMCwgICAgMTIs
Cj4gKyAgICAgIDE0LCAgIDQ2MCwgICAzNjEsICAgICAwLCAgICAgMCwgICAgIDAsICAgMzY5LCAg
IDM3MSwgICAgIDAsICAgIDYwLAo+ICsgICAgIDMyNSwgICAgIDAsICAgICAwLCAgIDQ0MSwgICAg
IDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgNDQxLCAgIDMzMywKPiArICAgICA2MDIsICAgNTYw
LCAgICAgMCwgICA1NjAsICAgMzM4LCAgIDQzMSwgICA0MzIsICAgICAwLCAgIDI2NSwgICAzMTMs
Cj4gKyAgICAgICAwLCAgIDM4NiwgICAzNzcsICAgMzc5LCAgIDYyOSwgICAzNzUsICAgNjI5LCAg
ICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgIDU1MiwgICA1NzMsICAgICAwLCAgIDU0MSwgICA1
OTksICAgNTgzLCAgICAgMCwgICA1NDIsICAgICAwLCAgIDU1NSwKPiArICAgICA1OTMsICAgICAw
LCAgIDU1NywgICA1OTcsICAgNDk3LCAgICAgMCwgICA0MTEsICAgICAwLCAgIDM5OSwgICA0MDEs
Cj4gKyAgICAgICAwLCAgIDU3NSwgICAgIDAsICAgMzg5LCAgIDM5MCwgICAgIDAsICAgNDA0LCAg
ICAgMCwgICA0MDYsICAgICAwLAo+ICsgICAgIDQ0OCwgICAyODQsICAgNDQxLCAgIDI0NCwgICAg
NDIsICAgMjA2LCAgICAgMCwgICAgIDAsICAgNDU4LCAgIDQ1OSwKPiArICAgICAgIDAsICAgMzcy
LCAgICAgMCwgICAzMjEsICAgMzIyLCAgIDI3OSwgICA2NDAsICAgMzI3LCAgICAgMCwgICA1MzUs
Cj4gKyAgICAgMzI5LCAgIDYyOSwgICAgIDAsICAgICAwLCAgIDUzOCwgICA2MjksICAgICAwLCAg
IDM4NCwgICAgIDAsICAgNTY5LAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgIDQyMywgICA1
ODUsICAgNTQ0LCAgIDU3MSwgICA1NDUsICAgNTQ1LCAgIDU4MCwKPiArICAgICA2NDAsICAgNTk4
LCAgIDU0NSwgICA1OTAsICAgNTQ1LCAgIDU2OCwgICA1NDUsICAgNDk4LCAgIDQxMywgICA1ODYs
Cj4gKyAgICAgMzkyLCAgIDM5MywgICAzOTMsICAgMzA1LCAgICAgMCwgICA1NzgsICAgNjQwLCAg
IDM5MywgICA1ODgsICAgMzkzLAo+ICsgICAgIDM5MywgICA0MTgsICAgNjI5LCAgIDQxNiwgICA0
MTksICAgICAwLCAgIDQ1NywgICAgIDAsICAgNTI4LCAgIDUyOSwKPiArICAgICAyOTUsICAgICAw
LCAgIDY0MCwgICAgIDAsICAgNDUwLCAgIDQ1MSwgICA0NDksICAgMzMxLCAgIDUzNywgICAzMzYs
Cj4gKyAgICAgNTM5LCAgICAgMCwgICAzNzYsICAgMzg3LCAgICAgMCwgICAzODIsICAgMzc4LCAg
IDQyNCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICA1NDgsICAgICAwLCAgIDU1MCwgICA1
NDAsICAgICAwLCAgIDU1NiwgICAgIDAsICAgNTUzLCAgIDU1OCwKPiArICAgICAgIDAsICAgICAw
LCAgIDM5NiwgICAgIDAsICAgMzk4LCAgIDYxOCwgICAzMDQsICAgMzg4LCAgICAgMCwgICA0MDUs
Cj4gKyAgICAgICAwLCAgIDQwMiwgICA0MDcsICAgICAwLCAgIDQxNSwgICAzMDUsICAgICAwLCAg
IDY0MCwgICAgIDAsICAgNjQwLAo+ICsgICAgICAxMywgICA2NDAsICAgICAwLCAgICAgMCwgICAz
ODUsICAgICAwLCAgIDM4MCwgICA0MjcsICAgNDI2LCAgIDU0NSwKPiArICAgICA1NDUsICAgNTQ1
LCAgIDU0NSwgICAgIDAsICAgMzkzLCAgIDM5MywgICAzOTMsICAgMzkzLCAgIDQxNywgICA2MTgs
Cj4gKyAgICAgMzA0LCAgIDYyOSwgICA2MTQsICAgNjE1LCAgIDQ1MiwgICAzNzAsICAgMzM5LCAg
IDM4MywgICAgIDAsICAgNTQ5LAo+ICsgICAgICAgMCwgICA1NDYsICAgNTUxLCAgIDU1NCwgICA0
OTksICAgMzk3LCAgICAgMCwgICAzOTQsICAgNDAwLCAgIDQwMywKPiArICAgICA0NDEsICAgMzgx
LCAgIDU0NSwgICAzOTMsICAgNTQ3LCAgIDM5NQo+ICt9Owo+ICsKPiArICAvKiBZWVBHT1RPW05U
RVJNLU5VTV0uICAqLwo+ICtzdGF0aWMgY29uc3QgeXl0eXBlX2ludDE2IHl5cGdvdG9bXSA9Cj4g
K3sKPiArICAgIC04NTYsICAtODU2LCAgLTg1NiwgICA3NDEsICAtODU2LCAgICAyMywgICA1NDAs
ICAtNDM4LCAgLTg1NiwgICAtMjksCj4gKyAgICAtODU2LCAgIDUzMCwgIC04NTYsICAgICA2LCAg
LTg1NiwgIC0yMTQsICAtMzExLCAgICA4MSwgICAtODgsICAgLTgwLAo+ICsgICAgLTg1NiwgIC04
NTYsICAgLTMwLCAgLTg1NiwgIC0xNjYsICAgNzM2LCAgICA1OSwgICA5MDMsICAtMTY0LCAgICAt
MSwKPiArICAgICAtNDgsICAtODU2LCAgLTQxMiwgICAgIDgsICAyMDYyLCAgLTMyMiwgICA5MDQs
ICAgLTU0LCAgLTg1NiwgICAtMTQsCj4gKyAgICAtODU2LCAgLTg1NiwgICAgMTMsICAtODU2LCAg
MTQ1OSwgIC04NTYsICAgOTE2LCAgLTg1NiwgICA3NzcsICAtODU2LAo+ICsgICAgIDQyNiwgICAg
OTcsICAgNDA5LCAgLTM1MywgICAgNzQsICAgLTExLCAgLTg1NiwgIC0zNzUsICAtMjAzLCAgICAx
NSwKPiArICAgIC04NTYsICAtMzE1LCAgIC0zOSwgIC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYs
ICAtODU2LCAgLTg1NiwgIC04NTYsCj4gKyAgICAtODU2LCAgLTg1NiwgIC04NTYsICAtODU2LCAg
LTg1NiwgICAgNDMsICAtODU2LCAgLTg1NiwgIC04NTYsICAtODU2LAo+ICsgICAgLTg1NiwgIC04
NTYsICAtODU2LCAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1
NiwKPiArICAgIC04NTYsICAgMzE4LCAgLTg1NiwgICAzMDUsICAgNzY3LCAgLTM0MCwgIC04NTYs
ICAgIC05LCAgLTY2MiwgIC04NTYsCj4gKyAgICAtODU1LCAgLTg1MiwgICAxMzcsICAgMzYyLCAg
IDI1NCwgIC04NTYsICAgMzU3LCAgLTg1NiwgIC02NzgsICAtODU2LAo+ICsgICAgICAgOSwgIC04
NTYsICAtODU2LCAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwgICAzMTcsICAtODU2LCAgLTg1
NiwKPiArICAgICAtOTksICAgNTIzLCAgLTg1NiwgICA3MzMsICAtODU2LCAgLTg1NiwgIC01NTQs
ICAtODU2LCAgICAyMiwgIC04NTYsCj4gKyAgICAtODU2LCAgICA3NiwgIC04NTYsICAtODU2LCAg
LTg1NiwgICA5NTIsICAtODU2LCAgLTg1NiwgIC04NTYsICAtODU2LAo+ICsgICAgIDU2NiwgIC04
NTYsICAtODU2LCAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwgICAgIDQsICAtODU2LCAgLTg1
NiwKPiArICAgIC0yNTgsICAtODU2LCAgLTg1NiwgIC04NTYsICAtODU2LCAgLTg1NiwgIC04NTYs
ICAtODU2LCAgICAgMSwgIC04NTYsCj4gKyAgICAgIDExLCAgLTg1NiwgICAtMTcsICAxOTI1LCAg
MjAzNCwgICA5NjUsICAyMzY4LCAgMTY0MiwgIC04NTYsICAtODU2LAo+ICsgICAgIDEzNSwgIC04
NTYsICAtNTgwLCAgLTE5NywgIC0zNzYsICAtNzk4LCAgLTcyNSwgICAyOTEsICAtODEzLCAgIDE4
MCwKPiArICAgICAyMzgsICAgMTk5LCAgIDE4MSwgIC04NTYsICAtODU2LCAgLTg1NiwgICAtOTcs
ICAtNzkyLCAgLTgyNywgICAxODYsCj4gKyAgICAgMjEyLCAgLTg1NiwgIC01NzMsICAtODU2LCAg
LTI5OSwgIC02MjQsICAtODU2LCAgLTg1NiwgIC04NTYsICAgIDkwLAo+ICsgICAgLTM4MCwgIC04
NTYsICAtMzIxLCAgLTg1NiwgIC04NTYsICAgLTgxLCAgLTg1NiwgICAtNTYsICAgLTEyLCAgIDYz
MiwKPiArICAgIC01NjgsICAtMjQ4LCAgIC02NSwgICAgIDAsICAgIC0yCj4gK307Cj4gKwo+ICsg
IC8qIFlZREVGR09UT1tOVEVSTS1OVU1dLiAgKi8KPiArc3RhdGljIGNvbnN0IHl5dHlwZV9pbnQx
NiB5eWRlZmdvdG9bXSA9Cj4gK3sKPiArICAgICAgLTEsICAgICAxLCAgICAgMiwgICAgNjgsICAg
IDY5LCAgICA3MCwgICAyNDIsICAgNTcxLCAgIDkyMCwgICA1NzIsCj4gKyAgICAgMjU4LCAgIDI1
OSwgICA0NTUsICAgMjYwLCAgIDQ0NiwgICAgNzIsICAgNTI0LCAgICA3MywgICAzNjQsICAgMzY2
LAo+ICsgICAgIDM2NywgICA4NDksICAgIDc0LCAgICA3NSwgICA1MDksICAgMjQ4LCAgICA3Nywg
ICAgNzgsICAgMjYxLCAgICA3OSwKPiArICAgICAgODAsICAgIDgxLCAgIDQ3NSwgICAgODIsICAg
MjE1LCAgIDM4NCwgICAzODUsICAgMTk3LCAgIDE5OCwgICAxOTksCj4gKyAgICAgMjAwLCAgIDYx
MiwgICA1NjAsICAgMjAyLCAgICA4NCwgICA0NDgsICAgMzU1LCAgICA4NSwgICAyMTcsICAgMjY2
LAo+ICsgICAgIDUyOSwgICA1NjEsICAgNjk2LCAgIDQzNSwgICA0MzYsICAgMjMwLCAgIDIzMSwg
ICAyMTksICAgNDIyLCAgIDQzNywKPiArICAgICA1MTcsICAgNTE4LCAgICA4NiwgICAzNjIsICAg
MjY1LCAgIDQ2MSwgICA2MzIsICAgMjg0LCAgIDcyMywgICA3MjEsCj4gKyAgICAgNTk4LCAgIDYw
MCwgICA3MzAsICAgNzMxLCAgIDkzNCwgICAyNTAsICAgIDg4LCAgICA4OSwgICAgOTAsICAgIDkx
LAo+ICsgICAgICA5MiwgICAgOTMsICAgIDk0LCAgICA5NSwgICAgOTYsICAgIDk3LCAgIDMxOCwg
ICAzMjEsICAgNzAxLCAgIDgzOCwKPiArICAgICA1ODIsICAgODQzLCAgIDg0NCwgICA2NzIsICAg
MjUxLCAgIDU3NCwgICA3MDksICAgODQ1LCAgIDg0NiwgICAzNzYsCj4gKyAgICAgODcyLCAgIDg3
MywgICA4NzQsICAgOTYwLCAgIDg5OSwgICA3OTMsICAgNjY3LCAgIDY2OCwgICA3OTQsICAgOTcy
LAo+ICsgICAgIDk3MywgICA0ODAsICAgNDgxLCAgIDY1MSwgICA4NzcsICAgNzYyLCAgIDk0Mywg
ICAzMjIsICAgIDk5LCAgIDEwMCwKPiArICAgICAzMTksICAgNTA2LCAgIDUwNywgICA1MTAsICAg
NTExLCAgIDY3MywgICA1ODMsICAgOTg2LCAgIDcwMiwgICA4MzQsCj4gKyAgICAgOTE3LCAgIDg0
MCwgICAxMDEsICAgMTAyLCAgIDEwMywgICAxMDQsICAgMTA1LCAgIDEwNiwgICAxMDcsICAgNDky
LAo+ICsgICAgIDY1NSwgICAxMDgsICAgNDk0LCAgIDEwOSwgICAxMTAsICAgNDkzLCAgIDQ5NSwg
ICAyODksICAgMjkyLCAgIDI5MywKPiArICAgICA0ODYsICAgNjUzLCAgIDY1MiwgICA3ODEsICAg
ODk0LCAgIDk1NywgIDEwMTAsICAgNzg1LCAgIDExMSwgICAyOTAsCj4gKyAgICAgMTEyLCAgIDEx
MywgICAxMTQsICAgMjIyLCAgIDIyMywgICAxMTcsICAgMjI0LCAgIDIyNSwgICA1OTQsICAgNzIy
LAo+ICsgICAgIDg2MiwgICA4NjMsICAgOTQ1LCAgIDg4MCwgICA3NjQsICAgNzY1LCAgIDc2Niwg
ICA5NTUsICAgNzY4LCAgIDc2OSwKPiArICAgICA3NzAsICAgNzcxLCAgIDc5OCwgICA3OTksICAg
NzcyLCAgIDc3MywgICA3NzQsICAgNzc1LCAgIDgwMSwgICA4MDIsCj4gKyAgICAgNzc2LCAgIDc3
NywgICA3NzgsICAgNzc5LCAgIDc4MCwgICA4ODMsICAgNDAzLCAgIDU5OSwgICAyNzEsICAgNDM4
LAo+ICsgICAgIDIyNywgICAxMjAsICAgNjM2LCAgIDU2MywgICA2MDMsICAgNTk3LCAgIDQwNywg
ICAzMDQsICAgNDMyLCAgIDQzMywKPiArICAgICA2OTIsICAgNDY2LCAgIDU3NSwgICAzNzEsICAg
MjYzCj4gK307Cj4gKwo+ICsgIC8qIFlZVEFCTEVbWVlQQUNUW1NUQVRFLU5VTV1dIC0tIFdoYXQg
dG8gZG8gaW4gc3RhdGUgU1RBVEUtTlVNLiAgSWYKPiArICAgICBwb3NpdGl2ZSwgc2hpZnQgdGhh
dCB0b2tlbi4gIElmIG5lZ2F0aXZlLCByZWR1Y2UgdGhlIHJ1bGUgd2hvc2UKPiArICAgICBudW1i
ZXIgaXMgdGhlIG9wcG9zaXRlLiAgSWYgWVlUQUJMRV9OSU5GLCBzeW50YXggZXJyb3IuICAqLwo+
ICtzdGF0aWMgY29uc3QgeXl0eXBlX2ludDE2IHl5dGFibGVbXSA9Cj4gK3sKPiArICAgICAxMjEs
ICAgNDA4LCAgIDM2NSwgICAyODgsICAgMzA1LCAgIDM2OSwgICAzNjEsICAgNTY0LCAgICA3MSwg
ICAyMDMsCj4gKyAgICAgIDcxLCAgIDIzNCwgICAzNjgsICAgNTMwLCAgIDIzOSwgICAyMzcsICAg
Mjc5LCAgIDI0MCwgICA0MDYsICAgMjA0LAo+ICsgICAgIDQ2OCwgICAyMDEsICAgMjU3LCAgIDQz
MCwgICA0NzAsICAgNTc2LCAgIDcxMiwgICAxMjIsICAgMzA1LCAgIDIwMywKPiArICAgICA4NzUs
ICAgMjIwLCAgIDIyMCwgICAzMjcsICAgNDg5LCAgIDQ5MSwgICAyOTksICAgMzcwLCAgIDU2Miwg
ICAyMDQsCj4gKyAgICAgNTcwLCAgIDIwMSwgICAyNzksICAgNDAxLCAgIDg0OCwgICAgODcsICAg
NjE3LCAgICA4NywgICAyOTgsICAgNjI0LAo+ICsgICAgIDI2MiwgICAyNjksICAgMjczLCAgIDc0
MCwgICA2MTcsICAgMjc5LCAgIDI3OSwgICAyNzksICAgMjY0LCAgIDIyMSwKPiArICAgICAyMjEs
ICAgNTkyLCAgIDI5MSwgICAyNzgsICAgNjQ1LCAgIDMxNywgICA5NDYsICAgNzA4LCAgIDI2Nywg
ICAzMDYsCj4gKyAgICAgMjAxLCAgIDc2MywgICA2MjEsICAgMzEyLCAgIDMxMywgICAyMTQsICAg
MjE0LCAgIDY1NywgICA5NjgsICAgNTczLAo+ICsgICAgIDc0NywgIC0xMDEsICAtMTA3LCAgIDk5
NiwgICA5OTMsICAgOTQ2LCAgIDYwNiwgICA2MjQsICAgICAzLCAgIDMxNCwKPiArICAgICAyMTgs
ICAgMjI4LCAgIDQ1NiwgICA4MDMsICAgIDg3LCAgICA4NywgICA5NTMsICAgMzE0LCAgIDI4MCwg
ICA2MDcsCj4gKyAgICAgNjEwLCAgIDIzNiwgICA5NDEsICAgNTYyLCAgLTExMSwgICA1NzAsICAg
MjI2LCAgIDIyNiwgICA2NzgsICAgMjIxLAo+ICsgICAgIDIwMSwgICA5NzQsICAtMTA4LCAgIDIy
MCwgICA1MjMsICAgODk1LCAgIDQ2NCwgICAyNDEsICAgNjY1LCAgIDIzMywKPiArICAgIC01MjIs
ICAtNTMwLCAgIDI0MywgICA0NjUsICAgMjgwLCAgIDY0OCwgIC0xMTUsICAtNTMwLCAgIDY2MSwg
ICAzNTcsCj4gKyAgICAgMjM1LCAgIDYzNywgICAyMjEsICAgMjIxLCAgIDY1OCwgICAyMzYsICAg
MjIxLCAgIDM3NSwgICAzODYsICAgMzg2LAo+ICsgICAgIDQyNiwgICAyMjEsICAxMDM0LCAgIDI2
OCwgICAyNzIsICAgODc1LCAgIDkzNywgIC01MjIsICAtMTA3LCAgIDg1MywKPiArICAgICA4ODcs
ICAgMjUzLCAgLTExNCwgICA3NTgsICAtMTA3LCAgIDM1OCwgICA0MDUsICAgMjE0LCAgIDYzNywg
ICA4NTgsCj4gKyAgICAgNzI4LCAgIDUxOSwgICA2NjYsICAtMTEwLCAgIDU3MywgICAzMDIsICAg
LTc5LCAgIDMwMywgICAtOTgsICAgNDUyLAo+ICsgICAgIDM2MywgICAzNjMsICAgNDA0LCAgIDMx
NiwgICAzNjMsICAgOTAzLCAgIDkwNCwgICA3NTksICAgOTk2LCAgIDI1NywKPiArICAgIC0xMDEs
ICAgNzYzLCAgLTExMiwgIDEwNTcsICAgOTY4LCAgIDY2MiwgICAtOTMsICAgMjM2LCAgIDIyNiwg
ICAzMDIsCj4gKyAgICAtMTExLCAgIDMwMywgICA5NDYsICAgMzA1LCAgIDk0MiwgIC0xMDksICAg
NTIzLCAgIDUyMywgICA5NDAsICAgNDc5LAo+ICsgICAgLTEwMSwgICAtOTgsICAgNDU4LCAgLTEw
MSwgICAzMTUsICAgOTQ2LCAgMTA3MSwgIC0xMDEsICAgOTUzLCAgIDIzMiwKPiArICAgICA4NTEs
ICAgODc1LCAgIDMxNSwgICA4NzUsICAgNDUwLCAgIDMwMiwgICA0MTgsICAgMzAzLCAgIDQyMywg
ICA0OTksCj4gKyAgICAgNTAwLCAgIDUwMSwgICA1MDIsICAtMTA3LCAgIDQyMywgICA5NzQsICAg
ODM2LCAgIDI1NywgICAyOTQsICAgNDc0LAo+ICsgICAgIDQzOSwgICAtOTksICAgODM3LCAgIDcx
NywgICA2NTYsICAgNDMwLCAgIDY1NiwgIC02MTQsICAgMjc5LCAgIDEyMSwKPiArICAgIC0xMTEs
ICAgMzIwLCAgLTExMSwgICA3MjcsICAgMjIwLCAgLTEwNiwgICAyMjAsICAgIDcxLCAgIDkxMiwg
ICA2MjQsCj4gKyAgICAtNTMxLCAgICA4NywgICA1OTAsICAgNjE3LCAgIDYxNywgICAyNjIsICAg
NTkxLCAgIDI5NSwgICA0NTksICAgNDczLAo+ICsgICAgIDQ1NCwgICAyOTYsICAgNDcxLCAgLTEx
MywgICA5ODQsICAgMjk3LCAgIDYzNywgICA4MTEsICAtMTA4LCAgIDg3NSwKPiArICAgIDEwMzYs
ICAtMTA1LCAgIDIyMSwgICA3MjYsICAgMjIxLCAgIDIyMSwgICA2MzcsICAtMTA4LCAgIDIyMSwg
ICA1NzgsCj4gKyAgICAgMjIxLCAgIDc2MywgIC0xMDEsICAgNzYzLCAgICA4NywgICA4NTcsICAg
IDg3LCAgIDI3OSwgICAyMTQsICAgMzI0LAo+ICsgICAgIDIxNCwgICAyMTQsICAgNDgyLCAgIDUx
NCwgICA1ODcsICAtMTE1LCAgIDI1NywgICAgODcsICAgNTI1LCAgICA4NywKPiArICAgICAzMDIs
ICAtMTAzLCAgIDMwMywgICA0MzEsICAgMzA1LCAgIDQzNCwgICA5NDgsICAtMTE0LCAgIDg3NSwg
IC0xMDIsCj4gKyAgICAgODc1LCAgLTYxNCwgICAgNzEsICAgNTgwLCAgLTEwMCwgICA5NTQsICAg
NDQwLCAgIDUwMywgICA0NDIsICAgMjI2LAo+ICsgICAgIDI4MCwgICAyMjYsICAgMzIzLCAgLTEx
MywgICAyNjIsICAgOTYyLCAgMTAwNCwgICAzMjgsICAtMTEwLCAgIDQ5OCwKPiArICAgICA0Mjgs
ICAgODE2LCAgIDk2OSwgICA4NzUsICAgNTIxLCAgIDg0MiwgICA4MzcsICAgNTc3LCAgIDUxNiwg
ICA1NzksCj4gKyAgICAgNDY3LCAgICA1OCwgIDEwMTcsICAgNTE2LCAgIDIzMywgICAzMTYsICAg
NDgzLCAgIDQ2NSwgICA0ODQsICAgIDg3LAo+ICsgICAgIDIyMSwgICAyMjEsICAgMjIxLCAgIDIy
MSwgICAgODcsICAgMjIxLCAgIDIyMSwgIC0xMTUsICAgNDM5LCAgLTEwNywKPiArICAgIC0xMTIs
ICAtMTA3LCAgIDU2MiwgIC0xMDksICAgNTcwLCAgLTUzMSwgICAyMjEsICAgODA0LCAgICA4Nywg
ICAyODAsCj4gKyAgICAgOTEwLCAgIDUzMSwgICA5ODUsICAgODUyLCAgIDU2OCwgICA0MTAsICAg
ODIwLCAgIDgyMiwgIC0xMDMsICAgNzg3LAo+ICsgICAgIDUyNSwgICA1MjUsICAgODI3LCAgIDgy
OSwgICA0MTIsICAgODc2LCAgIDgzMywgICAyMzUsICAgMzYzLCAgIDM2MywKPiArICAgICAzNjMs
ICAgMzYzLCAgLTEwOCwgICA1MDQsICAgNTA1LCAgIDc0NSwgIC02MTUsICAgNzg4LCAgIDQxNCwg
IC0xMTMsCj4gKyAgICAgNDE5LCAgLTExMywgICA3ODgsICAgMjIxLCAgLTEwOCwgICAgODcsICAt
MTA4LCAgLTEwMiwgICA0MjAsICAgIDg3LAo+ICsgICAgIDIyMSwgICAgODcsICAgLTk5LCAgLTEw
MCwgIC0zNDQsICAgNzM3LCAgIDgzNywgICA5MjgsICAgNTgxLCAgIDIxNCwKPiArICAgICA1Njgs
ICAgNDIxLCAgIDQxMSwgICA0MzksICAgOTMyLCAgIDIyMSwgICA0MjcsICAxMDQwLCAgIDQ3NCwg
IC01MjEsCj4gKyAgICAgNDI5LCAgLTExNSwgICA2MzEsICAtMTE1LCAgIDM1NywgICA0MjMsICAg
NDIzLCAgIDI3OSwgIDEwNDUsICAgNTY4LAo+ICsgICAgLTM0NCwgIC0zNDQsICAtMTA0LCAgLTEx
NCwgIC02MTUsICAtMTE0LCAgIDQ0NywgICAyMDMsICAgMzYzLCAgLTExNSwKPiArICAgICA2ODUs
ICAtNTIzLCAgIDIyOSwgICA1MzEsICAgNTMxLCAgMTAyMywgIC01MjEsICAgMjA0LCAgIDU2OSwg
ICAyMDEsCj4gKyAgICAgMzU4LCAgIDM1OSwgICAyMzYsICAgNTg5LCAgLTExMCwgICA1NjgsICAt
MTEwLCAgIDUyMywgICAyMjEsICAtMTA2LAo+ICsgICAgIDIzMiwgICA0ODIsICAgNDc0LCAgIDUy
MywgICA1MjMsICAgNDU3LCAgIDQzOSwgIC0xMDMsICAtNTIzLCAgIDUyMywKPiArICAgICA1MjMs
ICAgMjc5LCAgIDQ4MiwgIDEwNzAsICAgMjE0LCAgIDkzMSwgICA0OTAsICAgOTMzLCAgIDYyNCwg
IC0zNDQsCj4gKyAgICAgMzU3LCAgLTUyNCwgICA1NjgsICAgNjE3LCAgIC03OCwgICA0NTMsICAt
MTEyLCAgLTEwMywgIC0xMTIsICAtMTA5LAo+ICsgICAgLTEwMywgIC0xMDksICAgIDg3LCAgIDk5
OCwgIC0xMDMsICAgNjY5LCAgLTEwMiwgICAzMjksICAgNzIwLCAgIDM2MCwKPiArICAgICA0ODIs
ICAgNjE4LCAgLTEwMCwgICA3MTAsICAgNjkzLCAgIDkxNCwgICAzNTgsICAgNDI0LCAgLTUyNCwg
ICAyODAsCj4gKyAgICAgNDYzLCAgIDIyMSwgIC0xMTQsICAgNTY5LCAgIDgyNCwgICA0ODMsICAt
MTAyLCAgIDQ4NCwgIC02MTQsICAtMTAyLAo+ICsgICAgLTUyNiwgICA4MzEsICAtMTAwLCAgLTEw
MiwgICA2ODYsICAtMTAwLCAgIDQ4MywgICAyMTQsICAgNDg0LCAgLTEwMCwKPiArICAgICA3Mzcs
ICAtMTEwLCAgLTEwNSwgICA0NzIsICAtNTI1LCAgIDcwNCwgIC0zMDQsICAgNzA2LCAgIDQ2OSwg
ICA1NjksCj4gKyAgICAgNDk2LCAgIDY5MCwgICA2OTEsICAxMDMyLCAgIDY0MywgICAzMTIsICAg
MzEzLCAgLTUyNiwgICA3OTAsICAgNjk3LAo+ICsgICAgIDQ3NiwgIC0xMDEsICAgNTA4LCAgIDI4
MCwgICA0ODMsICAgNDI1LCAgIDQ4NCwgICA0ODUsICAgNjk4LCAgIDgwMCwKPiArICAgICA3MDMs
ICAtNTI1LCAgLTMwNCwgIC0zMDQsICAgNTgxLCAgIDM1NywgICA1NjksICAgOTgxLCAgIDUyMiwg
ICA4ODksCj4gKyAgICAgNjk0LCAgIDg5MiwgICA5ODMsICAgOTUxLCAgIDQzOSwgICA0OTcsICAg
NzQ4LCAgIDk1MSwgICA3NDksICAgNzUwLAo+ICsgICAgIDc1MSwgICA3NTIsICAgNTg0LCAgIDU4
OCwgICA0MzksICAgNzMzLCAgIDc0NiwgICA3MTMsICAgNzM0LCAgIDgwNCwKPiArICAgICA1Njgs
ICAgMzU4LCAgIDQ1MSwgICA5NTEsICAgNjk4LCAgIDI3OSwgICA4MDQsICAtMTEyLCAgIDgwNCwg
ICA2OTEsCj4gKyAgICAgNTY4LCAgIDYyNiwgICA1MjMsICAgMjAzLCAgIDU5MywgICA2MjgsICAg
NDIzLCAgICA4NywgICA2MjksICAgIDg3LAo+ICsgICAgIDM1NywgIC0zMDQsICAtNTI4LCAgIDIw
NCwgIC02MTUsICAgMjAxLCAgLTUyOSwgIC0xMDMsICAgLTkzLCAgIDIyMSwKPiArICAgICA2MzQs
ICAgNDc0LCAgIDYzNSwgICA4NjUsICAgODU2LCAgIDY5OCwgICA2OTEsICAgNjQ0LCAgIDgwNiwg
ICAyMjEsCj4gKyAgICAgMjc5LCAgICA4NywgICAyMjEsICAgODI2LCAgIDY2NCwgICAyMTQsICAg
MzU4LCAgIDQ3NywgIC01MjgsICAtNTI4LAo+ICsgICAgIDQyNSwgICA1MjUsICAtNTI5LCAgLTUy
OSwgICA4MDUsICAgMjE0LCAgIDg1NSwgICA1MjUsICAgNTI1LCAgIDY4OSwKPiArICAgICA2NzEs
ICAtNTI3LCAgLTUxNiwgICA1MjUsICAgNTI1LCAgLTUxOSwgICA2MDEsICAgNjk1LCAgLTI3Nywg
ICA0NTMsCj4gKyAgICAtMTA5LCAgIDY2OSwgICA0ODIsICAgNjc2LCAgMTA1MSwgICAyMjEsICAg
Njc5LCAgIDg2NCwgICA5MzYsICAgNDExLAo+ICsgICAgIDcyOSwgICA3NDEsICAgNDM5LCAgIDY4
MCwgICA1NjksICAgNjgxLCAgIDgxMiwgICAyODAsICAtNTI3LCAgLTUxNiwKPiArICAgIC0xMDAs
ICAgODU0LCAgLTUxOSwgICA2MDIsICAgNTY5LCAgIDQ3OCwgIC0xMTQsICAtNTI4LCAgIDU2OCwg
ICA4MzUsCj4gKyAgICAgODQxLCAgLTUyOSwgICA4NDcsICAgNjk1LCAgIDg0NywgICA2OTEsICAt
MTE1LCAgIDYzNywgIC0xMTAsICAgNzAwLAo+ICsgICAgICA4NywgICA3MDUsICAgODA0LCAgIDc0
NCwgICA4MDQsICAgNjkxLCAgIDUxNiwgICA3ODksICAgNzQzLCAgIDgwNCwKPiArICAgIC0yOTUs
ICAgODA0LCAgIDI4MCwgICAgODcsICAgNTMxLCAgIDc5MSwgICA0ODMsICAgMjIxLCAgIDQ4NCwg
ICA0ODcsCj4gKyAgICAgNTMxLCAgIDUzMSwgICA4MDcsICAgNjg5LCAgIDY5NSwgICAzMjksICAg
NTMxLCAgIDUzMSwgICAgNzYsICAtMjc4LAo+ICsgICAgICA3NiwgICA0MjMsICAgODE5LCAgIDIx
NCwgICAyMDEsICAgODM3LCAgLTI5NSwgIC0yOTUsICAgNzQyLCAgIDQ0MywKPiArICAgIDEwMDEs
ICAxMDAzLCAgICA3NiwgICAgNzYsICAgODI1LCAgMTAwNiwgICA5MjIsICAxMDA4LCAgIDI3OSwg
IDEwMDksCj4gKyAgICAgNDQ0LCAgIDQ0NSwgICA4NjcsICAgIDg3LCAgIDg2MSwgICAyMjEsICAg
IDg3LCAgIDgwNCwgICA4NjgsICAgIDk4LAo+ICsgICAgIDg4NCwgICAgOTgsICAgODg0LCAgIDM1
NywgICA3NDgsICAtMTEyLCAgIDc0OSwgICA3NTAsICAgNzUxLCAgIDc1MiwKPiArICAgICAzNTcs
ICAgODA1LCAgIDU2OSwgICAgOTgsICAgIDk4LCAgIDk1MCwgIC0zMDUsICAgIDc2LCAgICA3Niwg
IC0xMDksCj4gKyAgICAgODc4LCAgIDkyOSwgICAzNTIsICAgMzUzLCAgIDM1NCwgIC0yOTUsICAg
NTI1LCAgIDg4NCwgICA4ODQsICAgMzU4LAo+ICsgICAgIDU4NSwgICA4MDAsICAgIDc2LCAgIDM2
MywgICA2OTEsICAgOTY2LCAgIDM1OCwgICA1OTUsICAgODAwLCAgIDkxOSwKPiArICAgICA4MDAs
ICAgODc5LCAgLTMwNSwgIC0zMDUsICAgOTIxLCAgIDg4MiwgICA4ODUsICAgNjc0LCAgICA5OCwg
ICAgOTgsCj4gKyAgICAgODg2LCAgLTYxMSwgICA2OTMsICAgOTI2LCAgIDg4OCwgICAgNzYsICAg
IDc2LCAgIDg5MSwgICA4OTAsICAgIDc2LAo+ICsgICAgIDg5MywgICAyNzAsICAgOTE4LCAgICA5
OCwgICAgNzYsICAgNjk0LCAgIDYwOSwgICA2MTEsICAtNjEyLCAgIDg5NiwKPiArICAgICA5MDEs
ICAgODk3LCAgMTA1OSwgIDEwNjEsICAxMDYyLCAgMTA2MywgICA3OTYsICAgMzU3LCAgIDU4Niwg
IC0xMTAsCj4gKyAgICAgODk4LCAgICA4NywgICA5MDIsICAgNjA5LCAgIDYxMSwgICA1OTYsICAg
IDk4LCAgICA5OCwgICAyNzksICAgOTA1LAo+ICsgICAgICA5OCwgIC0zMDUsICAtMTEyLCAgLTUx
NiwgICA4MDUsICAgIDk4LCAgMTAzNSwgICA0NDEsICAgOTkwLCAgIDUzMSwKPiArICAgICA5MDcs
ICAtMjc5LCAgIDgyNiwgICAzNTgsICAgNjgzLCAgMTA3NCwgICA2OTksICAgMjc5LCAgIDkwOSwg
ICA2MzgsCj4gKyAgICAtNTE5LCAgICA4NywgICA3MDcsICAgNzUzLCAgIDcxMSwgICA5MTYsICAg
IDg3LCAgIDIyMSwgICA3MTQsICAtNTE2LAo+ICsgICAgLTUxNiwgICA5ODIsICAgOTM4LCAgIDQ2
MCwgICA5NTgsICAgIDg3LCAgMTAyOCwgICA0NjIsICAgIDg3LCAgLTEwOSwKPiArICAgICA5NjMs
ICAgMzU3LCAgIDc1NCwgICAzNTcsICAgNzk3LCAgICA4NywgIC01MTksICAtNTE5LCAgIDc4Miwg
ICA3ODMsCj4gKyAgICAtMjgwLCAgIDc4NCwgICA5OTQsICAgOTk5LCAgIDgwMCwgIDEwMDAsICAg
ODAwLCAgIDk5NywgIDEwMDIsICAgIDQ2LAo+ICsgICAgICA0NywgICA4MDAsICAgNjg0LCAgIDgw
MCwgICA4NDcsICAgMzYzLCAgMTAwNSwgICAzNTgsICAgOTY0LCAgIDM1OCwKPiArICAgIDEwMjYs
ICAgNzU3LCAgIDc1OCwgIDEwMDcsICAxMDExLCAgMTAxMywgIC02MTEsICAgNDgyLCAgLTUxNiwg
IDEwMjUsCj4gKyAgICAgOTU5LCAgLTYxMSwgICA3NjcsICAxMDE4LCAgICA3NiwgIDEwMjAsICAg
ODM2LCAgMTAzMywgICA4ODQsICAgNDgyLAo+ICsgICAgMTAzOCwgIC02MTQsICAxMDI5LCAgLTYx
MiwgIDEwMzEsICAtNTE5LCAgIDc1OSwgICA3OTUsICAtNjEyLCAgIDk3NywKPiArICAgIDEwMjQs
ICAtNjE1LCAgIDQ4MiwgICAgODcsICAgODg0LCAgICA3NiwgIDEwNTgsICAgIDc2LCAgICA3Niwg
ICA4MDAsCj4gKyAgICAxMDYwLCAgICA3NiwgIDEwNjYsICAgIDc2LCAgMTA2NCwgICAgOTgsICAg
NTk2LCAgICA3NiwgIDEwMjcsICAgIDc2LAo+ICsgICAgIDg0MSwgIDEwNDMsICAgNDQ5LCAgIDQx
MywgICAgODcsICAgIDg3LCAgIDQxNSwgICA0MTYsICAgNDE3LCAgIDY0MSwKPiArICAgICAgNzYs
ICAgNDgzLCAgICA3NiwgICA0ODQsICAgNDg4LCAgIDYzOSwgICAgOTgsICAgMzczLCAgICA5OCwg
ICAgOTgsCj4gKyAgICAgMzkwLCAgIDM1NiwgICAgOTgsICAgNDgzLCAgICA5OCwgICA0ODQsICAg
NjU0LCAgIDkzNSwgICAgOTgsICAgOTcxLAo+ICsgICAgICA5OCwgICA3NDksICAgNzUwLCAgIDc1
MSwgICA3NTIsICAgNzMyLCAgIDQ4MywgICA4NTAsICAgNDg0LCAgIDY1OSwKPiArICAgICA4Mzks
ICAgIDk4LCAgMTA1NSwgICAgOTgsICAgIDg3LCAgIDQzOSwgICAgODcsICAgNzAzLCAgIDc5Miwg
ICA4NDcsCj4gKyAgICAgODA4LCAgIDY3MCwgIDEwNDgsICAgODU5LCAgICA4NywgICAgNDEsICAg
IDQyLCAgICA0MywgICAgNDQsICAgNjkxLAo+ICsgICAgLTYxOCwgICA1NjgsICAgIDc2LCAgICA3
NiwgICAgNzYsICAgIDc2LCAgICA3NiwgICAgNzYsICAgIDc2LCAgICA3NiwKPiArICAgICA4NjYs
ICAxMDU0LCAgIDc2NywgICAgODcsICAgNTEyLCAgIDQwOSwgICA5MDYsICAgOTA4LCAgMTAzMCwg
ICAgNzYsCj4gKyAgICAgNjYwLCAgICA3NiwgICA0MDIsICAgNjI1LCAgICA3NiwgICAzMzQsICAg
MzM1LCAgIDYyNywgICA5NTIsICAgOTkxLAo+ICsgICAgIDIyMSwgICA5NTYsICAgNjMwLCAgICA5
OCwgICAgOTgsICAgIDk4LCAgICA5OCwgICAgOTgsICAgIDk4LCAgICA5OCwKPiArICAgICAgOTgs
ICAgOTQ5LCAgLTYxOCwgICA5NjUsICAgOTYxLCAgIDk2NywgICAyMTQsICAgOTcwLCAgIDY0MCwg
ICAgIDAsCj4gKyAgICAgIDk4LCAgIDk0NywgICAgOTgsICAgNjQyLCAgICAgMCwgICAgOTgsICAg
IDc2LCAgICAgMCwgICAgNzYsICAgICAwLAo+ICsgICAgIDUxNSwgICAgIDAsICAgIDc2LCAgICA3
NiwgICAgNzYsICAgNTI4LCAgICAgMCwgICAgIDAsICAtNjE4LCAgLTYxOCwKPiArICAgICAzNDUs
ICAgMzQ2LCAgICAgMCwgICA4MjEsICAgODIzLCAgICAgMCwgICAzMjksICAgICAwLCAgICA3Niwg
ICA4MjgsCj4gKyAgICAgODMwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICA1NjksICAg
ICAwLCAgICA5OCwgICAgIDAsICAgIDk4LAo+ICsgICAgICAgMCwgICAzNDIsICAgMzQzLCAgICA5
OCwgICAgOTgsICAgIDk4LCAgIDc5NywgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICA3OTcs
ICAgICAwLCAgICAgMCwgICA3OTcsICAgICAwLCAgIDc5NywgICAgNzYsICAgIDc2LCAgICAgMCwg
ICAgOTgsCj4gKyAgICAgOTIzLCAgIDY3NywgICA3NjcsICAgOTI0LCAgIDc2NywgIC02MTgsICAg
ICAwLCAgLTYxOCwgICAgIDAsICAgOTI3LAo+ICsgICAgLTYxNCwgICAgNzYsICAgOTMwLCAgIDQ4
MiwgICA4MjEsICAgODIzLCAgICAgMCwgICA4MjgsICAgODMwLCAgICAgMCwKPiArICAgICA3Njcs
ICAgMzUwLCAgIDM1MSwgICAzNTIsICAgMzUzLCAgIDM1NCwgICAgIDAsICAgIDk4LCAgICA5OCwg
ICA3NjcsCj4gKyAgICAxMDM5LCAgIDc0OCwgIDEwNDEsICAgNzQ5LCAgIDc1MCwgICA3NTEsICAg
NzUyLCAgMTA0MiwgICAgIDAsICAgNzk1LAo+ICsgICAgICAgMCwgIDEwNDQsICAgIDk4LCAgMTA0
NiwgICAgIDAsICAgIDc2LCAgIDc5NSwgICA2MTQsICAgNjE2LCAgICAgMCwKPiArICAgIDEwNDcs
ICAgMzA3LCAgIDMwOCwgICAzMDksICAgMzEwLCAgIDMxMSwgICAyNzAsICAgNzQ4LCAgIDMyOSwg
ICA3NDksCj4gKyAgICAgNzUwLCAgIDc1MSwgICA3NTIsICAgNzUzLCAgICA3NiwgIDEwMTIsICAx
MDE0LCAgIDQ4MywgICAgIDAsICAgNDg0LAo+ICsgICAgIDQ4NywgIDEwMTksICAgNjEzLCAgMTAy
MSwgIDEwMjIsICAgICAwLCAgICA5OCwgICAgIDAsICAgODcwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgIDc1NCwgICA5ODcsICAgODcxLCAgICAgMCwgICAgIDAsICAgOTg5LCAgICAgMCwg
ICAgIDAsCj4gKyAgICAxMDcyLCAgIDYxNiwgICAgIDAsICAgICAwLCAgIDI3MCwgICAgOTgsICAx
MDczLCAgICAgMCwgICAgIDAsICAgNzk3LAo+ICsgICAgICAgMCwgICA3OTcsICAgOTE1LCAgICAg
MCwgICA3NTUsICAgICAwLCAgIDc5NywgICAgIDAsICAgNzk3LCAgICAgMCwKPiArICAgICA3NTYs
ICAgNzU3LCAgIDc1OCwgICAzNTAsICAgMzUxLCAgIDM1MiwgICAzNTMsICAgMzU0LCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgNzQ4LCAgICAgMCwgICA3NDksICAgNzUwLCAgIDc1MSwgICA3NTIsICAg
NzUzLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgIDc1OSwgICAgIDAsICAgICAwLCAgIDc2MCwKPiArICAgICA2NzUs
ICAgNzY3LCAgICAgMCwgICA5MTUsICAgICAwLCAgIDc1NCwgICAgIDAsICAgICAwLCAgMTA2NSwg
IDEwNjcsCj4gKyAgICAxMDY4LCAgMTA2OSwgICA3OTUsICAxMDM3LCAgIDc5NywgICAgIDAsICAg
MjM2LCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICA3NiwgICA3NDgsICAgIDc2LCAgIDc0
OSwgICA3NTAsICAgNzUxLCAgIDc1MiwgICA3NTUsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICA3NiwgICA3NTYsICAgNzU3LCAgIDc1OCwgICA3NDgsICAxMDc1LCAgIDc0OSwg
ICA3NTAsCj4gKyAgICAgNzUxLCAgIDc1MiwgICAgNzYsICAgICAwLCAgICA3NiwgICAgNzYsICAg
ICAwLCAgMTA1NiwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgOTgsICAgNzQ4LCAgICA5
OCwgICA3NDksICAgNzUwLCAgIDc1MSwgICA3NTIsICAgNzUzLCAgIDc1OSwKPiArICAgICAgIDAs
ICAgICAwLCAgIDc2MCwgICAgOTgsICAgICAwLCAgIDMyOSwgICAgIDAsICAgICAwLCAgIDg3MCwg
ICA1MjgsCj4gKyAgICAgICAwLCAgIDg2MCwgICAgIDAsICAgIDk4LCAgIDc2MSwgICAgOTgsICAg
IDk4LCAgIDc1NCwgICAgNzYsICAgICAwLAo+ICsgICAgIDM0MiwgICAzNDMsICAgICAwLCAgIDg3
MCwgICAgIDAsICAgICAwLCAgIDg2OSwgICAgIDAsICAgICAwLCAgIDk5NSwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICA3NTUsCj4gKyAgICAgNzM1LCAgICAgMCwgICA3MzYsICAgICAwLCAgICAgMCwgICAgIDAsICAg
NzU3LCAgIDc1OCwgICAgIDAsICAgIDk4LAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICA3
NiwgICAgIDAsICAgNjE2LCAgIDI3MCwgICAzNDcsICAgMzQ4LCAgIDM0OSwKPiArICAgICAzNTAs
ICAgMzUxLCAgIDM1MiwgICAzNTMsICAgMzU0LCAgICAgMCwgICAgNzYsICAgIDc2LCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgIDc2LCAgIDc1OSwgICAgIDAsICAgIDc2LCAgICA3NiwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgIDc2LAo+ICsgICAgICA3NiwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgOTgsICAgICAwLCAgICAgMCwgICAgIDAsICAgNzQ4LCAgICAgMCwKPiArICAgICA3NDks
ICAgNzUwLCAgIDc1MSwgICA3NTIsICAgNzUzLCAgICAgMCwgICAgIDAsICAgIDk4LCAgICA5OCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICA5OCwgICAgIDAsICAgODEwLCAgICA5OCwgICAgOTgsICAg
IDc2LCAgICAgMCwgICAgNzYsICAgIDc2LAo+ICsgICAgICA5OCwgICAgOTgsICAgICAwLCAgIDc1
NCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDIxNiwgICAyMTYsICAgICAwLCAgIDgzMiwg
ICAzMjksCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICA3NTUsICAg
ICAwLCAgICA5OCwgICAgIDAsICAgIDk4LAo+ICsgICAgICA5OCwgICA3NTYsICAgNzU3LCAgIDc1
OCwgICAzNDIsICAgMzQzLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICA5MzksICAgMjQ5LCAgIDI1Miwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAyMTYsICAgMjE2LCAgICAgMCwgICAgIDAsICAg
ICAwLCAgIDc1OSwgICAgIDAsICAgICAwLAo+ICsgICAgIDc2MCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgMzAwLCAgIDMwMSwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAzNDksICAgMzUwLCAgIDM1MSwgICAzNTIsICAgMzUzLCAgIDM1NCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICA3NiwgICAgIDAsICAg
ICAwLCAgIDg4MSwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAyMTYsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICA3NiwgICA5ODgsICAgICAwLCAgICAgMCwgICAgIDAsICAgOTkyLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICA3NiwgICAgOTgsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgIDc2LAo+ICsgICAgICA3NiwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgIDkxMSwgICAgIDAsICAgIDc2LCAgICAgMCwKPiArICAgICAgIDAs
ICAgIDc2LCAgICAgMCwgICAgOTgsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICA3Niwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgOTgsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICA5OCwgICAgOTgsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICA5OCwKPiArICAgICAgIDAs
ICAgICAwLCAgICA5OCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDkyNSwg
ICAgOTgsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAxMTksICAgMjcwLCAgIDExOSwgICAgIDAsICAgMzI5LCAgLTY0MSwKPiArICAgIC02NDEs
ICAtNjQxLCAgLTY0MSwgICAzMzQsICAgMzM1LCAgIDk0NCwgICAgNzYsICAtNjQxLCAgLTY0MSwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgMzQyLCAgIDM0MywgICAyMTYsICAg
ICAwLCAgICAgMCwgICAyMTYsICAgMjE2LAo+ICsgICAgIDIxNiwgICAgIDAsICAgMzAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgNzYsICAgIDc2LCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgIDk4LCAgIDIxNiwg
ICAgIDAsCj4gKyAgICAgMjE2LCAgIDIxNiwgICAgIDAsICAgMTE5LCAgIDExOSwgICAgIDAsICAg
ICAwLCAgIDI4MywgICAzNDUsICAgMzQ2LAo+ICsgICAgIDM0NywgICAzNDgsICAgMzQ5LCAgIDM1
MCwgICAzNTEsICAgMzUyLCAgIDM1MywgICAzNTQsICAgIDk4LCAgICA5OCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgIDc2LCAgICAgMCwg
ICAgNzYsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgMjgzLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICA3NiwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgIDM3OSwgICAzODksICAgMzg5LCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgNzYsICAgICAwLCAgICA5OCwg
ICAgIDAsCj4gKyAgICAgIDk4LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgOTgsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICA3
NiwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAzMjks
ICAgMzMwLCAgIDMzMSwgICAzMzIsICAgMzMzLCAgIDMzNCwgICAzMzUsICAgIDk4LCAgICAgMCwg
ICAzMzgsCj4gKyAgICAgMzM5LCAgICAgMCwgICAyMTYsICAgICAwLCAgICAgMCwgICAzNDIsICAg
MzQzLCAgIDUyNywgICA1MzMsICAgNTM0LAo+ICsgICAgIDUzNSwgICA1MzYsICAgNTM3LCAgICAg
MCwgICAgOTgsICAgNTM4LCAgIDUzOSwgICA1NDAsICAgNTQxLCAgIDU0MiwKPiArICAgICA1NDMs
ICAgNTQ0LCAgIDU0NSwgICA1NDYsICAgICAwLCAgICAgMCwgICA1NDcsICAgNTQ4LCAgIDU0OSwg
ICA1NTAsCj4gKyAgICAgNTUxLCAgIDU1MiwgICA1NTMsICAgNTU0LCAgIDU1NSwgICA1NTYsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgMjE2LAo+ICsgICAgIDM0NSwgICAzNDYsICAgMzQ3LCAgIDM0
OCwgICAzNDksICAgMzUwLCAgIDM1MSwgICAzNTIsICAgMzUzLCAgIDM1NCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgIDExOSwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICA2MDgsCj4gKyAgICAgNjA4LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICA2MDgsICAgMjE2LAo+ICsgICAgIDIxNiwgICAgIDAsICAgICAwLCAgIDEx
OSwgICAyMTYsICAgMTE5LCAgIDYwOCwgICA2MDgsICAgMjE2LCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAxMTksICAgICAwLCAgIDExOSwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgIDYzMywgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgNjA4LCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDI4MywKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAyMTYsICAgICAwLCAgICAgMCwgICAyMTYsICAgMTE1LCAgICAgMCwg
ICAxMTUsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgIDIxNiwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgMTE5LCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAxMTksICAgICAwLCAgIDY2MywgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgIDExOSwgICAyODMsICAgICAwLAo+ICsgICAgIDUzMiwgICAgIDAsICAgMjE2LCAgICAg
MCwgICAgIDAsICAgICAwLCAgIDExNSwgICAxMTUsICAgICAwLCAgICAgMCwKPiArICAgICAyODEs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAxMTksICAgICAwLCAgIDI4MSwgICAgIDAsICAgMTE5LCAgICAgMCwKPiArICAgICAxMTks
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAzNzcsCj4gKyAgICAgMzg3LCAgIDM4NywgICAzODcsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgIDExNiwgICAgIDAsICAgMTE2LCAgICAgMCwKPiArICAgICAgIDAs
ICAgMjE2LCAgICAgMCwgICAgIDAsICAgICAwLCAgIDIxNiwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICA1MzIsICAgNTMyLCAgICAgMCwgICAyMTYsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgODMsICAgICAwLCAgICA4MywgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgIDIxNiwgICAgIDAsICAgMjE2LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAxMTYsICAg
MTE2LCAgIDIxNiwgICAyMTYsICAgMjgyLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgMTE5LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgIDgzLCAgICA4MywgICAyODIsICAg
ICAwLCAgICAgMCwgICAyODMsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgMzc4LCAgIDM4OCwKPiArICAgICAzODgs
ICAgMzg4LCAgICAgMCwgICAxMTUsICAgICAwLCAgIDIxNiwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgNjA4LCAgIDgxMywgICAgIDAsICAgMjE2LCAgICAgMCwgICAgIDAsICAg
NjA4LCAgIDYwOCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgNjA4LCAgIDYw
OCwgICAgIDAsICAgICAwLCAgIDM3NCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAyMTYs
ICAgICAwLCAgIDI4MywgICAgIDAsICAgICAwLCAgICAgMCwgICAxMTUsICAgICAwLCAgIDExNSwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgMTE1LAo+ICsgICAgICAgMCwgICAxMTUsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgNjA4LCAgIDYwOCwg
ICAgIDAsCj4gKyAgICAgNjA4LCAgIDYwOCwgICAyODEsICAgICAwLCAgIDMyOSwgICAzMzAsICAg
MzMxLCAgIDMzMiwgICAzMzMsICAgMzM0LAo+ICsgICAgIDMzNSwgICAzMzYsICAgICAwLCAgIDMz
OCwgICAzMzksICAgICAwLCAgIDExOSwgICAgIDAsICAgMTE5LCAgIDM0MiwKPiArICAgICAzNDMs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAyMTYsCj4gKyAgICAgICAwLCAgIDExNSwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
MTE1LCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgIDExOSwgICAgIDAsICAgMTE2LCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAxMTUs
ICAgMjgxLCAgICAgMCwgICAgIDAsICAgMzQ1LCAgIDM0NiwgICAzNDcsICAgMzQ4LCAgIDM0OSwg
ICAzNTAsCj4gKyAgICAgMzUxLCAgIDM1MiwgICAzNTMsICAgMzU0LCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAyMTYsICAgICAwLAo+ICsgICAgICA4MywgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgMTE2LCAgICAgMCwgICAxMTYsICAgOTEzLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDYwOCwgICAyODMsICAgMTE1LCAgIDExNiwg
ICAgIDAsCj4gKyAgICAgMTE2LCAgIDExNSwgICAgIDAsICAgMTE1LCAgICAgMCwgICA3ODYsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICA4
MywgICAgIDAsICAgIDgzLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDExOSwKPiArICAgICAyMTYs
ICAgMjgyLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgODMsICAgICAwLCAgICA4Mywg
ICAgIDAsCj4gKyAgICAgICAwLCAgIDI4MywgICAxMTksICAgNTMyLCAgICAgMCwgICAgIDAsICAg
NjA4LCAgIDIxNiwgICAgIDAsICAgNTMyLAo+ICsgICAgIDUzMiwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgNTMyLCAgIDUzMiwgICAyMTYsICAgICAwLCAgICAgMCwKPiArICAgICAxMTYs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDExNiwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgMTE2LAo+ICsgICAgIDI4MiwgICAgIDAsICAgMTE5LCAgICAg
MCwgICAgIDAsICAgMTE5LCAgLTY0MCwgICAgIDAsICAgIDgzLCAgICAgMCwKPiArICAgICAxMTgs
ICAgICAwLCAgIDExOCwgICAgODMsICAtNjQwLCAgLTY0MCwgIC02NDAsICAgICAwLCAgICAgMCwg
IC02NDAsCj4gKyAgICAtNjQwLCAgLTY0MCwgICAgIDAsICAtNjQwLCAgIDExNSwgICAgIDAsICAg
ICAwLCAgICA4MywgICAgIDAsICAgICAwLAo+ICsgICAgIDUyNiwgICAgIDAsICAtNjQwLCAgLTY0
MCwgICAgIDAsICAgICAwLCAgIDExNiwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAxMTYs
ICAgMjgxLCAgIDExNiwgIC02NDAsICAtNjQwLCAgICAgMCwgIC02NDAsICAtNjQwLCAgLTY0MCwg
IC02NDAsCj4gKyAgICAtNjQwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgMTE4LAo+ICsgICAgIDExOCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgODMsICAgICAwLCAgICAgMCwgICAgIDAsICAgIDgzLCAgICAgMCwKPiArICAgICAgODMs
ICAgICAwLCAgICAgMCwgICAgIDAsICAtNjQwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAzODksCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAyODEsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgIDExOSwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgIC02NDAs
ICAtNjQwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDUzMiwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICA1MjYsICAgNTI2LCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgIDExOSwgICAgIDAsICAgICAwLCAgICAg
MCwgIC02NDAsICAgMTE5LCAgIDIxNiwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAxMTYsICAgMTE5LCAgICAgMCwgICAgIDAsICAgMTE5LCAgICAgMCwg
ICAxMTUsCj4gKyAgICAgICAwLCAgIDExNSwgICAgIDAsICAgICAwLCAgIDExOSwgICAgIDAsICAg
ICAwLCAgLTY0MCwgIC02NDAsICAgICAwLAo+ICsgICAgIDI4MiwgICAgIDAsICAgMjMyLCAgLTY0
MCwgICAgIDAsICAtNjQwLCAgICAgMCwgIC02NDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgIDgzLCAgICAgMCwgICAxMTUsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgMzg5LAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgMjgyLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDk4MCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAxMTksICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgMjgxLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgIDExOCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAxMTksICAgMTE5LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAxMTUsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAyODEsICAgMTE1LCAgICAgMCwgICAgIDAsICAgMTE2LCAgIDExOCwKPiArICAgICAxMTYs
ICAgMTE4LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAxMTgsICAgMTE5LCAgIDExOCwgICAxMTksICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgMTE2LCAgIDEx
OSwgICAgIDAsICAgICAwLCAgICA4MywgICAgIDAsICAgIDgzLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDExNSwgICAgIDAsICAgICAwLCAgIDExNSwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAxMTksICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICA4MywgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgMTE4LCAgICAgMCwgICAgIDAsICAgICAwLCAgIDI4Miwg
ICAxMTgsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgIDEx
OCwgICAgIDAsICAgICAwLCAgIDExOCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgMTE2LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgMjgyLCAgIDExNiwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgMzg3LCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICA4MywKPiArICAgICAxMTgs
ICAgICAwLCAgICAgMCwgICAxMTUsICAgMTE4LCAgICAgMCwgICAxMTgsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgODMsICAgNTI2LCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgNTI2LAo+ICsgICAgIDUyNiwgICAgIDAsICAgICAwLCAgICAg
MCwgICAxMTYsICAgNTI2LCAgIDUyNiwgICAxMTYsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAxMTUsICAgICAwLCAgIDY4MiwgICAgIDAsICAgICAwLCAgIDExNSwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgIDExNSwgICAxMTgsICAgMTE4LAo+ICsgICAgIDExNSwgICAgIDAsICAgIDgzLCAgICAg
MCwgICAgIDAsICAgIDgzLCAgICAgMCwgICAxMTUsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDMyOSwg
ICAzMzAsCj4gKyAgICAgMzMxLCAgIDMzMiwgICAzMzMsICAgMzM0LCAgIDMzNSwgICAzMzYsICAg
MzM3LCAgIDMzOCwgICAzMzksICAgMzQwLAo+ICsgICAgIDM0MSwgICAgIDAsICAgICAwLCAgIDM0
MiwgICAzNDMsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgIDM4NywgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgMTE4LCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgIDM4OCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICA5NzgsICAgMTE2LCAgICAg
MCwgICAgIDAsICAgMTE1LCAgIDM0NCwgICAgIDAsICAgMzQ1LCAgIDM0NiwKPiArICAgICAzNDcs
ICAgMzQ4LCAgIDM0OSwgICAzNTAsICAgMzUxLCAgIDM1MiwgICAzNTMsICAgMzU0LCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgIC0yNTIsICAg
MTE1LCAgIDExNSwgICAgIDAsICAgICAwLAo+ICsgICAgICA4MywgICAgIDAsICAgMTE2LCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAxMTYsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAxMTYsICAgICAwLCAgIDUyNiwg
ICAxMTYsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
MTE2LCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICA4MywgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgIDgzLCAgIDExNSwgICAgIDAsICAgMTE1LCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgIDgzLCAgICAgMCwgICAxMTUsICAgIDgzLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICA4MywgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAzODgsICAgICAwLCAgICAg
MCwgICAgIDAsICAgMTE1LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgIDExOCwgICAgIDAsICAgMTE4LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgOTc5LCAgICAgMCwgICAgIDAsICAgICAwLCAgIDExNiwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgIDExOCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDExNiwgICAxMTYsICAgICAwLCAgIDk3Niwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgODMsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgODMsICAgIDgzLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAxMTYsICAg
ICAwLCAgIDExNiwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgMTE2LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDExOCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgIDgzLCAgIDExNiwgICAgODMsICAg
ICAwLCAgICAgMCwgICAxMTgsICAgMTE4LAo+ICsgICAgICAgNSwgICAgIDYsICAgICA3LCAgICA4
MywgICAgIDksICAgMTE4LCAgIDExOCwgICAgIDAsICAgIDEwLCAgICAxMSwKPiArICAgICAgIDAs
ICAgMTE4LCAgIDExOCwgICAgMTIsICAgICAwLCAgICAxMywgICAgMTQsICAgIDE1LCAgIDI0NCwg
ICAyNDUsCj4gKyAgICAgIDE4LCAgICAxOSwgICAgODMsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAyMCwgICAyNDYsICAgMjQ3LAo+ICsgICAgICAyMywgICAgMjQsICAgIDI1LCAgICAy
NiwgICAgIDAsICAgICAwLCAgIDIwNSwgICAgIDAsICAgMTE4LCAgICAgMCwKPiArICAgICAgIDAs
ICAgMTE4LCAgICAgMCwgICAyNzQsICAgICAwLCAgICAgMCwgICAgMzIsICAgIDMzLCAgICAzNCwg
ICAgMzUsCj4gKyAgICAgIDM2LCAgICAzNywgICAgMzgsICAgIDM5LCAgICA0MCwgICAgIDAsICAg
IDQxLCAgICA0MiwgICAgNDMsICAgIDQ0LAo+ICsgICAgICAgMCwgICAgNDUsICAgIDQ2LCAgICA0
NywgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgIDI3
NSwgICAgIDAsICAgICAwLCAgIDIwOCwgICAgNTIsICAgICAwLCAgICA1MywKPiArICAgICAgNTQs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICA1NiwgICAgNTcsICAgIDU4LCAgICA1OSwg
ICAgNjAsCj4gKyAgICAgIDYxLCAgICA2MiwgICAgNjMsICAgIDY0LCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAtNjE4LCAgICAg
MCwgICAgIDAsICAgICAwLCAgIDExOCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgIC02MTgs
ICAtNjE4LCAgLTYxOCwgICAgIDAsICAgMjc2LCAgLTYxOCwgIC02MTgsICAtNjE4LCAgICAgMCwg
IC02MTgsCj4gKyAgICAgICAwLCAgIDI3NywgICAgIDAsICAgICAwLCAgIDExOCwgICAgIDAsICAg
ICAwLCAgICAgMCwgIC02MTgsICAtNjE4LAo+ICsgICAgLTYxOCwgIC02MTgsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgIDExOCwgICAgIDAsICAgICAwLCAgLTYxOCwKPiArICAgIC02MTgs
ICAgMTE4LCAgLTYxOCwgIC02MTgsICAtNjE4LCAgLTYxOCwgIC02MTgsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgMTE4LCAgICAgMCwgICAgIDAsICAgMTE4LCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgIDExOCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgIC02MTgs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
IC02MTgsCj4gKyAgICAtNjE4LCAgLTYxOCwgIC02MTgsICAtNjE4LCAgLTYxOCwgIC02MTgsICAt
NjE4LCAgLTYxOCwgIC02MTgsICAtNjE4LAo+ICsgICAgLTYxOCwgIC02MTgsICAgICAwLCAgICAg
MCwgIC02MTgsICAtNjE4LCAgLTYxOCwgIC02MTgsICAgICAwLCAgIDczOCwKPiArICAgIC02MTgs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgIC02MTgsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAxMTgsICAgICAwLAo+ICsgICAgLTYxOCwgICAgIDAsICAgICAwLCAgLTYx
OCwgICAgIDAsICAgICAwLCAgLTExMSwgIC02MTgsICAtNjE4LCAgLTYxOCwKPiArICAgIC02MTgs
ICAtNjE4LCAgLTYxOCwgIC02MTgsICAtNjE4LCAgLTYxOCwgIC02MTgsICAtNjE4LCAgLTYxOCwg
ICAxMTgsCj4gKyAgICAgMTE4LCAgICAgMCwgICAgIDAsICAtNjE4LCAgLTYxOCwgIC02MTgsICAt
NjE4LCAgICAgMCwgICAgIDAsICAtNjE4LAo+ICsgICAgLTYxOCwgIC02MTgsICAgICAwLCAgLTYx
OCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAtNjQwLCAgICAgNCwgICAgIDAsICAgICA1LCAgICAgNiwg
ICAgIDcsCj4gKyAgICAgICA4LCAgICAgOSwgICAgIDAsICAgICAwLCAgICAgMCwgICAgMTAsICAg
IDExLCAgICAgMCwgICAgIDAsICAgMTE4LAo+ICsgICAgICAxMiwgICAxMTgsICAgIDEzLCAgICAx
NCwgICAgMTUsICAgIDE2LCAgICAxNywgICAgMTgsICAgIDE5LCAgIDExOCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgIDIwLCAgICAyMSwgICAgMjIsICAgIDIzLCAgICAyNCwg
ICAgMjUsCj4gKyAgICAgIDI2LCAgICAgMCwgICAgIDAsICAgIDI3LCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAxMTgsICAgIDI4LAo+ICsgICAgICAyOSwgICAgMzAsICAgIDMxLCAgICAz
MiwgICAgMzMsICAgIDM0LCAgICAzNSwgICAgMzYsICAgIDM3LCAgICAzOCwKPiArICAgICAgMzks
ICAgIDQwLCAgICAgMCwgICAgNDEsICAgIDQyLCAgICA0MywgICAgNDQsICAgICAwLCAgICA0NSwg
ICAgNDYsCj4gKyAgICAgIDQ3LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgIDQ4LAo+ICsgICAgICA0OSwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgIDUwLCAgICAgMCwgICAgIDAsICAgIDUxLCAgICA1MiwgICAgIDAsICAg
IDUzLCAgICA1NCwgICAgIDAsICAgIDU1LAo+ICsgICAgICAgMCwgICAgIDAsICAgIDU2LCAgICA1
NywgICAgNTgsICAgIDU5LCAgICA2MCwgICAgNjEsICAgIDYyLCAgICA2MywKPiArICAgICAgNjQs
ICAtNTE2LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
IC01MTYsCj4gKyAgICAtNTE2LCAgLTUxNiwgICAgIDAsICAgICAwLCAgLTUxNiwgIC01MTYsICAt
NTE2LCAgICAgMCwgIC01MTYsICAgICAwLAo+ICsgICAgICAgMCwgICAgNjUsICAgIDY2LCAgICA2
NywgICAgIDAsICAgICAwLCAgLTUxNiwgICAgIDAsICAtNTE2LCAgLTUxNiwKPiArICAgIC01MTYs
ICAgICAwLCAgICAgMCwgIC02NDAsICAgICAwLCAgLTY0MCwgICAgIDAsICAgICAwLCAgLTUxNiwg
IC01MTYsCj4gKyAgICAgICAwLCAgLTUxNiwgIC01MTYsICAtNTE2LCAgLTUxNiwgIC01MTYsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgIDMyOSwgICAzMzAsICAgMzMxLCAgIDMzMiwKPiArICAgICAzMzMs
ICAgMzM0LCAgIDMzNSwgICAzMzYsICAgMzM3LCAgIDMzOCwgICAzMzksICAgMzQwLCAgIDM0MSwg
IC01MTYsCj4gKyAgICAgICAwLCAgIDM0MiwgICAzNDMsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgIC01MTYsICAtNTE2LAo+ICsgICAgLTUxNiwgIC01MTYsICAtNTE2LCAgLTUx
NiwgIC01MTYsICAtNTE2LCAgLTUxNiwgIC01MTYsICAtNTE2LCAgLTUxNiwKPiArICAgIC01MTYs
ICAgICAwLCAgICAgMCwgIC01MTYsICAtNTE2LCAgLTUxNiwgIC01MTYsICAgICAwLCAgLTUxNiwg
IC01MTYsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDM0NCwgIC01MTYsICAg
MzQ1LCAgIDM0NiwgICAzNDcsICAgMzQ4LAo+ICsgICAgIDM0OSwgICAzNTAsICAgMzUxLCAgIDM1
MiwgICAzNTMsICAgMzU0LCAgICAgMCwgICAgIDAsICAgICAwLCAgLTUxNiwKPiArICAgICAgIDAs
ICAgICAwLCAgLTUxNiwgICAgIDAsICAgICAwLCAgLTUxNiwgIC01MTYsICAtNTE2LCAgLTUxNiwg
IC01MTYsCj4gKyAgICAtNTE2LCAgLTUxNiwgIC01MTYsICAtNTE2LCAgLTUxNiwgIC01MTYsICAt
NTE2LCAgLTUxNiwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgLTUx
NiwgIC01MTYsICAtNTE2LCAgLTUxOSwgICAgIDAsICAtNTE2LCAgLTUxNiwKPiArICAgIC01MTYs
ICAgICAwLCAgLTUxNiwgICAgIDAsICAtNTE5LCAgLTUxOSwgIC01MTksICAgICAwLCAgICAgMCwg
IC01MTksCj4gKyAgICAtNTE5LCAgLTUxOSwgICAgIDAsICAtNTE5LCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICA2ODIsICAgICAwLAo+ICsgICAgICAgMCwgIC01MTksICAgICAwLCAgLTUx
OSwgIC01MTksICAtNTE5LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgIC01MTksICAtNTE5LCAgICAgMCwgIC01MTksICAtNTE5LCAgLTUxOSwg
IC01MTksCj4gKyAgICAtNTE5LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAzMjksICAgMzMwLCAgIDMz
MSwgICAzMzIsICAgMzMzLCAgIDMzNCwgICAzMzUsICAgMzM2LCAgIDMzNywKPiArICAgICAzMzgs
ICAgMzM5LCAgIDM0MCwgICAzNDEsICAtNTE5LCAgICAgMCwgICAzNDIsICAgMzQzLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAtNTE5LCAgLTUxOSwgIC01MTksICAt
NTE5LCAgLTUxOSwgIC01MTksICAtNTE5LAo+ICsgICAgLTUxOSwgIC01MTksICAtNTE5LCAgLTUx
OSwgIC01MTksICAtNTE5LCAgICAgMCwgICAgIDAsICAtNTE5LCAgLTUxOSwKPiArICAgIC01MTks
ICAtNTE5LCAgICAgMCwgIC01MTksICAtNTE5LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAzNDQsCj4gKyAgICAtNTE5LCAgIDM0NSwgICAzNDYsICAgMzQ3LCAgIDM0OCwgICAzNDksICAg
MzUwLCAgIDM1MSwgICAzNTIsICAgMzUzLAo+ICsgICAgIDM1NCwgICAgIDAsICAgICAwLCAgICAg
MCwgIC01MTksICAgICAwLCAgICAgMCwgIC01MTksICAgICAwLCAgICAgMCwKPiArICAgIC01MTks
ICAtNTE5LCAgLTUxOSwgIC01MTksICAtNTE5LCAgLTUxOSwgIC01MTksICAtNTE5LCAgLTUxOSwg
IC01MTksCj4gKyAgICAtNTE5LCAgLTUxOSwgIC01MTksICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgIC01MTksICAtNTE5LAo+ICsgICAgLTUxOSwgIC02MTksICAgICAwLCAgLTUx
OSwgIC01MTksICAtNTE5LCAgICAgMCwgIC01MTksICAgICAwLCAgLTYxOSwKPiArICAgIC02MTks
ICAtNjE5LCAgICAgMCwgICAgIDAsICAtNjE5LCAgLTYxOSwgIC02MTksICAgICAwLCAgLTYxOSwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgLTYxOSwgIC02MTksICAtNjE5LAo+ICsgICAgLTYxOSwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAtNjE5LCAgLTYxOSwKPiArICAgICAgIDAs
ICAtNjE5LCAgLTYxOSwgIC02MTksICAtNjE5LCAgLTYxOSwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
MzI5LCAgIDMzMCwgICAzMzEsICAgMzMyLAo+ICsgICAgIDMzMywgICAzMzQsICAgMzM1LCAgIDMz
NiwgICAzMzcsICAgMzM4LCAgIDMzOSwgIC02NDEsICAtNjQxLCAgLTYxOSwKPiArICAgICAgIDAs
ICAgMzQyLCAgIDM0MywgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgLTYxOSwg
IC02MTksCj4gKyAgICAtNjE5LCAgLTYxOSwgIC02MTksICAtNjE5LCAgLTYxOSwgIC02MTksICAt
NjE5LCAgLTYxOSwgIC02MTksICAtNjE5LAo+ICsgICAgLTYxOSwgICAgIDAsICAgICAwLCAgLTYx
OSwgIC02MTksICAtNjE5LCAgLTYxOSwgICAgIDAsICAgICAwLCAgLTYxOSwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgLTYxOSwgICAzNDUsICAgMzQ2LCAgIDM0Nywg
ICAzNDgsCj4gKyAgICAgMzQ5LCAgIDM1MCwgICAzNTEsICAgMzUyLCAgIDM1MywgICAzNTQsICAg
ICAwLCAgICAgMCwgICAgIDAsICAtNjE5LAo+ICsgICAgICAgMCwgICAgIDAsICAtNjE5LCAgICAg
MCwgICAgIDAsICAgICAwLCAgLTYxOSwgIC02MTksICAtNjE5LCAgLTYxOSwKPiArICAgIC02MTks
ICAtNjE5LCAgLTYxOSwgIC02MTksICAtNjE5LCAgLTYxOSwgIC02MTksICAtNjE5LCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgIC02MTksICAtNjE5LCAgLTYxOSwgIC02MTksICAt
NjIwLCAgICAgMCwgIC02MTksICAtNjE5LAo+ICsgICAgLTYxOSwgICAgIDAsICAtNjE5LCAgICAg
MCwgIC02MjAsICAtNjIwLCAgLTYyMCwgICAgIDAsICAgICAwLCAgLTYyMCwKPiArICAgIC02MjAs
ICAtNjIwLCAgICAgMCwgIC02MjAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgIC02MjAsICAtNjIwLCAgLTYyMCwgIC02MjAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgLTYy
MCwgIC02MjAsICAgICAwLCAgLTYyMCwgIC02MjAsICAtNjIwLCAgLTYyMCwKPiArICAgIC02MjAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgIC02MjAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgIC02MjAsICAtNjIwLCAgLTYyMCwgIC02MjAsICAtNjIwLCAgLTYyMCwg
IC02MjAsCj4gKyAgICAtNjIwLCAgLTYyMCwgIC02MjAsICAtNjIwLCAgLTYyMCwgIC02MjAsICAg
ICAwLCAgICAgMCwgIC02MjAsICAtNjIwLAo+ICsgICAgLTYyMCwgIC02MjAsICAgICAwLCAgICAg
MCwgIC02MjAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgIC02MjAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgLTYyMCwgICAgIDAsICAg
ICAwLCAgLTYyMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgIC02MjAsICAtNjIwLCAgLTYy
MCwgIC02MjAsICAtNjIwLCAgLTYyMCwgIC02MjAsICAtNjIwLCAgLTYyMCwKPiArICAgIC02MjAs
ICAtNjIwLCAgLTYyMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAtNjIwLCAgLTYyMCwg
IC02MjAsCj4gKyAgICAtNjIwLCAgLTMwNCwgICAgIDAsICAtNjIwLCAgLTYyMCwgIC02MjAsICAg
ICAwLCAgLTYyMCwgICAgIDAsICAtMzA0LAo+ICsgICAgLTMwNCwgIC0zMDQsICAgICAwLCAgICAg
MCwgIC0zMDQsICAtMzA0LCAgLTMwNCwgICAgIDAsICAtMzA0LCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgLTMwNCwg
IC0zMDQsCj4gKyAgICAtMzA0LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgIC0zMDQsICAtMzA0LAo+ICsgICAgICAgMCwgIC0zMDQsICAtMzA0LCAgLTMw
NCwgIC0zMDQsICAtMzA0LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAtMzA0LAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAtMzA0LCAgLTMwNCwKPiArICAgIC0zMDQs
ICAtMzA0LCAgLTMwNCwgIC0zMDQsICAtMzA0LCAgLTMwNCwgIC0zMDQsICAtMzA0LCAgLTMwNCwg
IC0zMDQsCj4gKyAgICAtMzA0LCAgICAgMCwgICAgIDAsICAtMzA0LCAgLTMwNCwgIC0zMDQsICAt
MzA0LCAgICAgMCwgICA3MzksICAtMzA0LAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAtMzA0LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
IC0zMDQsCj4gKyAgICAgICAwLCAgICAgMCwgIC0zMDQsICAgICAwLCAgICAgMCwgIC0xMTMsICAt
MzA0LCAgLTMwNCwgIC0zMDQsICAtMzA0LAo+ICsgICAgLTMwNCwgIC0zMDQsICAtMzA0LCAgLTMw
NCwgIC0zMDQsICAtMzA0LCAgLTMwNCwgIC0zMDQsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgIC0zMDQsICAtMzA0LCAgLTMwNCwgIC00NDAsICAgICAwLCAgLTMwNCwg
IC0zMDQsCj4gKyAgICAtMzA0LCAgICAgMCwgIC0zMDQsICAgICAwLCAgLTQ0MCwgIC00NDAsICAt
NDQwLCAgICAgMCwgICAgIDAsICAtNDQwLAo+ICsgICAgLTQ0MCwgIC00NDAsICAgICAwLCAgLTQ0
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgLTQ0MCwgIC00NDAsICAtNDQwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAtNDQwLCAgLTQ0MCwgICAgIDAsICAt
NDQwLCAgLTQ0MCwgIC00NDAsICAtNDQwLAo+ICsgICAgLTQ0MCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgLTQ0MCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgLTQ0
MCwgIC00NDAsICAtNDQwLCAgLTQ0MCwgIC00NDAsICAtNDQwLCAgLTQ0MCwKPiArICAgIC00NDAs
ICAtNDQwLCAgLTQ0MCwgIC00NDAsICAtNDQwLCAgLTQ0MCwgICAgIDAsICAgICAwLCAgLTQ0MCwg
IC00NDAsCj4gKyAgICAtNDQwLCAgLTQ0MCwgICAgIDAsICAgICAwLCAgLTQ0MCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgLTQ0MCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAtNDQwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgLTQ0MCwgICAgIDAsICAtNDQwLCAgLTQ0MCwgIC00NDAsICAt
NDQwLCAgLTQ0MCwgIC00NDAsICAtNDQwLAo+ICsgICAgLTQ0MCwgIC00NDAsICAtNDQwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgIC00NDAsICAtNDQwLCAgLTQ0MCwKPiArICAgIC00NDAs
ICAtMjk2LCAgIDIzMiwgIC00NDAsICAtNDQwLCAgLTQ0MCwgICAgIDAsICAtNDQwLCAgICAgMCwg
IC0yOTYsCj4gKyAgICAtMjk2LCAgLTI5NiwgICAgIDAsICAgICAwLCAgLTI5NiwgIC0yOTYsICAt
Mjk2LCAgICAgMCwgIC0yOTYsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAtMjk2LCAgLTI5NiwKPiArICAgIC0yOTYs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgLTI5Niwg
IC0yOTYsCj4gKyAgICAgICAwLCAgLTI5NiwgIC0yOTYsICAtMjk2LCAgLTI5NiwgIC0yOTYsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
IC0yOTYsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgIC0yOTYsICAtMjk2LAo+ICsgICAgLTI5NiwgIC0yOTYsICAtMjk2LCAgLTI5
NiwgIC0yOTYsICAtMjk2LCAgLTI5NiwgIC0yOTYsICAtMjk2LCAgLTI5NiwKPiArICAgIC0yOTYs
ICAgICAwLCAgICAgMCwgIC0yOTYsICAtMjk2LCAgLTI5NiwgIC0yOTYsICAgICAwLCAgICAgMCwg
IC0yOTYsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgIC0yOTYsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgLTI5NiwKPiArICAgICAgIDAs
ICAgICAwLCAgLTI5NiwgICAgIDAsICAgICAwLCAgICAgMCwgIC0yOTYsICAtMjk2LCAgLTI5Niwg
IC0yOTYsCj4gKyAgICAtMjk2LCAgLTI5NiwgIC0yOTYsICAtMjk2LCAgLTI5NiwgIC0yOTYsICAt
Mjk2LCAgLTI5NiwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgLTI5
NiwgIC0yOTYsICAtMjk2LCAgLTY0MCwgICAgIDAsICAtMjk2LCAgLTI5NiwKPiArICAgIC0yOTYs
ICAgICAwLCAgLTI5NiwgICAgIDAsICAtNjQwLCAgLTY0MCwgIC02NDAsICAgICAwLCAgICAgMCwg
IC02NDAsCj4gKyAgICAtNjQwLCAgLTY0MCwgICAgIDAsICAtNjQwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAtNjQwLCAgLTY0
MCwgIC02NDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgIC02NDAsICAtNjQwLCAgICAgMCwgIC02NDAsICAtNjQwLCAgLTY0MCwg
IC02NDAsCj4gKyAgICAtNjQwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAtNjQwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAtNjQwLCAgLTY0MCwgIC02NDAsICAt
NjQwLCAgLTY0MCwgIC02NDAsICAtNjQwLAo+ICsgICAgLTY0MCwgIC02NDAsICAtNjQwLCAgLTY0
MCwgIC02NDAsICAtNjQwLCAgICAgMCwgICAgIDAsICAtNjQwLCAgLTY0MCwKPiArICAgIC02NDAs
ICAtNjQwLCAgICAgMCwgICAgIDAsICAtNjQwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAtNjQwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgIC02NDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAtNjQwLCAgICAgMCwgIC02NDAsICAtNjQwLCAgLTY0MCwgIC02NDAsICAtNjQwLCAgLTY0MCwg
IC02NDAsCj4gKyAgICAtNjQwLCAgLTY0MCwgIC02NDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgLTY0MCwgIC02NDAsICAtNjQwLAo+ICsgICAgLTY0MCwgIC0zMTEsICAgMjMyLCAgLTY0
MCwgIC02NDAsICAtNjQwLCAgICAgMCwgIC02NDAsICAgICAwLCAgLTMxMSwKPiArICAgIC0zMTEs
ICAtMzExLCAgICAgMCwgICAgIDAsICAtMzExLCAgLTMxMSwgIC0zMTEsICAgICAwLCAgLTMxMSwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgIC0zMTEsICAtMzExLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAtMzExLCAgLTMxMSwKPiArICAgICAgIDAs
ICAtMzExLCAgLTMxMSwgIC0zMTEsICAtMzExLCAgLTMxMSwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgLTMxMSwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgLTMxMSwg
IC0zMTEsCj4gKyAgICAtMzExLCAgLTMxMSwgIC0zMTEsICAtMzExLCAgLTMxMSwgIC0zMTEsICAt
MzExLCAgLTMxMSwgIC0zMTEsICAtMzExLAo+ICsgICAgLTMxMSwgICAgIDAsICAgICAwLCAgLTMx
MSwgIC0zMTEsICAtMzExLCAgLTMxMSwgICAgIDAsICAgICAwLCAgLTMxMSwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgLTMxMSwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAtMzExLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgLTMxMSwgICAgIDAsICAtMzExLCAgLTMxMSwKPiArICAgIC0zMTEs
ICAtMzExLCAgLTMxMSwgIC0zMTEsICAtMzExLCAgLTMxMSwgIC0zMTEsICAtMzExLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAtMzExLCAgLTMxMSwgIC0zMTEsICAt
NjE4LCAgIDIyOSwgIC0zMTEsICAtMzExLAo+ICsgICAgLTMxMSwgICAgIDAsICAtMzExLCAgICAg
MCwgIC02MTgsICAtNjE4LCAgLTYxOCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgIC02MTgs
ICAtNjE4LCAgICAgMCwgIC02MTgsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgIC02MTgsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgLTYx
OCwgIC02MTgsICAgICAwLCAgLTYxOCwgIC02MTgsICAtNjE4LCAgLTYxOCwKPiArICAgIC02MTgs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgMzI5LCAgIDMzMCwgICAzMzEsICAgMzMyLCAgIDMzMywg
ICAzMzQsCj4gKyAgICAgMzM1LCAgIDMzNiwgICAzMzcsICAgMzM4LCAgIDMzOSwgICAzNDAsICAg
MzQxLCAgICAgMCwgICAgIDAsICAgMzQyLAo+ICsgICAgIDM0MywgICAgIDAsICAgICAwLCAgICAg
MCwgIC02MTgsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgIC02MTgsICAtNjE4LCAgLTYxOCwgIC02MTgsICAtNjE4LCAgLTYxOCwg
IC02MTgsCj4gKyAgICAtNjE4LCAgLTYxOCwgIC02MTgsICAtNjE4LCAgLTYxOCwgIC02MTgsICAg
ICAwLCAgICAgMCwgIC02MTgsICAtNjE4LAo+ICsgICAgLTYxOCwgIC02MTgsICAgMzQ0LCAgIDY4
NywgICAzNDUsICAgMzQ2LCAgIDM0NywgICAzNDgsICAgMzQ5LCAgIDM1MCwKPiArICAgICAzNTEs
ICAgMzUyLCAgIDM1MywgICAzNTQsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgLTYxOCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAyMzYsICAgICAwLAo+ICsgICAgLTExMSwgIC02MTgsICAgICAwLCAgLTYx
OCwgIC02MTgsICAtNjE4LCAgLTYxOCwgIC02MTgsICAtNjE4LCAgLTYxOCwKPiArICAgIC02MTgs
ICAtNjE4LCAgLTYxOCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAtNjE4LCAgLTYxOCwg
IC02MTgsCj4gKyAgICAtMTAyLCAgLTYxOCwgICAgIDAsICAtNjE4LCAgICAgMCwgIC02MTgsICAg
ICAwLCAgLTYxOCwgICAgIDAsICAtNjE4LAo+ICsgICAgLTYxOCwgIC02MTgsICAgICAwLCAgICAg
MCwgICAgIDAsICAtNjE4LCAgLTYxOCwgICAgIDAsICAtNjE4LCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAtNjE4LCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgIC02MTgsICAtNjE4LAo+ICsgICAgICAgMCwgIC02MTgsICAtNjE4LCAgLTYx
OCwgIC02MTgsICAtNjE4LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAtNjE4LAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAtNjE4LCAgLTYxOCwKPiArICAgIC02MTgs
ICAtNjE4LCAgLTYxOCwgIC02MTgsICAtNjE4LCAgLTYxOCwgIC02MTgsICAtNjE4LCAgLTYxOCwg
IC02MTgsCj4gKyAgICAtNjE4LCAgICAgMCwgICAgIDAsICAtNjE4LCAgLTYxOCwgIC02MTgsICAt
NjE4LCAgICAgMCwgICA2ODcsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
IC02MTgsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgIC0xMTEsICAt
NjE4LCAgICAgMCwgIC02MTgsICAtNjE4LAo+ICsgICAgLTYxOCwgIC02MTgsICAtNjE4LCAgLTYx
OCwgIC02MTgsICAtNjE4LCAgLTYxOCwgIC02MTgsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgLTYxOCwgIC02MTgsICAtNjE4LCAgLTYxOCwgIC0zMDQsICAgICAwLCAgLTYxOCwg
ICAgIDAsCj4gKyAgICAtNjE4LCAgICAgMCwgIC02MTgsICAgICAwLCAgLTMwNCwgIC0zMDQsICAt
MzA0LCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgLTMwNCwgIC0zMDQsICAgICAwLCAgLTMw
NCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAtMzA0LCAgLTMwNCwgICAgIDAsICAt
MzA0LCAgLTMwNCwgIC0zMDQsICAtMzA0LAo+ICsgICAgLTMwNCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgLTMwNCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgLTMw
NCwgIC0zMDQsICAtMzA0LCAgLTMwNCwgIC0zMDQsICAtMzA0LCAgLTMwNCwKPiArICAgIC0zMDQs
ICAtMzA0LCAgLTMwNCwgIC0zMDQsICAtMzA0LCAgLTMwNCwgICAgIDAsICAgICAwLCAgLTMwNCwg
IC0zMDQsCj4gKyAgICAtMzA0LCAgLTMwNCwgICAgIDAsICAgNjg4LCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAtMzA0LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAtMTEzLCAgLTMwNCwgICAgIDAsICAtMzA0LCAgLTMwNCwgIC0zMDQsICAt
MzA0LCAgLTMwNCwgIC0zMDQsICAtMzA0LAo+ICsgICAgLTMwNCwgIC0zMDQsICAtMzA0LCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAtMzA0LCAgLTMwNCwKPiArICAgIC0xMDQs
ICAtMzA0LCAgICAgMCwgIC0zMDQsICAgICAwLCAgLTMwNCwgICAgIDAsICAtMzA0LCAgICAgMCwg
IC0zMDQsCj4gKyAgICAtMzA0LCAgLTMwNCwgICAgIDAsICAgICAwLCAgICAgMCwgIC0zMDQsICAt
MzA0LCAgICAgMCwgIC0zMDQsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgLTMwNCwg
IC0zMDQsCj4gKyAgICAgICAwLCAgLTMwNCwgIC0zMDQsICAtMzA0LCAgLTMwNCwgIC0zMDQsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
IC0zMDQsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgIC0zMDQsICAtMzA0LAo+ICsgICAgLTMwNCwgIC0zMDQsICAtMzA0LCAgLTMw
NCwgIC0zMDQsICAtMzA0LCAgLTMwNCwgIC0zMDQsICAtMzA0LCAgLTMwNCwKPiArICAgIC0zMDQs
ICAgICAwLCAgICAgMCwgIC0zMDQsICAtMzA0LCAgLTMwNCwgIC0zMDQsICAgICAwLCAgIDY4OCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgLTMwNCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgLTExMywgIC0zMDQsICAgICAwLCAgLTMwNCwg
IC0zMDQsCj4gKyAgICAtMzA0LCAgLTMwNCwgIC0zMDQsICAtMzA0LCAgLTMwNCwgIC0zMDQsICAt
MzA0LCAgLTMwNCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgLTMw
NCwgIC0zMDQsICAtMzA0LCAgICAgMCwgICAgIDAsICAtMzA0LCAgICAgMCwKPiArICAgIC0zMDQs
ICAgMjU0LCAgLTMwNCwgICAgIDUsICAgICA2LCAgICAgNywgICAgIDgsICAgICA5LCAgLTY0MCwg
IC02NDAsCj4gKyAgICAtNjQwLCAgICAxMCwgICAgMTEsICAgICAwLCAgICAgMCwgIC02NDAsICAg
IDEyLCAgICAgMCwgICAgMTMsICAgIDE0LAo+ICsgICAgICAxNSwgICAgMTYsICAgIDE3LCAgICAx
OCwgICAgMTksICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgMjAs
ICAgIDIxLCAgICAyMiwgICAgMjMsICAgIDI0LCAgICAyNSwgICAgMjYsICAgICAwLCAgICAgMCwg
ICAgMjcsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgMjgsICAg
IDI5LCAgIDI1NSwgICAgMzEsICAgIDMyLAo+ICsgICAgICAzMywgICAgMzQsICAgIDM1LCAgICAz
NiwgICAgMzcsICAgIDM4LCAgICAzOSwgICAgNDAsICAgICAwLCAgICA0MSwKPiArICAgICAgNDIs
ICAgIDQzLCAgICA0NCwgICAgIDAsICAgIDQ1LCAgICA0NiwgICAgNDcsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgNDgsICAg
IDQ5LCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgNTAsICAgICAwLCAgICAgMCwg
ICAgNTEsCj4gKyAgICAgIDUyLCAgICAgMCwgICAgNTMsICAgIDU0LCAgICAgMCwgICAgNTUsICAg
ICAwLCAgICAgMCwgICAgNTYsICAgIDU3LAo+ICsgICAgICA1OCwgICAgNTksICAgIDYwLCAgICA2
MSwgICAgNjIsICAgIDYzLCAgICA2NCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICA2NSwgICAgNjYsICAgIDY3LAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgLTY0MCwKPiArICAgICAyNTQs
ICAtNjQwLCAgICAgNSwgICAgIDYsICAgICA3LCAgICAgOCwgICAgIDksICAgICAwLCAgICAgMCwg
IC02NDAsCj4gKyAgICAgIDEwLCAgICAxMSwgICAgIDAsICAtNjQwLCAgLTY0MCwgICAgMTIsICAg
ICAwLCAgICAxMywgICAgMTQsICAgIDE1LAo+ICsgICAgICAxNiwgICAgMTcsICAgIDE4LCAgICAx
OSwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAyMCwKPiArICAgICAgMjEs
ICAgIDIyLCAgICAyMywgICAgMjQsICAgIDI1LCAgICAyNiwgICAgIDAsICAgICAwLCAgICAyNywg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAyOCwgICAgMjksICAg
MjU1LCAgICAzMSwgICAgMzIsICAgIDMzLAo+ICsgICAgICAzNCwgICAgMzUsICAgIDM2LCAgICAz
NywgICAgMzgsICAgIDM5LCAgICA0MCwgICAgIDAsICAgIDQxLCAgICA0MiwKPiArICAgICAgNDMs
ICAgIDQ0LCAgICAgMCwgICAgNDUsICAgIDQ2LCAgICA0NywgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICA0OCwgICAgNDksICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICA1MCwgICAgIDAsICAgICAwLCAgICA1MSwg
ICAgNTIsCj4gKyAgICAgICAwLCAgICA1MywgICAgNTQsICAgICAwLCAgICA1NSwgICAgIDAsICAg
ICAwLCAgICA1NiwgICAgNTcsICAgIDU4LAo+ICsgICAgICA1OSwgICAgNjAsICAgIDYxLCAgICA2
MiwgICAgNjMsICAgIDY0LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
IDY1LCAgICA2NiwgICAgNjcsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAtNjQwLCAgIDI1NCwKPiArICAgIC02NDAs
ICAgICA1LCAgICAgNiwgICAgIDcsICAgICA4LCAgICAgOSwgICAgIDAsICAgICAwLCAgLTY0MCwg
ICAgMTAsCj4gKyAgICAgIDExLCAgICAgMCwgICAgIDAsICAtNjQwLCAgICAxMiwgIC02NDAsICAg
IDEzLCAgICAxNCwgICAgMTUsICAgIDE2LAo+ICsgICAgICAxNywgICAgMTgsICAgIDE5LCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgIDIwLCAgICAyMSwKPiArICAgICAgMjIs
ICAgIDIzLCAgICAyNCwgICAgMjUsICAgIDI2LCAgICAgMCwgICAgIDAsICAgIDI3LCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgIDI4LCAgICAyOSwgICAyNTUsICAg
IDMxLCAgICAzMiwgICAgMzMsICAgIDM0LAo+ICsgICAgICAzNSwgICAgMzYsICAgIDM3LCAgICAz
OCwgICAgMzksICAgIDQwLCAgICAgMCwgICAgNDEsICAgIDQyLCAgICA0MywKPiArICAgICAgNDQs
ICAgICAwLCAgICA0NSwgICAgNDYsICAgIDQ3LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgIDQ4LCAgICA0OSwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgIDUwLCAgICAgMCwgICAgIDAsICAgIDUxLCAgICA1Miwg
ICAgIDAsCj4gKyAgICAgIDUzLCAgICA1NCwgICAgIDAsICAgIDU1LCAgICAgMCwgICAgIDAsICAg
IDU2LCAgICA1NywgICAgNTgsICAgIDU5LAo+ICsgICAgICA2MCwgICAgNjEsICAgIDYyLCAgICA2
MywgICAgNjQsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgNjUsICAg
IDY2LCAgICA2NywgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgIC02NDAsICAgMjU0LCAgLTY0MCwKPiArICAgICAgIDUs
ICAgICA2LCAgICAgNywgICAgIDgsICAgICA5LCAgICAgMCwgICAgIDAsICAtNjQwLCAgICAxMCwg
ICAgMTEsCj4gKyAgICAgICAwLCAgICAgMCwgIC02NDAsICAgIDEyLCAgICAgMCwgICAgMTMsICAg
IDE0LCAgICAxNSwgICAgMTYsICAgIDE3LAo+ICsgICAgICAxOCwgICAgMTksICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgMjAsICAgIDIxLCAgICAyMiwKPiArICAgICAgMjMs
ICAgIDI0LCAgICAyNSwgICAgMjYsICAgICAwLCAgICAgMCwgICAgMjcsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgMjgsICAgIDI5LCAgIDI1NSwgICAgMzEsICAg
IDMyLCAgICAzMywgICAgMzQsICAgIDM1LAo+ICsgICAgICAzNiwgICAgMzcsICAgIDM4LCAgICAz
OSwgICAgNDAsICAgICAwLCAgICA0MSwgICAgNDIsICAgIDQzLCAgICA0NCwKPiArICAgICAgIDAs
ICAgIDQ1LCAgICA0NiwgICAgNDcsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgNDgsICAgIDQ5LCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgNTAsICAgICAwLCAgICAgMCwgICAgNTEsICAgIDUyLCAgICAgMCwg
ICAgNTMsCj4gKyAgICAgIDU0LCAgICAgMCwgICAgNTUsICAgICAwLCAgICAgMCwgICAgNTYsICAg
IDU3LCAgICA1OCwgICAgNTksICAgIDYwLAo+ICsgICAgICA2MSwgICAgNjIsICAgIDYzLCAgICA2
NCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgIDI1NCwgICAgIDAsICAgICA1LCAgICAgNiwgICAgIDcsICAgICA4LCAgICAgOSwg
ICAgIDAsCj4gKyAgICAtNjQwLCAgLTY0MCwgICAgMTAsICAgIDExLCAgICA2NSwgICAgNjYsICAg
IDY3LCAgICAxMiwgICAgIDAsICAgIDEzLAo+ICsgICAgICAxNCwgICAgMTUsICAgIDE2LCAgICAx
NywgICAgMTgsICAgIDE5LCAgLTY0MCwgICAgIDAsICAtNjQwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgIDIwLCAgICAyMSwgICAgMjIsICAgIDIzLCAgICAyNCwgICAgMjUsICAgIDI2LCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgIDI3LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
IDI4LCAgICAyOSwgICAyNTUsICAgIDMxLAo+ICsgICAgICAzMiwgICAgMzMsICAgIDM0LCAgICAz
NSwgICAgMzYsICAgIDM3LCAgICAzOCwgICAgMzksICAgIDQwLCAgICAgMCwKPiArICAgICAgNDEs
ICAgIDQyLCAgICA0MywgICAgNDQsICAgICAwLCAgICA0NSwgICAgNDYsICAgIDQ3LCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
IDQ4LCAgICA0OSwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgIDUwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgIDUxLCAgICA1MiwgICAgIDAsICAgIDUzLCAgICA1NCwgICAgIDAsICAg
IDU1LCAgICAgMCwgICAgIDAsICAgIDU2LAo+ICsgICAgICA1NywgICAgNTgsICAgIDU5LCAgICA2
MCwgICAgNjEsICAgIDYyLCAgICA2MywgICAgNjQsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAyNTQsICAgICAwLCAgICAgNSwg
ICAgIDYsCj4gKyAgICAgICA3LCAgICAgOCwgICAgIDksICAgICAwLCAgICAgMCwgICAgIDAsICAg
IDEwLCAgICAxMSwgICAgNjUsICAgIDY2LAo+ICsgICAgICA2NywgICAgMTIsICAgICAwLCAgICAx
MywgICAgMTQsICAgIDE1LCAgICAxNiwgICAgMTcsICAgIDE4LCAgICAxOSwKPiArICAgIC02NDAs
ICAgICAwLCAgLTY0MCwgICAgIDAsICAgICAwLCAgICAyMCwgICAgMjEsICAgIDIyLCAgICAyMywg
ICAgMjQsCj4gKyAgICAgIDI1LCAgICAyNiwgICAgIDAsICAgICAwLCAgICAyNywgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAyOCwgICAgMjksICAgMjU1LCAgICAz
MSwgICAgMzIsICAgIDMzLCAgICAzNCwgICAgMzUsICAgIDM2LCAgICAzNywKPiArICAgICAgMzgs
ICAgIDM5LCAgICA0MCwgICAgIDAsICAgIDQxLCAgICA0MiwgICAgNDMsICAgIDQ0LCAgICAgMCwg
ICAgNDUsCj4gKyAgICAgIDQ2LCAgICA0NywgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICA0OCwgICAgNDksICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICA1MCwgICAgIDAsICAgICAwLCAgIDI1NiwgICAgNTIsICAg
ICAwLCAgICA1MywgICAgNTQsICAgICAwLAo+ICsgICAgICA1NSwgICAgIDAsICAgICAwLCAgICA1
NiwgICAgNTcsICAgIDU4LCAgICA1OSwgICAgNjAsICAgIDYxLCAgICA2MiwKPiArICAgICAgNjMs
ICAgIDY0LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgIDY1LCAgICA2
NiwgICAgNjcsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgLTY0MCwgICAgIDAsICAtNjQwLCAgIDI1NCwgIC02NDAsICAgICA1LCAgICAgNiwg
ICAgIDcsCj4gKyAgICAgICA4LCAgICAgOSwgICAgIDAsICAgICAwLCAgICAgMCwgICAgMTAsICAg
IDExLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAxMiwgICAgIDAsICAgIDEzLCAgICAx
NCwgICAgMTUsICAgIDE2LCAgICAxNywgICAgMTgsICAgIDE5LCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgIDIwLCAgICAyMSwgICAgMjIsICAgIDIzLCAgICAyNCwg
ICAgMjUsCj4gKyAgICAgIDI2LCAgICAgMCwgICAgIDAsICAgIDI3LCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgIDI4LAo+ICsgICAgICAyOSwgICAyNTUsICAgIDMxLCAgICAz
MiwgICAgMzMsICAgIDM0LCAgICAzNSwgICAgMzYsICAgIDM3LCAgICAzOCwKPiArICAgICAgMzks
ICAgIDQwLCAgICAgMCwgICAgNDEsICAgIDQyLCAgICA0MywgICAgNDQsICAgICAwLCAgICA0NSwg
ICAgNDYsCj4gKyAgICAgIDQ3LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgIDQ4LAo+ICsgICAgICA0OSwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgIDUwLCAgICAgMCwgICAgIDAsICAgIDUxLCAgICA1MiwgICAgIDAsICAg
IDUzLCAgICA1NCwgICAgIDAsICAgIDU1LAo+ICsgICAgICAgMCwgICAgIDAsICAgIDU2LCAgICA1
NywgICAgNTgsICAgIDU5LCAgICA2MCwgICAgNjEsICAgIDYyLCAgICA2MywKPiArICAgICAgNjQs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgNjUsICAgIDY2LCAgICA2
NywgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAtNjQwLCAgICAgMCwgIC02NDAsICAgICA0LCAgLTY0MCwgICAgIDUsICAgICA2LCAgICAgNywg
ICAgIDgsCj4gKyAgICAgICA5LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAxMCwgICAgMTEsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgIDEyLAo+ICsgICAgICAgMCwgICAgMTMsICAgIDE0LCAgICAx
NSwgICAgMTYsICAgIDE3LCAgICAxOCwgICAgMTksICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgMjAsICAgIDIxLCAgICAyMiwgICAgMjMsICAgIDI0LCAgICAyNSwg
ICAgMjYsCj4gKyAgICAgICAwLCAgICAgMCwgICAgMjcsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgMjgsICAgIDI5LAo+ICsgICAgICAzMCwgICAgMzEsICAgIDMyLCAgICAz
MywgICAgMzQsICAgIDM1LCAgICAzNiwgICAgMzcsICAgIDM4LCAgICAzOSwKPiArICAgICAgNDAs
ICAgICAwLCAgICA0MSwgICAgNDIsICAgIDQzLCAgICA0NCwgICAgIDAsICAgIDQ1LCAgICA0Niwg
ICAgNDcsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgNDgsICAgIDQ5LAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgNTAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgNTEsICAgIDUyLCAgICAgMCwgICAgNTMsICAg
IDU0LCAgICAgMCwgICAgNTUsICAgICAwLAo+ICsgICAgICAgMCwgICAgNTYsICAgIDU3LCAgICA1
OCwgICAgNTksICAgIDYwLCAgICA2MSwgICAgNjIsICAgIDYzLCAgICA2NCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICA2NSwgICAgNjYsICAgIDY3LCAgICAg
MCwgICAgIDAsICAtNjQwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgLTY0MCwgICAyNTQsICAtNjQwLCAgICAgNSwgICAgIDYsICAgICA3LCAgICAgOCwg
ICAgIDksCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgIDEwLCAgICAxMSwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgMTIsICAgICAwLAo+ICsgICAgICAxMywgICAgMTQsICAgIDE1LCAgICAx
NiwgICAgMTcsICAgIDE4LCAgICAxOSwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAyMCwgICAgMjEsICAgIDIyLCAgICAyMywgICAgMjQsICAgIDI1LCAgICAyNiwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAyNywgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAyOCwgICAgMjksICAgMjU1LAo+ICsgICAgICAzMSwgICAgMzIsICAgIDMzLCAgICAz
NCwgICAgMzUsICAgIDM2LCAgICAzNywgICAgMzgsICAgIDM5LCAgICA0MCwKPiArICAgICAgIDAs
ICAgIDQxLCAgICA0MiwgICAgNDMsICAgIDQ0LCAgICAgMCwgICAgNDUsICAgIDQ2LCAgICA0Nywg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICA0OCwgICAgNDksICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICA1MCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICA1MSwgICAgNTIsICAgICAwLCAgICA1MywgICAgNTQsICAg
ICAwLCAgICA1NSwgICAgIDAsICAgICAwLAo+ICsgICAgICA1NiwgICAgNTcsICAgIDU4LCAgICA1
OSwgICAgNjAsICAgIDYxLCAgICA2MiwgICAgNjMsICAgIDY0LCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgIDY1LAo+ICsgICAgICA2NiwgICAgNjcsICAgICAwLCAgICAg
MCwgIC02NDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAtNjQwLCAgIDI1NCwgIC02NDAsICAgICA1LCAgICAgNiwgICAgIDcsICAgICA4LCAgICAgOSwg
ICAgIDAsCj4gKyAgICAgICAwLCAgLTY0MCwgICAgMTAsICAgIDExLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAxMiwgICAgIDAsICAgIDEzLAo+ICsgICAgICAxNCwgICAgMTUsICAgIDE2LCAgICAx
NywgICAgMTgsICAgIDE5LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgIDIwLCAgICAyMSwgICAgMjIsICAgIDIzLCAgICAyNCwgICAgMjUsICAgIDI2LCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgIDI3LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
IDI4LCAgICAyOSwgICAyNTUsICAgIDMxLAo+ICsgICAgICAzMiwgICAgMzMsICAgIDM0LCAgICAz
NSwgICAgMzYsICAgIDM3LCAgICAzOCwgICAgMzksICAgIDQwLCAgICAgMCwKPiArICAgICAgNDEs
ICAgIDQyLCAgICA0MywgICAgNDQsICAgICAwLCAgICA0NSwgICAgNDYsICAgIDQ3LCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
IDQ4LCAgICA0OSwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgIDUwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgIDUxLCAgICA1MiwgICAgIDAsICAgIDUzLCAgICA1NCwgICAgIDAsICAg
IDU1LCAgICAgMCwgICAgIDAsICAgIDU2LAo+ICsgICAgICA1NywgICAgNTgsICAgIDU5LCAgICA2
MCwgICAgNjEsICAgIDYyLCAgICA2MywgICAgNjQsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAyNTQsICAgICAwLCAgICAgNSwg
ICAgIDYsCj4gKyAgICAgICA3LCAgICAgOCwgICAgIDksICAgICAwLCAgICAgMCwgICAgIDAsICAg
IDEwLCAgICAxMSwgICAgNjUsICAgIDY2LAo+ICsgICAgICA2NywgICAgMTIsICAgICAwLCAgICAx
MywgICAgMTQsICAgIDE1LCAgICAxNiwgICAgMTcsICAgIDE4LCAgICAxOSwKPiArICAgIC02NDAs
ICAgICAwLCAgLTY0MCwgICAgIDAsICAgICAwLCAgICAyMCwgICAgMjEsICAgIDIyLCAgICAyMywg
ICAgMjQsCj4gKyAgICAgIDI1LCAgICAyNiwgICAgIDAsICAgICAwLCAgICAyNywgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAyOCwgICAgMjksICAgMjU1LCAgICAz
MSwgICAgMzIsICAgIDMzLCAgICAzNCwgICAgMzUsICAgIDM2LCAgICAzNywKPiArICAgICAgMzgs
ICAgIDM5LCAgICA0MCwgICAgIDAsICAgIDQxLCAgICA0MiwgICAgNDMsICAgIDQ0LCAgICAgMCwg
ICAgNDUsCj4gKyAgICAgIDQ2LCAgICA0NywgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICA0OCwgICAgNDksICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICA1MCwgICAgIDAsICAgICAwLCAgICA1MSwgICAgNTIsICAg
ICAwLCAgICA1MywgICAgNTQsICAgICAwLAo+ICsgICAgICA1NSwgICAgIDAsICAgICAwLCAgICA1
NiwgICAgNTcsICAgIDU4LCAgICA1OSwgICAgNjAsICAgIDYxLCAgICA2MiwKPiArICAgICAgNjMs
ICAgIDY0LCAgICAgMCwgIC02NDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDUsICAgICA2LCAgICAgNywgICAgIDAsICAg
ICA5LCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAxMCwgICAgMTEsICAgIDY1LCAgICA2
NiwgICAgNjcsICAgIDEyLCAgICAgMCwgICAgMTMsICAgIDE0LCAgICAxNSwKPiArICAgICAgMTYs
ICAgIDE3LCAgICAxOCwgICAgMTksICAtNjQwLCAgICAgMCwgIC02NDAsICAgICAwLCAgICAgMCwg
ICAgMjAsCj4gKyAgICAgIDIxLCAgICAyMiwgICAgMjMsICAgIDI0LCAgICAyNSwgICAgMjYsICAg
ICAwLCAgICAgMCwgICAyMDUsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgIDI5LCAgICAgMCwgICAgIDAsICAgIDMyLCAgICAzMywKPiArICAgICAgMzQs
ICAgIDM1LCAgICAzNiwgICAgMzcsICAgIDM4LCAgICAzOSwgICAgNDAsICAgMjA2LCAgICA0MSwg
ICAgNDIsCj4gKyAgICAgIDQzLCAgICA0NCwgICAgIDAsICAgIDQ1LCAgICA0NiwgICAgNDcsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgNDgsICAgIDQ5LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAyMDcsICAg
ICAwLCAgICAgMCwgICAyMDgsICAgIDUyLAo+ICsgICAgICAgMCwgICAgNTMsICAgIDU0LCAgICAg
MCwgICAyMDksICAgMjEwLCAgIDIxMSwgICAgNTYsICAgIDU3LCAgIDIxMiwKPiArICAgICAgNTks
ICAgIDYwLCAgICA2MSwgICAgNjIsICAgIDYzLCAgICA2NCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICA1LCAgICAgNiwgICAgIDcsICAgICAwLAo+ICsgICAgICAgOSwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgMTAsICAgIDExLCAgICA2NSwgICAyMTMsICAgIDY3LCAgICAxMiwKPiArICAgICAgIDAs
ICAgIDEzLCAgICAxNCwgICAgMTUsICAgIDE2LCAgICAxNywgICAgMTgsICAgIDE5LCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgMjM2LCAgICAgMCwgICAgIDAsICAgIDIwLCAgICAyMSwgICAgMjIsICAg
IDIzLCAgICAyNCwgICAgMjUsICAgIDI2LAo+ICsgICAgICAgMCwgICAgIDAsICAgIDI3LCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAyOSwKPiArICAgICAgIDAs
ICAgICAwLCAgICAzMiwgICAgMzMsICAgIDM0LCAgICAzNSwgICAgMzYsICAgIDM3LCAgICAzOCwg
ICAgMzksCj4gKyAgICAgIDQwLCAgICAgMCwgICAgNDEsICAgIDQyLCAgICA0MywgICAgNDQsICAg
ICAwLCAgICA0NSwgICAgNDYsICAgIDQ3LAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgIDQ4LCAgICA0OSwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgMjA3LAo+ICsgICAgICAgMCwgICAgIDAsICAgMjA4LCAgICA1
MiwgICAgIDAsICAgIDUzLCAgICA1NCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgIDU2LCAgICA1NywgICAgNTgsICAgIDU5LCAgICA2MCwgICAgNjEsICAgIDYyLCAgICA2Mywg
ICAgNjQsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgNSwgICAgIDYsICAgICA3LCAgICAg
MCwgICAgIDksICAgICAwLCAgICAgMCwgICAgIDAsICAgIDEwLCAgICAxMSwKPiArICAgICAgNjUs
ICAgIDY2LCAgICA2NywgICAgMTIsICAgICAwLCAgICAxMywgICAgMTQsICAgIDE1LCAgICAxNiwg
ICAgMTcsCj4gKyAgICAgIDE4LCAgICAxOSwgICAzMDIsICAgICAwLCAgIDMwMywgICAgIDAsICAg
ICAwLCAgICAyMCwgICAgMjEsICAgIDIyLAo+ICsgICAgICAyMywgICAgMjQsICAgIDI1LCAgICAy
NiwgICAgIDAsICAgICAwLCAgICAyNywgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgMjksICAgICAwLCAgICAgMCwgICAgMzIsICAgIDMzLCAgICAzNCwg
ICAgMzUsCj4gKyAgICAgIDM2LCAgICAzNywgICAgMzgsICAgIDM5LCAgICA0MCwgICAgIDAsICAg
IDQxLCAgICA0MiwgICAgNDMsICAgIDQ0LAo+ICsgICAgICAgMCwgICAgNDUsICAgIDQ2LCAgICA0
NywgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICA0OCwgICAgNDksICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgIDIw
NywgICAgIDAsICAgICAwLCAgIDIwOCwgICAgNTIsICAgICAwLCAgICA1MywKPiArICAgICAgNTQs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICA1NiwgICAgNTcsICAgIDU4LCAgICA1OSwg
ICAgNjAsCj4gKyAgICAgIDYxLCAgICA2MiwgICAgNjMsICAgIDY0LCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDUsICAgICA2LCAgICAgNywgICAgIDgsICAgICA5LCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAxMCwgICAgMTEsICAgIDY1LCAgICA2NiwgICAgNjcsICAgIDEyLCAgICAgMCwg
ICAgMTMsCj4gKyAgICAgIDE0LCAgICAxNSwgICAgMTYsICAgIDE3LCAgICAxOCwgICAgMTksICAg
ICAwLCAgICAgMCwgICAyMzYsICAgICAwLAo+ICsgICAgICAgMCwgICAgMjAsICAgIDIxLCAgICAy
MiwgICAgMjMsICAgIDI0LCAgICAyNSwgICAgMjYsICAgICAwLCAgICAgMCwKPiArICAgICAgMjcs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgMjgsICAgIDI5LCAgICAzMCwg
ICAgMzEsCj4gKyAgICAgIDMyLCAgICAzMywgICAgMzQsICAgIDM1LCAgICAzNiwgICAgMzcsICAg
IDM4LCAgICAzOSwgICAgNDAsICAgICAwLAo+ICsgICAgICA0MSwgICAgNDIsICAgIDQzLCAgICA0
NCwgICAgIDAsICAgIDQ1LCAgICA0NiwgICAgNDcsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgNDgsICAgIDQ5LCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgNTAsICAgICAwLCAgICAgMCwKPiArICAgICAgNTEs
ICAgIDUyLCAgICAgMCwgICAgNTMsICAgIDU0LCAgICAgMCwgICAgNTUsICAgICAwLCAgICAgMCwg
ICAgNTYsCj4gKyAgICAgIDU3LCAgICA1OCwgICAgNTksICAgIDYwLCAgICA2MSwgICAgNjIsICAg
IDYzLCAgICA2NCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICA1LCAgICAgNiwKPiArICAgICAgIDcs
ICAgICA4LCAgICAgOSwgICAgIDAsICAgICAwLCAgICAgMCwgICAgMTAsICAgIDExLCAgICA2NSwg
ICAgNjYsCj4gKyAgICAgIDY3LCAgICAxMiwgICAgIDAsICAgIDEzLCAgICAxNCwgICAgMTUsICAg
IDE2LCAgICAxNywgICAgMTgsICAgIDE5LAo+ICsgICAgIDQ5NywgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgIDIwLCAgICAyMSwgICAgMjIsICAgIDIzLCAgICAyNCwKPiArICAgICAgMjUs
ICAgIDI2LCAgICAgMCwgICAgIDAsICAgIDI3LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgIDI4LCAgICAyOSwgICAyNTUsICAgIDMxLCAgICAzMiwgICAgMzMsICAg
IDM0LCAgICAzNSwgICAgMzYsICAgIDM3LAo+ICsgICAgICAzOCwgICAgMzksICAgIDQwLCAgICAg
MCwgICAgNDEsICAgIDQyLCAgICA0MywgICAgNDQsICAgICAwLCAgICA0NSwKPiArICAgICAgNDYs
ICAgIDQ3LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgIDQ4LCAgICA0OSwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgIDUwLCAgICAgMCwgICAgIDAsICAgIDUxLCAgICA1MiwgICAgIDAsICAgIDUzLCAgICA1NCwg
ICAgIDAsCj4gKyAgICAgIDU1LCAgICAgMCwgICAgIDAsICAgIDU2LCAgICA1NywgICAgNTgsICAg
IDU5LCAgICA2MCwgICAgNjEsICAgIDYyLAo+ICsgICAgICA2MywgICAgNjQsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgNjUsICAgIDY2LCAgICA2NywgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICA0OTcsICAgMTIzLCAgIDEyNCwgICAxMjUsICAgMTI2LCAgIDEyNywKPiArICAgICAxMjgs
ICAgMTI5LCAgIDEzMCwgICAxMzEsICAgMTMyLCAgIDEzMywgICAxMzQsICAgMTM1LCAgIDEzNiwg
ICAxMzcsCj4gKyAgICAgMTM4LCAgIDEzOSwgICAxNDAsICAgMTQxLCAgIDE0MiwgICAxNDMsICAg
MTQ0LCAgIDE0NSwgICAxNDYsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgMTQ3LCAgIDE0
OCwgICAxNDksICAgMzkxLCAgIDM5MiwgICAzOTMsICAgMzk0LCAgIDE1NCwKPiArICAgICAxNTUs
ICAgMTU2LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgMTU3LCAgIDE1OCwg
ICAxNTksCj4gKyAgICAgMTYwLCAgIDM5NSwgICAzOTYsICAgMzk3LCAgIDM5OCwgICAxNjUsICAg
IDM3LCAgICAzOCwgICAzOTksICAgIDQwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgMTY3LCAgIDE2OCwg
ICAxNjksCj4gKyAgICAgMTcwLCAgIDE3MSwgICAxNzIsICAgMTczLCAgIDE3NCwgICAxNzUsICAg
ICAwLCAgICAgMCwgICAxNzYsICAgMTc3LAo+ICsgICAgICAgMCwgICAgIDAsICAgMTc4LCAgIDE3
OSwgICAxODAsICAgMTgxLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgMTgyLCAgIDE4Mywg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDE4NCwKPiArICAgICAxODUs
ICAgMTg2LCAgIDE4NywgICAxODgsICAgMTg5LCAgIDE5MCwgICAxOTEsICAgMTkyLCAgIDE5Mywg
ICAgIDAsCj4gKyAgICAgMTk0LCAgIDE5NSwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgIDE5NiwgICA0MDAsICAgMTIzLAo+ICsgICAgIDEyNCwgICAxMjUsICAgMTI2LCAgIDEy
NywgICAxMjgsICAgMTI5LCAgIDEzMCwgICAxMzEsICAgMTMyLCAgIDEzMywKPiArICAgICAxMzQs
ICAgMTM1LCAgIDEzNiwgICAxMzcsICAgMTM4LCAgIDEzOSwgICAxNDAsICAgMTQxLCAgIDE0Miwg
ICAxNDMsCj4gKyAgICAgMTQ0LCAgIDE0NSwgICAxNDYsICAgICAwLCAgICAgMCwgICAgIDAsICAg
MTQ3LCAgIDE0OCwgICAxNDksICAgMTUwLAo+ICsgICAgIDE1MSwgICAxNTIsICAgMTUzLCAgIDE1
NCwgICAxNTUsICAgMTU2LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgMTU3LCAgIDE1OCwgICAxNTksICAgMTYwLCAgIDE2MSwgICAxNjIsICAgMTYzLCAgIDE2NCwg
ICAxNjUsCj4gKyAgICAgMjg1LCAgIDI4NiwgICAxNjYsICAgMjg3LCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgMTY3LCAgIDE2OCwgICAxNjksICAgMTcwLCAgIDE3MSwgICAxNzIsICAgMTczLCAgIDE3NCwg
ICAxNzUsCj4gKyAgICAgICAwLCAgICAgMCwgICAxNzYsICAgMTc3LCAgICAgMCwgICAgIDAsICAg
MTc4LCAgIDE3OSwgICAxODAsICAgMTgxLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgMTgyLCAgIDE4MywgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgIDE4
NCwgICAxODUsICAgMTg2LCAgIDE4NywgICAxODgsICAgMTg5LCAgIDE5MCwKPiArICAgICAxOTEs
ICAgMTkyLCAgIDE5MywgICAgIDAsICAgMTk0LCAgIDE5NSwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgIDE5NiwgICAxMjMsICAgMTI0LCAgIDEyNSwgICAxMjYsICAg
MTI3LCAgIDEyOCwgICAxMjksICAgMTMwLAo+ICsgICAgIDEzMSwgICAxMzIsICAgMTMzLCAgIDEz
NCwgICAxMzUsICAgMTM2LCAgIDEzNywgICAxMzgsICAgMTM5LCAgIDE0MCwKPiArICAgICAxNDEs
ICAgMTQyLCAgIDE0MywgICAxNDQsICAgMTQ1LCAgIDE0NiwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAxNDcsCj4gKyAgICAgMTQ4LCAgIDE0OSwgICAxNTAsICAgMTUxLCAgIDE1MiwgICAxNTMsICAg
MTU0LCAgIDE1NSwgICAxNTYsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAxNTcsICAgMTU4LCAgIDE1OSwgICAxNjAsICAgMTYxLCAgIDE2MiwKPiArICAgICAxNjMs
ICAgMTY0LCAgIDE2NSwgICAyMzgsICAgICAwLCAgIDE2NiwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAxNjcsICAgMTY4LCAgIDE2OSwgICAxNzAsICAgMTcxLCAgIDE3MiwKPiArICAgICAxNzMs
ICAgMTc0LCAgIDE3NSwgICAgIDAsICAgICAwLCAgIDE3NiwgICAxNzcsICAgICAwLCAgICAgMCwg
ICAxNzgsCj4gKyAgICAgMTc5LCAgIDE4MCwgICAxODEsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAxODIsICAgMTgzLCAgICAgMCwgICAgIDAsICAgIDU3LCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
MTg0LCAgIDE4NSwgICAxODYsICAgMTg3LAo+ICsgICAgIDE4OCwgICAxODksICAgMTkwLCAgIDE5
MSwgICAxOTIsICAgMTkzLCAgICAgMCwgICAxOTQsICAgMTk1LCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgMTk2LCAgIDEyMywgICAxMjQsICAgMTI1LCAgIDEyNiwg
ICAxMjcsCj4gKyAgICAgMTI4LCAgIDEyOSwgICAxMzAsICAgMTMxLCAgIDEzMiwgICAxMzMsICAg
MTM0LCAgIDEzNSwgICAxMzYsICAgMTM3LAo+ICsgICAgIDEzOCwgICAxMzksICAgMTQwLCAgIDE0
MSwgICAxNDIsICAgMTQzLCAgIDE0NCwgICAxNDUsICAgMTQ2LCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgIDE0NywgICAxNDgsICAgMTQ5LCAgIDE1MCwgICAxNTEsICAgMTUyLCAgIDE1Mywg
ICAxNTQsCj4gKyAgICAgMTU1LCAgIDE1NiwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgIDE1NywgICAxNTgsICAgMTU5LAo+ICsgICAgIDE2MCwgICAxNjEsICAgMTYyLCAgIDE2
MywgICAxNjQsICAgMTY1LCAgICAgMCwgICAgIDAsICAgMTY2LCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgIDE2NywgICAxNjgsICAgMTY5LAo+ICsgICAgIDE3MCwgICAxNzEsICAgMTcyLCAgIDE3
MywgICAxNzQsICAgMTc1LCAgICAgMCwgICAgIDAsICAgMTc2LCAgIDE3NywKPiArICAgICAgIDAs
ICAgICAwLCAgIDE3OCwgICAxNzksICAgMTgwLCAgIDE4MSwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgIDE4MiwgICAxODMsICAgICAwLAo+ICsgICAgICAgMCwgICAgNTcsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAxODQsCj4gKyAgICAgMTg1LCAgIDE4NiwgICAxODcsICAgMTg4LCAgIDE4OSwgICAxOTAsICAg
MTkxLCAgIDE5MiwgICAxOTMsICAgICAwLAo+ICsgICAgIDE5NCwgICAxOTUsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAxOTYsICAgMTIzLCAgIDEyNCwKPiArICAgICAxMjUs
ICAgMTI2LCAgIDEyNywgICAxMjgsICAgMTI5LCAgIDEzMCwgICAxMzEsICAgMTMyLCAgIDEzMywg
ICAxMzQsCj4gKyAgICAgMTM1LCAgIDEzNiwgICAxMzcsICAgMTM4LCAgIDEzOSwgICAxNDAsICAg
MTQxLCAgIDE0MiwgICAxNDMsICAgMTQ0LAo+ICsgICAgIDE0NSwgICAxNDYsICAgICAwLCAgICAg
MCwgICAgIDAsICAgMTQ3LCAgIDE0OCwgICAxNDksICAgMTUwLCAgIDE1MSwKPiArICAgICAxNTIs
ICAgMTUzLCAgIDE1NCwgICAxNTUsICAgMTU2LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgMTU3LCAgIDE1OCwgICAxNTksICAgMTYwLCAgIDE2MSwgICAxNjIsICAg
MTYzLCAgIDE2NCwgICAxNjUsICAgICAwLAo+ICsgICAgICAgMCwgICAxNjYsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgMTY3LCAgIDE2OCwgICAxNjksICAgMTcwLCAgIDE3MSwgICAxNzIsICAg
MTczLCAgIDE3NCwgICAxNzUsICAgICAwLAo+ICsgICAgICAgMCwgICAxNzYsICAgMTc3LCAgICAg
MCwgICAgIDAsICAgMTc4LCAgIDE3OSwgICAxODAsICAgMTgxLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgMTgyLCAgIDE4MywgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgIDE4NCwgICAxODUsICAgMTg2LCAgIDE4NywgICAxODgsICAgMTg5LCAgIDE5MCwg
ICAxOTEsCj4gKyAgICAgMTkyLCAgIDE5MywgICAgIDAsICAgMTk0LCAgIDE5NSwgICAgIDUsICAg
ICA2LCAgICAgNywgICAgIDAsICAgICA5LAo+ICsgICAgIDE5NiwgICAgIDAsICAgICAwLCAgICAx
MCwgICAgMTEsICAgICAwLCAgICAgMCwgICAgIDAsICAgIDEyLCAgICAgMCwKPiArICAgICAgMTMs
ICAgIDE0LCAgICAxNSwgICAyNDQsICAgMjQ1LCAgICAxOCwgICAgMTksICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgMjAsICAgMjQ2LCAgIDI0NywgICAgMjMsICAg
IDI0LCAgICAyNSwgICAgMjYsICAgICAwLAo+ICsgICAgICAgMCwgICAyMDUsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgMjc0LCAgICAgMCwKPiArICAgICAgIDAs
ICAgIDMyLCAgICAzMywgICAgMzQsICAgIDM1LCAgICAzNiwgICAgMzcsICAgIDM4LCAgICAzOSwg
ICAgNDAsCj4gKyAgICAgICAwLCAgICA0MSwgICAgNDIsICAgIDQzLCAgICA0NCwgICAgIDAsICAg
IDQ1LCAgICA0NiwgICAgNDcsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAyNzUsICAgICAwLAo+ICsgICAgICAgMCwgICAyMDgsICAgIDUyLCAgICAg
MCwgICAgNTMsICAgIDU0LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgNTYs
ICAgIDU3LCAgICA1OCwgICAgNTksICAgIDYwLCAgICA2MSwgICAgNjIsICAgIDYzLCAgICA2NCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICA1LCAgICAg
NiwgICAgIDcsICAgICA4LCAgICAgOSwgICAgIDAsICAgICAwLCAgIDI3NiwKPiArICAgICAgMTAs
ICAgIDExLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAxMiwgICA1MjAsICAgIDEzLCAgICAxNCwg
ICAgMTUsCj4gKyAgICAgIDE2LCAgICAxNywgICAgMTgsICAgIDE5LCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgIDIwLAo+ICsgICAgICAyMSwgICAgMjIsICAgIDIzLCAgICAy
NCwgICAgMjUsICAgIDI2LCAgICAgMCwgICAgIDAsICAgIDI3LCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgIDI4LCAgICAyOSwgICAgMzAsICAgIDMxLCAgICAzMiwg
ICAgMzMsCj4gKyAgICAgIDM0LCAgICAzNSwgICAgMzYsICAgIDM3LCAgICAzOCwgICAgMzksICAg
IDQwLCAgICAgMCwgICAgNDEsICAgIDQyLAo+ICsgICAgICA0MywgICAgNDQsICAgICAwLCAgICA0
NSwgICAgNDYsICAgIDQ3LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgIDQ4LCAgICA0OSwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgIDUwLCAgICAgMCwgICAgIDAsICAgIDUxLCAgICA1MiwKPiArICAgICAgIDAs
ICAgIDUzLCAgICA1NCwgICAgIDAsICAgIDU1LCAgICAgMCwgICAgIDAsICAgIDU2LCAgICA1Nywg
ICAgNTgsCj4gKyAgICAgIDU5LCAgICA2MCwgICAgNjEsICAgIDYyLCAgICA2MywgICAgNjQsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgNSwgICAgIDYsICAgICA3LCAgICAgMCwKPiArICAgICAgIDks
ICAgICAwLCAgICAgMCwgICAgIDAsICAgIDEwLCAgICAxMSwgICAgNjUsICAgIDY2LCAgICA2Nywg
ICAgMTIsCj4gKyAgICAgICAwLCAgICAxMywgICAgMTQsICAgIDE1LCAgICAxNiwgICAgMTcsICAg
IDE4LCAgICAxOSwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAy
MCwgICAgMjEsICAgIDIyLCAgICAyMywgICAgMjQsICAgIDI1LCAgICAyNiwKPiArICAgICAgIDAs
ICAgICAwLCAgIDIwNSwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgMjksCj4gKyAgICAgICAwLCAgICAgMCwgICAgMzIsICAgIDMzLCAgICAzNCwgICAgMzUsICAg
IDM2LCAgICAzNywgICAgMzgsICAgIDM5LAo+ICsgICAgICA0MCwgICAyMDYsICAgIDQxLCAgICA0
MiwgICAgNDMsICAgIDQ0LCAgICAgMCwgICAgNDUsICAgIDQ2LCAgICA0NywKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICA0OCwg
ICAgNDksCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDIwNywKPiArICAgICAgIDAs
ICAgICAwLCAgIDIwOCwgICAgNTIsICAgICAwLCAgICA1MywgICAgNTQsICAgICAwLCAgIDIwOSwg
ICAyMTAsCj4gKyAgICAgMjExLCAgICA1NiwgICAgNTcsICAgMjEyLCAgICA1OSwgICAgNjAsICAg
IDYxLCAgICA2MiwgICAgNjMsICAgIDY0LAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDUs
ICAgICA2LCAgICAgNywgICAgIDgsICAgICA5LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAxMCwg
ICAgMTEsCj4gKyAgICAgIDY1LCAgIDIxMywgICAgNjcsICAgIDEyLCAgICAgMCwgICAgMTMsICAg
IDE0LCAgICAxNSwgICAgMTYsICAgIDE3LAo+ICsgICAgICAxOCwgICAgMTksICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgMjAsICAgIDIxLCAgICAyMiwKPiArICAgICAgMjMs
ICAgIDI0LCAgICAyNSwgICAgMjYsICAgICAwLCAgICAgMCwgICAgMjcsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgMjgsICAgIDI5LCAgICAgMCwgICAgMzEsICAg
IDMyLCAgICAzMywgICAgMzQsICAgIDM1LAo+ICsgICAgICAzNiwgICAgMzcsICAgIDM4LCAgICAz
OSwgICAgNDAsICAgICAwLCAgICA0MSwgICAgNDIsICAgIDQzLCAgICA0NCwKPiArICAgICAgIDAs
ICAgIDQ1LCAgICA0NiwgICAgNDcsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgNDgsICAgIDQ5LCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgNTAsICAgICAwLCAgICAgMCwgICAgNTEsICAgIDUyLCAgICAgMCwg
ICAgNTMsCj4gKyAgICAgIDU0LCAgICAgMCwgICAgNTUsICAgICAwLCAgICAgMCwgICAgNTYsICAg
IDU3LCAgICA1OCwgICAgNTksICAgIDYwLAo+ICsgICAgICA2MSwgICAgNjIsICAgIDYzLCAgICA2
NCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICA1LCAgICAgNiwgICAgIDcsICAgICAwLCAgICAgOSwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgMTAsICAgIDExLCAgICA2NSwgICAgNjYsICAg
IDY3LCAgICAxMiwgICAgIDAsICAgIDEzLAo+ICsgICAgICAxNCwgICAgMTUsICAgMjQ0LCAgIDI0
NSwgICAgMTgsICAgIDE5LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgIDIwLCAgIDI0NiwgICAyNDcsICAgIDIzLCAgICAyNCwgICAgMjUsICAgIDI2LCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgMjA1LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAyOSwgICAgIDAsICAgICAwLAo+ICsgICAgICAzMiwgICAgMzMsICAgIDM0LCAgICAz
NSwgICAgMzYsICAgIDM3LCAgICAzOCwgICAgMzksICAgIDQwLCAgIDIwNiwKPiArICAgICAgNDEs
ICAgIDQyLCAgICA0MywgICAgNDQsICAgICAwLCAgICA0NSwgICAgNDYsICAgIDQ3LCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
IDQ4LCAgICA0OSwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgMjA3LCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgMjA4LCAgICA1MiwgICAgIDAsICAgIDUzLCAgICA1NCwgICAgIDAsICAg
NjE1LCAgIDIxMCwgICAyMTEsICAgIDU2LAo+ICsgICAgICA1NywgICAyMTIsICAgIDU5LCAgICA2
MCwgICAgNjEsICAgIDYyLCAgICA2MywgICAgNjQsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgNSwg
ICAgIDYsCj4gKyAgICAgICA3LCAgICAgMCwgICAgIDksICAgICAwLCAgICAgMCwgICAgIDAsICAg
IDEwLCAgICAxMSwgICAgNjUsICAgMjEzLAo+ICsgICAgICA2NywgICAgMTIsICAgICAwLCAgICAx
MywgICAgMTQsICAgIDE1LCAgIDI0NCwgICAyNDUsICAgIDE4LCAgICAxOSwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAyMCwgICAyNDYsICAgMjQ3LCAgICAyMywg
ICAgMjQsCj4gKyAgICAgIDI1LCAgICAyNiwgICAgIDAsICAgICAwLCAgIDIwNSwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgMjksICAgICAwLCAgICAg
MCwgICAgMzIsICAgIDMzLCAgICAzNCwgICAgMzUsICAgIDM2LCAgICAzNywKPiArICAgICAgMzgs
ICAgIDM5LCAgICA0MCwgICAyMDYsICAgIDQxLCAgICA0MiwgICAgNDMsICAgIDQ0LCAgICAgMCwg
ICAgNDUsCj4gKyAgICAgIDQ2LCAgICA0NywgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICA0OCwgICAgNDksICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgIDIwNywgICAgIDAsICAgICAwLCAgIDIwOCwgICAgNTIsICAg
ICAwLCAgICA1MywgICAgNTQsICAgICAwLAo+ICsgICAgIDIwOSwgICAyMTAsICAgICAwLCAgICA1
NiwgICAgNTcsICAgMjEyLCAgICA1OSwgICAgNjAsICAgIDYxLCAgICA2MiwKPiArICAgICAgNjMs
ICAgIDY0LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDUsICAgICA2LCAgICAgNywgICAgIDAsICAg
ICA5LCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAxMCwgICAgMTEsICAgIDY1LCAgIDIx
MywgICAgNjcsICAgIDEyLCAgICAgMCwgICAgMTMsICAgIDE0LCAgICAxNSwKPiArICAgICAyNDQs
ICAgMjQ1LCAgICAxOCwgICAgMTksICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgMjAsCj4gKyAgICAgMjQ2LCAgIDI0NywgICAgMjMsICAgIDI0LCAgICAyNSwgICAgMjYsICAg
ICAwLCAgICAgMCwgICAyMDUsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgIDI5LCAgICAgMCwgICAgIDAsICAgIDMyLCAgICAzMywKPiArICAgICAgMzQs
ICAgIDM1LCAgICAzNiwgICAgMzcsICAgIDM4LCAgICAzOSwgICAgNDAsICAgMjA2LCAgICA0MSwg
ICAgNDIsCj4gKyAgICAgIDQzLCAgICA0NCwgICAgIDAsICAgIDQ1LCAgICA0NiwgICAgNDcsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgNDgsICAgIDQ5LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAyMDcsICAg
ICAwLCAgICAgMCwgICAyMDgsICAgIDUyLAo+ICsgICAgICAgMCwgICAgNTMsICAgIDU0LCAgICAg
MCwgICAgIDAsICAgMjEwLCAgIDIxMSwgICAgNTYsICAgIDU3LCAgIDIxMiwKPiArICAgICAgNTks
ICAgIDYwLCAgICA2MSwgICAgNjIsICAgIDYzLCAgICA2NCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICA1LCAgICAgNiwgICAgIDcsICAgICAwLAo+ICsgICAgICAgOSwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgMTAsICAgIDExLCAgICA2NSwgICAyMTMsICAgIDY3LCAgICAxMiwKPiArICAgICAgIDAs
ICAgIDEzLCAgICAxNCwgICAgMTUsICAgMjQ0LCAgIDI0NSwgICAgMTgsICAgIDE5LCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgIDIwLCAgIDI0NiwgICAyNDcsICAg
IDIzLCAgICAyNCwgICAgMjUsICAgIDI2LAo+ICsgICAgICAgMCwgICAgIDAsICAgMjA1LCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAyOSwKPiArICAgICAgIDAs
ICAgICAwLCAgICAzMiwgICAgMzMsICAgIDM0LCAgICAzNSwgICAgMzYsICAgIDM3LCAgICAzOCwg
ICAgMzksCj4gKyAgICAgIDQwLCAgIDIwNiwgICAgNDEsICAgIDQyLCAgICA0MywgICAgNDQsICAg
ICAwLCAgICA0NSwgICAgNDYsICAgIDQ3LAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgIDQ4LCAgICA0OSwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgMjA3LAo+ICsgICAgICAgMCwgICAgIDAsICAgMjA4LCAgICA1
MiwgICAgIDAsICAgIDUzLCAgICA1NCwgICAgIDAsICAgNjE1LCAgIDIxMCwKPiArICAgICAgIDAs
ICAgIDU2LCAgICA1NywgICAyMTIsICAgIDU5LCAgICA2MCwgICAgNjEsICAgIDYyLCAgICA2Mywg
ICAgNjQsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgNSwgICAgIDYsICAgICA3LCAgICAg
MCwgICAgIDksICAgICAwLCAgICAgMCwgICAgIDAsICAgIDEwLCAgICAxMSwKPiArICAgICAgNjUs
ICAgMjEzLCAgICA2NywgICAgMTIsICAgICAwLCAgICAxMywgICAgMTQsICAgIDE1LCAgIDI0NCwg
ICAyNDUsCj4gKyAgICAgIDE4LCAgICAxOSwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAyMCwgICAyNDYsICAgMjQ3LAo+ICsgICAgICAyMywgICAgMjQsICAgIDI1LCAgICAy
NiwgICAgIDAsICAgICAwLCAgIDIwNSwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgMjksICAgICAwLCAgICAgMCwgICAgMzIsICAgIDMzLCAgICAzNCwg
ICAgMzUsCj4gKyAgICAgIDM2LCAgICAzNywgICAgMzgsICAgIDM5LCAgICA0MCwgICAyMDYsICAg
IDQxLCAgICA0MiwgICAgNDMsICAgIDQ0LAo+ICsgICAgICAgMCwgICAgNDUsICAgIDQ2LCAgICA0
NywgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICA0OCwgICAgNDksICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgIDIw
NywgICAgIDAsICAgICAwLCAgIDIwOCwgICAgNTIsICAgICAwLCAgICA1MywKPiArICAgICAgNTQs
ICAgICAwLCAgICAgMCwgICAyMTAsICAgICAwLCAgICA1NiwgICAgNTcsICAgMjEyLCAgICA1OSwg
ICAgNjAsCj4gKyAgICAgIDYxLCAgICA2MiwgICAgNjMsICAgIDY0LCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDUsICAgICA2LCAgICAgNywgICAgIDAsICAgICA5LCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAxMCwgICAgMTEsICAgIDY1LCAgIDIxMywgICAgNjcsICAgIDEyLCAgICAgMCwg
ICAgMTMsCj4gKyAgICAgIDE0LCAgICAxNSwgICAgMTYsICAgIDE3LCAgICAxOCwgICAgMTksICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgMjAsICAgIDIxLCAgICAy
MiwgICAgMjMsICAgIDI0LCAgICAyNSwgICAgMjYsICAgICAwLCAgICAgMCwKPiArICAgICAyMDUs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgIDI5LCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgIDMyLCAgICAzMywgICAgMzQsICAgIDM1LCAgICAzNiwgICAgMzcsICAg
IDM4LCAgICAzOSwgICAgNDAsICAgICAwLAo+ICsgICAgICA0MSwgICAgNDIsICAgIDQzLCAgICA0
NCwgICAgIDAsICAgIDQ1LCAgICA0NiwgICAgNDcsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgNDgsICAgIDQ5LCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAyMDcsICAgICAwLCAgICAgMCwKPiArICAgICAyMDgs
ICAgIDUyLCAgICAgMCwgICAgNTMsICAgIDU0LCAgICAgMCwgICA1MTMsICAgICAwLCAgICAgMCwg
ICAgNTYsCj4gKyAgICAgIDU3LCAgICA1OCwgICAgNTksICAgIDYwLCAgICA2MSwgICAgNjIsICAg
IDYzLCAgICA2NCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICA1LCAgICAgNiwKPiArICAgICAgIDcs
ICAgICAwLCAgICAgOSwgICAgIDAsICAgICAwLCAgICAgMCwgICAgMTAsICAgIDExLCAgICA2NSwg
ICAyMTMsCj4gKyAgICAgIDY3LCAgICAxMiwgICAgIDAsICAgIDEzLCAgICAxNCwgICAgMTUsICAg
MjQ0LCAgIDI0NSwgICAgMTgsICAgIDE5LAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgIDIwLCAgIDI0NiwgICAyNDcsICAgIDIzLCAgICAyNCwKPiArICAgICAgMjUs
ICAgIDI2LCAgICAgMCwgICAgIDAsICAgMjA1LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAyOSwgICAgIDAsICAgICAwLCAgICAzMiwgICAgMzMsICAg
IDM0LCAgICAzNSwgICAgMzYsICAgIDM3LAo+ICsgICAgICAzOCwgICAgMzksICAgIDQwLCAgICAg
MCwgICAgNDEsICAgIDQyLCAgICA0MywgICAgNDQsICAgICAwLCAgICA0NSwKPiArICAgICAgNDYs
ICAgIDQ3LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgIDQ4LCAgICA0OSwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgMjA3LCAgICAgMCwgICAgIDAsICAgMjA4LCAgICA1MiwgICAgIDAsICAgIDUzLCAgICA1NCwg
ICAgIDAsCj4gKyAgICAgMjA5LCAgICAgMCwgICAgIDAsICAgIDU2LCAgICA1NywgICAgNTgsICAg
IDU5LCAgICA2MCwgICAgNjEsICAgIDYyLAo+ICsgICAgICA2MywgICAgNjQsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgNSwgICAgIDYsICAgICA3LCAgICAgMCwgICAgIDksICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgIDEwLCAgICAxMSwgICAgNjUsICAgMjEzLCAgICA2NywgICAgMTIsICAg
ICAwLCAgICAxMywgICAgMTQsICAgIDE1LAo+ICsgICAgIDI0NCwgICAyNDUsICAgIDE4LCAgICAx
OSwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAyMCwKPiArICAgICAyNDYs
ICAgMjQ3LCAgICAyMywgICAgMjQsICAgIDI1LCAgICAyNiwgICAgIDAsICAgICAwLCAgIDIwNSwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgMjksICAg
ICAwLCAgICAgMCwgICAgMzIsICAgIDMzLAo+ICsgICAgICAzNCwgICAgMzUsICAgIDM2LCAgICAz
NywgICAgMzgsICAgIDM5LCAgICA0MCwgICAgIDAsICAgIDQxLCAgICA0MiwKPiArICAgICAgNDMs
ICAgIDQ0LCAgICAgMCwgICAgNDUsICAgIDQ2LCAgICA0NywgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICA0OCwgICAgNDksICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDIwNywgICAgIDAsICAgICAwLCAgIDIwOCwg
ICAgNTIsCj4gKyAgICAgICAwLCAgICA1MywgICAgNTQsICAgICAwLCAgIDgwOSwgICAgIDAsICAg
ICAwLCAgICA1NiwgICAgNTcsICAgIDU4LAo+ICsgICAgICA1OSwgICAgNjAsICAgIDYxLCAgICA2
MiwgICAgNjMsICAgIDY0LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDUsICAgICA2LCAgICAgNywg
ICAgIDAsCj4gKyAgICAgICA5LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAxMCwgICAgMTEsICAg
IDY1LCAgIDIxMywgICAgNjcsICAgIDEyLAo+ICsgICAgICAgMCwgICAgMTMsICAgIDE0LCAgICAx
NSwgICAyNDQsICAgMjQ1LCAgICAxOCwgICAgMTksICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgMjAsICAgMjQ2LCAgIDI0NywgICAgMjMsICAgIDI0LCAgICAyNSwg
ICAgMjYsCj4gKyAgICAgICAwLCAgICAgMCwgICAyMDUsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgIDI5LAo+ICsgICAgICAgMCwgICAgIDAsICAgIDMyLCAgICAz
MywgICAgMzQsICAgIDM1LCAgICAzNiwgICAgMzcsICAgIDM4LCAgICAzOSwKPiArICAgICAgNDAs
ICAgICAwLCAgICA0MSwgICAgNDIsICAgIDQzLCAgICA0NCwgICAgIDAsICAgIDQ1LCAgICA0Niwg
ICAgNDcsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgNDgsICAgIDQ5LAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAyMDcsCj4gKyAgICAgICAwLCAgICAgMCwgICAyMDgsICAgIDUyLCAgICAgMCwgICAgNTMsICAg
IDU0LCAgICAgMCwgICA1MTMsICAgICAwLAo+ICsgICAgICAgMCwgICAgNTYsICAgIDU3LCAgICA1
OCwgICAgNTksICAgIDYwLCAgICA2MSwgICAgNjIsICAgIDYzLCAgICA2NCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICA1LCAgICAgNiwgICAgIDcsICAgICAwLCAgICAgOSwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgMTAsICAgIDExLAo+ICsgICAgICA2NSwgICAyMTMsICAgIDY3LCAgICAx
MiwgICAgIDAsICAgIDEzLCAgICAxNCwgICAgMTUsICAgMjQ0LCAgIDI0NSwKPiArICAgICAgMTgs
ICAgIDE5LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgIDIwLCAgIDI0Niwg
ICAyNDcsCj4gKyAgICAgIDIzLCAgICAyNCwgICAgMjUsICAgIDI2LCAgICAgMCwgICAgIDAsICAg
MjA1LCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAy
OSwgICAgIDAsICAgICAwLCAgICAzMiwgICAgMzMsICAgIDM0LCAgICAzNSwKPiArICAgICAgMzYs
ICAgIDM3LCAgICAzOCwgICAgMzksICAgIDQwLCAgICAgMCwgICAgNDEsICAgIDQyLCAgICA0Mywg
ICAgNDQsCj4gKyAgICAgICAwLCAgICA0NSwgICAgNDYsICAgIDQ3LCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgIDQ4LCAgICA0
OSwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgMjA3LCAgICAgMCwgICAgIDAsICAg
MjA4LCAgICA1MiwgICAgIDAsICAgIDUzLAo+ICsgICAgICA1NCwgICAgIDAsICAgNjE1LCAgICAg
MCwgICAgIDAsICAgIDU2LCAgICA1NywgICAgNTgsICAgIDU5LCAgICA2MCwKPiArICAgICAgNjEs
ICAgIDYyLCAgICA2MywgICAgNjQsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgNSwgICAgIDYsICAg
ICA3LCAgICAgMCwgICAgIDksICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgIDEwLCAgICAx
MSwgICAgNjUsICAgMjEzLCAgICA2NywgICAgMTIsICAgICAwLCAgICAxMywKPiArICAgICAgMTQs
ICAgIDE1LCAgIDI0NCwgICAyNDUsICAgIDE4LCAgICAxOSwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAyMCwgICAyNDYsICAgMjQ3LCAgICAyMywgICAgMjQsICAg
IDI1LCAgICAyNiwgICAgIDAsICAgICAwLAo+ICsgICAgIDIwNSwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgMjksICAgICAwLCAgICAgMCwKPiArICAgICAgMzIs
ICAgIDMzLCAgICAzNCwgICAgMzUsICAgIDM2LCAgICAzNywgICAgMzgsICAgIDM5LCAgICA0MCwg
ICAgIDAsCj4gKyAgICAgIDQxLCAgICA0MiwgICAgNDMsICAgIDQ0LCAgICAgMCwgICAgNDUsICAg
IDQ2LCAgICA0NywgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICA0OCwgICAgNDksICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgIDIwNywgICAgIDAsICAgICAwLAo+ICsgICAgIDIwOCwgICAgNTIsICAgICAwLCAgICA1
MywgICAgNTQsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICA1NiwKPiArICAgICAgNTcs
ICAgIDU4LCAgICA1OSwgICAgNjAsICAgIDYxLCAgICA2MiwgICAgNjMsICAgIDY0LCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDUsICAgICA2LAo+ICsgICAgICAgNywgICAgIDAsICAgICA5LCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAxMCwgICAgMTEsICAgIDY1LCAgIDIxMywKPiArICAgICAgNjcs
ICAgIDEyLCAgICAgMCwgICAgMTMsICAgIDE0LCAgICAxNSwgICAgMTYsICAgIDE3LCAgICAxOCwg
ICAgMTksCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgMjAsICAg
IDIxLCAgICAyMiwgICAgMjMsICAgIDI0LAo+ICsgICAgICAyNSwgICAgMjYsICAgICAwLCAgICAg
MCwgICAyMDUsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgIDI5LCAgICAgMCwgICAgIDAsICAgIDMyLCAgICAzMywgICAgMzQsICAgIDM1LCAgICAzNiwg
ICAgMzcsCj4gKyAgICAgIDM4LCAgICAzOSwgICAgNDAsICAgICAwLCAgICA0MSwgICAgNDIsICAg
IDQzLCAgICA0NCwgICAgIDAsICAgIDQ1LAo+ICsgICAgICA0NiwgICAgNDcsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgNDgs
ICAgIDQ5LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAyMDcsICAgICAwLCAgICAg
MCwgICAyMDgsICAgIDUyLCAgICAgMCwgICAgNTMsICAgIDU0LCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgNTYsICAgIDU3LCAgICA1OCwgICAgNTksICAgIDYwLCAgICA2MSwg
ICAgNjIsCj4gKyAgICAgIDYzLCAgICA2NCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICA1LCAgICAg
NiwgICAgIDcsICAgICAwLCAgICAgOSwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgMTAs
ICAgIDExLCAgICA2NSwgICAyMTMsICAgIDY3LCAgICAxMiwgICAgIDAsICAgIDEzLCAgICAxNCwg
ICAgMTUsCj4gKyAgICAgIDE2LCAgICAxNywgICAgMTgsICAgIDE5LCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgIDIwLAo+ICsgICAgICAyMSwgICAgMjIsICAgIDIzLCAgICAy
NCwgICAgMjUsICAgIDI2LCAgICAgMCwgICAgIDAsICAgIDI3LCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAyOSwgICAgIDAsICAgICAwLCAgICAzMiwg
ICAgMzMsCj4gKyAgICAgIDM0LCAgICAzNSwgICAgMzYsICAgIDM3LCAgICAzOCwgICAgMzksICAg
IDQwLCAgICAgMCwgICAgNDEsICAgIDQyLAo+ICsgICAgICA0MywgICAgNDQsICAgICAwLCAgICA0
NSwgICAgNDYsICAgIDQ3LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgIDQ4LCAgICA0OSwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgMjA3LCAgICAgMCwgICAgIDAsICAgMjA4LCAgICA1MiwKPiArICAgICAgIDAs
ICAgIDUzLCAgICA1NCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgIDU2LCAgICA1Nywg
ICAgNTgsCj4gKyAgICAgIDU5LCAgICA2MCwgICAgNjEsICAgIDYyLCAgICA2MywgICAgNjQsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgNSwgICAgIDYsICAgICA3LCAgICAgMCwKPiArICAgICAgIDks
ICAgICAwLCAgICAgMCwgICAgIDAsICAgIDEwLCAgICAxMSwgICAgNjUsICAgIDY2LCAgICA2Nywg
ICAgMTIsCj4gKyAgICAgICAwLCAgICAxMywgICAgMTQsICAgIDE1LCAgIDI0NCwgICAyNDUsICAg
IDE4LCAgICAxOSwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAy
MCwgICAyNDYsICAgMjQ3LCAgICAyMywgICAgMjQsICAgIDI1LCAgICAyNiwKPiArICAgICAgIDAs
ICAgICAwLCAgIDIwNSwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAyNzQsCj4gKyAgICAgICAwLCAgICAgMCwgICAgMzIsICAgIDMzLCAgICAzNCwgICAgMzUsICAg
IDM2LCAgICAzNywgICAgMzgsICAgIDM5LAo+ICsgICAgICA0MCwgICAgIDAsICAgIDQxLCAgICA0
MiwgICAgNDMsICAgIDQ0LCAgICAgMCwgICAgNDUsICAgIDQ2LCAgICA0NywKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDI3NSwKPiArICAgICAgIDAs
ICAgICAwLCAgIDMyNSwgICAgNTIsICAgICAwLCAgICA1MywgICAgNTQsICAgICAwLCAgIDMyNiwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICA1NiwgICAgNTcsICAgIDU4LCAgICA1OSwgICAgNjAsICAg
IDYxLCAgICA2MiwgICAgNjMsICAgIDY0LAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgNSwgICAgIDYsICAgICA3LCAgICAgMCwKPiArICAgICAgIDks
ICAgICAwLCAgICAgMCwgICAgIDAsICAgIDEwLCAgICAxMSwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgMTIsCj4gKyAgICAgMjc2LCAgICAxMywgICAgMTQsICAgIDE1LCAgIDI0NCwgICAyNDUsICAg
IDE4LCAgICAxOSwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAy
MCwgICAyNDYsICAgMjQ3LCAgICAyMywgICAgMjQsICAgIDI1LCAgICAyNiwKPiArICAgICAgIDAs
ICAgICAwLCAgIDIwNSwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAyNzQsCj4gKyAgICAgICAwLCAgICAgMCwgICAgMzIsICAgIDMzLCAgICAzNCwgICAgMzUsICAg
IDM2LCAgICAzNywgICAgMzgsICAgIDM5LAo+ICsgICAgICA0MCwgICAgIDAsICAgIDQxLCAgICA0
MiwgICAgNDMsICAgIDQ0LCAgICAgMCwgICAgNDUsICAgIDQ2LCAgICA0NywKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDM3MiwKPiArICAgICAgIDAs
ICAgICAwLCAgICA1MSwgICAgNTIsICAgICAwLCAgICA1MywgICAgNTQsICAgICAwLCAgICA1NSwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICA1NiwgICAgNTcsICAgIDU4LCAgICA1OSwgICAgNjAsICAg
IDYxLCAgICA2MiwgICAgNjMsICAgIDY0LAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgNSwgICAgIDYsICAgICA3LCAgICAgMCwKPiArICAgICAgIDks
ICAgICAwLCAgICAgMCwgICAgIDAsICAgIDEwLCAgICAxMSwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgMTIsCj4gKyAgICAgMjc2LCAgICAxMywgICAgMTQsICAgIDE1LCAgIDI0NCwgICAyNDUsICAg
IDE4LCAgICAxOSwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAy
MCwgICAyNDYsICAgMjQ3LCAgICAyMywgICAgMjQsICAgIDI1LCAgICAyNiwKPiArICAgICAgIDAs
ICAgICAwLCAgIDIwNSwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAyNzQsCj4gKyAgICAgICAwLCAgICAgMCwgICAgMzIsICAgIDMzLCAgICAzNCwgICAzODAsICAg
IDM2LCAgICAzNywgICAgMzgsICAgMzgxLAo+ICsgICAgICA0MCwgICAgIDAsICAgIDQxLCAgICA0
MiwgICAgNDMsICAgIDQ0LCAgICAgMCwgICAgNDUsICAgIDQ2LCAgICA0NywKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgMzgyLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDM4MywKPiArICAgICAgIDAs
ICAgICAwLCAgIDIwOCwgICAgNTIsICAgICAwLCAgICA1MywgICAgNTQsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICA1NiwgICAgNTcsICAgIDU4LCAgICA1OSwgICAgNjAsICAg
IDYxLCAgICA2MiwgICAgNjMsICAgIDY0LAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgNSwgICAgIDYsICAgICA3LCAgICAgMCwKPiArICAgICAgIDks
ICAgICAwLCAgICAgMCwgICAgIDAsICAgIDEwLCAgICAxMSwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgMTIsCj4gKyAgICAgMjc2LCAgICAxMywgICAgMTQsICAgIDE1LCAgIDI0NCwgICAyNDUsICAg
IDE4LCAgICAxOSwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAy
MCwgICAyNDYsICAgMjQ3LCAgICAyMywgICAgMjQsICAgIDI1LCAgICAyNiwKPiArICAgICAgIDAs
ICAgICAwLCAgIDIwNSwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAyNzQsCj4gKyAgICAgICAwLCAgICAgMCwgICAgMzIsICAgIDMzLCAgICAzNCwgICAzODAsICAg
IDM2LCAgICAzNywgICAgMzgsICAgMzgxLAo+ICsgICAgICA0MCwgICAgIDAsICAgIDQxLCAgICA0
MiwgICAgNDMsICAgIDQ0LCAgICAgMCwgICAgNDUsICAgIDQ2LCAgICA0NywKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDM4MywKPiArICAgICAgIDAs
ICAgICAwLCAgIDIwOCwgICAgNTIsICAgICAwLCAgICA1MywgICAgNTQsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICA1NiwgICAgNTcsICAgIDU4LCAgICA1OSwgICAgNjAsICAg
IDYxLCAgICA2MiwgICAgNjMsICAgIDY0LAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgNSwgICAgIDYsICAgICA3LCAgICAgMCwKPiArICAgICAgIDks
ICAgICAwLCAgICAgMCwgICAgIDAsICAgIDEwLCAgICAxMSwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgMTIsCj4gKyAgICAgMjc2LCAgICAxMywgICAgMTQsICAgIDE1LCAgIDI0NCwgICAyNDUsICAg
IDE4LCAgICAxOSwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAy
MCwgICAyNDYsICAgMjQ3LCAgICAyMywgICAgMjQsICAgIDI1LCAgICAyNiwKPiArICAgICAgIDAs
ICAgICAwLCAgIDIwNSwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAyNzQsCj4gKyAgICAgICAwLCAgICAgMCwgICAgMzIsICAgIDMzLCAgICAzNCwgICAgMzUsICAg
IDM2LCAgICAzNywgICAgMzgsICAgIDM5LAo+ICsgICAgICA0MCwgICAgIDAsICAgIDQxLCAgICA0
MiwgICAgNDMsICAgIDQ0LCAgICAgMCwgICAgNDUsICAgIDQ2LCAgICA0NywKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDI3NSwKPiArICAgICAgIDAs
ICAgICAwLCAgIDMyNSwgICAgNTIsICAgICAwLCAgICA1MywgICAgNTQsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICA1NiwgICAgNTcsICAgIDU4LCAgICA1OSwgICAgNjAsICAg
IDYxLCAgICA2MiwgICAgNjMsICAgIDY0LAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgNSwgICAgIDYsICAgICA3LCAgICAgMCwKPiArICAgICAgIDks
ICAgICAwLCAgICAgMCwgICAgIDAsICAgIDEwLCAgICAxMSwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgMTIsCj4gKyAgICAgMjc2LCAgICAxMywgICAgMTQsICAgIDE1LCAgIDI0NCwgICAyNDUsICAg
IDE4LCAgICAxOSwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAy
MCwgICAyNDYsICAgMjQ3LCAgICAyMywgICAgMjQsICAgIDI1LCAgICAyNiwKPiArICAgICAgIDAs
ICAgICAwLCAgIDIwNSwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAyNzQsCj4gKyAgICAgICAwLCAgICAgMCwgICAgMzIsICAgIDMzLCAgICAzNCwgICAgMzUsICAg
IDM2LCAgICAzNywgICAgMzgsICAgIDM5LAo+ICsgICAgICA0MCwgICAgIDAsICAgIDQxLCAgICA0
MiwgICAgNDMsICAgIDQ0LCAgICAgMCwgICAgNDUsICAgIDQ2LCAgICA0NywKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDkwMCwKPiArICAgICAgIDAs
ICAgICAwLCAgIDIwOCwgICAgNTIsICAgICAwLCAgICA1MywgICAgNTQsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICA1NiwgICAgNTcsICAgIDU4LCAgICA1OSwgICAgNjAsICAg
IDYxLCAgICA2MiwgICAgNjMsICAgIDY0LAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgNSwgICAgIDYsICAgICA3LCAgICAgMCwKPiArICAgICAgIDks
ICAgICAwLCAgICAgMCwgICAgIDAsICAgIDEwLCAgICAxMSwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgMTIsCj4gKyAgICAgMjc2LCAgICAxMywgICAgMTQsICAgIDE1LCAgIDI0NCwgICAyNDUsICAg
IDE4LCAgICAxOSwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAy
MCwgICAyNDYsICAgMjQ3LCAgICAyMywgICAgMjQsICAgIDI1LCAgICAyNiwKPiArICAgICAgIDAs
ICAgICAwLCAgIDIwNSwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAyNzQsCj4gKyAgICAgICAwLCAgICAgMCwgICAgMzIsICAgIDMzLCAgICAzNCwgICAgMzUsICAg
IDM2LCAgICAzNywgICAgMzgsICAgIDM5LAo+ICsgICAgICA0MCwgICAgIDAsICAgIDQxLCAgICA0
MiwgICAgNDMsICAgIDQ0LCAgICAgMCwgICAgNDUsICAgIDQ2LCAgICA0NywKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICA1NTcsICAgNTU4LCAgIDk3NSwKPiArICAgICAgIDAs
ICAgNTU5LCAgIDIwOCwgICAgNTIsICAgICAwLCAgICA1MywgICAgNTQsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICA1NiwgICAgNTcsICAgIDU4LCAgICA1OSwgICAgNjAsICAg
IDYxLCAgICA2MiwgICAgNjMsICAgIDY0LAo+ICsgICAgIDE2NywgICAxNjgsICAgMTY5LCAgIDE3
MCwgICAxNzEsICAgMTcyLCAgIDE3MywgICAxNzQsICAgMTc1LCAgICAgMCwKPiArICAgICAgIDAs
ICAgMTc2LCAgIDE3NywgICAgIDAsICAgICAwLCAgIDE3OCwgICAxNzksICAgMTgwLCAgIDE4MSwg
ICAgIDAsCj4gKyAgICAgMjc2LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgIDE4MiwgICAxODMsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAxODQsICAgMTg1LCAgIDE4NiwgICAxODcsICAg
MTg4LCAgIDE4OSwgICAxOTAsICAgMTkxLAo+ICsgICAgIDE5MiwgICAxOTMsICAgICAwLCAgIDE5
NCwgICAxOTUsICAgNTY1LCAgIDU2NiwgICAgIDAsICAgICAwLCAgIDU2NywKPiArICAgICAxOTYs
ICAgMjMyLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAxNjcsICAgMTY4LAo+ICsgICAgIDE2OSwgICAxNzAsICAgMTcxLCAgIDE3
MiwgICAxNzMsICAgMTc0LCAgIDE3NSwgICAgIDAsICAgICAwLCAgIDE3NiwKPiArICAgICAxNzcs
ICAgICAwLCAgICAgMCwgICAxNzgsICAgMTc5LCAgIDE4MCwgICAxODEsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAxODIsICAgMTgzLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgMTg0LCAgIDE4NSwgICAxODYsICAgMTg3LCAgIDE4OCwgICAxODksICAg
MTkwLCAgIDE5MSwgICAxOTIsICAgMTkzLAo+ICsgICAgICAgMCwgICAxOTQsICAgMTk1LCAgIDYx
OSwgICA1NTgsICAgICAwLCAgICAgMCwgICA2MjAsICAgMTk2LCAgIDIzMiwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
MTY3LCAgIDE2OCwgICAxNjksICAgMTcwLAo+ICsgICAgIDE3MSwgICAxNzIsICAgMTczLCAgIDE3
NCwgICAxNzUsICAgICAwLCAgICAgMCwgICAxNzYsICAgMTc3LCAgICAgMCwKPiArICAgICAgIDAs
ICAgMTc4LCAgIDE3OSwgICAxODAsICAgMTgxLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
MTgyLCAgIDE4MywgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDE4NCwg
ICAxODUsCj4gKyAgICAgMTg2LCAgIDE4NywgICAxODgsICAgMTg5LCAgIDE5MCwgICAxOTEsICAg
MTkyLCAgIDE5MywgICAgIDAsICAgMTk0LAo+ICsgICAgIDE5NSwgICA2MjIsICAgNTY2LCAgICAg
MCwgICAgIDAsICAgNjIzLCAgIDE5NiwgICAyMzIsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDE2NywgICAxNjgsICAg
MTY5LCAgIDE3MCwgICAxNzEsICAgMTcyLAo+ICsgICAgIDE3MywgICAxNzQsICAgMTc1LCAgICAg
MCwgICAgIDAsICAgMTc2LCAgIDE3NywgICAgIDAsICAgICAwLCAgIDE3OCwKPiArICAgICAxNzks
ICAgMTgwLCAgIDE4MSwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDE4MiwgICAxODMsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAxODQsICAgMTg1LCAgIDE4Niwg
ICAxODcsCj4gKyAgICAgMTg4LCAgIDE4OSwgICAxOTAsICAgMTkxLCAgIDE5MiwgICAxOTMsICAg
ICAwLCAgIDE5NCwgICAxOTUsICAgNjQ2LAo+ICsgICAgIDU1OCwgICAgIDAsICAgICAwLCAgIDY0
NywgICAxOTYsICAgMjMyLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAxNjcsICAgMTY4LCAgIDE2OSwgICAxNzAsICAg
MTcxLCAgIDE3MiwgICAxNzMsICAgMTc0LAo+ICsgICAgIDE3NSwgICAgIDAsICAgICAwLCAgIDE3
NiwgICAxNzcsICAgICAwLCAgICAgMCwgICAxNzgsICAgMTc5LCAgIDE4MCwKPiArICAgICAxODEs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAxODIsICAgMTgzLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgMTg0LCAgIDE4NSwgICAxODYsICAgMTg3LCAgIDE4OCwg
ICAxODksCj4gKyAgICAgMTkwLCAgIDE5MSwgICAxOTIsICAgMTkzLCAgICAgMCwgICAxOTQsICAg
MTk1LCAgIDY0OSwgICA1NjYsICAgICAwLAo+ICsgICAgICAgMCwgICA2NTAsICAgMTk2LCAgIDIz
MiwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgMTY3LCAgIDE2OCwgICAxNjksICAgMTcwLCAgIDE3MSwgICAxNzIsICAg
MTczLCAgIDE3NCwgICAxNzUsICAgICAwLAo+ICsgICAgICAgMCwgICAxNzYsICAgMTc3LCAgICAg
MCwgICAgIDAsICAgMTc4LCAgIDE3OSwgICAxODAsICAgMTgxLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgMTgyLCAgIDE4MywgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgIDE4NCwgICAxODUsICAgMTg2LCAgIDE4NywgICAxODgsICAgMTg5LCAgIDE5MCwg
ICAxOTEsCj4gKyAgICAgMTkyLCAgIDE5MywgICAgIDAsICAgMTk0LCAgIDE5NSwgICA3MTUsICAg
NTU4LCAgICAgMCwgICAgIDAsICAgNzE2LAo+ICsgICAgIDE5NiwgICAyMzIsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDE2Nywg
ICAxNjgsCj4gKyAgICAgMTY5LCAgIDE3MCwgICAxNzEsICAgMTcyLCAgIDE3MywgICAxNzQsICAg
MTc1LCAgICAgMCwgICAgIDAsICAgMTc2LAo+ICsgICAgIDE3NywgICAgIDAsICAgICAwLCAgIDE3
OCwgICAxNzksICAgMTgwLCAgIDE4MSwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDE4Miwg
ICAxODMsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAxODQs
ICAgMTg1LCAgIDE4NiwgICAxODcsICAgMTg4LCAgIDE4OSwgICAxOTAsICAgMTkxLCAgIDE5Miwg
ICAxOTMsCj4gKyAgICAgICAwLCAgIDE5NCwgICAxOTUsICAgNzE4LCAgIDU2NiwgICAgIDAsICAg
ICAwLCAgIDcxOSwgICAxOTYsICAgMjMyLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAxNjcsICAgMTY4LCAgIDE2OSwg
ICAxNzAsCj4gKyAgICAgMTcxLCAgIDE3MiwgICAxNzMsICAgMTc0LCAgIDE3NSwgICAgIDAsICAg
ICAwLCAgIDE3NiwgICAxNzcsICAgICAwLAo+ICsgICAgICAgMCwgICAxNzgsICAgMTc5LCAgIDE4
MCwgICAxODEsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAxODIsICAgMTgzLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgMTg0LCAgIDE4NSwKPiArICAgICAxODYs
ICAgMTg3LCAgIDE4OCwgICAxODksICAgMTkwLCAgIDE5MSwgICAxOTIsICAgMTkzLCAgICAgMCwg
ICAxOTQsCj4gKyAgICAgMTk1LCAgIDcyNCwgICA1NTgsICAgICAwLCAgICAgMCwgICA3MjUsICAg
MTk2LCAgIDIzMiwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgMTY3LCAgIDE2OCwgICAxNjksICAgMTcwLCAgIDE3MSwg
ICAxNzIsCj4gKyAgICAgMTczLCAgIDE3NCwgICAxNzUsICAgICAwLCAgICAgMCwgICAxNzYsICAg
MTc3LCAgICAgMCwgICAgIDAsICAgMTc4LAo+ICsgICAgIDE3OSwgICAxODAsICAgMTgxLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgMTgyLCAgIDE4MywgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgIDE4NCwgICAxODUsICAgMTg2LCAgIDE4NywKPiArICAgICAxODgs
ICAgMTg5LCAgIDE5MCwgICAxOTEsICAgMTkyLCAgIDE5MywgICAgIDAsICAgMTk0LCAgIDE5NSwg
ICA2MDQsCj4gKyAgICAgNTY2LCAgICAgMCwgICAgIDAsICAgNjA1LCAgIDE5NiwgICAyMzIsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgIDE2NywgICAxNjgsICAgMTY5LCAgIDE3MCwgICAxNzEsICAgMTcyLCAgIDE3Mywg
ICAxNzQsCj4gKyAgICAgMTc1LCAgICAgMCwgICAgIDAsICAgMTc2LCAgIDE3NywgICAgIDAsICAg
ICAwLCAgIDE3OCwgICAxNzksICAgMTgwLAo+ICsgICAgIDE4MSwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgIDE4MiwgICAxODMsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAxODQsICAgMTg1LCAgIDE4NiwgICAxODcsICAgMTg4LCAgIDE4OSwKPiArICAgICAxOTAs
ICAgMTkxLCAgIDE5MiwgICAxOTMsICAgICAwLCAgIDE5NCwgICAxOTUsICAgODE0LCAgIDU1OCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgIDgxNSwgICAxOTYsICAgMjMyLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAxNjcs
ICAgMTY4LCAgIDE2OSwgICAxNzAsICAgMTcxLCAgIDE3MiwgICAxNzMsICAgMTc0LCAgIDE3NSwg
ICAgIDAsCj4gKyAgICAgICAwLCAgIDE3NiwgICAxNzcsICAgICAwLCAgICAgMCwgICAxNzgsICAg
MTc5LCAgIDE4MCwgICAxODEsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAxODIs
ICAgMTgzLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgMTg0LCAgIDE4
NSwgICAxODYsICAgMTg3LCAgIDE4OCwgICAxODksICAgMTkwLCAgIDE5MSwKPiArICAgICAxOTIs
ICAgMTkzLCAgICAgMCwgICAxOTQsICAgMTk1LCAgIDgxNywgICA1NjYsICAgICAwLCAgICAgMCwg
ICA4MTgsCj4gKyAgICAgMTk2LCAgIDIzMiwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgMTY3LCAgIDE2OCwKPiArICAgICAxNjks
ICAgMTcwLCAgIDE3MSwgICAxNzIsICAgMTczLCAgIDE3NCwgICAxNzUsICAgICAwLCAgICAgMCwg
ICAxNzYsCj4gKyAgICAgMTc3LCAgICAgMCwgICAgIDAsICAgMTc4LCAgIDE3OSwgICAxODAsICAg
MTgxLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgMTgyLCAgIDE4MywKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgIDE4NCwgICAxODUsICAgMTg2LCAgIDE4
NywgICAxODgsICAgMTg5LCAgIDE5MCwgICAxOTEsICAgMTkyLCAgIDE5MywKPiArICAgICAgIDAs
ICAgMTk0LCAgIDE5NSwgIDEwMTUsICAgNTU4LCAgICAgMCwgICAgIDAsICAxMDE2LCAgIDE5Niwg
ICAyMzIsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgIDE2NywgICAxNjgsICAgMTY5LCAgIDE3MCwKPiArICAgICAxNzEs
ICAgMTcyLCAgIDE3MywgICAxNzQsICAgMTc1LCAgICAgMCwgICAgIDAsICAgMTc2LCAgIDE3Nywg
ICAgIDAsCj4gKyAgICAgICAwLCAgIDE3OCwgICAxNzksICAgMTgwLCAgIDE4MSwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgIDE4MiwgICAxODMsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAxODQsICAgMTg1LAo+ICsgICAgIDE4NiwgICAxODcsICAgMTg4LCAgIDE4
OSwgICAxOTAsICAgMTkxLCAgIDE5MiwgICAxOTMsICAgICAwLCAgIDE5NCwKPiArICAgICAxOTUs
ICAxMDQ5LCAgIDU1OCwgICAgIDAsICAgICAwLCAgMTA1MCwgICAxOTYsICAgMjMyLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAxNjcsICAgMTY4LCAgIDE2OSwgICAxNzAsICAgMTcxLCAgIDE3MiwKPiArICAgICAxNzMs
ICAgMTc0LCAgIDE3NSwgICAgIDAsICAgICAwLCAgIDE3NiwgICAxNzcsICAgICAwLCAgICAgMCwg
ICAxNzgsCj4gKyAgICAgMTc5LCAgIDE4MCwgICAxODEsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAg
MCwgICAxODIsICAgMTgzLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
MTg0LCAgIDE4NSwgICAxODYsICAgMTg3LAo+ICsgICAgIDE4OCwgICAxODksICAgMTkwLCAgIDE5
MSwgICAxOTIsICAgMTkzLCAgICAgMCwgICAxOTQsICAgMTk1LCAgMTA1MiwKPiArICAgICA1NjYs
ICAgICAwLCAgICAgMCwgIDEwNTMsICAgMTk2LCAgIDIzMiwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgMTY3LCAgIDE2
OCwgICAxNjksICAgMTcwLCAgIDE3MSwgICAxNzIsICAgMTczLCAgIDE3NCwKPiArICAgICAxNzUs
ICAgICAwLCAgICAgMCwgICAxNzYsICAgMTc3LCAgICAgMCwgICAgIDAsICAgMTc4LCAgIDE3OSwg
ICAxODAsCj4gKyAgICAgMTgxLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgICAgMCwgICAgIDAsICAgMTgyLCAgIDE4
MywgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDE4NCwgICAxODUsICAg
MTg2LCAgIDE4NywgICAxODgsICAgMTg5LAo+ICsgICAgIDE5MCwgICAxOTEsICAgMTkyLCAgIDE5
MywgICAgIDAsICAgMTk0LCAgIDE5NSwgICA2MDQsICAgNTY2LCAgICAgMCwKPiArICAgICAgIDAs
ICAgNjA1LCAgIDE5NiwgICAyMzIsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgIDE2NywgICAxNjgsICAgMTY5LCAgIDE3
MCwgICAxNzEsICAgMTcyLCAgIDE3MywgICAxNzQsICAgMTc1LCAgICAgMCwKPiArICAgICAgIDAs
ICAgMTc2LCAgIDE3NywgICAgIDAsICAgICAwLCAgIDE3OCwgICAxNzksICAgMTgwLCAgIDE4MSwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgMCwgICAgIDAsICAgICAwLAo+ICsgICAgIDE4MiwgICAxODMsICAgICAwLCAgICAg
MCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAgIDAs
ICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwg
ICAgIDAsCj4gKyAgICAgICAwLCAgICAgMCwgICAxODQsICAgMTg1LCAgIDE4NiwgICAxODcsICAg
MTg4LCAgIDE4OSwgICAxOTAsICAgMTkxLAo+ICsgICAgIDE5MiwgICAxOTMsICAgICAwLCAgIDE5
NCwgICAxOTUsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKPiArICAgICAxOTYK
PiArfTsKPiArCj4gK3N0YXRpYyBjb25zdCB5eXR5cGVfaW50MTYgeXljaGVja1tdID0KPiArewo+
ICsgICAgICAgMiwgICAxMDAsICAgIDkwLCAgICA1NywgICAgNjksICAgIDkzLCAgICA4NywgICAz
NjAsICAgICAyLCAgICAgOCwKPiArICAgICAgIDQsICAgIDIyLCAgICA5MiwgICAzMjgsICAgIDI4
LCAgICAyNywgICAgNTUsICAgIDI5LCAgICA5OSwgICAgIDgsCj4gKyAgICAgMjY4LCAgICAgOCwg
ICAgNTEsICAgMjI2LCAgIDI3MiwgICAzNjUsICAgNTgwLCAgICAgNCwgICAgOTMsICAgIDI4LAo+
ICsgICAgIDc1NSwgICAgMTYsICAgIDE3LCAgICA4MSwgICAyOTIsICAgMjkzLCAgICA2NiwgICAg
OTMsICAgMzU5LCAgICAyOCwKPiArICAgICAzNjEsICAgIDI4LCAgICA4MSwgICAgOTcsICAgNzA2
LCAgICAgMiwgICA0MjEsICAgICA0LCAgICA2NSwgICA0MjksCj4gKyAgICAgIDUxLCAgICA1Mywg
ICAgNTQsICAgNjIxLCAgIDQyOSwgICAgOTQsICAgIDk1LCAgICA5NiwgICAgNTIsICAgIDE2LAo+
ICsgICAgICAxNywgICAzODMsICAgIDU4LCAgICA1NSwgICA0NzYsICAgIDc2LCAgIDg3OSwgICAg
MjcsICAgIDUzLCAgICA2OSwKPiArICAgICAgNTcsICAgNjUxLCAgIDQyNSwgICAgMzcsICAgIDM4
LCAgICAxNiwgICAgMTcsICAgIDYzLCAgIDkwNSwgICAgMTMsCj4gKyAgICAgNjQ4LCAgICAyNSwg
ICAgMjUsICAgOTM4LCAgIDkzNiwgICA4OTgsICAgNDA3LCAgIDQ2NywgICAgIDAsICAgIDI2LAo+
ICsgICAgICAxNiwgICAgMTcsICAgMjU2LCAgIDY2NiwgICAgNTEsICAgIDUyLCAgIDg4OCwgICAg
MjYsICAgIDU1LCAgIDQxMCwKPiArICAgICA0MTEsICAgMTUxLCAgICAyOSwgICA0MjQsICAgIDEz
LCAgIDQyNiwgICAgMTYsICAgIDE3LCAgIDUyMCwgICAgNjYsCj4gKyAgICAgIDk3LCAgIDkwOSwg
ICAgMjUsICAgIDk4LCAgIDMyOCwgICA3OTMsICAgMTQ0LCAgIDE0MSwgICAgODUsICAgIDIyLAo+
ICsgICAgICA2OCwgICAgOTcsICAgMTQxLCAgIDE1MSwgICAgODEsICAgNDc4LCAgICAyNSwgICAg
OTcsICAgIDYzLCAgICA2OCwKPiArICAgICAxNDYsICAgNDUyLCAgICA4OSwgICAgOTAsICAgMTIw
LCAgIDE1MSwgICAgOTMsICAgIDk0LCAgICA5NSwgICAgOTYsCj4gKyAgICAgMjIxLCAgICA5OCwg
ICA5OTQsICAgIDUzLCAgICA1NCwgICA4NzAsICAgODcxLCAgICA5NSwgICAxMjQsICAgNzE3LAo+
ICsgICAgIDc3NCwgICAgNTYsICAgIDI1LCAgIDEwNywgICAxMjQsICAgIDk0LCAgICA5NSwgICAg
OTgsICAgNDc5LCAgIDcyNywKPiArICAgICA1OTgsICAgMzI1LCAgIDEyOSwgICAgMjUsICAgIDEz
LCAgIDE0OSwgICAxMjQsICAgMTUxLCAgIDE0NCwgICAyNTAsCj4gKyAgICAgIDg5LCAgICA5MCwg
ICAgOTgsICAgIDc2LCAgICA5MywgICA3OTksICAgODAwLCAgIDEzMSwgIDEwMzMsICAgMjA4LAo+
ICsgICAgIDEyNCwgICA3NjEsICAgIDI1LCAgMTAzNSwgIDEwMTEsICAgMTIwLCAgIDE0NCwgICAx
NTEsICAgIDk4LCAgIDE0OSwKPiArICAgICAgMjUsICAgMTUxLCAgMTAwNSwgICAyNTgsICAgMTIx
LCAgICAyNSwgICA0MTAsICAgNDExLCAgIDg3NiwgICAyODAsCj4gKyAgICAgMTQ0LCAgIDE0NCwg
ICAyNTgsICAgMTQ3LCAgIDE0MSwgIDEwMTgsICAxMDU4LCAgIDE1MSwgIDEwMDAsICAgMTQ2LAo+
ICsgICAgIDE0NCwgICA5MzYsICAgMTQxLCAgIDkzOCwgICAyNDMsICAgMTQ5LCAgIDIxMiwgICAx
NTEsICAgMjIwLCAgIDMwNywKPiArICAgICAzMDgsICAgMzA5LCAgIDMxMCwgICAgMTMsICAgMjI2
LCAgMTAyMywgICAgIDksICAgMjU2LCAgIDE1MCwgICAyNzcsCj4gKyAgICAgMjMyLCAgIDE0NCwg
ICAgMTUsICAgNTg2LCAgIDQ5MiwgICA0MzgsICAgNDk0LCAgIDE0NiwgICAyNzcsICAgMjQxLAo+
ICsgICAgIDE0OSwgICAgMjgsICAgMTUxLCAgIDU5NiwgICAyMjksICAgMTQ0LCAgIDIzMSwgICAy
NDEsICAgODE2LCAgIDYyOSwKPiArICAgICAgOTcsICAgMjA4LCAgICA1MiwgICA2MjgsICAgNjI5
LCAgIDI1NiwgICAgNTYsICAgMTUwLCAgIDI1OCwgICAyNzYsCj4gKyAgICAgMjU0LCAgIDE1MCwg
ICAyNzQsICAgIDEzLCAgIDkyNiwgICAxNTAsICAgNTg3LCAgIDY3OSwgICAgMTMsICAgOTk0LAo+
ICsgICAgIDk5NSwgICAxNDQsICAgMjI5LCAgIDU5NSwgICAyMzEsICAgMjMyLCAgIDU5NywgICAx
MjQsICAgMjM1LCAgIDM2NywKPiArICAgICAyMzcsICAgODYxLCAgIDE0NCwgICA4NjMsICAgMjQx
LCAgIDcyMywgICAyNDMsICAgMzI2LCAgIDIyOSwgICAxNDQsCj4gKyAgICAgMjMxLCAgIDIzMiwg
ICAgNjMsICAgMzIzLCAgIDM3NSwgICAgMTMsICAgMzI1LCAgIDI1NCwgICAzMjgsICAgMjU2LAo+
ICsgICAgIDE0OSwgICAxNDQsICAgMTUxLCAgIDIyOSwgICAzNjksICAgMjMxLCAgIDg3OSwgICAg
MTMsICAxMDMzLCAgIDE0NCwKPiArICAgIDEwMzUsICAgMTQ2LCAgIDMwNiwgICAzNjksICAgMTQ0
LCAgIDg4OCwgICAyMzUsICAgMzExLCAgIDIzNywgICAyMjksCj4gKyAgICAgMjc3LCAgIDIzMSwg
ICAxMjQsICAgIDI1LCAgIDMyNSwgICA4OTgsICAgOTUwLCAgIDEyNCwgICAgMTMsICAgMzA2LAo+
ICsgICAgICA5NywgICA2ODQsICAgOTA1LCAgMTA1OCwgICAzMjYsICAgIDE0LCAgICAxNSwgICAz
NjYsICAgMzIzLCAgIDM2OCwKPiArICAgICAxNDQsICAgMTEwLCAgIDk2NiwgICAzMjgsICAgMjQ3
LCAgIDI0OCwgICAxMTcsICAgMTUxLCAgIDExOSwgICAzMDYsCj4gKyAgICAgMzA3LCAgIDMwOCwg
ICAzMDksICAgMzEwLCAgIDMxMSwgICAzMTIsICAgMzEzLCAgIDEyNCwgICAzNjAsICAgMTQ5LAo+
ICsgICAgICAxMywgICAxNTEsICAgNjgzLCAgICAxMywgICA2ODUsICAgIDk3LCAgIDMyMywgICA2
NjYsICAgMzI1LCAgIDMyNiwKPiArICAgICA4MDgsICAgMzI4LCAgIDkyNiwgICA3MTMsICAgMzYx
LCAgICA5NywgICA2ODcsICAgNjg4LCAgICAyNSwgICAxNTAsCj4gKyAgICAgNDEwLCAgIDQxMSwg
ICA2OTMsICAgNjk0LCAgIDE0NCwgICA3NjEsICAgNzAxLCAgIDE0NiwgICAzMDcsICAgMzA4LAo+
ICsgICAgIDMwOSwgICAzMTAsICAgMTI0LCAgIDMxMiwgICAzMTMsICAgNjQzLCAgIDE0NiwgICA2
NTUsICAgIDU2LCAgIDE0OSwKPiArICAgICAxMjQsICAgMTUxLCAgIDY2MCwgICAzNjAsICAgMTQ5
LCAgIDM2MiwgICAxNTEsICAgIDI1LCAgICA5OCwgICAzNjYsCj4gKyAgICAgMzY3LCAgIDM2OCwg
ICAxNDQsICAgIDI1LCAgICA2OCwgICA2MTgsICAgIDE1LCAgIDg1NSwgICAgMTcsICAgMzYwLAo+
ICsgICAgIDQwNywgICAxNDQsICAgIDk3LCAgIDQyNSwgICA4NjIsICAgMzgyLCAgICA5NywgIDEw
MDAsICAgNDc2LCAgICA2OCwKPiArICAgICAxNDQsICAgMTQ5LCAgIDQ0NiwgICAxNTEsICAgIDY4
LCAgIDQzNywgICA0MzgsICAgNDc2LCAgMTAxMSwgICA0MjYsCj4gKyAgICAgIDk0LCAgICA5NSwg
ICAxNDQsICAgMTQ5LCAgIDE0NiwgICAxNTEsICAgMTQ2LCAgIDQ0NiwgICAzNjcsICAgMTI0LAo+
ICsgICAgIDUzMSwgICAgNjgsICAgMTQ2LCAgIDQxMCwgICA0MTEsICAgMTQ0LCAgICA5NSwgICA0
NDYsICAgMzYxLCAgIDQ0NiwKPiArICAgICAgOTQsICAgIDk1LCAgIDE1MSwgICAzODIsICAgMTQ5
LCAgIDQ1MiwgICAxNTEsICAgNjgxLCAgIDQyNSwgICAxNDQsCj4gKyAgICAgMTQ2LCAgICA2Mywg
ICA1MjAsICAgNjg3LCAgIDY4OCwgICAxNDcsICAgNDc4LCAgIDEyNCwgICAgOTUsICAgNjkzLAo+
ICsgICAgIDY5NCwgICA1MjAsICAgIDYzLCAgMTA1MSwgICA0MjUsICAgODYxLCAgICA2NywgICA4
NjMsICAgODY4LCAgIDE0MywKPiArICAgICAgNjgsICAgIDY4LCAgIDQ3OSwgICA4NjgsICAgMTI0
LCAgICA5NywgICAxNDksICAgMTQ0LCAgIDE1MSwgICAxNDksCj4gKyAgICAgMTQ3LCAgIDE1MSwg
ICA0NTksICAgOTQxLCAgIDE1MSwgICA1MDcsICAgMTI0LCAgICA3NywgICA1ODgsICAgMTQzLAo+
ICsgICAgICA2MywgICA0MjEsICAgMTI0LCAgIDU3OCwgICAgOTcsICAgODI2LCAgICA5NCwgICAg
OTUsICAgIDk1LCAgIDQ3NiwKPiArICAgICAxNDgsICAgNDc4LCAgIDEyNCwgICA0MjYsICAgNjkw
LCAgIDExNywgICAxNDQsICAgMTE5LCAgIDE0NiwgICAxNDcsCj4gKyAgICAgIDY4LCAgIDY5Nywg
ICAxNDQsICAgMTUxLCAgIDU0NiwgICAxNDcsICAgMTE3LCAgIDQ3OCwgICAxMTksICAgMTUxLAo+
ICsgICAgIDc0MywgICAxMjQsICAgMTQ0LCAgICA1NiwgICAgNjgsICAgNTc0LCAgICA2OCwgICA1
NzYsICAgMTQyLCAgIDQ1MiwKPiArICAgICAgNzcsICAgNTYyLCAgIDU2NCwgICA5OTEsICAgNDY0
LCAgICAzNywgICAgMzgsICAgIDk1LCAgIDE1MCwgICA1NzAsCj4gKyAgICAgMTQ0LCAgIDE0NCwg
ICAxMDQsICAgNTIwLCAgIDExNywgICAxNDMsICAgMTE5LCAgIDEyMCwgICA1NzAsICAgNjY2LAo+
ICsgICAgIDU3MiwgICAgOTUsICAgIDk0LCAgICA5NSwgICAgMTcsICAgIDY4LCAgIDQ3OSwgICA5
MTcsICAgMTQ0LCAgIDc3NiwKPiArICAgICAgOTcsICAgNzc4LCAgIDkyMiwgICA4ODIsICAgNTg2
LCAgIDE0OSwgICAgNTIsICAgODg2LCAgICA1NCwgICAgNTUsCj4gKyAgICAgIDU2LCAgICA1Nywg
ICAgNTYsICAgIDI1LCAgIDU5NiwgICA2MDYsICAgNjQ0LCAgIDU4MiwgICA2MTIsICAgODk4LAo+
ICsgICAgIDU4NywgICAgOTQsICAgIDk1LCAgIDkwMiwgICA2MDYsICAgNjQ0LCAgIDkwNSwgICAx
MjQsICAgOTA3LCAgIDYyMSwKPiArICAgICA1OTcsICAgMTQ3LCAgIDgyNiwgICA2MTIsICAgMTI4
LCAgIDE0NCwgICA2MTgsICAgNTc0LCAgIDE0NCwgICA1NzYsCj4gKyAgICAgIDY4LCAgIDE0Mywg
ICAgNjgsICAgNjEyLCAgIDE0NiwgICA2MTIsICAgIDY4LCAgIDE0NCwgICAxNDQsICAgNTg2LAo+
ICsgICAgIDE0MiwgICA2NzksICAgMTQyLCAgIDczMiwgICA3MjIsICAgNjM3LCAgIDY0OCwgICAx
NDQsICAgNjY3LCAgIDU5NiwKPiArICAgICA2NzksICAgNTk4LCAgIDU5OSwgICAgOTcsICAgMTQy
LCAgIDU4NiwgICAgOTQsICAgIDk1LCAgICA5NCwgICAgOTUsCj4gKyAgICAgMTQzLCAgIDY4MSwg
ICAgOTQsICAgIDk1LCAgIDY2NiwgICA1OTYsICAgNzIxLCAgIDY4NywgICA2ODgsICAgNTYyLAo+
ICsgICAgICAxMCwgICAgNjgsICAgIDY4LCAgIDY5MywgICA2OTQsICAgIDY4LCAgICA2OCwgICA1
NzAsICAgMTQ0LCAgICA5NywKPiArICAgICAxMjQsICAgNjczLCAgICA2MywgICAxNDQsICAxMDI3
LCAgIDYzMiwgICAxNDQsICAgNzMxLCAgIDE0NCwgICAgOTcsCj4gKyAgICAgNTk5LCAgICA5Nywg
ICA2ODQsICAgIDQ0LCAgIDU4NywgICAxMjQsICAgNjgwLCAgIDY0NCwgICAgOTUsICAgIDk1LAo+
ICsgICAgIDE0NCwgICA3MjAsICAgIDk1LCAgICA5NSwgICA1OTcsICAgMTQzLCAgIDEyNCwgICAx
NDMsICAgNjg1LCAgIDcwMSwKPiArICAgICA3MDIsICAgMTQzLCAgIDcwNCwgICA2MDYsICAgNzA2
LCAgIDcxNywgICAxMjQsICAxMDI4LCAgIDEyNCwgICAgIDgsCj4gKyAgICAgNjY3LCAgICAxMywg
IDEwMTEsICAgNjMyLCAgMTAxMywgICA3MjcsICAgNzAxLCAgIDE1MCwgICA2MjgsICAxMDE4LAo+
ICsgICAgICA2OCwgIDEwMjAsICAgNjc5LCAgIDY4MCwgICA2ODEsICAgMTUwLCAgIDExNywgICA2
ODQsICAgMTE5LCAgIDEyMCwKPiArICAgICA2ODcsICAgNjg4LCAgIDE0MiwgICA2MzYsICAgNjM3
LCAgICA3NywgICA2OTMsICAgNjk0LCAgICAgMiwgICAxNDQsCj4gKyAgICAgICA0LCAgIDc0Mywg
ICAxMjYsICAgNjg0LCAgIDczMSwgICAgMTUsICAgIDk0LCAgICA5NSwgICAgOTcsICAgIDU0LAo+
ICsgICAgIDk0NywgICA5NDgsICAgIDE2LCAgICAxNywgICAxNDgsICAgOTUyLCAgIDg0NCwgICA5
NTQsICAgNzk3LCAgIDk1NiwKPiArICAgICAgNjUsICAgIDY2LCAgICA5NywgICA3MjAsICAgMTQ2
LCAgIDcyMiwgICA3MjMsICAxMDY2LCAgIDE0NCwgICAgIDIsCj4gKyAgICAgNzcyLCAgICAgNCwg
ICA3NzQsICAgIDY4LCAgICA1MiwgICAxMjQsICAgIDU0LCAgICA1NSwgICAgNTYsICAgIDU3LAo+
ICsgICAgICA2OCwgICA3OTMsICAgNjg1LCAgICAxNiwgICAgMTcsICAgODgyLCAgICA2OCwgICAg
NTEsICAgIDUyLCAgIDEyNCwKPiArICAgICAxMjQsICAgODU2LCAgIDEzNCwgICAxMzUsICAgMTM2
LCAgIDE0MywgICA4MjYsICAgNzk5LCAgIDgwMCwgICAgOTQsCj4gKyAgICAgIDk1LCAgIDg5OCwg
ICAgNjYsICAgNzIyLCAgIDgxNiwgICA5MDIsICAgIDk0LCAgICA5NSwgICA5MDUsICAgODM4LAo+
ICsgICAgIDkwNywgICAxNDQsICAgIDk0LCAgICA5NSwgICA4NDMsICAgMTQ0LCAgICA1MiwgICA1
MTIsICAgIDUxLCAgICA1MiwKPiArICAgICAxNDQsICAgIDI2LCAgICA5NywgICA4NTIsICAgMTQ0
LCAgICA4OSwgICAgOTAsICAgMTQ0LCAgICA1MiwgICAgOTMsCj4gKyAgICAgIDUyLCAgICA1NCwg
ICA4MzQsICAgIDY2LCAgICA5OCwgICAgOTcsICAgNDEwLCAgIDQxMSwgICAgMjYsICAgMTI5LAo+
ICsgICAgIDc5NywgICAxMjQsICAxMDM5LCAgMTA0MCwgIDEwNDEsICAxMDQyLCAgIDY2NiwgICAg
NjgsICAgMTQzLCAgIDEyNCwKPiArICAgICAxNDQsICAgODA4LCAgIDE0NCwgICA0MjcsICAgNDI4
LCAgIDE0MywgICAgODksICAgIDkwLCAgIDg5NywgICAxNDQsCj4gKyAgICAgIDkzLCAgIDE0Mywg
ICAxMjQsICAgIDY4LCAgIDg3NiwgICAgOTgsICAgMTQ0LCAgIDIzNSwgICA5MzMsICAgODI2LAo+
ICsgICAgIDE0NCwgICAxNDQsICAgIDk3LCAgICA5NCwgICAgOTUsICAxMDcyLCAgIDU3MSwgICA5
MTYsICAgMTQ5LCAgIDQ1MywKPiArICAgICAgNjgsICAgODM4LCAgIDU3NywgICAgNTgsICAgNTc5
LCAgICA5OCwgICA4NDMsICAgODQ0LCAgIDU4MywgICAgOTQsCj4gKyAgICAgIDk1LCAgIDkyMCwg
ICAxNDQsICAgMjYxLCAgIDEyOSwgICA4NTIsICAgOTc3LCAgIDI2NSwgICA4NTUsICAgMTI0LAo+
ICsgICAgICA1NiwgICAgNjgsICAgIDc3LCAgICA2OCwgICA2NjYsICAgODYyLCAgICA5NCwgICAg
OTUsICAgIDU0LCAgICA1NSwKPiArICAgICAxNDQsICAgIDU3LCAgIDE0NCwgICA5NDIsICAxMDEx
LCAgIDE0NCwgIDEwMTMsICAgMTQ3LCAgIDE0NCwgICAgNjUsCj4gKyAgICAgIDY2LCAgMTAxOCwg
ICAxNDMsICAxMDIwLCAgIDkyNiwgICA4NDQsICAgMTQ0LCAgICA5NCwgICAgOTUsICAgIDk0LAo+
ICsgICAgICA5NSwgICAxMDYsICAgMTA3LCAgIDE0NCwgICAxNDQsICAgMTQ0LCAgIDE0MSwgICAg
NjMsICAgMTQzLCAgICA1NiwKPiArICAgICA4OTcsICAgMTQ2LCAgIDY1MSwgICAxNDQsICAgMjA4
LCAgIDE0NCwgICAgIDksICAgMTQ0LCAgIDk1MCwgICAgNjMsCj4gKyAgICAgMTQyLCAgIDE0Niwg
ICA5ODEsICAgMTQxLCAgIDk4MywgICAxNDMsICAgMTMxLCAgIDY2NiwgICAxNDYsICAgOTE2LAo+
ICsgICAgIDk3MiwgICAxNDYsICAgIDYzLCAgIDkyMCwgICA5NjYsICAgMjI5LCAgIDE0NCwgICAy
MzEsICAgMjMyLCAgMTA2NiwKPiArICAgICAxNDQsICAgMjM1LCAgIDE0NCwgICAyMzcsICAgMTE4
LCAgIDIwOCwgICAxNDMsICAgMjQxLCAgIDE0MywgICAyNDMsCj4gKyAgICAgOTgyLCAgMTAxMCwg
ICAyNDEsICAgMjA2LCAgIDk0MSwgICA5NDIsICAgMjA5LCAgIDIxMCwgICAyMTEsICAgNDU5LAo+
ICsgICAgIDI1NCwgICAxMTcsICAgMjU2LCAgIDExOSwgICAxMjAsICAgNDU1LCAgIDIyOSwgICAg
OTQsICAgMjMxLCAgIDIzMiwKPiArICAgICAgOTYsICAgIDg1LCAgIDIzNSwgICAxMTcsICAgMjM3
LCAgIDExOSwgICAxMjAsICAgODcwLCAgIDI0MSwgICAgNTIsCj4gKyAgICAgMjQzLCAgICA1NCwg
ICAgNTUsICAgIDU2LCAgICA1NywgICA2MDYsICAgMTE3LCAgIDcxMiwgICAxMTksICAgMTIwLAo+
ICsgICAgIDcwMiwgICAyNTQsICAxMDMxLCAgIDI1NiwgICA5ODEsICAxMDI3LCAgIDk4MywgIDEw
MjksICAgNjY2LCAgMTAzMSwKPiArICAgICA2NzMsICAgNTA4LCAgMTAyMywgICA3MjgsICAgOTkx
LCAgICA1OSwgICAgNjAsICAgIDYxLCAgICA2MiwgIDEwNTEsCj4gKyAgICAgIDI2LCAgMTAyOCwg
ICAzMDYsICAgMzA3LCAgIDMwOCwgICAzMDksICAgMzEwLCAgIDMxMSwgICAzMTIsICAgMzEzLAo+
ICsgICAgIDczMywgIDEwMjksICAgNzYxLCAgMTAxMCwgICAzMjEsICAgMTAzLCAgIDgwMiwgICA4
MDMsICAgOTgyLCAgIDMyMywKPiArICAgICA0OTQsICAgMzI1LCAgICA5NywgICA0MzEsICAgMzI4
LCAgICA4MiwgICAgODMsICAgNDM1LCAgIDg4OCwgICA5MzQsCj4gKyAgICAxMDI3LCAgIDg5MSwg
ICA0NDAsICAgMzA2LCAgIDMwNywgICAzMDgsICAgMzA5LCAgIDMxMCwgICAzMTEsICAgMzEyLAo+
ICsgICAgIDMxMywgICA4ODIsICAgIDY4LCAgIDkwMiwgICA4OTgsICAgOTA1LCAgMTAyNywgICA5
MDcsICAgNDU2LCAgICAtMSwKPiArICAgICAzMjMsICAgODc5LCAgIDMyNSwgICA0NjEsICAgIC0x
LCAgIDMyOCwgICAzNjAsICAgIC0xLCAgIDM2MiwgICAgLTEsCj4gKyAgICAgMzIzLCAgICAtMSwg
ICAzNjYsICAgMzY3LCAgIDM2OCwgICAzMjgsICAgIC0xLCAgICAtMSwgICAgOTQsICAgIDk1LAo+
ICsgICAgIDEyNywgICAxMjgsICAgIC0xLCAgIDY4NywgICA2ODgsICAgIC0xLCAgICA3NywgICAg
LTEsICAgMzgyLCAgIDY5MywKPiArICAgICA2OTQsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgMTAyOCwgICAgLTEsICAgMzYwLCAgICAtMSwgICAzNjIsCj4gKyAgICAgIC0xLCAgICA5Miwg
ICAgOTMsICAgMzY2LCAgIDM2NywgICAzNjgsICAgODk4LCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgIDkwMiwgICAgLTEsICAgIC0xLCAgIDkwNSwgICAgLTEsICAgOTA3LCAgIDQxMCwgICA0
MTEsICAgIC0xLCAgIDM4MiwKPiArICAgICA4NDUsICAgNTE5LCAgIDg2MSwgICA4NDgsICAgODYz
LCAgIDE0MSwgICAgLTEsICAgMTQzLCAgICAtMSwgICA4NTQsCj4gKyAgICAgMTQ2LCAgIDQyNSwg
ICA4NTcsICAgIDYzLCAgIDczOCwgICA3MzksICAgIC0xLCAgIDc0MSwgICA3NDIsICAgIC0xLAo+
ICsgICAgIDg3OSwgICAxMzIsICAgMTMzLCAgIDEzNCwgICAxMzUsICAgMTM2LCAgICAtMSwgICA0
MTAsICAgNDExLCAgIDg4OCwKPiArICAgIDEwMDAsICAgIDUyLCAgMTAwMiwgICAgNTQsICAgIDU1
LCAgICA1NiwgICAgNTcsICAxMDA3LCAgICAtMSwgICA4OTgsCj4gKyAgICAgIC0xLCAgMTAxMSwg
ICA0MjUsICAxMDEzLCAgICAtMSwgICA0NTksICAgOTA1LCAgIDQyMCwgICA0MjEsICAgIC0xLAo+
ICsgICAgMTAyMCwgICAgNDAsICAgIDQxLCAgICA0MiwgICAgNDMsICAgIDQ0LCAgIDQyOSwgICAg
NTIsICAgIDc3LCAgICA1NCwKPiArICAgICAgNTUsICAgIDU2LCAgICA1NywgICAgNTgsICAgNDc4
LCAgIDk2MSwgICA5NjIsICAgMTE3LCAgICAtMSwgICAxMTksCj4gKyAgICAgMTIwLCAgIDk2Nywg
ICAxMjIsICAgOTY5LCAgIDk3MCwgICAgLTEsICAgNDU5LCAgICAtMSwgICAgOTksICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIDc3LCAgIDkyOCwgICAxMDUsICAgIC0xLCAgICAtMSwgICA5
MzIsICAgIC0xLCAgICAtMSwKPiArICAgIDEwNjAsICAgNDY0LCAgICAtMSwgICAgLTEsICAgNDY3
LCAgIDQ3OCwgIDEwNjYsICAgIC0xLCAgICAtMSwgIDEwMTEsCj4gKyAgICAgIC0xLCAgMTAxMywg
ICA4MjYsICAgIC0xLCAgICA5OSwgICAgLTEsICAxMDE4LCAgICAtMSwgIDEwMjAsICAgIC0xLAo+
ICsgICAgIDEwNSwgICAxMDYsICAgMTA3LCAgIDEzMiwgICAxMzMsICAgMTM0LCAgIDEzNSwgICAx
MzYsICAgIC0xLCAgICAtMSwKPiArICAgICAgNTIsICAgIC0xLCAgICA1NCwgICAgNTUsICAgIDU2
LCAgICA1NywgICAgNTgsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgMTMxLCAgICAtMSwgICAgLTEsICAgMTM0LAo+
ICsgICAgIDUxMywgIDEwMDAsICAgIC0xLCAgIDg2NywgICAgLTEsICAgIDc3LCAgICAtMSwgICAg
LTEsICAxMDQ0LCAgMTA0NSwKPiArICAgIDEwNDYsICAxMDQ3LCAgMTAxMSwgICA5OTgsICAxMDY2
LCAgICAtMSwgICAxNTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgNTc0LCAgICA1Miwg
ICA1NzYsICAgIDU0LCAgICA1NSwgICAgNTYsICAgIDU3LCAgICA5OSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgNTg2LCAgIDEwNSwgICAxMDYsICAgMTA3LCAgICA1MiwgIDEw
NzMsICAgIDU0LCAgICA1NSwKPiArICAgICAgNTYsICAgIDU3LCAgIDU5NiwgICAgLTEsICAgNTk4
LCAgIDU5OSwgICAgLTEsICAxMDMyLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgIDU3NCwg
ICAgNTIsICAgNTc2LCAgICA1NCwgICAgNTUsICAgIDU2LCAgICA1NywgICAgNTgsICAgMTMxLAo+
ICsgICAgICAtMSwgICAgLTEsICAgMTM0LCAgIDU4NiwgICAgLTEsICAgIDc3LCAgICAtMSwgICAg
LTEsICAgIDk5LCAgIDU4MiwKPiArICAgICAgLTEsICAgNzI5LCAgICAtMSwgICA1OTYsICAgMTQ2
LCAgIDU5OCwgICA1OTksICAgIDc3LCAgIDYzMiwgICAgLTEsCj4gKyAgICAgIDkyLCAgICA5Mywg
ICAgLTEsICAgIDk5LCAgICAtMSwgICAgLTEsICAgNzQ0LCAgICAtMSwgICAgLTEsICAgMTA1LAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICA5OSwKPiArICAgICA2MTMsICAgIC0xLCAgIDYxNSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAxMDYsICAgMTA3LCAgICAtMSwgICA2MzIsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgNjY3LCAgICAtMSwgICA2MjgsICAgNjI5LCAgIDEyOSwgICAxMzAsICAgMTMxLAo+
ICsgICAgIDEzMiwgICAxMzMsICAgMTM0LCAgIDEzNSwgICAxMzYsICAgIC0xLCAgIDY4MCwgICA2
ODEsICAgIC0xLCAgICAtMSwKPiArICAgICA2ODQsICAgMTMxLCAgICAtMSwgICA2ODcsICAgNjg4
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICA2OTMsCj4gKyAgICAgNjk0LCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgIDY2NywgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNTIsICAgIC0xLAo+
ICsgICAgICA1NCwgICAgNTUsICAgIDU2LCAgICA1NywgICAgNTgsICAgIC0xLCAgICAtMSwgICA2
ODAsICAgNjgxLCAgICAtMSwKPiArICAgICAgLTEsICAgNjg0LCAgICAtMSwgICA2NzYsICAgNjg3
LCAgIDY4OCwgICA3MjAsICAgIC0xLCAgIDcyMiwgICA3MjMsCj4gKyAgICAgNjkzLCAgIDY5NCwg
ICAgLTEsICAgIDc3LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDE2LCAgICAxNywgICAg
LTEsICAgNzAxLCAgICA3NywKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICA5OSwgICAgLTEsICAgNzIwLCAgICAtMSwgICA3MjIsCj4gKyAgICAgNzIzLCAgIDEwNSwg
ICAxMDYsICAgMTA3LCAgICA5MiwgICAgOTMsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgIDg3NCwgICAg
NDgsICAgIDQ5LCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICA1MywgICAgNTQsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgMTMxLCAgICAtMSwgICAgLTEsCj4gKyAgICAgMTM0LCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgNjYsICAgIDY3LCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgIDEzMSwgICAxMzIsICAgMTMzLCAgIDEzNCwgICAx
MzUsICAgMTM2LCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgODA4
LCAgICAtMSwgICAgLTEsICAgNzcwLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICA5OCwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgODI2LCAgIDkzMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICA5
MzUsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgODM4
LCAgIDgwOCwgICAgLTEsICAgIC0xLCAgICAtMSwgICA4NDMsCj4gKyAgICAgODQ0LCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgODA5LCAgICAtMSwgICA4NTIsICAgIC0xLAo+
ICsgICAgICAtMSwgICA4NTUsICAgIC0xLCAgIDgyNiwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgODYyLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgIDgzOCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgODQzLCAgIDg0NCwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgODUyLAo+
ICsgICAgICAtMSwgICAgLTEsICAgODU1LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgODUxLCAgIDg2MiwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAgMiwgICA4NjgsICAgICA0LCAgICAtMSwgICAgNzcsICAgIDc4LAo+
ICsgICAgICA3OSwgICAgODAsICAgIDgxLCAgICA4MiwgICAgODMsICAgODc4LCAgIDkyMCwgICAg
ODYsICAgIDg3LCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgOTIsICAgIDkz
LCAgIDIwNiwgICAgLTEsICAgIC0xLCAgIDIwOSwgICAyMTAsCj4gKyAgICAgMjExLCAgICAtMSwg
ICAyMTMsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgIDk0MSwgICA5NDIsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICA5
MjAsICAgMjI5LCAgICAtMSwKPiArICAgICAyMzEsICAgMjMyLCAgICAtMSwgICAgNTEsICAgIDUy
LCAgICAtMSwgICAgLTEsICAgIDU1LCAgIDEyNywgICAxMjgsCj4gKyAgICAgMTI5LCAgIDEzMCwg
ICAxMzEsICAgMTMyLCAgIDEzMywgICAxMzQsICAgMTM1LCAgIDEzNiwgICA5NDEsICAgOTQyLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICA5
ODEsICAgIC0xLCAgIDk4MywKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgODEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgOTkxLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDk0LCAgICA5NSwgICAgOTYsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgMTAxMCwgICAg
LTEsICAgOTgxLCAgICAtMSwKPiArICAgICA5ODMsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgIDk5MSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAxMDI3LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICA3NywgICAgNzgsICAgIDc5LCAgICA4MCwgICAgODEsICAgIDgyLCAgICA4MywgIDEw
MTAsICAgIC0xLCAgICA4NiwKPiArICAgICAgODcsICAgIC0xLCAgIDMyMywgICAgLTEsICAgIC0x
LCAgICA5MiwgICAgOTMsICAgMzI4LCAgIDMyOSwgICAzMzAsCj4gKyAgICAgMzMxLCAgIDMzMiwg
ICAzMzMsICAgIC0xLCAgMTAyNywgICAzMzYsICAgMzM3LCAgIDMzOCwgICAzMzksICAgMzQwLAo+
ICsgICAgIDM0MSwgICAzNDIsICAgMzQzLCAgIDM0NCwgICAgLTEsICAgIC0xLCAgIDM0NywgICAz
NDgsICAgMzQ5LCAgIDM1MCwKPiArICAgICAzNTEsICAgMzUyLCAgIDM1MywgICAzNTQsICAgMzU1
LCAgIDM1NiwgICAgLTEsICAgIC0xLCAgICAtMSwgICAzNjAsCj4gKyAgICAgMTI3LCAgIDEyOCwg
ICAxMjksICAgMTMwLCAgIDEzMSwgICAxMzIsICAgMTMzLCAgIDEzNCwgICAxMzUsICAgMTM2LAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgMjA4LCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgIDQxMCwKPiArICAgICA0MTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgIDQxOSwgICA0MjAsCj4gKyAgICAgNDIxLCAgICAtMSwg
ICAgLTEsICAgMjQxLCAgIDQyNSwgICAyNDMsICAgNDI3LCAgIDQyOCwgICA0MjksICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgIDI1NCwgICAg
LTEsICAgMjU2LCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgNDQ4LCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICA0NTMsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgMjc3LAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgIDQ2NCwgICAgLTEsICAgIC0xLCAgIDQ2NywgICAg
IDIsICAgIC0xLCAgICAgNCwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgNDc4LCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAzMDYsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgIDMxMSwgICAgLTEsICAgNDk2LCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgMzI1LCAgIDMyNiwgICAgLTEsCj4gKyAgICAgMzI4LCAgICAtMSwg
ICA1MTMsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDUxLCAgICA1MiwgICAgLTEsICAgIC0xLAo+
ICsgICAgICA1NSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgIDM2MiwgICAgLTEsICAgIDgxLCAgICAtMSwgICAzNjYsICAgIC0xLAo+
ICsgICAgIDM2OCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICA5NCwKPiArICAgICAgOTUsICAgIDk2LCAgICA5NywgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgICAyLCAgICAtMSwgICAgIDQsICAgIC0xLAo+
ICsgICAgICAtMSwgICA1ODIsICAgIC0xLCAgICAtMSwgICAgLTEsICAgNTg2LCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgIDQxMCwgICA0MTEsICAgIC0x
LCAgIDU5NiwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAgMiwgICAgLTEsICAgICA0LCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgNjEzLCAgICAtMSwgICA2MTUsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICA1MSwgICAgNTIsICAgNjI4LCAgIDYyOSwgICAgNTUsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICA0NTksICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNTEsICAgIDUy
LCAgICA4MSwgICAgLTEsICAgIC0xLCAgIDQ3NiwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgOTQsICAgIDk1LAo+
ICsgICAgICA5NiwgICAgOTcsICAgIC0xLCAgIDIwOCwgICAgLTEsICAgNjc2LCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICA2ODEsICAgNjgyLCAgICAtMSwgICA2ODQsICAgIC0x
LCAgICAtMSwgICA2ODcsICAgNjg4LCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICA2OTMsICAgNjk0LCAgICAtMSwgICAgLTEsICAgIDk0LCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgIDcwMSwgICAgLTEsICAgNTIwLCAgICAtMSwgICAgLTEsICAgIC0xLCAgIDI0MSwgICAg
LTEsICAgMjQzLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAyNTQsCj4gKyAgICAgIC0xLCAgIDI1Niwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICA3
MzgsICAgNzM5LCAgICAtMSwKPiArICAgICA3NDEsICAgNzQyLCAgIDI3NywgICAgLTEsICAgIDc3
LCAgICA3OCwgICAgNzksICAgIDgwLCAgICA4MSwgICAgODIsCj4gKyAgICAgIDgzLCAgICA4NCwg
ICAgLTEsICAgIDg2LCAgICA4NywgICAgLTEsICAgNTc0LCAgICAtMSwgICA1NzYsICAgIDkyLAo+
ICsgICAgICA5MywgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgIDc3MCwKPiArICAgICAgLTEsICAgMzA2LCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAzMTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgNTk4LCAgICAtMSwg
ICAyMDgsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgIDMyNSwgICAzMjYsICAgIC0xLCAgICAtMSwgICAxMjcsICAgMTI4LCAgIDEyOSwgICAx
MzAsICAgMTMxLCAgIDEzMiwKPiArICAgICAxMzMsICAgMTM0LCAgIDEzNSwgICAxMzYsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgIDgwOSwgICAgLTEsCj4gKyAgICAgMjA4LCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAyNDEsICAgIC0xLCAgIDI0MywgICA4MTksICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgODI2LCAgIDY0NCwgICAz
NjIsICAgMjU0LCAgICAtMSwKPiArICAgICAyNTYsICAgMzY2LCAgICAtMSwgICAzNjgsICAgIC0x
LCAgIDY1MywgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgMjQxLCAgICAtMSwgICAyNDMsICAgIC0xLCAgICAtMSwgICAgLTEsICAgNjY3LAo+
ICsgICAgIDg1MSwgICAyNzcsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgIDI1NCwgICAg
LTEsICAgMjU2LCAgICAtMSwKPiArICAgICAgLTEsICAgNjc5LCAgIDY4MCwgICA2ODEsICAgIC0x
LCAgICAtMSwgICA4NjcsICAgODY4LCAgICAtMSwgICA2ODcsCj4gKyAgICAgNjg4LCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICA2OTMsICAgNjk0LCAgIDg3OCwgICAgLTEsICAgIC0xLAo+
ICsgICAgIDMwNiwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgMzExLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAzMjUsCj4gKyAgICAgMzI2LCAgICAtMSwg
ICA3MjAsICAgIC0xLCAgICAtMSwgICA3MjMsICAgICAwLCAgICAtMSwgICAzMDYsICAgIC0xLAo+
ICsgICAgICAgMiwgICAgLTEsICAgICA0LCAgIDMxMSwgICAgIDgsICAgICA5LCAgICAxMCwgICAg
LTEsICAgIC0xLCAgICAxMywKPiArICAgICAgMTQsICAgIDE1LCAgICAtMSwgICAgMTcsICAgNDU5
LCAgICAtMSwgICAgLTEsICAgMzI1LCAgICAtMSwgICAgLTEsCj4gKyAgICAgMzI4LCAgICAtMSwg
ICAgMjYsICAgIDI3LCAgICAtMSwgICAgLTEsICAgMzYyLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgIDM2NiwgICA0NzYsICAgMzY4LCAgICAzNywgICAgMzgsICAgIC0xLCAgICA0MCwgICAg
NDEsICAgIDQyLCAgICA0MywKPiArICAgICAgNDQsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNTEsCj4gKyAgICAgIDUyLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgIDM2MiwgICAgLTEsICAgIC0xLCAgICAtMSwgICAzNjYsICAgIC0xLAo+
ICsgICAgIDM2OCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNjgsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgIDc5NywKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgIDUyMCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgODA4LCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICA5NCwgICAgOTUsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgODI2LCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgIDQxMCwgICA0MTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgODM4LCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgIDExOCwgICA4NDMsICAxMDI3LCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgIDQ1OSwgICA4NTIsICAgIC0xLCAgICAtMSwgICA4
NTUsICAgIC0xLCAgIDU3NCwKPiArICAgICAgLTEsICAgNTc2LCAgICAtMSwgICAgLTEsICAgODYy
LCAgICAtMSwgICAgLTEsICAgMTQxLCAgIDE0MiwgICAgLTEsCj4gKyAgICAgNDc2LCAgICAtMSwg
ICAxNDYsICAgMTQ3LCAgICAtMSwgICAxNDksICAgIC0xLCAgIDE1MSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICA0NTksICAgIC0xLCAgIDU5OCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICA4OTcsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICA1MjAsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgOTE2LCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgIDkyMCwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICA2NDQsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgMjA4LCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgIDk0MSwgICA5NDIsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgIDY2NywgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgIDY3OSwgICA2ODAsICAgIC0xLCAgICAtMSwgICA1NzQsICAgMjQxLAo+
ICsgICAgIDU3NiwgICAyNDMsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgIDI1NCwgICA5ODEsICAgMjU2
LCAgIDk4MywgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICA1OTgsICAgOTkxLCAgICAtMSwgICAgLTEsICAgNTc0LCAgICAtMSwgICA1NzYsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgNzIwLCAgICAtMSwgICAg
LTEsICAgNzIzLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgMTAxMCwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgNTk4LCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAzMDYsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgNjQ0LCAgIDMxMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgMzI1LCAgICAtMSwgICAgLTEsICAgMzI4LCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICA2NjcsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICA2NzksICAgNjgw
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICA3OTcsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgNjY3LAo+
ICsgICAgIDM2MiwgICAgLTEsICAgIC0xLCAgIDgwOCwgICAzNjYsICAgIC0xLCAgIDM2OCwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgIDY4MCwgICA2ODEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICA2ODcsCj4gKyAgICAgNjg4LCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgIDcyMCwgICA2OTMsICAgNjk0LCAgIDcyMywgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgIDgzOCwgICAgLTEsICAgIDQ0LCAgICAtMSwgICAg
LTEsICAgODQzLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgODUyLCAgIDQxMCwgICA0MTEsCj4gKyAgICAgODU1LCAgICAtMSwg
ICA3MjAsICAgIC0xLCAgICAtMSwgICA3MjMsICAgIC0xLCAgIDg2MiwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIDc3LCAgICA3OCwKPiArICAgICAgNzksICAgIDgwLCAgICA4MSwgICAgODIsICAgIDgz
LCAgICA4NCwgICAgODUsICAgIDg2LCAgICA4NywgICAgODgsCj4gKyAgICAgIDg5LCAgICAtMSwg
ICAgLTEsICAgIDkyLCAgICA5MywgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgODk3LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICA0
NTksICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgNzk3LCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgIDkxNiwg
ICA4MDgsICAgIC0xLCAgICAtMSwgICA5MjAsICAgMTI1LCAgICAtMSwgICAxMjcsICAgMTI4LAo+
ICsgICAgIDEyOSwgICAxMzAsICAgMTMxLCAgIDEzMiwgICAxMzMsICAgMTM0LCAgIDEzNSwgICAx
MzYsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgIDE0NCwgICA5NDEsICAgOTQyLCAgICAtMSwgICAgLTEsCj4gKyAgICAgODA4LCAgICAtMSwg
ICA4MzgsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgIDg0MywgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgIDg1MiwgICAg
LTEsICAgODI2LCAgIDg1NSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICA4NjIsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgODM4LCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICA4NDMsICAgOTgxLCAgICAtMSwgICA5ODMsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICA4NTIsICAgIC0xLCAgIDk5MSwgICA4
NTUsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgODYy
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgIDg5Nywg
ICAgLTEsICAgIC0xLCAgICAtMSwgIDEwMTAsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgNTc0LCAgICAtMSwgICA1NzYsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICA5MTYsICAgIC0xLCAgICAtMSwgICAgLTEsICAgOTIw
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgNTk4LCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgOTQxLCAgIDk0MiwgICAg
LTEsICAgOTE2LCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgIDkyMCwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgIDk0MSwgICA5NDIsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgIDk4MSwgICAgLTEsICAgOTgzLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICA5OTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgNjY3LCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICA5ODEsICAxMDEw
LCAgIDk4MywgICAgLTEsICAgIC0xLCAgIDY4MCwgICA2ODEsCj4gKyAgICAgICAzLCAgICAgNCwg
ICAgIDUsICAgOTkxLCAgICAgNywgICA2ODcsICAgNjg4LCAgICAtMSwgICAgMTEsICAgIDEyLAo+
ICsgICAgICAtMSwgICA2OTMsICAgNjk0LCAgICAxNiwgICAgLTEsICAgIDE4LCAgICAxOSwgICAg
MjAsICAgIDIxLCAgICAyMiwKPiArICAgICAgMjMsICAgIDI0LCAgMTAxMCwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIDMwLCAgICAzMSwgICAgMzIsCj4gKyAgICAgIDMzLCAgICAzNCwg
ICAgMzUsICAgIDM2LCAgICAtMSwgICAgLTEsICAgIDM5LCAgICAtMSwgICA3MjAsICAgIC0xLAo+
ICsgICAgICAtMSwgICA3MjMsICAgIC0xLCAgICA0NiwgICAgLTEsICAgIC0xLCAgICA0OSwgICAg
NTAsICAgIDUxLCAgICA1MiwKPiArICAgICAgNTMsICAgIDU0LCAgICA1NSwgICAgNTYsICAgIDU3
LCAgICAtMSwgICAgNTksICAgIDYwLCAgICA2MSwgICAgNjIsCj4gKyAgICAgIC0xLCAgICA2NCwg
ICAgNjUsICAgIDY2LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIDk2LCAgICAtMSwgICAgLTEsICAgIDk5LCAgIDEwMCwgICAgLTEsICAgMTAyLAo+
ICsgICAgIDEwMywgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgMTA4LCAgIDEwOSwgICAx
MTAsICAgMTExLCAgIDExMiwKPiArICAgICAxMTMsICAgMTE0LCAgIDExNSwgICAxMTYsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgIDAsICAgIC0xLCAgICAtMSwgICAgLTEsICAgODA4LCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAgOCwgICAgIDksICAgIDEwLCAgICAtMSwgICAxMzcsICAgIDEzLCAgICAxNCwgICAg
MTUsICAgIC0xLCAgICAxNywKPiArICAgICAgLTEsICAgMTQ0LCAgICAtMSwgICAgLTEsICAgODI2
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAyNiwgICAgMjcsCj4gKyAgICAgIDI4LCAgICAyOSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgODM4LCAgICAtMSwgICAgLTEsICAgIDM3LAo+
ICsgICAgICAzOCwgICA4NDMsICAgIDQwLCAgICA0MSwgICAgNDIsICAgIDQzLCAgICA0NCwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICA4NTIsICAgIC0xLCAgICAtMSwgICA4NTUsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgODYyLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICA2OCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICA3NywKPiArICAgICAgNzgsICAgIDc5LCAgICA4MCwgICAgODEsICAgIDgy
LCAgICA4MywgICAgODQsICAgIDg1LCAgICA4NiwgICAgODcsCj4gKyAgICAgIDg4LCAgICA4OSwg
ICAgLTEsICAgIC0xLCAgICA5MiwgICAgOTMsICAgIDk0LCAgICA5NSwgICAgLTEsICAgIDk3LAo+
ICsgICAgICA5OCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgIDEwNCwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgIDkyMCwgICAgLTEsCj4gKyAgICAgMTE4LCAgICAtMSwg
ICAgLTEsICAgMTIxLCAgICAtMSwgICAgLTEsICAgMTI0LCAgIDEyNSwgICAxMjYsICAgMTI3LAo+
ICsgICAgIDEyOCwgICAxMjksICAgMTMwLCAgIDEzMSwgICAxMzIsICAgMTMzLCAgIDEzNCwgICAx
MzUsICAgMTM2LCAgIDk0MSwKPiArICAgICA5NDIsICAgIC0xLCAgICAtMSwgICAxNDEsICAgMTQy
LCAgIDE0MywgICAxNDQsICAgIC0xLCAgICAtMSwgICAxNDcsCj4gKyAgICAgMTQ4LCAgIDE0OSwg
ICAgLTEsICAgMTUxLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgIDAsICAgICAxLCAgICAtMSwgICAg
IDMsICAgICA0LCAgICAgNSwKPiArICAgICAgIDYsICAgICA3LCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAxMSwgICAgMTIsICAgIC0xLCAgICAtMSwgICA5ODEsCj4gKyAgICAgIDE2LCAgIDk4Mywg
ICAgMTgsICAgIDE5LCAgICAyMCwgICAgMjEsICAgIDIyLCAgICAyMywgICAgMjQsICAgOTkxLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMzAsICAgIDMxLCAgICAzMiwgICAg
MzMsICAgIDM0LCAgICAzNSwKPiArICAgICAgMzYsICAgIC0xLCAgICAtMSwgICAgMzksICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgMTAxMCwgICAgNDUsCj4gKyAgICAgIDQ2LCAgICA0Nywg
ICAgNDgsICAgIDQ5LCAgICA1MCwgICAgNTEsICAgIDUyLCAgICA1MywgICAgNTQsICAgIDU1LAo+
ICsgICAgICA1NiwgICAgNTcsICAgIC0xLCAgICA1OSwgICAgNjAsICAgIDYxLCAgICA2MiwgICAg
LTEsICAgIDY0LCAgICA2NSwKPiArICAgICAgNjYsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNzUsCj4gKyAgICAgIDc2LCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgOTYsICAgIC0xLCAgICAtMSwgICAgOTksICAgMTAw
LCAgICAtMSwgICAxMDIsICAgMTAzLCAgICAtMSwgICAxMDUsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAxMDgsICAgMTA5LCAgIDExMCwgICAxMTEsICAgMTEyLCAgIDExMywgICAxMTQsICAgMTE1LAo+
ICsgICAgIDExNiwgICAgIDAsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAgOCwKPiArICAgICAgIDksICAgIDEwLCAgICAtMSwgICAgLTEsICAgIDEz
LCAgICAxNCwgICAgMTUsICAgIC0xLCAgICAxNywgICAgLTEsCj4gKyAgICAgIC0xLCAgIDEzNywg
ICAxMzgsICAgMTM5LCAgICAtMSwgICAgLTEsICAgIDI1LCAgICAtMSwgICAgMjcsICAgIDI4LAo+
ICsgICAgICAyOSwgICAgLTEsICAgIC0xLCAgIDE0OSwgICAgLTEsICAgMTUxLCAgICAtMSwgICAg
LTEsICAgIDM3LCAgICAzOCwKPiArICAgICAgLTEsICAgIDQwLCAgICA0MSwgICAgNDIsICAgIDQz
LCAgICA0NCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDc3LCAgICA3OCwgICAgNzksICAgIDgwLAo+
ICsgICAgICA4MSwgICAgODIsICAgIDgzLCAgICA4NCwgICAgODUsICAgIDg2LCAgICA4NywgICAg
ODgsICAgIDg5LCAgICA2OCwKPiArICAgICAgLTEsICAgIDkyLCAgICA5MywgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICA3NywgICAgNzgsCj4gKyAgICAgIDc5LCAgICA4MCwg
ICAgODEsICAgIDgyLCAgICA4MywgICAgODQsICAgIDg1LCAgICA4NiwgICAgODcsICAgIDg4LAo+
ICsgICAgICA4OSwgICAgLTEsICAgIC0xLCAgICA5MiwgICAgOTMsICAgIDk0LCAgICA5NSwgICAg
LTEsICAgIDk3LCAgICA5OCwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgMTI1
LCAgIDEwNCwgICAxMjcsICAgMTI4LCAgIDEyOSwgICAxMzAsCj4gKyAgICAgMTMxLCAgIDEzMiwg
ICAxMzMsICAgMTM0LCAgIDEzNSwgICAxMzYsICAgIC0xLCAgICAtMSwgICAgLTEsICAgMTE4LAo+
ICsgICAgICAtMSwgICAgLTEsICAgMTIxLCAgICAtMSwgICAgLTEsICAgMTI0LCAgIDEyNSwgICAx
MjYsICAgMTI3LCAgIDEyOCwKPiArICAgICAxMjksICAgMTMwLCAgIDEzMSwgICAxMzIsICAgMTMz
LCAgIDEzNCwgICAxMzUsICAgMTM2LCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgMTQyLCAgIDE0MywgICAxNDQsICAgICAwLCAgICAtMSwgICAxNDcsICAgMTQ4LAo+
ICsgICAgIDE0OSwgICAgLTEsICAgMTUxLCAgICAtMSwgICAgIDgsICAgICA5LCAgICAxMCwgICAg
LTEsICAgIC0xLCAgICAxMywKPiArICAgICAgMTQsICAgIDE1LCAgICAtMSwgICAgMTcsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICA0NCwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAyNSwg
ICAgLTEsICAgIDI3LCAgICAyOCwgICAgMjksICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAzNywgICAgMzgsICAgIC0xLCAgICA0MCwgICAg
NDEsICAgIDQyLCAgICA0MywKPiArICAgICAgNDQsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICA3Nywg
ICAgNzgsICAgIDc5LCAgICA4MCwgICAgODEsICAgIDgyLCAgICA4MywgICAgODQsICAgIDg1LAo+
ICsgICAgICA4NiwgICAgODcsICAgIDg4LCAgICA4OSwgICAgNjgsICAgIC0xLCAgICA5MiwgICAg
OTMsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNzcsICAgIDc4
LCAgICA3OSwgICAgODAsICAgIDgxLCAgICA4MiwgICAgODMsCj4gKyAgICAgIDg0LCAgICA4NSwg
ICAgODYsICAgIDg3LCAgICA4OCwgICAgODksICAgIC0xLCAgICAtMSwgICAgOTIsICAgIDkzLAo+
ICsgICAgICA5NCwgICAgOTUsICAgIC0xLCAgICA5NywgICAgOTgsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgIDEyNSwKPiArICAgICAxMDQsICAgMTI3LCAgIDEyOCwgICAxMjksICAgMTMw
LCAgIDEzMSwgICAxMzIsICAgMTMzLCAgIDEzNCwgICAxMzUsCj4gKyAgICAgMTM2LCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgIDExOCwgICAgLTEsICAgIC0xLCAgIDEyMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgIDEyNCwgICAxMjUsICAgMTI2LCAgIDEyNywgICAxMjgsICAgMTI5LCAgIDEzMCwgICAx
MzEsICAgMTMyLCAgIDEzMywKPiArICAgICAxMzQsICAgMTM1LCAgIDEzNiwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgIDE0MiwgICAxNDMsCj4gKyAgICAgMTQ0LCAgICAgMCwg
ICAgLTEsICAgMTQ3LCAgIDE0OCwgICAxNDksICAgIC0xLCAgIDE1MSwgICAgLTEsICAgICA4LAo+
ICsgICAgICAgOSwgICAgMTAsICAgIC0xLCAgICAtMSwgICAgMTMsICAgIDE0LCAgICAxNSwgICAg
LTEsICAgIDE3LCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIDI2LCAgICAyNywgICAgMjgsCj4gKyAgICAgIDI5LCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMzcsICAgIDM4LAo+
ICsgICAgICAtMSwgICAgNDAsICAgIDQxLCAgICA0MiwgICAgNDMsICAgIDQ0LCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgNzcsICAgIDc4LCAgICA3OSwgICAgODAsCj4gKyAgICAgIDgxLCAgICA4Miwg
ICAgODMsICAgIDg0LCAgICA4NSwgICAgODYsICAgIDg3LCAgICA4OCwgICAgODksICAgIDY4LAo+
ICsgICAgICAtMSwgICAgOTIsICAgIDkzLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIDc3LCAgICA3OCwKPiArICAgICAgNzksICAgIDgwLCAgICA4MSwgICAgODIsICAgIDgz
LCAgICA4NCwgICAgODUsICAgIDg2LCAgICA4NywgICAgODgsCj4gKyAgICAgIDg5LCAgICAtMSwg
ICAgLTEsICAgIDkyLCAgICA5MywgICAgOTQsICAgIDk1LCAgICAtMSwgICAgLTEsICAgIDk4LAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgMTA0LCAgIDEyNywgICAx
MjgsICAgMTI5LCAgIDEzMCwKPiArICAgICAxMzEsICAgMTMyLCAgIDEzMywgICAxMzQsICAgMTM1
LCAgIDEzNiwgICAgLTEsICAgIC0xLCAgICAtMSwgICAxMTgsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAxMjEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgMTI1LCAgIDEyNiwgICAxMjcsICAgMTI4LAo+
ICsgICAgIDEyOSwgICAxMzAsICAgMTMxLCAgIDEzMiwgICAxMzMsICAgMTM0LCAgIDEzNSwgICAx
MzYsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgIDE0MSwgICAxNDIsICAgMTQz
LCAgIDE0NCwgICAgIDAsICAgIC0xLCAgIDE0NywgICAxNDgsCj4gKyAgICAgMTQ5LCAgICAtMSwg
ICAxNTEsICAgIC0xLCAgICAgOCwgICAgIDksICAgIDEwLCAgICAtMSwgICAgLTEsICAgIDEzLAo+
ICsgICAgICAxNCwgICAgMTUsICAgIC0xLCAgICAxNywgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAyNiwgICAgMjcsICAgIDI4
LCAgICAyOSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIDM3LCAgICAzOCwgICAgLTEsICAgIDQwLCAgICA0MSwgICAgNDIsICAgIDQzLAo+
ICsgICAgICA0NCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICA2OCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICA3NywgICAgNzgsICAgIDc5LCAgICA4MCwgICAg
ODEsICAgIDgyLCAgICA4MywKPiArICAgICAgODQsICAgIDg1LCAgICA4NiwgICAgODcsICAgIDg4
LCAgICA4OSwgICAgLTEsICAgIC0xLCAgICA5MiwgICAgOTMsCj4gKyAgICAgIDk0LCAgICA5NSwg
ICAgLTEsICAgIC0xLCAgICA5OCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgIDEwNCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgMTE4
LCAgICAtMSwgICAgLTEsICAgMTIxLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgIDEyNSwg
ICAxMjYsICAgMTI3LCAgIDEyOCwgICAxMjksICAgMTMwLCAgIDEzMSwgICAxMzIsICAgMTMzLAo+
ICsgICAgIDEzNCwgICAxMzUsICAgMTM2LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAx
NDEsICAgMTQyLCAgIDE0MywKPiArICAgICAxNDQsICAgICAwLCAgICAtMSwgICAxNDcsICAgMTQ4
LCAgIDE0OSwgICAgLTEsICAgMTUxLCAgICAtMSwgICAgIDgsCj4gKyAgICAgICA5LCAgICAxMCwg
ICAgLTEsICAgIC0xLCAgICAxMywgICAgMTQsICAgIDE1LCAgICAtMSwgICAgMTcsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIDI3LCAgICAyOCwKPiArICAgICAgMjksICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAzNywgICAgMzgsCj4gKyAgICAgIC0xLCAgICA0MCwg
ICAgNDEsICAgIDQyLCAgICA0MywgICAgNDQsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNjgsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNzcsICAgIDc4LAo+
ICsgICAgICA3OSwgICAgODAsICAgIDgxLCAgICA4MiwgICAgODMsICAgIDg0LCAgICA4NSwgICAg
ODYsICAgIDg3LCAgICA4OCwKPiArICAgICAgODksICAgIC0xLCAgICAtMSwgICAgOTIsICAgIDkz
LCAgICA5NCwgICAgOTUsICAgIC0xLCAgICA5NywgICAgOTgsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAxMDQsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgIDExOCwKPiArICAgICAgLTEsICAgIC0xLCAgIDEyMSwgICAgLTEsICAgIC0x
LCAgIDEyNCwgICAxMjUsICAgMTI2LCAgIDEyNywgICAxMjgsCj4gKyAgICAgMTI5LCAgIDEzMCwg
ICAxMzEsICAgMTMyLCAgIDEzMywgICAxMzQsICAgMTM1LCAgIDEzNiwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgIDE0MiwgICAxNDMsICAgMTQ0LCAgICAgMCwgICAg
LTEsICAgMTQ3LCAgIDE0OCwKPiArICAgICAxNDksICAgIC0xLCAgIDE1MSwgICAgLTEsICAgICA4
LCAgICAgOSwgICAgMTAsICAgIC0xLCAgICAtMSwgICAgMTMsCj4gKyAgICAgIDE0LCAgICAxNSwg
ICAgLTEsICAgIDE3LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIDI2LCAgICAyNywgICAgMjgsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMzcsICAgIDM4
LCAgICAtMSwgICAgNDAsICAgIDQxLCAgICA0MiwgICAgNDMsCj4gKyAgICAgIDQ0LCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDY4
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIDc3LCAgICA3OCwgICAgNzksICAgIDgwLCAgICA4MSwgICAgODIsICAgIDgzLAo+
ICsgICAgICA4NCwgICAgODUsICAgIDg2LCAgICA4NywgICAgODgsICAgIDg5LCAgICAtMSwgICAg
LTEsICAgIDkyLCAgICA5MywKPiArICAgICAgOTQsICAgIDk1LCAgICAtMSwgICAgLTEsICAgIDk4
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgMTA0LCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAxMTgsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgMTI1LCAgICAtMSwgICAxMjcsICAgMTI4
LCAgIDEyOSwgICAxMzAsICAgMTMxLCAgIDEzMiwgICAxMzMsCj4gKyAgICAgMTM0LCAgIDEzNSwg
ICAxMzYsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgIDE0MSwgICAxNDIsICAgMTQzLAo+
ICsgICAgIDE0NCwgICAgIDAsICAgMTQ2LCAgIDE0NywgICAxNDgsICAgMTQ5LCAgICAtMSwgICAx
NTEsICAgIC0xLCAgICAgOCwKPiArICAgICAgIDksICAgIDEwLCAgICAtMSwgICAgLTEsICAgIDEz
LCAgICAxNCwgICAgMTUsICAgIC0xLCAgICAxNywgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMjcsICAgIDI4LAo+
ICsgICAgICAyOSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIDM3LCAgICAzOCwKPiArICAgICAgLTEsICAgIDQwLCAgICA0MSwgICAgNDIsICAgIDQz
LCAgICA0NCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICA2OCwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICA3NywgICAgNzgsCj4gKyAgICAgIDc5LCAgICA4MCwg
ICAgODEsICAgIDgyLCAgICA4MywgICAgODQsICAgIDg1LCAgICA4NiwgICAgODcsICAgIDg4LAo+
ICsgICAgICA4OSwgICAgLTEsICAgIC0xLCAgICA5MiwgICAgOTMsICAgIDk0LCAgICA5NSwgICAg
LTEsICAgIC0xLCAgICA5OCwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgIDEwNCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgMTE4LAo+
ICsgICAgICAtMSwgICAgLTEsICAgMTIxLCAgICAtMSwgICAgLTEsICAgIC0xLCAgIDEyNSwgICAx
MjYsICAgMTI3LCAgIDEyOCwKPiArICAgICAxMjksICAgMTMwLCAgIDEzMSwgICAxMzIsICAgMTMz
LCAgIDEzNCwgICAxMzUsICAgMTM2LCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgMTQyLCAgIDE0MywgICAxNDQsICAgICAwLCAgICAtMSwgICAxNDcsICAgMTQ4LAo+
ICsgICAgIDE0OSwgICAgLTEsICAgMTUxLCAgICAtMSwgICAgIDgsICAgICA5LCAgICAxMCwgICAg
LTEsICAgIC0xLCAgICAxMywKPiArICAgICAgMTQsICAgIDE1LCAgICAtMSwgICAgMTcsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgMjYsICAgIDI3LCAgICAyOCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAzNywgICAgMzgsICAgIC0xLCAgICA0MCwgICAg
NDEsICAgIDQyLCAgICA0MywKPiArICAgICAgNDQsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNjgsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNzcsICAgIDc4
LCAgICA3OSwgICAgODAsICAgIDgxLCAgICA4MiwgICAgODMsCj4gKyAgICAgIDg0LCAgICA4NSwg
ICAgODYsICAgIDg3LCAgICA4OCwgICAgODksICAgIC0xLCAgICAtMSwgICAgOTIsICAgIDkzLAo+
ICsgICAgICA5NCwgICAgOTUsICAgIC0xLCAgICAtMSwgICAgOTgsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAxMDQsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgIDExOCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAxMjUsICAgIC0xLCAgIDEyNywgICAxMjgsICAgMTI5LCAgIDEzMCwgICAx
MzEsICAgMTMyLCAgIDEzMywKPiArICAgICAxMzQsICAgMTM1LCAgIDEzNiwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgMTQxLCAgIDE0MiwgICAxNDMsCj4gKyAgICAgMTQ0LCAgICAgMCwg
ICAxNDYsICAgMTQ3LCAgIDE0OCwgICAxNDksICAgIC0xLCAgIDE1MSwgICAgLTEsICAgICA4LAo+
ICsgICAgICAgOSwgICAgMTAsICAgIC0xLCAgICAtMSwgICAgMTMsICAgIDE0LCAgICAxNSwgICAg
LTEsICAgIDE3LCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAyNywgICAgMjgsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMzcsICAgIDM4LAo+
ICsgICAgICAtMSwgICAgNDAsICAgIDQxLCAgICA0MiwgICAgNDMsICAgIDQ0LCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDY4LAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIDc3LCAgICA3OCwKPiArICAgICAgNzksICAgIDgwLCAgICA4MSwgICAgODIsICAgIDgz
LCAgICA4NCwgICAgODUsICAgIDg2LCAgICA4NywgICAgODgsCj4gKyAgICAgIDg5LCAgICAtMSwg
ICAgLTEsICAgIDkyLCAgICA5MywgICAgOTQsICAgIDk1LCAgICAtMSwgICAgLTEsICAgIDk4LAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgMTA0LCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAxMTgsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgMTI1LCAgICAtMSwgICAxMjcsICAgMTI4LAo+
ICsgICAgIDEyOSwgICAxMzAsICAgMTMxLCAgIDEzMiwgICAxMzMsICAgMTM0LCAgIDEzNSwgICAx
MzYsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAxNDIsICAgMTQz
LCAgIDE0NCwgICAgIDAsICAgMTQ2LCAgIDE0NywgICAxNDgsCj4gKyAgICAgMTQ5LCAgICAtMSwg
ICAxNTEsICAgIC0xLCAgICAgOCwgICAgIDksICAgIDEwLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAxNCwgICAgMTUsICAgIC0xLCAgICAxNywgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAyNiwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIDM3LCAgICAzOCwgICAgLTEsICAgIDQwLCAgICA0MSwgICAgNDIsICAgIDQzLAo+
ICsgICAgICA0NCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNzcsICAgIDc4LCAgICA3OSwgICAg
ODAsICAgIDgxLCAgICA4MiwKPiArICAgICAgODMsICAgIDg0LCAgICA4NSwgICAgODYsICAgIDg3
LCAgICA4OCwgICAgODksICAgIC0xLCAgICAtMSwgICAgOTIsCj4gKyAgICAgIDkzLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICA2OCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICA3NywgICAgNzgsICAgIDc5LCAgICA4MCwgICAg
ODEsICAgIDgyLCAgICA4MywKPiArICAgICAgODQsICAgIDg1LCAgICA4NiwgICAgODcsICAgIDg4
LCAgICA4OSwgICAgLTEsICAgIC0xLCAgICA5MiwgICAgOTMsCj4gKyAgICAgIDk0LCAgICA5NSwg
ICAxMjUsICAgIDk3LCAgIDEyNywgICAxMjgsICAgMTI5LCAgIDEzMCwgICAxMzEsICAgMTMyLAo+
ICsgICAgIDEzMywgICAxMzQsICAgMTM1LCAgIDEzNiwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgMTE4
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgIDE1MSwgICAgLTEsCj4gKyAgICAgMTI0LCAgIDEyNSwg
ICAgLTEsICAgMTI3LCAgIDEyOCwgICAxMjksICAgMTMwLCAgIDEzMSwgICAxMzIsICAgMTMzLAo+
ICsgICAgIDEzNCwgICAxMzUsICAgMTM2LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAx
NDEsICAgMTQyLCAgIDE0MywKPiArICAgICAxNDQsICAgICAwLCAgICAtMSwgICAxNDcsICAgIC0x
LCAgIDE0OSwgICAgLTEsICAgMTUxLCAgICAtMSwgICAgIDgsCj4gKyAgICAgICA5LCAgICAxMCwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgMTQsICAgIDE1LCAgICAtMSwgICAgMTcsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
MjYsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAzNywgICAgMzgsCj4gKyAgICAgIC0xLCAgICA0MCwg
ICAgNDEsICAgIDQyLCAgICA0MywgICAgNDQsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNjgsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNzcsICAgIDc4LAo+
ICsgICAgICA3OSwgICAgODAsICAgIDgxLCAgICA4MiwgICAgODMsICAgIDg0LCAgICA4NSwgICAg
ODYsICAgIDg3LCAgICA4OCwKPiArICAgICAgODksICAgIC0xLCAgICAtMSwgICAgOTIsICAgIDkz
LCAgICA5NCwgICAgOTUsICAgIC0xLCAgICA5NywgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgIDExOCwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgIDEyNCwgICAxMjUsICAgIC0xLCAgIDEyNywgICAxMjgsCj4gKyAgICAgMTI5LCAgIDEzMCwg
ICAxMzEsICAgMTMyLCAgIDEzMywgICAxMzQsICAgMTM1LCAgIDEzNiwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgMTQxLCAgIDE0MiwgICAxNDMsICAgMTQ0LCAgICAgMCwgICAg
LTEsICAgMTQ3LCAgICAtMSwKPiArICAgICAxNDksICAgIC0xLCAgIDE1MSwgICAgLTEsICAgICA4
LCAgICAgOSwgICAgMTAsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIDE0LCAgICAxNSwg
ICAgLTEsICAgIDE3LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMzcsICAgIDM4
LCAgICAtMSwgICAgNDAsICAgIDQxLCAgICA0MiwgICAgNDMsCj4gKyAgICAgIDQ0LCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDY4
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIDc3LCAgICA3OCwgICAgNzksICAgIDgwLCAgICA4MSwgICAgODIsICAgIDgzLAo+
ICsgICAgICA4NCwgICAgODUsICAgIDg2LCAgICA4NywgICAgODgsICAgIDg5LCAgICAtMSwgICAg
LTEsICAgIDkyLCAgICA5MywKPiArICAgICAgOTQsICAgIDk1LCAgICAtMSwgICAgOTcsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAxMTgsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAxMjQsICAgMTI1LCAgICAtMSwgICAxMjcsICAgMTI4
LCAgIDEyOSwgICAxMzAsICAgMTMxLCAgIDEzMiwgICAxMzMsCj4gKyAgICAgMTM0LCAgIDEzNSwg
ICAxMzYsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAxNDIsICAgMTQzLAo+
ICsgICAgIDE0NCwgICAgIDAsICAgIC0xLCAgIDE0NywgICAgLTEsICAgMTQ5LCAgICAtMSwgICAx
NTEsICAgIC0xLCAgICAgOCwKPiArICAgICAgIDksICAgIDEwLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAxNCwgICAgMTUsICAgIC0xLCAgICAxNywgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIDM3LCAgICAzOCwKPiArICAgICAgLTEsICAgIDQwLCAgICA0MSwgICAgNDIsICAgIDQz
LCAgICA0NCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICA2OCwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICA3NywgICAgNzgsCj4gKyAgICAgIDc5LCAgICA4MCwg
ICAgODEsICAgIDgyLCAgICA4MywgICAgODQsICAgIDg1LCAgICA4NiwgICAgODcsICAgIDg4LAo+
ICsgICAgICA4OSwgICAgLTEsICAgIC0xLCAgICA5MiwgICAgOTMsICAgIDk0LCAgICA5NSwgICAg
LTEsICAgIDk3LCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgMTE4LAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgMTI0LCAgIDEyNSwgICAg
LTEsICAgMTI3LCAgIDEyOCwKPiArICAgICAxMjksICAgMTMwLCAgIDEzMSwgICAxMzIsICAgMTMz
LCAgIDEzNCwgICAxMzUsICAgMTM2LCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgMTQyLCAgIDE0MywgICAxNDQsICAgIC0xLCAgICAtMSwgICAxNDcsICAgIC0xLAo+
ICsgICAgIDE0OSwgICAgIDEsICAgMTUxLCAgICAgMywgICAgIDQsICAgICA1LCAgICAgNiwgICAg
IDcsICAgICA4LCAgICAgOSwKPiArICAgICAgMTAsICAgIDExLCAgICAxMiwgICAgLTEsICAgIC0x
LCAgICAxNSwgICAgMTYsICAgIC0xLCAgICAxOCwgICAgMTksCj4gKyAgICAgIDIwLCAgICAyMSwg
ICAgMjIsICAgIDIzLCAgICAyNCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAzMCwgICAgMzEsICAgIDMyLCAgICAzMywgICAgMzQsICAgIDM1LCAgICAzNiwgICAg
LTEsICAgIC0xLCAgICAzOSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICA0NSwgICAgNDYsICAgIDQ3LCAgICA0OCwgICAgNDksCj4gKyAgICAgIDUwLCAgICA1MSwg
ICAgNTIsICAgIDUzLCAgICA1NCwgICAgNTUsICAgIDU2LCAgICA1NywgICAgLTEsICAgIDU5LAo+
ICsgICAgICA2MCwgICAgNjEsICAgIDYyLCAgICAtMSwgICAgNjQsICAgIDY1LCAgICA2NiwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICA3NSwgICAgNzYsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICA5NiwgICAg
LTEsICAgIC0xLCAgICA5OSwKPiArICAgICAxMDAsICAgIC0xLCAgIDEwMiwgICAxMDMsICAgIC0x
LCAgIDEwNSwgICAgLTEsICAgIC0xLCAgIDEwOCwgICAxMDksCj4gKyAgICAgMTEwLCAgIDExMSwg
ICAxMTIsICAgMTEzLCAgIDExNCwgICAxMTUsICAgMTE2LCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgMTM3LCAgIDEzOCwgICAxMzksCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgMTQ5LAo+
ICsgICAgICAgMSwgICAxNTEsICAgICAzLCAgICAgNCwgICAgIDUsICAgICA2LCAgICAgNywgICAg
LTEsICAgIC0xLCAgICAxMCwKPiArICAgICAgMTEsICAgIDEyLCAgICAtMSwgICAgMTQsICAgIDE1
LCAgICAxNiwgICAgLTEsICAgIDE4LCAgICAxOSwgICAgMjAsCj4gKyAgICAgIDIxLCAgICAyMiwg
ICAgMjMsICAgIDI0LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDMwLAo+
ICsgICAgICAzMSwgICAgMzIsICAgIDMzLCAgICAzNCwgICAgMzUsICAgIDM2LCAgICAtMSwgICAg
LTEsICAgIDM5LCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDQ1
LCAgICA0NiwgICAgNDcsICAgIDQ4LCAgICA0OSwgICAgNTAsCj4gKyAgICAgIDUxLCAgICA1Miwg
ICAgNTMsICAgIDU0LCAgICA1NSwgICAgNTYsICAgIDU3LCAgICAtMSwgICAgNTksICAgIDYwLAo+
ICsgICAgICA2MSwgICAgNjIsICAgIC0xLCAgICA2NCwgICAgNjUsICAgIDY2LCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDc1
LCAgICA3NiwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDk2LCAgICAtMSwgICAg
LTEsICAgIDk5LCAgIDEwMCwKPiArICAgICAgLTEsICAgMTAyLCAgIDEwMywgICAgLTEsICAgMTA1
LCAgICAtMSwgICAgLTEsICAgMTA4LCAgIDEwOSwgICAxMTAsCj4gKyAgICAgMTExLCAgIDExMiwg
ICAxMTMsICAgMTE0LCAgIDExNSwgICAxMTYsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAxMzcsICAgMTM4LCAgIDEzOSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAxNDksICAgICAxLAo+
ICsgICAgIDE1MSwgICAgIDMsICAgICA0LCAgICAgNSwgICAgIDYsICAgICA3LCAgICAtMSwgICAg
LTEsICAgIDEwLCAgICAxMSwKPiArICAgICAgMTIsICAgIC0xLCAgICAtMSwgICAgMTUsICAgIDE2
LCAgICAxNywgICAgMTgsICAgIDE5LCAgICAyMCwgICAgMjEsCj4gKyAgICAgIDIyLCAgICAyMywg
ICAgMjQsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMzAsICAgIDMxLAo+
ICsgICAgICAzMiwgICAgMzMsICAgIDM0LCAgICAzNSwgICAgMzYsICAgIC0xLCAgICAtMSwgICAg
MzksICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNDUsICAgIDQ2
LCAgICA0NywgICAgNDgsICAgIDQ5LCAgICA1MCwgICAgNTEsCj4gKyAgICAgIDUyLCAgICA1Mywg
ICAgNTQsICAgIDU1LCAgICA1NiwgICAgNTcsICAgIC0xLCAgICA1OSwgICAgNjAsICAgIDYxLAo+
ICsgICAgICA2MiwgICAgLTEsICAgIDY0LCAgICA2NSwgICAgNjYsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNzUsICAgIDc2
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgOTYsICAgIC0xLCAgICAtMSwgICAg
OTksICAgMTAwLCAgICAtMSwKPiArICAgICAxMDIsICAgMTAzLCAgICAtMSwgICAxMDUsICAgIC0x
LCAgICAtMSwgICAxMDgsICAgMTA5LCAgIDExMCwgICAxMTEsCj4gKyAgICAgMTEyLCAgIDExMywg
ICAxMTQsICAgMTE1LCAgIDExNiwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgIDEzNywgICAxMzgsICAgMTM5LCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgIDE0OSwgICAgIDEsICAgMTUxLAo+
ICsgICAgICAgMywgICAgIDQsICAgICA1LCAgICAgNiwgICAgIDcsICAgIC0xLCAgICAtMSwgICAg
MTAsICAgIDExLCAgICAxMiwKPiArICAgICAgLTEsICAgIC0xLCAgICAxNSwgICAgMTYsICAgIC0x
LCAgICAxOCwgICAgMTksICAgIDIwLCAgICAyMSwgICAgMjIsCj4gKyAgICAgIDIzLCAgICAyNCwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAzMCwgICAgMzEsICAgIDMyLAo+
ICsgICAgICAzMywgICAgMzQsICAgIDM1LCAgICAzNiwgICAgLTEsICAgIC0xLCAgICAzOSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICA0NSwgICAgNDYsICAgIDQ3
LCAgICA0OCwgICAgNDksICAgIDUwLCAgICA1MSwgICAgNTIsCj4gKyAgICAgIDUzLCAgICA1NCwg
ICAgNTUsICAgIDU2LCAgICA1NywgICAgLTEsICAgIDU5LCAgICA2MCwgICAgNjEsICAgIDYyLAo+
ICsgICAgICAtMSwgICAgNjQsICAgIDY1LCAgICA2NiwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICA3NSwgICAgNzYsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICA5NiwgICAgLTEsICAgIC0xLCAgICA5OSwgICAx
MDAsICAgIC0xLCAgIDEwMiwKPiArICAgICAxMDMsICAgIC0xLCAgIDEwNSwgICAgLTEsICAgIC0x
LCAgIDEwOCwgICAxMDksICAgMTEwLCAgIDExMSwgICAxMTIsCj4gKyAgICAgMTEzLCAgIDExNCwg
ICAxMTUsICAgMTE2LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgICAxLCAgICAtMSwgICAgIDMsICAgICA0LCAgICAgNSwgICAg
IDYsICAgICA3LCAgICAtMSwKPiArICAgICAgIDksICAgIDEwLCAgICAxMSwgICAgMTIsICAgMTM3
LCAgIDEzOCwgICAxMzksICAgIDE2LCAgICAtMSwgICAgMTgsCj4gKyAgICAgIDE5LCAgICAyMCwg
ICAgMjEsICAgIDIyLCAgICAyMywgICAgMjQsICAgMTQ5LCAgICAtMSwgICAxNTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgMzAsICAgIDMxLCAgICAzMiwgICAgMzMsICAgIDM0LCAgICAzNSwgICAg
MzYsICAgIC0xLCAgICAtMSwKPiArICAgICAgMzksICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgNDUsICAgIDQ2LCAgICA0NywgICAgNDgsCj4gKyAgICAgIDQ5LCAgICA1MCwg
ICAgNTEsICAgIDUyLCAgICA1MywgICAgNTQsICAgIDU1LCAgICA1NiwgICAgNTcsICAgIC0xLAo+
ICsgICAgICA1OSwgICAgNjAsICAgIDYxLCAgICA2MiwgICAgLTEsICAgIDY0LCAgICA2NSwgICAg
NjYsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgNzUsICAgIDc2LCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
OTYsICAgIC0xLCAgICAtMSwKPiArICAgICAgOTksICAgMTAwLCAgICAtMSwgICAxMDIsICAgMTAz
LCAgICAtMSwgICAxMDUsICAgIC0xLCAgICAtMSwgICAxMDgsCj4gKyAgICAgMTA5LCAgIDExMCwg
ICAxMTEsICAgMTEyLCAgIDExMywgICAxMTQsICAgMTE1LCAgIDExNiwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAgMSwgICAg
LTEsICAgICAzLCAgICAgNCwKPiArICAgICAgIDUsICAgICA2LCAgICAgNywgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgMTEsICAgIDEyLCAgIDEzNywgICAxMzgsCj4gKyAgICAgMTM5LCAgICAxNiwg
ICAgLTEsICAgIDE4LCAgICAxOSwgICAgMjAsICAgIDIxLCAgICAyMiwgICAgMjMsICAgIDI0LAo+
ICsgICAgIDE0OSwgICAgLTEsICAgMTUxLCAgICAtMSwgICAgLTEsICAgIDMwLCAgICAzMSwgICAg
MzIsICAgIDMzLCAgICAzNCwKPiArICAgICAgMzUsICAgIDM2LCAgICAtMSwgICAgLTEsICAgIDM5
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIDQ1LCAgICA0Niwg
ICAgNDcsICAgIDQ4LCAgICA0OSwgICAgNTAsICAgIDUxLCAgICA1MiwgICAgNTMsICAgIDU0LAo+
ICsgICAgICA1NSwgICAgNTYsICAgIDU3LCAgICAtMSwgICAgNTksICAgIDYwLCAgICA2MSwgICAg
NjIsICAgIC0xLCAgICA2NCwKPiArICAgICAgNjUsICAgIDY2LCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIDc1LCAgICA3Niwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIDk2LCAgICAtMSwgICAgLTEsICAgIDk5
LCAgIDEwMCwgICAgLTEsICAgMTAyLCAgIDEwMywgICAgLTEsCj4gKyAgICAgMTA1LCAgICAtMSwg
ICAgLTEsICAgMTA4LCAgIDEwOSwgICAxMTAsICAgMTExLCAgIDExMiwgICAxMTMsICAgMTE0LAo+
ICsgICAgIDExNSwgICAxMTYsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAxMzcsICAgMTM4LCAgIDEzOSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgMTQ3LCAgICAtMSwgICAxNDksICAgICAxLCAgIDE1MSwgICAg
IDMsICAgICA0LCAgICAgNSwKPiArICAgICAgIDYsICAgICA3LCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAxMSwgICAgMTIsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIDE2LCAgICAtMSwg
ICAgMTgsICAgIDE5LCAgICAyMCwgICAgMjEsICAgIDIyLCAgICAyMywgICAgMjQsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMzAsICAgIDMxLCAgICAzMiwgICAg
MzMsICAgIDM0LCAgICAzNSwKPiArICAgICAgMzYsICAgIC0xLCAgICAtMSwgICAgMzksICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNDUsCj4gKyAgICAgIDQ2LCAgICA0Nywg
ICAgNDgsICAgIDQ5LCAgICA1MCwgICAgNTEsICAgIDUyLCAgICA1MywgICAgNTQsICAgIDU1LAo+
ICsgICAgICA1NiwgICAgNTcsICAgIC0xLCAgICA1OSwgICAgNjAsICAgIDYxLCAgICA2MiwgICAg
LTEsICAgIDY0LCAgICA2NSwKPiArICAgICAgNjYsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNzUsCj4gKyAgICAgIDc2LCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgOTYsICAgIC0xLCAgICAtMSwgICAgOTksICAgMTAw
LCAgICAtMSwgICAxMDIsICAgMTAzLCAgICAtMSwgICAxMDUsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAxMDgsICAgMTA5LCAgIDExMCwgICAxMTEsICAgMTEyLCAgIDExMywgICAxMTQsICAgMTE1LAo+
ICsgICAgIDExNiwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgIDEzNywg
ICAxMzgsICAgMTM5LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAxNDcsICAgIC0xLCAgIDE0OSwgICAgIDEsICAgMTUxLCAgICAgMywgICAg
IDQsICAgICA1LCAgICAgNiwKPiArICAgICAgIDcsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDEx
LCAgICAxMiwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMTYsCj4gKyAgICAgIC0xLCAgICAxOCwg
ICAgMTksICAgIDIwLCAgICAyMSwgICAgMjIsICAgIDIzLCAgICAyNCwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAzMCwgICAgMzEsICAgIDMyLCAgICAzMywgICAg
MzQsICAgIDM1LCAgICAzNiwKPiArICAgICAgLTEsICAgIC0xLCAgICAzOSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICA0NSwgICAgNDYsCj4gKyAgICAgIDQ3LCAgICA0OCwg
ICAgNDksICAgIDUwLCAgICA1MSwgICAgNTIsICAgIDUzLCAgICA1NCwgICAgNTUsICAgIDU2LAo+
ICsgICAgICA1NywgICAgLTEsICAgIDU5LCAgICA2MCwgICAgNjEsICAgIDYyLCAgICAtMSwgICAg
NjQsICAgIDY1LCAgICA2NiwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICA3NSwgICAgNzYsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICA5NiwKPiArICAgICAgLTEsICAgIC0xLCAgICA5OSwgICAxMDAsICAgIC0x
LCAgIDEwMiwgICAxMDMsICAgIC0xLCAgIDEwNSwgICAgLTEsCj4gKyAgICAgIC0xLCAgIDEwOCwg
ICAxMDksICAgMTEwLCAgIDExMSwgICAxMTIsICAgMTEzLCAgIDExNCwgICAxMTUsICAgMTE2LAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgMTM3LCAgIDEzOCwg
ICAxMzksICAgIC0xLCAgICAtMSwgICAxNDIsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgMTQ5LCAgICAgMSwgICAxNTEsICAgICAzLCAgICAgNCwgICAg
IDUsICAgICA2LCAgICAgNywKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMTEsICAgIDEy
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAxNiwgICAgLTEsCj4gKyAgICAgIDE4LCAgICAxOSwg
ICAgMjAsICAgIDIxLCAgICAyMiwgICAgMjMsICAgIDI0LCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIDMwLCAgICAzMSwgICAgMzIsICAgIDMzLCAgICAzNCwgICAg
MzUsICAgIDM2LCAgICAtMSwKPiArICAgICAgLTEsICAgIDM5LCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIDQ1LCAgICA0NiwgICAgNDcsCj4gKyAgICAgIDQ4LCAgICA0OSwg
ICAgNTAsICAgIDUxLCAgICA1MiwgICAgNTMsICAgIDU0LCAgICA1NSwgICAgNTYsICAgIDU3LAo+
ICsgICAgICAtMSwgICAgNTksICAgIDYwLCAgICA2MSwgICAgNjIsICAgIC0xLCAgICA2NCwgICAg
NjUsICAgIDY2LCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIDc1LCAgICA3NiwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIDk2LCAgICAtMSwKPiArICAgICAgLTEsICAgIDk5LCAgIDEwMCwgICAgLTEsICAgMTAy
LCAgIDEwMywgICAgLTEsICAgMTA1LCAgICAtMSwgICAgLTEsCj4gKyAgICAgMTA4LCAgIDEwOSwg
ICAxMTAsICAgMTExLCAgIDExMiwgICAxMTMsICAgMTE0LCAgIDExNSwgICAxMTYsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAxMzcsCj4gKyAgICAgMTM4LCAgIDEzOSwg
ICAgLTEsICAgIC0xLCAgIDE0MiwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAxNDksICAgICAxLCAgIDE1MSwgICAgIDMsICAgICA0LCAgICAgNSwgICAg
IDYsICAgICA3LCAgICAtMSwKPiArICAgICAgLTEsICAgIDEwLCAgICAxMSwgICAgMTIsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIDE2LCAgICAtMSwgICAgMTgsCj4gKyAgICAgIDE5LCAgICAyMCwg
ICAgMjEsICAgIDIyLCAgICAyMywgICAgMjQsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgMzAsICAgIDMxLCAgICAzMiwgICAgMzMsICAgIDM0LCAgICAzNSwgICAg
MzYsICAgIC0xLCAgICAtMSwKPiArICAgICAgMzksICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgNDUsICAgIDQ2LCAgICA0NywgICAgNDgsCj4gKyAgICAgIDQ5LCAgICA1MCwg
ICAgNTEsICAgIDUyLCAgICA1MywgICAgNTQsICAgIDU1LCAgICA1NiwgICAgNTcsICAgIC0xLAo+
ICsgICAgICA1OSwgICAgNjAsICAgIDYxLCAgICA2MiwgICAgLTEsICAgIDY0LCAgICA2NSwgICAg
NjYsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgNzUsICAgIDc2LCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
OTYsICAgIC0xLCAgICAtMSwKPiArICAgICAgOTksICAgMTAwLCAgICAtMSwgICAxMDIsICAgMTAz
LCAgICAtMSwgICAxMDUsICAgIC0xLCAgICAtMSwgICAxMDgsCj4gKyAgICAgMTA5LCAgIDExMCwg
ICAxMTEsICAgMTEyLCAgIDExMywgICAxMTQsICAgMTE1LCAgIDExNiwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAgMSwgICAg
LTEsICAgICAzLCAgICAgNCwKPiArICAgICAgIDUsICAgICA2LCAgICAgNywgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgMTEsICAgIDEyLCAgIDEzNywgICAxMzgsCj4gKyAgICAgMTM5LCAgICAxNiwg
ICAgLTEsICAgIDE4LCAgICAxOSwgICAgMjAsICAgIDIxLCAgICAyMiwgICAgMjMsICAgIDI0LAo+
ICsgICAgIDE0OSwgICAgLTEsICAgMTUxLCAgICAtMSwgICAgLTEsICAgIDMwLCAgICAzMSwgICAg
MzIsICAgIDMzLCAgICAzNCwKPiArICAgICAgMzUsICAgIDM2LCAgICAtMSwgICAgLTEsICAgIDM5
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIDQ1LCAgICA0Niwg
ICAgNDcsICAgIDQ4LCAgICA0OSwgICAgNTAsICAgIDUxLCAgICA1MiwgICAgNTMsICAgIDU0LAo+
ICsgICAgICA1NSwgICAgNTYsICAgIDU3LCAgICAtMSwgICAgNTksICAgIDYwLCAgICA2MSwgICAg
NjIsICAgIC0xLCAgICA2NCwKPiArICAgICAgNjUsICAgIDY2LCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIDc1LCAgICA3Niwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIDk2LCAgICAtMSwgICAgLTEsICAgIDk5
LCAgIDEwMCwgICAgLTEsICAgMTAyLCAgIDEwMywgICAgLTEsCj4gKyAgICAgMTA1LCAgICAtMSwg
ICAgLTEsICAgMTA4LCAgIDEwOSwgICAxMTAsICAgMTExLCAgIDExMiwgICAxMTMsICAgMTE0LAo+
ICsgICAgIDExNSwgICAxMTYsICAgIC0xLCAgIDExOCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAgMywgICAgIDQsICAgICA1
LCAgICAtMSwgICAgIDcsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIDExLCAgICAxMiwg
ICAxMzcsICAgMTM4LCAgIDEzOSwgICAgMTYsICAgIC0xLCAgICAxOCwgICAgMTksICAgIDIwLAo+
ICsgICAgICAyMSwgICAgMjIsICAgIDIzLCAgICAyNCwgICAxNDksICAgIC0xLCAgIDE1MSwgICAg
LTEsICAgIC0xLCAgICAzMCwKPiArICAgICAgMzEsICAgIDMyLCAgICAzMywgICAgMzQsICAgIDM1
LCAgICAzNiwgICAgLTEsICAgIC0xLCAgICAzOSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgNDYsICAgIC0xLCAgICAtMSwgICAgNDksICAgIDUwLAo+
ICsgICAgICA1MSwgICAgNTIsICAgIDUzLCAgICA1NCwgICAgNTUsICAgIDU2LCAgICA1NywgICAg
NTgsICAgIDU5LCAgICA2MCwKPiArICAgICAgNjEsICAgIDYyLCAgICAtMSwgICAgNjQsICAgIDY1
LCAgICA2NiwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICA3NSwgICAgNzYsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICA5NiwgICAgLTEsICAgIC0xLCAgICA5OSwgICAxMDAsCj4gKyAgICAgIC0xLCAgIDEwMiwg
ICAxMDMsICAgIC0xLCAgIDEwNSwgICAxMDYsICAgMTA3LCAgIDEwOCwgICAxMDksICAgMTEwLAo+
ICsgICAgIDExMSwgICAxMTIsICAgMTEzLCAgIDExNCwgICAxMTUsICAgMTE2LCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgIDMsICAgICA0LCAgICAgNSwgICAgLTEsCj4gKyAgICAgICA3LCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAxMSwgICAgMTIsICAgMTM3LCAgIDEzOCwgICAxMzksICAgIDE2LAo+
ICsgICAgICAtMSwgICAgMTgsICAgIDE5LCAgICAyMCwgICAgMjEsICAgIDIyLCAgICAyMywgICAg
MjQsICAgIC0xLCAgICAtMSwKPiArICAgICAxNTEsICAgIC0xLCAgICAtMSwgICAgMzAsICAgIDMx
LCAgICAzMiwgICAgMzMsICAgIDM0LCAgICAzNSwgICAgMzYsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgMzksICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDQ2LAo+
ICsgICAgICAtMSwgICAgLTEsICAgIDQ5LCAgICA1MCwgICAgNTEsICAgIDUyLCAgICA1MywgICAg
NTQsICAgIDU1LCAgICA1NiwKPiArICAgICAgNTcsICAgIC0xLCAgICA1OSwgICAgNjAsICAgIDYx
LCAgICA2MiwgICAgLTEsICAgIDY0LCAgICA2NSwgICAgNjYsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNzUsICAgIDc2LAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgOTYsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgOTksICAgMTAwLCAgICAtMSwgICAxMDIsICAgMTAzLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAxMDgsICAgMTA5LCAgIDExMCwgICAxMTEsICAgMTEyLCAgIDExMywgICAx
MTQsICAgMTE1LCAgIDExNiwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgICAzLCAgICAgNCwg
ICAgIDUsICAgIC0xLCAgICAgNywgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMTEsICAgIDEyLAo+
ICsgICAgIDEzNywgICAxMzgsICAgMTM5LCAgICAxNiwgICAgLTEsICAgIDE4LCAgICAxOSwgICAg
MjAsICAgIDIxLCAgICAyMiwKPiArICAgICAgMjMsICAgIDI0LCAgIDE0OSwgICAgLTEsICAgMTUx
LCAgICAtMSwgICAgLTEsICAgIDMwLCAgICAzMSwgICAgMzIsCj4gKyAgICAgIDMzLCAgICAzNCwg
ICAgMzUsICAgIDM2LCAgICAtMSwgICAgLTEsICAgIDM5LCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICA0NiwgICAgLTEsICAgIC0xLCAgICA0OSwgICAg
NTAsICAgIDUxLCAgICA1MiwKPiArICAgICAgNTMsICAgIDU0LCAgICA1NSwgICAgNTYsICAgIDU3
LCAgICAtMSwgICAgNTksICAgIDYwLCAgICA2MSwgICAgNjIsCj4gKyAgICAgIC0xLCAgICA2NCwg
ICAgNjUsICAgIDY2LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIDc1LCAgICA3NiwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIDk2LCAgICAtMSwgICAgLTEsICAgIDk5LCAgIDEwMCwgICAgLTEsICAgMTAyLAo+
ICsgICAgIDEwMywgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgMTA4LCAgIDEwOSwgICAx
MTAsICAgMTExLCAgIDExMiwKPiArICAgICAxMTMsICAgMTE0LCAgIDExNSwgICAxMTYsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAgMywgICAgIDQsICAgICA1LCAgICAgNiwgICAgIDcsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIDExLCAgICAxMiwgICAxMzcsICAgMTM4LCAgIDEzOSwgICAg
MTYsICAgIC0xLCAgICAxOCwKPiArICAgICAgMTksICAgIDIwLCAgICAyMSwgICAgMjIsICAgIDIz
LCAgICAyNCwgICAgLTEsICAgIC0xLCAgIDE1MSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAzMCwg
ICAgMzEsICAgIDMyLCAgICAzMywgICAgMzQsICAgIDM1LCAgICAzNiwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAzOSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICA0NSwgICAg
NDYsICAgIDQ3LCAgICA0OCwKPiArICAgICAgNDksICAgIDUwLCAgICA1MSwgICAgNTIsICAgIDUz
LCAgICA1NCwgICAgNTUsICAgIDU2LCAgICA1NywgICAgLTEsCj4gKyAgICAgIDU5LCAgICA2MCwg
ICAgNjEsICAgIDYyLCAgICAtMSwgICAgNjQsICAgIDY1LCAgICA2NiwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICA3NSwgICAg
NzYsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICA5NiwgICAgLTEsICAgIC0xLAo+
ICsgICAgICA5OSwgICAxMDAsICAgIC0xLCAgIDEwMiwgICAxMDMsICAgIC0xLCAgIDEwNSwgICAg
LTEsICAgIC0xLCAgIDEwOCwKPiArICAgICAxMDksICAgMTEwLCAgIDExMSwgICAxMTIsICAgMTEz
LCAgIDExNCwgICAxMTUsICAgMTE2LCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgIDMsICAgICA0LAo+
ICsgICAgICAgNSwgICAgIDYsICAgICA3LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAxMSwgICAg
MTIsICAgMTM3LCAgIDEzOCwKPiArICAgICAxMzksICAgIDE2LCAgICAtMSwgICAgMTgsICAgIDE5
LCAgICAyMCwgICAgMjEsICAgIDIyLCAgICAyMywgICAgMjQsCj4gKyAgICAgMTQ5LCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgMzAsICAgIDMxLCAgICAzMiwgICAgMzMsICAgIDM0LAo+
ICsgICAgICAzNSwgICAgMzYsICAgIC0xLCAgICAtMSwgICAgMzksICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgNDUsICAgIDQ2LCAgICA0NywgICAgNDgsICAgIDQ5
LCAgICA1MCwgICAgNTEsICAgIDUyLCAgICA1MywgICAgNTQsCj4gKyAgICAgIDU1LCAgICA1Niwg
ICAgNTcsICAgIC0xLCAgICA1OSwgICAgNjAsICAgIDYxLCAgICA2MiwgICAgLTEsICAgIDY0LAo+
ICsgICAgICA2NSwgICAgNjYsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgNzUsICAgIDc2LCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgOTYsICAgIC0xLCAgICAtMSwgICAgOTksICAgMTAwLCAgICAtMSwgICAx
MDIsICAgMTAzLCAgICAtMSwKPiArICAgICAxMDUsICAgIC0xLCAgICAtMSwgICAxMDgsICAgMTA5
LCAgIDExMCwgICAxMTEsICAgMTEyLCAgIDExMywgICAxMTQsCj4gKyAgICAgMTE1LCAgIDExNiwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgIDEzNywgICAxMzgsICAgMTM5
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgIDE0OSwgICAgIDMsICAgICA0LCAgICAgNSwgICAgIDYsICAgICA3LAo+
ICsgICAgICAgOCwgICAgIDksICAgIDEwLCAgICAxMSwgICAgMTIsICAgIDEzLCAgICAxNCwgICAg
MTUsICAgIDE2LCAgICAxNywKPiArICAgICAgMTgsICAgIDE5LCAgICAyMCwgICAgMjEsICAgIDIy
LCAgICAyMywgICAgMjQsICAgIDI1LCAgICAyNiwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgMzAsICAgIDMxLCAgICAzMiwgICAgMzMsICAgIDM0LCAgICAzNSwgICAgMzYsICAgIDM3LAo+
ICsgICAgICAzOCwgICAgMzksICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
NDUsICAgIDQ2LCAgICA0NywKPiArICAgICAgNDgsICAgIDQ5LCAgICA1MCwgICAgNTEsICAgIDUy
LCAgICA1MywgICAgNTQsICAgIDU1LCAgICA1NiwgICAgNTcsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
NzUsICAgIDc2LCAgICA3NywKPiArICAgICAgNzgsICAgIDc5LCAgICA4MCwgICAgODEsICAgIDgy
LCAgICA4MywgICAgLTEsICAgIC0xLCAgICA4NiwgICAgODcsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgOTAsICAgIDkxLCAgICA5MiwgICAgOTMsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAx
MDUsICAgMTA2LCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgMTI3LAo+
ICsgICAgIDEyOCwgICAxMjksICAgMTMwLCAgIDEzMSwgICAxMzIsICAgMTMzLCAgIDEzNCwgICAx
MzUsICAgMTM2LCAgICAtMSwKPiArICAgICAxMzgsICAgMTM5LCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgMTQ1LCAgIDE0NiwgICAgIDMsCj4gKyAgICAgICA0LCAgICAgNSwg
ICAgIDYsICAgICA3LCAgICAgOCwgICAgIDksICAgIDEwLCAgICAxMSwgICAgMTIsICAgIDEzLAo+
ICsgICAgICAxNCwgICAgMTUsICAgIDE2LCAgICAxNywgICAgMTgsICAgIDE5LCAgICAyMCwgICAg
MjEsICAgIDIyLCAgICAyMywKPiArICAgICAgMjQsICAgIDI1LCAgICAyNiwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgMzAsICAgIDMxLCAgICAzMiwgICAgMzMsCj4gKyAgICAgIDM0LCAgICAzNSwg
ICAgMzYsICAgIDM3LCAgICAzOCwgICAgMzksICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgNDUsICAgIDQ2LCAgICA0NywgICAgNDgsICAgIDQ5LCAgICA1MCwgICAg
NTEsICAgIDUyLCAgICA1MywKPiArICAgICAgNTQsICAgIDU1LCAgICA1NiwgICAgNTcsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgNzUsICAgIDc2LCAgICA3NywgICAgNzgsICAgIDc5LCAgICA4MCwgICAg
ODEsICAgIDgyLCAgICA4MywKPiArICAgICAgLTEsICAgIC0xLCAgICA4NiwgICAgODcsICAgIC0x
LCAgICAtMSwgICAgOTAsICAgIDkxLCAgICA5MiwgICAgOTMsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAxMDUsICAgMTA2LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgMTI3LCAgIDEyOCwgICAxMjksICAgMTMwLCAgIDEzMSwgICAxMzIsICAgMTMzLAo+
ICsgICAgIDEzNCwgICAxMzUsICAgMTM2LCAgICAtMSwgICAxMzgsICAgMTM5LCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgMTQ1LCAgICAgMywgICAgIDQsICAgICA1
LCAgICAgNiwgICAgIDcsICAgICA4LCAgICAgOSwgICAgMTAsCj4gKyAgICAgIDExLCAgICAxMiwg
ICAgMTMsICAgIDE0LCAgICAxNSwgICAgMTYsICAgIDE3LCAgICAxOCwgICAgMTksICAgIDIwLAo+
ICsgICAgICAyMSwgICAgMjIsICAgIDIzLCAgICAyNCwgICAgMjUsICAgIDI2LCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAzMCwKPiArICAgICAgMzEsICAgIDMyLCAgICAzMywgICAgMzQsICAgIDM1
LCAgICAzNiwgICAgMzcsICAgIDM4LCAgICAzOSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICA0NSwgICAgNDYsICAgIDQ3LCAgICA0OCwgICAgNDksICAgIDUwLAo+
ICsgICAgICA1MSwgICAgNTIsICAgIDUzLCAgICA1NCwgICAgLTEsICAgIDU2LCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICA3NSwgICAgNzYsICAgIDc3LCAgICA3OCwgICAgNzksICAgIDgwLAo+
ICsgICAgICA4MSwgICAgODIsICAgIDgzLCAgICAtMSwgICAgLTEsICAgIDg2LCAgICA4NywgICAg
LTEsICAgIC0xLCAgICA5MCwKPiArICAgICAgOTEsICAgIDkyLCAgICA5MywgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgIDEwNSwgICAxMDYsICAgIC0xLCAgICAtMSwgICAxMDksICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAxMjcsICAgMTI4LCAgIDEyOSwgICAxMzAsCj4gKyAgICAgMTMxLCAgIDEzMiwg
ICAxMzMsICAgMTM0LCAgIDEzNSwgICAxMzYsICAgIC0xLCAgIDEzOCwgICAxMzksICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAxNDUsICAgICAzLCAgICAgNCwgICAg
IDUsICAgICA2LCAgICAgNywKPiArICAgICAgIDgsICAgICA5LCAgICAxMCwgICAgMTEsICAgIDEy
LCAgICAxMywgICAgMTQsICAgIDE1LCAgICAxNiwgICAgMTcsCj4gKyAgICAgIDE4LCAgICAxOSwg
ICAgMjAsICAgIDIxLCAgICAyMiwgICAgMjMsICAgIDI0LCAgICAyNSwgICAgMjYsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIDMwLCAgICAzMSwgICAgMzIsICAgIDMzLCAgICAzNCwgICAg
MzUsICAgIDM2LCAgICAzNywKPiArICAgICAgMzgsICAgIDM5LCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIDQ1LCAgICA0NiwgICAgNDcsCj4gKyAgICAgIDQ4LCAgICA0OSwg
ICAgNTAsICAgIDUxLCAgICA1MiwgICAgNTMsICAgIC0xLCAgICAtMSwgICAgNTYsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIDc1LCAgICA3NiwgICAgNzcsCj4gKyAgICAgIDc4LCAgICA3OSwg
ICAgODAsICAgIDgxLCAgICA4MiwgICAgODMsICAgIC0xLCAgICAtMSwgICAgODYsICAgIDg3LAo+
ICsgICAgICAtMSwgICAgLTEsICAgIDkwLCAgICA5MSwgICAgOTIsICAgIDkzLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgMTA1LCAgIDEwNiwgICAgLTEsCj4gKyAgICAgIC0xLCAgIDEwOSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgIDEyNywKPiArICAgICAxMjgsICAgMTI5LCAgIDEzMCwgICAxMzEsICAgMTMy
LCAgIDEzMywgICAxMzQsICAgMTM1LCAgIDEzNiwgICAgLTEsCj4gKyAgICAgMTM4LCAgIDEzOSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgIDE0NSwgICAgIDMsICAgICA0LAo+
ICsgICAgICAgNSwgICAgIDYsICAgICA3LCAgICAgOCwgICAgIDksICAgIDEwLCAgICAxMSwgICAg
MTIsICAgIDEzLCAgICAxNCwKPiArICAgICAgMTUsICAgIDE2LCAgICAxNywgICAgMTgsICAgIDE5
LCAgICAyMCwgICAgMjEsICAgIDIyLCAgICAyMywgICAgMjQsCj4gKyAgICAgIDI1LCAgICAyNiwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgMzAsICAgIDMxLCAgICAzMiwgICAgMzMsICAgIDM0LAo+
ICsgICAgICAzNSwgICAgMzYsICAgIDM3LCAgICAzOCwgICAgMzksICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgNDUsICAgIDQ2LCAgICA0NywgICAgNDgsICAgIDQ5
LCAgICA1MCwgICAgNTEsICAgIDUyLCAgICA1MywgICAgLTEsCj4gKyAgICAgIC0xLCAgICA1Niwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgNzUsICAgIDc2LCAgICA3NywgICAgNzgsICAgIDc5
LCAgICA4MCwgICAgODEsICAgIDgyLCAgICA4MywgICAgLTEsCj4gKyAgICAgIC0xLCAgICA4Niwg
ICAgODcsICAgIC0xLCAgICAtMSwgICAgOTAsICAgIDkxLCAgICA5MiwgICAgOTMsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAxMDUsICAgMTA2LCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgMTI3LCAgIDEyOCwgICAxMjksICAgMTMwLCAgIDEzMSwgICAx
MzIsICAgMTMzLCAgIDEzNCwKPiArICAgICAxMzUsICAgMTM2LCAgICAtMSwgICAxMzgsICAgMTM5
LCAgICAgMywgICAgIDQsICAgICA1LCAgICAtMSwgICAgIDcsCj4gKyAgICAgMTQ1LCAgICAtMSwg
ICAgLTEsICAgIDExLCAgICAxMiwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMTYsICAgIC0xLAo+
ICsgICAgICAxOCwgICAgMTksICAgIDIwLCAgICAyMSwgICAgMjIsICAgIDIzLCAgICAyNCwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAzMCwgICAgMzEsICAgIDMy
LCAgICAzMywgICAgMzQsICAgIDM1LCAgICAzNiwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAzOSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNDYsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgNDksICAgIDUwLCAgICA1MSwgICAgNTIsICAgIDUzLCAgICA1NCwgICAg
NTUsICAgIDU2LCAgICA1NywKPiArICAgICAgLTEsICAgIDU5LCAgICA2MCwgICAgNjEsICAgIDYy
LCAgICAtMSwgICAgNjQsICAgIDY1LCAgICA2NiwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICA5NiwgICAgLTEsCj4gKyAgICAgIC0xLCAgICA5OSwg
ICAxMDAsICAgIC0xLCAgIDEwMiwgICAxMDMsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgIDEwOCwgICAxMDksICAgMTEwLCAgIDExMSwgICAxMTIsICAgMTEzLCAgIDExNCwgICAx
MTUsICAgMTE2LCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgIDMsICAgICA0LCAgICAgNSwgICAgIDYsICAgICA3LCAgICAtMSwgICAgLTEsICAgMTM3LAo+
ICsgICAgICAxMSwgICAgMTIsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDE2LCAgIDE0NCwgICAg
MTgsICAgIDE5LCAgICAyMCwKPiArICAgICAgMjEsICAgIDIyLCAgICAyMywgICAgMjQsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMzAsCj4gKyAgICAgIDMxLCAgICAzMiwg
ICAgMzMsICAgIDM0LCAgICAzNSwgICAgMzYsICAgIC0xLCAgICAtMSwgICAgMzksICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNDUsICAgIDQ2LCAgICA0NywgICAg
NDgsICAgIDQ5LCAgICA1MCwKPiArICAgICAgNTEsICAgIDUyLCAgICA1MywgICAgNTQsICAgIDU1
LCAgICA1NiwgICAgNTcsICAgIC0xLCAgICA1OSwgICAgNjAsCj4gKyAgICAgIDYxLCAgICA2Miwg
ICAgLTEsICAgIDY0LCAgICA2NSwgICAgNjYsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNzUsICAgIDc2LCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgOTYsICAgIC0xLCAgICAtMSwgICAgOTksICAgMTAwLAo+
ICsgICAgICAtMSwgICAxMDIsICAgMTAzLCAgICAtMSwgICAxMDUsICAgIC0xLCAgICAtMSwgICAx
MDgsICAgMTA5LCAgIDExMCwKPiArICAgICAxMTEsICAgMTEyLCAgIDExMywgICAxMTQsICAgMTE1
LCAgIDExNiwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgICAzLCAgICAgNCwgICAgIDUsICAgIC0xLAo+
ICsgICAgICAgNywgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMTEsICAgIDEyLCAgIDEzNywgICAx
MzgsICAgMTM5LCAgICAxNiwKPiArICAgICAgLTEsICAgIDE4LCAgICAxOSwgICAgMjAsICAgIDIx
LCAgICAyMiwgICAgMjMsICAgIDI0LCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIDMwLCAgICAzMSwgICAgMzIsICAgIDMzLCAgICAzNCwgICAgMzUsICAgIDM2LAo+
ICsgICAgICAtMSwgICAgLTEsICAgIDM5LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICA0NiwKPiArICAgICAgLTEsICAgIC0xLCAgICA0OSwgICAgNTAsICAgIDUx
LCAgICA1MiwgICAgNTMsICAgIDU0LCAgICA1NSwgICAgNTYsCj4gKyAgICAgIDU3LCAgICA1OCwg
ICAgNTksICAgIDYwLCAgICA2MSwgICAgNjIsICAgIC0xLCAgICA2NCwgICAgNjUsICAgIDY2LAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIDc1LCAgICA3NiwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDk2LAo+
ICsgICAgICAtMSwgICAgLTEsICAgIDk5LCAgIDEwMCwgICAgLTEsICAgMTAyLCAgIDEwMywgICAg
LTEsICAgMTA1LCAgIDEwNiwKPiArICAgICAxMDcsICAgMTA4LCAgIDEwOSwgICAxMTAsICAgMTEx
LCAgIDExMiwgICAxMTMsICAgMTE0LCAgIDExNSwgICAxMTYsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAgMywgICAgIDQsICAgICA1LCAgICAgNiwgICAgIDcsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIDExLCAgICAxMiwKPiArICAgICAxMzcsICAgMTM4LCAgIDEzOSwgICAgMTYsICAgIC0x
LCAgICAxOCwgICAgMTksICAgIDIwLCAgICAyMSwgICAgMjIsCj4gKyAgICAgIDIzLCAgICAyNCwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAzMCwgICAgMzEsICAgIDMyLAo+
ICsgICAgICAzMywgICAgMzQsICAgIDM1LCAgICAzNiwgICAgLTEsICAgIC0xLCAgICAzOSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICA0NSwgICAgNDYsICAgIC0x
LCAgICA0OCwgICAgNDksICAgIDUwLCAgICA1MSwgICAgNTIsCj4gKyAgICAgIDUzLCAgICA1NCwg
ICAgNTUsICAgIDU2LCAgICA1NywgICAgLTEsICAgIDU5LCAgICA2MCwgICAgNjEsICAgIDYyLAo+
ICsgICAgICAtMSwgICAgNjQsICAgIDY1LCAgICA2NiwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICA3NSwgICAgNzYsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICA5NiwgICAgLTEsICAgIC0xLCAgICA5OSwgICAx
MDAsICAgIC0xLCAgIDEwMiwKPiArICAgICAxMDMsICAgIC0xLCAgIDEwNSwgICAgLTEsICAgIC0x
LCAgIDEwOCwgICAxMDksICAgMTEwLCAgIDExMSwgICAxMTIsCj4gKyAgICAgMTEzLCAgIDExNCwg
ICAxMTUsICAgMTE2LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgIDMsICAgICA0LCAgICAgNSwgICAg
LTEsICAgICA3LCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAxMSwgICAgMTIsICAgMTM3
LCAgIDEzOCwgICAxMzksICAgIDE2LCAgICAtMSwgICAgMTgsCj4gKyAgICAgIDE5LCAgICAyMCwg
ICAgMjEsICAgIDIyLCAgICAyMywgICAgMjQsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgMzAsICAgIDMxLCAgICAzMiwgICAgMzMsICAgIDM0LCAgICAzNSwgICAg
MzYsICAgIC0xLCAgICAtMSwKPiArICAgICAgMzksICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIDQ2LCAgICAtMSwgICAgLTEsCj4gKyAgICAgIDQ5LCAgICA1MCwg
ICAgNTEsICAgIDUyLCAgICA1MywgICAgNTQsICAgIDU1LCAgICA1NiwgICAgNTcsICAgIDU4LAo+
ICsgICAgICA1OSwgICAgNjAsICAgIDYxLCAgICA2MiwgICAgLTEsICAgIDY0LCAgICA2NSwgICAg
NjYsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgNzUsICAgIDc2LCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
OTYsICAgIC0xLCAgICAtMSwKPiArICAgICAgOTksICAgMTAwLCAgICAtMSwgICAxMDIsICAgMTAz
LCAgICAtMSwgICAxMDUsICAgMTA2LCAgIDEwNywgICAxMDgsCj4gKyAgICAgMTA5LCAgIDExMCwg
ICAxMTEsICAgMTEyLCAgIDExMywgICAxMTQsICAgMTE1LCAgIDExNiwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgICAzLCAgICAgNCwKPiArICAgICAgIDUsICAgIC0xLCAgICAgNywgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgMTEsICAgIDEyLCAgIDEzNywgICAxMzgsCj4gKyAgICAgMTM5LCAgICAxNiwg
ICAgLTEsICAgIDE4LCAgICAxOSwgICAgMjAsICAgIDIxLCAgICAyMiwgICAgMjMsICAgIDI0LAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDMwLCAgICAzMSwgICAg
MzIsICAgIDMzLCAgICAzNCwKPiArICAgICAgMzUsICAgIDM2LCAgICAtMSwgICAgLTEsICAgIDM5
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICA0Niwg
ICAgLTEsICAgIC0xLCAgICA0OSwgICAgNTAsICAgIDUxLCAgICA1MiwgICAgNTMsICAgIDU0LAo+
ICsgICAgICA1NSwgICAgNTYsICAgIDU3LCAgICA1OCwgICAgNTksICAgIDYwLCAgICA2MSwgICAg
NjIsICAgIC0xLCAgICA2NCwKPiArICAgICAgNjUsICAgIDY2LCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIDc1LCAgICA3Niwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIDk2LCAgICAtMSwgICAgLTEsICAgIDk5
LCAgIDEwMCwgICAgLTEsICAgMTAyLCAgIDEwMywgICAgLTEsCj4gKyAgICAgMTA1LCAgIDEwNiwg
ICAgLTEsICAgMTA4LCAgIDEwOSwgICAxMTAsICAgMTExLCAgIDExMiwgICAxMTMsICAgMTE0LAo+
ICsgICAgIDExNSwgICAxMTYsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAgMywgICAgIDQsICAgICA1
LCAgICAtMSwgICAgIDcsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIDExLCAgICAxMiwg
ICAxMzcsICAgMTM4LCAgIDEzOSwgICAgMTYsICAgIC0xLCAgICAxOCwgICAgMTksICAgIDIwLAo+
ICsgICAgICAyMSwgICAgMjIsICAgIDIzLCAgICAyNCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAzMCwKPiArICAgICAgMzEsICAgIDMyLCAgICAzMywgICAgMzQsICAgIDM1
LCAgICAzNiwgICAgLTEsICAgIC0xLCAgICAzOSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgNDYsICAgIC0xLCAgICAtMSwgICAgNDksICAgIDUwLAo+
ICsgICAgICA1MSwgICAgNTIsICAgIDUzLCAgICA1NCwgICAgNTUsICAgIDU2LCAgICA1NywgICAg
NTgsICAgIDU5LCAgICA2MCwKPiArICAgICAgNjEsICAgIDYyLCAgICAtMSwgICAgNjQsICAgIDY1
LCAgICA2NiwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICA3NSwgICAgNzYsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICA5NiwgICAgLTEsICAgIC0xLCAgICA5OSwgICAxMDAsCj4gKyAgICAgIC0xLCAgIDEwMiwg
ICAxMDMsICAgIC0xLCAgICAtMSwgICAxMDYsICAgMTA3LCAgIDEwOCwgICAxMDksICAgMTEwLAo+
ICsgICAgIDExMSwgICAxMTIsICAgMTEzLCAgIDExNCwgICAxMTUsICAgMTE2LCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgIDMsICAgICA0LCAgICAgNSwgICAgLTEsCj4gKyAgICAgICA3LCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAxMSwgICAgMTIsICAgMTM3LCAgIDEzOCwgICAxMzksICAgIDE2LAo+
ICsgICAgICAtMSwgICAgMTgsICAgIDE5LCAgICAyMCwgICAgMjEsICAgIDIyLCAgICAyMywgICAg
MjQsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMzAsICAgIDMx
LCAgICAzMiwgICAgMzMsICAgIDM0LCAgICAzNSwgICAgMzYsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgMzksICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDQ2LAo+
ICsgICAgICAtMSwgICAgLTEsICAgIDQ5LCAgICA1MCwgICAgNTEsICAgIDUyLCAgICA1MywgICAg
NTQsICAgIDU1LCAgICA1NiwKPiArICAgICAgNTcsICAgIDU4LCAgICA1OSwgICAgNjAsICAgIDYx
LCAgICA2MiwgICAgLTEsICAgIDY0LCAgICA2NSwgICAgNjYsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNzUsICAgIDc2LAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgOTYsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgOTksICAgMTAwLCAgICAtMSwgICAxMDIsICAgMTAzLCAgICAtMSwgICAxMDUsICAgMTA2LAo+
ICsgICAgICAtMSwgICAxMDgsICAgMTA5LCAgIDExMCwgICAxMTEsICAgMTEyLCAgIDExMywgICAx
MTQsICAgMTE1LCAgIDExNiwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgICAzLCAgICAgNCwg
ICAgIDUsICAgIC0xLCAgICAgNywgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMTEsICAgIDEyLAo+
ICsgICAgIDEzNywgICAxMzgsICAgMTM5LCAgICAxNiwgICAgLTEsICAgIDE4LCAgICAxOSwgICAg
MjAsICAgIDIxLCAgICAyMiwKPiArICAgICAgMjMsICAgIDI0LCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIDMwLCAgICAzMSwgICAgMzIsCj4gKyAgICAgIDMzLCAgICAzNCwg
ICAgMzUsICAgIDM2LCAgICAtMSwgICAgLTEsICAgIDM5LCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICA0NiwgICAgLTEsICAgIC0xLCAgICA0OSwgICAg
NTAsICAgIDUxLCAgICA1MiwKPiArICAgICAgNTMsICAgIDU0LCAgICA1NSwgICAgNTYsICAgIDU3
LCAgICA1OCwgICAgNTksICAgIDYwLCAgICA2MSwgICAgNjIsCj4gKyAgICAgIC0xLCAgICA2NCwg
ICAgNjUsICAgIDY2LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIDc1LCAgICA3NiwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIDk2LCAgICAtMSwgICAgLTEsICAgIDk5LCAgIDEwMCwgICAgLTEsICAgMTAyLAo+
ICsgICAgIDEwMywgICAgLTEsICAgIC0xLCAgIDEwNiwgICAgLTEsICAgMTA4LCAgIDEwOSwgICAx
MTAsICAgMTExLCAgIDExMiwKPiArICAgICAxMTMsICAgMTE0LCAgIDExNSwgICAxMTYsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAgMywgICAgIDQsICAgICA1LCAgICAtMSwgICAgIDcsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIDExLCAgICAxMiwgICAxMzcsICAgMTM4LCAgIDEzOSwgICAg
MTYsICAgIC0xLCAgICAxOCwKPiArICAgICAgMTksICAgIDIwLCAgICAyMSwgICAgMjIsICAgIDIz
LCAgICAyNCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAzMCwg
ICAgMzEsICAgIDMyLCAgICAzMywgICAgMzQsICAgIDM1LCAgICAzNiwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAzOSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
NDYsICAgIC0xLCAgICAtMSwKPiArICAgICAgNDksICAgIDUwLCAgICA1MSwgICAgNTIsICAgIDUz
LCAgICA1NCwgICAgNTUsICAgIDU2LCAgICA1NywgICAgLTEsCj4gKyAgICAgIDU5LCAgICA2MCwg
ICAgNjEsICAgIDYyLCAgICAtMSwgICAgNjQsICAgIDY1LCAgICA2NiwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICA3NSwgICAg
NzYsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICA5NiwgICAgLTEsICAgIC0xLAo+
ICsgICAgICA5OSwgICAxMDAsICAgIC0xLCAgIDEwMiwgICAxMDMsICAgIC0xLCAgIDEwNSwgICAg
LTEsICAgIC0xLCAgIDEwOCwKPiArICAgICAxMDksICAgMTEwLCAgIDExMSwgICAxMTIsICAgMTEz
LCAgIDExNCwgICAxMTUsICAgMTE2LCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgIDMsICAgICA0LAo+
ICsgICAgICAgNSwgICAgLTEsICAgICA3LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAxMSwgICAg
MTIsICAgMTM3LCAgIDEzOCwKPiArICAgICAxMzksICAgIDE2LCAgICAtMSwgICAgMTgsICAgIDE5
LCAgICAyMCwgICAgMjEsICAgIDIyLCAgICAyMywgICAgMjQsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgMzAsICAgIDMxLCAgICAzMiwgICAgMzMsICAgIDM0LAo+
ICsgICAgICAzNSwgICAgMzYsICAgIC0xLCAgICAtMSwgICAgMzksICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIDQ2LCAgICAtMSwgICAgLTEsICAgIDQ5
LCAgICA1MCwgICAgNTEsICAgIDUyLCAgICA1MywgICAgNTQsCj4gKyAgICAgIDU1LCAgICA1Niwg
ICAgNTcsICAgIC0xLCAgICA1OSwgICAgNjAsICAgIDYxLCAgICA2MiwgICAgLTEsICAgIDY0LAo+
ICsgICAgICA2NSwgICAgNjYsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgNzUsICAgIDc2LCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgOTYsICAgIC0xLCAgICAtMSwgICAgOTksICAgMTAwLCAgICAtMSwgICAx
MDIsICAgMTAzLCAgICAtMSwKPiArICAgICAxMDUsICAgIC0xLCAgICAtMSwgICAxMDgsICAgMTA5
LCAgIDExMCwgICAxMTEsICAgMTEyLCAgIDExMywgICAxMTQsCj4gKyAgICAgMTE1LCAgIDExNiwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgICAzLCAgICAgNCwgICAgIDUsICAgIC0xLCAgICAgNywgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgMTEsICAgIDEyLCAgIDEzNywgICAxMzgsICAgMTM5
LCAgICAxNiwgICAgLTEsICAgIDE4LCAgICAxOSwgICAgMjAsCj4gKyAgICAgIDIxLCAgICAyMiwg
ICAgMjMsICAgIDI0LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDMwLAo+
ICsgICAgICAzMSwgICAgMzIsICAgIDMzLCAgICAzNCwgICAgMzUsICAgIDM2LCAgICAtMSwgICAg
LTEsICAgIDM5LCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICA0NiwgICAgLTEsICAgIC0xLCAgICA0OSwgICAgNTAsCj4gKyAgICAgIDUxLCAgICA1Miwg
ICAgNTMsICAgIDU0LCAgICA1NSwgICAgNTYsICAgIDU3LCAgICAtMSwgICAgNTksICAgIDYwLAo+
ICsgICAgICA2MSwgICAgNjIsICAgIC0xLCAgICA2NCwgICAgNjUsICAgIDY2LCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDc1
LCAgICA3NiwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDk2LCAgICAtMSwgICAg
LTEsICAgIDk5LCAgIDEwMCwKPiArICAgICAgLTEsICAgMTAyLCAgIDEwMywgICAgLTEsICAgMTA1
LCAgICAtMSwgICAgLTEsICAgMTA4LCAgIDEwOSwgICAxMTAsCj4gKyAgICAgMTExLCAgIDExMiwg
ICAxMTMsICAgMTE0LCAgIDExNSwgICAxMTYsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAgMywgICAg
IDQsICAgICA1LCAgICAtMSwKPiArICAgICAgIDcsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDEx
LCAgICAxMiwgICAxMzcsICAgMTM4LCAgIDEzOSwgICAgMTYsCj4gKyAgICAgIC0xLCAgICAxOCwg
ICAgMTksICAgIDIwLCAgICAyMSwgICAgMjIsICAgIDIzLCAgICAyNCwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAzMCwgICAgMzEsICAgIDMyLCAgICAzMywgICAg
MzQsICAgIDM1LCAgICAzNiwKPiArICAgICAgLTEsICAgIC0xLCAgICAzOSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNDYsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgNDksICAgIDUwLCAgICA1MSwgICAgNTIsICAgIDUzLCAgICA1NCwgICAgNTUsICAgIDU2LAo+
ICsgICAgICA1NywgICAgLTEsICAgIDU5LCAgICA2MCwgICAgNjEsICAgIDYyLCAgICAtMSwgICAg
NjQsICAgIDY1LCAgICA2NiwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICA3NSwgICAgNzYsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICA5NiwKPiArICAgICAgLTEsICAgIC0xLCAgICA5OSwgICAxMDAsICAgIC0x
LCAgIDEwMiwgICAxMDMsICAgIC0xLCAgIDEwNSwgICAgLTEsCj4gKyAgICAgIC0xLCAgIDEwOCwg
ICAxMDksICAgMTEwLCAgIDExMSwgICAxMTIsICAgMTEzLCAgIDExNCwgICAxMTUsICAgMTE2LAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgIDMsICAgICA0LCAgICAgNSwgICAgLTEsICAgICA3
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAxMSwgICAgMTIsCj4gKyAgICAgMTM3LCAgIDEzOCwg
ICAxMzksICAgIDE2LCAgICAtMSwgICAgMTgsICAgIDE5LCAgICAyMCwgICAgMjEsICAgIDIyLAo+
ICsgICAgICAyMywgICAgMjQsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
MzAsICAgIDMxLCAgICAzMiwKPiArICAgICAgMzMsICAgIDM0LCAgICAzNSwgICAgMzYsICAgIC0x
LCAgICAtMSwgICAgMzksICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIDQ2LCAgICAtMSwgICAgLTEsICAgIDQ5LCAgICA1MCwgICAgNTEsICAgIDUyLAo+
ICsgICAgICA1MywgICAgNTQsICAgIDU1LCAgICA1NiwgICAgNTcsICAgIC0xLCAgICA1OSwgICAg
NjAsICAgIDYxLCAgICA2MiwKPiArICAgICAgLTEsICAgIDY0LCAgICA2NSwgICAgNjYsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgNzUsICAgIDc2LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgOTYsICAgIC0x
LCAgICAtMSwgICAgOTksICAgMTAwLCAgICAtMSwgICAxMDIsCj4gKyAgICAgMTAzLCAgICAtMSwg
ICAxMDUsICAgIC0xLCAgICAtMSwgICAxMDgsICAgMTA5LCAgIDExMCwgICAxMTEsICAgMTEyLAo+
ICsgICAgIDExMywgICAxMTQsICAgMTE1LCAgIDExNiwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgICAz
LCAgICAgNCwgICAgIDUsICAgIC0xLCAgICAgNywgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgMTEsICAgIDEyLCAgIDEzNywgICAxMzgsICAgMTM5LCAgICAxNiwgICAgLTEsICAgIDE4LAo+
ICsgICAgICAxOSwgICAgMjAsICAgIDIxLCAgICAyMiwgICAgMjMsICAgIDI0LCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIDMwLCAgICAzMSwgICAgMzIsICAgIDMz
LCAgICAzNCwgICAgMzUsICAgIDM2LCAgICAtMSwgICAgLTEsCj4gKyAgICAgIDM5LCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICA0NiwgICAgLTEsICAgIC0xLAo+
ICsgICAgICA0OSwgICAgNTAsICAgIDUxLCAgICA1MiwgICAgNTMsICAgIDU0LCAgICA1NSwgICAg
NTYsICAgIDU3LCAgICAtMSwKPiArICAgICAgNTksICAgIDYwLCAgICA2MSwgICAgNjIsICAgIC0x
LCAgICA2NCwgICAgNjUsICAgIDY2LCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDc1LCAgICA3NiwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIDk2LCAgICAtMSwgICAgLTEsCj4gKyAgICAgIDk5LCAgIDEwMCwg
ICAgLTEsICAgMTAyLCAgIDEwMywgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgMTA4LAo+
ICsgICAgIDEwOSwgICAxMTAsICAgMTExLCAgIDExMiwgICAxMTMsICAgMTE0LCAgIDExNSwgICAx
MTYsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAgMywgICAgIDQsCj4gKyAgICAgICA1LCAgICAtMSwg
ICAgIDcsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDExLCAgICAxMiwgICAxMzcsICAgMTM4LAo+
ICsgICAgIDEzOSwgICAgMTYsICAgIC0xLCAgICAxOCwgICAgMTksICAgIDIwLCAgICAyMSwgICAg
MjIsICAgIDIzLCAgICAyNCwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAzMCwgICAgMzEsICAgIDMyLCAgICAzMywgICAgMzQsCj4gKyAgICAgIDM1LCAgICAzNiwg
ICAgLTEsICAgIC0xLCAgICAzOSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgNDYsICAgIC0xLCAgICAtMSwgICAgNDksICAgIDUwLCAgICA1MSwgICAg
NTIsICAgIDUzLCAgICA1NCwKPiArICAgICAgNTUsICAgIDU2LCAgICA1NywgICAgLTEsICAgIDU5
LCAgICA2MCwgICAgNjEsICAgIDYyLCAgICAtMSwgICAgNjQsCj4gKyAgICAgIDY1LCAgICA2Niwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICA3NSwgICAgNzYsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICA5Niwg
ICAgLTEsICAgIC0xLCAgICA5OSwgICAxMDAsICAgIC0xLCAgIDEwMiwgICAxMDMsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgIDEwOCwgICAxMDksICAgMTEwLCAgIDExMSwgICAx
MTIsICAgMTEzLCAgIDExNCwKPiArICAgICAxMTUsICAgMTE2LCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgIDMsICAgICA0LCAgICAgNSwgICAgLTEsICAgICA3LCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAxMSwgICAgMTIsICAgMTM3LCAgIDEzOCwgICAxMzksICAgIDE2LCAgICAtMSwgICAg
MTgsICAgIDE5LCAgICAyMCwKPiArICAgICAgMjEsICAgIDIyLCAgICAyMywgICAgMjQsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMzAsCj4gKyAgICAgIDMxLCAgICAzMiwg
ICAgMzMsICAgIDM0LCAgICAzNSwgICAgMzYsICAgIC0xLCAgICAtMSwgICAgMzksICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDQ2LCAgICAtMSwgICAg
LTEsICAgIDQ5LCAgICA1MCwKPiArICAgICAgNTEsICAgIDUyLCAgICA1MywgICAgNTQsICAgIDU1
LCAgICA1NiwgICAgNTcsICAgIC0xLCAgICA1OSwgICAgNjAsCj4gKyAgICAgIDYxLCAgICA2Miwg
ICAgLTEsICAgIDY0LCAgICA2NSwgICAgNjYsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNzUsICAgIDc2LCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgOTYsICAgIC0xLCAgICAtMSwgICAgOTksICAgMTAwLAo+
ICsgICAgICAtMSwgICAxMDIsICAgMTAzLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAx
MDgsICAgMTA5LCAgIDExMCwKPiArICAgICAxMTEsICAgMTEyLCAgIDExMywgICAxMTQsICAgMTE1
LCAgIDExNiwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgICAzLCAgICAgNCwgICAgIDUsICAgIC0xLAo+
ICsgICAgICAgNywgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMTEsICAgIDEyLCAgIDEzNywgICAx
MzgsICAgMTM5LCAgICAxNiwKPiArICAgICAgLTEsICAgIDE4LCAgICAxOSwgICAgMjAsICAgIDIx
LCAgICAyMiwgICAgMjMsICAgIDI0LCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIDMwLCAgICAzMSwgICAgMzIsICAgIDMzLCAgICAzNCwgICAgMzUsICAgIDM2LAo+
ICsgICAgICAtMSwgICAgLTEsICAgIDM5LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICA0NiwKPiArICAgICAgLTEsICAgIC0xLCAgICA0OSwgICAgNTAsICAgIDUx
LCAgICA1MiwgICAgNTMsICAgIDU0LCAgICA1NSwgICAgNTYsCj4gKyAgICAgIDU3LCAgICAtMSwg
ICAgNTksICAgIDYwLCAgICA2MSwgICAgNjIsICAgIC0xLCAgICA2NCwgICAgNjUsICAgIDY2LAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDk2LAo+
ICsgICAgICAtMSwgICAgLTEsICAgIDk5LCAgIDEwMCwgICAgLTEsICAgMTAyLCAgIDEwMywgICAg
LTEsICAgMTA1LCAgICAtMSwKPiArICAgICAgLTEsICAgMTA4LCAgIDEwOSwgICAxMTAsICAgMTEx
LCAgIDExMiwgICAxMTMsICAgMTE0LCAgIDExNSwgICAxMTYsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgICAzLCAgICAgNCwgICAgIDUsICAgIC0xLAo+
ICsgICAgICAgNywgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMTEsICAgIDEyLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAxNiwKPiArICAgICAxMzcsICAgIDE4LCAgICAxOSwgICAgMjAsICAgIDIx
LCAgICAyMiwgICAgMjMsICAgIDI0LCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIDMwLCAgICAzMSwgICAgMzIsICAgIDMzLCAgICAzNCwgICAgMzUsICAgIDM2LAo+
ICsgICAgICAtMSwgICAgLTEsICAgIDM5LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICA0NiwKPiArICAgICAgLTEsICAgIC0xLCAgICA0OSwgICAgNTAsICAgIDUx
LCAgICA1MiwgICAgNTMsICAgIDU0LCAgICA1NSwgICAgNTYsCj4gKyAgICAgIDU3LCAgICAtMSwg
ICAgNTksICAgIDYwLCAgICA2MSwgICAgNjIsICAgIC0xLCAgICA2NCwgICAgNjUsICAgIDY2LAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDk2LAo+
ICsgICAgICAtMSwgICAgLTEsICAgIDk5LCAgIDEwMCwgICAgLTEsICAgMTAyLCAgIDEwMywgICAg
LTEsICAgMTA1LCAgICAtMSwKPiArICAgICAgLTEsICAgMTA4LCAgIDEwOSwgICAxMTAsICAgMTEx
LCAgIDExMiwgICAxMTMsICAgMTE0LCAgIDExNSwgICAxMTYsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgICAzLCAgICAgNCwgICAgIDUsICAgIC0xLAo+
ICsgICAgICAgNywgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMTEsICAgIDEyLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAxNiwKPiArICAgICAxMzcsICAgIDE4LCAgICAxOSwgICAgMjAsICAgIDIx
LCAgICAyMiwgICAgMjMsICAgIDI0LCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIDMwLCAgICAzMSwgICAgMzIsICAgIDMzLCAgICAzNCwgICAgMzUsICAgIDM2LAo+
ICsgICAgICAtMSwgICAgLTEsICAgIDM5LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICA0NiwKPiArICAgICAgLTEsICAgIC0xLCAgICA0OSwgICAgNTAsICAgIDUx
LCAgICA1MiwgICAgNTMsICAgIDU0LCAgICA1NSwgICAgNTYsCj4gKyAgICAgIDU3LCAgICAtMSwg
ICAgNTksICAgIDYwLCAgICA2MSwgICAgNjIsICAgIC0xLCAgICA2NCwgICAgNjUsICAgIDY2LAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgOTIsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDk2LAo+
ICsgICAgICAtMSwgICAgLTEsICAgIDk5LCAgIDEwMCwgICAgLTEsICAgMTAyLCAgIDEwMywgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgMTA4LCAgIDEwOSwgICAxMTAsICAgMTEx
LCAgIDExMiwgICAxMTMsICAgMTE0LCAgIDExNSwgICAxMTYsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgICAzLCAgICAgNCwgICAgIDUsICAgIC0xLAo+
ICsgICAgICAgNywgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMTEsICAgIDEyLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAxNiwKPiArICAgICAxMzcsICAgIDE4LCAgICAxOSwgICAgMjAsICAgIDIx
LCAgICAyMiwgICAgMjMsICAgIDI0LCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIDMwLCAgICAzMSwgICAgMzIsICAgIDMzLCAgICAzNCwgICAgMzUsICAgIDM2LAo+
ICsgICAgICAtMSwgICAgLTEsICAgIDM5LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICA0NiwKPiArICAgICAgLTEsICAgIC0xLCAgICA0OSwgICAgNTAsICAgIDUx
LCAgICA1MiwgICAgNTMsICAgIDU0LCAgICA1NSwgICAgNTYsCj4gKyAgICAgIDU3LCAgICAtMSwg
ICAgNTksICAgIDYwLCAgICA2MSwgICAgNjIsICAgIC0xLCAgICA2NCwgICAgNjUsICAgIDY2LAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDk2LAo+
ICsgICAgICAtMSwgICAgLTEsICAgIDk5LCAgIDEwMCwgICAgLTEsICAgMTAyLCAgIDEwMywgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgMTA4LCAgIDEwOSwgICAxMTAsICAgMTEx
LCAgIDExMiwgICAxMTMsICAgMTE0LCAgIDExNSwgICAxMTYsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgICAzLCAgICAgNCwgICAgIDUsICAgIC0xLAo+
ICsgICAgICAgNywgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMTEsICAgIDEyLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAxNiwKPiArICAgICAxMzcsICAgIDE4LCAgICAxOSwgICAgMjAsICAgIDIx
LCAgICAyMiwgICAgMjMsICAgIDI0LCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIDMwLCAgICAzMSwgICAgMzIsICAgIDMzLCAgICAzNCwgICAgMzUsICAgIDM2LAo+
ICsgICAgICAtMSwgICAgLTEsICAgIDM5LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICA0NiwKPiArICAgICAgLTEsICAgIC0xLCAgICA0OSwgICAgNTAsICAgIDUx
LCAgICA1MiwgICAgNTMsICAgIDU0LCAgICA1NSwgICAgNTYsCj4gKyAgICAgIDU3LCAgICAtMSwg
ICAgNTksICAgIDYwLCAgICA2MSwgICAgNjIsICAgIC0xLCAgICA2NCwgICAgNjUsICAgIDY2LAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDk2LAo+
ICsgICAgICAtMSwgICAgLTEsICAgIDk5LCAgIDEwMCwgICAgLTEsICAgMTAyLCAgIDEwMywgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgMTA4LCAgIDEwOSwgICAxMTAsICAgMTEx
LCAgIDExMiwgICAxMTMsICAgMTE0LCAgIDExNSwgICAxMTYsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgICAzLCAgICAgNCwgICAgIDUsICAgIC0xLAo+
ICsgICAgICAgNywgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMTEsICAgIDEyLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAxNiwKPiArICAgICAxMzcsICAgIDE4LCAgICAxOSwgICAgMjAsICAgIDIx
LCAgICAyMiwgICAgMjMsICAgIDI0LCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIDMwLCAgICAzMSwgICAgMzIsICAgIDMzLCAgICAzNCwgICAgMzUsICAgIDM2LAo+
ICsgICAgICAtMSwgICAgLTEsICAgIDM5LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICA0NiwKPiArICAgICAgLTEsICAgIC0xLCAgICA0OSwgICAgNTAsICAgIDUx
LCAgICA1MiwgICAgNTMsICAgIDU0LCAgICA1NSwgICAgNTYsCj4gKyAgICAgIDU3LCAgICAtMSwg
ICAgNTksICAgIDYwLCAgICA2MSwgICAgNjIsICAgIC0xLCAgICA2NCwgICAgNjUsICAgIDY2LAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDk2LAo+
ICsgICAgICAtMSwgICAgLTEsICAgIDk5LCAgIDEwMCwgICAgLTEsICAgMTAyLCAgIDEwMywgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgMTA4LCAgIDEwOSwgICAxMTAsICAgMTEx
LCAgIDExMiwgICAxMTMsICAgMTE0LCAgIDExNSwgICAxMTYsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgICAzLCAgICAgNCwgICAgIDUsICAgIC0xLAo+
ICsgICAgICAgNywgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMTEsICAgIDEyLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAxNiwKPiArICAgICAxMzcsICAgIDE4LCAgICAxOSwgICAgMjAsICAgIDIx
LCAgICAyMiwgICAgMjMsICAgIDI0LCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIDMwLCAgICAzMSwgICAgMzIsICAgIDMzLCAgICAzNCwgICAgMzUsICAgIDM2LAo+
ICsgICAgICAtMSwgICAgLTEsICAgIDM5LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICA0NiwKPiArICAgICAgLTEsICAgIC0xLCAgICA0OSwgICAgNTAsICAgIDUx
LCAgICA1MiwgICAgNTMsICAgIDU0LCAgICA1NSwgICAgNTYsCj4gKyAgICAgIDU3LCAgICAtMSwg
ICAgNTksICAgIDYwLCAgICA2MSwgICAgNjIsICAgIC0xLCAgICA2NCwgICAgNjUsICAgIDY2LAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICA1MiwgICAgNTMsICAgIDk2LAo+
ICsgICAgICAtMSwgICAgNTYsICAgIDk5LCAgIDEwMCwgICAgLTEsICAgMTAyLCAgIDEwMywgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgMTA4LCAgIDEwOSwgICAxMTAsICAgMTEx
LCAgIDExMiwgICAxMTMsICAgMTE0LCAgIDExNSwgICAxMTYsCj4gKyAgICAgIDc1LCAgICA3Niwg
ICAgNzcsICAgIDc4LCAgICA3OSwgICAgODAsICAgIDgxLCAgICA4MiwgICAgODMsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgODYsICAgIDg3LCAgICAtMSwgICAgLTEsICAgIDkwLCAgICA5MSwgICAg
OTIsICAgIDkzLCAgICAtMSwKPiArICAgICAxMzcsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgMTA1LCAgIDEwNiwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgIDEyNywgICAxMjgsICAgMTI5
LCAgIDEzMCwgICAxMzEsICAgMTMyLCAgIDEzMywgICAxMzQsCj4gKyAgICAgMTM1LCAgIDEzNiwg
ICAgLTEsICAgMTM4LCAgIDEzOSwgICAgNTIsICAgIDUzLCAgICAtMSwgICAgLTEsICAgIDU2LAo+
ICsgICAgIDE0NSwgICAxNDYsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICA3NSwgICAgNzYsCj4gKyAgICAgIDc3LCAgICA3OCwg
ICAgNzksICAgIDgwLCAgICA4MSwgICAgODIsICAgIDgzLCAgICAtMSwgICAgLTEsICAgIDg2LAo+
ICsgICAgICA4NywgICAgLTEsICAgIC0xLCAgICA5MCwgICAgOTEsICAgIDkyLCAgICA5MywgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgIDEwNSwgICAxMDYsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAxMjcsICAgMTI4LCAgIDEyOSwgICAxMzAsICAgMTMx
LCAgIDEzMiwgICAxMzMsICAgMTM0LCAgIDEzNSwgICAxMzYsCj4gKyAgICAgIC0xLCAgIDEzOCwg
ICAxMzksICAgIDUyLCAgICA1MywgICAgLTEsICAgIC0xLCAgICA1NiwgICAxNDUsICAgMTQ2LAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgNzUsICAgIDc2LCAgICA3NywgICAgNzgsCj4gKyAgICAgIDc5LCAgICA4MCwg
ICAgODEsICAgIDgyLCAgICA4MywgICAgLTEsICAgIC0xLCAgICA4NiwgICAgODcsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgOTAsICAgIDkxLCAgICA5MiwgICAgOTMsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAxMDUsICAgMTA2LCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgMTI3LCAgIDEyOCwKPiArICAgICAxMjksICAgMTMwLCAgIDEzMSwgICAxMzIsICAgMTMz
LCAgIDEzNCwgICAxMzUsICAgMTM2LCAgICAtMSwgICAxMzgsCj4gKyAgICAgMTM5LCAgICA1Miwg
ICAgNTMsICAgIC0xLCAgICAtMSwgICAgNTYsICAgMTQ1LCAgIDE0NiwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDc1
LCAgICA3NiwgICAgNzcsICAgIDc4LCAgICA3OSwgICAgODAsCj4gKyAgICAgIDgxLCAgICA4Miwg
ICAgODMsICAgIC0xLCAgICAtMSwgICAgODYsICAgIDg3LCAgICAtMSwgICAgLTEsICAgIDkwLAo+
ICsgICAgICA5MSwgICAgOTIsICAgIDkzLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgMTA1
LCAgIDEwNiwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgIDEyNywgICAx
MjgsICAgMTI5LCAgIDEzMCwKPiArICAgICAxMzEsICAgMTMyLCAgIDEzMywgICAxMzQsICAgMTM1
LCAgIDEzNiwgICAgLTEsICAgMTM4LCAgIDEzOSwgICAgNTIsCj4gKyAgICAgIDUzLCAgICAtMSwg
ICAgLTEsICAgIDU2LCAgIDE0NSwgICAxNDYsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICA3NSwgICAgNzYsICAgIDc3
LCAgICA3OCwgICAgNzksICAgIDgwLCAgICA4MSwgICAgODIsCj4gKyAgICAgIDgzLCAgICAtMSwg
ICAgLTEsICAgIDg2LCAgICA4NywgICAgLTEsICAgIC0xLCAgICA5MCwgICAgOTEsICAgIDkyLAo+
ICsgICAgICA5MywgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgIDEwNSwgICAxMDYsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAxMjcsICAgMTI4LCAgIDEyOSwgICAx
MzAsICAgMTMxLCAgIDEzMiwKPiArICAgICAxMzMsICAgMTM0LCAgIDEzNSwgICAxMzYsICAgIC0x
LCAgIDEzOCwgICAxMzksICAgIDUyLCAgICA1MywgICAgLTEsCj4gKyAgICAgIC0xLCAgICA1Niwg
ICAxNDUsICAgMTQ2LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgNzUsICAgIDc2LCAgICA3NywgICAgNzgsICAgIDc5
LCAgICA4MCwgICAgODEsICAgIDgyLCAgICA4MywgICAgLTEsCj4gKyAgICAgIC0xLCAgICA4Niwg
ICAgODcsICAgIC0xLCAgICAtMSwgICAgOTAsICAgIDkxLCAgICA5MiwgICAgOTMsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAxMDUsICAgMTA2LCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgMTI3LCAgIDEyOCwgICAxMjksICAgMTMwLCAgIDEzMSwgICAx
MzIsICAgMTMzLCAgIDEzNCwKPiArICAgICAxMzUsICAgMTM2LCAgICAtMSwgICAxMzgsICAgMTM5
LCAgICA1MiwgICAgNTMsICAgIC0xLCAgICAtMSwgICAgNTYsCj4gKyAgICAgMTQ1LCAgIDE0Niwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIDc1LCAgICA3NiwKPiArICAgICAgNzcsICAgIDc4LCAgICA3OSwgICAgODAsICAgIDgx
LCAgICA4MiwgICAgODMsICAgIC0xLCAgICAtMSwgICAgODYsCj4gKyAgICAgIDg3LCAgICAtMSwg
ICAgLTEsICAgIDkwLCAgICA5MSwgICAgOTIsICAgIDkzLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgMTA1LCAgIDEwNiwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgIDEyNywgICAxMjgsICAgMTI5LCAgIDEzMCwgICAxMzEsICAgMTMyLCAgIDEzMywgICAx
MzQsICAgMTM1LCAgIDEzNiwKPiArICAgICAgLTEsICAgMTM4LCAgIDEzOSwgICAgNTIsICAgIDUz
LCAgICAtMSwgICAgLTEsICAgIDU2LCAgIDE0NSwgICAxNDYsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICA3NSwgICAg
NzYsICAgIDc3LCAgICA3OCwKPiArICAgICAgNzksICAgIDgwLCAgICA4MSwgICAgODIsICAgIDgz
LCAgICAtMSwgICAgLTEsICAgIDg2LCAgICA4NywgICAgLTEsCj4gKyAgICAgIC0xLCAgICA5MCwg
ICAgOTEsICAgIDkyLCAgICA5MywgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgIDEwNSwgICAx
MDYsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAxMjcsICAgMTI4LAo+
ICsgICAgIDEyOSwgICAxMzAsICAgMTMxLCAgIDEzMiwgICAxMzMsICAgMTM0LCAgIDEzNSwgICAx
MzYsICAgIC0xLCAgIDEzOCwKPiArICAgICAxMzksICAgIDUyLCAgICA1MywgICAgLTEsICAgIC0x
LCAgICA1NiwgICAxNDUsICAgMTQ2LCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNzUsICAgIDc2LCAgICA3NywgICAg
NzgsICAgIDc5LCAgICA4MCwKPiArICAgICAgODEsICAgIDgyLCAgICA4MywgICAgLTEsICAgIC0x
LCAgICA4NiwgICAgODcsICAgIC0xLCAgICAtMSwgICAgOTAsCj4gKyAgICAgIDkxLCAgICA5Miwg
ICAgOTMsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAxMDUsICAgMTA2LCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgMTI3LCAgIDEyOCwgICAxMjksICAgMTMwLAo+
ICsgICAgIDEzMSwgICAxMzIsICAgMTMzLCAgIDEzNCwgICAxMzUsICAgMTM2LCAgICAtMSwgICAx
MzgsICAgMTM5LCAgICA1MiwKPiArICAgICAgNTMsICAgIC0xLCAgICAtMSwgICAgNTYsICAgMTQ1
LCAgIDE0NiwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIDc1LCAgICA3NiwgICAgNzcsICAgIDc4LCAgICA3OSwgICAg
ODAsICAgIDgxLCAgICA4MiwKPiArICAgICAgODMsICAgIC0xLCAgICAtMSwgICAgODYsICAgIDg3
LCAgICAtMSwgICAgLTEsICAgIDkwLCAgICA5MSwgICAgOTIsCj4gKyAgICAgIDkzLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgMTA1LCAgIDEwNiwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgIDEyNywgICAxMjgsICAgMTI5LCAgIDEzMCwgICAxMzEsICAgMTMyLAo+
ICsgICAgIDEzMywgICAxMzQsICAgMTM1LCAgIDEzNiwgICAgLTEsICAgMTM4LCAgIDEzOSwgICAg
NTIsICAgIDUzLCAgICAtMSwKPiArICAgICAgLTEsICAgIDU2LCAgIDE0NSwgICAxNDYsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICA3NSwgICAgNzYsICAgIDc3LCAgICA3OCwgICAgNzksICAgIDgwLCAgICA4MSwgICAg
ODIsICAgIDgzLCAgICAtMSwKPiArICAgICAgLTEsICAgIDg2LCAgICA4NywgICAgLTEsICAgIC0x
LCAgICA5MCwgICAgOTEsICAgIDkyLCAgICA5MywgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgIDEwNSwgICAxMDYsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAxMjcsICAgMTI4LCAgIDEyOSwgICAxMzAsICAgMTMxLCAgIDEzMiwgICAxMzMsICAgMTM0LAo+
ICsgICAgIDEzNSwgICAxMzYsICAgIC0xLCAgIDEzOCwgICAxMzksICAgIDUyLCAgICA1MywgICAg
LTEsICAgIC0xLCAgICA1NiwKPiArICAgICAxNDUsICAgMTQ2LCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNzUsICAgIDc2LAo+
ICsgICAgICA3NywgICAgNzgsICAgIDc5LCAgICA4MCwgICAgODEsICAgIDgyLCAgICA4MywgICAg
LTEsICAgIC0xLCAgICA4NiwKPiArICAgICAgODcsICAgIC0xLCAgICAtMSwgICAgOTAsICAgIDkx
LCAgICA5MiwgICAgOTMsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAxMDUsICAgMTA2LAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgMTI3LCAgIDEyOCwg
ICAxMjksICAgMTMwLCAgIDEzMSwgICAxMzIsICAgMTMzLCAgIDEzNCwgICAxMzUsICAgMTM2LAo+
ICsgICAgICAtMSwgICAxMzgsICAgMTM5LCAgICA1MiwgICAgNTMsICAgIC0xLCAgICAtMSwgICAg
NTYsICAgMTQ1LCAgIDE0NiwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDc1LCAgICA3NiwgICAgNzcsICAgIDc4LAo+
ICsgICAgICA3OSwgICAgODAsICAgIDgxLCAgICA4MiwgICAgODMsICAgIC0xLCAgICAtMSwgICAg
ODYsICAgIDg3LCAgICAtMSwKPiArICAgICAgLTEsICAgIDkwLCAgICA5MSwgICAgOTIsICAgIDkz
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgMTA1LCAgIDEwNiwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgIDEyNywgICAxMjgsCj4gKyAgICAgMTI5LCAgIDEzMCwg
ICAxMzEsICAgMTMyLCAgIDEzMywgICAxMzQsICAgMTM1LCAgIDEzNiwgICAgLTEsICAgMTM4LAo+
ICsgICAgIDEzOSwgICAgNTIsICAgIDUzLCAgICAtMSwgICAgLTEsICAgIDU2LCAgIDE0NSwgICAx
NDYsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgICA3NSwgICAgNzYsICAgIDc3LCAgICA3OCwgICAgNzksICAgIDgwLAo+
ICsgICAgICA4MSwgICAgODIsICAgIDgzLCAgICAtMSwgICAgLTEsICAgIDg2LCAgICA4NywgICAg
LTEsICAgIC0xLCAgICA5MCwKPiArICAgICAgOTEsICAgIDkyLCAgICA5MywgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgLTEsICAgIC0xLCAgIDEwNSwgICAxMDYsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAxMjcsICAgMTI4LCAgIDEyOSwgICAxMzAsCj4gKyAgICAgMTMxLCAgIDEzMiwg
ICAxMzMsICAgMTM0LCAgIDEzNSwgICAxMzYsICAgIC0xLCAgIDEzOCwgICAxMzksICAgIDUyLAo+
ICsgICAgICA1MywgICAgLTEsICAgIC0xLCAgICA1NiwgICAxNDUsICAgMTQ2LCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAgNzUsICAgIDc2LCAgICA3NywgICAgNzgsICAgIDc5LCAgICA4MCwgICAgODEsICAgIDgyLAo+
ICsgICAgICA4MywgICAgLTEsICAgIC0xLCAgICA4NiwgICAgODcsICAgIC0xLCAgICAtMSwgICAg
OTAsICAgIDkxLCAgICA5MiwKPiArICAgICAgOTMsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIC0xLCAgICAtMSwg
ICAxMDUsICAgMTA2LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgMTI3
LCAgIDEyOCwgICAxMjksICAgMTMwLCAgIDEzMSwgICAxMzIsCj4gKyAgICAgMTMzLCAgIDEzNCwg
ICAxMzUsICAgMTM2LCAgICAtMSwgICAxMzgsICAgMTM5LCAgICA1MiwgICAgNTMsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgNTYsICAgMTQ1LCAgIDE0NiwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgIDc1LCAgICA3Niwg
ICAgNzcsICAgIDc4LCAgICA3OSwgICAgODAsICAgIDgxLCAgICA4MiwgICAgODMsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgODYsICAgIDg3LCAgICAtMSwgICAgLTEsICAgIDkwLCAgICA5MSwgICAg
OTIsICAgIDkzLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0x
LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsCj4gKyAgICAgMTA1LCAgIDEwNiwg
ICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAg
LTEsICAgIC0xLCAgICAtMSwKPiArICAgICAgLTEsICAgIC0xLCAgIDEyNywgICAxMjgsICAgMTI5
LCAgIDEzMCwgICAxMzEsICAgMTMyLCAgIDEzMywgICAxMzQsCj4gKyAgICAgMTM1LCAgIDEzNiwg
ICAgLTEsICAgMTM4LCAgIDEzOSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAo+
ICsgICAgIDE0NQo+ICt9Owo+ICsKPiArICAvKiBZWVNUT1NbU1RBVEUtTlVNXSAtLSBUaGUgKGlu
dGVybmFsIG51bWJlciBvZiB0aGUpIGFjY2Vzc2luZwo+ICsgICAgIHN5bWJvbCBvZiBzdGF0ZSBT
VEFURS1OVU0uICAqLwo+ICtzdGF0aWMgY29uc3QgeXl0eXBlX3VpbnQxNiB5eXN0b3NbXSA9Cj4g
K3sKPiArICAgICAgIDAsICAgMTUzLCAgIDE1NCwgICAgIDAsICAgICAxLCAgICAgMywgICAgIDQs
ICAgICA1LCAgICAgNiwgICAgIDcsCj4gKyAgICAgIDExLCAgICAxMiwgICAgMTYsICAgIDE4LCAg
ICAxOSwgICAgMjAsICAgIDIxLCAgICAyMiwgICAgMjMsICAgIDI0LAo+ICsgICAgICAzMCwgICAg
MzEsICAgIDMyLCAgICAzMywgICAgMzQsICAgIDM1LCAgICAzNiwgICAgMzksICAgIDQ1LCAgICA0
NiwKPiArICAgICAgNDcsICAgIDQ4LCAgICA0OSwgICAgNTAsICAgIDUxLCAgICA1MiwgICAgNTMs
ICAgIDU0LCAgICA1NSwgICAgNTYsCj4gKyAgICAgIDU3LCAgICA1OSwgICAgNjAsICAgIDYxLCAg
ICA2MiwgICAgNjQsICAgIDY1LCAgICA2NiwgICAgNzUsICAgIDc2LAo+ICsgICAgICA5NiwgICAg
OTksICAgMTAwLCAgIDEwMiwgICAxMDMsICAgMTA1LCAgIDEwOCwgICAxMDksICAgMTEwLCAgIDEx
MSwKPiArICAgICAxMTIsICAgMTEzLCAgIDExNCwgICAxMTUsICAgMTE2LCAgIDEzNywgICAxMzgs
ICAgMTM5LCAgIDE1NSwgICAxNTYsCj4gKyAgICAgMTU3LCAgIDE2NSwgICAxNjcsICAgMTY5LCAg
IDE3NCwgICAxNzUsICAgMTc3LCAgIDE3OCwgICAxNzksICAgMTgxLAo+ICsgICAgIDE4MiwgICAx
ODMsICAgMTg1LCAgIDE4NiwgICAxOTYsICAgMTk5LCAgIDIxNCwgICAyMjcsICAgMjI4LCAgIDIy
OSwKPiArICAgICAyMzAsICAgMjMxLCAgIDIzMiwgICAyMzMsICAgMjM0LCAgIDIzNSwgICAyMzYs
ICAgMjM3LCAgIDI0NiwgICAyNzAsCj4gKyAgICAgMjcxLCAgIDI4NCwgICAyODUsICAgMjg2LCAg
IDI4NywgICAyODgsICAgMjg5LCAgIDI5MCwgICAyOTMsICAgMjk1LAo+ICsgICAgIDI5NiwgICAz
MTAsICAgMzEyLCAgIDMxMywgICAzMTQsICAgMzE1LCAgIDMxNiwgICAzMTcsICAgMzE4LCAgIDMx
OSwKPiArICAgICAzNTMsICAgMzY2LCAgIDE1NywgICAgIDMsICAgICA0LCAgICAgNSwgICAgIDYs
ICAgICA3LCAgICAgOCwgICAgIDksCj4gKyAgICAgIDEwLCAgICAxMSwgICAgMTIsICAgIDEzLCAg
ICAxNCwgICAgMTUsICAgIDE2LCAgICAxNywgICAgMTgsICAgIDE5LAo+ICsgICAgICAyMCwgICAg
MjEsICAgIDIyLCAgICAyMywgICAgMjQsICAgIDI1LCAgICAyNiwgICAgMzAsICAgIDMxLCAgICAz
MiwKPiArICAgICAgMzMsICAgIDM0LCAgICAzNSwgICAgMzYsICAgIDM3LCAgICAzOCwgICAgMzks
ICAgIDQ1LCAgICA0NiwgICAgNDcsCj4gKyAgICAgIDQ4LCAgICA0OSwgICAgNTAsICAgIDUxLCAg
ICA1MiwgICAgNTMsICAgIDU2LCAgICA3NSwgICAgNzYsICAgIDc3LAo+ICsgICAgICA3OCwgICAg
NzksICAgIDgwLCAgICA4MSwgICAgODIsICAgIDgzLCAgICA4NiwgICAgODcsICAgIDkwLCAgICA5
MSwKPiArICAgICAgOTIsICAgIDkzLCAgIDEwNSwgICAxMDYsICAgMTI3LCAgIDEyOCwgICAxMjks
ICAgMTMwLCAgIDEzMSwgICAxMzIsCj4gKyAgICAgMTMzLCAgIDEzNCwgICAxMzUsICAgMTM2LCAg
IDEzOCwgICAxMzksICAgMTQ1LCAgIDE4OSwgICAxOTAsICAgMTkxLAo+ICsgICAgIDE5MiwgICAx
OTQsICAgMTk1LCAgIDMxMCwgICAzMTIsICAgIDM5LCAgICA1OCwgICAgOTYsICAgIDk5LCAgIDEw
NSwKPiArICAgICAxMDYsICAgMTA3LCAgIDExMCwgICAxMzgsICAgMTc4LCAgIDE4NiwgICAxOTYs
ICAgMjAwLCAgIDIwNiwgICAyMDksCj4gKyAgICAgMjExLCAgIDIyNywgICAzMTUsICAgMzE2LCAg
IDMxOCwgICAzMTksICAgMzUxLCAgIDM1MiwgICAyMDYsICAgMTQ2LAo+ICsgICAgIDIwNywgICAy
MDgsICAgMTQ2LCAgIDIwMywgICAyMDcsICAgMTQ2LCAgIDE1MSwgICAzNjAsICAgIDU0LCAgIDE5
MSwKPiArICAgICAzNjAsICAgMTQxLCAgIDE1OCwgICAxNDEsICAgIDIxLCAgICAyMiwgICAgMzEs
ICAgIDMyLCAgIDE3NywgICAxOTYsCj4gKyAgICAgMjI3LCAgIDI0NiwgICAxOTYsICAgIDU2LCAg
ICAgMSwgICAgNDcsICAgIDk5LCAgIDE2MSwgICAxNjIsICAgMTYzLAo+ICsgICAgIDE2NSwgICAx
ODAsICAgMTgxLCAgIDM2NiwgICAxNjUsICAgMjE2LCAgIDIwMSwgICAyMTEsICAgMzUxLCAgIDM2
NiwKPiArICAgICAyMDAsICAgMzUwLCAgIDM1MSwgICAzNjYsICAgIDQ2LCAgICA5NiwgICAxMzcs
ICAgMTQ0LCAgIDE4NSwgICAyMTQsCj4gKyAgICAgMjI3LCAgIDMxNSwgICAzMTYsICAgMzE5LCAg
IDIxOSwgICAgNTQsICAgIDU1LCAgICA1NywgICAxODksICAgMjk5LAo+ICsgICAgIDMxMSwgICAy
OTksICAgMzAwLCAgIDMwMSwgICAxNTAsICAgMTUwLCAgIDE1MCwgICAxNTAsICAgMzE0LCAgIDE3
NCwKPiArICAgICAxOTYsICAgMTk2LCAgIDE0OSwgICAxNTEsICAgMzU5LCAgIDM2NCwgICAzNjUs
ICAgIDQwLCAgICA0MSwgICAgNDIsCj4gKyAgICAgIDQzLCAgICA0NCwgICAgMzcsICAgIDM4LCAg
ICAyNiwgICAxNDEsICAgMjAzLCAgIDIwNywgICAyMzgsICAgMjcyLAo+ICsgICAgICAyOCwgICAy
MzksICAgMjY5LCAgIDEyNCwgICAxNDQsICAgIDk5LCAgIDEwNSwgICAxODIsICAgMTI0LCAgICA3
NywKPiArICAgICAgNzgsICAgIDc5LCAgICA4MCwgICAgODEsICAgIDgyLCAgICA4MywgICAgODQs
ICAgIDg1LCAgICA4NiwgICAgODcsCj4gKyAgICAgIDg4LCAgICA4OSwgICAgOTIsICAgIDkzLCAg
IDEyNSwgICAxMjcsICAgMTI4LCAgIDEyOSwgICAxMzAsICAgMTMxLAo+ICsgICAgIDEzMiwgICAx
MzMsICAgMTM0LCAgIDEzNSwgICAxMzYsICAgMTk4LCAgIDE5OCwgICAgNjgsICAgIDk0LCAgICA5
NSwKPiArICAgICAxNDMsICAgMzU3LCAgIDIxNSwgICAxNjksICAgMTcwLCAgIDE3MCwgICAxNzEs
ICAgMTcyLCAgIDE3MSwgICAxNzAsCj4gKyAgICAgMzU5LCAgIDM2NSwgICAgOTYsICAgMTc5LCAg
IDE4NiwgICAyMjcsICAgMjUxLCAgIDMxNSwgICAzMTYsICAgMzE5LAo+ICsgICAgICA1MiwgICAg
NTYsICAgIDkyLCAgICA5NiwgICAxODcsICAgMTg4LCAgIDIyNywgICAzMTUsICAgMzE2LCAgIDMx
OSwKPiArICAgICAxODgsICAgIDMzLCAgICAzNCwgICAgMzUsICAgIDM2LCAgICA0OSwgICAgNTAs
ICAgIDUxLCAgICA1MiwgICAgNTYsCj4gKyAgICAgMTQ2LCAgIDE4OSwgICAzMTcsICAgMzQ4LCAg
IDIwNiwgICAgOTUsICAgMzU3LCAgIDM1OCwgICAyNzIsICAgMjg3LAo+ICsgICAgICA5NywgICAg
OTcsICAgMTQ0LCAgIDIwMCwgICAgNTYsICAgMjAwLCAgIDIwMCwgICAyMDAsICAgMjk5LCAgIDEy
NCwKPiArICAgICAgOTgsICAgMTQ0LCAgIDIxMCwgICAzNjYsICAgIDk1LCAgIDE0MywgICAzNTcs
ICAgIDk3LCAgICA5NywgICAxNDQsCj4gKyAgICAgMjEwLCAgIDIwNiwgICAzNjAsICAgMzYxLCAg
IDIwNiwgICAyMDUsICAgMjA2LCAgIDIxMSwgICAzNTEsICAgMzY2LAo+ICsgICAgIDE2OSwgICAz
NjEsICAgMTY5LCAgICA1NCwgICAgNjUsICAgIDY2LCAgIDE2NiwgICAxNDYsICAgMTk3LCAgIDE1
NSwKPiArICAgICAxNjEsICAgIDk1LCAgIDM1NywgICAgOTcsICAgMTY1LCAgIDE2NCwgICAxODAs
ICAgMTQ3LCAgIDM1OSwgICAzNjUsCj4gKyAgICAgMzYxLCAgIDIxNywgICAzNjEsICAgMTQ4LCAg
IDE0NCwgICAxNTEsICAgMzYzLCAgIDE0NCwgICAzNjMsICAgMTQyLAo+ICsgICAgIDM2MywgICAz
NjAsICAgIDU2LCAgIDMxNCwgICAxODIsICAgMTg0LCAgIDE0NCwgICAgOTUsICAgMTQzLCAgIDM1
NywKPiArICAgICAyNjMsICAgMjY0LCAgICA2MywgICAxMTcsICAgMTE5LCAgIDEyMCwgICAzMDIs
ICAgMTIwLCAgIDEyMCwgICAzMDIsCj4gKyAgICAgIDY3LCAgIDMwMiwgICAyOTEsICAgMjk3LCAg
IDI5NCwgICAyOTgsICAgIDc3LCAgIDE0OSwgICAxNTcsICAgMTcwLAo+ICsgICAgIDE3MCwgICAx
NzAsICAgMTcwLCAgIDE2NSwgICAxNjksICAgMTY5LCAgIDI3MywgICAyNzQsICAgMTA0LCAgIDE3
NiwKPiArICAgICAyNzUsICAgMjc2LCAgIDI3NSwgICAxMDUsICAgMTc0LCAgIDIwMCwgICAyMTEs
ICAgMjEyLCAgIDIxMywgICAxODAsCj4gKyAgICAgMTQ0LCAgIDE4NSwgICAxNDQsICAgMTY3LCAg
IDE2OCwgICAxNzQsICAgMTg2LCAgIDE5NiwgICAyMDAsICAgMjAyLAo+ICsgICAgIDIxMywgICAy
MjcsICAgMzE5LCAgIDE5NiwgICAxOTYsICAgMTk2LCAgIDE5NiwgICAxOTYsICAgMTk2LCAgIDE5
NiwKPiArICAgICAxOTYsICAgMTk2LCAgIDE5NiwgICAxOTYsICAgMTk2LCAgIDE5NiwgICAxOTYs
ICAgMTk2LCAgIDE5NiwgICAxOTYsCj4gKyAgICAgMTk2LCAgIDE5NiwgICAxOTYsICAgMTk2LCAg
IDE5NiwgICAxOTYsICAgMTk2LCAgICA1MiwgICAgNTMsICAgIDU2LAo+ICsgICAgIDE5NCwgICAy
MDMsICAgMzU0LCAgIDM1NSwgICAyMDUsICAgIDUyLCAgICA1MywgICAgNTYsICAgMTk0LCAgIDIw
MywKPiArICAgICAzNTQsICAgMTU5LCAgIDE2MSwgICAgMTMsICAgMjQ3LCAgIDM2NCwgICAyNDcs
ICAgMTYxLCAgIDE3MCwgICAxNjEsCj4gKyAgICAgMzU5LCAgICAxNywgICAyNDIsICAgMjc4LCAg
ICA1NiwgICAgOTUsICAgMTQzLCAgIDM1NywgICAgMjUsICAgMTY5LAo+ICsgICAgICA1MiwgICAg
NTYsICAgMTg3LCAgIDEyOCwgICAzMjAsICAgIDk1LCAgIDE0MywgICAzNTcsICAgMjIyLCAgIDM0
OSwKPiArICAgICAyMjMsICAgIDY4LCAgICA5NSwgICAzNTYsICAgIDUyLCAgICA1NiwgICAzNTQs
ICAgMTY4LCAgIDE5NiwgICAyMDIsCj4gKyAgICAgMTY4LCAgIDIwMiwgICAxOTMsICAgMTIyLCAg
IDIwMCwgICAxMDUsICAgMjAwLCAgIDIwOSwgICAzNTEsICAgIDUyLAo+ICsgICAgICA1NiwgICAy
MDUsICAgIDUyLCAgICA1NiwgICAzNTIsICAgMzYxLCAgIDE0NywgICAzNjEsICAgMTQ0LCAgIDE0
NCwKPiArICAgICAzNjEsICAgMTkxLCAgIDIxOCwgICAxOTYsICAgMTQyLCAgIDE0MiwgICAzNTQs
ICAgMzU0LCAgIDIwMiwgICAxNTgsCj4gKyAgICAgMzYxLCAgIDE2MywgICAzNjEsICAgMzUxLCAg
IDE0NCwgICAxODQsICAgIDUyLCAgICA1NiwgICAyMDUsICAgIDUyLAo+ICsgICAgICA1NiwgICAy
NjUsICAgMzA0LCAgIDMwMywgICAxMjAsICAgMjkyLCAgIDMwMiwgICAgNjMsICAgMTIwLCAgIDEy
MCwKPiArICAgICAyOTIsICAgIDYzLCAgIDEyMCwgICAxOTYsICAgMTQyLCAgICA4NSwgICAxMjks
ICAgMjU4LCAgIDI1OSwgICAzNjYsCj4gKyAgICAgMjczLCAgICAxMCwgICAyNDUsICAgMjc3LCAg
IDI0NSwgICAyMDAsICAgMTQ0LCAgIDM2MSwgICAxODQsICAgMTQ0LAo+ICsgICAgICA0NCwgICAx
MjQsICAgIDQ0LCAgICA5NSwgICAxNDMsICAgMzU3LCAgIDM2MCwgICAgOTcsICAgIDk3LCAgIDIw
MywKPiArICAgICAyMDcsICAgMzYwLCAgIDM2MiwgICAgOTcsICAgIDk3LCAgIDIwMywgICAyMDQs
ICAgMjA3LCAgIDM2NiwgICAyNDUsCj4gKyAgICAgICA4LCAgIDI0MCwgICAyODAsICAgMzY2LCAg
IDE2MSwgICAgMTMsICAgMTYxLCAgIDI0NSwgICAgMjcsICAgMjQ4LAo+ICsgICAgIDM2NCwgICAy
NDUsICAgMjc4LCAgIDIxMSwgICAyNDUsICAgIDUyLCAgICA1NiwgICAyMDUsICAgIDUyLCAgICA1
NiwKPiArICAgICAxNzEsICAgMjIxLCAgIDMyMSwgICAyMjAsICAgIDUyLCAgICA1NiwgICAxODcs
ICAgMjA1LCAgIDE1OSwgICAxNjksCj4gKyAgICAgMjI0LCAgIDIyNSwgICAyMDQsICAgMjA3LCAg
IDE5MSwgICAyMDAsICAgMjAwLCAgIDIxMCwgICAgOTcsICAgIDk3LAo+ICsgICAgIDM2MiwgICAg
OTcsICAgIDk3LCAgIDM1MSwgICAxNjksICAgMzYzLCAgIDE4MiwgICAzNjIsICAgIDUyLCAgICA1
NCwKPiArICAgICAgNTUsICAgIDU2LCAgICA1NywgICAgNTgsICAgIDc3LCAgICA5OSwgICAxMDUs
ICAgMTA2LCAgIDEwNywgICAxMzEsCj4gKyAgICAgMTM0LCAgIDE0NiwgICAyNjcsICAgMzI0LCAg
IDMyNiwgICAzMjcsICAgMzI4LCAgIDMyOSwgICAzMzAsICAgMzMxLAo+ICsgICAgIDMzMiwgICAz
MzMsICAgMzM2LCAgIDMzNywgICAzMzgsICAgMzM5LCAgIDM0MiwgICAzNDMsICAgMzQ0LCAgIDM0
NSwKPiArICAgICAzNDYsICAgMzA1LCAgICA1NCwgICAgNTUsICAgIDU3LCAgIDMwOSwgICAzMTks
ICAgMTUwLCAgIDMwMiwgICAxNTAsCj4gKyAgICAgMTUwLCAgIDE1MCwgICAyNTUsICAgMjU3LCAg
IDI2MCwgICAzMjksICAgMzMxLCAgIDMzMiwgICAzMzQsICAgMzM1LAo+ICsgICAgIDMzOCwgICAz
NDAsICAgMzQxLCAgIDM0NCwgICAzNDYsICAgMzYwLCAgIDE2MSwgICAxNDIsICAgMjU4LCAgIDEw
NSwKPiArICAgICAyMDAsICAgMTg0LCAgIDE2NSwgICAxOTYsICAgIDUyLCAgICA1NiwgICAyMDUs
ICAgIDUyLCAgICA1NiwgICAxMjYsCj4gKyAgICAgMTY4LCAgIDIwMiwgICAxNjgsICAgMjAyLCAg
IDE3NiwgICAxNDgsICAgIDk3LCAgIDE2OCwgICAyMDIsICAgMTY4LAo+ICsgICAgIDIwMiwgICAx
NzYsICAgMjAwLCAgIDIxMywgICAyODEsICAgMzY2LCAgICAgOSwgICAgMTUsICAgMjQxLCAgIDI0
MywKPiArICAgICAyODMsICAgMzY2LCAgICAxNCwgICAyNDMsICAgMjQ0LCAgIDI0OSwgICAyNTAs
ICAgMzY2LCAgIDI1MCwgICAxNzMsCj4gKyAgICAgMjQ1LCAgIDE0NCwgICAyNDcsICAgMzYyLCAg
IDE2MSwgICAzNjQsICAgMTcwLCAgIDE1OSwgICAzNjIsICAgMjQ1LAo+ICsgICAgIDM2MSwgICAx
NDYsICAgMzIyLCAgIDMyMywgICAxODksICAgMjcyLCAgIDI2OSwgICAgOTcsICAgMTQ0LCAgIDM2
MSwKPiArICAgICAgOTksICAgMTA1LCAgIDI1MiwgICAyNTMsICAgMjU0LCAgIDMyOCwgICAzMjYs
ICAgMjY2LCAgIDEyNCwgICAxNDQsCj4gKyAgICAgMzI1LCAgIDIwMCwgICAxNDQsICAgMzQ3LCAg
IDM2NiwgICAgNTIsICAgMTQ0LCAgIDM0NywgICAxNDQsICAgMzI1LAo+ICsgICAgICA1MiwgICAx
NDQsICAgMzI1LCAgICA1MiwgICAzMDYsICAgMjYwLCAgIDEyOSwgICAxMjQsICAgMTQ0LCAgIDI1
NiwKPiArICAgICAgOTYsICAgMjI3LCAgIDE0NCwgICAzNDcsICAgMzQ3LCAgIDE0NCwgICAyNTYs
ICAgMTQ0LCAgIDI1NiwgICAxNDksCj4gKyAgICAgMTU5LCAgIDIwMCwgICAzNjIsICAgMTk2LCAg
IDE2OCwgICAyMDIsICAgIDk4LCAgIDI4MiwgICAzNjYsICAgMTYxLAo+ICsgICAgIDE2MCwgICAx
NjEsICAgMTcwLCAgIDI0NSwgICAyNDUsICAgMjAwLCAgIDE2MSwgICAyNDUsICAgMTU5LCAgIDM2
NCwKPiArICAgICAyNDUsICAgMzI2LCAgIDE1OSwgICAzMjYsICAgMjI2LCAgIDI1NCwgICAxNDQs
ICAgMzI4LCAgIDE0NCwgICAzNjEsCj4gKyAgICAgMjYwLCAgICAyOSwgICAxMjEsICAgMjY4LCAg
IDIwMCwgICAzMjQsICAgMzMwLCAgIDM0MiwgICAzNDQsICAgMzMzLAo+ICsgICAgIDMzOCwgICAz
NDYsICAgMzMxLCAgIDMzOSwgICAzNDQsICAgMzI5LCAgIDMzMSwgICAzMDcsICAgMTI5LCAgIDIy
NywKPiArICAgICAyNTUsICAgMzQxLCAgIDM0NCwgICAgNTYsICAgIDk1LCAgIDMzNCwgICAzMzgs
ICAgMzMxLCAgIDM0MCwgICAzNDQsCj4gKyAgICAgMzMxLCAgICA1MiwgICAyNjEsICAgMjYyLCAg
IDMyNywgICAgOTYsICAgMTg2LCAgIDIyNywgICAzMTUsICAgMzE2LAo+ICsgICAgIDMxOSwgICAy
NDcsICAgMTYxLCAgIDI0NywgICAyNTAsICAgMjc4LCAgIDI3OSwgICAyNDUsICAgMzYxLCAgIDI0
NSwKPiArICAgICAzNjQsICAgMzIyLCAgIDM2MSwgICAyNTMsICAgMTQ0LCAgIDEwNSwgICAyNTIs
ICAgMTQ3LCAgIDE1OSwgICAxNjEsCj4gKyAgICAgMTQ0LCAgIDMyNSwgICAxNDQsICAgMzI1LCAg
IDM0NywgICAxNDQsICAgMzI1LCAgIDE0NCwgICAzMjUsICAgMzI1LAo+ICsgICAgIDMwOCwgICAx
NDQsICAgMjU2LCAgIDE0NCwgICAyNTYsICAgIDUyLCAgICA1NiwgICAzNDcsICAgMTQ0LCAgIDI1
NiwKPiArICAgICAxNDQsICAgMjU2LCAgIDI1NiwgICAxNDQsICAgMzYwLCAgICA1NiwgICAgOTUs
ICAgMTQzLCAgIDM1NywgICAxNjEsCj4gKyAgICAgMjgzLCAgIDE2MSwgICAxNTksICAgMTQ0LCAg
IDI1MywgICAxNDQsICAgMzI4LCAgIDI0NSwgICAxNDIsICAgMzMxLAo+ICsgICAgIDM0NCwgICAz
MzEsICAgMzMxLCAgIDE2MSwgICAzMzEsICAgMzQ0LCAgIDMzMSwgICAzMzEsICAgMjYyLCAgICA1
MiwKPiArICAgICAgNTYsICAgMjA1LCAgICA1MiwgICAgNTYsICAgMjgwLCAgIDI0OSwgICAyNDUs
ICAgMjUzLCAgIDE0NCwgICAzMjUsCj4gKyAgICAgMTQ0LCAgIDMyNSwgICAzMjUsICAgMzI1LCAg
IDExOCwgICAyNTYsICAgMTQ0LCAgIDI1NiwgICAyNTYsICAgMjU2LAo+ICsgICAgIDM2MiwgICAy
NTMsICAgMzMxLCAgIDMzMSwgICAzMjUsICAgMjU2Cj4gK307Cj4gKwo+ICsgIC8qIFlZUjFbWVlO
XSAtLSBTeW1ib2wgbnVtYmVyIG9mIHN5bWJvbCB0aGF0IHJ1bGUgWVlOIGRlcml2ZXMuICAqLwo+
ICtzdGF0aWMgY29uc3QgeXl0eXBlX3VpbnQxNiB5eXIxW10gPQo+ICt7Cj4gKyAgICAgICAwLCAg
IDE1MiwgICAxNTQsICAgMTUzLCAgIDE1NSwgICAxNTYsICAgMTU2LCAgIDE1NiwgICAxNTYsICAg
MTU3LAo+ICsgICAgIDE1NywgICAxNTgsICAgMTYwLCAgIDE1OSwgICAxNTksICAgMTYxLCAgIDE2
MiwgICAxNjIsICAgMTYyLCAgIDE2MiwKPiArICAgICAxNjMsICAgMTY0LCAgIDE2MywgICAxNjYs
ICAgMTY1LCAgIDE2NSwgICAxNjUsICAgMTY1LCAgIDE2NSwgICAxNjUsCj4gKyAgICAgMTY1LCAg
IDE2NSwgICAxNjUsICAgMTY1LCAgIDE2NSwgICAxNjUsICAgMTY1LCAgIDE2NSwgICAxNjUsICAg
MTY1LAo+ICsgICAgIDE2NywgICAxNjcsICAgMTY3LCAgIDE2NywgICAxNjcsICAgMTY3LCAgIDE2
NywgICAxNjcsICAgMTY4LCAgIDE2OCwKPiArICAgICAxNjgsICAgMTY5LCAgIDE2OSwgICAxNjks
ICAgMTY5LCAgIDE2OSwgICAxNjksICAgMTcwLCAgIDE3MiwgICAxNzMsCj4gKyAgICAgMTcxLCAg
IDE3NCwgICAxNzQsICAgMTc1LCAgIDE3NSwgICAxNzYsICAgMTc3LCAgIDE3OCwgICAxNzgsICAg
MTc4LAo+ICsgICAgIDE3OCwgICAxNzgsICAgMTc4LCAgIDE3OCwgICAxNzgsICAgMTc4LCAgIDE3
OCwgICAxNzgsICAgMTc5LCAgIDE3OSwKPiArICAgICAxODAsICAgMTgwLCAgIDE4MSwgICAxODEs
ICAgMTgxLCAgIDE4MSwgICAxODEsICAgMTgxLCAgIDE4MSwgICAxODEsCj4gKyAgICAgMTgxLCAg
IDE4MSwgICAxODIsICAgMTgyLCAgIDE4MywgICAxODMsICAgMTg0LCAgIDE4NCwgICAxODUsICAg
MTg1LAo+ICsgICAgIDE4NSwgICAxODUsICAgMTg1LCAgIDE4NSwgICAxODUsICAgMTg1LCAgIDE4
NSwgICAxODYsICAgMTg2LCAgIDE4NiwKPiArICAgICAxODYsICAgMTg2LCAgIDE4NiwgICAxODYs
ICAgMTg2LCAgIDE4NiwgICAxODcsICAgMTg3LCAgIDE4OCwgICAxODgsCj4gKyAgICAgMTg4LCAg
IDE4OSwgICAxODksICAgMTg5LCAgIDE4OSwgICAxODksICAgMTkwLCAgIDE5MCwgICAxOTEsICAg
MTkxLAo+ICsgICAgIDE5MiwgICAxOTMsICAgMTkyLCAgIDE5NCwgICAxOTQsICAgMTk0LCAgIDE5
NCwgICAxOTQsICAgMTk0LCAgIDE5NCwKPiArICAgICAxOTQsICAgMTk0LCAgIDE5NCwgICAxOTQs
ICAgMTk0LCAgIDE5NCwgICAxOTQsICAgMTk0LCAgIDE5NCwgICAxOTQsCj4gKyAgICAgMTk0LCAg
IDE5NCwgICAxOTQsICAgMTk0LCAgIDE5NCwgICAxOTQsICAgMTk0LCAgIDE5NCwgICAxOTQsICAg
MTk0LAo+ICsgICAgIDE5NCwgICAxOTQsICAgMTk0LCAgIDE5NSwgICAxOTUsICAgMTk1LCAgIDE5
NSwgICAxOTUsICAgMTk1LCAgIDE5NSwKPiArICAgICAxOTUsICAgMTk1LCAgIDE5NSwgICAxOTUs
ICAgMTk1LCAgIDE5NSwgICAxOTUsICAgMTk1LCAgIDE5NSwgICAxOTUsCj4gKyAgICAgMTk1LCAg
IDE5NSwgICAxOTUsICAgMTk1LCAgIDE5NSwgICAxOTUsICAgMTk1LCAgIDE5NSwgICAxOTUsICAg
MTk1LAo+ICsgICAgIDE5NSwgICAxOTUsICAgMTk1LCAgIDE5NSwgICAxOTUsICAgMTk1LCAgIDE5
NSwgICAxOTUsICAgMTk1LCAgIDE5NSwKPiArICAgICAxOTUsICAgMTk1LCAgIDE5NSwgICAxOTUs
ICAgMTk2LCAgIDE5NiwgICAxOTYsICAgMTk2LCAgIDE5NiwgICAxOTYsCj4gKyAgICAgMTk2LCAg
IDE5NiwgICAxOTYsICAgMTk2LCAgIDE5NiwgICAxOTYsICAgMTk2LCAgIDE5NiwgICAxOTYsICAg
MTk2LAo+ICsgICAgIDE5NiwgICAxOTYsICAgMTk2LCAgIDE5NiwgICAxOTYsICAgMTk2LCAgIDE5
NiwgICAxOTYsICAgMTk2LCAgIDE5NiwKPiArICAgICAxOTYsICAgMTk2LCAgIDE5NiwgICAxOTYs
ICAgMTk2LCAgIDE5NiwgICAxOTYsICAgMTk2LCAgIDE5NiwgICAxOTYsCj4gKyAgICAgMTk2LCAg
IDE5NiwgICAxOTcsICAgMTk2LCAgIDE5NiwgICAxOTYsICAgMTk4LCAgIDE5OCwgICAxOTgsICAg
MTk4LAo+ICsgICAgIDE5OSwgICAxOTksICAgMjAwLCAgIDIwMSwgICAyMDEsICAgMjAxLCAgIDIw
MSwgICAyMDIsICAgMjAyLCAgIDIwMywKPiArICAgICAyMDQsICAgMjA0LCAgIDIwNSwgICAyMDUs
ICAgMjA1LCAgIDIwNSwgICAyMDUsICAgMjA2LCAgIDIwNiwgICAyMDYsCj4gKyAgICAgMjA2LCAg
IDIwNiwgICAyMDgsICAgMjA3LCAgIDIwOSwgICAyMTAsICAgMjEwLCAgIDIxMSwgICAyMTEsICAg
MjExLAo+ICsgICAgIDIxMSwgICAyMTIsICAgMjEyLCAgIDIxMywgICAyMTMsICAgMjEzLCAgIDIx
NCwgICAyMTQsICAgMjE0LCAgIDIxNCwKPiArICAgICAyMTQsICAgMjE0LCAgIDIxNCwgICAyMTQs
ICAgMjE0LCAgIDIxNCwgICAyMTQsICAgMjE1LCAgIDIxNCwgICAyMTYsCj4gKyAgICAgMjE0LCAg
IDIxNywgICAyMTQsICAgMjE0LCAgIDIxNCwgICAyMTQsICAgMjE0LCAgIDIxNCwgICAyMTQsICAg
MjE0LAo+ICsgICAgIDIxNCwgICAyMTQsICAgMjE4LCAgIDIxNCwgICAyMTQsICAgMjE0LCAgIDIx
NCwgICAyMTQsICAgMjE0LCAgIDIxOSwKPiArICAgICAyMTQsICAgMjE0LCAgIDIxNCwgICAyMTQs
ICAgMjE0LCAgIDIxNCwgICAyMTQsICAgMjE0LCAgIDIyMCwgICAyMTQsCj4gKyAgICAgMjIxLCAg
IDIxNCwgICAyMjIsICAgMjE0LCAgIDIyMywgICAyMjQsICAgMjE0LCAgIDIyNSwgICAyMjYsICAg
MjE0LAo+ICsgICAgIDIxNCwgICAyMTQsICAgMjE0LCAgIDIxNCwgICAyMjcsICAgMjI4LCAgIDIy
OSwgICAyMzAsICAgMjMxLCAgIDIzMiwKPiArICAgICAyMzMsICAgMjM0LCAgIDIzNSwgICAyMzYs
ICAgMjM3LCAgIDIzOCwgICAyMzksICAgMjQwLCAgIDI0MSwgICAyNDIsCj4gKyAgICAgMjQzLCAg
IDI0NCwgICAyNDUsICAgMjQ2LCAgIDI0NywgICAyNDcsICAgMjQ3LCAgIDI0OCwgICAyNDgsICAg
MjQ5LAo+ICsgICAgIDI0OSwgICAyNTAsICAgMjUwLCAgIDI1MSwgICAyNTEsICAgMjUyLCAgIDI1
MiwgICAyNTMsICAgMjUzLCAgIDI1NCwKPiArICAgICAyNTQsICAgMjU0LCAgIDI1NCwgICAyNTQs
ICAgMjU0LCAgIDI1NCwgICAyNTQsICAgMjU0LCAgIDI1NSwgICAyNTUsCj4gKyAgICAgMjU1LCAg
IDI1NSwgICAyNTYsICAgMjU2LCAgIDI1NywgICAyNTcsICAgMjU3LCAgIDI1NywgICAyNTcsICAg
MjU3LAo+ICsgICAgIDI1NywgICAyNTcsICAgMjU3LCAgIDI1NywgICAyNTcsICAgMjU3LCAgIDI1
NywgICAyNTcsICAgMjU3LCAgIDI1OCwKPiArICAgICAyNTgsICAgMjU5LCAgIDI1OSwgICAyNTks
ICAgMjYwLCAgIDI2MCwgICAyNjEsICAgMjYxLCAgIDI2MiwgICAyNjIsCj4gKyAgICAgMjY0LCAg
IDI2NSwgICAyNjYsICAgMjYzLCAgIDI2NywgICAyNjcsICAgMjY4LCAgIDI2OCwgICAyNjksICAg
MjcwLAo+ICsgICAgIDI3MCwgICAyNzAsICAgMjcwLCAgIDI3MSwgICAyNzEsICAgMjcxLCAgIDI3
MSwgICAyNzEsICAgMjcxLCAgIDI3MSwKPiArICAgICAyNzEsICAgMjcxLCAgIDI3MiwgICAyNzIs
ICAgMjc0LCAgIDI3MywgICAyNzYsICAgMjc3LCAgIDI3NSwgICAyNzgsCj4gKyAgICAgMjc5LCAg
IDI3OSwgICAyODAsICAgMjgwLCAgIDI4MSwgICAyODEsICAgMjgxLCAgIDI4MiwgICAyODIsICAg
MjgzLAo+ICsgICAgIDI4MywgICAyODQsICAgMjg0LCAgIDI4NCwgICAyODUsICAgMjg2LCAgIDI4
NiwgICAyODYsICAgMjg3LCAgIDI4OCwKPiArICAgICAyODksICAgMjkwLCAgIDI5MSwgICAyOTEs
ICAgMjkyLCAgIDI5MiwgICAyOTMsICAgMjk0LCAgIDI5NCwgICAyOTUsCj4gKyAgICAgMjk2LCAg
IDI5NywgICAyOTcsICAgMjk4LCAgIDI5OCwgICAyOTksICAgMjk5LCAgIDMwMCwgICAzMDAsICAg
MzAxLAo+ICsgICAgIDMwMSwgICAzMDIsICAgMzAzLCAgIDMwMiwgICAzMDQsICAgMzA1LCAgIDMw
NiwgICAzMDcsICAgMzA4LCAgIDMwMiwKPiArICAgICAzMDksICAgMzA5LCAgIDMwOSwgICAzMDks
ICAgMzEwLCAgIDMxMSwgICAzMTEsICAgMzExLCAgIDMxMSwgICAzMTIsCj4gKyAgICAgMzEzLCAg
IDMxMywgICAzMTQsICAgMzE0LCAgIDMxNCwgICAzMTQsICAgMzE1LCAgIDMxNSwgICAzMTUsICAg
MzE1LAo+ICsgICAgIDMxNSwgICAzMTYsICAgMzE2LCAgIDMxNiwgICAzMTYsICAgMzE2LCAgIDMx
NiwgICAzMTYsICAgMzE3LCAgIDMxNywKPiArICAgICAzMTgsICAgMzE4LCAgIDMxOSwgICAzMTks
ICAgMzIxLCAgIDMyMCwgICAzMjAsICAgMzIyLCAgIDMyMywgICAzMjIsCj4gKyAgICAgMzI0LCAg
IDMyNCwgICAzMjQsICAgMzI0LCAgIDMyNSwgICAzMjUsICAgMzI2LCAgIDMyNiwgICAzMjYsICAg
MzI2LAo+ICsgICAgIDMyNiwgICAzMjYsICAgMzI2LCAgIDMyNiwgICAzMjYsICAgMzI2LCAgIDMy
NiwgICAzMjYsICAgMzI2LCAgIDMyNiwKPiArICAgICAzMjYsICAgMzI3LCAgIDMyNywgICAzMjcs
ICAgMzI3LCAgIDMyOCwgICAzMjgsICAgMzI5LCAgIDMzMCwgICAzMzAsCj4gKyAgICAgMzMxLCAg
IDMzMSwgICAzMzIsICAgMzMzLCAgIDMzMywgICAzMzQsICAgMzM0LCAgIDMzNSwgICAzMzUsICAg
MzM2LAo+ICsgICAgIDMzNiwgICAzMzcsICAgMzM3LCAgIDMzOCwgICAzMzgsICAgMzM5LCAgIDM0
MCwgICAzNDEsICAgMzQxLCAgIDM0MiwKPiArICAgICAzNDIsICAgMzQzLCAgIDM0MywgICAzNDQs
ICAgMzQ0LCAgIDM0NSwgICAzNDUsICAgMzQ2LCAgIDM0NywgICAzNDcsCj4gKyAgICAgMzQ4LCAg
IDM0OSwgICAzNDgsICAgMzUwLCAgIDM1MCwgICAzNTEsICAgMzUxLCAgIDM1MiwgICAzNTIsICAg
MzUyLAo+ICsgICAgIDM1MiwgICAzNTMsICAgMzUzLCAgIDM1MywgICAzNTQsICAgMzU0LCAgIDM1
NCwgICAzNTQsICAgMzU1LCAgIDM1NSwKPiArICAgICAzNTUsICAgMzU2LCAgIDM1NiwgICAzNTcs
ICAgMzU3LCAgIDM1OCwgICAzNTgsICAgMzU5LCAgIDM1OSwgICAzNjAsCj4gKyAgICAgMzYwLCAg
IDM2MSwgICAzNjIsICAgMzYzLCAgIDM2MywgICAzNjMsICAgMzY0LCAgIDM2NCwgICAzNjUsICAg
MzY1LAo+ICsgICAgIDM2Ngo+ICt9Owo+ICsKPiArICAvKiBZWVIyW1lZTl0gLS0gTnVtYmVyIG9m
IHN5bWJvbHMgb24gdGhlIHJpZ2h0IGhhbmQgc2lkZSBvZiBydWxlIFlZTi4gICovCj4gK3N0YXRp
YyBjb25zdCB5eXR5cGVfdWludDggeXlyMltdID0KPiArewo+ICsgICAgICAgMCwgICAgIDIsICAg
ICAwLCAgICAgMiwgICAgIDIsICAgICAxLCAgICAgMSwgICAgIDMsICAgICAyLCAgICAgMSwKPiAr
ICAgICAgIDIsICAgICAzLCAgICAgMCwgICAgIDYsICAgICAzLCAgICAgMiwgICAgIDEsICAgICAx
LCAgICAgMywgICAgIDIsCj4gKyAgICAgICAxLCAgICAgMCwgICAgIDMsICAgICAwLCAgICAgNCwg
ICAgIDMsICAgICAzLCAgICAgMywgICAgIDIsICAgICAzLAo+ICsgICAgICAgMywgICAgIDMsICAg
ICAzLCAgICAgMywgICAgIDQsICAgICAxLCAgICAgMywgICAgIDMsICAgICAzLCAgICAgMSwKPiAr
ICAgICAgIDMsICAgICAzLCAgICAgNiwgICAgIDUsICAgICA1LCAgICAgNSwgICAgIDUsICAgICAz
LCAgICAgMSwgICAgIDMsCj4gKyAgICAgICAxLCAgICAgMSwgICAgIDMsICAgICAzLCAgICAgMywg
ICAgIDIsICAgICAxLCAgICAgMSwgICAgIDAsICAgICAwLAo+ICsgICAgICAgNCwgICAgIDEsICAg
ICAxLCAgICAgMSwgICAgIDQsICAgICAzLCAgICAgMSwgICAgIDIsICAgICAzLCAgICAgNCwKPiAr
ICAgICAgIDUsICAgICA0LCAgICAgNSwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAy
LCAgICAgMSwgICAgIDMsCj4gKyAgICAgICAxLCAgICAgMywgICAgIDEsICAgICAyLCAgICAgMywg
ICAgIDUsICAgICAyLCAgICAgNCwgICAgIDIsICAgICA0LAo+ICsgICAgICAgMSwgICAgIDMsICAg
ICAxLCAgICAgMywgICAgIDIsICAgICAzLCAgICAgMSwgICAgIDMsICAgICAxLCAgICAgMSwKPiAr
ICAgICAgIDQsICAgICAzLCAgICAgMywgICAgIDMsICAgICAzLCAgICAgMiwgICAgIDEsICAgICAx
LCAgICAgMSwgICAgIDQsCj4gKyAgICAgICAzLCAgICAgMywgICAgIDMsICAgICAzLCAgICAgMiwg
ICAgIDEsICAgICAxLCAgICAgMSwgICAgIDIsICAgICAxLAo+ICsgICAgICAgMywgICAgIDEsICAg
ICAxLCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMSwKPiAr
ICAgICAgIDEsICAgICAwLCAgICAgNCwgICAgIDEsICAgICAxLCAgICAgMSwgICAgIDEsICAgICAx
LCAgICAgMSwgICAgIDEsCj4gKyAgICAgICAxLCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMSwg
ICAgIDEsICAgICAxLCAgICAgMSwgICAgIDEsICAgICAxLAo+ICsgICAgICAgMSwgICAgIDEsICAg
ICAxLCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMSwKPiAr
ICAgICAgIDEsICAgICAxLCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMSwgICAgIDEsICAgICAx
LCAgICAgMSwgICAgIDEsCj4gKyAgICAgICAxLCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMSwg
ICAgIDEsICAgICAxLCAgICAgMSwgICAgIDEsICAgICAxLAo+ICsgICAgICAgMSwgICAgIDEsICAg
ICAxLCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMSwKPiAr
ICAgICAgIDEsICAgICAxLCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMSwgICAgIDEsICAgICAx
LCAgICAgMSwgICAgIDEsCj4gKyAgICAgICAxLCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMywg
ICAgIDMsICAgICA2LCAgICAgNSwgICAgIDUsICAgICA1LAo+ICsgICAgICAgNSwgICAgIDQsICAg
ICAzLCAgICAgMywgICAgIDMsICAgICAyLCAgICAgMiwgICAgIDMsICAgICAzLCAgICAgMywKPiAr
ICAgICAgIDMsICAgICAzLCAgICAgMywgICAgIDQsICAgICAyLCAgICAgMiwgICAgIDMsICAgICAz
LCAgICAgMywgICAgIDMsCj4gKyAgICAgICAxLCAgICAgMywgICAgIDMsICAgICAzLCAgICAgMywg
ICAgIDMsICAgICAyLCAgICAgMiwgICAgIDMsICAgICAzLAo+ICsgICAgICAgMywgICAgIDMsICAg
ICAwLCAgICAgNCwgICAgIDYsICAgICAxLCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMSwKPiAr
ICAgICAgIDMsICAgICAzLCAgICAgMSwgICAgIDEsICAgICAyLCAgICAgNCwgICAgIDIsICAgICAx
LCAgICAgMywgICAgIDMsCj4gKyAgICAgICAxLCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMiwg
ICAgIDQsICAgICAyLCAgICAgMSwgICAgIDIsICAgICAyLAo+ICsgICAgICAgNCwgICAgIDEsICAg
ICAwLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMSwgICAgIDEsICAgICAyLCAgICAgMywKPiAr
ICAgICAgIDQsICAgICAxLCAgICAgMSwgICAgIDMsICAgICA0LCAgICAgMiwgICAgIDEsICAgICAx
LCAgICAgMSwgICAgIDEsCj4gKyAgICAgICAxLCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMSwg
ICAgIDEsICAgICAxLCAgICAgMCwgICAgIDQsICAgICAwLAo+ICsgICAgICAgMywgICAgIDAsICAg
ICA0LCAgICAgMywgICAgIDMsICAgICAyLCAgICAgMywgICAgIDMsICAgICAxLCAgICAgNCwKPiAr
ICAgICAgIDMsICAgICAxLCAgICAgMCwgICAgIDYsICAgICA0LCAgICAgMywgICAgIDIsICAgICAx
LCAgICAgMiwgICAgIDAsCj4gKyAgICAgICAzLCAgICAgNiwgICAgIDYsICAgICA0LCAgICAgNCwg
ICAgIDUsICAgICA0LCAgICAgNiwgICAgIDAsICAgICA2LAo+ICsgICAgICAgMCwgICAgIDcsICAg
ICAwLCAgICAgNSwgICAgIDAsICAgICAwLCAgICAgNywgICAgIDAsICAgICAwLCAgICAgOSwKPiAr
ICAgICAgIDEsICAgICAxLCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMSwgICAgIDEsICAgICAx
LCAgICAgMSwgICAgIDEsCj4gKyAgICAgICAxLCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMSwg
ICAgIDEsICAgICAxLCAgICAgMSwgICAgIDEsICAgICAxLAo+ICsgICAgICAgMSwgICAgIDEsICAg
ICAxLCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMiwgICAgIDEsICAgICAxLCAgICAgMSwKPiAr
ICAgICAgIDUsICAgICAxLCAgICAgMiwgICAgIDEsICAgICAxLCAgICAgMSwgICAgIDMsICAgICAx
LCAgICAgMywgICAgIDEsCj4gKyAgICAgICA0LCAgICAgNiwgICAgIDMsICAgICA1LCAgICAgMiwg
ICAgIDQsICAgICAxLCAgICAgMywgICAgIDQsICAgICAyLAo+ICsgICAgICAgMiwgICAgIDEsICAg
ICAyLCAgICAgMCwgICAgIDYsICAgICA4LCAgICAgNCwgICAgIDYsICAgICA0LCAgICAgMiwKPiAr
ICAgICAgIDYsICAgICAyLCAgICAgNCwgICAgIDYsICAgICAyLCAgICAgNCwgICAgIDIsICAgICA0
LCAgICAgMSwgICAgIDEsCj4gKyAgICAgICAxLCAgICAgMywgICAgIDEsICAgICA0LCAgICAgMSwg
ICAgIDQsICAgICAxLCAgICAgMywgICAgIDEsICAgICAxLAo+ICsgICAgICAgMCwgICAgIDAsICAg
ICAwLCAgICAgNSwgICAgIDQsICAgICAxLCAgICAgMywgICAgIDMsICAgICAzLCAgICAgMiwKPiAr
ICAgICAgIDQsICAgICA1LCAgICAgNSwgICAgIDIsICAgICA0LCAgICAgNCwgICAgIDMsICAgICAz
LCAgICAgMywgICAgIDIsCj4gKyAgICAgICAxLCAgICAgNCwgICAgIDMsICAgICAzLCAgICAgMCwg
ICAgIDMsICAgICAwLCAgICAgMCwgICAgIDQsICAgICA1LAo+ICsgICAgICAgMSwgICAgIDEsICAg
ICA2LCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMSwgICAgIDIsICAgICAxLCAgICAgMiwKPiAr
ICAgICAgIDEsICAgICAxLCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMSwgICAgIDEsICAgICAy
LCAgICAgMywgICAgIDMsCj4gKyAgICAgICAzLCAgICAgNCwgICAgIDAsICAgICAzLCAgICAgMSwg
ICAgIDIsICAgICA0LCAgICAgMCwgICAgIDMsICAgICA0LAo+ICsgICAgICAgNCwgICAgIDAsICAg
ICAzLCAgICAgMCwgICAgIDMsICAgICAwLCAgICAgMiwgICAgIDAsICAgICAyLCAgICAgMCwKPiAr
ICAgICAgIDIsICAgICAxLCAgICAgMCwgICAgIDMsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAw
LCAgICAgMCwgICAgIDgsCj4gKyAgICAgICAxLCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMiwg
ICAgIDEsICAgICAxLCAgICAgMSwgICAgIDEsICAgICAzLAo+ICsgICAgICAgMSwgICAgIDIsICAg
ICAxLCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMSwKPiAr
ICAgICAgIDEsICAgICAxLCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMSwgICAgIDEsICAgICAx
LCAgICAgMSwgICAgIDEsCj4gKyAgICAgICAxLCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMCwg
ICAgIDQsICAgICAwLCAgICAgMywgICAgIDAsICAgICAzLAo+ICsgICAgICAgNCwgICAgIDIsICAg
ICAyLCAgICAgMSwgICAgIDIsICAgICAwLCAgICAgNiwgICAgIDgsICAgICA0LCAgICAgNiwKPiAr
ICAgICAgIDQsICAgICA2LCAgICAgMiwgICAgIDQsICAgICA2LCAgICAgMiwgICAgIDQsICAgICAy
LCAgICAgNCwgICAgIDEsCj4gKyAgICAgICAwLCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMSwg
ICAgIDEsICAgICAxLCAgICAgMSwgICAgIDEsICAgICAzLAo+ICsgICAgICAgMSwgICAgIDMsICAg
ICAxLCAgICAgMiwgICAgIDEsICAgICAyLCAgICAgMSwgICAgIDEsICAgICAzLCAgICAgMSwKPiAr
ICAgICAgIDMsICAgICAxLCAgICAgMSwgICAgIDIsICAgICAxLCAgICAgMywgICAgIDMsICAgICAx
LCAgICAgMywgICAgIDEsCj4gKyAgICAgICAzLCAgICAgMSwgICAgIDEsICAgICAyLCAgICAgMSwg
ICAgIDEsICAgICAxLCAgICAgMiwgICAgIDIsICAgICAxLAo+ICsgICAgICAgMSwgICAgIDAsICAg
ICA0LCAgICAgMSwgICAgIDIsICAgICAxLCAgICAgMywgICAgIDMsICAgICAyLCAgICAgNCwKPiAr
ICAgICAgIDIsICAgICAxLCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMSwgICAgIDEsICAgICAx
LCAgICAgMSwgICAgIDEsCj4gKyAgICAgICAxLCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMSwg
ICAgIDEsICAgICAxLCAgICAgMCwgICAgIDEsICAgICAwLAo+ICsgICAgICAgMSwgICAgIDIsICAg
ICAyLCAgICAgMCwgICAgIDEsICAgICAxLCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMiwKPiAr
ICAgICAgIDAKPiArfTsKPiArCj4gKwo+ICsjZGVmaW5lIHl5ZXJyb2sgICAgICAgICAoeXllcnJz
dGF0dXMgPSAwKQo+ICsjZGVmaW5lIHl5Y2xlYXJpbiAgICAgICAoeXljaGFyID0gWVlFTVBUWSkK
PiArI2RlZmluZSBZWUVNUFRZICAgICAgICAgKC0yKQo+ICsjZGVmaW5lIFlZRU9GICAgICAgICAg
ICAwCj4gKwo+ICsjZGVmaW5lIFlZQUNDRVBUICAgICAgICBnb3RvIHl5YWNjZXB0bGFiCj4gKyNk
ZWZpbmUgWVlBQk9SVCAgICAgICAgIGdvdG8geXlhYm9ydGxhYgo+ICsjZGVmaW5lIFlZRVJST1Ig
ICAgICAgICBnb3RvIHl5ZXJyb3JsYWIKPiArCj4gKwo+ICsjZGVmaW5lIFlZUkVDT1ZFUklORygp
ICAoISF5eWVycnN0YXR1cykKPiArCj4gKyNkZWZpbmUgWVlCQUNLVVAoVG9rZW4sIFZhbHVlKSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiArICBkbyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+ICsgICAg
aWYgKHl5Y2hhciA9PSBZWUVNUFRZKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCj4gKyAgICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKPiArICAgICAgICB5eWNoYXIgPSAoVG9rZW4pOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+ICsgICAgICAgIHl5bHZhbCA9IChW
YWx1ZSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gKyAgICAg
ICAgWVlQT1BTVEFDSyAoeXlsZW4pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKPiArICAgICAgICB5eXN0YXRlID0gKnl5c3NwOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAo+ICsgICAgICAgIGdvdG8geXliYWNrdXA7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gKyAgICAgIH0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiArICAgIGVs
c2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAo+ICsgICAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCj4gKyAgICAgICAgeXllcnJvciAoJnl5bGxvYywgcCwgWVlfKCJz
eW50YXggZXJyb3I6IGNhbm5vdCBiYWNrIHVwIikpOyBcCj4gKyAgICAgICAgWVlFUlJPUjsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiArICAgICAg
fSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAo+ICsgIHdoaWxlICgwKQo+ICsKPiArLyogRXJyb3IgdG9rZW4gbnVtYmVyICovCj4gKyNk
ZWZpbmUgWVlURVJST1IgICAgICAgIDEKPiArI2RlZmluZSBZWUVSUkNPREUgICAgICAgMjU2Cj4g
Kwo+ICsKPiArLyogWVlMTE9DX0RFRkFVTFQgLS0gU2V0IENVUlJFTlQgdG8gc3BhbiBmcm9tIFJI
U1sxXSB0byBSSFNbTl0uCj4gKyAgIElmIE4gaXMgMCwgdGhlbiBzZXQgQ1VSUkVOVCB0byB0aGUg
ZW1wdHkgbG9jYXRpb24gd2hpY2ggZW5kcwo+ICsgICB0aGUgcHJldmlvdXMgc3ltYm9sOiBSSFNb
MF0gKGFsd2F5cyBkZWZpbmVkKS4gICovCj4gKwo+ICsjaWZuZGVmIFlZTExPQ19ERUZBVUxUCj4g
KyMgZGVmaW5lIFlZTExPQ19ERUZBVUxUKEN1cnJlbnQsIFJocywgTikgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKPiArICAgIGRvICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+ICsgICAgICBpZiAoTikgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Cj4gKyAgICAgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKPiArICAgICAgICAgIChDdXJyZW50KS5maXJzdF9saW5lICAg
PSBZWVJIU0xPQyAoUmhzLCAxKS5maXJzdF9saW5lOyAgICAgICAgXAo+ICsgICAgICAgICAgKEN1
cnJlbnQpLmZpcnN0X2NvbHVtbiA9IFlZUkhTTE9DIChSaHMsIDEpLmZpcnN0X2NvbHVtbjsgICAg
ICBcCj4gKyAgICAgICAgICAoQ3VycmVudCkubGFzdF9saW5lICAgID0gWVlSSFNMT0MgKFJocywg
TikubGFzdF9saW5lOyAgICAgICAgIFwKPiArICAgICAgICAgIChDdXJyZW50KS5sYXN0X2NvbHVt
biAgPSBZWVJIU0xPQyAoUmhzLCBOKS5sYXN0X2NvbHVtbjsgICAgICAgXAo+ICsgICAgICAgIH0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCj4gKyAgICAgIGVsc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiArICAgICAgICB7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+ICsgICAgICAg
ICAgKEN1cnJlbnQpLmZpcnN0X2xpbmUgICA9IChDdXJyZW50KS5sYXN0X2xpbmUgICA9ICAgICAg
ICAgICAgICBcCj4gKyAgICAgICAgICAgIFlZUkhTTE9DIChSaHMsIDApLmxhc3RfbGluZTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiArICAgICAgICAgIChDdXJyZW50KS5maXJz
dF9jb2x1bW4gPSAoQ3VycmVudCkubGFzdF9jb2x1bW4gPSAgICAgICAgICAgICAgXAo+ICsgICAg
ICAgICAgICBZWVJIU0xPQyAoUmhzLCAwKS5sYXN0X2NvbHVtbjsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCj4gKyAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiArICAgIHdoaWxlICgwKQo+ICsjZW5k
aWYKPiArCj4gKyNkZWZpbmUgWVlSSFNMT0MoUmhzLCBLKSAoKFJocylbS10pCj4gKwo+ICsKPiAr
LyogRW5hYmxlIGRlYnVnZ2luZyBpZiByZXF1ZXN0ZWQuICAqLwo+ICsjaWYgWVlERUJVRwo+ICsK
PiArIyBpZm5kZWYgWVlGUFJJTlRGCj4gKyMgIGluY2x1ZGUgPHN0ZGlvLmg+IC8qIElORlJJTkdF
UyBPTiBVU0VSIE5BTUUgU1BBQ0UgKi8KPiArIyAgZGVmaW5lIFlZRlBSSU5URiBmcHJpbnRmCj4g
KyMgZW5kaWYKPiArCj4gKyMgZGVmaW5lIFlZRFBSSU5URihBcmdzKSAgICAgICAgICAgICAgICAg
ICAgICAgIFwKPiArZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAo+ICsgIGlmICh5eWRlYnVnKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
Cj4gKyAgICBZWUZQUklOVEYgQXJnczsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiAr
fSB3aGlsZSAoMCkKPiArCj4gKwo+ICsvKiBZWV9MT0NBVElPTl9QUklOVCAtLSBQcmludCB0aGUg
bG9jYXRpb24gb24gdGhlIHN0cmVhbS4KPiArICAgVGhpcyBtYWNybyB3YXMgbm90IG1hbmRhdGVk
IG9yaWdpbmFsbHk6IGRlZmluZSBvbmx5IGlmIHdlIGtub3cKPiArICAgd2Ugd29uJ3QgYnJlYWsg
dXNlciBjb2RlOiB3aGVuIHRoZXNlIGFyZSB0aGUgbG9jYXRpb25zIHdlIGtub3cuICAqLwo+ICsK
PiArI2lmbmRlZiBZWV9MT0NBVElPTl9QUklOVAo+ICsjIGlmIGRlZmluZWQgWVlMVFlQRV9JU19U
UklWSUFMICYmIFlZTFRZUEVfSVNfVFJJVklBTAo+ICsKPiArLyogUHJpbnQgKllZTE9DUCBvbiBZ
WU8uICBQcml2YXRlLCBkbyBub3QgcmVseSBvbiBpdHMgZXhpc3RlbmNlLiAqLwo+ICsKPiArWVlf
QVRUUklCVVRFX1VOVVNFRAo+ICtzdGF0aWMgaW50Cj4gK3l5X2xvY2F0aW9uX3ByaW50XyAoRklM
RSAqeXlvLCBZWUxUWVBFIGNvbnN0ICogY29uc3QgeXlsb2NwKQo+ICt7Cj4gKyAgaW50IHJlcyA9
IDA7Cj4gKyAgaW50IGVuZF9jb2wgPSAwICE9IHl5bG9jcC0+bGFzdF9jb2x1bW4gPyB5eWxvY3At
Pmxhc3RfY29sdW1uIC0gMSA6IDA7Cj4gKyAgaWYgKDAgPD0geXlsb2NwLT5maXJzdF9saW5lKQo+
ICsgICAgewo+ICsgICAgICByZXMgKz0gWVlGUFJJTlRGIChwLCAiJWQiLCB5eWxvY3AtPmZpcnN0
X2xpbmUpOwo+ICsgICAgICBpZiAoMCA8PSB5eWxvY3AtPmZpcnN0X2NvbHVtbikKPiArICAgICAg
ICByZXMgKz0gWVlGUFJJTlRGIChwLCAiLiVkIiwgeXlsb2NwLT5maXJzdF9jb2x1bW4pOwo+ICsg
ICAgfQo+ICsgIGlmICgwIDw9IHl5bG9jcC0+bGFzdF9saW5lKQo+ICsgICAgewo+ICsgICAgICBp
ZiAoeXlsb2NwLT5maXJzdF9saW5lIDwgeXlsb2NwLT5sYXN0X2xpbmUpCj4gKyAgICAgICAgewo+
ICsgICAgICAgICAgcmVzICs9IFlZRlBSSU5URiAocCwgIi0lZCIsIHl5bG9jcC0+bGFzdF9saW5l
KTsKPiArICAgICAgICAgIGlmICgwIDw9IGVuZF9jb2wpCj4gKyAgICAgICAgICAgIHJlcyArPSBZ
WUZQUklOVEYgKHAsICIuJWQiLCBlbmRfY29sKTsKPiArICAgICAgICB9Cj4gKyAgICAgIGVsc2Ug
aWYgKDAgPD0gZW5kX2NvbCAmJiB5eWxvY3AtPmZpcnN0X2NvbHVtbiA8IGVuZF9jb2wpCj4gKyAg
ICAgICAgcmVzICs9IFlZRlBSSU5URiAocCwgIi0lZCIsIGVuZF9jb2wpOwo+ICsgICAgfQo+ICsg
IHJldHVybiByZXM7Cj4gKyB9Cj4gKwo+ICsjICBkZWZpbmUgWVlfTE9DQVRJT05fUFJJTlQoRmls
ZSwgTG9jKSAgICAgICAgICBcCj4gKyAgeXlfbG9jYXRpb25fcHJpbnRfIChGaWxlLCAmKExvYykp
Cj4gKwo+ICsjIGVsc2UKPiArIyAgZGVmaW5lIFlZX0xPQ0FUSU9OX1BSSU5UKEZpbGUsIExvYykg
KCh2b2lkKSAwKQo+ICsjIGVuZGlmCj4gKyNlbmRpZgo+ICsKPiArCj4gKyMgZGVmaW5lIFlZX1NZ
TUJPTF9QUklOVChUaXRsZSwgVHlwZSwgVmFsdWUsIExvY2F0aW9uKSAgICAgICAgICAgICAgICAg
ICAgXAo+ICtkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiArICBpZiAoeXlkZWJ1ZykgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gKyAgICB7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAo+ICsgICAgICBZWUZQUklOVEYgKHAsICIlcyAiLCBUaXRsZSk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gKyAgICAgIHl5X3N5bWJvbF9wcmludCAo
c3RkZXJyLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+ICsg
ICAgICAgICAgICAgICAgICBUeXBlLCBWYWx1ZSwgTG9jYXRpb24sIHApOyBcCj4gKyAgICAgIFlZ
RlBSSU5URiAocCwgIlxuIik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKPiArICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gK30gd2hpbGUgKDApCj4gKwo+ICsKPiArLyot
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS4KPiArfCBQcmludCB0aGlzIHN5bWJv
bCdzIHZhbHVlIG9uIFlZTy4gIHwKPiArYC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tKi8KPiArCj4gK3N0YXRpYyB2b2lkCj4gK3l5X3N5bWJvbF92YWx1ZV9wcmludCAoRklMRSAq
eXlvLCBpbnQgeXl0eXBlLCBZWVNUWVBFIGNvbnN0ICogY29uc3QgeXl2YWx1ZXAsIFlZTFRZUEUg
Y29uc3QgKiBjb25zdCB5eWxvY2F0aW9ucCwgc3RydWN0IHBhcnNlcl9wYXJhbXMgKnApCj4gK3sK
PiArICBGSUxFICp5eW91dHB1dCA9IHl5bzsKPiArICBZWVVTRSAoeXlvdXRwdXQpOwo+ICsgIFlZ
VVNFICh5eWxvY2F0aW9ucCk7Cj4gKyAgWVlVU0UgKHApOwo+ICsgIGlmICgheXl2YWx1ZXApCj4g
KyAgICByZXR1cm47Cj4gKyMgaWZkZWYgWVlQUklOVAo+ICsgIGlmICh5eXR5cGUgPCBZWU5UT0tF
TlMpCj4gKyAgICBZWVBSSU5UICh5eW8sIHl5dG9rbnVtW3l5dHlwZV0sICp5eXZhbHVlcCk7Cj4g
KyMgZW5kaWYKPiArICBZWVVTRSAoeXl0eXBlKTsKPiArfQo+ICsKPiArCj4gKy8qLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLgo+ICt8IFByaW50IHRoaXMgc3ltYm9sIG9uIFlZTy4gIHwKPiAr
YC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCj4gKwo+ICtzdGF0aWMgdm9pZAo+ICt5eV9z
eW1ib2xfcHJpbnQgKEZJTEUgKnl5bywgaW50IHl5dHlwZSwgWVlTVFlQRSBjb25zdCAqIGNvbnN0
IHl5dmFsdWVwLCBZWUxUWVBFIGNvbnN0ICogY29uc3QgeXlsb2NhdGlvbnAsIHN0cnVjdCBwYXJz
ZXJfcGFyYW1zICpwKQo+ICt7Cj4gKyAgWVlGUFJJTlRGIChwLCAiJXMgJXMgKCIsCj4gKyAgICAg
ICAgICAgICB5eXR5cGUgPCBZWU5UT0tFTlMgPyAidG9rZW4iIDogIm50ZXJtIiwgeXl0bmFtZVt5
eXR5cGVdKTsKPiArCj4gKyAgWVlfTE9DQVRJT05fUFJJTlQgKHl5bywgKnl5bG9jYXRpb25wKTsK
PiArICBZWUZQUklOVEYgKHAsICI6ICIpOwo+ICsgIHl5X3N5bWJvbF92YWx1ZV9wcmludCAoeXlv
LCB5eXR5cGUsIHl5dmFsdWVwLCB5eWxvY2F0aW9ucCwgcCk7Cj4gKyAgWVlGUFJJTlRGIChwLCAi
KSIpOwo+ICt9Cj4gKwo+ICsvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS4KPiArfCB5eV9zdGFja19wcmludCAtLSBQcmlu
dCB0aGUgc3RhdGUgc3RhY2sgZnJvbSBpdHMgQk9UVE9NIHVwIHRvIGl0cyB8Cj4gK3wgVE9QIChp
bmNsdWRlZCkuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfAo+ICtgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tKi8KPiArCj4gK3N0YXRpYyB2b2lkCj4gK3J1YnlfcGFyc2VyX3l5
X3N0YWNrX3ByaW50ICh5eXR5cGVfaW50MTYgKnl5Ym90dG9tLCB5eXR5cGVfaW50MTYgKnl5dG9w
LCBzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCkKPiArI2RlZmluZSB5eV9zdGFja19wcmludChiLCB0
KSBydWJ5X3BhcnNlcl95eV9zdGFja19wcmludChiLCB0LCBwKQo+ICt7Cj4gKyAgWVlGUFJJTlRG
IChwLCAiU3RhY2sgbm93Iik7Cj4gKyAgZm9yICg7IHl5Ym90dG9tIDw9IHl5dG9wOyB5eWJvdHRv
bSsrKQo+ICsgICAgewo+ICsgICAgICBpbnQgeXlib3QgPSAqeXlib3R0b207Cj4gKyAgICAgIFlZ
RlBSSU5URiAocCwgIiAlZCIsIHl5Ym90KTsKPiArICAgIH0KPiArICBZWUZQUklOVEYgKHAsICJc
biIpOwo+ICt9Cj4gKwo+ICsjIGRlZmluZSBZWV9TVEFDS19QUklOVChCb3R0b20sIFRvcCkgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAo+ICtkbyB7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+ICsgIGlmICh5eWRlYnVnKSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+ICsgICAg
eXlfc3RhY2tfcHJpbnQgKChCb3R0b20pLCAoVG9wKSk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAo+ICt9IHdoaWxlICgwKQo+ICsKPiArCj4gKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLgo+ICt8IFJlcG9ydCB0aGF0IHRoZSBZWVJVTEUgaXMg
Z29pbmcgdG8gYmUgcmVkdWNlZC4gIHwKPiArYC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLSovCj4gKwo+ICtzdGF0aWMgdm9pZAo+ICt5eV9yZWR1Y2VfcHJp
bnQgKHl5dHlwZV9pbnQxNiAqeXlzc3AsIFlZU1RZUEUgKnl5dnNwLCBZWUxUWVBFICp5eWxzcCwg
aW50IHl5cnVsZSwgc3RydWN0IHBhcnNlcl9wYXJhbXMgKnApCj4gK3sKPiArICB1bnNpZ25lZCBs
b25nIHl5bG5vID0geXlybGluZVt5eXJ1bGVdOwo+ICsgIGludCB5eW5yaHMgPSB5eXIyW3l5cnVs
ZV07Cj4gKyAgaW50IHl5aTsKPiArICBZWUZQUklOVEYgKHAsICJSZWR1Y2luZyBzdGFjayBieSBy
dWxlICVkIChsaW5lICVsdSk6XG4iLAo+ICsgICAgICAgICAgICAgeXlydWxlIC0gMSwgeXlsbm8p
Owo+ICsgIC8qIFRoZSBzeW1ib2xzIGJlaW5nIHJlZHVjZWQuICAqLwo+ICsgIGZvciAoeXlpID0g
MDsgeXlpIDwgeXlucmhzOyB5eWkrKykKPiArICAgIHsKPiArICAgICAgWVlGUFJJTlRGIChwLCAi
ICAgJCVkID0gIiwgeXlpICsgMSk7Cj4gKyAgICAgIHl5X3N5bWJvbF9wcmludCAoc3RkZXJyLAo+
ICsgICAgICAgICAgICAgICAgICAgICAgIHl5c3Rvc1t5eXNzcFt5eWkgKyAxIC0geXlucmhzXV0s
Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgJnl5dnNwWyh5eWkgKyAxKSAtICh5eW5yaHMpXQo+
ICsgICAgICAgICAgICAgICAgICAgICAgICwgJih5eWxzcFsoeXlpICsgMSkgLSAoeXlucmhzKV0p
ICAgICAgICAgICAgICAgICAgICAgICAsIHApOwo+ICsgICAgICBZWUZQUklOVEYgKHAsICJcbiIp
Owo+ICsgICAgfQo+ICt9Cj4gKwo+ICsjIGRlZmluZSBZWV9SRURVQ0VfUFJJTlQoUnVsZSkgICAg
ICAgICAgXAo+ICtkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+ICsg
IGlmICh5eWRlYnVnKSAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+ICsgICAgeXlfcmVkdWNl
X3ByaW50ICh5eXNzcCwgeXl2c3AsIHl5bHNwLCBSdWxlLCBwKTsgXAo+ICt9IHdoaWxlICgwKQo+
ICsKPiArLyogTm9uemVybyBtZWFucyBwcmludCBwYXJzZSB0cmFjZS4gIEl0IGlzIGxlZnQgdW5p
bml0aWFsaXplZCBzbyB0aGF0Cj4gKyAgIG11bHRpcGxlIHBhcnNlcnMgY2FuIGNvZXhpc3QuICAq
Lwo+ICsjaWZuZGVmIHl5ZGVidWcKPiAraW50IHl5ZGVidWc7Cj4gKyNlbmRpZgo+ICsjZWxzZSAv
KiAhWVlERUJVRyAqLwo+ICsjIGRlZmluZSBZWURQUklOVEYoQXJncykKPiArIyBkZWZpbmUgWVlf
U1lNQk9MX1BSSU5UKFRpdGxlLCBUeXBlLCBWYWx1ZSwgTG9jYXRpb24pCj4gKyMgZGVmaW5lIFlZ
X1NUQUNLX1BSSU5UKEJvdHRvbSwgVG9wKQo+ICsjIGRlZmluZSBZWV9SRURVQ0VfUFJJTlQoUnVs
ZSkKPiArI2VuZGlmIC8qICFZWURFQlVHICovCj4gKwo+ICsKPiArLyogWVlJTklUREVQVEggLS0g
aW5pdGlhbCBzaXplIG9mIHRoZSBwYXJzZXIncyBzdGFja3MuICAqLwo+ICsjaWZuZGVmIFlZSU5J
VERFUFRICj4gKyMgZGVmaW5lIFlZSU5JVERFUFRIIDIwMAo+ICsjZW5kaWYKPiArCj4gKy8qIFlZ
TUFYREVQVEggLS0gbWF4aW11bSBzaXplIHRoZSBzdGFja3MgY2FuIGdyb3cgdG8gKGVmZmVjdGl2
ZSBvbmx5Cj4gKyAgIGlmIHRoZSBidWlsdC1pbiBzdGFjayBleHRlbnNpb24gbWV0aG9kIGlzIHVz
ZWQpLgo+ICsKPiArICAgRG8gbm90IG1ha2UgdGhpcyB2YWx1ZSB0b28gbGFyZ2U7IHRoZSByZXN1
bHRzIGFyZSB1bmRlZmluZWQgaWYKPiArICAgWVlTVEFDS19BTExPQ19NQVhJTVVNIDwgWVlTVEFD
S19CWVRFUyAoWVlNQVhERVBUSCkKPiArICAgZXZhbHVhdGVkIHdpdGggaW5maW5pdGUtcHJlY2lz
aW9uIGludGVnZXIgYXJpdGhtZXRpYy4gICovCj4gKwo+ICsjaWZuZGVmIFlZTUFYREVQVEgKPiAr
IyBkZWZpbmUgWVlNQVhERVBUSCAxMDAwMAo+ICsjZW5kaWYKPiArCj4gKwo+ICsjaWYgWVlFUlJP
Ul9WRVJCT1NFCj4gKwo+ICsjIGlmbmRlZiB5eXN0cmxlbgo+ICsjICBpZiBkZWZpbmVkIF9fR0xJ
QkNfXyAmJiBkZWZpbmVkIF9TVFJJTkdfSAo+ICsjICAgZGVmaW5lIHl5c3RybGVuIHN0cmxlbgo+
ICsjICBlbHNlCj4gKy8qIFJldHVybiB0aGUgbGVuZ3RoIG9mIFlZU1RSLiAgKi8KPiArc3RhdGlj
IFlZU0laRV9UCj4gK3l5c3RybGVuIChjb25zdCBjaGFyICp5eXN0cikKPiArewo+ICsgIFlZU0la
RV9UIHl5bGVuOwo+ICsgIGZvciAoeXlsZW4gPSAwOyB5eXN0clt5eWxlbl07IHl5bGVuKyspCj4g
KyAgICBjb250aW51ZTsKPiArICByZXR1cm4geXlsZW47Cj4gK30KPiArIyAgZW5kaWYKPiArIyBl
bmRpZgo+ICsKPiArIyBpZm5kZWYgeXlzdHBjcHkKPiArIyAgaWYgZGVmaW5lZCBfX0dMSUJDX18g
JiYgZGVmaW5lZCBfU1RSSU5HX0ggJiYgZGVmaW5lZCBfR05VX1NPVVJDRQo+ICsjICAgZGVmaW5l
IHl5c3RwY3B5IHN0cGNweQo+ICsjICBlbHNlCj4gKy8qIENvcHkgWVlTUkMgdG8gWVlERVNULCBy
ZXR1cm5pbmcgdGhlIGFkZHJlc3Mgb2YgdGhlIHRlcm1pbmF0aW5nICdcMCcgaW4KPiArICAgWVlE
RVNULiAgKi8KPiArc3RhdGljIGNoYXIgKgo+ICt5eXN0cGNweSAoY2hhciAqeXlkZXN0LCBjb25z
dCBjaGFyICp5eXNyYykKPiArewo+ICsgIGNoYXIgKnl5ZCA9IHl5ZGVzdDsKPiArICBjb25zdCBj
aGFyICp5eXMgPSB5eXNyYzsKPiArCj4gKyAgd2hpbGUgKCgqeXlkKysgPSAqeXlzKyspICE9ICdc
MCcpCj4gKyAgICBjb250aW51ZTsKPiArCj4gKyAgcmV0dXJuIHl5ZCAtIDE7Cj4gK30KPiArIyAg
ZW5kaWYKPiArIyBlbmRpZgo+ICsKPiArIyBpZm5kZWYgeXl0bmFtZXJyCj4gKy8qIENvcHkgdG8g
WVlSRVMgdGhlIGNvbnRlbnRzIG9mIFlZU1RSIGFmdGVyIHN0cmlwcGluZyBhd2F5IHVubmVjZXNz
YXJ5Cj4gKyAgIHF1b3RlcyBhbmQgYmFja3NsYXNoZXMsIHNvIHRoYXQgaXQncyBzdWl0YWJsZSBm
b3IgeXllcnJvci4gIFRoZQo+ICsgICBoZXVyaXN0aWMgaXMgdGhhdCBkb3VibGUtcXVvdGluZyBp
cyB1bm5lY2Vzc2FyeSB1bmxlc3MgdGhlIHN0cmluZwo+ICsgICBjb250YWlucyBhbiBhcG9zdHJv
cGhlLCBhIGNvbW1hLCBvciBiYWNrc2xhc2ggKG90aGVyIHRoYW4KPiArICAgYmFja3NsYXNoLWJh
Y2tzbGFzaCkuICBZWVNUUiBpcyB0YWtlbiBmcm9tIHl5dG5hbWUuICBJZiBZWVJFUyBpcwo+ICsg
ICBudWxsLCBkbyBub3QgY29weTsgaW5zdGVhZCwgcmV0dXJuIHRoZSBsZW5ndGggb2Ygd2hhdCB0
aGUgcmVzdWx0Cj4gKyAgIHdvdWxkIGhhdmUgYmVlbi4gICovCj4gK3N0YXRpYyBZWVNJWkVfVAo+
ICt5eXRuYW1lcnIgKGNoYXIgKnl5cmVzLCBjb25zdCBjaGFyICp5eXN0cikKPiArewo+ICsgIGlm
ICgqeXlzdHIgPT0gJyInKQo+ICsgICAgewo+ICsgICAgICBZWVNJWkVfVCB5eW4gPSAwOwo+ICsg
ICAgICBjaGFyIGNvbnN0ICp5eXAgPSB5eXN0cjsKPiArCj4gKyAgICAgIGZvciAoOzspCj4gKyAg
ICAgICAgc3dpdGNoICgqKyt5eXApCj4gKyAgICAgICAgICB7Cj4gKyAgICAgICAgICBjYXNlICdc
Jyc6Cj4gKyAgICAgICAgICBjYXNlICcsJzoKPiArICAgICAgICAgICAgZ290byBkb19ub3Rfc3Ry
aXBfcXVvdGVzOwo+ICsKPiArICAgICAgICAgIGNhc2UgJ1xcJzoKPiArICAgICAgICAgICAgaWYg
KCorK3l5cCAhPSAnXFwnKQo+ICsgICAgICAgICAgICAgIGdvdG8gZG9fbm90X3N0cmlwX3F1b3Rl
czsKPiArICAgICAgICAgICAgZWxzZQo+ICsgICAgICAgICAgICAgIGdvdG8gYXBwZW5kOwo+ICsK
PiArICAgICAgICAgIGFwcGVuZDoKPiArICAgICAgICAgIGRlZmF1bHQ6Cj4gKyAgICAgICAgICAg
IGlmICh5eXJlcykKPiArICAgICAgICAgICAgICB5eXJlc1t5eW5dID0gKnl5cDsKPiArICAgICAg
ICAgICAgeXluKys7Cj4gKyAgICAgICAgICAgIGJyZWFrOwo+ICsKPiArICAgICAgICAgIGNhc2Ug
JyInOgo+ICsgICAgICAgICAgICBpZiAoeXlyZXMpCj4gKyAgICAgICAgICAgICAgeXlyZXNbeXlu
XSA9ICdcMCc7Cj4gKyAgICAgICAgICAgIHJldHVybiB5eW47Cj4gKyAgICAgICAgICB9Cj4gKyAg
ICBkb19ub3Rfc3RyaXBfcXVvdGVzOiA7Cj4gKyAgICB9Cj4gKwo+ICsgIGlmICghIHl5cmVzKQo+
ICsgICAgcmV0dXJuIHl5c3RybGVuICh5eXN0cik7Cj4gKwo+ICsgIHJldHVybiAoWVlTSVpFX1Qp
ICh5eXN0cGNweSAoeXlyZXMsIHl5c3RyKSAtIHl5cmVzKTsKPiArfQo+ICsjIGVuZGlmCj4gKwo+
ICsvKiBDb3B5IGludG8gKllZTVNHLCB3aGljaCBpcyBvZiBzaXplICpZWU1TR19BTExPQywgYW4g
ZXJyb3IgbWVzc2FnZQo+ICsgICBhYm91dCB0aGUgdW5leHBlY3RlZCB0b2tlbiBZWVRPS0VOIGZv
ciB0aGUgc3RhdGUgc3RhY2sgd2hvc2UgdG9wIGlzCj4gKyAgIFlZU1NQLgo+ICsKPiArICAgUmV0
dXJuIDAgaWYgKllZTVNHIHdhcyBzdWNjZXNzZnVsbHkgd3JpdHRlbi4gIFJldHVybiAxIGlmICpZ
WU1TRyBpcwo+ICsgICBub3QgbGFyZ2UgZW5vdWdoIHRvIGhvbGQgdGhlIG1lc3NhZ2UuICBJbiB0
aGF0IGNhc2UsIGFsc28gc2V0Cj4gKyAgICpZWU1TR19BTExPQyB0byB0aGUgcmVxdWlyZWQgbnVt
YmVyIG9mIGJ5dGVzLiAgUmV0dXJuIDIgaWYgdGhlCj4gKyAgIHJlcXVpcmVkIG51bWJlciBvZiBi
eXRlcyBpcyB0b28gbGFyZ2UgdG8gc3RvcmUuICAqLwo+ICtzdGF0aWMgaW50Cj4gK3l5c3ludGF4
X2Vycm9yIChZWVNJWkVfVCAqeXltc2dfYWxsb2MsIGNoYXIgKip5eW1zZywKPiArICAgICAgICAg
ICAgICAgIHl5dHlwZV9pbnQxNiAqeXlzc3AsIGludCB5eXRva2VuKQo+ICt7Cj4gKyAgWVlTSVpF
X1QgeXlzaXplMCA9IHl5dG5hbWVyciAoWVlfTlVMTFBUUiwgeXl0bmFtZVt5eXRva2VuXSk7Cj4g
KyAgWVlTSVpFX1QgeXlzaXplID0geXlzaXplMDsKPiArICBlbnVtIHsgWVlFUlJPUl9WRVJCT1NF
X0FSR1NfTUFYSU1VTSA9IDUgfTsKPiArICAvKiBJbnRlcm5hdGlvbmFsaXplZCBmb3JtYXQgc3Ry
aW5nLiAqLwo+ICsgIGNvbnN0IGNoYXIgKnl5Zm9ybWF0ID0gWVlfTlVMTFBUUjsKPiArICAvKiBB
cmd1bWVudHMgb2YgeXlmb3JtYXQuICovCj4gKyAgY2hhciBjb25zdCAqeXlhcmdbWVlFUlJPUl9W
RVJCT1NFX0FSR1NfTUFYSU1VTV07Cj4gKyAgLyogTnVtYmVyIG9mIHJlcG9ydGVkIHRva2VucyAo
b25lIGZvciB0aGUgInVuZXhwZWN0ZWQiLCBvbmUgcGVyCj4gKyAgICAgImV4cGVjdGVkIikuICov
Cj4gKyAgaW50IHl5Y291bnQgPSAwOwo+ICsKPiArICAvKiBUaGVyZSBhcmUgbWFueSBwb3NzaWJp
bGl0aWVzIGhlcmUgdG8gY29uc2lkZXI6Cj4gKyAgICAgLSBJZiB0aGlzIHN0YXRlIGlzIGEgY29u
c2lzdGVudCBzdGF0ZSB3aXRoIGEgZGVmYXVsdCBhY3Rpb24sIHRoZW4KPiArICAgICAgIHRoZSBv
bmx5IHdheSB0aGlzIGZ1bmN0aW9uIHdhcyBpbnZva2VkIGlzIGlmIHRoZSBkZWZhdWx0IGFjdGlv
bgo+ICsgICAgICAgaXMgYW4gZXJyb3IgYWN0aW9uLiAgSW4gdGhhdCBjYXNlLCBkb24ndCBjaGVj
ayBmb3IgZXhwZWN0ZWQKPiArICAgICAgIHRva2VucyBiZWNhdXNlIHRoZXJlIGFyZSBub25lLgo+
ICsgICAgIC0gVGhlIG9ubHkgd2F5IHRoZXJlIGNhbiBiZSBubyBsb29rYWhlYWQgcHJlc2VudCAo
aW4geXljaGFyKSBpcyBpZgo+ICsgICAgICAgdGhpcyBzdGF0ZSBpcyBhIGNvbnNpc3RlbnQgc3Rh
dGUgd2l0aCBhIGRlZmF1bHQgYWN0aW9uLiAgVGh1cywKPiArICAgICAgIGRldGVjdGluZyB0aGUg
YWJzZW5jZSBvZiBhIGxvb2thaGVhZCBpcyBzdWZmaWNpZW50IHRvIGRldGVybWluZQo+ICsgICAg
ICAgdGhhdCB0aGVyZSBpcyBubyB1bmV4cGVjdGVkIG9yIGV4cGVjdGVkIHRva2VuIHRvIHJlcG9y
dC4gIEluIHRoYXQKPiArICAgICAgIGNhc2UsIGp1c3QgcmVwb3J0IGEgc2ltcGxlICJzeW50YXgg
ZXJyb3IiLgo+ICsgICAgIC0gRG9uJ3QgYXNzdW1lIHRoZXJlIGlzbid0IGEgbG9va2FoZWFkIGp1
c3QgYmVjYXVzZSB0aGlzIHN0YXRlIGlzIGEKPiArICAgICAgIGNvbnNpc3RlbnQgc3RhdGUgd2l0
aCBhIGRlZmF1bHQgYWN0aW9uLiAgVGhlcmUgbWlnaHQgaGF2ZSBiZWVuIGEKPiArICAgICAgIHBy
ZXZpb3VzIGluY29uc2lzdGVudCBzdGF0ZSwgY29uc2lzdGVudCBzdGF0ZSB3aXRoIGEgbm9uLWRl
ZmF1bHQKPiArICAgICAgIGFjdGlvbiwgb3IgdXNlciBzZW1hbnRpYyBhY3Rpb24gdGhhdCBtYW5p
cHVsYXRlZCB5eWNoYXIuCj4gKyAgICAgLSBPZiBjb3Vyc2UsIHRoZSBleHBlY3RlZCB0b2tlbiBs
aXN0IGRlcGVuZHMgb24gc3RhdGVzIHRvIGhhdmUKPiArICAgICAgIGNvcnJlY3QgbG9va2FoZWFk
IGluZm9ybWF0aW9uLCBhbmQgaXQgZGVwZW5kcyBvbiB0aGUgcGFyc2VyIG5vdAo+ICsgICAgICAg
dG8gcGVyZm9ybSBleHRyYSByZWR1Y3Rpb25zIGFmdGVyIGZldGNoaW5nIGEgbG9va2FoZWFkIGZy
b20gdGhlCj4gKyAgICAgICBzY2FubmVyIGFuZCBiZWZvcmUgZGV0ZWN0aW5nIGEgc3ludGF4IGVy
cm9yLiAgVGh1cywgc3RhdGUgbWVyZ2luZwo+ICsgICAgICAgKGZyb20gTEFMUiBvciBJRUxSKSBh
bmQgZGVmYXVsdCByZWR1Y3Rpb25zIGNvcnJ1cHQgdGhlIGV4cGVjdGVkCj4gKyAgICAgICB0b2tl
biBsaXN0LiAgSG93ZXZlciwgdGhlIGxpc3QgaXMgY29ycmVjdCBmb3IgY2Fub25pY2FsIExSIHdp
dGgKPiArICAgICAgIG9uZSBleGNlcHRpb246IGl0IHdpbGwgc3RpbGwgY29udGFpbiBhbnkgdG9r
ZW4gdGhhdCB3aWxsIG5vdCBiZQo+ICsgICAgICAgYWNjZXB0ZWQgZHVlIHRvIGFuIGVycm9yIGFj
dGlvbiBpbiBhIGxhdGVyIHN0YXRlLgo+ICsgICovCj4gKyAgaWYgKHl5dG9rZW4gIT0gWVlFTVBU
WSkKPiArICAgIHsKPiArICAgICAgaW50IHl5biA9IHl5cGFjdFsqeXlzc3BdOwo+ICsgICAgICB5
eWFyZ1t5eWNvdW50KytdID0geXl0bmFtZVt5eXRva2VuXTsKPiArICAgICAgaWYgKCF5eXBhY3Rf
dmFsdWVfaXNfZGVmYXVsdCAoeXluKSkKPiArICAgICAgICB7Cj4gKyAgICAgICAgICAvKiBTdGFy
dCBZWVggYXQgLVlZTiBpZiBuZWdhdGl2ZSB0byBhdm9pZCBuZWdhdGl2ZSBpbmRleGVzIGluCj4g
KyAgICAgICAgICAgICBZWUNIRUNLLiAgSW4gb3RoZXIgd29yZHMsIHNraXAgdGhlIGZpcnN0IC1Z
WU4gYWN0aW9ucyBmb3IKPiArICAgICAgICAgICAgIHRoaXMgc3RhdGUgYmVjYXVzZSB0aGV5IGFy
ZSBkZWZhdWx0IGFjdGlvbnMuICAqLwo+ICsgICAgICAgICAgaW50IHl5eGJlZ2luID0geXluIDwg
MCA/IC15eW4gOiAwOwo+ICsgICAgICAgICAgLyogU3RheSB3aXRoaW4gYm91bmRzIG9mIGJvdGgg
eXljaGVjayBhbmQgeXl0bmFtZS4gICovCj4gKyAgICAgICAgICBpbnQgeXljaGVja2xpbSA9IFlZ
TEFTVCAtIHl5biArIDE7Cj4gKyAgICAgICAgICBpbnQgeXl4ZW5kID0geXljaGVja2xpbSA8IFlZ
TlRPS0VOUyA/IHl5Y2hlY2tsaW0gOiBZWU5UT0tFTlM7Cj4gKyAgICAgICAgICBpbnQgeXl4Owo+
ICsKPiArICAgICAgICAgIGZvciAoeXl4ID0geXl4YmVnaW47IHl5eCA8IHl5eGVuZDsgKyt5eXgp
Cj4gKyAgICAgICAgICAgIGlmICh5eWNoZWNrW3l5eCArIHl5bl0gPT0geXl4ICYmIHl5eCAhPSBZ
WVRFUlJPUgo+ICsgICAgICAgICAgICAgICAgJiYgIXl5dGFibGVfdmFsdWVfaXNfZXJyb3IgKHl5
dGFibGVbeXl4ICsgeXluXSkpCj4gKyAgICAgICAgICAgICAgewo+ICsgICAgICAgICAgICAgICAg
aWYgKHl5Y291bnQgPT0gWVlFUlJPUl9WRVJCT1NFX0FSR1NfTUFYSU1VTSkKPiArICAgICAgICAg
ICAgICAgICAgewo+ICsgICAgICAgICAgICAgICAgICAgIHl5Y291bnQgPSAxOwo+ICsgICAgICAg
ICAgICAgICAgICAgIHl5c2l6ZSA9IHl5c2l6ZTA7Cj4gKyAgICAgICAgICAgICAgICAgICAgYnJl
YWs7Cj4gKyAgICAgICAgICAgICAgICAgIH0KPiArICAgICAgICAgICAgICAgIHl5YXJnW3l5Y291
bnQrK10gPSB5eXRuYW1lW3l5eF07Cj4gKyAgICAgICAgICAgICAgICB7Cj4gKyAgICAgICAgICAg
ICAgICAgIFlZU0laRV9UIHl5c2l6ZTEgPSB5eXNpemUgKyB5eXRuYW1lcnIgKFlZX05VTExQVFIs
IHl5dG5hbWVbeXl4XSk7Cj4gKyAgICAgICAgICAgICAgICAgIGlmICh5eXNpemUgPD0geXlzaXpl
MSAmJiB5eXNpemUxIDw9IFlZU1RBQ0tfQUxMT0NfTUFYSU1VTSkKPiArICAgICAgICAgICAgICAg
ICAgICB5eXNpemUgPSB5eXNpemUxOwo+ICsgICAgICAgICAgICAgICAgICBlbHNlCj4gKyAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIDI7Cj4gKyAgICAgICAgICAgICAgICB9Cj4gKyAgICAgICAg
ICAgICAgfQo+ICsgICAgICAgIH0KPiArICAgIH0KPiArCj4gKyAgc3dpdGNoICh5eWNvdW50KQo+
ICsgICAgewo+ICsjIGRlZmluZSBZWUNBU0VfKE4sIFMpICAgICAgICAgICAgICAgICAgICAgIFwK
PiArICAgICAgY2FzZSBOOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gKyAgICAg
ICAgeXlmb3JtYXQgPSBTOyAgICAgICAgICAgICAgICAgICAgICAgXAo+ICsgICAgICBicmVhawo+
ICsgICAgZGVmYXVsdDogLyogQXZvaWQgY29tcGlsZXIgd2FybmluZ3MuICovCj4gKyAgICAgIFlZ
Q0FTRV8oMCwgWVlfKCJzeW50YXggZXJyb3IiKSk7Cj4gKyAgICAgIFlZQ0FTRV8oMSwgWVlfKCJz
eW50YXggZXJyb3IsIHVuZXhwZWN0ZWQgJXMiKSk7Cj4gKyAgICAgIFlZQ0FTRV8oMiwgWVlfKCJz
eW50YXggZXJyb3IsIHVuZXhwZWN0ZWQgJXMsIGV4cGVjdGluZyAlcyIpKTsKPiArICAgICAgWVlD
QVNFXygzLCBZWV8oInN5bnRheCBlcnJvciwgdW5leHBlY3RlZCAlcywgZXhwZWN0aW5nICVzIG9y
ICVzIikpOwo+ICsgICAgICBZWUNBU0VfKDQsIFlZXygic3ludGF4IGVycm9yLCB1bmV4cGVjdGVk
ICVzLCBleHBlY3RpbmcgJXMgb3IgJXMgb3IgJXMiKSk7Cj4gKyAgICAgIFlZQ0FTRV8oNSwgWVlf
KCJzeW50YXggZXJyb3IsIHVuZXhwZWN0ZWQgJXMsIGV4cGVjdGluZyAlcyBvciAlcyBvciAlcyBv
ciAlcyIpKTsKPiArIyB1bmRlZiBZWUNBU0VfCj4gKyAgICB9Cj4gKwo+ICsgIHsKPiArICAgIFlZ
U0laRV9UIHl5c2l6ZTEgPSB5eXNpemUgKyB5eXN0cmxlbiAoeXlmb3JtYXQpOwo+ICsgICAgaWYg
KHl5c2l6ZSA8PSB5eXNpemUxICYmIHl5c2l6ZTEgPD0gWVlTVEFDS19BTExPQ19NQVhJTVVNKQo+
ICsgICAgICB5eXNpemUgPSB5eXNpemUxOwo+ICsgICAgZWxzZQo+ICsgICAgICByZXR1cm4gMjsK
PiArICB9Cj4gKwo+ICsgIGlmICgqeXltc2dfYWxsb2MgPCB5eXNpemUpCj4gKyAgICB7Cj4gKyAg
ICAgICp5eW1zZ19hbGxvYyA9IDIgKiB5eXNpemU7Cj4gKyAgICAgIGlmICghICh5eXNpemUgPD0g
Knl5bXNnX2FsbG9jCj4gKyAgICAgICAgICAgICAmJiAqeXltc2dfYWxsb2MgPD0gWVlTVEFDS19B
TExPQ19NQVhJTVVNKSkKPiArICAgICAgICAqeXltc2dfYWxsb2MgPSBZWVNUQUNLX0FMTE9DX01B
WElNVU07Cj4gKyAgICAgIHJldHVybiAxOwo+ICsgICAgfQo+ICsKPiArICAvKiBBdm9pZCBzcHJp
bnRmLCBhcyB0aGF0IGluZnJpbmdlcyBvbiB0aGUgdXNlcidzIG5hbWUgc3BhY2UuCj4gKyAgICAg
RG9uJ3QgaGF2ZSB1bmRlZmluZWQgYmVoYXZpb3IgZXZlbiBpZiB0aGUgdHJhbnNsYXRpb24KPiAr
ICAgICBwcm9kdWNlZCBhIHN0cmluZyB3aXRoIHRoZSB3cm9uZyBudW1iZXIgb2YgIiVzInMuICAq
Lwo+ICsgIHsKPiArICAgIGNoYXIgKnl5cCA9ICp5eW1zZzsKPiArICAgIGludCB5eWkgPSAwOwo+
ICsgICAgd2hpbGUgKCgqeXlwID0gKnl5Zm9ybWF0KSAhPSAnXDAnKQo+ICsgICAgICBpZiAoKnl5
cCA9PSAnJScgJiYgeXlmb3JtYXRbMV0gPT0gJ3MnICYmIHl5aSA8IHl5Y291bnQpCj4gKyAgICAg
ICAgewo+ICsgICAgICAgICAgeXlwICs9IHl5dG5hbWVyciAoeXlwLCB5eWFyZ1t5eWkrK10pOwo+
ICsgICAgICAgICAgeXlmb3JtYXQgKz0gMjsKPiArICAgICAgICB9Cj4gKyAgICAgIGVsc2UKPiAr
ICAgICAgICB7Cj4gKyAgICAgICAgICB5eXArKzsKPiArICAgICAgICAgIHl5Zm9ybWF0Kys7Cj4g
KyAgICAgICAgfQo+ICsgIH0KPiArICByZXR1cm4gMDsKPiArfQo+ICsjZW5kaWYgLyogWVlFUlJP
Ul9WRVJCT1NFICovCj4gKwo+ICsvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLgo+ICt8IFJlbGVhc2UgdGhlIG1lbW9yeSBhc3NvY2lhdGVkIHRvIHRoaXMg
c3ltYm9sLiAgfAo+ICtgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0qLwo+ICsKPiArc3RhdGljIHZvaWQKPiAreXlkZXN0cnVjdCAoY29uc3QgY2hhciAqeXlt
c2csIGludCB5eXR5cGUsIFlZU1RZUEUgKnl5dmFsdWVwLCBZWUxUWVBFICp5eWxvY2F0aW9ucCwg
c3RydWN0IHBhcnNlcl9wYXJhbXMgKnApCj4gK3sKPiArICBZWVVTRSAoeXl2YWx1ZXApOwo+ICsg
IFlZVVNFICh5eWxvY2F0aW9ucCk7Cj4gKyAgWVlVU0UgKHApOwo+ICsgIGlmICgheXltc2cpCj4g
KyAgICB5eW1zZyA9ICJEZWxldGluZyI7Cj4gKyAgWVlfU1lNQk9MX1BSSU5UICh5eW1zZywgeXl0
eXBlLCB5eXZhbHVlcCwgeXlsb2NhdGlvbnApOwo+ICsKPiArICBZWV9JR05PUkVfTUFZQkVfVU5J
TklUSUFMSVpFRF9CRUdJTgo+ICsgIFlZVVNFICh5eXR5cGUpOwo+ICsgIFlZX0lHTk9SRV9NQVlC
RV9VTklOSVRJQUxJWkVEX0VORAo+ICt9Cj4gKwo+ICsKPiArCj4gKwo+ICsvKi0tLS0tLS0tLS0u
Cj4gK3wgeXlwYXJzZS4gIHwKPiArYC0tLS0tLS0tLS0qLwo+ICsKPiAraW50Cj4gK3l5cGFyc2Ug
KHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwKQo+ICt7Cj4gKy8qIFRoZSBsb29rYWhlYWQgc3ltYm9s
LiAgKi8KPiAraW50IHl5Y2hhcjsKPiArCj4gKwo+ICsvKiBUaGUgc2VtYW50aWMgdmFsdWUgb2Yg
dGhlIGxvb2thaGVhZCBzeW1ib2wuICAqLwo+ICsvKiBEZWZhdWx0IHZhbHVlIHVzZWQgZm9yIGlu
aXRpYWxpemF0aW9uLCBmb3IgcGFjaWZ5aW5nIG9sZGVyIEdDQ3MKPiArICAgb3Igbm9uLUdDQyBj
b21waWxlcnMuICAqLwo+ICtZWV9JTklUSUFMX1ZBTFVFIChzdGF0aWMgWVlTVFlQRSB5eXZhbF9k
ZWZhdWx0OykKPiArWVlTVFlQRSB5eWx2YWwgWVlfSU5JVElBTF9WQUxVRSAoPSB5eXZhbF9kZWZh
dWx0KTsKPiArCj4gKy8qIExvY2F0aW9uIGRhdGEgZm9yIHRoZSBsb29rYWhlYWQgc3ltYm9sLiAg
Ki8KPiArc3RhdGljIFlZTFRZUEUgeXlsb2NfZGVmYXVsdAo+ICsjIGlmIGRlZmluZWQgWVlMVFlQ
RV9JU19UUklWSUFMICYmIFlZTFRZUEVfSVNfVFJJVklBTAo+ICsgID0geyAxLCAxLCAxLCAxIH0K
PiArIyBlbmRpZgo+ICs7Cj4gK1lZTFRZUEUgeXlsbG9jID0geXlsb2NfZGVmYXVsdDsKPiArCj4g
KyAgICAvKiBOdW1iZXIgb2Ygc3ludGF4IGVycm9ycyBzbyBmYXIuICAqLwo+ICsgICAgaW50IHl5
bmVycnM7Cj4gKwo+ICsgICAgaW50IHl5c3RhdGU7Cj4gKyAgICAvKiBOdW1iZXIgb2YgdG9rZW5z
IHRvIHNoaWZ0IGJlZm9yZSBlcnJvciBtZXNzYWdlcyBlbmFibGVkLiAgKi8KPiArICAgIGludCB5
eWVycnN0YXR1czsKPiArCj4gKyAgICAvKiBUaGUgc3RhY2tzIGFuZCB0aGVpciB0b29sczoKPiAr
ICAgICAgICd5eXNzJzogcmVsYXRlZCB0byBzdGF0ZXMuCj4gKyAgICAgICAneXl2cyc6IHJlbGF0
ZWQgdG8gc2VtYW50aWMgdmFsdWVzLgo+ICsgICAgICAgJ3l5bHMnOiByZWxhdGVkIHRvIGxvY2F0
aW9ucy4KPiArCj4gKyAgICAgICBSZWZlciB0byB0aGUgc3RhY2tzIHRocm91Z2ggc2VwYXJhdGUg
cG9pbnRlcnMsIHRvIGFsbG93IHl5b3ZlcmZsb3cKPiArICAgICAgIHRvIHJlYWxsb2NhdGUgdGhl
bSBlbHNld2hlcmUuICAqLwo+ICsKPiArICAgIC8qIFRoZSBzdGF0ZSBzdGFjay4gICovCj4gKyAg
ICB5eXR5cGVfaW50MTYgeXlzc2FbWVlJTklUREVQVEhdOwo+ICsgICAgeXl0eXBlX2ludDE2ICp5
eXNzOwo+ICsgICAgeXl0eXBlX2ludDE2ICp5eXNzcDsKPiArCj4gKyAgICAvKiBUaGUgc2VtYW50
aWMgdmFsdWUgc3RhY2suICAqLwo+ICsgICAgWVlTVFlQRSB5eXZzYVtZWUlOSVRERVBUSF07Cj4g
KyAgICBZWVNUWVBFICp5eXZzOwo+ICsgICAgWVlTVFlQRSAqeXl2c3A7Cj4gKwo+ICsgICAgLyog
VGhlIGxvY2F0aW9uIHN0YWNrLiAgKi8KPiArICAgIFlZTFRZUEUgeXlsc2FbWVlJTklUREVQVEhd
Owo+ICsgICAgWVlMVFlQRSAqeXlsczsKPiArICAgIFlZTFRZUEUgKnl5bHNwOwo+ICsKPiArICAg
IC8qIFRoZSBsb2NhdGlvbnMgd2hlcmUgdGhlIGVycm9yIHN0YXJ0ZWQgYW5kIGVuZGVkLiAgKi8K
PiArICAgIFlZTFRZUEUgeXllcnJvcl9yYW5nZVszXTsKPiArCj4gKyAgICBZWVNJWkVfVCB5eXN0
YWNrc2l6ZTsKPiArCj4gKyAgaW50IHl5bjsKPiArICBpbnQgeXlyZXN1bHQ7Cj4gKyAgLyogTG9v
a2FoZWFkIHRva2VuIGFzIGFuIGludGVybmFsICh0cmFuc2xhdGVkKSB0b2tlbiBudW1iZXIuICAq
Lwo+ICsgIGludCB5eXRva2VuID0gMDsKPiArICAvKiBUaGUgdmFyaWFibGVzIHVzZWQgdG8gcmV0
dXJuIHNlbWFudGljIHZhbHVlIGFuZCBsb2NhdGlvbiBmcm9tIHRoZQo+ICsgICAgIGFjdGlvbiBy
b3V0aW5lcy4gICovCj4gKyAgWVlTVFlQRSB5eXZhbDsKPiArICBZWUxUWVBFIHl5bG9jOwo+ICsK
PiArI2lmIFlZRVJST1JfVkVSQk9TRQo+ICsgIC8qIEJ1ZmZlciBmb3IgZXJyb3IgbWVzc2FnZXMs
IGFuZCBpdHMgYWxsb2NhdGVkIHNpemUuICAqLwo+ICsgIGNoYXIgeXltc2didWZbMTI4XTsKPiAr
ICBjaGFyICp5eW1zZyA9IHl5bXNnYnVmOwo+ICsgIFlZU0laRV9UIHl5bXNnX2FsbG9jID0gc2l6
ZW9mIHl5bXNnYnVmOwo+ICsjZW5kaWYKPiArCj4gKyNkZWZpbmUgWVlQT1BTVEFDSyhOKSAgICh5
eXZzcCAtPSAoTiksIHl5c3NwIC09IChOKSwgeXlsc3AgLT0gKE4pKQo+ICsKPiArICAvKiBUaGUg
bnVtYmVyIG9mIHN5bWJvbHMgb24gdGhlIFJIUyBvZiB0aGUgcmVkdWNlZCBydWxlLgo+ICsgICAg
IEtlZXAgdG8gemVybyB3aGVuIG5vIHN5bWJvbCBzaG91bGQgYmUgcG9wcGVkLiAgKi8KPiArICBp
bnQgeXlsZW4gPSAwOwo+ICsKPiArICB5eXNzcCA9IHl5c3MgPSB5eXNzYTsKPiArICB5eXZzcCA9
IHl5dnMgPSB5eXZzYTsKPiArICB5eWxzcCA9IHl5bHMgPSB5eWxzYTsKPiArICB5eXN0YWNrc2l6
ZSA9IFlZSU5JVERFUFRIOwo+ICsKPiArICBZWURQUklOVEYgKChwLCAiU3RhcnRpbmcgcGFyc2Vc
biIpKTsKPiArCj4gKyAgeXlzdGF0ZSA9IDA7Cj4gKyAgeXllcnJzdGF0dXMgPSAwOwo+ICsgIHl5
bmVycnMgPSAwOwo+ICsgIHl5Y2hhciA9IFlZRU1QVFk7IC8qIENhdXNlIGEgdG9rZW4gdG8gYmUg
cmVhZC4gICovCj4gKwo+ICsvKiBVc2VyIGluaXRpYWxpemF0aW9uIGNvZGUuICAqLwo+ICsjbGlu
ZSA3NjUgInBhcnNlLnkiIC8qIHlhY2MuYzoxNDMxICAqLwo+ICt7Cj4gKyAgICBSVUJZX1NFVF9Z
WUxMT0NfT0ZfTk9ORSh5eWxsb2MpOwo+ICt9Cj4gKwo+ICsjbGluZSA1MTYxICJwYXJzZS5jIiAv
KiB5YWNjLmM6MTQzMSAgKi8KPiArICB5eWxzcFswXSA9IHl5bGxvYzsKPiArICBnb3RvIHl5c2V0
c3RhdGU7Cj4gKwo+ICsKPiArLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0uCj4gK3wgeXluZXdzdGF0ZSAtLSBwdXNoIGEgbmV3IHN0
YXRlLCB3aGljaCBpcyBmb3VuZCBpbiB5eXN0YXRlLiAgfAo+ICtgLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KPiAreXluZXdzdGF0
ZToKPiArICAvKiBJbiBhbGwgY2FzZXMsIHdoZW4geW91IGdldCBoZXJlLCB0aGUgdmFsdWUgYW5k
IGxvY2F0aW9uIHN0YWNrcwo+ICsgICAgIGhhdmUganVzdCBiZWVuIHB1c2hlZC4gIFNvIHB1c2hp
bmcgYSBzdGF0ZSBoZXJlIGV2ZW5zIHRoZSBzdGFja3MuICAqLwo+ICsgIHl5c3NwKys7Cj4gKwo+
ICsKPiArLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS4KPiArfCB5eW5ld3N0YXRlIC0tIHNldCBjdXJyZW50IHN0YXRl
ICh0aGUgdG9wIG9mIHRoZSBzdGFjaykgdG8geXlzdGF0ZS4gIHwKPiArYC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8K
PiAreXlzZXRzdGF0ZToKPiArICAqeXlzc3AgPSAoeXl0eXBlX2ludDE2KSB5eXN0YXRlOwo+ICsK
PiArICBpZiAoeXlzcyArIHl5c3RhY2tzaXplIC0gMSA8PSB5eXNzcCkKPiArI2lmICFkZWZpbmVk
IHl5b3ZlcmZsb3cgJiYgIWRlZmluZWQgWVlTVEFDS19SRUxPQ0FURQo+ICsgICAgZ290byB5eWV4
aGF1c3RlZGxhYjsKPiArI2Vsc2UKPiArICAgIHsKPiArICAgICAgLyogR2V0IHRoZSBjdXJyZW50
IHVzZWQgc2l6ZSBvZiB0aGUgdGhyZWUgc3RhY2tzLCBpbiBlbGVtZW50cy4gICovCj4gKyAgICAg
IFlZU0laRV9UIHl5c2l6ZSA9IChZWVNJWkVfVCkgKHl5c3NwIC0geXlzcyArIDEpOwo+ICsKPiAr
IyBpZiBkZWZpbmVkIHl5b3ZlcmZsb3cKPiArICAgICAgewo+ICsgICAgICAgIC8qIEdpdmUgdXNl
ciBhIGNoYW5jZSB0byByZWFsbG9jYXRlIHRoZSBzdGFjay4gIFVzZSBjb3BpZXMgb2YKPiArICAg
ICAgICAgICB0aGVzZSBzbyB0aGF0IHRoZSAmJ3MgZG9uJ3QgZm9yY2UgdGhlIHJlYWwgb25lcyBp
bnRvCj4gKyAgICAgICAgICAgbWVtb3J5LiAgKi8KPiArICAgICAgICBZWVNUWVBFICp5eXZzMSA9
IHl5dnM7Cj4gKyAgICAgICAgeXl0eXBlX2ludDE2ICp5eXNzMSA9IHl5c3M7Cj4gKyAgICAgICAg
WVlMVFlQRSAqeXlsczEgPSB5eWxzOwo+ICsKPiArICAgICAgICAvKiBFYWNoIHN0YWNrIHBvaW50
ZXIgYWRkcmVzcyBpcyBmb2xsb3dlZCBieSB0aGUgc2l6ZSBvZiB0aGUKPiArICAgICAgICAgICBk
YXRhIGluIHVzZSBpbiB0aGF0IHN0YWNrLCBpbiBieXRlcy4gIFRoaXMgdXNlZCB0byBiZSBhCj4g
KyAgICAgICAgICAgY29uZGl0aW9uYWwgYXJvdW5kIGp1c3QgdGhlIHR3byBleHRyYSBhcmdzLCBi
dXQgdGhhdCBtaWdodAo+ICsgICAgICAgICAgIGJlIHVuZGVmaW5lZCBpZiB5eW92ZXJmbG93IGlz
IGEgbWFjcm8uICAqLwo+ICsgICAgICAgIHl5b3ZlcmZsb3cgKFlZXygibWVtb3J5IGV4aGF1c3Rl
ZCIpLAo+ICsgICAgICAgICAgICAgICAgICAgICZ5eXNzMSwgeXlzaXplICogc2l6ZW9mICgqeXlz
c3ApLAo+ICsgICAgICAgICAgICAgICAgICAgICZ5eXZzMSwgeXlzaXplICogc2l6ZW9mICgqeXl2
c3ApLAo+ICsgICAgICAgICAgICAgICAgICAgICZ5eWxzMSwgeXlzaXplICogc2l6ZW9mICgqeXls
c3ApLAo+ICsgICAgICAgICAgICAgICAgICAgICZ5eXN0YWNrc2l6ZSk7Cj4gKyAgICAgICAgeXlz
cyA9IHl5c3MxOwo+ICsgICAgICAgIHl5dnMgPSB5eXZzMTsKPiArICAgICAgICB5eWxzID0geXls
czE7Cj4gKyAgICAgIH0KPiArIyBlbHNlIC8qIGRlZmluZWQgWVlTVEFDS19SRUxPQ0FURSAqLwo+
ICsgICAgICAvKiBFeHRlbmQgdGhlIHN0YWNrIG91ciBvd24gd2F5LiAgKi8KPiArICAgICAgaWYg
KFlZTUFYREVQVEggPD0geXlzdGFja3NpemUpCj4gKyAgICAgICAgZ290byB5eWV4aGF1c3RlZGxh
YjsKPiArICAgICAgeXlzdGFja3NpemUgKj0gMjsKPiArICAgICAgaWYgKFlZTUFYREVQVEggPCB5
eXN0YWNrc2l6ZSkKPiArICAgICAgICB5eXN0YWNrc2l6ZSA9IFlZTUFYREVQVEg7Cj4gKwo+ICsg
ICAgICB7Cj4gKyAgICAgICAgeXl0eXBlX2ludDE2ICp5eXNzMSA9IHl5c3M7Cj4gKyAgICAgICAg
dW5pb24geXlhbGxvYyAqeXlwdHIgPQo+ICsgICAgICAgICAgKHVuaW9uIHl5YWxsb2MgKikgWVlT
VEFDS19BTExPQyAoWVlTVEFDS19CWVRFUyAoeXlzdGFja3NpemUpKTsKPiArICAgICAgICBpZiAo
ISB5eXB0cikKPiArICAgICAgICAgIGdvdG8geXlleGhhdXN0ZWRsYWI7Cj4gKyAgICAgICAgWVlT
VEFDS19SRUxPQ0FURSAoeXlzc19hbGxvYywgeXlzcyk7Cj4gKyAgICAgICAgWVlTVEFDS19SRUxP
Q0FURSAoeXl2c19hbGxvYywgeXl2cyk7Cj4gKyAgICAgICAgWVlTVEFDS19SRUxPQ0FURSAoeXls
c19hbGxvYywgeXlscyk7Cj4gKyMgdW5kZWYgWVlTVEFDS19SRUxPQ0FURQo+ICsgICAgICAgIGlm
ICh5eXNzMSAhPSB5eXNzYSkKPiArICAgICAgICAgIFlZU1RBQ0tfRlJFRSAoeXlzczEpOwo+ICsg
ICAgICB9Cj4gKyMgZW5kaWYKPiArCj4gKyAgICAgIHl5c3NwID0geXlzcyArIHl5c2l6ZSAtIDE7
Cj4gKyAgICAgIHl5dnNwID0geXl2cyArIHl5c2l6ZSAtIDE7Cj4gKyAgICAgIHl5bHNwID0geXls
cyArIHl5c2l6ZSAtIDE7Cj4gKwo+ICsgICAgICBZWURQUklOVEYgKChwLCAiU3RhY2sgc2l6ZSBp
bmNyZWFzZWQgdG8gJWx1XG4iLAo+ICsgICAgICAgICAgICAgICAgICAodW5zaWduZWQgbG9uZykg
eXlzdGFja3NpemUpKTsKPiArCj4gKyAgICAgIGlmICh5eXNzICsgeXlzdGFja3NpemUgLSAxIDw9
IHl5c3NwKQo+ICsgICAgICAgIFlZQUJPUlQ7Cj4gKyAgICB9Cj4gKyNlbmRpZiAvKiAhZGVmaW5l
ZCB5eW92ZXJmbG93ICYmICFkZWZpbmVkIFlZU1RBQ0tfUkVMT0NBVEUgKi8KPiArCj4gKyAgWVlE
UFJJTlRGICgocCwgIkVudGVyaW5nIHN0YXRlICVkXG4iLCB5eXN0YXRlKSk7Cj4gKwo+ICsgIGlm
ICh5eXN0YXRlID09IFlZRklOQUwpCj4gKyAgICBZWUFDQ0VQVDsKPiArCj4gKyAgZ290byB5eWJh
Y2t1cDsKPiArCj4gKwo+ICsvKi0tLS0tLS0tLS0tLgo+ICt8IHl5YmFja3VwLiAgfAo+ICtgLS0t
LS0tLS0tLS0qLwo+ICt5eWJhY2t1cDoKPiArICAvKiBEbyBhcHByb3ByaWF0ZSBwcm9jZXNzaW5n
IGdpdmVuIHRoZSBjdXJyZW50IHN0YXRlLiAgUmVhZCBhCj4gKyAgICAgbG9va2FoZWFkIHRva2Vu
IGlmIHdlIG5lZWQgb25lIGFuZCBkb24ndCBhbHJlYWR5IGhhdmUgb25lLiAgKi8KPiArCj4gKyAg
LyogRmlyc3QgdHJ5IHRvIGRlY2lkZSB3aGF0IHRvIGRvIHdpdGhvdXQgcmVmZXJlbmNlIHRvIGxv
b2thaGVhZCB0b2tlbi4gICovCj4gKyAgeXluID0geXlwYWN0W3l5c3RhdGVdOwo+ICsgIGlmICh5
eXBhY3RfdmFsdWVfaXNfZGVmYXVsdCAoeXluKSkKPiArICAgIGdvdG8geXlkZWZhdWx0Owo+ICsK
PiArICAvKiBOb3Qga25vd24gPT4gZ2V0IGEgbG9va2FoZWFkIHRva2VuIGlmIGRvbid0IGFscmVh
ZHkgaGF2ZSBvbmUuICAqLwo+ICsKPiArICAvKiBZWUNIQVIgaXMgZWl0aGVyIFlZRU1QVFkgb3Ig
WVlFT0Ygb3IgYSB2YWxpZCBsb29rYWhlYWQgc3ltYm9sLiAgKi8KPiArICBpZiAoeXljaGFyID09
IFlZRU1QVFkpCj4gKyAgICB7Cj4gKyAgICAgIFlZRFBSSU5URiAoKHAsICJSZWFkaW5nIGEgdG9r
ZW46ICIpKTsKPiArICAgICAgeXljaGFyID0geXlsZXggKCZ5eWx2YWwsICZ5eWxsb2MsIHApOwo+
ICsgICAgfQo+ICsKPiArICBpZiAoeXljaGFyIDw9IFlZRU9GKQo+ICsgICAgewo+ICsgICAgICB5
eWNoYXIgPSB5eXRva2VuID0gWVlFT0Y7Cj4gKyAgICAgIFlZRFBSSU5URiAoKHAsICJOb3cgYXQg
ZW5kIG9mIGlucHV0LlxuIikpOwo+ICsgICAgfQo+ICsgIGVsc2UKPiArICAgIHsKPiArICAgICAg
eXl0b2tlbiA9IFlZVFJBTlNMQVRFICh5eWNoYXIpOwo+ICsgICAgICBZWV9TWU1CT0xfUFJJTlQg
KCJOZXh0IHRva2VuIGlzIiwgeXl0b2tlbiwgJnl5bHZhbCwgJnl5bGxvYyk7Cj4gKyAgICB9Cj4g
Kwo+ICsgIC8qIElmIHRoZSBwcm9wZXIgYWN0aW9uIG9uIHNlZWluZyB0b2tlbiBZWVRPS0VOIGlz
IHRvIHJlZHVjZSBvciB0bwo+ICsgICAgIGRldGVjdCBhbiBlcnJvciwgdGFrZSB0aGF0IGFjdGlv
bi4gICovCj4gKyAgeXluICs9IHl5dG9rZW47Cj4gKyAgaWYgKHl5biA8IDAgfHwgWVlMQVNUIDwg
eXluIHx8IHl5Y2hlY2tbeXluXSAhPSB5eXRva2VuKQo+ICsgICAgZ290byB5eWRlZmF1bHQ7Cj4g
KyAgeXluID0geXl0YWJsZVt5eW5dOwo+ICsgIGlmICh5eW4gPD0gMCkKPiArICAgIHsKPiArICAg
ICAgaWYgKHl5dGFibGVfdmFsdWVfaXNfZXJyb3IgKHl5bikpCj4gKyAgICAgICAgZ290byB5eWVy
cmxhYjsKPiArICAgICAgeXluID0gLXl5bjsKPiArICAgICAgZ290byB5eXJlZHVjZTsKPiArICAg
IH0KPiArCj4gKyAgLyogQ291bnQgdG9rZW5zIHNoaWZ0ZWQgc2luY2UgZXJyb3I7IGFmdGVyIHRo
cmVlLCB0dXJuIG9mZiBlcnJvcgo+ICsgICAgIHN0YXR1cy4gICovCj4gKyAgaWYgKHl5ZXJyc3Rh
dHVzKQo+ICsgICAgeXllcnJzdGF0dXMtLTsKPiArCj4gKyAgLyogU2hpZnQgdGhlIGxvb2thaGVh
ZCB0b2tlbi4gICovCj4gKyAgWVlfU1lNQk9MX1BSSU5UICgiU2hpZnRpbmciLCB5eXRva2VuLCAm
eXlsdmFsLCAmeXlsbG9jKTsKPiArCj4gKyAgLyogRGlzY2FyZCB0aGUgc2hpZnRlZCB0b2tlbi4g
ICovCj4gKyAgeXljaGFyID0gWVlFTVBUWTsKPiArCj4gKyAgeXlzdGF0ZSA9IHl5bjsKPiArICBZ
WV9JR05PUkVfTUFZQkVfVU5JTklUSUFMSVpFRF9CRUdJTgo+ICsgICorK3l5dnNwID0geXlsdmFs
Owo+ICsgIFlZX0lHTk9SRV9NQVlCRV9VTklOSVRJQUxJWkVEX0VORAo+ICsgICorK3l5bHNwID0g
eXlsbG9jOwo+ICsgIGdvdG8geXluZXdzdGF0ZTsKPiArCj4gKwo+ICsvKi0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLgo+ICt8IHl5ZGVm
YXVsdCAtLSBkbyB0aGUgZGVmYXVsdCBhY3Rpb24gZm9yIHRoZSBjdXJyZW50IHN0YXRlLiAgfAo+
ICtgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0qLwo+ICt5eWRlZmF1bHQ6Cj4gKyAgeXluID0geXlkZWZhY3RbeXlzdGF0ZV07Cj4gKyAg
aWYgKHl5biA9PSAwKQo+ICsgICAgZ290byB5eWVycmxhYjsKPiArICBnb3RvIHl5cmVkdWNlOwo+
ICsKPiArCj4gKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0uCj4gK3wgeXlyZWR1Y2Ug
LS0gZG8gYSByZWR1Y3Rpb24uICB8Cj4gK2AtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSov
Cj4gK3l5cmVkdWNlOgo+ICsgIC8qIHl5biBpcyB0aGUgbnVtYmVyIG9mIGEgcnVsZSB0byByZWR1
Y2Ugd2l0aC4gICovCj4gKyAgeXlsZW4gPSB5eXIyW3l5bl07Cj4gKwo+ICsgIC8qIElmIFlZTEVO
IGlzIG5vbnplcm8sIGltcGxlbWVudCB0aGUgZGVmYXVsdCB2YWx1ZSBvZiB0aGUgYWN0aW9uOgo+
ICsgICAgICckJCA9ICQxJy4KPiArCj4gKyAgICAgT3RoZXJ3aXNlLCB0aGUgZm9sbG93aW5nIGxp
bmUgc2V0cyBZWVZBTCB0byBnYXJiYWdlLgo+ICsgICAgIFRoaXMgYmVoYXZpb3IgaXMgdW5kb2N1
bWVudGVkIGFuZCBCaXNvbgo+ICsgICAgIHVzZXJzIHNob3VsZCBub3QgcmVseSB1cG9uIGl0LiAg
QXNzaWduaW5nIHRvIFlZVkFMCj4gKyAgICAgdW5jb25kaXRpb25hbGx5IG1ha2VzIHRoZSBwYXJz
ZXIgYSBiaXQgc21hbGxlciwgYW5kIGl0IGF2b2lkcyBhCj4gKyAgICAgR0NDIHdhcm5pbmcgdGhh
dCBZWVZBTCBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkLiAgKi8KPiArICB5eXZhbCA9IHl5dnNw
WzEteXlsZW5dOwo+ICsKPiArICAvKiBEZWZhdWx0IGxvY2F0aW9uLiAqLwo+ICsgIFlZTExPQ19E
RUZBVUxUICh5eWxvYywgKHl5bHNwIC0geXlsZW4pLCB5eWxlbik7Cj4gKyAgeXllcnJvcl9yYW5n
ZVsxXSA9IHl5bG9jOwo+ICsgIFlZX1JFRFVDRV9QUklOVCAoeXluKTsKPiArICBzd2l0Y2ggKHl5
bikKPiArICAgIHsKPiArICAgICAgICBjYXNlIDI6Cj4gKyNsaW5lIDkzNiAicGFyc2UueSIgLyog
eWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgU0VUX0xF
WF9TVEFURShFWFBSX0JFRyk7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxfcHVzaChw
LCBpZm5kZWZfcmlwcGVyKDEpKzApOwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA1
MzU4ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBj
YXNlIDM6Cj4gKyNsaW5lIDk0MSAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7
Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUlJSovCj4gKyAgICAgICAgICAgICAgICAgICAgICAg
aWYgKCh5eXZzcFswXS5ub2RlKSAmJiAhY29tcGlsZV9mb3JfZXZhbCkgewo+ICsgICAgICAgICAg
ICAgICAgICAgICAgICAgICBOT0RFICpub2RlID0gKHl5dnNwWzBdLm5vZGUpOwo+ICsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvKiBsYXN0IGV4cHJlc3Npb24gc2hvdWxkIG5vdCBiZSB2b2lk
ICovCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChuZF90eXBlKG5vZGUpID09IE5P
REVfQkxPQ0spIHsKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoaWxlIChub2Rl
LT5uZF9uZXh0KSB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZSA9
IG5vZGUtPm5kX25leHQ7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Cj4gKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlID0gbm9kZS0+bmRfaGVhZDsKPiArICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICBu
b2RlID0gcmVtb3ZlX2JlZ2luKG5vZGUpOwo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICB2
b2lkX2V4cHIocCwgbm9kZSk7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgfQo+ICsgICAgICAg
ICAgICAgICAgICAgICAgIHAtPmV2YWxfdHJlZSA9IE5FV19TQ09QRSgwLCBibG9ja19hcHBlbmQo
cCwgcC0+ZXZhbF90cmVlLCAoeXl2c3BbMF0ubm9kZSkpLCAmKHl5bG9jKSk7Cj4gKyAgICAgICAg
ICAgICAgICAgICAvKiUgJSovCj4gKyAgICAgICAgICAgICAgICAgICAvKiUgcmlwcGVyW2ZpbmFs
XTogcHJvZ3JhbSEoJDIpICUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsX3BvcChw
KTsKPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgNTM4MiAicGFyc2UuYyIgLyogeWFj
Yy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSA0Ogo+ICsjbGluZSA5NjMg
InBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAg
ICAgICAgICh5eXZhbC5ub2RlKSA9IHZvaWRfc3RtdHMocCwgKHl5dnNwWy0xXS5ub2RlKSk7Cj4g
KyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDUzOTAgInBhcnNlLmMiIC8qIHlhY2MuYzox
NjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgNToKPiArI2xpbmUgOTY5ICJwYXJz
ZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgIC8q
JSUlKi8KPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBORVdfQkVHSU4o
MCwgJih5eWxvYykpOwo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsgICAgICAgICAg
ICAgICAgICAgLyolIHJpcHBlcjogc3RtdHNfYWRkIShzdG10c19uZXchLCB2b2lkX3N0bXQhKSAl
Ki8KPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgNTQwMSAicGFyc2UuYyIgLyogeWFj
Yy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSA2Ogo+ICsjbGluZSA5NzYg
InBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAg
ICAgLyolJSUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9IG5ld2xp
bmVfbm9kZSgoeXl2c3BbMF0ubm9kZSkpOwo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+
ICsgICAgICAgICAgICAgICAgICAgLyolIHJpcHBlcjogc3RtdHNfYWRkIShzdG10c19uZXchLCAk
MSkgJSovCj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDU0MTIgInBhcnNlLmMiIC8q
IHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgNzoKPiArI2xpbmUg
OTgzICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAg
ICAgICAgIC8qJSUlKi8KPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBi
bG9ja19hcHBlbmQocCwgKHl5dnNwWy0yXS5ub2RlKSwgbmV3bGluZV9ub2RlKCh5eXZzcFswXS5u
b2RlKSkpOwo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsgICAgICAgICAgICAgICAg
ICAgLyolIHJpcHBlcjogc3RtdHNfYWRkISgkMSwgJDMpICUqLwo+ICsgICAgICAgICAgICAgICAg
ICAgfQo+ICsjbGluZSA1NDIzICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJy
ZWFrOwo+ICsKPiArICBjYXNlIDg6Cj4gKyNsaW5lIDk5MCAicGFyc2UueSIgLyogeWFjYy5jOjE2
NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0g
cmVtb3ZlX2JlZ2luKCh5eXZzcFswXS5ub2RlKSk7Cj4gKyAgICAgICAgICAgICAgICAgICB9Cj4g
KyNsaW5lIDU0MzEgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4g
Kwo+ICsgIGNhc2UgMTA6Cj4gKyNsaW5lIDk5NyAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICov
Cj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gKHl5dnNw
WzBdLm5vZGUpOwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA1NDM5ICJwYXJzZS5j
IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDExOgo+ICsj
bGluZSAxMDAzICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAg
ICAgICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAgICAgICAgICAgICAgICBwLT5ldmFsX3Ry
ZWVfYmVnaW4gPSBibG9ja19hcHBlbmQocCwgcC0+ZXZhbF90cmVlX2JlZ2luLAo+ICsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBORVdfQkVH
SU4oKHl5dnNwWy0xXS5ub2RlKSwgJih5eWxvYykpKTsKPiArICAgICAgICAgICAgICAgICAgICAg
ICAoeXl2YWwubm9kZSkgPSBORVdfQkVHSU4oMCwgJih5eWxvYykpOwo+ICsgICAgICAgICAgICAg
ICAgICAgLyolICUqLwo+ICsgICAgICAgICAgICAgICAgICAgLyolIHJpcHBlcjogQkVHSU4hKCQy
KSAlKi8KPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgNTQ1MiAicGFyc2UuYyIgLyog
eWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSAxMjoKPiArI2xpbmUg
MTAxNSAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7aWYgKCEoeXl2c3BbLTFd
Lm5vZGUpKSB7eXllcnJvcjEoJih5eWxzcFswXSksICJlbHNlIHdpdGhvdXQgcmVzY3VlIGlzIHVz
ZWxlc3MiKTt9fQo+ICsjbGluZSA1NDU4ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiAr
ICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDEzOgo+ICsjbGluZSAxMDE4ICJwYXJzZS55IiAvKiB5
YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgIC8qJSUlKi8KPiAr
ICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBuZXdfYm9keXN0bXQocCwgKHl5
dnNwWy01XS5ub2RlKSwgKHl5dnNwWy00XS5ub2RlKSwgKHl5dnNwWy0xXS5ub2RlKSwgKHl5dnNw
WzBdLm5vZGUpLCAmKHl5bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUgJSovCj4gKyAg
ICAgICAgICAgICAgICAgICAvKiUgcmlwcGVyOiBib2R5c3RtdCEoZXNjYXBlX1F1bmRlZigkMSks
IGVzY2FwZV9RdW5kZWYoJDIpLCBlc2NhcGVfUXVuZGVmKCQ1KSwgZXNjYXBlX1F1bmRlZigkNikp
ICUqLwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA1NDY5ICJwYXJzZS5jIiAvKiB5
YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDE0Ogo+ICsjbGluZSAx
MDI3ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAg
ICAgICAgIC8qJSUlKi8KPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBu
ZXdfYm9keXN0bXQocCwgKHl5dnNwWy0yXS5ub2RlKSwgKHl5dnNwWy0xXS5ub2RlKSwgMCwgKHl5
dnNwWzBdLm5vZGUpLCAmKHl5bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUgJSovCj4g
KyAgICAgICAgICAgICAgICAgICAvKiUgcmlwcGVyOiBib2R5c3RtdCEoZXNjYXBlX1F1bmRlZigk
MSksIGVzY2FwZV9RdW5kZWYoJDIpLCBRbmlsLCBlc2NhcGVfUXVuZGVmKCQzKSkgJSovCj4gKyAg
ICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDU0ODAgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUy
ICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgMTU6Cj4gKyNsaW5lIDEwMzYgInBhcnNl
LnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgICAg
ICh5eXZhbC5ub2RlKSA9IHZvaWRfc3RtdHMocCwgKHl5dnNwWy0xXS5ub2RlKSk7Cj4gKyAgICAg
ICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDU0ODggInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAq
Lwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgMTY6Cj4gKyNsaW5lIDEwNDIgInBhcnNlLnki
IC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgLyolJSUq
Lwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9IE5FV19CRUdJTigwLCAm
KHl5bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUgJSovCj4gKyAgICAgICAgICAgICAg
ICAgICAvKiUgcmlwcGVyOiBzdG10c19hZGQhKHN0bXRzX25ldyEsIHZvaWRfc3RtdCEpICUqLwo+
ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA1NDk5ICJwYXJzZS5jIiAvKiB5YWNjLmM6
MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDE3Ogo+ICsjbGluZSAxMDQ5ICJw
YXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAg
IC8qJSUlKi8KPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBuZXdsaW5l
X25vZGUoKHl5dnNwWzBdLm5vZGUpKTsKPiArICAgICAgICAgICAgICAgICAgIC8qJSAlKi8KPiAr
ICAgICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6IHN0bXRzX2FkZCEoc3RtdHNfbmV3ISwgJDEp
ICUqLwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA1NTEwICJwYXJzZS5jIiAvKiB5
YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDE4Ogo+ICsjbGluZSAx
MDU2ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAg
ICAgICAgIC8qJSUlKi8KPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBi
bG9ja19hcHBlbmQocCwgKHl5dnNwWy0yXS5ub2RlKSwgbmV3bGluZV9ub2RlKCh5eXZzcFswXS5u
b2RlKSkpOwo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsgICAgICAgICAgICAgICAg
ICAgLyolIHJpcHBlcjogc3RtdHNfYWRkISgkMSwgJDMpICUqLwo+ICsgICAgICAgICAgICAgICAg
ICAgfQo+ICsjbGluZSA1NTIxICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJy
ZWFrOwo+ICsKPiArICBjYXNlIDE5Ogo+ICsjbGluZSAxMDYzICJwYXJzZS55IiAvKiB5YWNjLmM6
MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkg
PSByZW1vdmVfYmVnaW4oKHl5dnNwWzBdLm5vZGUpKTsKPiArICAgICAgICAgICAgICAgICAgIH0K
PiArI2xpbmUgNTUyOSAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsK
PiArCj4gKyAgY2FzZSAyMDoKPiArI2xpbmUgMTA2OSAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIg
ICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gKHl5
dnNwWzBdLm5vZGUpOwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA1NTM3ICJwYXJz
ZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDIxOgo+
ICsjbGluZSAxMDczICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAg
ICAgICAgICAgICAgICAgICAgICB5eWVycm9yMSgmKHl5bHNwWzBdKSwgIkJFR0lOIGlzIHBlcm1p
dHRlZCBvbmx5IGF0IHRvcGxldmVsIik7Cj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5l
IDU1NDUgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsg
IGNhc2UgMjI6Cj4gKyNsaW5lIDEwNzcgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsg
ICAgewo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9ICh5eXZzcFswXS5u
b2RlKTsKPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgNTU1MyAicGFyc2UuYyIgLyog
eWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSAyMzoKPiArI2xpbmUg
MTA4MSAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7U0VUX0xFWF9TVEFURShF
WFBSX0ZOQU1FfEVYUFJfRklURU0pO30KPiArI2xpbmUgNTU1OSAicGFyc2UuYyIgLyogeWFjYy5j
OjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSAyNDoKPiArI2xpbmUgMTA4MiAi
cGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAg
ICAvKiUlJSovCj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gTkVXX0FM
SUFTKCh5eXZzcFstMl0ubm9kZSksICh5eXZzcFswXS5ub2RlKSwgJih5eWxvYykpOwo+ICsgICAg
ICAgICAgICAgICAgICAgLyolICUqLwo+ICsgICAgICAgICAgICAgICAgICAgLyolIHJpcHBlcjog
YWxpYXMhKCQyLCAkNCkgJSovCj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDU1NzAg
InBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2Ug
MjU6Cj4gKyNsaW5lIDEwODkgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+
ICsgICAgICAgICAgICAgICAgICAgLyolJSUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5
eXZhbC5ub2RlKSA9IE5FV19WQUxJQVMoKHl5dnNwWy0xXS5pZCksICh5eXZzcFswXS5pZCksICYo
eXlsb2MpKTsKPiArICAgICAgICAgICAgICAgICAgIC8qJSAlKi8KPiArICAgICAgICAgICAgICAg
ICAgIC8qJSByaXBwZXI6IHZhcl9hbGlhcyEoJDIsICQzKSAlKi8KPiArICAgICAgICAgICAgICAg
ICAgIH0KPiArI2xpbmUgNTU4MSAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBi
cmVhazsKPiArCj4gKyAgY2FzZSAyNjoKPiArI2xpbmUgMTA5NiAicGFyc2UueSIgLyogeWFjYy5j
OjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUlJSovCj4gKyAgICAg
ICAgICAgICAgICAgICAgICAgY2hhciBidWZbMl07Cj4gKyAgICAgICAgICAgICAgICAgICAgICAg
YnVmWzBdID0gJyQnOwo+ICsgICAgICAgICAgICAgICAgICAgICAgIGJ1ZlsxXSA9IChjaGFyKSh5
eXZzcFswXS5ub2RlKS0+bmRfbnRoOwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5u
b2RlKSA9IE5FV19WQUxJQVMoKHl5dnNwWy0xXS5pZCksIHJiX2ludGVybjIoYnVmLCAyKSwgJih5
eWxvYykpOwo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsgICAgICAgICAgICAgICAg
ICAgLyolIHJpcHBlcjogdmFyX2FsaWFzISgkMiwgJDMpICUqLwo+ICsgICAgICAgICAgICAgICAg
ICAgfQo+ICsjbGluZSA1NTk1ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJy
ZWFrOwo+ICsKPiArICBjYXNlIDI3Ogo+ICsjbGluZSAxMTA2ICJwYXJzZS55IiAvKiB5YWNjLmM6
MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgIC8qJSUlKi8KPiArICAgICAg
ICAgICAgICAgICAgICAgICB5eWVycm9yMSgmKHl5bHNwWzBdKSwgImNhbid0IG1ha2UgYWxpYXMg
Zm9yIHRoZSBudW1iZXIgdmFyaWFibGVzIik7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5
dmFsLm5vZGUpID0gTkVXX0JFR0lOKDAsICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAgICAg
IC8qJSAlKi8KPiArICAgICAgICAgICAgICAgICAgIC8qJSByaXBwZXJbZXJyb3JdOiBhbGlhc19l
cnJvciEodmFyX2FsaWFzISgkMiwgJDMpKSAlKi8KPiArICAgICAgICAgICAgICAgICAgIH0KPiAr
I2xpbmUgNTYwNyAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiAr
Cj4gKyAgY2FzZSAyODoKPiArI2xpbmUgMTExNCAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICov
Cj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUlJSovCj4gKyAgICAgICAgICAgICAg
ICAgICAgICAgKHl5dmFsLm5vZGUpID0gKHl5dnNwWzBdLm5vZGUpOwo+ICsgICAgICAgICAgICAg
ICAgICAgLyolICUqLwo+ICsgICAgICAgICAgICAgICAgICAgLyolIHJpcHBlcjogdW5kZWYhKCQy
KSAlKi8KPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgNTYxOCAicGFyc2UuYyIgLyog
eWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSAyOToKPiArI2xpbmUg
MTEyMSAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAg
ICAgICAgICAvKiUlJSovCj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0g
bmV3X2lmKHAsICh5eXZzcFswXS5ub2RlKSwgcmVtb3ZlX2JlZ2luKCh5eXZzcFstMl0ubm9kZSkp
LCAwLCAmKHl5bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgZml4cG9zKCh5eXZhbC5u
b2RlKSwgKHl5dnNwWzBdLm5vZGUpKTsKPiArICAgICAgICAgICAgICAgICAgIC8qJSAlKi8KPiAr
ICAgICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6IGlmX21vZCEoJDMsICQxKSAlKi8KPiArICAg
ICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgNTYzMCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIg
ICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSAzMDoKPiArI2xpbmUgMTEyOSAicGFyc2Uu
eSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUl
JSovCj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gbmV3X3VubGVzcyhw
LCAoeXl2c3BbMF0ubm9kZSksIHJlbW92ZV9iZWdpbigoeXl2c3BbLTJdLm5vZGUpKSwgMCwgJih5
eWxvYykpOwo+ICsgICAgICAgICAgICAgICAgICAgICAgIGZpeHBvcygoeXl2YWwubm9kZSksICh5
eXZzcFswXS5ub2RlKSk7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUgJSovCj4gKyAgICAgICAg
ICAgICAgICAgICAvKiUgcmlwcGVyOiB1bmxlc3NfbW9kISgkMywgJDEpICUqLwo+ICsgICAgICAg
ICAgICAgICAgICAgfQo+ICsjbGluZSA1NjQyICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8K
PiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDMxOgo+ICsjbGluZSAxMTM3ICJwYXJzZS55IiAv
KiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgIC8qJSUlKi8K
PiArICAgICAgICAgICAgICAgICAgICAgICBpZiAoKHl5dnNwWy0yXS5ub2RlKSAmJiBuZF90eXBl
KCh5eXZzcFstMl0ubm9kZSkpID09IE5PREVfQkVHSU4pIHsKPiArICAgICAgICAgICAgICAgICAg
ICAgICAgICAgKHl5dmFsLm5vZGUpID0gTkVXX1dISUxFKGNvbmQocCwgKHl5dnNwWzBdLm5vZGUp
LCAmKHl5bHNwWzBdKSksICh5eXZzcFstMl0ubm9kZSktPm5kX2JvZHksIDAsICYoeXlsb2MpKTsK
PiArICAgICAgICAgICAgICAgICAgICAgICB9Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgZWxz
ZSB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9IE5FV19XSElM
RShjb25kKHAsICh5eXZzcFswXS5ub2RlKSwgJih5eWxzcFswXSkpLCAoeXl2c3BbLTJdLm5vZGUp
LCAxLCAmKHl5bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgfQo+ICsgICAgICAgICAg
ICAgICAgICAgLyolICUqLwo+ICsgICAgICAgICAgICAgICAgICAgLyolIHJpcHBlcjogd2hpbGVf
bW9kISgkMywgJDEpICUqLwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA1NjU4ICJw
YXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDMy
Ogo+ICsjbGluZSAxMTQ5ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiAr
ICAgICAgICAgICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAgICAgICAgICAgICAgICBpZiAo
KHl5dnNwWy0yXS5ub2RlKSAmJiBuZF90eXBlKCh5eXZzcFstMl0ubm9kZSkpID09IE5PREVfQkVH
SU4pIHsKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gTkVXX1VO
VElMKGNvbmQocCwgKHl5dnNwWzBdLm5vZGUpLCAmKHl5bHNwWzBdKSksICh5eXZzcFstMl0ubm9k
ZSktPm5kX2JvZHksIDAsICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAgICAgICAgICB9Cj4g
KyAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICh5eXZhbC5ub2RlKSA9IE5FV19VTlRJTChjb25kKHAsICh5eXZzcFswXS5ub2RlKSwgJih5
eWxzcFswXSkpLCAoeXl2c3BbLTJdLm5vZGUpLCAxLCAmKHl5bG9jKSk7Cj4gKyAgICAgICAgICAg
ICAgICAgICAgICAgfQo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsgICAgICAgICAg
ICAgICAgICAgLyolIHJpcHBlcjogdW50aWxfbW9kISgkMywgJDEpICUqLwo+ICsgICAgICAgICAg
ICAgICAgICAgfQo+ICsjbGluZSA1Njc0ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiAr
ICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDMzOgo+ICsjbGluZSAxMTYxICJwYXJzZS55IiAvKiB5
YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgIC8qJSUlKi8KPiAr
ICAgICAgICAgICAgICAgICAgICAgICBOT0RFICpyZXNxOwo+ICsgICAgICAgICAgICAgICAgICAg
ICAgIFlZTFRZUEUgbG9jID0gY29kZV9sb2NfZ2VuKCYoeXlsc3BbLTFdKSwgJih5eWxzcFswXSkp
Owo+ICsgICAgICAgICAgICAgICAgICAgICAgIHJlc3EgPSBORVdfUkVTQk9EWSgwLCByZW1vdmVf
YmVnaW4oKHl5dnNwWzBdLm5vZGUpKSwgMCwgJmxvYyk7Cj4gKyAgICAgICAgICAgICAgICAgICAg
ICAgKHl5dmFsLm5vZGUpID0gTkVXX1JFU0NVRShyZW1vdmVfYmVnaW4oKHl5dnNwWy0yXS5ub2Rl
KSksIHJlc3EsIDAsICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAgICAgIC8qJSAlKi8KPiAr
ICAgICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6IHJlc2N1ZV9tb2QhKCQxLCAkMykgJSovCj4g
KyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDU2ODggInBhcnNlLmMiIC8qIHlhY2MuYzox
NjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgMzQ6Cj4gKyNsaW5lIDExNzEgInBh
cnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAg
ICAgIGlmIChwLT5pbl9kZWYpIHsKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgcmJfd2Fy
bjAoIkVORCBpbiBtZXRob2Q7IHVzZSBhdF9leGl0Iik7Cj4gKyAgICAgICAgICAgICAgICAgICAg
ICAgfQo+ICsgICAgICAgICAgICAgICAgICAgLyolJSUqLwo+ICsgICAgICAgICAgICAgICAgICAg
ICAgIHsKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgTk9ERSAqc2NvcGUgPSBORVdfTk9E
RSgKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5PREVfU0NPUEUsIDAgLyogdGJs
ICovLCAoeXl2c3BbLTFdLm5vZGUpIC8qIGJvZHkgKi8sIDAgLyogYXJncyAqLywgJih5eWxvYykp
Owo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBORVdfUE9TVEVY
RShzY29wZSwgJih5eWxvYykpOwo+ICsgICAgICAgICAgICAgICAgICAgICAgIH0KPiArICAgICAg
ICAgICAgICAgICAgIC8qJSAlKi8KPiArICAgICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6IEVO
RCEoJDMpICUqLwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA1NzA2ICJwYXJzZS5j
IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDM2Ogo+ICsj
bGluZSAxMTg2ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAg
ICAgICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZV9leHBy
KCh5eXZzcFswXS5ub2RlKSk7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUp
ID0gbm9kZV9hc3NpZ24ocCwgKHl5dnNwWy0yXS5ub2RlKSwgKHl5dnNwWzBdLm5vZGUpLCAmKHl5
bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUgJSovCj4gKyAgICAgICAgICAgICAgICAg
ICAvKiUgcmlwcGVyOiBtYXNzaWduISgkMSwgJDMpICUqLwo+ICsgICAgICAgICAgICAgICAgICAg
fQo+ICsjbGluZSA1NzE4ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFr
Owo+ICsKPiArICBjYXNlIDM3Ogo+ICsjbGluZSAxMTk0ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1
MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAg
ICAgICAgICAgICAgICB2YWx1ZV9leHByKCh5eXZzcFswXS5ub2RlKSk7Cj4gKyAgICAgICAgICAg
ICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gbm9kZV9hc3NpZ24ocCwgKHl5dnNwWy0yXS5ub2Rl
KSwgKHl5dnNwWzBdLm5vZGUpLCAmKHl5bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUg
JSovCj4gKyAgICAgICAgICAgICAgICAgICAvKiUgcmlwcGVyOiBhc3NpZ24hKCQxLCAkMykgJSov
Cj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDU3MzAgInBhcnNlLmMiIC8qIHlhY2Mu
YzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgMzg6Cj4gKyNsaW5lIDEyMDIg
InBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAg
ICAgLyolJSUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9IG5vZGVf
YXNzaWduKHAsICh5eXZzcFstMl0ubm9kZSksICh5eXZzcFswXS5ub2RlKSwgJih5eWxvYykpOwo+
ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsgICAgICAgICAgICAgICAgICAgLyolIHJp
cHBlcjogbWFzc2lnbiEoJDEsICQzKSAlKi8KPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xp
bmUgNTc0MSAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4g
KyAgY2FzZSA0MDoKPiArI2xpbmUgMTIxMiAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4g
KyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUlJSovCj4gKyAgICAgICAgICAgICAgICAg
ICAgICAgdmFsdWVfZXhwcigoeXl2c3BbMF0ubm9kZSkpOwo+ICsgICAgICAgICAgICAgICAgICAg
ICAgICh5eXZhbC5ub2RlKSA9IG5vZGVfYXNzaWduKHAsICh5eXZzcFstMl0ubm9kZSksICh5eXZz
cFswXS5ub2RlKSwgJih5eWxvYykpOwo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsg
ICAgICAgICAgICAgICAgICAgLyolIHJpcHBlcjogYXNzaWduISgkMSwgJDMpICUqLwo+ICsgICAg
ICAgICAgICAgICAgICAgfQo+ICsjbGluZSA1NzUzICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAg
Ki8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDQxOgo+ICsjbGluZSAxMjIwICJwYXJzZS55
IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgIC8qJSUl
Ki8KPiArICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZV9leHByKCh5eXZzcFswXS5ub2RlKSk7
Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gbmV3X29wX2Fzc2lnbihw
LCAoeXl2c3BbLTJdLm5vZGUpLCAoeXl2c3BbLTFdLmlkKSwgKHl5dnNwWzBdLm5vZGUpLCAmKHl5
bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUgJSovCj4gKyAgICAgICAgICAgICAgICAg
ICAvKiUgcmlwcGVyOiBvcGFzc2lnbiEoJDEsICQyLCAkMykgJSovCj4gKyAgICAgICAgICAgICAg
ICAgICB9Cj4gKyNsaW5lIDU3NjUgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAg
YnJlYWs7Cj4gKwo+ICsgIGNhc2UgNDI6Cj4gKyNsaW5lIDEyMjggInBhcnNlLnkiIC8qIHlhY2Mu
YzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgLyolJSUqLwo+ICsgICAg
ICAgICAgICAgICAgICAgICAgIHZhbHVlX2V4cHIoKHl5dnNwWzBdLm5vZGUpKTsKPiArICAgICAg
ICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBuZXdfYXJ5X29wX2Fzc2lnbihwLCAoeXl2
c3BbLTVdLm5vZGUpLCAoeXl2c3BbLTNdLm5vZGUpLCAoeXl2c3BbLTFdLmlkKSwgKHl5dnNwWzBd
Lm5vZGUpLCAmKHl5bHNwWy0zXSksICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAgICAgIC8q
JSAlKi8KPiArICAgICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6IG9wYXNzaWduIShhcmVmX2Zp
ZWxkISgkMSwgZXNjYXBlX1F1bmRlZigkMykpLCAkNSwgJDYpICUqLwo+ICsKPiArICAgICAgICAg
ICAgICAgICAgIH0KPiArI2xpbmUgNTc3OCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4g
KyAgICBicmVhazsKPiArCj4gKyAgY2FzZSA0MzoKPiArI2xpbmUgMTIzNyAicGFyc2UueSIgLyog
eWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUlJSovCj4g
KyAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVfZXhwcigoeXl2c3BbMF0ubm9kZSkpOwo+ICsg
ICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9IG5ld19hdHRyX29wX2Fzc2lnbihw
LCAoeXl2c3BbLTRdLm5vZGUpLCAoeXl2c3BbLTNdLmlkKSwgKHl5dnNwWy0yXS5pZCksICh5eXZz
cFstMV0uaWQpLCAoeXl2c3BbMF0ubm9kZSksICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAg
ICAgIC8qJSAlKi8KPiArICAgICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6IG9wYXNzaWduIShm
aWVsZCEoJDEsICQyLCAkMyksICQ0LCAkNSkgJSovCj4gKyAgICAgICAgICAgICAgICAgICB9Cj4g
KyNsaW5lIDU3OTAgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4g
Kwo+ICsgIGNhc2UgNDQ6Cj4gKyNsaW5lIDEyNDUgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAq
Lwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgLyolJSUqLwo+ICsgICAgICAgICAgICAg
ICAgICAgICAgIHZhbHVlX2V4cHIoKHl5dnNwWzBdLm5vZGUpKTsKPiArICAgICAgICAgICAgICAg
ICAgICAgICAoeXl2YWwubm9kZSkgPSBuZXdfYXR0cl9vcF9hc3NpZ24ocCwgKHl5dnNwWy00XS5u
b2RlKSwgKHl5dnNwWy0zXS5pZCksICh5eXZzcFstMl0uaWQpLCAoeXl2c3BbLTFdLmlkKSwgKHl5
dnNwWzBdLm5vZGUpLCAmKHl5bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUgJSovCj4g
KyAgICAgICAgICAgICAgICAgICAvKiUgcmlwcGVyOiBvcGFzc2lnbiEoZmllbGQhKCQxLCAkMiwg
JDMpLCAkNCwgJDUpICUqLwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA1ODAyICJw
YXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDQ1
Ogo+ICsjbGluZSAxMjUzICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiAr
ICAgICAgICAgICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAgICAgICAgICAgICAgICBZWUxU
WVBFIGxvYyA9IGNvZGVfbG9jX2dlbigmKHl5bHNwWy00XSksICYoeXlsc3BbLTJdKSk7Cj4gKyAg
ICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gbmV3X2NvbnN0X29wX2Fzc2lnbihw
LCBORVdfQ09MT04yKCh5eXZzcFstNF0ubm9kZSksICh5eXZzcFstMl0uaWQpLCAmbG9jKSwgKHl5
dnNwWy0xXS5pZCksICh5eXZzcFswXS5ub2RlKSwgJih5eWxvYykpOwo+ICsgICAgICAgICAgICAg
ICAgICAgLyolICUqLwo+ICsgICAgICAgICAgICAgICAgICAgLyolIHJpcHBlcjogb3Bhc3NpZ24h
KGNvbnN0X3BhdGhfZmllbGQhKCQxLCAkMyksICQ0LCAkNSkgJSovCj4gKyAgICAgICAgICAgICAg
ICAgICB9Cj4gKyNsaW5lIDU4MTQgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAg
YnJlYWs7Cj4gKwo+ICsgIGNhc2UgNDY6Cj4gKyNsaW5lIDEyNjEgInBhcnNlLnkiIC8qIHlhY2Mu
YzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgLyolJSUqLwo+ICsgICAg
ICAgICAgICAgICAgICAgICAgIHZhbHVlX2V4cHIoKHl5dnNwWzBdLm5vZGUpKTsKPiArICAgICAg
ICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBuZXdfYXR0cl9vcF9hc3NpZ24ocCwgKHl5
dnNwWy00XS5ub2RlKSwgSUQyVkFMKGlkQ09MT04yKSwgKHl5dnNwWy0yXS5pZCksICh5eXZzcFst
MV0uaWQpLCAoeXl2c3BbMF0ubm9kZSksICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAgICAg
IC8qJSAlKi8KPiArICAgICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6IG9wYXNzaWduIShmaWVs
ZCEoJDEsIElEMlZBTChpZENPTE9OMiksICQzKSwgJDQsICQ1KSAlKi8KPiArICAgICAgICAgICAg
ICAgICAgIH0KPiArI2xpbmUgNTgyNiAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAg
ICBicmVhazsKPiArCj4gKyAgY2FzZSA0NzoKPiArI2xpbmUgMTI2OSAicGFyc2UueSIgLyogeWFj
Yy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUlJSovCj4gKyAg
ICAgICAgICAgICAgICAgICAgICAgcmJfYmFja3JlZl9lcnJvcihwLCAoeXl2c3BbLTJdLm5vZGUp
KTsKPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBORVdfQkVHSU4oMCwg
Jih5eWxvYykpOwo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsgICAgICAgICAgICAg
ICAgICAgLyolIHJpcHBlcltlcnJvcl06IGFzc2lnbl9lcnJvciEoYXNzaWduISh2YXJfZmllbGQo
cCwgJDEpLCAkMykpICUqLwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA1ODM4ICJw
YXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDQ4
Ogo+ICsjbGluZSAxMjc5ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiAr
ICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZV9leHByKCh5eXZzcFswXS5ub2RlKSk7Cj4gKyAg
ICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gKHl5dnNwWzBdLm5vZGUpOwo+ICsg
ICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA1ODQ3ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1
MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDQ5Ogo+ICsjbGluZSAxMjg0ICJwYXJz
ZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgIC8q
JSUlKi8KPiArICAgICAgICAgICAgICAgICAgICAgICBZWUxUWVBFIGxvYyA9IGNvZGVfbG9jX2dl
bigmKHl5bHNwWy0xXSksICYoeXlsc3BbMF0pKTsKPiArICAgICAgICAgICAgICAgICAgICAgICB2
YWx1ZV9leHByKCh5eXZzcFstMl0ubm9kZSkpOwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5
eXZhbC5ub2RlKSA9IE5FV19SRVNDVUUoKHl5dnNwWy0yXS5ub2RlKSwgTkVXX1JFU0JPRFkoMCwg
cmVtb3ZlX2JlZ2luKCh5eXZzcFswXS5ub2RlKSksIDAsICZsb2MpLCAwLCAmKHl5bG9jKSk7Cj4g
KyAgICAgICAgICAgICAgICAgICAvKiUgJSovCj4gKyAgICAgICAgICAgICAgICAgICAvKiUgcmlw
cGVyOiByZXNjdWVfbW9kISgkMSwgJDMpICUqLwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsj
bGluZSA1ODYwICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsK
PiArICBjYXNlIDUyOgo+ICsjbGluZSAxMjk3ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8K
PiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBsb2dvcChw
LCBpZEFORCwgKHl5dnNwWy0yXS5ub2RlKSwgKHl5dnNwWzBdLm5vZGUpLCAmKHl5bHNwWy0xXSks
ICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgNTg2OCAicGFyc2Uu
YyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSA1MzoKPiAr
I2xpbmUgMTMwMSAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAg
ICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gbG9nb3AocCwgaWRPUiwgKHl5dnNwWy0y
XS5ub2RlKSwgKHl5dnNwWzBdLm5vZGUpLCAmKHl5bHNwWy0xXSksICYoeXlsb2MpKTsKPiArICAg
ICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgNTg3NiAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIg
ICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSA1NDoKPiArI2xpbmUgMTMwNSAicGFyc2Uu
eSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAg
KHl5dmFsLm5vZGUpID0gY2FsbF91bmlfb3AocCwgbWV0aG9kX2NvbmQocCwgKHl5dnNwWzBdLm5v
ZGUpLCAmKHl5bHNwWzBdKSksIE1FVEhPRF9OT1QsICYoeXlsc3BbLTJdKSwgJih5eWxvYykpOwo+
ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA1ODg0ICJwYXJzZS5jIiAvKiB5YWNjLmM6
MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDU1Ogo+ICsjbGluZSAxMzA5ICJw
YXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAg
ICAgICAoeXl2YWwubm9kZSkgPSBjYWxsX3VuaV9vcChwLCBtZXRob2RfY29uZChwLCAoeXl2c3Bb
MF0ubm9kZSksICYoeXlsc3BbMF0pKSwgJyEnLCAmKHl5bHNwWy0xXSksICYoeXlsb2MpKTsKPiAr
ICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgNTg5MiAicGFyc2UuYyIgLyogeWFjYy5jOjE2
NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSA1NzoKPiArI2xpbmUgMTMxNiAicGFy
c2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAg
ICAgdmFsdWVfZXhwcigoeXl2c3BbMF0ubm9kZSkpOwo+ICsgICAgICAgICAgICAgICAgICAgICAg
ICh5eXZhbC5ub2RlKSA9ICh5eXZzcFswXS5ub2RlKTsKPiArICAgICAgICAgICAgICAgICAgIH0K
PiArI2xpbmUgNTkwMSAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsK
PiArCj4gKyAgY2FzZSA1ODoKPiArI2xpbmUgMTMyMiAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIg
ICovCj4gKyAgICB7Q09ORF9QVVNIKDEpO30KPiArI2xpbmUgNTkwNyAicGFyc2UuYyIgLyogeWFj
Yy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSA1OToKPiArI2xpbmUgMTMy
MiAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Q09ORF9QT1AoKTt9Cj4gKyNs
aW5lIDU5MTMgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+
ICsgIGNhc2UgNjA6Cj4gKyNsaW5lIDEzMjMgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+
ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9ICh5eXZzcFst
Ml0ubm9kZSk7Cj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDU5MjEgInBhcnNlLmMi
IC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgNjQ6Cj4gKyNs
aW5lIDEzMzQgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAg
ICAgICAgICAgICAgLyolJSUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2Rl
KSA9IG5ld19xY2FsbChwLCAoeXl2c3BbLTJdLmlkKSwgKHl5dnNwWy0zXS5ub2RlKSwgKHl5dnNw
Wy0xXS5pZCksICh5eXZzcFswXS5ub2RlKSwgJih5eWxzcFstMV0pLCAmKHl5bG9jKSk7Cj4gKyAg
ICAgICAgICAgICAgICAgICAvKiUgJSovCj4gKyAgICAgICAgICAgICAgICAgICAvKiUgcmlwcGVy
OiBtZXRob2RfYWRkX2FyZyEoY2FsbCEoJDEsICQyLCAkMyksICQ0KSAlKi8KPiArICAgICAgICAg
ICAgICAgICAgIH0KPiArI2xpbmUgNTkzMiAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4g
KyAgICBicmVhazsKPiArCj4gKyAgY2FzZSA2NToKPiArI2xpbmUgMTM0MyAicGFyc2UueSIgLyog
eWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFs
Lm5vZGUpID0gKHl5dnNwWy0xXS5ub2RlKTsKPiArICAgICAgICAgICAgICAgICAgIC8qJSUlKi8K
PiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSktPm5kX2JvZHktPm5kX2xvYyA9
IGNvZGVfbG9jX2dlbigmKHl5bHNwWy0yXSksICYoeXlsc3BbMF0pKTsKPiArICAgICAgICAgICAg
ICAgICAgICAgICBuZF9zZXRfbGluZSgoeXl2YWwubm9kZSksICh5eWxzcFstMl0pLmVuZF9wb3Mu
bGluZW5vKTsKPiArICAgICAgICAgICAgICAgICAgIC8qJSAlKi8KPiArICAgICAgICAgICAgICAg
ICAgIH0KPiArI2xpbmUgNTk0NCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBi
cmVhazsKPiArCj4gKyAgY2FzZSA2NjoKPiArI2xpbmUgMTM1MyAicGFyc2UueSIgLyogeWFjYy5j
OjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUlJSovCj4gKyAgICAg
ICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gTkVXX0ZDQUxMKCh5eXZzcFswXS5pZCks
IDAsICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAgICAgICAgICBuZF9zZXRfbGluZSgoeXl2
YWwubm9kZSksIHAtPnRva2xpbmUpOwo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsg
ICAgICAgICAgICAgICAgICAgLyolIHJpcHBlcjogJDEgJSovCj4gKyAgICAgICAgICAgICAgICAg
ICB9Cj4gKyNsaW5lIDU5NTYgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJl
YWs7Cj4gKwo+ICsgIGNhc2UgNjc6Cj4gKyNsaW5lIDEzNjMgInBhcnNlLnkiIC8qIHlhY2MuYzox
NjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgLyolJSUqLwo+ICsgICAgICAg
ICAgICAgICAgICAgICAgICh5eXZzcFstMV0ubm9kZSktPm5kX2FyZ3MgPSAoeXl2c3BbMF0ubm9k
ZSk7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgbmRfc2V0X2xhc3RfbG9jKCh5eXZzcFstMV0u
bm9kZSksICh5eWxzcFswXSkuZW5kX3Bvcyk7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5
dmFsLm5vZGUpID0gKHl5dnNwWy0xXS5ub2RlKTsKPiArICAgICAgICAgICAgICAgICAgIC8qJSAl
Ki8KPiArICAgICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6IGNvbW1hbmQhKCQxLCAkMikgJSov
Cj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDU5NjkgInBhcnNlLmMiIC8qIHlhY2Mu
YzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgNjg6Cj4gKyNsaW5lIDEzNzIg
InBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAg
ICAgLyolJSUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAgIGJsb2NrX2R1cF9jaGVjayhwLCAo
eXl2c3BbLTFdLm5vZGUpLCAoeXl2c3BbMF0ubm9kZSkpOwo+ICsgICAgICAgICAgICAgICAgICAg
ICAgICh5eXZzcFstMl0ubm9kZSktPm5kX2FyZ3MgPSAoeXl2c3BbLTFdLm5vZGUpOwo+ICsgICAg
ICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9IG1ldGhvZF9hZGRfYmxvY2socCwgKHl5
dnNwWy0yXS5ub2RlKSwgKHl5dnNwWzBdLm5vZGUpLCAmKHl5bG9jKSk7Cj4gKyAgICAgICAgICAg
ICAgICAgICAgICAgZml4cG9zKCh5eXZhbC5ub2RlKSwgKHl5dnNwWy0yXS5ub2RlKSk7Cj4gKyAg
ICAgICAgICAgICAgICAgICAgICAgbmRfc2V0X2xhc3RfbG9jKCh5eXZzcFstMl0ubm9kZSksICh5
eWxzcFstMV0pLmVuZF9wb3MpOwo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsgICAg
ICAgICAgICAgICAgICAgLyolIHJpcHBlcjogbWV0aG9kX2FkZF9ibG9jayEoY29tbWFuZCEoJDEs
ICQyKSwgJDMpICUqLwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA1OTg0ICJwYXJz
ZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDY5Ogo+
ICsjbGluZSAxMzgzICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAg
ICAgICAgICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwu
bm9kZSkgPSBuZXdfY29tbWFuZF9xY2FsbChwLCAoeXl2c3BbLTJdLmlkKSwgKHl5dnNwWy0zXS5u
b2RlKSwgKHl5dnNwWy0xXS5pZCksICh5eXZzcFswXS5ub2RlKSwgUW51bGwsICYoeXlsc3BbLTFd
KSwgJih5eWxvYykpOwo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsgICAgICAgICAg
ICAgICAgICAgLyolIHJpcHBlcjogY29tbWFuZF9jYWxsISgkMSwgJDIsICQzLCAkNCkgJSovCj4g
KyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDU5OTUgInBhcnNlLmMiIC8qIHlhY2MuYzox
NjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgNzA6Cj4gKyNsaW5lIDEzOTAgInBh
cnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAg
LyolJSUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9IG5ld19jb21t
YW5kX3FjYWxsKHAsICh5eXZzcFstM10uaWQpLCAoeXl2c3BbLTRdLm5vZGUpLCAoeXl2c3BbLTJd
LmlkKSwgKHl5dnNwWy0xXS5ub2RlKSwgKHl5dnNwWzBdLm5vZGUpLCAmKHl5bHNwWy0yXSksICYo
eXlsb2MpKTsKPiArICAgICAgICAgICAgICAgICAgIC8qJSAlKi8KPiArICAgICAgICAgICAgICAg
ICAgIC8qJSByaXBwZXI6IG1ldGhvZF9hZGRfYmxvY2shKGNvbW1hbmRfY2FsbCEoJDEsICQyLCAk
MywgJDQpLCAkNSkgJSovCj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDYwMDYgInBh
cnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgNzE6
Cj4gKyNsaW5lIDEzOTcgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsg
ICAgICAgICAgICAgICAgICAgLyolJSUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZh
bC5ub2RlKSA9IG5ld19jb21tYW5kX3FjYWxsKHAsIElEMlZBTChpZENPTE9OMiksICh5eXZzcFst
M10ubm9kZSksICh5eXZzcFstMV0uaWQpLCAoeXl2c3BbMF0ubm9kZSksIFFudWxsLCAmKHl5bHNw
Wy0xXSksICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAgICAgIC8qJSAlKi8KPiArICAgICAg
ICAgICAgICAgICAgIC8qJSByaXBwZXI6IGNvbW1hbmRfY2FsbCEoJDEsIElEMlZBTChpZENPTE9O
MiksICQzLCAkNCkgJSovCj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDYwMTcgInBh
cnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgNzI6
Cj4gKyNsaW5lIDE0MDQgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsg
ICAgICAgICAgICAgICAgICAgLyolJSUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZh
bC5ub2RlKSA9IG5ld19jb21tYW5kX3FjYWxsKHAsIElEMlZBTChpZENPTE9OMiksICh5eXZzcFst
NF0ubm9kZSksICh5eXZzcFstMl0uaWQpLCAoeXl2c3BbLTFdLm5vZGUpLCAoeXl2c3BbMF0ubm9k
ZSksICYoeXlsc3BbLTJdKSwgJih5eWxvYykpOwo+ICsgICAgICAgICAgICAgICAgICAgLyolICUq
Lwo+ICsgICAgICAgICAgICAgICAgICAgLyolIHJpcHBlcjogbWV0aG9kX2FkZF9ibG9jayEoY29t
bWFuZF9jYWxsISgkMSwgSUQyVkFMKGlkQ09MT04yKSwgJDMsICQ0KSwgJDUpICUqLwo+ICsgICAg
ICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDYwMjggInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAq
Lwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgNzM6Cj4gKyNsaW5lIDE0MTEgInBhcnNlLnki
IC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgLyolJSUq
Lwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9IE5FV19TVVBFUigoeXl2
c3BbMF0ubm9kZSksICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAgICAgICAgICBmaXhwb3Mo
KHl5dmFsLm5vZGUpLCAoeXl2c3BbMF0ubm9kZSkpOwo+ICsgICAgICAgICAgICAgICAgICAgLyol
ICUqLwo+ICsgICAgICAgICAgICAgICAgICAgLyolIHJpcHBlcjogc3VwZXIhKCQyKSAlKi8KPiAr
ICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgNjA0MCAicGFyc2UuYyIgLyogeWFjYy5jOjE2
NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSA3NDoKPiArI2xpbmUgMTQxOSAicGFy
c2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAv
KiUlJSovCj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gbmV3X3lpZWxk
KHAsICh5eXZzcFswXS5ub2RlKSwgJih5eWxvYykpOwo+ICsgICAgICAgICAgICAgICAgICAgICAg
IGZpeHBvcygoeXl2YWwubm9kZSksICh5eXZzcFswXS5ub2RlKSk7Cj4gKyAgICAgICAgICAgICAg
ICAgICAvKiUgJSovCj4gKyAgICAgICAgICAgICAgICAgICAvKiUgcmlwcGVyOiB5aWVsZCEoJDIp
ICUqLwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA2MDUyICJwYXJzZS5jIiAvKiB5
YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDc1Ogo+ICsjbGluZSAx
NDI3ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAg
ICAgICAgIC8qJSUlKi8KPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBO
RVdfUkVUVVJOKHJldF9hcmdzKHAsICh5eXZzcFswXS5ub2RlKSksICYoeXlsb2MpKTsKPiArICAg
ICAgICAgICAgICAgICAgIC8qJSAlKi8KPiArICAgICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6
IHJldHVybiEoJDIpICUqLwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA2MDYzICJw
YXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDc2
Ogo+ICsjbGluZSAxNDM0ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiAr
ICAgICAgICAgICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2
YWwubm9kZSkgPSBORVdfQlJFQUsocmV0X2FyZ3MocCwgKHl5dnNwWzBdLm5vZGUpKSwgJih5eWxv
YykpOwo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsgICAgICAgICAgICAgICAgICAg
LyolIHJpcHBlcjogYnJlYWshKCQyKSAlKi8KPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xp
bmUgNjA3NCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4g
KyAgY2FzZSA3NzoKPiArI2xpbmUgMTQ0MSAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4g
KyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUlJSovCj4gKyAgICAgICAgICAgICAgICAg
ICAgICAgKHl5dmFsLm5vZGUpID0gTkVXX05FWFQocmV0X2FyZ3MocCwgKHl5dnNwWzBdLm5vZGUp
KSwgJih5eWxvYykpOwo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsgICAgICAgICAg
ICAgICAgICAgLyolIHJpcHBlcjogbmV4dCEoJDIpICUqLwo+ICsgICAgICAgICAgICAgICAgICAg
fQo+ICsjbGluZSA2MDg1ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFr
Owo+ICsKPiArICBjYXNlIDc5Ogo+ICsjbGluZSAxNDUxICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1
MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAg
ICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSAoeXl2c3BbLTFdLm5vZGUpOwo+ICsgICAgICAg
ICAgICAgICAgICAgLyolICUqLwo+ICsgICAgICAgICAgICAgICAgICAgLyolIHJpcHBlcjogbWxo
c19wYXJlbiEoJDIpICUqLwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA2MDk2ICJw
YXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDgx
Ogo+ICsjbGluZSAxNDYxICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiAr
ICAgICAgICAgICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2
YWwubm9kZSkgPSBORVdfTUFTR04oTkVXX0xJU1QoKHl5dnNwWy0xXS5ub2RlKSwgJih5eWxvYykp
LCAwLCAmKHl5bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUgJSovCj4gKyAgICAgICAg
ICAgICAgICAgICAvKiUgcmlwcGVyOiBtbGhzX3BhcmVuISgkMikgJSovCj4gKyAgICAgICAgICAg
ICAgICAgICB9Cj4gKyNsaW5lIDYxMDcgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsg
ICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgODI6Cj4gKyNsaW5lIDE0NzAgInBhcnNlLnkiIC8qIHlh
Y2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgLyolJSUqLwo+ICsg
ICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9IE5FV19NQVNHTigoeXl2c3BbMF0u
bm9kZSksIDAsICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAgICAgIC8qJSAlKi8KPiArICAg
ICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6ICQxICUqLwo+ICsgICAgICAgICAgICAgICAgICAg
fQo+ICsjbGluZSA2MTE4ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFr
Owo+ICsKPiArICBjYXNlIDgzOgo+ICsjbGluZSAxNDc3ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1
MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAg
ICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBORVdfTUFTR04obGlzdF9hcHBlbmQocCwgKHl5
dnNwWy0xXS5ub2RlKSwoeXl2c3BbMF0ubm9kZSkpLCAwLCAmKHl5bG9jKSk7Cj4gKyAgICAgICAg
ICAgICAgICAgICAvKiUgJSovCj4gKyAgICAgICAgICAgICAgICAgICAvKiUgcmlwcGVyOiBtbGhz
X2FkZCEoJDEsICQyKSAlKi8KPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgNjEyOSAi
cGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSA4
NDoKPiArI2xpbmUgMTQ4NCAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4g
KyAgICAgICAgICAgICAgICAgICAvKiUlJSovCj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5
dmFsLm5vZGUpID0gTkVXX01BU0dOKCh5eXZzcFstMl0ubm9kZSksICh5eXZzcFswXS5ub2RlKSwg
Jih5eWxvYykpOwo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsgICAgICAgICAgICAg
ICAgICAgLyolIHJpcHBlcjogbWxoc19hZGRfc3RhciEoJDEsICQzKSAlKi8KPiArICAgICAgICAg
ICAgICAgICAgIH0KPiArI2xpbmUgNjE0MCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4g
KyAgICBicmVhazsKPiArCj4gKyAgY2FzZSA4NToKPiArI2xpbmUgMTQ5MSAicGFyc2UueSIgLyog
eWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUlJSovCj4g
KyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gTkVXX01BU0dOKCh5eXZzcFst
NF0ubm9kZSksIE5FV19QT1NUQVJHKCh5eXZzcFstMl0ubm9kZSksKHl5dnNwWzBdLm5vZGUpLCYo
eXlsb2MpKSwgJih5eWxvYykpOwo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsgICAg
ICAgICAgICAgICAgICAgLyolIHJpcHBlcjogbWxoc19hZGRfcG9zdCEobWxoc19hZGRfc3RhciEo
JDEsICQzKSwgJDUpICUqLwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA2MTUxICJw
YXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDg2
Ogo+ICsjbGluZSAxNDk4ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiAr
ICAgICAgICAgICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2
YWwubm9kZSkgPSBORVdfTUFTR04oKHl5dnNwWy0xXS5ub2RlKSwgTk9ERV9TUEVDSUFMX05PX05B
TUVfUkVTVCwgJih5eWxvYykpOwo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsgICAg
ICAgICAgICAgICAgICAgLyolIHJpcHBlcjogbWxoc19hZGRfc3RhciEoJDEsIFFuaWwpICUqLwo+
ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA2MTYyICJwYXJzZS5jIiAvKiB5YWNjLmM6
MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDg3Ogo+ICsjbGluZSAxNTA1ICJw
YXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAg
IC8qJSUlKi8KPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBORVdfTUFT
R04oKHl5dnNwWy0zXS5ub2RlKSwgTkVXX1BPU1RBUkcoTk9ERV9TUEVDSUFMX05PX05BTUVfUkVT
VCwgKHl5dnNwWzBdLm5vZGUpLCAmKHl5bG9jKSksICYoeXlsb2MpKTsKPiArICAgICAgICAgICAg
ICAgICAgIC8qJSAlKi8KPiArICAgICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6IG1saHNfYWRk
X3Bvc3QhKG1saHNfYWRkX3N0YXIhKCQxLCBRbmlsKSwgJDQpICUqLwo+ICsgICAgICAgICAgICAg
ICAgICAgfQo+ICsjbGluZSA2MTczICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAg
IGJyZWFrOwo+ICsKPiArICBjYXNlIDg4Ogo+ICsjbGluZSAxNTEyICJwYXJzZS55IiAvKiB5YWNj
LmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgIC8qJSUlKi8KPiArICAg
ICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBORVdfTUFTR04oMCwgKHl5dnNwWzBd
Lm5vZGUpLCAmKHl5bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUgJSovCj4gKyAgICAg
ICAgICAgICAgICAgICAvKiUgcmlwcGVyOiBtbGhzX2FkZF9zdGFyIShtbGhzX25ldyEsICQyKSAl
Ki8KPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgNjE4NCAicGFyc2UuYyIgLyogeWFj
Yy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSA4OToKPiArI2xpbmUgMTUx
OSAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAg
ICAgICAvKiUlJSovCj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gTkVX
X01BU0dOKDAsIE5FV19QT1NUQVJHKCh5eXZzcFstMl0ubm9kZSksKHl5dnNwWzBdLm5vZGUpLCYo
eXlsb2MpKSwgJih5eWxvYykpOwo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsgICAg
ICAgICAgICAgICAgICAgLyolIHJpcHBlcjogbWxoc19hZGRfcG9zdCEobWxoc19hZGRfc3RhciEo
bWxoc19uZXchLCAkMiksICQ0KSAlKi8KPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUg
NjE5NSAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAg
Y2FzZSA5MDoKPiArI2xpbmUgMTUyNiAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAg
ICB7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUlJSovCj4gKyAgICAgICAgICAgICAgICAgICAg
ICAgKHl5dmFsLm5vZGUpID0gTkVXX01BU0dOKDAsIE5PREVfU1BFQ0lBTF9OT19OQU1FX1JFU1Qs
ICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAgICAgIC8qJSAlKi8KPiArICAgICAgICAgICAg
ICAgICAgIC8qJSByaXBwZXI6IG1saHNfYWRkX3N0YXIhKG1saHNfbmV3ISwgUW5pbCkgJSovCj4g
KyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDYyMDYgInBhcnNlLmMiIC8qIHlhY2MuYzox
NjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgOTE6Cj4gKyNsaW5lIDE1MzMgInBh
cnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAg
LyolJSUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9IE5FV19NQVNH
TigwLCBORVdfUE9TVEFSRyhOT0RFX1NQRUNJQUxfTk9fTkFNRV9SRVNULCAoeXl2c3BbMF0ubm9k
ZSksICYoeXlsb2MpKSwgJih5eWxvYykpOwo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+
ICsgICAgICAgICAgICAgICAgICAgLyolIHJpcHBlcjogbWxoc19hZGRfcG9zdCEobWxoc19hZGRf
c3RhciEobWxoc19uZXchLCBRbmlsKSwgJDMpICUqLwo+ICsgICAgICAgICAgICAgICAgICAgfQo+
ICsjbGluZSA2MjE3ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+
ICsKPiArICBjYXNlIDkzOgo+ICsjbGluZSAxNTQzICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAg
Ki8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAgICAg
ICAgICAgICAgICAoeXl2YWwubm9kZSkgPSAoeXl2c3BbLTFdLm5vZGUpOwo+ICsgICAgICAgICAg
ICAgICAgICAgLyolICUqLwo+ICsgICAgICAgICAgICAgICAgICAgLyolIHJpcHBlcjogbWxoc19w
YXJlbiEoJDIpICUqLwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA2MjI4ICJwYXJz
ZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDk0Ogo+
ICsjbGluZSAxNTUyICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAg
ICAgICAgICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwu
bm9kZSkgPSBORVdfTElTVCgoeXl2c3BbLTFdLm5vZGUpLCAmKHl5bHNwWy0xXSkpOwo+ICsgICAg
ICAgICAgICAgICAgICAgLyolICUqLwo+ICsgICAgICAgICAgICAgICAgICAgLyolIHJpcHBlcjog
bWxoc19hZGQhKG1saHNfbmV3ISwgJDEpICUqLwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsj
bGluZSA2MjM5ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsK
PiArICBjYXNlIDk1Ogo+ICsjbGluZSAxNTU5ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8K
PiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAgICAgICAg
ICAgICAgICAoeXl2YWwubm9kZSkgPSBsaXN0X2FwcGVuZChwLCAoeXl2c3BbLTJdLm5vZGUpLCAo
eXl2c3BbLTFdLm5vZGUpKTsKPiArICAgICAgICAgICAgICAgICAgIC8qJSAlKi8KPiArICAgICAg
ICAgICAgICAgICAgIC8qJSByaXBwZXI6IG1saHNfYWRkISgkMSwgJDIpICUqLwo+ICsgICAgICAg
ICAgICAgICAgICAgfQo+ICsjbGluZSA2MjUwICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8K
PiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDk2Ogo+ICsjbGluZSAxNTY4ICJwYXJzZS55IiAv
KiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgIC8qJSUlKi8K
PiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBORVdfTElTVCgoeXl2c3Bb
MF0ubm9kZSksICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAgICAgIC8qJSAlKi8KPiArICAg
ICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6IG1saHNfYWRkIShtbGhzX25ldyEsICQxKSAlKi8K
PiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgNjI2MSAicGFyc2UuYyIgLyogeWFjYy5j
OjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSA5NzoKPiArI2xpbmUgMTU3NSAi
cGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAg
ICAvKiUlJSovCj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gbGlzdF9h
cHBlbmQocCwgKHl5dnNwWy0yXS5ub2RlKSwgKHl5dnNwWzBdLm5vZGUpKTsKPiArICAgICAgICAg
ICAgICAgICAgIC8qJSAlKi8KPiArICAgICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6IG1saHNf
YWRkISgkMSwgJDMpICUqLwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA2MjcyICJw
YXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDk4
Ogo+ICsjbGluZSAxNTg0ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiAr
ICAgICAgICAgICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2
YWwubm9kZSkgPSBhc3NpZ25hYmxlKHAsICh5eXZzcFswXS5pZCksIDAsICYoeXlsb2MpKTsKPiAr
ICAgICAgICAgICAgICAgICAgIC8qJSAlKi8KPiArICAgICAgICAgICAgICAgICAgIC8qJSByaXBw
ZXI6IGFzc2lnbmFibGUocCwgdmFyX2ZpZWxkKHAsICQxKSkgJSovCj4gKyAgICAgICAgICAgICAg
ICAgICB9Cj4gKyNsaW5lIDYyODMgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAg
YnJlYWs7Cj4gKwo+ICsgIGNhc2UgOTk6Cj4gKyNsaW5lIDE1OTEgInBhcnNlLnkiIC8qIHlhY2Mu
YzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgLyolJSUqLwo+ICsgICAg
ICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9IGFzc2lnbmFibGUocCwgKHl5dnNwWzBd
LmlkKSwgMCwgJih5eWxvYykpOwo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsgICAg
ICAgICAgICAgICAgICAgLyolIHJpcHBlcjogYXNzaWduYWJsZShwLCB2YXJfZmllbGQocCwgJDEp
KSAlKi8KPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgNjI5NCAicGFyc2UuYyIgLyog
eWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSAxMDA6Cj4gKyNsaW5l
IDE1OTggInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAg
ICAgICAgICAgLyolJSUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9
IGFyeXNldChwLCAoeXl2c3BbLTNdLm5vZGUpLCAoeXl2c3BbLTFdLm5vZGUpLCAmKHl5bG9jKSk7
Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUgJSovCj4gKyAgICAgICAgICAgICAgICAgICAvKiUg
cmlwcGVyOiBhcmVmX2ZpZWxkISgkMSwgZXNjYXBlX1F1bmRlZigkMykpICUqLwo+ICsgICAgICAg
ICAgICAgICAgICAgfQo+ICsjbGluZSA2MzA1ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8K
PiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDEwMToKPiArI2xpbmUgMTYwNSAicGFyc2UueSIg
LyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUlJSov
Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gYXR0cnNldChwLCAoeXl2
c3BbLTJdLm5vZGUpLCAoeXl2c3BbLTFdLmlkKSwgKHl5dnNwWzBdLmlkKSwgJih5eWxvYykpOwo+
ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsgICAgICAgICAgICAgICAgICAgLyolIHJp
cHBlcjogZmllbGQhKCQxLCAkMiwgJDMpICUqLwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsj
bGluZSA2MzE2ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsK
PiArICBjYXNlIDEwMjoKPiArI2xpbmUgMTYxMiAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICov
Cj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUlJSovCj4gKyAgICAgICAgICAgICAg
ICAgICAgICAgKHl5dmFsLm5vZGUpID0gYXR0cnNldChwLCAoeXl2c3BbLTJdLm5vZGUpLCBpZENP
TE9OMiwgKHl5dnNwWzBdLmlkKSwgJih5eWxvYykpOwo+ICsgICAgICAgICAgICAgICAgICAgLyol
ICUqLwo+ICsgICAgICAgICAgICAgICAgICAgLyolIHJpcHBlcjogY29uc3RfcGF0aF9maWVsZCEo
JDEsICQzKSAlKi8KPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgNjMyNyAicGFyc2Uu
YyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSAxMDM6Cj4g
KyNsaW5lIDE2MTkgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAg
ICAgICAgICAgICAgICAgLyolJSUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5u
b2RlKSA9IGF0dHJzZXQocCwgKHl5dnNwWy0yXS5ub2RlKSwgKHl5dnNwWy0xXS5pZCksICh5eXZz
cFswXS5pZCksICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAgICAgIC8qJSAlKi8KPiArICAg
ICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6IGZpZWxkISgkMSwgJDIsICQzKSAlKi8KPiArICAg
ICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgNjMzOCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIg
ICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSAxMDQ6Cj4gKyNsaW5lIDE2MjYgInBhcnNl
LnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgLyol
JSUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9IGNvbnN0X2RlY2wo
cCwgTkVXX0NPTE9OMigoeXl2c3BbLTJdLm5vZGUpLCAoeXl2c3BbMF0uaWQpLCAmKHl5bG9jKSks
ICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAgICAgIC8qJSAlKi8KPiArICAgICAgICAgICAg
ICAgICAgIC8qJSByaXBwZXI6IGNvbnN0X2RlY2wocCwgY29uc3RfcGF0aF9maWVsZCEoJDEsICQz
KSkgJSovCj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDYzNDkgInBhcnNlLmMiIC8q
IHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgMTA1Ogo+ICsjbGlu
ZSAxNjMzICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAg
ICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkg
PSBjb25zdF9kZWNsKHAsIE5FV19DT0xPTjMoKHl5dnNwWzBdLmlkKSwgJih5eWxvYykpLCAmKHl5
bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUgJSovCj4gKyAgICAgICAgICAgICAgICAg
ICAvKiUgcmlwcGVyOiBjb25zdF9kZWNsKHAsIHRvcF9jb25zdF9maWVsZCEoJDIpKSAlKi8KPiAr
ICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgNjM2MCAicGFyc2UuYyIgLyogeWFjYy5jOjE2
NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSAxMDY6Cj4gKyNsaW5lIDE2NDAgInBh
cnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAg
LyolJSUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAgIHJiX2JhY2tyZWZfZXJyb3IocCwgKHl5
dnNwWzBdLm5vZGUpKTsKPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBO
RVdfQkVHSU4oMCwgJih5eWxvYykpOwo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsg
ICAgICAgICAgICAgICAgICAgLyolIHJpcHBlcltlcnJvcl06IGFzc2lnbl9lcnJvciEodmFyX2Zp
ZWxkKHAsICQxKSkgJSovCj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDYzNzIgInBh
cnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgMTA3
Ogo+ICsjbGluZSAxNjUwICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiAr
ICAgICAgICAgICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2
YWwubm9kZSkgPSBhc3NpZ25hYmxlKHAsICh5eXZzcFswXS5pZCksIDAsICYoeXlsb2MpKTsKPiAr
ICAgICAgICAgICAgICAgICAgIC8qJSAlKi8KPiArICAgICAgICAgICAgICAgICAgIC8qJSByaXBw
ZXI6IGFzc2lnbmFibGUocCwgdmFyX2ZpZWxkKHAsICQxKSkgJSovCj4gKyAgICAgICAgICAgICAg
ICAgICB9Cj4gKyNsaW5lIDYzODMgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAg
YnJlYWs7Cj4gKwo+ICsgIGNhc2UgMTA4Ogo+ICsjbGluZSAxNjU3ICJwYXJzZS55IiAvKiB5YWNj
LmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgIC8qJSUlKi8KPiArICAg
ICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBhc3NpZ25hYmxlKHAsICh5eXZzcFsw
XS5pZCksIDAsICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAgICAgIC8qJSAlKi8KPiArICAg
ICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6IGFzc2lnbmFibGUocCwgdmFyX2ZpZWxkKHAsICQx
KSkgJSovCj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDYzOTQgInBhcnNlLmMiIC8q
IHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgMTA5Ogo+ICsjbGlu
ZSAxNjY0ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAg
ICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkg
PSBhcnlzZXQocCwgKHl5dnNwWy0zXS5ub2RlKSwgKHl5dnNwWy0xXS5ub2RlKSwgJih5eWxvYykp
Owo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsgICAgICAgICAgICAgICAgICAgLyol
IHJpcHBlcjogYXJlZl9maWVsZCEoJDEsIGVzY2FwZV9RdW5kZWYoJDMpKSAlKi8KPiArICAgICAg
ICAgICAgICAgICAgIH0KPiArI2xpbmUgNjQwNSAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICov
Cj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSAxMTA6Cj4gKyNsaW5lIDE2NzEgInBhcnNlLnki
IC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgLyolJSUq
Lwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9IGF0dHJzZXQocCwgKHl5
dnNwWy0yXS5ub2RlKSwgKHl5dnNwWy0xXS5pZCksICh5eXZzcFswXS5pZCksICYoeXlsb2MpKTsK
PiArICAgICAgICAgICAgICAgICAgIC8qJSAlKi8KPiArICAgICAgICAgICAgICAgICAgIC8qJSBy
aXBwZXI6IGZpZWxkISgkMSwgJDIsICQzKSAlKi8KPiArICAgICAgICAgICAgICAgICAgIH0KPiAr
I2xpbmUgNjQxNiAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiAr
Cj4gKyAgY2FzZSAxMTE6Cj4gKyNsaW5lIDE2NzggInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAq
Lwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgLyolJSUqLwo+ICsgICAgICAgICAgICAg
ICAgICAgICAgICh5eXZhbC5ub2RlKSA9IGF0dHJzZXQocCwgKHl5dnNwWy0yXS5ub2RlKSwgaWRD
T0xPTjIsICh5eXZzcFswXS5pZCksICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAgICAgIC8q
JSAlKi8KPiArICAgICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6IGZpZWxkISgkMSwgSUQyVkFM
KGlkQ09MT04yKSwgJDMpICUqLwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA2NDI3
ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNl
IDExMjoKPiArI2xpbmUgMTY4NSAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7
Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUlJSovCj4gKyAgICAgICAgICAgICAgICAgICAgICAg
KHl5dmFsLm5vZGUpID0gYXR0cnNldChwLCAoeXl2c3BbLTJdLm5vZGUpLCAoeXl2c3BbLTFdLmlk
KSwgKHl5dnNwWzBdLmlkKSwgJih5eWxvYykpOwo+ICsgICAgICAgICAgICAgICAgICAgLyolICUq
Lwo+ICsgICAgICAgICAgICAgICAgICAgLyolIHJpcHBlcjogZmllbGQhKCQxLCAkMiwgJDMpICUq
Lwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA2NDM4ICJwYXJzZS5jIiAvKiB5YWNj
LmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDExMzoKPiArI2xpbmUgMTY5
MiAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAg
ICAgICAvKiUlJSovCj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gY29u
c3RfZGVjbChwLCBORVdfQ09MT04yKCh5eXZzcFstMl0ubm9kZSksICh5eXZzcFswXS5pZCksICYo
eXlsb2MpKSwgJih5eWxvYykpOwo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsgICAg
ICAgICAgICAgICAgICAgLyolIHJpcHBlcjogY29uc3RfZGVjbChwLCBjb25zdF9wYXRoX2ZpZWxk
ISgkMSwgJDMpKSAlKi8KPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgNjQ0OSAicGFy
c2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSAxMTQ6
Cj4gKyNsaW5lIDE2OTkgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsg
ICAgICAgICAgICAgICAgICAgLyolJSUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZh
bC5ub2RlKSA9IGNvbnN0X2RlY2wocCwgTkVXX0NPTE9OMygoeXl2c3BbMF0uaWQpLCAmKHl5bG9j
KSksICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAgICAgIC8qJSAlKi8KPiArICAgICAgICAg
ICAgICAgICAgIC8qJSByaXBwZXI6IGNvbnN0X2RlY2wocCwgdG9wX2NvbnN0X2ZpZWxkISgkMikp
ICUqLwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA2NDYwICJwYXJzZS5jIiAvKiB5
YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDExNToKPiArI2xpbmUg
MTcwNiAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAg
ICAgICAgICAvKiUlJSovCj4gKyAgICAgICAgICAgICAgICAgICAgICAgcmJfYmFja3JlZl9lcnJv
cihwLCAoeXl2c3BbMF0ubm9kZSkpOwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5u
b2RlKSA9IE5FV19CRUdJTigwLCAmKHl5bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUg
JSovCj4gKyAgICAgICAgICAgICAgICAgICAvKiUgcmlwcGVyW2Vycm9yXTogYXNzaWduX2Vycm9y
ISh2YXJfZmllbGQocCwgJDEpKSAlKi8KPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUg
NjQ3MiAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAg
Y2FzZSAxMTY6Cj4gKyNsaW5lIDE3MTYgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsg
ICAgewo+ICsgICAgICAgICAgICAgICAgICAgLyolJSUqLwo+ICsgICAgICAgICAgICAgICAgICAg
ICAgIHl5ZXJyb3IxKCYoeXlsc3BbMF0pLCAiY2xhc3MvbW9kdWxlIG5hbWUgbXVzdCBiZSBDT05T
VEFOVCIpOwo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsgICAgICAgICAgICAgICAg
ICAgLyolIHJpcHBlcltlcnJvcl06IGNsYXNzX25hbWVfZXJyb3IhKCQxKSAlKi8KPiArICAgICAg
ICAgICAgICAgICAgIH0KPiArI2xpbmUgNjQ4MyAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICov
Cj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSAxMTg6Cj4gKyNsaW5lIDE3MjYgInBhcnNlLnki
IC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgLyolJSUq
Lwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9IE5FV19DT0xPTjMoKHl5
dnNwWzBdLmlkKSwgJih5eWxvYykpOwo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsg
ICAgICAgICAgICAgICAgICAgLyolIHJpcHBlcjogdG9wX2NvbnN0X3JlZiEoJDIpICUqLwo+ICsg
ICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA2NDk0ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1
MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDExOToKPiArI2xpbmUgMTczMyAicGFy
c2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAv
KiUlJSovCj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gTkVXX0NPTE9O
MigwLCAoeXl2YWwubm9kZSksICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAgICAgIC8qJSAl
Ki8KPiArICAgICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6IGNvbnN0X3JlZiEoJDEpICUqLwo+
ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA2NTA1ICJwYXJzZS5jIiAvKiB5YWNjLmM6
MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDEyMDoKPiArI2xpbmUgMTc0MCAi
cGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAg
ICAvKiUlJSovCj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gTkVXX0NP
TE9OMigoeXl2c3BbLTJdLm5vZGUpLCAoeXl2c3BbMF0uaWQpLCAmKHl5bG9jKSk7Cj4gKyAgICAg
ICAgICAgICAgICAgICAvKiUgJSovCj4gKyAgICAgICAgICAgICAgICAgICAvKiUgcmlwcGVyOiBj
b25zdF9wYXRoX3JlZiEoJDEsICQzKSAlKi8KPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xp
bmUgNjUxNiAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4g
KyAgY2FzZSAxMjQ6Cj4gKyNsaW5lIDE3NTIgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+
ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgICAgIFNFVF9MRVhfU1RBVEUoRVhQUl9FTkRG
Tik7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLmlkKSA9ICh5eXZzcFswXS5pZCk7
Cj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDY1MjUgInBhcnNlLmMiIC8qIHlhY2Mu
YzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgMTI1Ogo+ICsjbGluZSAxNzU3
ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAg
ICAgICAgICBTRVRfTEVYX1NUQVRFKEVYUFJfRU5ERk4pOwo+ICsgICAgICAgICAgICAgICAgICAg
ICAgICh5eXZhbC5pZCkgPSAoeXl2c3BbMF0uaWQpOwo+ICsgICAgICAgICAgICAgICAgICAgfQo+
ICsjbGluZSA2NTM0ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+
ICsKPiArICBjYXNlIDEyODoKPiArI2xpbmUgMTc2OCAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIg
ICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUlJSovCj4gKyAgICAgICAgICAg
ICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gTkVXX0xJVChJRDJTWU0oKHl5dnNwWzBdLmlkKSks
ICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAgICAgIC8qJSAlKi8KPiArICAgICAgICAgICAg
ICAgICAgIC8qJSByaXBwZXI6IHN5bWJvbF9saXRlcmFsISgkMSkgJSovCj4gKyAgICAgICAgICAg
ICAgICAgICB9Cj4gKyNsaW5lIDY1NDUgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsg
ICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgMTMwOgo+ICsjbGluZSAxNzc4ICJwYXJzZS55IiAvKiB5
YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgIC8qJSUlKi8KPiAr
ICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBORVdfVU5ERUYoKHl5dnNwWzBd
Lm5vZGUpLCAmKHl5bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUgJSovCj4gKyAgICAg
ICAgICAgICAgICAgICAvKiUgcmlwcGVyOiByYl9hcnlfbmV3MygxLCBnZXRfdmFsdWUoJDEpKSAl
Ki8KPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgNjU1NiAicGFyc2UuYyIgLyogeWFj
Yy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSAxMzE6Cj4gKyNsaW5lIDE3
ODQgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAge1NFVF9MRVhfU1RBVEUoRVhQ
Ul9GTkFNRXxFWFBSX0ZJVEVNKTt9Cj4gKyNsaW5lIDY1NjIgInBhcnNlLmMiIC8qIHlhY2MuYzox
NjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgMTMyOgo+ICsjbGluZSAxNzg1ICJw
YXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAg
IC8qJSUlKi8KPiArICAgICAgICAgICAgICAgICAgICAgICBOT0RFICp1bmRlZiA9IE5FV19VTkRF
RigoeXl2c3BbMF0ubm9kZSksICYoeXlsc3BbMF0pKTsKPiArICAgICAgICAgICAgICAgICAgICAg
ICAoeXl2YWwubm9kZSkgPSBibG9ja19hcHBlbmQocCwgKHl5dnNwWy0zXS5ub2RlKSwgdW5kZWYp
Owo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsgICAgICAgICAgICAgICAgICAgLyol
IHJpcHBlcjogcmJfYXJ5X3B1c2goJDEsIGdldF92YWx1ZSgkNCkpICUqLwo+ICsgICAgICAgICAg
ICAgICAgICAgfQo+ICsjbGluZSA2NTc0ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiAr
ICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDEzMzoKPiArI2xpbmUgMTc5NCAicGFyc2UueSIgLyog
eWFjYy5jOjE2NTIgICovCj4gKyAgICB7IGlmbmRlZl9yaXBwZXIoKHl5dmFsLmlkKSA9ICd8Jyk7
IH0KPiArI2xpbmUgNjU4MCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVh
azsKPiArCj4gKyAgY2FzZSAxMzQ6Cj4gKyNsaW5lIDE3OTUgInBhcnNlLnkiIC8qIHlhY2MuYzox
NjUyICAqLwo+ICsgICAgeyBpZm5kZWZfcmlwcGVyKCh5eXZhbC5pZCkgPSAnXicpOyB9Cj4gKyNs
aW5lIDY1ODYgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+
ICsgIGNhc2UgMTM1Ogo+ICsjbGluZSAxNzk2ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8K
PiArICAgIHsgaWZuZGVmX3JpcHBlcigoeXl2YWwuaWQpID0gJyYnKTsgfQo+ICsjbGluZSA2NTky
ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNl
IDEzNjoKPiArI2xpbmUgMTc5NyAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7
IGlmbmRlZl9yaXBwZXIoKHl5dmFsLmlkKSA9IHRDTVApOyB9Cj4gKyNsaW5lIDY1OTggInBhcnNl
LmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgMTM3Ogo+
ICsjbGluZSAxNzk4ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsgaWZuZGVm
X3JpcHBlcigoeXl2YWwuaWQpID0gdEVRKTsgfQo+ICsjbGluZSA2NjA0ICJwYXJzZS5jIiAvKiB5
YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDEzODoKPiArI2xpbmUg
MTc5OSAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7IGlmbmRlZl9yaXBwZXIo
KHl5dmFsLmlkKSA9IHRFUVEpOyB9Cj4gKyNsaW5lIDY2MTAgInBhcnNlLmMiIC8qIHlhY2MuYzox
NjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgMTM5Ogo+ICsjbGluZSAxODAwICJw
YXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsgaWZuZGVmX3JpcHBlcigoeXl2YWwu
aWQpID0gdE1BVENIKTsgfQo+ICsjbGluZSA2NjE2ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAg
Ki8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDE0MDoKPiArI2xpbmUgMTgwMSAicGFyc2Uu
eSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7IGlmbmRlZl9yaXBwZXIoKHl5dmFsLmlkKSA9
IHROTUFUQ0gpOyB9Cj4gKyNsaW5lIDY2MjIgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+
ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgMTQxOgo+ICsjbGluZSAxODAyICJwYXJzZS55IiAv
KiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsgaWZuZGVmX3JpcHBlcigoeXl2YWwuaWQpID0gJz4n
KTsgfQo+ICsjbGluZSA2NjI4ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJy
ZWFrOwo+ICsKPiArICBjYXNlIDE0MjoKPiArI2xpbmUgMTgwMyAicGFyc2UueSIgLyogeWFjYy5j
OjE2NTIgICovCj4gKyAgICB7IGlmbmRlZl9yaXBwZXIoKHl5dmFsLmlkKSA9IHRHRVEpOyB9Cj4g
KyNsaW5lIDY2MzQgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4g
Kwo+ICsgIGNhc2UgMTQzOgo+ICsjbGluZSAxODA0ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAg
Ki8KPiArICAgIHsgaWZuZGVmX3JpcHBlcigoeXl2YWwuaWQpID0gJzwnKTsgfQo+ICsjbGluZSA2
NjQwICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBj
YXNlIDE0NDoKPiArI2xpbmUgMTgwNSAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAg
ICB7IGlmbmRlZl9yaXBwZXIoKHl5dmFsLmlkKSA9IHRMRVEpOyB9Cj4gKyNsaW5lIDY2NDYgInBh
cnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgMTQ1
Ogo+ICsjbGluZSAxODA2ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsgaWZu
ZGVmX3JpcHBlcigoeXl2YWwuaWQpID0gdE5FUSk7IH0KPiArI2xpbmUgNjY1MiAicGFyc2UuYyIg
LyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSAxNDY6Cj4gKyNs
aW5lIDE4MDcgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgeyBpZm5kZWZfcmlw
cGVyKCh5eXZhbC5pZCkgPSB0TFNIRlQpOyB9Cj4gKyNsaW5lIDY2NTggInBhcnNlLmMiIC8qIHlh
Y2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgMTQ3Ogo+ICsjbGluZSAx
ODA4ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsgaWZuZGVmX3JpcHBlcigo
eXl2YWwuaWQpID0gdFJTSEZUKTsgfQo+ICsjbGluZSA2NjY0ICJwYXJzZS5jIiAvKiB5YWNjLmM6
MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDE0ODoKPiArI2xpbmUgMTgwOSAi
cGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7IGlmbmRlZl9yaXBwZXIoKHl5dmFs
LmlkKSA9ICcrJyk7IH0KPiArI2xpbmUgNjY3MCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICov
Cj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSAxNDk6Cj4gKyNsaW5lIDE4MTAgInBhcnNlLnki
IC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgeyBpZm5kZWZfcmlwcGVyKCh5eXZhbC5pZCkgPSAn
LScpOyB9Cj4gKyNsaW5lIDY2NzYgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAg
YnJlYWs7Cj4gKwo+ICsgIGNhc2UgMTUwOgo+ICsjbGluZSAxODExICJwYXJzZS55IiAvKiB5YWNj
LmM6MTY1MiAgKi8KPiArICAgIHsgaWZuZGVmX3JpcHBlcigoeXl2YWwuaWQpID0gJyonKTsgfQo+
ICsjbGluZSA2NjgyICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+
ICsKPiArICBjYXNlIDE1MToKPiArI2xpbmUgMTgxMiAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIg
ICovCj4gKyAgICB7IGlmbmRlZl9yaXBwZXIoKHl5dmFsLmlkKSA9ICcqJyk7IH0KPiArI2xpbmUg
NjY4OCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAg
Y2FzZSAxNTI6Cj4gKyNsaW5lIDE4MTMgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsg
ICAgeyBpZm5kZWZfcmlwcGVyKCh5eXZhbC5pZCkgPSAnLycpOyB9Cj4gKyNsaW5lIDY2OTQgInBh
cnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgMTUz
Ogo+ICsjbGluZSAxODE0ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsgaWZu
ZGVmX3JpcHBlcigoeXl2YWwuaWQpID0gJyUnKTsgfQo+ICsjbGluZSA2NzAwICJwYXJzZS5jIiAv
KiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDE1NDoKPiArI2xp
bmUgMTgxNSAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7IGlmbmRlZl9yaXBw
ZXIoKHl5dmFsLmlkKSA9IHRQT1cpOyB9Cj4gKyNsaW5lIDY3MDYgInBhcnNlLmMiIC8qIHlhY2Mu
YzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgMTU1Ogo+ICsjbGluZSAxODE2
ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsgaWZuZGVmX3JpcHBlcigoeXl2
YWwuaWQpID0gdERTVEFSKTsgfQo+ICsjbGluZSA2NzEyICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1
MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDE1NjoKPiArI2xpbmUgMTgxNyAicGFy
c2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7IGlmbmRlZl9yaXBwZXIoKHl5dmFsLmlk
KSA9ICchJyk7IH0KPiArI2xpbmUgNjcxOCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4g
KyAgICBicmVhazsKPiArCj4gKyAgY2FzZSAxNTc6Cj4gKyNsaW5lIDE4MTggInBhcnNlLnkiIC8q
IHlhY2MuYzoxNjUyICAqLwo+ICsgICAgeyBpZm5kZWZfcmlwcGVyKCh5eXZhbC5pZCkgPSAnficp
OyB9Cj4gKyNsaW5lIDY3MjQgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJl
YWs7Cj4gKwo+ICsgIGNhc2UgMTU4Ogo+ICsjbGluZSAxODE5ICJwYXJzZS55IiAvKiB5YWNjLmM6
MTY1MiAgKi8KPiArICAgIHsgaWZuZGVmX3JpcHBlcigoeXl2YWwuaWQpID0gdFVQTFVTKTsgfQo+
ICsjbGluZSA2NzMwICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+
ICsKPiArICBjYXNlIDE1OToKPiArI2xpbmUgMTgyMCAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIg
ICovCj4gKyAgICB7IGlmbmRlZl9yaXBwZXIoKHl5dmFsLmlkKSA9IHRVTUlOVVMpOyB9Cj4gKyNs
aW5lIDY3MzYgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+
ICsgIGNhc2UgMTYwOgo+ICsjbGluZSAxODIxICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8K
PiArICAgIHsgaWZuZGVmX3JpcHBlcigoeXl2YWwuaWQpID0gdEFSRUYpOyB9Cj4gKyNsaW5lIDY3
NDIgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNh
c2UgMTYxOgo+ICsjbGluZSAxODIyICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAg
IHsgaWZuZGVmX3JpcHBlcigoeXl2YWwuaWQpID0gdEFTRVQpOyB9Cj4gKyNsaW5lIDY3NDggInBh
cnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgMTYy
Ogo+ICsjbGluZSAxODIzICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsgaWZu
ZGVmX3JpcHBlcigoeXl2YWwuaWQpID0gJ2AnKTsgfQo+ICsjbGluZSA2NzU0ICJwYXJzZS5jIiAv
KiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDIwNDoKPiArI2xp
bmUgMTg0MSAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAg
ICAgICAgICAgICAvKiUlJSovCj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUp
ID0gbm9kZV9hc3NpZ24ocCwgKHl5dnNwWy0yXS5ub2RlKSwgKHl5dnNwWzBdLm5vZGUpLCAmKHl5
bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUgJSovCj4gKyAgICAgICAgICAgICAgICAg
ICAvKiUgcmlwcGVyOiBhc3NpZ24hKCQxLCAkMykgJSovCj4gKyAgICAgICAgICAgICAgICAgICB9
Cj4gKyNsaW5lIDY3NjUgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7
Cj4gKwo+ICsgIGNhc2UgMjA1Ogo+ICsjbGluZSAxODQ4ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1
MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAg
ICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBuZXdfb3BfYXNzaWduKHAsICh5eXZzcFstMl0u
bm9kZSksICh5eXZzcFstMV0uaWQpLCAoeXl2c3BbMF0ubm9kZSksICYoeXlsb2MpKTsKPiArICAg
ICAgICAgICAgICAgICAgIC8qJSAlKi8KPiArICAgICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6
IG9wYXNzaWduISgkMSwgJDIsICQzKSAlKi8KPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xp
bmUgNjc3NiAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4g
KyAgY2FzZSAyMDY6Cj4gKyNsaW5lIDE4NTUgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+
ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgLyolJSUqLwo+ICsgICAgICAgICAgICAgICAg
ICAgICAgIHZhbHVlX2V4cHIoKHl5dnNwWzBdLm5vZGUpKTsKPiArICAgICAgICAgICAgICAgICAg
ICAgICAoeXl2YWwubm9kZSkgPSBuZXdfYXJ5X29wX2Fzc2lnbihwLCAoeXl2c3BbLTVdLm5vZGUp
LCAoeXl2c3BbLTNdLm5vZGUpLCAoeXl2c3BbLTFdLmlkKSwgKHl5dnNwWzBdLm5vZGUpLCAmKHl5
bHNwWy0zXSksICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAgICAgIC8qJSAlKi8KPiArICAg
ICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6IG9wYXNzaWduIShhcmVmX2ZpZWxkISgkMSwgZXNj
YXBlX1F1bmRlZigkMykpLCAkNSwgJDYpICUqLwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsj
bGluZSA2Nzg4ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsK
PiArICBjYXNlIDIwNzoKPiArI2xpbmUgMTg2MyAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICov
Cj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUlJSovCj4gKyAgICAgICAgICAgICAg
ICAgICAgICAgdmFsdWVfZXhwcigoeXl2c3BbMF0ubm9kZSkpOwo+ICsgICAgICAgICAgICAgICAg
ICAgICAgICh5eXZhbC5ub2RlKSA9IG5ld19hdHRyX29wX2Fzc2lnbihwLCAoeXl2c3BbLTRdLm5v
ZGUpLCAoeXl2c3BbLTNdLmlkKSwgKHl5dnNwWy0yXS5pZCksICh5eXZzcFstMV0uaWQpLCAoeXl2
c3BbMF0ubm9kZSksICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAgICAgIC8qJSAlKi8KPiAr
ICAgICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6IG9wYXNzaWduIShmaWVsZCEoJDEsICQyLCAk
MyksICQ0LCAkNSkgJSovCj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDY4MDAgInBh
cnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgMjA4
Ogo+ICsjbGluZSAxODcxICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiAr
ICAgICAgICAgICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAgICAgICAgICAgICAgICB2YWx1
ZV9leHByKCh5eXZzcFswXS5ub2RlKSk7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFs
Lm5vZGUpID0gbmV3X2F0dHJfb3BfYXNzaWduKHAsICh5eXZzcFstNF0ubm9kZSksICh5eXZzcFst
M10uaWQpLCAoeXl2c3BbLTJdLmlkKSwgKHl5dnNwWy0xXS5pZCksICh5eXZzcFswXS5ub2RlKSwg
Jih5eWxvYykpOwo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsgICAgICAgICAgICAg
ICAgICAgLyolIHJpcHBlcjogb3Bhc3NpZ24hKGZpZWxkISgkMSwgJDIsICQzKSwgJDQsICQ1KSAl
Ki8KPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgNjgxMiAicGFyc2UuYyIgLyogeWFj
Yy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSAyMDk6Cj4gKyNsaW5lIDE4
NzkgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAg
ICAgICAgLyolJSUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlX2V4cHIoKHl5dnNw
WzBdLm5vZGUpKTsKPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBuZXdf
YXR0cl9vcF9hc3NpZ24ocCwgKHl5dnNwWy00XS5ub2RlKSwgSUQyVkFMKGlkQ09MT04yKSwgKHl5
dnNwWy0yXS5pZCksICh5eXZzcFstMV0uaWQpLCAoeXl2c3BbMF0ubm9kZSksICYoeXlsb2MpKTsK
PiArICAgICAgICAgICAgICAgICAgIC8qJSAlKi8KPiArICAgICAgICAgICAgICAgICAgIC8qJSBy
aXBwZXI6IG9wYXNzaWduIShmaWVsZCEoJDEsIElEMlZBTChpZENPTE9OMiksICQzKSwgJDQsICQ1
KSAlKi8KPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgNjgyNCAicGFyc2UuYyIgLyog
eWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSAyMTA6Cj4gKyNsaW5l
IDE4ODcgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAg
ICAgICAgICAgLyolJSUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAgIFlZTFRZUEUgbG9jID0g
Y29kZV9sb2NfZ2VuKCYoeXlsc3BbLTRdKSwgJih5eWxzcFstMl0pKTsKPiArICAgICAgICAgICAg
ICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBuZXdfY29uc3Rfb3BfYXNzaWduKHAsIE5FV19DT0xP
TjIoKHl5dnNwWy00XS5ub2RlKSwgKHl5dnNwWy0yXS5pZCksICZsb2MpLCAoeXl2c3BbLTFdLmlk
KSwgKHl5dnNwWzBdLm5vZGUpLCAmKHl5bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUg
JSovCj4gKyAgICAgICAgICAgICAgICAgICAvKiUgcmlwcGVyOiBvcGFzc2lnbiEoY29uc3RfcGF0
aF9maWVsZCEoJDEsICQzKSwgJDQsICQ1KSAlKi8KPiArICAgICAgICAgICAgICAgICAgIH0KPiAr
I2xpbmUgNjgzNiAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiAr
Cj4gKyAgY2FzZSAyMTE6Cj4gKyNsaW5lIDE4OTUgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAq
Lwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgLyolJSUqLwo+ICsgICAgICAgICAgICAg
ICAgICAgICAgICh5eXZhbC5ub2RlKSA9IG5ld19jb25zdF9vcF9hc3NpZ24ocCwgTkVXX0NPTE9O
MygoeXl2c3BbLTJdLmlkKSwgJih5eWxvYykpLCAoeXl2c3BbLTFdLmlkKSwgKHl5dnNwWzBdLm5v
ZGUpLCAmKHl5bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUgJSovCj4gKyAgICAgICAg
ICAgICAgICAgICAvKiUgcmlwcGVyOiBvcGFzc2lnbiEodG9wX2NvbnN0X2ZpZWxkISgkMiksICQz
LCAkNCkgJSovCj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDY4NDcgInBhcnNlLmMi
IC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgMjEyOgo+ICsj
bGluZSAxOTAyICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAg
ICAgICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAgICAgICAgICAgICAgICByYl9iYWNrcmVm
X2Vycm9yKHAsICh5eXZzcFstMl0ubm9kZSkpOwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5
eXZhbC5ub2RlKSA9IE5FV19CRUdJTigwLCAmKHl5bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAg
ICAvKiUgJSovCj4gKyAgICAgICAgICAgICAgICAgICAvKiUgcmlwcGVyW2Vycm9yXTogYXNzaWdu
X2Vycm9yIShvcGFzc2lnbiEodmFyX2ZpZWxkKHAsICQxKSwgJDIsICQzKSkgJSovCj4gKyAgICAg
ICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDY4NTkgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAq
Lwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgMjEzOgo+ICsjbGluZSAxOTEwICJwYXJzZS55
IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgIC8qJSUl
Ki8KPiArICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZV9leHByKCh5eXZzcFstMl0ubm9kZSkp
Owo+ICsgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlX2V4cHIoKHl5dnNwWzBdLm5vZGUpKTsK
PiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBORVdfRE9UMigoeXl2c3Bb
LTJdLm5vZGUpLCAoeXl2c3BbMF0ubm9kZSksICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAg
ICAgIC8qJSAlKi8KPiArICAgICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6IGRvdDIhKCQxLCAk
MykgJSovCj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDY4NzIgInBhcnNlLmMiIC8q
IHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgMjE0Ogo+ICsjbGlu
ZSAxOTE5ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAg
ICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZV9leHByKCh5
eXZzcFstMl0ubm9kZSkpOwo+ICsgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlX2V4cHIoKHl5
dnNwWzBdLm5vZGUpKTsKPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBO
RVdfRE9UMygoeXl2c3BbLTJdLm5vZGUpLCAoeXl2c3BbMF0ubm9kZSksICYoeXlsb2MpKTsKPiAr
ICAgICAgICAgICAgICAgICAgIC8qJSAlKi8KPiArICAgICAgICAgICAgICAgICAgIC8qJSByaXBw
ZXI6IGRvdDMhKCQxLCAkMykgJSovCj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDY4
ODUgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNh
c2UgMjE1Ogo+ICsjbGluZSAxOTI4ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAg
IHsKPiArICAgICAgICAgICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAgICAgICAgICAgICAg
ICAgWVlMVFlQRSBsb2M7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgIGxvYy5iZWdfcG9zID0g
KHl5bHNwWzBdKS5lbmRfcG9zOwo+ICsgICAgICAgICAgICAgICAgICAgICAgICBsb2MuZW5kX3Bv
cyA9ICh5eWxzcFswXSkuZW5kX3BvczsKPiArCj4gKyAgICAgICAgICAgICAgICAgICAgICAgdmFs
dWVfZXhwcigoeXl2c3BbLTFdLm5vZGUpKTsKPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2
YWwubm9kZSkgPSBORVdfRE9UMigoeXl2c3BbLTFdLm5vZGUpLCBuZXdfbmlsKCZsb2MpLCAmKHl5
bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUgJSovCj4gKyAgICAgICAgICAgICAgICAg
ICAvKiUgcmlwcGVyOiBkb3QyISgkMSwgUW5pbCkgJSovCj4gKyAgICAgICAgICAgICAgICAgICB9
Cj4gKyNsaW5lIDY5MDEgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7
Cj4gKwo+ICsgIGNhc2UgMjE2Ogo+ICsjbGluZSAxOTQwICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1
MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAg
ICAgICAgICAgICAgICAgWVlMVFlQRSBsb2M7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgIGxv
Yy5iZWdfcG9zID0gKHl5bHNwWzBdKS5lbmRfcG9zOwo+ICsgICAgICAgICAgICAgICAgICAgICAg
ICBsb2MuZW5kX3BvcyA9ICh5eWxzcFswXSkuZW5kX3BvczsKPiArCj4gKyAgICAgICAgICAgICAg
ICAgICAgICAgdmFsdWVfZXhwcigoeXl2c3BbLTFdLm5vZGUpKTsKPiArICAgICAgICAgICAgICAg
ICAgICAgICAoeXl2YWwubm9kZSkgPSBORVdfRE9UMygoeXl2c3BbLTFdLm5vZGUpLCBuZXdfbmls
KCZsb2MpLCAmKHl5bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUgJSovCj4gKyAgICAg
ICAgICAgICAgICAgICAvKiUgcmlwcGVyOiBkb3QzISgkMSwgUW5pbCkgJSovCj4gKyAgICAgICAg
ICAgICAgICAgICB9Cj4gKyNsaW5lIDY5MTcgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+
ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgMjE3Ogo+ICsjbGluZSAxOTUyICJwYXJzZS55IiAv
KiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2
YWwubm9kZSkgPSBjYWxsX2Jpbl9vcChwLCAoeXl2c3BbLTJdLm5vZGUpLCAnKycsICh5eXZzcFsw
XS5ub2RlKSwgJih5eWxzcFstMV0pLCAmKHl5bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAgICB9
Cj4gKyNsaW5lIDY5MjUgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7
Cj4gKwo+ICsgIGNhc2UgMjE4Ogo+ICsjbGluZSAxOTU2ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1
MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBj
YWxsX2Jpbl9vcChwLCAoeXl2c3BbLTJdLm5vZGUpLCAnLScsICh5eXZzcFswXS5ub2RlKSwgJih5
eWxzcFstMV0pLCAmKHl5bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDY5
MzMgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNh
c2UgMjE5Ogo+ICsjbGluZSAxOTYwICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAg
IHsKPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBjYWxsX2Jpbl9vcChw
LCAoeXl2c3BbLTJdLm5vZGUpLCAnKicsICh5eXZzcFswXS5ub2RlKSwgJih5eWxzcFstMV0pLCAm
KHl5bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDY5NDEgInBhcnNlLmMi
IC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgMjIwOgo+ICsj
bGluZSAxOTY0ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAg
ICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBjYWxsX2Jpbl9vcChwLCAoeXl2c3BbLTJd
Lm5vZGUpLCAnLycsICh5eXZzcFswXS5ub2RlKSwgJih5eWxzcFstMV0pLCAmKHl5bG9jKSk7Cj4g
KyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDY5NDkgInBhcnNlLmMiIC8qIHlhY2MuYzox
NjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgMjIxOgo+ICsjbGluZSAxOTY4ICJw
YXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAg
ICAgICAoeXl2YWwubm9kZSkgPSBjYWxsX2Jpbl9vcChwLCAoeXl2c3BbLTJdLm5vZGUpLCAnJScs
ICh5eXZzcFswXS5ub2RlKSwgJih5eWxzcFstMV0pLCAmKHl5bG9jKSk7Cj4gKyAgICAgICAgICAg
ICAgICAgICB9Cj4gKyNsaW5lIDY5NTcgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsg
ICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgMjIyOgo+ICsjbGluZSAxOTcyICJwYXJzZS55IiAvKiB5
YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwu
bm9kZSkgPSBjYWxsX2Jpbl9vcChwLCAoeXl2c3BbLTJdLm5vZGUpLCBpZFBvdywgKHl5dnNwWzBd
Lm5vZGUpLCAmKHl5bHNwWy0xXSksICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAgICAgIH0K
PiArI2xpbmUgNjk2NSAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsK
PiArCj4gKyAgY2FzZSAyMjM6Cj4gKyNsaW5lIDE5NzYgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUy
ICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9IGNh
bGxfdW5pX29wKHAsIGNhbGxfYmluX29wKHAsICh5eXZzcFstMl0ubm9kZSksIGlkUG93LCAoeXl2
c3BbMF0ubm9kZSksICYoeXlsc3BbLTJdKSwgJih5eWxvYykpLCBpZFVNaW51cywgJih5eWxzcFst
M10pLCAmKHl5bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDY5NzMgInBh
cnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgMjI0
Ogo+ICsjbGluZSAxOTgwICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiAr
ICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBjYWxsX3VuaV9vcChwLCAoeXl2
c3BbMF0ubm9kZSksIGlkVVBsdXMsICYoeXlsc3BbLTFdKSwgJih5eWxvYykpOwo+ICsgICAgICAg
ICAgICAgICAgICAgfQo+ICsjbGluZSA2OTgxICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8K
PiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDIyNToKPiArI2xpbmUgMTk4NCAicGFyc2UueSIg
LyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5
dmFsLm5vZGUpID0gY2FsbF91bmlfb3AocCwgKHl5dnNwWzBdLm5vZGUpLCBpZFVNaW51cywgJih5
eWxzcFstMV0pLCAmKHl5bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDY5
ODkgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNh
c2UgMjI2Ogo+ICsjbGluZSAxOTg4ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAg
IHsKPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBjYWxsX2Jpbl9vcChw
LCAoeXl2c3BbLTJdLm5vZGUpLCAnfCcsICh5eXZzcFswXS5ub2RlKSwgJih5eWxzcFstMV0pLCAm
KHl5bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDY5OTcgInBhcnNlLmMi
IC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgMjI3Ogo+ICsj
bGluZSAxOTkyICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAg
ICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBjYWxsX2Jpbl9vcChwLCAoeXl2c3BbLTJd
Lm5vZGUpLCAnXicsICh5eXZzcFswXS5ub2RlKSwgJih5eWxzcFstMV0pLCAmKHl5bG9jKSk7Cj4g
KyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDcwMDUgInBhcnNlLmMiIC8qIHlhY2MuYzox
NjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgMjI4Ogo+ICsjbGluZSAxOTk2ICJw
YXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAg
ICAgICAoeXl2YWwubm9kZSkgPSBjYWxsX2Jpbl9vcChwLCAoeXl2c3BbLTJdLm5vZGUpLCAnJics
ICh5eXZzcFswXS5ub2RlKSwgJih5eWxzcFstMV0pLCAmKHl5bG9jKSk7Cj4gKyAgICAgICAgICAg
ICAgICAgICB9Cj4gKyNsaW5lIDcwMTMgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsg
ICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgMjI5Ogo+ICsjbGluZSAyMDAwICJwYXJzZS55IiAvKiB5
YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwu
bm9kZSkgPSBjYWxsX2Jpbl9vcChwLCAoeXl2c3BbLTJdLm5vZGUpLCBpZENtcCwgKHl5dnNwWzBd
Lm5vZGUpLCAmKHl5bHNwWy0xXSksICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAgICAgIH0K
PiArI2xpbmUgNzAyMSAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsK
PiArCj4gKyAgY2FzZSAyMzE6Cj4gKyNsaW5lIDIwMDUgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUy
ICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9IGNh
bGxfYmluX29wKHAsICh5eXZzcFstMl0ubm9kZSksIGlkRXEsICh5eXZzcFswXS5ub2RlKSwgJih5
eWxzcFstMV0pLCAmKHl5bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDcw
MjkgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNh
c2UgMjMyOgo+ICsjbGluZSAyMDA5ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAg
IHsKPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBjYWxsX2Jpbl9vcChw
LCAoeXl2c3BbLTJdLm5vZGUpLCBpZEVxcSwgKHl5dnNwWzBdLm5vZGUpLCAmKHl5bHNwWy0xXSks
ICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgNzAzNyAicGFyc2Uu
YyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSAyMzM6Cj4g
KyNsaW5lIDIwMTMgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAg
ICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9IGNhbGxfYmluX29wKHAsICh5eXZzcFst
Ml0ubm9kZSksIGlkTmVxLCAoeXl2c3BbMF0ubm9kZSksICYoeXlsc3BbLTFdKSwgJih5eWxvYykp
Owo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA3MDQ1ICJwYXJzZS5jIiAvKiB5YWNj
LmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDIzNDoKPiArI2xpbmUgMjAx
NyAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAg
ICAgICAgICAgKHl5dmFsLm5vZGUpID0gbWF0Y2hfb3AocCwgKHl5dnNwWy0yXS5ub2RlKSwgKHl5
dnNwWzBdLm5vZGUpLCAmKHl5bHNwWy0xXSksICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAg
ICAgIH0KPiArI2xpbmUgNzA1MyAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBi
cmVhazsKPiArCj4gKyAgY2FzZSAyMzU6Cj4gKyNsaW5lIDIwMjEgInBhcnNlLnkiIC8qIHlhY2Mu
YzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2Rl
KSA9IGNhbGxfYmluX29wKHAsICh5eXZzcFstMl0ubm9kZSksIGlkTmVxVGlsZGUsICh5eXZzcFsw
XS5ub2RlKSwgJih5eWxzcFstMV0pLCAmKHl5bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAgICB9
Cj4gKyNsaW5lIDcwNjEgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7
Cj4gKwo+ICsgIGNhc2UgMjM2Ogo+ICsjbGluZSAyMDI1ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1
MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBj
YWxsX3VuaV9vcChwLCBtZXRob2RfY29uZChwLCAoeXl2c3BbMF0ubm9kZSksICYoeXlsc3BbMF0p
KSwgJyEnLCAmKHl5bHNwWy0xXSksICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAgICAgIH0K
PiArI2xpbmUgNzA2OSAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsK
PiArCj4gKyAgY2FzZSAyMzc6Cj4gKyNsaW5lIDIwMjkgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUy
ICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9IGNh
bGxfdW5pX29wKHAsICh5eXZzcFswXS5ub2RlKSwgJ34nLCAmKHl5bHNwWy0xXSksICYoeXlsb2Mp
KTsKPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgNzA3NyAicGFyc2UuYyIgLyogeWFj
Yy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSAyMzg6Cj4gKyNsaW5lIDIw
MzMgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAg
ICAgICAgICAgICh5eXZhbC5ub2RlKSA9IGNhbGxfYmluX29wKHAsICh5eXZzcFstMl0ubm9kZSks
IGlkTFRMVCwgKHl5dnNwWzBdLm5vZGUpLCAmKHl5bHNwWy0xXSksICYoeXlsb2MpKTsKPiArICAg
ICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgNzA4NSAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIg
ICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSAyMzk6Cj4gKyNsaW5lIDIwMzcgInBhcnNl
LnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgICAg
ICh5eXZhbC5ub2RlKSA9IGNhbGxfYmluX29wKHAsICh5eXZzcFstMl0ubm9kZSksIGlkR1RHVCwg
KHl5dnNwWzBdLm5vZGUpLCAmKHl5bHNwWy0xXSksICYoeXlsb2MpKTsKPiArICAgICAgICAgICAg
ICAgICAgIH0KPiArI2xpbmUgNzA5MyAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAg
ICBicmVhazsKPiArCj4gKyAgY2FzZSAyNDA6Cj4gKyNsaW5lIDIwNDEgInBhcnNlLnkiIC8qIHlh
Y2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5u
b2RlKSA9IGxvZ29wKHAsIGlkQU5ET1AsICh5eXZzcFstMl0ubm9kZSksICh5eXZzcFswXS5ub2Rl
KSwgJih5eWxzcFstMV0pLCAmKHl5bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNs
aW5lIDcxMDEgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+
ICsgIGNhc2UgMjQxOgo+ICsjbGluZSAyMDQ1ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8K
PiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBsb2dvcChw
LCBpZE9ST1AsICh5eXZzcFstMl0ubm9kZSksICh5eXZzcFswXS5ub2RlKSwgJih5eWxzcFstMV0p
LCAmKHl5bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDcxMDkgInBhcnNl
LmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgMjQyOgo+
ICsjbGluZSAyMDQ4ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHtwLT5pbl9k
ZWZpbmVkID0gMTt9Cj4gKyNsaW5lIDcxMTUgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+
ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgMjQzOgo+ICsjbGluZSAyMDQ5ICJwYXJzZS55IiAv
KiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgICAgICBwLT5p
bl9kZWZpbmVkID0gMDsKPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBu
ZXdfZGVmaW5lZChwLCAoeXl2c3BbMF0ubm9kZSksICYoeXlsb2MpKTsKPiArICAgICAgICAgICAg
ICAgICAgIH0KPiArI2xpbmUgNzEyNCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAg
ICBicmVhazsKPiArCj4gKyAgY2FzZSAyNDQ6Cj4gKyNsaW5lIDIwNTQgInBhcnNlLnkiIC8qIHlh
Y2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgLyolJSUqLwo+ICsg
ICAgICAgICAgICAgICAgICAgICAgIHZhbHVlX2V4cHIoKHl5dnNwWy01XS5ub2RlKSk7Cj4gKyAg
ICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gbmV3X2lmKHAsICh5eXZzcFstNV0u
bm9kZSksICh5eXZzcFstM10ubm9kZSksICh5eXZzcFswXS5ub2RlKSwgJih5eWxvYykpOwo+ICsg
ICAgICAgICAgICAgICAgICAgICAgIGZpeHBvcygoeXl2YWwubm9kZSksICh5eXZzcFstNV0ubm9k
ZSkpOwo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsgICAgICAgICAgICAgICAgICAg
LyolIHJpcHBlcjogaWZvcCEoJDEsICQzLCAkNikgJSovCj4gKyAgICAgICAgICAgICAgICAgICB9
Cj4gKyNsaW5lIDcxMzcgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7
Cj4gKwo+ICsgIGNhc2UgMjQ1Ogo+ICsjbGluZSAyMDYzICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1
MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSAo
eXl2c3BbMF0ubm9kZSk7Cj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDcxNDUgInBh
cnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgMjQ2
Ogo+ICsjbGluZSAyMDY4ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsoeXl2
YWwuaWQpID0gJz4nO30KPiArI2xpbmUgNzE1MSAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICov
Cj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSAyNDc6Cj4gKyNsaW5lIDIwNjkgInBhcnNlLnki
IC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgeyh5eXZhbC5pZCkgPSAnPCc7fQo+ICsjbGluZSA3
MTU3ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBj
YXNlIDI0ODoKPiArI2xpbmUgMjA3MCAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAg
ICB7KHl5dmFsLmlkKSA9IGlkR0U7fQo+ICsjbGluZSA3MTYzICJwYXJzZS5jIiAvKiB5YWNjLmM6
MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDI0OToKPiArI2xpbmUgMjA3MSAi
cGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7KHl5dmFsLmlkKSA9IGlkTEU7fQo+
ICsjbGluZSA3MTY5ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+
ICsKPiArICBjYXNlIDI1MDoKPiArI2xpbmUgMjA3NSAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIg
ICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gY2Fs
bF9iaW5fb3AocCwgKHl5dnNwWy0yXS5ub2RlKSwgKHl5dnNwWy0xXS5pZCksICh5eXZzcFswXS5u
b2RlKSwgJih5eWxzcFstMV0pLCAmKHl5bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAgICB9Cj4g
KyNsaW5lIDcxNzcgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4g
Kwo+ICsgIGNhc2UgMjUxOgo+ICsjbGluZSAyMDc5ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAg
Ki8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgICAgICByYl93YXJuaW5nMSgiY29tcGFy
aXNvbiAnJXMnIGFmdGVyIGNvbXBhcmlzb24iLCBXQVJOX0lEKCh5eXZzcFstMV0uaWQpKSk7Cj4g
KyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gY2FsbF9iaW5fb3AocCwgKHl5
dnNwWy0yXS5ub2RlKSwgKHl5dnNwWy0xXS5pZCksICh5eXZzcFswXS5ub2RlKSwgJih5eWxzcFst
MV0pLCAmKHl5bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDcxODYgInBh
cnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgMjUy
Ogo+ICsjbGluZSAyMDg2ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiAr
ICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZV9leHByKCh5eXZzcFswXS5ub2RlKSk7Cj4gKyAg
ICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gKHl5dnNwWzBdLm5vZGUpOwo+ICsg
ICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA3MTk1ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1
MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDI1NDoKPiArI2xpbmUgMjA5NCAicGFy
c2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAg
ICAgKHl5dmFsLm5vZGUpID0gKHl5dnNwWy0xXS5ub2RlKTsKPiArICAgICAgICAgICAgICAgICAg
IH0KPiArI2xpbmUgNzIwMyAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVh
azsKPiArCj4gKyAgY2FzZSAyNTU6Cj4gKyNsaW5lIDIwOTggInBhcnNlLnkiIC8qIHlhY2MuYzox
NjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgLyolJSUqLwo+ICsgICAgICAg
ICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9ICh5eXZzcFstMV0ubm9kZSkgPyBhcmdfYXBw
ZW5kKHAsICh5eXZzcFstM10ubm9kZSksIG5ld19oYXNoKHAsICh5eXZzcFstMV0ubm9kZSksICYo
eXlsc3BbLTFdKSksICYoeXlsb2MpKSA6ICh5eXZzcFstM10ubm9kZSk7Cj4gKyAgICAgICAgICAg
ICAgICAgICAvKiUgJSovCj4gKyAgICAgICAgICAgICAgICAgICAvKiUgcmlwcGVyOiBhcmdzX2Fk
ZCEoJDEsIGJhcmVfYXNzb2NfaGFzaCEoJDMpKSAlKi8KPiArICAgICAgICAgICAgICAgICAgIH0K
PiArI2xpbmUgNzIxNCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsK
PiArCj4gKyAgY2FzZSAyNTY6Cj4gKyNsaW5lIDIxMDUgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUy
ICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgLyolJSUqLwo+ICsgICAgICAgICAg
ICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9ICh5eXZzcFstMV0ubm9kZSkgPyBORVdfTElTVChu
ZXdfaGFzaChwLCAoeXl2c3BbLTFdLm5vZGUpLCAmKHl5bHNwWy0xXSkpLCAmKHl5bG9jKSkgOiAw
Owo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsgICAgICAgICAgICAgICAgICAgLyol
IHJpcHBlcjogYXJnc19hZGQhKGFyZ3NfbmV3ISwgYmFyZV9hc3NvY19oYXNoISgkMSkpICUqLwo+
ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA3MjI1ICJwYXJzZS5jIiAvKiB5YWNjLmM6
MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDI1NzoKPiArI2xpbmUgMjExNCAi
cGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAg
ICAgICAgdmFsdWVfZXhwcigoeXl2c3BbMF0ubm9kZSkpOwo+ICsgICAgICAgICAgICAgICAgICAg
ICAgICh5eXZhbC5ub2RlKSA9ICh5eXZzcFswXS5ub2RlKTsKPiArICAgICAgICAgICAgICAgICAg
IH0KPiArI2xpbmUgNzIzNCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVh
azsKPiArCj4gKyAgY2FzZSAyNTg6Cj4gKyNsaW5lIDIxMTkgInBhcnNlLnkiIC8qIHlhY2MuYzox
NjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgLyolJSUqLwo+ICsgICAgICAg
ICAgICAgICAgICAgICAgIFlZTFRZUEUgbG9jID0gY29kZV9sb2NfZ2VuKCYoeXlsc3BbLTFdKSwg
Jih5eWxzcFswXSkpOwo+ICsgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlX2V4cHIoKHl5dnNw
Wy0yXS5ub2RlKSk7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gTkVX
X1JFU0NVRSgoeXl2c3BbLTJdLm5vZGUpLCBORVdfUkVTQk9EWSgwLCByZW1vdmVfYmVnaW4oKHl5
dnNwWzBdLm5vZGUpKSwgMCwgJmxvYyksIDAsICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAg
ICAgIC8qJSAlKi8KPiArICAgICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6IHJlc2N1ZV9tb2Qh
KCQxLCAkMykgJSovCj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDcyNDcgInBhcnNl
LmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgMjU5Ogo+
ICsjbGluZSAyMTMwICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAg
ICAgICAgICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwu
bm9kZSkgPSAoeXl2c3BbLTFdLm5vZGUpOwo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+
ICsgICAgICAgICAgICAgICAgICAgLyolIHJpcHBlcjogYXJnX3BhcmVuIShlc2NhcGVfUXVuZGVm
KCQyKSkgJSovCj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDcyNTggInBhcnNlLmMi
IC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgMjY0Ogo+ICsj
bGluZSAyMTQ1ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAg
ICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gKHl5dnNwWy0xXS5ub2RlKTsKPiArICAgICAg
ICAgICAgICAgICAgIH0KPiArI2xpbmUgNzI2NiAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICov
Cj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSAyNjU6Cj4gKyNsaW5lIDIxNDkgInBhcnNlLnki
IC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgLyolJSUq
Lwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9ICh5eXZzcFstMV0ubm9k
ZSkgPyBhcmdfYXBwZW5kKHAsICh5eXZzcFstM10ubm9kZSksIG5ld19oYXNoKHAsICh5eXZzcFst
MV0ubm9kZSksICYoeXlsc3BbLTFdKSksICYoeXlsb2MpKSA6ICh5eXZzcFstM10ubm9kZSk7Cj4g
KyAgICAgICAgICAgICAgICAgICAvKiUgJSovCj4gKyAgICAgICAgICAgICAgICAgICAvKiUgcmlw
cGVyOiBhcmdzX2FkZCEoJDEsIGJhcmVfYXNzb2NfaGFzaCEoJDMpKSAlKi8KPiArICAgICAgICAg
ICAgICAgICAgIH0KPiArI2xpbmUgNzI3NyAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4g
KyAgICBicmVhazsKPiArCj4gKyAgY2FzZSAyNjY6Cj4gKyNsaW5lIDIxNTYgInBhcnNlLnkiIC8q
IHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgLyolJSUqLwo+
ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9ICh5eXZzcFstMV0ubm9kZSkg
PyBORVdfTElTVChuZXdfaGFzaChwLCAoeXl2c3BbLTFdLm5vZGUpLCAmKHl5bHNwWy0xXSkpLCAm
KHl5bHNwWy0xXSkpIDogMDsKPiArICAgICAgICAgICAgICAgICAgIC8qJSAlKi8KPiArICAgICAg
ICAgICAgICAgICAgIC8qJSByaXBwZXI6IGFyZ3NfYWRkIShhcmdzX25ldyEsIGJhcmVfYXNzb2Nf
aGFzaCEoJDEpKSAlKi8KPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgNzI4OCAicGFy
c2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSAyNjc6
Cj4gKyNsaW5lIDIxNjUgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsg
ICAgICAgICAgICAgICAgICAgLyolJSUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAgIHZhbHVl
X2V4cHIoKHl5dnNwWzBdLm5vZGUpKTsKPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwu
bm9kZSkgPSBORVdfTElTVCgoeXl2c3BbMF0ubm9kZSksICYoeXlsb2MpKTsKPiArICAgICAgICAg
ICAgICAgICAgIC8qJSAlKi8KPiArICAgICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6IGFyZ3Nf
YWRkIShhcmdzX25ldyEsICQxKSAlKi8KPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUg
NzMwMCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAg
Y2FzZSAyNjg6Cj4gKyNsaW5lIDIxNzMgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsg
ICAgewo+ICsgICAgICAgICAgICAgICAgICAgLyolJSUqLwo+ICsgICAgICAgICAgICAgICAgICAg
ICAgICh5eXZhbC5ub2RlKSA9IGFyZ19ibGtfcGFzcygoeXl2c3BbLTFdLm5vZGUpLCAoeXl2c3Bb
MF0ubm9kZSkpOwo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsgICAgICAgICAgICAg
ICAgICAgLyolIHJpcHBlcjogYXJnc19hZGRfYmxvY2shKCQxLCAkMikgJSovCj4gKyAgICAgICAg
ICAgICAgICAgICB9Cj4gKyNsaW5lIDczMTEgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+
ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgMjY5Ogo+ICsjbGluZSAyMTgwICJwYXJzZS55IiAv
KiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgIC8qJSUlKi8K
PiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSAoeXl2c3BbLTFdLm5vZGUp
ID8gTkVXX0xJU1QobmV3X2hhc2gocCwgKHl5dnNwWy0xXS5ub2RlKSwgJih5eWxzcFstMV0pKSwg
Jih5eWxzcFstMV0pKSA6IDA7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUp
ID0gYXJnX2Jsa19wYXNzKCh5eXZhbC5ub2RlKSwgKHl5dnNwWzBdLm5vZGUpKTsKPiArICAgICAg
ICAgICAgICAgICAgIC8qJSAlKi8KPiArICAgICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6IGFy
Z3NfYWRkX2Jsb2NrIShhcmdzX2FkZCEoYXJnc19uZXchLCBiYXJlX2Fzc29jX2hhc2ghKCQxKSks
ICQyKSAlKi8KPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgNzMyMyAicGFyc2UuYyIg
LyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSAyNzA6Cj4gKyNs
aW5lIDIxODggInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAg
ICAgICAgICAgICAgLyolJSUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2Rl
KSA9ICh5eXZzcFstMV0ubm9kZSkgPyBhcmdfYXBwZW5kKHAsICh5eXZzcFstM10ubm9kZSksIG5l
d19oYXNoKHAsICh5eXZzcFstMV0ubm9kZSksICYoeXlsc3BbLTFdKSksICYoeXlsb2MpKSA6ICh5
eXZzcFstM10ubm9kZSk7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0g
YXJnX2Jsa19wYXNzKCh5eXZhbC5ub2RlKSwgKHl5dnNwWzBdLm5vZGUpKTsKPiArICAgICAgICAg
ICAgICAgICAgIC8qJSAlKi8KPiArICAgICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6IGFyZ3Nf
YWRkX2Jsb2NrIShhcmdzX2FkZCEoJDEsIGJhcmVfYXNzb2NfaGFzaCEoJDMpKSwgJDQpICUqLwo+
ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA3MzM1ICJwYXJzZS5jIiAvKiB5YWNjLmM6
MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDI3MjoKPiArI2xpbmUgMjE5OSAi
cGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAg
ICAgICAgLyogSWYgY2FsbF9hcmdzIHN0YXJ0cyB3aXRoIGEgb3BlbiBwYXJlbiAnKCcgb3IgJ1sn
LAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAqIGxvb2stYWhlYWQgcmVhZGluZyBvZiB0aGUg
bGV0dGVycyBjYWxscyBDTURBUkdfUFVTSCgwKSwKPiArICAgICAgICAgICAgICAgICAgICAgICAg
KiBidXQgdGhlIHB1c2ggbXVzdCBiZSBkb25lIGFmdGVyIENNREFSR19QVVNIKDEpLgo+ICsgICAg
ICAgICAgICAgICAgICAgICAgICAqIFNvIHRoaXMgY29kZSBtYWtlcyB0aGVtIGNvbnNpc3RlbnQg
YnkgZmlyc3QgY2FuY2VsbGluZwo+ICsgICAgICAgICAgICAgICAgICAgICAgICAqIHRoZSBwcmVt
YXR1cmUgQ01EQVJHX1BVU0goMCksIGRvaW5nIENNREFSR19QVVNIKDEpLAo+ICsgICAgICAgICAg
ICAgICAgICAgICAgICAqIGFuZCBmaW5hbGx5IHJlZG9pbmcgQ01EQVJHX1BVU0goMCkuCj4gKyAg
ICAgICAgICAgICAgICAgICAgICAgICovCj4gKyAgICAgICAgICAgICAgICAgICAgICAgaW50IGxv
b2thaGVhZCA9IDA7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh5eWNoYXIpIHsK
PiArICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJygnOiBjYXNlIHRMUEFSRU46IGNhc2Ug
dExQQVJFTl9BUkc6IGNhc2UgJ1snOiBjYXNlIHRMQlJBQ0s6Cj4gKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGxvb2thaGVhZCA9IDE7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgfQo+ICsg
ICAgICAgICAgICAgICAgICAgICAgIGlmIChsb29rYWhlYWQpIENNREFSR19QT1AoKTsKPiArICAg
ICAgICAgICAgICAgICAgICAgICBDTURBUkdfUFVTSCgxKTsKPiArICAgICAgICAgICAgICAgICAg
ICAgICBpZiAobG9va2FoZWFkKSBDTURBUkdfUFVTSCgwKTsKPiArICAgICAgICAgICAgICAgICAg
IH0KPiArI2xpbmUgNzM1NyAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVh
azsKPiArCj4gKyAgY2FzZSAyNzM6Cj4gKyNsaW5lIDIyMTcgInBhcnNlLnkiIC8qIHlhY2MuYzox
NjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgICAgIC8qIGNhbGxfYXJncyBj
YW4gYmUgZm9sbG93ZWQgYnkgdExCUkFDRV9BUkcgKHRoYXQgZG9lcyBDTURBUkdfUFVTSCgwKSBp
biB0aGUgbGV4ZXIpCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICogYnV0IHRoZSBwdXNoIG11
c3QgYmUgZG9uZSBhZnRlciBDTURBUkdfUE9QKCkgaW4gdGhlIHBhcnNlci4KPiArICAgICAgICAg
ICAgICAgICAgICAgICAgKiBTbyB0aGlzIGNvZGUgZG9lcyBDTURBUkdfUE9QKCkgdG8gcG9wIDAg
cHVzaGVkIGJ5IHRMQlJBQ0VfQVJHLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAqIENNREFS
R19QT1AoKSB0byBwb3AgMSBwdXNoZWQgYnkgY29tbWFuZF9hcmdzLAo+ICsgICAgICAgICAgICAg
ICAgICAgICAgICAqIGFuZCBDTURBUkdfUFVTSCgwKSB0byByZXN0b3JlIGJhY2sgdGhlIGZsYWcg
c2V0IGJ5IHRMQlJBQ0VfQVJHLgo+ICsgICAgICAgICAgICAgICAgICAgICAgICAqLwo+ICsgICAg
ICAgICAgICAgICAgICAgICAgIGludCBsb29rYWhlYWQgPSAwOwo+ICsgICAgICAgICAgICAgICAg
ICAgICAgIHN3aXRjaCAoeXljaGFyKSB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICBjYXNl
IHRMQlJBQ0VfQVJHOgo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICBsb29rYWhlYWQgPSAx
Owo+ICsgICAgICAgICAgICAgICAgICAgICAgIH0KPiArICAgICAgICAgICAgICAgICAgICAgICBp
ZiAobG9va2FoZWFkKSBDTURBUkdfUE9QKCk7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgQ01E
QVJHX1BPUCgpOwo+ICsgICAgICAgICAgICAgICAgICAgICAgIGlmIChsb29rYWhlYWQpIENNREFS
R19QVVNIKDApOwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9ICh5eXZz
cFswXS5ub2RlKTsKPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgNzM3OSAicGFyc2Uu
YyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSAyNzQ6Cj4g
KyNsaW5lIDIyMzcgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAg
ICAgICAgICAgICAgICAgLyolJSUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5u
b2RlKSA9IE5FV19CTE9DS19QQVNTKCh5eXZzcFswXS5ub2RlKSwgJih5eWxvYykpOwo+ICsgICAg
ICAgICAgICAgICAgICAgLyolICUqLwo+ICsgICAgICAgICAgICAgICAgICAgLyolIHJpcHBlcjog
JDIgJSovCj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDczOTAgInBhcnNlLmMiIC8q
IHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgMjc1Ogo+ICsjbGlu
ZSAyMjQ2ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAg
ICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSAoeXl2c3BbMF0ubm9kZSk7Cj4gKyAgICAgICAg
ICAgICAgICAgICB9Cj4gKyNsaW5lIDczOTggInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+
ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgMjc2Ogo+ICsjbGluZSAyMjUwICJwYXJzZS55IiAv
KiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2
YWwubm9kZSkgPSAwOwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA3NDA2ICJwYXJz
ZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDI3NzoK
PiArI2xpbmUgMjI1NiAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAg
ICAgICAgICAgICAgICAgICAvKiUlJSovCj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFs
Lm5vZGUpID0gTkVXX0xJU1QoKHl5dnNwWzBdLm5vZGUpLCAmKHl5bG9jKSk7Cj4gKyAgICAgICAg
ICAgICAgICAgICAvKiUgJSovCj4gKyAgICAgICAgICAgICAgICAgICAvKiUgcmlwcGVyOiBhcmdz
X2FkZCEoYXJnc19uZXchLCAkMSkgJSovCj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5l
IDc0MTcgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsg
IGNhc2UgMjc4Ogo+ICsjbGluZSAyMjYzICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiAr
ICAgIHsKPiArICAgICAgICAgICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAgICAgICAgICAg
ICAgICAoeXl2YWwubm9kZSkgPSBORVdfU1BMQVQoKHl5dnNwWzBdLm5vZGUpLCAmKHl5bG9jKSk7
Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUgJSovCj4gKyAgICAgICAgICAgICAgICAgICAvKiUg
cmlwcGVyOiBhcmdzX2FkZF9zdGFyIShhcmdzX25ldyEsICQyKSAlKi8KPiArICAgICAgICAgICAg
ICAgICAgIH0KPiArI2xpbmUgNzQyOCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAg
ICBicmVhazsKPiArCj4gKyAgY2FzZSAyNzk6Cj4gKyNsaW5lIDIyNzAgInBhcnNlLnkiIC8qIHlh
Y2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgLyolJSUqLwo+ICsg
ICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9IGxhc3RfYXJnX2FwcGVuZChwLCAo
eXl2c3BbLTJdLm5vZGUpLCAoeXl2c3BbMF0ubm9kZSksICYoeXlsb2MpKTsKPiArICAgICAgICAg
ICAgICAgICAgIC8qJSAlKi8KPiArICAgICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6IGFyZ3Nf
YWRkISgkMSwgJDMpICUqLwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA3NDM5ICJw
YXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDI4
MDoKPiArI2xpbmUgMjI3NyAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4g
KyAgICAgICAgICAgICAgICAgICAvKiUlJSovCj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5
dmFsLm5vZGUpID0gcmVzdF9hcmdfYXBwZW5kKHAsICh5eXZzcFstM10ubm9kZSksICh5eXZzcFsw
XS5ub2RlKSwgJih5eWxvYykpOwo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsgICAg
ICAgICAgICAgICAgICAgLyolIHJpcHBlcjogYXJnc19hZGRfc3RhciEoJDEsICQ0KSAlKi8KPiAr
ICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgNzQ1MCAicGFyc2UuYyIgLyogeWFjYy5jOjE2
NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSAyODM6Cj4gKyNsaW5lIDIyOTAgInBh
cnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAg
LyolJSUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9IGxhc3RfYXJn
X2FwcGVuZChwLCAoeXl2c3BbLTJdLm5vZGUpLCAoeXl2c3BbMF0ubm9kZSksICYoeXlsb2MpKTsK
PiArICAgICAgICAgICAgICAgICAgIC8qJSAlKi8KPiArICAgICAgICAgICAgICAgICAgIC8qJSBy
aXBwZXI6IG1yaHNfYWRkIShtcmhzX25ld19mcm9tX2FyZ3MhKCQxKSwgJDMpICUqLwo+ICsgICAg
ICAgICAgICAgICAgICAgfQo+ICsjbGluZSA3NDYxICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAg
Ki8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDI4NDoKPiArI2xpbmUgMjI5NyAicGFyc2Uu
eSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUl
JSovCj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gcmVzdF9hcmdfYXBw
ZW5kKHAsICh5eXZzcFstM10ubm9kZSksICh5eXZzcFswXS5ub2RlKSwgJih5eWxvYykpOwo+ICsg
ICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsgICAgICAgICAgICAgICAgICAgLyolIHJpcHBl
cjogbXJoc19hZGRfc3RhciEobXJoc19uZXdfZnJvbV9hcmdzISgkMSksICQ0KSAlKi8KPiArICAg
ICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgNzQ3MiAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIg
ICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSAyODU6Cj4gKyNsaW5lIDIzMDQgInBhcnNl
LnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgLyol
JSUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9IE5FV19TUExBVCgo
eXl2c3BbMF0ubm9kZSksICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAgICAgIC8qJSAlKi8K
PiArICAgICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6IG1yaHNfYWRkX3N0YXIhKG1yaHNfbmV3
ISwgJDIpICUqLwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA3NDgzICJwYXJzZS5j
IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDI5NjoKPiAr
I2xpbmUgMjMyMyAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAg
ICAgICAgICAgICAgICAvKiUlJSovCj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5v
ZGUpID0gTkVXX0ZDQUxMKCh5eXZzcFswXS5pZCksIDAsICYoeXlsb2MpKTsKPiArICAgICAgICAg
ICAgICAgICAgIC8qJSAlKi8KPiArICAgICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6IG1ldGhv
ZF9hZGRfYXJnIShmY2FsbCEoJDEpLCBhcmdzX25ldyEpICUqLwo+ICsgICAgICAgICAgICAgICAg
ICAgfQo+ICsjbGluZSA3NDk0ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJy
ZWFrOwo+ICsKPiArICBjYXNlIDI5NzoKPiArI2xpbmUgMjMzMCAicGFyc2UueSIgLyogeWFjYy5j
OjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgQ01EQVJHX1BVU0go
MCk7Cj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDc1MDIgInBhcnNlLmMiIC8qIHlh
Y2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgMjk4Ogo+ICsjbGluZSAy
MzM1ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAg
ICAgICAgICAgICBDTURBUkdfUE9QKCk7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUlJSovCj4g
KyAgICAgICAgICAgICAgICAgICAgICAgc2V0X2xpbmVfYm9keSgoeXl2c3BbLTFdLm5vZGUpLCAo
eXlsc3BbLTNdKS5lbmRfcG9zLmxpbmVubyk7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5
dmFsLm5vZGUpID0gTkVXX0JFR0lOKCh5eXZzcFstMV0ubm9kZSksICYoeXlsb2MpKTsKPiArICAg
ICAgICAgICAgICAgICAgICAgICBuZF9zZXRfbGluZSgoeXl2YWwubm9kZSksICh5eWxzcFstM10p
LmVuZF9wb3MubGluZW5vKTsKPiArICAgICAgICAgICAgICAgICAgIC8qJSAlKi8KPiArICAgICAg
ICAgICAgICAgICAgIC8qJSByaXBwZXI6IGJlZ2luISgkMykgJSovCj4gKyAgICAgICAgICAgICAg
ICAgICB9Cj4gKyNsaW5lIDc1MTYgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAg
YnJlYWs7Cj4gKwo+ICsgIGNhc2UgMjk5Ogo+ICsjbGluZSAyMzQ0ICJwYXJzZS55IiAvKiB5YWNj
LmM6MTY1MiAgKi8KPiArICAgIHtTRVRfTEVYX1NUQVRFKEVYUFJfRU5EQVJHKTt9Cj4gKyNsaW5l
IDc1MjIgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsg
IGNhc2UgMzAwOgo+ICsjbGluZSAyMzQ1ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiAr
ICAgIHsKPiArICAgICAgICAgICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAgICAgICAgICAg
ICAgICAoeXl2YWwubm9kZSkgPSBORVdfQkVHSU4oMCwgJih5eWxvYykpOwo+ICsgICAgICAgICAg
ICAgICAgICAgLyolICUqLwo+ICsgICAgICAgICAgICAgICAgICAgLyolIHJpcHBlcjogcGFyZW4h
KDApICUqLwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA3NTMzICJwYXJzZS5jIiAv
KiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDMwMToKPiArI2xp
bmUgMjM1MSAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7U0VUX0xFWF9TVEFU
RShFWFBSX0VOREFSRyk7fQo+ICsjbGluZSA3NTM5ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAg
Ki8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDMwMjoKPiArI2xpbmUgMjM1MiAicGFyc2Uu
eSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUl
JSovCj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gKHl5dnNwWy0yXS5u
b2RlKTsKPiArICAgICAgICAgICAgICAgICAgIC8qJSAlKi8KPiArICAgICAgICAgICAgICAgICAg
IC8qJSByaXBwZXI6IHBhcmVuISgkMikgJSovCj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNs
aW5lIDc1NTAgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+
ICsgIGNhc2UgMzAzOgo+ICsjbGluZSAyMzU5ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8K
PiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAgICAgICAg
ICAgICAgICAoeXl2YWwubm9kZSkgPSAoeXl2c3BbLTFdLm5vZGUpOwo+ICsgICAgICAgICAgICAg
ICAgICAgLyolICUqLwo+ICsgICAgICAgICAgICAgICAgICAgLyolIHJpcHBlcjogcGFyZW4hKCQy
KSAlKi8KPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgNzU2MSAicGFyc2UuYyIgLyog
eWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSAzMDQ6Cj4gKyNsaW5l
IDIzNjYgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAg
ICAgICAgICAgLyolJSUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9
IE5FV19DT0xPTjIoKHl5dnNwWy0yXS5ub2RlKSwgKHl5dnNwWzBdLmlkKSwgJih5eWxvYykpOwo+
ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsgICAgICAgICAgICAgICAgICAgLyolIHJp
cHBlcjogY29uc3RfcGF0aF9yZWYhKCQxLCAkMykgJSovCj4gKyAgICAgICAgICAgICAgICAgICB9
Cj4gKyNsaW5lIDc1NzIgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7
Cj4gKwo+ICsgIGNhc2UgMzA1Ogo+ICsjbGluZSAyMzczICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1
MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAg
ICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBORVdfQ09MT04zKCh5eXZzcFswXS5pZCksICYo
eXlsb2MpKTsKPiArICAgICAgICAgICAgICAgICAgIC8qJSAlKi8KPiArICAgICAgICAgICAgICAg
ICAgIC8qJSByaXBwZXI6IHRvcF9jb25zdF9yZWYhKCQyKSAlKi8KPiArICAgICAgICAgICAgICAg
ICAgIH0KPiArI2xpbmUgNzU4MyAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBi
cmVhazsKPiArCj4gKyAgY2FzZSAzMDY6Cj4gKyNsaW5lIDIzODAgInBhcnNlLnkiIC8qIHlhY2Mu
YzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgLyolJSUqLwo+ICsgICAg
ICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9IG1ha2VfYXJyYXkoKHl5dnNwWy0xXS5u
b2RlKSwgJih5eWxvYykpOwo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsgICAgICAg
ICAgICAgICAgICAgLyolIHJpcHBlcjogYXJyYXkhKGVzY2FwZV9RdW5kZWYoJDIpKSAlKi8KPiAr
ICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgNzU5NCAicGFyc2UuYyIgLyogeWFjYy5jOjE2
NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSAzMDc6Cj4gKyNsaW5lIDIzODcgInBh
cnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAg
LyolJSUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9IG5ld19oYXNo
KHAsICh5eXZzcFstMV0ubm9kZSksICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAgICAgICAg
ICAoeXl2YWwubm9kZSktPm5kX2FsZW4gPSBUUlVFOwo+ICsgICAgICAgICAgICAgICAgICAgLyol
ICUqLwo+ICsgICAgICAgICAgICAgICAgICAgLyolIHJpcHBlcjogaGFzaCEoZXNjYXBlX1F1bmRl
ZigkMikpICUqLwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA3NjA2ICJwYXJzZS5j
IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDMwODoKPiAr
I2xpbmUgMjM5NSAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAg
ICAgICAgICAgICAgICAvKiUlJSovCj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5v
ZGUpID0gTkVXX1JFVFVSTigwLCAmKHl5bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUg
JSovCj4gKyAgICAgICAgICAgICAgICAgICAvKiUgcmlwcGVyOiByZXR1cm4wISAlKi8KPiArICAg
ICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgNzYxNyAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIg
ICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSAzMDk6Cj4gKyNsaW5lIDI0MDIgInBhcnNl
LnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgLyol
JSUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9IG5ld195aWVsZChw
LCAoeXl2c3BbLTFdLm5vZGUpLCAmKHl5bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUg
JSovCj4gKyAgICAgICAgICAgICAgICAgICAvKiUgcmlwcGVyOiB5aWVsZCEocGFyZW4hKCQzKSkg
JSovCj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDc2MjggInBhcnNlLmMiIC8qIHlh
Y2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgMzEwOgo+ICsjbGluZSAy
NDA5ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAg
ICAgICAgIC8qJSUlKi8KPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBO
RVdfWUlFTEQoMCwgJih5eWxvYykpOwo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsg
ICAgICAgICAgICAgICAgICAgLyolIHJpcHBlcjogeWllbGQhKHBhcmVuIShhcmdzX25ldyEpKSAl
Ki8KPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgNzYzOSAicGFyc2UuYyIgLyogeWFj
Yy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSAzMTE6Cj4gKyNsaW5lIDI0
MTYgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAg
ICAgICAgLyolJSUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9IE5F
V19ZSUVMRCgwLCAmKHl5bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUgJSovCj4gKyAg
ICAgICAgICAgICAgICAgICAvKiUgcmlwcGVyOiB5aWVsZDAhICUqLwo+ICsgICAgICAgICAgICAg
ICAgICAgfQo+ICsjbGluZSA3NjUwICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAg
IGJyZWFrOwo+ICsKPiArICBjYXNlIDMxMjoKPiArI2xpbmUgMjQyMiAicGFyc2UueSIgLyogeWFj
Yy5jOjE2NTIgICovCj4gKyAgICB7cC0+aW5fZGVmaW5lZCA9IDE7fQo+ICsjbGluZSA3NjU2ICJw
YXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDMx
MzoKPiArI2xpbmUgMjQyMyAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4g
KyAgICAgICAgICAgICAgICAgICAgICAgcC0+aW5fZGVmaW5lZCA9IDA7Cj4gKyAgICAgICAgICAg
ICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gbmV3X2RlZmluZWQocCwgKHl5dnNwWy0xXS5ub2Rl
KSwgJih5eWxvYykpOwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA3NjY1ICJwYXJz
ZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDMxNDoK
PiArI2xpbmUgMjQyOCAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAg
ICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gY2FsbF91bmlfb3AocCwgbWV0aG9k
X2NvbmQocCwgKHl5dnNwWy0xXS5ub2RlKSwgJih5eWxzcFstMV0pKSwgTUVUSE9EX05PVCwgJih5
eWxzcFstM10pLCAmKHl5bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDc2
NzMgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNh
c2UgMzE1Ogo+ICsjbGluZSAyNDMyICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAg
IHsKPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBjYWxsX3VuaV9vcChw
LCBtZXRob2RfY29uZChwLCBuZXdfbmlsKCYoeXlsc3BbLTFdKSksICYoeXlsc3BbLTFdKSksIE1F
VEhPRF9OT1QsICYoeXlsc3BbLTJdKSwgJih5eWxvYykpOwo+ICsgICAgICAgICAgICAgICAgICAg
fQo+ICsjbGluZSA3NjgxICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFr
Owo+ICsKPiArICBjYXNlIDMxNjoKPiArI2xpbmUgMjQzNiAicGFyc2UueSIgLyogeWFjYy5jOjE2
NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUlJSovCj4gKyAgICAgICAg
ICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gbWV0aG9kX2FkZF9ibG9jayhwLCAoeXl2c3Bb
LTFdLm5vZGUpLCAoeXl2c3BbMF0ubm9kZSksICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAg
ICAgIC8qJSAlKi8KPiArICAgICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6IG1ldGhvZF9hZGRf
YmxvY2shKG1ldGhvZF9hZGRfYXJnIShmY2FsbCEoJDEpLCBhcmdzX25ldyEpLCAkMikgJSovCj4g
KyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDc2OTIgInBhcnNlLmMiIC8qIHlhY2MuYzox
NjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgMzE4Ogo+ICsjbGluZSAyNDQ0ICJw
YXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAg
IC8qJSUlKi8KPiArICAgICAgICAgICAgICAgICAgICAgICBibG9ja19kdXBfY2hlY2socCwgKHl5
dnNwWy0xXS5ub2RlKS0+bmRfYXJncywgKHl5dnNwWzBdLm5vZGUpKTsKPiArICAgICAgICAgICAg
ICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBtZXRob2RfYWRkX2Jsb2NrKHAsICh5eXZzcFstMV0u
bm9kZSksICh5eXZzcFswXS5ub2RlKSwgJih5eWxvYykpOwo+ICsgICAgICAgICAgICAgICAgICAg
LyolICUqLwo+ICsgICAgICAgICAgICAgICAgICAgLyolIHJpcHBlcjogbWV0aG9kX2FkZF9ibG9j
ayEoJDEsICQyKSAlKi8KPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgNzcwNCAicGFy
c2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSAzMTk6
Cj4gKyNsaW5lIDI0NTIgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsg
ICAgICAgICAgICAgICAgICAgICAgIHRva2VuX2luZm9fcHVzaChwLCAiLT4iLCAmKHl5bHNwWzBd
KSk7Cj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDc3MTIgInBhcnNlLmMiIC8qIHlh
Y2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgMzIwOgo+ICsjbGluZSAy
NDU2ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAg
ICAgICAgICAgICAoeXl2YWwubm9kZSkgPSAoeXl2c3BbMF0ubm9kZSk7Cj4gKyAgICAgICAgICAg
ICAgICAgICAgLyolJSUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAgICBuZF9zZXRfZmlyc3Rf
bG9jKCh5eXZhbC5ub2RlKSwgKHl5bHNwWy0yXSkuYmVnX3Bvcyk7Cj4gKyAgICAgICAgICAgICAg
ICAgICAgLyolICUqLwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA3NzIzICJwYXJz
ZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDMyMToK
PiArI2xpbmUgMjQ2NiAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAg
ICAgICAgICAgICAgICAgICAvKiUlJSovCj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFs
Lm5vZGUpID0gbmV3X2lmKHAsICh5eXZzcFstNF0ubm9kZSksICh5eXZzcFstMl0ubm9kZSksICh5
eXZzcFstMV0ubm9kZSksICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAgICAgICAgICBmaXhw
b3MoKHl5dmFsLm5vZGUpLCAoeXl2c3BbLTRdLm5vZGUpKTsKPiArICAgICAgICAgICAgICAgICAg
IC8qJSAlKi8KPiArICAgICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6IGlmISgkMiwgJDQsIGVz
Y2FwZV9RdW5kZWYoJDUpKSAlKi8KPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgNzcz
NSAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2Fz
ZSAzMjI6Cj4gKyNsaW5lIDI0NzcgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAg
ewo+ICsgICAgICAgICAgICAgICAgICAgLyolJSUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAg
ICh5eXZhbC5ub2RlKSA9IG5ld191bmxlc3MocCwgKHl5dnNwWy00XS5ub2RlKSwgKHl5dnNwWy0y
XS5ub2RlKSwgKHl5dnNwWy0xXS5ub2RlKSwgJih5eWxvYykpOwo+ICsgICAgICAgICAgICAgICAg
ICAgICAgIGZpeHBvcygoeXl2YWwubm9kZSksICh5eXZzcFstNF0ubm9kZSkpOwo+ICsgICAgICAg
ICAgICAgICAgICAgLyolICUqLwo+ICsgICAgICAgICAgICAgICAgICAgLyolIHJpcHBlcjogdW5s
ZXNzISgkMiwgJDQsIGVzY2FwZV9RdW5kZWYoJDUpKSAlKi8KPiArICAgICAgICAgICAgICAgICAg
IH0KPiArI2xpbmUgNzc0NyAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVh
azsKPiArCj4gKyAgY2FzZSAzMjM6Cj4gKyNsaW5lIDI0ODcgInBhcnNlLnkiIC8qIHlhY2MuYzox
NjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgLyolJSUqLwo+ICsgICAgICAg
ICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9IE5FV19XSElMRShjb25kKHAsICh5eXZzcFst
Ml0ubm9kZSksICYoeXlsc3BbLTJdKSksICh5eXZzcFstMV0ubm9kZSksIDEsICYoeXlsb2MpKTsK
PiArICAgICAgICAgICAgICAgICAgICAgICBmaXhwb3MoKHl5dmFsLm5vZGUpLCAoeXl2c3BbLTJd
Lm5vZGUpKTsKPiArICAgICAgICAgICAgICAgICAgIC8qJSAlKi8KPiArICAgICAgICAgICAgICAg
ICAgIC8qJSByaXBwZXI6IHdoaWxlISgkMiwgJDMpICUqLwo+ICsgICAgICAgICAgICAgICAgICAg
fQo+ICsjbGluZSA3NzU5ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFr
Owo+ICsKPiArICBjYXNlIDMyNDoKPiArI2xpbmUgMjQ5NyAicGFyc2UueSIgLyogeWFjYy5jOjE2
NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUlJSovCj4gKyAgICAgICAg
ICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gTkVXX1VOVElMKGNvbmQocCwgKHl5dnNwWy0y
XS5ub2RlKSwgJih5eWxzcFstMl0pKSwgKHl5dnNwWy0xXS5ub2RlKSwgMSwgJih5eWxvYykpOwo+
ICsgICAgICAgICAgICAgICAgICAgICAgIGZpeHBvcygoeXl2YWwubm9kZSksICh5eXZzcFstMl0u
bm9kZSkpOwo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsgICAgICAgICAgICAgICAg
ICAgLyolIHJpcHBlcjogdW50aWwhKCQyLCAkMykgJSovCj4gKyAgICAgICAgICAgICAgICAgICB9
Cj4gKyNsaW5lIDc3NzEgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7
Cj4gKwo+ICsgIGNhc2UgMzI1Ogo+ICsjbGluZSAyNTA3ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1
MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAg
ICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBORVdfQ0FTRSgoeXl2c3BbLTNdLm5vZGUpLCAo
eXl2c3BbLTFdLm5vZGUpLCAmKHl5bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgZml4
cG9zKCh5eXZhbC5ub2RlKSwgKHl5dnNwWy0zXS5ub2RlKSk7Cj4gKyAgICAgICAgICAgICAgICAg
ICAvKiUgJSovCj4gKyAgICAgICAgICAgICAgICAgICAvKiUgcmlwcGVyOiBjYXNlISgkMiwgJDQp
ICUqLwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA3NzgzICJwYXJzZS5jIiAvKiB5
YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDMyNjoKPiArI2xpbmUg
MjUxNSAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAg
ICAgICAgICAvKiUlJSovCj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0g
TkVXX0NBU0UyKCh5eXZzcFstMV0ubm9kZSksICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAg
ICAgIC8qJSAlKi8KPiArICAgICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6IGNhc2UhKFFuaWws
ICQzKSAlKi8KPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgNzc5NCAicGFyc2UuYyIg
LyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSAzMjc6Cj4gKyNs
aW5lIDI1MjQgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAg
ICAgICAgICAgICAgLyolJSUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAgIC8qCj4gKyAgICAg
ICAgICAgICAgICAgICAgICAgICogIGZvciBhLCBiLCBjIGluIGUKPiArICAgICAgICAgICAgICAg
ICAgICAgICAgKiAgIz0+Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICogIGUuZWFjaHt8Knh8
IGEsIGIsIGMgPSB4fQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAqCj4gKyAgICAgICAgICAg
ICAgICAgICAgICAgICogIGZvciBhIGluIGUKPiArICAgICAgICAgICAgICAgICAgICAgICAgKiAg
Iz0+Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICogIGUuZWFjaHt8eHwgYSwgPSB4fQo+ICsg
ICAgICAgICAgICAgICAgICAgICAgICAqLwo+ICsgICAgICAgICAgICAgICAgICAgICAgIElEIGlk
ID0gaW50ZXJuYWxfaWQocCk7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgTk9ERSAqbSA9IE5F
V19BUkdTX0FVWCgwLCAwLCAmTlVMTF9MT0MpOwo+ICsgICAgICAgICAgICAgICAgICAgICAgIE5P
REUgKmFyZ3MsICpzY29wZSwgKmludGVybmFsX3ZhciA9IE5FV19EVkFSKGlkLCAmKHl5bHNwWy00
XSkpOwo+ICsgICAgICAgICAgICAgICAgICAgICAgIHJiX2ltZW1vX3RtcGJ1Zl90ICp0bXBidWYg
PSBuZXdfdG1wYnVmKCk7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgSUQgKnRibCA9IEFMTE9D
X04oSUQsIDIpOwo+ICsgICAgICAgICAgICAgICAgICAgICAgIHRibFswXSA9IDEgLyogbGVuZ3Ro
IG9mIGxvY2FsIHZhciB0YWJsZSAqLzsgdGJsWzFdID0gaWQgLyogaW50ZXJuYWwgaWQgKi87Cj4g
KyAgICAgICAgICAgICAgICAgICAgICAgdG1wYnVmLT5wdHIgPSAoVkFMVUUgKil0Ymw7Cj4gKwo+
ICsgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAobmRfdHlwZSgoeXl2c3BbLTRdLm5vZGUp
KSkgewo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBOT0RFX0xBU0dOOgo+ICsgICAg
ICAgICAgICAgICAgICAgICAgICAgY2FzZSBOT0RFX0RBU0dOOgo+ICsgICAgICAgICAgICAgICAg
ICAgICAgICAgY2FzZSBOT0RFX0RBU0dOX0NVUlI6IC8qIGUuZWFjaCB7fGludGVybmFsX3Zhcnwg
YSA9IGludGVybmFsX3ZhcjsgLi4uIH0gKi8KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg
KHl5dnNwWy00XS5ub2RlKS0+bmRfdmFsdWUgPSBpbnRlcm5hbF92YXI7Cj4gKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGlkID0gMDsKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgbS0+
bmRfcGxlbiA9IDE7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgIG0tPm5kX25leHQgPSAo
eXl2c3BbLTRdLm5vZGUpOwo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKPiAr
ICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgTk9ERV9NQVNHTjogLyogZS5lYWNoIHt8Kmlu
dGVybmFsX3ZhcnwgYSwgYiwgYyA9IChpbnRlcm5hbF92YXIubGVuZ3RoID09IDEgJiYgQXJyYXkg
PT09ICh0bXAgPSBpbnRlcm5hbF92YXJbMF0pID8gdG1wIDogaW50ZXJuYWxfdmFyKTsgLi4uIH0g
Ki8KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgbS0+bmRfbmV4dCA9IG5vZGVfYXNzaWdu
KHAsICh5eXZzcFstNF0ubm9kZSksIE5FV19GT1JfTUFTR04oaW50ZXJuYWxfdmFyLCAmKHl5bHNw
Wy00XSkpLCAmKHl5bHNwWy00XSkpOwo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVh
azsKPiArICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IC8qIGUuZWFjaCB7fCppbnRl
cm5hbF92YXJ8IEBhLCBCLCBjWzFdLCBkLmF0dHIgPSBpbnRlcm5hbF92YWw7IC4uLiB9ICovCj4g
KyAgICAgICAgICAgICAgICAgICAgICAgICAgIG0tPm5kX25leHQgPSBub2RlX2Fzc2lnbihwLCBO
RVdfTUFTR04oTkVXX0xJU1QoKHl5dnNwWy00XS5ub2RlKSwgJih5eWxzcFstNF0pKSwgMCwgJih5
eWxzcFstNF0pKSwgaW50ZXJuYWxfdmFyLCAmKHl5bHNwWy00XSkpOwo+ICsgICAgICAgICAgICAg
ICAgICAgICAgIH0KPiArICAgICAgICAgICAgICAgICAgICAgICAvKiB7fCppbnRlcm5hbF9pZHwg
PG0+ID0gaW50ZXJuYWxfaWQ7IC4uLiB9ICovCj4gKyAgICAgICAgICAgICAgICAgICAgICAgYXJn
cyA9IG5ld19hcmdzKHAsIG0sIDAsIGlkLCAwLCBuZXdfYXJnc190YWlsKHAsIDAsIDAsIDAsICYo
eXlsc3BbLTRdKSksICYoeXlsc3BbLTRdKSk7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgc2Nv
cGUgPSBORVdfTk9ERShOT0RFX1NDT1BFLCB0YmwsICh5eXZzcFstMV0ubm9kZSksIGFyZ3MsICYo
eXlsb2MpKTsKPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBORVdfRk9S
KCh5eXZzcFstMl0ubm9kZSksIHNjb3BlLCAmKHl5bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAg
ICAgICAgZml4cG9zKCh5eXZhbC5ub2RlKSwgKHl5dnNwWy00XS5ub2RlKSk7Cj4gKyAgICAgICAg
ICAgICAgICAgICAvKiUgJSovCj4gKyAgICAgICAgICAgICAgICAgICAvKiUgcmlwcGVyOiBmb3Ih
KCQyLCAkNCwgJDUpICUqLwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA3ODQxICJw
YXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDMy
ODoKPiArI2xpbmUgMjU2NyAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4g
KyAgICAgICAgICAgICAgICAgICAgICAgaWYgKHAtPmluX2RlZikgewo+ICsgICAgICAgICAgICAg
ICAgICAgICAgICAgICBZWUxUWVBFIGxvYyA9IGNvZGVfbG9jX2dlbigmKHl5bHNwWy0yXSksICYo
eXlsc3BbLTFdKSk7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHl5ZXJyb3IxKCZsb2Ms
ICJjbGFzcyBkZWZpbml0aW9uIGluIG1ldGhvZCBib2R5Iik7Cj4gKyAgICAgICAgICAgICAgICAg
ICAgICAgfQo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZzcFstMl0ubnVtKSA9IHAtPmlu
X2NsYXNzOwo+ICsgICAgICAgICAgICAgICAgICAgICAgIHAtPmluX2NsYXNzID0gMTsKPiArICAg
ICAgICAgICAgICAgICAgICAgICBsb2NhbF9wdXNoKHAsIDApOwo+ICsgICAgICAgICAgICAgICAg
ICAgfQo+ICsjbGluZSA3ODU1ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJy
ZWFrOwo+ICsKPiArICBjYXNlIDMyOToKPiArI2xpbmUgMjU3OCAicGFyc2UueSIgLyogeWFjYy5j
OjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUlJSovCj4gKyAgICAg
ICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gTkVXX0NMQVNTKCh5eXZzcFstNF0ubm9k
ZSksICh5eXZzcFstMV0ubm9kZSksICh5eXZzcFstM10ubm9kZSksICYoeXlsb2MpKTsKPiArICAg
ICAgICAgICAgICAgICAgICAgICBuZF9zZXRfbGluZSgoeXl2YWwubm9kZSktPm5kX2JvZHksICh5
eWxzcFswXSkuZW5kX3Bvcy5saW5lbm8pOwo+ICsgICAgICAgICAgICAgICAgICAgICAgIHNldF9s
aW5lX2JvZHkoKHl5dnNwWy0xXS5ub2RlKSwgKHl5bHNwWy0zXSkuZW5kX3Bvcy5saW5lbm8pOwo+
ICsgICAgICAgICAgICAgICAgICAgICAgIG5kX3NldF9saW5lKCh5eXZhbC5ub2RlKSwgKHl5bHNw
Wy0zXSkuZW5kX3Bvcy5saW5lbm8pOwo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsg
ICAgICAgICAgICAgICAgICAgLyolIHJpcHBlcjogY2xhc3MhKCQyLCAkMywgJDUpICUqLwo+ICsg
ICAgICAgICAgICAgICAgICAgICAgIGxvY2FsX3BvcChwKTsKPiArICAgICAgICAgICAgICAgICAg
ICAgICBwLT5pbl9jbGFzcyA9ICh5eXZzcFstNV0ubnVtKSAmIDE7Cj4gKyAgICAgICAgICAgICAg
ICAgICB9Cj4gKyNsaW5lIDc4NzEgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAg
YnJlYWs7Cj4gKwo+ICsgIGNhc2UgMzMwOgo+ICsjbGluZSAyNTkwICJwYXJzZS55IiAvKiB5YWNj
LmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubnVt
KSA9IChwLT5pbl9jbGFzcyA8PCAxKSB8IHAtPmluX2RlZjsKPiArICAgICAgICAgICAgICAgICAg
ICAgICBwLT5pbl9kZWYgPSAwOwo+ICsgICAgICAgICAgICAgICAgICAgICAgIHAtPmluX2NsYXNz
ID0gMDsKPiArICAgICAgICAgICAgICAgICAgICAgICBsb2NhbF9wdXNoKHAsIDApOwo+ICsgICAg
ICAgICAgICAgICAgICAgfQo+ICsjbGluZSA3ODgyICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAg
Ki8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDMzMToKPiArI2xpbmUgMjU5OSAicGFyc2Uu
eSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUl
JSovCj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gTkVXX1NDTEFTUygo
eXl2c3BbLTRdLm5vZGUpLCAoeXl2c3BbLTFdLm5vZGUpLCAmKHl5bG9jKSk7Cj4gKyAgICAgICAg
ICAgICAgICAgICAgICAgbmRfc2V0X2xpbmUoKHl5dmFsLm5vZGUpLT5uZF9ib2R5LCAoeXlsc3Bb
MF0pLmVuZF9wb3MubGluZW5vKTsKPiArICAgICAgICAgICAgICAgICAgICAgICBzZXRfbGluZV9i
b2R5KCh5eXZzcFstMV0ubm9kZSksIG5kX2xpbmUoKHl5dnNwWy00XS5ub2RlKSkpOwo+ICsgICAg
ICAgICAgICAgICAgICAgICAgIGZpeHBvcygoeXl2YWwubm9kZSksICh5eXZzcFstNF0ubm9kZSkp
Owo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsgICAgICAgICAgICAgICAgICAgLyol
IHJpcHBlcjogc2NsYXNzISgkMywgJDYpICUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAgIGxv
Y2FsX3BvcChwKTsKPiArICAgICAgICAgICAgICAgICAgICAgICBwLT5pbl9kZWYgPSAoeXl2c3Bb
LTNdLm51bSkgJiAxOwo+ICsgICAgICAgICAgICAgICAgICAgICAgIHAtPmluX2NsYXNzID0gKCh5
eXZzcFstM10ubnVtKSA+PiAxKSAmIDE7Cj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5l
IDc4OTkgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsg
IGNhc2UgMzMyOgo+ICsjbGluZSAyNjEyICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiAr
ICAgIHsKPiArICAgICAgICAgICAgICAgICAgICAgICBpZiAocC0+aW5fZGVmKSB7Cj4gKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFlZTFRZUEUgbG9jID0gY29kZV9sb2NfZ2VuKCYoeXlsc3Bb
LTFdKSwgJih5eWxzcFswXSkpOwo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICB5eWVycm9y
MSgmbG9jLCAibW9kdWxlIGRlZmluaXRpb24gaW4gbWV0aG9kIGJvZHkiKTsKPiArICAgICAgICAg
ICAgICAgICAgICAgICB9Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dnNwWy0xXS5udW0p
ID0gcC0+aW5fY2xhc3M7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgcC0+aW5fY2xhc3MgPSAx
Owo+ICsgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsX3B1c2gocCwgMCk7Cj4gKyAgICAgICAg
ICAgICAgICAgICB9Cj4gKyNsaW5lIDc5MTMgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+
ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgMzMzOgo+ICsjbGluZSAyNjIzICJwYXJzZS55IiAv
KiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgIC8qJSUlKi8K
PiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBORVdfTU9EVUxFKCh5eXZz
cFstM10ubm9kZSksICh5eXZzcFstMV0ubm9kZSksICYoeXlsb2MpKTsKPiArICAgICAgICAgICAg
ICAgICAgICAgICBuZF9zZXRfbGluZSgoeXl2YWwubm9kZSktPm5kX2JvZHksICh5eWxzcFswXSku
ZW5kX3Bvcy5saW5lbm8pOwo+ICsgICAgICAgICAgICAgICAgICAgICAgIHNldF9saW5lX2JvZHko
KHl5dnNwWy0xXS5ub2RlKSwgKHl5bHNwWy0zXSkuZW5kX3Bvcy5saW5lbm8pOwo+ICsgICAgICAg
ICAgICAgICAgICAgICAgIG5kX3NldF9saW5lKCh5eXZhbC5ub2RlKSwgKHl5bHNwWy0zXSkuZW5k
X3Bvcy5saW5lbm8pOwo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsgICAgICAgICAg
ICAgICAgICAgLyolIHJpcHBlcjogbW9kdWxlISgkMiwgJDQpICUqLwo+ICsgICAgICAgICAgICAg
ICAgICAgICAgIGxvY2FsX3BvcChwKTsKPiArICAgICAgICAgICAgICAgICAgICAgICBwLT5pbl9j
bGFzcyA9ICh5eXZzcFstNF0ubnVtKSAmIDE7Cj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNs
aW5lIDc5MjkgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+
ICsgIGNhc2UgMzM0Ogo+ICsjbGluZSAyNjM1ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8K
PiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgICAgICBsb2NhbF9wdXNoKHAsIDApOwo+ICsg
ICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5pZCkgPSBwLT5jdXJfYXJnOwo+ICsgICAgICAg
ICAgICAgICAgICAgICAgIHAtPmN1cl9hcmcgPSAwOwo+ICsgICAgICAgICAgICAgICAgICAgfQo+
ICsjbGluZSA3OTM5ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+
ICsKPiArICBjYXNlIDMzNToKPiArI2xpbmUgMjY0MCAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIg
ICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm51bSkgPSBwLT5p
bl9kZWY7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgcC0+aW5fZGVmID0gMTsKPiArICAgICAg
ICAgICAgICAgICAgIH0KPiArI2xpbmUgNzk0OCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICov
Cj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSAzMzY6Cj4gKyNsaW5lIDI2NDcgInBhcnNlLnki
IC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgLyolJSUq
Lwo+ICsgICAgICAgICAgICAgICAgICAgICAgIE5PREUgKmJvZHkgPSByZW1vdmVfYmVnaW4oKHl5
dnNwWy0xXS5ub2RlKSk7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgcmVkdWNlX25vZGVzKHAs
ICZib2R5KTsKPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBORVdfREVG
TigoeXl2c3BbLTVdLmlkKSwgKHl5dnNwWy0yXS5ub2RlKSwgYm9keSwgJih5eWxvYykpOwo+ICsg
ICAgICAgICAgICAgICAgICAgICAgIG5kX3NldF9saW5lKCh5eXZhbC5ub2RlKS0+bmRfZGVmbiwg
KHl5bHNwWzBdKS5lbmRfcG9zLmxpbmVubyk7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgc2V0
X2xpbmVfYm9keShib2R5LCAoeXlsc3BbLTZdKS5iZWdfcG9zLmxpbmVubyk7Cj4gKyAgICAgICAg
ICAgICAgICAgICAvKiUgJSovCj4gKyAgICAgICAgICAgICAgICAgICAvKiUgcmlwcGVyOiBkZWYh
KCQyLCAkNSwgJDYpICUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsX3BvcChwKTsK
PiArICAgICAgICAgICAgICAgICAgICAgICBwLT5pbl9kZWYgPSAoeXl2c3BbLTNdLm51bSkgJiAx
Owo+ICsgICAgICAgICAgICAgICAgICAgICAgIHAtPmN1cl9hcmcgPSAoeXl2c3BbLTRdLmlkKTsK
PiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgNzk2NiAicGFyc2UuYyIgLyogeWFjYy5j
OjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSAzMzc6Cj4gKyNsaW5lIDI2NjAg
InBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAge1NFVF9MRVhfU1RBVEUoRVhQUl9G
TkFNRSk7fQo+ICsjbGluZSA3OTcyICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAg
IGJyZWFrOwo+ICsKPiArICBjYXNlIDMzODoKPiArI2xpbmUgMjY2MSAicGFyc2UueSIgLyogeWFj
Yy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dnNwWy0x
XS5udW0pID0gcC0+aW5fZGVmOwo+ICsgICAgICAgICAgICAgICAgICAgICAgIHAtPmluX2RlZiA9
IDE7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgU0VUX0xFWF9TVEFURShFWFBSX0VOREZOfEVY
UFJfTEFCRUwpOyAvKiBmb3JjZSBmb3IgYXJncyAqLwo+ICsgICAgICAgICAgICAgICAgICAgICAg
IGxvY2FsX3B1c2gocCwgMCk7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLmlkKSA9
IHAtPmN1cl9hcmc7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgcC0+Y3VyX2FyZyA9IDA7Cj4g
KyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDc5ODUgInBhcnNlLmMiIC8qIHlhY2MuYzox
NjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgMzM5Ogo+ICsjbGluZSAyNjcyICJw
YXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAg
IC8qJSUlKi8KPiArICAgICAgICAgICAgICAgICAgICAgICBOT0RFICpib2R5ID0gcmVtb3ZlX2Jl
Z2luKCh5eXZzcFstMV0ubm9kZSkpOwo+ICsgICAgICAgICAgICAgICAgICAgICAgIHJlZHVjZV9u
b2RlcyhwLCAmYm9keSk7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0g
TkVXX0RFRlMoKHl5dnNwWy03XS5ub2RlKSwgKHl5dnNwWy00XS5pZCksICh5eXZzcFstMl0ubm9k
ZSksIGJvZHksICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAgICAgICAgICBuZF9zZXRfbGlu
ZSgoeXl2YWwubm9kZSktPm5kX2RlZm4sICh5eWxzcFswXSkuZW5kX3Bvcy5saW5lbm8pOwo+ICsg
ICAgICAgICAgICAgICAgICAgICAgIHNldF9saW5lX2JvZHkoYm9keSwgKHl5bHNwWy04XSkuYmVn
X3Bvcy5saW5lbm8pOwo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsgICAgICAgICAg
ICAgICAgICAgLyolIHJpcHBlcjogZGVmcyEoJDIsICQzLCAkNSwgJDcsICQ4KSAlKi8KPiArICAg
ICAgICAgICAgICAgICAgICAgICBsb2NhbF9wb3AocCk7Cj4gKyAgICAgICAgICAgICAgICAgICAg
ICAgcC0+aW5fZGVmID0gKHl5dnNwWy01XS5udW0pICYgMTsKPiArICAgICAgICAgICAgICAgICAg
ICAgICBwLT5jdXJfYXJnID0gKHl5dnNwWy0zXS5pZCk7Cj4gKyAgICAgICAgICAgICAgICAgICB9
Cj4gKyNsaW5lIDgwMDMgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7
Cj4gKwo+ICsgIGNhc2UgMzQwOgo+ICsjbGluZSAyNjg2ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1
MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAg
ICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBORVdfQlJFQUsoMCwgJih5eWxvYykpOwo+ICsg
ICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsgICAgICAgICAgICAgICAgICAgLyolIHJpcHBl
cjogYnJlYWshKGFyZ3NfbmV3ISkgJSovCj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5l
IDgwMTQgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsg
IGNhc2UgMzQxOgo+ICsjbGluZSAyNjkzICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiAr
ICAgIHsKPiArICAgICAgICAgICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAgICAgICAgICAg
ICAgICAoeXl2YWwubm9kZSkgPSBORVdfTkVYVCgwLCAmKHl5bG9jKSk7Cj4gKyAgICAgICAgICAg
ICAgICAgICAvKiUgJSovCj4gKyAgICAgICAgICAgICAgICAgICAvKiUgcmlwcGVyOiBuZXh0IShh
cmdzX25ldyEpICUqLwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA4MDI1ICJwYXJz
ZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDM0MjoK
PiArI2xpbmUgMjcwMCAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAg
ICAgICAgICAgICAgICAgICAvKiUlJSovCj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFs
Lm5vZGUpID0gTkVXX1JFRE8oJih5eWxvYykpOwo+ICsgICAgICAgICAgICAgICAgICAgLyolICUq
Lwo+ICsgICAgICAgICAgICAgICAgICAgLyolIHJpcHBlcjogcmVkbyEgJSovCj4gKyAgICAgICAg
ICAgICAgICAgICB9Cj4gKyNsaW5lIDgwMzYgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+
ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgMzQzOgo+ICsjbGluZSAyNzA3ICJwYXJzZS55IiAv
KiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgIC8qJSUlKi8K
PiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBORVdfUkVUUlkoJih5eWxv
YykpOwo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsgICAgICAgICAgICAgICAgICAg
LyolIHJpcHBlcjogcmV0cnkhICUqLwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA4
MDQ3ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBj
YXNlIDM0NDoKPiArI2xpbmUgMjcxNiAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAg
ICB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVfZXhwcigoeXl2c3BbMF0ubm9kZSkp
Owo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9ICh5eXZzcFswXS5ub2Rl
KTsKPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgODA1NiAicGFyc2UuYyIgLyogeWFj
Yy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSAzNDU6Cj4gKyNsaW5lIDI3
MjMgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAg
ICAgICAgICAgIHRva2VuX2luZm9fcHVzaChwLCAiYmVnaW4iLCAmKHl5bG9jKSk7Cj4gKyAgICAg
ICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDgwNjQgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAq
Lwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgMzQ2Ogo+ICsjbGluZSAyNzI5ICJwYXJzZS55
IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgICAgICB0
b2tlbl9pbmZvX3B1c2gocCwgImlmIiwgJih5eWxvYykpOwo+ICsgICAgICAgICAgICAgICAgICAg
fQo+ICsjbGluZSA4MDcyICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFr
Owo+ICsKPiArICBjYXNlIDM0NzoKPiArI2xpbmUgMjczNSAicGFyc2UueSIgLyogeWFjYy5jOjE2
NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgdG9rZW5faW5mb19wdXNo
KHAsICJ1bmxlc3MiLCAmKHl5bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5l
IDgwODAgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsg
IGNhc2UgMzQ4Ogo+ICsjbGluZSAyNzQxICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiAr
ICAgIHsKPiArICAgICAgICAgICAgICAgICAgICAgICB0b2tlbl9pbmZvX3B1c2gocCwgIndoaWxl
IiwgJih5eWxvYykpOwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA4MDg4ICJwYXJz
ZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDM0OToK
PiArI2xpbmUgMjc0NyAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAg
ICAgICAgICAgICAgICAgICAgICAgdG9rZW5faW5mb19wdXNoKHAsICJ1bnRpbCIsICYoeXlsb2Mp
KTsKPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgODA5NiAicGFyc2UuYyIgLyogeWFj
Yy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSAzNTA6Cj4gKyNsaW5lIDI3
NTMgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAg
ICAgICAgICAgIHRva2VuX2luZm9fcHVzaChwLCAiY2FzZSIsICYoeXlsb2MpKTsKPiArICAgICAg
ICAgICAgICAgICAgIH0KPiArI2xpbmUgODEwNCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICov
Cj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSAzNTE6Cj4gKyNsaW5lIDI3NTkgInBhcnNlLnki
IC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgICAgIHRv
a2VuX2luZm9fcHVzaChwLCAiZm9yIiwgJih5eWxvYykpOwo+ICsgICAgICAgICAgICAgICAgICAg
fQo+ICsjbGluZSA4MTEyICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFr
Owo+ICsKPiArICBjYXNlIDM1MjoKPiArI2xpbmUgMjc2NSAicGFyc2UueSIgLyogeWFjYy5jOjE2
NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgdG9rZW5faW5mb19wdXNo
KHAsICJjbGFzcyIsICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUg
ODEyMCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAg
Y2FzZSAzNTM6Cj4gKyNsaW5lIDI3NzEgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsg
ICAgewo+ICsgICAgICAgICAgICAgICAgICAgICAgIHRva2VuX2luZm9fcHVzaChwLCAibW9kdWxl
IiwgJih5eWxvYykpOwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA4MTI4ICJwYXJz
ZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDM1NDoK
PiArI2xpbmUgMjc3NyAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAg
ICAgICAgICAgICAgICAgICAgICAgdG9rZW5faW5mb19wdXNoKHAsICJkZWYiLCAmKHl5bG9jKSk7
Cj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDgxMzYgInBhcnNlLmMiIC8qIHlhY2Mu
YzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgMzU1Ogo+ICsjbGluZSAyNzgz
ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAg
ICAgICAgICB0b2tlbl9pbmZvX3B1c2gocCwgImRvIiwgJih5eWxvYykpOwo+ICsgICAgICAgICAg
ICAgICAgICAgfQo+ICsjbGluZSA4MTQ0ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiAr
ICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDM1NjoKPiArI2xpbmUgMjc4OSAicGFyc2UueSIgLyog
eWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgdG9rZW5f
aW5mb19wdXNoKHAsICJkbyIsICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAgICAgIH0KPiAr
I2xpbmUgODE1MiAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiAr
Cj4gKyAgY2FzZSAzNTc6Cj4gKyNsaW5lIDI3OTUgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAq
Lwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgICAgIHRva2VuX2luZm9fd2FybihwLCAi
cmVzY3VlIiwgcC0+dG9rZW5faW5mbywgMSwgJih5eWxvYykpOwo+ICsgICAgICAgICAgICAgICAg
ICAgfQo+ICsjbGluZSA4MTYwICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJy
ZWFrOwo+ICsKPiArICBjYXNlIDM1ODoKPiArI2xpbmUgMjgwMSAicGFyc2UueSIgLyogeWFjYy5j
OjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgdG9rZW5faW5mb193
YXJuKHAsICJlbnN1cmUiLCBwLT50b2tlbl9pbmZvLCAxLCAmKHl5bG9jKSk7Cj4gKyAgICAgICAg
ICAgICAgICAgICB9Cj4gKyNsaW5lIDgxNjggInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+
ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgMzU5Ogo+ICsjbGluZSAyODA3ICJwYXJzZS55IiAv
KiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgICAgICB0b2tl
bl9pbmZvX3dhcm4ocCwgIndoZW4iLCBwLT50b2tlbl9pbmZvLCAwLCAmKHl5bG9jKSk7Cj4gKyAg
ICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDgxNzYgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUy
ICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgMzYwOgo+ICsjbGluZSAyODEzICJwYXJz
ZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgICAg
ICB0b2tlbl9pbmZvICpwdGluZm9fYmVnID0gcC0+dG9rZW5faW5mbzsKPiArICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgc2FtZSA9IHB0aW5mb19iZWcgJiYgc3RyY21wKHB0aW5mb19iZWctPnRv
a2VuLCAiY2FzZSIpICE9IDA7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgdG9rZW5faW5mb193
YXJuKHAsICJlbHNlIiwgcC0+dG9rZW5faW5mbywgc2FtZSwgJih5eWxvYykpOwo+ICsgICAgICAg
ICAgICAgICAgICAgfQo+ICsjbGluZSA4MTg2ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8K
PiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDM2MToKPiArI2xpbmUgMjgyMSAicGFyc2UueSIg
LyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgdG9r
ZW5faW5mb193YXJuKHAsICJlbHNpZiIsIHAtPnRva2VuX2luZm8sIDEsICYoeXlsb2MpKTsKPiAr
ICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgODE5NCAicGFyc2UuYyIgLyogeWFjYy5jOjE2
NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSAzNjI6Cj4gKyNsaW5lIDI4MjcgInBh
cnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAg
ICAgIHRva2VuX2luZm9fcG9wKHAsICJlbmQiLCAmKHl5bG9jKSk7Cj4gKyAgICAgICAgICAgICAg
ICAgICB9Cj4gKyNsaW5lIDgyMDIgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAg
YnJlYWs7Cj4gKwo+ICsgIGNhc2UgMzYzOgo+ICsjbGluZSAyODMzICJwYXJzZS55IiAvKiB5YWNj
LmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgICAgICBpZiAocC0+aW5f
Y2xhc3MgJiYgIXAtPmluX2RlZiAmJiAhZHluYV9pbl9ibG9jayhwKSkKPiArICAgICAgICAgICAg
ICAgICAgICAgICAgICAgeXllcnJvcjEoJih5eWxzcFswXSksICJJbnZhbGlkIHJldHVybiBpbiBj
bGFzcy9tb2R1bGUgYm9keSIpOwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA4MjEx
ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNl
IDM3MDoKPiArI2xpbmUgMjg1MiAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7
Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUlJSovCj4gKyAgICAgICAgICAgICAgICAgICAgICAg
KHl5dmFsLm5vZGUpID0gbmV3X2lmKHAsICh5eXZzcFstM10ubm9kZSksICh5eXZzcFstMV0ubm9k
ZSksICh5eXZzcFswXS5ub2RlKSwgJih5eWxvYykpOwo+ICsgICAgICAgICAgICAgICAgICAgICAg
IGZpeHBvcygoeXl2YWwubm9kZSksICh5eXZzcFstM10ubm9kZSkpOwo+ICsgICAgICAgICAgICAg
ICAgICAgLyolICUqLwo+ICsgICAgICAgICAgICAgICAgICAgLyolIHJpcHBlcjogZWxzaWYhKCQy
LCAkNCwgZXNjYXBlX1F1bmRlZigkNSkpICUqLwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsj
bGluZSA4MjIzICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsK
PiArICBjYXNlIDM3MjoKPiArI2xpbmUgMjg2MyAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICov
Cj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUlJSovCj4gKyAgICAgICAgICAgICAg
ICAgICAgICAgKHl5dmFsLm5vZGUpID0gKHl5dnNwWzBdLm5vZGUpOwo+ICsgICAgICAgICAgICAg
ICAgICAgLyolICUqLwo+ICsgICAgICAgICAgICAgICAgICAgLyolIHJpcHBlcjogZWxzZSEoJDIp
ICUqLwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA4MjM0ICJwYXJzZS5jIiAvKiB5
YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDM3NToKPiArI2xpbmUg
Mjg3NiAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAg
ICAgICAgICAvKiUlJSovCj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0g
YXNzaWduYWJsZShwLCAoeXl2c3BbMF0uaWQpLCAwLCAmKHl5bG9jKSk7Cj4gKyAgICAgICAgICAg
ICAgICAgICAvKiUgJSovCj4gKyAgICAgICAgICAgICAgICAgICAvKiUgcmlwcGVyOiBhc3NpZ25h
YmxlKHAsICQxKSAlKi8KPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgODI0NSAicGFy
c2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSAzNzY6
Cj4gKyNsaW5lIDI4ODMgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsg
ICAgICAgICAgICAgICAgICAgLyolJSUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZh
bC5ub2RlKSA9ICh5eXZzcFstMV0ubm9kZSk7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUgJSov
Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUgcmlwcGVyOiBtbGhzX3BhcmVuISgkMikgJSovCj4g
KyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDgyNTYgInBhcnNlLmMiIC8qIHlhY2MuYzox
NjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgMzc3Ogo+ICsjbGluZSAyODkyICJw
YXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAg
IC8qJSUlKi8KPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBORVdfTElT
VCgoeXl2c3BbMF0ubm9kZSksICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAgICAgIC8qJSAl
Ki8KPiArICAgICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6IG1saHNfYWRkIShtbGhzX25ldyEs
ICQxKSAlKi8KPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgODI2NyAicGFyc2UuYyIg
LyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSAzNzg6Cj4gKyNs
aW5lIDI4OTkgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAg
ICAgICAgICAgICAgLyolJSUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2Rl
KSA9IGxpc3RfYXBwZW5kKHAsICh5eXZzcFstMl0ubm9kZSksICh5eXZzcFswXS5ub2RlKSk7Cj4g
KyAgICAgICAgICAgICAgICAgICAvKiUgJSovCj4gKyAgICAgICAgICAgICAgICAgICAvKiUgcmlw
cGVyOiBtbGhzX2FkZCEoJDEsICQzKSAlKi8KPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xp
bmUgODI3OCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4g
KyAgY2FzZSAzNzk6Cj4gKyNsaW5lIDI5MDggInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+
ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgLyolJSUqLwo+ICsgICAgICAgICAgICAgICAg
ICAgICAgICh5eXZhbC5ub2RlKSA9IE5FV19NQVNHTigoeXl2c3BbMF0ubm9kZSksIDAsICYoeXls
b2MpKTsKPiArICAgICAgICAgICAgICAgICAgIC8qJSAlKi8KPiArICAgICAgICAgICAgICAgICAg
IC8qJSByaXBwZXI6ICQxICUqLwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA4Mjg5
ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNl
IDM4MDoKPiArI2xpbmUgMjkxNSAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7
Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUlJSovCj4gKyAgICAgICAgICAgICAgICAgICAgICAg
KHl5dmFsLm5vZGUpID0gTkVXX01BU0dOKCh5eXZzcFstM10ubm9kZSksIGFzc2lnbmFibGUocCwg
KHl5dnNwWzBdLmlkKSwgMCwgJih5eWxvYykpLCAmKHl5bG9jKSk7Cj4gKyAgICAgICAgICAgICAg
ICAgICAvKiUgJSovCj4gKyAgICAgICAgICAgICAgICAgICAvKiUgcmlwcGVyOiBtbGhzX2FkZF9z
dGFyISgkMSwgYXNzaWduYWJsZShwLCAkNCkpICUqLwo+ICsgICAgICAgICAgICAgICAgICAgfQo+
ICsjbGluZSA4MzAwICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+
ICsKPiArICBjYXNlIDM4MToKPiArI2xpbmUgMjkyMiAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIg
ICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUlJSovCj4gKyAgICAgICAgICAg
ICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gTkVXX01BU0dOKCh5eXZzcFstNV0ubm9kZSksIE5F
V19QT1NUQVJHKGFzc2lnbmFibGUocCwgKHl5dnNwWy0yXS5pZCksIDAsICYoeXlsb2MpKSwgKHl5
dnNwWzBdLm5vZGUpLCAmKHl5bG9jKSksICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAgICAg
IC8qJSAlKi8KPiArICAgICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6IG1saHNfYWRkX3Bvc3Qh
KG1saHNfYWRkX3N0YXIhKCQxLCBhc3NpZ25hYmxlKHAsICQ0KSksICQ2KSAlKi8KPiArICAgICAg
ICAgICAgICAgICAgIH0KPiArI2xpbmUgODMxMSAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICov
Cj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSAzODI6Cj4gKyNsaW5lIDI5MjkgInBhcnNlLnki
IC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgLyolJSUq
Lwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9IE5FV19NQVNHTigoeXl2
c3BbLTJdLm5vZGUpLCBOT0RFX1NQRUNJQUxfTk9fTkFNRV9SRVNULCAmKHl5bG9jKSk7Cj4gKyAg
ICAgICAgICAgICAgICAgICAvKiUgJSovCj4gKyAgICAgICAgICAgICAgICAgICAvKiUgcmlwcGVy
OiBtbGhzX2FkZF9zdGFyISgkMSwgUW5pbCkgJSovCj4gKyAgICAgICAgICAgICAgICAgICB9Cj4g
KyNsaW5lIDgzMjIgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4g
Kwo+ICsgIGNhc2UgMzgzOgo+ICsjbGluZSAyOTM2ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAg
Ki8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAgICAg
ICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBORVdfTUFTR04oKHl5dnNwWy00XS5ub2RlKSwgTkVX
X1BPU1RBUkcoTk9ERV9TUEVDSUFMX05PX05BTUVfUkVTVCwgKHl5dnNwWzBdLm5vZGUpLCAmKHl5
bG9jKSksICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAgICAgIC8qJSAlKi8KPiArICAgICAg
ICAgICAgICAgICAgIC8qJSByaXBwZXI6IG1saHNfYWRkX3Bvc3QhKG1saHNfYWRkX3N0YXIhKCQx
LCBRbmlsKSwgJDUpICUqLwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA4MzMzICJw
YXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDM4
NDoKPiArI2xpbmUgMjk0MyAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4g
KyAgICAgICAgICAgICAgICAgICAvKiUlJSovCj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5
dmFsLm5vZGUpID0gTkVXX01BU0dOKDAsIGFzc2lnbmFibGUocCwgKHl5dnNwWzBdLmlkKSwgMCwg
Jih5eWxvYykpLCAmKHl5bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUgJSovCj4gKyAg
ICAgICAgICAgICAgICAgICAvKiUgcmlwcGVyOiBtbGhzX2FkZF9zdGFyIShtbGhzX25ldyEsIGFz
c2lnbmFibGUocCwgJDIpKSAlKi8KPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgODM0
NCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2Fz
ZSAzODU6Cj4gKyNsaW5lIDI5NTAgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAg
ewo+ICsgICAgICAgICAgICAgICAgICAgLyolJSUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAg
ICh5eXZhbC5ub2RlKSA9IE5FV19NQVNHTigwLCBORVdfUE9TVEFSRyhhc3NpZ25hYmxlKHAsICh5
eXZzcFstMl0uaWQpLCAwLCAmKHl5bG9jKSksICh5eXZzcFswXS5ub2RlKSwgJih5eWxvYykpLCAm
KHl5bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUgJSovCj4gKyAgICAgICAgICAgICAg
ICAgICAvKiUgcmlwcGVyOiBtbGhzX2FkZF9wb3N0IShtbGhzX2FkZF9zdGFyIShtbGhzX25ldyEs
IGFzc2lnbmFibGUocCwgJDIpKSwgJDQpICUqLwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsj
bGluZSA4MzU1ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsK
PiArICBjYXNlIDM4NjoKPiArI2xpbmUgMjk1NyAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICov
Cj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUlJSovCj4gKyAgICAgICAgICAgICAg
ICAgICAgICAgKHl5dmFsLm5vZGUpID0gTkVXX01BU0dOKDAsIE5PREVfU1BFQ0lBTF9OT19OQU1F
X1JFU1QsICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAgICAgIC8qJSAlKi8KPiArICAgICAg
ICAgICAgICAgICAgIC8qJSByaXBwZXI6IG1saHNfYWRkX3N0YXIhKG1saHNfbmV3ISwgUW5pbCkg
JSovCj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDgzNjYgInBhcnNlLmMiIC8qIHlh
Y2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgMzg3Ogo+ICsjbGluZSAy
OTY0ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAg
ICAgICAgIC8qJSUlKi8KPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBO
RVdfTUFTR04oMCwgTkVXX1BPU1RBUkcoTk9ERV9TUEVDSUFMX05PX05BTUVfUkVTVCwgKHl5dnNw
WzBdLm5vZGUpLCAmKHl5bG9jKSksICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAgICAgIC8q
JSAlKi8KPiArICAgICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6IG1saHNfYWRkX3Bvc3QhKG1s
aHNfYWRkX3N0YXIhKG1saHNfbmV3ISwgUW5pbCksICQzKSAlKi8KPiArICAgICAgICAgICAgICAg
ICAgIH0KPiArI2xpbmUgODM3NyAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBi
cmVhazsKPiArCj4gKyAgY2FzZSAzODg6Cj4gKyNsaW5lIDI5NzQgInBhcnNlLnkiIC8qIHlhY2Mu
YzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2Rl
KSA9IG5ld19hcmdzX3RhaWwocCwgKHl5dnNwWy0zXS5ub2RlKSwgKHl5dnNwWy0xXS5pZCksICh5
eXZzcFswXS5pZCksICYoeXlsc3BbLTFdKSk7Cj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNs
aW5lIDgzODUgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+
ICsgIGNhc2UgMzg5Ogo+ICsjbGluZSAyOTc4ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8K
PiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBuZXdfYXJn
c190YWlsKHAsICh5eXZzcFstMV0ubm9kZSksIFFub25lLCAoeXl2c3BbMF0uaWQpLCAmKHl5bHNw
Wy0xXSkpOwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA4MzkzICJwYXJzZS5jIiAv
KiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDM5MDoKPiArI2xp
bmUgMjk4MiAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAg
ICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gbmV3X2FyZ3NfdGFpbChwLCBRbm9uZSwgKHl5
dnNwWy0xXS5pZCksICh5eXZzcFswXS5pZCksICYoeXlsc3BbLTFdKSk7Cj4gKyAgICAgICAgICAg
ICAgICAgICB9Cj4gKyNsaW5lIDg0MDEgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsg
ICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgMzkxOgo+ICsjbGluZSAyOTg2ICJwYXJzZS55IiAvKiB5
YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwu
bm9kZSkgPSBuZXdfYXJnc190YWlsKHAsIFFub25lLCBRbm9uZSwgKHl5dnNwWzBdLmlkKSwgJih5
eWxzcFswXSkpOwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA4NDA5ICJwYXJzZS5j
IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDM5MjoKPiAr
I2xpbmUgMjk5MiAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAg
ICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gKHl5dnNwWzBdLm5vZGUpOwo+ICsgICAg
ICAgICAgICAgICAgICAgfQo+ICsjbGluZSA4NDE3ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAg
Ki8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDM5MzoKPiArI2xpbmUgMjk5NiAicGFyc2Uu
eSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAg
KHl5dmFsLm5vZGUpID0gbmV3X2FyZ3NfdGFpbChwLCBRbm9uZSwgUW5vbmUsIFFub25lLCAmKHl5
bHNwWzBdKSk7Cj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDg0MjUgInBhcnNlLmMi
IC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgMzk0Ogo+ICsj
bGluZSAzMDAyICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAg
ICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBuZXdfYXJncyhwLCAoeXl2c3BbLTVdLm5v
ZGUpLCAoeXl2c3BbLTNdLm5vZGUpLCAoeXl2c3BbLTFdLmlkKSwgUW5vbmUsICh5eXZzcFswXS5u
b2RlKSwgJih5eWxvYykpOwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA4NDMzICJw
YXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDM5
NToKPiArI2xpbmUgMzAwNiAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4g
KyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gbmV3X2FyZ3MocCwgKHl5dnNw
Wy03XS5ub2RlKSwgKHl5dnNwWy01XS5ub2RlKSwgKHl5dnNwWy0zXS5pZCksICh5eXZzcFstMV0u
bm9kZSksICh5eXZzcFswXS5ub2RlKSwgJih5eWxvYykpOwo+ICsgICAgICAgICAgICAgICAgICAg
fQo+ICsjbGluZSA4NDQxICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFr
Owo+ICsKPiArICBjYXNlIDM5NjoKPiArI2xpbmUgMzAxMCAicGFyc2UueSIgLyogeWFjYy5jOjE2
NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0g
bmV3X2FyZ3MocCwgKHl5dnNwWy0zXS5ub2RlKSwgKHl5dnNwWy0xXS5ub2RlKSwgUW5vbmUsIFFu
b25lLCAoeXl2c3BbMF0ubm9kZSksICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAgICAgIH0K
PiArI2xpbmUgODQ0OSAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsK
PiArCj4gKyAgY2FzZSAzOTc6Cj4gKyNsaW5lIDMwMTQgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUy
ICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9IG5l
d19hcmdzKHAsICh5eXZzcFstNV0ubm9kZSksICh5eXZzcFstM10ubm9kZSksIFFub25lLCAoeXl2
c3BbLTFdLm5vZGUpLCAoeXl2c3BbMF0ubm9kZSksICYoeXlsb2MpKTsKPiArICAgICAgICAgICAg
ICAgICAgIH0KPiArI2xpbmUgODQ1NyAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAg
ICBicmVhazsKPiArCj4gKyAgY2FzZSAzOTg6Cj4gKyNsaW5lIDMwMTggInBhcnNlLnkiIC8qIHlh
Y2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5u
b2RlKSA9IG5ld19hcmdzKHAsICh5eXZzcFstM10ubm9kZSksIFFub25lLCAoeXl2c3BbLTFdLmlk
KSwgUW5vbmUsICh5eXZzcFswXS5ub2RlKSwgJih5eWxvYykpOwo+ICsgICAgICAgICAgICAgICAg
ICAgfQo+ICsjbGluZSA4NDY1ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJy
ZWFrOwo+ICsKPiArICBjYXNlIDM5OToKPiArI2xpbmUgMzAyMiAicGFyc2UueSIgLyogeWFjYy5j
OjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUlJSovCj4gKyAgICAg
ICAgICAgICAgICAgICAgICAgLyogbWFnaWMgbnVtYmVyIGZvciByZXN0X2lkIGluIGlzZXFfc2V0
X2FyZ3VtZW50cygpICovCj4gKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgSUQgZXhjZXNz
ZWRfY29tbWEgPSAxOwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9IG5l
d19hcmdzKHAsICh5eXZzcFstMV0ubm9kZSksIFFub25lLCBleGNlc3NlZF9jb21tYSwgUW5vbmUs
IG5ld19hcmdzX3RhaWwocCwgUW5vbmUsIFFub25lLCBRbm9uZSwgJih5eWxzcFstMV0pKSwgJih5
eWxvYykpOwo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsgICAgICAgICAgICAgICAg
ICAgLyolIHJpcHBlcjogbmV3X2FyZ3MocCwgJDEsIFFub25lLCBleGNlc3NlZF9jb21tYSEsIFFu
b25lLCBuZXdfYXJnc190YWlsKHAsIFFub25lLCBRbm9uZSwgUW5vbmUsIE5VTEwpLCBOVUxMKSAl
Ki8KPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgODQ3OCAicGFyc2UuYyIgLyogeWFj
Yy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSA0MDA6Cj4gKyNsaW5lIDMw
MzEgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAg
ICAgICAgICAgICh5eXZhbC5ub2RlKSA9IG5ld19hcmdzKHAsICh5eXZzcFstNV0ubm9kZSksIFFu
b25lLCAoeXl2c3BbLTNdLmlkKSwgKHl5dnNwWy0xXS5ub2RlKSwgKHl5dnNwWzBdLm5vZGUpLCAm
KHl5bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDg0ODYgInBhcnNlLmMi
IC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgNDAxOgo+ICsj
bGluZSAzMDM1ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAg
ICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBuZXdfYXJncyhwLCAoeXl2c3BbLTFdLm5v
ZGUpLCBRbm9uZSwgUW5vbmUsIFFub25lLCAoeXl2c3BbMF0ubm9kZSksICYoeXlsb2MpKTsKPiAr
ICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgODQ5NCAicGFyc2UuYyIgLyogeWFjYy5jOjE2
NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSA0MDI6Cj4gKyNsaW5lIDMwMzkgInBh
cnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAg
ICAgICh5eXZhbC5ub2RlKSA9IG5ld19hcmdzKHAsIFFub25lLCAoeXl2c3BbLTNdLm5vZGUpLCAo
eXl2c3BbLTFdLmlkKSwgUW5vbmUsICh5eXZzcFswXS5ub2RlKSwgJih5eWxvYykpOwo+ICsgICAg
ICAgICAgICAgICAgICAgfQo+ICsjbGluZSA4NTAyICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAg
Ki8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDQwMzoKPiArI2xpbmUgMzA0MyAicGFyc2Uu
eSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAg
KHl5dmFsLm5vZGUpID0gbmV3X2FyZ3MocCwgUW5vbmUsICh5eXZzcFstNV0ubm9kZSksICh5eXZz
cFstM10uaWQpLCAoeXl2c3BbLTFdLm5vZGUpLCAoeXl2c3BbMF0ubm9kZSksICYoeXlsb2MpKTsK
PiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgODUxMCAicGFyc2UuYyIgLyogeWFjYy5j
OjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSA0MDQ6Cj4gKyNsaW5lIDMwNDcg
InBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAg
ICAgICAgICh5eXZhbC5ub2RlKSA9IG5ld19hcmdzKHAsIFFub25lLCAoeXl2c3BbLTFdLm5vZGUp
LCBRbm9uZSwgUW5vbmUsICh5eXZzcFswXS5ub2RlKSwgJih5eWxvYykpOwo+ICsgICAgICAgICAg
ICAgICAgICAgfQo+ICsjbGluZSA4NTE4ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiAr
ICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDQwNToKPiArI2xpbmUgMzA1MSAicGFyc2UueSIgLyog
eWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFs
Lm5vZGUpID0gbmV3X2FyZ3MocCwgUW5vbmUsICh5eXZzcFstM10ubm9kZSksIFFub25lLCAoeXl2
c3BbLTFdLm5vZGUpLCAoeXl2c3BbMF0ubm9kZSksICYoeXlsb2MpKTsKPiArICAgICAgICAgICAg
ICAgICAgIH0KPiArI2xpbmUgODUyNiAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAg
ICBicmVhazsKPiArCj4gKyAgY2FzZSA0MDY6Cj4gKyNsaW5lIDMwNTUgInBhcnNlLnkiIC8qIHlh
Y2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5u
b2RlKSA9IG5ld19hcmdzKHAsIFFub25lLCBRbm9uZSwgKHl5dnNwWy0xXS5pZCksIFFub25lLCAo
eXl2c3BbMF0ubm9kZSksICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xp
bmUgODUzNCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4g
KyAgY2FzZSA0MDc6Cj4gKyNsaW5lIDMwNTkgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+
ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9IG5ld19hcmdz
KHAsIFFub25lLCBRbm9uZSwgKHl5dnNwWy0zXS5pZCksICh5eXZzcFstMV0ubm9kZSksICh5eXZz
cFswXS5ub2RlKSwgJih5eWxvYykpOwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA4
NTQyICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBj
YXNlIDQwODoKPiArI2xpbmUgMzA2MyAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAg
ICB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gbmV3X2FyZ3MocCwg
UW5vbmUsIFFub25lLCBRbm9uZSwgUW5vbmUsICh5eXZzcFswXS5ub2RlKSwgJih5eWxvYykpOwo+
ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA4NTUwICJwYXJzZS5jIiAvKiB5YWNjLmM6
MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDQxMDoKPiArI2xpbmUgMzA3MCAi
cGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAg
ICAgICAgcC0+Y29tbWFuZF9zdGFydCA9IFRSVUU7Cj4gKyAgICAgICAgICAgICAgICAgICB9Cj4g
KyNsaW5lIDg1NTggInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4g
Kwo+ICsgIGNhc2UgNDExOgo+ICsjbGluZSAzMDc2ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAg
Ki8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgICAgICBwLT5jdXJfYXJnID0gMDsKPiAr
ICAgICAgICAgICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2
YWwubm9kZSkgPSAwOwo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsgICAgICAgICAg
ICAgICAgICAgLyolIHJpcHBlcjogYmxvY2tfdmFyIShwYXJhbXNfbmV3KFFuaWwsUW5pbCxRbmls
LFFuaWwsUW5pbCxRbmlsLFFuaWwpLCBlc2NhcGVfUXVuZGVmKCQyKSkgJSovCj4gKyAgICAgICAg
ICAgICAgICAgICB9Cj4gKyNsaW5lIDg1NzAgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+
ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgNDEyOgo+ICsjbGluZSAzMDg0ICJwYXJzZS55IiAv
KiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgIC8qJSUlKi8K
PiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSAwOwo+ICsgICAgICAgICAg
ICAgICAgICAgLyolICUqLwo+ICsgICAgICAgICAgICAgICAgICAgLyolIHJpcHBlcjogYmxvY2tf
dmFyIShwYXJhbXNfbmV3KFFuaWwsUW5pbCxRbmlsLFFuaWwsUW5pbCxRbmlsLFFuaWwpLCBRbmls
KSAlKi8KPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgODU4MSAicGFyc2UuYyIgLyog
eWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSA0MTM6Cj4gKyNsaW5l
IDMwOTEgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAg
ICAgICAgICAgICAgIHAtPmN1cl9hcmcgPSAwOwo+ICsgICAgICAgICAgICAgICAgICAgLyolJSUq
Lwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9ICh5eXZzcFstMl0ubm9k
ZSk7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUgJSovCj4gKyAgICAgICAgICAgICAgICAgICAv
KiUgcmlwcGVyOiBibG9ja192YXIhKGVzY2FwZV9RdW5kZWYoJDIpLCBlc2NhcGVfUXVuZGVmKCQz
KSkgJSovCj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDg1OTMgInBhcnNlLmMiIC8q
IHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgNDE0Ogo+ICsjbGlu
ZSAzMTAyICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAg
ICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gMDsKPiArICAgICAgICAgICAgICAgICAgIH0KPiAr
I2xpbmUgODYwMSAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiAr
Cj4gKyAgY2FzZSA0MTU6Cj4gKyNsaW5lIDMxMDYgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAq
Lwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgLyolJSUqLwo+ICsgICAgICAgICAgICAg
ICAgICAgICAgICh5eXZhbC5ub2RlKSA9IDA7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUgJSov
Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUgcmlwcGVyOiAkMyAlKi8KPiArICAgICAgICAgICAg
ICAgICAgIH0KPiArI2xpbmUgODYxMiAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAg
ICBicmVhazsKPiArCj4gKyAgY2FzZSA0MTg6Cj4gKyNsaW5lIDMxMjEgInBhcnNlLnkiIC8qIHlh
Y2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgICAgIG5ld19idihw
LCBnZXRfaWQoKHl5dnNwWzBdLmlkKSkpOwo+ICsgICAgICAgICAgICAgICAgICAgLyolIHJpcHBl
cjogZ2V0X3ZhbHVlKCQxKSAlKi8KPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgODYy
MSAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2Fz
ZSA0MTk6Cj4gKyNsaW5lIDMxMjYgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAg
ewo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9IDA7Cj4gKyAgICAgICAg
ICAgICAgICAgICB9Cj4gKyNsaW5lIDg2MjkgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+
ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgNDIwOgo+ICsjbGluZSAzMTMxICJwYXJzZS55IiAv
KiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2
YWwudmFycykgPSBkeW5hX3B1c2gocCk7Cj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5l
IDg2MzcgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsg
IGNhc2UgNDIxOgo+ICsjbGluZSAzMTM0ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiAr
ICAgIHsKPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubnVtKSA9IHAtPmxleC5scGFy
X2JlZzsKPiArICAgICAgICAgICAgICAgICAgICAgICBwLT5sZXgubHBhcl9iZWcgPSBwLT5sZXgu
cGFyZW5fbmVzdDsKPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgODY0NiAicGFyc2Uu
YyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSA0MjI6Cj4g
KyNsaW5lIDMxMzkgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAg
ICAgICAgICAgICAgICAgICAgIENNREFSR19QVVNIKDApOwo+ICsgICAgICAgICAgICAgICAgICAg
fQo+ICsjbGluZSA4NjU0ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFr
Owo+ICsKPiArICBjYXNlIDQyMzoKPiArI2xpbmUgMzE0MyAicGFyc2UueSIgLyogeWFjYy5jOjE2
NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgcC0+bGV4LmxwYXJfYmVn
ID0gKHl5dnNwWy0zXS5udW0pOwo+ICsgICAgICAgICAgICAgICAgICAgICAgIENNREFSR19QT1Ao
KTsKPiArICAgICAgICAgICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAgICAgICAgICAgICAg
ICAgewo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgWVlMVFlQRSBsb2MgPSBjb2RlX2xv
Y19nZW4oJih5eWxzcFstMl0pLCAmKHl5bHNwWzBdKSk7Cj4gKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAoeXl2YWwubm9kZSkgPSBORVdfTEFNQkRBKCh5eXZzcFstMl0ubm9kZSksICh5eXZz
cFswXS5ub2RlKSwgJmxvYyk7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZF9zZXRf
bGluZSgoeXl2YWwubm9kZSktPm5kX2JvZHksICh5eWxzcFswXSkuZW5kX3Bvcy5saW5lbm8pOwo+
ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmRfc2V0X2xpbmUoKHl5dmFsLm5vZGUpLCAo
eXlsc3BbLTJdKS5lbmRfcG9zLmxpbmVubyk7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgIH0K
PiArICAgICAgICAgICAgICAgICAgIC8qJSAlKi8KPiArICAgICAgICAgICAgICAgICAgIC8qJSBy
aXBwZXI6IGxhbWJkYSEoJDMsICQ1KSAlKi8KPiArICAgICAgICAgICAgICAgICAgICAgICBkeW5h
X3BvcChwLCAoeXl2c3BbLTRdLnZhcnMpKTsKPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xp
bmUgODY3MyAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4g
KyAgY2FzZSA0MjQ6Cj4gKyNsaW5lIDMxNjAgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+
ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgLyolJSUqLwo+ICsgICAgICAgICAgICAgICAg
ICAgICAgICh5eXZhbC5ub2RlKSA9ICh5eXZzcFstMl0ubm9kZSk7Cj4gKyAgICAgICAgICAgICAg
ICAgICAvKiUgJSovCj4gKyAgICAgICAgICAgICAgICAgICAvKiUgcmlwcGVyOiBwYXJlbiEoJDIp
ICUqLwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA4Njg0ICJwYXJzZS5jIiAvKiB5
YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDQyNToKPiArI2xpbmUg
MzE2NyAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAg
ICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gKHl5dnNwWzBdLm5vZGUpOwo+ICsgICAgICAgICAg
ICAgICAgICAgfQo+ICsjbGluZSA4NjkyICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiAr
ICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDQyNjoKPiArI2xpbmUgMzE3MyAicGFyc2UueSIgLyog
eWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgdG9rZW5f
aW5mb19wb3AocCwgIn0iLCAmKHl5bHNwWzBdKSk7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAg
KHl5dmFsLm5vZGUpID0gKHl5dnNwWy0xXS5ub2RlKTsKPiArICAgICAgICAgICAgICAgICAgIH0K
PiArI2xpbmUgODcwMSAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsK
PiArCj4gKyAgY2FzZSA0Mjc6Cj4gKyNsaW5lIDMxNzggInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUy
ICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9ICh5
eXZzcFstMV0ubm9kZSk7Cj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDg3MDkgInBh
cnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgNDI4
Ogo+ICsjbGluZSAzMTg0ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiAr
ICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSAoeXl2c3BbLTFdLm5vZGUpOwo+
ICsgICAgICAgICAgICAgICAgICAgLyolJSUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5
eXZhbC5ub2RlKS0+bmRfYm9keS0+bmRfbG9jID0gY29kZV9sb2NfZ2VuKCYoeXlsc3BbLTJdKSwg
Jih5eWxzcFswXSkpOwo+ICsgICAgICAgICAgICAgICAgICAgICAgIG5kX3NldF9saW5lKCh5eXZh
bC5ub2RlKSwgKHl5bHNwWy0yXSkuZW5kX3Bvcy5saW5lbm8pOwo+ICsgICAgICAgICAgICAgICAg
ICAgLyolICUqLwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA4NzIxICJwYXJzZS5j
IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDQyOToKPiAr
I2xpbmUgMzE5NCAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAg
ICAgICAgICAgICAgICAvKiUlJSovCj4gKyAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5kX3R5
cGUoKHl5dnNwWy0xXS5ub2RlKSkgPT0gTk9ERV9ZSUVMRCkgewo+ICsgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb21waWxlX2Vycm9yKHAsICJibG9jayBnaXZlbiB0byB5aWVsZCIpOwo+ICsg
ICAgICAgICAgICAgICAgICAgICAgIH0KPiArICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHsK
PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxvY2tfZHVwX2NoZWNrKHAsICh5eXZzcFst
MV0ubm9kZSktPm5kX2FyZ3MsICh5eXZzcFswXS5ub2RlKSk7Cj4gKyAgICAgICAgICAgICAgICAg
ICAgICAgfQo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9IG1ldGhvZF9h
ZGRfYmxvY2socCwgKHl5dnNwWy0xXS5ub2RlKSwgKHl5dnNwWzBdLm5vZGUpLCAmKHl5bG9jKSk7
Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgZml4cG9zKCh5eXZhbC5ub2RlKSwgKHl5dnNwWy0x
XS5ub2RlKSk7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUgJSovCj4gKyAgICAgICAgICAgICAg
ICAgICAvKiUgcmlwcGVyOiBtZXRob2RfYWRkX2Jsb2NrISgkMSwgJDIpICUqLwo+ICsgICAgICAg
ICAgICAgICAgICAgfQo+ICsjbGluZSA4NzM5ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8K
PiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDQzMDoKPiArI2xpbmUgMzIwOCAicGFyc2UueSIg
LyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUlJSov
Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gbmV3X3FjYWxsKHAsICh5
eXZzcFstMl0uaWQpLCAoeXl2c3BbLTNdLm5vZGUpLCAoeXl2c3BbLTFdLmlkKSwgKHl5dnNwWzBd
Lm5vZGUpLCAmKHl5bHNwWy0xXSksICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAgICAgIC8q
JSAlKi8KPiArICAgICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6IG9wdF9ldmVudCg6bWV0aG9k
X2FkZF9hcmchLCBjYWxsISgkMSwgJDIsICQzKSwgJDQpICUqLwo+ICsgICAgICAgICAgICAgICAg
ICAgfQo+ICsjbGluZSA4NzUwICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJy
ZWFrOwo+ICsKPiArICBjYXNlIDQzMToKPiArI2xpbmUgMzIxNSAicGFyc2UueSIgLyogeWFjYy5j
OjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUlJSovCj4gKyAgICAg
ICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gbmV3X2NvbW1hbmRfcWNhbGwocCwgKHl5
dnNwWy0zXS5pZCksICh5eXZzcFstNF0ubm9kZSksICh5eXZzcFstMl0uaWQpLCAoeXl2c3BbLTFd
Lm5vZGUpLCAoeXl2c3BbMF0ubm9kZSksICYoeXlsc3BbLTJdKSwgJih5eWxvYykpOwo+ICsgICAg
ICAgICAgICAgICAgICAgLyolICUqLwo+ICsgICAgICAgICAgICAgICAgICAgLyolIHJpcHBlcjog
b3B0X2V2ZW50KDptZXRob2RfYWRkX2Jsb2NrISwgY29tbWFuZF9jYWxsISgkMSwgJDIsICQzLCAk
NCksICQ1KSAlKi8KPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgODc2MSAicGFyc2Uu
YyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSA0MzI6Cj4g
KyNsaW5lIDMyMjIgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAg
ICAgICAgICAgICAgICAgLyolJSUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5u
b2RlKSA9IG5ld19jb21tYW5kX3FjYWxsKHAsICh5eXZzcFstM10uaWQpLCAoeXl2c3BbLTRdLm5v
ZGUpLCAoeXl2c3BbLTJdLmlkKSwgKHl5dnNwWy0xXS5ub2RlKSwgKHl5dnNwWzBdLm5vZGUpLCAm
KHl5bHNwWy0yXSksICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAgICAgIC8qJSAlKi8KPiAr
ICAgICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6IG1ldGhvZF9hZGRfYmxvY2shKGNvbW1hbmRf
Y2FsbCEoJDEsICQyLCAkMywgJDQpLCAkNSkgJSovCj4gKyAgICAgICAgICAgICAgICAgICB9Cj4g
KyNsaW5lIDg3NzIgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4g
Kwo+ICsgIGNhc2UgNDMzOgo+ICsjbGluZSAzMjMxICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAg
Ki8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAgICAg
ICAgICAgICAgICAoeXl2YWwubm9kZSkgPSAoeXl2c3BbLTFdLm5vZGUpOwo+ICsgICAgICAgICAg
ICAgICAgICAgICAgICh5eXZhbC5ub2RlKS0+bmRfYXJncyA9ICh5eXZzcFswXS5ub2RlKTsKPiAr
ICAgICAgICAgICAgICAgICAgICAgICBuZF9zZXRfbGFzdF9sb2MoKHl5dnNwWy0xXS5ub2RlKSwg
KHl5bHNwWzBdKS5lbmRfcG9zKTsKPiArICAgICAgICAgICAgICAgICAgIC8qJSAlKi8KPiArICAg
ICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6IG1ldGhvZF9hZGRfYXJnIShmY2FsbCEoJDEpLCAk
MikgJSovCj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDg3ODUgInBhcnNlLmMiIC8q
IHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgNDM0Ogo+ICsjbGlu
ZSAzMjQwICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAg
ICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkg
PSBuZXdfcWNhbGwocCwgKHl5dnNwWy0yXS5pZCksICh5eXZzcFstM10ubm9kZSksICh5eXZzcFst
MV0uaWQpLCAoeXl2c3BbMF0ubm9kZSksICYoeXlsc3BbLTFdKSwgJih5eWxvYykpOwo+ICsgICAg
ICAgICAgICAgICAgICAgICAgIG5kX3NldF9saW5lKCh5eXZhbC5ub2RlKSwgKHl5bHNwWy0xXSku
ZW5kX3Bvcy5saW5lbm8pOwo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsgICAgICAg
ICAgICAgICAgICAgLyolIHJpcHBlcjogb3B0X2V2ZW50KDptZXRob2RfYWRkX2FyZyEsIGNhbGwh
KCQxLCAkMiwgJDMpLCAkNCkgJSovCj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDg3
OTcgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNh
c2UgNDM1Ogo+ICsjbGluZSAzMjQ4ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAg
IHsKPiArICAgICAgICAgICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAgICAgICAgICAgICAg
ICAoeXl2YWwubm9kZSkgPSBuZXdfcWNhbGwocCwgSUQyVkFMKGlkQ09MT04yKSwgKHl5dnNwWy0z
XS5ub2RlKSwgKHl5dnNwWy0xXS5pZCksICh5eXZzcFswXS5ub2RlKSwgJih5eWxzcFstMV0pLCAm
KHl5bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgbmRfc2V0X2xpbmUoKHl5dmFsLm5v
ZGUpLCAoeXlsc3BbLTFdKS5lbmRfcG9zLmxpbmVubyk7Cj4gKyAgICAgICAgICAgICAgICAgICAv
KiUgJSovCj4gKyAgICAgICAgICAgICAgICAgICAvKiUgcmlwcGVyOiBtZXRob2RfYWRkX2FyZyEo
Y2FsbCEoJDEsIElEMlZBTChpZENPTE9OMiksICQzKSwgJDQpICUqLwo+ICsgICAgICAgICAgICAg
ICAgICAgfQo+ICsjbGluZSA4ODA5ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAg
IGJyZWFrOwo+ICsKPiArICBjYXNlIDQzNjoKPiArI2xpbmUgMzI1NiAicGFyc2UueSIgLyogeWFj
Yy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUlJSovCj4gKyAg
ICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gbmV3X3FjYWxsKHAsIElEMlZBTChp
ZENPTE9OMiksICh5eXZzcFstMl0ubm9kZSksICh5eXZzcFswXS5pZCksIFFudWxsLCAmKHl5bHNw
WzBdKSwgJih5eWxvYykpOwo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsgICAgICAg
ICAgICAgICAgICAgLyolIHJpcHBlcjogY2FsbCEoJDEsIElEMlZBTChpZENPTE9OMiksICQzKSAl
Ki8KPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgODgyMCAicGFyc2UuYyIgLyogeWFj
Yy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSA0Mzc6Cj4gKyNsaW5lIDMy
NjMgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAg
ICAgICAgLyolJSUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9IG5l
d19xY2FsbChwLCAoeXl2c3BbLTFdLmlkKSwgKHl5dnNwWy0yXS5ub2RlKSwgSUQyVkFMKGlkQ2Fs
bCksICh5eXZzcFswXS5ub2RlKSwgJih5eWxzcFstMV0pLCAmKHl5bG9jKSk7Cj4gKyAgICAgICAg
ICAgICAgICAgICAgICAgbmRfc2V0X2xpbmUoKHl5dmFsLm5vZGUpLCAoeXlsc3BbLTFdKS5lbmRf
cG9zLmxpbmVubyk7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUgJSovCj4gKyAgICAgICAgICAg
ICAgICAgICAvKiUgcmlwcGVyOiBtZXRob2RfYWRkX2FyZyEoY2FsbCEoJDEsICQyLCBJRDJWQUwo
aWRDYWxsKSksICQzKSAlKi8KPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgODgzMiAi
cGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSA0
Mzg6Cj4gKyNsaW5lIDMyNzEgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+
ICsgICAgICAgICAgICAgICAgICAgLyolJSUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5
eXZhbC5ub2RlKSA9IG5ld19xY2FsbChwLCBJRDJWQUwoaWRDT0xPTjIpLCAoeXl2c3BbLTJdLm5v
ZGUpLCBJRDJWQUwoaWRDYWxsKSwgKHl5dnNwWzBdLm5vZGUpLCAmKHl5bHNwWy0xXSksICYoeXls
b2MpKTsKPiArICAgICAgICAgICAgICAgICAgICAgICBuZF9zZXRfbGluZSgoeXl2YWwubm9kZSks
ICh5eWxzcFstMV0pLmVuZF9wb3MubGluZW5vKTsKPiArICAgICAgICAgICAgICAgICAgIC8qJSAl
Ki8KPiArICAgICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6IG1ldGhvZF9hZGRfYXJnIShjYWxs
ISgkMSwgSUQyVkFMKGlkQ09MT04yKSwgSUQyVkFMKGlkQ2FsbCkpLCAkMykgJSovCj4gKyAgICAg
ICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDg4NDQgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAq
Lwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgNDM5Ogo+ICsjbGluZSAzMjc5ICJwYXJzZS55
IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgIC8qJSUl
Ki8KPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBORVdfU1VQRVIoKHl5
dnNwWzBdLm5vZGUpLCAmKHl5bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUgJSovCj4g
KyAgICAgICAgICAgICAgICAgICAvKiUgcmlwcGVyOiBzdXBlciEoJDIpICUqLwo+ICsgICAgICAg
ICAgICAgICAgICAgfQo+ICsjbGluZSA4ODU1ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8K
PiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDQ0MDoKPiArI2xpbmUgMzI4NiAicGFyc2UueSIg
LyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUlJSov
Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gTkVXX1pTVVBFUigmKHl5
bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUgJSovCj4gKyAgICAgICAgICAgICAgICAg
ICAvKiUgcmlwcGVyOiB6c3VwZXIhICUqLwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGlu
ZSA4ODY2ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiAr
ICBjYXNlIDQ0MToKPiArI2xpbmUgMzI5MyAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4g
KyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUlJSovCj4gKyAgICAgICAgICAgICAgICAg
ICAgICAgaWYgKCh5eXZzcFstM10ubm9kZSkgJiYgbmRfdHlwZSgoeXl2c3BbLTNdLm5vZGUpKSA9
PSBOT0RFX1NFTEYpCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9
IE5FV19GQ0FMTCh0QVJFRiwgKHl5dnNwWy0xXS5ub2RlKSwgJih5eWxvYykpOwo+ICsgICAgICAg
ICAgICAgICAgICAgICAgIGVsc2UKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFs
Lm5vZGUpID0gTkVXX0NBTEwoKHl5dnNwWy0zXS5ub2RlKSwgdEFSRUYsICh5eXZzcFstMV0ubm9k
ZSksICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAgICAgICAgICBmaXhwb3MoKHl5dmFsLm5v
ZGUpLCAoeXl2c3BbLTNdLm5vZGUpKTsKPiArICAgICAgICAgICAgICAgICAgIC8qJSAlKi8KPiAr
ICAgICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6IGFyZWYhKCQxLCBlc2NhcGVfUXVuZGVmKCQz
KSkgJSovCj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDg4ODEgInBhcnNlLmMiIC8q
IHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgNDQyOgo+ICsjbGlu
ZSAzMzA2ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAg
ICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSAoeXl2c3BbLTFdLm5vZGUpOwo+ICsgICAgICAg
ICAgICAgICAgICAgLyolJSUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2Rl
KS0+bmRfYm9keS0+bmRfbG9jID0gY29kZV9sb2NfZ2VuKCYoeXlsc3BbLTJdKSwgJih5eWxzcFsw
XSkpOwo+ICsgICAgICAgICAgICAgICAgICAgICAgIG5kX3NldF9saW5lKCh5eXZhbC5ub2RlKSwg
KHl5bHNwWy0yXSkuZW5kX3Bvcy5saW5lbm8pOwo+ICsgICAgICAgICAgICAgICAgICAgLyolICUq
Lwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA4ODkzICJwYXJzZS5jIiAvKiB5YWNj
LmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDQ0MzoKPiArI2xpbmUgMzMx
NCAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAg
ICAgICAgICAgKHl5dmFsLm5vZGUpID0gKHl5dnNwWy0xXS5ub2RlKTsKPiArICAgICAgICAgICAg
ICAgICAgIC8qJSUlKi8KPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSktPm5k
X2JvZHktPm5kX2xvYyA9IGNvZGVfbG9jX2dlbigmKHl5bHNwWy0yXSksICYoeXlsc3BbMF0pKTsK
PiArICAgICAgICAgICAgICAgICAgICAgICBuZF9zZXRfbGluZSgoeXl2YWwubm9kZSksICh5eWxz
cFstMl0pLmVuZF9wb3MubGluZW5vKTsKPiArICAgICAgICAgICAgICAgICAgIC8qJSAlKi8KPiAr
ICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgODkwNSAicGFyc2UuYyIgLyogeWFjYy5jOjE2
NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSA0NDQ6Cj4gKyNsaW5lIDMzMjMgInBh
cnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgeyh5eXZhbC52YXJzKSA9IGR5bmFfcHVz
aChwKTt9Cj4gKyNsaW5lIDg5MTEgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAg
YnJlYWs7Cj4gKwo+ICsgIGNhc2UgNDQ1Ogo+ICsjbGluZSAzMzI1ICJwYXJzZS55IiAvKiB5YWNj
LmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgIC8qJSUlKi8KPiArICAg
ICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBORVdfSVRFUigoeXl2c3BbLTFdLm5v
ZGUpLCAoeXl2c3BbMF0ubm9kZSksICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAgICAgIC8q
JSAlKi8KPiArICAgICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6IGJyYWNlX2Jsb2NrIShlc2Nh
cGVfUXVuZGVmKCQyKSwgJDMpICUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAgIGR5bmFfcG9w
KHAsICh5eXZzcFstMl0udmFycykpOwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA4
OTIzICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBj
YXNlIDQ0NjoKPiArI2xpbmUgMzMzNCAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAg
ICB7KHl5dmFsLnZhcnMpID0gZHluYV9wdXNoKHApO30KPiArI2xpbmUgODkyOSAicGFyc2UuYyIg
LyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSA0NDc6Cj4gKyNs
aW5lIDMzMzUgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAge0NNREFSR19QVVNI
KDApO30KPiArI2xpbmUgODkzNSAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBi
cmVhazsKPiArCj4gKyAgY2FzZSA0NDg6Cj4gKyNsaW5lIDMzMzcgInBhcnNlLnkiIC8qIHlhY2Mu
YzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgLyolJSUqLwo+ICsgICAg
ICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9IE5FV19JVEVSKCh5eXZzcFstMV0ubm9k
ZSksICh5eXZzcFswXS5ub2RlKSwgJih5eWxvYykpOwo+ICsgICAgICAgICAgICAgICAgICAgLyol
ICUqLwo+ICsgICAgICAgICAgICAgICAgICAgLyolIHJpcHBlcjogZG9fYmxvY2shKGVzY2FwZV9R
dW5kZWYoJDMpLCAkNCkgJSovCj4gKyAgICAgICAgICAgICAgICAgICAgICAgQ01EQVJHX1BPUCgp
Owo+ICsgICAgICAgICAgICAgICAgICAgICAgIGR5bmFfcG9wKHAsICh5eXZzcFstM10udmFycykp
Owo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA4OTQ4ICJwYXJzZS5jIiAvKiB5YWNj
LmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDQ0OToKPiArI2xpbmUgMzM1
MCAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAg
ICAgICAvKiUlJSovCj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gTkVX
X1dIRU4oKHl5dnNwWy0zXS5ub2RlKSwgKHl5dnNwWy0xXS5ub2RlKSwgKHl5dnNwWzBdLm5vZGUp
LCAmKHl5bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgZml4cG9zKCh5eXZhbC5ub2Rl
KSwgKHl5dnNwWy0zXS5ub2RlKSk7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUgJSovCj4gKyAg
ICAgICAgICAgICAgICAgICAvKiUgcmlwcGVyOiB3aGVuISgkMiwgJDQsIGVzY2FwZV9RdW5kZWYo
JDUpKSAlKi8KPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgODk2MCAicGFyc2UuYyIg
LyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSA0NTI6Cj4gKyNs
aW5lIDMzNjYgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAg
ICAgICAgICAgICAgLyolJSUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2Rl
KSA9IE5FV19SRVNCT0RZKCh5eXZzcFstNF0ubm9kZSksCj4gKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAoeXl2c3BbLTNdLm5vZGUpID8gYmxvY2tfYXBwZW5kKHAsIG5v
ZGVfYXNzaWduKHAsICh5eXZzcFstM10ubm9kZSksIE5FV19FUlJJTkZPKCYoeXlsc3BbLTNdKSks
ICYoeXlsc3BbLTNdKSksICh5eXZzcFstMV0ubm9kZSkpIDogKHl5dnNwWy0xXS5ub2RlKSwKPiAr
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh5eXZzcFswXS5ub2RlKSwg
Jih5eWxvYykpOwo+ICsgICAgICAgICAgICAgICAgICAgICAgIGZpeHBvcygoeXl2YWwubm9kZSks
ICh5eXZzcFstNF0ubm9kZSk/KHl5dnNwWy00XS5ub2RlKTooeXl2c3BbLTFdLm5vZGUpKTsKPiAr
ICAgICAgICAgICAgICAgICAgIC8qJSAlKi8KPiArICAgICAgICAgICAgICAgICAgIC8qJSByaXBw
ZXI6IHJlc2N1ZSEoZXNjYXBlX1F1bmRlZigkMiksIGVzY2FwZV9RdW5kZWYoJDMpLCBlc2NhcGVf
UXVuZGVmKCQ1KSwgZXNjYXBlX1F1bmRlZigkNikpICUqLwo+ICsgICAgICAgICAgICAgICAgICAg
fQo+ICsjbGluZSA4OTc0ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFr
Owo+ICsKPiArICBjYXNlIDQ1NDoKPiArI2xpbmUgMzM3OSAicGFyc2UueSIgLyogeWFjYy5jOjE2
NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUlJSovCj4gKyAgICAgICAg
ICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gTkVXX0xJU1QoKHl5dnNwWzBdLm5vZGUpLCAm
KHl5bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUgJSovCj4gKyAgICAgICAgICAgICAg
ICAgICAvKiUgcmlwcGVyOiByYl9hcnlfbmV3MygxLCBnZXRfdmFsdWUoJDEpKSAlKi8KPiArICAg
ICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgODk4NSAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIg
ICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSA0NTU6Cj4gKyNsaW5lIDMzODYgInBhcnNl
LnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgLyol
JSUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAgIGlmICghKCh5eXZhbC5ub2RlKSA9IHNwbGF0
X2FycmF5KCh5eXZzcFswXS5ub2RlKSkpKSAoeXl2YWwubm9kZSkgPSAoeXl2c3BbMF0ubm9kZSk7
Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUgJSovCj4gKyAgICAgICAgICAgICAgICAgICAvKiUg
cmlwcGVyOiAkMSAlKi8KPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgODk5NiAicGFy
c2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSA0NTc6
Cj4gKyNsaW5lIDMzOTYgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsg
ICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9ICh5eXZzcFswXS5ub2RlKTsKPiAr
ICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgOTAwNCAicGFyc2UuYyIgLyogeWFjYy5jOjE2
NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSA0NTk6Cj4gKyNsaW5lIDM0MDMgInBh
cnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAg
LyolJSUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9ICh5eXZzcFsw
XS5ub2RlKTsKPiArICAgICAgICAgICAgICAgICAgIC8qJSAlKi8KPiArICAgICAgICAgICAgICAg
ICAgIC8qJSByaXBwZXI6IGVuc3VyZSEoJDIpICUqLwo+ICsgICAgICAgICAgICAgICAgICAgfQo+
ICsjbGluZSA5MDE1ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+
ICsKPiArICBjYXNlIDQ2MjoKPiArI2xpbmUgMzQxNCAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIg
ICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUlJSovCj4gKyAgICAgICAgICAg
ICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gTkVXX0xJVChJRDJTWU0oKHl5dnNwWzBdLmlkKSks
ICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAgICAgIC8qJSAlKi8KPiArICAgICAgICAgICAg
ICAgICAgIC8qJSByaXBwZXI6IHN5bWJvbF9saXRlcmFsISgkMSkgJSovCj4gKyAgICAgICAgICAg
ICAgICAgICB9Cj4gKyNsaW5lIDkwMjYgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsg
ICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgNDY0Ogo+ICsjbGluZSAzNDI0ICJwYXJzZS55IiAvKiB5
YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgIC8qJSUlKi8KPiAr
ICAgICAgICAgICAgICAgICAgICAgICBOT0RFICpub2RlID0gKHl5dnNwWzBdLm5vZGUpOwo+ICsg
ICAgICAgICAgICAgICAgICAgICAgIGlmICghbm9kZSkgewo+ICsgICAgICAgICAgICAgICAgICAg
ICAgICAgICBub2RlID0gTkVXX1NUUihhZGRfbWFya19vYmplY3QocCwgU1RSX05FVzAoKSksICYo
eXlsb2MpKTsKPiArICAgICAgICAgICAgICAgICAgICAgICB9Cj4gKyAgICAgICAgICAgICAgICAg
ICAgICAgZWxzZSB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGUgPSBldnN0cjJk
c3RyKHAsIG5vZGUpOwo+ICsgICAgICAgICAgICAgICAgICAgICAgIH0KPiArICAgICAgICAgICAg
ICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBub2RlOwo+ICsgICAgICAgICAgICAgICAgICAgLyol
ICUqLwo+ICsgICAgICAgICAgICAgICAgICAgLyolIHJpcHBlcjogJDEgJSovCj4gKyAgICAgICAg
ICAgICAgICAgICB9Cj4gKyNsaW5lIDkwNDQgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+
ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgNDY3Ogo+ICsjbGluZSAzNDQyICJwYXJzZS55IiAv
KiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgIC8qJSUlKi8K
PiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBsaXRlcmFsX2NvbmNhdChw
LCAoeXl2c3BbLTFdLm5vZGUpLCAoeXl2c3BbMF0ubm9kZSksICYoeXlsb2MpKTsKPiArICAgICAg
ICAgICAgICAgICAgIC8qJSAlKi8KPiArICAgICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6IHN0
cmluZ19jb25jYXQhKCQxLCAkMikgJSovCj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5l
IDkwNTUgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsg
IGNhc2UgNDY4Ogo+ICsjbGluZSAzNDUxICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiAr
ICAgIHsKPiArICAgICAgICAgICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAgICAgICAgICAg
ICAgICAoeXl2YWwubm9kZSkgPSBoZXJlZG9jX2RlZGVudChwLCAoeXl2c3BbLTFdLm5vZGUpKTsK
PiArICAgICAgICAgICAgICAgICAgICAgICBpZiAoKHl5dmFsLm5vZGUpKSBuZF9zZXRfbG9jKCh5
eXZhbC5ub2RlKSwgJih5eWxvYykpOwo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsg
ICAgICAgICAgICAgICAgICAgLyolIHJpcHBlcjogc3RyaW5nX2xpdGVyYWwhKGhlcmVkb2NfZGVk
ZW50KHAsICQyKSkgJSovCj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDkwNjcgInBh
cnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgNDY5
Ogo+ICsjbGluZSAzNDYxICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiAr
ICAgICAgICAgICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2
YWwubm9kZSkgPSBuZXdfeHN0cmluZyhwLCBoZXJlZG9jX2RlZGVudChwLCAoeXl2c3BbLTFdLm5v
ZGUpKSwgJih5eWxvYykpOwo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsgICAgICAg
ICAgICAgICAgICAgLyolIHJpcHBlcjogeHN0cmluZ19saXRlcmFsIShoZXJlZG9jX2RlZGVudChw
LCAkMikpICUqLwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA5MDc4ICJwYXJzZS5j
IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDQ3MDoKPiAr
I2xpbmUgMzQ3MCAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAg
ICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gbmV3X3JlZ2V4cChwLCAoeXl2c3BbLTFd
Lm5vZGUpLCAoeXl2c3BbMF0ubnVtKSwgJih5eWxvYykpOwo+ICsgICAgICAgICAgICAgICAgICAg
fQo+ICsjbGluZSA5MDg2ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFr
Owo+ICsKPiArICBjYXNlIDQ3MToKPiArI2xpbmUgMzQ3NiAicGFyc2UueSIgLyogeWFjYy5jOjE2
NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUlJSovCj4gKyAgICAgICAg
ICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gbWFrZV9hcnJheSgoeXl2c3BbLTFdLm5vZGUp
LCAmKHl5bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUgJSovCj4gKyAgICAgICAgICAg
ICAgICAgICAvKiUgcmlwcGVyOiBhcnJheSEoJDMpICUqLwo+ICsgICAgICAgICAgICAgICAgICAg
fQo+ICsjbGluZSA5MDk3ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFr
Owo+ICsKPiArICBjYXNlIDQ3MjoKPiArI2xpbmUgMzQ4NSAicGFyc2UueSIgLyogeWFjYy5jOjE2
NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUlJSovCj4gKyAgICAgICAg
ICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gMDsKPiArICAgICAgICAgICAgICAgICAgIC8q
JSAlKi8KPiArICAgICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6IHdvcmRzX25ldyEgJSovCj4g
KyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDkxMDggInBhcnNlLmMiIC8qIHlhY2MuYzox
NjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgNDczOgo+ICsjbGluZSAzNDkyICJw
YXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAg
IC8qJSUlKi8KPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBsaXN0X2Fw
cGVuZChwLCAoeXl2c3BbLTJdLm5vZGUpLCBldnN0cjJkc3RyKHAsICh5eXZzcFstMV0ubm9kZSkp
KTsKPiArICAgICAgICAgICAgICAgICAgIC8qJSAlKi8KPiArICAgICAgICAgICAgICAgICAgIC8q
JSByaXBwZXI6IHdvcmRzX2FkZCEoJDEsICQyKSAlKi8KPiArICAgICAgICAgICAgICAgICAgIH0K
PiArI2xpbmUgOTExOSAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsK
PiArCj4gKyAgY2FzZSA0NzU6Cj4gKyNsaW5lIDM1MDMgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUy
ICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgLyolJSUqLwo+ICsgICAgICAgICAg
ICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9IGxpdGVyYWxfY29uY2F0KHAsICh5eXZzcFstMV0u
bm9kZSksICh5eXZzcFswXS5ub2RlKSwgJih5eWxvYykpOwo+ICsgICAgICAgICAgICAgICAgICAg
LyolICUqLwo+ICsgICAgICAgICAgICAgICAgICAgLyolIHJpcHBlcjogd29yZF9hZGQhKCQxLCAk
MikgJSovCj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDkxMzAgInBhcnNlLmMiIC8q
IHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgNDc2Ogo+ICsjbGlu
ZSAzNTEyICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAg
ICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkg
PSBtYWtlX2FycmF5KCh5eXZzcFstMV0ubm9kZSksICYoeXlsb2MpKTsKPiArICAgICAgICAgICAg
ICAgICAgIC8qJSAlKi8KPiArICAgICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6IGFycmF5ISgk
MykgJSovCj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDkxNDEgInBhcnNlLmMiIC8q
IHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgNDc3Ogo+ICsjbGlu
ZSAzNTIxICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAg
ICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkg
PSAwOwo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsgICAgICAgICAgICAgICAgICAg
LyolIHJpcHBlcjogc3ltYm9sc19uZXchICUqLwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsj
bGluZSA5MTUyICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsK
PiArICBjYXNlIDQ3ODoKPiArI2xpbmUgMzUyOCAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICov
Cj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUlJSovCj4gKyAgICAgICAgICAgICAg
ICAgICAgICAgKHl5dmFsLm5vZGUpID0gc3ltYm9sX2FwcGVuZChwLCAoeXl2c3BbLTJdLm5vZGUp
LCBldnN0cjJkc3RyKHAsICh5eXZzcFstMV0ubm9kZSkpKTsKPiArICAgICAgICAgICAgICAgICAg
IC8qJSAlKi8KPiArICAgICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6IHN5bWJvbHNfYWRkISgk
MSwgJDIpICUqLwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA5MTYzICJwYXJzZS5j
IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDQ3OToKPiAr
I2xpbmUgMzUzNyAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAg
ICAgICAgICAgICAgICAvKiUlJSovCj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5v
ZGUpID0gbWFrZV9hcnJheSgoeXl2c3BbLTFdLm5vZGUpLCAmKHl5bG9jKSk7Cj4gKyAgICAgICAg
ICAgICAgICAgICAvKiUgJSovCj4gKyAgICAgICAgICAgICAgICAgICAvKiUgcmlwcGVyOiBhcnJh
eSEoJDMpICUqLwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA5MTc0ICJwYXJzZS5j
IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDQ4MDoKPiAr
I2xpbmUgMzU0NiAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAg
ICAgICAgICAgICAgICAvKiUlJSovCj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5v
ZGUpID0gbWFrZV9hcnJheSgoeXl2c3BbLTFdLm5vZGUpLCAmKHl5bG9jKSk7Cj4gKyAgICAgICAg
ICAgICAgICAgICAvKiUgJSovCj4gKyAgICAgICAgICAgICAgICAgICAvKiUgcmlwcGVyOiBhcnJh
eSEoJDMpICUqLwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA5MTg1ICJwYXJzZS5j
IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDQ4MToKPiAr
I2xpbmUgMzU1NSAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAg
ICAgICAgICAgICAgICAvKiUlJSovCj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5v
ZGUpID0gMDsKPiArICAgICAgICAgICAgICAgICAgIC8qJSAlKi8KPiArICAgICAgICAgICAgICAg
ICAgIC8qJSByaXBwZXI6IHF3b3Jkc19uZXchICUqLwo+ICsgICAgICAgICAgICAgICAgICAgfQo+
ICsjbGluZSA5MTk2ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+
ICsKPiArICBjYXNlIDQ4MjoKPiArI2xpbmUgMzU2MiAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIg
ICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUlJSovCj4gKyAgICAgICAgICAg
ICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gbGlzdF9hcHBlbmQocCwgKHl5dnNwWy0yXS5ub2Rl
KSwgKHl5dnNwWy0xXS5ub2RlKSk7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUgJSovCj4gKyAg
ICAgICAgICAgICAgICAgICAvKiUgcmlwcGVyOiBxd29yZHNfYWRkISgkMSwgJDIpICUqLwo+ICsg
ICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA5MjA3ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1
MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDQ4MzoKPiArI2xpbmUgMzU3MSAicGFy
c2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAv
KiUlJSovCj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gMDsKPiArICAg
ICAgICAgICAgICAgICAgIC8qJSAlKi8KPiArICAgICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6
IHFzeW1ib2xzX25ldyEgJSovCj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDkyMTgg
InBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2Ug
NDg0Ogo+ICsjbGluZSAzNTc4ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsK
PiArICAgICAgICAgICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAgICAgICAgICAgICAgICAo
eXl2YWwubm9kZSkgPSBzeW1ib2xfYXBwZW5kKHAsICh5eXZzcFstMl0ubm9kZSksICh5eXZzcFst
MV0ubm9kZSkpOwo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsgICAgICAgICAgICAg
ICAgICAgLyolIHJpcHBlcjogcXN5bWJvbHNfYWRkISgkMSwgJDIpICUqLwo+ICsgICAgICAgICAg
ICAgICAgICAgfQo+ICsjbGluZSA5MjI5ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiAr
ICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDQ4NToKPiArI2xpbmUgMzU4NyAicGFyc2UueSIgLyog
eWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUlJSovCj4g
KyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gMDsKPiArICAgICAgICAgICAg
ICAgICAgIC8qJSAlKi8KPiArICAgICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6IHN0cmluZ19j
b250ZW50ISAlKi8KPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgOTI0MCAicGFyc2Uu
YyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSA0ODY6Cj4g
KyNsaW5lIDM1OTQgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAg
ICAgICAgICAgICAgICAgLyolJSUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5u
b2RlKSA9IGxpdGVyYWxfY29uY2F0KHAsICh5eXZzcFstMV0ubm9kZSksICh5eXZzcFswXS5ub2Rl
KSwgJih5eWxvYykpOwo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsgICAgICAgICAg
ICAgICAgICAgLyolIHJpcHBlcjogc3RyaW5nX2FkZCEoJDEsICQyKSAlKi8KPiArICAgICAgICAg
ICAgICAgICAgIH0KPiArI2xpbmUgOTI1MSAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4g
KyAgICBicmVhazsKPiArCj4gKyAgY2FzZSA0ODc6Cj4gKyNsaW5lIDM2MDMgInBhcnNlLnkiIC8q
IHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgLyolJSUqLwo+
ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9IDA7Cj4gKyAgICAgICAgICAg
ICAgICAgICAvKiUgJSovCj4gKyAgICAgICAgICAgICAgICAgICAvKiUgcmlwcGVyOiB4c3RyaW5n
X25ldyEgJSovCj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDkyNjIgInBhcnNlLmMi
IC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgNDg4Ogo+ICsj
bGluZSAzNjEwICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAg
ICAgICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9k
ZSkgPSBsaXRlcmFsX2NvbmNhdChwLCAoeXl2c3BbLTFdLm5vZGUpLCAoeXl2c3BbMF0ubm9kZSks
ICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAgICAgIC8qJSAlKi8KPiArICAgICAgICAgICAg
ICAgICAgIC8qJSByaXBwZXI6IHhzdHJpbmdfYWRkISgkMSwgJDIpICUqLwo+ICsgICAgICAgICAg
ICAgICAgICAgfQo+ICsjbGluZSA5MjczICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiAr
ICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDQ4OToKPiArI2xpbmUgMzYxOSAicGFyc2UueSIgLyog
eWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUlJSovCj4g
KyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gMDsKPiArICAgICAgICAgICAg
ICAgICAgIC8qJSAlKi8KPiArICAgICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6IHJlZ2V4cF9u
ZXchICUqLwo+ICsgICAgICAgICAgICAgICAgICAgLyolJSUqLwo+ICsgICAgICAgICAgICAgICAg
ICAgLyolCj4gKyAgICAgICAgICAgICAgICAgICAgICAgJCQgPSByaXBwZXJfbmV3X3l5bHZhbChw
LCAwLCAkJCwgMCk7Cj4gKyAgICAgICAgICAgICAgICAgICAlKi8KPiArICAgICAgICAgICAgICAg
ICAgIH0KPiArI2xpbmUgOTI4OCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBi
cmVhazsKPiArCj4gKyAgY2FzZSA0OTA6Cj4gKyNsaW5lIDM2MzAgInBhcnNlLnkiIC8qIHlhY2Mu
YzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgLyolJSUqLwo+ICsgICAg
ICAgICAgICAgICAgICAgICAgIE5PREUgKmhlYWQgPSAoeXl2c3BbLTFdLm5vZGUpLCAqdGFpbCA9
ICh5eXZzcFswXS5ub2RlKTsKPiArICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWhlYWQpIHsK
PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gdGFpbDsKPiArICAg
ICAgICAgICAgICAgICAgICAgICB9Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAo
IXRhaWwpIHsKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gaGVh
ZDsKPiArICAgICAgICAgICAgICAgICAgICAgICB9Cj4gKyAgICAgICAgICAgICAgICAgICAgICAg
ZWxzZSB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAobmRfdHlwZShoZWFk
KSkgewo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgTk9ERV9TVFI6Cj4gKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZF9zZXRfdHlwZShoZWFkLCBOT0RFX0RTVFIp
Owo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Cj4gKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2FzZSBOT0RFX0RTVFI6Cj4gKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBicmVhazsKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0
Ogo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZCA9IGxpc3RfYXBwZW5kKHAs
IE5FV19EU1RSKFFuaWwsICYoeXlsb2MpKSwgaGVhZCk7Cj4gKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBicmVhazsKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgfQo+ICsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBsaXN0X2FwcGVuZChwLCBoZWFk
LCB0YWlsKTsKPiArICAgICAgICAgICAgICAgICAgICAgICB9Cj4gKyAgICAgICAgICAgICAgICAg
ICAvKiUKPiArICAgICAgICAgICAgICAgICAgICAgICBWQUxVRSBzMSA9IDEsIHMyID0gMCwgbjEg
PSAkMSwgbjIgPSAkMjsKPiArICAgICAgICAgICAgICAgICAgICAgICBpZiAocmlwcGVyX2lzX25v
ZGVfeXlsdmFsKG4xKSkgewo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICBzMSA9IFJOT0RF
KG4xKS0+bmRfY3ZhbDsKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgbjEgPSBSTk9ERShu
MSktPm5kX3J2YWw7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgfQo+ICsgICAgICAgICAgICAg
ICAgICAgICAgIGlmIChyaXBwZXJfaXNfbm9kZV95eWx2YWwobjIpKSB7Cj4gKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHMyID0gUk5PREUobjIpLT5uZF9jdmFsOwo+ICsgICAgICAgICAgICAg
ICAgICAgICAgICAgICBuMiA9IFJOT0RFKG4yKS0+bmRfcnZhbDsKPiArICAgICAgICAgICAgICAg
ICAgICAgICB9Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgJCQgPSBkaXNwYXRjaDIocmVnZXhw
X2FkZCwgbjEsIG4yKTsKPiArICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXMxICYmIHMyKSB7
Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICQkID0gcmlwcGVyX25ld195eWx2YWwocCwg
MCwgJCQsIHMyKTsKPiArICAgICAgICAgICAgICAgICAgICAgICB9Cj4gKyAgICAgICAgICAgICAg
ICAgICAlKi8KPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgOTMzMSAicGFyc2UuYyIg
LyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSA0OTI6Cj4gKyNs
aW5lIDM2NzIgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAg
ICAgICAgICAgICAgICAgIC8qIG5lZWQgdG8gYmFja3VwIHAtPmxleC5zdHJ0ZXJtIHNvIHRoYXQg
YSBzdHJpbmcgbGl0ZXJhbCBgJSZmb28sIyQmLGJhciZgIGNhbiBiZSBwYXJzZWQgKi8KPiArICAg
ICAgICAgICAgICAgICAgICAgICAoeXl2YWwuc3RydGVybSkgPSBwLT5sZXguc3RydGVybTsKPiAr
ICAgICAgICAgICAgICAgICAgICAgICBwLT5sZXguc3RydGVybSA9IDA7Cj4gKyAgICAgICAgICAg
ICAgICAgICAgICAgU0VUX0xFWF9TVEFURShFWFBSX0JFRyk7Cj4gKyAgICAgICAgICAgICAgICAg
ICB9Cj4gKyNsaW5lIDkzNDIgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJl
YWs7Cj4gKwo+ICsgIGNhc2UgNDkzOgo+ICsjbGluZSAzNjc5ICJwYXJzZS55IiAvKiB5YWNjLmM6
MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgICAgICBwLT5sZXguc3RydGVy
bSA9ICh5eXZzcFstMV0uc3RydGVybSk7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUlJSovCj4g
KyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gTkVXX0VWU1RSKCh5eXZzcFsw
XS5ub2RlKSwgJih5eWxvYykpOwo+ICsgICAgICAgICAgICAgICAgICAgICAgIG5kX3NldF9saW5l
KCh5eXZhbC5ub2RlKSwgKHl5bHNwWzBdKS5lbmRfcG9zLmxpbmVubyk7Cj4gKyAgICAgICAgICAg
ICAgICAgICAvKiUgJSovCj4gKyAgICAgICAgICAgICAgICAgICAvKiUgcmlwcGVyOiBzdHJpbmdf
ZHZhciEoJDMpICUqLwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA5MzU1ICJwYXJz
ZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDQ5NDoK
PiArI2xpbmUgMzY4OCAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAg
ICAgICAgICAgICAgICAgICAgICAgQ01EQVJHX1BVU0goMCk7Cj4gKyAgICAgICAgICAgICAgICAg
ICAgICAgQ09ORF9QVVNIKDApOwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA5MzY0
ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNl
IDQ5NToKPiArI2xpbmUgMzY5MiAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7
Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgLyogbmVlZCB0byBiYWNrdXAgcC0+bGV4LnN0cnRl
cm0gc28gdGhhdCBhIHN0cmluZyBsaXRlcmFsIGAlIWZvbywjeyAhMCB9LGJhciFgIGNhbiBiZSBw
YXJzZWQgKi8KPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwuc3RydGVybSkgPSBwLT5s
ZXguc3RydGVybTsKPiArICAgICAgICAgICAgICAgICAgICAgICBwLT5sZXguc3RydGVybSA9IDA7
Cj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDkzNzQgInBhcnNlLmMiIC8qIHlhY2Mu
YzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgNDk2Ogo+ICsjbGluZSAzNjk3
ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAg
ICAgICAgICAoeXl2YWwubnVtKSA9IHAtPmxleC5zdGF0ZTsKPiArICAgICAgICAgICAgICAgICAg
ICAgICBTRVRfTEVYX1NUQVRFKEVYUFJfQkVHKTsKPiArICAgICAgICAgICAgICAgICAgIH0KPiAr
I2xpbmUgOTM4MyAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiAr
Cj4gKyAgY2FzZSA0OTc6Cj4gKyNsaW5lIDM3MDEgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAq
Lwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5udW0pID0gcC0+bGV4
LmJyYWNlX25lc3Q7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgcC0+bGV4LmJyYWNlX25lc3Qg
PSAwOwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA5MzkyICJwYXJzZS5jIiAvKiB5
YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDQ5ODoKPiArI2xpbmUg
MzcwNSAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAg
ICAgICAgICAgICAgKHl5dmFsLm51bSkgPSBwLT5oZXJlZG9jX2luZGVudDsKPiArICAgICAgICAg
ICAgICAgICAgICAgICBwLT5oZXJlZG9jX2luZGVudCA9IDA7Cj4gKyAgICAgICAgICAgICAgICAg
ICB9Cj4gKyNsaW5lIDk0MDEgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJl
YWs7Cj4gKwo+ICsgIGNhc2UgNDk5Ogo+ICsjbGluZSAzNzEwICJwYXJzZS55IiAvKiB5YWNjLmM6
MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgICAgICBDT05EX1BPUCgpOwo+
ICsgICAgICAgICAgICAgICAgICAgICAgIENNREFSR19QT1AoKTsKPiArICAgICAgICAgICAgICAg
ICAgICAgICBwLT5sZXguc3RydGVybSA9ICh5eXZzcFstNV0uc3RydGVybSk7Cj4gKyAgICAgICAg
ICAgICAgICAgICAgICAgU0VUX0xFWF9TVEFURSgoeXl2c3BbLTRdLm51bSkpOwo+ICsgICAgICAg
ICAgICAgICAgICAgICAgIHAtPmxleC5icmFjZV9uZXN0ID0gKHl5dnNwWy0zXS5udW0pOwo+ICsg
ICAgICAgICAgICAgICAgICAgICAgIHAtPmhlcmVkb2NfaW5kZW50ID0gKHl5dnNwWy0yXS5udW0p
Owo+ICsgICAgICAgICAgICAgICAgICAgICAgIHAtPmhlcmVkb2NfbGluZV9pbmRlbnQgPSAtMTsK
PiArICAgICAgICAgICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAgICAgICAgICAgICAgICBp
ZiAoKHl5dnNwWy0xXS5ub2RlKSkgKHl5dnNwWy0xXS5ub2RlKS0+ZmxhZ3MgJj0gfk5PREVfRkxf
TkVXTElORTsKPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBuZXdfZXZz
dHIocCwgKHl5dnNwWy0xXS5ub2RlKSwgJih5eWxvYykpOwo+ICsgICAgICAgICAgICAgICAgICAg
LyolICUqLwo+ICsgICAgICAgICAgICAgICAgICAgLyolIHJpcHBlcjogc3RyaW5nX2VtYmV4cHIh
KCQ3KSAlKi8KPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgOTQyMCAicGFyc2UuYyIg
LyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSA1MDA6Cj4gKyNs
aW5lIDM3MjcgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAg
ICAgICAgICAgICAgLyolJSUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2Rl
KSA9IE5FV19HVkFSKCh5eXZzcFswXS5pZCksICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAg
ICAgIC8qJSAlKi8KPiArICAgICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6IHZhcl9yZWYhKCQx
KSAlKi8KPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgOTQzMSAicGFyc2UuYyIgLyog
eWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSA1MDE6Cj4gKyNsaW5l
IDM3MzQgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAg
ICAgICAgICAgLyolJSUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9
IE5FV19JVkFSKCh5eXZzcFswXS5pZCksICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAgICAg
IC8qJSAlKi8KPiArICAgICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6IHZhcl9yZWYhKCQxKSAl
Ki8KPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgOTQ0MiAicGFyc2UuYyIgLyogeWFj
Yy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSA1MDI6Cj4gKyNsaW5lIDM3
NDEgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAg
ICAgICAgLyolJSUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9IE5F
V19DVkFSKCh5eXZzcFswXS5pZCksICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAgICAgIC8q
JSAlKi8KPiArICAgICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6IHZhcl9yZWYhKCQxKSAlKi8K
PiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgOTQ1MyAicGFyc2UuYyIgLyogeWFjYy5j
OjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSA1MDQ6Cj4gKyNsaW5lIDM3NTEg
InBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAg
ICAgICAgIFNFVF9MRVhfU1RBVEUoRVhQUl9FTkQpOwo+ICsgICAgICAgICAgICAgICAgICAgLyol
JSUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5pZCkgPSAoeXl2c3BbMF0uaWQp
Owo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsgICAgICAgICAgICAgICAgICAgLyol
IHJpcHBlcjogc3ltYm9sISgkMikgJSovCj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5l
IDk0NjUgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsg
IGNhc2UgNTA5Ogo+ICsjbGluZSAzNzY3ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiAr
ICAgIHsKPiArICAgICAgICAgICAgICAgICAgICAgICBTRVRfTEVYX1NUQVRFKEVYUFJfRU5EKTsK
PiArICAgICAgICAgICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAgICAgICAgICAgICAgICAo
eXl2YWwubm9kZSkgPSBkc3ltX25vZGUocCwgKHl5dnNwWy0xXS5ub2RlKSwgJih5eWxvYykpOwo+
ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsgICAgICAgICAgICAgICAgICAgLyolIHJp
cHBlcjogZHluYV9zeW1ib2whKCQyKSAlKi8KPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xp
bmUgOTQ3NyAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4g
KyAgY2FzZSA1MTE6Cj4gKyNsaW5lIDM3NzggInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+
ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgLyolJSUqLwo+ICsgICAgICAgICAgICAgICAg
ICAgICAgICh5eXZhbC5ub2RlKSA9ICh5eXZzcFswXS5ub2RlKTsKPiArICAgICAgICAgICAgICAg
ICAgICAgICBhZGRfbWFya19vYmplY3QocCwgKHl5dmFsLm5vZGUpLT5uZF9saXQgPSBuZWdhdGVf
bGl0KHAsICh5eXZhbC5ub2RlKS0+bmRfbGl0KSk7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUg
JSovCj4gKyAgICAgICAgICAgICAgICAgICAvKiUgcmlwcGVyOiB1bmFyeSEoSUQyVkFMKGlkVU1p
bnVzKSwgJDIpICUqLwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA5NDg5ICJwYXJz
ZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDUyMToK
PiArI2xpbmUgMzgwMCAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7KHl5dmFs
LmlkKSA9IEtXRDJFSUQobmlsLCAoeXl2c3BbMF0uaWQpKTt9Cj4gKyNsaW5lIDk0OTUgInBhcnNl
LmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgNTIyOgo+
ICsjbGluZSAzODAxICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsoeXl2YWwu
aWQpID0gS1dEMkVJRChzZWxmLCAoeXl2c3BbMF0uaWQpKTt9Cj4gKyNsaW5lIDk1MDEgInBhcnNl
LmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgNTIzOgo+
ICsjbGluZSAzODAyICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsoeXl2YWwu
aWQpID0gS1dEMkVJRCh0cnVlLCAoeXl2c3BbMF0uaWQpKTt9Cj4gKyNsaW5lIDk1MDcgInBhcnNl
LmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgNTI0Ogo+
ICsjbGluZSAzODAzICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsoeXl2YWwu
aWQpID0gS1dEMkVJRChmYWxzZSwgKHl5dnNwWzBdLmlkKSk7fQo+ICsjbGluZSA5NTEzICJwYXJz
ZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDUyNToK
PiArI2xpbmUgMzgwNCAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7KHl5dmFs
LmlkKSA9IEtXRDJFSUQoX0ZJTEVfXywgKHl5dnNwWzBdLmlkKSk7fQo+ICsjbGluZSA5NTE5ICJw
YXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDUy
NjoKPiArI2xpbmUgMzgwNSAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7KHl5
dmFsLmlkKSA9IEtXRDJFSUQoX0xJTkVfXywgKHl5dnNwWzBdLmlkKSk7fQo+ICsjbGluZSA5NTI1
ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNl
IDUyNzoKPiArI2xpbmUgMzgwNiAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7
KHl5dmFsLmlkKSA9IEtXRDJFSUQoX0VOQ09ESU5HX18sICh5eXZzcFswXS5pZCkpO30KPiArI2xp
bmUgOTUzMSAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4g
KyAgY2FzZSA1Mjg6Cj4gKyNsaW5lIDM4MTAgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+
ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgLyolJSUqLwo+ICsgICAgICAgICAgICAgICAg
ICAgICAgIGlmICghKCh5eXZhbC5ub2RlKSA9IGdldHRhYmxlKHAsICh5eXZzcFswXS5pZCksICYo
eXlsb2MpKSkpICh5eXZhbC5ub2RlKSA9IE5FV19CRUdJTigwLCAmKHl5bG9jKSk7Cj4gKyAgICAg
ICAgICAgICAgICAgICAvKiUKPiArICAgICAgICAgICAgICAgICAgICAgICBpZiAoaWRfaXNfdmFy
KHAsIGdldF9pZCgkMSkpKSB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICQkID0gZGlz
cGF0Y2gxKHZhcl9yZWYsICQxKTsKPiArICAgICAgICAgICAgICAgICAgICAgICB9Cj4gKyAgICAg
ICAgICAgICAgICAgICAgICAgZWxzZSB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICQk
ID0gZGlzcGF0Y2gxKHZjYWxsLCAkMSk7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgfQo+ICsg
ICAgICAgICAgICAgICAgICAgJSovCj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDk1
NDggInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNh
c2UgNTI5Ogo+ICsjbGluZSAzODIzICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAg
IHsKPiArICAgICAgICAgICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAgICAgICAgICAgICAg
ICBpZiAoISgoeXl2YWwubm9kZSkgPSBnZXR0YWJsZShwLCAoeXl2c3BbMF0uaWQpLCAmKHl5bG9j
KSkpKSAoeXl2YWwubm9kZSkgPSBORVdfQkVHSU4oMCwgJih5eWxvYykpOwo+ICsgICAgICAgICAg
ICAgICAgICAgLyolICUqLwo+ICsgICAgICAgICAgICAgICAgICAgLyolIHJpcHBlcjogdmFyX3Jl
ZiEoJDEpICUqLwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA5NTU5ICJwYXJzZS5j
IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDUzMDoKPiAr
I2xpbmUgMzgzMiAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAg
ICAgICAgICAgICAgICAvKiUlJSovCj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5v
ZGUpID0gYXNzaWduYWJsZShwLCAoeXl2c3BbMF0uaWQpLCAwLCAmKHl5bG9jKSk7Cj4gKyAgICAg
ICAgICAgICAgICAgICAvKiUgJSovCj4gKyAgICAgICAgICAgICAgICAgICAvKiUgcmlwcGVyOiBh
c3NpZ25hYmxlKHAsIHZhcl9maWVsZChwLCAkMSkpICUqLwo+ICsgICAgICAgICAgICAgICAgICAg
fQo+ICsjbGluZSA5NTcwICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFr
Owo+ICsKPiArICBjYXNlIDUzMToKPiArI2xpbmUgMzgzOSAicGFyc2UueSIgLyogeWFjYy5jOjE2
NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUlJSovCj4gKyAgICAgICAg
ICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gYXNzaWduYWJsZShwLCAoeXl2c3BbMF0uaWQp
LCAwLCAmKHl5bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUgJSovCj4gKyAgICAgICAg
ICAgICAgICAgICAvKiUgcmlwcGVyOiBhc3NpZ25hYmxlKHAsIHZhcl9maWVsZChwLCAkMSkpICUq
Lwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA5NTgxICJwYXJzZS5jIiAvKiB5YWNj
LmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDUzNDoKPiArI2xpbmUgMzg1
MiAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAg
ICAgICAgICAgU0VUX0xFWF9TVEFURShFWFBSX0JFRyk7Cj4gKyAgICAgICAgICAgICAgICAgICAg
ICAgcC0+Y29tbWFuZF9zdGFydCA9IFRSVUU7Cj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNs
aW5lIDk1OTAgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+
ICsgIGNhc2UgNTM1Ogo+ICsjbGluZSAzODU3ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8K
PiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSAoeXl2c3Bb
LTFdLm5vZGUpOwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA5NTk4ICJwYXJzZS5j
IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDUzNjoKPiAr
I2xpbmUgMzg2MSAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAg
ICAgICAgICAgICAgICAvKiUlJSovCj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5v
ZGUpID0gMDsKPiArICAgICAgICAgICAgICAgICAgIC8qJSAlKi8KPiArICAgICAgICAgICAgICAg
ICAgIC8qJSByaXBwZXI6IFFuaWwgJSovCj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5l
IDk2MDkgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsg
IGNhc2UgNTM3Ogo+ICsjbGluZSAzODcwICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiAr
ICAgIHsKPiArICAgICAgICAgICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAgICAgICAgICAg
ICAgICAoeXl2YWwubm9kZSkgPSAoeXl2c3BbLTFdLm5vZGUpOwo+ICsgICAgICAgICAgICAgICAg
ICAgLyolICUqLwo+ICsgICAgICAgICAgICAgICAgICAgLyolIHJpcHBlcjogcGFyZW4hKCQyKSAl
Ki8KPiArICAgICAgICAgICAgICAgICAgICAgICBTRVRfTEVYX1NUQVRFKEVYUFJfQkVHKTsKPiAr
ICAgICAgICAgICAgICAgICAgICAgICBwLT5jb21tYW5kX3N0YXJ0ID0gVFJVRTsKPiArICAgICAg
ICAgICAgICAgICAgIH0KPiArI2xpbmUgOTYyMiAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICov
Cj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSA1Mzg6Cj4gKyNsaW5lIDM4NzggInBhcnNlLnki
IC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5
eXZhbC5udW0pID0gcC0+aW5fa3dhcmc7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgcC0+aW5f
a3dhcmcgPSAxOwo+ICsgICAgICAgICAgICAgICAgICAgICAgIFNFVF9MRVhfU1RBVEUocC0+bGV4
LnN0YXRlfEVYUFJfTEFCRUwpOyAvKiBmb3JjZSBmb3IgYXJncyAqLwo+ICsgICAgICAgICAgICAg
ICAgICAgfQo+ICsjbGluZSA5NjMyICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAg
IGJyZWFrOwo+ICsKPiArICBjYXNlIDUzOToKPiArI2xpbmUgMzg4NCAicGFyc2UueSIgLyogeWFj
Yy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgcC0+aW5fa3dh
cmcgPSAhISh5eXZzcFstMl0ubnVtKTsKPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwu
bm9kZSkgPSAoeXl2c3BbLTFdLm5vZGUpOwo+ICsgICAgICAgICAgICAgICAgICAgICAgIFNFVF9M
RVhfU1RBVEUoRVhQUl9CRUcpOwo+ICsgICAgICAgICAgICAgICAgICAgICAgIHAtPmNvbW1hbmRf
c3RhcnQgPSBUUlVFOwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA5NjQzICJwYXJz
ZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDU0MDoK
PiArI2xpbmUgMzg5MyAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAg
ICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gbmV3X2FyZ3NfdGFpbChwLCAoeXl2
c3BbLTNdLm5vZGUpLCAoeXl2c3BbLTFdLmlkKSwgKHl5dnNwWzBdLmlkKSwgJih5eWxzcFstMV0p
KTsKPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgOTY1MSAicGFyc2UuYyIgLyogeWFj
Yy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSA1NDE6Cj4gKyNsaW5lIDM4
OTcgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAg
ICAgICAgICAgICh5eXZhbC5ub2RlKSA9IG5ld19hcmdzX3RhaWwocCwgKHl5dnNwWy0xXS5ub2Rl
KSwgUW5vbmUsICh5eXZzcFswXS5pZCksICYoeXlsc3BbLTFdKSk7Cj4gKyAgICAgICAgICAgICAg
ICAgICB9Cj4gKyNsaW5lIDk2NTkgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAg
YnJlYWs7Cj4gKwo+ICsgIGNhc2UgNTQyOgo+ICsjbGluZSAzOTAxICJwYXJzZS55IiAvKiB5YWNj
LmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9k
ZSkgPSBuZXdfYXJnc190YWlsKHAsIFFub25lLCAoeXl2c3BbLTFdLmlkKSwgKHl5dnNwWzBdLmlk
KSwgJih5eWxzcFstMV0pKTsKPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgOTY2NyAi
cGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSA1
NDM6Cj4gKyNsaW5lIDM5MDUgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+
ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9IG5ld19hcmdzX3RhaWwocCwg
UW5vbmUsIFFub25lLCAoeXl2c3BbMF0uaWQpLCAmKHl5bHNwWzBdKSk7Cj4gKyAgICAgICAgICAg
ICAgICAgICB9Cj4gKyNsaW5lIDk2NzUgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsg
ICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgNTQ0Ogo+ICsjbGluZSAzOTExICJwYXJzZS55IiAvKiB5
YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwu
bm9kZSkgPSAoeXl2c3BbMF0ubm9kZSk7Cj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5l
IDk2ODMgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsg
IGNhc2UgNTQ1Ogo+ICsjbGluZSAzOTE1ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiAr
ICAgIHsKPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBuZXdfYXJnc190
YWlsKHAsIFFub25lLCBRbm9uZSwgUW5vbmUsICYoeXlsc3BbMF0pKTsKPiArICAgICAgICAgICAg
ICAgICAgIH0KPiArI2xpbmUgOTY5MSAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAg
ICBicmVhazsKPiArCj4gKyAgY2FzZSA1NDY6Cj4gKyNsaW5lIDM5MjEgInBhcnNlLnkiIC8qIHlh
Y2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5u
b2RlKSA9IG5ld19hcmdzKHAsICh5eXZzcFstNV0ubm9kZSksICh5eXZzcFstM10ubm9kZSksICh5
eXZzcFstMV0uaWQpLCBRbm9uZSwgKHl5dnNwWzBdLm5vZGUpLCAmKHl5bG9jKSk7Cj4gKyAgICAg
ICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDk2OTkgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAq
Lwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgNTQ3Ogo+ICsjbGluZSAzOTI1ICJwYXJzZS55
IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgICAgICAo
eXl2YWwubm9kZSkgPSBuZXdfYXJncyhwLCAoeXl2c3BbLTddLm5vZGUpLCAoeXl2c3BbLTVdLm5v
ZGUpLCAoeXl2c3BbLTNdLmlkKSwgKHl5dnNwWy0xXS5ub2RlKSwgKHl5dnNwWzBdLm5vZGUpLCAm
KHl5bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDk3MDcgInBhcnNlLmMi
IC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgNTQ4Ogo+ICsj
bGluZSAzOTI5ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAg
ICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBuZXdfYXJncyhwLCAoeXl2c3BbLTNdLm5v
ZGUpLCAoeXl2c3BbLTFdLm5vZGUpLCBRbm9uZSwgUW5vbmUsICh5eXZzcFswXS5ub2RlKSwgJih5
eWxvYykpOwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA5NzE1ICJwYXJzZS5jIiAv
KiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDU0OToKPiArI2xp
bmUgMzkzMyAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAg
ICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gbmV3X2FyZ3MocCwgKHl5dnNwWy01XS5ub2Rl
KSwgKHl5dnNwWy0zXS5ub2RlKSwgUW5vbmUsICh5eXZzcFstMV0ubm9kZSksICh5eXZzcFswXS5u
b2RlKSwgJih5eWxvYykpOwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA5NzIzICJw
YXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDU1
MDoKPiArI2xpbmUgMzkzNyAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4g
KyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gbmV3X2FyZ3MocCwgKHl5dnNw
Wy0zXS5ub2RlKSwgUW5vbmUsICh5eXZzcFstMV0uaWQpLCBRbm9uZSwgKHl5dnNwWzBdLm5vZGUp
LCAmKHl5bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDk3MzEgInBhcnNl
LmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgNTUxOgo+
ICsjbGluZSAzOTQxICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAg
ICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBuZXdfYXJncyhwLCAoeXl2c3BbLTVd
Lm5vZGUpLCBRbm9uZSwgKHl5dnNwWy0zXS5pZCksICh5eXZzcFstMV0ubm9kZSksICh5eXZzcFsw
XS5ub2RlKSwgJih5eWxvYykpOwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA5NzM5
ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNl
IDU1MjoKPiArI2xpbmUgMzk0NSAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7
Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gbmV3X2FyZ3MocCwgKHl5
dnNwWy0xXS5ub2RlKSwgUW5vbmUsIFFub25lLCBRbm9uZSwgKHl5dnNwWzBdLm5vZGUpLCAmKHl5
bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDk3NDcgInBhcnNlLmMiIC8q
IHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgNTUzOgo+ICsjbGlu
ZSAzOTQ5ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAg
ICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBuZXdfYXJncyhwLCBRbm9uZSwgKHl5dnNwWy0z
XS5ub2RlKSwgKHl5dnNwWy0xXS5pZCksIFFub25lLCAoeXl2c3BbMF0ubm9kZSksICYoeXlsb2Mp
KTsKPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgOTc1NSAicGFyc2UuYyIgLyogeWFj
Yy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSA1NTQ6Cj4gKyNsaW5lIDM5
NTMgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAg
ICAgICAgICAgICh5eXZhbC5ub2RlKSA9IG5ld19hcmdzKHAsIFFub25lLCAoeXl2c3BbLTVdLm5v
ZGUpLCAoeXl2c3BbLTNdLmlkKSwgKHl5dnNwWy0xXS5ub2RlKSwgKHl5dnNwWzBdLm5vZGUpLCAm
KHl5bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDk3NjMgInBhcnNlLmMi
IC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgNTU1Ogo+ICsj
bGluZSAzOTU3ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAg
ICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBuZXdfYXJncyhwLCBRbm9uZSwgKHl5dnNw
Wy0xXS5ub2RlKSwgUW5vbmUsIFFub25lLCAoeXl2c3BbMF0ubm9kZSksICYoeXlsb2MpKTsKPiAr
ICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgOTc3MSAicGFyc2UuYyIgLyogeWFjYy5jOjE2
NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSA1NTY6Cj4gKyNsaW5lIDM5NjEgInBh
cnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAg
ICAgICh5eXZhbC5ub2RlKSA9IG5ld19hcmdzKHAsIFFub25lLCAoeXl2c3BbLTNdLm5vZGUpLCBR
bm9uZSwgKHl5dnNwWy0xXS5ub2RlKSwgKHl5dnNwWzBdLm5vZGUpLCAmKHl5bG9jKSk7Cj4gKyAg
ICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDk3NzkgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUy
ICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgNTU3Ogo+ICsjbGluZSAzOTY1ICJwYXJz
ZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgICAg
ICAoeXl2YWwubm9kZSkgPSBuZXdfYXJncyhwLCBRbm9uZSwgUW5vbmUsICh5eXZzcFstMV0uaWQp
LCBRbm9uZSwgKHl5dnNwWzBdLm5vZGUpLCAmKHl5bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAg
ICB9Cj4gKyNsaW5lIDk3ODcgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJl
YWs7Cj4gKwo+ICsgIGNhc2UgNTU4Ogo+ICsjbGluZSAzOTY5ICJwYXJzZS55IiAvKiB5YWNjLmM6
MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkg
PSBuZXdfYXJncyhwLCBRbm9uZSwgUW5vbmUsICh5eXZzcFstM10uaWQpLCAoeXl2c3BbLTFdLm5v
ZGUpLCAoeXl2c3BbMF0ubm9kZSksICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAgICAgIH0K
PiArI2xpbmUgOTc5NSAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsK
PiArCj4gKyAgY2FzZSA1NTk6Cj4gKyNsaW5lIDM5NzMgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUy
ICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9IG5l
d19hcmdzKHAsIFFub25lLCBRbm9uZSwgUW5vbmUsIFFub25lLCAoeXl2c3BbMF0ubm9kZSksICYo
eXlsb2MpKTsKPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgOTgwMyAicGFyc2UuYyIg
LyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSA1NjA6Cj4gKyNs
aW5lIDM5NzcgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAg
ICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9IG5ld19hcmdzX3RhaWwocCwgUW5vbmUsIFFu
b25lLCBRbm9uZSwgJih5eWxzcFswXSkpOwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZh
bC5ub2RlKSA9IG5ld19hcmdzKHAsIFFub25lLCBRbm9uZSwgUW5vbmUsIFFub25lLCAoeXl2YWwu
bm9kZSksICYoeXlsc3BbMF0pKTsKPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgOTgx
MiAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2Fz
ZSA1NjE6Cj4gKyNsaW5lIDM5ODQgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAg
ewo+ICsgICAgICAgICAgICAgICAgICAgLyolJSUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAg
IHl5ZXJyb3IxKCYoeXlsc3BbMF0pLCAiZm9ybWFsIGFyZ3VtZW50IGNhbm5vdCBiZSBhIGNvbnN0
YW50Iik7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLmlkKSA9IDA7Cj4gKyAgICAg
ICAgICAgICAgICAgICAvKiUgJSovCj4gKyAgICAgICAgICAgICAgICAgICAvKiUgcmlwcGVyW2Vy
cm9yXTogcGFyYW1fZXJyb3IhKCQxKSAlKi8KPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xp
bmUgOTgyNCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4g
KyAgY2FzZSA1NjI6Cj4gKyNsaW5lIDM5OTIgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+
ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgLyolJSUqLwo+ICsgICAgICAgICAgICAgICAg
ICAgICAgIHl5ZXJyb3IxKCYoeXlsc3BbMF0pLCAiZm9ybWFsIGFyZ3VtZW50IGNhbm5vdCBiZSBh
biBpbnN0YW5jZSB2YXJpYWJsZSIpOwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5p
ZCkgPSAwOwo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsgICAgICAgICAgICAgICAg
ICAgLyolIHJpcHBlcltlcnJvcl06IHBhcmFtX2Vycm9yISgkMSkgJSovCj4gKyAgICAgICAgICAg
ICAgICAgICB9Cj4gKyNsaW5lIDk4MzYgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsg
ICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgNTYzOgo+ICsjbGluZSA0MDAwICJwYXJzZS55IiAvKiB5
YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgIC8qJSUlKi8KPiAr
ICAgICAgICAgICAgICAgICAgICAgICB5eWVycm9yMSgmKHl5bHNwWzBdKSwgImZvcm1hbCBhcmd1
bWVudCBjYW5ub3QgYmUgYSBnbG9iYWwgdmFyaWFibGUiKTsKPiArICAgICAgICAgICAgICAgICAg
ICAgICAoeXl2YWwuaWQpID0gMDsKPiArICAgICAgICAgICAgICAgICAgIC8qJSAlKi8KPiArICAg
ICAgICAgICAgICAgICAgIC8qJSByaXBwZXJbZXJyb3JdOiBwYXJhbV9lcnJvciEoJDEpICUqLwo+
ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA5ODQ4ICJwYXJzZS5jIiAvKiB5YWNjLmM6
MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDU2NDoKPiArI2xpbmUgNDAwOCAi
cGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAg
ICAvKiUlJSovCj4gKyAgICAgICAgICAgICAgICAgICAgICAgeXllcnJvcjEoJih5eWxzcFswXSks
ICJmb3JtYWwgYXJndW1lbnQgY2Fubm90IGJlIGEgY2xhc3MgdmFyaWFibGUiKTsKPiArICAgICAg
ICAgICAgICAgICAgICAgICAoeXl2YWwuaWQpID0gMDsKPiArICAgICAgICAgICAgICAgICAgIC8q
JSAlKi8KPiArICAgICAgICAgICAgICAgICAgIC8qJSByaXBwZXJbZXJyb3JdOiBwYXJhbV9lcnJv
ciEoJDEpICUqLwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA5ODYwICJwYXJzZS5j
IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDU2NjoKPiAr
I2xpbmUgNDAxOSAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAg
ICAgICAgICAgICAgICAgICAgZm9ybWFsX2FyZ3VtZW50KHAsIGdldF9pZCgoeXl2c3BbMF0uaWQp
KSk7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLmlkKSA9ICh5eXZzcFswXS5pZCk7
Cj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDk4NjkgInBhcnNlLmMiIC8qIHlhY2Mu
YzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgNTY3Ogo+ICsjbGluZSA0MDI2
ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAg
ICAgICAgICBJRCBpZCA9IGdldF9pZCgoeXl2c3BbMF0uaWQpKTsKPiArICAgICAgICAgICAgICAg
ICAgICAgICBhcmdfdmFyKHAsIGlkKTsKPiArICAgICAgICAgICAgICAgICAgICAgICBwLT5jdXJf
YXJnID0gaWQ7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLmlkKSA9ICh5eXZzcFsw
XS5pZCk7Cj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDk4ODAgInBhcnNlLmMiIC8q
IHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgNTY4Ogo+ICsjbGlu
ZSA0MDM1ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAg
ICAgICAgICAgICAgICBwLT5jdXJfYXJnID0gMDsKPiArICAgICAgICAgICAgICAgICAgIC8qJSUl
Ki8KPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBORVdfQVJHU19BVVgo
KHl5dnNwWzBdLmlkKSwgMSwgJk5VTExfTE9DKTsKPiArICAgICAgICAgICAgICAgICAgIC8qJSAl
Ki8KPiArICAgICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6IGdldF92YWx1ZSgkMSkgJSovCj4g
KyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDk4OTIgInBhcnNlLmMiIC8qIHlhY2MuYzox
NjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgNTY5Ogo+ICsjbGluZSA0MDQzICJw
YXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAg
ICAgICBJRCB0aWQgPSBpbnRlcm5hbF9pZChwKTsKPiArICAgICAgICAgICAgICAgICAgIC8qJSUl
Ki8KPiArICAgICAgICAgICAgICAgICAgICAgICBZWUxUWVBFIGxvYzsKPiArICAgICAgICAgICAg
ICAgICAgICAgICBsb2MuYmVnX3BvcyA9ICh5eWxzcFstMV0pLmJlZ19wb3M7Cj4gKyAgICAgICAg
ICAgICAgICAgICAgICAgbG9jLmVuZF9wb3MgPSAoeXlsc3BbLTFdKS5iZWdfcG9zOwo+ICsgICAg
ICAgICAgICAgICAgICAgLyolICUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAgIGFyZ192YXIo
cCwgdGlkKTsKPiArICAgICAgICAgICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAgICAgICAg
ICAgICAgICBpZiAoZHluYV9pbl9ibG9jayhwKSkgewo+ICsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAoeXl2c3BbLTFdLm5vZGUpLT5uZF92YWx1ZSA9IE5FV19EVkFSKHRpZCwgJmxvYyk7Cj4g
KyAgICAgICAgICAgICAgICAgICAgICAgfQo+ICsgICAgICAgICAgICAgICAgICAgICAgIGVsc2Ug
ewo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAoeXl2c3BbLTFdLm5vZGUpLT5uZF92YWx1
ZSA9IE5FV19MVkFSKHRpZCwgJmxvYyk7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgfQo+ICsg
ICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9IE5FV19BUkdTX0FVWCh0aWQsIDEs
ICZOVUxMX0xPQyk7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpLT5uZF9u
ZXh0ID0gKHl5dnNwWy0xXS5ub2RlKTsKPiArICAgICAgICAgICAgICAgICAgIC8qJSAlKi8KPiAr
ICAgICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6IG1saHNfcGFyZW4hKCQyKSAlKi8KPiArICAg
ICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgOTkxNyAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIg
ICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSA1NzE6Cj4gKyNsaW5lIDQwNjggInBhcnNl
LnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgLyol
JSUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9ICh5eXZzcFstMl0u
bm9kZSk7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpLT5uZF9wbGVuKys7
Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpLT5uZF9uZXh0ID0gYmxvY2tf
YXBwZW5kKHAsICh5eXZhbC5ub2RlKS0+bmRfbmV4dCwgKHl5dnNwWzBdLm5vZGUpLT5uZF9uZXh0
KTsKPiArICAgICAgICAgICAgICAgICAgICAgICByYl9kaXNjYXJkX25vZGUocCwgKHl5dnNwWzBd
Lm5vZGUpKTsKPiArICAgICAgICAgICAgICAgICAgIC8qJSAlKi8KPiArICAgICAgICAgICAgICAg
ICAgIC8qJSByaXBwZXI6IHJiX2FyeV9wdXNoKCQxLCBnZXRfdmFsdWUoJDMpKSAlKi8KPiArICAg
ICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgOTkzMSAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIg
ICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSA1NzI6Cj4gKyNsaW5lIDQwODEgInBhcnNl
LnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgICAg
IElEIGlkID0gZ2V0X2lkKCh5eXZzcFswXS5pZCkpOwo+ICsgICAgICAgICAgICAgICAgICAgICAg
IGFyZ192YXIocCwgZm9ybWFsX2FyZ3VtZW50KHAsIGlkKSk7Cj4gKyAgICAgICAgICAgICAgICAg
ICAgICAgcC0+Y3VyX2FyZyA9IGlkOwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5p
ZCkgPSAoeXl2c3BbMF0uaWQpOwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSA5OTQy
ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNl
IDU3MzoKPiArI2xpbmUgNDA5MCAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7
Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgcC0+Y3VyX2FyZyA9IDA7Cj4gKyAgICAgICAgICAg
ICAgICAgICAvKiUlJSovCj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0g
bmV3X2t3X2FyZyhwLCBhc3NpZ25hYmxlKHAsICh5eXZzcFstMV0uaWQpLCAoeXl2c3BbMF0ubm9k
ZSksICYoeXlsb2MpKSwgJih5eWxvYykpOwo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+
ICsgICAgICAgICAgICAgICAgICAgLyolIHJpcHBlcjogcmJfYXNzb2NfbmV3KGdldF92YWx1ZShh
c3NpZ25hYmxlKHAsICQxKSksIGdldF92YWx1ZSgkMikpICUqLwo+ICsgICAgICAgICAgICAgICAg
ICAgfQo+ICsjbGluZSA5OTU0ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJy
ZWFrOwo+ICsKPiArICBjYXNlIDU3NDoKPiArI2xpbmUgNDA5OCAicGFyc2UueSIgLyogeWFjYy5j
OjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgcC0+Y3VyX2FyZyA9
IDA7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUlJSovCj4gKyAgICAgICAgICAgICAgICAgICAg
ICAgKHl5dmFsLm5vZGUpID0gbmV3X2t3X2FyZyhwLCBhc3NpZ25hYmxlKHAsICh5eXZzcFswXS5p
ZCksIE5PREVfU1BFQ0lBTF9SRVFVSVJFRF9LRVlXT1JELCAmKHl5bG9jKSksICYoeXlsb2MpKTsK
PiArICAgICAgICAgICAgICAgICAgIC8qJSAlKi8KPiArICAgICAgICAgICAgICAgICAgIC8qJSBy
aXBwZXI6IHJiX2Fzc29jX25ldyhnZXRfdmFsdWUoYXNzaWduYWJsZShwLCAkMSkpLCAwKSAlKi8K
PiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgOTk2NiAicGFyc2UuYyIgLyogeWFjYy5j
OjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSA1NzU6Cj4gKyNsaW5lIDQxMDgg
InBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAg
ICAgLyolJSUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9IG5ld19r
d19hcmcocCwgYXNzaWduYWJsZShwLCAoeXl2c3BbLTFdLmlkKSwgKHl5dnNwWzBdLm5vZGUpLCAm
KHl5bG9jKSksICYoeXlsb2MpKTsKPiArICAgICAgICAgICAgICAgICAgIC8qJSAlKi8KPiArICAg
ICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6IHJiX2Fzc29jX25ldyhnZXRfdmFsdWUoYXNzaWdu
YWJsZShwLCAkMSkpLCBnZXRfdmFsdWUoJDIpKSAlKi8KPiArICAgICAgICAgICAgICAgICAgIH0K
PiArI2xpbmUgOTk3NyAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsK
PiArCj4gKyAgY2FzZSA1NzY6Cj4gKyNsaW5lIDQxMTUgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUy
ICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAgLyolJSUqLwo+ICsgICAgICAgICAg
ICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9IG5ld19rd19hcmcocCwgYXNzaWduYWJsZShwLCAo
eXl2c3BbMF0uaWQpLCBOT0RFX1NQRUNJQUxfUkVRVUlSRURfS0VZV09SRCwgJih5eWxvYykpLCAm
KHl5bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUgJSovCj4gKyAgICAgICAgICAgICAg
ICAgICAvKiUgcmlwcGVyOiByYl9hc3NvY19uZXcoZ2V0X3ZhbHVlKGFzc2lnbmFibGUocCwgJDEp
KSwgMCkgJSovCj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDk5ODggInBhcnNlLmMi
IC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgNTc3Ogo+ICsj
bGluZSA0MTI0ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAg
ICAgICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9k
ZSkgPSAoeXl2c3BbMF0ubm9kZSk7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUgJSovCj4gKyAg
ICAgICAgICAgICAgICAgICAvKiUgcmlwcGVyOiByYl9hcnlfbmV3MygxLCBnZXRfdmFsdWUoJDEp
KSAlKi8KPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgOTk5OSAicGFyc2UuYyIgLyog
eWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSA1Nzg6Cj4gKyNsaW5l
IDQxMzEgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAg
ICAgICAgICAgLyolJSUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9
IGt3ZF9hcHBlbmQoKHl5dnNwWy0yXS5ub2RlKSwgKHl5dnNwWzBdLm5vZGUpKTsKPiArICAgICAg
ICAgICAgICAgICAgIC8qJSAlKi8KPiArICAgICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6IHJi
X2FyeV9wdXNoKCQxLCBnZXRfdmFsdWUoJDMpKSAlKi8KPiArICAgICAgICAgICAgICAgICAgIH0K
PiArI2xpbmUgMTAwMTAgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7
Cj4gKwo+ICsgIGNhc2UgNTc5Ogo+ICsjbGluZSA0MTQxICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1
MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAg
ICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSAoeXl2c3BbMF0ubm9kZSk7Cj4gKyAgICAgICAg
ICAgICAgICAgICAvKiUgJSovCj4gKyAgICAgICAgICAgICAgICAgICAvKiUgcmlwcGVyOiByYl9h
cnlfbmV3MygxLCBnZXRfdmFsdWUoJDEpKSAlKi8KPiArICAgICAgICAgICAgICAgICAgIH0KPiAr
I2xpbmUgMTAwMjEgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4g
Kwo+ICsgIGNhc2UgNTgwOgo+ICsjbGluZSA0MTQ4ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAg
Ki8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAgICAg
ICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBrd2RfYXBwZW5kKCh5eXZzcFstMl0ubm9kZSksICh5
eXZzcFswXS5ub2RlKSk7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUgJSovCj4gKyAgICAgICAg
ICAgICAgICAgICAvKiUgcmlwcGVyOiByYl9hcnlfcHVzaCgkMSwgZ2V0X3ZhbHVlKCQzKSkgJSov
Cj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDEwMDMyICJwYXJzZS5jIiAvKiB5YWNj
LmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDU4MzoKPiArI2xpbmUgNDE2
MSAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAg
ICAgICAgICAgYXJnX3ZhcihwLCBzaGFkb3dpbmdfbHZhcihwLCBnZXRfaWQoKHl5dnNwWzBdLmlk
KSkpKTsKPiArICAgICAgICAgICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAgICAgICAgICAg
ICAgICAoeXl2YWwuaWQpID0gKHl5dnNwWzBdLmlkKTsKPiArICAgICAgICAgICAgICAgICAgIC8q
JSAlKi8KPiArICAgICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6IGt3cmVzdF9wYXJhbSEoJDIp
ICUqLwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSAxMDA0NCAicGFyc2UuYyIgLyog
eWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSA1ODQ6Cj4gKyNsaW5l
IDQxNjkgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAg
ICAgICAgICAgLyolJSUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5pZCkgPSBp
bnRlcm5hbF9pZChwKTsKPiArICAgICAgICAgICAgICAgICAgICAgICBhcmdfdmFyKHAsICh5eXZh
bC5pZCkpOwo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsgICAgICAgICAgICAgICAg
ICAgLyolIHJpcHBlcjoga3dyZXN0X3BhcmFtIShRbmlsKSAlKi8KPiArICAgICAgICAgICAgICAg
ICAgIH0KPiArI2xpbmUgMTAwNTYgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAg
YnJlYWs7Cj4gKwo+ICsgIGNhc2UgNTg1Ogo+ICsjbGluZSA0MTc5ICJwYXJzZS55IiAvKiB5YWNj
LmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgICAgICBwLT5jdXJfYXJn
ID0gMDsKPiArICAgICAgICAgICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAgICAgICAgICAg
ICAgICAoeXl2YWwubm9kZSkgPSBORVdfT1BUX0FSRygwLCBhc3NpZ25hYmxlKHAsICh5eXZzcFst
Ml0uaWQpLCAoeXl2c3BbMF0ubm9kZSksICYoeXlsb2MpKSwgJih5eWxvYykpOwo+ICsgICAgICAg
ICAgICAgICAgICAgLyolICUqLwo+ICsgICAgICAgICAgICAgICAgICAgLyolIHJpcHBlcjogcmJf
YXNzb2NfbmV3KGdldF92YWx1ZShhc3NpZ25hYmxlKHAsICQxKSksIGdldF92YWx1ZSgkMykpICUq
Lwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSAxMDA2OCAicGFyc2UuYyIgLyogeWFj
Yy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSA1ODY6Cj4gKyNsaW5lIDQx
ODkgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAg
ICAgICAgICAgIHAtPmN1cl9hcmcgPSAwOwo+ICsgICAgICAgICAgICAgICAgICAgLyolJSUqLwo+
ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9IE5FV19PUFRfQVJHKDAsIGFz
c2lnbmFibGUocCwgKHl5dnNwWy0yXS5pZCksICh5eXZzcFswXS5ub2RlKSwgJih5eWxvYykpLCAm
KHl5bG9jKSk7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUgJSovCj4gKyAgICAgICAgICAgICAg
ICAgICAvKiUgcmlwcGVyOiByYl9hc3NvY19uZXcoZ2V0X3ZhbHVlKGFzc2lnbmFibGUocCwgJDEp
KSwgZ2V0X3ZhbHVlKCQzKSkgJSovCj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDEw
MDgwICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBj
YXNlIDU4NzoKPiArI2xpbmUgNDE5OSAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAg
ICB7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUlJSovCj4gKyAgICAgICAgICAgICAgICAgICAg
ICAgKHl5dmFsLm5vZGUpID0gKHl5dnNwWzBdLm5vZGUpOwo+ICsgICAgICAgICAgICAgICAgICAg
LyolICUqLwo+ICsgICAgICAgICAgICAgICAgICAgLyolIHJpcHBlcjogcmJfYXJ5X25ldzMoMSwg
Z2V0X3ZhbHVlKCQxKSkgJSovCj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDEwMDkx
ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNl
IDU4ODoKPiArI2xpbmUgNDIwNiAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7
Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUlJSovCj4gKyAgICAgICAgICAgICAgICAgICAgICAg
KHl5dmFsLm5vZGUpID0gb3B0X2FyZ19hcHBlbmQoKHl5dnNwWy0yXS5ub2RlKSwgKHl5dnNwWzBd
Lm5vZGUpKTsKPiArICAgICAgICAgICAgICAgICAgIC8qJSAlKi8KPiArICAgICAgICAgICAgICAg
ICAgIC8qJSByaXBwZXI6IHJiX2FyeV9wdXNoKCQxLCBnZXRfdmFsdWUoJDMpKSAlKi8KPiArICAg
ICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgMTAxMDIgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUy
ICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgNTg5Ogo+ICsjbGluZSA0MjE1ICJwYXJz
ZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgIC8q
JSUlKi8KPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSAoeXl2c3BbMF0u
bm9kZSk7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUgJSovCj4gKyAgICAgICAgICAgICAgICAg
ICAvKiUgcmlwcGVyOiByYl9hcnlfbmV3MygxLCBnZXRfdmFsdWUoJDEpKSAlKi8KPiArICAgICAg
ICAgICAgICAgICAgIH0KPiArI2xpbmUgMTAxMTMgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAq
Lwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgNTkwOgo+ICsjbGluZSA0MjIyICJwYXJzZS55
IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgIC8qJSUl
Ki8KPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBvcHRfYXJnX2FwcGVu
ZCgoeXl2c3BbLTJdLm5vZGUpLCAoeXl2c3BbMF0ubm9kZSkpOwo+ICsgICAgICAgICAgICAgICAg
ICAgLyolICUqLwo+ICsgICAgICAgICAgICAgICAgICAgLyolIHJpcHBlcjogcmJfYXJ5X3B1c2go
JDEsIGdldF92YWx1ZSgkMykpICUqLwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSAx
MDEyNCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAg
Y2FzZSA1OTM6Cj4gKyNsaW5lIDQyMzUgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsg
ICAgewo+ICsgICAgICAgICAgICAgICAgICAgICAgIGFyZ192YXIocCwgc2hhZG93aW5nX2x2YXIo
cCwgZ2V0X2lkKCh5eXZzcFswXS5pZCkpKSk7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUlJSov
Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLmlkKSA9ICh5eXZzcFswXS5pZCk7Cj4g
KyAgICAgICAgICAgICAgICAgICAvKiUgJSovCj4gKyAgICAgICAgICAgICAgICAgICAvKiUgcmlw
cGVyOiByZXN0X3BhcmFtISgkMikgJSovCj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5l
IDEwMTM2ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiAr
ICBjYXNlIDU5NDoKPiArI2xpbmUgNDI0MyAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4g
KyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUlJSovCj4gKyAgICAgICAgICAgICAgICAg
ICAgICAgKHl5dmFsLmlkKSA9IGludGVybmFsX2lkKHApOwo+ICsgICAgICAgICAgICAgICAgICAg
ICAgIGFyZ192YXIocCwgKHl5dmFsLmlkKSk7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUgJSov
Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUgcmlwcGVyOiByZXN0X3BhcmFtIShRbmlsKSAlKi8K
PiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgMTAxNDggInBhcnNlLmMiIC8qIHlhY2Mu
YzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgNTk3Ogo+ICsjbGluZSA0MjU3
ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAg
ICAgICAgICBhcmdfdmFyKHAsIHNoYWRvd2luZ19sdmFyKHAsIGdldF9pZCgoeXl2c3BbMF0uaWQp
KSkpOwo+ICsgICAgICAgICAgICAgICAgICAgLyolJSUqLwo+ICsgICAgICAgICAgICAgICAgICAg
ICAgICh5eXZhbC5pZCkgPSAoeXl2c3BbMF0uaWQpOwo+ICsgICAgICAgICAgICAgICAgICAgLyol
ICUqLwo+ICsgICAgICAgICAgICAgICAgICAgLyolIHJpcHBlcjogYmxvY2thcmchKCQyKSAlKi8K
PiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgMTAxNjAgInBhcnNlLmMiIC8qIHlhY2Mu
YzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgNTk4Ogo+ICsjbGluZSA0MjY3
ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAg
ICAgICAgICAoeXl2YWwuaWQpID0gKHl5dnNwWzBdLmlkKTsKPiArICAgICAgICAgICAgICAgICAg
IH0KPiArI2xpbmUgMTAxNjggInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJl
YWs7Cj4gKwo+ICsgIGNhc2UgNTk5Ogo+ICsjbGluZSA0MjcxICJwYXJzZS55IiAvKiB5YWNjLmM6
MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgIC8qJSUlKi8KPiArICAgICAg
ICAgICAgICAgICAgICAgICAoeXl2YWwuaWQpID0gMDsKPiArICAgICAgICAgICAgICAgICAgIC8q
JSAlKi8KPiArICAgICAgICAgICAgICAgICAgIC8qJSByaXBwZXI6IFF1bmRlZiAlKi8KPiArICAg
ICAgICAgICAgICAgICAgIH0KPiArI2xpbmUgMTAxNzkgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUy
ICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgNjAwOgo+ICsjbGluZSA0MjgwICJwYXJz
ZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgICAg
ICB2YWx1ZV9leHByKCh5eXZzcFswXS5ub2RlKSk7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAg
KHl5dmFsLm5vZGUpID0gKHl5dnNwWzBdLm5vZGUpOwo+ICsgICAgICAgICAgICAgICAgICAgfQo+
ICsjbGluZSAxMDE4OCAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsK
PiArCj4gKyAgY2FzZSA2MDE6Cj4gKyNsaW5lIDQyODQgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUy
ICAqLwo+ICsgICAge1NFVF9MRVhfU1RBVEUoRVhQUl9CRUcpO30KPiArI2xpbmUgMTAxOTQgInBh
cnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+ICsgIGNhc2UgNjAy
Ogo+ICsjbGluZSA0Mjg1ICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIHsKPiAr
ICAgICAgICAgICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAgICAgICAgICAgICAgICBzd2l0
Y2ggKG5kX3R5cGUoKHl5dnNwWy0xXS5ub2RlKSkpIHsKPiArICAgICAgICAgICAgICAgICAgICAg
ICAgIGNhc2UgTk9ERV9TVFI6Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIE5PREVf
RFNUUjoKPiArICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgTk9ERV9YU1RSOgo+ICsgICAg
ICAgICAgICAgICAgICAgICAgICAgY2FzZSBOT0RFX0RYU1RSOgo+ICsgICAgICAgICAgICAgICAg
ICAgICAgICAgY2FzZSBOT0RFX0RSRUdYOgo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgY2Fz
ZSBOT0RFX0xJVDoKPiArICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgTk9ERV9BUlJBWToK
PiArICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgTk9ERV9aQVJSQVk6Cj4gKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHl5ZXJyb3IxKCYoeXlsc3BbLTFdKSwgImNhbid0IGRlZmluZSBz
aW5nbGV0b24gbWV0aG9kIGZvciBsaXRlcmFscyIpOwo+ICsgICAgICAgICAgICAgICAgICAgICAg
ICAgICBicmVhazsKPiArICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6Cj4gKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHZhbHVlX2V4cHIoKHl5dnNwWy0xXS5ub2RlKSk7Cj4gKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwo+ICsgICAgICAgICAgICAgICAgICAgICAg
IH0KPiArICAgICAgICAgICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSAoeXl2c3BbLTFdLm5v
ZGUpOwo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsgICAgICAgICAgICAgICAgICAg
LyolIHJpcHBlcjogcGFyZW4hKCQzKSAlKi8KPiArICAgICAgICAgICAgICAgICAgIH0KPiArI2xp
bmUgMTAyMjAgInBhcnNlLmMiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgYnJlYWs7Cj4gKwo+
ICsgIGNhc2UgNjA0Ogo+ICsjbGluZSA0MzEwICJwYXJzZS55IiAvKiB5YWNjLmM6MTY1MiAgKi8K
PiArICAgIHsKPiArICAgICAgICAgICAgICAgICAgIC8qJSUlKi8KPiArICAgICAgICAgICAgICAg
ICAgICAgICAoeXl2YWwubm9kZSkgPSAoeXl2c3BbLTFdLm5vZGUpOwo+ICsgICAgICAgICAgICAg
ICAgICAgLyolICUqLwo+ICsgICAgICAgICAgICAgICAgICAgLyolIHJpcHBlcjogYXNzb2NsaXN0
X2Zyb21fYXJncyEoJDEpICUqLwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSAxMDIz
MSAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2Fz
ZSA2MDY6Cj4gKyNsaW5lIDQzMjEgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAg
ewo+ICsgICAgICAgICAgICAgICAgICAgLyolJSUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAg
IE5PREUgKmFzc29jcyA9ICh5eXZzcFstMl0ubm9kZSk7Cj4gKyAgICAgICAgICAgICAgICAgICAg
ICAgTk9ERSAqdGFpbCA9ICh5eXZzcFswXS5ub2RlKTsKPiArICAgICAgICAgICAgICAgICAgICAg
ICBpZiAoIWFzc29jcykgewo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICBhc3NvY3MgPSB0
YWlsOwo+ICsgICAgICAgICAgICAgICAgICAgICAgIH0KPiArICAgICAgICAgICAgICAgICAgICAg
ICBlbHNlIGlmICh0YWlsKSB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhc3Nv
Y3MtPm5kX2hlYWQgJiYKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICF0YWlsLT5u
ZF9oZWFkICYmIG5kX3R5cGUodGFpbC0+bmRfbmV4dCkgPT0gTk9ERV9BUlJBWSAmJgo+ICsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgbmRfdHlwZSh0YWlsLT5uZF9uZXh0LT5uZF9oZWFk
KSA9PSBOT0RFX0hBU0gpIHsKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIERT
VEFSICovCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWlsID0gdGFpbC0+bmRf
bmV4dC0+bmRfaGVhZC0+bmRfaGVhZDsKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgfQo+
ICsgICAgICAgICAgICAgICAgICAgICAgICAgICBhc3NvY3MgPSBsaXN0X2NvbmNhdChhc3NvY3Ms
IHRhaWwpOwo+ICsgICAgICAgICAgICAgICAgICAgICAgIH0KPiArICAgICAgICAgICAgICAgICAg
ICAgICAoeXl2YWwubm9kZSkgPSBhc3NvY3M7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUgJSov
Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUgcmlwcGVyOiByYl9hcnlfcHVzaCgkMSwgZ2V0X3Zh
bHVlKCQzKSkgJSovCj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyNsaW5lIDEwMjU2ICJwYXJz
ZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDYwNzoK
PiArI2xpbmUgNDM0NCAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAg
ICAgICAgICAgICAgICAgICAvKiUlJSovCj4gKyAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5k
X3R5cGUoKHl5dnNwWy0yXS5ub2RlKSkgPT0gTk9ERV9TVFIpIHsKPiArICAgICAgICAgICAgICAg
ICAgICAgICAgICAgbmRfc2V0X3R5cGUoKHl5dnNwWy0yXS5ub2RlKSwgTk9ERV9MSVQpOwo+ICsg
ICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRfbWFya19vYmplY3QocCwgKHl5dnNwWy0yXS5u
b2RlKS0+bmRfbGl0ID0gcmJfZnN0cmluZygoeXl2c3BbLTJdLm5vZGUpLT5uZF9saXQpKTsKPiAr
ICAgICAgICAgICAgICAgICAgICAgICB9Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFs
Lm5vZGUpID0gbGlzdF9hcHBlbmQocCwgTkVXX0xJU1QoKHl5dnNwWy0yXS5ub2RlKSwgJih5eWxv
YykpLCAoeXl2c3BbMF0ubm9kZSkpOwo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsg
ICAgICAgICAgICAgICAgICAgLyolIHJpcHBlcjogYXNzb2NfbmV3ISgkMSwgJDMpICUqLwo+ICsg
ICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSAxMDI3MSAicGFyc2UuYyIgLyogeWFjYy5jOjE2
NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSA2MDg6Cj4gKyNsaW5lIDQzNTUgInBh
cnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAgICAgICAgICAgICAg
LyolJSUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9IGxpc3RfYXBw
ZW5kKHAsIE5FV19MSVNUKE5FV19MSVQoSUQyU1lNKCh5eXZzcFstMV0uaWQpKSwgJih5eWxzcFst
MV0pKSwgJih5eWxvYykpLCAoeXl2c3BbMF0ubm9kZSkpOwo+ICsgICAgICAgICAgICAgICAgICAg
LyolICUqLwo+ICsgICAgICAgICAgICAgICAgICAgLyolIHJpcHBlcjogYXNzb2NfbmV3ISgkMSwg
JDIpICUqLwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsjbGluZSAxMDI4MiAicGFyc2UuYyIg
LyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSA2MDk6Cj4gKyNs
aW5lIDQzNjIgInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsgICAgICAg
ICAgICAgICAgICAgLyolJSUqLwo+ICsgICAgICAgICAgICAgICAgICAgICAgIFlZTFRZUEUgbG9j
ID0gY29kZV9sb2NfZ2VuKCYoeXlsc3BbLTNdKSwgJih5eWxzcFstMV0pKTsKPiArICAgICAgICAg
ICAgICAgICAgICAgICAoeXl2YWwubm9kZSkgPSBsaXN0X2FwcGVuZChwLCBORVdfTElTVChkc3lt
X25vZGUocCwgKHl5dnNwWy0yXS5ub2RlKSwgJmxvYyksICZsb2MpLCAoeXl2c3BbMF0ubm9kZSkp
Owo+ICsgICAgICAgICAgICAgICAgICAgLyolICUqLwo+ICsgICAgICAgICAgICAgICAgICAgLyol
IHJpcHBlcjogYXNzb2NfbmV3IShkeW5hX3N5bWJvbCEoJDIpLCAkNCkgJSovCj4gKyAgICAgICAg
ICAgICAgICAgICB9Cj4gKyNsaW5lIDEwMjk0ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8K
PiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDYxMDoKPiArI2xpbmUgNDM3MCAicGFyc2UueSIg
LyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7Cj4gKyAgICAgICAgICAgICAgICAgICAvKiUlJSov
Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5kX3R5cGUoKHl5dnNwWzBdLm5vZGUpKSA9
PSBOT0RFX0hBU0ggJiYKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgISgoeXl2c3BbMF0u
bm9kZSktPm5kX2hlYWQgJiYgKHl5dnNwWzBdLm5vZGUpLT5uZF9oZWFkLT5uZF9hbGVuKSkKPiAr
ICAgICAgICAgICAgICAgICAgICAgICAgICAgKHl5dmFsLm5vZGUpID0gMDsKPiArICAgICAgICAg
ICAgICAgICAgICAgICBlbHNlCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5u
b2RlKSA9IGxpc3RfYXBwZW5kKHAsIE5FV19MSVNUKDAsICYoeXlsb2MpKSwgKHl5dnNwWzBdLm5v
ZGUpKTsKPiArICAgICAgICAgICAgICAgICAgIC8qJSAlKi8KPiArICAgICAgICAgICAgICAgICAg
IC8qJSByaXBwZXI6IGFzc29jX3NwbGF0ISgkMikgJSovCj4gKyAgICAgICAgICAgICAgICAgICB9
Cj4gKyNsaW5lIDEwMzA5ICJwYXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFr
Owo+ICsKPiArICBjYXNlIDYzNjoKPiArI2xpbmUgNDQyOSAicGFyc2UueSIgLyogeWFjYy5jOjE2
NTIgICovCj4gKyAgICB7eXllcnJvazt0b2tlbl9mbHVzaChwKTt9Cj4gKyNsaW5lIDEwMzE1ICJw
YXJzZS5jIiAvKiB5YWNjLmM6MTY1MiAgKi8KPiArICAgIGJyZWFrOwo+ICsKPiArICBjYXNlIDYz
NzoKPiArI2xpbmUgNDQzMCAicGFyc2UueSIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICB7dG9r
ZW5fZmx1c2gocCk7fQo+ICsjbGluZSAxMDMyMSAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICov
Cj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSA2Mzk6Cj4gKyNsaW5lIDQ0MzQgInBhcnNlLnki
IC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAge3l5ZXJyb2s7fQo+ICsjbGluZSAxMDMyNyAicGFy
c2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4gKyAgICBicmVhazsKPiArCj4gKyAgY2FzZSA2NDA6
Cj4gKyNsaW5lIDQ0MzggInBhcnNlLnkiIC8qIHlhY2MuYzoxNjUyICAqLwo+ICsgICAgewo+ICsg
ICAgICAgICAgICAgICAgICAgICAgICh5eXZhbC5ub2RlKSA9IFFudWxsOwo+ICsgICAgICAgICAg
ICAgICAgICAgfQo+ICsjbGluZSAxMDMzNSAicGFyc2UuYyIgLyogeWFjYy5jOjE2NTIgICovCj4g
KyAgICBicmVhazsKPiArCj4gKwo+ICsjbGluZSAxMDMzOSAicGFyc2UuYyIgLyogeWFjYy5jOjE2
NTIgICovCj4gKyAgICAgIGRlZmF1bHQ6IGJyZWFrOwo+ICsgICAgfQo+ICsgIC8qIFVzZXIgc2Vt
YW50aWMgYWN0aW9ucyBzb21ldGltZXMgYWx0ZXIgeXljaGFyLCBhbmQgdGhhdCByZXF1aXJlcwo+
ICsgICAgIHRoYXQgeXl0b2tlbiBiZSB1cGRhdGVkIHdpdGggdGhlIG5ldyB0cmFuc2xhdGlvbi4g
IFdlIHRha2UgdGhlCj4gKyAgICAgYXBwcm9hY2ggb2YgdHJhbnNsYXRpbmcgaW1tZWRpYXRlbHkg
YmVmb3JlIGV2ZXJ5IHVzZSBvZiB5eXRva2VuLgo+ICsgICAgIE9uZSBhbHRlcm5hdGl2ZSBpcyB0
cmFuc2xhdGluZyBoZXJlIGFmdGVyIGV2ZXJ5IHNlbWFudGljIGFjdGlvbiwKPiArICAgICBidXQg
dGhhdCB0cmFuc2xhdGlvbiB3b3VsZCBiZSBtaXNzZWQgaWYgdGhlIHNlbWFudGljIGFjdGlvbiBp
bnZva2VzCj4gKyAgICAgWVlBQk9SVCwgWVlBQ0NFUFQsIG9yIFlZRVJST1IgaW1tZWRpYXRlbHkg
YWZ0ZXIgYWx0ZXJpbmcgeXljaGFyIG9yCj4gKyAgICAgaWYgaXQgaW52b2tlcyBZWUJBQ0tVUC4g
IEluIHRoZSBjYXNlIG9mIFlZQUJPUlQgb3IgWVlBQ0NFUFQsIGFuCj4gKyAgICAgaW5jb3JyZWN0
IGRlc3RydWN0b3IgbWlnaHQgdGhlbiBiZSBpbnZva2VkIGltbWVkaWF0ZWx5LiAgSW4gdGhlCj4g
KyAgICAgY2FzZSBvZiBZWUVSUk9SIG9yIFlZQkFDS1VQLCBzdWJzZXF1ZW50IHBhcnNlciBhY3Rp
b25zIG1pZ2h0IGxlYWQKPiArICAgICB0byBhbiBpbmNvcnJlY3QgZGVzdHJ1Y3RvciBjYWxsIG9y
IHZlcmJvc2Ugc3ludGF4IGVycm9yIG1lc3NhZ2UKPiArICAgICBiZWZvcmUgdGhlIGxvb2thaGVh
ZCBpcyB0cmFuc2xhdGVkLiAgKi8KPiArICBZWV9TWU1CT0xfUFJJTlQgKCItPiAkJCA9IiwgeXly
MVt5eW5dLCAmeXl2YWwsICZ5eWxvYyk7Cj4gKwo+ICsgIFlZUE9QU1RBQ0sgKHl5bGVuKTsKPiAr
ICB5eWxlbiA9IDA7Cj4gKyAgWVlfU1RBQ0tfUFJJTlQgKHl5c3MsIHl5c3NwKTsKPiArCj4gKyAg
KisreXl2c3AgPSB5eXZhbDsKPiArICAqKyt5eWxzcCA9IHl5bG9jOwo+ICsKPiArICAvKiBOb3cg
J3NoaWZ0JyB0aGUgcmVzdWx0IG9mIHRoZSByZWR1Y3Rpb24uICBEZXRlcm1pbmUgd2hhdCBzdGF0
ZQo+ICsgICAgIHRoYXQgZ29lcyB0bywgYmFzZWQgb24gdGhlIHN0YXRlIHdlIHBvcHBlZCBiYWNr
IHRvIGFuZCB0aGUgcnVsZQo+ICsgICAgIG51bWJlciByZWR1Y2VkIGJ5LiAgKi8KPiArICB7Cj4g
KyAgICBjb25zdCBpbnQgeXlsaHMgPSB5eXIxW3l5bl0gLSBZWU5UT0tFTlM7Cj4gKyAgICBjb25z
dCBpbnQgeXlpID0geXlwZ290b1t5eWxoc10gKyAqeXlzc3A7Cj4gKyAgICB5eXN0YXRlID0gKDAg
PD0geXlpICYmIHl5aSA8PSBZWUxBU1QgJiYgeXljaGVja1t5eWldID09ICp5eXNzcAo+ICsgICAg
ICAgICAgICAgICA/IHl5dGFibGVbeXlpXQo+ICsgICAgICAgICAgICAgICA6IHl5ZGVmZ290b1t5
eWxoc10pOwo+ICsgIH0KPiArCj4gKyAgZ290byB5eW5ld3N0YXRlOwo+ICsKPiArCj4gKy8qLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0uCj4gK3wgeXllcnJsYWIgLS0gaGVy
ZSBvbiBkZXRlY3RpbmcgZXJyb3IuICB8Cj4gK2AtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLSovCj4gK3l5ZXJybGFiOgo+ICsgIC8qIE1ha2Ugc3VyZSB3ZSBoYXZlIGxhdGVz
dCBsb29rYWhlYWQgdHJhbnNsYXRpb24uICBTZWUgY29tbWVudHMgYXQKPiArICAgICB1c2VyIHNl
bWFudGljIGFjdGlvbnMgZm9yIHdoeSB0aGlzIGlzIG5lY2Vzc2FyeS4gICovCj4gKyAgeXl0b2tl
biA9IHl5Y2hhciA9PSBZWUVNUFRZID8gWVlFTVBUWSA6IFlZVFJBTlNMQVRFICh5eWNoYXIpOwo+
ICsKPiArICAvKiBJZiBub3QgYWxyZWFkeSByZWNvdmVyaW5nIGZyb20gYW4gZXJyb3IsIHJlcG9y
dCB0aGlzIGVycm9yLiAgKi8KPiArICBpZiAoIXl5ZXJyc3RhdHVzKQo+ICsgICAgewo+ICsgICAg
ICArK3l5bmVycnM7Cj4gKyNpZiAhIFlZRVJST1JfVkVSQk9TRQo+ICsgICAgICB5eWVycm9yICgm
eXlsbG9jLCBwLCBZWV8oInN5bnRheCBlcnJvciIpKTsKPiArI2Vsc2UKPiArIyBkZWZpbmUgWVlT
WU5UQVhfRVJST1IgeXlzeW50YXhfZXJyb3IgKCZ5eW1zZ19hbGxvYywgJnl5bXNnLCBcCj4gKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5eXNzcCwgeXl0b2tlbikKPiAr
ICAgICAgewo+ICsgICAgICAgIGNoYXIgY29uc3QgKnl5bXNncCA9IFlZXygic3ludGF4IGVycm9y
Iik7Cj4gKyAgICAgICAgaW50IHl5c3ludGF4X2Vycm9yX3N0YXR1czsKPiArICAgICAgICB5eXN5
bnRheF9lcnJvcl9zdGF0dXMgPSBZWVNZTlRBWF9FUlJPUjsKPiArICAgICAgICBpZiAoeXlzeW50
YXhfZXJyb3Jfc3RhdHVzID09IDApCj4gKyAgICAgICAgICB5eW1zZ3AgPSB5eW1zZzsKPiArICAg
ICAgICBlbHNlIGlmICh5eXN5bnRheF9lcnJvcl9zdGF0dXMgPT0gMSkKPiArICAgICAgICAgIHsK
PiArICAgICAgICAgICAgaWYgKHl5bXNnICE9IHl5bXNnYnVmKQo+ICsgICAgICAgICAgICAgIFlZ
U1RBQ0tfRlJFRSAoeXltc2cpOwo+ICsgICAgICAgICAgICB5eW1zZyA9IChjaGFyICopIFlZU1RB
Q0tfQUxMT0MgKHl5bXNnX2FsbG9jKTsKPiArICAgICAgICAgICAgaWYgKCF5eW1zZykKPiArICAg
ICAgICAgICAgICB7Cj4gKyAgICAgICAgICAgICAgICB5eW1zZyA9IHl5bXNnYnVmOwo+ICsgICAg
ICAgICAgICAgICAgeXltc2dfYWxsb2MgPSBzaXplb2YgeXltc2didWY7Cj4gKyAgICAgICAgICAg
ICAgICB5eXN5bnRheF9lcnJvcl9zdGF0dXMgPSAyOwo+ICsgICAgICAgICAgICAgIH0KPiArICAg
ICAgICAgICAgZWxzZQo+ICsgICAgICAgICAgICAgIHsKPiArICAgICAgICAgICAgICAgIHl5c3lu
dGF4X2Vycm9yX3N0YXR1cyA9IFlZU1lOVEFYX0VSUk9SOwo+ICsgICAgICAgICAgICAgICAgeXlt
c2dwID0geXltc2c7Cj4gKyAgICAgICAgICAgICAgfQo+ICsgICAgICAgICAgfQo+ICsgICAgICAg
IHl5ZXJyb3IgKCZ5eWxsb2MsIHAsIHl5bXNncCk7Cj4gKyAgICAgICAgaWYgKHl5c3ludGF4X2Vy
cm9yX3N0YXR1cyA9PSAyKQo+ICsgICAgICAgICAgZ290byB5eWV4aGF1c3RlZGxhYjsKPiArICAg
ICAgfQo+ICsjIHVuZGVmIFlZU1lOVEFYX0VSUk9SCj4gKyNlbmRpZgo+ICsgICAgfQo+ICsKPiAr
ICB5eWVycm9yX3JhbmdlWzFdID0geXlsbG9jOwo+ICsKPiArICBpZiAoeXllcnJzdGF0dXMgPT0g
MykKPiArICAgIHsKPiArICAgICAgLyogSWYganVzdCB0cmllZCBhbmQgZmFpbGVkIHRvIHJldXNl
IGxvb2thaGVhZCB0b2tlbiBhZnRlciBhbgo+ICsgICAgICAgICBlcnJvciwgZGlzY2FyZCBpdC4g
ICovCj4gKwo+ICsgICAgICBpZiAoeXljaGFyIDw9IFlZRU9GKQo+ICsgICAgICAgIHsKPiArICAg
ICAgICAgIC8qIFJldHVybiBmYWlsdXJlIGlmIGF0IGVuZCBvZiBpbnB1dC4gICovCj4gKyAgICAg
ICAgICBpZiAoeXljaGFyID09IFlZRU9GKQo+ICsgICAgICAgICAgICBZWUFCT1JUOwo+ICsgICAg
ICAgIH0KPiArICAgICAgZWxzZQo+ICsgICAgICAgIHsKPiArICAgICAgICAgIHl5ZGVzdHJ1Y3Qg
KCJFcnJvcjogZGlzY2FyZGluZyIsCj4gKyAgICAgICAgICAgICAgICAgICAgICB5eXRva2VuLCAm
eXlsdmFsLCAmeXlsbG9jLCBwKTsKPiArICAgICAgICAgIHl5Y2hhciA9IFlZRU1QVFk7Cj4gKyAg
ICAgICAgfQo+ICsgICAgfQo+ICsKPiArICAvKiBFbHNlIHdpbGwgdHJ5IHRvIHJldXNlIGxvb2th
aGVhZCB0b2tlbiBhZnRlciBzaGlmdGluZyB0aGUgZXJyb3IKPiArICAgICB0b2tlbi4gICovCj4g
KyAgZ290byB5eWVycmxhYjE7Cj4gKwo+ICsKPiArLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0uCj4gK3wgeXllcnJvcmxhYiAtLSBlcnJvciByYWlz
ZWQgZXhwbGljaXRseSBieSBZWUVSUk9SLiAgfAo+ICtgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KPiAreXllcnJvcmxhYjoKPiArICAvKiBQYWNp
ZnkgY29tcGlsZXJzIHdoZW4gdGhlIHVzZXIgY29kZSBuZXZlciBpbnZva2VzIFlZRVJST1IgYW5k
IHRoZQo+ICsgICAgIGxhYmVsIHl5ZXJyb3JsYWIgdGhlcmVmb3JlIG5ldmVyIGFwcGVhcnMgaW4g
dXNlciBjb2RlLiAgKi8KPiArICBpZiAoMCkKPiArICAgIFlZRVJST1I7Cj4gKwo+ICsgIC8qIERv
IG5vdCByZWNsYWltIHRoZSBzeW1ib2xzIG9mIHRoZSBydWxlIHdob3NlIGFjdGlvbiB0cmlnZ2Vy
ZWQKPiArICAgICB0aGlzIFlZRVJST1IuICAqLwo+ICsgIFlZUE9QU1RBQ0sgKHl5bGVuKTsKPiAr
ICB5eWxlbiA9IDA7Cj4gKyAgWVlfU1RBQ0tfUFJJTlQgKHl5c3MsIHl5c3NwKTsKPiArICB5eXN0
YXRlID0gKnl5c3NwOwo+ICsgIGdvdG8geXllcnJsYWIxOwo+ICsKPiArCj4gKy8qLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS4KPiAr
fCB5eWVycmxhYjEgLS0gY29tbW9uIGNvZGUgZm9yIGJvdGggc3ludGF4IGVycm9yIGFuZCBZWUVS
Uk9SLiAgfAo+ICtgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLSovCj4gK3l5ZXJybGFiMToKPiArICB5eWVycnN0YXR1cyA9IDM7ICAg
ICAgLyogRWFjaCByZWFsIHRva2VuIHNoaWZ0ZWQgZGVjcmVtZW50cyB0aGlzLiAgKi8KPiArCj4g
KyAgZm9yICg7OykKPiArICAgIHsKPiArICAgICAgeXluID0geXlwYWN0W3l5c3RhdGVdOwo+ICsg
ICAgICBpZiAoIXl5cGFjdF92YWx1ZV9pc19kZWZhdWx0ICh5eW4pKQo+ICsgICAgICAgIHsKPiAr
ICAgICAgICAgIHl5biArPSBZWVRFUlJPUjsKPiArICAgICAgICAgIGlmICgwIDw9IHl5biAmJiB5
eW4gPD0gWVlMQVNUICYmIHl5Y2hlY2tbeXluXSA9PSBZWVRFUlJPUikKPiArICAgICAgICAgICAg
ewo+ICsgICAgICAgICAgICAgIHl5biA9IHl5dGFibGVbeXluXTsKPiArICAgICAgICAgICAgICBp
ZiAoMCA8IHl5bikKPiArICAgICAgICAgICAgICAgIGJyZWFrOwo+ICsgICAgICAgICAgICB9Cj4g
KyAgICAgICAgfQo+ICsKPiArICAgICAgLyogUG9wIHRoZSBjdXJyZW50IHN0YXRlIGJlY2F1c2Ug
aXQgY2Fubm90IGhhbmRsZSB0aGUgZXJyb3IgdG9rZW4uICAqLwo+ICsgICAgICBpZiAoeXlzc3Ag
PT0geXlzcykKPiArICAgICAgICBZWUFCT1JUOwo+ICsKPiArICAgICAgeXllcnJvcl9yYW5nZVsx
XSA9ICp5eWxzcDsKPiArICAgICAgeXlkZXN0cnVjdCAoIkVycm9yOiBwb3BwaW5nIiwKPiArICAg
ICAgICAgICAgICAgICAgeXlzdG9zW3l5c3RhdGVdLCB5eXZzcCwgeXlsc3AsIHApOwo+ICsgICAg
ICBZWVBPUFNUQUNLICgxKTsKPiArICAgICAgeXlzdGF0ZSA9ICp5eXNzcDsKPiArICAgICAgWVlf
U1RBQ0tfUFJJTlQgKHl5c3MsIHl5c3NwKTsKPiArICAgIH0KPiArCj4gKyAgWVlfSUdOT1JFX01B
WUJFX1VOSU5JVElBTElaRURfQkVHSU4KPiArICAqKyt5eXZzcCA9IHl5bHZhbDsKPiArICBZWV9J
R05PUkVfTUFZQkVfVU5JTklUSUFMSVpFRF9FTkQKPiArCj4gKyAgeXllcnJvcl9yYW5nZVsyXSA9
IHl5bGxvYzsKPiArICAvKiBVc2luZyBZWUxMT0MgaXMgdGVtcHRpbmcsIGJ1dCB3b3VsZCBjaGFu
Z2UgdGhlIGxvY2F0aW9uIG9mCj4gKyAgICAgdGhlIGxvb2thaGVhZC4gIFlZTE9DIGlzIGF2YWls
YWJsZSB0aG91Z2guICAqLwo+ICsgIFlZTExPQ19ERUZBVUxUICh5eWxvYywgeXllcnJvcl9yYW5n
ZSwgMik7Cj4gKyAgKisreXlsc3AgPSB5eWxvYzsKPiArCj4gKyAgLyogU2hpZnQgdGhlIGVycm9y
IHRva2VuLiAgKi8KPiArICBZWV9TWU1CT0xfUFJJTlQgKCJTaGlmdGluZyIsIHl5c3Rvc1t5eW5d
LCB5eXZzcCwgeXlsc3ApOwo+ICsKPiArICB5eXN0YXRlID0geXluOwo+ICsgIGdvdG8geXluZXdz
dGF0ZTsKPiArCj4gKwo+ICsvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0u
Cj4gK3wgeXlhY2NlcHRsYWIgLS0gWVlBQ0NFUFQgY29tZXMgaGVyZS4gIHwKPiArYC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwo+ICt5eWFjY2VwdGxhYjoKPiArICB5eXJl
c3VsdCA9IDA7Cj4gKyAgZ290byB5eXJldHVybjsKPiArCj4gKwo+ICsvKi0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLgo+ICt8IHl5YWJvcnRsYWIgLS0gWVlBQk9SVCBjb21lcyBo
ZXJlLiAgfAo+ICtgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwo+ICt5eWFi
b3J0bGFiOgo+ICsgIHl5cmVzdWx0ID0gMTsKPiArICBnb3RvIHl5cmV0dXJuOwo+ICsKPiArCj4g
KyNpZiAhZGVmaW5lZCB5eW92ZXJmbG93IHx8IFlZRVJST1JfVkVSQk9TRQo+ICsvKi0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0uCj4gK3wgeXlleGhhdXN0
ZWRsYWIgLS0gbWVtb3J5IGV4aGF1c3Rpb24gY29tZXMgaGVyZS4gIHwKPiArYC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwo+ICt5eWV4aGF1c3RlZGxh
YjoKPiArICB5eWVycm9yICgmeXlsbG9jLCBwLCBZWV8oIm1lbW9yeSBleGhhdXN0ZWQiKSk7Cj4g
KyAgeXlyZXN1bHQgPSAyOwo+ICsgIC8qIEZhbGwgdGhyb3VnaC4gICovCj4gKyNlbmRpZgo+ICsK
PiArCj4gKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0uCj4gK3wgeXlyZXR1cm4gLS0gcGFyc2luZyBpcyBmaW5pc2hlZCwgcmV0dXJuIHRoZSBy
ZXN1bHQuICB8Cj4gK2AtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLSovCj4gK3l5cmV0dXJuOgo+ICsgIGlmICh5eWNoYXIgIT0gWVlFTVBUWSkKPiAr
ICAgIHsKPiArICAgICAgLyogTWFrZSBzdXJlIHdlIGhhdmUgbGF0ZXN0IGxvb2thaGVhZCB0cmFu
c2xhdGlvbi4gIFNlZSBjb21tZW50cyBhdAo+ICsgICAgICAgICB1c2VyIHNlbWFudGljIGFjdGlv
bnMgZm9yIHdoeSB0aGlzIGlzIG5lY2Vzc2FyeS4gICovCj4gKyAgICAgIHl5dG9rZW4gPSBZWVRS
QU5TTEFURSAoeXljaGFyKTsKPiArICAgICAgeXlkZXN0cnVjdCAoIkNsZWFudXA6IGRpc2NhcmRp
bmcgbG9va2FoZWFkIiwKPiArICAgICAgICAgICAgICAgICAgeXl0b2tlbiwgJnl5bHZhbCwgJnl5
bGxvYywgcCk7Cj4gKyAgICB9Cj4gKyAgLyogRG8gbm90IHJlY2xhaW0gdGhlIHN5bWJvbHMgb2Yg
dGhlIHJ1bGUgd2hvc2UgYWN0aW9uIHRyaWdnZXJlZAo+ICsgICAgIHRoaXMgWVlBQk9SVCBvciBZ
WUFDQ0VQVC4gICovCj4gKyAgWVlQT1BTVEFDSyAoeXlsZW4pOwo+ICsgIFlZX1NUQUNLX1BSSU5U
ICh5eXNzLCB5eXNzcCk7Cj4gKyAgd2hpbGUgKHl5c3NwICE9IHl5c3MpCj4gKyAgICB7Cj4gKyAg
ICAgIHl5ZGVzdHJ1Y3QgKCJDbGVhbnVwOiBwb3BwaW5nIiwKPiArICAgICAgICAgICAgICAgICAg
eXlzdG9zWyp5eXNzcF0sIHl5dnNwLCB5eWxzcCwgcCk7Cj4gKyAgICAgIFlZUE9QU1RBQ0sgKDEp
Owo+ICsgICAgfQo+ICsjaWZuZGVmIHl5b3ZlcmZsb3cKPiArICBpZiAoeXlzcyAhPSB5eXNzYSkK
PiArICAgIFlZU1RBQ0tfRlJFRSAoeXlzcyk7Cj4gKyNlbmRpZgo+ICsjaWYgWVlFUlJPUl9WRVJC
T1NFCj4gKyAgaWYgKHl5bXNnICE9IHl5bXNnYnVmKQo+ICsgICAgWVlTVEFDS19GUkVFICh5eW1z
Zyk7Cj4gKyNlbmRpZgo+ICsgIHJldHVybiB5eXJlc3VsdDsKPiArfQo+ICsjbGluZSA0NDQyICJw
YXJzZS55IiAvKiB5YWNjLmM6MTkxOCAgKi8KPiArCj4gKyMgdW5kZWYgcAo+ICsjIHVuZGVmIHl5
bGV4Cj4gKyMgdW5kZWYgeXlsdmFsCj4gKyMgZGVmaW5lIHl5bHZhbCAgKCpwLT5sdmFsKQo+ICsK
PiArc3RhdGljIGludCByZWd4X29wdGlvbnMoc3RydWN0IHBhcnNlcl9wYXJhbXMqKTsKPiArc3Rh
dGljIGludCB0b2thZGRfc3RyaW5nKHN0cnVjdCBwYXJzZXJfcGFyYW1zKixpbnQsaW50LGludCxs
b25nKixyYl9lbmNvZGluZyoqLHJiX2VuY29kaW5nKiopOwo+ICtzdGF0aWMgdm9pZCB0b2thZGRt
YmMoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIGludCBjLCByYl9lbmNvZGluZyAqZW5jKTsKPiAr
c3RhdGljIGVudW0geXl0b2tlbnR5cGUgcGFyc2Vfc3RyaW5nKHN0cnVjdCBwYXJzZXJfcGFyYW1z
KixyYl9zdHJ0ZXJtX2xpdGVyYWxfdCopOwo+ICtzdGF0aWMgZW51bSB5eXRva2VudHlwZSBoZXJl
X2RvY3VtZW50KHN0cnVjdCBwYXJzZXJfcGFyYW1zKixyYl9zdHJ0ZXJtX2hlcmVkb2NfdCopOwo+
ICsKPiArI2lmbmRlZiBSSVBQRVIKPiArIyBkZWZpbmUgc2V0X3l5bHZhbF9ub2RlKHgpIHsgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKPiArICBZWUxUWVBFIF9jdXJfbG9jOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiArICByYl9wYXJzZXJfc2V0X2xvY2F0aW9uKHAs
ICZfY3VyX2xvYyk7ICAgICAgICAgICAgICAgICAgICAgICAgXAo+ICsgIHl5bHZhbC5ub2RlID0g
KHgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+ICt9Cj4gKyMgZGVmaW5l
IHNldF95eWx2YWxfc3RyKHgpIHNldF95eWx2YWxfbm9kZShORVdfU1RSKHgsICZfY3VyX2xvYykp
Cj4gKyMgZGVmaW5lIHNldF95eWx2YWxfbGl0ZXJhbCh4KSBzZXRfeXlsdmFsX25vZGUoTkVXX0xJ
VCh4LCAmX2N1cl9sb2MpKQo+ICsjIGRlZmluZSBzZXRfeXlsdmFsX251bSh4KSAoeXlsdmFsLm51
bSA9ICh4KSkKPiArIyBkZWZpbmUgc2V0X3l5bHZhbF9pZCh4KSAgKHl5bHZhbC5pZCA9ICh4KSkK
PiArIyBkZWZpbmUgc2V0X3l5bHZhbF9uYW1lKHgpICAoeXlsdmFsLmlkID0gKHgpKQo+ICsjIGRl
ZmluZSB5eWx2YWxfaWQoKSAoeXlsdmFsLmlkKQo+ICsjZWxzZQo+ICtzdGF0aWMgaW5saW5lIFZB
TFVFCj4gK3JpcHBlcl95eWx2YWxfaWQoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIElEIHgpCj4g
K3sKPiArICAgIHJldHVybiByaXBwZXJfbmV3X3l5bHZhbChwLCB4LCBJRDJTWU0oeCksIDApOwo+
ICt9Cj4gKyMgZGVmaW5lIHNldF95eWx2YWxfc3RyKHgpICh5eWx2YWwudmFsID0gKHgpKQo+ICsj
IGRlZmluZSBzZXRfeXlsdmFsX251bSh4KSAoeXlsdmFsLnZhbCA9IHJpcHBlcl9uZXdfeXlsdmFs
KHAsICh4KSwgMCwgMCkpCj4gKyMgZGVmaW5lIHNldF95eWx2YWxfaWQoeCkgICh2b2lkKSh4KQo+
ICsjIGRlZmluZSBzZXRfeXlsdmFsX25hbWUoeCkgKHZvaWQpKHl5bHZhbC52YWwgPSByaXBwZXJf
eXlsdmFsX2lkKHAsIHgpKQo+ICsjIGRlZmluZSBzZXRfeXlsdmFsX2xpdGVyYWwoeCkgKHZvaWQp
KHgpCj4gKyMgZGVmaW5lIHNldF95eWx2YWxfbm9kZSh4KSAodm9pZCkoeCkKPiArIyBkZWZpbmUg
eXlsdmFsX2lkKCkgeXlsdmFsLmlkCj4gKyMgZGVmaW5lIF9jdXJfbG9jIE5VTExfTE9DIC8qIGR1
bW15ICovCj4gKyNlbmRpZgo+ICsKPiArI2lmbmRlZiBSSVBQRVIKPiArI2RlZmluZSBsaXRlcmFs
X2ZsdXNoKHAsIHB0cikgKChwKS0+bGV4LnB0b2sgPSAocHRyKSkKPiArI2RlZmluZSBkaXNwYXRj
aF9zY2FuX2V2ZW50KHAsIHQpICgodm9pZCkwKQo+ICsjZGVmaW5lIGRpc3BhdGNoX2RlbGF5ZWRf
dG9rZW4ocCwgdCkgKCh2b2lkKTApCj4gKyNkZWZpbmUgaGFzX2RlbGF5ZWRfdG9rZW4ocCkgKDAp
Cj4gKyNlbHNlCj4gKyNkZWZpbmUgbGl0ZXJhbF9mbHVzaChwLCBwdHIpICgodm9pZCkocHRyKSkK
PiArCj4gKyNkZWZpbmUgeXlsdmFsX3J2YWwgKCooUkJfVFlQRV9QKHl5bHZhbC52YWwsIFRfTk9E
RSkgPyAmeXlsdmFsLm5vZGUtPm5kX3J2YWwgOiAmeXlsdmFsLnZhbCkpCj4gKwo+ICtzdGF0aWMg
aW5saW5lIFZBTFVFCj4gK2ludGVybl9zeW0oY29uc3QgY2hhciAqbmFtZSkKPiArewo+ICsgICAg
SUQgaWQgPSByYl9pbnRlcm5fY29uc3QobmFtZSk7Cj4gKyAgICByZXR1cm4gSUQyU1lNKGlkKTsK
PiArfQo+ICsKPiArc3RhdGljIGludAo+ICtyaXBwZXJfaGFzX3NjYW5fZXZlbnQoc3RydWN0IHBh
cnNlcl9wYXJhbXMgKnApCj4gK3sKPiArICAgIGlmIChwLT5sZXgucGN1ciA8IHAtPmxleC5wdG9r
KSByYl9yYWlzZShyYl9lUnVudGltZUVycm9yLCAibGV4LnBjdXIgPCBsZXgucHRvayIpOwo+ICsg
ICAgcmV0dXJuIHAtPmxleC5wY3VyID4gcC0+bGV4LnB0b2s7Cj4gK30KPiArCj4gK3N0YXRpYyBW
QUxVRQo+ICtyaXBwZXJfc2Nhbl9ldmVudF92YWwoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIGlu
dCB0KQo+ICt7Cj4gKyAgICBWQUxVRSBzdHIgPSBTVFJfTkVXKHAtPmxleC5wdG9rLCBwLT5sZXgu
cGN1ciAtIHAtPmxleC5wdG9rKTsKPiArICAgIFZBTFVFIHJ2YWwgPSByaXBwZXJfZGlzcGF0Y2gx
KHAsIHJpcHBlcl90b2tlbjJldmVudGlkKHQpLCBzdHIpOwo+ICsgICAgdG9rZW5fZmx1c2gocCk7
Cj4gKyAgICByZXR1cm4gcnZhbDsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQKPiArcmlwcGVyX2Rp
c3BhdGNoX3NjYW5fZXZlbnQoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIGludCB0KQo+ICt7Cj4g
KyAgICBpZiAoIXJpcHBlcl9oYXNfc2Nhbl9ldmVudChwKSkgcmV0dXJuOwo+ICsgICAgYWRkX21h
cmtfb2JqZWN0KHAsIHl5bHZhbF9ydmFsID0gcmlwcGVyX3NjYW5fZXZlbnRfdmFsKHAsIHQpKTsK
PiArfQo+ICsjZGVmaW5lIGRpc3BhdGNoX3NjYW5fZXZlbnQocCwgdCkgcmlwcGVyX2Rpc3BhdGNo
X3NjYW5fZXZlbnQocCwgdCkKPiArCj4gK3N0YXRpYyB2b2lkCj4gK3JpcHBlcl9kaXNwYXRjaF9k
ZWxheWVkX3Rva2VuKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBpbnQgdCkKPiArewo+ICsgICAg
aW50IHNhdmVkX2xpbmUgPSBwLT5ydWJ5X3NvdXJjZWxpbmU7Cj4gKyAgICBjb25zdCBjaGFyICpz
YXZlZF90b2twID0gcC0+bGV4LnB0b2s7Cj4gKwo+ICsgICAgcC0+cnVieV9zb3VyY2VsaW5lID0g
cC0+ZGVsYXllZF9saW5lOwo+ICsgICAgcC0+bGV4LnB0b2sgPSBwLT5sZXgucGJlZyArIHAtPmRl
bGF5ZWRfY29sOwo+ICsgICAgYWRkX21hcmtfb2JqZWN0KHAsIHl5bHZhbF9ydmFsID0gcmlwcGVy
X2Rpc3BhdGNoMShwLCByaXBwZXJfdG9rZW4yZXZlbnRpZCh0KSwgcC0+ZGVsYXllZCkpOwo+ICsg
ICAgcC0+ZGVsYXllZCA9IFFuaWw7Cj4gKyAgICBwLT5ydWJ5X3NvdXJjZWxpbmUgPSBzYXZlZF9s
aW5lOwo+ICsgICAgcC0+bGV4LnB0b2sgPSBzYXZlZF90b2twOwo+ICt9Cj4gKyNkZWZpbmUgZGlz
cGF0Y2hfZGVsYXllZF90b2tlbihwLCB0KSByaXBwZXJfZGlzcGF0Y2hfZGVsYXllZF90b2tlbihw
LCB0KQo+ICsjZGVmaW5lIGhhc19kZWxheWVkX3Rva2VuKHApICghTklMX1AocC0+ZGVsYXllZCkp
Cj4gKyNlbmRpZiAvKiBSSVBQRVIgKi8KPiArCj4gKyNpbmNsdWRlICJydWJ5L3JlZ2V4LmgiCj4g
KyNpbmNsdWRlICJydWJ5L3V0aWwuaCIKPiArCj4gK3N0YXRpYyBpbmxpbmUgaW50Cj4gK2lzX2lk
ZW50Y2hhcihjb25zdCBjaGFyICpwdHIsIGNvbnN0IGNoYXIgKk1BWUJFX1VOVVNFRChwdHJfZW5k
KSwgcmJfZW5jb2RpbmcgKmVuYykKPiArewo+ICsgICAgcmV0dXJuIHJiX2VuY19pc2FsbnVtKCh1
bnNpZ25lZCBjaGFyKSpwdHIsIGVuYykgfHwgKnB0ciA9PSAnXycgfHwgIUlTQVNDSUkoKnB0cik7
Cj4gK30KPiArCj4gK3N0YXRpYyBpbmxpbmUgaW50Cj4gK3BhcnNlcl9pc19pZGVudGNoYXIoc3Ry
dWN0IHBhcnNlcl9wYXJhbXMgKnApCj4gK3sKPiArICAgIHJldHVybiAhKHApLT5lb2ZwICYmIGlz
X2lkZW50Y2hhcihwLT5sZXgucGN1ci0xLCBwLT5sZXgucGVuZCwgcC0+ZW5jKTsKPiArfQo+ICsK
PiArc3RhdGljIGlubGluZSBpbnQKPiArcGFyc2VyX2lzYXNjaWkoc3RydWN0IHBhcnNlcl9wYXJh
bXMgKnApCj4gK3sKPiArICAgIHJldHVybiBJU0FTQ0lJKCoocC0+bGV4LnBjdXItMSkpOwo+ICt9
Cj4gKwo+ICtzdGF0aWMgdm9pZAo+ICtzZXR1cF90b2tlbl9pbmZvKHRva2VuX2luZm8gKnB0aW5m
bywgY29uc3QgY2hhciAqcHRyLCBjb25zdCByYl9jb2RlX2xvY2F0aW9uX3QgKmxvYykKPiArewo+
ICsgICAgaW50IGNvbHVtbiA9IDEsIG5vbnNwYyA9IDAsIGk7Cj4gKyAgICBmb3IgKGkgPSAwOyBp
IDwgbG9jLT5iZWdfcG9zLmNvbHVtbjsgaSsrLCBwdHIrKykgewo+ICsgICAgICAgaWYgKCpwdHIg
PT0gJ1x0Jykgewo+ICsgICAgICAgICAgIGNvbHVtbiA9ICgoKGNvbHVtbiAtIDEpIC8gVEFCX1dJ
RFRIKSArIDEpICogVEFCX1dJRFRIOwo+ICsgICAgICAgfQo+ICsgICAgICAgY29sdW1uKys7Cj4g
KyAgICAgICBpZiAoKnB0ciAhPSAnICcgJiYgKnB0ciAhPSAnXHQnKSB7Cj4gKyAgICAgICAgICAg
bm9uc3BjID0gMTsKPiArICAgICAgIH0KPiArICAgIH0KPiArCj4gKyAgICBwdGluZm8tPmxpbmVu
dW0gPSBsb2MtPmJlZ19wb3MubGluZW5vOwo+ICsgICAgcHRpbmZvLT5jb2x1bW4gPSBjb2x1bW47
Cj4gKyAgICBwdGluZm8tPm5vbnNwYyA9IG5vbnNwYzsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQK
PiArdG9rZW5faW5mb19wdXNoKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBjb25zdCBjaGFyICp0
b2tlbiwgY29uc3QgcmJfY29kZV9sb2NhdGlvbl90ICpsb2MpCj4gK3sKPiArICAgIHRva2VuX2lu
Zm8gKnB0aW5mbzsKPiArCj4gKyAgICBpZiAoIXAtPnRva2VuX2luZm9fZW5hYmxlZCkgcmV0dXJu
Owo+ICsgICAgcHRpbmZvID0gQUxMT0ModG9rZW5faW5mbyk7Cj4gKyAgICBwdGluZm8tPnRva2Vu
ID0gdG9rZW47Cj4gKyAgICBwdGluZm8tPm5leHQgPSBwLT50b2tlbl9pbmZvOwo+ICsgICAgc2V0
dXBfdG9rZW5faW5mbyhwdGluZm8sIHAtPmxleC5wYmVnLCBsb2MpOwo+ICsKPiArICAgIHAtPnRv
a2VuX2luZm8gPSBwdGluZm87Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkCj4gK3Rva2VuX2luZm9f
cG9wKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBjb25zdCBjaGFyICp0b2tlbiwgY29uc3QgcmJf
Y29kZV9sb2NhdGlvbl90ICpsb2MpCj4gK3sKPiArICAgIHRva2VuX2luZm8gKnB0aW5mb19iZWcg
PSBwLT50b2tlbl9pbmZvOwo+ICsKPiArICAgIGlmICghcHRpbmZvX2JlZykgcmV0dXJuOwo+ICsg
ICAgcC0+dG9rZW5faW5mbyA9IHB0aW5mb19iZWctPm5leHQ7Cj4gKwo+ICsgICAgLyogaW5kZW50
YXRpb24gY2hlY2sgb2YgbWF0Y2hlZCBrZXl3b3JkcyAoYmVnaW4uLmVuZCwgaWYuLmVuZCwgZXRj
LikgKi8KPiArICAgIHRva2VuX2luZm9fd2FybihwLCB0b2tlbiwgcHRpbmZvX2JlZywgMSwgbG9j
KTsKPiArICAgIHJ1Ynlfc2l6ZWRfeGZyZWUocHRpbmZvX2JlZywgc2l6ZW9mKCpwdGluZm9fYmVn
KSk7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkCj4gK3Rva2VuX2luZm9fd2FybihzdHJ1Y3QgcGFy
c2VyX3BhcmFtcyAqcCwgY29uc3QgY2hhciAqdG9rZW4sIHRva2VuX2luZm8gKnB0aW5mb19iZWcs
IGludCBzYW1lLCBjb25zdCByYl9jb2RlX2xvY2F0aW9uX3QgKmxvYykKPiArewo+ICsgICAgdG9r
ZW5faW5mbyBwdGluZm9fZW5kX2JvZHksICpwdGluZm9fZW5kID0gJnB0aW5mb19lbmRfYm9keTsK
PiArICAgIGlmICghcC0+dG9rZW5faW5mb19lbmFibGVkKSByZXR1cm47Cj4gKyAgICBpZiAoIXB0
aW5mb19iZWcpIHJldHVybjsKPiArICAgIHNldHVwX3Rva2VuX2luZm8ocHRpbmZvX2VuZCwgcC0+
bGV4LnBiZWcsIGxvYyk7Cj4gKyAgICBpZiAocHRpbmZvX2JlZy0+bGluZW51bSA9PSBwdGluZm9f
ZW5kLT5saW5lbnVtKSByZXR1cm47IC8qIGlnbm9yZSBvbmUtbGluZSBibG9jayAqLwo+ICsgICAg
aWYgKHB0aW5mb19iZWctPm5vbnNwYyB8fCBwdGluZm9fZW5kLT5ub25zcGMpIHJldHVybjsgLyog
aWdub3JlIGtleXdvcmQgaW4gdGhlIG1pZGRsZSBvZiBhIGxpbmUgKi8KPiArICAgIGlmIChwdGlu
Zm9fYmVnLT5jb2x1bW4gPT0gcHRpbmZvX2VuZC0+Y29sdW1uKSByZXR1cm47IC8qIHRoZSBpbmRl
bnRzIGFyZSBtYXRjaGVkICovCj4gKyAgICBpZiAoIXNhbWUgJiYgcHRpbmZvX2JlZy0+Y29sdW1u
IDwgcHRpbmZvX2VuZC0+Y29sdW1uKSByZXR1cm47Cj4gKyAgICByYl93YXJuM0wocHRpbmZvX2Vu
ZC0+bGluZW51bSwKPiArICAgICAgICAgICAgICJtaXNtYXRjaGVkIGluZGVudGF0aW9ucyBhdCAn
JXMnIHdpdGggJyVzJyBhdCAlZCIsCj4gKyAgICAgICAgICAgICBXQVJOX1ModG9rZW4pLCBXQVJO
X1MocHRpbmZvX2JlZy0+dG9rZW4pLCBXQVJOX0kocHRpbmZvX2JlZy0+bGluZW51bSkpOwo+ICt9
Cj4gKwo+ICtzdGF0aWMgaW50Cj4gK3BhcnNlcl9wcmVjaXNlX21iY2xlbihzdHJ1Y3QgcGFyc2Vy
X3BhcmFtcyAqcCwgY29uc3QgY2hhciAqcHRyKQo+ICt7Cj4gKyAgICBpbnQgbGVuID0gcmJfZW5j
X3ByZWNpc2VfbWJjbGVuKHB0ciwgcC0+bGV4LnBlbmQsIHAtPmVuYyk7Cj4gKyAgICBpZiAoIU1C
Q0xFTl9DSEFSRk9VTkRfUChsZW4pKSB7Cj4gKyAgICAgICBjb21waWxlX2Vycm9yKHAsICJpbnZh
bGlkIG11bHRpYnl0ZSBjaGFyICglcykiLCByYl9lbmNfbmFtZShwLT5lbmMpKTsKPiArICAgICAg
IHJldHVybiAtMTsKPiArICAgIH0KPiArICAgIHJldHVybiBsZW47Cj4gK30KPiArCj4gK3N0YXRp
YyBpbnQKPiArcGFyc2VyX3l5ZXJyb3Ioc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIGNvbnN0IFlZ
TFRZUEUgKnl5bGxvYywgY29uc3QgY2hhciAqbXNnKQo+ICt7Cj4gKyNpZm5kZWYgUklQUEVSCj4g
KyAgICBjb25zdCBpbnQgbWF4X2xpbmVfbWFyZ2luID0gMzA7Cj4gKyAgICBjb25zdCBjaGFyICpw
dHIsICpwdHJfZW5kLCAqcHQsICpwYjsKPiArICAgIGNvbnN0IGNoYXIgKnByZSA9ICIiLCAqcG9z
dCA9ICIiLCAqcGVuZDsKPiArICAgIGNvbnN0IGNoYXIgKmNvZGUgPSAiIiwgKmNhcmV0ID0gIiIs
ICpuZXdsaW5lID0gIiI7Cj4gKyAgICBjb25zdCBjaGFyICpsaW07Cj4gKyAgICBjaGFyICpidWY7
Cj4gKyAgICBsb25nIGxlbjsKPiArICAgIGludCBpOwo+ICsgICAgWVlMVFlQRSBjdXJyZW50Owo+
ICsKPiArICAgIGlmICgheXlsbG9jKSB7Cj4gKyAgICAgICBSVUJZX1NFVF9ZWUxMT0MoY3VycmVu
dCk7Cj4gKyAgICAgICB5eWxsb2MgPSAmY3VycmVudDsKPiArICAgIH0KPiArICAgIGVsc2UgaWYg
KChwLT5ydWJ5X3NvdXJjZWxpbmUgIT0geXlsbG9jLT5iZWdfcG9zLmxpbmVubyAmJgo+ICsgICAg
ICAgICAgICAgcC0+cnVieV9zb3VyY2VsaW5lICE9IHl5bGxvYy0+ZW5kX3Bvcy5saW5lbm8pIHx8
Cj4gKyAgICAgICAgICAgICh5eWxsb2MtPmJlZ19wb3MubGluZW5vID09IHl5bGxvYy0+ZW5kX3Bv
cy5saW5lbm8gJiYKPiArICAgICAgICAgICAgIHl5bGxvYy0+YmVnX3Bvcy5jb2x1bW4gPT0geXls
bG9jLT5lbmRfcG9zLmNvbHVtbikpIHsKPiArICAgICAgIGNvbXBpbGVfZXJyb3IocCwgIiVzIiwg
bXNnKTsKPiArICAgICAgIHJldHVybiAwOwo+ICsgICAgfQo+ICsKPiArICAgIHBlbmQgPSBwLT5s
ZXgucGVuZDsKPiArICAgIGlmIChwZW5kID4gcC0+bGV4LnBiZWcgJiYgcGVuZFstMV0gPT0gJ1xu
Jykgewo+ICsgICAgICAgaWYgKC0tcGVuZCA+IHAtPmxleC5wYmVnICYmIHBlbmRbLTFdID09ICdc
cicpIC0tcGVuZDsKPiArICAgIH0KPiArCj4gKyAgICBwdCA9IChwLT5ydWJ5X3NvdXJjZWxpbmUg
PT0geXlsbG9jLT5lbmRfcG9zLmxpbmVubykgPwo+ICsgICAgICAgICAgIHAtPmxleC5wYmVnICsg
eXlsbG9jLT5lbmRfcG9zLmNvbHVtbiA6IHAtPmxleC5wZW5kOwo+ICsgICAgcHRyID0gcHRyX2Vu
ZCA9IHB0IDwgcGVuZCA/IHB0IDogcGVuZDsKPiArICAgIGxpbSA9IHB0ciAtIHAtPmxleC5wYmVn
ID4gbWF4X2xpbmVfbWFyZ2luID8gcHRyIC0gbWF4X2xpbmVfbWFyZ2luIDogcC0+bGV4LnBiZWc7
Cj4gKyAgICB3aGlsZSAoKGxpbSA8IHB0cikgJiYgKCoocHRyLTEpICE9ICdcbicpKSBwdHItLTsK
PiArCj4gKyAgICBsaW0gPSBwZW5kIC0gcHRyX2VuZCA+IG1heF9saW5lX21hcmdpbiA/IHB0cl9l
bmQgKyBtYXhfbGluZV9tYXJnaW4gOiBwZW5kOwo+ICsgICAgd2hpbGUgKChwdHJfZW5kIDwgbGlt
KSAmJiAoKnB0cl9lbmQgIT0gJ1xuJykpIHB0cl9lbmQrKzsKPiArCj4gKyAgICBsZW4gPSBwdHJf
ZW5kIC0gcHRyOwo+ICsgICAgaWYgKGxlbiA+IDQpIHsKPiArICAgICAgIGlmIChwdHIgPiBwLT5s
ZXgucGJlZykgewo+ICsgICAgICAgICAgIHB0ciA9IHJiX2VuY19wcmV2X2NoYXIocC0+bGV4LnBi
ZWcsIHB0ciwgcHQsIHJiX2VuY19nZXQocC0+bGV4Lmxhc3RsaW5lKSk7Cj4gKyAgICAgICAgICAg
aWYgKHB0ciA+IHAtPmxleC5wYmVnKSBwcmUgPSAiLi4uIjsKPiArICAgICAgIH0KPiArICAgICAg
IGlmIChwdHJfZW5kIDwgcGVuZCkgewo+ICsgICAgICAgICAgIHB0cl9lbmQgPSByYl9lbmNfcHJl
dl9jaGFyKHB0LCBwdHJfZW5kLCBwZW5kLCByYl9lbmNfZ2V0KHAtPmxleC5sYXN0bGluZSkpOwo+
ICsgICAgICAgICAgIGlmIChwdHJfZW5kIDwgcGVuZCkgcG9zdCA9ICIuLi4iOwo+ICsgICAgICAg
fQo+ICsgICAgfQo+ICsgICAgcGIgPSBwLT5sZXgucGJlZzsKPiArICAgIGlmIChwLT5ydWJ5X3Nv
dXJjZWxpbmUgPT0geXlsbG9jLT5iZWdfcG9zLmxpbmVubykgewo+ICsgICAgICAgcGIgKz0geXls
bG9jLT5iZWdfcG9zLmNvbHVtbjsKPiArICAgICAgIGlmIChwYiA+IHB0KSBwYiA9IHB0Owo+ICsg
ICAgfQo+ICsgICAgaWYgKHBiIDwgcHRyKSBwYiA9IHB0cjsKPiArICAgIGlmIChsZW4gPD0gNCAm
JiB5eWxsb2MtPmJlZ19wb3MubGluZW5vID09IHl5bGxvYy0+ZW5kX3Bvcy5saW5lbm8pIHsKPiAr
ICAgICAgIGNvbXBpbGVfZXJyb3IocCwgIiVzIiwgbXNnKTsKPiArICAgIH0KPiArICAgIGVsc2Ug
aWYgKCFwLT5lcnJvcl9idWZmZXIgJiYgcmJfc3RkZXJyX3R0eV9wKCkpIHsKPiArI2RlZmluZSBD
U0lfQkVHSU4gIlwwMzNbIgo+ICsjZGVmaW5lIENTSV9TR1IgIm0iCj4gKyAgICAgICBjb21waWxl
X2Vycm9yKHAsICIlc1xuIgo+ICsgICAgICAgICAgICAgICAgICAgICBDU0lfQkVHSU4iIkNTSV9T
R1IiJXMiIC8qIHByZSAqLwo+ICsgICAgICAgICAgICAgICAgICAgICBDU0lfQkVHSU4iMSJDU0lf
U0dSIiUuKnMiCj4gKyAgICAgICAgICAgICAgICAgICAgIENTSV9CRUdJTiIxOzQiQ1NJX1NHUiIl
LipzIgo+ICsgICAgICAgICAgICAgICAgICAgICBDU0lfQkVHSU4iOzEiQ1NJX1NHUiIlLipzIgo+
ICsgICAgICAgICAgICAgICAgICAgICBDU0lfQkVHSU4iIkNTSV9TR1IiJXMiIC8qIHBvc3QgKi8s
Cj4gKyAgICAgICAgICAgICAgICAgICAgIG1zZywgcHJlLAo+ICsgICAgICAgICAgICAgICAgICAg
ICAoaW50KShwYiAtIHB0ciksIHB0ciwKPiArICAgICAgICAgICAgICAgICAgICAgKGludCkocHQg
LSBwYiksIHBiLAo+ICsgICAgICAgICAgICAgICAgICAgICAoaW50KShwdHJfZW5kIC0gcHQpLCBw
dCwKPiArICAgICAgICAgICAgICAgICAgICAgcG9zdCk7Cj4gKyAgICB9Cj4gKyAgICBlbHNlIHsK
PiArICAgICAgIGNoYXIgKnAyOwo+ICsKPiArICAgICAgIGxlbiA9IHB0cl9lbmQgLSBwdHI7Cj4g
KyAgICAgICBsaW0gPSBwdCA8IHBlbmQgPyBwdCA6IHBlbmQ7Cj4gKyAgICAgICBpID0gKGludCko
bGltIC0gcHRyKTsKPiArICAgICAgIGJ1ZiA9IEFMTE9DQV9OKGNoYXIsIGkrMik7Cj4gKyAgICAg
ICBjb2RlID0gcHRyOwo+ICsgICAgICAgY2FyZXQgPSBwMiA9IGJ1ZjsKPiArICAgICAgIGlmIChw
dHIgPD0gcGIpIHsKPiArICAgICAgICAgICB3aGlsZSAocHRyIDwgcGIpIHsKPiArICAgICAgICAg
ICAgICAgKnAyKysgPSAqcHRyKysgPT0gJ1x0JyA/ICdcdCcgOiAnICc7Cj4gKyAgICAgICAgICAg
fQo+ICsgICAgICAgICAgICpwMisrID0gJ14nOwo+ICsgICAgICAgICAgIHB0cisrOwo+ICsgICAg
ICAgfQo+ICsgICAgICAgaWYgKGxpbSA+IHB0cikgewo+ICsgICAgICAgICAgIG1lbXNldChwMiwg
J34nLCAobGltIC0gcHRyKSk7Cj4gKyAgICAgICAgICAgcDIgKz0gKGxpbSAtIHB0cik7Cj4gKyAg
ICAgICB9Cj4gKyAgICAgICAqcDIgPSAnXDAnOwo+ICsgICAgICAgbmV3bGluZSA9ICJcbiI7Cj4g
KyAgICAgICBjb21waWxlX2Vycm9yKHAsICIlcyVzIiIlcyUuKnMlcyVzIiIlcyVzIiwKPiArICAg
ICAgICAgICAgICAgICAgICAgbXNnLCBuZXdsaW5lLAo+ICsgICAgICAgICAgICAgICAgICAgICBw
cmUsIChpbnQpbGVuLCBjb2RlLCBwb3N0LCBuZXdsaW5lLAo+ICsgICAgICAgICAgICAgICAgICAg
ICBwcmUsIGNhcmV0KTsKPiArICAgIH0KPiArI2Vsc2UKPiArICAgIGRpc3BhdGNoMShwYXJzZV9l
cnJvciwgU1RSX05FVzIobXNnKSk7Cj4gKyAgICByaXBwZXJfZXJyb3IocCk7Cj4gKyNlbmRpZiAv
KiAhUklQUEVSICovCj4gKyAgICByZXR1cm4gMDsKPiArfQo+ICsKPiArc3RhdGljIGludAo+ICt2
dGFibGVfc2l6ZShjb25zdCBzdHJ1Y3QgdnRhYmxlICp0YmwpCj4gK3sKPiArICAgIGlmICghRFZB
UlNfVEVSTUlOQUxfUCh0YmwpKSB7Cj4gKyAgICAgICByZXR1cm4gdGJsLT5wb3M7Cj4gKyAgICB9
Cj4gKyAgICBlbHNlIHsKPiArICAgICAgIHJldHVybiAwOwo+ICsgICAgfQo+ICt9Cj4gKwo+ICtz
dGF0aWMgc3RydWN0IHZ0YWJsZSAqCj4gK3Z0YWJsZV9hbGxvY19nZW4oc3RydWN0IHBhcnNlcl9w
YXJhbXMgKnAsIGludCBsaW5lLCBzdHJ1Y3QgdnRhYmxlICpwcmV2KQo+ICt7Cj4gKyAgICBzdHJ1
Y3QgdnRhYmxlICp0YmwgPSBBTExPQyhzdHJ1Y3QgdnRhYmxlKTsKPiArICAgIHRibC0+cG9zID0g
MDsKPiArICAgIHRibC0+Y2FwYSA9IDg7Cj4gKyAgICB0YmwtPnRibCA9IEFMTE9DX04oSUQsIHRi
bC0+Y2FwYSk7Cj4gKyAgICB0YmwtPnByZXYgPSBwcmV2Owo+ICsjaWZuZGVmIFJJUFBFUgo+ICsg
ICAgaWYgKHAtPmRlYnVnKSB7Cj4gKyAgICAgICByYl9wYXJzZXJfcHJpbnRmKHAsICJ2dGFibGVf
YWxsb2M6JWQ6ICVwXG4iLCBsaW5lLCAodm9pZCAqKXRibCk7Cj4gKyAgICB9Cj4gKyNlbmRpZgo+
ICsgICAgcmV0dXJuIHRibDsKPiArfQo+ICsjZGVmaW5lIHZ0YWJsZV9hbGxvYyhwcmV2KSB2dGFi
bGVfYWxsb2NfZ2VuKHAsIF9fTElORV9fLCBwcmV2KQo+ICsKPiArc3RhdGljIHZvaWQKPiArdnRh
YmxlX2ZyZWVfZ2VuKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBpbnQgbGluZSwgY29uc3QgY2hh
ciAqbmFtZSwKPiArICAgICAgICAgICAgICAgc3RydWN0IHZ0YWJsZSAqdGJsKQo+ICt7Cj4gKyNp
Zm5kZWYgUklQUEVSCj4gKyAgICBpZiAocC0+ZGVidWcpIHsKPiArICAgICAgIHJiX3BhcnNlcl9w
cmludGYocCwgInZ0YWJsZV9mcmVlOiVkOiAlcyglcClcbiIsIGxpbmUsIG5hbWUsICh2b2lkICop
dGJsKTsKPiArICAgIH0KPiArI2VuZGlmCj4gKyAgICBpZiAoIURWQVJTX1RFUk1JTkFMX1AodGJs
KSkgewo+ICsgICAgICAgaWYgKHRibC0+dGJsKSB7Cj4gKyAgICAgICAgICAgcnVieV9zaXplZF94
ZnJlZSh0YmwtPnRibCwgdGJsLT5jYXBhICogc2l6ZW9mKElEKSk7Cj4gKyAgICAgICB9Cj4gKyAg
ICAgICBydWJ5X3NpemVkX3hmcmVlKHRibCwgc2l6ZW9mKHRibCkpOwo+ICsgICAgfQo+ICt9Cj4g
KyNkZWZpbmUgdnRhYmxlX2ZyZWUodGJsKSB2dGFibGVfZnJlZV9nZW4ocCwgX19MSU5FX18sICN0
YmwsIHRibCkKPiArCj4gK3N0YXRpYyB2b2lkCj4gK3Z0YWJsZV9hZGRfZ2VuKHN0cnVjdCBwYXJz
ZXJfcGFyYW1zICpwLCBpbnQgbGluZSwgY29uc3QgY2hhciAqbmFtZSwKPiArICAgICAgICAgICAg
ICBzdHJ1Y3QgdnRhYmxlICp0YmwsIElEIGlkKQo+ICt7Cj4gKyNpZm5kZWYgUklQUEVSCj4gKyAg
ICBpZiAocC0+ZGVidWcpIHsKPiArICAgICAgIHJiX3BhcnNlcl9wcmludGYocCwgInZ0YWJsZV9h
ZGQ6JWQ6ICVzKCVwKSwgJXNcbiIsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUsIG5h
bWUsICh2b2lkICopdGJsLCByYl9pZDJuYW1lKGlkKSk7Cj4gKyAgICB9Cj4gKyNlbmRpZgo+ICsg
ICAgaWYgKERWQVJTX1RFUk1JTkFMX1AodGJsKSkgewo+ICsgICAgICAgcmJfcGFyc2VyX2ZhdGFs
KHAsICJ2dGFibGVfYWRkOiB2dGFibGUgaXMgbm90IGFsbG9jYXRlZCAoJXApIiwgKHZvaWQgKil0
YmwpOwo+ICsgICAgICAgcmV0dXJuOwo+ICsgICAgfQo+ICsgICAgaWYgKHRibC0+cG9zID09IHRi
bC0+Y2FwYSkgewo+ICsgICAgICAgdGJsLT5jYXBhID0gdGJsLT5jYXBhICogMjsKPiArICAgICAg
IFNJWkVEX1JFQUxMT0NfTih0YmwtPnRibCwgSUQsIHRibC0+Y2FwYSwgdGJsLT5wb3MpOwo+ICsg
ICAgfQo+ICsgICAgdGJsLT50YmxbdGJsLT5wb3MrK10gPSBpZDsKPiArfQo+ICsjZGVmaW5lIHZ0
YWJsZV9hZGQodGJsLCBpZCkgdnRhYmxlX2FkZF9nZW4ocCwgX19MSU5FX18sICN0YmwsIHRibCwg
aWQpCj4gKwo+ICsjaWZuZGVmIFJJUFBFUgo+ICtzdGF0aWMgdm9pZAo+ICt2dGFibGVfcG9wX2dl
bihzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgaW50IGxpbmUsIGNvbnN0IGNoYXIgKm5hbWUsCj4g
KyAgICAgICAgICAgICAgc3RydWN0IHZ0YWJsZSAqdGJsLCBpbnQgbikKPiArewo+ICsgICAgaWYg
KHAtPmRlYnVnKSB7Cj4gKyAgICAgICByYl9wYXJzZXJfcHJpbnRmKHAsICJ2dGFibGVfcG9wOiVk
OiAlcyglcCksICVkXG4iLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLCBuYW1lLCAo
dm9pZCAqKXRibCwgbik7Cj4gKyAgICB9Cj4gKyAgICBpZiAodGJsLT5wb3MgPCBuKSB7Cj4gKyAg
ICAgICByYl9wYXJzZXJfZmF0YWwocCwgInZ0YWJsZV9wb3A6IHVucmVhY2hhYmxlICglZCA8ICVk
KSIsIHRibC0+cG9zLCBuKTsKPiArICAgICAgIHJldHVybjsKPiArICAgIH0KPiArICAgIHRibC0+
cG9zIC09IG47Cj4gK30KPiArI2RlZmluZSB2dGFibGVfcG9wKHRibCwgbikgdnRhYmxlX3BvcF9n
ZW4ocCwgX19MSU5FX18sICN0YmwsIHRibCwgbikKPiArI2VuZGlmCj4gKwo+ICtzdGF0aWMgaW50
Cj4gK3Z0YWJsZV9pbmNsdWRlZChjb25zdCBzdHJ1Y3QgdnRhYmxlICogdGJsLCBJRCBpZCkKPiAr
ewo+ICsgICAgaW50IGk7Cj4gKwo+ICsgICAgaWYgKCFEVkFSU19URVJNSU5BTF9QKHRibCkpIHsK
PiArICAgICAgIGZvciAoaSA9IDA7IGkgPCB0YmwtPnBvczsgaSsrKSB7Cj4gKyAgICAgICAgICAg
aWYgKHRibC0+dGJsW2ldID09IGlkKSB7Cj4gKyAgICAgICAgICAgICAgIHJldHVybiBpKzE7Cj4g
KyAgICAgICAgICAgfQo+ICsgICAgICAgfQo+ICsgICAgfQo+ICsgICAgcmV0dXJuIDA7Cj4gK30K
PiArCj4gK3N0YXRpYyB2b2lkIHBhcnNlcl9wcmVwYXJlKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpw
KTsKPiArCj4gKyNpZm5kZWYgUklQUEVSCj4gK3N0YXRpYyBOT0RFICpwYXJzZXJfYXBwZW5kX29w
dGlvbnMoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIE5PREUgKm5vZGUpOwo+ICsKPiArc3RhdGlj
IFZBTFVFCj4gK2RlYnVnX2xpbmVzKFZBTFVFIGZuYW1lKQo+ICt7Cj4gKyAgICBJRCBzY3JpcHRf
bGluZXM7Cj4gKyAgICBDT05TVF9JRChzY3JpcHRfbGluZXMsICJTQ1JJUFRfTElORVNfXyIpOwo+
ICsgICAgaWYgKHJiX2NvbnN0X2RlZmluZWRfYXQocmJfY09iamVjdCwgc2NyaXB0X2xpbmVzKSkg
ewo+ICsgICAgICAgVkFMVUUgaGFzaCA9IHJiX2NvbnN0X2dldF9hdChyYl9jT2JqZWN0LCBzY3Jp
cHRfbGluZXMpOwo+ICsgICAgICAgaWYgKFJCX1RZUEVfUChoYXNoLCBUX0hBU0gpKSB7Cj4gKyAg
ICAgICAgICAgVkFMVUUgbGluZXMgPSByYl9hcnlfbmV3KCk7Cj4gKyAgICAgICAgICAgcmJfaGFz
aF9hc2V0KGhhc2gsIGZuYW1lLCBsaW5lcyk7Cj4gKyAgICAgICAgICAgcmV0dXJuIGxpbmVzOwo+
ICsgICAgICAgfQo+ICsgICAgfQo+ICsgICAgcmV0dXJuIDA7Cj4gK30KPiArCj4gK3N0YXRpYyBp
bnQKPiArZV9vcHRpb25fc3VwcGxpZWQoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnApCj4gK3sKPiAr
ICAgIHJldHVybiBzdHJjbXAocC0+cnVieV9zb3VyY2VmaWxlLCAiLWUiKSA9PSAwOwo+ICt9Cj4g
Kwo+ICtzdGF0aWMgVkFMVUUKPiAreXljb21waWxlMChWQUxVRSBhcmcpCj4gK3sKPiArICAgIGlu
dCBuOwo+ICsgICAgTk9ERSAqdHJlZTsKPiArICAgIHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwID0g
KHN0cnVjdCBwYXJzZXJfcGFyYW1zICopYXJnOwo+ICsgICAgVkFMVUUgY292ID0gUWZhbHNlOwo+
ICsKPiArICAgIGlmICghY29tcGlsZV9mb3JfZXZhbCAmJiByYl9zYWZlX2xldmVsKCkgPT0gMCAm
JiAhTklMX1AocC0+cnVieV9zb3VyY2VmaWxlX3N0cmluZykpIHsKPiArICAgICAgIHAtPmRlYnVn
X2xpbmVzID0gZGVidWdfbGluZXMocC0+cnVieV9zb3VyY2VmaWxlX3N0cmluZyk7Cj4gKyAgICAg
ICBpZiAocC0+ZGVidWdfbGluZXMgJiYgcC0+cnVieV9zb3VyY2VsaW5lID4gMCkgewo+ICsgICAg
ICAgICAgIFZBTFVFIHN0ciA9IFNUUl9ORVcwKCk7Cj4gKyAgICAgICAgICAgbiA9IHAtPnJ1Ynlf
c291cmNlbGluZTsKPiArICAgICAgICAgICBkbyB7Cj4gKyAgICAgICAgICAgICAgIHJiX2FyeV9w
dXNoKHAtPmRlYnVnX2xpbmVzLCBzdHIpOwo+ICsgICAgICAgICAgIH0gd2hpbGUgKC0tbik7Cj4g
KyAgICAgICB9Cj4gKwo+ICsgICAgICAgaWYgKCFlX29wdGlvbl9zdXBwbGllZChwKSkgewo+ICsg
ICAgICAgICAgIGNvdiA9IFF0cnVlOwo+ICsgICAgICAgfQo+ICsgICAgfQo+ICsKPiArICAgIHBh
cnNlcl9wcmVwYXJlKHApOwo+ICsjZGVmaW5lIFJVQllfRFRSQUNFX1BBUlNFX0hPT0sobmFtZSkg
XAo+ICsgICAgaWYgKFJVQllfRFRSQUNFX1BBUlNFXyMjbmFtZSMjX0VOQUJMRUQoKSkgeyBcCj4g
KyAgICAgICBSVUJZX0RUUkFDRV9QQVJTRV8jI25hbWUocC0+cnVieV9zb3VyY2VmaWxlLCBwLT5y
dWJ5X3NvdXJjZWxpbmUpOyBcCj4gKyAgICB9Cj4gKyAgICBSVUJZX0RUUkFDRV9QQVJTRV9IT09L
KEJFR0lOKTsKPiArICAgIG4gPSB5eXBhcnNlKHApOwo+ICsgICAgUlVCWV9EVFJBQ0VfUEFSU0Vf
SE9PSyhFTkQpOwo+ICsgICAgcC0+ZGVidWdfbGluZXMgPSAwOwo+ICsKPiArICAgIHAtPmxleC5z
dHJ0ZXJtID0gMDsKPiArICAgIHAtPmxleC5wY3VyID0gcC0+bGV4LnBiZWcgPSBwLT5sZXgucGVu
ZCA9IDA7Cj4gKyAgICBwLT5sZXgucHJldmxpbmUgPSBwLT5sZXgubGFzdGxpbmUgPSBwLT5sZXgu
bmV4dGxpbmUgPSAwOwo+ICsgICAgaWYgKG4gfHwgcC0+ZXJyb3JfcCkgewo+ICsgICAgICAgVkFM
VUUgbWVzZyA9IHAtPmVycm9yX2J1ZmZlcjsKPiArICAgICAgIGlmICghbWVzZykgewo+ICsgICAg
ICAgICAgIG1lc2cgPSByYl9jbGFzc19uZXdfaW5zdGFuY2UoMCwgMCwgcmJfZVN5bnRheEVycm9y
KTsKPiArICAgICAgIH0KPiArICAgICAgIHJiX3NldF9lcnJpbmZvKG1lc2cpOwo+ICsgICAgICAg
cmV0dXJuIEZBTFNFOwo+ICsgICAgfQo+ICsgICAgdHJlZSA9IHAtPmV2YWxfdHJlZTsKPiArICAg
IGlmICghdHJlZSkgewo+ICsgICAgICAgdHJlZSA9IE5FV19OSUwoJk5VTExfTE9DKTsKPiArICAg
IH0KPiArICAgIGVsc2Ugewo+ICsgICAgICAgVkFMVUUgb3B0ID0gcC0+Y29tcGlsZV9vcHRpb247
Cj4gKyAgICAgICBOT0RFICpwcmVsdWRlOwo+ICsgICAgICAgTk9ERSAqYm9keSA9IHBhcnNlcl9h
cHBlbmRfb3B0aW9ucyhwLCB0cmVlLT5uZF9ib2R5KTsKPiArICAgICAgIGlmICghb3B0KSBvcHQg
PSByYl9vYmpfaGlkZShyYl9pZGVudF9oYXNoX25ldygpKTsKPiArICAgICAgIHJiX2hhc2hfYXNl
dChvcHQsIHJiX3N5bV9pbnRlcm5fYXNjaWlfY3N0cigiY292ZXJhZ2VfZW5hYmxlZCIpLCBjb3Yp
Owo+ICsgICAgICAgcHJlbHVkZSA9IGJsb2NrX2FwcGVuZChwLCBwLT5ldmFsX3RyZWVfYmVnaW4s
IGJvZHkpOwo+ICsgICAgICAgYWRkX21hcmtfb2JqZWN0KHAsIG9wdCk7Cj4gKyAgICAgICB0cmVl
LT5uZF9ib2R5ID0gcHJlbHVkZTsKPiArICAgICAgIHAtPmFzdC0+Ym9keS5jb21waWxlX29wdGlv
biA9IG9wdDsKPiArICAgIH0KPiArICAgIHAtPmFzdC0+Ym9keS5yb290ID0gdHJlZTsKPiArICAg
IHAtPmFzdC0+Ym9keS5saW5lX2NvdW50ID0gcC0+bGluZV9jb3VudDsKPiArICAgIHJldHVybiBU
UlVFOwo+ICt9Cj4gKwo+ICtzdGF0aWMgcmJfYXN0X3QgKgo+ICt5eWNvbXBpbGUoVkFMVUUgdnBh
cnNlciwgc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIFZBTFVFIGZuYW1lLCBpbnQgbGluZSkKPiAr
ewo+ICsgICAgcmJfYXN0X3QgKmFzdDsKPiArICAgIGlmIChOSUxfUChmbmFtZSkpIHsKPiArICAg
ICAgIHAtPnJ1Ynlfc291cmNlZmlsZV9zdHJpbmcgPSBRbmlsOwo+ICsgICAgICAgcC0+cnVieV9z
b3VyY2VmaWxlID0gIihub25lKSI7Cj4gKyAgICB9Cj4gKyAgICBlbHNlIHsKPiArICAgICAgIHAt
PnJ1Ynlfc291cmNlZmlsZV9zdHJpbmcgPSByYl9mc3RyaW5nKGZuYW1lKTsKPiArICAgICAgIHAt
PnJ1Ynlfc291cmNlZmlsZSA9IFN0cmluZ1ZhbHVlQ1N0cihmbmFtZSk7Cj4gKyAgICB9Cj4gKyAg
ICBwLT5ydWJ5X3NvdXJjZWxpbmUgPSBsaW5lIC0gMTsKPiArCj4gKyAgICBwLT5hc3QgPSBhc3Qg
PSByYl9hc3RfbmV3KCk7Cj4gKyAgICByYl9zdXBwcmVzc190cmFjaW5nKHl5Y29tcGlsZTAsIChW
QUxVRSlwKTsKPiArICAgIHAtPmFzdCA9IDA7Cj4gKyAgICBSQl9HQ19HVUFSRCh2cGFyc2VyKTsg
LyogcHJvaGliaXQgdGFpbCBjYWxsIG9wdGltaXphdGlvbiAqLwo+ICsKPiArICAgIHJldHVybiBh
c3Q7Cj4gK30KPiArI2VuZGlmIC8qICFSSVBQRVIgKi8KPiArCj4gK3N0YXRpYyByYl9lbmNvZGlu
ZyAqCj4gK211c3RfYmVfYXNjaWlfY29tcGF0aWJsZShWQUxVRSBzKQo+ICt7Cj4gKyAgICByYl9l
bmNvZGluZyAqZW5jID0gcmJfZW5jX2dldChzKTsKPiArICAgIGlmICghcmJfZW5jX2FzY2lpY29t
cGF0KGVuYykpIHsKPiArICAgICAgIHJiX3JhaXNlKHJiX2VBcmdFcnJvciwgImludmFsaWQgc291
cmNlIGVuY29kaW5nIik7Cj4gKyAgICB9Cj4gKyAgICByZXR1cm4gZW5jOwo+ICt9Cj4gKwo+ICtz
dGF0aWMgVkFMVUUKPiArbGV4X2dldF9zdHIoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIFZBTFVF
IHMpCj4gK3sKPiArICAgIGNoYXIgKmJlZywgKmVuZCwgKnN0YXJ0Owo+ICsgICAgbG9uZyBsZW47
Cj4gKwo+ICsgICAgYmVnID0gUlNUUklOR19QVFIocyk7Cj4gKyAgICBsZW4gPSBSU1RSSU5HX0xF
TihzKTsKPiArICAgIHN0YXJ0ID0gYmVnOwo+ICsgICAgaWYgKHAtPmxleC5nZXRzXy5wdHIpIHsK
PiArICAgICAgIGlmIChsZW4gPT0gcC0+bGV4LmdldHNfLnB0cikgcmV0dXJuIFFuaWw7Cj4gKyAg
ICAgICBiZWcgKz0gcC0+bGV4LmdldHNfLnB0cjsKPiArICAgICAgIGxlbiAtPSBwLT5sZXguZ2V0
c18ucHRyOwo+ICsgICAgfQo+ICsgICAgZW5kID0gbWVtY2hyKGJlZywgJ1xuJywgbGVuKTsKPiAr
ICAgIGlmIChlbmQpIGxlbiA9ICsrZW5kIC0gYmVnOwo+ICsgICAgcC0+bGV4LmdldHNfLnB0ciAr
PSBsZW47Cj4gKyAgICByZXR1cm4gcmJfc3RyX3N1YnNlcShzLCBiZWcgLSBzdGFydCwgbGVuKTsK
PiArfQo+ICsKPiArc3RhdGljIFZBTFVFCj4gK2xleF9nZXRsaW5lKHN0cnVjdCBwYXJzZXJfcGFy
YW1zICpwKQo+ICt7Cj4gKyAgICBWQUxVRSBsaW5lID0gKCpwLT5sZXguZ2V0cykocCwgcC0+bGV4
LmlucHV0KTsKPiArICAgIGlmIChOSUxfUChsaW5lKSkgcmV0dXJuIGxpbmU7Cj4gKyAgICBtdXN0
X2JlX2FzY2lpX2NvbXBhdGlibGUobGluZSk7Cj4gKyNpZm5kZWYgUklQUEVSCj4gKyAgICBpZiAo
cC0+ZGVidWdfbGluZXMpIHsKPiArICAgICAgIHJiX2VuY19hc3NvY2lhdGUobGluZSwgcC0+ZW5j
KTsKPiArICAgICAgIHJiX2FyeV9wdXNoKHAtPmRlYnVnX2xpbmVzLCBsaW5lKTsKPiArICAgIH0K
PiArI2VuZGlmCj4gKyAgICBwLT5saW5lX2NvdW50Kys7Cj4gKyAgICByZXR1cm4gbGluZTsKPiAr
fQo+ICsKPiArc3RhdGljIGNvbnN0IHJiX2RhdGFfdHlwZV90IHBhcnNlcl9kYXRhX3R5cGU7Cj4g
Kwo+ICsjaWZuZGVmIFJJUFBFUgo+ICtzdGF0aWMgcmJfYXN0X3QqCj4gK3BhcnNlcl9jb21waWxl
X3N0cmluZyhWQUxVRSB2cGFyc2VyLCBWQUxVRSBmbmFtZSwgVkFMVUUgcywgaW50IGxpbmUpCj4g
K3sKPiArICAgIHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwOwo+ICsKPiArICAgIFR5cGVkRGF0YV9H
ZXRfU3RydWN0KHZwYXJzZXIsIHN0cnVjdCBwYXJzZXJfcGFyYW1zLCAmcGFyc2VyX2RhdGFfdHlw
ZSwgcCk7Cj4gKwo+ICsgICAgcC0+bGV4LmdldHMgPSBsZXhfZ2V0X3N0cjsKPiArICAgIHAtPmxl
eC5nZXRzXy5wdHIgPSAwOwo+ICsgICAgcC0+bGV4LmlucHV0ID0gcmJfc3RyX25ld19mcm96ZW4o
cyk7Cj4gKyAgICBwLT5sZXgucGJlZyA9IHAtPmxleC5wY3VyID0gcC0+bGV4LnBlbmQgPSAwOwo+
ICsKPiArICAgIHJldHVybiB5eWNvbXBpbGUodnBhcnNlciwgcCwgZm5hbWUsIGxpbmUpOwo+ICt9
Cj4gKwo+ICtyYl9hc3RfdCoKPiArcmJfY29tcGlsZV9zdHJpbmcoY29uc3QgY2hhciAqZiwgVkFM
VUUgcywgaW50IGxpbmUpCj4gK3sKPiArICAgIG11c3RfYmVfYXNjaWlfY29tcGF0aWJsZShzKTsK
PiArICAgIHJldHVybiBwYXJzZXJfY29tcGlsZV9zdHJpbmcocmJfcGFyc2VyX25ldygpLCByYl9m
aWxlc3lzdGVtX3N0cl9uZXdfY3N0cihmKSwgcywgbGluZSk7Cj4gK30KPiArCj4gK3JiX2FzdF90
Kgo+ICtyYl9wYXJzZXJfY29tcGlsZV9zdHJpbmcoVkFMVUUgdnBhcnNlciwgY29uc3QgY2hhciAq
ZiwgVkFMVUUgcywgaW50IGxpbmUpCj4gK3sKPiArICAgIHJldHVybiByYl9wYXJzZXJfY29tcGls
ZV9zdHJpbmdfcGF0aCh2cGFyc2VyLCByYl9maWxlc3lzdGVtX3N0cl9uZXdfY3N0cihmKSwgcywg
bGluZSk7Cj4gK30KPiArCj4gK3JiX2FzdF90Kgo+ICtyYl9wYXJzZXJfY29tcGlsZV9zdHJpbmdf
cGF0aChWQUxVRSB2cGFyc2VyLCBWQUxVRSBmLCBWQUxVRSBzLCBpbnQgbGluZSkKPiArewo+ICsg
ICAgbXVzdF9iZV9hc2NpaV9jb21wYXRpYmxlKHMpOwo+ICsgICAgcmV0dXJuIHBhcnNlcl9jb21w
aWxlX3N0cmluZyh2cGFyc2VyLCBmLCBzLCBsaW5lKTsKPiArfQo+ICsKPiArcmJfYXN0X3QqCj4g
K3JiX2NvbXBpbGVfY3N0cihjb25zdCBjaGFyICpmLCBjb25zdCBjaGFyICpzLCBpbnQgbGVuLCBp
bnQgbGluZSkKPiArewo+ICsgICAgVkFMVUUgc3RyID0gcmJfc3RyX25ldyhzLCBsZW4pOwo+ICsg
ICAgcmV0dXJuIHBhcnNlcl9jb21waWxlX3N0cmluZyhyYl9wYXJzZXJfbmV3KCksIHJiX2ZpbGVz
eXN0ZW1fc3RyX25ld19jc3RyKGYpLCBzdHIsIGxpbmUpOwo+ICt9Cj4gKwo+ICtyYl9hc3RfdCoK
PiArcmJfcGFyc2VyX2NvbXBpbGVfY3N0cihWQUxVRSB2cGFyc2VyLCBjb25zdCBjaGFyICpmLCBj
b25zdCBjaGFyICpzLCBpbnQgbGVuLCBpbnQgbGluZSkKPiArewo+ICsgICAgVkFMVUUgc3RyID0g
cmJfc3RyX25ldyhzLCBsZW4pOwo+ICsgICAgcmV0dXJuIHBhcnNlcl9jb21waWxlX3N0cmluZyh2
cGFyc2VyLCByYl9maWxlc3lzdGVtX3N0cl9uZXdfY3N0cihmKSwgc3RyLCBsaW5lKTsKPiArfQo+
ICsKPiArVkFMVUUgcmJfaW9fZ2V0c19pbnRlcm5hbChWQUxVRSBpbyk7Cj4gKwo+ICtzdGF0aWMg
VkFMVUUKPiArbGV4X2lvX2dldHMoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIFZBTFVFIGlvKQo+
ICt7Cj4gKyAgICByZXR1cm4gcmJfaW9fZ2V0c19pbnRlcm5hbChpbyk7Cj4gK30KPiArCj4gK3Ji
X2FzdF90Kgo+ICtyYl9jb21waWxlX2ZpbGUoY29uc3QgY2hhciAqZiwgVkFMVUUgZmlsZSwgaW50
IHN0YXJ0KQo+ICt7Cj4gKyAgICBWQUxVRSB2cGFyc2VyID0gcmJfcGFyc2VyX25ldygpOwo+ICsK
PiArICAgIHJldHVybiByYl9wYXJzZXJfY29tcGlsZV9maWxlKHZwYXJzZXIsIGYsIGZpbGUsIHN0
YXJ0KTsKPiArfQo+ICsKPiArcmJfYXN0X3QqCj4gK3JiX3BhcnNlcl9jb21waWxlX2ZpbGUoVkFM
VUUgdnBhcnNlciwgY29uc3QgY2hhciAqZiwgVkFMVUUgZmlsZSwgaW50IHN0YXJ0KQo+ICt7Cj4g
KyAgICByZXR1cm4gcmJfcGFyc2VyX2NvbXBpbGVfZmlsZV9wYXRoKHZwYXJzZXIsIHJiX2ZpbGVz
eXN0ZW1fc3RyX25ld19jc3RyKGYpLCBmaWxlLCBzdGFydCk7Cj4gK30KPiArCj4gK3JiX2FzdF90
Kgo+ICtyYl9wYXJzZXJfY29tcGlsZV9maWxlX3BhdGgoVkFMVUUgdnBhcnNlciwgVkFMVUUgZm5h
bWUsIFZBTFVFIGZpbGUsIGludCBzdGFydCkKPiArewo+ICsgICAgc3RydWN0IHBhcnNlcl9wYXJh
bXMgKnA7Cj4gKwo+ICsgICAgVHlwZWREYXRhX0dldF9TdHJ1Y3QodnBhcnNlciwgc3RydWN0IHBh
cnNlcl9wYXJhbXMsICZwYXJzZXJfZGF0YV90eXBlLCBwKTsKPiArCj4gKyAgICBwLT5sZXguZ2V0
cyA9IGxleF9pb19nZXRzOwo+ICsgICAgcC0+bGV4LmlucHV0ID0gZmlsZTsKPiArICAgIHAtPmxl
eC5wYmVnID0gcC0+bGV4LnBjdXIgPSBwLT5sZXgucGVuZCA9IDA7Cj4gKwo+ICsgICAgcmV0dXJu
IHl5Y29tcGlsZSh2cGFyc2VyLCBwLCBmbmFtZSwgc3RhcnQpOwo+ICt9Cj4gKwo+ICtzdGF0aWMg
VkFMVUUKPiArbGV4X2dlbmVyaWNfZ2V0cyhzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgVkFMVUUg
aW5wdXQpCj4gK3sKPiArICAgIHJldHVybiAoKnAtPmxleC5nZXRzXy5jYWxsKShpbnB1dCwgcC0+
bGluZV9jb3VudCk7Cj4gK30KPiArCj4gK3JiX2FzdF90Kgo+ICtyYl9wYXJzZXJfY29tcGlsZV9n
ZW5lcmljKFZBTFVFIHZwYXJzZXIsIFZBTFVFICgqbGV4X2dldHMpKFZBTFVFLCBpbnQpLCBWQUxV
RSBmbmFtZSwgVkFMVUUgaW5wdXQsIGludCBzdGFydCkKPiArewo+ICsgICAgc3RydWN0IHBhcnNl
cl9wYXJhbXMgKnA7Cj4gKwo+ICsgICAgVHlwZWREYXRhX0dldF9TdHJ1Y3QodnBhcnNlciwgc3Ry
dWN0IHBhcnNlcl9wYXJhbXMsICZwYXJzZXJfZGF0YV90eXBlLCBwKTsKPiArCj4gKyAgICBwLT5s
ZXguZ2V0cyA9IGxleF9nZW5lcmljX2dldHM7Cj4gKyAgICBwLT5sZXguZ2V0c18uY2FsbCA9IGxl
eF9nZXRzOwo+ICsgICAgcC0+bGV4LmlucHV0ID0gaW5wdXQ7Cj4gKyAgICBwLT5sZXgucGJlZyA9
IHAtPmxleC5wY3VyID0gcC0+bGV4LnBlbmQgPSAwOwo+ICsKPiArICAgIHJldHVybiB5eWNvbXBp
bGUodnBhcnNlciwgcCwgZm5hbWUsIHN0YXJ0KTsKPiArfQo+ICsjZW5kaWYgIC8qICFSSVBQRVIg
Ki8KPiArCj4gKyNkZWZpbmUgU1RSX0ZVTkNfRVNDQVBFIDB4MDEKPiArI2RlZmluZSBTVFJfRlVO
Q19FWFBBTkQgMHgwMgo+ICsjZGVmaW5lIFNUUl9GVU5DX1JFR0VYUCAweDA0Cj4gKyNkZWZpbmUg
U1RSX0ZVTkNfUVdPUkRTIDB4MDgKPiArI2RlZmluZSBTVFJfRlVOQ19TWU1CT0wgMHgxMAo+ICsj
ZGVmaW5lIFNUUl9GVU5DX0lOREVOVCAweDIwCj4gKyNkZWZpbmUgU1RSX0ZVTkNfTEFCRUwgIDB4
NDAKPiArI2RlZmluZSBTVFJfRlVOQ19MSVNUICAgMHg0MDAwCj4gKyNkZWZpbmUgU1RSX0ZVTkNf
VEVSTSAgIDB4ODAwMAo+ICsKPiArZW51bSBzdHJpbmdfdHlwZSB7Cj4gKyAgICBzdHJfbGFiZWwg
ID0gU1RSX0ZVTkNfTEFCRUwsCj4gKyAgICBzdHJfc3F1b3RlID0gKDApLAo+ICsgICAgc3RyX2Rx
dW90ZSA9IChTVFJfRlVOQ19FWFBBTkQpLAo+ICsgICAgc3RyX3hxdW90ZSA9IChTVFJfRlVOQ19F
WFBBTkQpLAo+ICsgICAgc3RyX3JlZ2V4cCA9IChTVFJfRlVOQ19SRUdFWFB8U1RSX0ZVTkNfRVND
QVBFfFNUUl9GVU5DX0VYUEFORCksCj4gKyAgICBzdHJfc3dvcmQgID0gKFNUUl9GVU5DX1FXT1JE
U3xTVFJfRlVOQ19MSVNUKSwKPiArICAgIHN0cl9kd29yZCAgPSAoU1RSX0ZVTkNfUVdPUkRTfFNU
Ul9GVU5DX0VYUEFORHxTVFJfRlVOQ19MSVNUKSwKPiArICAgIHN0cl9zc3ltICAgPSAoU1RSX0ZV
TkNfU1lNQk9MKSwKPiArICAgIHN0cl9kc3ltICAgPSAoU1RSX0ZVTkNfU1lNQk9MfFNUUl9GVU5D
X0VYUEFORCkKPiArfTsKPiArCj4gK3N0YXRpYyBWQUxVRQo+ICtwYXJzZXJfc3RyX25ldyhjb25z
dCBjaGFyICpwdHIsIGxvbmcgbGVuLCByYl9lbmNvZGluZyAqZW5jLCBpbnQgZnVuYywgcmJfZW5j
b2RpbmcgKmVuYzApCj4gK3sKPiArICAgIFZBTFVFIHN0cjsKPiArCj4gKyAgICBzdHIgPSByYl9l
bmNfc3RyX25ldyhwdHIsIGxlbiwgZW5jKTsKPiArICAgIGlmICghKGZ1bmMgJiBTVFJfRlVOQ19S
RUdFWFApICYmIHJiX2VuY19hc2NpaWNvbXBhdChlbmMpKSB7Cj4gKyAgICAgICBpZiAocmJfZW5j
X3N0cl9jb2RlcmFuZ2Uoc3RyKSA9PSBFTkNfQ09ERVJBTkdFXzdCSVQpIHsKPiArICAgICAgIH0K
PiArICAgICAgIGVsc2UgaWYgKGVuYzAgPT0gcmJfdXNhc2NpaV9lbmNvZGluZygpICYmIGVuYyAh
PSByYl91dGY4X2VuY29kaW5nKCkpIHsKPiArICAgICAgICAgICByYl9lbmNfYXNzb2NpYXRlKHN0
ciwgcmJfYXNjaWk4Yml0X2VuY29kaW5nKCkpOwo+ICsgICAgICAgfQo+ICsgICAgfQo+ICsKPiAr
ICAgIHJldHVybiBzdHI7Cj4gK30KPiArCj4gKyNkZWZpbmUgbGV4X2dvdG9fZW9sKHApICgocCkt
PmxleC5wY3VyID0gKHApLT5sZXgucGVuZCkKPiArI2RlZmluZSBsZXhfZW9sX3AocCkgKChwKS0+
bGV4LnBjdXIgPj0gKHApLT5sZXgucGVuZCkKPiArI2RlZmluZSBsZXhfZW9sX25fcChwLG4pICgo
cCktPmxleC5wY3VyKyhuKSA+PSAocCktPmxleC5wZW5kKQo+ICsjZGVmaW5lIHBlZWsocCxjKSBw
ZWVrX24ocCwgKGMpLCAwKQo+ICsjZGVmaW5lIHBlZWtfbihwLGMsbikgKCFsZXhfZW9sX25fcChw
LCBuKSAmJiAoYykgPT0gKHVuc2lnbmVkIGNoYXIpKHApLT5sZXgucGN1cltuXSkKPiArI2RlZmlu
ZSBwZWVrYyhwKSBwZWVrY19uKHAsIDApCj4gKyNkZWZpbmUgcGVla2NfbihwLG4pIChsZXhfZW9s
X25fcChwLCBuKSA/IC0xIDogKHVuc2lnbmVkIGNoYXIpKHApLT5sZXgucGN1cltuXSkKPiArCj4g
KyNpZmRlZiBSSVBQRVIKPiArc3RhdGljIHZvaWQKPiArYWRkX2RlbGF5ZWRfdG9rZW4oc3RydWN0
IHBhcnNlcl9wYXJhbXMgKnAsIGNvbnN0IGNoYXIgKnRvaywgY29uc3QgY2hhciAqZW5kKQo+ICt7
Cj4gKyAgICBpZiAodG9rIDwgZW5kKSB7Cj4gKyAgICAgICBpZiAoIWhhc19kZWxheWVkX3Rva2Vu
KHApKSB7Cj4gKyAgICAgICAgICAgcC0+ZGVsYXllZCA9IHJiX3N0cl9idWZfbmV3KDEwMjQpOwo+
ICsgICAgICAgICAgIHJiX2VuY19hc3NvY2lhdGUocC0+ZGVsYXllZCwgcC0+ZW5jKTsKPiArICAg
ICAgICAgICBwLT5kZWxheWVkX2xpbmUgPSBwLT5ydWJ5X3NvdXJjZWxpbmU7Cj4gKyAgICAgICAg
ICAgcC0+ZGVsYXllZF9jb2wgPSAoaW50KSh0b2sgLSBwLT5sZXgucGJlZyk7Cj4gKyAgICAgICB9
Cj4gKyAgICAgICByYl9zdHJfYnVmX2NhdChwLT5kZWxheWVkLCB0b2ssIGVuZCAtIHRvayk7Cj4g
KyAgICAgICBwLT5sZXgucHRvayA9IGVuZDsKPiArICAgIH0KPiArfQo+ICsjZWxzZQo+ICsjZGVm
aW5lIGFkZF9kZWxheWVkX3Rva2VuKHAsIHRvaywgZW5kKSAoKHZvaWQpKHRvayksICh2b2lkKShl
bmQpKQo+ICsjZW5kaWYKPiArCj4gK3N0YXRpYyBpbnQKPiArbmV4dGxpbmUoc3RydWN0IHBhcnNl
cl9wYXJhbXMgKnApCj4gK3sKPiArICAgIFZBTFVFIHYgPSBwLT5sZXgubmV4dGxpbmU7Cj4gKyAg
ICBwLT5sZXgubmV4dGxpbmUgPSAwOwo+ICsgICAgaWYgKCF2KSB7Cj4gKyAgICAgICBpZiAocC0+
ZW9mcCkKPiArICAgICAgICAgICByZXR1cm4gLTE7Cj4gKwo+ICsgICAgICAgaWYgKCFwLT5sZXgu
aW5wdXQgfHwgTklMX1AodiA9IGxleF9nZXRsaW5lKHApKSkgewo+ICsgICAgICAgICAgIHAtPmVv
ZnAgPSAxOwo+ICsgICAgICAgICAgIGxleF9nb3RvX2VvbChwKTsKPiArICAgICAgICAgICByZXR1
cm4gLTE7Cj4gKyAgICAgICB9Cj4gKyAgICAgICBwLT5jcl9zZWVuID0gRkFMU0U7Cj4gKyAgICB9
Cj4gKyAgICBhZGRfZGVsYXllZF90b2tlbihwLCBwLT5sZXgucHRvaywgcC0+bGV4LnBlbmQpOwo+
ICsgICAgaWYgKHAtPmhlcmVkb2NfZW5kID4gMCkgewo+ICsgICAgICAgcC0+cnVieV9zb3VyY2Vs
aW5lID0gcC0+aGVyZWRvY19lbmQ7Cj4gKyAgICAgICBwLT5oZXJlZG9jX2VuZCA9IDA7Cj4gKyAg
ICB9Cj4gKyAgICBwLT5ydWJ5X3NvdXJjZWxpbmUrKzsKPiArICAgIHAtPmxleC5wYmVnID0gcC0+
bGV4LnBjdXIgPSBSU1RSSU5HX1BUUih2KTsKPiArICAgIHAtPmxleC5wZW5kID0gcC0+bGV4LnBj
dXIgKyBSU1RSSU5HX0xFTih2KTsKPiArICAgIHRva2VuX2ZsdXNoKHApOwo+ICsgICAgcC0+bGV4
LnByZXZsaW5lID0gcC0+bGV4Lmxhc3RsaW5lOwo+ICsgICAgcC0+bGV4Lmxhc3RsaW5lID0gdjsK
PiArICAgIHJldHVybiAwOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50Cj4gK3BhcnNlcl9jcihzdHJ1
Y3QgcGFyc2VyX3BhcmFtcyAqcCwgaW50IGMpCj4gK3sKPiArICAgIGlmIChwZWVrKHAsICdcbicp
KSB7Cj4gKyAgICAgICBwLT5sZXgucGN1cisrOwo+ICsgICAgICAgYyA9ICdcbic7Cj4gKyAgICB9
Cj4gKyAgICBlbHNlIGlmICghcC0+Y3Jfc2Vlbikgewo+ICsgICAgICAgcC0+Y3Jfc2VlbiA9IFRS
VUU7Cj4gKyAgICAgICAvKiBjYXJyaWVkIG92ZXIgd2l0aCBwLT5sZXgubmV4dGxpbmUgZm9yIG5l
eHRjKCkgKi8KPiArICAgICAgIHJiX3dhcm4wKCJlbmNvdW50ZXJlZCBcXHIgaW4gbWlkZGxlIG9m
IGxpbmUsIHRyZWF0ZWQgYXMgYSBtZXJlIHNwYWNlIik7Cj4gKyAgICB9Cj4gKyAgICByZXR1cm4g
YzsKPiArfQo+ICsKPiArc3RhdGljIGlubGluZSBpbnQKPiArbmV4dGMoc3RydWN0IHBhcnNlcl9w
YXJhbXMgKnApCj4gK3sKPiArICAgIGludCBjOwo+ICsKPiArICAgIGlmIChVTkxJS0VMWSgocC0+
bGV4LnBjdXIgPT0gcC0+bGV4LnBlbmQpIHx8IHAtPmVvZnAgfHwgcC0+bGV4Lm5leHRsaW5lKSkg
ewo+ICsgICAgICAgaWYgKG5leHRsaW5lKHApKSByZXR1cm4gLTE7Cj4gKyAgICB9Cj4gKyAgICBj
ID0gKHVuc2lnbmVkIGNoYXIpKnAtPmxleC5wY3VyKys7Cj4gKyAgICBpZiAoVU5MSUtFTFkoYyA9
PSAnXHInKSkgewo+ICsgICAgICAgYyA9IHBhcnNlcl9jcihwLCBjKTsKPiArICAgIH0KPiArCj4g
KyAgICByZXR1cm4gYzsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQKPiArcHVzaGJhY2soc3RydWN0
IHBhcnNlcl9wYXJhbXMgKnAsIGludCBjKQo+ICt7Cj4gKyAgICBpZiAoYyA9PSAtMSkgcmV0dXJu
Owo+ICsgICAgcC0+bGV4LnBjdXItLTsKPiArICAgIGlmIChwLT5sZXgucGN1ciA+IHAtPmxleC5w
YmVnICYmIHAtPmxleC5wY3VyWzBdID09ICdcbicgJiYgcC0+bGV4LnBjdXJbLTFdID09ICdccicp
IHsKPiArICAgICAgIHAtPmxleC5wY3VyLS07Cj4gKyAgICB9Cj4gK30KPiArCj4gKyNkZWZpbmUg
d2FzX2JvbChwKSAoKHApLT5sZXgucGN1ciA9PSAocCktPmxleC5wYmVnICsgMSkKPiArCj4gKyNk
ZWZpbmUgdG9rZml4KHApICgocCktPnRva2VuYnVmWyhwKS0+dG9raWR4XT0nXDAnKQo+ICsjZGVm
aW5lIHRvayhwKSAocCktPnRva2VuYnVmCj4gKyNkZWZpbmUgdG9rbGVuKHApIChwKS0+dG9raWR4
Cj4gKwo+ICtzdGF0aWMgY2hhcioKPiArbmV3dG9rKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwKQo+
ICt7Cj4gKyAgICBwLT50b2tpZHggPSAwOwo+ICsgICAgcC0+dG9rbGluZSA9IHAtPnJ1Ynlfc291
cmNlbGluZTsKPiArICAgIGlmICghcC0+dG9rZW5idWYpIHsKPiArICAgICAgIHAtPnRva3NpeiA9
IDYwOwo+ICsgICAgICAgcC0+dG9rZW5idWYgPSBBTExPQ19OKGNoYXIsIDYwKTsKPiArICAgIH0K
PiArICAgIGlmIChwLT50b2tzaXogPiA0MDk2KSB7Cj4gKyAgICAgICBwLT50b2tzaXogPSA2MDsK
PiArICAgICAgIFJFQUxMT0NfTihwLT50b2tlbmJ1ZiwgY2hhciwgNjApOwo+ICsgICAgfQo+ICsg
ICAgcmV0dXJuIHAtPnRva2VuYnVmOwo+ICt9Cj4gKwo+ICtzdGF0aWMgY2hhciAqCj4gK3Rva3Nw
YWNlKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBpbnQgbikKPiArewo+ICsgICAgcC0+dG9raWR4
ICs9IG47Cj4gKwo+ICsgICAgaWYgKHAtPnRva2lkeCA+PSBwLT50b2tzaXopIHsKPiArICAgICAg
IGRvIHtwLT50b2tzaXogKj0gMjt9IHdoaWxlIChwLT50b2tzaXogPCBwLT50b2tpZHgpOwo+ICsg
ICAgICAgUkVBTExPQ19OKHAtPnRva2VuYnVmLCBjaGFyLCBwLT50b2tzaXopOwo+ICsgICAgfQo+
ICsgICAgcmV0dXJuICZwLT50b2tlbmJ1ZltwLT50b2tpZHgtbl07Cj4gK30KPiArCj4gK3N0YXRp
YyB2b2lkCj4gK3Rva2FkZChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgaW50IGMpCj4gK3sKPiAr
ICAgIHAtPnRva2VuYnVmW3AtPnRva2lkeCsrXSA9IChjaGFyKWM7Cj4gKyAgICBpZiAocC0+dG9r
aWR4ID49IHAtPnRva3Npeikgewo+ICsgICAgICAgcC0+dG9rc2l6ICo9IDI7Cj4gKyAgICAgICBS
RUFMTE9DX04ocC0+dG9rZW5idWYsIGNoYXIsIHAtPnRva3Npeik7Cj4gKyAgICB9Cj4gK30KPiAr
Cj4gK3N0YXRpYyBpbnQKPiArdG9rX2hleChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgc2l6ZV90
ICpudW1sZW4pCj4gK3sKPiArICAgIGludCBjOwo+ICsKPiArICAgIGMgPSBzY2FuX2hleChwLT5s
ZXgucGN1ciwgMiwgbnVtbGVuKTsKPiArICAgIGlmICghKm51bWxlbikgewo+ICsgICAgICAgcC0+
bGV4LnB0b2sgPSBwLT5sZXgucGN1cjsKPiArICAgICAgIHl5ZXJyb3IwKCJpbnZhbGlkIGhleCBl
c2NhcGUiKTsKPiArICAgICAgIHJldHVybiAwOwo+ICsgICAgfQo+ICsgICAgcC0+bGV4LnBjdXIg
Kz0gKm51bWxlbjsKPiArICAgIHJldHVybiBjOwo+ICt9Cj4gKwo+ICsjZGVmaW5lIHRva2NvcHko
cCwgbikgbWVtY3B5KHRva3NwYWNlKHAsIG4pLCAocCktPmxleC5wY3VyIC0gKG4pLCAobikpCj4g
Kwo+ICtzdGF0aWMgaW50Cj4gK3Rva2FkZF9jb2RlcG9pbnQoc3RydWN0IHBhcnNlcl9wYXJhbXMg
KnAsIHJiX2VuY29kaW5nICoqZW5jcCwKPiArICAgICAgICAgICAgICAgIGludCByZWdleHBfbGl0
ZXJhbCwgaW50IHdpZGUpCj4gK3sKPiArICAgIHNpemVfdCBudW1sZW47Cj4gKyAgICBpbnQgY29k
ZXBvaW50ID0gc2Nhbl9oZXgocC0+bGV4LnBjdXIsIHdpZGUgPyBwLT5sZXgucGVuZCAtIHAtPmxl
eC5wY3VyIDogNCwgJm51bWxlbik7Cj4gKyAgICBsaXRlcmFsX2ZsdXNoKHAsIHAtPmxleC5wY3Vy
KTsKPiArICAgIHAtPmxleC5wY3VyICs9IG51bWxlbjsKPiArICAgIGlmICh3aWRlID8gKG51bWxl
biA9PSAwIHx8IG51bWxlbiA+IDYpIDogKG51bWxlbiA8IDQpKSAgewo+ICsgICAgICAgeXllcnJv
cjAoImludmFsaWQgVW5pY29kZSBlc2NhcGUiKTsKPiArICAgICAgIHJldHVybiB3aWRlICYmIG51
bWxlbiA+IDA7Cj4gKyAgICB9Cj4gKyAgICBpZiAoY29kZXBvaW50ID4gMHgxMGZmZmYpIHsKPiAr
ICAgICAgIHl5ZXJyb3IwKCJpbnZhbGlkIFVuaWNvZGUgY29kZXBvaW50ICh0b28gbGFyZ2UpIik7
Cj4gKyAgICAgICByZXR1cm4gd2lkZTsKPiArICAgIH0KPiArICAgIGlmICgoY29kZXBvaW50ICYg
MHhmZmZmZjgwMCkgPT0gMHhkODAwKSB7Cj4gKyAgICAgICB5eWVycm9yMCgiaW52YWxpZCBVbmlj
b2RlIGNvZGVwb2ludCIpOwo+ICsgICAgICAgcmV0dXJuIHdpZGU7Cj4gKyAgICB9Cj4gKyAgICBp
ZiAocmVnZXhwX2xpdGVyYWwpIHsKPiArICAgICAgIHRva2NvcHkocCwgKGludCludW1sZW4pOwo+
ICsgICAgfQo+ICsgICAgZWxzZSBpZiAoY29kZXBvaW50ID49IDB4ODApIHsKPiArICAgICAgIHJi
X2VuY29kaW5nICp1dGY4ID0gcmJfdXRmOF9lbmNvZGluZygpOwo+ICsgICAgICAgaWYgKCplbmNw
ICYmIHV0ZjggIT0gKmVuY3ApIHsKPiArICAgICAgICAgICBzdGF0aWMgY29uc3QgY2hhciBtaXhl
ZF91dGY4W10gPSAiVVRGLTggbWl4ZWQgd2l0aGluICVzIHNvdXJjZSI7Cj4gKyAgICAgICAgICAg
c2l6ZV90IGxlbiA9IHNpemVvZihtaXhlZF91dGY4KSAtIDIgKyBzdHJsZW4ocmJfZW5jX25hbWUo
KmVuY3ApKTsKPiArICAgICAgICAgICBjaGFyICptZXNnID0gYWxsb2NhKGxlbik7Cj4gKyAgICAg
ICAgICAgc25wcmludGYobWVzZywgbGVuLCBtaXhlZF91dGY4LCByYl9lbmNfbmFtZSgqZW5jcCkp
Owo+ICsgICAgICAgICAgIHl5ZXJyb3IwKG1lc2cpOwo+ICsgICAgICAgICAgIHJldHVybiB3aWRl
Owo+ICsgICAgICAgfQo+ICsgICAgICAgKmVuY3AgPSB1dGY4Owo+ICsgICAgICAgdG9rYWRkbWJj
KHAsIGNvZGVwb2ludCwgKmVuY3ApOwo+ICsgICAgfQo+ICsgICAgZWxzZSB7Cj4gKyAgICAgICB0
b2thZGQocCwgY29kZXBvaW50KTsKPiArICAgIH0KPiArICAgIHJldHVybiBUUlVFOwo+ICt9Cj4g
Kwo+ICsvKiByZXR1cm4gdmFsdWUgaXMgZm9yID9cdTMwNDIgKi8KPiArc3RhdGljIGludAo+ICtw
YXJzZXJfdG9rYWRkX3V0Zjgoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIHJiX2VuY29kaW5nICoq
ZW5jcCwKPiArICAgICAgICAgICAgICAgICAgaW50IHN0cmluZ19saXRlcmFsLCBpbnQgc3ltYm9s
X2xpdGVyYWwsIGludCByZWdleHBfbGl0ZXJhbCkKPiArewo+ICsgICAgLyoKPiArICAgICAqIElm
IHN0cmluZ19saXRlcmFsIGlzIHRydWUsIHRoZW4gd2UgYWxsb3cgbXVsdGlwbGUgY29kZXBvaW50
cwo+ICsgICAgICogaW4gXHV7fSwgYW5kIGFkZCB0aGUgY29kZXBvaW50cyB0byB0aGUgY3VycmVu
dCB0b2tlbi4KPiArICAgICAqIE90aGVyd2lzZSB3ZSdyZSBwYXJzaW5nIGEgY2hhcmFjdGVyIGxp
dGVyYWwgYW5kIHJldHVybiBhIHNpbmdsZQo+ICsgICAgICogY29kZXBvaW50IHdpdGhvdXQgYWRk
aW5nIGl0Cj4gKyAgICAgKi8KPiArCj4gKyAgICBjb25zdCBpbnQgb3Blbl9icmFjZSA9ICd7Jywg
Y2xvc2VfYnJhY2UgPSAnfSc7Cj4gKwo+ICsgICAgaWYgKHJlZ2V4cF9saXRlcmFsKSB7IHRva2Fk
ZChwLCAnXFwnKTsgdG9rYWRkKHAsICd1Jyk7IH0KPiArCj4gKyAgICBpZiAocGVlayhwLCBvcGVu
X2JyYWNlKSkgeyAgLyogaGFuZGxlIFx1ey4uLn0gZm9ybSAqLwo+ICsgICAgICAgaW50IGMsIGxh
c3QgPSBuZXh0YyhwKTsKPiArICAgICAgIGlmIChwLT5sZXgucGN1ciA+PSBwLT5sZXgucGVuZCkg
Z290byB1bnRlcm1pbmF0ZWQ7Cj4gKyAgICAgICB3aGlsZSAoSVNTUEFDRShjID0gKnAtPmxleC5w
Y3VyKSAmJiArK3AtPmxleC5wY3VyIDwgcC0+bGV4LnBlbmQpOwo+ICsgICAgICAgd2hpbGUgKGMg
IT0gY2xvc2VfYnJhY2UpIHsKPiArICAgICAgICAgICBpZiAocmVnZXhwX2xpdGVyYWwpIHRva2Fk
ZChwLCBsYXN0KTsKPiArICAgICAgICAgICBpZiAoIXRva2FkZF9jb2RlcG9pbnQocCwgZW5jcCwg
cmVnZXhwX2xpdGVyYWwsIFRSVUUpKSB7Cj4gKyAgICAgICAgICAgICAgIGJyZWFrOwo+ICsgICAg
ICAgICAgIH0KPiArICAgICAgICAgICB3aGlsZSAoSVNTUEFDRShjID0gKnAtPmxleC5wY3VyKSkg
ewo+ICsgICAgICAgICAgICAgICBpZiAoKytwLT5sZXgucGN1ciA+PSBwLT5sZXgucGVuZCkgZ290
byB1bnRlcm1pbmF0ZWQ7Cj4gKyAgICAgICAgICAgICAgIGxhc3QgPSBjOwo+ICsgICAgICAgICAg
IH0KPiArICAgICAgIH0KPiArCj4gKyAgICAgICBpZiAoYyAhPSBjbG9zZV9icmFjZSkgewo+ICsg
ICAgICAgICB1bnRlcm1pbmF0ZWQ6Cj4gKyAgICAgICAgICAgbGl0ZXJhbF9mbHVzaChwLCBwLT5s
ZXgucGN1cik7Cj4gKyAgICAgICAgICAgeXllcnJvcjAoInVudGVybWluYXRlZCBVbmljb2RlIGVz
Y2FwZSIpOwo+ICsgICAgICAgICAgIHJldHVybiAwOwo+ICsgICAgICAgfQo+ICsKPiArICAgICAg
IGlmIChyZWdleHBfbGl0ZXJhbCkgdG9rYWRkKHAsIGNsb3NlX2JyYWNlKTsKPiArICAgICAgIG5l
eHRjKHApOwo+ICsgICAgfQo+ICsgICAgZWxzZSB7ICAgICAgICAgICAgICAgICAgICAgLyogaGFu
ZGxlIFx1eHh4eCBmb3JtICovCj4gKyAgICAgICBpZiAoIXRva2FkZF9jb2RlcG9pbnQocCwgZW5j
cCwgcmVnZXhwX2xpdGVyYWwsIEZBTFNFKSkgewo+ICsgICAgICAgICAgIHJldHVybiAwOwo+ICsg
ICAgICAgfQo+ICsgICAgfQo+ICsKPiArICAgIHJldHVybiBUUlVFOwo+ICt9Cj4gKwo+ICsjZGVm
aW5lIEVTQ0FQRV9DT05UUk9MIDEKPiArI2RlZmluZSBFU0NBUEVfTUVUQSAgICAyCj4gKwo+ICtz
dGF0aWMgaW50Cj4gK3JlYWRfZXNjYXBlKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBpbnQgZmxh
Z3MsIHJiX2VuY29kaW5nICoqZW5jcCkKPiArewo+ICsgICAgaW50IGM7Cj4gKyAgICBzaXplX3Qg
bnVtbGVuOwo+ICsKPiArICAgIHN3aXRjaCAoYyA9IG5leHRjKHApKSB7Cj4gKyAgICAgIGNhc2Ug
J1xcJzogICAgICAgLyogQmFja3NsYXNoICovCj4gKyAgICAgICByZXR1cm4gYzsKPiArCj4gKyAg
ICAgIGNhc2UgJ24nOiAgICAgICAgLyogbmV3bGluZSAqLwo+ICsgICAgICAgcmV0dXJuICdcbic7
Cj4gKwo+ICsgICAgICBjYXNlICd0JzogICAgICAgIC8qIGhvcml6b250YWwgdGFiICovCj4gKyAg
ICAgICByZXR1cm4gJ1x0JzsKPiArCj4gKyAgICAgIGNhc2UgJ3InOiAgICAgICAgLyogY2Fycmlh
Z2UtcmV0dXJuICovCj4gKyAgICAgICByZXR1cm4gJ1xyJzsKPiArCj4gKyAgICAgIGNhc2UgJ2Yn
OiAgICAgICAgLyogZm9ybS1mZWVkICovCj4gKyAgICAgICByZXR1cm4gJ1xmJzsKPiArCj4gKyAg
ICAgIGNhc2UgJ3YnOiAgICAgICAgLyogdmVydGljYWwgdGFiICovCj4gKyAgICAgICByZXR1cm4g
J1wxMyc7Cj4gKwo+ICsgICAgICBjYXNlICdhJzogICAgICAgIC8qIGFsYXJtKGJlbGwpICovCj4g
KyAgICAgICByZXR1cm4gJ1wwMDcnOwo+ICsKPiArICAgICAgY2FzZSAnZSc6ICAgICAgICAvKiBl
c2NhcGUgKi8KPiArICAgICAgIHJldHVybiAwMzM7Cj4gKwo+ICsgICAgICBjYXNlICcwJzogY2Fz
ZSAnMSc6IGNhc2UgJzInOiBjYXNlICczJzogLyogb2N0YWwgY29uc3RhbnQgKi8KPiArICAgICAg
Y2FzZSAnNCc6IGNhc2UgJzUnOiBjYXNlICc2JzogY2FzZSAnNyc6Cj4gKyAgICAgICBwdXNoYmFj
ayhwLCBjKTsKPiArICAgICAgIGMgPSBzY2FuX29jdChwLT5sZXgucGN1ciwgMywgJm51bWxlbik7
Cj4gKyAgICAgICBwLT5sZXgucGN1ciArPSBudW1sZW47Cj4gKyAgICAgICByZXR1cm4gYzsKPiAr
Cj4gKyAgICAgIGNhc2UgJ3gnOiAgICAgICAgLyogaGV4IGNvbnN0YW50ICovCj4gKyAgICAgICBj
ID0gdG9rX2hleChwLCAmbnVtbGVuKTsKPiArICAgICAgIGlmIChudW1sZW4gPT0gMCkgcmV0dXJu
IDA7Cj4gKyAgICAgICByZXR1cm4gYzsKPiArCj4gKyAgICAgIGNhc2UgJ2InOiAgICAgICAgLyog
YmFja3NwYWNlICovCj4gKyAgICAgICByZXR1cm4gJ1wwMTAnOwo+ICsKPiArICAgICAgY2FzZSAn
cyc6ICAgICAgICAvKiBzcGFjZSAqLwo+ICsgICAgICAgcmV0dXJuICcgJzsKPiArCj4gKyAgICAg
IGNhc2UgJ00nOgo+ICsgICAgICAgaWYgKGZsYWdzICYgRVNDQVBFX01FVEEpIGdvdG8gZW9mOwo+
ICsgICAgICAgaWYgKChjID0gbmV4dGMocCkpICE9ICctJykgewo+ICsgICAgICAgICAgIGdvdG8g
ZW9mOwo+ICsgICAgICAgfQo+ICsgICAgICAgaWYgKChjID0gbmV4dGMocCkpID09ICdcXCcpIHsK
PiArICAgICAgICAgICBpZiAocGVlayhwLCAndScpKSBnb3RvIGVvZjsKPiArICAgICAgICAgICBy
ZXR1cm4gcmVhZF9lc2NhcGUocCwgZmxhZ3N8RVNDQVBFX01FVEEsIGVuY3ApIHwgMHg4MDsKPiAr
ICAgICAgIH0KPiArICAgICAgIGVsc2UgaWYgKGMgPT0gLTEgfHwgIUlTQVNDSUkoYykpIGdvdG8g
ZW9mOwo+ICsgICAgICAgZWxzZSB7Cj4gKyAgICAgICAgICAgcmV0dXJuICgoYyAmIDB4ZmYpIHwg
MHg4MCk7Cj4gKyAgICAgICB9Cj4gKwo+ICsgICAgICBjYXNlICdDJzoKPiArICAgICAgIGlmICgo
YyA9IG5leHRjKHApKSAhPSAnLScpIHsKPiArICAgICAgICAgICBnb3RvIGVvZjsKPiArICAgICAg
IH0KPiArICAgICAgY2FzZSAnYyc6Cj4gKyAgICAgICBpZiAoZmxhZ3MgJiBFU0NBUEVfQ09OVFJP
TCkgZ290byBlb2Y7Cj4gKyAgICAgICBpZiAoKGMgPSBuZXh0YyhwKSk9PSAnXFwnKSB7Cj4gKyAg
ICAgICAgICAgaWYgKHBlZWsocCwgJ3UnKSkgZ290byBlb2Y7Cj4gKyAgICAgICAgICAgYyA9IHJl
YWRfZXNjYXBlKHAsIGZsYWdzfEVTQ0FQRV9DT05UUk9MLCBlbmNwKTsKPiArICAgICAgIH0KPiAr
ICAgICAgIGVsc2UgaWYgKGMgPT0gJz8nKQo+ICsgICAgICAgICAgIHJldHVybiAwMTc3Owo+ICsg
ICAgICAgZWxzZSBpZiAoYyA9PSAtMSB8fCAhSVNBU0NJSShjKSkgZ290byBlb2Y7Cj4gKyAgICAg
ICByZXR1cm4gYyAmIDB4OWY7Cj4gKwo+ICsgICAgICBlb2Y6Cj4gKyAgICAgIGNhc2UgLTE6Cj4g
KyAgICAgICAgeXllcnJvcjAoIkludmFsaWQgZXNjYXBlIGNoYXJhY3RlciBzeW50YXgiKTsKPiAr
ICAgICAgIHB1c2hiYWNrKHAsIGMpOwo+ICsgICAgICAgcmV0dXJuICdcMCc7Cj4gKwo+ICsgICAg
ICBkZWZhdWx0Ogo+ICsgICAgICAgcmV0dXJuIGM7Cj4gKyAgICB9Cj4gK30KPiArCj4gK3N0YXRp
YyB2b2lkCj4gK3Rva2FkZG1iYyhzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgaW50IGMsIHJiX2Vu
Y29kaW5nICplbmMpCj4gK3sKPiArICAgIGludCBsZW4gPSByYl9lbmNfY29kZWxlbihjLCBlbmMp
Owo+ICsgICAgcmJfZW5jX21iY3B1dChjLCB0b2tzcGFjZShwLCBsZW4pLCBlbmMpOwo+ICt9Cj4g
Kwo+ICtzdGF0aWMgaW50Cj4gK3Rva2FkZF9lc2NhcGUoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAs
IHJiX2VuY29kaW5nICoqZW5jcCkKPiArewo+ICsgICAgaW50IGM7Cj4gKyAgICBpbnQgZmxhZ3Mg
PSAwOwo+ICsgICAgc2l6ZV90IG51bWxlbjsKPiArCj4gKyAgZmlyc3Q6Cj4gKyAgICBzd2l0Y2gg
KGMgPSBuZXh0YyhwKSkgewo+ICsgICAgICBjYXNlICdcbic6Cj4gKyAgICAgICByZXR1cm4gMDsg
ICAgICAgICAgICAgICAvKiBqdXN0IGlnbm9yZSAqLwo+ICsKPiArICAgICAgY2FzZSAnMCc6IGNh
c2UgJzEnOiBjYXNlICcyJzogY2FzZSAnMyc6IC8qIG9jdGFsIGNvbnN0YW50ICovCj4gKyAgICAg
IGNhc2UgJzQnOiBjYXNlICc1JzogY2FzZSAnNic6IGNhc2UgJzcnOgo+ICsgICAgICAgewo+ICsg
ICAgICAgICAgIHJ1Ynlfc2Nhbl9vY3QoLS1wLT5sZXgucGN1ciwgMywgJm51bWxlbik7Cj4gKyAg
ICAgICAgICAgaWYgKG51bWxlbiA9PSAwKSBnb3RvIGVvZjsKPiArICAgICAgICAgICBwLT5sZXgu
cGN1ciArPSBudW1sZW47Cj4gKyAgICAgICAgICAgdG9rY29weShwLCAoaW50KW51bWxlbiArIDEp
Owo+ICsgICAgICAgfQo+ICsgICAgICAgcmV0dXJuIDA7Cj4gKwo+ICsgICAgICBjYXNlICd4Jzog
ICAgICAgIC8qIGhleCBjb25zdGFudCAqLwo+ICsgICAgICAgewo+ICsgICAgICAgICAgIHRva19o
ZXgocCwgJm51bWxlbik7Cj4gKyAgICAgICAgICAgaWYgKG51bWxlbiA9PSAwKSByZXR1cm4gLTE7
Cj4gKyAgICAgICAgICAgdG9rY29weShwLCAoaW50KW51bWxlbiArIDIpOwo+ICsgICAgICAgfQo+
ICsgICAgICAgcmV0dXJuIDA7Cj4gKwo+ICsgICAgICBjYXNlICdNJzoKPiArICAgICAgIGlmIChm
bGFncyAmIEVTQ0FQRV9NRVRBKSBnb3RvIGVvZjsKPiArICAgICAgIGlmICgoYyA9IG5leHRjKHAp
KSAhPSAnLScpIHsKPiArICAgICAgICAgICBwdXNoYmFjayhwLCBjKTsKPiArICAgICAgICAgICBn
b3RvIGVvZjsKPiArICAgICAgIH0KPiArICAgICAgIHRva2NvcHkocCwgMyk7Cj4gKyAgICAgICBm
bGFncyB8PSBFU0NBUEVfTUVUQTsKPiArICAgICAgIGdvdG8gZXNjYXBlZDsKPiArCj4gKyAgICAg
IGNhc2UgJ0MnOgo+ICsgICAgICAgaWYgKGZsYWdzICYgRVNDQVBFX0NPTlRST0wpIGdvdG8gZW9m
Owo+ICsgICAgICAgaWYgKChjID0gbmV4dGMocCkpICE9ICctJykgewo+ICsgICAgICAgICAgIHB1
c2hiYWNrKHAsIGMpOwo+ICsgICAgICAgICAgIGdvdG8gZW9mOwo+ICsgICAgICAgfQo+ICsgICAg
ICAgdG9rY29weShwLCAzKTsKPiArICAgICAgIGdvdG8gZXNjYXBlZDsKPiArCj4gKyAgICAgIGNh
c2UgJ2MnOgo+ICsgICAgICAgaWYgKGZsYWdzICYgRVNDQVBFX0NPTlRST0wpIGdvdG8gZW9mOwo+
ICsgICAgICAgdG9rY29weShwLCAyKTsKPiArICAgICAgIGZsYWdzIHw9IEVTQ0FQRV9DT05UUk9M
Owo+ICsgICAgICBlc2NhcGVkOgo+ICsgICAgICAgaWYgKChjID0gbmV4dGMocCkpID09ICdcXCcp
IHsKPiArICAgICAgICAgICBnb3RvIGZpcnN0Owo+ICsgICAgICAgfQo+ICsgICAgICAgZWxzZSBp
ZiAoYyA9PSAtMSkgZ290byBlb2Y7Cj4gKyAgICAgICB0b2thZGQocCwgYyk7Cj4gKyAgICAgICBy
ZXR1cm4gMDsKPiArCj4gKyAgICAgIGVvZjoKPiArICAgICAgY2FzZSAtMToKPiArICAgICAgICB5
eWVycm9yMCgiSW52YWxpZCBlc2NhcGUgY2hhcmFjdGVyIHN5bnRheCIpOwo+ICsgICAgICAgcmV0
dXJuIC0xOwo+ICsKPiArICAgICAgZGVmYXVsdDoKPiArICAgICAgIHRva2FkZChwLCAnXFwnKTsK
PiArICAgICAgIHRva2FkZChwLCBjKTsKPiArICAgIH0KPiArICAgIHJldHVybiAwOwo+ICt9Cj4g
Kwo+ICtzdGF0aWMgaW50Cj4gK3JlZ3hfb3B0aW9ucyhzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCkK
PiArewo+ICsgICAgaW50IGtjb2RlID0gMDsKPiArICAgIGludCBrb3B0ID0gMDsKPiArICAgIGlu
dCBvcHRpb25zID0gMDsKPiArICAgIGludCBjLCBvcHQsIGtjOwo+ICsKPiArICAgIG5ld3Rvayhw
KTsKPiArICAgIHdoaWxlIChjID0gbmV4dGMocCksIElTQUxQSEEoYykpIHsKPiArICAgICAgICBp
ZiAoYyA9PSAnbycpIHsKPiArICAgICAgICAgICAgb3B0aW9ucyB8PSBSRV9PUFRJT05fT05DRTsK
PiArICAgICAgICB9Cj4gKyAgICAgICAgZWxzZSBpZiAocmJfY2hhcl90b19vcHRpb25fa2NvZGUo
YywgJm9wdCwgJmtjKSkgewo+ICsgICAgICAgICAgIGlmIChrYyA+PSAwKSB7Cj4gKyAgICAgICAg
ICAgICAgIGlmIChrYyAhPSByYl9hc2NpaThiaXRfZW5jaW5kZXgoKSkga2NvZGUgPSBjOwo+ICsg
ICAgICAgICAgICAgICBrb3B0ID0gb3B0Owo+ICsgICAgICAgICAgIH0KPiArICAgICAgICAgICBl
bHNlIHsKPiArICAgICAgICAgICAgICAgb3B0aW9ucyB8PSBvcHQ7Cj4gKyAgICAgICAgICAgfQo+
ICsgICAgICAgIH0KPiArICAgICAgICBlbHNlIHsKPiArICAgICAgICAgICB0b2thZGQocCwgYyk7
Cj4gKyAgICAgICAgfQo+ICsgICAgfQo+ICsgICAgb3B0aW9ucyB8PSBrb3B0Owo+ICsgICAgcHVz
aGJhY2socCwgYyk7Cj4gKyAgICBpZiAodG9rbGVuKHApKSB7Cj4gKyAgICAgICB0b2tmaXgocCk7
Cj4gKyAgICAgICBjb21waWxlX2Vycm9yKHAsICJ1bmtub3duIHJlZ2V4cCBvcHRpb24lcyAtICUq
cyIsCj4gKyAgICAgICAgICAgICAgICAgICAgIHRva2xlbihwKSA+IDEgPyAicyIgOiAiIiwgdG9r
bGVuKHApLCB0b2socCkpOwo+ICsgICAgfQo+ICsgICAgcmV0dXJuIG9wdGlvbnMgfCBSRV9PUFRJ
T05fRU5DT0RJTkcoa2NvZGUpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50Cj4gK3Rva2FkZF9tYmNo
YXIoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIGludCBjKQo+ICt7Cj4gKyAgICBpbnQgbGVuID0g
cGFyc2VyX3ByZWNpc2VfbWJjbGVuKHAsIHAtPmxleC5wY3VyLTEpOwo+ICsgICAgaWYgKGxlbiA8
IDApIHJldHVybiAtMTsKPiArICAgIHRva2FkZChwLCBjKTsKPiArICAgIHAtPmxleC5wY3VyICs9
IC0tbGVuOwo+ICsgICAgaWYgKGxlbiA+IDApIHRva2NvcHkocCwgbGVuKTsKPiArICAgIHJldHVy
biBjOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW5saW5lIGludAo+ICtzaW1wbGVfcmVfbWV0YShpbnQg
YykKPiArewo+ICsgICAgc3dpdGNoIChjKSB7Cj4gKyAgICAgIGNhc2UgJyQnOiBjYXNlICcqJzog
Y2FzZSAnKyc6IGNhc2UgJy4nOgo+ICsgICAgICBjYXNlICc/JzogY2FzZSAnXic6IGNhc2UgJ3wn
Ogo+ICsgICAgICBjYXNlICcpJzogY2FzZSAnXSc6IGNhc2UgJ30nOiBjYXNlICc+JzoKPiArICAg
ICAgIHJldHVybiBUUlVFOwo+ICsgICAgICBkZWZhdWx0Ogo+ICsgICAgICAgcmV0dXJuIEZBTFNF
Owo+ICsgICAgfQo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50Cj4gK3BhcnNlcl91cGRhdGVfaGVyZWRv
Y19pbmRlbnQoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIGludCBjKQo+ICt7Cj4gKyAgICBpZiAo
cC0+aGVyZWRvY19saW5lX2luZGVudCA9PSAtMSkgewo+ICsgICAgICAgaWYgKGMgPT0gJ1xuJykg
cC0+aGVyZWRvY19saW5lX2luZGVudCA9IDA7Cj4gKyAgICB9Cj4gKyAgICBlbHNlIHsKPiArICAg
ICAgIGlmIChjID09ICcgJykgewo+ICsgICAgICAgICAgIHAtPmhlcmVkb2NfbGluZV9pbmRlbnQr
KzsKPiArICAgICAgICAgICByZXR1cm4gVFJVRTsKPiArICAgICAgIH0KPiArICAgICAgIGVsc2Ug
aWYgKGMgPT0gJ1x0Jykgewo+ICsgICAgICAgICAgIGludCB3ID0gKHAtPmhlcmVkb2NfbGluZV9p
bmRlbnQgLyBUQUJfV0lEVEgpICsgMTsKPiArICAgICAgICAgICBwLT5oZXJlZG9jX2xpbmVfaW5k
ZW50ID0gdyAqIFRBQl9XSURUSDsKPiArICAgICAgICAgICByZXR1cm4gVFJVRTsKPiArICAgICAg
IH0KPiArICAgICAgIGVsc2UgaWYgKGMgIT0gJ1xuJykgewo+ICsgICAgICAgICAgIGlmIChwLT5o
ZXJlZG9jX2luZGVudCA+IHAtPmhlcmVkb2NfbGluZV9pbmRlbnQpIHsKPiArICAgICAgICAgICAg
ICAgcC0+aGVyZWRvY19pbmRlbnQgPSBwLT5oZXJlZG9jX2xpbmVfaW5kZW50Owo+ICsgICAgICAg
ICAgIH0KPiArICAgICAgICAgICBwLT5oZXJlZG9jX2xpbmVfaW5kZW50ID0gLTE7Cj4gKyAgICAg
ICB9Cj4gKyAgICB9Cj4gKyAgICByZXR1cm4gRkFMU0U7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lk
Cj4gK3BhcnNlcl9taXhlZF9lcnJvcihzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgcmJfZW5jb2Rp
bmcgKmVuYzEsIHJiX2VuY29kaW5nICplbmMyKQo+ICt7Cj4gKyAgICBzdGF0aWMgY29uc3QgY2hh
ciBtaXhlZF9tc2dbXSA9ICIlcyBtaXhlZCB3aXRoaW4gJXMgc291cmNlIjsKPiArICAgIGNvbnN0
IGNoYXIgKm4xID0gcmJfZW5jX25hbWUoZW5jMSksICpuMiA9IHJiX2VuY19uYW1lKGVuYzIpOwo+
ICsgICAgY29uc3Qgc2l6ZV90IGxlbiA9IHNpemVvZihtaXhlZF9tc2cpIC0gNCArIHN0cmxlbihu
MSkgKyBzdHJsZW4objIpOwo+ICsgICAgY2hhciAqZXJyYnVmID0gQUxMT0NBX04oY2hhciwgbGVu
KTsKPiArICAgIHNucHJpbnRmKGVycmJ1ZiwgbGVuLCBtaXhlZF9tc2csIG4xLCBuMik7Cj4gKyAg
ICB5eWVycm9yMChlcnJidWYpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZAo+ICtwYXJzZXJfbWl4
ZWRfZXNjYXBlKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBjb25zdCBjaGFyICpiZWcsIHJiX2Vu
Y29kaW5nICplbmMxLCByYl9lbmNvZGluZyAqZW5jMikKPiArewo+ICsgICAgY29uc3QgY2hhciAq
cG9zID0gcC0+bGV4LnBjdXI7Cj4gKyAgICBwLT5sZXgucGN1ciA9IGJlZzsKPiArICAgIHBhcnNl
cl9taXhlZF9lcnJvcihwLCBlbmMxLCBlbmMyKTsKPiArICAgIHAtPmxleC5wY3VyID0gcG9zOwo+
ICt9Cj4gKwo+ICtzdGF0aWMgaW50Cj4gK3Rva2FkZF9zdHJpbmcoc3RydWN0IHBhcnNlcl9wYXJh
bXMgKnAsCj4gKyAgICAgICAgICAgICBpbnQgZnVuYywgaW50IHRlcm0sIGludCBwYXJlbiwgbG9u
ZyAqbmVzdCwKPiArICAgICAgICAgICAgIHJiX2VuY29kaW5nICoqZW5jcCwgcmJfZW5jb2Rpbmcg
KiplbmMpCj4gK3sKPiArICAgIGludCBjOwo+ICsgICAgYm9vbCBlcnJlZCA9IGZhbHNlOwo+ICsK
PiArI2RlZmluZSBtaXhlZF9lcnJvcihlbmMxLCBlbmMyKSBcCj4gKyAgICAodm9pZCkoZXJyZWQg
fHwgKHBhcnNlcl9taXhlZF9lcnJvcihwLCBlbmMxLCBlbmMyKSwgZXJyZWQgPSB0cnVlKSkKPiAr
I2RlZmluZSBtaXhlZF9lc2NhcGUoYmVnLCBlbmMxLCBlbmMyKSBcCj4gKyAgICAodm9pZCkoZXJy
ZWQgfHwgKHBhcnNlcl9taXhlZF9lc2NhcGUocCwgYmVnLCBlbmMxLCBlbmMyKSwgZXJyZWQgPSB0
cnVlKSkKPiArCj4gKyAgICB3aGlsZSAoKGMgPSBuZXh0YyhwKSkgIT0gLTEpIHsKPiArICAgICAg
IGlmIChwLT5oZXJlZG9jX2luZGVudCA+IDApIHsKPiArICAgICAgICAgICBwYXJzZXJfdXBkYXRl
X2hlcmVkb2NfaW5kZW50KHAsIGMpOwo+ICsgICAgICAgfQo+ICsKPiArICAgICAgIGlmIChwYXJl
biAmJiBjID09IHBhcmVuKSB7Cj4gKyAgICAgICAgICAgKysqbmVzdDsKPiArICAgICAgIH0KPiAr
ICAgICAgIGVsc2UgaWYgKGMgPT0gdGVybSkgewo+ICsgICAgICAgICAgIGlmICghbmVzdCB8fCAh
Km5lc3QpIHsKPiArICAgICAgICAgICAgICAgcHVzaGJhY2socCwgYyk7Cj4gKyAgICAgICAgICAg
ICAgIGJyZWFrOwo+ICsgICAgICAgICAgIH0KPiArICAgICAgICAgICAtLSpuZXN0Owo+ICsgICAg
ICAgfQo+ICsgICAgICAgZWxzZSBpZiAoKGZ1bmMgJiBTVFJfRlVOQ19FWFBBTkQpICYmIGMgPT0g
JyMnICYmIHAtPmxleC5wY3VyIDwgcC0+bGV4LnBlbmQpIHsKPiArICAgICAgICAgICBpbnQgYzIg
PSAqcC0+bGV4LnBjdXI7Cj4gKyAgICAgICAgICAgaWYgKGMyID09ICckJyB8fCBjMiA9PSAnQCcg
fHwgYzIgPT0gJ3snKSB7Cj4gKyAgICAgICAgICAgICAgIHB1c2hiYWNrKHAsIGMpOwo+ICsgICAg
ICAgICAgICAgICBicmVhazsKPiArICAgICAgICAgICB9Cj4gKyAgICAgICB9Cj4gKyAgICAgICBl
bHNlIGlmIChjID09ICdcXCcpIHsKPiArICAgICAgICAgICBsaXRlcmFsX2ZsdXNoKHAsIHAtPmxl
eC5wY3VyIC0gMSk7Cj4gKyAgICAgICAgICAgYyA9IG5leHRjKHApOwo+ICsgICAgICAgICAgIHN3
aXRjaCAoYykgewo+ICsgICAgICAgICAgICAgY2FzZSAnXG4nOgo+ICsgICAgICAgICAgICAgICBp
ZiAoZnVuYyAmIFNUUl9GVU5DX1FXT1JEUykgYnJlYWs7Cj4gKyAgICAgICAgICAgICAgIGlmIChm
dW5jICYgU1RSX0ZVTkNfRVhQQU5EKSB7Cj4gKyAgICAgICAgICAgICAgICAgICBpZiAoIShmdW5j
ICYgU1RSX0ZVTkNfSU5ERU5UKSB8fCAocC0+aGVyZWRvY19pbmRlbnQgPCAwKSkKPiArICAgICAg
ICAgICAgICAgICAgICAgICBjb250aW51ZTsKPiArICAgICAgICAgICAgICAgICAgIGlmIChjID09
IHRlcm0pIHsKPiArICAgICAgICAgICAgICAgICAgICAgICBjID0gJ1xcJzsKPiArICAgICAgICAg
ICAgICAgICAgICAgICBnb3RvIHRlcm1pbmF0ZTsKPiArICAgICAgICAgICAgICAgICAgIH0KPiAr
ICAgICAgICAgICAgICAgfQo+ICsgICAgICAgICAgICAgICB0b2thZGQocCwgJ1xcJyk7Cj4gKyAg
ICAgICAgICAgICAgIGJyZWFrOwo+ICsKPiArICAgICAgICAgICAgIGNhc2UgJ1xcJzoKPiArICAg
ICAgICAgICAgICAgaWYgKGZ1bmMgJiBTVFJfRlVOQ19FU0NBUEUpIHRva2FkZChwLCBjKTsKPiAr
ICAgICAgICAgICAgICAgYnJlYWs7Cj4gKwo+ICsgICAgICAgICAgICAgY2FzZSAndSc6Cj4gKyAg
ICAgICAgICAgICAgIGlmICgoZnVuYyAmIFNUUl9GVU5DX0VYUEFORCkgPT0gMCkgewo+ICsgICAg
ICAgICAgICAgICAgICAgdG9rYWRkKHAsICdcXCcpOwo+ICsgICAgICAgICAgICAgICAgICAgYnJl
YWs7Cj4gKyAgICAgICAgICAgICAgIH0KPiArICAgICAgICAgICAgICAgaWYgKCFwYXJzZXJfdG9r
YWRkX3V0ZjgocCwgZW5jLCB0ZXJtLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBmdW5jICYgU1RSX0ZVTkNfU1lNQk9MLAo+ICsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBmdW5jICYgU1RSX0ZVTkNfUkVHRVhQKSkgewo+ICsgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIC0xOwo+ICsgICAgICAgICAgICAgICB9Cj4gKyAgICAgICAgICAgICAg
IGNvbnRpbnVlOwo+ICsKPiArICAgICAgICAgICAgIGRlZmF1bHQ6Cj4gKyAgICAgICAgICAgICAg
IGlmIChjID09IC0xKSByZXR1cm4gLTE7Cj4gKyAgICAgICAgICAgICAgIGlmICghSVNBU0NJSShj
KSkgewo+ICsgICAgICAgICAgICAgICAgICAgaWYgKChmdW5jICYgU1RSX0ZVTkNfRVhQQU5EKSA9
PSAwKSB0b2thZGQocCwgJ1xcJyk7Cj4gKyAgICAgICAgICAgICAgICAgICBnb3RvIG5vbl9hc2Np
aTsKPiArICAgICAgICAgICAgICAgfQo+ICsgICAgICAgICAgICAgICBpZiAoZnVuYyAmIFNUUl9G
VU5DX1JFR0VYUCkgewo+ICsgICAgICAgICAgICAgICAgICAgaWYgKGMgPT0gdGVybSAmJiAhc2lt
cGxlX3JlX21ldGEoYykpIHsKPiArICAgICAgICAgICAgICAgICAgICAgICB0b2thZGQocCwgYyk7
Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7Cj4gKyAgICAgICAgICAgICAgICAg
ICB9Cj4gKyAgICAgICAgICAgICAgICAgICBwdXNoYmFjayhwLCBjKTsKPiArICAgICAgICAgICAg
ICAgICAgIGlmICgoYyA9IHRva2FkZF9lc2NhcGUocCwgZW5jKSkgPCAwKQo+ICsgICAgICAgICAg
ICAgICAgICAgICAgIHJldHVybiAtMTsKPiArICAgICAgICAgICAgICAgICAgIGlmICgqZW5jICYm
ICplbmMgIT0gKmVuY3ApIHsKPiArICAgICAgICAgICAgICAgICAgICAgICBtaXhlZF9lc2NhcGUo
cC0+bGV4LnB0b2srMiwgKmVuYywgKmVuY3ApOwo+ICsgICAgICAgICAgICAgICAgICAgfQo+ICsg
ICAgICAgICAgICAgICAgICAgY29udGludWU7Cj4gKyAgICAgICAgICAgICAgIH0KPiArICAgICAg
ICAgICAgICAgZWxzZSBpZiAoZnVuYyAmIFNUUl9GVU5DX0VYUEFORCkgewo+ICsgICAgICAgICAg
ICAgICAgICAgcHVzaGJhY2socCwgYyk7Cj4gKyAgICAgICAgICAgICAgICAgICBpZiAoZnVuYyAm
IFNUUl9GVU5DX0VTQ0FQRSkgdG9rYWRkKHAsICdcXCcpOwo+ICsgICAgICAgICAgICAgICAgICAg
YyA9IHJlYWRfZXNjYXBlKHAsIDAsIGVuYyk7Cj4gKyAgICAgICAgICAgICAgIH0KPiArICAgICAg
ICAgICAgICAgZWxzZSBpZiAoKGZ1bmMgJiBTVFJfRlVOQ19RV09SRFMpICYmIElTU1BBQ0UoYykp
IHsKPiArICAgICAgICAgICAgICAgICAgIC8qIGlnbm9yZSBiYWNrc2xhc2hlZCBzcGFjZXMgaW4g
JXcgKi8KPiArICAgICAgICAgICAgICAgfQo+ICsgICAgICAgICAgICAgICBlbHNlIGlmIChjICE9
IHRlcm0gJiYgIShwYXJlbiAmJiBjID09IHBhcmVuKSkgewo+ICsgICAgICAgICAgICAgICAgICAg
dG9rYWRkKHAsICdcXCcpOwo+ICsgICAgICAgICAgICAgICAgICAgcHVzaGJhY2socCwgYyk7Cj4g
KyAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKPiArICAgICAgICAgICAgICAgfQo+ICsgICAg
ICAgICAgIH0KPiArICAgICAgIH0KPiArICAgICAgIGVsc2UgaWYgKCFwYXJzZXJfaXNhc2NpaShw
KSkgewo+ICsgICAgICAgICBub25fYXNjaWk6Cj4gKyAgICAgICAgICAgaWYgKCEqZW5jKSB7Cj4g
KyAgICAgICAgICAgICAgICplbmMgPSAqZW5jcDsKPiArICAgICAgICAgICB9Cj4gKyAgICAgICAg
ICAgZWxzZSBpZiAoKmVuYyAhPSAqZW5jcCkgewo+ICsgICAgICAgICAgICAgICBtaXhlZF9lcnJv
cigqZW5jLCAqZW5jcCk7Cj4gKyAgICAgICAgICAgICAgIGNvbnRpbnVlOwo+ICsgICAgICAgICAg
IH0KPiArICAgICAgICAgICBpZiAodG9rYWRkX21iY2hhcihwLCBjKSA9PSAtMSkgcmV0dXJuIC0x
Owo+ICsgICAgICAgICAgIGNvbnRpbnVlOwo+ICsgICAgICAgfQo+ICsgICAgICAgZWxzZSBpZiAo
KGZ1bmMgJiBTVFJfRlVOQ19RV09SRFMpICYmIElTU1BBQ0UoYykpIHsKPiArICAgICAgICAgICBw
dXNoYmFjayhwLCBjKTsKPiArICAgICAgICAgICBicmVhazsKPiArICAgICAgIH0KPiArICAgICAg
ICBpZiAoYyAmIDB4ODApIHsKPiArICAgICAgICAgICBpZiAoISplbmMpIHsKPiArICAgICAgICAg
ICAgICAgKmVuYyA9ICplbmNwOwo+ICsgICAgICAgICAgIH0KPiArICAgICAgICAgICBlbHNlIGlm
ICgqZW5jICE9ICplbmNwKSB7Cj4gKyAgICAgICAgICAgICAgIG1peGVkX2Vycm9yKCplbmMsICpl
bmNwKTsKPiArICAgICAgICAgICAgICAgY29udGludWU7Cj4gKyAgICAgICAgICAgfQo+ICsgICAg
ICAgIH0KPiArICAgICAgIHRva2FkZChwLCBjKTsKPiArICAgIH0KPiArICB0ZXJtaW5hdGU6Cj4g
KyAgICBpZiAoKmVuYykgKmVuY3AgPSAqZW5jOwo+ICsgICAgcmV0dXJuIGM7Cj4gK30KPiArCj4g
K3N0YXRpYyBpbmxpbmUgcmJfc3RydGVybV90ICoKPiArbmV3X3N0cnRlcm0oVkFMVUUgdjEsIFZB
TFVFIHYyLCBWQUxVRSB2MywgVkFMVUUgdjApCj4gK3sKPiArICAgIHJldHVybiAocmJfc3RydGVy
bV90KilyYl9pbWVtb19uZXcoaW1lbW9fcGFyc2VyX3N0cnRlcm0sIHYxLCB2MiwgdjMsIHYwKTsK
PiArfQo+ICsKPiArLyogaW1lbW9fcGFyc2VyX3N0cnRlcm0gZm9yIGxpdGVyYWwgKi8KPiArI2Rl
ZmluZSBORVdfU1RSVEVSTShmdW5jLCB0ZXJtLCBwYXJlbikgXAo+ICsgICAgbmV3X3N0cnRlcm0o
KFZBTFVFKShmdW5jKSwgKFZBTFVFKShwYXJlbiksIChWQUxVRSkodGVybSksIDApCj4gKwo+ICsj
aWZkZWYgUklQUEVSCj4gK3N0YXRpYyB2b2lkCj4gK2ZsdXNoX3N0cmluZ19jb250ZW50KHN0cnVj
dCBwYXJzZXJfcGFyYW1zICpwLCByYl9lbmNvZGluZyAqZW5jKQo+ICt7Cj4gKyAgICBWQUxVRSBj
b250ZW50ID0geXlsdmFsLnZhbDsKPiArICAgIGlmICghcmlwcGVyX2lzX25vZGVfeXlsdmFsKGNv
bnRlbnQpKQo+ICsgICAgICAgY29udGVudCA9IHJpcHBlcl9uZXdfeXlsdmFsKHAsIDAsIDAsIGNv
bnRlbnQpOwo+ICsgICAgaWYgKGhhc19kZWxheWVkX3Rva2VuKHApKSB7Cj4gKyAgICAgICBwdHJk
aWZmX3QgbGVuID0gcC0+bGV4LnBjdXIgLSBwLT5sZXgucHRvazsKPiArICAgICAgIGlmIChsZW4g
PiAwKSB7Cj4gKyAgICAgICAgICAgcmJfZW5jX3N0cl9idWZfY2F0KHAtPmRlbGF5ZWQsIHAtPmxl
eC5wdG9rLCBsZW4sIGVuYyk7Cj4gKyAgICAgICB9Cj4gKyAgICAgICBkaXNwYXRjaF9kZWxheWVk
X3Rva2VuKHAsIHRTVFJJTkdfQ09OVEVOVCk7Cj4gKyAgICAgICBwLT5sZXgucHRvayA9IHAtPmxl
eC5wY3VyOwo+ICsgICAgICAgUk5PREUoY29udGVudCktPm5kX3J2YWwgPSB5eWx2YWwudmFsOwo+
ICsgICAgfQo+ICsgICAgZGlzcGF0Y2hfc2Nhbl9ldmVudChwLCB0U1RSSU5HX0NPTlRFTlQpOwo+
ICsgICAgaWYgKHl5bHZhbC52YWwgIT0gY29udGVudCkKPiArICAgICAgIFJOT0RFKGNvbnRlbnQp
LT5uZF9ydmFsID0geXlsdmFsLnZhbDsKPiArICAgIHl5bHZhbC52YWwgPSBjb250ZW50Owo+ICt9
Cj4gKyNlbHNlCj4gKyNkZWZpbmUgZmx1c2hfc3RyaW5nX2NvbnRlbnQocCwgZW5jKSAoKHZvaWQp
KGVuYykpCj4gKyNlbmRpZgo+ICsKPiArUlVCWV9GVU5DX0VYUE9SVEVEIGNvbnN0IHVuc2lnbmVk
IGludCBydWJ5X2dsb2JhbF9uYW1lX3B1bmN0X2JpdHNbKDB4N2UgLSAweDIwICsgMzEpIC8gMzJd
Owo+ICsvKiB0aGlzIGNhbiBiZSBzaGFyZWQgd2l0aCByaXBwZXIsIHNpbmNlIGl0J3MgaW5kZXBl
bmRlbnQgZnJvbSBzdHJ1Y3QKPiArICogcGFyc2VyX3BhcmFtcy4gKi8KPiArI2lmbmRlZiBSSVBQ
RVIKPiArI2RlZmluZSBCSVQoYywgaWR4KSAoKChjKSAvIDMyIC0gMSA9PSBpZHgpID8gKDFVIDw8
ICgoYykgJSAzMikpIDogMCkKPiArI2RlZmluZSBTUEVDSUFMX1BVTkNUKGlkeCkgKCBcCj4gKyAg
ICAgICBCSVQoJ34nLCBpZHgpIHwgQklUKCcqJywgaWR4KSB8IEJJVCgnJCcsIGlkeCkgfCBCSVQo
Jz8nLCBpZHgpIHwgXAo+ICsgICAgICAgQklUKCchJywgaWR4KSB8IEJJVCgnQCcsIGlkeCkgfCBC
SVQoJy8nLCBpZHgpIHwgQklUKCdcXCcsIGlkeCkgfCBcCj4gKyAgICAgICBCSVQoJzsnLCBpZHgp
IHwgQklUKCcsJywgaWR4KSB8IEJJVCgnLicsIGlkeCkgfCBCSVQoJz0nLCBpZHgpIHwgXAo+ICsg
ICAgICAgQklUKCc6JywgaWR4KSB8IEJJVCgnPCcsIGlkeCkgfCBCSVQoJz4nLCBpZHgpIHwgQklU
KCdcIicsIGlkeCkgfCBcCj4gKyAgICAgICBCSVQoJyYnLCBpZHgpIHwgQklUKCdgJywgaWR4KSB8
IEJJVCgnXCcnLCBpZHgpIHwgQklUKCcrJywgaWR4KSB8IFwKPiArICAgICAgIEJJVCgnMCcsIGlk
eCkpCj4gK2NvbnN0IHVuc2lnbmVkIGludCBydWJ5X2dsb2JhbF9uYW1lX3B1bmN0X2JpdHNbXSA9
IHsKPiArICAgIFNQRUNJQUxfUFVOQ1QoMCksCj4gKyAgICBTUEVDSUFMX1BVTkNUKDEpLAo+ICsg
ICAgU1BFQ0lBTF9QVU5DVCgyKSwKPiArfTsKPiArI3VuZGVmIEJJVAo+ICsjdW5kZWYgU1BFQ0lB
TF9QVU5DVAo+ICsjZW5kaWYKPiArCj4gK3N0YXRpYyBlbnVtIHl5dG9rZW50eXBlCj4gK3BhcnNl
cl9wZWVrX3ZhcmlhYmxlX25hbWUoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnApCj4gK3sKPiArICAg
IGludCBjOwo+ICsgICAgY29uc3QgY2hhciAqcHRyID0gcC0+bGV4LnBjdXI7Cj4gKwo+ICsgICAg
aWYgKHB0ciArIDEgPj0gcC0+bGV4LnBlbmQpIHJldHVybiAwOwo+ICsgICAgYyA9ICpwdHIrKzsK
PiArICAgIHN3aXRjaCAoYykgewo+ICsgICAgICBjYXNlICckJzoKPiArICAgICAgIGlmICgoYyA9
ICpwdHIpID09ICctJykgewo+ICsgICAgICAgICAgIGlmICgrK3B0ciA+PSBwLT5sZXgucGVuZCkg
cmV0dXJuIDA7Cj4gKyAgICAgICAgICAgYyA9ICpwdHI7Cj4gKyAgICAgICB9Cj4gKyAgICAgICBl
bHNlIGlmIChpc19nbG9iYWxfbmFtZV9wdW5jdChjKSB8fCBJU0RJR0lUKGMpKSB7Cj4gKyAgICAg
ICAgICAgcmV0dXJuIHRTVFJJTkdfRFZBUjsKPiArICAgICAgIH0KPiArICAgICAgIGJyZWFrOwo+
ICsgICAgICBjYXNlICdAJzoKPiArICAgICAgIGlmICgoYyA9ICpwdHIpID09ICdAJykgewo+ICsg
ICAgICAgICAgIGlmICgrK3B0ciA+PSBwLT5sZXgucGVuZCkgcmV0dXJuIDA7Cj4gKyAgICAgICAg
ICAgYyA9ICpwdHI7Cj4gKyAgICAgICB9Cj4gKyAgICAgICBicmVhazsKPiArICAgICAgY2FzZSAn
eyc6Cj4gKyAgICAgICBwLT5sZXgucGN1ciA9IHB0cjsKPiArICAgICAgIHAtPmNvbW1hbmRfc3Rh
cnQgPSBUUlVFOwo+ICsgICAgICAgcmV0dXJuIHRTVFJJTkdfREJFRzsKPiArICAgICAgZGVmYXVs
dDoKPiArICAgICAgIHJldHVybiAwOwo+ICsgICAgfQo+ICsgICAgaWYgKCFJU0FTQ0lJKGMpIHx8
IGMgPT0gJ18nIHx8IElTQUxQSEEoYykpCj4gKyAgICAgICByZXR1cm4gdFNUUklOR19EVkFSOwo+
ICsgICAgcmV0dXJuIDA7Cj4gK30KPiArCj4gKyNkZWZpbmUgSVNfQVJHKCkgSVNfbGV4X3N0YXRl
KEVYUFJfQVJHX0FOWSkKPiArI2RlZmluZSBJU19FTkQoKSBJU19sZXhfc3RhdGUoRVhQUl9FTkRf
QU5ZKQo+ICsjZGVmaW5lIElTX0JFRygpIChJU19sZXhfc3RhdGUoRVhQUl9CRUdfQU5ZKSB8fCBJ
U19sZXhfc3RhdGVfYWxsKEVYUFJfQVJHfEVYUFJfTEFCRUxFRCkpCj4gKyNkZWZpbmUgSVNfU1BD
QVJHKGMpIChJU19BUkcoKSAmJiBzcGFjZV9zZWVuICYmICFJU1NQQUNFKGMpKQo+ICsjZGVmaW5l
IElTX0xBQkVMX1BPU1NJQkxFKCkgKFwKPiArICAgICAgIChJU19sZXhfc3RhdGUoRVhQUl9MQUJF
THxFWFBSX0VOREZOKSAmJiAhY21kX3N0YXRlKSB8fCBcCj4gKyAgICAgICBJU19BUkcoKSkKPiAr
I2RlZmluZSBJU19MQUJFTF9TVUZGSVgobikgKHBlZWtfbihwLCAnOicsKG4pKSAmJiAhcGVla19u
KHAsICc6JywgKG4pKzEpKQo+ICsjZGVmaW5lIElTX0FGVEVSX09QRVJBVE9SKCkgSVNfbGV4X3N0
YXRlKEVYUFJfRk5BTUUgfCBFWFBSX0RPVCkKPiArCj4gK3N0YXRpYyBpbmxpbmUgZW51bSB5eXRv
a2VudHlwZQo+ICtwYXJzZXJfc3RyaW5nX3Rlcm0oc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIGlu
dCBmdW5jKQo+ICt7Cj4gKyAgICBwLT5sZXguc3RydGVybSA9IDA7Cj4gKyAgICBpZiAoZnVuYyAm
IFNUUl9GVU5DX1JFR0VYUCkgewo+ICsgICAgICAgc2V0X3l5bHZhbF9udW0ocmVneF9vcHRpb25z
KHApKTsKPiArICAgICAgIGRpc3BhdGNoX3NjYW5fZXZlbnQocCwgdFJFR0VYUF9FTkQpOwo+ICsg
ICAgICAgU0VUX0xFWF9TVEFURShFWFBSX0VORCk7Cj4gKyAgICAgICByZXR1cm4gdFJFR0VYUF9F
TkQ7Cj4gKyAgICB9Cj4gKyAgICBpZiAoKGZ1bmMgJiBTVFJfRlVOQ19MQUJFTCkgJiYgSVNfTEFC
RUxfU1VGRklYKDApKSB7Cj4gKyAgICAgICBuZXh0YyhwKTsKPiArICAgICAgIFNFVF9MRVhfU1RB
VEUoRVhQUl9CRUd8RVhQUl9MQUJFTCk7Cj4gKyAgICAgICByZXR1cm4gdExBQkVMX0VORDsKPiAr
ICAgIH0KPiArICAgIFNFVF9MRVhfU1RBVEUoRVhQUl9FTkQpOwo+ICsgICAgcmV0dXJuIHRTVFJJ
TkdfRU5EOwo+ICt9Cj4gKwo+ICtzdGF0aWMgZW51bSB5eXRva2VudHlwZQo+ICtwYXJzZV9zdHJp
bmcoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIHJiX3N0cnRlcm1fbGl0ZXJhbF90ICpxdW90ZSkK
PiArewo+ICsgICAgaW50IGZ1bmMgPSAoaW50KXF1b3RlLT51MS5mdW5jOwo+ICsgICAgaW50IHRl
cm0gPSAoaW50KXF1b3RlLT51My50ZXJtOwo+ICsgICAgaW50IHBhcmVuID0gKGludClxdW90ZS0+
dTIucGFyZW47Cj4gKyAgICBpbnQgYywgc3BhY2UgPSAwOwo+ICsgICAgcmJfZW5jb2RpbmcgKmVu
YyA9IHAtPmVuYzsKPiArICAgIHJiX2VuY29kaW5nICpiYXNlX2VuYyA9IDA7Cj4gKyAgICBWQUxV
RSBsaXQ7Cj4gKwo+ICsgICAgaWYgKGZ1bmMgJiBTVFJfRlVOQ19URVJNKSB7Cj4gKyAgICAgICBp
ZiAoZnVuYyAmIFNUUl9GVU5DX1FXT1JEUykgbmV4dGMocCk7IC8qIGRlbGF5ZWQgdGVybSAqLwo+
ICsgICAgICAgU0VUX0xFWF9TVEFURShFWFBSX0VORCk7Cj4gKyAgICAgICBwLT5sZXguc3RydGVy
bSA9IDA7Cj4gKyAgICAgICByZXR1cm4gZnVuYyAmIFNUUl9GVU5DX1JFR0VYUCA/IHRSRUdFWFBf
RU5EIDogdFNUUklOR19FTkQ7Cj4gKyAgICB9Cj4gKyAgICBjID0gbmV4dGMocCk7Cj4gKyAgICBp
ZiAoKGZ1bmMgJiBTVFJfRlVOQ19RV09SRFMpICYmIElTU1BBQ0UoYykpIHsKPiArICAgICAgIGRv
IHtjID0gbmV4dGMocCk7fSB3aGlsZSAoSVNTUEFDRShjKSk7Cj4gKyAgICAgICBzcGFjZSA9IDE7
Cj4gKyAgICB9Cj4gKyAgICBpZiAoZnVuYyAmIFNUUl9GVU5DX0xJU1QpIHsKPiArICAgICAgIHF1
b3RlLT51MS5mdW5jICY9IH5TVFJfRlVOQ19MSVNUOwo+ICsgICAgICAgc3BhY2UgPSAxOwo+ICsg
ICAgfQo+ICsgICAgaWYgKGMgPT0gdGVybSAmJiAhcXVvdGUtPnUwLm5lc3QpIHsKPiArICAgICAg
IGlmIChmdW5jICYgU1RSX0ZVTkNfUVdPUkRTKSB7Cj4gKyAgICAgICAgICAgcXVvdGUtPnUxLmZ1
bmMgfD0gU1RSX0ZVTkNfVEVSTTsKPiArICAgICAgICAgICBwdXNoYmFjayhwLCBjKTsgLyogZGlz
cGF0Y2ggdGhlIHRlcm0gYXQgdFNUUklOR19FTkQgKi8KPiArICAgICAgICAgICBhZGRfZGVsYXll
ZF90b2tlbihwLCBwLT5sZXgucHRvaywgcC0+bGV4LnBjdXIpOwo+ICsgICAgICAgICAgIHJldHVy
biAnICc7Cj4gKyAgICAgICB9Cj4gKyAgICAgICByZXR1cm4gcGFyc2VyX3N0cmluZ190ZXJtKHAs
IGZ1bmMpOwo+ICsgICAgfQo+ICsgICAgaWYgKHNwYWNlKSB7Cj4gKyAgICAgICBwdXNoYmFjayhw
LCBjKTsKPiArICAgICAgIGFkZF9kZWxheWVkX3Rva2VuKHAsIHAtPmxleC5wdG9rLCBwLT5sZXgu
cGN1cik7Cj4gKyAgICAgICByZXR1cm4gJyAnOwo+ICsgICAgfQo+ICsgICAgbmV3dG9rKHApOwo+
ICsgICAgaWYgKChmdW5jICYgU1RSX0ZVTkNfRVhQQU5EKSAmJiBjID09ICcjJykgewo+ICsgICAg
ICAgaW50IHQgPSBwYXJzZXJfcGVla192YXJpYWJsZV9uYW1lKHApOwo+ICsgICAgICAgaWYgKHQp
IHJldHVybiB0Owo+ICsgICAgICAgdG9rYWRkKHAsICcjJyk7Cj4gKyAgICAgICBjID0gbmV4dGMo
cCk7Cj4gKyAgICB9Cj4gKyAgICBwdXNoYmFjayhwLCBjKTsKPiArICAgIGlmICh0b2thZGRfc3Ry
aW5nKHAsIGZ1bmMsIHRlcm0sIHBhcmVuLCAmcXVvdGUtPnUwLm5lc3QsCj4gKyAgICAgICAgICAg
ICAgICAgICAgICZlbmMsICZiYXNlX2VuYykgPT0gLTEpIHsKPiArICAgICAgIGlmIChwLT5lb2Zw
KSB7Cj4gKyNpZm5kZWYgUklQUEVSCj4gKyMgZGVmaW5lIHVudGVybWluYXRlZF9saXRlcmFsKG1l
c2cpIHl5ZXJyb3IwKG1lc2cpCj4gKyNlbHNlCj4gKyMgZGVmaW5lIHVudGVybWluYXRlZF9saXRl
cmFsKG1lc2cpIGNvbXBpbGVfZXJyb3IocCwgIG1lc2cpCj4gKyNlbmRpZgo+ICsgICAgICAgICAg
IGxpdGVyYWxfZmx1c2gocCwgcC0+bGV4LnBjdXIpOwo+ICsgICAgICAgICAgIGlmIChmdW5jICYg
U1RSX0ZVTkNfUkVHRVhQKSB7Cj4gKyAgICAgICAgICAgICAgIHVudGVybWluYXRlZF9saXRlcmFs
KCJ1bnRlcm1pbmF0ZWQgcmVnZXhwIG1lZXRzIGVuZCBvZiBmaWxlIik7Cj4gKyAgICAgICAgICAg
fQo+ICsgICAgICAgICAgIGVsc2Ugewo+ICsgICAgICAgICAgICAgICB1bnRlcm1pbmF0ZWRfbGl0
ZXJhbCgidW50ZXJtaW5hdGVkIHN0cmluZyBtZWV0cyBlbmQgb2YgZmlsZSIpOwo+ICsgICAgICAg
ICAgIH0KPiArICAgICAgICAgICBxdW90ZS0+dTEuZnVuYyB8PSBTVFJfRlVOQ19URVJNOwo+ICsg
ICAgICAgfQo+ICsgICAgfQo+ICsKPiArICAgIHRva2ZpeChwKTsKPiArICAgIGFkZF9tYXJrX29i
amVjdChwLCBsaXQgPSBTVFJfTkVXMyh0b2socCksIHRva2xlbihwKSwgZW5jLCBmdW5jKSk7Cj4g
KyAgICBzZXRfeXlsdmFsX3N0cihsaXQpOwo+ICsgICAgZmx1c2hfc3RyaW5nX2NvbnRlbnQocCwg
ZW5jKTsKPiArCj4gKyAgICByZXR1cm4gdFNUUklOR19DT05URU5UOwo+ICt9Cj4gKwo+ICtzdGF0
aWMgZW51bSB5eXRva2VudHlwZQo+ICtoZXJlZG9jX2lkZW50aWZpZXIoc3RydWN0IHBhcnNlcl9w
YXJhbXMgKnApCj4gK3sKPiArICAgIC8qCj4gKyAgICAgKiB0ZXJtX2xlbiBpcyBsZW5ndGggb2Yg
YDw8IkVORCJgIGV4Y2VwdCBgRU5EYCwKPiArICAgICAqIGluIHRoaXMgY2FzZSB0ZXJtX2xlbiBp
cyA0ICg8LCA8LCAiIGFuZCAiKS4KPiArICAgICAqLwo+ICsgICAgaW50IGMgPSBuZXh0YyhwKSwg
dGVybSwgZnVuYyA9IDAsIHRlcm1fbGVuID0gMjsKPiArICAgIGVudW0geXl0b2tlbnR5cGUgdG9r
ZW4gPSB0U1RSSU5HX0JFRzsKPiArICAgIGxvbmcgbGVuOwo+ICsgICAgaW50IG5ld2xpbmUgPSAw
Owo+ICsgICAgaW50IGluZGVudCA9IDA7Cj4gKwo+ICsgICAgaWYgKGMgPT0gJy0nKSB7Cj4gKyAg
ICAgICBjID0gbmV4dGMocCk7Cj4gKyAgICAgICB0ZXJtX2xlbisrOwo+ICsgICAgICAgZnVuYyA9
IFNUUl9GVU5DX0lOREVOVDsKPiArICAgIH0KPiArICAgIGVsc2UgaWYgKGMgPT0gJ34nKSB7Cj4g
KyAgICAgICBjID0gbmV4dGMocCk7Cj4gKyAgICAgICB0ZXJtX2xlbisrOwo+ICsgICAgICAgZnVu
YyA9IFNUUl9GVU5DX0lOREVOVDsKPiArICAgICAgIGluZGVudCA9IElOVF9NQVg7Cj4gKyAgICB9
Cj4gKyAgICBzd2l0Y2ggKGMpIHsKPiArICAgICAgY2FzZSAnXCcnOgo+ICsgICAgICAgdGVybV9s
ZW4rKzsKPiArICAgICAgIGZ1bmMgfD0gc3RyX3NxdW90ZTsgZ290byBxdW90ZWQ7Cj4gKyAgICAg
IGNhc2UgJyInOgo+ICsgICAgICAgdGVybV9sZW4rKzsKPiArICAgICAgIGZ1bmMgfD0gc3RyX2Rx
dW90ZTsgZ290byBxdW90ZWQ7Cj4gKyAgICAgIGNhc2UgJ2AnOgo+ICsgICAgICAgdGVybV9sZW4r
KzsKPiArICAgICAgIHRva2VuID0gdFhTVFJJTkdfQkVHOwo+ICsgICAgICAgZnVuYyB8PSBzdHJf
eHF1b3RlOyBnb3RvIHF1b3RlZDsKPiArCj4gKyAgICAgIHF1b3RlZDoKPiArICAgICAgIHRlcm1f
bGVuKys7Cj4gKyAgICAgICBuZXd0b2socCk7Cj4gKyAgICAgICB0b2thZGQocCwgdGVybV9sZW4p
Owo+ICsgICAgICAgdG9rYWRkKHAsIGZ1bmMpOwo+ICsgICAgICAgdGVybSA9IGM7Cj4gKyAgICAg
ICB3aGlsZSAoKGMgPSBuZXh0YyhwKSkgIT0gLTEgJiYgYyAhPSB0ZXJtKSB7Cj4gKyAgICAgICAg
ICAgaWYgKHRva2FkZF9tYmNoYXIocCwgYykgPT0gLTEpIHJldHVybiAwOwo+ICsgICAgICAgICAg
IGlmICghbmV3bGluZSAmJiBjID09ICdcbicpIG5ld2xpbmUgPSAxOwo+ICsgICAgICAgICAgIGVs
c2UgaWYgKG5ld2xpbmUpIG5ld2xpbmUgPSAyOwo+ICsgICAgICAgfQo+ICsgICAgICAgaWYgKGMg
PT0gLTEpIHsKPiArICAgICAgICAgICB5eWVycm9yKE5VTEwsIHAsICJ1bnRlcm1pbmF0ZWQgaGVy
ZSBkb2N1bWVudCBpZGVudGlmaWVyIik7Cj4gKyAgICAgICAgICAgcmV0dXJuIC0xOwo+ICsgICAg
ICAgfQo+ICsgICAgICAgc3dpdGNoIChuZXdsaW5lKSB7Cj4gKyAgICAgICAgIGNhc2UgMToKPiAr
ICAgICAgICAgICByYl93YXJuMCgiaGVyZSBkb2N1bWVudCBpZGVudGlmaWVyIGVuZHMgd2l0aCBh
IG5ld2xpbmUiKTsKPiArICAgICAgICAgICBpZiAoLS1wLT50b2tpZHggPiAwICYmIHAtPnRva2Vu
YnVmW3AtPnRva2lkeF0gPT0gJ1xyJykgLS1wLT50b2tpZHg7Cj4gKyAgICAgICAgICAgYnJlYWs7
Cj4gKyAgICAgICAgIGNhc2UgMjoKPiArICAgICAgICAgICBjb21waWxlX2Vycm9yKHAsICJoZXJl
IGRvY3VtZW50IGlkZW50aWZpZXIgYWNyb3NzIG5ld2xpbmVzLCBuZXZlciBtYXRjaCIpOwo+ICsg
ICAgICAgICAgIHJldHVybiAtMTsKPiArICAgICAgIH0KPiArICAgICAgIGJyZWFrOwo+ICsKPiAr
ICAgICAgZGVmYXVsdDoKPiArICAgICAgIGlmICghcGFyc2VyX2lzX2lkZW50Y2hhcihwKSkgewo+
ICsgICAgICAgICAgIHB1c2hiYWNrKHAsIGMpOwo+ICsgICAgICAgICAgIGlmIChmdW5jICYgU1RS
X0ZVTkNfSU5ERU5UKSB7Cj4gKyAgICAgICAgICAgICAgIHB1c2hiYWNrKHAsIGluZGVudCA+IDAg
PyAnficgOiAnLScpOwo+ICsgICAgICAgICAgIH0KPiArICAgICAgICAgICByZXR1cm4gMDsKPiAr
ICAgICAgIH0KPiArICAgICAgIG5ld3RvayhwKTsKPiArICAgICAgIHRva2FkZChwLCB0ZXJtX2xl
bik7Cj4gKyAgICAgICB0b2thZGQocCwgZnVuYyB8PSBzdHJfZHF1b3RlKTsKPiArICAgICAgIGRv
IHsKPiArICAgICAgICAgICBpZiAodG9rYWRkX21iY2hhcihwLCBjKSA9PSAtMSkgcmV0dXJuIDA7
Cj4gKyAgICAgICB9IHdoaWxlICgoYyA9IG5leHRjKHApKSAhPSAtMSAmJiBwYXJzZXJfaXNfaWRl
bnRjaGFyKHApKTsKPiArICAgICAgIHB1c2hiYWNrKHAsIGMpOwo+ICsgICAgICAgYnJlYWs7Cj4g
KyAgICB9Cj4gKwo+ICsgICAgdG9rZml4KHApOwo+ICsgICAgZGlzcGF0Y2hfc2Nhbl9ldmVudChw
LCB0SEVSRURPQ19CRUcpOwo+ICsgICAgbGVuID0gcC0+bGV4LnBjdXIgLSBwLT5sZXgucGJlZzsK
PiArICAgIGxleF9nb3RvX2VvbChwKTsKPiArCj4gKyAgICBwLT5sZXguc3RydGVybSA9IG5ld19z
dHJ0ZXJtKFNUUl9ORVcodG9rKHApLCB0b2tsZW4ocCkpLCAvKiB0ZXJtICovCj4gKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcC0+bGV4Lmxhc3RsaW5lLCAvKiBsYXN0bGluZSAqLwo+
ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbiwgLyogbGFzdGlkeCAqLwo+ICsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAtPnJ1Ynlfc291cmNlbGluZSk7Cj4gKyAg
ICBwLT5sZXguc3RydGVybS0+ZmxhZ3MgfD0gU1RSVEVSTV9IRVJFRE9DOwo+ICsKPiArICAgIHRv
a2VuX2ZsdXNoKHApOwo+ICsgICAgcC0+aGVyZWRvY19pbmRlbnQgPSBpbmRlbnQ7Cj4gKyAgICBw
LT5oZXJlZG9jX2xpbmVfaW5kZW50ID0gMDsKPiArICAgIHJldHVybiB0b2tlbjsKPiArfQo+ICsK
PiArc3RhdGljIHZvaWQKPiAraGVyZWRvY19yZXN0b3JlKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpw
LCByYl9zdHJ0ZXJtX2hlcmVkb2NfdCAqaGVyZSkKPiArewo+ICsgICAgVkFMVUUgbGluZTsKPiAr
Cj4gKyAgICBwLT5sZXguc3RydGVybSA9IDA7Cj4gKyAgICBsaW5lID0gaGVyZS0+bGFzdGxpbmU7
Cj4gKyAgICBwLT5sZXgubGFzdGxpbmUgPSBsaW5lOwo+ICsgICAgcC0+bGV4LnBiZWcgPSBSU1RS
SU5HX1BUUihsaW5lKTsKPiArICAgIHAtPmxleC5wZW5kID0gcC0+bGV4LnBiZWcgKyBSU1RSSU5H
X0xFTihsaW5lKTsKPiArICAgIHAtPmxleC5wY3VyID0gcC0+bGV4LnBiZWcgKyBoZXJlLT51My5s
YXN0aWR4Owo+ICsgICAgcC0+aGVyZWRvY19lbmQgPSBwLT5ydWJ5X3NvdXJjZWxpbmU7Cj4gKyAg
ICBwLT5ydWJ5X3NvdXJjZWxpbmUgPSAoaW50KWhlcmUtPnNvdXJjZWxpbmU7Cj4gKyAgICB0b2tl
bl9mbHVzaChwKTsKPiArfQo+ICsKPiArc3RhdGljIGludAo+ICtkZWRlbnRfc3RyaW5nKFZBTFVF
IHN0cmluZywgaW50IHdpZHRoKQo+ICt7Cj4gKyAgICBjaGFyICpzdHI7Cj4gKyAgICBsb25nIGxl
bjsKPiArICAgIGludCBpLCBjb2wgPSAwOwo+ICsKPiArICAgIFJTVFJJTkdfR0VUTUVNKHN0cmlu
Zywgc3RyLCBsZW4pOwo+ICsgICAgZm9yIChpID0gMDsgaSA8IGxlbiAmJiBjb2wgPCB3aWR0aDsg
aSsrKSB7Cj4gKyAgICAgICBpZiAoc3RyW2ldID09ICcgJykgewo+ICsgICAgICAgICAgIGNvbCsr
Owo+ICsgICAgICAgfQo+ICsgICAgICAgZWxzZSBpZiAoc3RyW2ldID09ICdcdCcpIHsKPiArICAg
ICAgICAgICBpbnQgbiA9IFRBQl9XSURUSCAqIChjb2wgLyBUQUJfV0lEVEggKyAxKTsKPiArICAg
ICAgICAgICBpZiAobiA+IHdpZHRoKSBicmVhazsKPiArICAgICAgICAgICBjb2wgPSBuOwo+ICsg
ICAgICAgfQo+ICsgICAgICAgZWxzZSB7Cj4gKyAgICAgICAgICAgYnJlYWs7Cj4gKyAgICAgICB9
Cj4gKyAgICB9Cj4gKyAgICBpZiAoIWkpIHJldHVybiAwOwo+ICsgICAgcmJfc3RyX21vZGlmeShz
dHJpbmcpOwo+ICsgICAgc3RyID0gUlNUUklOR19QVFIoc3RyaW5nKTsKPiArICAgIGlmIChSU1RS
SU5HX0xFTihzdHJpbmcpICE9IGxlbikKPiArICAgICAgIHJiX2ZhdGFsKCJsaXRlcmFsIHN0cmlu
ZyBjaGFuZ2VkOiAlKyJQUklzVkFMVUUsIHN0cmluZyk7Cj4gKyAgICBNRU1NT1ZFKHN0ciwgc3Ry
ICsgaSwgY2hhciwgbGVuIC0gaSk7Cj4gKyAgICByYl9zdHJfc2V0X2xlbihzdHJpbmcsIGxlbiAt
IGkpOwo+ICsgICAgcmV0dXJuIGk7Cj4gK30KPiArCj4gKyNpZm5kZWYgUklQUEVSCj4gK3N0YXRp
YyBOT0RFICoKPiAraGVyZWRvY19kZWRlbnQoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIE5PREUg
KnJvb3QpCj4gK3sKPiArICAgIE5PREUgKm5vZGUsICpzdHJfbm9kZSwgKnByZXZfbm9kZTsKPiAr
ICAgIGludCBpbmRlbnQgPSBwLT5oZXJlZG9jX2luZGVudDsKPiArICAgIFZBTFVFIHByZXZfbGl0
ID0gMDsKPiArCj4gKyAgICBpZiAoaW5kZW50IDw9IDApIHJldHVybiByb290Owo+ICsgICAgcC0+
aGVyZWRvY19pbmRlbnQgPSAwOwo+ICsgICAgaWYgKCFyb290KSByZXR1cm4gcm9vdDsKPiArCj4g
KyAgICBwcmV2X25vZGUgPSBub2RlID0gc3RyX25vZGUgPSByb290Owo+ICsgICAgaWYgKG5kX3R5
cGUocm9vdCkgPT0gTk9ERV9BUlJBWSkgc3RyX25vZGUgPSByb290LT5uZF9oZWFkOwo+ICsKPiAr
ICAgIHdoaWxlIChzdHJfbm9kZSkgewo+ICsgICAgICAgVkFMVUUgbGl0ID0gc3RyX25vZGUtPm5k
X2xpdDsKPiArICAgICAgIGlmIChzdHJfbm9kZS0+ZmxhZ3MgJiBOT0RFX0ZMX05FV0xJTkUpIHsK
PiArICAgICAgICAgICBkZWRlbnRfc3RyaW5nKGxpdCwgaW5kZW50KTsKPiArICAgICAgIH0KPiAr
ICAgICAgIGlmICghcHJldl9saXQpIHsKPiArICAgICAgICAgICBwcmV2X2xpdCA9IGxpdDsKPiAr
ICAgICAgIH0KPiArICAgICAgIGVsc2UgaWYgKCFsaXRlcmFsX2NvbmNhdDAocCwgcHJldl9saXQs
IGxpdCkpIHsKPiArICAgICAgICAgICByZXR1cm4gMDsKPiArICAgICAgIH0KPiArICAgICAgIGVs
c2Ugewo+ICsgICAgICAgICAgIE5PREUgKmVuZCA9IG5vZGUtPm5kX2VuZDsKPiArICAgICAgICAg
ICBub2RlID0gcHJldl9ub2RlLT5uZF9uZXh0ID0gbm9kZS0+bmRfbmV4dDsKPiArICAgICAgICAg
ICBpZiAoIW5vZGUpIHsKPiArICAgICAgICAgICAgICAgaWYgKG5kX3R5cGUocHJldl9ub2RlKSA9
PSBOT0RFX0RTVFIpCj4gKyAgICAgICAgICAgICAgICAgICBuZF9zZXRfdHlwZShwcmV2X25vZGUs
IE5PREVfU1RSKTsKPiArICAgICAgICAgICAgICAgYnJlYWs7Cj4gKyAgICAgICAgICAgfQo+ICsg
ICAgICAgICAgIG5vZGUtPm5kX2VuZCA9IGVuZDsKPiArICAgICAgICAgICBnb3RvIG5leHRfc3Ry
Owo+ICsgICAgICAgfQo+ICsKPiArICAgICAgIHN0cl9ub2RlID0gMDsKPiArICAgICAgIHdoaWxl
ICgobm9kZSA9IChwcmV2X25vZGUgPSBub2RlKS0+bmRfbmV4dCkgIT0gMCkgewo+ICsgICAgICAg
ICBuZXh0X3N0cjoKPiArICAgICAgICAgICBpZiAobmRfdHlwZShub2RlKSAhPSBOT0RFX0FSUkFZ
KSBicmVhazsKPiArICAgICAgICAgICBpZiAoKHN0cl9ub2RlID0gbm9kZS0+bmRfaGVhZCkgIT0g
MCkgewo+ICsgICAgICAgICAgICAgICBlbnVtIG5vZGVfdHlwZSB0eXBlID0gbmRfdHlwZShzdHJf
bm9kZSk7Cj4gKyAgICAgICAgICAgICAgIGlmICh0eXBlID09IE5PREVfU1RSIHx8IHR5cGUgPT0g
Tk9ERV9EU1RSKSBicmVhazsKPiArICAgICAgICAgICAgICAgcHJldl9saXQgPSAwOwo+ICsgICAg
ICAgICAgICAgICBzdHJfbm9kZSA9IDA7Cj4gKyAgICAgICAgICAgfQo+ICsgICAgICAgfQo+ICsg
ICAgfQo+ICsgICAgcmV0dXJuIHJvb3Q7Cj4gK30KPiArI2Vsc2UgLyogUklQUEVSICovCj4gK3N0
YXRpYyBWQUxVRQo+ICtoZXJlZG9jX2RlZGVudChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgVkFM
VUUgYXJyYXkpCj4gK3sKPiArICAgIGludCBpbmRlbnQgPSBwLT5oZXJlZG9jX2luZGVudDsKPiAr
Cj4gKyAgICBpZiAoaW5kZW50IDw9IDApIHJldHVybiBhcnJheTsKPiArICAgIHAtPmhlcmVkb2Nf
aW5kZW50ID0gMDsKPiArICAgIGRpc3BhdGNoMihoZXJlZG9jX2RlZGVudCwgYXJyYXksIElOVDJO
VU0oaW5kZW50KSk7Cj4gKyAgICByZXR1cm4gYXJyYXk7Cj4gK30KPiArCj4gKy8qCj4gKyAqICBj
YWxsLXNlcToKPiArICogICAgUmlwcGVyLmRlZGVudF9zdHJpbmcoaW5wdXQsIHdpZHRoKSAgIC0+
IEludGVnZXIKPiArICoKPiArICogIFVTRSBPRiBSSVBQRVIgTElCUkFSWSBPTkxZLgo+ICsgKgo+
ICsgKiAgU3RyaXBzIHVwIHRvICt3aWR0aCsgbGVhZGluZyB3aGl0ZXNwYWNlcyBmcm9tICtpbnB1
dCssCj4gKyAqICBhbmQgcmV0dXJucyB0aGUgc3RyaXBwZWQgY29sdW1uIHdpZHRoLgo+ICsgKi8K
PiArc3RhdGljIFZBTFVFCj4gK3BhcnNlcl9kZWRlbnRfc3RyaW5nKFZBTFVFIHNlbGYsIFZBTFVF
IGlucHV0LCBWQUxVRSB3aWR0aCkKPiArewo+ICsgICAgaW50IHdpZCwgY29sOwo+ICsKPiArICAg
IFN0cmluZ1ZhbHVlKGlucHV0KTsKPiArICAgIHdpZCA9IE5VTTJVSU5UKHdpZHRoKTsKPiArICAg
IGNvbCA9IGRlZGVudF9zdHJpbmcoaW5wdXQsIHdpZCk7Cj4gKyAgICByZXR1cm4gSU5UMk5VTShj
b2wpOwo+ICt9Cj4gKyNlbmRpZgo+ICsKPiArc3RhdGljIGludAo+ICt3aG9sZV9tYXRjaF9wKHN0
cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBjb25zdCBjaGFyICplb3MsIGxvbmcgbGVuLCBpbnQgaW5k
ZW50KQo+ICt7Cj4gKyAgICBjb25zdCBjaGFyICpwdHIgPSBwLT5sZXgucGJlZzsKPiArICAgIGxv
bmcgbjsKPiArCj4gKyAgICBpZiAoaW5kZW50KSB7Cj4gKyAgICAgICB3aGlsZSAoKnB0ciAmJiBJ
U1NQQUNFKCpwdHIpKSBwdHIrKzsKPiArICAgIH0KPiArICAgIG4gPSBwLT5sZXgucGVuZCAtIChw
dHIgKyBsZW4pOwo+ICsgICAgaWYgKG4gPCAwKSByZXR1cm4gRkFMU0U7Cj4gKyAgICBpZiAobiA+
IDAgJiYgcHRyW2xlbl0gIT0gJ1xuJykgewo+ICsgICAgICAgaWYgKHB0cltsZW5dICE9ICdccicp
IHJldHVybiBGQUxTRTsKPiArICAgICAgIGlmIChuIDw9IDEgfHwgcHRyW2xlbisxXSAhPSAnXG4n
KSByZXR1cm4gRkFMU0U7Cj4gKyAgICB9Cj4gKyAgICByZXR1cm4gc3RybmNtcChlb3MsIHB0ciwg
bGVuKSA9PSAwOwo+ICt9Cj4gKwo+ICsjZGVmaW5lIE5VTV9TVUZGSVhfUiAgICgxPDwwKQo+ICsj
ZGVmaW5lIE5VTV9TVUZGSVhfSSAgICgxPDwxKQo+ICsjZGVmaW5lIE5VTV9TVUZGSVhfQUxMIDMK
PiArCj4gK3N0YXRpYyBpbnQKPiArbnVtYmVyX2xpdGVyYWxfc3VmZml4KHN0cnVjdCBwYXJzZXJf
cGFyYW1zICpwLCBpbnQgbWFzaykKPiArewo+ICsgICAgaW50IGMsIHJlc3VsdCA9IDA7Cj4gKyAg
ICBjb25zdCBjaGFyICpsYXN0cCA9IHAtPmxleC5wY3VyOwo+ICsKPiArICAgIHdoaWxlICgoYyA9
IG5leHRjKHApKSAhPSAtMSkgewo+ICsgICAgICAgaWYgKChtYXNrICYgTlVNX1NVRkZJWF9JKSAm
JiBjID09ICdpJykgewo+ICsgICAgICAgICAgIHJlc3VsdCB8PSAobWFzayAmIE5VTV9TVUZGSVhf
SSk7Cj4gKyAgICAgICAgICAgbWFzayAmPSB+TlVNX1NVRkZJWF9JOwo+ICsgICAgICAgICAgIC8q
IHIgYWZ0ZXIgaSwgcmF0aW9uYWwgb2YgY29tcGxleCBpcyBkaXNhbGxvd2VkICovCj4gKyAgICAg
ICAgICAgbWFzayAmPSB+TlVNX1NVRkZJWF9SOwo+ICsgICAgICAgICAgIGNvbnRpbnVlOwo+ICsg
ICAgICAgfQo+ICsgICAgICAgaWYgKChtYXNrICYgTlVNX1NVRkZJWF9SKSAmJiBjID09ICdyJykg
ewo+ICsgICAgICAgICAgIHJlc3VsdCB8PSAobWFzayAmIE5VTV9TVUZGSVhfUik7Cj4gKyAgICAg
ICAgICAgbWFzayAmPSB+TlVNX1NVRkZJWF9SOwo+ICsgICAgICAgICAgIGNvbnRpbnVlOwo+ICsg
ICAgICAgfQo+ICsgICAgICAgaWYgKCFJU0FTQ0lJKGMpIHx8IElTQUxQSEEoYykgfHwgYyA9PSAn
XycpIHsKPiArICAgICAgICAgICBwLT5sZXgucGN1ciA9IGxhc3RwOwo+ICsgICAgICAgICAgIGxp
dGVyYWxfZmx1c2gocCwgcC0+bGV4LnBjdXIpOwo+ICsgICAgICAgICAgIHJldHVybiAwOwo+ICsg
ICAgICAgfQo+ICsgICAgICAgcHVzaGJhY2socCwgYyk7Cj4gKyAgICAgICBpZiAoYyA9PSAnLicp
IHsKPiArICAgICAgICAgICBjID0gcGVla2NfbihwLCAxKTsKPiArICAgICAgICAgICBpZiAoSVNE
SUdJVChjKSkgewo+ICsgICAgICAgICAgICAgICB5eWVycm9yMCgidW5leHBlY3RlZCBmcmFjdGlv
biBwYXJ0IGFmdGVyIG51bWVyaWMgbGl0ZXJhbCIpOwo+ICsgICAgICAgICAgICAgICBwLT5sZXgu
cGN1ciArPSAyOwo+ICsgICAgICAgICAgICAgICB3aGlsZSAocGFyc2VyX2lzX2lkZW50Y2hhcihw
KSkgbmV4dGMocCk7Cj4gKyAgICAgICAgICAgfQo+ICsgICAgICAgfQo+ICsgICAgICAgYnJlYWs7
Cj4gKyAgICB9Cj4gKyAgICByZXR1cm4gcmVzdWx0Owo+ICt9Cj4gKwo+ICtzdGF0aWMgZW51bSB5
eXRva2VudHlwZQo+ICtzZXRfbnVtYmVyX2xpdGVyYWwoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAs
IFZBTFVFIHYsCj4gKyAgICAgICAgICAgICAgICAgIGVudW0geXl0b2tlbnR5cGUgdHlwZSwgaW50
IHN1ZmZpeCkKPiArewo+ICsgICAgaWYgKHN1ZmZpeCAmIE5VTV9TVUZGSVhfSSkgewo+ICsgICAg
ICAgdiA9IHJiX2NvbXBsZXhfcmF3KElOVDJGSVgoMCksIHYpOwo+ICsgICAgICAgdHlwZSA9IHRJ
TUFHSU5BUlk7Cj4gKyAgICB9Cj4gKyAgICBzZXRfeXlsdmFsX2xpdGVyYWwodik7Cj4gKyAgICBh
ZGRfbWFya19vYmplY3QocCwgdik7Cj4gKyAgICBTRVRfTEVYX1NUQVRFKEVYUFJfRU5EKTsKPiAr
ICAgIHJldHVybiB0eXBlOwo+ICt9Cj4gKwo+ICtzdGF0aWMgZW51bSB5eXRva2VudHlwZQo+ICtz
ZXRfaW50ZWdlcl9saXRlcmFsKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBWQUxVRSB2LCBpbnQg
c3VmZml4KQo+ICt7Cj4gKyAgICBlbnVtIHl5dG9rZW50eXBlIHR5cGUgPSB0SU5URUdFUjsKPiAr
ICAgIGlmIChzdWZmaXggJiBOVU1fU1VGRklYX1IpIHsKPiArICAgICAgIHYgPSByYl9yYXRpb25h
bF9yYXcxKHYpOwo+ICsgICAgICAgdHlwZSA9IHRSQVRJT05BTDsKPiArICAgIH0KPiArICAgIHJl
dHVybiBzZXRfbnVtYmVyX2xpdGVyYWwocCwgdiwgdHlwZSwgc3VmZml4KTsKPiArfQo+ICsKPiAr
I2lmZGVmIFJJUFBFUgo+ICtzdGF0aWMgdm9pZAo+ICtkaXNwYXRjaF9oZXJlZG9jX2VuZChzdHJ1
Y3QgcGFyc2VyX3BhcmFtcyAqcCkKPiArewo+ICsgICAgVkFMVUUgc3RyOwo+ICsgICAgaWYgKGhh
c19kZWxheWVkX3Rva2VuKHApKQo+ICsgICAgICAgZGlzcGF0Y2hfZGVsYXllZF90b2tlbihwLCB0
U1RSSU5HX0NPTlRFTlQpOwo+ICsgICAgc3RyID0gU1RSX05FVyhwLT5sZXgucHRvaywgcC0+bGV4
LnBlbmQgLSBwLT5sZXgucHRvayk7Cj4gKyAgICByaXBwZXJfZGlzcGF0Y2gxKHAsIHJpcHBlcl90
b2tlbjJldmVudGlkKHRIRVJFRE9DX0VORCksIHN0cik7Cj4gKyAgICBsZXhfZ290b19lb2wocCk7
Cj4gKyAgICB0b2tlbl9mbHVzaChwKTsKPiArfQo+ICsKPiArI2Vsc2UKPiArI2RlZmluZSBkaXNw
YXRjaF9oZXJlZG9jX2VuZChwKSAoKHZvaWQpMCkKPiArI2VuZGlmCj4gKwo+ICtzdGF0aWMgZW51
bSB5eXRva2VudHlwZQo+ICtoZXJlX2RvY3VtZW50KHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBy
Yl9zdHJ0ZXJtX2hlcmVkb2NfdCAqaGVyZSkKPiArewo+ICsgICAgaW50IGMsIGZ1bmMsIGluZGVu
dCA9IDA7Cj4gKyAgICBjb25zdCBjaGFyICplb3MsICpwdHIsICpwdHJfZW5kOwo+ICsgICAgbG9u
ZyBsZW47Cj4gKyAgICBWQUxVRSBzdHIgPSAwOwo+ICsgICAgcmJfZW5jb2RpbmcgKmVuYyA9IHAt
PmVuYzsKPiArICAgIHJiX2VuY29kaW5nICpiYXNlX2VuYyA9IDA7Cj4gKyAgICBpbnQgYm9sOwo+
ICsKPiArICAgIGVvcyA9IFJTVFJJTkdfUFRSKGhlcmUtPnRlcm0pOwo+ICsgICAgbGVuID0gUlNU
UklOR19MRU4oaGVyZS0+dGVybSkgLSAyOyAvKiBoZXJlLT50ZXJtIGluY2x1ZGVzIHRlcm1fbGVu
IGFuZCBmdW5jICovCj4gKyAgICBlb3MrKzsgLyogc2tpcCB0ZXJtX2xlbiAqLwo+ICsgICAgaW5k
ZW50ID0gKGZ1bmMgPSAqZW9zKyspICYgU1RSX0ZVTkNfSU5ERU5UOwo+ICsKPiArICAgIGlmICgo
YyA9IG5leHRjKHApKSA9PSAtMSkgewo+ICsgICAgICBlcnJvcjoKPiArICAgICAgIGNvbXBpbGVf
ZXJyb3IocCwgImNhbid0IGZpbmQgc3RyaW5nIFwiJXNcIiBhbnl3aGVyZSBiZWZvcmUgRU9GIiwg
ZW9zKTsKPiArI2lmZGVmIFJJUFBFUgo+ICsgICAgICAgaWYgKCFoYXNfZGVsYXllZF90b2tlbihw
KSkgewo+ICsgICAgICAgICAgIGRpc3BhdGNoX3NjYW5fZXZlbnQocCwgdFNUUklOR19DT05URU5U
KTsKPiArICAgICAgIH0KPiArICAgICAgIGVsc2Ugewo+ICsgICAgICAgICAgIGlmIChzdHIpIHsK
PiArICAgICAgICAgICAgICAgcmJfc3RyX2FwcGVuZChwLT5kZWxheWVkLCBzdHIpOwo+ICsgICAg
ICAgICAgIH0KPiArICAgICAgICAgICBlbHNlIGlmICgobGVuID0gcC0+bGV4LnBjdXIgLSBwLT5s
ZXgucHRvaykgPiAwKSB7Cj4gKyAgICAgICAgICAgICAgIGlmICghKGZ1bmMgJiBTVFJfRlVOQ19S
RUdFWFApICYmIHJiX2VuY19hc2NpaWNvbXBhdChlbmMpKSB7Cj4gKyAgICAgICAgICAgICAgICAg
ICBpbnQgY3IgPSBFTkNfQ09ERVJBTkdFX1VOS05PV047Cj4gKyAgICAgICAgICAgICAgICAgICBy
Yl9zdHJfY29kZXJhbmdlX3NjYW5fcmVzdGFydGFibGUocC0+bGV4LnB0b2ssIHAtPmxleC5wY3Vy
LCBlbmMsICZjcik7Cj4gKyAgICAgICAgICAgICAgICAgICBpZiAoY3IgIT0gRU5DX0NPREVSQU5H
RV83QklUICYmCj4gKyAgICAgICAgICAgICAgICAgICAgICAgcC0+ZW5jID09IHJiX3VzYXNjaWlf
ZW5jb2RpbmcoKSAmJgo+ICsgICAgICAgICAgICAgICAgICAgICAgIGVuYyAhPSByYl91dGY4X2Vu
Y29kaW5nKCkpIHsKPiArICAgICAgICAgICAgICAgICAgICAgICBlbmMgPSByYl9hc2NpaThiaXRf
ZW5jb2RpbmcoKTsKPiArICAgICAgICAgICAgICAgICAgIH0KPiArICAgICAgICAgICAgICAgfQo+
ICsgICAgICAgICAgICAgICByYl9lbmNfc3RyX2J1Zl9jYXQocC0+ZGVsYXllZCwgcC0+bGV4LnB0
b2ssIGxlbiwgZW5jKTsKPiArICAgICAgICAgICB9Cj4gKyAgICAgICAgICAgZGlzcGF0Y2hfZGVs
YXllZF90b2tlbihwLCB0U1RSSU5HX0NPTlRFTlQpOwo+ICsgICAgICAgfQo+ICsgICAgICAgbGV4
X2dvdG9fZW9sKHApOwo+ICsjZW5kaWYKPiArICAgICAgcmVzdG9yZToKPiArICAgICAgIGhlcmVk
b2NfcmVzdG9yZShwLCAmcC0+bGV4LnN0cnRlcm0tPnUuaGVyZWRvYyk7Cj4gKyAgICAgICBwLT5s
ZXguc3RydGVybSA9IDA7Cj4gKyAgICAgICByZXR1cm4gMDsKPiArICAgIH0KPiArICAgIGJvbCA9
IHdhc19ib2wocCk7Cj4gKyAgICAvKiBgaGVyZWRvY19saW5lX2luZGVudCA9PSAtMWAgbWVhbnMK
PiArICAgICAqIC0gImFmdGVyIGFuIGludGVycG9sYXRpb24gaW4gdGhlIHNhbWUgbGluZSIsIG9y
Cj4gKyAgICAgKiAtICJpbiBhIGNvbnRpbnVpbmcgbGluZSIKPiArICAgICAqLwo+ICsgICAgaWYg
KGJvbCAmJgo+ICsgICAgICAgKHAtPmhlcmVkb2NfbGluZV9pbmRlbnQgIT0gLTEgfHwgKHAtPmhl
cmVkb2NfbGluZV9pbmRlbnQgPSAwKSkgJiYKPiArICAgICAgIHdob2xlX21hdGNoX3AocCwgZW9z
LCBsZW4sIGluZGVudCkpIHsKPiArICAgICAgIGRpc3BhdGNoX2hlcmVkb2NfZW5kKHApOwo+ICsg
ICAgICAgaGVyZWRvY19yZXN0b3JlKHAsICZwLT5sZXguc3RydGVybS0+dS5oZXJlZG9jKTsKPiAr
ICAgICAgIHAtPmxleC5zdHJ0ZXJtID0gMDsKPiArICAgICAgIFNFVF9MRVhfU1RBVEUoRVhQUl9F
TkQpOwo+ICsgICAgICAgcmV0dXJuIHRTVFJJTkdfRU5EOwo+ICsgICAgfQo+ICsKPiArICAgIGlm
ICghKGZ1bmMgJiBTVFJfRlVOQ19FWFBBTkQpKSB7Cj4gKyAgICAgICBkbyB7Cj4gKyAgICAgICAg
ICAgcHRyID0gUlNUUklOR19QVFIocC0+bGV4Lmxhc3RsaW5lKTsKPiArICAgICAgICAgICBwdHJf
ZW5kID0gcC0+bGV4LnBlbmQ7Cj4gKyAgICAgICAgICAgaWYgKHB0cl9lbmQgPiBwdHIpIHsKPiAr
ICAgICAgICAgICAgICAgc3dpdGNoIChwdHJfZW5kWy0xXSkgewo+ICsgICAgICAgICAgICAgICAg
IGNhc2UgJ1xuJzoKPiArICAgICAgICAgICAgICAgICAgIGlmICgtLXB0cl9lbmQgPT0gcHRyIHx8
IHB0cl9lbmRbLTFdICE9ICdccicpIHsKPiArICAgICAgICAgICAgICAgICAgICAgICBwdHJfZW5k
Kys7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Cj4gKyAgICAgICAgICAgICAgICAg
ICB9Cj4gKyAgICAgICAgICAgICAgICAgY2FzZSAnXHInOgo+ICsgICAgICAgICAgICAgICAgICAg
LS1wdHJfZW5kOwo+ICsgICAgICAgICAgICAgICB9Cj4gKyAgICAgICAgICAgfQo+ICsKPiArICAg
ICAgICAgICBpZiAocC0+aGVyZWRvY19pbmRlbnQgPiAwKSB7Cj4gKyAgICAgICAgICAgICAgIGxv
bmcgaSA9IDA7Cj4gKyAgICAgICAgICAgICAgIHdoaWxlIChwdHIgKyBpIDwgcHRyX2VuZCAmJiBw
YXJzZXJfdXBkYXRlX2hlcmVkb2NfaW5kZW50KHAsIHB0cltpXSkpCj4gKyAgICAgICAgICAgICAg
ICAgICBpKys7Cj4gKyAgICAgICAgICAgICAgIHAtPmhlcmVkb2NfbGluZV9pbmRlbnQgPSAwOwo+
ICsgICAgICAgICAgIH0KPiArCj4gKyAgICAgICAgICAgaWYgKHN0cikKPiArICAgICAgICAgICAg
ICAgcmJfc3RyX2NhdChzdHIsIHB0ciwgcHRyX2VuZCAtIHB0cik7Cj4gKyAgICAgICAgICAgZWxz
ZQo+ICsgICAgICAgICAgICAgICBzdHIgPSBTVFJfTkVXKHB0ciwgcHRyX2VuZCAtIHB0cik7Cj4g
KyAgICAgICAgICAgaWYgKHB0cl9lbmQgPCBwLT5sZXgucGVuZCkgcmJfc3RyX2NhdChzdHIsICJc
biIsIDEpOwo+ICsgICAgICAgICAgIGxleF9nb3RvX2VvbChwKTsKPiArICAgICAgICAgICBpZiAo
cC0+aGVyZWRvY19pbmRlbnQgPiAwKSB7Cj4gKyAgICAgICAgICAgICAgIGdvdG8gZmx1c2hfc3Ry
Owo+ICsgICAgICAgICAgIH0KPiArICAgICAgICAgICBpZiAobmV4dGMocCkgPT0gLTEpIHsKPiAr
ICAgICAgICAgICAgICAgaWYgKHN0cikgewo+ICsgICAgICAgICAgICAgICAgICAgc3RyID0gMDsK
PiArICAgICAgICAgICAgICAgfQo+ICsgICAgICAgICAgICAgICBnb3RvIGVycm9yOwo+ICsgICAg
ICAgICAgIH0KPiArICAgICAgIH0gd2hpbGUgKCF3aG9sZV9tYXRjaF9wKHAsIGVvcywgbGVuLCBp
bmRlbnQpKTsKPiArICAgIH0KPiArICAgIGVsc2Ugewo+ICsgICAgICAgLyogICAgICBpbnQgbWIg
PSBFTkNfQ09ERVJBTkdFXzdCSVQsICptYnAgPSAmbWI7Ki8KPiArICAgICAgIG5ld3RvayhwKTsK
PiArICAgICAgIGlmIChjID09ICcjJykgewo+ICsgICAgICAgICAgIGludCB0ID0gcGFyc2VyX3Bl
ZWtfdmFyaWFibGVfbmFtZShwKTsKPiArICAgICAgICAgICBpZiAocC0+aGVyZWRvY19saW5lX2lu
ZGVudCAhPSAtMSkgewo+ICsgICAgICAgICAgICAgICBpZiAocC0+aGVyZWRvY19pbmRlbnQgPiBw
LT5oZXJlZG9jX2xpbmVfaW5kZW50KSB7Cj4gKyAgICAgICAgICAgICAgICAgICBwLT5oZXJlZG9j
X2luZGVudCA9IHAtPmhlcmVkb2NfbGluZV9pbmRlbnQ7Cj4gKyAgICAgICAgICAgICAgIH0KPiAr
ICAgICAgICAgICAgICAgcC0+aGVyZWRvY19saW5lX2luZGVudCA9IC0xOwo+ICsgICAgICAgICAg
IH0KPiArICAgICAgICAgICBpZiAodCkgcmV0dXJuIHQ7Cj4gKyAgICAgICAgICAgdG9rYWRkKHAs
ICcjJyk7Cj4gKyAgICAgICAgICAgYyA9IG5leHRjKHApOwo+ICsgICAgICAgfQo+ICsgICAgICAg
ZG8gewo+ICsgICAgICAgICAgIHB1c2hiYWNrKHAsIGMpOwo+ICsgICAgICAgICAgIGVuYyA9IHAt
PmVuYzsKPiArICAgICAgICAgICBpZiAoKGMgPSB0b2thZGRfc3RyaW5nKHAsIGZ1bmMsICdcbics
IDAsIE5VTEwsICZlbmMsICZiYXNlX2VuYykpID09IC0xKSB7Cj4gKyAgICAgICAgICAgICAgIGlm
IChwLT5lb2ZwKSBnb3RvIGVycm9yOwo+ICsgICAgICAgICAgICAgICBnb3RvIHJlc3RvcmU7Cj4g
KyAgICAgICAgICAgfQo+ICsgICAgICAgICAgIGlmIChjICE9ICdcbicpIHsKPiArICAgICAgICAg
ICAgICAgaWYgKGMgPT0gJ1xcJykgcC0+aGVyZWRvY19saW5lX2luZGVudCA9IC0xOwo+ICsgICAg
ICAgICAgICAgZmx1c2g6Cj4gKyAgICAgICAgICAgICAgIHN0ciA9IFNUUl9ORVczKHRvayhwKSwg
dG9rbGVuKHApLCBlbmMsIGZ1bmMpOwo+ICsgICAgICAgICAgICAgZmx1c2hfc3RyOgo+ICsgICAg
ICAgICAgICAgICBzZXRfeXlsdmFsX3N0cihzdHIpOwo+ICsgICAgICAgICAgICAgICBhZGRfbWFy
a19vYmplY3QocCwgc3RyKTsKPiArI2lmbmRlZiBSSVBQRVIKPiArICAgICAgICAgICAgICAgaWYg
KGJvbCkgeXlsdmFsLm5vZGUtPmZsYWdzIHw9IE5PREVfRkxfTkVXTElORTsKPiArI2VuZGlmCj4g
KyAgICAgICAgICAgICAgIGZsdXNoX3N0cmluZ19jb250ZW50KHAsIGVuYyk7Cj4gKyAgICAgICAg
ICAgICAgIHJldHVybiB0U1RSSU5HX0NPTlRFTlQ7Cj4gKyAgICAgICAgICAgfQo+ICsgICAgICAg
ICAgIHRva2FkZChwLCBuZXh0YyhwKSk7Cj4gKyAgICAgICAgICAgaWYgKHAtPmhlcmVkb2NfaW5k
ZW50ID4gMCkgewo+ICsgICAgICAgICAgICAgICBsZXhfZ290b19lb2wocCk7Cj4gKyAgICAgICAg
ICAgICAgIGdvdG8gZmx1c2g7Cj4gKyAgICAgICAgICAgfQo+ICsgICAgICAgICAgIC8qICAgICAg
aWYgKG1icCAmJiBtYiA9PSBFTkNfQ09ERVJBTkdFX1VOS05PV04pIG1icCA9IDA7Ki8KPiArICAg
ICAgICAgICBpZiAoKGMgPSBuZXh0YyhwKSkgPT0gLTEpIGdvdG8gZXJyb3I7Cj4gKyAgICAgICB9
IHdoaWxlICghd2hvbGVfbWF0Y2hfcChwLCBlb3MsIGxlbiwgaW5kZW50KSk7Cj4gKyAgICAgICBz
dHIgPSBTVFJfTkVXMyh0b2socCksIHRva2xlbihwKSwgZW5jLCBmdW5jKTsKPiArICAgIH0KPiAr
ICAgIGRpc3BhdGNoX2hlcmVkb2NfZW5kKHApOwo+ICsjaWZkZWYgUklQUEVSCj4gKyAgICBzdHIg
PSByaXBwZXJfbmV3X3l5bHZhbChwLCByaXBwZXJfdG9rZW4yZXZlbnRpZCh0U1RSSU5HX0NPTlRF
TlQpLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICB5eWx2YWwudmFsLCBzdHIpOwo+ICsj
ZW5kaWYKPiArICAgIGhlcmVkb2NfcmVzdG9yZShwLCAmcC0+bGV4LnN0cnRlcm0tPnUuaGVyZWRv
Yyk7Cj4gKyAgICBwLT5sZXguc3RydGVybSA9IE5FV19TVFJURVJNKGZ1bmMgfCBTVFJfRlVOQ19U
RVJNLCAwLCAwKTsKPiArICAgIHNldF95eWx2YWxfc3RyKHN0cik7Cj4gKyAgICBhZGRfbWFya19v
YmplY3QocCwgc3RyKTsKPiArI2lmbmRlZiBSSVBQRVIKPiArICAgIGlmIChib2wpIHl5bHZhbC5u
b2RlLT5mbGFncyB8PSBOT0RFX0ZMX05FV0xJTkU7Cj4gKyNlbmRpZgo+ICsgICAgcmV0dXJuIHRT
VFJJTkdfQ09OVEVOVDsKPiArfQo+ICsKPiArI2luY2x1ZGUgImxleC5jIgo+ICsKPiArc3RhdGlj
IGludAo+ICthcmdfYW1iaWd1b3VzKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBjaGFyIGMpCj4g
K3sKPiArI2lmbmRlZiBSSVBQRVIKPiArICAgIHJiX3dhcm5pbmcxKCJhbWJpZ3VvdXMgZmlyc3Qg
YXJndW1lbnQ7IHB1dCBwYXJlbnRoZXNlcyBvciBhIHNwYWNlIGV2ZW4gYWZ0ZXIgYCVjJyBvcGVy
YXRvciIsIFdBUk5fSShjKSk7Cj4gKyNlbHNlCj4gKyAgICBkaXNwYXRjaDEoYXJnX2FtYmlndW91
cywgcmJfdXNhc2NpaV9zdHJfbmV3KCZjLCAxKSk7Cj4gKyNlbmRpZgo+ICsgICAgcmV0dXJuIFRS
VUU7Cj4gK30KPiArCj4gK3N0YXRpYyBJRAo+ICtmb3JtYWxfYXJndW1lbnQoc3RydWN0IHBhcnNl
cl9wYXJhbXMgKnAsIElEIGxocykKPiArewo+ICsgICAgc3dpdGNoIChpZF90eXBlKGxocykpIHsK
PiArICAgICAgY2FzZSBJRF9MT0NBTDoKPiArICAgICAgIGJyZWFrOwo+ICsjaWZuZGVmIFJJUFBF
Ugo+ICsgICAgICBjYXNlIElEX0NPTlNUOgo+ICsgICAgICAgeXllcnJvcjAoImZvcm1hbCBhcmd1
bWVudCBjYW5ub3QgYmUgYSBjb25zdGFudCIpOwo+ICsgICAgICAgcmV0dXJuIDA7Cj4gKyAgICAg
IGNhc2UgSURfSU5TVEFOQ0U6Cj4gKyAgICAgICB5eWVycm9yMCgiZm9ybWFsIGFyZ3VtZW50IGNh
bm5vdCBiZSBhbiBpbnN0YW5jZSB2YXJpYWJsZSIpOwo+ICsgICAgICAgcmV0dXJuIDA7Cj4gKyAg
ICAgIGNhc2UgSURfR0xPQkFMOgo+ICsgICAgICAgeXllcnJvcjAoImZvcm1hbCBhcmd1bWVudCBj
YW5ub3QgYmUgYSBnbG9iYWwgdmFyaWFibGUiKTsKPiArICAgICAgIHJldHVybiAwOwo+ICsgICAg
ICBjYXNlIElEX0NMQVNTOgo+ICsgICAgICAgeXllcnJvcjAoImZvcm1hbCBhcmd1bWVudCBjYW5u
b3QgYmUgYSBjbGFzcyB2YXJpYWJsZSIpOwo+ICsgICAgICAgcmV0dXJuIDA7Cj4gKyAgICAgIGRl
ZmF1bHQ6Cj4gKyAgICAgICB5eWVycm9yMCgiZm9ybWFsIGFyZ3VtZW50IG11c3QgYmUgbG9jYWwg
dmFyaWFibGUiKTsKPiArICAgICAgIHJldHVybiAwOwo+ICsjZWxzZQo+ICsgICAgICBkZWZhdWx0
Ogo+ICsgICAgICAgbGhzID0gZGlzcGF0Y2gxKHBhcmFtX2Vycm9yLCBsaHMpOwo+ICsgICAgICAg
cmlwcGVyX2Vycm9yKHApOwo+ICsgICAgICAgcmV0dXJuIDA7Cj4gKyNlbmRpZgo+ICsgICAgfQo+
ICsgICAgc2hhZG93aW5nX2x2YXIocCwgbGhzKTsKPiArICAgIHJldHVybiBsaHM7Cj4gK30KPiAr
Cj4gK3N0YXRpYyBpbnQKPiArbHZhcl9kZWZpbmVkKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBJ
RCBpZCkKPiArewo+ICsgICAgcmV0dXJuIChkeW5hX2luX2Jsb2NrKHApICYmIGR2YXJfZGVmaW5l
ZChwLCBpZCkpIHx8IGxvY2FsX2lkKHAsIGlkKTsKPiArfQo+ICsKPiArLyogZW1hY3NlbiAtKi0g
aGFjayAqLwo+ICtzdGF0aWMgbG9uZwo+ICtwYXJzZXJfZW5jb2RlX2xlbmd0aChzdHJ1Y3QgcGFy
c2VyX3BhcmFtcyAqcCwgY29uc3QgY2hhciAqbmFtZSwgbG9uZyBsZW4pCj4gK3sKPiArICAgIGxv
bmcgbmxlbjsKPiArCj4gKyAgICBpZiAobGVuID4gNSAmJiBuYW1lW25sZW4gPSBsZW4gLSA1XSA9
PSAnLScpIHsKPiArICAgICAgIGlmIChyYl9tZW1jaWNtcChuYW1lICsgbmxlbiArIDEsICJ1bml4
IiwgNCkgPT0gMCkKPiArICAgICAgICAgICByZXR1cm4gbmxlbjsKPiArICAgIH0KPiArICAgIGlm
IChsZW4gPiA0ICYmIG5hbWVbbmxlbiA9IGxlbiAtIDRdID09ICctJykgewo+ICsgICAgICAgaWYg
KHJiX21lbWNpY21wKG5hbWUgKyBubGVuICsgMSwgImRvcyIsIDMpID09IDApCj4gKyAgICAgICAg
ICAgcmV0dXJuIG5sZW47Cj4gKyAgICAgICBpZiAocmJfbWVtY2ljbXAobmFtZSArIG5sZW4gKyAx
LCAibWFjIiwgMykgPT0gMCAmJgo+ICsgICAgICAgICAgICEobGVuID09IDggJiYgcmJfbWVtY2lj
bXAobmFtZSwgInV0ZjgtbWFjIiwgbGVuKSA9PSAwKSkKPiArICAgICAgICAgICAvKiBleGNsdWRl
IFVURjgtTUFDIGJlY2F1c2UgdGhlIGVuY29kaW5nIG5hbWVkICJVVEY4IiBkb2Vzbid0IGV4aXN0
IGluIFJ1YnkgKi8KPiArICAgICAgICAgICByZXR1cm4gbmxlbjsKPiArICAgIH0KPiArICAgIHJl
dHVybiBsZW47Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkCj4gK3BhcnNlcl9zZXRfZW5jb2RlKHN0
cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBjb25zdCBjaGFyICpuYW1lKQo+ICt7Cj4gKyAgICBpbnQg
aWR4ID0gcmJfZW5jX2ZpbmRfaW5kZXgobmFtZSk7Cj4gKyAgICByYl9lbmNvZGluZyAqZW5jOwo+
ICsgICAgVkFMVUUgZXhjYXJnc1szXTsKPiArCj4gKyAgICBpZiAoaWR4IDwgMCkgewo+ICsgICAg
ICAgZXhjYXJnc1sxXSA9IHJiX3NwcmludGYoInVua25vd24gZW5jb2RpbmcgbmFtZTogJXMiLCBu
YW1lKTsKPiArICAgICAgZXJyb3I6Cj4gKyAgICAgICBleGNhcmdzWzBdID0gcmJfZUFyZ0Vycm9y
Owo+ICsgICAgICAgZXhjYXJnc1syXSA9IHJiX21ha2VfYmFja3RyYWNlKCk7Cj4gKyAgICAgICBy
Yl9hcnlfdW5zaGlmdChleGNhcmdzWzJdLCByYl9zcHJpbnRmKCIlIlBSSXNWQUxVRSI6JWQiLCBw
LT5ydWJ5X3NvdXJjZWZpbGVfc3RyaW5nLCBwLT5ydWJ5X3NvdXJjZWxpbmUpKTsKPiArICAgICAg
IHJiX2V4Y19yYWlzZShyYl9tYWtlX2V4Y2VwdGlvbigzLCBleGNhcmdzKSk7Cj4gKyAgICB9Cj4g
KyAgICBlbmMgPSByYl9lbmNfZnJvbV9pbmRleChpZHgpOwo+ICsgICAgaWYgKCFyYl9lbmNfYXNj
aWljb21wYXQoZW5jKSkgewo+ICsgICAgICAgZXhjYXJnc1sxXSA9IHJiX3NwcmludGYoIiVzIGlz
IG5vdCBBU0NJSSBjb21wYXRpYmxlIiwgcmJfZW5jX25hbWUoZW5jKSk7Cj4gKyAgICAgICBnb3Rv
IGVycm9yOwo+ICsgICAgfQo+ICsgICAgcC0+ZW5jID0gZW5jOwo+ICsjaWZuZGVmIFJJUFBFUgo+
ICsgICAgaWYgKHAtPmRlYnVnX2xpbmVzKSB7Cj4gKyAgICAgICBWQUxVRSBsaW5lcyA9IHAtPmRl
YnVnX2xpbmVzOwo+ICsgICAgICAgbG9uZyBpLCBuID0gUkFSUkFZX0xFTihsaW5lcyk7Cj4gKyAg
ICAgICBmb3IgKGkgPSAwOyBpIDwgbjsgKytpKSB7Cj4gKyAgICAgICAgICAgcmJfZW5jX2Fzc29j
aWF0ZV9pbmRleChSQVJSQVlfQVJFRihsaW5lcywgaSksIGlkeCk7Cj4gKyAgICAgICB9Cj4gKyAg
ICB9Cj4gKyNlbmRpZgo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50Cj4gK2NvbW1lbnRfYXRfdG9wKHN0
cnVjdCBwYXJzZXJfcGFyYW1zICpwKQo+ICt7Cj4gKyAgICBjb25zdCBjaGFyICpwdHIgPSBwLT5s
ZXgucGJlZywgKnB0cl9lbmQgPSBwLT5sZXgucGN1ciAtIDE7Cj4gKyAgICBpZiAocC0+bGluZV9j
b3VudCAhPSAocC0+aGFzX3NoZWJhbmcgPyAyIDogMSkpIHJldHVybiAwOwo+ICsgICAgd2hpbGUg
KHB0ciA8IHB0cl9lbmQpIHsKPiArICAgICAgIGlmICghSVNTUEFDRSgqcHRyKSkgcmV0dXJuIDA7
Cj4gKyAgICAgICBwdHIrKzsKPiArICAgIH0KPiArICAgIHJldHVybiAxOwo+ICt9Cj4gKwo+ICt0
eXBlZGVmIGxvbmcgKCpyYl9tYWdpY19jb21tZW50X2xlbmd0aF90KShzdHJ1Y3QgcGFyc2VyX3Bh
cmFtcyAqcCwgY29uc3QgY2hhciAqbmFtZSwgbG9uZyBsZW4pOwo+ICt0eXBlZGVmIHZvaWQgKCpy
Yl9tYWdpY19jb21tZW50X3NldHRlcl90KShzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgY29uc3Qg
Y2hhciAqbmFtZSwgY29uc3QgY2hhciAqdmFsKTsKPiArCj4gK3N0YXRpYyB2b2lkCj4gK21hZ2lj
X2NvbW1lbnRfZW5jb2Rpbmcoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIGNvbnN0IGNoYXIgKm5h
bWUsIGNvbnN0IGNoYXIgKnZhbCkKPiArewo+ICsgICAgaWYgKCFjb21tZW50X2F0X3RvcChwKSkg
ewo+ICsgICAgICAgcmV0dXJuOwo+ICsgICAgfQo+ICsgICAgcGFyc2VyX3NldF9lbmNvZGUocCwg
dmFsKTsKPiArfQo+ICsKPiArc3RhdGljIGludAo+ICtwYXJzZXJfZ2V0X2Jvb2woc3RydWN0IHBh
cnNlcl9wYXJhbXMgKnAsIGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKnZhbCkKPiArewo+
ICsgICAgc3dpdGNoICgqdmFsKSB7Cj4gKyAgICAgIGNhc2UgJ3QnOiBjYXNlICdUJzoKPiArICAg
ICAgIGlmIChzdHJjYXNlY21wKHZhbCwgInRydWUiKSA9PSAwKSB7Cj4gKyAgICAgICAgICAgcmV0
dXJuIFRSVUU7Cj4gKyAgICAgICB9Cj4gKyAgICAgICBicmVhazsKPiArICAgICAgY2FzZSAnZic6
IGNhc2UgJ0YnOgo+ICsgICAgICAgaWYgKHN0cmNhc2VjbXAodmFsLCAiZmFsc2UiKSA9PSAwKSB7
Cj4gKyAgICAgICAgICAgcmV0dXJuIEZBTFNFOwo+ICsgICAgICAgfQo+ICsgICAgICAgYnJlYWs7
Cj4gKyAgICB9Cj4gKyAgICByYl9jb21waWxlX3dhcm5pbmcocC0+cnVieV9zb3VyY2VmaWxlLCBw
LT5ydWJ5X3NvdXJjZWxpbmUsICJpbnZhbGlkIHZhbHVlIGZvciAlczogJXMiLCBuYW1lLCB2YWwp
Owo+ICsgICAgcmV0dXJuIC0xOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZAo+ICtwYXJzZXJfc2V0
X3Rva2VuX2luZm8oc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIGNvbnN0IGNoYXIgKm5hbWUsIGNv
bnN0IGNoYXIgKnZhbCkKPiArewo+ICsgICAgaW50IGIgPSBwYXJzZXJfZ2V0X2Jvb2wocCwgbmFt
ZSwgdmFsKTsKPiArICAgIGlmIChiID49IDApIHAtPnRva2VuX2luZm9fZW5hYmxlZCA9IGI7Cj4g
K30KPiArCj4gK3N0YXRpYyB2b2lkCj4gK3BhcnNlcl9zZXRfY29tcGlsZV9vcHRpb25fZmxhZyhz
dHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqdmFs
KQo+ICt7Cj4gKyAgICBpbnQgYjsKPiArCj4gKyAgICBpZiAocC0+dG9rZW5fc2Vlbikgewo+ICsg
ICAgICAgcmJfd2FybmluZzEoImAlcycgaXMgaWdub3JlZCBhZnRlciBhbnkgdG9rZW5zIiwgV0FS
Tl9TKG5hbWUpKTsKPiArICAgICAgIHJldHVybjsKPiArICAgIH0KPiArCj4gKyAgICBiID0gcGFy
c2VyX2dldF9ib29sKHAsIG5hbWUsIHZhbCk7Cj4gKyAgICBpZiAoYiA8IDApIHJldHVybjsKPiAr
Cj4gKyAgICBpZiAoIXAtPmNvbXBpbGVfb3B0aW9uKQo+ICsgICAgICAgcC0+Y29tcGlsZV9vcHRp
b24gPSByYl9vYmpfaGlkZShyYl9pZGVudF9oYXNoX25ldygpKTsKPiArICAgIHJiX2hhc2hfYXNl
dChwLT5jb21waWxlX29wdGlvbiwgSUQyU1lNKHJiX2ludGVybihuYW1lKSksCj4gKyAgICAgICAg
ICAgICAgICAoYiA/IFF0cnVlIDogUWZhbHNlKSk7Cj4gK30KPiArCj4gKyMgaWYgV0FSTl9QQVNU
X1NDT1BFCj4gK3N0YXRpYyB2b2lkCj4gK3BhcnNlcl9zZXRfcGFzdF9zY29wZShzdHJ1Y3QgcGFy
c2VyX3BhcmFtcyAqcCwgY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqdmFsKQo+ICt7Cj4g
KyAgICBpbnQgYiA9IHBhcnNlcl9nZXRfYm9vbChwLCBuYW1lLCB2YWwpOwo+ICsgICAgaWYgKGIg
Pj0gMCkgcC0+cGFzdF9zY29wZV9lbmFibGVkID0gYjsKPiArfQo+ICsjIGVuZGlmCj4gKwo+ICtz
dHJ1Y3QgbWFnaWNfY29tbWVudCB7Cj4gKyAgICBjb25zdCBjaGFyICpuYW1lOwo+ICsgICAgcmJf
bWFnaWNfY29tbWVudF9zZXR0ZXJfdCBmdW5jOwo+ICsgICAgcmJfbWFnaWNfY29tbWVudF9sZW5n
dGhfdCBsZW5ndGg7Cj4gK307Cj4gKwo+ICtzdGF0aWMgY29uc3Qgc3RydWN0IG1hZ2ljX2NvbW1l
bnQgbWFnaWNfY29tbWVudHNbXSA9IHsKPiArICAgIHsiY29kaW5nIiwgbWFnaWNfY29tbWVudF9l
bmNvZGluZywgcGFyc2VyX2VuY29kZV9sZW5ndGh9LAo+ICsgICAgeyJlbmNvZGluZyIsIG1hZ2lj
X2NvbW1lbnRfZW5jb2RpbmcsIHBhcnNlcl9lbmNvZGVfbGVuZ3RofSwKPiArICAgIHsiZnJvemVu
X3N0cmluZ19saXRlcmFsIiwgcGFyc2VyX3NldF9jb21waWxlX29wdGlvbl9mbGFnfSwKPiArICAg
IHsid2Fybl9pbmRlbnQiLCBwYXJzZXJfc2V0X3Rva2VuX2luZm99LAo+ICsjIGlmIFdBUk5fUEFT
VF9TQ09QRQo+ICsgICAgeyJ3YXJuX3Bhc3Rfc2NvcGUiLCBwYXJzZXJfc2V0X3Bhc3Rfc2NvcGV9
LAo+ICsjIGVuZGlmCj4gK307Cj4gKwo+ICtzdGF0aWMgY29uc3QgY2hhciAqCj4gK21hZ2ljX2Nv
bW1lbnRfbWFya2VyKGNvbnN0IGNoYXIgKnN0ciwgbG9uZyBsZW4pCj4gK3sKPiArICAgIGxvbmcg
aSA9IDI7Cj4gKwo+ICsgICAgd2hpbGUgKGkgPCBsZW4pIHsKPiArICAgICAgIHN3aXRjaCAoc3Ry
W2ldKSB7Cj4gKyAgICAgICAgIGNhc2UgJy0nOgo+ICsgICAgICAgICAgIGlmIChzdHJbaS0xXSA9
PSAnKicgJiYgc3RyW2ktMl0gPT0gJy0nKSB7Cj4gKyAgICAgICAgICAgICAgIHJldHVybiBzdHIg
KyBpICsgMTsKPiArICAgICAgICAgICB9Cj4gKyAgICAgICAgICAgaSArPSAyOwo+ICsgICAgICAg
ICAgIGJyZWFrOwo+ICsgICAgICAgICBjYXNlICcqJzoKPiArICAgICAgICAgICBpZiAoaSArIDEg
Pj0gbGVuKSByZXR1cm4gMDsKPiArICAgICAgICAgICBpZiAoc3RyW2krMV0gIT0gJy0nKSB7Cj4g
KyAgICAgICAgICAgICAgIGkgKz0gNDsKPiArICAgICAgICAgICB9Cj4gKyAgICAgICAgICAgZWxz
ZSBpZiAoc3RyW2ktMV0gIT0gJy0nKSB7Cj4gKyAgICAgICAgICAgICAgIGkgKz0gMjsKPiArICAg
ICAgICAgICB9Cj4gKyAgICAgICAgICAgZWxzZSB7Cj4gKyAgICAgICAgICAgICAgIHJldHVybiBz
dHIgKyBpICsgMjsKPiArICAgICAgICAgICB9Cj4gKyAgICAgICAgICAgYnJlYWs7Cj4gKyAgICAg
ICAgIGRlZmF1bHQ6Cj4gKyAgICAgICAgICAgaSArPSAzOwo+ICsgICAgICAgICAgIGJyZWFrOwo+
ICsgICAgICAgfQo+ICsgICAgfQo+ICsgICAgcmV0dXJuIDA7Cj4gK30KPiArCj4gK3N0YXRpYyBp
bnQKPiArcGFyc2VyX21hZ2ljX2NvbW1lbnQoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIGNvbnN0
IGNoYXIgKnN0ciwgbG9uZyBsZW4pCj4gK3sKPiArICAgIGludCBpbmRpY2F0b3IgPSAwOwo+ICsg
ICAgVkFMVUUgbmFtZSA9IDAsIHZhbCA9IDA7Cj4gKyAgICBjb25zdCBjaGFyICpiZWcsICplbmQs
ICp2YmVnLCAqdmVuZDsKPiArI2RlZmluZSBzdHJfY29weShfcywgX3AsIF9uKSAoKF9zKSBcCj4g
KyAgICAgICA/ICh2b2lkKShyYl9zdHJfcmVzaXplKChfcyksIChfbikpLCBcCj4gKyAgICAgICAg
ICBNRU1DUFkoUlNUUklOR19QVFIoX3MpLCAoX3ApLCBjaGFyLCAoX24pKSwgKF9zKSkgXAo+ICsg
ICAgICAgOiAodm9pZCkoKF9zKSA9IFNUUl9ORVcoKF9wKSwgKF9uKSkpKQo+ICsKPiArICAgIGlm
IChsZW4gPD0gNykgcmV0dXJuIEZBTFNFOwo+ICsgICAgaWYgKCEhKGJlZyA9IG1hZ2ljX2NvbW1l
bnRfbWFya2VyKHN0ciwgbGVuKSkpIHsKPiArICAgICAgIGlmICghKGVuZCA9IG1hZ2ljX2NvbW1l
bnRfbWFya2VyKGJlZywgc3RyICsgbGVuIC0gYmVnKSkpCj4gKyAgICAgICAgICAgcmV0dXJuIEZB
TFNFOwo+ICsgICAgICAgaW5kaWNhdG9yID0gVFJVRTsKPiArICAgICAgIHN0ciA9IGJlZzsKPiAr
ICAgICAgIGxlbiA9IGVuZCAtIGJlZyAtIDM7Cj4gKyAgICB9Cj4gKwo+ICsgICAgLyogJXIiKFte
XFxzXCdcIjo7XSspXFxzKjpcXHMqKFwiKD86XFxcXC58W15cIl0pKlwifFteXCJcXHM7XSspW1xc
cztdKiIgKi8KPiArICAgIHdoaWxlIChsZW4gPiAwKSB7Cj4gKyAgICAgICBjb25zdCBzdHJ1Y3Qg
bWFnaWNfY29tbWVudCAqbWMgPSBtYWdpY19jb21tZW50czsKPiArICAgICAgIGNoYXIgKnM7Cj4g
KyAgICAgICBpbnQgaTsKPiArICAgICAgIGxvbmcgbiA9IDA7Cj4gKwo+ICsgICAgICAgZm9yICg7
IGxlbiA+IDAgJiYgKnN0cjsgc3RyKyssIC0tbGVuKSB7Cj4gKyAgICAgICAgICAgc3dpdGNoICgq
c3RyKSB7Cj4gKyAgICAgICAgICAgICBjYXNlICdcJyc6IGNhc2UgJyInOiBjYXNlICc6JzogY2Fz
ZSAnOyc6Cj4gKyAgICAgICAgICAgICAgIGNvbnRpbnVlOwo+ICsgICAgICAgICAgIH0KPiArICAg
ICAgICAgICBpZiAoIUlTU1BBQ0UoKnN0cikpIGJyZWFrOwo+ICsgICAgICAgfQo+ICsgICAgICAg
Zm9yIChiZWcgPSBzdHI7IGxlbiA+IDA7IHN0cisrLCAtLWxlbikgewo+ICsgICAgICAgICAgIHN3
aXRjaCAoKnN0cikgewo+ICsgICAgICAgICAgICAgY2FzZSAnXCcnOiBjYXNlICciJzogY2FzZSAn
Oic6IGNhc2UgJzsnOgo+ICsgICAgICAgICAgICAgICBicmVhazsKPiArICAgICAgICAgICAgIGRl
ZmF1bHQ6Cj4gKyAgICAgICAgICAgICAgIGlmIChJU1NQQUNFKCpzdHIpKSBicmVhazsKPiArICAg
ICAgICAgICAgICAgY29udGludWU7Cj4gKyAgICAgICAgICAgfQo+ICsgICAgICAgICAgIGJyZWFr
Owo+ICsgICAgICAgfQo+ICsgICAgICAgZm9yIChlbmQgPSBzdHI7IGxlbiA+IDAgJiYgSVNTUEFD
RSgqc3RyKTsgc3RyKyssIC0tbGVuKTsKPiArICAgICAgIGlmICghbGVuKSBicmVhazsKPiArICAg
ICAgIGlmICgqc3RyICE9ICc6Jykgewo+ICsgICAgICAgICAgIGlmICghaW5kaWNhdG9yKSByZXR1
cm4gRkFMU0U7Cj4gKyAgICAgICAgICAgY29udGludWU7Cj4gKyAgICAgICB9Cj4gKwo+ICsgICAg
ICAgZG8gc3RyKys7IHdoaWxlICgtLWxlbiA+IDAgJiYgSVNTUEFDRSgqc3RyKSk7Cj4gKyAgICAg
ICBpZiAoIWxlbikgYnJlYWs7Cj4gKyAgICAgICBpZiAoKnN0ciA9PSAnIicpIHsKPiArICAgICAg
ICAgICBmb3IgKHZiZWcgPSArK3N0cjsgLS1sZW4gPiAwICYmICpzdHIgIT0gJyInOyBzdHIrKykg
ewo+ICsgICAgICAgICAgICAgICBpZiAoKnN0ciA9PSAnXFwnKSB7Cj4gKyAgICAgICAgICAgICAg
ICAgICAtLWxlbjsKPiArICAgICAgICAgICAgICAgICAgICsrc3RyOwo+ICsgICAgICAgICAgICAg
ICB9Cj4gKyAgICAgICAgICAgfQo+ICsgICAgICAgICAgIHZlbmQgPSBzdHI7Cj4gKyAgICAgICAg
ICAgaWYgKGxlbikgewo+ICsgICAgICAgICAgICAgICAtLWxlbjsKPiArICAgICAgICAgICAgICAg
KytzdHI7Cj4gKyAgICAgICAgICAgfQo+ICsgICAgICAgfQo+ICsgICAgICAgZWxzZSB7Cj4gKyAg
ICAgICAgICAgZm9yICh2YmVnID0gc3RyOyBsZW4gPiAwICYmICpzdHIgIT0gJyInICYmICpzdHIg
IT0gJzsnICYmICFJU1NQQUNFKCpzdHIpOyAtLWxlbiwgc3RyKyspOwo+ICsgICAgICAgICAgIHZl
bmQgPSBzdHI7Cj4gKyAgICAgICB9Cj4gKyAgICAgICBpZiAoaW5kaWNhdG9yKSB7Cj4gKyAgICAg
ICAgICAgd2hpbGUgKGxlbiA+IDAgJiYgKCpzdHIgPT0gJzsnIHx8IElTU1BBQ0UoKnN0cikpKSAt
LWxlbiwgc3RyKys7Cj4gKyAgICAgICB9Cj4gKyAgICAgICBlbHNlIHsKPiArICAgICAgICAgICB3
aGlsZSAobGVuID4gMCAmJiAoSVNTUEFDRSgqc3RyKSkpIC0tbGVuLCBzdHIrKzsKPiArICAgICAg
ICAgICBpZiAobGVuKSByZXR1cm4gRkFMU0U7Cj4gKyAgICAgICB9Cj4gKwo+ICsgICAgICAgbiA9
IGVuZCAtIGJlZzsKPiArICAgICAgIHN0cl9jb3B5KG5hbWUsIGJlZywgbik7Cj4gKyAgICAgICBz
ID0gUlNUUklOR19QVFIobmFtZSk7Cj4gKyAgICAgICBmb3IgKGkgPSAwOyBpIDwgbjsgKytpKSB7
Cj4gKyAgICAgICAgICAgaWYgKHNbaV0gPT0gJy0nKSBzW2ldID0gJ18nOwo+ICsgICAgICAgfQo+
ICsgICAgICAgZG8gewo+ICsgICAgICAgICAgIGlmIChTVFJOQ0FTRUNNUChtYy0+bmFtZSwgcywg
bikgPT0gMCAmJiAhbWMtPm5hbWVbbl0pIHsKPiArICAgICAgICAgICAgICAgbiA9IHZlbmQgLSB2
YmVnOwo+ICsgICAgICAgICAgICAgICBpZiAobWMtPmxlbmd0aCkgewo+ICsgICAgICAgICAgICAg
ICAgICAgbiA9ICgqbWMtPmxlbmd0aCkocCwgdmJlZywgbik7Cj4gKyAgICAgICAgICAgICAgIH0K
PiArICAgICAgICAgICAgICAgc3RyX2NvcHkodmFsLCB2YmVnLCBuKTsKPiArICAgICAgICAgICAg
ICAgKCptYy0+ZnVuYykocCwgbWMtPm5hbWUsIFJTVFJJTkdfUFRSKHZhbCkpOwo+ICsgICAgICAg
ICAgICAgICBicmVhazsKPiArICAgICAgICAgICB9Cj4gKyAgICAgICB9IHdoaWxlICgrK21jIDwg
bWFnaWNfY29tbWVudHMgKyBudW1iZXJvZihtYWdpY19jb21tZW50cykpOwo+ICsjaWZkZWYgUklQ
UEVSCj4gKyAgICAgICBzdHJfY29weSh2YWwsIHZiZWcsIHZlbmQgLSB2YmVnKTsKPiArICAgICAg
IGRpc3BhdGNoMihtYWdpY19jb21tZW50LCBuYW1lLCB2YWwpOwo+ICsjZW5kaWYKPiArICAgIH0K
PiArCj4gKyAgICByZXR1cm4gVFJVRTsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQKPiArc2V0X2Zp
bGVfZW5jb2Rpbmcoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIGNvbnN0IGNoYXIgKnN0ciwgY29u
c3QgY2hhciAqc2VuZCkKPiArewo+ICsgICAgaW50IHNlcCA9IDA7Cj4gKyAgICBjb25zdCBjaGFy
ICpiZWcgPSBzdHI7Cj4gKyAgICBWQUxVRSBzOwo+ICsKPiArICAgIGZvciAoOzspIHsKPiArICAg
ICAgIGlmIChzZW5kIC0gc3RyIDw9IDYpIHJldHVybjsKPiArICAgICAgIHN3aXRjaCAoc3RyWzZd
KSB7Cj4gKyAgICAgICAgIGNhc2UgJ0MnOiBjYXNlICdjJzogc3RyICs9IDY7IGNvbnRpbnVlOwo+
ICsgICAgICAgICBjYXNlICdPJzogY2FzZSAnbyc6IHN0ciArPSA1OyBjb250aW51ZTsKPiArICAg
ICAgICAgY2FzZSAnRCc6IGNhc2UgJ2QnOiBzdHIgKz0gNDsgY29udGludWU7Cj4gKyAgICAgICAg
IGNhc2UgJ0knOiBjYXNlICdpJzogc3RyICs9IDM7IGNvbnRpbnVlOwo+ICsgICAgICAgICBjYXNl
ICdOJzogY2FzZSAnbic6IHN0ciArPSAyOyBjb250aW51ZTsKPiArICAgICAgICAgY2FzZSAnRyc6
IGNhc2UgJ2cnOiBzdHIgKz0gMTsgY29udGludWU7Cj4gKyAgICAgICAgIGNhc2UgJz0nOiBjYXNl
ICc6JzoKPiArICAgICAgICAgICBzZXAgPSAxOwo+ICsgICAgICAgICAgIHN0ciArPSA2Owo+ICsg
ICAgICAgICAgIGJyZWFrOwo+ICsgICAgICAgICBkZWZhdWx0Ogo+ICsgICAgICAgICAgIHN0ciAr
PSA2Owo+ICsgICAgICAgICAgIGlmIChJU1NQQUNFKCpzdHIpKSBicmVhazsKPiArICAgICAgICAg
ICBjb250aW51ZTsKPiArICAgICAgIH0KPiArICAgICAgIGlmIChTVFJOQ0FTRUNNUChzdHItNiwg
ImNvZGluZyIsIDYpID09IDApIGJyZWFrOwo+ICsgICAgfQo+ICsgICAgZm9yICg7Oykgewo+ICsg
ICAgICAgZG8gewo+ICsgICAgICAgICAgIGlmICgrK3N0ciA+PSBzZW5kKSByZXR1cm47Cj4gKyAg
ICAgICB9IHdoaWxlIChJU1NQQUNFKCpzdHIpKTsKPiArICAgICAgIGlmIChzZXApIGJyZWFrOwo+
ICsgICAgICAgaWYgKCpzdHIgIT0gJz0nICYmICpzdHIgIT0gJzonKSByZXR1cm47Cj4gKyAgICAg
ICBzZXAgPSAxOwo+ICsgICAgICAgc3RyKys7Cj4gKyAgICB9Cj4gKyAgICBiZWcgPSBzdHI7Cj4g
KyAgICB3aGlsZSAoKCpzdHIgPT0gJy0nIHx8ICpzdHIgPT0gJ18nIHx8IElTQUxOVU0oKnN0cikp
ICYmICsrc3RyIDwgc2VuZCk7Cj4gKyAgICBzID0gcmJfc3RyX25ldyhiZWcsIHBhcnNlcl9lbmNv
ZGVfbGVuZ3RoKHAsIGJlZywgc3RyIC0gYmVnKSk7Cj4gKyAgICBwYXJzZXJfc2V0X2VuY29kZShw
LCBSU1RSSU5HX1BUUihzKSk7Cj4gKyAgICByYl9zdHJfcmVzaXplKHMsIDApOwo+ICt9Cj4gKwo+
ICtzdGF0aWMgdm9pZAo+ICtwYXJzZXJfcHJlcGFyZShzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCkK
PiArewo+ICsgICAgaW50IGMgPSBuZXh0YyhwKTsKPiArICAgIHAtPnRva2VuX2luZm9fZW5hYmxl
ZCA9ICFjb21waWxlX2Zvcl9ldmFsICYmIFJURVNUKHJ1YnlfdmVyYm9zZSk7Cj4gKyAgICBzd2l0
Y2ggKGMpIHsKPiArICAgICAgY2FzZSAnIyc6Cj4gKyAgICAgICBpZiAocGVlayhwLCAnIScpKSBw
LT5oYXNfc2hlYmFuZyA9IDE7Cj4gKyAgICAgICBicmVhazsKPiArICAgICAgY2FzZSAweGVmOiAg
ICAgICAgICAgICAgIC8qIFVURi04IEJPTSBtYXJrZXIgKi8KPiArICAgICAgIGlmIChwLT5sZXgu
cGVuZCAtIHAtPmxleC5wY3VyID49IDIgJiYKPiArICAgICAgICAgICAodW5zaWduZWQgY2hhcilw
LT5sZXgucGN1clswXSA9PSAweGJiICYmCj4gKyAgICAgICAgICAgKHVuc2lnbmVkIGNoYXIpcC0+
bGV4LnBjdXJbMV0gPT0gMHhiZikgewo+ICsgICAgICAgICAgIHAtPmVuYyA9IHJiX3V0ZjhfZW5j
b2RpbmcoKTsKPiArICAgICAgICAgICBwLT5sZXgucGN1ciArPSAyOwo+ICsgICAgICAgICAgIHAt
PmxleC5wYmVnID0gcC0+bGV4LnBjdXI7Cj4gKyAgICAgICAgICAgcmV0dXJuOwo+ICsgICAgICAg
fQo+ICsgICAgICAgYnJlYWs7Cj4gKyAgICAgIGNhc2UgRU9GOgo+ICsgICAgICAgcmV0dXJuOwo+
ICsgICAgfQo+ICsgICAgcHVzaGJhY2socCwgYyk7Cj4gKyAgICBwLT5lbmMgPSByYl9lbmNfZ2V0
KHAtPmxleC5sYXN0bGluZSk7Cj4gK30KPiArCj4gKyNpZm5kZWYgUklQUEVSCj4gKyNkZWZpbmUg
YW1iaWd1b3VzX29wZXJhdG9yKHRvaywgb3AsIHN5bikgKCBcCj4gKyAgICByYl93YXJuaW5nMCgi
YCJvcCInIGFmdGVyIGxvY2FsIHZhcmlhYmxlIG9yIGxpdGVyYWwgaXMgaW50ZXJwcmV0ZWQgYXMg
YmluYXJ5IG9wZXJhdG9yIiksIFwKPiArICAgIHJiX3dhcm5pbmcwKCJldmVuIHRob3VnaCBpdCBz
ZWVtcyBsaWtlICJzeW4iIikpCj4gKyNlbHNlCj4gKyNkZWZpbmUgYW1iaWd1b3VzX29wZXJhdG9y
KHRvaywgb3AsIHN5bikgXAo+ICsgICAgZGlzcGF0Y2gyKG9wZXJhdG9yX2FtYmlndW91cywgVE9L
RU4yVkFMKHRvayksIHJiX3N0cl9uZXdfY3N0cihzeW4pKQo+ICsjZW5kaWYKPiArI2RlZmluZSB3
YXJuX2JhbGFuY2VkKHRvaywgb3AsIHN5bikgKCh2b2lkKSBcCj4gKyAgICAoIUlTX2xleF9zdGF0
ZV9mb3IobGFzdF9zdGF0ZSwgRVhQUl9DTEFTU3xFWFBSX0RPVHxFWFBSX0ZOQU1FfEVYUFJfRU5E
Rk4pICYmIFwKPiArICAgICBzcGFjZV9zZWVuICYmICFJU1NQQUNFKGMpICYmIFwKPiArICAgICAo
YW1iaWd1b3VzX29wZXJhdG9yKHRvaywgb3AsIHN5biksIDApKSwgXAo+ICsgICAgIChlbnVtIHl5
dG9rZW50eXBlKSh0b2spKQo+ICsKPiArc3RhdGljIFZBTFVFCj4gK3BhcnNlX3JhdGlvbmFsKHN0
cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBjaGFyICpzdHIsIGludCBsZW4sIGludCBzZWVuX3BvaW50
KQo+ICt7Cj4gKyAgICBWQUxVRSB2Owo+ICsgICAgY2hhciAqcG9pbnQgPSAmc3RyW3NlZW5fcG9p
bnRdOwo+ICsgICAgc2l6ZV90IGZyYWNsZW4gPSBsZW4tc2Vlbl9wb2ludC0xOwo+ICsgICAgbWVt
bW92ZShwb2ludCwgcG9pbnQrMSwgZnJhY2xlbisxKTsKPiArICAgIHYgPSByYl9jc3RyX3RvX2lu
dW0oc3RyLCAxMCwgRkFMU0UpOwo+ICsgICAgcmV0dXJuIHJiX3JhdGlvbmFsX25ldyh2LCByYl9p
bnRfcG9zaXRpdmVfcG93KDEwLCBmcmFjbGVuKSk7Cj4gK30KPiArCj4gK3N0YXRpYyBlbnVtIHl5
dG9rZW50eXBlCj4gK25vX2RpZ2l0cyhzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCkKPiArewo+ICsg
ICAgeXllcnJvcjAoIm51bWVyaWMgbGl0ZXJhbCB3aXRob3V0IGRpZ2l0cyIpOwo+ICsgICAgaWYg
KHBlZWsocCwgJ18nKSkgbmV4dGMocCk7Cj4gKyAgICAvKiBkdW1teSAwLCBmb3IgdFVNSU5VU19O
VU0gYXQgbnVtZXJpYyAqLwo+ICsgICAgcmV0dXJuIHNldF9pbnRlZ2VyX2xpdGVyYWwocCwgSU5U
MkZJWCgwKSwgMCk7Cj4gK30KPiArCj4gK3N0YXRpYyBlbnVtIHl5dG9rZW50eXBlCj4gK3BhcnNl
X251bWVyaWMoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIGludCBjKQo+ICt7Cj4gKyAgICBpbnQg
aXNfZmxvYXQsIHNlZW5fcG9pbnQsIHNlZW5fZSwgbm9uZGlnaXQ7Cj4gKyAgICBpbnQgc3VmZml4
Owo+ICsKPiArICAgIGlzX2Zsb2F0ID0gc2Vlbl9wb2ludCA9IHNlZW5fZSA9IG5vbmRpZ2l0ID0g
MDsKPiArICAgIFNFVF9MRVhfU1RBVEUoRVhQUl9FTkQpOwo+ICsgICAgbmV3dG9rKHApOwo+ICsg
ICAgaWYgKGMgPT0gJy0nIHx8IGMgPT0gJysnKSB7Cj4gKyAgICAgICB0b2thZGQocCwgYyk7Cj4g
KyAgICAgICBjID0gbmV4dGMocCk7Cj4gKyAgICB9Cj4gKyAgICBpZiAoYyA9PSAnMCcpIHsKPiAr
ICAgICAgIGludCBzdGFydCA9IHRva2xlbihwKTsKPiArICAgICAgIGMgPSBuZXh0YyhwKTsKPiAr
ICAgICAgIGlmIChjID09ICd4JyB8fCBjID09ICdYJykgewo+ICsgICAgICAgICAgIC8qIGhleGFk
ZWNpbWFsICovCj4gKyAgICAgICAgICAgYyA9IG5leHRjKHApOwo+ICsgICAgICAgICAgIGlmIChj
ICE9IC0xICYmIElTWERJR0lUKGMpKSB7Cj4gKyAgICAgICAgICAgICAgIGRvIHsKPiArICAgICAg
ICAgICAgICAgICAgIGlmIChjID09ICdfJykgewo+ICsgICAgICAgICAgICAgICAgICAgICAgIGlm
IChub25kaWdpdCkgYnJlYWs7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgbm9uZGlnaXQgPSBj
Owo+ICsgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwo+ICsgICAgICAgICAgICAgICAg
ICAgfQo+ICsgICAgICAgICAgICAgICAgICAgaWYgKCFJU1hESUdJVChjKSkgYnJlYWs7Cj4gKyAg
ICAgICAgICAgICAgICAgICBub25kaWdpdCA9IDA7Cj4gKyAgICAgICAgICAgICAgICAgICB0b2th
ZGQocCwgYyk7Cj4gKyAgICAgICAgICAgICAgIH0gd2hpbGUgKChjID0gbmV4dGMocCkpICE9IC0x
KTsKPiArICAgICAgICAgICB9Cj4gKyAgICAgICAgICAgcHVzaGJhY2socCwgYyk7Cj4gKyAgICAg
ICAgICAgdG9rZml4KHApOwo+ICsgICAgICAgICAgIGlmICh0b2tsZW4ocCkgPT0gc3RhcnQpIHsK
PiArICAgICAgICAgICAgICAgcmV0dXJuIG5vX2RpZ2l0cyhwKTsKPiArICAgICAgICAgICB9Cj4g
KyAgICAgICAgICAgZWxzZSBpZiAobm9uZGlnaXQpIGdvdG8gdHJhaWxpbmdfdWM7Cj4gKyAgICAg
ICAgICAgc3VmZml4ID0gbnVtYmVyX2xpdGVyYWxfc3VmZml4KHAsIE5VTV9TVUZGSVhfQUxMKTsK
PiArICAgICAgICAgICByZXR1cm4gc2V0X2ludGVnZXJfbGl0ZXJhbChwLCByYl9jc3RyX3RvX2lu
dW0odG9rKHApLCAxNiwgRkFMU0UpLCBzdWZmaXgpOwo+ICsgICAgICAgfQo+ICsgICAgICAgaWYg
KGMgPT0gJ2InIHx8IGMgPT0gJ0InKSB7Cj4gKyAgICAgICAgICAgLyogYmluYXJ5ICovCj4gKyAg
ICAgICAgICAgYyA9IG5leHRjKHApOwo+ICsgICAgICAgICAgIGlmIChjID09ICcwJyB8fCBjID09
ICcxJykgewo+ICsgICAgICAgICAgICAgICBkbyB7Cj4gKyAgICAgICAgICAgICAgICAgICBpZiAo
YyA9PSAnXycpIHsKPiArICAgICAgICAgICAgICAgICAgICAgICBpZiAobm9uZGlnaXQpIGJyZWFr
Owo+ICsgICAgICAgICAgICAgICAgICAgICAgIG5vbmRpZ2l0ID0gYzsKPiArICAgICAgICAgICAg
ICAgICAgICAgICBjb250aW51ZTsKPiArICAgICAgICAgICAgICAgICAgIH0KPiArICAgICAgICAg
ICAgICAgICAgIGlmIChjICE9ICcwJyAmJiBjICE9ICcxJykgYnJlYWs7Cj4gKyAgICAgICAgICAg
ICAgICAgICBub25kaWdpdCA9IDA7Cj4gKyAgICAgICAgICAgICAgICAgICB0b2thZGQocCwgYyk7
Cj4gKyAgICAgICAgICAgICAgIH0gd2hpbGUgKChjID0gbmV4dGMocCkpICE9IC0xKTsKPiArICAg
ICAgICAgICB9Cj4gKyAgICAgICAgICAgcHVzaGJhY2socCwgYyk7Cj4gKyAgICAgICAgICAgdG9r
Zml4KHApOwo+ICsgICAgICAgICAgIGlmICh0b2tsZW4ocCkgPT0gc3RhcnQpIHsKPiArICAgICAg
ICAgICAgICAgcmV0dXJuIG5vX2RpZ2l0cyhwKTsKPiArICAgICAgICAgICB9Cj4gKyAgICAgICAg
ICAgZWxzZSBpZiAobm9uZGlnaXQpIGdvdG8gdHJhaWxpbmdfdWM7Cj4gKyAgICAgICAgICAgc3Vm
Zml4ID0gbnVtYmVyX2xpdGVyYWxfc3VmZml4KHAsIE5VTV9TVUZGSVhfQUxMKTsKPiArICAgICAg
ICAgICByZXR1cm4gc2V0X2ludGVnZXJfbGl0ZXJhbChwLCByYl9jc3RyX3RvX2ludW0odG9rKHAp
LCAyLCBGQUxTRSksIHN1ZmZpeCk7Cj4gKyAgICAgICB9Cj4gKyAgICAgICBpZiAoYyA9PSAnZCcg
fHwgYyA9PSAnRCcpIHsKPiArICAgICAgICAgICAvKiBkZWNpbWFsICovCj4gKyAgICAgICAgICAg
YyA9IG5leHRjKHApOwo+ICsgICAgICAgICAgIGlmIChjICE9IC0xICYmIElTRElHSVQoYykpIHsK
PiArICAgICAgICAgICAgICAgZG8gewo+ICsgICAgICAgICAgICAgICAgICAgaWYgKGMgPT0gJ18n
KSB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgaWYgKG5vbmRpZ2l0KSBicmVhazsKPiArICAg
ICAgICAgICAgICAgICAgICAgICBub25kaWdpdCA9IGM7Cj4gKyAgICAgICAgICAgICAgICAgICAg
ICAgY29udGludWU7Cj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyAgICAgICAgICAgICAgICAg
ICBpZiAoIUlTRElHSVQoYykpIGJyZWFrOwo+ICsgICAgICAgICAgICAgICAgICAgbm9uZGlnaXQg
PSAwOwo+ICsgICAgICAgICAgICAgICAgICAgdG9rYWRkKHAsIGMpOwo+ICsgICAgICAgICAgICAg
ICB9IHdoaWxlICgoYyA9IG5leHRjKHApKSAhPSAtMSk7Cj4gKyAgICAgICAgICAgfQo+ICsgICAg
ICAgICAgIHB1c2hiYWNrKHAsIGMpOwo+ICsgICAgICAgICAgIHRva2ZpeChwKTsKPiArICAgICAg
ICAgICBpZiAodG9rbGVuKHApID09IHN0YXJ0KSB7Cj4gKyAgICAgICAgICAgICAgIHJldHVybiBu
b19kaWdpdHMocCk7Cj4gKyAgICAgICAgICAgfQo+ICsgICAgICAgICAgIGVsc2UgaWYgKG5vbmRp
Z2l0KSBnb3RvIHRyYWlsaW5nX3VjOwo+ICsgICAgICAgICAgIHN1ZmZpeCA9IG51bWJlcl9saXRl
cmFsX3N1ZmZpeChwLCBOVU1fU1VGRklYX0FMTCk7Cj4gKyAgICAgICAgICAgcmV0dXJuIHNldF9p
bnRlZ2VyX2xpdGVyYWwocCwgcmJfY3N0cl90b19pbnVtKHRvayhwKSwgMTAsIEZBTFNFKSwgc3Vm
Zml4KTsKPiArICAgICAgIH0KPiArICAgICAgIGlmIChjID09ICdfJykgewo+ICsgICAgICAgICAg
IC8qIDBfMCAqLwo+ICsgICAgICAgICAgIGdvdG8gb2N0YWxfbnVtYmVyOwo+ICsgICAgICAgfQo+
ICsgICAgICAgaWYgKGMgPT0gJ28nIHx8IGMgPT0gJ08nKSB7Cj4gKyAgICAgICAgICAgLyogcHJl
Zml4ZWQgb2N0YWwgKi8KPiArICAgICAgICAgICBjID0gbmV4dGMocCk7Cj4gKyAgICAgICAgICAg
aWYgKGMgPT0gLTEgfHwgYyA9PSAnXycgfHwgIUlTRElHSVQoYykpIHsKPiArICAgICAgICAgICAg
ICAgcmV0dXJuIG5vX2RpZ2l0cyhwKTsKPiArICAgICAgICAgICB9Cj4gKyAgICAgICB9Cj4gKyAg
ICAgICBpZiAoYyA+PSAnMCcgJiYgYyA8PSAnNycpIHsKPiArICAgICAgICAgICAvKiBvY3RhbCAq
Lwo+ICsgICAgICAgICBvY3RhbF9udW1iZXI6Cj4gKyAgICAgICAgICAgZG8gewo+ICsgICAgICAg
ICAgICAgICBpZiAoYyA9PSAnXycpIHsKPiArICAgICAgICAgICAgICAgICAgIGlmIChub25kaWdp
dCkgYnJlYWs7Cj4gKyAgICAgICAgICAgICAgICAgICBub25kaWdpdCA9IGM7Cj4gKyAgICAgICAg
ICAgICAgICAgICBjb250aW51ZTsKPiArICAgICAgICAgICAgICAgfQo+ICsgICAgICAgICAgICAg
ICBpZiAoYyA8ICcwJyB8fCBjID4gJzknKSBicmVhazsKPiArICAgICAgICAgICAgICAgaWYgKGMg
PiAnNycpIGdvdG8gaW52YWxpZF9vY3RhbDsKPiArICAgICAgICAgICAgICAgbm9uZGlnaXQgPSAw
Owo+ICsgICAgICAgICAgICAgICB0b2thZGQocCwgYyk7Cj4gKyAgICAgICAgICAgfSB3aGlsZSAo
KGMgPSBuZXh0YyhwKSkgIT0gLTEpOwo+ICsgICAgICAgICAgIGlmICh0b2tsZW4ocCkgPiBzdGFy
dCkgewo+ICsgICAgICAgICAgICAgICBwdXNoYmFjayhwLCBjKTsKPiArICAgICAgICAgICAgICAg
dG9rZml4KHApOwo+ICsgICAgICAgICAgICAgICBpZiAobm9uZGlnaXQpIGdvdG8gdHJhaWxpbmdf
dWM7Cj4gKyAgICAgICAgICAgICAgIHN1ZmZpeCA9IG51bWJlcl9saXRlcmFsX3N1ZmZpeChwLCBO
VU1fU1VGRklYX0FMTCk7Cj4gKyAgICAgICAgICAgICAgIHJldHVybiBzZXRfaW50ZWdlcl9saXRl
cmFsKHAsIHJiX2NzdHJfdG9faW51bSh0b2socCksIDgsIEZBTFNFKSwgc3VmZml4KTsKPiArICAg
ICAgICAgICB9Cj4gKyAgICAgICAgICAgaWYgKG5vbmRpZ2l0KSB7Cj4gKyAgICAgICAgICAgICAg
IHB1c2hiYWNrKHAsIGMpOwo+ICsgICAgICAgICAgICAgICBnb3RvIHRyYWlsaW5nX3VjOwo+ICsg
ICAgICAgICAgIH0KPiArICAgICAgIH0KPiArICAgICAgIGlmIChjID4gJzcnICYmIGMgPD0gJzkn
KSB7Cj4gKyAgICAgICAgIGludmFsaWRfb2N0YWw6Cj4gKyAgICAgICAgICAgeXllcnJvcjAoIklu
dmFsaWQgb2N0YWwgZGlnaXQiKTsKPiArICAgICAgIH0KPiArICAgICAgIGVsc2UgaWYgKGMgPT0g
Jy4nIHx8IGMgPT0gJ2UnIHx8IGMgPT0gJ0UnKSB7Cj4gKyAgICAgICAgICAgdG9rYWRkKHAsICcw
Jyk7Cj4gKyAgICAgICB9Cj4gKyAgICAgICBlbHNlIHsKPiArICAgICAgICAgICBwdXNoYmFjayhw
LCBjKTsKPiArICAgICAgICAgICBzdWZmaXggPSBudW1iZXJfbGl0ZXJhbF9zdWZmaXgocCwgTlVN
X1NVRkZJWF9BTEwpOwo+ICsgICAgICAgICAgIHJldHVybiBzZXRfaW50ZWdlcl9saXRlcmFsKHAs
IElOVDJGSVgoMCksIHN1ZmZpeCk7Cj4gKyAgICAgICB9Cj4gKyAgICB9Cj4gKwo+ICsgICAgZm9y
ICg7Oykgewo+ICsgICAgICAgc3dpdGNoIChjKSB7Cj4gKyAgICAgICAgIGNhc2UgJzAnOiBjYXNl
ICcxJzogY2FzZSAnMic6IGNhc2UgJzMnOiBjYXNlICc0JzoKPiArICAgICAgICAgY2FzZSAnNSc6
IGNhc2UgJzYnOiBjYXNlICc3JzogY2FzZSAnOCc6IGNhc2UgJzknOgo+ICsgICAgICAgICAgIG5v
bmRpZ2l0ID0gMDsKPiArICAgICAgICAgICB0b2thZGQocCwgYyk7Cj4gKyAgICAgICAgICAgYnJl
YWs7Cj4gKwo+ICsgICAgICAgICBjYXNlICcuJzoKPiArICAgICAgICAgICBpZiAobm9uZGlnaXQp
IGdvdG8gdHJhaWxpbmdfdWM7Cj4gKyAgICAgICAgICAgaWYgKHNlZW5fcG9pbnQgfHwgc2Vlbl9l
KSB7Cj4gKyAgICAgICAgICAgICAgIGdvdG8gZGVjb2RlX251bTsKPiArICAgICAgICAgICB9Cj4g
KyAgICAgICAgICAgZWxzZSB7Cj4gKyAgICAgICAgICAgICAgIGludCBjMCA9IG5leHRjKHApOwo+
ICsgICAgICAgICAgICAgICBpZiAoYzAgPT0gLTEgfHwgIUlTRElHSVQoYzApKSB7Cj4gKyAgICAg
ICAgICAgICAgICAgICBwdXNoYmFjayhwLCBjMCk7Cj4gKyAgICAgICAgICAgICAgICAgICBnb3Rv
IGRlY29kZV9udW07Cj4gKyAgICAgICAgICAgICAgIH0KPiArICAgICAgICAgICAgICAgYyA9IGMw
Owo+ICsgICAgICAgICAgIH0KPiArICAgICAgICAgICBzZWVuX3BvaW50ID0gdG9rbGVuKHApOwo+
ICsgICAgICAgICAgIHRva2FkZChwLCAnLicpOwo+ICsgICAgICAgICAgIHRva2FkZChwLCBjKTsK
PiArICAgICAgICAgICBpc19mbG9hdCsrOwo+ICsgICAgICAgICAgIG5vbmRpZ2l0ID0gMDsKPiAr
ICAgICAgICAgICBicmVhazsKPiArCj4gKyAgICAgICAgIGNhc2UgJ2UnOgo+ICsgICAgICAgICBj
YXNlICdFJzoKPiArICAgICAgICAgICBpZiAobm9uZGlnaXQpIHsKPiArICAgICAgICAgICAgICAg
cHVzaGJhY2socCwgYyk7Cj4gKyAgICAgICAgICAgICAgIGMgPSBub25kaWdpdDsKPiArICAgICAg
ICAgICAgICAgZ290byBkZWNvZGVfbnVtOwo+ICsgICAgICAgICAgIH0KPiArICAgICAgICAgICBp
ZiAoc2Vlbl9lKSB7Cj4gKyAgICAgICAgICAgICAgIGdvdG8gZGVjb2RlX251bTsKPiArICAgICAg
ICAgICB9Cj4gKyAgICAgICAgICAgbm9uZGlnaXQgPSBjOwo+ICsgICAgICAgICAgIGMgPSBuZXh0
YyhwKTsKPiArICAgICAgICAgICBpZiAoYyAhPSAnLScgJiYgYyAhPSAnKycgJiYgIUlTRElHSVQo
YykpIHsKPiArICAgICAgICAgICAgICAgcHVzaGJhY2socCwgYyk7Cj4gKyAgICAgICAgICAgICAg
IG5vbmRpZ2l0ID0gMDsKPiArICAgICAgICAgICAgICAgZ290byBkZWNvZGVfbnVtOwo+ICsgICAg
ICAgICAgIH0KPiArICAgICAgICAgICB0b2thZGQocCwgbm9uZGlnaXQpOwo+ICsgICAgICAgICAg
IHNlZW5fZSsrOwo+ICsgICAgICAgICAgIGlzX2Zsb2F0Kys7Cj4gKyAgICAgICAgICAgdG9rYWRk
KHAsIGMpOwo+ICsgICAgICAgICAgIG5vbmRpZ2l0ID0gKGMgPT0gJy0nIHx8IGMgPT0gJysnKSA/
IGMgOiAwOwo+ICsgICAgICAgICAgIGJyZWFrOwo+ICsKPiArICAgICAgICAgY2FzZSAnXyc6ICAg
ICAvKiBgXycgaW4gbnVtYmVyIGp1c3QgaWdub3JlZCAqLwo+ICsgICAgICAgICAgIGlmIChub25k
aWdpdCkgZ290byBkZWNvZGVfbnVtOwo+ICsgICAgICAgICAgIG5vbmRpZ2l0ID0gYzsKPiArICAg
ICAgICAgICBicmVhazsKPiArCj4gKyAgICAgICAgIGRlZmF1bHQ6Cj4gKyAgICAgICAgICAgZ290
byBkZWNvZGVfbnVtOwo+ICsgICAgICAgfQo+ICsgICAgICAgYyA9IG5leHRjKHApOwo+ICsgICAg
fQo+ICsKPiArICBkZWNvZGVfbnVtOgo+ICsgICAgcHVzaGJhY2socCwgYyk7Cj4gKyAgICBpZiAo
bm9uZGlnaXQpIHsKPiArICAgICAgIGNoYXIgdG1wWzMwXTsKPiArICAgICAgdHJhaWxpbmdfdWM6
Cj4gKyAgICAgICBsaXRlcmFsX2ZsdXNoKHAsIHAtPmxleC5wY3VyIC0gMSk7Cj4gKyAgICAgICBz
bnByaW50Zih0bXAsIHNpemVvZih0bXApLCAidHJhaWxpbmcgYCVjJyBpbiBudW1iZXIiLCBub25k
aWdpdCk7Cj4gKyAgICAgICB5eWVycm9yMCh0bXApOwo+ICsgICAgfQo+ICsgICAgdG9rZml4KHAp
Owo+ICsgICAgaWYgKGlzX2Zsb2F0KSB7Cj4gKyAgICAgICBlbnVtIHl5dG9rZW50eXBlIHR5cGUg
PSB0RkxPQVQ7Cj4gKyAgICAgICBWQUxVRSB2Owo+ICsKPiArICAgICAgIHN1ZmZpeCA9IG51bWJl
cl9saXRlcmFsX3N1ZmZpeChwLCBzZWVuX2UgPyBOVU1fU1VGRklYX0kgOiBOVU1fU1VGRklYX0FM
TCk7Cj4gKyAgICAgICBpZiAoc3VmZml4ICYgTlVNX1NVRkZJWF9SKSB7Cj4gKyAgICAgICAgICAg
dHlwZSA9IHRSQVRJT05BTDsKPiArICAgICAgICAgICB2ID0gcGFyc2VfcmF0aW9uYWwocCwgdG9r
KHApLCB0b2tsZW4ocCksIHNlZW5fcG9pbnQpOwo+ICsgICAgICAgfQo+ICsgICAgICAgZWxzZSB7
Cj4gKyAgICAgICAgICAgZG91YmxlIGQgPSBzdHJ0b2QodG9rKHApLCAwKTsKPiArICAgICAgICAg
ICBpZiAoZXJybm8gPT0gRVJBTkdFKSB7Cj4gKyAgICAgICAgICAgICAgIHJiX3dhcm5pbmcxKCJG
bG9hdCAlcyBvdXQgb2YgcmFuZ2UiLCBXQVJOX1ModG9rKHApKSk7Cj4gKyAgICAgICAgICAgICAg
IGVycm5vID0gMDsKPiArICAgICAgICAgICB9Cj4gKyAgICAgICAgICAgdiA9IERCTDJOVU0oZCk7
Cj4gKyAgICAgICB9Cj4gKyAgICAgICByZXR1cm4gc2V0X251bWJlcl9saXRlcmFsKHAsIHYsIHR5
cGUsIHN1ZmZpeCk7Cj4gKyAgICB9Cj4gKyAgICBzdWZmaXggPSBudW1iZXJfbGl0ZXJhbF9zdWZm
aXgocCwgTlVNX1NVRkZJWF9BTEwpOwo+ICsgICAgcmV0dXJuIHNldF9pbnRlZ2VyX2xpdGVyYWwo
cCwgcmJfY3N0cl90b19pbnVtKHRvayhwKSwgMTAsIEZBTFNFKSwgc3VmZml4KTsKPiArfQo+ICsK
PiArc3RhdGljIGVudW0geXl0b2tlbnR5cGUKPiArcGFyc2VfcW1hcmsoc3RydWN0IHBhcnNlcl9w
YXJhbXMgKnAsIGludCBzcGFjZV9zZWVuKQo+ICt7Cj4gKyAgICByYl9lbmNvZGluZyAqZW5jOwo+
ICsgICAgcmVnaXN0ZXIgaW50IGM7Cj4gKyAgICBWQUxVRSBsaXQ7Cj4gKwo+ICsgICAgaWYgKElT
X0VORCgpKSB7Cj4gKyAgICAgICBTRVRfTEVYX1NUQVRFKEVYUFJfVkFMVUUpOwo+ICsgICAgICAg
cmV0dXJuICc/JzsKPiArICAgIH0KPiArICAgIGMgPSBuZXh0YyhwKTsKPiArICAgIGlmIChjID09
IC0xKSB7Cj4gKyAgICAgICBjb21waWxlX2Vycm9yKHAsICJpbmNvbXBsZXRlIGNoYXJhY3RlciBz
eW50YXgiKTsKPiArICAgICAgIHJldHVybiAwOwo+ICsgICAgfQo+ICsgICAgaWYgKHJiX2VuY19p
c3NwYWNlKGMsIHAtPmVuYykpIHsKPiArICAgICAgIGlmICghSVNfQVJHKCkpIHsKPiArICAgICAg
ICAgICBpbnQgYzIgPSAwOwo+ICsgICAgICAgICAgIHN3aXRjaCAoYykgewo+ICsgICAgICAgICAg
ICAgY2FzZSAnICc6Cj4gKyAgICAgICAgICAgICAgIGMyID0gJ3MnOwo+ICsgICAgICAgICAgICAg
ICBicmVhazsKPiArICAgICAgICAgICAgIGNhc2UgJ1xuJzoKPiArICAgICAgICAgICAgICAgYzIg
PSAnbic7Cj4gKyAgICAgICAgICAgICAgIGJyZWFrOwo+ICsgICAgICAgICAgICAgY2FzZSAnXHQn
Ogo+ICsgICAgICAgICAgICAgICBjMiA9ICd0JzsKPiArICAgICAgICAgICAgICAgYnJlYWs7Cj4g
KyAgICAgICAgICAgICBjYXNlICdcdic6Cj4gKyAgICAgICAgICAgICAgIGMyID0gJ3YnOwo+ICsg
ICAgICAgICAgICAgICBicmVhazsKPiArICAgICAgICAgICAgIGNhc2UgJ1xyJzoKPiArICAgICAg
ICAgICAgICAgYzIgPSAncic7Cj4gKyAgICAgICAgICAgICAgIGJyZWFrOwo+ICsgICAgICAgICAg
ICAgY2FzZSAnXGYnOgo+ICsgICAgICAgICAgICAgICBjMiA9ICdmJzsKPiArICAgICAgICAgICAg
ICAgYnJlYWs7Cj4gKyAgICAgICAgICAgfQo+ICsgICAgICAgICAgIGlmIChjMikgewo+ICsgICAg
ICAgICAgICAgICByYl93YXJuMSgiaW52YWxpZCBjaGFyYWN0ZXIgc3ludGF4OyB1c2UgP1xcJWMi
LCBXQVJOX0koYzIpKTsKPiArICAgICAgICAgICB9Cj4gKyAgICAgICB9Cj4gKyAgICAgIHRlcm5h
cnk6Cj4gKyAgICAgICBwdXNoYmFjayhwLCBjKTsKPiArICAgICAgIFNFVF9MRVhfU1RBVEUoRVhQ
Ul9WQUxVRSk7Cj4gKyAgICAgICByZXR1cm4gJz8nOwo+ICsgICAgfQo+ICsgICAgbmV3dG9rKHAp
Owo+ICsgICAgZW5jID0gcC0+ZW5jOwo+ICsgICAgaWYgKCFwYXJzZXJfaXNhc2NpaShwKSkgewo+
ICsgICAgICAgaWYgKHRva2FkZF9tYmNoYXIocCwgYykgPT0gLTEpIHJldHVybiAwOwo+ICsgICAg
fQo+ICsgICAgZWxzZSBpZiAoKHJiX2VuY19pc2FsbnVtKGMsIHAtPmVuYykgfHwgYyA9PSAnXycp
ICYmCj4gKyAgICAgICAgICAgIHAtPmxleC5wY3VyIDwgcC0+bGV4LnBlbmQgJiYgaXNfaWRlbnRj
aGFyKHAtPmxleC5wY3VyLCBwLT5sZXgucGVuZCwgcC0+ZW5jKSkgewo+ICsgICAgICAgaWYgKHNw
YWNlX3NlZW4pIHsKPiArICAgICAgICAgICBjb25zdCBjaGFyICpzdGFydCA9IHAtPmxleC5wY3Vy
IC0gMSwgKnB0ciA9IHN0YXJ0Owo+ICsgICAgICAgICAgIGRvIHsKPiArICAgICAgICAgICAgICAg
aW50IG4gPSBwYXJzZXJfcHJlY2lzZV9tYmNsZW4ocCwgcHRyKTsKPiArICAgICAgICAgICAgICAg
aWYgKG4gPCAwKSByZXR1cm4gLTE7Cj4gKyAgICAgICAgICAgICAgIHB0ciArPSBuOwo+ICsgICAg
ICAgICAgIH0gd2hpbGUgKHB0ciA8IHAtPmxleC5wZW5kICYmIGlzX2lkZW50Y2hhcihwdHIsIHAt
PmxleC5wZW5kLCBwLT5lbmMpKTsKPiArICAgICAgICAgICByYl93YXJuMigiYD8nIGp1c3QgZm9s
bG93ZWQgYnkgYCUuKnMnIGlzIGludGVycHJldGVkIGFzIiBcCj4gKyAgICAgICAgICAgICAgICAg
ICAgIiBhIGNvbmRpdGlvbmFsIG9wZXJhdG9yLCBwdXQgYSBzcGFjZSBhZnRlciBgPyciLAo+ICsg
ICAgICAgICAgICAgICAgICAgIFdBUk5fSSgoaW50KShwdHIgLSBzdGFydCkpLCBXQVJOX1NfTChz
dGFydCwgKHB0ciAtIHN0YXJ0KSkpOwo+ICsgICAgICAgfQo+ICsgICAgICAgZ290byB0ZXJuYXJ5
Owo+ICsgICAgfQo+ICsgICAgZWxzZSBpZiAoYyA9PSAnXFwnKSB7Cj4gKyAgICAgICBpZiAocGVl
ayhwLCAndScpKSB7Cj4gKyAgICAgICAgICAgbmV4dGMocCk7Cj4gKyAgICAgICAgICAgZW5jID0g
cmJfdXRmOF9lbmNvZGluZygpOwo+ICsgICAgICAgICAgIGlmICghcGFyc2VyX3Rva2FkZF91dGY4
KHAsICZlbmMsIC0xLCAwLCAwKSkKPiArICAgICAgICAgICAgICAgcmV0dXJuIDA7Cj4gKyAgICAg
ICB9Cj4gKyAgICAgICBlbHNlIGlmICghbGV4X2VvbF9wKHApICYmICEoYyA9ICpwLT5sZXgucGN1
ciwgSVNBU0NJSShjKSkpIHsKPiArICAgICAgICAgICBuZXh0YyhwKTsKPiArICAgICAgICAgICBp
ZiAodG9rYWRkX21iY2hhcihwLCBjKSA9PSAtMSkgcmV0dXJuIDA7Cj4gKyAgICAgICB9Cj4gKyAg
ICAgICBlbHNlIHsKPiArICAgICAgICAgICBjID0gcmVhZF9lc2NhcGUocCwgMCwgJmVuYyk7Cj4g
KyAgICAgICAgICAgdG9rYWRkKHAsIGMpOwo+ICsgICAgICAgfQo+ICsgICAgfQo+ICsgICAgZWxz
ZSB7Cj4gKyAgICAgICB0b2thZGQocCwgYyk7Cj4gKyAgICB9Cj4gKyAgICB0b2tmaXgocCk7Cj4g
KyAgICBhZGRfbWFya19vYmplY3QocCwgbGl0ID0gU1RSX05FVzModG9rKHApLCB0b2tsZW4ocCks
IGVuYywgMCkpOwo+ICsgICAgc2V0X3l5bHZhbF9zdHIobGl0KTsKPiArICAgIFNFVF9MRVhfU1RB
VEUoRVhQUl9FTkQpOwo+ICsgICAgcmV0dXJuIHRDSEFSOwo+ICt9Cj4gKwo+ICtzdGF0aWMgZW51
bSB5eXRva2VudHlwZQo+ICtwYXJzZV9wZXJjZW50KHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBj
b25zdCBpbnQgc3BhY2Vfc2VlbiwgY29uc3QgZW51bSBsZXhfc3RhdGVfZSBsYXN0X3N0YXRlKQo+
ICt7Cj4gKyAgICByZWdpc3RlciBpbnQgYzsKPiArCj4gKyAgICBpZiAoSVNfQkVHKCkpIHsKPiAr
ICAgICAgIGludCB0ZXJtOwo+ICsgICAgICAgaW50IHBhcmVuOwo+ICsKPiArICAgICAgIGMgPSBu
ZXh0YyhwKTsKPiArICAgICAgcXVvdGF0aW9uOgo+ICsgICAgICAgaWYgKGMgPT0gLTEgfHwgIUlT
QUxOVU0oYykpIHsKPiArICAgICAgICAgICB0ZXJtID0gYzsKPiArICAgICAgICAgICBjID0gJ1En
Owo+ICsgICAgICAgfQo+ICsgICAgICAgZWxzZSB7Cj4gKyAgICAgICAgICAgdGVybSA9IG5leHRj
KHApOwo+ICsgICAgICAgICAgIGlmIChyYl9lbmNfaXNhbG51bSh0ZXJtLCBwLT5lbmMpIHx8ICFw
YXJzZXJfaXNhc2NpaShwKSkgewo+ICsgICAgICAgICAgICAgICB5eWVycm9yMCgidW5rbm93biB0
eXBlIG9mICVzdHJpbmciKTsKPiArICAgICAgICAgICAgICAgcmV0dXJuIDA7Cj4gKyAgICAgICAg
ICAgfQo+ICsgICAgICAgfQo+ICsgICAgICAgaWYgKGMgPT0gLTEgfHwgdGVybSA9PSAtMSkgewo+
ICsgICAgICAgICAgIGNvbXBpbGVfZXJyb3IocCwgInVudGVybWluYXRlZCBxdW90ZWQgc3RyaW5n
IG1lZXRzIGVuZCBvZiBmaWxlIik7Cj4gKyAgICAgICAgICAgcmV0dXJuIDA7Cj4gKyAgICAgICB9
Cj4gKyAgICAgICBwYXJlbiA9IHRlcm07Cj4gKyAgICAgICBpZiAodGVybSA9PSAnKCcpIHRlcm0g
PSAnKSc7Cj4gKyAgICAgICBlbHNlIGlmICh0ZXJtID09ICdbJykgdGVybSA9ICddJzsKPiArICAg
ICAgIGVsc2UgaWYgKHRlcm0gPT0gJ3snKSB0ZXJtID0gJ30nOwo+ICsgICAgICAgZWxzZSBpZiAo
dGVybSA9PSAnPCcpIHRlcm0gPSAnPic7Cj4gKyAgICAgICBlbHNlIHBhcmVuID0gMDsKPiArCj4g
KyAgICAgICBzd2l0Y2ggKGMpIHsKPiArICAgICAgICAgY2FzZSAnUSc6Cj4gKyAgICAgICAgICAg
cC0+bGV4LnN0cnRlcm0gPSBORVdfU1RSVEVSTShzdHJfZHF1b3RlLCB0ZXJtLCBwYXJlbik7Cj4g
KyAgICAgICAgICAgcmV0dXJuIHRTVFJJTkdfQkVHOwo+ICsKPiArICAgICAgICAgY2FzZSAncSc6
Cj4gKyAgICAgICAgICAgcC0+bGV4LnN0cnRlcm0gPSBORVdfU1RSVEVSTShzdHJfc3F1b3RlLCB0
ZXJtLCBwYXJlbik7Cj4gKyAgICAgICAgICAgcmV0dXJuIHRTVFJJTkdfQkVHOwo+ICsKPiArICAg
ICAgICAgY2FzZSAnVyc6Cj4gKyAgICAgICAgICAgcC0+bGV4LnN0cnRlcm0gPSBORVdfU1RSVEVS
TShzdHJfZHdvcmQsIHRlcm0sIHBhcmVuKTsKPiArICAgICAgICAgICByZXR1cm4gdFdPUkRTX0JF
RzsKPiArCj4gKyAgICAgICAgIGNhc2UgJ3cnOgo+ICsgICAgICAgICAgIHAtPmxleC5zdHJ0ZXJt
ID0gTkVXX1NUUlRFUk0oc3RyX3N3b3JkLCB0ZXJtLCBwYXJlbik7Cj4gKyAgICAgICAgICAgcmV0
dXJuIHRRV09SRFNfQkVHOwo+ICsKPiArICAgICAgICAgY2FzZSAnSSc6Cj4gKyAgICAgICAgICAg
cC0+bGV4LnN0cnRlcm0gPSBORVdfU1RSVEVSTShzdHJfZHdvcmQsIHRlcm0sIHBhcmVuKTsKPiAr
ICAgICAgICAgICByZXR1cm4gdFNZTUJPTFNfQkVHOwo+ICsKPiArICAgICAgICAgY2FzZSAnaSc6
Cj4gKyAgICAgICAgICAgcC0+bGV4LnN0cnRlcm0gPSBORVdfU1RSVEVSTShzdHJfc3dvcmQsIHRl
cm0sIHBhcmVuKTsKPiArICAgICAgICAgICByZXR1cm4gdFFTWU1CT0xTX0JFRzsKPiArCj4gKyAg
ICAgICAgIGNhc2UgJ3gnOgo+ICsgICAgICAgICAgIHAtPmxleC5zdHJ0ZXJtID0gTkVXX1NUUlRF
Uk0oc3RyX3hxdW90ZSwgdGVybSwgcGFyZW4pOwo+ICsgICAgICAgICAgIHJldHVybiB0WFNUUklO
R19CRUc7Cj4gKwo+ICsgICAgICAgICBjYXNlICdyJzoKPiArICAgICAgICAgICBwLT5sZXguc3Ry
dGVybSA9IE5FV19TVFJURVJNKHN0cl9yZWdleHAsIHRlcm0sIHBhcmVuKTsKPiArICAgICAgICAg
ICByZXR1cm4gdFJFR0VYUF9CRUc7Cj4gKwo+ICsgICAgICAgICBjYXNlICdzJzoKPiArICAgICAg
ICAgICBwLT5sZXguc3RydGVybSA9IE5FV19TVFJURVJNKHN0cl9zc3ltLCB0ZXJtLCBwYXJlbik7
Cj4gKyAgICAgICAgICAgU0VUX0xFWF9TVEFURShFWFBSX0ZOQU1FfEVYUFJfRklURU0pOwo+ICsg
ICAgICAgICAgIHJldHVybiB0U1lNQkVHOwo+ICsKPiArICAgICAgICAgZGVmYXVsdDoKPiArICAg
ICAgICAgICB5eWVycm9yMCgidW5rbm93biB0eXBlIG9mICVzdHJpbmciKTsKPiArICAgICAgICAg
ICByZXR1cm4gMDsKPiArICAgICAgIH0KPiArICAgIH0KPiArICAgIGlmICgoYyA9IG5leHRjKHAp
KSA9PSAnPScpIHsKPiArICAgICAgIHNldF95eWx2YWxfaWQoJyUnKTsKPiArICAgICAgIFNFVF9M
RVhfU1RBVEUoRVhQUl9CRUcpOwo+ICsgICAgICAgcmV0dXJuIHRPUF9BU0dOOwo+ICsgICAgfQo+
ICsgICAgaWYgKElTX1NQQ0FSRyhjKSB8fCAoSVNfbGV4X3N0YXRlKEVYUFJfRklURU0pICYmIGMg
PT0gJ3MnKSkgewo+ICsgICAgICAgZ290byBxdW90YXRpb247Cj4gKyAgICB9Cj4gKyAgICBTRVRf
TEVYX1NUQVRFKElTX0FGVEVSX09QRVJBVE9SKCkgPyBFWFBSX0FSRyA6IEVYUFJfQkVHKTsKPiAr
ICAgIHB1c2hiYWNrKHAsIGMpOwo+ICsgICAgcmV0dXJuIHdhcm5fYmFsYW5jZWQoJyUnLCAiJSUi
LCAic3RyaW5nIGxpdGVyYWwiKTsKPiArfQo+ICsKPiArc3RhdGljIGludAo+ICt0b2thZGRfaWRl
bnQoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIGludCBjKQo+ICt7Cj4gKyAgICBkbyB7Cj4gKyAg
ICAgICBpZiAodG9rYWRkX21iY2hhcihwLCBjKSA9PSAtMSkgcmV0dXJuIC0xOwo+ICsgICAgICAg
YyA9IG5leHRjKHApOwo+ICsgICAgfSB3aGlsZSAocGFyc2VyX2lzX2lkZW50Y2hhcihwKSk7Cj4g
KyAgICBwdXNoYmFjayhwLCBjKTsKPiArICAgIHJldHVybiAwOwo+ICt9Cj4gKwo+ICtzdGF0aWMg
SUQKPiArdG9rZW5pemVfaWRlbnQoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIGNvbnN0IGVudW0g
bGV4X3N0YXRlX2UgbGFzdF9zdGF0ZSkKPiArewo+ICsgICAgSUQgaWRlbnQgPSBUT0tfSU5URVJO
KCk7Cj4gKwo+ICsgICAgc2V0X3l5bHZhbF9uYW1lKGlkZW50KTsKPiArCj4gKyAgICByZXR1cm4g
aWRlbnQ7Cj4gK30KPiArCj4gK3N0YXRpYyBpbnQKPiArcGFyc2VfbnVtdmFyKHN0cnVjdCBwYXJz
ZXJfcGFyYW1zICpwKQo+ICt7Cj4gKyAgICBzaXplX3QgbGVuOwo+ICsgICAgaW50IG92ZXJmbG93
Owo+ICsgICAgdW5zaWduZWQgbG9uZyBuID0gcnVieV9zY2FuX2RpZ2l0cyh0b2socCkrMSwgdG9r
bGVuKHApLTEsIDEwLCAmbGVuLCAmb3ZlcmZsb3cpOwo+ICsgICAgY29uc3QgdW5zaWduZWQgbG9u
ZyBudGhfcmVmX21heCA9Cj4gKyAgICAgICAoKEZJWE5VTV9NQVggPCBJTlRfTUFYKSA/IEZJWE5V
TV9NQVggOiBJTlRfTUFYKSA+PiAxOwo+ICsgICAgLyogTlRIX1JFRiBpcyBsZWZ0LXNoaWZ0ZWQg
dG8gYmUgT1JlZCB3aXRoIGJhY2stcmVmIGZsYWcgYW5kCj4gKyAgICAgKiB0dXJuZWQgaW50byBh
IEZpeG51bSwgaW4gY29tcGlsZS5jICovCj4gKwo+ICsgICAgaWYgKG92ZXJmbG93IHx8IG4gPiBu
dGhfcmVmX21heCkgewo+ICsgICAgICAgLyogY29tcGlsZV9lcnJvcigpPyAqLwo+ICsgICAgICAg
cmJfd2FybjEoImAlcycgaXMgdG9vIGJpZyBmb3IgYSBudW1iZXIgdmFyaWFibGUsIGFsd2F5cyBu
aWwiLCBXQVJOX1ModG9rKHApKSk7Cj4gKyAgICAgICByZXR1cm4gMDsgICAgICAgICAgICAgICAv
KiAkMCBpcyAkUFJPR1JBTV9OQU1FLCBub3QgTlRIX1JFRiAqLwo+ICsgICAgfQo+ICsgICAgZWxz
ZSB7Cj4gKyAgICAgICByZXR1cm4gKGludCluOwo+ICsgICAgfQo+ICt9Cj4gKwo+ICtzdGF0aWMg
ZW51bSB5eXRva2VudHlwZQo+ICtwYXJzZV9ndmFyKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBj
b25zdCBlbnVtIGxleF9zdGF0ZV9lIGxhc3Rfc3RhdGUpCj4gK3sKPiArICAgIHJlZ2lzdGVyIGlu
dCBjOwo+ICsKPiArICAgIFNFVF9MRVhfU1RBVEUoRVhQUl9FTkQpOwo+ICsgICAgbmV3dG9rKHAp
Owo+ICsgICAgYyA9IG5leHRjKHApOwo+ICsgICAgc3dpdGNoIChjKSB7Cj4gKyAgICAgIGNhc2Ug
J18nOiAgICAgICAgICAgICAgICAvKiAkXzogbGFzdCByZWFkIGxpbmUgc3RyaW5nICovCj4gKyAg
ICAgICBjID0gbmV4dGMocCk7Cj4gKyAgICAgICBpZiAocGFyc2VyX2lzX2lkZW50Y2hhcihwKSkg
ewo+ICsgICAgICAgICAgIHRva2FkZChwLCAnJCcpOwo+ICsgICAgICAgICAgIHRva2FkZChwLCAn
XycpOwo+ICsgICAgICAgICAgIGJyZWFrOwo+ICsgICAgICAgfQo+ICsgICAgICAgcHVzaGJhY2so
cCwgYyk7Cj4gKyAgICAgICBjID0gJ18nOwo+ICsgICAgICAgLyogZmFsbCB0aHJvdWdoICovCj4g
KyAgICAgIGNhc2UgJ34nOiAgICAgICAgICAgICAgICAvKiAkfjogbWF0Y2gtZGF0YSAqLwo+ICsg
ICAgICBjYXNlICcqJzogICAgICAgICAgICAgICAgLyogJCo6IGFyZ3YgKi8KPiArICAgICAgY2Fz
ZSAnJCc6ICAgICAgICAgICAgICAgIC8qICQkOiBwaWQgKi8KPiArICAgICAgY2FzZSAnPyc6ICAg
ICAgICAgICAgICAgIC8qICQ/OiBsYXN0IHN0YXR1cyAqLwo+ICsgICAgICBjYXNlICchJzogICAg
ICAgICAgICAgICAgLyogJCE6IGVycm9yIHN0cmluZyAqLwo+ICsgICAgICBjYXNlICdAJzogICAg
ICAgICAgICAgICAgLyogJEA6IGVycm9yIHBvc2l0aW9uICovCj4gKyAgICAgIGNhc2UgJy8nOiAg
ICAgICAgICAgICAgICAvKiAkLzogaW5wdXQgcmVjb3JkIHNlcGFyYXRvciAqLwo+ICsgICAgICBj
YXNlICdcXCc6ICAgICAgICAgICAgICAgLyogJFw6IG91dHB1dCByZWNvcmQgc2VwYXJhdG9yICov
Cj4gKyAgICAgIGNhc2UgJzsnOiAgICAgICAgICAgICAgICAvKiAkOzogZmllbGQgc2VwYXJhdG9y
ICovCj4gKyAgICAgIGNhc2UgJywnOiAgICAgICAgICAgICAgICAvKiAkLDogb3V0cHV0IGZpZWxk
IHNlcGFyYXRvciAqLwo+ICsgICAgICBjYXNlICcuJzogICAgICAgICAgICAgICAgLyogJC46IGxh
c3QgcmVhZCBsaW5lIG51bWJlciAqLwo+ICsgICAgICBjYXNlICc9JzogICAgICAgICAgICAgICAg
LyogJD06IGlnbm9yZWNhc2UgKi8KPiArICAgICAgY2FzZSAnOic6ICAgICAgICAgICAgICAgIC8q
ICQ6OiBsb2FkIHBhdGggKi8KPiArICAgICAgY2FzZSAnPCc6ICAgICAgICAgICAgICAgIC8qICQ8
OiByZWFkaW5nIGZpbGVuYW1lICovCj4gKyAgICAgIGNhc2UgJz4nOiAgICAgICAgICAgICAgICAv
KiAkPjogZGVmYXVsdCBvdXRwdXQgaGFuZGxlICovCj4gKyAgICAgIGNhc2UgJ1wiJzogICAgICAg
ICAgICAgICAvKiAkIjogYWxyZWFkeSBsb2FkZWQgZmlsZXMgKi8KPiArICAgICAgIHRva2FkZChw
LCAnJCcpOwo+ICsgICAgICAgdG9rYWRkKHAsIGMpOwo+ICsgICAgICAgZ290byBndmFyOwo+ICsK
PiArICAgICAgY2FzZSAnLSc6Cj4gKyAgICAgICB0b2thZGQocCwgJyQnKTsKPiArICAgICAgIHRv
a2FkZChwLCBjKTsKPiArICAgICAgIGMgPSBuZXh0YyhwKTsKPiArICAgICAgIGlmIChwYXJzZXJf
aXNfaWRlbnRjaGFyKHApKSB7Cj4gKyAgICAgICAgICAgaWYgKHRva2FkZF9tYmNoYXIocCwgYykg
PT0gLTEpIHJldHVybiAwOwo+ICsgICAgICAgfQo+ICsgICAgICAgZWxzZSB7Cj4gKyAgICAgICAg
ICAgcHVzaGJhY2socCwgYyk7Cj4gKyAgICAgICAgICAgcHVzaGJhY2socCwgJy0nKTsKPiArICAg
ICAgICAgICByZXR1cm4gJyQnOwo+ICsgICAgICAgfQo+ICsgICAgICBndmFyOgo+ICsgICAgICAg
c2V0X3l5bHZhbF9uYW1lKFRPS19JTlRFUk4oKSk7Cj4gKyAgICAgICByZXR1cm4gdEdWQVI7Cj4g
Kwo+ICsgICAgICBjYXNlICcmJzogICAgICAgICAgICAgICAgLyogJCY6IGxhc3QgbWF0Y2ggKi8K
PiArICAgICAgY2FzZSAnYCc6ICAgICAgICAgICAgICAgIC8qICRgOiBzdHJpbmcgYmVmb3JlIGxh
c3QgbWF0Y2ggKi8KPiArICAgICAgY2FzZSAnXCcnOiAgICAgICAgICAgICAgIC8qICQnOiBzdHJp
bmcgYWZ0ZXIgbGFzdCBtYXRjaCAqLwo+ICsgICAgICBjYXNlICcrJzogICAgICAgICAgICAgICAg
LyogJCs6IHN0cmluZyBtYXRjaGVzIGxhc3QgcGFyZW4uICovCj4gKyAgICAgICBpZiAoSVNfbGV4
X3N0YXRlX2ZvcihsYXN0X3N0YXRlLCBFWFBSX0ZOQU1FKSkgewo+ICsgICAgICAgICAgIHRva2Fk
ZChwLCAnJCcpOwo+ICsgICAgICAgICAgIHRva2FkZChwLCBjKTsKPiArICAgICAgICAgICBnb3Rv
IGd2YXI7Cj4gKyAgICAgICB9Cj4gKyAgICAgICBzZXRfeXlsdmFsX25vZGUoTkVXX0JBQ0tfUkVG
KGMsICZfY3VyX2xvYykpOwo+ICsgICAgICAgcmV0dXJuIHRCQUNLX1JFRjsKPiArCj4gKyAgICAg
IGNhc2UgJzEnOiBjYXNlICcyJzogY2FzZSAnMyc6Cj4gKyAgICAgIGNhc2UgJzQnOiBjYXNlICc1
JzogY2FzZSAnNic6Cj4gKyAgICAgIGNhc2UgJzcnOiBjYXNlICc4JzogY2FzZSAnOSc6Cj4gKyAg
ICAgICB0b2thZGQocCwgJyQnKTsKPiArICAgICAgIGRvIHsKPiArICAgICAgICAgICB0b2thZGQo
cCwgYyk7Cj4gKyAgICAgICAgICAgYyA9IG5leHRjKHApOwo+ICsgICAgICAgfSB3aGlsZSAoYyAh
PSAtMSAmJiBJU0RJR0lUKGMpKTsKPiArICAgICAgIHB1c2hiYWNrKHAsIGMpOwo+ICsgICAgICAg
aWYgKElTX2xleF9zdGF0ZV9mb3IobGFzdF9zdGF0ZSwgRVhQUl9GTkFNRSkpIGdvdG8gZ3ZhcjsK
PiArICAgICAgIHRva2ZpeChwKTsKPiArICAgICAgIHNldF95eWx2YWxfbm9kZShORVdfTlRIX1JF
RihwYXJzZV9udW12YXIocCksICZfY3VyX2xvYykpOwo+ICsgICAgICAgcmV0dXJuIHROVEhfUkVG
Owo+ICsKPiArICAgICAgZGVmYXVsdDoKPiArICAgICAgIGlmICghcGFyc2VyX2lzX2lkZW50Y2hh
cihwKSkgewo+ICsgICAgICAgICAgIGlmIChjID09IC0xIHx8IElTU1BBQ0UoYykpIHsKPiArICAg
ICAgICAgICAgICAgY29tcGlsZV9lcnJvcihwLCAiYCQnIHdpdGhvdXQgaWRlbnRpZmllcnMgaXMg
bm90IGFsbG93ZWQgYXMgYSBnbG9iYWwgdmFyaWFibGUgbmFtZSIpOwo+ICsgICAgICAgICAgIH0K
PiArICAgICAgICAgICBlbHNlIHsKPiArICAgICAgICAgICAgICAgcHVzaGJhY2socCwgYyk7Cj4g
KyAgICAgICAgICAgICAgIGNvbXBpbGVfZXJyb3IocCwgImAkJWMnIGlzIG5vdCBhbGxvd2VkIGFz
IGEgZ2xvYmFsIHZhcmlhYmxlIG5hbWUiLCBjKTsKPiArICAgICAgICAgICB9Cj4gKyAgICAgICAg
ICAgcmV0dXJuIDA7Cj4gKyAgICAgICB9Cj4gKyAgICAgIGNhc2UgJzAnOgo+ICsgICAgICAgdG9r
YWRkKHAsICckJyk7Cj4gKyAgICB9Cj4gKwo+ICsgICAgaWYgKHRva2FkZF9pZGVudChwLCBjKSkg
cmV0dXJuIDA7Cj4gKyAgICBTRVRfTEVYX1NUQVRFKEVYUFJfRU5EKTsKPiArICAgIHRva2VuaXpl
X2lkZW50KHAsIGxhc3Rfc3RhdGUpOwo+ICsgICAgcmV0dXJuIHRHVkFSOwo+ICt9Cj4gKwo+ICtz
dGF0aWMgZW51bSB5eXRva2VudHlwZQo+ICtwYXJzZV9hdG1hcmsoc3RydWN0IHBhcnNlcl9wYXJh
bXMgKnAsIGNvbnN0IGVudW0gbGV4X3N0YXRlX2UgbGFzdF9zdGF0ZSkKPiArewo+ICsgICAgZW51
bSB5eXRva2VudHlwZSByZXN1bHQgPSB0SVZBUjsKPiArICAgIHJlZ2lzdGVyIGludCBjID0gbmV4
dGMocCk7Cj4gKwo+ICsgICAgbmV3dG9rKHApOwo+ICsgICAgdG9rYWRkKHAsICdAJyk7Cj4gKyAg
ICBpZiAoYyA9PSAnQCcpIHsKPiArICAgICAgIHJlc3VsdCA9IHRDVkFSOwo+ICsgICAgICAgdG9r
YWRkKHAsICdAJyk7Cj4gKyAgICAgICBjID0gbmV4dGMocCk7Cj4gKyAgICB9Cj4gKyAgICBpZiAo
YyA9PSAtMSB8fCBJU1NQQUNFKGMpKSB7Cj4gKyAgICAgICBpZiAocmVzdWx0ID09IHRJVkFSKSB7
Cj4gKyAgICAgICAgICAgY29tcGlsZV9lcnJvcihwLCAiYEAnIHdpdGhvdXQgaWRlbnRpZmllcnMg
aXMgbm90IGFsbG93ZWQgYXMgYW4gaW5zdGFuY2UgdmFyaWFibGUgbmFtZSIpOwo+ICsgICAgICAg
fQo+ICsgICAgICAgZWxzZSB7Cj4gKyAgICAgICAgICAgY29tcGlsZV9lcnJvcihwLCAiYEBAJyB3
aXRob3V0IGlkZW50aWZpZXJzIGlzIG5vdCBhbGxvd2VkIGFzIGEgY2xhc3MgdmFyaWFibGUgbmFt
ZSIpOwo+ICsgICAgICAgfQo+ICsgICAgICAgcmV0dXJuIDA7Cj4gKyAgICB9Cj4gKyAgICBlbHNl
IGlmIChJU0RJR0lUKGMpIHx8ICFwYXJzZXJfaXNfaWRlbnRjaGFyKHApKSB7Cj4gKyAgICAgICBw
dXNoYmFjayhwLCBjKTsKPiArICAgICAgIGlmIChyZXN1bHQgPT0gdElWQVIpIHsKPiArICAgICAg
ICAgICBjb21waWxlX2Vycm9yKHAsICJgQCVjJyBpcyBub3QgYWxsb3dlZCBhcyBhbiBpbnN0YW5j
ZSB2YXJpYWJsZSBuYW1lIiwgYyk7Cj4gKyAgICAgICB9Cj4gKyAgICAgICBlbHNlIHsKPiArICAg
ICAgICAgICBjb21waWxlX2Vycm9yKHAsICJgQEAlYycgaXMgbm90IGFsbG93ZWQgYXMgYSBjbGFz
cyB2YXJpYWJsZSBuYW1lIiwgYyk7Cj4gKyAgICAgICB9Cj4gKyAgICAgICByZXR1cm4gMDsKPiAr
ICAgIH0KPiArCj4gKyAgICBpZiAodG9rYWRkX2lkZW50KHAsIGMpKSByZXR1cm4gMDsKPiArICAg
IFNFVF9MRVhfU1RBVEUoRVhQUl9FTkQpOwo+ICsgICAgdG9rZW5pemVfaWRlbnQocCwgbGFzdF9z
dGF0ZSk7Cj4gKyAgICByZXR1cm4gcmVzdWx0Owo+ICt9Cj4gKwo+ICtzdGF0aWMgZW51bSB5eXRv
a2VudHlwZQo+ICtwYXJzZV9pZGVudChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgaW50IGMsIGlu
dCBjbWRfc3RhdGUpCj4gK3sKPiArICAgIGVudW0geXl0b2tlbnR5cGUgcmVzdWx0Owo+ICsgICAg
aW50IG1iID0gRU5DX0NPREVSQU5HRV83QklUOwo+ICsgICAgY29uc3QgZW51bSBsZXhfc3RhdGVf
ZSBsYXN0X3N0YXRlID0gcC0+bGV4LnN0YXRlOwo+ICsgICAgSUQgaWRlbnQ7Cj4gKwo+ICsgICAg
ZG8gewo+ICsgICAgICAgaWYgKCFJU0FTQ0lJKGMpKSBtYiA9IEVOQ19DT0RFUkFOR0VfVU5LTk9X
TjsKPiArICAgICAgIGlmICh0b2thZGRfbWJjaGFyKHAsIGMpID09IC0xKSByZXR1cm4gMDsKPiAr
ICAgICAgIGMgPSBuZXh0YyhwKTsKPiArICAgIH0gd2hpbGUgKHBhcnNlcl9pc19pZGVudGNoYXIo
cCkpOwo+ICsgICAgaWYgKChjID09ICchJyB8fCBjID09ICc/JykgJiYgIXBlZWsocCwgJz0nKSkg
ewo+ICsgICAgICAgcmVzdWx0ID0gdEZJRDsKPiArICAgICAgIHRva2FkZChwLCBjKTsKPiArICAg
IH0KPiArICAgIGVsc2UgaWYgKGMgPT0gJz0nICYmIElTX2xleF9zdGF0ZShFWFBSX0ZOQU1FKSAm
Jgo+ICsgICAgICAgICAgICAoIXBlZWsocCwgJ34nKSAmJiAhcGVlayhwLCAnPicpICYmICghcGVl
ayhwLCAnPScpIHx8IChwZWVrX24ocCwgJz4nLCAxKSkpKSkgewo+ICsgICAgICAgcmVzdWx0ID0g
dElERU5USUZJRVI7Cj4gKyAgICAgICB0b2thZGQocCwgYyk7Cj4gKyAgICB9Cj4gKyAgICBlbHNl
IHsKPiArICAgICAgIHJlc3VsdCA9IHRDT05TVEFOVDsgICAgIC8qIGFzc3VtZSBwcm92aXNpb25h
bGx5ICovCj4gKyAgICAgICBwdXNoYmFjayhwLCBjKTsKPiArICAgIH0KPiArICAgIHRva2ZpeChw
KTsKPiArCj4gKyAgICBpZiAoSVNfTEFCRUxfUE9TU0lCTEUoKSkgewo+ICsgICAgICAgaWYgKElT
X0xBQkVMX1NVRkZJWCgwKSkgewo+ICsgICAgICAgICAgIFNFVF9MRVhfU1RBVEUoRVhQUl9BUkd8
RVhQUl9MQUJFTEVEKTsKPiArICAgICAgICAgICBuZXh0YyhwKTsKPiArICAgICAgICAgICBzZXRf
eXlsdmFsX25hbWUoVE9LX0lOVEVSTigpKTsKPiArICAgICAgICAgICByZXR1cm4gdExBQkVMOwo+
ICsgICAgICAgfQo+ICsgICAgfQo+ICsgICAgaWYgKG1iID09IEVOQ19DT0RFUkFOR0VfN0JJVCAm
JiAhSVNfbGV4X3N0YXRlKEVYUFJfRE9UKSkgewo+ICsgICAgICAgY29uc3Qgc3RydWN0IGt3dGFi
bGUgKmt3Owo+ICsKPiArICAgICAgIC8qIFNlZSBpZiBpdCBpcyBhIHJlc2VydmVkIHdvcmQuICAq
Lwo+ICsgICAgICAga3cgPSByYl9yZXNlcnZlZF93b3JkKHRvayhwKSwgdG9rbGVuKHApKTsKPiAr
ICAgICAgIGlmIChrdykgewo+ICsgICAgICAgICAgIGVudW0gbGV4X3N0YXRlX2Ugc3RhdGUgPSBw
LT5sZXguc3RhdGU7Cj4gKyAgICAgICAgICAgU0VUX0xFWF9TVEFURShrdy0+c3RhdGUpOwo+ICsg
ICAgICAgICAgIGlmIChJU19sZXhfc3RhdGVfZm9yKHN0YXRlLCBFWFBSX0ZOQU1FKSkgewo+ICsg
ICAgICAgICAgICAgICBzZXRfeXlsdmFsX25hbWUocmJfaW50ZXJuMih0b2socCksIHRva2xlbihw
KSkpOwo+ICsgICAgICAgICAgICAgICByZXR1cm4ga3ctPmlkWzBdOwo+ICsgICAgICAgICAgIH0K
PiArICAgICAgICAgICBpZiAoSVNfbGV4X3N0YXRlKEVYUFJfQkVHKSkgewo+ICsgICAgICAgICAg
ICAgICBwLT5jb21tYW5kX3N0YXJ0ID0gVFJVRTsKPiArICAgICAgICAgICB9Cj4gKyAgICAgICAg
ICAgaWYgKGt3LT5pZFswXSA9PSBrZXl3b3JkX2RvKSB7Cj4gKyAgICAgICAgICAgICAgIGlmIChs
YW1iZGFfYmVnaW5uaW5nX3AoKSkgewo+ICsgICAgICAgICAgICAgICAgICAgcC0+bGV4LmxwYXJf
YmVnID0gLTE7IC8qIG1ha2UgbGFtYmRhX2JlZ2lubmluZ19wKCkgPT0gRkFMU0UgaW4gdGhlIGJv
ZHkgb2YgIi0+IGRvIC4uLiBlbmQiICovCj4gKyAgICAgICAgICAgICAgICAgICByZXR1cm4ga2V5
d29yZF9kb19MQU1CREE7Cj4gKyAgICAgICAgICAgICAgIH0KPiArICAgICAgICAgICAgICAgaWYg
KENPTkRfUCgpKSByZXR1cm4ga2V5d29yZF9kb19jb25kOwo+ICsgICAgICAgICAgICAgICBpZiAo
Q01EQVJHX1AoKSAmJiAhSVNfbGV4X3N0YXRlX2ZvcihzdGF0ZSwgRVhQUl9DTURBUkcpKQo+ICsg
ICAgICAgICAgICAgICAgICAgcmV0dXJuIGtleXdvcmRfZG9fYmxvY2s7Cj4gKyAgICAgICAgICAg
ICAgIHJldHVybiBrZXl3b3JkX2RvOwo+ICsgICAgICAgICAgIH0KPiArICAgICAgICAgICBpZiAo
SVNfbGV4X3N0YXRlX2ZvcihzdGF0ZSwgKEVYUFJfQkVHIHwgRVhQUl9MQUJFTEVEKSkpCj4gKyAg
ICAgICAgICAgICAgIHJldHVybiBrdy0+aWRbMF07Cj4gKyAgICAgICAgICAgZWxzZSB7Cj4gKyAg
ICAgICAgICAgICAgIGlmIChrdy0+aWRbMF0gIT0ga3ctPmlkWzFdKQo+ICsgICAgICAgICAgICAg
ICAgICAgU0VUX0xFWF9TVEFURShFWFBSX0JFRyB8IEVYUFJfTEFCRUwpOwo+ICsgICAgICAgICAg
ICAgICByZXR1cm4ga3ctPmlkWzFdOwo+ICsgICAgICAgICAgIH0KPiArICAgICAgIH0KPiArICAg
IH0KPiArCj4gKyAgICBpZiAoSVNfbGV4X3N0YXRlKEVYUFJfQkVHX0FOWSB8IEVYUFJfQVJHX0FO
WSB8IEVYUFJfRE9UKSkgewo+ICsgICAgICAgaWYgKGNtZF9zdGF0ZSkgewo+ICsgICAgICAgICAg
IFNFVF9MRVhfU1RBVEUoRVhQUl9DTURBUkcpOwo+ICsgICAgICAgfQo+ICsgICAgICAgZWxzZSB7
Cj4gKyAgICAgICAgICAgU0VUX0xFWF9TVEFURShFWFBSX0FSRyk7Cj4gKyAgICAgICB9Cj4gKyAg
ICB9Cj4gKyAgICBlbHNlIGlmIChwLT5sZXguc3RhdGUgPT0gRVhQUl9GTkFNRSkgewo+ICsgICAg
ICAgU0VUX0xFWF9TVEFURShFWFBSX0VOREZOKTsKPiArICAgIH0KPiArICAgIGVsc2Ugewo+ICsg
ICAgICAgU0VUX0xFWF9TVEFURShFWFBSX0VORCk7Cj4gKyAgICB9Cj4gKwo+ICsgICAgaWRlbnQg
PSB0b2tlbml6ZV9pZGVudChwLCBsYXN0X3N0YXRlKTsKPiArICAgIGlmIChyZXN1bHQgPT0gdENP
TlNUQU5UICYmIGlzX2xvY2FsX2lkKGlkZW50KSkgcmVzdWx0ID0gdElERU5USUZJRVI7Cj4gKyAg
ICBpZiAoIUlTX2xleF9zdGF0ZV9mb3IobGFzdF9zdGF0ZSwgRVhQUl9ET1R8RVhQUl9GTkFNRSkg
JiYKPiArICAgICAgIChyZXN1bHQgPT0gdElERU5USUZJRVIpICYmIC8qIG5vdCBFWFBSX0ZOQU1F
LCBub3QgYXR0cmFzZ24gKi8KPiArICAgICAgIGx2YXJfZGVmaW5lZChwLCBpZGVudCkpIHsKPiAr
ICAgICAgIFNFVF9MRVhfU1RBVEUoRVhQUl9FTkR8RVhQUl9MQUJFTCk7Cj4gKyAgICB9Cj4gKyAg
ICByZXR1cm4gcmVzdWx0Owo+ICt9Cj4gKwo+ICtzdGF0aWMgZW51bSB5eXRva2VudHlwZQo+ICtw
YXJzZXJfeXlsZXgoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnApCj4gK3sKPiArICAgIHJlZ2lzdGVy
IGludCBjOwo+ICsgICAgaW50IHNwYWNlX3NlZW4gPSAwOwo+ICsgICAgaW50IGNtZF9zdGF0ZTsK
PiArICAgIGludCBsYWJlbDsKPiArICAgIGVudW0gbGV4X3N0YXRlX2UgbGFzdF9zdGF0ZTsKPiAr
ICAgIGludCBmYWxsdGhydSA9IEZBTFNFOwo+ICsgICAgaW50IHRva2VuX3NlZW4gPSBwLT50b2tl
bl9zZWVuOwo+ICsKPiArICAgIGlmIChwLT5sZXguc3RydGVybSkgewo+ICsgICAgICAgaWYgKHAt
PmxleC5zdHJ0ZXJtLT5mbGFncyAmIFNUUlRFUk1fSEVSRURPQykgewo+ICsgICAgICAgICAgIHJl
dHVybiBoZXJlX2RvY3VtZW50KHAsICZwLT5sZXguc3RydGVybS0+dS5oZXJlZG9jKTsKPiArICAg
ICAgIH0KPiArICAgICAgIGVsc2Ugewo+ICsgICAgICAgICAgIHRva2VuX2ZsdXNoKHApOwo+ICsg
ICAgICAgICAgIHJldHVybiBwYXJzZV9zdHJpbmcocCwgJnAtPmxleC5zdHJ0ZXJtLT51LmxpdGVy
YWwpOwo+ICsgICAgICAgfQo+ICsgICAgfQo+ICsgICAgY21kX3N0YXRlID0gcC0+Y29tbWFuZF9z
dGFydDsKPiArICAgIHAtPmNvbW1hbmRfc3RhcnQgPSBGQUxTRTsKPiArICAgIHAtPnRva2VuX3Nl
ZW4gPSBUUlVFOwo+ICsgIHJldHJ5Ogo+ICsgICAgbGFzdF9zdGF0ZSA9IHAtPmxleC5zdGF0ZTsK
PiArI2lmbmRlZiBSSVBQRVIKPiArICAgIHRva2VuX2ZsdXNoKHApOwo+ICsjZW5kaWYKPiArICAg
IHN3aXRjaCAoYyA9IG5leHRjKHApKSB7Cj4gKyAgICAgIGNhc2UgJ1wwJzogICAgICAgICAgICAg
ICAvKiBOVUwgKi8KPiArICAgICAgY2FzZSAnXDAwNCc6ICAgICAgICAgICAgIC8qIF5EICovCj4g
KyAgICAgIGNhc2UgJ1wwMzInOiAgICAgICAgICAgICAvKiBeWiAqLwo+ICsgICAgICBjYXNlIC0x
OiAgICAgICAgICAgICAgICAgLyogZW5kIG9mIHNjcmlwdC4gKi8KPiArICAgICAgIHJldHVybiAw
Owo+ICsKPiArICAgICAgIC8qIHdoaXRlIHNwYWNlcyAqLwo+ICsgICAgICBjYXNlICcgJzogY2Fz
ZSAnXHQnOiBjYXNlICdcZic6IGNhc2UgJ1xyJzoKPiArICAgICAgY2FzZSAnXDEzJzogLyogJ1x2
JyAqLwo+ICsgICAgICAgc3BhY2Vfc2VlbiA9IDE7Cj4gKyNpZmRlZiBSSVBQRVIKPiArICAgICAg
IHdoaWxlICgoYyA9IG5leHRjKHApKSkgewo+ICsgICAgICAgICAgIHN3aXRjaCAoYykgewo+ICsg
ICAgICAgICAgICAgY2FzZSAnICc6IGNhc2UgJ1x0JzogY2FzZSAnXGYnOiBjYXNlICdccic6Cj4g
KyAgICAgICAgICAgICBjYXNlICdcMTMnOiAvKiAnXHYnICovCj4gKyAgICAgICAgICAgICAgIGJy
ZWFrOwo+ICsgICAgICAgICAgICAgZGVmYXVsdDoKPiArICAgICAgICAgICAgICAgZ290byBvdXRv
Zmxvb3A7Cj4gKyAgICAgICAgICAgfQo+ICsgICAgICAgfQo+ICsgICAgICBvdXRvZmxvb3A6Cj4g
KyAgICAgICBwdXNoYmFjayhwLCBjKTsKPiArICAgICAgIGRpc3BhdGNoX3NjYW5fZXZlbnQocCwg
dFNQKTsKPiArI2VuZGlmCj4gKyAgICAgICBnb3RvIHJldHJ5Owo+ICsKPiArICAgICAgY2FzZSAn
Iyc6ICAgICAgICAgICAgICAgIC8qIGl0J3MgYSBjb21tZW50ICovCj4gKyAgICAgICBwLT50b2tl
bl9zZWVuID0gdG9rZW5fc2VlbjsKPiArICAgICAgIC8qIG5vIG1hZ2ljX2NvbW1lbnQgaW4gc2hl
YmFuZyBsaW5lICovCj4gKyAgICAgICBpZiAoIXBhcnNlcl9tYWdpY19jb21tZW50KHAsIHAtPmxl
eC5wY3VyLCBwLT5sZXgucGVuZCAtIHAtPmxleC5wY3VyKSkgewo+ICsgICAgICAgICAgIGlmIChj
b21tZW50X2F0X3RvcChwKSkgewo+ICsgICAgICAgICAgICAgICBzZXRfZmlsZV9lbmNvZGluZyhw
LCBwLT5sZXgucGN1ciwgcC0+bGV4LnBlbmQpOwo+ICsgICAgICAgICAgIH0KPiArICAgICAgIH0K
PiArICAgICAgIGxleF9nb3RvX2VvbChwKTsKPiArICAgICAgICBkaXNwYXRjaF9zY2FuX2V2ZW50
KHAsIHRDT01NRU5UKTsKPiArICAgICAgICBmYWxsdGhydSA9IFRSVUU7Cj4gKyAgICAgICAvKiBm
YWxsIHRocm91Z2ggKi8KPiArICAgICAgY2FzZSAnXG4nOgo+ICsgICAgICAgcC0+dG9rZW5fc2Vl
biA9IHRva2VuX3NlZW47Cj4gKyAgICAgICBjID0gKElTX2xleF9zdGF0ZShFWFBSX0JFR3xFWFBS
X0NMQVNTfEVYUFJfRk5BTUV8RVhQUl9ET1QpICYmCj4gKyAgICAgICAgICAgICFJU19sZXhfc3Rh
dGUoRVhQUl9MQUJFTEVEKSk7Cj4gKyAgICAgICBpZiAoYyB8fCBJU19sZXhfc3RhdGVfYWxsKEVY
UFJfQVJHfEVYUFJfTEFCRUxFRCkpIHsKPiArICAgICAgICAgICAgaWYgKCFmYWxsdGhydSkgewo+
ICsgICAgICAgICAgICAgICAgZGlzcGF0Y2hfc2Nhbl9ldmVudChwLCB0SUdOT1JFRF9OTCk7Cj4g
KyAgICAgICAgICAgIH0KPiArICAgICAgICAgICAgZmFsbHRocnUgPSBGQUxTRTsKPiArICAgICAg
ICAgICBpZiAoIWMgJiYgcC0+aW5fa3dhcmcpIHsKPiArICAgICAgICAgICAgICAgZ290byBub3Jt
YWxfbmV3bGluZTsKPiArICAgICAgICAgICB9Cj4gKyAgICAgICAgICAgZ290byByZXRyeTsKPiAr
ICAgICAgIH0KPiArICAgICAgIHdoaWxlICgxKSB7Cj4gKyAgICAgICAgICAgc3dpdGNoIChjID0g
bmV4dGMocCkpIHsKPiArICAgICAgICAgICAgIGNhc2UgJyAnOiBjYXNlICdcdCc6IGNhc2UgJ1xm
JzogY2FzZSAnXHInOgo+ICsgICAgICAgICAgICAgY2FzZSAnXDEzJzogLyogJ1x2JyAqLwo+ICsg
ICAgICAgICAgICAgICBzcGFjZV9zZWVuID0gMTsKPiArICAgICAgICAgICAgICAgYnJlYWs7Cj4g
KyAgICAgICAgICAgICBjYXNlICcmJzoKPiArICAgICAgICAgICAgIGNhc2UgJy4nOiB7Cj4gKyAg
ICAgICAgICAgICAgIGRpc3BhdGNoX2RlbGF5ZWRfdG9rZW4ocCwgdElHTk9SRURfTkwpOwo+ICsg
ICAgICAgICAgICAgICBpZiAocGVlayhwLCAnLicpID09IChjID09ICcmJykpIHsKPiArICAgICAg
ICAgICAgICAgICAgIHB1c2hiYWNrKHAsIGMpOwo+ICsgICAgICAgICAgICAgICAgICAgZGlzcGF0
Y2hfc2Nhbl9ldmVudChwLCB0U1ApOwo+ICsgICAgICAgICAgICAgICAgICAgZ290byByZXRyeTsK
PiArICAgICAgICAgICAgICAgfQo+ICsgICAgICAgICAgICAgfQo+ICsgICAgICAgICAgICAgZGVm
YXVsdDoKPiArICAgICAgICAgICAgICAgcC0+cnVieV9zb3VyY2VsaW5lLS07Cj4gKyAgICAgICAg
ICAgICAgIHAtPmxleC5uZXh0bGluZSA9IHAtPmxleC5sYXN0bGluZTsKPiArICAgICAgICAgICAg
IGNhc2UgLTE6ICAgICAgICAgIC8qIEVPRiBubyBkZWNyZW1lbnQqLwo+ICsjaWZuZGVmIFJJUFBF
Ugo+ICsgICAgICAgICAgICAgICBpZiAocC0+bGV4LnByZXZsaW5lICYmICFwLT5lb2ZwKSBwLT5s
ZXgubGFzdGxpbmUgPSBwLT5sZXgucHJldmxpbmU7Cj4gKyAgICAgICAgICAgICAgIHAtPmxleC5w
YmVnID0gUlNUUklOR19QVFIocC0+bGV4Lmxhc3RsaW5lKTsKPiArICAgICAgICAgICAgICAgcC0+
bGV4LnBlbmQgPSBwLT5sZXgucGN1ciA9IHAtPmxleC5wYmVnICsgUlNUUklOR19MRU4ocC0+bGV4
Lmxhc3RsaW5lKTsKPiArICAgICAgICAgICAgICAgcHVzaGJhY2socCwgMSk7IC8qIGFsd2F5cyBw
dXNoYmFjayAqLwo+ICsgICAgICAgICAgICAgICBwLT5sZXgucHRvayA9IHAtPmxleC5wY3VyOwo+
ICsjZWxzZQo+ICsgICAgICAgICAgICAgICBsZXhfZ290b19lb2wocCk7Cj4gKyAgICAgICAgICAg
ICAgIGlmIChjICE9IC0xKSB7Cj4gKyAgICAgICAgICAgICAgICAgICBwLT5sZXgucHRvayA9IHAt
PmxleC5wY3VyOwo+ICsgICAgICAgICAgICAgICB9Cj4gKyNlbmRpZgo+ICsgICAgICAgICAgICAg
ICBnb3RvIG5vcm1hbF9uZXdsaW5lOwo+ICsgICAgICAgICAgIH0KPiArICAgICAgIH0KPiArICAg
ICAgbm9ybWFsX25ld2xpbmU6Cj4gKyAgICAgICBwLT5jb21tYW5kX3N0YXJ0ID0gVFJVRTsKPiAr
ICAgICAgIFNFVF9MRVhfU1RBVEUoRVhQUl9CRUcpOwo+ICsgICAgICAgcmV0dXJuICdcbic7Cj4g
Kwo+ICsgICAgICBjYXNlICcqJzoKPiArICAgICAgIGlmICgoYyA9IG5leHRjKHApKSA9PSAnKicp
IHsKPiArICAgICAgICAgICBpZiAoKGMgPSBuZXh0YyhwKSkgPT0gJz0nKSB7Cj4gKyAgICAgICAg
ICAgICAgIHNldF95eWx2YWxfaWQoaWRQb3cpOwo+ICsgICAgICAgICAgICAgICBTRVRfTEVYX1NU
QVRFKEVYUFJfQkVHKTsKPiArICAgICAgICAgICAgICAgcmV0dXJuIHRPUF9BU0dOOwo+ICsgICAg
ICAgICAgIH0KPiArICAgICAgICAgICBwdXNoYmFjayhwLCBjKTsKPiArICAgICAgICAgICBpZiAo
SVNfU1BDQVJHKGMpKSB7Cj4gKyAgICAgICAgICAgICAgIHJiX3dhcm5pbmcwKCJgKionIGludGVy
cHJldGVkIGFzIGFyZ3VtZW50IHByZWZpeCIpOwo+ICsgICAgICAgICAgICAgICBjID0gdERTVEFS
Owo+ICsgICAgICAgICAgIH0KPiArICAgICAgICAgICBlbHNlIGlmIChJU19CRUcoKSkgewo+ICsg
ICAgICAgICAgICAgICBjID0gdERTVEFSOwo+ICsgICAgICAgICAgIH0KPiArICAgICAgICAgICBl
bHNlIHsKPiArICAgICAgICAgICAgICAgYyA9IHdhcm5fYmFsYW5jZWQoKGVudW0gcnVieV9tZXRo
b2RfaWRzKXRQT1csICIqKiIsICJhcmd1bWVudCBwcmVmaXgiKTsKPiArICAgICAgICAgICB9Cj4g
KyAgICAgICB9Cj4gKyAgICAgICBlbHNlIHsKPiArICAgICAgICAgICBpZiAoYyA9PSAnPScpIHsK
PiArICAgICAgICAgICAgICAgIHNldF95eWx2YWxfaWQoJyonKTsKPiArICAgICAgICAgICAgICAg
U0VUX0xFWF9TVEFURShFWFBSX0JFRyk7Cj4gKyAgICAgICAgICAgICAgIHJldHVybiB0T1BfQVNH
TjsKPiArICAgICAgICAgICB9Cj4gKyAgICAgICAgICAgcHVzaGJhY2socCwgYyk7Cj4gKyAgICAg
ICAgICAgaWYgKElTX1NQQ0FSRyhjKSkgewo+ICsgICAgICAgICAgICAgICByYl93YXJuaW5nMCgi
YConIGludGVycHJldGVkIGFzIGFyZ3VtZW50IHByZWZpeCIpOwo+ICsgICAgICAgICAgICAgICBj
ID0gdFNUQVI7Cj4gKyAgICAgICAgICAgfQo+ICsgICAgICAgICAgIGVsc2UgaWYgKElTX0JFRygp
KSB7Cj4gKyAgICAgICAgICAgICAgIGMgPSB0U1RBUjsKPiArICAgICAgICAgICB9Cj4gKyAgICAg
ICAgICAgZWxzZSB7Cj4gKyAgICAgICAgICAgICAgIGMgPSB3YXJuX2JhbGFuY2VkKCcqJywgIioi
LCAiYXJndW1lbnQgcHJlZml4Iik7Cj4gKyAgICAgICAgICAgfQo+ICsgICAgICAgfQo+ICsgICAg
ICAgU0VUX0xFWF9TVEFURShJU19BRlRFUl9PUEVSQVRPUigpID8gRVhQUl9BUkcgOiBFWFBSX0JF
Ryk7Cj4gKyAgICAgICByZXR1cm4gYzsKPiArCj4gKyAgICAgIGNhc2UgJyEnOgo+ICsgICAgICAg
YyA9IG5leHRjKHApOwo+ICsgICAgICAgaWYgKElTX0FGVEVSX09QRVJBVE9SKCkpIHsKPiArICAg
ICAgICAgICBTRVRfTEVYX1NUQVRFKEVYUFJfQVJHKTsKPiArICAgICAgICAgICBpZiAoYyA9PSAn
QCcpIHsKPiArICAgICAgICAgICAgICAgcmV0dXJuICchJzsKPiArICAgICAgICAgICB9Cj4gKyAg
ICAgICB9Cj4gKyAgICAgICBlbHNlIHsKPiArICAgICAgICAgICBTRVRfTEVYX1NUQVRFKEVYUFJf
QkVHKTsKPiArICAgICAgIH0KPiArICAgICAgIGlmIChjID09ICc9Jykgewo+ICsgICAgICAgICAg
IHJldHVybiB0TkVROwo+ICsgICAgICAgfQo+ICsgICAgICAgaWYgKGMgPT0gJ34nKSB7Cj4gKyAg
ICAgICAgICAgcmV0dXJuIHROTUFUQ0g7Cj4gKyAgICAgICB9Cj4gKyAgICAgICBwdXNoYmFjayhw
LCBjKTsKPiArICAgICAgIHJldHVybiAnISc7Cj4gKwo+ICsgICAgICBjYXNlICc9JzoKPiArICAg
ICAgIGlmICh3YXNfYm9sKHApKSB7Cj4gKyAgICAgICAgICAgLyogc2tpcCBlbWJlZGRlZCByZCBk
b2N1bWVudCAqLwo+ICsgICAgICAgICAgIGlmIChzdHJuY21wKHAtPmxleC5wY3VyLCAiYmVnaW4i
LCA1KSA9PSAwICYmIElTU1BBQ0UocC0+bGV4LnBjdXJbNV0pKSB7Cj4gKyAgICAgICAgICAgICAg
IGludCBmaXJzdF9wID0gVFJVRTsKPiArCj4gKyAgICAgICAgICAgICAgIGxleF9nb3RvX2VvbChw
KTsKPiArICAgICAgICAgICAgICAgZGlzcGF0Y2hfc2Nhbl9ldmVudChwLCB0RU1CRE9DX0JFRyk7
Cj4gKyAgICAgICAgICAgICAgIGZvciAoOzspIHsKPiArICAgICAgICAgICAgICAgICAgIGxleF9n
b3RvX2VvbChwKTsKPiArICAgICAgICAgICAgICAgICAgIGlmICghZmlyc3RfcCkgewo+ICsgICAg
ICAgICAgICAgICAgICAgICAgIGRpc3BhdGNoX3NjYW5fZXZlbnQocCwgdEVNQkRPQyk7Cj4gKyAg
ICAgICAgICAgICAgICAgICB9Cj4gKyAgICAgICAgICAgICAgICAgICBmaXJzdF9wID0gRkFMU0U7
Cj4gKyAgICAgICAgICAgICAgICAgICBjID0gbmV4dGMocCk7Cj4gKyAgICAgICAgICAgICAgICAg
ICBpZiAoYyA9PSAtMSkgewo+ICsgICAgICAgICAgICAgICAgICAgICAgIGNvbXBpbGVfZXJyb3Io
cCwgImVtYmVkZGVkIGRvY3VtZW50IG1lZXRzIGVuZCBvZiBmaWxlIik7Cj4gKyAgICAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIDA7Cj4gKyAgICAgICAgICAgICAgICAgICB9Cj4gKyAgICAgICAg
ICAgICAgICAgICBpZiAoYyAhPSAnPScpIGNvbnRpbnVlOwo+ICsgICAgICAgICAgICAgICAgICAg
aWYgKGMgPT0gJz0nICYmIHN0cm5jbXAocC0+bGV4LnBjdXIsICJlbmQiLCAzKSA9PSAwICYmCj4g
KyAgICAgICAgICAgICAgICAgICAgICAgKHAtPmxleC5wY3VyICsgMyA9PSBwLT5sZXgucGVuZCB8
fCBJU1NQQUNFKHAtPmxleC5wY3VyWzNdKSkpIHsKPiArICAgICAgICAgICAgICAgICAgICAgICBi
cmVhazsKPiArICAgICAgICAgICAgICAgICAgIH0KPiArICAgICAgICAgICAgICAgfQo+ICsgICAg
ICAgICAgICAgICBsZXhfZ290b19lb2wocCk7Cj4gKyAgICAgICAgICAgICAgIGRpc3BhdGNoX3Nj
YW5fZXZlbnQocCwgdEVNQkRPQ19FTkQpOwo+ICsgICAgICAgICAgICAgICBnb3RvIHJldHJ5Owo+
ICsgICAgICAgICAgIH0KPiArICAgICAgIH0KPiArCj4gKyAgICAgICBTRVRfTEVYX1NUQVRFKElT
X0FGVEVSX09QRVJBVE9SKCkgPyBFWFBSX0FSRyA6IEVYUFJfQkVHKTsKPiArICAgICAgIGlmICgo
YyA9IG5leHRjKHApKSA9PSAnPScpIHsKPiArICAgICAgICAgICBpZiAoKGMgPSBuZXh0YyhwKSkg
PT0gJz0nKSB7Cj4gKyAgICAgICAgICAgICAgIHJldHVybiB0RVFROwo+ICsgICAgICAgICAgIH0K
PiArICAgICAgICAgICBwdXNoYmFjayhwLCBjKTsKPiArICAgICAgICAgICByZXR1cm4gdEVROwo+
ICsgICAgICAgfQo+ICsgICAgICAgaWYgKGMgPT0gJ34nKSB7Cj4gKyAgICAgICAgICAgcmV0dXJu
IHRNQVRDSDsKPiArICAgICAgIH0KPiArICAgICAgIGVsc2UgaWYgKGMgPT0gJz4nKSB7Cj4gKyAg
ICAgICAgICAgcmV0dXJuIHRBU1NPQzsKPiArICAgICAgIH0KPiArICAgICAgIHB1c2hiYWNrKHAs
IGMpOwo+ICsgICAgICAgcmV0dXJuICc9JzsKPiArCj4gKyAgICAgIGNhc2UgJzwnOgo+ICsgICAg
ICAgbGFzdF9zdGF0ZSA9IHAtPmxleC5zdGF0ZTsKPiArICAgICAgIGMgPSBuZXh0YyhwKTsKPiAr
ICAgICAgIGlmIChjID09ICc8JyAmJgo+ICsgICAgICAgICAgICFJU19sZXhfc3RhdGUoRVhQUl9E
T1QgfCBFWFBSX0NMQVNTKSAmJgo+ICsgICAgICAgICAgICFJU19FTkQoKSAmJgo+ICsgICAgICAg
ICAgICghSVNfQVJHKCkgfHwgSVNfbGV4X3N0YXRlKEVYUFJfTEFCRUxFRCkgfHwgc3BhY2Vfc2Vl
bikpIHsKPiArICAgICAgICAgICBpbnQgdG9rZW4gPSBoZXJlZG9jX2lkZW50aWZpZXIocCk7Cj4g
KyAgICAgICAgICAgaWYgKHRva2VuKSByZXR1cm4gdG9rZW47Cj4gKyAgICAgICB9Cj4gKyAgICAg
ICBpZiAoSVNfQUZURVJfT1BFUkFUT1IoKSkgewo+ICsgICAgICAgICAgIFNFVF9MRVhfU1RBVEUo
RVhQUl9BUkcpOwo+ICsgICAgICAgfQo+ICsgICAgICAgZWxzZSB7Cj4gKyAgICAgICAgICAgaWYg
KElTX2xleF9zdGF0ZShFWFBSX0NMQVNTKSkKPiArICAgICAgICAgICAgICAgcC0+Y29tbWFuZF9z
dGFydCA9IFRSVUU7Cj4gKyAgICAgICAgICAgU0VUX0xFWF9TVEFURShFWFBSX0JFRyk7Cj4gKyAg
ICAgICB9Cj4gKyAgICAgICBpZiAoYyA9PSAnPScpIHsKPiArICAgICAgICAgICBpZiAoKGMgPSBu
ZXh0YyhwKSkgPT0gJz4nKSB7Cj4gKyAgICAgICAgICAgICAgIHJldHVybiB0Q01QOwo+ICsgICAg
ICAgICAgIH0KPiArICAgICAgICAgICBwdXNoYmFjayhwLCBjKTsKPiArICAgICAgICAgICByZXR1
cm4gdExFUTsKPiArICAgICAgIH0KPiArICAgICAgIGlmIChjID09ICc8Jykgewo+ICsgICAgICAg
ICAgIGlmICgoYyA9IG5leHRjKHApKSA9PSAnPScpIHsKPiArICAgICAgICAgICAgICAgc2V0X3l5
bHZhbF9pZChpZExUTFQpOwo+ICsgICAgICAgICAgICAgICBTRVRfTEVYX1NUQVRFKEVYUFJfQkVH
KTsKPiArICAgICAgICAgICAgICAgcmV0dXJuIHRPUF9BU0dOOwo+ICsgICAgICAgICAgIH0KPiAr
ICAgICAgICAgICBwdXNoYmFjayhwLCBjKTsKPiArICAgICAgICAgICByZXR1cm4gd2Fybl9iYWxh
bmNlZCgoZW51bSBydWJ5X21ldGhvZF9pZHMpdExTSEZULCAiPDwiLCAiaGVyZSBkb2N1bWVudCIp
Owo+ICsgICAgICAgfQo+ICsgICAgICAgcHVzaGJhY2socCwgYyk7Cj4gKyAgICAgICByZXR1cm4g
JzwnOwo+ICsKPiArICAgICAgY2FzZSAnPic6Cj4gKyAgICAgICBTRVRfTEVYX1NUQVRFKElTX0FG
VEVSX09QRVJBVE9SKCkgPyBFWFBSX0FSRyA6IEVYUFJfQkVHKTsKPiArICAgICAgIGlmICgoYyA9
IG5leHRjKHApKSA9PSAnPScpIHsKPiArICAgICAgICAgICByZXR1cm4gdEdFUTsKPiArICAgICAg
IH0KPiArICAgICAgIGlmIChjID09ICc+Jykgewo+ICsgICAgICAgICAgIGlmICgoYyA9IG5leHRj
KHApKSA9PSAnPScpIHsKPiArICAgICAgICAgICAgICAgc2V0X3l5bHZhbF9pZChpZEdUR1QpOwo+
ICsgICAgICAgICAgICAgICBTRVRfTEVYX1NUQVRFKEVYUFJfQkVHKTsKPiArICAgICAgICAgICAg
ICAgcmV0dXJuIHRPUF9BU0dOOwo+ICsgICAgICAgICAgIH0KPiArICAgICAgICAgICBwdXNoYmFj
ayhwLCBjKTsKPiArICAgICAgICAgICByZXR1cm4gdFJTSEZUOwo+ICsgICAgICAgfQo+ICsgICAg
ICAgcHVzaGJhY2socCwgYyk7Cj4gKyAgICAgICByZXR1cm4gJz4nOwo+ICsKPiArICAgICAgY2Fz
ZSAnIic6Cj4gKyAgICAgICBsYWJlbCA9IChJU19MQUJFTF9QT1NTSUJMRSgpID8gc3RyX2xhYmVs
IDogMCk7Cj4gKyAgICAgICBwLT5sZXguc3RydGVybSA9IE5FV19TVFJURVJNKHN0cl9kcXVvdGUg
fCBsYWJlbCwgJyInLCAwKTsKPiArICAgICAgIHJldHVybiB0U1RSSU5HX0JFRzsKPiArCj4gKyAg
ICAgIGNhc2UgJ2AnOgo+ICsgICAgICAgaWYgKElTX2xleF9zdGF0ZShFWFBSX0ZOQU1FKSkgewo+
ICsgICAgICAgICAgIFNFVF9MRVhfU1RBVEUoRVhQUl9FTkRGTik7Cj4gKyAgICAgICAgICAgcmV0
dXJuIGM7Cj4gKyAgICAgICB9Cj4gKyAgICAgICBpZiAoSVNfbGV4X3N0YXRlKEVYUFJfRE9UKSkg
ewo+ICsgICAgICAgICAgIGlmIChjbWRfc3RhdGUpCj4gKyAgICAgICAgICAgICAgIFNFVF9MRVhf
U1RBVEUoRVhQUl9DTURBUkcpOwo+ICsgICAgICAgICAgIGVsc2UKPiArICAgICAgICAgICAgICAg
U0VUX0xFWF9TVEFURShFWFBSX0FSRyk7Cj4gKyAgICAgICAgICAgcmV0dXJuIGM7Cj4gKyAgICAg
ICB9Cj4gKyAgICAgICBwLT5sZXguc3RydGVybSA9IE5FV19TVFJURVJNKHN0cl94cXVvdGUsICdg
JywgMCk7Cj4gKyAgICAgICByZXR1cm4gdFhTVFJJTkdfQkVHOwo+ICsKPiArICAgICAgY2FzZSAn
XCcnOgo+ICsgICAgICAgbGFiZWwgPSAoSVNfTEFCRUxfUE9TU0lCTEUoKSA/IHN0cl9sYWJlbCA6
IDApOwo+ICsgICAgICAgcC0+bGV4LnN0cnRlcm0gPSBORVdfU1RSVEVSTShzdHJfc3F1b3RlIHwg
bGFiZWwsICdcJycsIDApOwo+ICsgICAgICAgcmV0dXJuIHRTVFJJTkdfQkVHOwo+ICsKPiArICAg
ICAgY2FzZSAnPyc6Cj4gKyAgICAgICByZXR1cm4gcGFyc2VfcW1hcmsocCwgc3BhY2Vfc2Vlbik7
Cj4gKwo+ICsgICAgICBjYXNlICcmJzoKPiArICAgICAgIGlmICgoYyA9IG5leHRjKHApKSA9PSAn
JicpIHsKPiArICAgICAgICAgICBTRVRfTEVYX1NUQVRFKEVYUFJfQkVHKTsKPiArICAgICAgICAg
ICBpZiAoKGMgPSBuZXh0YyhwKSkgPT0gJz0nKSB7Cj4gKyAgICAgICAgICAgICAgICBzZXRfeXls
dmFsX2lkKGlkQU5ET1ApOwo+ICsgICAgICAgICAgICAgICBTRVRfTEVYX1NUQVRFKEVYUFJfQkVH
KTsKPiArICAgICAgICAgICAgICAgcmV0dXJuIHRPUF9BU0dOOwo+ICsgICAgICAgICAgIH0KPiAr
ICAgICAgICAgICBwdXNoYmFjayhwLCBjKTsKPiArICAgICAgICAgICByZXR1cm4gdEFORE9QOwo+
ICsgICAgICAgfQo+ICsgICAgICAgZWxzZSBpZiAoYyA9PSAnPScpIHsKPiArICAgICAgICAgICAg
c2V0X3l5bHZhbF9pZCgnJicpOwo+ICsgICAgICAgICAgIFNFVF9MRVhfU1RBVEUoRVhQUl9CRUcp
Owo+ICsgICAgICAgICAgIHJldHVybiB0T1BfQVNHTjsKPiArICAgICAgIH0KPiArICAgICAgIGVs
c2UgaWYgKGMgPT0gJy4nKSB7Cj4gKyAgICAgICAgICAgc2V0X3l5bHZhbF9pZChpZEFORERPVCk7
Cj4gKyAgICAgICAgICAgU0VUX0xFWF9TVEFURShFWFBSX0RPVCk7Cj4gKyAgICAgICAgICAgcmV0
dXJuIHRBTkRET1Q7Cj4gKyAgICAgICB9Cj4gKyAgICAgICBwdXNoYmFjayhwLCBjKTsKPiArICAg
ICAgIGlmIChJU19TUENBUkcoYykpIHsKPiArICAgICAgICAgICBpZiAoKGMgIT0gJzonKSB8fAo+
ICsgICAgICAgICAgICAgICAoYyA9IHBlZWtjX24ocCwgMSkpID09IC0xIHx8Cj4gKyAgICAgICAg
ICAgICAgICEoYyA9PSAnXCcnIHx8IGMgPT0gJyInIHx8Cj4gKyAgICAgICAgICAgICAgICAgaXNf
aWRlbnRjaGFyKChwLT5sZXgucGN1cisxKSwgcC0+bGV4LnBlbmQsIHAtPmVuYykpKSB7Cj4gKyAg
ICAgICAgICAgICAgIHJiX3dhcm5pbmcwKCJgJicgaW50ZXJwcmV0ZWQgYXMgYXJndW1lbnQgcHJl
Zml4Iik7Cj4gKyAgICAgICAgICAgfQo+ICsgICAgICAgICAgIGMgPSB0QU1QRVI7Cj4gKyAgICAg
ICB9Cj4gKyAgICAgICBlbHNlIGlmIChJU19CRUcoKSkgewo+ICsgICAgICAgICAgIGMgPSB0QU1Q
RVI7Cj4gKyAgICAgICB9Cj4gKyAgICAgICBlbHNlIHsKPiArICAgICAgICAgICBjID0gd2Fybl9i
YWxhbmNlZCgnJicsICImIiwgImFyZ3VtZW50IHByZWZpeCIpOwo+ICsgICAgICAgfQo+ICsgICAg
ICAgU0VUX0xFWF9TVEFURShJU19BRlRFUl9PUEVSQVRPUigpID8gRVhQUl9BUkcgOiBFWFBSX0JF
Ryk7Cj4gKyAgICAgICByZXR1cm4gYzsKPiArCj4gKyAgICAgIGNhc2UgJ3wnOgo+ICsgICAgICAg
aWYgKChjID0gbmV4dGMocCkpID09ICd8Jykgewo+ICsgICAgICAgICAgIFNFVF9MRVhfU1RBVEUo
RVhQUl9CRUcpOwo+ICsgICAgICAgICAgIGlmICgoYyA9IG5leHRjKHApKSA9PSAnPScpIHsKPiAr
ICAgICAgICAgICAgICAgIHNldF95eWx2YWxfaWQoaWRPUk9QKTsKPiArICAgICAgICAgICAgICAg
U0VUX0xFWF9TVEFURShFWFBSX0JFRyk7Cj4gKyAgICAgICAgICAgICAgIHJldHVybiB0T1BfQVNH
TjsKPiArICAgICAgICAgICB9Cj4gKyAgICAgICAgICAgcHVzaGJhY2socCwgYyk7Cj4gKyAgICAg
ICAgICAgcmV0dXJuIHRPUk9QOwo+ICsgICAgICAgfQo+ICsgICAgICAgaWYgKGMgPT0gJz0nKSB7
Cj4gKyAgICAgICAgICAgIHNldF95eWx2YWxfaWQoJ3wnKTsKPiArICAgICAgICAgICBTRVRfTEVY
X1NUQVRFKEVYUFJfQkVHKTsKPiArICAgICAgICAgICByZXR1cm4gdE9QX0FTR047Cj4gKyAgICAg
ICB9Cj4gKyAgICAgICBTRVRfTEVYX1NUQVRFKElTX0FGVEVSX09QRVJBVE9SKCkgPyBFWFBSX0FS
RyA6IEVYUFJfQkVHfEVYUFJfTEFCRUwpOwo+ICsgICAgICAgcHVzaGJhY2socCwgYyk7Cj4gKyAg
ICAgICByZXR1cm4gJ3wnOwo+ICsKPiArICAgICAgY2FzZSAnKyc6Cj4gKyAgICAgICBjID0gbmV4
dGMocCk7Cj4gKyAgICAgICBpZiAoSVNfQUZURVJfT1BFUkFUT1IoKSkgewo+ICsgICAgICAgICAg
IFNFVF9MRVhfU1RBVEUoRVhQUl9BUkcpOwo+ICsgICAgICAgICAgIGlmIChjID09ICdAJykgewo+
ICsgICAgICAgICAgICAgICByZXR1cm4gdFVQTFVTOwo+ICsgICAgICAgICAgIH0KPiArICAgICAg
ICAgICBwdXNoYmFjayhwLCBjKTsKPiArICAgICAgICAgICByZXR1cm4gJysnOwo+ICsgICAgICAg
fQo+ICsgICAgICAgaWYgKGMgPT0gJz0nKSB7Cj4gKyAgICAgICAgICAgIHNldF95eWx2YWxfaWQo
JysnKTsKPiArICAgICAgICAgICBTRVRfTEVYX1NUQVRFKEVYUFJfQkVHKTsKPiArICAgICAgICAg
ICByZXR1cm4gdE9QX0FTR047Cj4gKyAgICAgICB9Cj4gKyAgICAgICBpZiAoSVNfQkVHKCkgfHwg
KElTX1NQQ0FSRyhjKSAmJiBhcmdfYW1iaWd1b3VzKHAsICcrJykpKSB7Cj4gKyAgICAgICAgICAg
U0VUX0xFWF9TVEFURShFWFBSX0JFRyk7Cj4gKyAgICAgICAgICAgcHVzaGJhY2socCwgYyk7Cj4g
KyAgICAgICAgICAgaWYgKGMgIT0gLTEgJiYgSVNESUdJVChjKSkgewo+ICsgICAgICAgICAgICAg
ICByZXR1cm4gcGFyc2VfbnVtZXJpYyhwLCAnKycpOwo+ICsgICAgICAgICAgIH0KPiArICAgICAg
ICAgICByZXR1cm4gdFVQTFVTOwo+ICsgICAgICAgfQo+ICsgICAgICAgU0VUX0xFWF9TVEFURShF
WFBSX0JFRyk7Cj4gKyAgICAgICBwdXNoYmFjayhwLCBjKTsKPiArICAgICAgIHJldHVybiB3YXJu
X2JhbGFuY2VkKCcrJywgIisiLCAidW5hcnkgb3BlcmF0b3IiKTsKPiArCj4gKyAgICAgIGNhc2Ug
Jy0nOgo+ICsgICAgICAgYyA9IG5leHRjKHApOwo+ICsgICAgICAgaWYgKElTX0FGVEVSX09QRVJB
VE9SKCkpIHsKPiArICAgICAgICAgICBTRVRfTEVYX1NUQVRFKEVYUFJfQVJHKTsKPiArICAgICAg
ICAgICBpZiAoYyA9PSAnQCcpIHsKPiArICAgICAgICAgICAgICAgcmV0dXJuIHRVTUlOVVM7Cj4g
KyAgICAgICAgICAgfQo+ICsgICAgICAgICAgIHB1c2hiYWNrKHAsIGMpOwo+ICsgICAgICAgICAg
IHJldHVybiAnLSc7Cj4gKyAgICAgICB9Cj4gKyAgICAgICBpZiAoYyA9PSAnPScpIHsKPiArICAg
ICAgICAgICAgc2V0X3l5bHZhbF9pZCgnLScpOwo+ICsgICAgICAgICAgIFNFVF9MRVhfU1RBVEUo
RVhQUl9CRUcpOwo+ICsgICAgICAgICAgIHJldHVybiB0T1BfQVNHTjsKPiArICAgICAgIH0KPiAr
ICAgICAgIGlmIChjID09ICc+Jykgewo+ICsgICAgICAgICAgIFNFVF9MRVhfU1RBVEUoRVhQUl9F
TkRGTik7Cj4gKyAgICAgICAgICAgcmV0dXJuIHRMQU1CREE7Cj4gKyAgICAgICB9Cj4gKyAgICAg
ICBpZiAoSVNfQkVHKCkgfHwgKElTX1NQQ0FSRyhjKSAmJiBhcmdfYW1iaWd1b3VzKHAsICctJykp
KSB7Cj4gKyAgICAgICAgICAgU0VUX0xFWF9TVEFURShFWFBSX0JFRyk7Cj4gKyAgICAgICAgICAg
cHVzaGJhY2socCwgYyk7Cj4gKyAgICAgICAgICAgaWYgKGMgIT0gLTEgJiYgSVNESUdJVChjKSkg
ewo+ICsgICAgICAgICAgICAgICByZXR1cm4gdFVNSU5VU19OVU07Cj4gKyAgICAgICAgICAgfQo+
ICsgICAgICAgICAgIHJldHVybiB0VU1JTlVTOwo+ICsgICAgICAgfQo+ICsgICAgICAgU0VUX0xF
WF9TVEFURShFWFBSX0JFRyk7Cj4gKyAgICAgICBwdXNoYmFjayhwLCBjKTsKPiArICAgICAgIHJl
dHVybiB3YXJuX2JhbGFuY2VkKCctJywgIi0iLCAidW5hcnkgb3BlcmF0b3IiKTsKPiArCj4gKyAg
ICAgIGNhc2UgJy4nOgo+ICsgICAgICAgU0VUX0xFWF9TVEFURShFWFBSX0JFRyk7Cj4gKyAgICAg
ICBpZiAoKGMgPSBuZXh0YyhwKSkgPT0gJy4nKSB7Cj4gKyAgICAgICAgICAgaWYgKChjID0gbmV4
dGMocCkpID09ICcuJykgewo+ICsgICAgICAgICAgICAgICByZXR1cm4gdERPVDM7Cj4gKyAgICAg
ICAgICAgfQo+ICsgICAgICAgICAgIHB1c2hiYWNrKHAsIGMpOwo+ICsgICAgICAgICAgIHJldHVy
biB0RE9UMjsKPiArICAgICAgIH0KPiArICAgICAgIHB1c2hiYWNrKHAsIGMpOwo+ICsgICAgICAg
aWYgKGMgIT0gLTEgJiYgSVNESUdJVChjKSkgewo+ICsgICAgICAgICAgIHl5ZXJyb3IwKCJubyAu
PGRpZ2l0PiBmbG9hdGluZyBsaXRlcmFsIGFueW1vcmU7IHB1dCAwIGJlZm9yZSBkb3QiKTsKPiAr
ICAgICAgIH0KPiArICAgICAgIHNldF95eWx2YWxfaWQoJy4nKTsKPiArICAgICAgIFNFVF9MRVhf
U1RBVEUoRVhQUl9ET1QpOwo+ICsgICAgICAgcmV0dXJuICcuJzsKPiArCj4gKyAgICAgIGNhc2Ug
JzAnOiBjYXNlICcxJzogY2FzZSAnMic6IGNhc2UgJzMnOiBjYXNlICc0JzoKPiArICAgICAgY2Fz
ZSAnNSc6IGNhc2UgJzYnOiBjYXNlICc3JzogY2FzZSAnOCc6IGNhc2UgJzknOgo+ICsgICAgICAg
cmV0dXJuIHBhcnNlX251bWVyaWMocCwgYyk7Cj4gKwo+ICsgICAgICBjYXNlICcpJzoKPiArICAg
ICAgIENPTkRfUE9QKCk7Cj4gKyAgICAgICBDTURBUkdfUE9QKCk7Cj4gKyAgICAgICBTRVRfTEVY
X1NUQVRFKEVYUFJfRU5ERk4pOwo+ICsgICAgICAgcC0+bGV4LnBhcmVuX25lc3QtLTsKPiArICAg
ICAgIHJldHVybiBjOwo+ICsKPiArICAgICAgY2FzZSAnXSc6Cj4gKyAgICAgICBDT05EX1BPUCgp
Owo+ICsgICAgICAgQ01EQVJHX1BPUCgpOwo+ICsgICAgICAgU0VUX0xFWF9TVEFURShFWFBSX0VO
RCk7Cj4gKyAgICAgICBwLT5sZXgucGFyZW5fbmVzdC0tOwo+ICsgICAgICAgcmV0dXJuIGM7Cj4g
Kwo+ICsgICAgICBjYXNlICd9JzoKPiArICAgICAgIC8qIHRTVFJJTkdfREVORCBkb2VzIENPTkRf
UE9QIGFuZCBDTURBUkdfUE9QIGluIHRoZSB5YWNjJ3MgcnVsZSAqLwo+ICsgICAgICAgaWYgKCFw
LT5sZXguYnJhY2VfbmVzdC0tKSByZXR1cm4gdFNUUklOR19ERU5EOwo+ICsgICAgICAgQ09ORF9Q
T1AoKTsKPiArICAgICAgIENNREFSR19QT1AoKTsKPiArICAgICAgIFNFVF9MRVhfU1RBVEUoRVhQ
Ul9FTkQpOwo+ICsgICAgICAgcC0+bGV4LnBhcmVuX25lc3QtLTsKPiArICAgICAgIHJldHVybiBj
Owo+ICsKPiArICAgICAgY2FzZSAnOic6Cj4gKyAgICAgICBjID0gbmV4dGMocCk7Cj4gKyAgICAg
ICBpZiAoYyA9PSAnOicpIHsKPiArICAgICAgICAgICBpZiAoSVNfQkVHKCkgfHwgSVNfbGV4X3N0
YXRlKEVYUFJfQ0xBU1MpIHx8IElTX1NQQ0FSRygtMSkpIHsKPiArICAgICAgICAgICAgICAgU0VU
X0xFWF9TVEFURShFWFBSX0JFRyk7Cj4gKyAgICAgICAgICAgICAgIHJldHVybiB0Q09MT04zOwo+
ICsgICAgICAgICAgIH0KPiArICAgICAgICAgICBzZXRfeXlsdmFsX2lkKGlkQ09MT04yKTsKPiAr
ICAgICAgICAgICBTRVRfTEVYX1NUQVRFKEVYUFJfRE9UKTsKPiArICAgICAgICAgICByZXR1cm4g
dENPTE9OMjsKPiArICAgICAgIH0KPiArICAgICAgIGlmIChJU19FTkQoKSB8fCBJU1NQQUNFKGMp
IHx8IGMgPT0gJyMnKSB7Cj4gKyAgICAgICAgICAgcHVzaGJhY2socCwgYyk7Cj4gKyAgICAgICAg
ICAgYyA9IHdhcm5fYmFsYW5jZWQoJzonLCAiOiIsICJzeW1ib2wgbGl0ZXJhbCIpOwo+ICsgICAg
ICAgICAgIFNFVF9MRVhfU1RBVEUoRVhQUl9CRUcpOwo+ICsgICAgICAgICAgIHJldHVybiBjOwo+
ICsgICAgICAgfQo+ICsgICAgICAgc3dpdGNoIChjKSB7Cj4gKyAgICAgICAgIGNhc2UgJ1wnJzoK
PiArICAgICAgICAgICBwLT5sZXguc3RydGVybSA9IE5FV19TVFJURVJNKHN0cl9zc3ltLCBjLCAw
KTsKPiArICAgICAgICAgICBicmVhazsKPiArICAgICAgICAgY2FzZSAnIic6Cj4gKyAgICAgICAg
ICAgcC0+bGV4LnN0cnRlcm0gPSBORVdfU1RSVEVSTShzdHJfZHN5bSwgYywgMCk7Cj4gKyAgICAg
ICAgICAgYnJlYWs7Cj4gKyAgICAgICAgIGRlZmF1bHQ6Cj4gKyAgICAgICAgICAgcHVzaGJhY2so
cCwgYyk7Cj4gKyAgICAgICAgICAgYnJlYWs7Cj4gKyAgICAgICB9Cj4gKyAgICAgICBTRVRfTEVY
X1NUQVRFKEVYUFJfRk5BTUUpOwo+ICsgICAgICAgcmV0dXJuIHRTWU1CRUc7Cj4gKwo+ICsgICAg
ICBjYXNlICcvJzoKPiArICAgICAgIGlmIChJU19CRUcoKSkgewo+ICsgICAgICAgICAgIHAtPmxl
eC5zdHJ0ZXJtID0gTkVXX1NUUlRFUk0oc3RyX3JlZ2V4cCwgJy8nLCAwKTsKPiArICAgICAgICAg
ICByZXR1cm4gdFJFR0VYUF9CRUc7Cj4gKyAgICAgICB9Cj4gKyAgICAgICBpZiAoKGMgPSBuZXh0
YyhwKSkgPT0gJz0nKSB7Cj4gKyAgICAgICAgICAgIHNldF95eWx2YWxfaWQoJy8nKTsKPiArICAg
ICAgICAgICBTRVRfTEVYX1NUQVRFKEVYUFJfQkVHKTsKPiArICAgICAgICAgICByZXR1cm4gdE9Q
X0FTR047Cj4gKyAgICAgICB9Cj4gKyAgICAgICBwdXNoYmFjayhwLCBjKTsKPiArICAgICAgIGlm
IChJU19TUENBUkcoYykpIHsKPiArICAgICAgICAgICBhcmdfYW1iaWd1b3VzKHAsICcvJyk7Cj4g
KyAgICAgICAgICAgcC0+bGV4LnN0cnRlcm0gPSBORVdfU1RSVEVSTShzdHJfcmVnZXhwLCAnLycs
IDApOwo+ICsgICAgICAgICAgIHJldHVybiB0UkVHRVhQX0JFRzsKPiArICAgICAgIH0KPiArICAg
ICAgIFNFVF9MRVhfU1RBVEUoSVNfQUZURVJfT1BFUkFUT1IoKSA/IEVYUFJfQVJHIDogRVhQUl9C
RUcpOwo+ICsgICAgICAgcmV0dXJuIHdhcm5fYmFsYW5jZWQoJy8nLCAiLyIsICJyZWdleHAgbGl0
ZXJhbCIpOwo+ICsKPiArICAgICAgY2FzZSAnXic6Cj4gKyAgICAgICBpZiAoKGMgPSBuZXh0Yyhw
KSkgPT0gJz0nKSB7Cj4gKyAgICAgICAgICAgIHNldF95eWx2YWxfaWQoJ14nKTsKPiArICAgICAg
ICAgICBTRVRfTEVYX1NUQVRFKEVYUFJfQkVHKTsKPiArICAgICAgICAgICByZXR1cm4gdE9QX0FT
R047Cj4gKyAgICAgICB9Cj4gKyAgICAgICBTRVRfTEVYX1NUQVRFKElTX0FGVEVSX09QRVJBVE9S
KCkgPyBFWFBSX0FSRyA6IEVYUFJfQkVHKTsKPiArICAgICAgIHB1c2hiYWNrKHAsIGMpOwo+ICsg
ICAgICAgcmV0dXJuICdeJzsKPiArCj4gKyAgICAgIGNhc2UgJzsnOgo+ICsgICAgICAgU0VUX0xF
WF9TVEFURShFWFBSX0JFRyk7Cj4gKyAgICAgICBwLT5jb21tYW5kX3N0YXJ0ID0gVFJVRTsKPiAr
ICAgICAgIHJldHVybiAnOyc7Cj4gKwo+ICsgICAgICBjYXNlICcsJzoKPiArICAgICAgIFNFVF9M
RVhfU1RBVEUoRVhQUl9CRUd8RVhQUl9MQUJFTCk7Cj4gKyAgICAgICByZXR1cm4gJywnOwo+ICsK
PiArICAgICAgY2FzZSAnfic6Cj4gKyAgICAgICBpZiAoSVNfQUZURVJfT1BFUkFUT1IoKSkgewo+
ICsgICAgICAgICAgIGlmICgoYyA9IG5leHRjKHApKSAhPSAnQCcpIHsKPiArICAgICAgICAgICAg
ICAgcHVzaGJhY2socCwgYyk7Cj4gKyAgICAgICAgICAgfQo+ICsgICAgICAgICAgIFNFVF9MRVhf
U1RBVEUoRVhQUl9BUkcpOwo+ICsgICAgICAgfQo+ICsgICAgICAgZWxzZSB7Cj4gKyAgICAgICAg
ICAgU0VUX0xFWF9TVEFURShFWFBSX0JFRyk7Cj4gKyAgICAgICB9Cj4gKyAgICAgICByZXR1cm4g
J34nOwo+ICsKPiArICAgICAgY2FzZSAnKCc6Cj4gKyAgICAgICBpZiAoSVNfQkVHKCkpIHsKPiAr
ICAgICAgICAgICBjID0gdExQQVJFTjsKPiArICAgICAgIH0KPiArICAgICAgIGVsc2UgaWYgKCFz
cGFjZV9zZWVuKSB7Cj4gKyAgICAgICAgICAgLyogZm9vKCAuLi4gKSA9PiBtZXRob2QgY2FsbCwg
bm8gYW1iaWd1aXR5ICovCj4gKyAgICAgICB9Cj4gKyAgICAgICBlbHNlIGlmIChJU19BUkcoKSB8
fCBJU19sZXhfc3RhdGVfYWxsKEVYUFJfRU5EfEVYUFJfTEFCRUwpKSB7Cj4gKyAgICAgICAgICAg
YyA9IHRMUEFSRU5fQVJHOwo+ICsgICAgICAgfQo+ICsgICAgICAgZWxzZSBpZiAoSVNfbGV4X3N0
YXRlKEVYUFJfRU5ERk4pICYmICFsYW1iZGFfYmVnaW5uaW5nX3AoKSkgewo+ICsgICAgICAgICAg
IHJiX3dhcm5pbmcwKCJwYXJlbnRoZXNlcyBhZnRlciBtZXRob2QgbmFtZSBpcyBpbnRlcnByZXRl
ZCBhcyAiCj4gKyAgICAgICAgICAgICAgICAgICAgICAgImFuIGFyZ3VtZW50IGxpc3QsIG5vdCBh
IGRlY29tcG9zZWQgYXJndW1lbnQiKTsKPiArICAgICAgIH0KPiArICAgICAgIHAtPmxleC5wYXJl
bl9uZXN0Kys7Cj4gKyAgICAgICBDT05EX1BVU0goMCk7Cj4gKyAgICAgICBDTURBUkdfUFVTSCgw
KTsKPiArICAgICAgIFNFVF9MRVhfU1RBVEUoRVhQUl9CRUd8RVhQUl9MQUJFTCk7Cj4gKyAgICAg
ICByZXR1cm4gYzsKPiArCj4gKyAgICAgIGNhc2UgJ1snOgo+ICsgICAgICAgcC0+bGV4LnBhcmVu
X25lc3QrKzsKPiArICAgICAgIGlmIChJU19BRlRFUl9PUEVSQVRPUigpKSB7Cj4gKyAgICAgICAg
ICAgaWYgKChjID0gbmV4dGMocCkpID09ICddJykgewo+ICsgICAgICAgICAgICAgICBTRVRfTEVY
X1NUQVRFKEVYUFJfQVJHKTsKPiArICAgICAgICAgICAgICAgaWYgKChjID0gbmV4dGMocCkpID09
ICc9Jykgewo+ICsgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRBU0VUOwo+ICsgICAgICAgICAg
ICAgICB9Cj4gKyAgICAgICAgICAgICAgIHB1c2hiYWNrKHAsIGMpOwo+ICsgICAgICAgICAgICAg
ICByZXR1cm4gdEFSRUY7Cj4gKyAgICAgICAgICAgfQo+ICsgICAgICAgICAgIHB1c2hiYWNrKHAs
IGMpOwo+ICsgICAgICAgICAgIFNFVF9MRVhfU1RBVEUoRVhQUl9BUkd8RVhQUl9MQUJFTCk7Cj4g
KyAgICAgICAgICAgcmV0dXJuICdbJzsKPiArICAgICAgIH0KPiArICAgICAgIGVsc2UgaWYgKElT
X0JFRygpKSB7Cj4gKyAgICAgICAgICAgYyA9IHRMQlJBQ0s7Cj4gKyAgICAgICB9Cj4gKyAgICAg
ICBlbHNlIGlmIChJU19BUkcoKSAmJiAoc3BhY2Vfc2VlbiB8fCBJU19sZXhfc3RhdGUoRVhQUl9M
QUJFTEVEKSkpIHsKPiArICAgICAgICAgICBjID0gdExCUkFDSzsKPiArICAgICAgIH0KPiArICAg
ICAgIFNFVF9MRVhfU1RBVEUoRVhQUl9CRUd8RVhQUl9MQUJFTCk7Cj4gKyAgICAgICBDT05EX1BV
U0goMCk7Cj4gKyAgICAgICBDTURBUkdfUFVTSCgwKTsKPiArICAgICAgIHJldHVybiBjOwo+ICsK
PiArICAgICAgY2FzZSAneyc6Cj4gKyAgICAgICArK3AtPmxleC5icmFjZV9uZXN0Owo+ICsgICAg
ICAgaWYgKGxhbWJkYV9iZWdpbm5pbmdfcCgpKSB7Cj4gKyAgICAgICAgICAgU0VUX0xFWF9TVEFU
RShFWFBSX0JFRyk7Cj4gKyAgICAgICAgICAgQ09ORF9QVVNIKDApOwo+ICsgICAgICAgICAgIENN
REFSR19QVVNIKDApOwo+ICsgICAgICAgICAgIHAtPmxleC5wYXJlbl9uZXN0Kys7Cj4gKyAgICAg
ICAgICAgcmV0dXJuIHRMQU1CRUc7Cj4gKyAgICAgICB9Cj4gKyAgICAgICBwLT5sZXgucGFyZW5f
bmVzdCsrOwo+ICsgICAgICAgaWYgKElTX2xleF9zdGF0ZShFWFBSX0xBQkVMRUQpKQo+ICsgICAg
ICAgICAgIGMgPSB0TEJSQUNFOyAgICAgIC8qIGhhc2ggKi8KPiArICAgICAgIGVsc2UgaWYgKElT
X2xleF9zdGF0ZShFWFBSX0FSR19BTlkgfCBFWFBSX0VORCB8IEVYUFJfRU5ERk4pKQo+ICsgICAg
ICAgICAgIGMgPSAneyc7ICAgICAgICAgIC8qIGJsb2NrIChwcmltYXJ5KSAqLwo+ICsgICAgICAg
ZWxzZSBpZiAoSVNfbGV4X3N0YXRlKEVYUFJfRU5EQVJHKSkKPiArICAgICAgICAgICBjID0gdExC
UkFDRV9BUkc7ICAvKiBibG9jayAoZXhwcikgKi8KPiArICAgICAgIGVsc2UKPiArICAgICAgICAg
ICBjID0gdExCUkFDRTsgICAgICAvKiBoYXNoICovCj4gKyAgICAgICBDT05EX1BVU0goMCk7Cj4g
KyAgICAgICBDTURBUkdfUFVTSCgwKTsKPiArICAgICAgIFNFVF9MRVhfU1RBVEUoYyAhPSB0TEJS
QUNFID8gRVhQUl9CRUcgOiBFWFBSX0JFR3xFWFBSX0xBQkVMKTsKPiArICAgICAgIGlmIChjICE9
IHRMQlJBQ0UpIHAtPmNvbW1hbmRfc3RhcnQgPSBUUlVFOwo+ICsgICAgICAgcmV0dXJuIGM7Cj4g
Kwo+ICsgICAgICBjYXNlICdcXCc6Cj4gKyAgICAgICBjID0gbmV4dGMocCk7Cj4gKyAgICAgICBp
ZiAoYyA9PSAnXG4nKSB7Cj4gKyAgICAgICAgICAgc3BhY2Vfc2VlbiA9IDE7Cj4gKyAgICAgICAg
ICAgZGlzcGF0Y2hfc2Nhbl9ldmVudChwLCB0U1ApOwo+ICsgICAgICAgICAgIGdvdG8gcmV0cnk7
IC8qIHNraXAgXFxuICovCj4gKyAgICAgICB9Cj4gKyAgICAgICBpZiAoYyA9PSAnICcpIHJldHVy
biB0U1A7Cj4gKyAgICAgICBpZiAoSVNTUEFDRShjKSkgcmV0dXJuIGM7Cj4gKyAgICAgICBwdXNo
YmFjayhwLCBjKTsKPiArICAgICAgIHJldHVybiAnXFwnOwo+ICsKPiArICAgICAgY2FzZSAnJSc6
Cj4gKyAgICAgICByZXR1cm4gcGFyc2VfcGVyY2VudChwLCBzcGFjZV9zZWVuLCBsYXN0X3N0YXRl
KTsKPiArCj4gKyAgICAgIGNhc2UgJyQnOgo+ICsgICAgICAgcmV0dXJuIHBhcnNlX2d2YXIocCwg
bGFzdF9zdGF0ZSk7Cj4gKwo+ICsgICAgICBjYXNlICdAJzoKPiArICAgICAgIHJldHVybiBwYXJz
ZV9hdG1hcmsocCwgbGFzdF9zdGF0ZSk7Cj4gKwo+ICsgICAgICBjYXNlICdfJzoKPiArICAgICAg
IGlmICh3YXNfYm9sKHApICYmIHdob2xlX21hdGNoX3AocCwgIl9fRU5EX18iLCA3LCAwKSkgewo+
ICsgICAgICAgICAgIHAtPnJ1YnlfX2VuZF9fc2VlbiA9IDE7Cj4gKyAgICAgICAgICAgcC0+ZW9m
cCA9IDE7Cj4gKyNpZm5kZWYgUklQUEVSCj4gKyAgICAgICAgICAgcmV0dXJuIC0xOwo+ICsjZWxz
ZQo+ICsgICAgICAgICAgICBsZXhfZ290b19lb2wocCk7Cj4gKyAgICAgICAgICAgIGRpc3BhdGNo
X3NjYW5fZXZlbnQocCwga19fRU5EX18pOwo+ICsgICAgICAgICAgICByZXR1cm4gMDsKPiArI2Vu
ZGlmCj4gKyAgICAgICB9Cj4gKyAgICAgICBuZXd0b2socCk7Cj4gKyAgICAgICBicmVhazsKPiAr
Cj4gKyAgICAgIGRlZmF1bHQ6Cj4gKyAgICAgICBpZiAoIXBhcnNlcl9pc19pZGVudGNoYXIocCkp
IHsKPiArICAgICAgICAgICBjb21waWxlX2Vycm9yKHAsICJJbnZhbGlkIGNoYXIgYFxceCUwMlgn
IGluIGV4cHJlc3Npb24iLCBjKTsKPiArICAgICAgICAgICBnb3RvIHJldHJ5Owo+ICsgICAgICAg
fQo+ICsKPiArICAgICAgIG5ld3RvayhwKTsKPiArICAgICAgIGJyZWFrOwo+ICsgICAgfQo+ICsK
PiArICAgIHJldHVybiBwYXJzZV9pZGVudChwLCBjLCBjbWRfc3RhdGUpOwo+ICt9Cj4gKwo+ICtz
dGF0aWMgZW51bSB5eXRva2VudHlwZQo+ICt5eWxleChZWVNUWVBFICpsdmFsLCBZWUxUWVBFICp5
eWxsb2MsIHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwKQo+ICt7Cj4gKyAgICBlbnVtIHl5dG9rZW50
eXBlIHQ7Cj4gKwo+ICsgICAgcC0+bHZhbCA9IGx2YWw7Cj4gKyAgICBsdmFsLT52YWwgPSBRdW5k
ZWY7Cj4gKyAgICB0ID0gcGFyc2VyX3l5bGV4KHApOwo+ICsgICAgaWYgKGhhc19kZWxheWVkX3Rv
a2VuKHApKQo+ICsgICAgICAgZGlzcGF0Y2hfZGVsYXllZF90b2tlbihwLCB0KTsKPiArICAgIGVs
c2UgaWYgKHQgIT0gMCkKPiArICAgICAgIGRpc3BhdGNoX3NjYW5fZXZlbnQocCwgdCk7Cj4gKwo+
ICsgICAgaWYgKHAtPmxleC5zdHJ0ZXJtICYmIChwLT5sZXguc3RydGVybS0+ZmxhZ3MgJiBTVFJU
RVJNX0hFUkVET0MpKQo+ICsgICAgICAgUlVCWV9TRVRfWVlMTE9DX0ZST01fU1RSVEVSTV9IRVJF
RE9DKCp5eWxsb2MpOwo+ICsgICAgZWxzZQo+ICsgICAgICAgUlVCWV9TRVRfWVlMTE9DKCp5eWxs
b2MpOwo+ICsKPiArICAgIHJldHVybiB0Owo+ICt9Cj4gKwo+ICsjZGVmaW5lIExWQVJfVVNFRCAo
KElEKTEgPDwgKHNpemVvZihJRCkgKiBDSEFSX0JJVCAtIDEpKQo+ICsKPiArc3RhdGljIE5PREUq
Cj4gK25vZGVfbmV3bm9kZShzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgZW51bSBub2RlX3R5cGUg
dHlwZSwgVkFMVUUgYTAsIFZBTFVFIGExLCBWQUxVRSBhMiwgY29uc3QgcmJfY29kZV9sb2NhdGlv
bl90ICpsb2MpCj4gK3sKPiArICAgIE5PREUgKm4gPSByYl9hc3RfbmV3bm9kZShwLT5hc3QpOwo+
ICsKPiArICAgIHJiX25vZGVfaW5pdChuLCB0eXBlLCBhMCwgYTEsIGEyKTsKPiArCj4gKyAgICBu
ZF9zZXRfbG9jKG4sIGxvYyk7Cj4gKyAgICBuZF9zZXRfbm9kZV9pZChuLCBwYXJzZXJfZ2V0X25v
ZGVfaWQocCkpOwo+ICsgICAgcmV0dXJuIG47Cj4gK30KPiArCj4gK3N0YXRpYyBOT0RFICoKPiAr
bmRfc2V0X2xvYyhOT0RFICpuZCwgY29uc3QgWVlMVFlQRSAqbG9jKQo+ICt7Cj4gKyAgICBuZC0+
bmRfbG9jID0gKmxvYzsKPiArICAgIG5kX3NldF9saW5lKG5kLCBsb2MtPmJlZ19wb3MubGluZW5v
KTsKPiArICAgIHJldHVybiBuZDsKPiArfQo+ICsKPiArI2lmbmRlZiBSSVBQRVIKPiArc3RhdGlj
IGVudW0gbm9kZV90eXBlCj4gK25vZGV0eXBlKE5PREUgKm5vZGUpICAgICAgICAgICAgICAgICAg
IC8qIGZvciBkZWJ1ZyAqLwo+ICt7Cj4gKyAgICByZXR1cm4gKGVudW0gbm9kZV90eXBlKW5kX3R5
cGUobm9kZSk7Cj4gK30KPiArCj4gK3N0YXRpYyBpbnQKPiArbm9kZWxpbmUoTk9ERSAqbm9kZSkK
PiArewo+ICsgICAgcmV0dXJuIG5kX2xpbmUobm9kZSk7Cj4gK30KPiArCj4gK3N0YXRpYyBOT0RF
Kgo+ICtuZXdsaW5lX25vZGUoTk9ERSAqbm9kZSkKPiArewo+ICsgICAgaWYgKG5vZGUpIHsKPiAr
ICAgICAgIG5vZGUgPSByZW1vdmVfYmVnaW4obm9kZSk7Cj4gKyAgICAgICBub2RlLT5mbGFncyB8
PSBOT0RFX0ZMX05FV0xJTkU7Cj4gKyAgICB9Cj4gKyAgICByZXR1cm4gbm9kZTsKPiArfQo+ICsK
PiArc3RhdGljIHZvaWQKPiArZml4cG9zKE5PREUgKm5vZGUsIE5PREUgKm9yaWcpCj4gK3sKPiAr
ICAgIGlmICghbm9kZSkgcmV0dXJuOwo+ICsgICAgaWYgKCFvcmlnKSByZXR1cm47Cj4gKyAgICBu
ZF9zZXRfbGluZShub2RlLCBuZF9saW5lKG9yaWcpKTsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQK
PiArcGFyc2VyX3dhcm5pbmcoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIE5PREUgKm5vZGUsIGNv
bnN0IGNoYXIgKm1lc2cpCj4gK3sKPiArICAgIHJiX2NvbXBpbGVfd2FybmluZyhwLT5ydWJ5X3Nv
dXJjZWZpbGUsIG5kX2xpbmUobm9kZSksICIlcyIsIG1lc2cpOwo+ICt9Cj4gKwo+ICtzdGF0aWMg
dm9pZAo+ICtwYXJzZXJfd2FybihzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgTk9ERSAqbm9kZSwg
Y29uc3QgY2hhciAqbWVzZykKPiArewo+ICsgICAgcmJfY29tcGlsZV93YXJuKHAtPnJ1Ynlfc291
cmNlZmlsZSwgbmRfbGluZShub2RlKSwgIiVzIiwgbWVzZyk7Cj4gK30KPiArCj4gK3N0YXRpYyBO
T0RFKgo+ICtibG9ja19hcHBlbmQoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIE5PREUgKmhlYWQs
IE5PREUgKnRhaWwpCj4gK3sKPiArICAgIE5PREUgKmVuZCwgKmggPSBoZWFkLCAqbmQ7Cj4gKwo+
ICsgICAgaWYgKHRhaWwgPT0gMCkgcmV0dXJuIGhlYWQ7Cj4gKwo+ICsgICAgaWYgKGggPT0gMCkg
cmV0dXJuIHRhaWw7Cj4gKyAgICBzd2l0Y2ggKG5kX3R5cGUoaCkpIHsKPiArICAgICAgY2FzZSBO
T0RFX0xJVDoKPiArICAgICAgY2FzZSBOT0RFX1NUUjoKPiArICAgICAgY2FzZSBOT0RFX1NFTEY6
Cj4gKyAgICAgIGNhc2UgTk9ERV9UUlVFOgo+ICsgICAgICBjYXNlIE5PREVfRkFMU0U6Cj4gKyAg
ICAgIGNhc2UgTk9ERV9OSUw6Cj4gKyAgICAgICBwYXJzZXJfd2FybmluZyhwLCBoLCAidW51c2Vk
IGxpdGVyYWwgaWdub3JlZCIpOwo+ICsgICAgICAgcmV0dXJuIHRhaWw7Cj4gKyAgICAgIGRlZmF1
bHQ6Cj4gKyAgICAgICBoID0gZW5kID0gTkVXX0JMT0NLKGhlYWQsICZoZWFkLT5uZF9sb2MpOwo+
ICsgICAgICAgZW5kLT5uZF9lbmQgPSBlbmQ7Cj4gKyAgICAgICBoZWFkID0gZW5kOwo+ICsgICAg
ICAgYnJlYWs7Cj4gKyAgICAgIGNhc2UgTk9ERV9CTE9DSzoKPiArICAgICAgIGVuZCA9IGgtPm5k
X2VuZDsKPiArICAgICAgIGJyZWFrOwo+ICsgICAgfQo+ICsKPiArICAgIG5kID0gZW5kLT5uZF9o
ZWFkOwo+ICsgICAgc3dpdGNoIChuZF90eXBlKG5kKSkgewo+ICsgICAgICBjYXNlIE5PREVfUkVU
VVJOOgo+ICsgICAgICBjYXNlIE5PREVfQlJFQUs6Cj4gKyAgICAgIGNhc2UgTk9ERV9ORVhUOgo+
ICsgICAgICBjYXNlIE5PREVfUkVETzoKPiArICAgICAgY2FzZSBOT0RFX1JFVFJZOgo+ICsgICAg
ICAgaWYgKFJURVNUKHJ1YnlfdmVyYm9zZSkpIHsKPiArICAgICAgICAgICBwYXJzZXJfd2Fybmlu
ZyhwLCB0YWlsLCAic3RhdGVtZW50IG5vdCByZWFjaGVkIik7Cj4gKyAgICAgICB9Cj4gKyAgICAg
ICBicmVhazsKPiArCj4gKyAgICAgIGRlZmF1bHQ6Cj4gKyAgICAgICBicmVhazsKPiArICAgIH0K
PiArCj4gKyAgICBpZiAobmRfdHlwZSh0YWlsKSAhPSBOT0RFX0JMT0NLKSB7Cj4gKyAgICAgICB0
YWlsID0gTkVXX0JMT0NLKHRhaWwsICZ0YWlsLT5uZF9sb2MpOwo+ICsgICAgICAgdGFpbC0+bmRf
ZW5kID0gdGFpbDsKPiArICAgIH0KPiArICAgIGVuZC0+bmRfbmV4dCA9IHRhaWw7Cj4gKyAgICBo
LT5uZF9lbmQgPSB0YWlsLT5uZF9lbmQ7Cj4gKyAgICBuZF9zZXRfbGFzdF9sb2MoaGVhZCwgbmRf
bGFzdF9sb2ModGFpbCkpOwo+ICsgICAgcmV0dXJuIGhlYWQ7Cj4gK30KPiArCj4gKy8qIGFwcGVu
ZCBpdGVtIHRvIHRoZSBsaXN0ICovCj4gK3N0YXRpYyBOT0RFKgo+ICtsaXN0X2FwcGVuZChzdHJ1
Y3QgcGFyc2VyX3BhcmFtcyAqcCwgTk9ERSAqbGlzdCwgTk9ERSAqaXRlbSkKPiArewo+ICsgICAg
Tk9ERSAqbGFzdDsKPiArCj4gKyAgICBpZiAobGlzdCA9PSAwKSByZXR1cm4gTkVXX0xJU1QoaXRl
bSwgJml0ZW0tPm5kX2xvYyk7Cj4gKyAgICBpZiAobGlzdC0+bmRfbmV4dCkgewo+ICsgICAgICAg
bGFzdCA9IGxpc3QtPm5kX25leHQtPm5kX2VuZDsKPiArICAgIH0KPiArICAgIGVsc2Ugewo+ICsg
ICAgICAgbGFzdCA9IGxpc3Q7Cj4gKyAgICB9Cj4gKwo+ICsgICAgbGlzdC0+bmRfYWxlbiArPSAx
Owo+ICsgICAgbGFzdC0+bmRfbmV4dCA9IE5FV19MSVNUKGl0ZW0sICZpdGVtLT5uZF9sb2MpOwo+
ICsgICAgbGlzdC0+bmRfbmV4dC0+bmRfZW5kID0gbGFzdC0+bmRfbmV4dDsKPiArCj4gKyAgICBu
ZF9zZXRfbGFzdF9sb2MobGlzdCwgbmRfbGFzdF9sb2MoaXRlbSkpOwo+ICsKPiArICAgIHJldHVy
biBsaXN0Owo+ICt9Cj4gKwo+ICsvKiBjb25jYXQgdHdvIGxpc3RzICovCj4gK3N0YXRpYyBOT0RF
Kgo+ICtsaXN0X2NvbmNhdChOT0RFICpoZWFkLCBOT0RFICp0YWlsKQo+ICt7Cj4gKyAgICBOT0RF
ICpsYXN0Owo+ICsKPiArICAgIGlmIChoZWFkLT5uZF9uZXh0KSB7Cj4gKyAgICAgICBsYXN0ID0g
aGVhZC0+bmRfbmV4dC0+bmRfZW5kOwo+ICsgICAgfQo+ICsgICAgZWxzZSB7Cj4gKyAgICAgICBs
YXN0ID0gaGVhZDsKPiArICAgIH0KPiArCj4gKyAgICBoZWFkLT5uZF9hbGVuICs9IHRhaWwtPm5k
X2FsZW47Cj4gKyAgICBsYXN0LT5uZF9uZXh0ID0gdGFpbDsKPiArICAgIGlmICh0YWlsLT5uZF9u
ZXh0KSB7Cj4gKyAgICAgICBoZWFkLT5uZF9uZXh0LT5uZF9lbmQgPSB0YWlsLT5uZF9uZXh0LT5u
ZF9lbmQ7Cj4gKyAgICB9Cj4gKyAgICBlbHNlIHsKPiArICAgICAgIGhlYWQtPm5kX25leHQtPm5k
X2VuZCA9IHRhaWw7Cj4gKyAgICB9Cj4gKwo+ICsgICAgbmRfc2V0X2xhc3RfbG9jKGhlYWQsIG5k
X2xhc3RfbG9jKHRhaWwpKTsKPiArCj4gKyAgICByZXR1cm4gaGVhZDsKPiArfQo+ICsKPiArc3Rh
dGljIGludAo+ICtsaXRlcmFsX2NvbmNhdDAoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIFZBTFVF
IGhlYWQsIFZBTFVFIHRhaWwpCj4gK3sKPiArICAgIGlmIChOSUxfUCh0YWlsKSkgcmV0dXJuIDE7
Cj4gKyAgICBpZiAoIXJiX2VuY19jb21wYXRpYmxlKGhlYWQsIHRhaWwpKSB7Cj4gKyAgICAgICBj
b21waWxlX2Vycm9yKHAsICJzdHJpbmcgbGl0ZXJhbCBlbmNvZGluZ3MgZGlmZmVyICglcyAvICVz
KSIsCj4gKyAgICAgICAgICAgICAgICAgICAgIHJiX2VuY19uYW1lKHJiX2VuY19nZXQoaGVhZCkp
LAo+ICsgICAgICAgICAgICAgICAgICAgICByYl9lbmNfbmFtZShyYl9lbmNfZ2V0KHRhaWwpKSk7
Cj4gKyAgICAgICByYl9zdHJfcmVzaXplKGhlYWQsIDApOwo+ICsgICAgICAgcmJfc3RyX3Jlc2l6
ZSh0YWlsLCAwKTsKPiArICAgICAgIHJldHVybiAwOwo+ICsgICAgfQo+ICsgICAgcmJfc3RyX2J1
Zl9hcHBlbmQoaGVhZCwgdGFpbCk7Cj4gKyAgICByZXR1cm4gMTsKPiArfQo+ICsKPiArLyogY29u
Y2F0IHR3byBzdHJpbmcgbGl0ZXJhbHMgKi8KPiArc3RhdGljIE5PREUgKgo+ICtsaXRlcmFsX2Nv
bmNhdChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgTk9ERSAqaGVhZCwgTk9ERSAqdGFpbCwgY29u
c3QgWVlMVFlQRSAqbG9jKQo+ICt7Cj4gKyAgICBlbnVtIG5vZGVfdHlwZSBodHlwZTsKPiArICAg
IE5PREUgKmhlYWRsYXN0Owo+ICsgICAgVkFMVUUgbGl0Owo+ICsKPiArICAgIGlmICghaGVhZCkg
cmV0dXJuIHRhaWw7Cj4gKyAgICBpZiAoIXRhaWwpIHJldHVybiBoZWFkOwo+ICsKPiArICAgIGh0
eXBlID0gbmRfdHlwZShoZWFkKTsKPiArICAgIGlmIChodHlwZSA9PSBOT0RFX0VWU1RSKSB7Cj4g
KyAgICAgICBOT0RFICpub2RlID0gTkVXX0RTVFIoYWRkX21hcmtfb2JqZWN0KHAsIFNUUl9ORVcw
KCkpLCBsb2MpOwo+ICsgICAgICAgaGVhZCA9IGxpc3RfYXBwZW5kKHAsIG5vZGUsIGhlYWQpOwo+
ICsgICAgICAgaHR5cGUgPSBOT0RFX0RTVFI7Cj4gKyAgICB9Cj4gKyAgICBpZiAocC0+aGVyZWRv
Y19pbmRlbnQgPiAwKSB7Cj4gKyAgICAgICBzd2l0Y2ggKGh0eXBlKSB7Cj4gKyAgICAgICAgIGNh
c2UgTk9ERV9TVFI6Cj4gKyAgICAgICAgICAgbmRfc2V0X3R5cGUoaGVhZCwgTk9ERV9EU1RSKTsK
PiArICAgICAgICAgY2FzZSBOT0RFX0RTVFI6Cj4gKyAgICAgICAgICAgcmV0dXJuIGxpc3RfYXBw
ZW5kKHAsIGhlYWQsIHRhaWwpOwo+ICsgICAgICAgICBkZWZhdWx0Ogo+ICsgICAgICAgICAgIGJy
ZWFrOwo+ICsgICAgICAgfQo+ICsgICAgfQo+ICsgICAgc3dpdGNoIChuZF90eXBlKHRhaWwpKSB7
Cj4gKyAgICAgIGNhc2UgTk9ERV9TVFI6Cj4gKyAgICAgICBpZiAoaHR5cGUgPT0gTk9ERV9EU1RS
ICYmIChoZWFkbGFzdCA9IGhlYWQtPm5kX25leHQtPm5kX2VuZC0+bmRfaGVhZCkgJiYKPiArICAg
ICAgICAgICBuZF90eXBlKGhlYWRsYXN0KSA9PSBOT0RFX1NUUikgewo+ICsgICAgICAgICAgIGh0
eXBlID0gTk9ERV9TVFI7Cj4gKyAgICAgICAgICAgbGl0ID0gaGVhZGxhc3QtPm5kX2xpdDsKPiAr
ICAgICAgIH0KPiArICAgICAgIGVsc2Ugewo+ICsgICAgICAgICAgIGxpdCA9IGhlYWQtPm5kX2xp
dDsKPiArICAgICAgIH0KPiArICAgICAgIGlmIChodHlwZSA9PSBOT0RFX1NUUikgewo+ICsgICAg
ICAgICAgIGlmICghbGl0ZXJhbF9jb25jYXQwKHAsIGxpdCwgdGFpbC0+bmRfbGl0KSkgewo+ICsg
ICAgICAgICAgICAgZXJyb3I6Cj4gKyAgICAgICAgICAgICAgIHJiX2Rpc2NhcmRfbm9kZShwLCBo
ZWFkKTsKPiArICAgICAgICAgICAgICAgcmJfZGlzY2FyZF9ub2RlKHAsIHRhaWwpOwo+ICsgICAg
ICAgICAgICAgICByZXR1cm4gMDsKPiArICAgICAgICAgICB9Cj4gKyAgICAgICAgICAgcmJfZGlz
Y2FyZF9ub2RlKHAsIHRhaWwpOwo+ICsgICAgICAgfQo+ICsgICAgICAgZWxzZSB7Cj4gKyAgICAg
ICAgICAgbGlzdF9hcHBlbmQocCwgaGVhZCwgdGFpbCk7Cj4gKyAgICAgICB9Cj4gKyAgICAgICBi
cmVhazsKPiArCj4gKyAgICAgIGNhc2UgTk9ERV9EU1RSOgo+ICsgICAgICAgaWYgKGh0eXBlID09
IE5PREVfU1RSKSB7Cj4gKyAgICAgICAgICAgaWYgKCFsaXRlcmFsX2NvbmNhdDAocCwgaGVhZC0+
bmRfbGl0LCB0YWlsLT5uZF9saXQpKQo+ICsgICAgICAgICAgICAgICBnb3RvIGVycm9yOwo+ICsg
ICAgICAgICAgIHRhaWwtPm5kX2xpdCA9IGhlYWQtPm5kX2xpdDsKPiArICAgICAgICAgICByYl9k
aXNjYXJkX25vZGUocCwgaGVhZCk7Cj4gKyAgICAgICAgICAgaGVhZCA9IHRhaWw7Cj4gKyAgICAg
ICB9Cj4gKyAgICAgICBlbHNlIGlmIChOSUxfUCh0YWlsLT5uZF9saXQpKSB7Cj4gKyAgICAgICAg
IGFwcGVuZDoKPiArICAgICAgICAgICBoZWFkLT5uZF9hbGVuICs9IHRhaWwtPm5kX2FsZW4gLSAx
Owo+ICsgICAgICAgICAgIGhlYWQtPm5kX25leHQtPm5kX2VuZC0+bmRfbmV4dCA9IHRhaWwtPm5k
X25leHQ7Cj4gKyAgICAgICAgICAgaGVhZC0+bmRfbmV4dC0+bmRfZW5kID0gdGFpbC0+bmRfbmV4
dC0+bmRfZW5kOwo+ICsgICAgICAgICAgIHJiX2Rpc2NhcmRfbm9kZShwLCB0YWlsKTsKPiArICAg
ICAgIH0KPiArICAgICAgIGVsc2UgaWYgKGh0eXBlID09IE5PREVfRFNUUiAmJiAoaGVhZGxhc3Qg
PSBoZWFkLT5uZF9uZXh0LT5uZF9lbmQtPm5kX2hlYWQpICYmCj4gKyAgICAgICAgICAgICAgICBu
ZF90eXBlKGhlYWRsYXN0KSA9PSBOT0RFX1NUUikgewo+ICsgICAgICAgICAgIGxpdCA9IGhlYWRs
YXN0LT5uZF9saXQ7Cj4gKyAgICAgICAgICAgaWYgKCFsaXRlcmFsX2NvbmNhdDAocCwgbGl0LCB0
YWlsLT5uZF9saXQpKQo+ICsgICAgICAgICAgICAgICBnb3RvIGVycm9yOwo+ICsgICAgICAgICAg
IHRhaWwtPm5kX2xpdCA9IFFuaWw7Cj4gKyAgICAgICAgICAgZ290byBhcHBlbmQ7Cj4gKyAgICAg
ICB9Cj4gKyAgICAgICBlbHNlIHsKPiArICAgICAgICAgICBuZF9zZXRfdHlwZSh0YWlsLCBOT0RF
X0FSUkFZKTsKPiArICAgICAgICAgICB0YWlsLT5uZF9oZWFkID0gTkVXX1NUUih0YWlsLT5uZF9s
aXQsIGxvYyk7Cj4gKyAgICAgICAgICAgbGlzdF9jb25jYXQoaGVhZCwgdGFpbCk7Cj4gKyAgICAg
ICB9Cj4gKyAgICAgICBicmVhazsKPiArCj4gKyAgICAgIGNhc2UgTk9ERV9FVlNUUjoKPiArICAg
ICAgIGlmIChodHlwZSA9PSBOT0RFX1NUUikgewo+ICsgICAgICAgICAgIG5kX3NldF90eXBlKGhl
YWQsIE5PREVfRFNUUik7Cj4gKyAgICAgICAgICAgaGVhZC0+bmRfYWxlbiA9IDE7Cj4gKyAgICAg
ICB9Cj4gKyAgICAgICBsaXN0X2FwcGVuZChwLCBoZWFkLCB0YWlsKTsKPiArICAgICAgIGJyZWFr
Owo+ICsgICAgfQo+ICsgICAgcmV0dXJuIGhlYWQ7Cj4gK30KPiArCj4gK3N0YXRpYyBOT0RFICoK
PiArZXZzdHIyZHN0cihzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgTk9ERSAqbm9kZSkKPiArewo+
ICsgICAgaWYgKG5kX3R5cGUobm9kZSkgPT0gTk9ERV9FVlNUUikgewo+ICsgICAgICAgbm9kZSA9
IGxpc3RfYXBwZW5kKHAsIE5FV19EU1RSKGFkZF9tYXJrX29iamVjdChwLCBTVFJfTkVXMCgpKSwg
Jm5vZGUtPm5kX2xvYyksIG5vZGUpOwo+ICsgICAgfQo+ICsgICAgcmV0dXJuIG5vZGU7Cj4gK30K
PiArCj4gK3N0YXRpYyBOT0RFICoKPiArbmV3X2V2c3RyKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpw
LCBOT0RFICpub2RlLCBjb25zdCBZWUxUWVBFICpsb2MpCj4gK3sKPiArICAgIE5PREUgKmhlYWQg
PSBub2RlOwo+ICsKPiArICAgIGlmIChub2RlKSB7Cj4gKyAgICAgICBzd2l0Y2ggKG5kX3R5cGUo
bm9kZSkpIHsKPiArICAgICAgICAgY2FzZSBOT0RFX1NUUjogY2FzZSBOT0RFX0RTVFI6IGNhc2Ug
Tk9ERV9FVlNUUjoKPiArICAgICAgICAgICByZXR1cm4gbm9kZTsKPiArICAgICAgIH0KPiArICAg
IH0KPiArICAgIHJldHVybiBORVdfRVZTVFIoaGVhZCwgbG9jKTsKPiArfQo+ICsKPiArc3RhdGlj
IE5PREUgKgo+ICtjYWxsX2Jpbl9vcChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgTk9ERSAqcmVj
diwgSUQgaWQsIE5PREUgKmFyZzEsCj4gKyAgICAgICAgICAgICAgIGNvbnN0IFlZTFRZUEUgKm9w
X2xvYywgY29uc3QgWVlMVFlQRSAqbG9jKQo+ICt7Cj4gKyAgICBOT0RFICpleHByOwo+ICsgICAg
dmFsdWVfZXhwcihyZWN2KTsKPiArICAgIHZhbHVlX2V4cHIoYXJnMSk7Cj4gKyAgICBleHByID0g
TkVXX09QQ0FMTChyZWN2LCBpZCwgTkVXX0xJU1QoYXJnMSwgJmFyZzEtPm5kX2xvYyksIGxvYyk7
Cj4gKyAgICBuZF9zZXRfbGluZShleHByLCBvcF9sb2MtPmJlZ19wb3MubGluZW5vKTsKPiArICAg
IHJldHVybiBleHByOwo+ICt9Cj4gKwo+ICtzdGF0aWMgTk9ERSAqCj4gK2NhbGxfdW5pX29wKHN0
cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBOT0RFICpyZWN2LCBJRCBpZCwgY29uc3QgWVlMVFlQRSAq
b3BfbG9jLCBjb25zdCBZWUxUWVBFICpsb2MpCj4gK3sKPiArICAgIE5PREUgKm9wY2FsbDsKPiAr
ICAgIHZhbHVlX2V4cHIocmVjdik7Cj4gKyAgICBvcGNhbGwgPSBORVdfT1BDQUxMKHJlY3YsIGlk
LCAwLCBsb2MpOwo+ICsgICAgbmRfc2V0X2xpbmUob3BjYWxsLCBvcF9sb2MtPmJlZ19wb3MubGlu
ZW5vKTsKPiArICAgIHJldHVybiBvcGNhbGw7Cj4gK30KPiArCj4gK3N0YXRpYyBOT0RFICoKPiAr
bmV3X3FjYWxsKHN0cnVjdCBwYXJzZXJfcGFyYW1zKiBwLCBJRCBhdHlwZSwgTk9ERSAqcmVjdiwg
SUQgbWlkLCBOT0RFICphcmdzLCBjb25zdCBZWUxUWVBFICpvcF9sb2MsIGNvbnN0IFlZTFRZUEUg
KmxvYykKPiArewo+ICsgICAgTk9ERSAqcWNhbGwgPSBORVdfUUNBTEwoYXR5cGUsIHJlY3YsIG1p
ZCwgYXJncywgbG9jKTsKPiArICAgIG5kX3NldF9saW5lKHFjYWxsLCBvcF9sb2MtPmJlZ19wb3Mu
bGluZW5vKTsKPiArICAgIHJldHVybiBxY2FsbDsKPiArfQo+ICsKPiArc3RhdGljIE5PREUqCj4g
K25ld19jb21tYW5kX3FjYWxsKHN0cnVjdCBwYXJzZXJfcGFyYW1zKiBwLCBJRCBhdHlwZSwgTk9E
RSAqcmVjdiwgSUQgbWlkLCBOT0RFICphcmdzLCBOT0RFICpibG9jaywgY29uc3QgWVlMVFlQRSAq
b3BfbG9jLCBjb25zdCBZWUxUWVBFICpsb2MpCj4gK3sKPiArICAgIE5PREUgKnJldDsKPiArICAg
IGlmIChibG9jaykgYmxvY2tfZHVwX2NoZWNrKHAsIGFyZ3MsIGJsb2NrKTsKPiArICAgIHJldCA9
IG5ld19xY2FsbChwLCBhdHlwZSwgcmVjdiwgbWlkLCBhcmdzLCBvcF9sb2MsIGxvYyk7Cj4gKyAg
ICBpZiAoYmxvY2spIHJldCA9IG1ldGhvZF9hZGRfYmxvY2socCwgcmV0LCBibG9jaywgbG9jKTsK
PiArICAgIGZpeHBvcyhyZXQsIHJlY3YpOwo+ICsgICAgcmV0dXJuIHJldDsKPiArfQo+ICsKPiAr
I2RlZmluZSBuZF9vbmNlX2JvZHkobm9kZSkgKG5kX3R5cGUobm9kZSkgPT0gTk9ERV9PTkNFID8g
KG5vZGUpLT5uZF9ib2R5IDogbm9kZSkKPiArc3RhdGljIE5PREUqCj4gK21hdGNoX29wKHN0cnVj
dCBwYXJzZXJfcGFyYW1zICpwLCBOT0RFICpub2RlMSwgTk9ERSAqbm9kZTIsIGNvbnN0IFlZTFRZ
UEUgKm9wX2xvYywgY29uc3QgWVlMVFlQRSAqbG9jKQo+ICt7Cj4gKyAgICBOT0RFICpuOwo+ICsg
ICAgaW50IGxpbmUgPSBvcF9sb2MtPmJlZ19wb3MubGluZW5vOwo+ICsKPiArICAgIHZhbHVlX2V4
cHIobm9kZTEpOwo+ICsgICAgdmFsdWVfZXhwcihub2RlMik7Cj4gKyAgICBpZiAobm9kZTEgJiYg
KG4gPSBuZF9vbmNlX2JvZHkobm9kZTEpKSAhPSAwKSB7Cj4gKyAgICAgICBzd2l0Y2ggKG5kX3R5
cGUobikpIHsKPiArICAgICAgICAgY2FzZSBOT0RFX0RSRUdYOgo+ICsgICAgICAgICAgIHsKPiAr
ICAgICAgICAgICAgICAgTk9ERSAqbWF0Y2ggPSBORVdfTUFUQ0gyKG5vZGUxLCBub2RlMiwgbG9j
KTsKPiArICAgICAgICAgICAgICAgbmRfc2V0X2xpbmUobWF0Y2gsIGxpbmUpOwo+ICsgICAgICAg
ICAgICAgICByZXR1cm4gbWF0Y2g7Cj4gKyAgICAgICAgICAgfQo+ICsKPiArICAgICAgICAgY2Fz
ZSBOT0RFX0xJVDoKPiArICAgICAgICAgICBpZiAoUkJfVFlQRV9QKG4tPm5kX2xpdCwgVF9SRUdF
WFApKSB7Cj4gKyAgICAgICAgICAgICAgIGNvbnN0IFZBTFVFIGxpdCA9IG4tPm5kX2xpdDsKPiAr
ICAgICAgICAgICAgICAgTk9ERSAqbWF0Y2ggPSBORVdfTUFUQ0gyKG5vZGUxLCBub2RlMiwgbG9j
KTsKPiArICAgICAgICAgICAgICAgbWF0Y2gtPm5kX2FyZ3MgPSByZWdfbmFtZWRfY2FwdHVyZV9h
c3NpZ24ocCwgbGl0LCBsb2MpOwo+ICsgICAgICAgICAgICAgICBuZF9zZXRfbGluZShtYXRjaCwg
bGluZSk7Cj4gKyAgICAgICAgICAgICAgIHJldHVybiBtYXRjaDsKPiArICAgICAgICAgICB9Cj4g
KyAgICAgICB9Cj4gKyAgICB9Cj4gKwo+ICsgICAgaWYgKG5vZGUyICYmIChuID0gbmRfb25jZV9i
b2R5KG5vZGUyKSkgIT0gMCkgewo+ICsgICAgICAgIE5PREUgKm1hdGNoMzsKPiArCj4gKyAgICAg
ICBzd2l0Y2ggKG5kX3R5cGUobikpIHsKPiArICAgICAgICAgY2FzZSBOT0RFX0xJVDoKPiArICAg
ICAgICAgICBpZiAoIVJCX1RZUEVfUChuLT5uZF9saXQsIFRfUkVHRVhQKSkgYnJlYWs7Cj4gKyAg
ICAgICAgICAgLyogZmFsbHRocnUgKi8KPiArICAgICAgICAgY2FzZSBOT0RFX0RSRUdYOgo+ICsg
ICAgICAgICAgIG1hdGNoMyA9IE5FV19NQVRDSDMobm9kZTIsIG5vZGUxLCBsb2MpOwo+ICsgICAg
ICAgICAgIHJldHVybiBtYXRjaDM7Cj4gKyAgICAgICB9Cj4gKyAgICB9Cj4gKwo+ICsgICAgbiA9
IE5FV19DQUxMKG5vZGUxLCB0TUFUQ0gsIE5FV19MSVNUKG5vZGUyLCAmbm9kZTItPm5kX2xvYyks
IGxvYyk7Cj4gKyAgICBuZF9zZXRfbGluZShuLCBsaW5lKTsKPiArICAgIHJldHVybiBuOwo+ICt9
Cj4gKwo+ICsjIGlmIFdBUk5fUEFTVF9TQ09QRQo+ICtzdGF0aWMgaW50Cj4gK3Bhc3RfZHZhcl9w
KHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBJRCBpZCkKPiArewo+ICsgICAgc3RydWN0IHZ0YWJs
ZSAqcGFzdCA9IHAtPmx2dGJsLT5wYXN0Owo+ICsgICAgd2hpbGUgKHBhc3QpIHsKPiArICAgICAg
IGlmICh2dGFibGVfaW5jbHVkZWQocGFzdCwgaWQpKSByZXR1cm4gMTsKPiArICAgICAgIHBhc3Qg
PSBwYXN0LT5wcmV2Owo+ICsgICAgfQo+ICsgICAgcmV0dXJuIDA7Cj4gK30KPiArIyBlbmRpZgo+
ICsKPiArI2RlZmluZSBXQVJOX0xPQ0FUSU9OKHR5cGUpIGRvIHsgXAo+ICsgICAgaWYgKHAtPndh
cm5fbG9jYXRpb24pIHsgXAo+ICsgICAgICAgcmJfd2FybmluZzAodHlwZSIgaW4gZXZhbCBtYXkg
bm90IHJldHVybiBsb2NhdGlvbiBpbiBiaW5kaW5nOyIgXAo+ICsgICAgICAgICAgICAgICAgICAg
IiB1c2UgQmluZGluZyNzb3VyY2VfbG9jYXRpb24gaW5zdGVhZCIpOyBcCj4gKyAgICB9IFwKPiAr
fSB3aGlsZSAoMCkKPiArCj4gK3N0YXRpYyBOT0RFKgo+ICtnZXR0YWJsZShzdHJ1Y3QgcGFyc2Vy
X3BhcmFtcyAqcCwgSUQgaWQsIGNvbnN0IFlZTFRZUEUgKmxvYykKPiArewo+ICsgICAgSUQgKnZp
ZHAgPSBOVUxMOwo+ICsgICAgTk9ERSAqbm9kZTsKPiArICAgIHN3aXRjaCAoaWQpIHsKPiArICAg
ICAgY2FzZSBrZXl3b3JkX3NlbGY6Cj4gKyAgICAgICByZXR1cm4gTkVXX1NFTEYobG9jKTsKPiAr
ICAgICAgY2FzZSBrZXl3b3JkX25pbDoKPiArICAgICAgIHJldHVybiBORVdfTklMKGxvYyk7Cj4g
KyAgICAgIGNhc2Uga2V5d29yZF90cnVlOgo+ICsgICAgICAgcmV0dXJuIE5FV19UUlVFKGxvYyk7
Cj4gKyAgICAgIGNhc2Uga2V5d29yZF9mYWxzZToKPiArICAgICAgIHJldHVybiBORVdfRkFMU0Uo
bG9jKTsKPiArICAgICAgY2FzZSBrZXl3b3JkX19GSUxFX186Cj4gKyAgICAgICBXQVJOX0xPQ0FU
SU9OKCJfX0ZJTEVfXyIpOwo+ICsgICAgICAgewo+ICsgICAgICAgICAgIFZBTFVFIGZpbGUgPSBw
LT5ydWJ5X3NvdXJjZWZpbGVfc3RyaW5nOwo+ICsgICAgICAgICAgIGlmIChOSUxfUChmaWxlKSkK
PiArICAgICAgICAgICAgICAgZmlsZSA9IHJiX3N0cl9uZXcoMCwgMCk7Cj4gKyAgICAgICAgICAg
ZWxzZQo+ICsgICAgICAgICAgICAgICBmaWxlID0gcmJfc3RyX2R1cChmaWxlKTsKPiArICAgICAg
ICAgICBub2RlID0gTkVXX1NUUihhZGRfbWFya19vYmplY3QocCwgZmlsZSksIGxvYyk7Cj4gKyAg
ICAgICB9Cj4gKyAgICAgICByZXR1cm4gbm9kZTsKPiArICAgICAgY2FzZSBrZXl3b3JkX19MSU5F
X186Cj4gKyAgICAgICBXQVJOX0xPQ0FUSU9OKCJfX0xJTkVfXyIpOwo+ICsgICAgICAgcmV0dXJu
IE5FV19MSVQoSU5UMkZJWChwLT50b2tsaW5lKSwgbG9jKTsKPiArICAgICAgY2FzZSBrZXl3b3Jk
X19FTkNPRElOR19fOgo+ICsgICAgICAgcmV0dXJuIE5FV19MSVQoYWRkX21hcmtfb2JqZWN0KHAs
IHJiX2VuY19mcm9tX2VuY29kaW5nKHAtPmVuYykpLCBsb2MpOwo+ICsgICAgfQo+ICsgICAgc3dp
dGNoIChpZF90eXBlKGlkKSkgewo+ICsgICAgICBjYXNlIElEX0xPQ0FMOgo+ICsgICAgICAgaWYg
KGR5bmFfaW5fYmxvY2socCkgJiYgZHZhcl9kZWZpbmVkX3JlZihwLCBpZCwgJnZpZHApKSB7Cj4g
KyAgICAgICAgICAgaWYgKGlkID09IHAtPmN1cl9hcmcpIHsKPiArICAgICAgICAgICAgICAgcmJf
d2FybjEoImNpcmN1bGFyIGFyZ3VtZW50IHJlZmVyZW5jZSAtICUiUFJJc1dBUk4sIHJiX2lkMnN0
cihpZCkpOwo+ICsgICAgICAgICAgIH0KPiArICAgICAgICAgICBpZiAodmlkcCkgKnZpZHAgfD0g
TFZBUl9VU0VEOwo+ICsgICAgICAgICAgIG5vZGUgPSBORVdfRFZBUihpZCwgbG9jKTsKPiArICAg
ICAgICAgICByZXR1cm4gbm9kZTsKPiArICAgICAgIH0KPiArICAgICAgIGlmIChsb2NhbF9pZF9y
ZWYocCwgaWQsICZ2aWRwKSkgewo+ICsgICAgICAgICAgIGlmIChpZCA9PSBwLT5jdXJfYXJnKSB7
Cj4gKyAgICAgICAgICAgICAgIHJiX3dhcm4xKCJjaXJjdWxhciBhcmd1bWVudCByZWZlcmVuY2Ug
LSAlIlBSSXNXQVJOLCByYl9pZDJzdHIoaWQpKTsKPiArICAgICAgICAgICB9Cj4gKyAgICAgICAg
ICAgaWYgKHZpZHApICp2aWRwIHw9IExWQVJfVVNFRDsKPiArICAgICAgICAgICBub2RlID0gTkVX
X0xWQVIoaWQsIGxvYyk7Cj4gKyAgICAgICAgICAgcmV0dXJuIG5vZGU7Cj4gKyAgICAgICB9Cj4g
KyMgaWYgV0FSTl9QQVNUX1NDT1BFCj4gKyAgICAgICBpZiAoIXAtPmluX2RlZmluZWQgJiYgUlRF
U1QocnVieV92ZXJib3NlKSAmJiBwYXN0X2R2YXJfcChwLCBpZCkpIHsKPiArICAgICAgICAgICBy
Yl93YXJuaW5nMSgicG9zc2libGUgcmVmZXJlbmNlIHRvIHBhc3Qgc2NvcGUgLSAlIlBSSXNXQVJO
LCByYl9pZDJzdHIoaWQpKTsKPiArICAgICAgIH0KPiArIyBlbmRpZgo+ICsgICAgICAgLyogbWV0
aG9kIGNhbGwgd2l0aG91dCBhcmd1bWVudHMgKi8KPiArICAgICAgIHJldHVybiBORVdfVkNBTEwo
aWQsIGxvYyk7Cj4gKyAgICAgIGNhc2UgSURfR0xPQkFMOgo+ICsgICAgICAgcmV0dXJuIE5FV19H
VkFSKGlkLCBsb2MpOwo+ICsgICAgICBjYXNlIElEX0lOU1RBTkNFOgo+ICsgICAgICAgcmV0dXJu
IE5FV19JVkFSKGlkLCBsb2MpOwo+ICsgICAgICBjYXNlIElEX0NPTlNUOgo+ICsgICAgICAgcmV0
dXJuIE5FV19DT05TVChpZCwgbG9jKTsKPiArICAgICAgY2FzZSBJRF9DTEFTUzoKPiArICAgICAg
IHJldHVybiBORVdfQ1ZBUihpZCwgbG9jKTsKPiArICAgIH0KPiArICAgIGNvbXBpbGVfZXJyb3Io
cCwgImlkZW50aWZpZXIgJSJQUklzVkFMVUUiIGlzIG5vdCB2YWxpZCB0byBnZXQiLCByYl9pZDJz
dHIoaWQpKTsKPiArICAgIHJldHVybiAwOwo+ICt9Cj4gKwo+ICtzdGF0aWMgTk9ERSAqCj4gK29w
dF9hcmdfYXBwZW5kKE5PREUgKm9wdF9saXN0LCBOT0RFICpvcHQpCj4gK3sKPiArICAgIE5PREUg
Km9wdHMgPSBvcHRfbGlzdDsKPiArICAgIG9wdHMtPm5kX2xvYy5lbmRfcG9zID0gb3B0LT5uZF9s
b2MuZW5kX3BvczsKPiArCj4gKyAgICB3aGlsZSAob3B0cy0+bmRfbmV4dCkgewo+ICsgICAgICAg
b3B0cyA9IG9wdHMtPm5kX25leHQ7Cj4gKyAgICAgICBvcHRzLT5uZF9sb2MuZW5kX3BvcyA9IG9w
dC0+bmRfbG9jLmVuZF9wb3M7Cj4gKyAgICB9Cj4gKyAgICBvcHRzLT5uZF9uZXh0ID0gb3B0Owo+
ICsKPiArICAgIHJldHVybiBvcHRfbGlzdDsKPiArfQo+ICsKPiArc3RhdGljIE5PREUgKgo+ICtr
d2RfYXBwZW5kKE5PREUgKmt3bGlzdCwgTk9ERSAqa3cpCj4gK3sKPiArICAgIGlmIChrd2xpc3Qp
IHsKPiArICAgICAgIE5PREUgKmt3cyA9IGt3bGlzdDsKPiArICAgICAgIGt3cy0+bmRfbG9jLmVu
ZF9wb3MgPSBrdy0+bmRfbG9jLmVuZF9wb3M7Cj4gKyAgICAgICB3aGlsZSAoa3dzLT5uZF9uZXh0
KSB7Cj4gKyAgICAgICAgICAga3dzID0ga3dzLT5uZF9uZXh0Owo+ICsgICAgICAgICAgIGt3cy0+
bmRfbG9jLmVuZF9wb3MgPSBrdy0+bmRfbG9jLmVuZF9wb3M7Cj4gKyAgICAgICB9Cj4gKyAgICAg
ICBrd3MtPm5kX25leHQgPSBrdzsKPiArICAgIH0KPiArICAgIHJldHVybiBrd2xpc3Q7Cj4gK30K
PiArCj4gK3N0YXRpYyBOT0RFICoKPiArbmV3X2RlZmluZWQoc3RydWN0IHBhcnNlcl9wYXJhbXMg
KnAsIE5PREUgKmV4cHIsIGNvbnN0IFlZTFRZUEUgKmxvYykKPiArewo+ICsgICAgcmV0dXJuIE5F
V19ERUZJTkVEKHJlbW92ZV9iZWdpbl9hbGwoZXhwciksIGxvYyk7Cj4gK30KPiArCj4gK3N0YXRp
YyBOT0RFKgo+ICtzeW1ib2xfYXBwZW5kKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBOT0RFICpz
eW1ib2xzLCBOT0RFICpzeW1ib2wpCj4gK3sKPiArICAgIGlmIChuZF90eXBlKHN5bWJvbCkgPT0g
Tk9ERV9EU1RSKSB7Cj4gKyAgICAgICBuZF9zZXRfdHlwZShzeW1ib2wsIE5PREVfRFNZTSk7Cj4g
KyAgICB9Cj4gKyAgICBlbHNlIHsKPiArICAgICAgIG5kX3NldF90eXBlKHN5bWJvbCwgTk9ERV9M
SVQpOwo+ICsgICAgICAgc3ltYm9sLT5uZF9saXQgPSBhZGRfbWFya19vYmplY3QocCwgcmJfc3Ry
X2ludGVybihzeW1ib2wtPm5kX2xpdCkpOwo+ICsgICAgfQo+ICsgICAgcmV0dXJuIGxpc3RfYXBw
ZW5kKHAsIHN5bWJvbHMsIHN5bWJvbCk7Cj4gK30KPiArCj4gK3N0YXRpYyBOT0RFICoKPiArbmV3
X3JlZ2V4cChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgTk9ERSAqbm9kZSwgaW50IG9wdGlvbnMs
IGNvbnN0IFlZTFRZUEUgKmxvYykKPiArewo+ICsgICAgTk9ERSAqbGlzdCwgKnByZXY7Cj4gKyAg
ICBWQUxVRSBsaXQ7Cj4gKwo+ICsgICAgaWYgKCFub2RlKSB7Cj4gKyAgICAgICByZXR1cm4gTkVX
X0xJVChhZGRfbWFya19vYmplY3QocCwgcmVnX2NvbXBpbGUocCwgU1RSX05FVzAoKSwgb3B0aW9u
cykpLCBsb2MpOwo+ICsgICAgfQo+ICsgICAgc3dpdGNoIChuZF90eXBlKG5vZGUpKSB7Cj4gKyAg
ICAgIGNhc2UgTk9ERV9TVFI6Cj4gKyAgICAgICB7Cj4gKyAgICAgICAgICAgVkFMVUUgc3JjID0g
bm9kZS0+bmRfbGl0Owo+ICsgICAgICAgICAgIG5kX3NldF90eXBlKG5vZGUsIE5PREVfTElUKTsK
PiArICAgICAgICAgICBuZF9zZXRfbG9jKG5vZGUsIGxvYyk7Cj4gKyAgICAgICAgICAgYWRkX21h
cmtfb2JqZWN0KHAsIG5vZGUtPm5kX2xpdCA9IHJlZ19jb21waWxlKHAsIHNyYywgb3B0aW9ucykp
Owo+ICsgICAgICAgfQo+ICsgICAgICAgYnJlYWs7Cj4gKyAgICAgIGRlZmF1bHQ6Cj4gKyAgICAg
ICBhZGRfbWFya19vYmplY3QocCwgbGl0ID0gU1RSX05FVzAoKSk7Cj4gKyAgICAgICBub2RlID0g
TkVXX05PREUoTk9ERV9EU1RSLCBsaXQsIDEsIE5FV19MSVNUKG5vZGUsIGxvYyksIGxvYyk7Cj4g
KyAgICAgIGNhc2UgTk9ERV9EU1RSOgo+ICsgICAgICAgbmRfc2V0X3R5cGUobm9kZSwgTk9ERV9E
UkVHWCk7Cj4gKyAgICAgICBuZF9zZXRfbG9jKG5vZGUsIGxvYyk7Cj4gKyAgICAgICBub2RlLT5u
ZF9jZmxhZyA9IG9wdGlvbnMgJiBSRV9PUFRJT05fTUFTSzsKPiArICAgICAgIGlmICghTklMX1Ao
bm9kZS0+bmRfbGl0KSkgcmVnX2ZyYWdtZW50X2NoZWNrKHAsIG5vZGUtPm5kX2xpdCwgb3B0aW9u
cyk7Cj4gKyAgICAgICBmb3IgKGxpc3QgPSAocHJldiA9IG5vZGUpLT5uZF9uZXh0OyBsaXN0OyBs
aXN0ID0gbGlzdC0+bmRfbmV4dCkgewo+ICsgICAgICAgICAgIGlmIChuZF90eXBlKGxpc3QtPm5k
X2hlYWQpID09IE5PREVfU1RSKSB7Cj4gKyAgICAgICAgICAgICAgIFZBTFVFIHRhaWwgPSBsaXN0
LT5uZF9oZWFkLT5uZF9saXQ7Cj4gKyAgICAgICAgICAgICAgIGlmIChyZWdfZnJhZ21lbnRfY2hl
Y2socCwgdGFpbCwgb3B0aW9ucykgJiYgcHJldiAmJiAhTklMX1AocHJldi0+bmRfbGl0KSkgewo+
ICsgICAgICAgICAgICAgICAgICAgVkFMVUUgbGl0ID0gcHJldiA9PSBub2RlID8gcHJldi0+bmRf
bGl0IDogcHJldi0+bmRfaGVhZC0+bmRfbGl0Owo+ICsgICAgICAgICAgICAgICAgICAgaWYgKCFs
aXRlcmFsX2NvbmNhdDAocCwgbGl0LCB0YWlsKSkgewo+ICsgICAgICAgICAgICAgICAgICAgICAg
IHJldHVybiBORVdfTklMKGxvYyk7IC8qIGR1bW15IG5vZGUgb24gZXJyb3IgKi8KPiArICAgICAg
ICAgICAgICAgICAgIH0KPiArICAgICAgICAgICAgICAgICAgIHJiX3N0cl9yZXNpemUodGFpbCwg
MCk7Cj4gKyAgICAgICAgICAgICAgICAgICBwcmV2LT5uZF9uZXh0ID0gbGlzdC0+bmRfbmV4dDsK
PiArICAgICAgICAgICAgICAgICAgIHJiX2Rpc2NhcmRfbm9kZShwLCBsaXN0LT5uZF9oZWFkKTsK
PiArICAgICAgICAgICAgICAgICAgIHJiX2Rpc2NhcmRfbm9kZShwLCBsaXN0KTsKPiArICAgICAg
ICAgICAgICAgICAgIGxpc3QgPSBwcmV2Owo+ICsgICAgICAgICAgICAgICB9Cj4gKyAgICAgICAg
ICAgICAgIGVsc2Ugewo+ICsgICAgICAgICAgICAgICAgICAgcHJldiA9IGxpc3Q7Cj4gKyAgICAg
ICAgICAgICAgIH0KPiArICAgICAgICAgICB9Cj4gKyAgICAgICAgICAgZWxzZSB7Cj4gKyAgICAg
ICAgICAgICAgIHByZXYgPSAwOwo+ICsgICAgICAgICAgIH0KPiArICAgICAgIH0KPiArICAgICAg
IGlmICghbm9kZS0+bmRfbmV4dCkgewo+ICsgICAgICAgICAgIFZBTFVFIHNyYyA9IG5vZGUtPm5k
X2xpdDsKPiArICAgICAgICAgICBuZF9zZXRfdHlwZShub2RlLCBOT0RFX0xJVCk7Cj4gKyAgICAg
ICAgICAgYWRkX21hcmtfb2JqZWN0KHAsIG5vZGUtPm5kX2xpdCA9IHJlZ19jb21waWxlKHAsIHNy
Yywgb3B0aW9ucykpOwo+ICsgICAgICAgfQo+ICsgICAgICAgaWYgKG9wdGlvbnMgJiBSRV9PUFRJ
T05fT05DRSkgewo+ICsgICAgICAgICAgIG5vZGUgPSBORVdfTk9ERShOT0RFX09OQ0UsIDAsIG5v
ZGUsIDAsIGxvYyk7Cj4gKyAgICAgICB9Cj4gKyAgICAgICBicmVhazsKPiArICAgIH0KPiArICAg
IHJldHVybiBub2RlOwo+ICt9Cj4gKwo+ICtzdGF0aWMgTk9ERSAqCj4gK25ld19rd19hcmcoc3Ry
dWN0IHBhcnNlcl9wYXJhbXMgKnAsIE5PREUgKmssIGNvbnN0IFlZTFRZUEUgKmxvYykKPiArewo+
ICsgICAgaWYgKCFrKSByZXR1cm4gMDsKPiArICAgIHJldHVybiBORVdfS1dfQVJHKDAsIChrKSwg
bG9jKTsKPiArfQo+ICsKPiArc3RhdGljIE5PREUgKgo+ICtuZXdfeHN0cmluZyhzdHJ1Y3QgcGFy
c2VyX3BhcmFtcyAqcCwgTk9ERSAqbm9kZSwgY29uc3QgWVlMVFlQRSAqbG9jKQo+ICt7Cj4gKyAg
ICBpZiAoIW5vZGUpIHsKPiArICAgICAgIFZBTFVFIGxpdCA9IFNUUl9ORVcwKCk7Cj4gKyAgICAg
ICBOT0RFICp4c3RyID0gTkVXX1hTVFIobGl0LCBsb2MpOwo+ICsgICAgICAgYWRkX21hcmtfb2Jq
ZWN0KHAsIGxpdCk7Cj4gKyAgICAgICByZXR1cm4geHN0cjsKPiArICAgIH0KPiArICAgIHN3aXRj
aCAobmRfdHlwZShub2RlKSkgewo+ICsgICAgICBjYXNlIE5PREVfU1RSOgo+ICsgICAgICAgbmRf
c2V0X3R5cGUobm9kZSwgTk9ERV9YU1RSKTsKPiArICAgICAgIG5kX3NldF9sb2Mobm9kZSwgbG9j
KTsKPiArICAgICAgIGJyZWFrOwo+ICsgICAgICBjYXNlIE5PREVfRFNUUjoKPiArICAgICAgIG5k
X3NldF90eXBlKG5vZGUsIE5PREVfRFhTVFIpOwo+ICsgICAgICAgbmRfc2V0X2xvYyhub2RlLCBs
b2MpOwo+ICsgICAgICAgYnJlYWs7Cj4gKyAgICAgIGRlZmF1bHQ6Cj4gKyAgICAgICBub2RlID0g
TkVXX05PREUoTk9ERV9EWFNUUiwgUW5pbCwgMSwgTkVXX0xJU1Qobm9kZSwgbG9jKSwgbG9jKTsK
PiArICAgICAgIGJyZWFrOwo+ICsgICAgfQo+ICsgICAgcmV0dXJuIG5vZGU7Cj4gK30KPiArCj4g
KyNlbHNlICAvKiAhUklQUEVSICovCj4gK3N0YXRpYyBpbnQKPiAraWRfaXNfdmFyKHN0cnVjdCBw
YXJzZXJfcGFyYW1zICpwLCBJRCBpZCkKPiArewo+ICsgICAgaWYgKGlzX25vdG9wX2lkKGlkKSkg
ewo+ICsgICAgICAgc3dpdGNoIChpZCAmIElEX1NDT1BFX01BU0spIHsKPiArICAgICAgICAgY2Fz
ZSBJRF9HTE9CQUw6IGNhc2UgSURfSU5TVEFOQ0U6IGNhc2UgSURfQ09OU1Q6IGNhc2UgSURfQ0xB
U1M6Cj4gKyAgICAgICAgICAgcmV0dXJuIDE7Cj4gKyAgICAgICAgIGNhc2UgSURfTE9DQUw6Cj4g
KyAgICAgICAgICAgaWYgKGR5bmFfaW5fYmxvY2socCkgJiYgZHZhcl9kZWZpbmVkKHAsIGlkKSkg
cmV0dXJuIDE7Cj4gKyAgICAgICAgICAgaWYgKGxvY2FsX2lkKHAsIGlkKSkgcmV0dXJuIDE7Cj4g
KyAgICAgICAgICAgLyogbWV0aG9kIGNhbGwgd2l0aG91dCBhcmd1bWVudHMgKi8KPiArICAgICAg
ICAgICByZXR1cm4gMDsKPiArICAgICAgIH0KPiArICAgIH0KPiArICAgIGNvbXBpbGVfZXJyb3Io
cCwgImlkZW50aWZpZXIgJSJQUklzVkFMVUUiIGlzIG5vdCB2YWxpZCB0byBnZXQiLCByYl9pZDJz
dHIoaWQpKTsKPiArICAgIHJldHVybiAwOwo+ICt9Cj4gKwo+ICtzdGF0aWMgVkFMVUUKPiArbmV3
X3JlZ2V4cChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgVkFMVUUgcmUsIFZBTFVFIG9wdCwgY29u
c3QgWVlMVFlQRSAqbG9jKQo+ICt7Cj4gKyAgICBWQUxVRSBzcmMgPSAwLCBlcnI7Cj4gKyAgICBp
bnQgb3B0aW9ucyA9IDA7Cj4gKyAgICBpZiAocmlwcGVyX2lzX25vZGVfeXlsdmFsKHJlKSkgewo+
ICsgICAgICAgc3JjID0gUk5PREUocmUpLT5uZF9jdmFsOwo+ICsgICAgICAgcmUgPSBSTk9ERShy
ZSktPm5kX3J2YWw7Cj4gKyAgICB9Cj4gKyAgICBpZiAocmlwcGVyX2lzX25vZGVfeXlsdmFsKG9w
dCkpIHsKPiArICAgICAgIG9wdGlvbnMgPSAoaW50KVJOT0RFKG9wdCktPm5kX3RhZzsKPiArICAg
ICAgIG9wdCA9IFJOT0RFKG9wdCktPm5kX3J2YWw7Cj4gKyAgICB9Cj4gKyAgICBpZiAoc3JjICYm
IE5JTF9QKHBhcnNlcl9yZWdfY29tcGlsZShwLCBzcmMsIG9wdGlvbnMsICZlcnIpKSkgewo+ICsg
ICAgICAgY29tcGlsZV9lcnJvcihwLCAiJSJQUklzVkFMVUUsIGVycik7Cj4gKyAgICB9Cj4gKyAg
ICByZXR1cm4gZGlzcGF0Y2gyKHJlZ2V4cF9saXRlcmFsLCByZSwgb3B0KTsKPiArfQo+ICsjZW5k
aWYgLyogIVJJUFBFUiAqLwo+ICsKPiArI2lmbmRlZiBSSVBQRVIKPiArc3RhdGljIGNvbnN0IGNo
YXIgcmJfcGFyc2VyX2xleF9zdGF0ZV9uYW1lc1tdWzEzXSA9IHsKPiArICAgICJFWFBSX0JFRyIs
ICAgICJFWFBSX0VORCIsICAgICJFWFBSX0VOREFSRyIsICJFWFBSX0VOREZOIiwgICJFWFBSX0FS
RyIsCj4gKyAgICAiRVhQUl9DTURBUkciLCAiRVhQUl9NSUQiLCAgICAiRVhQUl9GTkFNRSIsICAi
RVhQUl9ET1QiLCAgICAiRVhQUl9DTEFTUyIsCj4gKyAgICAiRVhQUl9MQUJFTCIsICAiRVhQUl9M
QUJFTEVEIiwiRVhQUl9GSVRFTSIsCj4gK307Cj4gKwo+ICtzdGF0aWMgVkFMVUUKPiArYXBwZW5k
X2xleF9zdGF0ZV9uYW1lKGVudW0gbGV4X3N0YXRlX2Ugc3RhdGUsIFZBTFVFIGJ1ZikKPiArewo+
ICsgICAgaW50IGksIHNlcCA9IDA7Cj4gKyAgICB1bnNpZ25lZCBpbnQgbWFzayA9IDE7Cj4gKyAg
ICBzdGF0aWMgY29uc3QgY2hhciBub25lW10gPSAiRVhQUl9OT05FIjsKPiArCj4gKyAgICBmb3Ig
KGkgPSAwOyBpIDwgRVhQUl9NQVhfU1RBVEU7ICsraSwgbWFzayA8PD0gMSkgewo+ICsgICAgICAg
aWYgKCh1bnNpZ25lZClzdGF0ZSAmIG1hc2spIHsKPiArICAgICAgICAgICBpZiAoc2VwKSB7Cj4g
KyAgICAgICAgICAgICAgIHJiX3N0cl9jYXQoYnVmLCAifCIsIDEpOwo+ICsgICAgICAgICAgIH0K
PiArICAgICAgICAgICBzZXAgPSAxOwo+ICsgICAgICAgICAgIHJiX3N0cl9jYXRfY3N0cihidWYs
IHJiX3BhcnNlcl9sZXhfc3RhdGVfbmFtZXNbaV0pOwo+ICsgICAgICAgfQo+ICsgICAgfQo+ICsg
ICAgaWYgKCFzZXApIHsKPiArICAgICAgIHJiX3N0cl9jYXQoYnVmLCBub25lLCBzaXplb2Yobm9u
ZSktMSk7Cj4gKyAgICB9Cj4gKyAgICByZXR1cm4gYnVmOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9p
ZAo+ICtmbHVzaF9kZWJ1Z19idWZmZXIoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIFZBTFVFIG91
dCwgVkFMVUUgc3RyKQo+ICt7Cj4gKyAgICBWQUxVRSBtZXNnID0gcC0+ZGVidWdfYnVmZmVyOwo+
ICsKPiArICAgIGlmICghTklMX1AobWVzZykgJiYgUlNUUklOR19MRU4obWVzZykpIHsKPiArICAg
ICAgIHAtPmRlYnVnX2J1ZmZlciA9IFFuaWw7Cj4gKyAgICAgICByYl9pb19wdXRzKDEsICZtZXNn
LCBvdXQpOwo+ICsgICAgfQo+ICsgICAgaWYgKCFOSUxfUChzdHIpICYmIFJTVFJJTkdfTEVOKHN0
cikpIHsKPiArICAgICAgIHJiX2lvX3dyaXRlKHAtPmRlYnVnX291dHB1dCwgc3RyKTsKPiArICAg
IH0KPiArfQo+ICsKPiArZW51bSBsZXhfc3RhdGVfZQo+ICtyYl9wYXJzZXJfdHJhY2VfbGV4X3N0
YXRlKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBlbnVtIGxleF9zdGF0ZV9lIGZyb20sCj4gKyAg
ICAgICAgICAgICAgICAgICAgICAgICBlbnVtIGxleF9zdGF0ZV9lIHRvLCBpbnQgbGluZSkKPiAr
ewo+ICsgICAgVkFMVUUgbWVzZzsKPiArICAgIG1lc2cgPSByYl9zdHJfbmV3X2NzdHIoImxleF9z
dGF0ZTogIik7Cj4gKyAgICBhcHBlbmRfbGV4X3N0YXRlX25hbWUoZnJvbSwgbWVzZyk7Cj4gKyAg
ICByYl9zdHJfY2F0X2NzdHIobWVzZywgIiAtPiAiKTsKPiArICAgIGFwcGVuZF9sZXhfc3RhdGVf
bmFtZSh0bywgbWVzZyk7Cj4gKyAgICByYl9zdHJfY2F0ZihtZXNnLCAiIGF0IGxpbmUgJWRcbiIs
IGxpbmUpOwo+ICsgICAgZmx1c2hfZGVidWdfYnVmZmVyKHAsIHAtPmRlYnVnX291dHB1dCwgbWVz
Zyk7Cj4gKyAgICByZXR1cm4gdG87Cj4gK30KPiArCj4gK1ZBTFVFCj4gK3JiX3BhcnNlcl9sZXhf
c3RhdGVfbmFtZShlbnVtIGxleF9zdGF0ZV9lIHN0YXRlKQo+ICt7Cj4gKyAgICByZXR1cm4gcmJf
ZnN0cmluZyhhcHBlbmRfbGV4X3N0YXRlX25hbWUoc3RhdGUsIHJiX3N0cl9uZXcoMCwgMCkpKTsK
PiArfQo+ICsKPiArc3RhdGljIHZvaWQKPiArYXBwZW5kX2JpdHN0YWNrX3ZhbHVlKHN0YWNrX3R5
cGUgc3RhY2ssIFZBTFVFIG1lc2cpCj4gK3sKPiArICAgIGlmIChzdGFjayA9PSAwKSB7Cj4gKyAg
ICAgICByYl9zdHJfY2F0X2NzdHIobWVzZywgIjAiKTsKPiArICAgIH0KPiArICAgIGVsc2Ugewo+
ICsgICAgICAgc3RhY2tfdHlwZSBtYXNrID0gKHN0YWNrX3R5cGUpMVUgPDwgKENIQVJfQklUICog
c2l6ZW9mKHN0YWNrX3R5cGUpIC0gMSk7Cj4gKyAgICAgICBmb3IgKDsgbWFzayAmJiAhKHN0YWNr
ICYgbWFzayk7IG1hc2sgPj49IDEpIGNvbnRpbnVlOwo+ICsgICAgICAgZm9yICg7IG1hc2s7IG1h
c2sgPj49IDEpIHJiX3N0cl9jYXQobWVzZywgc3RhY2sgJiBtYXNrID8gIjEiIDogIjAiLCAxKTsK
PiArICAgIH0KPiArfQo+ICsKPiArdm9pZAo+ICtyYl9wYXJzZXJfc2hvd19iaXRzdGFjayhzdHJ1
Y3QgcGFyc2VyX3BhcmFtcyAqcCwgc3RhY2tfdHlwZSBzdGFjaywKPiArICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBjaGFyICpuYW1lLCBpbnQgbGluZSkKPiArewo+ICsgICAgVkFMVUUgbWVz
ZyA9IHJiX3NwcmludGYoIiVzOiAiLCBuYW1lKTsKPiArICAgIGFwcGVuZF9iaXRzdGFja192YWx1
ZShzdGFjaywgbWVzZyk7Cj4gKyAgICByYl9zdHJfY2F0ZihtZXNnLCAiIGF0IGxpbmUgJWRcbiIs
IGxpbmUpOwo+ICsgICAgZmx1c2hfZGVidWdfYnVmZmVyKHAsIHAtPmRlYnVnX291dHB1dCwgbWVz
Zyk7Cj4gK30KPiArCj4gK3ZvaWQKPiArcmJfcGFyc2VyX2ZhdGFsKHN0cnVjdCBwYXJzZXJfcGFy
YW1zICpwLCBjb25zdCBjaGFyICpmbXQsIC4uLikKPiArewo+ICsgICAgdmFfbGlzdCBhcDsKPiAr
ICAgIFZBTFVFIG1lc2cgPSByYl9zdHJfbmV3X2NzdHIoImludGVybmFsIHAgZXJyb3I6ICIpOwo+
ICsKPiArICAgIHZhX3N0YXJ0KGFwLCBmbXQpOwo+ICsgICAgcmJfc3RyX3ZjYXRmKG1lc2csIGZt
dCwgYXApOwo+ICsgICAgdmFfZW5kKGFwKTsKPiArICAgIHBhcnNlcl95eWVycm9yKHAsIE5VTEws
IFJTVFJJTkdfUFRSKG1lc2cpKTsKPiArICAgIFJCX0dDX0dVQVJEKG1lc2cpOwo+ICsKPiArICAg
IG1lc2cgPSByYl9zdHJfbmV3KDAsIDApOwo+ICsgICAgYXBwZW5kX2xleF9zdGF0ZV9uYW1lKHAt
PmxleC5zdGF0ZSwgbWVzZyk7Cj4gKyAgICBjb21waWxlX2Vycm9yKHAsICJwLT5sZXguc3RhdGU6
ICUiUFJJc1ZBTFVFLCBtZXNnKTsKPiArICAgIHJiX3N0cl9yZXNpemUobWVzZywgMCk7Cj4gKyAg
ICBhcHBlbmRfYml0c3RhY2tfdmFsdWUocC0+Y29uZF9zdGFjaywgbWVzZyk7Cj4gKyAgICBjb21w
aWxlX2Vycm9yKHAsICJwLT5jb25kX3N0YWNrOiAlIlBSSXNWQUxVRSwgbWVzZyk7Cj4gKyAgICBy
Yl9zdHJfcmVzaXplKG1lc2csIDApOwo+ICsgICAgYXBwZW5kX2JpdHN0YWNrX3ZhbHVlKHAtPmNt
ZGFyZ19zdGFjaywgbWVzZyk7Cj4gKyAgICBjb21waWxlX2Vycm9yKHAsICJwLT5jbWRhcmdfc3Rh
Y2s6ICUiUFJJc1ZBTFVFLCBtZXNnKTsKPiArICAgIGlmIChwLT5kZWJ1Z19vdXRwdXQgPT0gcmJf
c3Rkb3V0KQo+ICsgICAgICAgcC0+ZGVidWdfb3V0cHV0ID0gcmJfc3RkZXJyOwo+ICsgICAgcC0+
ZGVidWcgPSBUUlVFOwo+ICt9Cj4gKwo+ICt2b2lkCj4gK3JiX3BhcnNlcl9zZXRfbG9jYXRpb25f
ZnJvbV9zdHJ0ZXJtX2hlcmVkb2Moc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIHJiX3N0cnRlcm1f
aGVyZWRvY190ICpoZXJlLCBZWUxUWVBFICp5eWxsb2MpCj4gK3sKPiArICAgIGNvbnN0IGNoYXIg
KmVvcyA9IFJTVFJJTkdfUFRSKGhlcmUtPnRlcm0pOwo+ICsgICAgbG9uZyB0ZXJtX2xlbiA9IFJT
VFJJTkdfTEVOKGhlcmUtPnRlcm0pIC0gMiArICh1bnNpZ25lZCBjaGFyKWVvc1swXTsKPiArCj4g
KyAgICB5eWxsb2MtPmJlZ19wb3MubGluZW5vID0gKGludCloZXJlLT5zb3VyY2VsaW5lOwo+ICsg
ICAgeXlsbG9jLT5iZWdfcG9zLmNvbHVtbiA9IChpbnQpKGhlcmUtPnUzLmxhc3RpZHggLSB0ZXJt
X2xlbik7Cj4gKyAgICB5eWxsb2MtPmVuZF9wb3MubGluZW5vID0gKGludCloZXJlLT5zb3VyY2Vs
aW5lOwo+ICsgICAgeXlsbG9jLT5lbmRfcG9zLmNvbHVtbiA9IChpbnQpKGhlcmUtPnUzLmxhc3Rp
ZHgpOwo+ICt9Cj4gKwo+ICt2b2lkCj4gK3JiX3BhcnNlcl9zZXRfbG9jYXRpb25fb2Zfbm9uZShz
dHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgWVlMVFlQRSAqeXlsbG9jKQo+ICt7Cj4gKyAgICB5eWxs
b2MtPmJlZ19wb3MubGluZW5vID0gcC0+cnVieV9zb3VyY2VsaW5lOwo+ICsgICAgeXlsbG9jLT5i
ZWdfcG9zLmNvbHVtbiA9IChpbnQpKHAtPmxleC5wdG9rIC0gcC0+bGV4LnBiZWcpOwo+ICsgICAg
eXlsbG9jLT5lbmRfcG9zLmxpbmVubyA9IHAtPnJ1Ynlfc291cmNlbGluZTsKPiArICAgIHl5bGxv
Yy0+ZW5kX3Bvcy5jb2x1bW4gPSAoaW50KShwLT5sZXgucHRvayAtIHAtPmxleC5wYmVnKTsKPiAr
fQo+ICsKPiArdm9pZAo+ICtyYl9wYXJzZXJfc2V0X2xvY2F0aW9uKHN0cnVjdCBwYXJzZXJfcGFy
YW1zICpwLCBZWUxUWVBFICp5eWxsb2MpCj4gK3sKPiArICAgIHl5bGxvYy0+YmVnX3Bvcy5saW5l
bm8gPSBwLT5ydWJ5X3NvdXJjZWxpbmU7Cj4gKyAgICB5eWxsb2MtPmJlZ19wb3MuY29sdW1uID0g
KGludCkocC0+bGV4LnB0b2sgLSBwLT5sZXgucGJlZyk7Cj4gKyAgICB5eWxsb2MtPmVuZF9wb3Mu
bGluZW5vID0gcC0+cnVieV9zb3VyY2VsaW5lOwo+ICsgICAgeXlsbG9jLT5lbmRfcG9zLmNvbHVt
biA9IChpbnQpKHAtPmxleC5wY3VyIC0gcC0+bGV4LnBiZWcpOwo+ICt9Cj4gKyNlbmRpZiAvKiAh
UklQUEVSICovCj4gKwo+ICtzdGF0aWMgdm9pZAo+ICtwYXJzZXJfdG9rZW5fdmFsdWVfcHJpbnQo
c3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIGVudW0geXl0b2tlbnR5cGUgdHlwZSwgY29uc3QgWVlT
VFlQRSAqdmFscCkKPiArewo+ICsgICAgVkFMVUUgdjsKPiArCj4gKyAgICBzd2l0Y2ggKHR5cGUp
IHsKPiArICAgICAgY2FzZSB0SURFTlRJRklFUjogY2FzZSB0RklEOiBjYXNlIHRHVkFSOiBjYXNl
IHRJVkFSOgo+ICsgICAgICBjYXNlIHRDT05TVEFOVDogY2FzZSB0Q1ZBUjogY2FzZSB0TEFCRUw6
IGNhc2UgdE9QX0FTR046Cj4gKyNpZm5kZWYgUklQUEVSCj4gKyAgICAgICB2ID0gcmJfaWQyc3Ry
KHZhbHAtPmlkKTsKPiArI2Vsc2UKPiArICAgICAgIHYgPSB2YWxwLT52YWw7Cj4gKyNlbmRpZgo+
ICsgICAgICAgcmJfcGFyc2VyX3ByaW50ZihwLCAiJSJQUklzVkFMVUUsIHYpOwo+ICsgICAgICAg
YnJlYWs7Cj4gKyAgICAgIGNhc2UgdElOVEVHRVI6IGNhc2UgdEZMT0FUOiBjYXNlIHRSQVRJT05B
TDogY2FzZSB0SU1BR0lOQVJZOgo+ICsgICAgICBjYXNlIHRTVFJJTkdfQ09OVEVOVDogY2FzZSB0
Q0hBUjoKPiArI2lmbmRlZiBSSVBQRVIKPiArICAgICAgIHYgPSB2YWxwLT5ub2RlLT5uZF9saXQ7
Cj4gKyNlbHNlCj4gKyAgICAgICB2ID0gdmFscC0+dmFsOwo+ICsjZW5kaWYKPiArICAgICAgIHJi
X3BhcnNlcl9wcmludGYocCwgIiUrIlBSSXNWQUxVRSwgdik7Cj4gKyAgICAgICBicmVhazsKPiAr
ICAgICAgY2FzZSB0TlRIX1JFRjoKPiArI2lmbmRlZiBSSVBQRVIKPiArICAgICAgIHJiX3BhcnNl
cl9wcmludGYocCwgIiQlbGQiLCB2YWxwLT5ub2RlLT5uZF9udGgpOwo+ICsjZWxzZQo+ICsgICAg
ICAgcmJfcGFyc2VyX3ByaW50ZihwLCAiJSJQUklzVkFMVUUsIHZhbHAtPnZhbCk7Cj4gKyNlbmRp
Zgo+ICsgICAgICAgYnJlYWs7Cj4gKyAgICAgIGNhc2UgdEJBQ0tfUkVGOgo+ICsjaWZuZGVmIFJJ
UFBFUgo+ICsgICAgICAgcmJfcGFyc2VyX3ByaW50ZihwLCAiJCVjIiwgKGludCl2YWxwLT5ub2Rl
LT5uZF9udGgpOwo+ICsjZWxzZQo+ICsgICAgICAgcmJfcGFyc2VyX3ByaW50ZihwLCAiJSJQUklz
VkFMVUUsIHZhbHAtPnZhbCk7Cj4gKyNlbmRpZgo+ICsgICAgICAgYnJlYWs7Cj4gKyAgICAgIGRl
ZmF1bHQ6Cj4gKyAgICAgICBicmVhazsKPiArICAgIH0KPiArfQo+ICsKPiArc3RhdGljIGludAo+
ICthc3NpZ25hYmxlMChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgSUQgaWQsIGNvbnN0IGNoYXIg
KiplcnIpCj4gK3sKPiArICAgIGlmICghaWQpIHJldHVybiAtMTsKPiArICAgIHN3aXRjaCAoaWQp
IHsKPiArICAgICAgY2FzZSBrZXl3b3JkX3NlbGY6Cj4gKyAgICAgICAqZXJyID0gIkNhbid0IGNo
YW5nZSB0aGUgdmFsdWUgb2Ygc2VsZiI7Cj4gKyAgICAgICByZXR1cm4gLTE7Cj4gKyAgICAgIGNh
c2Uga2V5d29yZF9uaWw6Cj4gKyAgICAgICAqZXJyID0gIkNhbid0IGFzc2lnbiB0byBuaWwiOwo+
ICsgICAgICAgcmV0dXJuIC0xOwo+ICsgICAgICBjYXNlIGtleXdvcmRfdHJ1ZToKPiArICAgICAg
ICplcnIgPSAiQ2FuJ3QgYXNzaWduIHRvIHRydWUiOwo+ICsgICAgICAgcmV0dXJuIC0xOwo+ICsg
ICAgICBjYXNlIGtleXdvcmRfZmFsc2U6Cj4gKyAgICAgICAqZXJyID0gIkNhbid0IGFzc2lnbiB0
byBmYWxzZSI7Cj4gKyAgICAgICByZXR1cm4gLTE7Cj4gKyAgICAgIGNhc2Uga2V5d29yZF9fRklM
RV9fOgo+ICsgICAgICAgKmVyciA9ICJDYW4ndCBhc3NpZ24gdG8gX19GSUxFX18iOwo+ICsgICAg
ICAgcmV0dXJuIC0xOwo+ICsgICAgICBjYXNlIGtleXdvcmRfX0xJTkVfXzoKPiArICAgICAgICpl
cnIgPSAiQ2FuJ3QgYXNzaWduIHRvIF9fTElORV9fIjsKPiArICAgICAgIHJldHVybiAtMTsKPiAr
ICAgICAgY2FzZSBrZXl3b3JkX19FTkNPRElOR19fOgo+ICsgICAgICAgKmVyciA9ICJDYW4ndCBh
c3NpZ24gdG8gX19FTkNPRElOR19fIjsKPiArICAgICAgIHJldHVybiAtMTsKPiArICAgIH0KPiAr
ICAgIHN3aXRjaCAoaWRfdHlwZShpZCkpIHsKPiArICAgICAgY2FzZSBJRF9MT0NBTDoKPiArICAg
ICAgIGlmIChkeW5hX2luX2Jsb2NrKHApKSB7Cj4gKyAgICAgICAgICAgaWYgKGR2YXJfY3Vycihw
LCBpZCkpIHJldHVybiBOT0RFX0RBU0dOX0NVUlI7Cj4gKyAgICAgICAgICAgaWYgKGR2YXJfZGVm
aW5lZChwLCBpZCkpIHJldHVybiBOT0RFX0RBU0dOOwo+ICsgICAgICAgICAgIGlmIChsb2NhbF9p
ZChwLCBpZCkpIHJldHVybiBOT0RFX0xBU0dOOwo+ICsgICAgICAgICAgIGR5bmFfdmFyKHAsIGlk
KTsKPiArICAgICAgICAgICByZXR1cm4gTk9ERV9EQVNHTl9DVVJSOwo+ICsgICAgICAgfQo+ICsg
ICAgICAgZWxzZSB7Cj4gKyAgICAgICAgICAgaWYgKCFsb2NhbF9pZChwLCBpZCkpIGxvY2FsX3Zh
cihwLCBpZCk7Cj4gKyAgICAgICAgICAgcmV0dXJuIE5PREVfTEFTR047Cj4gKyAgICAgICB9Cj4g
KyAgICAgICBicmVhazsKPiArICAgICAgY2FzZSBJRF9HTE9CQUw6IHJldHVybiBOT0RFX0dBU0dO
Owo+ICsgICAgICBjYXNlIElEX0lOU1RBTkNFOiByZXR1cm4gTk9ERV9JQVNHTjsKPiArICAgICAg
Y2FzZSBJRF9DT05TVDoKPiArICAgICAgIGlmICghcC0+aW5fZGVmKSByZXR1cm4gTk9ERV9DREVD
TDsKPiArICAgICAgICplcnIgPSAiZHluYW1pYyBjb25zdGFudCBhc3NpZ25tZW50IjsKPiArICAg
ICAgIHJldHVybiAtMTsKPiArICAgICAgY2FzZSBJRF9DTEFTUzogcmV0dXJuIE5PREVfQ1ZBU0dO
Owo+ICsgICAgICBkZWZhdWx0Ogo+ICsgICAgICAgY29tcGlsZV9lcnJvcihwLCAiaWRlbnRpZmll
ciAlIlBSSXNWQUxVRSIgaXMgbm90IHZhbGlkIHRvIHNldCIsIHJiX2lkMnN0cihpZCkpOwo+ICsg
ICAgfQo+ICsgICAgcmV0dXJuIC0xOwo+ICt9Cj4gKwo+ICsjaWZuZGVmIFJJUFBFUgo+ICtzdGF0
aWMgTk9ERSoKPiArYXNzaWduYWJsZShzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgSUQgaWQsIE5P
REUgKnZhbCwgY29uc3QgWVlMVFlQRSAqbG9jKQo+ICt7Cj4gKyAgICBjb25zdCBjaGFyICplcnIg
PSAwOwo+ICsgICAgaW50IG5vZGVfdHlwZSA9IGFzc2lnbmFibGUwKHAsIGlkLCAmZXJyKTsKPiAr
ICAgIHN3aXRjaCAobm9kZV90eXBlKSB7Cj4gKyAgICAgIGNhc2UgTk9ERV9EQVNHTl9DVVJSOiBy
ZXR1cm4gTkVXX0RBU0dOX0NVUlIoaWQsIHZhbCwgbG9jKTsKPiArICAgICAgY2FzZSBOT0RFX0RB
U0dOOiByZXR1cm4gTkVXX0RBU0dOKGlkLCB2YWwsIGxvYyk7Cj4gKyAgICAgIGNhc2UgTk9ERV9M
QVNHTjogcmV0dXJuIE5FV19MQVNHTihpZCwgdmFsLCBsb2MpOwo+ICsgICAgICBjYXNlIE5PREVf
R0FTR046IHJldHVybiBORVdfR0FTR04oaWQsIHZhbCwgbG9jKTsKPiArICAgICAgY2FzZSBOT0RF
X0lBU0dOOiByZXR1cm4gTkVXX0lBU0dOKGlkLCB2YWwsIGxvYyk7Cj4gKyAgICAgIGNhc2UgTk9E
RV9DREVDTDogcmV0dXJuIE5FV19DREVDTChpZCwgdmFsLCAwLCBsb2MpOwo+ICsgICAgICBjYXNl
IE5PREVfQ1ZBU0dOOiByZXR1cm4gTkVXX0NWQVNHTihpZCwgdmFsLCBsb2MpOwo+ICsgICAgfQo+
ICsgICAgaWYgKGVycikgeXllcnJvcjEobG9jLCBlcnIpOwo+ICsgICAgcmV0dXJuIE5FV19CRUdJ
TigwLCBsb2MpOwo+ICt9Cj4gKyNlbHNlCj4gK3N0YXRpYyBWQUxVRQo+ICthc3NpZ25hYmxlKHN0
cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBWQUxVRSBsaHMpCj4gK3sKPiArICAgIGNvbnN0IGNoYXIg
KmVyciA9IDA7Cj4gKyAgICBhc3NpZ25hYmxlMChwLCBnZXRfaWQobGhzKSwgJmVycik7Cj4gKyAg
ICBpZiAoZXJyKSBsaHMgPSBhc3NpZ25fZXJyb3IocCwgbGhzKTsKPiArICAgIHJldHVybiBsaHM7
Cj4gK30KPiArI2VuZGlmCj4gKwo+ICtzdGF0aWMgaW50Cj4gK2lzX3ByaXZhdGVfbG9jYWxfaWQo
SUQgbmFtZSkKPiArewo+ICsgICAgVkFMVUUgczsKPiArICAgIGlmIChuYW1lID09IGlkVVNjb3Jl
KSByZXR1cm4gMTsKPiArICAgIGlmICghaXNfbG9jYWxfaWQobmFtZSkpIHJldHVybiAwOwo+ICsg
ICAgcyA9IHJiX2lkMnN0cihuYW1lKTsKPiArICAgIGlmICghcykgcmV0dXJuIDA7Cj4gKyAgICBy
ZXR1cm4gUlNUUklOR19QVFIocylbMF0gPT0gJ18nOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50Cj4g
K3NoYWRvd2luZ19sdmFyXzAoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIElEIG5hbWUpCj4gK3sK
PiArICAgIGlmIChpc19wcml2YXRlX2xvY2FsX2lkKG5hbWUpKSByZXR1cm4gMTsKPiArICAgIGlm
IChkeW5hX2luX2Jsb2NrKHApKSB7Cj4gKyAgICAgICBpZiAoZHZhcl9jdXJyKHAsIG5hbWUpKSB7
Cj4gKyAgICAgICAgICAgeXllcnJvcjAoImR1cGxpY2F0ZWQgYXJndW1lbnQgbmFtZSIpOwo+ICsg
ICAgICAgfQo+ICsgICAgICAgZWxzZSBpZiAoZHZhcl9kZWZpbmVkKHAsIG5hbWUpIHx8IGxvY2Fs
X2lkKHAsIG5hbWUpKSB7Cj4gKyAgICAgICAgICAgdnRhYmxlX2FkZChwLT5sdnRibC0+dmFycywg
bmFtZSk7Cj4gKyAgICAgICAgICAgaWYgKHAtPmx2dGJsLT51c2VkKSB7Cj4gKyAgICAgICAgICAg
ICAgIHZ0YWJsZV9hZGQocC0+bHZ0YmwtPnVzZWQsIChJRClwLT5ydWJ5X3NvdXJjZWxpbmUgfCBM
VkFSX1VTRUQpOwo+ICsgICAgICAgICAgIH0KPiArICAgICAgICAgICByZXR1cm4gMDsKPiArICAg
ICAgIH0KPiArICAgIH0KPiArICAgIGVsc2Ugewo+ICsgICAgICAgaWYgKGxvY2FsX2lkKHAsIG5h
bWUpKSB7Cj4gKyAgICAgICAgICAgeXllcnJvcjAoImR1cGxpY2F0ZWQgYXJndW1lbnQgbmFtZSIp
Owo+ICsgICAgICAgfQo+ICsgICAgfQo+ICsgICAgcmV0dXJuIDE7Cj4gK30KPiArCj4gK3N0YXRp
YyBJRAo+ICtzaGFkb3dpbmdfbHZhcihzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgSUQgbmFtZSkK
PiArewo+ICsgICAgc2hhZG93aW5nX2x2YXJfMChwLCBuYW1lKTsKPiArICAgIHJldHVybiBuYW1l
Owo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZAo+ICtuZXdfYnYoc3RydWN0IHBhcnNlcl9wYXJhbXMg
KnAsIElEIG5hbWUpCj4gK3sKPiArICAgIGlmICghbmFtZSkgcmV0dXJuOwo+ICsgICAgaWYgKCFp
c19sb2NhbF9pZChuYW1lKSkgewo+ICsgICAgICAgY29tcGlsZV9lcnJvcihwLCAiaW52YWxpZCBs
b2NhbCB2YXJpYWJsZSAtICUiUFJJc1ZBTFVFLAo+ICsgICAgICAgICAgICAgICAgICAgICByYl9p
ZDJzdHIobmFtZSkpOwo+ICsgICAgICAgcmV0dXJuOwo+ICsgICAgfQo+ICsgICAgaWYgKCFzaGFk
b3dpbmdfbHZhcl8wKHAsIG5hbWUpKSByZXR1cm47Cj4gKyAgICBkeW5hX3ZhcihwLCBuYW1lKTsK
PiArfQo+ICsKPiArI2lmbmRlZiBSSVBQRVIKPiArc3RhdGljIE5PREUgKgo+ICthcnlzZXQoc3Ry
dWN0IHBhcnNlcl9wYXJhbXMgKnAsIE5PREUgKnJlY3YsIE5PREUgKmlkeCwgY29uc3QgWVlMVFlQ
RSAqbG9jKQo+ICt7Cj4gKyAgICByZXR1cm4gTkVXX0FUVFJBU0dOKHJlY3YsIHRBU0VULCBpZHgs
IGxvYyk7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkCj4gK2Jsb2NrX2R1cF9jaGVjayhzdHJ1Y3Qg
cGFyc2VyX3BhcmFtcyAqcCwgTk9ERSAqbm9kZTEsIE5PREUgKm5vZGUyKQo+ICt7Cj4gKyAgICBp
ZiAobm9kZTIgJiYgbm9kZTEgJiYgbmRfdHlwZShub2RlMSkgPT0gTk9ERV9CTE9DS19QQVNTKSB7
Cj4gKyAgICAgICBjb21waWxlX2Vycm9yKHAsICJib3RoIGJsb2NrIGFyZyBhbmQgYWN0dWFsIGJs
b2NrIGdpdmVuIik7Cj4gKyAgICB9Cj4gK30KPiArCj4gK3N0YXRpYyBOT0RFICoKPiArYXR0cnNl
dChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgTk9ERSAqcmVjdiwgSUQgYXR5cGUsIElEIGlkLCBj
b25zdCBZWUxUWVBFICpsb2MpCj4gK3sKPiArICAgIGlmICghQ0FMTF9RX1AoYXR5cGUpKSBpZCA9
IHJiX2lkX2F0dHJzZXQoaWQpOwo+ICsgICAgcmV0dXJuIE5FV19BVFRSQVNHTihyZWN2LCBpZCwg
MCwgbG9jKTsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQKPiArcmJfYmFja3JlZl9lcnJvcihzdHJ1
Y3QgcGFyc2VyX3BhcmFtcyAqcCwgTk9ERSAqbm9kZSkKPiArewo+ICsgICAgc3dpdGNoIChuZF90
eXBlKG5vZGUpKSB7Cj4gKyAgICAgIGNhc2UgTk9ERV9OVEhfUkVGOgo+ICsgICAgICAgY29tcGls
ZV9lcnJvcihwLCAiQ2FuJ3Qgc2V0IHZhcmlhYmxlICQlbGQiLCBub2RlLT5uZF9udGgpOwo+ICsg
ICAgICAgYnJlYWs7Cj4gKyAgICAgIGNhc2UgTk9ERV9CQUNLX1JFRjoKPiArICAgICAgIGNvbXBp
bGVfZXJyb3IocCwgIkNhbid0IHNldCB2YXJpYWJsZSAkJWMiLCAoaW50KW5vZGUtPm5kX250aCk7
Cj4gKyAgICAgICBicmVhazsKPiArICAgIH0KPiArfQo+ICsKPiArc3RhdGljIE5PREUgKgo+ICth
cmdfYXBwZW5kKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBOT0RFICpub2RlMSwgTk9ERSAqbm9k
ZTIsIGNvbnN0IFlZTFRZUEUgKmxvYykKPiArewo+ICsgICAgaWYgKCFub2RlMSkgcmV0dXJuIE5F
V19MSVNUKG5vZGUyLCAmbm9kZTItPm5kX2xvYyk7Cj4gKyAgICBzd2l0Y2ggKG5kX3R5cGUobm9k
ZTEpKSAgewo+ICsgICAgICBjYXNlIE5PREVfQVJSQVk6Cj4gKyAgICAgICByZXR1cm4gbGlzdF9h
cHBlbmQocCwgbm9kZTEsIG5vZGUyKTsKPiArICAgICAgY2FzZSBOT0RFX0JMT0NLX1BBU1M6Cj4g
KyAgICAgICBub2RlMS0+bmRfaGVhZCA9IGFyZ19hcHBlbmQocCwgbm9kZTEtPm5kX2hlYWQsIG5v
ZGUyLCBsb2MpOwo+ICsgICAgICAgbm9kZTEtPm5kX2xvYy5lbmRfcG9zID0gbm9kZTEtPm5kX2hl
YWQtPm5kX2xvYy5lbmRfcG9zOwo+ICsgICAgICAgcmV0dXJuIG5vZGUxOwo+ICsgICAgICBjYXNl
IE5PREVfQVJHU1BVU0g6Cj4gKyAgICAgICBub2RlMS0+bmRfYm9keSA9IGxpc3RfYXBwZW5kKHAs
IE5FV19MSVNUKG5vZGUxLT5uZF9ib2R5LCAmbm9kZTEtPm5kX2JvZHktPm5kX2xvYyksIG5vZGUy
KTsKPiArICAgICAgIG5vZGUxLT5uZF9sb2MuZW5kX3BvcyA9IG5vZGUxLT5uZF9ib2R5LT5uZF9s
b2MuZW5kX3BvczsKPiArICAgICAgIG5kX3NldF90eXBlKG5vZGUxLCBOT0RFX0FSR1NDQVQpOwo+
ICsgICAgICAgcmV0dXJuIG5vZGUxOwo+ICsgICAgICBjYXNlIE5PREVfQVJHU0NBVDoKPiArICAg
ICAgICBpZiAobmRfdHlwZShub2RlMS0+bmRfYm9keSkgIT0gTk9ERV9BUlJBWSkgYnJlYWs7Cj4g
KyAgICAgICAgbm9kZTEtPm5kX2JvZHkgPSBsaXN0X2FwcGVuZChwLCBub2RlMS0+bmRfYm9keSwg
bm9kZTIpOwo+ICsgICAgICAgIG5vZGUxLT5uZF9sb2MuZW5kX3BvcyA9IG5vZGUxLT5uZF9ib2R5
LT5uZF9sb2MuZW5kX3BvczsKPiArICAgICAgICByZXR1cm4gbm9kZTE7Cj4gKyAgICB9Cj4gKyAg
ICByZXR1cm4gTkVXX0FSR1NQVVNIKG5vZGUxLCBub2RlMiwgbG9jKTsKPiArfQo+ICsKPiArc3Rh
dGljIE5PREUgKgo+ICthcmdfY29uY2F0KHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBOT0RFICpu
b2RlMSwgTk9ERSAqbm9kZTIsIGNvbnN0IFlZTFRZUEUgKmxvYykKPiArewo+ICsgICAgaWYgKCFu
b2RlMikgcmV0dXJuIG5vZGUxOwo+ICsgICAgc3dpdGNoIChuZF90eXBlKG5vZGUxKSkgewo+ICsg
ICAgICBjYXNlIE5PREVfQkxPQ0tfUEFTUzoKPiArICAgICAgIGlmIChub2RlMS0+bmRfaGVhZCkK
PiArICAgICAgICAgICBub2RlMS0+bmRfaGVhZCA9IGFyZ19jb25jYXQocCwgbm9kZTEtPm5kX2hl
YWQsIG5vZGUyLCBsb2MpOwo+ICsgICAgICAgZWxzZQo+ICsgICAgICAgICAgIG5vZGUxLT5uZF9o
ZWFkID0gTkVXX0xJU1Qobm9kZTIsIGxvYyk7Cj4gKyAgICAgICByZXR1cm4gbm9kZTE7Cj4gKyAg
ICAgIGNhc2UgTk9ERV9BUkdTUFVTSDoKPiArICAgICAgIGlmIChuZF90eXBlKG5vZGUyKSAhPSBO
T0RFX0FSUkFZKSBicmVhazsKPiArICAgICAgIG5vZGUxLT5uZF9ib2R5ID0gbGlzdF9jb25jYXQo
TkVXX0xJU1Qobm9kZTEtPm5kX2JvZHksIGxvYyksIG5vZGUyKTsKPiArICAgICAgIG5kX3NldF90
eXBlKG5vZGUxLCBOT0RFX0FSR1NDQVQpOwo+ICsgICAgICAgcmV0dXJuIG5vZGUxOwo+ICsgICAg
ICBjYXNlIE5PREVfQVJHU0NBVDoKPiArICAgICAgIGlmIChuZF90eXBlKG5vZGUyKSAhPSBOT0RF
X0FSUkFZIHx8Cj4gKyAgICAgICAgICAgbmRfdHlwZShub2RlMS0+bmRfYm9keSkgIT0gTk9ERV9B
UlJBWSkgYnJlYWs7Cj4gKyAgICAgICBub2RlMS0+bmRfYm9keSA9IGxpc3RfY29uY2F0KG5vZGUx
LT5uZF9ib2R5LCBub2RlMik7Cj4gKyAgICAgICByZXR1cm4gbm9kZTE7Cj4gKyAgICB9Cj4gKyAg
ICByZXR1cm4gTkVXX0FSR1NDQVQobm9kZTEsIG5vZGUyLCBsb2MpOwo+ICt9Cj4gKwo+ICtzdGF0
aWMgTk9ERSAqCj4gK2xhc3RfYXJnX2FwcGVuZChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgTk9E
RSAqYXJncywgTk9ERSAqbGFzdF9hcmcsIGNvbnN0IFlZTFRZUEUgKmxvYykKPiArewo+ICsgICAg
Tk9ERSAqbjE7Cj4gKyAgICBpZiAoKG4xID0gc3BsYXRfYXJyYXkoYXJncykpICE9IDApIHsKPiAr
ICAgICAgIHJldHVybiBsaXN0X2FwcGVuZChwLCBuMSwgbGFzdF9hcmcpOwo+ICsgICAgfQo+ICsg
ICAgcmV0dXJuIGFyZ19hcHBlbmQocCwgYXJncywgbGFzdF9hcmcsIGxvYyk7Cj4gK30KPiArCj4g
K3N0YXRpYyBOT0RFICoKPiArcmVzdF9hcmdfYXBwZW5kKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpw
LCBOT0RFICphcmdzLCBOT0RFICpyZXN0X2FyZywgY29uc3QgWVlMVFlQRSAqbG9jKQo+ICt7Cj4g
KyAgICBOT0RFICpuMTsKPiArICAgIGlmICgobmRfdHlwZShyZXN0X2FyZykgPT0gTk9ERV9BUlJB
WSkgJiYgKG4xID0gc3BsYXRfYXJyYXkoYXJncykpICE9IDApIHsKPiArICAgICAgIHJldHVybiBs
aXN0X2NvbmNhdChuMSwgcmVzdF9hcmcpOwo+ICsgICAgfQo+ICsgICAgcmV0dXJuIGFyZ19jb25j
YXQocCwgYXJncywgcmVzdF9hcmcsIGxvYyk7Cj4gK30KPiArCj4gK3N0YXRpYyBOT0RFICoKPiAr
c3BsYXRfYXJyYXkoTk9ERSogbm9kZSkKPiArewo+ICsgICAgaWYgKG5kX3R5cGUobm9kZSkgPT0g
Tk9ERV9TUExBVCkgbm9kZSA9IG5vZGUtPm5kX2hlYWQ7Cj4gKyAgICBpZiAobmRfdHlwZShub2Rl
KSA9PSBOT0RFX0FSUkFZKSByZXR1cm4gbm9kZTsKPiArICAgIHJldHVybiAwOwo+ICt9Cj4gKwo+
ICtzdGF0aWMgdm9pZAo+ICttYXJrX2x2YXJfdXNlZChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwg
Tk9ERSAqcmhzKQo+ICt7Cj4gKyAgICBJRCAqdmlkcCA9IE5VTEw7Cj4gKyAgICBpZiAoIXJocykg
cmV0dXJuOwo+ICsgICAgc3dpdGNoIChuZF90eXBlKHJocykpIHsKPiArICAgICAgY2FzZSBOT0RF
X0xBU0dOOgo+ICsgICAgICAgaWYgKGxvY2FsX2lkX3JlZihwLCByaHMtPm5kX3ZpZCwgJnZpZHAp
KSB7Cj4gKyAgICAgICAgICAgaWYgKHZpZHApICp2aWRwIHw9IExWQVJfVVNFRDsKPiArICAgICAg
IH0KPiArICAgICAgIGJyZWFrOwo+ICsgICAgICBjYXNlIE5PREVfREFTR046Cj4gKyAgICAgIGNh
c2UgTk9ERV9EQVNHTl9DVVJSOgo+ICsgICAgICAgaWYgKGR2YXJfZGVmaW5lZF9yZWYocCwgcmhz
LT5uZF92aWQsICZ2aWRwKSkgewo+ICsgICAgICAgICAgIGlmICh2aWRwKSAqdmlkcCB8PSBMVkFS
X1VTRUQ7Cj4gKyAgICAgICB9Cj4gKyAgICAgICBicmVhazsKPiArI2lmIDAKPiArICAgICAgY2Fz
ZSBOT0RFX01BU0dOOgo+ICsgICAgICAgZm9yIChyaHMgPSByaHMtPm5kX2hlYWQ7IHJoczsgcmhz
ID0gcmhzLT5uZF9uZXh0KSB7Cj4gKyAgICAgICAgICAgbWFya19sdmFyX3VzZWQocCwgcmhzLT5u
ZF9oZWFkKTsKPiArICAgICAgIH0KPiArICAgICAgIGJyZWFrOwo+ICsjZW5kaWYKPiArICAgIH0K
PiArfQo+ICsKPiArc3RhdGljIE5PREUgKgo+ICtub2RlX2Fzc2lnbihzdHJ1Y3QgcGFyc2VyX3Bh
cmFtcyAqcCwgTk9ERSAqbGhzLCBOT0RFICpyaHMsIGNvbnN0IFlZTFRZUEUgKmxvYykKPiArewo+
ICsgICAgaWYgKCFsaHMpIHJldHVybiAwOwo+ICsKPiArICAgIHN3aXRjaCAobmRfdHlwZShsaHMp
KSB7Cj4gKyAgICAgIGNhc2UgTk9ERV9HQVNHTjoKPiArICAgICAgY2FzZSBOT0RFX0lBU0dOOgo+
ICsgICAgICBjYXNlIE5PREVfTEFTR046Cj4gKyAgICAgIGNhc2UgTk9ERV9EQVNHTjoKPiArICAg
ICAgY2FzZSBOT0RFX0RBU0dOX0NVUlI6Cj4gKyAgICAgIGNhc2UgTk9ERV9NQVNHTjoKPiArICAg
ICAgY2FzZSBOT0RFX0NERUNMOgo+ICsgICAgICBjYXNlIE5PREVfQ1ZBU0dOOgo+ICsgICAgICAg
bGhzLT5uZF92YWx1ZSA9IHJoczsKPiArICAgICAgIG5kX3NldF9sb2MobGhzLCBsb2MpOwo+ICsg
ICAgICAgYnJlYWs7Cj4gKwo+ICsgICAgICBjYXNlIE5PREVfQVRUUkFTR046Cj4gKyAgICAgICBs
aHMtPm5kX2FyZ3MgPSBhcmdfYXBwZW5kKHAsIGxocy0+bmRfYXJncywgcmhzLCBsb2MpOwo+ICsg
ICAgICAgbmRfc2V0X2xvYyhsaHMsIGxvYyk7Cj4gKyAgICAgICBicmVhazsKPiArCj4gKyAgICAg
IGRlZmF1bHQ6Cj4gKyAgICAgICAvKiBzaG91bGQgbm90IGhhcHBlbiAqLwo+ICsgICAgICAgYnJl
YWs7Cj4gKyAgICB9Cj4gKwo+ICsgICAgcmV0dXJuIGxoczsKPiArfQo+ICsKPiArc3RhdGljIGlu
dAo+ICt2YWx1ZV9leHByX2dlbihzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgTk9ERSAqbm9kZSkK
PiArewo+ICsgICAgaW50IGNvbmQgPSAwOwo+ICsKPiArICAgIGlmICghbm9kZSkgewo+ICsgICAg
ICAgcmJfd2FybmluZzAoImVtcHR5IGV4cHJlc3Npb24iKTsKPiArICAgIH0KPiArICAgIHdoaWxl
IChub2RlKSB7Cj4gKyAgICAgICBzd2l0Y2ggKG5kX3R5cGUobm9kZSkpIHsKPiArICAgICAgICAg
Y2FzZSBOT0RFX1JFVFVSTjoKPiArICAgICAgICAgY2FzZSBOT0RFX0JSRUFLOgo+ICsgICAgICAg
ICBjYXNlIE5PREVfTkVYVDoKPiArICAgICAgICAgY2FzZSBOT0RFX1JFRE86Cj4gKyAgICAgICAg
IGNhc2UgTk9ERV9SRVRSWToKPiArICAgICAgICAgICBpZiAoIWNvbmQpIHl5ZXJyb3IxKCZub2Rl
LT5uZF9sb2MsICJ2b2lkIHZhbHVlIGV4cHJlc3Npb24iKTsKPiArICAgICAgICAgICAvKiBvciAi
Y29udHJvbCBuZXZlciByZWFjaCI/ICovCj4gKyAgICAgICAgICAgcmV0dXJuIEZBTFNFOwo+ICsK
PiArICAgICAgICAgY2FzZSBOT0RFX0JMT0NLOgo+ICsgICAgICAgICAgIHdoaWxlIChub2RlLT5u
ZF9uZXh0KSB7Cj4gKyAgICAgICAgICAgICAgIG5vZGUgPSBub2RlLT5uZF9uZXh0Owo+ICsgICAg
ICAgICAgIH0KPiArICAgICAgICAgICBub2RlID0gbm9kZS0+bmRfaGVhZDsKPiArICAgICAgICAg
ICBicmVhazsKPiArCj4gKyAgICAgICAgIGNhc2UgTk9ERV9CRUdJTjoKPiArICAgICAgICAgICBu
b2RlID0gbm9kZS0+bmRfYm9keTsKPiArICAgICAgICAgICBicmVhazsKPiArCj4gKyAgICAgICAg
IGNhc2UgTk9ERV9JRjoKPiArICAgICAgICAgY2FzZSBOT0RFX1VOTEVTUzoKPiArICAgICAgICAg
ICBpZiAoIW5vZGUtPm5kX2JvZHkpIHsKPiArICAgICAgICAgICAgICAgbm9kZSA9IG5vZGUtPm5k
X2Vsc2U7Cj4gKyAgICAgICAgICAgICAgIGJyZWFrOwo+ICsgICAgICAgICAgIH0KPiArICAgICAg
ICAgICBlbHNlIGlmICghbm9kZS0+bmRfZWxzZSkgewo+ICsgICAgICAgICAgICAgICBub2RlID0g
bm9kZS0+bmRfYm9keTsKPiArICAgICAgICAgICAgICAgYnJlYWs7Cj4gKyAgICAgICAgICAgfQo+
ICsgICAgICAgICAgIGlmICghdmFsdWVfZXhwcihub2RlLT5uZF9ib2R5KSkgcmV0dXJuIEZBTFNF
Owo+ICsgICAgICAgICAgIG5vZGUgPSBub2RlLT5uZF9lbHNlOwo+ICsgICAgICAgICAgIGJyZWFr
Owo+ICsKPiArICAgICAgICAgY2FzZSBOT0RFX0FORDoKPiArICAgICAgICAgY2FzZSBOT0RFX09S
Ogo+ICsgICAgICAgICAgIGNvbmQgPSAxOwo+ICsgICAgICAgICAgIG5vZGUgPSBub2RlLT5uZF8y
bmQ7Cj4gKyAgICAgICAgICAgYnJlYWs7Cj4gKwo+ICsgICAgICAgICBjYXNlIE5PREVfTEFTR046
Cj4gKyAgICAgICAgIGNhc2UgTk9ERV9EQVNHTjoKPiArICAgICAgICAgY2FzZSBOT0RFX0RBU0dO
X0NVUlI6Cj4gKyAgICAgICAgIGNhc2UgTk9ERV9NQVNHTjoKPiArICAgICAgICAgICBtYXJrX2x2
YXJfdXNlZChwLCBub2RlKTsKPiArICAgICAgICAgICByZXR1cm4gVFJVRTsKPiArCj4gKyAgICAg
ICAgIGRlZmF1bHQ6Cj4gKyAgICAgICAgICAgcmV0dXJuIFRSVUU7Cj4gKyAgICAgICB9Cj4gKyAg
ICB9Cj4gKwo+ICsgICAgcmV0dXJuIFRSVUU7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkCj4gK3Zv
aWRfZXhwcihzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgTk9ERSAqbm9kZSkKPiArewo+ICsgICAg
Y29uc3QgY2hhciAqdXNlbGVzcyA9IDA7Cj4gKwo+ICsgICAgaWYgKCFSVEVTVChydWJ5X3ZlcmJv
c2UpKSByZXR1cm47Cj4gKwo+ICsgICAgaWYgKCFub2RlIHx8ICEobm9kZSA9IG5kX29uY2VfYm9k
eShub2RlKSkpIHJldHVybjsKPiArICAgIHN3aXRjaCAobmRfdHlwZShub2RlKSkgewo+ICsgICAg
ICBjYXNlIE5PREVfT1BDQUxMOgo+ICsgICAgICAgc3dpdGNoIChub2RlLT5uZF9taWQpIHsKPiAr
ICAgICAgICAgY2FzZSAnKyc6Cj4gKyAgICAgICAgIGNhc2UgJy0nOgo+ICsgICAgICAgICBjYXNl
ICcqJzoKPiArICAgICAgICAgY2FzZSAnLyc6Cj4gKyAgICAgICAgIGNhc2UgJyUnOgo+ICsgICAg
ICAgICBjYXNlIHRQT1c6Cj4gKyAgICAgICAgIGNhc2UgdFVQTFVTOgo+ICsgICAgICAgICBjYXNl
IHRVTUlOVVM6Cj4gKyAgICAgICAgIGNhc2UgJ3wnOgo+ICsgICAgICAgICBjYXNlICdeJzoKPiAr
ICAgICAgICAgY2FzZSAnJic6Cj4gKyAgICAgICAgIGNhc2UgdENNUDoKPiArICAgICAgICAgY2Fz
ZSAnPic6Cj4gKyAgICAgICAgIGNhc2UgdEdFUToKPiArICAgICAgICAgY2FzZSAnPCc6Cj4gKyAg
ICAgICAgIGNhc2UgdExFUToKPiArICAgICAgICAgY2FzZSB0RVE6Cj4gKyAgICAgICAgIGNhc2Ug
dE5FUToKPiArICAgICAgICAgICB1c2VsZXNzID0gcmJfaWQybmFtZShub2RlLT5uZF9taWQpOwo+
ICsgICAgICAgICAgIGJyZWFrOwo+ICsgICAgICAgfQo+ICsgICAgICAgYnJlYWs7Cj4gKwo+ICsg
ICAgICBjYXNlIE5PREVfTFZBUjoKPiArICAgICAgY2FzZSBOT0RFX0RWQVI6Cj4gKyAgICAgIGNh
c2UgTk9ERV9HVkFSOgo+ICsgICAgICBjYXNlIE5PREVfSVZBUjoKPiArICAgICAgY2FzZSBOT0RF
X0NWQVI6Cj4gKyAgICAgIGNhc2UgTk9ERV9OVEhfUkVGOgo+ICsgICAgICBjYXNlIE5PREVfQkFD
S19SRUY6Cj4gKyAgICAgICB1c2VsZXNzID0gImEgdmFyaWFibGUiOwo+ICsgICAgICAgYnJlYWs7
Cj4gKyAgICAgIGNhc2UgTk9ERV9DT05TVDoKPiArICAgICAgIHVzZWxlc3MgPSAiYSBjb25zdGFu
dCI7Cj4gKyAgICAgICBicmVhazsKPiArICAgICAgY2FzZSBOT0RFX0xJVDoKPiArICAgICAgY2Fz
ZSBOT0RFX1NUUjoKPiArICAgICAgY2FzZSBOT0RFX0RTVFI6Cj4gKyAgICAgIGNhc2UgTk9ERV9E
UkVHWDoKPiArICAgICAgIHVzZWxlc3MgPSAiYSBsaXRlcmFsIjsKPiArICAgICAgIGJyZWFrOwo+
ICsgICAgICBjYXNlIE5PREVfQ09MT04yOgo+ICsgICAgICBjYXNlIE5PREVfQ09MT04zOgo+ICsg
ICAgICAgdXNlbGVzcyA9ICI6OiI7Cj4gKyAgICAgICBicmVhazsKPiArICAgICAgY2FzZSBOT0RF
X0RPVDI6Cj4gKyAgICAgICB1c2VsZXNzID0gIi4uIjsKPiArICAgICAgIGJyZWFrOwo+ICsgICAg
ICBjYXNlIE5PREVfRE9UMzoKPiArICAgICAgIHVzZWxlc3MgPSAiLi4uIjsKPiArICAgICAgIGJy
ZWFrOwo+ICsgICAgICBjYXNlIE5PREVfU0VMRjoKPiArICAgICAgIHVzZWxlc3MgPSAic2VsZiI7
Cj4gKyAgICAgICBicmVhazsKPiArICAgICAgY2FzZSBOT0RFX05JTDoKPiArICAgICAgIHVzZWxl
c3MgPSAibmlsIjsKPiArICAgICAgIGJyZWFrOwo+ICsgICAgICBjYXNlIE5PREVfVFJVRToKPiAr
ICAgICAgIHVzZWxlc3MgPSAidHJ1ZSI7Cj4gKyAgICAgICBicmVhazsKPiArICAgICAgY2FzZSBO
T0RFX0ZBTFNFOgo+ICsgICAgICAgdXNlbGVzcyA9ICJmYWxzZSI7Cj4gKyAgICAgICBicmVhazsK
PiArICAgICAgY2FzZSBOT0RFX0RFRklORUQ6Cj4gKyAgICAgICB1c2VsZXNzID0gImRlZmluZWQ/
IjsKPiArICAgICAgIGJyZWFrOwo+ICsgICAgfQo+ICsKPiArICAgIGlmICh1c2VsZXNzKSB7Cj4g
KyAgICAgICByYl93YXJuMUwobmRfbGluZShub2RlKSwgInBvc3NpYmx5IHVzZWxlc3MgdXNlIG9m
ICVzIGluIHZvaWQgY29udGV4dCIsIFdBUk5fUyh1c2VsZXNzKSk7Cj4gKyAgICB9Cj4gK30KPiAr
Cj4gK3N0YXRpYyBOT0RFICoKPiArdm9pZF9zdG10cyhzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwg
Tk9ERSAqbm9kZSkKPiArewo+ICsgICAgTk9ERSAqY29uc3QgbiA9IG5vZGU7Cj4gKyAgICBpZiAo
IVJURVNUKHJ1YnlfdmVyYm9zZSkpIHJldHVybiBuOwo+ICsgICAgaWYgKCFub2RlKSByZXR1cm4g
bjsKPiArICAgIGlmIChuZF90eXBlKG5vZGUpICE9IE5PREVfQkxPQ0spIHJldHVybiBuOwo+ICsK
PiArICAgIHdoaWxlIChub2RlLT5uZF9uZXh0KSB7Cj4gKyAgICAgICB2b2lkX2V4cHIocCwgbm9k
ZS0+bmRfaGVhZCk7Cj4gKyAgICAgICBub2RlID0gbm9kZS0+bmRfbmV4dDsKPiArICAgIH0KPiAr
ICAgIHJldHVybiBuOwo+ICt9Cj4gKwo+ICtzdGF0aWMgTk9ERSAqCj4gK3JlbW92ZV9iZWdpbihO
T0RFICpub2RlKQo+ICt7Cj4gKyAgICBOT0RFICoqbiA9ICZub2RlLCAqbjEgPSBub2RlOwo+ICsg
ICAgd2hpbGUgKG4xICYmIG5kX3R5cGUobjEpID09IE5PREVfQkVHSU4gJiYgbjEtPm5kX2JvZHkp
IHsKPiArICAgICAgICpuID0gbjEgPSBuMS0+bmRfYm9keTsKPiArICAgIH0KPiArICAgIHJldHVy
biBub2RlOwo+ICt9Cj4gKwo+ICtzdGF0aWMgTk9ERSAqCj4gK3JlbW92ZV9iZWdpbl9hbGwoTk9E
RSAqbm9kZSkKPiArewo+ICsgICAgTk9ERSAqKm4gPSAmbm9kZSwgKm4xID0gbm9kZTsKPiArICAg
IHdoaWxlIChuMSAmJiBuZF90eXBlKG4xKSA9PSBOT0RFX0JFR0lOKSB7Cj4gKyAgICAgICAqbiA9
IG4xID0gbjEtPm5kX2JvZHk7Cj4gKyAgICB9Cj4gKyAgICByZXR1cm4gbm9kZTsKPiArfQo+ICsK
PiArc3RhdGljIHZvaWQKPiArcmVkdWNlX25vZGVzKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBO
T0RFICoqYm9keSkKPiArewo+ICsgICAgTk9ERSAqbm9kZSA9ICpib2R5Owo+ICsKPiArICAgIGlm
ICghbm9kZSkgewo+ICsgICAgICAgKmJvZHkgPSBORVdfTklMKCZOVUxMX0xPQyk7Cj4gKyAgICAg
ICByZXR1cm47Cj4gKyAgICB9Cj4gKyNkZWZpbmUgc3Vibm9kZXMobjEsIG4yKSBcCj4gKyAgICAo
KCFub2RlLT5uMSkgPyAobm9kZS0+bjIgPyAoYm9keSA9ICZub2RlLT5uMiwgMSkgOiAwKSA6IFwK
PiArICAgICAoIW5vZGUtPm4yKSA/IChib2R5ID0gJm5vZGUtPm4xLCAxKSA6IFwKPiArICAgICAo
cmVkdWNlX25vZGVzKHAsICZub2RlLT5uMSksIGJvZHkgPSAmbm9kZS0+bjIsIDEpKQo+ICsKPiAr
ICAgIHdoaWxlIChub2RlKSB7Cj4gKyAgICAgICBpbnQgbmV3bGluZSA9IChpbnQpKG5vZGUtPmZs
YWdzICYgTk9ERV9GTF9ORVdMSU5FKTsKPiArICAgICAgIHN3aXRjaCAobmRfdHlwZShub2RlKSkg
ewo+ICsgICAgICAgICBlbmQ6Cj4gKyAgICAgICAgIGNhc2UgTk9ERV9OSUw6Cj4gKyAgICAgICAg
ICAgKmJvZHkgPSAwOwo+ICsgICAgICAgICAgIHJldHVybjsKPiArICAgICAgICAgY2FzZSBOT0RF
X1JFVFVSTjoKPiArICAgICAgICAgICAqYm9keSA9IG5vZGUgPSBub2RlLT5uZF9zdHRzOwo+ICsg
ICAgICAgICAgIGlmIChuZXdsaW5lICYmIG5vZGUpIG5vZGUtPmZsYWdzIHw9IE5PREVfRkxfTkVX
TElORTsKPiArICAgICAgICAgICBjb250aW51ZTsKPiArICAgICAgICAgY2FzZSBOT0RFX0JFR0lO
Ogo+ICsgICAgICAgICAgICpib2R5ID0gbm9kZSA9IG5vZGUtPm5kX2JvZHk7Cj4gKyAgICAgICAg
ICAgaWYgKG5ld2xpbmUgJiYgbm9kZSkgbm9kZS0+ZmxhZ3MgfD0gTk9ERV9GTF9ORVdMSU5FOwo+
ICsgICAgICAgICAgIGNvbnRpbnVlOwo+ICsgICAgICAgICBjYXNlIE5PREVfQkxPQ0s6Cj4gKyAg
ICAgICAgICAgYm9keSA9ICZub2RlLT5uZF9lbmQtPm5kX2hlYWQ7Cj4gKyAgICAgICAgICAgYnJl
YWs7Cj4gKyAgICAgICAgIGNhc2UgTk9ERV9JRjoKPiArICAgICAgICAgY2FzZSBOT0RFX1VOTEVT
UzoKPiArICAgICAgICAgICBpZiAoc3Vibm9kZXMobmRfYm9keSwgbmRfZWxzZSkpIGJyZWFrOwo+
ICsgICAgICAgICAgIHJldHVybjsKPiArICAgICAgICAgY2FzZSBOT0RFX0NBU0U6Cj4gKyAgICAg
ICAgICAgYm9keSA9ICZub2RlLT5uZF9ib2R5Owo+ICsgICAgICAgICAgIGJyZWFrOwo+ICsgICAg
ICAgICBjYXNlIE5PREVfV0hFTjoKPiArICAgICAgICAgICBpZiAoIXN1Ym5vZGVzKG5kX2JvZHks
IG5kX25leHQpKSBnb3RvIGVuZDsKPiArICAgICAgICAgICBicmVhazsKPiArICAgICAgICAgY2Fz
ZSBOT0RFX0VOU1VSRToKPiArICAgICAgICAgICBpZiAoIXN1Ym5vZGVzKG5kX2hlYWQsIG5kX3Jl
c3EpKSBnb3RvIGVuZDsKPiArICAgICAgICAgICBicmVhazsKPiArICAgICAgICAgY2FzZSBOT0RF
X1JFU0NVRToKPiArICAgICAgICAgICBpZiAobm9kZS0+bmRfZWxzZSkgewo+ICsgICAgICAgICAg
ICAgICBib2R5ID0gJm5vZGUtPm5kX3Jlc3E7Cj4gKyAgICAgICAgICAgICAgIGJyZWFrOwo+ICsg
ICAgICAgICAgIH0KPiArICAgICAgICAgICBpZiAoIXN1Ym5vZGVzKG5kX2hlYWQsIG5kX3Jlc3Ep
KSBnb3RvIGVuZDsKPiArICAgICAgICAgICBicmVhazsKPiArICAgICAgICAgZGVmYXVsdDoKPiAr
ICAgICAgICAgICByZXR1cm47Cj4gKyAgICAgICB9Cj4gKyAgICAgICBub2RlID0gKmJvZHk7Cj4g
KyAgICAgICBpZiAobmV3bGluZSAmJiBub2RlKSBub2RlLT5mbGFncyB8PSBOT0RFX0ZMX05FV0xJ
TkU7Cj4gKyAgICB9Cj4gKwo+ICsjdW5kZWYgc3Vibm9kZXMKPiArfQo+ICsKPiArc3RhdGljIGlu
dAo+ICtpc19zdGF0aWNfY29udGVudChOT0RFICpub2RlKQo+ICt7Cj4gKyAgICBpZiAoIW5vZGUp
IHJldHVybiAxOwo+ICsgICAgc3dpdGNoIChuZF90eXBlKG5vZGUpKSB7Cj4gKyAgICAgIGNhc2Ug
Tk9ERV9IQVNIOgo+ICsgICAgICAgaWYgKCEobm9kZSA9IG5vZGUtPm5kX2hlYWQpKSBicmVhazsK
PiArICAgICAgY2FzZSBOT0RFX0FSUkFZOgo+ICsgICAgICAgZG8gewo+ICsgICAgICAgICAgIGlm
ICghaXNfc3RhdGljX2NvbnRlbnQobm9kZS0+bmRfaGVhZCkpIHJldHVybiAwOwo+ICsgICAgICAg
fSB3aGlsZSAoKG5vZGUgPSBub2RlLT5uZF9uZXh0KSAhPSAwKTsKPiArICAgICAgY2FzZSBOT0RF
X0xJVDoKPiArICAgICAgY2FzZSBOT0RFX1NUUjoKPiArICAgICAgY2FzZSBOT0RFX05JTDoKPiAr
ICAgICAgY2FzZSBOT0RFX1RSVUU6Cj4gKyAgICAgIGNhc2UgTk9ERV9GQUxTRToKPiArICAgICAg
Y2FzZSBOT0RFX1pBUlJBWToKPiArICAgICAgIGJyZWFrOwo+ICsgICAgICBkZWZhdWx0Ogo+ICsg
ICAgICAgcmV0dXJuIDA7Cj4gKyAgICB9Cj4gKyAgICByZXR1cm4gMTsKPiArfQo+ICsKPiArc3Rh
dGljIGludAo+ICthc3NpZ25faW5fY29uZChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgTk9ERSAq
bm9kZSkKPiArewo+ICsgICAgc3dpdGNoIChuZF90eXBlKG5vZGUpKSB7Cj4gKyAgICAgIGNhc2Ug
Tk9ERV9NQVNHTjoKPiArICAgICAgY2FzZSBOT0RFX0xBU0dOOgo+ICsgICAgICBjYXNlIE5PREVf
REFTR046Cj4gKyAgICAgIGNhc2UgTk9ERV9EQVNHTl9DVVJSOgo+ICsgICAgICBjYXNlIE5PREVf
R0FTR046Cj4gKyAgICAgIGNhc2UgTk9ERV9JQVNHTjoKPiArICAgICAgIGJyZWFrOwo+ICsKPiAr
ICAgICAgZGVmYXVsdDoKPiArICAgICAgIHJldHVybiAwOwo+ICsgICAgfQo+ICsKPiArICAgIGlm
ICghbm9kZS0+bmRfdmFsdWUpIHJldHVybiAxOwo+ICsgICAgaWYgKGlzX3N0YXRpY19jb250ZW50
KG5vZGUtPm5kX3ZhbHVlKSkgewo+ICsgICAgICAgLyogcmVwb3J0cyBhbHdheXMgKi8KPiArICAg
ICAgIHBhcnNlcl93YXJuKHAsIG5vZGUtPm5kX3ZhbHVlLCAiZm91bmQgYD0gbGl0ZXJhbCcgaW4g
Y29uZGl0aW9uYWwsIHNob3VsZCBiZSA9PSIpOwo+ICsgICAgfQo+ICsgICAgcmV0dXJuIDE7Cj4g
K30KPiArCj4gK3N0YXRpYyB2b2lkCj4gK3dhcm5fdW5sZXNzX2Vfb3B0aW9uKHN0cnVjdCBwYXJz
ZXJfcGFyYW1zICpwLCBOT0RFICpub2RlLCBjb25zdCBjaGFyICpzdHIpCj4gK3sKPiArICAgIGlm
ICghZV9vcHRpb25fc3VwcGxpZWQocCkpIHBhcnNlcl93YXJuKHAsIG5vZGUsIHN0cik7Cj4gK30K
PiArCj4gK3N0YXRpYyB2b2lkCj4gK3dhcm5pbmdfdW5sZXNzX2Vfb3B0aW9uKHN0cnVjdCBwYXJz
ZXJfcGFyYW1zICpwLCBOT0RFICpub2RlLCBjb25zdCBjaGFyICpzdHIpCj4gK3sKPiArICAgIGlm
ICghZV9vcHRpb25fc3VwcGxpZWQocCkpIHBhcnNlcl93YXJuaW5nKHAsIG5vZGUsIHN0cik7Cj4g
K30KPiArCj4gK3N0YXRpYyBOT0RFICpjb25kMChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyosTk9ERSos
aW50LGNvbnN0IFlZTFRZUEUqKTsKPiArCj4gK3N0YXRpYyBOT0RFKgo+ICtyYW5nZV9vcChzdHJ1
Y3QgcGFyc2VyX3BhcmFtcyAqcCwgTk9ERSAqbm9kZSwgY29uc3QgWVlMVFlQRSAqbG9jKQo+ICt7
Cj4gKyAgICBlbnVtIG5vZGVfdHlwZSB0eXBlOwo+ICsKPiArICAgIGlmIChub2RlID09IDApIHJl
dHVybiAwOwo+ICsKPiArICAgIHR5cGUgPSBuZF90eXBlKG5vZGUpOwo+ICsgICAgdmFsdWVfZXhw
cihub2RlKTsKPiArICAgIGlmICh0eXBlID09IE5PREVfTElUICYmIEZJWE5VTV9QKG5vZGUtPm5k
X2xpdCkpIHsKPiArICAgICAgIHdhcm5fdW5sZXNzX2Vfb3B0aW9uKHAsIG5vZGUsICJpbnRlZ2Vy
IGxpdGVyYWwgaW4gY29uZGl0aW9uYWwgcmFuZ2UiKTsKPiArICAgICAgIHJldHVybiBORVdfQ0FM
TChub2RlLCB0RVEsIE5FV19MSVNUKE5FV19HVkFSKHJiX2ludGVybigiJC4iKSwgbG9jKSwgbG9j
KSwgbG9jKTsKPiArICAgIH0KPiArICAgIHJldHVybiBjb25kMChwLCBub2RlLCBGQUxTRSwgbG9j
KTsKPiArfQo+ICsKPiArc3RhdGljIGludAo+ICtsaXRlcmFsX25vZGUoTk9ERSAqbm9kZSkKPiAr
ewo+ICsgICAgaWYgKCFub2RlKSByZXR1cm4gMTsgICAgICAgLyogc2FtZSBhcyBOT0RFX05JTCAq
Lwo+ICsgICAgaWYgKCEobm9kZSA9IG5kX29uY2VfYm9keShub2RlKSkpIHJldHVybiAxOwo+ICsg
ICAgc3dpdGNoIChuZF90eXBlKG5vZGUpKSB7Cj4gKyAgICAgIGNhc2UgTk9ERV9MSVQ6Cj4gKyAg
ICAgIGNhc2UgTk9ERV9TVFI6Cj4gKyAgICAgIGNhc2UgTk9ERV9EU1RSOgo+ICsgICAgICBjYXNl
IE5PREVfRVZTVFI6Cj4gKyAgICAgIGNhc2UgTk9ERV9EUkVHWDoKPiArICAgICAgY2FzZSBOT0RF
X0RTWU06Cj4gKyAgICAgICByZXR1cm4gMjsKPiArICAgICAgY2FzZSBOT0RFX1RSVUU6Cj4gKyAg
ICAgIGNhc2UgTk9ERV9GQUxTRToKPiArICAgICAgY2FzZSBOT0RFX05JTDoKPiArICAgICAgIHJl
dHVybiAxOwo+ICsgICAgfQo+ICsgICAgcmV0dXJuIDA7Cj4gK30KPiArCj4gK3N0YXRpYyBOT0RF
Kgo+ICtjb25kMChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgTk9ERSAqbm9kZSwgaW50IG1ldGhv
ZF9vcCwgY29uc3QgWVlMVFlQRSAqbG9jKQo+ICt7Cj4gKyAgICBpZiAobm9kZSA9PSAwKSByZXR1
cm4gMDsKPiArICAgIGlmICghKG5vZGUgPSBuZF9vbmNlX2JvZHkobm9kZSkpKSByZXR1cm4gMDsK
PiArICAgIGFzc2lnbl9pbl9jb25kKHAsIG5vZGUpOwo+ICsKPiArICAgIHN3aXRjaCAobmRfdHlw
ZShub2RlKSkgewo+ICsgICAgICBjYXNlIE5PREVfRFNUUjoKPiArICAgICAgY2FzZSBOT0RFX0VW
U1RSOgo+ICsgICAgICBjYXNlIE5PREVfU1RSOgo+ICsgICAgICAgaWYgKCFtZXRob2Rfb3ApIHJi
X3dhcm4wKCJzdHJpbmcgbGl0ZXJhbCBpbiBjb25kaXRpb24iKTsKPiArICAgICAgIGJyZWFrOwo+
ICsKPiArICAgICAgY2FzZSBOT0RFX0RSRUdYOgo+ICsgICAgICAgewo+ICsgICAgICAgICAgIGlm
ICghbWV0aG9kX29wKQo+ICsgICAgICAgICAgICAgICB3YXJuaW5nX3VubGVzc19lX29wdGlvbihw
LCBub2RlLCAicmVnZXggbGl0ZXJhbCBpbiBjb25kaXRpb24iKTsKPiArCj4gKyAgICAgICAgICAg
cmV0dXJuIE5FV19NQVRDSDIobm9kZSwgTkVXX0dWQVIoaWRMQVNUTElORSwgbG9jKSwgbG9jKTsK
PiArICAgICAgIH0KPiArCj4gKyAgICAgIGNhc2UgTk9ERV9BTkQ6Cj4gKyAgICAgIGNhc2UgTk9E
RV9PUjoKPiArICAgICAgIG5vZGUtPm5kXzFzdCA9IGNvbmQwKHAsIG5vZGUtPm5kXzFzdCwgRkFM
U0UsIGxvYyk7Cj4gKyAgICAgICBub2RlLT5uZF8ybmQgPSBjb25kMChwLCBub2RlLT5uZF8ybmQs
IEZBTFNFLCBsb2MpOwo+ICsgICAgICAgYnJlYWs7Cj4gKwo+ICsgICAgICBjYXNlIE5PREVfRE9U
MjoKPiArICAgICAgY2FzZSBOT0RFX0RPVDM6Cj4gKyAgICAgICBub2RlLT5uZF9iZWcgPSByYW5n
ZV9vcChwLCBub2RlLT5uZF9iZWcsIGxvYyk7Cj4gKyAgICAgICBub2RlLT5uZF9lbmQgPSByYW5n
ZV9vcChwLCBub2RlLT5uZF9lbmQsIGxvYyk7Cj4gKyAgICAgICBpZiAobmRfdHlwZShub2RlKSA9
PSBOT0RFX0RPVDIpIG5kX3NldF90eXBlKG5vZGUsTk9ERV9GTElQMik7Cj4gKyAgICAgICBlbHNl
IGlmIChuZF90eXBlKG5vZGUpID09IE5PREVfRE9UMykgbmRfc2V0X3R5cGUobm9kZSwgTk9ERV9G
TElQMyk7Cj4gKyAgICAgICBpZiAoIW1ldGhvZF9vcCAmJiAhZV9vcHRpb25fc3VwcGxpZWQocCkp
IHsKPiArICAgICAgICAgICBpbnQgYiA9IGxpdGVyYWxfbm9kZShub2RlLT5uZF9iZWcpOwo+ICsg
ICAgICAgICAgIGludCBlID0gbGl0ZXJhbF9ub2RlKG5vZGUtPm5kX2VuZCk7Cj4gKyAgICAgICAg
ICAgaWYgKChiID09IDEgJiYgZSA9PSAxKSB8fCAoYiArIGUgPj0gMiAmJiBSVEVTVChydWJ5X3Zl
cmJvc2UpKSkgewo+ICsgICAgICAgICAgICAgICBwYXJzZXJfd2FybihwLCBub2RlLCAicmFuZ2Ug
bGl0ZXJhbCBpbiBjb25kaXRpb24iKTsKPiArICAgICAgICAgICB9Cj4gKyAgICAgICB9Cj4gKyAg
ICAgICBicmVhazsKPiArCj4gKyAgICAgIGNhc2UgTk9ERV9EU1lNOgo+ICsgICAgICAgaWYgKCFt
ZXRob2Rfb3ApIHBhcnNlcl93YXJuaW5nKHAsIG5vZGUsICJsaXRlcmFsIGluIGNvbmRpdGlvbiIp
Owo+ICsgICAgICAgYnJlYWs7Cj4gKwo+ICsgICAgICBjYXNlIE5PREVfTElUOgo+ICsgICAgICAg
aWYgKFJCX1RZUEVfUChub2RlLT5uZF9saXQsIFRfUkVHRVhQKSkgewo+ICsgICAgICAgICAgIGlm
ICghbWV0aG9kX29wKQo+ICsgICAgICAgICAgICAgICB3YXJuX3VubGVzc19lX29wdGlvbihwLCBu
b2RlLCAicmVnZXggbGl0ZXJhbCBpbiBjb25kaXRpb24iKTsKPiArICAgICAgICAgICBuZF9zZXRf
dHlwZShub2RlLCBOT0RFX01BVENIKTsKPiArICAgICAgIH0KPiArICAgICAgIGVsc2UgaWYgKG5v
ZGUtPm5kX2xpdCA9PSBRdHJ1ZSB8fAo+ICsgICAgICAgICAgICAgICAgbm9kZS0+bmRfbGl0ID09
IFFmYWxzZSkgewo+ICsgICAgICAgICAgIC8qIGJvb2xlYW5zIGFyZSBPSywgZS5nLiwgd2hpbGUg
dHJ1ZSAqLwo+ICsgICAgICAgfQo+ICsgICAgICAgZWxzZSB7Cj4gKyAgICAgICAgICAgaWYgKCFt
ZXRob2Rfb3ApCj4gKyAgICAgICAgICAgICAgIHBhcnNlcl93YXJuaW5nKHAsIG5vZGUsICJsaXRl
cmFsIGluIGNvbmRpdGlvbiIpOwo+ICsgICAgICAgfQo+ICsgICAgICBkZWZhdWx0Ogo+ICsgICAg
ICAgYnJlYWs7Cj4gKyAgICB9Cj4gKyAgICByZXR1cm4gbm9kZTsKPiArfQo+ICsKPiArc3RhdGlj
IE5PREUqCj4gK2NvbmQoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIE5PREUgKm5vZGUsIGNvbnN0
IFlZTFRZUEUgKmxvYykKPiArewo+ICsgICAgaWYgKG5vZGUgPT0gMCkgcmV0dXJuIDA7Cj4gKyAg
ICByZXR1cm4gY29uZDAocCwgbm9kZSwgRkFMU0UsIGxvYyk7Cj4gK30KPiArCj4gK3N0YXRpYyBO
T0RFKgo+ICttZXRob2RfY29uZChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgTk9ERSAqbm9kZSwg
Y29uc3QgWVlMVFlQRSAqbG9jKQo+ICt7Cj4gKyAgICBpZiAobm9kZSA9PSAwKSByZXR1cm4gMDsK
PiArICAgIHJldHVybiBjb25kMChwLCBub2RlLCBUUlVFLCBsb2MpOwo+ICt9Cj4gKwo+ICtzdGF0
aWMgTk9ERSoKPiArbmV3X2lmKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBOT0RFICpjYywgTk9E
RSAqbGVmdCwgTk9ERSAqcmlnaHQsIGNvbnN0IFlZTFRZUEUgKmxvYykKPiArewo+ICsgICAgaWYg
KCFjYykgcmV0dXJuIHJpZ2h0Owo+ICsgICAgY2MgPSBjb25kMChwLCBjYywgRkFMU0UsIGxvYyk7
Cj4gKyAgICByZXR1cm4gbmV3bGluZV9ub2RlKE5FV19JRihjYywgbGVmdCwgcmlnaHQsIGxvYykp
Owo+ICt9Cj4gKwo+ICtzdGF0aWMgTk9ERSoKPiArbmV3X3VubGVzcyhzdHJ1Y3QgcGFyc2VyX3Bh
cmFtcyAqcCwgTk9ERSAqY2MsIE5PREUgKmxlZnQsIE5PREUgKnJpZ2h0LCBjb25zdCBZWUxUWVBF
ICpsb2MpCj4gK3sKPiArICAgIGlmICghY2MpIHJldHVybiByaWdodDsKPiArICAgIGNjID0gY29u
ZDAocCwgY2MsIEZBTFNFLCBsb2MpOwo+ICsgICAgcmV0dXJuIG5ld2xpbmVfbm9kZShORVdfVU5M
RVNTKGNjLCBsZWZ0LCByaWdodCwgbG9jKSk7Cj4gK30KPiArCj4gK3N0YXRpYyBOT0RFKgo+ICts
b2dvcChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgSUQgaWQsIE5PREUgKmxlZnQsIE5PREUgKnJp
Z2h0LAo+ICsgICAgICAgICBjb25zdCBZWUxUWVBFICpvcF9sb2MsIGNvbnN0IFlZTFRZUEUgKmxv
YykKPiArewo+ICsgICAgZW51bSBub2RlX3R5cGUgdHlwZSA9IGlkID09IGlkQU5EIHx8IGlkID09
IGlkQU5ET1AgPyBOT0RFX0FORCA6IE5PREVfT1I7Cj4gKyAgICBOT0RFICpvcDsKPiArICAgIHZh
bHVlX2V4cHIobGVmdCk7Cj4gKyAgICBpZiAobGVmdCAmJiAoZW51bSBub2RlX3R5cGUpbmRfdHlw
ZShsZWZ0KSA9PSB0eXBlKSB7Cj4gKyAgICAgICBOT0RFICpub2RlID0gbGVmdCwgKnNlY29uZDsK
PiArICAgICAgIHdoaWxlICgoc2Vjb25kID0gbm9kZS0+bmRfMm5kKSAhPSAwICYmIChlbnVtIG5v
ZGVfdHlwZSluZF90eXBlKHNlY29uZCkgPT0gdHlwZSkgewo+ICsgICAgICAgICAgIG5vZGUgPSBz
ZWNvbmQ7Cj4gKyAgICAgICB9Cj4gKyAgICAgICBub2RlLT5uZF8ybmQgPSBORVdfTk9ERSh0eXBl
LCBzZWNvbmQsIHJpZ2h0LCAwLCBsb2MpOwo+ICsgICAgICAgbmRfc2V0X2xpbmUobm9kZS0+bmRf
Mm5kLCBvcF9sb2MtPmJlZ19wb3MubGluZW5vKTsKPiArICAgICAgIGxlZnQtPm5kX2xvYy5lbmRf
cG9zID0gbG9jLT5lbmRfcG9zOwo+ICsgICAgICAgcmV0dXJuIGxlZnQ7Cj4gKyAgICB9Cj4gKyAg
ICBvcCA9IE5FV19OT0RFKHR5cGUsIGxlZnQsIHJpZ2h0LCAwLCBsb2MpOwo+ICsgICAgbmRfc2V0
X2xpbmUob3AsIG9wX2xvYy0+YmVnX3Bvcy5saW5lbm8pOwo+ICsgICAgcmV0dXJuIG9wOwo+ICt9
Cj4gKwo+ICtzdGF0aWMgdm9pZAo+ICtub19ibG9ja2FyZyhzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAq
cCwgTk9ERSAqbm9kZSkKPiArewo+ICsgICAgaWYgKG5vZGUgJiYgbmRfdHlwZShub2RlKSA9PSBO
T0RFX0JMT0NLX1BBU1MpIHsKPiArICAgICAgIGNvbXBpbGVfZXJyb3IocCwgImJsb2NrIGFyZ3Vt
ZW50IHNob3VsZCBub3QgYmUgZ2l2ZW4iKTsKPiArICAgIH0KPiArfQo+ICsKPiArc3RhdGljIE5P
REUgKgo+ICtyZXRfYXJncyhzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgTk9ERSAqbm9kZSkKPiAr
ewo+ICsgICAgaWYgKG5vZGUpIHsKPiArICAgICAgIG5vX2Jsb2NrYXJnKHAsIG5vZGUpOwo+ICsg
ICAgICAgaWYgKG5kX3R5cGUobm9kZSkgPT0gTk9ERV9BUlJBWSkgewo+ICsgICAgICAgICAgIGlm
IChub2RlLT5uZF9uZXh0ID09IDApIHsKPiArICAgICAgICAgICAgICAgbm9kZSA9IG5vZGUtPm5k
X2hlYWQ7Cj4gKyAgICAgICAgICAgfQo+ICsgICAgICAgICAgIGVsc2Ugewo+ICsgICAgICAgICAg
ICAgICBuZF9zZXRfdHlwZShub2RlLCBOT0RFX1ZBTFVFUyk7Cj4gKyAgICAgICAgICAgfQo+ICsg
ICAgICAgfQo+ICsgICAgfQo+ICsgICAgcmV0dXJuIG5vZGU7Cj4gK30KPiArCj4gK3N0YXRpYyBO
T0RFICoKPiArbmV3X3lpZWxkKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBOT0RFICpub2RlLCBj
b25zdCBZWUxUWVBFICpsb2MpCj4gK3sKPiArICAgIGlmIChub2RlKSBub19ibG9ja2FyZyhwLCBu
b2RlKTsKPiArCj4gKyAgICByZXR1cm4gTkVXX1lJRUxEKG5vZGUsIGxvYyk7Cj4gK30KPiArCj4g
K3N0YXRpYyBWQUxVRQo+ICtuZWdhdGVfbGl0KHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBWQUxV
RSBsaXQpCj4gK3sKPiArICAgIGlmIChGSVhOVU1fUChsaXQpKSB7Cj4gKyAgICAgICByZXR1cm4g
TE9ORzJGSVgoLUZJWDJMT05HKGxpdCkpOwo+ICsgICAgfQo+ICsgICAgaWYgKFNQRUNJQUxfQ09O
U1RfUChsaXQpKSB7Cj4gKyNpZiBVU0VfRkxPTlVNCj4gKyAgICAgICBpZiAoRkxPTlVNX1AobGl0
KSkgewo+ICsgICAgICAgICAgIHJldHVybiBEQkwyTlVNKC1SRkxPQVRfVkFMVUUobGl0KSk7Cj4g
KyAgICAgICB9Cj4gKyNlbmRpZgo+ICsgICAgICAgZ290byB1bmtub3duOwo+ICsgICAgfQo+ICsg
ICAgc3dpdGNoIChCVUlMVElOX1RZUEUobGl0KSkgewo+ICsgICAgICBjYXNlIFRfQklHTlVNOgo+
ICsgICAgICAgQklHTlVNX05FR0FURShsaXQpOwo+ICsgICAgICAgbGl0ID0gcmJfYmlnX25vcm0o
bGl0KTsKPiArICAgICAgIGJyZWFrOwo+ICsgICAgICBjYXNlIFRfUkFUSU9OQUw6Cj4gKyAgICAg
ICBSUkFUSU9OQUxfU0VUX05VTShsaXQsIG5lZ2F0ZV9saXQocCwgUlJBVElPTkFMKGxpdCktPm51
bSkpOwo+ICsgICAgICAgYnJlYWs7Cj4gKyAgICAgIGNhc2UgVF9DT01QTEVYOgo+ICsgICAgICAg
UkNPTVBMRVhfU0VUX1JFQUwobGl0LCBuZWdhdGVfbGl0KHAsIFJDT01QTEVYKGxpdCktPnJlYWwp
KTsKPiArICAgICAgIFJDT01QTEVYX1NFVF9JTUFHKGxpdCwgbmVnYXRlX2xpdChwLCBSQ09NUExF
WChsaXQpLT5pbWFnKSk7Cj4gKyAgICAgICBicmVhazsKPiArICAgICAgY2FzZSBUX0ZMT0FUOgo+
ICsgICAgICAgUkZMT0FUKGxpdCktPmZsb2F0X3ZhbHVlID0gLVJGTE9BVF9WQUxVRShsaXQpOwo+
ICsgICAgICAgYnJlYWs7Cj4gKyAgICAgIHVua25vd246Cj4gKyAgICAgIGRlZmF1bHQ6Cj4gKyAg
ICAgICByYl9wYXJzZXJfZmF0YWwocCwgInVua25vd24gbGl0ZXJhbCB0eXBlICglcykgcGFzc2Vk
IHRvIG5lZ2F0ZV9saXQiLAo+ICsgICAgICAgICAgICAgICAgICAgICAgIHJiX2J1aWx0aW5fY2xh
c3NfbmFtZShsaXQpKTsKPiArICAgICAgIGJyZWFrOwo+ICsgICAgfQo+ICsgICAgcmV0dXJuIGxp
dDsKPiArfQo+ICsKPiArc3RhdGljIE5PREUgKgo+ICthcmdfYmxrX3Bhc3MoTk9ERSAqbm9kZTEs
IE5PREUgKm5vZGUyKQo+ICt7Cj4gKyAgICBpZiAobm9kZTIpIHsKPiArICAgICAgICBpZiAoIW5v
ZGUxKSByZXR1cm4gbm9kZTI7Cj4gKyAgICAgICBub2RlMi0+bmRfaGVhZCA9IG5vZGUxOwo+ICsg
ICAgICAgbmRfc2V0X2ZpcnN0X2xpbmVubyhub2RlMiwgbmRfZmlyc3RfbGluZW5vKG5vZGUxKSk7
Cj4gKyAgICAgICBuZF9zZXRfZmlyc3RfY29sdW1uKG5vZGUyLCBuZF9maXJzdF9jb2x1bW4obm9k
ZTEpKTsKPiArICAgICAgIHJldHVybiBub2RlMjsKPiArICAgIH0KPiArICAgIHJldHVybiBub2Rl
MTsKPiArfQo+ICsKPiArCj4gK3N0YXRpYyBOT0RFKgo+ICtuZXdfYXJncyhzdHJ1Y3QgcGFyc2Vy
X3BhcmFtcyAqcCwgTk9ERSAqcHJlX2FyZ3MsIE5PREUgKm9wdF9hcmdzLCBJRCByZXN0X2FyZywg
Tk9ERSAqcG9zdF9hcmdzLCBOT0RFICp0YWlsLCBjb25zdCBZWUxUWVBFICpsb2MpCj4gK3sKPiAr
ICAgIGludCBzYXZlZF9saW5lID0gcC0+cnVieV9zb3VyY2VsaW5lOwo+ICsgICAgc3RydWN0IHJi
X2FyZ3NfaW5mbyAqYXJncyA9IHRhaWwtPm5kX2FpbmZvOwo+ICsKPiArICAgIGFyZ3MtPnByZV9h
cmdzX251bSAgID0gcHJlX2FyZ3MgPyByYl9sb25nMmludChwcmVfYXJncy0+bmRfcGxlbikgOiAw
Owo+ICsgICAgYXJncy0+cHJlX2luaXQgICAgICAgPSBwcmVfYXJncyA/IHByZV9hcmdzLT5uZF9u
ZXh0IDogMDsKPiArCj4gKyAgICBhcmdzLT5wb3N0X2FyZ3NfbnVtICA9IHBvc3RfYXJncyA/IHJi
X2xvbmcyaW50KHBvc3RfYXJncy0+bmRfcGxlbikgOiAwOwo+ICsgICAgYXJncy0+cG9zdF9pbml0
ICAgICAgPSBwb3N0X2FyZ3MgPyBwb3N0X2FyZ3MtPm5kX25leHQgOiAwOwo+ICsgICAgYXJncy0+
Zmlyc3RfcG9zdF9hcmcgPSBwb3N0X2FyZ3MgPyBwb3N0X2FyZ3MtPm5kX3BpZCA6IDA7Cj4gKwo+
ICsgICAgYXJncy0+cmVzdF9hcmcgICAgICAgPSByZXN0X2FyZzsKPiArCj4gKyAgICBhcmdzLT5v
cHRfYXJncyAgICAgICA9IG9wdF9hcmdzOwo+ICsKPiArICAgIHAtPnJ1Ynlfc291cmNlbGluZSA9
IHNhdmVkX2xpbmU7Cj4gKyAgICBuZF9zZXRfbG9jKHRhaWwsIGxvYyk7Cj4gKwo+ICsgICAgcmV0
dXJuIHRhaWw7Cj4gK30KPiArCj4gK3N0YXRpYyBOT0RFKgo+ICtuZXdfYXJnc190YWlsKHN0cnVj
dCBwYXJzZXJfcGFyYW1zICpwLCBOT0RFICprd19hcmdzLCBJRCBrd19yZXN0X2FyZywgSUQgYmxv
Y2ssIGNvbnN0IFlZTFRZUEUgKmxvYykKPiArewo+ICsgICAgaW50IHNhdmVkX2xpbmUgPSBwLT5y
dWJ5X3NvdXJjZWxpbmU7Cj4gKyAgICBzdHJ1Y3QgcmJfYXJnc19pbmZvICphcmdzOwo+ICsgICAg
Tk9ERSAqbm9kZTsKPiArICAgIHJiX2ltZW1vX3RtcGJ1Zl90ICp0bXBidWYgPSBuZXdfdG1wYnVm
KCk7Cj4gKwo+ICsgICAgYXJncyA9IFpBTExPQyhzdHJ1Y3QgcmJfYXJnc19pbmZvKTsKPiArICAg
IHRtcGJ1Zi0+cHRyID0gKFZBTFVFICopYXJnczsKPiArICAgIG5vZGUgPSBORVdfTk9ERShOT0RF
X0FSR1MsIDAsIDAsIGFyZ3MsICZOVUxMX0xPQyk7Cj4gKyAgICBpZiAocC0+ZXJyb3JfcCkgcmV0
dXJuIG5vZGU7Cj4gKwo+ICsgICAgYXJncy0+YmxvY2tfYXJnICAgICAgPSBibG9jazsKPiArICAg
IGFyZ3MtPmt3X2FyZ3MgICAgICAgID0ga3dfYXJnczsKPiArCj4gKyAgICBpZiAoa3dfYXJncykg
ewo+ICsgICAgICAgLyoKPiArICAgICAgICAqIGRlZiBmb28oazE6IDEsIGtyMTosIGsyOiAyLCAq
KmtyZXN0LCAmYikKPiArICAgICAgICAqIHZhcmlhYmxlIG9yZGVyOiBrMSwga3IxLCBrMiwgJmIs
IGludGVybmFsX2lkLCBrcmVzdAo+ICsgICAgICAgICogIz0+IDxyZW9yZGVyPgo+ICsgICAgICAg
ICogdmFyaWFibGUgb3JkZXI6IGtyMSwgazEsIGsyLCBpbnRlcm5hbF9pZCwga3Jlc3QsICZiCj4g
KyAgICAgICAgKi8KPiArICAgICAgIElEIGt3X2JpdHMgPSBpbnRlcm5hbF9pZChwKSwgKnJlcXVp
cmVkX2t3X3ZhcnMsICprd192YXJzOwo+ICsgICAgICAgc3RydWN0IHZ0YWJsZSAqdnRhcmdzID0g
cC0+bHZ0YmwtPmFyZ3M7Cj4gKyAgICAgICBOT0RFICprd24gPSBrd19hcmdzOwo+ICsKPiArICAg
ICAgIHZ0YWJsZV9wb3AodnRhcmdzLCAhIWJsb2NrICsgISFrd19yZXN0X2FyZyk7Cj4gKyAgICAg
ICByZXF1aXJlZF9rd192YXJzID0ga3dfdmFycyA9ICZ2dGFyZ3MtPnRibFt2dGFyZ3MtPnBvc107
Cj4gKyAgICAgICB3aGlsZSAoa3duKSB7Cj4gKyAgICAgICAgICAgaWYgKCFOT0RFX1JFUVVJUkVE
X0tFWVdPUkRfUChrd24tPm5kX2JvZHkpKQo+ICsgICAgICAgICAgICAgICAtLWt3X3ZhcnM7Cj4g
KyAgICAgICAgICAgLS1yZXF1aXJlZF9rd192YXJzOwo+ICsgICAgICAgICAgIGt3biA9IGt3bi0+
bmRfbmV4dDsKPiArICAgICAgIH0KPiArCj4gKyAgICAgICBmb3IgKGt3biA9IGt3X2FyZ3M7IGt3
bjsga3duID0ga3duLT5uZF9uZXh0KSB7Cj4gKyAgICAgICAgICAgSUQgdmlkID0ga3duLT5uZF9i
b2R5LT5uZF92aWQ7Cj4gKyAgICAgICAgICAgaWYgKE5PREVfUkVRVUlSRURfS0VZV09SRF9QKGt3
bi0+bmRfYm9keSkpIHsKPiArICAgICAgICAgICAgICAgKnJlcXVpcmVkX2t3X3ZhcnMrKyA9IHZp
ZDsKPiArICAgICAgICAgICB9Cj4gKyAgICAgICAgICAgZWxzZSB7Cj4gKyAgICAgICAgICAgICAg
ICprd192YXJzKysgPSB2aWQ7Cj4gKyAgICAgICAgICAgfQo+ICsgICAgICAgfQo+ICsKPiArICAg
ICAgIGFyZ192YXIocCwga3dfYml0cyk7Cj4gKyAgICAgICBpZiAoa3dfcmVzdF9hcmcpIGFyZ192
YXIocCwga3dfcmVzdF9hcmcpOwo+ICsgICAgICAgaWYgKGJsb2NrKSBhcmdfdmFyKHAsIGJsb2Nr
KTsKPiArCj4gKyAgICAgICBhcmdzLT5rd19yZXN0X2FyZyA9IE5FV19EVkFSKGt3X3Jlc3RfYXJn
LCBsb2MpOwo+ICsgICAgICAgYXJncy0+a3dfcmVzdF9hcmctPm5kX2NmbGFnID0ga3dfYml0czsK
PiArICAgIH0KPiArICAgIGVsc2UgaWYgKGt3X3Jlc3RfYXJnKSB7Cj4gKyAgICAgICBhcmdzLT5r
d19yZXN0X2FyZyA9IE5FV19EVkFSKGt3X3Jlc3RfYXJnLCBsb2MpOwo+ICsgICAgfQo+ICsKPiAr
ICAgIHAtPnJ1Ynlfc291cmNlbGluZSA9IHNhdmVkX2xpbmU7Cj4gKyAgICByZXR1cm4gbm9kZTsK
PiArfQo+ICsKPiArc3RhdGljIE5PREUqCj4gK2RzeW1fbm9kZShzdHJ1Y3QgcGFyc2VyX3BhcmFt
cyAqcCwgTk9ERSAqbm9kZSwgY29uc3QgWVlMVFlQRSAqbG9jKQo+ICt7Cj4gKyAgICBWQUxVRSBs
aXQ7Cj4gKwo+ICsgICAgaWYgKCFub2RlKSB7Cj4gKyAgICAgICByZXR1cm4gTkVXX0xJVChJRDJT
WU0oaWROVUxMKSwgbG9jKTsKPiArICAgIH0KPiArCj4gKyAgICBzd2l0Y2ggKG5kX3R5cGUobm9k
ZSkpIHsKPiArICAgICAgY2FzZSBOT0RFX0RTVFI6Cj4gKyAgICAgICBuZF9zZXRfdHlwZShub2Rl
LCBOT0RFX0RTWU0pOwo+ICsgICAgICAgbmRfc2V0X2xvYyhub2RlLCBsb2MpOwo+ICsgICAgICAg
YnJlYWs7Cj4gKyAgICAgIGNhc2UgTk9ERV9TVFI6Cj4gKyAgICAgICBsaXQgPSBub2RlLT5uZF9s
aXQ7Cj4gKyAgICAgICBhZGRfbWFya19vYmplY3QocCwgbm9kZS0+bmRfbGl0ID0gSUQyU1lNKHJi
X2ludGVybl9zdHIobGl0KSkpOwo+ICsgICAgICAgbmRfc2V0X3R5cGUobm9kZSwgTk9ERV9MSVQp
Owo+ICsgICAgICAgbmRfc2V0X2xvYyhub2RlLCBsb2MpOwo+ICsgICAgICAgYnJlYWs7Cj4gKyAg
ICAgIGRlZmF1bHQ6Cj4gKyAgICAgICBub2RlID0gTkVXX05PREUoTk9ERV9EU1lNLCBRbmlsLCAx
LCBORVdfTElTVChub2RlLCBsb2MpLCBsb2MpOwo+ICsgICAgICAgYnJlYWs7Cj4gKyAgICB9Cj4g
KyAgICByZXR1cm4gbm9kZTsKPiArfQo+ICsKPiArc3RhdGljIGludAo+ICthcHBlbmRfbGl0ZXJh
bF9rZXlzKHN0X2RhdGFfdCBrLCBzdF9kYXRhX3Qgdiwgc3RfZGF0YV90IGgpCj4gK3sKPiArICAg
IE5PREUgKm5vZGUgPSAoTk9ERSAqKXY7Cj4gKyAgICBOT0RFICoqcmVzdWx0ID0gKE5PREUgKiop
aDsKPiArICAgIG5vZGUtPm5kX2FsZW4gPSAyOwo+ICsgICAgbm9kZS0+bmRfbmV4dC0+bmRfZW5k
ID0gbm9kZS0+bmRfbmV4dDsKPiArICAgIG5vZGUtPm5kX25leHQtPm5kX25leHQgPSAwOwo+ICsg
ICAgaWYgKCpyZXN1bHQpCj4gKyAgICAgICBsaXN0X2NvbmNhdCgqcmVzdWx0LCBub2RlKTsKPiAr
ICAgIGVsc2UKPiArICAgICAgICpyZXN1bHQgPSBub2RlOwo+ICsgICAgcmV0dXJuIFNUX0NPTlRJ
TlVFOwo+ICt9Cj4gKwo+ICtzdGF0aWMgTk9ERSAqCj4gK3JlbW92ZV9kdXBsaWNhdGVfa2V5cyhz
dHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgTk9ERSAqaGFzaCkKPiArewo+ICsgICAgc3RfdGFibGUg
KmxpdGVyYWxfa2V5cyA9IHN0X2luaXRfbnVtdGFibGVfd2l0aF9zaXplKGhhc2gtPm5kX2FsZW4g
LyAyKTsKPiArICAgIE5PREUgKnJlc3VsdCA9IDA7Cj4gKyAgICB3aGlsZSAoaGFzaCAmJiBoYXNo
LT5uZF9oZWFkICYmIGhhc2gtPm5kX25leHQpIHsKPiArICAgICAgIE5PREUgKmhlYWQgPSBoYXNo
LT5uZF9oZWFkOwo+ICsgICAgICAgTk9ERSAqdmFsdWUgPSBoYXNoLT5uZF9uZXh0Owo+ICsgICAg
ICAgTk9ERSAqbmV4dCA9IHZhbHVlLT5uZF9uZXh0Owo+ICsgICAgICAgVkFMVUUga2V5ID0gKFZB
TFVFKWhlYWQ7Cj4gKyAgICAgICBzdF9kYXRhX3QgZGF0YTsKPiArICAgICAgIGlmIChuZF90eXBl
KGhlYWQpID09IE5PREVfTElUICYmCj4gKyAgICAgICAgICAgc3RfbG9va3VwKGxpdGVyYWxfa2V5
cywgKGtleSA9IGhlYWQtPm5kX2xpdCksICZkYXRhKSkgewo+ICsgICAgICAgICAgIHJiX2NvbXBp
bGVfd2FybihwLT5ydWJ5X3NvdXJjZWZpbGUsIG5kX2xpbmUoKE5PREUgKilkYXRhKSwKPiArICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImtleSAlKyJQUklzVkFMVUUiIGlzIGR1cGxpY2F0ZWQg
YW5kIG92ZXJ3cml0dGVuIG9uIGxpbmUgJWQiLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg
ICBoZWFkLT5uZF9saXQsIG5kX2xpbmUoaGVhZCkpOwo+ICsgICAgICAgICAgIGhlYWQgPSAoKE5P
REUgKilkYXRhKS0+bmRfbmV4dDsKPiArICAgICAgICAgICBoZWFkLT5uZF9oZWFkID0gYmxvY2tf
YXBwZW5kKHAsIGhlYWQtPm5kX2hlYWQsIHZhbHVlLT5uZF9oZWFkKTsKPiArICAgICAgIH0KPiAr
ICAgICAgIGVsc2Ugewo+ICsgICAgICAgICAgIHN0X2luc2VydChsaXRlcmFsX2tleXMsIChzdF9k
YXRhX3Qpa2V5LCAoc3RfZGF0YV90KWhhc2gpOwo+ICsgICAgICAgfQo+ICsgICAgICAgaGFzaCA9
IG5leHQ7Cj4gKyAgICB9Cj4gKyAgICBzdF9mb3JlYWNoKGxpdGVyYWxfa2V5cywgYXBwZW5kX2xp
dGVyYWxfa2V5cywgKHN0X2RhdGFfdCkmcmVzdWx0KTsKPiArICAgIHN0X2ZyZWVfdGFibGUobGl0
ZXJhbF9rZXlzKTsKPiArICAgIGlmIChoYXNoKSB7Cj4gKyAgICAgICBpZiAoIXJlc3VsdCkgcmVz
dWx0ID0gaGFzaDsKPiArICAgICAgIGVsc2UgbGlzdF9jb25jYXQocmVzdWx0LCBoYXNoKTsKPiAr
ICAgIH0KPiArICAgIHJldHVybiByZXN1bHQ7Cj4gK30KPiArCj4gK3N0YXRpYyBOT0RFICoKPiAr
bmV3X2hhc2goc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIE5PREUgKmhhc2gsIGNvbnN0IFlZTFRZ
UEUgKmxvYykKPiArewo+ICsgICAgaWYgKGhhc2gpIGhhc2ggPSByZW1vdmVfZHVwbGljYXRlX2tl
eXMocCwgaGFzaCk7Cj4gKyAgICByZXR1cm4gTkVXX0hBU0goaGFzaCwgbG9jKTsKPiArfQo+ICsj
ZW5kaWYgLyogIVJJUFBFUiAqLwo+ICsKPiArI2lmbmRlZiBSSVBQRVIKPiArc3RhdGljIE5PREUg
Kgo+ICtuZXdfb3BfYXNzaWduKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBOT0RFICpsaHMsIElE
IG9wLCBOT0RFICpyaHMsIGNvbnN0IFlZTFRZUEUgKmxvYykKPiArewo+ICsgICAgTk9ERSAqYXNn
bjsKPiArCj4gKyAgICBpZiAobGhzKSB7Cj4gKyAgICAgICBJRCB2aWQgPSBsaHMtPm5kX3ZpZDsK
PiArICAgICAgIFlZTFRZUEUgbGhzX2xvYyA9IGxocy0+bmRfbG9jOwo+ICsgICAgICAgaWYgKG9w
ID09IHRPUk9QKSB7Cj4gKyAgICAgICAgICAgbGhzLT5uZF92YWx1ZSA9IHJoczsKPiArICAgICAg
ICAgICBuZF9zZXRfbG9jKGxocywgbG9jKTsKPiArICAgICAgICAgICBhc2duID0gTkVXX09QX0FT
R05fT1IoZ2V0dGFibGUocCwgdmlkLCAmbGhzX2xvYyksIGxocywgbG9jKTsKPiArICAgICAgICAg
ICBpZiAoaXNfbm90b3BfaWQodmlkKSkgewo+ICsgICAgICAgICAgICAgICBzd2l0Y2ggKGlkX3R5
cGUodmlkKSkgewo+ICsgICAgICAgICAgICAgICAgIGNhc2UgSURfR0xPQkFMOgo+ICsgICAgICAg
ICAgICAgICAgIGNhc2UgSURfSU5TVEFOQ0U6Cj4gKyAgICAgICAgICAgICAgICAgY2FzZSBJRF9D
TEFTUzoKPiArICAgICAgICAgICAgICAgICAgIGFzZ24tPm5kX2FpZCA9IHZpZDsKPiArICAgICAg
ICAgICAgICAgfQo+ICsgICAgICAgICAgIH0KPiArICAgICAgIH0KPiArICAgICAgIGVsc2UgaWYg
KG9wID09IHRBTkRPUCkgewo+ICsgICAgICAgICAgIGxocy0+bmRfdmFsdWUgPSByaHM7Cj4gKyAg
ICAgICAgICAgbmRfc2V0X2xvYyhsaHMsIGxvYyk7Cj4gKyAgICAgICAgICAgYXNnbiA9IE5FV19P
UF9BU0dOX0FORChnZXR0YWJsZShwLCB2aWQsICZsaHNfbG9jKSwgbGhzLCBsb2MpOwo+ICsgICAg
ICAgfQo+ICsgICAgICAgZWxzZSB7Cj4gKyAgICAgICAgICAgYXNnbiA9IGxoczsKPiArICAgICAg
ICAgICBhc2duLT5uZF92YWx1ZSA9IE5FV19DQUxMKGdldHRhYmxlKHAsIHZpZCwgJmxoc19sb2Mp
LCBvcCwgTkVXX0xJU1QocmhzLCAmcmhzLT5uZF9sb2MpLCBsb2MpOwo+ICsgICAgICAgICAgIG5k
X3NldF9sb2MoYXNnbiwgbG9jKTsKPiArICAgICAgIH0KPiArICAgIH0KPiArICAgIGVsc2Ugewo+
ICsgICAgICAgYXNnbiA9IE5FV19CRUdJTigwLCBsb2MpOwo+ICsgICAgfQo+ICsgICAgcmV0dXJu
IGFzZ247Cj4gK30KPiArCj4gK3N0YXRpYyBOT0RFICoKPiArbmV3X2FyeV9vcF9hc3NpZ24oc3Ry
dWN0IHBhcnNlcl9wYXJhbXMgKnAsIE5PREUgKmFyeSwKPiArICAgICAgICAgICAgICAgICBOT0RF
ICphcmdzLCBJRCBvcCwgTk9ERSAqcmhzLCBjb25zdCBZWUxUWVBFICphcmdzX2xvYywgY29uc3Qg
WVlMVFlQRSAqbG9jKQo+ICt7Cj4gKyAgICBOT0RFICphc2duOwo+ICsKPiArICAgIGFyZ3MgPSBt
YWtlX2FycmF5KGFyZ3MsIGFyZ3NfbG9jKTsKPiArICAgIGlmIChuZF90eXBlKGFyZ3MpID09IE5P
REVfQkxPQ0tfUEFTUykgewo+ICsgICAgICAgYXJncyA9IE5FV19BUkdTQ0FUKGFyZ3MsIHJocywg
bG9jKTsKPiArICAgIH0KPiArICAgIGVsc2Ugewo+ICsgICAgICAgYXJncyA9IGFyZ19jb25jYXQo
cCwgYXJncywgcmhzLCBsb2MpOwo+ICsgICAgfQo+ICsgICAgYXNnbiA9IE5FV19PUF9BU0dOMShh
cnksIG9wLCBhcmdzLCBsb2MpOwo+ICsgICAgZml4cG9zKGFzZ24sIGFyeSk7Cj4gKyAgICByZXR1
cm4gYXNnbjsKPiArfQo+ICsKPiArc3RhdGljIE5PREUgKgo+ICtuZXdfYXR0cl9vcF9hc3NpZ24o
c3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIE5PREUgKmxocywKPiArICAgICAgICAgICAgICAgICAg
SUQgYXR5cGUsIElEIGF0dHIsIElEIG9wLCBOT0RFICpyaHMsIGNvbnN0IFlZTFRZUEUgKmxvYykK
PiArewo+ICsgICAgTk9ERSAqYXNnbjsKPiArCj4gKyAgICBhc2duID0gTkVXX09QX0FTR04yKGxo
cywgQ0FMTF9RX1AoYXR5cGUpLCBhdHRyLCBvcCwgcmhzLCBsb2MpOwo+ICsgICAgZml4cG9zKGFz
Z24sIGxocyk7Cj4gKyAgICByZXR1cm4gYXNnbjsKPiArfQo+ICsKPiArc3RhdGljIE5PREUgKgo+
ICtuZXdfY29uc3Rfb3BfYXNzaWduKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBOT0RFICpsaHMs
IElEIG9wLCBOT0RFICpyaHMsIGNvbnN0IFlZTFRZUEUgKmxvYykKPiArewo+ICsgICAgTk9ERSAq
YXNnbjsKPiArCj4gKyAgICBpZiAobGhzKSB7Cj4gKyAgICAgICBhc2duID0gTkVXX09QX0NERUNM
KGxocywgb3AsIHJocywgbG9jKTsKPiArICAgIH0KPiArICAgIGVsc2Ugewo+ICsgICAgICAgYXNn
biA9IE5FV19CRUdJTigwLCBsb2MpOwo+ICsgICAgfQo+ICsgICAgZml4cG9zKGFzZ24sIGxocyk7
Cj4gKyAgICByZXR1cm4gYXNnbjsKPiArfQo+ICsKPiArc3RhdGljIE5PREUgKgo+ICtjb25zdF9k
ZWNsKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBOT0RFICpwYXRoLCBjb25zdCBZWUxUWVBFICps
b2MpCj4gK3sKPiArICAgIGlmIChwLT5pbl9kZWYpIHsKPiArICAgICAgIHl5ZXJyb3IxKGxvYywg
ImR5bmFtaWMgY29uc3RhbnQgYXNzaWdubWVudCIpOwo+ICsgICAgfQo+ICsgICAgcmV0dXJuIE5F
V19DREVDTCgwLCAwLCAocGF0aCksIGxvYyk7Cj4gK30KPiArI2Vsc2UKPiArc3RhdGljIFZBTFVF
Cj4gK2NvbnN0X2RlY2woc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIFZBTFVFIHBhdGgpCj4gK3sK
PiArICAgIGlmIChwLT5pbl9kZWYpIHsKPiArICAgICAgIHBhdGggPSBkaXNwYXRjaDEoYXNzaWdu
X2Vycm9yLCBwYXRoKTsKPiArICAgICAgIHJpcHBlcl9lcnJvcihwKTsKPiArICAgIH0KPiArICAg
IHJldHVybiBwYXRoOwo+ICt9Cj4gKwo+ICtzdGF0aWMgVkFMVUUKPiArYXNzaWduX2Vycm9yKHN0
cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBWQUxVRSBhKQo+ICt7Cj4gKyAgICBhID0gZGlzcGF0Y2gx
KGFzc2lnbl9lcnJvciwgYSk7Cj4gKyAgICByaXBwZXJfZXJyb3IocCk7Cj4gKyAgICByZXR1cm4g
YTsKPiArfQo+ICsKPiArc3RhdGljIFZBTFVFCj4gK3Zhcl9maWVsZChzdHJ1Y3QgcGFyc2VyX3Bh
cmFtcyAqcCwgVkFMVUUgYSkKPiArewo+ICsgICAgcmV0dXJuIHJpcHBlcl9uZXdfeXlsdmFsKHAs
IGdldF9pZChhKSwgZGlzcGF0Y2gxKHZhcl9maWVsZCwgYSksIDApOwo+ICt9Cj4gKyNlbmRpZgo+
ICsKPiArI2lmbmRlZiBSSVBQRVIKPiArc3RhdGljIE5PREUgKgo+ICtuZXdfYm9keXN0bXQoc3Ry
dWN0IHBhcnNlcl9wYXJhbXMgKnAsIE5PREUgKmhlYWQsIE5PREUgKnJlc2N1ZSwgTk9ERSAqcmVz
Y3VlX2Vsc2UsIE5PREUgKmVuc3VyZSwgY29uc3QgWVlMVFlQRSAqbG9jKQo+ICt7Cj4gKyAgICBO
T0RFICpyZXN1bHQgPSBoZWFkOwo+ICsgICAgaWYgKHJlc2N1ZSkgewo+ICsgICAgICAgIE5PREUg
KnRtcCA9IHJlc2N1ZV9lbHNlID8gcmVzY3VlX2Vsc2UgOiByZXNjdWU7Cj4gKyAgICAgICAgWVlM
VFlQRSByZXNjdWVfbG9jID0gY29kZV9sb2NfZ2VuKCZoZWFkLT5uZF9sb2MsICZ0bXAtPm5kX2xv
Yyk7Cj4gKwo+ICsgICAgICAgIHJlc3VsdCA9IE5FV19SRVNDVUUoaGVhZCwgcmVzY3VlLCByZXNj
dWVfZWxzZSwgJnJlc2N1ZV9sb2MpOwo+ICsgICAgICAgIG5kX3NldF9saW5lKHJlc3VsdCwgcmVz
Y3VlLT5uZF9sb2MuYmVnX3Bvcy5saW5lbm8pOwo+ICsgICAgfQo+ICsgICAgZWxzZSBpZiAocmVz
Y3VlX2Vsc2UpIHsKPiArICAgICAgICByZXN1bHQgPSBibG9ja19hcHBlbmQocCwgcmVzdWx0LCBy
ZXNjdWVfZWxzZSk7Cj4gKyAgICB9Cj4gKyAgICBpZiAoZW5zdXJlKSB7Cj4gKyAgICAgICAgcmVz
dWx0ID0gTkVXX0VOU1VSRShyZXN1bHQsIGVuc3VyZSwgbG9jKTsKPiArICAgIH0KPiArICAgIGZp
eHBvcyhyZXN1bHQsIGhlYWQpOwo+ICsgICAgcmV0dXJuIHJlc3VsdDsKPiArfQo+ICsjZW5kaWYK
PiArCj4gK3N0YXRpYyB2b2lkCj4gK3dhcm5fdW51c2VkX3ZhcihzdHJ1Y3QgcGFyc2VyX3BhcmFt
cyAqcCwgc3RydWN0IGxvY2FsX3ZhcnMgKmxvY2FsKQo+ICt7Cj4gKyAgICBpbnQgaSwgY250Owo+
ICsgICAgSUQgKnYsICp1Owo+ICsKPiArICAgIGlmICghbG9jYWwtPnVzZWQpIHJldHVybjsKPiAr
ICAgIHYgPSBsb2NhbC0+dmFycy0+dGJsOwo+ICsgICAgdSA9IGxvY2FsLT51c2VkLT50Ymw7Cj4g
KyAgICBjbnQgPSBsb2NhbC0+dXNlZC0+cG9zOwo+ICsgICAgaWYgKGNudCAhPSBsb2NhbC0+dmFy
cy0+cG9zKSB7Cj4gKyAgICAgICByYl9wYXJzZXJfZmF0YWwocCwgImxvY2FsLT51c2VkLT5wb3Mg
IT0gbG9jYWwtPnZhcnMtPnBvcyIpOwo+ICsgICAgfQo+ICsgICAgZm9yIChpID0gMDsgaSA8IGNu
dDsgKytpKSB7Cj4gKyAgICAgICBpZiAoIXZbaV0gfHwgKHVbaV0gJiBMVkFSX1VTRUQpKSBjb250
aW51ZTsKPiArICAgICAgIGlmIChpc19wcml2YXRlX2xvY2FsX2lkKHZbaV0pKSBjb250aW51ZTsK
PiArICAgICAgIHJiX3dhcm4xTCgoaW50KXVbaV0sICJhc3NpZ25lZCBidXQgdW51c2VkIHZhcmlh
YmxlIC0gJSJQUklzV0FSTiwgcmJfaWQyc3RyKHZbaV0pKTsKPiArICAgIH0KPiArfQo+ICsKPiAr
c3RhdGljIHZvaWQKPiArbG9jYWxfcHVzaChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgaW50IHRv
cGxldmVsX3Njb3BlKQo+ICt7Cj4gKyAgICBzdHJ1Y3QgbG9jYWxfdmFycyAqbG9jYWw7Cj4gKyAg
ICBpbnQgaW5oZXJpdHNfZHZhcnMgPSB0b3BsZXZlbF9zY29wZSAmJiAoY29tcGlsZV9mb3JfZXZh
bCB8fCBwLT5pbl9tYWluIC8qIGlzIHAtPmluX21haW4gcmVhbGx5IG5lZWRlZD8gKi8pOwo+ICsg
ICAgaW50IHdhcm5fdW51c2VkX3ZhcnMgPSBSVEVTVChydWJ5X3ZlcmJvc2UpOwo+ICsKPiArICAg
IGxvY2FsID0gQUxMT0Moc3RydWN0IGxvY2FsX3ZhcnMpOwo+ICsgICAgbG9jYWwtPnByZXYgPSBw
LT5sdnRibDsKPiArICAgIGxvY2FsLT5hcmdzID0gdnRhYmxlX2FsbG9jKDApOwo+ICsgICAgbG9j
YWwtPnZhcnMgPSB2dGFibGVfYWxsb2MoaW5oZXJpdHNfZHZhcnMgPyBEVkFSU19JTkhFUklUIDog
RFZBUlNfVE9QU0NPUEUpOwo+ICsjaWZuZGVmIFJJUFBFUgo+ICsgICAgaWYgKHRvcGxldmVsX3Nj
b3BlICYmIGNvbXBpbGVfZm9yX2V2YWwpIHdhcm5fdW51c2VkX3ZhcnMgPSAwOwo+ICsgICAgaWYg
KHRvcGxldmVsX3Njb3BlICYmIGVfb3B0aW9uX3N1cHBsaWVkKHApKSB3YXJuX3VudXNlZF92YXJz
ID0gMDsKPiArI2VuZGlmCj4gKyAgICBsb2NhbC0+dXNlZCA9IHdhcm5fdW51c2VkX3ZhcnMgPyB2
dGFibGVfYWxsb2MoMCkgOiAwOwo+ICsKPiArIyBpZiBXQVJOX1BBU1RfU0NPUEUKPiArICAgIGxv
Y2FsLT5wYXN0ID0gMDsKPiArIyBlbmRpZgo+ICsgICAgQ01EQVJHX1BVU0goMCk7Cj4gKyAgICBD
T05EX1BVU0goMCk7Cj4gKyAgICBwLT5sdnRibCA9IGxvY2FsOwo+ICt9Cj4gKwo+ICtzdGF0aWMg
dm9pZAo+ICtsb2NhbF9wb3Aoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnApCj4gK3sKPiArICAgIHN0
cnVjdCBsb2NhbF92YXJzICpsb2NhbCA9IHAtPmx2dGJsLT5wcmV2Owo+ICsgICAgaWYgKHAtPmx2
dGJsLT51c2VkKSB7Cj4gKyAgICAgICB3YXJuX3VudXNlZF92YXIocCwgcC0+bHZ0YmwpOwo+ICsg
ICAgICAgdnRhYmxlX2ZyZWUocC0+bHZ0YmwtPnVzZWQpOwo+ICsgICAgfQo+ICsjIGlmIFdBUk5f
UEFTVF9TQ09QRQo+ICsgICAgd2hpbGUgKHAtPmx2dGJsLT5wYXN0KSB7Cj4gKyAgICAgICBzdHJ1
Y3QgdnRhYmxlICpwYXN0ID0gcC0+bHZ0YmwtPnBhc3Q7Cj4gKyAgICAgICBwLT5sdnRibC0+cGFz
dCA9IHBhc3QtPnByZXY7Cj4gKyAgICAgICB2dGFibGVfZnJlZShwYXN0KTsKPiArICAgIH0KPiAr
IyBlbmRpZgo+ICsgICAgdnRhYmxlX2ZyZWUocC0+bHZ0YmwtPmFyZ3MpOwo+ICsgICAgdnRhYmxl
X2ZyZWUocC0+bHZ0YmwtPnZhcnMpOwo+ICsgICAgQ01EQVJHX1BPUCgpOwo+ICsgICAgQ09ORF9Q
T1AoKTsKPiArICAgIHJ1Ynlfc2l6ZWRfeGZyZWUocC0+bHZ0YmwsIHNpemVvZigqcC0+bHZ0Ymwp
KTsKPiArICAgIHAtPmx2dGJsID0gbG9jYWw7Cj4gK30KPiArCj4gKyNpZm5kZWYgUklQUEVSCj4g
K3N0YXRpYyBJRCoKPiArbG9jYWxfdGJsKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwKQo+ICt7Cj4g
KyAgICBpbnQgY250X2FyZ3MgPSB2dGFibGVfc2l6ZShwLT5sdnRibC0+YXJncyk7Cj4gKyAgICBp
bnQgY250X3ZhcnMgPSB2dGFibGVfc2l6ZShwLT5sdnRibC0+dmFycyk7Cj4gKyAgICBpbnQgY250
ID0gY250X2FyZ3MgKyBjbnRfdmFyczsKPiArICAgIGludCBpLCBqOwo+ICsgICAgSUQgKmJ1ZjsK
PiArICAgIHJiX2ltZW1vX3RtcGJ1Zl90ICp0bXBidWYgPSBuZXdfdG1wYnVmKCk7Cj4gKwo+ICsg
ICAgaWYgKGNudCA8PSAwKSByZXR1cm4gMDsKPiArICAgIGJ1ZiA9IEFMTE9DX04oSUQsIGNudCAr
IDEpOwo+ICsgICAgdG1wYnVmLT5wdHIgPSAodm9pZCAqKWJ1ZjsKPiArICAgIE1FTUNQWShidWYr
MSwgcC0+bHZ0YmwtPmFyZ3MtPnRibCwgSUQsIGNudF9hcmdzKTsKPiArICAgIC8qIHJlbW92ZSBJ
RHMgZHVwbGljYXRlZCB0byB3YXJuIHNoYWRvd2luZyAqLwo+ICsgICAgZm9yIChpID0gMCwgaiA9
IGNudF9hcmdzKzE7IGkgPCBjbnRfdmFyczsgKytpKSB7Cj4gKyAgICAgICBJRCBpZCA9IHAtPmx2
dGJsLT52YXJzLT50YmxbaV07Cj4gKyAgICAgICBpZiAoIXZ0YWJsZV9pbmNsdWRlZChwLT5sdnRi
bC0+YXJncywgaWQpKSB7Cj4gKyAgICAgICAgICAgYnVmW2orK10gPSBpZDsKPiArICAgICAgIH0K
PiArICAgIH0KPiArICAgIGlmICgtLWogPCBjbnQpIHRtcGJ1Zi0+cHRyID0gKHZvaWQgKilSRUFM
TE9DX04oYnVmLCBJRCwgKGNudCA9IGopICsgMSk7Cj4gKyAgICBidWZbMF0gPSBjbnQ7Cj4gKwo+
ICsgICAgcmV0dXJuIGJ1ZjsKPiArfQo+ICsjZW5kaWYKPiArCj4gK3N0YXRpYyB2b2lkCj4gK2Fy
Z192YXIoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIElEIGlkKQo+ICt7Cj4gKyAgICB2dGFibGVf
YWRkKHAtPmx2dGJsLT5hcmdzLCBpZCk7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkCj4gK2xvY2Fs
X3ZhcihzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgSUQgaWQpCj4gK3sKPiArICAgIHZ0YWJsZV9h
ZGQocC0+bHZ0YmwtPnZhcnMsIGlkKTsKPiArICAgIGlmIChwLT5sdnRibC0+dXNlZCkgewo+ICsg
ICAgICAgdnRhYmxlX2FkZChwLT5sdnRibC0+dXNlZCwgKElEKXAtPnJ1Ynlfc291cmNlbGluZSk7
Cj4gKyAgICB9Cj4gK30KPiArCj4gK3N0YXRpYyBpbnQKPiArbG9jYWxfaWRfcmVmKHN0cnVjdCBw
YXJzZXJfcGFyYW1zICpwLCBJRCBpZCwgSUQgKip2aWRyZWZwKQo+ICt7Cj4gKyAgICBzdHJ1Y3Qg
dnRhYmxlICp2YXJzLCAqYXJncywgKnVzZWQ7Cj4gKwo+ICsgICAgdmFycyA9IHAtPmx2dGJsLT52
YXJzOwo+ICsgICAgYXJncyA9IHAtPmx2dGJsLT5hcmdzOwo+ICsgICAgdXNlZCA9IHAtPmx2dGJs
LT51c2VkOwo+ICsKPiArICAgIHdoaWxlICh2YXJzICYmICFEVkFSU19URVJNSU5BTF9QKHZhcnMt
PnByZXYpKSB7Cj4gKyAgICAgICB2YXJzID0gdmFycy0+cHJldjsKPiArICAgICAgIGFyZ3MgPSBh
cmdzLT5wcmV2Owo+ICsgICAgICAgaWYgKHVzZWQpIHVzZWQgPSB1c2VkLT5wcmV2Owo+ICsgICAg
fQo+ICsKPiArICAgIGlmICh2YXJzICYmIHZhcnMtPnByZXYgPT0gRFZBUlNfSU5IRVJJVCkgewo+
ICsgICAgICAgcmV0dXJuIHJiX2xvY2FsX2RlZmluZWQoaWQsIHAtPmJhc2VfYmxvY2spOwo+ICsg
ICAgfQo+ICsgICAgZWxzZSBpZiAodnRhYmxlX2luY2x1ZGVkKGFyZ3MsIGlkKSkgewo+ICsgICAg
ICAgcmV0dXJuIDE7Cj4gKyAgICB9Cj4gKyAgICBlbHNlIHsKPiArICAgICAgIGludCBpID0gdnRh
YmxlX2luY2x1ZGVkKHZhcnMsIGlkKTsKPiArICAgICAgIGlmIChpICYmIHVzZWQgJiYgdmlkcmVm
cCkgKnZpZHJlZnAgPSAmdXNlZC0+dGJsW2ktMV07Cj4gKyAgICAgICByZXR1cm4gaSAhPSAwOwo+
ICsgICAgfQo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50Cj4gK2xvY2FsX2lkKHN0cnVjdCBwYXJzZXJf
cGFyYW1zICpwLCBJRCBpZCkKPiArewo+ICsgICAgcmV0dXJuIGxvY2FsX2lkX3JlZihwLCBpZCwg
TlVMTCk7Cj4gK30KPiArCj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgdnRhYmxlICoKPiArZHluYV9w
dXNoKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwKQo+ICt7Cj4gKyAgICBwLT5sdnRibC0+YXJncyA9
IHZ0YWJsZV9hbGxvYyhwLT5sdnRibC0+YXJncyk7Cj4gKyAgICBwLT5sdnRibC0+dmFycyA9IHZ0
YWJsZV9hbGxvYyhwLT5sdnRibC0+dmFycyk7Cj4gKyAgICBpZiAocC0+bHZ0YmwtPnVzZWQpIHsK
PiArICAgICAgIHAtPmx2dGJsLT51c2VkID0gdnRhYmxlX2FsbG9jKHAtPmx2dGJsLT51c2VkKTsK
PiArICAgIH0KPiArICAgIHJldHVybiBwLT5sdnRibC0+YXJnczsKPiArfQo+ICsKPiArc3RhdGlj
IHZvaWQKPiArZHluYV9wb3BfdnRhYmxlKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBzdHJ1Y3Qg
dnRhYmxlICoqdnRibHApCj4gK3sKPiArICAgIHN0cnVjdCB2dGFibGUgKnRtcCA9ICp2dGJscDsK
PiArICAgICp2dGJscCA9IHRtcC0+cHJldjsKPiArIyBpZiBXQVJOX1BBU1RfU0NPUEUKPiArICAg
IGlmIChwLT5wYXN0X3Njb3BlX2VuYWJsZWQpIHsKPiArICAgICAgIHRtcC0+cHJldiA9IHAtPmx2
dGJsLT5wYXN0Owo+ICsgICAgICAgcC0+bHZ0YmwtPnBhc3QgPSB0bXA7Cj4gKyAgICAgICByZXR1
cm47Cj4gKyAgICB9Cj4gKyMgZW5kaWYKPiArICAgIHZ0YWJsZV9mcmVlKHRtcCk7Cj4gK30KPiAr
Cj4gK3N0YXRpYyB2b2lkCj4gK2R5bmFfcG9wXzEoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnApCj4g
K3sKPiArICAgIHN0cnVjdCB2dGFibGUgKnRtcDsKPiArCj4gKyAgICBpZiAoKHRtcCA9IHAtPmx2
dGJsLT51c2VkKSAhPSAwKSB7Cj4gKyAgICAgICB3YXJuX3VudXNlZF92YXIocCwgcC0+bHZ0Ymwp
Owo+ICsgICAgICAgcC0+bHZ0YmwtPnVzZWQgPSBwLT5sdnRibC0+dXNlZC0+cHJldjsKPiArICAg
ICAgIHZ0YWJsZV9mcmVlKHRtcCk7Cj4gKyAgICB9Cj4gKyAgICBkeW5hX3BvcF92dGFibGUocCwg
JnAtPmx2dGJsLT5hcmdzKTsKPiArICAgIGR5bmFfcG9wX3Z0YWJsZShwLCAmcC0+bHZ0YmwtPnZh
cnMpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZAo+ICtkeW5hX3BvcChzdHJ1Y3QgcGFyc2VyX3Bh
cmFtcyAqcCwgY29uc3Qgc3RydWN0IHZ0YWJsZSAqbHZhcmdzKQo+ICt7Cj4gKyAgICB3aGlsZSAo
cC0+bHZ0YmwtPmFyZ3MgIT0gbHZhcmdzKSB7Cj4gKyAgICAgICBkeW5hX3BvcF8xKHApOwo+ICsg
ICAgICAgaWYgKCFwLT5sdnRibC0+YXJncykgewo+ICsgICAgICAgICAgIHN0cnVjdCBsb2NhbF92
YXJzICpsb2NhbCA9IHAtPmx2dGJsLT5wcmV2Owo+ICsgICAgICAgICAgIHJ1Ynlfc2l6ZWRfeGZy
ZWUocC0+bHZ0YmwsIHNpemVvZigqcC0+bHZ0YmwpKTsKPiArICAgICAgICAgICBwLT5sdnRibCA9
IGxvY2FsOwo+ICsgICAgICAgfQo+ICsgICAgfQo+ICsgICAgZHluYV9wb3BfMShwKTsKPiArfQo+
ICsKPiArc3RhdGljIGludAo+ICtkeW5hX2luX2Jsb2NrKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpw
KQo+ICt7Cj4gKyAgICByZXR1cm4gIURWQVJTX1RFUk1JTkFMX1AocC0+bHZ0YmwtPnZhcnMpICYm
IHAtPmx2dGJsLT52YXJzLT5wcmV2ICE9IERWQVJTX1RPUFNDT1BFOwo+ICt9Cj4gKwo+ICtzdGF0
aWMgaW50Cj4gK2R2YXJfZGVmaW5lZF9yZWYoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIElEIGlk
LCBJRCAqKnZpZHJlZnApCj4gK3sKPiArICAgIHN0cnVjdCB2dGFibGUgKnZhcnMsICphcmdzLCAq
dXNlZDsKPiArICAgIGludCBpOwo+ICsKPiArICAgIGFyZ3MgPSBwLT5sdnRibC0+YXJnczsKPiAr
ICAgIHZhcnMgPSBwLT5sdnRibC0+dmFyczsKPiArICAgIHVzZWQgPSBwLT5sdnRibC0+dXNlZDsK
PiArCj4gKyAgICB3aGlsZSAoIURWQVJTX1RFUk1JTkFMX1AodmFycykpIHsKPiArICAgICAgIGlm
ICh2dGFibGVfaW5jbHVkZWQoYXJncywgaWQpKSB7Cj4gKyAgICAgICAgICAgcmV0dXJuIDE7Cj4g
KyAgICAgICB9Cj4gKyAgICAgICBpZiAoKGkgPSB2dGFibGVfaW5jbHVkZWQodmFycywgaWQpKSAh
PSAwKSB7Cj4gKyAgICAgICAgICAgaWYgKHVzZWQgJiYgdmlkcmVmcCkgKnZpZHJlZnAgPSAmdXNl
ZC0+dGJsW2ktMV07Cj4gKyAgICAgICAgICAgcmV0dXJuIDE7Cj4gKyAgICAgICB9Cj4gKyAgICAg
ICBhcmdzID0gYXJncy0+cHJldjsKPiArICAgICAgIHZhcnMgPSB2YXJzLT5wcmV2Owo+ICsgICAg
ICAgaWYgKCF2aWRyZWZwKSB1c2VkID0gMDsKPiArICAgICAgIGlmICh1c2VkKSB1c2VkID0gdXNl
ZC0+cHJldjsKPiArICAgIH0KPiArCj4gKyAgICBpZiAodmFycyA9PSBEVkFSU19JTkhFUklUKSB7
Cj4gKyAgICAgICAgcmV0dXJuIHJiX2R2YXJfZGVmaW5lZChpZCwgcC0+YmFzZV9ibG9jayk7Cj4g
KyAgICB9Cj4gKwo+ICsgICAgcmV0dXJuIDA7Cj4gK30KPiArCj4gK3N0YXRpYyBpbnQKPiArZHZh
cl9kZWZpbmVkKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBJRCBpZCkKPiArewo+ICsgICAgcmV0
dXJuIGR2YXJfZGVmaW5lZF9yZWYocCwgaWQsIE5VTEwpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50
Cj4gK2R2YXJfY3VycihzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgSUQgaWQpCj4gK3sKPiArICAg
IHJldHVybiAodnRhYmxlX2luY2x1ZGVkKHAtPmx2dGJsLT5hcmdzLCBpZCkgfHwKPiArICAgICAg
ICAgICB2dGFibGVfaW5jbHVkZWQocC0+bHZ0YmwtPnZhcnMsIGlkKSk7Cj4gK30KPiArCj4gK3N0
YXRpYyB2b2lkCj4gK3JlZ19mcmFnbWVudF9lbmNfZXJyb3Ioc3RydWN0IHBhcnNlcl9wYXJhbXMq
IHAsIFZBTFVFIHN0ciwgaW50IGMpCj4gK3sKPiArICAgIGNvbXBpbGVfZXJyb3IocCwKPiArICAg
ICAgICAicmVnZXhwIGVuY29kaW5nIG9wdGlvbiAnJWMnIGRpZmZlcnMgZnJvbSBzb3VyY2UgZW5j
b2RpbmcgJyVzJyIsCj4gKyAgICAgICAgYywgcmJfZW5jX25hbWUocmJfZW5jX2dldChzdHIpKSk7
Cj4gK30KPiArCj4gKyNpZm5kZWYgUklQUEVSCj4gK2ludAo+ICtyYl9yZWdfZnJhZ21lbnRfc2V0
ZW5jKHN0cnVjdCBwYXJzZXJfcGFyYW1zKiBwLCBWQUxVRSBzdHIsIGludCBvcHRpb25zKQo+ICt7
Cj4gKyAgICBpbnQgYyA9IFJFX09QVElPTl9FTkNPRElOR19JRFgob3B0aW9ucyk7Cj4gKwo+ICsg
ICAgaWYgKGMpIHsKPiArICAgICAgIGludCBvcHQsIGlkeDsKPiArICAgICAgIHJiX2NoYXJfdG9f
b3B0aW9uX2tjb2RlKGMsICZvcHQsICZpZHgpOwo+ICsgICAgICAgaWYgKGlkeCAhPSBFTkNPRElO
R19HRVQoc3RyKSAmJgo+ICsgICAgICAgICAgIHJiX2VuY19zdHJfY29kZXJhbmdlKHN0cikgIT0g
RU5DX0NPREVSQU5HRV83QklUKSB7Cj4gKyAgICAgICAgICAgIGdvdG8gZXJyb3I7Cj4gKyAgICAg
ICB9Cj4gKyAgICAgICBFTkNPRElOR19TRVQoc3RyLCBpZHgpOwo+ICsgICAgfQo+ICsgICAgZWxz
ZSBpZiAoUkVfT1BUSU9OX0VOQ09ESU5HX05PTkUob3B0aW9ucykpIHsKPiArICAgICAgICBpZiAo
IUVOQ09ESU5HX0lTX0FTQ0lJOEJJVChzdHIpICYmCj4gKyAgICAgICAgICAgIHJiX2VuY19zdHJf
Y29kZXJhbmdlKHN0cikgIT0gRU5DX0NPREVSQU5HRV83QklUKSB7Cj4gKyAgICAgICAgICAgIGMg
PSAnbic7Cj4gKyAgICAgICAgICAgIGdvdG8gZXJyb3I7Cj4gKyAgICAgICAgfQo+ICsgICAgICAg
cmJfZW5jX2Fzc29jaWF0ZShzdHIsIHJiX2FzY2lpOGJpdF9lbmNvZGluZygpKTsKPiArICAgIH0K
PiArICAgIGVsc2UgaWYgKHAtPmVuYyA9PSByYl91c2FzY2lpX2VuY29kaW5nKCkpIHsKPiArICAg
ICAgIGlmIChyYl9lbmNfc3RyX2NvZGVyYW5nZShzdHIpICE9IEVOQ19DT0RFUkFOR0VfN0JJVCkg
ewo+ICsgICAgICAgICAgIC8qIHJhaXNlIGluIHJlLmMgKi8KPiArICAgICAgICAgICByYl9lbmNf
YXNzb2NpYXRlKHN0ciwgcmJfdXNhc2NpaV9lbmNvZGluZygpKTsKPiArICAgICAgIH0KPiArICAg
ICAgIGVsc2Ugewo+ICsgICAgICAgICAgIHJiX2VuY19hc3NvY2lhdGUoc3RyLCByYl9hc2NpaThi
aXRfZW5jb2RpbmcoKSk7Cj4gKyAgICAgICB9Cj4gKyAgICB9Cj4gKyAgICByZXR1cm4gMDsKPiAr
Cj4gKyAgZXJyb3I6Cj4gKyAgICByZXR1cm4gYzsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQKPiAr
cmVnX2ZyYWdtZW50X3NldGVuYyhzdHJ1Y3QgcGFyc2VyX3BhcmFtcyogcCwgVkFMVUUgc3RyLCBp
bnQgb3B0aW9ucykKPiArewo+ICsgICAgaW50IGMgPSByYl9yZWdfZnJhZ21lbnRfc2V0ZW5jKHAs
IHN0ciwgb3B0aW9ucyk7Cj4gKyAgICBpZiAoYykgcmVnX2ZyYWdtZW50X2VuY19lcnJvcihwLCBz
dHIsIGMpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50Cj4gK3JlZ19mcmFnbWVudF9jaGVjayhzdHJ1
Y3QgcGFyc2VyX3BhcmFtcyogcCwgVkFMVUUgc3RyLCBpbnQgb3B0aW9ucykKPiArewo+ICsgICAg
VkFMVUUgZXJyOwo+ICsgICAgcmVnX2ZyYWdtZW50X3NldGVuYyhwLCBzdHIsIG9wdGlvbnMpOwo+
ICsgICAgZXJyID0gcmJfcmVnX2NoZWNrX3ByZXByb2Nlc3Moc3RyKTsKPiArICAgIGlmIChlcnIg
IT0gUW5pbCkgewo+ICsgICAgICAgIGVyciA9IHJiX29ial9hc19zdHJpbmcoZXJyKTsKPiArICAg
ICAgICBjb21waWxlX2Vycm9yKHAsICIlIlBSSXNWQUxVRSwgZXJyKTsKPiArICAgICAgIHJldHVy
biAwOwo+ICsgICAgfQo+ICsgICAgcmV0dXJuIDE7Cj4gK30KPiArCj4gK3R5cGVkZWYgc3RydWN0
IHsKPiArICAgIHN0cnVjdCBwYXJzZXJfcGFyYW1zKiBwYXJzZXI7Cj4gKyAgICByYl9lbmNvZGlu
ZyAqZW5jOwo+ICsgICAgTk9ERSAqc3VjY19ibG9jazsKPiArICAgIGNvbnN0IFlZTFRZUEUgKmxv
YzsKPiArfSByZWdfbmFtZWRfY2FwdHVyZV9hc3NpZ25fdDsKPiArCj4gK3N0YXRpYyBpbnQKPiAr
cmVnX25hbWVkX2NhcHR1cmVfYXNzaWduX2l0ZXIoY29uc3QgT25pZ1VDaGFyICpuYW1lLCBjb25z
dCBPbmlnVUNoYXIgKm5hbWVfZW5kLAo+ICsgICAgICAgICAgaW50IGJhY2tfbnVtLCBpbnQgKmJh
Y2tfcmVmcywgT25pZ1JlZ2V4IHJlZ2V4LCB2b2lkICphcmcwKQo+ICt7Cj4gKyAgICByZWdfbmFt
ZWRfY2FwdHVyZV9hc3NpZ25fdCAqYXJnID0gKHJlZ19uYW1lZF9jYXB0dXJlX2Fzc2lnbl90Kilh
cmcwOwo+ICsgICAgc3RydWN0IHBhcnNlcl9wYXJhbXMqIHAgPSBhcmctPnBhcnNlcjsKPiArICAg
IHJiX2VuY29kaW5nICplbmMgPSBhcmctPmVuYzsKPiArICAgIGxvbmcgbGVuID0gbmFtZV9lbmQg
LSBuYW1lOwo+ICsgICAgY29uc3QgY2hhciAqcyA9IChjb25zdCBjaGFyICopbmFtZTsKPiArICAg
IElEIHZhcjsKPiArICAgIE5PREUgKm5vZGUsICpzdWNjOwo+ICsKPiArICAgIGlmICghbGVuKSBy
ZXR1cm4gU1RfQ09OVElOVUU7Cj4gKyAgICBpZiAobGVuIDwgTUFYX1dPUkRfTEVOR1RIICYmIHJi
X3Jlc2VydmVkX3dvcmQocywgKGludClsZW4pKQo+ICsgICAgICAgIHJldHVybiBTVF9DT05USU5V
RTsKPiArICAgIGlmIChyYl9lbmNfc3ltbmFtZV90eXBlKHMsIGxlbiwgZW5jLCAoMVU8PElEX0xP
Q0FMKSkgIT0gSURfTE9DQUwpCj4gKyAgICAgICAgcmV0dXJuIFNUX0NPTlRJTlVFOwo+ICsKPiAr
ICAgIHZhciA9IGludGVybl9jc3RyKHMsIGxlbiwgZW5jKTsKPiArICAgIG5vZGUgPSBub2RlX2Fz
c2lnbihwLCBhc3NpZ25hYmxlKHAsIHZhciwgMCwgYXJnLT5sb2MpLCBORVdfTElUKElEMlNZTSh2
YXIpLCBhcmctPmxvYyksIGFyZy0+bG9jKTsKPiArICAgIHN1Y2MgPSBhcmctPnN1Y2NfYmxvY2s7
Cj4gKyAgICBpZiAoIXN1Y2MpIHN1Y2MgPSBORVdfQkVHSU4oMCwgYXJnLT5sb2MpOwo+ICsgICAg
c3VjYyA9IGJsb2NrX2FwcGVuZChwLCBzdWNjLCBub2RlKTsKPiArICAgIGFyZy0+c3VjY19ibG9j
ayA9IHN1Y2M7Cj4gKyAgICByZXR1cm4gU1RfQ09OVElOVUU7Cj4gK30KPiArCj4gK3N0YXRpYyBO
T0RFICoKPiArcmVnX25hbWVkX2NhcHR1cmVfYXNzaWduKHN0cnVjdCBwYXJzZXJfcGFyYW1zKiBw
LCBWQUxVRSByZWdleHAsIGNvbnN0IFlZTFRZUEUgKmxvYykKPiArewo+ICsgICAgcmVnX25hbWVk
X2NhcHR1cmVfYXNzaWduX3QgYXJnOwo+ICsKPiArICAgIGFyZy5wYXJzZXIgPSBwOwo+ICsgICAg
YXJnLmVuYyA9IHJiX2VuY19nZXQocmVnZXhwKTsKPiArICAgIGFyZy5zdWNjX2Jsb2NrID0gMDsK
PiArICAgIGFyZy5sb2MgPSBsb2M7Cj4gKyAgICBvbmlnX2ZvcmVhY2hfbmFtZShSUkVHRVhQX1BU
UihyZWdleHApLCByZWdfbmFtZWRfY2FwdHVyZV9hc3NpZ25faXRlciwgJmFyZyk7Cj4gKwo+ICsg
ICAgaWYgKCFhcmcuc3VjY19ibG9jaykgcmV0dXJuIDA7Cj4gKyAgICByZXR1cm4gYXJnLnN1Y2Nf
YmxvY2stPm5kX25leHQ7Cj4gK30KPiArCj4gK3N0YXRpYyBWQUxVRQo+ICtwYXJzZXJfcmVnX2Nv
bXBpbGUoc3RydWN0IHBhcnNlcl9wYXJhbXMqIHAsIFZBTFVFIHN0ciwgaW50IG9wdGlvbnMpCj4g
K3sKPiArICAgIHJlZ19mcmFnbWVudF9zZXRlbmMocCwgc3RyLCBvcHRpb25zKTsKPiArICAgIHJl
dHVybiByYl9wYXJzZXJfcmVnX2NvbXBpbGUocCwgc3RyLCBvcHRpb25zKTsKPiArfQo+ICsKPiAr
VkFMVUUKPiArcmJfcGFyc2VyX3JlZ19jb21waWxlKHN0cnVjdCBwYXJzZXJfcGFyYW1zKiBwLCBW
QUxVRSBzdHIsIGludCBvcHRpb25zKQo+ICt7Cj4gKyAgICByZXR1cm4gcmJfcmVnX2NvbXBpbGUo
c3RyLCBvcHRpb25zICYgUkVfT1BUSU9OX01BU0ssIHAtPnJ1Ynlfc291cmNlZmlsZSwgcC0+cnVi
eV9zb3VyY2VsaW5lKTsKPiArfQo+ICsKPiArc3RhdGljIFZBTFVFCj4gK3JlZ19jb21waWxlKHN0
cnVjdCBwYXJzZXJfcGFyYW1zKiBwLCBWQUxVRSBzdHIsIGludCBvcHRpb25zKQo+ICt7Cj4gKyAg
ICBWQUxVRSByZTsKPiArICAgIFZBTFVFIGVycjsKPiArCj4gKyAgICBlcnIgPSByYl9lcnJpbmZv
KCk7Cj4gKyAgICByZSA9IHBhcnNlcl9yZWdfY29tcGlsZShwLCBzdHIsIG9wdGlvbnMpOwo+ICsg
ICAgaWYgKE5JTF9QKHJlKSkgewo+ICsgICAgICAgVkFMVUUgbSA9IHJiX2F0dHJfZ2V0KHJiX2Vy
cmluZm8oKSwgaWRNZXNnKTsKPiArICAgICAgIHJiX3NldF9lcnJpbmZvKGVycik7Cj4gKyAgICAg
ICBjb21waWxlX2Vycm9yKHAsICIlIlBSSXNWQUxVRSwgbSk7Cj4gKyAgICAgICByZXR1cm4gUW5p
bDsKPiArICAgIH0KPiArICAgIHJldHVybiByZTsKPiArfQo+ICsjZWxzZQo+ICtzdGF0aWMgVkFM
VUUKPiArcGFyc2VyX3JlZ19jb21waWxlKHN0cnVjdCBwYXJzZXJfcGFyYW1zKiBwLCBWQUxVRSBz
dHIsIGludCBvcHRpb25zLCBWQUxVRSAqZXJybXNnKQo+ICt7Cj4gKyAgICBWQUxVRSBlcnIgPSBy
Yl9lcnJpbmZvKCk7Cj4gKyAgICBWQUxVRSByZTsKPiArICAgIGludCBjID0gcmJfcmVnX2ZyYWdt
ZW50X3NldGVuYyhwLCBzdHIsIG9wdGlvbnMpOwo+ICsgICAgaWYgKGMpIHJlZ19mcmFnbWVudF9l
bmNfZXJyb3IocCwgc3RyLCBjKTsKPiArICAgIHJlID0gcmJfcGFyc2VyX3JlZ19jb21waWxlKHAs
IHN0ciwgb3B0aW9ucyk7Cj4gKyAgICBpZiAoTklMX1AocmUpKSB7Cj4gKyAgICAgICAqZXJybXNn
ID0gcmJfYXR0cl9nZXQocmJfZXJyaW5mbygpLCBpZE1lc2cpOwo+ICsgICAgICAgcmJfc2V0X2Vy
cmluZm8oZXJyKTsKPiArICAgIH0KPiArICAgIHJldHVybiByZTsKPiArfQo+ICsjZW5kaWYKPiAr
Cj4gKyNpZm5kZWYgUklQUEVSCj4gK3ZvaWQKPiArcmJfcGFyc2VyX3NldF9vcHRpb25zKFZBTFVF
IHZwYXJzZXIsIGludCBwcmludCwgaW50IGxvb3AsIGludCBjaG9tcCwgaW50IHNwbGl0KQo+ICt7
Cj4gKyAgICBzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcDsKPiArICAgIFR5cGVkRGF0YV9HZXRfU3Ry
dWN0KHZwYXJzZXIsIHN0cnVjdCBwYXJzZXJfcGFyYW1zLCAmcGFyc2VyX2RhdGFfdHlwZSwgcCk7
Cj4gKyAgICBwLT5kb19wcmludCA9IHByaW50Owo+ICsgICAgcC0+ZG9fbG9vcCA9IGxvb3A7Cj4g
KyAgICBwLT5kb19jaG9tcCA9IGNob21wOwo+ICsgICAgcC0+ZG9fc3BsaXQgPSBzcGxpdDsKPiAr
fQo+ICsKPiArdm9pZAo+ICtyYl9wYXJzZXJfd2Fybl9sb2NhdGlvbihWQUxVRSB2cGFyc2VyLCBp
bnQgd2FybikKPiArewo+ICsgICAgc3RydWN0IHBhcnNlcl9wYXJhbXMgKnA7Cj4gKyAgICBUeXBl
ZERhdGFfR2V0X1N0cnVjdCh2cGFyc2VyLCBzdHJ1Y3QgcGFyc2VyX3BhcmFtcywgJnBhcnNlcl9k
YXRhX3R5cGUsIHApOwo+ICsgICAgcC0+d2Fybl9sb2NhdGlvbiA9IHdhcm47Cj4gK30KPiArCj4g
K3N0YXRpYyBOT0RFICoKPiArcGFyc2VyX2FwcGVuZF9vcHRpb25zKHN0cnVjdCBwYXJzZXJfcGFy
YW1zICpwLCBOT0RFICpub2RlKQo+ICt7Cj4gKyAgICBzdGF0aWMgY29uc3QgWVlMVFlQRSBkZWZh
dWx0X2xvY2F0aW9uID0ge3sxLCAwfSwgezEsIDB9fTsKPiArICAgIGNvbnN0IFlZTFRZUEUgKmNv
bnN0IExPQyA9ICZkZWZhdWx0X2xvY2F0aW9uOwo+ICsKPiArICAgIGlmIChwLT5kb19wcmludCkg
ewo+ICsgICAgICAgTk9ERSAqcHJpbnQgPSBORVdfRkNBTEwocmJfaW50ZXJuKCJwcmludCIpLAo+
ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTkVXX0FSUkFZKE5FV19HVkFSKGlkTEFT
VExJTkUsIExPQyksIExPQyksCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMT0Mp
Owo+ICsgICAgICAgbm9kZSA9IGJsb2NrX2FwcGVuZChwLCBub2RlLCBwcmludCk7Cj4gKyAgICB9
Cj4gKwo+ICsgICAgaWYgKHAtPmRvX2xvb3ApIHsKPiArICAgICAgIGlmIChwLT5kb19zcGxpdCkg
ewo+ICsgICAgICAgICAgIE5PREUgKnNwbGl0ID0gTkVXX0dBU0dOKHJiX2ludGVybigiJEYiKSwK
PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBORVdfQ0FMTChORVdfR1ZBUihp
ZExBU1RMSU5FLCBMT0MpLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHJiX2ludGVybigic3BsaXQiKSwgMCwgTE9DKSwKPiArICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBMT0MpOwo+ICsgICAgICAgICAgIG5vZGUgPSBibG9ja19hcHBlbmQo
cCwgc3BsaXQsIG5vZGUpOwo+ICsgICAgICAgfQo+ICsgICAgICAgaWYgKHAtPmRvX2Nob21wKSB7
Cj4gKyAgICAgICAgICAgTk9ERSAqY2hvbXAgPSBORVdfQ0FMTChORVdfR1ZBUihpZExBU1RMSU5F
LCBMT0MpLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmJfaW50ZXJuKCJj
aG9tcCEiKSwgMCwgTE9DKTsKPiArICAgICAgICAgICBub2RlID0gYmxvY2tfYXBwZW5kKHAsIGNo
b21wLCBub2RlKTsKPiArICAgICAgIH0KPiArCj4gKyAgICAgICBub2RlID0gTkVXX1dISUxFKE5F
V19WQ0FMTChpZEdldHMsIExPQyksIG5vZGUsIDEsIExPQyk7Cj4gKyAgICB9Cj4gKwo+ICsgICAg
cmV0dXJuIG5vZGU7Cj4gK30KPiArCj4gK3ZvaWQKPiArcmJfaW5pdF9wYXJzZSh2b2lkKQo+ICt7
Cj4gKyAgICAvKiBqdXN0IHRvIHN1cHByZXNzIHVudXNlZC1mdW5jdGlvbiB3YXJuaW5ncyAqLwo+
ICsgICAgKHZvaWQpbm9kZXR5cGU7Cj4gKyAgICAodm9pZClub2RlbGluZTsKPiArfQo+ICsjZW5k
aWYgLyogIVJJUFBFUiAqLwo+ICsKPiArc3RhdGljIElECj4gK2ludGVybmFsX2lkKHN0cnVjdCBw
YXJzZXJfcGFyYW1zICpwKQo+ICt7Cj4gKyAgICBjb25zdCBJRCBtYXhfaWQgPSBSQl9JRF9TRVJJ
QUxfTUFYICYgfjB4ZmZmZjsKPiArICAgIElEIGlkID0gKElEKXZ0YWJsZV9zaXplKHAtPmx2dGJs
LT5hcmdzKSArIChJRCl2dGFibGVfc2l6ZShwLT5sdnRibC0+dmFycyk7Cj4gKyAgICBpZCA9IG1h
eF9pZCAtIGlkOwo+ICsgICAgcmV0dXJuIElEX1NUQVRJQ19TWU0gfCBJRF9JTlRFUk5BTCB8IChp
ZCA8PCBJRF9TQ09QRV9TSElGVCk7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkCj4gK3BhcnNlcl9p
bml0aWFsaXplKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwKQo+ICt7Cj4gKyAgICAvKiBub3RlOiB3
ZSByZWx5IG9uIFR5cGVkRGF0YV9NYWtlX1N0cnVjdCB0byBzZXQgbW9zdCBmaWVsZHMgdG8gMCAq
Lwo+ICsgICAgcC0+Y29tbWFuZF9zdGFydCA9IFRSVUU7Cj4gKyAgICBwLT5ydWJ5X3NvdXJjZWZp
bGVfc3RyaW5nID0gUW5pbDsKPiArICAgIHAtPmxleC5scGFyX2JlZyA9IC0xOyAvKiBtYWtlIGxh
bWJkYV9iZWdpbm5pbmdfcCgpID09IEZBTFNFIGF0IGZpcnN0ICovCj4gKyAgICBwLT5ub2RlX2lk
ID0gMDsKPiArI2lmZGVmIFJJUFBFUgo+ICsgICAgcC0+ZGVsYXllZCA9IFFuaWw7Cj4gKyAgICBw
LT5yZXN1bHQgPSBRbmlsOwo+ICsgICAgcC0+cGFyc2luZ190aHJlYWQgPSBRbmlsOwo+ICsjZWxz
ZQo+ICsgICAgcC0+ZXJyb3JfYnVmZmVyID0gUWZhbHNlOwo+ICsjZW5kaWYKPiArICAgIHAtPmRl
YnVnX2J1ZmZlciA9IFFuaWw7Cj4gKyAgICBwLT5kZWJ1Z19vdXRwdXQgPSByYl9zdGRvdXQ7Cj4g
KyAgICBwLT5lbmMgPSByYl91dGY4X2VuY29kaW5nKCk7Cj4gK30KPiArCj4gKyNpZmRlZiBSSVBQ
RVIKPiArI2RlZmluZSBwYXJzZXJfbWFyayByaXBwZXJfcGFyc2VyX21hcmsKPiArI2RlZmluZSBw
YXJzZXJfZnJlZSByaXBwZXJfcGFyc2VyX2ZyZWUKPiArI2VuZGlmCj4gKwo+ICtzdGF0aWMgdm9p
ZAo+ICtwYXJzZXJfbWFyayh2b2lkICpwdHIpCj4gK3sKPiArICAgIHN0cnVjdCBwYXJzZXJfcGFy
YW1zICpwID0gKHN0cnVjdCBwYXJzZXJfcGFyYW1zKilwdHI7Cj4gKwo+ICsgICAgcmJfZ2NfbWFy
ayhwLT5sZXguaW5wdXQpOwo+ICsgICAgcmJfZ2NfbWFyayhwLT5sZXgucHJldmxpbmUpOwo+ICsg
ICAgcmJfZ2NfbWFyayhwLT5sZXgubGFzdGxpbmUpOwo+ICsgICAgcmJfZ2NfbWFyayhwLT5sZXgu
bmV4dGxpbmUpOwo+ICsgICAgcmJfZ2NfbWFyayhwLT5ydWJ5X3NvdXJjZWZpbGVfc3RyaW5nKTsK
PiArICAgIHJiX2djX21hcmsoKFZBTFVFKXAtPmxleC5zdHJ0ZXJtKTsKPiArICAgIHJiX2djX21h
cmsoKFZBTFVFKXAtPmFzdCk7Cj4gKyNpZm5kZWYgUklQUEVSCj4gKyAgICByYl9nY19tYXJrKHAt
PmRlYnVnX2xpbmVzKTsKPiArICAgIHJiX2djX21hcmsocC0+Y29tcGlsZV9vcHRpb24pOwo+ICsg
ICAgcmJfZ2NfbWFyayhwLT5lcnJvcl9idWZmZXIpOwo+ICsjZWxzZQo+ICsgICAgcmJfZ2NfbWFy
ayhwLT5kZWxheWVkKTsKPiArICAgIHJiX2djX21hcmsocC0+dmFsdWUpOwo+ICsgICAgcmJfZ2Nf
bWFyayhwLT5yZXN1bHQpOwo+ICsgICAgcmJfZ2NfbWFyayhwLT5wYXJzaW5nX3RocmVhZCk7Cj4g
KyNlbmRpZgo+ICsgICAgcmJfZ2NfbWFyayhwLT5kZWJ1Z19idWZmZXIpOwo+ICsgICAgcmJfZ2Nf
bWFyayhwLT5kZWJ1Z19vdXRwdXQpOwo+ICsjaWZkZWYgWVlNQUxMT0MKPiArICAgIHJiX2djX21h
cmsoKFZBTFVFKXAtPmhlYXApOwo+ICsjZW5kaWYKPiArfQo+ICsKPiArc3RhdGljIHZvaWQKPiAr
cGFyc2VyX2ZyZWUodm9pZCAqcHRyKQo+ICt7Cj4gKyAgICBzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAq
cCA9IChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyopcHRyOwo+ICsgICAgc3RydWN0IGxvY2FsX3ZhcnMg
KmxvY2FsLCAqcHJldjsKPiArCj4gKyAgICBpZiAocC0+dG9rZW5idWYpIHsKPiArICAgICAgICBy
dWJ5X3NpemVkX3hmcmVlKHAtPnRva2VuYnVmLCBwLT50b2tzaXopOwo+ICsgICAgfQo+ICsgICAg
Zm9yIChsb2NhbCA9IHAtPmx2dGJsOyBsb2NhbDsgbG9jYWwgPSBwcmV2KSB7Cj4gKyAgICAgICBp
ZiAobG9jYWwtPnZhcnMpIHhmcmVlKGxvY2FsLT52YXJzKTsKPiArICAgICAgIHByZXYgPSBsb2Nh
bC0+cHJldjsKPiArICAgICAgIHhmcmVlKGxvY2FsKTsKPiArICAgIH0KPiArICAgIHsKPiArICAg
ICAgIHRva2VuX2luZm8gKnB0aW5mbzsKPiArICAgICAgIHdoaWxlICgocHRpbmZvID0gcC0+dG9r
ZW5faW5mbykgIT0gMCkgewo+ICsgICAgICAgICAgIHAtPnRva2VuX2luZm8gPSBwdGluZm8tPm5l
eHQ7Cj4gKyAgICAgICAgICAgeGZyZWUocHRpbmZvKTsKPiArICAgICAgIH0KPiArICAgIH0KPiAr
ICAgIHhmcmVlKHB0cik7Cj4gK30KPiArCj4gK3N0YXRpYyBzaXplX3QKPiArcGFyc2VyX21lbXNp
emUoY29uc3Qgdm9pZCAqcHRyKQo+ICt7Cj4gKyAgICBzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCA9
IChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyopcHRyOwo+ICsgICAgc3RydWN0IGxvY2FsX3ZhcnMgKmxv
Y2FsOwo+ICsgICAgc2l6ZV90IHNpemUgPSBzaXplb2YoKnApOwo+ICsKPiArICAgIHNpemUgKz0g
cC0+dG9rc2l6Owo+ICsgICAgZm9yIChsb2NhbCA9IHAtPmx2dGJsOyBsb2NhbDsgbG9jYWwgPSBs
b2NhbC0+cHJldikgewo+ICsgICAgICAgc2l6ZSArPSBzaXplb2YoKmxvY2FsKTsKPiArICAgICAg
IGlmIChsb2NhbC0+dmFycykgc2l6ZSArPSBsb2NhbC0+dmFycy0+Y2FwYSAqIHNpemVvZihJRCk7
Cj4gKyAgICB9Cj4gKyAgICByZXR1cm4gc2l6ZTsKPiArfQo+ICsKPiArc3RhdGljIGNvbnN0IHJi
X2RhdGFfdHlwZV90IHBhcnNlcl9kYXRhX3R5cGUgPSB7Cj4gKyNpZm5kZWYgUklQUEVSCj4gKyAg
ICAicGFyc2VyIiwKPiArI2Vsc2UKPiArICAgICJyaXBwZXIiLAo+ICsjZW5kaWYKPiArICAgIHsK
PiArICAgICAgIHBhcnNlcl9tYXJrLAo+ICsgICAgICAgcGFyc2VyX2ZyZWUsCj4gKyAgICAgICBw
YXJzZXJfbWVtc2l6ZSwKPiArICAgIH0sCj4gKyAgICAwLCAwLCBSVUJZX1RZUEVEX0ZSRUVfSU1N
RURJQVRFTFkKPiArfTsKPiArCj4gKyNpZm5kZWYgUklQUEVSCj4gKyN1bmRlZiByYl9yZXNlcnZl
ZF93b3JkCj4gKwo+ICtjb25zdCBzdHJ1Y3Qga3d0YWJsZSAqCj4gK3JiX3Jlc2VydmVkX3dvcmQo
Y29uc3QgY2hhciAqc3RyLCB1bnNpZ25lZCBpbnQgbGVuKQo+ICt7Cj4gKyAgICByZXR1cm4gcmVz
ZXJ2ZWRfd29yZChzdHIsIGxlbik7Cj4gK30KPiArCj4gK1ZBTFVFCj4gK3JiX3BhcnNlcl9uZXco
dm9pZCkKPiArewo+ICsgICAgc3RydWN0IHBhcnNlcl9wYXJhbXMgKnA7Cj4gKyAgICBWQUxVRSBw
YXJzZXIgPSBUeXBlZERhdGFfTWFrZV9TdHJ1Y3QoMCwgc3RydWN0IHBhcnNlcl9wYXJhbXMsCj4g
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcGFyc2VyX2RhdGFfdHlw
ZSwgcCk7Cj4gKyAgICBwYXJzZXJfaW5pdGlhbGl6ZShwKTsKPiArICAgIHJldHVybiBwYXJzZXI7
Cj4gK30KPiArCj4gK1ZBTFVFCj4gK3JiX3BhcnNlcl9zZXRfY29udGV4dChWQUxVRSB2cGFyc2Vy
LCBjb25zdCBzdHJ1Y3QgcmJfYmxvY2sgKmJhc2UsIGludCBtYWluKQo+ICt7Cj4gKyAgICBzdHJ1
Y3QgcGFyc2VyX3BhcmFtcyAqcDsKPiArCj4gKyAgICBUeXBlZERhdGFfR2V0X1N0cnVjdCh2cGFy
c2VyLCBzdHJ1Y3QgcGFyc2VyX3BhcmFtcywgJnBhcnNlcl9kYXRhX3R5cGUsIHApOwo+ICsgICAg
cC0+ZXJyb3JfYnVmZmVyID0gbWFpbiA/IFFmYWxzZSA6IFFuaWw7Cj4gKyAgICBwLT5iYXNlX2Js
b2NrID0gYmFzZTsKPiArICAgIHAtPmluX21haW4gPSBtYWluOwo+ICsgICAgcmV0dXJuIHZwYXJz
ZXI7Cj4gK30KPiArI2VuZGlmCj4gKwo+ICsjaWZkZWYgUklQUEVSCj4gKyNkZWZpbmUgcmJfcGFy
c2VyX2VuZF9zZWVuX3AgcmlwcGVyX3BhcnNlcl9lbmRfc2Vlbl9wCj4gKyNkZWZpbmUgcmJfcGFy
c2VyX2VuY29kaW5nIHJpcHBlcl9wYXJzZXJfZW5jb2RpbmcKPiArI2RlZmluZSByYl9wYXJzZXJf
Z2V0X3l5ZGVidWcgcmlwcGVyX3BhcnNlcl9nZXRfeXlkZWJ1Zwo+ICsjZGVmaW5lIHJiX3BhcnNl
cl9zZXRfeXlkZWJ1ZyByaXBwZXJfcGFyc2VyX3NldF95eWRlYnVnCj4gK3N0YXRpYyBWQUxVRSBy
aXBwZXJfcGFyc2VyX2VuZF9zZWVuX3AoVkFMVUUgdnBhcnNlcik7Cj4gK3N0YXRpYyBWQUxVRSBy
aXBwZXJfcGFyc2VyX2VuY29kaW5nKFZBTFVFIHZwYXJzZXIpOwo+ICtzdGF0aWMgVkFMVUUgcmlw
cGVyX3BhcnNlcl9nZXRfeXlkZWJ1ZyhWQUxVRSBzZWxmKTsKPiArc3RhdGljIFZBTFVFIHJpcHBl
cl9wYXJzZXJfc2V0X3l5ZGVidWcoVkFMVUUgc2VsZiwgVkFMVUUgZmxhZyk7Cj4gKwo+ICsvKgo+
ICsgKiAgY2FsbC1zZXE6Cj4gKyAqICAgIHJpcHBlci5lcnJvcj8gICAtPiBCb29sZWFuCj4gKyAq
Cj4gKyAqICBSZXR1cm4gdHJ1ZSBpZiBwYXJzZWQgc291cmNlIGhhcyBlcnJvcnMuCj4gKyAqLwo+
ICtzdGF0aWMgVkFMVUUKPiArcmlwcGVyX2Vycm9yX3AoVkFMVUUgdnBhcnNlcikKPiArewo+ICsg
ICAgc3RydWN0IHBhcnNlcl9wYXJhbXMgKnA7Cj4gKwo+ICsgICAgVHlwZWREYXRhX0dldF9TdHJ1
Y3QodnBhcnNlciwgc3RydWN0IHBhcnNlcl9wYXJhbXMsICZwYXJzZXJfZGF0YV90eXBlLCBwKTsK
PiArICAgIHJldHVybiBwLT5lcnJvcl9wID8gUXRydWUgOiBRZmFsc2U7Cj4gK30KPiArI2VuZGlm
Cj4gKwo+ICsvKgo+ICsgKiAgY2FsbC1zZXE6Cj4gKyAqICAgIHJpcHBlci5lbmRfc2Vlbj8gICAt
PiBCb29sZWFuCj4gKyAqCj4gKyAqICBSZXR1cm4gdHJ1ZSBpZiBwYXJzZWQgc291cmNlIGVuZGVk
IGJ5ICtcX1xfRU5EXF9cXysuCj4gKyAqLwo+ICtWQUxVRQo+ICtyYl9wYXJzZXJfZW5kX3NlZW5f
cChWQUxVRSB2cGFyc2VyKQo+ICt7Cj4gKyAgICBzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcDsKPiAr
Cj4gKyAgICBUeXBlZERhdGFfR2V0X1N0cnVjdCh2cGFyc2VyLCBzdHJ1Y3QgcGFyc2VyX3BhcmFt
cywgJnBhcnNlcl9kYXRhX3R5cGUsIHApOwo+ICsgICAgcmV0dXJuIHAtPnJ1YnlfX2VuZF9fc2Vl
biA/IFF0cnVlIDogUWZhbHNlOwo+ICt9Cj4gKwo+ICsvKgo+ICsgKiAgY2FsbC1zZXE6Cj4gKyAq
ICAgIHJpcHBlci5lbmNvZGluZyAgIC0+IGVuY29kaW5nCj4gKyAqCj4gKyAqICBSZXR1cm4gZW5j
b2Rpbmcgb2YgdGhlIHNvdXJjZS4KPiArICovCj4gK1ZBTFVFCj4gK3JiX3BhcnNlcl9lbmNvZGlu
ZyhWQUxVRSB2cGFyc2VyKQo+ICt7Cj4gKyAgICBzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcDsKPiAr
Cj4gKyAgICBUeXBlZERhdGFfR2V0X1N0cnVjdCh2cGFyc2VyLCBzdHJ1Y3QgcGFyc2VyX3BhcmFt
cywgJnBhcnNlcl9kYXRhX3R5cGUsIHApOwo+ICsgICAgcmV0dXJuIHJiX2VuY19mcm9tX2VuY29k
aW5nKHAtPmVuYyk7Cj4gK30KPiArCj4gKy8qCj4gKyAqICBjYWxsLXNlcToKPiArICogICAgcmlw
cGVyLnl5ZGVidWcgICAtPiB0cnVlIG9yIGZhbHNlCj4gKyAqCj4gKyAqICBHZXQgeXlkZWJ1Zy4K
PiArICovCj4gK1ZBTFVFCj4gK3JiX3BhcnNlcl9nZXRfeXlkZWJ1ZyhWQUxVRSBzZWxmKQo+ICt7
Cj4gKyAgICBzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcDsKPiArCj4gKyAgICBUeXBlZERhdGFfR2V0
X1N0cnVjdChzZWxmLCBzdHJ1Y3QgcGFyc2VyX3BhcmFtcywgJnBhcnNlcl9kYXRhX3R5cGUsIHAp
Owo+ICsgICAgcmV0dXJuIHAtPmRlYnVnID8gUXRydWUgOiBRZmFsc2U7Cj4gK30KPiArCj4gKy8q
Cj4gKyAqICBjYWxsLXNlcToKPiArICogICAgcmlwcGVyLnl5ZGVidWcgPSBmbGFnCj4gKyAqCj4g
KyAqICBTZXQgeXlkZWJ1Zy4KPiArICovCj4gK1ZBTFVFCj4gK3JiX3BhcnNlcl9zZXRfeXlkZWJ1
ZyhWQUxVRSBzZWxmLCBWQUxVRSBmbGFnKQo+ICt7Cj4gKyAgICBzdHJ1Y3QgcGFyc2VyX3BhcmFt
cyAqcDsKPiArCj4gKyAgICBUeXBlZERhdGFfR2V0X1N0cnVjdChzZWxmLCBzdHJ1Y3QgcGFyc2Vy
X3BhcmFtcywgJnBhcnNlcl9kYXRhX3R5cGUsIHApOwo+ICsgICAgcC0+ZGVidWcgPSBSVEVTVChm
bGFnKTsKPiArICAgIHJldHVybiBmbGFnOwo+ICt9Cj4gKwo+ICsjaWZuZGVmIFJJUFBFUgo+ICsj
aWZkZWYgWVlNQUxMT0MKPiArI2RlZmluZSBIRUFQQ05UKG4sIHNpemUpICgobikgKiAoc2l6ZSkg
LyBzaXplb2YoWVlTVFlQRSkpCj4gKy8qIEtlZXAgdGhlIG9yZGVyOyBORVdIRUFQIHRoZW4geG1h
bGxvYyBhbmQgQUREMkhFQVAgdG8gZ2V0IHJpZCBvZgo+ICsgKiBwb3RlbnRpYWwgbWVtb3J5IGxl
YWsgKi8KPiArI2RlZmluZSBORVdIRUFQKCkgcmJfaW1lbW9fdG1wYnVmX3BhcnNlcl9oZWFwKDAs
IHAtPmhlYXAsIDApCj4gKyNkZWZpbmUgQUREMkhFQVAobmV3LCBjbnQsIHB0cikgKChwLT5oZWFw
ID0gKG5ldykpLT5wdHIgPSAocHRyKSwgXAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIChu
ZXcpLT5jbnQgPSAoY250KSwgKHB0cikpCj4gKwo+ICt2b2lkICoKPiArcmJfcGFyc2VyX21hbGxv
YyhzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCwgc2l6ZV90IHNpemUpCj4gK3sKPiArICAgIHNpemVf
dCBjbnQgPSBIRUFQQ05UKDEsIHNpemUpOwo+ICsgICAgcmJfaW1lbW9fdG1wYnVmX3QgKm4gPSBO
RVdIRUFQKCk7Cj4gKyAgICB2b2lkICpwdHIgPSB4bWFsbG9jKHNpemUpOwo+ICsKPiArICAgIHJl
dHVybiBBREQySEVBUChuLCBjbnQsIHB0cik7Cj4gK30KPiArCj4gK3ZvaWQgKgo+ICtyYl9wYXJz
ZXJfY2FsbG9jKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBzaXplX3QgbmVsZW0sIHNpemVfdCBz
aXplKQo+ICt7Cj4gKyAgICBzaXplX3QgY250ID0gSEVBUENOVChuZWxlbSwgc2l6ZSk7Cj4gKyAg
ICByYl9pbWVtb190bXBidWZfdCAqbiA9IE5FV0hFQVAoKTsKPiArICAgIHZvaWQgKnB0ciA9IHhj
YWxsb2MobmVsZW0sIHNpemUpOwo+ICsKPiArICAgIHJldHVybiBBREQySEVBUChuLCBjbnQsIHB0
cik7Cj4gK30KPiArCj4gK3ZvaWQgKgo+ICtyYl9wYXJzZXJfcmVhbGxvYyhzdHJ1Y3QgcGFyc2Vy
X3BhcmFtcyAqcCwgdm9pZCAqcHRyLCBzaXplX3Qgc2l6ZSkKPiArewo+ICsgICAgcmJfaW1lbW9f
dG1wYnVmX3QgKm47Cj4gKyAgICBzaXplX3QgY250ID0gSEVBUENOVCgxLCBzaXplKTsKPiArCj4g
KyAgICBpZiAocHRyICYmIChuID0gcC0+aGVhcCkgIT0gTlVMTCkgewo+ICsgICAgICAgZG8gewo+
ICsgICAgICAgICAgIGlmIChuLT5wdHIgPT0gcHRyKSB7Cj4gKyAgICAgICAgICAgICAgIG4tPnB0
ciA9IHB0ciA9IHhyZWFsbG9jKHB0ciwgc2l6ZSk7Cj4gKyAgICAgICAgICAgICAgIGlmIChuLT5j
bnQpIG4tPmNudCA9IGNudDsKPiArICAgICAgICAgICAgICAgcmV0dXJuIHB0cjsKPiArICAgICAg
ICAgICB9Cj4gKyAgICAgICB9IHdoaWxlICgobiA9IG4tPm5leHQpICE9IE5VTEwpOwo+ICsgICAg
fQo+ICsgICAgbiA9IE5FV0hFQVAoKTsKPiArICAgIHB0ciA9IHhyZWFsbG9jKHB0ciwgc2l6ZSk7
Cj4gKyAgICByZXR1cm4gQUREMkhFQVAobiwgY250LCBwdHIpOwo+ICt9Cj4gKwo+ICt2b2lkCj4g
K3JiX3BhcnNlcl9mcmVlKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCB2b2lkICpwdHIpCj4gK3sK
PiArICAgIHJiX2ltZW1vX3RtcGJ1Zl90ICoqcHJldiA9ICZwLT5oZWFwLCAqbjsKPiArCj4gKyAg
ICB3aGlsZSAoKG4gPSAqcHJldikgIT0gTlVMTCkgewo+ICsgICAgICAgaWYgKG4tPnB0ciA9PSBw
dHIpIHsKPiArICAgICAgICAgICAqcHJldiA9IG4tPm5leHQ7Cj4gKyAgICAgICAgICAgcmJfZ2Nf
Zm9yY2VfcmVjeWNsZSgoVkFMVUUpbik7Cj4gKyAgICAgICAgICAgYnJlYWs7Cj4gKyAgICAgICB9
Cj4gKyAgICAgICBwcmV2ID0gJm4tPm5leHQ7Cj4gKyAgICB9Cj4gKyAgICB4ZnJlZShwdHIpOwo+
ICt9Cj4gKyNlbmRpZgo+ICsKPiArdm9pZAo+ICtyYl9wYXJzZXJfcHJpbnRmKHN0cnVjdCBwYXJz
ZXJfcGFyYW1zICpwLCBjb25zdCBjaGFyICpmbXQsIC4uLikKPiArewo+ICsgICAgdmFfbGlzdCBh
cDsKPiArICAgIFZBTFVFIG1lc2cgPSBwLT5kZWJ1Z19idWZmZXI7Cj4gKwo+ICsgICAgaWYgKE5J
TF9QKG1lc2cpKSBwLT5kZWJ1Z19idWZmZXIgPSBtZXNnID0gcmJfc3RyX25ldygwLCAwKTsKPiAr
ICAgIHZhX3N0YXJ0KGFwLCBmbXQpOwo+ICsgICAgcmJfc3RyX3ZjYXRmKG1lc2csIGZtdCwgYXAp
Owo+ICsgICAgdmFfZW5kKGFwKTsKPiArICAgIGlmIChSU1RSSU5HX0VORChtZXNnKVstMV0gPT0g
J1xuJykgewo+ICsgICAgICAgcmJfaW9fd3JpdGUocC0+ZGVidWdfb3V0cHV0LCBtZXNnKTsKPiAr
ICAgICAgIHAtPmRlYnVnX2J1ZmZlciA9IFFuaWw7Cj4gKyAgICB9Cj4gK30KPiArCj4gK3N0YXRp
YyB2b2lkCj4gK3BhcnNlcl9jb21waWxlX2Vycm9yKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBj
b25zdCBjaGFyICpmbXQsIC4uLikKPiArewo+ICsgICAgdmFfbGlzdCBhcDsKPiArCj4gKyAgICBy
Yl9pb19mbHVzaChwLT5kZWJ1Z19vdXRwdXQpOwo+ICsgICAgcC0+ZXJyb3JfcCA9IDE7Cj4gKyAg
ICB2YV9zdGFydChhcCwgZm10KTsKPiArICAgIHAtPmVycm9yX2J1ZmZlciA9Cj4gKyAgICAgICBy
Yl9zeW50YXhfZXJyb3JfYXBwZW5kKHAtPmVycm9yX2J1ZmZlciwKPiArICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcC0+cnVieV9zb3VyY2VmaWxlX3N0cmluZywKPiArICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcC0+cnVieV9zb3VyY2VsaW5lLAo+ICsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICByYl9sb25nMmludChwLT5sZXgucGN1ciAtIHAtPmxleC5wYmVnKSwKPiAr
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcC0+ZW5jLCBmbXQsIGFwKTsKPiArICAgIHZh
X2VuZChhcCk7Cj4gK30KPiArI2VuZGlmCj4gKwo+ICsjaWZkZWYgUklQUEVSCj4gKyNpZmRlZiBS
SVBQRVJfREVCVUcKPiArZXh0ZXJuIGludCByYl9pc19wb2ludGVyX3RvX2hlYXAoVkFMVUUpOwo+
ICsKPiArLyogOm5vZG9jOiAqLwo+ICtzdGF0aWMgVkFMVUUKPiArcmlwcGVyX3ZhbGlkYXRlX29i
amVjdChWQUxVRSBzZWxmLCBWQUxVRSB4KQo+ICt7Cj4gKyAgICBpZiAoeCA9PSBRZmFsc2UpIHJl
dHVybiB4Owo+ICsgICAgaWYgKHggPT0gUXRydWUpIHJldHVybiB4Owo+ICsgICAgaWYgKHggPT0g
UW5pbCkgcmV0dXJuIHg7Cj4gKyAgICBpZiAoeCA9PSBRdW5kZWYpCj4gKyAgICAgICAgcmJfcmFp
c2UocmJfZUFyZ0Vycm9yLCAiUXVuZGVmIGdpdmVuIik7Cj4gKyAgICBpZiAoRklYTlVNX1AoeCkp
IHJldHVybiB4Owo+ICsgICAgaWYgKFNZTUJPTF9QKHgpKSByZXR1cm4geDsKPiArICAgIGlmICgh
cmJfaXNfcG9pbnRlcl90b19oZWFwKHgpKQo+ICsgICAgICAgIHJiX3JhaXNlKHJiX2VBcmdFcnJv
ciwgImludmFsaWQgcG9pbnRlcjogJXAiLCB4KTsKPiArICAgIHN3aXRjaCAoQlVJTFRJTl9UWVBF
KHgpKSB7Cj4gKyAgICAgIGNhc2UgVF9TVFJJTkc6Cj4gKyAgICAgIGNhc2UgVF9PQkpFQ1Q6Cj4g
KyAgICAgIGNhc2UgVF9BUlJBWToKPiArICAgICAgY2FzZSBUX0JJR05VTToKPiArICAgICAgY2Fz
ZSBUX0ZMT0FUOgo+ICsgICAgICBjYXNlIFRfQ09NUExFWDoKPiArICAgICAgY2FzZSBUX1JBVElP
TkFMOgo+ICsgICAgICAgIHJldHVybiB4Owo+ICsgICAgICBjYXNlIFRfTk9ERToKPiArICAgICAg
IGlmIChuZF90eXBlKHgpICE9IE5PREVfUklQUEVSKSB7Cj4gKyAgICAgICAgICAgcmJfcmFpc2Uo
cmJfZUFyZ0Vycm9yLCAiTk9ERSBnaXZlbjogJXAiLCB4KTsKPiArICAgICAgIH0KPiArICAgICAg
IHJldHVybiAoKE5PREUgKil4KS0+bmRfcnZhbDsKPiArICAgICAgZGVmYXVsdDoKPiArICAgICAg
ICByYl9yYWlzZShyYl9lQXJnRXJyb3IsICJ3cm9uZyB0eXBlIG9mIHJ1Ynkgb2JqZWN0OiAlcCAo
JXMpIiwKPiArICAgICAgICAgICAgICAgICB4LCByYl9vYmpfY2xhc3NuYW1lKHgpKTsKPiArICAg
IH0KPiArICAgIHJldHVybiB4Owo+ICt9Cj4gKyNlbmRpZgo+ICsKPiArI2RlZmluZSB2YWxpZGF0
ZSh4KSAoKHgpID0gZ2V0X3ZhbHVlKHgpKQo+ICsKPiArc3RhdGljIFZBTFVFCj4gK3JpcHBlcl9k
aXNwYXRjaDAoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIElEIG1pZCkKPiArewo+ICsgICAgcmV0
dXJuIHJiX2Z1bmNhbGwocC0+dmFsdWUsIG1pZCwgMCk7Cj4gK30KPiArCj4gK3N0YXRpYyBWQUxV
RQo+ICtyaXBwZXJfZGlzcGF0Y2gxKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBJRCBtaWQsIFZB
TFVFIGEpCj4gK3sKPiArICAgIHZhbGlkYXRlKGEpOwo+ICsgICAgcmV0dXJuIHJiX2Z1bmNhbGwo
cC0+dmFsdWUsIG1pZCwgMSwgYSk7Cj4gK30KPiArCj4gK3N0YXRpYyBWQUxVRQo+ICtyaXBwZXJf
ZGlzcGF0Y2gyKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBJRCBtaWQsIFZBTFVFIGEsIFZBTFVF
IGIpCj4gK3sKPiArICAgIHZhbGlkYXRlKGEpOwo+ICsgICAgdmFsaWRhdGUoYik7Cj4gKyAgICBy
ZXR1cm4gcmJfZnVuY2FsbChwLT52YWx1ZSwgbWlkLCAyLCBhLCBiKTsKPiArfQo+ICsKPiArc3Rh
dGljIFZBTFVFCj4gK3JpcHBlcl9kaXNwYXRjaDMoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIElE
IG1pZCwgVkFMVUUgYSwgVkFMVUUgYiwgVkFMVUUgYykKPiArewo+ICsgICAgdmFsaWRhdGUoYSk7
Cj4gKyAgICB2YWxpZGF0ZShiKTsKPiArICAgIHZhbGlkYXRlKGMpOwo+ICsgICAgcmV0dXJuIHJi
X2Z1bmNhbGwocC0+dmFsdWUsIG1pZCwgMywgYSwgYiwgYyk7Cj4gK30KPiArCj4gK3N0YXRpYyBW
QUxVRQo+ICtyaXBwZXJfZGlzcGF0Y2g0KHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwLCBJRCBtaWQs
IFZBTFVFIGEsIFZBTFVFIGIsIFZBTFVFIGMsIFZBTFVFIGQpCj4gK3sKPiArICAgIHZhbGlkYXRl
KGEpOwo+ICsgICAgdmFsaWRhdGUoYik7Cj4gKyAgICB2YWxpZGF0ZShjKTsKPiArICAgIHZhbGlk
YXRlKGQpOwo+ICsgICAgcmV0dXJuIHJiX2Z1bmNhbGwocC0+dmFsdWUsIG1pZCwgNCwgYSwgYiwg
YywgZCk7Cj4gK30KPiArCj4gK3N0YXRpYyBWQUxVRQo+ICtyaXBwZXJfZGlzcGF0Y2g1KHN0cnVj
dCBwYXJzZXJfcGFyYW1zICpwLCBJRCBtaWQsIFZBTFVFIGEsIFZBTFVFIGIsIFZBTFVFIGMsIFZB
TFVFIGQsIFZBTFVFIGUpCj4gK3sKPiArICAgIHZhbGlkYXRlKGEpOwo+ICsgICAgdmFsaWRhdGUo
Yik7Cj4gKyAgICB2YWxpZGF0ZShjKTsKPiArICAgIHZhbGlkYXRlKGQpOwo+ICsgICAgdmFsaWRh
dGUoZSk7Cj4gKyAgICByZXR1cm4gcmJfZnVuY2FsbChwLT52YWx1ZSwgbWlkLCA1LCBhLCBiLCBj
LCBkLCBlKTsKPiArfQo+ICsKPiArc3RhdGljIFZBTFVFCj4gK3JpcHBlcl9kaXNwYXRjaDcoc3Ry
dWN0IHBhcnNlcl9wYXJhbXMgKnAsIElEIG1pZCwgVkFMVUUgYSwgVkFMVUUgYiwgVkFMVUUgYywg
VkFMVUUgZCwgVkFMVUUgZSwgVkFMVUUgZiwgVkFMVUUgZykKPiArewo+ICsgICAgdmFsaWRhdGUo
YSk7Cj4gKyAgICB2YWxpZGF0ZShiKTsKPiArICAgIHZhbGlkYXRlKGMpOwo+ICsgICAgdmFsaWRh
dGUoZCk7Cj4gKyAgICB2YWxpZGF0ZShlKTsKPiArICAgIHZhbGlkYXRlKGYpOwo+ICsgICAgdmFs
aWRhdGUoZyk7Cj4gKyAgICByZXR1cm4gcmJfZnVuY2FsbChwLT52YWx1ZSwgbWlkLCA3LCBhLCBi
LCBjLCBkLCBlLCBmLCBnKTsKPiArfQo+ICsKPiArc3RhdGljIElECj4gK3JpcHBlcl9nZXRfaWQo
VkFMVUUgdikKPiArewo+ICsgICAgTk9ERSAqbmQ7Cj4gKyAgICBpZiAoIVJCX1RZUEVfUCh2LCBU
X05PREUpKSByZXR1cm4gMDsKPiArICAgIG5kID0gKE5PREUgKil2Owo+ICsgICAgaWYgKG5kX3R5
cGUobmQpICE9IE5PREVfUklQUEVSKSByZXR1cm4gMDsKPiArICAgIHJldHVybiBuZC0+bmRfdmlk
Owo+ICt9Cj4gKwo+ICtzdGF0aWMgVkFMVUUKPiArcmlwcGVyX2dldF92YWx1ZShWQUxVRSB2KQo+
ICt7Cj4gKyAgICBOT0RFICpuZDsKPiArICAgIGlmICh2ID09IFF1bmRlZikgcmV0dXJuIFFuaWw7
Cj4gKyAgICBpZiAoIVJCX1RZUEVfUCh2LCBUX05PREUpKSByZXR1cm4gdjsKPiArICAgIG5kID0g
KE5PREUgKil2Owo+ICsgICAgaWYgKG5kX3R5cGUobmQpICE9IE5PREVfUklQUEVSKSByZXR1cm4g
UW5pbDsKPiArICAgIHJldHVybiBuZC0+bmRfcnZhbDsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQK
PiArcmlwcGVyX2Vycm9yKHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwKQo+ICt7Cj4gKyAgICBwLT5l
cnJvcl9wID0gVFJVRTsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQKPiArcmlwcGVyX2NvbXBpbGVf
ZXJyb3Ioc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQo+ICt7
Cj4gKyAgICBWQUxVRSBzdHI7Cj4gKyAgICB2YV9saXN0IGFyZ3M7Cj4gKwo+ICsgICAgdmFfc3Rh
cnQoYXJncywgZm10KTsKPiArICAgIHN0ciA9IHJiX3ZzcHJpbnRmKGZtdCwgYXJncyk7Cj4gKyAg
ICB2YV9lbmQoYXJncyk7Cj4gKyAgICByYl9mdW5jYWxsKHAtPnZhbHVlLCByYl9pbnRlcm4oImNv
bXBpbGVfZXJyb3IiKSwgMSwgc3RyKTsKPiArICAgIHJpcHBlcl9lcnJvcihwKTsKPiArfQo+ICsK
PiArc3RhdGljIFZBTFVFCj4gK3JpcHBlcl9sZXhfZ2V0X2dlbmVyaWMoc3RydWN0IHBhcnNlcl9w
YXJhbXMgKnAsIFZBTFVFIHNyYykKPiArewo+ICsgICAgVkFMVUUgbGluZSA9IHJiX2Z1bmNhbGx2
X3B1YmxpYyhzcmMsIGlkX2dldHMsIDAsIDApOwo+ICsgICAgaWYgKCFOSUxfUChsaW5lKSAmJiAh
UkJfVFlQRV9QKGxpbmUsIFRfU1RSSU5HKSkgewo+ICsgICAgICAgcmJfcmFpc2UocmJfZVR5cGVF
cnJvciwKPiArICAgICAgICAgICAgICAgICJnZXRzIHJldHVybmVkICUiUFJJc1ZBTFVFIiAoZXhw
ZWN0ZWQgU3RyaW5nIG9yIG5pbCkiLAo+ICsgICAgICAgICAgICAgICAgcmJfb2JqX2NsYXNzKGxp
bmUpKTsKPiArICAgIH0KPiArICAgIHJldHVybiBsaW5lOwo+ICt9Cj4gKwo+ICtzdGF0aWMgVkFM
VUUKPiArcmlwcGVyX2xleF9pb19nZXQoc3RydWN0IHBhcnNlcl9wYXJhbXMgKnAsIFZBTFVFIHNy
YykKPiArewo+ICsgICAgcmV0dXJuIHJiX2lvX2dldHMoc3JjKTsKPiArfQo+ICsKPiArc3RhdGlj
IFZBTFVFCj4gK3JpcHBlcl9zX2FsbG9jYXRlKFZBTFVFIGtsYXNzKQo+ICt7Cj4gKyAgICBzdHJ1
Y3QgcGFyc2VyX3BhcmFtcyAqcDsKPiArICAgIFZBTFVFIHNlbGYgPSBUeXBlZERhdGFfTWFrZV9T
dHJ1Y3Qoa2xhc3MsIHN0cnVjdCBwYXJzZXJfcGFyYW1zLAo+ICsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICZwYXJzZXJfZGF0YV90eXBlLCBwKTsKPiArICAgIHAtPnZhbHVl
ID0gc2VsZjsKPiArICAgIHJldHVybiBzZWxmOwo+ICt9Cj4gKwo+ICsjZGVmaW5lIHJpcHBlcl9p
bml0aWFsaXplZF9wKHIpICgociktPmxleC5pbnB1dCAhPSAwKQo+ICsKPiArLyoKPiArICogIGNh
bGwtc2VxOgo+ICsgKiAgICBSaXBwZXIubmV3KHNyYywgZmlsZW5hbWU9IihyaXBwZXIpIiwgbGlu
ZW5vPTEpIC0+IHJpcHBlcgo+ICsgKgo+ICsgKiAgQ3JlYXRlIGEgbmV3IFJpcHBlciBvYmplY3Qu
Cj4gKyAqICBfc3JjXyBtdXN0IGJlIGEgU3RyaW5nLCBhbiBJTywgb3IgYW4gT2JqZWN0IHdoaWNo
IGhhcyAjZ2V0cyBtZXRob2QuCj4gKyAqCj4gKyAqICBUaGlzIG1ldGhvZCBkb2VzIG5vdCBzdGFy
dHMgcGFyc2luZy4KPiArICogIFNlZSBhbHNvIFJpcHBlciNwYXJzZSBhbmQgUmlwcGVyLnBhcnNl
Lgo+ICsgKi8KPiArc3RhdGljIFZBTFVFCj4gK3JpcHBlcl9pbml0aWFsaXplKGludCBhcmdjLCBW
QUxVRSAqYXJndiwgVkFMVUUgc2VsZikKPiArewo+ICsgICAgc3RydWN0IHBhcnNlcl9wYXJhbXMg
KnA7Cj4gKyAgICBWQUxVRSBzcmMsIGZuYW1lLCBsaW5lbm87Cj4gKwo+ICsgICAgVHlwZWREYXRh
X0dldF9TdHJ1Y3Qoc2VsZiwgc3RydWN0IHBhcnNlcl9wYXJhbXMsICZwYXJzZXJfZGF0YV90eXBl
LCBwKTsKPiArICAgIHJiX3NjYW5fYXJncyhhcmdjLCBhcmd2LCAiMTIiLCAmc3JjLCAmZm5hbWUs
ICZsaW5lbm8pOwo+ICsgICAgaWYgKFJCX1RZUEVfUChzcmMsIFRfRklMRSkpIHsKPiArICAgICAg
ICBwLT5sZXguZ2V0cyA9IHJpcHBlcl9sZXhfaW9fZ2V0Owo+ICsgICAgfQo+ICsgICAgZWxzZSBp
ZiAocmJfcmVzcG9uZF90byhzcmMsIGlkX2dldHMpKSB7Cj4gKyAgICAgICAgcC0+bGV4LmdldHMg
PSByaXBwZXJfbGV4X2dldF9nZW5lcmljOwo+ICsgICAgfQo+ICsgICAgZWxzZSB7Cj4gKyAgICAg
ICAgU3RyaW5nVmFsdWUoc3JjKTsKPiArICAgICAgICBwLT5sZXguZ2V0cyA9IGxleF9nZXRfc3Ry
Owo+ICsgICAgfQo+ICsgICAgcC0+bGV4LmlucHV0ID0gc3JjOwo+ICsgICAgcC0+ZW9mcCA9IDA7
Cj4gKyAgICBpZiAoTklMX1AoZm5hbWUpKSB7Cj4gKyAgICAgICAgZm5hbWUgPSBTVFJfTkVXMigi
KHJpcHBlcikiKTsKPiArICAgICAgIE9CSl9GUkVFWkUoZm5hbWUpOwo+ICsgICAgfQo+ICsgICAg
ZWxzZSB7Cj4gKyAgICAgICBTdHJpbmdWYWx1ZUNTdHIoZm5hbWUpOwo+ICsgICAgICAgZm5hbWUg
PSByYl9zdHJfbmV3X2Zyb3plbihmbmFtZSk7Cj4gKyAgICB9Cj4gKyAgICBwYXJzZXJfaW5pdGlh
bGl6ZShwKTsKPiArCj4gKyAgICBwLT5ydWJ5X3NvdXJjZWZpbGVfc3RyaW5nID0gZm5hbWU7Cj4g
KyAgICBwLT5ydWJ5X3NvdXJjZWZpbGUgPSBSU1RSSU5HX1BUUihmbmFtZSk7Cj4gKyAgICBwLT5y
dWJ5X3NvdXJjZWxpbmUgPSBOSUxfUChsaW5lbm8pID8gMCA6IE5VTTJJTlQobGluZW5vKSAtIDE7
Cj4gKwo+ICsgICAgcmV0dXJuIFFuaWw7Cj4gK30KPiArCj4gK3N0YXRpYyBWQUxVRQo+ICtyaXBw
ZXJfcGFyc2UwKFZBTFVFIHBhcnNlcl92KQo+ICt7Cj4gKyAgICBzdHJ1Y3QgcGFyc2VyX3BhcmFt
cyAqcDsKPiArCj4gKyAgICBUeXBlZERhdGFfR2V0X1N0cnVjdChwYXJzZXJfdiwgc3RydWN0IHBh
cnNlcl9wYXJhbXMsICZwYXJzZXJfZGF0YV90eXBlLCBwKTsKPiArICAgIHBhcnNlcl9wcmVwYXJl
KHApOwo+ICsgICAgcC0+YXN0ID0gcmJfYXN0X25ldygpOwo+ICsgICAgcmlwcGVyX3l5cGFyc2Uo
KHZvaWQqKXApOwo+ICsgICAgcmJfYXN0X2Rpc3Bvc2UocC0+YXN0KTsKPiArICAgIHAtPmFzdCA9
IDA7Cj4gKyAgICByZXR1cm4gcC0+cmVzdWx0Owo+ICt9Cj4gKwo+ICtzdGF0aWMgVkFMVUUKPiAr
cmlwcGVyX2Vuc3VyZShWQUxVRSBwYXJzZXJfdikKPiArewo+ICsgICAgc3RydWN0IHBhcnNlcl9w
YXJhbXMgKnA7Cj4gKwo+ICsgICAgVHlwZWREYXRhX0dldF9TdHJ1Y3QocGFyc2VyX3YsIHN0cnVj
dCBwYXJzZXJfcGFyYW1zLCAmcGFyc2VyX2RhdGFfdHlwZSwgcCk7Cj4gKyAgICBwLT5wYXJzaW5n
X3RocmVhZCA9IFFuaWw7Cj4gKyAgICByZXR1cm4gUW5pbDsKPiArfQo+ICsKPiArLyoKPiArICog
IGNhbGwtc2VxOgo+ICsgKiAgICByaXBwZXIucGFyc2UKPiArICoKPiArICogIFN0YXJ0IHBhcnNp
bmcgYW5kIHJldHVybnMgdGhlIHZhbHVlIG9mIHRoZSByb290IGFjdGlvbi4KPiArICovCj4gK3N0
YXRpYyBWQUxVRQo+ICtyaXBwZXJfcGFyc2UoVkFMVUUgc2VsZikKPiArewo+ICsgICAgc3RydWN0
IHBhcnNlcl9wYXJhbXMgKnA7Cj4gKwo+ICsgICAgVHlwZWREYXRhX0dldF9TdHJ1Y3Qoc2VsZiwg
c3RydWN0IHBhcnNlcl9wYXJhbXMsICZwYXJzZXJfZGF0YV90eXBlLCBwKTsKPiArICAgIGlmICgh
cmlwcGVyX2luaXRpYWxpemVkX3AocCkpIHsKPiArICAgICAgICByYl9yYWlzZShyYl9lQXJnRXJy
b3IsICJtZXRob2QgY2FsbGVkIGZvciB1bmluaXRpYWxpemVkIG9iamVjdCIpOwo+ICsgICAgfQo+
ICsgICAgaWYgKCFOSUxfUChwLT5wYXJzaW5nX3RocmVhZCkpIHsKPiArICAgICAgICBpZiAocC0+
cGFyc2luZ190aHJlYWQgPT0gcmJfdGhyZWFkX2N1cnJlbnQoKSkKPiArICAgICAgICAgICAgcmJf
cmFpc2UocmJfZUFyZ0Vycm9yLCAiUmlwcGVyI3BhcnNlIGlzIG5vdCByZWVudHJhbnQiKTsKPiAr
ICAgICAgICBlbHNlCj4gKyAgICAgICAgICAgIHJiX3JhaXNlKHJiX2VBcmdFcnJvciwgIlJpcHBl
ciNwYXJzZSBpcyBub3QgbXVsdGl0aHJlYWQtc2FmZSIpOwo+ICsgICAgfQo+ICsgICAgcC0+cGFy
c2luZ190aHJlYWQgPSByYl90aHJlYWRfY3VycmVudCgpOwo+ICsgICAgcmJfZW5zdXJlKHJpcHBl
cl9wYXJzZTAsIHNlbGYsIHJpcHBlcl9lbnN1cmUsIHNlbGYpOwo+ICsKPiArICAgIHJldHVybiBw
LT5yZXN1bHQ7Cj4gK30KPiArCj4gKy8qCj4gKyAqICBjYWxsLXNlcToKPiArICogICAgcmlwcGVy
LmNvbHVtbiAgIC0+IEludGVnZXIKPiArICoKPiArICogIFJldHVybiBjb2x1bW4gbnVtYmVyIG9m
IGN1cnJlbnQgcGFyc2luZyBsaW5lLgo+ICsgKiAgVGhpcyBudW1iZXIgc3RhcnRzIGZyb20gMC4K
PiArICovCj4gK3N0YXRpYyBWQUxVRQo+ICtyaXBwZXJfY29sdW1uKFZBTFVFIHNlbGYpCj4gK3sK
PiArICAgIHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwOwo+ICsgICAgbG9uZyBjb2w7Cj4gKwo+ICsg
ICAgVHlwZWREYXRhX0dldF9TdHJ1Y3Qoc2VsZiwgc3RydWN0IHBhcnNlcl9wYXJhbXMsICZwYXJz
ZXJfZGF0YV90eXBlLCBwKTsKPiArICAgIGlmICghcmlwcGVyX2luaXRpYWxpemVkX3AocCkpIHsK
PiArICAgICAgICByYl9yYWlzZShyYl9lQXJnRXJyb3IsICJtZXRob2QgY2FsbGVkIGZvciB1bmlu
aXRpYWxpemVkIG9iamVjdCIpOwo+ICsgICAgfQo+ICsgICAgaWYgKE5JTF9QKHAtPnBhcnNpbmdf
dGhyZWFkKSkgcmV0dXJuIFFuaWw7Cj4gKyAgICBjb2wgPSBwLT5sZXgucHRvayAtIHAtPmxleC5w
YmVnOwo+ICsgICAgcmV0dXJuIExPTkcyTlVNKGNvbCk7Cj4gK30KPiArCj4gKy8qCj4gKyAqICBj
YWxsLXNlcToKPiArICogICAgcmlwcGVyLmZpbGVuYW1lICAgLT4gU3RyaW5nCj4gKyAqCj4gKyAq
ICBSZXR1cm4gY3VycmVudCBwYXJzaW5nIGZpbGVuYW1lLgo+ICsgKi8KPiArc3RhdGljIFZBTFVF
Cj4gK3JpcHBlcl9maWxlbmFtZShWQUxVRSBzZWxmKQo+ICt7Cj4gKyAgICBzdHJ1Y3QgcGFyc2Vy
X3BhcmFtcyAqcDsKPiArCj4gKyAgICBUeXBlZERhdGFfR2V0X1N0cnVjdChzZWxmLCBzdHJ1Y3Qg
cGFyc2VyX3BhcmFtcywgJnBhcnNlcl9kYXRhX3R5cGUsIHApOwo+ICsgICAgaWYgKCFyaXBwZXJf
aW5pdGlhbGl6ZWRfcChwKSkgewo+ICsgICAgICAgIHJiX3JhaXNlKHJiX2VBcmdFcnJvciwgIm1l
dGhvZCBjYWxsZWQgZm9yIHVuaW5pdGlhbGl6ZWQgb2JqZWN0Iik7Cj4gKyAgICB9Cj4gKyAgICBy
ZXR1cm4gcC0+cnVieV9zb3VyY2VmaWxlX3N0cmluZzsKPiArfQo+ICsKPiArLyoKPiArICogIGNh
bGwtc2VxOgo+ICsgKiAgICByaXBwZXIubGluZW5vICAgLT4gSW50ZWdlcgo+ICsgKgo+ICsgKiAg
UmV0dXJuIGxpbmUgbnVtYmVyIG9mIGN1cnJlbnQgcGFyc2luZyBsaW5lLgo+ICsgKiAgVGhpcyBu
dW1iZXIgc3RhcnRzIGZyb20gMS4KPiArICovCj4gK3N0YXRpYyBWQUxVRQo+ICtyaXBwZXJfbGlu
ZW5vKFZBTFVFIHNlbGYpCj4gK3sKPiArICAgIHN0cnVjdCBwYXJzZXJfcGFyYW1zICpwOwo+ICsK
PiArICAgIFR5cGVkRGF0YV9HZXRfU3RydWN0KHNlbGYsIHN0cnVjdCBwYXJzZXJfcGFyYW1zLCAm
cGFyc2VyX2RhdGFfdHlwZSwgcCk7Cj4gKyAgICBpZiAoIXJpcHBlcl9pbml0aWFsaXplZF9wKHAp
KSB7Cj4gKyAgICAgICAgcmJfcmFpc2UocmJfZUFyZ0Vycm9yLCAibWV0aG9kIGNhbGxlZCBmb3Ig
dW5pbml0aWFsaXplZCBvYmplY3QiKTsKPiArICAgIH0KPiArICAgIGlmIChOSUxfUChwLT5wYXJz
aW5nX3RocmVhZCkpIHJldHVybiBRbmlsOwo+ICsgICAgcmV0dXJuIElOVDJOVU0ocC0+cnVieV9z
b3VyY2VsaW5lKTsKPiArfQo+ICsKPiArLyoKPiArICogIGNhbGwtc2VxOgo+ICsgKiAgICByaXBw
ZXIuc3RhdGUgICAtPiBJbnRlZ2VyCj4gKyAqCj4gKyAqICBSZXR1cm4gc2Nhbm5lciBzdGF0ZSBv
ZiBjdXJyZW50IHRva2VuLgo+ICsgKi8KPiArc3RhdGljIFZBTFVFCj4gK3JpcHBlcl9zdGF0ZShW
QUxVRSBzZWxmKQo+ICt7Cj4gKyAgICBzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcDsKPiArCj4gKyAg
ICBUeXBlZERhdGFfR2V0X1N0cnVjdChzZWxmLCBzdHJ1Y3QgcGFyc2VyX3BhcmFtcywgJnBhcnNl
cl9kYXRhX3R5cGUsIHApOwo+ICsgICAgaWYgKCFyaXBwZXJfaW5pdGlhbGl6ZWRfcChwKSkgewo+
ICsgICAgICAgcmJfcmFpc2UocmJfZUFyZ0Vycm9yLCAibWV0aG9kIGNhbGxlZCBmb3IgdW5pbml0
aWFsaXplZCBvYmplY3QiKTsKPiArICAgIH0KPiArICAgIGlmIChOSUxfUChwLT5wYXJzaW5nX3Ro
cmVhZCkpIHJldHVybiBRbmlsOwo+ICsgICAgcmV0dXJuIElOVDJOVU0ocC0+bGV4LnN0YXRlKTsK
PiArfQo+ICsKPiArI2lmZGVmIFJJUFBFUl9ERUJVRwo+ICsvKiA6bm9kb2M6ICovCj4gK3N0YXRp
YyBWQUxVRQo+ICtyaXBwZXJfYXNzZXJ0X1F1bmRlZihWQUxVRSBzZWxmLCBWQUxVRSBvYmosIFZB
TFVFIG1zZykKPiArewo+ICsgICAgU3RyaW5nVmFsdWUobXNnKTsKPiArICAgIGlmIChvYmogPT0g
UXVuZGVmKSB7Cj4gKyAgICAgICAgcmJfcmFpc2UocmJfZUFyZ0Vycm9yLCAiJSJQUklzVkFMVUUs
IG1zZyk7Cj4gKyAgICB9Cj4gKyAgICByZXR1cm4gUW5pbDsKPiArfQo+ICsKPiArLyogOm5vZG9j
OiAqLwo+ICtzdGF0aWMgVkFMVUUKPiArcmlwcGVyX3ZhbHVlKFZBTFVFIHNlbGYsIFZBTFVFIG9i
aikKPiArewo+ICsgICAgcmV0dXJuIFVMT05HMk5VTShvYmopOwo+ICt9Cj4gKyNlbmRpZgo+ICsK
PiArLyoKPiArICogIGNhbGwtc2VxOgo+ICsgKiAgICBSaXBwZXIubGV4X3N0YXRlX25hbWUoaW50
ZWdlcikgICAtPiBzdHJpbmcKPiArICoKPiArICogIFJldHVybnMgYSBzdHJpbmcgcmVwcmVzZW50
YXRpb24gb2YgbGV4X3N0YXRlLgo+ICsgKi8KPiArc3RhdGljIFZBTFVFCj4gK3JpcHBlcl9sZXhf
c3RhdGVfbmFtZShWQUxVRSBzZWxmLCBWQUxVRSBzdGF0ZSkKPiArewo+ICsgICAgcmV0dXJuIHJi
X3BhcnNlcl9sZXhfc3RhdGVfbmFtZShOVU0ySU5UKHN0YXRlKSk7Cj4gK30KPiArCj4gK3ZvaWQK
PiArSW5pdF9yaXBwZXIodm9pZCkKPiArewo+ICsgICAgcmlwcGVyX2luaXRfZXZlbnRpZHMxKCk7
Cj4gKyAgICByaXBwZXJfaW5pdF9ldmVudGlkczIoKTsKPiArICAgIGlkX3dhcm4gPSByYl9pbnRl
cm5fY29uc3QoIndhcm4iKTsKPiArICAgIGlkX3dhcm5pbmcgPSByYl9pbnRlcm5fY29uc3QoIndh
cm5pbmciKTsKPiArICAgIGlkX2dldHMgPSByYl9pbnRlcm5fY29uc3QoImdldHMiKTsKPiArCj4g
KyAgICBJbml0Vk0ocmlwcGVyKTsKPiArfQo+ICsKPiArdm9pZAo+ICtJbml0Vk1fcmlwcGVyKHZv
aWQpCj4gK3sKPiArICAgIFZBTFVFIFJpcHBlcjsKPiArCj4gKyAgICBSaXBwZXIgPSByYl9kZWZp
bmVfY2xhc3MoIlJpcHBlciIsIHJiX2NPYmplY3QpOwo+ICsgICAgLyogdmVyc2lvbiBvZiBSaXBw
ZXIgKi8KPiArICAgIHJiX2RlZmluZV9jb25zdChSaXBwZXIsICJWZXJzaW9uIiwgcmJfdXNhc2Np
aV9zdHJfbmV3MihSSVBQRVJfVkVSU0lPTikpOwo+ICsgICAgcmJfZGVmaW5lX2FsbG9jX2Z1bmMo
UmlwcGVyLCByaXBwZXJfc19hbGxvY2F0ZSk7Cj4gKyAgICByYl9kZWZpbmVfbWV0aG9kKFJpcHBl
ciwgImluaXRpYWxpemUiLCByaXBwZXJfaW5pdGlhbGl6ZSwgLTEpOwo+ICsgICAgcmJfZGVmaW5l
X21ldGhvZChSaXBwZXIsICJwYXJzZSIsIHJpcHBlcl9wYXJzZSwgMCk7Cj4gKyAgICByYl9kZWZp
bmVfbWV0aG9kKFJpcHBlciwgImNvbHVtbiIsIHJpcHBlcl9jb2x1bW4sIDApOwo+ICsgICAgcmJf
ZGVmaW5lX21ldGhvZChSaXBwZXIsICJmaWxlbmFtZSIsIHJpcHBlcl9maWxlbmFtZSwgMCk7Cj4g
KyAgICByYl9kZWZpbmVfbWV0aG9kKFJpcHBlciwgImxpbmVubyIsIHJpcHBlcl9saW5lbm8sIDAp
Owo+ICsgICAgcmJfZGVmaW5lX21ldGhvZChSaXBwZXIsICJzdGF0ZSIsIHJpcHBlcl9zdGF0ZSwg
MCk7Cj4gKyAgICByYl9kZWZpbmVfbWV0aG9kKFJpcHBlciwgImVuZF9zZWVuPyIsIHJiX3BhcnNl
cl9lbmRfc2Vlbl9wLCAwKTsKPiArICAgIHJiX2RlZmluZV9tZXRob2QoUmlwcGVyLCAiZW5jb2Rp
bmciLCByYl9wYXJzZXJfZW5jb2RpbmcsIDApOwo+ICsgICAgcmJfZGVmaW5lX21ldGhvZChSaXBw
ZXIsICJ5eWRlYnVnIiwgcmJfcGFyc2VyX2dldF95eWRlYnVnLCAwKTsKPiArICAgIHJiX2RlZmlu
ZV9tZXRob2QoUmlwcGVyLCAieXlkZWJ1Zz0iLCByYl9wYXJzZXJfc2V0X3l5ZGVidWcsIDEpOwo+
ICsgICAgcmJfZGVmaW5lX21ldGhvZChSaXBwZXIsICJlcnJvcj8iLCByaXBwZXJfZXJyb3JfcCwg
MCk7Cj4gKyNpZmRlZiBSSVBQRVJfREVCVUcKPiArICAgIHJiX2RlZmluZV9tZXRob2QocmJfbUtl
cm5lbCwgImFzc2VydF9RdW5kZWYiLCByaXBwZXJfYXNzZXJ0X1F1bmRlZiwgMik7Cj4gKyAgICBy
Yl9kZWZpbmVfbWV0aG9kKHJiX21LZXJuZWwsICJyYXdWQUxVRSIsIHJpcHBlcl92YWx1ZSwgMSk7
Cj4gKyAgICByYl9kZWZpbmVfbWV0aG9kKHJiX21LZXJuZWwsICJ2YWxpZGF0ZV9vYmplY3QiLCBy
aXBwZXJfdmFsaWRhdGVfb2JqZWN0LCAxKTsKPiArI2VuZGlmCj4gKwo+ICsgICAgcmJfZGVmaW5l
X3NpbmdsZXRvbl9tZXRob2QoUmlwcGVyLCAiZGVkZW50X3N0cmluZyIsIHBhcnNlcl9kZWRlbnRf
c3RyaW5nLCAyKTsKPiArICAgIHJiX2RlZmluZV9wcml2YXRlX21ldGhvZChSaXBwZXIsICJkZWRl
bnRfc3RyaW5nIiwgcGFyc2VyX2RlZGVudF9zdHJpbmcsIDIpOwo+ICsKPiArICAgIHJiX2RlZmlu
ZV9zaW5nbGV0b25fbWV0aG9kKFJpcHBlciwgImxleF9zdGF0ZV9uYW1lIiwgcmlwcGVyX2xleF9z
dGF0ZV9uYW1lLCAxKTsKPiArCj4gKzwlIEBleHBycy5lYWNoIGRvIHxleHByLCBkZXNjfCAtJT4K
PiArICAgIC8qIDwlPWRlc2MlPiAqLwo+ICsgICAgcmJfZGVmaW5lX2NvbnN0KFJpcHBlciwgIjwl
PWV4cHIlPiIsIElOVDJOVU0oPCU9ZXhwciU+KSk7Cj4gKzwlIGVuZCAlPgo+ICsgICAgcmlwcGVy
X2luaXRfZXZlbnRpZHMxX3RhYmxlKFJpcHBlcik7Cj4gKyAgICByaXBwZXJfaW5pdF9ldmVudGlk
czJfdGFibGUoUmlwcGVyKTsKPiArCj4gKyMgaWYgMAo+ICsgICAgLyogSGFjayB0byBsZXQgUkRv
YyBkb2N1bWVudCBTQ1JJUFRfTElORVNfXyAqLwo+ICsKPiArICAgIC8qCj4gKyAgICAgKiBXaGVu
IGEgSGFzaCBpcyBhc3NpZ25lZCB0byArU0NSSVBUX0xJTkVTX18rIHRoZSBjb250ZW50cyBvZiBm
aWxlcyBsb2FkZWQKPiArICAgICAqIGFmdGVyIHRoZSBhc3NpZ25tZW50IHdpbGwgYmUgYWRkZWQg
YXMgYW4gQXJyYXkgb2YgbGluZXMgd2l0aCB0aGUgZmlsZQo+ICsgICAgICogbmFtZSBhcyB0aGUg
a2V5Lgo+ICsgICAgICovCj4gKyAgICByYl9kZWZpbmVfZ2xvYmFsX2NvbnN0KCJTQ1JJUFRfTElO
RVNfXyIsIFFuaWwpOwo+ICsjZW5kaWYKPiArCj4gK30KPiArI2VuZGlmIC8qIFJJUFBFUiAqLwo+
IGRpZmYgLS1naXQgYS9nZW5lcmF0ZWQvcGFyc2UuaCBiL2dlbmVyYXRlZC9wYXJzZS5oCj4gbmV3
IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi40YWUzNzg4Cj4gLS0tIC9kZXYvbnVs
bAo+ICsrKyBiL2dlbmVyYXRlZC9wYXJzZS5oCj4gQEAgLTAsMCArMSwyMTEgQEAKPiArLyogQSBC
aXNvbiBwYXJzZXIsIG1hZGUgYnkgR05VIEJpc29uIDMuMy4yLiAgKi8KPiArCj4gKy8qIEJpc29u
IGludGVyZmFjZSBmb3IgWWFjYy1saWtlIHBhcnNlcnMgaW4gQwo+ICsKPiArICAgQ29weXJpZ2h0
IChDKSAxOTg0LCAxOTg5LTE5OTAsIDIwMDAtMjAxNSwgMjAxOC0yMDE5IEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbiwKPiArICAgSW5jLgo+ICsKPiArICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29m
dHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKPiArICAgaXQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNo
ZWQgYnkKPiArICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24g
MyBvZiB0aGUgTGljZW5zZSwgb3IKPiArICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy
c2lvbi4KPiArCj4gKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0
aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+ICsgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp
dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+ICsgICBNRVJDSEFOVEFCSUxJVFkg
b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gKyAgIEdOVSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gKwo+ICsgICBZb3Ugc2hv
dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZQo+ICsgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3
LmdudS5vcmcvbGljZW5zZXMvPi4gICovCj4gKwo+ICsvKiBBcyBhIHNwZWNpYWwgZXhjZXB0aW9u
LCB5b3UgbWF5IGNyZWF0ZSBhIGxhcmdlciB3b3JrIHRoYXQgY29udGFpbnMKPiArICAgcGFydCBv
ciBhbGwgb2YgdGhlIEJpc29uIHBhcnNlciBza2VsZXRvbiBhbmQgZGlzdHJpYnV0ZSB0aGF0IHdv
cmsKPiArICAgdW5kZXIgdGVybXMgb2YgeW91ciBjaG9pY2UsIHNvIGxvbmcgYXMgdGhhdCB3b3Jr
IGlzbid0IGl0c2VsZiBhCj4gKyAgIHBhcnNlciBnZW5lcmF0b3IgdXNpbmcgdGhlIHNrZWxldG9u
IG9yIGEgbW9kaWZpZWQgdmVyc2lvbiB0aGVyZW9mCj4gKyAgIGFzIGEgcGFyc2VyIHNrZWxldG9u
LiAgQWx0ZXJuYXRpdmVseSwgaWYgeW91IG1vZGlmeSBvciByZWRpc3RyaWJ1dGUKPiArICAgdGhl
IHBhcnNlciBza2VsZXRvbiBpdHNlbGYsIHlvdSBtYXkgKGF0IHlvdXIgb3B0aW9uKSByZW1vdmUg
dGhpcwo+ICsgICBzcGVjaWFsIGV4Y2VwdGlvbiwgd2hpY2ggd2lsbCBjYXVzZSB0aGUgc2tlbGV0
b24gYW5kIHRoZSByZXN1bHRpbmcKPiArICAgQmlzb24gb3V0cHV0IGZpbGVzIHRvIGJlIGxpY2Vu
c2VkIHVuZGVyIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKPiArICAgTGljZW5zZSB3aXRob3V0IHRo
aXMgc3BlY2lhbCBleGNlcHRpb24uCj4gKwo+ICsgICBUaGlzIHNwZWNpYWwgZXhjZXB0aW9uIHdh
cyBhZGRlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIGluCj4gKyAgIHZlcnNpb24g
Mi4yIG9mIEJpc29uLiAgKi8KPiArCj4gKy8qIFVuZG9jdW1lbnRlZCBtYWNyb3MsIGVzcGVjaWFs
bHkgdGhvc2Ugd2hvc2UgbmFtZSBzdGFydCB3aXRoIFlZXywKPiArICAgYXJlIHByaXZhdGUgaW1w
bGVtZW50YXRpb24gZGV0YWlscy4gIERvIG5vdCByZWx5IG9uIHRoZW0uICAqLwo+ICsKPiArI2lm
bmRlZiBZWV9ZWV9ZX1RBQl9IX0lOQ0xVREVECj4gKyMgZGVmaW5lIFlZX1lZX1lfVEFCX0hfSU5D
TFVERUQKPiArLyogRGVidWcgdHJhY2VzLiAgKi8KPiArI2lmbmRlZiBZWURFQlVHCj4gKyMgZGVm
aW5lIFlZREVCVUcgMAo+ICsjZW5kaWYKPiArI2lmIFlZREVCVUcKPiArZXh0ZXJuIGludCB5eWRl
YnVnOwo+ICsjZW5kaWYKPiArCj4gKy8qIFRva2VuIHR5cGUuICAqLwo+ICsjaWZuZGVmIFlZVE9L
RU5UWVBFCj4gKyMgZGVmaW5lIFlZVE9LRU5UWVBFCj4gKyAgZW51bSB5eXRva2VudHlwZQo+ICsg
IHsKPiArICAgIEVORF9PRl9JTlBVVCA9IDAsCj4gKyAgICBrZXl3b3JkX2NsYXNzID0gMjU4LAo+
ICsgICAga2V5d29yZF9tb2R1bGUgPSAyNTksCj4gKyAgICBrZXl3b3JkX2RlZiA9IDI2MCwKPiAr
ICAgIGtleXdvcmRfdW5kZWYgPSAyNjEsCj4gKyAgICBrZXl3b3JkX2JlZ2luID0gMjYyLAo+ICsg
ICAga2V5d29yZF9yZXNjdWUgPSAyNjMsCj4gKyAgICBrZXl3b3JkX2Vuc3VyZSA9IDI2NCwKPiAr
ICAgIGtleXdvcmRfZW5kID0gMjY1LAo+ICsgICAga2V5d29yZF9pZiA9IDI2NiwKPiArICAgIGtl
eXdvcmRfdW5sZXNzID0gMjY3LAo+ICsgICAga2V5d29yZF90aGVuID0gMjY4LAo+ICsgICAga2V5
d29yZF9lbHNpZiA9IDI2OSwKPiArICAgIGtleXdvcmRfZWxzZSA9IDI3MCwKPiArICAgIGtleXdv
cmRfY2FzZSA9IDI3MSwKPiArICAgIGtleXdvcmRfd2hlbiA9IDI3MiwKPiArICAgIGtleXdvcmRf
d2hpbGUgPSAyNzMsCj4gKyAgICBrZXl3b3JkX3VudGlsID0gMjc0LAo+ICsgICAga2V5d29yZF9m
b3IgPSAyNzUsCj4gKyAgICBrZXl3b3JkX2JyZWFrID0gMjc2LAo+ICsgICAga2V5d29yZF9uZXh0
ID0gMjc3LAo+ICsgICAga2V5d29yZF9yZWRvID0gMjc4LAo+ICsgICAga2V5d29yZF9yZXRyeSA9
IDI3OSwKPiArICAgIGtleXdvcmRfaW4gPSAyODAsCj4gKyAgICBrZXl3b3JkX2RvID0gMjgxLAo+
ICsgICAga2V5d29yZF9kb19jb25kID0gMjgyLAo+ICsgICAga2V5d29yZF9kb19ibG9jayA9IDI4
MywKPiArICAgIGtleXdvcmRfZG9fTEFNQkRBID0gMjg0LAo+ICsgICAga2V5d29yZF9yZXR1cm4g
PSAyODUsCj4gKyAgICBrZXl3b3JkX3lpZWxkID0gMjg2LAo+ICsgICAga2V5d29yZF9zdXBlciA9
IDI4NywKPiArICAgIGtleXdvcmRfc2VsZiA9IDI4OCwKPiArICAgIGtleXdvcmRfbmlsID0gMjg5
LAo+ICsgICAga2V5d29yZF90cnVlID0gMjkwLAo+ICsgICAga2V5d29yZF9mYWxzZSA9IDI5MSwK
PiArICAgIGtleXdvcmRfYW5kID0gMjkyLAo+ICsgICAga2V5d29yZF9vciA9IDI5MywKPiArICAg
IGtleXdvcmRfbm90ID0gMjk0LAo+ICsgICAgbW9kaWZpZXJfaWYgPSAyOTUsCj4gKyAgICBtb2Rp
Zmllcl91bmxlc3MgPSAyOTYsCj4gKyAgICBtb2RpZmllcl93aGlsZSA9IDI5NywKPiArICAgIG1v
ZGlmaWVyX3VudGlsID0gMjk4LAo+ICsgICAgbW9kaWZpZXJfcmVzY3VlID0gMjk5LAo+ICsgICAg
a2V5d29yZF9hbGlhcyA9IDMwMCwKPiArICAgIGtleXdvcmRfZGVmaW5lZCA9IDMwMSwKPiArICAg
IGtleXdvcmRfQkVHSU4gPSAzMDIsCj4gKyAgICBrZXl3b3JkX0VORCA9IDMwMywKPiArICAgIGtl
eXdvcmRfX0xJTkVfXyA9IDMwNCwKPiArICAgIGtleXdvcmRfX0ZJTEVfXyA9IDMwNSwKPiArICAg
IGtleXdvcmRfX0VOQ09ESU5HX18gPSAzMDYsCj4gKyAgICB0SURFTlRJRklFUiA9IDMwNywKPiAr
ICAgIHRGSUQgPSAzMDgsCj4gKyAgICB0R1ZBUiA9IDMwOSwKPiArICAgIHRJVkFSID0gMzEwLAo+
ICsgICAgdENPTlNUQU5UID0gMzExLAo+ICsgICAgdENWQVIgPSAzMTIsCj4gKyAgICB0TEFCRUwg
PSAzMTMsCj4gKyAgICB0SU5URUdFUiA9IDMxNCwKPiArICAgIHRGTE9BVCA9IDMxNSwKPiArICAg
IHRSQVRJT05BTCA9IDMxNiwKPiArICAgIHRJTUFHSU5BUlkgPSAzMTcsCj4gKyAgICB0U1RSSU5H
X0NPTlRFTlQgPSAzMTgsCj4gKyAgICB0Q0hBUiA9IDMxOSwKPiArICAgIHROVEhfUkVGID0gMzIw
LAo+ICsgICAgdEJBQ0tfUkVGID0gMzIxLAo+ICsgICAgdFJFR0VYUF9FTkQgPSAzMjIsCj4gKyAg
ICB0U1AgPSAzMjMsCj4gKyAgICB0VVBMVVMgPSAxMzAsCj4gKyAgICB0VU1JTlVTID0gMTMxLAo+
ICsgICAgdFBPVyA9IDEzMiwKPiArICAgIHRDTVAgPSAxMzMsCj4gKyAgICB0RVEgPSAxMzgsCj4g
KyAgICB0RVFRID0gMTM5LAo+ICsgICAgdE5FUSA9IDE0MCwKPiArICAgIHRHRVEgPSAxMzcsCj4g
KyAgICB0TEVRID0gMTM2LAo+ICsgICAgdEFORE9QID0gMTQ2LAo+ICsgICAgdE9ST1AgPSAxNDcs
Cj4gKyAgICB0TUFUQ0ggPSAxNDEsCj4gKyAgICB0Tk1BVENIID0gMTQyLAo+ICsgICAgdERPVDIg
PSAxMjgsCj4gKyAgICB0RE9UMyA9IDEyOSwKPiArICAgIHRBUkVGID0gMTQzLAo+ICsgICAgdEFT
RVQgPSAxNDQsCj4gKyAgICB0TFNIRlQgPSAxMzQsCj4gKyAgICB0UlNIRlQgPSAxMzUsCj4gKyAg
ICB0QU5ERE9UID0gMTQ4LAo+ICsgICAgdENPTE9OMiA9IDE0NSwKPiArICAgIHRDT0xPTjMgPSAz
MjQsCj4gKyAgICB0T1BfQVNHTiA9IDMyNSwKPiArICAgIHRBU1NPQyA9IDMyNiwKPiArICAgIHRM
UEFSRU4gPSAzMjcsCj4gKyAgICB0TFBBUkVOX0FSRyA9IDMyOCwKPiArICAgIHRSUEFSRU4gPSAz
MjksCj4gKyAgICB0TEJSQUNLID0gMzMwLAo+ICsgICAgdExCUkFDRSA9IDMzMSwKPiArICAgIHRM
QlJBQ0VfQVJHID0gMzMyLAo+ICsgICAgdFNUQVIgPSAzMzMsCj4gKyAgICB0RFNUQVIgPSAzMzQs
Cj4gKyAgICB0QU1QRVIgPSAzMzUsCj4gKyAgICB0TEFNQkRBID0gMzM2LAo+ICsgICAgdFNZTUJF
RyA9IDMzNywKPiArICAgIHRTVFJJTkdfQkVHID0gMzM4LAo+ICsgICAgdFhTVFJJTkdfQkVHID0g
MzM5LAo+ICsgICAgdFJFR0VYUF9CRUcgPSAzNDAsCj4gKyAgICB0V09SRFNfQkVHID0gMzQxLAo+
ICsgICAgdFFXT1JEU19CRUcgPSAzNDIsCj4gKyAgICB0U1lNQk9MU19CRUcgPSAzNDMsCj4gKyAg
ICB0UVNZTUJPTFNfQkVHID0gMzQ0LAo+ICsgICAgdFNUUklOR19EQkVHID0gMzQ1LAo+ICsgICAg
dFNUUklOR19ERU5EID0gMzQ2LAo+ICsgICAgdFNUUklOR19EVkFSID0gMzQ3LAo+ICsgICAgdFNU
UklOR19FTkQgPSAzNDgsCj4gKyAgICB0TEFNQkVHID0gMzQ5LAo+ICsgICAgdExBQkVMX0VORCA9
IDM1MCwKPiArICAgIHRMT1dFU1QgPSAzNTEsCj4gKyAgICB0VU1JTlVTX05VTSA9IDM1MiwKPiAr
ICAgIHRMQVNUX1RPS0VOID0gMzUzCj4gKyAgfTsKPiArI2VuZGlmCj4gKwo+ICsvKiBWYWx1ZSB0
eXBlLiAgKi8KPiArI2lmICEgZGVmaW5lZCBZWVNUWVBFICYmICEgZGVmaW5lZCBZWVNUWVBFX0lT
X0RFQ0xBUkVECj4gKwo+ICt1bmlvbiBZWVNUWVBFCj4gK3sKPiArCj4gKyAgICBWQUxVRSB2YWw7
Cj4gKyAgICBOT0RFICpub2RlOwo+ICsgICAgSUQgaWQ7Cj4gKyAgICBpbnQgbnVtOwo+ICsgICAg
Y29uc3Qgc3RydWN0IHZ0YWJsZSAqdmFyczsKPiArICAgIHN0cnVjdCByYl9zdHJ0ZXJtX3N0cnVj
dCAqc3RydGVybTsKPiArCj4gK307Cj4gKwo+ICt0eXBlZGVmIHVuaW9uIFlZU1RZUEUgWVlTVFlQ
RTsKPiArIyBkZWZpbmUgWVlTVFlQRV9JU19UUklWSUFMIDEKPiArIyBkZWZpbmUgWVlTVFlQRV9J
U19ERUNMQVJFRCAxCj4gKyNlbmRpZgo+ICsKPiArLyogTG9jYXRpb24gdHlwZS4gICovCj4gKyNp
ZiAhIGRlZmluZWQgWVlMVFlQRSAmJiAhIGRlZmluZWQgWVlMVFlQRV9JU19ERUNMQVJFRAo+ICt0
eXBlZGVmIHN0cnVjdCBZWUxUWVBFIFlZTFRZUEU7Cj4gK3N0cnVjdCBZWUxUWVBFCj4gK3sKPiAr
ICBpbnQgZmlyc3RfbGluZTsKPiArICBpbnQgZmlyc3RfY29sdW1uOwo+ICsgIGludCBsYXN0X2xp
bmU7Cj4gKyAgaW50IGxhc3RfY29sdW1uOwo+ICt9Owo+ICsjIGRlZmluZSBZWUxUWVBFX0lTX0RF
Q0xBUkVEIDEKPiArIyBkZWZpbmUgWVlMVFlQRV9JU19UUklWSUFMIDEKPiArI2VuZGlmCj4gKwo+
ICsKPiArCj4gK2ludCB5eXBhcnNlIChzdHJ1Y3QgcGFyc2VyX3BhcmFtcyAqcCk7Cj4gKwo+ICsj
ZW5kaWYgLyogIVlZX1lZX1lfVEFCX0hfSU5DTFVERUQgICovCj4gZGlmZiAtLWdpdCBhL2dlbmVy
YXRlZC9wcmVsdWRlLmMgYi9nZW5lcmF0ZWQvcHJlbHVkZS5jCj4gbmV3IGZpbGUgbW9kZSAxMDA2
NDQKPiBpbmRleCAwMDAwMDAwLi4yYTQyNmUzCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2dlbmVy
YXRlZC9wcmVsdWRlLmMKPiBAQCAtMCwwICsxLDI0NiBAQAo+ICsvKiAtKi1jLSotCj4gKyBUSElT
IEZJTEUgV0FTIEFVVE9HRU5FUkFURUQgQlkgdGVtcGxhdGUvcHJlbHVkZS5jLnRtcGwuIERPIE5P
VCBFRElULgo+ICsKPiArIHNvdXJjZXM6IC4vcHJlbHVkZSwgLi9nZW1fcHJlbHVkZQo+ICsqLwo+
ICsjaW5jbHVkZSAicnVieS9ydWJ5LmgiCj4gKyNpbmNsdWRlICJpbnRlcm5hbC5oIgo+ICsjaW5j
bHVkZSAidm1fY29yZS5oIgo+ICsjaW5jbHVkZSAiaXNlcS5oIgo+ICsKPiArCj4gK3N0YXRpYyBj
b25zdCBjaGFyIHByZWx1ZGVfbmFtZTBbXSA9ICI8aW50ZXJuYWw6cHJlbHVkZT4iOwo+ICtzdGF0
aWMgY29uc3Qgc3RydWN0IHsKPiArICAgIGNoYXIgTDBbNDkxXTsgLyogMS4uMTMwICovCj4gKyAg
ICBjaGFyIEwxMzBbMzUxXTsgLyogMTMxLi4xNjMgKi8KPiArfSBwcmVsdWRlX2NvZGUwID0gewo+
ICsjbGluZSAxICJwcmVsdWRlLnJiIgo+ICsiY2xhc3MgPDwgVGhyZWFkXG4iCj4gKyJcbiIvKiBj
YWxsLXNlcTogKi8KPiArIlxuIi8qICAgIFRocmVhZC5leGNsdXNpdmUgeyBibG9jayB9ICAgPT4g
b2JqICovCj4gKyJcbiIvKiAgKi8KPiArIlxuIi8qIFdyYXBzIHRoZSBibG9jayBpbiBhIHNpbmds
ZSwgVk0tZ2xvYmFsIE11dGV4LnN5bmNocm9uaXplLCByZXR1cm5pbmcgdGhlICovCj4gKyJcbiIv
KiB2YWx1ZSBvZiB0aGUgYmxvY2suIEEgdGhyZWFkIGV4ZWN1dGluZyBpbnNpZGUgdGhlIGV4Y2x1
c2l2ZSBzZWN0aW9uIHdpbGwgKi8KPiArIlxuIi8qIG9ubHkgYmxvY2sgb3RoZXIgdGhyZWFkcyB3
aGljaCBhbHNvIHVzZSB0aGUgVGhyZWFkLmV4Y2x1c2l2ZSBtZWNoYW5pc20uICovCj4gKyIgIGRl
ZiBleGNsdXNpdmUoJmJsb2NrKSBlbmQgaWYgZmFsc2VcbiIKPiArIiAgbXV0ZXggPSBNdXRleC5u
ZXdcbiIvKiA6bm9kb2M6ICovCj4gKyIgIGRlZmluZV9tZXRob2QoOmV4Y2x1c2l2ZSkgZG8gfCZi
bG9ja3xcbiIKPiArIiAgICB3YXJuIFwiVGhyZWFkLmV4Y2x1c2l2ZSBpcyBkZXByZWNhdGVkLCB1
c2UgVGhyZWFkOjpNdXRleFwiLCBjYWxsZXJcbiIKPiArIiAgICBtdXRleC5zeW5jaHJvbml6ZSgm
YmxvY2spXG4iCj4gKyIgIGVuZFxuIgo+ICsiZW5kXG4iCj4gKyJcbiIKPiArImNsYXNzIElPXG4i
Cj4gKyJcbiIKPiArIlxuIi8qIGNhbGwtc2VxOiAqLwo+ICsiXG4iLyogICAgaW9zLnJlYWRfbm9u
YmxvY2sobWF4bGVuIFssIG9wdGlvbnNdKSAgICAgICAgICAgICAgLT4gc3RyaW5nICovCj4gKyJc
biIvKiAgICBpb3MucmVhZF9ub25ibG9jayhtYXhsZW4sIG91dGJ1ZiBbLCBvcHRpb25zXSkgICAg
ICAtPiBvdXRidWYgKi8KPiArIlxuIi8qICAqLwo+ICsiXG4iLyogUmVhZHMgYXQgbW9zdCA8aT5t
YXhsZW48L2k+IGJ5dGVzIGZyb20gPGVtPmlvczwvZW0+IHVzaW5nICovCj4gKyJcbiIvKiB0aGUg
cmVhZCgyKSBzeXN0ZW0gY2FsbCBhZnRlciBPX05PTkJMT0NLIGlzIHNldCBmb3IgKi8KPiArIlxu
Ii8qIHRoZSB1bmRlcmx5aW5nIGZpbGUgZGVzY3JpcHRvci4gKi8KPiArIlxuIi8qICAqLwo+ICsi
XG4iLyogSWYgdGhlIG9wdGlvbmFsIDxpPm91dGJ1ZjwvaT4gYXJndW1lbnQgaXMgcHJlc2VudCwg
Ki8KPiArIlxuIi8qIGl0IG11c3QgcmVmZXJlbmNlIGEgU3RyaW5nLCB3aGljaCB3aWxsIHJlY2Vp
dmUgdGhlIGRhdGEuICovCj4gKyJcbiIvKiBUaGUgPGk+b3V0YnVmPC9pPiB3aWxsIGNvbnRhaW4g
b25seSB0aGUgcmVjZWl2ZWQgZGF0YSBhZnRlciB0aGUgbWV0aG9kIGNhbGwgKi8KPiArIlxuIi8q
IGV2ZW4gaWYgaXQgaXMgbm90IGVtcHR5IGF0IHRoZSBiZWdpbm5pbmcuICovCj4gKyJcbiIvKiAg
Ki8KPiArIlxuIi8qIHJlYWRfbm9uYmxvY2sganVzdCBjYWxscyB0aGUgcmVhZCgyKSBzeXN0ZW0g
Y2FsbC4gKi8KPiArIlxuIi8qIEl0IGNhdXNlcyBhbGwgZXJyb3JzIHRoZSByZWFkKDIpIHN5c3Rl
bSBjYWxsIGNhdXNlczogRXJybm86OkVXT1VMREJMT0NLLCBFcnJubzo6RUlOVFIsIGV0Yy4gKi8K
PiArIlxuIi8qIFRoZSBjYWxsZXIgc2hvdWxkIGNhcmUgc3VjaCBlcnJvcnMuICovCj4gKyJcbiIv
KiAgKi8KPiArIlxuIi8qIElmIHRoZSBleGNlcHRpb24gaXMgRXJybm86OkVXT1VMREJMT0NLIG9y
IEVycm5vOjpFQUdBSU4sICovCj4gKyJcbiIvKiBpdCBpcyBleHRlbmRlZCBieSBJTzo6V2FpdFJl
YWRhYmxlLiAqLwo+ICsiXG4iLyogU28gSU86OldhaXRSZWFkYWJsZSBjYW4gYmUgdXNlZCB0byBy
ZXNjdWUgdGhlIGV4Y2VwdGlvbnMgZm9yIHJldHJ5aW5nICovCj4gKyJcbiIvKiByZWFkX25vbmJs
b2NrLiAqLwo+ICsiXG4iLyogICovCj4gKyJcbiIvKiByZWFkX25vbmJsb2NrIGNhdXNlcyBFT0ZF
cnJvciBvbiBFT0YuICovCj4gKyJcbiIvKiAgKi8KPiArIlxuIi8qIElmIHRoZSByZWFkIGJ5dGUg
YnVmZmVyIGlzIG5vdCBlbXB0eSwgKi8KPiArIlxuIi8qIHJlYWRfbm9uYmxvY2sgcmVhZHMgZnJv
bSB0aGUgYnVmZmVyIGxpa2UgcmVhZHBhcnRpYWwuICovCj4gKyJcbiIvKiBJbiB0aGlzIGNhc2Us
IHRoZSByZWFkKDIpIHN5c3RlbSBjYWxsIGlzIG5vdCBjYWxsZWQuICovCj4gKyJcbiIvKiAgKi8K
PiArIlxuIi8qIFdoZW4gcmVhZF9ub25ibG9jayByYWlzZXMgYW4gZXhjZXB0aW9uIGtpbmQgb2Yg
SU86OldhaXRSZWFkYWJsZSwgKi8KPiArIlxuIi8qIHJlYWRfbm9uYmxvY2sgc2hvdWxkIG5vdCBi
ZSBjYWxsZWQgKi8KPiArIlxuIi8qIHVudGlsIGlvIGlzIHJlYWRhYmxlIGZvciBhdm9pZGluZyBi
dXN5IGxvb3AuICovCj4gKyJcbiIvKiBUaGlzIGNhbiBiZSBkb25lIGFzIGZvbGxvd3MuICovCj4g
KyJcbiIvKiAgKi8KPiArIlxuIi8qICAgIyBlbXVsYXRlcyBibG9ja2luZyByZWFkIChyZWFkcGFy
dGlhbCkuICovCj4gKyJcbiIvKiAgIGJlZ2luICovCj4gKyJcbiIvKiAgICAgcmVzdWx0ID0gaW8u
cmVhZF9ub25ibG9jayhtYXhsZW4pICovCj4gKyJcbiIvKiAgIHJlc2N1ZSBJTzo6V2FpdFJlYWRh
YmxlICovCj4gKyJcbiIvKiAgICAgSU8uc2VsZWN0KFtpb10pICovCj4gKyJcbiIvKiAgICAgcmV0
cnkgKi8KPiArIlxuIi8qICAgZW5kICovCj4gKyJcbiIvKiAgKi8KPiArIlxuIi8qIEFsdGhvdWdo
IElPI3JlYWRfbm9uYmxvY2sgZG9lc24ndCByYWlzZSBJTzo6V2FpdFdyaXRhYmxlLiAqLwo+ICsi
XG4iLyogT3BlblNTTDo6QnVmZmVyaW5nI3JlYWRfbm9uYmxvY2sgY2FuIHJhaXNlIElPOjpXYWl0
V3JpdGFibGUuICovCj4gKyJcbiIvKiBJZiBJTyBhbmQgU1NMIHNob3VsZCBiZSB1c2VkIHBvbHlt
b3JwaGljYWxseSwgKi8KPiArIlxuIi8qIElPOjpXYWl0V3JpdGFibGUgc2hvdWxkIGJlIHJlc2N1
ZWQgdG9vLiAqLwo+ICsiXG4iLyogU2VlIHRoZSBkb2N1bWVudCBvZiBPcGVuU1NMOjpCdWZmZXJp
bmcjcmVhZF9ub25ibG9jayBmb3Igc2FtcGxlIGNvZGUuICovCj4gKyJcbiIvKiAgKi8KPiArIlxu
Ii8qIE5vdGUgdGhhdCB0aGlzIG1ldGhvZCBpcyBpZGVudGljYWwgdG8gcmVhZHBhcnRpYWwgKi8K
PiArIlxuIi8qIGV4Y2VwdCB0aGUgbm9uLWJsb2NraW5nIGZsYWcgaXMgc2V0LiAqLwo+ICsiXG4i
LyogICovCj4gKyJcbiIvKiBCeSBzcGVjaWZ5aW5nIGEga2V5d29yZCBhcmd1bWVudCBfZXhjZXB0
aW9uXyB0byArZmFsc2UrLCB5b3UgY2FuIGluZGljYXRlICovCj4gKyJcbiIvKiB0aGF0IHJlYWRf
bm9uYmxvY2sgc2hvdWxkIG5vdCByYWlzZSBhbiBJTzo6V2FpdFJlYWRhYmxlIGV4Y2VwdGlvbiwg
YnV0ICovCj4gKyJcbiIvKiByZXR1cm4gdGhlIHN5bWJvbCArOndhaXRfcmVhZGFibGUrIGluc3Rl
YWQuIEF0IEVPRiwgaXQgd2lsbCByZXR1cm4gbmlsICovCj4gKyJcbiIvKiBpbnN0ZWFkIG9mIHJh
aXNpbmcgRU9GRXJyb3IuICovCj4gKyIgIGRlZiByZWFkX25vbmJsb2NrKGxlbiwgYnVmID0gbmls
LCBleGNlcHRpb246IHRydWUpXG4iCj4gKyIgICAgX19yZWFkX25vbmJsb2NrKGxlbiwgYnVmLCBl
eGNlcHRpb24pXG4iCj4gKyIgIGVuZFxuIgo+ICsiXG4iCj4gKyJcbiIvKiBjYWxsLXNlcTogKi8K
PiArIlxuIi8qICAgIGlvcy53cml0ZV9ub25ibG9jayhzdHJpbmcpICAgLT4gaW50ZWdlciAqLwo+
ICsiXG4iLyogICAgaW9zLndyaXRlX25vbmJsb2NrKHN0cmluZyBbLCBvcHRpb25zXSkgICAtPiBp
bnRlZ2VyICovCj4gKyJcbiIvKiAgKi8KPiArIlxuIi8qIFdyaXRlcyB0aGUgZ2l2ZW4gc3RyaW5n
IHRvIDxlbT5pb3M8L2VtPiB1c2luZyAqLwo+ICsiXG4iLyogdGhlIHdyaXRlKDIpIHN5c3RlbSBj
YWxsIGFmdGVyIE9fTk9OQkxPQ0sgaXMgc2V0IGZvciAqLwo+ICsiXG4iLyogdGhlIHVuZGVybHlp
bmcgZmlsZSBkZXNjcmlwdG9yLiAqLwo+ICsiXG4iLyogICovCj4gKyJcbiIvKiBJdCByZXR1cm5z
IHRoZSBudW1iZXIgb2YgYnl0ZXMgd3JpdHRlbi4gKi8KPiArIlxuIi8qICAqLwo+ICsiXG4iLyog
d3JpdGVfbm9uYmxvY2sganVzdCBjYWxscyB0aGUgd3JpdGUoMikgc3lzdGVtIGNhbGwuICovCj4g
KyJcbiIvKiBJdCBjYXVzZXMgYWxsIGVycm9ycyB0aGUgd3JpdGUoMikgc3lzdGVtIGNhbGwgY2F1
c2VzOiBFcnJubzo6RVdPVUxEQkxPQ0ssIEVycm5vOjpFSU5UUiwgZXRjLiAqLwo+ICsiXG4iLyog
VGhlIHJlc3VsdCBtYXkgYWxzbyBiZSBzbWFsbGVyIHRoYW4gc3RyaW5nLmxlbmd0aCAocGFydGlh
bCB3cml0ZSkuICovCj4gKyJcbiIvKiBUaGUgY2FsbGVyIHNob3VsZCBjYXJlIHN1Y2ggZXJyb3Jz
IGFuZCBwYXJ0aWFsIHdyaXRlLiAqLwo+ICsiXG4iLyogICovCj4gKyJcbiIvKiBJZiB0aGUgZXhj
ZXB0aW9uIGlzIEVycm5vOjpFV09VTERCTE9DSyBvciBFcnJubzo6RUFHQUlOLCAqLwo+ICsiXG4i
LyogaXQgaXMgZXh0ZW5kZWQgYnkgSU86OldhaXRXcml0YWJsZS4gKi8KPiArIlxuIi8qIFNvIElP
OjpXYWl0V3JpdGFibGUgY2FuIGJlIHVzZWQgdG8gcmVzY3VlIHRoZSBleGNlcHRpb25zIGZvciBy
ZXRyeWluZyB3cml0ZV9ub25ibG9jay4gKi8KPiArIlxuIi8qICAqLwo+ICsiXG4iLyogICAjIENy
ZWF0ZXMgYSBwaXBlLiAqLwo+ICsiXG4iLyogICByLCB3ID0gSU8ucGlwZSAqLwo+ICsiXG4iLyog
ICovCj4gKyJcbiIvKiAgICMgd3JpdGVfbm9uYmxvY2sgd3JpdGVzIG9ubHkgNjU1MzYgYnl0ZXMg
YW5kIHJldHVybiA2NTUzNi4gKi8KPiArIlxuIi8qICAgIyAoVGhlIHBpcGUgc2l6ZSBpcyA2NTUz
NiBieXRlcyBvbiB0aGlzIGVudmlyb25tZW50LikgKi8KPiArIlxuIi8qICAgcyA9IFwiYVwiICog
MTAwMDAwICovCj4gKyJcbiIvKiAgIHAgdy53cml0ZV9ub25ibG9jayhzKSAgICAgIz0+IDY1NTM2
ICovCj4gKyJcbiIvKiAgKi8KPiArIlxuIi8qICAgIyB3cml0ZV9ub25ibG9jayBjYW5ub3Qgd3Jp
dGUgYSBieXRlIGFuZCByYWlzZSBFV09VTERCTE9DSyAoRUFHQUlOKS4gKi8KPiArIlxuIi8qICAg
cCB3LndyaXRlX25vbmJsb2NrKFwiYlwiKSAgICMgUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFp
bGFibGUgKEVycm5vOjpFQUdBSU4pICovCj4gKyJcbiIvKiAgKi8KPiArIlxuIi8qIElmIHRoZSB3
cml0ZSBidWZmZXIgaXMgbm90IGVtcHR5LCBpdCBpcyBmbHVzaGVkIGF0IGZpcnN0LiAqLwo+ICsi
XG4iLyogICovCj4gKyJcbiIvKiBXaGVuIHdyaXRlX25vbmJsb2NrIHJhaXNlcyBhbiBleGNlcHRp
b24ga2luZCBvZiBJTzo6V2FpdFdyaXRhYmxlLCAqLwo+ICsiXG4iLyogd3JpdGVfbm9uYmxvY2sg
c2hvdWxkIG5vdCBiZSBjYWxsZWQgKi8KPiArIlxuIi8qIHVudGlsIGlvIGlzIHdyaXRhYmxlIGZv
ciBhdm9pZGluZyBidXN5IGxvb3AuICovCj4gKyJcbiIvKiBUaGlzIGNhbiBiZSBkb25lIGFzIGZv
bGxvd3MuICovCj4gKyJcbiIvKiAgKi8KPiArIlxuIi8qICAgYmVnaW4gKi8KPiArIlxuIi8qICAg
ICByZXN1bHQgPSBpby53cml0ZV9ub25ibG9jayhzdHJpbmcpICovCj4gKyJcbiIvKiAgIHJlc2N1
ZSBJTzo6V2FpdFdyaXRhYmxlLCBFcnJubzo6RUlOVFIgKi8KPiArIlxuIi8qICAgICBJTy5zZWxl
Y3QobmlsLCBbaW9dKSAqLwo+ICsiXG4iLyogICAgIHJldHJ5ICovCj4gKyJcbiIvKiAgIGVuZCAq
Lwo+ICsiXG4iLyogICovCj4gKyJcbiIvKiBOb3RlIHRoYXQgdGhpcyBkb2Vzbid0IGd1YXJhbnRl
ZSB0byB3cml0ZSBhbGwgZGF0YSBpbiBzdHJpbmcuICovCj4gKyJcbiIvKiBUaGUgbGVuZ3RoIHdy
aXR0ZW4gaXMgcmVwb3J0ZWQgYXMgcmVzdWx0IGFuZCBpdCBzaG91bGQgYmUgY2hlY2tlZCBsYXRl
ci4gKi8KPiArIlxuIi8qICAqLwo+ICsiXG4iLyogT24gc29tZSBwbGF0Zm9ybXMgc3VjaCBhcyBX
aW5kb3dzLCB3cml0ZV9ub25ibG9jayBpcyBub3Qgc3VwcG9ydGVkICovCj4gKyJcbiIvKiBhY2Nv
cmRpbmcgdG8gdGhlIGtpbmQgb2YgdGhlIElPIG9iamVjdC4gKi8KPiArIlxuIi8qIEluIHN1Y2gg
Y2FzZXMsIHdyaXRlX25vbmJsb2NrIHJhaXNlcyA8Y29kZT5FcnJubzo6RUJBREY8L2NvZGU+LiAq
Lwo+ICsiXG4iLyogICovCj4gKyJcbiIvKiBCeSBzcGVjaWZ5aW5nIGEga2V5d29yZCBhcmd1bWVu
dCBfZXhjZXB0aW9uXyB0byArZmFsc2UrLCB5b3UgY2FuIGluZGljYXRlICovCj4gKyJcbiIvKiB0
aGF0IHdyaXRlX25vbmJsb2NrIHNob3VsZCBub3QgcmFpc2UgYW4gSU86OldhaXRXcml0YWJsZSBl
eGNlcHRpb24sIGJ1dCAqLwo+ICsiXG4iLyogcmV0dXJuIHRoZSBzeW1ib2wgKzp3YWl0X3dyaXRh
YmxlKyBpbnN0ZWFkLiAqLwo+ICsiICBkZWYgd3JpdGVfbm9uYmxvY2soYnVmLCBleGNlcHRpb246
IHRydWUpXG4iCj4gKywKPiArI2xpbmUgMTMxICJwcmVsdWRlLnJiIgo+ICsiICAgIF9fd3JpdGVf
bm9uYmxvY2soYnVmLCBleGNlcHRpb24pXG4iCj4gKyIgIGVuZFxuIgo+ICsiZW5kXG4iCj4gKyJc
biIKPiArImNsYXNzIFRyYWNlUG9pbnRcbiIKPiArIiAgZGVmIGVuYWJsZSB0YXJnZXQ6IG5pbCwg
dGFyZ2V0X2xpbmU6IG5pbCwgJmJsa1xuIgo+ICsiICAgIHNlbGYuX19lbmFibGUgdGFyZ2V0LCB0
YXJnZXRfbGluZSwgJmJsa1xuIgo+ICsiICBlbmRcbiIKPiArImVuZFxuIgo+ICsiXG4iCj4gKyJj
bGFzcyBCaW5kaW5nXG4iCj4gKyJcbiIvKiA6bm9kb2M6ICovCj4gKyIgIGRlZiBpcmJcbiIKPiAr
IiAgICByZXF1aXJlICdpcmInXG4iCj4gKyIgICAgaXJiXG4iCj4gKyIgIGVuZFxuIgo+ICsiXG4i
Cj4gKyJcbiIvKiBzdXBwcmVzcyByZWRlZmluaXRpb24gd2FybmluZyAqLwo+ICsiICBhbGlhcyBp
cmIgaXJiXG4iLyogOm5vZG9jOiAqLwo+ICsiZW5kXG4iCj4gKyJcbiIKPiArIm1vZHVsZSBLZXJu
ZWxcbiIKPiArIiAgZGVmIHBwKCpvYmpzKVxuIgo+ICsiICAgIHJlcXVpcmUgJ3BwJ1xuIgo+ICsi
ICAgIHBwKCpvYmpzKVxuIgo+ICsiICBlbmRcbiIKPiArIlxuIgo+ICsiXG4iLyogc3VwcHJlc3Mg
cmVkZWZpbml0aW9uIHdhcm5pbmcgKi8KPiArIiAgYWxpYXMgcHAgcHBcbiIvKiA6bm9kb2M6ICov
Cj4gKyJcbiIKPiArIiAgcHJpdmF0ZSA6cHBcbiIKPiArImVuZFxuIgo+ICsjbGluZSAxODMgInBy
ZWx1ZGUuYyIKPiArfTsKPiArCj4gK3N0YXRpYyBjb25zdCBjaGFyIHByZWx1ZGVfbmFtZTFbXSA9
ICI8aW50ZXJuYWw6Z2VtX3ByZWx1ZGU+IjsKPiArc3RhdGljIGNvbnN0IHN0cnVjdCB7Cj4gKyAg
ICBjaGFyIEwwWzE2OF07IC8qIDEuLjkgKi8KPiArfSBwcmVsdWRlX2NvZGUxID0gewo+ICsjbGlu
ZSAxICJnZW1fcHJlbHVkZS5yYiIKPiArImlmIGRlZmluZWQ/KEdlbSlcbiIKPiArIiAgcmVxdWly
ZSAncnVieWdlbXMucmInXG4iCj4gKyIgIGJlZ2luXG4iCj4gKyIgICAgZ2VtICdkaWRfeW91X21l
YW4nXG4iCj4gKyIgICAgcmVxdWlyZSAnZGlkX3lvdV9tZWFuJ1xuIgo+ICsiICByZXNjdWUgR2Vt
OjpMb2FkRXJyb3IsIExvYWRFcnJvclxuIgo+ICsiICBlbmQgaWYgZGVmaW5lZD8oRGlkWW91TWVh
bilcbiIKPiArImVuZFxuIgo+ICsjbGluZSAxOTkgInByZWx1ZGUuYyIKPiArfTsKPiArCj4gKwo+
ICsjZGVmaW5lIFBSRUxVREVfTkFNRShuKSByYl91c2FzY2lpX3N0cl9uZXdfc3RhdGljKHByZWx1
ZGVfbmFtZSMjbiwgc2l6ZW9mKHByZWx1ZGVfbmFtZSMjbiktMSkKPiArI2RlZmluZSBQUkVMVURF
X0NPREUobikgcmJfdXNhc2NpaV9zdHJfbmV3X3N0YXRpYyhwcmVsdWRlX2NvZGUjI24uTDAsIHNp
emVvZihwcmVsdWRlX2NvZGUjI24pKQo+ICtDT01QSUxFUl9XQVJOSU5HX1BVU0gKPiArI2lmIEdD
Q19WRVJTSU9OX1NJTkNFKDQsIDIsIDApCj4gK0NPTVBJTEVSX1dBUk5JTkdfRVJST1IoLVdtaXNz
aW5nLWZpZWxkLWluaXRpYWxpemVycykKPiArI2VuZGlmCj4gK3N0YXRpYyB2b2lkCj4gK3ByZWx1
ZGVfZXZhbChWQUxVRSBjb2RlLCBWQUxVRSBuYW1lLCBpbnQgbGluZSkKPiArewo+ICsgICAgc3Rh
dGljIGNvbnN0IHJiX2NvbXBpbGVfb3B0aW9uX3Qgb3B0aW1pemF0aW9uID0gewo+ICsgICAgICAg
VFJVRSwgLyogaW50IGlubGluZV9jb25zdF9jYWNoZTsgKi8KPiArICAgICAgIFRSVUUsIC8qIGlu
dCBwZWVwaG9sZV9vcHRpbWl6YXRpb247ICovCj4gKyAgICAgICBGQUxTRSwvKiBpbnQgdGFpbGNh
bGxfb3B0aW1pemF0aW9uOyAqLwo+ICsgICAgICAgVFJVRSwgLyogaW50IHNwZWNpYWxpemVkX2lu
c3RydWN0aW9uOyAqLwo+ICsgICAgICAgVFJVRSwgLyogaW50IG9wZXJhbmRzX3VuaWZpY2F0aW9u
OyAqLwo+ICsgICAgICAgVFJVRSwgLyogaW50IGluc3RydWN0aW9uc191bmlmaWNhdGlvbjsgKi8K
PiArICAgICAgIFRSVUUsIC8qIGludCBzdGFja19jYWNoaW5nOyAqLwo+ICsgICAgICAgVFJVRSwg
LyogaW50IGZyb3plbl9zdHJpbmdfbGl0ZXJhbDsgKi8KPiArICAgICAgIEZBTFNFLCAvKiBpbnQg
ZGVidWdfZnJvemVuX3N0cmluZ19saXRlcmFsOyAqLwo+ICsgICAgICAgRkFMU0UsIC8qIHVuc2ln
bmVkIGludCBjb3ZlcmFnZV9lbmFibGVkOyAqLwo+ICsgICAgICAgMCwgLyogaW50IGRlYnVnX2xl
dmVsOyAqLwo+ICsgICAgfTsKPiArCj4gKyAgICByYl9hc3RfdCAqYXN0ID0gcmJfcGFyc2VyX2Nv
bXBpbGVfc3RyaW5nX3BhdGgocmJfcGFyc2VyX25ldygpLCBuYW1lLCBjb2RlLCBsaW5lKTsKPiAr
ICAgIGlmICghYXN0LT5ib2R5LnJvb3QpIHsKPiArICAgICAgIHJiX2FzdF9kaXNwb3NlKGFzdCk7
Cj4gKyAgICAgICByYl9leGNfcmFpc2UocmJfZXJyaW5mbygpKTsKPiArICAgIH0KPiArICAgIHJi
X2lzZXFfZXZhbChyYl9pc2VxX25ld193aXRoX29wdCgmYXN0LT5ib2R5LCBuYW1lLCBuYW1lLCBR
bmlsLCBJTlQyRklYKGxpbmUpLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgTlVMTCwgSVNFUV9UWVBFX1RPUCwgJm9wdGltaXphdGlvbikpOwo+ICsgICAgcmJfYXN0X2Rp
c3Bvc2UoYXN0KTsKPiArfQo+ICtDT01QSUxFUl9XQVJOSU5HX1BPUAo+ICsKPiArdm9pZAo+ICtJ
bml0X3ByZWx1ZGUodm9pZCkKPiArewo+ICsgICAgcHJlbHVkZV9ldmFsKFBSRUxVREVfQ09ERSgw
KSwgUFJFTFVERV9OQU1FKDApLCAxKTsKPiArICAgIHByZWx1ZGVfZXZhbChQUkVMVURFX0NPREUo
MSksIFBSRUxVREVfTkFNRSgxKSwgMSk7Cj4gKwo+ICsjaWYgMAo+ICsgICAgcHJpbnRmKCIlLipz
IiwgKGludClzaXplb2YocHJlbHVkZV9jb2RlMCksIHByZWx1ZGVfY29kZTAuTDApOwo+ICsgICAg
cHJpbnRmKCIlLipzIiwgKGludClzaXplb2YocHJlbHVkZV9jb2RlMSksIHByZWx1ZGVfY29kZTEu
TDApOwo+ICsjZW5kaWYKPiArfQo+IGRpZmYgLS1naXQgYS9nZW5lcmF0ZWQvcHJvYmVzLmRteWgg
Yi9nZW5lcmF0ZWQvcHJvYmVzLmRteWgKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAw
MDAwMDAuLmZmZmE5MDEKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvZ2VuZXJhdGVkL3Byb2Jlcy5k
bXloCj4gQEAgLTAsMCArMSw4MCBAQAo+ICsvKiAtKi0gYyAtKi0gKi8KPiArCj4gKyNpZm5kZWYg
ICAgICAgIF9QUk9CRVNfSAo+ICsjZGVmaW5lICAgICAgICBfUFJPQkVTX0gKPiArI2RlZmluZSBE
VFJBQ0VfUFJPQkVTX0RJU0FCTEVEIDEKPiArCj4gKyNkZWZpbmUgUlVCWV9EVFJBQ0VfTUVUSE9E
X0VOVFJZX0VOQUJMRUQoKSAwCj4gKyNkZWZpbmUgUlVCWV9EVFJBQ0VfTUVUSE9EX0VOVFJZKGNs
YXNzbmFtZSwgbWV0aG9kbmFtZSwgZmlsZW5hbWUsIGxpbmVubykgZG8ge30gd2hpbGUgKDApCj4g
KyNkZWZpbmUgUlVCWV9EVFJBQ0VfTUVUSE9EX1JFVFVSTl9FTkFCTEVEKCkgMAo+ICsjZGVmaW5l
IFJVQllfRFRSQUNFX01FVEhPRF9SRVRVUk4oY2xhc3NuYW1lLCBtZXRob2RuYW1lLCBmaWxlbmFt
ZSwgbGluZW5vKSBkbyB7fSB3aGlsZSAoMCkKPiArCj4gKyNkZWZpbmUgUlVCWV9EVFJBQ0VfQ01F
VEhPRF9FTlRSWV9FTkFCTEVEKCkgMAo+ICsjZGVmaW5lIFJVQllfRFRSQUNFX0NNRVRIT0RfRU5U
UlkoY2xhc3NuYW1lLCBtZXRob2RuYW1lLCBmaWxlbmFtZSwgbGluZW5vKSBkbyB7fSB3aGlsZSAo
MCkKPiArI2RlZmluZSBSVUJZX0RUUkFDRV9DTUVUSE9EX1JFVFVSTl9FTkFCTEVEKCkgMAo+ICsj
ZGVmaW5lIFJVQllfRFRSQUNFX0NNRVRIT0RfUkVUVVJOKGNsYXNzbmFtZSwgbWV0aG9kbmFtZSwg
ZmlsZW5hbWUsIGxpbmVubykgZG8ge30gd2hpbGUgKDApCj4gKwo+ICsjZGVmaW5lIFJVQllfRFRS
QUNFX1JFUVVJUkVfRU5UUllfRU5BQkxFRCgpIDAKPiArI2RlZmluZSBSVUJZX0RUUkFDRV9SRVFV
SVJFX0VOVFJZKHJxdWlyZWRmaWxlLCBmaWxlbmFtZSwgbGluZW5vKSBkbyB7fSB3aGlsZSAoMCkK
PiArCj4gKyNkZWZpbmUgUlVCWV9EVFJBQ0VfUkVRVUlSRV9SRVRVUk5fRU5BQkxFRCgpIDAKPiAr
I2RlZmluZSBSVUJZX0RUUkFDRV9SRVFVSVJFX1JFVFVSTihyZXF1aXJlZGZpbGUsIGZpbGVuYW1l
LCBsaW5lbm8pIGRvIHt9IHdoaWxlICgwKQo+ICsKPiArI2RlZmluZSBSVUJZX0RUUkFDRV9GSU5E
X1JFUVVJUkVfRU5UUllfRU5BQkxFRCgpIDAKPiArI2RlZmluZSBSVUJZX0RUUkFDRV9GSU5EX1JF
UVVJUkVfRU5UUlkocmVxdWlyZWRmaWxlLCBmaWxlbmFtZSwgbGluZW5vKSBkbyB7fSB3aGlsZSAo
MCkKPiArCj4gKyNkZWZpbmUgUlVCWV9EVFJBQ0VfRklORF9SRVFVSVJFX1JFVFVSTl9FTkFCTEVE
KCkgMAo+ICsjZGVmaW5lIFJVQllfRFRSQUNFX0ZJTkRfUkVRVUlSRV9SRVRVUk4ocmVxdWlyZWRm
aWxlLCBmaWxlbmFtZSwgbGluZW5vKSBkbyB7fSB3aGlsZSAoMCkKPiArCj4gKyNkZWZpbmUgUlVC
WV9EVFJBQ0VfTE9BRF9FTlRSWV9FTkFCTEVEKCkgMAo+ICsjZGVmaW5lIFJVQllfRFRSQUNFX0xP
QURfRU5UUlkobG9hZGVkZmlsZSwgZmlsZW5hbWUsIGxpbmVubykgZG8ge30gd2hpbGUgKDApCj4g
Kwo+ICsjZGVmaW5lIFJVQllfRFRSQUNFX0xPQURfUkVUVVJOX0VOQUJMRUQoKSAwCj4gKyNkZWZp
bmUgUlVCWV9EVFJBQ0VfTE9BRF9SRVRVUk4obG9hZGVkZmlsZSwgZmlsZW5hbWUsIGxpbmVubykg
ZG8ge30gd2hpbGUgKDApCj4gKwo+ICsjZGVmaW5lIFJVQllfRFRSQUNFX1JBSVNFX0VOQUJMRUQo
KSAwCj4gKyNkZWZpbmUgUlVCWV9EVFJBQ0VfUkFJU0UoY2xhc3NuYW1lLCBmaWxlbmFtZSwgbGlu
ZW5vKSBkbyB7fSB3aGlsZSAoMCkKPiArCj4gKyNkZWZpbmUgUlVCWV9EVFJBQ0VfT0JKRUNUX0NS
RUFURV9FTkFCTEVEKCkgMAo+ICsjZGVmaW5lIFJVQllfRFRSQUNFX09CSkVDVF9DUkVBVEUoY2xh
c3NuYW1lLCBmaWxlbmFtZSwgbGluZW5vKSBkbyB7fSB3aGlsZSAoMCkKPiArCj4gKyNkZWZpbmUg
UlVCWV9EVFJBQ0VfQVJSQVlfQ1JFQVRFX0VOQUJMRUQoKSAwCj4gKyNkZWZpbmUgUlVCWV9EVFJB
Q0VfQVJSQVlfQ1JFQVRFKGxlbmd0aCwgZmlsZW5hbWUsIGxpbmVubykgZG8ge30gd2hpbGUgKDAp
Cj4gKwo+ICsjZGVmaW5lIFJVQllfRFRSQUNFX0hBU0hfQ1JFQVRFX0VOQUJMRUQoKSAwCj4gKyNk
ZWZpbmUgUlVCWV9EVFJBQ0VfSEFTSF9DUkVBVEUobGVuZ3RoLCBmaWxlbmFtZSwgbGluZW5vKSBk
byB7fSB3aGlsZSAoMCkKPiArCj4gKyNkZWZpbmUgUlVCWV9EVFJBQ0VfU1RSSU5HX0NSRUFURV9F
TkFCTEVEKCkgMAo+ICsjZGVmaW5lIFJVQllfRFRSQUNFX1NUUklOR19DUkVBVEUobGVuZ3RoLCBm
aWxlbmFtZSwgbGluZW5vKSBkbyB7fSB3aGlsZSAoMCkKPiArCj4gKyNkZWZpbmUgUlVCWV9EVFJB
Q0VfU1lNQk9MX0NSRUFURV9FTkFCTEVEKCkgMAo+ICsjZGVmaW5lIFJVQllfRFRSQUNFX1NZTUJP
TF9DUkVBVEUoc3RyLCBmaWxlbmFtZSwgbGluZW5vKSBkbyB7fSB3aGlsZSAoMCkKPiArCj4gKyNk
ZWZpbmUgUlVCWV9EVFJBQ0VfUEFSU0VfQkVHSU5fRU5BQkxFRCgpIDAKPiArI2RlZmluZSBSVUJZ
X0RUUkFDRV9QQVJTRV9CRUdJTihzb3VyY2VmaWxlLCBsaW5lbm8pIGRvIHt9IHdoaWxlICgwKQo+
ICsKPiArI2RlZmluZSBSVUJZX0RUUkFDRV9QQVJTRV9FTkRfRU5BQkxFRCgpIDAKPiArI2RlZmlu
ZSBSVUJZX0RUUkFDRV9QQVJTRV9FTkQoc291cmNlZmlsZSwgbGluZW5vKSBkbyB7fSB3aGlsZSAo
MCkKPiArCj4gKyNkZWZpbmUgUlVCWV9EVFJBQ0VfSU5TTl9FTkFCTEVEKCkgMAo+ICsjZGVmaW5l
IFJVQllfRFRSQUNFX0lOU04oaW5zbnNfbmFtZSkgZG8ge30gd2hpbGUgKDApCj4gKyNkZWZpbmUg
UlVCWV9EVFJBQ0VfSU5TTl9PUEVSQU5EX0VOQUJMRUQoKSAwCj4gKyNkZWZpbmUgUlVCWV9EVFJB
Q0VfSU5TTl9PUEVSQU5EKHZhbCwgaW5zbnNfbmFtZSkgZG8ge30gd2hpbGUgKDApCj4gKwo+ICsj
ZGVmaW5lIFJVQllfRFRSQUNFX0dDX01BUktfQkVHSU5fRU5BQkxFRCgpIDAKPiArI2RlZmluZSBS
VUJZX0RUUkFDRV9HQ19NQVJLX0JFR0lOKCkgZG8ge30gd2hpbGUgKDApCj4gKwo+ICsjZGVmaW5l
IFJVQllfRFRSQUNFX0dDX01BUktfRU5EX0VOQUJMRUQoKSAwCj4gKyNkZWZpbmUgUlVCWV9EVFJB
Q0VfR0NfTUFSS19FTkQoKSBkbyB7fSB3aGlsZSAoMCkKPiArCj4gKyNkZWZpbmUgUlVCWV9EVFJB
Q0VfR0NfU1dFRVBfQkVHSU5fRU5BQkxFRCgpIDAKPiArI2RlZmluZSBSVUJZX0RUUkFDRV9HQ19T
V0VFUF9CRUdJTigpIGRvIHt9IHdoaWxlICgwKQo+ICsKPiArI2RlZmluZSBSVUJZX0RUUkFDRV9H
Q19TV0VFUF9FTkRfRU5BQkxFRCgpIDAKPiArI2RlZmluZSBSVUJZX0RUUkFDRV9HQ19TV0VFUF9F
TkQoKSBkbyB7fSB3aGlsZSAoMCkKPiArCj4gKyNkZWZpbmUgUlVCWV9EVFJBQ0VfTUVUSE9EX0NB
Q0hFX0NMRUFSX0VOQUJMRUQoKSAwCj4gKyNkZWZpbmUgUlVCWV9EVFJBQ0VfTUVUSE9EX0NBQ0hF
X0NMRUFSKGNsYXNzLCBmaWxlbmFtZSwgbGluZW5vKSBkbyB7fSB3aGlsZSAoMCkKPiArCj4gKyNl
bmRpZiAvKiBfUFJPQkVTX0ggKi8KPiArCj4gZGlmZiAtLWdpdCBhL2dlbmVyYXRlZC9wcm9iZXMu
aCBiL2dlbmVyYXRlZC9wcm9iZXMuaAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAw
MDAwMC4uYjA1MWE0Zgo+IC0tLSAvZGV2L251bGwKPiArKysgYi9nZW5lcmF0ZWQvcHJvYmVzLmgK
PiBAQCAtMCwwICsxIEBACj4gKyNpbmNsdWRlICJwcm9iZXMuZG15aCIKPiBkaWZmIC0tZ2l0IGEv
Z2VuZXJhdGVkL3JldmlzaW9uLmggYi9nZW5lcmF0ZWQvcmV2aXNpb24uaAo+IG5ldyBmaWxlIG1v
ZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQo+IGRpZmYgLS1naXQgYS9nZW5lcmF0
ZWQvdmVyY29uZi5oIGIvZ2VuZXJhdGVkL3ZlcmNvbmYuaAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0
Cj4gaW5kZXggMDAwMDAwMC4uM2FlY2RiOQo+IC0tLSAvZGV2L251bGwKPiArKysgYi9nZW5lcmF0
ZWQvdmVyY29uZi5oCj4gQEAgLTAsMCArMSwxMyBAQAo+ICsjZGVmaW5lIFJVQllfQkFTRV9OQU1F
ICAgICAgICAgICAgICAgICAicnVieSIKPiArI2RlZmluZSBSVUJZX1ZFUlNJT05fTkFNRSAgICAg
ICAgICAgICAgInJ1YnktIlJVQllfTElCX1ZFUlNJT04KPiArI2RlZmluZSBSVUJZX0xJQl9WRVJT
SU9OX1NUWUxFICAgICAgICAgMyAgICAgICAvKiBmdWxsICovCj4gKyNkZWZpbmUgUlVCWV9FWEVD
X1BSRUZJWCAgICAgICAgICAgICAgICIvaG9tZS93b2xmL25mdi9kZXYvdW5pa3JhZnQvYXBwcy91
a3V0ZXN0LmdpdC9idWlsZC9saWJydWJ5L29yaWdpbi9ydWJ5LXJ1YnlfMl82L2Rpc3QiCj4gKyNk
ZWZpbmUgUlVCWV9MSUJfUFJFRklYICAgICAgICAgICAgICAgIFJVQllfRVhFQ19QUkVGSVgiL2xp
Yi9ydWJ5Igo+ICsjZGVmaW5lIFJVQllfQVJDSF9QUkVGSVhfRk9SKGFyY2gpICAgICBSVUJZX0xJ
Ql9QUkVGSVgiLyJhcmNoCj4gKyNkZWZpbmUgUlVCWV9TSVRFQVJDSF9QUkVGSVhfRk9SKGFyY2gp
IFJVQllfTElCX1BSRUZJWCIvImFyY2gKPiArI2RlZmluZSBSVUJZX0xJQiAgICAgICAgICAgICAg
ICAgICAgICAgUlVCWV9MSUJfUFJFRklYIi8iUlVCWV9MSUJfVkVSU0lPTgo+ICsjZGVmaW5lIFJV
QllfQVJDSF9MSUJfRk9SKGFyY2gpICAgICAgICBSVUJZX0xJQiIvImFyY2gKPiArI2RlZmluZSBS
VUJZX1NJVEVfTElCICAgICAgICAgICAgICAgICAgUlVCWV9MSUJfUFJFRklYIi9zaXRlX3J1Ynki
Cj4gKyNkZWZpbmUgUlVCWV9TSVRFX0FSQ0hfTElCX0ZPUihhcmNoKSAgIFJVQllfU0lURV9MSUIy
Ii8iYXJjaAo+ICsjZGVmaW5lIFJVQllfVkVORE9SX0xJQiAgICAgICAgICAgICAgICBSVUJZX0xJ
Ql9QUkVGSVgiL3ZlbmRvcl9ydWJ5Igo+ICsjZGVmaW5lIFJVQllfVkVORE9SX0FSQ0hfTElCX0ZP
UihhcmNoKSBSVUJZX1ZFTkRPUl9MSUIyIi8iYXJjaAo+IGRpZmYgLS1naXQgYS9nZW5lcmF0ZWQv
dm0uaW5jIGIvZ2VuZXJhdGVkL3ZtLmluYwo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXgg
MDAwMDAwMC4uYjdiOWI2Ngo+IC0tLSAvZGV2L251bGwKPiArKysgYi9nZW5lcmF0ZWQvdm0uaW5j
Cj4gQEAgLTAsMCArMSw0NTA0IEBACj4gKy8qIC0qLSBtb2RlOmM7IHN0eWxlOnJ1Ynk7IGNvZGlu
ZzogdXRmLTg7IGluZGVudC10YWJzLW1vZGU6IG5pbCAtKi0gKi8KPiArCj4gKy8qIFRoaXMgaXMg
IGFuIGF1dG8tZ2VuZXJhdGVkIGZpbGUgIGFuZCBpcyBhICBwYXJ0IG9mIHRoZSAgcHJvZ3JhbW1p
bmcgbGFuZ3VhZ2UKPiArICogUnVieS4gIFRoZSAgcGVyc29uIHdobyAgY3JlYXRlZCAgYSAgcHJv
Z3JhbSAgdG8gIGdlbmVyYXRlIHRoaXMgIGZpbGUgIChgYEknJwo+ICsgKiBoZXJlYWZ0ZXIpIHdv
dWxkIGxpa2UgIHRvIHJlZnJhaW4gZnJvbSBkZWZpbmluZyBsaWNlbnNpbmcgIG9mIHRoaXMgZ2Vu
ZXJhdGVkCj4gKyAqIHNvdXJjZSBjb2RlLgo+ICsgKgo+ICsgKiBUaGlzIGZpbGUgY29uc2lzdCBv
ZiBtYW55IHNtYWxsICBwYXJ0cyBvZiBjb2RlcyBjb3B5cmlnaHRlZCBieSBlYWNoIGF1dGhvcnMs
Cj4gKyAqIG5vdCAgb25seSAgdGhlICBgYEknJyAgcGVyc29uLiAgIFRob3NlICBvcmlnaW5hbCAg
YXV0aG9ycyAgYWdyZWUgIHdpdGggIHNvbWUKPiArICogb3Blbi1zb3VyY2UgbGljZW5zZS4gIEkg
IGJlbGlldmUgdGhhdCB0aGUgbGljZW5zZSB3ZSBhZ3JlZSAgaXMgdGhlIGNvbmRpdGlvbgo+ICsg
KiBtZW50aW9uZWQgaW4gIHRoZSBmaWxlIENPUFlJTkcuICBJdCAgc3RhdGVzICI0LiAgWW91IG1h
eSAgbW9kaWZ5IGFuZCBpbmNsdWRlCj4gKyAqIHRoZSBwYXJ0IG9mIHRoZSBzb2Z0d2FyZSBpbnRv
IGFueSAgb3RoZXIgc29mdHdhcmUgLi4uIi4gIEJ1dCB0aGUgcHJvYmxlbSBpcywKPiArICogdGhl
IGxpY2Vuc2UgbmV2ZXIgbWFrZXMgaXQgY2xlYXIgaWYgIHN1Y2ggbW9kaWZpZWQgcGFydHMgc3Rp
bGwgcmVtYWluIGluIHRoZQo+ICsgKiBzYW1lICBsaWNlbnNlLCBvciAgbm90LiAgIFRoZSBmYWN0
ICB0aGF0ICB3ZSBhZ3JlZSAgd2l0aCAgdGhlIHNvdXJjZSAgY29kZSdzCj4gKyAqIGxpY2Vuc2lu
ZyB0ZXJtcyBkbyBub3QgYXV0b21hdGljYWxseSBkZWZpbmUgdGhhdCBvZiBnZW5lcmF0ZWQgb25l
cy4gIFRoaXMgaXMKPiArICogdGhlIHJlYXNvbiAgd2h5IHRoaXMgZmlsZSAgaXMgdW5kZXIgdW5j
bGVhciBzaXR1YXRpb24uICAgQWxsIHRoYXQgSSAga25vdyBpcwo+ICsgKiB0aGF0IGFib3ZlIHBy
b3Zpc2lvbiBndWFyYW50ZWVzIHRoaXMgZmlsZSB0byBleGlzdC4KPiArICoKPiArICogUGxlYXNl
IGxldCBtZSAgaGVzaXRhdGUgdG8gZGVjbGFyZSBzb21ldGhpbmcgYWJvdXQgdGhpcyAgbnVhbmNl
ZCBjb250cmFjdC4gSQo+ICsgKiBhbSBub3QgaW4gdGhlIHBvc2l0aW9uIHRvIHRha2UgIG92ZXIg
b3RoZXIgYXV0aG9ycycgbGljZW5zZSB0byBtZXJnZSBpbnRvIG15Cj4gKyAqIG9uZS4gIENoYW5n
aW5nIHRoZW0gdG8gKHNheSkgR1BMdjMgIGlzIG5vdCBkb2FibGUgYnkgbXlzZWxmLiBQZXJoYXBz
IHNvbWVkYXkKPiArICogaXQgbWlnaHQgdHVybiBvdXQgdG8gYmUgb2theSB0byBzYXkgdGhpcyBm
aWxlIGlzIHVuZGVyIGEgbGljZW5zZS4gSSB3aXNoIHRoZQo+ICsgKiBzaXR1YXRpb24gd291bGQg
YmVjb21lIG1vcmUgY2xlYXIgaW4gdGhlIGZ1dHVyZS4gKi8KPiArCj4gKy8qKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwo+
ICsvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKi8KPiArLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCj4gKy8qKgo+ICsgIFRoaXMgZmlsZSBpcyBW
TSBtYWluIGxvb3AuCj4gKwo+ICsgIC0tLS0KPiArICBUaGlzIGZpbGUgaXMgYXV0byBnZW5lcmF0
ZWQgYnkgaW5zbnMydm0ucmIKPiArICBETyBOT1QgVE9VQ0ghCj4gKwo+ICsgIElmIHlvdSB3YW50
IHRvIGZpeCBzb21ldGhpbmcsIHlvdSBtdXN0IGVkaXQgInRvb2wvcnVieV92bS92aWV3cy92bS5p
bmMuZXJiIgo+ICsgIG9yIHRvb2wvaW5zbnMydm0ucmIKPiArICovCj4gKwo+ICsjaW5jbHVkZSAi
dm1faW5zbmhlbHBlci5oIgo+ICsKPiArLyogaW5zbiBub3AoKSgpKCkgKi8KPiArSU5TTl9FTlRS
WShub3ApCj4gK3sKPiArIyAgIGRlZmluZSBOQU1FX09GX0NVUlJFTlRfSU5TTiBub3AKPiArIyAg
IGRlZmluZSBJTlNOX0FUVFIoeCkgYXR0cl8gIyMgeCAjIyBfbm9wKCkKPiArICAgIGJvb2wgbGVh
ZjsKPiArICAgIE1BWUJFX1VOVVNFRChWQUxVRSAqKSBjYW5hcnk7Cj4gKyAgICBTVEFSVF9PRl9P
UklHSU5BTF9JTlNOKG5vcCk7Cj4gKyAgICBERUJVR19FTlRFUl9JTlNOKElOU05fQVRUUihuYW1l
KSk7Cj4gKyAgICBpZiAoISAobGVhZiA9IElOU05fQVRUUihsZWFmKSkpIEFERF9QQyhJTlNOX0FU
VFIod2lkdGgpKTsKPiArICAgIENPTExFQ1RfVVNBR0VfSU5TTihJTlNOX0FUVFIoYmluKSk7Cj4g
KyAgICBDSEVDS19WTV9TVEFDS19PVkVSRkxPV19GT1JfSU5TTihWTV9SRUdfQ0ZQLCBJTlNOX0FU
VFIocmV0bikpOwo+ICsgICAgSU5DX1NQKElOU05fQVRUUihzcF9pbmMpKTsKPiArICAgIGlmIChs
ZWFmKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7Cj4gKyAgICBFTkRfSU5TTihub3ApOwo+ICsj
ICAgdW5kZWYgSU5TTl9BVFRSCj4gKyMgICB1bmRlZiBOQU1FX09GX0NVUlJFTlRfSU5TTgo+ICt9
Cj4gKwo+ICsvKiBpbnNuIGdldGxvY2FsKGlkeCwgbGV2ZWwpKCkodmFsKSAqLwo+ICtJTlNOX0VO
VFJZKGdldGxvY2FsKQo+ICt7Cj4gKyMgICBkZWZpbmUgTkFNRV9PRl9DVVJSRU5UX0lOU04gZ2V0
bG9jYWwKPiArIyAgIGRlZmluZSBJTlNOX0FUVFIoeCkgYXR0cl8gIyMgeCAjIyBfZ2V0bG9jYWwo
aWR4LCBsZXZlbCkKPiArICAgIGJvb2wgbGVhZjsKPiArICAgIE1BWUJFX1VOVVNFRChWQUxVRSAq
KSBjYW5hcnk7Cj4gKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIHZhbDsKPiArICAgIE1BWUJFX1VO
VVNFRChsaW5kZXhfdCkgaWR4Owo+ICsgICAgTUFZQkVfVU5VU0VEKHJiX251bV90KSBsZXZlbDsK
PiArCj4gKyAgICBTVEFSVF9PRl9PUklHSU5BTF9JTlNOKGdldGxvY2FsKTsKPiArICAgIGlkeCA9
IChsaW5kZXhfdClHRVRfT1BFUkFORCgxKTsKPiArICAgIGxldmVsID0gKHJiX251bV90KUdFVF9P
UEVSQU5EKDIpOwo+ICsgICAgREVCVUdfRU5URVJfSU5TTihJTlNOX0FUVFIobmFtZSkpOwo+ICsg
ICAgaWYgKCEgKGxlYWYgPSBJTlNOX0FUVFIobGVhZikpKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRo
KSk7Cj4gKyAgICBTRVRVUF9DQU5BUlkoKTsKPiArICAgIENPTExFQ1RfVVNBR0VfSU5TTihJTlNO
X0FUVFIoYmluKSk7Cj4gKyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiks
IDAsIGlkeCk7Cj4gKyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDEs
IGxldmVsKTsKPiArI2xpbmUgODEgImluc25zLmRlZiIKPiArewo+ICsgICAgdmFsID0gKih2bV9n
ZXRfZXAoR0VUX0VQKCksIGxldmVsKSAtIGlkeCk7Cj4gKyAgICBSQl9ERUJVR19DT1VOVEVSX0lO
QyhsdmFyX2dldCk7Cj4gKyAgICAodm9pZClSQl9ERUJVR19DT1VOVEVSX0lOQ19JRihsdmFyX2dl
dF9keW5hbWljLCBsZXZlbCA+IDApOwo+ICt9Cj4gKyNsaW5lIDg3ICJ2bS5pbmMiCj4gKyAgICBD
SEVDS19WTV9TVEFDS19PVkVSRkxPV19GT1JfSU5TTihWTV9SRUdfQ0ZQLCBJTlNOX0FUVFIocmV0
bikpOwo+ICsgICAgQ0hFQ0tfQ0FOQVJZKCk7Cj4gKyAgICBJTkNfU1AoSU5TTl9BVFRSKHNwX2lu
YykpOwo+ICsgICAgVE9QTigwKSA9IHZhbDsKPiArICAgIGlmIChsZWFmKSBBRERfUEMoSU5TTl9B
VFRSKHdpZHRoKSk7Cj4gKyAgICBFTkRfSU5TTihnZXRsb2NhbCk7Cj4gKyMgICB1bmRlZiBJTlNO
X0FUVFIKPiArIyAgIHVuZGVmIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOCj4gK30KPiArCj4gKy8qIGlu
c24gc2V0bG9jYWwoaWR4LCBsZXZlbCkodmFsKSgpICovCj4gK0lOU05fRU5UUlkoc2V0bG9jYWwp
Cj4gK3sKPiArIyAgIGRlZmluZSBOQU1FX09GX0NVUlJFTlRfSU5TTiBzZXRsb2NhbAo+ICsjICAg
ZGVmaW5lIElOU05fQVRUUih4KSBhdHRyXyAjIyB4ICMjIF9zZXRsb2NhbChpZHgsIGxldmVsKQo+
ICsgICAgYm9vbCBsZWFmOwo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVFICopIGNhbmFyeTsKPiAr
ICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgdmFsOwo+ICsgICAgTUFZQkVfVU5VU0VEKGxpbmRleF90
KSBpZHg7Cj4gKyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QpIGxldmVsOwo+ICsKPiArICAgIFNU
QVJUX09GX09SSUdJTkFMX0lOU04oc2V0bG9jYWwpOwo+ICsgICAgaWR4ID0gKGxpbmRleF90KUdF
VF9PUEVSQU5EKDEpOwo+ICsgICAgbGV2ZWwgPSAocmJfbnVtX3QpR0VUX09QRVJBTkQoMik7Cj4g
KyAgICB2YWwgPSBUT1BOKDApOwo+ICsgICAgREVCVUdfRU5URVJfSU5TTihJTlNOX0FUVFIobmFt
ZSkpOwo+ICsgICAgaWYgKCEgKGxlYWYgPSBJTlNOX0FUVFIobGVhZikpKSBBRERfUEMoSU5TTl9B
VFRSKHdpZHRoKSk7Cj4gKyAgICBTRVRVUF9DQU5BUlkoKTsKPiArICAgIENPTExFQ1RfVVNBR0Vf
SU5TTihJTlNOX0FUVFIoYmluKSk7Cj4gKyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9B
VFRSKGJpbiksIDAsIGlkeCk7Cj4gKyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRS
KGJpbiksIDEsIGxldmVsKTsKPiArI2xpbmUgOTUgImluc25zLmRlZiIKPiArewo+ICsgICAgdm1f
ZW52X3dyaXRlKHZtX2dldF9lcChHRVRfRVAoKSwgbGV2ZWwpLCAtKGludClpZHgsIHZhbCk7Cj4g
KyAgICBSQl9ERUJVR19DT1VOVEVSX0lOQyhsdmFyX3NldCk7Cj4gKyAgICAodm9pZClSQl9ERUJV
R19DT1VOVEVSX0lOQ19JRihsdmFyX3NldF9keW5hbWljLCBsZXZlbCA+IDApOwo+ICt9Cj4gKyNs
aW5lIDEyNSAidm0uaW5jIgo+ICsgICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04o
Vk1fUkVHX0NGUCwgSU5TTl9BVFRSKHJldG4pKTsKPiArICAgIENIRUNLX0NBTkFSWSgpOwo+ICsg
ICAgSU5DX1NQKElOU05fQVRUUihzcF9pbmMpKTsKPiArICAgIGlmIChsZWFmKSBBRERfUEMoSU5T
Tl9BVFRSKHdpZHRoKSk7Cj4gKyAgICBFTkRfSU5TTihzZXRsb2NhbCk7Cj4gKyMgICB1bmRlZiBJ
TlNOX0FUVFIKPiArIyAgIHVuZGVmIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOCj4gK30KPiArCj4gKy8q
IGluc24gZ2V0YmxvY2twYXJhbShpZHgsIGxldmVsKSgpKHZhbCkgKi8KPiArSU5TTl9FTlRSWShn
ZXRibG9ja3BhcmFtKQo+ICt7Cj4gKyMgICBkZWZpbmUgTkFNRV9PRl9DVVJSRU5UX0lOU04gZ2V0
YmxvY2twYXJhbQo+ICsjICAgZGVmaW5lIElOU05fQVRUUih4KSBhdHRyXyAjIyB4ICMjIF9nZXRi
bG9ja3BhcmFtKGlkeCwgbGV2ZWwpCj4gKyAgICBib29sIGxlYWY7Cj4gKyAgICBNQVlCRV9VTlVT
RUQoVkFMVUUgKikgY2FuYXJ5Owo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSB2YWw7Cj4gKyAg
ICBNQVlCRV9VTlVTRUQobGluZGV4X3QpIGlkeDsKPiArICAgIE1BWUJFX1VOVVNFRChyYl9udW1f
dCkgbGV2ZWw7Cj4gKwo+ICsgICAgU1RBUlRfT0ZfT1JJR0lOQUxfSU5TTihnZXRibG9ja3BhcmFt
KTsKPiArICAgIGlkeCA9IChsaW5kZXhfdClHRVRfT1BFUkFORCgxKTsKPiArICAgIGxldmVsID0g
KHJiX251bV90KUdFVF9PUEVSQU5EKDIpOwo+ICsgICAgREVCVUdfRU5URVJfSU5TTihJTlNOX0FU
VFIobmFtZSkpOwo+ICsgICAgaWYgKCEgKGxlYWYgPSBJTlNOX0FUVFIobGVhZikpKSBBRERfUEMo
SU5TTl9BVFRSKHdpZHRoKSk7Cj4gKyAgICBTRVRVUF9DQU5BUlkoKTsKPiArICAgIENPTExFQ1Rf
VVNBR0VfSU5TTihJTlNOX0FUVFIoYmluKSk7Cj4gKyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQo
SU5TTl9BVFRSKGJpbiksIDAsIGlkeCk7Cj4gKyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5T
Tl9BVFRSKGJpbiksIDEsIGxldmVsKTsKPiArI2xpbmUgMTA3ICJpbnNucy5kZWYiCj4gK3sKPiAr
ICAgIGNvbnN0IFZBTFVFICplcCA9IHZtX2dldF9lcChHRVRfRVAoKSwgbGV2ZWwpOwo+ICsgICAg
Vk1fQVNTRVJUKFZNX0VOVl9MT0NBTF9QKGVwKSk7Cj4gKwo+ICsgICAgaWYgKCFWTV9FTlZfRkxB
R1MoZXAsIFZNX0ZSQU1FX0ZMQUdfTU9ESUZJRURfQkxPQ0tfUEFSQU0pKSB7Cj4gKyAgICAgICB2
YWwgPSByYl92bV9iaF90b19wcm9jdmFsKGVjLCBWTV9FTlZfQkxPQ0tfSEFORExFUihlcCkpOwo+
ICsgICAgICAgdm1fZW52X3dyaXRlKGVwLCAtKGludClpZHgsIHZhbCk7Cj4gKyAgICAgICBWTV9F
TlZfRkxBR1NfU0VUKGVwLCBWTV9GUkFNRV9GTEFHX01PRElGSUVEX0JMT0NLX1BBUkFNKTsKPiAr
ICAgIH0KPiArICAgIGVsc2Ugewo+ICsgICAgICAgdmFsID0gKihlcCAtIGlkeCk7Cj4gKyAgICAg
ICBSQl9ERUJVR19DT1VOVEVSX0lOQyhsdmFyX2dldCk7Cj4gKyAgICAgICAodm9pZClSQl9ERUJV
R19DT1VOVEVSX0lOQ19JRihsdmFyX2dldF9keW5hbWljLCBsZXZlbCA+IDApOwo+ICsgICAgfQo+
ICt9Cj4gKyNsaW5lIDE3MSAidm0uaW5jIgo+ICsgICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZFUkZMT1df
Rk9SX0lOU04oVk1fUkVHX0NGUCwgSU5TTl9BVFRSKHJldG4pKTsKPiArICAgIENIRUNLX0NBTkFS
WSgpOwo+ICsgICAgSU5DX1NQKElOU05fQVRUUihzcF9pbmMpKTsKPiArICAgIFRPUE4oMCkgPSB2
YWw7Cj4gKyAgICBpZiAobGVhZikgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOwo+ICsgICAgRU5E
X0lOU04oZ2V0YmxvY2twYXJhbSk7Cj4gKyMgICB1bmRlZiBJTlNOX0FUVFIKPiArIyAgIHVuZGVm
IE5BTUVfT0ZfQ1VSUkVOVF9JTlNOCj4gK30KPiArCj4gKy8qIGluc24gc2V0YmxvY2twYXJhbShp
ZHgsIGxldmVsKSh2YWwpKCkgKi8KPiArSU5TTl9FTlRSWShzZXRibG9ja3BhcmFtKQo+ICt7Cj4g
KyMgICBkZWZpbmUgTkFNRV9PRl9DVVJSRU5UX0lOU04gc2V0YmxvY2twYXJhbQo+ICsjICAgZGVm
aW5lIElOU05fQVRUUih4KSBhdHRyXyAjIyB4ICMjIF9zZXRibG9ja3BhcmFtKGlkeCwgbGV2ZWwp
Cj4gKyAgICBib29sIGxlYWY7Cj4gKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUgKikgY2FuYXJ5Owo+
ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSB2YWw7Cj4gKyAgICBNQVlCRV9VTlVTRUQobGluZGV4
X3QpIGlkeDsKPiArICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCkgbGV2ZWw7Cj4gKwo+ICsgICAg
U1RBUlRfT0ZfT1JJR0lOQUxfSU5TTihzZXRibG9ja3BhcmFtKTsKPiArICAgIGlkeCA9IChsaW5k
ZXhfdClHRVRfT1BFUkFORCgxKTsKPiArICAgIGxldmVsID0gKHJiX251bV90KUdFVF9PUEVSQU5E
KDIpOwo+ICsgICAgdmFsID0gVE9QTigwKTsKPiArICAgIERFQlVHX0VOVEVSX0lOU04oSU5TTl9B
VFRSKG5hbWUpKTsKPiArICAgIGlmICghIChsZWFmID0gSU5TTl9BVFRSKGxlYWYpKSkgQUREX1BD
KElOU05fQVRUUih3aWR0aCkpOwo+ICsgICAgU0VUVVBfQ0FOQVJZKCk7Cj4gKyAgICBDT0xMRUNU
X1VTQUdFX0lOU04oSU5TTl9BVFRSKGJpbikpOwo+ICsgICAgQ09MTEVDVF9VU0FHRV9PUEVSQU5E
KElOU05fQVRUUihiaW4pLCAwLCBpZHgpOwo+ICsgICAgQ09MTEVDVF9VU0FHRV9PUEVSQU5EKElO
U05fQVRUUihiaW4pLCAxLCBsZXZlbCk7Cj4gKyNsaW5lIDEyOSAiaW5zbnMuZGVmIgo+ICt7Cj4g
KyAgICBjb25zdCBWQUxVRSAqZXAgPSB2bV9nZXRfZXAoR0VUX0VQKCksIGxldmVsKTsKPiArICAg
IFZNX0FTU0VSVChWTV9FTlZfTE9DQUxfUChlcCkpOwo+ICsKPiArICAgIHZtX2Vudl93cml0ZShl
cCwgLShpbnQpaWR4LCB2YWwpOwo+ICsgICAgUkJfREVCVUdfQ09VTlRFUl9JTkMobHZhcl9zZXQp
Owo+ICsgICAgKHZvaWQpUkJfREVCVUdfQ09VTlRFUl9JTkNfSUYobHZhcl9zZXRfZHluYW1pYywg
bGV2ZWwgPiAwKTsKPiArCj4gKyAgICBWTV9FTlZfRkxBR1NfU0VUKGVwLCBWTV9GUkFNRV9GTEFH
X01PRElGSUVEX0JMT0NLX1BBUkFNKTsKPiArfQo+ICsjbGluZSAyMTQgInZtLmluYyIKPiArICAg
IENIRUNLX1ZNX1NUQUNLX09WRVJGTE9XX0ZPUl9JTlNOKFZNX1JFR19DRlAsIElOU05fQVRUUihy
ZXRuKSk7Cj4gKyAgICBDSEVDS19DQU5BUlkoKTsKPiArICAgIElOQ19TUChJTlNOX0FUVFIoc3Bf
aW5jKSk7Cj4gKyAgICBpZiAobGVhZikgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOwo+ICsgICAg
RU5EX0lOU04oc2V0YmxvY2twYXJhbSk7Cj4gKyMgICB1bmRlZiBJTlNOX0FUVFIKPiArIyAgIHVu
ZGVmIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOCj4gK30KPiArCj4gKy8qIGluc24gZ2V0YmxvY2twYXJh
bXByb3h5KGlkeCwgbGV2ZWwpKCkodmFsKSAqLwo+ICtJTlNOX0VOVFJZKGdldGJsb2NrcGFyYW1w
cm94eSkKPiArewo+ICsjICAgZGVmaW5lIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOIGdldGJsb2NrcGFy
YW1wcm94eQo+ICsjICAgZGVmaW5lIElOU05fQVRUUih4KSBhdHRyXyAjIyB4ICMjIF9nZXRibG9j
a3BhcmFtcHJveHkoaWR4LCBsZXZlbCkKPiArICAgIGJvb2wgbGVhZjsKPiArICAgIE1BWUJFX1VO
VVNFRChWQUxVRSAqKSBjYW5hcnk7Cj4gKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIHZhbDsKPiAr
ICAgIE1BWUJFX1VOVVNFRChsaW5kZXhfdCkgaWR4Owo+ICsgICAgTUFZQkVfVU5VU0VEKHJiX251
bV90KSBsZXZlbDsKPiArCj4gKyAgICBTVEFSVF9PRl9PUklHSU5BTF9JTlNOKGdldGJsb2NrcGFy
YW1wcm94eSk7Cj4gKyAgICBpZHggPSAobGluZGV4X3QpR0VUX09QRVJBTkQoMSk7Cj4gKyAgICBs
ZXZlbCA9IChyYl9udW1fdClHRVRfT1BFUkFORCgyKTsKPiArICAgIERFQlVHX0VOVEVSX0lOU04o
SU5TTl9BVFRSKG5hbWUpKTsKPiArICAgIGlmICghIChsZWFmID0gSU5TTl9BVFRSKGxlYWYpKSkg
QUREX1BDKElOU05fQVRUUih3aWR0aCkpOwo+ICsgICAgU0VUVVBfQ0FOQVJZKCk7Cj4gKyAgICBD
T0xMRUNUX1VTQUdFX0lOU04oSU5TTl9BVFRSKGJpbikpOwo+ICsgICAgQ09MTEVDVF9VU0FHRV9P
UEVSQU5EKElOU05fQVRUUihiaW4pLCAwLCBpZHgpOwo+ICsgICAgQ09MTEVDVF9VU0FHRV9PUEVS
QU5EKElOU05fQVRUUihiaW4pLCAxLCBsZXZlbCk7Cj4gKyNsaW5lIDE0OCAiaW5zbnMuZGVmIgo+
ICt7Cj4gKyAgICBjb25zdCBWQUxVRSAqZXAgPSB2bV9nZXRfZXAoR0VUX0VQKCksIGxldmVsKTsK
PiArICAgIFZNX0FTU0VSVChWTV9FTlZfTE9DQUxfUChlcCkpOwo+ICsKPiArICAgIGlmICghVk1f
RU5WX0ZMQUdTKGVwLCBWTV9GUkFNRV9GTEFHX01PRElGSUVEX0JMT0NLX1BBUkFNKSkgewo+ICsg
ICAgICAgVkFMVUUgYmxvY2tfaGFuZGxlciA9IFZNX0VOVl9CTE9DS19IQU5ETEVSKGVwKTsKPiAr
Cj4gKyAgICAgICBpZiAoYmxvY2tfaGFuZGxlcikgewo+ICsgICAgICAgICAgIHN3aXRjaCAodm1f
YmxvY2tfaGFuZGxlcl90eXBlKGJsb2NrX2hhbmRsZXIpKSB7Cj4gKyAgICAgICAgICAgICBjYXNl
IGJsb2NrX2hhbmRsZXJfdHlwZV9pc2VxOgo+ICsgICAgICAgICAgICAgY2FzZSBibG9ja19oYW5k
bGVyX3R5cGVfaWZ1bmM6Cj4gKyAgICAgICAgICAgICAgIHZhbCA9IHJiX2Jsb2NrX3BhcmFtX3By
b3h5Owo+ICsgICAgICAgICAgICAgICBicmVhazsKPiArICAgICAgICAgICAgIGNhc2UgYmxvY2tf
aGFuZGxlcl90eXBlX3N5bWJvbDoKPiArICAgICAgICAgICAgICAgdmFsID0gcmJfc3ltX3RvX3By
b2MoVk1fQkhfVE9fU1lNQk9MKGJsb2NrX2hhbmRsZXIpKTsKPiArICAgICAgICAgICAgICAgZ290
byBJTlNOX0xBQkVMKHNldCk7Cj4gKyAgICAgICAgICAgICBjYXNlIGJsb2NrX2hhbmRsZXJfdHlw
ZV9wcm9jOgo+ICsgICAgICAgICAgICAgICB2YWwgPSBWTV9CSF9UT19QUk9DKGJsb2NrX2hhbmRs
ZXIpOwo+ICsgICAgICAgICAgICAgICBnb3RvIElOU05fTEFCRUwoc2V0KTsKPiArICAgICAgICAg
ICAgIGRlZmF1bHQ6Cj4gKyAgICAgICAgICAgICAgIFZNX1VOUkVBQ0hBQkxFKGdldGJsb2NrcGFy
YW1wcm94eSk7Cj4gKyAgICAgICAgICAgfQo+ICsgICAgICAgfQo+ICsgICAgICAgZWxzZSB7Cj4g
KyAgICAgICAgICAgdmFsID0gUW5pbDsKPiArICAgICAgICAgSU5TTl9MQUJFTChzZXQpOgo+ICsg
ICAgICAgICAgIHZtX2Vudl93cml0ZShlcCwgLShpbnQpaWR4LCB2YWwpOwo+ICsgICAgICAgICAg
IFZNX0VOVl9GTEFHU19TRVQoZXAsIFZNX0ZSQU1FX0ZMQUdfTU9ESUZJRURfQkxPQ0tfUEFSQU0p
Owo+ICsgICAgICAgfQo+ICsgICAgfQo+ICsgICAgZWxzZSB7Cj4gKyAgICAgICB2YWwgPSAqKGVw
IC0gaWR4KTsKPiArICAgICAgIFJCX0RFQlVHX0NPVU5URVJfSU5DKGx2YXJfZ2V0KTsKPiArICAg
ICAgICh2b2lkKVJCX0RFQlVHX0NPVU5URVJfSU5DX0lGKGx2YXJfZ2V0X2R5bmFtaWMsIGxldmVs
ID4gMCk7Cj4gKyAgICB9Cj4gK30KPiArI2xpbmUgMjgxICJ2bS5pbmMiCj4gKyAgICBDSEVDS19W
TV9TVEFDS19PVkVSRkxPV19GT1JfSU5TTihWTV9SRUdfQ0ZQLCBJTlNOX0FUVFIocmV0bikpOwo+
ICsgICAgQ0hFQ0tfQ0FOQVJZKCk7Cj4gKyAgICBJTkNfU1AoSU5TTl9BVFRSKHNwX2luYykpOwo+
ICsgICAgVE9QTigwKSA9IHZhbDsKPiArICAgIGlmIChsZWFmKSBBRERfUEMoSU5TTl9BVFRSKHdp
ZHRoKSk7Cj4gKyAgICBFTkRfSU5TTihnZXRibG9ja3BhcmFtcHJveHkpOwo+ICsjICAgdW5kZWYg
SU5TTl9BVFRSCj4gKyMgICB1bmRlZiBOQU1FX09GX0NVUlJFTlRfSU5TTgo+ICt9Cj4gKwo+ICsv
KiBpbnNuIGdldHNwZWNpYWwoa2V5LCB0eXBlKSgpKHZhbCkgKi8KPiArSU5TTl9FTlRSWShnZXRz
cGVjaWFsKQo+ICt7Cj4gKyMgICBkZWZpbmUgTkFNRV9PRl9DVVJSRU5UX0lOU04gZ2V0c3BlY2lh
bAo+ICsjICAgZGVmaW5lIElOU05fQVRUUih4KSBhdHRyXyAjIyB4ICMjIF9nZXRzcGVjaWFsKGtl
eSwgdHlwZSkKPiArICAgIGJvb2wgbGVhZjsKPiArICAgIE1BWUJFX1VOVVNFRChWQUxVRSAqKSBj
YW5hcnk7Cj4gKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIHZhbDsKPiArICAgIE1BWUJFX1VOVVNF
RChyYl9udW1fdCkga2V5LCB0eXBlOwo+ICsKPiArICAgIFNUQVJUX09GX09SSUdJTkFMX0lOU04o
Z2V0c3BlY2lhbCk7Cj4gKyAgICBrZXkgPSAocmJfbnVtX3QpR0VUX09QRVJBTkQoMSk7Cj4gKyAg
ICB0eXBlID0gKHJiX251bV90KUdFVF9PUEVSQU5EKDIpOwo+ICsgICAgREVCVUdfRU5URVJfSU5T
TihJTlNOX0FUVFIobmFtZSkpOwo+ICsgICAgaWYgKCEgKGxlYWYgPSBJTlNOX0FUVFIobGVhZikp
KSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7Cj4gKyAgICBTRVRVUF9DQU5BUlkoKTsKPiArICAg
IENPTExFQ1RfVVNBR0VfSU5TTihJTlNOX0FUVFIoYmluKSk7Cj4gKyAgICBDT0xMRUNUX1VTQUdF
X09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDAsIGtleSk7Cj4gKyAgICBDT0xMRUNUX1VTQUdFX09Q
RVJBTkQoSU5TTl9BVFRSKGJpbiksIDEsIHR5cGUpOwo+ICsjbGluZSAxOTEgImluc25zLmRlZiIK
PiArewo+ICsgICAgdmFsID0gdm1fZ2V0c3BlY2lhbChlYywgR0VUX0xFUCgpLCBrZXksIHR5cGUp
Owo+ICt9Cj4gKyNsaW5lIDMxNSAidm0uaW5jIgo+ICsgICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZFUkZM
T1dfRk9SX0lOU04oVk1fUkVHX0NGUCwgSU5TTl9BVFRSKHJldG4pKTsKPiArICAgIENIRUNLX0NB
TkFSWSgpOwo+ICsgICAgSU5DX1NQKElOU05fQVRUUihzcF9pbmMpKTsKPiArICAgIFRPUE4oMCkg
PSB2YWw7Cj4gKyAgICBpZiAobGVhZikgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOwo+ICsgICAg
RU5EX0lOU04oZ2V0c3BlY2lhbCk7Cj4gKyMgICB1bmRlZiBJTlNOX0FUVFIKPiArIyAgIHVuZGVm
IE5BTUVfT0ZfQ1VSUkVOVF9JTlNOCj4gK30KPiArCj4gKy8qIGluc24gc2V0c3BlY2lhbChrZXkp
KG9iaikoKSAqLwo+ICtJTlNOX0VOVFJZKHNldHNwZWNpYWwpCj4gK3sKPiArIyAgIGRlZmluZSBO
QU1FX09GX0NVUlJFTlRfSU5TTiBzZXRzcGVjaWFsCj4gKyMgICBkZWZpbmUgSU5TTl9BVFRSKHgp
IGF0dHJfICMjIHggIyMgX3NldHNwZWNpYWwoa2V5KQo+ICsgICAgYm9vbCBsZWFmOwo+ICsgICAg
TUFZQkVfVU5VU0VEKFZBTFVFICopIGNhbmFyeTsKPiArICAgIE1BWUJFX1VOVVNFRChWQUxVRSkg
b2JqOwo+ICsgICAgTUFZQkVfVU5VU0VEKHJiX251bV90KSBrZXk7Cj4gKwo+ICsgICAgU1RBUlRf
T0ZfT1JJR0lOQUxfSU5TTihzZXRzcGVjaWFsKTsKPiArICAgIGtleSA9IChyYl9udW1fdClHRVRf
T1BFUkFORCgxKTsKPiArICAgIG9iaiA9IFRPUE4oMCk7Cj4gKyAgICBERUJVR19FTlRFUl9JTlNO
KElOU05fQVRUUihuYW1lKSk7Cj4gKyAgICBpZiAoISAobGVhZiA9IElOU05fQVRUUihsZWFmKSkp
IEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKPiArICAgIFNFVFVQX0NBTkFSWSgpOwo+ICsgICAg
Q09MTEVDVF9VU0FHRV9JTlNOKElOU05fQVRUUihiaW4pKTsKPiArICAgIENPTExFQ1RfVVNBR0Vf
T1BFUkFORChJTlNOX0FUVFIoYmluKSwgMCwga2V5KTsKPiArI2xpbmUgMjAxICJpbnNucy5kZWYi
Cj4gK3sKPiArICAgIGxlcF9zdmFyX3NldChlYywgR0VUX0xFUCgpLCBrZXksIG9iaik7Cj4gK30K
PiArI2xpbmUgMzQ4ICJ2bS5pbmMiCj4gKyAgICBDSEVDS19WTV9TVEFDS19PVkVSRkxPV19GT1Jf
SU5TTihWTV9SRUdfQ0ZQLCBJTlNOX0FUVFIocmV0bikpOwo+ICsgICAgQ0hFQ0tfQ0FOQVJZKCk7
Cj4gKyAgICBJTkNfU1AoSU5TTl9BVFRSKHNwX2luYykpOwo+ICsgICAgaWYgKGxlYWYpIEFERF9Q
QyhJTlNOX0FUVFIod2lkdGgpKTsKPiArICAgIEVORF9JTlNOKHNldHNwZWNpYWwpOwo+ICsjICAg
dW5kZWYgSU5TTl9BVFRSCj4gKyMgICB1bmRlZiBOQU1FX09GX0NVUlJFTlRfSU5TTgo+ICt9Cj4g
Kwo+ICsvKiBpbnNuIGdldGluc3RhbmNldmFyaWFibGUoaWQsIGljKSgpKHZhbCkgKi8KPiArSU5T
Tl9FTlRSWShnZXRpbnN0YW5jZXZhcmlhYmxlKQo+ICt7Cj4gKyMgICBkZWZpbmUgTkFNRV9PRl9D
VVJSRU5UX0lOU04gZ2V0aW5zdGFuY2V2YXJpYWJsZQo+ICsjICAgZGVmaW5lIElOU05fQVRUUih4
KSBhdHRyXyAjIyB4ICMjIF9nZXRpbnN0YW5jZXZhcmlhYmxlKGlkLCBpYykKPiArICAgIGJvb2wg
bGVhZjsKPiArICAgIE1BWUJFX1VOVVNFRChWQUxVRSAqKSBjYW5hcnk7Cj4gKyAgICBNQVlCRV9V
TlVTRUQoSUMpIGljOwo+ICsgICAgTUFZQkVfVU5VU0VEKElEKSBpZDsKPiArICAgIE1BWUJFX1VO
VVNFRChWQUxVRSkgdmFsOwo+ICsKPiArICAgIFNUQVJUX09GX09SSUdJTkFMX0lOU04oZ2V0aW5z
dGFuY2V2YXJpYWJsZSk7Cj4gKyAgICBpZCA9IChJRClHRVRfT1BFUkFORCgxKTsKPiArICAgIGlj
ID0gKElDKUdFVF9PUEVSQU5EKDIpOwo+ICsgICAgREVCVUdfRU5URVJfSU5TTihJTlNOX0FUVFIo
bmFtZSkpOwo+ICsgICAgaWYgKCEgKGxlYWYgPSBJTlNOX0FUVFIobGVhZikpKSBBRERfUEMoSU5T
Tl9BVFRSKHdpZHRoKSk7Cj4gKyAgICBTRVRVUF9DQU5BUlkoKTsKPiArICAgIENPTExFQ1RfVVNB
R0VfSU5TTihJTlNOX0FUVFIoYmluKSk7Cj4gKyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5T
Tl9BVFRSKGJpbiksIDAsIGlkKTsKPiArICAgIENPTExFQ1RfVVNBR0VfT1BFUkFORChJTlNOX0FU
VFIoYmluKSwgMSwgaWMpOwo+ICsjbGluZSAyMTMgImluc25zLmRlZiIKPiArewo+ICsgICAgdmFs
ID0gdm1fZ2V0aW5zdGFuY2V2YXJpYWJsZShHRVRfU0VMRigpLCBpZCwgaWMpOwo+ICt9Cj4gKyNs
aW5lIDM4MiAidm0uaW5jIgo+ICsgICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04o
Vk1fUkVHX0NGUCwgSU5TTl9BVFRSKHJldG4pKTsKPiArICAgIENIRUNLX0NBTkFSWSgpOwo+ICsg
ICAgSU5DX1NQKElOU05fQVRUUihzcF9pbmMpKTsKPiArICAgIFRPUE4oMCkgPSB2YWw7Cj4gKyAg
ICBpZiAobGVhZikgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOwo+ICsgICAgRU5EX0lOU04oZ2V0
aW5zdGFuY2V2YXJpYWJsZSk7Cj4gKyMgICB1bmRlZiBJTlNOX0FUVFIKPiArIyAgIHVuZGVmIE5B
TUVfT0ZfQ1VSUkVOVF9JTlNOCj4gK30KPiArCj4gKy8qIGluc24gc2V0aW5zdGFuY2V2YXJpYWJs
ZShpZCwgaWMpKHZhbCkoKSAqLwo+ICtJTlNOX0VOVFJZKHNldGluc3RhbmNldmFyaWFibGUpCj4g
K3sKPiArIyAgIGRlZmluZSBOQU1FX09GX0NVUlJFTlRfSU5TTiBzZXRpbnN0YW5jZXZhcmlhYmxl
Cj4gKyMgICBkZWZpbmUgSU5TTl9BVFRSKHgpIGF0dHJfICMjIHggIyMgX3NldGluc3RhbmNldmFy
aWFibGUoaWQsIGljKQo+ICsgICAgYm9vbCBsZWFmOwo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVF
ICopIGNhbmFyeTsKPiArICAgIE1BWUJFX1VOVVNFRChJQykgaWM7Cj4gKyAgICBNQVlCRV9VTlVT
RUQoSUQpIGlkOwo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSB2YWw7Cj4gKwo+ICsgICAgU1RB
UlRfT0ZfT1JJR0lOQUxfSU5TTihzZXRpbnN0YW5jZXZhcmlhYmxlKTsKPiArICAgIGlkID0gKElE
KUdFVF9PUEVSQU5EKDEpOwo+ICsgICAgaWMgPSAoSUMpR0VUX09QRVJBTkQoMik7Cj4gKyAgICB2
YWwgPSBUT1BOKDApOwo+ICsgICAgREVCVUdfRU5URVJfSU5TTihJTlNOX0FUVFIobmFtZSkpOwo+
ICsgICAgaWYgKCEgKGxlYWYgPSBJTlNOX0FUVFIobGVhZikpKSBBRERfUEMoSU5TTl9BVFRSKHdp
ZHRoKSk7Cj4gKyAgICBTRVRVUF9DQU5BUlkoKTsKPiArICAgIENPTExFQ1RfVVNBR0VfSU5TTihJ
TlNOX0FUVFIoYmluKSk7Cj4gKyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJp
biksIDAsIGlkKTsKPiArICAgIENPTExFQ1RfVVNBR0VfT1BFUkFORChJTlNOX0FUVFIoYmluKSwg
MSwgaWMpOwo+ICsjbGluZSAyMjMgImluc25zLmRlZiIKPiArewo+ICsgICAgdm1fc2V0aW5zdGFu
Y2V2YXJpYWJsZShHRVRfU0VMRigpLCBpZCwgdmFsLCBpYyk7Cj4gK30KPiArI2xpbmUgNDE4ICJ2
bS5pbmMiCj4gKyAgICBDSEVDS19WTV9TVEFDS19PVkVSRkxPV19GT1JfSU5TTihWTV9SRUdfQ0ZQ
LCBJTlNOX0FUVFIocmV0bikpOwo+ICsgICAgQ0hFQ0tfQ0FOQVJZKCk7Cj4gKyAgICBJTkNfU1Ao
SU5TTl9BVFRSKHNwX2luYykpOwo+ICsgICAgaWYgKGxlYWYpIEFERF9QQyhJTlNOX0FUVFIod2lk
dGgpKTsKPiArICAgIEVORF9JTlNOKHNldGluc3RhbmNldmFyaWFibGUpOwo+ICsjICAgdW5kZWYg
SU5TTl9BVFRSCj4gKyMgICB1bmRlZiBOQU1FX09GX0NVUlJFTlRfSU5TTgo+ICt9Cj4gKwo+ICsv
KiBpbnNuIGdldGNsYXNzdmFyaWFibGUoaWQpKCkodmFsKSAqLwo+ICtJTlNOX0VOVFJZKGdldGNs
YXNzdmFyaWFibGUpCj4gK3sKPiArIyAgIGRlZmluZSBOQU1FX09GX0NVUlJFTlRfSU5TTiBnZXRj
bGFzc3ZhcmlhYmxlCj4gKyMgICBkZWZpbmUgSU5TTl9BVFRSKHgpIGF0dHJfICMjIHggIyMgX2dl
dGNsYXNzdmFyaWFibGUoaWQpCj4gKyAgICBib29sIGxlYWY7Cj4gKyAgICBNQVlCRV9VTlVTRUQo
VkFMVUUgKikgY2FuYXJ5Owo+ICsgICAgTUFZQkVfVU5VU0VEKElEKSBpZDsKPiArICAgIE1BWUJF
X1VOVVNFRChWQUxVRSkgdmFsOwo+ICsKPiArICAgIFNUQVJUX09GX09SSUdJTkFMX0lOU04oZ2V0
Y2xhc3N2YXJpYWJsZSk7Cj4gKyAgICBpZCA9IChJRClHRVRfT1BFUkFORCgxKTsKPiArICAgIERF
QlVHX0VOVEVSX0lOU04oSU5TTl9BVFRSKG5hbWUpKTsKPiArICAgIGlmICghIChsZWFmID0gSU5T
Tl9BVFRSKGxlYWYpKSkgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOwo+ICsgICAgU0VUVVBfQ0FO
QVJZKCk7Cj4gKyAgICBDT0xMRUNUX1VTQUdFX0lOU04oSU5TTl9BVFRSKGJpbikpOwo+ICsgICAg
Q09MTEVDVF9VU0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAwLCBpZCk7Cj4gKyNsaW5lIDIz
NSAiaW5zbnMuZGVmIgo+ICt7Cj4gKyAgICB2YWwgPSByYl9jdmFyX2dldCh2bV9nZXRfY3Zhcl9i
YXNlKHJiX3ZtX2dldF9jcmVmKEdFVF9FUCgpKSwgR0VUX0NGUCgpKSwgaWQpOwo+ICt9Cj4gKyNs
aW5lIDQ0OSAidm0uaW5jIgo+ICsgICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04o
Vk1fUkVHX0NGUCwgSU5TTl9BVFRSKHJldG4pKTsKPiArICAgIENIRUNLX0NBTkFSWSgpOwo+ICsg
ICAgSU5DX1NQKElOU05fQVRUUihzcF9pbmMpKTsKPiArICAgIFRPUE4oMCkgPSB2YWw7Cj4gKyAg
ICBpZiAobGVhZikgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOwo+ICsgICAgRU5EX0lOU04oZ2V0
Y2xhc3N2YXJpYWJsZSk7Cj4gKyMgICB1bmRlZiBJTlNOX0FUVFIKPiArIyAgIHVuZGVmIE5BTUVf
T0ZfQ1VSUkVOVF9JTlNOCj4gK30KPiArCj4gKy8qIGluc24gc2V0Y2xhc3N2YXJpYWJsZShpZCko
dmFsKSgpICovCj4gK0lOU05fRU5UUlkoc2V0Y2xhc3N2YXJpYWJsZSkKPiArewo+ICsjICAgZGVm
aW5lIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOIHNldGNsYXNzdmFyaWFibGUKPiArIyAgIGRlZmluZSBJ
TlNOX0FUVFIoeCkgYXR0cl8gIyMgeCAjIyBfc2V0Y2xhc3N2YXJpYWJsZShpZCkKPiArICAgIGJv
b2wgbGVhZjsKPiArICAgIE1BWUJFX1VOVVNFRChWQUxVRSAqKSBjYW5hcnk7Cj4gKyAgICBNQVlC
RV9VTlVTRUQoSUQpIGlkOwo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSB2YWw7Cj4gKwo+ICsg
ICAgU1RBUlRfT0ZfT1JJR0lOQUxfSU5TTihzZXRjbGFzc3ZhcmlhYmxlKTsKPiArICAgIGlkID0g
KElEKUdFVF9PUEVSQU5EKDEpOwo+ICsgICAgdmFsID0gVE9QTigwKTsKPiArICAgIERFQlVHX0VO
VEVSX0lOU04oSU5TTl9BVFRSKG5hbWUpKTsKPiArICAgIGlmICghIChsZWFmID0gSU5TTl9BVFRS
KGxlYWYpKSkgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOwo+ICsgICAgU0VUVVBfQ0FOQVJZKCk7
Cj4gKyAgICBDT0xMRUNUX1VTQUdFX0lOU04oSU5TTl9BVFRSKGJpbikpOwo+ICsgICAgQ09MTEVD
VF9VU0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAwLCBpZCk7Cj4gKyNsaW5lIDI0NyAiaW5z
bnMuZGVmIgo+ICt7Cj4gKyAgICB2bV9lbnN1cmVfbm90X3JlZmluZW1lbnRfbW9kdWxlKEdFVF9T
RUxGKCkpOwo+ICsgICAgcmJfY3Zhcl9zZXQodm1fZ2V0X2N2YXJfYmFzZShyYl92bV9nZXRfY3Jl
ZihHRVRfRVAoKSksIEdFVF9DRlAoKSksIGlkLCB2YWwpOwo+ICt9Cj4gKyNsaW5lIDQ4MyAidm0u
aW5jIgo+ICsgICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04oVk1fUkVHX0NGUCwg
SU5TTl9BVFRSKHJldG4pKTsKPiArICAgIENIRUNLX0NBTkFSWSgpOwo+ICsgICAgSU5DX1NQKElO
U05fQVRUUihzcF9pbmMpKTsKPiArICAgIGlmIChsZWFmKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRo
KSk7Cj4gKyAgICBFTkRfSU5TTihzZXRjbGFzc3ZhcmlhYmxlKTsKPiArIyAgIHVuZGVmIElOU05f
QVRUUgo+ICsjICAgdW5kZWYgTkFNRV9PRl9DVVJSRU5UX0lOU04KPiArfQo+ICsKPiArLyogaW5z
biBnZXRjb25zdGFudChpZCkoa2xhc3MpKHZhbCkgKi8KPiArSU5TTl9FTlRSWShnZXRjb25zdGFu
dCkKPiArewo+ICsjICAgZGVmaW5lIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOIGdldGNvbnN0YW50Cj4g
KyMgICBkZWZpbmUgSU5TTl9BVFRSKHgpIGF0dHJfICMjIHggIyMgX2dldGNvbnN0YW50KGlkKQo+
ICsgICAgYm9vbCBsZWFmOwo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVFICopIGNhbmFyeTsKPiAr
ICAgIE1BWUJFX1VOVVNFRChJRCkgaWQ7Cj4gKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIGtsYXNz
LCB2YWw7Cj4gKwo+ICsgICAgU1RBUlRfT0ZfT1JJR0lOQUxfSU5TTihnZXRjb25zdGFudCk7Cj4g
KyAgICBpZCA9IChJRClHRVRfT1BFUkFORCgxKTsKPiArICAgIGtsYXNzID0gVE9QTigwKTsKPiAr
ICAgIERFQlVHX0VOVEVSX0lOU04oSU5TTl9BVFRSKG5hbWUpKTsKPiArICAgIGlmICghIChsZWFm
ID0gSU5TTl9BVFRSKGxlYWYpKSkgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOwo+ICsgICAgU0VU
VVBfQ0FOQVJZKCk7Cj4gKyAgICBDT0xMRUNUX1VTQUdFX0lOU04oSU5TTl9BVFRSKGJpbikpOwo+
ICsgICAgQ09MTEVDVF9VU0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAwLCBpZCk7Cj4gKyNs
aW5lIDI2MyAiaW5zbnMuZGVmIgo+ICt7Cj4gKyAgICB2YWwgPSB2bV9nZXRfZXZfY29uc3QoZWMs
IGtsYXNzLCBpZCwgMCk7Cj4gK30KPiArI2xpbmUgNTE1ICJ2bS5pbmMiCj4gKyAgICBDSEVDS19W
TV9TVEFDS19PVkVSRkxPV19GT1JfSU5TTihWTV9SRUdfQ0ZQLCBJTlNOX0FUVFIocmV0bikpOwo+
ICsgICAgQ0hFQ0tfQ0FOQVJZKCk7Cj4gKyAgICBJTkNfU1AoSU5TTl9BVFRSKHNwX2luYykpOwo+
ICsgICAgVE9QTigwKSA9IHZhbDsKPiArICAgIGlmIChsZWFmKSBBRERfUEMoSU5TTl9BVFRSKHdp
ZHRoKSk7Cj4gKyAgICBFTkRfSU5TTihnZXRjb25zdGFudCk7Cj4gKyMgICB1bmRlZiBJTlNOX0FU
VFIKPiArIyAgIHVuZGVmIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOCj4gK30KPiArCj4gKy8qIGluc24g
c2V0Y29uc3RhbnQoaWQpKHZhbCwgY2Jhc2UpKCkgKi8KPiArSU5TTl9FTlRSWShzZXRjb25zdGFu
dCkKPiArewo+ICsjICAgZGVmaW5lIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOIHNldGNvbnN0YW50Cj4g
KyMgICBkZWZpbmUgSU5TTl9BVFRSKHgpIGF0dHJfICMjIHggIyMgX3NldGNvbnN0YW50KGlkKQo+
ICsgICAgYm9vbCBsZWFmOwo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVFICopIGNhbmFyeTsKPiAr
ICAgIE1BWUJFX1VOVVNFRChJRCkgaWQ7Cj4gKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIGNiYXNl
LCB2YWw7Cj4gKwo+ICsgICAgU1RBUlRfT0ZfT1JJR0lOQUxfSU5TTihzZXRjb25zdGFudCk7Cj4g
KyAgICBpZCA9IChJRClHRVRfT1BFUkFORCgxKTsKPiArICAgIHZhbCA9IFRPUE4oMSk7Cj4gKyAg
ICBjYmFzZSA9IFRPUE4oMCk7Cj4gKyAgICBERUJVR19FTlRFUl9JTlNOKElOU05fQVRUUihuYW1l
KSk7Cj4gKyAgICBpZiAoISAobGVhZiA9IElOU05fQVRUUihsZWFmKSkpIEFERF9QQyhJTlNOX0FU
VFIod2lkdGgpKTsKPiArICAgIFNFVFVQX0NBTkFSWSgpOwo+ICsgICAgQ09MTEVDVF9VU0FHRV9J
TlNOKElOU05fQVRUUihiaW4pKTsKPiArICAgIENPTExFQ1RfVVNBR0VfT1BFUkFORChJTlNOX0FU
VFIoYmluKSwgMCwgaWQpOwo+ICsjbGluZSAyNzkgImluc25zLmRlZiIKPiArewo+ICsgICAgdm1f
Y2hlY2tfaWZfbmFtZXNwYWNlKGNiYXNlKTsKPiArICAgIHZtX2Vuc3VyZV9ub3RfcmVmaW5lbWVu
dF9tb2R1bGUoR0VUX1NFTEYoKSk7Cj4gKyAgICByYl9jb25zdF9zZXQoY2Jhc2UsIGlkLCB2YWwp
Owo+ICt9Cj4gKyNsaW5lIDU1MSAidm0uaW5jIgo+ICsgICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZFUkZM
T1dfRk9SX0lOU04oVk1fUkVHX0NGUCwgSU5TTl9BVFRSKHJldG4pKTsKPiArICAgIENIRUNLX0NB
TkFSWSgpOwo+ICsgICAgSU5DX1NQKElOU05fQVRUUihzcF9pbmMpKTsKPiArICAgIGlmIChsZWFm
KSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7Cj4gKyAgICBFTkRfSU5TTihzZXRjb25zdGFudCk7
Cj4gKyMgICB1bmRlZiBJTlNOX0FUVFIKPiArIyAgIHVuZGVmIE5BTUVfT0ZfQ1VSUkVOVF9JTlNO
Cj4gK30KPiArCj4gKy8qIGluc24gZ2V0Z2xvYmFsKGVudHJ5KSgpKHZhbCkgKi8KPiArSU5TTl9F
TlRSWShnZXRnbG9iYWwpCj4gK3sKPiArIyAgIGRlZmluZSBOQU1FX09GX0NVUlJFTlRfSU5TTiBn
ZXRnbG9iYWwKPiArIyAgIGRlZmluZSBJTlNOX0FUVFIoeCkgYXR0cl8gIyMgeCAjIyBfZ2V0Z2xv
YmFsKGVudHJ5KQo+ICsgICAgYm9vbCBsZWFmOwo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVFICop
IGNhbmFyeTsKPiArICAgIE1BWUJFX1VOVVNFRChHRU5UUlkpIGVudHJ5Owo+ICsgICAgTUFZQkVf
VU5VU0VEKFZBTFVFKSB2YWw7Cj4gKwo+ICsgICAgU1RBUlRfT0ZfT1JJR0lOQUxfSU5TTihnZXRn
bG9iYWwpOwo+ICsgICAgZW50cnkgPSAoR0VOVFJZKUdFVF9PUEVSQU5EKDEpOwo+ICsgICAgREVC
VUdfRU5URVJfSU5TTihJTlNOX0FUVFIobmFtZSkpOwo+ICsgICAgaWYgKCEgKGxlYWYgPSBJTlNO
X0FUVFIobGVhZikpKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7Cj4gKyAgICBTRVRVUF9DQU5B
UlkoKTsKPiArICAgIENPTExFQ1RfVVNBR0VfSU5TTihJTlNOX0FUVFIoYmluKSk7Cj4gKyAgICBD
T0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDAsIGVudHJ5KTsKPiArI2xpbmUg
MjkyICJpbnNucy5kZWYiCj4gK3sKPiArICAgIHZhbCA9IEdFVF9HTE9CQUwoKFZBTFVFKWVudHJ5
KTsKPiArfQo+ICsjbGluZSA1ODIgInZtLmluYyIKPiArICAgIENIRUNLX1ZNX1NUQUNLX09WRVJG
TE9XX0ZPUl9JTlNOKFZNX1JFR19DRlAsIElOU05fQVRUUihyZXRuKSk7Cj4gKyAgICBDSEVDS19D
QU5BUlkoKTsKPiArICAgIElOQ19TUChJTlNOX0FUVFIoc3BfaW5jKSk7Cj4gKyAgICBUT1BOKDAp
ID0gdmFsOwo+ICsgICAgaWYgKGxlYWYpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKPiArICAg
IEVORF9JTlNOKGdldGdsb2JhbCk7Cj4gKyMgICB1bmRlZiBJTlNOX0FUVFIKPiArIyAgIHVuZGVm
IE5BTUVfT0ZfQ1VSUkVOVF9JTlNOCj4gK30KPiArCj4gKy8qIGluc24gc2V0Z2xvYmFsKGVudHJ5
KSh2YWwpKCkgKi8KPiArSU5TTl9FTlRSWShzZXRnbG9iYWwpCj4gK3sKPiArIyAgIGRlZmluZSBO
QU1FX09GX0NVUlJFTlRfSU5TTiBzZXRnbG9iYWwKPiArIyAgIGRlZmluZSBJTlNOX0FUVFIoeCkg
YXR0cl8gIyMgeCAjIyBfc2V0Z2xvYmFsKGVudHJ5KQo+ICsgICAgYm9vbCBsZWFmOwo+ICsgICAg
TUFZQkVfVU5VU0VEKFZBTFVFICopIGNhbmFyeTsKPiArICAgIE1BWUJFX1VOVVNFRChHRU5UUlkp
IGVudHJ5Owo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSB2YWw7Cj4gKwo+ICsgICAgU1RBUlRf
T0ZfT1JJR0lOQUxfSU5TTihzZXRnbG9iYWwpOwo+ICsgICAgZW50cnkgPSAoR0VOVFJZKUdFVF9P
UEVSQU5EKDEpOwo+ICsgICAgdmFsID0gVE9QTigwKTsKPiArICAgIERFQlVHX0VOVEVSX0lOU04o
SU5TTl9BVFRSKG5hbWUpKTsKPiArICAgIGlmICghIChsZWFmID0gSU5TTl9BVFRSKGxlYWYpKSkg
QUREX1BDKElOU05fQVRUUih3aWR0aCkpOwo+ICsgICAgU0VUVVBfQ0FOQVJZKCk7Cj4gKyAgICBD
T0xMRUNUX1VTQUdFX0lOU04oSU5TTl9BVFRSKGJpbikpOwo+ICsgICAgQ09MTEVDVF9VU0FHRV9P
UEVSQU5EKElOU05fQVRUUihiaW4pLCAwLCBlbnRyeSk7Cj4gKyNsaW5lIDMwMyAiaW5zbnMuZGVm
Igo+ICt7Cj4gKyAgICBTRVRfR0xPQkFMKChWQUxVRSllbnRyeSwgdmFsKTsKPiArfQo+ICsjbGlu
ZSA2MTUgInZtLmluYyIKPiArICAgIENIRUNLX1ZNX1NUQUNLX09WRVJGTE9XX0ZPUl9JTlNOKFZN
X1JFR19DRlAsIElOU05fQVRUUihyZXRuKSk7Cj4gKyAgICBDSEVDS19DQU5BUlkoKTsKPiArICAg
IElOQ19TUChJTlNOX0FUVFIoc3BfaW5jKSk7Cj4gKyAgICBpZiAobGVhZikgQUREX1BDKElOU05f
QVRUUih3aWR0aCkpOwo+ICsgICAgRU5EX0lOU04oc2V0Z2xvYmFsKTsKPiArIyAgIHVuZGVmIElO
U05fQVRUUgo+ICsjICAgdW5kZWYgTkFNRV9PRl9DVVJSRU5UX0lOU04KPiArfQo+ICsKPiArLyog
aW5zbiBwdXRuaWwoKSgpKHZhbCkgKi8KPiArSU5TTl9FTlRSWShwdXRuaWwpCj4gK3sKPiArIyAg
IGRlZmluZSBOQU1FX09GX0NVUlJFTlRfSU5TTiBwdXRuaWwKPiArIyAgIGRlZmluZSBJTlNOX0FU
VFIoeCkgYXR0cl8gIyMgeCAjIyBfcHV0bmlsKCkKPiArICAgIGJvb2wgbGVhZjsKPiArICAgIE1B
WUJFX1VOVVNFRChWQUxVRSAqKSBjYW5hcnk7Cj4gKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIHZh
bDsKPiArCj4gKyAgICBTVEFSVF9PRl9PUklHSU5BTF9JTlNOKHB1dG5pbCk7Cj4gKyAgICBERUJV
R19FTlRFUl9JTlNOKElOU05fQVRUUihuYW1lKSk7Cj4gKyAgICBpZiAoISAobGVhZiA9IElOU05f
QVRUUihsZWFmKSkpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKPiArICAgIFNFVFVQX0NBTkFS
WSgpOwo+ICsgICAgQ09MTEVDVF9VU0FHRV9JTlNOKElOU05fQVRUUihiaW4pKTsKPiArI2xpbmUg
MzE3ICJpbnNucy5kZWYiCj4gK3sKPiArICAgIHZhbCA9IFFuaWw7Cj4gK30KPiArI2xpbmUgNjQz
ICJ2bS5pbmMiCj4gKyAgICBDSEVDS19WTV9TVEFDS19PVkVSRkxPV19GT1JfSU5TTihWTV9SRUdf
Q0ZQLCBJTlNOX0FUVFIocmV0bikpOwo+ICsgICAgQ0hFQ0tfQ0FOQVJZKCk7Cj4gKyAgICBJTkNf
U1AoSU5TTl9BVFRSKHNwX2luYykpOwo+ICsgICAgVE9QTigwKSA9IHZhbDsKPiArICAgIGlmIChs
ZWFmKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7Cj4gKyAgICBFTkRfSU5TTihwdXRuaWwpOwo+
ICsjICAgdW5kZWYgSU5TTl9BVFRSCj4gKyMgICB1bmRlZiBOQU1FX09GX0NVUlJFTlRfSU5TTgo+
ICt9Cj4gKwo+ICsvKiBpbnNuIHB1dHNlbGYoKSgpKHZhbCkgKi8KPiArSU5TTl9FTlRSWShwdXRz
ZWxmKQo+ICt7Cj4gKyMgICBkZWZpbmUgTkFNRV9PRl9DVVJSRU5UX0lOU04gcHV0c2VsZgo+ICsj
ICAgZGVmaW5lIElOU05fQVRUUih4KSBhdHRyXyAjIyB4ICMjIF9wdXRzZWxmKCkKPiArICAgIGJv
b2wgbGVhZjsKPiArICAgIE1BWUJFX1VOVVNFRChWQUxVRSAqKSBjYW5hcnk7Cj4gKyAgICBNQVlC
RV9VTlVTRUQoVkFMVUUpIHZhbDsKPiArCj4gKyAgICBTVEFSVF9PRl9PUklHSU5BTF9JTlNOKHB1
dHNlbGYpOwo+ICsgICAgREVCVUdfRU5URVJfSU5TTihJTlNOX0FUVFIobmFtZSkpOwo+ICsgICAg
aWYgKCEgKGxlYWYgPSBJTlNOX0FUVFIobGVhZikpKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7
Cj4gKyAgICBTRVRVUF9DQU5BUlkoKTsKPiArICAgIENPTExFQ1RfVVNBR0VfSU5TTihJTlNOX0FU
VFIoYmluKSk7Cj4gKyNsaW5lIDMyNyAiaW5zbnMuZGVmIgo+ICt7Cj4gKyAgICB2YWwgPSBHRVRf
U0VMRigpOwo+ICt9Cj4gKyNsaW5lIDY3MiAidm0uaW5jIgo+ICsgICAgQ0hFQ0tfVk1fU1RBQ0tf
T1ZFUkZMT1dfRk9SX0lOU04oVk1fUkVHX0NGUCwgSU5TTl9BVFRSKHJldG4pKTsKPiArICAgIENI
RUNLX0NBTkFSWSgpOwo+ICsgICAgSU5DX1NQKElOU05fQVRUUihzcF9pbmMpKTsKPiArICAgIFRP
UE4oMCkgPSB2YWw7Cj4gKyAgICBpZiAobGVhZikgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOwo+
ICsgICAgRU5EX0lOU04ocHV0c2VsZik7Cj4gKyMgICB1bmRlZiBJTlNOX0FUVFIKPiArIyAgIHVu
ZGVmIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOCj4gK30KPiArCj4gKy8qIGluc24gcHV0b2JqZWN0KHZh
bCkoKSh2YWwpICovCj4gK0lOU05fRU5UUlkocHV0b2JqZWN0KQo+ICt7Cj4gKyMgICBkZWZpbmUg
TkFNRV9PRl9DVVJSRU5UX0lOU04gcHV0b2JqZWN0Cj4gKyMgICBkZWZpbmUgSU5TTl9BVFRSKHgp
IGF0dHJfICMjIHggIyMgX3B1dG9iamVjdCh2YWwpCj4gKyAgICBib29sIGxlYWY7Cj4gKyAgICBN
QVlCRV9VTlVTRUQoVkFMVUUgKikgY2FuYXJ5Owo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSB2
YWw7Cj4gKwo+ICsgICAgU1RBUlRfT0ZfT1JJR0lOQUxfSU5TTihwdXRvYmplY3QpOwo+ICsgICAg
dmFsID0gKFZBTFVFKUdFVF9PUEVSQU5EKDEpOwo+ICsgICAgREVCVUdfRU5URVJfSU5TTihJTlNO
X0FUVFIobmFtZSkpOwo+ICsgICAgaWYgKCEgKGxlYWYgPSBJTlNOX0FUVFIobGVhZikpKSBBRERf
UEMoSU5TTl9BVFRSKHdpZHRoKSk7Cj4gKyAgICBDT0xMRUNUX1VTQUdFX0lOU04oSU5TTl9BVFRS
KGJpbikpOwo+ICsgICAgQ09MTEVDVF9VU0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAwLCB2
YWwpOwo+ICsgICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04oVk1fUkVHX0NGUCwg
SU5TTl9BVFRSKHJldG4pKTsKPiArICAgIElOQ19TUChJTlNOX0FUVFIoc3BfaW5jKSk7Cj4gKyAg
ICBUT1BOKDApID0gdmFsOwo+ICsgICAgaWYgKGxlYWYpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgp
KTsKPiArICAgIEVORF9JTlNOKHB1dG9iamVjdCk7Cj4gKyMgICB1bmRlZiBJTlNOX0FUVFIKPiAr
IyAgIHVuZGVmIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOCj4gK30KPiArCj4gKy8qIGluc24gcHV0c3Bl
Y2lhbG9iamVjdCh2YWx1ZV90eXBlKSgpKHZhbCkgKi8KPiArSU5TTl9FTlRSWShwdXRzcGVjaWFs
b2JqZWN0KQo+ICt7Cj4gKyMgICBkZWZpbmUgTkFNRV9PRl9DVVJSRU5UX0lOU04gcHV0c3BlY2lh
bG9iamVjdAo+ICsjICAgZGVmaW5lIElOU05fQVRUUih4KSBhdHRyXyAjIyB4ICMjIF9wdXRzcGVj
aWFsb2JqZWN0KHZhbHVlX3R5cGUpCj4gKyAgICBib29sIGxlYWY7Cj4gKyAgICBNQVlCRV9VTlVT
RUQoVkFMVUUgKikgY2FuYXJ5Owo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSB2YWw7Cj4gKyAg
ICBNQVlCRV9VTlVTRUQocmJfbnVtX3QpIHZhbHVlX3R5cGU7Cj4gKwo+ICsgICAgU1RBUlRfT0Zf
T1JJR0lOQUxfSU5TTihwdXRzcGVjaWFsb2JqZWN0KTsKPiArICAgIHZhbHVlX3R5cGUgPSAocmJf
bnVtX3QpR0VUX09QRVJBTkQoMSk7Cj4gKyAgICBERUJVR19FTlRFUl9JTlNOKElOU05fQVRUUihu
YW1lKSk7Cj4gKyAgICBpZiAoISAobGVhZiA9IElOU05fQVRUUihsZWFmKSkpIEFERF9QQyhJTlNO
X0FUVFIod2lkdGgpKTsKPiArICAgIFNFVFVQX0NBTkFSWSgpOwo+ICsgICAgQ09MTEVDVF9VU0FH
RV9JTlNOKElOU05fQVRUUihiaW4pKTsKPiArICAgIENPTExFQ1RfVVNBR0VfT1BFUkFORChJTlNO
X0FUVFIoYmluKSwgMCwgdmFsdWVfdHlwZSk7Cj4gKyNsaW5lIDM0OSAiaW5zbnMuZGVmIgo+ICt7
Cj4gKyAgICBlbnVtIHZtX3NwZWNpYWxfb2JqZWN0X3R5cGUgdHlwZTsKPiArCj4gKyAgICB0eXBl
ID0gKGVudW0gdm1fc3BlY2lhbF9vYmplY3RfdHlwZSl2YWx1ZV90eXBlOwo+ICsgICAgdmFsID0g
dm1fZ2V0X3NwZWNpYWxfb2JqZWN0KEdFVF9FUCgpLCB0eXBlKTsKPiArfQo+ICsjbGluZSA3MzEg
InZtLmluYyIKPiArICAgIENIRUNLX1ZNX1NUQUNLX09WRVJGTE9XX0ZPUl9JTlNOKFZNX1JFR19D
RlAsIElOU05fQVRUUihyZXRuKSk7Cj4gKyAgICBDSEVDS19DQU5BUlkoKTsKPiArICAgIElOQ19T
UChJTlNOX0FUVFIoc3BfaW5jKSk7Cj4gKyAgICBUT1BOKDApID0gdmFsOwo+ICsgICAgaWYgKGxl
YWYpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKPiArICAgIEVORF9JTlNOKHB1dHNwZWNpYWxv
YmplY3QpOwo+ICsjICAgdW5kZWYgSU5TTl9BVFRSCj4gKyMgICB1bmRlZiBOQU1FX09GX0NVUlJF
TlRfSU5TTgo+ICt9Cj4gKwo+ICsvKiBpbnNuIHB1dGlzZXEoaXNlcSkoKShyZXQpICovCj4gK0lO
U05fRU5UUlkocHV0aXNlcSkKPiArewo+ICsjICAgZGVmaW5lIE5BTUVfT0ZfQ1VSUkVOVF9JTlNO
IHB1dGlzZXEKPiArIyAgIGRlZmluZSBJTlNOX0FUVFIoeCkgYXR0cl8gIyMgeCAjIyBfcHV0aXNl
cShpc2VxKQo+ICsgICAgYm9vbCBsZWFmOwo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVFICopIGNh
bmFyeTsKPiArICAgIE1BWUJFX1VOVVNFRChJU0VRKSBpc2VxOwo+ICsgICAgTUFZQkVfVU5VU0VE
KFZBTFVFKSByZXQ7Cj4gKwo+ICsgICAgU1RBUlRfT0ZfT1JJR0lOQUxfSU5TTihwdXRpc2VxKTsK
PiArICAgIGlzZXEgPSAoSVNFUSlHRVRfT1BFUkFORCgxKTsKPiArICAgIERFQlVHX0VOVEVSX0lO
U04oSU5TTl9BVFRSKG5hbWUpKTsKPiArICAgIGlmICghIChsZWFmID0gSU5TTl9BVFRSKGxlYWYp
KSkgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOwo+ICsgICAgU0VUVVBfQ0FOQVJZKCk7Cj4gKyAg
ICBDT0xMRUNUX1VTQUdFX0lOU04oSU5TTl9BVFRSKGJpbikpOwo+ICsgICAgQ09MTEVDVF9VU0FH
RV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAwLCBpc2VxKTsKPiArI2xpbmUgMzYzICJpbnNucy5k
ZWYiCj4gK3sKPiArICAgIHJldCA9IChWQUxVRSlpc2VxOwo+ICt9Cj4gKyNsaW5lIDc2MyAidm0u
aW5jIgo+ICsgICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04oVk1fUkVHX0NGUCwg
SU5TTl9BVFRSKHJldG4pKTsKPiArICAgIENIRUNLX0NBTkFSWSgpOwo+ICsgICAgSU5DX1NQKElO
U05fQVRUUihzcF9pbmMpKTsKPiArICAgIFRPUE4oMCkgPSByZXQ7Cj4gKyAgICBpZiAobGVhZikg
QUREX1BDKElOU05fQVRUUih3aWR0aCkpOwo+ICsgICAgRU5EX0lOU04ocHV0aXNlcSk7Cj4gKyMg
ICB1bmRlZiBJTlNOX0FUVFIKPiArIyAgIHVuZGVmIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOCj4gK30K
PiArCj4gKy8qIGluc24gcHV0c3RyaW5nKHN0cikoKSh2YWwpICovCj4gK0lOU05fRU5UUlkocHV0
c3RyaW5nKQo+ICt7Cj4gKyMgICBkZWZpbmUgTkFNRV9PRl9DVVJSRU5UX0lOU04gcHV0c3RyaW5n
Cj4gKyMgICBkZWZpbmUgSU5TTl9BVFRSKHgpIGF0dHJfICMjIHggIyMgX3B1dHN0cmluZyhzdHIp
Cj4gKyAgICBib29sIGxlYWY7Cj4gKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUgKikgY2FuYXJ5Owo+
ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSBzdHIsIHZhbDsKPiArCj4gKyAgICBTVEFSVF9PRl9P
UklHSU5BTF9JTlNOKHB1dHN0cmluZyk7Cj4gKyAgICBzdHIgPSAoVkFMVUUpR0VUX09QRVJBTkQo
MSk7Cj4gKyAgICBERUJVR19FTlRFUl9JTlNOKElOU05fQVRUUihuYW1lKSk7Cj4gKyAgICBpZiAo
ISAobGVhZiA9IElOU05fQVRUUihsZWFmKSkpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKPiAr
ICAgIFNFVFVQX0NBTkFSWSgpOwo+ICsgICAgQ09MTEVDVF9VU0FHRV9JTlNOKElOU05fQVRUUihi
aW4pKTsKPiArICAgIENPTExFQ1RfVVNBR0VfT1BFUkFORChJTlNOX0FUVFIoYmluKSwgMCwgc3Ry
KTsKPiArI2xpbmUgMzczICJpbnNucy5kZWYiCj4gK3sKPiArICAgIHZhbCA9IHJiX3N0cl9yZXN1
cnJlY3Qoc3RyKTsKPiArfQo+ICsjbGluZSA3OTQgInZtLmluYyIKPiArICAgIENIRUNLX1ZNX1NU
QUNLX09WRVJGTE9XX0ZPUl9JTlNOKFZNX1JFR19DRlAsIElOU05fQVRUUihyZXRuKSk7Cj4gKyAg
ICBDSEVDS19DQU5BUlkoKTsKPiArICAgIElOQ19TUChJTlNOX0FUVFIoc3BfaW5jKSk7Cj4gKyAg
ICBUT1BOKDApID0gdmFsOwo+ICsgICAgaWYgKGxlYWYpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgp
KTsKPiArICAgIEVORF9JTlNOKHB1dHN0cmluZyk7Cj4gKyMgICB1bmRlZiBJTlNOX0FUVFIKPiAr
IyAgIHVuZGVmIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOCj4gK30KPiArCj4gKy8qIGluc24gY29uY2F0
c3RyaW5ncyhudW0pKC4uLikodmFsKSAqLwo+ICtJTlNOX0VOVFJZKGNvbmNhdHN0cmluZ3MpCj4g
K3sKPiArIyAgIGRlZmluZSBOQU1FX09GX0NVUlJFTlRfSU5TTiBjb25jYXRzdHJpbmdzCj4gKyMg
ICBkZWZpbmUgSU5TTl9BVFRSKHgpIGF0dHJfICMjIHggIyMgX2NvbmNhdHN0cmluZ3MobnVtKQo+
ICsgICAgYm9vbCBsZWFmOwo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVFICopIGNhbmFyeTsKPiAr
ICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgdmFsOwo+ICsgICAgTUFZQkVfVU5VU0VEKHJiX251bV90
KSBudW07Cj4gKwo+ICsgICAgU1RBUlRfT0ZfT1JJR0lOQUxfSU5TTihjb25jYXRzdHJpbmdzKTsK
PiArICAgIG51bSA9IChyYl9udW1fdClHRVRfT1BFUkFORCgxKTsKPiArICAgIERFQlVHX0VOVEVS
X0lOU04oSU5TTl9BVFRSKG5hbWUpKTsKPiArICAgIGlmICghIChsZWFmID0gSU5TTl9BVFRSKGxl
YWYpKSkgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOwo+ICsgICAgU0VUVVBfQ0FOQVJZKCk7Cj4g
KyAgICBDT0xMRUNUX1VTQUdFX0lOU04oSU5TTl9BVFRSKGJpbikpOwo+ICsgICAgQ09MTEVDVF9V
U0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAwLCBudW0pOwo+ICsjbGluZSAzODQgImluc25z
LmRlZiIKPiArewo+ICsgICAgdmFsID0gcmJfc3RyX2NvbmNhdF9saXRlcmFscyhudW0sIFNUQUNL
X0FERFJfRlJPTV9UT1AobnVtKSk7Cj4gK30KPiArI2xpbmUgODI2ICJ2bS5pbmMiCj4gKyAgICBD
SEVDS19WTV9TVEFDS19PVkVSRkxPV19GT1JfSU5TTihWTV9SRUdfQ0ZQLCBJTlNOX0FUVFIocmV0
bikpOwo+ICsgICAgQ0hFQ0tfQ0FOQVJZKCk7Cj4gKyAgICBJTkNfU1AoSU5TTl9BVFRSKHNwX2lu
YykpOwo+ICsgICAgVE9QTigwKSA9IHZhbDsKPiArICAgIGlmIChsZWFmKSBBRERfUEMoSU5TTl9B
VFRSKHdpZHRoKSk7Cj4gKyAgICBFTkRfSU5TTihjb25jYXRzdHJpbmdzKTsKPiArIyAgIHVuZGVm
IElOU05fQVRUUgo+ICsjICAgdW5kZWYgTkFNRV9PRl9DVVJSRU5UX0lOU04KPiArfQo+ICsKPiAr
LyogaW5zbiB0b3N0cmluZygpKHZhbCwgc3RyKSh2YWwpICovCj4gK0lOU05fRU5UUlkodG9zdHJp
bmcpCj4gK3sKPiArIyAgIGRlZmluZSBOQU1FX09GX0NVUlJFTlRfSU5TTiB0b3N0cmluZwo+ICsj
ICAgZGVmaW5lIElOU05fQVRUUih4KSBhdHRyXyAjIyB4ICMjIF90b3N0cmluZygpCj4gKyAgICBi
b29sIGxlYWY7Cj4gKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUgKikgY2FuYXJ5Owo+ICsgICAgTUFZ
QkVfVU5VU0VEKFZBTFVFKSBzdHIsIHZhbDsKPiArCj4gKyAgICBTVEFSVF9PRl9PUklHSU5BTF9J
TlNOKHRvc3RyaW5nKTsKPiArICAgIHZhbCA9IFRPUE4oMSk7Cj4gKyAgICBzdHIgPSBUT1BOKDAp
Owo+ICsgICAgREVCVUdfRU5URVJfSU5TTihJTlNOX0FUVFIobmFtZSkpOwo+ICsgICAgaWYgKCEg
KGxlYWYgPSBJTlNOX0FUVFIobGVhZikpKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7Cj4gKyAg
ICBTRVRVUF9DQU5BUlkoKTsKPiArICAgIENPTExFQ1RfVVNBR0VfSU5TTihJTlNOX0FUVFIoYmlu
KSk7Cj4gKyNsaW5lIDM5NCAiaW5zbnMuZGVmIgo+ICt7Cj4gKyAgICB2YWwgPSByYl9vYmpfYXNf
c3RyaW5nX3Jlc3VsdChzdHIsIHZhbCk7Cj4gK30KPiArI2xpbmUgODU3ICJ2bS5pbmMiCj4gKyAg
ICBDSEVDS19WTV9TVEFDS19PVkVSRkxPV19GT1JfSU5TTihWTV9SRUdfQ0ZQLCBJTlNOX0FUVFIo
cmV0bikpOwo+ICsgICAgQ0hFQ0tfQ0FOQVJZKCk7Cj4gKyAgICBJTkNfU1AoSU5TTl9BVFRSKHNw
X2luYykpOwo+ICsgICAgVE9QTigwKSA9IHZhbDsKPiArICAgIGlmIChsZWFmKSBBRERfUEMoSU5T
Tl9BVFRSKHdpZHRoKSk7Cj4gKyAgICBFTkRfSU5TTih0b3N0cmluZyk7Cj4gKyMgICB1bmRlZiBJ
TlNOX0FUVFIKPiArIyAgIHVuZGVmIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOCj4gK30KPiArCj4gKy8q
IGluc24gZnJlZXplc3RyaW5nKGRlYnVnX2luZm8pKHN0cikoc3RyKSAqLwo+ICtJTlNOX0VOVFJZ
KGZyZWV6ZXN0cmluZykKPiArewo+ICsjICAgZGVmaW5lIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOIGZy
ZWV6ZXN0cmluZwo+ICsjICAgZGVmaW5lIElOU05fQVRUUih4KSBhdHRyXyAjIyB4ICMjIF9mcmVl
emVzdHJpbmcoZGVidWdfaW5mbykKPiArICAgIGJvb2wgbGVhZjsKPiArICAgIE1BWUJFX1VOVVNF
RChWQUxVRSAqKSBjYW5hcnk7Cj4gKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIGRlYnVnX2luZm8s
IHN0cjsKPiArCj4gKyAgICBTVEFSVF9PRl9PUklHSU5BTF9JTlNOKGZyZWV6ZXN0cmluZyk7Cj4g
KyAgICBkZWJ1Z19pbmZvID0gKFZBTFVFKUdFVF9PUEVSQU5EKDEpOwo+ICsgICAgc3RyID0gVE9Q
TigwKTsKPiArICAgIERFQlVHX0VOVEVSX0lOU04oSU5TTl9BVFRSKG5hbWUpKTsKPiArICAgIGlm
ICghIChsZWFmID0gSU5TTl9BVFRSKGxlYWYpKSkgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOwo+
ICsgICAgU0VUVVBfQ0FOQVJZKCk7Cj4gKyAgICBDT0xMRUNUX1VTQUdFX0lOU04oSU5TTl9BVFRS
KGJpbikpOwo+ICsgICAgQ09MTEVDVF9VU0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAwLCBk
ZWJ1Z19pbmZvKTsKPiArI2xpbmUgNDA0ICJpbnNucy5kZWYiCj4gK3sKPiArICAgIHZtX2ZyZWV6
ZXN0cmluZyhzdHIsIGRlYnVnX2luZm8pOwo+ICt9Cj4gKyNsaW5lIDg4OSAidm0uaW5jIgo+ICsg
ICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04oVk1fUkVHX0NGUCwgSU5TTl9BVFRS
KHJldG4pKTsKPiArICAgIENIRUNLX0NBTkFSWSgpOwo+ICsgICAgSU5DX1NQKElOU05fQVRUUihz
cF9pbmMpKTsKPiArICAgIFRPUE4oMCkgPSBzdHI7Cj4gKyAgICBpZiAobGVhZikgQUREX1BDKElO
U05fQVRUUih3aWR0aCkpOwo+ICsgICAgRU5EX0lOU04oZnJlZXplc3RyaW5nKTsKPiArIyAgIHVu
ZGVmIElOU05fQVRUUgo+ICsjICAgdW5kZWYgTkFNRV9PRl9DVVJSRU5UX0lOU04KPiArfQo+ICsK
PiArLyogaW5zbiB0b3JlZ2V4cChvcHQsIGNudCkoLi4uKSh2YWwpICovCj4gK0lOU05fRU5UUlko
dG9yZWdleHApCj4gK3sKPiArIyAgIGRlZmluZSBOQU1FX09GX0NVUlJFTlRfSU5TTiB0b3JlZ2V4
cAo+ICsjICAgZGVmaW5lIElOU05fQVRUUih4KSBhdHRyXyAjIyB4ICMjIF90b3JlZ2V4cChvcHQs
IGNudCkKPiArICAgIGJvb2wgbGVhZjsKPiArICAgIE1BWUJFX1VOVVNFRChWQUxVRSAqKSBjYW5h
cnk7Cj4gKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIHZhbDsKPiArICAgIE1BWUJFX1VOVVNFRChy
Yl9udW1fdCkgY250LCBvcHQ7Cj4gKwo+ICsgICAgU1RBUlRfT0ZfT1JJR0lOQUxfSU5TTih0b3Jl
Z2V4cCk7Cj4gKyAgICBvcHQgPSAocmJfbnVtX3QpR0VUX09QRVJBTkQoMSk7Cj4gKyAgICBjbnQg
PSAocmJfbnVtX3QpR0VUX09QRVJBTkQoMik7Cj4gKyAgICBERUJVR19FTlRFUl9JTlNOKElOU05f
QVRUUihuYW1lKSk7Cj4gKyAgICBpZiAoISAobGVhZiA9IElOU05fQVRUUihsZWFmKSkpIEFERF9Q
QyhJTlNOX0FUVFIod2lkdGgpKTsKPiArICAgIFNFVFVQX0NBTkFSWSgpOwo+ICsgICAgQ09MTEVD
VF9VU0FHRV9JTlNOKElOU05fQVRUUihiaW4pKTsKPiArICAgIENPTExFQ1RfVVNBR0VfT1BFUkFO
RChJTlNOX0FUVFIoYmluKSwgMCwgb3B0KTsKPiArICAgIENPTExFQ1RfVVNBR0VfT1BFUkFORChJ
TlNOX0FUVFIoYmluKSwgMSwgY250KTsKPiArI2xpbmUgNDIwICJpbnNucy5kZWYiCj4gK3sKPiAr
ICAgIGNvbnN0IFZBTFVFIGFyeSA9IHJiX2FyeV90bXBfbmV3X2Zyb21fdmFsdWVzKDAsIGNudCwg
U1RBQ0tfQUREUl9GUk9NX1RPUChjbnQpKTsKPiArICAgIHZhbCA9IHJiX3JlZ19uZXdfYXJ5KGFy
eSwgKGludClvcHQpOwo+ICsgICAgcmJfYXJ5X2NsZWFyKGFyeSk7Cj4gK30KPiArI2xpbmUgOTI1
ICJ2bS5pbmMiCj4gKyAgICBDSEVDS19WTV9TVEFDS19PVkVSRkxPV19GT1JfSU5TTihWTV9SRUdf
Q0ZQLCBJTlNOX0FUVFIocmV0bikpOwo+ICsgICAgQ0hFQ0tfQ0FOQVJZKCk7Cj4gKyAgICBJTkNf
U1AoSU5TTl9BVFRSKHNwX2luYykpOwo+ICsgICAgVE9QTigwKSA9IHZhbDsKPiArICAgIGlmIChs
ZWFmKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7Cj4gKyAgICBFTkRfSU5TTih0b3JlZ2V4cCk7
Cj4gKyMgICB1bmRlZiBJTlNOX0FUVFIKPiArIyAgIHVuZGVmIE5BTUVfT0ZfQ1VSUkVOVF9JTlNO
Cj4gK30KPiArCj4gKy8qIGluc24gaW50ZXJuKCkoc3RyKShzeW0pICovCj4gK0lOU05fRU5UUlko
aW50ZXJuKQo+ICt7Cj4gKyMgICBkZWZpbmUgTkFNRV9PRl9DVVJSRU5UX0lOU04gaW50ZXJuCj4g
KyMgICBkZWZpbmUgSU5TTl9BVFRSKHgpIGF0dHJfICMjIHggIyMgX2ludGVybigpCj4gKyAgICBi
b29sIGxlYWY7Cj4gKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUgKikgY2FuYXJ5Owo+ICsgICAgTUFZ
QkVfVU5VU0VEKFZBTFVFKSBzdHIsIHN5bTsKPiArCj4gKyAgICBTVEFSVF9PRl9PUklHSU5BTF9J
TlNOKGludGVybik7Cj4gKyAgICBzdHIgPSBUT1BOKDApOwo+ICsgICAgREVCVUdfRU5URVJfSU5T
TihJTlNOX0FUVFIobmFtZSkpOwo+ICsgICAgaWYgKCEgKGxlYWYgPSBJTlNOX0FUVFIobGVhZikp
KSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7Cj4gKyAgICBTRVRVUF9DQU5BUlkoKTsKPiArICAg
IENPTExFQ1RfVVNBR0VfSU5TTihJTlNOX0FUVFIoYmluKSk7Cj4gKyNsaW5lIDQzMiAiaW5zbnMu
ZGVmIgo+ICt7Cj4gKyAgICBzeW0gPSByYl9zdHJfaW50ZXJuKHN0cik7Cj4gK30KPiArI2xpbmUg
OTU1ICJ2bS5pbmMiCj4gKyAgICBDSEVDS19WTV9TVEFDS19PVkVSRkxPV19GT1JfSU5TTihWTV9S
RUdfQ0ZQLCBJTlNOX0FUVFIocmV0bikpOwo+ICsgICAgQ0hFQ0tfQ0FOQVJZKCk7Cj4gKyAgICBJ
TkNfU1AoSU5TTl9BVFRSKHNwX2luYykpOwo+ICsgICAgVE9QTigwKSA9IHN5bTsKPiArICAgIGlm
IChsZWFmKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7Cj4gKyAgICBFTkRfSU5TTihpbnRlcm4p
Owo+ICsjICAgdW5kZWYgSU5TTl9BVFRSCj4gKyMgICB1bmRlZiBOQU1FX09GX0NVUlJFTlRfSU5T
Tgo+ICt9Cj4gKwo+ICsvKiBpbnNuIG5ld2FycmF5KG51bSkoLi4uKSh2YWwpICovCj4gK0lOU05f
RU5UUlkobmV3YXJyYXkpCj4gK3sKPiArIyAgIGRlZmluZSBOQU1FX09GX0NVUlJFTlRfSU5TTiBu
ZXdhcnJheQo+ICsjICAgZGVmaW5lIElOU05fQVRUUih4KSBhdHRyXyAjIyB4ICMjIF9uZXdhcnJh
eShudW0pCj4gKyAgICBib29sIGxlYWY7Cj4gKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUgKikgY2Fu
YXJ5Owo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSB2YWw7Cj4gKyAgICBNQVlCRV9VTlVTRUQo
cmJfbnVtX3QpIG51bTsKPiArCj4gKyAgICBTVEFSVF9PRl9PUklHSU5BTF9JTlNOKG5ld2FycmF5
KTsKPiArICAgIG51bSA9IChyYl9udW1fdClHRVRfT1BFUkFORCgxKTsKPiArICAgIERFQlVHX0VO
VEVSX0lOU04oSU5TTl9BVFRSKG5hbWUpKTsKPiArICAgIGlmICghIChsZWFmID0gSU5TTl9BVFRS
KGxlYWYpKSkgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOwo+ICsgICAgU0VUVVBfQ0FOQVJZKCk7
Cj4gKyAgICBDT0xMRUNUX1VTQUdFX0lOU04oSU5TTl9BVFRSKGJpbikpOwo+ICsgICAgQ09MTEVD
VF9VU0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAwLCBudW0pOwo+ICsjbGluZSA0NDMgImlu
c25zLmRlZiIKPiArewo+ICsgICAgdmFsID0gcmJfYXJ5X25ldzQobnVtLCBTVEFDS19BRERSX0ZS
T01fVE9QKG51bSkpOwo+ICt9Cj4gKyNsaW5lIDk4NyAidm0uaW5jIgo+ICsgICAgQ0hFQ0tfVk1f
U1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04oVk1fUkVHX0NGUCwgSU5TTl9BVFRSKHJldG4pKTsKPiAr
ICAgIENIRUNLX0NBTkFSWSgpOwo+ICsgICAgSU5DX1NQKElOU05fQVRUUihzcF9pbmMpKTsKPiAr
ICAgIFRPUE4oMCkgPSB2YWw7Cj4gKyAgICBpZiAobGVhZikgQUREX1BDKElOU05fQVRUUih3aWR0
aCkpOwo+ICsgICAgRU5EX0lOU04obmV3YXJyYXkpOwo+ICsjICAgdW5kZWYgSU5TTl9BVFRSCj4g
KyMgICB1bmRlZiBOQU1FX09GX0NVUlJFTlRfSU5TTgo+ICt9Cj4gKwo+ICsvKiBpbnNuIGR1cGFy
cmF5KGFyeSkoKSh2YWwpICovCj4gK0lOU05fRU5UUlkoZHVwYXJyYXkpCj4gK3sKPiArIyAgIGRl
ZmluZSBOQU1FX09GX0NVUlJFTlRfSU5TTiBkdXBhcnJheQo+ICsjICAgZGVmaW5lIElOU05fQVRU
Uih4KSBhdHRyXyAjIyB4ICMjIF9kdXBhcnJheShhcnkpCj4gKyAgICBib29sIGxlYWY7Cj4gKyAg
ICBNQVlCRV9VTlVTRUQoVkFMVUUgKikgY2FuYXJ5Owo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVF
KSBhcnksIHZhbDsKPiArCj4gKyAgICBTVEFSVF9PRl9PUklHSU5BTF9JTlNOKGR1cGFycmF5KTsK
PiArICAgIGFyeSA9IChWQUxVRSlHRVRfT1BFUkFORCgxKTsKPiArICAgIERFQlVHX0VOVEVSX0lO
U04oSU5TTl9BVFRSKG5hbWUpKTsKPiArICAgIGlmICghIChsZWFmID0gSU5TTl9BVFRSKGxlYWYp
KSkgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOwo+ICsgICAgU0VUVVBfQ0FOQVJZKCk7Cj4gKyAg
ICBDT0xMRUNUX1VTQUdFX0lOU04oSU5TTl9BVFRSKGJpbikpOwo+ICsgICAgQ09MTEVDVF9VU0FH
RV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAwLCBhcnkpOwo+ICsjbGluZSA0NTMgImluc25zLmRl
ZiIKPiArewo+ICsgICAgUlVCWV9EVFJBQ0VfQ1JFQVRFX0hPT0soQVJSQVksIFJBUlJBWV9MRU4o
YXJ5KSk7Cj4gKyAgICB2YWwgPSByYl9hcnlfcmVzdXJyZWN0KGFyeSk7Cj4gK30KPiArI2xpbmUg
MTAxOSAidm0uaW5jIgo+ICsgICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04oVk1f
UkVHX0NGUCwgSU5TTl9BVFRSKHJldG4pKTsKPiArICAgIENIRUNLX0NBTkFSWSgpOwo+ICsgICAg
SU5DX1NQKElOU05fQVRUUihzcF9pbmMpKTsKPiArICAgIFRPUE4oMCkgPSB2YWw7Cj4gKyAgICBp
ZiAobGVhZikgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOwo+ICsgICAgRU5EX0lOU04oZHVwYXJy
YXkpOwo+ICsjICAgdW5kZWYgSU5TTl9BVFRSCj4gKyMgICB1bmRlZiBOQU1FX09GX0NVUlJFTlRf
SU5TTgo+ICt9Cj4gKwo+ICsvKiBpbnNuIGR1cGhhc2goaGFzaCkoKSh2YWwpICovCj4gK0lOU05f
RU5UUlkoZHVwaGFzaCkKPiArewo+ICsjICAgZGVmaW5lIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOIGR1
cGhhc2gKPiArIyAgIGRlZmluZSBJTlNOX0FUVFIoeCkgYXR0cl8gIyMgeCAjIyBfZHVwaGFzaCho
YXNoKQo+ICsgICAgYm9vbCBsZWFmOwo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVFICopIGNhbmFy
eTsKPiArICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgaGFzaCwgdmFsOwo+ICsKPiArICAgIFNUQVJU
X09GX09SSUdJTkFMX0lOU04oZHVwaGFzaCk7Cj4gKyAgICBoYXNoID0gKFZBTFVFKUdFVF9PUEVS
QU5EKDEpOwo+ICsgICAgREVCVUdfRU5URVJfSU5TTihJTlNOX0FUVFIobmFtZSkpOwo+ICsgICAg
aWYgKCEgKGxlYWYgPSBJTlNOX0FUVFIobGVhZikpKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7
Cj4gKyAgICBTRVRVUF9DQU5BUlkoKTsKPiArICAgIENPTExFQ1RfVVNBR0VfSU5TTihJTlNOX0FU
VFIoYmluKSk7Cj4gKyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDAs
IGhhc2gpOwo+ICsjbGluZSA0NjQgImluc25zLmRlZiIKPiArewo+ICsgICAgUlVCWV9EVFJBQ0Vf
Q1JFQVRFX0hPT0soSEFTSCwgUkhBU0hfU0laRShoYXNoKSA8PCAxKTsKPiArICAgIHZhbCA9IHJi
X2hhc2hfcmVzdXJyZWN0KGhhc2gpOwo+ICt9Cj4gKyNsaW5lIDEwNTEgInZtLmluYyIKPiArICAg
IENIRUNLX1ZNX1NUQUNLX09WRVJGTE9XX0ZPUl9JTlNOKFZNX1JFR19DRlAsIElOU05fQVRUUihy
ZXRuKSk7Cj4gKyAgICBDSEVDS19DQU5BUlkoKTsKPiArICAgIElOQ19TUChJTlNOX0FUVFIoc3Bf
aW5jKSk7Cj4gKyAgICBUT1BOKDApID0gdmFsOwo+ICsgICAgaWYgKGxlYWYpIEFERF9QQyhJTlNO
X0FUVFIod2lkdGgpKTsKPiArICAgIEVORF9JTlNOKGR1cGhhc2gpOwo+ICsjICAgdW5kZWYgSU5T
Tl9BVFRSCj4gKyMgICB1bmRlZiBOQU1FX09GX0NVUlJFTlRfSU5TTgo+ICt9Cj4gKwo+ICsvKiBp
bnNuIGV4cGFuZGFycmF5KG51bSwgZmxhZykoLi4uLCBhcnkpKC4uLikgKi8KPiArSU5TTl9FTlRS
WShleHBhbmRhcnJheSkKPiArewo+ICsjICAgZGVmaW5lIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOIGV4
cGFuZGFycmF5Cj4gKyMgICBkZWZpbmUgSU5TTl9BVFRSKHgpIGF0dHJfICMjIHggIyMgX2V4cGFu
ZGFycmF5KG51bSwgZmxhZykKPiArICAgIGJvb2wgbGVhZjsKPiArICAgIE1BWUJFX1VOVVNFRChW
QUxVRSAqKSBjYW5hcnk7Cj4gKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIGFyeTsKPiArICAgIE1B
WUJFX1VOVVNFRChyYl9udW1fdCkgZmxhZywgbnVtOwo+ICsKPiArICAgIFNUQVJUX09GX09SSUdJ
TkFMX0lOU04oZXhwYW5kYXJyYXkpOwo+ICsgICAgbnVtID0gKHJiX251bV90KUdFVF9PUEVSQU5E
KDEpOwo+ICsgICAgZmxhZyA9IChyYl9udW1fdClHRVRfT1BFUkFORCgyKTsKPiArICAgIGFyeSA9
IFRPUE4oMCk7Cj4gKyAgICBERUJVR19FTlRFUl9JTlNOKElOU05fQVRUUihuYW1lKSk7Cj4gKyAg
ICBpZiAoISAobGVhZiA9IElOU05fQVRUUihsZWFmKSkpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgp
KTsKPiArICAgIENPTExFQ1RfVVNBR0VfSU5TTihJTlNOX0FUVFIoYmluKSk7Cj4gKyAgICBDT0xM
RUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDAsIG51bSk7Cj4gKyAgICBDT0xMRUNU
X1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDEsIGZsYWcpOwo+ICsjbGluZSA0ODUgImlu
c25zLmRlZiIKPiArewo+ICsgICAgdm1fZXhwYW5kYXJyYXkoR0VUX1NQKCksIGFyeSwgbnVtLCAo
aW50KWZsYWcpOwo+ICt9Cj4gKyNsaW5lIDEwODUgInZtLmluYyIKPiArICAgIENIRUNLX1ZNX1NU
QUNLX09WRVJGTE9XX0ZPUl9JTlNOKFZNX1JFR19DRlAsIElOU05fQVRUUihyZXRuKSk7Cj4gKyAg
ICBJTkNfU1AoSU5TTl9BVFRSKHNwX2luYykpOwo+ICsgICAgaWYgKGxlYWYpIEFERF9QQyhJTlNO
X0FUVFIod2lkdGgpKTsKPiArICAgIEVORF9JTlNOKGV4cGFuZGFycmF5KTsKPiArIyAgIHVuZGVm
IElOU05fQVRUUgo+ICsjICAgdW5kZWYgTkFNRV9PRl9DVVJSRU5UX0lOU04KPiArfQo+ICsKPiAr
LyogaW5zbiBjb25jYXRhcnJheSgpKGFyeTEsIGFyeTIpKGFyeSkgKi8KPiArSU5TTl9FTlRSWShj
b25jYXRhcnJheSkKPiArewo+ICsjICAgZGVmaW5lIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOIGNvbmNh
dGFycmF5Cj4gKyMgICBkZWZpbmUgSU5TTl9BVFRSKHgpIGF0dHJfICMjIHggIyMgX2NvbmNhdGFy
cmF5KCkKPiArICAgIGJvb2wgbGVhZjsKPiArICAgIE1BWUJFX1VOVVNFRChWQUxVRSAqKSBjYW5h
cnk7Cj4gKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIGFyeSwgYXJ5MSwgYXJ5MjsKPiArCj4gKyAg
ICBTVEFSVF9PRl9PUklHSU5BTF9JTlNOKGNvbmNhdGFycmF5KTsKPiArICAgIGFyeTEgPSBUT1BO
KDEpOwo+ICsgICAgYXJ5MiA9IFRPUE4oMCk7Cj4gKyAgICBERUJVR19FTlRFUl9JTlNOKElOU05f
QVRUUihuYW1lKSk7Cj4gKyAgICBpZiAoISAobGVhZiA9IElOU05fQVRUUihsZWFmKSkpIEFERF9Q
QyhJTlNOX0FUVFIod2lkdGgpKTsKPiArICAgIFNFVFVQX0NBTkFSWSgpOwo+ICsgICAgQ09MTEVD
VF9VU0FHRV9JTlNOKElOU05fQVRUUihiaW4pKTsKPiArI2xpbmUgNDk2ICJpbnNucy5kZWYiCj4g
K3sKPiArICAgIGFyeSA9IHZtX2NvbmNhdF9hcnJheShhcnkxLCBhcnkyKTsKPiArfQo+ICsjbGlu
ZSAxMTE0ICJ2bS5pbmMiCj4gKyAgICBDSEVDS19WTV9TVEFDS19PVkVSRkxPV19GT1JfSU5TTihW
TV9SRUdfQ0ZQLCBJTlNOX0FUVFIocmV0bikpOwo+ICsgICAgQ0hFQ0tfQ0FOQVJZKCk7Cj4gKyAg
ICBJTkNfU1AoSU5TTl9BVFRSKHNwX2luYykpOwo+ICsgICAgVE9QTigwKSA9IGFyeTsKPiArICAg
IGlmIChsZWFmKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7Cj4gKyAgICBFTkRfSU5TTihjb25j
YXRhcnJheSk7Cj4gKyMgICB1bmRlZiBJTlNOX0FUVFIKPiArIyAgIHVuZGVmIE5BTUVfT0ZfQ1VS
UkVOVF9JTlNOCj4gK30KPiArCj4gKy8qIGluc24gc3BsYXRhcnJheShmbGFnKShhcnkpKG9iaikg
Ki8KPiArSU5TTl9FTlRSWShzcGxhdGFycmF5KQo+ICt7Cj4gKyMgICBkZWZpbmUgTkFNRV9PRl9D
VVJSRU5UX0lOU04gc3BsYXRhcnJheQo+ICsjICAgZGVmaW5lIElOU05fQVRUUih4KSBhdHRyXyAj
IyB4ICMjIF9zcGxhdGFycmF5KGZsYWcpCj4gKyAgICBib29sIGxlYWY7Cj4gKyAgICBNQVlCRV9V
TlVTRUQoVkFMVUUgKikgY2FuYXJ5Owo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSBhcnksIGZs
YWcsIG9iajsKPiArCj4gKyAgICBTVEFSVF9PRl9PUklHSU5BTF9JTlNOKHNwbGF0YXJyYXkpOwo+
ICsgICAgZmxhZyA9IChWQUxVRSlHRVRfT1BFUkFORCgxKTsKPiArICAgIGFyeSA9IFRPUE4oMCk7
Cj4gKyAgICBERUJVR19FTlRFUl9JTlNOKElOU05fQVRUUihuYW1lKSk7Cj4gKyAgICBpZiAoISAo
bGVhZiA9IElOU05fQVRUUihsZWFmKSkpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKPiArICAg
IFNFVFVQX0NBTkFSWSgpOwo+ICsgICAgQ09MTEVDVF9VU0FHRV9JTlNOKElOU05fQVRUUihiaW4p
KTsKPiArICAgIENPTExFQ1RfVVNBR0VfT1BFUkFORChJTlNOX0FUVFIoYmluKSwgMCwgZmxhZyk7
Cj4gKyNsaW5lIDUwNyAiaW5zbnMuZGVmIgo+ICt7Cj4gKyAgICBvYmogPSB2bV9zcGxhdF9hcnJh
eShmbGFnLCBhcnkpOwo+ICt9Cj4gKyNsaW5lIDExNDYgInZtLmluYyIKPiArICAgIENIRUNLX1ZN
X1NUQUNLX09WRVJGTE9XX0ZPUl9JTlNOKFZNX1JFR19DRlAsIElOU05fQVRUUihyZXRuKSk7Cj4g
KyAgICBDSEVDS19DQU5BUlkoKTsKPiArICAgIElOQ19TUChJTlNOX0FUVFIoc3BfaW5jKSk7Cj4g
KyAgICBUT1BOKDApID0gb2JqOwo+ICsgICAgaWYgKGxlYWYpIEFERF9QQyhJTlNOX0FUVFIod2lk
dGgpKTsKPiArICAgIEVORF9JTlNOKHNwbGF0YXJyYXkpOwo+ICsjICAgdW5kZWYgSU5TTl9BVFRS
Cj4gKyMgICB1bmRlZiBOQU1FX09GX0NVUlJFTlRfSU5TTgo+ICt9Cj4gKwo+ICsvKiBpbnNuIG5l
d2hhc2gobnVtKSguLi4pKHZhbCkgKi8KPiArSU5TTl9FTlRSWShuZXdoYXNoKQo+ICt7Cj4gKyMg
ICBkZWZpbmUgTkFNRV9PRl9DVVJSRU5UX0lOU04gbmV3aGFzaAo+ICsjICAgZGVmaW5lIElOU05f
QVRUUih4KSBhdHRyXyAjIyB4ICMjIF9uZXdoYXNoKG51bSkKPiArICAgIGJvb2wgbGVhZjsKPiAr
ICAgIE1BWUJFX1VOVVNFRChWQUxVRSAqKSBjYW5hcnk7Cj4gKyAgICBNQVlCRV9VTlVTRUQoVkFM
VUUpIHZhbDsKPiArICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCkgbnVtOwo+ICsKPiArICAgIFNU
QVJUX09GX09SSUdJTkFMX0lOU04obmV3aGFzaCk7Cj4gKyAgICBudW0gPSAocmJfbnVtX3QpR0VU
X09QRVJBTkQoMSk7Cj4gKyAgICBERUJVR19FTlRFUl9JTlNOKElOU05fQVRUUihuYW1lKSk7Cj4g
KyAgICBpZiAoISAobGVhZiA9IElOU05fQVRUUihsZWFmKSkpIEFERF9QQyhJTlNOX0FUVFIod2lk
dGgpKTsKPiArICAgIFNFVFVQX0NBTkFSWSgpOwo+ICsgICAgQ09MTEVDVF9VU0FHRV9JTlNOKElO
U05fQVRUUihiaW4pKTsKPiArICAgIENPTExFQ1RfVVNBR0VfT1BFUkFORChJTlNOX0FUVFIoYmlu
KSwgMCwgbnVtKTsKPiArI2xpbmUgNTE5ICJpbnNucy5kZWYiCj4gK3sKPiArICAgIFJVQllfRFRS
QUNFX0NSRUFURV9IT09LKEhBU0gsIG51bSk7Cj4gKwo+ICsgICAgdmFsID0gcmJfaGFzaF9uZXdf
d2l0aF9zaXplKG51bSAvIDIpOwo+ICsKPiArICAgIGlmIChudW0pIHsKPiArICAgICAgICByYl9o
YXNoX2J1bGtfaW5zZXJ0KG51bSwgU1RBQ0tfQUREUl9GUk9NX1RPUChudW0pLCB2YWwpOwo+ICsg
ICAgfQo+ICt9Cj4gKyNsaW5lIDExODQgInZtLmluYyIKPiArICAgIENIRUNLX1ZNX1NUQUNLX09W
RVJGTE9XX0ZPUl9JTlNOKFZNX1JFR19DRlAsIElOU05fQVRUUihyZXRuKSk7Cj4gKyAgICBDSEVD
S19DQU5BUlkoKTsKPiArICAgIElOQ19TUChJTlNOX0FUVFIoc3BfaW5jKSk7Cj4gKyAgICBUT1BO
KDApID0gdmFsOwo+ICsgICAgaWYgKGxlYWYpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKPiAr
ICAgIEVORF9JTlNOKG5ld2hhc2gpOwo+ICsjICAgdW5kZWYgSU5TTl9BVFRSCj4gKyMgICB1bmRl
ZiBOQU1FX09GX0NVUlJFTlRfSU5TTgo+ICt9Cj4gKwo+ICsvKiBpbnNuIG5ld3JhbmdlKGZsYWcp
KGxvdywgaGlnaCkodmFsKSAqLwo+ICtJTlNOX0VOVFJZKG5ld3JhbmdlKQo+ICt7Cj4gKyMgICBk
ZWZpbmUgTkFNRV9PRl9DVVJSRU5UX0lOU04gbmV3cmFuZ2UKPiArIyAgIGRlZmluZSBJTlNOX0FU
VFIoeCkgYXR0cl8gIyMgeCAjIyBfbmV3cmFuZ2UoZmxhZykKPiArICAgIGJvb2wgbGVhZjsKPiAr
ICAgIE1BWUJFX1VOVVNFRChWQUxVRSAqKSBjYW5hcnk7Cj4gKyAgICBNQVlCRV9VTlVTRUQoVkFM
VUUpIGhpZ2gsIGxvdywgdmFsOwo+ICsgICAgTUFZQkVfVU5VU0VEKHJiX251bV90KSBmbGFnOwo+
ICsKPiArICAgIFNUQVJUX09GX09SSUdJTkFMX0lOU04obmV3cmFuZ2UpOwo+ICsgICAgZmxhZyA9
IChyYl9udW1fdClHRVRfT1BFUkFORCgxKTsKPiArICAgIGxvdyA9IFRPUE4oMSk7Cj4gKyAgICBo
aWdoID0gVE9QTigwKTsKPiArICAgIERFQlVHX0VOVEVSX0lOU04oSU5TTl9BVFRSKG5hbWUpKTsK
PiArICAgIGlmICghIChsZWFmID0gSU5TTl9BVFRSKGxlYWYpKSkgQUREX1BDKElOU05fQVRUUih3
aWR0aCkpOwo+ICsgICAgU0VUVVBfQ0FOQVJZKCk7Cj4gKyAgICBDT0xMRUNUX1VTQUdFX0lOU04o
SU5TTl9BVFRSKGJpbikpOwo+ICsgICAgQ09MTEVDVF9VU0FHRV9PUEVSQU5EKElOU05fQVRUUihi
aW4pLCAwLCBmbGFnKTsKPiArI2xpbmUgNTM3ICJpbnNucy5kZWYiCj4gK3sKPiArICAgIHZhbCA9
IHJiX3JhbmdlX25ldyhsb3csIGhpZ2gsIChpbnQpZmxhZyk7Cj4gK30KPiArI2xpbmUgMTIxOCAi
dm0uaW5jIgo+ICsgICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04oVk1fUkVHX0NG
UCwgSU5TTl9BVFRSKHJldG4pKTsKPiArICAgIENIRUNLX0NBTkFSWSgpOwo+ICsgICAgSU5DX1NQ
KElOU05fQVRUUihzcF9pbmMpKTsKPiArICAgIFRPUE4oMCkgPSB2YWw7Cj4gKyAgICBpZiAobGVh
ZikgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOwo+ICsgICAgRU5EX0lOU04obmV3cmFuZ2UpOwo+
ICsjICAgdW5kZWYgSU5TTl9BVFRSCj4gKyMgICB1bmRlZiBOQU1FX09GX0NVUlJFTlRfSU5TTgo+
ICt9Cj4gKwo+ICsvKiBpbnNuIHBvcCgpKHZhbCkoKSAqLwo+ICtJTlNOX0VOVFJZKHBvcCkKPiAr
ewo+ICsjICAgZGVmaW5lIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOIHBvcAo+ICsjICAgZGVmaW5lIElO
U05fQVRUUih4KSBhdHRyXyAjIyB4ICMjIF9wb3AoKQo+ICsgICAgYm9vbCBsZWFmOwo+ICsgICAg
TUFZQkVfVU5VU0VEKFZBTFVFICopIGNhbmFyeTsKPiArICAgIE1BWUJFX1VOVVNFRChWQUxVRSkg
dmFsOwo+ICsKPiArICAgIFNUQVJUX09GX09SSUdJTkFMX0lOU04ocG9wKTsKPiArICAgIHZhbCA9
IFRPUE4oMCk7Cj4gKyAgICBERUJVR19FTlRFUl9JTlNOKElOU05fQVRUUihuYW1lKSk7Cj4gKyAg
ICBpZiAoISAobGVhZiA9IElOU05fQVRUUihsZWFmKSkpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgp
KTsKPiArICAgIFNFVFVQX0NBTkFSWSgpOwo+ICsgICAgQ09MTEVDVF9VU0FHRV9JTlNOKElOU05f
QVRUUihiaW4pKTsKPiArI2xpbmUgNTUxICJpbnNucy5kZWYiCj4gK3sKPiArICAgICh2b2lkKXZh
bDsKPiArICAgIC8qIG5vbmUgKi8KPiArfQo+ICsjbGluZSAxMjQ5ICJ2bS5pbmMiCj4gKyAgICBD
SEVDS19WTV9TVEFDS19PVkVSRkxPV19GT1JfSU5TTihWTV9SRUdfQ0ZQLCBJTlNOX0FUVFIocmV0
bikpOwo+ICsgICAgQ0hFQ0tfQ0FOQVJZKCk7Cj4gKyAgICBJTkNfU1AoSU5TTl9BVFRSKHNwX2lu
YykpOwo+ICsgICAgaWYgKGxlYWYpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKPiArICAgIEVO
RF9JTlNOKHBvcCk7Cj4gKyMgICB1bmRlZiBJTlNOX0FUVFIKPiArIyAgIHVuZGVmIE5BTUVfT0Zf
Q1VSUkVOVF9JTlNOCj4gK30KPiArCj4gKy8qIGluc24gZHVwKCkodmFsKSh2YWwxLCB2YWwyKSAq
Lwo+ICtJTlNOX0VOVFJZKGR1cCkKPiArewo+ICsjICAgZGVmaW5lIE5BTUVfT0ZfQ1VSUkVOVF9J
TlNOIGR1cAo+ICsjICAgZGVmaW5lIElOU05fQVRUUih4KSBhdHRyXyAjIyB4ICMjIF9kdXAoKQo+
ICsgICAgYm9vbCBsZWFmOwo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVFICopIGNhbmFyeTsKPiAr
ICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgdmFsLCB2YWwxLCB2YWwyOwo+ICsKPiArICAgIFNUQVJU
X09GX09SSUdJTkFMX0lOU04oZHVwKTsKPiArICAgIHZhbCA9IFRPUE4oMCk7Cj4gKyAgICBERUJV
R19FTlRFUl9JTlNOKElOU05fQVRUUihuYW1lKSk7Cj4gKyAgICBpZiAoISAobGVhZiA9IElOU05f
QVRUUihsZWFmKSkpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKPiArICAgIFNFVFVQX0NBTkFS
WSgpOwo+ICsgICAgQ09MTEVDVF9VU0FHRV9JTlNOKElOU05fQVRUUihiaW4pKTsKPiArI2xpbmUg
NTYyICJpbnNucy5kZWYiCj4gK3sKPiArICAgIHZhbDEgPSB2YWwyID0gdmFsOwo+ICt9Cj4gKyNs
aW5lIDEyNzggInZtLmluYyIKPiArICAgIENIRUNLX1ZNX1NUQUNLX09WRVJGTE9XX0ZPUl9JTlNO
KFZNX1JFR19DRlAsIElOU05fQVRUUihyZXRuKSk7Cj4gKyAgICBDSEVDS19DQU5BUlkoKTsKPiAr
ICAgIElOQ19TUChJTlNOX0FUVFIoc3BfaW5jKSk7Cj4gKyAgICBUT1BOKDApID0gdmFsMjsKPiAr
ICAgIFRPUE4oMSkgPSB2YWwxOwo+ICsgICAgaWYgKGxlYWYpIEFERF9QQyhJTlNOX0FUVFIod2lk
dGgpKTsKPiArICAgIEVORF9JTlNOKGR1cCk7Cj4gKyMgICB1bmRlZiBJTlNOX0FUVFIKPiArIyAg
IHVuZGVmIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOCj4gK30KPiArCj4gKy8qIGluc24gZHVwbihuKSgu
Li4pKC4uLikgKi8KPiArSU5TTl9FTlRSWShkdXBuKQo+ICt7Cj4gKyMgICBkZWZpbmUgTkFNRV9P
Rl9DVVJSRU5UX0lOU04gZHVwbgo+ICsjICAgZGVmaW5lIElOU05fQVRUUih4KSBhdHRyXyAjIyB4
ICMjIF9kdXBuKG4pCj4gKyAgICBib29sIGxlYWY7Cj4gKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUg
KikgY2FuYXJ5Owo+ICsgICAgTUFZQkVfVU5VU0VEKHJiX251bV90KSBuOwo+ICsKPiArICAgIFNU
QVJUX09GX09SSUdJTkFMX0lOU04oZHVwbik7Cj4gKyAgICBuID0gKHJiX251bV90KUdFVF9PUEVS
QU5EKDEpOwo+ICsgICAgREVCVUdfRU5URVJfSU5TTihJTlNOX0FUVFIobmFtZSkpOwo+ICsgICAg
aWYgKCEgKGxlYWYgPSBJTlNOX0FUVFIobGVhZikpKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7
Cj4gKyAgICBDT0xMRUNUX1VTQUdFX0lOU04oSU5TTl9BVFRSKGJpbikpOwo+ICsgICAgQ09MTEVD
VF9VU0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAwLCBuKTsKPiArI2xpbmUgNTczICJpbnNu
cy5kZWYiCj4gK3sKPiArICAgIHZvaWQgKmRzdCA9IEdFVF9TUCgpOwo+ICsgICAgdm9pZCAqc3Jj
ID0gU1RBQ0tfQUREUl9GUk9NX1RPUChuKTsKPiArCj4gKyAgICBNRU1DUFkoZHN0LCBzcmMsIFZB
TFVFLCBuKTsKPiArfQo+ICsjbGluZSAxMzEyICJ2bS5pbmMiCj4gKyAgICBDSEVDS19WTV9TVEFD
S19PVkVSRkxPV19GT1JfSU5TTihWTV9SRUdfQ0ZQLCBJTlNOX0FUVFIocmV0bikpOwo+ICsgICAg
SU5DX1NQKElOU05fQVRUUihzcF9pbmMpKTsKPiArICAgIGlmIChsZWFmKSBBRERfUEMoSU5TTl9B
VFRSKHdpZHRoKSk7Cj4gKyAgICBFTkRfSU5TTihkdXBuKTsKPiArIyAgIHVuZGVmIElOU05fQVRU
Ugo+ICsjICAgdW5kZWYgTkFNRV9PRl9DVVJSRU5UX0lOU04KPiArfQo+ICsKPiArLyogaW5zbiBz
d2FwKCkodmFsLCBvYmopKG9iaiwgdmFsKSAqLwo+ICtJTlNOX0VOVFJZKHN3YXApCj4gK3sKPiAr
IyAgIGRlZmluZSBOQU1FX09GX0NVUlJFTlRfSU5TTiBzd2FwCj4gKyMgICBkZWZpbmUgSU5TTl9B
VFRSKHgpIGF0dHJfICMjIHggIyMgX3N3YXAoKQo+ICsgICAgYm9vbCBsZWFmOwo+ICsgICAgTUFZ
QkVfVU5VU0VEKFZBTFVFICopIGNhbmFyeTsKPiArICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgb2Jq
LCB2YWw7Cj4gKwo+ICsgICAgU1RBUlRfT0ZfT1JJR0lOQUxfSU5TTihzd2FwKTsKPiArICAgIHZh
bCA9IFRPUE4oMSk7Cj4gKyAgICBvYmogPSBUT1BOKDApOwo+ICsgICAgREVCVUdfRU5URVJfSU5T
TihJTlNOX0FUVFIobmFtZSkpOwo+ICsgICAgaWYgKCEgKGxlYWYgPSBJTlNOX0FUVFIobGVhZikp
KSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7Cj4gKyAgICBDT0xMRUNUX1VTQUdFX0lOU04oSU5T
Tl9BVFRSKGJpbikpOwo+ICsgICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04oVk1f
UkVHX0NGUCwgSU5TTl9BVFRSKHJldG4pKTsKPiArICAgIElOQ19TUChJTlNOX0FUVFIoc3BfaW5j
KSk7Cj4gKyAgICBUT1BOKDApID0gdmFsOwo+ICsgICAgVE9QTigxKSA9IG9iajsKPiArICAgIGlm
IChsZWFmKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7Cj4gKyAgICBFTkRfSU5TTihzd2FwKTsK
PiArIyAgIHVuZGVmIElOU05fQVRUUgo+ICsjICAgdW5kZWYgTkFNRV9PRl9DVVJSRU5UX0lOU04K
PiArfQo+ICsKPiArLyogaW5zbiByZXZlcnNlKG4pKC4uLikoLi4uKSAqLwo+ICtJTlNOX0VOVFJZ
KHJldmVyc2UpCj4gK3sKPiArIyAgIGRlZmluZSBOQU1FX09GX0NVUlJFTlRfSU5TTiByZXZlcnNl
Cj4gKyMgICBkZWZpbmUgSU5TTl9BVFRSKHgpIGF0dHJfICMjIHggIyMgX3JldmVyc2UobikKPiAr
ICAgIGJvb2wgbGVhZjsKPiArICAgIE1BWUJFX1VOVVNFRChWQUxVRSAqKSBjYW5hcnk7Cj4gKyAg
ICBNQVlCRV9VTlVTRUQocmJfbnVtX3QpIG47Cj4gKwo+ICsgICAgU1RBUlRfT0ZfT1JJR0lOQUxf
SU5TTihyZXZlcnNlKTsKPiArICAgIG4gPSAocmJfbnVtX3QpR0VUX09QRVJBTkQoMSk7Cj4gKyAg
ICBERUJVR19FTlRFUl9JTlNOKElOU05fQVRUUihuYW1lKSk7Cj4gKyAgICBpZiAoISAobGVhZiA9
IElOU05fQVRUUihsZWFmKSkpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKPiArICAgIENPTExF
Q1RfVVNBR0VfSU5TTihJTlNOX0FUVFIoYmluKSk7Cj4gKyAgICBDT0xMRUNUX1VTQUdFX09QRVJB
TkQoSU5TTl9BVFRSKGJpbiksIDAsIG4pOwo+ICsjbGluZSA1OTcgImluc25zLmRlZiIKPiArewo+
ICsgICAgcmJfbnVtX3QgaTsKPiArICAgIFZBTFVFICpzcCA9IFNUQUNLX0FERFJfRlJPTV9UT1Ao
bik7Cj4gKwo+ICsgICAgZm9yIChpPTA7IGk8bi8yOyBpKyspIHsKPiArICAgICAgIFZBTFVFIHYw
ID0gc3BbaV07Cj4gKyAgICAgICBWQUxVRSB2MSA9IFRPUE4oaSk7Cj4gKyAgICAgICBzcFtpXSA9
IHYxOwo+ICsgICAgICAgVE9QTihpKSA9IHYwOwo+ICsgICAgfQo+ICt9Cj4gKyNsaW5lIDEzNzMg
InZtLmluYyIKPiArICAgIENIRUNLX1ZNX1NUQUNLX09WRVJGTE9XX0ZPUl9JTlNOKFZNX1JFR19D
RlAsIElOU05fQVRUUihyZXRuKSk7Cj4gKyAgICBJTkNfU1AoSU5TTl9BVFRSKHNwX2luYykpOwo+
ICsgICAgaWYgKGxlYWYpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKPiArICAgIEVORF9JTlNO
KHJldmVyc2UpOwo+ICsjICAgdW5kZWYgSU5TTl9BVFRSCj4gKyMgICB1bmRlZiBOQU1FX09GX0NV
UlJFTlRfSU5TTgo+ICt9Cj4gKwo+ICsvKiBpbnNuIHJlcHV0KCkoLi4uLCB2YWwpKHZhbCkgKi8K
PiArSU5TTl9FTlRSWShyZXB1dCkKPiArewo+ICsjICAgZGVmaW5lIE5BTUVfT0ZfQ1VSUkVOVF9J
TlNOIHJlcHV0Cj4gKyMgICBkZWZpbmUgSU5TTl9BVFRSKHgpIGF0dHJfICMjIHggIyMgX3JlcHV0
KCkKPiArICAgIGJvb2wgbGVhZjsKPiArICAgIE1BWUJFX1VOVVNFRChWQUxVRSAqKSBjYW5hcnk7
Cj4gKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIHZhbDsKPiArCj4gKyAgICBTVEFSVF9PRl9PUklH
SU5BTF9JTlNOKHJlcHV0KTsKPiArICAgIHZhbCA9IFRPUE4oMCk7Cj4gKyAgICBERUJVR19FTlRF
Ul9JTlNOKElOU05fQVRUUihuYW1lKSk7Cj4gKyAgICBpZiAoISAobGVhZiA9IElOU05fQVRUUihs
ZWFmKSkpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKPiArICAgIENPTExFQ1RfVVNBR0VfSU5T
TihJTlNOX0FUVFIoYmluKSk7Cj4gKyAgICBDSEVDS19WTV9TVEFDS19PVkVSRkxPV19GT1JfSU5T
TihWTV9SRUdfQ0ZQLCBJTlNOX0FUVFIocmV0bikpOwo+ICsgICAgSU5DX1NQKElOU05fQVRUUihz
cF9pbmMpKTsKPiArICAgIFRPUE4oMCkgPSB2YWw7Cj4gKyAgICBpZiAobGVhZikgQUREX1BDKElO
U05fQVRUUih3aWR0aCkpOwo+ICsgICAgRU5EX0lOU04ocmVwdXQpOwo+ICsjICAgdW5kZWYgSU5T
Tl9BVFRSCj4gKyMgICB1bmRlZiBOQU1FX09GX0NVUlJFTlRfSU5TTgo+ICt9Cj4gKwo+ICsvKiBp
bnNuIHRvcG4obikoLi4uKSh2YWwpICovCj4gK0lOU05fRU5UUlkodG9wbikKPiArewo+ICsjICAg
ZGVmaW5lIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOIHRvcG4KPiArIyAgIGRlZmluZSBJTlNOX0FUVFIo
eCkgYXR0cl8gIyMgeCAjIyBfdG9wbihuKQo+ICsgICAgYm9vbCBsZWFmOwo+ICsgICAgTUFZQkVf
VU5VU0VEKFZBTFVFICopIGNhbmFyeTsKPiArICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgdmFsOwo+
ICsgICAgTUFZQkVfVU5VU0VEKHJiX251bV90KSBuOwo+ICsKPiArICAgIFNUQVJUX09GX09SSUdJ
TkFMX0lOU04odG9wbik7Cj4gKyAgICBuID0gKHJiX251bV90KUdFVF9PUEVSQU5EKDEpOwo+ICsg
ICAgREVCVUdfRU5URVJfSU5TTihJTlNOX0FUVFIobmFtZSkpOwo+ICsgICAgaWYgKCEgKGxlYWYg
PSBJTlNOX0FUVFIobGVhZikpKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7Cj4gKyAgICBTRVRV
UF9DQU5BUlkoKTsKPiArICAgIENPTExFQ1RfVVNBR0VfSU5TTihJTlNOX0FUVFIoYmluKSk7Cj4g
KyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDAsIG4pOwo+ICsjbGlu
ZSA2MjcgImluc25zLmRlZiIKPiArewo+ICsgICAgdmFsID0gVE9QTihuKTsKPiArfQo+ICsjbGlu
ZSAxNDI2ICJ2bS5pbmMiCj4gKyAgICBDSEVDS19WTV9TVEFDS19PVkVSRkxPV19GT1JfSU5TTihW
TV9SRUdfQ0ZQLCBJTlNOX0FUVFIocmV0bikpOwo+ICsgICAgQ0hFQ0tfQ0FOQVJZKCk7Cj4gKyAg
ICBJTkNfU1AoSU5TTl9BVFRSKHNwX2luYykpOwo+ICsgICAgVE9QTigwKSA9IHZhbDsKPiArICAg
IGlmIChsZWFmKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7Cj4gKyAgICBFTkRfSU5TTih0b3Bu
KTsKPiArIyAgIHVuZGVmIElOU05fQVRUUgo+ICsjICAgdW5kZWYgTkFNRV9PRl9DVVJSRU5UX0lO
U04KPiArfQo+ICsKPiArLyogaW5zbiBzZXRuKG4pKC4uLiwgdmFsKSh2YWwpICovCj4gK0lOU05f
RU5UUlkoc2V0bikKPiArewo+ICsjICAgZGVmaW5lIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOIHNldG4K
PiArIyAgIGRlZmluZSBJTlNOX0FUVFIoeCkgYXR0cl8gIyMgeCAjIyBfc2V0bihuKQo+ICsgICAg
Ym9vbCBsZWFmOwo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVFICopIGNhbmFyeTsKPiArICAgIE1B
WUJFX1VOVVNFRChWQUxVRSkgdmFsOwo+ICsgICAgTUFZQkVfVU5VU0VEKHJiX251bV90KSBuOwo+
ICsKPiArICAgIFNUQVJUX09GX09SSUdJTkFMX0lOU04oc2V0bik7Cj4gKyAgICBuID0gKHJiX251
bV90KUdFVF9PUEVSQU5EKDEpOwo+ICsgICAgdmFsID0gVE9QTigwKTsKPiArICAgIERFQlVHX0VO
VEVSX0lOU04oSU5TTl9BVFRSKG5hbWUpKTsKPiArICAgIGlmICghIChsZWFmID0gSU5TTl9BVFRS
KGxlYWYpKSkgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOwo+ICsgICAgU0VUVVBfQ0FOQVJZKCk7
Cj4gKyAgICBDT0xMRUNUX1VTQUdFX0lOU04oSU5TTl9BVFRSKGJpbikpOwo+ICsgICAgQ09MTEVD
VF9VU0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAwLCBuKTsKPiArI2xpbmUgNjM4ICJpbnNu
cy5kZWYiCj4gK3sKPiArICAgIFRPUE4obikgPSB2YWw7Cj4gK30KPiArI2xpbmUgMTQ1OSAidm0u
aW5jIgo+ICsgICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04oVk1fUkVHX0NGUCwg
SU5TTl9BVFRSKHJldG4pKTsKPiArICAgIENIRUNLX0NBTkFSWSgpOwo+ICsgICAgSU5DX1NQKElO
U05fQVRUUihzcF9pbmMpKTsKPiArICAgIFRPUE4oMCkgPSB2YWw7Cj4gKyAgICBpZiAobGVhZikg
QUREX1BDKElOU05fQVRUUih3aWR0aCkpOwo+ICsgICAgRU5EX0lOU04oc2V0bik7Cj4gKyMgICB1
bmRlZiBJTlNOX0FUVFIKPiArIyAgIHVuZGVmIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOCj4gK30KPiAr
Cj4gKy8qIGluc24gYWRqdXN0c3RhY2sobikoLi4uKSguLi4pICovCj4gK0lOU05fRU5UUlkoYWRq
dXN0c3RhY2spCj4gK3sKPiArIyAgIGRlZmluZSBOQU1FX09GX0NVUlJFTlRfSU5TTiBhZGp1c3Rz
dGFjawo+ICsjICAgZGVmaW5lIElOU05fQVRUUih4KSBhdHRyXyAjIyB4ICMjIF9hZGp1c3RzdGFj
ayhuKQo+ICsgICAgYm9vbCBsZWFmOwo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVFICopIGNhbmFy
eTsKPiArICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCkgbjsKPiArCj4gKyAgICBTVEFSVF9PRl9P
UklHSU5BTF9JTlNOKGFkanVzdHN0YWNrKTsKPiArICAgIG4gPSAocmJfbnVtX3QpR0VUX09QRVJB
TkQoMSk7Cj4gKyAgICBERUJVR19FTlRFUl9JTlNOKElOU05fQVRUUihuYW1lKSk7Cj4gKyAgICBp
ZiAoISAobGVhZiA9IElOU05fQVRUUihsZWFmKSkpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsK
PiArICAgIENPTExFQ1RfVVNBR0VfSU5TTihJTlNOX0FUVFIoYmluKSk7Cj4gKyAgICBDT0xMRUNU
X1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDAsIG4pOwo+ICsgICAgQ0hFQ0tfVk1fU1RB
Q0tfT1ZFUkZMT1dfRk9SX0lOU04oVk1fUkVHX0NGUCwgSU5TTl9BVFRSKHJldG4pKTsKPiArICAg
IElOQ19TUChJTlNOX0FUVFIoc3BfaW5jKSk7Cj4gKyAgICBpZiAobGVhZikgQUREX1BDKElOU05f
QVRUUih3aWR0aCkpOwo+ICsgICAgRU5EX0lOU04oYWRqdXN0c3RhY2spOwo+ICsjICAgdW5kZWYg
SU5TTl9BVFRSCj4gKyMgICB1bmRlZiBOQU1FX09GX0NVUlJFTlRfSU5TTgo+ICt9Cj4gKwo+ICsv
KiBpbnNuIGRlZmluZWQob3BfdHlwZSwgb2JqLCBuZWVkc3RyKSh2KSh2YWwpICovCj4gK0lOU05f
RU5UUlkoZGVmaW5lZCkKPiArewo+ICsjICAgZGVmaW5lIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOIGRl
ZmluZWQKPiArIyAgIGRlZmluZSBJTlNOX0FUVFIoeCkgYXR0cl8gIyMgeCAjIyBfZGVmaW5lZChv
cF90eXBlLCBvYmosIG5lZWRzdHIpCj4gKyAgICBib29sIGxlYWY7Cj4gKyAgICBNQVlCRV9VTlVT
RUQoVkFMVUUgKikgY2FuYXJ5Owo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSBuZWVkc3RyLCBv
YmosIHYsIHZhbDsKPiArICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCkgb3BfdHlwZTsKPiArCj4g
KyAgICBTVEFSVF9PRl9PUklHSU5BTF9JTlNOKGRlZmluZWQpOwo+ICsgICAgb3BfdHlwZSA9IChy
Yl9udW1fdClHRVRfT1BFUkFORCgxKTsKPiArICAgIG9iaiA9IChWQUxVRSlHRVRfT1BFUkFORCgy
KTsKPiArICAgIG5lZWRzdHIgPSAoVkFMVUUpR0VUX09QRVJBTkQoMyk7Cj4gKyAgICB2ID0gVE9Q
TigwKTsKPiArICAgIERFQlVHX0VOVEVSX0lOU04oSU5TTl9BVFRSKG5hbWUpKTsKPiArICAgIGlm
ICghIChsZWFmID0gSU5TTl9BVFRSKGxlYWYpKSkgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOwo+
ICsgICAgU0VUVVBfQ0FOQVJZKCk7Cj4gKyAgICBDT0xMRUNUX1VTQUdFX0lOU04oSU5TTl9BVFRS
KGJpbikpOwo+ICsgICAgQ09MTEVDVF9VU0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAwLCBv
cF90eXBlKTsKPiArICAgIENPTExFQ1RfVVNBR0VfT1BFUkFORChJTlNOX0FUVFIoYmluKSwgMSwg
b2JqKTsKPiArICAgIENPTExFQ1RfVVNBR0VfT1BFUkFORChJTlNOX0FUVFIoYmluKSwgMiwgbmVl
ZHN0cik7Cj4gKyNsaW5lIDY2NCAiaW5zbnMuZGVmIgo+ICt7Cj4gKyAgICB2YWwgPSB2bV9kZWZp
bmVkKGVjLCBHRVRfQ0ZQKCksIG9wX3R5cGUsIG9iaiwgbmVlZHN0ciwgdik7Cj4gK30KPiArI2xp
bmUgMTUxOSAidm0uaW5jIgo+ICsgICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04o
Vk1fUkVHX0NGUCwgSU5TTl9BVFRSKHJldG4pKTsKPiArICAgIENIRUNLX0NBTkFSWSgpOwo+ICsg
ICAgSU5DX1NQKElOU05fQVRUUihzcF9pbmMpKTsKPiArICAgIFRPUE4oMCkgPSB2YWw7Cj4gKyAg
ICBpZiAobGVhZikgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOwo+ICsgICAgRU5EX0lOU04oZGVm
aW5lZCk7Cj4gKyMgICB1bmRlZiBJTlNOX0FUVFIKPiArIyAgIHVuZGVmIE5BTUVfT0ZfQ1VSUkVO
VF9JTlNOCj4gK30KPiArCj4gKy8qIGluc24gY2hlY2ttYXRjaChmbGFnKSh0YXJnZXQsIHBhdHRl
cm4pKHJlc3VsdCkgKi8KPiArSU5TTl9FTlRSWShjaGVja21hdGNoKQo+ICt7Cj4gKyMgICBkZWZp
bmUgTkFNRV9PRl9DVVJSRU5UX0lOU04gY2hlY2ttYXRjaAo+ICsjICAgZGVmaW5lIElOU05fQVRU
Uih4KSBhdHRyXyAjIyB4ICMjIF9jaGVja21hdGNoKGZsYWcpCj4gKyAgICBib29sIGxlYWY7Cj4g
KyAgICBNQVlCRV9VTlVTRUQoVkFMVUUgKikgY2FuYXJ5Owo+ICsgICAgTUFZQkVfVU5VU0VEKFZB
TFVFKSBwYXR0ZXJuLCByZXN1bHQsIHRhcmdldDsKPiArICAgIE1BWUJFX1VOVVNFRChyYl9udW1f
dCkgZmxhZzsKPiArCj4gKyAgICBTVEFSVF9PRl9PUklHSU5BTF9JTlNOKGNoZWNrbWF0Y2gpOwo+
ICsgICAgZmxhZyA9IChyYl9udW1fdClHRVRfT1BFUkFORCgxKTsKPiArICAgIHRhcmdldCA9IFRP
UE4oMSk7Cj4gKyAgICBwYXR0ZXJuID0gVE9QTigwKTsKPiArICAgIERFQlVHX0VOVEVSX0lOU04o
SU5TTl9BVFRSKG5hbWUpKTsKPiArICAgIGlmICghIChsZWFmID0gSU5TTl9BVFRSKGxlYWYpKSkg
QUREX1BDKElOU05fQVRUUih3aWR0aCkpOwo+ICsgICAgU0VUVVBfQ0FOQVJZKCk7Cj4gKyAgICBD
T0xMRUNUX1VTQUdFX0lOU04oSU5TTl9BVFRSKGJpbikpOwo+ICsgICAgQ09MTEVDVF9VU0FHRV9P
UEVSQU5EKElOU05fQVRUUihiaW4pLCAwLCBmbGFnKTsKPiArI2xpbmUgNjgxICJpbnNucy5kZWYi
Cj4gK3sKPiArICAgIHJlc3VsdCA9IHZtX2NoZWNrX21hdGNoKGVjLCB0YXJnZXQsIHBhdHRlcm4s
IGZsYWcpOwo+ICt9Cj4gKyNsaW5lIDE1NTMgInZtLmluYyIKPiArICAgIENIRUNLX1ZNX1NUQUNL
X09WRVJGTE9XX0ZPUl9JTlNOKFZNX1JFR19DRlAsIElOU05fQVRUUihyZXRuKSk7Cj4gKyAgICBD
SEVDS19DQU5BUlkoKTsKPiArICAgIElOQ19TUChJTlNOX0FUVFIoc3BfaW5jKSk7Cj4gKyAgICBU
T1BOKDApID0gcmVzdWx0Owo+ICsgICAgaWYgKGxlYWYpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgp
KTsKPiArICAgIEVORF9JTlNOKGNoZWNrbWF0Y2gpOwo+ICsjICAgdW5kZWYgSU5TTl9BVFRSCj4g
KyMgICB1bmRlZiBOQU1FX09GX0NVUlJFTlRfSU5TTgo+ICt9Cj4gKwo+ICsvKiBpbnNuIGNoZWNr
a2V5d29yZChrd19iaXRzX2luZGV4LCBrZXl3b3JkX2luZGV4KSgpKHJldCkgKi8KPiArSU5TTl9F
TlRSWShjaGVja2tleXdvcmQpCj4gK3sKPiArIyAgIGRlZmluZSBOQU1FX09GX0NVUlJFTlRfSU5T
TiBjaGVja2tleXdvcmQKPiArIyAgIGRlZmluZSBJTlNOX0FUVFIoeCkgYXR0cl8gIyMgeCAjIyBf
Y2hlY2trZXl3b3JkKGt3X2JpdHNfaW5kZXgsIGtleXdvcmRfaW5kZXgpCj4gKyAgICBib29sIGxl
YWY7Cj4gKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUgKikgY2FuYXJ5Owo+ICsgICAgTUFZQkVfVU5V
U0VEKFZBTFVFKSByZXQ7Cj4gKyAgICBNQVlCRV9VTlVTRUQobGluZGV4X3QpIGtleXdvcmRfaW5k
ZXgsIGt3X2JpdHNfaW5kZXg7Cj4gKwo+ICsgICAgU1RBUlRfT0ZfT1JJR0lOQUxfSU5TTihjaGVj
a2tleXdvcmQpOwo+ICsgICAga3dfYml0c19pbmRleCA9IChsaW5kZXhfdClHRVRfT1BFUkFORCgx
KTsKPiArICAgIGtleXdvcmRfaW5kZXggPSAobGluZGV4X3QpR0VUX09QRVJBTkQoMik7Cj4gKyAg
ICBERUJVR19FTlRFUl9JTlNOKElOU05fQVRUUihuYW1lKSk7Cj4gKyAgICBpZiAoISAobGVhZiA9
IElOU05fQVRUUihsZWFmKSkpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKPiArICAgIFNFVFVQ
X0NBTkFSWSgpOwo+ICsgICAgQ09MTEVDVF9VU0FHRV9JTlNOKElOU05fQVRUUihiaW4pKTsKPiAr
ICAgIENPTExFQ1RfVVNBR0VfT1BFUkFORChJTlNOX0FUVFIoYmluKSwgMCwga3dfYml0c19pbmRl
eCk7Cj4gKyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDEsIGtleXdv
cmRfaW5kZXgpOwo+ICsjbGluZSA2OTEgImluc25zLmRlZiIKPiArewo+ICsgICAgcmV0ID0gdm1f
Y2hlY2tfa2V5d29yZChrd19iaXRzX2luZGV4LCBrZXl3b3JkX2luZGV4LCBHRVRfRVAoKSk7Cj4g
K30KPiArI2xpbmUgMTU4NyAidm0uaW5jIgo+ICsgICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZFUkZMT1df
Rk9SX0lOU04oVk1fUkVHX0NGUCwgSU5TTl9BVFRSKHJldG4pKTsKPiArICAgIENIRUNLX0NBTkFS
WSgpOwo+ICsgICAgSU5DX1NQKElOU05fQVRUUihzcF9pbmMpKTsKPiArICAgIFRPUE4oMCkgPSBy
ZXQ7Cj4gKyAgICBpZiAobGVhZikgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOwo+ICsgICAgRU5E
X0lOU04oY2hlY2trZXl3b3JkKTsKPiArIyAgIHVuZGVmIElOU05fQVRUUgo+ICsjICAgdW5kZWYg
TkFNRV9PRl9DVVJSRU5UX0lOU04KPiArfQo+ICsKPiArLyogaW5zbiBjaGVja3R5cGUodHlwZSko
dmFsKShyZXQpICovCj4gK0lOU05fRU5UUlkoY2hlY2t0eXBlKQo+ICt7Cj4gKyMgICBkZWZpbmUg
TkFNRV9PRl9DVVJSRU5UX0lOU04gY2hlY2t0eXBlCj4gKyMgICBkZWZpbmUgSU5TTl9BVFRSKHgp
IGF0dHJfICMjIHggIyMgX2NoZWNrdHlwZSh0eXBlKQo+ICsgICAgYm9vbCBsZWFmOwo+ICsgICAg
TUFZQkVfVU5VU0VEKFZBTFVFICopIGNhbmFyeTsKPiArICAgIE1BWUJFX1VOVVNFRChWQUxVRSkg
cmV0LCB2YWw7Cj4gKyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QpIHR5cGU7Cj4gKwo+ICsgICAg
U1RBUlRfT0ZfT1JJR0lOQUxfSU5TTihjaGVja3R5cGUpOwo+ICsgICAgdHlwZSA9IChyYl9udW1f
dClHRVRfT1BFUkFORCgxKTsKPiArICAgIHZhbCA9IFRPUE4oMCk7Cj4gKyAgICBERUJVR19FTlRF
Ul9JTlNOKElOU05fQVRUUihuYW1lKSk7Cj4gKyAgICBpZiAoISAobGVhZiA9IElOU05fQVRUUihs
ZWFmKSkpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKPiArICAgIFNFVFVQX0NBTkFSWSgpOwo+
ICsgICAgQ09MTEVDVF9VU0FHRV9JTlNOKElOU05fQVRUUihiaW4pKTsKPiArICAgIENPTExFQ1Rf
VVNBR0VfT1BFUkFORChJTlNOX0FUVFIoYmluKSwgMCwgdHlwZSk7Cj4gKyNsaW5lIDcwMSAiaW5z
bnMuZGVmIgo+ICt7Cj4gKyAgICByZXQgPSAoVFlQRSh2YWwpID09IChpbnQpdHlwZSkgPyBRdHJ1
ZSA6IFFmYWxzZTsKPiArfQo+ICsjbGluZSAxNjIwICJ2bS5pbmMiCj4gKyAgICBDSEVDS19WTV9T
VEFDS19PVkVSRkxPV19GT1JfSU5TTihWTV9SRUdfQ0ZQLCBJTlNOX0FUVFIocmV0bikpOwo+ICsg
ICAgQ0hFQ0tfQ0FOQVJZKCk7Cj4gKyAgICBJTkNfU1AoSU5TTl9BVFRSKHNwX2luYykpOwo+ICsg
ICAgVE9QTigwKSA9IHJldDsKPiArICAgIGlmIChsZWFmKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRo
KSk7Cj4gKyAgICBFTkRfSU5TTihjaGVja3R5cGUpOwo+ICsjICAgdW5kZWYgSU5TTl9BVFRSCj4g
KyMgICB1bmRlZiBOQU1FX09GX0NVUlJFTlRfSU5TTgo+ICt9Cj4gKwo+ICsvKiBpbnNuIGRlZmlu
ZWNsYXNzKGlkLCBjbGFzc19pc2VxLCBmbGFncykoY2Jhc2UsIHN1cGVyKSh2YWwpICovCj4gK0lO
U05fRU5UUlkoZGVmaW5lY2xhc3MpCj4gK3sKPiArIyAgIGRlZmluZSBOQU1FX09GX0NVUlJFTlRf
SU5TTiBkZWZpbmVjbGFzcwo+ICsjICAgZGVmaW5lIElOU05fQVRUUih4KSBhdHRyXyAjIyB4ICMj
IF9kZWZpbmVjbGFzcyhpZCwgY2xhc3NfaXNlcSwgZmxhZ3MpCj4gKyAgICBib29sIGxlYWY7Cj4g
KyAgICBNQVlCRV9VTlVTRUQoVkFMVUUgKikgY2FuYXJ5Owo+ICsgICAgTUFZQkVfVU5VU0VEKElE
KSBpZDsKPiArICAgIE1BWUJFX1VOVVNFRChJU0VRKSBjbGFzc19pc2VxOwo+ICsgICAgTUFZQkVf
VU5VU0VEKFZBTFVFKSBjYmFzZSwgc3VwZXIsIHZhbDsKPiArICAgIE1BWUJFX1VOVVNFRChyYl9u
dW1fdCkgZmxhZ3M7Cj4gKwo+ICsgICAgU1RBUlRfT0ZfT1JJR0lOQUxfSU5TTihkZWZpbmVjbGFz
cyk7Cj4gKyAgICBpZCA9IChJRClHRVRfT1BFUkFORCgxKTsKPiArICAgIGNsYXNzX2lzZXEgPSAo
SVNFUSlHRVRfT1BFUkFORCgyKTsKPiArICAgIGZsYWdzID0gKHJiX251bV90KUdFVF9PUEVSQU5E
KDMpOwo+ICsgICAgY2Jhc2UgPSBUT1BOKDEpOwo+ICsgICAgc3VwZXIgPSBUT1BOKDApOwo+ICsg
ICAgREVCVUdfRU5URVJfSU5TTihJTlNOX0FUVFIobmFtZSkpOwo+ICsgICAgaWYgKCEgKGxlYWYg
PSBJTlNOX0FUVFIobGVhZikpKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7Cj4gKyAgICBQT1BO
KElOU05fQVRUUihwb3BuKSk7Cj4gKyAgICBTRVRVUF9DQU5BUlkoKTsKPiArICAgIENPTExFQ1Rf
VVNBR0VfSU5TTihJTlNOX0FUVFIoYmluKSk7Cj4gKyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQo
SU5TTl9BVFRSKGJpbiksIDAsIGlkKTsKPiArICAgIENPTExFQ1RfVVNBR0VfT1BFUkFORChJTlNO
X0FUVFIoYmluKSwgMSwgY2xhc3NfaXNlcSk7Cj4gKyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQo
SU5TTl9BVFRSKGJpbiksIDIsIGZsYWdzKTsKPiArI2xpbmUgNzE3ICJpbnNucy5kZWYiCj4gK3sK
PiArICAgIFZBTFVFIGtsYXNzID0gdm1fZmluZF9vcl9jcmVhdGVfY2xhc3NfYnlfaWQoaWQsIGZs
YWdzLCBjYmFzZSwgc3VwZXIpOwo+ICsKPiArICAgIHJiX2lzZXFfY2hlY2soY2xhc3NfaXNlcSk7
Cj4gKwo+ICsgICAgLyogZW50ZXIgc2NvcGUgKi8KPiArICAgIHZtX3B1c2hfZnJhbWUoZWMsIGNs
YXNzX2lzZXEsIFZNX0ZSQU1FX01BR0lDX0NMQVNTIHwgVk1fRU5WX0ZMQUdfTE9DQUwsIGtsYXNz
LAo+ICsgICAgICAgICAgICAgICAgIEdFVF9CTE9DS19IQU5ETEVSKCksCj4gKyAgICAgICAgICAg
ICAgICAgKFZBTFVFKXZtX2NyZWZfcHVzaChlYywga2xhc3MsIE5VTEwsIEZBTFNFKSwKPiArICAg
ICAgICAgICAgICAgICBjbGFzc19pc2VxLT5ib2R5LT5pc2VxX2VuY29kZWQsIEdFVF9TUCgpLAo+
ICsgICAgICAgICAgICAgICAgIGNsYXNzX2lzZXEtPmJvZHktPmxvY2FsX3RhYmxlX3NpemUsCj4g
KyAgICAgICAgICAgICAgICAgY2xhc3NfaXNlcS0+Ym9keS0+c3RhY2tfbWF4KTsKPiArICAgIFJF
U1RPUkVfUkVHUygpOwo+ICsgICAgTkVYVF9JTlNOKCk7Cj4gK30KPiArI2xpbmUgMTY3MyAidm0u
aW5jIgo+ICsgICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04oVk1fUkVHX0NGUCwg
SU5TTl9BVFRSKHJldG4pKTsKPiArICAgIENIRUNLX0NBTkFSWSgpOwo+ICsgICAgUFVTSCh2YWwp
Owo+ICsgICAgaWYgKGxlYWYpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKPiArICAgIEVORF9J
TlNOKGRlZmluZWNsYXNzKTsKPiArIyAgIHVuZGVmIElOU05fQVRUUgo+ICsjICAgdW5kZWYgTkFN
RV9PRl9DVVJSRU5UX0lOU04KPiArfQo+ICsKPiArLyogaW5zbiBzZW5kKGNpLCBjYywgYmxvY2tp
c2VxKSguLi4pKHZhbCkgKi8KPiArSU5TTl9FTlRSWShzZW5kKQo+ICt7Cj4gKyMgICBkZWZpbmUg
TkFNRV9PRl9DVVJSRU5UX0lOU04gc2VuZAo+ICsjICAgZGVmaW5lIElOU05fQVRUUih4KSBhdHRy
XyAjIyB4ICMjIF9zZW5kKGNpLCBjYywgYmxvY2tpc2VxKQo+ICsgICAgYm9vbCBsZWFmOwo+ICsg
ICAgTUFZQkVfVU5VU0VEKFZBTFVFICopIGNhbmFyeTsKPiArICAgIE1BWUJFX1VOVVNFRChDQUxM
X0NBQ0hFKSBjYzsKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8pIGNpOwo+ICsgICAgTUFZ
QkVfVU5VU0VEKElTRVEpIGJsb2NraXNlcTsKPiArICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgdmFs
Owo+ICsKPiArICAgIFNUQVJUX09GX09SSUdJTkFMX0lOU04oc2VuZCk7Cj4gKyAgICBjaSA9IChD
QUxMX0lORk8pR0VUX09QRVJBTkQoMSk7Cj4gKyAgICBjYyA9IChDQUxMX0NBQ0hFKUdFVF9PUEVS
QU5EKDIpOwo+ICsgICAgYmxvY2tpc2VxID0gKElTRVEpR0VUX09QRVJBTkQoMyk7Cj4gKyAgICBE
RUJVR19FTlRFUl9JTlNOKElOU05fQVRUUihuYW1lKSk7Cj4gKyAgICBpZiAoISAobGVhZiA9IElO
U05fQVRUUihsZWFmKSkpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKPiArICAgIFBPUE4oSU5T
Tl9BVFRSKHBvcG4pKTsKPiArICAgIFNFVFVQX0NBTkFSWSgpOwo+ICsgICAgQ09MTEVDVF9VU0FH
RV9JTlNOKElOU05fQVRUUihiaW4pKTsKPiArICAgIENPTExFQ1RfVVNBR0VfT1BFUkFORChJTlNO
X0FUVFIoYmluKSwgMCwgY2kpOwo+ICsgICAgQ09MTEVDVF9VU0FHRV9PUEVSQU5EKElOU05fQVRU
UihiaW4pLCAxLCBjYyk7Cj4gKyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJp
biksIDIsIGJsb2NraXNlcSk7Cj4gKyNsaW5lIDc0NCAiaW5zbnMuZGVmIgo+ICt7Cj4gKyAgICBz
dHJ1Y3QgcmJfY2FsbGluZ19pbmZvIGNhbGxpbmc7Cj4gKwo+ICsgICAgY2FsbGluZy5ibG9ja19o
YW5kbGVyID0gdm1fY2FsbGVyX3NldHVwX2FyZ19ibG9jayhlYywgcmVnX2NmcCwgY2ksIGJsb2Nr
aXNlcSwgRkFMU0UpOwo+ICsgICAgY2FsbGluZy5yZWN2ID0gVE9QTihjYWxsaW5nLmFyZ2MgPSBj
aS0+b3JpZ19hcmdjKTsKPiArICAgIHZtX3NlYXJjaF9tZXRob2QoY2ksIGNjLCBjYWxsaW5nLnJl
Y3YpOwo+ICsgICAgQ0FMTF9NRVRIT0QoJmNhbGxpbmcsIGNpLCBjYyk7Cj4gK30KPiArI2xpbmUg
MTcxNiAidm0uaW5jIgo+ICsgICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04oVk1f
UkVHX0NGUCwgSU5TTl9BVFRSKHJldG4pKTsKPiArICAgIENIRUNLX0NBTkFSWSgpOwo+ICsgICAg
UFVTSCh2YWwpOwo+ICsgICAgaWYgKGxlYWYpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKPiAr
ICAgIEVORF9JTlNOKHNlbmQpOwo+ICsjICAgdW5kZWYgSU5TTl9BVFRSCj4gKyMgICB1bmRlZiBO
QU1FX09GX0NVUlJFTlRfSU5TTgo+ICt9Cj4gKwo+ICsvKiBpbnNuIG9wdF9zZW5kX3dpdGhvdXRf
YmxvY2soY2ksIGNjKSguLi4pKHZhbCkgKi8KPiArSU5TTl9FTlRSWShvcHRfc2VuZF93aXRob3V0
X2Jsb2NrKQo+ICt7Cj4gKyMgICBkZWZpbmUgTkFNRV9PRl9DVVJSRU5UX0lOU04gb3B0X3NlbmRf
d2l0aG91dF9ibG9jawo+ICsjICAgZGVmaW5lIElOU05fQVRUUih4KSBhdHRyXyAjIyB4ICMjIF9v
cHRfc2VuZF93aXRob3V0X2Jsb2NrKGNpLCBjYykKPiArICAgIGJvb2wgbGVhZjsKPiArICAgIE1B
WUJFX1VOVVNFRChWQUxVRSAqKSBjYW5hcnk7Cj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNI
RSkgY2M7Cj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPKSBjaTsKPiArICAgIE1BWUJFX1VO
VVNFRChWQUxVRSkgdmFsOwo+ICsKPiArICAgIFNUQVJUX09GX09SSUdJTkFMX0lOU04ob3B0X3Nl
bmRfd2l0aG91dF9ibG9jayk7Cj4gKyAgICBjaSA9IChDQUxMX0lORk8pR0VUX09QRVJBTkQoMSk7
Cj4gKyAgICBjYyA9IChDQUxMX0NBQ0hFKUdFVF9PUEVSQU5EKDIpOwo+ICsgICAgREVCVUdfRU5U
RVJfSU5TTihJTlNOX0FUVFIobmFtZSkpOwo+ICsgICAgaWYgKCEgKGxlYWYgPSBJTlNOX0FUVFIo
bGVhZikpKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7Cj4gKyAgICBQT1BOKElOU05fQVRUUihw
b3BuKSk7Cj4gKyAgICBTRVRVUF9DQU5BUlkoKTsKPiArICAgIENPTExFQ1RfVVNBR0VfSU5TTihJ
TlNOX0FUVFIoYmluKSk7Cj4gKyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJp
biksIDAsIGNpKTsKPiArICAgIENPTExFQ1RfVVNBR0VfT1BFUkFORChJTlNOX0FUVFIoYmluKSwg
MSwgY2MpOwo+ICsjbGluZSA3NjEgImluc25zLmRlZiIKPiArewo+ICsgICAgc3RydWN0IHJiX2Nh
bGxpbmdfaW5mbyBjYWxsaW5nOwo+ICsgICAgY2FsbGluZy5ibG9ja19oYW5kbGVyID0gVk1fQkxP
Q0tfSEFORExFUl9OT05FOwo+ICsgICAgdm1fc2VhcmNoX21ldGhvZChjaSwgY2MsIGNhbGxpbmcu
cmVjdiA9IFRPUE4oY2FsbGluZy5hcmdjID0gY2ktPm9yaWdfYXJnYykpOwo+ICsgICAgQ0FMTF9N
RVRIT0QoJmNhbGxpbmcsIGNpLCBjYyk7Cj4gK30KPiArI2xpbmUgMTc1NCAidm0uaW5jIgo+ICsg
ICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04oVk1fUkVHX0NGUCwgSU5TTl9BVFRS
KHJldG4pKTsKPiArICAgIENIRUNLX0NBTkFSWSgpOwo+ICsgICAgUFVTSCh2YWwpOwo+ICsgICAg
aWYgKGxlYWYpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKPiArICAgIEVORF9JTlNOKG9wdF9z
ZW5kX3dpdGhvdXRfYmxvY2spOwo+ICsjICAgdW5kZWYgSU5TTl9BVFRSCj4gKyMgICB1bmRlZiBO
QU1FX09GX0NVUlJFTlRfSU5TTgo+ICt9Cj4gKwo+ICsvKiBpbnNuIG9wdF9zdHJfZnJlZXplKHN0
ciwgY2ksIGNjKSgpKHZhbCkgKi8KPiArSU5TTl9FTlRSWShvcHRfc3RyX2ZyZWV6ZSkKPiArewo+
ICsjICAgZGVmaW5lIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOIG9wdF9zdHJfZnJlZXplCj4gKyMgICBk
ZWZpbmUgSU5TTl9BVFRSKHgpIGF0dHJfICMjIHggIyMgX29wdF9zdHJfZnJlZXplKHN0ciwgY2ks
IGNjKQo+ICsgICAgYm9vbCBsZWFmOwo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVFICopIGNhbmFy
eTsKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFKSBjYzsKPiArICAgIE1BWUJFX1VOVVNF
RChDQUxMX0lORk8pIGNpOwo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSBzdHIsIHZhbDsKPiAr
Cj4gKyAgICBTVEFSVF9PRl9PUklHSU5BTF9JTlNOKG9wdF9zdHJfZnJlZXplKTsKPiArICAgIHN0
ciA9IChWQUxVRSlHRVRfT1BFUkFORCgxKTsKPiArICAgIGNpID0gKENBTExfSU5GTylHRVRfT1BF
UkFORCgyKTsKPiArICAgIGNjID0gKENBTExfQ0FDSEUpR0VUX09QRVJBTkQoMyk7Cj4gKyAgICBE
RUJVR19FTlRFUl9JTlNOKElOU05fQVRUUihuYW1lKSk7Cj4gKyAgICBpZiAoISAobGVhZiA9IElO
U05fQVRUUihsZWFmKSkpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKPiArICAgIFNFVFVQX0NB
TkFSWSgpOwo+ICsgICAgQ09MTEVDVF9VU0FHRV9JTlNOKElOU05fQVRUUihiaW4pKTsKPiArICAg
IENPTExFQ1RfVVNBR0VfT1BFUkFORChJTlNOX0FUVFIoYmluKSwgMCwgc3RyKTsKPiArICAgIENP
TExFQ1RfVVNBR0VfT1BFUkFORChJTlNOX0FUVFIoYmluKSwgMSwgY2kpOwo+ICsgICAgQ09MTEVD
VF9VU0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAyLCBjYyk7Cj4gKyNsaW5lIDc3MyAiaW5z
bnMuZGVmIgo+ICt7Cj4gKyAgICB2YWwgPSB2bV9vcHRfc3RyX2ZyZWV6ZShzdHIsIEJPUF9GUkVF
WkUsIGlkRnJlZXplKTsKPiArCj4gKyAgICBpZiAodmFsID09IFF1bmRlZikgewo+ICsgICAgICAg
IFBVU0gocmJfc3RyX3Jlc3VycmVjdChzdHIpKTsKPiArICAgICAgICBDQUxMX1NJTVBMRV9NRVRI
T0QoKTsKPiArICAgIH0KPiArfQo+ICsjbGluZSAxNzk1ICJ2bS5pbmMiCj4gKyAgICBDSEVDS19W
TV9TVEFDS19PVkVSRkxPV19GT1JfSU5TTihWTV9SRUdfQ0ZQLCBJTlNOX0FUVFIocmV0bikpOwo+
ICsgICAgQ0hFQ0tfQ0FOQVJZKCk7Cj4gKyAgICBJTkNfU1AoSU5TTl9BVFRSKHNwX2luYykpOwo+
ICsgICAgVE9QTigwKSA9IHZhbDsKPiArICAgIGlmIChsZWFmKSBBRERfUEMoSU5TTl9BVFRSKHdp
ZHRoKSk7Cj4gKyAgICBFTkRfSU5TTihvcHRfc3RyX2ZyZWV6ZSk7Cj4gKyMgICB1bmRlZiBJTlNO
X0FUVFIKPiArIyAgIHVuZGVmIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOCj4gK30KPiArCj4gKy8qIGlu
c24gb3B0X3N0cl91bWludXMoc3RyLCBjaSwgY2MpKCkodmFsKSAqLwo+ICtJTlNOX0VOVFJZKG9w
dF9zdHJfdW1pbnVzKQo+ICt7Cj4gKyMgICBkZWZpbmUgTkFNRV9PRl9DVVJSRU5UX0lOU04gb3B0
X3N0cl91bWludXMKPiArIyAgIGRlZmluZSBJTlNOX0FUVFIoeCkgYXR0cl8gIyMgeCAjIyBfb3B0
X3N0cl91bWludXMoc3RyLCBjaSwgY2MpCj4gKyAgICBib29sIGxlYWY7Cj4gKyAgICBNQVlCRV9V
TlVTRUQoVkFMVUUgKikgY2FuYXJ5Owo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUpIGNj
Owo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTykgY2k7Cj4gKyAgICBNQVlCRV9VTlVTRUQo
VkFMVUUpIHN0ciwgdmFsOwo+ICsKPiArICAgIFNUQVJUX09GX09SSUdJTkFMX0lOU04ob3B0X3N0
cl91bWludXMpOwo+ICsgICAgc3RyID0gKFZBTFVFKUdFVF9PUEVSQU5EKDEpOwo+ICsgICAgY2kg
PSAoQ0FMTF9JTkZPKUdFVF9PUEVSQU5EKDIpOwo+ICsgICAgY2MgPSAoQ0FMTF9DQUNIRSlHRVRf
T1BFUkFORCgzKTsKPiArICAgIERFQlVHX0VOVEVSX0lOU04oSU5TTl9BVFRSKG5hbWUpKTsKPiAr
ICAgIGlmICghIChsZWFmID0gSU5TTl9BVFRSKGxlYWYpKSkgQUREX1BDKElOU05fQVRUUih3aWR0
aCkpOwo+ICsgICAgU0VUVVBfQ0FOQVJZKCk7Cj4gKyAgICBDT0xMRUNUX1VTQUdFX0lOU04oSU5T
Tl9BVFRSKGJpbikpOwo+ICsgICAgQ09MTEVDVF9VU0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4p
LCAwLCBzdHIpOwo+ICsgICAgQ09MTEVDVF9VU0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAx
LCBjaSk7Cj4gKyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDIsIGNj
KTsKPiArI2xpbmUgNzg3ICJpbnNucy5kZWYiCj4gK3sKPiArICAgIHZhbCA9IHZtX29wdF9zdHJf
ZnJlZXplKHN0ciwgQk9QX1VNSU5VUywgaWRVTWludXMpOwo+ICsKPiArICAgIGlmICh2YWwgPT0g
UXVuZGVmKSB7Cj4gKyAgICAgICAgUFVTSChyYl9zdHJfcmVzdXJyZWN0KHN0cikpOwo+ICsgICAg
ICAgIENBTExfU0lNUExFX01FVEhPRCgpOwo+ICsgICAgfQo+ICt9Cj4gKyNsaW5lIDE4MzcgInZt
LmluYyIKPiArICAgIENIRUNLX1ZNX1NUQUNLX09WRVJGTE9XX0ZPUl9JTlNOKFZNX1JFR19DRlAs
IElOU05fQVRUUihyZXRuKSk7Cj4gKyAgICBDSEVDS19DQU5BUlkoKTsKPiArICAgIElOQ19TUChJ
TlNOX0FUVFIoc3BfaW5jKSk7Cj4gKyAgICBUT1BOKDApID0gdmFsOwo+ICsgICAgaWYgKGxlYWYp
IEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKPiArICAgIEVORF9JTlNOKG9wdF9zdHJfdW1pbnVz
KTsKPiArIyAgIHVuZGVmIElOU05fQVRUUgo+ICsjICAgdW5kZWYgTkFNRV9PRl9DVVJSRU5UX0lO
U04KPiArfQo+ICsKPiArLyogaW5zbiBvcHRfbmV3YXJyYXlfbWF4KG51bSkoLi4uKSh2YWwpICov
Cj4gK0lOU05fRU5UUlkob3B0X25ld2FycmF5X21heCkKPiArewo+ICsjICAgZGVmaW5lIE5BTUVf
T0ZfQ1VSUkVOVF9JTlNOIG9wdF9uZXdhcnJheV9tYXgKPiArIyAgIGRlZmluZSBJTlNOX0FUVFIo
eCkgYXR0cl8gIyMgeCAjIyBfb3B0X25ld2FycmF5X21heChudW0pCj4gKyAgICBib29sIGxlYWY7
Cj4gKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUgKikgY2FuYXJ5Owo+ICsgICAgTUFZQkVfVU5VU0VE
KFZBTFVFKSB2YWw7Cj4gKyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QpIG51bTsKPiArCj4gKyAg
ICBTVEFSVF9PRl9PUklHSU5BTF9JTlNOKG9wdF9uZXdhcnJheV9tYXgpOwo+ICsgICAgbnVtID0g
KHJiX251bV90KUdFVF9PUEVSQU5EKDEpOwo+ICsgICAgREVCVUdfRU5URVJfSU5TTihJTlNOX0FU
VFIobmFtZSkpOwo+ICsgICAgaWYgKCEgKGxlYWYgPSBJTlNOX0FUVFIobGVhZikpKSBBRERfUEMo
SU5TTl9BVFRSKHdpZHRoKSk7Cj4gKyAgICBTRVRVUF9DQU5BUlkoKTsKPiArICAgIENPTExFQ1Rf
VVNBR0VfSU5TTihJTlNOX0FUVFIoYmluKSk7Cj4gKyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQo
SU5TTl9BVFRSKGJpbiksIDAsIG51bSk7Cj4gKyNsaW5lIDgwNyAiaW5zbnMuZGVmIgo+ICt7Cj4g
KyAgICB2YWwgPSB2bV9vcHRfbmV3YXJyYXlfbWF4KG51bSwgU1RBQ0tfQUREUl9GUk9NX1RPUChu
dW0pKTsKPiArfQo+ICsjbGluZSAxODY5ICJ2bS5pbmMiCj4gKyAgICBDSEVDS19WTV9TVEFDS19P
VkVSRkxPV19GT1JfSU5TTihWTV9SRUdfQ0ZQLCBJTlNOX0FUVFIocmV0bikpOwo+ICsgICAgQ0hF
Q0tfQ0FOQVJZKCk7Cj4gKyAgICBJTkNfU1AoSU5TTl9BVFRSKHNwX2luYykpOwo+ICsgICAgVE9Q
TigwKSA9IHZhbDsKPiArICAgIGlmIChsZWFmKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7Cj4g
KyAgICBFTkRfSU5TTihvcHRfbmV3YXJyYXlfbWF4KTsKPiArIyAgIHVuZGVmIElOU05fQVRUUgo+
ICsjICAgdW5kZWYgTkFNRV9PRl9DVVJSRU5UX0lOU04KPiArfQo+ICsKPiArLyogaW5zbiBvcHRf
bmV3YXJyYXlfbWluKG51bSkoLi4uKSh2YWwpICovCj4gK0lOU05fRU5UUlkob3B0X25ld2FycmF5
X21pbikKPiArewo+ICsjICAgZGVmaW5lIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOIG9wdF9uZXdhcnJh
eV9taW4KPiArIyAgIGRlZmluZSBJTlNOX0FUVFIoeCkgYXR0cl8gIyMgeCAjIyBfb3B0X25ld2Fy
cmF5X21pbihudW0pCj4gKyAgICBib29sIGxlYWY7Cj4gKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUg
KikgY2FuYXJ5Owo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSB2YWw7Cj4gKyAgICBNQVlCRV9V
TlVTRUQocmJfbnVtX3QpIG51bTsKPiArCj4gKyAgICBTVEFSVF9PRl9PUklHSU5BTF9JTlNOKG9w
dF9uZXdhcnJheV9taW4pOwo+ICsgICAgbnVtID0gKHJiX251bV90KUdFVF9PUEVSQU5EKDEpOwo+
ICsgICAgREVCVUdfRU5URVJfSU5TTihJTlNOX0FUVFIobmFtZSkpOwo+ICsgICAgaWYgKCEgKGxl
YWYgPSBJTlNOX0FUVFIobGVhZikpKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7Cj4gKyAgICBT
RVRVUF9DQU5BUlkoKTsKPiArICAgIENPTExFQ1RfVVNBR0VfSU5TTihJTlNOX0FUVFIoYmluKSk7
Cj4gKyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDAsIG51bSk7Cj4g
KyNsaW5lIDgxOSAiaW5zbnMuZGVmIgo+ICt7Cj4gKyAgICB2YWwgPSB2bV9vcHRfbmV3YXJyYXlf
bWluKG51bSwgU1RBQ0tfQUREUl9GUk9NX1RPUChudW0pKTsKPiArfQo+ICsjbGluZSAxOTAxICJ2
bS5pbmMiCj4gKyAgICBDSEVDS19WTV9TVEFDS19PVkVSRkxPV19GT1JfSU5TTihWTV9SRUdfQ0ZQ
LCBJTlNOX0FUVFIocmV0bikpOwo+ICsgICAgQ0hFQ0tfQ0FOQVJZKCk7Cj4gKyAgICBJTkNfU1Ao
SU5TTl9BVFRSKHNwX2luYykpOwo+ICsgICAgVE9QTigwKSA9IHZhbDsKPiArICAgIGlmIChsZWFm
KSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7Cj4gKyAgICBFTkRfSU5TTihvcHRfbmV3YXJyYXlf
bWluKTsKPiArIyAgIHVuZGVmIElOU05fQVRUUgo+ICsjICAgdW5kZWYgTkFNRV9PRl9DVVJSRU5U
X0lOU04KPiArfQo+ICsKPiArLyogaW5zbiBpbnZva2VzdXBlcihjaSwgY2MsIGJsb2NraXNlcSko
Li4uKSh2YWwpICovCj4gK0lOU05fRU5UUlkoaW52b2tlc3VwZXIpCj4gK3sKPiArIyAgIGRlZmlu
ZSBOQU1FX09GX0NVUlJFTlRfSU5TTiBpbnZva2VzdXBlcgo+ICsjICAgZGVmaW5lIElOU05fQVRU
Uih4KSBhdHRyXyAjIyB4ICMjIF9pbnZva2VzdXBlcihjaSwgY2MsIGJsb2NraXNlcSkKPiArICAg
IGJvb2wgbGVhZjsKPiArICAgIE1BWUJFX1VOVVNFRChWQUxVRSAqKSBjYW5hcnk7Cj4gKyAgICBN
QVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSkgY2M7Cj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZP
KSBjaTsKPiArICAgIE1BWUJFX1VOVVNFRChJU0VRKSBibG9ja2lzZXE7Cj4gKyAgICBNQVlCRV9V
TlVTRUQoVkFMVUUpIHZhbDsKPiArCj4gKyAgICBTVEFSVF9PRl9PUklHSU5BTF9JTlNOKGludm9r
ZXN1cGVyKTsKPiArICAgIGNpID0gKENBTExfSU5GTylHRVRfT1BFUkFORCgxKTsKPiArICAgIGNj
ID0gKENBTExfQ0FDSEUpR0VUX09QRVJBTkQoMik7Cj4gKyAgICBibG9ja2lzZXEgPSAoSVNFUSlH
RVRfT1BFUkFORCgzKTsKPiArICAgIERFQlVHX0VOVEVSX0lOU04oSU5TTl9BVFRSKG5hbWUpKTsK
PiArICAgIGlmICghIChsZWFmID0gSU5TTl9BVFRSKGxlYWYpKSkgQUREX1BDKElOU05fQVRUUih3
aWR0aCkpOwo+ICsgICAgUE9QTihJTlNOX0FUVFIocG9wbikpOwo+ICsgICAgU0VUVVBfQ0FOQVJZ
KCk7Cj4gKyAgICBDT0xMRUNUX1VTQUdFX0lOU04oSU5TTl9BVFRSKGJpbikpOwo+ICsgICAgQ09M
TEVDVF9VU0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAwLCBjaSk7Cj4gKyAgICBDT0xMRUNU
X1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDEsIGNjKTsKPiArICAgIENPTExFQ1RfVVNB
R0VfT1BFUkFORChJTlNOX0FUVFIoYmluKSwgMiwgYmxvY2tpc2VxKTsKPiArI2xpbmUgODMwICJp
bnNucy5kZWYiCj4gK3sKPiArICAgIHN0cnVjdCByYl9jYWxsaW5nX2luZm8gY2FsbGluZzsKPiAr
Cj4gKyAgICBjYWxsaW5nLmJsb2NrX2hhbmRsZXIgPSB2bV9jYWxsZXJfc2V0dXBfYXJnX2Jsb2Nr
KGVjLCByZWdfY2ZwLCBjaSwgYmxvY2tpc2VxLCBUUlVFKTsKPiArICAgIGNhbGxpbmcucmVjdiA9
IFRPUE4oY2FsbGluZy5hcmdjID0gY2ktPm9yaWdfYXJnYyk7Cj4gKyAgICB2bV9zZWFyY2hfc3Vw
ZXJfbWV0aG9kKGVjLCBHRVRfQ0ZQKCksICZjYWxsaW5nLCBjaSwgY2MpOwo+ICsgICAgQ0FMTF9N
RVRIT0QoJmNhbGxpbmcsIGNpLCBjYyk7Cj4gK30KPiArI2xpbmUgMTk0NSAidm0uaW5jIgo+ICsg
ICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04oVk1fUkVHX0NGUCwgSU5TTl9BVFRS
KHJldG4pKTsKPiArICAgIENIRUNLX0NBTkFSWSgpOwo+ICsgICAgUFVTSCh2YWwpOwo+ICsgICAg
aWYgKGxlYWYpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKPiArICAgIEVORF9JTlNOKGludm9r
ZXN1cGVyKTsKPiArIyAgIHVuZGVmIElOU05fQVRUUgo+ICsjICAgdW5kZWYgTkFNRV9PRl9DVVJS
RU5UX0lOU04KPiArfQo+ICsKPiArLyogaW5zbiBpbnZva2VibG9jayhjaSkoLi4uKSh2YWwpICov
Cj4gK0lOU05fRU5UUlkoaW52b2tlYmxvY2spCj4gK3sKPiArIyAgIGRlZmluZSBOQU1FX09GX0NV
UlJFTlRfSU5TTiBpbnZva2VibG9jawo+ICsjICAgZGVmaW5lIElOU05fQVRUUih4KSBhdHRyXyAj
IyB4ICMjIF9pbnZva2VibG9jayhjaSkKPiArICAgIGJvb2wgbGVhZjsKPiArICAgIE1BWUJFX1VO
VVNFRChWQUxVRSAqKSBjYW5hcnk7Cj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPKSBjaTsK
PiArICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgdmFsOwo+ICsKPiArICAgIFNUQVJUX09GX09SSUdJ
TkFMX0lOU04oaW52b2tlYmxvY2spOwo+ICsgICAgY2kgPSAoQ0FMTF9JTkZPKUdFVF9PUEVSQU5E
KDEpOwo+ICsgICAgREVCVUdfRU5URVJfSU5TTihJTlNOX0FUVFIobmFtZSkpOwo+ICsgICAgaWYg
KCEgKGxlYWYgPSBJTlNOX0FUVFIobGVhZikpKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7Cj4g
KyAgICBQT1BOKElOU05fQVRUUihwb3BuKSk7Cj4gKyAgICBTRVRVUF9DQU5BUlkoKTsKPiArICAg
IENPTExFQ1RfVVNBR0VfSU5TTihJTlNOX0FUVFIoYmluKSk7Cj4gKyAgICBDT0xMRUNUX1VTQUdF
X09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDAsIGNpKTsKPiArI2xpbmUgODQ3ICJpbnNucy5kZWYi
Cj4gK3sKPiArICAgIHN0cnVjdCByYl9jYWxsaW5nX2luZm8gY2FsbGluZzsKPiArICAgIFZBTFVF
IGJsb2NrX2hhbmRsZXI7Cj4gKwo+ICsgICAgY2FsbGluZy5hcmdjID0gY2ktPm9yaWdfYXJnYzsK
PiArICAgIGNhbGxpbmcuYmxvY2tfaGFuZGxlciA9IFZNX0JMT0NLX0hBTkRMRVJfTk9ORTsKPiAr
ICAgIGNhbGxpbmcucmVjdiA9IFF1bmRlZjsgLyogc2hvdWxkIG5vdCBiZSB1c2VkICovCj4gKwo+
ICsgICAgYmxvY2tfaGFuZGxlciA9IFZNX0NGX0JMT0NLX0hBTkRMRVIoR0VUX0NGUCgpKTsKPiAr
ICAgIGlmIChibG9ja19oYW5kbGVyID09IFZNX0JMT0NLX0hBTkRMRVJfTk9ORSkgewo+ICsgICAg
ICAgcmJfdm1fbG9jYWxqdW1wX2Vycm9yKCJubyBibG9jayBnaXZlbiAoeWllbGQpIiwgUW5pbCwg
MCk7Cj4gKyAgICB9Cj4gKwo+ICsgICAgdmFsID0gdm1faW52b2tlX2Jsb2NrKGVjLCBHRVRfQ0ZQ
KCksICZjYWxsaW5nLCBjaSwgYmxvY2tfaGFuZGxlcik7Cj4gKyAgICBpZiAodmFsID09IFF1bmRl
Zikgewo+ICsgICAgICAgIEVYRUNfRUNfQ0ZQKHZhbCk7Cj4gKyAgICB9Cj4gK30KPiArI2xpbmUg
MTk5MiAidm0uaW5jIgo+ICsgICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04oVk1f
UkVHX0NGUCwgSU5TTl9BVFRSKHJldG4pKTsKPiArICAgIENIRUNLX0NBTkFSWSgpOwo+ICsgICAg
UFVTSCh2YWwpOwo+ICsgICAgaWYgKGxlYWYpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKPiAr
ICAgIEVORF9JTlNOKGludm9rZWJsb2NrKTsKPiArIyAgIHVuZGVmIElOU05fQVRUUgo+ICsjICAg
dW5kZWYgTkFNRV9PRl9DVVJSRU5UX0lOU04KPiArfQo+ICsKPiArLyogaW5zbiBsZWF2ZSgpKHZh
bCkodmFsKSAqLwo+ICtJTlNOX0VOVFJZKGxlYXZlKQo+ICt7Cj4gKyMgICBkZWZpbmUgTkFNRV9P
Rl9DVVJSRU5UX0lOU04gbGVhdmUKPiArIyAgIGRlZmluZSBJTlNOX0FUVFIoeCkgYXR0cl8gIyMg
eCAjIyBfbGVhdmUoKQo+ICsgICAgYm9vbCBsZWFmOwo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVF
ICopIGNhbmFyeTsKPiArICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgdmFsOwo+ICsKPiArICAgIFNU
QVJUX09GX09SSUdJTkFMX0lOU04obGVhdmUpOwo+ICsgICAgdmFsID0gVE9QTigwKTsKPiArICAg
IERFQlVHX0VOVEVSX0lOU04oSU5TTl9BVFRSKG5hbWUpKTsKPiArICAgIGlmICghIChsZWFmID0g
SU5TTl9BVFRSKGxlYWYpKSkgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOwo+ICsgICAgUE9QTihJ
TlNOX0FUVFIocG9wbikpOwo+ICsgICAgU0VUVVBfQ0FOQVJZKCk7Cj4gKyAgICBDT0xMRUNUX1VT
QUdFX0lOU04oSU5TTl9BVFRSKGJpbikpOwo+ICsjbGluZSA4NzcgImluc25zLmRlZiIKPiArewo+
ICsgICAgaWYgKE9QVF9DSEVDS0VEX1JVTikgewo+ICsgICAgICAgY29uc3QgVkFMVUUgKmNvbnN0
IGJwID0gdm1fYmFzZV9wdHIocmVnX2NmcCk7Cj4gKyAgICAgICBpZiAocmVnX2NmcC0+c3AgIT0g
YnApIHsKPiArICAgICAgICAgICB2bV9zdGFja19jb25zaXN0ZW5jeV9lcnJvcihlYywgcmVnX2Nm
cCwgYnApOwo+ICsgICAgICAgfQo+ICsgICAgfQo+ICsKPiArICAgIFJVQllfVk1fQ0hFQ0tfSU5U
UyhlYyk7Cj4gKwo+ICsgICAgaWYgKHZtX3BvcF9mcmFtZShlYywgR0VUX0NGUCgpLCBHRVRfRVAo
KSkpIHsKPiArI2lmIE9QVF9DQUxMX1RIUkVBREVEX0NPREUKPiArICAgICAgIHJiX2VjX3RocmVh
ZF9wdHIoZWMpLT5yZXR2YWwgPSB2YWw7Cj4gKyAgICAgICByZXR1cm4gMDsKPiArI2Vsc2UKPiAr
ICAgICAgIHJldHVybiB2YWw7Cj4gKyNlbmRpZgo+ICsgICAgfQo+ICsgICAgZWxzZSB7Cj4gKyAg
ICAgICBSRVNUT1JFX1JFR1MoKTsKPiArICAgIH0KPiArfQo+ICsjbGluZSAyMDQxICJ2bS5pbmMi
Cj4gKyAgICBDSEVDS19WTV9TVEFDS19PVkVSRkxPV19GT1JfSU5TTihWTV9SRUdfQ0ZQLCBJTlNO
X0FUVFIocmV0bikpOwo+ICsgICAgQ0hFQ0tfQ0FOQVJZKCk7Cj4gKyAgICBQVVNIKHZhbCk7Cj4g
KyAgICBpZiAobGVhZikgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOwo+ICsgICAgRU5EX0lOU04o
bGVhdmUpOwo+ICsjICAgdW5kZWYgSU5TTl9BVFRSCj4gKyMgICB1bmRlZiBOQU1FX09GX0NVUlJF
TlRfSU5TTgo+ICt9Cj4gKwo+ICsvKiBpbnNuIHRocm93KHRocm93X3N0YXRlKSh0aHJvd29iaiko
dmFsKSAqLwo+ICtJTlNOX0VOVFJZKHRocm93KQo+ICt7Cj4gKyMgICBkZWZpbmUgTkFNRV9PRl9D
VVJSRU5UX0lOU04gdGhyb3cKPiArIyAgIGRlZmluZSBJTlNOX0FUVFIoeCkgYXR0cl8gIyMgeCAj
IyBfdGhyb3codGhyb3dfc3RhdGUpCj4gKyAgICBib29sIGxlYWY7Cj4gKyAgICBNQVlCRV9VTlVT
RUQoVkFMVUUgKikgY2FuYXJ5Owo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSB0aHJvd29iaiwg
dmFsOwo+ICsgICAgTUFZQkVfVU5VU0VEKHJiX251bV90KSB0aHJvd19zdGF0ZTsKPiArCj4gKyAg
ICBTVEFSVF9PRl9PUklHSU5BTF9JTlNOKHRocm93KTsKPiArICAgIHRocm93X3N0YXRlID0gKHJi
X251bV90KUdFVF9PUEVSQU5EKDEpOwo+ICsgICAgdGhyb3dvYmogPSBUT1BOKDApOwo+ICsgICAg
REVCVUdfRU5URVJfSU5TTihJTlNOX0FUVFIobmFtZSkpOwo+ICsgICAgaWYgKCEgKGxlYWYgPSBJ
TlNOX0FUVFIobGVhZikpKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7Cj4gKyAgICBTRVRVUF9D
QU5BUlkoKTsKPiArICAgIENPTExFQ1RfVVNBR0VfSU5TTihJTlNOX0FUVFIoYmluKSk7Cj4gKyAg
ICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDAsIHRocm93X3N0YXRlKTsK
PiArI2xpbmUgOTEyICJpbnNucy5kZWYiCj4gK3sKPiArICAgIFJVQllfVk1fQ0hFQ0tfSU5UUyhl
Yyk7Cj4gKyAgICB2YWwgPSB2bV90aHJvdyhlYywgR0VUX0NGUCgpLCB0aHJvd19zdGF0ZSwgdGhy
b3dvYmopOwo+ICsgICAgVEhST1dfRVhDRVBUSU9OKHZhbCk7Cj4gKyAgICAvKiB1bnJlYWNoYWJs
ZSAqLwo+ICt9Cj4gKyNsaW5lIDIwNzYgInZtLmluYyIKPiArICAgIENIRUNLX1ZNX1NUQUNLX09W
RVJGTE9XX0ZPUl9JTlNOKFZNX1JFR19DRlAsIElOU05fQVRUUihyZXRuKSk7Cj4gKyAgICBDSEVD
S19DQU5BUlkoKTsKPiArICAgIElOQ19TUChJTlNOX0FUVFIoc3BfaW5jKSk7Cj4gKyAgICBUT1BO
KDApID0gdmFsOwo+ICsgICAgaWYgKGxlYWYpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKPiAr
ICAgIEVORF9JTlNOKHRocm93KTsKPiArIyAgIHVuZGVmIElOU05fQVRUUgo+ICsjICAgdW5kZWYg
TkFNRV9PRl9DVVJSRU5UX0lOU04KPiArfQo+ICsKPiArLyogaW5zbiBqdW1wKGRzdCkoKSgpICov
Cj4gK0lOU05fRU5UUlkoanVtcCkKPiArewo+ICsjICAgZGVmaW5lIE5BTUVfT0ZfQ1VSUkVOVF9J
TlNOIGp1bXAKPiArIyAgIGRlZmluZSBJTlNOX0FUVFIoeCkgYXR0cl8gIyMgeCAjIyBfanVtcChk
c3QpCj4gKyAgICBib29sIGxlYWY7Cj4gKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUgKikgY2FuYXJ5
Owo+ICsgICAgTUFZQkVfVU5VU0VEKE9GRlNFVCkgZHN0Owo+ICsKPiArICAgIFNUQVJUX09GX09S
SUdJTkFMX0lOU04oanVtcCk7Cj4gKyAgICBkc3QgPSAoT0ZGU0VUKUdFVF9PUEVSQU5EKDEpOwo+
ICsgICAgREVCVUdfRU5URVJfSU5TTihJTlNOX0FUVFIobmFtZSkpOwo+ICsgICAgaWYgKCEgKGxl
YWYgPSBJTlNOX0FUVFIobGVhZikpKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7Cj4gKyAgICBT
RVRVUF9DQU5BUlkoKTsKPiArICAgIENPTExFQ1RfVVNBR0VfSU5TTihJTlNOX0FUVFIoYmluKSk7
Cj4gKyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDAsIGRzdCk7Cj4g
KyNsaW5lIDkzMSAiaW5zbnMuZGVmIgo+ICt7Cj4gKyAgICBSVUJZX1ZNX0NIRUNLX0lOVFMoZWMp
Owo+ICsgICAgSlVNUChkc3QpOwo+ICt9Cj4gKyNsaW5lIDIxMDggInZtLmluYyIKPiArICAgIENI
RUNLX1ZNX1NUQUNLX09WRVJGTE9XX0ZPUl9JTlNOKFZNX1JFR19DRlAsIElOU05fQVRUUihyZXRu
KSk7Cj4gKyAgICBDSEVDS19DQU5BUlkoKTsKPiArICAgIElOQ19TUChJTlNOX0FUVFIoc3BfaW5j
KSk7Cj4gKyAgICBpZiAobGVhZikgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOwo+ICsgICAgRU5E
X0lOU04oanVtcCk7Cj4gKyMgICB1bmRlZiBJTlNOX0FUVFIKPiArIyAgIHVuZGVmIE5BTUVfT0Zf
Q1VSUkVOVF9JTlNOCj4gK30KPiArCj4gKy8qIGluc24gYnJhbmNoaWYoZHN0KSh2YWwpKCkgKi8K
PiArSU5TTl9FTlRSWShicmFuY2hpZikKPiArewo+ICsjICAgZGVmaW5lIE5BTUVfT0ZfQ1VSUkVO
VF9JTlNOIGJyYW5jaGlmCj4gKyMgICBkZWZpbmUgSU5TTl9BVFRSKHgpIGF0dHJfICMjIHggIyMg
X2JyYW5jaGlmKGRzdCkKPiArICAgIGJvb2wgbGVhZjsKPiArICAgIE1BWUJFX1VOVVNFRChWQUxV
RSAqKSBjYW5hcnk7Cj4gKyAgICBNQVlCRV9VTlVTRUQoT0ZGU0VUKSBkc3Q7Cj4gKyAgICBNQVlC
RV9VTlVTRUQoVkFMVUUpIHZhbDsKPiArCj4gKyAgICBTVEFSVF9PRl9PUklHSU5BTF9JTlNOKGJy
YW5jaGlmKTsKPiArICAgIGRzdCA9IChPRkZTRVQpR0VUX09QRVJBTkQoMSk7Cj4gKyAgICB2YWwg
PSBUT1BOKDApOwo+ICsgICAgREVCVUdfRU5URVJfSU5TTihJTlNOX0FUVFIobmFtZSkpOwo+ICsg
ICAgaWYgKCEgKGxlYWYgPSBJTlNOX0FUVFIobGVhZikpKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRo
KSk7Cj4gKyAgICBTRVRVUF9DQU5BUlkoKTsKPiArICAgIENPTExFQ1RfVVNBR0VfSU5TTihJTlNO
X0FUVFIoYmluKSk7Cj4gKyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiks
IDAsIGRzdCk7Cj4gKyNsaW5lIDk0NCAiaW5zbnMuZGVmIgo+ICt7Cj4gKyAgICBpZiAoUlRFU1Qo
dmFsKSkgewo+ICsgICAgICAgUlVCWV9WTV9DSEVDS19JTlRTKGVjKTsKPiArICAgICAgIEpVTVAo
ZHN0KTsKPiArICAgIH0KPiArfQo+ICsjbGluZSAyMTQzICJ2bS5pbmMiCj4gKyAgICBDSEVDS19W
TV9TVEFDS19PVkVSRkxPV19GT1JfSU5TTihWTV9SRUdfQ0ZQLCBJTlNOX0FUVFIocmV0bikpOwo+
ICsgICAgQ0hFQ0tfQ0FOQVJZKCk7Cj4gKyAgICBJTkNfU1AoSU5TTl9BVFRSKHNwX2luYykpOwo+
ICsgICAgaWYgKGxlYWYpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKPiArICAgIEVORF9JTlNO
KGJyYW5jaGlmKTsKPiArIyAgIHVuZGVmIElOU05fQVRUUgo+ICsjICAgdW5kZWYgTkFNRV9PRl9D
VVJSRU5UX0lOU04KPiArfQo+ICsKPiArLyogaW5zbiBicmFuY2h1bmxlc3MoZHN0KSh2YWwpKCkg
Ki8KPiArSU5TTl9FTlRSWShicmFuY2h1bmxlc3MpCj4gK3sKPiArIyAgIGRlZmluZSBOQU1FX09G
X0NVUlJFTlRfSU5TTiBicmFuY2h1bmxlc3MKPiArIyAgIGRlZmluZSBJTlNOX0FUVFIoeCkgYXR0
cl8gIyMgeCAjIyBfYnJhbmNodW5sZXNzKGRzdCkKPiArICAgIGJvb2wgbGVhZjsKPiArICAgIE1B
WUJFX1VOVVNFRChWQUxVRSAqKSBjYW5hcnk7Cj4gKyAgICBNQVlCRV9VTlVTRUQoT0ZGU0VUKSBk
c3Q7Cj4gKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIHZhbDsKPiArCj4gKyAgICBTVEFSVF9PRl9P
UklHSU5BTF9JTlNOKGJyYW5jaHVubGVzcyk7Cj4gKyAgICBkc3QgPSAoT0ZGU0VUKUdFVF9PUEVS
QU5EKDEpOwo+ICsgICAgdmFsID0gVE9QTigwKTsKPiArICAgIERFQlVHX0VOVEVSX0lOU04oSU5T
Tl9BVFRSKG5hbWUpKTsKPiArICAgIGlmICghIChsZWFmID0gSU5TTl9BVFRSKGxlYWYpKSkgQURE
X1BDKElOU05fQVRUUih3aWR0aCkpOwo+ICsgICAgU0VUVVBfQ0FOQVJZKCk7Cj4gKyAgICBDT0xM
RUNUX1VTQUdFX0lOU04oSU5TTl9BVFRSKGJpbikpOwo+ICsgICAgQ09MTEVDVF9VU0FHRV9PUEVS
QU5EKElOU05fQVRUUihiaW4pLCAwLCBkc3QpOwo+ICsjbGluZSA5NTkgImluc25zLmRlZiIKPiAr
ewo+ICsgICAgaWYgKCFSVEVTVCh2YWwpKSB7Cj4gKyAgICAgICBSVUJZX1ZNX0NIRUNLX0lOVFMo
ZWMpOwo+ICsgICAgICAgSlVNUChkc3QpOwo+ICsgICAgfQo+ICt9Cj4gKyNsaW5lIDIxNzggInZt
LmluYyIKPiArICAgIENIRUNLX1ZNX1NUQUNLX09WRVJGTE9XX0ZPUl9JTlNOKFZNX1JFR19DRlAs
IElOU05fQVRUUihyZXRuKSk7Cj4gKyAgICBDSEVDS19DQU5BUlkoKTsKPiArICAgIElOQ19TUChJ
TlNOX0FUVFIoc3BfaW5jKSk7Cj4gKyAgICBpZiAobGVhZikgQUREX1BDKElOU05fQVRUUih3aWR0
aCkpOwo+ICsgICAgRU5EX0lOU04oYnJhbmNodW5sZXNzKTsKPiArIyAgIHVuZGVmIElOU05fQVRU
Ugo+ICsjICAgdW5kZWYgTkFNRV9PRl9DVVJSRU5UX0lOU04KPiArfQo+ICsKPiArLyogaW5zbiBi
cmFuY2huaWwoZHN0KSh2YWwpKCkgKi8KPiArSU5TTl9FTlRSWShicmFuY2huaWwpCj4gK3sKPiAr
IyAgIGRlZmluZSBOQU1FX09GX0NVUlJFTlRfSU5TTiBicmFuY2huaWwKPiArIyAgIGRlZmluZSBJ
TlNOX0FUVFIoeCkgYXR0cl8gIyMgeCAjIyBfYnJhbmNobmlsKGRzdCkKPiArICAgIGJvb2wgbGVh
ZjsKPiArICAgIE1BWUJFX1VOVVNFRChWQUxVRSAqKSBjYW5hcnk7Cj4gKyAgICBNQVlCRV9VTlVT
RUQoT0ZGU0VUKSBkc3Q7Cj4gKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIHZhbDsKPiArCj4gKyAg
ICBTVEFSVF9PRl9PUklHSU5BTF9JTlNOKGJyYW5jaG5pbCk7Cj4gKyAgICBkc3QgPSAoT0ZGU0VU
KUdFVF9PUEVSQU5EKDEpOwo+ICsgICAgdmFsID0gVE9QTigwKTsKPiArICAgIERFQlVHX0VOVEVS
X0lOU04oSU5TTl9BVFRSKG5hbWUpKTsKPiArICAgIGlmICghIChsZWFmID0gSU5TTl9BVFRSKGxl
YWYpKSkgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOwo+ICsgICAgU0VUVVBfQ0FOQVJZKCk7Cj4g
KyAgICBDT0xMRUNUX1VTQUdFX0lOU04oSU5TTl9BVFRSKGJpbikpOwo+ICsgICAgQ09MTEVDVF9V
U0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAwLCBkc3QpOwo+ICsjbGluZSA5NzQgImluc25z
LmRlZiIKPiArewo+ICsgICAgaWYgKE5JTF9QKHZhbCkpIHsKPiArICAgICAgIFJVQllfVk1fQ0hF
Q0tfSU5UUyhlYyk7Cj4gKyAgICAgICBKVU1QKGRzdCk7Cj4gKyAgICB9Cj4gK30KPiArI2xpbmUg
MjIxMyAidm0uaW5jIgo+ICsgICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04oVk1f
UkVHX0NGUCwgSU5TTl9BVFRSKHJldG4pKTsKPiArICAgIENIRUNLX0NBTkFSWSgpOwo+ICsgICAg
SU5DX1NQKElOU05fQVRUUihzcF9pbmMpKTsKPiArICAgIGlmIChsZWFmKSBBRERfUEMoSU5TTl9B
VFRSKHdpZHRoKSk7Cj4gKyAgICBFTkRfSU5TTihicmFuY2huaWwpOwo+ICsjICAgdW5kZWYgSU5T
Tl9BVFRSCj4gKyMgICB1bmRlZiBOQU1FX09GX0NVUlJFTlRfSU5TTgo+ICt9Cj4gKwo+ICsvKiBp
bnNuIG9wdF9nZXRpbmxpbmVjYWNoZShkc3QsIGljKSgpKHZhbCkgKi8KPiArSU5TTl9FTlRSWShv
cHRfZ2V0aW5saW5lY2FjaGUpCj4gK3sKPiArIyAgIGRlZmluZSBOQU1FX09GX0NVUlJFTlRfSU5T
TiBvcHRfZ2V0aW5saW5lY2FjaGUKPiArIyAgIGRlZmluZSBJTlNOX0FUVFIoeCkgYXR0cl8gIyMg
eCAjIyBfb3B0X2dldGlubGluZWNhY2hlKGRzdCwgaWMpCj4gKyAgICBib29sIGxlYWY7Cj4gKyAg
ICBNQVlCRV9VTlVTRUQoVkFMVUUgKikgY2FuYXJ5Owo+ICsgICAgTUFZQkVfVU5VU0VEKElDKSBp
YzsKPiArICAgIE1BWUJFX1VOVVNFRChPRkZTRVQpIGRzdDsKPiArICAgIE1BWUJFX1VOVVNFRChW
QUxVRSkgdmFsOwo+ICsKPiArICAgIFNUQVJUX09GX09SSUdJTkFMX0lOU04ob3B0X2dldGlubGlu
ZWNhY2hlKTsKPiArICAgIGRzdCA9IChPRkZTRVQpR0VUX09QRVJBTkQoMSk7Cj4gKyAgICBpYyA9
IChJQylHRVRfT1BFUkFORCgyKTsKPiArICAgIERFQlVHX0VOVEVSX0lOU04oSU5TTl9BVFRSKG5h
bWUpKTsKPiArICAgIGlmICghIChsZWFmID0gSU5TTl9BVFRSKGxlYWYpKSkgQUREX1BDKElOU05f
QVRUUih3aWR0aCkpOwo+ICsgICAgU0VUVVBfQ0FOQVJZKCk7Cj4gKyAgICBDT0xMRUNUX1VTQUdF
X0lOU04oSU5TTl9BVFRSKGJpbikpOwo+ICsgICAgQ09MTEVDVF9VU0FHRV9PUEVSQU5EKElOU05f
QVRUUihiaW4pLCAwLCBkc3QpOwo+ICsgICAgQ09MTEVDVF9VU0FHRV9PUEVSQU5EKElOU05fQVRU
UihiaW4pLCAxLCBpYyk7Cj4gKyNsaW5lIDk5MSAiaW5zbnMuZGVmIgo+ICt7Cj4gKyAgICBpZiAo
dm1faWNfaGl0X3AoaWMsIEdFVF9FUCgpKSkgewo+ICsgICAgICAgdmFsID0gaWMtPmljX3ZhbHVl
LnZhbHVlOwo+ICsgICAgICAgSlVNUChkc3QpOwo+ICsgICAgfQo+ICsgICAgZWxzZSB7Cj4gKyAg
ICAgICB2YWwgPSBRbmlsOwo+ICsgICAgfQo+ICt9Cj4gKyNsaW5lIDIyNTMgInZtLmluYyIKPiAr
ICAgIENIRUNLX1ZNX1NUQUNLX09WRVJGTE9XX0ZPUl9JTlNOKFZNX1JFR19DRlAsIElOU05fQVRU
UihyZXRuKSk7Cj4gKyAgICBDSEVDS19DQU5BUlkoKTsKPiArICAgIElOQ19TUChJTlNOX0FUVFIo
c3BfaW5jKSk7Cj4gKyAgICBUT1BOKDApID0gdmFsOwo+ICsgICAgaWYgKGxlYWYpIEFERF9QQyhJ
TlNOX0FUVFIod2lkdGgpKTsKPiArICAgIEVORF9JTlNOKG9wdF9nZXRpbmxpbmVjYWNoZSk7Cj4g
KyMgICB1bmRlZiBJTlNOX0FUVFIKPiArIyAgIHVuZGVmIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOCj4g
K30KPiArCj4gKy8qIGluc24gb3B0X3NldGlubGluZWNhY2hlKGljKSh2YWwpKHZhbCkgKi8KPiAr
SU5TTl9FTlRSWShvcHRfc2V0aW5saW5lY2FjaGUpCj4gK3sKPiArIyAgIGRlZmluZSBOQU1FX09G
X0NVUlJFTlRfSU5TTiBvcHRfc2V0aW5saW5lY2FjaGUKPiArIyAgIGRlZmluZSBJTlNOX0FUVFIo
eCkgYXR0cl8gIyMgeCAjIyBfb3B0X3NldGlubGluZWNhY2hlKGljKQo+ICsgICAgYm9vbCBsZWFm
Owo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVFICopIGNhbmFyeTsKPiArICAgIE1BWUJFX1VOVVNF
RChJQykgaWM7Cj4gKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIHZhbDsKPiArCj4gKyAgICBTVEFS
VF9PRl9PUklHSU5BTF9JTlNOKG9wdF9zZXRpbmxpbmVjYWNoZSk7Cj4gKyAgICBpYyA9IChJQylH
RVRfT1BFUkFORCgxKTsKPiArICAgIHZhbCA9IFRPUE4oMCk7Cj4gKyAgICBERUJVR19FTlRFUl9J
TlNOKElOU05fQVRUUihuYW1lKSk7Cj4gKyAgICBpZiAoISAobGVhZiA9IElOU05fQVRUUihsZWFm
KSkpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKPiArICAgIFNFVFVQX0NBTkFSWSgpOwo+ICsg
ICAgQ09MTEVDVF9VU0FHRV9JTlNOKElOU05fQVRUUihiaW4pKTsKPiArICAgIENPTExFQ1RfVVNB
R0VfT1BFUkFORChJTlNOX0FUVFIoYmluKSwgMCwgaWMpOwo+ICsjbGluZSAxMDA3ICJpbnNucy5k
ZWYiCj4gK3sKPiArICAgIHZtX2ljX3VwZGF0ZShpYywgdmFsLCBHRVRfRVAoKSk7Cj4gK30KPiAr
I2xpbmUgMjI4NiAidm0uaW5jIgo+ICsgICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZFUkZMT1dfRk9SX0lO
U04oVk1fUkVHX0NGUCwgSU5TTl9BVFRSKHJldG4pKTsKPiArICAgIENIRUNLX0NBTkFSWSgpOwo+
ICsgICAgSU5DX1NQKElOU05fQVRUUihzcF9pbmMpKTsKPiArICAgIFRPUE4oMCkgPSB2YWw7Cj4g
KyAgICBpZiAobGVhZikgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOwo+ICsgICAgRU5EX0lOU04o
b3B0X3NldGlubGluZWNhY2hlKTsKPiArIyAgIHVuZGVmIElOU05fQVRUUgo+ICsjICAgdW5kZWYg
TkFNRV9PRl9DVVJSRU5UX0lOU04KPiArfQo+ICsKPiArLyogaW5zbiBvbmNlKGlzZXEsIGlzZSko
KSh2YWwpICovCj4gK0lOU05fRU5UUlkob25jZSkKPiArewo+ICsjICAgZGVmaW5lIE5BTUVfT0Zf
Q1VSUkVOVF9JTlNOIG9uY2UKPiArIyAgIGRlZmluZSBJTlNOX0FUVFIoeCkgYXR0cl8gIyMgeCAj
IyBfb25jZShpc2VxLCBpc2UpCj4gKyAgICBib29sIGxlYWY7Cj4gKyAgICBNQVlCRV9VTlVTRUQo
VkFMVUUgKikgY2FuYXJ5Owo+ICsgICAgTUFZQkVfVU5VU0VEKElTRSkgaXNlOwo+ICsgICAgTUFZ
QkVfVU5VU0VEKElTRVEpIGlzZXE7Cj4gKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIHZhbDsKPiAr
Cj4gKyAgICBTVEFSVF9PRl9PUklHSU5BTF9JTlNOKG9uY2UpOwo+ICsgICAgaXNlcSA9IChJU0VR
KUdFVF9PUEVSQU5EKDEpOwo+ICsgICAgaXNlID0gKElTRSlHRVRfT1BFUkFORCgyKTsKPiArICAg
IERFQlVHX0VOVEVSX0lOU04oSU5TTl9BVFRSKG5hbWUpKTsKPiArICAgIGlmICghIChsZWFmID0g
SU5TTl9BVFRSKGxlYWYpKSkgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOwo+ICsgICAgUE9QTihJ
TlNOX0FUVFIocG9wbikpOwo+ICsgICAgU0VUVVBfQ0FOQVJZKCk7Cj4gKyAgICBDT0xMRUNUX1VT
QUdFX0lOU04oSU5TTl9BVFRSKGJpbikpOwo+ICsgICAgQ09MTEVDVF9VU0FHRV9PUEVSQU5EKElO
U05fQVRUUihiaW4pLCAwLCBpc2VxKTsKPiArICAgIENPTExFQ1RfVVNBR0VfT1BFUkFORChJTlNO
X0FUVFIoYmluKSwgMSwgaXNlKTsKPiArI2xpbmUgMTAxNyAiaW5zbnMuZGVmIgo+ICt7Cj4gKyAg
ICB2YWwgPSB2bV9vbmNlX2Rpc3BhdGNoKGVjLCBpc2VxLCBpc2UpOwo+ICt9Cj4gKyNsaW5lIDIz
MjIgInZtLmluYyIKPiArICAgIENIRUNLX1ZNX1NUQUNLX09WRVJGTE9XX0ZPUl9JTlNOKFZNX1JF
R19DRlAsIElOU05fQVRUUihyZXRuKSk7Cj4gKyAgICBDSEVDS19DQU5BUlkoKTsKPiArICAgIFBV
U0godmFsKTsKPiArICAgIGlmIChsZWFmKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7Cj4gKyAg
ICBFTkRfSU5TTihvbmNlKTsKPiArIyAgIHVuZGVmIElOU05fQVRUUgo+ICsjICAgdW5kZWYgTkFN
RV9PRl9DVVJSRU5UX0lOU04KPiArfQo+ICsKPiArLyogaW5zbiBvcHRfY2FzZV9kaXNwYXRjaCho
YXNoLCBlbHNlX29mZnNldCkoLi4uLCBrZXkpKCkgKi8KPiArSU5TTl9FTlRSWShvcHRfY2FzZV9k
aXNwYXRjaCkKPiArewo+ICsjICAgZGVmaW5lIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOIG9wdF9jYXNl
X2Rpc3BhdGNoCj4gKyMgICBkZWZpbmUgSU5TTl9BVFRSKHgpIGF0dHJfICMjIHggIyMgX29wdF9j
YXNlX2Rpc3BhdGNoKGhhc2gsIGVsc2Vfb2Zmc2V0KQo+ICsgICAgYm9vbCBsZWFmOwo+ICsgICAg
TUFZQkVfVU5VU0VEKFZBTFVFICopIGNhbmFyeTsKPiArICAgIE1BWUJFX1VOVVNFRChDREhBU0gp
IGhhc2g7Cj4gKyAgICBNQVlCRV9VTlVTRUQoT0ZGU0VUKSBlbHNlX29mZnNldDsKPiArICAgIE1B
WUJFX1VOVVNFRChWQUxVRSkga2V5Owo+ICsKPiArICAgIFNUQVJUX09GX09SSUdJTkFMX0lOU04o
b3B0X2Nhc2VfZGlzcGF0Y2gpOwo+ICsgICAgaGFzaCA9IChDREhBU0gpR0VUX09QRVJBTkQoMSk7
Cj4gKyAgICBlbHNlX29mZnNldCA9IChPRkZTRVQpR0VUX09QRVJBTkQoMik7Cj4gKyAgICBrZXkg
PSBUT1BOKDApOwo+ICsgICAgREVCVUdfRU5URVJfSU5TTihJTlNOX0FUVFIobmFtZSkpOwo+ICsg
ICAgaWYgKCEgKGxlYWYgPSBJTlNOX0FUVFIobGVhZikpKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRo
KSk7Cj4gKyAgICBTRVRVUF9DQU5BUlkoKTsKPiArICAgIENPTExFQ1RfVVNBR0VfSU5TTihJTlNO
X0FUVFIoYmluKSk7Cj4gKyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiks
IDAsIGhhc2gpOwo+ICsgICAgQ09MTEVDVF9VU0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAx
LCBlbHNlX29mZnNldCk7Cj4gKyNsaW5lIDEwMjggImluc25zLmRlZiIKPiArewo+ICsgICAgT0ZG
U0VUIGRzdCA9IHZtX2Nhc2VfZGlzcGF0Y2goaGFzaCwgZWxzZV9vZmZzZXQsIGtleSk7Cj4gKwo+
ICsgICAgaWYgKGRzdCkgewo+ICsgICAgICAgSlVNUChkc3QpOwo+ICsgICAgfQo+ICt9Cj4gKyNs
aW5lIDIzNjEgInZtLmluYyIKPiArICAgIENIRUNLX1ZNX1NUQUNLX09WRVJGTE9XX0ZPUl9JTlNO
KFZNX1JFR19DRlAsIElOU05fQVRUUihyZXRuKSk7Cj4gKyAgICBDSEVDS19DQU5BUlkoKTsKPiAr
ICAgIElOQ19TUChJTlNOX0FUVFIoc3BfaW5jKSk7Cj4gKyAgICBpZiAobGVhZikgQUREX1BDKElO
U05fQVRUUih3aWR0aCkpOwo+ICsgICAgRU5EX0lOU04ob3B0X2Nhc2VfZGlzcGF0Y2gpOwo+ICsj
ICAgdW5kZWYgSU5TTl9BVFRSCj4gKyMgICB1bmRlZiBOQU1FX09GX0NVUlJFTlRfSU5TTgo+ICt9
Cj4gKwo+ICsvKiBpbnNuIG9wdF9wbHVzKGNpLCBjYykocmVjdiwgb2JqKSh2YWwpICovCj4gK0lO
U05fRU5UUlkob3B0X3BsdXMpCj4gK3sKPiArIyAgIGRlZmluZSBOQU1FX09GX0NVUlJFTlRfSU5T
TiBvcHRfcGx1cwo+ICsjICAgZGVmaW5lIElOU05fQVRUUih4KSBhdHRyXyAjIyB4ICMjIF9vcHRf
cGx1cyhjaSwgY2MpCj4gKyAgICBib29sIGxlYWY7Cj4gKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUg
KikgY2FuYXJ5Owo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUpIGNjOwo+ICsgICAgTUFZ
QkVfVU5VU0VEKENBTExfSU5GTykgY2k7Cj4gKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIG9iaiwg
cmVjdiwgdmFsOwo+ICsKPiArICAgIFNUQVJUX09GX09SSUdJTkFMX0lOU04ob3B0X3BsdXMpOwo+
ICsgICAgY2kgPSAoQ0FMTF9JTkZPKUdFVF9PUEVSQU5EKDEpOwo+ICsgICAgY2MgPSAoQ0FMTF9D
QUNIRSlHRVRfT1BFUkFORCgyKTsKPiArICAgIHJlY3YgPSBUT1BOKDEpOwo+ICsgICAgb2JqID0g
VE9QTigwKTsKPiArICAgIERFQlVHX0VOVEVSX0lOU04oSU5TTl9BVFRSKG5hbWUpKTsKPiArICAg
IGlmICghIChsZWFmID0gSU5TTl9BVFRSKGxlYWYpKSkgQUREX1BDKElOU05fQVRUUih3aWR0aCkp
Owo+ICsgICAgU0VUVVBfQ0FOQVJZKCk7Cj4gKyAgICBDT0xMRUNUX1VTQUdFX0lOU04oSU5TTl9B
VFRSKGJpbikpOwo+ICsgICAgQ09MTEVDVF9VU0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAw
LCBjaSk7Cj4gKyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDEsIGNj
KTsKPiArI2xpbmUgMTA0NyAiaW5zbnMuZGVmIgo+ICt7Cj4gKyAgICB2YWwgPSB2bV9vcHRfcGx1
cyhyZWN2LCBvYmopOwo+ICsKPiArICAgIGlmICh2YWwgPT0gUXVuZGVmKSB7Cj4gKyAgICAgICAg
Q0FMTF9TSU1QTEVfTUVUSE9EKCk7Cj4gKyAgICB9Cj4gK30KPiArI2xpbmUgMjQwMSAidm0uaW5j
Igo+ICsgICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04oVk1fUkVHX0NGUCwgSU5T
Tl9BVFRSKHJldG4pKTsKPiArICAgIENIRUNLX0NBTkFSWSgpOwo+ICsgICAgSU5DX1NQKElOU05f
QVRUUihzcF9pbmMpKTsKPiArICAgIFRPUE4oMCkgPSB2YWw7Cj4gKyAgICBpZiAobGVhZikgQURE
X1BDKElOU05fQVRUUih3aWR0aCkpOwo+ICsgICAgRU5EX0lOU04ob3B0X3BsdXMpOwo+ICsjICAg
dW5kZWYgSU5TTl9BVFRSCj4gKyMgICB1bmRlZiBOQU1FX09GX0NVUlJFTlRfSU5TTgo+ICt9Cj4g
Kwo+ICsvKiBpbnNuIG9wdF9taW51cyhjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLwo+ICtJTlNO
X0VOVFJZKG9wdF9taW51cykKPiArewo+ICsjICAgZGVmaW5lIE5BTUVfT0ZfQ1VSUkVOVF9JTlNO
IG9wdF9taW51cwo+ICsjICAgZGVmaW5lIElOU05fQVRUUih4KSBhdHRyXyAjIyB4ICMjIF9vcHRf
bWludXMoY2ksIGNjKQo+ICsgICAgYm9vbCBsZWFmOwo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVF
ICopIGNhbmFyeTsKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFKSBjYzsKPiArICAgIE1B
WUJFX1VOVVNFRChDQUxMX0lORk8pIGNpOwo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSBvYmos
IHJlY3YsIHZhbDsKPiArCj4gKyAgICBTVEFSVF9PRl9PUklHSU5BTF9JTlNOKG9wdF9taW51cyk7
Cj4gKyAgICBjaSA9IChDQUxMX0lORk8pR0VUX09QRVJBTkQoMSk7Cj4gKyAgICBjYyA9IChDQUxM
X0NBQ0hFKUdFVF9PUEVSQU5EKDIpOwo+ICsgICAgcmVjdiA9IFRPUE4oMSk7Cj4gKyAgICBvYmog
PSBUT1BOKDApOwo+ICsgICAgREVCVUdfRU5URVJfSU5TTihJTlNOX0FUVFIobmFtZSkpOwo+ICsg
ICAgaWYgKCEgKGxlYWYgPSBJTlNOX0FUVFIobGVhZikpKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRo
KSk7Cj4gKyAgICBTRVRVUF9DQU5BUlkoKTsKPiArICAgIENPTExFQ1RfVVNBR0VfSU5TTihJTlNO
X0FUVFIoYmluKSk7Cj4gKyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiks
IDAsIGNpKTsKPiArICAgIENPTExFQ1RfVVNBR0VfT1BFUkFORChJTlNOX0FUVFIoYmluKSwgMSwg
Y2MpOwo+ICsjbGluZSAxMDYxICJpbnNucy5kZWYiCj4gK3sKPiArICAgIHZhbCA9IHZtX29wdF9t
aW51cyhyZWN2LCBvYmopOwo+ICsKPiArICAgIGlmICh2YWwgPT0gUXVuZGVmKSB7Cj4gKyAgICAg
ICAgQ0FMTF9TSU1QTEVfTUVUSE9EKCk7Cj4gKyAgICB9Cj4gK30KPiArI2xpbmUgMjQ0MiAidm0u
aW5jIgo+ICsgICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04oVk1fUkVHX0NGUCwg
SU5TTl9BVFRSKHJldG4pKTsKPiArICAgIENIRUNLX0NBTkFSWSgpOwo+ICsgICAgSU5DX1NQKElO
U05fQVRUUihzcF9pbmMpKTsKPiArICAgIFRPUE4oMCkgPSB2YWw7Cj4gKyAgICBpZiAobGVhZikg
QUREX1BDKElOU05fQVRUUih3aWR0aCkpOwo+ICsgICAgRU5EX0lOU04ob3B0X21pbnVzKTsKPiAr
IyAgIHVuZGVmIElOU05fQVRUUgo+ICsjICAgdW5kZWYgTkFNRV9PRl9DVVJSRU5UX0lOU04KPiAr
fQo+ICsKPiArLyogaW5zbiBvcHRfbXVsdChjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLwo+ICtJ
TlNOX0VOVFJZKG9wdF9tdWx0KQo+ICt7Cj4gKyMgICBkZWZpbmUgTkFNRV9PRl9DVVJSRU5UX0lO
U04gb3B0X211bHQKPiArIyAgIGRlZmluZSBJTlNOX0FUVFIoeCkgYXR0cl8gIyMgeCAjIyBfb3B0
X211bHQoY2ksIGNjKQo+ICsgICAgYm9vbCBsZWFmOwo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVF
ICopIGNhbmFyeTsKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFKSBjYzsKPiArICAgIE1B
WUJFX1VOVVNFRChDQUxMX0lORk8pIGNpOwo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSBvYmos
IHJlY3YsIHZhbDsKPiArCj4gKyAgICBTVEFSVF9PRl9PUklHSU5BTF9JTlNOKG9wdF9tdWx0KTsK
PiArICAgIGNpID0gKENBTExfSU5GTylHRVRfT1BFUkFORCgxKTsKPiArICAgIGNjID0gKENBTExf
Q0FDSEUpR0VUX09QRVJBTkQoMik7Cj4gKyAgICByZWN2ID0gVE9QTigxKTsKPiArICAgIG9iaiA9
IFRPUE4oMCk7Cj4gKyAgICBERUJVR19FTlRFUl9JTlNOKElOU05fQVRUUihuYW1lKSk7Cj4gKyAg
ICBpZiAoISAobGVhZiA9IElOU05fQVRUUihsZWFmKSkpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgp
KTsKPiArICAgIFNFVFVQX0NBTkFSWSgpOwo+ICsgICAgQ09MTEVDVF9VU0FHRV9JTlNOKElOU05f
QVRUUihiaW4pKTsKPiArICAgIENPTExFQ1RfVVNBR0VfT1BFUkFORChJTlNOX0FUVFIoYmluKSwg
MCwgY2kpOwo+ICsgICAgQ09MTEVDVF9VU0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAxLCBj
Yyk7Cj4gKyNsaW5lIDEwNzUgImluc25zLmRlZiIKPiArewo+ICsgICAgdmFsID0gdm1fb3B0X211
bHQocmVjdiwgb2JqKTsKPiArCj4gKyAgICBpZiAodmFsID09IFF1bmRlZikgewo+ICsgICAgICAg
IENBTExfU0lNUExFX01FVEhPRCgpOwo+ICsgICAgfQo+ICt9Cj4gKyNsaW5lIDI0ODMgInZtLmlu
YyIKPiArICAgIENIRUNLX1ZNX1NUQUNLX09WRVJGTE9XX0ZPUl9JTlNOKFZNX1JFR19DRlAsIElO
U05fQVRUUihyZXRuKSk7Cj4gKyAgICBDSEVDS19DQU5BUlkoKTsKPiArICAgIElOQ19TUChJTlNO
X0FUVFIoc3BfaW5jKSk7Cj4gKyAgICBUT1BOKDApID0gdmFsOwo+ICsgICAgaWYgKGxlYWYpIEFE
RF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKPiArICAgIEVORF9JTlNOKG9wdF9tdWx0KTsKPiArIyAg
IHVuZGVmIElOU05fQVRUUgo+ICsjICAgdW5kZWYgTkFNRV9PRl9DVVJSRU5UX0lOU04KPiArfQo+
ICsKPiArLyogaW5zbiBvcHRfZGl2KGNpLCBjYykocmVjdiwgb2JqKSh2YWwpICovCj4gK0lOU05f
RU5UUlkob3B0X2RpdikKPiArewo+ICsjICAgZGVmaW5lIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOIG9w
dF9kaXYKPiArIyAgIGRlZmluZSBJTlNOX0FUVFIoeCkgYXR0cl8gIyMgeCAjIyBfb3B0X2Rpdihj
aSwgY2MpCj4gKyAgICBib29sIGxlYWY7Cj4gKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUgKikgY2Fu
YXJ5Owo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUpIGNjOwo+ICsgICAgTUFZQkVfVU5V
U0VEKENBTExfSU5GTykgY2k7Cj4gKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIG9iaiwgcmVjdiwg
dmFsOwo+ICsKPiArICAgIFNUQVJUX09GX09SSUdJTkFMX0lOU04ob3B0X2Rpdik7Cj4gKyAgICBj
aSA9IChDQUxMX0lORk8pR0VUX09QRVJBTkQoMSk7Cj4gKyAgICBjYyA9IChDQUxMX0NBQ0hFKUdF
VF9PUEVSQU5EKDIpOwo+ICsgICAgcmVjdiA9IFRPUE4oMSk7Cj4gKyAgICBvYmogPSBUT1BOKDAp
Owo+ICsgICAgREVCVUdfRU5URVJfSU5TTihJTlNOX0FUVFIobmFtZSkpOwo+ICsgICAgaWYgKCEg
KGxlYWYgPSBJTlNOX0FUVFIobGVhZikpKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7Cj4gKyAg
ICBTRVRVUF9DQU5BUlkoKTsKPiArICAgIENPTExFQ1RfVVNBR0VfSU5TTihJTlNOX0FUVFIoYmlu
KSk7Cj4gKyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDAsIGNpKTsK
PiArICAgIENPTExFQ1RfVVNBR0VfT1BFUkFORChJTlNOX0FUVFIoYmluKSwgMSwgY2MpOwo+ICsj
bGluZSAxMDg5ICJpbnNucy5kZWYiCj4gK3sKPiArICAgIHZhbCA9IHZtX29wdF9kaXYocmVjdiwg
b2JqKTsKPiArCj4gKyAgICBpZiAodmFsID09IFF1bmRlZikgewo+ICsgICAgICAgIENBTExfU0lN
UExFX01FVEhPRCgpOwo+ICsgICAgfQo+ICt9Cj4gKyNsaW5lIDI1MjQgInZtLmluYyIKPiArICAg
IENIRUNLX1ZNX1NUQUNLX09WRVJGTE9XX0ZPUl9JTlNOKFZNX1JFR19DRlAsIElOU05fQVRUUihy
ZXRuKSk7Cj4gKyAgICBDSEVDS19DQU5BUlkoKTsKPiArICAgIElOQ19TUChJTlNOX0FUVFIoc3Bf
aW5jKSk7Cj4gKyAgICBUT1BOKDApID0gdmFsOwo+ICsgICAgaWYgKGxlYWYpIEFERF9QQyhJTlNO
X0FUVFIod2lkdGgpKTsKPiArICAgIEVORF9JTlNOKG9wdF9kaXYpOwo+ICsjICAgdW5kZWYgSU5T
Tl9BVFRSCj4gKyMgICB1bmRlZiBOQU1FX09GX0NVUlJFTlRfSU5TTgo+ICt9Cj4gKwo+ICsvKiBp
bnNuIG9wdF9tb2QoY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KPiArSU5TTl9FTlRSWShvcHRf
bW9kKQo+ICt7Cj4gKyMgICBkZWZpbmUgTkFNRV9PRl9DVVJSRU5UX0lOU04gb3B0X21vZAo+ICsj
ICAgZGVmaW5lIElOU05fQVRUUih4KSBhdHRyXyAjIyB4ICMjIF9vcHRfbW9kKGNpLCBjYykKPiAr
ICAgIGJvb2wgbGVhZjsKPiArICAgIE1BWUJFX1VOVVNFRChWQUxVRSAqKSBjYW5hcnk7Cj4gKyAg
ICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSkgY2M7Cj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9J
TkZPKSBjaTsKPiArICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgb2JqLCByZWN2LCB2YWw7Cj4gKwo+
ICsgICAgU1RBUlRfT0ZfT1JJR0lOQUxfSU5TTihvcHRfbW9kKTsKPiArICAgIGNpID0gKENBTExf
SU5GTylHRVRfT1BFUkFORCgxKTsKPiArICAgIGNjID0gKENBTExfQ0FDSEUpR0VUX09QRVJBTkQo
Mik7Cj4gKyAgICByZWN2ID0gVE9QTigxKTsKPiArICAgIG9iaiA9IFRPUE4oMCk7Cj4gKyAgICBE
RUJVR19FTlRFUl9JTlNOKElOU05fQVRUUihuYW1lKSk7Cj4gKyAgICBpZiAoISAobGVhZiA9IElO
U05fQVRUUihsZWFmKSkpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKPiArICAgIFNFVFVQX0NB
TkFSWSgpOwo+ICsgICAgQ09MTEVDVF9VU0FHRV9JTlNOKElOU05fQVRUUihiaW4pKTsKPiArICAg
IENPTExFQ1RfVVNBR0VfT1BFUkFORChJTlNOX0FUVFIoYmluKSwgMCwgY2kpOwo+ICsgICAgQ09M
TEVDVF9VU0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAxLCBjYyk7Cj4gKyNsaW5lIDExMDMg
Imluc25zLmRlZiIKPiArewo+ICsgICAgdmFsID0gdm1fb3B0X21vZChyZWN2LCBvYmopOwo+ICsK
PiArICAgIGlmICh2YWwgPT0gUXVuZGVmKSB7Cj4gKyAgICAgICAgQ0FMTF9TSU1QTEVfTUVUSE9E
KCk7Cj4gKyAgICB9Cj4gK30KPiArI2xpbmUgMjU2NSAidm0uaW5jIgo+ICsgICAgQ0hFQ0tfVk1f
U1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04oVk1fUkVHX0NGUCwgSU5TTl9BVFRSKHJldG4pKTsKPiAr
ICAgIENIRUNLX0NBTkFSWSgpOwo+ICsgICAgSU5DX1NQKElOU05fQVRUUihzcF9pbmMpKTsKPiAr
ICAgIFRPUE4oMCkgPSB2YWw7Cj4gKyAgICBpZiAobGVhZikgQUREX1BDKElOU05fQVRUUih3aWR0
aCkpOwo+ICsgICAgRU5EX0lOU04ob3B0X21vZCk7Cj4gKyMgICB1bmRlZiBJTlNOX0FUVFIKPiAr
IyAgIHVuZGVmIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOCj4gK30KPiArCj4gKy8qIGluc24gb3B0X2Vx
KGNpLCBjYykocmVjdiwgb2JqKSh2YWwpICovCj4gK0lOU05fRU5UUlkob3B0X2VxKQo+ICt7Cj4g
KyMgICBkZWZpbmUgTkFNRV9PRl9DVVJSRU5UX0lOU04gb3B0X2VxCj4gKyMgICBkZWZpbmUgSU5T
Tl9BVFRSKHgpIGF0dHJfICMjIHggIyMgX29wdF9lcShjaSwgY2MpCj4gKyAgICBib29sIGxlYWY7
Cj4gKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUgKikgY2FuYXJ5Owo+ICsgICAgTUFZQkVfVU5VU0VE
KENBTExfQ0FDSEUpIGNjOwo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTykgY2k7Cj4gKyAg
ICBNQVlCRV9VTlVTRUQoVkFMVUUpIG9iaiwgcmVjdiwgdmFsOwo+ICsKPiArICAgIFNUQVJUX09G
X09SSUdJTkFMX0lOU04ob3B0X2VxKTsKPiArICAgIGNpID0gKENBTExfSU5GTylHRVRfT1BFUkFO
RCgxKTsKPiArICAgIGNjID0gKENBTExfQ0FDSEUpR0VUX09QRVJBTkQoMik7Cj4gKyAgICByZWN2
ID0gVE9QTigxKTsKPiArICAgIG9iaiA9IFRPUE4oMCk7Cj4gKyAgICBERUJVR19FTlRFUl9JTlNO
KElOU05fQVRUUihuYW1lKSk7Cj4gKyAgICBpZiAoISAobGVhZiA9IElOU05fQVRUUihsZWFmKSkp
IEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKPiArICAgIFNFVFVQX0NBTkFSWSgpOwo+ICsgICAg
Q09MTEVDVF9VU0FHRV9JTlNOKElOU05fQVRUUihiaW4pKTsKPiArICAgIENPTExFQ1RfVVNBR0Vf
T1BFUkFORChJTlNOX0FUVFIoYmluKSwgMCwgY2kpOwo+ICsgICAgQ09MTEVDVF9VU0FHRV9PUEVS
QU5EKElOU05fQVRUUihiaW4pLCAxLCBjYyk7Cj4gKyNsaW5lIDExMjEgImluc25zLmRlZiIKPiAr
ewo+ICsgICAgdmFsID0gb3B0X2VxX2Z1bmMocmVjdiwgb2JqLCBjaSwgY2MpOwo+ICsKPiArICAg
IGlmICh2YWwgPT0gUXVuZGVmKSB7Cj4gKyAgICAgICAgQ0FMTF9TSU1QTEVfTUVUSE9EKCk7Cj4g
KyAgICB9Cj4gK30KPiArI2xpbmUgMjYwNiAidm0uaW5jIgo+ICsgICAgQ0hFQ0tfVk1fU1RBQ0tf
T1ZFUkZMT1dfRk9SX0lOU04oVk1fUkVHX0NGUCwgSU5TTl9BVFRSKHJldG4pKTsKPiArICAgIENI
RUNLX0NBTkFSWSgpOwo+ICsgICAgSU5DX1NQKElOU05fQVRUUihzcF9pbmMpKTsKPiArICAgIFRP
UE4oMCkgPSB2YWw7Cj4gKyAgICBpZiAobGVhZikgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOwo+
ICsgICAgRU5EX0lOU04ob3B0X2VxKTsKPiArIyAgIHVuZGVmIElOU05fQVRUUgo+ICsjICAgdW5k
ZWYgTkFNRV9PRl9DVVJSRU5UX0lOU04KPiArfQo+ICsKPiArLyogaW5zbiBvcHRfbmVxKGNpX2Vx
LCBjY19lcSwgY2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KPiArSU5TTl9FTlRSWShvcHRfbmVx
KQo+ICt7Cj4gKyMgICBkZWZpbmUgTkFNRV9PRl9DVVJSRU5UX0lOU04gb3B0X25lcQo+ICsjICAg
ZGVmaW5lIElOU05fQVRUUih4KSBhdHRyXyAjIyB4ICMjIF9vcHRfbmVxKGNpX2VxLCBjY19lcSwg
Y2ksIGNjKQo+ICsgICAgYm9vbCBsZWFmOwo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVFICopIGNh
bmFyeTsKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFKSBjYywgY2NfZXE7Cj4gKyAgICBN
QVlCRV9VTlVTRUQoQ0FMTF9JTkZPKSBjaSwgY2lfZXE7Cj4gKyAgICBNQVlCRV9VTlVTRUQoVkFM
VUUpIG9iaiwgcmVjdiwgdmFsOwo+ICsKPiArICAgIFNUQVJUX09GX09SSUdJTkFMX0lOU04ob3B0
X25lcSk7Cj4gKyAgICBjaV9lcSA9IChDQUxMX0lORk8pR0VUX09QRVJBTkQoMSk7Cj4gKyAgICBj
Y19lcSA9IChDQUxMX0NBQ0hFKUdFVF9PUEVSQU5EKDIpOwo+ICsgICAgY2kgPSAoQ0FMTF9JTkZP
KUdFVF9PUEVSQU5EKDMpOwo+ICsgICAgY2MgPSAoQ0FMTF9DQUNIRSlHRVRfT1BFUkFORCg0KTsK
PiArICAgIHJlY3YgPSBUT1BOKDEpOwo+ICsgICAgb2JqID0gVE9QTigwKTsKPiArICAgIERFQlVH
X0VOVEVSX0lOU04oSU5TTl9BVFRSKG5hbWUpKTsKPiArICAgIGlmICghIChsZWFmID0gSU5TTl9B
VFRSKGxlYWYpKSkgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOwo+ICsgICAgU0VUVVBfQ0FOQVJZ
KCk7Cj4gKyAgICBDT0xMRUNUX1VTQUdFX0lOU04oSU5TTl9BVFRSKGJpbikpOwo+ICsgICAgQ09M
TEVDVF9VU0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAwLCBjaV9lcSk7Cj4gKyAgICBDT0xM
RUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDEsIGNjX2VxKTsKPiArICAgIENPTExF
Q1RfVVNBR0VfT1BFUkFORChJTlNOX0FUVFIoYmluKSwgMiwgY2kpOwo+ICsgICAgQ09MTEVDVF9V
U0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAzLCBjYyk7Cj4gKyNsaW5lIDExMzcgImluc25z
LmRlZiIKPiArewo+ICsgICAgdmFsID0gdm1fb3B0X25lcShjaSwgY2MsIGNpX2VxLCBjY19lcSwg
cmVjdiwgb2JqKTsKPiArCj4gKyAgICBpZiAodmFsID09IFF1bmRlZikgewo+ICsgICAgICAgIENB
TExfU0lNUExFX01FVEhPRCgpOwo+ICsgICAgfQo+ICt9Cj4gKyNsaW5lIDI2NTEgInZtLmluYyIK
PiArICAgIENIRUNLX1ZNX1NUQUNLX09WRVJGTE9XX0ZPUl9JTlNOKFZNX1JFR19DRlAsIElOU05f
QVRUUihyZXRuKSk7Cj4gKyAgICBDSEVDS19DQU5BUlkoKTsKPiArICAgIElOQ19TUChJTlNOX0FU
VFIoc3BfaW5jKSk7Cj4gKyAgICBUT1BOKDApID0gdmFsOwo+ICsgICAgaWYgKGxlYWYpIEFERF9Q
QyhJTlNOX0FUVFIod2lkdGgpKTsKPiArICAgIEVORF9JTlNOKG9wdF9uZXEpOwo+ICsjICAgdW5k
ZWYgSU5TTl9BVFRSCj4gKyMgICB1bmRlZiBOQU1FX09GX0NVUlJFTlRfSU5TTgo+ICt9Cj4gKwo+
ICsvKiBpbnNuIG9wdF9sdChjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLwo+ICtJTlNOX0VOVFJZ
KG9wdF9sdCkKPiArewo+ICsjICAgZGVmaW5lIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOIG9wdF9sdAo+
ICsjICAgZGVmaW5lIElOU05fQVRUUih4KSBhdHRyXyAjIyB4ICMjIF9vcHRfbHQoY2ksIGNjKQo+
ICsgICAgYm9vbCBsZWFmOwo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVFICopIGNhbmFyeTsKPiAr
ICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFKSBjYzsKPiArICAgIE1BWUJFX1VOVVNFRChDQUxM
X0lORk8pIGNpOwo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSBvYmosIHJlY3YsIHZhbDsKPiAr
Cj4gKyAgICBTVEFSVF9PRl9PUklHSU5BTF9JTlNOKG9wdF9sdCk7Cj4gKyAgICBjaSA9IChDQUxM
X0lORk8pR0VUX09QRVJBTkQoMSk7Cj4gKyAgICBjYyA9IChDQUxMX0NBQ0hFKUdFVF9PUEVSQU5E
KDIpOwo+ICsgICAgcmVjdiA9IFRPUE4oMSk7Cj4gKyAgICBvYmogPSBUT1BOKDApOwo+ICsgICAg
REVCVUdfRU5URVJfSU5TTihJTlNOX0FUVFIobmFtZSkpOwo+ICsgICAgaWYgKCEgKGxlYWYgPSBJ
TlNOX0FUVFIobGVhZikpKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7Cj4gKyAgICBTRVRVUF9D
QU5BUlkoKTsKPiArICAgIENPTExFQ1RfVVNBR0VfSU5TTihJTlNOX0FUVFIoYmluKSk7Cj4gKyAg
ICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDAsIGNpKTsKPiArICAgIENP
TExFQ1RfVVNBR0VfT1BFUkFORChJTlNOX0FUVFIoYmluKSwgMSwgY2MpOwo+ICsjbGluZSAxMTUx
ICJpbnNucy5kZWYiCj4gK3sKPiArICAgIHZhbCA9IHZtX29wdF9sdChyZWN2LCBvYmopOwo+ICsK
PiArICAgIGlmICh2YWwgPT0gUXVuZGVmKSB7Cj4gKyAgICAgICAgQ0FMTF9TSU1QTEVfTUVUSE9E
KCk7Cj4gKyAgICB9Cj4gK30KPiArI2xpbmUgMjY5MiAidm0uaW5jIgo+ICsgICAgQ0hFQ0tfVk1f
U1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04oVk1fUkVHX0NGUCwgSU5TTl9BVFRSKHJldG4pKTsKPiAr
ICAgIENIRUNLX0NBTkFSWSgpOwo+ICsgICAgSU5DX1NQKElOU05fQVRUUihzcF9pbmMpKTsKPiAr
ICAgIFRPUE4oMCkgPSB2YWw7Cj4gKyAgICBpZiAobGVhZikgQUREX1BDKElOU05fQVRUUih3aWR0
aCkpOwo+ICsgICAgRU5EX0lOU04ob3B0X2x0KTsKPiArIyAgIHVuZGVmIElOU05fQVRUUgo+ICsj
ICAgdW5kZWYgTkFNRV9PRl9DVVJSRU5UX0lOU04KPiArfQo+ICsKPiArLyogaW5zbiBvcHRfbGUo
Y2ksIGNjKShyZWN2LCBvYmopKHZhbCkgKi8KPiArSU5TTl9FTlRSWShvcHRfbGUpCj4gK3sKPiAr
IyAgIGRlZmluZSBOQU1FX09GX0NVUlJFTlRfSU5TTiBvcHRfbGUKPiArIyAgIGRlZmluZSBJTlNO
X0FUVFIoeCkgYXR0cl8gIyMgeCAjIyBfb3B0X2xlKGNpLCBjYykKPiArICAgIGJvb2wgbGVhZjsK
PiArICAgIE1BWUJFX1VOVVNFRChWQUxVRSAqKSBjYW5hcnk7Cj4gKyAgICBNQVlCRV9VTlVTRUQo
Q0FMTF9DQUNIRSkgY2M7Cj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPKSBjaTsKPiArICAg
IE1BWUJFX1VOVVNFRChWQUxVRSkgb2JqLCByZWN2LCB2YWw7Cj4gKwo+ICsgICAgU1RBUlRfT0Zf
T1JJR0lOQUxfSU5TTihvcHRfbGUpOwo+ICsgICAgY2kgPSAoQ0FMTF9JTkZPKUdFVF9PUEVSQU5E
KDEpOwo+ICsgICAgY2MgPSAoQ0FMTF9DQUNIRSlHRVRfT1BFUkFORCgyKTsKPiArICAgIHJlY3Yg
PSBUT1BOKDEpOwo+ICsgICAgb2JqID0gVE9QTigwKTsKPiArICAgIERFQlVHX0VOVEVSX0lOU04o
SU5TTl9BVFRSKG5hbWUpKTsKPiArICAgIGlmICghIChsZWFmID0gSU5TTl9BVFRSKGxlYWYpKSkg
QUREX1BDKElOU05fQVRUUih3aWR0aCkpOwo+ICsgICAgU0VUVVBfQ0FOQVJZKCk7Cj4gKyAgICBD
T0xMRUNUX1VTQUdFX0lOU04oSU5TTl9BVFRSKGJpbikpOwo+ICsgICAgQ09MTEVDVF9VU0FHRV9P
UEVSQU5EKElOU05fQVRUUihiaW4pLCAwLCBjaSk7Cj4gKyAgICBDT0xMRUNUX1VTQUdFX09QRVJB
TkQoSU5TTl9BVFRSKGJpbiksIDEsIGNjKTsKPiArI2xpbmUgMTE2NSAiaW5zbnMuZGVmIgo+ICt7
Cj4gKyAgICB2YWwgPSB2bV9vcHRfbGUocmVjdiwgb2JqKTsKPiArCj4gKyAgICBpZiAodmFsID09
IFF1bmRlZikgewo+ICsgICAgICAgIENBTExfU0lNUExFX01FVEhPRCgpOwo+ICsgICAgfQo+ICt9
Cj4gKyNsaW5lIDI3MzMgInZtLmluYyIKPiArICAgIENIRUNLX1ZNX1NUQUNLX09WRVJGTE9XX0ZP
Ul9JTlNOKFZNX1JFR19DRlAsIElOU05fQVRUUihyZXRuKSk7Cj4gKyAgICBDSEVDS19DQU5BUlko
KTsKPiArICAgIElOQ19TUChJTlNOX0FUVFIoc3BfaW5jKSk7Cj4gKyAgICBUT1BOKDApID0gdmFs
Owo+ICsgICAgaWYgKGxlYWYpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKPiArICAgIEVORF9J
TlNOKG9wdF9sZSk7Cj4gKyMgICB1bmRlZiBJTlNOX0FUVFIKPiArIyAgIHVuZGVmIE5BTUVfT0Zf
Q1VSUkVOVF9JTlNOCj4gK30KPiArCj4gKy8qIGluc24gb3B0X2d0KGNpLCBjYykocmVjdiwgb2Jq
KSh2YWwpICovCj4gK0lOU05fRU5UUlkob3B0X2d0KQo+ICt7Cj4gKyMgICBkZWZpbmUgTkFNRV9P
Rl9DVVJSRU5UX0lOU04gb3B0X2d0Cj4gKyMgICBkZWZpbmUgSU5TTl9BVFRSKHgpIGF0dHJfICMj
IHggIyMgX29wdF9ndChjaSwgY2MpCj4gKyAgICBib29sIGxlYWY7Cj4gKyAgICBNQVlCRV9VTlVT
RUQoVkFMVUUgKikgY2FuYXJ5Owo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUpIGNjOwo+
ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTykgY2k7Cj4gKyAgICBNQVlCRV9VTlVTRUQoVkFM
VUUpIG9iaiwgcmVjdiwgdmFsOwo+ICsKPiArICAgIFNUQVJUX09GX09SSUdJTkFMX0lOU04ob3B0
X2d0KTsKPiArICAgIGNpID0gKENBTExfSU5GTylHRVRfT1BFUkFORCgxKTsKPiArICAgIGNjID0g
KENBTExfQ0FDSEUpR0VUX09QRVJBTkQoMik7Cj4gKyAgICByZWN2ID0gVE9QTigxKTsKPiArICAg
IG9iaiA9IFRPUE4oMCk7Cj4gKyAgICBERUJVR19FTlRFUl9JTlNOKElOU05fQVRUUihuYW1lKSk7
Cj4gKyAgICBpZiAoISAobGVhZiA9IElOU05fQVRUUihsZWFmKSkpIEFERF9QQyhJTlNOX0FUVFIo
d2lkdGgpKTsKPiArICAgIFNFVFVQX0NBTkFSWSgpOwo+ICsgICAgQ09MTEVDVF9VU0FHRV9JTlNO
KElOU05fQVRUUihiaW4pKTsKPiArICAgIENPTExFQ1RfVVNBR0VfT1BFUkFORChJTlNOX0FUVFIo
YmluKSwgMCwgY2kpOwo+ICsgICAgQ09MTEVDVF9VU0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4p
LCAxLCBjYyk7Cj4gKyNsaW5lIDExNzkgImluc25zLmRlZiIKPiArewo+ICsgICAgdmFsID0gdm1f
b3B0X2d0KHJlY3YsIG9iaik7Cj4gKwo+ICsgICAgaWYgKHZhbCA9PSBRdW5kZWYpIHsKPiArICAg
ICAgICBDQUxMX1NJTVBMRV9NRVRIT0QoKTsKPiArICAgIH0KPiArfQo+ICsjbGluZSAyNzc0ICJ2
bS5pbmMiCj4gKyAgICBDSEVDS19WTV9TVEFDS19PVkVSRkxPV19GT1JfSU5TTihWTV9SRUdfQ0ZQ
LCBJTlNOX0FUVFIocmV0bikpOwo+ICsgICAgQ0hFQ0tfQ0FOQVJZKCk7Cj4gKyAgICBJTkNfU1Ao
SU5TTl9BVFRSKHNwX2luYykpOwo+ICsgICAgVE9QTigwKSA9IHZhbDsKPiArICAgIGlmIChsZWFm
KSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7Cj4gKyAgICBFTkRfSU5TTihvcHRfZ3QpOwo+ICsj
ICAgdW5kZWYgSU5TTl9BVFRSCj4gKyMgICB1bmRlZiBOQU1FX09GX0NVUlJFTlRfSU5TTgo+ICt9
Cj4gKwo+ICsvKiBpbnNuIG9wdF9nZShjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLwo+ICtJTlNO
X0VOVFJZKG9wdF9nZSkKPiArewo+ICsjICAgZGVmaW5lIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOIG9w
dF9nZQo+ICsjICAgZGVmaW5lIElOU05fQVRUUih4KSBhdHRyXyAjIyB4ICMjIF9vcHRfZ2UoY2ks
IGNjKQo+ICsgICAgYm9vbCBsZWFmOwo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVFICopIGNhbmFy
eTsKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFKSBjYzsKPiArICAgIE1BWUJFX1VOVVNF
RChDQUxMX0lORk8pIGNpOwo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSBvYmosIHJlY3YsIHZh
bDsKPiArCj4gKyAgICBTVEFSVF9PRl9PUklHSU5BTF9JTlNOKG9wdF9nZSk7Cj4gKyAgICBjaSA9
IChDQUxMX0lORk8pR0VUX09QRVJBTkQoMSk7Cj4gKyAgICBjYyA9IChDQUxMX0NBQ0hFKUdFVF9P
UEVSQU5EKDIpOwo+ICsgICAgcmVjdiA9IFRPUE4oMSk7Cj4gKyAgICBvYmogPSBUT1BOKDApOwo+
ICsgICAgREVCVUdfRU5URVJfSU5TTihJTlNOX0FUVFIobmFtZSkpOwo+ICsgICAgaWYgKCEgKGxl
YWYgPSBJTlNOX0FUVFIobGVhZikpKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7Cj4gKyAgICBT
RVRVUF9DQU5BUlkoKTsKPiArICAgIENPTExFQ1RfVVNBR0VfSU5TTihJTlNOX0FUVFIoYmluKSk7
Cj4gKyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDAsIGNpKTsKPiAr
ICAgIENPTExFQ1RfVVNBR0VfT1BFUkFORChJTlNOX0FUVFIoYmluKSwgMSwgY2MpOwo+ICsjbGlu
ZSAxMTkzICJpbnNucy5kZWYiCj4gK3sKPiArICAgIHZhbCA9IHZtX29wdF9nZShyZWN2LCBvYmop
Owo+ICsKPiArICAgIGlmICh2YWwgPT0gUXVuZGVmKSB7Cj4gKyAgICAgICAgQ0FMTF9TSU1QTEVf
TUVUSE9EKCk7Cj4gKyAgICB9Cj4gK30KPiArI2xpbmUgMjgxNSAidm0uaW5jIgo+ICsgICAgQ0hF
Q0tfVk1fU1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04oVk1fUkVHX0NGUCwgSU5TTl9BVFRSKHJldG4p
KTsKPiArICAgIENIRUNLX0NBTkFSWSgpOwo+ICsgICAgSU5DX1NQKElOU05fQVRUUihzcF9pbmMp
KTsKPiArICAgIFRPUE4oMCkgPSB2YWw7Cj4gKyAgICBpZiAobGVhZikgQUREX1BDKElOU05fQVRU
Uih3aWR0aCkpOwo+ICsgICAgRU5EX0lOU04ob3B0X2dlKTsKPiArIyAgIHVuZGVmIElOU05fQVRU
Ugo+ICsjICAgdW5kZWYgTkFNRV9PRl9DVVJSRU5UX0lOU04KPiArfQo+ICsKPiArLyogaW5zbiBv
cHRfbHRsdChjaSwgY2MpKHJlY3YsIG9iaikodmFsKSAqLwo+ICtJTlNOX0VOVFJZKG9wdF9sdGx0
KQo+ICt7Cj4gKyMgICBkZWZpbmUgTkFNRV9PRl9DVVJSRU5UX0lOU04gb3B0X2x0bHQKPiArIyAg
IGRlZmluZSBJTlNOX0FUVFIoeCkgYXR0cl8gIyMgeCAjIyBfb3B0X2x0bHQoY2ksIGNjKQo+ICsg
ICAgYm9vbCBsZWFmOwo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVFICopIGNhbmFyeTsKPiArICAg
IE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFKSBjYzsKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0lO
Rk8pIGNpOwo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSBvYmosIHJlY3YsIHZhbDsKPiArCj4g
KyAgICBTVEFSVF9PRl9PUklHSU5BTF9JTlNOKG9wdF9sdGx0KTsKPiArICAgIGNpID0gKENBTExf
SU5GTylHRVRfT1BFUkFORCgxKTsKPiArICAgIGNjID0gKENBTExfQ0FDSEUpR0VUX09QRVJBTkQo
Mik7Cj4gKyAgICByZWN2ID0gVE9QTigxKTsKPiArICAgIG9iaiA9IFRPUE4oMCk7Cj4gKyAgICBE
RUJVR19FTlRFUl9JTlNOKElOU05fQVRUUihuYW1lKSk7Cj4gKyAgICBpZiAoISAobGVhZiA9IElO
U05fQVRUUihsZWFmKSkpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKPiArICAgIFNFVFVQX0NB
TkFSWSgpOwo+ICsgICAgQ09MTEVDVF9VU0FHRV9JTlNOKElOU05fQVRUUihiaW4pKTsKPiArICAg
IENPTExFQ1RfVVNBR0VfT1BFUkFORChJTlNOX0FUVFIoYmluKSwgMCwgY2kpOwo+ICsgICAgQ09M
TEVDVF9VU0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAxLCBjYyk7Cj4gKyNsaW5lIDEyMDcg
Imluc25zLmRlZiIKPiArewo+ICsgICAgdmFsID0gdm1fb3B0X2x0bHQocmVjdiwgb2JqKTsKPiAr
Cj4gKyAgICBpZiAodmFsID09IFF1bmRlZikgewo+ICsgICAgICAgIENBTExfU0lNUExFX01FVEhP
RCgpOwo+ICsgICAgfQo+ICt9Cj4gKyNsaW5lIDI4NTYgInZtLmluYyIKPiArICAgIENIRUNLX1ZN
X1NUQUNLX09WRVJGTE9XX0ZPUl9JTlNOKFZNX1JFR19DRlAsIElOU05fQVRUUihyZXRuKSk7Cj4g
KyAgICBDSEVDS19DQU5BUlkoKTsKPiArICAgIElOQ19TUChJTlNOX0FUVFIoc3BfaW5jKSk7Cj4g
KyAgICBUT1BOKDApID0gdmFsOwo+ICsgICAgaWYgKGxlYWYpIEFERF9QQyhJTlNOX0FUVFIod2lk
dGgpKTsKPiArICAgIEVORF9JTlNOKG9wdF9sdGx0KTsKPiArIyAgIHVuZGVmIElOU05fQVRUUgo+
ICsjICAgdW5kZWYgTkFNRV9PRl9DVVJSRU5UX0lOU04KPiArfQo+ICsKPiArLyogaW5zbiBvcHRf
YW5kKGNpLCBjYykocmVjdiwgb2JqKSh2YWwpICovCj4gK0lOU05fRU5UUlkob3B0X2FuZCkKPiAr
ewo+ICsjICAgZGVmaW5lIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOIG9wdF9hbmQKPiArIyAgIGRlZmlu
ZSBJTlNOX0FUVFIoeCkgYXR0cl8gIyMgeCAjIyBfb3B0X2FuZChjaSwgY2MpCj4gKyAgICBib29s
IGxlYWY7Cj4gKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUgKikgY2FuYXJ5Owo+ICsgICAgTUFZQkVf
VU5VU0VEKENBTExfQ0FDSEUpIGNjOwo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTykgY2k7
Cj4gKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIG9iaiwgcmVjdiwgdmFsOwo+ICsKPiArICAgIFNU
QVJUX09GX09SSUdJTkFMX0lOU04ob3B0X2FuZCk7Cj4gKyAgICBjaSA9IChDQUxMX0lORk8pR0VU
X09QRVJBTkQoMSk7Cj4gKyAgICBjYyA9IChDQUxMX0NBQ0hFKUdFVF9PUEVSQU5EKDIpOwo+ICsg
ICAgcmVjdiA9IFRPUE4oMSk7Cj4gKyAgICBvYmogPSBUT1BOKDApOwo+ICsgICAgREVCVUdfRU5U
RVJfSU5TTihJTlNOX0FUVFIobmFtZSkpOwo+ICsgICAgaWYgKCEgKGxlYWYgPSBJTlNOX0FUVFIo
bGVhZikpKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7Cj4gKyAgICBTRVRVUF9DQU5BUlkoKTsK
PiArICAgIENPTExFQ1RfVVNBR0VfSU5TTihJTlNOX0FUVFIoYmluKSk7Cj4gKyAgICBDT0xMRUNU
X1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDAsIGNpKTsKPiArICAgIENPTExFQ1RfVVNB
R0VfT1BFUkFORChJTlNOX0FUVFIoYmluKSwgMSwgY2MpOwo+ICsjbGluZSAxMjIxICJpbnNucy5k
ZWYiCj4gK3sKPiArICAgIHZhbCA9IHZtX29wdF9hbmQocmVjdiwgb2JqKTsKPiArCj4gKyAgICBp
ZiAodmFsID09IFF1bmRlZikgewo+ICsgICAgICAgIENBTExfU0lNUExFX01FVEhPRCgpOwo+ICsg
ICAgfQo+ICt9Cj4gKyNsaW5lIDI4OTcgInZtLmluYyIKPiArICAgIENIRUNLX1ZNX1NUQUNLX09W
RVJGTE9XX0ZPUl9JTlNOKFZNX1JFR19DRlAsIElOU05fQVRUUihyZXRuKSk7Cj4gKyAgICBDSEVD
S19DQU5BUlkoKTsKPiArICAgIElOQ19TUChJTlNOX0FUVFIoc3BfaW5jKSk7Cj4gKyAgICBUT1BO
KDApID0gdmFsOwo+ICsgICAgaWYgKGxlYWYpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKPiAr
ICAgIEVORF9JTlNOKG9wdF9hbmQpOwo+ICsjICAgdW5kZWYgSU5TTl9BVFRSCj4gKyMgICB1bmRl
ZiBOQU1FX09GX0NVUlJFTlRfSU5TTgo+ICt9Cj4gKwo+ICsvKiBpbnNuIG9wdF9vcihjaSwgY2Mp
KHJlY3YsIG9iaikodmFsKSAqLwo+ICtJTlNOX0VOVFJZKG9wdF9vcikKPiArewo+ICsjICAgZGVm
aW5lIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOIG9wdF9vcgo+ICsjICAgZGVmaW5lIElOU05fQVRUUih4
KSBhdHRyXyAjIyB4ICMjIF9vcHRfb3IoY2ksIGNjKQo+ICsgICAgYm9vbCBsZWFmOwo+ICsgICAg
TUFZQkVfVU5VU0VEKFZBTFVFICopIGNhbmFyeTsKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NB
Q0hFKSBjYzsKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8pIGNpOwo+ICsgICAgTUFZQkVf
VU5VU0VEKFZBTFVFKSBvYmosIHJlY3YsIHZhbDsKPiArCj4gKyAgICBTVEFSVF9PRl9PUklHSU5B
TF9JTlNOKG9wdF9vcik7Cj4gKyAgICBjaSA9IChDQUxMX0lORk8pR0VUX09QRVJBTkQoMSk7Cj4g
KyAgICBjYyA9IChDQUxMX0NBQ0hFKUdFVF9PUEVSQU5EKDIpOwo+ICsgICAgcmVjdiA9IFRPUE4o
MSk7Cj4gKyAgICBvYmogPSBUT1BOKDApOwo+ICsgICAgREVCVUdfRU5URVJfSU5TTihJTlNOX0FU
VFIobmFtZSkpOwo+ICsgICAgaWYgKCEgKGxlYWYgPSBJTlNOX0FUVFIobGVhZikpKSBBRERfUEMo
SU5TTl9BVFRSKHdpZHRoKSk7Cj4gKyAgICBTRVRVUF9DQU5BUlkoKTsKPiArICAgIENPTExFQ1Rf
VVNBR0VfSU5TTihJTlNOX0FUVFIoYmluKSk7Cj4gKyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQo
SU5TTl9BVFRSKGJpbiksIDAsIGNpKTsKPiArICAgIENPTExFQ1RfVVNBR0VfT1BFUkFORChJTlNO
X0FUVFIoYmluKSwgMSwgY2MpOwo+ICsjbGluZSAxMjM1ICJpbnNucy5kZWYiCj4gK3sKPiArICAg
IHZhbCA9IHZtX29wdF9vcihyZWN2LCBvYmopOwo+ICsKPiArICAgIGlmICh2YWwgPT0gUXVuZGVm
KSB7Cj4gKyAgICAgICAgQ0FMTF9TSU1QTEVfTUVUSE9EKCk7Cj4gKyAgICB9Cj4gK30KPiArI2xp
bmUgMjkzOCAidm0uaW5jIgo+ICsgICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04o
Vk1fUkVHX0NGUCwgSU5TTl9BVFRSKHJldG4pKTsKPiArICAgIENIRUNLX0NBTkFSWSgpOwo+ICsg
ICAgSU5DX1NQKElOU05fQVRUUihzcF9pbmMpKTsKPiArICAgIFRPUE4oMCkgPSB2YWw7Cj4gKyAg
ICBpZiAobGVhZikgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOwo+ICsgICAgRU5EX0lOU04ob3B0
X29yKTsKPiArIyAgIHVuZGVmIElOU05fQVRUUgo+ICsjICAgdW5kZWYgTkFNRV9PRl9DVVJSRU5U
X0lOU04KPiArfQo+ICsKPiArLyogaW5zbiBvcHRfYXJlZihjaSwgY2MpKHJlY3YsIG9iaikodmFs
KSAqLwo+ICtJTlNOX0VOVFJZKG9wdF9hcmVmKQo+ICt7Cj4gKyMgICBkZWZpbmUgTkFNRV9PRl9D
VVJSRU5UX0lOU04gb3B0X2FyZWYKPiArIyAgIGRlZmluZSBJTlNOX0FUVFIoeCkgYXR0cl8gIyMg
eCAjIyBfb3B0X2FyZWYoY2ksIGNjKQo+ICsgICAgYm9vbCBsZWFmOwo+ICsgICAgTUFZQkVfVU5V
U0VEKFZBTFVFICopIGNhbmFyeTsKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFKSBjYzsK
PiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8pIGNpOwo+ICsgICAgTUFZQkVfVU5VU0VEKFZB
TFVFKSBvYmosIHJlY3YsIHZhbDsKPiArCj4gKyAgICBTVEFSVF9PRl9PUklHSU5BTF9JTlNOKG9w
dF9hcmVmKTsKPiArICAgIGNpID0gKENBTExfSU5GTylHRVRfT1BFUkFORCgxKTsKPiArICAgIGNj
ID0gKENBTExfQ0FDSEUpR0VUX09QRVJBTkQoMik7Cj4gKyAgICByZWN2ID0gVE9QTigxKTsKPiAr
ICAgIG9iaiA9IFRPUE4oMCk7Cj4gKyAgICBERUJVR19FTlRFUl9JTlNOKElOU05fQVRUUihuYW1l
KSk7Cj4gKyAgICBpZiAoISAobGVhZiA9IElOU05fQVRUUihsZWFmKSkpIEFERF9QQyhJTlNOX0FU
VFIod2lkdGgpKTsKPiArICAgIFNFVFVQX0NBTkFSWSgpOwo+ICsgICAgQ09MTEVDVF9VU0FHRV9J
TlNOKElOU05fQVRUUihiaW4pKTsKPiArICAgIENPTExFQ1RfVVNBR0VfT1BFUkFORChJTlNOX0FU
VFIoYmluKSwgMCwgY2kpOwo+ICsgICAgQ09MTEVDVF9VU0FHRV9PUEVSQU5EKElOU05fQVRUUihi
aW4pLCAxLCBjYyk7Cj4gKyNsaW5lIDEyNTQgImluc25zLmRlZiIKPiArewo+ICsgICAgdmFsID0g
dm1fb3B0X2FyZWYocmVjdiwgb2JqKTsKPiArCj4gKyAgICBpZiAodmFsID09IFF1bmRlZikgewo+
ICsgICAgICAgIENBTExfU0lNUExFX01FVEhPRCgpOwo+ICsgICAgfQo+ICt9Cj4gKyNsaW5lIDI5
NzkgInZtLmluYyIKPiArICAgIENIRUNLX1ZNX1NUQUNLX09WRVJGTE9XX0ZPUl9JTlNOKFZNX1JF
R19DRlAsIElOU05fQVRUUihyZXRuKSk7Cj4gKyAgICBDSEVDS19DQU5BUlkoKTsKPiArICAgIElO
Q19TUChJTlNOX0FUVFIoc3BfaW5jKSk7Cj4gKyAgICBUT1BOKDApID0gdmFsOwo+ICsgICAgaWYg
KGxlYWYpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKPiArICAgIEVORF9JTlNOKG9wdF9hcmVm
KTsKPiArIyAgIHVuZGVmIElOU05fQVRUUgo+ICsjICAgdW5kZWYgTkFNRV9PRl9DVVJSRU5UX0lO
U04KPiArfQo+ICsKPiArLyogaW5zbiBvcHRfYXNldChjaSwgY2MpKHJlY3YsIG9iaiwgc2V0KSh2
YWwpICovCj4gK0lOU05fRU5UUlkob3B0X2FzZXQpCj4gK3sKPiArIyAgIGRlZmluZSBOQU1FX09G
X0NVUlJFTlRfSU5TTiBvcHRfYXNldAo+ICsjICAgZGVmaW5lIElOU05fQVRUUih4KSBhdHRyXyAj
IyB4ICMjIF9vcHRfYXNldChjaSwgY2MpCj4gKyAgICBib29sIGxlYWY7Cj4gKyAgICBNQVlCRV9V
TlVTRUQoVkFMVUUgKikgY2FuYXJ5Owo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUpIGNj
Owo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTykgY2k7Cj4gKyAgICBNQVlCRV9VTlVTRUQo
VkFMVUUpIG9iaiwgcmVjdiwgc2V0LCB2YWw7Cj4gKwo+ICsgICAgU1RBUlRfT0ZfT1JJR0lOQUxf
SU5TTihvcHRfYXNldCk7Cj4gKyAgICBjaSA9IChDQUxMX0lORk8pR0VUX09QRVJBTkQoMSk7Cj4g
KyAgICBjYyA9IChDQUxMX0NBQ0hFKUdFVF9PUEVSQU5EKDIpOwo+ICsgICAgcmVjdiA9IFRPUE4o
Mik7Cj4gKyAgICBvYmogPSBUT1BOKDEpOwo+ICsgICAgc2V0ID0gVE9QTigwKTsKPiArICAgIERF
QlVHX0VOVEVSX0lOU04oSU5TTl9BVFRSKG5hbWUpKTsKPiArICAgIGlmICghIChsZWFmID0gSU5T
Tl9BVFRSKGxlYWYpKSkgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOwo+ICsgICAgU0VUVVBfQ0FO
QVJZKCk7Cj4gKyAgICBDT0xMRUNUX1VTQUdFX0lOU04oSU5TTl9BVFRSKGJpbikpOwo+ICsgICAg
Q09MTEVDVF9VU0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAwLCBjaSk7Cj4gKyAgICBDT0xM
RUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDEsIGNjKTsKPiArI2xpbmUgMTI3MSAi
aW5zbnMuZGVmIgo+ICt7Cj4gKyAgICB2YWwgPSB2bV9vcHRfYXNldChyZWN2LCBvYmosIHNldCk7
Cj4gKwo+ICsgICAgaWYgKHZhbCA9PSBRdW5kZWYpIHsKPiArICAgICAgICBDQUxMX1NJTVBMRV9N
RVRIT0QoKTsKPiArICAgIH0KPiArfQo+ICsjbGluZSAzMDIxICJ2bS5pbmMiCj4gKyAgICBDSEVD
S19WTV9TVEFDS19PVkVSRkxPV19GT1JfSU5TTihWTV9SRUdfQ0ZQLCBJTlNOX0FUVFIocmV0bikp
Owo+ICsgICAgQ0hFQ0tfQ0FOQVJZKCk7Cj4gKyAgICBJTkNfU1AoSU5TTl9BVFRSKHNwX2luYykp
Owo+ICsgICAgVE9QTigwKSA9IHZhbDsKPiArICAgIGlmIChsZWFmKSBBRERfUEMoSU5TTl9BVFRS
KHdpZHRoKSk7Cj4gKyAgICBFTkRfSU5TTihvcHRfYXNldCk7Cj4gKyMgICB1bmRlZiBJTlNOX0FU
VFIKPiArIyAgIHVuZGVmIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOCj4gK30KPiArCj4gKy8qIGluc24g
b3B0X2FzZXRfd2l0aChrZXksIGNpLCBjYykocmVjdiwgdmFsKSh2YWwpICovCj4gK0lOU05fRU5U
Ulkob3B0X2FzZXRfd2l0aCkKPiArewo+ICsjICAgZGVmaW5lIE5BTUVfT0ZfQ1VSUkVOVF9JTlNO
IG9wdF9hc2V0X3dpdGgKPiArIyAgIGRlZmluZSBJTlNOX0FUVFIoeCkgYXR0cl8gIyMgeCAjIyBf
b3B0X2FzZXRfd2l0aChrZXksIGNpLCBjYykKPiArICAgIGJvb2wgbGVhZjsKPiArICAgIE1BWUJF
X1VOVVNFRChWQUxVRSAqKSBjYW5hcnk7Cj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSkg
Y2M7Cj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPKSBjaTsKPiArICAgIE1BWUJFX1VOVVNF
RChWQUxVRSkga2V5LCByZWN2LCB2YWw7Cj4gKwo+ICsgICAgU1RBUlRfT0ZfT1JJR0lOQUxfSU5T
TihvcHRfYXNldF93aXRoKTsKPiArICAgIGtleSA9IChWQUxVRSlHRVRfT1BFUkFORCgxKTsKPiAr
ICAgIGNpID0gKENBTExfSU5GTylHRVRfT1BFUkFORCgyKTsKPiArICAgIGNjID0gKENBTExfQ0FD
SEUpR0VUX09QRVJBTkQoMyk7Cj4gKyAgICByZWN2ID0gVE9QTigxKTsKPiArICAgIHZhbCA9IFRP
UE4oMCk7Cj4gKyAgICBERUJVR19FTlRFUl9JTlNOKElOU05fQVRUUihuYW1lKSk7Cj4gKyAgICBp
ZiAoISAobGVhZiA9IElOU05fQVRUUihsZWFmKSkpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsK
PiArICAgIFNFVFVQX0NBTkFSWSgpOwo+ICsgICAgQ09MTEVDVF9VU0FHRV9JTlNOKElOU05fQVRU
UihiaW4pKTsKPiArICAgIENPTExFQ1RfVVNBR0VfT1BFUkFORChJTlNOX0FUVFIoYmluKSwgMCwg
a2V5KTsKPiArICAgIENPTExFQ1RfVVNBR0VfT1BFUkFORChJTlNOX0FUVFIoYmluKSwgMSwgY2kp
Owo+ICsgICAgQ09MTEVDVF9VU0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAyLCBjYyk7Cj4g
KyNsaW5lIDEyODcgImluc25zLmRlZiIKPiArewo+ICsgICAgVkFMVUUgdG1wID0gdm1fb3B0X2Fz
ZXRfd2l0aChyZWN2LCBrZXksIHZhbCk7Cj4gKwo+ICsgICAgaWYgKHRtcCAhPSBRdW5kZWYpIHsK
PiArICAgICAgIHZhbCA9IHRtcDsKPiArICAgIH0KPiArICAgIGVsc2Ugewo+ICsjaWZuZGVmIE1K
SVRfSEVBREVSCj4gKyAgICAgICBUT1BOKDApID0gcmJfc3RyX3Jlc3VycmVjdChrZXkpOwo+ICsg
ICAgICAgUFVTSCh2YWwpOwo+ICsjZW5kaWYKPiArICAgICAgICBDQUxMX1NJTVBMRV9NRVRIT0Qo
KTsKPiArICAgIH0KPiArfQo+ICsjbGluZSAzMDcxICJ2bS5pbmMiCj4gKyAgICBDSEVDS19WTV9T
VEFDS19PVkVSRkxPV19GT1JfSU5TTihWTV9SRUdfQ0ZQLCBJTlNOX0FUVFIocmV0bikpOwo+ICsg
ICAgQ0hFQ0tfQ0FOQVJZKCk7Cj4gKyAgICBJTkNfU1AoSU5TTl9BVFRSKHNwX2luYykpOwo+ICsg
ICAgVE9QTigwKSA9IHZhbDsKPiArICAgIGlmIChsZWFmKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRo
KSk7Cj4gKyAgICBFTkRfSU5TTihvcHRfYXNldF93aXRoKTsKPiArIyAgIHVuZGVmIElOU05fQVRU
Ugo+ICsjICAgdW5kZWYgTkFNRV9PRl9DVVJSRU5UX0lOU04KPiArfQo+ICsKPiArLyogaW5zbiBv
cHRfYXJlZl93aXRoKGtleSwgY2ksIGNjKShyZWN2KSh2YWwpICovCj4gK0lOU05fRU5UUlkob3B0
X2FyZWZfd2l0aCkKPiArewo+ICsjICAgZGVmaW5lIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOIG9wdF9h
cmVmX3dpdGgKPiArIyAgIGRlZmluZSBJTlNOX0FUVFIoeCkgYXR0cl8gIyMgeCAjIyBfb3B0X2Fy
ZWZfd2l0aChrZXksIGNpLCBjYykKPiArICAgIGJvb2wgbGVhZjsKPiArICAgIE1BWUJFX1VOVVNF
RChWQUxVRSAqKSBjYW5hcnk7Cj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSkgY2M7Cj4g
KyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPKSBjaTsKPiArICAgIE1BWUJFX1VOVVNFRChWQUxV
RSkga2V5LCByZWN2LCB2YWw7Cj4gKwo+ICsgICAgU1RBUlRfT0ZfT1JJR0lOQUxfSU5TTihvcHRf
YXJlZl93aXRoKTsKPiArICAgIGtleSA9IChWQUxVRSlHRVRfT1BFUkFORCgxKTsKPiArICAgIGNp
ID0gKENBTExfSU5GTylHRVRfT1BFUkFORCgyKTsKPiArICAgIGNjID0gKENBTExfQ0FDSEUpR0VU
X09QRVJBTkQoMyk7Cj4gKyAgICByZWN2ID0gVE9QTigwKTsKPiArICAgIERFQlVHX0VOVEVSX0lO
U04oSU5TTl9BVFRSKG5hbWUpKTsKPiArICAgIGlmICghIChsZWFmID0gSU5TTl9BVFRSKGxlYWYp
KSkgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOwo+ICsgICAgU0VUVVBfQ0FOQVJZKCk7Cj4gKyAg
ICBDT0xMRUNUX1VTQUdFX0lOU04oSU5TTl9BVFRSKGJpbikpOwo+ICsgICAgQ09MTEVDVF9VU0FH
RV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAwLCBrZXkpOwo+ICsgICAgQ09MTEVDVF9VU0FHRV9P
UEVSQU5EKElOU05fQVRUUihiaW4pLCAxLCBjaSk7Cj4gKyAgICBDT0xMRUNUX1VTQUdFX09QRVJB
TkQoSU5TTl9BVFRSKGJpbiksIDIsIGNjKTsKPiArI2xpbmUgMTMxMCAiaW5zbnMuZGVmIgo+ICt7
Cj4gKyAgICB2YWwgPSB2bV9vcHRfYXJlZl93aXRoKHJlY3YsIGtleSk7Cj4gKwo+ICsgICAgaWYg
KHZhbCA9PSBRdW5kZWYpIHsKPiArI2lmbmRlZiBNSklUX0hFQURFUgo+ICsgICAgICAgUFVTSChy
Yl9zdHJfcmVzdXJyZWN0KGtleSkpOwo+ICsjZW5kaWYKPiArICAgICAgICBDQUxMX1NJTVBMRV9N
RVRIT0QoKTsKPiArICAgIH0KPiArfQo+ICsjbGluZSAzMTE2ICJ2bS5pbmMiCj4gKyAgICBDSEVD
S19WTV9TVEFDS19PVkVSRkxPV19GT1JfSU5TTihWTV9SRUdfQ0ZQLCBJTlNOX0FUVFIocmV0bikp
Owo+ICsgICAgQ0hFQ0tfQ0FOQVJZKCk7Cj4gKyAgICBJTkNfU1AoSU5TTl9BVFRSKHNwX2luYykp
Owo+ICsgICAgVE9QTigwKSA9IHZhbDsKPiArICAgIGlmIChsZWFmKSBBRERfUEMoSU5TTl9BVFRS
KHdpZHRoKSk7Cj4gKyAgICBFTkRfSU5TTihvcHRfYXJlZl93aXRoKTsKPiArIyAgIHVuZGVmIElO
U05fQVRUUgo+ICsjICAgdW5kZWYgTkFNRV9PRl9DVVJSRU5UX0lOU04KPiArfQo+ICsKPiArLyog
aW5zbiBvcHRfbGVuZ3RoKGNpLCBjYykocmVjdikodmFsKSAqLwo+ICtJTlNOX0VOVFJZKG9wdF9s
ZW5ndGgpCj4gK3sKPiArIyAgIGRlZmluZSBOQU1FX09GX0NVUlJFTlRfSU5TTiBvcHRfbGVuZ3Ro
Cj4gKyMgICBkZWZpbmUgSU5TTl9BVFRSKHgpIGF0dHJfICMjIHggIyMgX29wdF9sZW5ndGgoY2ks
IGNjKQo+ICsgICAgYm9vbCBsZWFmOwo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVFICopIGNhbmFy
eTsKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0NBQ0hFKSBjYzsKPiArICAgIE1BWUJFX1VOVVNF
RChDQUxMX0lORk8pIGNpOwo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSByZWN2LCB2YWw7Cj4g
Kwo+ICsgICAgU1RBUlRfT0ZfT1JJR0lOQUxfSU5TTihvcHRfbGVuZ3RoKTsKPiArICAgIGNpID0g
KENBTExfSU5GTylHRVRfT1BFUkFORCgxKTsKPiArICAgIGNjID0gKENBTExfQ0FDSEUpR0VUX09Q
RVJBTkQoMik7Cj4gKyAgICByZWN2ID0gVE9QTigwKTsKPiArICAgIERFQlVHX0VOVEVSX0lOU04o
SU5TTl9BVFRSKG5hbWUpKTsKPiArICAgIGlmICghIChsZWFmID0gSU5TTl9BVFRSKGxlYWYpKSkg
QUREX1BDKElOU05fQVRUUih3aWR0aCkpOwo+ICsgICAgU0VUVVBfQ0FOQVJZKCk7Cj4gKyAgICBD
T0xMRUNUX1VTQUdFX0lOU04oSU5TTl9BVFRSKGJpbikpOwo+ICsgICAgQ09MTEVDVF9VU0FHRV9P
UEVSQU5EKElOU05fQVRUUihiaW4pLCAwLCBjaSk7Cj4gKyAgICBDT0xMRUNUX1VTQUdFX09QRVJB
TkQoSU5TTl9BVFRSKGJpbiksIDEsIGNjKTsKPiArI2xpbmUgMTMyNyAiaW5zbnMuZGVmIgo+ICt7
Cj4gKyAgICB2YWwgPSB2bV9vcHRfbGVuZ3RoKHJlY3YsIEJPUF9MRU5HVEgpOwo+ICsKPiArICAg
IGlmICh2YWwgPT0gUXVuZGVmKSB7Cj4gKyAgICAgICAgQ0FMTF9TSU1QTEVfTUVUSE9EKCk7Cj4g
KyAgICB9Cj4gK30KPiArI2xpbmUgMzE1NiAidm0uaW5jIgo+ICsgICAgQ0hFQ0tfVk1fU1RBQ0tf
T1ZFUkZMT1dfRk9SX0lOU04oVk1fUkVHX0NGUCwgSU5TTl9BVFRSKHJldG4pKTsKPiArICAgIENI
RUNLX0NBTkFSWSgpOwo+ICsgICAgSU5DX1NQKElOU05fQVRUUihzcF9pbmMpKTsKPiArICAgIFRP
UE4oMCkgPSB2YWw7Cj4gKyAgICBpZiAobGVhZikgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOwo+
ICsgICAgRU5EX0lOU04ob3B0X2xlbmd0aCk7Cj4gKyMgICB1bmRlZiBJTlNOX0FUVFIKPiArIyAg
IHVuZGVmIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOCj4gK30KPiArCj4gKy8qIGluc24gb3B0X3NpemUo
Y2ksIGNjKShyZWN2KSh2YWwpICovCj4gK0lOU05fRU5UUlkob3B0X3NpemUpCj4gK3sKPiArIyAg
IGRlZmluZSBOQU1FX09GX0NVUlJFTlRfSU5TTiBvcHRfc2l6ZQo+ICsjICAgZGVmaW5lIElOU05f
QVRUUih4KSBhdHRyXyAjIyB4ICMjIF9vcHRfc2l6ZShjaSwgY2MpCj4gKyAgICBib29sIGxlYWY7
Cj4gKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUgKikgY2FuYXJ5Owo+ICsgICAgTUFZQkVfVU5VU0VE
KENBTExfQ0FDSEUpIGNjOwo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTykgY2k7Cj4gKyAg
ICBNQVlCRV9VTlVTRUQoVkFMVUUpIHJlY3YsIHZhbDsKPiArCj4gKyAgICBTVEFSVF9PRl9PUklH
SU5BTF9JTlNOKG9wdF9zaXplKTsKPiArICAgIGNpID0gKENBTExfSU5GTylHRVRfT1BFUkFORCgx
KTsKPiArICAgIGNjID0gKENBTExfQ0FDSEUpR0VUX09QRVJBTkQoMik7Cj4gKyAgICByZWN2ID0g
VE9QTigwKTsKPiArICAgIERFQlVHX0VOVEVSX0lOU04oSU5TTl9BVFRSKG5hbWUpKTsKPiArICAg
IGlmICghIChsZWFmID0gSU5TTl9BVFRSKGxlYWYpKSkgQUREX1BDKElOU05fQVRUUih3aWR0aCkp
Owo+ICsgICAgU0VUVVBfQ0FOQVJZKCk7Cj4gKyAgICBDT0xMRUNUX1VTQUdFX0lOU04oSU5TTl9B
VFRSKGJpbikpOwo+ICsgICAgQ09MTEVDVF9VU0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAw
LCBjaSk7Cj4gKyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDEsIGNj
KTsKPiArI2xpbmUgMTM0MSAiaW5zbnMuZGVmIgo+ICt7Cj4gKyAgICB2YWwgPSB2bV9vcHRfbGVu
Z3RoKHJlY3YsIEJPUF9TSVpFKTsKPiArCj4gKyAgICBpZiAodmFsID09IFF1bmRlZikgewo+ICsg
ICAgICAgIENBTExfU0lNUExFX01FVEhPRCgpOwo+ICsgICAgfQo+ICt9Cj4gKyNsaW5lIDMxOTYg
InZtLmluYyIKPiArICAgIENIRUNLX1ZNX1NUQUNLX09WRVJGTE9XX0ZPUl9JTlNOKFZNX1JFR19D
RlAsIElOU05fQVRUUihyZXRuKSk7Cj4gKyAgICBDSEVDS19DQU5BUlkoKTsKPiArICAgIElOQ19T
UChJTlNOX0FUVFIoc3BfaW5jKSk7Cj4gKyAgICBUT1BOKDApID0gdmFsOwo+ICsgICAgaWYgKGxl
YWYpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKPiArICAgIEVORF9JTlNOKG9wdF9zaXplKTsK
PiArIyAgIHVuZGVmIElOU05fQVRUUgo+ICsjICAgdW5kZWYgTkFNRV9PRl9DVVJSRU5UX0lOU04K
PiArfQo+ICsKPiArLyogaW5zbiBvcHRfZW1wdHlfcChjaSwgY2MpKHJlY3YpKHZhbCkgKi8KPiAr
SU5TTl9FTlRSWShvcHRfZW1wdHlfcCkKPiArewo+ICsjICAgZGVmaW5lIE5BTUVfT0ZfQ1VSUkVO
VF9JTlNOIG9wdF9lbXB0eV9wCj4gKyMgICBkZWZpbmUgSU5TTl9BVFRSKHgpIGF0dHJfICMjIHgg
IyMgX29wdF9lbXB0eV9wKGNpLCBjYykKPiArICAgIGJvb2wgbGVhZjsKPiArICAgIE1BWUJFX1VO
VVNFRChWQUxVRSAqKSBjYW5hcnk7Cj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSkgY2M7
Cj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9JTkZPKSBjaTsKPiArICAgIE1BWUJFX1VOVVNFRChW
QUxVRSkgcmVjdiwgdmFsOwo+ICsKPiArICAgIFNUQVJUX09GX09SSUdJTkFMX0lOU04ob3B0X2Vt
cHR5X3ApOwo+ICsgICAgY2kgPSAoQ0FMTF9JTkZPKUdFVF9PUEVSQU5EKDEpOwo+ICsgICAgY2Mg
PSAoQ0FMTF9DQUNIRSlHRVRfT1BFUkFORCgyKTsKPiArICAgIHJlY3YgPSBUT1BOKDApOwo+ICsg
ICAgREVCVUdfRU5URVJfSU5TTihJTlNOX0FUVFIobmFtZSkpOwo+ICsgICAgaWYgKCEgKGxlYWYg
PSBJTlNOX0FUVFIobGVhZikpKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7Cj4gKyAgICBTRVRV
UF9DQU5BUlkoKTsKPiArICAgIENPTExFQ1RfVVNBR0VfSU5TTihJTlNOX0FUVFIoYmluKSk7Cj4g
KyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDAsIGNpKTsKPiArICAg
IENPTExFQ1RfVVNBR0VfT1BFUkFORChJTlNOX0FUVFIoYmluKSwgMSwgY2MpOwo+ICsjbGluZSAx
MzU1ICJpbnNucy5kZWYiCj4gK3sKPiArICAgIHZhbCA9IHZtX29wdF9lbXB0eV9wKHJlY3YpOwo+
ICsKPiArICAgIGlmICh2YWwgPT0gUXVuZGVmKSB7Cj4gKyAgICAgICAgQ0FMTF9TSU1QTEVfTUVU
SE9EKCk7Cj4gKyAgICB9Cj4gK30KPiArI2xpbmUgMzIzNiAidm0uaW5jIgo+ICsgICAgQ0hFQ0tf
Vk1fU1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04oVk1fUkVHX0NGUCwgSU5TTl9BVFRSKHJldG4pKTsK
PiArICAgIENIRUNLX0NBTkFSWSgpOwo+ICsgICAgSU5DX1NQKElOU05fQVRUUihzcF9pbmMpKTsK
PiArICAgIFRPUE4oMCkgPSB2YWw7Cj4gKyAgICBpZiAobGVhZikgQUREX1BDKElOU05fQVRUUih3
aWR0aCkpOwo+ICsgICAgRU5EX0lOU04ob3B0X2VtcHR5X3ApOwo+ICsjICAgdW5kZWYgSU5TTl9B
VFRSCj4gKyMgICB1bmRlZiBOQU1FX09GX0NVUlJFTlRfSU5TTgo+ICt9Cj4gKwo+ICsvKiBpbnNu
IG9wdF9zdWNjKGNpLCBjYykocmVjdikodmFsKSAqLwo+ICtJTlNOX0VOVFJZKG9wdF9zdWNjKQo+
ICt7Cj4gKyMgICBkZWZpbmUgTkFNRV9PRl9DVVJSRU5UX0lOU04gb3B0X3N1Y2MKPiArIyAgIGRl
ZmluZSBJTlNOX0FUVFIoeCkgYXR0cl8gIyMgeCAjIyBfb3B0X3N1Y2MoY2ksIGNjKQo+ICsgICAg
Ym9vbCBsZWFmOwo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVFICopIGNhbmFyeTsKPiArICAgIE1B
WUJFX1VOVVNFRChDQUxMX0NBQ0hFKSBjYzsKPiArICAgIE1BWUJFX1VOVVNFRChDQUxMX0lORk8p
IGNpOwo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVFKSByZWN2LCB2YWw7Cj4gKwo+ICsgICAgU1RB
UlRfT0ZfT1JJR0lOQUxfSU5TTihvcHRfc3VjYyk7Cj4gKyAgICBjaSA9IChDQUxMX0lORk8pR0VU
X09QRVJBTkQoMSk7Cj4gKyAgICBjYyA9IChDQUxMX0NBQ0hFKUdFVF9PUEVSQU5EKDIpOwo+ICsg
ICAgcmVjdiA9IFRPUE4oMCk7Cj4gKyAgICBERUJVR19FTlRFUl9JTlNOKElOU05fQVRUUihuYW1l
KSk7Cj4gKyAgICBpZiAoISAobGVhZiA9IElOU05fQVRUUihsZWFmKSkpIEFERF9QQyhJTlNOX0FU
VFIod2lkdGgpKTsKPiArICAgIFNFVFVQX0NBTkFSWSgpOwo+ICsgICAgQ09MTEVDVF9VU0FHRV9J
TlNOKElOU05fQVRUUihiaW4pKTsKPiArICAgIENPTExFQ1RfVVNBR0VfT1BFUkFORChJTlNOX0FU
VFIoYmluKSwgMCwgY2kpOwo+ICsgICAgQ09MTEVDVF9VU0FHRV9PUEVSQU5EKElOU05fQVRUUihi
aW4pLCAxLCBjYyk7Cj4gKyNsaW5lIDEzNjkgImluc25zLmRlZiIKPiArewo+ICsgICAgdmFsID0g
dm1fb3B0X3N1Y2MocmVjdik7Cj4gKwo+ICsgICAgaWYgKHZhbCA9PSBRdW5kZWYpIHsKPiArICAg
ICAgICBDQUxMX1NJTVBMRV9NRVRIT0QoKTsKPiArICAgIH0KPiArfQo+ICsjbGluZSAzMjc2ICJ2
bS5pbmMiCj4gKyAgICBDSEVDS19WTV9TVEFDS19PVkVSRkxPV19GT1JfSU5TTihWTV9SRUdfQ0ZQ
LCBJTlNOX0FUVFIocmV0bikpOwo+ICsgICAgQ0hFQ0tfQ0FOQVJZKCk7Cj4gKyAgICBJTkNfU1Ao
SU5TTl9BVFRSKHNwX2luYykpOwo+ICsgICAgVE9QTigwKSA9IHZhbDsKPiArICAgIGlmIChsZWFm
KSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7Cj4gKyAgICBFTkRfSU5TTihvcHRfc3VjYyk7Cj4g
KyMgICB1bmRlZiBJTlNOX0FUVFIKPiArIyAgIHVuZGVmIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOCj4g
K30KPiArCj4gKy8qIGluc24gb3B0X25vdChjaSwgY2MpKHJlY3YpKHZhbCkgKi8KPiArSU5TTl9F
TlRSWShvcHRfbm90KQo+ICt7Cj4gKyMgICBkZWZpbmUgTkFNRV9PRl9DVVJSRU5UX0lOU04gb3B0
X25vdAo+ICsjICAgZGVmaW5lIElOU05fQVRUUih4KSBhdHRyXyAjIyB4ICMjIF9vcHRfbm90KGNp
LCBjYykKPiArICAgIGJvb2wgbGVhZjsKPiArICAgIE1BWUJFX1VOVVNFRChWQUxVRSAqKSBjYW5h
cnk7Cj4gKyAgICBNQVlCRV9VTlVTRUQoQ0FMTF9DQUNIRSkgY2M7Cj4gKyAgICBNQVlCRV9VTlVT
RUQoQ0FMTF9JTkZPKSBjaTsKPiArICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgcmVjdiwgdmFsOwo+
ICsKPiArICAgIFNUQVJUX09GX09SSUdJTkFMX0lOU04ob3B0X25vdCk7Cj4gKyAgICBjaSA9IChD
QUxMX0lORk8pR0VUX09QRVJBTkQoMSk7Cj4gKyAgICBjYyA9IChDQUxMX0NBQ0hFKUdFVF9PUEVS
QU5EKDIpOwo+ICsgICAgcmVjdiA9IFRPUE4oMCk7Cj4gKyAgICBERUJVR19FTlRFUl9JTlNOKElO
U05fQVRUUihuYW1lKSk7Cj4gKyAgICBpZiAoISAobGVhZiA9IElOU05fQVRUUihsZWFmKSkpIEFE
RF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKPiArICAgIFNFVFVQX0NBTkFSWSgpOwo+ICsgICAgQ09M
TEVDVF9VU0FHRV9JTlNOKElOU05fQVRUUihiaW4pKTsKPiArICAgIENPTExFQ1RfVVNBR0VfT1BF
UkFORChJTlNOX0FUVFIoYmluKSwgMCwgY2kpOwo+ICsgICAgQ09MTEVDVF9VU0FHRV9PUEVSQU5E
KElOU05fQVRUUihiaW4pLCAxLCBjYyk7Cj4gKyNsaW5lIDEzODMgImluc25zLmRlZiIKPiArewo+
ICsgICAgdmFsID0gdm1fb3B0X25vdChjaSwgY2MsIHJlY3YpOwo+ICsKPiArICAgIGlmICh2YWwg
PT0gUXVuZGVmKSB7Cj4gKyAgICAgICAgQ0FMTF9TSU1QTEVfTUVUSE9EKCk7Cj4gKyAgICB9Cj4g
K30KPiArI2xpbmUgMzMxNiAidm0uaW5jIgo+ICsgICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZFUkZMT1df
Rk9SX0lOU04oVk1fUkVHX0NGUCwgSU5TTl9BVFRSKHJldG4pKTsKPiArICAgIENIRUNLX0NBTkFS
WSgpOwo+ICsgICAgSU5DX1NQKElOU05fQVRUUihzcF9pbmMpKTsKPiArICAgIFRPUE4oMCkgPSB2
YWw7Cj4gKyAgICBpZiAobGVhZikgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOwo+ICsgICAgRU5E
X0lOU04ob3B0X25vdCk7Cj4gKyMgICB1bmRlZiBJTlNOX0FUVFIKPiArIyAgIHVuZGVmIE5BTUVf
T0ZfQ1VSUkVOVF9JTlNOCj4gK30KPiArCj4gKy8qIGluc24gb3B0X3JlZ2V4cG1hdGNoMShyZWN2
KShvYmopKHZhbCkgKi8KPiArSU5TTl9FTlRSWShvcHRfcmVnZXhwbWF0Y2gxKQo+ICt7Cj4gKyMg
ICBkZWZpbmUgTkFNRV9PRl9DVVJSRU5UX0lOU04gb3B0X3JlZ2V4cG1hdGNoMQo+ICsjICAgZGVm
aW5lIElOU05fQVRUUih4KSBhdHRyXyAjIyB4ICMjIF9vcHRfcmVnZXhwbWF0Y2gxKHJlY3YpCj4g
KyAgICBib29sIGxlYWY7Cj4gKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUgKikgY2FuYXJ5Owo+ICsg
ICAgTUFZQkVfVU5VU0VEKFZBTFVFKSBvYmosIHJlY3YsIHZhbDsKPiArCj4gKyAgICBTVEFSVF9P
Rl9PUklHSU5BTF9JTlNOKG9wdF9yZWdleHBtYXRjaDEpOwo+ICsgICAgcmVjdiA9IChWQUxVRSlH
RVRfT1BFUkFORCgxKTsKPiArICAgIG9iaiA9IFRPUE4oMCk7Cj4gKyAgICBERUJVR19FTlRFUl9J
TlNOKElOU05fQVRUUihuYW1lKSk7Cj4gKyAgICBpZiAoISAobGVhZiA9IElOU05fQVRUUihsZWFm
KSkpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKPiArICAgIFNFVFVQX0NBTkFSWSgpOwo+ICsg
ICAgQ09MTEVDVF9VU0FHRV9JTlNOKElOU05fQVRUUihiaW4pKTsKPiArICAgIENPTExFQ1RfVVNB
R0VfT1BFUkFORChJTlNOX0FUVFIoYmluKSwgMCwgcmVjdik7Cj4gKyNsaW5lIDEzOTggImluc25z
LmRlZiIKPiArewo+ICsgICAgdmFsID0gdm1fb3B0X3JlZ2V4cG1hdGNoMShyZWN2LCBvYmopOwo+
ICt9Cj4gKyNsaW5lIDMzNDggInZtLmluYyIKPiArICAgIENIRUNLX1ZNX1NUQUNLX09WRVJGTE9X
X0ZPUl9JTlNOKFZNX1JFR19DRlAsIElOU05fQVRUUihyZXRuKSk7Cj4gKyAgICBDSEVDS19DQU5B
UlkoKTsKPiArICAgIElOQ19TUChJTlNOX0FUVFIoc3BfaW5jKSk7Cj4gKyAgICBUT1BOKDApID0g
dmFsOwo+ICsgICAgaWYgKGxlYWYpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKPiArICAgIEVO
RF9JTlNOKG9wdF9yZWdleHBtYXRjaDEpOwo+ICsjICAgdW5kZWYgSU5TTl9BVFRSCj4gKyMgICB1
bmRlZiBOQU1FX09GX0NVUlJFTlRfSU5TTgo+ICt9Cj4gKwo+ICsvKiBpbnNuIG9wdF9yZWdleHBt
YXRjaDIoY2ksIGNjKShvYmoyLCBvYmoxKSh2YWwpICovCj4gK0lOU05fRU5UUlkob3B0X3JlZ2V4
cG1hdGNoMikKPiArewo+ICsjICAgZGVmaW5lIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOIG9wdF9yZWdl
eHBtYXRjaDIKPiArIyAgIGRlZmluZSBJTlNOX0FUVFIoeCkgYXR0cl8gIyMgeCAjIyBfb3B0X3Jl
Z2V4cG1hdGNoMihjaSwgY2MpCj4gKyAgICBib29sIGxlYWY7Cj4gKyAgICBNQVlCRV9VTlVTRUQo
VkFMVUUgKikgY2FuYXJ5Owo+ICsgICAgTUFZQkVfVU5VU0VEKENBTExfQ0FDSEUpIGNjOwo+ICsg
ICAgTUFZQkVfVU5VU0VEKENBTExfSU5GTykgY2k7Cj4gKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUp
IG9iajEsIG9iajIsIHZhbDsKPiArCj4gKyAgICBTVEFSVF9PRl9PUklHSU5BTF9JTlNOKG9wdF9y
ZWdleHBtYXRjaDIpOwo+ICsgICAgY2kgPSAoQ0FMTF9JTkZPKUdFVF9PUEVSQU5EKDEpOwo+ICsg
ICAgY2MgPSAoQ0FMTF9DQUNIRSlHRVRfT1BFUkFORCgyKTsKPiArICAgIG9iajIgPSBUT1BOKDEp
Owo+ICsgICAgb2JqMSA9IFRPUE4oMCk7Cj4gKyAgICBERUJVR19FTlRFUl9JTlNOKElOU05fQVRU
UihuYW1lKSk7Cj4gKyAgICBpZiAoISAobGVhZiA9IElOU05fQVRUUihsZWFmKSkpIEFERF9QQyhJ
TlNOX0FUVFIod2lkdGgpKTsKPiArICAgIFNFVFVQX0NBTkFSWSgpOwo+ICsgICAgQ09MTEVDVF9V
U0FHRV9JTlNOKElOU05fQVRUUihiaW4pKTsKPiArICAgIENPTExFQ1RfVVNBR0VfT1BFUkFORChJ
TlNOX0FUVFIoYmluKSwgMCwgY2kpOwo+ICsgICAgQ09MTEVDVF9VU0FHRV9PUEVSQU5EKElOU05f
QVRUUihiaW4pLCAxLCBjYyk7Cj4gKyNsaW5lIDE0MDggImluc25zLmRlZiIKPiArewo+ICsgICAg
dmFsID0gdm1fb3B0X3JlZ2V4cG1hdGNoMihvYmoyLCBvYmoxKTsKPiArCj4gKyAgICBpZiAodmFs
ID09IFF1bmRlZikgewo+ICsgICAgICAgIENBTExfU0lNUExFX01FVEhPRCgpOwo+ICsgICAgfQo+
ICt9Cj4gKyNsaW5lIDMzODkgInZtLmluYyIKPiArICAgIENIRUNLX1ZNX1NUQUNLX09WRVJGTE9X
X0ZPUl9JTlNOKFZNX1JFR19DRlAsIElOU05fQVRUUihyZXRuKSk7Cj4gKyAgICBDSEVDS19DQU5B
UlkoKTsKPiArICAgIElOQ19TUChJTlNOX0FUVFIoc3BfaW5jKSk7Cj4gKyAgICBUT1BOKDApID0g
dmFsOwo+ICsgICAgaWYgKGxlYWYpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKPiArICAgIEVO
RF9JTlNOKG9wdF9yZWdleHBtYXRjaDIpOwo+ICsjICAgdW5kZWYgSU5TTl9BVFRSCj4gKyMgICB1
bmRlZiBOQU1FX09GX0NVUlJFTlRfSU5TTgo+ICt9Cj4gKwo+ICsvKiBpbnNuIG9wdF9jYWxsX2Nf
ZnVuY3Rpb24oZnVuY3B0cikoKSgpICovCj4gK0lOU05fRU5UUlkob3B0X2NhbGxfY19mdW5jdGlv
bikKPiArewo+ICsjICAgZGVmaW5lIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOIG9wdF9jYWxsX2NfZnVu
Y3Rpb24KPiArIyAgIGRlZmluZSBJTlNOX0FUVFIoeCkgYXR0cl8gIyMgeCAjIyBfb3B0X2NhbGxf
Y19mdW5jdGlvbihmdW5jcHRyKQo+ICsgICAgYm9vbCBsZWFmOwo+ICsgICAgTUFZQkVfVU5VU0VE
KFZBTFVFICopIGNhbmFyeTsKPiArICAgIE1BWUJFX1VOVVNFRChyYl9pbnNuX2Z1bmNfdCkgZnVu
Y3B0cjsKPiArCj4gKyAgICBTVEFSVF9PRl9PUklHSU5BTF9JTlNOKG9wdF9jYWxsX2NfZnVuY3Rp
b24pOwo+ICsgICAgZnVuY3B0ciA9IChyYl9pbnNuX2Z1bmNfdClHRVRfT1BFUkFORCgxKTsKPiAr
ICAgIERFQlVHX0VOVEVSX0lOU04oSU5TTl9BVFRSKG5hbWUpKTsKPiArICAgIGlmICghIChsZWFm
ID0gSU5TTl9BVFRSKGxlYWYpKSkgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOwo+ICsgICAgUE9Q
TihJTlNOX0FUVFIocG9wbikpOwo+ICsgICAgU0VUVVBfQ0FOQVJZKCk7Cj4gKyAgICBDT0xMRUNU
X1VTQUdFX0lOU04oSU5TTl9BVFRSKGJpbikpOwo+ICsgICAgQ09MTEVDVF9VU0FHRV9PUEVSQU5E
KElOU05fQVRUUihiaW4pLCAwLCBmdW5jcHRyKTsKPiArI2xpbmUgMTQyNCAiaW5zbnMuZGVmIgo+
ICt7Cj4gKyAgICByZWdfY2ZwID0gKGZ1bmNwdHIpKGVjLCByZWdfY2ZwKTsKPiArCj4gKyAgICBp
ZiAocmVnX2NmcCA9PSAwKSB7Cj4gKyAgICAgICBWQUxVRSBlcnIgPSBlYy0+ZXJyaW5mbzsKPiAr
ICAgICAgIGVjLT5lcnJpbmZvID0gUW5pbDsKPiArICAgICAgIFRIUk9XX0VYQ0VQVElPTihlcnIp
Owo+ICsgICAgfQo+ICsKPiArICAgIFJFU1RPUkVfUkVHUygpOwo+ICsgICAgTkVYVF9JTlNOKCk7
Cj4gK30KPiArI2xpbmUgMzQzMCAidm0uaW5jIgo+ICsgICAgQ0hFQ0tfVk1fU1RBQ0tfT1ZFUkZM
T1dfRk9SX0lOU04oVk1fUkVHX0NGUCwgSU5TTl9BVFRSKHJldG4pKTsKPiArICAgIENIRUNLX0NB
TkFSWSgpOwo+ICsgICAgaWYgKGxlYWYpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKPiArICAg
IEVORF9JTlNOKG9wdF9jYWxsX2NfZnVuY3Rpb24pOwo+ICsjICAgdW5kZWYgSU5TTl9BVFRSCj4g
KyMgICB1bmRlZiBOQU1FX09GX0NVUlJFTlRfSU5TTgo+ICt9Cj4gKwo+ICsvKiBpbnNuIGJpdGJs
dCgpKCkocmV0KSAqLwo+ICtJTlNOX0VOVFJZKGJpdGJsdCkKPiArewo+ICsjICAgZGVmaW5lIE5B
TUVfT0ZfQ1VSUkVOVF9JTlNOIGJpdGJsdAo+ICsjICAgZGVmaW5lIElOU05fQVRUUih4KSBhdHRy
XyAjIyB4ICMjIF9iaXRibHQoKQo+ICsgICAgYm9vbCBsZWFmOwo+ICsgICAgTUFZQkVfVU5VU0VE
KFZBTFVFICopIGNhbmFyeTsKPiArICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgcmV0Owo+ICsKPiAr
ICAgIFNUQVJUX09GX09SSUdJTkFMX0lOU04oYml0Ymx0KTsKPiArICAgIERFQlVHX0VOVEVSX0lO
U04oSU5TTl9BVFRSKG5hbWUpKTsKPiArICAgIGlmICghIChsZWFmID0gSU5TTl9BVFRSKGxlYWYp
KSkgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOwo+ICsgICAgU0VUVVBfQ0FOQVJZKCk7Cj4gKyAg
ICBDT0xMRUNUX1VTQUdFX0lOU04oSU5TTl9BVFRSKGJpbikpOwo+ICsjbGluZSAxNDQzICJpbnNu
cy5kZWYiCj4gK3sKPiArICAgIHJldCA9IHJiX3N0cl9uZXcyKCJhIGJpdCBvZiBiYWNvbiwgbGV0
dHVjZSBhbmQgdG9tYXRvIik7Cj4gK30KPiArI2xpbmUgMzQ1NyAidm0uaW5jIgo+ICsgICAgQ0hF
Q0tfVk1fU1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04oVk1fUkVHX0NGUCwgSU5TTl9BVFRSKHJldG4p
KTsKPiArICAgIENIRUNLX0NBTkFSWSgpOwo+ICsgICAgSU5DX1NQKElOU05fQVRUUihzcF9pbmMp
KTsKPiArICAgIFRPUE4oMCkgPSByZXQ7Cj4gKyAgICBpZiAobGVhZikgQUREX1BDKElOU05fQVRU
Uih3aWR0aCkpOwo+ICsgICAgRU5EX0lOU04oYml0Ymx0KTsKPiArIyAgIHVuZGVmIElOU05fQVRU
Ugo+ICsjICAgdW5kZWYgTkFNRV9PRl9DVVJSRU5UX0lOU04KPiArfQo+ICsKPiArLyogaW5zbiBh
bnN3ZXIoKSgpKHJldCkgKi8KPiArSU5TTl9FTlRSWShhbnN3ZXIpCj4gK3sKPiArIyAgIGRlZmlu
ZSBOQU1FX09GX0NVUlJFTlRfSU5TTiBhbnN3ZXIKPiArIyAgIGRlZmluZSBJTlNOX0FUVFIoeCkg
YXR0cl8gIyMgeCAjIyBfYW5zd2VyKCkKPiArICAgIGJvb2wgbGVhZjsKPiArICAgIE1BWUJFX1VO
VVNFRChWQUxVRSAqKSBjYW5hcnk7Cj4gKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIHJldDsKPiAr
Cj4gKyAgICBTVEFSVF9PRl9PUklHSU5BTF9JTlNOKGFuc3dlcik7Cj4gKyAgICBERUJVR19FTlRF
Ul9JTlNOKElOU05fQVRUUihuYW1lKSk7Cj4gKyAgICBpZiAoISAobGVhZiA9IElOU05fQVRUUihs
ZWFmKSkpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKPiArICAgIFNFVFVQX0NBTkFSWSgpOwo+
ICsgICAgQ09MTEVDVF9VU0FHRV9JTlNOKElOU05fQVRUUihiaW4pKTsKPiArI2xpbmUgMTQ1MyAi
aW5zbnMuZGVmIgo+ICt7Cj4gKyAgICByZXQgPSBJTlQyRklYKDQyKTsKPiArfQo+ICsjbGluZSAz
NDg2ICJ2bS5pbmMiCj4gKyAgICBDSEVDS19WTV9TVEFDS19PVkVSRkxPV19GT1JfSU5TTihWTV9S
RUdfQ0ZQLCBJTlNOX0FUVFIocmV0bikpOwo+ICsgICAgQ0hFQ0tfQ0FOQVJZKCk7Cj4gKyAgICBJ
TkNfU1AoSU5TTl9BVFRSKHNwX2luYykpOwo+ICsgICAgVE9QTigwKSA9IHJldDsKPiArICAgIGlm
IChsZWFmKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7Cj4gKyAgICBFTkRfSU5TTihhbnN3ZXIp
Owo+ICsjICAgdW5kZWYgSU5TTl9BVFRSCj4gKyMgICB1bmRlZiBOQU1FX09GX0NVUlJFTlRfSU5T
Tgo+ICt9Cj4gKwo+ICsvKiBpbnNuIGdldGxvY2FsX1dDXzAoaWR4KSgpKHZhbCkgKi8KPiArSU5T
Tl9FTlRSWShnZXRsb2NhbF9XQ18wKQo+ICt7Cj4gKyMgICBkZWZpbmUgTkFNRV9PRl9DVVJSRU5U
X0lOU04gZ2V0bG9jYWxfV0NfMAo+ICsjICAgZGVmaW5lIElOU05fQVRUUih4KSBhdHRyXyAjIyB4
ICMjIF9nZXRsb2NhbF9XQ18wKGlkeCkKPiArICAgIGJvb2wgbGVhZjsKPiArICAgIE1BWUJFX1VO
VVNFRChWQUxVRSAqKSBjYW5hcnk7Cj4gKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIHZhbDsKPiAr
ICAgIE1BWUJFX1VOVVNFRChsaW5kZXhfdCkgaWR4Owo+ICsgICAgTUFZQkVfVU5VU0VEKHJiX251
bV90KSBsZXZlbDsKPiArCj4gKyAgICBTVEFSVF9PRl9PUklHSU5BTF9JTlNOKGdldGxvY2FsX1dD
XzApOwo+ICsjbGluZSAxMCAiZGVmcy9vcHRfb3BlcmFuZC5kZWYiCj4gKyAgICBsZXZlbCA9IDA7
Cj4gKyNsaW5lIDM1MTEgInZtLmluYyIKPiArICAgIGlkeCA9IChsaW5kZXhfdClHRVRfT1BFUkFO
RCgxKTsKPiArICAgIERFQlVHX0VOVEVSX0lOU04oSU5TTl9BVFRSKG5hbWUpKTsKPiArICAgIGlm
ICghIChsZWFmID0gSU5TTl9BVFRSKGxlYWYpKSkgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOwo+
ICsgICAgU0VUVVBfQ0FOQVJZKCk7Cj4gKyAgICBDT0xMRUNUX1VTQUdFX0lOU04oSU5TTl9BVFRS
KGJpbikpOwo+ICsgICAgQ09MTEVDVF9VU0FHRV9PUEVSQU5EKElOU05fQVRUUihiaW4pLCAwLCBp
ZHgpOwo+ICsjbGluZSA4MSAiaW5zbnMuZGVmIgo+ICt7Cj4gKyAgICB2YWwgPSAqKHZtX2dldF9l
cChHRVRfRVAoKSwgbGV2ZWwpIC0gaWR4KTsKPiArICAgIFJCX0RFQlVHX0NPVU5URVJfSU5DKGx2
YXJfZ2V0KTsKPiArICAgICh2b2lkKVJCX0RFQlVHX0NPVU5URVJfSU5DX0lGKGx2YXJfZ2V0X2R5
bmFtaWMsIGxldmVsID4gMCk7Cj4gK30KPiArI2xpbmUgMzUyNCAidm0uaW5jIgo+ICsgICAgQ0hF
Q0tfVk1fU1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04oVk1fUkVHX0NGUCwgSU5TTl9BVFRSKHJldG4p
KTsKPiArICAgIENIRUNLX0NBTkFSWSgpOwo+ICsgICAgSU5DX1NQKElOU05fQVRUUihzcF9pbmMp
KTsKPiArICAgIFRPUE4oMCkgPSB2YWw7Cj4gKyAgICBpZiAobGVhZikgQUREX1BDKElOU05fQVRU
Uih3aWR0aCkpOwo+ICsgICAgRU5EX0lOU04oZ2V0bG9jYWxfV0NfMCk7Cj4gKyMgICB1bmRlZiBJ
TlNOX0FUVFIKPiArIyAgIHVuZGVmIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOCj4gK30KPiArCj4gKy8q
IGluc24gZ2V0bG9jYWxfV0NfMShpZHgpKCkodmFsKSAqLwo+ICtJTlNOX0VOVFJZKGdldGxvY2Fs
X1dDXzEpCj4gK3sKPiArIyAgIGRlZmluZSBOQU1FX09GX0NVUlJFTlRfSU5TTiBnZXRsb2NhbF9X
Q18xCj4gKyMgICBkZWZpbmUgSU5TTl9BVFRSKHgpIGF0dHJfICMjIHggIyMgX2dldGxvY2FsX1dD
XzEoaWR4KQo+ICsgICAgYm9vbCBsZWFmOwo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVFICopIGNh
bmFyeTsKPiArICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgdmFsOwo+ICsgICAgTUFZQkVfVU5VU0VE
KGxpbmRleF90KSBpZHg7Cj4gKyAgICBNQVlCRV9VTlVTRUQocmJfbnVtX3QpIGxldmVsOwo+ICsK
PiArICAgIFNUQVJUX09GX09SSUdJTkFMX0lOU04oZ2V0bG9jYWxfV0NfMSk7Cj4gKyNsaW5lIDEx
ICJkZWZzL29wdF9vcGVyYW5kLmRlZiIKPiArICAgIGxldmVsID0gMTsKPiArI2xpbmUgMzU0OSAi
dm0uaW5jIgo+ICsgICAgaWR4ID0gKGxpbmRleF90KUdFVF9PUEVSQU5EKDEpOwo+ICsgICAgREVC
VUdfRU5URVJfSU5TTihJTlNOX0FUVFIobmFtZSkpOwo+ICsgICAgaWYgKCEgKGxlYWYgPSBJTlNO
X0FUVFIobGVhZikpKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7Cj4gKyAgICBTRVRVUF9DQU5B
UlkoKTsKPiArICAgIENPTExFQ1RfVVNBR0VfSU5TTihJTlNOX0FUVFIoYmluKSk7Cj4gKyAgICBD
T0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDAsIGlkeCk7Cj4gKyNsaW5lIDgx
ICJpbnNucy5kZWYiCj4gK3sKPiArICAgIHZhbCA9ICoodm1fZ2V0X2VwKEdFVF9FUCgpLCBsZXZl
bCkgLSBpZHgpOwo+ICsgICAgUkJfREVCVUdfQ09VTlRFUl9JTkMobHZhcl9nZXQpOwo+ICsgICAg
KHZvaWQpUkJfREVCVUdfQ09VTlRFUl9JTkNfSUYobHZhcl9nZXRfZHluYW1pYywgbGV2ZWwgPiAw
KTsKPiArfQo+ICsjbGluZSAzNTYyICJ2bS5pbmMiCj4gKyAgICBDSEVDS19WTV9TVEFDS19PVkVS
RkxPV19GT1JfSU5TTihWTV9SRUdfQ0ZQLCBJTlNOX0FUVFIocmV0bikpOwo+ICsgICAgQ0hFQ0tf
Q0FOQVJZKCk7Cj4gKyAgICBJTkNfU1AoSU5TTl9BVFRSKHNwX2luYykpOwo+ICsgICAgVE9QTigw
KSA9IHZhbDsKPiArICAgIGlmIChsZWFmKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7Cj4gKyAg
ICBFTkRfSU5TTihnZXRsb2NhbF9XQ18xKTsKPiArIyAgIHVuZGVmIElOU05fQVRUUgo+ICsjICAg
dW5kZWYgTkFNRV9PRl9DVVJSRU5UX0lOU04KPiArfQo+ICsKPiArLyogaW5zbiBzZXRsb2NhbF9X
Q18wKGlkeCkodmFsKSgpICovCj4gK0lOU05fRU5UUlkoc2V0bG9jYWxfV0NfMCkKPiArewo+ICsj
ICAgZGVmaW5lIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOIHNldGxvY2FsX1dDXzAKPiArIyAgIGRlZmlu
ZSBJTlNOX0FUVFIoeCkgYXR0cl8gIyMgeCAjIyBfc2V0bG9jYWxfV0NfMChpZHgpCj4gKyAgICBi
b29sIGxlYWY7Cj4gKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUgKikgY2FuYXJ5Owo+ICsgICAgTUFZ
QkVfVU5VU0VEKFZBTFVFKSB2YWw7Cj4gKyAgICBNQVlCRV9VTlVTRUQobGluZGV4X3QpIGlkeDsK
PiArICAgIE1BWUJFX1VOVVNFRChyYl9udW1fdCkgbGV2ZWw7Cj4gKwo+ICsgICAgU1RBUlRfT0Zf
T1JJR0lOQUxfSU5TTihzZXRsb2NhbF9XQ18wKTsKPiArI2xpbmUgMTIgImRlZnMvb3B0X29wZXJh
bmQuZGVmIgo+ICsgICAgbGV2ZWwgPSAwOwo+ICsjbGluZSAzNTg3ICJ2bS5pbmMiCj4gKyAgICBp
ZHggPSAobGluZGV4X3QpR0VUX09QRVJBTkQoMSk7Cj4gKyAgICB2YWwgPSBUT1BOKDApOwo+ICsg
ICAgREVCVUdfRU5URVJfSU5TTihJTlNOX0FUVFIobmFtZSkpOwo+ICsgICAgaWYgKCEgKGxlYWYg
PSBJTlNOX0FUVFIobGVhZikpKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRoKSk7Cj4gKyAgICBTRVRV
UF9DQU5BUlkoKTsKPiArICAgIENPTExFQ1RfVVNBR0VfSU5TTihJTlNOX0FUVFIoYmluKSk7Cj4g
KyAgICBDT0xMRUNUX1VTQUdFX09QRVJBTkQoSU5TTl9BVFRSKGJpbiksIDAsIGlkeCk7Cj4gKyNs
aW5lIDk1ICJpbnNucy5kZWYiCj4gK3sKPiArICAgIHZtX2Vudl93cml0ZSh2bV9nZXRfZXAoR0VU
X0VQKCksIGxldmVsKSwgLShpbnQpaWR4LCB2YWwpOwo+ICsgICAgUkJfREVCVUdfQ09VTlRFUl9J
TkMobHZhcl9zZXQpOwo+ICsgICAgKHZvaWQpUkJfREVCVUdfQ09VTlRFUl9JTkNfSUYobHZhcl9z
ZXRfZHluYW1pYywgbGV2ZWwgPiAwKTsKPiArfQo+ICsjbGluZSAzNjAxICJ2bS5pbmMiCj4gKyAg
ICBDSEVDS19WTV9TVEFDS19PVkVSRkxPV19GT1JfSU5TTihWTV9SRUdfQ0ZQLCBJTlNOX0FUVFIo
cmV0bikpOwo+ICsgICAgQ0hFQ0tfQ0FOQVJZKCk7Cj4gKyAgICBJTkNfU1AoSU5TTl9BVFRSKHNw
X2luYykpOwo+ICsgICAgaWYgKGxlYWYpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKPiArICAg
IEVORF9JTlNOKHNldGxvY2FsX1dDXzApOwo+ICsjICAgdW5kZWYgSU5TTl9BVFRSCj4gKyMgICB1
bmRlZiBOQU1FX09GX0NVUlJFTlRfSU5TTgo+ICt9Cj4gKwo+ICsvKiBpbnNuIHNldGxvY2FsX1dD
XzEoaWR4KSh2YWwpKCkgKi8KPiArSU5TTl9FTlRSWShzZXRsb2NhbF9XQ18xKQo+ICt7Cj4gKyMg
ICBkZWZpbmUgTkFNRV9PRl9DVVJSRU5UX0lOU04gc2V0bG9jYWxfV0NfMQo+ICsjICAgZGVmaW5l
IElOU05fQVRUUih4KSBhdHRyXyAjIyB4ICMjIF9zZXRsb2NhbF9XQ18xKGlkeCkKPiArICAgIGJv
b2wgbGVhZjsKPiArICAgIE1BWUJFX1VOVVNFRChWQUxVRSAqKSBjYW5hcnk7Cj4gKyAgICBNQVlC
RV9VTlVTRUQoVkFMVUUpIHZhbDsKPiArICAgIE1BWUJFX1VOVVNFRChsaW5kZXhfdCkgaWR4Owo+
ICsgICAgTUFZQkVfVU5VU0VEKHJiX251bV90KSBsZXZlbDsKPiArCj4gKyAgICBTVEFSVF9PRl9P
UklHSU5BTF9JTlNOKHNldGxvY2FsX1dDXzEpOwo+ICsjbGluZSAxMyAiZGVmcy9vcHRfb3BlcmFu
ZC5kZWYiCj4gKyAgICBsZXZlbCA9IDE7Cj4gKyNsaW5lIDM2MjUgInZtLmluYyIKPiArICAgIGlk
eCA9IChsaW5kZXhfdClHRVRfT1BFUkFORCgxKTsKPiArICAgIHZhbCA9IFRPUE4oMCk7Cj4gKyAg
ICBERUJVR19FTlRFUl9JTlNOKElOU05fQVRUUihuYW1lKSk7Cj4gKyAgICBpZiAoISAobGVhZiA9
IElOU05fQVRUUihsZWFmKSkpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKPiArICAgIFNFVFVQ
X0NBTkFSWSgpOwo+ICsgICAgQ09MTEVDVF9VU0FHRV9JTlNOKElOU05fQVRUUihiaW4pKTsKPiAr
ICAgIENPTExFQ1RfVVNBR0VfT1BFUkFORChJTlNOX0FUVFIoYmluKSwgMCwgaWR4KTsKPiArI2xp
bmUgOTUgImluc25zLmRlZiIKPiArewo+ICsgICAgdm1fZW52X3dyaXRlKHZtX2dldF9lcChHRVRf
RVAoKSwgbGV2ZWwpLCAtKGludClpZHgsIHZhbCk7Cj4gKyAgICBSQl9ERUJVR19DT1VOVEVSX0lO
QyhsdmFyX3NldCk7Cj4gKyAgICAodm9pZClSQl9ERUJVR19DT1VOVEVSX0lOQ19JRihsdmFyX3Nl
dF9keW5hbWljLCBsZXZlbCA+IDApOwo+ICt9Cj4gKyNsaW5lIDM2MzkgInZtLmluYyIKPiArICAg
IENIRUNLX1ZNX1NUQUNLX09WRVJGTE9XX0ZPUl9JTlNOKFZNX1JFR19DRlAsIElOU05fQVRUUihy
ZXRuKSk7Cj4gKyAgICBDSEVDS19DQU5BUlkoKTsKPiArICAgIElOQ19TUChJTlNOX0FUVFIoc3Bf
aW5jKSk7Cj4gKyAgICBpZiAobGVhZikgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOwo+ICsgICAg
RU5EX0lOU04oc2V0bG9jYWxfV0NfMSk7Cj4gKyMgICB1bmRlZiBJTlNOX0FUVFIKPiArIyAgIHVu
ZGVmIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOCj4gK30KPiArCj4gKy8qIGluc24gcHV0b2JqZWN0X0lO
VDJGSVhfMF8oKSgpKHZhbCkgKi8KPiArSU5TTl9FTlRSWShwdXRvYmplY3RfSU5UMkZJWF8wXykK
PiArewo+ICsjICAgZGVmaW5lIE5BTUVfT0ZfQ1VSUkVOVF9JTlNOIHB1dG9iamVjdF9JTlQyRklY
XzBfCj4gKyMgICBkZWZpbmUgSU5TTl9BVFRSKHgpIGF0dHJfICMjIHggIyMgX3B1dG9iamVjdF9J
TlQyRklYXzBfKCkKPiArICAgIGJvb2wgbGVhZjsKPiArICAgIE1BWUJFX1VOVVNFRChWQUxVRSAq
KSBjYW5hcnk7Cj4gKyAgICBNQVlCRV9VTlVTRUQoVkFMVUUpIHZhbDsKPiArCj4gKyAgICBTVEFS
VF9PRl9PUklHSU5BTF9JTlNOKHB1dG9iamVjdF9JTlQyRklYXzBfKTsKPiArI2xpbmUgMTUgImRl
ZnMvb3B0X29wZXJhbmQuZGVmIgo+ICsgICAgdmFsID0gSU5UMkZJWCgwKTsKPiArI2xpbmUgMzY2
MSAidm0uaW5jIgo+ICsgICAgREVCVUdfRU5URVJfSU5TTihJTlNOX0FUVFIobmFtZSkpOwo+ICsg
ICAgaWYgKCEgKGxlYWYgPSBJTlNOX0FUVFIobGVhZikpKSBBRERfUEMoSU5TTl9BVFRSKHdpZHRo
KSk7Cj4gKyAgICBDT0xMRUNUX1VTQUdFX0lOU04oSU5TTl9BVFRSKGJpbikpOwo+ICsgICAgQ0hF
Q0tfVk1fU1RBQ0tfT1ZFUkZMT1dfRk9SX0lOU04oVk1fUkVHX0NGUCwgSU5TTl9BVFRSKHJldG4p
KTsKPiArICAgIElOQ19TUChJTlNOX0FUVFIoc3BfaW5jKSk7Cj4gKyAgICBUT1BOKDApID0gdmFs
Owo+ICsgICAgaWYgKGxlYWYpIEFERF9QQyhJTlNOX0FUVFIod2lkdGgpKTsKPiArICAgIEVORF9J
TlNOKHB1dG9iamVjdF9JTlQyRklYXzBfKTsKPiArIyAgIHVuZGVmIElOU05fQVRUUgo+ICsjICAg
dW5kZWYgTkFNRV9PRl9DVVJSRU5UX0lOU04KPiArfQo+ICsKPiArLyogaW5zbiBwdXRvYmplY3Rf
SU5UMkZJWF8xXygpKCkodmFsKSAqLwo+ICtJTlNOX0VOVFJZKHB1dG9iamVjdF9JTlQyRklYXzFf
KQo+ICt7Cj4gKyMgICBkZWZpbmUgTkFNRV9PRl9DVVJSRU5UX0lOU04gcHV0b2JqZWN0X0lOVDJG
SVhfMV8KPiArIyAgIGRlZmluZSBJTlNOX0FUVFIoeCkgYXR0cl8gIyMgeCAjIyBfcHV0b2JqZWN0
X0lOVDJGSVhfMV8oKQo+ICsgICAgYm9vbCBsZWFmOwo+ICsgICAgTUFZQkVfVU5VU0VEKFZBTFVF
ICopIGNhbmFyeTsKPiArICAgIE1BWUJFX1VOVVNFRChWQUxVRSkgdmFsOwo+ICsKPiArICAgIFNU
QVJUX09GX09SSUdJTkFMX0lOU04ocHV0b2JqZWN0X0lOVDJGSVhfMV8pOwo+ICsjbGluZSAxNiAi
ZGVmcy9vcHRfb3BlcmFuZC5kZWYiCj4gKyAgICB2YWwgPSBJTlQyRklYKDEpOwo+ICsjbGluZSAz
Njg2ICJ2bS5pbmMiCj4gKyAgICBERUJVR19FTlRFUl9JTlNOKElOU05fQVRUUihuYW1lKSk7Cj4g
KyAgICBpZiAoISAobGVhZiA9IElOU05fQVRUUihsZWFmKSkpIEFERF9QQyhJTlNOX0FUVFIod2lk
dGgpKTsKPiArICAgIENPTExFQ1RfVVNBR0VfSU5TTihJTlNOX0FUVFIoYmluKSk7Cj4gKyAgICBD
SEVDS19WTV9TVEFDS19PVkVSRkxPV19GT1JfSU5TTihWTV9SRUdfQ0ZQLCBJTlNOX0FUVFIocmV0
bikpOwo+ICsgICAgSU5DX1NQKElOU05fQVRUUihzcF9pbmMpKTsKPiArICAgIFRPUE4oMCkgPSB2
YWw7Cj4gKyAgICBpZiAobGVhZikgQUREX1BDKElOU05fQVRUUih3aWR0aCkpOwo+ICsgICAgRU5E
X0lOU04ocHV0b2JqZWN0X0lOVDJGSVhfMV8pOwo+ICsjICAgdW5kZWYgSU5TTl9BVFRSCj4gKyMg
ICB1bmRlZiBOQU1FX09GX0NVUlJFTlRfSU5TTgo+ICt9Cj4gKwo+ICsvKiBpbnNuIHRyYWNlX25v
cCguLi4pKC4uLikoLi4uKSAqLwo+ICtJTlNOX0VOVFJZKHRyYWNlX25vcCkKPiArewo+ICsgICAg
dm1fdHJhY2UoZWMsIEdFVF9DRlAoKSwgR0VUX1BDKCkpOwo+ICsgICAgRElTUEFUQ0hfT1JJR0lO
QUxfSU5TTihub3ApOwo+ICsgICAgRU5EX0lOU04odHJhY2Vfbm9wKTsKPiArfQo+ICsKPiArLyog
aW5zbiB0cmFjZV9nZXRsb2NhbCguLi4pKC4uLikoLi4uKSAqLwo+ICtJTlNOX0VOVFJZKHRyYWNl
X2dldGxvY2FsKQo+ICt7Cj4gKyAgICB2bV90cmFjZShlYywgR0VUX0NGUCgpLCBHRVRfUEMoKSk7
Cj4gKyAgICBESVNQQVRDSF9PUklHSU5BTF9JTlNOKGdldGxvY2FsKTsKPiArICAgIEVORF9JTlNO
KHRyYWNlX2dldGxvY2FsKTsKPiArfQo+ICsKPiArLyogaW5zbiB0cmFjZV9zZXRsb2NhbCguLi4p
KC4uLikoLi4uKSAqLwo+ICtJTlNOX0VOVFJZKHRyYWNlX3NldGxvY2FsKQo+ICt7Cj4gKyAgICB2
bV90cmFjZShlYywgR0VUX0NGUCgpLCBHRVRfUEMoKSk7Cj4gKyAgICBESVNQQVRDSF9PUklHSU5B
TF9JTlNOKHNldGxvY2FsKTsKPiArICAgIEVORF9JTlNOKHRyYWNlX3NldGxvY2FsKTsKPiArfQo+
ICsKPiArLyogaW5zbiB0cmFjZV9nZXRibG9ja3BhcmFtKC4uLikoLi4uKSguLi4pICovCj4gK0lO
U05fRU5UUlkodHJhY2VfZ2V0YmxvY2twYXJhbSkKPiArewo+ICsgICAgdm1fdHJhY2UoZWMsIEdF
VF9DRlAoKSwgR0VUX1BDKCkpOwo+ICsgICAgRElTUEFUQ0hfT1JJR0lOQUxfSU5TTihnZXRibG9j
a3BhcmFtKTsKPiArICAgIEVORF9JTlNOKHRyYWNlX2dldGJsb2NrcGFyYW0pOwo+ICt9Cj4gKwo+
ICsvKiBpbnNuIHRyYWNlX3NldGJsb2NrcGFyYW0oLi4uKSguLi4pKC4uLikgKi8KPiArSU5TTl9F
TlRSWSh0cmFjZV9zZXRibG9ja3BhcmFtKQo+ICt7Cj4gKyAgICB2bV90cmFjZShlYywgR0VUX0NG
UCgpLCBHRVRfUEMoKSk7Cj4gKyAgICBESVNQQVRDSF9PUklHSU5BTF9JTlNOKHNldGJsb2NrcGFy
YW0pOwo+ICsgICAgRU5EX0lOU04odHJhY2Vfc2V0YmxvY2twYXJhbSk7Cj4gK30KPiArCj4gKy8q
IGluc24gdHJhY2VfZ2V0YmxvY2twYXJhbXByb3h5KC4uLikoLi4uKSguLi4pICovCj4gK0lOU05f
RU5UUlkodHJhY2VfZ2V0YmxvY2twYXJhbXByb3h5KQo+ICt7Cj4gKyAgICB2bV90cmFjZShlYywg
R0VUX0NGUCgpLCBHRVRfUEMoKSk7Cj4gKyAgICBESVNQQVRDSF9PUklHSU5BTF9JTlNOKGdldGJs
b2NrcGFyYW1wcm94eSk7Cj4gKyAgICBFTkRfSU5TTih0cmFjZV9nZXRibG9ja3BhcmFtcHJveHkp
Owo+ICt9Cj4gKwo+ICsvKiBpbnNuIHRyYWNlX2dldHNwZWNpYWwoLi4uKSguLi4pKC4uLikgKi8K
PiArSU5TTl9FTlRSWSh0cmFjZV9nZXRzcGVjaWFsKQo+ICt7Cj4gKyAgICB2bV90cmFjZShlYywg
R0VUX0NGUCgpLCBHRVRfUEMoKSk7Cj4gKyAgICBESVNQQVRDSF9PUklHSU5BTF9JTlNOKGdldHNw
ZWNpYWwpOwo+ICsgICAgRU5EX0lOU04odHJhY2VfZ2V0c3BlY2lhbCk7Cj4gK30KPiArCj4gKy8q
IGluc24gdHJhY2Vfc2V0c3BlY2lhbCguLi4pKC4uLikoLi4uKSAqLwo+ICtJTlNOX0VOVFJZKHRy
YWNlX3NldHNwZWNpYWwpCj4gK3sKPiArICAgIHZtX3RyYWNlKGVjLCBHRVRfQ0ZQKCksIEdFVF9Q
QygpKTsKPiArICAgIERJU1BBVENIX09SSUdJTkFMX0lOU04oc2V0c3BlY2lhbCk7Cj4gKyAgICBF
TkRfSU5TTih0cmFjZV9zZXRzcGVjaWFsKTsKPiArfQo+ICsKPiArLyogaW5zbiB0cmFjZV9nZXRp
bnN0YW5jZXZhcmlhYmxlKC4uLikoLi4uKSguLi4pICovCj4gK0lOU05fRU5UUlkodHJhY2VfZ2V0
aW5zdGFuY2V2YXJpYWJsZSkKPiArewo+ICsgICAgdm1fdHJhY2UoZWMsIEdFVF9DRlAoKSwgR0VU
X1BDKCkpOwo+ICsgICAgRElTUEFUQ0hfT1JJR0lOQUxfSU5TTihnZXRpbnN0YW5jZXZhcmlhYmxl
KTsKPiArICAgIEVORF9JTlNOKHRyYWNlX2dldGluc3RhbmNldmFyaWFibGUpOwo+ICt9Cj4gKwo+
ICsvKiBpbnNuIHRyYWNlX3NldGluc3RhbmNldmFyaWFibGUoLi4uKSguLi4pKC4uLikgKi8KPiAr
SU5TTl9FTlRSWSh0cmFjZV9zZXRpbnN0YW5jZXZhcmlhYmxlKQo+ICt7Cj4gKyAgICB2bV90cmFj
ZShlYywgR0VUX0NGUCgpLCBHRVRfUEMoKSk7Cj4gKyAgICBESVNQQVRDSF9PUklHSU5BTF9JTlNO
KHNldGluc3RhbmNldmFyaWFibGUpOwo+ICsgICAgRU5EX0lOU04odHJhY2Vfc2V0aW5zdGFuY2V2
YXJpYWJsZSk7Cj4gK30KPiArCj4gKy8qIGluc24gdHJhY2VfZ2V0Y2xhc3N2YXJpYWJsZSguLi4p
KC4uLikoLi4uKSAqLwo+ICtJTlNOX0VOVFJZKHRyYWNlX2dldGNsYXNzdmFyaWFibGUpCj4gK3sK
PiArICAgIHZtX3RyYWNlKGVjLCBHRVRfQ0ZQKCksIEdFVF9QQygpKTsKPiArICAgIERJU1BBVENI
X09SSUdJTkFMX0lOU04oZ2V0Y2xhc3N2YXJpYWJsZSk7Cj4gKyAgICBFTkRfSU5TTih0cmFjZV9n
ZXRjbGFzc3ZhcmlhYmxlKTsKPiArfQo+ICsKPiArLyogaW5zbiB0cmFjZV9zZXRjbGFzc3Zhcmlh
YmxlKC4uLikoLi4uKSguLi4pICovCj4gK0lOU05fRU5UUlkodHJhY2Vfc2V0Y2xhc3N2YXJpYWJs
ZSkKPiArewo+ICsgICAgdm1fdHJhY2UoZWMsIEdFVF9DRlAoKSwgR0VUX1BDKCkpOwo+ICsgICAg
RElTUEFUQ0hfT1JJR0lOQUxfSU5TTihzZXRjbGFzc3ZhcmlhYmxlKTsKPiArICAgIEVORF9JTlNO
KHRyYWNlX3NldGNsYXNzdmFyaWFibGUpOwo+ICt9Cj4gKwo+ICsvKiBpbnNuIHRyYWNlX2dldGNv
bnN0YW50KC4uLikoLi4uKSguLi4pICovCj4gK0lOU05fRU5UUlkodHJhY2VfZ2V0Y29uc3RhbnQp
Cj4gK3sKPiArICAgIHZtX3RyYWNlKGVjLCBHRVRfQ0ZQKCksIEdFVF9QQygpKTsKPiArICAgIERJ
U1BBVENIX09SSUdJTkFMX0lOU04oZ2V0Y29uc3RhbnQpOwo+ICsgICAgRU5EX0lOU04odHJhY2Vf
Z2V0Y29uc3RhbnQpOwo+ICt9Cj4gKwo+ICsvKiBpbnNuIHRyYWNlX3NldGNvbnN0YW50KC4uLiko
Li4uKSguLi4pICovCj4gK0lOU05fRU5UUlkodHJhY2Vfc2V0Y29uc3RhbnQpCj4gK3sKPiArICAg
IHZtX3RyYWNlKGVjLCBHRVRfQ0ZQKCksIEdFVF9QQygpKTsKPiArICAgIERJU1BBVENIX09SSUdJ
TkFMX0lOU04oc2V0Y29uc3RhbnQpOwo+ICsgICAgRU5EX0lOU04odHJhY2Vfc2V0Y29uc3RhbnQp
Owo+ICt9Cj4gKwo+ICsvKiBpbnNuIHRyYWNlX2dldGdsb2JhbCguLi4pKC4uLikoLi4uKSAqLwo+
ICtJTlNOX0VOVFJZKHRyYWNlX2dldGdsb2JhbCkKPiArewo+ICsgICAgdm1fdHJhY2UoZWMsIEdF
VF9DRlAoKSwgR0VUX1BDKCkpOwo+ICsgICAgRElTUEFUQ0hfT1JJR0lOQUxfSU5TTihnZXRnbG9i
YWwpOwo+ICsgICAgRU5EX0lOU04odHJhY2VfZ2V0Z2xvYmFsKTsKPiArfQo+ICsKPiArLyogaW5z
biB0cmFjZV9zZXRnbG9iYWwoLi4uKSguLi4pKC4uLikgKi8KPiArSU5TTl9FTlRSWSh0cmFjZV9z
ZXRnbG9iYWwpCj4gK3sKPiArICAgIHZtX3RyYWNlKGVjLCBHRVRfQ0ZQKCksIEdFVF9QQygpKTsK
PiArICAgIERJU1BBVENIX09SSUdJTkFMX0lOU04oc2V0Z2xvYmFsKTsKPiArICAgIEVORF9JTlNO
KHRyYWNlX3NldGdsb2JhbCk7Cj4gK30KPiArCj4gKy8qIGluc24gdHJhY2VfcHV0bmlsKC4uLiko
Li4uKSguLi4pICovCj4gK0lOU05fRU5UUlkodHJhY2VfcHV0bmlsKQo+ICt7Cj4gKyAgICB2bV90
cmFjZShlYywgR0VUX0NGUCgpLCBHRVRfUEMoKSk7Cj4gKyAgICBESVNQQVRDSF9PUklHSU5BTF9J
TlNOKHB1dG5pbCk7Cj4gKyAgICBFTkRfSU5TTih0cmFjZV9wdXRuaWwpOwo+ICt9Cj4gKwo+ICsv
KiBpbnNuIHRyYWNlX3B1dHNlbGYoLi4uKSguLi4pKC4uLikgKi8KPiArSU5TTl9FTlRSWSh0cmFj
ZV9wdXRzZWxmKQo+ICt7Cj4gKyAgICB2bV90cmFjZShlYywgR0VUX0NGUCgpLCBHRVRfUEMoKSk7
Cj4gKyAgICBESVNQQVRDSF9PUklHSU5BTF9JTlNOKHB1dHNlbGYpOwo+ICsgICAgRU5EX0lOU04o
dHJhY2VfcHV0c2VsZik7Cj4gK30KPiArCj4gKy8qIGluc24gdHJhY2VfcHV0b2JqZWN0KC4uLiko
Li4uKSguLi4pICovCj4gK0lOU05fRU5UUlkodHJhY2VfcHV0b2JqZWN0KQo+ICt7Cj4gKyAgICB2
bV90cmFjZShlYywgR0VUX0NGUCgpLCBHRVRfUEMoKSk7Cj4gKyAgICBESVNQQVRDSF9PUklHSU5B
TF9JTlNOKHB1dG9iamVjdCk7Cj4gKyAgICBFTkRfSU5TTih0cmFjZV9wdXRvYmplY3QpOwo+ICt9
Cj4gKwo+ICsvKiBpbnNuIHRyYWNlX3B1dHNwZWNpYWxvYmplY3QoLi4uKSguLi4pKC4uLikgKi8K
PiArSU5TTl9FTlRSWSh0cmFjZV9wdXRzcGVjaWFsb2JqZWN0KQo+ICt7Cj4gKyAgICB2bV90cmFj
ZShlYywgR0VUX0NGUCgpLCBHRVRfUEMoKSk7Cj4gKyAgICBESVNQQVRDSF9PUklHSU5BTF9JTlNO
KHB1dHNwZWNpYWxvYmplY3QpOwo+ICsgICAgRU5EX0lOU04odHJhY2VfcHV0c3BlY2lhbG9iamVj
dCk7Cj4gK30KPiArCj4gKy8qIGluc24gdHJhY2VfcHV0aXNlcSguLi4pKC4uLikoLi4uKSAqLwo+
ICtJTlNOX0VOVFJZKHRyYWNlX3B1dGlzZXEpCj4gK3sKPiArICAgIHZtX3RyYWNlKGVjLCBHRVRf
Q0ZQKCksIEdFVF9QQygpKTsKPiArICAgIERJU1BBVENIX09SSUdJTkFMX0lOU04ocHV0aXNlcSk7
Cj4gKyAgICBFTkRfSU5TTih0cmFjZV9wdXRpc2VxKTsKPiArfQo+ICsKPiArLyogaW5zbiB0cmFj
ZV9wdXRzdHJpbmcoLi4uKSguLi4pKC4uLikgKi8KPiArSU5TTl9FTlRSWSh0cmFjZV9wdXRzdHJp
bmcpCj4gK3sKPiArICAgIHZtX3RyYWNlKGVjLCBHRVRfQ0ZQKCksIEdFVF9QQygpKTsKPiArICAg
IERJU1BBVENIX09SSUdJTkFMX0lOU04ocHV0c3RyaW5nKTsKPiArICAgIEVORF9JTlNOKHRyYWNl
X3B1dHN0cmluZyk7Cj4gK30KPiArCj4gKy8qIGluc24gdHJhY2VfY29uY2F0c3RyaW5ncyguLi4p
KC4uLikoLi4uKSAqLwo+ICtJTlNOX0VOVFJZKHRyYWNlX2NvbmNhdHN0cmluZ3MpCj4gK3sKPiAr
ICAgIHZtX3RyYWNlKGVjLCBHRVRfQ0ZQKCksIEdFVF9QQygpKTsKPiArICAgIERJU1BBVENIX09S
SUdJTkFMX0lOU04oY29uY2F0c3RyaW5ncyk7Cj4gKyAgICBFTkRfSU5TTih0cmFjZV9jb25jYXRz
dHJpbmdzKTsKPiArfQo+ICsKPiArLyogaW5zbiB0cmFjZV90b3N0cmluZyguLi4pKC4uLikoLi4u
KSAqLwo+ICtJTlNOX0VOVFJZKHRyYWNlX3Rvc3RyaW5nKQo+ICt7Cj4gKyAgICB2bV90cmFjZShl
YywgR0VUX0NGUCgpLCBHRVRfUEMoKSk7Cj4gKyAgICBESVNQQVRDSF9PUklHSU5BTF9JTlNOKHRv
c3RyaW5nKTsKPiArICAgIEVORF9JTlNOKHRyYWNlX3Rvc3RyaW5nKTsKPiArfQo+ICsKPiArLyog
aW5zbiB0cmFjZV9mcmVlemVzdHJpbmcoLi4uKSguLi4pKC4uLikgKi8KPiArSU5TTl9FTlRSWSh0
cmFjZV9mcmVlemVzdHJpbmcpCj4gK3sKPiArICAgIHZtX3RyYWNlKGVjLCBHRVRfQ0ZQKCksIEdF
VF9QQygpKTsKPiArICAgIERJU1BBVENIX09SSUdJTkFMX0lOU04oZnJlZXplc3RyaW5nKTsKPiAr
ICAgIEVORF9JTlNOKHRyYWNlX2ZyZWV6ZXN0cmluZyk7Cj4gK30KPiArCj4gKy8qIGluc24gdHJh
Y2VfdG9yZWdleHAoLi4uKSguLi4pKC4uLikgKi8KPiArSU5TTl9FTlRSWSh0cmFjZV90b3JlZ2V4
cCkKPiArewo+ICsgICAgdm1fdHJhY2UoZWMsIEdFVF9DRlAoKSwgR0VUX1BDKCkpOwo+ICsgICAg
RElTUEFUQ0hfT1JJR0lOQUxfSU5TTih0b3JlZ2V4cCk7Cj4gKyAgICBFTkRfSU5TTih0cmFjZV90
b3JlZ2V4cCk7Cj4gK30KPiArCj4gKy8qIGluc24gdHJhY2VfaW50ZXJuKC4uLikoLi4uKSguLi4p
ICovCj4gK0lOU05fRU5UUlkodHJhY2VfaW50ZXJuKQo+ICt7Cj4gKyAgICB2bV90cmFjZShlYywg
R0VUX0NGUCgpLCBHRVRfUEMoKSk7Cj4gKyAgICBESVNQQVRDSF9PUklHSU5BTF9JTlNOKGludGVy
bik7Cj4gKyAgICBFTkRfSU5TTih0cmFjZV9pbnRlcm4pOwo+ICt9Cj4gKwo+ICsvKiBpbnNuIHRy
YWNlX25ld2FycmF5KC4uLikoLi4uKSguLi4pICovCj4gK0lOU05fRU5UUlkodHJhY2VfbmV3YXJy
YXkpCj4gK3sKPiArICAgIHZtX3RyYWNlKGVjLCBHRVRfQ0ZQKCksIEdFVF9QQygpKTsKPiArICAg
IERJU1BBVENIX09SSUdJTkFMX0lOU04obmV3YXJyYXkpOwo+ICsgICAgRU5EX0lOU04odHJhY2Vf
bmV3YXJyYXkpOwo+ICt9Cj4gKwo+ICsvKiBpbnNuIHRyYWNlX2R1cGFycmF5KC4uLikoLi4uKSgu
Li4pICovCj4gK0lOU05fRU5UUlkodHJhY2VfZHVwYXJyYXkpCj4gK3sKPiArICAgIHZtX3RyYWNl
KGVjLCBHRVRfQ0ZQKCksIEdFVF9QQygpKTsKPiArICAgIERJU1BBVENIX09SSUdJTkFMX0lOU04o
ZHVwYXJyYXkpOwo+ICsgICAgRU5EX0lOU04odHJhY2VfZHVwYXJyYXkpOwo+ICt9Cj4gKwo+ICsv
KiBpbnNuIHRyYWNlX2R1cGhhc2goLi4uKSguLi4pKC4uLikgKi8KPiArSU5TTl9FTlRSWSh0cmFj
ZV9kdXBoYXNoKQo+ICt7Cj4gKyAgICB2bV90cmFjZShlYywgR0VUX0NGUCgpLCBHRVRfUEMoKSk7
Cj4gKyAgICBESVNQQVRDSF9PUklHSU5BTF9JTlNOKGR1cGhhc2gpOwo+ICsgICAgRU5EX0lOU04o
dHJhY2VfZHVwaGFzaCk7Cj4gK30KPiArCj4gKy8qIGluc24gdHJhY2VfZXhwYW5kYXJyYXkoLi4u
KSguLi4pKC4uLikgKi8KPiArSU5TTl9FTlRSWSh0cmFjZV9leHBhbmRhcnJheSkKPiArewo+ICsg
ICAgdm1fdHJhY2UoZWMsIEdFVF9DRlAoKSwgR0VUX1BDKCkpOwo+ICsgICAgRElTUEFUQ0hfT1JJ
R0lOQUxfSU5TTihleHBhbmRhcnJheSk7Cj4gKyAgICBFTkRfSU5TTih0cmFjZV9leHBhbmRhcnJh
eSk7Cj4gK30KPiArCj4gKy8qIGluc24gdHJhY2VfY29uY2F0YXJyYXkoLi4uKSguLi4pKC4uLikg
Ki8KPiArSU5TTl9FTlRSWSh0cmFjZV9jb25jYXRhcnJheSkKPiArewo+ICsgICAgdm1fdHJhY2Uo
ZWMsIEdFVF9DRlAoKSwgR0VUX1BDKCkpOwo+ICsgICAgRElTUEFUQ0hfT1JJR0lOQUxfSU5TTihj
b25jYXRhcnJheSk7Cj4gKyAgICBFTkRfSU5TTih0cmFjZV9jb25jYXRhcnJheSk7Cj4gK30KPiAr
Cj4gKy8qIGluc24gdHJhY2Vfc3BsYXRhcnJheSguLi4pKC4uLikoLi4uKSAqLwo+ICtJTlNOX0VO
VFJZKHRyYWNlX3NwbGF0YXJyYXkpCj4gK3sKPiArICAgIHZtX3RyYWNlKGVjLCBHRVRfQ0ZQKCks
IEdFVF9QQygpKTsKPiArICAgIERJU1BBVENIX09SSUdJTkFMX0lOU04oc3BsYXRhcnJheSk7Cj4g
KyAgICBFTkRfSU5TTih0cmFjZV9zcGxhdGFycmF5KTsKPiArfQo+ICsKPiArLyogaW5zbiB0cmFj
ZV9uZXdoYXNoKC4uLikoLi4uKSguLi4pICovCj4gK0lOU05fRU5UUlkodHJhY2VfbmV3aGFzaCkK
PiArewo+ICsgICAgdm1fdHJhY2UoZWMsIEdFVF9DRlAoKSwgR0VUX1BDKCkpOwo+ICsgICAgRElT
UEFUQ0hfT1JJR0lOQUxfSU5TTihuZXdoYXNoKTsKPiArICAgIEVORF9JTlNOKHRyYWNlX25ld2hh
c2gpOwo+ICt9Cj4gKwo+ICsvKiBpbnNuIHRyYWNlX25ld3JhbmdlKC4uLikoLi4uKSguLi4pICov
Cj4gK0lOU05fRU5UUlkodHJhY2VfbmV3cmFuZ2UpCj4gK3sKPiArICAgIHZtX3RyYWNlKGVjLCBH
RVRfQ0ZQKCksIEdFVF9QQygpKTsKPiArICAgIERJU1BBVENIX09SSUdJTkFMX0lOU04obmV3cmFu
Z2UpOwo+ICsgICAgRU5EX0lOU04odHJhY2VfbmV3cmFuZ2UpOwo+ICt9Cj4gKwo+ICsvKiBpbnNu
IHRyYWNlX3BvcCguLi4pKC4uLikoLi4uKSAqLwo+ICtJTlNOX0VOVFJZKHRyYWNlX3BvcCkKPiAr
ewo+ICsgICAgdm1fdHJhY2UoZWMsIEdFVF9DRlAoKSwgR0VUX1BDKCkpOwo+ICsgICAgRElTUEFU
Q0hfT1JJR0lOQUxfSU5TTihwb3ApOwo+ICsgICAgRU5EX0lOU04odHJhY2VfcG9wKTsKPiArfQo+
ICsKPiArLyogaW5zbiB0cmFjZV9kdXAoLi4uKSguLi4pKC4uLikgKi8KPiArSU5TTl9FTlRSWSh0
cmFjZV9kdXApCj4gK3sKPiArICAgIHZtX3RyYWNlKGVjLCBHRVRfQ0ZQKCksIEdFVF9QQygpKTsK
PiArICAgIERJU1BBVENIX09SSUdJTkFMX0lOU04oZHVwKTsKPiArICAgIEVORF9JTlNOKHRyYWNl
X2R1cCk7Cj4gK30KPiArCj4gKy8qIGluc24gdHJhY2VfZHVwbiguLi4pKC4uLikoLi4uKSAqLwo+
ICtJTlNOX0VOVFJZKHRyYWNlX2R1cG4pCj4gK3sKPiArICAgIHZtX3RyYWNlKGVjLCBHRVRfQ0ZQ
KCksIEdFVF9QQygpKTsKPiArICAgIERJU1BBVENIX09SSUdJTkFMX0lOU04oZHVwbik7Cj4gKyAg
ICBFTkRfSU5TTih0cmFjZV9kdXBuKTsKPiArfQo+ICsKPiArLyogaW5zbiB0cmFjZV9zd2FwKC4u
LikoLi4uKSguLi4pICovCj4gK0lOU05fRU5UUlkodHJhY2Vfc3dhcCkKPiArewo+ICsgICAgdm1f
dHJhY2UoZWMsIEdFVF9DRlAoKSwgR0VUX1BDKCkpOwo+ICsgICAgRElTUEFUQ0hfT1JJR0lOQUxf
SU5TTihzd2FwKTsKPiArICAgIEVORF9JTlNOKHRyYWNlX3N3YXApOwo+ICt9Cj4gKwo+ICsvKiBp
bnNuIHRyYWNlX3JldmVyc2UoLi4uKSguLi4pKC4uLikgKi8KPiArSU5TTl9FTlRSWSh0cmFjZV9y
ZXZlcnNlKQo+ICt7Cj4gKyAgICB2bV90cmFjZShlYywgR0VUX0NGUCgpLCBHRVRfUEMoKSk7Cj4g
KyAgICBESVNQQVRDSF9PUklHSU5BTF9JTlNOKHJldmVyc2UpOwo+ICsgICAgRU5EX0lOU04odHJh
Y2VfcmV2ZXJzZSk7Cj4gK30KPiArCj4gKy8qIGluc24gdHJhY2VfcmVwdXQoLi4uKSguLi4pKC4u
LikgKi8KPiArSU5TTl9FTlRSWSh0cmFjZV9yZXB1dCkKPiArewo+ICsgICAgdm1fdHJhY2UoZWMs
IEdFVF9DRlAoKSwgR0VUX1BDKCkpOwo+ICsgICAgRElTUEFUQ0hfT1JJR0lOQUxfSU5TTihyZXB1
dCk7Cj4gKyAgICBFTkRfSU5TTih0cmFjZV9yZXB1dCk7Cj4gK30KPiArCj4gKy8qIGluc24gdHJh
Y2VfdG9wbiguLi4pKC4uLikoLi4uKSAqLwo+ICtJTlNOX0VOVFJZKHRyYWNlX3RvcG4pCj4gK3sK
PiArICAgIHZtX3RyYWNlKGVjLCBHRVRfQ0ZQKCksIEdFVF9QQygpKTsKPiArICAgIERJU1BBVENI
X09SSUdJTkFMX0lOU04odG9wbik7Cj4gKyAgICBFTkRfSU5TTih0cmFjZV90b3BuKTsKPiArfQo+
ICsKPiArLyogaW5zbiB0cmFjZV9zZXRuKC4uLikoLi4uKSguLi4pICovCj4gK0lOU05fRU5UUlko
dHJhY2Vfc2V0bikKPiArewo+ICsgICAgdm1fdHJhY2UoZWMsIEdFVF9DRlAoKSwgR0VUX1BDKCkp
Owo+ICsgICAgRElTUEFUQ0hfT1JJR0lOQUxfSU5TTihzZXRuKTsKPiArICAgIEVORF9JTlNOKHRy
YWNlX3NldG4pOwo+ICt9Cj4gKwo+ICsvKiBpbnNuIHRyYWNlX2FkanVzdHN0YWNrKC4uLikoLi4u
KSguLi4pICovCj4gK0lOU05fRU5UUlkodHJhY2VfYWRqdXN0c3RhY2spCj4gK3sKPiArICAgIHZt
X3RyYWNlKGVjLCBHRVRfQ0ZQKCksIEdFVF9QQygpKTsKPiArICAgIERJU1BBVENIX09SSUdJTkFM
X0lOU04oYWRqdXN0c3RhY2spOwo+ICsgICAgRU5EX0lOU04odHJhY2VfYWRqdXN0c3RhY2spOwo+
ICt9Cj4gKwo+ICsvKiBpbnNuIHRyYWNlX2RlZmluZWQoLi4uKSguLi4pKC4uLikgKi8KPiArSU5T
Tl9FTlRSWSh0cmFjZV9kZWZpbmVkKQo+ICt7Cj4gKyAgICB2bV90cmFjZShlYywgR0VUX0NGUCgp
LCBHRVRfUEMoKSk7Cj4gKyAgICBESVNQQVRDSF9PUklHSU5BTF9JTlNOKGRlZmluZWQpOwo+ICsg
ICAgRU5EX0lOU04odHJhY2VfZGVmaW5lZCk7Cj4gK30KPiArCj4gKy8qIGluc24gdHJhY2VfY2hl
Y2ttYXRjaCguLi4pKC4uLikoLi4uKSAqLwo+ICtJTlNOX0VOVFJZKHRyYWNlX2NoZWNrbWF0Y2gp
Cj4gK3sKPiArICAgIHZtX3RyYWNlKGVjLCBHRVRfQ0ZQKCksIEdFVF9QQygpKTsKPiArICAgIERJ
U1BBVENIX09SSUdJTkFMX0lOU04oY2hlY2ttYXRjaCk7Cj4gKyAgICBFTkRfSU5TTih0cmFjZV9j
aGVja21hdGNoKTsKPiArfQo+ICsKPiArLyogaW5zbiB0cmFjZV9jaGVja2tleXdvcmQoLi4uKSgu
Li4pKC4uLikgKi8KPiArSU5TTl9FTlRSWSh0cmFjZV9jaGVja2tleXdvcmQpCj4gK3sKPiArICAg
IHZtX3RyYWNlKGVjLCBHRVRfQ0ZQKCksIEdFVF9QQygpKTsKPiArICAgIERJU1BBVENIX09SSUdJ
TkFMX0lOU04oY2hlY2trZXl3b3JkKTsKPiArICAgIEVORF9JTlNOKHRyYWNlX2NoZWNra2V5d29y
ZCk7Cj4gK30KPiArCj4gKy8qIGluc24gdHJhY2VfY2hlY2t0eXBlKC4uLikoLi4uKSguLi4pICov
Cj4gK0lOU05fRU5UUlkodHJhY2VfY2hlY2t0eXBlKQo+ICt7Cj4gKyAgICB2bV90cmFjZShlYywg
R0VUX0NGUCgpLCBHRVRfUEMoKSk7Cj4gKyAgICBESVNQQVRDSF9PUklHSU5BTF9JTlNOKGNoZWNr
dHlwZSk7Cj4gKyAgICBFTkRfSU5TTih0cmFjZV9jaGVja3R5cGUpOwo+ICt9Cj4gKwo+ICsvKiBp
bnNuIHRyYWNlX2RlZmluZWNsYXNzKC4uLikoLi4uKSguLi4pICovCj4gK0lOU05fRU5UUlkodHJh
Y2VfZGVmaW5lY2xhc3MpCj4gK3sKPiArICAgIHZtX3RyYWNlKGVjLCBHRVRfQ0ZQKCksIEdFVF9Q
QygpKTsKPiArICAgIERJU1BBVENIX09SSUdJTkFMX0lOU04oZGVmaW5lY2xhc3MpOwo+ICsgICAg
RU5EX0lOU04odHJhY2VfZGVmaW5lY2xhc3MpOwo+ICt9Cj4gKwo+ICsvKiBpbnNuIHRyYWNlX3Nl
bmQoLi4uKSguLi4pKC4uLikgKi8KPiArSU5TTl9FTlRSWSh0cmFjZV9zZW5kKQo+ICt7Cj4gKyAg
ICB2bV90cmFjZShlYywgR0VUX0NGUCgpLCBHRVRfUEMoKSk7Cj4gKyAgICBESVNQQVRDSF9PUklH
SU5BTF9JTlNOKHNlbmQpOwo+ICsgICAgRU5EX0lOU04odHJhY2Vfc2VuZCk7Cj4gK30KPiArCj4g
Ky8qIGluc24gdHJhY2Vfb3B0X3NlbmRfd2l0aG91dF9ibG9jayguLi4pKC4uLikoLi4uKSAqLwo+
ICtJTlNOX0VOVFJZKHRyYWNlX29wdF9zZW5kX3dpdGhvdXRfYmxvY2spCj4gK3sKPiArICAgIHZt
X3RyYWNlKGVjLCBHRVRfQ0ZQKCksIEdFVF9QQygpKTsKPiArICAgIERJU1BBVENIX09SSUdJTkFM
X0lOU04ob3B0X3NlbmRfd2l0aG91dF9ibG9jayk7Cj4gKyAgICBFTkRfSU5TTih0cmFjZV9vcHRf
c2VuZF93aXRob3V0X2Jsb2NrKTsKPiArfQo+ICsKPiArLyogaW5zbiB0cmFjZV9vcHRfc3RyX2Zy
ZWV6ZSguLi4pKC4uLikoLi4uKSAqLwo+ICtJTlNOX0VOVFJZKHRyYWNlX29wdF9zdHJfZnJlZXpl
KQo+ICt7Cj4gKyAgICB2bV90cmFjZShlYywgR0VUX0NGUCgpLCBHRVRfUEMoKSk7Cj4gKyAgICBE
SVNQQVRDSF9PUklHSU5BTF9JTlNOKG9wdF9zdHJfZnJlZXplKTsKPiArICAgIEVORF9JTlNOKHRy
YWNlX29wdF9zdHJfZnJlZXplKTsKPiArfQo+ICsKPiArLyogaW5zbiB0cmFjZV9vcHRfc3RyX3Vt
aW51cyguLi4pKC4uLikoLi4uKSAqLwo+ICtJTlNOX0VOVFJZKHRyYWNlX29wdF9zdHJfdW1pbnVz
KQo+ICt7Cj4gKyAgICB2bV90cmFjZShlYywgR0VUX0NGUCgpLCBHRVRfUEMoKSk7Cj4gKyAgICBE
SVNQQVRDSF9PUklHSU5BTF9JTlNOKG9wdF9zdHJfdW1pbnVzKTsKPiArICAgIEVORF9JTlNOKHRy
YWNlX29wdF9zdHJfdW1pbnVzKTsKPiArfQo+ICsKPiArLyogaW5zbiB0cmFjZV9vcHRfbmV3YXJy
YXlfbWF4KC4uLikoLi4uKSguLi4pICovCj4gK0lOU05fRU5UUlkodHJhY2Vfb3B0X25ld2FycmF5
X21heCkKPiArewo+ICsgICAgdm1fdHJhY2UoZWMsIEdFVF9DRlAoKSwgR0VUX1BDKCkpOwo+ICsg
ICAgRElTUEFUQ0hfT1JJR0lOQUxfSU5TTihvcHRfbmV3YXJyYXlfbWF4KTsKPiArICAgIEVORF9J
TlNOKHRyYWNlX29wdF9uZXdhcnJheV9tYXgpOwo+ICt9Cj4gKwo+ICsvKiBpbnNuIHRyYWNlX29w
dF9uZXdhcnJheV9taW4oLi4uKSguLi4pKC4uLikgKi8KPiArSU5TTl9FTlRSWSh0cmFjZV9vcHRf
bmV3YXJyYXlfbWluKQo+ICt7Cj4gKyAgICB2bV90cmFjZShlYywgR0VUX0NGUCgpLCBHRVRfUEMo
KSk7Cj4gKyAgICBESVNQQVRDSF9PUklHSU5BTF9JTlNOKG9wdF9uZXdhcnJheV9taW4pOwo+ICsg
ICAgRU5EX0lOU04odHJhY2Vfb3B0X25ld2FycmF5X21pbik7Cj4gK30KPiArCj4gKy8qIGluc24g
dHJhY2VfaW52b2tlc3VwZXIoLi4uKSguLi4pKC4uLikgKi8KPiArSU5TTl9FTlRSWSh0cmFjZV9p
bnZva2VzdXBlcikKPiArewo+ICsgICAgdm1fdHJhY2UoZWMsIEdFVF9DRlAoKSwgR0VUX1BDKCkp
Owo+ICsgICAgRElTUEFUQ0hfT1JJR0lOQUxfSU5TTihpbnZva2VzdXBlcik7Cj4gKyAgICBFTkRf
SU5TTih0cmFjZV9pbnZva2VzdXBlcik7Cj4gK30KPiArCj4gKy8qIGluc24gdHJhY2VfaW52b2tl
YmxvY2soLi4uKSguLi4pKC4uLikgKi8KPiArSU5TTl9FTlRSWSh0cmFjZV9pbnZva2VibG9jaykK
PiArewo+ICsgICAgdm1fdHJhY2UoZWMsIEdFVF9DRlAoKSwgR0VUX1BDKCkpOwo+ICsgICAgRElT
UEFUQ0hfT1JJR0lOQUxfSU5TTihpbnZva2VibG9jayk7Cj4gKyAgICBFTkRfSU5TTih0cmFjZV9p
bnZva2VibG9jayk7Cj4gK30KPiArCj4gKy8qIGluc24gdHJhY2VfbGVhdmUoLi4uKSguLi4pKC4u
LikgKi8KPiArSU5TTl9FTlRSWSh0cmFjZV9sZWF2ZSkKPiArewo+ICsgICAgdm1fdHJhY2UoZWMs
IEdFVF9DRlAoKSwgR0VUX1BDKCkpOwo+ICsgICAgRElTUEFUQ0hfT1JJR0lOQUxfSU5TTihsZWF2
ZSk7Cj4gKyAgICBFTkRfSU5TTih0cmFjZV9sZWF2ZSk7Cj4gK30KPiArCj4gKy8qIGluc24gdHJh
Y2VfdGhyb3coLi4uKSguLi4pKC4uLikgKi8KPiArSU5TTl9FTlRSWSh0cmFjZV90aHJvdykKPiAr
ewo+ICsgICAgdm1fdHJhY2UoZWMsIEdFVF9DRlAoKSwgR0VUX1BDKCkpOwo+ICsgICAgRElTUEFU
Q0hfT1JJR0lOQUxfSU5TTih0aHJvdyk7Cj4gKyAgICBFTkRfSU5TTih0cmFjZV90aHJvdyk7Cj4g
K30KPiArCj4gKy8qIGluc24gdHJhY2VfanVtcCguLi4pKC4uLikoLi4uKSAqLwo+ICtJTlNOX0VO
VFJZKHRyYWNlX2p1bXApCj4gK3sKPiArICAgIHZtX3RyYWNlKGVjLCBHRVRfQ0ZQKCksIEdFVF9Q
QygpKTsKPiArICAgIERJU1BBVENIX09SSUdJTkFMX0lOU04oanVtcCk7Cj4gKyAgICBFTkRfSU5T
Tih0cmFjZV9qdW1wKTsKPiArfQo+ICsKPiArLyogaW5zbiB0cmFjZV9icmFuY2hpZiguLi4pKC4u
LikoLi4uKSAqLwo+ICtJTlNOX0VOVFJZKHRyYWNlX2JyYW5jaGlmKQo+ICt7Cj4gKyAgICB2bV90
cmFjZShlYywgR0VUX0NGUCgpLCBHRVRfUEMoKSk7Cj4gKyAgICBESVNQQVRDSF9PUklHSU5BTF9J
TlNOKGJyYW5jaGlmKTsKPiArICAgIEVORF9JTlNOKHRyYWNlX2JyYW5jaGlmKTsKPiArfQo+ICsK
PiArLyogaW5zbiB0cmFjZV9icmFuY2h1bmxlc3MoLi4uKSguLi4pKC4uLikgKi8KPiArSU5TTl9F
TlRSWSh0cmFjZV9icmFuY2h1bmxlc3MpCj4gK3sKPiArICAgIHZtX3RyYWNlKGVjLCBHRVRfQ0ZQ
KCksIEdFVF9QQygpKTsKPiArICAgIERJU1BBVENIX09SSUdJTkFMX0lOU04oYnJhbmNodW5sZXNz
KTsKPiArICAgIEVORF9JTlNOKHRyYWNlX2JyYW5jaHVubGVzcyk7Cj4gK30KPiArCj4gKy8qIGlu
c24gdHJhY2VfYnJhbmNobmlsKC4uLikoLi4uKSguLi4pICovCj4gK0lOU05fRU5UUlkodHJhY2Vf
YnJhbmNobmlsKQo+ICt7Cj4gKyAgICB2bV90cmFjZShlYywgR0VUX0NGUCgpLCBHRVRfUEMoKSk7
Cj4gKyAgICBESVNQQVRDSF9PUklHSU5BTF9JTlNOKGJyYW5jaG5pbCk7Cj4gKyAgICBFTkRfSU5T
Tih0cmFjZV9icmFuY2huaWwpOwo+ICt9Cj4gKwo+ICsvKiBpbnNuIHRyYWNlX29wdF9nZXRpbmxp
bmVjYWNoZSguLi4pKC4uLikoLi4uKSAqLwo+ICtJTlNOX0VOVFJZKHRyYWNlX29wdF9nZXRpbmxp
bmVjYWNoZSkKPiArewo+ICsgICAgdm1fdHJhY2UoZWMsIEdFVF9DRlAoKSwgR0VUX1BDKCkpOwo+
ICsgICAgRElTUEFUQ0hfT1JJR0lOQUxfSU5TTihvcHRfZ2V0aW5saW5lY2FjaGUpOwo+ICsgICAg
RU5EX0lOU04odHJhY2Vfb3B0X2dldGlubGluZWNhY2hlKTsKPiArfQo+ICsKPiArLyogaW5zbiB0
cmFjZV9vcHRfc2V0aW5saW5lY2FjaGUoLi4uKSguLi4pKC4uLikgKi8KPiArSU5TTl9FTlRSWSh0
cmFjZV9vcHRfc2V0aW5saW5lY2FjaGUpCj4gK3sKPiArICAgIHZtX3RyYWNlKGVjLCBHRVRfQ0ZQ
KCksIEdFVF9QQygpKTsKPiArICAgIERJU1BBVENIX09SSUdJTkFMX0lOU04ob3B0X3NldGlubGlu
ZWNhY2hlKTsKPiArICAgIEVORF9JTlNOKHRyYWNlX29wdF9zZXRpbmxpbmVjYWNoZSk7Cj4gK30K
PiArCj4gKy8qIGluc24gdHJhY2Vfb25jZSguLi4pKC4uLikoLi4uKSAqLwo+ICtJTlNOX0VOVFJZ
KHRyYWNlX29uY2UpCj4gK3sKPiArICAgIHZtX3RyYWNlKGVjLCBHRVRfQ0ZQKCksIEdFVF9QQygp
KTsKPiArICAgIERJU1BBVENIX09SSUdJTkFMX0lOU04ob25jZSk7Cj4gKyAgICBFTkRfSU5TTih0
cmFjZV9vbmNlKTsKPiArfQo+ICsKPiArLyogaW5zbiB0cmFjZV9vcHRfY2FzZV9kaXNwYXRjaCgu
Li4pKC4uLikoLi4uKSAqLwo+ICtJTlNOX0VOVFJZKHRyYWNlX29wdF9jYXNlX2Rpc3BhdGNoKQo+
ICt7Cj4gKyAgICB2bV90cmFjZShlYywgR0VUX0NGUCgpLCBHRVRfUEMoKSk7Cj4gKyAgICBESVNQ
QVRDSF9PUklHSU5BTF9JTlNOKG9wdF9jYXNlX2Rpc3BhdGNoKTsKPiArICAgIEVORF9JTlNOKHRy
YWNlX29wdF9jYXNlX2Rpc3BhdGNoKTsKPiArfQo+ICsKPiArLyogaW5zbiB0cmFjZV9vcHRfcGx1
cyguLi4pKC4uLikoLi4uKSAqLwo+ICtJTlNOX0VOVFJZKHRyYWNlX29wdF9wbHVzKQo+ICt7Cj4g
KyAgICB2bV90cmFjZShlYywgR0VUX0NGUCgpLCBHRVRfUEMoKSk7Cj4gKyAgICBESVNQQVRDSF9P
UklHSU5BTF9JTlNOKG9wdF9wbHVzKTsKPiArICAgIEVORF9JTlNOKHRyYWNlX29wdF9wbHVzKTsK
PiArfQo+ICsKPiArLyogaW5zbiB0cmFjZV9vcHRfbWludXMoLi4uKSguLi4pKC4uLikgKi8KPiAr
SU5TTl9FTlRSWSh0cmFjZV9vcHRfbWludXMpCj4gK3sKPiArICAgIHZtX3RyYWNlKGVjLCBHRVRf
Q0ZQKCksIEdFVF9QQygpKTsKPiArICAgIERJU1BBVENIX09SSUdJTkFMX0lOU04ob3B0X21pbnVz
KTsKPiArICAgIEVORF9JTlNOKHRyYWNlX29wdF9taW51cyk7Cj4gK30KPiArCj4gKy8qIGluc24g
dHJhY2Vfb3B0X211bHQoLi4uKSguLi4pKC4uLikgKi8KPiArSU5TTl9FTlRSWSh0cmFjZV9vcHRf
bXVsdCkKPiArewo+ICsgICAgdm1fdHJhY2UoZWMsIEdFVF9DRlAoKSwgR0VUX1BDKCkpOwo+ICsg
ICAgRElTUEFUQ0hfT1JJR0lOQUxfSU5TTihvcHRfbXVsdCk7Cj4gKyAgICBFTkRfSU5TTih0cmFj
ZV9vcHRfbXVsdCk7Cj4gK30KPiArCj4gKy8qIGluc24gdHJhY2Vfb3B0X2RpdiguLi4pKC4uLiko
Li4uKSAqLwo+ICtJTlNOX0VOVFJZKHRyYWNlX29wdF9kaXYpCj4gK3sKPiArICAgIHZtX3RyYWNl
KGVjLCBHRVRfQ0ZQKCksIEdFVF9QQygpKTsKPiArICAgIERJU1BBVENIX09SSUdJTkFMX0lOU04o
b3B0X2Rpdik7Cj4gKyAgICBFTkRfSU5TTih0cmFjZV9vcHRfZGl2KTsKPiArfQo+ICsKPiArLyog
aW5zbiB0cmFjZV9vcHRfbW9kKC4uLikoLi4uKSguLi4pICovCj4gK0lOU05fRU5UUlkodHJhY2Vf
b3B0X21vZCkKPiArewo+ICsgICAgdm1fdHJhY2UoZWMsIEdFVF9DRlAoKSwgR0VUX1BDKCkpOwo+
ICsgICAgRElTUEFUQ0hfT1JJR0lOQUxfSU5TTihvcHRfbW9kKTsKPiArICAgIEVORF9JTlNOKHRy
YWNlX29wdF9tb2QpOwo+ICt9Cj4gKwo+ICsvKiBpbnNuIHRyYWNlX29wdF9lcSguLi4pKC4uLiko
Li4uKSAqLwo+ICtJTlNOX0VOVFJZKHRyYWNlX29wdF9lcSkKPiArewo+ICsgICAgdm1fdHJhY2Uo
ZWMsIEdFVF9DRlAoKSwgR0VUX1BDKCkpOwo+ICsgICAgRElTUEFUQ0hfT1JJR0lOQUxfSU5TTihv
cHRfZXEpOwo+ICsgICAgRU5EX0lOU04odHJhY2Vfb3B0X2VxKTsKPiArfQo+ICsKPiArLyogaW5z
biB0cmFjZV9vcHRfbmVxKC4uLikoLi4uKSguLi4pICovCj4gK0lOU05fRU5UUlkodHJhY2Vfb3B0
X25lcSkKPiArewo+ICsgICAgdm1fdHJhY2UoZWMsIEdFVF9DRlAoKSwgR0VUX1BDKCkpOwo+ICsg
ICAgRElTUEFUQ0hfT1JJR0lOQUxfSU5TTihvcHRfbmVxKTsKPiArICAgIEVORF9JTlNOKHRyYWNl
X29wdF9uZXEpOwo+ICt9Cj4gKwo+ICsvKiBpbnNuIHRyYWNlX29wdF9sdCguLi4pKC4uLikoLi4u
KSAqLwo+ICtJTlNOX0VOVFJZKHRyYWNlX29wdF9sdCkKPiArewo+ICsgICAgdm1fdHJhY2UoZWMs
IEdFVF9DRlAoKSwgR0VUX1BDKCkpOwo+ICsgICAgRElTUEFUQ0hfT1JJR0lOQUxfSU5TTihvcHRf
bHQpOwo+ICsgICAgRU5EX0lOU04odHJhY2Vfb3B0X2x0KTsKPiArfQo+ICsKPiArLyogaW5zbiB0
cmFjZV9vcHRfbGUoLi4uKSguLi4pKC4uLikgKi8KPiArSU5TTl9FTlRSWSh0cmFjZV9vcHRfbGUp
Cj4gK3sKPiArICAgIHZtX3RyYWNlKGVjLCBHRVRfQ0ZQKCksIEdFVF9QQygpKTsKPiArICAgIERJ
U1BBVENIX09SSUdJTkFMX0lOU04ob3B0X2xlKTsKPiArICAgIEVORF9JTlNOKHRyYWNlX29wdF9s
ZSk7Cj4gK30KPiArCj4gKy8qIGluc24gdHJhY2Vfb3B0X2d0KC4uLikoLi4uKSguLi4pICovCj4g
K0lOU05fRU5UUlkodHJhY2Vfb3B0X2d0KQo+ICt7Cj4gKyAgICB2bV90cmFjZShlYywgR0VUX0NG
UCgpLCBHRVRfUEMoKSk7Cj4gKyAgICBESVNQQVRDSF9PUklHSU5BTF9JTlNOKG9wdF9ndCk7Cj4g
KyAgICBFTkRfSU5TTih0cmFjZV9vcHRfZ3QpOwo+ICt9Cj4gKwo+ICsvKiBpbnNuIHRyYWNlX29w
dF9nZSguLi4pKC4uLikoLi4uKSAqLwo+ICtJTlNOX0VOVFJZKHRyYWNlX29wdF9nZSkKPiArewo+
ICsgICAgdm1fdHJhY2UoZWMsIEdFVF9DRlAoKSwgR0VUX1BDKCkpOwo+ICsgICAgRElTUEFUQ0hf
T1JJR0lOQUxfSU5TTihvcHRfZ2UpOwo+ICsgICAgRU5EX0lOU04odHJhY2Vfb3B0X2dlKTsKPiAr
fQo+ICsKPiArLyogaW5zbiB0cmFjZV9vcHRfbHRsdCguLi4pKC4uLikoLi4uKSAqLwo+ICtJTlNO
X0VOVFJZKHRyYWNlX29wdF9sdGx0KQo+ICt7Cj4gKyAgICB2bV90cmFjZShlYywgR0VUX0NGUCgp
LCBHRVRfUEMoKSk7Cj4gKyAgICBESVNQQVRDSF9PUklHSU5BTF9JTlNOKG9wdF9sdGx0KTsKPiAr
ICAgIEVORF9JTlNOKHRyYWNlX29wdF9sdGx0KTsKPiArfQo+ICsKPiArLyogaW5zbiB0cmFjZV9v
cHRfYW5kKC4uLikoLi4uKSguLi4pICovCj4gK0lOU05fRU5UUlkodHJhY2Vfb3B0X2FuZCkKPiAr
ewo+ICsgICAgdm1fdHJhY2UoZWMsIEdFVF9DRlAoKSwgR0VUX1BDKCkpOwo+ICsgICAgRElTUEFU
Q0hfT1JJR0lOQUxfSU5TTihvcHRfYW5kKTsKPiArICAgIEVORF9JTlNOKHRyYWNlX29wdF9hbmQp
Owo+ICt9Cj4gKwo+ICsvKiBpbnNuIHRyYWNlX29wdF9vciguLi4pKC4uLikoLi4uKSAqLwo+ICtJ
TlNOX0VOVFJZKHRyYWNlX29wdF9vcikKPiArewo+ICsgICAgdm1fdHJhY2UoZWMsIEdFVF9DRlAo
KSwgR0VUX1BDKCkpOwo+ICsgICAgRElTUEFUQ0hfT1JJR0lOQUxfSU5TTihvcHRfb3IpOwo+ICsg
ICAgRU5EX0lOU04odHJhY2Vfb3B0X29yKTsKPiArfQo+ICsKPiArLyogaW5zbiB0cmFjZV9vcHRf
YXJlZiguLi4pKC4uLikoLi4uKSAqLwo+ICtJTlNOX0VOVFJZKHRyYWNlX29wdF9hcmVmKQo+ICt7
Cj4gKyAgICB2bV90cmFjZShlYywgR0VUX0NGUCgpLCBHRVRfUEMoKSk7Cj4gKyAgICBESVNQQVRD
SF9PUklHSU5BTF9JTlNOKG9wdF9hcmVmKTsKPiArICAgIEVORF9JTlNOKHRyYWNlX29wdF9hcmVm
KTsKPiArfQo+ICsKPiArLyogaW5zbiB0cmFjZV9vcHRfYXNldCguLi4pKC4uLikoLi4uKSAqLwo+
ICtJTlNOX0VOVFJZKHRyYWNlX29wdF9hc2V0KQo+ICt7Cj4gKyAgICB2bV90cmFjZShlYywgR0VU
X0NGUCgpLCBHRVRfUEMoKSk7Cj4gKyAgICBESVNQQVRDSF9PUklHSU5BTF9JTlNOKG9wdF9hc2V0
KTsKPiArICAgIEVORF9JTlNOKHRyYWNlX29wdF9hc2V0KTsKPiArfQo+ICsKPiArLyogaW5zbiB0
cmFjZV9vcHRfYXNldF93aXRoKC4uLikoLi4uKSguLi4pICovCj4gK0lOU05fRU5UUlkodHJhY2Vf
b3B0X2FzZXRfd2l0aCkKPiArewo+ICsgICAgdm1fdHJhY2UoZWMsIEdFVF9DRlAoKSwgR0VUX1BD
KCkpOwo+ICsgICAgRElTUEFUQ0hfT1JJR0lOQUxfSU5TTihvcHRfYXNldF93aXRoKTsKPiArICAg
IEVORF9JTlNOKHRyYWNlX29wdF9hc2V0X3dpdGgpOwo+ICt9Cj4gKwo+ICsvKiBpbnNuIHRyYWNl
X29wdF9hcmVmX3dpdGgoLi4uKSguLi4pKC4uLikgKi8KPiArSU5TTl9FTlRSWSh0cmFjZV9vcHRf
YXJlZl93aXRoKQo+ICt7Cj4gKyAgICB2bV90cmFjZShlYywgR0VUX0NGUCgpLCBHRVRfUEMoKSk7
Cj4gKyAgICBESVNQQVRDSF9PUklHSU5BTF9JTlNOKG9wdF9hcmVmX3dpdGgpOwo+ICsgICAgRU5E
X0lOU04odHJhY2Vfb3B0X2FyZWZfd2l0aCk7Cj4gK30KPiArCj4gKy8qIGluc24gdHJhY2Vfb3B0
X2xlbmd0aCguLi4pKC4uLikoLi4uKSAqLwo+ICtJTlNOX0VOVFJZKHRyYWNlX29wdF9sZW5ndGgp
Cj4gK3sKPiArICAgIHZtX3RyYWNlKGVjLCBHRVRfQ0ZQKCksIEdFVF9QQygpKTsKPiArICAgIERJ
U1BBVENIX09SSUdJTkFMX0lOU04ob3B0X2xlbmd0aCk7Cj4gKyAgICBFTkRfSU5TTih0cmFjZV9v
cHRfbGVuZ3RoKTsKPiArfQo+ICsKPiArLyogaW5zbiB0cmFjZV9vcHRfc2l6ZSguLi4pKC4uLiko
Li4uKSAqLwo+ICtJTlNOX0VOVFJZKHRyYWNlX29wdF9zaXplKQo+ICt7Cj4gKyAgICB2bV90cmFj
ZShlYywgR0VUX0NGUCgpLCBHRVRfUEMoKSk7Cj4gKyAgICBESVNQQVRDSF9PUklHSU5BTF9JTlNO
KG9wdF9zaXplKTsKPiArICAgIEVORF9JTlNOKHRyYWNlX29wdF9zaXplKTsKPiArfQo+ICsKPiAr
LyogaW5zbiB0cmFjZV9vcHRfZW1wdHlfcCguLi4pKC4uLikoLi4uKSAqLwo+ICtJTlNOX0VOVFJZ
KHRyYWNlX29wdF9lbXB0eV9wKQo+ICt7Cj4gKyAgICB2bV90cmFjZShlYywgR0VUX0NGUCgpLCBH
RVRfUEMoKSk7Cj4gKyAgICBESVNQQVRDSF9PUklHSU5BTF9JTlNOKG9wdF9lbXB0eV9wKTsKPiAr
ICAgIEVORF9JTlNOKHRyYWNlX29wdF9lbXB0eV9wKTsKPiArfQo+ICsKPiArLyogaW5zbiB0cmFj
ZV9vcHRfc3VjYyguLi4pKC4uLikoLi4uKSAqLwo+ICtJTlNOX0VOVFJZKHRyYWNlX29wdF9zdWNj
KQo+ICt7Cj4gKyAgICB2bV90cmFjZShlYywgR0VUX0NGUCgpLCBHRVRfUEMoKSk7Cj4gKyAgICBE
SVNQQVRDSF9PUklHSU5BTF9JTlNOKG9wdF9zdWNjKTsKPiArICAgIEVORF9JTlNOKHRyYWNlX29w
dF9zdWNjKTsKPiArfQo+ICsKPiArLyogaW5zbiB0cmFjZV9vcHRfbm90KC4uLikoLi4uKSguLi4p
ICovCj4gK0lOU05fRU5UUlkodHJhY2Vfb3B0X25vdCkKPiArewo+ICsgICAgdm1fdHJhY2UoZWMs
IEdFVF9DRlAoKSwgR0VUX1BDKCkpOwo+ICsgICAgRElTUEFUQ0hfT1JJR0lOQUxfSU5TTihvcHRf
bm90KTsKPiArICAgIEVORF9JTlNOKHRyYWNlX29wdF9ub3QpOwo+ICt9Cj4gKwo+ICsvKiBpbnNu
IHRyYWNlX29wdF9yZWdleHBtYXRjaDEoLi4uKSguLi4pKC4uLikgKi8KPiArSU5TTl9FTlRSWSh0
cmFjZV9vcHRfcmVnZXhwbWF0Y2gxKQo+ICt7Cj4gKyAgICB2bV90cmFjZShlYywgR0VUX0NGUCgp
LCBHRVRfUEMoKSk7Cj4gKyAgICBESVNQQVRDSF9PUklHSU5BTF9JTlNOKG9wdF9yZWdleHBtYXRj
aDEpOwo+ICsgICAgRU5EX0lOU04odHJhY2Vfb3B0X3JlZ2V4cG1hdGNoMSk7Cj4gK30KPiArCj4g
Ky8qIGluc24gdHJhY2Vfb3B0X3JlZ2V4cG1hdGNoMiguLi4pKC4uLikoLi4uKSAqLwo+ICtJTlNO
X0VOVFJZKHRyYWNlX29wdF9yZWdleHBtYXRjaDIpCj4gK3sKPiArICAgIHZtX3RyYWNlKGVjLCBH
RVRfQ0ZQKCksIEdFVF9QQygpKTsKPiArICAgIERJU1BBVENIX09SSUdJTkFMX0lOU04ob3B0X3Jl
Z2V4cG1hdGNoMik7Cj4gKyAgICBFTkRfSU5TTih0cmFjZV9vcHRfcmVnZXhwbWF0Y2gyKTsKPiAr
fQo+ICsKPiArLyogaW5zbiB0cmFjZV9vcHRfY2FsbF9jX2Z1bmN0aW9uKC4uLikoLi4uKSguLi4p
ICovCj4gK0lOU05fRU5UUlkodHJhY2Vfb3B0X2NhbGxfY19mdW5jdGlvbikKPiArewo+ICsgICAg
dm1fdHJhY2UoZWMsIEdFVF9DRlAoKSwgR0VUX1BDKCkpOwo+ICsgICAgRElTUEFUQ0hfT1JJR0lO
QUxfSU5TTihvcHRfY2FsbF9jX2Z1bmN0aW9uKTsKPiArICAgIEVORF9JTlNOKHRyYWNlX29wdF9j
YWxsX2NfZnVuY3Rpb24pOwo+ICt9Cj4gKwo+ICsvKiBpbnNuIHRyYWNlX2JpdGJsdCguLi4pKC4u
LikoLi4uKSAqLwo+ICtJTlNOX0VOVFJZKHRyYWNlX2JpdGJsdCkKPiArewo+ICsgICAgdm1fdHJh
Y2UoZWMsIEdFVF9DRlAoKSwgR0VUX1BDKCkpOwo+ICsgICAgRElTUEFUQ0hfT1JJR0lOQUxfSU5T
TihiaXRibHQpOwo+ICsgICAgRU5EX0lOU04odHJhY2VfYml0Ymx0KTsKPiArfQo+ICsKPiArLyog
aW5zbiB0cmFjZV9hbnN3ZXIoLi4uKSguLi4pKC4uLikgKi8KPiArSU5TTl9FTlRSWSh0cmFjZV9h
bnN3ZXIpCj4gK3sKPiArICAgIHZtX3RyYWNlKGVjLCBHRVRfQ0ZQKCksIEdFVF9QQygpKTsKPiAr
ICAgIERJU1BBVENIX09SSUdJTkFMX0lOU04oYW5zd2VyKTsKPiArICAgIEVORF9JTlNOKHRyYWNl
X2Fuc3dlcik7Cj4gK30KPiArCj4gKy8qIGluc24gdHJhY2VfZ2V0bG9jYWxfV0NfMCguLi4pKC4u
LikoLi4uKSAqLwo+ICtJTlNOX0VOVFJZKHRyYWNlX2dldGxvY2FsX1dDXzApCj4gK3sKPiArICAg
IHZtX3RyYWNlKGVjLCBHRVRfQ0ZQKCksIEdFVF9QQygpKTsKPiArICAgIERJU1BBVENIX09SSUdJ
TkFMX0lOU04oZ2V0bG9jYWxfV0NfMCk7Cj4gKyAgICBFTkRfSU5TTih0cmFjZV9nZXRsb2NhbF9X
Q18wKTsKPiArfQo+ICsKPiArLyogaW5zbiB0cmFjZV9nZXRsb2NhbF9XQ18xKC4uLikoLi4uKSgu
Li4pICovCj4gK0lOU05fRU5UUlkodHJhY2VfZ2V0bG9jYWxfV0NfMSkKPiArewo+ICsgICAgdm1f
dHJhY2UoZWMsIEdFVF9DRlAoKSwgR0VUX1BDKCkpOwo+ICsgICAgRElTUEFUQ0hfT1JJR0lOQUxf
SU5TTihnZXRsb2NhbF9XQ18xKTsKPiArICAgIEVORF9JTlNOKHRyYWNlX2dldGxvY2FsX1dDXzEp
Owo+ICt9Cj4gKwo+ICsvKiBpbnNuIHRyYWNlX3NldGxvY2FsX1dDXzAoLi4uKSguLi4pKC4uLikg
Ki8KPiArSU5TTl9FTlRSWSh0cmFjZV9zZXRsb2NhbF9XQ18wKQo+ICt7Cj4gKyAgICB2bV90cmFj
ZShlYywgR0VUX0NGUCgpLCBHRVRfUEMoKSk7Cj4gKyAgICBESVNQQVRDSF9PUklHSU5BTF9JTlNO
KHNldGxvY2FsX1dDXzApOwo+ICsgICAgRU5EX0lOU04odHJhY2Vfc2V0bG9jYWxfV0NfMCk7Cj4g
K30KPiArCj4gKy8qIGluc24gdHJhY2Vfc2V0bG9jYWxfV0NfMSguLi4pKC4uLikoLi4uKSAqLwo+
ICtJTlNOX0VOVFJZKHRyYWNlX3NldGxvY2FsX1dDXzEpCj4gK3sKPiArICAgIHZtX3RyYWNlKGVj
LCBHRVRfQ0ZQKCksIEdFVF9QQygpKTsKPiArICAgIERJU1BBVENIX09SSUdJTkFMX0lOU04oc2V0
bG9jYWxfV0NfMSk7Cj4gKyAgICBFTkRfSU5TTih0cmFjZV9zZXRsb2NhbF9XQ18xKTsKPiArfQo+
ICsKPiArLyogaW5zbiB0cmFjZV9wdXRvYmplY3RfSU5UMkZJWF8wXyguLi4pKC4uLikoLi4uKSAq
Lwo+ICtJTlNOX0VOVFJZKHRyYWNlX3B1dG9iamVjdF9JTlQyRklYXzBfKQo+ICt7Cj4gKyAgICB2
bV90cmFjZShlYywgR0VUX0NGUCgpLCBHRVRfUEMoKSk7Cj4gKyAgICBESVNQQVRDSF9PUklHSU5B
TF9JTlNOKHB1dG9iamVjdF9JTlQyRklYXzBfKTsKPiArICAgIEVORF9JTlNOKHRyYWNlX3B1dG9i
amVjdF9JTlQyRklYXzBfKTsKPiArfQo+ICsKPiArLyogaW5zbiB0cmFjZV9wdXRvYmplY3RfSU5U
MkZJWF8xXyguLi4pKC4uLikoLi4uKSAqLwo+ICtJTlNOX0VOVFJZKHRyYWNlX3B1dG9iamVjdF9J
TlQyRklYXzFfKQo+ICt7Cj4gKyAgICB2bV90cmFjZShlYywgR0VUX0NGUCgpLCBHRVRfUEMoKSk7
Cj4gKyAgICBESVNQQVRDSF9PUklHSU5BTF9JTlNOKHB1dG9iamVjdF9JTlQyRklYXzFfKTsKPiAr
ICAgIEVORF9JTlNOKHRyYWNlX3B1dG9iamVjdF9JTlQyRklYXzFfKTsKPiArfQo+IGRpZmYgLS1n
aXQgYS9nZW5lcmF0ZWQvdm1fY2FsbF9pc2VxX29wdGltaXplZC5pbmMgYi9nZW5lcmF0ZWQvdm1f
Y2FsbF9pc2VxX29wdGltaXplZC5pbmMKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAw
MDAwMDAuLjY5MDBiMzAKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvZ2VuZXJhdGVkL3ZtX2NhbGxf
aXNlcV9vcHRpbWl6ZWQuaW5jCj4gQEAgLTAsMCArMSwyMTMgQEAKPiArLyogLSotIGMgLSotICov
Cj4gKyNpZiAxIC8qIGVuYWJsZSBvciBkaXNhYmxlIHRoaXMgb3B0aW1pemF0aW9uICovCj4gKwo+
ICsvKiBETyBOT1QgRURJVCBUSElTIEZJTEUgRElSRUNUTFkKPiArICoKPiArICogVGhpcyBmaWxl
IGlzIGdlbmVyYXRlZCBieSB0b29sL21rX2NhbGxfaXNlcV9vcHRpbWl6ZWQucmIKPiArICovCj4g
Kwo+ICtzdGF0aWMgVkFMVUUKPiArdm1fY2FsbF9pc2VxX3NldHVwX25vcm1hbF8wc3RhcnRfMHBh
cmFtc18wbG9jYWxzKHJiX2V4ZWN1dGlvbl9jb250ZXh0X3QgKmVjLCByYl9jb250cm9sX2ZyYW1l
X3QgKmNmcCwgc3RydWN0IHJiX2NhbGxpbmdfaW5mbyAqY2FsbGluZywgY29uc3Qgc3RydWN0IHJi
X2NhbGxfaW5mbyAqY2ksIHN0cnVjdCByYl9jYWxsX2NhY2hlICpjYykKPiArewo+ICsgICAgcmV0
dXJuIHZtX2NhbGxfaXNlcV9zZXR1cF9ub3JtYWwoZWMsIGNmcCwgY2FsbGluZywgY2MtPm1lLCAw
LCAwLCAwKTsKPiArfQo+ICsKPiArc3RhdGljIFZBTFVFCj4gK3ZtX2NhbGxfaXNlcV9zZXR1cF9u
b3JtYWxfMHN0YXJ0XzBwYXJhbXNfMWxvY2FscyhyYl9leGVjdXRpb25fY29udGV4dF90ICplYywg
cmJfY29udHJvbF9mcmFtZV90ICpjZnAsIHN0cnVjdCByYl9jYWxsaW5nX2luZm8gKmNhbGxpbmcs
IGNvbnN0IHN0cnVjdCByYl9jYWxsX2luZm8gKmNpLCBzdHJ1Y3QgcmJfY2FsbF9jYWNoZSAqY2Mp
Cj4gK3sKPiArICAgIHJldHVybiB2bV9jYWxsX2lzZXFfc2V0dXBfbm9ybWFsKGVjLCBjZnAsIGNh
bGxpbmcsIGNjLT5tZSwgMCwgMCwgMSk7Cj4gK30KPiArCj4gK3N0YXRpYyBWQUxVRQo+ICt2bV9j
YWxsX2lzZXFfc2V0dXBfbm9ybWFsXzBzdGFydF8wcGFyYW1zXzJsb2NhbHMocmJfZXhlY3V0aW9u
X2NvbnRleHRfdCAqZWMsIHJiX2NvbnRyb2xfZnJhbWVfdCAqY2ZwLCBzdHJ1Y3QgcmJfY2FsbGlu
Z19pbmZvICpjYWxsaW5nLCBjb25zdCBzdHJ1Y3QgcmJfY2FsbF9pbmZvICpjaSwgc3RydWN0IHJi
X2NhbGxfY2FjaGUgKmNjKQo+ICt7Cj4gKyAgICByZXR1cm4gdm1fY2FsbF9pc2VxX3NldHVwX25v
cm1hbChlYywgY2ZwLCBjYWxsaW5nLCBjYy0+bWUsIDAsIDAsIDIpOwo+ICt9Cj4gKwo+ICtzdGF0
aWMgVkFMVUUKPiArdm1fY2FsbF9pc2VxX3NldHVwX25vcm1hbF8wc3RhcnRfMHBhcmFtc18zbG9j
YWxzKHJiX2V4ZWN1dGlvbl9jb250ZXh0X3QgKmVjLCByYl9jb250cm9sX2ZyYW1lX3QgKmNmcCwg
c3RydWN0IHJiX2NhbGxpbmdfaW5mbyAqY2FsbGluZywgY29uc3Qgc3RydWN0IHJiX2NhbGxfaW5m
byAqY2ksIHN0cnVjdCByYl9jYWxsX2NhY2hlICpjYykKPiArewo+ICsgICAgcmV0dXJuIHZtX2Nh
bGxfaXNlcV9zZXR1cF9ub3JtYWwoZWMsIGNmcCwgY2FsbGluZywgY2MtPm1lLCAwLCAwLCAzKTsK
PiArfQo+ICsKPiArc3RhdGljIFZBTFVFCj4gK3ZtX2NhbGxfaXNlcV9zZXR1cF9ub3JtYWxfMHN0
YXJ0XzBwYXJhbXNfNGxvY2FscyhyYl9leGVjdXRpb25fY29udGV4dF90ICplYywgcmJfY29udHJv
bF9mcmFtZV90ICpjZnAsIHN0cnVjdCByYl9jYWxsaW5nX2luZm8gKmNhbGxpbmcsIGNvbnN0IHN0
cnVjdCByYl9jYWxsX2luZm8gKmNpLCBzdHJ1Y3QgcmJfY2FsbF9jYWNoZSAqY2MpCj4gK3sKPiAr
ICAgIHJldHVybiB2bV9jYWxsX2lzZXFfc2V0dXBfbm9ybWFsKGVjLCBjZnAsIGNhbGxpbmcsIGNj
LT5tZSwgMCwgMCwgNCk7Cj4gK30KPiArCj4gK3N0YXRpYyBWQUxVRQo+ICt2bV9jYWxsX2lzZXFf
c2V0dXBfbm9ybWFsXzBzdGFydF8wcGFyYW1zXzVsb2NhbHMocmJfZXhlY3V0aW9uX2NvbnRleHRf
dCAqZWMsIHJiX2NvbnRyb2xfZnJhbWVfdCAqY2ZwLCBzdHJ1Y3QgcmJfY2FsbGluZ19pbmZvICpj
YWxsaW5nLCBjb25zdCBzdHJ1Y3QgcmJfY2FsbF9pbmZvICpjaSwgc3RydWN0IHJiX2NhbGxfY2Fj
aGUgKmNjKQo+ICt7Cj4gKyAgICByZXR1cm4gdm1fY2FsbF9pc2VxX3NldHVwX25vcm1hbChlYywg
Y2ZwLCBjYWxsaW5nLCBjYy0+bWUsIDAsIDAsIDUpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgVkFMVUUK
PiArdm1fY2FsbF9pc2VxX3NldHVwX25vcm1hbF8wc3RhcnRfMXBhcmFtc18wbG9jYWxzKHJiX2V4
ZWN1dGlvbl9jb250ZXh0X3QgKmVjLCByYl9jb250cm9sX2ZyYW1lX3QgKmNmcCwgc3RydWN0IHJi
X2NhbGxpbmdfaW5mbyAqY2FsbGluZywgY29uc3Qgc3RydWN0IHJiX2NhbGxfaW5mbyAqY2ksIHN0
cnVjdCByYl9jYWxsX2NhY2hlICpjYykKPiArewo+ICsgICAgcmV0dXJuIHZtX2NhbGxfaXNlcV9z
ZXR1cF9ub3JtYWwoZWMsIGNmcCwgY2FsbGluZywgY2MtPm1lLCAwLCAxLCAwKTsKPiArfQo+ICsK
PiArc3RhdGljIFZBTFVFCj4gK3ZtX2NhbGxfaXNlcV9zZXR1cF9ub3JtYWxfMHN0YXJ0XzFwYXJh
bXNfMWxvY2FscyhyYl9leGVjdXRpb25fY29udGV4dF90ICplYywgcmJfY29udHJvbF9mcmFtZV90
ICpjZnAsIHN0cnVjdCByYl9jYWxsaW5nX2luZm8gKmNhbGxpbmcsIGNvbnN0IHN0cnVjdCByYl9j
YWxsX2luZm8gKmNpLCBzdHJ1Y3QgcmJfY2FsbF9jYWNoZSAqY2MpCj4gK3sKPiArICAgIHJldHVy
biB2bV9jYWxsX2lzZXFfc2V0dXBfbm9ybWFsKGVjLCBjZnAsIGNhbGxpbmcsIGNjLT5tZSwgMCwg
MSwgMSk7Cj4gK30KPiArCj4gK3N0YXRpYyBWQUxVRQo+ICt2bV9jYWxsX2lzZXFfc2V0dXBfbm9y
bWFsXzBzdGFydF8xcGFyYW1zXzJsb2NhbHMocmJfZXhlY3V0aW9uX2NvbnRleHRfdCAqZWMsIHJi
X2NvbnRyb2xfZnJhbWVfdCAqY2ZwLCBzdHJ1Y3QgcmJfY2FsbGluZ19pbmZvICpjYWxsaW5nLCBj
b25zdCBzdHJ1Y3QgcmJfY2FsbF9pbmZvICpjaSwgc3RydWN0IHJiX2NhbGxfY2FjaGUgKmNjKQo+
ICt7Cj4gKyAgICByZXR1cm4gdm1fY2FsbF9pc2VxX3NldHVwX25vcm1hbChlYywgY2ZwLCBjYWxs
aW5nLCBjYy0+bWUsIDAsIDEsIDIpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgVkFMVUUKPiArdm1fY2Fs
bF9pc2VxX3NldHVwX25vcm1hbF8wc3RhcnRfMXBhcmFtc18zbG9jYWxzKHJiX2V4ZWN1dGlvbl9j
b250ZXh0X3QgKmVjLCByYl9jb250cm9sX2ZyYW1lX3QgKmNmcCwgc3RydWN0IHJiX2NhbGxpbmdf
aW5mbyAqY2FsbGluZywgY29uc3Qgc3RydWN0IHJiX2NhbGxfaW5mbyAqY2ksIHN0cnVjdCByYl9j
YWxsX2NhY2hlICpjYykKPiArewo+ICsgICAgcmV0dXJuIHZtX2NhbGxfaXNlcV9zZXR1cF9ub3Jt
YWwoZWMsIGNmcCwgY2FsbGluZywgY2MtPm1lLCAwLCAxLCAzKTsKPiArfQo+ICsKPiArc3RhdGlj
IFZBTFVFCj4gK3ZtX2NhbGxfaXNlcV9zZXR1cF9ub3JtYWxfMHN0YXJ0XzFwYXJhbXNfNGxvY2Fs
cyhyYl9leGVjdXRpb25fY29udGV4dF90ICplYywgcmJfY29udHJvbF9mcmFtZV90ICpjZnAsIHN0
cnVjdCByYl9jYWxsaW5nX2luZm8gKmNhbGxpbmcsIGNvbnN0IHN0cnVjdCByYl9jYWxsX2luZm8g
KmNpLCBzdHJ1Y3QgcmJfY2FsbF9jYWNoZSAqY2MpCj4gK3sKPiArICAgIHJldHVybiB2bV9jYWxs
X2lzZXFfc2V0dXBfbm9ybWFsKGVjLCBjZnAsIGNhbGxpbmcsIGNjLT5tZSwgMCwgMSwgNCk7Cj4g
K30KPiArCj4gK3N0YXRpYyBWQUxVRQo+ICt2bV9jYWxsX2lzZXFfc2V0dXBfbm9ybWFsXzBzdGFy
dF8xcGFyYW1zXzVsb2NhbHMocmJfZXhlY3V0aW9uX2NvbnRleHRfdCAqZWMsIHJiX2NvbnRyb2xf
ZnJhbWVfdCAqY2ZwLCBzdHJ1Y3QgcmJfY2FsbGluZ19pbmZvICpjYWxsaW5nLCBjb25zdCBzdHJ1
Y3QgcmJfY2FsbF9pbmZvICpjaSwgc3RydWN0IHJiX2NhbGxfY2FjaGUgKmNjKQo+ICt7Cj4gKyAg
ICByZXR1cm4gdm1fY2FsbF9pc2VxX3NldHVwX25vcm1hbChlYywgY2ZwLCBjYWxsaW5nLCBjYy0+
bWUsIDAsIDEsIDUpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgVkFMVUUKPiArdm1fY2FsbF9pc2VxX3Nl
dHVwX25vcm1hbF8wc3RhcnRfMnBhcmFtc18wbG9jYWxzKHJiX2V4ZWN1dGlvbl9jb250ZXh0X3Qg
KmVjLCByYl9jb250cm9sX2ZyYW1lX3QgKmNmcCwgc3RydWN0IHJiX2NhbGxpbmdfaW5mbyAqY2Fs
bGluZywgY29uc3Qgc3RydWN0IHJiX2NhbGxfaW5mbyAqY2ksIHN0cnVjdCByYl9jYWxsX2NhY2hl
ICpjYykKPiArewo+ICsgICAgcmV0dXJuIHZtX2NhbGxfaXNlcV9zZXR1cF9ub3JtYWwoZWMsIGNm
cCwgY2FsbGluZywgY2MtPm1lLCAwLCAyLCAwKTsKPiArfQo+ICsKPiArc3RhdGljIFZBTFVFCj4g
K3ZtX2NhbGxfaXNlcV9zZXR1cF9ub3JtYWxfMHN0YXJ0XzJwYXJhbXNfMWxvY2FscyhyYl9leGVj
dXRpb25fY29udGV4dF90ICplYywgcmJfY29udHJvbF9mcmFtZV90ICpjZnAsIHN0cnVjdCByYl9j
YWxsaW5nX2luZm8gKmNhbGxpbmcsIGNvbnN0IHN0cnVjdCByYl9jYWxsX2luZm8gKmNpLCBzdHJ1
Y3QgcmJfY2FsbF9jYWNoZSAqY2MpCj4gK3sKPiArICAgIHJldHVybiB2bV9jYWxsX2lzZXFfc2V0
dXBfbm9ybWFsKGVjLCBjZnAsIGNhbGxpbmcsIGNjLT5tZSwgMCwgMiwgMSk7Cj4gK30KPiArCj4g
K3N0YXRpYyBWQUxVRQo+ICt2bV9jYWxsX2lzZXFfc2V0dXBfbm9ybWFsXzBzdGFydF8ycGFyYW1z
XzJsb2NhbHMocmJfZXhlY3V0aW9uX2NvbnRleHRfdCAqZWMsIHJiX2NvbnRyb2xfZnJhbWVfdCAq
Y2ZwLCBzdHJ1Y3QgcmJfY2FsbGluZ19pbmZvICpjYWxsaW5nLCBjb25zdCBzdHJ1Y3QgcmJfY2Fs
bF9pbmZvICpjaSwgc3RydWN0IHJiX2NhbGxfY2FjaGUgKmNjKQo+ICt7Cj4gKyAgICByZXR1cm4g
dm1fY2FsbF9pc2VxX3NldHVwX25vcm1hbChlYywgY2ZwLCBjYWxsaW5nLCBjYy0+bWUsIDAsIDIs
IDIpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgVkFMVUUKPiArdm1fY2FsbF9pc2VxX3NldHVwX25vcm1h
bF8wc3RhcnRfMnBhcmFtc18zbG9jYWxzKHJiX2V4ZWN1dGlvbl9jb250ZXh0X3QgKmVjLCByYl9j
b250cm9sX2ZyYW1lX3QgKmNmcCwgc3RydWN0IHJiX2NhbGxpbmdfaW5mbyAqY2FsbGluZywgY29u
c3Qgc3RydWN0IHJiX2NhbGxfaW5mbyAqY2ksIHN0cnVjdCByYl9jYWxsX2NhY2hlICpjYykKPiAr
ewo+ICsgICAgcmV0dXJuIHZtX2NhbGxfaXNlcV9zZXR1cF9ub3JtYWwoZWMsIGNmcCwgY2FsbGlu
ZywgY2MtPm1lLCAwLCAyLCAzKTsKPiArfQo+ICsKPiArc3RhdGljIFZBTFVFCj4gK3ZtX2NhbGxf
aXNlcV9zZXR1cF9ub3JtYWxfMHN0YXJ0XzJwYXJhbXNfNGxvY2FscyhyYl9leGVjdXRpb25fY29u
dGV4dF90ICplYywgcmJfY29udHJvbF9mcmFtZV90ICpjZnAsIHN0cnVjdCByYl9jYWxsaW5nX2lu
Zm8gKmNhbGxpbmcsIGNvbnN0IHN0cnVjdCByYl9jYWxsX2luZm8gKmNpLCBzdHJ1Y3QgcmJfY2Fs
bF9jYWNoZSAqY2MpCj4gK3sKPiArICAgIHJldHVybiB2bV9jYWxsX2lzZXFfc2V0dXBfbm9ybWFs
KGVjLCBjZnAsIGNhbGxpbmcsIGNjLT5tZSwgMCwgMiwgNCk7Cj4gK30KPiArCj4gK3N0YXRpYyBW
QUxVRQo+ICt2bV9jYWxsX2lzZXFfc2V0dXBfbm9ybWFsXzBzdGFydF8ycGFyYW1zXzVsb2NhbHMo
cmJfZXhlY3V0aW9uX2NvbnRleHRfdCAqZWMsIHJiX2NvbnRyb2xfZnJhbWVfdCAqY2ZwLCBzdHJ1
Y3QgcmJfY2FsbGluZ19pbmZvICpjYWxsaW5nLCBjb25zdCBzdHJ1Y3QgcmJfY2FsbF9pbmZvICpj
aSwgc3RydWN0IHJiX2NhbGxfY2FjaGUgKmNjKQo+ICt7Cj4gKyAgICByZXR1cm4gdm1fY2FsbF9p
c2VxX3NldHVwX25vcm1hbChlYywgY2ZwLCBjYWxsaW5nLCBjYy0+bWUsIDAsIDIsIDUpOwo+ICt9
Cj4gKwo+ICtzdGF0aWMgVkFMVUUKPiArdm1fY2FsbF9pc2VxX3NldHVwX25vcm1hbF8wc3RhcnRf
M3BhcmFtc18wbG9jYWxzKHJiX2V4ZWN1dGlvbl9jb250ZXh0X3QgKmVjLCByYl9jb250cm9sX2Zy
YW1lX3QgKmNmcCwgc3RydWN0IHJiX2NhbGxpbmdfaW5mbyAqY2FsbGluZywgY29uc3Qgc3RydWN0
IHJiX2NhbGxfaW5mbyAqY2ksIHN0cnVjdCByYl9jYWxsX2NhY2hlICpjYykKPiArewo+ICsgICAg
cmV0dXJuIHZtX2NhbGxfaXNlcV9zZXR1cF9ub3JtYWwoZWMsIGNmcCwgY2FsbGluZywgY2MtPm1l
LCAwLCAzLCAwKTsKPiArfQo+ICsKPiArc3RhdGljIFZBTFVFCj4gK3ZtX2NhbGxfaXNlcV9zZXR1
cF9ub3JtYWxfMHN0YXJ0XzNwYXJhbXNfMWxvY2FscyhyYl9leGVjdXRpb25fY29udGV4dF90ICpl
YywgcmJfY29udHJvbF9mcmFtZV90ICpjZnAsIHN0cnVjdCByYl9jYWxsaW5nX2luZm8gKmNhbGxp
bmcsIGNvbnN0IHN0cnVjdCByYl9jYWxsX2luZm8gKmNpLCBzdHJ1Y3QgcmJfY2FsbF9jYWNoZSAq
Y2MpCj4gK3sKPiArICAgIHJldHVybiB2bV9jYWxsX2lzZXFfc2V0dXBfbm9ybWFsKGVjLCBjZnAs
IGNhbGxpbmcsIGNjLT5tZSwgMCwgMywgMSk7Cj4gK30KPiArCj4gK3N0YXRpYyBWQUxVRQo+ICt2
bV9jYWxsX2lzZXFfc2V0dXBfbm9ybWFsXzBzdGFydF8zcGFyYW1zXzJsb2NhbHMocmJfZXhlY3V0
aW9uX2NvbnRleHRfdCAqZWMsIHJiX2NvbnRyb2xfZnJhbWVfdCAqY2ZwLCBzdHJ1Y3QgcmJfY2Fs
bGluZ19pbmZvICpjYWxsaW5nLCBjb25zdCBzdHJ1Y3QgcmJfY2FsbF9pbmZvICpjaSwgc3RydWN0
IHJiX2NhbGxfY2FjaGUgKmNjKQo+ICt7Cj4gKyAgICByZXR1cm4gdm1fY2FsbF9pc2VxX3NldHVw
X25vcm1hbChlYywgY2ZwLCBjYWxsaW5nLCBjYy0+bWUsIDAsIDMsIDIpOwo+ICt9Cj4gKwo+ICtz
dGF0aWMgVkFMVUUKPiArdm1fY2FsbF9pc2VxX3NldHVwX25vcm1hbF8wc3RhcnRfM3BhcmFtc18z
bG9jYWxzKHJiX2V4ZWN1dGlvbl9jb250ZXh0X3QgKmVjLCByYl9jb250cm9sX2ZyYW1lX3QgKmNm
cCwgc3RydWN0IHJiX2NhbGxpbmdfaW5mbyAqY2FsbGluZywgY29uc3Qgc3RydWN0IHJiX2NhbGxf
aW5mbyAqY2ksIHN0cnVjdCByYl9jYWxsX2NhY2hlICpjYykKPiArewo+ICsgICAgcmV0dXJuIHZt
X2NhbGxfaXNlcV9zZXR1cF9ub3JtYWwoZWMsIGNmcCwgY2FsbGluZywgY2MtPm1lLCAwLCAzLCAz
KTsKPiArfQo+ICsKPiArc3RhdGljIFZBTFVFCj4gK3ZtX2NhbGxfaXNlcV9zZXR1cF9ub3JtYWxf
MHN0YXJ0XzNwYXJhbXNfNGxvY2FscyhyYl9leGVjdXRpb25fY29udGV4dF90ICplYywgcmJfY29u
dHJvbF9mcmFtZV90ICpjZnAsIHN0cnVjdCByYl9jYWxsaW5nX2luZm8gKmNhbGxpbmcsIGNvbnN0
IHN0cnVjdCByYl9jYWxsX2luZm8gKmNpLCBzdHJ1Y3QgcmJfY2FsbF9jYWNoZSAqY2MpCj4gK3sK
PiArICAgIHJldHVybiB2bV9jYWxsX2lzZXFfc2V0dXBfbm9ybWFsKGVjLCBjZnAsIGNhbGxpbmcs
IGNjLT5tZSwgMCwgMywgNCk7Cj4gK30KPiArCj4gK3N0YXRpYyBWQUxVRQo+ICt2bV9jYWxsX2lz
ZXFfc2V0dXBfbm9ybWFsXzBzdGFydF8zcGFyYW1zXzVsb2NhbHMocmJfZXhlY3V0aW9uX2NvbnRl
eHRfdCAqZWMsIHJiX2NvbnRyb2xfZnJhbWVfdCAqY2ZwLCBzdHJ1Y3QgcmJfY2FsbGluZ19pbmZv
ICpjYWxsaW5nLCBjb25zdCBzdHJ1Y3QgcmJfY2FsbF9pbmZvICpjaSwgc3RydWN0IHJiX2NhbGxf
Y2FjaGUgKmNjKQo+ICt7Cj4gKyAgICByZXR1cm4gdm1fY2FsbF9pc2VxX3NldHVwX25vcm1hbChl
YywgY2ZwLCBjYWxsaW5nLCBjYy0+bWUsIDAsIDMsIDUpOwo+ICt9Cj4gKwo+ICsvKiB2bV9jYWxs
X2lzZXFfaGFuZGxlcnNbcGFyYW1dW2xvY2FsXSAqLwo+ICtzdGF0aWMgY29uc3Qgdm1fY2FsbF9o
YW5kbGVyIHZtX2NhbGxfaXNlcV9oYW5kbGVyc1tdWzZdID0gewo+ICt7dm1fY2FsbF9pc2VxX3Nl
dHVwX25vcm1hbF8wc3RhcnRfMHBhcmFtc18wbG9jYWxzLAo+ICsgdm1fY2FsbF9pc2VxX3NldHVw
X25vcm1hbF8wc3RhcnRfMHBhcmFtc18xbG9jYWxzLAo+ICsgdm1fY2FsbF9pc2VxX3NldHVwX25v
cm1hbF8wc3RhcnRfMHBhcmFtc18ybG9jYWxzLAo+ICsgdm1fY2FsbF9pc2VxX3NldHVwX25vcm1h
bF8wc3RhcnRfMHBhcmFtc18zbG9jYWxzLAo+ICsgdm1fY2FsbF9pc2VxX3NldHVwX25vcm1hbF8w
c3RhcnRfMHBhcmFtc180bG9jYWxzLAo+ICsgdm1fY2FsbF9pc2VxX3NldHVwX25vcm1hbF8wc3Rh
cnRfMHBhcmFtc181bG9jYWxzfSwKPiAre3ZtX2NhbGxfaXNlcV9zZXR1cF9ub3JtYWxfMHN0YXJ0
XzFwYXJhbXNfMGxvY2FscywKPiArIHZtX2NhbGxfaXNlcV9zZXR1cF9ub3JtYWxfMHN0YXJ0XzFw
YXJhbXNfMWxvY2FscywKPiArIHZtX2NhbGxfaXNlcV9zZXR1cF9ub3JtYWxfMHN0YXJ0XzFwYXJh
bXNfMmxvY2FscywKPiArIHZtX2NhbGxfaXNlcV9zZXR1cF9ub3JtYWxfMHN0YXJ0XzFwYXJhbXNf
M2xvY2FscywKPiArIHZtX2NhbGxfaXNlcV9zZXR1cF9ub3JtYWxfMHN0YXJ0XzFwYXJhbXNfNGxv
Y2FscywKPiArIHZtX2NhbGxfaXNlcV9zZXR1cF9ub3JtYWxfMHN0YXJ0XzFwYXJhbXNfNWxvY2Fs
c30sCj4gK3t2bV9jYWxsX2lzZXFfc2V0dXBfbm9ybWFsXzBzdGFydF8ycGFyYW1zXzBsb2NhbHMs
Cj4gKyB2bV9jYWxsX2lzZXFfc2V0dXBfbm9ybWFsXzBzdGFydF8ycGFyYW1zXzFsb2NhbHMsCj4g
KyB2bV9jYWxsX2lzZXFfc2V0dXBfbm9ybWFsXzBzdGFydF8ycGFyYW1zXzJsb2NhbHMsCj4gKyB2
bV9jYWxsX2lzZXFfc2V0dXBfbm9ybWFsXzBzdGFydF8ycGFyYW1zXzNsb2NhbHMsCj4gKyB2bV9j
YWxsX2lzZXFfc2V0dXBfbm9ybWFsXzBzdGFydF8ycGFyYW1zXzRsb2NhbHMsCj4gKyB2bV9jYWxs
X2lzZXFfc2V0dXBfbm9ybWFsXzBzdGFydF8ycGFyYW1zXzVsb2NhbHN9LAo+ICt7dm1fY2FsbF9p
c2VxX3NldHVwX25vcm1hbF8wc3RhcnRfM3BhcmFtc18wbG9jYWxzLAo+ICsgdm1fY2FsbF9pc2Vx
X3NldHVwX25vcm1hbF8wc3RhcnRfM3BhcmFtc18xbG9jYWxzLAo+ICsgdm1fY2FsbF9pc2VxX3Nl
dHVwX25vcm1hbF8wc3RhcnRfM3BhcmFtc18ybG9jYWxzLAo+ICsgdm1fY2FsbF9pc2VxX3NldHVw
X25vcm1hbF8wc3RhcnRfM3BhcmFtc18zbG9jYWxzLAo+ICsgdm1fY2FsbF9pc2VxX3NldHVwX25v
cm1hbF8wc3RhcnRfM3BhcmFtc180bG9jYWxzLAo+ICsgdm1fY2FsbF9pc2VxX3NldHVwX25vcm1h
bF8wc3RhcnRfM3BhcmFtc181bG9jYWxzfQo+ICt9Owo+ICsKPiArc3RhdGljIGlubGluZSB2bV9j
YWxsX2hhbmRsZXIKPiArdm1fY2FsbF9pc2VxX3NldHVwX2Z1bmMoY29uc3Qgc3RydWN0IHJiX2Nh
bGxfaW5mbyAqY2ksIGNvbnN0IGludCBwYXJhbV9zaXplLCBjb25zdCBpbnQgbG9jYWxfc2l6ZSkK
PiArewo+ICsgICAgaWYgKFVOTElLRUxZKGNpLT5mbGFnICYgVk1fQ0FMTF9UQUlMQ0FMTCkpIHsK
PiArICAgICAgIHJldHVybiAmdm1fY2FsbF9pc2VxX3NldHVwX3RhaWxjYWxsXzBzdGFydDsKPiAr
ICAgIH0KPiArICAgIGVsc2UgaWYgKDApIHsgLyogdG8gZGlzYWJsZSBvcHRpbWl6ZSAqLwo+ICsg
ICAgICAgIHJldHVybiAmdm1fY2FsbF9pc2VxX3NldHVwX25vcm1hbF8wc3RhcnQ7Cj4gKyAgICB9
Cj4gKyAgICBlbHNlIHsKPiArICAgICAgIGlmIChwYXJhbV9zaXplIDw9IDMgJiYKPiArICAgICAg
ICAgICBsb2NhbF9zaXplIDw9IDUpIHsKPiArICAgICAgICAgICBWTV9BU1NFUlQobG9jYWxfc2l6
ZSA+PSAwKTsKPiArICAgICAgICAgICByZXR1cm4gdm1fY2FsbF9pc2VxX2hhbmRsZXJzW3BhcmFt
X3NpemVdW2xvY2FsX3NpemVdOwo+ICsgICAgICAgfQo+ICsgICAgICAgcmV0dXJuICZ2bV9jYWxs
X2lzZXFfc2V0dXBfbm9ybWFsXzBzdGFydDsKPiArICAgIH0KPiArfQo+ICsKPiArI2Vsc2UKPiAr
Cj4gKwo+ICtzdGF0aWMgaW5saW5lIHZtX2NhbGxfaGFuZGxlcgo+ICt2bV9jYWxsX2lzZXFfc2V0
dXBfZnVuYyhjb25zdCBzdHJ1Y3QgcmJfY2FsbF9pbmZvICpjaSwgc3RydWN0IHJiX2NhbGxfY2Fj
aGUgKmNjKQo+ICt7Cj4gKyAgICBpZiAoVU5MSUtFTFkoY2ktPmZsYWcgJiBWTV9DQUxMX1RBSUxD
QUxMKSkgewo+ICsgICAgICAgcmV0dXJuICZ2bV9jYWxsX2lzZXFfc2V0dXBfdGFpbGNhbGxfMHN0
YXJ0Owo+ICsgICAgfQo+ICsgICAgZWxzZSB7Cj4gKyAgICAgICAgcmV0dXJuICZ2bV9jYWxsX2lz
ZXFfc2V0dXBfbm9ybWFsXzBzdGFydDsKPiArICAgIH0KPiArfQo+ICsjZW5kaWYKPiBkaWZmIC0t
Z2l0IGEvZ2VuZXJhdGVkL3ZtdGMuaW5jIGIvZ2VuZXJhdGVkL3ZtdGMuaW5jCj4gbmV3IGZpbGUg
bW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi5jZTZjZmQ2Cj4gLS0tIC9kZXYvbnVsbAo+ICsr
KyBiL2dlbmVyYXRlZC92bXRjLmluYwo+IEBAIC0wLDAgKzEsMjQzIEBACj4gKy8qIC0qLSBtb2Rl
OmM7IHN0eWxlOnJ1Ynk7IGNvZGluZzogdXRmLTg7IGluZGVudC10YWJzLW1vZGU6IG5pbCAtKi0g
Ki8KPiArCj4gKy8qIFRoaXMgaXMgIGFuIGF1dG8tZ2VuZXJhdGVkIGZpbGUgIGFuZCBpcyBhICBw
YXJ0IG9mIHRoZSAgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UKPiArICogUnVieS4gIFRoZSAgcGVyc29u
IHdobyAgY3JlYXRlZCAgYSAgcHJvZ3JhbSAgdG8gIGdlbmVyYXRlIHRoaXMgIGZpbGUgIChgYEkn
Jwo+ICsgKiBoZXJlYWZ0ZXIpIHdvdWxkIGxpa2UgIHRvIHJlZnJhaW4gZnJvbSBkZWZpbmluZyBs
aWNlbnNpbmcgIG9mIHRoaXMgZ2VuZXJhdGVkCj4gKyAqIHNvdXJjZSBjb2RlLgo+ICsgKgo+ICsg
KiBUaGlzIGZpbGUgY29uc2lzdCBvZiBtYW55IHNtYWxsICBwYXJ0cyBvZiBjb2RlcyBjb3B5cmln
aHRlZCBieSBlYWNoIGF1dGhvcnMsCj4gKyAqIG5vdCAgb25seSAgdGhlICBgYEknJyAgcGVyc29u
LiAgIFRob3NlICBvcmlnaW5hbCAgYXV0aG9ycyAgYWdyZWUgIHdpdGggIHNvbWUKPiArICogb3Bl
bi1zb3VyY2UgbGljZW5zZS4gIEkgIGJlbGlldmUgdGhhdCB0aGUgbGljZW5zZSB3ZSBhZ3JlZSAg
aXMgdGhlIGNvbmRpdGlvbgo+ICsgKiBtZW50aW9uZWQgaW4gIHRoZSBmaWxlIENPUFlJTkcuICBJ
dCAgc3RhdGVzICI0LiAgWW91IG1heSAgbW9kaWZ5IGFuZCBpbmNsdWRlCj4gKyAqIHRoZSBwYXJ0
IG9mIHRoZSBzb2Z0d2FyZSBpbnRvIGFueSAgb3RoZXIgc29mdHdhcmUgLi4uIi4gIEJ1dCB0aGUg
cHJvYmxlbSBpcywKPiArICogdGhlIGxpY2Vuc2UgbmV2ZXIgbWFrZXMgaXQgY2xlYXIgaWYgIHN1
Y2ggbW9kaWZpZWQgcGFydHMgc3RpbGwgcmVtYWluIGluIHRoZQo+ICsgKiBzYW1lICBsaWNlbnNl
LCBvciAgbm90LiAgIFRoZSBmYWN0ICB0aGF0ICB3ZSBhZ3JlZSAgd2l0aCAgdGhlIHNvdXJjZSAg
Y29kZSdzCj4gKyAqIGxpY2Vuc2luZyB0ZXJtcyBkbyBub3QgYXV0b21hdGljYWxseSBkZWZpbmUg
dGhhdCBvZiBnZW5lcmF0ZWQgb25lcy4gIFRoaXMgaXMKPiArICogdGhlIHJlYXNvbiAgd2h5IHRo
aXMgZmlsZSAgaXMgdW5kZXIgdW5jbGVhciBzaXR1YXRpb24uICAgQWxsIHRoYXQgSSAga25vdyBp
cwo+ICsgKiB0aGF0IGFib3ZlIHByb3Zpc2lvbiBndWFyYW50ZWVzIHRoaXMgZmlsZSB0byBleGlz
dC4KPiArICoKPiArICogUGxlYXNlIGxldCBtZSAgaGVzaXRhdGUgdG8gZGVjbGFyZSBzb21ldGhp
bmcgYWJvdXQgdGhpcyAgbnVhbmNlZCBjb250cmFjdC4gSQo+ICsgKiBhbSBub3QgaW4gdGhlIHBv
c2l0aW9uIHRvIHRha2UgIG92ZXIgb3RoZXIgYXV0aG9ycycgbGljZW5zZSB0byBtZXJnZSBpbnRv
IG15Cj4gKyAqIG9uZS4gIENoYW5naW5nIHRoZW0gdG8gKHNheSkgR1BMdjMgIGlzIG5vdCBkb2Fi
bGUgYnkgbXlzZWxmLiBQZXJoYXBzIHNvbWVkYXkKPiArICogaXQgbWlnaHQgdHVybiBvdXQgdG8g
YmUgb2theSB0byBzYXkgdGhpcyBmaWxlIGlzIHVuZGVyIGEgbGljZW5zZS4gSSB3aXNoIHRoZQo+
ICsgKiBzaXR1YXRpb24gd291bGQgYmVjb21lIG1vcmUgY2xlYXIgaW4gdGhlIGZ1dHVyZS4gKi8K
PiArLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKiovCj4gKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwo+ICsvKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KPiArLyoqCj4g
KyAgVGhpcyBmaWxlIGlzIGZvciB0aHJlYWRlZCBjb2RlLgo+ICsKPiArICAtLS0tCj4gKyAgVGhp
cyBmaWxlIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IGluc25zMnZtLnJiCj4gKyAgRE8gTk9UIFRPVUNI
IQo+ICsKPiArICBJZiB5b3Ugd2FudCB0byBmaXggc29tZXRoaW5nLCB5b3UgbXVzdCBlZGl0ICJ0
b29sL3J1Ynlfdm0vdmlld3Mvdm10Yy5pbmMuZXJiIgo+ICsgIG9yIHRvb2wvaW5zbnMydm0ucmIK
PiArICovCj4gKwo+ICtzdGF0aWMgY29uc3Qgdm9pZCAqY29uc3QgaW5zbnNfYWRkcmVzc190YWJs
ZVtdID0gewo+ICsgICAgTEFCRUxfUFRSKG5vcCksCj4gKyAgICBMQUJFTF9QVFIoZ2V0bG9jYWwp
LAo+ICsgICAgTEFCRUxfUFRSKHNldGxvY2FsKSwKPiArICAgIExBQkVMX1BUUihnZXRibG9ja3Bh
cmFtKSwKPiArICAgIExBQkVMX1BUUihzZXRibG9ja3BhcmFtKSwKPiArICAgIExBQkVMX1BUUihn
ZXRibG9ja3BhcmFtcHJveHkpLAo+ICsgICAgTEFCRUxfUFRSKGdldHNwZWNpYWwpLAo+ICsgICAg
TEFCRUxfUFRSKHNldHNwZWNpYWwpLAo+ICsgICAgTEFCRUxfUFRSKGdldGluc3RhbmNldmFyaWFi
bGUpLAo+ICsgICAgTEFCRUxfUFRSKHNldGluc3RhbmNldmFyaWFibGUpLAo+ICsgICAgTEFCRUxf
UFRSKGdldGNsYXNzdmFyaWFibGUpLAo+ICsgICAgTEFCRUxfUFRSKHNldGNsYXNzdmFyaWFibGUp
LAo+ICsgICAgTEFCRUxfUFRSKGdldGNvbnN0YW50KSwKPiArICAgIExBQkVMX1BUUihzZXRjb25z
dGFudCksCj4gKyAgICBMQUJFTF9QVFIoZ2V0Z2xvYmFsKSwKPiArICAgIExBQkVMX1BUUihzZXRn
bG9iYWwpLAo+ICsgICAgTEFCRUxfUFRSKHB1dG5pbCksCj4gKyAgICBMQUJFTF9QVFIocHV0c2Vs
ZiksCj4gKyAgICBMQUJFTF9QVFIocHV0b2JqZWN0KSwKPiArICAgIExBQkVMX1BUUihwdXRzcGVj
aWFsb2JqZWN0KSwKPiArICAgIExBQkVMX1BUUihwdXRpc2VxKSwKPiArICAgIExBQkVMX1BUUihw
dXRzdHJpbmcpLAo+ICsgICAgTEFCRUxfUFRSKGNvbmNhdHN0cmluZ3MpLAo+ICsgICAgTEFCRUxf
UFRSKHRvc3RyaW5nKSwKPiArICAgIExBQkVMX1BUUihmcmVlemVzdHJpbmcpLAo+ICsgICAgTEFC
RUxfUFRSKHRvcmVnZXhwKSwKPiArICAgIExBQkVMX1BUUihpbnRlcm4pLAo+ICsgICAgTEFCRUxf
UFRSKG5ld2FycmF5KSwKPiArICAgIExBQkVMX1BUUihkdXBhcnJheSksCj4gKyAgICBMQUJFTF9Q
VFIoZHVwaGFzaCksCj4gKyAgICBMQUJFTF9QVFIoZXhwYW5kYXJyYXkpLAo+ICsgICAgTEFCRUxf
UFRSKGNvbmNhdGFycmF5KSwKPiArICAgIExBQkVMX1BUUihzcGxhdGFycmF5KSwKPiArICAgIExB
QkVMX1BUUihuZXdoYXNoKSwKPiArICAgIExBQkVMX1BUUihuZXdyYW5nZSksCj4gKyAgICBMQUJF
TF9QVFIocG9wKSwKPiArICAgIExBQkVMX1BUUihkdXApLAo+ICsgICAgTEFCRUxfUFRSKGR1cG4p
LAo+ICsgICAgTEFCRUxfUFRSKHN3YXApLAo+ICsgICAgTEFCRUxfUFRSKHJldmVyc2UpLAo+ICsg
ICAgTEFCRUxfUFRSKHJlcHV0KSwKPiArICAgIExBQkVMX1BUUih0b3BuKSwKPiArICAgIExBQkVM
X1BUUihzZXRuKSwKPiArICAgIExBQkVMX1BUUihhZGp1c3RzdGFjayksCj4gKyAgICBMQUJFTF9Q
VFIoZGVmaW5lZCksCj4gKyAgICBMQUJFTF9QVFIoY2hlY2ttYXRjaCksCj4gKyAgICBMQUJFTF9Q
VFIoY2hlY2trZXl3b3JkKSwKPiArICAgIExBQkVMX1BUUihjaGVja3R5cGUpLAo+ICsgICAgTEFC
RUxfUFRSKGRlZmluZWNsYXNzKSwKPiArICAgIExBQkVMX1BUUihzZW5kKSwKPiArICAgIExBQkVM
X1BUUihvcHRfc2VuZF93aXRob3V0X2Jsb2NrKSwKPiArICAgIExBQkVMX1BUUihvcHRfc3RyX2Zy
ZWV6ZSksCj4gKyAgICBMQUJFTF9QVFIob3B0X3N0cl91bWludXMpLAo+ICsgICAgTEFCRUxfUFRS
KG9wdF9uZXdhcnJheV9tYXgpLAo+ICsgICAgTEFCRUxfUFRSKG9wdF9uZXdhcnJheV9taW4pLAo+
ICsgICAgTEFCRUxfUFRSKGludm9rZXN1cGVyKSwKPiArICAgIExBQkVMX1BUUihpbnZva2VibG9j
ayksCj4gKyAgICBMQUJFTF9QVFIobGVhdmUpLAo+ICsgICAgTEFCRUxfUFRSKHRocm93KSwKPiAr
ICAgIExBQkVMX1BUUihqdW1wKSwKPiArICAgIExBQkVMX1BUUihicmFuY2hpZiksCj4gKyAgICBM
QUJFTF9QVFIoYnJhbmNodW5sZXNzKSwKPiArICAgIExBQkVMX1BUUihicmFuY2huaWwpLAo+ICsg
ICAgTEFCRUxfUFRSKG9wdF9nZXRpbmxpbmVjYWNoZSksCj4gKyAgICBMQUJFTF9QVFIob3B0X3Nl
dGlubGluZWNhY2hlKSwKPiArICAgIExBQkVMX1BUUihvbmNlKSwKPiArICAgIExBQkVMX1BUUihv
cHRfY2FzZV9kaXNwYXRjaCksCj4gKyAgICBMQUJFTF9QVFIob3B0X3BsdXMpLAo+ICsgICAgTEFC
RUxfUFRSKG9wdF9taW51cyksCj4gKyAgICBMQUJFTF9QVFIob3B0X211bHQpLAo+ICsgICAgTEFC
RUxfUFRSKG9wdF9kaXYpLAo+ICsgICAgTEFCRUxfUFRSKG9wdF9tb2QpLAo+ICsgICAgTEFCRUxf
UFRSKG9wdF9lcSksCj4gKyAgICBMQUJFTF9QVFIob3B0X25lcSksCj4gKyAgICBMQUJFTF9QVFIo
b3B0X2x0KSwKPiArICAgIExBQkVMX1BUUihvcHRfbGUpLAo+ICsgICAgTEFCRUxfUFRSKG9wdF9n
dCksCj4gKyAgICBMQUJFTF9QVFIob3B0X2dlKSwKPiArICAgIExBQkVMX1BUUihvcHRfbHRsdCks
Cj4gKyAgICBMQUJFTF9QVFIob3B0X2FuZCksCj4gKyAgICBMQUJFTF9QVFIob3B0X29yKSwKPiAr
ICAgIExBQkVMX1BUUihvcHRfYXJlZiksCj4gKyAgICBMQUJFTF9QVFIob3B0X2FzZXQpLAo+ICsg
ICAgTEFCRUxfUFRSKG9wdF9hc2V0X3dpdGgpLAo+ICsgICAgTEFCRUxfUFRSKG9wdF9hcmVmX3dp
dGgpLAo+ICsgICAgTEFCRUxfUFRSKG9wdF9sZW5ndGgpLAo+ICsgICAgTEFCRUxfUFRSKG9wdF9z
aXplKSwKPiArICAgIExBQkVMX1BUUihvcHRfZW1wdHlfcCksCj4gKyAgICBMQUJFTF9QVFIob3B0
X3N1Y2MpLAo+ICsgICAgTEFCRUxfUFRSKG9wdF9ub3QpLAo+ICsgICAgTEFCRUxfUFRSKG9wdF9y
ZWdleHBtYXRjaDEpLAo+ICsgICAgTEFCRUxfUFRSKG9wdF9yZWdleHBtYXRjaDIpLAo+ICsgICAg
TEFCRUxfUFRSKG9wdF9jYWxsX2NfZnVuY3Rpb24pLAo+ICsgICAgTEFCRUxfUFRSKGJpdGJsdCks
Cj4gKyAgICBMQUJFTF9QVFIoYW5zd2VyKSwKPiArICAgIExBQkVMX1BUUihnZXRsb2NhbF9XQ18w
KSwKPiArICAgIExBQkVMX1BUUihnZXRsb2NhbF9XQ18xKSwKPiArICAgIExBQkVMX1BUUihzZXRs
b2NhbF9XQ18wKSwKPiArICAgIExBQkVMX1BUUihzZXRsb2NhbF9XQ18xKSwKPiArICAgIExBQkVM
X1BUUihwdXRvYmplY3RfSU5UMkZJWF8wXyksCj4gKyAgICBMQUJFTF9QVFIocHV0b2JqZWN0X0lO
VDJGSVhfMV8pLAo+ICsgICAgTEFCRUxfUFRSKHRyYWNlX25vcCksCj4gKyAgICBMQUJFTF9QVFIo
dHJhY2VfZ2V0bG9jYWwpLAo+ICsgICAgTEFCRUxfUFRSKHRyYWNlX3NldGxvY2FsKSwKPiArICAg
IExBQkVMX1BUUih0cmFjZV9nZXRibG9ja3BhcmFtKSwKPiArICAgIExBQkVMX1BUUih0cmFjZV9z
ZXRibG9ja3BhcmFtKSwKPiArICAgIExBQkVMX1BUUih0cmFjZV9nZXRibG9ja3BhcmFtcHJveHkp
LAo+ICsgICAgTEFCRUxfUFRSKHRyYWNlX2dldHNwZWNpYWwpLAo+ICsgICAgTEFCRUxfUFRSKHRy
YWNlX3NldHNwZWNpYWwpLAo+ICsgICAgTEFCRUxfUFRSKHRyYWNlX2dldGluc3RhbmNldmFyaWFi
bGUpLAo+ICsgICAgTEFCRUxfUFRSKHRyYWNlX3NldGluc3RhbmNldmFyaWFibGUpLAo+ICsgICAg
TEFCRUxfUFRSKHRyYWNlX2dldGNsYXNzdmFyaWFibGUpLAo+ICsgICAgTEFCRUxfUFRSKHRyYWNl
X3NldGNsYXNzdmFyaWFibGUpLAo+ICsgICAgTEFCRUxfUFRSKHRyYWNlX2dldGNvbnN0YW50KSwK
PiArICAgIExBQkVMX1BUUih0cmFjZV9zZXRjb25zdGFudCksCj4gKyAgICBMQUJFTF9QVFIodHJh
Y2VfZ2V0Z2xvYmFsKSwKPiArICAgIExBQkVMX1BUUih0cmFjZV9zZXRnbG9iYWwpLAo+ICsgICAg
TEFCRUxfUFRSKHRyYWNlX3B1dG5pbCksCj4gKyAgICBMQUJFTF9QVFIodHJhY2VfcHV0c2VsZiks
Cj4gKyAgICBMQUJFTF9QVFIodHJhY2VfcHV0b2JqZWN0KSwKPiArICAgIExBQkVMX1BUUih0cmFj
ZV9wdXRzcGVjaWFsb2JqZWN0KSwKPiArICAgIExBQkVMX1BUUih0cmFjZV9wdXRpc2VxKSwKPiAr
ICAgIExBQkVMX1BUUih0cmFjZV9wdXRzdHJpbmcpLAo+ICsgICAgTEFCRUxfUFRSKHRyYWNlX2Nv
bmNhdHN0cmluZ3MpLAo+ICsgICAgTEFCRUxfUFRSKHRyYWNlX3Rvc3RyaW5nKSwKPiArICAgIExB
QkVMX1BUUih0cmFjZV9mcmVlemVzdHJpbmcpLAo+ICsgICAgTEFCRUxfUFRSKHRyYWNlX3RvcmVn
ZXhwKSwKPiArICAgIExBQkVMX1BUUih0cmFjZV9pbnRlcm4pLAo+ICsgICAgTEFCRUxfUFRSKHRy
YWNlX25ld2FycmF5KSwKPiArICAgIExBQkVMX1BUUih0cmFjZV9kdXBhcnJheSksCj4gKyAgICBM
QUJFTF9QVFIodHJhY2VfZHVwaGFzaCksCj4gKyAgICBMQUJFTF9QVFIodHJhY2VfZXhwYW5kYXJy
YXkpLAo+ICsgICAgTEFCRUxfUFRSKHRyYWNlX2NvbmNhdGFycmF5KSwKPiArICAgIExBQkVMX1BU
Uih0cmFjZV9zcGxhdGFycmF5KSwKPiArICAgIExBQkVMX1BUUih0cmFjZV9uZXdoYXNoKSwKPiAr
ICAgIExBQkVMX1BUUih0cmFjZV9uZXdyYW5nZSksCj4gKyAgICBMQUJFTF9QVFIodHJhY2VfcG9w
KSwKPiArICAgIExBQkVMX1BUUih0cmFjZV9kdXApLAo+ICsgICAgTEFCRUxfUFRSKHRyYWNlX2R1
cG4pLAo+ICsgICAgTEFCRUxfUFRSKHRyYWNlX3N3YXApLAo+ICsgICAgTEFCRUxfUFRSKHRyYWNl
X3JldmVyc2UpLAo+ICsgICAgTEFCRUxfUFRSKHRyYWNlX3JlcHV0KSwKPiArICAgIExBQkVMX1BU
Uih0cmFjZV90b3BuKSwKPiArICAgIExBQkVMX1BUUih0cmFjZV9zZXRuKSwKPiArICAgIExBQkVM
X1BUUih0cmFjZV9hZGp1c3RzdGFjayksCj4gKyAgICBMQUJFTF9QVFIodHJhY2VfZGVmaW5lZCks
Cj4gKyAgICBMQUJFTF9QVFIodHJhY2VfY2hlY2ttYXRjaCksCj4gKyAgICBMQUJFTF9QVFIodHJh
Y2VfY2hlY2trZXl3b3JkKSwKPiArICAgIExBQkVMX1BUUih0cmFjZV9jaGVja3R5cGUpLAo+ICsg
ICAgTEFCRUxfUFRSKHRyYWNlX2RlZmluZWNsYXNzKSwKPiArICAgIExBQkVMX1BUUih0cmFjZV9z
ZW5kKSwKPiArICAgIExBQkVMX1BUUih0cmFjZV9vcHRfc2VuZF93aXRob3V0X2Jsb2NrKSwKPiAr
ICAgIExBQkVMX1BUUih0cmFjZV9vcHRfc3RyX2ZyZWV6ZSksCj4gKyAgICBMQUJFTF9QVFIodHJh
Y2Vfb3B0X3N0cl91bWludXMpLAo+ICsgICAgTEFCRUxfUFRSKHRyYWNlX29wdF9uZXdhcnJheV9t
YXgpLAo+ICsgICAgTEFCRUxfUFRSKHRyYWNlX29wdF9uZXdhcnJheV9taW4pLAo+ICsgICAgTEFC
RUxfUFRSKHRyYWNlX2ludm9rZXN1cGVyKSwKPiArICAgIExBQkVMX1BUUih0cmFjZV9pbnZva2Vi
bG9jayksCj4gKyAgICBMQUJFTF9QVFIodHJhY2VfbGVhdmUpLAo+ICsgICAgTEFCRUxfUFRSKHRy
YWNlX3Rocm93KSwKPiArICAgIExBQkVMX1BUUih0cmFjZV9qdW1wKSwKPiArICAgIExBQkVMX1BU
Uih0cmFjZV9icmFuY2hpZiksCj4gKyAgICBMQUJFTF9QVFIodHJhY2VfYnJhbmNodW5sZXNzKSwK
PiArICAgIExBQkVMX1BUUih0cmFjZV9icmFuY2huaWwpLAo+ICsgICAgTEFCRUxfUFRSKHRyYWNl
X29wdF9nZXRpbmxpbmVjYWNoZSksCj4gKyAgICBMQUJFTF9QVFIodHJhY2Vfb3B0X3NldGlubGlu
ZWNhY2hlKSwKPiArICAgIExBQkVMX1BUUih0cmFjZV9vbmNlKSwKPiArICAgIExBQkVMX1BUUih0
cmFjZV9vcHRfY2FzZV9kaXNwYXRjaCksCj4gKyAgICBMQUJFTF9QVFIodHJhY2Vfb3B0X3BsdXMp
LAo+ICsgICAgTEFCRUxfUFRSKHRyYWNlX29wdF9taW51cyksCj4gKyAgICBMQUJFTF9QVFIodHJh
Y2Vfb3B0X211bHQpLAo+ICsgICAgTEFCRUxfUFRSKHRyYWNlX29wdF9kaXYpLAo+ICsgICAgTEFC
RUxfUFRSKHRyYWNlX29wdF9tb2QpLAo+ICsgICAgTEFCRUxfUFRSKHRyYWNlX29wdF9lcSksCj4g
KyAgICBMQUJFTF9QVFIodHJhY2Vfb3B0X25lcSksCj4gKyAgICBMQUJFTF9QVFIodHJhY2Vfb3B0
X2x0KSwKPiArICAgIExBQkVMX1BUUih0cmFjZV9vcHRfbGUpLAo+ICsgICAgTEFCRUxfUFRSKHRy
YWNlX29wdF9ndCksCj4gKyAgICBMQUJFTF9QVFIodHJhY2Vfb3B0X2dlKSwKPiArICAgIExBQkVM
X1BUUih0cmFjZV9vcHRfbHRsdCksCj4gKyAgICBMQUJFTF9QVFIodHJhY2Vfb3B0X2FuZCksCj4g
KyAgICBMQUJFTF9QVFIodHJhY2Vfb3B0X29yKSwKPiArICAgIExBQkVMX1BUUih0cmFjZV9vcHRf
YXJlZiksCj4gKyAgICBMQUJFTF9QVFIodHJhY2Vfb3B0X2FzZXQpLAo+ICsgICAgTEFCRUxfUFRS
KHRyYWNlX29wdF9hc2V0X3dpdGgpLAo+ICsgICAgTEFCRUxfUFRSKHRyYWNlX29wdF9hcmVmX3dp
dGgpLAo+ICsgICAgTEFCRUxfUFRSKHRyYWNlX29wdF9sZW5ndGgpLAo+ICsgICAgTEFCRUxfUFRS
KHRyYWNlX29wdF9zaXplKSwKPiArICAgIExBQkVMX1BUUih0cmFjZV9vcHRfZW1wdHlfcCksCj4g
KyAgICBMQUJFTF9QVFIodHJhY2Vfb3B0X3N1Y2MpLAo+ICsgICAgTEFCRUxfUFRSKHRyYWNlX29w
dF9ub3QpLAo+ICsgICAgTEFCRUxfUFRSKHRyYWNlX29wdF9yZWdleHBtYXRjaDEpLAo+ICsgICAg
TEFCRUxfUFRSKHRyYWNlX29wdF9yZWdleHBtYXRjaDIpLAo+ICsgICAgTEFCRUxfUFRSKHRyYWNl
X29wdF9jYWxsX2NfZnVuY3Rpb24pLAo+ICsgICAgTEFCRUxfUFRSKHRyYWNlX2JpdGJsdCksCj4g
KyAgICBMQUJFTF9QVFIodHJhY2VfYW5zd2VyKSwKPiArICAgIExBQkVMX1BUUih0cmFjZV9nZXRs
b2NhbF9XQ18wKSwKPiArICAgIExBQkVMX1BUUih0cmFjZV9nZXRsb2NhbF9XQ18xKSwKPiArICAg
IExBQkVMX1BUUih0cmFjZV9zZXRsb2NhbF9XQ18wKSwKPiArICAgIExBQkVMX1BUUih0cmFjZV9z
ZXRsb2NhbF9XQ18xKSwKPiArICAgIExBQkVMX1BUUih0cmFjZV9wdXRvYmplY3RfSU5UMkZJWF8w
XyksCj4gKyAgICBMQUJFTF9QVFIodHJhY2VfcHV0b2JqZWN0X0lOVDJGSVhfMV8pLAo+ICt9Owo+
ICsKPiArQVNTRVJUX1ZNX0lOU1RSVUNUSU9OX1NJWkUoaW5zbnNfYWRkcmVzc190YWJsZSk7Cj4g
LS0KPiAyLjIwLjEKPgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJv
amVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21p
bmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Thu Dec 12 12:26:56 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 12 Dec 2019 12:26:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ifNYU-0007Ej-3j; Thu, 12 Dec 2019 12:26:54 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=OWuL=2C=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1ifNYT-0007Ee-Ie
 for minios-devel@lists.xen.org; Thu, 12 Dec 2019 12:26:53 +0000
X-Inumbo-ID: abf4dbb4-1cda-11ea-8d3b-12813bfff9fa
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id abf4dbb4-1cda-11ea-8d3b-12813bfff9fa;
 Thu, 12 Dec 2019 12:26:51 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id D51A21041E5;
 Thu, 12 Dec 2019 13:26:49 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-a.office.hd)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id XIQ7U1vM3MQI; Thu, 12 Dec 2019 13:26:49 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from puck.office.hd (puck.office.hd [192.168.24.91])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id B2AEE1041BF;
 Thu, 12 Dec 2019 13:26:49 +0100 (CET)
Received: from localhost (192.168.24.96) by puck.office.hd (192.168.24.91)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 12 Dec
 2019 13:26:49 +0100
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Thu, 12 Dec 2019 13:26:37 +0100
Message-ID: <20191212122641.6189-1-simon.kuenzer@neclab.eu>
X-Mailer: git-send-email 2.20.1
MIME-Version: 1.0
X-Originating-IP: [192.168.24.96]
X-ClientProxiedBy: oberon.office.hd (192.168.24.90) To puck.office.hd
 (192.168.24.91)
Subject: [Minios-devel] [UNIKRAFT PATCH 0/4] lib/vfscore: Register basic set
 to syscall_shim
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>,
 Gaulthier Gain <gaulthier.gain@uliege.be>,
 Simon Kuenzer <simon.kuenzer@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

UmVnaXN0ZXJzIHRoZSBmb2xsb3dpbmcgc3lzdGVtIGNhbGxzIHRvIHN5c2NhbGxfc2hpbToKd3Jp
dGUsIHJlYWQsIHJlYWR2LCBmc3RhdCwgcmVhZGxpbmsuClRob3NlIGFyZSByZXF1aXJlZCBmcm9t
IFZGUyB0byBnZXQgc2ltcGxlICJIZWxsbyBXb3JsZCIKcHJvZ3JhbXMgd29ya2luZy4KClRoaXMg
cGF0Y2ggc2VyaWVzIGRlcGVuZHMgb24gdGhlIHNlcmllczoKICJsaWIvc3lzY2FsbF9zaGltOiBI
YW5kbGluZyBiaW5hcnkgc3lzdGVtIGNhbGxzIgogKGh0dHBzOi8vcGF0Y2h3b3JrLnVuaWtyYWZ0
Lm9yZy9wcm9qZWN0L3VuaWtyYWZ0L2xpc3QvP3Nlcmllcz0xMDk1KQoKU2ltb24gS3VlbnplciAo
NCk6CiAgbGliL3Zmc2NvcmU6IFJlZ2lzdGVyIGB3cml0ZWAgdG8gc3lzY2FsbF9zaGltCiAgbGli
L3Zmc2NvcmU6IFJlZ2lzdGVyIGByZWFkYCwgYHJlYWR2YCB0byBzeXNjYWxsX3NoaW0KICBsaWIv
dmZzY29yZTogUmVnaXN0ZXIgYGZzdGF0YCB0byBzeXNjYWxsX3NoaW0KICBsaWIvdmZzY29yZTog
UmVnaXN0ZXIgYHJlYWRsaW5rYCB0byBzeXNjYWxsX3NoaW0KCiBsaWIvdmZzY29yZS9NYWtlZmls
ZS51ayAgIHwgIDUgKysrKy0KIGxpYi92ZnNjb3JlL2V4cG9ydHN5bXMudWsgfCAxMCArKysrKysr
KysrCiBsaWIvdmZzY29yZS9tYWluLmMgICAgICAgIHwgMTEgKysrKysrLS0tLS0KIDMgZmlsZXMg
Y2hhbmdlZCwgMjAgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKCi0tIAoyLjIwLjEKCgpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2
ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczov
L2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Thu Dec 12 12:26:59 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 12 Dec 2019 12:26:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ifNYZ-0007FF-5O; Thu, 12 Dec 2019 12:26:59 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=OWuL=2C=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1ifNYY-0007F5-F8
 for minios-devel@lists.xen.org; Thu, 12 Dec 2019 12:26:58 +0000
X-Inumbo-ID: aed4d1e0-1cda-11ea-8d3b-12813bfff9fa
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id aed4d1e0-1cda-11ea-8d3b-12813bfff9fa;
 Thu, 12 Dec 2019 12:26:55 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id AB2AFF2013;
 Thu, 12 Dec 2019 13:26:54 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-b.office.hd)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id s4hXAFUwGScz; Thu, 12 Dec 2019 13:26:54 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from puck.office.hd (puck.office.hd [192.168.24.91])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 8476AF2012;
 Thu, 12 Dec 2019 13:26:50 +0100 (CET)
Received: from localhost (192.168.24.96) by puck.office.hd (192.168.24.91)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 12 Dec
 2019 13:26:50 +0100
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Thu, 12 Dec 2019 13:26:38 +0100
Message-ID: <20191212122641.6189-2-simon.kuenzer@neclab.eu>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <20191212122641.6189-1-simon.kuenzer@neclab.eu>
References: <20191212122641.6189-1-simon.kuenzer@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [192.168.24.96]
X-ClientProxiedBy: titania.office.hd (192.168.24.89) To puck.office.hd
 (192.168.24.91)
Subject: [Minios-devel] [UNIKRAFT PATCH 1/4] lib/vfscore: Register `write`
 to syscall_shim
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>,
 Gaulthier Gain <gaulthier.gain@uliege.be>,
 Simon Kuenzer <simon.kuenzer@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

UmVnaXN0ZXJzIGB3cml0ZWAgc3lzdGVtIGNhbGwgdG8gc3lzY2FsbF9zaGltIGxpYnJhcnkuCgpT
aWduZWQtb2ZmLWJ5OiBTaW1vbiBLdWVuemVyIDxzaW1vbi5rdWVuemVyQG5lY2xhYi5ldT4KLS0t
CiBsaWIvdmZzY29yZS9NYWtlZmlsZS51ayAgIHwgMiArLQogbGliL3Zmc2NvcmUvZXhwb3J0c3lt
cy51ayB8IDIgKysKIGxpYi92ZnNjb3JlL21haW4uYyAgICAgICAgfCAyICstCiAzIGZpbGVzIGNo
YW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWIv
dmZzY29yZS9NYWtlZmlsZS51ayBiL2xpYi92ZnNjb3JlL01ha2VmaWxlLnVrCmluZGV4IGUwZGFh
NWZhLi4yMDIyZTk0OSAxMDA2NDQKLS0tIGEvbGliL3Zmc2NvcmUvTWFrZWZpbGUudWsKKysrIGIv
bGliL3Zmc2NvcmUvTWFrZWZpbGUudWsKQEAgLTI1LDQgKzI1LDQgQEAgTElCVkZTQ09SRV9TUkNT
LSQoQ09ORklHX0xJQlZGU0NPUkVfQVVUT01PVU5UX1JPT1RGUykgKz0gXAogCSQoTElCVkZTQ09S
RV9CQVNFKS9yb290ZnMuYwogCiAKLVVLX1BST1ZJREVEX1NZU0NBTExTLSQoQ09ORklHX0xJQlZG
U0NPUkUpICs9IHdyaXRldi0zCitVS19QUk9WSURFRF9TWVNDQUxMUy0kKENPTkZJR19MSUJWRlND
T1JFKSArPSB3cml0ZS0zIHdyaXRldi0zCmRpZmYgLS1naXQgYS9saWIvdmZzY29yZS9leHBvcnRz
eW1zLnVrIGIvbGliL3Zmc2NvcmUvZXhwb3J0c3ltcy51awppbmRleCBkM2ViZjU0Ny4uNjkwODAx
YjYgMTAwNjQ0Ci0tLSBhL2xpYi92ZnNjb3JlL2V4cG9ydHN5bXMudWsKKysrIGIvbGliL3Zmc2Nv
cmUvZXhwb3J0c3ltcy51awpAQCAtMTUsNiArMTUsOCBAQCB2ZnNjb3JlX3ZvcF9lcm9mcwogb3Bl
bgogY3JlYXQKIHdyaXRlCit1a19zeXNjYWxsX2Vfd3JpdGUKK3VrX3N5c2NhbGxfcl93cml0ZQog
Y2xvc2UKIHJlYWQKIG1rZGlyCmRpZmYgLS1naXQgYS9saWIvdmZzY29yZS9tYWluLmMgYi9saWIv
dmZzY29yZS9tYWluLmMKaW5kZXggYjlhYmUxZWYuLmIwZDgzMzVhIDEwMDY0NAotLS0gYS9saWIv
dmZzY29yZS9tYWluLmMKKysrIGIvbGliL3Zmc2NvcmUvbWFpbi5jCkBAIC0zNzksNyArMzc5LDcg
QEAgc3NpemVfdCBwd3JpdGUoaW50IGZkLCBjb25zdCB2b2lkICpidWYsIHNpemVfdCBjb3VudCwg
b2ZmX3Qgb2Zmc2V0KQogCiBMRlM2NChwd3JpdGUpOwogCi1zc2l6ZV90IHdyaXRlKGludCBmZCwg
Y29uc3Qgdm9pZCAqYnVmLCBzaXplX3QgY291bnQpCitVS19TWVNDQUxMX0RFRklORShzc2l6ZV90
LCB3cml0ZSwgaW50LCBmZCwgY29uc3Qgdm9pZCAqLCBidWYsIHNpemVfdCwgY291bnQpCiB7CiAJ
cmV0dXJuIHB3cml0ZShmZCwgYnVmLCBjb3VudCwgLTEpOwogfQotLSAKMi4yMC4xCgoKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1h
aWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0
cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Thu Dec 12 12:27:06 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 12 Dec 2019 12:27:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ifNYg-0007G8-6w; Thu, 12 Dec 2019 12:27:06 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=OWuL=2C=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1ifNYf-0007G1-9Q
 for minios-devel@lists.xen.org; Thu, 12 Dec 2019 12:27:05 +0000
X-Inumbo-ID: b3a56176-1cda-11ea-8d3b-12813bfff9fa
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id b3a56176-1cda-11ea-8d3b-12813bfff9fa;
 Thu, 12 Dec 2019 12:27:03 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id CA1A4F2014;
 Thu, 12 Dec 2019 13:27:02 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-b.office.hd)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id D08lG1VeXZj9; Thu, 12 Dec 2019 13:27:02 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from puck.office.hd (puck.office.hd [192.168.24.91])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 9E18BF2012;
 Thu, 12 Dec 2019 13:26:58 +0100 (CET)
Received: from localhost (192.168.24.96) by puck.office.hd (192.168.24.91)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 12 Dec
 2019 13:26:51 +0100
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Thu, 12 Dec 2019 13:26:40 +0100
Message-ID: <20191212122641.6189-4-simon.kuenzer@neclab.eu>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <20191212122641.6189-1-simon.kuenzer@neclab.eu>
References: <20191212122641.6189-1-simon.kuenzer@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [192.168.24.96]
X-ClientProxiedBy: oberon.office.hd (192.168.24.90) To puck.office.hd
 (192.168.24.91)
Subject: [Minios-devel] [UNIKRAFT PATCH 3/4] lib/vfscore: Register `fstat`
 to syscall_shim
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>,
 Gaulthier Gain <gaulthier.gain@uliege.be>,
 Simon Kuenzer <simon.kuenzer@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

UmVnaXN0ZXJzIGBmc3RhdGAgc3lzdGVtIGNhbGwgdG8gc3lzY2FsbF9zaGltIGxpYnJhcnkuCgpT
aWduZWQtb2ZmLWJ5OiBTaW1vbiBLdWVuemVyIDxzaW1vbi5rdWVuemVyQG5lY2xhYi5ldT4KLS0t
CiBsaWIvdmZzY29yZS9NYWtlZmlsZS51ayAgIHwgMSArCiBsaWIvdmZzY29yZS9leHBvcnRzeW1z
LnVrIHwgMiArKwogbGliL3Zmc2NvcmUvbWFpbi5jICAgICAgICB8IDIgKy0KIDMgZmlsZXMgY2hh
bmdlZCwgNCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbGliL3Zm
c2NvcmUvTWFrZWZpbGUudWsgYi9saWIvdmZzY29yZS9NYWtlZmlsZS51awppbmRleCA0NGIyZTZh
OC4uNjlkNjVhZjkgMTAwNjQ0Ci0tLSBhL2xpYi92ZnNjb3JlL01ha2VmaWxlLnVrCisrKyBiL2xp
Yi92ZnNjb3JlL01ha2VmaWxlLnVrCkBAIC0yNywzICsyNyw0IEBAIExJQlZGU0NPUkVfU1JDUy0k
KENPTkZJR19MSUJWRlNDT1JFX0FVVE9NT1VOVF9ST09URlMpICs9IFwKIAogVUtfUFJPVklERURf
U1lTQ0FMTFMtJChDT05GSUdfTElCVkZTQ09SRSkgKz0gd3JpdGUtMyB3cml0ZXYtMwogVUtfUFJP
VklERURfU1lTQ0FMTFMtJChDT05GSUdfTElCVkZTQ09SRSkgKz0gcmVhZC0zIHJlYWR2LTMKK1VL
X1BST1ZJREVEX1NZU0NBTExTLSQoQ09ORklHX0xJQlZGU0NPUkUpICs9IGZzdGF0LTIKZGlmZiAt
LWdpdCBhL2xpYi92ZnNjb3JlL2V4cG9ydHN5bXMudWsgYi9saWIvdmZzY29yZS9leHBvcnRzeW1z
LnVrCmluZGV4IDRhZDRlZTM4Li40NGY4ZWNkNyAxMDA2NDQKLS0tIGEvbGliL3Zmc2NvcmUvZXhw
b3J0c3ltcy51aworKysgYi9saWIvdmZzY29yZS9leHBvcnRzeW1zLnVrCkBAIC0yNCw2ICsyNCw4
IEBAIHVrX3N5c2NhbGxfcl9yZWFkCiBta2RpcgogZnN5bmMKIGZzdGF0Cit1a19zeXNjYWxsX2Vf
ZnN0YXQKK3VrX3N5c2NhbGxfcl9mc3RhdAogZmxvY2sKIGZob2xkCiBmZHJvcApkaWZmIC0tZ2l0
IGEvbGliL3Zmc2NvcmUvbWFpbi5jIGIvbGliL3Zmc2NvcmUvbWFpbi5jCmluZGV4IDM4M2M2NjQ0
Li4xYzYyODdlNyAxMDA2NDQKLS0tIGEvbGliL3Zmc2NvcmUvbWFpbi5jCisrKyBiL2xpYi92ZnNj
b3JlL21haW4uYwpAQCAtNTUzLDcgKzU1Myw3IEBAIGludCBfX2Z4c3RhdChpbnQgdmVyIF9fdW51
c2VkLCBpbnQgZmQsIHN0cnVjdCBzdGF0ICpzdCkKIAogTEZTNjQoX19meHN0YXQpOwogCi1pbnQg
ZnN0YXQoaW50IGZkIF9fdW51c2VkLCBzdHJ1Y3Qgc3RhdCAqc3QpCitVS19TWVNDQUxMX0RFRklO
RShpbnQsIGZzdGF0LCBpbnQsIGZkLCBzdHJ1Y3Qgc3RhdCAqLCBzdCkKIHsKIAlyZXR1cm4gX19m
eHN0YXQoMSwgZmQsIHN0KTsKIH0KLS0gCjIuMjAuMQoKCl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9z
LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcv
bWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Thu Dec 12 12:27:09 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 12 Dec 2019 12:27:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ifNYj-0007Gk-8R; Thu, 12 Dec 2019 12:27:09 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=OWuL=2C=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1ifNYi-0007Gb-Fq
 for minios-devel@lists.xen.org; Thu, 12 Dec 2019 12:27:08 +0000
X-Inumbo-ID: b612ef14-1cda-11ea-8d3b-12813bfff9fa
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id b612ef14-1cda-11ea-8d3b-12813bfff9fa;
 Thu, 12 Dec 2019 12:27:08 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id DBD3DF2014;
 Thu, 12 Dec 2019 13:27:06 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-b.office.hd)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id PEsiRzCN-kdw; Thu, 12 Dec 2019 13:27:06 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from puck.office.hd (puck.office.hd [192.168.24.91])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id AE70FF2012;
 Thu, 12 Dec 2019 13:27:02 +0100 (CET)
Received: from localhost (192.168.24.96) by puck.office.hd (192.168.24.91)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 12 Dec
 2019 13:26:52 +0100
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Thu, 12 Dec 2019 13:26:41 +0100
Message-ID: <20191212122641.6189-5-simon.kuenzer@neclab.eu>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <20191212122641.6189-1-simon.kuenzer@neclab.eu>
References: <20191212122641.6189-1-simon.kuenzer@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [192.168.24.96]
X-ClientProxiedBy: titania.office.hd (192.168.24.89) To puck.office.hd
 (192.168.24.91)
Subject: [Minios-devel] [UNIKRAFT PATCH 4/4] lib/vfscore: Register
 `readlink` to syscall_shim
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>,
 Gaulthier Gain <gaulthier.gain@uliege.be>,
 Simon Kuenzer <simon.kuenzer@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

UmVnaXN0ZXJzIGByZWFkbGlua2Agc3lzdGVtIGNhbGwgdG8gc3lzY2FsbF9zaGltIGxpYnJhcnku
CgpTaWduZWQtb2ZmLWJ5OiBTaW1vbiBLdWVuemVyIDxzaW1vbi5rdWVuemVyQG5lY2xhYi5ldT4K
LS0tCiBsaWIvdmZzY29yZS9NYWtlZmlsZS51ayAgIHwgMSArCiBsaWIvdmZzY29yZS9leHBvcnRz
eW1zLnVrIHwgMiArKwogbGliL3Zmc2NvcmUvbWFpbi5jICAgICAgICB8IDIgKy0KIDMgZmlsZXMg
Y2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbGli
L3Zmc2NvcmUvTWFrZWZpbGUudWsgYi9saWIvdmZzY29yZS9NYWtlZmlsZS51awppbmRleCA2OWQ2
NWFmOS4uYTMzOTFlNjggMTAwNjQ0Ci0tLSBhL2xpYi92ZnNjb3JlL01ha2VmaWxlLnVrCisrKyBi
L2xpYi92ZnNjb3JlL01ha2VmaWxlLnVrCkBAIC0yOCwzICsyOCw0IEBAIExJQlZGU0NPUkVfU1JD
Uy0kKENPTkZJR19MSUJWRlNDT1JFX0FVVE9NT1VOVF9ST09URlMpICs9IFwKIFVLX1BST1ZJREVE
X1NZU0NBTExTLSQoQ09ORklHX0xJQlZGU0NPUkUpICs9IHdyaXRlLTMgd3JpdGV2LTMKIFVLX1BS
T1ZJREVEX1NZU0NBTExTLSQoQ09ORklHX0xJQlZGU0NPUkUpICs9IHJlYWQtMyByZWFkdi0zCiBV
S19QUk9WSURFRF9TWVNDQUxMUy0kKENPTkZJR19MSUJWRlNDT1JFKSArPSBmc3RhdC0yCitVS19Q
Uk9WSURFRF9TWVNDQUxMUy0kKENPTkZJR19MSUJWRlNDT1JFKSArPSByZWFkbGluay0zCmRpZmYg
LS1naXQgYS9saWIvdmZzY29yZS9leHBvcnRzeW1zLnVrIGIvbGliL3Zmc2NvcmUvZXhwb3J0c3lt
cy51awppbmRleCA0NGY4ZWNkNy4uMzUwYWI4ODIgMTAwNjQ0Ci0tLSBhL2xpYi92ZnNjb3JlL2V4
cG9ydHN5bXMudWsKKysrIGIvbGliL3Zmc2NvcmUvZXhwb3J0c3ltcy51awpAQCAtODIsNiArODIs
OCBAQCBmc3RhdHZmcwogYWNjZXNzCiBmYWNjZXNzYXQKIHJlYWRsaW5rCit1a19zeXNjYWxsX2Vf
cmVhZGxpbmsKK3VrX3N5c2NhbGxfcl9yZWFkbGluawogZmFsbG9jYXRlCiBsc2VlawogdWtfc3lz
Y2FsbF9lX3dyaXRldgpkaWZmIC0tZ2l0IGEvbGliL3Zmc2NvcmUvbWFpbi5jIGIvbGliL3Zmc2Nv
cmUvbWFpbi5jCmluZGV4IDFjNjI4N2U3Li4xMTMxZjU2ZiAxMDA2NDQKLS0tIGEvbGliL3Zmc2Nv
cmUvbWFpbi5jCisrKyBiL2xpYi92ZnNjb3JlL21haW4uYwpAQCAtMTY5MCw3ICsxNjkwLDcgQEAg
aW50IGZ0cnVuY2F0ZShpbnQgZmQsIG9mZl90IGxlbmd0aCkKIAogTEZTNjQoZnRydW5jYXRlKTsK
IAotc3NpemVfdCByZWFkbGluayhjb25zdCBjaGFyICpwYXRobmFtZSwgY2hhciAqYnVmLCBzaXpl
X3QgYnVmc2l6ZSkKK1VLX1NZU0NBTExfREVGSU5FKHNzaXplX3QsIHJlYWRsaW5rLCBjb25zdCBj
aGFyICosIHBhdGhuYW1lLCBjaGFyICosIGJ1Ziwgc2l6ZV90LCBidWZzaXplKQogewogCXN0cnVj
dCB0YXNrICp0ID0gbWFpbl90YXNrOwogCWNoYXIgcGF0aFtQQVRIX01BWF07Ci0tIAoyLjIwLjEK
CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3Mt
ZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRw
czovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Thu Dec 12 12:27:10 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 12 Dec 2019 12:27:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ifNYk-0007HH-9t; Thu, 12 Dec 2019 12:27:10 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=OWuL=2C=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1ifNYj-0007H3-MD
 for minios-devel@lists.xen.org; Thu, 12 Dec 2019 12:27:09 +0000
X-Inumbo-ID: b13111c4-1cda-11ea-b6f1-bc764e2007e4
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id b13111c4-1cda-11ea-b6f1-bc764e2007e4;
 Thu, 12 Dec 2019 12:26:59 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id BA07CF2013;
 Thu, 12 Dec 2019 13:26:58 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-b.office.hd)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id gtModu2pEjsl; Thu, 12 Dec 2019 13:26:58 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from puck.office.hd (puck.office.hd [192.168.24.91])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 8F8AFF2012;
 Thu, 12 Dec 2019 13:26:54 +0100 (CET)
Received: from localhost (192.168.24.96) by puck.office.hd (192.168.24.91)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 12 Dec
 2019 13:26:51 +0100
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Thu, 12 Dec 2019 13:26:39 +0100
Message-ID: <20191212122641.6189-3-simon.kuenzer@neclab.eu>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <20191212122641.6189-1-simon.kuenzer@neclab.eu>
References: <20191212122641.6189-1-simon.kuenzer@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [192.168.24.96]
X-ClientProxiedBy: puck.office.hd (192.168.24.91) To puck.office.hd
 (192.168.24.91)
Subject: [Minios-devel] [UNIKRAFT PATCH 2/4] lib/vfscore: Register `read`,
 `readv` to syscall_shim
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>,
 Gaulthier Gain <gaulthier.gain@uliege.be>,
 Simon Kuenzer <simon.kuenzer@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

UmVnaXN0ZXJzIGByZWFkYCBhbmQgYHJlYWR2YCBzeXN0ZW0gY2FsbHMgdG8gc3lzY2FsbF9zaGlt
IGxpYnJhcnkuCgpTaWduZWQtb2ZmLWJ5OiBTaW1vbiBLdWVuemVyIDxzaW1vbi5rdWVuemVyQG5l
Y2xhYi5ldT4KLS0tCiBsaWIvdmZzY29yZS9NYWtlZmlsZS51ayAgIHwgMSArCiBsaWIvdmZzY29y
ZS9leHBvcnRzeW1zLnVrIHwgNCArKysrCiBsaWIvdmZzY29yZS9tYWluLmMgICAgICAgIHwgNSAr
KystLQogMyBmaWxlcyBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpk
aWZmIC0tZ2l0IGEvbGliL3Zmc2NvcmUvTWFrZWZpbGUudWsgYi9saWIvdmZzY29yZS9NYWtlZmls
ZS51awppbmRleCAyMDIyZTk0OS4uNDRiMmU2YTggMTAwNjQ0Ci0tLSBhL2xpYi92ZnNjb3JlL01h
a2VmaWxlLnVrCisrKyBiL2xpYi92ZnNjb3JlL01ha2VmaWxlLnVrCkBAIC0yNiwzICsyNiw0IEBA
IExJQlZGU0NPUkVfU1JDUy0kKENPTkZJR19MSUJWRlNDT1JFX0FVVE9NT1VOVF9ST09URlMpICs9
IFwKIAogCiBVS19QUk9WSURFRF9TWVNDQUxMUy0kKENPTkZJR19MSUJWRlNDT1JFKSArPSB3cml0
ZS0zIHdyaXRldi0zCitVS19QUk9WSURFRF9TWVNDQUxMUy0kKENPTkZJR19MSUJWRlNDT1JFKSAr
PSByZWFkLTMgcmVhZHYtMwpkaWZmIC0tZ2l0IGEvbGliL3Zmc2NvcmUvZXhwb3J0c3ltcy51ayBi
L2xpYi92ZnNjb3JlL2V4cG9ydHN5bXMudWsKaW5kZXggNjkwODAxYjYuLjRhZDRlZTM4IDEwMDY0
NAotLS0gYS9saWIvdmZzY29yZS9leHBvcnRzeW1zLnVrCisrKyBiL2xpYi92ZnNjb3JlL2V4cG9y
dHN5bXMudWsKQEAgLTE5LDYgKzE5LDggQEAgdWtfc3lzY2FsbF9lX3dyaXRlCiB1a19zeXNjYWxs
X3Jfd3JpdGUKIGNsb3NlCiByZWFkCit1a19zeXNjYWxsX2VfcmVhZAordWtfc3lzY2FsbF9yX3Jl
YWQKIG1rZGlyCiBmc3luYwogZnN0YXQKQEAgLTU3LDYgKzU5LDggQEAgcHJlYWQKIHB3cml0ZQog
cHdyaXRldgogcmVhZHYKK3VrX3N5c2NhbGxfZV9yZWFkdgordWtfc3lzY2FsbF9yX3JlYWR2CiB3
cml0ZXYKIHRydW5jYXRlCiBta25vZApkaWZmIC0tZ2l0IGEvbGliL3Zmc2NvcmUvbWFpbi5jIGIv
bGliL3Zmc2NvcmUvbWFpbi5jCmluZGV4IGIwZDgzMzVhLi4zODNjNjY0NCAxMDA2NDQKLS0tIGEv
bGliL3Zmc2NvcmUvbWFpbi5jCisrKyBiL2xpYi92ZnNjb3JlL21haW4uYwpAQCAtMzM4LDcgKzMz
OCw3IEBAIHNzaXplX3QgcHJlYWQoaW50IGZkLCB2b2lkICpidWYsIHNpemVfdCBjb3VudCwgb2Zm
X3Qgb2Zmc2V0KQogCiBMRlM2NChwcmVhZCk7CiAKLXNzaXplX3QgcmVhZChpbnQgZmQsIHZvaWQg
KmJ1Ziwgc2l6ZV90IGNvdW50KQorVUtfU1lTQ0FMTF9ERUZJTkUoc3NpemVfdCwgcmVhZCwgaW50
IGZkLCB2b2lkICosIGJ1Ziwgc2l6ZV90LCBjb3VudCkKIHsKIAlyZXR1cm4gcHJlYWQoZmQsIGJ1
ZiwgY291bnQsIC0xKTsKIH0KQEAgLTQwOCw3ICs0MDgsOCBAQCBzc2l6ZV90IHByZWFkdihpbnQg
ZmQsIGNvbnN0IHN0cnVjdCBpb3ZlYyAqaW92LCBpbnQgaW92Y250LCBvZmZfdCBvZmZzZXQpCiAK
IExGUzY0KHByZWFkdik7CiAKLXNzaXplX3QgcmVhZHYoaW50IGZkLCBjb25zdCBzdHJ1Y3QgaW92
ZWMgKmlvdiwgaW50IGlvdmNudCkKK1VLX1NZU0NBTExfREVGSU5FKHNzaXplX3QsIHJlYWR2LAor
CQkgIGludCwgZmQsIGNvbnN0IHN0cnVjdCBpb3ZlYyAqLCBpb3YsIGludCwgaW92Y250KQogewog
CXJldHVybiBwcmVhZHYoZmQsIGlvdiwgaW92Y250LCAtMSk7CiB9Ci0tIAoyLjIwLjEKCgpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwg
bWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xp
c3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Thu Dec 12 13:36:27 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 12 Dec 2019 13:36:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ifOdl-0005B2-GQ; Thu, 12 Dec 2019 13:36:25 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=1V8f=2C=uliege.be=gaulthier.gain@srs-us1.protection.inumbo.net>)
 id 1ifOdk-0005Ax-13
 for minios-devel@lists.xen.org; Thu, 12 Dec 2019 13:36:24 +0000
X-Inumbo-ID: 5842f1a4-1ce4-11ea-88e7-bc764e2007e4
Received: from serv108.segi.ulg.ac.be (unknown [139.165.32.111])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 5842f1a4-1ce4-11ea-88e7-bc764e2007e4;
 Thu, 12 Dec 2019 13:36:05 +0000 (UTC)
Received: from mbx11-zne.ulg.ac.be (serv469.segi.ulg.ac.be [139.165.32.198])
 by serv108.segi.ulg.ac.be (Postfix) with ESMTP id 5B8F42012377;
 Thu, 12 Dec 2019 14:36:04 +0100 (CET)
DKIM-Filter: OpenDKIM Filter v2.11.0 serv108.segi.ulg.ac.be 5B8F42012377
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=uliege.be;
 s=ulg20190529; t=1576157764;
 bh=u9hAuupymByKfoz4XvCyIBfShaDXuqf+ZIc87rljxWE=;
 h=Date:From:To:Cc:In-Reply-To:References:Subject:From;
 b=vsk/ORliodu1j8/QkNwE+cYe24/D7mT1ixpxl1zFHjd4xJZh7JnRupaXGNNTV3dPI
 eHfJwFGe0BMpe/pFRLWI6veX/L/2DMN0/xZnZj49EhrHDBgUEbq87DU35DUbIo8+51
 ZzC8khPPMv54ee4mHEv33HVNHdZFJKyAaqA3WeEGPqCEauqp+SRFwd3PBfWVSnnA07
 OqgEytnfmfMX8YxFzEYALMDLtZobd8yhobbHRLVYZ9C/9OpidOgyQiWAWO8ua1XWBa
 WMnrnf8f7/NSG0NcaHasW8I8Pyj5DvGFUNWHVPSpvghOYVHVSrQ066rbzZF9zrB2kQ
 mspClO8dwxnbw==
Received: from localhost (localhost.localdomain [127.0.0.1])
 by mbx11-zne.ulg.ac.be (Postfix) with ESMTP id 508AF6862CF;
 Thu, 12 Dec 2019 14:36:04 +0100 (CET)
Received: from mbx11-zne.ulg.ac.be ([127.0.0.1])
 by localhost (mbx11-zne.ulg.ac.be [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id vQ0TMwu3tyEl; Thu, 12 Dec 2019 14:36:04 +0100 (CET)
Received: from mbx11-zne.ulg.ac.be (mbx11-zne.ulg.ac.be [139.165.32.198])
 by mbx11-zne.ulg.ac.be (Postfix) with ESMTP id 271A16862AA;
 Thu, 12 Dec 2019 14:36:04 +0100 (CET)
Date: Thu, 12 Dec 2019 14:36:03 +0100 (CET)
From: gaulthier.gain@uliege.be
To: Simon Kuenzer <simon.kuenzer@neclab.eu>
Message-ID: <1301768589.114621468.1576157763954.JavaMail.zimbra@uliege.be>
In-Reply-To: <20191205140222.4262-2-simon.kuenzer@neclab.eu>
References: <20191205140222.4262-1-simon.kuenzer@neclab.eu>
 <20191205140222.4262-2-simon.kuenzer@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.22.61.226]
X-Mailer: Zimbra 8.8.11_GA_3780 (ZimbraWebClient - SAF13 (Mac)/8.8.11_GA_3787)
Thread-Topic: arch/x86: Move `struct __regs` definition to <uk/arch/lcpu.h>
Thread-Index: PHFlQVtUZzB6uJ8S1YGPLNUA1RPbKA==
Subject: Re: [Minios-devel] [UNIKRAFT PATCH 1/6] arch/x86: Move `struct
 __regs` definition to <uk/arch/lcpu.h>
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>, minios-devel@lists.xen.org
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

UmV2aWV3ZWQtYnk6IEdhdWx0aGllciBHYWluIDxnYXVsdGhpZXIuZ2FpbkB1bGllZ2UuYmU+Cgot
LS0tLSBNYWlsIG9yaWdpbmFsIC0tLS0tCkRlOiAiU2ltb24gS3VlbnplciIgPHNpbW9uLmt1ZW56
ZXJAbmVjbGFiLmV1PgrDgDogbWluaW9zLWRldmVsQGxpc3RzLnhlbi5vcmcKQ2M6ICJHYXVsdGhp
ZXIgR2FpbiIgPGdhdWx0aGllci5nYWluQHVsaWVnZS5iZT4sICJGZWxpcGUgSHVpY2kiIDxmZWxp
cGUuaHVpY2lAbmVjbGFiLmV1PiwgIlNpbW9uIEt1ZW56ZXIiIDxzaW1vbi5rdWVuemVyQG5lY2xh
Yi5ldT4KRW52b3nDqTogSmV1ZGkgNSBEw6ljZW1icmUgMjAxOSAxNTowMjoxNwpPYmpldDogW1VO
SUtSQUZUIFBBVENIIDEvNl0gYXJjaC94ODY6IE1vdmUgYHN0cnVjdCBfX3JlZ3NgIGRlZmluaXRp
b24gdG8gPHVrL2FyY2gvbGNwdS5oPgoKRXhwb3NlIGBzdHJ1Y3QgX19yZWdzYCBhcyBwYXJ0IG9m
IHRoZSBhcmNoaXRlY3R1cmUgaGVhZGVycy4gVGhpcyBpcwppbmxpbmUgd2l0aCB3aGF0IHdlIGRp
ZCBmb3IgQXJtNjQgYW5kIHVzZWZ1bCBmb3IgbXVsdGlwbGUgdGhpbmdzOgogLSBgZHVtcF9yZWdz
KClgIGNvdWxkIGJlIG1vdmVkIHRvIGxpYnVrZGVidWcKIC0gQSBzeXNjYWxsLUFCSS1pbmRlcGVu
ZGVudCBpbnRlcmZhY2UgY291bGQgYmUgZGVmaW5lZCBmb3IgcmVnaXN0ZXJpbmcKICAgc3lzY2Fs
bCBoYW5kbGVyIGxpYnJhcmllcy4gQSBzeXNjYWxsIGhhbmRsZXIgd291bGQgZ2V0IGhhbmRlZCBv
dmVyCiAgIGEgcmVmZXJlbmNlIHRvIHRoZSBzYXZlZCByZWdpc3RlcnMgc3RhdGUgaW4gb3JkZXIg
dG8gbGV0IGl0IGhhbmRsZQogICB0aGUgc3lzdGVtIGNhbGwgYXJndW1lbnRzIGFjY29yZGluZyB0
byB0aGUgdGFyZ2V0IEFCSS4KClNpZ25lZC1vZmYtYnk6IFNpbW9uIEt1ZW56ZXIgPHNpbW9uLmt1
ZW56ZXJAbmVjbGFiLmV1PgotLS0KIGFyY2gveDg2L3g4Nl82NC9pbmNsdWRlL3VrL2FzbS9sY3B1
LmggICAgICB8IDY0ICsrKysrKysrKysrKysrKwogaW5jbHVkZS91ay9hcmNoL2xjcHUuaCAgICAg
ICAgICAgICAgICAgICAgIHwgIDQgKwogcGxhdC9jb21tb24vaW5jbHVkZS91ay9wbGF0L2NvbW1v
bi90cmFjZS5oIHwgIDYgKy0KIHBsYXQvY29tbW9uL2luY2x1ZGUveDg2L3JlZ3MuaCAgICAgICAg
ICAgICB8IDk0IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIHBsYXQvY29tbW9uL2luY2x1ZGUveDg2
L3RyYXBzLmggICAgICAgICAgICB8ICAyICstCiBwbGF0L2t2bS94ODYvY3B1X3ZlY3RvcnNfeDg2
XzY0LlMgICAgICAgICAgfCAxMSArKy0KIHBsYXQveGVuL3g4Ni9lbnRyeTY0LlMgICAgICAgICAg
ICAgICAgICAgICB8IDg0ICsrKysrKysrKy0tLS0tLS0tLS0KIDcgZmlsZXMgY2hhbmdlZCwgMTE3
IGluc2VydGlvbnMoKyksIDE0OCBkZWxldGlvbnMoLSkKIGRlbGV0ZSBtb2RlIDEwMDY0NCBwbGF0
L2NvbW1vbi9pbmNsdWRlL3g4Ni9yZWdzLmgKCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni94ODZfNjQv
aW5jbHVkZS91ay9hc20vbGNwdS5oIGIvYXJjaC94ODYveDg2XzY0L2luY2x1ZGUvdWsvYXNtL2xj
cHUuaAppbmRleCA4YzcwNTQwYS4uNmE0NzFhMTUgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3g4Nl82
NC9pbmNsdWRlL3VrL2FzbS9sY3B1LmgKKysrIGIvYXJjaC94ODYveDg2XzY0L2luY2x1ZGUvdWsv
YXNtL2xjcHUuaApAQCAtMzIsNiArMzIsNjkgQEAKICNlcnJvciBEbyBub3QgaW5jbHVkZSB0aGlz
IGhlYWRlciBkaXJlY3RseQogI2VuZGlmCiAKKyNpZm5kZWYgX19BU1NFTUJMWV9fCitzdHJ1Y3Qg
X19yZWdzIHsKKwl1bnNpZ25lZCBsb25nIHBhZDsgLyogOCBieXRlcyB0byBtYWtlIHN0cnVjdCBz
aXplIG11bHRpcGxlIG9mIDE2ICovCisJdW5zaWduZWQgbG9uZyByMTU7CisJdW5zaWduZWQgbG9u
ZyByMTQ7CisJdW5zaWduZWQgbG9uZyByMTM7CisJdW5zaWduZWQgbG9uZyByMTI7CisJdW5zaWdu
ZWQgbG9uZyByYnA7CisJdW5zaWduZWQgbG9uZyByYng7CisvKiBhcmd1bWVudHM6IG5vbiBpbnRl
cnJ1cHRzL25vbiB0cmFjaW5nIHN5c2NhbGxzIG9ubHkgc2F2ZSB1cHRvIGhlcmUqLworCXVuc2ln
bmVkIGxvbmcgcjExOworCXVuc2lnbmVkIGxvbmcgcjEwOworCXVuc2lnbmVkIGxvbmcgcjk7CisJ
dW5zaWduZWQgbG9uZyByODsKKwl1bnNpZ25lZCBsb25nIHJheDsKKwl1bnNpZ25lZCBsb25nIHJj
eDsKKwl1bnNpZ25lZCBsb25nIHJkeDsKKwl1bnNpZ25lZCBsb25nIHJzaTsKKwl1bnNpZ25lZCBs
b25nIHJkaTsKKwl1bnNpZ25lZCBsb25nIG9yaWdfcmF4OworLyogZW5kIG9mIGFyZ3VtZW50cyAq
LworLyogY3B1IGV4Y2VwdGlvbiBmcmFtZSBvciB1bmRlZmluZWQgKi8KKwl1bnNpZ25lZCBsb25n
IHJpcDsKKwl1bnNpZ25lZCBsb25nIGNzOworCXVuc2lnbmVkIGxvbmcgZWZsYWdzOworCXVuc2ln
bmVkIGxvbmcgcnNwOworCXVuc2lnbmVkIGxvbmcgc3M7CisvKiB0b3Agb2Ygc3RhY2sgcGFnZSAq
LworfTsKKyNlbmRpZiAvKiAhX19BU1NFTUJMWV9fICovCisKKyNkZWZpbmUgX19SRUdTX09GRlNF
VE9GX1BBRCAgICAgICAwCisjZGVmaW5lIF9fUkVHU19PRkZTRVRPRl9SMTUgICAgICAgOAorI2Rl
ZmluZSBfX1JFR1NfT0ZGU0VUT0ZfUjE0ICAgICAgIDE2CisjZGVmaW5lIF9fUkVHU19PRkZTRVRP
Rl9SMTMgICAgICAgMjQKKyNkZWZpbmUgX19SRUdTX09GRlNFVE9GX1IxMiAgICAgICAzMgorI2Rl
ZmluZSBfX1JFR1NfT0ZGU0VUT0ZfUkJQICAgICAgIDQwCisjZGVmaW5lIF9fUkVHU19PRkZTRVRP
Rl9SQlggICAgICAgNDgKKyNkZWZpbmUgX19SRUdTX09GRlNFVE9GX1IxMSAgICAgICA1NgorI2Rl
ZmluZSBfX1JFR1NfT0ZGU0VUT0ZfUjEwICAgICAgIDY0CisjZGVmaW5lIF9fUkVHU19PRkZTRVRP
Rl9SOSAgICAgICAgNzIKKyNkZWZpbmUgX19SRUdTX09GRlNFVE9GX1I4ICAgICAgICA4MAorI2Rl
ZmluZSBfX1JFR1NfT0ZGU0VUT0ZfUkFYICAgICAgIDg4CisjZGVmaW5lIF9fUkVHU19PRkZTRVRP
Rl9SQ1ggICAgICAgOTYKKyNkZWZpbmUgX19SRUdTX09GRlNFVE9GX1JEWCAgICAgICAxMDQKKyNk
ZWZpbmUgX19SRUdTX09GRlNFVE9GX1JTSSAgICAgICAxMTIKKyNkZWZpbmUgX19SRUdTX09GRlNF
VE9GX1JESSAgICAgICAxMjAKKyNkZWZpbmUgX19SRUdTX09GRlNFVE9GX09SSUdfUkFYICAxMjgK
KyNkZWZpbmUgX19SRUdTX09GRlNFVE9GX1JJUCAgICAgICAxMzYKKyNkZWZpbmUgX19SRUdTX09G
RlNFVE9GX0NTICAgICAgICAxNDQKKyNkZWZpbmUgX19SRUdTX09GRlNFVE9GX0VGTEFHUyAgICAx
NTIKKyNkZWZpbmUgX19SRUdTX09GRlNFVE9GX1JTUCAgICAgICAxNjAKKyNkZWZpbmUgX19SRUdT
X09GRlNFVE9GX1NTICAgICAgICAxNjgKKworI2RlZmluZSBfX1JFR1NfUEFEX1NJWkUgICAgICAg
ICAgIF9fUkVHU19PRkZTRVRPRl9SMTUKKyNkZWZpbmUgX19SRUdTX1NJWkVPRiAgICAgICAgICAg
ICAxNzYKKworLyogc2FuaXR5IGNoZWNrICovCisjaWYgX19SRUdTX1NJWkVPRiAmIDB4ZgorI2Vy
cm9yICJfX3JlZ3Mgc3RydWN0dXJlIHNpemUgc2hvdWxkIGJlIG11bHRpcGxlIG9mIDE2LiIKKyNl
bmRpZgorCisjaWZuZGVmIF9fQVNTRU1CTFlfXwogI2lmbmRlZiBtYgogI2RlZmluZSBtYigpICAg
IF9fYXNtX18gX192b2xhdGlsZV9fICgibWZlbmNlIiA6IDogOiAibWVtb3J5IikKICNlbmRpZgpA
QCAtNTUsMyArMTE4LDQgQEAgc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIHVrYXJjaF9yZWFk
X3NwKHZvaWQpCiAJX19hc21fXyBfX3ZvbGF0aWxlX18oIm1vdiAlJXJzcCwgJTAiIDogIj1yIihz
cCkpOwogCXJldHVybiBzcDsKIH0KKyNlbmRpZiAvKiAhX19BU1NFTUJMWV9fICovCmRpZmYgLS1n
aXQgYS9pbmNsdWRlL3VrL2FyY2gvbGNwdS5oIGIvaW5jbHVkZS91ay9hcmNoL2xjcHUuaAppbmRl
eCA4M2VhNmVjYy4uYzUyMTYyODcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvdWsvYXJjaC9sY3B1LmgK
KysrIGIvaW5jbHVkZS91ay9hcmNoL2xjcHUuaApAQCAtMzYsNyArMzYsOSBAQAogI2lmbmRlZiBf
X1VLQVJDSF9MQ1BVX0hfXwogI2RlZmluZSBfX1VLQVJDSF9MQ1BVX0hfXwogCisjaWZuZGVmIF9f
QVNTRU1CTFlfXwogI2luY2x1ZGUgPHVrL2FyY2gvdHlwZXMuaD4KKyNlbmRpZiAvKiAhX19BU1NF
TUJMWV9fICovCiAKICNpZmRlZiBfX2NwbHVzcGx1cwogZXh0ZXJuICJDIiB7CkBAIC00NCw2ICs0
Niw3IEBAIGV4dGVybiAiQyIgewogCiAjaW5jbHVkZSA8dWsvYXNtL2xjcHUuaD4KIAorI2lmbmRl
ZiBfX0FTU0VNQkxZX18KICNpZm5kZWYgbGlrZWx5CiAjZGVmaW5lIGxpa2VseSh4KSAgIChfX2J1
aWx0aW5fZXhwZWN0KCghISh4KSksIDEpKQogI2VuZGlmCkBAIC02Nyw2ICs3MCw3IEBAIGV4dGVy
biAiQyIgewogI2lmbmRlZiB3bWIKICNkZWZpbmUgd21iKCkgICAgIGJhcnJpZXIoKQogI2VuZGlm
CisjZW5kaWYgLyogIV9fQVNTRU1CTFlfXyAqLwogCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KZGlm
ZiAtLWdpdCBhL3BsYXQvY29tbW9uL2luY2x1ZGUvdWsvcGxhdC9jb21tb24vdHJhY2UuaCBiL3Bs
YXQvY29tbW9uL2luY2x1ZGUvdWsvcGxhdC9jb21tb24vdHJhY2UuaAppbmRleCBhNDIzMTUzZS4u
YmMzYjZkZTggMTAwNjQ0Ci0tLSBhL3BsYXQvY29tbW9uL2luY2x1ZGUvdWsvcGxhdC9jb21tb24v
dHJhY2UuaAorKysgYi9wbGF0L2NvbW1vbi9pbmNsdWRlL3VrL3BsYXQvY29tbW9uL3RyYWNlLmgK
QEAgLTM0LDExICszNCw3IEBACiAjaWZuZGVmIF9fUExBVF9DTU5fVFJBQ0VfSF9fCiAjZGVmaW5l
IF9fUExBVF9DTU5fVFJBQ0VfSF9fCiAKLSNpZmRlZiBfX1g4Nl82NF9fCi0jaW5jbHVkZSA8eDg2
L3JlZ3MuaD4gLyogVE9ETyBpbmNsdWRlIGEgZ2VuZXJpYyBoZWFkZXIgKi8KLSNlbHNlCi0jZXJy
b3IgIkNyZWF0ZSByZWdzLmggZm9yIGN1cnJlbnQgYXJjaGl0ZWN0dXJlIgotI2VuZGlmCisjaW5j
bHVkZSA8dWsvYXJjaC9sY3B1Lmg+CiAKIHZvaWQgZHVtcF9yZWdzKHN0cnVjdCBfX3JlZ3MgKnJl
Z3MpOwogdm9pZCBkdW1wX21lbSh1bnNpZ25lZCBsb25nIGFkZHIpOwpkaWZmIC0tZ2l0IGEvcGxh
dC9jb21tb24vaW5jbHVkZS94ODYvcmVncy5oIGIvcGxhdC9jb21tb24vaW5jbHVkZS94ODYvcmVn
cy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNmE4NDdlNC4uMDAwMDAwMDAKLS0t
IGEvcGxhdC9jb21tb24vaW5jbHVkZS94ODYvcmVncy5oCisrKyAvZGV2L251bGwKQEAgLTEsOTQg
KzAsMCBAQAotLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZSAqLwotLyoK
LSAqIENvcHlyaWdodCAoYykgMjAwNSwgR3J6ZWdvcnogTWlsb3MsIEludGVsIFJlc2VhcmNoIENh
bWJyaWRnZQotICogQ29weXJpZ2h0IChjKSAyMDE4LCBORUMgRXVyb3BlIEx0ZC4sIE5FQyBDb3Jw
b3JhdGlvbi4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQot
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFV
VEhPUiBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKLSAqIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UKLSAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVVUSE9SIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKLSAqIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCi0g
KiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUwotICogT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCi0gKiBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAot
ICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWQotICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgotICogU1VDSCBEQU1BR0UuCi0g
Ki8KLSNpZm5kZWYgX19VS0FSQ0hfUkVHU19IX18KLSNkZWZpbmUgX19VS0FSQ0hfUkVHU19IX18K
LQotI2lmbmRlZiBfX0FTU0VNQkxZX18KLXN0cnVjdCBfX3JlZ3MgewotCXVuc2lnbmVkIGxvbmcg
cGFkOyAvKiBmb3IgMTYgYnl0ZXMgYWxpZ25tZW50ICovCi0JdW5zaWduZWQgbG9uZyByMTU7Ci0J
dW5zaWduZWQgbG9uZyByMTQ7Ci0JdW5zaWduZWQgbG9uZyByMTM7Ci0JdW5zaWduZWQgbG9uZyBy
MTI7Ci0JdW5zaWduZWQgbG9uZyByYnA7Ci0JdW5zaWduZWQgbG9uZyByYng7Ci0vKiBhcmd1bWVu
dHM6IG5vbiBpbnRlcnJ1cHRzL25vbiB0cmFjaW5nIHN5c2NhbGxzIG9ubHkgc2F2ZSB1cHRvIGhl
cmUqLwotCXVuc2lnbmVkIGxvbmcgcjExOwotCXVuc2lnbmVkIGxvbmcgcjEwOwotCXVuc2lnbmVk
IGxvbmcgcjk7Ci0JdW5zaWduZWQgbG9uZyByODsKLQl1bnNpZ25lZCBsb25nIHJheDsKLQl1bnNp
Z25lZCBsb25nIHJjeDsKLQl1bnNpZ25lZCBsb25nIHJkeDsKLQl1bnNpZ25lZCBsb25nIHJzaTsK
LQl1bnNpZ25lZCBsb25nIHJkaTsKLQl1bnNpZ25lZCBsb25nIG9yaWdfcmF4OwotLyogZW5kIG9m
IGFyZ3VtZW50cyAqLwotLyogY3B1IGV4Y2VwdGlvbiBmcmFtZSBvciB1bmRlZmluZWQgKi8KLQl1
bnNpZ25lZCBsb25nIHJpcDsKLQl1bnNpZ25lZCBsb25nIGNzOwotCXVuc2lnbmVkIGxvbmcgZWZs
YWdzOwotCXVuc2lnbmVkIGxvbmcgcnNwOwotCXVuc2lnbmVkIGxvbmcgc3M7Ci0vKiB0b3Agb2Yg
c3RhY2sgcGFnZSAqLwotfTsKLSNlbmRpZgotCi0jZGVmaW5lIE9GRlNFVE9GX1JFR1NfUEFEICAg
ICAgIDAKLSNkZWZpbmUgT0ZGU0VUT0ZfUkVHU19SMTUgICAgICAgOAotI2RlZmluZSBPRkZTRVRP
Rl9SRUdTX1IxNCAgICAgICAxNgotI2RlZmluZSBPRkZTRVRPRl9SRUdTX1IxMyAgICAgICAyNAot
I2RlZmluZSBPRkZTRVRPRl9SRUdTX1IxMiAgICAgICAzMgotI2RlZmluZSBPRkZTRVRPRl9SRUdT
X1JCUCAgICAgICA0MAotI2RlZmluZSBPRkZTRVRPRl9SRUdTX1JCWCAgICAgICA0OAotI2RlZmlu
ZSBPRkZTRVRPRl9SRUdTX1IxMSAgICAgICA1NgotI2RlZmluZSBPRkZTRVRPRl9SRUdTX1IxMCAg
ICAgICA2NAotI2RlZmluZSBPRkZTRVRPRl9SRUdTX1I5ICAgICAgICA3MgotI2RlZmluZSBPRkZT
RVRPRl9SRUdTX1I4ICAgICAgICA4MAotI2RlZmluZSBPRkZTRVRPRl9SRUdTX1JBWCAgICAgICA4
OAotI2RlZmluZSBPRkZTRVRPRl9SRUdTX1JDWCAgICAgICA5NgotI2RlZmluZSBPRkZTRVRPRl9S
RUdTX1JEWCAgICAgICAxMDQKLSNkZWZpbmUgT0ZGU0VUT0ZfUkVHU19SU0kgICAgICAgMTEyCi0j
ZGVmaW5lIE9GRlNFVE9GX1JFR1NfUkRJICAgICAgIDEyMAotI2RlZmluZSBPRkZTRVRPRl9SRUdT
X09SSUdfUkFYICAxMjgKLSNkZWZpbmUgT0ZGU0VUT0ZfUkVHU19SSVAgICAgICAgMTM2Ci0jZGVm
aW5lIE9GRlNFVE9GX1JFR1NfQ1MgICAgICAgIDE0NAotI2RlZmluZSBPRkZTRVRPRl9SRUdTX0VG
TEFHUyAgICAxNTIKLSNkZWZpbmUgT0ZGU0VUT0ZfUkVHU19SU1AgICAgICAgMTYwCi0jZGVmaW5l
IE9GRlNFVE9GX1JFR1NfU1MgICAgICAgIDE2OAotCi0jZGVmaW5lIFJFR1NfUEFEX1NJWkUgICAg
ICAgICAgIE9GRlNFVE9GX1JFR1NfUjE1Ci0jZGVmaW5lIFNJWkVPRl9SRUdTICAgICAgICAgICAg
IDE3NgotCi0jaWYgU0laRU9GX1JFR1MgJiAweGYKLSNlcnJvciAiX19yZWdzIHN0cnVjdHVyZSBz
aXplIHNob3VsZCBiZSBtdWx0aXBsZSBvZiAxNi4iCi0jZW5kaWYKLQotLyogVGhpcyBzaG91bGQg
YmUgYmV0dGVyIGRlZmluZWQgaW4gdGhlIHRocmVhZCBoZWFkZXIgKi8KLSNkZWZpbmUgT0ZGU0VU
T0ZfVUtUSFJFQURfUkVHUyAgMTYKLQotI2VuZGlmIC8qIF9fVUtBUkNIX1JFR1NfSF9fICovCmRp
ZmYgLS1naXQgYS9wbGF0L2NvbW1vbi9pbmNsdWRlL3g4Ni90cmFwcy5oIGIvcGxhdC9jb21tb24v
aW5jbHVkZS94ODYvdHJhcHMuaAppbmRleCBiMjE3YjM0YS4uZGE5MGYyZWEgMTAwNjQ0Ci0tLSBh
L3BsYXQvY29tbW9uL2luY2x1ZGUveDg2L3RyYXBzLmgKKysrIGIvcGxhdC9jb21tb24vaW5jbHVk
ZS94ODYvdHJhcHMuaApAQCAtMzYsNyArMzYsNyBAQAogI2lmbmRlZiBfX1VLQVJDSF9UUkFQU19Y
ODZfNjRfSF9fCiAjZGVmaW5lIF9fVUtBUkNIX1RSQVBTX1g4Nl82NF9IX18KIAotI2luY2x1ZGUg
PHg4Ni9yZWdzLmg+CisjaW5jbHVkZSA8dWsvYXJjaC9sY3B1Lmg+CiAKICNkZWZpbmUgVFJBUF9k
aXZpZGVfZXJyb3IgICAgICAgIDAKICNkZWZpbmUgVFJBUF9kZWJ1ZyAgICAgICAgICAgICAgIDEK
ZGlmZiAtLWdpdCBhL3BsYXQva3ZtL3g4Ni9jcHVfdmVjdG9yc194ODZfNjQuUyBiL3BsYXQva3Zt
L3g4Ni9jcHVfdmVjdG9yc194ODZfNjQuUwppbmRleCAxYWYyZmQwMC4uMzVhYTU4ZDIgMTAwNjQ0
Ci0tLSBhL3BsYXQva3ZtL3g4Ni9jcHVfdmVjdG9yc194ODZfNjQuUworKysgYi9wbGF0L2t2bS94
ODYvY3B1X3ZlY3RvcnNfeDg2XzY0LlMKQEAgLTI1LDcgKzI1LDYgQEAKIC8qIFRha2VuIGZyb20g
c29sbzUgKi8KIAogI2luY2x1ZGUgPHg4Ni90cmFwcy5oPgotI2luY2x1ZGUgPHg4Ni9yZWdzLmg+
CiAKICNkZWZpbmUgRU5UUlkoWCkgICAgIC5nbG9iYWwgWCA7IC50eXBlIFgsIEBmdW5jdGlvbiA7
IFg6CiAKQEAgLTczLDEzICs3MiwxMyBAQCBFTlRSWShBU01fVFJBUF9TWU0oXHRyYXBuYW1lKSkK
IAlwdXNocSAkMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBubyBlcnJvciBjb2RlLCBw
YXNzIDAgKi8KIC5lbmRpZgogCVBVU0hfQ0FMTEVSX1NBVkUKLQlzdWJxICRSRUdTX1BBRF9TSVpF
LCAlcnNwICAgICAgICAgICAvKiB3ZSBoYXZlIHNvbWUgcGFkZGluZyAqLworCXN1YnEgJF9fUkVH
U19QQURfU0laRSwgJXJzcCAgICAgICAgIC8qIHdlIGhhdmUgc29tZSBwYWRkaW5nICovCiAKIAlt
b3ZxICVyc3AsICVyZGkKLQltb3ZxIE9GRlNFVE9GX1JFR1NfT1JJR19SQVgoJXJzcCksICVyc2kK
Kwltb3ZxIF9fUkVHU19PRkZTRVRPRl9PUklHX1JBWCglcnNwKSwgJXJzaQogCWNhbGwgZG9fXHRy
YXBuYW1lCiAKLQlhZGRxICRSRUdTX1BBRF9TSVpFLCAlcnNwICAgICAgICAgICAvKiB3ZSBoYXZl
IHNvbWUgcGFkZGluZyAqLworCWFkZHEgJF9fUkVHU19QQURfU0laRSwgJXJzcCAgICAgICAgIC8q
IHdlIGhhdmUgc29tZSBwYWRkaW5nICovCiAJUE9QX0NBTExFUl9TQVZFCiAJYWRkcSAkOCwgJXJz
cCAgICAgICAgICAgICAgICAgICAgICAgLyogZGlzY2FyZCBlcnJvciBjb2RlICovCiAKQEAgLTky
LDEyICs5MSwxMiBAQCBFTlRSWShjcHVfaXJxX1xpcnFubykKIAogCXB1c2hxICQwICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8qIG5vIGVycm9yIGNvZGUgKi8KIAlQVVNIX0NBTExFUl9TQVZF
Ci0Jc3VicSAkUkVHU19QQURfU0laRSwgJXJzcCAgICAgICAgICAgLyogd2UgaGF2ZSBzb21lIHBh
ZGRpbmcgKi8KKwlzdWJxICRfX1JFR1NfUEFEX1NJWkUsICVyc3AgICAgICAgICAvKiB3ZSBoYXZl
IHNvbWUgcGFkZGluZyAqLwogCiAJbW92cSAkXGlycW5vLCAlcmRpCiAJY2FsbCBfdWtwbGF0X2ly
cV9oYW5kbGUKIAotCWFkZHEgJFJFR1NfUEFEX1NJWkUsICVyc3AgICAgICAgICAgIC8qIHdlIGhh
dmUgc29tZSBwYWRkaW5nICovCisJYWRkcSAkX19SRUdTX1BBRF9TSVpFLCAlcnNwICAgICAgICAg
Lyogd2UgaGF2ZSBzb21lIHBhZGRpbmcgKi8KIAlQT1BfQ0FMTEVSX1NBVkUKIAlhZGRxICQ4LCAl
cnNwCiAKZGlmZiAtLWdpdCBhL3BsYXQveGVuL3g4Ni9lbnRyeTY0LlMgYi9wbGF0L3hlbi94ODYv
ZW50cnk2NC5TCmluZGV4IGQzNDE4MWJlLi5hZTExOGUxZCAxMDA2NDQKLS0tIGEvcGxhdC94ZW4v
eDg2L2VudHJ5NjQuUworKysgYi9wbGF0L3hlbi94ODYvZW50cnk2NC5TCkBAIC0xODMsNDQgKzE4
Myw0NCBAQCBFTlRSWShBU01fVFJBUF9TWU0oXHRyYXBuYW1lKSkKIC5lbmRtCiAKIC5tYWNybyBS
RVNUT1JFX0FMTAotCW1vdnEgT0ZGU0VUT0ZfUkVHU19SMTUoJXJzcCksICVyMTUKLQltb3ZxIE9G
RlNFVE9GX1JFR1NfUjE0KCVyc3ApLCAlcjE0Ci0JbW92cSBPRkZTRVRPRl9SRUdTX1IxMyglcnNw
KSwgJXIxMwotCW1vdnEgT0ZGU0VUT0ZfUkVHU19SMTIoJXJzcCksICVyMTIKLQltb3ZxIE9GRlNF
VE9GX1JFR1NfUkJQKCVyc3ApLCAlcmJwCi0JbW92cSBPRkZTRVRPRl9SRUdTX1JCWCglcnNwKSwg
JXJieAotCW1vdnEgT0ZGU0VUT0ZfUkVHU19SMTEoJXJzcCksICVyMTEKLQltb3ZxIE9GRlNFVE9G
X1JFR1NfUjEwKCVyc3ApLCAlcjEwCi0JbW92cSBPRkZTRVRPRl9SRUdTX1I5KCVyc3ApLCAgJXI5
Ci0JbW92cSBPRkZTRVRPRl9SRUdTX1I4KCVyc3ApLCAgJXI4Ci0JbW92cSBPRkZTRVRPRl9SRUdT
X1JBWCglcnNwKSwgJXJheAotCW1vdnEgT0ZGU0VUT0ZfUkVHU19SQ1goJXJzcCksICVyY3gKLQlt
b3ZxIE9GRlNFVE9GX1JFR1NfUkRYKCVyc3ApLCAlcmR4Ci0JbW92cSBPRkZTRVRPRl9SRUdTX1JT
SSglcnNwKSwgJXJzaQotCW1vdnEgT0ZGU0VUT0ZfUkVHU19SREkoJXJzcCksICVyZGkKLQlhZGRx
ICRPRkZTRVRPRl9SRUdTX1JJUCwlcnNwCisJbW92cSBfX1JFR1NfT0ZGU0VUT0ZfUjE1KCVyc3Ap
LCAlcjE1CisJbW92cSBfX1JFR1NfT0ZGU0VUT0ZfUjE0KCVyc3ApLCAlcjE0CisJbW92cSBfX1JF
R1NfT0ZGU0VUT0ZfUjEzKCVyc3ApLCAlcjEzCisJbW92cSBfX1JFR1NfT0ZGU0VUT0ZfUjEyKCVy
c3ApLCAlcjEyCisJbW92cSBfX1JFR1NfT0ZGU0VUT0ZfUkJQKCVyc3ApLCAlcmJwCisJbW92cSBf
X1JFR1NfT0ZGU0VUT0ZfUkJYKCVyc3ApLCAlcmJ4CisJbW92cSBfX1JFR1NfT0ZGU0VUT0ZfUjEx
KCVyc3ApLCAlcjExCisJbW92cSBfX1JFR1NfT0ZGU0VUT0ZfUjEwKCVyc3ApLCAlcjEwCisJbW92
cSBfX1JFR1NfT0ZGU0VUT0ZfUjkoJXJzcCksICAlcjkKKwltb3ZxIF9fUkVHU19PRkZTRVRPRl9S
OCglcnNwKSwgICVyOAorCW1vdnEgX19SRUdTX09GRlNFVE9GX1JBWCglcnNwKSwgJXJheAorCW1v
dnEgX19SRUdTX09GRlNFVE9GX1JDWCglcnNwKSwgJXJjeAorCW1vdnEgX19SRUdTX09GRlNFVE9G
X1JEWCglcnNwKSwgJXJkeAorCW1vdnEgX19SRUdTX09GRlNFVE9GX1JTSSglcnNwKSwgJXJzaQor
CW1vdnEgX19SRUdTX09GRlNFVE9GX1JESSglcnNwKSwgJXJkaQorCWFkZHEgJF9fUkVHU19PRkZT
RVRPRl9SSVAsJXJzcAogLmVuZG0KIAogLm1hY3JvIFNBVkVfQUxMCiAJLyogcmRpIHNsb3QgY29u
dGFpbnMgcmF4LCBvbGRyYXggY29udGFpbnMgZXJyb3IgY29kZSAqLwogCWNsZAotCXN1YnEgJE9G
RlNFVE9GX1JFR1NfUkRJLCAlcnNwCi0JbW92cSAlcnNpLCBPRkZTRVRPRl9SRUdTX1JTSSglcnNw
KQotCW1vdnEgT0ZGU0VUT0ZfUkVHU19SREkoJXJzcCksICVyc2kgICAgLyogbG9hZCByYXggZnJv
bSByZGkgc2xvdCAqLwotCW1vdnEgJXJkeCwgT0ZGU0VUT0ZfUkVHU19SRFgoJXJzcCkKLQltb3Zx
ICVyY3gsIE9GRlNFVE9GX1JFR1NfUkNYKCVyc3ApCi0JbW92cSAlcnNpLCBPRkZTRVRPRl9SRUdT
X1JBWCglcnNwKSAgICAvKiBzdG9yZSByYXggKi8KLQltb3ZxICVyOCwgIE9GRlNFVE9GX1JFR1Nf
UjgoJXJzcCkKLQltb3ZxICVyOSwgIE9GRlNFVE9GX1JFR1NfUjkoJXJzcCkKLQltb3ZxICVyMTAs
IE9GRlNFVE9GX1JFR1NfUjEwKCVyc3ApCi0JbW92cSAlcjExLCBPRkZTRVRPRl9SRUdTX1IxMSgl
cnNwKQotCW1vdnEgJXJieCwgT0ZGU0VUT0ZfUkVHU19SQlgoJXJzcCkKLQltb3ZxICVyYnAsIE9G
RlNFVE9GX1JFR1NfUkJQKCVyc3ApCi0JbW92cSAlcjEyLCBPRkZTRVRPRl9SRUdTX1IxMiglcnNw
KQotCW1vdnEgJXIxMywgT0ZGU0VUT0ZfUkVHU19SMTMoJXJzcCkKLQltb3ZxICVyMTQsIE9GRlNF
VE9GX1JFR1NfUjE0KCVyc3ApCi0JbW92cSAlcjE1LCBPRkZTRVRPRl9SRUdTX1IxNSglcnNwKQot
CW1vdnEgJXJkaSwgT0ZGU0VUT0ZfUkVHU19SREkoJXJzcCkgICAgLyogcHV0IHJkaSBpbnRvIHRo
ZSBzbG90ICovCisJc3VicSAkX19SRUdTX09GRlNFVE9GX1JESSwgJXJzcAorCW1vdnEgJXJzaSwg
X19SRUdTX09GRlNFVE9GX1JTSSglcnNwKQorCW1vdnEgX19SRUdTX09GRlNFVE9GX1JESSglcnNw
KSwgJXJzaSAgICAvKiBsb2FkIHJheCBmcm9tIHJkaSBzbG90ICovCisJbW92cSAlcmR4LCBfX1JF
R1NfT0ZGU0VUT0ZfUkRYKCVyc3ApCisJbW92cSAlcmN4LCBfX1JFR1NfT0ZGU0VUT0ZfUkNYKCVy
c3ApCisJbW92cSAlcnNpLCBfX1JFR1NfT0ZGU0VUT0ZfUkFYKCVyc3ApICAgIC8qIHN0b3JlIHJh
eCAqLworCW1vdnEgJXI4LCAgX19SRUdTX09GRlNFVE9GX1I4KCVyc3ApCisJbW92cSAlcjksICBf
X1JFR1NfT0ZGU0VUT0ZfUjkoJXJzcCkKKwltb3ZxICVyMTAsIF9fUkVHU19PRkZTRVRPRl9SMTAo
JXJzcCkKKwltb3ZxICVyMTEsIF9fUkVHU19PRkZTRVRPRl9SMTEoJXJzcCkKKwltb3ZxICVyYngs
IF9fUkVHU19PRkZTRVRPRl9SQlgoJXJzcCkKKwltb3ZxICVyYnAsIF9fUkVHU19PRkZTRVRPRl9S
QlAoJXJzcCkKKwltb3ZxICVyMTIsIF9fUkVHU19PRkZTRVRPRl9SMTIoJXJzcCkKKwltb3ZxICVy
MTMsIF9fUkVHU19PRkZTRVRPRl9SMTMoJXJzcCkKKwltb3ZxICVyMTQsIF9fUkVHU19PRkZTRVRP
Rl9SMTQoJXJzcCkKKwltb3ZxICVyMTUsIF9fUkVHU19PRkZTRVRPRl9SMTUoJXJzcCkKKwltb3Zx
ICVyZGksIF9fUkVHU19PRkZTRVRPRl9SREkoJXJzcCkgICAgLyogcHV0IHJkaSBpbnRvIHRoZSBz
bG90ICovCiAuZW5kbQogCiAubWFjcm8gSFlQRVJWSVNPUl9JUkVUCkBAIC0yNTEsOCArMjUxLDgg
QEAgZXJyb3JfZW50cnk6CiAJU0FWRV9BTEwKIAogCW1vdnEgJXJzcCwlcmRpCi0JbW92cSBPRkZT
RVRPRl9SRUdTX09SSUdfUkFYKCVyc3ApLCVyc2kJIyBnZXQgZXJyb3IgY29kZQotCW1vdnEgJC0x
LE9GRlNFVE9GX1JFR1NfT1JJR19SQVgoJXJzcCkKKwltb3ZxIF9fUkVHU19PRkZTRVRPRl9PUklH
X1JBWCglcnNwKSwlcnNpCSMgZ2V0IGVycm9yIGNvZGUKKwltb3ZxICQtMSxfX1JFR1NfT0ZGU0VU
T0ZfT1JJR19SQVgoJXJzcCkKIAljYWxsIColcmF4CiAJam1wIGVycm9yX2V4aXQKIApAQCAtMjY4
LDcgKzI2OCw3IEBAIGh5cGVydmlzb3JfY2FsbGJhY2syOgogCW1vdnEgJXJkaSwgJXJzcAogCiAJ
LyogY2hlY2sgYWdhaW5zdCBldmVudCByZS1lbnRyYW50ICovCi0JbW92cSBPRkZTRVRPRl9SRUdT
X1JJUCglcnNwKSwlcmF4CisJbW92cSBfX1JFR1NfT0ZGU0VUT0ZfUklQKCVyc3ApLCVyYXgKIAlj
bXBxICRzY3JpdCwlcmF4CiAJamIgMTFmCiAJY21wcSAkZWNyaXQsJXJheApAQCAtMjgzLDcgKzI4
Myw3IEBAIGh5cGVydmlzb3JfY2FsbGJhY2syOgogCWRlY2wgJWdzOjAKIAogZXJyb3JfZXhpdDoK
LQltb3ZsIE9GRlNFVE9GX1JFR1NfRUZMQUdTKCVyc3ApLCAlZWF4CisJbW92bCBfX1JFR1NfT0ZG
U0VUT0ZfRUZMQUdTKCVyc3ApLCAlZWF4CiAJc2hyICQ5LCAlZWF4CQkJIyBFQVhbMF0gPT0gSVJF
VF9SRkxBR1MuSUYKIAlYRU5fR0VUX1ZDUFVfSU5GTyglcnNpKQogCWFuZGIgZXZ0Y2huX3VwY2Fs
bF9tYXNrKCVyc2kpLCVhbApAQCAtMzI5LDExICszMjksMTEgQEAgaHlwZXJ2aXNvcl9wcm9sb2d1
ZToKIAogY3JpdGljYWxfcmVnaW9uX2ZpeHVwOgogCSMgU2V0IHVwIHNvdXJjZSBhbmQgZGVzdGlu
YXRpb24gcmVnaW9uIHBvaW50ZXJzCi0JbGVhcSBPRkZTRVRPRl9SRUdTX1JJUCglcnNwKSwlcnNp
ICAgIyBlc2kgcG9pbnRzIGF0IGVuZCBvZiBzcmMgcmVnaW9uCisJbGVhcSBfX1JFR1NfT0ZGU0VU
T0ZfUklQKCVyc3ApLCVyc2kgICAjIGVzaSBwb2ludHMgYXQgZW5kIG9mIHNyYyByZWdpb24KIAkj
IEFjcXVpcmUgaW50ZXJydXB0ZWQgcnNwIHdoaWNoIHdhcyBzYXZlZC1vbi1zdGFjay4gVGhpcyBw
b2ludHMgdG8KIAkjIHRoZSBlbmQgb2YgZHN0IHJlZ2lvbi4gTm90ZSB0aGF0IGl0IGlzIG5vdCBu
ZWNlc3NhcmlseSBjdXJyZW50IHJzcAogCSMgcGx1cyAweGIwLCBiZWNhdXNlIHRoZSBzZWNvbmQg
aW50ZXJydXB0IG1pZ2h0IGFsaWduIHRoZSBzdGFjayBmcmFtZS4KLQltb3ZxIE9GRlNFVE9GX1JF
R1NfUlNQKCVyc3ApLCVyZGkgICAjIGVkaSBwb2ludHMgYXQgZW5kIG9mIGRzdCByZWdpb24KKwlt
b3ZxIF9fUkVHU19PRkZTRVRPRl9SU1AoJXJzcCksJXJkaSAgICMgZWRpIHBvaW50cyBhdCBlbmQg
b2YgZHN0IHJlZ2lvbgogCiAJY21wcSAkcmVzdG9yZV9lbmQsJXJheAogCWphZSAgMTNmCkBAIC0z
NDEsMTEgKzM0MSwxMSBAQCBjcml0aWNhbF9yZWdpb25fZml4dXA6CiAJIyBJZiBpbnRlcnJ1cHRl
ZCByaXAgaXMgYmVmb3JlIHJlc3RvcmVfZW5kCiAJIyB0aGVuIHJheCBoYXNuJ3QgYmVlbiByZXN0
b3JlZCB5ZXQKIAltb3ZxICglcmRpKSwlcmF4Ci0JbW92cSAlcmF4LCBPRkZTRVRPRl9SRUdTX1JB
WCglcnNwKSAgIyBzYXZlIHJheAorCW1vdnEgJXJheCwgX19SRUdTX09GRlNFVE9GX1JBWCglcnNw
KSAgIyBzYXZlIHJheAogCWFkZHEgJFJTUF9PRkZTRVQsJXJkaQogCiAJIyBTZXQgdXAgdGhlIGNv
cHkKLTEzOgltb3ZxICRPRkZTRVRPRl9SRUdTX1JJUCwlcmN4CisxMzoJbW92cSAkX19SRUdTX09G
RlNFVE9GX1JJUCwlcmN4CiAJc2hyICAkMywlcmN4ICAgICAgICAgICMgY29udmVydCBieXRlcyBp
bnRvIGNvdW50IG9mIDY0LWJpdCBlbnRpdGllcwogMTU6CXN1YnEgJDgsJXJzaSAgICAgICAgICAj
IHByZS1kZWNyZW1lbnRpbmcgY29weSBsb29wCiAJc3VicSAkOCwlcmRpCkBAIC0zNTMsNyArMzUz
LDcgQEAgY3JpdGljYWxfcmVnaW9uX2ZpeHVwOgogCW1vdnEgJXJheCwoJXJkaSkKIAlsb29wIDE1
YgogMTY6CW1vdnEgJXJkaSwlcnNwICAgICAgICAjIGZpbmFsIHJkaSBpcyB0b3Agb2YgbWVyZ2Vk
IHN0YWNrCi0JYW5kYiAkS0VSTkVMX0NTX01BU0ssT0ZGU0VUT0ZfUkVHU19DUyglcnNwKSAgICAg
ICMgQ1MgbWlnaHQgaGF2ZSBjaGFuZ2VkCisJYW5kYiAkS0VSTkVMX0NTX01BU0ssX19SRUdTX09G
RlNFVE9GX0NTKCVyc3ApICAjIENTIG1pZ2h0IGhhdmUgY2hhbmdlZAogCWptcCAgMTFiCiAKICNl
bHNlCi0tIAoyLjIwLjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnBy
b2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9t
aW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Thu Dec 12 13:37:30 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 12 Dec 2019 13:37:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ifOen-0005Dm-KP; Thu, 12 Dec 2019 13:37:29 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=1V8f=2C=uliege.be=gaulthier.gain@srs-us1.protection.inumbo.net>)
 id 1ifOem-0005Dh-Eo
 for minios-devel@lists.xen.org; Thu, 12 Dec 2019 13:37:28 +0000
X-Inumbo-ID: 82dc9816-1ce4-11ea-b6f1-bc764e2007e4
Received: from serv108.segi.ulg.ac.be (unknown [139.165.32.111])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 82dc9816-1ce4-11ea-b6f1-bc764e2007e4;
 Thu, 12 Dec 2019 13:37:16 +0000 (UTC)
Received: from mbx11-zne.ulg.ac.be (serv469.segi.ulg.ac.be [139.165.32.198])
 by serv108.segi.ulg.ac.be (Postfix) with ESMTP id 048A1200F4B0;
 Thu, 12 Dec 2019 14:37:16 +0100 (CET)
DKIM-Filter: OpenDKIM Filter v2.11.0 serv108.segi.ulg.ac.be 048A1200F4B0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=uliege.be;
 s=ulg20190529; t=1576157836;
 bh=OUs1pOV6czQeKbCQYHZgzUNAY2fubXft22sXhsabPdY=;
 h=Date:From:To:Cc:In-Reply-To:References:Subject:From;
 b=MkqfUCYNpwGa5sJDTD0gd4hHM+dn2J0iv/t0TEjlthj1sXYK65Y0fkREWtkpwDHNU
 wRC4d+158HBi9t46mifizbeVMg74LujqZMVBUG6cBPgIMQcpecNaIhY+f+DHm/t+SS
 srPZ064Mu48avgeyv2DsU9mY6pAZZnGLeKLZjsvXo+AKQXFGlLpykZEair9Nuum2wJ
 Meu6rQnqU0eKoBywHrvWaT6zwK+TAupL/JhLouh2VvkdW0CJfviWKVth6PzxdvKU3y
 QGu91bQbfTsyR8xn2tG1R66PLzfYpEjj/C+ysTfKXA7ZjQqoVg8HnveRYQo8PNb9Pc
 PihWJSDzxlgiA==
Received: from localhost (localhost.localdomain [127.0.0.1])
 by mbx11-zne.ulg.ac.be (Postfix) with ESMTP id EBBC66862CE;
 Thu, 12 Dec 2019 14:37:15 +0100 (CET)
Received: from mbx11-zne.ulg.ac.be ([127.0.0.1])
 by localhost (mbx11-zne.ulg.ac.be [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id 2tMosObUSW-i; Thu, 12 Dec 2019 14:37:15 +0100 (CET)
Received: from mbx11-zne.ulg.ac.be (mbx11-zne.ulg.ac.be [139.165.32.198])
 by mbx11-zne.ulg.ac.be (Postfix) with ESMTP id CC9206862AA;
 Thu, 12 Dec 2019 14:37:15 +0100 (CET)
Date: Thu, 12 Dec 2019 14:37:15 +0100 (CET)
From: gaulthier.gain@uliege.be
To: Simon Kuenzer <simon.kuenzer@neclab.eu>
Message-ID: <664957715.114622679.1576157835772.JavaMail.zimbra@uliege.be>
In-Reply-To: <20191205140222.4262-3-simon.kuenzer@neclab.eu>
References: <20191205140222.4262-1-simon.kuenzer@neclab.eu>
 <20191205140222.4262-3-simon.kuenzer@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.22.61.226]
X-Mailer: Zimbra 8.8.11_GA_3780 (ZimbraWebClient - SAF13 (Mac)/8.8.11_GA_3787)
Thread-Topic: plat/common: Provide cpuid macro for x86
Thread-Index: vJDgC/Mt4lHcY3At5+3+iYzxXedPgw==
Subject: Re: [Minios-devel] [UNIKRAFT PATCH 2/6] plat/common: Provide cpuid
 macro for x86
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>, minios-devel@lists.xen.org
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

UmV2aWV3ZWQtYnk6IEdhdWx0aGllciBHYWluIDxnYXVsdGhpZXIuZ2FpbkB1bGllZ2UuYmU+Cgot
LS0tLSBNYWlsIG9yaWdpbmFsIC0tLS0tCkRlOiAiU2ltb24gS3VlbnplciIgPHNpbW9uLmt1ZW56
ZXJAbmVjbGFiLmV1PgrDgDogbWluaW9zLWRldmVsQGxpc3RzLnhlbi5vcmcKQ2M6ICJHYXVsdGhp
ZXIgR2FpbiIgPGdhdWx0aGllci5nYWluQHVsaWVnZS5iZT4sICJGZWxpcGUgSHVpY2kiIDxmZWxp
cGUuaHVpY2lAbmVjbGFiLmV1PiwgIlNpbW9uIEt1ZW56ZXIiIDxzaW1vbi5rdWVuemVyQG5lY2xh
Yi5ldT4KRW52b3nDqTogSmV1ZGkgNSBEw6ljZW1icmUgMjAxOSAxNTowMjoxOApPYmpldDogW1VO
SUtSQUZUIFBBVENIIDIvNl0gcGxhdC9jb21tb246IFByb3ZpZGUgY3B1aWQgbWFjcm8gZm9yIHg4
NgoKVGhlIGBjcHVpZGAgaW5zdHJ1Y3Rpb24gaXMgdXNlZCB0byBxdWVyeSBhbmQgcmV0cmlldmUg
aW5mb3JtYXRpb24KYWJvdXQgc3VwcG9ydGVkIENQVSBmZWF0dXJlcy4KClNpZ25lZC1vZmYtYnk6
IFNpbW9uIEt1ZW56ZXIgPHNpbW9uLmt1ZW56ZXJAbmVjbGFiLmV1PgotLS0KIHBsYXQvY29tbW9u
L2luY2x1ZGUveDg2L2NwdS5oIHwgMTggKysrKysrKysrKysrLS0tLS0tCiAxIGZpbGUgY2hhbmdl
ZCwgMTIgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9wbGF0L2Nv
bW1vbi9pbmNsdWRlL3g4Ni9jcHUuaCBiL3BsYXQvY29tbW9uL2luY2x1ZGUveDg2L2NwdS5oCmlu
ZGV4IDRhM2Y2NWQ0Li4zYmVjMmI1OCAxMDA2NDQKLS0tIGEvcGxhdC9jb21tb24vaW5jbHVkZS94
ODYvY3B1LmgKKysrIGIvcGxhdC9jb21tb24vaW5jbHVkZS94ODYvY3B1LmgKQEAgLTU5LDYgKzU5
LDE1IEBAIHN0cnVjdCBfeDg2X2ZlYXR1cmVzIHsKIAogZXh0ZXJuIHN0cnVjdCBfeDg2X2ZlYXR1
cmVzIHg4Nl9jcHVfZmVhdHVyZXM7CiAKK3N0YXRpYyBpbmxpbmUgdm9pZCBjcHVpZChfX3UzMiBm
biwgX191MzIgc3ViZm4sCisJCQkgX191MzIgKmVheCwgX191MzIgKmVieCwKKwkJCSBfX3UzMiAq
ZWN4LCBfX3UzMiAqZWR4KQoreworCWFzbSB2b2xhdGlsZSgiY3B1aWQiCisJCSAgICAgOiAiPWEi
KCplYXgpLCAiPWIiKCplYngpLCAiPWMiKCplY3gpLCAiPWQiKCplZHgpCisJCSAgICAgOiAiYSIo
Zm4pLCAiYyIgKHN1YmZuKSk7Cit9CisKIHN0YXRpYyBpbmxpbmUgdm9pZCBzYXZlX2V4dHJlZ3Mo
c3RydWN0IHN3X2N0eCAqY3R4KQogewogCXN3aXRjaCAoeDg2X2NwdV9mZWF0dXJlcy5zYXZlKSB7
CkBAIC0xMzIsMTcgKzE0MSwxNCBAQCBzdGF0aWMgaW5saW5lIHZvaWQgX2luaXRfY3B1ZmVhdHVy
ZXModm9pZCkKIAkgKiBjb250YWlucyAiMSIgYWZ0ZXIgdGhpcyBhc20gZXhwcmVzc2lvbi4gU2Vl
IHRoZSAiV2FybmluZyIgbm90ZSBhdAogCSAqIGh0dHBzOi8vZ2NjLmdudS5vcmcvb25saW5lZG9j
cy9nY2MvRXh0ZW5kZWQtQXNtLmh0bWwjSW5wdXRPcGVyYW5kcwogCSAqLwotCWFzbSB2b2xhdGls
ZSgiY3B1aWQiIDogIj1hIihlYXgpLCAiPWMiKGVjeCksICI9ZCIoZWR4KSA6ICJhIigxKQotCQkJ
OiAiZWJ4Iik7CisJY3B1aWQoMSwgMCwgJmVheCwgJmVieCwgJmVjeCwgJmVkeCk7CiAJaWYgKGVj
eCAmIFg4Nl9DUFVJRDFfRUNYX09TWFNBVkUpIHsKLQkJYXNtIHZvbGF0aWxlKCJjcHVpZCIgOiAi
PWEiKGVheCksICI9YyIoZWN4KSA6ICJhIigweGQpLCAiYyIoMSkKLQkJCQk6ICJlYngiLCAiZWR4
Iik7CisJCWNwdWlkKDB4ZCwgMSwgJmVheCwgJmVieCwgJmVjeCwgJmVkeCk7CiAJCWlmIChlYXgg
JiBYODZfQ1BVSUREMV9FQVhfWFNBVkVPUFQpCiAJCQl4ODZfY3B1X2ZlYXR1cmVzLnNhdmUgPSBY
ODZfU0FWRV9YU0FWRU9QVDsKIAkJZWxzZQogCQkJeDg2X2NwdV9mZWF0dXJlcy5zYXZlID0gWDg2
X1NBVkVfWFNBVkU7Ci0JCWFzbSB2b2xhdGlsZSgiY3B1aWQiIDogIj1hIihlYXgpLCAiPWIiKGVi
eCksICI9YyIoZWN4KQotCQkJCTogImEiKDB4ZCksICJjIigwKSA6ICJlZHgiKTsKKwkJY3B1aWQo
MHhkLCAwLCAmZWF4LCAmZWJ4LCAmZWN4LCAmZWR4KTsKIAkJeDg2X2NwdV9mZWF0dXJlcy5leHRy
ZWdzX3NpemUgPSBlYng7CiAJCXg4Nl9jcHVfZmVhdHVyZXMuZXh0cmVnc19hbGlnbiA9IDY0Owog
CX0gZWxzZSBpZiAoZWR4ICYgWDg2X0NQVUlEMV9FRFhfRlhTUikgewotLSAKMi4yMC4xCgpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwg
bWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xp
c3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Thu Dec 12 13:37:41 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 12 Dec 2019 13:37:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ifOez-0005EZ-MJ; Thu, 12 Dec 2019 13:37:41 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=1V8f=2C=uliege.be=gaulthier.gain@srs-us1.protection.inumbo.net>)
 id 1ifOey-0005ET-9j
 for minios-devel@lists.xen.org; Thu, 12 Dec 2019 13:37:40 +0000
X-Inumbo-ID: 8e5ddab0-1ce4-11ea-8d57-12813bfff9fa
Received: from serv108.segi.ulg.ac.be (unknown [139.165.32.111])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 8e5ddab0-1ce4-11ea-8d57-12813bfff9fa;
 Thu, 12 Dec 2019 13:37:36 +0000 (UTC)
Received: from mbx11-zne.ulg.ac.be (serv469.segi.ulg.ac.be [139.165.32.198])
 by serv108.segi.ulg.ac.be (Postfix) with ESMTP id 4AB0E2012174;
 Thu, 12 Dec 2019 14:37:35 +0100 (CET)
DKIM-Filter: OpenDKIM Filter v2.11.0 serv108.segi.ulg.ac.be 4AB0E2012174
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=uliege.be;
 s=ulg20190529; t=1576157855;
 bh=gPtHOGQnwrhP7hLppRC9+X4I/JChK4fP4Zq0geCiwIM=;
 h=Date:From:To:Cc:In-Reply-To:References:Subject:From;
 b=lG9Y4X4YD+qSxGToUMnGkPB25XId7XtbwqdcTF1mHdF8jxBY0AMkPeTpoBcN75bjI
 0RUEdk3OxfXLqBjoeb+YiE0q6u9p3qMCvLsRUOz/4fosT1lzzwGZfut+HwbuZoNUF5
 cZGVwIcyEPvynIgmunsbSuJ24rv2kwzG5Zh9BEtSkkkmFfwPJ674kwLW2C4r7QII/P
 FxdLmpvurckhdWGVjNwOup9NHWCmwdw7bYUeOVFc2cpKy2c5pHgDSodYSr705x4O7k
 k7pawasl4dOI8m15GHl/XweJ6GbCqG+hL7T+aTSjHSRhbtNzm4UYp1/nX3Q0EqPGPE
 dvT9ljO9GTozg==
Received: from localhost (localhost.localdomain [127.0.0.1])
 by mbx11-zne.ulg.ac.be (Postfix) with ESMTP id 420796862CA;
 Thu, 12 Dec 2019 14:37:35 +0100 (CET)
Received: from mbx11-zne.ulg.ac.be ([127.0.0.1])
 by localhost (mbx11-zne.ulg.ac.be [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id UNWcZ_v_Wm9z; Thu, 12 Dec 2019 14:37:35 +0100 (CET)
Received: from mbx11-zne.ulg.ac.be (mbx11-zne.ulg.ac.be [139.165.32.198])
 by mbx11-zne.ulg.ac.be (Postfix) with ESMTP id 275726862AA;
 Thu, 12 Dec 2019 14:37:35 +0100 (CET)
Date: Thu, 12 Dec 2019 14:37:35 +0100 (CET)
From: gaulthier.gain@uliege.be
To: Simon Kuenzer <simon.kuenzer@neclab.eu>
Message-ID: <898257087.114622861.1576157855111.JavaMail.zimbra@uliege.be>
In-Reply-To: <20191205140222.4262-4-simon.kuenzer@neclab.eu>
References: <20191205140222.4262-1-simon.kuenzer@neclab.eu>
 <20191205140222.4262-4-simon.kuenzer@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.22.61.226]
X-Mailer: Zimbra 8.8.11_GA_3780 (ZimbraWebClient - SAF13 (Mac)/8.8.11_GA_3787)
Thread-Topic: plat/common: Provide rdmsr amd rdmsrl for x86
Thread-Index: ATCMccTdBLW6ecpbQtwQHTzVtLXZfg==
Subject: Re: [Minios-devel] [UNIKRAFT PATCH 3/6] plat/common: Provide rdmsr
 amd rdmsrl for x86
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>, minios-devel@lists.xen.org
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

UmV2aWV3ZWQtYnk6IEdhdWx0aGllciBHYWluIDxnYXVsdGhpZXIuZ2FpbkB1bGllZ2UuYmU+Cgot
LS0tLSBNYWlsIG9yaWdpbmFsIC0tLS0tCkRlOiAiU2ltb24gS3VlbnplciIgPHNpbW9uLmt1ZW56
ZXJAbmVjbGFiLmV1PgrDgDogbWluaW9zLWRldmVsQGxpc3RzLnhlbi5vcmcKQ2M6ICJHYXVsdGhp
ZXIgR2FpbiIgPGdhdWx0aGllci5nYWluQHVsaWVnZS5iZT4sICJGZWxpcGUgSHVpY2kiIDxmZWxp
cGUuaHVpY2lAbmVjbGFiLmV1PiwgIlNpbW9uIEt1ZW56ZXIiIDxzaW1vbi5rdWVuemVyQG5lY2xh
Yi5ldT4KRW52b3nDqTogSmV1ZGkgNSBEw6ljZW1icmUgMjAxOSAxNTowMjoxOQpPYmpldDogW1VO
SUtSQUZUIFBBVENIIDMvNl0gcGxhdC9jb21tb246IFByb3ZpZGUgcmRtc3IgYW1kIHJkbXNybCBm
b3IgeDg2CgpUaGUgbW9kZWwtc3BlY2lmaWMgcmVnaXN0ZXJzIChNU1IpIGFyZSB1c2VkIGZvciBx
dWVyeWluZyBhbmQKcHJvZ3JhbW1pbmcgc29tZSBDUFUgZmVhdHVyZXMgb24geDg2LiBgcmRtc3Jg
IGFuZCBgcmRtc3JsYCBhcmUgbWFjcm9zCmZvciByZWFkaW5nIHRoZSByZWdpc3RlciB2YWx1ZXMu
CgpTaWduZWQtb2ZmLWJ5OiBTaW1vbiBLdWVuemVyIDxzaW1vbi5rdWVuemVyQG5lY2xhYi5ldT4K
LS0tCiBwbGF0L2NvbW1vbi9pbmNsdWRlL3g4Ni9jcHUuaCB8IDE0ICsrKysrKysrKysrKysrCiAx
IGZpbGUgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL3BsYXQvY29tbW9u
L2luY2x1ZGUveDg2L2NwdS5oIGIvcGxhdC9jb21tb24vaW5jbHVkZS94ODYvY3B1LmgKaW5kZXgg
M2JlYzJiNTguLjEyMGViODZkIDEwMDY0NAotLS0gYS9wbGF0L2NvbW1vbi9pbmNsdWRlL3g4Ni9j
cHUuaAorKysgYi9wbGF0L2NvbW1vbi9pbmNsdWRlL3g4Ni9jcHUuaApAQCAtMTc1LDYgKzE3NSwy
MCBAQCBzdGF0aWMgaW5saW5lIHZvaWQgaW52bHBnKHVuc2lnbmVkIGxvbmcgdmEpCiB9CiAKIAor
c3RhdGljIGlubGluZSB2b2lkIHJkbXNyKHVuc2lnbmVkIGludCBtc3IsIF9fdTMyICpsbywgX191
MzIgKmhpKQoreworCWFzbSB2b2xhdGlsZSgicmRtc3IiIDogIj1hIigqbG8pLCAiPWQiKCpoaSkK
KwkJCSAgICAgOiAiYyIobXNyKSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgX191NjQgcmRtc3JsKHVu
c2lnbmVkIGludCBtc3IpCit7CisJX191MzIgbG8sIGhpOworCisJcmRtc3IobXNyLCAmbG8sICZo
aSk7CisJcmV0dXJuICgoX191NjQpIGxvIHwgKF9fdTY0KSBoaSA8PCAzMik7Cit9CisKIHN0YXRp
YyBpbmxpbmUgdm9pZCB3cm1zcih1bnNpZ25lZCBpbnQgbXNyLCBfX3UzMiBsbywgX191MzIgaGkp
CiB7CiAJYXNtIHZvbGF0aWxlKCJ3cm1zciIKLS0gCjIuMjAuMQoKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApN
aW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0
Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Thu Dec 12 13:38:42 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 12 Dec 2019 13:38:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ifOfx-0005GO-Q8; Thu, 12 Dec 2019 13:38:41 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=1V8f=2C=uliege.be=gaulthier.gain@srs-us1.protection.inumbo.net>)
 id 1ifOfw-0005GJ-Rg
 for minios-devel@lists.xen.org; Thu, 12 Dec 2019 13:38:40 +0000
X-Inumbo-ID: b42c67e8-1ce4-11ea-8d57-12813bfff9fa
Received: from serv108.segi.ulg.ac.be (unknown [139.165.32.111])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id b42c67e8-1ce4-11ea-8d57-12813bfff9fa;
 Thu, 12 Dec 2019 13:38:39 +0000 (UTC)
Received: from mbx11-zne.ulg.ac.be (serv469.segi.ulg.ac.be [139.165.32.198])
 by serv108.segi.ulg.ac.be (Postfix) with ESMTP id AECD72012360;
 Thu, 12 Dec 2019 14:38:38 +0100 (CET)
DKIM-Filter: OpenDKIM Filter v2.11.0 serv108.segi.ulg.ac.be AECD72012360
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=uliege.be;
 s=ulg20190529; t=1576157918;
 bh=M7viKND2x2IBQ/JkJMrEXuuFYhbTPuyboHp4oovcU8s=;
 h=Date:From:To:Cc:In-Reply-To:References:Subject:From;
 b=nBe7qWA/KXd+rhM198rSqDQus9rtQE/NSaRtJ3Idb0QdSqrdp61Q1ZvWBiHbYtVaf
 PsG/iUZqrLdFMzkovdBcpPk700LfS+HT4GM+EHGtUUnwMJjZa4EngQnj7vRmrGyI2p
 jxMmsQ1HvaU2SkjITS552d0TYvv0Boec3D9ireKM/ygDzG0hvZMlmpu0oBjOm+bF0O
 F6uth7rjch9mJ31Qycyiua7XvqYoZKzBlB2QSZxYT1Jk9CYxETPT11UyJfzdAL1OMP
 p+9BUsaab86ui7AarqrsWKo/0bVmMgqLOnXl3ZmODu+rWuTiP2jYjWl3phX5RFlWcC
 rNAAS5ZSrrAAg==
Received: from localhost (localhost.localdomain [127.0.0.1])
 by mbx11-zne.ulg.ac.be (Postfix) with ESMTP id A30A6686344;
 Thu, 12 Dec 2019 14:38:38 +0100 (CET)
Received: from mbx11-zne.ulg.ac.be ([127.0.0.1])
 by localhost (mbx11-zne.ulg.ac.be [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id qVwVF2ggujGo; Thu, 12 Dec 2019 14:38:38 +0100 (CET)
Received: from mbx11-zne.ulg.ac.be (mbx11-zne.ulg.ac.be [139.165.32.198])
 by mbx11-zne.ulg.ac.be (Postfix) with ESMTP id 857D86862AA;
 Thu, 12 Dec 2019 14:38:38 +0100 (CET)
Date: Thu, 12 Dec 2019 14:38:38 +0100 (CET)
From: gaulthier.gain@uliege.be
To: Simon Kuenzer <simon.kuenzer@neclab.eu>
Message-ID: <634891525.114623859.1576157918447.JavaMail.zimbra@uliege.be>
In-Reply-To: <20191205140222.4262-5-simon.kuenzer@neclab.eu>
References: <20191205140222.4262-1-simon.kuenzer@neclab.eu>
 <20191205140222.4262-5-simon.kuenzer@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.22.61.226]
X-Mailer: Zimbra 8.8.11_GA_3780 (ZimbraWebClient - SAF13 (Mac)/8.8.11_GA_3787)
Thread-Topic: plat/*: Add binary system call feature and API
Thread-Index: wywDF5RjpD2uU64lS6bHw9sfG0kj9w==
Subject: Re: [Minios-devel] [UNIKRAFT PATCH 4/6] plat/*: Add binary system
 call feature and API
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>, minios-devel@lists.xen.org
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

UmV2aWV3ZWQtYnk6IEdhdWx0aGllciBHYWluIDxnYXVsdGhpZXIuZ2FpbkB1bGllZ2UuYmU+Cgot
LS0tLSBNYWlsIG9yaWdpbmFsIC0tLS0tCkRlOiAiU2ltb24gS3VlbnplciIgPHNpbW9uLmt1ZW56
ZXJAbmVjbGFiLmV1PgrDgDogbWluaW9zLWRldmVsQGxpc3RzLnhlbi5vcmcKQ2M6ICJHYXVsdGhp
ZXIgR2FpbiIgPGdhdWx0aGllci5nYWluQHVsaWVnZS5iZT4sICJGZWxpcGUgSHVpY2kiIDxmZWxp
cGUuaHVpY2lAbmVjbGFiLmV1PiwgIlNpbW9uIEt1ZW56ZXIiIDxzaW1vbi5rdWVuemVyQG5lY2xh
Yi5ldT4KRW52b3nDqTogSmV1ZGkgNSBEw6ljZW1icmUgMjAxOSAxNTowMjoyMApPYmpldDogW1VO
SUtSQUZUIFBBVENIIDQvNl0gcGxhdC8qOiBBZGQgYmluYXJ5IHN5c3RlbSBjYWxsIGZlYXR1cmUg
YW5kIEFQSQoKSW50cm9kdWNlcyB0aGUgYEhBVkVfU1lTQ0FMTGAgZmVhdHVyZSBmbGFnIHRoYXQg
ZW5hYmxlcyBoYW5kbGluZyBvZgpiaW5hcnkgc3lzdGVtIGNhbGxzLiBJdCBpcyBpbnRlbmRlZCB0
aGF0IHRoZSBwbGF0Zm9ybSBsaWJyYXJpZXMgYXJlCmVuYWJsaW5nIGFuZCBpbXBsZW1lbnRpbmcg
c3lzdGVtIGNhbGwgZW50cmFuY2UgZm9yIGJpbmFyeSBzeXN0ZW0gY2FsbApyZXF1ZXN0cyB3aGVu
IHRoaXMgZmxhZyBpcyBzZXQuClRoaXMgcGF0Y2ggYWxzbyBpbnRyb2R1Y2VzIGFuIGV4dGVuc2lv
biB0byB0aGUgcGxhdGZvcm0gQVBJCihgaW5jbHVkZS91ay9wbGF0L3N5c2NhbGwuaGApIHRoYXQg
ZGVmaW5lcyBhIHN5c3RlbSBjYWxsIGhhbmRsZXIKcHJvdG90eXBlLiBJdCBpcyBpbnRlbmRlZCB0
aGF0IHRoaXMgaGFuZGxlciBzaG91bGQgYmUgaW1wbGVtZW50ZWQgYnkgYQpub24tcGxhdGZvcm0g
bGlicmFyeS4gQSBkZXNpbmcgcHJpbmNpcGxlIGlzIHRoYXQgZGlmZmVyZW50IHN5c3RlbSBjYWxs
CkFCSXMgY291bGQgYmUgd2l0aCB0aGlzIGZ1bmN0aW9uIHNpZ25hdHVyZS4gRm9yIHRoaXMgcHVy
cG9zZSwgdGhlIHRyYXAKaGFuZGxlciBpbiB0aGUgcGxhdGZvcm0gc2hvdWxkIHNhdmUgdGhlIENQ
VSByZWdpc3RlcnMgc3RhdGUgYW5kCmhhbmQtb3ZlciBhIHJlZmVyZW5jZSB0byB0aGUgaGFuZGxl
ci4gVGhlIGhhbmRsZXIgbW9kaWZpZXMgdGhpcyBzYXZlZApzdGF0ZSBhY2NvcmRpbmdseSB0byB0
aGUgQUJJIHN0YW5kYXJkLiBPbiByZXR1cm5pbmcsIHRoZSB0cmFwIHNob3VsZAp0aGVuIGxvYWQg
dGhlIHVwZGF0ZWQgcmVnaXN0ZXIgdmFsdWVzIHRvIHRoZSBDUFUgYW5kIGNvbnRpbnVlIGV4ZWN1
dGlvbi4KClNpZ25lZC1vZmYtYnk6IFNpbW9uIEt1ZW56ZXIgPHNpbW9uLmt1ZW56ZXJAbmVjbGFi
LmV1PgotLS0KIGluY2x1ZGUvdWsvcGxhdC9zeXNjYWxsLmggfCA2NyArKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysKIGxpYi9Db25maWcudWsgICAgICAgICAgICAgfCAgNCAr
KysKIHBsYXQva3ZtL0NvbmZpZy51ayAgICAgICAgfCAgMSArCiBwbGF0L2xpbnV4dS9Db25maWcu
dWsgICAgIHwgIDEgKwogcGxhdC94ZW4vQ29uZmlnLnVrICAgICAgICB8ICAxICsKIDUgZmlsZXMg
Y2hhbmdlZCwgNzQgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGluY2x1ZGUvdWsv
cGxhdC9zeXNjYWxsLmgKCmRpZmYgLS1naXQgYS9pbmNsdWRlL3VrL3BsYXQvc3lzY2FsbC5oIGIv
aW5jbHVkZS91ay9wbGF0L3N5c2NhbGwuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMC4uZjYyZGRmZTMKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL3VrL3BsYXQvc3lzY2Fs
bC5oCkBAIC0wLDAgKzEsNjcgQEAKKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1D
bGF1c2UgKi8KKy8qCisgKiBBdXRob3JzOiBTaW1vbiBLdWVuemVyIDxzaW1vbi5rdWVuemVyQG5l
Y2xhYi5ldT4KKyAqCisgKgorICogQ29weXJpZ2h0IChjKSAyMDE5LCBORUMgRXVyb3BlIEx0ZC4s
IE5FQyBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAz
LiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBjb3B5cmlnaHQgaG9sZGVyIG5vciB0aGUgbmFtZXMg
b2YgaXRzCisgKiAgICBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogICAgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJ
UyIKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisgKiBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJ
QlVUT1JTIEJFCisgKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFCisgKiBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqCisgKiBUSElTIEhFQURF
UiBNQVkgTk9UIEJFIEVYVFJBQ1RFRCBPUiBNT0RJRklFRCBJTiBBTlkgV0FZLgorICovCisKKyNp
Zm5kZWYgX19VS1BMQVRfU1lTQ0FMTF9fCisjZGVmaW5lIF9fVUtQTEFUX1NZU0NBTExfXworCisj
aW5jbHVkZSA8dWsvY29uZmlnLmg+CisjaW5jbHVkZSA8dWsvYXJjaC9sY3B1Lmg+CisKKyNpZmRl
ZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKworI2lmZGVmIENPTkZJR19IQVZF
X1NZU0NBTEwKKworLyoqCisgKiBDYWxsZWQgYnkgcGxhdGZvcm0gbGlicmFyeSB3aGVuIGEgYmlu
YXJ5IHN5c3RlbSBjYWxsIHdhcyB0cmFwcGVkLgorICogVGhpcyBmdW5jdGlvbiBoYXMgdG8gYmUg
cHJvdmlkZWQgYnkgYSBub24tcGxhdGZvcm0gbGlicmFyeSBmb3IKKyAqIGV4ZWN1dGluZyB0aGUg
YWN0dWFsIHN5c3RlbSBjYWxsLiBTdWNoIGEgbGlicmFyeSBoYXMgdG8gc2V0CisgKiBDT05GSUdf
SEFWRV9TWVNDQUxMIHRvIGVuYWJsZSBzeXN0ZW0gY2FsbCBzdXBwb3J0IG9uIHRoZSBwbGF0Zm9y
bQorICogbGlicmFyeS4KKyAqIEl0IGlzIGludGVuZGVkIHRoYXQgdGhlIGhhbmRsZXIgbW9kaWZp
ZXMgdGhlIHJlZ2lzdGVyKHMpIHN0YXRlCisgKiBhY2NvcmRpbmcgdG8gdGhlIGltcGxlbWVudGVk
IEFCSS4KKyAqCisgKiBAcGFyYW0gciBSZWZlcmVuY2VkIHRvIHNhdmVkIHJlZ2lzdGVycy4gQWZ0
ZXIgdGhlIGNhbGwsIHRoZQorICogICAgICAgICAgdGhlIHN0cnVjdCB3aWxsIGJlIHJlc3RvcmVk
IGZvciB0aGUgY2FsbGVyIGFzIHN0YXRlLgorICovCit2b2lkIHVrcGxhdF9zeXNjYWxsX2hhbmRs
ZXIoc3RydWN0IF9fcmVncyAqcik7CisjZW5kaWYgLyogQ09ORklHX0hBVkVfU1lTQ0FMTCAqLwor
CisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYgLyogX19VS1BMQVRfU1lT
Q0FMTF9fICovCmRpZmYgLS1naXQgYS9saWIvQ29uZmlnLnVrIGIvbGliL0NvbmZpZy51awppbmRl
eCA3NTY1MjU3ZC4uZTgzZWQzMGIgMTAwNjQ0Ci0tLSBhL2xpYi9Db25maWcudWsKKysrIGIvbGli
L0NvbmZpZy51awpAQCAtMjQsMyArMjQsNyBAQCBjb25maWcgSEFWRV9TQ0hFRAogY29uZmlnIEhB
VkVfTldfU1RBQ0sKICAgICAgICBib29sCiAgICAgICAgZGVmYXVsdCBuCisKK2NvbmZpZyBIQVZF
X1NZU0NBTEwKKyAgICAgICBib29sCisgICAgICAgZGVmYXVsdCBuCmRpZmYgLS1naXQgYS9wbGF0
L2t2bS9Db25maWcudWsgYi9wbGF0L2t2bS9Db25maWcudWsKaW5kZXggNDdhZThlMmYuLjJiY2U0
M2VhIDEwMDY0NAotLS0gYS9wbGF0L2t2bS9Db25maWcudWsKKysrIGIvcGxhdC9rdm0vQ29uZmln
LnVrCkBAIC0yLDYgKzIsNyBAQCBtZW51Y29uZmlnIFBMQVRfS1ZNCiAgICAgICAgYm9vbCAiS1ZN
IGd1ZXN0IgogICAgICAgIGRlZmF1bHQgbgogICAgICAgIGRlcGVuZHMgb24gKEFSQ0hfWDg2XzY0
IHx8IEFSQ0hfQVJNXzY0KQorICAgICAgIGRlcGVuZHMgb24gIUhBVkVfU1lTQ0FMTAogICAgICAg
IHNlbGVjdCBMSUJVS0RFQlVHCiAgICAgICAgc2VsZWN0IExJQlVLQUxMT0MKICAgICAgICBzZWxl
Y3QgTElCVUtUSU1FQ09OVgpkaWZmIC0tZ2l0IGEvcGxhdC9saW51eHUvQ29uZmlnLnVrIGIvcGxh
dC9saW51eHUvQ29uZmlnLnVrCmluZGV4IGVkZTk1ODlhLi5kOGM4NmQ4MSAxMDA2NDQKLS0tIGEv
cGxhdC9saW51eHUvQ29uZmlnLnVrCisrKyBiL3BsYXQvbGludXh1L0NvbmZpZy51awpAQCAtMiw2
ICsyLDcgQEAgbWVudWNvbmZpZyBQTEFUX0xJTlVYVQogICAgICAgIGJvb2wgIkxpbnV4IHVzZXIg
c3BhY2UiCiAgICAgICAgZGVmYXVsdCBuCiAgICAgICAgZGVwZW5kcyBvbiAoQVJDSF9YODZfNjQp
IHx8IChBUkNIX0FSTV8zMikKKyAgICAgICBkZXBlbmRzIG9uICFIQVZFX1NZU0NBTEwKICAgICAg
ICBzZWxlY3QgTElCVUtERUJVRwogICAgICAgIHNlbGVjdCBMSUJOT0xJQkMgaWYgIUhBVkVfTElC
QwogICAgICAgIGhlbHAKZGlmZiAtLWdpdCBhL3BsYXQveGVuL0NvbmZpZy51ayBiL3BsYXQveGVu
L0NvbmZpZy51awppbmRleCBiYzEwM2YxNC4uMzY2YWIzNDQgMTAwNjQ0Ci0tLSBhL3BsYXQveGVu
L0NvbmZpZy51aworKysgYi9wbGF0L3hlbi9Db25maWcudWsKQEAgLTMsNiArMyw3IEBAIG1lbnVj
b25maWcgUExBVF9YRU4KICAgICAgICBkZWZhdWx0IG4KICAgICAgICBkZXBlbmRzIG9uIChBUkNI
X1g4Nl8zMiB8fCBBUkNIX1g4Nl82NCB8fCBBUkNIX0FSTV8zMikKICAgICAgICBpbXBseSBYRU5f
UFZfQlVJTERfUDJNCisgICAgICAgZGVwZW5kcyBvbiAhSEFWRV9TWVNDQUxMCiAgICAgICAgc2Vs
ZWN0IExJQlVLREVCVUcKICAgICAgICBzZWxlY3QgTElCTk9MSUJDIGlmICFIQVZFX0xJQkMKICAg
ICAgICBzZWxlY3QgTElCVUtUSU1FIGlmICFIQVZFX0xJQkMgJiYgQVJDSF9YODZfNjQKLS0gCjIu
MjAuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWlu
aW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcK
aHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZl
bA==

From minios-devel-bounces@lists.xenproject.org Thu Dec 12 13:39:57 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 12 Dec 2019 13:39:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ifOhB-0005Md-BK; Thu, 12 Dec 2019 13:39:57 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=1V8f=2C=uliege.be=gaulthier.gain@srs-us1.protection.inumbo.net>)
 id 1ifOh9-0005MN-U0
 for minios-devel@lists.xen.org; Thu, 12 Dec 2019 13:39:55 +0000
X-Inumbo-ID: dfd2fa07-1ce4-11ea-8d58-12813bfff9fa
Received: from serv108.segi.ulg.ac.be (unknown [139.165.32.111])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id dfd2fa07-1ce4-11ea-8d58-12813bfff9fa;
 Thu, 12 Dec 2019 13:39:54 +0000 (UTC)
Received: from mbx11-zne.ulg.ac.be (serv469.segi.ulg.ac.be [139.165.32.198])
 by serv108.segi.ulg.ac.be (Postfix) with ESMTP id 2945C20151C0;
 Thu, 12 Dec 2019 14:39:53 +0100 (CET)
DKIM-Filter: OpenDKIM Filter v2.11.0 serv108.segi.ulg.ac.be 2945C20151C0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=uliege.be;
 s=ulg20190529; t=1576157993;
 bh=i7ozIBkiQU00d88zebX1Xja10hJ1BxMudqLEfdmvvcw=;
 h=Date:From:To:Cc:In-Reply-To:References:Subject:From;
 b=MWpc0A82pOt07LARm35Ktmr9SbjnLyvwh3yAOD3pAUumH5LWA4PJK4NR3Al+KNrnx
 BPH2aIwFy+hMkp380idyUW6q5E/vgAFTqGPLhTXYw4HV2AQcOQmBv+RWkayWUMpMvW
 Q4jJPgLT2DikDNksvU5EVH7aDF08mHAbRW0rSN0F89FmYKWadtIoNow5EwJd+bf+ZB
 zqg5tS4cVHSMnv9Zq1eSSBK7f1uDgkeVkYTHq3l8HPTmnW0OTH0ga76e7Qy+NgZV2U
 C/z/YI9qXpYcVw2H+LzNlkiLgN3G6dcs5+mdSlkz8zuSsm6WzjQ850aRAkLIMvCT9y
 rp0NWzAjQ+rnQ==
Received: from localhost (localhost.localdomain [127.0.0.1])
 by mbx11-zne.ulg.ac.be (Postfix) with ESMTP id 1B7076862AA;
 Thu, 12 Dec 2019 14:39:53 +0100 (CET)
Received: from mbx11-zne.ulg.ac.be ([127.0.0.1])
 by localhost (mbx11-zne.ulg.ac.be [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id KWO420Ya8AxI; Thu, 12 Dec 2019 14:39:53 +0100 (CET)
Received: from mbx11-zne.ulg.ac.be (mbx11-zne.ulg.ac.be [139.165.32.198])
 by mbx11-zne.ulg.ac.be (Postfix) with ESMTP id 019DE686237;
 Thu, 12 Dec 2019 14:39:53 +0100 (CET)
Date: Thu, 12 Dec 2019 14:39:52 +0100 (CET)
From: gaulthier.gain@uliege.be
To: Simon Kuenzer <simon.kuenzer@neclab.eu>
Message-ID: <1755728145.114624882.1576157992916.JavaMail.zimbra@uliege.be>
In-Reply-To: <20191205140222.4262-6-simon.kuenzer@neclab.eu>
References: <20191205140222.4262-1-simon.kuenzer@neclab.eu>
 <20191205140222.4262-6-simon.kuenzer@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.22.61.226]
X-Mailer: Zimbra 8.8.11_GA_3780 (ZimbraWebClient - SAF13 (Mac)/8.8.11_GA_3787)
Thread-Topic: plat/common: Initialize `syscall`/`sysret` for x86
Thread-Index: qeUkRFwYceVPhNi+f9i4yc6bnGnEdg==
Subject: Re: [Minios-devel] [UNIKRAFT PATCH 5/6] plat/common: Initialize
 `syscall`/`sysret` for x86
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>, minios-devel@lists.xen.org
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

UmV2aWV3ZWQtYnk6IEdhdWx0aGllciBHYWluIDxnYXVsdGhpZXIuZ2FpbkB1bGllZ2UuYmU+Cgot
LS0tLSBNYWlsIG9yaWdpbmFsIC0tLS0tCkRlOiAiU2ltb24gS3VlbnplciIgPHNpbW9uLmt1ZW56
ZXJAbmVjbGFiLmV1PgrDgDogbWluaW9zLWRldmVsQGxpc3RzLnhlbi5vcmcKQ2M6ICJHYXVsdGhp
ZXIgR2FpbiIgPGdhdWx0aGllci5nYWluQHVsaWVnZS5iZT4sICJGZWxpcGUgSHVpY2kiIDxmZWxp
cGUuaHVpY2lAbmVjbGFiLmV1PiwgIlNpbW9uIEt1ZW56ZXIiIDxzaW1vbi5rdWVuemVyQG5lY2xh
Yi5ldT4KRW52b3nDqTogSmV1ZGkgNSBEw6ljZW1icmUgMjAxOSAxNTowMjoyMQpPYmpldDogW1VO
SUtSQUZUIFBBVENIIDUvNl0gcGxhdC9jb21tb246IEluaXRpYWxpemUgYHN5c2NhbGxgL2BzeXNy
ZXRgIGZvciB4ODYKCl9pbml0X3N5c2NhbGwoKSBjaGVja3MgaWYgQ1BVIGhhcyBgc3lzY2FsbGAv
YHN5c3JldGAgc3VwcG9ydCBpcwphdmFpbGFibGUgYW5kIGVuYWJsZXMgaXQuIFRoZSBDUFUgaXMg
cHJvZ3JhbW1lZCB0byBjYWxsCmBfdWtwbGF0X3N5c2NhbGwoKWAgaGFuZGxlciBpbiB0aGUgZXZl
bnQgb2YgYHN5c2NhbGxgLiBBIHRyYXAgaGFuZGxlcgppcyBpbXBsZW1lbnRlZCB3aXRoIHRoZSBm
b2xsb3dpbmcgcGF0Y2goZXMpLgoKU2lnbmVkLW9mZi1ieTogU2ltb24gS3VlbnplciA8c2ltb24u
a3VlbnplckBuZWNsYWIuZXU+Ci0tLQogcGxhdC9jb21tb24vaW5jbHVkZS94ODYvY3B1LmggICAg
ICB8IDY1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogcGxhdC9jb21tb24vaW5jbHVk
ZS94ODYvY3B1X2RlZnMuaCB8IDIyICsrKysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgODcgaW5z
ZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL3BsYXQvY29tbW9uL2luY2x1ZGUveDg2L2NwdS5oIGIv
cGxhdC9jb21tb24vaW5jbHVkZS94ODYvY3B1LmgKaW5kZXggMTIwZWI4NmQuLjVmMWEzNWU0IDEw
MDY0NAotLS0gYS9wbGF0L2NvbW1vbi9pbmNsdWRlL3g4Ni9jcHUuaAorKysgYi9wbGF0L2NvbW1v
bi9pbmNsdWRlL3g4Ni9jcHUuaApAQCAtMjc2LDQgKzI3Niw2OSBAQCBzdGF0aWMgaW5saW5lIF9f
dTY0IG11bDY0XzMyKF9fdTY0IGEsIF9fdTMyIGIpCiAJcmV0dXJuIHByb2Q7CiB9CiAKKyNpZmRl
ZiBDT05GSUdfSEFWRV9TWVNDQUxMCisvKiBzeXNjYWxsIGVudHJhbmNlIHByb3ZpZGVkIGJ5IHBs
YXRmb3JtIGxpYnJhcnkgKi8KK3ZvaWQgX3VrcGxhdF9zeXNjYWxsKHZvaWQpOworCisvKiBfaW5p
dF9zeXNjYWxsIGlzIGRlcml2ZWQgZnJvbSBoZXJtaXR1eDogYHByb2Nlc3Nvci5jYDoKKyAqCisg
KiBDb3B5cmlnaHQgKGMpIDIwMTAsIFN0ZWZhbiBMYW5rZXMsIFJXVEggQWFjaGVuIFVuaXZlcnNp
dHkKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlIG1ldDoKKyAqICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgdGhlIFVuaXZlcnNpdHkgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJp
YnV0b3JzCisgKiAgICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20gdGhpcworICogICAgICBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5ECisg
KiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICog
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKK3N0YXRpYyBpbmxpbmUgdm9pZCBfaW5pdF9zeXNjYWxs
KHZvaWQpCit7CisJX191MzIgZWF4LCBlYngsIGVjeCwgZWR4OworCWludCBoYXZlX3N5c2NhbGwg
PSAwOworCisJLyogQ2hlY2sgZm9yIGF2YWlsYWJpbGl0eSBvZiBleHRlbmRlZCBmZWF0dXJlcyAq
LworCWNwdWlkKDB4ODAwMDAwMDAsIDAsICZlYXgsICZlYngsICZlY3gsICZlZHgpOworCWlmIChl
YXggPj0gMHg4MDAwMDAwMSkgeworCQljcHVpZCgweDgwMDAwMDAxLCAwLCAmZWF4LCAmZWJ4LCAm
ZWN4LCAmZWR4KTsKKwkJaGF2ZV9zeXNjYWxsID0gKGVkeCAmIFg4Nl9DUFVJRDNfU1lTQ0FMTCk7
CisJfQorCisJaWYgKCFoYXZlX3N5c2NhbGwpCisJCVVLX0NSQVNIKCJDUFUgZG9lcyBub3Qgc3Vw
cG9ydCBTWVNDQUxML1NZU1JFVCFcbiIpOworCisJLyogRW5hYmxlIGFuZCBwcm9ncmFtIHN5c2Nh
bGwvc3lzcmV0ICovCisJd3Jtc3JsKFg4Nl9NU1JfRUZFUiwKKwkgICAgICAgcmRtc3JsKFg4Nl9N
U1JfRUZFUikKKwkgICAgICAgfCBYODZfRUZFUl9MTUEgfCBYODZfRUZFUl9MTUUgfCBYODZfRUZF
Ul9TQ0UpOworCXdybXNybChYODZfTVNSX1NUQVIsCisJICAgICAgICgweDA4VUxMIDw8IDQ4KSB8
ICgweDA4VUxMIDw8IDMyKSk7CisJd3Jtc3JsKFg4Nl9NU1JfTFNUQVIsCisJICAgICAgIChfX3Vw
dHIpIF91a3BsYXRfc3lzY2FsbCk7CisKKwkvKiBDbGVhciBJRiBmbGFnIGR1cmluZyBhbiBpbnRl
cnJ1cHQgKi8KKwl3cm1zcmwoWDg2X01TUl9TWVNDQUxMX01BU0ssCisJICAgICAgIFg4Nl9FRkxB
R1NfVEYgfCBYODZfRUZMQUdTX0RGIHwgWDg2X0VGTEFHU19JRgorCSAgICAgICB8IFg4Nl9FRkxB
R1NfQUMgfCBYODZfRUZMQUdTX05UKTsKKworCXVrX3ByX2luZm8oIlNZU0NBTEwgZW50cmFuY2Ug
QCAlcFxuIiwgX3VrcGxhdF9zeXNjYWxsKTsKK30KKyNlbmRpZiAvKiBDT05GSUdfSEFWRV9TWVND
QUxMICovCisKICNlbmRpZiAvKiBfX1BMQVRfQ09NTU9OX1g4Nl9DUFVfSF9fICovCmRpZmYgLS1n
aXQgYS9wbGF0L2NvbW1vbi9pbmNsdWRlL3g4Ni9jcHVfZGVmcy5oIGIvcGxhdC9jb21tb24vaW5j
bHVkZS94ODYvY3B1X2RlZnMuaAppbmRleCBmNDZlODMwNy4uZGNiZTJjNjUgMTAwNjQ0Ci0tLSBh
L3BsYXQvY29tbW9uL2luY2x1ZGUveDg2L2NwdV9kZWZzLmgKKysrIGIvcGxhdC9jb21tb24vaW5j
bHVkZS94ODYvY3B1X2RlZnMuaApAQCAtODgsNiArODgsOCBAQAogI2RlZmluZSBYODZfQ1BVSUQ3
X0VCWF9GU0dTQkFTRSAoMSA8PCAwKQogLyogQ1BVSUQgZmVhdHVyZSBiaXRzIHdoZW4gRUFYPTB4
ZCwgRUNYPTEgKi8KICNkZWZpbmUgWDg2X0NQVUlERDFfRUFYX1hTQVZFT1BUICgxPDwwKQorLyog
Q1BVSUQgODAwMDAwMDFIOkVEWCBmZWF0dXJlIGxpc3QgKi8KKyNkZWZpbmUgWDg2X0NQVUlEM19T
WVNDQUxMICAgICAgKDEgPDwgMTEpCiAKIC8qCiAgKiBFeHRlbmRlZCBDb250cm9sIFJlZ2lzdGVy
IDAgKFhDUjApCkBAIC0xMDAsNSArMTAyLDI1IEBACiAgKiBNb2RlbC1zcGVjaWZpYyByZWdpc3Rl
ciBhZGRyZXNzZXMKICAqLwogI2RlZmluZSBYODZfTVNSX0ZTX0JBU0UgICAgICAgICAweGMwMDAw
MTAwCisvKiBleHRlbmRlZCBmZWF0dXJlIHJlZ2lzdGVyICovCisjZGVmaW5lIFg4Nl9NU1JfRUZF
UgkJMHhjMDAwMDA4MAorLyogbGVnYWN5IG1vZGUgU1lTQ0FMTCB0YXJnZXQgKi8KKyNkZWZpbmUg
WDg2X01TUl9TVEFSCQkweGMwMDAwMDgxCisvKiBsb25nIG1vZGUgU1lTQ0FMTCB0YXJnZXQgKi8K
KyNkZWZpbmUgWDg2X01TUl9MU1RBUgkJMHhjMDAwMDA4MgorLyogY29tcGF0IG1vZGUgU1lTQ0FM
TCB0YXJnZXQgKi8KKyNkZWZpbmUgWDg2X01TUl9DU1RBUgkJMHhjMDAwMDA4MworLyogRUZMQUdT
IG1hc2sgZm9yIHN5c2NhbGwgKi8KKyNkZWZpbmUgWDg2X01TUl9TWVNDQUxMX01BU0sJMHhjMDAw
MDA4NAorCisvKiBNU1IgRUZFUiBiaXRzICovCisjZGVmaW5lIFg4Nl9FRkVSX1NDRQkJKDEgPDwg
MCkKKyNkZWZpbmUgWDg2X0VGRVJfTE1FCQkoMSA8PCA4KQorI2RlZmluZSBYODZfRUZFUl9MTUEJ
CSgxIDw8IDEwKQorI2RlZmluZSBYODZfRUZFUl9OWEUJCSgxIDw8IDExKQorI2RlZmluZSBYODZf
RUZFUl9TVk1FCQkoMSA8PCAxMikKKyNkZWZpbmUgWDg2X0VGRVJfTE1TTEUJCSgxIDw8IDEzKQor
I2RlZmluZSBYODZfRUZFUl9GRlhTUgkJKDEgPDwgMTQpCisjZGVmaW5lIFg4Nl9FRkVSX1RDRQkJ
KDEgPDwgMTUpCiAKICNlbmRpZiAvKiBfX1BMQVRfQ01OX1g4Nl9DUFVfREVGU19IX18gKi8KLS0g
CjIuMjAuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
TWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5v
cmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1k
ZXZlbA==

From minios-devel-bounces@lists.xenproject.org Thu Dec 12 13:45:10 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 12 Dec 2019 13:45:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ifOmD-00067s-QP; Thu, 12 Dec 2019 13:45:09 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=1V8f=2C=uliege.be=gaulthier.gain@srs-us1.protection.inumbo.net>)
 id 1ifOmC-00067m-AW
 for minios-devel@lists.xen.org; Thu, 12 Dec 2019 13:45:08 +0000
X-Inumbo-ID: 9b4f9960-1ce5-11ea-8d5f-12813bfff9fa
Received: from serv108.segi.ulg.ac.be (unknown [139.165.32.111])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 9b4f9960-1ce5-11ea-8d5f-12813bfff9fa;
 Thu, 12 Dec 2019 13:45:07 +0000 (UTC)
Received: from mbx11-zne.ulg.ac.be (serv469.segi.ulg.ac.be [139.165.32.198])
 by serv108.segi.ulg.ac.be (Postfix) with ESMTP id 460EA201237B;
 Thu, 12 Dec 2019 14:45:06 +0100 (CET)
DKIM-Filter: OpenDKIM Filter v2.11.0 serv108.segi.ulg.ac.be 460EA201237B
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=uliege.be;
 s=ulg20190529; t=1576158306;
 bh=k2cefgox4G3NNEyOgf4lP7T3tp45a7afVPrUejSjId8=;
 h=Date:From:To:Cc:In-Reply-To:References:Subject:From;
 b=zDAw6QM2Gd273otHowpAEDz11vV22OhGHZ0ath6e2uEtAPB/yPZDHktwZYM1ds77d
 GACrQM3woSpeg0hAZa7s4krLrrCVTPZGcNsUKfzTMnKq+j2eXOxatR+3C30Dfz6i5d
 5XBHTHI66UWOiiASbv41dMhuYItU7TcRT3PNkZydtk3Tj+AIEzBxpUlX4E7Do5zhj+
 /rDRc92sYbmGK24uFbuLGPsvJvBqtgnjJaQENnFJQFUUbd+d1CVs/0fxgLKOsl3BwA
 YehSsgbcyRt16BLen+5QwHIW9rwKJrS9euu8SB65ynZLGPJVXPT16ImKLTboqOPtYQ
 /bI2c83FufaJA==
Received: from localhost (localhost.localdomain [127.0.0.1])
 by mbx11-zne.ulg.ac.be (Postfix) with ESMTP id 357B16862B8;
 Thu, 12 Dec 2019 14:45:06 +0100 (CET)
Received: from mbx11-zne.ulg.ac.be ([127.0.0.1])
 by localhost (mbx11-zne.ulg.ac.be [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id wbcBkmbYrxSw; Thu, 12 Dec 2019 14:45:06 +0100 (CET)
Received: from mbx11-zne.ulg.ac.be (mbx11-zne.ulg.ac.be [139.165.32.198])
 by mbx11-zne.ulg.ac.be (Postfix) with ESMTP id 1165968628F;
 Thu, 12 Dec 2019 14:45:06 +0100 (CET)
Date: Thu, 12 Dec 2019 14:45:05 +0100 (CET)
From: gaulthier.gain@uliege.be
To: Simon Kuenzer <simon.kuenzer@neclab.eu>
Message-ID: <1782885301.114630439.1576158305968.JavaMail.zimbra@uliege.be>
In-Reply-To: <20191205140222.4262-7-simon.kuenzer@neclab.eu>
References: <20191205140222.4262-1-simon.kuenzer@neclab.eu>
 <20191205140222.4262-7-simon.kuenzer@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.22.61.226]
X-Mailer: Zimbra 8.8.11_GA_3780 (ZimbraWebClient - SAF13 (Mac)/8.8.11_GA_3787)
Thread-Topic: plat/kvm: System call trap handler (x86_64)
Thread-Index: Jt0K6BlW7jF/aDWODrpWJudZn4vHEA==
Subject: Re: [Minios-devel] [UNIKRAFT PATCH 6/6] plat/kvm: System call trap
 handler (x86_64)
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>, minios-devel@lists.xen.org
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

UmV2aWV3ZWQtYnk6IEdhdWx0aGllciBHYWluIDxnYXVsdGhpZXIuZ2FpbkB1bGllZ2UuYmU+Cgot
LS0tLSBNYWlsIG9yaWdpbmFsIC0tLS0tCkRlOiAiU2ltb24gS3VlbnplciIgPHNpbW9uLmt1ZW56
ZXJAbmVjbGFiLmV1PgrDgDogbWluaW9zLWRldmVsQGxpc3RzLnhlbi5vcmcKQ2M6ICJHYXVsdGhp
ZXIgR2FpbiIgPGdhdWx0aGllci5nYWluQHVsaWVnZS5iZT4sICJGZWxpcGUgSHVpY2kiIDxmZWxp
cGUuaHVpY2lAbmVjbGFiLmV1PiwgIlNpbW9uIEt1ZW56ZXIiIDxzaW1vbi5rdWVuemVyQG5lY2xh
Yi5ldT4KRW52b3nDqTogSmV1ZGkgNSBEw6ljZW1icmUgMjAxOSAxNTowMjoyMgpPYmpldDogW1VO
SUtSQUZUIFBBVENIIDYvNl0gcGxhdC9rdm06IFN5c3RlbSBjYWxsIHRyYXAgaGFuZGxlciAoeDg2
XzY0KQoKSW1wbGVtZW50cyBgX3VrcGxhdF9zeXNjYWxsKClgIGZvciBLVk0uIFRoZSBoYW5kbGVy
IGlzIHNhdmluZyB0aGUgQ1BVCnJlZ2lzdGVycyB0byB0aGUgc3RhY2sgYW5kIGNhbGxpbmcgYHVr
cGxhdF9zeXNjYWxsX2hhbmRsZXIoKWAgd2l0aCBhCnJlZmVyZW5jZSB0byB0aGUgc2F2ZWQgcmVn
aXN0ZXJzLiBPbiByZXR1cm4sIHRoZSByZWdpc3RlciB2YWx1ZXMgYXJlCmxvYWRlZCBiYWNrIHRv
IHRoZSBDUFUuCgpTaWduZWQtb2ZmLWJ5OiBTaW1vbiBLdWVuemVyIDxzaW1vbi5rdWVuemVyQG5l
Y2xhYi5ldT4KLS0tCiBwbGF0L2NvbW1vbi94ODYvc3lzY2FsbC5TIHwgMTExICsrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrCiBwbGF0L2t2bS9Db25maWcudWsgICAgICAgIHwg
ICAzICstCiBwbGF0L2t2bS9NYWtlZmlsZS51ayAgICAgIHwgICAzICsrCiBwbGF0L2t2bS94ODYv
c2V0dXAuYyAgICAgIHwgICA0ICsrCiA0IGZpbGVzIGNoYW5nZWQsIDExOSBpbnNlcnRpb25zKCsp
LCAyIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHBsYXQvY29tbW9uL3g4Ni9zeXNj
YWxsLlMKCmRpZmYgLS1naXQgYS9wbGF0L2NvbW1vbi94ODYvc3lzY2FsbC5TIGIvcGxhdC9jb21t
b24veDg2L3N5c2NhbGwuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMC4uYjM2
N2E1ZDcKLS0tIC9kZXYvbnVsbAorKysgYi9wbGF0L2NvbW1vbi94ODYvc3lzY2FsbC5TCkBAIC0w
LDAgKzEsMTExIEBACisvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlICov
CisvKgorICogQXV0aG9yczogU2ltb24gS3VlbnplciA8c2ltb24ua3VlbnplckBuZWNsYWIuZXU+
CisgKgorICogQ29weXJpZ2h0IChjKSAyMDE5LCBORUMgTGFib3JhdG9yaWVzIEV1cm9wZSBHbWJI
LCBORUMgQ29ycG9yYXRpb24uCisgKiAgICAgICAgICAgICAgICAgICAgIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgY29weXJp
Z2h0IGhvbGRlciBub3IgdGhlIG5hbWVzIG9mIGl0cworICogICAgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqICAg
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRQorICogQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRQorICogTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRQorICogUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKgorICogVEhJUyBIRUFERVIgTUFZIE5PVCBCRSBFWFRSQUNURUQgT1IgTU9ESUZJ
RUQgSU4gQU5ZIFdBWS4KKyAqLworCisjaW5jbHVkZSA8dWsvYXJjaC9sY3B1Lmg+CisKKyNkZWZp
bmUgRU5UUlkoWCkgLmdsb2JsIFggOyBYIDoKKworRU5UUlkoX3VrcGxhdF9zeXNjYWxsKQorCWNs
aQorCS8qCisJICogUHVzaCBhcmd1bWVudHMgaW4gdGhlIG9yZGVyIG9mICdzdHJ1Y3QgX19yZWdz
JyB0byB0aGUgc3RhY2suCisJICogV2UgYXJlIGdvaW5nIHRvIGhhbmRvdmVyIGEgcmVmZXJuY2Ug
dG8gdGhpcyBzdGFjayBhcmVhIGFzCisJICogYHN0cnVjdCBfX3JlZ3MgKmAgYXJndW1lbnQgdG8g
dGhlIHN5c3RlbSBjYWxsIGhhbmRsZXIuCisJICovCisJcHVzaHEgJDAJLyogZXhjZXB0aW9uIGZy
YW1lIGZpbGxlZCB3aXRoIHplcm9zICovCisJcHVzaHEgJDAJLyogKHJpcCwgY3MsIGVmbGFncywg
cnNwLCBzcykgICAgICAgICovCisJcHVzaHEgJDAJLyogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICovCisJcHVzaHEgJDAJLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICovCisJcHVzaHEgJDAJLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICov
CisJcHVzaHEgJXJheCAJLyogb3JpZ19yYXggKi8KKwlwdXNocSAlcmRpCisJcHVzaHEgJXJzaQor
CXB1c2hxICVyZHgKKwlwdXNocSAlcmN4CisJcHVzaHEgJXJheAorCXB1c2hxICVyOAorCXB1c2hx
ICVyOQorCXB1c2hxICVyMTAKKwlwdXNocSAlcjExCisJcHVzaHEgJXJieAorCXB1c2hxICVyYnAK
KwlwdXNocSAlcjEyCisJcHVzaHEgJXIxMworCXB1c2hxICVyMTQKKwlwdXNocSAlcjE1CisJLyog
cGFkZGluZyAqLworCXN1YnEgICQoX19SRUdTX1BBRF9TSVpFKSwgJXJzcAorCXN0aQorCisJLyoK
KwkgKiBIYW5kbGUgY2FsbAorCSAqIE5PVEU6IEhhbmRsZXIgZnVuY3Rpb24gaXMgZ29pbmcgdG8g
bW9kaWZ5IHNhdmVkIHJlZ2lzdGVycyBzdGF0ZQorCSAqIE5PVEU6IFN0YWNrIHBvaW50ZXIgYXMg
InN0cnVjdCBfX3JlZ3MgKiIgYXJndW1lbnQKKwkgKiAgICAgICAoY2FsbGluZyBjb252ZW50aW9u
OiAxc3QgYXJnIG9uICVyZGkpCisJICovCisJbW92cSAlcnNwLCAlcmRpCisJY2FsbCB1a3BsYXRf
c3lzY2FsbF9oYW5kbGVyCisKKwljbGkKKwkvKiBMb2FkIHRoZSB1cGRhdGVkIHN0YXRlIGJhY2sg
dG8gcmVnaXN0ZXJzICovCisJYWRkcSAkKF9fUkVHU19QQURfU0laRSksICVyc3AKKwlwb3BxICVy
MTUKKwlwb3BxICVyMTQKKwlwb3BxICVyMTMKKwlwb3BxICVyMTIKKwlwb3BxICVyYnAKKwlwb3Bx
ICVyYngKKwlwb3BxICVyMTEKKwlwb3BxICVyMTAKKwlwb3BxICVyOQorCXBvcHEgJXI4CisJcG9w
cSAlcmF4CisJcG9wcSAlcmN4CisJcG9wcSAlcmR4CisJcG9wcSAlcnNpCisJcG9wcSAlcmRpCisJ
Lyogb3JpZ19yYXggYW5kIGV4Y2VwdGlvbiBmcmFtZSAqLworCWFkZHEgJCg2ICogOCksICVyc3AK
KwlzdGkKKworCS8qCisJICogUmV0dXJuIGZyb20gc3lzdGVtIGNhbGwsIGluc3BpcmVkIGJ5IEhl
cm1pVHV4IFsxXQorCSAqIE5PVEU6IFdlIGNhbid0IHVzZSBzeXNyZXQgYmVjYXVzZSBpdCBjaGFu
Z2VzIHByb3RlY3Rpb24gbW9kZSBbMV0KKwkgKgorCSAqIFsxXSBQaWVycmUgZXQgYWwuLCAyMDE5
LCBBIGJpbmFyeS1jb21wYXRpYmxlIFVuaWtlcm5lbCwKKwkgKiAgICAgUHJvY2VlZGluZ3Mgb2Yg
dGhlIDE1dGggQUNNIFNJR1BMQU4vU0lHT1BTIEludGVybmF0aW9uYWwKKwkgKiAgICAgQ29uZmVy
ZW5jZSBvbiBWaXJ0dWFsIEV4ZWN1dGlvbiBFbnZpcm9ubWVudHMgKFZFRSAyMDE5KSkKKwkgKi8K
KwlqbXAgKiVyY3gKZGlmZiAtLWdpdCBhL3BsYXQva3ZtL0NvbmZpZy51ayBiL3BsYXQva3ZtL0Nv
bmZpZy51awppbmRleCAyYmNlNDNlYS4uNDMyY2RkOTUgMTAwNjQ0Ci0tLSBhL3BsYXQva3ZtL0Nv
bmZpZy51aworKysgYi9wbGF0L2t2bS9Db25maWcudWsKQEAgLTEsOCArMSw3IEBACiBtZW51Y29u
ZmlnIFBMQVRfS1ZNCiAgICAgICAgYm9vbCAiS1ZNIGd1ZXN0IgogICAgICAgIGRlZmF1bHQgbgot
ICAgICAgIGRlcGVuZHMgb24gKEFSQ0hfWDg2XzY0IHx8IEFSQ0hfQVJNXzY0KQotICAgICAgIGRl
cGVuZHMgb24gIUhBVkVfU1lTQ0FMTAorICAgICAgIGRlcGVuZHMgb24gKEFSQ0hfWDg2XzY0IHx8
IChBUkNIX0FSTV82NCAmJiAhSEFWRV9TWVNDQUxMKSkKICAgICAgICBzZWxlY3QgTElCVUtERUJV
RwogICAgICAgIHNlbGVjdCBMSUJVS0FMTE9DCiAgICAgICAgc2VsZWN0IExJQlVLVElNRUNPTlYK
ZGlmZiAtLWdpdCBhL3BsYXQva3ZtL01ha2VmaWxlLnVrIGIvcGxhdC9rdm0vTWFrZWZpbGUudWsK
aW5kZXggYzkwMGQ0NTYuLjYzZWQ5OTUwIDEwMDY0NAotLS0gYS9wbGF0L2t2bS9NYWtlZmlsZS51
aworKysgYi9wbGF0L2t2bS9NYWtlZmlsZS51awpAQCAtNTEsNiArNTEsOSBAQCBMSUJLVk1QTEFU
X1NSQ1MtJChDT05GSUdfQVJDSF9YODZfNjQpICs9ICQoVUtfUExBVF9DT01NT05fQkFTRSkveDg2
L3RocmVhZF9zdGFydAogTElCS1ZNUExBVF9TUkNTLSQoQ09ORklHX0FSQ0hfWDg2XzY0KSArPSAk
KFVLX1BMQVRfQ09NTU9OX0JBU0UpL3RocmVhZC5jfGNvbW1vbgogTElCS1ZNUExBVF9TUkNTLSQo
Q09ORklHX0FSQ0hfWDg2XzY0KSArPSAkKFVLX1BMQVRfQ09NTU9OX0JBU0UpL3N3X2N0eC5jfGNv
bW1vbgogZW5kaWYKK2lmZXEgKCQoQ09ORklHX0hBVkVfU1lTQ0FMTCkseSkKK0xJQktWTVBMQVRf
U1JDUy0kKENPTkZJR19BUkNIX1g4Nl82NCkgKz0gJChVS19QTEFUX0NPTU1PTl9CQVNFKS94ODYv
c3lzY2FsbC5TfGNvbW1vbgorZW5kaWYKIExJQktWTVBMQVRfU1JDUy0kKENPTkZJR19BUkNIX1g4
Nl82NCkgKz0gJChMSUJLVk1QTEFUX0JBU0UpL3g4Ni9lbnRyeTY0LlMKIExJQktWTVBMQVRfU1JD
Uy0kKENPTkZJR19BUkNIX1g4Nl82NCkgKz0gJChMSUJLVk1QTEFUX0JBU0UpL3g4Ni90cmFwcy5j
CiBMSUJLVk1QTEFUX1NSQ1MtJChDT05GSUdfQVJDSF9YODZfNjQpICs9ICQoTElCS1ZNUExBVF9C
QVNFKS94ODYvY3B1X3ZlY3RvcnNfeDg2XzY0LlMKZGlmZiAtLWdpdCBhL3BsYXQva3ZtL3g4Ni9z
ZXR1cC5jIGIvcGxhdC9rdm0veDg2L3NldHVwLmMKaW5kZXggNDRlYjdhZGMuLjljN2E5M2E4IDEw
MDY0NAotLS0gYS9wbGF0L2t2bS94ODYvc2V0dXAuYworKysgYi9wbGF0L2t2bS94ODYvc2V0dXAu
YwpAQCAtMjg3LDYgKzI4NywxMCBAQCB2b2lkIF9saWJrdm1wbGF0X2VudHJ5KHZvaWQgKmFyZykK
IAl1a19wcl9pbmZvKCIgICAgIHN0YWNrIHRvcDogJXBcbiIsCiAJCSAgICh2b2lkICopIF9saWJr
dm1wbGF0X2NmZy5ic3RhY2suc3RhcnQpOwogCisjaWZkZWYgQ09ORklHX0hBVkVfU1lTQ0FMTAor
CV9pbml0X3N5c2NhbGwoKTsKKyNlbmRpZiAvKiBDT05GSUdfSEFWRV9TWVNDQUxMICovCisKIAkv
KgogCSAqIFN3aXRjaCBhd2F5IGZyb20gdGhlIGJvb3RzdHJhcCBzdGFjayBhcyBlYXJseSBhcyBw
b3NzaWJsZS4KIAkgKi8KLS0gCjIuMjAuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxA
bGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFu
L2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Thu Dec 12 13:45:53 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 12 Dec 2019 13:45:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ifOmu-00069l-V2; Thu, 12 Dec 2019 13:45:52 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=1V8f=2C=uliege.be=gaulthier.gain@srs-us1.protection.inumbo.net>)
 id 1ifOmt-00069g-Az
 for minios-devel@lists.xen.org; Thu, 12 Dec 2019 13:45:51 +0000
X-Inumbo-ID: b4e9ac44-1ce5-11ea-8d5f-12813bfff9fa
Received: from serv108.segi.ulg.ac.be (unknown [139.165.32.111])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id b4e9ac44-1ce5-11ea-8d5f-12813bfff9fa;
 Thu, 12 Dec 2019 13:45:50 +0000 (UTC)
Received: from mbx11-zne.ulg.ac.be (serv469.segi.ulg.ac.be [139.165.32.198])
 by serv108.segi.ulg.ac.be (Postfix) with ESMTP id 750A42012376;
 Thu, 12 Dec 2019 14:45:49 +0100 (CET)
DKIM-Filter: OpenDKIM Filter v2.11.0 serv108.segi.ulg.ac.be 750A42012376
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=uliege.be;
 s=ulg20190529; t=1576158349;
 bh=wX9sQa1rEcSdYaTi1IzPyE8bXgF4YLdC3ncKgj1pivE=;
 h=Date:From:To:Cc:In-Reply-To:References:Subject:From;
 b=r1MFjn4Ft/wLN0IMx4T9hbp71kqqOe8ubeMCbMt6wjQNB2nDNpBpeY9FFrEuC5Qve
 h18l9QXUFmX8QzHmvcMs8I0TkE4IkFB3qiHz/CcCIO9xP9GlHhfz1VjIgDWTvylLR6
 FERUXz1+0CpGrmvg4GACjUcvxsFLujb5mHxEi8aAKZk3Z1qBDUlLcShwgvI+EnKQ2S
 cplnqGlOpfKfHlPaeJ1dpHLqhex1keKmUgc4CvNMoPfQRruBt0MZmm0uiV7roZeUvm
 DoQ1HRsnkr6KVMvwbk9Ez/UwnWcJaZ1IqjwPETN9CPaFLrNziWpndEygV9MMfKAn/D
 fJDty+Wc9kkGA==
Received: from localhost (localhost.localdomain [127.0.0.1])
 by mbx11-zne.ulg.ac.be (Postfix) with ESMTP id 6985D6862CE;
 Thu, 12 Dec 2019 14:45:49 +0100 (CET)
Received: from mbx11-zne.ulg.ac.be ([127.0.0.1])
 by localhost (mbx11-zne.ulg.ac.be [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id vswjMU72TLQ0; Thu, 12 Dec 2019 14:45:49 +0100 (CET)
Received: from mbx11-zne.ulg.ac.be (mbx11-zne.ulg.ac.be [139.165.32.198])
 by mbx11-zne.ulg.ac.be (Postfix) with ESMTP id 48DA76860CE;
 Thu, 12 Dec 2019 14:45:49 +0100 (CET)
Date: Thu, 12 Dec 2019 14:45:49 +0100 (CET)
From: gaulthier.gain@uliege.be
To: Simon Kuenzer <simon.kuenzer@neclab.eu>
Message-ID: <947247845.114631128.1576158349238.JavaMail.zimbra@uliege.be>
In-Reply-To: <20191205140222.4262-1-simon.kuenzer@neclab.eu>
References: <20191205140222.4262-1-simon.kuenzer@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.22.61.226]
X-Mailer: Zimbra 8.8.11_GA_3780 (ZimbraWebClient - SAF13 (Mac)/8.8.11_GA_3787)
Thread-Topic: Support for binary system calls (x86_64, KVM for now)
Thread-Index: kv18i66fnozhVVcoUDd6tDfexjPf8Q==
Subject: Re: [Minios-devel] [UNIKRAFT PATCH 0/6] Support for binary system
 calls (x86_64, KVM for now)
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>, minios-devel@lists.xen.org
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgU2ltb24sIHRoYW5rcyBmb3IgdGhpcyBwYXRjaCBzZXJpZXMuCgotLS0tLSBNYWlsIG9yaWdp
bmFsIC0tLS0tCkRlOiAiU2ltb24gS3VlbnplciIgPHNpbW9uLmt1ZW56ZXJAbmVjbGFiLmV1PgrD
gDogbWluaW9zLWRldmVsQGxpc3RzLnhlbi5vcmcKQ2M6ICJHYXVsdGhpZXIgR2FpbiIgPGdhdWx0
aGllci5nYWluQHVsaWVnZS5iZT4sICJGZWxpcGUgSHVpY2kiIDxmZWxpcGUuaHVpY2lAbmVjbGFi
LmV1PiwgIlNpbW9uIEt1ZW56ZXIiIDxzaW1vbi5rdWVuemVyQG5lY2xhYi5ldT4KRW52b3nDqTog
SmV1ZGkgNSBEw6ljZW1icmUgMjAxOSAxNTowMjoxNgpPYmpldDogW1VOSUtSQUZUIFBBVENIIDAv
Nl0gU3VwcG9ydCBmb3IgYmluYXJ5IHN5c3RlbSBjYWxscyAoeDg2XzY0LCBLVk0gZm9yIG5vdykK
ClRoaXMgc2VyaWVzIHByZXBhcmVzIFVuaWtyYWZ0IHRvIHN1cHBvcnQgYmluYXJ5IHN5c3RlbSBj
YWxscyAoYHN5c2NhbGxgCmluc3RydWN0aW9uKS4gVGhpcyBpcyBpbnRyb2R1Y2VkIHNvIHRoYXQg
d2UgY2FuIGltcGxlbWVudCBiaW5hcnkKY29tcGF0aWJpbGl0eSB3aXRoIFVuaWtyYWZ0IG9uIHRv
cC4gVGhlIHBhdGNoZXMgaW50cm9kdWNlIGEKU3lzY2FsbC1BQkktaW5kZXBlbmRlbnQgQVBJIGZv
ciBsaWJyYXJpZXMgdG8gcmVnaXN0ZXIgc3lzdGVtIGNhbGwgaGFuZGxlcnMuClN1cHBvcnQgZm9y
IHRyYXBwaW5nIGBzeXNjYWxsYCBpbnN0cnVjdGlvbnMgaXMgaW1wbGVtZW50ZWQgZmlyc3Qgb24g
S1ZNCnBsYXRmb3JtLiBPdGhlciBwbGF0Zm9ybXMgbWF5IGZvbGxvdy4uLgoKU2ltb24gS3Vlbnpl
ciAoNik6CiAgYXJjaC94ODY6IE1vdmUgYHN0cnVjdCBfX3JlZ3NgIGRlZmluaXRpb24gdG8gPHVr
L2FyY2gvbGNwdS5oPgogIHBsYXQvY29tbW9uOiBQcm92aWRlIGNwdWlkIG1hY3JvIGZvciB4ODYK
ICBwbGF0L2NvbW1vbjogUHJvdmlkZSByZG1zciBhbWQgcmRtc3JsIGZvciB4ODYKICBwbGF0Lyo6
IEFkZCBiaW5hcnkgc3lzdGVtIGNhbGwgZmVhdHVyZSBhbmQgQVBJCiAgcGxhdC9jb21tb246IElu
aXRpYWxpemUgYHN5c2NhbGxgL2BzeXNyZXRgIGZvciB4ODYKICBwbGF0L2t2bTogU3lzdGVtIGNh
bGwgdHJhcCBoYW5kbGVyICh4ODZfNjQpCgogYXJjaC94ODYveDg2XzY0L2luY2x1ZGUvdWsvYXNt
L2xjcHUuaCAgICAgICAgIHwgIDY0ICsrKysrKysrKwogaW5jbHVkZS91ay9hcmNoL2xjcHUuaCAg
ICAgICAgICAgICAgICAgICAgICAgIHwgICA0ICsKIC4uLi94ODYvcmVncy5oID0+IGluY2x1ZGUv
dWsvcGxhdC9zeXNjYWxsLmggICB8IDEyMSArKysrKysrLS0tLS0tLS0tLS0KIGxpYi9Db25maWcu
dWsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgNCArCiBwbGF0L2NvbW1vbi9p
bmNsdWRlL3VrL3BsYXQvY29tbW9uL3RyYWNlLmggICAgfCAgIDYgKy0KIHBsYXQvY29tbW9uL2lu
Y2x1ZGUveDg2L2NwdS5oICAgICAgICAgICAgICAgICB8ICA5NyArKysrKysrKysrKysrLQogcGxh
dC9jb21tb24vaW5jbHVkZS94ODYvY3B1X2RlZnMuaCAgICAgICAgICAgIHwgIDIyICsrKysKIHBs
YXQvY29tbW9uL2luY2x1ZGUveDg2L3RyYXBzLmggICAgICAgICAgICAgICB8ICAgMiArLQogcGxh
dC9jb21tb24veDg2L3N5c2NhbGwuUyAgICAgICAgICAgICAgICAgICAgIHwgMTExICsrKysrKysr
KysrKysrKysKIHBsYXQva3ZtL0NvbmZpZy51ayAgICAgICAgICAgICAgICAgICAgICAgICAgICB8
ICAgMiArLQogcGxhdC9rdm0vTWFrZWZpbGUudWsgICAgICAgICAgICAgICAgICAgICAgICAgIHwg
ICAzICsKIHBsYXQva3ZtL3g4Ni9jcHVfdmVjdG9yc194ODZfNjQuUyAgICAgICAgICAgICB8ICAx
MSArLQogcGxhdC9rdm0veDg2L3NldHVwLmMgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA0
ICsKIHBsYXQvbGludXh1L0NvbmZpZy51ayAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMSAr
CiBwbGF0L3hlbi9Db25maWcudWsgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEgKwog
cGxhdC94ZW4veDg2L2VudHJ5NjQuUyAgICAgICAgICAgICAgICAgICAgICAgIHwgIDg0ICsrKysr
Ky0tLS0tLQogMTYgZmlsZXMgY2hhbmdlZCwgNDAyIGluc2VydGlvbnMoKyksIDEzNSBkZWxldGlv
bnMoLSkKIHJlbmFtZSBwbGF0L2NvbW1vbi9pbmNsdWRlL3g4Ni9yZWdzLmggPT4gaW5jbHVkZS91
ay9wbGF0L3N5c2NhbGwuaCAoMTklKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHBsYXQvY29tbW9uL3g4
Ni9zeXNjYWxsLlMKCi0tIAoyLjIwLjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxp
c3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9s
aXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Thu Dec 12 15:08:23 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 12 Dec 2019 15:08:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ifQ4i-0005ED-I1; Thu, 12 Dec 2019 15:08:20 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=Gxg0=2C=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1ifQ4g-0005E8-Lk
 for minios-devel@lists.xen.org; Thu, 12 Dec 2019 15:08:18 +0000
X-Inumbo-ID: 3923a0f4-1cf1-11ea-a1e1-bc764e2007e4
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id 3923a0f4-1cf1-11ea-a1e1-bc764e2007e4;
 Thu, 12 Dec 2019 15:08:16 +0000 (UTC)
IronPort-SDR: sphm7EW7S8+fpyyrwVomIpigAhPv8r+2o5rziZ/ssschnWZbWalkpYyobI3cEBhD3RmS9hjWcX
 p0JuwDeTSWFw==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 12 Dec 2019 17:08:14 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id B42F91A60241;
 Thu, 12 Dec 2019 17:08:14 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id iFFokbI1HPwU; Thu, 12 Dec 2019 17:08:14 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 98DC81A60250;
 Thu, 12 Dec 2019 17:08:14 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id MDenjPM-eB9v; Thu, 12 Dec 2019 17:08:14 +0200 (EET)
Received: from [192.168.100.190] (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 67E8F1A60241;
 Thu, 12 Dec 2019 17:08:14 +0200 (EET)
To: Stefan Teodorescu <stefanl.teodorescu@gmail.com>
References: <20191208095507.27384-1-costin.lupu@cs.pub.ro>
 <20191208095507.27384-6-costin.lupu@cs.pub.ro>
 <CAEiTdV6JeXX1z7HKfzUDMnKU1SdD9ipizfsqu3zTPPnkN4oE3Q@mail.gmail.com>
From: Costin Lupu <costin.lupu@cs.pub.ro>
Message-ID: <d683f500-5f4c-d068-9c95-12aaa2208868@cs.pub.ro>
Date: Thu, 12 Dec 2019 17:08:13 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.2.2
MIME-Version: 1.0
In-Reply-To: <CAEiTdV6JeXX1z7HKfzUDMnKU1SdD9ipizfsqu3zTPPnkN4oE3Q@mail.gmail.com>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT/RUBY PATCH 05/16] core: Build core
 functionality
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Andrei Gogonea <andrei.gogonea09@gmail.com>, minios-devel@lists.xen.org
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

T24gMTIvMTEvMTkgNTozNiBQTSwgU3RlZmFuIFRlb2RvcmVzY3Ugd3JvdGU6Cj4gT25jZSBpdCdz
IHVwc3RyZWFtZWQsIHdlIHNob3VsZCBhbHNvIGF1dG9tYXRpY2FsbHkgc2VsZWN0IHRoZQo+IC9k
ZXYvbnVsbCBmbGFnIGZvciB0aGUgY29uZmlndXJhdGlvbiwgc2luY2UgaXQgaXMgcmVxdWlyZWQg
YnkgdGhlIHVzZXIKPiBpbnRlcmFjdGlvbiBtb2R1bGUuIEknbSBub3Qgc3VyZSB3aGVyZSBleGFj
dGx5IHdlIHNob3VsZCBhZGQgdGhpcywgYnV0Cj4gaXQgd291bGQgYXZvaWQgYSBydW50aW1lIGVy
cm9yLgoKU2luY2UgL2Rldi9udWxsIGRlcGVuZHMgb24gdGhlIGZpbGVzeXN0ZW0gYmVpbmcgbW91
bnRlZCwgSSdsbCBhZGQgdGhpcwpkZXBlbmRlbmN5IHRvIHRoZSBtYWluKCkgY29uZmlndXJhdGlv
biBpbiBwYXRjaCAxNS4gSXQgd29uJ3QgaGF2ZSBhbnkKZWZmZWN0IGlmIHdlIGFkZCBpdCBhcyBh
IGRlcGVuZGVuY3kgb2YgdGhlIGxpYnJhcnkgYmVjYXVzZSBtb3VudGluZyB0aGUKZmlsZXN5c3Rl
bSBpcyB0aGUgam9iIG9mIHNvbWUgZW50aXR5IG91dHNpZGUgdGhlIGxpYnJhcnkuIEkndmUgYWxz
bwphZGRlZCBhdXRvbW91bnRpbmcgZGVwZW5kZW5jeSBmb3IgdGhlIG1haW4oKSBpbiB0aGlzIHNl
cmllcywgc28gdGhhdAp3b3VsZCBiZSBhbm90aGVyIHJlYXNvbi4KCj4gCj4gQWxzbywgb24gbXkg
Z2NjIHZlcnNpb24gKDkuMi4wKSwgSSBlbmNvdW50ZXIgc29tZSB3YXJuaW5ncyB3aGVuCj4gYnVp
bGRpbmcgUnVieSwgd2hpY2ggY291bGQgYmUgc3VwcHJlc3NlZCB3aXRoIHRoZSBmbGFnCj4gLVdu
by1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIuIEkgd2lsbCBzZW5kIGEgcGF0Y2ggdG8gZml4IHRo
ZXNlLCBvbmNlCj4gdGhpcyBpcyB1cHN0cmVhbWVkLgoKUmlnaHQsIHRoYW5rcyEKCkNoZWVycywK
Q29zdGluCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpN
aW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9y
ZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRl
dmVs

From minios-devel-bounces@lists.xenproject.org Thu Dec 12 15:08:46 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 12 Dec 2019 15:08:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ifQ58-0005FE-L7; Thu, 12 Dec 2019 15:08:46 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=Gxg0=2C=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1ifQ58-0005F5-2T
 for minios-devel@lists.xen.org; Thu, 12 Dec 2019 15:08:46 +0000
X-Inumbo-ID: 4a7e67b2-1cf1-11ea-a914-bc764e2007e4
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id 4a7e67b2-1cf1-11ea-a914-bc764e2007e4;
 Thu, 12 Dec 2019 15:08:45 +0000 (UTC)
IronPort-SDR: JQvrtN7NbtXcOSEYaJvkjJIe3RJ/AqgTQPeFrgS3TwWHKqBYZ1N8gWAwozfd8ERNNNqr1n+sqv
 KM6541WkIVcA==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 12 Dec 2019 17:08:44 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 593E01A60241;
 Thu, 12 Dec 2019 17:08:45 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id 1sNeI3NKYBMw; Thu, 12 Dec 2019 17:08:45 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 3E8E31A60250;
 Thu, 12 Dec 2019 17:08:45 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id 2jxNnCSWo4LW; Thu, 12 Dec 2019 17:08:45 +0200 (EET)
Received: from [192.168.100.190] (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 08C431A60241;
 Thu, 12 Dec 2019 17:08:45 +0200 (EET)
To: Stefan Teodorescu <stefanl.teodorescu@gmail.com>
References: <20191208095507.27384-1-costin.lupu@cs.pub.ro>
 <20191208095507.27384-7-costin.lupu@cs.pub.ro>
 <CAEiTdV72mP8-vszDWTj3QJmfrooFXLkjbunBHYeJTxkvktUyJA@mail.gmail.com>
From: Costin Lupu <costin.lupu@cs.pub.ro>
Message-ID: <bf0f42cb-8cd3-48c3-87ea-43fb949a109b@cs.pub.ro>
Date: Thu, 12 Dec 2019 17:08:44 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.2.2
MIME-Version: 1.0
In-Reply-To: <CAEiTdV72mP8-vszDWTj3QJmfrooFXLkjbunBHYeJTxkvktUyJA@mail.gmail.com>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT/RUBY PATCH 06/16] core: Add thread
 related definitions
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: minios-devel@lists.xen.org
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

T24gMTIvMTEvMTkgNDo1NiBQTSwgU3RlZmFuIFRlb2RvcmVzY3Ugd3JvdGU6Cj4gTm90ZTogdGhl
IHJ1YnlfZmlsbF90aHJlYWRfaWRfc3RyaW5nKCkgZnVuY3Rpb24gaXMgY29waWVkIGhlcmUgYmVj
YXVzZQo+IG9mIGEgYnVnIGluIHRoZSBSdWJ5IGltcGxlbWVudGF0aW9uLCB3aGljaCBvbmx5IGRl
ZmluZXMgaXQgaWYKPiBUSFJFQURfREVCVUcgaXMgZW5hYmxlZC4gV2hlbiB0aGlzIGJ1ZyBpcyBm
aXhlZCBpbiBSdWJ5LCB0aGlzIGlzIG5vCj4gbG9uZyBuZWNlc3NhcnkuCgpJJ2xsIGFkZCB0aGlz
IG5vdGUgdG8gdGhlIGNvbW1pdCBtZXNzYWdlLgoKQ2hlZXJzLApDb3N0aW4KCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5n
IGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVu
cHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Thu Dec 12 15:09:20 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 12 Dec 2019 15:09:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ifQ5g-0005Gs-Nv; Thu, 12 Dec 2019 15:09:20 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=OWuL=2C=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1ifQ5g-0005Gn-5Z
 for minios-devel@lists.xen.org; Thu, 12 Dec 2019 15:09:20 +0000
X-Inumbo-ID: 5db5d48c-1cf1-11ea-8d84-12813bfff9fa
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 5db5d48c-1cf1-11ea-8d84-12813bfff9fa;
 Thu, 12 Dec 2019 15:09:18 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 13F33F2014;
 Thu, 12 Dec 2019 16:09:17 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-b.office.hd)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id FANDoneqWUcs; Thu, 12 Dec 2019 16:09:16 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from puck.office.hd (puck.office.hd [192.168.24.91])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id DD5D0F2012;
 Thu, 12 Dec 2019 16:09:12 +0100 (CET)
Received: from localhost (192.168.24.96) by puck.office.hd (192.168.24.91)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 12 Dec
 2019 16:09:09 +0100
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Thu, 12 Dec 2019 16:09:04 +0100
Message-ID: <20191212150906.8358-2-simon.kuenzer@neclab.eu>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <20191212150906.8358-1-simon.kuenzer@neclab.eu>
References: <20191212150906.8358-1-simon.kuenzer@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [192.168.24.96]
X-ClientProxiedBy: puck.office.hd (192.168.24.91) To puck.office.hd
 (192.168.24.91)
Subject: [Minios-devel] [UNIKRAFT PATCH 1/3] lib/uksysinfo: Rename internal
 name to libuksysinfo
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>,
 Gaulthier Gain <gaulthier.gain@uliege.be>,
 Simon Kuenzer <simon.kuenzer@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

UmVnaXN0ZXJzIHRoZSBsaWJyYXJ5IHdpdGggYGxpYnVrc3lzaW5mb2AgdG8gdGhlIGJ1aWxkLiBU
aGUKcHJldmlvdXMgbmFtZSBgdWtzeXNpbmZvYCBkaWQgbm90IGZvbGxvdyBvdXIgbmFtaW5nIGNv
bnZlbnRpb24uCgpTaWduZWQtb2ZmLWJ5OiBTaW1vbiBLdWVuemVyIDxzaW1vbi5rdWVuemVyQG5l
Y2xhYi5ldT4KLS0tCiBsaWIvdWtzeXNpbmZvL0NvbmZpZy51ayAgIHwgMyArKy0KIGxpYi91a3N5
c2luZm8vTWFrZWZpbGUudWsgfCA4ICsrKystLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDYgaW5zZXJ0
aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWIvdWtzeXNpbmZvL0NvbmZp
Zy51ayBiL2xpYi91a3N5c2luZm8vQ29uZmlnLnVrCmluZGV4IDAzZDYwNzM5Li5kMDQ2NGNmZCAx
MDA2NDQKLS0tIGEvbGliL3Vrc3lzaW5mby9Db25maWcudWsKKysrIGIvbGliL3Vrc3lzaW5mby9D
b25maWcudWsKQEAgLTEsMyArMSw0IEBACi1tZW51Y29uZmlnIFVLU1lTSU5GTworbWVudWNvbmZp
ZyBMSUJVS1NZU0lORk8KIAlib29sICJ1a3N5c2luZm86IGluZm8gYWJvdXQgc3lzdGVtIHBhcmFt
ZXRlcnMiCisJc2VsZWN0IE5PTElCQyBpZiAhSEFWRV9MSUJDCiAJZGVmYXVsdCBuCmRpZmYgLS1n
aXQgYS9saWIvdWtzeXNpbmZvL01ha2VmaWxlLnVrIGIvbGliL3Vrc3lzaW5mby9NYWtlZmlsZS51
awppbmRleCAyOGU5OWZiNS4uMjJhYzI4ZTcgMTAwNjQ0Ci0tLSBhL2xpYi91a3N5c2luZm8vTWFr
ZWZpbGUudWsKKysrIGIvbGliL3Vrc3lzaW5mby9NYWtlZmlsZS51awpAQCAtMSw2ICsxLDYgQEAK
LSQoZXZhbCAkKGNhbGwgYWRkbGliX3MsdWtzeXNpbmZvLCQoQ09ORklHX1VLU1lTSU5GTykpKQor
JChldmFsICQoY2FsbCBhZGRsaWJfcyxsaWJ1a3N5c2luZm8sJChDT05GSUdfTElCVUtTWVNJTkZP
KSkpCiAKLUNJTkNMVURFUy0kKENPTkZJR19VS1NZU0lORk8pICAgICs9IC1JJChVS1NZU0lORk9f
QkFTRSkvaW5jbHVkZQotQ1hYSU5DTFVERVMtJChDT05GSUdfVUtTWVNJTkZPKSAgKz0gLUkkKFVL
U1lTSU5GT19CQVNFKS9pbmNsdWRlCitDSU5DTFVERVMtJChDT05GSUdfTElCVUtTWVNJTkZPKSAg
ICArPSAtSSQoTElCVUtTWVNJTkZPX0JBU0UpL2luY2x1ZGUKK0NYWElOQ0xVREVTLSQoQ09ORklH
X0xJQlVLU1lTSU5GTykgICs9IC1JJChMSUJVS1NZU0lORk9fQkFTRSkvaW5jbHVkZQogCi1VS1NZ
U0lORk9fU1JDUy0kKENPTkZJR19VS1NZU0lORk8pICs9ICQoVUtTWVNJTkZPX0JBU0UpL3N5c2lu
Zm8uYworTElCVUtTWVNJTkZPX1NSQ1MtJChDT05GSUdfTElCVUtTWVNJTkZPKSArPSAkKExJQlVL
U1lTSU5GT19CQVNFKS9zeXNpbmZvLmMKLS0gCjIuMjAuMQoKCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWlu
aW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5v
cmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Thu Dec 12 15:09:25 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 12 Dec 2019 15:09:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ifQ5k-0005HP-PW; Thu, 12 Dec 2019 15:09:24 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=OWuL=2C=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1ifQ5j-0005HK-Ip
 for minios-devel@lists.xen.org; Thu, 12 Dec 2019 15:09:23 +0000
X-Inumbo-ID: 5b5d9aa8-1cf1-11ea-88e7-bc764e2007e4
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 5b5d9aa8-1cf1-11ea-88e7-bc764e2007e4;
 Thu, 12 Dec 2019 15:09:14 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 10D10F2013;
 Thu, 12 Dec 2019 16:09:13 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-b.office.hd)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id wXeOgQ3bkdnH; Thu, 12 Dec 2019 16:09:12 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from puck.office.hd (puck.office.hd [192.168.24.91])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id CF9C0F2012;
 Thu, 12 Dec 2019 16:09:08 +0100 (CET)
Received: from localhost (192.168.24.96) by puck.office.hd (192.168.24.91)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 12 Dec
 2019 16:09:08 +0100
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Thu, 12 Dec 2019 16:09:03 +0100
Message-ID: <20191212150906.8358-1-simon.kuenzer@neclab.eu>
X-Mailer: git-send-email 2.20.1
MIME-Version: 1.0
X-Originating-IP: [192.168.24.96]
X-ClientProxiedBy: titania.office.hd (192.168.24.89) To puck.office.hd
 (192.168.24.91)
Subject: [Minios-devel] [UNIKRAFT PATCH 0/3] lib/uksysinfo: Register `uname`
 to syscall_shim
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>,
 Gaulthier Gain <gaulthier.gain@uliege.be>,
 Simon Kuenzer <simon.kuenzer@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

UmVnaXN0ZXJzIHRoZSBgdW5hbWVgIHN5c3RlbSBjYWxsIHRvIHN5c2NhbGxfc2hpbS4gSW4gb3Jk
ZXIgdG8gYmUKY29tcGF0aWJsZSBmb3IgdGhlIGNhc2Ugd2hlbiBnbGliYyBpcyBydW5uaW5nIG9u
IHRvcCBvZiBVbmlrcmFmdAphcyBhbiB1bm1vZGlmaWVkIExpbnV4IEVMRiBhcHBsaWNhdGlvbiwg
d2UgcmV0dXJuIGEgbmV3ZXIga2VybmVsCnZlcnNpb24gbnVtYmVyIGFzIHdlIGFjdHVhbCBoYXZl
IGFzIFVuaWtyYWZ0IHZlcnNpb24gbnVtYmVyLgpUaGlzIGlzIGRvbmUgaW4gb3JkZXIgdG8gbGV0
IGdsaWJjIGNvbnRpbnVlIGl0cyBpbml0aWFsaXphdGlvbi4KClRoaXMgcGF0Y2ggc2VyaWVzIGRl
cGVuZHMgb24gdGhlIHNlcmllczoKICJsaWIvc3lzY2FsbF9zaGltOiBIYW5kbGluZyBiaW5hcnkg
c3lzdGVtIGNhbGxzIgogKGh0dHBzOi8vcGF0Y2h3b3JrLnVuaWtyYWZ0Lm9yZy9wcm9qZWN0L3Vu
aWtyYWZ0L2xpc3QvP3Nlcmllcz0xMDk1KQoKU2ltb24gS3VlbnplciAoMyk6CiAgbGliL3Vrc3lz
aW5mbzogUmVuYW1lIGludGVybmFsIG5hbWUgdG8gbGlidWtzeXNpbmZvCiAgbGliL3Vrc3lzaW5m
bzogUmVnaXN0ZXIgYHVuYW1lYCB0byBzeXNjYWxsX3NoaW0KICBsaWIvdWtzeXNpbmZvOiBnbGli
YyB2ZXJzaW9uIHdvcmthcm91bmQgZm9yIGB1bmFtZWAgKHByZXBlbmQgNS0pCgogbGliL3Vrc3lz
aW5mby9Db25maWcudWsgICAgIHwgIDMgKystCiBsaWIvdWtzeXNpbmZvL01ha2VmaWxlLnVrICAg
fCAxMCArKysrKystLS0tCiBsaWIvdWtzeXNpbmZvL2V4cG9ydHN5bXMudWsgfCAgMiArKwogbGli
L3Vrc3lzaW5mby9zeXNpbmZvLmMgICAgIHwgMTQgKysrKysrKystLS0tLS0KIDQgZmlsZXMgY2hh
bmdlZCwgMTggaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCgotLSAKMi4yMC4xCgoKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVs
IG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9s
aXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Thu Dec 12 15:09:25 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 12 Dec 2019 15:09:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ifQ5l-0005Hv-Qw; Thu, 12 Dec 2019 15:09:25 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=OWuL=2C=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1ifQ5l-0005HW-2t
 for minios-devel@lists.xen.org; Thu, 12 Dec 2019 15:09:25 +0000
X-Inumbo-ID: 6036deea-1cf1-11ea-8d84-12813bfff9fa
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 6036deea-1cf1-11ea-8d84-12813bfff9fa;
 Thu, 12 Dec 2019 15:09:22 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 39B41F2014;
 Thu, 12 Dec 2019 16:09:21 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-b.office.hd)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id VoSD3js7Wfqu; Thu, 12 Dec 2019 16:09:21 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from puck.office.hd (puck.office.hd [192.168.24.91])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id ECE7CF2012;
 Thu, 12 Dec 2019 16:09:16 +0100 (CET)
Received: from localhost (192.168.24.96) by puck.office.hd (192.168.24.91)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 12 Dec
 2019 16:09:10 +0100
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Thu, 12 Dec 2019 16:09:05 +0100
Message-ID: <20191212150906.8358-3-simon.kuenzer@neclab.eu>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <20191212150906.8358-1-simon.kuenzer@neclab.eu>
References: <20191212150906.8358-1-simon.kuenzer@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [192.168.24.96]
X-ClientProxiedBy: oberon.office.hd (192.168.24.90) To puck.office.hd
 (192.168.24.91)
Subject: [Minios-devel] [UNIKRAFT PATCH 2/3] lib/uksysinfo: Register `uname`
 to syscall_shim
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>,
 Gaulthier Gain <gaulthier.gain@uliege.be>,
 Simon Kuenzer <simon.kuenzer@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

UmVnaXN0ZXJzIGB1bmFtZWAgc3lzdGVtIGNhbGwgdG8gc3lzY2FsbF9zaGltIGxpYnJhcnkuIFRo
ZQppbXBsZW1lbnRhdGlvbiBpcyBjaGFuZ2VkIHRvIGJlIGEgcmF3IHN5c3RlbSBjYWxsLgoKU2ln
bmVkLW9mZi1ieTogU2ltb24gS3VlbnplciA8c2ltb24ua3VlbnplckBuZWNsYWIuZXU+Ci0tLQog
bGliL3Vrc3lzaW5mby9NYWtlZmlsZS51ayAgIHwgMiArKwogbGliL3Vrc3lzaW5mby9leHBvcnRz
eW1zLnVrIHwgMiArKwogbGliL3Vrc3lzaW5mby9zeXNpbmZvLmMgICAgIHwgOSArKysrLS0tLS0K
IDMgZmlsZXMgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAt
LWdpdCBhL2xpYi91a3N5c2luZm8vTWFrZWZpbGUudWsgYi9saWIvdWtzeXNpbmZvL01ha2VmaWxl
LnVrCmluZGV4IDIyYWMyOGU3Li4xY2IxMjY4MSAxMDA2NDQKLS0tIGEvbGliL3Vrc3lzaW5mby9N
YWtlZmlsZS51aworKysgYi9saWIvdWtzeXNpbmZvL01ha2VmaWxlLnVrCkBAIC00LDMgKzQsNSBA
QCBDSU5DTFVERVMtJChDT05GSUdfTElCVUtTWVNJTkZPKSAgICArPSAtSSQoTElCVUtTWVNJTkZP
X0JBU0UpL2luY2x1ZGUKIENYWElOQ0xVREVTLSQoQ09ORklHX0xJQlVLU1lTSU5GTykgICs9IC1J
JChMSUJVS1NZU0lORk9fQkFTRSkvaW5jbHVkZQogCiBMSUJVS1NZU0lORk9fU1JDUy0kKENPTkZJ
R19MSUJVS1NZU0lORk8pICs9ICQoTElCVUtTWVNJTkZPX0JBU0UpL3N5c2luZm8uYworCitVS19Q
Uk9WSURFRF9TWVNDQUxMUy0kKENPTkZJR19MSUJVS1NZU0lORk8pICs9IHVuYW1lLTEKZGlmZiAt
LWdpdCBhL2xpYi91a3N5c2luZm8vZXhwb3J0c3ltcy51ayBiL2xpYi91a3N5c2luZm8vZXhwb3J0
c3ltcy51awppbmRleCBkNTEzMTMzMi4uYWRkYzQ5OTAgMTAwNjQ0Ci0tLSBhL2xpYi91a3N5c2lu
Zm8vZXhwb3J0c3ltcy51aworKysgYi9saWIvdWtzeXNpbmZvL2V4cG9ydHN5bXMudWsKQEAgLTUs
NSArNSw3IEBAIGNvbmZzdHIKIHBhdGhjb25mCiBnZXRwYWdlc2l6ZQogdW5hbWUKK3VrX3N5c2Nh
bGxfZV91bmFtZQordWtfc3lzY2FsbF9yX3VuYW1lCiBnZXRob3N0bmFtZQogc2V0aG9zdG5hbWUK
ZGlmZiAtLWdpdCBhL2xpYi91a3N5c2luZm8vc3lzaW5mby5jIGIvbGliL3Vrc3lzaW5mby9zeXNp
bmZvLmMKaW5kZXggZmU3NDZhZDMuLmFiY2JiNzlkIDEwMDY0NAotLS0gYS9saWIvdWtzeXNpbmZv
L3N5c2luZm8uYworKysgYi9saWIvdWtzeXNpbmZvL3N5c2luZm8uYwpAQCAtNDEsNiArNDEsNyBA
QAogI2luY2x1ZGUgPHVrL2Vzc2VudGlhbHMuaD4KICNpbmNsdWRlIDx1ay9jb25maWcuaD4KICNp
bmNsdWRlIDxzeXMvc3lzaW5mby5oPgorI2luY2x1ZGUgPHVrL3N5c2NhbGwuaD4KIAogc3RhdGlj
IHN0cnVjdCB1dHNuYW1lIHV0c25hbWUgPSB7CiAJLnN5c25hbWUJPSAiVW5pa3JhZnQiLApAQCAt
OTQsMTIgKzk1LDEwIEBAIGludCBnZXRwYWdlc2l6ZSh2b2lkKQogCXJldHVybiBfX1BBR0VfU0la
RTsKIH0KIAotaW50IHVuYW1lKHN0cnVjdCB1dHNuYW1lICpidWYgX191bnVzZWQpCitVS19TWVND
QUxMX1JfREVGSU5FKGludCwgdW5hbWUsIHN0cnVjdCB1dHNuYW1lICosIGJ1ZikKIHsKLQlpZiAo
YnVmID09IE5VTEwpIHsKLQkJZXJybm8gPSBFRkFVTFQ7Ci0JCXJldHVybiAtMTsKLQl9CisJaWYg
KGJ1ZiA9PSBOVUxMKQorCQlyZXR1cm4gLUVGQVVMVDsKIAogCW1lbWNweShidWYsICZ1dHNuYW1l
LCBzaXplb2Yoc3RydWN0IHV0c25hbWUpKTsKIAlyZXR1cm4gMDsKLS0gCjIuMjAuMQoKCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBt
YWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlz
dHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Thu Dec 12 15:09:30 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 12 Dec 2019 15:09:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ifQ5q-0005Iu-Sc; Thu, 12 Dec 2019 15:09:30 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=OWuL=2C=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1ifQ5q-0005Ik-34
 for minios-devel@lists.xen.org; Thu, 12 Dec 2019 15:09:30 +0000
X-Inumbo-ID: 6297f160-1cf1-11ea-8d84-12813bfff9fa
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 6297f160-1cf1-11ea-8d84-12813bfff9fa;
 Thu, 12 Dec 2019 15:09:26 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 4061CF2013;
 Thu, 12 Dec 2019 16:09:25 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-b.office.hd)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id Ds13vbZfT9B9; Thu, 12 Dec 2019 16:09:25 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from puck.office.hd (puck.office.hd [192.168.24.91])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 1771EF2012;
 Thu, 12 Dec 2019 16:09:21 +0100 (CET)
Received: from localhost (192.168.24.96) by puck.office.hd (192.168.24.91)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 12 Dec
 2019 16:09:10 +0100
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Thu, 12 Dec 2019 16:09:06 +0100
Message-ID: <20191212150906.8358-4-simon.kuenzer@neclab.eu>
X-Mailer: git-send-email 2.20.1
In-Reply-To: <20191212150906.8358-1-simon.kuenzer@neclab.eu>
References: <20191212150906.8358-1-simon.kuenzer@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [192.168.24.96]
X-ClientProxiedBy: titania.office.hd (192.168.24.89) To puck.office.hd
 (192.168.24.91)
Subject: [Minios-devel] [UNIKRAFT PATCH 3/3] lib/uksysinfo: glibc version
 workaround for `uname` (prepend 5-)
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>,
 Gaulthier Gain <gaulthier.gain@uliege.be>,
 Simon Kuenzer <simon.kuenzer@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RHVyaW5nIGdsaWJjIGluaXRpYWxpemF0aW9uLCB0aGUgbGlicmFyeSBpcyBkb2luZyBhIGB1bmFt
ZWAgc3lzdGVtCmNhbGwgaW4gb3JkZXIgdG8gZGV0ZWN0IHRoZSBrZXJuZWwgdmVyc2lvbi4gSXQg
bG9va3MgaW50byB0aGUgcmVsZWFzZQpmaWVsZCBhbmQgcGFyc2VzIHRoZSBzdHJpbmcuIFdlIHBy
ZXBlbmQgKGZvciB1cyBtZWFuaW5nbGVzcykgIjUtIiB0bwpvdXIgdmVyc2lvbiBzdHJpbmcgaW4g
b3JkZXIgdG8gdGVsbCBnbGliYyB0aGF0IGl0IHJ1bnMgb24gYSBuZXcgZW5vdWdoCmtlcm5lbC4K
ClNpZ25lZC1vZmYtYnk6IFNpbW9uIEt1ZW56ZXIgPHNpbW9uLmt1ZW56ZXJAbmVjbGFiLmV1Pgot
LS0KIGxpYi91a3N5c2luZm8vc3lzaW5mby5jIHwgNSArKysrLQogMSBmaWxlIGNoYW5nZWQsIDQg
aW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2xpYi91a3N5c2luZm8v
c3lzaW5mby5jIGIvbGliL3Vrc3lzaW5mby9zeXNpbmZvLmMKaW5kZXggYWJjYmI3OWQuLjJiZjJj
MTJhIDEwMDY0NAotLS0gYS9saWIvdWtzeXNpbmZvL3N5c2luZm8uYworKysgYi9saWIvdWtzeXNp
bmZvL3N5c2luZm8uYwpAQCAtNDYsNyArNDYsMTAgQEAKIHN0YXRpYyBzdHJ1Y3QgdXRzbmFtZSB1
dHNuYW1lID0gewogCS5zeXNuYW1lCT0gIlVuaWtyYWZ0IiwKIAkubm9kZW5hbWUJPSAidW5pa3Jh
ZnQiLAotCS5yZWxlYXNlCT0gU1RSSU5HSUZZKFVLX0NPREVOQU1FKSwKKwkvKiBnbGliYyBsb29r
cyBpbnRvIHRoZSByZWxlYXNlIGZpZWxkIHRvIGNoZWNrIHRoZSBrZXJuZWwgdmVyc2lvbjoKKwkg
KiBXZSBwcmVwZW5kICc1LScgaW4gb3JkZXIgdG8gYmUgIm5ldyBlbm91Z2giIGZvciBpdC4KKwkg
Ki8KKwkucmVsZWFzZQk9ICI1LSIgU1RSSU5HSUZZKFVLX0NPREVOQU1FKSwKIAkudmVyc2lvbgk9
IFNUUklOR0lGWShVS19GVUxMVkVSU0lPTiksCiAjaWZkZWYgQ09ORklHX0FSQ0hfWDg2XzY0CiAJ
Lm1hY2hpbmUJPSAieDg2XzY0IgotLSAKMi4yMC4xCgoKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3Mt
ZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9t
YWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Thu Dec 12 15:32:58 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 12 Dec 2019 15:32:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ifQSX-0007lm-AI; Thu, 12 Dec 2019 15:32:57 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=OWuL=2C=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1ifQSV-0007lh-KZ
 for minios-devel@lists.xen.org; Thu, 12 Dec 2019 15:32:55 +0000
X-Inumbo-ID: a9418223-1cf4-11ea-8d90-12813bfff9fa
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id a9418223-1cf4-11ea-8d90-12813bfff9fa;
 Thu, 12 Dec 2019 15:32:54 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id C48341041BF;
 Thu, 12 Dec 2019 16:32:52 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-a.office.hd)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id DtKLgVrKYFc9; Thu, 12 Dec 2019 16:32:52 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from puck.office.hd (puck.office.hd [192.168.24.91])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 9E353103BDA;
 Thu, 12 Dec 2019 16:32:52 +0100 (CET)
Received: from [10.1.2.204] (192.168.24.96) by puck.office.hd (192.168.24.91)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 12 Dec
 2019 16:32:52 +0100
To: Costin Lupu <costin.lupu@cs.pub.ro>, <minios-devel@lists.xen.org>
References: <20191206134105.23225-1-costin.lupu@cs.pub.ro>
 <20191206134105.23225-2-costin.lupu@cs.pub.ro>
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
Message-ID: <a7bc71b0-0eaa-ea25-7349-7fbf67593d3e@neclab.eu>
Date: Thu, 12 Dec 2019 16:32:51 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:60.0)
 Gecko/20100101 Thunderbird/60.9.1
MIME-Version: 1.0
In-Reply-To: <20191206134105.23225-2-costin.lupu@cs.pub.ro>
Content-Language: en-US
X-Originating-IP: [192.168.24.96]
X-ClientProxiedBy: oberon.office.hd (192.168.24.90) To puck.office.hd
 (192.168.24.91)
Subject: Re: [Minios-devel] [UNIKRAFT PATCH 1/6] lib/vfscore: Revert
 __fxstatat() implementation to original Osv behavior
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGV5IENvc3RpbiwKCnRoYW5rcyBmb3IgdGhlIHdvcmsuIFRoZSBjb2RlIGNoYW5nZXMgbG9vayBm
aW5lIHRvIG1lLiBNYXliZSB5b3UgY291bGQgCm1lbnRpb24gaW4geW91ciBkZXNjcmlwdGlvbiB0
aGF0IHRoZSBwYXRjaCBpcyBicmluZ2luZyBiYWNrIHRoZSBoYW5kbGluZyAKb2YgdGhlIEFUX1NZ
TUxJTktfTk9GT0xMT1cgZmxhZyB0byBfX2Z4c3RhdGF0LgoKUmV2aWV3ZWQtYnk6IFNpbW9uIEt1
ZW56ZXIgPHNpbW9uLmt1ZW56ZXJAbmVjbGFiLmV1PgoKT24gMDYuMTIuMTkgMTQ6NDEsIENvc3Rp
biBMdXB1IHdyb3RlOgo+IFdlIHNpbXBseSBicm91Z2h0IGJhY2sgdGhlIGhhbmRsaW5nIG9mIGZs
YWdzLCBqdXN0IGFzIGl0IHdhcyBpbiBPc3YuCj4gCj4gU2lnbmVkLW9mZi1ieTogQ29zdGluIEx1
cHUgPGNvc3Rpbi5sdXB1QGNzLnB1Yi5ybz4KPiAtLS0KPiAgIGxpYi92ZnNjb3JlL21haW4uYyB8
IDkgKysrKy0tLS0tCj4gICAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA1IGRlbGV0
aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9saWIvdmZzY29yZS9tYWluLmMgYi9saWIvdmZzY29y
ZS9tYWluLmMKPiBpbmRleCBjZjg0YTBlMC4uZDYxNDVhMmIgMTAwNjQ0Cj4gLS0tIGEvbGliL3Zm
c2NvcmUvbWFpbi5jCj4gKysrIGIvbGliL3Zmc2NvcmUvbWFpbi5jCj4gQEAgLTU2NywxMCArNTY3
LDYgQEAgTEZTNjQoZnN0YXQpOwo+ICAgaW50IF9fZnhzdGF0YXQoaW50IHZlciBfX3VudXNlZCwg
aW50IGRpcmZkLCBjb25zdCBjaGFyICpwYXRobmFtZSwgc3RydWN0IHN0YXQgKnN0LAo+ICAgCQlp
bnQgZmxhZ3MpCj4gICB7Cj4gLQlpZiAoZmxhZ3MgJiBBVF9TWU1MSU5LX05PRk9MTE9XKSB7Cj4g
LQkJVUtfQ1JBU0goIlVOSU1QTEVNRU5URUQ6IGZzdGF0YXQoKSB3aXRoIEFUX1NZTUxJTktfTk9G
T0xMT1ciKTsKPiAtCX0KPiAtCj4gICAJaWYgKHBhdGhuYW1lWzBdID09ICcvJyB8fCBkaXJmZCA9
PSBBVF9GRENXRCkgewo+ICAgCQlyZXR1cm4gc3RhdChwYXRobmFtZSwgc3QpOwo+ICAgCX0KPiBA
QCAtNTk3LDcgKzU5MywxMCBAQCBpbnQgX19meHN0YXRhdChpbnQgdmVyIF9fdW51c2VkLCBpbnQg
ZGlyZmQsIGNvbnN0IGNoYXIgKnBhdGhuYW1lLCBzdHJ1Y3Qgc3RhdCAqcwo+ICAgCXN0cmxjYXQo
cCwgIi8iLCBQQVRIX01BWCk7Cj4gICAJc3RybGNhdChwLCBwYXRobmFtZSwgUEFUSF9NQVgpOwo+
ICAgCj4gLQllcnJvciA9IHN0YXQocCwgc3QpOwo+ICsJaWYgKGZsYWdzICYgQVRfU1lNTElOS19O
T0ZPTExPVykKPiArCQllcnJvciA9IGxzdGF0KHAsIHN0KTsKPiArCWVsc2UKPiArCQllcnJvciA9
IHN0YXQocCwgc3QpOwo+ICAgCj4gICAJdm5fdW5sb2NrKHZwKTsKPiAgIAlmZHJvcChmcCk7Cj4g
CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3Mt
ZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRw
czovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Thu Dec 12 16:03:46 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 12 Dec 2019 16:03:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ifQwL-0002mA-EX; Thu, 12 Dec 2019 16:03:45 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=OWuL=2C=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1ifQwK-0002lz-G6
 for minios-devel@lists.xen.org; Thu, 12 Dec 2019 16:03:44 +0000
X-Inumbo-ID: f2f22e72-1cf8-11ea-b6f1-bc764e2007e4
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id f2f22e72-1cf8-11ea-b6f1-bc764e2007e4;
 Thu, 12 Dec 2019 16:03:34 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id DEEEC1041BF;
 Thu, 12 Dec 2019 17:03:33 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-a.office.hd)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id JkPLRoaAHB3N; Thu, 12 Dec 2019 17:03:33 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from puck.office.hd (puck.office.hd [192.168.24.91])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id B85DF103BDA;
 Thu, 12 Dec 2019 17:03:33 +0100 (CET)
Received: from [10.1.2.204] (192.168.24.96) by puck.office.hd (192.168.24.91)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 12 Dec
 2019 17:03:33 +0100
To: Costin Lupu <costin.lupu@cs.pub.ro>, <minios-devel@lists.xen.org>
References: <20191206134105.23225-1-costin.lupu@cs.pub.ro>
 <20191206134105.23225-3-costin.lupu@cs.pub.ro>
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
Message-ID: <b71ef1b1-998c-23db-6d9c-6732f24adf06@neclab.eu>
Date: Thu, 12 Dec 2019 17:03:32 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:60.0)
 Gecko/20100101 Thunderbird/60.9.1
MIME-Version: 1.0
In-Reply-To: <20191206134105.23225-3-costin.lupu@cs.pub.ro>
Content-Language: en-US
X-Originating-IP: [192.168.24.96]
X-ClientProxiedBy: puck.office.hd (192.168.24.91) To puck.office.hd
 (192.168.24.91)
Subject: Re: [Minios-devel] [UNIKRAFT PATCH 2/6] lib/vfscore: Fix dup2()
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

TG9va3MgZ29vZCB0byBtZS4gVGhhbmtzIQpDYW4geW91IHVwZGF0ZSB0aGUgc3ViamVjdCB0byBz
b21ldGhpbmcgbW9yZSBwcmVjaXNlLCBsaWtlCiJsaWIvdmZzY29yZTogZHVwMigpOiBDbG9zZSBu
ZXdmZCB3aGVuIGFscmVhZHkgb3BlbmVkIgoKUmV2aWV3ZWQtYnk6IFNpbW9uIEt1ZW56ZXIgPHNp
bW9uLmt1ZW56ZXJAbmVjbGFiLmV1PgoKT24gMDYuMTIuMTkgMTQ6NDEsIENvc3RpbiBMdXB1IHdy
b3RlOgo+IElmIG5ld2ZkIGlzIG9wZW4sIHRoZW4gUE9TSVggc2F5cyB3ZSBoYXZlIHRvIGNsb3Nl
IGl0IC0gdGhhdCdzIHdoYXQgdGhpcwo+IHBhdGNoIGFpbXMgdG8gYWNoaWV2ZS4gR2l2ZW4gdGhh
dCBkdXAyL2R1cDMgZXhwbGljaXRseSB3YW50cyB0byByZXNlcnZlciBhCj4gZmlsZSBkZXNjcmlw
dG9yLCB3ZSBhbHNvIGludHJvZHVjZSB0aGUgdmZzY29yZV9yZXNlcnZlX2ZkKCkgZnVuY3Rpb24u
IFdlCj4gYWxzbyBhZGQgYSB0aW55IGZpeCBpbiB2ZnNjb3JlX2FsbG9jX2ZkKCkgYmVjYXVzZSBp
dCBzaG91bGQgYWxzbyBiZSBhYmxlIHRvCj4gYWxsb2NhdGUgZmlsZSBkZXNjcmlwdG9yIDAgLSB0
aGF0J3Mgd2hhdCBzdGRpbyBpbml0aWFsaXphdGlvbiBuZWVkcyBhbW9uZwo+IG90aGVyIHRoaW5n
cy4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBDb3N0aW4gTHVwdSA8Y29zdGluLmx1cHVAY3MucHViLnJv
Pgo+IC0tLQo+ICAgbGliL3Zmc2NvcmUvZmQuYyAgICAgICAgICAgICAgICAgICB8IDIyICsrKysr
KysrKysrKysrKysrKystLS0KPiAgIGxpYi92ZnNjb3JlL2luY2x1ZGUvdmZzY29yZS9maWxlLmgg
fCAgMSArCj4gICBsaWIvdmZzY29yZS9tYWluLmMgICAgICAgICAgICAgICAgIHwgMTQgKysrKysr
KysrKysrKy0KPiAgIGxpYi92ZnNjb3JlL3N0ZGlvLmMgICAgICAgICAgICAgICAgfCAgNCArKysr
Cj4gICA0IGZpbGVzIGNoYW5nZWQsIDM3IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCj4g
Cj4gZGlmZiAtLWdpdCBhL2xpYi92ZnNjb3JlL2ZkLmMgYi9saWIvdmZzY29yZS9mZC5jCj4gaW5k
ZXggN2VmZWQ3NDEuLjZkYjM2NmE5IDEwMDY0NAo+IC0tLSBhL2xpYi92ZnNjb3JlL2ZkLmMKPiAr
KysgYi9saWIvdmZzY29yZS9mZC5jCj4gQEAgLTYxLDcgKzYxLDcgQEAgaW50IHZmc2NvcmVfYWxs
b2NfZmQodm9pZCkKPiAgIAlmbGFncyA9IHVrcGxhdF9sY3B1X3NhdmVfaXJxZigpOwo+ICAgCXJl
dCA9IHVrX2ZpbmRfbmV4dF96ZXJvX2JpdChmZHRhYmxlLmJpdG1hcCwgRkRUQUJMRV9NQVhfRklM
RVMsIDApOwo+ICAgCj4gLQlpZiAoIXJldCkgewo+ICsJaWYgKHJldCA9PSBGRFRBQkxFX01BWF9G
SUxFUykgewo+ICAgCQlyZXQgPSAtRU5GSUxFOwo+ICAgCQlnb3RvIGV4aXQ7Cj4gICAJfQo+IEBA
IC03Myw2ICs3MywyNCBAQCBleGl0Ogo+ICAgCXJldHVybiByZXQ7Cj4gICB9Cj4gICAKPiAraW50
IHZmc2NvcmVfcmVzZXJ2ZV9mZChpbnQgZmQpCj4gK3sKPiArCXVuc2lnbmVkIGxvbmcgZmxhZ3M7
Cj4gKwlpbnQgcmV0ID0gMDsKPiArCj4gKwlmbGFncyA9IHVrcGxhdF9sY3B1X3NhdmVfaXJxZigp
Owo+ICsJaWYgKHVrX3Rlc3RfYml0KGZkLCBmZHRhYmxlLmJpdG1hcCkpIHsKPiArCQlyZXQgPSAt
RUJVU1k7Cj4gKwkJZ290byBleGl0Owo+ICsJfQo+ICsKPiArCXVrX2JpdG1hcF9zZXQoZmR0YWJs
ZS5iaXRtYXAsIGZkLCAxKTsKPiArCj4gK2V4aXQ6Cj4gKwl1a3BsYXRfbGNwdV9yZXN0b3JlX2ly
cWYoZmxhZ3MpOwo+ICsJcmV0dXJuIHJldDsKPiArfQo+ICsKPiAgIGludCB2ZnNjb3JlX3B1dF9m
ZChpbnQgZmQpCj4gICB7Cj4gICAJc3RydWN0IHZmc2NvcmVfZmlsZSAqZnA7Cj4gQEAgLTE4OCw4
ICsyMDYsNiBAQCBzdGF0aWMgdm9pZCBmZHRhYmxlX2luaXQodm9pZCkKPiAgIHsKPiAgIAltZW1z
ZXQoJmZkdGFibGUsIDAsIHNpemVvZihmZHRhYmxlKSk7Cj4gICAKPiAtCS8qIHJlc2VydmUgc3Rk
aW4sIHN0ZG91dCBhbmQgc3RkZXJyICovCj4gLQl1a19iaXRtYXBfc2V0KGZkdGFibGUuYml0bWFw
LCAwLCAzKTsKPiAgIAlpbml0X3N0ZGlvKCk7Cj4gICB9Cj4gICAKPiBkaWZmIC0tZ2l0IGEvbGli
L3Zmc2NvcmUvaW5jbHVkZS92ZnNjb3JlL2ZpbGUuaCBiL2xpYi92ZnNjb3JlL2luY2x1ZGUvdmZz
Y29yZS9maWxlLmgKPiBpbmRleCBjNjk4MjAxZC4uYmUyMzk3NDQgMTAwNjQ0Cj4gLS0tIGEvbGli
L3Zmc2NvcmUvaW5jbHVkZS92ZnNjb3JlL2ZpbGUuaAo+ICsrKyBiL2xpYi92ZnNjb3JlL2luY2x1
ZGUvdmZzY29yZS9maWxlLmgKPiBAQCAtNjYsNiArNjYsNyBAQCBzdHJ1Y3QgdmZzY29yZV9maWxl
IHsKPiAgICNkZWZpbmUgRkRfVU5MT0NLKGZwKSAgICAgdWtfbXV0ZXhfdW5sb2NrKCYoZnAtPmZf
bG9jaykpCj4gICAKPiAgIGludCB2ZnNjb3JlX2FsbG9jX2ZkKHZvaWQpOwo+ICtpbnQgdmZzY29y
ZV9yZXNlcnZlX2ZkKGludCBmZCk7Cj4gICBpbnQgdmZzY29yZV9wdXRfZmQoaW50IGZkKTsKPiAg
IGludCB2ZnNjb3JlX2luc3RhbGxfZmQoaW50IGZkLCBzdHJ1Y3QgdmZzY29yZV9maWxlICpmaWxl
KTsKPiAgIHN0cnVjdCB2ZnNjb3JlX2ZpbGUgKnZmc2NvcmVfZ2V0X2ZpbGUoaW50IGZkKTsKPiBk
aWZmIC0tZ2l0IGEvbGliL3Zmc2NvcmUvbWFpbi5jIGIvbGliL3Zmc2NvcmUvbWFpbi5jCj4gaW5k
ZXggZDYxNDVhMmIuLjRiZWRhNjAzIDEwMDY0NAo+IC0tLSBhL2xpYi92ZnNjb3JlL21haW4uYwo+
ICsrKyBiL2xpYi92ZnNjb3JlL21haW4uYwo+IEBAIC0xMzc5LDcgKzEzNzksNyBAQCBVS19UUkFD
RVBPSU5UKHRyYWNlX3Zmc19kdXAzX2VyciwgIiVkIiwgaW50KTsKPiAgICAqLwo+ICAgaW50IGR1
cDMoaW50IG9sZGZkLCBpbnQgbmV3ZmQsIGludCBmbGFncykKPiAgIHsKPiAtCXN0cnVjdCB2ZnNj
b3JlX2ZpbGUgKmZwOwo+ICsJc3RydWN0IHZmc2NvcmVfZmlsZSAqZnAsICpmcF9uZXc7Cj4gICAJ
aW50IGVycm9yOwo+ICAgCj4gICAJdHJhY2VfdmZzX2R1cDMob2xkZmQsIG5ld2ZkLCBmbGFncyk7
Cj4gQEAgLTE0MDEsNiArMTQwMSwxOCBAQCBpbnQgZHVwMyhpbnQgb2xkZmQsIGludCBuZXdmZCwg
aW50IGZsYWdzKQo+ICAgCWlmIChlcnJvcikKPiAgIAkJZ290byBvdXRfZXJybm87Cj4gICAKPiAr
CWVycm9yID0gZmdldChuZXdmZCwgJmZwX25ldyk7Cj4gKwlpZiAoZXJyb3IgPT0gMCkgewo+ICsJ
CS8qIGlmIG5ld2ZkIGlzIG9wZW4sIHRoZW4gY2xvc2UgaXQgKi8KPiArCQllcnJvciA9IGNsb3Nl
KG5ld2ZkKTsKPiArCQlpZiAoZXJyb3IpCj4gKwkJCWdvdG8gb3V0X2Vycm5vOwo+ICsJfQo+ICsK
PiArCWVycm9yID0gdmZzY29yZV9yZXNlcnZlX2ZkKG5ld2ZkKTsKPiArCWlmIChlcnJvcikKPiAr
CQlnb3RvIG91dF9lcnJubzsKPiArCj4gICAJZXJyb3IgPSB2ZnNjb3JlX2luc3RhbGxfZmQobmV3
ZmQsIGZwKTsKPiAgIAlpZiAoZXJyb3IpIHsKPiAgIAkJZmRyb3AoZnApOwo+IGRpZmYgLS1naXQg
YS9saWIvdmZzY29yZS9zdGRpby5jIGIvbGliL3Zmc2NvcmUvc3RkaW8uYwo+IGluZGV4IDU3OGIy
MGJiLi42MmE3YTYwNyAxMDA2NDQKPiAtLS0gYS9saWIvdmZzY29yZS9zdGRpby5jCj4gKysrIGIv
bGliL3Zmc2NvcmUvc3RkaW8uYwo+IEBAIC0yMTEsNiArMjExLDEwIEBAIHN0YXRpYyBzdHJ1Y3Qg
dmZzY29yZV9maWxlICBzdGRpb19maWxlID0gewo+ICAgCj4gICB2b2lkIGluaXRfc3RkaW8odm9p
ZCkKPiAgIHsKPiArCWludCBmZDsKPiArCj4gKwlmZCA9IHZmc2NvcmVfYWxsb2NfZmQoKTsKPiAr
CVVLX0FTU0VSVChmZCA9PSAwKTsKPiAgIAl2ZnNjb3JlX2luc3RhbGxfZmQoMCwgJnN0ZGlvX2Zp
bGUpOwo+ICAgCWlmIChkdXAyKDAsIDEpICE9IDEpCj4gICAJCXVrX3ByX2VycigiZmFpbGVkIHRv
IGR1cCB0byBzdGRpblxuIik7Cj4gCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0
cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlz
dGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Thu Dec 12 17:08:23 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 12 Dec 2019 17:08:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ifRwq-0008Fz-3s; Thu, 12 Dec 2019 17:08:20 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=Gxg0=2C=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1ifRwp-0008Fu-2E
 for minios-devel@lists.xen.org; Thu, 12 Dec 2019 17:08:19 +0000
X-Inumbo-ID: fd211a08-1d01-11ea-88e7-bc764e2007e4
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id fd211a08-1d01-11ea-88e7-bc764e2007e4;
 Thu, 12 Dec 2019 17:08:17 +0000 (UTC)
IronPort-SDR: 5+YQUp0wbouc76oDZCs/wXBTLUlJXe/bAKymik5gpNFK0rYL1+2EqZnFEtgk0aqhHAhS66YV1Z
 J7oMr4FQU8Ig==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 12 Dec 2019 19:08:15 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 925861A60267;
 Thu, 12 Dec 2019 19:08:16 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id JmFqAiix4bbt; Thu, 12 Dec 2019 19:08:16 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 777FA1A6026E;
 Thu, 12 Dec 2019 19:08:16 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id AJgDJP4sRMA6; Thu, 12 Dec 2019 19:08:16 +0200 (EET)
Received: from [192.168.100.190] (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 5F8DF1A60267;
 Thu, 12 Dec 2019 19:08:16 +0200 (EET)
To: Stefan Teodorescu <stefanl.teodorescu@gmail.com>
References: <20191208095507.27384-1-costin.lupu@cs.pub.ro>
 <20191208095507.27384-9-costin.lupu@cs.pub.ro>
 <CAEiTdV4=7jkq5u+--NraCKMm70H8AHC1GXoGRmwxrpJ_s50NiQ@mail.gmail.com>
From: Costin Lupu <costin.lupu@cs.pub.ro>
Message-ID: <78bfe790-dab6-f53c-3496-7002c7fcd628@cs.pub.ro>
Date: Thu, 12 Dec 2019 19:08:15 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.2.2
MIME-Version: 1.0
In-Reply-To: <CAEiTdV4=7jkq5u+--NraCKMm70H8AHC1GXoGRmwxrpJ_s50NiQ@mail.gmail.com>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT/RUBY PATCH 08/16] extensions: Add
 generated files
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: minios-devel@lists.xen.org
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

T24gMTIvMTEvMTkgNToxOCBQTSwgU3RlZmFuIFRlb2RvcmVzY3Ugd3JvdGU6Cj4gQXMgZGlzY3Vz
c2VkLCBzaW5jZSBzb2NrZXQvZXh0Y29uZi5oIGlzIHRoZSBvbmx5IG9uZSB0aGF0IHJlcXVpcmVz
Cj4gc3BlY2lhbCBjaGFuZ2VzLCB3ZSBkb24ndCBuZWVkIHRvIGFkZCB0aGUgb3RoZXJzIHRvIHRo
ZSBnbHVlIGNvZGUuCgpBY2suCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54
ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGlu
Zm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Thu Dec 12 17:10:27 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 12 Dec 2019 17:10:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ifRyt-0000Ul-AY; Thu, 12 Dec 2019 17:10:27 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=Gxg0=2C=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1ifRys-0000Ug-VY
 for minios-devel@lists.xen.org; Thu, 12 Dec 2019 17:10:26 +0000
X-Inumbo-ID: 490fedcd-1d02-11ea-8dcc-12813bfff9fa
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id 490fedcd-1d02-11ea-8dcc-12813bfff9fa;
 Thu, 12 Dec 2019 17:10:25 +0000 (UTC)
IronPort-SDR: lRD0j4kc5fWFYPBkaOTr7fki6elYboQlWzZ2YIMV51lqzqp/xzwl/EVs0A+dl8/aKnEW26/6oI
 I1wR40LwngJQ==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 12 Dec 2019 19:10:24 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 07E7D1A60267;
 Thu, 12 Dec 2019 19:10:25 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id ypdfIHI50fRm; Thu, 12 Dec 2019 19:10:24 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id E227F1A6026E;
 Thu, 12 Dec 2019 19:10:24 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id Y-qM-nOimK7w; Thu, 12 Dec 2019 19:10:24 +0200 (EET)
Received: from [192.168.100.190] (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id C56891A60267;
 Thu, 12 Dec 2019 19:10:24 +0200 (EET)
To: Stefan Teodorescu <stefanl.teodorescu@gmail.com>
References: <20191208095507.27384-1-costin.lupu@cs.pub.ro>
 <20191208095507.27384-11-costin.lupu@cs.pub.ro>
 <CAEiTdV7HST8aX4ECAUp=RRoFMrZBCopBVyOqXd1AY2Q=dOtNpg@mail.gmail.com>
From: Costin Lupu <costin.lupu@cs.pub.ro>
Message-ID: <650952bb-9a6b-c873-4d6f-85d33d2c670c@cs.pub.ro>
Date: Thu, 12 Dec 2019 19:10:24 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.2.2
MIME-Version: 1.0
In-Reply-To: <CAEiTdV7HST8aX4ECAUp=RRoFMrZBCopBVyOqXd1AY2Q=dOtNpg@mail.gmail.com>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT/RUBY PATCH 10/16] extensions: Build
 extensions
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: minios-devel@lists.xen.org
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

T24gMTIvMTEvMTkgNToxNCBQTSwgU3RlZmFuIFRlb2RvcmVzY3Ugd3JvdGU6Cj4gemxpYiBleHRl
bnNpb24gc2hvdWxkIGRlcGVuZCBvbiBMSUJaTElCLgo+IAo+IFRoZSBsYXN0IDMgZXh0ZW5zaW9u
cyBpbiBJbml0X2V4dCgpIGZ1bmN0aW9uIGFyZSBtaXNjb25maWd1cmVkLCBhcwo+IHRoZXkgYXJl
IGVuYWJsZWQgZm9yIHRoZSBmbGFnIENPTkZJR19MSUJSVUJZX0VYVF9SSVBQRVIuCj4gU2FtZSBm
b3IganNvbiAodGhpcmQgb25lKSwgd2hpY2ggaXMgZW5hYmxlZCB1bmRlciBDT05GSUdfTElCUlVC
WV9FWFRfU1lTTE9HLgo+IAoKUmlnaHQsIGdvb2QgY2F0Y2ghCgo+IEFsc28sIGFzIGRpc2N1c3Nl
ZCwgc2luY2Ugc3RyaW5naW8gaXMgYSBtYW5kYXRvcnkgZXh0ZW5zaW9uLCB0aGlzCj4gZXh0ZW5z
aW9uIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uIHNob3VsZCBiZSBjYWxsZWQgZXZlbiB3aGVuCj4g
ZXh0ZW5zaW9ucyBhcmUgZGlzYWJsZWQsIHRvIGNhbGwgdGhlIGluaXQgZm9yIHN0cmluZ2lvLgoK
SW4gZGVlZCwgc3RyaW5naW8gaXMgdGhlIG9ubHkgbWFuZGF0b3J5IGV4dGVuc2lvbiBmb3IgcnVi
eS4gSG93ZXZlciwKcGxlYXNlIGtlZXAgaW4gbWluZCB0aGF0IG1pbmlydWJ5IGRvZXNuJ3QgdXNl
IGFueSBleHRlbnNpb24gYXQgYWxsLgoKQ2hlZXJzLApDb3N0aW4KCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QK
TWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVj
dC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Thu Dec 12 17:11:40 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 12 Dec 2019 17:11:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ifS04-0000WM-FY; Thu, 12 Dec 2019 17:11:40 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=Gxg0=2C=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1ifS03-0000WH-Ol
 for minios-devel@lists.xen.org; Thu, 12 Dec 2019 17:11:39 +0000
X-Inumbo-ID: 758d737e-1d02-11ea-b6f1-bc764e2007e4
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id 758d737e-1d02-11ea-b6f1-bc764e2007e4;
 Thu, 12 Dec 2019 17:11:39 +0000 (UTC)
IronPort-SDR: D/IB41/f8wBO/JOWt6E2mMKQ3ZEAEgCQ8KHuPvJZHGgVZEgqUS5w6gnZbDclnGSzq+P/3ECa7I
 ze6taid/J7Nw==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 12 Dec 2019 19:11:36 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id CECB01A60267;
 Thu, 12 Dec 2019 19:11:36 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id KIbzhklAnxUx; Thu, 12 Dec 2019 19:11:36 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id B63791A6026E;
 Thu, 12 Dec 2019 19:11:36 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id KSrpZWLyoLG5; Thu, 12 Dec 2019 19:11:36 +0200 (EET)
Received: from [192.168.100.190] (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 9E1501A60267;
 Thu, 12 Dec 2019 19:11:36 +0200 (EET)
To: Stefan Teodorescu <stefanl.teodorescu@gmail.com>
References: <20191208095507.27384-1-costin.lupu@cs.pub.ro>
 <20191208095507.27384-14-costin.lupu@cs.pub.ro>
 <CAEiTdV4FB2KHX96_E1DTc2OOoRD7pZc--yWzO6Z126=JcpAOQA@mail.gmail.com>
From: Costin Lupu <costin.lupu@cs.pub.ro>
Message-ID: <9c46d303-e297-cc96-2dc6-976a4005acc4@cs.pub.ro>
Date: Thu, 12 Dec 2019 19:11:35 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.2.2
MIME-Version: 1.0
In-Reply-To: <CAEiTdV4FB2KHX96_E1DTc2OOoRD7pZc--yWzO6Z126=JcpAOQA@mail.gmail.com>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT/RUBY PATCH 13/16] tests: Build tests
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: minios-devel@lists.xen.org
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

T24gMTIvMTEvMTkgNDo0MCBQTSwgU3RlZmFuIFRlb2RvcmVzY3Ugd3JvdGU6Cj4gUGxlYXNlIGNo
YW5nZSB0aGUgbmFtZXMgb2YgdGhlIGxpbmtzIGNyZWF0ZWQgZm9yIHRoZSB1bml0IHRlc3RzIGZy
b20KPiB1c2luZyAtIChkYXNoKSwgdG8gdXNpbmcgXyAodW5kZXJzY29yZSkuIFRoZSBidWlsZCBz
eXN0ZW0KPiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlcyBzb21lIG1hY3JvcyB0aGF0IHRha2UgdGhl
IGZpbGUgbmFtZXMgYXMKPiBwYXJhbWV0ZXJzLCBhbmQgY3JlYXRlIGZ1bmN0aW9ucyBuYW1lZCBi
eSB0aGUgZm9ybWF0IEluaXRfPGZpbGVuYW1lPiwKPiBhbmQgZnVuY3Rpb25zIGNhbm5vdCBoYXZl
IGRhc2hlcyBpbiB0aGVpciBuYW1lcy4KCkFjay4KCj4gCj4gQWxzbyB0aGVyZSBpcyBhIHByb2Js
ZW0gd2l0aCAiZXh0Y29uZi5oIiBmaWxlLiBJdCBjYW4ndCBiZSBmb3VuZCB3aGVuCj4gYnVpbGRp
bmcgd2l0aCB0ZXN0cyBlbmFibGVkLgoKVGhpcyB3b24ndCBiZSBhIHByb2JsZW0gYW55bW9yZSBm
b3IgdjIgYmVjYXVzZSB3ZSB3aWxsIHVzZSB0aGUgZmlsZXMKZ2VuZXJhdGVkIGJ5IHRoZSBvcmln
aW4gYnVpbGQuCgpDb3N0aW4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhl
bnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5m
by9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Thu Dec 12 17:42:49 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 12 Dec 2019 17:42:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ifSUD-0003jf-HE; Thu, 12 Dec 2019 17:42:49 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=Gxg0=2C=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1ifSUC-0003jT-GW
 for minios-devel@lists.xen.org; Thu, 12 Dec 2019 17:42:48 +0000
X-Inumbo-ID: cef7bdbc-1d06-11ea-88e7-bc764e2007e4
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id cef7bdbc-1d06-11ea-88e7-bc764e2007e4;
 Thu, 12 Dec 2019 17:42:47 +0000 (UTC)
IronPort-SDR: J5VBoWL/6BiwBUVJZC/QY30Q5v5tfiVzI/9WPVR9YvwGOeJhuTfn9rL27nFD3ES/5kX6kqnqV2
 ucmjL7BNt+YQ==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 12 Dec 2019 19:42:42 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 5DB7C1A60267;
 Thu, 12 Dec 2019 19:42:43 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id 4604BCBQevC7; Thu, 12 Dec 2019 19:42:43 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 452021A6029A;
 Thu, 12 Dec 2019 19:42:43 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id S_BWZWNnqPkj; Thu, 12 Dec 2019 19:42:43 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 28D721A60270;
 Thu, 12 Dec 2019 19:42:43 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Thu, 12 Dec 2019 19:42:33 +0200
Message-Id: <20191212174239.5202-3-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191212174239.5202-1-costin.lupu@cs.pub.ro>
References: <20191212174239.5202-1-costin.lupu@cs.pub.ro>
Subject: [Minios-devel] [UNIKRAFT/RUBY PATCH 2/8] extensions/socket: Disable
 unavailable features
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhpcyBpcyBhbiBleGFtcGxlIG9mIGRpc2FibGluZyBmZWF0dXJlcyBpbiB0aGUgPGV4dGNvbmYu
aD4gaGVhZGVyIG9mIGFuCmV4dGVuc2lvbi4gSGVyZSB3ZSBkaXNhYmxlIHRoZSBmbGFncyBmb3Ig
YGFjY2VwdDQoKWAgYW5kIGBpZmFkZHJzYCBzdHJ1Y3R1cmUKYW5kIGl0cyBhc3NvY2lhdGVkIGZ1
bmN0aW9ucy4KClNpZ25lZC1vZmYtYnk6IENvc3RpbiBMdXB1IDxjb3N0aW4ubHVwdUBjcy5wdWIu
cm8+ClJldmlld2VkLWJ5OiBTdGVmYW4gVGVvZG9yZXNjdSA8c3RlZmFubC50ZW9kb3Jlc2N1QGdt
YWlsLmNvbT4KLS0tCiBnZW5lcmF0ZWQvZXh0L3NvY2tldC9leHRjb25mLmggfCA2ICsrKy0tLQog
MSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1n
aXQgYS9nZW5lcmF0ZWQvZXh0L3NvY2tldC9leHRjb25mLmggYi9nZW5lcmF0ZWQvZXh0L3NvY2tl
dC9leHRjb25mLmgKaW5kZXggNzg2MTE3ZC4uZDE1Zjk4ZCAxMDA2NDQKLS0tIGEvZ2VuZXJhdGVk
L2V4dC9zb2NrZXQvZXh0Y29uZi5oCisrKyBiL2dlbmVyYXRlZC9leHQvc29ja2V0L2V4dGNvbmYu
aApAQCAtOCw3ICs4LDcgQEAKICNkZWZpbmUgSEFWRV9ORVRQQUNLRVRfUEFDS0VUX0ggMQogI2Rl
ZmluZSBIQVZFX05FVF9FVEhFUk5FVF9IIDEKICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCi0jZGVm
aW5lIEhBVkVfSUZBRERSU19IIDEKKy8qI2RlZmluZSBIQVZFX0lGQUREUlNfSCAxKi8KICNkZWZp
bmUgSEFWRV9TWVNfSU9DVExfSCAxCiAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQogI2RlZmluZSBI
QVZFX1NZU19QQVJBTV9IIDEKQEAgLTEwNSwxMSArMTA1LDExIEBACiAjZGVmaW5lIEhBVkVfRlJF
RUFERFJJTkZPIDEKICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQogI2RlZmluZSBHQUlfU1RS
RVJST1JfQ09OU1QgMQotI2RlZmluZSBIQVZFX0FDQ0VQVDQgMQorLyojZGVmaW5lIEhBVkVfQUND
RVBUNCAxKi8KICNkZWZpbmUgSEFWRV9JTkVUX05UT1AgMQogI2RlZmluZSBIQVZFX0lORVRfUFRP
TiAxCiAjZGVmaW5lIEhBVkVfR0VUU0VSVkJZUE9SVCAxCi0jZGVmaW5lIEhBVkVfR0VUSUZBRERS
UyAxCisvKiNkZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEqLwogI2RlZmluZSBIQVZFX0lGX0lOREVY
VE9OQU1FIDEKICNkZWZpbmUgTkVFRF9JRl9JTkRFWFRPTkFNRV9ERUNMIDEKICNkZWZpbmUgSEFW
RV9JRl9OQU1FVE9JTkRFWCAxCi0tIAoyLjIwLjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1k
ZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21h
aWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Thu Dec 12 17:42:49 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 12 Dec 2019 17:42:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ifSUC-0003jU-Fo; Thu, 12 Dec 2019 17:42:48 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=Gxg0=2C=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1ifSUA-0003jO-Ox
 for minios-devel@lists.xen.org; Thu, 12 Dec 2019 17:42:46 +0000
X-Inumbo-ID: cdfff1ae-1d06-11ea-8ddb-12813bfff9fa
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id cdfff1ae-1d06-11ea-8ddb-12813bfff9fa;
 Thu, 12 Dec 2019 17:42:45 +0000 (UTC)
IronPort-SDR: ALyPsUZ8dbbd0QxS/28tdkfRAdyAFkzkq3WKrqIyhMH/6r7qHqUrLAvw7mOjAQ50Etjo7lCJBL
 KdczolghIjBA==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 12 Dec 2019 19:42:42 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 46A4B1A6029D;
 Thu, 12 Dec 2019 19:42:43 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id u5E2K2EvRTHl; Thu, 12 Dec 2019 19:42:43 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 2CDA11A60271;
 Thu, 12 Dec 2019 19:42:43 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id qxmsfdAt5QIQ; Thu, 12 Dec 2019 19:42:43 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 181091A60267;
 Thu, 12 Dec 2019 19:42:43 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Thu, 12 Dec 2019 19:42:31 +0200
Message-Id: <20191212174239.5202-1-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
Subject: [Minios-devel] [UNIKRAFT/RUBY PATCH 0/8] Port Ruby on Unikraft
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhlc2UgYXJlIHRoZSBwYXRjaGVzIG5lZWRlZCBmb3IgcG9ydGluZyBSdWJ5IG9uIFVuaWtyYWZ0
LiBUaGUgc3VtbWFyeToKLSBwYXRjaCAwMSBpbnRyb2R1Y2VzIHRoZSBsaWJyYXJ5IHNrZWxldG9u
Ci0gcGF0Y2hlcyAwMi0wNyBidWlsZCB0aGUgY29yZSBmdW5jdGlvbmFsaXR5Ci0gcGF0Y2hlcyAw
OC0xMCBidWlsZCB0aGUgZXh0ZW5zaW9ucwotIHBhdGNoZXMgMTEtMTIgYnVpbGQgdGhlIGVuY29k
aW5ncwotIHBhdGNoIDEzIGJ1aWxkcyB0aGUgdW5pdCB0ZXN0cyAob25seSAyIG9mIHRoZW0gYXJl
IGVuYWJsZWQgZm9yIG5vdykKLSBwYXRjaGVzIDE0LTE2IGFyZSBuZWVkZWQgZm9yIHByZXBhcmlu
ZyB0aGUgc2V0dXAKClRoZSByZXZpZXdlciBzaG91bGQgc3RhcnQgd2l0aCB0aGUgbGFzdCBwYXRj
aCB3aGljaCBhZGRzIHRoZSBkb2N1bWVudGF0aW9uCm5lZWRlZCBmb3IgYnVpbGRpbmcsIHJ1bm5p
bmcgYW5kIHRlc3RpbmcgUnVieSBvbiBVbmlrcmFmdC4gVGhlIFJFQURNRSBzaG91bGQKY29udGFp
biBhbGwgdGhlIG5lY2Vzc2FyeSBpbmZvOyBpZiBhbnl0aGluZyBpcyBtaXNzaW5nIHRoZW4gaXQg
c2hvdWxkIGJlCmNvbW1lbnRlZCBkdXJpbmcgcmV2aWV3aW5nLiBTb21lIG9mIHRoZSBwYXRjaGVz
IGp1c3QgaW50cm9kdWNlIGZpbGVzIHRoYXQgd2VyZQpnZW5lcmF0ZWQgYnkgdGhlIExpbnV4IGJ1
aWxkIGFuZCB0aGV5IHNob3VsZCBiZSByZXZpZXdlZCByZWFsbHkgcXVpY2suCgpBbGwgdGhlIGRl
cGVuZGVuY2llcyBhcmUgYWxyZWFkeSBzZW50IG9uIHRoZSBtYWlsaW5nIGxpc3QuCgpDaGFuZ2Vz
IHNpbmNlIHYxOgotIEtlZXAgb25seSBnZW5lcmF0ZWQgZmlsZXMgdGhhdCB3ZSBjdXN0b21pemUu
IFRoaXMgaW1wbGllZCBkcm9wcGluZyBwYXRjaGVzIDQKICAoaW50cm9kdWNpbmcgZ2VuZXJhdGVk
IGNvcmUgZmlsZXMpIGFuZCAxMSAoaW50cm9kdWNpbmcgZ2VuZXJhdGVkIGVuY29kaW5ncwogIGZp
bGVzKSBmcm9tIHYxLgotIFB1c2ggZmlyc3QgNiBhY2NlcHRlZCBwYXRjaGVzLiB2MiBzdGFydHMg
d2l0aCBwYXRjaCA4IG9mIHYxLgotIEZpeCBpc3N1ZXMgZGVzY3JpYmVkIGluIHYxIHJldmlld3Mu
CgpDb3N0aW4gTHVwdSAoOCk6CiAgZXh0ZW5zaW9uczogQWRkIGdlbmVyYXRlZCBmaWxlcwogIGV4
dGVuc2lvbnMvc29ja2V0OiBEaXNhYmxlIHVuYXZhaWxhYmxlIGZlYXR1cmVzCiAgZXh0ZW5zaW9u
czogQnVpbGQgZXh0ZW5zaW9ucwogIGVuY29kaW5nczogQnVpbGQgZW5jb2RpbmdzCiAgdGVzdHM6
IEJ1aWxkIHRlc3RzCiAgTWFrZWZpbGUudWs6IEFkZCBydWxlIGZvciBjcmVhdGluZyByb290IGZp
bGVzeXN0ZW0KICBQcm92aWRlIG1haW4oKSBmdW5jdGlvbiBpZiBjb25maWd1cmVkIHRvIGRvIHNv
CiAgUkVBRE1FLm1kOiBVcGRhdGUgd2l0aCBpbmZvIGFib3V0IGJ1aWxkaW5nIGFuZCBydW5uaW5n
CgogQ29uZmlnLnVrICAgICAgICAgICAgICAgICAgICAgIHwgMTI3ICsrKysrKysrKysKIE1ha2Vm
aWxlLnVrICAgICAgICAgICAgICAgICAgICB8IDQyNiArKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysKIFJFQURNRS5tZCAgICAgICAgICAgICAgICAgICAgICB8ICA2NiArKysrLQogZ2Vt
cy1leGFtcGxlcy9HZW1maWxlLWlyYiAgICAgIHwgICA4ICsKIGdlbmVyYXRlZC9leHQvZXh0aW5p
dC5jICAgICAgICB8IDExMSArKysrKysrKysKIGdlbmVyYXRlZC9leHQvc29ja2V0L2V4dGNvbmYu
aCB8IDEyOCArKysrKysrKysrCiBpbmNsdWRlL3J1YnkvY29uZmlnLmggICAgICAgICAgfCAgIDEg
KwogcnVieV9tYWluX2V4YW1wbGUuYyAgICAgICAgICAgIHwgIDEzICsKIDggZmlsZXMgY2hhbmdl
ZCwgODc2IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQg
Z2Vtcy1leGFtcGxlcy9HZW1maWxlLWlyYgogY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbmVyYXRlZC9l
eHQvZXh0aW5pdC5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC9zb2NrZXQvZXh0
Y29uZi5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgcnVieV9tYWluX2V4YW1wbGUuYwoKLS0gCjIuMjAu
MQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlv
cy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0
dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Thu Dec 12 17:42:52 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 12 Dec 2019 17:42:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ifSUG-0003kU-Im; Thu, 12 Dec 2019 17:42:52 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=Gxg0=2C=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1ifSUF-0003kI-LW
 for minios-devel@lists.xen.org; Thu, 12 Dec 2019 17:42:51 +0000
X-Inumbo-ID: cdfff1af-1d06-11ea-8ddb-12813bfff9fa
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id cdfff1af-1d06-11ea-8ddb-12813bfff9fa;
 Thu, 12 Dec 2019 17:42:46 +0000 (UTC)
IronPort-SDR: /KZf9riVCPm+EWmuVVks10i13YpeVux9AMcclPVX8FxuqhVgkjbdr/wpHpvmYJTBrxwaSTb48z
 qirQi14FdLSw==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 12 Dec 2019 19:42:42 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 56E901A6029E;
 Thu, 12 Dec 2019 19:42:43 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id IJvU33SKtuiV; Thu, 12 Dec 2019 19:42:43 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 3A1F61A60267;
 Thu, 12 Dec 2019 19:42:43 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id 29CQ19DW_jUT; Thu, 12 Dec 2019 19:42:43 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 1C5FE1A6026E;
 Thu, 12 Dec 2019 19:42:43 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Thu, 12 Dec 2019 19:42:32 +0200
Message-Id: <20191212174239.5202-2-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191212174239.5202-1-costin.lupu@cs.pub.ro>
References: <20191212174239.5202-1-costin.lupu@cs.pub.ro>
Subject: [Minios-devel] [UNIKRAFT/RUBY PATCH 1/8] extensions: Add generated
 files
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RWFjaCBleHRlbnNpb25zIGhhcyBpdHMgb3duIDxleHRjb25mLmg+IGhlYWRlciwgd2hpY2ggaXMg
Z2VuZXJhdGVkIGJhc2VkIG9uIHRoZQpidWlsZCBzeXN0ZW0gY29uZmlndXJhdGlvbi4gV2UgY2hv
b3NlIHRvIGFkZCB0aGlzIGhlYWRlciBmb3IgYHNvY2tldGAgZXh0ZW5zaW9uCmludG8gdGhlIGds
dWUgY29kZSBiZWNhdXNlIHdlIG5lZWQgdG8gY2hhbmdlIHNvbWUgb2YgaXRzIGNvbmZpZ3VyYXRp
b25zIGluIHRoZQpuZXh0IHBhdGNoLiBBbGwgdGhlIGV4dGVuc2lvbnMgYXJlIHJlZ2lzdGVyZWQg
aW4gdGhlIGBleHRpbml0LmNgIGZpbGUuCgpTaWduZWQtb2ZmLWJ5OiBDb3N0aW4gTHVwdSA8Y29z
dGluLmx1cHVAY3MucHViLnJvPgotLS0KIGdlbmVyYXRlZC9leHQvZXh0aW5pdC5jICAgICAgICB8
ICA0OCArKysrKysrKysrKysrCiBnZW5lcmF0ZWQvZXh0L3NvY2tldC9leHRjb25mLmggfCAxMjgg
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDE3NiBp
bnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC9leHRpbml0LmMK
IGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0L3NvY2tldC9leHRjb25mLmgKCmRpZmYg
LS1naXQgYS9nZW5lcmF0ZWQvZXh0L2V4dGluaXQuYyBiL2dlbmVyYXRlZC9leHQvZXh0aW5pdC5j
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ5MmE5MzMKLS0tIC9kZXYvbnVs
bAorKysgYi9nZW5lcmF0ZWQvZXh0L2V4dGluaXQuYwpAQCAtMCwwICsxLDQ4IEBACisjaW5jbHVk
ZSAicnVieS9ydWJ5LmgiCisKKyNkZWZpbmUgaW5pdChmdW5jLCBuYW1lKSB7CVwKKyAgICBleHRl
cm4gdm9pZCBmdW5jKHZvaWQpOwlcCisgICAgcnVieV9pbml0X2V4dChuYW1lIi5zbyIsIGZ1bmMp
OyBcCit9CisKK3ZvaWQgcnVieV9pbml0X2V4dChjb25zdCBjaGFyICpuYW1lLCB2b2lkICgqaW5p
dCkodm9pZCkpOworCit2b2lkIEluaXRfZXh0KHZvaWQpCit7CisgICAgaW5pdChJbml0X3N0cnNj
YW4sICJzdHJzY2FuIik7CisgICAgaW5pdChJbml0X3N5c2xvZywgInN5c2xvZyIpOworICAgIGlu
aXQoSW5pdF9nZW5lcmF0b3IsICJqc29uL2V4dC9nZW5lcmF0b3IiKTsKKyAgICBpbml0KEluaXRf
cGFyc2VyLCAianNvbi9leHQvcGFyc2VyIik7CisgICAgaW5pdChJbml0X3NpemVvZiwgInJiY29u
ZmlnL3NpemVvZiIpOworICAgIGluaXQoSW5pdF9iaWdkZWNpbWFsLCAiYmlnZGVjaW1hbCIpOwor
ICAgIGluaXQoSW5pdF91dGlsLCAiYmlnZGVjaW1hbC91dGlsIik7CisgICAgaW5pdChJbml0X2Nw
YXJzZSwgInJhY2MvY3BhcnNlIik7CisgICAgaW5pdChJbml0X2RpZ2VzdCwgImRpZ2VzdCIpOwor
ICAgIGluaXQoSW5pdF9idWJibGViYWJibGUsICJkaWdlc3QvYnViYmxlYmFiYmxlIik7CisgICAg
aW5pdChJbml0X21kNSwgImRpZ2VzdC9tZDUiKTsKKyAgICBpbml0KEluaXRfcm1kMTYwLCAiZGln
ZXN0L3JtZDE2MCIpOworICAgIGluaXQoSW5pdF9zaGExLCAiZGlnZXN0L3NoYTEiKTsKKyAgICBp
bml0KEluaXRfc2hhMiwgImRpZ2VzdC9zaGEyIik7CisgICAgaW5pdChJbml0X3BzeWNoLCAicHN5
Y2giKTsKKyAgICBpbml0KEluaXRfZXNjYXBlLCAiY2dpL2VzY2FwZSIpOworICAgIGluaXQoSW5p
dF9mY250bCwgImZjbnRsIik7CisgICAgaW5pdChJbml0X3N0cmluZ2lvLCAic3RyaW5naW8iKTsK
KyAgICBpbml0KEluaXRfc29ja2V0LCAic29ja2V0Iik7CisgICAgaW5pdChJbml0X3BhdGhuYW1l
LCAicGF0aG5hbWUiKTsKKyAgICBpbml0KEluaXRfZGF0ZV9jb3JlLCAiZGF0ZV9jb3JlIik7Cisg
ICAgaW5pdChJbml0X3B0eSwgInB0eSIpOworICAgIGluaXQoSW5pdF9vcGVuc3NsLCAib3BlbnNz
bCIpOworICAgIGluaXQoSW5pdF9maWJlciwgImZpYmVyIik7CisgICAgaW5pdChJbml0X2ZpZGRs
ZSwgImZpZGRsZSIpOworICAgIGluaXQoSW5pdF9ldGMsICJldGMiKTsKKyAgICBpbml0KEluaXRf
Y29udGludWF0aW9uLCAiY29udGludWF0aW9uIik7CisgICAgaW5pdChJbml0X29ianNwYWNlLCAi
b2Jqc3BhY2UiKTsKKyAgICBpbml0KEluaXRfY292ZXJhZ2UsICJjb3ZlcmFnZSIpOworICAgIGlu
aXQoSW5pdF9jb25zb2xlLCAiaW8vY29uc29sZSIpOworICAgIGluaXQoSW5pdF9ub25ibG9jaywg
ImlvL25vbmJsb2NrIik7CisgICAgaW5pdChJbml0X3dhaXQsICJpby93YWl0Iik7CisgICAgaW5p
dChJbml0X3JpcHBlciwgInJpcHBlciIpOworICAgIGluaXQoSW5pdF9ua2YsICJua2YiKTsKKyAg
ICBpbml0KEluaXRfemxpYiwgInpsaWIiKTsKKyAgICBpbml0KEluaXRfc2RibSwgInNkYm0iKTsK
K30KZGlmZiAtLWdpdCBhL2dlbmVyYXRlZC9leHQvc29ja2V0L2V4dGNvbmYuaCBiL2dlbmVyYXRl
ZC9leHQvc29ja2V0L2V4dGNvbmYuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li43ODYxMTdkCi0tLSAvZGV2L251bGwKKysrIGIvZ2VuZXJhdGVkL2V4dC9zb2NrZXQvZXh0Y29u
Zi5oCkBAIC0wLDAgKzEsMTI4IEBACisjaWZuZGVmIEVYVENPTkZfSAorI2RlZmluZSBFWFRDT05G
X0gKKyNkZWZpbmUgSEFWRV9TWVNfVUlPX0ggMQorI2RlZmluZSBIQVZFX05FVElORVRfSU5fU1lT
VE1fSCAxCisjZGVmaW5lIEhBVkVfTkVUSU5FVF9UQ1BfSCAxCisjZGVmaW5lIEhBVkVfTkVUSU5F
VF9VRFBfSCAxCisjZGVmaW5lIEhBVkVfQVJQQV9JTkVUX0ggMQorI2RlZmluZSBIQVZFX05FVFBB
Q0tFVF9QQUNLRVRfSCAxCisjZGVmaW5lIEhBVkVfTkVUX0VUSEVSTkVUX0ggMQorI2RlZmluZSBI
QVZFX1NZU19VTl9IIDEKKyNkZWZpbmUgSEFWRV9JRkFERFJTX0ggMQorI2RlZmluZSBIQVZFX1NZ
U19JT0NUTF9IIDEKKyNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCisjZGVmaW5lIEhBVkVfU1lTX1BB
UkFNX0ggMQorI2RlZmluZSBIQVZFX0FSUEFfTkFNRVNFUl9IIDEKKyNkZWZpbmUgSEFWRV9SRVNP
TFZfSCAxCisjZGVmaW5lIEhBVkVfVFlQRV9TVFJVQ1RfU09DS0FERFJfVU4gMQorI2RlZmluZSBI
QVZFX1RZUEVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0UgMQorI2RlZmluZSBIQVZFX1RZUEVfU1RS
VUNUX0FERFJJTkZPIDEKKyNkZWZpbmUgSEFWRV9UWVBFX1NPQ0tMRU5fVCAxCisjZGVmaW5lIEhB
VkVfVFlQRV9TVFJVQ1RfSU5fUEtUSU5GTyAxCisjZGVmaW5lIEhBVkVfU1RSVUNUX0lOX1BLVElO
Rk9fSVBJX1NQRUNfRFNUIDEKKyNkZWZpbmUgSEFWRV9TVF9JUElfU1BFQ19EU1QgMQorI2RlZmlu
ZSBIQVZFX1RZUEVfU1RSVUNUX0lONl9QS1RJTkZPIDEKKyNkZWZpbmUgSEFWRV9UWVBFX1NUUlVD
VF9JUF9NUkVRIDEKKyNkZWZpbmUgSEFWRV9UWVBFX1NUUlVDVF9JUF9NUkVRTiAxCisjZGVmaW5l
IEhBVkVfVFlQRV9TVFJVQ1RfSVBWNl9NUkVRIDEKKyNkZWZpbmUgSEFWRV9TVFJVQ1RfTVNHSERS
X01TR19DT05UUk9MIDEKKyNkZWZpbmUgSEFWRV9TVF9NU0dfQ09OVFJPTCAxCisjZGVmaW5lIEhB
VkVfVFlQRV9TVFJVQ1RfVENQX0lORk8gMQorI2RlZmluZSBIQVZFX0NPTlNUX1RDUF9FU1RBQkxJ
U0hFRCAxCisjZGVmaW5lIEhBVkVfQ09OU1RfVENQX1NZTl9TRU5UIDEKKyNkZWZpbmUgSEFWRV9D
T05TVF9UQ1BfU1lOX1JFQ1YgMQorI2RlZmluZSBIQVZFX0NPTlNUX1RDUF9GSU5fV0FJVDEgMQor
I2RlZmluZSBIQVZFX0NPTlNUX1RDUF9GSU5fV0FJVDIgMQorI2RlZmluZSBIQVZFX0NPTlNUX1RD
UF9USU1FX1dBSVQgMQorI2RlZmluZSBIQVZFX0NPTlNUX1RDUF9DTE9TRSAxCisjZGVmaW5lIEhB
VkVfQ09OU1RfVENQX0NMT1NFX1dBSVQgMQorI2RlZmluZSBIQVZFX0NPTlNUX1RDUF9MQVNUX0FD
SyAxCisjZGVmaW5lIEhBVkVfQ09OU1RfVENQX0xJU1RFTiAxCisjZGVmaW5lIEhBVkVfQ09OU1Rf
VENQX0NMT1NJTkcgMQorI2RlZmluZSBIQVZFX1NUUlVDVF9UQ1BfSU5GT19UQ1BJX1NUQVRFIDEK
KyNkZWZpbmUgSEFWRV9TVF9UQ1BJX1NUQVRFIDEKKyNkZWZpbmUgSEFWRV9TVFJVQ1RfVENQX0lO
Rk9fVENQSV9DQV9TVEFURSAxCisjZGVmaW5lIEhBVkVfU1RfVENQSV9DQV9TVEFURSAxCisjZGVm
aW5lIEhBVkVfU1RSVUNUX1RDUF9JTkZPX1RDUElfUkVUUkFOU01JVFMgMQorI2RlZmluZSBIQVZF
X1NUX1RDUElfUkVUUkFOU01JVFMgMQorI2RlZmluZSBIQVZFX1NUUlVDVF9UQ1BfSU5GT19UQ1BJ
X1BST0JFUyAxCisjZGVmaW5lIEhBVkVfU1RfVENQSV9QUk9CRVMgMQorI2RlZmluZSBIQVZFX1NU
UlVDVF9UQ1BfSU5GT19UQ1BJX0JBQ0tPRkYgMQorI2RlZmluZSBIQVZFX1NUX1RDUElfQkFDS09G
RiAxCisjZGVmaW5lIEhBVkVfU1RSVUNUX1RDUF9JTkZPX1RDUElfT1BUSU9OUyAxCisjZGVmaW5l
IEhBVkVfU1RfVENQSV9PUFRJT05TIDEKKyNkZWZpbmUgSEFWRV9TVFJVQ1RfVENQX0lORk9fVENQ
SV9SVE8gMQorI2RlZmluZSBIQVZFX1NUX1RDUElfUlRPIDEKKyNkZWZpbmUgSEFWRV9TVFJVQ1Rf
VENQX0lORk9fVENQSV9BVE8gMQorI2RlZmluZSBIQVZFX1NUX1RDUElfQVRPIDEKKyNkZWZpbmUg
SEFWRV9TVFJVQ1RfVENQX0lORk9fVENQSV9TTkRfTVNTIDEKKyNkZWZpbmUgSEFWRV9TVF9UQ1BJ
X1NORF9NU1MgMQorI2RlZmluZSBIQVZFX1NUUlVDVF9UQ1BfSU5GT19UQ1BJX1JDVl9NU1MgMQor
I2RlZmluZSBIQVZFX1NUX1RDUElfUkNWX01TUyAxCisjZGVmaW5lIEhBVkVfU1RSVUNUX1RDUF9J
TkZPX1RDUElfVU5BQ0tFRCAxCisjZGVmaW5lIEhBVkVfU1RfVENQSV9VTkFDS0VEIDEKKyNkZWZp
bmUgSEFWRV9TVFJVQ1RfVENQX0lORk9fVENQSV9TQUNLRUQgMQorI2RlZmluZSBIQVZFX1NUX1RD
UElfU0FDS0VEIDEKKyNkZWZpbmUgSEFWRV9TVFJVQ1RfVENQX0lORk9fVENQSV9MT1NUIDEKKyNk
ZWZpbmUgSEFWRV9TVF9UQ1BJX0xPU1QgMQorI2RlZmluZSBIQVZFX1NUUlVDVF9UQ1BfSU5GT19U
Q1BJX1JFVFJBTlMgMQorI2RlZmluZSBIQVZFX1NUX1RDUElfUkVUUkFOUyAxCisjZGVmaW5lIEhB
VkVfU1RSVUNUX1RDUF9JTkZPX1RDUElfRkFDS0VUUyAxCisjZGVmaW5lIEhBVkVfU1RfVENQSV9G
QUNLRVRTIDEKKyNkZWZpbmUgSEFWRV9TVFJVQ1RfVENQX0lORk9fVENQSV9MQVNUX0RBVEFfU0VO
VCAxCisjZGVmaW5lIEhBVkVfU1RfVENQSV9MQVNUX0RBVEFfU0VOVCAxCisjZGVmaW5lIEhBVkVf
U1RSVUNUX1RDUF9JTkZPX1RDUElfTEFTVF9BQ0tfU0VOVCAxCisjZGVmaW5lIEhBVkVfU1RfVENQ
SV9MQVNUX0FDS19TRU5UIDEKKyNkZWZpbmUgSEFWRV9TVFJVQ1RfVENQX0lORk9fVENQSV9MQVNU
X0RBVEFfUkVDViAxCisjZGVmaW5lIEhBVkVfU1RfVENQSV9MQVNUX0RBVEFfUkVDViAxCisjZGVm
aW5lIEhBVkVfU1RSVUNUX1RDUF9JTkZPX1RDUElfTEFTVF9BQ0tfUkVDViAxCisjZGVmaW5lIEhB
VkVfU1RfVENQSV9MQVNUX0FDS19SRUNWIDEKKyNkZWZpbmUgSEFWRV9TVFJVQ1RfVENQX0lORk9f
VENQSV9QTVRVIDEKKyNkZWZpbmUgSEFWRV9TVF9UQ1BJX1BNVFUgMQorI2RlZmluZSBIQVZFX1NU
UlVDVF9UQ1BfSU5GT19UQ1BJX1JDVl9TU1RIUkVTSCAxCisjZGVmaW5lIEhBVkVfU1RfVENQSV9S
Q1ZfU1NUSFJFU0ggMQorI2RlZmluZSBIQVZFX1NUUlVDVF9UQ1BfSU5GT19UQ1BJX1JUVCAxCisj
ZGVmaW5lIEhBVkVfU1RfVENQSV9SVFQgMQorI2RlZmluZSBIQVZFX1NUUlVDVF9UQ1BfSU5GT19U
Q1BJX1JUVFZBUiAxCisjZGVmaW5lIEhBVkVfU1RfVENQSV9SVFRWQVIgMQorI2RlZmluZSBIQVZF
X1NUUlVDVF9UQ1BfSU5GT19UQ1BJX1NORF9TU1RIUkVTSCAxCisjZGVmaW5lIEhBVkVfU1RfVENQ
SV9TTkRfU1NUSFJFU0ggMQorI2RlZmluZSBIQVZFX1NUUlVDVF9UQ1BfSU5GT19UQ1BJX1NORF9D
V05EIDEKKyNkZWZpbmUgSEFWRV9TVF9UQ1BJX1NORF9DV05EIDEKKyNkZWZpbmUgSEFWRV9TVFJV
Q1RfVENQX0lORk9fVENQSV9BRFZNU1MgMQorI2RlZmluZSBIQVZFX1NUX1RDUElfQURWTVNTIDEK
KyNkZWZpbmUgSEFWRV9TVFJVQ1RfVENQX0lORk9fVENQSV9SRU9SREVSSU5HIDEKKyNkZWZpbmUg
SEFWRV9TVF9UQ1BJX1JFT1JERVJJTkcgMQorI2RlZmluZSBIQVZFX1NUUlVDVF9UQ1BfSU5GT19U
Q1BJX1JDVl9SVFQgMQorI2RlZmluZSBIQVZFX1NUX1RDUElfUkNWX1JUVCAxCisjZGVmaW5lIEhB
VkVfU1RSVUNUX1RDUF9JTkZPX1RDUElfUkNWX1NQQUNFIDEKKyNkZWZpbmUgSEFWRV9TVF9UQ1BJ
X1JDVl9TUEFDRSAxCisjZGVmaW5lIEhBVkVfU1RSVUNUX1RDUF9JTkZPX1RDUElfVE9UQUxfUkVU
UkFOUyAxCisjZGVmaW5lIEhBVkVfU1RfVENQSV9UT1RBTF9SRVRSQU5TIDEKKyNkZWZpbmUgSEFW
RV9TT0NLRVQgMQorI2RlZmluZSBIQVZFX1NFTkRNU0cgMQorI2RlZmluZSBIQVZFX1JFQ1ZNU0cg
MQorI2RlZmluZSBIQVZFX0ZSRUVBRERSSU5GTyAxCisjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9S
IDEKKyNkZWZpbmUgR0FJX1NUUkVSUk9SX0NPTlNUIDEKKyNkZWZpbmUgSEFWRV9BQ0NFUFQ0IDEK
KyNkZWZpbmUgSEFWRV9JTkVUX05UT1AgMQorI2RlZmluZSBIQVZFX0lORVRfUFRPTiAxCisjZGVm
aW5lIEhBVkVfR0VUU0VSVkJZUE9SVCAxCisjZGVmaW5lIEhBVkVfR0VUSUZBRERSUyAxCisjZGVm
aW5lIEhBVkVfSUZfSU5ERVhUT05BTUUgMQorI2RlZmluZSBORUVEX0lGX0lOREVYVE9OQU1FX0RF
Q0wgMQorI2RlZmluZSBIQVZFX0lGX05BTUVUT0lOREVYIDEKKyNkZWZpbmUgTkVFRF9JRl9OQU1F
VE9JTkRFWF9ERUNMIDEKKyNkZWZpbmUgSEFWRV9HRVRIT1NUQllOQU1FMiAxCisjZGVmaW5lIEhB
VkVfU09DS0VUUEFJUiAxCisjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQorI2RlZmluZSBFTkFC
TEVfSVBWNiAxCisjZGVmaW5lIElORVQ2IDEKKyNkZWZpbmUgSEFWRV9DT05TVF9BRl9VTklYIDEK
KyNkZWZpbmUgSEFWRV9DT05TVF9TQ01fUklHSFRTIDEKKyNkZWZpbmUgRkRfUEFTU0lOR19XT1JL
X1dJVEhfUkVDVk1TR19NU0dfUEVFSyAxCisjZGVmaW5lIEhBVkVfR0VUTkFNRUlORk8gMQorI2Rl
ZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKKyNkZWZpbmUgUlVCWV9FWFBPUlQgMQorI2VuZGlmCi0t
IAoyLjIwLjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0
Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9z
LWRldmVs

From minios-devel-bounces@lists.xenproject.org Thu Dec 12 17:42:54 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 12 Dec 2019 17:42:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ifSUI-0003lK-LF; Thu, 12 Dec 2019 17:42:54 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=Gxg0=2C=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1ifSUH-0003kv-E7
 for minios-devel@lists.xen.org; Thu, 12 Dec 2019 17:42:53 +0000
X-Inumbo-ID: cff65642-1d06-11ea-88e7-bc764e2007e4
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id cff65642-1d06-11ea-88e7-bc764e2007e4;
 Thu, 12 Dec 2019 17:42:48 +0000 (UTC)
IronPort-SDR: hQUqHKh3DG6YPS3lDMdt42yHIExjq+XkDDBLdQ0yaCGVRl574o9D5BMqQOdImjbSWMLrCyZNS/
 vFhE9i7wz72A==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 12 Dec 2019 19:42:42 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 881B61A60270;
 Thu, 12 Dec 2019 19:42:43 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id o87eujcDc0qf; Thu, 12 Dec 2019 19:42:43 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 7124D1A60267;
 Thu, 12 Dec 2019 19:42:43 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id Ly1tO-2bbQAd; Thu, 12 Dec 2019 19:42:43 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 5069D1A60271;
 Thu, 12 Dec 2019 19:42:43 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Thu, 12 Dec 2019 19:42:38 +0200
Message-Id: <20191212174239.5202-8-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191212174239.5202-1-costin.lupu@cs.pub.ro>
References: <20191212174239.5202-1-costin.lupu@cs.pub.ro>
Subject: [Minios-devel] [UNIKRAFT/RUBY PATCH 7/8] Provide main() function if
 configured to do so
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

V2UgcHJvdmlkZSBhIGNvbmZpZ3VyYWJsZSBtYWluKCkgZnVuY3Rpb24gZm9yIHJ1bm5pbmcgUnVi
eSBvdXQtb2YtdGhlLWJveCBhbmQKYWxzbyBmb3Igc2hvd2luZyBhbiBleGFtcGxlIG9mIHN1Y2gg
YSBmdW5jdGlvbiB0byBiZSB1c2VkIGJ5IGN1c3RvbQphcHBsaWNhdGlvbnMuIEl0IGFsc28gc2V0
cyB0aGUgbmVjZXNzYXJ5IFJ1YnkgZW52aXJvbm1lbnQgdmFyaWFibGVzLgoKU2lnbmVkLW9mZi1i
eTogQ29zdGluIEx1cHUgPGNvc3Rpbi5sdXB1QGNzLnB1Yi5ybz4KUmV2aWV3ZWQtYnk6IFN0ZWZh
biBUZW9kb3Jlc2N1IDxzdGVmYW5sLnRlb2RvcmVzY3VAZ21haWwuY29tPgotLS0KIENvbmZpZy51
ayAgICAgICAgICAgfCAxMCArKysrKysrKysrCiBNYWtlZmlsZS51ayAgICAgICAgIHwgIDEgKwog
cnVieV9tYWluX2V4YW1wbGUuYyB8IDEzICsrKysrKysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwg
MjQgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHJ1YnlfbWFpbl9leGFtcGxlLmMK
CmRpZmYgLS1naXQgYS9Db25maWcudWsgYi9Db25maWcudWsKaW5kZXggNDhiOTY2OS4uMjEyNTkx
OCAxMDA2NDQKLS0tIGEvQ29uZmlnLnVrCisrKyBiL0NvbmZpZy51awpAQCAtMjIsNiArMjIsMTYg
QEAgY29uZmlnIExJQlJVQllfTUlOSQogCWJvb2wgIk1pbmkgY29uZmlndXJhdGlvbiIKIAlkZWZh
dWx0IG4KIAorY29uZmlnIExJQlJVQllfTUFJTl9GVU5DVElPTgorCWJvb2wgIlByb3ZpZGUgbWFp
biBmdW5jdGlvbiIKKwlpbXBseSBMSUJVS0xJQlBBUkFNCisJaW1wbHkgTElCVkZTQ09SRV9BVVRP
TU9VTlRfUk9PVEZTCisJaW1wbHkgTElCVkZTQ09SRV9ST09URlNfOVBGUworCWltcGx5IExJQkRF
VkZTX0FVVE9NT1VOVAorCWltcGx5IExJQkRFVkZTX0RFVl9OVUxMCisJaW1wbHkgTElCVUs5UAor
CWRlZmF1bHQgbgorCiBjb25maWcgTElCUlVCWV9FWFQKIAlib29sICJFbmFibGUgZXh0ZW5zaW9u
cyIKIAlkZXBlbmRzIG9uICFMSUJSVUJZX01JTkkKZGlmZiAtLWdpdCBhL01ha2VmaWxlLnVrIGIv
TWFrZWZpbGUudWsKaW5kZXggYzgzMjUxOC4uODMzMzg5NCAxMDA2NDQKLS0tIGEvTWFrZWZpbGUu
dWsKKysrIGIvTWFrZWZpbGUudWsKQEAgLTk2LDYgKzk2LDcgQEAgTElCUlVCWV9DRkxBR1MteSAr
PSAtc3RkPWdudTk5IC1EX0ZPUlRJRllfU09VUkNFPTIgXAogCS1EUlVCWV9FWFBPUlQgLURDQU5P
TklDQUxJWkFUSU9OX0ZPUl9NQVRITgogCiBMSUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllfQkFT
RSkvdGhyZWFkLmN8dW5pa3JhZnQKK0xJQlJVQllfU1JDUy0kKENPTkZJR19MSUJSVUJZX01BSU5f
RlVOQ1RJT04pICs9ICQoTElCUlVCWV9CQVNFKS9ydWJ5X21haW5fZXhhbXBsZS5jfHVuaWtyYWZ0
CiAKIGlmZXEgKCQoQ09ORklHX0xJQlJVQllfTUlOSSkseSkKIExJQlJVQllfU1JDUy15ICs9ICQo
TElCUlVCWV9TUkMpL2RteWRsbi5jCmRpZmYgLS1naXQgYS9ydWJ5X21haW5fZXhhbXBsZS5jIGIv
cnVieV9tYWluX2V4YW1wbGUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44
ZDcxMWZiCi0tLSAvZGV2L251bGwKKysrIGIvcnVieV9tYWluX2V4YW1wbGUuYwpAQCAtMCwwICsx
LDEzIEBACisjaW5jbHVkZSA8c3RkbGliLmg+CisKK2V4dGVybiBpbnQgcnVieV9tYWluKGludCBh
cmdjLCBjaGFyICphcmd2W10pOworCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQor
eworCXNldGVudigiR0VNX0hPTUUiLCAiL2xpYi9ydWJ5L2dlbXMvMi42LjAiLCAwKTsKKwlzZXRl
bnYoIkdFTV9QQVRIIiwgIi9saWIvcnVieS9nZW1zLzIuNi4wIiwgMCk7CisJc2V0ZW52KCJSVUJZ
R0VNU19HRU1ERVBTIiwgIi9saWIvcnVieS8yLjYuMC9HZW1maWxlIiwgMCk7CisJc2V0ZW52KCJS
VUJZTElCIiwgIi9saWIvcnVieS8yLjYuMC86L2xpYi9ydWJ5LzIuNi4wL3g4Nl82NC1saW51eDov
bGliL3J1YnkvMi42LjAvLmV4dCIsIDApOworCisJcmV0dXJuIHJ1YnlfbWFpbihhcmdjLCBhcmd2
KTsKK30KLS0gCjIuMjAuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhl
bnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5m
by9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Thu Dec 12 17:42:57 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 12 Dec 2019 17:42:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ifSUL-0003mc-Mo; Thu, 12 Dec 2019 17:42:57 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=Gxg0=2C=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1ifSUK-0003mN-Lq
 for minios-devel@lists.xen.org; Thu, 12 Dec 2019 17:42:56 +0000
X-Inumbo-ID: cf46021a-1d06-11ea-8ddb-12813bfff9fa
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id cf46021a-1d06-11ea-8ddb-12813bfff9fa;
 Thu, 12 Dec 2019 17:42:47 +0000 (UTC)
IronPort-SDR: CnT28z5qKh4vvS2mmWq/Zgclt99PK9cyEEYeUVdGHbnIYrWn34Z21/xWLrnD6WVzJpY3osv2//
 NaP+GJVObhyQ==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 12 Dec 2019 19:42:42 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 67E301A6027E;
 Thu, 12 Dec 2019 19:42:43 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id 5CRf_muCbD-B; Thu, 12 Dec 2019 19:42:43 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 4D5B81A6026E;
 Thu, 12 Dec 2019 19:42:43 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id Mzk3X8Q_vGnz; Thu, 12 Dec 2019 19:42:43 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 359A71A60272;
 Thu, 12 Dec 2019 19:42:43 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Thu, 12 Dec 2019 19:42:34 +0200
Message-Id: <20191212174239.5202-4-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191212174239.5202-1-costin.lupu@cs.pub.ro>
References: <20191212174239.5202-1-costin.lupu@cs.pub.ro>
Subject: [Minios-devel] [UNIKRAFT/RUBY PATCH 3/8] extensions: Build
 extensions
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

QWxsIGV4dGVuc2lvbnMgYXJlIGluY2x1ZGVkIGluIGEgbmV3IGxpYnJhcnksIGxpYnJ1YnlfZXh0
LiBFYWNoIGV4dGVuc2lvbiBoYXMKaXRzIG93biBjb25maWd1cmF0aW9uIG9wdGlvbiBhbmQgYSA8
ZXh0Y29uZi5oPiBoZWFkZXIuIEdpdmVuIHRoYXQgdGhlCmV4dGVuc2lvbnMgZmlsZXMgYXJlIGdl
bmVyYXRlZCBhdCBidWlsZCB0aW1lIGJ5IHRoZSBvcmlnaW4gYnVpbGQgc3lzdGVtLCB3ZQphbHNv
IGhhdmUgdG8gcnVuIGAuL2NvbmZpZ3VyZWAgYW5kIGBtYWtlYCBmb3IgdGhlIG9yaWdpbmFsIGJ1
aWxkIGJlZm9yZQpidWlsZGluZyB0aGVtIGZvciBVbmlrcmFmdC4KClNpZ25lZC1vZmYtYnk6IENv
c3RpbiBMdXB1IDxjb3N0aW4ubHVwdUBjcy5wdWIucm8+Ci0tLQogQ29uZmlnLnVrICAgICAgICAg
ICAgICAgfCAxMDQgKysrKysrKysrKysrKysrCiBNYWtlZmlsZS51ayAgICAgICAgICAgICB8IDI3
OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBnZW5lcmF0ZWQvZXh0
L2V4dGluaXQuYyB8ICA1NyArKysrKysrKwogaW5jbHVkZS9ydWJ5L2NvbmZpZy5oICAgfCAgIDEg
KwogNCBmaWxlcyBjaGFuZ2VkLCA0NDEgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL0NvbmZp
Zy51ayBiL0NvbmZpZy51awppbmRleCBkZDgzMjY3Li41Zjg0ZTU3IDEwMDY0NAotLS0gYS9Db25m
aWcudWsKKysrIGIvQ29uZmlnLnVrCkBAIC0yMSw0ICsyMSwxMDggQEAgaWYgTElCUlVCWQogY29u
ZmlnIExJQlJVQllfTUlOSQogCWJvb2wgIk1pbmkgY29uZmlndXJhdGlvbiIKIAlkZWZhdWx0IG4K
KworY29uZmlnIExJQlJVQllfRVhUCisJYm9vbCAiRW5hYmxlIGV4dGVuc2lvbnMiCisJZGVwZW5k
cyBvbiAhTElCUlVCWV9NSU5JCisJZGVmYXVsdCB5CisKKwlpZiBMSUJSVUJZX0VYVAorCWNvbmZp
ZyBMSUJSVUJZX0VYVF9TVFJTQ0FOCisJCWJvb2wgInN0cnNjYW4iCisJCWRlZmF1bHQgeQorCWNv
bmZpZyBMSUJSVUJZX0VYVF9TWVNMT0cKKwkJYm9vbCAic3lzbG9nIgorCQlkZWZhdWx0IHkKKwlj
b25maWcgTElCUlVCWV9FWFRfSlNPTgorCQlib29sICJqc29uIgorCQlkZWZhdWx0IHkKKwljb25m
aWcgTElCUlVCWV9FWFRfUkJDT05GSUdfU0laRU9GCisJCWJvb2wgInJiY29uZmlnL3NpemVvZiIK
KwkJZGVmYXVsdCB5CisJY29uZmlnIExJQlJVQllfRVhUX0JJR0RFQ0lNQUwKKwkJYm9vbCAiYmln
ZGVjaW1hbCIKKwkJZGVmYXVsdCB5CisJY29uZmlnIExJQlJVQllfRVhUX1JBQ0NfQ1BBUlNFCisJ
CWJvb2wgInJhY2MvY3BhcnNlIgorCQlkZWZhdWx0IHkKKwljb25maWcgTElCUlVCWV9FWFRfUFNZ
Q0gKKwkJYm9vbCAicHN5Y2giCisJCWRlZmF1bHQgeQorCWlmIExJQlNTTAorCWNvbmZpZyBMSUJS
VUJZX0VYVF9ESUdFU1QKKwkJYm9vbCAiZGlnZXN0IgorCQlkZWZhdWx0IHkKKwllbmRpZgorCWNv
bmZpZyBMSUJSVUJZX0VYVF9DR0lfRVNDQVBFCisJCWJvb2wgImNnaS9lc2NhcGUiCisJCWRlZmF1
bHQgeQorCWNvbmZpZyBMSUJSVUJZX0VYVF9GQ05UTAorCQlib29sICJmY250bCIKKwkJZGVmYXVs
dCB5CisJY29uZmlnIExJQlJVQllfRVhUX1NPQ0tFVAorCQlib29sICJzb2NrZXQiCisJCXNlbGVj
dCBMV0lQX0lQVjYKKwkJc2VsZWN0IExXSVBfSUdNUAorCQlkZWZhdWx0IHkKKwljb25maWcgTElC
UlVCWV9FWFRfUEFUSE5BTUUKKwkJYm9vbCAicGF0aG5hbWUiCisJCWRlZmF1bHQgeQorCWNvbmZp
ZyBMSUJSVUJZX0VYVF9EQVRFX0NPUkUKKwkJYm9vbCAiZGF0ZV9jb3JlIgorCQlkZWZhdWx0IHkK
Kwljb25maWcgTElCUlVCWV9FWFRfUFRZCisJCWJvb2wgInB0eSIKKwkJZGVmYXVsdCBuCisJaWYg
TElCU1NMCisJY29uZmlnIExJQlJVQllfRVhUX09QRU5TU0wKKwkJYm9vbCAib3BlbnNzbCIKKwkJ
ZGVmYXVsdCB5CisJZW5kaWYKKwljb25maWcgTElCUlVCWV9FWFRfRklCRVIKKwkJYm9vbCAiZmli
ZXIiCisJCWRlZmF1bHQgeQorCWlmIExJQkZGSQorCWNvbmZpZyBMSUJSVUJZX0VYVF9GSURETEUK
KwkJYm9vbCAiZmlkZGxlIgorCQlkZWZhdWx0IHkKKwllbmRpZgorCWNvbmZpZyBMSUJSVUJZX0VY
VF9FVEMKKwkJYm9vbCAiZXRjIgorCQlkZWZhdWx0IHkKKwljb25maWcgTElCUlVCWV9FWFRfQ09O
VElOVUFUSU9OCisJCWJvb2wgImNvbnRpbnVhdGlvbiIKKwkJZGVmYXVsdCB5CisJY29uZmlnIExJ
QlJVQllfRVhUX09CSlNQQUNFCisJCWJvb2wgIm9ianNwYWNlIgorCQlkZWZhdWx0IHkKKwljb25m
aWcgTElCUlVCWV9FWFRfQ09WRVJBR0UKKwkJYm9vbCAiY292ZXJhZ2UiCisJCWRlZmF1bHQgeQor
CWNvbmZpZyBMSUJSVUJZX0VYVF9JT19DT05TT0xFCisJCWJvb2wgImlvL2NvbnNvbGUiCisJCWRl
ZmF1bHQgbgorCWNvbmZpZyBMSUJSVUJZX0VYVF9JT19OT05CTE9DSworCQlib29sICJpby9ub25i
bG9jayIKKwkJZGVmYXVsdCB5CisJY29uZmlnIExJQlJVQllfRVhUX0lPX1dBSVQKKwkJYm9vbCAi
aW8vd2FpdCIKKwkJZGVmYXVsdCB5CisJaWYgTElCUlVCWV9URVNUCisJY29uZmlnIExJQlJVQllf
RVhUX1JJUFBFUgorCQlib29sICJyaXBwZXIiCisJCWRlZmF1bHQgeQorCWVuZGlmCisJY29uZmln
IExJQlJVQllfRVhUX05LRgorCQlib29sICJua2YiCisJCWRlZmF1bHQgeQorCWlmIExJQlpMSUIK
Kwljb25maWcgTElCUlVCWV9FWFRfWkxJQgorCQlib29sICJ6bGliIgorCQlkZWZhdWx0IHkKKwll
bmRpZgorCWNvbmZpZyBMSUJSVUJZX0VYVF9TREJNCisJCWJvb2wgInNkYm0iCisJCWRlZmF1bHQg
eQorCWVuZGlmCiBlbmRpZgpkaWZmIC0tZ2l0IGEvTWFrZWZpbGUudWsgYi9NYWtlZmlsZS51awpp
bmRleCAxZmQ0Yjg0Li4yZTY4ZjRlIDEwMDY0NAotLS0gYS9NYWtlZmlsZS51aworKysgYi9NYWtl
ZmlsZS51awpAQCAtMzksNiArMzksNyBAQAogIyBMaWJyYXJ5IHJlZ2lzdHJhdGlvbgogIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMKICQoZXZhbCAkKGNhbGwgYWRkbGliX3MsbGlicnVieSwkKENPTkZJ
R19MSUJSVUJZKSkpCiskKGV2YWwgJChjYWxsIGFkZGxpYl9zLGxpYnJ1YnlfZXh0LCQoQ09ORklH
X0xJQlJVQllfRVhUKSkpCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAjIFNvdXJjZXMKQEAg
LTE4Myw3ICsxODQsMjg1IEBAIExJQlJVQllfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy90
cmFucy9uZXdsaW5lLmMKIExJQlJVQllfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpLy4vbWlzc2lu
Zy9zZXRwcm9jdGl0bGUuYwogTElCUlVCWV9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvYWRkcjJs
aW5lLmMKIAorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgRXh0ZW5zaW9ucworIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMKK0xJQlJVQllfRVhUX0NGTEFHUy15ICs9ICQoTElCUlVCWV9DSU5DTFVE
RVMteSkKK0xJQlJVQllfRVhUX0NGTEFHUy15ICs9ICQoTElCUlVCWV9TVVBQUkVTU19GTEFHUykK
K0xJQlJVQllfRVhUX0NGTEFHUy15ICs9IC1EUlVCWV9FWFRDT05GX0g9XCJleHRjb25mLmhcIgor
CitpZmVxICgkKENPTkZJR19MSUJSVUJZX01JTkkpLHkpCiBMSUJSVUJZX1NSQ1MteSArPSAkKExJ
QlJVQllfU1JDKS9kbXlleHQuYworZWxzZQorTElCUlVCWV9TUkNTLXkgKz0gJChMSUJSVUJZX0JB
U0UpL2dlbmVyYXRlZC9leHQvZXh0aW5pdC5jCitlbmRpZgorCitpZmVxICgkKENPTkZJR19MSUJS
VUJZX0VYVF9TVFJTQ0FOKSx5KQorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMp
L2V4dC9zdHJzY2FuL3N0cnNjYW4uYworTElCUlVCWV9FWFRfU1RSU0NBTl9GTEFHUy15ICs9IC1J
JChMSUJSVUJZX1NSQykvZXh0L3N0cnNjYW4KK2VuZGlmCitpZmVxICgkKENPTkZJR19MSUJSVUJZ
X0VYVF9TWVNMT0cpLHkpCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0
L3N5c2xvZy9zeXNsb2cuYworTElCUlVCWV9FWFRfU1lTTE9HX0ZMQUdTLXkgKz0gLUkkKExJQlJV
QllfU1JDKS9leHQvc3lzbG9nCitlbmRpZgoraWZlcSAoJChDT05GSUdfTElCUlVCWV9FWFRfSlNP
TikseSkKK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvanNvbi9nZW5l
cmF0b3IvZ2VuZXJhdG9yLmMKK0xJQlJVQllfRVhUX0dFTkVSQVRPUl9GTEFHUy15ICs9IC1JJChM
SUJSVUJZX1NSQykvZXh0L2pzb24vZ2VuZXJhdG9yCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChM
SUJSVUJZX1NSQykvZXh0L2pzb24vcGFyc2VyL3BhcnNlci5jfGpzb24KK0xJQlJVQllfRVhUX1BB
UlNFUl9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L2pzb24vcGFyc2VyCitlbmRpZgor
aWZlcSAoJChDT05GSUdfTElCUlVCWV9FWFRfUkJDT05GSUdfU0laRU9GKSx5KQorTElCUlVCWV9F
WFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9yYmNvbmZpZy9zaXplb2Yvc2l6ZXMuYwor
TElCUlVCWV9FWFRfU0laRVNfRkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC9yYmNvbmZp
Zy9zaXplb2YKK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvcmJjb25m
aWcvc2l6ZW9mL2xpbWl0cy5jCitMSUJSVUJZX0VYVF9MSU1JVFNfRkxBR1MteSArPSAtSSQoTElC
UlVCWV9TUkMpL2V4dC9yYmNvbmZpZy9zaXplb2YKK2VuZGlmCitpZmVxICgkKENPTkZJR19MSUJS
VUJZX0VYVF9CSUdERUNJTUFMKSx5KQorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9T
UkMpL2V4dC9iaWdkZWNpbWFsL2JpZ2RlY2ltYWwuYworTElCUlVCWV9FWFRfQklHREVDSU1BTF9G
TEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L2JpZ2RlY2ltYWwKK0xJQlJVQllfRVhUX1NS
Q1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvYmlnZGVjaW1hbC91dGlsL3V0aWwuYworTElCUlVC
WV9FWFRfVVRJTF9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L2JpZ2RlY2ltYWwvdXRp
bAorZW5kaWYKK2lmZXEgKCQoQ09ORklHX0xJQlJVQllfRVhUX1JBQ0NfQ1BBUlNFKSx5KQorTElC
UlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9yYWNjL2NwYXJzZS9jcGFyc2Uu
YworTElCUlVCWV9FWFRfQ1BBUlNFX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvcmFj
Yy9jcGFyc2UKK2VuZGlmCitpZmVxICgkKENPTkZJR19MSUJSVUJZX0VYVF9ESUdFU1QpLHkpCitM
SUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L2RpZ2VzdC9kaWdlc3QuYwor
TElCUlVCWV9FWFRfRElHRVNUX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvZGlnZXN0
CitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L2RpZ2VzdC9idWJibGVi
YWJibGUvYnViYmxlYmFiYmxlLmMKK0xJQlJVQllfRVhUX0JVQkJMRUJBQkJMRV9GTEFHUy15ICs9
IC1JJChMSUJSVUJZX1NSQykvZXh0L2RpZ2VzdC9idWJibGViYWJibGUKK0xJQlJVQllfRVhUX1NS
Q1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvZGlnZXN0L21kNS9tZDVpbml0LmMKK0xJQlJVQllf
RVhUX01ENUlOSVRfRkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC9kaWdlc3QvbWQ1CitM
SUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L2RpZ2VzdC9ybWQxNjAvcm1k
MTYwaW5pdC5jCitMSUJSVUJZX0VYVF9STUQxNjBJTklUX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllf
U1JDKS9leHQvZGlnZXN0L3JtZDE2MAorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9T
UkMpL2V4dC9kaWdlc3Qvc2hhMS9zaGExaW5pdC5jCitMSUJSVUJZX0VYVF9TSEExSU5JVF9GTEFH
Uy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L2RpZ2VzdC9zaGExCitMSUJSVUJZX0VYVF9TUkNT
LXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L2RpZ2VzdC9zaGEyL3NoYTJpbml0LmMKK0xJQlJVQllf
RVhUX1NIQTJJTklUX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvZGlnZXN0L3NoYTIK
K2VuZGlmCitpZmVxICgkKENPTkZJR19MSUJSVUJZX0VYVF9QU1lDSCkseSkKK0xJQlJVQllfRVhU
X1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvcHN5Y2gvcHN5Y2hfdG9fcnVieS5jCitMSUJS
VUJZX0VYVF9QU1lDSF9UT19SVUJZX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvcHN5
Y2ggLUkkKExJQlJVQllfU1JDKS9leHQvcHN5Y2gveWFtbAorTElCUlVCWV9FWFRfU1JDUy15ICs9
ICQoTElCUlVCWV9TUkMpL2V4dC9wc3ljaC9wc3ljaF95YW1sX3RyZWUuYworTElCUlVCWV9FWFRf
UFNZQ0hfWUFNTF9UUkVFX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvcHN5Y2ggLUkk
KExJQlJVQllfU1JDKS9leHQvcHN5Y2gveWFtbAorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElC
UlVCWV9TUkMpL2V4dC9wc3ljaC9wc3ljaF9lbWl0dGVyLmMKK0xJQlJVQllfRVhUX1BTWUNIX0VN
SVRURVJfRkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC9wc3ljaCAtSSQoTElCUlVCWV9T
UkMpL2V4dC9wc3ljaC95YW1sCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykv
ZXh0L3BzeWNoL3BzeWNoX3BhcnNlci5jfHBzeWNoCitMSUJSVUJZX0VYVF9QU1lDSF9QQVJTRVJf
RkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC9wc3ljaCAtSSQoTElCUlVCWV9TUkMpL2V4
dC9wc3ljaC95YW1sCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L3Bz
eWNoL3BzeWNoLmMKK0xJQlJVQllfRVhUX1BTWUNIX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JD
KS9leHQvcHN5Y2ggLUkkKExJQlJVQllfU1JDKS9leHQvcHN5Y2gveWFtbAorTElCUlVCWV9FWFRf
U1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9wc3ljaC95YW1sL2R1bXBlci5jCitMSUJSVUJZ
X0VYVF9EVU1QRVJfRkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC9wc3ljaCAtSSQoTElC
UlVCWV9TUkMpL2V4dC9wc3ljaC95YW1sCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZ
X1NSQykvZXh0L3BzeWNoL3lhbWwvcGFyc2VyLmN8eWFtbAorTElCUlVCWV9FWFRfUEFSU0VSX0ZM
QUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvcHN5Y2ggLUkkKExJQlJVQllfU1JDKS9leHQv
cHN5Y2gveWFtbAorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9wc3lj
aC95YW1sL3NjYW5uZXIuYworTElCUlVCWV9FWFRfU0NBTk5FUl9GTEFHUy15ICs9IC1JJChMSUJS
VUJZX1NSQykvZXh0L3BzeWNoIC1JJChMSUJSVUJZX1NSQykvZXh0L3BzeWNoL3lhbWwKK0xJQlJV
QllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvcHN5Y2gveWFtbC9hcGkuYworTElC
UlVCWV9FWFRfQVBJX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvcHN5Y2ggLUkkKExJ
QlJVQllfU1JDKS9leHQvcHN5Y2gveWFtbAorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVC
WV9TUkMpL2V4dC9wc3ljaC95YW1sL2xvYWRlci5jCitMSUJSVUJZX0VYVF9MT0FERVJfRkxBR1Mt
eSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC9wc3ljaCAtSSQoTElCUlVCWV9TUkMpL2V4dC9wc3lj
aC95YW1sCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L3BzeWNoL3lh
bWwvd3JpdGVyLmMKK0xJQlJVQllfRVhUX1dSSVRFUl9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NS
QykvZXh0L3BzeWNoIC1JJChMSUJSVUJZX1NSQykvZXh0L3BzeWNoL3lhbWwKK0xJQlJVQllfRVhU
X1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvcHN5Y2gveWFtbC9lbWl0dGVyLmMKK0xJQlJV
QllfRVhUX0VNSVRURVJfRkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC9wc3ljaCAtSSQo
TElCUlVCWV9TUkMpL2V4dC9wc3ljaC95YW1sCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJS
VUJZX1NSQykvZXh0L3BzeWNoL3lhbWwvcmVhZGVyLmMKK0xJQlJVQllfRVhUX1JFQURFUl9GTEFH
Uy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L3BzeWNoIC1JJChMSUJSVUJZX1NSQykvZXh0L3Bz
eWNoL3lhbWwKK2VuZGlmCitpZmVxICgkKENPTkZJR19MSUJSVUJZX0VYVF9DR0lfRVNDQVBFKSx5
KQorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9jZ2kvZXNjYXBlL2Vz
Y2FwZS5jCitMSUJSVUJZX0VYVF9FU0NBUEVfRkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4
dC9jZ2kvZXNjYXBlCitlbmRpZgoraWZlcSAoJChDT05GSUdfTElCUlVCWV9FWFRfRkNOVEwpLHkp
CitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L2ZjbnRsL2ZjbnRsLmMK
K0xJQlJVQllfRVhUX0ZDTlRMX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvZmNudGwK
K2VuZGlmCitpZmVxICgkKENPTkZJR19MSUJSVUJZX0VYVF9TT0NLRVQpLHkpCitMSUJSVUJZX0VY
VF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L3NvY2tldC9pbml0LmN8c29ja2V0CitMSUJS
VUJZX0VYVF9JTklUX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9z
b2NrZXQKK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvc29ja2V0L2Nv
bnN0YW50cy5jCitMSUJSVUJZX0VYVF9DT05TVEFOVFNfRkxBR1MteSArPSAtSSQoTElCUlVCWV9C
QVNFKS9nZW5lcmF0ZWQvZXh0L3NvY2tldAorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVC
WV9TUkMpL2V4dC9zb2NrZXQvYmFzaWNzb2NrZXQuYworTElCUlVCWV9FWFRfQkFTSUNTT0NLRVRf
RkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L3NvY2tldAorTElCUlVC
WV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9zb2NrZXQvc29ja2V0LmMKK0xJQlJV
QllfRVhUX1NPQ0tFVF9GTEFHUy15ICs9IC1JJChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQv
c29ja2V0CitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L3NvY2tldC9p
cHNvY2tldC5jCitMSUJSVUJZX0VYVF9JUFNPQ0tFVF9GTEFHUy15ICs9IC1JJChMSUJSVUJZX0JB
U0UpL2dlbmVyYXRlZC9leHQvc29ja2V0CitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZ
X1NSQykvZXh0L3NvY2tldC90Y3Bzb2NrZXQuYworTElCUlVCWV9FWFRfVENQU09DS0VUX0ZMQUdT
LXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9zb2NrZXQKK0xJQlJVQllfRVhU
X1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvc29ja2V0L3RjcHNlcnZlci5jCitMSUJSVUJZ
X0VYVF9UQ1BTRVJWRVJfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0
L3NvY2tldAorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9zb2NrZXQv
c29ja3Nzb2NrZXQuYworTElCUlVCWV9FWFRfU09DS1NTT0NLRVRfRkxBR1MteSArPSAtSSQoTElC
UlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L3NvY2tldAorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQo
TElCUlVCWV9TUkMpL2V4dC9zb2NrZXQvdWRwc29ja2V0LmMKK0xJQlJVQllfRVhUX1VEUFNPQ0tF
VF9GTEFHUy15ICs9IC1JJChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQvc29ja2V0CitMSUJS
VUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L3NvY2tldC91bml4c29ja2V0LmMK
K0xJQlJVQllfRVhUX1VOSVhTT0NLRVRfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5l
cmF0ZWQvZXh0L3NvY2tldAorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4
dC9zb2NrZXQvdW5peHNlcnZlci5jCitMSUJSVUJZX0VYVF9VTklYU0VSVkVSX0ZMQUdTLXkgKz0g
LUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9zb2NrZXQKK0xJQlJVQllfRVhUX1NSQ1Mt
eSArPSAkKExJQlJVQllfU1JDKS9leHQvc29ja2V0L29wdGlvbi5jCitMSUJSVUJZX0VYVF9PUFRJ
T05fRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L3NvY2tldAorTElC
UlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9zb2NrZXQvYW5jZGF0YS5jCitM
SUJSVUJZX0VYVF9BTkNEQVRBX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVk
L2V4dC9zb2NrZXQKK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvc29j
a2V0L3JhZGRyaW5mby5jCitMSUJSVUJZX0VYVF9SQUREUklORk9fRkxBR1MteSArPSAtSSQoTElC
UlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L3NvY2tldAorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQo
TElCUlVCWV9TUkMpL2V4dC9zb2NrZXQvaWZhZGRyLmMKK0xJQlJVQllfRVhUX0lGQUREUl9GTEFH
Uy15ICs9IC1JJChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQvc29ja2V0CitlbmRpZgoraWZl
cSAoJChDT05GSUdfTElCUlVCWV9FWFRfUEFUSE5BTUUpLHkpCitMSUJSVUJZX0VYVF9TUkNTLXkg
Kz0gJChMSUJSVUJZX1NSQykvZXh0L3BhdGhuYW1lL3BhdGhuYW1lLmMKK0xJQlJVQllfRVhUX1BB
VEhOQU1FX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvcGF0aG5hbWUKK2VuZGlmCitp
ZmVxICgkKENPTkZJR19MSUJSVUJZX0VYVF9EQVRFX0NPUkUpLHkpCitMSUJSVUJZX0VYVF9TUkNT
LXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L2RhdGUvZGF0ZV9jb3JlLmMKK0xJQlJVQllfRVhUX0RB
VEVfQ09SRV9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L2RhdGUKK0xJQlJVQllfRVhU
X1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvZGF0ZS9kYXRlX3BhcnNlLmMKK0xJQlJVQllf
RVhUX0RBVEVfUEFSU0VfRkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC9kYXRlCitMSUJS
VUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L2RhdGUvZGF0ZV9zdHJmdGltZS5j
CitMSUJSVUJZX0VYVF9EQVRFX1NUUkZUSU1FX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9l
eHQvZGF0ZQorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9kYXRlL2Rh
dGVfc3RycHRpbWUuYworTElCUlVCWV9FWFRfREFURV9TVFJQVElNRV9GTEFHUy15ICs9IC1JJChM
SUJSVUJZX1NSQykvZXh0L2RhdGUKK2VuZGlmCitpZmVxICgkKENPTkZJR19MSUJSVUJZX0VYVF9Q
VFkpLHkpCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L3B0eS9wdHku
YworTElCUlVCWV9FWFRfUFRZX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvcHR5Citl
bmRpZgoraWZlcSAoJChDT05GSUdfTElCUlVCWV9FWFRfT1BFTlNTTCkseSkKK0xJQlJVQllfRVhU
X1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbC9vcGVuc3NsX21pc3NpbmcuYwor
TElCUlVCWV9FWFRfT1BFTlNTTF9NSVNTSU5HX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9l
eHQvb3BlbnNzbAorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9vcGVu
c3NsL29zc2wuYworTElCUlVCWV9FWFRfT1NTTF9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykv
ZXh0L29wZW5zc2wKK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvb3Bl
bnNzbC9vc3NsX2FzbjEuYworTElCUlVCWV9FWFRfT1NTTF9BU04xX0ZMQUdTLXkgKz0gLUkkKExJ
QlJVQllfU1JDKS9leHQvb3BlbnNzbAorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9T
UkMpL2V4dC9vcGVuc3NsL29zc2xfYmlvLmMKK0xJQlJVQllfRVhUX09TU0xfQklPX0ZMQUdTLXkg
Kz0gLUkkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbAorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQo
TElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsL29zc2xfYm4uYworTElCUlVCWV9FWFRfT1NTTF9CTl9G
TEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L29wZW5zc2wKK0xJQlJVQllfRVhUX1NSQ1Mt
eSArPSAkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbC9vc3NsX2NpcGhlci5jCitMSUJSVUJZX0VY
VF9PU1NMX0NJUEhFUl9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L29wZW5zc2wKK0xJ
QlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbC9vc3NsX2NvbmZp
Zy5jCitMSUJSVUJZX0VYVF9PU1NMX0NPTkZJR19GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykv
ZXh0L29wZW5zc2wKK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvb3Bl
bnNzbC9vc3NsX2RpZ2VzdC5jCitMSUJSVUJZX0VYVF9PU1NMX0RJR0VTVF9GTEFHUy15ICs9IC1J
JChMSUJSVUJZX1NSQykvZXh0L29wZW5zc2wKK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJV
QllfU1JDKS9leHQvb3BlbnNzbC9vc3NsX2VuZ2luZS5jCitMSUJSVUJZX0VYVF9PU1NMX0VOR0lO
RV9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L29wZW5zc2wKK0xJQlJVQllfRVhUX1NS
Q1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbC9vc3NsX2htYWMuYworTElCUlVCWV9F
WFRfT1NTTF9ITUFDX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbAorTElC
UlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsL29zc2xfa2RmLmMK
K0xJQlJVQllfRVhUX09TU0xfS0RGX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvb3Bl
bnNzbAorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsL29z
c2xfbnNfc3BraS5jCitMSUJSVUJZX0VYVF9PU1NMX05TX1NQS0lfRkxBR1MteSArPSAtSSQoTElC
UlVCWV9TUkMpL2V4dC9vcGVuc3NsCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NS
QykvZXh0L29wZW5zc2wvb3NzbF9vY3NwLmMKK0xJQlJVQllfRVhUX09TU0xfT0NTUF9GTEFHUy15
ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L29wZW5zc2wKK0xJQlJVQllfRVhUX1NSQ1MteSArPSAk
KExJQlJVQllfU1JDKS9leHQvb3BlbnNzbC9vc3NsX3BrY3MxMi5jCitMSUJSVUJZX0VYVF9PU1NM
X1BLQ1MxMl9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L29wZW5zc2wKK0xJQlJVQllf
RVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbC9vc3NsX3BrY3M3LmMKK0xJ
QlJVQllfRVhUX09TU0xfUEtDUzdfRkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC9vcGVu
c3NsCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L29wZW5zc2wvb3Nz
bF9wa2V5LmMKK0xJQlJVQllfRVhUX09TU0xfUEtFWV9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NS
QykvZXh0L29wZW5zc2wKK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQv
b3BlbnNzbC9vc3NsX3BrZXlfZGguYworTElCUlVCWV9FWFRfT1NTTF9QS0VZX0RIX0ZMQUdTLXkg
Kz0gLUkkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbAorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQo
TElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsL29zc2xfcGtleV9kc2EuYworTElCUlVCWV9FWFRfT1NT
TF9QS0VZX0RTQV9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L29wZW5zc2wKK0xJQlJV
QllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbC9vc3NsX3BrZXlfZWMu
YworTElCUlVCWV9FWFRfT1NTTF9QS0VZX0VDX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9l
eHQvb3BlbnNzbAorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9vcGVu
c3NsL29zc2xfcGtleV9yc2EuYworTElCUlVCWV9FWFRfT1NTTF9QS0VZX1JTQV9GTEFHUy15ICs9
IC1JJChMSUJSVUJZX1NSQykvZXh0L29wZW5zc2wKK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJ
QlJVQllfU1JDKS9leHQvb3BlbnNzbC9vc3NsX3JhbmQuYworTElCUlVCWV9FWFRfT1NTTF9SQU5E
X0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbAorTElCUlVCWV9FWFRfU1JD
Uy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsL29zc2xfc3NsLmMKK0xJQlJVQllfRVhU
X09TU0xfU1NMX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbAorTElCUlVC
WV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsL29zc2xfc3NsX3Nlc3Np
b24uYworTElCUlVCWV9FWFRfT1NTTF9TU0xfU0VTU0lPTl9GTEFHUy15ICs9IC1JJChMSUJSVUJZ
X1NSQykvZXh0L29wZW5zc2wKK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9l
eHQvb3BlbnNzbC9vc3NsX3g1MDkuYworTElCUlVCWV9FWFRfT1NTTF9YNTA5X0ZMQUdTLXkgKz0g
LUkkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbAorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElC
UlVCWV9TUkMpL2V4dC9vcGVuc3NsL29zc2xfeDUwOWF0dHIuYworTElCUlVCWV9FWFRfT1NTTF9Y
NTA5QVRUUl9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L29wZW5zc2wKK0xJQlJVQllf
RVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbC9vc3NsX3g1MDljZXJ0LmMK
K0xJQlJVQllfRVhUX09TU0xfWDUwOUNFUlRfRkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4
dC9vcGVuc3NsCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L29wZW5z
c2wvb3NzbF94NTA5Y3JsLmMKK0xJQlJVQllfRVhUX09TU0xfWDUwOUNSTF9GTEFHUy15ICs9IC1J
JChMSUJSVUJZX1NSQykvZXh0L29wZW5zc2wKK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJV
QllfU1JDKS9leHQvb3BlbnNzbC9vc3NsX3g1MDlleHQuYworTElCUlVCWV9FWFRfT1NTTF9YNTA5
RVhUX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbAorTElCUlVCWV9FWFRf
U1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsL29zc2xfeDUwOW5hbWUuYworTElC
UlVCWV9FWFRfT1NTTF9YNTA5TkFNRV9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L29w
ZW5zc2wKK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbC9v
c3NsX3g1MDlyZXEuYworTElCUlVCWV9FWFRfT1NTTF9YNTA5UkVRX0ZMQUdTLXkgKz0gLUkkKExJ
QlJVQllfU1JDKS9leHQvb3BlbnNzbAorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9T
UkMpL2V4dC9vcGVuc3NsL29zc2xfeDUwOXJldm9rZWQuYworTElCUlVCWV9FWFRfT1NTTF9YNTA5
UkVWT0tFRF9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L29wZW5zc2wKK0xJQlJVQllf
RVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbC9vc3NsX3g1MDlzdG9yZS5j
CitMSUJSVUJZX0VYVF9PU1NMX1g1MDlTVE9SRV9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykv
ZXh0L29wZW5zc2wKK2VuZGlmCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykv
ZXh0L3N0cmluZ2lvL3N0cmluZ2lvLmMKK0xJQlJVQllfRVhUX1NUUklOR0lPX0ZMQUdTLXkgKz0g
LUkkKExJQlJVQllfU1JDKS9leHQvc3RyaW5naW8KK2lmZXEgKCQoQ09ORklHX0xJQlJVQllfRVhU
X0ZJQkVSKSx5KQorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9maWJl
ci9maWJlci5jCitMSUJSVUJZX0VYVF9GSUJFUl9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykv
ZXh0L2ZpYmVyCitlbmRpZgoraWZlcSAoJChDT05GSUdfTElCUlVCWV9FWFRfRklERExFKSx5KQor
TElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9maWRkbGUvY2xvc3VyZS5j
CitMSUJSVUJZX0VYVF9DTE9TVVJFX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvZmlk
ZGxlCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L2ZpZGRsZS9jb252
ZXJzaW9ucy5jCitMSUJSVUJZX0VYVF9DT05WRVJTSU9OU19GTEFHUy15ICs9IC1JJChMSUJSVUJZ
X1NSQykvZXh0L2ZpZGRsZQorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4
dC9maWRkbGUvZmlkZGxlLmMKK0xJQlJVQllfRVhUX0ZJRERMRV9GTEFHUy15ICs9IC1JJChMSUJS
VUJZX1NSQykvZXh0L2ZpZGRsZQorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMp
L2V4dC9maWRkbGUvZnVuY3Rpb24uYworTElCUlVCWV9FWFRfRlVOQ1RJT05fRkxBR1MteSArPSAt
SSQoTElCUlVCWV9TUkMpL2V4dC9maWRkbGUKK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJV
QllfU1JDKS9leHQvZmlkZGxlL2hhbmRsZS5jCitMSUJSVUJZX0VYVF9IQU5ETEVfRkxBR1MteSAr
PSAtSSQoTElCUlVCWV9TUkMpL2V4dC9maWRkbGUKK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJ
QlJVQllfU1JDKS9leHQvZmlkZGxlL3BvaW50ZXIuYworTElCUlVCWV9FWFRfUE9JTlRFUl9GTEFH
Uy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L2ZpZGRsZQorZW5kaWYKK2lmZXEgKCQoQ09ORklH
X0xJQlJVQllfRVhUX0VUQykseSkKK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JD
KS9leHQvZXRjL2V0Yy5jCitMSUJSVUJZX0VYVF9FVENfRkxBR1MteSArPSAtSSQoTElCUlVCWV9T
UkMpL2V4dC9ldGMKK2VuZGlmCitpZmVxICgkKENPTkZJR19MSUJSVUJZX0VYVF9DT05USU5VQVRJ
T04pLHkpCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L2NvbnRpbnVh
dGlvbi9jb250aW51YXRpb24uYworTElCUlVCWV9FWFRfQ09OVElOVUFUSU9OX0ZMQUdTLXkgKz0g
LUkkKExJQlJVQllfU1JDKS9leHQvY29udGludWF0aW9uCitlbmRpZgoraWZlcSAoJChDT05GSUdf
TElCUlVCWV9FWFRfT0JKU1BBQ0UpLHkpCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZ
X1NSQykvZXh0L29ianNwYWNlL29iamVjdF90cmFjaW5nLmMKK0xJQlJVQllfRVhUX09CSkVDVF9U
UkFDSU5HX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvb2Jqc3BhY2UKK0xJQlJVQllf
RVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvb2Jqc3BhY2Uvb2Jqc3BhY2UuYworTElC
UlVCWV9FWFRfT0JKU1BBQ0VfRkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC9vYmpzcGFj
ZQorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9vYmpzcGFjZS9vYmpz
cGFjZV9kdW1wLmMKK0xJQlJVQllfRVhUX09CSlNQQUNFX0RVTVBfRkxBR1MteSArPSAtSSQoTElC
UlVCWV9TUkMpL2V4dC9vYmpzcGFjZQorZW5kaWYKK2lmZXEgKCQoQ09ORklHX0xJQlJVQllfRVhU
X0NPVkVSQUdFKSx5KQorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9j
b3ZlcmFnZS9jb3ZlcmFnZS5jCitMSUJSVUJZX0VYVF9DT1ZFUkFHRV9GTEFHUy15ICs9IC1JJChM
SUJSVUJZX1NSQykvZXh0L2NvdmVyYWdlCitlbmRpZgoraWZlcSAoJChDT05GSUdfTElCUlVCWV9F
WFRfSU9fQ09OU09MRSkseSkKK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9l
eHQvaW8vY29uc29sZS9jb25zb2xlLmMKK0xJQlJVQllfRVhUX0NPTlNPTEVfRkxBR1MteSArPSAt
SSQoTElCUlVCWV9TUkMpL2V4dC9pby9jb25zb2xlCitlbmRpZgoraWZlcSAoJChDT05GSUdfTElC
UlVCWV9FWFRfSU9fTk9OQkxPQ0spLHkpCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZ
X1NSQykvZXh0L2lvL25vbmJsb2NrL25vbmJsb2NrLmMKK0xJQlJVQllfRVhUX05PTkJMT0NLX0ZM
QUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvaW8vbm9uYmxvY2sKK2VuZGlmCitpZmVxICgk
KENPTkZJR19MSUJSVUJZX0VYVF9JT19XQUlUKSx5KQorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQo
TElCUlVCWV9TUkMpL2V4dC9pby93YWl0L3dhaXQuYworTElCUlVCWV9FWFRfV0FJVF9GTEFHUy15
ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L2lvL3dhaXQKK2VuZGlmCitpZmVxICgkKENPTkZJR19M
SUJSVUJZX0VYVF9SSVBQRVIpLHkpCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NS
QykvZXh0L3JpcHBlci9yaXBwZXIuYworTElCUlVCWV9FWFRfUklQUEVSX0ZMQUdTLXkgKz0gLUkk
KExJQlJVQllfU1JDKS9leHQvcmlwcGVyCitlbmRpZgoraWZlcSAoJChDT05GSUdfTElCUlVCWV9F
WFRfTktGKSx5KQorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9ua2Yv
bmtmLmMKK0xJQlJVQllfRVhUX05LRl9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L25r
ZgorZW5kaWYKK2lmZXEgKCQoQ09ORklHX0xJQlJVQllfRVhUX1pMSUIpLHkpCitMSUJSVUJZX0VY
VF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L3psaWIvemxpYi5jCitMSUJSVUJZX0VYVF9a
TElCX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvemxpYgorZW5kaWYKK2lmZXEgKCQo
Q09ORklHX0xJQlJVQllfRVhUX1NEQk0pLHkpCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJS
VUJZX1NSQykvZXh0L3NkYm0vX3NkYm0uYworTElCUlVCWV9FWFRfX1NEQk1fRkxBR1MteSArPSAt
SSQoTElCUlVCWV9TUkMpL2V4dC9zZGJtCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZ
X1NSQykvZXh0L3NkYm0vaW5pdC5jfHNkYm0KK0xJQlJVQllfRVhUX0lOSVRfRkxBR1MteSArPSAt
SSQoTElCUlVCWV9TUkMpL2V4dC9zZGJtCitlbmRpZgogCiBpZm5lcSAoJChDT05GSUdfTElCUlVC
WV9NSU5JKSx5KQogIyBJbml0X2VuYygpIGlzIGFsc28gaW4gbWluaWluaXQuYwpkaWZmIC0tZ2l0
IGEvZ2VuZXJhdGVkL2V4dC9leHRpbml0LmMgYi9nZW5lcmF0ZWQvZXh0L2V4dGluaXQuYwppbmRl
eCA0OTJhOTMzLi5kY2Y5NjMxIDEwMDY0NAotLS0gYS9nZW5lcmF0ZWQvZXh0L2V4dGluaXQuYwor
KysgYi9nZW5lcmF0ZWQvZXh0L2V4dGluaXQuYwpAQCAtMSwzICsxLDQgQEAKKyNpbmNsdWRlIDx1
ay9jb25maWcuaD4KICNpbmNsdWRlICJydWJ5L3J1YnkuaCIKIAogI2RlZmluZSBpbml0KGZ1bmMs
IG5hbWUpIHsJXApAQCAtOSw0MCArMTAsOTYgQEAgdm9pZCBydWJ5X2luaXRfZXh0KGNvbnN0IGNo
YXIgKm5hbWUsIHZvaWQgKCppbml0KSh2b2lkKSk7CiAKIHZvaWQgSW5pdF9leHQodm9pZCkKIHsK
KyNpZiBDT05GSUdfTElCUlVCWV9FWFRfU1RSU0NBTgogICAgIGluaXQoSW5pdF9zdHJzY2FuLCAi
c3Ryc2NhbiIpOworI2VuZGlmCisjaWYgQ09ORklHX0xJQlJVQllfRVhUX1NZU0xPRwogICAgIGlu
aXQoSW5pdF9zeXNsb2csICJzeXNsb2ciKTsKKyNlbmRpZgorI2lmIENPTkZJR19MSUJSVUJZX0VY
VF9KU09OCiAgICAgaW5pdChJbml0X2dlbmVyYXRvciwgImpzb24vZXh0L2dlbmVyYXRvciIpOwog
ICAgIGluaXQoSW5pdF9wYXJzZXIsICJqc29uL2V4dC9wYXJzZXIiKTsKKyNlbmRpZgorI2lmIENP
TkZJR19MSUJSVUJZX0VYVF9SQkNPTkZJR19TSVpFT0YKICAgICBpbml0KEluaXRfc2l6ZW9mLCAi
cmJjb25maWcvc2l6ZW9mIik7CisjZW5kaWYKKyNpZiBDT05GSUdfTElCUlVCWV9FWFRfQklHREVD
SU1BTAogICAgIGluaXQoSW5pdF9iaWdkZWNpbWFsLCAiYmlnZGVjaW1hbCIpOwogICAgIGluaXQo
SW5pdF91dGlsLCAiYmlnZGVjaW1hbC91dGlsIik7CisjZW5kaWYKKyNpZiBDT05GSUdfTElCUlVC
WV9FWFRfUkFDQ19DUEFSU0UKICAgICBpbml0KEluaXRfY3BhcnNlLCAicmFjYy9jcGFyc2UiKTsK
KyNlbmRpZgorI2lmIENPTkZJR19MSUJSVUJZX0VYVF9ESUdFU1QKICAgICBpbml0KEluaXRfZGln
ZXN0LCAiZGlnZXN0Iik7CiAgICAgaW5pdChJbml0X2J1YmJsZWJhYmJsZSwgImRpZ2VzdC9idWJi
bGViYWJibGUiKTsKICAgICBpbml0KEluaXRfbWQ1LCAiZGlnZXN0L21kNSIpOwogICAgIGluaXQo
SW5pdF9ybWQxNjAsICJkaWdlc3Qvcm1kMTYwIik7CiAgICAgaW5pdChJbml0X3NoYTEsICJkaWdl
c3Qvc2hhMSIpOwogICAgIGluaXQoSW5pdF9zaGEyLCAiZGlnZXN0L3NoYTIiKTsKKyNlbmRpZgor
I2lmIENPTkZJR19MSUJSVUJZX0VYVF9QU1lDSAogICAgIGluaXQoSW5pdF9wc3ljaCwgInBzeWNo
Iik7CisjZW5kaWYKKyNpZiBDT05GSUdfTElCUlVCWV9FWFRfQ0dJX0VTQ0FQRQogICAgIGluaXQo
SW5pdF9lc2NhcGUsICJjZ2kvZXNjYXBlIik7CisjZW5kaWYKKyNpZiBDT05GSUdfTElCUlVCWV9F
WFRfRkNOVEwKICAgICBpbml0KEluaXRfZmNudGwsICJmY250bCIpOworI2VuZGlmCiAgICAgaW5p
dChJbml0X3N0cmluZ2lvLCAic3RyaW5naW8iKTsKKyNpZiBDT05GSUdfTElCUlVCWV9FWFRfU09D
S0VUCiAgICAgaW5pdChJbml0X3NvY2tldCwgInNvY2tldCIpOworI2VuZGlmCisjaWYgQ09ORklH
X0xJQlJVQllfRVhUX1BBVEhOQU1FCiAgICAgaW5pdChJbml0X3BhdGhuYW1lLCAicGF0aG5hbWUi
KTsKKyNlbmRpZgorI2lmIENPTkZJR19MSUJSVUJZX0VYVF9EQVRFX0NPUkUKICAgICBpbml0KElu
aXRfZGF0ZV9jb3JlLCAiZGF0ZV9jb3JlIik7CisjZW5kaWYKKyNpZiBDT05GSUdfTElCUlVCWV9F
WFRfUFRZCiAgICAgaW5pdChJbml0X3B0eSwgInB0eSIpOworI2VuZGlmCisjaWYgQ09ORklHX0xJ
QlJVQllfRVhUX09QRU5TU0wKICAgICBpbml0KEluaXRfb3BlbnNzbCwgIm9wZW5zc2wiKTsKKyNl
bmRpZgorI2lmIENPTkZJR19MSUJSVUJZX0VYVF9GSUJFUgogICAgIGluaXQoSW5pdF9maWJlciwg
ImZpYmVyIik7CisjZW5kaWYKKyNpZiBDT05GSUdfTElCUlVCWV9FWFRfRklERExFCiAgICAgaW5p
dChJbml0X2ZpZGRsZSwgImZpZGRsZSIpOworI2VuZGlmCisjaWYgQ09ORklHX0xJQlJVQllfRVhU
X0VUQwogICAgIGluaXQoSW5pdF9ldGMsICJldGMiKTsKKyNlbmRpZgorI2lmIENPTkZJR19MSUJS
VUJZX0VYVF9DT05USU5VQVRJT04KICAgICBpbml0KEluaXRfY29udGludWF0aW9uLCAiY29udGlu
dWF0aW9uIik7CisjZW5kaWYKKyNpZiBDT05GSUdfTElCUlVCWV9FWFRfT0JKU1BBQ0UKICAgICBp
bml0KEluaXRfb2Jqc3BhY2UsICJvYmpzcGFjZSIpOworI2VuZGlmCisjaWYgQ09ORklHX0xJQlJV
QllfRVhUX0NPVkVSQUdFCiAgICAgaW5pdChJbml0X2NvdmVyYWdlLCAiY292ZXJhZ2UiKTsKKyNl
bmRpZgorI2lmIENPTkZJR19MSUJSVUJZX0VYVF9JT19DT05TT0xFCiAgICAgaW5pdChJbml0X2Nv
bnNvbGUsICJpby9jb25zb2xlIik7CisjZW5kaWYKKyNpZiBDT05GSUdfTElCUlVCWV9FWFRfSU9f
Tk9OQkxPQ0sKICAgICBpbml0KEluaXRfbm9uYmxvY2ssICJpby9ub25ibG9jayIpOworI2VuZGlm
CisjaWYgQ09ORklHX0xJQlJVQllfRVhUX0lPX1dBSVQKICAgICBpbml0KEluaXRfd2FpdCwgImlv
L3dhaXQiKTsKKyNlbmRpZgorI2lmIENPTkZJR19MSUJSVUJZX0VYVF9SSVBQRVIKICAgICBpbml0
KEluaXRfcmlwcGVyLCAicmlwcGVyIik7CisjZW5kaWYKKyNpZiBDT05GSUdfTElCUlVCWV9FWFRf
TktGCiAgICAgaW5pdChJbml0X25rZiwgIm5rZiIpOworI2VuZGlmCisjaWYgQ09ORklHX0xJQlJV
QllfRVhUX1pMSUIKICAgICBpbml0KEluaXRfemxpYiwgInpsaWIiKTsKKyNlbmRpZgorI2lmIENP
TkZJR19MSUJSVUJZX0VYVF9TREJNCiAgICAgaW5pdChJbml0X3NkYm0sICJzZGJtIik7CisjZW5k
aWYKIH0KZGlmZiAtLWdpdCBhL2luY2x1ZGUvcnVieS9jb25maWcuaCBiL2luY2x1ZGUvcnVieS9j
b25maWcuaAppbmRleCBlOWZmNGQxLi4yYjBmYWUwIDEwMDY0NAotLS0gYS9pbmNsdWRlL3J1Ynkv
Y29uZmlnLmgKKysrIGIvaW5jbHVkZS9ydWJ5L2NvbmZpZy5oCkBAIC00MjIsNiArNDIyLDcgQEAK
IC8qICNkZWZpbmUgSEFWRV9WQUxHUklORF9NRU1DSEVDS19IIDEgKi8KICNkZWZpbmUgRExFWFRf
TUFYTEVOIDMKICNkZWZpbmUgRExFWFQgIi5zbyIKKyNkZWZpbmUgRVhUU1RBVElDIDEKICNkZWZp
bmUgSEFWRV9fU0VUSk1QIDEKICNkZWZpbmUgUlVCWV9TRVRKTVAoZW52KSBfX2J1aWx0aW5fc2V0
am1wKChlbnYpKQogI2RlZmluZSBSVUJZX0xPTkdKTVAoZW52LHZhbCkgX19idWlsdGluX2xvbmdq
bXAoKGVudiksdmFsKQotLSAKMi4yMC4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxA
bGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFu
L2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Thu Dec 12 17:43:02 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 12 Dec 2019 17:43:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ifSUQ-0003o5-Os; Thu, 12 Dec 2019 17:43:02 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=Gxg0=2C=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1ifSUP-0003nk-Ly
 for minios-devel@lists.xen.org; Thu, 12 Dec 2019 17:43:01 +0000
X-Inumbo-ID: cf46021b-1d06-11ea-8ddb-12813bfff9fa
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id cf46021b-1d06-11ea-8ddb-12813bfff9fa;
 Thu, 12 Dec 2019 17:42:48 +0000 (UTC)
IronPort-SDR: ksL08JtmHR/XD8znqbsWbzvCs9nGisNItbCiFdcZWEwnugG/Imgc6T8caf6d5NnPSZK9bawRQq
 PE80ljfyXiXw==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 12 Dec 2019 19:42:42 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 6972B1A60267;
 Thu, 12 Dec 2019 19:42:43 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id bfx2uOHlFotI; Thu, 12 Dec 2019 19:42:43 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 50CFE1A6029D;
 Thu, 12 Dec 2019 19:42:43 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id kLIDn91J_RMV; Thu, 12 Dec 2019 19:42:43 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 3B0111A60277;
 Thu, 12 Dec 2019 19:42:43 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Thu, 12 Dec 2019 19:42:35 +0200
Message-Id: <20191212174239.5202-5-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191212174239.5202-1-costin.lupu@cs.pub.ro>
References: <20191212174239.5202-1-costin.lupu@cs.pub.ro>
Subject: [Minios-devel] [UNIKRAFT/RUBY PATCH 4/8] encodings: Build encodings
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

QWxsIGVuY29kaW5ncyBhcmUgaW5jbHVkZWQgaW4gYSBuZXcgbGlicmFyeSwgbGlicnVieV9lbmMu
IEdpdmVuIHRoYXQgdGhlCmV4dGVuc2lvbnMgZmlsZXMgYXJlIGdlbmVyYXRlZCBhdCBidWlsZCB0
aW1lIGJ5IHRoZSBvcmlnaW4gYnVpbGQgc3lzdGVtLCB3ZQphbHNvIGhhdmUgdG8gcnVuIGAuL2Nv
bmZpZ3VyZWAgYW5kIGBtYWtlYCBmb3IgdGhlIG9yaWdpbmFsIGJ1aWxkIGJlZm9yZQpidWlsZGlu
ZyB0aGVtIGZvciBVbmlrcmFmdC4gVGhpcyBpcyBkb25lIG9uY2UgZm9yIGJvdGggZXh0ZW5zaW9u
cyBhbmQKZW5jb2RpbmdzLgoKU2lnbmVkLW9mZi1ieTogQ29zdGluIEx1cHUgPGNvc3Rpbi5sdXB1
QGNzLnB1Yi5ybz4KUmV2aWV3ZWQtYnk6IFN0ZWZhbiBUZW9kb3Jlc2N1IDxzdGVmYW5sLnRlb2Rv
cmVzY3VAZ21haWwuY29tPgotLS0KIENvbmZpZy51ayAgIHwgIDYgKysrKysKIE1ha2VmaWxlLnVr
IHwgNzUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysKIDIgZmlsZXMgY2hhbmdlZCwgODEgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL0NvbmZp
Zy51ayBiL0NvbmZpZy51awppbmRleCA1Zjg0ZTU3Li5hNDk0NTQwIDEwMDY0NAotLS0gYS9Db25m
aWcudWsKKysrIGIvQ29uZmlnLnVrCkBAIC0xMjUsNCArMTI1LDEwIEBAIGNvbmZpZyBMSUJSVUJZ
X0VYVAogCQlib29sICJzZGJtIgogCQlkZWZhdWx0IHkKIAllbmRpZgorCitjb25maWcgTElCUlVC
WV9FTkMKKwlib29sICJFbmFibGUgZW5jb2RpbmdzIgorCWRlcGVuZHMgb24gIUxJQlJVQllfTUlO
SQorCWRlZmF1bHQgeQorCiBlbmRpZgpkaWZmIC0tZ2l0IGEvTWFrZWZpbGUudWsgYi9NYWtlZmls
ZS51awppbmRleCAyZTY4ZjRlLi4wNDFlN2VjIDEwMDY0NAotLS0gYS9NYWtlZmlsZS51aworKysg
Yi9NYWtlZmlsZS51awpAQCAtNDAsNiArNDAsNyBAQAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK
ICQoZXZhbCAkKGNhbGwgYWRkbGliX3MsbGlicnVieSwkKENPTkZJR19MSUJSVUJZKSkpCiAkKGV2
YWwgJChjYWxsIGFkZGxpYl9zLGxpYnJ1YnlfZXh0LCQoQ09ORklHX0xJQlJVQllfRVhUKSkpCisk
KGV2YWwgJChjYWxsIGFkZGxpYl9zLGxpYnJ1YnlfZW5jLCQoQ09ORklHX0xJQlJVQllfRU5DKSkp
CiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAjIFNvdXJjZXMKQEAgLTQ2NCwxMCArNDY1LDg0
IEBAIExJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvc2RibS9pbml0LmN8
c2RibQogTElCUlVCWV9FWFRfSU5JVF9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L3Nk
Ym0KIGVuZGlmCiAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIEVuY29kaW5ncworIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMKK0xJQlJVQllfRU5DX0NGTEFHUy15ICs9ICQoTElCUlVCWV9DSU5D
TFVERVMteSkKK0xJQlJVQllfRU5DX0NGTEFHUy15ICs9ICQoTElCUlVCWV9TVVBQUkVTU19GTEFH
UykKK0xJQlJVQllfRU5DX0NGTEFHUy15ICs9IC1EUlVCWV9FWFBPUlQ9MSAtRE9OSUdfRU5DX1JF
R0lTVEVSPXJiX2VuY19yZWdpc3RlcgorCitpZmVxICgkKENPTkZJR19MSUJSVUJZX0VOQykseSkK
K0xJQlJVQllfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy9lbmNpbml0LmMKK2Vsc2UKIGlm
bmVxICgkKENPTkZJR19MSUJSVUJZX01JTkkpLHkpCiAjIEluaXRfZW5jKCkgaXMgYWxzbyBpbiBt
aW5paW5pdC5jCiBMSUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9kbXllbmMuYwogZW5k
aWYKK2VuZGlmCisKKyMgZW5jL2xpYmVuYy5hCitMSUJSVUJZX0VOQ19TUkNTLXkgKz0gJChMSUJS
VUJZX1NSQykvZW5jL2VuY2RiLmMKK0xJQlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllfU1JD
KS9lbmMvYmlnNS5jCitMSUJSVUJZX0VOQ19TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL2Nw
OTQ5LmMKK0xJQlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMvZW1hY3NfbXVs
ZS5jCitMSUJSVUJZX0VOQ19TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL2V1Y19qcC5jCitM
SUJSVUJZX0VOQ19TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL2V1Y19rci5jCitMSUJSVUJZ
X0VOQ19TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL2V1Y190dy5jCitMSUJSVUJZX0VOQ19T
UkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL2diMjMxMi5jCitMSUJSVUJZX0VOQ19TUkNTLXkg
Kz0gJChMSUJSVUJZX1NSQykvZW5jL2diMTgwMzAuYworTElCUlVCWV9FTkNfU1JDUy15ICs9ICQo
TElCUlVCWV9TUkMpL2VuYy9nYmsuYworTElCUlVCWV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9T
UkMpL2VuYy9pc29fODg1OV8xLmMKK0xJQlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllfU1JD
KS9lbmMvaXNvXzg4NTlfMi5jCitMSUJSVUJZX0VOQ19TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykv
ZW5jL2lzb184ODU5XzMuYworTElCUlVCWV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2Vu
Yy9pc29fODg1OV80LmMKK0xJQlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMv
aXNvXzg4NTlfNS5jCitMSUJSVUJZX0VOQ19TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL2lz
b184ODU5XzYuYworTElCUlVCWV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy9pc29f
ODg1OV83LmMKK0xJQlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMvaXNvXzg4
NTlfOC5jCitMSUJSVUJZX0VOQ19TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL2lzb184ODU5
XzkuYworTElCUlVCWV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy9pc29fODg1OV8x
MC5jCitMSUJSVUJZX0VOQ19TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL2lzb184ODU5XzEx
LmMKK0xJQlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMvaXNvXzg4NTlfMTMu
YworTElCUlVCWV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy9pc29fODg1OV8xNC5j
CitMSUJSVUJZX0VOQ19TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL2lzb184ODU5XzE1LmMK
K0xJQlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMvaXNvXzg4NTlfMTYuYwor
TElCUlVCWV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy9rb2k4X3IuYworTElCUlVC
WV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy9rb2k4X3UuYworTElCUlVCWV9FTkNf
U1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy9zaGlmdF9qaXMuYworTElCUlVCWV9FTkNfU1JD
Uy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy91dGZfMTZiZS5jCitMSUJSVUJZX0VOQ19TUkNTLXkg
Kz0gJChMSUJSVUJZX1NSQykvZW5jL3V0Zl8xNmxlLmMKK0xJQlJVQllfRU5DX1NSQ1MteSArPSAk
KExJQlJVQllfU1JDKS9lbmMvdXRmXzMyYmUuYworTElCUlVCWV9FTkNfU1JDUy15ICs9ICQoTElC
UlVCWV9TUkMpL2VuYy91dGZfMzJsZS5jCitMSUJSVUJZX0VOQ19TUkNTLXkgKz0gJChMSUJSVUJZ
X1NSQykvZW5jL3dpbmRvd3NfMzFqLmMKK0xJQlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllf
U1JDKS9lbmMvd2luZG93c18xMjUwLmMKK0xJQlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllf
U1JDKS9lbmMvd2luZG93c18xMjUxLmMKK0xJQlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllf
U1JDKS9lbmMvd2luZG93c18xMjUyLmMKK0xJQlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllf
U1JDKS9lbmMvd2luZG93c18xMjUzLmMKK0xJQlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllf
U1JDKS9lbmMvd2luZG93c18xMjU0LmMKK0xJQlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllf
U1JDKS9lbmMvd2luZG93c18xMjU3LmMKKworIyBlbmMvbGlidHJhbnMuYQorTElCUlVCWV9FTkNf
U1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy90cmFucy90cmFuc2RiLmMKK0xJQlJVQllfRU5D
X1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMvdHJhbnMvYmlnNS5jfHRyYW5zCitMSUJSVUJZ
X0VOQ19TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL3RyYW5zL2NoaW5lc2UuYworTElCUlVC
WV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy90cmFucy9lYmNkaWMuYworTElCUlVC
WV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy90cmFucy9lbW9qaS5jCitMSUJSVUJZ
X0VOQ19TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL3RyYW5zL2Vtb2ppX2lzbzIwMjJfa2Rk
aS5jCitMSUJSVUJZX0VOQ19TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL3RyYW5zL2Vtb2pp
X3NqaXNfZG9jb21vLmMKK0xJQlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMv
dHJhbnMvZW1vamlfc2ppc19rZGRpLmMKK0xJQlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllf
U1JDKS9lbmMvdHJhbnMvZW1vamlfc2ppc19zb2Z0YmFuay5jCitMSUJSVUJZX0VOQ19TUkNTLXkg
Kz0gJChMSUJSVUJZX1NSQykvZW5jL3RyYW5zL2VzY2FwZS5jCitMSUJSVUJZX0VOQ19TUkNTLXkg
Kz0gJChMSUJSVUJZX1NSQykvZW5jL3RyYW5zL2diMTgwMzAuY3x0cmFucworTElCUlVCWV9FTkNf
U1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy90cmFucy9nYmsuY3x0cmFucworTElCUlVCWV9F
TkNfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy90cmFucy9pc28yMDIyLmMKK0xJQlJVQllf
RU5DX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMvdHJhbnMvamFwYW5lc2UuYworTElCUlVC
WV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy90cmFucy9qYXBhbmVzZV9ldWMuYwor
TElCUlVCWV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy90cmFucy9qYXBhbmVzZV9z
amlzLmMKK0xJQlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMvdHJhbnMva29y
ZWFuLmMKK0xJQlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMvdHJhbnMvc2lu
Z2xlX2J5dGUuYworTElCUlVCWV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy90cmFu
cy91dGY4X21hYy5jCitMSUJSVUJZX0VOQ19TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL3Ry
YW5zL3V0Zl8xNl8zMi5jCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAjIFByZXBhcmUgcnVs
ZXMKLS0gCjIuMjAuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnBy
b2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9t
aW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Thu Dec 12 17:43:07 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 12 Dec 2019 17:43:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ifSUV-0003pI-Ru; Thu, 12 Dec 2019 17:43:07 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=Gxg0=2C=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1ifSUU-0003p6-MB
 for minios-devel@lists.xen.org; Thu, 12 Dec 2019 17:43:06 +0000
X-Inumbo-ID: cfb8cbb0-1d06-11ea-8ddb-12813bfff9fa
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id cfb8cbb0-1d06-11ea-8ddb-12813bfff9fa;
 Thu, 12 Dec 2019 17:42:48 +0000 (UTC)
IronPort-SDR: WmmZ1PxKf849KYsk5RkA8Uhphw93ec9cxo9WgMgwWFIriUqm647twxZZGlUZPSF9G+8Z9J62od
 304rModHhSFg==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 12 Dec 2019 19:42:42 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 6E5B31A6026E;
 Thu, 12 Dec 2019 19:42:43 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id UbHmj3ArOu4Y; Thu, 12 Dec 2019 19:42:43 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 550D61A60270;
 Thu, 12 Dec 2019 19:42:43 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id A5bsDi_lATgJ; Thu, 12 Dec 2019 19:42:43 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 3EAEA1A6027E;
 Thu, 12 Dec 2019 19:42:43 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Thu, 12 Dec 2019 19:42:36 +0200
Message-Id: <20191212174239.5202-6-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191212174239.5202-1-costin.lupu@cs.pub.ro>
References: <20191212174239.5202-1-costin.lupu@cs.pub.ro>
Subject: [Minios-devel] [UNIKRAFT/RUBY PATCH 5/8] tests: Build tests
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhlIFJ1YnkgdW5pdCB0ZXN0aW5nIGRlcGVuZHMgb24gYm90aCBleHRlbnNpb25zIGFuZCBlbmNv
ZGluZ3MuIFdlIGN1cnJlbnRseQphZGQgc3VwcG9ydCBmb3IgcnVubmluZyBvbmx5IHRoZSB0aW1l
IGFuZCBmaWxlIHRlc3RzLiBFbmFibGluZyB0aGUgcmVzdCBvZiB0aGUKdGVzdHMgaXMgc3ViamVj
dCBvZiBmdXJ0aGVyIHdvcmsuCgpTaWduZWQtb2ZmLWJ5OiBDb3N0aW4gTHVwdSA8Y29zdGluLmx1
cHVAY3MucHViLnJvPgotLS0KIENvbmZpZy51ayAgICAgICAgICAgICAgIHwgIDcgKysrKysrKwog
TWFrZWZpbGUudWsgICAgICAgICAgICAgfCA0MiArKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKwogZ2VuZXJhdGVkL2V4dC9leHRpbml0LmMgfCAgNiArKysrKysKIDMgZmls
ZXMgY2hhbmdlZCwgNTUgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL0NvbmZpZy51ayBiL0Nv
bmZpZy51awppbmRleCBhNDk0NTQwLi40OGI5NjY5IDEwMDY0NAotLS0gYS9Db25maWcudWsKKysr
IGIvQ29uZmlnLnVrCkBAIC0xMzEsNCArMTMxLDExIEBAIGNvbmZpZyBMSUJSVUJZX0VOQwogCWRl
cGVuZHMgb24gIUxJQlJVQllfTUlOSQogCWRlZmF1bHQgeQogCitjb25maWcgTElCUlVCWV9URVNU
CisJYm9vbCAiRW5hYmxlIHVuaXQgdGVzdGluZyIKKwlkZXBlbmRzIG9uICFMSUJSVUJZX01JTkkK
KwlkZXBlbmRzIG9uIExJQlJVQllfRVhUCisJZGVwZW5kcyBvbiBMSUJSVUJZX0VOQworCWRlZmF1
bHQgeQorCiBlbmRpZgpkaWZmIC0tZ2l0IGEvTWFrZWZpbGUudWsgYi9NYWtlZmlsZS51awppbmRl
eCAwNDFlN2VjLi45ZWE4M2EzIDEwMDY0NAotLS0gYS9NYWtlZmlsZS51aworKysgYi9NYWtlZmls
ZS51awpAQCAtNDEsNiArNDEsNyBAQAogJChldmFsICQoY2FsbCBhZGRsaWJfcyxsaWJydWJ5LCQo
Q09ORklHX0xJQlJVQlkpKSkKICQoZXZhbCAkKGNhbGwgYWRkbGliX3MsbGlicnVieV9leHQsJChD
T05GSUdfTElCUlVCWV9FWFQpKSkKICQoZXZhbCAkKGNhbGwgYWRkbGliX3MsbGlicnVieV9lbmMs
JChDT05GSUdfTElCUlVCWV9FTkMpKSkKKyQoZXZhbCAkKGNhbGwgYWRkbGliX3MsbGlicnVieV90
ZXN0LCQoQ09ORklHX0xJQlJVQllfVEVTVCkpKQogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwog
IyBTb3VyY2VzCkBAIC01NDQsNiArNTQ1LDMxIEBAIExJQlJVQllfRU5DX1NSQ1MteSArPSAkKExJ
QlJVQllfU1JDKS9lbmMvdHJhbnMvc2luZ2xlX2J5dGUuYwogTElCUlVCWV9FTkNfU1JDUy15ICs9
ICQoTElCUlVCWV9TUkMpL2VuYy90cmFucy91dGY4X21hYy5jCiBMSUJSVUJZX0VOQ19TUkNTLXkg
Kz0gJChMSUJSVUJZX1NSQykvZW5jL3RyYW5zL3V0Zl8xNl8zMi5jCiAKKyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjCisjIFVuaXQgdGVzdGluZworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKK0xJQlJV
QllfVEVTVF9DRkxBR1MteSArPSAkKExJQlJVQllfQ0lOQ0xVREVTLXkpCitMSUJSVUJZX1RFU1Rf
Q0ZMQUdTLXkgKz0gJChMSUJSVUJZX1NVUFBSRVNTX0ZMQUdTKQorTElCUlVCWV9URVNUX0NGTEFH
Uy15ICs9IC1EUlVCWV9FWFRDT05GX0g9XCJleHRjb25mLmhcIgorCiskKExJQlJVQllfU1JDKS9l
eHQvLXRlc3QtL2ZpbGUvaW5pdF9maWxlLmM6ICQoTElCUlVCWV9TUkMpL2V4dC8tdGVzdC0vZmls
ZS9pbml0LmMKKwlsbiAtcyAkPCAkQAorTElCUlVCWV9URVNUX1NSQ1MteSArPSAkKExJQlJVQllf
U1JDKS9leHQvLXRlc3QtL2ZpbGUvaW5pdF9maWxlLmMKK0xJQlJVQllfVEVTVF9JTklULUZJTEVf
RkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC8tdGVzdC0vZmlsZQorTElCUlVCWV9URVNU
X1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvLXRlc3QtL2ZpbGUvZnMuYworTElCUlVCWV9U
RVNUX0ZTX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvLXRlc3QtL2ZpbGUKK0xJQlJV
QllfVEVTVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0Ly10ZXN0LS9maWxlL3N0YXQuYwor
TElCUlVCWV9URVNUX1NUQVRfRkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC8tdGVzdC0v
ZmlsZQorCiskKExJQlJVQllfU1JDKS9leHQvLXRlc3QtL3RpbWUvaW5pdF90aW1lLmM6ICQoTElC
UlVCWV9TUkMpL2V4dC8tdGVzdC0vdGltZS9pbml0LmMKKwlsbiAtcyAkPCAkQAorTElCUlVCWV9U
RVNUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvLXRlc3QtL3RpbWUvaW5pdF90aW1lLmMK
K0xJQlJVQllfVEVTVF9JTklULVRJTUVfRkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC8t
dGVzdC0vdGltZQorTElCUlVCWV9URVNUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvLXRl
c3QtL3RpbWUvbGVhcF9zZWNvbmQuYworTElCUlVCWV9URVNUX0xFQVBfU0VDT05EX0ZMQUdTLXkg
Kz0gLUkkKExJQlJVQllfU1JDKS9leHQvLXRlc3QtL3RpbWUKK0xJQlJVQllfVEVTVF9TUkNTLXkg
Kz0gJChMSUJSVUJZX1NSQykvZXh0Ly10ZXN0LS90aW1lL25ldy5jCitMSUJSVUJZX1RFU1RfTkVX
X0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvLXRlc3QtL3RpbWUKKwogIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMKICMgUHJlcGFyZSBydWxlcwogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK
QEAgLTU2NCwzICs1OTAsMTkgQEAgJChMSUJSVUJZX0JVSUxEKS8uYnVpbGQ6ICQoTElCUlVCWV9C
VUlMRCkvLmNvbmZpZ3VyZWQKIAogVUtfUFJFUEFSRSArPSAkKExJQlJVQllfQlVJTEQpLy5idWls
ZAogCitpZmVxICgkKENPTkZJR19MSUJSVUJZX1RFU1QpLHkpCisjIEN1c3RvbWl6ZSBjb25maWc6
IGNvbmZpZ3VyZSBzdGFjayBzaXplCiskKEFQUF9CQVNFKS8uY29uZmlnLm9yaWc6ICQoQVBQX0JB
U0UpLy5jb25maWcKKwkkKGNhbGwgdmVyYm9zZV9jbWQsQ09ORklHLGxpYnJ1Ynk6ICQobm90ZGly
ICRAKSwgXAorCQljcCAkKEFQUF9CQVNFKS8uY29uZmlnICRAICYmIFwKKwkJc2VkIC1pICdzL15D
T05GSUdfU1RBQ0tfU0laRV9QQUdFX09SREVSPS4qJCQvQ09ORklHX1NUQUNLX1NJWkVfUEFHRV9P
UkRFUj0xMC9nJyAkKEFQUF9CQVNFKS8uY29uZmlnKQorCisjIFdlIG5lZWQgYSBiaWdnZXIgc3Rh
Y2sgZm9yIHRlc3RzCitMSUJSVUJZX1RFU1RfUFJFUEFSRURfREVQUyA9IFwKKwkkKEFQUF9CQVNF
KS8uY29uZmlnLm9yaWcgXAorCiskKExJQlJVQllfVEVTVF9CVUlMRCkvLnByZXBhcmVkOiAkKExJ
QlJVQllfVEVTVF9QUkVQQVJFRF9ERVBTKQorCitVS19QUkVQQVJFICs9ICQoTElCUlVCWV9URVNU
X0JVSUxEKS8ucHJlcGFyZWQKK2VuZGlmCisKZGlmZiAtLWdpdCBhL2dlbmVyYXRlZC9leHQvZXh0
aW5pdC5jIGIvZ2VuZXJhdGVkL2V4dC9leHRpbml0LmMKaW5kZXggZGNmOTYzMS4uNTcxMzRjNSAx
MDA2NDQKLS0tIGEvZ2VuZXJhdGVkL2V4dC9leHRpbml0LmMKKysrIGIvZ2VuZXJhdGVkL2V4dC9l
eHRpbml0LmMKQEAgLTEwMiw0ICsxMDIsMTAgQEAgdm9pZCBJbml0X2V4dCh2b2lkKQogI2lmIENP
TkZJR19MSUJSVUJZX0VYVF9TREJNCiAgICAgaW5pdChJbml0X3NkYm0sICJzZGJtIik7CiAjZW5k
aWYKKworI2lmIENPTkZJR19MSUJSVUJZX1RFU1QKKyAgICAvKiBUT0RPIGFkZCBtb3JlIHRlc3Rz
ICovCisgICAgaW5pdChJbml0X3RpbWUsICItdGVzdC0vZmlsZSIpOworICAgIGluaXQoSW5pdF90
aW1lLCAiLXRlc3QtL3RpbWUiKTsKKyNlbmRpZgogfQotLSAKMi4yMC4xCgoKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcg
bGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5w
cm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Thu Dec 12 17:43:12 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 12 Dec 2019 17:43:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ifSUa-0003qO-TT; Thu, 12 Dec 2019 17:43:12 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=Gxg0=2C=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1ifSUZ-0003q7-MW
 for minios-devel@lists.xen.org; Thu, 12 Dec 2019 17:43:11 +0000
X-Inumbo-ID: cf46021c-1d06-11ea-8ddb-12813bfff9fa
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id cf46021c-1d06-11ea-8ddb-12813bfff9fa;
 Thu, 12 Dec 2019 17:42:48 +0000 (UTC)
IronPort-SDR: ihFVJU6q00Ea6xqjxjReHwlHecy9FOLNJNfHepYcZZ0MVYBuNRlo89iQ6DxCmH7bpvT3Fgn6+Y
 a9m3GpBatNeA==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 12 Dec 2019 19:42:42 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 797E61A60270;
 Thu, 12 Dec 2019 19:42:43 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id bTeYN2BJNW-F; Thu, 12 Dec 2019 19:42:43 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 617271A60277;
 Thu, 12 Dec 2019 19:42:43 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id c9N5M7V-ETTs; Thu, 12 Dec 2019 19:42:43 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 4240E1A60280;
 Thu, 12 Dec 2019 19:42:43 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Thu, 12 Dec 2019 19:42:37 +0200
Message-Id: <20191212174239.5202-7-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191212174239.5202-1-costin.lupu@cs.pub.ro>
References: <20191212174239.5202-1-costin.lupu@cs.pub.ro>
Subject: [Minios-devel] [UNIKRAFT/RUBY PATCH 6/8] Makefile.uk: Add rule for
 creating root filesystem
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhlIFJ1YnkgaW50ZXJwcmV0ZXIgbmVlZHMgYSBmaWxlc3lzdGVtIHdoZXJlIHRvIGtlZXAgaXRz
IGxpYnJhcmllcy4gVGhpcyBwYXRjaApjcmVhdGVzIGEgcm9vdCBmaWxlc3lzdGVtIGFuZCBpbnN0
YWxscyB0aGUgUnVieSBsaWJyYXJpZXMgaW4gYC9saWIvcnVieS8yLjYuMC9gCmRpcmVjdG9yeS4g
Rm9yIGNyZWF0aW5nIHRoZSBmaWxlc3lzdGVtIHRoZSBmb2xsb3dpbmcgY29tbWFuZCBoYXMgdG8g
YmUgcnVuOgoKJCBtYWtlIHJ1Ynktcm9vdGZzIHBhdGg9PGRpcmVjdG9yeT4KClNpZ25lZC1vZmYt
Ynk6IENvc3RpbiBMdXB1IDxjb3N0aW4ubHVwdUBjcy5wdWIucm8+Ci0tLQogTWFrZWZpbGUudWsg
ICAgICAgICAgICAgICB8IDI5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBnZW1zLWV4
YW1wbGVzL0dlbWZpbGUtaXJiIHwgIDggKysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgMzcgaW5z
ZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbXMtZXhhbXBsZXMvR2VtZmlsZS1pcmIK
CmRpZmYgLS1naXQgYS9NYWtlZmlsZS51ayBiL01ha2VmaWxlLnVrCmluZGV4IDllYTgzYTMuLmM4
MzI1MTggMTAwNjQ0Ci0tLSBhL01ha2VmaWxlLnVrCisrKyBiL01ha2VmaWxlLnVrCkBAIC01MCw2
ICs1MCw3IEBAIExJQlJVQllfTUFKT1I9MgogTElCUlVCWV9NSU5PUj02CiBMSUJSVUJZX1JFVklT
SU9OPTAKIExJQlJVQllfVkVSU0lPTj0kKExJQlJVQllfTUFKT1IpXyQoTElCUlVCWV9NSU5PUikK
K0xJQlJVQllfVkVSU0lPTl9MT05HPSQoTElCUlVCWV9NQUpPUikuJChMSUJSVUJZX01JTk9SKS4k
KExJQlJVQllfUkVWSVNJT04pCiBMSUJSVUJZX0FSQ0hJVkU9cnVieV8kKExJQlJVQllfVkVSU0lP
TikuemlwCiBMSUJSVUJZX1VSTD1odHRwczovL2dpdGh1Yi5jb20vcnVieS9ydWJ5L2FyY2hpdmUv
JChMSUJSVUJZX0FSQ0hJVkUpCiBMSUJSVUJZX0RJUj1ydWJ5LXJ1YnlfJChMSUJSVUJZX1ZFUlNJ
T04pCkBAIC02MDYsMyArNjA3LDMxIEBAICQoTElCUlVCWV9URVNUX0JVSUxEKS8ucHJlcGFyZWQ6
ICQoTElCUlVCWV9URVNUX1BSRVBBUkVEX0RFUFMpCiBVS19QUkVQQVJFICs9ICQoTElCUlVCWV9U
RVNUX0JVSUxEKS8ucHJlcGFyZWQKIGVuZGlmCiAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisj
IFJvb3QgZmlsZXN5c3RlbQorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgUm9vdCBmaWxlc3lz
dGVtIHBhdGgKK1JVQllfUk9PVEZTID0gJChBUFBfQkFTRSkvJChwYXRoKQorCisjIENvbmZpZ3Vy
ZSBvcmlnaW4KKyQoUlVCWV9ST09URlMpLy5jb25maWd1cmVkOiAkKExJQlJVQllfQlVJTEQpLy5v
cmlnaW4KKwlta2RpciAtcCAkKFJVQllfUk9PVEZTKSAmPi9kZXYvbnVsbAorCWNkICQoTElCUlVC
WV9TUkMpICYmIFwKKwkJYXV0b2NvbmYgJiYgXAorCQkuL2NvbmZpZ3VyZSAtLXByZWZpeD0kKHNo
ZWxsIHJlYWxwYXRoICQoQVBQX0JBU0UpLyQocGF0aCkpICQoTElCUlVCWV9DT05GSUdVUkVfQ09N
TU9OX1BBUkFNUykgJiYgXAorCQl0b3VjaCAkQCAmJiB0b3VjaCAkKExJQlJVQllfQlVJTEQpLy5j
b25maWd1cmVkCisKKyMgQnVpbGQgUnVieQorJChSVUJZX1JPT1RGUykvLmJ1aWxkOiAkKFJVQllf
Uk9PVEZTKS8uY29uZmlndXJlZAorCWNkICQoTElCUlVCWV9TUkMpICYmIG1ha2UgLWokKEpPQlMp
ICYmIHRvdWNoICRAICYmIHRvdWNoICQoTElCUlVCWV9CVUlMRCkvLmJ1aWxkCisKKyMgSW5zdGFs
bCBSdWJ5CiskKFJVQllfUk9PVEZTKS8uZG9uZTogJChSVUJZX1JPT1RGUykvLmJ1aWxkCisJY2Qg
JChMSUJSVUJZX1NSQykgJiYgbWFrZSBpbnN0YWxsCisJY3AgLXIgJChMSUJSVUJZX1NSQykvLmV4
dCAkKFJVQllfUk9PVEZTKS9saWIvcnVieS8kKExJQlJVQllfVkVSU0lPTl9MT05HKS8KKwljcCAt
ciAkKExJQlJVQllfU1JDKS90ZXN0ICQoUlVCWV9ST09URlMpL2xpYi9ydWJ5LyQoTElCUlVCWV9W
RVJTSU9OX0xPTkcpLworCWNwICQoTElCUlVCWV9CQVNFKS9nZW1zLWV4YW1wbGVzL0dlbWZpbGUt
aXJiICQoUlVCWV9ST09URlMpL2xpYi9ydWJ5LyQoTElCUlVCWV9WRVJTSU9OX0xPTkcpL0dlbWZp
bGUKKwl0b3VjaCAkQAorCisuUEhPTlk6IHJ1Ynktcm9vdGZzCitydWJ5LXJvb3RmczogJChSVUJZ
X1JPT1RGUykvLmRvbmUKZGlmZiAtLWdpdCBhL2dlbXMtZXhhbXBsZXMvR2VtZmlsZS1pcmIgYi9n
ZW1zLWV4YW1wbGVzL0dlbWZpbGUtaXJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLjFhYzM5ZDAKLS0tIC9kZXYvbnVsbAorKysgYi9nZW1zLWV4YW1wbGVzL0dlbWZpbGUtaXJi
CkBAIC0wLDAgKzEsOCBAQAorIyBmcm96ZW5fc3RyaW5nX2xpdGVyYWw6IHRydWUKKworc291cmNl
ICJodHRwczovL3J1YnlnZW1zLm9yZyIKKworZ2l0X3NvdXJjZSg6Z2l0aHViKSB7fHJlcG9fbmFt
ZXwgImh0dHBzOi8vZ2l0aHViLmNvbS8je3JlcG9fbmFtZX0iIH0KKworIyBnZW0gInJhaWxzIgor
Z2VtICdpcmInLCByZXF1aXJlOiBmYWxzZQotLSAKMi4yMC4xCgoKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApN
aW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0
Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Thu Dec 12 17:43:18 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 12 Dec 2019 17:43:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ifSUf-0003rL-V1; Thu, 12 Dec 2019 17:43:17 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=Gxg0=2C=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1ifSUe-0003r4-MT
 for minios-devel@lists.xen.org; Thu, 12 Dec 2019 17:43:16 +0000
X-Inumbo-ID: cfb8cbb1-1d06-11ea-8ddb-12813bfff9fa
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id cfb8cbb1-1d06-11ea-8ddb-12813bfff9fa;
 Thu, 12 Dec 2019 17:42:49 +0000 (UTC)
IronPort-SDR: s0mTw8P2HF0JC6w3/dSUvwrqIfwlg5Wn8gqcn/K02QtAW7UfsV1P9AQosaOaXYYlgM09Txzqem
 OM1WKyiY2p+g==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 12 Dec 2019 19:42:42 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 8C0741A60267;
 Thu, 12 Dec 2019 19:42:43 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id xEkDf6LwB6TA; Thu, 12 Dec 2019 19:42:43 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 7421F1A6026E;
 Thu, 12 Dec 2019 19:42:43 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id jh529cLMb1eX; Thu, 12 Dec 2019 19:42:43 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 602211A60272;
 Thu, 12 Dec 2019 19:42:43 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Thu, 12 Dec 2019 19:42:39 +0200
Message-Id: <20191212174239.5202-9-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191212174239.5202-1-costin.lupu@cs.pub.ro>
References: <20191212174239.5202-1-costin.lupu@cs.pub.ro>
Subject: [Minios-devel] [UNIKRAFT/RUBY PATCH 8/8] README.md: Update with
 info about building and running
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

U2lnbmVkLW9mZi1ieTogQ29zdGluIEx1cHUgPGNvc3Rpbi5sdXB1QGNzLnB1Yi5ybz4KLS0tCiBS
RUFETUUubWQgfCA2NiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKystLS0tCiAxIGZpbGUgY2hhbmdlZCwgNjIgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlv
bnMoLSkKCmRpZmYgLS1naXQgYS9SRUFETUUubWQgYi9SRUFETUUubWQKaW5kZXggN2E4ZDM4MC4u
NTBkYWY1ZCAxMDA2NDQKLS0tIGEvUkVBRE1FLm1kCisrKyBiL1JFQURNRS5tZApAQCAtMSw5ICsx
LDY3IEBACi1SdWJ5IGZvciBVbmlrcmFmdAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LQorIyBSdWJ5IGZvciBVbmlrcmFmdAogVGhpcyBpcyB0aGUgcG9ydCBvZiBSdWJ5IGZvciBVbmlr
cmFmdCBhcyBleHRlcm5hbCBsaWJyYXJ5LgogCi1UT0RPCisjIyBCdWlsZAorUnVieSBkZXBlbmRz
IG9uIHRoZSBmb2xsb3dpbmcgbGlicmFyaWVzLCB0aGF0IG5lZWQgdG8gYmUgYWRkZWQgdG8gYE1h
a2VmaWxlYCBpbgordGhpcyBvcmRlcjoKKworKiBgcHRocmVhZHNgLCBlLmcuIGBwdGhyZWFkLWVt
YmVkZGVkYAorKiBDKysgbGlicmFyaWVzOiBgY29tcGlsZXItcnRgLCBgbGliY3h4YCwgYGxpYmN4
eGFiaWAsIGBsaWJ1bndpbmRgCisqIGBsaWJjYCwgZS5nLiBgbmV3bGliYAorKiBuZXR3b3JrIHN0
YWNrLCBlLmcuIGBsd2lwYAorKiBvcHRpb25hbCBleHRlbnNpb25zOiBgb3BlbnNzbGAsIGB6bGli
YC4KKworIyMgUm9vdCBmaWxlc3lzdGVtCisjIyMgQ3JlYXRpbmcgdGhlIGZpbGVzeXN0ZW0KK1J1
YnkgaW50ZXJwcmV0ZXIgbmVlZHMgYSBmaWxlc3lzdGVtIHdoaWNoIHNob3VsZCBjb250YWluIGl0
cyBsaWJyYXJpZXMuCitUaGVyZWZvcmUsIHRoZSBmaWxlc3lzdGVtIG5lZWRzIHRvIGJlIGNyZWF0
ZWQgYmVmb3JlIHJ1bm5pbmcgdGhlIFZNLiAgWW91IGNhbgorZG8gdGhpcyBieSBydW5uaW5nIHRo
ZSBmb2xsb3dpbmcgY29tbWFuZDoKKworYGBgYmFzaAorbWFrZSBydWJ5LXJvb3RmcyBwYXRoPTxz
b21lIGRpcmVjdG9yeT4KK2BgYAorCitJdCB3aWxsIGNyZWF0ZSB0aGUgZmlsZXN5c3RlbSBpbiB0
aGUgZGlyZWN0b3J5IHlvdSBjaG9vc2Ugd2hlcmUgaXQgd2lsbCBpbnN0YWxsCit0aGUgUnVieSBs
aWJyYXJpZXMuIEluIG9yZGVyIHRvIGFjaGlldmUgdGhpcywgdGhlIG9yaWdpbmFsIGNvZGUgbmVl
ZHMgdG8gYmUKK2NvbmZpZ3VyZWQgYW5kIGJ1aWxkIHdpdGggcGF0aHMgcmVsYXRpdmUgdG8gdGhl
IHByb3ZpZGVkIHJvb3QgZGlyZWN0b3J5LiBUaGVzZQordHdvIHN0ZXBzIGFyZSBleGVjdXRlZCB0
cmFuc3BhcmVudGx5LCBhbGwgeW91IGhhdmUgdG8gZG8gaXMganVzdCBydW5uaW5nIHRoZQorYWJv
dmUgYG1ha2VgIGNvbW1hbmQuCisKKyMjIyBVc2luZyB0aGUgZmlsZXN5c3RlbQorVGhlIHNhbWUg
c3RlcHMgcHJlc2VudGVkIGluIHRoZSBzYW1lIHN1YnNlY3Rpb24gb2YgdGhlIFB5dGhvbiAzIHBv
cnQgUkVBRE1FCitzaG91bGQgYmUgZm9sbG93ZWQuCisKKyMjIFJ1bm5pbmcgbW9kZXMKK1RoZSBu
ZXh0IHN0ZXAgaXMgdG8gcGljayBhIHJ1bm5pbmcgbW9kZS4gV2UgY3VycmVudGx5IHN1cHBvcnQg
dGhlIGZvbGxvd2luZworcnVubmluZyBtb2RlczoKKworMS4gKipSdWJ5IHNjcmlwdCoqLiBZb3Ug
Y2FuIHVzZSBhbnkgZmlsZSBhdmFpbGFibGUgaW4gdGhlIHJvb3QgZmlsZXN5c3RlbS4gIFlvdQor
c2hvdWxkIHVzZSBRZW11J3MgYC1hcHBlbmRgIG9wdGlvbiB0byBwYXNzIHBhcmFtZXRlciB0byBQ
eXRob24gaW50ZXJwcmV0ZXIsCitlLmcuIGAtYXBwZW5kICJ2ZnMucm9vdGRldj10ZXN0IC0tIDxz
b21lIGZpbGUgaW4gcm9vdGZzPiJgLiAgUGxlYXNlIG5vdGljZSB0aGF0Cit3ZSBhcmUgdXNpbmcg
YHRlc3RgIGZvciB0aGUgOXBmcyBtb3VudGluZyB0YWcuIEZvciBicmV2aXR5IHdlIHdpbGwgc2tp
cCBzZXR0aW5nCit0aGUgbW91bnRpbmcgdGFnIGluIHRoZSBuZXh0IGV4YW1wbGVzLgorCisyLiAq
KlJ1Ynkgc2hlbGwqKi4gWW91IGNhbiBydW4gdGhlIGludGVyYWN0aXZlIFJ1Ynkgc2hlbGwsIHdo
aWNoIGlzIGp1c3QgYSBSdWJ5CitzY3JpcHQsIHdpdGggdGhlIHBhcmFtZXRlcnM6IGAtYXBwZW5k
ICItLSAvYmluL2lyYiJgLgorCiszLiAqKkNvbW1hbmQgbGluZSoqLiBZb3UgY2FuIHByb3ZpZGUg
YSBvbmUgbGluZSBzY3JpcHQgdXNpbmcgdGhlIGAtZWAgb3B0aW9uLAorZSxnLiBgLWFwcGVuZCAi
LS0gLWUgJ3B1dHMgXCJIZWxsbyBXb3JsZFwiJyJgLgorCis0LiAqKlJ1YnkgdW5pdCB0ZXN0aW5n
IChkZXZlbG9wZXJzIG9ubHkpKiouIFdpdGggdGhpcyBtb2RlIHlvdSBjYW4gY2hlY2sgd2hhdAor
ZnVuY3Rpb25hbGl0eSBpcyBjb21wbGV0ZWx5IHN1cHBvcnRlZCBieSB0aGUgUnVieSBwb3J0LiBQ
bGVhc2UgYmUgYXdhcmUgdGhhdAordGhpcyBtb2RlIGlzIHVuc3RhYmxlIGFuZCBzb21lIG9mIHRo
ZSB0ZXN0cyBtYXkgYmxvY2suIEluIG9yZGVyIHRvIHJ1biBhbGwgdGhlCit1bml0IHRlc3RzIHlv
dSBzaG91bGQgdXNlIHRoZSBmb2xsb3dpbmcgcGFyYW1ldGVyczogYC1hcHBlbmQgIi0tIC9saWIv
cnVieS8yLjYuMC90ZXN0L3J1bm5lci5yYiAtLWV4Y2x1ZGU9ZHRyYWNlIC0tZXhjbHVkZT1ta21m
IC0tZXhjbHVkZT13aW4zMm9sZSAtLWV4Y2x1ZGU9cmRvYyJgLgorCitXZSBhbHNvIHByb3ZpZGUg
YSBjb25maWd1cmF0aW9uIG9wdGlvbiBmb3IgYnVpbGRpbmcgYG1pbmlydWJ5YCwgYSBtaW5pbWFs
aXN0aWMKK3ZlcnNpb24gb2YgdGhlIFJ1YnkgaW50ZXJwcmV0ZXIgYnVpbGQgaW4gdGhlIHNhbWUg
d2F5IGFzIGZvciBMaW51eC4gYG1pbmlydWJ5YAorZG9lcyBub3QgaGF2ZSBhbnkgZXh0ZW5zaW9u
IG9yIGVuY29kaW5nLCB0aGVyZWZvcmUgaXRzIHVzYWdlIGlzIGxpbWl0ZWQuIFlvdQorY2FuIGVp
dGhlciB1c2UgaXQgZm9yIHJ1bm5pbmcgc2ltcGxlIHNjcmlwdHMgb3Igc2ltcGxlIG9uZSBsaW5l
cnMuCisKKyMjIyBNZW1vcnkgdXNhZ2UKK1NvbWUgb2YgdGhlIHVuaXQgdGVzdHMgbWF5IHJlcXVp
cmUgYSBsb3Qgb2YgbWVtb3J5IHRvIHJ1bjsgZm9yIHRoaXMKK3JlYXNvbiBwbGVhc2UgYWxsb3cg
Zm9yIGF0IGxlYXN0IDFHIG9mIG1lbW9yeSBmb3IgdW5pdCB0ZXN0aW5nIChlLmcuLAorYC1tIDFH
YCBpbiBRZW11KS4KIAorIyMgRnVydGhlciBpbmZvcm1hdGlvbgogUGxlYXNlIHJlZmVyIHRvIHRo
ZSBgUkVBRE1FLm1kYCBhcyB3ZWxsIGFzIHRoZSBkb2N1bWVudGF0aW9uIGluIHRoZSBgZG9jL2AK
IHN1YmRpcmVjdG9yeSBvZiB0aGUgbWFpbiB1bmlrcmFmdCByZXBvc2l0b3J5LgotLSAKMi4yMC4x
CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9z
LWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0
cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Fri Dec 13 13:26:34 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 13 Dec 2019 13:26:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ifkxk-0006DS-Ec; Fri, 13 Dec 2019 13:26:32 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=6cmg=2D=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1ifkxj-0006DM-Qo
 for minios-devel@lists.xen.org; Fri, 13 Dec 2019 13:26:31 +0000
X-Inumbo-ID: 2bcf12e2-1dac-11ea-a914-bc764e2007e4
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id 2bcf12e2-1dac-11ea-a914-bc764e2007e4;
 Fri, 13 Dec 2019 13:26:30 +0000 (UTC)
IronPort-SDR: 0O68kkO1onLTQa0zy7BgYflGCWwQc162ytHZB7FKSQN0WwR9fRGfENxKpTyQ+A2f+bsA4K+11k
 mK+sE9b9lOvw==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 13 Dec 2019 15:26:27 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 212D21A601A9;
 Fri, 13 Dec 2019 15:26:28 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id GxyH-eHiiYae; Fri, 13 Dec 2019 15:26:28 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 062A91A601BB;
 Fri, 13 Dec 2019 15:26:28 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id 1-cC6LM6c-oF; Fri, 13 Dec 2019 15:26:27 +0200 (EET)
Received: from [192.168.100.190] (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id D7AF21A601A9;
 Fri, 13 Dec 2019 15:26:27 +0200 (EET)
To: Simon Kuenzer <simon.kuenzer@neclab.eu>, minios-devel@lists.xen.org
References: <20191206134105.23225-1-costin.lupu@cs.pub.ro>
 <20191206134105.23225-4-costin.lupu@cs.pub.ro>
 <ebf9faae-debf-edc2-2785-fb278e65b2b0@neclab.eu>
From: Costin Lupu <costin.lupu@cs.pub.ro>
Message-ID: <8f809c52-b827-5777-bd5a-fff0d1d5e69c@cs.pub.ro>
Date: Fri, 13 Dec 2019 15:26:27 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.2.2
MIME-Version: 1.0
In-Reply-To: <ebf9faae-debf-edc2-2785-fb278e65b2b0@neclab.eu>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT PATCH 3/6] lib/uktime: Remove
 exportsyms.uk
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

T24gMTIvOS8xOSAxMTozMCBBTSwgU2ltb24gS3VlbnplciB3cm90ZToKPiBJcyB0aGVyZSBhIGdv
b2QgcmVhc29uIHdoeSB0byByZW1vdmUgdGhpcyBmaWxlPyBJIHJlbWVtYmVyIHRoYXQgd2UKPiBk
ZWNpZGVkIHRvIHRyZWF0IGV4cG9ydHN5bXMudWsgYXMgb3B0aW9uYWwgZmlsZSBmb3IgZXh0ZXJu
YWwgbGlicywKPiBlc3BlY2lhbGx5IGZvciBDKysgY29kZS4gSG93ZXZlciwgYHVrdGltZWAgaXMg
YSBzbWFsbCBhbmQgc2ltcGxlCj4gaW50ZXJuYWwgbGlicmFyeSB3cml0dGVuIGluIEMuCgpBbHJp
Z2h0LCBJJ2xsIGRyb3AgdGhpcyBwYXRjaC4KCkNvc3RpbgoKX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5p
b3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9y
Zy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Fri Dec 13 13:33:47 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 13 Dec 2019 13:33:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ifl4k-0007D7-Le; Fri, 13 Dec 2019 13:33:46 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=6cmg=2D=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1ifl4i-0007Cy-LP
 for minios-devel@lists.xen.org; Fri, 13 Dec 2019 13:33:44 +0000
X-Inumbo-ID: 2db7f9d8-1dad-11ea-8f04-12813bfff9fa
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id 2db7f9d8-1dad-11ea-8f04-12813bfff9fa;
 Fri, 13 Dec 2019 13:33:43 +0000 (UTC)
IronPort-SDR: iuEpDGkJ13t//g+q4oKIQoCum9Imx0JJYRE/r0y7ma8onfy87UtCnoKAAqRNDIHVnJyh3zXDCn
 X/Bi7ifvAwQw==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 13 Dec 2019 15:33:41 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 5DE761A601A9;
 Fri, 13 Dec 2019 15:33:42 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id j64gR1yGeXWI; Fri, 13 Dec 2019 15:33:42 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 42F1F1A601BB;
 Fri, 13 Dec 2019 15:33:42 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id IZQE0HeKNd65; Fri, 13 Dec 2019 15:33:42 +0200 (EET)
Received: from [192.168.100.190] (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 287E11A601A9;
 Fri, 13 Dec 2019 15:33:42 +0200 (EET)
To: Simon Kuenzer <simon.kuenzer@neclab.eu>, minios-devel@lists.xen.org
References: <20191206134105.23225-1-costin.lupu@cs.pub.ro>
 <20191206134105.23225-5-costin.lupu@cs.pub.ro>
 <b2d807b7-abfa-32ab-b185-118c9de50c84@neclab.eu>
From: Costin Lupu <costin.lupu@cs.pub.ro>
Message-ID: <acb3cc13-4c6b-c7dc-405e-6660a48deca9@cs.pub.ro>
Date: Fri, 13 Dec 2019 15:33:41 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.2.2
MIME-Version: 1.0
In-Reply-To: <b2d807b7-abfa-32ab-b185-118c9de50c84@neclab.eu>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT PATCH 4/6] lib/uktime: Introduce POSIX
 timer stubs
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

T24gMTIvOS8xOSAxMToyOCBBTSwgU2ltb24gS3VlbnplciB3cm90ZToKPiBPbiAwNi4xMi4xOSAx
NDo0MSwgQ29zdGluIEx1cHUgd3JvdGU6Cj4+IFdlIHNpbXBseSBpbnRyb2R1Y2UgdGhlIHN0dWJz
IGZvciB0aGVzZSBmdW5jdGlvbnMuIFRoZXkgd2lsbCBoYXZlIHRvIGJlCj4+IGltcGxlbWVudGVk
IGxhdGVyLCB0aGVyZWZvcmUgd2UgZG8gbm90IGFkZCBhbnkgbGljZW5zZSBmb3Igbm93Lgo+Pgo+
PiBTaWduZWQtb2ZmLWJ5OiBDb3N0aW4gTHVwdSA8Y29zdGluLmx1cHVAY3MucHViLnJvPgo+PiAt
LS0KPj4gwqAgbGliL3VrdGltZS9NYWtlZmlsZS51ayB8wqAgMyArKysKPj4gwqAgbGliL3VrdGlt
ZS90aW1lci5jwqDCoMKgwqAgfCAzOSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysKPj4gwqAgMiBmaWxlcyBjaGFuZ2VkLCA0MiBpbnNlcnRpb25zKCspCj4+IMKgIGNyZWF0
ZSBtb2RlIDEwMDY0NCBsaWIvdWt0aW1lL3RpbWVyLmMKPj4KPj4gZGlmZiAtLWdpdCBhL2xpYi91
a3RpbWUvTWFrZWZpbGUudWsgYi9saWIvdWt0aW1lL01ha2VmaWxlLnVrCj4+IGluZGV4IDQ3ZmJi
NGIzLi43YTAzOTczOCAxMDA2NDQKPj4gLS0tIGEvbGliL3VrdGltZS9NYWtlZmlsZS51awo+PiAr
KysgYi9saWIvdWt0aW1lL01ha2VmaWxlLnVrCj4+IEBAIC01LDkgKzUsMTIgQEAgTElCVUtUSU1F
X0NPTU1PTl9JTkNMVURFUy15wqDCoMKgwqDCoCArPQo+PiAtSSQoTElCVUtUSU1FX0JBU0UpL211
c2wtaW1wb3J0ZWQvaW5jbHVkZQo+PiDCoCBDSU5DTFVERVMtJChDT05GSUdfTElCVUtUSU1FKcKg
wqDCoCArPSAkKExJQlVLVElNRV9DT01NT05fSU5DTFVERVMteSkKPj4gwqAgQ1hYSU5DTFVERVMt
JChDT05GSUdfTElCVUtUSU1FKcKgICs9ICQoTElCVUtUSU1FX0NPTU1PTl9JTkNMVURFUy15KQo+
PiDCoCArTElCVUtUSU1FX0NGTEFHUy15ICs9IC1Xbm8tdW51c2VkLXBhcmFtZXRlcgo+PiArCj4g
Cj4gV2Ugc2hvdWxkIG5vdCBzd2l0Y2ggb2YgY29tcGlsZXIgd2FybmluZ3MgdG8gdGhlIGNvcmUg
cmVwb3NpdG9yeSBpZgo+IGF2b2lkYWJsZS4gQ291bGQgeW91IHVzZSB0aGUgYF9fdW51c2VkYCBh
dHRyaWJ1dGUgbWFjcm8gZnJvbQo+IGVzc2VudGlhbHMuaCBmb3IgeW91ciBzdHVicyBpbnN0ZWFk
PwoKQWNrLgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
TWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5v
cmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1k
ZXZlbA==

From minios-devel-bounces@lists.xenproject.org Fri Dec 13 15:46:25 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 13 Dec 2019 15:46:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ifn95-0004Z3-V5; Fri, 13 Dec 2019 15:46:23 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=6cmg=2D=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1ifn95-0004Yy-7g
 for minios-devel@lists.xen.org; Fri, 13 Dec 2019 15:46:23 +0000
X-Inumbo-ID: b55f1f12-1dbf-11ea-88e7-bc764e2007e4
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id b55f1f12-1dbf-11ea-88e7-bc764e2007e4;
 Fri, 13 Dec 2019 15:46:21 +0000 (UTC)
IronPort-SDR: ulLcKJXtUibQ3SbjkCosl8bwwd9Yj7M0jo2yoks9netdbbpTksPdtvgqWy4XVUZL5t2ch/nfCK
 Ry1MgRMEs6hw==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 13 Dec 2019 17:46:18 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id BCC251A601A9;
 Fri, 13 Dec 2019 17:46:18 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id tWBGKxzrJEAq; Fri, 13 Dec 2019 17:46:18 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 9E2801A601BB;
 Fri, 13 Dec 2019 17:46:18 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id ntiNDYsahsFc; Fri, 13 Dec 2019 17:46:18 +0200 (EET)
Received: from [192.168.100.190] (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 84F071A601A9;
 Fri, 13 Dec 2019 17:46:18 +0200 (EET)
To: Simon Kuenzer <simon.kuenzer@neclab.eu>, minios-devel@lists.xen.org
References: <20191206134105.23225-1-costin.lupu@cs.pub.ro>
 <20191206134105.23225-6-costin.lupu@cs.pub.ro>
 <6f902d38-383c-88c3-c81d-98e354b02dcf@neclab.eu>
From: Costin Lupu <costin.lupu@cs.pub.ro>
Message-ID: <280db21b-0ba3-5b6c-4e55-c6b011caa10a@cs.pub.ro>
Date: Fri, 13 Dec 2019 17:46:17 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.2.2
MIME-Version: 1.0
In-Reply-To: <6f902d38-383c-88c3-c81d-98e354b02dcf@neclab.eu>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT PATCH 5/6] lib/devfs: Add /dev/null
 support
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

T24gMTIvOS8xOSAxMToyOSBBTSwgU2ltb24gS3VlbnplciB3cm90ZToKPiBPbiAwNi4xMi4xOSAx
NDo0MSwgQ29zdGluIEx1cHUgd3JvdGU6Cj4+IFRoaXMgaXMgc2hhbWVsZXNzbHkgY29waWVkIGFu
ZCBhZGFwdGVkIGZyb20gb3VyIGltcGxlbWVudGF0aW9uCj4+IGZvciAvZGV2L3JhbmRvbSBkZXZp
Y2Ugc3VwcG9ydC4KPj4KPj4gU2lnbmVkLW9mZi1ieTogQ29zdGluIEx1cHUgPGNvc3Rpbi5sdXB1
QGNzLnB1Yi5ybz4KPj4gLS0tCj4+IMKgIGxpYi9kZXZmcy9Db25maWcudWvCoMKgIHzCoMKgIDUg
KysKPj4gwqAgbGliL2RldmZzL01ha2VmaWxlLnVrIHzCoMKgIDIgKwo+PiDCoCBsaWIvZGV2ZnMv
bnVsbC5jwqDCoMKgwqDCoCB8IDExNSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysKPj4gwqAgMyBmaWxlcyBjaGFuZ2VkLCAxMjIgaW5zZXJ0aW9ucygrKQo+PiDCoCBj
cmVhdGUgbW9kZSAxMDA2NDQgbGliL2RldmZzL251bGwuYwo+Pgo+PiBkaWZmIC0tZ2l0IGEvbGli
L2RldmZzL0NvbmZpZy51ayBiL2xpYi9kZXZmcy9Db25maWcudWsKPj4gaW5kZXggNmYyMWMwMWMu
LjNhZGMxNzFlIDEwMDY0NAo+PiAtLS0gYS9saWIvZGV2ZnMvQ29uZmlnLnVrCj4+ICsrKyBiL2xp
Yi9kZXZmcy9Db25maWcudWsKPj4gQEAgLTgsNCArOCw5IEBAIGlmIExJQkRFVkZTCj4+IMKgwqDC
oMKgwqDCoMKgwqDCoCBib29sICJNb3VudCAvZGV2IGR1cmluZyBib290Igo+PiDCoMKgwqDCoMKg
IGRlcGVuZHMgb24gTElCVkZTQ09SRV9BVVRPTU9VTlRfUk9PVEZTCj4+IMKgwqDCoMKgwqDCoMKg
wqDCoCBkZWZhdWx0IG4KPj4gKwo+PiArwqDCoMKgIGNvbmZpZyBMSUJERVZTX0RFVl9OVUxMCj4+
ICvCoMKgwqDCoMKgwqDCoCBib29sICIvZGV2L251bGwiCj4+ICvCoMKgwqDCoMKgwqDCoCBkZXBl
bmRzIG9uIExJQkRFVkZTX0FVVE9NT1VOVAo+PiArwqDCoMKgwqDCoMKgwqAgZGVmYXVsdCB5Cj4g
Cj4gSHVtLCB0aGUgYG51bGxgIGRldmljZSBzaG91bGQgYmUgYWN0dWFsbHkgaW5kZXBlbmRlbnQg
b2YgdGhlIGF1dG9tb3VudAo+IG9wdGlvbi4gWW91IGNvdWxkIGFsd2F5cyBwcm92aWRlIGl0IGJl
Y2F1c2UgZGV2ZnMgY2FuIGJlIGluIHByaW5jaXBsZQo+IG1vdW50ZWQgc29tZXdoZXJlIGVsc2Ug
YW5kIHN0aWxsIHByb3ZpZGUgYG51bGxgLgo+IAo+IEluc3RlYWQgb2YgYWRkaW5nIGEgaGFyZC1k
ZXBlbmRlbmN5LCBJIHdvdWxkIHNldCB0aGUgZGVmYXVsdCB0byB5ZXMgYXMKPiBzb29uIGFzIGxp
YmRldmZzIGF1dG9tb3VudCBpcyBlbmFibGVkOgo+IAo+IMKgwqDCoMKgY29uZmlnIExJQkRFVlNf
REVWX05VTEwKPiDCoMKgwqDCoMKgwqDCoCBib29sICJudWxsIGRldmljZSIKPiDCoMKgwqDCoMKg
wqDCoCBkZWZhdWx0IHkgaWYgTElCREVWRlNfQVVUT01PVU5UCj4gwqDCoMKgwqDCoMKgwqAgZGVm
YXVsdCBuCj4gCj4gT2YgY291cnNlLCB0aGUgZGVmYXVsdCBzZXR0aW5nIHNob3VsZCBiZSBgb2Zm
YCBpbiBvcmRlciB0byBmb2xsb3cgdGhlCj4gImRlZmF1bHQgaXMgbWluaW1hbCIgcHJpbmNpcGxl
Lgo+IAoKQWxyaWdodCwgd2lsbCBkbyBpbiB2Mi4gSSB3b3VsZCBhZGQgYW4gb2JzZXJ2YXRpb24s
ICJkZWZhdWx0IGlzIG1pbmltYWwiCnByaW5jaXBsZSBtYXkgYWxzbyByZWZlciB0byBob3cgbXVj
aCBjb25maWd1cmluZyBzaG91bGQgYSB1c2VyIGRvIGJlZm9yZQpiZWluZyBhYmxlIHRvIHJ1biBh
IHZhbmlsbGEgYXBwbGljYXRpb24gKGUuZy4gaGVsbG93b3JsZCkuCgo+PiDCoCBlbmRpZgo+PiBk
aWZmIC0tZ2l0IGEvbGliL2RldmZzL01ha2VmaWxlLnVrIGIvbGliL2RldmZzL01ha2VmaWxlLnVr
Cj4+IGluZGV4IGM0OTZmZDU2Li4zNjZkYjY3NyAxMDA2NDQKPj4gLS0tIGEvbGliL2RldmZzL01h
a2VmaWxlLnVrCj4+ICsrKyBiL2xpYi9kZXZmcy9NYWtlZmlsZS51awo+PiBAQCAtMyw2ICszLDgg
QEAgJChldmFsICQoY2FsbCBhZGRsaWJfcyxsaWJkZXZmcywkKENPTkZJR19MSUJERVZGUykpKQo+
PiDCoCBDSU5DTFVERVMteSArPSAtSSQoTElCREVWRlNfQkFTRSkvaW5jbHVkZQo+PiDCoCDCoCBM
SUJERVZGU19DRkxBR1MtJChjYWxsIGdjY192ZXJzaW9uX2dlLDgsMCkgKz0gLVduby1jYXN0LWZ1
bmN0aW9uLXR5cGUKPj4gK0xJQkRFVkZTX0NGTEFHUy15ICs9IC1Xbm8tdW51c2VkLXBhcmFtZXRl
cgo+PiDCoCDCoCBMSUJERVZGU19TUkNTLXkgKz0gJChMSUJERVZGU19CQVNFKS9kZXZpY2UuYwo+
PiDCoCBMSUJERVZGU19TUkNTLXkgKz0gJChMSUJERVZGU19CQVNFKS9kZXZmc192bm9wcy5jCj4+
ICtMSUJERVZGU19TUkNTLSQoQ09ORklHX0xJQkRFVlNfREVWX05VTEwpICs9ICQoTElCREVWRlNf
QkFTRSkvbnVsbC5jCj4+IGRpZmYgLS1naXQgYS9saWIvZGV2ZnMvbnVsbC5jIGIvbGliL2RldmZz
L251bGwuYwo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+PiBpbmRleCAwMDAwMDAwMC4uMzhkNjg3
ZDQKPj4gLS0tIC9kZXYvbnVsbAo+PiArKysgYi9saWIvZGV2ZnMvbnVsbC5jCj4+IEBAIC0wLDAg
KzEsMTE1IEBACj4+ICsvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlICov
Cj4+ICsvKgo+PiArICogQXV0aG9yczogQ29zdGluIEx1cHUgPGNvc3Rpbi5sdXB1QGNzLnB1Yi5y
bz4KPj4gKyAqCj4+ICsgKiBDb3B5cmlnaHQgKGMpIDIwMTksIFVuaXZlcnNpdHkgUG9saXRlaG5p
Y2Egb2YgQnVjaGFyZXN0LiBBbGwKPj4gcmlnaHRzIHJlc2VydmVkLgo+PiArICoKPj4gKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAo+PiArICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCj4+ICsgKiBhcmUgbWV0Ogo+PiArICoKPj4gKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0Cj4+ICsgKsKgwqDCoCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCj4+ICsgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAo+PiArICrCoMKgwqAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluCj4+IHRoZQo+PiArICrCoMKgwqAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCj4+IGRpc3RyaWJ1dGlvbi4KPj4gKyAqIDMuIE5laXRo
ZXIgdGhlIG5hbWUgb2YgdGhlIGNvcHlyaWdodCBob2xkZXIgbm9yIHRoZSBuYW1lcyBvZiBpdHMK
Pj4gKyAqwqDCoMKgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZAo+PiBmcm9tCj4+ICsgKsKgwqDCoCB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgo+PiArICoKPj4gKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORAo+PiBD
T05UUklCVVRPUlMgIkFTIElTIgo+PiArICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQKPj4gVE8sIFRIRQo+PiArICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCj4+IFBVUlBPU0UKPj4gKyAqIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUgo+PiBDT05UUklCVVRPUlMgQkUKPj4gKyAqIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKPj4gKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCj4+ICsgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IKPj4gQlVTSU5FU1MKPj4gKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLAo+PiBXSEVUSEVSIElOCj4+ICsgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IKPj4gT1RIRVJXSVNFKQo+PiArICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKPj4g
QURWSVNFRCBPRiBUSEUKPj4gKyAqIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgo+PiArICoK
Pj4gKyAqIFRISVMgSEVBREVSIE1BWSBOT1QgQkUgRVhUUkFDVEVEIE9SIE1PRElGSUVEIElOIEFO
WSBXQVkuCj4+ICsgKi8KPj4gKwo+PiArI2luY2x1ZGUgPHN0ZGxpYi5oPgo+PiArI2luY2x1ZGUg
PHN0cmluZy5oPgo+PiArI2luY2x1ZGUgPHVrL2N0b3JzLmg+Cj4+ICsjaW5jbHVkZSA8dWsvcHJp
bnQuaD4KPj4gKyNpbmNsdWRlIDx2ZnNjb3JlL3Vpby5oPgo+PiArI2luY2x1ZGUgPGRldmZzL2Rl
dmljZS5oPgo+PiArCj4+ICsjZGVmaW5lIERFVl9OVUxMX05BTUUgIm51bGwiCj4+ICsKPj4gKy8q
IFRPRE8gVGhpcyBjYW4gYmUgaW50ZWdyYXRlZCB3aXRoIHJhbmRvbSdzIGZpbGwgYnVmZmVyIGZ1
bmN0aW9uICovCj4+ICtzdGF0aWMgc3NpemVfdCB1a19udWxsX2ZpbGxfYnVmZmVyKHZvaWQgKmJ1
Ziwgc2l6ZV90IGJ1ZmxlbikKPj4gK3sKPj4gK8KgwqDCoCBzaXplX3Qgc3RlcCwgcmVzaWQsIGk7
Cj4+ICsKPj4gK8KgwqDCoCBzdGVwID0gc2l6ZW9mKHVuc2lnbmVkIGxvbmcpOwo+PiArwqDCoMKg
IHJlc2lkID0gYnVmbGVuICUgc3RlcDsKPj4gKwo+PiArwqDCoMKgIGZvciAoaSA9IDA7IGkgPCBi
dWZsZW4gLSByZXNpZDsgaSArPSBzdGVwKQo+PiArwqDCoMKgwqDCoMKgwqAgKih1bnNpZ25lZCBs
b25nICopKChjaGFyICopIGJ1ZiArIGkpID0gMDsKPj4gKwo+PiArwqDCoMKgIC8qIGZpbGwgdGhl
IHJlbWFpbmluZyBieXRlcyBvZiB0aGUgYnVmZmVyICovCj4+ICvCoMKgwqAgZm9yIChpID0gMDsg
aSA8IHJlc2lkOyBpKyspCj4+ICvCoMKgwqDCoMKgwqDCoCAqKChjaGFyICopIGJ1ZiArIGkpID0g
MDsKPiAKPiBtZW1zZXQoKSB3b3VsZCB3b3JrLCB0b28sIHJpZ2h0PyBJdCBtYWtlcyB0aGUgaW1w
bGVtZW50YXRpb24gcHJvYmFibHkKPiBlYXNpZXIgYW5kIHdlIHdvdWxkIG5vdCBuZWVkIHRvIGlu
dGVncmF0ZSBpdCB3aXRoIC9kZXYvcmFuZG1vbS4KPiBIb3dldmVyLCB5b3VyIGltcGxlbWVudGF0
aW9uIGxvb2tzIGxpa2UgL2Rldi96ZXJvLiAvZGV2L251bGwgc2hvdWxkIG9ubHkKPiByZXR1cm4g
ImVuZC1vZi1maWxlIiBhbmQgbm8gYnl0ZXMuCj4gCgpBY2suCgo+PiArCj4+ICvCoMKgwqAgcmV0
dXJuIGJ1ZmxlbjsKPj4gK30KPj4gKwo+PiAraW50IGRldl9udWxsX3JlYWQoc3RydWN0IGRldmlj
ZSAqZGV2LCBzdHJ1Y3QgdWlvICp1aW8sIGludCBmbGFncykKPj4gK3sKPj4gK8KgwqDCoCBzaXpl
X3QgY291bnQ7Cj4+ICvCoMKgwqAgY2hhciAqYnVmOwo+PiArCj4+ICvCoMKgwqAgYnVmID0gdWlv
LT51aW9faW92LT5pb3ZfYmFzZTsKPj4gK8KgwqDCoCBjb3VudCA9IHVpby0+dWlvX2lvdi0+aW92
X2xlbjsKPj4gKwo+PiArwqDCoMKgIHVrX251bGxfZmlsbF9idWZmZXIoYnVmLCBjb3VudCk7Cj4+
ICsKPj4gK8KgwqDCoCB1aW8tPnVpb19yZXNpZCA9IDA7Cj4+ICvCoMKgwqAgcmV0dXJuIDA7Cj4+
ICt9Cj4+ICsKPj4gK2ludCBkZXZfbnVsbF9vcGVuKHN0cnVjdCBkZXZpY2UgKmRldmljZSwgaW50
IG1vZGUpCj4+ICt7Cj4+ICvCoMKgwqAgcmV0dXJuIDA7Cj4+ICt9Cj4+ICsKPj4gKwo+PiAraW50
IGRldl9udWxsX2Nsb3NlKHN0cnVjdCBkZXZpY2UgKmRldmljZSkKPj4gK3sKPj4gK8KgwqDCoCBy
ZXR1cm4gMDsKPj4gK30KPj4gKwo+PiArc3RhdGljIHN0cnVjdCBkZXZvcHMgbnVsbF9kZXZvcHMg
PSB7Cj4+ICvCoMKgwqAgLnJlYWQgPSBkZXZfbnVsbF9yZWFkLAo+PiArwqDCoMKgIC5vcGVuID0g
ZGV2X251bGxfb3BlbiwKPj4gK8KgwqDCoCAuY2xvc2UgPSBkZXZfbnVsbF9jbG9zZSwKPj4gK307
Cj4gCj4gWW91IHNob3VsZCBhbHNvIHByb3ZpZGUgdGhlIHdyaXRlIGZ1bmN0aW9uLiBUaGUgaW5w
dXQgaXMganVzdCBkcm9wcGVkLgo+IFRoaXMgc2hvdWxkIGJlIGV2ZW4gdGhlIHNhbWUgZm9yIC9k
ZXYvemVyby4KPiAKCkFjay4KCj4+ICsKPj4gK3N0YXRpYyBzdHJ1Y3QgZHJpdmVyIGRydl9udWxs
ID0gewo+PiArwqDCoMKgIC5kZXZvcHMgPSAmbnVsbF9kZXZvcHMsCj4+ICvCoMKgwqAgLmRldnN6
ID0gMCwKPj4gK8KgwqDCoCAubmFtZSA9IERFVl9OVUxMX05BTUUKPj4gK307Cj4+ICsKPj4gK3N0
YXRpYyBpbnQgZGV2ZnNfcmVnaXN0ZXJfbnVsbCh2b2lkKQo+PiArewo+PiArwqDCoMKgIHN0cnVj
dCBkZXZpY2UgKmRldjsKPj4gKwo+PiArwqDCoMKgIHVrX3ByX2luZm8oIlJlZ2lzdGVyICclcycg
dG8gZGV2ZnNcbiIsIERFVl9OVUxMX05BTUUpOwo+PiArCj4+ICvCoMKgwqAgLyogcmVnaXN0ZXIg
L2Rldi9udWxsICovCj4+ICvCoMKgwqAgZGV2ID0gZGV2aWNlX2NyZWF0ZSgmZHJ2X251bGwsIERF
Vl9OVUxMX05BTUUsIERfQ0hSKTsKPj4gK8KgwqDCoCBpZiAoZGV2ID09IE5VTEwpIHsKPj4gK8Kg
wqDCoMKgwqDCoMKgIHVrX3ByX2VycigiRmFpbGVkIHRvIHJlZ2lzdGVyICclcycgdG8gZGV2ZnNc
biIsIERFVl9OVUxMX05BTUUpOwo+PiArwqDCoMKgwqDCoMKgwqAgcmV0dXJuIC0xOwo+PiArwqDC
oMKgIH0KPj4gKwo+PiArwqDCoMKgIHJldHVybiAwOwo+PiArfQo+PiArCj4+ICtkZXZmc19pbml0
Y2FsbChkZXZmc19yZWdpc3Rlcl9udWxsKTsKPj4KPiAKPiBJIHRoaW5rIGl0IGlzIHdvcnRoIHRv
IHByb3ZpZGUgL2Rldi96ZXJvLCB0b28uIFlvdSBoYXZlIGl0IGFjdHVhbGx5Cj4gYWxyZWFkeSBp
bXBsZW1lbnRlZCA7LSkuIEkgdGhpbmsgaXQgd291bGQgbWFrZSBzZW5zZSB0byBrZWVwIGJvdGg6
Cj4gL2Rldi96ZXJvIGFuZCAvZGV2L251bGwuCgpBY2suCgpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlv
cy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3Jn
L21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Sat Dec 14 14:56:15 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sat, 14 Dec 2019 14:56:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ig8q5-0005LZ-6L; Sat, 14 Dec 2019 14:56:13 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=mVIN=2E=gmail.com=costin.lup@srs-us1.protection.inumbo.net>)
 id 1ig8q3-0005LU-CO
 for minios-devel@lists.xen.org; Sat, 14 Dec 2019 14:56:11 +0000
X-Inumbo-ID: dd28fec4-1e81-11ea-a914-bc764e2007e4
Received: from mail-wm1-x344.google.com (unknown [2a00:1450:4864:20::344])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id dd28fec4-1e81-11ea-a914-bc764e2007e4;
 Sat, 14 Dec 2019 14:56:10 +0000 (UTC)
Received: by mail-wm1-x344.google.com with SMTP id d139so1540102wmd.0
 for <minios-devel@lists.xen.org>; Sat, 14 Dec 2019 06:56:10 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=subject:to:cc:references:from:message-id:date:user-agent
 :mime-version:in-reply-to:content-language:content-transfer-encoding;
 bh=WAZH3uDyFxIhBP4n2l6NXBIDOsM5ezkrYiSMN7PbrgE=;
 b=Gm96FSjzNgcQLjNGdO/lrKofe6vHSewIhAh9AulRahUP4FoKQrfl3NPlQfbkj2MJGj
 /jeMLYf3/QpI3MrCOupM5uKAs/J5Cae5nogzm/2wmNHnBP+73ngFQr4bg0jVPk5OyUkg
 vyJxaAu+MkI8sNXfTrB0jSFoZfEObv/QMEypXsLcK13Gu56qAxytBpR5X9EcIm3G7mFO
 O8sr459jhu7Ah9Pc9fZ/xzH6uICjwcO9sgcWG6x1O6RMNoZOWQBcziVRGsDeIHwdws13
 es1axU2gUFVkSFCTbwyRyEzcCmynZB8Gn9YSO/VIf2TWuPqi2LQdQ/fsKJgaOOhvjxyg
 YYag==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:subject:to:cc:references:from:message-id:date
 :user-agent:mime-version:in-reply-to:content-language
 :content-transfer-encoding;
 bh=WAZH3uDyFxIhBP4n2l6NXBIDOsM5ezkrYiSMN7PbrgE=;
 b=t1GEGxuOmoDOxhairroJlZE2RnX0sg2eipGYJnp+qFKi7l8NUi2Oe+mCCN8/gKVylE
 d8E2WB8UtIznG3K9u1UpDtSwuA074KEXNToGurC8v7pF8oN1dPdCkDQHq1AF2lR+5frB
 mzpH80AEmR94ZRXvVO4z2pTyZId2p0V9aacdnTZ4dWt6dSbnWHqwgZVD+h0fhwpQChJM
 YmbGlYq4zRJIb/M/PTdwIv1kf4g97YBRkiI1ul1ap7C2s9dh258lB4gOWSnYYL/e7liz
 RuaLiOOkn/zFxkFSbFQSVCygB/JjIUPxEzADV5cvj6+lPKP9mI1kr7WeGHN7qihzsDEk
 OO8A==
X-Gm-Message-State: APjAAAVxeFGKJM3dcv2XKFC8YhVopu7d1ovat5gAtxavCybE8B+cCJlI
 LmD6Kjy+/Sb+tAin98zijMs=
X-Google-Smtp-Source: APXvYqzNlC8zQIFHhAPdB50HEH1qa4v5SN+UJCBqqkY7JTmAHEIsRf+Lap/G84ZOsQO6QR2M8UwnAQ==
X-Received: by 2002:a7b:c5cd:: with SMTP id n13mr15230201wmk.172.1576335369492; 
 Sat, 14 Dec 2019 06:56:09 -0800 (PST)
Received: from [192.168.1.103] ([86.123.33.61])
 by smtp.gmail.com with ESMTPSA id n8sm14329715wrx.42.2019.12.14.06.56.08
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sat, 14 Dec 2019 06:56:08 -0800 (PST)
To: Simon Kuenzer <simon.kuenzer@neclab.eu>, minios-devel@lists.xen.org
References: <20191212150906.8358-1-simon.kuenzer@neclab.eu>
 <20191212150906.8358-2-simon.kuenzer@neclab.eu>
From: Costin Lupu <costin.lup@gmail.com>
Message-ID: <78b3d928-f4c3-5988-ffaf-f1daa3f06215@gmail.com>
Date: Sat, 14 Dec 2019 16:56:07 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.2.2
MIME-Version: 1.0
In-Reply-To: <20191212150906.8358-2-simon.kuenzer@neclab.eu>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT PATCH 1/3] lib/uksysinfo: Rename
 internal name to libuksysinfo
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>,
 Gaulthier Gain <gaulthier.gain@uliege.be>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgU2ltb24sCgpUaGlzIGlzIG9ubHkgYSBzdWdnZXN0aW9uLCBidXQgZ2l2ZW4gdGhhdCB5b3Un
cmUgcmVuYW1pbmcgdWtzeXNpbmZvLAptYXliZSB5b3UgY2FuIHJlbmFtZSBpdCB0byBwb3NpeC1z
eXNpbmZvLCBiZWNhdXNlIHRoYXQncyBqdXN0IHdoYXQgaXQKZG9lcywgbmFtZWx5IHByb3ZpZGlu
ZyBwb3NpeCBjb21wYXRpYmlsaXR5LiBBbmQgaXQgd291bGQgYmUgaW5saW5lIHdpdGgKdGhlIG90
aGVyIHBvc2l4LSogbGlicy4KCkNvc3RpbgoKT24gMTIvMTIvMTkgNTowOSBQTSwgU2ltb24gS3Vl
bnplciB3cm90ZToKPiBSZWdpc3RlcnMgdGhlIGxpYnJhcnkgd2l0aCBgbGlidWtzeXNpbmZvYCB0
byB0aGUgYnVpbGQuIFRoZQo+IHByZXZpb3VzIG5hbWUgYHVrc3lzaW5mb2AgZGlkIG5vdCBmb2xs
b3cgb3VyIG5hbWluZyBjb252ZW50aW9uLgo+IAo+IFNpZ25lZC1vZmYtYnk6IFNpbW9uIEt1ZW56
ZXIgPHNpbW9uLmt1ZW56ZXJAbmVjbGFiLmV1Pgo+IC0tLQo+ICBsaWIvdWtzeXNpbmZvL0NvbmZp
Zy51ayAgIHwgMyArKy0KPiAgbGliL3Vrc3lzaW5mby9NYWtlZmlsZS51ayB8IDggKysrKy0tLS0K
PiAgMiBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCj4gCj4g
ZGlmZiAtLWdpdCBhL2xpYi91a3N5c2luZm8vQ29uZmlnLnVrIGIvbGliL3Vrc3lzaW5mby9Db25m
aWcudWsKPiBpbmRleCAwM2Q2MDczOS4uZDA0NjRjZmQgMTAwNjQ0Cj4gLS0tIGEvbGliL3Vrc3lz
aW5mby9Db25maWcudWsKPiArKysgYi9saWIvdWtzeXNpbmZvL0NvbmZpZy51awo+IEBAIC0xLDMg
KzEsNCBAQAo+IC1tZW51Y29uZmlnIFVLU1lTSU5GTwo+ICttZW51Y29uZmlnIExJQlVLU1lTSU5G
Two+ICAJYm9vbCAidWtzeXNpbmZvOiBpbmZvIGFib3V0IHN5c3RlbSBwYXJhbWV0ZXJzIgo+ICsJ
c2VsZWN0IE5PTElCQyBpZiAhSEFWRV9MSUJDCj4gIAlkZWZhdWx0IG4KPiBkaWZmIC0tZ2l0IGEv
bGliL3Vrc3lzaW5mby9NYWtlZmlsZS51ayBiL2xpYi91a3N5c2luZm8vTWFrZWZpbGUudWsKPiBp
bmRleCAyOGU5OWZiNS4uMjJhYzI4ZTcgMTAwNjQ0Cj4gLS0tIGEvbGliL3Vrc3lzaW5mby9NYWtl
ZmlsZS51awo+ICsrKyBiL2xpYi91a3N5c2luZm8vTWFrZWZpbGUudWsKPiBAQCAtMSw2ICsxLDYg
QEAKPiAtJChldmFsICQoY2FsbCBhZGRsaWJfcyx1a3N5c2luZm8sJChDT05GSUdfVUtTWVNJTkZP
KSkpCj4gKyQoZXZhbCAkKGNhbGwgYWRkbGliX3MsbGlidWtzeXNpbmZvLCQoQ09ORklHX0xJQlVL
U1lTSU5GTykpKQo+ICAKPiAtQ0lOQ0xVREVTLSQoQ09ORklHX1VLU1lTSU5GTykgICAgKz0gLUkk
KFVLU1lTSU5GT19CQVNFKS9pbmNsdWRlCj4gLUNYWElOQ0xVREVTLSQoQ09ORklHX1VLU1lTSU5G
TykgICs9IC1JJChVS1NZU0lORk9fQkFTRSkvaW5jbHVkZQo+ICtDSU5DTFVERVMtJChDT05GSUdf
TElCVUtTWVNJTkZPKSAgICArPSAtSSQoTElCVUtTWVNJTkZPX0JBU0UpL2luY2x1ZGUKPiArQ1hY
SU5DTFVERVMtJChDT05GSUdfTElCVUtTWVNJTkZPKSAgKz0gLUkkKExJQlVLU1lTSU5GT19CQVNF
KS9pbmNsdWRlCj4gIAo+IC1VS1NZU0lORk9fU1JDUy0kKENPTkZJR19VS1NZU0lORk8pICs9ICQo
VUtTWVNJTkZPX0JBU0UpL3N5c2luZm8uYwo+ICtMSUJVS1NZU0lORk9fU1JDUy0kKENPTkZJR19M
SUJVS1NZU0lORk8pICs9ICQoTElCVUtTWVNJTkZPX0JBU0UpL3N5c2luZm8uYwo+IAoKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1h
aWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0
cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Mon Dec 16 08:29:28 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 16 Dec 2019 08:29:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1iglkr-00060N-Sj; Mon, 16 Dec 2019 08:29:25 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=1b+M=2F=gmail.com=cason.j.schindler@srs-us1.protection.inumbo.net>)
 id 1igLfc-0002h4-Mc
 for minios-devel@lists.xen.org; Sun, 15 Dec 2019 04:38:16 +0000
X-Inumbo-ID: ae4970ca-1ef4-11ea-a1e1-bc764e2007e4
Received: from mail-ot1-x343.google.com (unknown [2607:f8b0:4864:20::343])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id ae4970ca-1ef4-11ea-a1e1-bc764e2007e4;
 Sun, 15 Dec 2019 04:38:03 +0000 (UTC)
Received: by mail-ot1-x343.google.com with SMTP id i4so4466376otr.3
 for <minios-devel@lists.xen.org>; Sat, 14 Dec 2019 20:38:03 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:to:cc:subject:date:message-id:in-reply-to:references:reply-to
 :mime-version:content-transfer-encoding;
 bh=iUTKifoo1WgimmMfBWxFFN4jCf9Fc33FmzggOkJ+B7M=;
 b=thWqQ2h0FQhV6HEDMCT3916x4v+VXSgPeStAAo3vvfWavzXsfQTvW1+U7Y4XY+y/kI
 aoa6SdlORpSbGx9P8Y105V2WFcEYniSoDvkJYFyxqL4KmYCp27UzIHVWC0gYdOZTZTZv
 RZCH9+gDUZ2ZdwwStNMtka1PgIM/F59+raHwF62bZI7Rt7vMZV7Rh9lU3dbXGrBTkmM6
 pmxVlO00Bu0JBuino/Hlniiy9WsjbGhhXLSFJ5y31BVAALnI9striv5b4btxnf/eHqe5
 I4OInMAbhPCDkP6aL8/2q49XxEMPPKw2bDn4jUMqhG3FTyqS2LGc8JvB3YdhT+F4Dn9g
 c/FQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
 :references:reply-to:mime-version:content-transfer-encoding;
 bh=iUTKifoo1WgimmMfBWxFFN4jCf9Fc33FmzggOkJ+B7M=;
 b=HrcBBJn2zNjHj7jqKCGRtt7BPEDBE+dvQkgGI2roCoZshiQYS5MPRAfDSBlqCDa/Tz
 6dLCCU58o2C+1+xQfG3tO37Q6BHAUneV9oHvw3rYlvTSld/MB+hZX4re8zVKvvCtwh6x
 g5XMewkBSBJjPwVmcAys6MRgAnZzMpYLAx8QEP35V/05Q6M83OjiF/jZO3BhAJRpxa3o
 nD9GtOoUffoTI0iQBn4t0REvNdIAd0rgeWnPex/4kjciCNDfu7+eSMmwnq69QzFnoOYb
 7y/CiLU8iawRjqYQ7Gj3HN/hbZjtd7Fq0sajhmr7KEVeoBAR7o/j82abAjyquAABYTYP
 RNEA==
X-Gm-Message-State: APjAAAUB6VSYaa7dUpnxc0P34JUz35NkCYeeL0goEZucCRhMhMpULPPl
 I3KzTJLdHHjFsyFXyBoLAOq725da6io=
X-Google-Smtp-Source: APXvYqxHrNFiEEg0RZe5kTH35DkI864uc0MQF4ejA01ouJTm44i78FajdIXBLduuP3SX/GDCRbIdIQ==
X-Received: by 2002:a9d:6183:: with SMTP id g3mr24634587otk.304.1576384682772; 
 Sat, 14 Dec 2019 20:38:02 -0800 (PST)
Received: from rousseau.cs.utexas.edu (rousseau.cs.utexas.edu. [128.83.130.92])
 by smtp.gmail.com with ESMTPSA id q16sm5269473otl.74.2019.12.14.20.38.02
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 14 Dec 2019 20:38:02 -0800 (PST)
From: cason.j.schindler@gmail.com
To: minios-devel@lists.xen.org
Date: Sat, 14 Dec 2019 22:37:15 -0600
Message-Id: <20191215043715.28499-6-cason.j.schindler@gmail.com>
X-Mailer: git-send-email 2.24.0
In-Reply-To: <20191215043715.28499-1-cason.j.schindler@gmail.com>
References: <20191215043715.28499-1-cason.j.schindler@gmail.com>
MIME-Version: 1.0
X-Mailman-Approved-At: Mon, 16 Dec 2019 08:29:23 +0000
Subject: [Minios-devel] [UNIKRAFT PATCH 5/5] lib/ukallocbbuddy: Allocator
 Ballooning Use
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Reply-To: cason.j.schindler@gmail.com
Cc: felipe.huici@neclab.eu, simon.kuenzer@neclab.eu, raney.jack99@gmail.com,
 Cason Schindler <cason.j.schindler@gmail.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogQ2Fzb24gU2NoaW5kbGVyIDxjYXNvbi5qLnNjaGluZGxlckBnbWFpbC5jb20+CgpNb2Rp
ZnkgdWthbGxvY2JidWRkeSB0byB1c2UgbWVtb3J5IGJhbGxvb25pbmcgQVBJLgoKU2lnbmVkLW9m
Zi1ieTogSmFjayBSYW5leSA8cmFuZXkuamFjazk5QGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTog
Q2Fzb24gU2NoaW5kbGVyIDxjYXNvbi5qLnNjaGluZGxlckBnbWFpbC5jb20+Ci0tLQogbGliL3Vr
YWxsb2NiYnVkZHkvYmJ1ZGR5LmMgICAgICAgICAgICAgICAgIHwgMTA0ICsrKysrKysrKysrKysr
KysrKysrLQogbGliL3VrYWxsb2NiYnVkZHkvaW5jbHVkZS91ay9hbGxvY2JidWRkeS5oIHwgICAy
ICsKIDIgZmlsZXMgY2hhbmdlZCwgMTA0IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpk
aWZmIC0tZ2l0IGEvbGliL3VrYWxsb2NiYnVkZHkvYmJ1ZGR5LmMgYi9saWIvdWthbGxvY2JidWRk
eS9iYnVkZHkuYwppbmRleCA3ZGUzYjg0Li40YTM2NDFlIDEwMDY0NAotLS0gYS9saWIvdWthbGxv
Y2JidWRkeS9iYnVkZHkuYworKysgYi9saWIvdWthbGxvY2JidWRkeS9iYnVkZHkuYwpAQCAtNDgs
NiArNDgsMTAgQEAKICNpbmNsdWRlIDx1ay9hc3NlcnQuaD4KICNpbmNsdWRlIDx1ay9wYWdlLmg+
CiAKKyNpbmNsdWRlIDx1ay9wbGF0L21lbW9yeS5oPgorCitpbnQgdXNpbmdfYmFsbG9vbiA9IDA7
CisKIHR5cGVkZWYgc3RydWN0IGNodW5rX2hlYWRfc3QgY2h1bmtfaGVhZF90OwogdHlwZWRlZiBz
dHJ1Y3QgY2h1bmtfdGFpbF9zdCBjaHVua190YWlsX3Q7CiAKQEAgLTIyNCw2ICsyMjgsNDAgQEAg
c3RhdGljIHNzaXplX3QgYmJ1ZGR5X2F2YWlsbWVtKHN0cnVjdCB1a19hbGxvYyAqYSkKIH0KICNl
bmRpZgogCisvKioqKioqKioqKioqKioqKioqKioqCisgKiBCQUxMT09OIFNVUFBPUlQKKyAqLwor
CisvKioKKyAqIEluaXRpYWxpemVzIHRoZSBiYWxsb29uIG9uY2UgaXQgaXMgcmVhZHkuIEltbWVk
aWF0ZSBmb3IgWGVuLAorICogYnV0IGxhdGVyIGZvciBLVk0gZHJpdmVyCisqLwordm9pZCBiYWxs
b29uX2luaXQoc3RydWN0IHVrX2FsbG9jICphKQoreworCXN0cnVjdCB1a19iYnBhbGxvYyAqYjsK
KwlzaXplX3QgaTsKKwlpbnQgb3JkZXI7CisJY2h1bmtfaGVhZF90ICpjaHVuazsKKwliID0gKHN0
cnVjdCB1a19iYnBhbGxvYyAqKSZhLT5wcml2OworCWlmICh1c2luZ19iYWxsb29uICE9IDApIHsK
KwkJcmV0dXJuOworCX0KKworCWZvciAoaSA9IDA7IGkgPCBGUkVFTElTVF9TSVpFOyBpKyspIHsK
KwkJaWYgKCFGUkVFTElTVF9FTVBUWShiLT5mcmVlX2hlYWRbaV0pKSB7CisJCQljaHVuayA9IGIt
PmZyZWVfaGVhZFtpXTsKKwkJCW9yZGVyID0gY2h1bmstPmxldmVsOworICAgICAgICAJaW50IHIg
PSB1a3BsYXRfaW5mbGF0ZSgodm9pZCopY2h1bmssIG9yZGVyICk7CisgICAgICAgIAlpZiAociA8
IDApIHsKKwkJCQkvKiBUaGUgYmFsbG9vbiBpcyByZWFkeSBidXQgZmFpbGVkIGZvciBhbm90aGVy
IHJlYXNvbi4gKi8KKwkJCQlyZXR1cm47CisJCQl9CisJCX0KKworCX0KKwl1c2luZ19iYWxsb29u
ID0gMTsKK30KKwogLyoqKioqKioqKioqKioqKioqKioqKgogICogQklOQVJZIEJVRERZIFBBR0Ug
QUxMT0NBVE9SCiAgKi8KQEAgLTI3MSw2ICszMDksMjQgQEAgc3RhdGljIHZvaWQgKmJidWRkeV9w
YWxsb2Moc3RydWN0IHVrX2FsbG9jICphLCBzaXplX3Qgb3JkZXIpCiAJfQogCW1hcF9hbGxvYyhi
LCAodWludHB0cl90KWFsbG9jX2NoLCAxVUwgPDwgb3JkZXIpOwogCisJLyogUmVtb3ZlIHRoZSBj
aHVuayBmcm9tIHRoZSBiYWxsb29uICovCisJaW50IHIgPSB1a3BsYXRfZGVmbGF0ZSgodm9pZCop
YWxsb2NfY2gsIChpbnQpb3JkZXIpOworCWlmIChyIDwgMCkgeworCQlpZiAociA9PSAtRU5YSU8p
IHsKKwkJCS8qIFRoZSBiYWxsb29uIGlzbnQgcmVhZHkgeWV0ISBXZSBkb24ndCBuZWVkIHRvIGRv
IGFueXRoaW5nICovCisJCX0gZWxzZSBpZiAociA9PSAtRU5PU1lTKSB7CisJCQkvKiBkZWZsYXRp
b24gbm90IGltcGxlbWVudGVkICovCisJCX0gZWxzZSB7CisJCQkvKiBUaGUgYmFsbG9vbiBpcyBy
ZWFkeSBidXQgZmFpbGVkIGZvciBhbm90aGVyIHJlYXNvbi4gKi8KKwkJCXJldHVybiByOworCQl9
CisJfSBlbHNlIGlmICh1c2luZ19iYWxsb29uID09IDApIHsKKwkJLyogRGVmbGF0ZSBzdWNjZWVk
ZWQgZm9yIHRoZSBmaXJzdCB0aW1lLiBUaGUgYmFsbG9vbiBkcml2ZXIgaXMgbm93IHJlYWR5IQor
CQkgKiBXZSBuZWVkIHRvIG1vdmUgYWxsIG9mIHRoZSBmcmVlbGlzdCBkYXRhIHRvIHRoZSBiYWxs
b29uCisJCSAqLworCQliYWxsb29uX2luaXQoYSk7CisJfQorCiAJcmV0dXJuICgodm9pZCAqKWFs
bG9jX2NoKTsKIAogbm9fbWVtb3J5OgpAQCAtMjk2LDYgKzM1MiwyNSBAQCBzdGF0aWMgdm9pZCBi
YnVkZHlfcGZyZWUoc3RydWN0IHVrX2FsbG9jICphLCB2b2lkICpvYmosIHNpemVfdCBvcmRlcikK
IAkvKiBGaXJzdCBmcmVlIHRoZSBjaHVuayAqLwogCW1hcF9mcmVlKGIsICh1aW50cHRyX3Qpb2Jq
LCAxVUwgPDwgb3JkZXIpOwogCisJLyogQWRkIHRoZSBmcmVlIGNodW5rIHRvIHRoZSBiYWxsb29u
ICovCisJaW50IHIgPSB1a3BsYXRfaW5mbGF0ZSgodm9pZCopb2JqLCAoaW50KW9yZGVyKTsKKwlp
ZiAociA8IDApIHsKKwkJaWYgKHIgPT0gLUVOWElPKSB7CisJCQkvKiBUaGUgYmFsbG9vbiBpc250
IHJlYWR5IHlldCEgV2UgZG9uJ3QgbmVlZCB0byBkbyBhbnl0aGluZyAqLworCQl9IGVsc2UgaWYg
KHIgPT0gLUVOT1NZUykgeworCQkJLyogaW5mbGF0ZWlvbiBub3QgaW1wbGVtZW50ZWQgKi8KKwkJ
fSBlbHNlIHsKKwkJCS8qIFRoZSBiYWxsb29uIGlzIHJlYWR5IGJ1dCBmYWlsZWQgZm9yIGFub3Ro
ZXIgcmVhc29uLiAqLworCQkJcmV0dXJuIHI7CisJCX0JCisKKwl9IGVsc2UgaWYgKHVzaW5nX2Jh
bGxvb24gPT0gMCkgeworCQkvKiBJbmZsYXRlIHN1Y2NlZWRlZCBmb3IgdGhlIGZpcnN0IHRpbWUu
IFRoZSBiYWxsb29uIGRyaXZlciBpcyBub3cgcmVhZHkhCisJCSAqIFdlIG5lZWQgdG8gbW92ZSBh
bGwgb2YgdGhlIGZyZWUgbGlzdCBkYXRhIHRvIHRoZSBiYWxsb29uIAorCQkgKi8KKwkJYmFsbG9v
bl9pbml0KGEpOworCX0KKwogCS8qIENyZWF0ZSBmcmVlIGNodW5rICovCiAJZnJlZWRfY2ggPSAo
Y2h1bmtfaGVhZF90ICopb2JqOwogCWZyZWVkX2N0ID0gKGNodW5rX3RhaWxfdCAqKSgoY2hhciAq
KW9iagpAQCAtNDA5LDggKzQ4NCw4IEBAIHN0YXRpYyBpbnQgYmJ1ZGR5X2FkZG1lbShzdHJ1Y3Qg
dWtfYWxsb2MgKmEsIHZvaWQgKmJhc2UsIHNpemVfdCBsZW4pCiAJbWVtc2V0KG1lbXItPm1tX2Fs
bG9jX2JpdG1hcCwgKHVuc2lnbmVkIGNoYXIpIH4wLAogCQkJbWVtci0+bW1fYWxsb2NfYml0bWFw
X3NpemUpOwogCi0JLyogZnJlZSB1cCB0aGUgbWVtb3J5IHdlJ3ZlIGJlZW4gZ2l2ZW4gdG8gcGxh
eSB3aXRoICovCi0JbWFwX2ZyZWUoYiwgbWluLCBtZW1yLT5ucl9wYWdlcyk7CisKKwkvKiBEbyBu
b3QgY2FsbCBtYXBfZnJlZTsgaW5zdGVhZCBpbmZsYXRlOiAqLwogCiAJY291bnQgPSAwOwogCXdo
aWxlIChyYW5nZSAhPSAwKSB7CkBAIC00MjYsNiArNTAxLDMxIEBAIHN0YXRpYyBpbnQgYmJ1ZGR5
X2FkZG1lbShzdHJ1Y3QgdWtfYWxsb2MgKmEsIHZvaWQgKmJhc2UsIHNpemVfdCBsZW4pCiAJCQkg
ICAgKHVpbnRwdHJfdClhLCBtaW4sICh1aW50cHRyX3QpKG1pbiArICgxVUwgPDwgaSkpLAogCQkJ
ICAgIChpIC0gX19QQUdFX1NISUZUKSk7CiAKKwkJLyoKKwkJICogRm9yIGVhY2ggZnJlZSBibG9j
ayB3ZSBzaG91bGQgYXR0ZW1wdCB0byBhZGQgaXQgdG8gdGhlIGJhbGxvb24hIAorCQkgKiBBZnRl
cndhcmRzLCBpZiBzdWNjZXNzZnVsLCBhbGwgb2Ygb3VyIHVzYWJsZSBtZW1vcnkgd2lsbCBiZSBp
biB0aGUgYmFsbG9vbi4gCisJCSAqIEl0IHdpbGwgYmVjb21lIGFjY2Vzc2libGUgYnkgY2FsbGlu
ZyBkZWZsYXRlIGluIHVrcGFsbG9jIQorCQkgKgorCQkgKiBJZiB0aGUgYmFsbG9vbiBkZXZpY2Ug
aGFzIG5vdCB5ZXQgYmVlbiBhZGRlZCB0aGVuIHRoZSBhbGxvY2F0b3Igd2lsbCBwcm9jZWVkIAor
CQkgKiB3aXRob3V0IGJhbGxvb25pbmcgc3Vwb3J0IHVudGlsIHRoZSBkZXZpY2UgaGFzIGJlZW4g
YWRkZWQgKEtWTSkKKwkJICovCisJCWludCByID0gdWtwbGF0X2luZmxhdGUoKHZvaWQqKW1pbiwg
KGludCkoaSAtIF9fUEFHRV9TSElGVCkpOworCQlpZiAociA8IDApIHsKKwkJCWlmIChyID09IC1F
TlhJTykgeworCQkJCS8qIFRoZSBiYWxsb29uIGlzbnQgcmVhZHkgeWV0ISBXZSBkb24ndCBuZWVk
IHRvIGRvIGFueXRoaW5nICovCisJCQl9IGVsc2UgaWYgKHIgPT0gLUVOT1NZUykgeworCQkJCS8q
IGluZmxhdGlvbiBub3QgaW1wbGVtZW50ZWQgKi8KKwkJCX0gZWxzZSB7CisJCQkJLyogVGhlIGJh
bGxvb24gaXMgcmVhZHkgYnV0IGZhaWxlZCBmb3IgYW5vdGhlciByZWFzb24uICovCisJCQkJcmV0
dXJuIHI7CisJCQl9CisJCX0gZWxzZSBpZiAodXNpbmdfYmFsbG9vbiA9PSAwKSB7CisJCQkvKiBJ
bmZsYXRlIHN1Y2NlZWRlZCBmb3IgdGhlIGZpcnN0IHRpbWUuIFRoZSBiYWxsb29uIGRyaXZlciBp
cyBub3cgcmVhZHkhCisJCQkgKiBXZSBuZWVkIHRvIG1vdmUgYWxsIG9mIHRoZSBmcmVlIGxpc3Qg
ZGF0YSB0byB0aGUgYmFsbG9vbgorCQkJICovCisJCQliYWxsb29uX2luaXQoYSk7CisJCX0KKwog
CQljaCA9IChjaHVua19oZWFkX3QgKiltaW47CiAJCW1pbiArPSAxVUwgPDwgaTsKIAkJcmFuZ2Ug
LT0gMVVMIDw8IGk7CmRpZmYgLS1naXQgYS9saWIvdWthbGxvY2JidWRkeS9pbmNsdWRlL3VrL2Fs
bG9jYmJ1ZGR5LmggYi9saWIvdWthbGxvY2JidWRkeS9pbmNsdWRlL3VrL2FsbG9jYmJ1ZGR5LmgK
aW5kZXggZDdhZmVmNC4uYTMzNzFjOCAxMDA2NDQKLS0tIGEvbGliL3VrYWxsb2NiYnVkZHkvaW5j
bHVkZS91ay9hbGxvY2JidWRkeS5oCisrKyBiL2xpYi91a2FsbG9jYmJ1ZGR5L2luY2x1ZGUvdWsv
YWxsb2NiYnVkZHkuaApAQCAtNDIsNiArNDIsOCBAQAogZXh0ZXJuICJDIiB7CiAjZW5kaWYKIAor
dm9pZCBiYWxsb29uX2luaXQoc3RydWN0IHVrX2FsbG9jICphKTsKKwogc3RydWN0IHVrX2FsbG9j
ICp1a19hbGxvY2JidWRkeV9pbml0KHZvaWQgKmJhc2UsIHNpemVfdCBsZW4pOwogCiAjaWZkZWYg
X19jcGx1c3BsdXMKLS0gCjIuMjQuMAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxp
c3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9s
aXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Mon Dec 16 08:29:28 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 16 Dec 2019 08:29:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1iglkr-0005zI-57; Mon, 16 Dec 2019 08:29:25 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=6iYZ=2C=xenproject.org=lars.kurth@srs-us1.protection.inumbo.net>)
 id 1ifVoj-0006bM-AY
 for minios-devel@lists.xenproject.org; Thu, 12 Dec 2019 21:16:13 +0000
X-Inumbo-ID: 755319a0-1d24-11ea-8e25-12813bfff9fa
Received: from mail.xenproject.org (unknown [104.130.215.37])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 755319a0-1d24-11ea-8e25-12813bfff9fa;
 Thu, 12 Dec 2019 21:15:01 +0000 (UTC)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1ifVnV-00015l-OJ; Thu, 12 Dec 2019 21:14:57 +0000
Received: from localhost ([127.0.0.1] helo=localhost.localdomain)
 by xenbits.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1ifVnV-0000Bm-E1; Thu, 12 Dec 2019 21:14:57 +0000
From: Lars Kurth <lars.kurth@xenproject.org>
To: xen-devel@lists.xenproject.org
Date: Thu, 12 Dec 2019 21:14:32 +0000
Message-Id: <98ab54c95a9541c918dfec529bcfc5867fd3ed33.1576184325.git.lars.kurth@citrix.com>
X-Mailer: git-send-email 2.13.0
In-Reply-To: <cover.1576184325.git.lars.kurth@citrix.com>
References: <cover.1576184325.git.lars.kurth@citrix.com>
MIME-Version: 1.0
In-Reply-To: <cover.1576184325.git.lars.kurth@citrix.com>
References: <cover.1576184325.git.lars.kurth@citrix.com>
X-Mailman-Approved-At: Mon, 16 Dec 2019 08:29:23 +0000
Subject: [Minios-devel] [PATCH v3 5/7] Add Code Review Guide
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Lars Kurth <lars.kurth@citrix.com>, xen-api@lists.xenproject.org,
 minios-devel@lists.xenproject.org, committers@xenproject.org,
 mirageos-devel@lists.xenproject.org, win-pv-devel@lists.xenproject.org
Content-Type: multipart/mixed; boundary="===============5000919463653251133=="
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

--===============5000919463653251133==
Content-Type: text/plain; charset=Y
Content-Transfer-Encoding: 8bit

From: Lars Kurth <lars.kurth@citrix.com>

This document highlights what reviewers such as maintainers and committers look
for when reviewing code. It sets expectations for code authors and provides
a framework for code reviewers.

Changes since v2 (introduced in v2)
* Extend introduction
* Add "Code Review Workflow" covering
  - "Workflow from a Reviewer's Perspective"
  - "Workflow from an Author's Perspective"
  - "Problematic Patch Reviews"
* Wrap to 80 characters
* Replace inline links with reference links to make
  wrapping easier

TODO: find suitable examples on how to structure/describe good patch series

Signed-off-by: Lars Kurth <lars.kurth@citrix.com>
---
Cc: minios-devel@lists.xenproject.org
Cc: xen-api@lists.xenproject.org
Cc: win-pv-devel@lists.xenproject.org
Cc: mirageos-devel@lists.xenproject.org
Cc: committers@xenproject.org
---
 code-review-guide.md | 309 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 309 insertions(+)
 create mode 100644 code-review-guide.md

diff --git a/code-review-guide.md b/code-review-guide.md
new file mode 100644
index 0000000..5ffbbac
--- /dev/null
+++ b/code-review-guide.md
@@ -0,0 +1,309 @@
+# Code Review Guide
+
+This document highlights what reviewers such as maintainers and committers look
+for when reviewing your code. It sets expectations for code authors and provides
+a framework for code reviewers.
+
+Before we start, it is important to remember that the primary purpose of a
+a code review is to indentify any bugs or potential bugs in the code. Most code
+reviews are relatively straight-forward and do not require re-writing the
+submitted code substantially.
+
+The document provides advice on how to structure larger patch series and
+provides  pointers on code author's and reviewer's workflows.
+
+Sometimes it happens that a submitted patch series made wrong assumptions or has
+a flawed design or architecture. This can be frustrating for contributors and
+code  reviewers. Note that this document does contain [a section](#problems)
+that provides  suggestions on how to minimize the impact for most stake-holders
+and also on how to avoid such situations.
+
+This document does **not cover** the following topics:
+* [Communication Best Practice][1]
+* [Resolving Disagreement][2]
+* [Patch Submission Workflow][3]
+* [Managing Patch Submission with Git][4]
+
+## What we look for in Code Reviews
+
+When performing a code review, reviewers typically look for the following things
+
+### Is the change necessary to accomplish the goals?
+
+* Is it clear what the goals are?
+* Do we need to make a change, or can the goals be met with existing
+  functionality?
+
+### Architecture / Interface
+
+* Is this the best way to solve the problem?
+* Is this the right part of the code to modify?
+* Is this the right level of abstraction?
+* Is the interface general enough? Too general? Forward compatible?
+
+### Functionality
+
+* Does it do what it’s trying to do?
+* Is it doing it in the most efﬁcient way?
+* Does it handle all the corner / error cases correctly?
+
+### Maintainability / Robustness
+
+* Is the code clear? Appropriately commented?
+* Does it duplicate another piece of code?
+* Does the code make hidden assumptions?
+* Does it introduce sections which need to be kept **in sync** with other
+  sections?
+* Are there other **traps** someone modifying this code might fall into?
+
+**Note:** Sometimes you will work in areas which have identified maintainability
+and/or robustness issues. In such cases, maintainers may ask you to make
+additional changes, such that your submitted code does not make things worse or
+point you to other patches are already being worked on.
+
+### System properties
+
+In some areas of the code, system properties such as
+* Code size
+* Performance
+* Scalability
+* Latency
+* Complexity
+* &c
+are also important during code reviews.
+
+### Style
+
+* Comments, carriage returns, **snuggly braces**, &c
+* See [CODING_STYLE][5] and [tools/libxl/CODING_STYLE][6]
+* No extraneous whitespace changes
+
+### Documentation and testing
+
+* If there is pre-existing documentation in the tree, such as man pages, design
+  documents, etc. a contributor may be asked to update the documentation
+  alongside the change. Documentation is typically present in the [docs][7]
+  folder.
+* When adding new features that have an impact on the end-user,
+  a contributor should include an update to the [SUPPORT.md][8] file.
+  Typically, more complex features require several patch series before it is
+  ready to be advertised in SUPPORT.md
+* When adding new features, a contributor may be asked to provide tests or
+  ensure that existing tests pass
+
+#### Testing for the Xen Project Hypervisor
+
+Tests are typically located in one of the following directories
+* **Unit tests**: [tools/tests][9] or [xen/test][A]<br>
+  Unit testing is hard for a system like Xen and typically requires building a
+  subsystem of your tree. If your change can be easily unit tested, you should
+  consider submitting tests with your patch.
+* **Build and smoke test**: see [Xen GitLab CI][B]<br>
+  Runs build tests for a combination of various distros and compilers against
+  changes committed to staging. Developers can join as members and test their
+  development branches **before** submitting a patch.
+* **XTF tests** (microkernel-based tests): see [XTF][C]<br>
+  XTF has been designed to test interactions between your software and hardware.
+  It is a very useful tool for testing low level functionality and is executed
+  as part of the project's CI system. XTF can be easily executed locally on
+  xen.git trees.
+* **osstest**: see [README][D]<br>
+  Osstest is the Xen Projects automated test system, which tests basic Xen use
+  cases on a variety of different hardware. Before changes are committed, but
+  **after** they have been reviewed. A contributor’s changes **cannot be
+  applied to master** unless the tests pass this test suite. Note that XTF and
+  other tests are also executed as part of osstest.
+
+### Patch / Patch series information
+
+* Informative one-line changelog
+* Full changelog
+* Motivation described
+* All important technical changes mentioned
+* Changes since previous revision listed
+* Reviewed-by’s and Acked-by’s dropped if appropriate
+
+More information related to these items can be found in our
+[Patch submission Guide][E].
+
+## Code Review Workflow
+
+This section is important for code authors and reviewers. We recomment that in
+particular new code authors carefully read this section.
+
+### Workflow from a Reviewer's Perspective
+
+Patch series typically contain multiple changes to the codebase, some
+transforming the same section of the codebase multiple times. It is quite common
+for patches in a patch series to rely on the previous ones. This means that code
+reviewers review  patches and patch series **sequentially** and **the structure
+of a patch series guides the code review process**. Sometimes in a long series,
+patches {1,2}/10 will be clean-ups, {3-6}/10 will be general reorganisations
+which don't really seem to do anything and then {7-10}/10 will be the substance
+of the serties, which helps the code reviewer understand what {3-6}/10 were
+about.
+
+Generally there are no hard rules on how to structure a series, as the structure
+of a series is very code specific and it is hard to give specific advice. There
+are some general tips which  help and some general patterns.
+
+**Tips:**
+
+* Outline the thinking behind the structure of the patch series. This can make
+  a huge difference and helps ensure that the code reviewer understands what the
+  series is trying to achieve and which portions are addressing which problems.
+* Try and keep changes that belong to a subsystem together
+* Expect that the structure of a patch series sometimes may need to change
+  between different versions of a patch series
+* **Most importantly**: Start small. Don't submit a large and complex patch
+  series as the first interaction with the community. Try and pick a smaller
+  task first (e.g. a bug-fix, a clean-up task, etc.) such that you don't have
+  to learn the tools, code and deal with a large patch series all together for
+  the first time.
+
+**General Patterns:**
+
+If there are multiple subsystems involved in your series, then these are best
+separated out into **sets of patches**, which roughly follow the following
+seven categories. In other words: you would end up with **7 categories x N
+subsystems**. In some cases, there is a **global set of patches** that affect
+all subsytems (e.g. headers, macros, documentation) impacting all changed
+subsystems which ideally comes **before** subsystem specific changes.
+
+The seven categories typically making up a logical set of patches
+1. Cleanups and/or new Independent Helper Functions
+2. Reorganisations
+3. Headers, APIs, Documentation and anything which helps understand the
+   substance of a series
+4. The substance of the change
+5. Cleaninups of any infelicities introduced temporarily
+6. Deleting old code
+7. Test code
+
+Note that in many cases, some of the listed categories are not always present
+in each set, as they are not needed. Of course, sometimes there are several
+patches describing **changes of substance**, which could be ordered in different
+ways: in such cases it may be necessary to put reorganisations in between these
+patches.
+
+If a series is structured this way, it is often possible to agree early on,
+that a significant portion of the changes are fine and to check these in
+independently of the rest of the patch series. This means that there is
+* Less work for authors to rebase
+* Less cognitive overhead for reviewers to review successive versions of a
+  series
+* The possibility for different code reviewers to review portions of such
+  large changes indepentendtly
+
+**Trade-Offs:**
+
+* In some cases, following the general pattern above may create extra patches
+  and may make a series more complex and harder to understand.
+* Crafting a more extensive cover letter will be extra effort: in most cases,
+  the extra time investment will be saving time during the code review process.
+  Verbosity is not the goal, but clarity is. Before you send a larger series
+  in particular: try and put yourself into the position of a code reviewer and
+  try to identify information that helps a code reviewer follow the patch
+  series.
+* In cases where changes need to be back-ported to older releases, moving
+  general cleanups last is often preferable: in such cases the **substance of
+  the change** is back-ported, whereas general cleanups and improvements are
+  not.
+
+**Examples:**
+
+TODO:
+* We should have some examples of a well structured cover letter for a complex
+  series.
+
+A candidate may be:
+https://lore.kernel.org/xen-devel/20190928151305.127380-1-wipawel@amazon.de/T/#t
+(or earlier versions)
+
+* We should have an example which shows a patch with a good logical structure
+
+### Workflow from an Author's Perspective
+
+When code authors receive feedback on their patches, they typically first try
+to clarify feedback they do not understand. For smaller patches or patch series
+it makes sense to wait until receiving feedback on the entire series before
+sending out a new version addressing the changes. For larger series, it may
+make sense to send out a new revision earlier.
+
+As a reviewer, you need some system that he;ps ensure that you address all
+review comments. This can be tedious when trying to map a hierarchical e-mail
+thread onto a code-base. Different people use different techniques from using
+* In-code TODO statements with comment snippets copied into the code
+* To keeping a separate TODO list
+* To printing out the review conversation tree and ticking off what has been
+  addressed
+* A combination of the above
+
+### <a name="problems"></a>Problematic Patch Reviews
+
+A typical waterfall software development process is sequential with the
+following steps: define requirements, analyse, design, code, test and deploy.
+Problems uncovered by code review or testing at such a late stage can cause
+costly redesign and delays. The principle of **[Shift Left][D]** is to take a
+task that is traditionally performed at a late stage in the process and perform
+that task at earlier stages. The goal is to save time by avoiding refactoring.
+
+Typically, problematic patch reviews uncover issues such as wrong or missed
+assumptions, a problematic architecture or design, or other bugs that require
+significant re-implementation of a patch series to fix the issue.
+
+The principle of **Shift Left** also applies in code reviews. Let's assume a
+series has a major flaw: ideally, this flaw would be picked up in the **first
+or second iteration** of the code review. As significant parts of the code may
+have to be re-written, it does not make sense for reviewers to highlight minor
+issues (such as style issues) until major flaws have been addressed of the
+affected part of a patch series. In such cases, providing feedback on minor
+issues reviewers cause the code author and themselves extra work by asking for
+changes to code, which ultimately may be changed later.
+
+To make it possible for code reviewers to identify major issues early, it is
+important for code-authors to highlight possible issues in a cover letter and
+to structure a patch series in such a way that makes it easy for reviewers to
+separate diffifcult and easy portions of a patch series. This will enable
+reviewers to progress uncontroversial portions of a patch independently from
+controversial ones.
+
+### Reviewing for Patch Authors
+
+The following presentation by George Dunlap, provides an excellent overview on
+howwe do code reviews, specifically targeting non-maintainers.
+
+As a community, we would love to have more help reviewing, including from **new
+community members**. But many people
+* do not know where to start, or
+* believe that their review would not contribute much, or
+* may feel intimidated reviewing the code of more established community members
+
+The presentation demonstrates that you do not need to worry about any of these
+concerns. In addition, reviewing other people's patches helps you
+* write better patches and experience the code review process from the other
+  side
+* and build more influence within the community over time
+
+Thus, we recommend strongly that **patch authors** read the watch the recording or
+read the slides:
+* [Patch Review for Non-Maintainers slides][F]
+* [Patch Review for Non-Maintainers recording - 20"][G]
+
+[1]: communication-practice.md
+[2]: resolving-disagreement.md
+[3]: https://wiki.xenproject.org/wiki/Submitting_Xen_Project_Patches
+[4]: https://wiki.xenproject.org/wiki/Managing_Xen_Patches_with_Git
+[5]: https://xenbits.xenproject.org/gitweb/?p=xen.git;a=blob;f=CODING_STYLE
+[6]: https://xenbits.xenproject.org/gitweb/?p=xen.git;a=blob;f=tools/libxl/CODING_STYLE
+[7]: https://xenbits.xenproject.org/gitweb/?p=xen.git;a=tree;f=docs
+[8]: http:s//xenbits.xenproject.org/gitweb/?p=xen.git;a=blob;f=SUPPORT.md
+[9]: https://xenbits.xenproject.org/gitweb/?p=xen.git;a=tree;f=tools/tests
+[A]: https://xenbits.xenproject.org/gitweb/?p=xen.git;a=tree;f=xen/test
+[B]: https://gitlab.com/xen-project/xen/pipelines
+[C]: https://xenbits.xenproject.org/docs/xtf/
+[D]: https://xenbits.xenproject.org/gitweb/?p=osstest.git;a=blob;f=README
+[E]: https://wiki.xenproject.org/wiki/Submitting_Xen_Project_Patches
+[D]: https://devopedia.org/shift-left
+[F]: https://www.slideshare.net/xen_com_mgr/xpdds19-keynote-patch-review-for-nonmaintainers-george-dunlap-citrix-systems-uk-ltd
+[G]: https://www.youtube.com/watch?v=ehZvBmrLRwg
-- 
2.13.0



--===============5000919463653251133==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRl
dmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

--===============5000919463653251133==--

From minios-devel-bounces@lists.xenproject.org Mon Dec 16 08:29:28 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 16 Dec 2019 08:29:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1iglkr-0005zN-7F; Mon, 16 Dec 2019 08:29:25 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=6iYZ=2C=xenproject.org=lars.kurth@srs-us1.protection.inumbo.net>)
 id 1ifVp3-0006oa-CT
 for minios-devel@lists.xenproject.org; Thu, 12 Dec 2019 21:16:33 +0000
X-Inumbo-ID: 732fd8a2-1d24-11ea-88e7-bc764e2007e4
Received: from mail.xenproject.org (unknown [104.130.215.37])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 732fd8a2-1d24-11ea-88e7-bc764e2007e4;
 Thu, 12 Dec 2019 21:14:57 +0000 (UTC)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1ifVnQ-00015A-J6; Thu, 12 Dec 2019 21:14:52 +0000
Received: from localhost ([127.0.0.1] helo=localhost.localdomain)
 by xenbits.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1ifVnQ-0000Bm-BK; Thu, 12 Dec 2019 21:14:52 +0000
From: Lars Kurth <lars.kurth@xenproject.org>
To: xen-devel@lists.xenproject.org
Date: Thu, 12 Dec 2019 21:14:27 +0000
Message-Id: <cover.1576184325.git.lars.kurth@citrix.com>
X-Mailer: git-send-email 2.13.0
X-Mailman-Approved-At: Mon, 16 Dec 2019 08:29:23 +0000
Subject: [Minios-devel] [PATCH v3 0/7] Code of Conduct + Extra Guides and
 Best Practices
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Lars Kurth <lars.kurth@citrix.com>, xen-api@lists.xenproject.org,
 minios-devel@lists.xenproject.org, committers@xenproject.org,
 mirageos-devel@lists.xenproject.org, win-pv-devel@lists.xenproject.org
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogTGFycyBLdXJ0aCA8bGFycy5rdXJ0aEBjaXRyaXguY29tPgoKVGhpcyBzZXJpZXMgcHJv
cG9zZXMgYSBjb25jcmV0ZSB2ZXJzaW9uIG9mIHRoZSBYZW4gUHJvamVjdApDb0MgYmFzZWQgb24g
djEuNCBvZiB0aGUgQ29udHJpYnV0b3IgQ292ZW5hbnQuIFNlZSBbMV0KCkl0IHRyaWVzIHRvIGFk
ZHJlc3MgYWxsIGVsZW1lbnRzIGluIHRoZSB2MiByZXZpZXcsIHdoaWNoIHJhaXNlZAphIG51bWJl
ciBvZiBoYXJkIHF1ZXN0aW9ucy4gT25lIG9mIHRoZSBtYWluIG91dHN0YW5kaW5nIGl0ZW1zCndl
cmUgZ29vZCBleGFtcGxlcyBmb3IgY292ZXIgbGV0dGVycyBhbmQgd2VsbCBzdHJ1Y3R1cmVkIGxh
cmdlCnBhdGNoIHNlcmllcyAoc2VlIFRPRE8gaW4gIkFkZCBDb2RlIFJldmlldyBHdWlkZSIpCgpG
b3IgY29udmVuaWVuY2Ugb2YgcmV2aWV3IGFuZCBpbiBsaW5lIHdpdGggb3RoZXIgcG9saWN5IGRv
Y3VtZW50cwpJIGNyZWF0ZWQgYSBnaXQgcmVwb3NpdG9yeSBhdCBbMl0uIFRoaXMgc2VyaWVzIGNh
biBiZSBmb3VuZCBhdCBbM10uCgpJIGFsc28gcmVmb3JtYXR0ZWQgdGhlIHNlcmllcyB0byA4MCBj
aGFyYWN0ZXJzIGFuZCByZXBsYWNlZAppbmxpbmUgc3lpbGUgbGlua3Mgd2l0aCByZWZlcmVuY2Ug
c3R5bGUgbGlua3MgdG8gbWFrZSBpdCBlYXNpZXIKdG8gc3RpY2sgdG8gYSBjaGFyYWN0ZXIgbGlt
aXQuIFRvIGp1c3Qgc2VlIHRleHQgYnV0IG5vdCBmb3JtYXR0aW5nIGNoYW5nZXMsCmhhdmUgYSBs
b29rIGF0IFs0XS4gVGhpcyBpcyB3aHkgcGF0Y2ggMyAiUmVmb3JtYXQgWGVuIFByb2plY3QgQ29D
IHRvIGZpdAppbnRvIDgwIGNoYXJhY3RlciBsaW1pdCIgd2FzIGFkZGVkLgoKWzFdIGh0dHBzOi8v
d3d3LmNvbnRyaWJ1dG9yLWNvdmVuYW50Lm9yZy92ZXJzaW9uLzEvNC9jb2RlLW9mLWNvbmR1Y3Qu
bWQKWzJdIGh0dHA6Ly94ZW5iaXRzLnhlbi5vcmcvZ2l0d2ViLz9wPXBlb3BsZS9sYXJzay9jb2Rl
LW9mLWNvbmR1Y3QuZ2l0O2E9c3VtbWFyeQpbM10gaHR0cDovL3hlbmJpdHMueGVuLm9yZy9naXR3
ZWIvP3A9cGVvcGxlL2xhcnNrL2NvZGUtb2YtY29uZHVjdC5naXQ7YT1zaG9ydGxvZztoPXJlZnMv
aGVhZHMvQ29DLXYzCls0XSBodHRwOi8veGVuYml0cy54ZW4ub3JnL2dpdHdlYi8/cD1wZW9wbGUv
bGFyc2svY29kZS1vZi1jb25kdWN0LmdpdDthPWNvbW1pdGRpZmY7aD1lZTk2NTc4NDQ2ZWI0MTMy
MGIzZThhM2NhZGE0NDFiYjg5MWFkMGRmO2hwPTJlNGIzNmFmYWE3MzI3N2QyNDZkN2U4NDAzN2Ri
MTUzMmExMzZlYzcKCkNoYW5nZXMgc2luY2UgdjIKICAqIFJlZm9ybWF0dGVkIGFsbCB0ZXh0IHRv
IDgwIGNoYXJhY3RlcnMgYW5kIHJlcGxhY2VkIGxpbmsgc3R5bGUKCiAgY29kZS1yZXZpZXctZ3Vp
ZGUubWQKICAqIEV4dGVuZCBpbnRyb2R1Y3Rpb24KICAqIEFkZCAiQ29kZSBSZXZpZXcgV29ya2Zs
b3ciIGNvdmVyaW5nCiAgICAtICJXb3JrZmxvdyBmcm9tIGEgUmV2aWV3ZXIncyBQZXJzcGVjdGl2
ZSIKICAgIC0gIldvcmtmbG93IGZyb20gYW4gQXV0aG9yJ3MgUGVyc3BlY3RpdmUiCiAgICAtICJQ
cm9ibGVtYXRpYyBQYXRjaCBSZXZpZXdzIgoKICBUT0RPOiBmaW5kIHN1aXRhYmxlIGV4YW1wbGVz
IG9uIGhvdyB0byBzdHJ1Y3R1cmUvZGVzY3JpYmUgZ29vZCBwYXRjaCBzZXJpZXMKCiAgY29tbXVu
aWNhdGlvbi1wcmFjdGljZS5tZAogICogRml4IHR5cG9zCiAgKiBFeHRlbmRlZCAiVmVyYm9zZSB2
cy4gdGVyc2UiCiAgKiBBZGRlZCAiQ2xhcml0eSBvdmVyIFZlcmJvc2l0eSIKICAqIEJyb2tlICJJ
ZGVudGlmeSB0aGUgc2V2ZXJpdHkgb2YgYW4gaXNzdWUgb3IgZGlzYWdyZWVtZW50IiBpbnRvIHR3
byBjaGFwdGVycwogICAgLSAiSWRlbnRpZnkgdGhlIHNldmVyaXR5IGFuZCBvcHRpb25hbGl0eSBv
ZiByZXZpZXcgY29tbWVudHMiIGFuZCBtYWRlCiAgICAgIGNsYXJpZmljYXRpb25zCiAgICAtICJJ
ZGVudGlmeSB0aGUgc2V2ZXJpdHkgb2YgYSBkaXNhZ3JlZW1lbnQiCiAgICAtIEV4cGFuZGVkICJQ
cmlvcml0aXplIHNpZ25pZmljYW50IGZsYXdzIgogICogQWRkZWQgIlJldmlld2VyczogVGFrZSBh
Y2NvdW50IG9mIHByZXZpb3VzIHJldmlld2VyKHMpIGNvbW1lbnRzIgogICogQWRkZWQgcHJlZml4
ZXMgc3VjaCBhcyAiUmV2aWV3ZXJzOiIgd2hlcmUgYXBwcm9wcmlhdGUKCiAgcmVzb2x2aW5nLWRp
c2FncmVlbWVudC5tZAogICogRml4IHR5cG9zCiAgKiBBZGQgc2VjdGlvbjogIklzc3VlOiBNdWx0
aXBsZSB3YXlzIHRvIHNvbHZlIGEgcHJvYmxlbSIKCkNoYW5nZXMgc2luY2UgdjEKKiBDb2RlIG9m
IENvbmR1Y3QKICBPbmx5IHdoaXRlc3BhY2UgY2hhbmdlcwoKKiBBZGRlZCBDb21tdW5pY2F0aW9u
IEd1aWRlCiAgQ29udGFpbnMgdmFsdWVzIGFuZCBhIHByb2Nlc3MgYmFzZWQgb24gYWR2aWNlIGFu
ZCBtZWRpYXRpb24gaW4gY2FzZSBvZiBpc3N1ZXMKICBUaGlzIGlzIHRoZSBwcmltYXJ5IHBvcnRh
bCBmb3IKCiogQWRkZWQgQ29kZSBSZXZpZXcgR3VpZGUKICBXaGljaCBpcyBiYXNlZCBvbiBbNF0g
d2l0aCBzb21lIGFkZGl0aW9ucyBmb3IgY29tcGxldGVuZXNzCiAgSXQgcHJpbWFyaWx5IHNldHMg
ZXhwZWN0YXRpb25zIGFuZCBhbnl0aGluZyBjb21tdW5pY2F0aW9uIHJlbGF0ZWQgaXMgcmVtb3Zl
ZAoKKiBBZGRlZCBndWlkZSBvbiBDb21tdW5pY2F0aW9uIEJlc3QgUHJhY3RpY2UKICBUYWtlcyB0
aGUgY29tbXVuaWNhdGlvbiBzZWN0aW9uIGZyb20gWzRdIGFuZCBleHBhbmRzIG9uIGl0IHdpdGgg
bW9yZSBleGFtcGxlcwogIGFuZCBjYXNlcy4gVGhpcyBpcyBwcm9iYWJseSB3aGVyZSB3ZSBtYXkg
bmVlZCBzb21lIGRpc2N1c3Npb24KCiogQWRkZWQgZG9jdW1lbnQgb24gUmVzb2x2aW5nIERpc2Fn
cmVlbWVudAogIEEgdGlueSBiaXQgb2YgdGhlb3J5IHRvIHNldCB0aGUgc2NlbmUKICBJdCBjb3Zl
cnMgc29tZSBjb21tb24gY2FzZXMgb2YgZGlzYWdyZWVtZW50cyBhbmQgaG93IHdlIG1heSBhcHBy
b2FjaCB0aGVtCiAgQWdhaW4sIHRoaXMgcHJvYmFibHkgbmVlZHMgc29tZSBkaXNjdXNzaW9uCgpD
YzogbWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCkNjOiB4ZW4tYXBpQGxpc3RzLnhl
bnByb2plY3Qub3JnCkNjOiB3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKQ2M6IG1p
cmFnZW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCkNjOiBjb21taXR0ZXJzQHhlbnByb2pl
Y3Qub3JnCgpMYXJzIEt1cnRoICg3KToKICBJbXBvcnQgdjEuNCBvZiBDb250cmlidXRvciBDb3Zl
bmFudCBDb0MKICBYZW4gUHJvamVjdCBDb2RlIG9mIENvbmR1Y3QKICBSZWZvcm1hdCBYZW4gUHJv
amVjdCBDb0MgdG8gZml0IGludG8gODAgY2hhcmFjdGVyIGxpbWl0CiAgQWRkIENvbW11bmljYXRp
b24gR3VpZGUKICBBZGQgQ29kZSBSZXZpZXcgR3VpZGUKICBBZGQgZ3VpZGUgb24gQ29tbXVuaWNh
dGlvbiBCZXN0IFByYWN0aWNlCiAgQWRkZWQgUmVzb2x2aW5nIERpc2FncmVlbWVudAoKLS0KMi4x
My4wCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWlu
aW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcK
aHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZl
bA==

From minios-devel-bounces@lists.xenproject.org Mon Dec 16 08:29:28 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 16 Dec 2019 08:29:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1iglkr-000609-MQ; Mon, 16 Dec 2019 08:29:25 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=1b+M=2F=gmail.com=cason.j.schindler@srs-us1.protection.inumbo.net>)
 id 1igLfS-0002g6-MT
 for minios-devel@lists.xen.org; Sun, 15 Dec 2019 04:38:06 +0000
X-Inumbo-ID: ac4f911e-1ef4-11ea-a914-bc764e2007e4
Received: from mail-ot1-x344.google.com (unknown [2607:f8b0:4864:20::344])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id ac4f911e-1ef4-11ea-a914-bc764e2007e4;
 Sun, 15 Dec 2019 04:38:00 +0000 (UTC)
Received: by mail-ot1-x344.google.com with SMTP id 66so4426158otd.9
 for <minios-devel@lists.xen.org>; Sat, 14 Dec 2019 20:38:00 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:to:cc:subject:date:message-id:in-reply-to:references:reply-to
 :mime-version:content-transfer-encoding;
 bh=gB1Um3c1WZUDrXk2QHwbo+cidWbxQaGZp+XdEDvqifM=;
 b=WdoaAZQRYJYP8+NgYHj3v1s5ckwVORMj5lYXOBLDdu2a4Dw7W8ckLG09QFq37diMa/
 xbEt9FbyuNK7cgoOZkZtuJ0YMRrDUbDXu8oDZFyaqmdwbBSZf/PlNzHVVAMAoV5ojblT
 o0SspbOPyFfcfE4tQWg74Ht9ytibohaaCYA4TyyYgAgfD12I53i0zSrvCfA8ecEUyoTV
 shWjEVE3u0X5pHfefVTTo/5l/f7jY0ULN3djABxKEk30qeo/o/y+2SC3bn01AK3acpj/
 A+WxzR+2bqYDdabvnJP12QUS9CKcmWMR08hM0Bx2AQ238R9E4KaYNeEJ+nAw2bQtA/OJ
 MILQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
 :references:reply-to:mime-version:content-transfer-encoding;
 bh=gB1Um3c1WZUDrXk2QHwbo+cidWbxQaGZp+XdEDvqifM=;
 b=rLFaUwWzh1gzzGofS32u0kREj1vXpoUNDnbWvArO8A1a1dzNkVTLdtr1nwqpVS//wT
 xtfYNz5J3E2BcGYM7DqVN1sZd6QiHtSMKHR7ZQg6P178OEDbOqZQBP8+1otN5lRTsJ9n
 hYihovtw15BNN3dMMNyzhEf9Ym4OnePDPgkiGq8R267ZuhDtXLI+yB+7wTT0/bqTfzpL
 ZiAwNnYV91k7Sa7ArNSmi2FpyLM1einTZbKPnZPM++78OUm9fIzinn08AP9TXKn2qzBU
 Wl4IaU11H9qLucNQpFZ4xzatQ7iunhu7d1o4lyOza2vtAf0ntmYuZUjLLXgMKI3VEz6u
 Dj6Q==
X-Gm-Message-State: APjAAAWrGCGA89BngHY+GG4g6FD+C6+TAzx4a87PjVbX/eGK0661oFI4
 HMzEIDtPSKOo0+NsT4+liI4/+hTNlsM=
X-Google-Smtp-Source: APXvYqzwgDm1ROgQiyKSUW3Zvc5w+UAomkksNc6xzgbAzp/kjlOr7uKXJi0/+fWnXrdlbmEj8f2T/Q==
X-Received: by 2002:a05:6830:9:: with SMTP id c9mr24836913otp.94.1576384679464; 
 Sat, 14 Dec 2019 20:37:59 -0800 (PST)
Received: from rousseau.cs.utexas.edu (rousseau.cs.utexas.edu. [128.83.130.92])
 by smtp.gmail.com with ESMTPSA id q16sm5269473otl.74.2019.12.14.20.37.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 14 Dec 2019 20:37:59 -0800 (PST)
From: cason.j.schindler@gmail.com
To: minios-devel@lists.xen.org
Date: Sat, 14 Dec 2019 22:37:13 -0600
Message-Id: <20191215043715.28499-4-cason.j.schindler@gmail.com>
X-Mailer: git-send-email 2.24.0
In-Reply-To: <20191215043715.28499-1-cason.j.schindler@gmail.com>
References: <20191215043715.28499-1-cason.j.schindler@gmail.com>
MIME-Version: 1.0
X-Mailman-Approved-At: Mon, 16 Dec 2019 08:29:23 +0000
Subject: [Minios-devel] [UNIKRAFT PATCH 3/5] plat/kvm: KVM Balloon Driver
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Reply-To: cason.j.schindler@gmail.com
Cc: felipe.huici@neclab.eu, simon.kuenzer@neclab.eu, raney.jack99@gmail.com,
 Cason Schindler <cason.j.schindler@gmail.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogQ2Fzb24gU2NoaW5kbGVyIDxjYXNvbi5qLnNjaGluZGxlckBnbWFpbC5jb20+CgpBZGQg
YmFsbG9vbiBkcml2ZXIgdG8gaW50ZXJmYWNlIHdpdGggS1ZNIHRocm91Z2ggdmlydGlvIGJhbGxv
b24gZGV2aWNlLgpJbXBsZW1lbnQgaW5mbGF0ZSBhbmQgZGVmbGF0ZSBBUEkgY2FsbHMuCgpTaWdu
ZWQtb2ZmLWJ5OiBDYXNvbiBTY2hpbmRsZXIgPGNhc29uLmouc2NoaW5kbGVyQGdtYWlsLmNvbT4K
U2lnbmVkLW9mZi1ieTogSmFjayBSYW5leSA8cmFuZXkuamFjazk5QGdtYWlsLmNvbT4KLS0tCiBw
bGF0L2t2bS9tZW1vcnkuYyB8IDM5MCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgMzkwIGluc2VydGlvbnMoKykKCmRpZmYgLS1n
aXQgYS9wbGF0L2t2bS9tZW1vcnkuYyBiL3BsYXQva3ZtL21lbW9yeS5jCmluZGV4IDFkOTI2OWUu
LmM0NDE3ZWQgMTAwNjQ0Ci0tLSBhL3BsYXQva3ZtL21lbW9yeS5jCisrKyBiL3BsYXQva3ZtL21l
bW9yeS5jCkBAIC0xNzgsMyArMTc4LDM5MyBAQCBpbnQgX3VrcGxhdF9tZW1fbWFwcGluZ3NfaW5p
dCh2b2lkKQogewogCXJldHVybiAwOwogfQorCisKKy8qIAorICogZnJvbnQtZW5kIGRyaXZlciBm
b3Iga3ZtIHZpcnRpbyBiYWxsb29uIGRyaXZlcgorICogcHV0dGluZyByZWxhdGl2ZSBpbmNsdWRl
cyBoZXJlIGJlY2F1c2Ugc2hvdWxkIHJlYWxseQorICogYmUgaW4gaXRzIG93biBmaWxlCisgKi8K
KworCisjaW5jbHVkZSA8aW50dHlwZXMuaD4KKyNpbmNsdWRlIDx1ay9hbGxvYy5oPgorI2luY2x1
ZGUgPHVrL3NnbGlzdC5oPgorI2luY2x1ZGUgPHVrL2xpc3QuaD4KKyNpbmNsdWRlIDx1ay9hc3Nl
cnQuaD4KKy8vI2luY2x1ZGUgPHVrL211dGV4Lmg+CisjaW5jbHVkZSA8dmlydGlvL3ZpcnRpb19p
ZHMuaD4KKyNpbmNsdWRlIDx2aXJ0aW8vdmlydGlvX2J1cy5oPgorI2luY2x1ZGUgPHZpcnRpby92
aXJ0cXVldWUuaD4gCisKKyNkZWZpbmUgRFJJVkVSX05BTUUgInZpcnRpby1iYWxsb29uIgorI2Rl
ZmluZSBWVEJBTExPT05fUEFHRVNfUEVSX1JFUVVFU1QJMjU2CisKK3N0YXRpYyBzdHJ1Y3QgdWtf
YWxsb2MgKmE7CisKK3N0YXRpYyBzdHJ1Y3QgdmlydGlvX2JhbGxvb25fZGV2aWNlICpnbG9iYWxf
dmI7CisKKy8qIHBhZ2VzIGdpdmVuIHRvIGh5cGVydmlzb3IgKGluIHRoZSBiYWxsb29uKSAqLwor
c3RydWN0IGJhbGxvb25fcGFnZXMgeyAKKworCXVpbnQzMl90IG51bV9wYWdlczsgLyogIyBwYWdl
cyBpbiBiYWxsb29uICovCisKK307CisKKy8qIHRlbXBvcmFyeSBzdG9yYWdlIGZvciBwYWdlcyB3
aXRoIHdoaWNoIHdlIGFyZSBlaXRoZXIKKyAqIGluZmxhdGluZyBvciBkZWZsYXRpbmcgdGhlIGJh
bGxvb24KKyAqLworc3RydWN0IHRyYW5zcG9ydF9wYWdlcyB7CisKKwl1aW50MzJfdCBudW1fcGFn
ZXM7IC8qICMgb2YgcGFnZXMgaW4gcGFnZXMgKi8KKwl1aW50MzJfdCAqcGFnZXM7CisKK307CisK
Ky8qIHdyYXBwZXIgZm9yIHZpcnRpbyBkZXZpY2UgKi8KK3N0cnVjdCB2aXJ0aW9fYmFsbG9vbl9k
ZXZpY2UgeworCisJc3RydWN0IHZpcnRpb19kZXYgKnZkZXY7CisKKwlzdHJ1Y3QgdmlydHF1ZXVl
ICppbmZsYXRlX3ZxLCAqZGVmbGF0ZV92cTsKKworCV9fdTE2IGluZnZxX2lkOworCV9fdTE2IGRl
ZnZxX2lkOworCisJY2hhciogdGFnOworCisJc3RydWN0IGJhbGxvb25fcGFnZXMgKmJhbGxvb247
IAorCisJc3RydWN0IHRyYW5zcG9ydF9wYWdlcyAqdHJhbnNwb3J0OworCisJdWludDY0X3QgZmVh
dHVyZXM7CisJdWludDMyX3QgZmxhZ3M7CisKKwkvL3VrX211dGV4IGxvY2s7CisKK307CisKK3N0
YXRpYyB2b2lkIGNsZWFyX3RyYW5zcG9ydChzdHJ1Y3QgdmlydGlvX2JhbGxvb25fZGV2aWNlKiB2
YikKK3sKKwlpbnQgbnVtID0gdmItPnRyYW5zcG9ydC0+bnVtX3BhZ2VzOworCWZvciAoaW50IGkg
PSAwOyBpIDwgbnVtOyBpKyspIHsKKwkJKHZiLT50cmFuc3BvcnQtPnBhZ2VzKVtpXSA9IDA7CisJ
CXZiLT50cmFuc3BvcnQtPm51bV9wYWdlcyAtPSAxOworCX0KK30KKworLyotCisgKiBTUERYLUxp
Y2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLUZyZWVCU0QKKyAqCisgKiBDb3B5cmlnaHQg
KGMpIDIwMTEsIEJyeWFuIFZlbnRlaWNoZXIgPGJyeWFudkBGcmVlQlNELm9yZz4KKyAqIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
QVVUSE9SIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IKKyAqIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMK
KyAqIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuCisgKiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCisgKiBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQKKyAqIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8qIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlIGFwcGxpZXMgb25seSB0byB0aGUgYmVsb3cgZnVuY3Rpb24sIAorICogdnRiYWxsb29uX3Nl
bmRfcGFnZV9mcmFtZXMsIHdoaWNoIGlzIGJhc2VkIG9uIEZyZWVCU0QncyBmdW5jdGlvbgorICog
b2YgdGhlIHNhbWUgbmFtZS4KKyAqLworCitzdGF0aWMgdm9pZCB2dGJhbGxvb25fc2VuZF9wYWdl
X2ZyYW1lcyhzdHJ1Y3QgdmlydGlvX2JhbGxvb25fZGV2aWNlICp2YiwgCisJCQlzdHJ1Y3Qgdmly
dHF1ZXVlICp2cSwgaW50IG5wYWdlcykKK3sKKwkKKwlzdHJ1Y3QgdWtfc2dsaXN0IHNnOworCXN0
cnVjdCB1a19zZ2xpc3Rfc2VnIHNlZ3NbMV07CisJaW50IGM7CisKKwl1a19zZ2xpc3RfaW5pdCgm
c2csIDEsIHNlZ3MpOworCisJdWtfc2dsaXN0X2FwcGVuZCgmc2csIHZiLT50cmFuc3BvcnQtPnBh
Z2VzLCBucGFnZXMgKiBzaXplb2YodWludDMyX3QpKTsKKworCXZvaWQqIHZxX2Nvb2tpZTsKKwl2
aXJ0cXVldWVfYnVmZmVyX2VucXVldWUodnEsICZ2cV9jb29raWUsICZzZywgMSwgMCk7CisJCisJ
dmlydHF1ZXVlX2hvc3Rfbm90aWZ5KHZxKTsKKwkKKwlfX3UzMiBsZW4gPSAwOworCS8qIHdhaXQg
b24gS1ZNIHRvIHJlc3BvbmQuIE5lZWQgYSBzYWZlciBtZXRob2QgZm9yIHRoaXMgKi8KKwl3aGls
ZSAoKGMgPSB2aXJ0cXVldWVfYnVmZmVyX2RlcXVldWUodnEsICZ2cV9jb29raWUsICZsZW4pKSA8
IDApOworCQorfQorCisvKioKKyAqIHRoaXMgaXMgZXF1aXZhbGVudCB0byBsZWFraW5nIGZyb20g
dGhlIGJhbGxvb24gYW5kIAorICogaW5jcmVhc2luZyBtZW1vcnkgcmVzZXJ2YXRpb24gZm9yIGd1
ZXN0CisgKi8KK3N0YXRpYyBpbnQgZGVmbGF0ZV9iYWxsb29uKHVpbnRwdHJfdCAqcGFnZXNfdG9f
Z3Vlc3QsIHVpbnQzMl90IG51bSkKK3sKKwkvKiBnZXQgcGFnZXNfdG9fZ3Vlc3QgZnJvbSB0aGUg
YmFsbG9vbiBhbmQgdGVsbCBob3N0IHdlIGFyZSB1c2luZyB0aGVtIG5vdyAqLworCisJLyogY2hl
Y2sgaWYgZGV2aWNlIGlzIHJlYWR5ICovCisJaWYgKCFnbG9iYWxfdmIpCisJCXJldHVybiAtRU5Y
SU87CisKKwlzdHJ1Y3QgdmlydGlvX2JhbGxvb25fZGV2aWNlICp2YiA9IGdsb2JhbF92YjsKKwor
CS8vdWtfbXV0ZXhfbG9jayh2Yi0+bG9jayk7CisKKwljbGVhcl90cmFuc3BvcnQodmIpOworCQor
CWlmICh2Yi0+YmFsbG9vbi0+bnVtX3BhZ2VzIDwgbnVtKSBudW0gPSB2Yi0+YmFsbG9vbi0+bnVt
X3BhZ2VzOworCQorCWZvciAodWludDMyX3QgaSA9IDA7IGkgPCBudW07IGkrKykgeworCQl1aW50
MzJfdCBwYWdlID0gcGFnZXNfdG9fZ3Vlc3RbaV07CisJCXZiLT50cmFuc3BvcnQtPnBhZ2VzW2ld
ID0gcGFnZTsgLyogcHV0IHBhZ2UgaW4gdGVtcCBhcnJheSBmb3IgaG9zdCAqLworCQl2Yi0+YmFs
bG9vbi0+bnVtX3BhZ2VzIC09IDE7CisJCXZiLT50cmFuc3BvcnQtPm51bV9wYWdlcyArPSAxOwor
CX0KKworCWludCBudW1fcGFnZXNfdGFrZW4gPSB2Yi0+dHJhbnNwb3J0LT5udW1fcGFnZXM7CisJ
CisJaWYgKHZiLT50cmFuc3BvcnQtPm51bV9wYWdlcyAhPSAwKSB7CisJCXZ0YmFsbG9vbl9zZW5k
X3BhZ2VfZnJhbWVzKHZiLCB2Yi0+ZGVmbGF0ZV92cSwgdmItPnRyYW5zcG9ydC0+bnVtX3BhZ2Vz
KTsKKwl9IAorCQorCS8vdWtfbXV0ZXhfdW5sb2NrKHZiLT5sb2NrKTsKKworCXJldHVybiBudW1f
cGFnZXNfdGFrZW47Cit9CisKKy8qKgorICogdGhpcyBpcyBlcXVpdmFsZW50IHRvIGZpbGxpbmcg
dGhlIGJhbGxvb24gYW5kIAorICogZGVjcmVhc2luZyBtZW1vcnkgcmVzZXJ2YXRpb24gZm9yIGd1
ZXN0CisgKi8KK3N0YXRpYyBpbnQgaW5mbGF0ZV9iYWxsb29uKHVpbnRwdHJfdCAqcGFnZXNfdG9f
aG9zdCwgdWludDMyX3QgbnVtKQoreworCS8qIG5lZWQgdG8gcHV0IHBhZ2VzX3RvX2hvc3QgaW4g
dGhlIGJhbGxvb24gZm9yIHRoZSBob3N0IHRvIHVzZSAqLworCisJLyogY2hlY2sgaWYgZGV2aWNl
IGlzIHJlYWR5ICovCisJaWYgKCFnbG9iYWxfdmIpCisJCXJldHVybiAtRU5YSU87CisKKwlzdHJ1
Y3QgdmlydGlvX2JhbGxvb25fZGV2aWNlICp2YiA9IGdsb2JhbF92YjsKKworCS8vdWtfbXV0ZXhf
bG9jayh2Yi0+bG9jayk7CisKKwljbGVhcl90cmFuc3BvcnQodmIpOworCQorCWZvciAodWludDMy
X3QgaSA9IDA7IGkgPCBudW07IGkrKykgeworCQl1aW50MzJfdCBwYWdlID0gcGFnZXNfdG9faG9z
dFtpXSAvIF9fUEFHRV9TSVpFOworCQl2Yi0+dHJhbnNwb3J0LT5wYWdlc1tpXSA9IHBhZ2U7IC8q
IHB1dCBwYWdlIGluIHRlbXAgYXJyYXkgZm9yIGhvc3QgKi8KKwkJdmItPmJhbGxvb24tPm51bV9w
YWdlcyArPSAxOworCQl2Yi0+dHJhbnNwb3J0LT5udW1fcGFnZXMgKz0gMTsKKwl9CisKKwlpbnQg
bnVtX3BhZ2VzX2dpdmVuID0gdmItPnRyYW5zcG9ydC0+bnVtX3BhZ2VzOworCisJaWYgKHZiLT50
cmFuc3BvcnQtPm51bV9wYWdlcyAhPSAwKSB7CisJCXZ0YmFsbG9vbl9zZW5kX3BhZ2VfZnJhbWVz
KHZiLCB2Yi0+aW5mbGF0ZV92cSwgdmItPnRyYW5zcG9ydC0+bnVtX3BhZ2VzKTsKKwl9IAorCQor
CS8vdWtfbXV0ZXhfdW5sb2NrKHZiLT5sb2NrKTsKKworCXJldHVybiBudW1fcGFnZXNfZ2l2ZW47
Cit9CisKKworc3RhdGljIGlubGluZSB2b2lkIHZpcnRpb19iYWxsb29uX2ZlYXR1cmVfc2V0KHN0
cnVjdCB2aXJ0aW9fYmFsbG9vbl9kZXZpY2UgKnZiKQoreworCXZiLT5mZWF0dXJlcyA9IDA7CisJ
dmItPmZsYWdzID0gMDsKKwl2Yi0+dmRldi0+ZmVhdHVyZXMgPSAwOworfQorCitzdGF0aWMgaW50
IHZpcnRpb19iYWxsb29uX3ZxX2FsbG9jKHN0cnVjdCB2aXJ0aW9fYmFsbG9vbl9kZXZpY2UgKnZi
KQoreworCWludCB2cV9hdmFpbCA9IDA7CisJaW50IHJjID0gMDsKKwlfX3UxNiBxZGVzY19zaXpl
WzJdOworCisJdnFfYXZhaWwgPSB2aXJ0aW9fZmluZF92cXModmItPnZkZXYsIDIsICYocWRlc2Nf
c2l6ZVswXSkpOyAKKwlpZiAodW5saWtlbHkodnFfYXZhaWwgIT0gMikpIHsKKwkJdWtfcHJfZXJy
KERSSVZFUl9OQU1FIjogRXhwZWN0ZWQ6ICVkIHF1ZXVlcywgZm91bmQgJWRcbiIsCisJCQkgIDIs
IHZxX2F2YWlsKTsKKwkJcmMgPSAtRU5PTUVNOworCQlnb3RvIGV4aXQ7CisJfQorCisJdmItPmlu
ZnZxX2lkID0gMDsKKwl2Yi0+ZGVmdnFfaWQgPSAxOworCisJdmItPmluZmxhdGVfdnEgPSB2aXJ0
aW9fdnF1ZXVlX3NldHVwKAorCQkJCQkJdmItPnZkZXYsIHZiLT5pbmZ2cV9pZCwgcWRlc2Nfc2l6
ZVswXSwgTlVMTCwgYSk7IC8qIG5vIGNhbGxiYWNrICovCisJdmItPmluZmxhdGVfdnEtPnByaXYg
PSB2YjsKKworCWlmICh1bmxpa2VseShQVFJJU0VSUih2Yi0+aW5mbGF0ZV92cSkpKSB7CisJCXVr
X3ByX2VycihEUklWRVJfTkFNRSI6IEZhaWxlZCB0byBzZXQgdXAgdmlydHF1ZXVlICUiUFJJdTE2
IlxuIiwKKwkJCXZiLT5pbmZ2cV9pZCk7CisJCXJjID0gUFRSMkVSUih2Yi0+aW5mbGF0ZV92cSk7
CisJfQorCQorCXZiLT5kZWZsYXRlX3ZxID0gdmlydGlvX3ZxdWV1ZV9zZXR1cCgKKwkJCQkJCXZi
LT52ZGV2LCB2Yi0+ZGVmdnFfaWQsIHFkZXNjX3NpemVbMV0sIE5VTEwsIGEpOyAvKiBubyBjYWxs
YmFjayAqLworCXZiLT5kZWZsYXRlX3ZxLT5wcml2ID0gdmI7CisKKwlpZiAodW5saWtlbHkoUFRS
SVNFUlIodmItPmRlZmxhdGVfdnEpKSkgeworCQl1a19wcl9lcnIoRFJJVkVSX05BTUUiOiBGYWls
ZWQgdG8gc2V0IHVwIHZpcnRxdWV1ZSAlIlBSSXUxNiJcbiIsCisJCQl2Yi0+ZGVmdnFfaWQpOwor
CQlyYyA9IFBUUjJFUlIodmItPmRlZmxhdGVfdnEpOworCX0KKworZXhpdDoKKwlyZXR1cm4gcmM7
Cit9CisJCitzdGF0aWMgaW50IHZpcnRpb19iYWxsb29uX3N0YXJ0KHN0cnVjdCB2aXJ0aW9fYmFs
bG9vbl9kZXZpY2UgKnZiKQoreworCisJdmlydHF1ZXVlX2ludHJfZW5hYmxlKHZiLT5pbmZsYXRl
X3ZxKTsKKwl2aXJ0cXVldWVfaW50cl9lbmFibGUodmItPmRlZmxhdGVfdnEpOworCXZpcnRpb19k
ZXZfZHJ2X3VwKHZiLT52ZGV2KTsKKwl1a19wcl9pbmZvKERSSVZFUl9OQU1FIjogJXMgc3RhcnRl
ZFxuIiwgdmItPnRhZyk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB2aXJ0aW9fYmFs
bG9vbl9hZGRfZGV2KHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2KQoreworCisJc3RydWN0IHZpcnRp
b19iYWxsb29uX2RldmljZSAqdmJkZXY7CisJaW50IHJjID0gMDsKKworCVVLX0FTU0VSVCh2ZGV2
ICE9IE5VTEwpOworCQorCXZiZGV2ID0gdWtfY2FsbG9jKGEsIDEsIHNpemVvZigqdmJkZXYpKTsK
KworCWlmICghdmJkZXYpIHsKKwkJcmMgPSAtRU5PTUVNOworCQlnb3RvIGVycl9vdXQ7CisJfQor
CisJaW50IHRhZ19sZW4gPSAzMDsKKwl2YmRldi0+dGFnID0gdWtfY2FsbG9jKGEsIDEsIHNpemVv
Zih0YWdfbGVuKSk7CisJdmJkZXYtPnRhZyA9ICJWSVJUSU9fQkFMTE9PTl9EUlZfREVWIjsKKwor
CS8vdWtfbXV0ZXhfaW5pdCgmdmJkZXYtPmxvY2spOworCisJdmJkZXYtPnZkZXYgPSB2ZGV2Owor
CXZpcnRpb19iYWxsb29uX2ZlYXR1cmVfc2V0KHZiZGV2KTsgCisJcmMgPSB2aXJ0aW9fYmFsbG9v
bl92cV9hbGxvYyh2YmRldik7CisJaWYgKHJjKSB7CisJCWdvdG8gZXJyX291dDsKKwl9CisKKwl2
YmRldi0+dHJhbnNwb3J0ID0gdWtfY2FsbG9jKGEsIDEsIHNpemVvZihzdHJ1Y3QgdHJhbnNwb3J0
X3BhZ2VzKSk7CisJaWYgKCEodmJkZXYtPnRyYW5zcG9ydCkpIHsKKwkJcmMgPSAtRU5PTUVNOwor
CQlnb3RvIGVycl9vdXQ7CisJfQorCXZiZGV2LT50cmFuc3BvcnQtPnBhZ2VzID0gCisJCQkJdWtf
Y2FsbG9jKGEsIDEsIFZUQkFMTE9PTl9QQUdFU19QRVJfUkVRVUVTVCAqIHNpemVvZih1aW50MzJf
dCkpOworCWlmICghKHZiZGV2LT50cmFuc3BvcnQtPnBhZ2VzKSkgeworCQlyYyA9IC1FTk9NRU07
CisJCWdvdG8gZXJyX291dDsKKwl9CisJdmJkZXYtPmJhbGxvb24gPSB1a19jYWxsb2MoYSwgMSwg
c2l6ZW9mKHN0cnVjdCBiYWxsb29uX3BhZ2VzKSk7CisJCisJcmMgPSB2aXJ0aW9fYmFsbG9vbl9z
dGFydCh2YmRldik7CisJaWYgKHJjKSB7CisJCWdvdG8gZXJyX291dDsKKwl9CisKK2V4aXQ6CisJ
Z2xvYmFsX3ZiID0gdmJkZXY7IC8qIGluaXRpYWxpemUgZ2xvYmFsIHZiICovCisJLyogaW5pdGlh
bCBhbGxvYyBhbmQgZnJlZSB0byB0cmlnZ2VyIGJhbGxvbiBpbml0ICovCisJdm9pZCogYWxjID0g
dWtfcGFsbG9jKGEsIDApOworCXVrX3BmcmVlKGEsIGFsYywgMCk7CisJcmV0dXJuIHJjOworZXJy
X291dDoKKwl1a19mcmVlKGEsIHZiZGV2LT50cmFuc3BvcnQtPnBhZ2VzKTsKKwl1a19mcmVlKGEs
IHZiZGV2LT50cmFuc3BvcnQpOworCXVrX2ZyZWUoYSwgdmJkZXYtPmJhbGxvb24pOworCXVrX2Zy
ZWUoYSwgdmJkZXYpOworCWdvdG8gZXhpdDsKKworfQorCitzdGF0aWMgaW50IHZpcnRpb19iYWxs
b29uX2Rydl9pbml0KHN0cnVjdCB1a19hbGxvYyAqZHJ2X2FsbG9jYXRvcikKK3sKKwkvKiBkcml2
ZXIgaW5pdGlhbGl6YXRpb24gKi8KKwlpZiAoIWRydl9hbGxvY2F0b3IpIHsKKwkJcmV0dXJuIC1F
SU5WQUw7CisJfQorCisJYSA9IGRydl9hbGxvY2F0b3I7CisJcmV0dXJuIDA7CisKK30KKworc3Rh
dGljIGNvbnN0IHN0cnVjdCB2aXJ0aW9fZGV2X2lkIHZiYWxsb29uX2Rldl9pZFtdID0geworCXtW
SVJUSU9fSURfQkFMTE9PTn0sCisJe1ZJUlRJT19JRF9JTlZBTElEfSAvKiBMaXN0IFRlcm1pbmF0
b3IgKi8KK307CisKK3N0YXRpYyBzdHJ1Y3QgdmlydGlvX2RyaXZlciB2aXJ0aW9fYmFsbG9vbl9k
cml2ZXIgPSB7CisJLmRldl9pZHMgPSB2YmFsbG9vbl9kZXZfaWQsCisJLmluaXQJID0gdmlydGlv
X2JhbGxvb25fZHJ2X2luaXQsCisJLmFkZF9kZXYgPSB2aXJ0aW9fYmFsbG9vbl9hZGRfZGV2Cit9
OworVklSVElPX0JVU19SRUdJU1RFUl9EUklWRVIoJnZpcnRpb19iYWxsb29uX2RyaXZlcik7CisK
KworLyogbWVtb3J5LmMgaW5mbGF0aW9uIGFuZCBkZWZsYXRpb24gQVBJIGZ1bmN0aW9uIGltcGxl
bWVudGF0aW9uczogKi8KKworLyoqCisgKiBudW1iZXIgb2YgcGFnZXMgaXMgMl5vcmRlcgorICov
CitpbnQgZ2V0X251bV9wYWdlcyhpbnQgb3JkZXIpCit7CisJaW50IG51bV9wYWdlcyA9IDE7CisJ
Zm9yIChpbnQgaSA9IDA7IGkgPCBvcmRlcjsgaSsrKSBudW1fcGFnZXMgKj0gMjsKKwlyZXR1cm4g
bnVtX3BhZ2VzOworfQorCisvKioKKyAqIGZpbGwgYWRkcmVzc2VzIGZvciBwYWdlIHJhbmdlIHN0
YXJ0aW5nIGF0IGZpcnN0X3BhZ2UKKyAqLwordm9pZCBmaWxsX3BhZ2VfYXJyYXkodWludHB0cl90
ICpwYWdlc19hcnJheSwgdm9pZCogZmlyc3RfcGFnZSwgaW50IG51bV9wYWdlcykKK3sJCisJdWlu
dDY0X3QgY3VycmVudF9wZyA9ICh1aW50NjRfdCkgZmlyc3RfcGFnZTsKKwlmb3IgKGludCBpID0g
MDsgaSA8IG51bV9wYWdlczsgaSsrKSB7CisJCXBhZ2VzX2FycmF5W2ldID0gY3VycmVudF9wZzsK
KwkJY3VycmVudF9wZyArPSBfX1BBR0VfU0laRTsKKwl9Cit9CisKKy8qKgorICogY2FsbCBkcml2
ZXIgaW5mbGF0ZV9iYWxsb29uCisgKiByZXR1cm5zIG51bWJlciBvZiBwYWdlcyBhY3R1YWxseSBw
dXQgaW50byBiYWxsb29uIG9yIDwgMCBvbiBlcnJvcgorICovCitpbnQgdWtwbGF0X2luZmxhdGUo
dm9pZCogcGFnZSwgaW50IG9yZGVyKQoreworCWludCBudW1fcGFnZXMgPSBnZXRfbnVtX3BhZ2Vz
KG9yZGVyKTsKKwl1aW50cHRyX3QgcGFnZXNfdG9faG9zdFtudW1fcGFnZXNdOworCWZpbGxfcGFn
ZV9hcnJheShwYWdlc190b19ob3N0LCBwYWdlLCBudW1fcGFnZXMpOworCQorCXJldHVybiBpbmZs
YXRlX2JhbGxvb24ocGFnZXNfdG9faG9zdCwgbnVtX3BhZ2VzKTsKK30KKworLyoqCisgKiBjYWxs
IGRyaXZlciBkZWZsYXRlX2JhbGxvb24KKyAqIHJldHVybnMgbnVtYmVyIG9mIHBhZ2VzIGFjdHVh
bGx5IHRha2VuIGZyb20gYmFsbG9vbiBvciA8IDAgb24gZXJyb3IKKyAqLworaW50IHVrcGxhdF9k
ZWZsYXRlKHZvaWQqIHBhZ2UsIGludCBvcmRlcikKK3sKKwlpbnQgbnVtX3BhZ2VzID0gZ2V0X251
bV9wYWdlcyhvcmRlcik7CisJdWludHB0cl90IHBhZ2VzX3RvX2d1ZXN0W251bV9wYWdlc107CisJ
ZmlsbF9wYWdlX2FycmF5KHBhZ2VzX3RvX2d1ZXN0LCBwYWdlLCBudW1fcGFnZXMpOworCisJcmV0
dXJuIGRlZmxhdGVfYmFsbG9vbihwYWdlc190b19ndWVzdCwgbnVtX3BhZ2VzKTsKK30KLS0gCjIu
MjQuMAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1p
bmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3Jn
Cmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2
ZWw=

From minios-devel-bounces@lists.xenproject.org Mon Dec 16 08:29:28 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 16 Dec 2019 08:29:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1iglkr-0005zS-9V; Mon, 16 Dec 2019 08:29:25 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=6iYZ=2C=xenproject.org=lars.kurth@srs-us1.protection.inumbo.net>)
 id 1ifVpX-00077T-Dr
 for minios-devel@lists.xenproject.org; Thu, 12 Dec 2019 21:17:03 +0000
X-Inumbo-ID: 764bf188-1d24-11ea-b6f1-bc764e2007e4
Received: from mail.xenproject.org (unknown [104.130.215.37])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 764bf188-1d24-11ea-b6f1-bc764e2007e4;
 Thu, 12 Dec 2019 21:15:03 +0000 (UTC)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1ifVnW-00015x-SP; Thu, 12 Dec 2019 21:14:58 +0000
Received: from localhost ([127.0.0.1] helo=localhost.localdomain)
 by xenbits.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1ifVnW-0000Bm-I0; Thu, 12 Dec 2019 21:14:58 +0000
From: Lars Kurth <lars.kurth@xenproject.org>
To: xen-devel@lists.xenproject.org
Date: Thu, 12 Dec 2019 21:14:33 +0000
Message-Id: <0f6a6c4217b5a9309623a385d81eda70a8a901cd.1576184325.git.lars.kurth@citrix.com>
X-Mailer: git-send-email 2.13.0
In-Reply-To: <cover.1576184325.git.lars.kurth@citrix.com>
References: <cover.1576184325.git.lars.kurth@citrix.com>
MIME-Version: 1.0
In-Reply-To: <cover.1576184325.git.lars.kurth@citrix.com>
References: <cover.1576184325.git.lars.kurth@citrix.com>
X-Mailman-Approved-At: Mon, 16 Dec 2019 08:29:23 +0000
Subject: [Minios-devel] [PATCH v3 6/7] Add guide on Communication Best
 Practice
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Lars Kurth <lars.kurth@citrix.com>, xen-api@lists.xenproject.org,
 minios-devel@lists.xenproject.org, committers@xenproject.org,
 mirageos-devel@lists.xenproject.org, win-pv-devel@lists.xenproject.org
Content-Type: multipart/mixed; boundary="===============1565265178346924394=="
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

--===============1565265178346924394==
Content-Type: text/plain; charset=Y
Content-Transfer-Encoding: 8bit

From: Lars Kurth <lars.kurth@citrix.com>

This guide covers the bulk on Best Practice related to code review
It primarily focusses on code review interactions
It also covers how to deal with Misunderstandings and Cultural
Differences

Changes since v2 (added in v2)
* Fix typos
* Extended "Verbose vs. terse"
* Added "Clarity over Verbosity"
* Broke "Identify the severity of an issue or disagreement" into two chapters
  - "Identify the severity and optionality of review comments" and made
    clarifications
  - "Identify the severity of a disagreement"
  - Expanded "Prioritize significant flaws"
* Added "Reviewers: Take account of previous reviewer(s) comments"
* Added prefixes such as "Reviewers:" where appropriate
* Fixed lien wrapping to 80 characters
* Replaced inline links with reference links

Signed-off-by: Lars Kurth <lars.kurth@citrix.com>
---
Cc: minios-devel@lists.xenproject.org
Cc: xen-api@lists.xenproject.org
Cc: win-pv-devel@lists.xenproject.org
Cc: mirageos-devel@lists.xenproject.org
Cc: committers@xenproject.org
---
 communication-practice.md | 504 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 504 insertions(+)
 create mode 100644 communication-practice.md

diff --git a/communication-practice.md b/communication-practice.md
new file mode 100644
index 0000000..0ae2426
--- /dev/null
+++ b/communication-practice.md
@@ -0,0 +1,504 @@
+# Communication Best Practice
+
+This guide provides communication Best Practice that helps you in
+* Using welcoming and inclusive language
+* Keeping discussions technical and actionable
+* Being respectful of differing viewpoints and experiences
+* Being aware of your own and counterpart’s communication style and culture
+* Show empathy towards other community members
+
+## Code reviews for **reviewers** and **patch authors**
+
+Before embarking on a code review, it is important to remember that
+* A poorly executed code review can hurt the contributors feeling, even when a
+  reviewer did not intend to do so. Feeling defensive is a normal reaction to
+  a critique or feedback. A reviewer should be aware of how the pitch, tone,
+  or sentiment of their comments could be interpreted by the contributor. The
+  same applies to responses of an author to the reviewer.
+* When reviewing someone's code, you are ultimately looking for issues. A good
+  code reviewer is able to mentally separate finding issues from articulating
+  code review comments in a constructive and positive manner: depending on your
+  personality this can be **difficult** and you may need to develop a technique
+  that works for you.
+* As software engineers we like to be proud of the solutions we came up with.
+  This can make it easy to take another people’s criticism personally. Always
+  remember that it is the code that is being reviewed, not you as a person.
+* When you receive code review feedback, please be aware that we have reviewers
+  from different backgrounds, communication styles and cultures. Although we
+  all trying to create a productive, welcoming and agile environment, we do
+  not always succeed.
+
+### Express appreciation
+
+As the nature of code review to find bugs and possible issues, it is very easy
+for reviewers to get into a mode of operation where the patch review ends up
+being a list of issues, not mentioning what is right and well done. This can
+lead to the code submitter interpreting your feedback in a negative way.
+
+The opening of a code review provides an opportunity to address this and also
+sets the tone for the rest of the code review. Starting **every** review on a
+positive note, helps set the tone for the rest of the review.
+
+For an initial patch, you can use phrases such as
+> Thanks for the patch
+> Thanks for doing this
+
+For further revisions within a review, phrases such as
+> Thank you for addressing the last set of changes
+
+If you believe the code was good, it is good practice to highlight this by
+using phrases such as
+> Looks good, just a few comments
+> The changes you have made since the last version look good
+
+If you think there were issues too many with the code to use one of the
+phrases, you can still start on a positive note, by for example saying
+> I think this is a good change
+> I think this is a good feature proposal
+
+It is also entirely fine to highlight specific changes as good. The best place
+to do this, is at the top of a patch, as addressing code review comments
+typically requires a contributor to go through the list of things to address
+and an in-lined positive comment is likely to break that workflow.
+
+You should also consider, that if you review a patch of an experienced
+contributor phrases such as *Thanks for the patch* could come across as
+patronizing, while using *Thanks for doing this* is less likely to be
+interpreted as such.
+
+Appreciation should also be expressed by patch authors when asking for
+clarifications to a review or responding to questions. A simple
+> Thank you for your feedback
+> Thank you for your reply
+> Thank you XXX!
+
+is normally sufficient.
+
+### Avoid opinion: stick to the facts
+
+The way how a reviewer expresses feedback, has a big impact on how the author
+perceives the feedback. Key to this is what we call **stick to the facts**.
+The same is true when a patch author is responding to a comment from a
+reviewer.
+
+One of our maintainers has been studying Mandarin for several years and has
+come across the most strongly-worded dictionary entry [he has ever seen][1].
+This example illustrates the problem of using opinion in code reviews vs.
+using facts extremely well.
+
+> 裹脚 (guo3 jiao3): foot-binding (a vile feudal practice which crippled women
+> both physically and spiritually)
+
+This is not something one is used to hearing from dictionary entries. Once you
+investigate the practice foot-binding, it is hard to disagree with the
+dictionary entry. However, the statement does not contain much information. If
+you read it without knowing what foot-binding is, it is hard to be convinced
+by this statement. The main take-away is that the author of the dictionary
+entry had strong opinions about this topic. It does not tell you why you
+should have the same opinion.
+
+Compare this to the [Wikipedia entry][2]
+
+> Foot binding was the custom of applying tight binding to the feet of young
+> girls to modify the shape and size of their feet. ... foot binding was a
+> painful practice and significantly limited the mobility of women, resulting
+> in lifelong disabilities for most of its subjects. ... Binding usually
+> started during the winter months since the feet were more likely to be numb,
+> and therefore the pain would not be as extreme. …The toes on each foot
+> were curled under, then pressed with great force downwards and squeezed
+> into the sole of the foot until the toes broke…
+
+Without going into the details of foot-binding, it is noticeable that none of
+what is written above uses opinion which could be interpreted as inflammatory
+language. It is a list of simple facts that are laid out in a way that make it
+obvious what the correct conclusion is.
+
+Because the Wikipedia entry is entirely fact based it is more powerful and
+persuasive then the dictionary entry. The same applies to code reviews.
+
+Making statements in code reviews such as
+> Your code is garbage
+> This idea is stupid
+
+besides being an opinion is rude and counter productive
+* It will make the patch author angry: instead of finding a solution to the
+  problem the author will spend time and mental energy wrestling with their
+  feelings
+* It does not contain any information
+* Facts are both more powerful and more persuasive
+
+Consider the following two pieces of feedback on a piece of code
+> This piece of code is confusing
+> It took me a long time to ﬁgure out what was going on here
+
+The first example expresses an opinion, whereas the second re-phrases the
+statement in terms of what you experienced, which is a fact.
+
+Other examples:
+> BAD: This is fragile
+> SOMEWHAT BETTER: This seems fragile to me
+> BEST: If X happens, Y will happen.
+
+A certain piece of code can be written in many different ways: this can lead to
+disagreements on the best architecture, design or coding pattern. As already
+pointed out in this section: avoid feedback that is opinion-based and thus
+does not add any value. Back your criticism (or idea on how to solve a
+problem) with a sensible rationale.
+
+### Review the code, not the person
+
+Without realizing it, it is easy to overlook the difference between insightful
+critique of code and personal criticism. Let's look at a theoretical function
+where there is an opportunity to return out of the function early. In this
+case, you could say
+
+> You should return from this function early, because of XXX
+
+On its own, there is nothing wrong with this statement. However, a code review
+is made up of multiple comments and using **You should** consistently can
+start to feel negative and can be mis-interpreted as a personal attack. Using
+something like avoids this issue:
+
+> Returning from this function early is better, because of XXX
+
+Without personal reference, a code review will communicate the problem, idea
+or issue without risking mis-interpretation.
+
+### Verbose vs. terse
+
+Due to the time it takes to review and compose code reviewer, reviewers often
+adopt a terse style. It is not unusual to see review comments such as
+> typo
+> s/resions/regions/
+> coding style
+> coding style: brackets not needed
+etc.
+
+Terse code review style has its place and can be productive for both the
+reviewer and the author. However, overuse can come across as unfriendly,
+lacking empathy and can thus create a negative impression with the author of a
+patch. This is in particular true, when you do not know the author or the
+author is a newcomer. Terse communication styles can also be perceived as rude
+in some cultures.
+
+If you tend to use a terse commenting style and you do not know whether the
+author is OK with it, it is often a good idea to compensate for it in the code
+review opening (where you express appreciation) or when there is a need for
+verbose expression. However, when you know are working with a seasoned code
+author, it is also entirely acceptable to drop niceties such as expressing
+appreciation with the goal to save the author and reviewer time.
+
+It is also entirely fine to mention that you have a fairly terse communication
+style and ask whether the author is OK with it. In almost all cases, they will
+be: by asking you are showing empathy that helps counteract a negative
+impression.
+
+### Clarity over verbosity
+
+When reading this document, you may get the impression that following the
+guidance outlined here takes more effort and time for both code reviewers and
+code authors. This is not the intention: much of this document aims to create
+clearer communication, which ultimately saves time by reducing unnecessary
+iterations during communication. We value **clarity over verbosity**.
+
+Areas which often create unecessary back-and-forth between reviewers and
+authors are
+* Unstated assumptions and goals
+* Leave suggestions, examples, and resources (such as links to existing code)
+* There is nothing more helpful for the thought process than example. It
+  guarantees that you have a shared understanding and reduces the questions
+  asked on a comment.
+
+### Code Review Comments should be actionable
+
+Code review comments should be actionable: in other words, it needs to be clear
+what the author of the code needs to do to address the issue you identified.
+
+Statements such as
+> BAD: This is wrong
+> BAD: This does not work
+> BETTER, BUT NOT GOOD: This does not work, because of XXX
+
+do not normally provide the author of a patch with enough information to send
+out a new patch version. By doing this, you essentially force the patch author
+to **find** and **implement** an alternative, which then may also not be
+acceptable to you as the **reviewer** of the patch.
+
+A better way to approach this is to say
+
+> This does not work, because of XXX
+> You may want to investigate YYY and ZZZ as alternatives
+
+In some cases, it may not be clear whether YYY or ZZZ are the better solution.
+As a reviewer you should be as up-front and possible in such a case and say
+something like
+
+> I am not sure whether YYY and ZZZ are better, so you may want to outline your
+> thoughts about both solutions by e-mail first, such that we can decide what
+> works best
+
+### Identify the severity and optionality of review comments
+
+By default, every comment which is made **ought to be addressed** by the
+author. However, sometimes reviewers note issues, which would be nice if they
+were addressed, but are not mandatory to fix.
+
+Typically, reviewers use terminology such as
+> This would be a nice-to-have
+> This is not a blocker
+
+Some maintainers use
+> NIT: XXX
+
+however, it is sometimes also used to indicate a minor issue that **must** be
+fixed. Also terminology such as **this is not a blocker** could be
+misinterpreted. It is important that **reviewers** use language that make
+clear whether a comment is an optional suggestion. Examples may be
+> NIT (optional): XXX
+> I think it would be good if X also did Y, not a requirement but nice-to-have
+
+### Identify the severity of a disagreement
+
+During a code review, it can happen that reviewer and author disagree on how
+to move forward. The default position when it comes to disagreements is that
+**both parties want to argue their case**. However, frequently one or both
+parties do not feel that strongly about a specific issue.
+
+Within the Xen Project, we have [a way][3] to highlight one's position on
+proposals, formal or informal votes using the following notation:
+> +2 : I am happy with this proposal, and I will argue for it
+> +1 : I am happy with this proposal, but will not argue for it
+> 0 : I have no opinion
+> -1 : I am not happy with this proposal, but will not argue against it
+> -2 : I am not happy with this proposal, and I will argue against it
+
+You can use a phrase such as
+> I am not happy with this suggestion, but will not argue against it
+
+to make clear where you stand, while recording your position. Conversely, a
+reviewer may do something similar
+> I am not happy with XYZ, but will not argue against it [anymore]
+> What we have now is good enough, but could be better
+
+### Authors: responding to review comments
+
+Typically patch authors are expected to **address all** review comments in the
+next version of a patch or patch series. In a smooth-running code review where
+you do not have further questions it is not at all necessary to acknowledge
+the changes you are going to make:
+* Simply send the next version with the changes addressed and record it in the
+  change-log
+
+When there is discussion, the normal practice is to remove the portion of the
+e-mail thread where there is agreement. Otherwise, the thread can become
+exceptionally long.
+
+In cases where there was discussion and maybe disagreement, it does however
+make sense to close the discussion by saying something like
+
+> ACK
+> Seems we are agreed, I am going to do this
+
+Other situations when you may want to do this are cases where the reviewer made
+optional suggestions, to make clear whether the suggestion will be followed or
+not.
+
+### Avoid uncommon words: not everyone is a native English speaker
+
+Avoid uncommon words both when reviewing code or responding to a review. Not
+everyone is a native English speaker. The use of such words can come across
+badly and can lead to misunderstandings.
+
+### Prioritize significant flaws
+
+If a patch or patch series has significant flaws, such as
+* It is built on wrong assumptions
+* There are issues with the architecture or the design
+
+it does not make sense to do a detailed code review. In such cases, it is best
+to focus on the major issues first and deal with style and minor issues in a
+subsequent review. Not all series have significant flaws, but most series have
+different classes of changes that are required for acceptance: covering a
+range of major code modifications to minor code style fixes. To avoid
+misunderstandings between reviewers and contributors, it is important to
+establish and agree whether a series or part of a series has a significant
+flaw and agree a course of action.
+
+A pragmatic approach would be to
+* Highlight problematic portions of a series in the cover letter
+* For the patch author and reviewer(s) to agree that for problematic to omit
+  style and minor issues in the review, until the significant flaw is addressed
+
+This saves both the patch author and reviewer(s) time. Note that some
+background is covered in detail in [Problematic Patch Reviews][4].
+
+
+### Reviewers: Welcome newcomers
+
+When reviewing the first few patches of a newcomer to the project, you may want
+spend additional time and effort in your code review. This contributes to a
+more **positive experience**, which ultimately helps create a positive working
+relationship in the long term.
+
+When someone does their first code submission, they will not be familiar with
+**all** conventions in the project. A good approach is to
+* Welcome the newcomer
+* Offer to help with specific questions, for example on IRC
+* Point to existing documentation: in particular if mistakes with the
+  submission itself were made. In most situations, following the submission
+  process makes the process more seamless for the contributor. So, you could
+  say something like
+
+> Hi XXX. Welcome to the community and thank you for the patch
+>
+> I noticed that the submission you made seems to not follow our process.
+> Are you aware of this document at YYY? If you follow the instructions the
+> entire code submission process and dealing with review comments becomes
+> much easier. Feel free to find me on IRC if you need specific help. My IRC
+> handle is ZZZ
+
+### Reviewers: Take account of previous reviewer(s) comments
+
+Sometimes multiple reviewers share reviewing a series. For example,
+reviewer John has reviewed the first 5 iterations of the series. The patch
+author has addressed all of John's comments and Susan comes in and picks up
+the series after iteration 5. In such cases it is possible that John and Susan
+have different styles, such as
+* different preferences on the code layout
+* different preferences on code style
+
+If Susan were to be strict on her own style and highlight her style
+preferences in subsequent reviews, this would cause additional re-work for the
+code author. In addition, it also causes extra work for Susan. The easiest way
+to avoid such situations, would be for Susan to focus on faulty code only and
+to disregard personal preferences when taking over the review of a series.
+
+### Reviewers: Review the code, then review the review
+
+As stated earlier it is often difficult to mentally separate finding issues
+from articulating code review comments in a constructive and positive manner.
+Even as an experienced code reviewer you can be in a bad mood, which can
+ impact your communication style.
+
+A good trick to avoid this, is to start and complete the code review and then
+**not send it immediately**. You can then have a final go over the code review
+at some later point in time and review your comments from the other author's
+point of view. This minimizes the risk of being misunderstood. The same
+applies when replying to a code review: draft your reply and give it a final
+scan before pressing the send button.
+
+Generally, it is a good idea for code reviewers to do this regularly, purely
+from the viewpoint of self-improvement and self-awareness.
+
+## Common Communication Pitfalls
+
+This section contains common communication issues and provides suggestions on
+how to avoid them and resolve them. These are **general** issues which affect
+**all** online communication. As such, we can only try and do our best.
+
+### Misunderstandings
+
+When you meet face to face, you can read a person’s emotions. Even with a
+phone call, someone’s tone of voice can convey a lot of information. Using
+on-line communication channels you are flying blind, which often leads to
+misunderstandings. [Research][5] shows that in up to 50% of email
+conversations, the tone of voice is misinterpreted.
+
+In code reviews and technical discussions in general we tend to see two things
+* The reviewer or author interprets an exchange as too critical, passive
+  aggressive, or other: this usually comes down to different cultures and
+  communication styles, which are covered in the next section
+* There is an actual misunderstanding of a subject under discussion
+
+In the latter case, the key to resolution is to **identify the
+misunderstanding** as quickly as possible and call it out and de-escalate
+rather than let the misunderstanding linger. This is inherently difficult and
+requires more care than normal communication. Typically you would start with
+* Showing appreciation
+* Highlighting the potential misunderstanding and verifying whether the other
+  person also feels that maybe there was a misunderstanding
+* Proposing a way forward: for example, it may make sense to move the
+  conversation from the mailing list to [IRC][6] either in private or public,
+  a community call or a private phone/video call.
+
+It is entirely acceptable to do this in a direct reply to your communication
+partner, rather than on a public e-mail list on or an otherwise public forum.
+
+A good approach is to use something like the following:
+> Hi XXX! Thank you for the insights you have given me in this code review
+> I feel that we are misunderstanding each other on the topic of YYY
+> Would you mind trying to resolve this on IRC. I am available at ZZZ
+
+Usually, technical misunderstandings come down two either
+1. Misinterpreting what the other person meant
+2. Different - usually unstated - assumptions on how something works or what
+   is to be achieved
+3. Different - usually unstated - objectives and goals, which may be
+   conflicting
+4. Real differences in opinion
+
+The goal of calling out a possible misunderstanding is to establish what
+caused the misunderstanding, such that all parties can move forward.
+Typically, 1 and 2 are easily resolved and will lead back to a constructive
+discussion. Whereas 3 and 4 may highlight an inherent disagreement, which may
+need to be resolved through techniques as
+outlined in [Resolving Disagreement][7].
+
+### Cultural differences and different communication styles
+
+The Xen Project is a global community with contributors from many different
+backgrounds. Typically, when we communicate with a person we know, we factor
+in past interactions. The less we know a person, the more we rely on cultural
+norms.
+
+However, different norms and value systems come into play when people from
+diverse cultural backgrounds interact. That can lead to misunderstandings,
+especially in sensitive situations such as conflict resolution, giving and
+receiving feedback, and consensus building.
+
+For example, giving direct feedback such as
+> [Please] replace XXX with YYY, as XXX does not do ZZZ
+
+is acceptable and normal in some cultures, whereas in cultures which value
+indirect feedback it would be considered rude. In the latter case, something
+like the following would be used
+> This looks very good to me, but I believe you should use YYY here,
+> because XXX would....
+
+The key to working and communicating well with people from different cultural
+backgrounds is **self-awareness**, which can then be used to either
+* Adapt your own communication style depending on who you talk to
+* Or to find a middle-ground that covers most bases
+
+A number of different theories in the field of working effectively are
+currently popular, with the most well-known one being
+[Erin Meyer's Culture Map][8]. A short overview can be found [here][9]
+(33 slides).
+
+### Code reviews and discussions are not competitions
+
+Code reviews on our mailing lists are not competitions on who can come up with
+the smartest solution or who is the real coding genius.
+
+In a code review - as well as in general - we expect that all stake-holders
+* Gracefully accept constructive criticism
+* Focus on what is best for the community
+* Resolve differences in opinion effectively
+
+The next section provides pointers on how to do this effectively.
+
+### Resolving Disagreement Effectively
+
+Common scenarios are covered our guide on [Resolving Disagreement][7], which
+lays out situations that can lead to dead-lock and shows common patterns on
+how to avoid and resolve issues.
+
+[1]: https://youtu.be/ehZvBmrLRwg?t=834
+[2]: https://en.wikipedia.org/wiki/Foot_binding
+[3]: https://xenproject.org/developers/governance/#expressingopinion
+[4]: resolving-disagreement.md#problems
+[5]: https://www.wired.com/2006/02/the-secret-cause-of-flame-wars/
+[6]: https://xenproject.org/help/irc/
+[7]: resolving-disagreement.md
+[8]: https://en.wikipedia.org/wiki/Erin_Meyer
+[9]: https://www.nsf.gov/attachments/134059/public/15LFW_WorkingWithMulticulturalTeams_LarsonC.pdf
\ No newline at end of file
-- 
2.13.0



--===============1565265178346924394==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRl
dmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

--===============1565265178346924394==--

From minios-devel-bounces@lists.xenproject.org Mon Dec 16 08:29:28 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 16 Dec 2019 08:29:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1iglkr-0005zc-Dz; Mon, 16 Dec 2019 08:29:25 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=1b+M=2F=gmail.com=cason.j.schindler@srs-us1.protection.inumbo.net>)
 id 1igLew-0002ep-5g
 for minios-devel@lists.xen.org; Sun, 15 Dec 2019 04:37:34 +0000
X-Inumbo-ID: 9c39ee78-1ef4-11ea-88e7-bc764e2007e4
Received: from mail-ot1-x344.google.com (unknown [2607:f8b0:4864:20::344])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 9c39ee78-1ef4-11ea-88e7-bc764e2007e4;
 Sun, 15 Dec 2019 04:37:33 +0000 (UTC)
Received: by mail-ot1-x344.google.com with SMTP id 66so4425435otd.9
 for <minios-devel@lists.xen.org>; Sat, 14 Dec 2019 20:37:33 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:to:cc:subject:date:message-id:reply-to:mime-version
 :content-transfer-encoding;
 bh=wMPKGEIn+BlX3B7PQlbD5mPgum/dprRLRb9DdepaVSQ=;
 b=MGh1y2v3LfOKTsw1KCkgmOwWPc2HrC4ULAxqkGhoE0L3mWwWcrD47KAd4Q31qnGm1M
 xYlbscMgmkFgVsqfdFzbcW7hS4/vvlc1pvXxz+E2jJYqJG/XkFkYZBkxDOq1FjmtbhTz
 c2n0x7mg7JRb/KgWrovgmGGsaaMMw/6XkGjE1b88cvPeGxb3+/qVTLv4dWqo/KjIyYMo
 s8rf+jzdBL+0CK3R4BrgLr9aJJbmxmnw1cOyHwSTcH1U7wmPcj/hCVK3+W6WI7s4MrmS
 KfQrR4Obl+m2j79MtUV4qXG1p2pKKxkXB1uYZMwoVCRayAzLisrnux5NAfv2cUdebDT8
 Fujg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:to:cc:subject:date:message-id:reply-to
 :mime-version:content-transfer-encoding;
 bh=wMPKGEIn+BlX3B7PQlbD5mPgum/dprRLRb9DdepaVSQ=;
 b=LBd5WnrTWoTZiJ5Uv5PUNZPIxPe8foLK8SxVQDWuQ9B3FcEUYldXZjidxpJGJ8M5zx
 EIS8nPZhp8X4glN9fzSoRXde8H5KvNffZDxyM01eVtSK7+H9K+N3SIAqpqXZxMstSyai
 Jqr85N6KVRtR4FWgY490dTDIaQYhxk69c/GgpkeSz+kMWvNZ5L2BCuDBmn9o8KLcjzEm
 X4MqpiVJVSyEdRlvk/UE56tPh5cr9z7wBaO6496RXAnmLNLbCpSxOE3zynDo2ra3itDI
 kuk0y3csMwFAsUjNtVfo2Tilzj5Jq10klqmY0NwETPYB7nv+69cpmh3D7CgLsfUp9AwK
 RNZw==
X-Gm-Message-State: APjAAAU82VU0OdR/fBYWEWRxsWKaoyizy1AboBdER46YShAv2o/CjZ9+
 EbdUJkMaQJWcA9UWuuQtxsopLQvx
X-Google-Smtp-Source: APXvYqxCyYiCO43Tg6AoO9qKK6hDy6tpf3IqBRdWatzsY9w1RpM+HS79uENGo3aJ0n26MAdos7uNYg==
X-Received: by 2002:a05:6830:1744:: with SMTP id
 4mr16865819otz.71.1576384652458; 
 Sat, 14 Dec 2019 20:37:32 -0800 (PST)
Received: from rousseau.cs.utexas.edu (rousseau.cs.utexas.edu. [128.83.130.92])
 by smtp.gmail.com with ESMTPSA id q16sm5269473otl.74.2019.12.14.20.37.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 14 Dec 2019 20:37:31 -0800 (PST)
From: cason.j.schindler@gmail.com
To: minios-devel@lists.xen.org
Date: Sat, 14 Dec 2019 22:37:10 -0600
Message-Id: <20191215043715.28499-1-cason.j.schindler@gmail.com>
X-Mailer: git-send-email 2.24.0
MIME-Version: 1.0
X-Mailman-Approved-At: Mon, 16 Dec 2019 08:29:23 +0000
Subject: [Minios-devel] [UNIKRAFT PATCH 0/5] Memory Ballooning Cover Letter
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Reply-To: cason.j.schindler@gmail.com
Cc: felipe.huici@neclab.eu, simon.kuenzer@neclab.eu, raney.jack99@gmail.com,
 Cason Schindler <cason.j.schindler@gmail.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogQ2Fzb24gU2NoaW5kbGVyIDxjYXNvbi5qLnNjaGluZGxlckBnbWFpbC5jb20+CgpIZWxs
byBVbmlrcmFmdCBkZXZlbG9wZXJzISBUaGlzIGlzIG91ciB3b3JrIHRvd2FyZHMKSXNzdWUgIzEy
LCBNZW1vcnkgQmFsbG9vbmluZyBpbiBVbmlrcmFmdCwgd2hpY2ggd2FzCmRvbmUgYXMgYSBwcm9q
ZWN0IGZvciBvdXIgVmlydHVhbGl6YXRpb24gY2xhc3MgYXQgVVQKQXVzdGluLiBUaGlzIHBhdGNo
IGNvbnRhaW5zIHRoZSB3b3JrIHdlIHdlcmUgYWJsZSB0bwpjb21wbGV0ZSBieSB0aGUgZW5kIG9m
IHRoZSBzZW1lc3Rlci4gV2UgY3JlYXRlZCBhCm1lbW9yeSBiYWxsb29uaW5nIEFQSSBpbiBwbGF0
L21lbW9yeS5oLCB3aGljaCBoYXMKaW5mbGF0ZSBhbmQgZGVmbGF0ZSBjYWxscy4gRm9yIFhlbiBh
bmQgS1ZNLCB3ZSBjcmVhdGVkCmJhbGxvb24gZHJpdmVycyB0byBpbnRlcmZhY2Ugd2l0aCB0aGUg
bWVtb3J5IGJhbGxvb25pbmcKZnVuY3Rpb25hbGl0eSBvZiB0aG9zZSBoeXBlcnZpc29ycy4gV2Ug
ZGlkIG5vdCBpbXBsZW1lbnQKYSBkcml2ZXIgZm9yIGxpbnV4dSwgYnV0IGV4cGVjdCBpdCBjb3Vs
ZCBiZSBkb25lIHdpdGgKbW1hcC9tdW5tYXAuIEZvciB0aGUgWGVuIGFuZCBLVk0gZHJpdmVycywg
d2UgcHV0IHRoZQpjb2RlIGluIHRoZWlyIGNvcnJlc3BvbmRpbmcgbWVtb3J5LmMgZmlsZXMsIGFs
b25nIHdpdGgKdGhlIGluZmxhdGUgYW5kIGRlZmxhdGUgY2FsbHMuIFRoZSBtYWluIHJlYXNvbiBm
b3IgdGhpcwp3YXMgZHVlIHRvIHRyb3VibGUgd2l0aCBpbmNsdWRlcyBhbmQgbWFrZWZpbGVzICB3
aGVuIApwdXR0aW5nIG91ciBjb2RlIGluIG5ldyBmaWxlcy4gV2UgbW9kaWZpZWQgdGhlIGJ1ZGR5
CmFsbG9jYXRvciB0byBjYWxsIHRoZSBiYWxsb29uaW5nIEFQSS4gV2UgYWxzbyBkZWNpZGVkCnRv
IHVzZSB0aGUgYWxsb2NhdG9yJ3MgZXhpc3RpbmcgbWVhbnMgb2Yga2VlcGluZyB0cmFjawpvZiBt
ZW1vcnkgYW5kIGludGVycHJldGVkIGl0IGFzIG91ciBiYWxsb29uIHN0cnVjdHVyZSAtLQpzbyB3
aGVuIHRoZSBhbGxvY2F0b3IgYWxsb2NzLCBpdCBjYWxscyBvdXIgZGVmbGF0ZQpmdW5jdGlvbiB3
aXRoIHRoZSBwYWdlOyB3aGVuIGl0IGZyZWVzIGl0IGNhbGxzIG91ciBpbmZsYXRlCmZ1bmN0aW9u
IHdpdGggdGhlIHBhZ2UuIE91ciByZWFzb24gZm9yIHVzaW5nIHRoZSBhbGxvY2F0b3IKdG8gcHJv
dmlkZSB0aGUgcGFnZXMsIHJhdGhlciB0aGFuIGtlZXBpbmcgYSBzZXBhcmF0ZQpzdHJ1Y3R1cmUg
aW4gdGhlIGRyaXZlciwgd2FzIGluIG9yZGVyIHRvIGZvY3VzIG9uIHRoZQpjb21tdW5pY2F0aW9u
IHdpdGggdGhlIGh5cGVydmlzb3JzIGluIHRoZSBhbGxvdHRlZCB0aW1lLgoKV2Ugd2VyZSBub3Qg
YWJsZSB0byB0ZXN0IHRoZSBmdW5jdGlvbmFsaXR5IHRob3JvdWdobHkgZHVlCnRvIHRoZSBpbmFi
aWxpdHkgdG8gY29uZmlndXJlIGEgcHJvcGVyIGVudmlyb25tZW50IC0tIHdlCmRpZCBub3QgaGF2
ZSBhIHdheSB0byBydW4gWGVuLCBidXQgd2UgZGlkIGhhdmUgYSB3YXkgdG8KcnVuIEtWTS4gV2Ug
a25vdyB0aGF0IGZvciBLVk0sIHRoZSBkcml2ZXIgaXMgcmVnaXN0ZXJlZCwKdGhlIGRldmljZSBn
ZXRzIGNyZWF0ZWQgYW5kIGhhbmRlZCB0byB0aGUgcmVnaXN0ZXIsIGFuZAp0aGF0IHRoZSBkcml2
ZXIgZmlsbHMgdGhlIHZpcnRxdWV1ZXMgYW5kIG5vdGlmaWVzIEtWTS4KSG93ZXZlciwgd2Ugd2Vy
ZSB1bmFibGUgdG8gdmVyaWZ5IHRoYXQgdGhlIHBhZ2VzIHRyYW5zZmVycmVkCndlcmUgYWN0dWFs
bHkgcmVjZWl2ZWQgYnkgS1ZNIGFuZCB0aGUgVk0ncyBtZW1vcnkgcmVzZXJ2YXRpb24KY2hhbmdl
ZCBhcyBpdCBzaG91bGQgaGF2ZSBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIGluZmxhdGUKYW5kIGRl
ZmxhdGUgY2FsbHMuIFdlIGRvIGtub3cgdGhhdCB0aGUgYWxsb2NhdG9yIHN1Y2Nlc3NmdWxseQpt
YWtlcyBjYWxscyB0byB0cmFuc2ZlciBhbGwgb2YgdGhlIGZyZWUgbWVtb3J5IHRvIEtWTSBvbmNl
CnRoZSBkZXZpY2UgaGFzIGJlZW4gbGF0Y2hlZCB0byB0aGUgZHJpdmVyLiBXZSBmb2xsb3dlZAp0
aGUgdXNlcnMtZ2V0dGluZ3N0YXJ0ZWQgZmlsZSBmb3IgcnVubmluZyBVbmlrcmFmdCB3aXRoIG91
cgpjaGFuZ2VzLiBLVk0gcnVucyB0aHJvdWdoIGhlbGxvIHdvcmxkIHN1Y2Nlc3NmdWxseS4gV2UK
Y291bGQgbm90IHJ1biB3aXRoIFhlbiwgYW5kIGxpbnV4dSB3YXMgbm90IGdpdmVuIG1lbW9yeQpi
YWxsb29uaW5nIHN1cHBvcnQuCgpJbiBsaWdodCBvZiB0aGlzLCBoZXJlIGlzIG91ciB3b3JrLiBX
ZSBob3BlIHRoYXQgaXQgY2FuCmJlIG9mIHNvbWUgdXNlIHRvIGF0IGxlYXN0IHByb3ZpZGUgYSBz
dGFydGluZyBwb2ludCBmb3IKdGhlIGltcGxlbWVudGF0aW9uIG9mIG1lbW9yeSBiYWxsb29uaW5n
IGluIFVuaWtyYWZ0LiBPdXIKbWFpbiBnb2FsIGZvciB0aGlzIHBhdGNoIGlzIGp1c3QgdG8gcHJv
dmlkZSB5b3Ugd2l0aCB0aGUKY29kZSB3ZSB3cm90ZSBzbyB0aGF0IHlvdSBoYXZlIGl0IGFuZCBj
YW4gZG8gd2l0aCBpdCB3aGF0CnlvdSBwbGVhc2UuCgpUaGFuayB5b3UgdmVyeSBtdWNoLiBXZSBy
ZWFsbHkgZW5qb3llZCB3b3JraW5nIG9uIHRoZQpVbmlrcmFmdCBwcm9qZWN0IGFuZCB3b3JraW5n
IHdpdGggdGhlIGRldmVsb3BlcnMuIFdlIHNlZQphIGJyaWdodCBmdXR1cmUgZm9yIFVuaWtyYWZ0
IQoKU2luY2VyZWx5LAoKQ2Fzb24gU2NoaW5kbGVyIGFuZCBKYWNrIFJhbmV5ClRoZSBVbml2ZXJz
aXR5IG9mIFRleGFzIGF0IEF1c3RpbgoKQ2Fzb24gU2NoaW5kbGVyICg1KToKICBpbmNsdWRlL3Vr
L3BsYXQ6IE1lbW9yeSBCYWxsb29uaW5nIEFQSQogIHBsYXQveGVuOiBYZW4gQmFsbG9vbiBEcml2
ZXIKICBwbGF0L2t2bTogS1ZNIEJhbGxvb24gRHJpdmVyCiAgcGxhdC9saW51eHU6IExpbnV4dSBC
YWxsb29uaW5nIEFQSSBVbmltcGxlbWVudGVkCiAgbGliL3VrYWxsb2NiYnVkZHk6IEFsbG9jYXRv
ciBCYWxsb29uaW5nIFVzZQoKIGluY2x1ZGUvdWsvcGxhdC9tZW1vcnkuaCAgICAgICAgICAgICAg
ICAgICB8ICAxOSArCiBsaWIvdWthbGxvY2JidWRkeS9iYnVkZHkuYyAgICAgICAgICAgICAgICAg
fCAxMDQgKysrKystCiBsaWIvdWthbGxvY2JidWRkeS9pbmNsdWRlL3VrL2FsbG9jYmJ1ZGR5Lmgg
fCAgIDIgKwogcGxhdC9rdm0vbWVtb3J5LmMgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMzkw
ICsrKysrKysrKysrKysrKysrKysrKwogcGxhdC9saW51eHUvbWVtb3J5LmMgICAgICAgICAgICAg
ICAgICAgICAgIHwgIDEzICsKIHBsYXQveGVuL21lbW9yeS5jICAgICAgICAgICAgICAgICAgICAg
ICAgICB8ICA3OCArKysrKwogNiBmaWxlcyBjaGFuZ2VkLCA2MDQgaW5zZXJ0aW9ucygrKSwgMiBk
ZWxldGlvbnMoLSkKCi0tIAoyLjI0LjAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBs
aXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4v
bGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Mon Dec 16 08:29:28 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 16 Dec 2019 08:29:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1iglkq-0005z3-Vf; Mon, 16 Dec 2019 08:29:24 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=6iYZ=2C=xenproject.org=lars.kurth@srs-us1.protection.inumbo.net>)
 id 1ifVoK-0006OM-9r
 for minios-devel@lists.xenproject.org; Thu, 12 Dec 2019 21:15:48 +0000
X-Inumbo-ID: 73593ba2-1d24-11ea-b6f1-bc764e2007e4
Received: from mail.xenproject.org (unknown [104.130.215.37])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 73593ba2-1d24-11ea-b6f1-bc764e2007e4;
 Thu, 12 Dec 2019 21:14:58 +0000 (UTC)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1ifVnS-00015L-LK; Thu, 12 Dec 2019 21:14:54 +0000
Received: from localhost ([127.0.0.1] helo=localhost.localdomain)
 by xenbits.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1ifVnS-0000Bm-Dt; Thu, 12 Dec 2019 21:14:54 +0000
From: Lars Kurth <lars.kurth@xenproject.org>
To: xen-devel@lists.xenproject.org
Date: Thu, 12 Dec 2019 21:14:29 +0000
Message-Id: <469326764ec7da37796adf429d61173207798816.1576184325.git.lars.kurth@citrix.com>
X-Mailer: git-send-email 2.13.0
In-Reply-To: <cover.1576184325.git.lars.kurth@citrix.com>
References: <cover.1576184325.git.lars.kurth@citrix.com>
In-Reply-To: <cover.1576184325.git.lars.kurth@citrix.com>
References: <cover.1576184325.git.lars.kurth@citrix.com>
X-Mailman-Approved-At: Mon, 16 Dec 2019 08:29:23 +0000
Subject: [Minios-devel] [PATCH v3 2/7] Xen Project Code of Conduct
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Lars Kurth <lars.kurth@citrix.com>, xen-api@lists.xenproject.org,
 minios-devel@lists.xenproject.org, committers@xenproject.org,
 mirageos-devel@lists.xenproject.org, win-pv-devel@lists.xenproject.org
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogTGFycyBLdXJ0aCA8bGFycy5rdXJ0aEBjaXRyaXguY29tPgoKU3BlY2lmaWMgY2hhbmdl
cyB0byB0aGUgYmFzZWxpbmU6CiogUmVwbGFjZSBsaXN0IG9mIHBvc2l0aXZlIGJlaGF2aW9ycyB3
aXRoIGxpbmsgdG8gc2VwYXJhdGUgcHJvY2VzcwoqIFJlcGxhY2UgbWFpbnRhaW5lcnMgd2l0aCBw
cm9qZWN0IGxlYWRlcnNoaXAKICAoZXhjZXB0IGluIG91ciBwbGVkZ2Ugd2hlcmUgbWFpbnRhaW5l
cnMgaXMgbW9yZSBhcHByb3ByaWF0ZSkKKiBBZGQgJ29mIGFsbCBzdWItcHJvamVjdHMnIHRvIGNs
YXJpZnkgc2NvcGUgb2YgQ29DCiogUmVuYW1lIEVuZm9yY2VtZW50CiogUmVwbGFjZSAicHJvamVj
dCB0ZWFtIiB3aXRoICJDb25kdWN0IFRlYW0gbWVtYmVycyIKKiBBZGQgZS1tYWlsIGFsaWFzCiog
QWRkIHNlY3Rpb24gb24gY29udGFjdGluZyBpbmRpdmlkdWFsIENvbmR1Y3QgVGVhbSBtZW1iZXJz
CiogQWRkIHNlY3Rpb24gb24gQ29uZHVjdCBUZWFtIG1lbWJlcnMKClNpZ25lZC1vZmYtYnk6IExh
cnMgS3VydGggPGxhcnMua3VydGhAY2l0cml4LmNvbT4KLS0tCkNoYWdnZXMgc2luY2UgdjE6Ciog
QWRkcmVzc2VkIG5ld2xpbmUgY2hhbmdlcwoKQ2M6IG1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9q
ZWN0Lm9yZwpDYzogeGVuLWFwaUBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpDYzogd2luLXB2LWRldmVs
QGxpc3RzLnhlbnByb2plY3Qub3JnCkNjOiBtaXJhZ2Vvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0
Lm9yZwpDYzogY29tbWl0dGVyc0B4ZW5wcm9qZWN0Lm9yZwotLS0KIGNvZGUtb2YtY29uZHVjdC5t
ZCB8IDQ1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLQogMSBm
aWxlIGNoYW5nZWQsIDI4IGluc2VydGlvbnMoKyksIDE3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp
dCBhL2NvZGUtb2YtY29uZHVjdC5tZCBiL2NvZGUtb2YtY29uZHVjdC5tZAppbmRleCA4MWIyMTdj
Li41ZDZkMWQ1IDEwMDY0NAotLS0gYS9jb2RlLW9mLWNvbmR1Y3QubWQKKysrIGIvY29kZS1vZi1j
b25kdWN0Lm1kCkBAIC0xLDQgKzEsNCBAQAotIyBDb250cmlidXRvciBDb3ZlbmFudCBDb2RlIG9m
IENvbmR1Y3QKKyMgWGVuIFByb2plY3QgQ29kZSBvZiBDb25kdWN0CiAKICMjIE91ciBQbGVkZ2UK
IApAQCAtMTEsMTQgKzExLDEwIEBAIGFwcGVhcmFuY2UsIHJhY2UsIHJlbGlnaW9uLCBvciBzZXh1
YWwgaWRlbnRpdHkgYW5kIG9yaWVudGF0aW9uLgogCiAjIyBPdXIgU3RhbmRhcmRzCiAKLUV4YW1w
bGVzIG9mIGJlaGF2aW9yIHRoYXQgY29udHJpYnV0ZXMgdG8gY3JlYXRpbmcgYSBwb3NpdGl2ZSBl
bnZpcm9ubWVudAotaW5jbHVkZToKLQotKiBVc2luZyB3ZWxjb21pbmcgYW5kIGluY2x1c2l2ZSBs
YW5ndWFnZQotKiBCZWluZyByZXNwZWN0ZnVsIG9mIGRpZmZlcmluZyB2aWV3cG9pbnRzIGFuZCBl
eHBlcmllbmNlcwotKiBHcmFjZWZ1bGx5IGFjY2VwdGluZyBjb25zdHJ1Y3RpdmUgY3JpdGljaXNt
Ci0qIEZvY3VzaW5nIG9uIHdoYXQgaXMgYmVzdCBmb3IgdGhlIGNvbW11bml0eQotKiBTaG93aW5n
IGVtcGF0aHkgdG93YXJkcyBvdGhlciBjb21tdW5pdHkgbWVtYmVycworV2UgYmVsaWV2ZSB0aGF0
IGEgQ29kZSBvZiBDb25kdWN0IGNhbiBoZWxwIGNyZWF0ZSBhIGhhcmFzc21lbnQtZnJlZSBlbnZp
cm9ubWVudCwKK2J1dCBpcyBub3Qgc3VmZmljaWVudCB0byBjcmVhdGUgYSB3ZWxjb21pbmcgZW52
aXJvbm1lbnQgb24gaXRzIG93bjogZ3VpZGFuY2Ugb24KK2NyZWF0aW5nIGEgd2VsY29taW5nIGVu
dmlyb25tZW50LCBob3cgdG8gY29tbXVuaWNhdGUgaW4gYW4gZWZmZWN0aXZlIGFuZCBmcmllbmRs
eQord2F5LCBldGMuIGNhbiBiZSBmb3VuZCBbaGVyZV0oY29tbXVuaWNhdGlvbi1ndWlkZS5tZCku
CiAKIEV4YW1wbGVzIG9mIHVuYWNjZXB0YWJsZSBiZWhhdmlvciBieSBwYXJ0aWNpcGFudHMgaW5j
bHVkZToKIApAQCAtMzMsMTEgKzI5LDExIEBAIEV4YW1wbGVzIG9mIHVuYWNjZXB0YWJsZSBiZWhh
dmlvciBieSBwYXJ0aWNpcGFudHMgaW5jbHVkZToKIAogIyMgT3VyIFJlc3BvbnNpYmlsaXRpZXMK
IAotUHJvamVjdCBtYWludGFpbmVycyBhcmUgcmVzcG9uc2libGUgZm9yIGNsYXJpZnlpbmcgdGhl
IHN0YW5kYXJkcyBvZiBhY2NlcHRhYmxlCitQcm9qZWN0IGxlYWRlcnNoaXAgdGVhbSBtZW1iZXJz
IGFyZSByZXNwb25zaWJsZSBmb3IgY2xhcmlmeWluZyB0aGUgc3RhbmRhcmRzIG9mIGFjY2VwdGFi
bGUKIGJlaGF2aW9yIGFuZCBhcmUgZXhwZWN0ZWQgdG8gdGFrZSBhcHByb3ByaWF0ZSBhbmQgZmFp
ciBjb3JyZWN0aXZlIGFjdGlvbiBpbgogcmVzcG9uc2UgdG8gYW55IGluc3RhbmNlcyBvZiB1bmFj
Y2VwdGFibGUgYmVoYXZpb3IuCiAKLVByb2plY3QgbWFpbnRhaW5lcnMgaGF2ZSB0aGUgcmlnaHQg
YW5kIHJlc3BvbnNpYmlsaXR5IHRvIHJlbW92ZSwgZWRpdCwgb3IKK1Byb2plY3QgbGVhZGVyc2hp
cCB0ZWFtIG1lbWJlcnMgaGF2ZSB0aGUgcmlnaHQgYW5kIHJlc3BvbnNpYmlsaXR5IHRvIHJlbW92
ZSwgZWRpdCwgb3IKIHJlamVjdCBjb21tZW50cywgY29tbWl0cywgY29kZSwgd2lraSBlZGl0cywg
aXNzdWVzLCBhbmQgb3RoZXIgY29udHJpYnV0aW9ucwogdGhhdCBhcmUgbm90IGFsaWduZWQgdG8g
dGhpcyBDb2RlIG9mIENvbmR1Y3QsIG9yIHRvIGJhbiB0ZW1wb3JhcmlseSBvcgogcGVybWFuZW50
bHkgYW55IGNvbnRyaWJ1dG9yIGZvciBvdGhlciBiZWhhdmlvcnMgdGhhdCB0aGV5IGRlZW0gaW5h
cHByb3ByaWF0ZSwKQEAgLTQ1LDI2ICs0MSw0MSBAQCB0aHJlYXRlbmluZywgb2ZmZW5zaXZlLCBv
ciBoYXJtZnVsLgogCiAjIyBTY29wZQogCi1UaGlzIENvZGUgb2YgQ29uZHVjdCBhcHBsaWVzIHdp
dGhpbiBhbGwgcHJvamVjdCBzcGFjZXMsIGFuZCBpdCBhbHNvIGFwcGxpZXMgd2hlbgorVGhpcyBD
b2RlIG9mIENvbmR1Y3QgYXBwbGllcyB3aXRoaW4gYWxsIHByb2plY3Qgc3BhY2VzIG9mIGFsbCBz
dWItcHJvamVjdHMsIGFuZCBpdCBhbHNvIGFwcGxpZXMgd2hlbgogYW4gaW5kaXZpZHVhbCBpcyBy
ZXByZXNlbnRpbmcgdGhlIHByb2plY3Qgb3IgaXRzIGNvbW11bml0eSBpbiBwdWJsaWMgc3BhY2Vz
LgogRXhhbXBsZXMgb2YgcmVwcmVzZW50aW5nIGEgcHJvamVjdCBvciBjb21tdW5pdHkgaW5jbHVk
ZSB1c2luZyBhbiBvZmZpY2lhbAogcHJvamVjdCBlLW1haWwgYWRkcmVzcywgcG9zdGluZyB2aWEg
YW4gb2ZmaWNpYWwgc29jaWFsIG1lZGlhIGFjY291bnQsIG9yIGFjdGluZwogYXMgYW4gYXBwb2lu
dGVkIHJlcHJlc2VudGF0aXZlIGF0IGFuIG9ubGluZSBvciBvZmZsaW5lIGV2ZW50LiBSZXByZXNl
bnRhdGlvbiBvZgotYSBwcm9qZWN0IG1heSBiZSBmdXJ0aGVyIGRlZmluZWQgYW5kIGNsYXJpZmll
ZCBieSBwcm9qZWN0IG1haW50YWluZXJzLgorYSBwcm9qZWN0IG1heSBiZSBmdXJ0aGVyIGRlZmlu
ZWQgYW5kIGNsYXJpZmllZCBieSB0aGUgcHJvamVjdCBsZWFkZXJzaGlwLgogCi0jIyBFbmZvcmNl
bWVudAorIyMgV2hhdCB0byBkbyBpZiB5b3Ugd2l0bmVzcyBvciBhcmUgc3ViamVjdCB0byB1bmFj
Y2VwdGFibGUgYmVoYXZpb3IKIAogSW5zdGFuY2VzIG9mIGFidXNpdmUsIGhhcmFzc2luZywgb3Ig
b3RoZXJ3aXNlIHVuYWNjZXB0YWJsZSBiZWhhdmlvciBtYXkgYmUKLXJlcG9ydGVkIGJ5IGNvbnRh
Y3RpbmcgdGhlIHByb2plY3QgdGVhbSBhdCBbSU5TRVJUIEVNQUlMIEFERFJFU1NdLiBBbGwKK3Jl
cG9ydGVkIGJ5IGNvbnRhY3RpbmcgQ29uZHVjdCBUZWFtIG1lbWJlcnMgYXQgY29uZHVjdEB4ZW5w
cm9qZWN0Lm9yZy4gQWxsCiBjb21wbGFpbnRzIHdpbGwgYmUgcmV2aWV3ZWQgYW5kIGludmVzdGln
YXRlZCBhbmQgd2lsbCByZXN1bHQgaW4gYSByZXNwb25zZSB0aGF0Ci1pcyBkZWVtZWQgbmVjZXNz
YXJ5IGFuZCBhcHByb3ByaWF0ZSB0byB0aGUgY2lyY3Vtc3RhbmNlcy4gVGhlIHByb2plY3QgdGVh
bSBpcworaXMgZGVlbWVkIG5lY2Vzc2FyeSBhbmQgYXBwcm9wcmlhdGUgdG8gdGhlIGNpcmN1bXN0
YW5jZXMuIENvbmR1Y3QgVGVhbSBtZW1iZXJzIGFyZQogb2JsaWdhdGVkIHRvIG1haW50YWluIGNv
bmZpZGVudGlhbGl0eSB3aXRoIHJlZ2FyZCB0byB0aGUgcmVwb3J0ZXIgb2YgYW4gaW5jaWRlbnQu
CiBGdXJ0aGVyIGRldGFpbHMgb2Ygc3BlY2lmaWMgZW5mb3JjZW1lbnQgcG9saWNpZXMgbWF5IGJl
IHBvc3RlZCBzZXBhcmF0ZWx5LgogCi1Qcm9qZWN0IG1haW50YWluZXJzIHdobyBkbyBub3QgZm9s
bG93IG9yIGVuZm9yY2UgdGhlIENvZGUgb2YgQ29uZHVjdCBpbiBnb29kCitJZiB5b3UgaGF2ZSBj
b25jZXJucyBhYm91dCBhbnkgb2YgdGhlIG1lbWJlcnMgb2YgdGhlIGNvbmR1Y3RAIGFsaWFzLAor
eW91IGFyZSB3ZWxjb21lIHRvIGNvbnRhY3QgcHJlY2lzZWx5IHRoZSBDb25kdWN0IFRlYW0gbWVt
YmVyKHMpIG9mCit5b3VyIGNob2ljZS4KKworUHJvamVjdCBsZWFkZXJzaGlwIHRlYW0gbWVtYmVy
cyB3aG8gZG8gbm90IGZvbGxvdyBvciBlbmZvcmNlIHRoZSBDb2RlIG9mIENvbmR1Y3QgaW4gZ29v
ZAogZmFpdGggbWF5IGZhY2UgdGVtcG9yYXJ5IG9yIHBlcm1hbmVudCByZXBlcmN1c3Npb25zIGFz
IGRldGVybWluZWQgYnkgb3RoZXIKIG1lbWJlcnMgb2YgdGhlIHByb2plY3QncyBsZWFkZXJzaGlw
LgogCisjIyBDb25kdWN0IFRlYW0gbWVtYmVycworQ29uZHVjdCBUZWFtIG1lbWJlcnMgYXJlIHBy
b2plY3QgbGVhZGVyc2hpcCB0ZWFtIG1lbWJlcnMgZnJvbSBhbnkKK3N1Yi1wcm9qZWN0LiBUaGUg
Y3VycmVudCBsaXN0IG9mIENvbmR1Y3QgVGVhbSBtZW1iZXJzIGlzOgorKiBMYXJzIEt1cnRoIDxs
YXJzIGRvdCBrdXJ0aCBhdCB4ZW5wcm9qZWN0IGRvdCBvcmc+CisqIEdlb3JnZSBEdW5sYXAgPGdl
b3JnZSBkb3QgZHVubGFwIGF0IGNpdHJpeCBkb3QgY29tPgorKiBJYW4gSmFja3NvbiA8aWFuIGRv
dCBqYWNrc29uIGF0IGNpdHJpeCBkb3QgY29tPgorCitDb25kdWN0IFRlYW0gbWVtYmVycyBhcmUg
Y2hhbmdlZCBieSBwcm9wb3NpbmcgYSBjaGFuZ2UgdG8gdGhpcyBkb2N1bWVudCwKK3Bvc3RlZCBv
biBhbGwgc3ViLXByb2plY3QgbGlzdHMsIGZvbGxvd2VkIGJ5IGEgZm9ybWFsIGdsb2JhbCB2b3Rl
IGFzIG91dGxpbmVkCitbaGVyZV06IGh0dHBzOi8veGVucHJvamVjdC5vcmcvZGV2ZWxvcGVycy9n
b3Zlcm5hbmNlLyNwcm9qZWN0LWRlY2lzaW9ucworCiAjIyBBdHRyaWJ1dGlvbgogCiBUaGlzIENv
ZGUgb2YgQ29uZHVjdCBpcyBhZGFwdGVkIGZyb20gdGhlIFtDb250cmlidXRvciBDb3ZlbmFudF1b
aG9tZXBhZ2VdLCB2ZXJzaW9uIDEuNCwKLS0gCjIuMTMuMAoKCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWlu
aW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5v
cmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Mon Dec 16 08:29:28 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 16 Dec 2019 08:29:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1iglkr-0005zD-2m; Mon, 16 Dec 2019 08:29:25 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=6iYZ=2C=xenproject.org=lars.kurth@srs-us1.protection.inumbo.net>)
 id 1ifVoe-0006Yl-BX
 for minios-devel@lists.xenproject.org; Thu, 12 Dec 2019 21:16:08 +0000
X-Inumbo-ID: 72b27ccc-1d24-11ea-88e7-bc764e2007e4
Received: from mail.xenproject.org (unknown [104.130.215.37])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 72b27ccc-1d24-11ea-88e7-bc764e2007e4;
 Thu, 12 Dec 2019 21:14:57 +0000 (UTC)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1ifVnR-00015D-Jx; Thu, 12 Dec 2019 21:14:53 +0000
Received: from localhost ([127.0.0.1] helo=localhost.localdomain)
 by xenbits.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1ifVnR-0000Bm-C1; Thu, 12 Dec 2019 21:14:53 +0000
From: Lars Kurth <lars.kurth@xenproject.org>
To: xen-devel@lists.xenproject.org
Date: Thu, 12 Dec 2019 21:14:28 +0000
Message-Id: <00c6c80b12b1d201d7140626c7efe9d75645dee9.1576184325.git.lars.kurth@citrix.com>
X-Mailer: git-send-email 2.13.0
In-Reply-To: <cover.1576184325.git.lars.kurth@citrix.com>
References: <cover.1576184325.git.lars.kurth@citrix.com>
In-Reply-To: <cover.1576184325.git.lars.kurth@citrix.com>
References: <cover.1576184325.git.lars.kurth@citrix.com>
X-Mailman-Approved-At: Mon, 16 Dec 2019 08:29:23 +0000
Subject: [Minios-devel] [PATCH v3 1/7] Import v1.4 of Contributor Covenant
 CoC
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Lars Kurth <lars.kurth@citrix.com>, xen-api@lists.xenproject.org,
 minios-devel@lists.xenproject.org, committers@xenproject.org,
 mirageos-devel@lists.xenproject.org, win-pv-devel@lists.xenproject.org
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogTGFycyBLdXJ0aCA8bGFycy5rdXJ0aEBjaXRyaXguY29tPgoKU2lnbmVkLW9mZi1ieTog
TGFycyBLdXJ0aCA8bGFycy5rdXJ0aEBjaXRyaXguY29tPgotLS0KQ2M6IG1pbmlvcy1kZXZlbEBs
aXN0cy54ZW5wcm9qZWN0Lm9yZwpDYzogeGVuLWFwaUBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpDYzog
d2luLXB2LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCkNjOiBtaXJhZ2Vvcy1kZXZlbEBsaXN0
cy54ZW5wcm9qZWN0Lm9yZwpDYzogY29tbWl0dGVyc0B4ZW5wcm9qZWN0Lm9yZwotLS0KIGNvZGUt
b2YtY29uZHVjdC5tZCB8IDc2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDc2IGluc2VydGlvbnMoKykKIGNyZWF0
ZSBtb2RlIDEwMDY0NCBjb2RlLW9mLWNvbmR1Y3QubWQKCmRpZmYgLS1naXQgYS9jb2RlLW9mLWNv
bmR1Y3QubWQgYi9jb2RlLW9mLWNvbmR1Y3QubWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uODFiMjE3YwotLS0gL2Rldi9udWxsCisrKyBiL2NvZGUtb2YtY29uZHVjdC5tZApA
QCAtMCwwICsxLDc2IEBACisjIENvbnRyaWJ1dG9yIENvdmVuYW50IENvZGUgb2YgQ29uZHVjdAor
CisjIyBPdXIgUGxlZGdlCisKK0luIHRoZSBpbnRlcmVzdCBvZiBmb3N0ZXJpbmcgYW4gb3BlbiBh
bmQgd2VsY29taW5nIGVudmlyb25tZW50LCB3ZSBhcworY29udHJpYnV0b3JzIGFuZCBtYWludGFp
bmVycyBwbGVkZ2UgdG8gbWFrZSBwYXJ0aWNpcGF0aW9uIGluIG91ciBwcm9qZWN0IGFuZAorb3Vy
IGNvbW11bml0eSBhIGhhcmFzc21lbnQtZnJlZSBleHBlcmllbmNlIGZvciBldmVyeW9uZSwgcmVn
YXJkbGVzcyBvZiBhZ2UsIGJvZHkKK3NpemUsIGRpc2FiaWxpdHksIGV0aG5pY2l0eSwgc2V4IGNo
YXJhY3RlcmlzdGljcywgZ2VuZGVyIGlkZW50aXR5IGFuZCBleHByZXNzaW9uLAorbGV2ZWwgb2Yg
ZXhwZXJpZW5jZSwgZWR1Y2F0aW9uLCBzb2Npby1lY29ub21pYyBzdGF0dXMsIG5hdGlvbmFsaXR5
LCBwZXJzb25hbAorYXBwZWFyYW5jZSwgcmFjZSwgcmVsaWdpb24sIG9yIHNleHVhbCBpZGVudGl0
eSBhbmQgb3JpZW50YXRpb24uCisKKyMjIE91ciBTdGFuZGFyZHMKKworRXhhbXBsZXMgb2YgYmVo
YXZpb3IgdGhhdCBjb250cmlidXRlcyB0byBjcmVhdGluZyBhIHBvc2l0aXZlIGVudmlyb25tZW50
CitpbmNsdWRlOgorCisqIFVzaW5nIHdlbGNvbWluZyBhbmQgaW5jbHVzaXZlIGxhbmd1YWdlCisq
IEJlaW5nIHJlc3BlY3RmdWwgb2YgZGlmZmVyaW5nIHZpZXdwb2ludHMgYW5kIGV4cGVyaWVuY2Vz
CisqIEdyYWNlZnVsbHkgYWNjZXB0aW5nIGNvbnN0cnVjdGl2ZSBjcml0aWNpc20KKyogRm9jdXNp
bmcgb24gd2hhdCBpcyBiZXN0IGZvciB0aGUgY29tbXVuaXR5CisqIFNob3dpbmcgZW1wYXRoeSB0
b3dhcmRzIG90aGVyIGNvbW11bml0eSBtZW1iZXJzCisKK0V4YW1wbGVzIG9mIHVuYWNjZXB0YWJs
ZSBiZWhhdmlvciBieSBwYXJ0aWNpcGFudHMgaW5jbHVkZToKKworKiBUaGUgdXNlIG9mIHNleHVh
bGl6ZWQgbGFuZ3VhZ2Ugb3IgaW1hZ2VyeSBhbmQgdW53ZWxjb21lIHNleHVhbCBhdHRlbnRpb24g
b3IKKyAgYWR2YW5jZXMKKyogVHJvbGxpbmcsIGluc3VsdGluZy9kZXJvZ2F0b3J5IGNvbW1lbnRz
LCBhbmQgcGVyc29uYWwgb3IgcG9saXRpY2FsIGF0dGFja3MKKyogUHVibGljIG9yIHByaXZhdGUg
aGFyYXNzbWVudAorKiBQdWJsaXNoaW5nIG90aGVycycgcHJpdmF0ZSBpbmZvcm1hdGlvbiwgc3Vj
aCBhcyBhIHBoeXNpY2FsIG9yIGVsZWN0cm9uaWMKKyAgYWRkcmVzcywgd2l0aG91dCBleHBsaWNp
dCBwZXJtaXNzaW9uCisqIE90aGVyIGNvbmR1Y3Qgd2hpY2ggY291bGQgcmVhc29uYWJseSBiZSBj
b25zaWRlcmVkIGluYXBwcm9wcmlhdGUgaW4gYQorICBwcm9mZXNzaW9uYWwgc2V0dGluZworCisj
IyBPdXIgUmVzcG9uc2liaWxpdGllcworCitQcm9qZWN0IG1haW50YWluZXJzIGFyZSByZXNwb25z
aWJsZSBmb3IgY2xhcmlmeWluZyB0aGUgc3RhbmRhcmRzIG9mIGFjY2VwdGFibGUKK2JlaGF2aW9y
IGFuZCBhcmUgZXhwZWN0ZWQgdG8gdGFrZSBhcHByb3ByaWF0ZSBhbmQgZmFpciBjb3JyZWN0aXZl
IGFjdGlvbiBpbgorcmVzcG9uc2UgdG8gYW55IGluc3RhbmNlcyBvZiB1bmFjY2VwdGFibGUgYmVo
YXZpb3IuCisKK1Byb2plY3QgbWFpbnRhaW5lcnMgaGF2ZSB0aGUgcmlnaHQgYW5kIHJlc3BvbnNp
YmlsaXR5IHRvIHJlbW92ZSwgZWRpdCwgb3IKK3JlamVjdCBjb21tZW50cywgY29tbWl0cywgY29k
ZSwgd2lraSBlZGl0cywgaXNzdWVzLCBhbmQgb3RoZXIgY29udHJpYnV0aW9ucwordGhhdCBhcmUg
bm90IGFsaWduZWQgdG8gdGhpcyBDb2RlIG9mIENvbmR1Y3QsIG9yIHRvIGJhbiB0ZW1wb3Jhcmls
eSBvcgorcGVybWFuZW50bHkgYW55IGNvbnRyaWJ1dG9yIGZvciBvdGhlciBiZWhhdmlvcnMgdGhh
dCB0aGV5IGRlZW0gaW5hcHByb3ByaWF0ZSwKK3RocmVhdGVuaW5nLCBvZmZlbnNpdmUsIG9yIGhh
cm1mdWwuCisKKyMjIFNjb3BlCisKK1RoaXMgQ29kZSBvZiBDb25kdWN0IGFwcGxpZXMgd2l0aGlu
IGFsbCBwcm9qZWN0IHNwYWNlcywgYW5kIGl0IGFsc28gYXBwbGllcyB3aGVuCithbiBpbmRpdmlk
dWFsIGlzIHJlcHJlc2VudGluZyB0aGUgcHJvamVjdCBvciBpdHMgY29tbXVuaXR5IGluIHB1Ymxp
YyBzcGFjZXMuCitFeGFtcGxlcyBvZiByZXByZXNlbnRpbmcgYSBwcm9qZWN0IG9yIGNvbW11bml0
eSBpbmNsdWRlIHVzaW5nIGFuIG9mZmljaWFsCitwcm9qZWN0IGUtbWFpbCBhZGRyZXNzLCBwb3N0
aW5nIHZpYSBhbiBvZmZpY2lhbCBzb2NpYWwgbWVkaWEgYWNjb3VudCwgb3IgYWN0aW5nCithcyBh
biBhcHBvaW50ZWQgcmVwcmVzZW50YXRpdmUgYXQgYW4gb25saW5lIG9yIG9mZmxpbmUgZXZlbnQu
IFJlcHJlc2VudGF0aW9uIG9mCithIHByb2plY3QgbWF5IGJlIGZ1cnRoZXIgZGVmaW5lZCBhbmQg
Y2xhcmlmaWVkIGJ5IHByb2plY3QgbWFpbnRhaW5lcnMuCisKKyMjIEVuZm9yY2VtZW50CisKK0lu
c3RhbmNlcyBvZiBhYnVzaXZlLCBoYXJhc3NpbmcsIG9yIG90aGVyd2lzZSB1bmFjY2VwdGFibGUg
YmVoYXZpb3IgbWF5IGJlCityZXBvcnRlZCBieSBjb250YWN0aW5nIHRoZSBwcm9qZWN0IHRlYW0g
YXQgW0lOU0VSVCBFTUFJTCBBRERSRVNTXS4gQWxsCitjb21wbGFpbnRzIHdpbGwgYmUgcmV2aWV3
ZWQgYW5kIGludmVzdGlnYXRlZCBhbmQgd2lsbCByZXN1bHQgaW4gYSByZXNwb25zZSB0aGF0Citp
cyBkZWVtZWQgbmVjZXNzYXJ5IGFuZCBhcHByb3ByaWF0ZSB0byB0aGUgY2lyY3Vtc3RhbmNlcy4g
VGhlIHByb2plY3QgdGVhbSBpcworb2JsaWdhdGVkIHRvIG1haW50YWluIGNvbmZpZGVudGlhbGl0
eSB3aXRoIHJlZ2FyZCB0byB0aGUgcmVwb3J0ZXIgb2YgYW4gaW5jaWRlbnQuCitGdXJ0aGVyIGRl
dGFpbHMgb2Ygc3BlY2lmaWMgZW5mb3JjZW1lbnQgcG9saWNpZXMgbWF5IGJlIHBvc3RlZCBzZXBh
cmF0ZWx5LgorCitQcm9qZWN0IG1haW50YWluZXJzIHdobyBkbyBub3QgZm9sbG93IG9yIGVuZm9y
Y2UgdGhlIENvZGUgb2YgQ29uZHVjdCBpbiBnb29kCitmYWl0aCBtYXkgZmFjZSB0ZW1wb3Jhcnkg
b3IgcGVybWFuZW50IHJlcGVyY3Vzc2lvbnMgYXMgZGV0ZXJtaW5lZCBieSBvdGhlcgorbWVtYmVy
cyBvZiB0aGUgcHJvamVjdCdzIGxlYWRlcnNoaXAuCisKKyMjIEF0dHJpYnV0aW9uCisKK1RoaXMg
Q29kZSBvZiBDb25kdWN0IGlzIGFkYXB0ZWQgZnJvbSB0aGUgW0NvbnRyaWJ1dG9yIENvdmVuYW50
XVtob21lcGFnZV0sIHZlcnNpb24gMS40LAorYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3LmNvbnRy
aWJ1dG9yLWNvdmVuYW50Lm9yZy92ZXJzaW9uLzEvNC9jb2RlLW9mLWNvbmR1Y3QuaHRtbAorCitb
aG9tZXBhZ2VdOiBodHRwczovL3d3dy5jb250cmlidXRvci1jb3ZlbmFudC5vcmcKKworRm9yIGFu
c3dlcnMgdG8gY29tbW9uIHF1ZXN0aW9ucyBhYm91dCB0aGlzIGNvZGUgb2YgY29uZHVjdCwgc2Vl
CitodHRwczovL3d3dy5jb250cmlidXRvci1jb3ZlbmFudC5vcmcvZmFxCi0tIAoyLjEzLjAKCgpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2
ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczov
L2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Mon Dec 16 08:29:28 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 16 Dec 2019 08:29:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1iglkr-0005zv-Gw; Mon, 16 Dec 2019 08:29:25 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=1b+M=2F=gmail.com=cason.j.schindler@srs-us1.protection.inumbo.net>)
 id 1igLfI-0002fG-MD
 for minios-devel@lists.xen.org; Sun, 15 Dec 2019 04:37:56 +0000
X-Inumbo-ID: a9fc1162-1ef4-11ea-88e7-bc764e2007e4
Received: from mail-ot1-x342.google.com (unknown [2607:f8b0:4864:20::342])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id a9fc1162-1ef4-11ea-88e7-bc764e2007e4;
 Sun, 15 Dec 2019 04:37:56 +0000 (UTC)
Received: by mail-ot1-x342.google.com with SMTP id 59so4395627otp.12
 for <minios-devel@lists.xen.org>; Sat, 14 Dec 2019 20:37:56 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:to:cc:subject:date:message-id:in-reply-to:references:reply-to
 :mime-version:content-transfer-encoding;
 bh=QGH9r0AWzxCFJm45Jr0Trnb+KIG/Y+JfErLvZG42sS8=;
 b=gGAiJBkGqICdNyY4MIwfWeKVwfzp9AXMHME6lhAPmqO4T1rx7mAQzxy8OP0NGTz+vV
 Ow3EZ3va6PwwyOiTfQ4oAwQOTAEZOGJkgNr3MiCkeCz3YDOJCh2EK7B6pHRQbHNZxm7K
 9lemZdOfQyGHoEGLCEuwZ+++gCW2JslZRB3DX1+9LZJuPdmA6lDlFhheGoylTKLEwVuW
 2wANyXJARS3IYku95om+cS0J+7YDGEqjg9LSbEBF4gsGDcw7v2NE6/uOagC5UilIZg1v
 wteXB+brVwWwrTvV/6dKVZNETOfZ6o7DJprRia2D3b2yNR3ZKoXQnLyJmc7UnTXT2+m6
 EL9w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
 :references:reply-to:mime-version:content-transfer-encoding;
 bh=QGH9r0AWzxCFJm45Jr0Trnb+KIG/Y+JfErLvZG42sS8=;
 b=QIpTD1+EtCCWAVtMmLa6Uhf1kZZC3y0GVG/TPMiS0F6S1naTPKR0m72Cdh4XdeNtgj
 VpOFOoUOugyhN9/7Yr7pkg+qv9GwhkFi5fitnHQLF8z35XDvGz1N2YazQJpWTg4847I/
 t3Vp9+uJoBAKiCkXxjfAnnW1YSUbEpcaVZ0y0Q/F9PwEBpitDgszVx63lTNI7oXwJwiQ
 ljBxI2G6R9fPoNiAD4/460vGusg4VvwqA7rF/hLCUbgTe8xdn35Z4hf1H9J/onGxCA2Y
 Kumg3Ti/lRJV47J0+Ii9H8R5S3Ysj16jZYhtiBjofXTbAXhZ9GfX71TEoGRYB18Q57ia
 UG2A==
X-Gm-Message-State: APjAAAWhHJj54oXD3XYjgRouEyc6U7KqmEKsPRYXGLRBAb0LDpkCrIj4
 9tN5GWCaPcqqSv28gzE8OJ49SoI2mv0=
X-Google-Smtp-Source: APXvYqwxNXrKzYw0EwqmxY4QFJGWJz9mBYkbcugNR57xKJLyhvpmz8KvgdCdXLqIl1c6YZ38b7pZVA==
X-Received: by 2002:a9d:22:: with SMTP id 31mr23336590ota.173.1576384675577;
 Sat, 14 Dec 2019 20:37:55 -0800 (PST)
Received: from rousseau.cs.utexas.edu (rousseau.cs.utexas.edu. [128.83.130.92])
 by smtp.gmail.com with ESMTPSA id q16sm5269473otl.74.2019.12.14.20.37.54
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 14 Dec 2019 20:37:55 -0800 (PST)
From: cason.j.schindler@gmail.com
To: minios-devel@lists.xen.org
Date: Sat, 14 Dec 2019 22:37:11 -0600
Message-Id: <20191215043715.28499-2-cason.j.schindler@gmail.com>
X-Mailer: git-send-email 2.24.0
In-Reply-To: <20191215043715.28499-1-cason.j.schindler@gmail.com>
References: <20191215043715.28499-1-cason.j.schindler@gmail.com>
MIME-Version: 1.0
X-Mailman-Approved-At: Mon, 16 Dec 2019 08:29:23 +0000
Subject: [Minios-devel] [UNIKRAFT PATCH 1/5] include/uk/plat: Memory
 Ballooning API
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Reply-To: cason.j.schindler@gmail.com
Cc: felipe.huici@neclab.eu, simon.kuenzer@neclab.eu, raney.jack99@gmail.com,
 Cason Schindler <cason.j.schindler@gmail.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogQ2Fzb24gU2NoaW5kbGVyIDxjYXNvbi5qLnNjaGluZGxlckBnbWFpbC5jb20+CgpBZGQg
aW5mbGF0ZSBhbmQgZGVmbGF0ZSBBUEkgaGVhZGVycyBpbiBtZW1vcnkuaC4KClNpZ25lZC1vZmYt
Ynk6IEphY2sgUmFuZXkgPHJhbmV5LmphY2s5OUBnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IENh
c29uIFNjaGluZGxlciA8Y2Fzb24uai5zY2hpbmRsZXJAZ21haWwuY29tPgotLS0KIGluY2x1ZGUv
dWsvcGxhdC9tZW1vcnkuaCB8IDE5ICsrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2Vk
LCAxOSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS91ay9wbGF0L21lbW9yeS5o
IGIvaW5jbHVkZS91ay9wbGF0L21lbW9yeS5oCmluZGV4IDRjNGU0ZGMuLjFjZmYxOGUgMTAwNjQ0
Ci0tLSBhL2luY2x1ZGUvdWsvcGxhdC9tZW1vcnkuaAorKysgYi9pbmNsdWRlL3VrL3BsYXQvbWVt
b3J5LmgKQEAgLTE2NCw2ICsxNjQsMjUgQEAgc3RydWN0IHVrX2FsbG9jICp1a3BsYXRfbWVtYWxs
b2NhdG9yX2dldCh2b2lkKTsKICAqLwogdm9pZCB1a3BsYXRfc3RhY2tfc2V0X2N1cnJlbnRfdGhy
ZWFkKHZvaWQgKnRocmVhZF9hZGRyKTsKIAorLyoqCisgKiBJbmZsYXRlcyB0aGUgbWVtb3J5IGJh
bGxvb24gYnkgMSBleHRlbnQuIEFmdGVyIHRoaXMgcG9pbnQsIHRoZSBleHRlbnQKKyAqIHN0YXJ0
aW5nIGF0IHRoZSBzcGVjaWZpZWQgdmlydHVhbCBhZGRyZXNzIHdpbGwgYmUgdW5hdmFpbGFibGUg
dG8gdGhlIGd1ZXN0LgorICogVGhlIGhvc3Qgd2lsbCB0aGVuIGJlIGFibGUgdG8gdXNlIHRoZSBl
eHRlbnQgZm9yIGl0cyBvd24gcHVycG9zZXMuCisgKiBAcGFyYW0gdmEgVGhlIHN0YXJ0aW5nIHZp
cnR1YWwgYWRkcmVzcyB0byByZWxlYXNlCisgKiBAcGFyYW0gb3JkZXIgVGhlIHNpZSBvZiB0aGUg
ZXh0ZW50IHRvIGJlIHJlbGVhc2VkCisgKiBAcmV0dXJuID49IDAgb24gc3VjY2VzcywgPCAwIG90
aGVyd2lzZS4KKyAqLworaW50IHVrcGxhdF9pbmZsYXRlKHZvaWQgKnZhLCBpbnQgb3JkZXIpOwor
CisvKioKKyAqIERlZmxhdGVzIHRoZSBtZW1vcnkgYmFsbG9vbiBieSAxIGV4dGVudCwgYW5kIHJl
dHVybnMgYSBmcmFtZSB0byB0aGUKKyAqIGh5cGVydmlzb3Igc3RhcnRpbmcgYXQgdGhlIHNwZWNp
ZmllZCB2aXJ0dWFsIGFkZHJlc3MuCisgKiBAcGFyYW0gdmEgVGhlIHN0YXJ0aW5nIHZpcnR1YWwg
YWRkcmVzcyB0byByZWNvdmVyCisgKiBAcGFyYW0gb3JkZXIgVGhlIHNpemUgb2YgdGhlIGV4dGVu
dCB0byBiZSByZWNvdmVyZWQKKyAqIEByZXR1cm4gbnVtIHBhZ2VzIHJlY2xhaW1lZCBvbiBzdWNj
ZXNzLCA8IDAgb3RoZXJ3aXNlLgorICovCitpbnQgdWtwbGF0X2RlZmxhdGUodm9pZCAqdmEsIGlu
dCBvcmRlcik7CisKICNpZmRlZiBfX2NwbHVzcGx1cwogfQogI2VuZGlmCi0tIAoyLjI0LjAKCgpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2
ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczov
L2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Mon Dec 16 08:29:28 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 16 Dec 2019 08:29:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1iglkr-00060G-QS; Mon, 16 Dec 2019 08:29:25 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=1b+M=2F=gmail.com=cason.j.schindler@srs-us1.protection.inumbo.net>)
 id 1igLfX-0002gf-Me
 for minios-devel@lists.xen.org; Sun, 15 Dec 2019 04:38:11 +0000
X-Inumbo-ID: ad50f864-1ef4-11ea-a914-bc764e2007e4
Received: from mail-ot1-x341.google.com (unknown [2607:f8b0:4864:20::341])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id ad50f864-1ef4-11ea-a914-bc764e2007e4;
 Sun, 15 Dec 2019 04:38:01 +0000 (UTC)
Received: by mail-ot1-x341.google.com with SMTP id o9so4477563ote.2
 for <minios-devel@lists.xen.org>; Sat, 14 Dec 2019 20:38:01 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:to:cc:subject:date:message-id:in-reply-to:references:reply-to
 :mime-version:content-transfer-encoding;
 bh=m7bUmgi7drnEWtJwv4ONOKCrFqFPwJQCsfTz032c2z4=;
 b=Pa7w6dBz1U1qd/ikeRPaKr+CfI/oQUED6D2IiiMHD9Qns4OT1F16f6pJN8WQKvKJlp
 YPG1W+W201dDvg8BzCP/cWUY1PvqPF+caNtsm+uPBzD63jQYb+ShJG6RiRrh/rMuEv2Q
 W8y2CEdyi1Wk4uihAaIYOPaNBzJ/swnEDX2dQ/VEpgqgOKoPmPAYcw+mYqnzZ943O5vZ
 z5QoQfXzDKtH9Mc3DdT/NBBC3u+kS75GShjilWzK8ABAd8sCLfLYM8CY7gxnSjbLvval
 0QHgoiMXNSwfNy9PijhgTPPj12xRrQ3+QrJW//OzTrgccUvfvPo854rfHB5tZsakDVEg
 kGLA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
 :references:reply-to:mime-version:content-transfer-encoding;
 bh=m7bUmgi7drnEWtJwv4ONOKCrFqFPwJQCsfTz032c2z4=;
 b=bpX5dfbUHlyml9jxjyC3RKmCJ3OCvfQMx6rW7Hbx4WU867jfbwSCogV7xJqXFDSqBf
 oNJTq/agKeYZgLH9D4kLk7DpEvMXTPK1Q9txxVzmOE4spc+8RVktbrjqU+hgNn7UuBDm
 sm+k4juJVltq9vPIyTNodB0aH0DhokF4+yWhtPx+oAu1uM77gBLSZIoV36aORGtUBLj1
 haUlGHm0u3LQttakrmX9g5YtYCafDLjpMYj+iYAAQg0kzhhL/4elgHdlTiy2JZFV2nkZ
 0Ws8jtGAqliodfTWkBzPhIPAjoUxyv6YFsi+3VHa/xhOs5Iyh5Z/NkPKUn7u/avY7ByO
 06HQ==
X-Gm-Message-State: APjAAAVC5j01bPgIOOAIoH61Ux6fD/a2FgDUqGxn+0Bwle8eDzBmyRHr
 3RuHXGjge4dlC9vv0JYLpWB7oKYCDRw=
X-Google-Smtp-Source: APXvYqyPesJ/sRX4phLL6E4YIwcBFQFQGCeXYXgny4du+sWOMzpJW3Tnw+N84XN6LiPlozjLKY+T6w==
X-Received: by 2002:a05:6830:128e:: with SMTP id
 z14mr23472818otp.184.1576384681208; 
 Sat, 14 Dec 2019 20:38:01 -0800 (PST)
Received: from rousseau.cs.utexas.edu (rousseau.cs.utexas.edu. [128.83.130.92])
 by smtp.gmail.com with ESMTPSA id q16sm5269473otl.74.2019.12.14.20.38.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 14 Dec 2019 20:38:00 -0800 (PST)
From: cason.j.schindler@gmail.com
To: minios-devel@lists.xen.org
Date: Sat, 14 Dec 2019 22:37:14 -0600
Message-Id: <20191215043715.28499-5-cason.j.schindler@gmail.com>
X-Mailer: git-send-email 2.24.0
In-Reply-To: <20191215043715.28499-1-cason.j.schindler@gmail.com>
References: <20191215043715.28499-1-cason.j.schindler@gmail.com>
MIME-Version: 1.0
X-Mailman-Approved-At: Mon, 16 Dec 2019 08:29:23 +0000
Subject: [Minios-devel] [UNIKRAFT PATCH 4/5] plat/linuxu: Linuxu Ballooning
 API Unimplemented
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Reply-To: cason.j.schindler@gmail.com
Cc: felipe.huici@neclab.eu, simon.kuenzer@neclab.eu, raney.jack99@gmail.com,
 Cason Schindler <cason.j.schindler@gmail.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogQ2Fzb24gU2NoaW5kbGVyIDxjYXNvbi5qLnNjaGluZGxlckBnbWFpbC5jb20+CgpJbXBs
ZW1lbnQgbGludXh1IGluZmxhdGUgYW5kIGRlZmxhdGUgY2FsbHMgdG8ganVzdCByZXR1cm4gRU5P
U1lTCgpTaWduZWQtb2ZmLWJ5OiBKYWNrIFJhbmV5IDxyYW5leS5qYWNrOTlAZ21haWwuY29tPgpT
aWduZWQtb2ZmLWJ5OiBDYXNvbiBTY2hpbmRsZXIgPGNhc29uLmouc2NoaW5kbGVyQGdtYWlsLmNv
bT4KLS0tCiBwbGF0L2xpbnV4dS9tZW1vcnkuYyB8IDEzICsrKysrKysrKysrKysKIDEgZmlsZSBj
aGFuZ2VkLCAxMyBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvcGxhdC9saW51eHUvbWVtb3J5
LmMgYi9wbGF0L2xpbnV4dS9tZW1vcnkuYwppbmRleCA5YjU0NzllLi5iNzQyN2VjIDEwMDY0NAot
LS0gYS9wbGF0L2xpbnV4dS9tZW1vcnkuYworKysgYi9wbGF0L2xpbnV4dS9tZW1vcnkuYwpAQCAt
MTI4LDMgKzEyOCwxNiBAQCB2b2lkIHVrcGxhdF9zdGFja19zZXRfY3VycmVudF90aHJlYWQodm9p
ZCAqdGhyZWFkX2FkZHIgX191bnVzZWQpCiB7CiAJLyogRm9yIG5vdywgc2lnbmFscyB1c2UgdGhl
IGN1cnJlbnQgcHJvY2VzcyBzdGFjayAqLwogfQorCisKKy8qIE1lbW9yeSBiYWxsb29uaW5nIGlz
IG5vdCB5ZXQgc3VwcG9ydGVkIGZvciBsaW51eHUgKi8KKworaW50IHVrcGxhdF9pbmZsYXRlKHZv
aWQgKnZhLCBpbnQgb3JkZXIpCit7CisJcmV0dXJuIC1FTk9TWVM7Cit9CisKK2ludCB1a3BsYXRf
ZGVmbGF0ZSh2b2lkICp2YSwgaW50IG9yZGVyKQoreworCXJldHVybiAtRU5PU1lTOworfQotLSAK
Mi4yNC4wCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
TWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5v
cmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1k
ZXZlbA==

From minios-devel-bounces@lists.xenproject.org Mon Dec 16 08:29:28 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 16 Dec 2019 08:29:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1iglkq-0005yy-Ty; Mon, 16 Dec 2019 08:29:24 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=6iYZ=2C=xenproject.org=lars.kurth@srs-us1.protection.inumbo.net>)
 id 1ifVo0-0006IN-9N
 for minios-devel@lists.xenproject.org; Thu, 12 Dec 2019 21:15:28 +0000
X-Inumbo-ID: 736d2acc-1d24-11ea-8e25-12813bfff9fa
Received: from mail.xenproject.org (unknown [104.130.215.37])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 736d2acc-1d24-11ea-8e25-12813bfff9fa;
 Thu, 12 Dec 2019 21:14:58 +0000 (UTC)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1ifVnT-00015T-M4; Thu, 12 Dec 2019 21:14:55 +0000
Received: from localhost ([127.0.0.1] helo=localhost.localdomain)
 by xenbits.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1ifVnT-0000Bm-F1; Thu, 12 Dec 2019 21:14:55 +0000
From: Lars Kurth <lars.kurth@xenproject.org>
To: xen-devel@lists.xenproject.org
Date: Thu, 12 Dec 2019 21:14:30 +0000
Message-Id: <1f54362a58bfb5bba6459eb31e408aeabebc66e6.1576184325.git.lars.kurth@citrix.com>
X-Mailer: git-send-email 2.13.0
In-Reply-To: <cover.1576184325.git.lars.kurth@citrix.com>
References: <cover.1576184325.git.lars.kurth@citrix.com>
In-Reply-To: <cover.1576184325.git.lars.kurth@citrix.com>
References: <cover.1576184325.git.lars.kurth@citrix.com>
X-Mailman-Approved-At: Mon, 16 Dec 2019 08:29:23 +0000
Subject: [Minios-devel] [PATCH v3 3/7] Reformat Xen Project CoC to fit into
 80 character limit
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Lars Kurth <lars.kurth@citrix.com>, xen-api@lists.xenproject.org,
 minios-devel@lists.xenproject.org, committers@xenproject.org,
 mirageos-devel@lists.xenproject.org, win-pv-devel@lists.xenproject.org
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogTGFycyBLdXJ0aCA8bGFycy5rdXJ0aEBjaXRyaXguY29tPgoKTm8gY29udGVudCBjaGFu
Z2VzCgpTaWduZWQtb2ZmLWJ5OiBMYXJzIEt1cnRoIDxsYXJzLmt1cnRoQGNpdHJpeC5jb20+Ci0t
LQpDYzogbWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCkNjOiB4ZW4tYXBpQGxpc3Rz
LnhlbnByb2plY3Qub3JnCkNjOiB3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKQ2M6
IG1pcmFnZW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCkNjOiBjb21taXR0ZXJzQHhlbnBy
b2plY3Qub3JnCi0tLQogY29kZS1vZi1jb25kdWN0Lm1kIHwgNTYgKysrKysrKysrKysrKysrKysr
KysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMjkg
aW5zZXJ0aW9ucygrKSwgMjcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvY29kZS1vZi1jb25k
dWN0Lm1kIGIvY29kZS1vZi1jb25kdWN0Lm1kCmluZGV4IDVkNmQxZDUuLjQ5MTJmNDcgMTAwNjQ0
Ci0tLSBhL2NvZGUtb2YtY29uZHVjdC5tZAorKysgYi9jb2RlLW9mLWNvbmR1Y3QubWQKQEAgLTUs
MTYgKzUsMTYgQEAKIEluIHRoZSBpbnRlcmVzdCBvZiBmb3N0ZXJpbmcgYW4gb3BlbiBhbmQgd2Vs
Y29taW5nIGVudmlyb25tZW50LCB3ZSBhcwogY29udHJpYnV0b3JzIGFuZCBtYWludGFpbmVycyBw
bGVkZ2UgdG8gbWFrZSBwYXJ0aWNpcGF0aW9uIGluIG91ciBwcm9qZWN0IGFuZAogb3VyIGNvbW11
bml0eSBhIGhhcmFzc21lbnQtZnJlZSBleHBlcmllbmNlIGZvciBldmVyeW9uZSwgcmVnYXJkbGVz
cyBvZiBhZ2UsIGJvZHkKLXNpemUsIGRpc2FiaWxpdHksIGV0aG5pY2l0eSwgc2V4IGNoYXJhY3Rl
cmlzdGljcywgZ2VuZGVyIGlkZW50aXR5IGFuZCBleHByZXNzaW9uLAotbGV2ZWwgb2YgZXhwZXJp
ZW5jZSwgZWR1Y2F0aW9uLCBzb2Npby1lY29ub21pYyBzdGF0dXMsIG5hdGlvbmFsaXR5LCBwZXJz
b25hbAotYXBwZWFyYW5jZSwgcmFjZSwgcmVsaWdpb24sIG9yIHNleHVhbCBpZGVudGl0eSBhbmQg
b3JpZW50YXRpb24uCitzaXplLCBkaXNhYmlsaXR5LCBldGhuaWNpdHksIHNleCBjaGFyYWN0ZXJp
c3RpY3MsIGdlbmRlciBpZGVudGl0eSBhbmQKK2V4cHJlc3Npb24sIGxldmVsIG9mIGV4cGVyaWVu
Y2UsIGVkdWNhdGlvbiwgc29jaW8tZWNvbm9taWMgc3RhdHVzLCBuYXRpb25hbGl0eSwKK3BlcnNv
bmFsIGFwcGVhcmFuY2UsIHJhY2UsIHJlbGlnaW9uLCBvciBzZXh1YWwgaWRlbnRpdHkgYW5kIG9y
aWVudGF0aW9uLgogCiAjIyBPdXIgU3RhbmRhcmRzCiAKIFdlIGJlbGlldmUgdGhhdCBhIENvZGUg
b2YgQ29uZHVjdCBjYW4gaGVscCBjcmVhdGUgYSBoYXJhc3NtZW50LWZyZWUgZW52aXJvbm1lbnQs
CiBidXQgaXMgbm90IHN1ZmZpY2llbnQgdG8gY3JlYXRlIGEgd2VsY29taW5nIGVudmlyb25tZW50
IG9uIGl0cyBvd246IGd1aWRhbmNlIG9uCi1jcmVhdGluZyBhIHdlbGNvbWluZyBlbnZpcm9ubWVu
dCwgaG93IHRvIGNvbW11bmljYXRlIGluIGFuIGVmZmVjdGl2ZSBhbmQgZnJpZW5kbHkKLXdheSwg
ZXRjLiBjYW4gYmUgZm91bmQgW2hlcmVdKGNvbW11bmljYXRpb24tZ3VpZGUubWQpLgorY3JlYXRp
bmcgYSB3ZWxjb21pbmcgZW52aXJvbm1lbnQsIGhvdyB0byBjb21tdW5pY2F0ZSBpbiBhbiBlZmZl
Y3RpdmUgYW5kCitmcmllbmRseSB3YXksIGV0Yy4gY2FuIGJlIGZvdW5kIFtoZXJlXShjb21tdW5p
Y2F0aW9uLWd1aWRlLm1kKS4KIAogRXhhbXBsZXMgb2YgdW5hY2NlcHRhYmxlIGJlaGF2aW9yIGJ5
IHBhcnRpY2lwYW50cyBpbmNsdWRlOgogCkBAIC0yOSw0MSArMjksNDMgQEAgRXhhbXBsZXMgb2Yg
dW5hY2NlcHRhYmxlIGJlaGF2aW9yIGJ5IHBhcnRpY2lwYW50cyBpbmNsdWRlOgogCiAjIyBPdXIg
UmVzcG9uc2liaWxpdGllcwogCi1Qcm9qZWN0IGxlYWRlcnNoaXAgdGVhbSBtZW1iZXJzIGFyZSBy
ZXNwb25zaWJsZSBmb3IgY2xhcmlmeWluZyB0aGUgc3RhbmRhcmRzIG9mIGFjY2VwdGFibGUKLWJl
aGF2aW9yIGFuZCBhcmUgZXhwZWN0ZWQgdG8gdGFrZSBhcHByb3ByaWF0ZSBhbmQgZmFpciBjb3Jy
ZWN0aXZlIGFjdGlvbiBpbgotcmVzcG9uc2UgdG8gYW55IGluc3RhbmNlcyBvZiB1bmFjY2VwdGFi
bGUgYmVoYXZpb3IuCitQcm9qZWN0IGxlYWRlcnNoaXAgdGVhbSBtZW1iZXJzIGFyZSByZXNwb25z
aWJsZSBmb3IgY2xhcmlmeWluZyB0aGUgc3RhbmRhcmRzIG9mCithY2NlcHRhYmxlIGJlaGF2aW9y
IGFuZCBhcmUgZXhwZWN0ZWQgdG8gdGFrZSBhcHByb3ByaWF0ZSBhbmQgZmFpciBjb3JyZWN0aXZl
CithY3Rpb24gaW4gcmVzcG9uc2UgdG8gYW55IGluc3RhbmNlcyBvZiB1bmFjY2VwdGFibGUgYmVo
YXZpb3IuCiAKLVByb2plY3QgbGVhZGVyc2hpcCB0ZWFtIG1lbWJlcnMgaGF2ZSB0aGUgcmlnaHQg
YW5kIHJlc3BvbnNpYmlsaXR5IHRvIHJlbW92ZSwgZWRpdCwgb3IKLXJlamVjdCBjb21tZW50cywg
Y29tbWl0cywgY29kZSwgd2lraSBlZGl0cywgaXNzdWVzLCBhbmQgb3RoZXIgY29udHJpYnV0aW9u
cwotdGhhdCBhcmUgbm90IGFsaWduZWQgdG8gdGhpcyBDb2RlIG9mIENvbmR1Y3QsIG9yIHRvIGJh
biB0ZW1wb3JhcmlseSBvcgotcGVybWFuZW50bHkgYW55IGNvbnRyaWJ1dG9yIGZvciBvdGhlciBi
ZWhhdmlvcnMgdGhhdCB0aGV5IGRlZW0gaW5hcHByb3ByaWF0ZSwKLXRocmVhdGVuaW5nLCBvZmZl
bnNpdmUsIG9yIGhhcm1mdWwuCitQcm9qZWN0IGxlYWRlcnNoaXAgdGVhbSBtZW1iZXJzIGhhdmUg
dGhlIHJpZ2h0IGFuZCByZXNwb25zaWJpbGl0eSB0byByZW1vdmUsCitlZGl0LCBvciByZWplY3Qg
Y29tbWVudHMsIGNvbW1pdHMsIGNvZGUsIHdpa2kgZWRpdHMsIGlzc3VlcywgYW5kIG90aGVyCitj
b250cmlidXRpb25zIHRoYXQgYXJlIG5vdCBhbGlnbmVkIHRvIHRoaXMgQ29kZSBvZiBDb25kdWN0
LCBvciB0byBiYW4KK3RlbXBvcmFyaWx5IG9yIHBlcm1hbmVudGx5IGFueSBjb250cmlidXRvciBm
b3Igb3RoZXIgYmVoYXZpb3JzIHRoYXQgdGhleSBkZWVtCitpbmFwcHJvcHJpYXRlLCB0aHJlYXRl
bmluZywgb2ZmZW5zaXZlLCBvciBoYXJtZnVsLgogCiAjIyBTY29wZQogCi1UaGlzIENvZGUgb2Yg
Q29uZHVjdCBhcHBsaWVzIHdpdGhpbiBhbGwgcHJvamVjdCBzcGFjZXMgb2YgYWxsIHN1Yi1wcm9q
ZWN0cywgYW5kIGl0IGFsc28gYXBwbGllcyB3aGVuCi1hbiBpbmRpdmlkdWFsIGlzIHJlcHJlc2Vu
dGluZyB0aGUgcHJvamVjdCBvciBpdHMgY29tbXVuaXR5IGluIHB1YmxpYyBzcGFjZXMuCi1FeGFt
cGxlcyBvZiByZXByZXNlbnRpbmcgYSBwcm9qZWN0IG9yIGNvbW11bml0eSBpbmNsdWRlIHVzaW5n
IGFuIG9mZmljaWFsCi1wcm9qZWN0IGUtbWFpbCBhZGRyZXNzLCBwb3N0aW5nIHZpYSBhbiBvZmZp
Y2lhbCBzb2NpYWwgbWVkaWEgYWNjb3VudCwgb3IgYWN0aW5nCi1hcyBhbiBhcHBvaW50ZWQgcmVw
cmVzZW50YXRpdmUgYXQgYW4gb25saW5lIG9yIG9mZmxpbmUgZXZlbnQuIFJlcHJlc2VudGF0aW9u
IG9mCi1hIHByb2plY3QgbWF5IGJlIGZ1cnRoZXIgZGVmaW5lZCBhbmQgY2xhcmlmaWVkIGJ5IHRo
ZSBwcm9qZWN0IGxlYWRlcnNoaXAuCitUaGlzIENvZGUgb2YgQ29uZHVjdCBhcHBsaWVzIHdpdGhp
biBhbGwgcHJvamVjdCBzcGFjZXMgb2YgYWxsIHN1Yi1wcm9qZWN0cywKK2FuZCBpdCBhbHNvIGFw
cGxpZXMgd2hlbiBhbiBpbmRpdmlkdWFsIGlzIHJlcHJlc2VudGluZyB0aGUgcHJvamVjdCBvciBp
dHMKK2NvbW11bml0eSBpbiBwdWJsaWMgc3BhY2VzLiBFeGFtcGxlcyBvZiByZXByZXNlbnRpbmcg
YSBwcm9qZWN0IG9yIGNvbW11bml0eQoraW5jbHVkZSB1c2luZyBhbiBvZmZpY2lhbCBwcm9qZWN0
IGUtbWFpbCBhZGRyZXNzLCBwb3N0aW5nIHZpYSBhbiBvZmZpY2lhbCBzb2NpYWwKK21lZGlhIGFj
Y291bnQsIG9yIGFjdGluZyBhcyBhbiBhcHBvaW50ZWQgcmVwcmVzZW50YXRpdmUgYXQgYW4gb25s
aW5lIG9yIG9mZmxpbmUKK2V2ZW50LiBSZXByZXNlbnRhdGlvbiBvZiBhIHByb2plY3QgbWF5IGJl
IGZ1cnRoZXIgZGVmaW5lZCBhbmQgY2xhcmlmaWVkIGJ5IHRoZQorcHJvamVjdCBsZWFkZXJzaGlw
LgogCiAjIyBXaGF0IHRvIGRvIGlmIHlvdSB3aXRuZXNzIG9yIGFyZSBzdWJqZWN0IHRvIHVuYWNj
ZXB0YWJsZSBiZWhhdmlvcgogCiBJbnN0YW5jZXMgb2YgYWJ1c2l2ZSwgaGFyYXNzaW5nLCBvciBv
dGhlcndpc2UgdW5hY2NlcHRhYmxlIGJlaGF2aW9yIG1heSBiZQogcmVwb3J0ZWQgYnkgY29udGFj
dGluZyBDb25kdWN0IFRlYW0gbWVtYmVycyBhdCBjb25kdWN0QHhlbnByb2plY3Qub3JnLiBBbGwK
IGNvbXBsYWludHMgd2lsbCBiZSByZXZpZXdlZCBhbmQgaW52ZXN0aWdhdGVkIGFuZCB3aWxsIHJl
c3VsdCBpbiBhIHJlc3BvbnNlIHRoYXQKLWlzIGRlZW1lZCBuZWNlc3NhcnkgYW5kIGFwcHJvcHJp
YXRlIHRvIHRoZSBjaXJjdW1zdGFuY2VzLiBDb25kdWN0IFRlYW0gbWVtYmVycyBhcmUKLW9ibGln
YXRlZCB0byBtYWludGFpbiBjb25maWRlbnRpYWxpdHkgd2l0aCByZWdhcmQgdG8gdGhlIHJlcG9y
dGVyIG9mIGFuIGluY2lkZW50LgotRnVydGhlciBkZXRhaWxzIG9mIHNwZWNpZmljIGVuZm9yY2Vt
ZW50IHBvbGljaWVzIG1heSBiZSBwb3N0ZWQgc2VwYXJhdGVseS4KK2lzIGRlZW1lZCBuZWNlc3Nh
cnkgYW5kIGFwcHJvcHJpYXRlIHRvIHRoZSBjaXJjdW1zdGFuY2VzLiBDb25kdWN0IFRlYW0gbWVt
YmVycworYXJlIG9ibGlnYXRlZCB0byBtYWludGFpbiBjb25maWRlbnRpYWxpdHkgd2l0aCByZWdh
cmQgdG8gdGhlIHJlcG9ydGVyIG9mIGFuCitpbmNpZGVudC4gRnVydGhlciBkZXRhaWxzIG9mIHNw
ZWNpZmljIGVuZm9yY2VtZW50IHBvbGljaWVzIG1heSBiZSBwb3N0ZWQKK3NlcGFyYXRlbHkuCiAK
IElmIHlvdSBoYXZlIGNvbmNlcm5zIGFib3V0IGFueSBvZiB0aGUgbWVtYmVycyBvZiB0aGUgY29u
ZHVjdEAgYWxpYXMsCiB5b3UgYXJlIHdlbGNvbWUgdG8gY29udGFjdCBwcmVjaXNlbHkgdGhlIENv
bmR1Y3QgVGVhbSBtZW1iZXIocykgb2YKIHlvdXIgY2hvaWNlLgogCi1Qcm9qZWN0IGxlYWRlcnNo
aXAgdGVhbSBtZW1iZXJzIHdobyBkbyBub3QgZm9sbG93IG9yIGVuZm9yY2UgdGhlIENvZGUgb2Yg
Q29uZHVjdCBpbiBnb29kCi1mYWl0aCBtYXkgZmFjZSB0ZW1wb3Jhcnkgb3IgcGVybWFuZW50IHJl
cGVyY3Vzc2lvbnMgYXMgZGV0ZXJtaW5lZCBieSBvdGhlcgotbWVtYmVycyBvZiB0aGUgcHJvamVj
dCdzIGxlYWRlcnNoaXAuCitQcm9qZWN0IGxlYWRlcnNoaXAgdGVhbSBtZW1iZXJzIHdobyBkbyBu
b3QgZm9sbG93IG9yIGVuZm9yY2UgdGhlIENvZGUgb2YgQ29uZHVjdAoraW4gZ29vZCBmYWl0aCBt
YXkgZmFjZSB0ZW1wb3Jhcnkgb3IgcGVybWFuZW50IHJlcGVyY3Vzc2lvbnMgYXMgZGV0ZXJtaW5l
ZCBieQorb3RoZXIgbWVtYmVycyBvZiB0aGUgcHJvamVjdCdzIGxlYWRlcnNoaXAuCiAKICMjIENv
bmR1Y3QgVGVhbSBtZW1iZXJzCiBDb25kdWN0IFRlYW0gbWVtYmVycyBhcmUgcHJvamVjdCBsZWFk
ZXJzaGlwIHRlYW0gbWVtYmVycyBmcm9tIGFueQpAQCAtNzgsOCArODAsOCBAQCBwb3N0ZWQgb24g
YWxsIHN1Yi1wcm9qZWN0IGxpc3RzLCBmb2xsb3dlZCBieSBhIGZvcm1hbCBnbG9iYWwgdm90ZSBh
cyBvdXRsaW5lZAogCiAjIyBBdHRyaWJ1dGlvbgogCi1UaGlzIENvZGUgb2YgQ29uZHVjdCBpcyBh
ZGFwdGVkIGZyb20gdGhlIFtDb250cmlidXRvciBDb3ZlbmFudF1baG9tZXBhZ2VdLCB2ZXJzaW9u
IDEuNCwKLWF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5jb250cmlidXRvci1jb3ZlbmFudC5vcmcv
dmVyc2lvbi8xLzQvY29kZS1vZi1jb25kdWN0Lmh0bWwKK1RoaXMgQ29kZSBvZiBDb25kdWN0IGlz
IGFkYXB0ZWQgZnJvbSB0aGUgW0NvbnRyaWJ1dG9yIENvdmVuYW50XVtob21lcGFnZV0sCit2ZXJz
aW9uIDEuNCwgYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3LmNvbnRyaWJ1dG9yLWNvdmVuYW50Lm9y
Zy92ZXJzaW9uLzEvNC9jb2RlLW9mLWNvbmR1Y3QuaHRtbAogCiBbaG9tZXBhZ2VdOiBodHRwczov
L3d3dy5jb250cmlidXRvci1jb3ZlbmFudC5vcmcKIAotLSAKMi4xMy4wCgoKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcg
bGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5w
cm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Mon Dec 16 08:29:28 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 16 Dec 2019 08:29:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1iglkr-0005zX-Bm; Mon, 16 Dec 2019 08:29:25 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=6iYZ=2C=xenproject.org=lars.kurth@srs-us1.protection.inumbo.net>)
 id 1ifVph-0007Cx-E0
 for minios-devel@lists.xenproject.org; Thu, 12 Dec 2019 21:17:13 +0000
X-Inumbo-ID: 76424bd8-1d24-11ea-a914-bc764e2007e4
Received: from mail.xenproject.org (unknown [104.130.215.37])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 76424bd8-1d24-11ea-a914-bc764e2007e4;
 Thu, 12 Dec 2019 21:15:02 +0000 (UTC)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1ifVnX-000165-Re; Thu, 12 Dec 2019 21:14:59 +0000
Received: from localhost ([127.0.0.1] helo=localhost.localdomain)
 by xenbits.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1ifVnX-0000Bm-MC; Thu, 12 Dec 2019 21:14:59 +0000
From: Lars Kurth <lars.kurth@xenproject.org>
To: xen-devel@lists.xenproject.org
Date: Thu, 12 Dec 2019 21:14:34 +0000
Message-Id: <be1e6229ef7ce36da45182a47eeccf58d7bde886.1576184325.git.lars.kurth@citrix.com>
X-Mailer: git-send-email 2.13.0
In-Reply-To: <cover.1576184325.git.lars.kurth@citrix.com>
References: <cover.1576184325.git.lars.kurth@citrix.com>
In-Reply-To: <cover.1576184325.git.lars.kurth@citrix.com>
References: <cover.1576184325.git.lars.kurth@citrix.com>
X-Mailman-Approved-At: Mon, 16 Dec 2019 08:29:23 +0000
Subject: [Minios-devel] [PATCH v3 7/7] Added Resolving Disagreement
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Lars Kurth <lars.kurth@citrix.com>, xen-api@lists.xenproject.org,
 minios-devel@lists.xenproject.org, committers@xenproject.org,
 mirageos-devel@lists.xenproject.org, win-pv-devel@lists.xenproject.org
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogTGFycyBLdXJ0aCA8bGFycy5rdXJ0aEBjaXRyaXguY29tPgoKVGhpcyBndWlkZSBwcm92
aWRlcyBCZXN0IFByYWN0aWNlIG9uIGlkZW50aWZ5aW5nIGFuZCByZXNvbHZpbmcKY29tbW9uIGNs
YXNzZXMgb2YgZGlzYWdyZWVtZW50CgpDaGFuZ2VzIHNpbmNlIHYyIChhZGRlZCBpbiB2MikKKiBG
aXggdHlwb3MKKiBBZGQgc2VjdGlvbjogIklzc3VlOiBNdWx0aXBsZSB3YXlzIHRvIHNvbHZlIGEg
cHJvYmxlbSIKKiBDaGFuZ2VkIGxpbmUgd3JhcHBpbmcgdG8gODAgY2hhcmFjdGVycwoqIFJlcGxh
Y2VkIGlubGluZSBzdHlsZSBsaW5rcyB3aXRoIHJlZmVyZW5jZSBzdHlsZSBsaW5rcwoKU2lnbmVk
LW9mZi1ieTogTGFycyBLdXJ0aCA8bGFycy5rdXJ0aEBjaXRyaXguY29tPgotLQpDYzogbWluaW9z
LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCkNjOiB4ZW4tYXBpQGxpc3RzLnhlbnByb2plY3Qu
b3JnCkNjOiB3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKQ2M6IG1pcmFnZW9zLWRl
dmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCkNjOiBjb21taXR0ZXJzQHhlbnByb2plY3Qub3JnCi0t
LQogcmVzb2x2aW5nLWRpc2FncmVlbWVudC5tZCB8IDE4OCArKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgMTg4IGluc2VydGlvbnMo
KykKIGNyZWF0ZSBtb2RlIDEwMDY0NCByZXNvbHZpbmctZGlzYWdyZWVtZW50Lm1kCgpkaWZmIC0t
Z2l0IGEvcmVzb2x2aW5nLWRpc2FncmVlbWVudC5tZCBiL3Jlc29sdmluZy1kaXNhZ3JlZW1lbnQu
bWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTdiY2E3YgotLS0gL2Rldi9u
dWxsCisrKyBiL3Jlc29sdmluZy1kaXNhZ3JlZW1lbnQubWQKQEAgLTAsMCArMSwxODggQEAKKyMg
UmVzb2x2aW5nIERpc2FncmVlbWVudAorCitUaGlzIGd1aWRlIHByb3ZpZGVzIEJlc3QgUHJhY3Rp
Y2Ugb24gcmVzb2x2aW5nIGRpc2FncmVlbWVudCwgc3VjaCBhcworKiBHcmFjZWZ1bGx5IGFjY2Vw
dCBjb25zdHJ1Y3RpdmUgY3JpdGljaXNtCisqIEZvY3VzIG9uIHdoYXQgaXMgYmVzdCBmb3IgdGhl
IGNvbW11bml0eQorKiBSZXNvbHZlIGRpZmZlcmVuY2VzIGluIG9waW5pb24gZWZmZWN0aXZlbHkK
KworIyMgVGhlb3J5OiBQYXVsIEdyYWhhbSdzIGhpZXJhcmNoeSBvZiBkaXNhZ3JlZW1lbnQKKwor
UGF1bCBHcmFoYW0gcHJvcG9zZWQgYSAqKmRpc2FncmVlbWVudCBoaWVyYXJjaHkqKiBpbiBhIDIw
MDggZXNzYXkKKyoqW0hvdyB0byBEaXNhZ3JlZV1bMV0qKiwgcHV0dGluZyB0eXBlcyBvZiBhcmd1
bWVudHMgaW50byBhIHNldmVuLXBvaW50CitoaWVyYXJjaHkgYW5kIG9ic2VydmluZyB0aGF0ICpt
b3ZpbmcgdXAgdGhlIGRpc2FncmVlbWVudCBoaWVyYXJjaHkgbWFrZXMgcGVvcGxlCitsZXNzIG1l
YW4sIGFuZCB3aWxsIG1ha2UgbW9zdCBvZiB0aGVtIGhhcHBpZXIqLiBHcmFoYW0gYWxzbyBzdWdn
ZXN0ZWQgdGhhdCB0aGUKK2hpZXJhcmNoeSBjYW4gYmUgdGhvdWdodCBvZiBhcyBhIHB5cmFtaWQs
IGFzIHRoZSBoaWdoZXN0IGZvcm1zIG9mIGRpc2FncmVlbWVudAorYXJlIHJhcmVyLgorCit8ICFb
R3JhaGFtJ3MgSGllcmFyY2h5IG9mIERpc2FncmVlbWVudF1bMl0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB8Cit8ICpBIHJlcHJlc2VudGF0aW9uIG9mIEdyYWhhbSdzIGhpZXJh
cmNoeSBvZiBkaXNhZ3JlZW1lbnQgZnJvbSBbTG91ZGFjcmlzXVszXQorICBtb2RpZmllZCBieSBb
Um9ja2V0MDAwXVs0XSogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfAorCitJbiB0aGUgY29udGV4dCBvZiB0aGUgWGVuIFByb2plY3Qgd2Ugc3RyaXZlIHRv
ICoqb25seSB1c2UgdGhlIHRvcCBoYWxmKiogb2YgdGhlCitoaWVyYXJjaHkuICoqTmFtZS1jYWxs
aW5nKiogYW5kICoqQWQgaG9taW5lbSoqIGFyZ3VtZW50cyBhcmUgbm90IGFjY2VwdGFibGUKK3dp
dGhpbiB0aGUgWGVuIFByb2plY3QuCisKKyMjIElzc3VlOiBTY29wZSBjcmVlcAorCitPbmUgdGhp
bmcgd2hpY2ggb2NjYXNpb25hbGx5IGhhcHBlbnMgZHVyaW5nIGNvZGUgcmV2aWV3IGlzIHRoYXQg
YSBjb2RlIHJldmlld2VyCithc2tzIG9yIGFwcGVhcnMgdG8gYXNrIHRoZSBhdXRob3Igb2YgYSBw
YXRjaCB0byBpbXBsZW1lbnQgYWRkaXRpb25hbAorZnVuY3Rpb25hbGl0aWVzLgorCitUaGlzIGNv
dWxkIHRha2UgZm9yIGV4YW1wbGUgdGhlIGZvcm0gb2YKKz4gRG8geW91IHRoaW5rIGl0IHdvdWxk
IGJlIHVzZWZ1bCBmb3IgdGhlIGNvZGUgdG8gZG8gWFhYPworPiBJIGNhbiBpbWFnaW5lIGEgdXNl
ciB3YW50aW5nIHRvIGRvIFlZWSAoYW5kIFhYWCB3b3VsZCBlbmFibGUgdGhpcykKKworVGhhdCBw
b3RlbnRpYWxseSBhZGRzIGFkZGl0aW9uYWwgd29yayBmb3IgdGhlIGNvZGUgYXV0aG9yLCB3aGlj
aCB0aGV5IG1heSBub3QKK2hhdmUgdGhlIHRpbWUgdG8gcGVyZm9ybS4gSXQgaXMgZ29vZCBwcmFj
dGljZSBmb3IgYXV0aG9ycyB0byBjb25zaWRlciBzdWNoIGEKK3JlcXVlc3QgaW4gdGVybXMgb2YK
KyogVXNlZnVsbmVzcyB0byB0aGUgdXNlcgorKiBDb2RlIGNodXJuLCBjb21wbGV4aXR5IG9yIGlt
cGFjdCBvbiBvdGhlciBzeXN0ZW0gcHJvcGVydGllcworKiBFeHRyYSB0aW1lIHRvIGltcGxlbWVu
dCBhbmQgcmVwb3J0IGJhY2sgdG8gdGhlIHJldmlld2VyCisKK0lmIHlvdSBiZWxpZXZlIHRoYXQg
dGhlIGltcGFjdC9jb3N0IGlzIHRvbyBoaWdoLCByZXBvcnQgYmFjayB0byB0aGUgcmV2aWV3ZXIu
CitUbyByZXNvbHZlIHRoaXMsIGl0IGlzIGFkdmlzYWJsZSB0bworKiBSZXBvcnQgeW91ciBmaW5k
aW5ncworKiBBbmQgdGhlbiBjaGVjayB3aGV0aGVyIHRoaXMgd2FzIG1lcmVseSBhbiBpbnRlcmVz
dGluZyBzdWdnZXN0aW9uLCBvciBzb21ldGhpbmcKKyAgdGhlIHJldmlld2VyIGZlZWxzIG1vcmUg
c3Ryb25nbHkgYWJvdXQKKworSW4gdGhlIGxhdHRlciBjYXNlLCB0aGVyZSBhcmUgdHlwaWNhbGx5
IHNldmVyYWwgY29tbW9uIG91dGNvbWVzCisqIFRoZSAqKmF1dGhvciBhbmQgcmV2aWV3ZXIgYWdy
ZWUqKiB0aGF0IHRoZSBzdWdnZXN0aW9uIHNob3VsZCBiZSBpbXBsZW1lbnRlZAorKiBUaGUgKiph
dXRob3IgYW5kIHJldmlld2VyIGFncmVlKiogdGhhdCBpdCBtYXkgbWFrZSBzZW5zZSB0byBkZWZl
cgorICBpbXBsZW1lbnRhdGlvbgorKiBUaGUgKiphdXRob3IgYW5kIHJldmlld2VyIGFncmVlKiog
dGhhdCBpdCBtYWtlcyBubyBzZW5zZSB0byBpbXBsZW1lbnQgdGhlCisgIHN1Z2dlc3Rpb24KKwor
VGhlIGF1dGhvciBvZiBhIHBhdGNoIHdvdWxkIHR5cGljYWxseSBzdWdnZXN0IHRoZWlyIHByZWZl
cnJlZCBvdXRjb21lLCBmb3IKK2V4YW1wbGUKKz4gSSBhbSBub3Qgc3VyZSBpdCBpcyB3b3J0aCB0
byBpbXBsZW1lbnQgWFhYCis+IERvIHlvdSB0aGluayB0aGlzIGNvdWxkIGJlIGRvbmUgYXMgYSBz
ZXBhcmF0ZSBwYXRjaCBpbiBmdXR1cmU/CisKK0luIGNhc2VzLCB3aGVyZSBubyBhZ3JlZW1lbnQg
Y2FuIGJlIGZvdW5kLCB0aGUgYmVzdCBhcHByb2FjaCB3b3VsZCBiZSB0byBnZXQgYW4KK2luZGVw
ZW5kZW50IG9waW5pb24gZnJvbSBhbm90aGVyIG1haW50YWluZXIgb3IgdGhlIHByb2plY3QncyBs
ZWFkZXJzaGlwIHRlYW0uCisKKyMjIElzc3VlOiBbQmlrZXNoZWRkaW5nXVs1XQorCitPY2Nhc2lv
bmFsbHkgZGlzY3Vzc2lvbnMgYWJvdXQgdW5pbXBvcnRhbnQgYnV0IGVhc3ktdG8tZ3Jhc3AgaXNz
dWVzIGNhbiBsZWFkIHRvCitwcm9sb25nZWQgYW5kIHVucHJvZHVjdGl2ZSBkaXNjdXNzaW9ucy4g
VGhlIGJlc3Qgd2F5IHRvIGFwcHJvYWNoIHRoaXMgaXMgdG8KK3RyeSBhbmQgKiphbnRpY2lwYXRl
KiogYmlrZXNoZWRkaW5nIGFuZCBoaWdobGlnaHQgaXQgYXMgc3VjaCB1cGZyb250LiBIb3dldmVy
LAordGhlIGZvcm1hdCBvZiBhIGNvZGUgcmV2aWV3IGRvZXMgbm90IGFsd2F5cyBsZW5kIGl0c2Vs
ZiB3ZWxsIHRvIHRoaXMgYXBwcm9hY2gsCitleGNlcHQgZm9yIGhpZ2hsaWdodGluZyBpdCBpbiB0
aGUgY292ZXIgbGV0dGVyIG9mIGEgcGF0Y2ggc2VyaWVzLgorCitIb3dldmVyLCB0eXBpY2FsbHkg
QmlrZXNoZWRkaW5nIGlzc3VlcyBhcmUgZmFpcmx5IGVhc3kgdG8gcmVjb2duaXplIGluIGEgY29k
ZQorcmV2aWV3LCBhcyB5b3Ugd2lsbCB2ZXJ5IHF1aWNrbHkgZ2V0IGRpZmZlcmVudCByZXZpZXdl
cnMgcHJvdmlkaW5nIGRpZmZlcmluZworb3BpbmlvbnMuIEluIHRoaXMgY2FzZSBpdCBpcyBiZXN0
IGZvciB0aGUgYXV0aG9yIG9yIGEgcmV2aWV3ZXIgdG8gY2FsbCBvdXQgdGhlCitwb3RlbnRpYWwg
YmlrZXNoZWRkaW5nIGlzc3VlIHVzaW5nIHNvbWV0aGluZyBsaWtlCisKKz4gTG9va3Mgd2UgaGF2
ZSBhIGJpa2VzaGVkZGluZyBpc3N1ZSBoZXJlCis+IEkgdGhpbmsgd2Ugc2hvdWxkIGNhbGwgYSBx
dWljayB2b3RlIHRvIHNldHRsZSB0aGUgaXNzdWUKKworT3VyIGdvdmVybmFuY2UgcHJvdmlkZXMg
dGhlIG1lY2hhbmlzbXMgb2YgW2luZm9ybWFsIHZvdGVzXVs2XSBvcgorW2xhenkgdm90aW5nXVs3
XSB3aGljaCBsZW5kIHRoZW1zZWx2ZXMgd2VsbCB0byByZXNvbHZlIHN1Y2ggaXNzdWVzLgorCisj
IyBJc3N1ZTogU21hbGwgZnVuY3Rpb25hbCBpc3N1ZXMKKworVGhlIG1vc3QgY29tbW9uIGFyZWEg
b2YgZGlzYWdyZWVtZW50cyB3aGljaCBoYXBwZW4gaW4gY29kZSByZXZpZXdzLCBhcmUKK2RpZmZl
cmluZyBvcGluaW9ucyBvbiB3aGV0aGVyIHNtYWxsIGZ1bmN0aW9uYWwgaXNzdWVzIGluIGEgcGF0
Y2ggc2VyaWVzIGhhdmUgdG8KK2JlIHJlc29sdmVkIG9yIG5vdCBiZWZvcmUgdGhlIGNvZGUgaXMg
cmVhZHkgdG8gYmUgc3VibWl0dGVkLiBTdWNoIGRpc2FncmVlbWVudHMKK2FyZSB0eXBpY2FsbHkg
Y2F1c2VkIGJ5IGRpZmZlcmVudCBleHBlY3RhdGlvbnMgcmVsYXRlZCB0byB0aGUgbGV2ZWwgb2YK
K3BlcmZlY3Rpb24gYSBwYXRjaCBzZXJpZXMgbmVlZHMgdG8gZnVsZmlsIGJlZm9yZSBpdCBjYW4g
YmUgY29uc2lkZXJlZCByZWFkeSB0bworYmUgY29tbWl0dGVkLgorCitUbyBleHBsYWluIHRoaXMg
YmV0dGVyLCBJIGFtIGdvaW5nIHRvIHVzZSB0aGUgYW5hbG9neSBvZiBzb21lIGJ1aWxkaW5nIHdv
cmsgdGhhdAoraGFzIGJlZW4gcGVyZm9ybWVkIGF0IHlvdXIgaG91c2UuIExldCdzIHNheSB0aGF0
IHlvdSBoYXZlIGEgbmV3IGJhdGhyb29tCitpbnN0YWxsZWQuIEJlZm9yZSBwYXlpbmcgeW91ciBi
dWlsZGVyIHRoZSBsYXN0IGluc3RhbG1lbnQsIHlvdSBwZXJmb3JtIGFuCitpbnNwZWN0aW9uIGFu
ZCB5b3UgZmluZCBpc3N1ZXMgc3VjaCBhcworKiBUaGUgc2VhbHMgYXJvdW5kIHRoZSBiYXRodHVi
IGFyZSBub3QgcGVyZmVjdGx5IGV2ZW4KKyogV2hlbiB5b3Ugb3BlbiB0aGUgdGFwLCB0aGUgcGx1
bWJpbmcgaW5pdGlhbGx5IG1ha2VzIHNvbWUgbG91ZCBub2lzZQorKiBUaGUgc2hvd2VyIG1peGVy
IGhhcyBiZWVuIGluc3RhbGxlZCB0aGUgd3Jvbmcgd2F5IGFyb3VuZAorCitJbiBhbGwgdGhlc2Ug
Y2FzZXMsIHRoZSBiYXRocm9vbSBpcyBwZXJmZWN0bHkgZnVuY3Rpb25hbCwgYnV0IG5vdCBwZXJm
ZWN0LiBBdAordGhpcyBwb2ludCB5b3UgaGF2ZSB0aGUgY2hvaWNlIHRvIHRyeSBhbmQgZ2V0IGFs
bCB0aGUgaXNzdWVzIGFkZHJlc3NlZCwgd2hpY2ggaW4KK3RoZSBleGFtcGxlIG9mIHRoZSBzaG93
ZXIgbWl4ZXIgbWF5IHJlcXVpcmUgc2lnbmlmaWNhbnQgcmUtd29yayBhbmQgcG90ZW50aWFsbHkK
K3B1c2gtYmFjayBmcm9tIHlvdXIgYnVpbGRlci4gWW91IG1heSBoYXZlIHRvIHJlZmVyIHRvIHRo
ZSBpbml0aWFsIHN0YXRlbWVudCBvZgord29yaywgYnV0IGl0IHR1cm5zIG91dCBpdCBkb2VzIG5v
dCBjb250YWluIHN1ZmZpY2llbnQgaW5mb3JtYXRpb24gdG8gYXNjZXJ0YWluCit3aGV0aGVyIHlv
dXIgYnVpbGRlciBoYWQgY29tbWl0dGVkIHRvIHRoZSBsZXZlbCBvZiBxdWFsaXR5IHlvdSB3ZXJl
IGV4cGVjdGluZy4KKworU2ltaWxhciBzaXR1YXRpb25zIGhhcHBlbiBpbiBjb2RlIHJldmlld3Mg
dmVyeSBmcmVxdWVudGx5IGFuZCBjYW4gbGVhZCB0byBhIGxvbmcKK2Rpc2N1c3Npb24gYmVmb3Jl
IGl0IGNhbiBiZSByZXNvbHZlZC4gVGhlIG1vc3QgaW1wb3J0YW50IHRoaW5nIGlzIHRvCisqKmlk
ZW50aWZ5KiogYSBkaXNhZ3JlZW1lbnQgYXMgc3VjaCBlYXJseSBhbmQgdGhlbiBjYWxsIGl0IG91
dC4gVGlwcyBvbiBob3cgdG8KK2RvIHRoaXMsIGNhbiBiZSBmb3VuZCBbaGVyZV1bOF0uCisKK0F0
IHRoaXMgcG9pbnQsIHlvdSB3aWxsIHVuZGVyc3RhbmQgd2h5IHlvdSBoYXZlIHRoZSBkaXNhZ3Jl
ZW1lbnQsIGJ1dCBub3QKK25lY2Vzc2FyaWx5IGFncmVlbWVudCBvbiBob3cgdG8gbW92ZSBmb3J3
YXJkLiBBbiBlYXN5IGZpeCB3b3VsZCBiZSB0byBhZ3JlZSB0bworc3VibWl0IHRoZSBjaGFuZ2Ug
YXMgaXQgaXMgYW5kIGZpeCBpdCBpbiBmdXR1cmUuIEluIGEgY29ycG9yYXRlIHNvZnR3YXJlCitl
bmdpbmVlcmluZyBlbnZpcm9ubWVudCB0aGlzIGlzIHRoZSBtb3N0IGxpa2VseSBvdXRjb21lLCBi
dXQgaW4gb3BlbiBzb3VyY2UKK2NvbW11bml0aWVzIGFkZGl0aW9uYWwgY29uY2VybnMgaGF2ZSB0
byBiZSBjb25zaWRlcmVkLgorKiBDb2RlIHJldmlld2VycyBmcmVxdWVudGx5IGhhdmUgYmVlbiBp
biB0aGlzIHNpdHVhdGlvbiBiZWZvcmUgd2l0aCB0aGUgbW9zdAorICBjb21tb24gb3V0Y29tZSB0
aGF0IHRoZSBpc3N1ZSBpcyB0aGVuIG5ldmVyIGZpeGVkLiBCeSBhY2NlcHRpbmcgdGhlIGNoYW5n
ZSwKKyAgdGhlIHJldmlld2VycyBoYXZlIG5vIGxldmVyYWdlIHRvIGZpeCB0aGUgaXNzdWUgYW5k
IG1heSBoYXZlIHRvIHNwZW5kIGVmZm9ydAorICBmaXhpbmcgdGhlIGlzc3VlIHRoZW1zZWx2ZXMg
aW4gZnV0dXJlIGFzIGl0IG1heSBpbXBhY3QgdGhlIHByb2R1Y3QgdGhleSBidWlsdAorICBvbiB0
b3Agb2YgdGhlIGNvZGUuCisqIENvbnZlcnNlbHksIGEgcmV2aWV3ZXIgbWF5IGJlIGFza2luZyB0
aGUgYXV0aG9yIHRvIG1ha2UgdG9vIG1hbnkgY2hhbmdlcyBvZgorICB0aGlzIHR5cGUgd2hpY2gg
dWx0aW1hdGVseSBtYXkgbGVhZCB0aGUgYXV0aG9yIHRvIG5vdCBjb250cmlidXRlIHRvIHRoZQor
ICBwcm9qZWN0IGFnYWluLgorKiBBbiBhdXRob3IsIHdoaWNoIGNvbnNpc3RlbnRseSBkb2VzIG5v
dCBhZGRyZXNzICoqYW55Kiogb2YgdGhlc2UgaXNzdWVzIG1heQorICBlbmQgdXAgZ2V0dGluZyBh
IGJhZCByZXB1dGF0aW9uIGFuZCBtYXkgZmluZCBmdXR1cmUgY29kZSByZXZpZXdzIG1vcmUKKyAg
ZGlmZmljdWx0LgorKiBBbiBhdXRob3Igd2hpY2ggYWx3YXlzIGFkZHJlc3NlcyAqKmFsbCoqIG9m
IHRoZXNlIGlzc3VlcyBtYXkgZW5kIHVwIGdldHRpbmcKKyAgaW50byBkaWZmaWN1bHRpZXMgd2l0
aCB0aGVpciBlbXBsb3llciwgYXMgdGhleSBhcmUgdG9vIHNsb3cgZ2V0dGluZyBjb2RlCisgIHVw
c3RyZWFtZWQuCisKK05vbmUgb2YgdGhlc2Ugb3V0Y29tZXMgYXJlIGdvb2QsIHNvIHVsdGltYXRl
bHkgYSBiYWxhbmNlIGhhcyB0byBiZSBmb3VuZC4gQXQKK3RoZSBlbmQgb2YgdGhlIGRheSwgdGhl
IHNvbHV0aW9uIHNob3VsZCBmb2N1cyBvbiB3aGF0IGlzIGJlc3QgZm9yIHRoZSBjb21tdW5pdHks
Cit3aGljaCBtYXkgbWVhbiBhc2tpbmcgZm9yIGFuIGluZGVwZW5kZW50IG9waW5pb24gYXMgb3V0
bGluZWQgaW4gdGhlIG5leHQKK3NlY3Rpb24uCisKKyMjIElzc3VlOiBNdWx0aXBsZSB3YXlzIHRv
IHNvbHZlIGEgcHJvYmxlbQorCitGcmVxdWVudGx5IGl0IGlzIHBvc3NpYmxlIHRoYXQgYSBwcm9i
bGVtIGNhbiBiZSBzb2x2ZWQgaW4gbXVsdGlwbGUgd2F5cyBhbmQgaXQKK2lzIG5vdCBhbHdheXMg
b2J2aW91cyB3aGljaCBvbmUgaXMgYmVzdC4gQ29kZSByZXZpZXdlcnMgdGVuZCB0byBmb2xsb3cg
dGhlaXIKK3BlcnNvbmFsIGNvZGluZyBzdHlsZSB3aGVuIHJldmlld2luZyBjaWRlIGFuZCBzb21l
dGltZXMgd2lsbCBzdWdnZXN0IHRoYXQgYQorY29kZSBhdXRob3IgbWFrZXMgY2hhbmdlcyB0byBm
b2xsb3cgdGhlaXIgb3duIHN0eWxlLCBldmVuIHdoZW4gdGhlIGF1dGhvcidzCitjb2RlIGlzIGNv
cnJlY3QuIEluICBzdWNoIGNhc2VzLCBpdCBpcyBlYXN5IHRvIGRpc2FncmVlIGFuZCBzdGFydCBh
cmd1aW5nLgorCitXZSByZWNvbW1lbmQgdGhhdCB0aGUgY29kZSBhdXRob3IgdHJpZXMgdG8gZm9s
bG93IHRoZSBjb2RlIHJldmlld2VycyByZXF1ZXN0cywKK2V2ZW4gIGlmIHRoZXkgY291bGQgYmUg
Y29uc2lkZXJlZCBzdHlsZSBpc3N1ZXMsIHRydXN0aW5nIHRoZSBleHBlcmllbmNlIG9mIHRoZQor
Y29kZSByZXZpZXdlci4gU2ltaWxhcmx5LCB3ZSBhc2sgY29kZSByZXZpZXdlcnMgdG8gbGV0IHRo
ZSBjb250cmlidXRvciBoYXZlIHRoZQorZnJlZWRvbSBvZiBpbXBsZW1lbnRhdGlvbiBjaG9pY2Vz
LCB3aGVyZSB0aGV5IGRvIG5vdCBoYXZlIGEgZG93bnNpZGUuCisKK1dlIGRvIG5vdCBhbHdheXMg
c3VjY2VlZCBpbiB0aGlzLCBhcyBzdWNoIGl0IGlzIGltcG9ydGFudCB0byAqKmlkZW50aWZ5Kiog
c3VjaCBhCitzaXR1YXRpb24gYW5kIHRoZW4gY2FsbCBpdCBvdXQgYXMgb3V0bGluZWQgW2hlcmVd
WzhdLgorCisjIyBSZXNvbHV0aW9uOiBBc2tpbmcgZm9yIGFuIGluZGVwZW5kZW50IG9waW5pb24K
KworTW9zdCBkaXNhZ3JlZW1lbnRzIGNhbiBiZSBzZXR0bGVkIGJ5CisqIEFza2luZyBhbm90aGVy
IG1haW50YWluZXIgb3IgY29tbWl0dGVyIHRvIHByb3ZpZGUgYW4gaW5kZXBlbmRlbnQgb3Bpbmlv
biBvbiB0aGUKKyAgc3BlY2lmaWMgaXNzdWUgaW4gcHVibGljIHRvIGhlbHAgcmVzb2x2ZSBpdAor
KiBGYWlsaW5nIHRoaXMgYW4gaXNzdWUgY2FuIGJlIGVzY2FsYXRlZCB0byB0aGUgcHJvamVjdCBs
ZWFkZXJzaGlwIHRlYW0sIHdoaWNoIGlzCisgIGV4cGVjdGVkIHRvIGFjdCBhcyByZWZlcmVlIGFu
ZCBtYWtlIGEgZGVjaXNpb24gb24gYmVoYWxmIG9mIHRoZSBjb21tdW5pdHkKKworSWYgeW91IGZl
ZWwgdW5jb21mb3J0YWJsZSB3aXRoIHRoaXMgYXBwcm9hY2gsIHlvdSBtYXkgYWxzbyBjb250YWN0
CittZWRpYXRpb25AeGVucHJvamVjdC5vcmcgdG8gZ2V0IGFkdmljZS4gU2VlIG91ciBbQ29tbXVu
aWNhdGlvbiBHdWlkZV1bOV0KK2ZvciBtb3JlIGluZm9ybWF0aW9uLgorCisjIyBEZWNpc2lvbiBt
YWtpbmcgYW5kIGNvbmZsaWN0IHJlc29sdXRpb24gaW4gb3VyIGdvdmVybmFuY2UKKworT3VyIFtn
b3Zlcm5hbmNlXVtBXSBjb250YWlucyBzZXZlcmFsIHByb3ZlbiBtZWNoYW5pc21zIHRvIGhlbHAg
d2l0aCBkZWNpc2lvbgorbWFraW5nIGFuZCBjb25mbGljdCByZXNvbHV0aW9uLgorCitTZWUKKyog
W0V4cHJlc3NpbmcgYWdyZWVtZW50IGFuZCBkaXNhZ3JlZW1lbnRdW0JdCisqIFtMYXp5IGNvbnNl
bnN1cyAvIExhenkgdm90aW5nXVs3XQorKiBbSW5mb3JtYWwgdm90ZXMgb3Igc3VydmV5c11bNl0K
KyogW0xlYWRlcnNoaXAgdGVhbSBkZWNpc2lvbnNdW0NdCisqIFtDb25mbGljdCByZXNvbHV0aW9u
XVtEXQorCitbMV06IGh0dHA6Ly93d3cucGF1bGdyYWhhbS5jb20vZGlzYWdyZWUuaHRtbAorWzJd
OiBodHRwczovL3VwbG9hZC53aWtpbWVkaWEub3JnL3dpa2lwZWRpYS9jb21tb25zL2EvYTMvR3Jh
aGFtJTI3c19IaWVyYXJjaHlfb2ZfRGlzYWdyZWVtZW50LWVuLnN2ZworWzNdOiBodHRwOi8vd3d3
LmNyZWF0ZWRlYmF0ZS5jb20vdXNlci92aWV3cHJvZmlsZS9Mb3VkYWNyaXMKK1s0XTogaHR0cHM6
Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVXNlcjpSb2NrZXQwMDAKK1s1XTogaHR0cHM6Ly9lbi53
aWt0aW9uYXJ5Lm9yZy93aWtpL2Jpa2VzaGVkZGluZworWzZdOiBodHRwczovL3hlbnByb2plY3Qu
b3JnL2RldmVsb3BlcnMvZ292ZXJuYW5jZS8jaW5mb3JtYWwtdm90ZXMtb3Itc3VydmV5cworWzdd
OiBodHRwczovL3hlbnByb2plY3Qub3JnL2RldmVsb3BlcnMvZ292ZXJuYW5jZS8jbGF6eWNvbnNl
bnN1cworWzhdOiBjb21tdW5pY2F0aW9uLXByYWN0aWNlLm1kI01pc3VuZGVyc3RhbmRpbmdzCitb
OV06IGNvbW11bmljYXRpb24tZ3VpZGUubWQKK1tBXTogaHR0cHM6Ly94ZW5wcm9qZWN0Lm9yZy9k
ZXZlbG9wZXJzL2dvdmVybmFuY2UvI2RlY2lzaW9ucworW0JdOiBodHRwczovL3hlbnByb2plY3Qu
b3JnL2RldmVsb3BlcnMvZ292ZXJuYW5jZS8jZXhwcmVzc2luZ29waW5pb24KK1tDXTogaHR0cHM6
Ly94ZW5wcm9qZWN0Lm9yZy9kZXZlbG9wZXJzL2dvdmVybmFuY2UvI2xlYWRlcnNoaXAKK1tEXTog
aHR0cHM6Ly94ZW5wcm9qZWN0Lm9yZy9kZXZlbG9wZXJzL2dvdmVybmFuY2UvI2NvbmZsaWN0Ci0t
IAoyLjEzLjAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0
Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9z
LWRldmVs

From minios-devel-bounces@lists.xenproject.org Mon Dec 16 08:29:28 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 16 Dec 2019 08:29:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1iglkr-0005z8-15; Mon, 16 Dec 2019 08:29:25 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=6iYZ=2C=xenproject.org=lars.kurth@srs-us1.protection.inumbo.net>)
 id 1ifVoU-0006TU-AB
 for minios-devel@lists.xenproject.org; Thu, 12 Dec 2019 21:15:58 +0000
X-Inumbo-ID: 736d2acd-1d24-11ea-8e25-12813bfff9fa
Received: from mail.xenproject.org (unknown [104.130.215.37])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 736d2acd-1d24-11ea-8e25-12813bfff9fa;
 Thu, 12 Dec 2019 21:14:59 +0000 (UTC)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1ifVnU-00015c-K3; Thu, 12 Dec 2019 21:14:56 +0000
Received: from localhost ([127.0.0.1] helo=localhost.localdomain)
 by xenbits.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1ifVnU-0000Bm-Fh; Thu, 12 Dec 2019 21:14:56 +0000
From: Lars Kurth <lars.kurth@xenproject.org>
To: xen-devel@lists.xenproject.org
Date: Thu, 12 Dec 2019 21:14:31 +0000
Message-Id: <02a32deb820bafa7719734de7bb14af173dbab23.1576184325.git.lars.kurth@citrix.com>
X-Mailer: git-send-email 2.13.0
In-Reply-To: <cover.1576184325.git.lars.kurth@citrix.com>
References: <cover.1576184325.git.lars.kurth@citrix.com>
MIME-Version: 1.0
In-Reply-To: <cover.1576184325.git.lars.kurth@citrix.com>
References: <cover.1576184325.git.lars.kurth@citrix.com>
X-Mailman-Approved-At: Mon, 16 Dec 2019 08:29:23 +0000
Subject: [Minios-devel] [PATCH v3 4/7] Add Communication Guide
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Lars Kurth <lars.kurth@citrix.com>, xen-api@lists.xenproject.org,
 minios-devel@lists.xenproject.org, committers@xenproject.org,
 mirageos-devel@lists.xenproject.org, win-pv-devel@lists.xenproject.org
Content-Type: multipart/mixed; boundary="===============2386043640258272121=="
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

--===============2386043640258272121==
Content-Type: text/plain; charset=Y
Content-Transfer-Encoding: 8bit

From: Lars Kurth <lars.kurth@citrix.com>

This document is a portal page that lays out our gold standard,
best practices for some common situations and mechanisms to help
resolve issues that can have a negative effect on our community.

Detail is covered in subsequent documents

Changes since v2 (introduced in v2)
- Make lines break at 80 characters

Signed-off-by: Lars Kurth <lars.kurth@citrix.com>
---
Cc: minios-devel@lists.xenproject.org
Cc: xen-api@lists.xenproject.org
Cc: win-pv-devel@lists.xenproject.org
Cc: mirageos-devel@lists.xenproject.org
Cc: committers@xenproject.org
---
 communication-guide.md | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 67 insertions(+)
 create mode 100644 communication-guide.md

diff --git a/communication-guide.md b/communication-guide.md
new file mode 100644
index 0000000..3c412d9
--- /dev/null
+++ b/communication-guide.md
@@ -0,0 +1,67 @@
+# Communication Guide
+
+We believe that our [Code of Conduct](code-of-conduct.md) can help create a
+harassment-free environment, but is not sufficient to create a welcoming
+environment on its own. We can all make mistakes: when we do, we take
+responsibility for them and try to improve.
+
+This document lays out our gold standard, best practices for some common
+situations and mechanisms to help resolve issues that can have a
+negative effect on our community.
+
+## Goal
+
+We want a productive, welcoming and agile community that can welcome new
+ideas in a complex technical field which is able to reflect on and improve how
+we work.
+
+## Communication & Handling Differences in Opinions
+
+Examples of behavior that contributes to creating a positive environment
+include:
+* Use welcoming and inclusive language
+* Keep discussions technical and actionable
+* Be respectful of differing viewpoints and experiences
+* Be aware of your own and counterpart’s communication style and culture
+* Gracefully accept constructive criticism
+* Focus on what is best for the community
+* Show empathy towards other community members
+* Resolve differences in opinion effectively
+
+## Getting Help
+
+When developing code collaboratively, technical discussion and disagreements
+are unavoidable. Our contributors come from different countries and cultures,
+are driven by different goals and take pride in their work and in their point
+of view. This invariably can lead to lengthy and unproductive debate,
+followed by indecision, sometimes this can impact working relationships
+or lead to other issues that can have a negative effect on our community.
+
+To minimize such issue, we provide a 3-stage process
+* Self-help as outlined in this document
+* Ability to ask for an independent opinion or help in private
+* Mediation between parties which disagree. In this case a neutral community
+  member assists the disputing parties resolve the issues or will work with the
+  parties such that they can improve future interactions.
+
+If you need and independent opinion or help, feel free to contact
+mediation@xenproject.org. The team behind mediation@ is made up of the
+same community members as those listed in the Conduct Team: see
+[Code of Conduct](code-of-conduct.md). In addition, team members are obligated
+to maintain confidentiality with regard discussions that take place. If you
+have concerns about any of the members of the mediation@ alias, you are
+welcome to contact precisely the team member(s) of your choice. In this case,
+please make certain that you highlight the nature of a request by making sure
+that either help or mediation is mentioned in the e-mail subject or body.
+
+## Specific Topics and Best Practice
+
+* [Code Review Guide](code-review-guide.md):
+  Essential reading for code reviewers and contributors
+* [Communication Best Practice](communication-practice.md):
+  This guide covers communication guidelines for code reviewers and reviewees.
+  It should help you create self-awareness, anticipate, avoid  and help resolve
+  communication issues.
+* [Resolving Disagreement](resolving-disagreement.md):
+  This guide lays out common situations that can lead to dead-lock and shows
+  common patterns on how to avoid and resolve issues.
-- 
2.13.0



--===============2386043640258272121==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRl
dmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

--===============2386043640258272121==--

From minios-devel-bounces@lists.xenproject.org Mon Dec 16 08:29:28 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 16 Dec 2019 08:29:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1iglkr-000600-Jv; Mon, 16 Dec 2019 08:29:25 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=1b+M=2F=gmail.com=cason.j.schindler@srs-us1.protection.inumbo.net>)
 id 1igLfN-0002fj-MC
 for minios-devel@lists.xen.org; Sun, 15 Dec 2019 04:38:01 +0000
X-Inumbo-ID: ab3e9842-1ef4-11ea-b6f1-bc764e2007e4
Received: from mail-ot1-x343.google.com (unknown [2607:f8b0:4864:20::343])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id ab3e9842-1ef4-11ea-b6f1-bc764e2007e4;
 Sun, 15 Dec 2019 04:37:58 +0000 (UTC)
Received: by mail-ot1-x343.google.com with SMTP id a15so4480379otf.1
 for <minios-devel@lists.xen.org>; Sat, 14 Dec 2019 20:37:58 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:to:cc:subject:date:message-id:in-reply-to:references:reply-to
 :mime-version:content-transfer-encoding;
 bh=qkhN2RU/tQ9Ms6/ZQ9Bnk6uMW6xpvBVnNz9TB3qjVIA=;
 b=pYH3gGzJMRNGvCWIFqi6wTOm52YafJ5MtwRDPpwIJ0viZ3FpCCHTMqnXX3ItVZLQy+
 AlBfUM4HF3BGi3tMhzr2p3LEn7J9Od6ib7i0Z2+/F9TNmUDH7yj+UKr900p6NaipWOKX
 DLD0X3TGkq7rS3iz0hc5Y3lxm42WySHcne1Ov+fGYaJNopgPpbtlphPIflE28qYZykbT
 XJIyConBoXEc2qo2PXw+KslX1ZLThgysfwdxYHsiylcDz1KmW0x4Q5bPGvtdGzLJlCTi
 7Avh3JkEoCGburnlG6PvWcAt0feY6x+VBjmugLlCuaGa1Rs3mRMrbhNSpCYl6ZMdSVof
 ixLg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
 :references:reply-to:mime-version:content-transfer-encoding;
 bh=qkhN2RU/tQ9Ms6/ZQ9Bnk6uMW6xpvBVnNz9TB3qjVIA=;
 b=Ga6x6MPJ3o3JQD8fh3zRCSGnPfE+0cJQgTaldNqz7x9GRl0YlA64d7IxzVi86p19RV
 2v5nAmII6RzMpZOQhnVapxjeoCrSortffEoITHmhI6qsRsKUMZHgAfs8SQl2azMFjD5W
 q1LNfa5pkD8TVnPyQq6ftZXqnQD+0Ci7tg442EQ2KzdNxeZpBDo+KGYUNt3NozNsz6ta
 T4V/aLDNSumJ3tLGwOuSXaHTwbQ74iVKeh/mRL8dNQM+r7Ri+5P/qmOZNqxWISo0dBmU
 wnQ+Gibkiimu+iWXZIaGkj08yrAdt1GlJLxa5mxd0UC7DNuncPzdYScW9g1kcH6rXAUL
 es8w==
X-Gm-Message-State: APjAAAWbajV8L79Xuhtl0WQvI200JT6KF0dPAqA/vFm6/VQ6mhD0iaUR
 uUK4gSKB1YFXXS3T7C7rRhIaNzZJIY8=
X-Google-Smtp-Source: APXvYqwS9HkOXEB0ol//4UaOZ2ecHOf5PXKXR9N13TU7sRml+2/rXpghoCAhb1oRHoIL1TYj05CUug==
X-Received: by 2002:a05:6830:1d6:: with SMTP id
 r22mr24913663ota.196.1576384677762; 
 Sat, 14 Dec 2019 20:37:57 -0800 (PST)
Received: from rousseau.cs.utexas.edu (rousseau.cs.utexas.edu. [128.83.130.92])
 by smtp.gmail.com with ESMTPSA id q16sm5269473otl.74.2019.12.14.20.37.57
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 14 Dec 2019 20:37:57 -0800 (PST)
From: cason.j.schindler@gmail.com
To: minios-devel@lists.xen.org
Date: Sat, 14 Dec 2019 22:37:12 -0600
Message-Id: <20191215043715.28499-3-cason.j.schindler@gmail.com>
X-Mailer: git-send-email 2.24.0
In-Reply-To: <20191215043715.28499-1-cason.j.schindler@gmail.com>
References: <20191215043715.28499-1-cason.j.schindler@gmail.com>
MIME-Version: 1.0
X-Mailman-Approved-At: Mon, 16 Dec 2019 08:29:23 +0000
Subject: [Minios-devel] [UNIKRAFT PATCH 2/5] plat/xen: Xen Balloon Driver
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Reply-To: cason.j.schindler@gmail.com
Cc: felipe.huici@neclab.eu, simon.kuenzer@neclab.eu, raney.jack99@gmail.com,
 Cason Schindler <cason.j.schindler@gmail.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogQ2Fzb24gU2NoaW5kbGVyIDxjYXNvbi5qLnNjaGluZGxlckBnbWFpbC5jb20+CgpBZGQg
YmFsbG9vbiBkcml2ZXIgdG8gaW50ZXJmYWNlIHdpdGggWGVuIGh5cGVydmlzb3IgdXNpbmcgaHlw
ZXJjYWxscy4KSW1wbGVtZW50IGluZmxhdGUgYW5kIGRlZmxhdGUgQVBJIGNhbGxzLgoKU2lnbmVk
LW9mZi1ieTogSmFjayBSYW5leSA8cmFuZXkuamFjazk5QGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1i
eTogQ2Fzb24gU2NoaW5kbGVyIDxjYXNvbi5qLnNjaGluZGxlckBnbWFpbC5jb20+Ci0tLQogcGxh
dC94ZW4vbWVtb3J5LmMgfCA3OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDc4IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQg
YS9wbGF0L3hlbi9tZW1vcnkuYyBiL3BsYXQveGVuL21lbW9yeS5jCmluZGV4IDhlN2E3ZGQuLmZk
YjhhZmYgMTAwNjQ0Ci0tLSBhL3BsYXQveGVuL21lbW9yeS5jCisrKyBiL3BsYXQveGVuL21lbW9y
eS5jCkBAIC00MCwxMSArNDAsMTUgQEAKICNpZiAoZGVmaW5lZCBfX1g4Nl8zMl9fKSB8fCAoZGVm
aW5lZCBfX1g4Nl82NF9fKQogI2luY2x1ZGUgPHhlbi14ODYvc2V0dXAuaD4KICNpbmNsdWRlIDx4
ZW4teDg2L21tX3B2Lmg+CisjaW5jbHVkZSA8eGVuLXg4Ni9tbS5oPgogI2VsaWYgKGRlZmluZWQg
X19BUk1fMzJfXykgfHwgKGRlZmluZWQgX19BUk1fNjRfXykKICNpbmNsdWRlIDx4ZW4tYXJtL3Nl
dHVwLmg+CiAjaW5jbHVkZSA8eGVuLWFybS9tbS5oPgogI2VuZGlmCiAKKyNpbmNsdWRlIDx4ZW4v
bWVtb3J5Lmg+CisjaW5jbHVkZSA8Y29tbW9uL2h5cGVydmlzb3IuaD4KKwogI2luY2x1ZGUgPHVr
L2Fzc2VydC5oPgogCiBpbnQgdWtwbGF0X21lbXJlZ2lvbl9jb3VudCh2b2lkKQpAQCAtMTYzLDMg
KzE2Nyw3NyBAQCB2b2lkIHVrcGxhdF9zdGFja19zZXRfY3VycmVudF90aHJlYWQodm9pZCAqdGhy
ZWFkX2FkZHIpCiAJZXh0ZXJuIGNoYXIgaXJxc3RhY2tbXTsKIAkqKCh1bnNpZ25lZCBsb25nICop
IGlycXN0YWNrKSA9ICh1bnNpZ25lZCBsb25nKSB0aHJlYWRfYWRkcjsKIH0KKworLyoqCisgKiBz
ZXQgdXAgYW5kIGNhbGwgWGVuIGh5cGVyY2FsbCB0byBhc2sgZm9yIG1lbW9yeSBiYWNrIGZyb20g
WGVuCisqLworaW50IHhlbm1lbV9yZXNlcnZhdGlvbl9pbmNyZWFzZShpbnQgY291bnQsIHhlbl9w
Zm5fdCAqZnJhbWVzLCBpbnQgb3JkZXIpCit7CisgICAgICAgIHN0cnVjdCB4ZW5fbWVtb3J5X3Jl
c2VydmF0aW9uIHJlcyA9IHsKKyNpZiBfX1hFTl9JTlRFUkZBQ0VfVkVSU0lPTl9fID49IDB4MDAw
MzAyMDkKKyAgICAgICAgICAgICAgICAubWVtZmxhZ3MgPSAwOworI2Vsc2UKKyAgICAgICAgICAg
ICAgICAuYWRkcmVzc19iaXRzID0gMCwKKyNlbmRpZgorICAgICAgICAgICAgICAgIC5leHRlbnRf
b3JkZXIgPSBvcmRlciwKKyAgICAgICAgICAgICAgICAuZG9taWQgICAgICAgID0gRE9NSURfU0VM
RgorICAgICAgICB9OworCisgICAgICAgIHNldF94ZW5fZ3Vlc3RfaGFuZGxlKHJlcy5leHRlbnRf
c3RhcnQsIGZyYW1lcyk7CisgICAgICAgIHJlcy5ucl9leHRlbnRzID0gY291bnQ7CisKKwkJLyog
TmVlZHMgcGh5c2ljYWwgZnJhbWUgbnVtYmVyICovCisgICAgICAgIGludCByID0gSFlQRVJWSVNP
Ul9tZW1vcnlfb3AoWEVOTUVNX3BvcHVsYXRlX3BoeXNtYXAsICZyZXMpOworICAgICAgICByZXR1
cm4gcjsKK30KKworLyoqCisgKiBzZXQgdXAgYW5kIGNhbGwgWGVuIGh5cGVyY2FsbCB0byBnaXZl
IG1lbW9yeSB0byBYZW4KKyovCitpbnQgeGVubWVtX3Jlc2VydmF0aW9uX2RlY3JlYXNlKGludCBj
b3VudCwgeGVuX3Bmbl90ICpmcmFtZXMsIGludCBvcmRlcikKK3sKKyAgICAgICAgc3RydWN0IHhl
bl9tZW1vcnlfcmVzZXJ2YXRpb24gcmVzID0geworI2lmIF9fWEVOX0lOVEVSRkFDRV9WRVJTSU9O
X18gPj0gMHgwMDAzMDIwOQorICAgICAgICAgICAgICAgIC5tZW1fZmxhZ3MgPSAwLAorI2Vsc2UK
KyAgICAgICAgICAgICAgICAuYWRkcmVzc19iaXRzID0gMCwKKyNlbmRpZgorICAgICAgICAgICAg
ICAgIC5leHRlbnRfb3JkZXIgPSBvcmRlciwKKyAgICAgICAgICAgICAgICAuZG9taWQgICAgICAg
ID0gRE9NSURfU0VMRgorICAgICAgICB9OworCisgICAgICAgIHNldF94ZW5fZ3Vlc3RfaGFuZGxl
KHJlcy5leHRlbnRfc3RhcnQsIGZyYW1lcyk7CisgICAgICAgIHJlcy5ucl9leHRlbnRzID0gY291
bnQ7CisKKwkJLyogTmVlZHMgZ3Vlc3QgZnJhbWUgbnVtYmVyICovCisgICAgICAgIGludCByID0g
SFlQRVJWSVNPUl9tZW1vcnlfb3AoWEVOTUVNX2RlY3JlYXNlX3Jlc2VydmF0aW9uLCAmcmVzKTsK
KyAgICAgICAgcmV0dXJuIHI7Cit9CisKKy8qKgorICogV2hlbiB3ZSBpbmZsYXRlIHdlIHdpbGwg
YmUgZGVjcmVhc2luZyB0aGUgbWVtb3J5IGF2YWlsYWJsZSB0byB0aGUgVk0KKyAqIFdlIHdpbGwg
Z2l2ZSB0aGUgZXh0ZW50IG9mIGV4dGVudCBvcmRlciA9IG9yZGVyIHN0YXJ0aW5nIGF0IHZhIHRv
IHRoZSBob3N0LgorKi8KK2ludCB1a3BsYXRfaW5mbGF0ZSh2b2lkKiB2YSwgaW50IG9yZGVyKQor
eworCisJeGVuX3Bmbl90IHBmbiA9IHZpcnRfdG9fcGZuKHZhKTsKKwlpbnQgciA9IHhlbm1lbV9y
ZXNlcnZhdGlvbl9kZWNyZWFzZSgxLCAmcGZuLCBvcmRlcik7CisKKwlyZXR1cm4gcjsKK30KKwor
LyoqCisgKiBXaGVuIHdlIGRlZmxhdGUgd2Ugd2lsbCBiZSBpbmNyZWFzaW5nIHRoZSBtZW1vcnkg
YXZhaWxhYmxlIHRvIHRoZSBWTQorICogV2Ugd2lsbCBhc2sgZm9yIDEgZXh0ZW50IG9mIGV4dGVu
dCBvcmRlciA9IG9yZGVyIGJhY2sgZnJvbSB0aGUgaG9zdC4gSXQgd2lsbCBtYXAKKyAqIFRoZSBl
eHRlbnQgdG8gdGhlIGFkZHJlc3MgdmEuCisqLworaW50IHVrcGxhdF9kZWZsYXRlKHZvaWQqIHZh
LCBpbnQgb3JkZXIpCit7CisJLyogTWFrZSBzdXJlIHdlIGFyZSBzZW5kaW5nIHRoZSBjb3JyZWN0
IGZyYW1lIG51bWJlci4gU2hvdWxkIGJlIGEgR0ZOICovCisJLy94ZW5fcGZuX3QgcGZuID0gdmly
dF90b19wZm4odmEpOworCWludCByID0geGVubWVtX3Jlc2VydmF0aW9uX2luY3JlYXNlKDEsICZ2
YSwgb3JkZXIpOworCisJcmV0dXJuIHI7Cit9CisKLS0gCjIuMjQuMAoKCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxp
c3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJv
amVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Mon Dec 16 08:54:51 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 16 Dec 2019 08:54:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1igm9R-0000BS-Uf; Mon, 16 Dec 2019 08:54:49 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=7Fvr=2G=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1igm9Q-0000BN-I7
 for minios-devel@lists.xen.org; Mon, 16 Dec 2019 08:54:48 +0000
X-Inumbo-ID: b52b119e-1fe1-11ea-936c-12813bfff9fa
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id b52b119e-1fe1-11ea-936c-12813bfff9fa;
 Mon, 16 Dec 2019 08:54:46 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 38803F202A;
 Mon, 16 Dec 2019 09:54:45 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-b.office.hd)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id F_EEmvAg0q4D; Mon, 16 Dec 2019 09:54:45 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from puck.office.hd (puck.office.hd [192.168.24.91])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 0E36BF200A;
 Mon, 16 Dec 2019 09:54:39 +0100 (CET)
Received: from [10.1.2.204] (192.168.24.96) by puck.office.hd (192.168.24.91)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 16 Dec
 2019 09:54:38 +0100
To: Costin Lupu <costin.lup@gmail.com>, <minios-devel@lists.xen.org>
References: <20191212150906.8358-1-simon.kuenzer@neclab.eu>
 <20191212150906.8358-2-simon.kuenzer@neclab.eu>
 <78b3d928-f4c3-5988-ffaf-f1daa3f06215@gmail.com>
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
Message-ID: <c345da8e-9bd6-32d1-7b82-3563b5027baf@neclab.eu>
Date: Mon, 16 Dec 2019 09:54:38 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:60.0)
 Gecko/20100101 Thunderbird/60.9.1
MIME-Version: 1.0
In-Reply-To: <78b3d928-f4c3-5988-ffaf-f1daa3f06215@gmail.com>
Content-Language: en-US
X-Originating-IP: [192.168.24.96]
X-ClientProxiedBy: oberon.office.hd (192.168.24.90) To puck.office.hd
 (192.168.24.91)
Subject: Re: [Minios-devel] [UNIKRAFT PATCH 1/3] lib/uksysinfo: Rename
 internal name to libuksysinfo
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>,
 Gaulthier Gain <gaulthier.gain@uliege.be>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgQ29zdGluLAoKc29tZXRpbWVzIGl0IHJlYWxseSBzdXJwcmlzZXMgbWUgaG93IG11Y2ggUE9T
SVggaXMgY292ZXJpbmcuIFRoZXkgaGF2ZSAKd2F5IHRvbyBtdWNoIHN0dWZmIDstKS4gQnV0LCB5
ZXMsIHlvdSBhcmUgcmlnaHQsIGl0IG1ha2VzIHNlbnNlIHdoYXQgeW91IAphcmUgc2F5aW5nLiBJ
IHdpbGwgZG8gYSBwb3NpeC0qIHJlbmFtaW5nIHdpdGggYSB2Mi4KClRoYW5rcywKClNpbW9uCgpP
biAxNC4xMi4xOSAxNTo1NiwgQ29zdGluIEx1cHUgd3JvdGU6Cj4gSGkgU2ltb24sCj4gCj4gVGhp
cyBpcyBvbmx5IGEgc3VnZ2VzdGlvbiwgYnV0IGdpdmVuIHRoYXQgeW91J3JlIHJlbmFtaW5nIHVr
c3lzaW5mbywKPiBtYXliZSB5b3UgY2FuIHJlbmFtZSBpdCB0byBwb3NpeC1zeXNpbmZvLCBiZWNh
dXNlIHRoYXQncyBqdXN0IHdoYXQgaXQKPiBkb2VzLCBuYW1lbHkgcHJvdmlkaW5nIHBvc2l4IGNv
bXBhdGliaWxpdHkuIEFuZCBpdCB3b3VsZCBiZSBpbmxpbmUgd2l0aAo+IHRoZSBvdGhlciBwb3Np
eC0qIGxpYnMuCj4gCj4gQ29zdGluCj4gCj4gT24gMTIvMTIvMTkgNTowOSBQTSwgU2ltb24gS3Vl
bnplciB3cm90ZToKPj4gUmVnaXN0ZXJzIHRoZSBsaWJyYXJ5IHdpdGggYGxpYnVrc3lzaW5mb2Ag
dG8gdGhlIGJ1aWxkLiBUaGUKPj4gcHJldmlvdXMgbmFtZSBgdWtzeXNpbmZvYCBkaWQgbm90IGZv
bGxvdyBvdXIgbmFtaW5nIGNvbnZlbnRpb24uCj4+Cj4+IFNpZ25lZC1vZmYtYnk6IFNpbW9uIEt1
ZW56ZXIgPHNpbW9uLmt1ZW56ZXJAbmVjbGFiLmV1Pgo+PiAtLS0KPj4gICBsaWIvdWtzeXNpbmZv
L0NvbmZpZy51ayAgIHwgMyArKy0KPj4gICBsaWIvdWtzeXNpbmZvL01ha2VmaWxlLnVrIHwgOCAr
KysrLS0tLQo+PiAgIDIgZmlsZXMgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9u
cygtKQo+Pgo+PiBkaWZmIC0tZ2l0IGEvbGliL3Vrc3lzaW5mby9Db25maWcudWsgYi9saWIvdWtz
eXNpbmZvL0NvbmZpZy51awo+PiBpbmRleCAwM2Q2MDczOS4uZDA0NjRjZmQgMTAwNjQ0Cj4+IC0t
LSBhL2xpYi91a3N5c2luZm8vQ29uZmlnLnVrCj4+ICsrKyBiL2xpYi91a3N5c2luZm8vQ29uZmln
LnVrCj4+IEBAIC0xLDMgKzEsNCBAQAo+PiAtbWVudWNvbmZpZyBVS1NZU0lORk8KPj4gK21lbnVj
b25maWcgTElCVUtTWVNJTkZPCj4+ICAgCWJvb2wgInVrc3lzaW5mbzogaW5mbyBhYm91dCBzeXN0
ZW0gcGFyYW1ldGVycyIKPj4gKwlzZWxlY3QgTk9MSUJDIGlmICFIQVZFX0xJQkMKPj4gICAJZGVm
YXVsdCBuCj4+IGRpZmYgLS1naXQgYS9saWIvdWtzeXNpbmZvL01ha2VmaWxlLnVrIGIvbGliL3Vr
c3lzaW5mby9NYWtlZmlsZS51awo+PiBpbmRleCAyOGU5OWZiNS4uMjJhYzI4ZTcgMTAwNjQ0Cj4+
IC0tLSBhL2xpYi91a3N5c2luZm8vTWFrZWZpbGUudWsKPj4gKysrIGIvbGliL3Vrc3lzaW5mby9N
YWtlZmlsZS51awo+PiBAQCAtMSw2ICsxLDYgQEAKPj4gLSQoZXZhbCAkKGNhbGwgYWRkbGliX3Ms
dWtzeXNpbmZvLCQoQ09ORklHX1VLU1lTSU5GTykpKQo+PiArJChldmFsICQoY2FsbCBhZGRsaWJf
cyxsaWJ1a3N5c2luZm8sJChDT05GSUdfTElCVUtTWVNJTkZPKSkpCj4+ICAgCj4+IC1DSU5DTFVE
RVMtJChDT05GSUdfVUtTWVNJTkZPKSAgICArPSAtSSQoVUtTWVNJTkZPX0JBU0UpL2luY2x1ZGUK
Pj4gLUNYWElOQ0xVREVTLSQoQ09ORklHX1VLU1lTSU5GTykgICs9IC1JJChVS1NZU0lORk9fQkFT
RSkvaW5jbHVkZQo+PiArQ0lOQ0xVREVTLSQoQ09ORklHX0xJQlVLU1lTSU5GTykgICAgKz0gLUkk
KExJQlVLU1lTSU5GT19CQVNFKS9pbmNsdWRlCj4+ICtDWFhJTkNMVURFUy0kKENPTkZJR19MSUJV
S1NZU0lORk8pICArPSAtSSQoTElCVUtTWVNJTkZPX0JBU0UpL2luY2x1ZGUKPj4gICAKPj4gLVVL
U1lTSU5GT19TUkNTLSQoQ09ORklHX1VLU1lTSU5GTykgKz0gJChVS1NZU0lORk9fQkFTRSkvc3lz
aW5mby5jCj4+ICtMSUJVS1NZU0lORk9fU1JDUy0kKENPTkZJR19MSUJVS1NZU0lORk8pICs9ICQo
TElCVUtTWVNJTkZPX0JBU0UpL3N5c2luZm8uYwo+PgoKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3Mt
ZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9t
YWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Mon Dec 16 11:57:19 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 16 Dec 2019 11:57:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1igp00-00009g-FY; Mon, 16 Dec 2019 11:57:16 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=mtPe=2G=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1igozz-00009K-0e
 for minios-devel@lists.xen.org; Mon, 16 Dec 2019 11:57:15 +0000
X-Inumbo-ID: 320537c6-1ffb-11ea-b6f1-bc764e2007e4
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id 320537c6-1ffb-11ea-b6f1-bc764e2007e4;
 Mon, 16 Dec 2019 11:57:13 +0000 (UTC)
IronPort-SDR: jtBlEiJU/I1y+9h7iFVc2KJJlPCsWjY5laBuE5e3ddU5MoUDq8XL/H7Hh/D7J+vwLf8c4lTGJN
 zzjDc392zFoA==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 16 Dec 2019 13:57:08 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 394271A60267;
 Mon, 16 Dec 2019 13:57:09 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id aJbXbkDhqb0p; Mon, 16 Dec 2019 13:57:09 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 1CFDF1A602D7;
 Mon, 16 Dec 2019 13:57:09 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id Dfo4Jsx2IvIN; Mon, 16 Dec 2019 13:57:09 +0200 (EET)
Received: from [192.168.100.190] (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id F1AFD1A60267;
 Mon, 16 Dec 2019 13:57:08 +0200 (EET)
To: Simon Kuenzer <simon.kuenzer@neclab.eu>, minios-devel@lists.xen.org
References: <20191206134105.23225-1-costin.lupu@cs.pub.ro>
 <20191206134105.23225-2-costin.lupu@cs.pub.ro>
 <a7bc71b0-0eaa-ea25-7349-7fbf67593d3e@neclab.eu>
From: Costin Lupu <costin.lupu@cs.pub.ro>
Message-ID: <3db9d284-b840-ed7f-bd8f-fb9e34d544d3@cs.pub.ro>
Date: Mon, 16 Dec 2019 13:57:08 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.2.2
MIME-Version: 1.0
In-Reply-To: <a7bc71b0-0eaa-ea25-7349-7fbf67593d3e@neclab.eu>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT PATCH 1/6] lib/vfscore: Revert
 __fxstatat() implementation to original Osv behavior
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

T24gMTIvMTIvMTkgNTozMiBQTSwgU2ltb24gS3VlbnplciB3cm90ZToKPiBIZXkgQ29zdGluLAo+
IAo+IHRoYW5rcyBmb3IgdGhlIHdvcmsuIFRoZSBjb2RlIGNoYW5nZXMgbG9vayBmaW5lIHRvIG1l
LiBNYXliZSB5b3UgY291bGQKPiBtZW50aW9uIGluIHlvdXIgZGVzY3JpcHRpb24gdGhhdCB0aGUg
cGF0Y2ggaXMgYnJpbmdpbmcgYmFjayB0aGUgaGFuZGxpbmcKPiBvZiB0aGUgQVRfU1lNTElOS19O
T0ZPTExPVyBmbGFnIHRvIF9fZnhzdGF0YXQuCj4gCj4gUmV2aWV3ZWQtYnk6IFNpbW9uIEt1ZW56
ZXIgPHNpbW9uLmt1ZW56ZXJAbmVjbGFiLmV1PgoKQWxyaWdodC4gSSdsbCBhbHNvIHB1c2ggdGhp
cyBzZXBhcmF0ZWx5LCBiZWZvcmUgdjIuCgpDaGVlcnMsCkNvc3RpbgoKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlz
dApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9q
ZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Mon Dec 16 11:57:35 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 16 Dec 2019 11:57:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1igp0J-0000Dl-He; Mon, 16 Dec 2019 11:57:35 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=mtPe=2G=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1igp0H-0000DW-PB
 for minios-devel@lists.xen.org; Mon, 16 Dec 2019 11:57:33 +0000
X-Inumbo-ID: 3d97678a-1ffb-11ea-938e-12813bfff9fa
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id 3d97678a-1ffb-11ea-938e-12813bfff9fa;
 Mon, 16 Dec 2019 11:57:32 +0000 (UTC)
IronPort-SDR: gtZrAz636bKcE5WgBT7adbNhe+4+W43sByTiQCQtarH7R4JVr1kIrTqvSmWmCmUJrH4QKyuaek
 hAvxhqsE3aFA==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 16 Dec 2019 13:57:31 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 068021A60267;
 Mon, 16 Dec 2019 13:57:32 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id yPoBz6enbjfD; Mon, 16 Dec 2019 13:57:31 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id DFC411A602D7;
 Mon, 16 Dec 2019 13:57:31 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id gR1qz8eQjr8M; Mon, 16 Dec 2019 13:57:31 +0200 (EET)
Received: from [192.168.100.190] (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id BC0561A60267;
 Mon, 16 Dec 2019 13:57:31 +0200 (EET)
To: Simon Kuenzer <simon.kuenzer@neclab.eu>, minios-devel@lists.xen.org
References: <20191206134105.23225-1-costin.lupu@cs.pub.ro>
 <20191206134105.23225-3-costin.lupu@cs.pub.ro>
 <b71ef1b1-998c-23db-6d9c-6732f24adf06@neclab.eu>
From: Costin Lupu <costin.lupu@cs.pub.ro>
Message-ID: <3b94006c-d8cd-f8ad-5adb-decb87f30667@cs.pub.ro>
Date: Mon, 16 Dec 2019 13:57:31 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.2.2
MIME-Version: 1.0
In-Reply-To: <b71ef1b1-998c-23db-6d9c-6732f24adf06@neclab.eu>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT PATCH 2/6] lib/vfscore: Fix dup2()
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

T24gMTIvMTIvMTkgNjowMyBQTSwgU2ltb24gS3VlbnplciB3cm90ZToKPiBMb29rcyBnb29kIHRv
IG1lLiBUaGFua3MhCj4gQ2FuIHlvdSB1cGRhdGUgdGhlIHN1YmplY3QgdG8gc29tZXRoaW5nIG1v
cmUgcHJlY2lzZSwgbGlrZQo+ICJsaWIvdmZzY29yZTogZHVwMigpOiBDbG9zZSBuZXdmZCB3aGVu
IGFscmVhZHkgb3BlbmVkIgo+IAo+IFJldmlld2VkLWJ5OiBTaW1vbiBLdWVuemVyIDxzaW1vbi5r
dWVuemVyQG5lY2xhYi5ldT4KCkFscmlnaHQuIEknbGwgYWxzbyBwdXNoIHRoaXMgc2VwYXJhdGVs
eSwgYmVmb3JlIHYyLgoKQ2hlZXJzLApDb3N0aW4KCl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRl
dmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFp
bG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Mon Dec 16 13:19:20 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 16 Dec 2019 13:19:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1igqHO-0000uj-Pb; Mon, 16 Dec 2019 13:19:18 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=qGHl=2G=gmail.com=stefanl.teodorescu@srs-us1.protection.inumbo.net>)
 id 1igqHN-0000ue-2l
 for minios-devel@lists.xen.org; Mon, 16 Dec 2019 13:19:17 +0000
X-Inumbo-ID: a82137ce-2006-11ea-a1e1-bc764e2007e4
Received: from mail-lj1-x243.google.com (unknown [2a00:1450:4864:20::243])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id a82137ce-2006-11ea-a1e1-bc764e2007e4;
 Mon, 16 Dec 2019 13:19:15 +0000 (UTC)
Received: by mail-lj1-x243.google.com with SMTP id d20so6728761ljc.12
 for <minios-devel@lists.xen.org>; Mon, 16 Dec 2019 05:19:15 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to
 :cc; bh=ujgVYaRpn4ITumfosm145PK+MIygqeDFMSJXNowGSto=;
 b=kvEacB0FYq09lplElX955zG3QEaeWu0AD3Uvc3lUq++iZWrPFiP4Yr2aHNXt+pZzsm
 IBK68/ZnqO5aIIV2QXdfjL2YpzbmKNGEQK8uQjMZbhs1omoJyIoYQfZKSgwX71/tS28D
 O8lo/4zQaBwCVMofZAlzLROY4AdjziyFsr/HjVIXJEhawZqRm0eLY3LdRaPUIgVWBrTS
 NPw/1DEo+n+nFZEjWryseSFNSa/wc0B87mkx5/2YQ+GiS+5xocAeMWDZ9HPgGrGCIo41
 z7m1Cgd3187RPWoGYcWWPW9cnbyrP/uvBv1CGK49KAlHKjmdkIdrRWftruo8XPdUELYv
 bFmQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
 :message-id:subject:to:cc;
 bh=ujgVYaRpn4ITumfosm145PK+MIygqeDFMSJXNowGSto=;
 b=eouYb9GqvnmD1hMLXor0+Xauhz6Edw/1sUTqt3Y6MEdVr5aWesl4FAJTgPDNgghamn
 tk1UfsIFcsYfYzzv6p1dC4sSKN1fgeX7rxu16BcwlStwGQjpYbs7RVQbKIi+hghNuajN
 90Chw6CdAlmCrOi2qYexfTVYLrUt34zCO7TAAIsW7DHv4KA0Xk7adtyhCxDyjo5/kyNy
 b2XrJTuaIkt0iodB+dmUsVV9cpt6Nn9bPlf2adYw+9Uta2PR64fM+kRmcs0hr9IrypEx
 kgcmjM9dwMawg8GyapLkrGVWZmiDPZtsIY8UmHRuJ0/xIz/P8I+SUOEGaZmxCyGg0Q0S
 o2Ew==
X-Gm-Message-State: APjAAAUsDb8XjqsKrqOyxQGcJCB0qnxVJ6uTLSpplGU0BAzHZtUydpbJ
 IcogxL+3dvwVkmbMava7J6BXDAwu2c0hiuAlSS0=
X-Google-Smtp-Source: APXvYqwV3m8caUeiSHKxaGv4/3yQz0aYTYiOgUnOewu0CyP3WJY1peyLz8R3nQJhJo45del/RbJVwv99XheI7MD4uF8=
X-Received: by 2002:a05:651c:327:: with SMTP id
 b7mr19098301ljp.22.1576502354307; 
 Mon, 16 Dec 2019 05:19:14 -0800 (PST)
MIME-Version: 1.0
References: <20191212174239.5202-1-costin.lupu@cs.pub.ro>
 <20191212174239.5202-2-costin.lupu@cs.pub.ro>
In-Reply-To: <20191212174239.5202-2-costin.lupu@cs.pub.ro>
From: Stefan Teodorescu <stefanl.teodorescu@gmail.com>
Date: Mon, 16 Dec 2019 15:19:03 +0200
Message-ID: <CAEiTdV4UyxUJAKq_ScPB4ksbOpPHNk6y5TuQkmAsZsQX4yqQ-w@mail.gmail.com>
To: Costin Lupu <costin.lupu@cs.pub.ro>
Subject: Re: [Minios-devel] [UNIKRAFT/RUBY PATCH 1/8] extensions: Add
 generated files
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: minios-devel@lists.xen.org
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

UmV2aWV3ZWQtYnk6IFN0ZWZhbiBUZW9kb3Jlc2N1IDxzdGVmYW5sLnRlb2RvcmVzY3VAZ21haWwu
Y29tPgoKT24gVGh1LCBEZWMgMTIsIDIwMTkgYXQgNzo0MiBQTSBDb3N0aW4gTHVwdSA8Y29zdGlu
Lmx1cHVAY3MucHViLnJvPiB3cm90ZToKPgo+IEVhY2ggZXh0ZW5zaW9ucyBoYXMgaXRzIG93biA8
ZXh0Y29uZi5oPiBoZWFkZXIsIHdoaWNoIGlzIGdlbmVyYXRlZCBiYXNlZCBvbiB0aGUKPiBidWls
ZCBzeXN0ZW0gY29uZmlndXJhdGlvbi4gV2UgY2hvb3NlIHRvIGFkZCB0aGlzIGhlYWRlciBmb3Ig
YHNvY2tldGAgZXh0ZW5zaW9uCj4gaW50byB0aGUgZ2x1ZSBjb2RlIGJlY2F1c2Ugd2UgbmVlZCB0
byBjaGFuZ2Ugc29tZSBvZiBpdHMgY29uZmlndXJhdGlvbnMgaW4gdGhlCj4gbmV4dCBwYXRjaC4g
QWxsIHRoZSBleHRlbnNpb25zIGFyZSByZWdpc3RlcmVkIGluIHRoZSBgZXh0aW5pdC5jYCBmaWxl
Lgo+Cj4gU2lnbmVkLW9mZi1ieTogQ29zdGluIEx1cHUgPGNvc3Rpbi5sdXB1QGNzLnB1Yi5ybz4K
PiAtLS0KPiAgZ2VuZXJhdGVkL2V4dC9leHRpbml0LmMgICAgICAgIHwgIDQ4ICsrKysrKysrKysr
KysKPiAgZ2VuZXJhdGVkL2V4dC9zb2NrZXQvZXh0Y29uZi5oIHwgMTI4ICsrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKwo+ICAyIGZpbGVzIGNoYW5nZWQsIDE3NiBpbnNlcnRpb25zKCsp
Cj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW5lcmF0ZWQvZXh0L2V4dGluaXQuYwo+ICBjcmVhdGUg
bW9kZSAxMDA2NDQgZ2VuZXJhdGVkL2V4dC9zb2NrZXQvZXh0Y29uZi5oCj4KPiBkaWZmIC0tZ2l0
IGEvZ2VuZXJhdGVkL2V4dC9leHRpbml0LmMgYi9nZW5lcmF0ZWQvZXh0L2V4dGluaXQuYwo+IG5l
dyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMC4uNDkyYTkzMwo+IC0tLSAvZGV2L251
bGwKPiArKysgYi9nZW5lcmF0ZWQvZXh0L2V4dGluaXQuYwo+IEBAIC0wLDAgKzEsNDggQEAKPiAr
I2luY2x1ZGUgInJ1YnkvcnVieS5oIgo+ICsKPiArI2RlZmluZSBpbml0KGZ1bmMsIG5hbWUpIHsg
ICAgIFwKPiArICAgIGV4dGVybiB2b2lkIGZ1bmModm9pZCk7ICAgIFwKPiArICAgIHJ1YnlfaW5p
dF9leHQobmFtZSIuc28iLCBmdW5jKTsgXAo+ICt9Cj4gKwo+ICt2b2lkIHJ1YnlfaW5pdF9leHQo
Y29uc3QgY2hhciAqbmFtZSwgdm9pZCAoKmluaXQpKHZvaWQpKTsKPiArCj4gK3ZvaWQgSW5pdF9l
eHQodm9pZCkKPiArewo+ICsgICAgaW5pdChJbml0X3N0cnNjYW4sICJzdHJzY2FuIik7Cj4gKyAg
ICBpbml0KEluaXRfc3lzbG9nLCAic3lzbG9nIik7Cj4gKyAgICBpbml0KEluaXRfZ2VuZXJhdG9y
LCAianNvbi9leHQvZ2VuZXJhdG9yIik7Cj4gKyAgICBpbml0KEluaXRfcGFyc2VyLCAianNvbi9l
eHQvcGFyc2VyIik7Cj4gKyAgICBpbml0KEluaXRfc2l6ZW9mLCAicmJjb25maWcvc2l6ZW9mIik7
Cj4gKyAgICBpbml0KEluaXRfYmlnZGVjaW1hbCwgImJpZ2RlY2ltYWwiKTsKPiArICAgIGluaXQo
SW5pdF91dGlsLCAiYmlnZGVjaW1hbC91dGlsIik7Cj4gKyAgICBpbml0KEluaXRfY3BhcnNlLCAi
cmFjYy9jcGFyc2UiKTsKPiArICAgIGluaXQoSW5pdF9kaWdlc3QsICJkaWdlc3QiKTsKPiArICAg
IGluaXQoSW5pdF9idWJibGViYWJibGUsICJkaWdlc3QvYnViYmxlYmFiYmxlIik7Cj4gKyAgICBp
bml0KEluaXRfbWQ1LCAiZGlnZXN0L21kNSIpOwo+ICsgICAgaW5pdChJbml0X3JtZDE2MCwgImRp
Z2VzdC9ybWQxNjAiKTsKPiArICAgIGluaXQoSW5pdF9zaGExLCAiZGlnZXN0L3NoYTEiKTsKPiAr
ICAgIGluaXQoSW5pdF9zaGEyLCAiZGlnZXN0L3NoYTIiKTsKPiArICAgIGluaXQoSW5pdF9wc3lj
aCwgInBzeWNoIik7Cj4gKyAgICBpbml0KEluaXRfZXNjYXBlLCAiY2dpL2VzY2FwZSIpOwo+ICsg
ICAgaW5pdChJbml0X2ZjbnRsLCAiZmNudGwiKTsKPiArICAgIGluaXQoSW5pdF9zdHJpbmdpbywg
InN0cmluZ2lvIik7Cj4gKyAgICBpbml0KEluaXRfc29ja2V0LCAic29ja2V0Iik7Cj4gKyAgICBp
bml0KEluaXRfcGF0aG5hbWUsICJwYXRobmFtZSIpOwo+ICsgICAgaW5pdChJbml0X2RhdGVfY29y
ZSwgImRhdGVfY29yZSIpOwo+ICsgICAgaW5pdChJbml0X3B0eSwgInB0eSIpOwo+ICsgICAgaW5p
dChJbml0X29wZW5zc2wsICJvcGVuc3NsIik7Cj4gKyAgICBpbml0KEluaXRfZmliZXIsICJmaWJl
ciIpOwo+ICsgICAgaW5pdChJbml0X2ZpZGRsZSwgImZpZGRsZSIpOwo+ICsgICAgaW5pdChJbml0
X2V0YywgImV0YyIpOwo+ICsgICAgaW5pdChJbml0X2NvbnRpbnVhdGlvbiwgImNvbnRpbnVhdGlv
biIpOwo+ICsgICAgaW5pdChJbml0X29ianNwYWNlLCAib2Jqc3BhY2UiKTsKPiArICAgIGluaXQo
SW5pdF9jb3ZlcmFnZSwgImNvdmVyYWdlIik7Cj4gKyAgICBpbml0KEluaXRfY29uc29sZSwgImlv
L2NvbnNvbGUiKTsKPiArICAgIGluaXQoSW5pdF9ub25ibG9jaywgImlvL25vbmJsb2NrIik7Cj4g
KyAgICBpbml0KEluaXRfd2FpdCwgImlvL3dhaXQiKTsKPiArICAgIGluaXQoSW5pdF9yaXBwZXIs
ICJyaXBwZXIiKTsKPiArICAgIGluaXQoSW5pdF9ua2YsICJua2YiKTsKPiArICAgIGluaXQoSW5p
dF96bGliLCAiemxpYiIpOwo+ICsgICAgaW5pdChJbml0X3NkYm0sICJzZGJtIik7Cj4gK30KPiBk
aWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2V4dC9zb2NrZXQvZXh0Y29uZi5oIGIvZ2VuZXJhdGVkL2V4
dC9zb2NrZXQvZXh0Y29uZi5oCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAw
Li43ODYxMTdkCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2dlbmVyYXRlZC9leHQvc29ja2V0L2V4
dGNvbmYuaAo+IEBAIC0wLDAgKzEsMTI4IEBACj4gKyNpZm5kZWYgRVhUQ09ORl9ICj4gKyNkZWZp
bmUgRVhUQ09ORl9ICj4gKyNkZWZpbmUgSEFWRV9TWVNfVUlPX0ggMQo+ICsjZGVmaW5lIEhBVkVf
TkVUSU5FVF9JTl9TWVNUTV9IIDEKPiArI2RlZmluZSBIQVZFX05FVElORVRfVENQX0ggMQo+ICsj
ZGVmaW5lIEhBVkVfTkVUSU5FVF9VRFBfSCAxCj4gKyNkZWZpbmUgSEFWRV9BUlBBX0lORVRfSCAx
Cj4gKyNkZWZpbmUgSEFWRV9ORVRQQUNLRVRfUEFDS0VUX0ggMQo+ICsjZGVmaW5lIEhBVkVfTkVU
X0VUSEVSTkVUX0ggMQo+ICsjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQo+ICsjZGVmaW5lIEhBVkVf
SUZBRERSU19IIDEKPiArI2RlZmluZSBIQVZFX1NZU19JT0NUTF9IIDEKPiArI2RlZmluZSBIQVZF
X05FVF9JRl9IIDEKPiArI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKPiArI2RlZmluZSBIQVZF
X0FSUEFfTkFNRVNFUl9IIDEKPiArI2RlZmluZSBIQVZFX1JFU09MVl9IIDEKPiArI2RlZmluZSBI
QVZFX1RZUEVfU1RSVUNUX1NPQ0tBRERSX1VOIDEKPiArI2RlZmluZSBIQVZFX1RZUEVfU1RSVUNU
X1NPQ0tBRERSX1NUT1JBR0UgMQo+ICsjZGVmaW5lIEhBVkVfVFlQRV9TVFJVQ1RfQUREUklORk8g
MQo+ICsjZGVmaW5lIEhBVkVfVFlQRV9TT0NLTEVOX1QgMQo+ICsjZGVmaW5lIEhBVkVfVFlQRV9T
VFJVQ1RfSU5fUEtUSU5GTyAxCj4gKyNkZWZpbmUgSEFWRV9TVFJVQ1RfSU5fUEtUSU5GT19JUElf
U1BFQ19EU1QgMQo+ICsjZGVmaW5lIEhBVkVfU1RfSVBJX1NQRUNfRFNUIDEKPiArI2RlZmluZSBI
QVZFX1RZUEVfU1RSVUNUX0lONl9QS1RJTkZPIDEKPiArI2RlZmluZSBIQVZFX1RZUEVfU1RSVUNU
X0lQX01SRVEgMQo+ICsjZGVmaW5lIEhBVkVfVFlQRV9TVFJVQ1RfSVBfTVJFUU4gMQo+ICsjZGVm
aW5lIEhBVkVfVFlQRV9TVFJVQ1RfSVBWNl9NUkVRIDEKPiArI2RlZmluZSBIQVZFX1NUUlVDVF9N
U0dIRFJfTVNHX0NPTlRST0wgMQo+ICsjZGVmaW5lIEhBVkVfU1RfTVNHX0NPTlRST0wgMQo+ICsj
ZGVmaW5lIEhBVkVfVFlQRV9TVFJVQ1RfVENQX0lORk8gMQo+ICsjZGVmaW5lIEhBVkVfQ09OU1Rf
VENQX0VTVEFCTElTSEVEIDEKPiArI2RlZmluZSBIQVZFX0NPTlNUX1RDUF9TWU5fU0VOVCAxCj4g
KyNkZWZpbmUgSEFWRV9DT05TVF9UQ1BfU1lOX1JFQ1YgMQo+ICsjZGVmaW5lIEhBVkVfQ09OU1Rf
VENQX0ZJTl9XQUlUMSAxCj4gKyNkZWZpbmUgSEFWRV9DT05TVF9UQ1BfRklOX1dBSVQyIDEKPiAr
I2RlZmluZSBIQVZFX0NPTlNUX1RDUF9USU1FX1dBSVQgMQo+ICsjZGVmaW5lIEhBVkVfQ09OU1Rf
VENQX0NMT1NFIDEKPiArI2RlZmluZSBIQVZFX0NPTlNUX1RDUF9DTE9TRV9XQUlUIDEKPiArI2Rl
ZmluZSBIQVZFX0NPTlNUX1RDUF9MQVNUX0FDSyAxCj4gKyNkZWZpbmUgSEFWRV9DT05TVF9UQ1Bf
TElTVEVOIDEKPiArI2RlZmluZSBIQVZFX0NPTlNUX1RDUF9DTE9TSU5HIDEKPiArI2RlZmluZSBI
QVZFX1NUUlVDVF9UQ1BfSU5GT19UQ1BJX1NUQVRFIDEKPiArI2RlZmluZSBIQVZFX1NUX1RDUElf
U1RBVEUgMQo+ICsjZGVmaW5lIEhBVkVfU1RSVUNUX1RDUF9JTkZPX1RDUElfQ0FfU1RBVEUgMQo+
ICsjZGVmaW5lIEhBVkVfU1RfVENQSV9DQV9TVEFURSAxCj4gKyNkZWZpbmUgSEFWRV9TVFJVQ1Rf
VENQX0lORk9fVENQSV9SRVRSQU5TTUlUUyAxCj4gKyNkZWZpbmUgSEFWRV9TVF9UQ1BJX1JFVFJB
TlNNSVRTIDEKPiArI2RlZmluZSBIQVZFX1NUUlVDVF9UQ1BfSU5GT19UQ1BJX1BST0JFUyAxCj4g
KyNkZWZpbmUgSEFWRV9TVF9UQ1BJX1BST0JFUyAxCj4gKyNkZWZpbmUgSEFWRV9TVFJVQ1RfVENQ
X0lORk9fVENQSV9CQUNLT0ZGIDEKPiArI2RlZmluZSBIQVZFX1NUX1RDUElfQkFDS09GRiAxCj4g
KyNkZWZpbmUgSEFWRV9TVFJVQ1RfVENQX0lORk9fVENQSV9PUFRJT05TIDEKPiArI2RlZmluZSBI
QVZFX1NUX1RDUElfT1BUSU9OUyAxCj4gKyNkZWZpbmUgSEFWRV9TVFJVQ1RfVENQX0lORk9fVENQ
SV9SVE8gMQo+ICsjZGVmaW5lIEhBVkVfU1RfVENQSV9SVE8gMQo+ICsjZGVmaW5lIEhBVkVfU1RS
VUNUX1RDUF9JTkZPX1RDUElfQVRPIDEKPiArI2RlZmluZSBIQVZFX1NUX1RDUElfQVRPIDEKPiAr
I2RlZmluZSBIQVZFX1NUUlVDVF9UQ1BfSU5GT19UQ1BJX1NORF9NU1MgMQo+ICsjZGVmaW5lIEhB
VkVfU1RfVENQSV9TTkRfTVNTIDEKPiArI2RlZmluZSBIQVZFX1NUUlVDVF9UQ1BfSU5GT19UQ1BJ
X1JDVl9NU1MgMQo+ICsjZGVmaW5lIEhBVkVfU1RfVENQSV9SQ1ZfTVNTIDEKPiArI2RlZmluZSBI
QVZFX1NUUlVDVF9UQ1BfSU5GT19UQ1BJX1VOQUNLRUQgMQo+ICsjZGVmaW5lIEhBVkVfU1RfVENQ
SV9VTkFDS0VEIDEKPiArI2RlZmluZSBIQVZFX1NUUlVDVF9UQ1BfSU5GT19UQ1BJX1NBQ0tFRCAx
Cj4gKyNkZWZpbmUgSEFWRV9TVF9UQ1BJX1NBQ0tFRCAxCj4gKyNkZWZpbmUgSEFWRV9TVFJVQ1Rf
VENQX0lORk9fVENQSV9MT1NUIDEKPiArI2RlZmluZSBIQVZFX1NUX1RDUElfTE9TVCAxCj4gKyNk
ZWZpbmUgSEFWRV9TVFJVQ1RfVENQX0lORk9fVENQSV9SRVRSQU5TIDEKPiArI2RlZmluZSBIQVZF
X1NUX1RDUElfUkVUUkFOUyAxCj4gKyNkZWZpbmUgSEFWRV9TVFJVQ1RfVENQX0lORk9fVENQSV9G
QUNLRVRTIDEKPiArI2RlZmluZSBIQVZFX1NUX1RDUElfRkFDS0VUUyAxCj4gKyNkZWZpbmUgSEFW
RV9TVFJVQ1RfVENQX0lORk9fVENQSV9MQVNUX0RBVEFfU0VOVCAxCj4gKyNkZWZpbmUgSEFWRV9T
VF9UQ1BJX0xBU1RfREFUQV9TRU5UIDEKPiArI2RlZmluZSBIQVZFX1NUUlVDVF9UQ1BfSU5GT19U
Q1BJX0xBU1RfQUNLX1NFTlQgMQo+ICsjZGVmaW5lIEhBVkVfU1RfVENQSV9MQVNUX0FDS19TRU5U
IDEKPiArI2RlZmluZSBIQVZFX1NUUlVDVF9UQ1BfSU5GT19UQ1BJX0xBU1RfREFUQV9SRUNWIDEK
PiArI2RlZmluZSBIQVZFX1NUX1RDUElfTEFTVF9EQVRBX1JFQ1YgMQo+ICsjZGVmaW5lIEhBVkVf
U1RSVUNUX1RDUF9JTkZPX1RDUElfTEFTVF9BQ0tfUkVDViAxCj4gKyNkZWZpbmUgSEFWRV9TVF9U
Q1BJX0xBU1RfQUNLX1JFQ1YgMQo+ICsjZGVmaW5lIEhBVkVfU1RSVUNUX1RDUF9JTkZPX1RDUElf
UE1UVSAxCj4gKyNkZWZpbmUgSEFWRV9TVF9UQ1BJX1BNVFUgMQo+ICsjZGVmaW5lIEhBVkVfU1RS
VUNUX1RDUF9JTkZPX1RDUElfUkNWX1NTVEhSRVNIIDEKPiArI2RlZmluZSBIQVZFX1NUX1RDUElf
UkNWX1NTVEhSRVNIIDEKPiArI2RlZmluZSBIQVZFX1NUUlVDVF9UQ1BfSU5GT19UQ1BJX1JUVCAx
Cj4gKyNkZWZpbmUgSEFWRV9TVF9UQ1BJX1JUVCAxCj4gKyNkZWZpbmUgSEFWRV9TVFJVQ1RfVENQ
X0lORk9fVENQSV9SVFRWQVIgMQo+ICsjZGVmaW5lIEhBVkVfU1RfVENQSV9SVFRWQVIgMQo+ICsj
ZGVmaW5lIEhBVkVfU1RSVUNUX1RDUF9JTkZPX1RDUElfU05EX1NTVEhSRVNIIDEKPiArI2RlZmlu
ZSBIQVZFX1NUX1RDUElfU05EX1NTVEhSRVNIIDEKPiArI2RlZmluZSBIQVZFX1NUUlVDVF9UQ1Bf
SU5GT19UQ1BJX1NORF9DV05EIDEKPiArI2RlZmluZSBIQVZFX1NUX1RDUElfU05EX0NXTkQgMQo+
ICsjZGVmaW5lIEhBVkVfU1RSVUNUX1RDUF9JTkZPX1RDUElfQURWTVNTIDEKPiArI2RlZmluZSBI
QVZFX1NUX1RDUElfQURWTVNTIDEKPiArI2RlZmluZSBIQVZFX1NUUlVDVF9UQ1BfSU5GT19UQ1BJ
X1JFT1JERVJJTkcgMQo+ICsjZGVmaW5lIEhBVkVfU1RfVENQSV9SRU9SREVSSU5HIDEKPiArI2Rl
ZmluZSBIQVZFX1NUUlVDVF9UQ1BfSU5GT19UQ1BJX1JDVl9SVFQgMQo+ICsjZGVmaW5lIEhBVkVf
U1RfVENQSV9SQ1ZfUlRUIDEKPiArI2RlZmluZSBIQVZFX1NUUlVDVF9UQ1BfSU5GT19UQ1BJX1JD
Vl9TUEFDRSAxCj4gKyNkZWZpbmUgSEFWRV9TVF9UQ1BJX1JDVl9TUEFDRSAxCj4gKyNkZWZpbmUg
SEFWRV9TVFJVQ1RfVENQX0lORk9fVENQSV9UT1RBTF9SRVRSQU5TIDEKPiArI2RlZmluZSBIQVZF
X1NUX1RDUElfVE9UQUxfUkVUUkFOUyAxCj4gKyNkZWZpbmUgSEFWRV9TT0NLRVQgMQo+ICsjZGVm
aW5lIEhBVkVfU0VORE1TRyAxCj4gKyNkZWZpbmUgSEFWRV9SRUNWTVNHIDEKPiArI2RlZmluZSBI
QVZFX0ZSRUVBRERSSU5GTyAxCj4gKyNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQo+ICsjZGVm
aW5lIEdBSV9TVFJFUlJPUl9DT05TVCAxCj4gKyNkZWZpbmUgSEFWRV9BQ0NFUFQ0IDEKPiArI2Rl
ZmluZSBIQVZFX0lORVRfTlRPUCAxCj4gKyNkZWZpbmUgSEFWRV9JTkVUX1BUT04gMQo+ICsjZGVm
aW5lIEhBVkVfR0VUU0VSVkJZUE9SVCAxCj4gKyNkZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEKPiAr
I2RlZmluZSBIQVZFX0lGX0lOREVYVE9OQU1FIDEKPiArI2RlZmluZSBORUVEX0lGX0lOREVYVE9O
QU1FX0RFQ0wgMQo+ICsjZGVmaW5lIEhBVkVfSUZfTkFNRVRPSU5ERVggMQo+ICsjZGVmaW5lIE5F
RURfSUZfTkFNRVRPSU5ERVhfREVDTCAxCj4gKyNkZWZpbmUgSEFWRV9HRVRIT1NUQllOQU1FMiAx
Cj4gKyNkZWZpbmUgSEFWRV9TT0NLRVRQQUlSIDEKPiArI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1F
IDEKPiArI2RlZmluZSBFTkFCTEVfSVBWNiAxCj4gKyNkZWZpbmUgSU5FVDYgMQo+ICsjZGVmaW5l
IEhBVkVfQ09OU1RfQUZfVU5JWCAxCj4gKyNkZWZpbmUgSEFWRV9DT05TVF9TQ01fUklHSFRTIDEK
PiArI2RlZmluZSBGRF9QQVNTSU5HX1dPUktfV0lUSF9SRUNWTVNHX01TR19QRUVLIDEKPiArI2Rl
ZmluZSBIQVZFX0dFVE5BTUVJTkZPIDEKPiArI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKPiAr
I2RlZmluZSBSVUJZX0VYUE9SVCAxCj4gKyNlbmRpZgo+IC0tCj4gMi4yMC4xCj4KCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWls
aW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMu
eGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Mon Dec 16 13:23:49 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 16 Dec 2019 13:23:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1igqLl-0001br-6H; Mon, 16 Dec 2019 13:23:49 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=qGHl=2G=gmail.com=stefanl.teodorescu@srs-us1.protection.inumbo.net>)
 id 1igqLk-0001bl-SE
 for minios-devel@lists.xen.org; Mon, 16 Dec 2019 13:23:48 +0000
X-Inumbo-ID: 49d9bc8a-2007-11ea-88e7-bc764e2007e4
Received: from mail-lf1-x144.google.com (unknown [2a00:1450:4864:20::144])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 49d9bc8a-2007-11ea-88e7-bc764e2007e4;
 Mon, 16 Dec 2019 13:23:47 +0000 (UTC)
Received: by mail-lf1-x144.google.com with SMTP id r14so4220799lfm.5
 for <minios-devel@lists.xen.org>; Mon, 16 Dec 2019 05:23:47 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to
 :cc; bh=AZ1PZ7c237mczedkJsVofvjOp+wQIotzeGoui3HuOSw=;
 b=lBtyfDeYGTRlmIVhYUi1LAg4x5aydrOtq8OujUTbWc0CMpSXdbsUD+GtaBEvAfLLjg
 xqCughYEC0utOFoFeTVOu5yuDqPhRVeglfmFlttcptP7tMBXhVoveeuwopbhIQ7yspF3
 rpCFRB51t/eN6UJ186WXaHGvRcINuqxUdThF3QDkRvKNQT8ozMRMrAfEWAj0LbqJ9Xjl
 3ED29DKitwwuOWH6MhhucO2O6n0ibnT8OdiMGHzaeghkXKIJ1/pYyHxC6gni/E4940Iz
 fkykkF4KgLPycsD2/Hjw5OaY0KAR7LkNqBKsnbnDYpCfOqQOixIwzJ7Ra+4dDP2Enid9
 b60A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
 :message-id:subject:to:cc;
 bh=AZ1PZ7c237mczedkJsVofvjOp+wQIotzeGoui3HuOSw=;
 b=dUqNpOP1/7DBAgdp9bnKcnBA9wApogTE3Wwh7Mj0z5tN41XewgcvyVW9DNLiacj4dz
 PN1QVm7HGtUalUDF4Ya00y5mQVyCCnCpXWQSUucbCnCF2HP0DY/wZgUgjTgwg8SXZq3p
 hQlt5M3/Qd5dohNAhqAr4v5MmQfuUobxnzJZ9PHZ+JYtlcBxthCPvJvxGPsk69yHJh5f
 GY45jbssAqP3JiTqDt5Qs1gmmc81lxQZY6mBSmh/v3K6mA9MN0+EE0NgpOZNMqRxr+MI
 U0u/Uvu4aeHdVhEGTDvJX9yOFBUlyP/K42Nw3l+1CJ4q2AzsCYkllp3gsl09DBqtInWl
 AbOw==
X-Gm-Message-State: APjAAAX2mUtboOVGwsFyL3kSFJH+WsNghn8GdESpMzvVUKYfNM+8E6At
 uF6t6kOQe394oVzOs5b8FQtTXvO/ktuJpA6A410=
X-Google-Smtp-Source: APXvYqwdQPuqnvtQ/GbBpoJgSnLMdfMKIK03rE4Nvjyr0Gy1TnmGMz7TKuJOg1mtUXxbFilIQ35yYblnsrPcdgLwZck=
X-Received: by 2002:ac2:4212:: with SMTP id y18mr16637876lfh.2.1576502625662; 
 Mon, 16 Dec 2019 05:23:45 -0800 (PST)
MIME-Version: 1.0
References: <20191212174239.5202-1-costin.lupu@cs.pub.ro>
 <20191212174239.5202-4-costin.lupu@cs.pub.ro>
In-Reply-To: <20191212174239.5202-4-costin.lupu@cs.pub.ro>
From: Stefan Teodorescu <stefanl.teodorescu@gmail.com>
Date: Mon, 16 Dec 2019 15:23:34 +0200
Message-ID: <CAEiTdV4teWR94+COViHrN-oA8dwjLnUrmfK0x8Q1xSjB5p70TA@mail.gmail.com>
To: Costin Lupu <costin.lupu@cs.pub.ro>
Subject: Re: [Minios-devel] [UNIKRAFT/RUBY PATCH 3/8] extensions: Build
 extensions
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: minios-devel@lists.xen.org
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

UGxlYXNlIG1ha2UgbmVjZXNzYXJ5IGNoYW5nZXMgZm9yIHN0cmluZ2lvIGV4dGVuc2lvbiBmaWxl
IGFuZCBmbGFncywKYW5kIGNoYW5nZSB2YXJpYWJsZSBuYW1lcyBmb3IgSU5JVC1USU1FIGFuZCBJ
TklULUZJTEUgdG8gdXNlIF8sIGFzCmRpc2N1c3NlZC4KCk9uIFRodSwgRGVjIDEyLCAyMDE5IGF0
IDc6NDIgUE0gQ29zdGluIEx1cHUgPGNvc3Rpbi5sdXB1QGNzLnB1Yi5ybz4gd3JvdGU6Cj4KPiBB
bGwgZXh0ZW5zaW9ucyBhcmUgaW5jbHVkZWQgaW4gYSBuZXcgbGlicmFyeSwgbGlicnVieV9leHQu
IEVhY2ggZXh0ZW5zaW9uIGhhcwo+IGl0cyBvd24gY29uZmlndXJhdGlvbiBvcHRpb24gYW5kIGEg
PGV4dGNvbmYuaD4gaGVhZGVyLiBHaXZlbiB0aGF0IHRoZQo+IGV4dGVuc2lvbnMgZmlsZXMgYXJl
IGdlbmVyYXRlZCBhdCBidWlsZCB0aW1lIGJ5IHRoZSBvcmlnaW4gYnVpbGQgc3lzdGVtLCB3ZQo+
IGFsc28gaGF2ZSB0byBydW4gYC4vY29uZmlndXJlYCBhbmQgYG1ha2VgIGZvciB0aGUgb3JpZ2lu
YWwgYnVpbGQgYmVmb3JlCj4gYnVpbGRpbmcgdGhlbSBmb3IgVW5pa3JhZnQuCj4KPiBTaWduZWQt
b2ZmLWJ5OiBDb3N0aW4gTHVwdSA8Y29zdGluLmx1cHVAY3MucHViLnJvPgo+IC0tLQo+ICBDb25m
aWcudWsgICAgICAgICAgICAgICB8IDEwNCArKysrKysrKysrKysrKysKPiAgTWFrZWZpbGUudWsg
ICAgICAgICAgICAgfCAyNzkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
Kwo+ICBnZW5lcmF0ZWQvZXh0L2V4dGluaXQuYyB8ICA1NyArKysrKysrKwo+ICBpbmNsdWRlL3J1
YnkvY29uZmlnLmggICB8ICAgMSArCj4gIDQgZmlsZXMgY2hhbmdlZCwgNDQxIGluc2VydGlvbnMo
KykKPgo+IGRpZmYgLS1naXQgYS9Db25maWcudWsgYi9Db25maWcudWsKPiBpbmRleCBkZDgzMjY3
Li41Zjg0ZTU3IDEwMDY0NAo+IC0tLSBhL0NvbmZpZy51awo+ICsrKyBiL0NvbmZpZy51awo+IEBA
IC0yMSw0ICsyMSwxMDggQEAgaWYgTElCUlVCWQo+ICBjb25maWcgTElCUlVCWV9NSU5JCj4gICAg
ICAgICBib29sICJNaW5pIGNvbmZpZ3VyYXRpb24iCj4gICAgICAgICBkZWZhdWx0IG4KPiArCj4g
K2NvbmZpZyBMSUJSVUJZX0VYVAo+ICsgICAgICAgYm9vbCAiRW5hYmxlIGV4dGVuc2lvbnMiCj4g
KyAgICAgICBkZXBlbmRzIG9uICFMSUJSVUJZX01JTkkKPiArICAgICAgIGRlZmF1bHQgeQo+ICsK
PiArICAgICAgIGlmIExJQlJVQllfRVhUCj4gKyAgICAgICBjb25maWcgTElCUlVCWV9FWFRfU1RS
U0NBTgo+ICsgICAgICAgICAgICAgICBib29sICJzdHJzY2FuIgo+ICsgICAgICAgICAgICAgICBk
ZWZhdWx0IHkKPiArICAgICAgIGNvbmZpZyBMSUJSVUJZX0VYVF9TWVNMT0cKPiArICAgICAgICAg
ICAgICAgYm9vbCAic3lzbG9nIgo+ICsgICAgICAgICAgICAgICBkZWZhdWx0IHkKPiArICAgICAg
IGNvbmZpZyBMSUJSVUJZX0VYVF9KU09OCj4gKyAgICAgICAgICAgICAgIGJvb2wgImpzb24iCj4g
KyAgICAgICAgICAgICAgIGRlZmF1bHQgeQo+ICsgICAgICAgY29uZmlnIExJQlJVQllfRVhUX1JC
Q09ORklHX1NJWkVPRgo+ICsgICAgICAgICAgICAgICBib29sICJyYmNvbmZpZy9zaXplb2YiCj4g
KyAgICAgICAgICAgICAgIGRlZmF1bHQgeQo+ICsgICAgICAgY29uZmlnIExJQlJVQllfRVhUX0JJ
R0RFQ0lNQUwKPiArICAgICAgICAgICAgICAgYm9vbCAiYmlnZGVjaW1hbCIKPiArICAgICAgICAg
ICAgICAgZGVmYXVsdCB5Cj4gKyAgICAgICBjb25maWcgTElCUlVCWV9FWFRfUkFDQ19DUEFSU0UK
PiArICAgICAgICAgICAgICAgYm9vbCAicmFjYy9jcGFyc2UiCj4gKyAgICAgICAgICAgICAgIGRl
ZmF1bHQgeQo+ICsgICAgICAgY29uZmlnIExJQlJVQllfRVhUX1BTWUNICj4gKyAgICAgICAgICAg
ICAgIGJvb2wgInBzeWNoIgo+ICsgICAgICAgICAgICAgICBkZWZhdWx0IHkKPiArICAgICAgIGlm
IExJQlNTTAo+ICsgICAgICAgY29uZmlnIExJQlJVQllfRVhUX0RJR0VTVAo+ICsgICAgICAgICAg
ICAgICBib29sICJkaWdlc3QiCj4gKyAgICAgICAgICAgICAgIGRlZmF1bHQgeQo+ICsgICAgICAg
ZW5kaWYKPiArICAgICAgIGNvbmZpZyBMSUJSVUJZX0VYVF9DR0lfRVNDQVBFCj4gKyAgICAgICAg
ICAgICAgIGJvb2wgImNnaS9lc2NhcGUiCj4gKyAgICAgICAgICAgICAgIGRlZmF1bHQgeQo+ICsg
ICAgICAgY29uZmlnIExJQlJVQllfRVhUX0ZDTlRMCj4gKyAgICAgICAgICAgICAgIGJvb2wgImZj
bnRsIgo+ICsgICAgICAgICAgICAgICBkZWZhdWx0IHkKPiArICAgICAgIGNvbmZpZyBMSUJSVUJZ
X0VYVF9TT0NLRVQKPiArICAgICAgICAgICAgICAgYm9vbCAic29ja2V0Igo+ICsgICAgICAgICAg
ICAgICBzZWxlY3QgTFdJUF9JUFY2Cj4gKyAgICAgICAgICAgICAgIHNlbGVjdCBMV0lQX0lHTVAK
PiArICAgICAgICAgICAgICAgZGVmYXVsdCB5Cj4gKyAgICAgICBjb25maWcgTElCUlVCWV9FWFRf
UEFUSE5BTUUKPiArICAgICAgICAgICAgICAgYm9vbCAicGF0aG5hbWUiCj4gKyAgICAgICAgICAg
ICAgIGRlZmF1bHQgeQo+ICsgICAgICAgY29uZmlnIExJQlJVQllfRVhUX0RBVEVfQ09SRQo+ICsg
ICAgICAgICAgICAgICBib29sICJkYXRlX2NvcmUiCj4gKyAgICAgICAgICAgICAgIGRlZmF1bHQg
eQo+ICsgICAgICAgY29uZmlnIExJQlJVQllfRVhUX1BUWQo+ICsgICAgICAgICAgICAgICBib29s
ICJwdHkiCj4gKyAgICAgICAgICAgICAgIGRlZmF1bHQgbgo+ICsgICAgICAgaWYgTElCU1NMCj4g
KyAgICAgICBjb25maWcgTElCUlVCWV9FWFRfT1BFTlNTTAo+ICsgICAgICAgICAgICAgICBib29s
ICJvcGVuc3NsIgo+ICsgICAgICAgICAgICAgICBkZWZhdWx0IHkKPiArICAgICAgIGVuZGlmCj4g
KyAgICAgICBjb25maWcgTElCUlVCWV9FWFRfRklCRVIKPiArICAgICAgICAgICAgICAgYm9vbCAi
ZmliZXIiCj4gKyAgICAgICAgICAgICAgIGRlZmF1bHQgeQo+ICsgICAgICAgaWYgTElCRkZJCj4g
KyAgICAgICBjb25maWcgTElCUlVCWV9FWFRfRklERExFCj4gKyAgICAgICAgICAgICAgIGJvb2wg
ImZpZGRsZSIKPiArICAgICAgICAgICAgICAgZGVmYXVsdCB5Cj4gKyAgICAgICBlbmRpZgo+ICsg
ICAgICAgY29uZmlnIExJQlJVQllfRVhUX0VUQwo+ICsgICAgICAgICAgICAgICBib29sICJldGMi
Cj4gKyAgICAgICAgICAgICAgIGRlZmF1bHQgeQo+ICsgICAgICAgY29uZmlnIExJQlJVQllfRVhU
X0NPTlRJTlVBVElPTgo+ICsgICAgICAgICAgICAgICBib29sICJjb250aW51YXRpb24iCj4gKyAg
ICAgICAgICAgICAgIGRlZmF1bHQgeQo+ICsgICAgICAgY29uZmlnIExJQlJVQllfRVhUX09CSlNQ
QUNFCj4gKyAgICAgICAgICAgICAgIGJvb2wgIm9ianNwYWNlIgo+ICsgICAgICAgICAgICAgICBk
ZWZhdWx0IHkKPiArICAgICAgIGNvbmZpZyBMSUJSVUJZX0VYVF9DT1ZFUkFHRQo+ICsgICAgICAg
ICAgICAgICBib29sICJjb3ZlcmFnZSIKPiArICAgICAgICAgICAgICAgZGVmYXVsdCB5Cj4gKyAg
ICAgICBjb25maWcgTElCUlVCWV9FWFRfSU9fQ09OU09MRQo+ICsgICAgICAgICAgICAgICBib29s
ICJpby9jb25zb2xlIgo+ICsgICAgICAgICAgICAgICBkZWZhdWx0IG4KPiArICAgICAgIGNvbmZp
ZyBMSUJSVUJZX0VYVF9JT19OT05CTE9DSwo+ICsgICAgICAgICAgICAgICBib29sICJpby9ub25i
bG9jayIKPiArICAgICAgICAgICAgICAgZGVmYXVsdCB5Cj4gKyAgICAgICBjb25maWcgTElCUlVC
WV9FWFRfSU9fV0FJVAo+ICsgICAgICAgICAgICAgICBib29sICJpby93YWl0Igo+ICsgICAgICAg
ICAgICAgICBkZWZhdWx0IHkKPiArICAgICAgIGlmIExJQlJVQllfVEVTVAo+ICsgICAgICAgY29u
ZmlnIExJQlJVQllfRVhUX1JJUFBFUgo+ICsgICAgICAgICAgICAgICBib29sICJyaXBwZXIiCj4g
KyAgICAgICAgICAgICAgIGRlZmF1bHQgeQo+ICsgICAgICAgZW5kaWYKPiArICAgICAgIGNvbmZp
ZyBMSUJSVUJZX0VYVF9OS0YKPiArICAgICAgICAgICAgICAgYm9vbCAibmtmIgo+ICsgICAgICAg
ICAgICAgICBkZWZhdWx0IHkKPiArICAgICAgIGlmIExJQlpMSUIKPiArICAgICAgIGNvbmZpZyBM
SUJSVUJZX0VYVF9aTElCCj4gKyAgICAgICAgICAgICAgIGJvb2wgInpsaWIiCj4gKyAgICAgICAg
ICAgICAgIGRlZmF1bHQgeQo+ICsgICAgICAgZW5kaWYKPiArICAgICAgIGNvbmZpZyBMSUJSVUJZ
X0VYVF9TREJNCj4gKyAgICAgICAgICAgICAgIGJvb2wgInNkYm0iCj4gKyAgICAgICAgICAgICAg
IGRlZmF1bHQgeQo+ICsgICAgICAgZW5kaWYKPiAgZW5kaWYKPiBkaWZmIC0tZ2l0IGEvTWFrZWZp
bGUudWsgYi9NYWtlZmlsZS51awo+IGluZGV4IDFmZDRiODQuLjJlNjhmNGUgMTAwNjQ0Cj4gLS0t
IGEvTWFrZWZpbGUudWsKPiArKysgYi9NYWtlZmlsZS51awo+IEBAIC0zOSw2ICszOSw3IEBACj4g
ICMgTGlicmFyeSByZWdpc3RyYXRpb24KPiAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKPiAgJChl
dmFsICQoY2FsbCBhZGRsaWJfcyxsaWJydWJ5LCQoQ09ORklHX0xJQlJVQlkpKSkKPiArJChldmFs
ICQoY2FsbCBhZGRsaWJfcyxsaWJydWJ5X2V4dCwkKENPTkZJR19MSUJSVUJZX0VYVCkpKQo+Cj4g
ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCj4gICMgU291cmNlcwo+IEBAIC0xODMsNyArMTg0LDI4
NSBAQCBMSUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMvdHJhbnMvbmV3bGluZS5j
Cj4gIExJQlJVQllfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpLy4vbWlzc2luZy9zZXRwcm9jdGl0
bGUuYwo+ICBMSUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9hZGRyMmxpbmUuYwo+Cj4g
KyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCj4gKyMgRXh0ZW5zaW9ucwo+ICsjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIwo+ICtMSUJSVUJZX0VYVF9DRkxBR1MteSArPSAkKExJQlJVQllfQ0lOQ0xVREVT
LXkpCj4gK0xJQlJVQllfRVhUX0NGTEFHUy15ICs9ICQoTElCUlVCWV9TVVBQUkVTU19GTEFHUykK
PiArTElCUlVCWV9FWFRfQ0ZMQUdTLXkgKz0gLURSVUJZX0VYVENPTkZfSD1cImV4dGNvbmYuaFwi
Cj4gKwo+ICtpZmVxICgkKENPTkZJR19MSUJSVUJZX01JTkkpLHkpCj4gIExJQlJVQllfU1JDUy15
ICs9ICQoTElCUlVCWV9TUkMpL2RteWV4dC5jCj4gK2Vsc2UKPiArTElCUlVCWV9TUkNTLXkgKz0g
JChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQvZXh0aW5pdC5jCj4gK2VuZGlmCj4gKwo+ICtp
ZmVxICgkKENPTkZJR19MSUJSVUJZX0VYVF9TVFJTQ0FOKSx5KQo+ICtMSUJSVUJZX0VYVF9TUkNT
LXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L3N0cnNjYW4vc3Ryc2Nhbi5jCj4gK0xJQlJVQllfRVhU
X1NUUlNDQU5fRkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC9zdHJzY2FuCj4gK2VuZGlm
Cj4gK2lmZXEgKCQoQ09ORklHX0xJQlJVQllfRVhUX1NZU0xPRykseSkKPiArTElCUlVCWV9FWFRf
U1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9zeXNsb2cvc3lzbG9nLmMKPiArTElCUlVCWV9F
WFRfU1lTTE9HX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvc3lzbG9nCj4gK2VuZGlm
Cj4gK2lmZXEgKCQoQ09ORklHX0xJQlJVQllfRVhUX0pTT04pLHkpCj4gK0xJQlJVQllfRVhUX1NS
Q1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvanNvbi9nZW5lcmF0b3IvZ2VuZXJhdG9yLmMKPiAr
TElCUlVCWV9FWFRfR0VORVJBVE9SX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvanNv
bi9nZW5lcmF0b3IKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9q
c29uL3BhcnNlci9wYXJzZXIuY3xqc29uCj4gK0xJQlJVQllfRVhUX1BBUlNFUl9GTEFHUy15ICs9
IC1JJChMSUJSVUJZX1NSQykvZXh0L2pzb24vcGFyc2VyCj4gK2VuZGlmCj4gK2lmZXEgKCQoQ09O
RklHX0xJQlJVQllfRVhUX1JCQ09ORklHX1NJWkVPRikseSkKPiArTElCUlVCWV9FWFRfU1JDUy15
ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9yYmNvbmZpZy9zaXplb2Yvc2l6ZXMuYwo+ICtMSUJSVUJZ
X0VYVF9TSVpFU19GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L3JiY29uZmlnL3NpemVv
Zgo+ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L3JiY29uZmlnL3Np
emVvZi9saW1pdHMuYwo+ICtMSUJSVUJZX0VYVF9MSU1JVFNfRkxBR1MteSArPSAtSSQoTElCUlVC
WV9TUkMpL2V4dC9yYmNvbmZpZy9zaXplb2YKPiArZW5kaWYKPiAraWZlcSAoJChDT05GSUdfTElC
UlVCWV9FWFRfQklHREVDSU1BTCkseSkKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVC
WV9TUkMpL2V4dC9iaWdkZWNpbWFsL2JpZ2RlY2ltYWwuYwo+ICtMSUJSVUJZX0VYVF9CSUdERUNJ
TUFMX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvYmlnZGVjaW1hbAo+ICtMSUJSVUJZ
X0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L2JpZ2RlY2ltYWwvdXRpbC91dGlsLmMK
PiArTElCUlVCWV9FWFRfVVRJTF9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L2JpZ2Rl
Y2ltYWwvdXRpbAo+ICtlbmRpZgo+ICtpZmVxICgkKENPTkZJR19MSUJSVUJZX0VYVF9SQUNDX0NQ
QVJTRSkseSkKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9yYWNj
L2NwYXJzZS9jcGFyc2UuYwo+ICtMSUJSVUJZX0VYVF9DUEFSU0VfRkxBR1MteSArPSAtSSQoTElC
UlVCWV9TUkMpL2V4dC9yYWNjL2NwYXJzZQo+ICtlbmRpZgo+ICtpZmVxICgkKENPTkZJR19MSUJS
VUJZX0VYVF9ESUdFU1QpLHkpCj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JD
KS9leHQvZGlnZXN0L2RpZ2VzdC5jCj4gK0xJQlJVQllfRVhUX0RJR0VTVF9GTEFHUy15ICs9IC1J
JChMSUJSVUJZX1NSQykvZXh0L2RpZ2VzdAo+ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJS
VUJZX1NSQykvZXh0L2RpZ2VzdC9idWJibGViYWJibGUvYnViYmxlYmFiYmxlLmMKPiArTElCUlVC
WV9FWFRfQlVCQkxFQkFCQkxFX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvZGlnZXN0
L2J1YmJsZWJhYmJsZQo+ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0
L2RpZ2VzdC9tZDUvbWQ1aW5pdC5jCj4gK0xJQlJVQllfRVhUX01ENUlOSVRfRkxBR1MteSArPSAt
SSQoTElCUlVCWV9TUkMpL2V4dC9kaWdlc3QvbWQ1Cj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAk
KExJQlJVQllfU1JDKS9leHQvZGlnZXN0L3JtZDE2MC9ybWQxNjBpbml0LmMKPiArTElCUlVCWV9F
WFRfUk1EMTYwSU5JVF9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L2RpZ2VzdC9ybWQx
NjAKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9kaWdlc3Qvc2hh
MS9zaGExaW5pdC5jCj4gK0xJQlJVQllfRVhUX1NIQTFJTklUX0ZMQUdTLXkgKz0gLUkkKExJQlJV
QllfU1JDKS9leHQvZGlnZXN0L3NoYTEKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVC
WV9TUkMpL2V4dC9kaWdlc3Qvc2hhMi9zaGEyaW5pdC5jCj4gK0xJQlJVQllfRVhUX1NIQTJJTklU
X0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvZGlnZXN0L3NoYTIKPiArZW5kaWYKPiAr
aWZlcSAoJChDT05GSUdfTElCUlVCWV9FWFRfUFNZQ0gpLHkpCj4gK0xJQlJVQllfRVhUX1NSQ1Mt
eSArPSAkKExJQlJVQllfU1JDKS9leHQvcHN5Y2gvcHN5Y2hfdG9fcnVieS5jCj4gK0xJQlJVQllf
RVhUX1BTWUNIX1RPX1JVQllfRkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC9wc3ljaCAt
SSQoTElCUlVCWV9TUkMpL2V4dC9wc3ljaC95YW1sCj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAk
KExJQlJVQllfU1JDKS9leHQvcHN5Y2gvcHN5Y2hfeWFtbF90cmVlLmMKPiArTElCUlVCWV9FWFRf
UFNZQ0hfWUFNTF9UUkVFX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvcHN5Y2ggLUkk
KExJQlJVQllfU1JDKS9leHQvcHN5Y2gveWFtbAo+ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChM
SUJSVUJZX1NSQykvZXh0L3BzeWNoL3BzeWNoX2VtaXR0ZXIuYwo+ICtMSUJSVUJZX0VYVF9QU1lD
SF9FTUlUVEVSX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvcHN5Y2ggLUkkKExJQlJV
QllfU1JDKS9leHQvcHN5Y2gveWFtbAo+ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZ
X1NSQykvZXh0L3BzeWNoL3BzeWNoX3BhcnNlci5jfHBzeWNoCj4gK0xJQlJVQllfRVhUX1BTWUNI
X1BBUlNFUl9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L3BzeWNoIC1JJChMSUJSVUJZ
X1NSQykvZXh0L3BzeWNoL3lhbWwKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9T
UkMpL2V4dC9wc3ljaC9wc3ljaC5jCj4gK0xJQlJVQllfRVhUX1BTWUNIX0ZMQUdTLXkgKz0gLUkk
KExJQlJVQllfU1JDKS9leHQvcHN5Y2ggLUkkKExJQlJVQllfU1JDKS9leHQvcHN5Y2gveWFtbAo+
ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L3BzeWNoL3lhbWwvZHVt
cGVyLmMKPiArTElCUlVCWV9FWFRfRFVNUEVSX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9l
eHQvcHN5Y2ggLUkkKExJQlJVQllfU1JDKS9leHQvcHN5Y2gveWFtbAo+ICtMSUJSVUJZX0VYVF9T
UkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L3BzeWNoL3lhbWwvcGFyc2VyLmN8eWFtbAo+ICtM
SUJSVUJZX0VYVF9QQVJTRVJfRkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC9wc3ljaCAt
SSQoTElCUlVCWV9TUkMpL2V4dC9wc3ljaC95YW1sCj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAk
KExJQlJVQllfU1JDKS9leHQvcHN5Y2gveWFtbC9zY2FubmVyLmMKPiArTElCUlVCWV9FWFRfU0NB
Tk5FUl9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L3BzeWNoIC1JJChMSUJSVUJZX1NS
QykvZXh0L3BzeWNoL3lhbWwKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMp
L2V4dC9wc3ljaC95YW1sL2FwaS5jCj4gK0xJQlJVQllfRVhUX0FQSV9GTEFHUy15ICs9IC1JJChM
SUJSVUJZX1NSQykvZXh0L3BzeWNoIC1JJChMSUJSVUJZX1NSQykvZXh0L3BzeWNoL3lhbWwKPiAr
TElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9wc3ljaC95YW1sL2xvYWRl
ci5jCj4gK0xJQlJVQllfRVhUX0xPQURFUl9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0
L3BzeWNoIC1JJChMSUJSVUJZX1NSQykvZXh0L3BzeWNoL3lhbWwKPiArTElCUlVCWV9FWFRfU1JD
Uy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9wc3ljaC95YW1sL3dyaXRlci5jCj4gK0xJQlJVQllf
RVhUX1dSSVRFUl9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L3BzeWNoIC1JJChMSUJS
VUJZX1NSQykvZXh0L3BzeWNoL3lhbWwKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVC
WV9TUkMpL2V4dC9wc3ljaC95YW1sL2VtaXR0ZXIuYwo+ICtMSUJSVUJZX0VYVF9FTUlUVEVSX0ZM
QUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvcHN5Y2ggLUkkKExJQlJVQllfU1JDKS9leHQv
cHN5Y2gveWFtbAo+ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L3Bz
eWNoL3lhbWwvcmVhZGVyLmMKPiArTElCUlVCWV9FWFRfUkVBREVSX0ZMQUdTLXkgKz0gLUkkKExJ
QlJVQllfU1JDKS9leHQvcHN5Y2ggLUkkKExJQlJVQllfU1JDKS9leHQvcHN5Y2gveWFtbAo+ICtl
bmRpZgo+ICtpZmVxICgkKENPTkZJR19MSUJSVUJZX0VYVF9DR0lfRVNDQVBFKSx5KQo+ICtMSUJS
VUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L2NnaS9lc2NhcGUvZXNjYXBlLmMK
PiArTElCUlVCWV9FWFRfRVNDQVBFX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvY2dp
L2VzY2FwZQo+ICtlbmRpZgo+ICtpZmVxICgkKENPTkZJR19MSUJSVUJZX0VYVF9GQ05UTCkseSkK
PiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9mY250bC9mY250bC5j
Cj4gK0xJQlJVQllfRVhUX0ZDTlRMX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvZmNu
dGwKPiArZW5kaWYKPiAraWZlcSAoJChDT05GSUdfTElCUlVCWV9FWFRfU09DS0VUKSx5KQo+ICtM
SUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L3NvY2tldC9pbml0LmN8c29j
a2V0Cj4gK0xJQlJVQllfRVhUX0lOSVRfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5l
cmF0ZWQvZXh0L3NvY2tldAo+ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykv
ZXh0L3NvY2tldC9jb25zdGFudHMuYwo+ICtMSUJSVUJZX0VYVF9DT05TVEFOVFNfRkxBR1MteSAr
PSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L3NvY2tldAo+ICtMSUJSVUJZX0VYVF9T
UkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L3NvY2tldC9iYXNpY3NvY2tldC5jCj4gK0xJQlJV
QllfRVhUX0JBU0lDU09DS0VUX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVk
L2V4dC9zb2NrZXQKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9z
b2NrZXQvc29ja2V0LmMKPiArTElCUlVCWV9FWFRfU09DS0VUX0ZMQUdTLXkgKz0gLUkkKExJQlJV
QllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9zb2NrZXQKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQo
TElCUlVCWV9TUkMpL2V4dC9zb2NrZXQvaXBzb2NrZXQuYwo+ICtMSUJSVUJZX0VYVF9JUFNPQ0tF
VF9GTEFHUy15ICs9IC1JJChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQvc29ja2V0Cj4gK0xJ
QlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvc29ja2V0L3RjcHNvY2tldC5j
Cj4gK0xJQlJVQllfRVhUX1RDUFNPQ0tFVF9GTEFHUy15ICs9IC1JJChMSUJSVUJZX0JBU0UpL2dl
bmVyYXRlZC9leHQvc29ja2V0Cj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JD
KS9leHQvc29ja2V0L3RjcHNlcnZlci5jCj4gK0xJQlJVQllfRVhUX1RDUFNFUlZFUl9GTEFHUy15
ICs9IC1JJChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQvc29ja2V0Cj4gK0xJQlJVQllfRVhU
X1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvc29ja2V0L3NvY2tzc29ja2V0LmMKPiArTElC
UlVCWV9FWFRfU09DS1NTT0NLRVRfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0
ZWQvZXh0L3NvY2tldAo+ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0
L3NvY2tldC91ZHBzb2NrZXQuYwo+ICtMSUJSVUJZX0VYVF9VRFBTT0NLRVRfRkxBR1MteSArPSAt
SSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L3NvY2tldAo+ICtMSUJSVUJZX0VYVF9TUkNT
LXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L3NvY2tldC91bml4c29ja2V0LmMKPiArTElCUlVCWV9F
WFRfVU5JWFNPQ0tFVF9GTEFHUy15ICs9IC1JJChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQv
c29ja2V0Cj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvc29ja2V0
L3VuaXhzZXJ2ZXIuYwo+ICtMSUJSVUJZX0VYVF9VTklYU0VSVkVSX0ZMQUdTLXkgKz0gLUkkKExJ
QlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9zb2NrZXQKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9
ICQoTElCUlVCWV9TUkMpL2V4dC9zb2NrZXQvb3B0aW9uLmMKPiArTElCUlVCWV9FWFRfT1BUSU9O
X0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9zb2NrZXQKPiArTElC
UlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9zb2NrZXQvYW5jZGF0YS5jCj4g
K0xJQlJVQllfRVhUX0FOQ0RBVEFfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0
ZWQvZXh0L3NvY2tldAo+ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0
L3NvY2tldC9yYWRkcmluZm8uYwo+ICtMSUJSVUJZX0VYVF9SQUREUklORk9fRkxBR1MteSArPSAt
SSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L3NvY2tldAo+ICtMSUJSVUJZX0VYVF9TUkNT
LXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L3NvY2tldC9pZmFkZHIuYwo+ICtMSUJSVUJZX0VYVF9J
RkFERFJfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L3NvY2tldAo+
ICtlbmRpZgo+ICtpZmVxICgkKENPTkZJR19MSUJSVUJZX0VYVF9QQVRITkFNRSkseSkKPiArTElC
UlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9wYXRobmFtZS9wYXRobmFtZS5j
Cj4gK0xJQlJVQllfRVhUX1BBVEhOQU1FX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQv
cGF0aG5hbWUKPiArZW5kaWYKPiAraWZlcSAoJChDT05GSUdfTElCUlVCWV9FWFRfREFURV9DT1JF
KSx5KQo+ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L2RhdGUvZGF0
ZV9jb3JlLmMKPiArTElCUlVCWV9FWFRfREFURV9DT1JFX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllf
U1JDKS9leHQvZGF0ZQo+ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0
L2RhdGUvZGF0ZV9wYXJzZS5jCj4gK0xJQlJVQllfRVhUX0RBVEVfUEFSU0VfRkxBR1MteSArPSAt
SSQoTElCUlVCWV9TUkMpL2V4dC9kYXRlCj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJV
QllfU1JDKS9leHQvZGF0ZS9kYXRlX3N0cmZ0aW1lLmMKPiArTElCUlVCWV9FWFRfREFURV9TVFJG
VElNRV9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L2RhdGUKPiArTElCUlVCWV9FWFRf
U1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9kYXRlL2RhdGVfc3RycHRpbWUuYwo+ICtMSUJS
VUJZX0VYVF9EQVRFX1NUUlBUSU1FX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvZGF0
ZQo+ICtlbmRpZgo+ICtpZmVxICgkKENPTkZJR19MSUJSVUJZX0VYVF9QVFkpLHkpCj4gK0xJQlJV
QllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvcHR5L3B0eS5jCj4gK0xJQlJVQllf
RVhUX1BUWV9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L3B0eQo+ICtlbmRpZgo+ICtp
ZmVxICgkKENPTkZJR19MSUJSVUJZX0VYVF9PUEVOU1NMKSx5KQo+ICtMSUJSVUJZX0VYVF9TUkNT
LXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L29wZW5zc2wvb3BlbnNzbF9taXNzaW5nLmMKPiArTElC
UlVCWV9FWFRfT1BFTlNTTF9NSVNTSU5HX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQv
b3BlbnNzbAo+ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L29wZW5z
c2wvb3NzbC5jCj4gK0xJQlJVQllfRVhUX09TU0xfRkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMp
L2V4dC9vcGVuc3NsCj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQv
b3BlbnNzbC9vc3NsX2FzbjEuYwo+ICtMSUJSVUJZX0VYVF9PU1NMX0FTTjFfRkxBR1MteSArPSAt
SSQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsCj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJ
QlJVQllfU1JDKS9leHQvb3BlbnNzbC9vc3NsX2Jpby5jCj4gK0xJQlJVQllfRVhUX09TU0xfQklP
X0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbAo+ICtMSUJSVUJZX0VYVF9T
UkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L29wZW5zc2wvb3NzbF9ibi5jCj4gK0xJQlJVQllf
RVhUX09TU0xfQk5fRkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsCj4gK0xJ
QlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbC9vc3NsX2NpcGhl
ci5jCj4gK0xJQlJVQllfRVhUX09TU0xfQ0lQSEVSX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JD
KS9leHQvb3BlbnNzbAo+ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0
L29wZW5zc2wvb3NzbF9jb25maWcuYwo+ICtMSUJSVUJZX0VYVF9PU1NMX0NPTkZJR19GTEFHUy15
ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L29wZW5zc2wKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9
ICQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsL29zc2xfZGlnZXN0LmMKPiArTElCUlVCWV9FWFRf
T1NTTF9ESUdFU1RfRkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsCj4gK0xJ
QlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbC9vc3NsX2VuZ2lu
ZS5jCj4gK0xJQlJVQllfRVhUX09TU0xfRU5HSU5FX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JD
KS9leHQvb3BlbnNzbAo+ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0
L29wZW5zc2wvb3NzbF9obWFjLmMKPiArTElCUlVCWV9FWFRfT1NTTF9ITUFDX0ZMQUdTLXkgKz0g
LUkkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbAo+ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChM
SUJSVUJZX1NSQykvZXh0L29wZW5zc2wvb3NzbF9rZGYuYwo+ICtMSUJSVUJZX0VYVF9PU1NMX0tE
Rl9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L29wZW5zc2wKPiArTElCUlVCWV9FWFRf
U1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsL29zc2xfbnNfc3BraS5jCj4gK0xJ
QlJVQllfRVhUX09TU0xfTlNfU1BLSV9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L29w
ZW5zc2wKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3Ns
L29zc2xfb2NzcC5jCj4gK0xJQlJVQllfRVhUX09TU0xfT0NTUF9GTEFHUy15ICs9IC1JJChMSUJS
VUJZX1NSQykvZXh0L29wZW5zc2wKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9T
UkMpL2V4dC9vcGVuc3NsL29zc2xfcGtjczEyLmMKPiArTElCUlVCWV9FWFRfT1NTTF9QS0NTMTJf
RkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsCj4gK0xJQlJVQllfRVhUX1NS
Q1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbC9vc3NsX3BrY3M3LmMKPiArTElCUlVC
WV9FWFRfT1NTTF9QS0NTN19GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L29wZW5zc2wK
PiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsL29zc2xf
cGtleS5jCj4gK0xJQlJVQllfRVhUX09TU0xfUEtFWV9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NS
QykvZXh0L29wZW5zc2wKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4
dC9vcGVuc3NsL29zc2xfcGtleV9kaC5jCj4gK0xJQlJVQllfRVhUX09TU0xfUEtFWV9ESF9GTEFH
Uy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L29wZW5zc2wKPiArTElCUlVCWV9FWFRfU1JDUy15
ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsL29zc2xfcGtleV9kc2EuYwo+ICtMSUJSVUJZ
X0VYVF9PU1NMX1BLRVlfRFNBX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvb3BlbnNz
bAo+ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L29wZW5zc2wvb3Nz
bF9wa2V5X2VjLmMKPiArTElCUlVCWV9FWFRfT1NTTF9QS0VZX0VDX0ZMQUdTLXkgKz0gLUkkKExJ
QlJVQllfU1JDKS9leHQvb3BlbnNzbAo+ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZ
X1NSQykvZXh0L29wZW5zc2wvb3NzbF9wa2V5X3JzYS5jCj4gK0xJQlJVQllfRVhUX09TU0xfUEtF
WV9SU0FfRkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsCj4gK0xJQlJVQllf
RVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbC9vc3NsX3JhbmQuYwo+ICtM
SUJSVUJZX0VYVF9PU1NMX1JBTkRfRkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC9vcGVu
c3NsCj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbC9v
c3NsX3NzbC5jCj4gK0xJQlJVQllfRVhUX09TU0xfU1NMX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllf
U1JDKS9leHQvb3BlbnNzbAo+ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykv
ZXh0L29wZW5zc2wvb3NzbF9zc2xfc2Vzc2lvbi5jCj4gK0xJQlJVQllfRVhUX09TU0xfU1NMX1NF
U1NJT05fRkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsCj4gK0xJQlJVQllf
RVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbC9vc3NsX3g1MDkuYwo+ICtM
SUJSVUJZX0VYVF9PU1NMX1g1MDlfRkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC9vcGVu
c3NsCj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbC9v
c3NsX3g1MDlhdHRyLmMKPiArTElCUlVCWV9FWFRfT1NTTF9YNTA5QVRUUl9GTEFHUy15ICs9IC1J
JChMSUJSVUJZX1NSQykvZXh0L29wZW5zc2wKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElC
UlVCWV9TUkMpL2V4dC9vcGVuc3NsL29zc2xfeDUwOWNlcnQuYwo+ICtMSUJSVUJZX0VYVF9PU1NM
X1g1MDlDRVJUX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbAo+ICtMSUJS
VUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L29wZW5zc2wvb3NzbF94NTA5Y3Js
LmMKPiArTElCUlVCWV9FWFRfT1NTTF9YNTA5Q1JMX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JD
KS9leHQvb3BlbnNzbAo+ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0
L29wZW5zc2wvb3NzbF94NTA5ZXh0LmMKPiArTElCUlVCWV9FWFRfT1NTTF9YNTA5RVhUX0ZMQUdT
LXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbAo+ICtMSUJSVUJZX0VYVF9TUkNTLXkg
Kz0gJChMSUJSVUJZX1NSQykvZXh0L29wZW5zc2wvb3NzbF94NTA5bmFtZS5jCj4gK0xJQlJVQllf
RVhUX09TU0xfWDUwOU5BTUVfRkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3Ns
Cj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbC9vc3Ns
X3g1MDlyZXEuYwo+ICtMSUJSVUJZX0VYVF9PU1NMX1g1MDlSRVFfRkxBR1MteSArPSAtSSQoTElC
UlVCWV9TUkMpL2V4dC9vcGVuc3NsCj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllf
U1JDKS9leHQvb3BlbnNzbC9vc3NsX3g1MDlyZXZva2VkLmMKPiArTElCUlVCWV9FWFRfT1NTTF9Y
NTA5UkVWT0tFRF9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L29wZW5zc2wKPiArTElC
UlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsL29zc2xfeDUwOXN0
b3JlLmMKPiArTElCUlVCWV9FWFRfT1NTTF9YNTA5U1RPUkVfRkxBR1MteSArPSAtSSQoTElCUlVC
WV9TUkMpL2V4dC9vcGVuc3NsCj4gK2VuZGlmCj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJ
QlJVQllfU1JDKS9leHQvc3RyaW5naW8vc3RyaW5naW8uYwo+ICtMSUJSVUJZX0VYVF9TVFJJTkdJ
T19GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L3N0cmluZ2lvCj4gK2lmZXEgKCQoQ09O
RklHX0xJQlJVQllfRVhUX0ZJQkVSKSx5KQo+ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJS
VUJZX1NSQykvZXh0L2ZpYmVyL2ZpYmVyLmMKPiArTElCUlVCWV9FWFRfRklCRVJfRkxBR1MteSAr
PSAtSSQoTElCUlVCWV9TUkMpL2V4dC9maWJlcgo+ICtlbmRpZgo+ICtpZmVxICgkKENPTkZJR19M
SUJSVUJZX0VYVF9GSURETEUpLHkpCj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllf
U1JDKS9leHQvZmlkZGxlL2Nsb3N1cmUuYwo+ICtMSUJSVUJZX0VYVF9DTE9TVVJFX0ZMQUdTLXkg
Kz0gLUkkKExJQlJVQllfU1JDKS9leHQvZmlkZGxlCj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAk
KExJQlJVQllfU1JDKS9leHQvZmlkZGxlL2NvbnZlcnNpb25zLmMKPiArTElCUlVCWV9FWFRfQ09O
VkVSU0lPTlNfRkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC9maWRkbGUKPiArTElCUlVC
WV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9maWRkbGUvZmlkZGxlLmMKPiArTElC
UlVCWV9FWFRfRklERExFX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvZmlkZGxlCj4g
K0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvZmlkZGxlL2Z1bmN0aW9u
LmMKPiArTElCUlVCWV9FWFRfRlVOQ1RJT05fRkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4
dC9maWRkbGUKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9maWRk
bGUvaGFuZGxlLmMKPiArTElCUlVCWV9FWFRfSEFORExFX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllf
U1JDKS9leHQvZmlkZGxlCj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9l
eHQvZmlkZGxlL3BvaW50ZXIuYwo+ICtMSUJSVUJZX0VYVF9QT0lOVEVSX0ZMQUdTLXkgKz0gLUkk
KExJQlJVQllfU1JDKS9leHQvZmlkZGxlCj4gK2VuZGlmCj4gK2lmZXEgKCQoQ09ORklHX0xJQlJV
QllfRVhUX0VUQykseSkKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4
dC9ldGMvZXRjLmMKPiArTElCUlVCWV9FWFRfRVRDX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JD
KS9leHQvZXRjCj4gK2VuZGlmCj4gK2lmZXEgKCQoQ09ORklHX0xJQlJVQllfRVhUX0NPTlRJTlVB
VElPTikseSkKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9jb250
aW51YXRpb24vY29udGludWF0aW9uLmMKPiArTElCUlVCWV9FWFRfQ09OVElOVUFUSU9OX0ZMQUdT
LXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvY29udGludWF0aW9uCj4gK2VuZGlmCj4gK2lmZXEg
KCQoQ09ORklHX0xJQlJVQllfRVhUX09CSlNQQUNFKSx5KQo+ICtMSUJSVUJZX0VYVF9TUkNTLXkg
Kz0gJChMSUJSVUJZX1NSQykvZXh0L29ianNwYWNlL29iamVjdF90cmFjaW5nLmMKPiArTElCUlVC
WV9FWFRfT0JKRUNUX1RSQUNJTkdfRkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC9vYmpz
cGFjZQo+ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L29ianNwYWNl
L29ianNwYWNlLmMKPiArTElCUlVCWV9FWFRfT0JKU1BBQ0VfRkxBR1MteSArPSAtSSQoTElCUlVC
WV9TUkMpL2V4dC9vYmpzcGFjZQo+ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NS
QykvZXh0L29ianNwYWNlL29ianNwYWNlX2R1bXAuYwo+ICtMSUJSVUJZX0VYVF9PQkpTUEFDRV9E
VU1QX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvb2Jqc3BhY2UKPiArZW5kaWYKPiAr
aWZlcSAoJChDT05GSUdfTElCUlVCWV9FWFRfQ09WRVJBR0UpLHkpCj4gK0xJQlJVQllfRVhUX1NS
Q1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvY292ZXJhZ2UvY292ZXJhZ2UuYwo+ICtMSUJSVUJZ
X0VYVF9DT1ZFUkFHRV9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L2NvdmVyYWdlCj4g
K2VuZGlmCj4gK2lmZXEgKCQoQ09ORklHX0xJQlJVQllfRVhUX0lPX0NPTlNPTEUpLHkpCj4gK0xJ
QlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvaW8vY29uc29sZS9jb25zb2xl
LmMKPiArTElCUlVCWV9FWFRfQ09OU09MRV9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0
L2lvL2NvbnNvbGUKPiArZW5kaWYKPiAraWZlcSAoJChDT05GSUdfTElCUlVCWV9FWFRfSU9fTk9O
QkxPQ0spLHkpCj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvaW8v
bm9uYmxvY2svbm9uYmxvY2suYwo+ICtMSUJSVUJZX0VYVF9OT05CTE9DS19GTEFHUy15ICs9IC1J
JChMSUJSVUJZX1NSQykvZXh0L2lvL25vbmJsb2NrCj4gK2VuZGlmCj4gK2lmZXEgKCQoQ09ORklH
X0xJQlJVQllfRVhUX0lPX1dBSVQpLHkpCj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJV
QllfU1JDKS9leHQvaW8vd2FpdC93YWl0LmMKPiArTElCUlVCWV9FWFRfV0FJVF9GTEFHUy15ICs9
IC1JJChMSUJSVUJZX1NSQykvZXh0L2lvL3dhaXQKPiArZW5kaWYKPiAraWZlcSAoJChDT05GSUdf
TElCUlVCWV9FWFRfUklQUEVSKSx5KQo+ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZ
X1NSQykvZXh0L3JpcHBlci9yaXBwZXIuYwo+ICtMSUJSVUJZX0VYVF9SSVBQRVJfRkxBR1MteSAr
PSAtSSQoTElCUlVCWV9TUkMpL2V4dC9yaXBwZXIKPiArZW5kaWYKPiAraWZlcSAoJChDT05GSUdf
TElCUlVCWV9FWFRfTktGKSx5KQo+ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NS
QykvZXh0L25rZi9ua2YuYwo+ICtMSUJSVUJZX0VYVF9OS0ZfRkxBR1MteSArPSAtSSQoTElCUlVC
WV9TUkMpL2V4dC9ua2YKPiArZW5kaWYKPiAraWZlcSAoJChDT05GSUdfTElCUlVCWV9FWFRfWkxJ
QikseSkKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC96bGliL3ps
aWIuYwo+ICtMSUJSVUJZX0VYVF9aTElCX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQv
emxpYgo+ICtlbmRpZgo+ICtpZmVxICgkKENPTkZJR19MSUJSVUJZX0VYVF9TREJNKSx5KQo+ICtM
SUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L3NkYm0vX3NkYm0uYwo+ICtM
SUJSVUJZX0VYVF9fU0RCTV9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L3NkYm0KPiAr
TElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9zZGJtL2luaXQuY3xzZGJt
Cj4gK0xJQlJVQllfRVhUX0lOSVRfRkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC9zZGJt
Cj4gK2VuZGlmCj4KPiAgaWZuZXEgKCQoQ09ORklHX0xJQlJVQllfTUlOSSkseSkKPiAgIyBJbml0
X2VuYygpIGlzIGFsc28gaW4gbWluaWluaXQuYwo+IGRpZmYgLS1naXQgYS9nZW5lcmF0ZWQvZXh0
L2V4dGluaXQuYyBiL2dlbmVyYXRlZC9leHQvZXh0aW5pdC5jCj4gaW5kZXggNDkyYTkzMy4uZGNm
OTYzMSAxMDA2NDQKPiAtLS0gYS9nZW5lcmF0ZWQvZXh0L2V4dGluaXQuYwo+ICsrKyBiL2dlbmVy
YXRlZC9leHQvZXh0aW5pdC5jCj4gQEAgLTEsMyArMSw0IEBACj4gKyNpbmNsdWRlIDx1ay9jb25m
aWcuaD4KPiAgI2luY2x1ZGUgInJ1YnkvcnVieS5oIgo+Cj4gICNkZWZpbmUgaW5pdChmdW5jLCBu
YW1lKSB7ICAgICBcCj4gQEAgLTksNDAgKzEwLDk2IEBAIHZvaWQgcnVieV9pbml0X2V4dChjb25z
dCBjaGFyICpuYW1lLCB2b2lkICgqaW5pdCkodm9pZCkpOwo+Cj4gIHZvaWQgSW5pdF9leHQodm9p
ZCkKPiAgewo+ICsjaWYgQ09ORklHX0xJQlJVQllfRVhUX1NUUlNDQU4KPiAgICAgIGluaXQoSW5p
dF9zdHJzY2FuLCAic3Ryc2NhbiIpOwo+ICsjZW5kaWYKPiArI2lmIENPTkZJR19MSUJSVUJZX0VY
VF9TWVNMT0cKPiAgICAgIGluaXQoSW5pdF9zeXNsb2csICJzeXNsb2ciKTsKPiArI2VuZGlmCj4g
KyNpZiBDT05GSUdfTElCUlVCWV9FWFRfSlNPTgo+ICAgICAgaW5pdChJbml0X2dlbmVyYXRvciwg
Impzb24vZXh0L2dlbmVyYXRvciIpOwo+ICAgICAgaW5pdChJbml0X3BhcnNlciwgImpzb24vZXh0
L3BhcnNlciIpOwo+ICsjZW5kaWYKPiArI2lmIENPTkZJR19MSUJSVUJZX0VYVF9SQkNPTkZJR19T
SVpFT0YKPiAgICAgIGluaXQoSW5pdF9zaXplb2YsICJyYmNvbmZpZy9zaXplb2YiKTsKPiArI2Vu
ZGlmCj4gKyNpZiBDT05GSUdfTElCUlVCWV9FWFRfQklHREVDSU1BTAo+ICAgICAgaW5pdChJbml0
X2JpZ2RlY2ltYWwsICJiaWdkZWNpbWFsIik7Cj4gICAgICBpbml0KEluaXRfdXRpbCwgImJpZ2Rl
Y2ltYWwvdXRpbCIpOwo+ICsjZW5kaWYKPiArI2lmIENPTkZJR19MSUJSVUJZX0VYVF9SQUNDX0NQ
QVJTRQo+ICAgICAgaW5pdChJbml0X2NwYXJzZSwgInJhY2MvY3BhcnNlIik7Cj4gKyNlbmRpZgo+
ICsjaWYgQ09ORklHX0xJQlJVQllfRVhUX0RJR0VTVAo+ICAgICAgaW5pdChJbml0X2RpZ2VzdCwg
ImRpZ2VzdCIpOwo+ICAgICAgaW5pdChJbml0X2J1YmJsZWJhYmJsZSwgImRpZ2VzdC9idWJibGVi
YWJibGUiKTsKPiAgICAgIGluaXQoSW5pdF9tZDUsICJkaWdlc3QvbWQ1Iik7Cj4gICAgICBpbml0
KEluaXRfcm1kMTYwLCAiZGlnZXN0L3JtZDE2MCIpOwo+ICAgICAgaW5pdChJbml0X3NoYTEsICJk
aWdlc3Qvc2hhMSIpOwo+ICAgICAgaW5pdChJbml0X3NoYTIsICJkaWdlc3Qvc2hhMiIpOwo+ICsj
ZW5kaWYKPiArI2lmIENPTkZJR19MSUJSVUJZX0VYVF9QU1lDSAo+ICAgICAgaW5pdChJbml0X3Bz
eWNoLCAicHN5Y2giKTsKPiArI2VuZGlmCj4gKyNpZiBDT05GSUdfTElCUlVCWV9FWFRfQ0dJX0VT
Q0FQRQo+ICAgICAgaW5pdChJbml0X2VzY2FwZSwgImNnaS9lc2NhcGUiKTsKPiArI2VuZGlmCj4g
KyNpZiBDT05GSUdfTElCUlVCWV9FWFRfRkNOVEwKPiAgICAgIGluaXQoSW5pdF9mY250bCwgImZj
bnRsIik7Cj4gKyNlbmRpZgo+ICAgICAgaW5pdChJbml0X3N0cmluZ2lvLCAic3RyaW5naW8iKTsK
PiArI2lmIENPTkZJR19MSUJSVUJZX0VYVF9TT0NLRVQKPiAgICAgIGluaXQoSW5pdF9zb2NrZXQs
ICJzb2NrZXQiKTsKPiArI2VuZGlmCj4gKyNpZiBDT05GSUdfTElCUlVCWV9FWFRfUEFUSE5BTUUK
PiAgICAgIGluaXQoSW5pdF9wYXRobmFtZSwgInBhdGhuYW1lIik7Cj4gKyNlbmRpZgo+ICsjaWYg
Q09ORklHX0xJQlJVQllfRVhUX0RBVEVfQ09SRQo+ICAgICAgaW5pdChJbml0X2RhdGVfY29yZSwg
ImRhdGVfY29yZSIpOwo+ICsjZW5kaWYKPiArI2lmIENPTkZJR19MSUJSVUJZX0VYVF9QVFkKPiAg
ICAgIGluaXQoSW5pdF9wdHksICJwdHkiKTsKPiArI2VuZGlmCj4gKyNpZiBDT05GSUdfTElCUlVC
WV9FWFRfT1BFTlNTTAo+ICAgICAgaW5pdChJbml0X29wZW5zc2wsICJvcGVuc3NsIik7Cj4gKyNl
bmRpZgo+ICsjaWYgQ09ORklHX0xJQlJVQllfRVhUX0ZJQkVSCj4gICAgICBpbml0KEluaXRfZmli
ZXIsICJmaWJlciIpOwo+ICsjZW5kaWYKPiArI2lmIENPTkZJR19MSUJSVUJZX0VYVF9GSURETEUK
PiAgICAgIGluaXQoSW5pdF9maWRkbGUsICJmaWRkbGUiKTsKPiArI2VuZGlmCj4gKyNpZiBDT05G
SUdfTElCUlVCWV9FWFRfRVRDCj4gICAgICBpbml0KEluaXRfZXRjLCAiZXRjIik7Cj4gKyNlbmRp
Zgo+ICsjaWYgQ09ORklHX0xJQlJVQllfRVhUX0NPTlRJTlVBVElPTgo+ICAgICAgaW5pdChJbml0
X2NvbnRpbnVhdGlvbiwgImNvbnRpbnVhdGlvbiIpOwo+ICsjZW5kaWYKPiArI2lmIENPTkZJR19M
SUJSVUJZX0VYVF9PQkpTUEFDRQo+ICAgICAgaW5pdChJbml0X29ianNwYWNlLCAib2Jqc3BhY2Ui
KTsKPiArI2VuZGlmCj4gKyNpZiBDT05GSUdfTElCUlVCWV9FWFRfQ09WRVJBR0UKPiAgICAgIGlu
aXQoSW5pdF9jb3ZlcmFnZSwgImNvdmVyYWdlIik7Cj4gKyNlbmRpZgo+ICsjaWYgQ09ORklHX0xJ
QlJVQllfRVhUX0lPX0NPTlNPTEUKPiAgICAgIGluaXQoSW5pdF9jb25zb2xlLCAiaW8vY29uc29s
ZSIpOwo+ICsjZW5kaWYKPiArI2lmIENPTkZJR19MSUJSVUJZX0VYVF9JT19OT05CTE9DSwo+ICAg
ICAgaW5pdChJbml0X25vbmJsb2NrLCAiaW8vbm9uYmxvY2siKTsKPiArI2VuZGlmCj4gKyNpZiBD
T05GSUdfTElCUlVCWV9FWFRfSU9fV0FJVAo+ICAgICAgaW5pdChJbml0X3dhaXQsICJpby93YWl0
Iik7Cj4gKyNlbmRpZgo+ICsjaWYgQ09ORklHX0xJQlJVQllfRVhUX1JJUFBFUgo+ICAgICAgaW5p
dChJbml0X3JpcHBlciwgInJpcHBlciIpOwo+ICsjZW5kaWYKPiArI2lmIENPTkZJR19MSUJSVUJZ
X0VYVF9OS0YKPiAgICAgIGluaXQoSW5pdF9ua2YsICJua2YiKTsKPiArI2VuZGlmCj4gKyNpZiBD
T05GSUdfTElCUlVCWV9FWFRfWkxJQgo+ICAgICAgaW5pdChJbml0X3psaWIsICJ6bGliIik7Cj4g
KyNlbmRpZgo+ICsjaWYgQ09ORklHX0xJQlJVQllfRVhUX1NEQk0KPiAgICAgIGluaXQoSW5pdF9z
ZGJtLCAic2RibSIpOwo+ICsjZW5kaWYKPiAgfQo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL3J1Ynkv
Y29uZmlnLmggYi9pbmNsdWRlL3J1YnkvY29uZmlnLmgKPiBpbmRleCBlOWZmNGQxLi4yYjBmYWUw
IDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvcnVieS9jb25maWcuaAo+ICsrKyBiL2luY2x1ZGUvcnVi
eS9jb25maWcuaAo+IEBAIC00MjIsNiArNDIyLDcgQEAKPiAgLyogI2RlZmluZSBIQVZFX1ZBTEdS
SU5EX01FTUNIRUNLX0ggMSAqLwo+ICAjZGVmaW5lIERMRVhUX01BWExFTiAzCj4gICNkZWZpbmUg
RExFWFQgIi5zbyIKPiArI2RlZmluZSBFWFRTVEFUSUMgMQo+ICAjZGVmaW5lIEhBVkVfX1NFVEpN
UCAxCj4gICNkZWZpbmUgUlVCWV9TRVRKTVAoZW52KSBfX2J1aWx0aW5fc2V0am1wKChlbnYpKQo+
ICAjZGVmaW5lIFJVQllfTE9OR0pNUChlbnYsdmFsKSBfX2J1aWx0aW5fbG9uZ2ptcCgoZW52KSx2
YWwpCj4gLS0KPiAyLjIwLjEKPgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMu
eGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3Rp
bmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Mon Dec 16 13:25:26 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 16 Dec 2019 13:25:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1igqNK-0001fz-Ld; Mon, 16 Dec 2019 13:25:26 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=qGHl=2G=gmail.com=stefanl.teodorescu@srs-us1.protection.inumbo.net>)
 id 1igqNK-0001fu-30
 for minios-devel@lists.xen.org; Mon, 16 Dec 2019 13:25:26 +0000
X-Inumbo-ID: 845e9d58-2007-11ea-88e7-bc764e2007e4
Received: from mail-lf1-x141.google.com (unknown [2a00:1450:4864:20::141])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 845e9d58-2007-11ea-88e7-bc764e2007e4;
 Mon, 16 Dec 2019 13:25:25 +0000 (UTC)
Received: by mail-lf1-x141.google.com with SMTP id 203so4198109lfa.12
 for <minios-devel@lists.xen.org>; Mon, 16 Dec 2019 05:25:25 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to
 :cc; bh=PmJPEItXIHxPyYSy93yOvOoGQm2Mlc6fR1CoIbmQ6GE=;
 b=QpXNUtS+KkXEd/Lx3WMzvU+YlcX91tRS34ns6EKm6GGJaDbOnav/QJ/8p5fyLXEfu8
 U14qS4QOFJTUKex0dmfRxLD0UJE9GEqkvqwQ3fAy7SnkWETfInEQITAnIq/SmGzdT/xe
 gkHEdctjg0uJ3f6GIgWKwjH0fycxgKiG/bOk3eHn0sInm+V5Ffu2uq0e/e6SPI+/F8wN
 img9XbEi72JysSiBk1FfzL7+hPLC2egSGw+8FI/aGZ2wSYhaGnpK1z24UmKETk7aW5rb
 TY0jXB4nH4OHwPbr88ffj7zWpyZ4vWQelzd968rvwVjs+HQ+i2Ph4d2RO6oeP/tWKKHD
 SWWg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
 :message-id:subject:to:cc;
 bh=PmJPEItXIHxPyYSy93yOvOoGQm2Mlc6fR1CoIbmQ6GE=;
 b=EVIxF3Zr05R30kHc1+AUVfQ1qKbQ9Ur24LTwN1r47pDIVTlOW1kwJuTheD6BdfDNKD
 ih30SW6HvMaGsUjRd8xJd02NgIAZWzPWFutHI2ONUG28azjB9Aim5SvfQZp2wteOxCQm
 jrIrA5+AtKRlbg/Ei/eSqvSAhEpaIH5sY1ZatyV3CDV7HYIDwAM1RlgFp8ZVG8DEombk
 I70bxJJD8u8YVTK6tDFVbzYbZJ2QzpKt0MDTMejhdHGohlxWP69tolKW2tqrHlw+Cv4f
 9HwORXyh+Bxs7GR7XI4kS3PQQhroQXzoTkqjXUCYe50xl0bfrZ0beahgrz67uBGb5gNJ
 WXTA==
X-Gm-Message-State: APjAAAXdN3jUhuW8l9Vz/Sskaqpm6d13eYFvJwhoTdFZn7fhPQCgA6GR
 9rvuyUlZqlDroHKz0DZbf4tbg71gYVLmbBM2MGgS9VkS6bk=
X-Google-Smtp-Source: APXvYqzNKTEAqvKa0XN1WhqV/vhhWgdyKO1arzJLefsqHu0UmvCUea1KoXk5Hpx3/NlEtrvxd9t/iy7F0FMY9Vo8Jko=
X-Received: by 2002:a05:6512:488:: with SMTP id
 v8mr16386620lfq.173.1576502724119; 
 Mon, 16 Dec 2019 05:25:24 -0800 (PST)
MIME-Version: 1.0
References: <20191212174239.5202-1-costin.lupu@cs.pub.ro>
 <20191212174239.5202-6-costin.lupu@cs.pub.ro>
In-Reply-To: <20191212174239.5202-6-costin.lupu@cs.pub.ro>
From: Stefan Teodorescu <stefanl.teodorescu@gmail.com>
Date: Mon, 16 Dec 2019 15:25:13 +0200
Message-ID: <CAEiTdV6PYz42mQrduHYCcngr_jN7nxVcgqGxO+6u4ov=V7gjMA@mail.gmail.com>
To: Costin Lupu <costin.lupu@cs.pub.ro>
Subject: Re: [Minios-devel] [UNIKRAFT/RUBY PATCH 5/8] tests: Build tests
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: minios-devel@lists.xen.org
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhlcmUgaXMgYSB0eXBvIHdoZW4gaW5pdGlhbGl6aW5nIHRoZSBmaWxlIHRlc3QsIHlvdSBzaG91
bGQgY2hhbmdlIGl0CnRvIEluaXRfZmlsZSwgaW5zdGVhZCBvZiBJbml0X3RpbWUuCgpSZXZpZXdl
ZC1ieTogU3RlZmFuIFRlb2RvcmVzY3UgPHN0ZWZhbmwudGVvZG9yZXNjdUBnbWFpbC5jb20+CgpP
biBUaHUsIERlYyAxMiwgMjAxOSBhdCA3OjQyIFBNIENvc3RpbiBMdXB1IDxjb3N0aW4ubHVwdUBj
cy5wdWIucm8+IHdyb3RlOgo+Cj4gVGhlIFJ1YnkgdW5pdCB0ZXN0aW5nIGRlcGVuZHMgb24gYm90
aCBleHRlbnNpb25zIGFuZCBlbmNvZGluZ3MuIFdlIGN1cnJlbnRseQo+IGFkZCBzdXBwb3J0IGZv
ciBydW5uaW5nIG9ubHkgdGhlIHRpbWUgYW5kIGZpbGUgdGVzdHMuIEVuYWJsaW5nIHRoZSByZXN0
IG9mIHRoZQo+IHRlc3RzIGlzIHN1YmplY3Qgb2YgZnVydGhlciB3b3JrLgo+Cj4gU2lnbmVkLW9m
Zi1ieTogQ29zdGluIEx1cHUgPGNvc3Rpbi5sdXB1QGNzLnB1Yi5ybz4KPiAtLS0KPiAgQ29uZmln
LnVrICAgICAgICAgICAgICAgfCAgNyArKysrKysrCj4gIE1ha2VmaWxlLnVrICAgICAgICAgICAg
IHwgNDIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiAgZ2VuZXJh
dGVkL2V4dC9leHRpbml0LmMgfCAgNiArKysrKysKPiAgMyBmaWxlcyBjaGFuZ2VkLCA1NSBpbnNl
cnRpb25zKCspCj4KPiBkaWZmIC0tZ2l0IGEvQ29uZmlnLnVrIGIvQ29uZmlnLnVrCj4gaW5kZXgg
YTQ5NDU0MC4uNDhiOTY2OSAxMDA2NDQKPiAtLS0gYS9Db25maWcudWsKPiArKysgYi9Db25maWcu
dWsKPiBAQCAtMTMxLDQgKzEzMSwxMSBAQCBjb25maWcgTElCUlVCWV9FTkMKPiAgICAgICAgIGRl
cGVuZHMgb24gIUxJQlJVQllfTUlOSQo+ICAgICAgICAgZGVmYXVsdCB5Cj4KPiArY29uZmlnIExJ
QlJVQllfVEVTVAo+ICsgICAgICAgYm9vbCAiRW5hYmxlIHVuaXQgdGVzdGluZyIKPiArICAgICAg
IGRlcGVuZHMgb24gIUxJQlJVQllfTUlOSQo+ICsgICAgICAgZGVwZW5kcyBvbiBMSUJSVUJZX0VY
VAo+ICsgICAgICAgZGVwZW5kcyBvbiBMSUJSVUJZX0VOQwo+ICsgICAgICAgZGVmYXVsdCB5Cj4g
Kwo+ICBlbmRpZgo+IGRpZmYgLS1naXQgYS9NYWtlZmlsZS51ayBiL01ha2VmaWxlLnVrCj4gaW5k
ZXggMDQxZTdlYy4uOWVhODNhMyAxMDA2NDQKPiAtLS0gYS9NYWtlZmlsZS51awo+ICsrKyBiL01h
a2VmaWxlLnVrCj4gQEAgLTQxLDYgKzQxLDcgQEAKPiAgJChldmFsICQoY2FsbCBhZGRsaWJfcyxs
aWJydWJ5LCQoQ09ORklHX0xJQlJVQlkpKSkKPiAgJChldmFsICQoY2FsbCBhZGRsaWJfcyxsaWJy
dWJ5X2V4dCwkKENPTkZJR19MSUJSVUJZX0VYVCkpKQo+ICAkKGV2YWwgJChjYWxsIGFkZGxpYl9z
LGxpYnJ1YnlfZW5jLCQoQ09ORklHX0xJQlJVQllfRU5DKSkpCj4gKyQoZXZhbCAkKGNhbGwgYWRk
bGliX3MsbGlicnVieV90ZXN0LCQoQ09ORklHX0xJQlJVQllfVEVTVCkpKQo+Cj4gICMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjCj4gICMgU291cmNlcwo+IEBAIC01NDQsNiArNTQ1LDMxIEBAIExJQlJV
QllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMvdHJhbnMvc2luZ2xlX2J5dGUuYwo+
ICBMSUJSVUJZX0VOQ19TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL3RyYW5zL3V0ZjhfbWFj
LmMKPiAgTElCUlVCWV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy90cmFucy91dGZf
MTZfMzIuYwo+Cj4gKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCj4gKyMgVW5pdCB0ZXN0aW5nCj4g
KyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCj4gK0xJQlJVQllfVEVTVF9DRkxBR1MteSArPSAkKExJ
QlJVQllfQ0lOQ0xVREVTLXkpCj4gK0xJQlJVQllfVEVTVF9DRkxBR1MteSArPSAkKExJQlJVQllf
U1VQUFJFU1NfRkxBR1MpCj4gK0xJQlJVQllfVEVTVF9DRkxBR1MteSArPSAtRFJVQllfRVhUQ09O
Rl9IPVwiZXh0Y29uZi5oXCIKPiArCj4gKyQoTElCUlVCWV9TUkMpL2V4dC8tdGVzdC0vZmlsZS9p
bml0X2ZpbGUuYzogJChMSUJSVUJZX1NSQykvZXh0Ly10ZXN0LS9maWxlL2luaXQuYwo+ICsgICAg
ICAgbG4gLXMgJDwgJEAKPiArTElCUlVCWV9URVNUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9l
eHQvLXRlc3QtL2ZpbGUvaW5pdF9maWxlLmMKPiArTElCUlVCWV9URVNUX0lOSVQtRklMRV9GTEFH
Uy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0Ly10ZXN0LS9maWxlCj4gK0xJQlJVQllfVEVTVF9T
UkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0Ly10ZXN0LS9maWxlL2ZzLmMKPiArTElCUlVCWV9U
RVNUX0ZTX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvLXRlc3QtL2ZpbGUKPiArTElC
UlVCWV9URVNUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvLXRlc3QtL2ZpbGUvc3RhdC5j
Cj4gK0xJQlJVQllfVEVTVF9TVEFUX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvLXRl
c3QtL2ZpbGUKPiArCj4gKyQoTElCUlVCWV9TUkMpL2V4dC8tdGVzdC0vdGltZS9pbml0X3RpbWUu
YzogJChMSUJSVUJZX1NSQykvZXh0Ly10ZXN0LS90aW1lL2luaXQuYwo+ICsgICAgICAgbG4gLXMg
JDwgJEAKPiArTElCUlVCWV9URVNUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvLXRlc3Qt
L3RpbWUvaW5pdF90aW1lLmMKPiArTElCUlVCWV9URVNUX0lOSVQtVElNRV9GTEFHUy15ICs9IC1J
JChMSUJSVUJZX1NSQykvZXh0Ly10ZXN0LS90aW1lCj4gK0xJQlJVQllfVEVTVF9TUkNTLXkgKz0g
JChMSUJSVUJZX1NSQykvZXh0Ly10ZXN0LS90aW1lL2xlYXBfc2Vjb25kLmMKPiArTElCUlVCWV9U
RVNUX0xFQVBfU0VDT05EX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvLXRlc3QtL3Rp
bWUKPiArTElCUlVCWV9URVNUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvLXRlc3QtL3Rp
bWUvbmV3LmMKPiArTElCUlVCWV9URVNUX05FV19GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykv
ZXh0Ly10ZXN0LS90aW1lCj4gKwo+ICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwo+ICAjIFByZXBh
cmUgcnVsZXMKPiAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKPiBAQCAtNTY0LDMgKzU5MCwxOSBA
QCAkKExJQlJVQllfQlVJTEQpLy5idWlsZDogJChMSUJSVUJZX0JVSUxEKS8uY29uZmlndXJlZAo+
Cj4gIFVLX1BSRVBBUkUgKz0gJChMSUJSVUJZX0JVSUxEKS8uYnVpbGQKPgo+ICtpZmVxICgkKENP
TkZJR19MSUJSVUJZX1RFU1QpLHkpCj4gKyMgQ3VzdG9taXplIGNvbmZpZzogY29uZmlndXJlIHN0
YWNrIHNpemUKPiArJChBUFBfQkFTRSkvLmNvbmZpZy5vcmlnOiAkKEFQUF9CQVNFKS8uY29uZmln
Cj4gKyAgICAgICAkKGNhbGwgdmVyYm9zZV9jbWQsQ09ORklHLGxpYnJ1Ynk6ICQobm90ZGlyICRA
KSwgXAo+ICsgICAgICAgICAgICAgICBjcCAkKEFQUF9CQVNFKS8uY29uZmlnICRAICYmIFwKPiAr
ICAgICAgICAgICAgICAgc2VkIC1pICdzL15DT05GSUdfU1RBQ0tfU0laRV9QQUdFX09SREVSPS4q
JCQvQ09ORklHX1NUQUNLX1NJWkVfUEFHRV9PUkRFUj0xMC9nJyAkKEFQUF9CQVNFKS8uY29uZmln
KQo+ICsKPiArIyBXZSBuZWVkIGEgYmlnZ2VyIHN0YWNrIGZvciB0ZXN0cwo+ICtMSUJSVUJZX1RF
U1RfUFJFUEFSRURfREVQUyA9IFwKPiArICAgICAgICQoQVBQX0JBU0UpLy5jb25maWcub3JpZyBc
Cj4gKwo+ICskKExJQlJVQllfVEVTVF9CVUlMRCkvLnByZXBhcmVkOiAkKExJQlJVQllfVEVTVF9Q
UkVQQVJFRF9ERVBTKQo+ICsKPiArVUtfUFJFUEFSRSArPSAkKExJQlJVQllfVEVTVF9CVUlMRCkv
LnByZXBhcmVkCj4gK2VuZGlmCj4gKwo+IGRpZmYgLS1naXQgYS9nZW5lcmF0ZWQvZXh0L2V4dGlu
aXQuYyBiL2dlbmVyYXRlZC9leHQvZXh0aW5pdC5jCj4gaW5kZXggZGNmOTYzMS4uNTcxMzRjNSAx
MDA2NDQKPiAtLS0gYS9nZW5lcmF0ZWQvZXh0L2V4dGluaXQuYwo+ICsrKyBiL2dlbmVyYXRlZC9l
eHQvZXh0aW5pdC5jCj4gQEAgLTEwMiw0ICsxMDIsMTAgQEAgdm9pZCBJbml0X2V4dCh2b2lkKQo+
ICAjaWYgQ09ORklHX0xJQlJVQllfRVhUX1NEQk0KPiAgICAgIGluaXQoSW5pdF9zZGJtLCAic2Ri
bSIpOwo+ICAjZW5kaWYKPiArCj4gKyNpZiBDT05GSUdfTElCUlVCWV9URVNUCj4gKyAgICAvKiBU
T0RPIGFkZCBtb3JlIHRlc3RzICovCj4gKyAgICBpbml0KEluaXRfdGltZSwgIi10ZXN0LS9maWxl
Iik7Cj4gKyAgICBpbml0KEluaXRfdGltZSwgIi10ZXN0LS90aW1lIik7Cj4gKyNlbmRpZgo+ICB9
Cj4gLS0KPiAyLjIwLjEKPgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVu
cHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZv
L21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Mon Dec 16 13:26:20 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 16 Dec 2019 13:26:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1igqOB-0001jZ-PH; Mon, 16 Dec 2019 13:26:19 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=qGHl=2G=gmail.com=stefanl.teodorescu@srs-us1.protection.inumbo.net>)
 id 1igqOA-0001jT-Se
 for minios-devel@lists.xen.org; Mon, 16 Dec 2019 13:26:18 +0000
X-Inumbo-ID: a3f5d83e-2007-11ea-88e7-bc764e2007e4
Received: from mail-lf1-x141.google.com (unknown [2a00:1450:4864:20::141])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id a3f5d83e-2007-11ea-88e7-bc764e2007e4;
 Mon, 16 Dec 2019 13:26:18 +0000 (UTC)
Received: by mail-lf1-x141.google.com with SMTP id 9so4207824lfq.10
 for <minios-devel@lists.xen.org>; Mon, 16 Dec 2019 05:26:18 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to
 :cc; bh=lvkx1PEaHuv7mXxb7nh6ddb8I3rJr4c9z60tb8SMXA4=;
 b=GfvWA8FFhmmmAOe6cgi3fwUSsaeM/W03OSt8EWDi8emZhxNvXT1d2IdWDFFHU3yoTA
 f48A+lrpKiqlPBW6zZxADI60FewG7a6fL82vVSGGDenDURS7uXuOEzf3FuEnZU4Nch0r
 zJwAtrYcx9Ljr4cCa0wNEwQ/lCX5Q1RpTujakMg34Jukyxguxq7yzDbU1NJqF02iiiPw
 ny048N3/DHEFgxHhCi1hVuka7rE1A9Mc1ERu+y+NmM+8hEnZAopYUrQx60i8qqTctkoJ
 NpycpnFJ/NBvkLASatdUp9Rh+mRv4I2M2MpqhOMzl8aws72qzzJp6KrvveyiGZqBsAo+
 bnYw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
 :message-id:subject:to:cc;
 bh=lvkx1PEaHuv7mXxb7nh6ddb8I3rJr4c9z60tb8SMXA4=;
 b=VUnZiy5+8vOcuu4wcVP0XnAqWKQuSxRg6cMuJbUkagDUELksB+t0Uzh7oXhd+08+lL
 ZJ3V0NqHFRhzgZs7DXtWW1r+/w07lGBrCTjHQvIF282S9UVMO6iuvHmzKEScXW3m+nU5
 XkcRFMQB1RPm4Q+GSQM5meQ1Daw4yYjAZNd7Ufa0RJ//Y233YOKcHu7wvXPZKsOqLC6F
 dyWEmBpuXMc91crKZZ7ohPgLOfINDE3Px45A9wHgtDjcX1BQNKDHCoeEn/G0TVleFtPJ
 LbF4AFosOg7dyjrAnyeieD7lOW7/GjkDHgBCJ+MhE6PqS/6DOcVMQ/EKRYDc7LQLKyaD
 vpuw==
X-Gm-Message-State: APjAAAVMlXSWBaf8D5EmSlDMfZIyjIU4Zq5ObzUvvF/AhGf8ahtXrVJF
 KsXGL7Y0p29neQa+ojUNQ94GmUfUdZU97AA3yXWQD/Ey3rU=
X-Google-Smtp-Source: APXvYqy0KRyxf/uLVbLz/zve9mRF/lnFhpALOeyXJIbLCvY/+5x7dMkQraUa+MkwY9/gEZZXgFGKDVqM2pmha4v4vU8=
X-Received: by 2002:a19:c8:: with SMTP id 191mr13043541lfa.102.1576502777021; 
 Mon, 16 Dec 2019 05:26:17 -0800 (PST)
MIME-Version: 1.0
References: <20191212174239.5202-1-costin.lupu@cs.pub.ro>
 <20191212174239.5202-7-costin.lupu@cs.pub.ro>
In-Reply-To: <20191212174239.5202-7-costin.lupu@cs.pub.ro>
From: Stefan Teodorescu <stefanl.teodorescu@gmail.com>
Date: Mon, 16 Dec 2019 15:26:05 +0200
Message-ID: <CAEiTdV5kneDG2D7w+R5jeCnw4rPwC_7Z1YQF-pfi8A2Uf6Ergw@mail.gmail.com>
To: Costin Lupu <costin.lupu@cs.pub.ro>
Subject: Re: [Minios-devel] [UNIKRAFT/RUBY PATCH 6/8] Makefile.uk: Add rule
 for creating root filesystem
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: minios-devel@lists.xen.org
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

UmV2aWV3ZWQtYnk6IFN0ZWZhbiBUZW9kb3Jlc2N1IDxzdGVmYW5sLnRlb2RvcmVzY3VAZ21haWwu
Y29tPgoKT24gVGh1LCBEZWMgMTIsIDIwMTkgYXQgNzo0MiBQTSBDb3N0aW4gTHVwdSA8Y29zdGlu
Lmx1cHVAY3MucHViLnJvPiB3cm90ZToKPgo+IFRoZSBSdWJ5IGludGVycHJldGVyIG5lZWRzIGEg
ZmlsZXN5c3RlbSB3aGVyZSB0byBrZWVwIGl0cyBsaWJyYXJpZXMuIFRoaXMgcGF0Y2gKPiBjcmVh
dGVzIGEgcm9vdCBmaWxlc3lzdGVtIGFuZCBpbnN0YWxscyB0aGUgUnVieSBsaWJyYXJpZXMgaW4g
YC9saWIvcnVieS8yLjYuMC9gCj4gZGlyZWN0b3J5LiBGb3IgY3JlYXRpbmcgdGhlIGZpbGVzeXN0
ZW0gdGhlIGZvbGxvd2luZyBjb21tYW5kIGhhcyB0byBiZSBydW46Cj4KPiAkIG1ha2UgcnVieS1y
b290ZnMgcGF0aD08ZGlyZWN0b3J5Pgo+Cj4gU2lnbmVkLW9mZi1ieTogQ29zdGluIEx1cHUgPGNv
c3Rpbi5sdXB1QGNzLnB1Yi5ybz4KPiAtLS0KPiAgTWFrZWZpbGUudWsgICAgICAgICAgICAgICB8
IDI5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gIGdlbXMtZXhhbXBsZXMvR2VtZmls
ZS1pcmIgfCAgOCArKysrKysrKwo+ICAyIGZpbGVzIGNoYW5nZWQsIDM3IGluc2VydGlvbnMoKykK
PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGdlbXMtZXhhbXBsZXMvR2VtZmlsZS1pcmIKPgo+IGRpZmYg
LS1naXQgYS9NYWtlZmlsZS51ayBiL01ha2VmaWxlLnVrCj4gaW5kZXggOWVhODNhMy4uYzgzMjUx
OCAxMDA2NDQKPiAtLS0gYS9NYWtlZmlsZS51awo+ICsrKyBiL01ha2VmaWxlLnVrCj4gQEAgLTUw
LDYgKzUwLDcgQEAgTElCUlVCWV9NQUpPUj0yCj4gIExJQlJVQllfTUlOT1I9Ngo+ICBMSUJSVUJZ
X1JFVklTSU9OPTAKPiAgTElCUlVCWV9WRVJTSU9OPSQoTElCUlVCWV9NQUpPUilfJChMSUJSVUJZ
X01JTk9SKQo+ICtMSUJSVUJZX1ZFUlNJT05fTE9ORz0kKExJQlJVQllfTUFKT1IpLiQoTElCUlVC
WV9NSU5PUikuJChMSUJSVUJZX1JFVklTSU9OKQo+ICBMSUJSVUJZX0FSQ0hJVkU9cnVieV8kKExJ
QlJVQllfVkVSU0lPTikuemlwCj4gIExJQlJVQllfVVJMPWh0dHBzOi8vZ2l0aHViLmNvbS9ydWJ5
L3J1YnkvYXJjaGl2ZS8kKExJQlJVQllfQVJDSElWRSkKPiAgTElCUlVCWV9ESVI9cnVieS1ydWJ5
XyQoTElCUlVCWV9WRVJTSU9OKQo+IEBAIC02MDYsMyArNjA3LDMxIEBAICQoTElCUlVCWV9URVNU
X0JVSUxEKS8ucHJlcGFyZWQ6ICQoTElCUlVCWV9URVNUX1BSRVBBUkVEX0RFUFMpCj4gIFVLX1BS
RVBBUkUgKz0gJChMSUJSVUJZX1RFU1RfQlVJTEQpLy5wcmVwYXJlZAo+ICBlbmRpZgo+Cj4gKyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjCj4gKyMgUm9vdCBmaWxlc3lzdGVtCj4gKyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjCj4gKyMgUm9vdCBmaWxlc3lzdGVtIHBhdGgKPiArUlVCWV9ST09URlMgPSAk
KEFQUF9CQVNFKS8kKHBhdGgpCj4gKwo+ICsjIENvbmZpZ3VyZSBvcmlnaW4KPiArJChSVUJZX1JP
T1RGUykvLmNvbmZpZ3VyZWQ6ICQoTElCUlVCWV9CVUlMRCkvLm9yaWdpbgo+ICsgICAgICAgbWtk
aXIgLXAgJChSVUJZX1JPT1RGUykgJj4vZGV2L251bGwKPiArICAgICAgIGNkICQoTElCUlVCWV9T
UkMpICYmIFwKPiArICAgICAgICAgICAgICAgYXV0b2NvbmYgJiYgXAo+ICsgICAgICAgICAgICAg
ICAuL2NvbmZpZ3VyZSAtLXByZWZpeD0kKHNoZWxsIHJlYWxwYXRoICQoQVBQX0JBU0UpLyQocGF0
aCkpICQoTElCUlVCWV9DT05GSUdVUkVfQ09NTU9OX1BBUkFNUykgJiYgXAo+ICsgICAgICAgICAg
ICAgICB0b3VjaCAkQCAmJiB0b3VjaCAkKExJQlJVQllfQlVJTEQpLy5jb25maWd1cmVkCj4gKwo+
ICsjIEJ1aWxkIFJ1YnkKPiArJChSVUJZX1JPT1RGUykvLmJ1aWxkOiAkKFJVQllfUk9PVEZTKS8u
Y29uZmlndXJlZAo+ICsgICAgICAgY2QgJChMSUJSVUJZX1NSQykgJiYgbWFrZSAtaiQoSk9CUykg
JiYgdG91Y2ggJEAgJiYgdG91Y2ggJChMSUJSVUJZX0JVSUxEKS8uYnVpbGQKPiArCj4gKyMgSW5z
dGFsbCBSdWJ5Cj4gKyQoUlVCWV9ST09URlMpLy5kb25lOiAkKFJVQllfUk9PVEZTKS8uYnVpbGQK
PiArICAgICAgIGNkICQoTElCUlVCWV9TUkMpICYmIG1ha2UgaW5zdGFsbAo+ICsgICAgICAgY3Ag
LXIgJChMSUJSVUJZX1NSQykvLmV4dCAkKFJVQllfUk9PVEZTKS9saWIvcnVieS8kKExJQlJVQllf
VkVSU0lPTl9MT05HKS8KPiArICAgICAgIGNwIC1yICQoTElCUlVCWV9TUkMpL3Rlc3QgJChSVUJZ
X1JPT1RGUykvbGliL3J1YnkvJChMSUJSVUJZX1ZFUlNJT05fTE9ORykvCj4gKyAgICAgICBjcCAk
KExJQlJVQllfQkFTRSkvZ2Vtcy1leGFtcGxlcy9HZW1maWxlLWlyYiAkKFJVQllfUk9PVEZTKS9s
aWIvcnVieS8kKExJQlJVQllfVkVSU0lPTl9MT05HKS9HZW1maWxlCj4gKyAgICAgICB0b3VjaCAk
QAo+ICsKPiArLlBIT05ZOiBydWJ5LXJvb3Rmcwo+ICtydWJ5LXJvb3RmczogJChSVUJZX1JPT1RG
UykvLmRvbmUKPiBkaWZmIC0tZ2l0IGEvZ2Vtcy1leGFtcGxlcy9HZW1maWxlLWlyYiBiL2dlbXMt
ZXhhbXBsZXMvR2VtZmlsZS1pcmIKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAw
MDAuLjFhYzM5ZDAKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvZ2Vtcy1leGFtcGxlcy9HZW1maWxl
LWlyYgo+IEBAIC0wLDAgKzEsOCBAQAo+ICsjIGZyb3plbl9zdHJpbmdfbGl0ZXJhbDogdHJ1ZQo+
ICsKPiArc291cmNlICJodHRwczovL3J1YnlnZW1zLm9yZyIKPiArCj4gK2dpdF9zb3VyY2UoOmdp
dGh1Yikge3xyZXBvX25hbWV8ICJodHRwczovL2dpdGh1Yi5jb20vI3tyZXBvX25hbWV9IiB9Cj4g
Kwo+ICsjIGdlbSAicmFpbHMiCj4gK2dlbSAnaXJiJywgcmVxdWlyZTogZmFsc2UKPiAtLQo+IDIu
MjAuMQo+CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpN
aW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9y
ZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRl
dmVs

From minios-devel-bounces@lists.xenproject.org Mon Dec 16 13:29:37 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 16 Dec 2019 13:29:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1igqRM-0001ph-2F; Mon, 16 Dec 2019 13:29:36 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=qGHl=2G=gmail.com=stefanl.teodorescu@srs-us1.protection.inumbo.net>)
 id 1igqRL-0001pc-BH
 for minios-devel@lists.xen.org; Mon, 16 Dec 2019 13:29:35 +0000
X-Inumbo-ID: 1873ab28-2008-11ea-a1e1-bc764e2007e4
Received: from mail-lj1-x241.google.com (unknown [2a00:1450:4864:20::241])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 1873ab28-2008-11ea-a1e1-bc764e2007e4;
 Mon, 16 Dec 2019 13:29:34 +0000 (UTC)
Received: by mail-lj1-x241.google.com with SMTP id p8so179458ljg.0
 for <minios-devel@lists.xen.org>; Mon, 16 Dec 2019 05:29:33 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to
 :cc; bh=0njowWJr5/JdchQhoxfSZjiEgR49HkDx+R0HbwolOUk=;
 b=QpGg8hAvgoVqHKn36+97hLkwL/6Q8ogvbClRRphIm2usbFG4+2S+OHoMN1YazZJNHt
 i8Bzce62WaZAKhY8/PMB+i1oALXy/4cGQopuZUFDE+OeSgQiTMZhCVb7AnWNq7WTFYih
 HmpQGADNMuACZAkd2WvoHbAAejKnB/ECPyL4SQEmOm/fOKpSJnnnH7iS1BCOIOMkD3HK
 Ip+KhBWphpiu+C9qczhIX9HnZYLMUfT928HPKeT1vb5YdB1e8SScfFINr3VwEYMP0523
 9qj8cxOeFyopDScpq73z9hdUI+1EyNEX6rUcf7tyX44z+f3HueyYcLTtZDvEeC1Ty0Up
 lgHg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
 :message-id:subject:to:cc;
 bh=0njowWJr5/JdchQhoxfSZjiEgR49HkDx+R0HbwolOUk=;
 b=hPPbd0iB6LNJlZ1evSC0Acy5HCPj4yb2PBglq7R4I1yVb9aJeMgCeataGlWqK/h+t0
 +nALrgZEP5QVbBwCBO2PhtWkhfLxRurfGynmTNgR+Aon827dUomgOMM5tRWNVHyXHb5+
 nf7HMNe+bHeYZ0vapnOMNd9Cze82WmjijCJLM2G+U4gP6K1Yfk2I//kT80kq/IYqDVGw
 5YfMfEMIVJnD0t37jTnSHiYeCyva10xr8sFUT5objJLQSvhnhtqANcnvxrhSVlyMXi8g
 Ck/RVTz84u6OxUivowKpo7yG9oM13Ji/+i3OtpGnNvuOSyWuqlw6QKDOE1O6yx4wR8aj
 bhEA==
X-Gm-Message-State: APjAAAWH7kruyVDSrnMw1/yzkHHHGnwJoFKFS58GlzhYpfjjcPXIufJW
 OB2FRVZfjm/12l8ev0kEYC0WIsNLr3lVTwLZD1ShBIu7dMc=
X-Google-Smtp-Source: APXvYqyKL2nZxzaHWKSYuta9oZNHoa7gc2ok1tR8Vyog+Qr9DWcKbiW0UlDfj9VN9aJlZNjjJtFVNTpTsGtXFDDFrWg=
X-Received: by 2002:a2e:9015:: with SMTP id h21mr19444405ljg.69.1576502972404; 
 Mon, 16 Dec 2019 05:29:32 -0800 (PST)
MIME-Version: 1.0
References: <20191212174239.5202-1-costin.lupu@cs.pub.ro>
 <20191212174239.5202-9-costin.lupu@cs.pub.ro>
In-Reply-To: <20191212174239.5202-9-costin.lupu@cs.pub.ro>
From: Stefan Teodorescu <stefanl.teodorescu@gmail.com>
Date: Mon, 16 Dec 2019 15:29:21 +0200
Message-ID: <CAEiTdV7HQvbhO+mn82YtjHEmFhteo-k+zRcj6n8hQCZJpDC1hA@mail.gmail.com>
To: Costin Lupu <costin.lupu@cs.pub.ro>
Subject: Re: [Minios-devel] [UNIKRAFT/RUBY PATCH 8/8] README.md: Update with
 info about building and running
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: minios-devel@lists.xen.org
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SXQgc2hvdWxkIGFsc28gYmUgc3BlY2lmaWVkIHRoYXQgZXZlcnl0aGluZyB0aGF0IHRoZSB1c2Vy
IHdhbnRzIHRvCmJ1aWxkIGZvciBVbmlrcmFmdCBhbHNvIGhhcyB0byBiZSBpbnN0YWxsZWQgb24g
dGhlIGhvc3QgbWFjaGluZSBmb3IKY29uZmlndXJlIHRvIHdvcmsgKGUuZy4gUnVieSwgT3BlblNT
TCBldGMuKS4KCk9uIFRodSwgRGVjIDEyLCAyMDE5IGF0IDc6NDIgUE0gQ29zdGluIEx1cHUgPGNv
c3Rpbi5sdXB1QGNzLnB1Yi5ybz4gd3JvdGU6Cj4KPiBTaWduZWQtb2ZmLWJ5OiBDb3N0aW4gTHVw
dSA8Y29zdGluLmx1cHVAY3MucHViLnJvPgo+IC0tLQo+ICBSRUFETUUubWQgfCA2NiArKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tCj4gIDEgZmls
ZSBjaGFuZ2VkLCA2MiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdp
dCBhL1JFQURNRS5tZCBiL1JFQURNRS5tZAo+IGluZGV4IDdhOGQzODAuLjUwZGFmNWQgMTAwNjQ0
Cj4gLS0tIGEvUkVBRE1FLm1kCj4gKysrIGIvUkVBRE1FLm1kCj4gQEAgLTEsOSArMSw2NyBAQAo+
IC1SdWJ5IGZvciBVbmlrcmFmdAo+IC09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo+IC0K
PiArIyBSdWJ5IGZvciBVbmlrcmFmdAo+ICBUaGlzIGlzIHRoZSBwb3J0IG9mIFJ1YnkgZm9yIFVu
aWtyYWZ0IGFzIGV4dGVybmFsIGxpYnJhcnkuCj4KPiAtVE9ETwo+ICsjIyBCdWlsZAo+ICtSdWJ5
IGRlcGVuZHMgb24gdGhlIGZvbGxvd2luZyBsaWJyYXJpZXMsIHRoYXQgbmVlZCB0byBiZSBhZGRl
ZCB0byBgTWFrZWZpbGVgIGluCj4gK3RoaXMgb3JkZXI6Cj4gKwo+ICsqIGBwdGhyZWFkc2AsIGUu
Zy4gYHB0aHJlYWQtZW1iZWRkZWRgCj4gKyogQysrIGxpYnJhcmllczogYGNvbXBpbGVyLXJ0YCwg
YGxpYmN4eGAsIGBsaWJjeHhhYmlgLCBgbGlidW53aW5kYAo+ICsqIGBsaWJjYCwgZS5nLiBgbmV3
bGliYAo+ICsqIG5ldHdvcmsgc3RhY2ssIGUuZy4gYGx3aXBgCj4gKyogb3B0aW9uYWwgZXh0ZW5z
aW9uczogYG9wZW5zc2xgLCBgemxpYmAuCj4gKwo+ICsjIyBSb290IGZpbGVzeXN0ZW0KPiArIyMj
IENyZWF0aW5nIHRoZSBmaWxlc3lzdGVtCj4gK1J1YnkgaW50ZXJwcmV0ZXIgbmVlZHMgYSBmaWxl
c3lzdGVtIHdoaWNoIHNob3VsZCBjb250YWluIGl0cyBsaWJyYXJpZXMuCj4gK1RoZXJlZm9yZSwg
dGhlIGZpbGVzeXN0ZW0gbmVlZHMgdG8gYmUgY3JlYXRlZCBiZWZvcmUgcnVubmluZyB0aGUgVk0u
ICBZb3UgY2FuCj4gK2RvIHRoaXMgYnkgcnVubmluZyB0aGUgZm9sbG93aW5nIGNvbW1hbmQ6Cj4g
Kwo+ICtgYGBiYXNoCj4gK21ha2UgcnVieS1yb290ZnMgcGF0aD08c29tZSBkaXJlY3Rvcnk+Cj4g
K2BgYAo+ICsKPiArSXQgd2lsbCBjcmVhdGUgdGhlIGZpbGVzeXN0ZW0gaW4gdGhlIGRpcmVjdG9y
eSB5b3UgY2hvb3NlIHdoZXJlIGl0IHdpbGwgaW5zdGFsbAo+ICt0aGUgUnVieSBsaWJyYXJpZXMu
IEluIG9yZGVyIHRvIGFjaGlldmUgdGhpcywgdGhlIG9yaWdpbmFsIGNvZGUgbmVlZHMgdG8gYmUK
PiArY29uZmlndXJlZCBhbmQgYnVpbGQgd2l0aCBwYXRocyByZWxhdGl2ZSB0byB0aGUgcHJvdmlk
ZWQgcm9vdCBkaXJlY3RvcnkuIFRoZXNlCj4gK3R3byBzdGVwcyBhcmUgZXhlY3V0ZWQgdHJhbnNw
YXJlbnRseSwgYWxsIHlvdSBoYXZlIHRvIGRvIGlzIGp1c3QgcnVubmluZyB0aGUKPiArYWJvdmUg
YG1ha2VgIGNvbW1hbmQuCj4gKwo+ICsjIyMgVXNpbmcgdGhlIGZpbGVzeXN0ZW0KPiArVGhlIHNh
bWUgc3RlcHMgcHJlc2VudGVkIGluIHRoZSBzYW1lIHN1YnNlY3Rpb24gb2YgdGhlIFB5dGhvbiAz
IHBvcnQgUkVBRE1FCj4gK3Nob3VsZCBiZSBmb2xsb3dlZC4KPiArCj4gKyMjIFJ1bm5pbmcgbW9k
ZXMKPiArVGhlIG5leHQgc3RlcCBpcyB0byBwaWNrIGEgcnVubmluZyBtb2RlLiBXZSBjdXJyZW50
bHkgc3VwcG9ydCB0aGUgZm9sbG93aW5nCj4gK3J1bm5pbmcgbW9kZXM6Cj4gKwo+ICsxLiAqKlJ1
Ynkgc2NyaXB0KiouIFlvdSBjYW4gdXNlIGFueSBmaWxlIGF2YWlsYWJsZSBpbiB0aGUgcm9vdCBm
aWxlc3lzdGVtLiAgWW91Cj4gK3Nob3VsZCB1c2UgUWVtdSdzIGAtYXBwZW5kYCBvcHRpb24gdG8g
cGFzcyBwYXJhbWV0ZXIgdG8gUHl0aG9uIGludGVycHJldGVyLAo+ICtlLmcuIGAtYXBwZW5kICJ2
ZnMucm9vdGRldj10ZXN0IC0tIDxzb21lIGZpbGUgaW4gcm9vdGZzPiJgLiAgUGxlYXNlIG5vdGlj
ZSB0aGF0Cj4gK3dlIGFyZSB1c2luZyBgdGVzdGAgZm9yIHRoZSA5cGZzIG1vdW50aW5nIHRhZy4g
Rm9yIGJyZXZpdHkgd2Ugd2lsbCBza2lwIHNldHRpbmcKPiArdGhlIG1vdW50aW5nIHRhZyBpbiB0
aGUgbmV4dCBleGFtcGxlcy4KPiArCj4gKzIuICoqUnVieSBzaGVsbCoqLiBZb3UgY2FuIHJ1biB0
aGUgaW50ZXJhY3RpdmUgUnVieSBzaGVsbCwgd2hpY2ggaXMganVzdCBhIFJ1YnkKPiArc2NyaXB0
LCB3aXRoIHRoZSBwYXJhbWV0ZXJzOiBgLWFwcGVuZCAiLS0gL2Jpbi9pcmIiYC4KPiArCj4gKzMu
ICoqQ29tbWFuZCBsaW5lKiouIFlvdSBjYW4gcHJvdmlkZSBhIG9uZSBsaW5lIHNjcmlwdCB1c2lu
ZyB0aGUgYC1lYCBvcHRpb24sCj4gK2UsZy4gYC1hcHBlbmQgIi0tIC1lICdwdXRzIFwiSGVsbG8g
V29ybGRcIiciYC4KPiArCj4gKzQuICoqUnVieSB1bml0IHRlc3RpbmcgKGRldmVsb3BlcnMgb25s
eSkqKi4gV2l0aCB0aGlzIG1vZGUgeW91IGNhbiBjaGVjayB3aGF0Cj4gK2Z1bmN0aW9uYWxpdHkg
aXMgY29tcGxldGVseSBzdXBwb3J0ZWQgYnkgdGhlIFJ1YnkgcG9ydC4gUGxlYXNlIGJlIGF3YXJl
IHRoYXQKPiArdGhpcyBtb2RlIGlzIHVuc3RhYmxlIGFuZCBzb21lIG9mIHRoZSB0ZXN0cyBtYXkg
YmxvY2suIEluIG9yZGVyIHRvIHJ1biBhbGwgdGhlCj4gK3VuaXQgdGVzdHMgeW91IHNob3VsZCB1
c2UgdGhlIGZvbGxvd2luZyBwYXJhbWV0ZXJzOiBgLWFwcGVuZCAiLS0gL2xpYi9ydWJ5LzIuNi4w
L3Rlc3QvcnVubmVyLnJiIC0tZXhjbHVkZT1kdHJhY2UgLS1leGNsdWRlPW1rbWYgLS1leGNsdWRl
PXdpbjMyb2xlIC0tZXhjbHVkZT1yZG9jImAuCj4gKwo+ICtXZSBhbHNvIHByb3ZpZGUgYSBjb25m
aWd1cmF0aW9uIG9wdGlvbiBmb3IgYnVpbGRpbmcgYG1pbmlydWJ5YCwgYSBtaW5pbWFsaXN0aWMK
PiArdmVyc2lvbiBvZiB0aGUgUnVieSBpbnRlcnByZXRlciBidWlsZCBpbiB0aGUgc2FtZSB3YXkg
YXMgZm9yIExpbnV4LiBgbWluaXJ1YnlgCj4gK2RvZXMgbm90IGhhdmUgYW55IGV4dGVuc2lvbiBv
ciBlbmNvZGluZywgdGhlcmVmb3JlIGl0cyB1c2FnZSBpcyBsaW1pdGVkLiBZb3UKPiArY2FuIGVp
dGhlciB1c2UgaXQgZm9yIHJ1bm5pbmcgc2ltcGxlIHNjcmlwdHMgb3Igc2ltcGxlIG9uZSBsaW5l
cnMuCj4gKwo+ICsjIyMgTWVtb3J5IHVzYWdlCj4gK1NvbWUgb2YgdGhlIHVuaXQgdGVzdHMgbWF5
IHJlcXVpcmUgYSBsb3Qgb2YgbWVtb3J5IHRvIHJ1bjsgZm9yIHRoaXMKPiArcmVhc29uIHBsZWFz
ZSBhbGxvdyBmb3IgYXQgbGVhc3QgMUcgb2YgbWVtb3J5IGZvciB1bml0IHRlc3RpbmcgKGUuZy4s
Cj4gK2AtbSAxR2AgaW4gUWVtdSkuCj4KPiArIyMgRnVydGhlciBpbmZvcm1hdGlvbgo+ICBQbGVh
c2UgcmVmZXIgdG8gdGhlIGBSRUFETUUubWRgIGFzIHdlbGwgYXMgdGhlIGRvY3VtZW50YXRpb24g
aW4gdGhlIGBkb2MvYAo+ICBzdWJkaXJlY3Rvcnkgb2YgdGhlIG1haW4gdW5pa3JhZnQgcmVwb3Np
dG9yeS4KPiAtLQo+IDIuMjAuMQo+CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0
cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlz
dGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Mon Dec 16 13:48:12 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 16 Dec 2019 13:48:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1igqjK-0003Ld-Uv; Mon, 16 Dec 2019 13:48:10 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=mtPe=2G=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1igqjI-0003LY-U5
 for minios-devel@lists.xen.org; Mon, 16 Dec 2019 13:48:08 +0000
X-Inumbo-ID: af794a8b-200a-11ea-93a9-12813bfff9fa
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id af794a8b-200a-11ea-93a9-12813bfff9fa;
 Mon, 16 Dec 2019 13:48:06 +0000 (UTC)
IronPort-SDR: 3By5CwGR+RbDeOUDgxpSqeislZAq5mB5Z0foosS7Cv5LckmlBdOeCHOVKd27itWa7V1Hm45wtN
 o3m30DRcoJfg==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 16 Dec 2019 15:48:03 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id EA6C71A602EF;
 Mon, 16 Dec 2019 15:48:03 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id oFXaUm9NjnaT; Mon, 16 Dec 2019 15:48:03 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id CAB181A602F2;
 Mon, 16 Dec 2019 15:48:03 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id QtX6NePYZLoT; Mon, 16 Dec 2019 15:48:03 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id AB5891A602EE;
 Mon, 16 Dec 2019 15:48:03 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Mon, 16 Dec 2019 15:47:47 +0200
Message-Id: <20191216134753.7576-1-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
Subject: [Minios-devel] [UNIKRAFT/RUBY PATCH v3 0/6] Port Ruby on Unikraft
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhlc2UgYXJlIHRoZSBwYXRjaGVzIG5lZWRlZCBmb3IgcG9ydGluZyBSdWJ5IG9uIFVuaWtyYWZ0
LiBUaGUgc3VtbWFyeToKLSBwYXRjaCAwMSBpbnRyb2R1Y2VzIHRoZSBsaWJyYXJ5IHNrZWxldG9u
Ci0gcGF0Y2hlcyAwMi0wNyBidWlsZCB0aGUgY29yZSBmdW5jdGlvbmFsaXR5Ci0gcGF0Y2hlcyAw
OC0xMCBidWlsZCB0aGUgZXh0ZW5zaW9ucwotIHBhdGNoZXMgMTEtMTIgYnVpbGQgdGhlIGVuY29k
aW5ncwotIHBhdGNoIDEzIGJ1aWxkcyB0aGUgdW5pdCB0ZXN0cyAob25seSAyIG9mIHRoZW0gYXJl
IGVuYWJsZWQgZm9yIG5vdykKLSBwYXRjaGVzIDE0LTE2IGFyZSBuZWVkZWQgZm9yIHByZXBhcmlu
ZyB0aGUgc2V0dXAKClRoZSByZXZpZXdlciBzaG91bGQgc3RhcnQgd2l0aCB0aGUgbGFzdCBwYXRj
aCB3aGljaCBhZGRzIHRoZSBkb2N1bWVudGF0aW9uCm5lZWRlZCBmb3IgYnVpbGRpbmcsIHJ1bm5p
bmcgYW5kIHRlc3RpbmcgUnVieSBvbiBVbmlrcmFmdC4gVGhlIFJFQURNRSBzaG91bGQKY29udGFp
biBhbGwgdGhlIG5lY2Vzc2FyeSBpbmZvOyBpZiBhbnl0aGluZyBpcyBtaXNzaW5nIHRoZW4gaXQg
c2hvdWxkIGJlCmNvbW1lbnRlZCBkdXJpbmcgcmV2aWV3aW5nLiBTb21lIG9mIHRoZSBwYXRjaGVz
IGp1c3QgaW50cm9kdWNlIGZpbGVzIHRoYXQgd2VyZQpnZW5lcmF0ZWQgYnkgdGhlIExpbnV4IGJ1
aWxkIGFuZCB0aGV5IHNob3VsZCBiZSByZXZpZXdlZCByZWFsbHkgcXVpY2suCgpBbGwgdGhlIGRl
cGVuZGVuY2llcyBhcmUgYWxyZWFkeSBzZW50IG9uIHRoZSBtYWlsaW5nIGxpc3QuCgpDaGFuZ2Vz
IHNpbmNlIHYxOgotIEtlZXAgb25seSBnZW5lcmF0ZWQgZmlsZXMgdGhhdCB3ZSBjdXN0b21pemUu
IFRoaXMgaW1wbGllZCBkcm9wcGluZyBwYXRjaGVzIDQKICAoaW50cm9kdWNpbmcgZ2VuZXJhdGVk
IGNvcmUgZmlsZXMpIGFuZCAxMSAoaW50cm9kdWNpbmcgZ2VuZXJhdGVkIGVuY29kaW5ncwogIGZp
bGVzKSBmcm9tIHYxLgotIFB1c2ggZmlyc3QgNiBhY2NlcHRlZCBwYXRjaGVzLiB2MiBzdGFydHMg
d2l0aCBwYXRjaCA4IG9mIHYxLgotIEZpeCBpc3N1ZXMgZGVzY3JpYmVkIGluIHYxIHJldmlld3Mu
CgpDaGFuZ2VzIHNpbmNlIHYyOgotIFB1c2ggZmlyc3QgMiBhY2NlcHRlZCBwYXRjaGVzLiB2MyBz
dGFydCB3aXRoIHBhdGNoIDMgb2YgdjIuCi0gTWFrZSBwYXRobmFtZSBleHRlbnNpb24gbWFuZGF0
b3J5Ci0gRml4IHR5cG9zCi0gQWRkIG1vcmUgUkVBRE1FIGluZm8KCkNvc3RpbiBMdXB1ICg2KToK
ICBleHRlbnNpb25zOiBCdWlsZCBleHRlbnNpb25zCiAgZW5jb2RpbmdzOiBCdWlsZCBlbmNvZGlu
Z3MKICB0ZXN0czogQnVpbGQgdGVzdHMKICBNYWtlZmlsZS51azogQWRkIHJ1bGUgZm9yIGNyZWF0
aW5nIHJvb3QgZmlsZXN5c3RlbQogIFByb3ZpZGUgbWFpbigpIGZ1bmN0aW9uIGlmIGNvbmZpZ3Vy
ZWQgdG8gZG8gc28KICBSRUFETUUubWQ6IFVwZGF0ZSB3aXRoIGluZm8gYWJvdXQgYnVpbGRpbmcg
YW5kIHJ1bm5pbmcKCiBDb25maWcudWsgICAgICAgICAgICAgICAgIHwgMTI0ICsrKysrKysrKysr
CiBNYWtlZmlsZS51ayAgICAgICAgICAgICAgIHwgNDI1ICsrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrCiBSRUFETUUubWQgICAgICAgICAgICAgICAgIHwgIDcxICsrKysrKy0K
IGdlbXMtZXhhbXBsZXMvR2VtZmlsZS1pcmIgfCAgIDggKwogZ2VuZXJhdGVkL2V4dC9leHRpbml0
LmMgICB8ICA2MSArKysrKysKIGluY2x1ZGUvcnVieS9jb25maWcuaCAgICAgfCAgIDEgKwogcnVi
eV9tYWluX2V4YW1wbGUuYyAgICAgICB8ICAxNSArKwogNyBmaWxlcyBjaGFuZ2VkLCA3MDEgaW5z
ZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZW1zLWV4YW1w
bGVzL0dlbWZpbGUtaXJiCiBjcmVhdGUgbW9kZSAxMDA2NDQgcnVieV9tYWluX2V4YW1wbGUuYwoK
LS0gCjIuMjAuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2pl
Y3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5p
b3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Mon Dec 16 13:48:15 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 16 Dec 2019 13:48:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1igqjP-0003M7-0H; Mon, 16 Dec 2019 13:48:15 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=mtPe=2G=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1igqjN-0003Lz-Oj
 for minios-devel@lists.xen.org; Mon, 16 Dec 2019 13:48:13 +0000
X-Inumbo-ID: b16d0908-200a-11ea-93a9-12813bfff9fa
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id b16d0908-200a-11ea-93a9-12813bfff9fa;
 Mon, 16 Dec 2019 13:48:08 +0000 (UTC)
IronPort-SDR: +EXO4XT5N7qk3mlt8x2RMtygXer5l/CF6KbE72+tl8FhEa8JNXrOEq9XBsiwDeCjJL2nFdOvvB
 2WCG+95qfeZA==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 16 Dec 2019 15:48:03 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 02C781A602EF;
 Mon, 16 Dec 2019 15:48:04 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id fY7O8KbfyjAE; Mon, 16 Dec 2019 15:48:03 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id DA6D01A602EE;
 Mon, 16 Dec 2019 15:48:03 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id qIGjpfXnedFv; Mon, 16 Dec 2019 15:48:03 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id B84121A602EF;
 Mon, 16 Dec 2019 15:48:03 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Mon, 16 Dec 2019 15:47:48 +0200
Message-Id: <20191216134753.7576-2-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191216134753.7576-1-costin.lupu@cs.pub.ro>
References: <20191216134753.7576-1-costin.lupu@cs.pub.ro>
Subject: [Minios-devel] [UNIKRAFT/RUBY PATCH v3 1/6] extensions: Build
 extensions
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

QWxsIGV4dGVuc2lvbnMgYXJlIGluY2x1ZGVkIGluIGEgbmV3IGxpYnJhcnksIGxpYnJ1YnlfZXh0
LiBFYWNoIGV4dGVuc2lvbiBoYXMKaXRzIG93biBjb25maWd1cmF0aW9uIG9wdGlvbiBhbmQgYSA8
ZXh0Y29uZi5oPiBoZWFkZXIuIEdpdmVuIHRoYXQgdGhlCmV4dGVuc2lvbnMgZmlsZXMgYXJlIGdl
bmVyYXRlZCBhdCBidWlsZCB0aW1lIGJ5IHRoZSBvcmlnaW4gYnVpbGQgc3lzdGVtLCB3ZQphbHNv
IGhhdmUgdG8gcnVuIGAuL2NvbmZpZ3VyZWAgYW5kIGBtYWtlYCBmb3IgdGhlIG9yaWdpbmFsIGJ1
aWxkIGJlZm9yZQpidWlsZGluZyB0aGVtIGZvciBVbmlrcmFmdC4KClNpZ25lZC1vZmYtYnk6IENv
c3RpbiBMdXB1IDxjb3N0aW4ubHVwdUBjcy5wdWIucm8+Ci0tLQogQ29uZmlnLnVrICAgICAgICAg
ICAgICAgfCAxMDEgKysrKysrKysrKysrKysrCiBNYWtlZmlsZS51ayAgICAgICAgICAgICB8IDI3
NyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBnZW5lcmF0ZWQvZXh0
L2V4dGluaXQuYyB8ICA1NSArKysrKysrKwogaW5jbHVkZS9ydWJ5L2NvbmZpZy5oICAgfCAgIDEg
KwogNCBmaWxlcyBjaGFuZ2VkLCA0MzQgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL0NvbmZp
Zy51ayBiL0NvbmZpZy51awppbmRleCBkZDgzMjY3Li44MDg4YTU0IDEwMDY0NAotLS0gYS9Db25m
aWcudWsKKysrIGIvQ29uZmlnLnVrCkBAIC0yMSw0ICsyMSwxMDUgQEAgaWYgTElCUlVCWQogY29u
ZmlnIExJQlJVQllfTUlOSQogCWJvb2wgIk1pbmkgY29uZmlndXJhdGlvbiIKIAlkZWZhdWx0IG4K
KworY29uZmlnIExJQlJVQllfRVhUCisJYm9vbCAiRW5hYmxlIGV4dGVuc2lvbnMiCisJZGVwZW5k
cyBvbiAhTElCUlVCWV9NSU5JCisJZGVmYXVsdCB5CisKKwlpZiBMSUJSVUJZX0VYVAorCWNvbmZp
ZyBMSUJSVUJZX0VYVF9TVFJTQ0FOCisJCWJvb2wgInN0cnNjYW4iCisJCWRlZmF1bHQgeQorCWNv
bmZpZyBMSUJSVUJZX0VYVF9TWVNMT0cKKwkJYm9vbCAic3lzbG9nIgorCQlkZWZhdWx0IHkKKwlj
b25maWcgTElCUlVCWV9FWFRfSlNPTgorCQlib29sICJqc29uIgorCQlkZWZhdWx0IHkKKwljb25m
aWcgTElCUlVCWV9FWFRfUkJDT05GSUdfU0laRU9GCisJCWJvb2wgInJiY29uZmlnL3NpemVvZiIK
KwkJZGVmYXVsdCB5CisJY29uZmlnIExJQlJVQllfRVhUX0JJR0RFQ0lNQUwKKwkJYm9vbCAiYmln
ZGVjaW1hbCIKKwkJZGVmYXVsdCB5CisJY29uZmlnIExJQlJVQllfRVhUX1JBQ0NfQ1BBUlNFCisJ
CWJvb2wgInJhY2MvY3BhcnNlIgorCQlkZWZhdWx0IHkKKwljb25maWcgTElCUlVCWV9FWFRfUFNZ
Q0gKKwkJYm9vbCAicHN5Y2giCisJCWRlZmF1bHQgeQorCWlmIExJQlNTTAorCWNvbmZpZyBMSUJS
VUJZX0VYVF9ESUdFU1QKKwkJYm9vbCAiZGlnZXN0IgorCQlkZWZhdWx0IHkKKwllbmRpZgorCWNv
bmZpZyBMSUJSVUJZX0VYVF9DR0lfRVNDQVBFCisJCWJvb2wgImNnaS9lc2NhcGUiCisJCWRlZmF1
bHQgeQorCWNvbmZpZyBMSUJSVUJZX0VYVF9GQ05UTAorCQlib29sICJmY250bCIKKwkJZGVmYXVs
dCB5CisJY29uZmlnIExJQlJVQllfRVhUX1NPQ0tFVAorCQlib29sICJzb2NrZXQiCisJCXNlbGVj
dCBMV0lQX0lQVjYKKwkJc2VsZWN0IExXSVBfSUdNUAorCQlkZWZhdWx0IHkKKwljb25maWcgTElC
UlVCWV9FWFRfREFURV9DT1JFCisJCWJvb2wgImRhdGVfY29yZSIKKwkJZGVmYXVsdCB5CisJY29u
ZmlnIExJQlJVQllfRVhUX1BUWQorCQlib29sICJwdHkiCisJCWRlZmF1bHQgbgorCWlmIExJQlNT
TAorCWNvbmZpZyBMSUJSVUJZX0VYVF9PUEVOU1NMCisJCWJvb2wgIm9wZW5zc2wiCisJCWRlZmF1
bHQgeQorCWVuZGlmCisJY29uZmlnIExJQlJVQllfRVhUX0ZJQkVSCisJCWJvb2wgImZpYmVyIgor
CQlkZWZhdWx0IHkKKwlpZiBMSUJGRkkKKwljb25maWcgTElCUlVCWV9FWFRfRklERExFCisJCWJv
b2wgImZpZGRsZSIKKwkJZGVmYXVsdCB5CisJZW5kaWYKKwljb25maWcgTElCUlVCWV9FWFRfRVRD
CisJCWJvb2wgImV0YyIKKwkJZGVmYXVsdCB5CisJY29uZmlnIExJQlJVQllfRVhUX0NPTlRJTlVB
VElPTgorCQlib29sICJjb250aW51YXRpb24iCisJCWRlZmF1bHQgeQorCWNvbmZpZyBMSUJSVUJZ
X0VYVF9PQkpTUEFDRQorCQlib29sICJvYmpzcGFjZSIKKwkJZGVmYXVsdCB5CisJY29uZmlnIExJ
QlJVQllfRVhUX0NPVkVSQUdFCisJCWJvb2wgImNvdmVyYWdlIgorCQlkZWZhdWx0IHkKKwljb25m
aWcgTElCUlVCWV9FWFRfSU9fQ09OU09MRQorCQlib29sICJpby9jb25zb2xlIgorCQlkZWZhdWx0
IG4KKwljb25maWcgTElCUlVCWV9FWFRfSU9fTk9OQkxPQ0sKKwkJYm9vbCAiaW8vbm9uYmxvY2si
CisJCWRlZmF1bHQgeQorCWNvbmZpZyBMSUJSVUJZX0VYVF9JT19XQUlUCisJCWJvb2wgImlvL3dh
aXQiCisJCWRlZmF1bHQgeQorCWlmIExJQlJVQllfVEVTVAorCWNvbmZpZyBMSUJSVUJZX0VYVF9S
SVBQRVIKKwkJYm9vbCAicmlwcGVyIgorCQlkZWZhdWx0IHkKKwllbmRpZgorCWNvbmZpZyBMSUJS
VUJZX0VYVF9OS0YKKwkJYm9vbCAibmtmIgorCQlkZWZhdWx0IHkKKwlpZiBMSUJaTElCCisJY29u
ZmlnIExJQlJVQllfRVhUX1pMSUIKKwkJYm9vbCAiemxpYiIKKwkJZGVmYXVsdCB5CisJZW5kaWYK
Kwljb25maWcgTElCUlVCWV9FWFRfU0RCTQorCQlib29sICJzZGJtIgorCQlkZWZhdWx0IHkKKwll
bmRpZgogZW5kaWYKZGlmZiAtLWdpdCBhL01ha2VmaWxlLnVrIGIvTWFrZWZpbGUudWsKaW5kZXgg
MWZkNGI4NC4uZDI0ZjY4NyAxMDA2NDQKLS0tIGEvTWFrZWZpbGUudWsKKysrIGIvTWFrZWZpbGUu
dWsKQEAgLTM5LDYgKzM5LDcgQEAKICMgTGlicmFyeSByZWdpc3RyYXRpb24KICMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjCiAkKGV2YWwgJChjYWxsIGFkZGxpYl9zLGxpYnJ1YnksJChDT05GSUdfTElC
UlVCWSkpKQorJChldmFsICQoY2FsbCBhZGRsaWJfcyxsaWJydWJ5X2V4dCwkKENPTkZJR19MSUJS
VUJZX0VYVCkpKQogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogIyBTb3VyY2VzCkBAIC0xODMs
NyArMTg0LDI4MyBAQCBMSUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMvdHJhbnMv
bmV3bGluZS5jCiBMSUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS8uL21pc3Npbmcvc2V0
cHJvY3RpdGxlLmMKIExJQlJVQllfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2FkZHIybGluZS5j
CiAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIEV4dGVuc2lvbnMKKyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjCitMSUJSVUJZX0VYVF9DRkxBR1MteSArPSAkKExJQlJVQllfQ0lOQ0xVREVTLXkp
CitMSUJSVUJZX0VYVF9DRkxBR1MteSArPSAkKExJQlJVQllfU1VQUFJFU1NfRkxBR1MpCitMSUJS
VUJZX0VYVF9DRkxBR1MteSArPSAtRFJVQllfRVhUQ09ORl9IPVwiZXh0Y29uZi5oXCIKKworaWZl
cSAoJChDT05GSUdfTElCUlVCWV9NSU5JKSx5KQogTElCUlVCWV9TUkNTLXkgKz0gJChMSUJSVUJZ
X1NSQykvZG15ZXh0LmMKK2Vsc2UKK0xJQlJVQllfU1JDUy15ICs9ICQoTElCUlVCWV9CQVNFKS9n
ZW5lcmF0ZWQvZXh0L2V4dGluaXQuYworZW5kaWYKKworaWZlcSAoJChDT05GSUdfTElCUlVCWV9F
WFRfU1RSU0NBTikseSkKK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQv
c3Ryc2Nhbi9zdHJzY2FuLmMKK0xJQlJVQllfRVhUX1NUUlNDQU5fRkxBR1MteSArPSAtSSQoTElC
UlVCWV9TUkMpL2V4dC9zdHJzY2FuCitlbmRpZgoraWZlcSAoJChDT05GSUdfTElCUlVCWV9FWFRf
U1lTTE9HKSx5KQorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9zeXNs
b2cvc3lzbG9nLmMKK0xJQlJVQllfRVhUX1NZU0xPR19GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NS
QykvZXh0L3N5c2xvZworZW5kaWYKK2lmZXEgKCQoQ09ORklHX0xJQlJVQllfRVhUX0pTT04pLHkp
CitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L2pzb24vZ2VuZXJhdG9y
L2dlbmVyYXRvci5jCitMSUJSVUJZX0VYVF9HRU5FUkFUT1JfRkxBR1MteSArPSAtSSQoTElCUlVC
WV9TUkMpL2V4dC9qc29uL2dlbmVyYXRvcgorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVC
WV9TUkMpL2V4dC9qc29uL3BhcnNlci9wYXJzZXIuY3xqc29uCitMSUJSVUJZX0VYVF9QQVJTRVJf
RkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC9qc29uL3BhcnNlcgorZW5kaWYKK2lmZXEg
KCQoQ09ORklHX0xJQlJVQllfRVhUX1JCQ09ORklHX1NJWkVPRikseSkKK0xJQlJVQllfRVhUX1NS
Q1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvcmJjb25maWcvc2l6ZW9mL3NpemVzLmMKK0xJQlJV
QllfRVhUX1NJWkVTX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvcmJjb25maWcvc2l6
ZW9mCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L3JiY29uZmlnL3Np
emVvZi9saW1pdHMuYworTElCUlVCWV9FWFRfTElNSVRTX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllf
U1JDKS9leHQvcmJjb25maWcvc2l6ZW9mCitlbmRpZgoraWZlcSAoJChDT05GSUdfTElCUlVCWV9F
WFRfQklHREVDSU1BTCkseSkKK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9l
eHQvYmlnZGVjaW1hbC9iaWdkZWNpbWFsLmMKK0xJQlJVQllfRVhUX0JJR0RFQ0lNQUxfRkxBR1Mt
eSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC9iaWdkZWNpbWFsCitMSUJSVUJZX0VYVF9TUkNTLXkg
Kz0gJChMSUJSVUJZX1NSQykvZXh0L2JpZ2RlY2ltYWwvdXRpbC91dGlsLmMKK0xJQlJVQllfRVhU
X1VUSUxfRkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC9iaWdkZWNpbWFsL3V0aWwKK2Vu
ZGlmCitpZmVxICgkKENPTkZJR19MSUJSVUJZX0VYVF9SQUNDX0NQQVJTRSkseSkKK0xJQlJVQllf
RVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvcmFjYy9jcGFyc2UvY3BhcnNlLmMKK0xJ
QlJVQllfRVhUX0NQQVJTRV9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L3JhY2MvY3Bh
cnNlCitlbmRpZgoraWZlcSAoJChDT05GSUdfTElCUlVCWV9FWFRfRElHRVNUKSx5KQorTElCUlVC
WV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9kaWdlc3QvZGlnZXN0LmMKK0xJQlJV
QllfRVhUX0RJR0VTVF9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L2RpZ2VzdAorTElC
UlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9kaWdlc3QvYnViYmxlYmFiYmxl
L2J1YmJsZWJhYmJsZS5jCitMSUJSVUJZX0VYVF9CVUJCTEVCQUJCTEVfRkxBR1MteSArPSAtSSQo
TElCUlVCWV9TUkMpL2V4dC9kaWdlc3QvYnViYmxlYmFiYmxlCitMSUJSVUJZX0VYVF9TUkNTLXkg
Kz0gJChMSUJSVUJZX1NSQykvZXh0L2RpZ2VzdC9tZDUvbWQ1aW5pdC5jCitMSUJSVUJZX0VYVF9N
RDVJTklUX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvZGlnZXN0L21kNQorTElCUlVC
WV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9kaWdlc3Qvcm1kMTYwL3JtZDE2MGlu
aXQuYworTElCUlVCWV9FWFRfUk1EMTYwSU5JVF9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykv
ZXh0L2RpZ2VzdC9ybWQxNjAKK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9l
eHQvZGlnZXN0L3NoYTEvc2hhMWluaXQuYworTElCUlVCWV9FWFRfU0hBMUlOSVRfRkxBR1MteSAr
PSAtSSQoTElCUlVCWV9TUkMpL2V4dC9kaWdlc3Qvc2hhMQorTElCUlVCWV9FWFRfU1JDUy15ICs9
ICQoTElCUlVCWV9TUkMpL2V4dC9kaWdlc3Qvc2hhMi9zaGEyaW5pdC5jCitMSUJSVUJZX0VYVF9T
SEEySU5JVF9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L2RpZ2VzdC9zaGEyCitlbmRp
ZgoraWZlcSAoJChDT05GSUdfTElCUlVCWV9FWFRfUFNZQ0gpLHkpCitMSUJSVUJZX0VYVF9TUkNT
LXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L3BzeWNoL3BzeWNoX3RvX3J1YnkuYworTElCUlVCWV9F
WFRfUFNZQ0hfVE9fUlVCWV9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L3BzeWNoIC1J
JChMSUJSVUJZX1NSQykvZXh0L3BzeWNoL3lhbWwKK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJ
QlJVQllfU1JDKS9leHQvcHN5Y2gvcHN5Y2hfeWFtbF90cmVlLmMKK0xJQlJVQllfRVhUX1BTWUNI
X1lBTUxfVFJFRV9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L3BzeWNoIC1JJChMSUJS
VUJZX1NSQykvZXh0L3BzeWNoL3lhbWwKK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllf
U1JDKS9leHQvcHN5Y2gvcHN5Y2hfZW1pdHRlci5jCitMSUJSVUJZX0VYVF9QU1lDSF9FTUlUVEVS
X0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvcHN5Y2ggLUkkKExJQlJVQllfU1JDKS9l
eHQvcHN5Y2gveWFtbAorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9w
c3ljaC9wc3ljaF9wYXJzZXIuY3xwc3ljaAorTElCUlVCWV9FWFRfUFNZQ0hfUEFSU0VSX0ZMQUdT
LXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvcHN5Y2ggLUkkKExJQlJVQllfU1JDKS9leHQvcHN5
Y2gveWFtbAorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9wc3ljaC9w
c3ljaC5jCitMSUJSVUJZX0VYVF9QU1lDSF9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0
L3BzeWNoIC1JJChMSUJSVUJZX1NSQykvZXh0L3BzeWNoL3lhbWwKK0xJQlJVQllfRVhUX1NSQ1Mt
eSArPSAkKExJQlJVQllfU1JDKS9leHQvcHN5Y2gveWFtbC9kdW1wZXIuYworTElCUlVCWV9FWFRf
RFVNUEVSX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvcHN5Y2ggLUkkKExJQlJVQllf
U1JDKS9leHQvcHN5Y2gveWFtbAorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMp
L2V4dC9wc3ljaC95YW1sL3BhcnNlci5jfHlhbWwKK0xJQlJVQllfRVhUX1BBUlNFUl9GTEFHUy15
ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L3BzeWNoIC1JJChMSUJSVUJZX1NSQykvZXh0L3BzeWNo
L3lhbWwKK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvcHN5Y2gveWFt
bC9zY2FubmVyLmMKK0xJQlJVQllfRVhUX1NDQU5ORVJfRkxBR1MteSArPSAtSSQoTElCUlVCWV9T
UkMpL2V4dC9wc3ljaCAtSSQoTElCUlVCWV9TUkMpL2V4dC9wc3ljaC95YW1sCitMSUJSVUJZX0VY
VF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L3BzeWNoL3lhbWwvYXBpLmMKK0xJQlJVQllf
RVhUX0FQSV9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L3BzeWNoIC1JJChMSUJSVUJZ
X1NSQykvZXh0L3BzeWNoL3lhbWwKK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JD
KS9leHQvcHN5Y2gveWFtbC9sb2FkZXIuYworTElCUlVCWV9FWFRfTE9BREVSX0ZMQUdTLXkgKz0g
LUkkKExJQlJVQllfU1JDKS9leHQvcHN5Y2ggLUkkKExJQlJVQllfU1JDKS9leHQvcHN5Y2gveWFt
bAorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9wc3ljaC95YW1sL3dy
aXRlci5jCitMSUJSVUJZX0VYVF9XUklURVJfRkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4
dC9wc3ljaCAtSSQoTElCUlVCWV9TUkMpL2V4dC9wc3ljaC95YW1sCitMSUJSVUJZX0VYVF9TUkNT
LXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L3BzeWNoL3lhbWwvZW1pdHRlci5jCitMSUJSVUJZX0VY
VF9FTUlUVEVSX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvcHN5Y2ggLUkkKExJQlJV
QllfU1JDKS9leHQvcHN5Y2gveWFtbAorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9T
UkMpL2V4dC9wc3ljaC95YW1sL3JlYWRlci5jCitMSUJSVUJZX0VYVF9SRUFERVJfRkxBR1MteSAr
PSAtSSQoTElCUlVCWV9TUkMpL2V4dC9wc3ljaCAtSSQoTElCUlVCWV9TUkMpL2V4dC9wc3ljaC95
YW1sCitlbmRpZgoraWZlcSAoJChDT05GSUdfTElCUlVCWV9FWFRfQ0dJX0VTQ0FQRSkseSkKK0xJ
QlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvY2dpL2VzY2FwZS9lc2NhcGUu
YworTElCUlVCWV9FWFRfRVNDQVBFX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvY2dp
L2VzY2FwZQorZW5kaWYKK2lmZXEgKCQoQ09ORklHX0xJQlJVQllfRVhUX0ZDTlRMKSx5KQorTElC
UlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9mY250bC9mY250bC5jCitMSUJS
VUJZX0VYVF9GQ05UTF9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L2ZjbnRsCitlbmRp
ZgoraWZlcSAoJChDT05GSUdfTElCUlVCWV9FWFRfU09DS0VUKSx5KQorTElCUlVCWV9FWFRfU1JD
Uy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9zb2NrZXQvaW5pdC5jfHNvY2tldAorTElCUlVCWV9F
WFRfSU5JVF9GTEFHUy15ICs9IC1JJChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQvc29ja2V0
CitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L3NvY2tldC9jb25zdGFu
dHMuYworTElCUlVCWV9FWFRfQ09OU1RBTlRTX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkv
Z2VuZXJhdGVkL2V4dC9zb2NrZXQKK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JD
KS9leHQvc29ja2V0L2Jhc2ljc29ja2V0LmMKK0xJQlJVQllfRVhUX0JBU0lDU09DS0VUX0ZMQUdT
LXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9zb2NrZXQKK0xJQlJVQllfRVhU
X1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvc29ja2V0L3NvY2tldC5jCitMSUJSVUJZX0VY
VF9TT0NLRVRfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L3NvY2tl
dAorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9zb2NrZXQvaXBzb2Nr
ZXQuYworTElCUlVCWV9FWFRfSVBTT0NLRVRfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9n
ZW5lcmF0ZWQvZXh0L3NvY2tldAorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMp
L2V4dC9zb2NrZXQvdGNwc29ja2V0LmMKK0xJQlJVQllfRVhUX1RDUFNPQ0tFVF9GTEFHUy15ICs9
IC1JJChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQvc29ja2V0CitMSUJSVUJZX0VYVF9TUkNT
LXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L3NvY2tldC90Y3BzZXJ2ZXIuYworTElCUlVCWV9FWFRf
VENQU0VSVkVSX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9zb2Nr
ZXQKK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvc29ja2V0L3NvY2tz
c29ja2V0LmMKK0xJQlJVQllfRVhUX1NPQ0tTU09DS0VUX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllf
QkFTRSkvZ2VuZXJhdGVkL2V4dC9zb2NrZXQKK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJV
QllfU1JDKS9leHQvc29ja2V0L3VkcHNvY2tldC5jCitMSUJSVUJZX0VYVF9VRFBTT0NLRVRfRkxB
R1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L3NvY2tldAorTElCUlVCWV9F
WFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9zb2NrZXQvdW5peHNvY2tldC5jCitMSUJS
VUJZX0VYVF9VTklYU09DS0VUX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVk
L2V4dC9zb2NrZXQKK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvc29j
a2V0L3VuaXhzZXJ2ZXIuYworTElCUlVCWV9FWFRfVU5JWFNFUlZFUl9GTEFHUy15ICs9IC1JJChM
SUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQvc29ja2V0CitMSUJSVUJZX0VYVF9TUkNTLXkgKz0g
JChMSUJSVUJZX1NSQykvZXh0L3NvY2tldC9vcHRpb24uYworTElCUlVCWV9FWFRfT1BUSU9OX0ZM
QUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9zb2NrZXQKK0xJQlJVQllf
RVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvc29ja2V0L2FuY2RhdGEuYworTElCUlVC
WV9FWFRfQU5DREFUQV9GTEFHUy15ICs9IC1JJChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQv
c29ja2V0CitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L3NvY2tldC9y
YWRkcmluZm8uYworTElCUlVCWV9FWFRfUkFERFJJTkZPX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllf
QkFTRSkvZ2VuZXJhdGVkL2V4dC9zb2NrZXQKK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJV
QllfU1JDKS9leHQvc29ja2V0L2lmYWRkci5jCitMSUJSVUJZX0VYVF9JRkFERFJfRkxBR1MteSAr
PSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L3NvY2tldAorZW5kaWYKK0xJQlJVQllf
U1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9wYXRobmFtZS9wYXRobmFtZS5jCitMSUJSVUJZ
X1BBVEhOQU1FX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvcGF0aG5hbWUKK2lmZXEg
KCQoQ09ORklHX0xJQlJVQllfRVhUX0RBVEVfQ09SRSkseSkKK0xJQlJVQllfRVhUX1NSQ1MteSAr
PSAkKExJQlJVQllfU1JDKS9leHQvZGF0ZS9kYXRlX2NvcmUuYworTElCUlVCWV9FWFRfREFURV9D
T1JFX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvZGF0ZQorTElCUlVCWV9FWFRfU1JD
Uy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9kYXRlL2RhdGVfcGFyc2UuYworTElCUlVCWV9FWFRf
REFURV9QQVJTRV9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L2RhdGUKK0xJQlJVQllf
RVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvZGF0ZS9kYXRlX3N0cmZ0aW1lLmMKK0xJ
QlJVQllfRVhUX0RBVEVfU1RSRlRJTUVfRkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC9k
YXRlCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L2RhdGUvZGF0ZV9z
dHJwdGltZS5jCitMSUJSVUJZX0VYVF9EQVRFX1NUUlBUSU1FX0ZMQUdTLXkgKz0gLUkkKExJQlJV
QllfU1JDKS9leHQvZGF0ZQorZW5kaWYKK2lmZXEgKCQoQ09ORklHX0xJQlJVQllfRVhUX1BUWSks
eSkKK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvcHR5L3B0eS5jCitM
SUJSVUJZX0VYVF9QVFlfRkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC9wdHkKK2VuZGlm
CitpZmVxICgkKENPTkZJR19MSUJSVUJZX0VYVF9PUEVOU1NMKSx5KQorTElCUlVCWV9FWFRfU1JD
Uy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsL29wZW5zc2xfbWlzc2luZy5jCitMSUJS
VUJZX0VYVF9PUEVOU1NMX01JU1NJTkdfRkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC9v
cGVuc3NsCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L29wZW5zc2wv
b3NzbC5jCitMSUJSVUJZX0VYVF9PU1NMX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQv
b3BlbnNzbAorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3Ns
L29zc2xfYXNuMS5jCitMSUJSVUJZX0VYVF9PU1NMX0FTTjFfRkxBR1MteSArPSAtSSQoTElCUlVC
WV9TUkMpL2V4dC9vcGVuc3NsCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykv
ZXh0L29wZW5zc2wvb3NzbF9iaW8uYworTElCUlVCWV9FWFRfT1NTTF9CSU9fRkxBR1MteSArPSAt
SSQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJS
VUJZX1NSQykvZXh0L29wZW5zc2wvb3NzbF9ibi5jCitMSUJSVUJZX0VYVF9PU1NMX0JOX0ZMQUdT
LXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbAorTElCUlVCWV9FWFRfU1JDUy15ICs9
ICQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsL29zc2xfY2lwaGVyLmMKK0xJQlJVQllfRVhUX09T
U0xfQ0lQSEVSX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbAorTElCUlVC
WV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsL29zc2xfY29uZmlnLmMK
K0xJQlJVQllfRVhUX09TU0xfQ09ORklHX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQv
b3BlbnNzbAorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3Ns
L29zc2xfZGlnZXN0LmMKK0xJQlJVQllfRVhUX09TU0xfRElHRVNUX0ZMQUdTLXkgKz0gLUkkKExJ
QlJVQllfU1JDKS9leHQvb3BlbnNzbAorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9T
UkMpL2V4dC9vcGVuc3NsL29zc2xfZW5naW5lLmMKK0xJQlJVQllfRVhUX09TU0xfRU5HSU5FX0ZM
QUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbAorTElCUlVCWV9FWFRfU1JDUy15
ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsL29zc2xfaG1hYy5jCitMSUJSVUJZX0VYVF9P
U1NMX0hNQUNfRkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsCitMSUJSVUJZ
X0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L29wZW5zc2wvb3NzbF9rZGYuYworTElC
UlVCWV9FWFRfT1NTTF9LREZfRkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3Ns
CitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L29wZW5zc2wvb3NzbF9u
c19zcGtpLmMKK0xJQlJVQllfRVhUX09TU0xfTlNfU1BLSV9GTEFHUy15ICs9IC1JJChMSUJSVUJZ
X1NSQykvZXh0L29wZW5zc2wKK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9l
eHQvb3BlbnNzbC9vc3NsX29jc3AuYworTElCUlVCWV9FWFRfT1NTTF9PQ1NQX0ZMQUdTLXkgKz0g
LUkkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbAorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElC
UlVCWV9TUkMpL2V4dC9vcGVuc3NsL29zc2xfcGtjczEyLmMKK0xJQlJVQllfRVhUX09TU0xfUEtD
UzEyX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbAorTElCUlVCWV9FWFRf
U1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsL29zc2xfcGtjczcuYworTElCUlVC
WV9FWFRfT1NTTF9QS0NTN19GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L29wZW5zc2wK
K0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbC9vc3NsX3Br
ZXkuYworTElCUlVCWV9FWFRfT1NTTF9QS0VZX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9l
eHQvb3BlbnNzbAorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9vcGVu
c3NsL29zc2xfcGtleV9kaC5jCitMSUJSVUJZX0VYVF9PU1NMX1BLRVlfREhfRkxBR1MteSArPSAt
SSQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJS
VUJZX1NSQykvZXh0L29wZW5zc2wvb3NzbF9wa2V5X2RzYS5jCitMSUJSVUJZX0VYVF9PU1NMX1BL
RVlfRFNBX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbAorTElCUlVCWV9F
WFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsL29zc2xfcGtleV9lYy5jCitM
SUJSVUJZX0VYVF9PU1NMX1BLRVlfRUNfRkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC9v
cGVuc3NsCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L29wZW5zc2wv
b3NzbF9wa2V5X3JzYS5jCitMSUJSVUJZX0VYVF9PU1NMX1BLRVlfUlNBX0ZMQUdTLXkgKz0gLUkk
KExJQlJVQllfU1JDKS9leHQvb3BlbnNzbAorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVC
WV9TUkMpL2V4dC9vcGVuc3NsL29zc2xfcmFuZC5jCitMSUJSVUJZX0VYVF9PU1NMX1JBTkRfRkxB
R1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsCitMSUJSVUJZX0VYVF9TUkNTLXkg
Kz0gJChMSUJSVUJZX1NSQykvZXh0L29wZW5zc2wvb3NzbF9zc2wuYworTElCUlVCWV9FWFRfT1NT
TF9TU0xfRkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsCitMSUJSVUJZX0VY
VF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L29wZW5zc2wvb3NzbF9zc2xfc2Vzc2lvbi5j
CitMSUJSVUJZX0VYVF9PU1NMX1NTTF9TRVNTSU9OX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JD
KS9leHQvb3BlbnNzbAorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9v
cGVuc3NsL29zc2xfeDUwOS5jCitMSUJSVUJZX0VYVF9PU1NMX1g1MDlfRkxBR1MteSArPSAtSSQo
TElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZ
X1NSQykvZXh0L29wZW5zc2wvb3NzbF94NTA5YXR0ci5jCitMSUJSVUJZX0VYVF9PU1NMX1g1MDlB
VFRSX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbAorTElCUlVCWV9FWFRf
U1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsL29zc2xfeDUwOWNlcnQuYworTElC
UlVCWV9FWFRfT1NTTF9YNTA5Q0VSVF9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L29w
ZW5zc2wKK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbC9v
c3NsX3g1MDljcmwuYworTElCUlVCWV9FWFRfT1NTTF9YNTA5Q1JMX0ZMQUdTLXkgKz0gLUkkKExJ
QlJVQllfU1JDKS9leHQvb3BlbnNzbAorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9T
UkMpL2V4dC9vcGVuc3NsL29zc2xfeDUwOWV4dC5jCitMSUJSVUJZX0VYVF9PU1NMX1g1MDlFWFRf
RkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsCitMSUJSVUJZX0VYVF9TUkNT
LXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L29wZW5zc2wvb3NzbF94NTA5bmFtZS5jCitMSUJSVUJZ
X0VYVF9PU1NMX1g1MDlOQU1FX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvb3BlbnNz
bAorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsL29zc2xf
eDUwOXJlcS5jCitMSUJSVUJZX0VYVF9PU1NMX1g1MDlSRVFfRkxBR1MteSArPSAtSSQoTElCUlVC
WV9TUkMpL2V4dC9vcGVuc3NsCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykv
ZXh0L29wZW5zc2wvb3NzbF94NTA5cmV2b2tlZC5jCitMSUJSVUJZX0VYVF9PU1NMX1g1MDlSRVZP
S0VEX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbAorTElCUlVCWV9FWFRf
U1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsL29zc2xfeDUwOXN0b3JlLmMKK0xJ
QlJVQllfRVhUX09TU0xfWDUwOVNUT1JFX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQv
b3BlbnNzbAorZW5kaWYKK0xJQlJVQllfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9zdHJp
bmdpby9zdHJpbmdpby5jCitMSUJSVUJZX1NUUklOR0lPX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllf
U1JDKS9leHQvc3RyaW5naW8KK2lmZXEgKCQoQ09ORklHX0xJQlJVQllfRVhUX0ZJQkVSKSx5KQor
TElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9maWJlci9maWJlci5jCitM
SUJSVUJZX0VYVF9GSUJFUl9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L2ZpYmVyCitl
bmRpZgoraWZlcSAoJChDT05GSUdfTElCUlVCWV9FWFRfRklERExFKSx5KQorTElCUlVCWV9FWFRf
U1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9maWRkbGUvY2xvc3VyZS5jCitMSUJSVUJZX0VY
VF9DTE9TVVJFX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvZmlkZGxlCitMSUJSVUJZ
X0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L2ZpZGRsZS9jb252ZXJzaW9ucy5jCitM
SUJSVUJZX0VYVF9DT05WRVJTSU9OU19GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L2Zp
ZGRsZQorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9maWRkbGUvZmlk
ZGxlLmMKK0xJQlJVQllfRVhUX0ZJRERMRV9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0
L2ZpZGRsZQorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9maWRkbGUv
ZnVuY3Rpb24uYworTElCUlVCWV9FWFRfRlVOQ1RJT05fRkxBR1MteSArPSAtSSQoTElCUlVCWV9T
UkMpL2V4dC9maWRkbGUKK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQv
ZmlkZGxlL2hhbmRsZS5jCitMSUJSVUJZX0VYVF9IQU5ETEVfRkxBR1MteSArPSAtSSQoTElCUlVC
WV9TUkMpL2V4dC9maWRkbGUKK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9l
eHQvZmlkZGxlL3BvaW50ZXIuYworTElCUlVCWV9FWFRfUE9JTlRFUl9GTEFHUy15ICs9IC1JJChM
SUJSVUJZX1NSQykvZXh0L2ZpZGRsZQorZW5kaWYKK2lmZXEgKCQoQ09ORklHX0xJQlJVQllfRVhU
X0VUQykseSkKK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvZXRjL2V0
Yy5jCitMSUJSVUJZX0VYVF9FVENfRkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC9ldGMK
K2VuZGlmCitpZmVxICgkKENPTkZJR19MSUJSVUJZX0VYVF9DT05USU5VQVRJT04pLHkpCitMSUJS
VUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L2NvbnRpbnVhdGlvbi9jb250aW51
YXRpb24uYworTElCUlVCWV9FWFRfQ09OVElOVUFUSU9OX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllf
U1JDKS9leHQvY29udGludWF0aW9uCitlbmRpZgoraWZlcSAoJChDT05GSUdfTElCUlVCWV9FWFRf
T0JKU1BBQ0UpLHkpCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L29i
anNwYWNlL29iamVjdF90cmFjaW5nLmMKK0xJQlJVQllfRVhUX09CSkVDVF9UUkFDSU5HX0ZMQUdT
LXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvb2Jqc3BhY2UKK0xJQlJVQllfRVhUX1NSQ1MteSAr
PSAkKExJQlJVQllfU1JDKS9leHQvb2Jqc3BhY2Uvb2Jqc3BhY2UuYworTElCUlVCWV9FWFRfT0JK
U1BBQ0VfRkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC9vYmpzcGFjZQorTElCUlVCWV9F
WFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9vYmpzcGFjZS9vYmpzcGFjZV9kdW1wLmMK
K0xJQlJVQllfRVhUX09CSlNQQUNFX0RVTVBfRkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4
dC9vYmpzcGFjZQorZW5kaWYKK2lmZXEgKCQoQ09ORklHX0xJQlJVQllfRVhUX0NPVkVSQUdFKSx5
KQorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9jb3ZlcmFnZS9jb3Zl
cmFnZS5jCitMSUJSVUJZX0VYVF9DT1ZFUkFHRV9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykv
ZXh0L2NvdmVyYWdlCitlbmRpZgoraWZlcSAoJChDT05GSUdfTElCUlVCWV9FWFRfSU9fQ09OU09M
RSkseSkKK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvaW8vY29uc29s
ZS9jb25zb2xlLmMKK0xJQlJVQllfRVhUX0NPTlNPTEVfRkxBR1MteSArPSAtSSQoTElCUlVCWV9T
UkMpL2V4dC9pby9jb25zb2xlCitlbmRpZgoraWZlcSAoJChDT05GSUdfTElCUlVCWV9FWFRfSU9f
Tk9OQkxPQ0spLHkpCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L2lv
L25vbmJsb2NrL25vbmJsb2NrLmMKK0xJQlJVQllfRVhUX05PTkJMT0NLX0ZMQUdTLXkgKz0gLUkk
KExJQlJVQllfU1JDKS9leHQvaW8vbm9uYmxvY2sKK2VuZGlmCitpZmVxICgkKENPTkZJR19MSUJS
VUJZX0VYVF9JT19XQUlUKSx5KQorTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMp
L2V4dC9pby93YWl0L3dhaXQuYworTElCUlVCWV9FWFRfV0FJVF9GTEFHUy15ICs9IC1JJChMSUJS
VUJZX1NSQykvZXh0L2lvL3dhaXQKK2VuZGlmCitpZmVxICgkKENPTkZJR19MSUJSVUJZX0VYVF9S
SVBQRVIpLHkpCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L3JpcHBl
ci9yaXBwZXIuYworTElCUlVCWV9FWFRfUklQUEVSX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JD
KS9leHQvcmlwcGVyCitlbmRpZgoraWZlcSAoJChDT05GSUdfTElCUlVCWV9FWFRfTktGKSx5KQor
TElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9ua2YvbmtmLmMKK0xJQlJV
QllfRVhUX05LRl9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L25rZgorZW5kaWYKK2lm
ZXEgKCQoQ09ORklHX0xJQlJVQllfRVhUX1pMSUIpLHkpCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0g
JChMSUJSVUJZX1NSQykvZXh0L3psaWIvemxpYi5jCitMSUJSVUJZX0VYVF9aTElCX0ZMQUdTLXkg
Kz0gLUkkKExJQlJVQllfU1JDKS9leHQvemxpYgorZW5kaWYKK2lmZXEgKCQoQ09ORklHX0xJQlJV
QllfRVhUX1NEQk0pLHkpCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0
L3NkYm0vX3NkYm0uYworTElCUlVCWV9FWFRfX1NEQk1fRkxBR1MteSArPSAtSSQoTElCUlVCWV9T
UkMpL2V4dC9zZGJtCitMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L3Nk
Ym0vaW5pdC5jfHNkYm0KK0xJQlJVQllfRVhUX0lOSVRfRkxBR1MteSArPSAtSSQoTElCUlVCWV9T
UkMpL2V4dC9zZGJtCitlbmRpZgogCiBpZm5lcSAoJChDT05GSUdfTElCUlVCWV9NSU5JKSx5KQog
IyBJbml0X2VuYygpIGlzIGFsc28gaW4gbWluaWluaXQuYwpkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVk
L2V4dC9leHRpbml0LmMgYi9nZW5lcmF0ZWQvZXh0L2V4dGluaXQuYwppbmRleCA0OTJhOTMzLi43
YmM0MTk2IDEwMDY0NAotLS0gYS9nZW5lcmF0ZWQvZXh0L2V4dGluaXQuYworKysgYi9nZW5lcmF0
ZWQvZXh0L2V4dGluaXQuYwpAQCAtMSwzICsxLDQgQEAKKyNpbmNsdWRlIDx1ay9jb25maWcuaD4K
ICNpbmNsdWRlICJydWJ5L3J1YnkuaCIKIAogI2RlZmluZSBpbml0KGZ1bmMsIG5hbWUpIHsJXApA
QCAtOSw0MCArMTAsOTQgQEAgdm9pZCBydWJ5X2luaXRfZXh0KGNvbnN0IGNoYXIgKm5hbWUsIHZv
aWQgKCppbml0KSh2b2lkKSk7CiAKIHZvaWQgSW5pdF9leHQodm9pZCkKIHsKKyNpZiBDT05GSUdf
TElCUlVCWV9FWFRfU1RSU0NBTgogICAgIGluaXQoSW5pdF9zdHJzY2FuLCAic3Ryc2NhbiIpOwor
I2VuZGlmCisjaWYgQ09ORklHX0xJQlJVQllfRVhUX1NZU0xPRwogICAgIGluaXQoSW5pdF9zeXNs
b2csICJzeXNsb2ciKTsKKyNlbmRpZgorI2lmIENPTkZJR19MSUJSVUJZX0VYVF9KU09OCiAgICAg
aW5pdChJbml0X2dlbmVyYXRvciwgImpzb24vZXh0L2dlbmVyYXRvciIpOwogICAgIGluaXQoSW5p
dF9wYXJzZXIsICJqc29uL2V4dC9wYXJzZXIiKTsKKyNlbmRpZgorI2lmIENPTkZJR19MSUJSVUJZ
X0VYVF9SQkNPTkZJR19TSVpFT0YKICAgICBpbml0KEluaXRfc2l6ZW9mLCAicmJjb25maWcvc2l6
ZW9mIik7CisjZW5kaWYKKyNpZiBDT05GSUdfTElCUlVCWV9FWFRfQklHREVDSU1BTAogICAgIGlu
aXQoSW5pdF9iaWdkZWNpbWFsLCAiYmlnZGVjaW1hbCIpOwogICAgIGluaXQoSW5pdF91dGlsLCAi
YmlnZGVjaW1hbC91dGlsIik7CisjZW5kaWYKKyNpZiBDT05GSUdfTElCUlVCWV9FWFRfUkFDQ19D
UEFSU0UKICAgICBpbml0KEluaXRfY3BhcnNlLCAicmFjYy9jcGFyc2UiKTsKKyNlbmRpZgorI2lm
IENPTkZJR19MSUJSVUJZX0VYVF9ESUdFU1QKICAgICBpbml0KEluaXRfZGlnZXN0LCAiZGlnZXN0
Iik7CiAgICAgaW5pdChJbml0X2J1YmJsZWJhYmJsZSwgImRpZ2VzdC9idWJibGViYWJibGUiKTsK
ICAgICBpbml0KEluaXRfbWQ1LCAiZGlnZXN0L21kNSIpOwogICAgIGluaXQoSW5pdF9ybWQxNjAs
ICJkaWdlc3Qvcm1kMTYwIik7CiAgICAgaW5pdChJbml0X3NoYTEsICJkaWdlc3Qvc2hhMSIpOwog
ICAgIGluaXQoSW5pdF9zaGEyLCAiZGlnZXN0L3NoYTIiKTsKKyNlbmRpZgorI2lmIENPTkZJR19M
SUJSVUJZX0VYVF9QU1lDSAogICAgIGluaXQoSW5pdF9wc3ljaCwgInBzeWNoIik7CisjZW5kaWYK
KyNpZiBDT05GSUdfTElCUlVCWV9FWFRfQ0dJX0VTQ0FQRQogICAgIGluaXQoSW5pdF9lc2NhcGUs
ICJjZ2kvZXNjYXBlIik7CisjZW5kaWYKKyNpZiBDT05GSUdfTElCUlVCWV9FWFRfRkNOVEwKICAg
ICBpbml0KEluaXRfZmNudGwsICJmY250bCIpOworI2VuZGlmCiAgICAgaW5pdChJbml0X3N0cmlu
Z2lvLCAic3RyaW5naW8iKTsKKyNpZiBDT05GSUdfTElCUlVCWV9FWFRfU09DS0VUCiAgICAgaW5p
dChJbml0X3NvY2tldCwgInNvY2tldCIpOworI2VuZGlmCiAgICAgaW5pdChJbml0X3BhdGhuYW1l
LCAicGF0aG5hbWUiKTsKKyNpZiBDT05GSUdfTElCUlVCWV9FWFRfREFURV9DT1JFCiAgICAgaW5p
dChJbml0X2RhdGVfY29yZSwgImRhdGVfY29yZSIpOworI2VuZGlmCisjaWYgQ09ORklHX0xJQlJV
QllfRVhUX1BUWQogICAgIGluaXQoSW5pdF9wdHksICJwdHkiKTsKKyNlbmRpZgorI2lmIENPTkZJ
R19MSUJSVUJZX0VYVF9PUEVOU1NMCiAgICAgaW5pdChJbml0X29wZW5zc2wsICJvcGVuc3NsIik7
CisjZW5kaWYKKyNpZiBDT05GSUdfTElCUlVCWV9FWFRfRklCRVIKICAgICBpbml0KEluaXRfZmli
ZXIsICJmaWJlciIpOworI2VuZGlmCisjaWYgQ09ORklHX0xJQlJVQllfRVhUX0ZJRERMRQogICAg
IGluaXQoSW5pdF9maWRkbGUsICJmaWRkbGUiKTsKKyNlbmRpZgorI2lmIENPTkZJR19MSUJSVUJZ
X0VYVF9FVEMKICAgICBpbml0KEluaXRfZXRjLCAiZXRjIik7CisjZW5kaWYKKyNpZiBDT05GSUdf
TElCUlVCWV9FWFRfQ09OVElOVUFUSU9OCiAgICAgaW5pdChJbml0X2NvbnRpbnVhdGlvbiwgImNv
bnRpbnVhdGlvbiIpOworI2VuZGlmCisjaWYgQ09ORklHX0xJQlJVQllfRVhUX09CSlNQQUNFCiAg
ICAgaW5pdChJbml0X29ianNwYWNlLCAib2Jqc3BhY2UiKTsKKyNlbmRpZgorI2lmIENPTkZJR19M
SUJSVUJZX0VYVF9DT1ZFUkFHRQogICAgIGluaXQoSW5pdF9jb3ZlcmFnZSwgImNvdmVyYWdlIik7
CisjZW5kaWYKKyNpZiBDT05GSUdfTElCUlVCWV9FWFRfSU9fQ09OU09MRQogICAgIGluaXQoSW5p
dF9jb25zb2xlLCAiaW8vY29uc29sZSIpOworI2VuZGlmCisjaWYgQ09ORklHX0xJQlJVQllfRVhU
X0lPX05PTkJMT0NLCiAgICAgaW5pdChJbml0X25vbmJsb2NrLCAiaW8vbm9uYmxvY2siKTsKKyNl
bmRpZgorI2lmIENPTkZJR19MSUJSVUJZX0VYVF9JT19XQUlUCiAgICAgaW5pdChJbml0X3dhaXQs
ICJpby93YWl0Iik7CisjZW5kaWYKKyNpZiBDT05GSUdfTElCUlVCWV9FWFRfUklQUEVSCiAgICAg
aW5pdChJbml0X3JpcHBlciwgInJpcHBlciIpOworI2VuZGlmCisjaWYgQ09ORklHX0xJQlJVQllf
RVhUX05LRgogICAgIGluaXQoSW5pdF9ua2YsICJua2YiKTsKKyNlbmRpZgorI2lmIENPTkZJR19M
SUJSVUJZX0VYVF9aTElCCiAgICAgaW5pdChJbml0X3psaWIsICJ6bGliIik7CisjZW5kaWYKKyNp
ZiBDT05GSUdfTElCUlVCWV9FWFRfU0RCTQogICAgIGluaXQoSW5pdF9zZGJtLCAic2RibSIpOwor
I2VuZGlmCiB9CmRpZmYgLS1naXQgYS9pbmNsdWRlL3J1YnkvY29uZmlnLmggYi9pbmNsdWRlL3J1
YnkvY29uZmlnLmgKaW5kZXggZTlmZjRkMS4uMmIwZmFlMCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9y
dWJ5L2NvbmZpZy5oCisrKyBiL2luY2x1ZGUvcnVieS9jb25maWcuaApAQCAtNDIyLDYgKzQyMiw3
IEBACiAvKiAjZGVmaW5lIEhBVkVfVkFMR1JJTkRfTUVNQ0hFQ0tfSCAxICovCiAjZGVmaW5lIERM
RVhUX01BWExFTiAzCiAjZGVmaW5lIERMRVhUICIuc28iCisjZGVmaW5lIEVYVFNUQVRJQyAxCiAj
ZGVmaW5lIEhBVkVfX1NFVEpNUCAxCiAjZGVmaW5lIFJVQllfU0VUSk1QKGVudikgX19idWlsdGlu
X3NldGptcCgoZW52KSkKICNkZWZpbmUgUlVCWV9MT05HSk1QKGVudix2YWwpIF9fYnVpbHRpbl9s
b25nam1wKChlbnYpLHZhbCkKLS0gCjIuMjAuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRl
dmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFp
bG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Mon Dec 16 13:48:19 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 16 Dec 2019 13:48:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1igqjT-0003Mz-3B; Mon, 16 Dec 2019 13:48:19 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=mtPe=2G=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1igqjS-0003Mt-Op
 for minios-devel@lists.xen.org; Mon, 16 Dec 2019 13:48:18 +0000
X-Inumbo-ID: b16d0909-200a-11ea-93a9-12813bfff9fa
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id b16d0909-200a-11ea-93a9-12813bfff9fa;
 Mon, 16 Dec 2019 13:48:09 +0000 (UTC)
IronPort-SDR: eN6xVzUWbdDh9iLTa2gGE8QWcn/ybfOkFzN9z1G872iQ7NLSDCKLMDuBTLD1c1lOtVv8Qg0GEH
 bp+P1PGF5qZw==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 16 Dec 2019 15:48:03 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 0C8D51A602EF;
 Mon, 16 Dec 2019 15:48:04 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id Bnz4qmqtacD4; Mon, 16 Dec 2019 15:48:04 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id E74971A602FB;
 Mon, 16 Dec 2019 15:48:03 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id P8yIU697x_JS; Mon, 16 Dec 2019 15:48:03 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id C96701A602F1;
 Mon, 16 Dec 2019 15:48:03 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Mon, 16 Dec 2019 15:47:49 +0200
Message-Id: <20191216134753.7576-3-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191216134753.7576-1-costin.lupu@cs.pub.ro>
References: <20191216134753.7576-1-costin.lupu@cs.pub.ro>
Subject: [Minios-devel] [UNIKRAFT/RUBY PATCH v3 2/6] encodings: Build
 encodings
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

QWxsIGVuY29kaW5ncyBhcmUgaW5jbHVkZWQgaW4gYSBuZXcgbGlicmFyeSwgbGlicnVieV9lbmMu
IEdpdmVuIHRoYXQgdGhlCmV4dGVuc2lvbnMgZmlsZXMgYXJlIGdlbmVyYXRlZCBhdCBidWlsZCB0
aW1lIGJ5IHRoZSBvcmlnaW4gYnVpbGQgc3lzdGVtLCB3ZQphbHNvIGhhdmUgdG8gcnVuIGAuL2Nv
bmZpZ3VyZWAgYW5kIGBtYWtlYCBmb3IgdGhlIG9yaWdpbmFsIGJ1aWxkIGJlZm9yZQpidWlsZGlu
ZyB0aGVtIGZvciBVbmlrcmFmdC4gVGhpcyBpcyBkb25lIG9uY2UgZm9yIGJvdGggZXh0ZW5zaW9u
cyBhbmQKZW5jb2RpbmdzLgoKU2lnbmVkLW9mZi1ieTogQ29zdGluIEx1cHUgPGNvc3Rpbi5sdXB1
QGNzLnB1Yi5ybz4KUmV2aWV3ZWQtYnk6IFN0ZWZhbiBUZW9kb3Jlc2N1IDxzdGVmYW5sLnRlb2Rv
cmVzY3VAZ21haWwuY29tPgotLS0KIENvbmZpZy51ayAgIHwgIDYgKysrKysKIE1ha2VmaWxlLnVr
IHwgNzUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysKIDIgZmlsZXMgY2hhbmdlZCwgODEgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL0NvbmZp
Zy51ayBiL0NvbmZpZy51awppbmRleCA4MDg4YTU0Li41NmYyYjZiIDEwMDY0NAotLS0gYS9Db25m
aWcudWsKKysrIGIvQ29uZmlnLnVrCkBAIC0xMjIsNCArMTIyLDEwIEBAIGNvbmZpZyBMSUJSVUJZ
X0VYVAogCQlib29sICJzZGJtIgogCQlkZWZhdWx0IHkKIAllbmRpZgorCitjb25maWcgTElCUlVC
WV9FTkMKKwlib29sICJFbmFibGUgZW5jb2RpbmdzIgorCWRlcGVuZHMgb24gIUxJQlJVQllfTUlO
SQorCWRlZmF1bHQgeQorCiBlbmRpZgpkaWZmIC0tZ2l0IGEvTWFrZWZpbGUudWsgYi9NYWtlZmls
ZS51awppbmRleCBkMjRmNjg3Li44NGM5YWFjIDEwMDY0NAotLS0gYS9NYWtlZmlsZS51aworKysg
Yi9NYWtlZmlsZS51awpAQCAtNDAsNiArNDAsNyBAQAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK
ICQoZXZhbCAkKGNhbGwgYWRkbGliX3MsbGlicnVieSwkKENPTkZJR19MSUJSVUJZKSkpCiAkKGV2
YWwgJChjYWxsIGFkZGxpYl9zLGxpYnJ1YnlfZXh0LCQoQ09ORklHX0xJQlJVQllfRVhUKSkpCisk
KGV2YWwgJChjYWxsIGFkZGxpYl9zLGxpYnJ1YnlfZW5jLCQoQ09ORklHX0xJQlJVQllfRU5DKSkp
CiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAjIFNvdXJjZXMKQEAgLTQ2MiwxMCArNDYzLDg0
IEBAIExJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvc2RibS9pbml0LmN8
c2RibQogTElCUlVCWV9FWFRfSU5JVF9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L3Nk
Ym0KIGVuZGlmCiAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIEVuY29kaW5ncworIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMKK0xJQlJVQllfRU5DX0NGTEFHUy15ICs9ICQoTElCUlVCWV9DSU5D
TFVERVMteSkKK0xJQlJVQllfRU5DX0NGTEFHUy15ICs9ICQoTElCUlVCWV9TVVBQUkVTU19GTEFH
UykKK0xJQlJVQllfRU5DX0NGTEFHUy15ICs9IC1EUlVCWV9FWFBPUlQ9MSAtRE9OSUdfRU5DX1JF
R0lTVEVSPXJiX2VuY19yZWdpc3RlcgorCitpZmVxICgkKENPTkZJR19MSUJSVUJZX0VOQykseSkK
K0xJQlJVQllfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy9lbmNpbml0LmMKK2Vsc2UKIGlm
bmVxICgkKENPTkZJR19MSUJSVUJZX01JTkkpLHkpCiAjIEluaXRfZW5jKCkgaXMgYWxzbyBpbiBt
aW5paW5pdC5jCiBMSUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9kbXllbmMuYwogZW5k
aWYKK2VuZGlmCisKKyMgZW5jL2xpYmVuYy5hCitMSUJSVUJZX0VOQ19TUkNTLXkgKz0gJChMSUJS
VUJZX1NSQykvZW5jL2VuY2RiLmMKK0xJQlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllfU1JD
KS9lbmMvYmlnNS5jCitMSUJSVUJZX0VOQ19TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL2Nw
OTQ5LmMKK0xJQlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMvZW1hY3NfbXVs
ZS5jCitMSUJSVUJZX0VOQ19TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL2V1Y19qcC5jCitM
SUJSVUJZX0VOQ19TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL2V1Y19rci5jCitMSUJSVUJZ
X0VOQ19TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL2V1Y190dy5jCitMSUJSVUJZX0VOQ19T
UkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL2diMjMxMi5jCitMSUJSVUJZX0VOQ19TUkNTLXkg
Kz0gJChMSUJSVUJZX1NSQykvZW5jL2diMTgwMzAuYworTElCUlVCWV9FTkNfU1JDUy15ICs9ICQo
TElCUlVCWV9TUkMpL2VuYy9nYmsuYworTElCUlVCWV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9T
UkMpL2VuYy9pc29fODg1OV8xLmMKK0xJQlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllfU1JD
KS9lbmMvaXNvXzg4NTlfMi5jCitMSUJSVUJZX0VOQ19TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykv
ZW5jL2lzb184ODU5XzMuYworTElCUlVCWV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2Vu
Yy9pc29fODg1OV80LmMKK0xJQlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMv
aXNvXzg4NTlfNS5jCitMSUJSVUJZX0VOQ19TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL2lz
b184ODU5XzYuYworTElCUlVCWV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy9pc29f
ODg1OV83LmMKK0xJQlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMvaXNvXzg4
NTlfOC5jCitMSUJSVUJZX0VOQ19TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL2lzb184ODU5
XzkuYworTElCUlVCWV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy9pc29fODg1OV8x
MC5jCitMSUJSVUJZX0VOQ19TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL2lzb184ODU5XzEx
LmMKK0xJQlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMvaXNvXzg4NTlfMTMu
YworTElCUlVCWV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy9pc29fODg1OV8xNC5j
CitMSUJSVUJZX0VOQ19TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL2lzb184ODU5XzE1LmMK
K0xJQlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMvaXNvXzg4NTlfMTYuYwor
TElCUlVCWV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy9rb2k4X3IuYworTElCUlVC
WV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy9rb2k4X3UuYworTElCUlVCWV9FTkNf
U1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy9zaGlmdF9qaXMuYworTElCUlVCWV9FTkNfU1JD
Uy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy91dGZfMTZiZS5jCitMSUJSVUJZX0VOQ19TUkNTLXkg
Kz0gJChMSUJSVUJZX1NSQykvZW5jL3V0Zl8xNmxlLmMKK0xJQlJVQllfRU5DX1NSQ1MteSArPSAk
KExJQlJVQllfU1JDKS9lbmMvdXRmXzMyYmUuYworTElCUlVCWV9FTkNfU1JDUy15ICs9ICQoTElC
UlVCWV9TUkMpL2VuYy91dGZfMzJsZS5jCitMSUJSVUJZX0VOQ19TUkNTLXkgKz0gJChMSUJSVUJZ
X1NSQykvZW5jL3dpbmRvd3NfMzFqLmMKK0xJQlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllf
U1JDKS9lbmMvd2luZG93c18xMjUwLmMKK0xJQlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllf
U1JDKS9lbmMvd2luZG93c18xMjUxLmMKK0xJQlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllf
U1JDKS9lbmMvd2luZG93c18xMjUyLmMKK0xJQlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllf
U1JDKS9lbmMvd2luZG93c18xMjUzLmMKK0xJQlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllf
U1JDKS9lbmMvd2luZG93c18xMjU0LmMKK0xJQlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllf
U1JDKS9lbmMvd2luZG93c18xMjU3LmMKKworIyBlbmMvbGlidHJhbnMuYQorTElCUlVCWV9FTkNf
U1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy90cmFucy90cmFuc2RiLmMKK0xJQlJVQllfRU5D
X1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMvdHJhbnMvYmlnNS5jfHRyYW5zCitMSUJSVUJZ
X0VOQ19TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL3RyYW5zL2NoaW5lc2UuYworTElCUlVC
WV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy90cmFucy9lYmNkaWMuYworTElCUlVC
WV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy90cmFucy9lbW9qaS5jCitMSUJSVUJZ
X0VOQ19TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL3RyYW5zL2Vtb2ppX2lzbzIwMjJfa2Rk
aS5jCitMSUJSVUJZX0VOQ19TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL3RyYW5zL2Vtb2pp
X3NqaXNfZG9jb21vLmMKK0xJQlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMv
dHJhbnMvZW1vamlfc2ppc19rZGRpLmMKK0xJQlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllf
U1JDKS9lbmMvdHJhbnMvZW1vamlfc2ppc19zb2Z0YmFuay5jCitMSUJSVUJZX0VOQ19TUkNTLXkg
Kz0gJChMSUJSVUJZX1NSQykvZW5jL3RyYW5zL2VzY2FwZS5jCitMSUJSVUJZX0VOQ19TUkNTLXkg
Kz0gJChMSUJSVUJZX1NSQykvZW5jL3RyYW5zL2diMTgwMzAuY3x0cmFucworTElCUlVCWV9FTkNf
U1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy90cmFucy9nYmsuY3x0cmFucworTElCUlVCWV9F
TkNfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy90cmFucy9pc28yMDIyLmMKK0xJQlJVQllf
RU5DX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMvdHJhbnMvamFwYW5lc2UuYworTElCUlVC
WV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy90cmFucy9qYXBhbmVzZV9ldWMuYwor
TElCUlVCWV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy90cmFucy9qYXBhbmVzZV9z
amlzLmMKK0xJQlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMvdHJhbnMva29y
ZWFuLmMKK0xJQlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMvdHJhbnMvc2lu
Z2xlX2J5dGUuYworTElCUlVCWV9FTkNfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2VuYy90cmFu
cy91dGY4X21hYy5jCitMSUJSVUJZX0VOQ19TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL3Ry
YW5zL3V0Zl8xNl8zMi5jCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAjIFByZXBhcmUgcnVs
ZXMKLS0gCjIuMjAuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnBy
b2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9t
aW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Mon Dec 16 13:48:24 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 16 Dec 2019 13:48:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1igqjY-0003Nx-5B; Mon, 16 Dec 2019 13:48:24 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=mtPe=2G=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1igqjX-0003Nk-Ov
 for minios-devel@lists.xen.org; Mon, 16 Dec 2019 13:48:23 +0000
X-Inumbo-ID: b16d090a-200a-11ea-93a9-12813bfff9fa
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id b16d090a-200a-11ea-93a9-12813bfff9fa;
 Mon, 16 Dec 2019 13:48:09 +0000 (UTC)
IronPort-SDR: AJJvImMp751Vz7N+bnAngZMye9eqWtaIxUseoI72H/RuauvkzjBUYFjtdNo7xr6jvsEuKdXW5j
 2Ms5FiV3vnIQ==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 16 Dec 2019 15:48:03 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 404141A602EF;
 Mon, 16 Dec 2019 15:48:04 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id TzFaqIMh2Wdu; Mon, 16 Dec 2019 15:48:04 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 152D91A602F2;
 Mon, 16 Dec 2019 15:48:04 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id bz9yTl-9hrMr; Mon, 16 Dec 2019 15:48:04 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id E27381A602F8;
 Mon, 16 Dec 2019 15:48:03 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Mon, 16 Dec 2019 15:47:51 +0200
Message-Id: <20191216134753.7576-5-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191216134753.7576-1-costin.lupu@cs.pub.ro>
References: <20191216134753.7576-1-costin.lupu@cs.pub.ro>
Subject: [Minios-devel] [UNIKRAFT/RUBY PATCH v3 4/6] Makefile.uk: Add rule
 for creating root filesystem
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhlIFJ1YnkgaW50ZXJwcmV0ZXIgbmVlZHMgYSBmaWxlc3lzdGVtIHdoZXJlIHRvIGtlZXAgaXRz
IGxpYnJhcmllcy4gVGhpcyBwYXRjaApjcmVhdGVzIGEgcm9vdCBmaWxlc3lzdGVtIGFuZCBpbnN0
YWxscyB0aGUgUnVieSBsaWJyYXJpZXMgaW4gYC9saWIvcnVieS8yLjYuMC9gCmRpcmVjdG9yeS4g
Rm9yIGNyZWF0aW5nIHRoZSBmaWxlc3lzdGVtIHRoZSBmb2xsb3dpbmcgY29tbWFuZCBoYXMgdG8g
YmUgcnVuOgoKJCBtYWtlIHJ1Ynktcm9vdGZzIHBhdGg9PGRpcmVjdG9yeT4KClNpZ25lZC1vZmYt
Ynk6IENvc3RpbiBMdXB1IDxjb3N0aW4ubHVwdUBjcy5wdWIucm8+ClJldmlld2VkLWJ5OiBTdGVm
YW4gVGVvZG9yZXNjdSA8c3RlZmFubC50ZW9kb3Jlc2N1QGdtYWlsLmNvbT4KLS0tCiBNYWtlZmls
ZS51ayAgICAgICAgICAgICAgIHwgMjkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGdl
bXMtZXhhbXBsZXMvR2VtZmlsZS1pcmIgfCAgOCArKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCAz
NyBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2Vtcy1leGFtcGxlcy9HZW1maWxl
LWlyYgoKZGlmZiAtLWdpdCBhL01ha2VmaWxlLnVrIGIvTWFrZWZpbGUudWsKaW5kZXggZWYyNThi
ZS4uOWFiZWYyMyAxMDA2NDQKLS0tIGEvTWFrZWZpbGUudWsKKysrIGIvTWFrZWZpbGUudWsKQEAg
LTUwLDYgKzUwLDcgQEAgTElCUlVCWV9NQUpPUj0yCiBMSUJSVUJZX01JTk9SPTYKIExJQlJVQllf
UkVWSVNJT049MAogTElCUlVCWV9WRVJTSU9OPSQoTElCUlVCWV9NQUpPUilfJChMSUJSVUJZX01J
Tk9SKQorTElCUlVCWV9WRVJTSU9OX0xPTkc9JChMSUJSVUJZX01BSk9SKS4kKExJQlJVQllfTUlO
T1IpLiQoTElCUlVCWV9SRVZJU0lPTikKIExJQlJVQllfQVJDSElWRT1ydWJ5XyQoTElCUlVCWV9W
RVJTSU9OKS56aXAKIExJQlJVQllfVVJMPWh0dHBzOi8vZ2l0aHViLmNvbS9ydWJ5L3J1YnkvYXJj
aGl2ZS8kKExJQlJVQllfQVJDSElWRSkKIExJQlJVQllfRElSPXJ1YnktcnVieV8kKExJQlJVQllf
VkVSU0lPTikKQEAgLTYwNCwzICs2MDUsMzEgQEAgJChMSUJSVUJZX1RFU1RfQlVJTEQpLy5wcmVw
YXJlZDogJChMSUJSVUJZX1RFU1RfUFJFUEFSRURfREVQUykKIFVLX1BSRVBBUkUgKz0gJChMSUJS
VUJZX1RFU1RfQlVJTEQpLy5wcmVwYXJlZAogZW5kaWYKIAorIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMKKyMgUm9vdCBmaWxlc3lzdGVtCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyBSb290IGZp
bGVzeXN0ZW0gcGF0aAorUlVCWV9ST09URlMgPSAkKEFQUF9CQVNFKS8kKHBhdGgpCisKKyMgQ29u
ZmlndXJlIG9yaWdpbgorJChSVUJZX1JPT1RGUykvLmNvbmZpZ3VyZWQ6ICQoTElCUlVCWV9CVUlM
RCkvLm9yaWdpbgorCW1rZGlyIC1wICQoUlVCWV9ST09URlMpICY+L2Rldi9udWxsCisJY2QgJChM
SUJSVUJZX1NSQykgJiYgXAorCQlhdXRvY29uZiAmJiBcCisJCS4vY29uZmlndXJlIC0tcHJlZml4
PSQoc2hlbGwgcmVhbHBhdGggJChBUFBfQkFTRSkvJChwYXRoKSkgJChMSUJSVUJZX0NPTkZJR1VS
RV9DT01NT05fUEFSQU1TKSAmJiBcCisJCXRvdWNoICRAICYmIHRvdWNoICQoTElCUlVCWV9CVUlM
RCkvLmNvbmZpZ3VyZWQKKworIyBCdWlsZCBSdWJ5CiskKFJVQllfUk9PVEZTKS8uYnVpbGQ6ICQo
UlVCWV9ST09URlMpLy5jb25maWd1cmVkCisJY2QgJChMSUJSVUJZX1NSQykgJiYgbWFrZSAtaiQo
Sk9CUykgJiYgdG91Y2ggJEAgJiYgdG91Y2ggJChMSUJSVUJZX0JVSUxEKS8uYnVpbGQKKworIyBJ
bnN0YWxsIFJ1YnkKKyQoUlVCWV9ST09URlMpLy5kb25lOiAkKFJVQllfUk9PVEZTKS8uYnVpbGQK
KwljZCAkKExJQlJVQllfU1JDKSAmJiBtYWtlIGluc3RhbGwKKwljcCAtciAkKExJQlJVQllfU1JD
KS8uZXh0ICQoUlVCWV9ST09URlMpL2xpYi9ydWJ5LyQoTElCUlVCWV9WRVJTSU9OX0xPTkcpLwor
CWNwIC1yICQoTElCUlVCWV9TUkMpL3Rlc3QgJChSVUJZX1JPT1RGUykvbGliL3J1YnkvJChMSUJS
VUJZX1ZFUlNJT05fTE9ORykvCisJY3AgJChMSUJSVUJZX0JBU0UpL2dlbXMtZXhhbXBsZXMvR2Vt
ZmlsZS1pcmIgJChSVUJZX1JPT1RGUykvbGliL3J1YnkvJChMSUJSVUJZX1ZFUlNJT05fTE9ORykv
R2VtZmlsZQorCXRvdWNoICRACisKKy5QSE9OWTogcnVieS1yb290ZnMKK3J1Ynktcm9vdGZzOiAk
KFJVQllfUk9PVEZTKS8uZG9uZQpkaWZmIC0tZ2l0IGEvZ2Vtcy1leGFtcGxlcy9HZW1maWxlLWly
YiBiL2dlbXMtZXhhbXBsZXMvR2VtZmlsZS1pcmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uMWFjMzlkMAotLS0gL2Rldi9udWxsCisrKyBiL2dlbXMtZXhhbXBsZXMvR2VtZmls
ZS1pcmIKQEAgLTAsMCArMSw4IEBACisjIGZyb3plbl9zdHJpbmdfbGl0ZXJhbDogdHJ1ZQorCitz
b3VyY2UgImh0dHBzOi8vcnVieWdlbXMub3JnIgorCitnaXRfc291cmNlKDpnaXRodWIpIHt8cmVw
b19uYW1lfCAiaHR0cHM6Ly9naXRodWIuY29tLyN7cmVwb19uYW1lfSIgfQorCisjIGdlbSAicmFp
bHMiCitnZW0gJ2lyYicsIHJlcXVpcmU6IGZhbHNlCi0tIAoyLjIwLjEKCgpfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBs
aXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnBy
b2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Mon Dec 16 13:48:29 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 16 Dec 2019 13:48:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1igqjd-0003Ph-6l; Mon, 16 Dec 2019 13:48:29 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=mtPe=2G=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1igqjc-0003PZ-PD
 for minios-devel@lists.xen.org; Mon, 16 Dec 2019 13:48:28 +0000
X-Inumbo-ID: b16d090b-200a-11ea-93a9-12813bfff9fa
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id b16d090b-200a-11ea-93a9-12813bfff9fa;
 Mon, 16 Dec 2019 13:48:09 +0000 (UTC)
IronPort-SDR: +I2/GZsG8U2+gVe3jRWvgv7JxHVspuuouumxLrXdF4hcd6nCc5mtaitNAGGXbhe/XEDHhbPw7Z
 Xh0PEiZ7urbQ==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 16 Dec 2019 15:48:03 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 41EAA1A602F6;
 Mon, 16 Dec 2019 15:48:04 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id 6c-yrbvZdoUa; Mon, 16 Dec 2019 15:48:04 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 0346D1A602F1;
 Mon, 16 Dec 2019 15:48:04 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id 4h9L9YZIkWwR; Mon, 16 Dec 2019 15:48:03 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id D5C0F1A602F6;
 Mon, 16 Dec 2019 15:48:03 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Mon, 16 Dec 2019 15:47:50 +0200
Message-Id: <20191216134753.7576-4-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191216134753.7576-1-costin.lupu@cs.pub.ro>
References: <20191216134753.7576-1-costin.lupu@cs.pub.ro>
Subject: [Minios-devel] [UNIKRAFT/RUBY PATCH v3 3/6] tests: Build tests
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhlIFJ1YnkgdW5pdCB0ZXN0aW5nIGRlcGVuZHMgb24gYm90aCBleHRlbnNpb25zIGFuZCBlbmNv
ZGluZ3MuIFdlIGN1cnJlbnRseQphZGQgc3VwcG9ydCBmb3IgcnVubmluZyBvbmx5IHRoZSB0aW1l
IGFuZCBmaWxlIHRlc3RzLiBFbmFibGluZyB0aGUgcmVzdCBvZiB0aGUKdGVzdHMgaXMgc3ViamVj
dCBvZiBmdXJ0aGVyIHdvcmsuCgpTaWduZWQtb2ZmLWJ5OiBDb3N0aW4gTHVwdSA8Y29zdGluLmx1
cHVAY3MucHViLnJvPgpSZXZpZXdlZC1ieTogU3RlZmFuIFRlb2RvcmVzY3UgPHN0ZWZhbmwudGVv
ZG9yZXNjdUBnbWFpbC5jb20+Ci0tLQogQ29uZmlnLnVrICAgICAgICAgICAgICAgfCAgNyArKysr
KysrCiBNYWtlZmlsZS51ayAgICAgICAgICAgICB8IDQyICsrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrCiBnZW5lcmF0ZWQvZXh0L2V4dGluaXQuYyB8ICA2ICsrKysrKwog
MyBmaWxlcyBjaGFuZ2VkLCA1NSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvQ29uZmlnLnVr
IGIvQ29uZmlnLnVrCmluZGV4IDU2ZjJiNmIuLmU0N2VlZTMgMTAwNjQ0Ci0tLSBhL0NvbmZpZy51
aworKysgYi9Db25maWcudWsKQEAgLTEyOCw0ICsxMjgsMTEgQEAgY29uZmlnIExJQlJVQllfRU5D
CiAJZGVwZW5kcyBvbiAhTElCUlVCWV9NSU5JCiAJZGVmYXVsdCB5CiAKK2NvbmZpZyBMSUJSVUJZ
X1RFU1QKKwlib29sICJFbmFibGUgdW5pdCB0ZXN0aW5nIgorCWRlcGVuZHMgb24gIUxJQlJVQllf
TUlOSQorCWRlcGVuZHMgb24gTElCUlVCWV9FWFQKKwlkZXBlbmRzIG9uIExJQlJVQllfRU5DCisJ
ZGVmYXVsdCB5CisKIGVuZGlmCmRpZmYgLS1naXQgYS9NYWtlZmlsZS51ayBiL01ha2VmaWxlLnVr
CmluZGV4IDg0YzlhYWMuLmVmMjU4YmUgMTAwNjQ0Ci0tLSBhL01ha2VmaWxlLnVrCisrKyBiL01h
a2VmaWxlLnVrCkBAIC00MSw2ICs0MSw3IEBACiAkKGV2YWwgJChjYWxsIGFkZGxpYl9zLGxpYnJ1
YnksJChDT05GSUdfTElCUlVCWSkpKQogJChldmFsICQoY2FsbCBhZGRsaWJfcyxsaWJydWJ5X2V4
dCwkKENPTkZJR19MSUJSVUJZX0VYVCkpKQogJChldmFsICQoY2FsbCBhZGRsaWJfcyxsaWJydWJ5
X2VuYywkKENPTkZJR19MSUJSVUJZX0VOQykpKQorJChldmFsICQoY2FsbCBhZGRsaWJfcyxsaWJy
dWJ5X3Rlc3QsJChDT05GSUdfTElCUlVCWV9URVNUKSkpCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjCiAjIFNvdXJjZXMKQEAgLTU0Miw2ICs1NDMsMzEgQEAgTElCUlVCWV9FTkNfU1JDUy15ICs9
ICQoTElCUlVCWV9TUkMpL2VuYy90cmFucy9zaW5nbGVfYnl0ZS5jCiBMSUJSVUJZX0VOQ19TUkNT
LXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL3RyYW5zL3V0ZjhfbWFjLmMKIExJQlJVQllfRU5DX1NS
Q1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMvdHJhbnMvdXRmXzE2XzMyLmMKIAorIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMKKyMgVW5pdCB0ZXN0aW5nCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwor
TElCUlVCWV9URVNUX0NGTEFHUy15ICs9ICQoTElCUlVCWV9DSU5DTFVERVMteSkKK0xJQlJVQllf
VEVTVF9DRkxBR1MteSArPSAkKExJQlJVQllfU1VQUFJFU1NfRkxBR1MpCitMSUJSVUJZX1RFU1Rf
Q0ZMQUdTLXkgKz0gLURSVUJZX0VYVENPTkZfSD1cImV4dGNvbmYuaFwiCisKKyQoTElCUlVCWV9T
UkMpL2V4dC8tdGVzdC0vZmlsZS9pbml0X2ZpbGUuYzogJChMSUJSVUJZX1NSQykvZXh0Ly10ZXN0
LS9maWxlL2luaXQuYworCWxuIC1zICQ8ICRACitMSUJSVUJZX1RFU1RfU1JDUy15ICs9ICQoTElC
UlVCWV9TUkMpL2V4dC8tdGVzdC0vZmlsZS9pbml0X2ZpbGUuYworTElCUlVCWV9URVNUX0lOSVRf
RklMRV9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0Ly10ZXN0LS9maWxlCitMSUJSVUJZ
X1RFU1RfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC8tdGVzdC0vZmlsZS9mcy5jCitMSUJS
VUJZX1RFU1RfRlNfRkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC8tdGVzdC0vZmlsZQor
TElCUlVCWV9URVNUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvLXRlc3QtL2ZpbGUvc3Rh
dC5jCitMSUJSVUJZX1RFU1RfU1RBVF9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0Ly10
ZXN0LS9maWxlCisKKyQoTElCUlVCWV9TUkMpL2V4dC8tdGVzdC0vdGltZS9pbml0X3RpbWUuYzog
JChMSUJSVUJZX1NSQykvZXh0Ly10ZXN0LS90aW1lL2luaXQuYworCWxuIC1zICQ8ICRACitMSUJS
VUJZX1RFU1RfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC8tdGVzdC0vdGltZS9pbml0X3Rp
bWUuYworTElCUlVCWV9URVNUX0lOSVRfVElNRV9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykv
ZXh0Ly10ZXN0LS90aW1lCitMSUJSVUJZX1RFU1RfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4
dC8tdGVzdC0vdGltZS9sZWFwX3NlY29uZC5jCitMSUJSVUJZX1RFU1RfTEVBUF9TRUNPTkRfRkxB
R1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC8tdGVzdC0vdGltZQorTElCUlVCWV9URVNUX1NS
Q1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvLXRlc3QtL3RpbWUvbmV3LmMKK0xJQlJVQllfVEVT
VF9ORVdfRkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC8tdGVzdC0vdGltZQorCiAjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIwogIyBQcmVwYXJlIHJ1bGVzCiAjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIwpAQCAtNTYyLDMgKzU4OCwxOSBAQCAkKExJQlJVQllfQlVJTEQpLy5idWlsZDogJChMSUJS
VUJZX0JVSUxEKS8uY29uZmlndXJlZAogCiBVS19QUkVQQVJFICs9ICQoTElCUlVCWV9CVUlMRCkv
LmJ1aWxkCiAKK2lmZXEgKCQoQ09ORklHX0xJQlJVQllfVEVTVCkseSkKKyMgQ3VzdG9taXplIGNv
bmZpZzogY29uZmlndXJlIHN0YWNrIHNpemUKKyQoQVBQX0JBU0UpLy5jb25maWcub3JpZzogJChB
UFBfQkFTRSkvLmNvbmZpZworCSQoY2FsbCB2ZXJib3NlX2NtZCxDT05GSUcsbGlicnVieTogJChu
b3RkaXIgJEApLCBcCisJCWNwICQoQVBQX0JBU0UpLy5jb25maWcgJEAgJiYgXAorCQlzZWQgLWkg
J3MvXkNPTkZJR19TVEFDS19TSVpFX1BBR0VfT1JERVI9LiokJC9DT05GSUdfU1RBQ0tfU0laRV9Q
QUdFX09SREVSPTEwL2cnICQoQVBQX0JBU0UpLy5jb25maWcpCisKKyMgV2UgbmVlZCBhIGJpZ2dl
ciBzdGFjayBmb3IgdGVzdHMKK0xJQlJVQllfVEVTVF9QUkVQQVJFRF9ERVBTID0gXAorCSQoQVBQ
X0JBU0UpLy5jb25maWcub3JpZyBcCisKKyQoTElCUlVCWV9URVNUX0JVSUxEKS8ucHJlcGFyZWQ6
ICQoTElCUlVCWV9URVNUX1BSRVBBUkVEX0RFUFMpCisKK1VLX1BSRVBBUkUgKz0gJChMSUJSVUJZ
X1RFU1RfQlVJTEQpLy5wcmVwYXJlZAorZW5kaWYKKwpkaWZmIC0tZ2l0IGEvZ2VuZXJhdGVkL2V4
dC9leHRpbml0LmMgYi9nZW5lcmF0ZWQvZXh0L2V4dGluaXQuYwppbmRleCA3YmM0MTk2Li4xYTVi
YTdlIDEwMDY0NAotLS0gYS9nZW5lcmF0ZWQvZXh0L2V4dGluaXQuYworKysgYi9nZW5lcmF0ZWQv
ZXh0L2V4dGluaXQuYwpAQCAtMTAwLDQgKzEwMCwxMCBAQCB2b2lkIEluaXRfZXh0KHZvaWQpCiAj
aWYgQ09ORklHX0xJQlJVQllfRVhUX1NEQk0KICAgICBpbml0KEluaXRfc2RibSwgInNkYm0iKTsK
ICNlbmRpZgorCisjaWYgQ09ORklHX0xJQlJVQllfVEVTVAorICAgIC8qIFRPRE8gYWRkIG1vcmUg
dGVzdHMgKi8KKyAgICBpbml0KEluaXRfZmlsZSwgIi10ZXN0LS9maWxlIik7CisgICAgaW5pdChJ
bml0X3RpbWUsICItdGVzdC0vdGltZSIpOworI2VuZGlmCiB9Ci0tIAoyLjIwLjEKCgpfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFp
bGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3Rz
LnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Mon Dec 16 13:48:34 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 16 Dec 2019 13:48:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1igqji-0003Qd-8W; Mon, 16 Dec 2019 13:48:34 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=mtPe=2G=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1igqjh-0003QV-PR
 for minios-devel@lists.xen.org; Mon, 16 Dec 2019 13:48:33 +0000
X-Inumbo-ID: b16d090c-200a-11ea-93a9-12813bfff9fa
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id b16d090c-200a-11ea-93a9-12813bfff9fa;
 Mon, 16 Dec 2019 13:48:10 +0000 (UTC)
IronPort-SDR: isUSFJLQypK1CCHsCUQ73tF7U9hL3MiXbyQsZ9Tui4jsxEnKzAQkORYbNxU58AW/X6ITN3kxQq
 77V7rJWX+ARA==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 16 Dec 2019 15:48:03 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 44A0E1A602F8;
 Mon, 16 Dec 2019 15:48:04 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id AlgdKVvdgZRE; Mon, 16 Dec 2019 15:48:04 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 1CEA21A602FF;
 Mon, 16 Dec 2019 15:48:04 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id Y00lICBsLgVr; Mon, 16 Dec 2019 15:48:04 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id EF8811A602FE;
 Mon, 16 Dec 2019 15:48:03 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Mon, 16 Dec 2019 15:47:52 +0200
Message-Id: <20191216134753.7576-6-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191216134753.7576-1-costin.lupu@cs.pub.ro>
References: <20191216134753.7576-1-costin.lupu@cs.pub.ro>
Subject: [Minios-devel] [UNIKRAFT/RUBY PATCH v3 5/6] Provide main() function
 if configured to do so
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

V2UgcHJvdmlkZSBhIGNvbmZpZ3VyYWJsZSBtYWluKCkgZnVuY3Rpb24gZm9yIHJ1bm5pbmcgUnVi
eSBvdXQtb2YtdGhlLWJveCBhbmQKYWxzbyBmb3Igc2hvd2luZyBhbiBleGFtcGxlIG9mIHN1Y2gg
YSBmdW5jdGlvbiB0byBiZSB1c2VkIGJ5IGN1c3RvbQphcHBsaWNhdGlvbnMuIEl0IGFsc28gc2V0
cyB0aGUgbmVjZXNzYXJ5IFJ1YnkgZW52aXJvbm1lbnQgdmFyaWFibGVzLgoKU2lnbmVkLW9mZi1i
eTogQ29zdGluIEx1cHUgPGNvc3Rpbi5sdXB1QGNzLnB1Yi5ybz4KUmV2aWV3ZWQtYnk6IFN0ZWZh
biBUZW9kb3Jlc2N1IDxzdGVmYW5sLnRlb2RvcmVzY3VAZ21haWwuY29tPgotLS0KIENvbmZpZy51
ayAgICAgICAgICAgfCAxMCArKysrKysrKysrCiBNYWtlZmlsZS51ayAgICAgICAgIHwgIDIgKysK
IHJ1YnlfbWFpbl9leGFtcGxlLmMgfCAxNSArKysrKysrKysrKysrKysKIDMgZmlsZXMgY2hhbmdl
ZCwgMjcgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHJ1YnlfbWFpbl9leGFtcGxl
LmMKCmRpZmYgLS1naXQgYS9Db25maWcudWsgYi9Db25maWcudWsKaW5kZXggZTQ3ZWVlMy4uZTE2
MzY4NyAxMDA2NDQKLS0tIGEvQ29uZmlnLnVrCisrKyBiL0NvbmZpZy51awpAQCAtMjIsNiArMjIs
MTYgQEAgY29uZmlnIExJQlJVQllfTUlOSQogCWJvb2wgIk1pbmkgY29uZmlndXJhdGlvbiIKIAlk
ZWZhdWx0IG4KIAorY29uZmlnIExJQlJVQllfTUFJTl9GVU5DVElPTgorCWJvb2wgIlByb3ZpZGUg
bWFpbiBmdW5jdGlvbiIKKwlpbXBseSBMSUJVS0xJQlBBUkFNCisJaW1wbHkgTElCVkZTQ09SRV9B
VVRPTU9VTlRfUk9PVEZTCisJaW1wbHkgTElCVkZTQ09SRV9ST09URlNfOVBGUworCWltcGx5IExJ
QkRFVkZTX0FVVE9NT1VOVAorCWltcGx5IExJQkRFVkZTX0RFVl9OVUxMCisJaW1wbHkgTElCVUs5
UAorCWRlZmF1bHQgbgorCiBjb25maWcgTElCUlVCWV9FWFQKIAlib29sICJFbmFibGUgZXh0ZW5z
aW9ucyIKIAlkZXBlbmRzIG9uICFMSUJSVUJZX01JTkkKZGlmZiAtLWdpdCBhL01ha2VmaWxlLnVr
IGIvTWFrZWZpbGUudWsKaW5kZXggOWFiZWYyMy4uOTQ2YWZlZiAxMDA2NDQKLS0tIGEvTWFrZWZp
bGUudWsKKysrIGIvTWFrZWZpbGUudWsKQEAgLTk2LDYgKzk2LDggQEAgTElCUlVCWV9DRkxBR1Mt
eSArPSAtc3RkPWdudTk5IC1EX0ZPUlRJRllfU09VUkNFPTIgXAogCS1EUlVCWV9FWFBPUlQgLURD
QU5PTklDQUxJWkFUSU9OX0ZPUl9NQVRITgogCiBMSUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllf
QkFTRSkvdGhyZWFkLmN8dW5pa3JhZnQKK0xJQlJVQllfU1JDUy0kKENPTkZJR19MSUJSVUJZX01B
SU5fRlVOQ1RJT04pICs9ICQoTElCUlVCWV9CQVNFKS9ydWJ5X21haW5fZXhhbXBsZS5jfHVuaWty
YWZ0CitMSUJSVUJZX1JVQllfTUFJTl9FWEFNUExFX0ZMQUdTLXkgPSAtRExJQlJVQllfVkVSU0lP
Tl9MT05HPVwiJChMSUJSVUJZX1ZFUlNJT05fTE9ORylcIgogCiBpZmVxICgkKENPTkZJR19MSUJS
VUJZX01JTkkpLHkpCiBMSUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9kbXlkbG4uYwpk
aWZmIC0tZ2l0IGEvcnVieV9tYWluX2V4YW1wbGUuYyBiL3J1YnlfbWFpbl9leGFtcGxlLmMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzNiZjAzMwotLS0gL2Rldi9udWxsCisr
KyBiL3J1YnlfbWFpbl9leGFtcGxlLmMKQEAgLTAsMCArMSwxNSBAQAorI2luY2x1ZGUgPHN0ZGxp
Yi5oPgorCitleHRlcm4gaW50IHJ1YnlfbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKTsKKwor
aW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlzZXRlbnYoIkdFTV9IT01FIiwg
Ii9saWIvcnVieS9nZW1zLyJMSUJSVUJZX1ZFUlNJT05fTE9ORywgMCk7CisJc2V0ZW52KCJHRU1f
UEFUSCIsICIvbGliL3J1YnkvZ2Vtcy8iTElCUlVCWV9WRVJTSU9OX0xPTkcsIDApOworCXNldGVu
digiUlVCWUdFTVNfR0VNREVQUyIsICIvbGliL3J1YnkvIkxJQlJVQllfVkVSU0lPTl9MT05HIi9H
ZW1maWxlIiwgMCk7CisJc2V0ZW52KCJSVUJZTElCIiwgIi9saWIvcnVieS8iTElCUlVCWV9WRVJT
SU9OX0xPTkciOiIKKwkJIi9saWIvcnVieS8iTElCUlVCWV9WRVJTSU9OX0xPTkciL3g4Nl82NC1s
aW51eDoiCisJCSIvbGliL3J1YnkvIkxJQlJVQllfVkVSU0lPTl9MT05HIi8uZXh0IiwgMCk7CisK
KwlyZXR1cm4gcnVieV9tYWluKGFyZ2MsIGFyZ3YpOworfQotLSAKMi4yMC4xCgoKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxp
bmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54
ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Mon Dec 16 13:48:39 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 16 Dec 2019 13:48:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1igqjn-0003Rj-A6; Mon, 16 Dec 2019 13:48:39 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=mtPe=2G=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1igqjm-0003RY-PP
 for minios-devel@lists.xen.org; Mon, 16 Dec 2019 13:48:38 +0000
X-Inumbo-ID: b23f7b7c-200a-11ea-93a9-12813bfff9fa
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id b23f7b7c-200a-11ea-93a9-12813bfff9fa;
 Mon, 16 Dec 2019 13:48:10 +0000 (UTC)
IronPort-SDR: WWKmTrHFQulu7ohBT6pzFrm/jagJpDTc0ui8JZAk3ZhQ2JveZ7+72WgNPqrbfXWBw/JCzTP7Og
 CUX3EEgfhSgQ==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 16 Dec 2019 15:48:03 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 5EEEB1A602EE;
 Mon, 16 Dec 2019 15:48:04 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id 37bch5v-jc_S; Mon, 16 Dec 2019 15:48:04 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 43EEC1A602F2;
 Mon, 16 Dec 2019 15:48:04 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id 8-0H-LwUDWEo; Mon, 16 Dec 2019 15:48:04 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 099C01A602EE;
 Mon, 16 Dec 2019 15:48:04 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Mon, 16 Dec 2019 15:47:53 +0200
Message-Id: <20191216134753.7576-7-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191216134753.7576-1-costin.lupu@cs.pub.ro>
References: <20191216134753.7576-1-costin.lupu@cs.pub.ro>
Subject: [Minios-devel] [UNIKRAFT/RUBY PATCH v3 6/6] README.md: Update with
 info about building and running
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

U2lnbmVkLW9mZi1ieTogQ29zdGluIEx1cHUgPGNvc3Rpbi5sdXB1QGNzLnB1Yi5ybz4KLS0tCiBS
RUFETUUubWQgfCA3MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKystLS0tCiAxIGZpbGUgY2hhbmdlZCwgNjcgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlv
bnMoLSkKCmRpZmYgLS1naXQgYS9SRUFETUUubWQgYi9SRUFETUUubWQKaW5kZXggN2E4ZDM4MC4u
ZDBjY2ZlZCAxMDA2NDQKLS0tIGEvUkVBRE1FLm1kCisrKyBiL1JFQURNRS5tZApAQCAtMSw5ICsx
LDcyIEBACi1SdWJ5IGZvciBVbmlrcmFmdAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LQorIyBSdWJ5IGZvciBVbmlrcmFmdAogVGhpcyBpcyB0aGUgcG9ydCBvZiBSdWJ5IGZvciBVbmlr
cmFmdCBhcyBleHRlcm5hbCBsaWJyYXJ5LgogCi1UT0RPCisjIyBCdWlsZAorUnVieSBkZXBlbmRz
IG9uIHRoZSBmb2xsb3dpbmcgbGlicmFyaWVzLCB0aGF0IG5lZWQgdG8gYmUgYWRkZWQgdG8gYE1h
a2VmaWxlYCBpbgordGhpcyBvcmRlcjoKKworKiBgcHRocmVhZHNgLCBlLmcuIGBwdGhyZWFkLWVt
YmVkZGVkYAorKiBDKysgbGlicmFyaWVzOiBgY29tcGlsZXItcnRgLCBgbGliY3h4YCwgYGxpYmN4
eGFiaWAsIGBsaWJ1bndpbmRgCisqIGBsaWJjYCwgZS5nLiBgbmV3bGliYAorKiBuZXR3b3JrIHN0
YWNrLCBlLmcuIGBsd2lwYAorKiBvcHRpb25hbCBleHRlbnNpb25zOiBgb3BlbnNzbGAsIGB6bGli
YC4KKworQSBtYW5kYXRvcnkgYnVpbGQgZGVwZW5kZW5jeSBpcyB0aGUgUnVieSBpbnRlcnByZXRl
ciBpdHNlbGYsIGJlY2F1c2UgaXQgaXMKK25lZWRlZCB0byBwcm9wZXJseSBjb25maWd1cmUgdGhl
IG9yaWdpbmFsIHNvdXJjZXMuICBJZiB5b3Ugd2FudCB0byBidWlsZCB0aGUKK2V4dGVuc2lvbnMg
YXMgd2VsbCwgdGhlbiB5b3Ugd2lsbCBhbHNvIG5lZWQgdG8gaGF2ZSB0aGVtIGluc3RhbGxlZCBv
biB5b3VyCitidWlsZCBzeXN0ZW0gKGUuZy4gYG9wZW5zc2xgLCBgemxpYmApLgorCisjIyBSb290
IGZpbGVzeXN0ZW0KKyMjIyBDcmVhdGluZyB0aGUgZmlsZXN5c3RlbQorUnVieSBpbnRlcnByZXRl
ciBuZWVkcyBhIGZpbGVzeXN0ZW0gd2hpY2ggc2hvdWxkIGNvbnRhaW4gaXRzIGxpYnJhcmllcy4K
K1RoZXJlZm9yZSwgdGhlIGZpbGVzeXN0ZW0gbmVlZHMgdG8gYmUgY3JlYXRlZCBiZWZvcmUgcnVu
bmluZyB0aGUgVk0uICBZb3UgY2FuCitkbyB0aGlzIGJ5IHJ1bm5pbmcgdGhlIGZvbGxvd2luZyBj
b21tYW5kOgorCitgYGBiYXNoCittYWtlIHJ1Ynktcm9vdGZzIHBhdGg9PHNvbWUgZGlyZWN0b3J5
PgorYGBgCisKK0l0IHdpbGwgY3JlYXRlIHRoZSBmaWxlc3lzdGVtIGluIHRoZSBkaXJlY3Rvcnkg
eW91IGNob29zZSB3aGVyZSBpdCB3aWxsIGluc3RhbGwKK3RoZSBSdWJ5IGxpYnJhcmllcy4gSW4g
b3JkZXIgdG8gYWNoaWV2ZSB0aGlzLCB0aGUgb3JpZ2luYWwgY29kZSBuZWVkcyB0byBiZQorY29u
ZmlndXJlZCBhbmQgYnVpbGQgd2l0aCBwYXRocyByZWxhdGl2ZSB0byB0aGUgcHJvdmlkZWQgcm9v
dCBkaXJlY3RvcnkuIFRoZXNlCit0d28gc3RlcHMgYXJlIGV4ZWN1dGVkIHRyYW5zcGFyZW50bHks
IGFsbCB5b3UgaGF2ZSB0byBkbyBpcyBqdXN0IHJ1bm5pbmcgdGhlCithYm92ZSBgbWFrZWAgY29t
bWFuZC4KKworIyMjIFVzaW5nIHRoZSBmaWxlc3lzdGVtCitUaGUgc2FtZSBzdGVwcyBwcmVzZW50
ZWQgaW4gdGhlIHNhbWUgc3Vic2VjdGlvbiBvZiB0aGUgUHl0aG9uIDMgcG9ydCBSRUFETUUKK3No
b3VsZCBiZSBmb2xsb3dlZC4KKworIyMgUnVubmluZyBtb2RlcworVGhlIG5leHQgc3RlcCBpcyB0
byBwaWNrIGEgcnVubmluZyBtb2RlLiBXZSBjdXJyZW50bHkgc3VwcG9ydCB0aGUgZm9sbG93aW5n
CitydW5uaW5nIG1vZGVzOgorCisxLiAqKlJ1Ynkgc2NyaXB0KiouIFlvdSBjYW4gdXNlIGFueSBm
aWxlIGF2YWlsYWJsZSBpbiB0aGUgcm9vdCBmaWxlc3lzdGVtLiAgWW91CitzaG91bGQgdXNlIFFl
bXUncyBgLWFwcGVuZGAgb3B0aW9uIHRvIHBhc3MgcGFyYW1ldGVyIHRvIFB5dGhvbiBpbnRlcnBy
ZXRlciwKK2UuZy4gYC1hcHBlbmQgInZmcy5yb290ZGV2PXRlc3QgLS0gPHNvbWUgZmlsZSBpbiBy
b290ZnM+ImAuICBQbGVhc2Ugbm90aWNlIHRoYXQKK3dlIGFyZSB1c2luZyBgdGVzdGAgZm9yIHRo
ZSA5cGZzIG1vdW50aW5nIHRhZy4gRm9yIGJyZXZpdHkgd2Ugd2lsbCBza2lwIHNldHRpbmcKK3Ro
ZSBtb3VudGluZyB0YWcgaW4gdGhlIG5leHQgZXhhbXBsZXMuCisKKzIuICoqUnVieSBzaGVsbCoq
LiBZb3UgY2FuIHJ1biB0aGUgaW50ZXJhY3RpdmUgUnVieSBzaGVsbCwgd2hpY2ggaXMganVzdCBh
IFJ1YnkKK3NjcmlwdCwgd2l0aCB0aGUgcGFyYW1ldGVyczogYC1hcHBlbmQgIi0tIC9iaW4vaXJi
ImAuCisKKzMuICoqQ29tbWFuZCBsaW5lKiouIFlvdSBjYW4gcHJvdmlkZSBhIG9uZSBsaW5lIHNj
cmlwdCB1c2luZyB0aGUgYC1lYCBvcHRpb24sCitlLGcuIGAtYXBwZW5kICItLSAtZSAncHV0cyBc
IkhlbGxvIFdvcmxkXCInImAuCisKKzQuICoqUnVieSB1bml0IHRlc3RpbmcgKGRldmVsb3BlcnMg
b25seSkqKi4gV2l0aCB0aGlzIG1vZGUgeW91IGNhbiBjaGVjayB3aGF0CitmdW5jdGlvbmFsaXR5
IGlzIGNvbXBsZXRlbHkgc3VwcG9ydGVkIGJ5IHRoZSBSdWJ5IHBvcnQuIFBsZWFzZSBiZSBhd2Fy
ZSB0aGF0Cit0aGlzIG1vZGUgaXMgdW5zdGFibGUgYW5kIHNvbWUgb2YgdGhlIHRlc3RzIG1heSBi
bG9jay4gSW4gb3JkZXIgdG8gcnVuIGFsbCB0aGUKK3VuaXQgdGVzdHMgeW91IHNob3VsZCB1c2Ug
dGhlIGZvbGxvd2luZyBwYXJhbWV0ZXJzOiBgLWFwcGVuZCAiLS0gL2xpYi9ydWJ5LzIuNi4wL3Rl
c3QvcnVubmVyLnJiIC0tZXhjbHVkZT1kdHJhY2UgLS1leGNsdWRlPW1rbWYgLS1leGNsdWRlPXdp
bjMyb2xlIC0tZXhjbHVkZT1yZG9jImAuCisKK1dlIGFsc28gcHJvdmlkZSBhIGNvbmZpZ3VyYXRp
b24gb3B0aW9uIGZvciBidWlsZGluZyBgbWluaXJ1YnlgLCBhIG1pbmltYWxpc3RpYwordmVyc2lv
biBvZiB0aGUgUnVieSBpbnRlcnByZXRlciBidWlsZCBpbiB0aGUgc2FtZSB3YXkgYXMgZm9yIExp
bnV4LiBgbWluaXJ1YnlgCitkb2VzIG5vdCBoYXZlIGFueSBleHRlbnNpb24gb3IgZW5jb2Rpbmcs
IHRoZXJlZm9yZSBpdHMgdXNhZ2UgaXMgbGltaXRlZC4gWW91CitjYW4gZWl0aGVyIHVzZSBpdCBm
b3IgcnVubmluZyBzaW1wbGUgc2NyaXB0cyBvciBzaW1wbGUgb25lIGxpbmVycy4KKworIyMjIE1l
bW9yeSB1c2FnZQorU29tZSBvZiB0aGUgdW5pdCB0ZXN0cyBtYXkgcmVxdWlyZSBhIGxvdCBvZiBt
ZW1vcnkgdG8gcnVuOyBmb3IgdGhpcworcmVhc29uIHBsZWFzZSBhbGxvdyBmb3IgYXQgbGVhc3Qg
MUcgb2YgbWVtb3J5IGZvciB1bml0IHRlc3RpbmcgKGUuZy4sCitgLW0gMUdgIGluIFFlbXUpLgog
CisjIyBGdXJ0aGVyIGluZm9ybWF0aW9uCiBQbGVhc2UgcmVmZXIgdG8gdGhlIGBSRUFETUUubWRg
IGFzIHdlbGwgYXMgdGhlIGRvY3VtZW50YXRpb24gaW4gdGhlIGBkb2MvYAogc3ViZGlyZWN0b3J5
IG9mIHRoZSBtYWluIHVuaWtyYWZ0IHJlcG9zaXRvcnkuCi0tIAoyLjIwLjEKCgpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGlu
ZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhl
bnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Mon Dec 16 13:52:54 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 16 Dec 2019 13:52:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1igqnt-00049F-Q7; Mon, 16 Dec 2019 13:52:53 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=qGHl=2G=gmail.com=stefanl.teodorescu@srs-us1.protection.inumbo.net>)
 id 1igqns-00049A-FP
 for minios-devel@lists.xen.org; Mon, 16 Dec 2019 13:52:52 +0000
X-Inumbo-ID: 590b5994-200b-11ea-b6f1-bc764e2007e4
Received: from mail-lf1-x144.google.com (unknown [2a00:1450:4864:20::144])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 590b5994-200b-11ea-b6f1-bc764e2007e4;
 Mon, 16 Dec 2019 13:52:50 +0000 (UTC)
Received: by mail-lf1-x144.google.com with SMTP id y1so4290222lfb.6
 for <minios-devel@lists.xen.org>; Mon, 16 Dec 2019 05:52:50 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to
 :cc; bh=PgbPNPMXdbM8/PYIZWnFjbYgL8pp8KdXi4Y8dwFgQ5U=;
 b=LHZC9Rz4Uxg+LWtbGgRqQoCaqhYEq9emgZNik3u5OIexoH/hyO+6mZcpHvLIyyZwoI
 L4Nlk25rjs6N8OEvhKG6zNz8pEos4SVKkVh4+qTHAnyMj3s1titgvukOHUikXK92/LPf
 jgWUSa3r9WBby29axykTC3qqYKQzDPjbqGqTITnl2JINDiaQNtJmP2CYIWBds1ZsYZhX
 Eearuk9e5T7cbepDsVDQEhGropkS6lbi7b2zKhU7cOb+dHES+0vDmtLUOy0/TXeypsxh
 xjkIyaEevWv+aI+sxQav3sv4ry8u6o1L+7VPGYurJL42LOSpLCTU61tjzTJyZpF7na6I
 RrvQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
 :message-id:subject:to:cc;
 bh=PgbPNPMXdbM8/PYIZWnFjbYgL8pp8KdXi4Y8dwFgQ5U=;
 b=kmF64FoBX8BdTOGAWIBtLP2hxHjhqtO8SWKvS75KzW0TcwdtXWW1rU6viu1ILOy2vv
 hGQxkgo5/tH7n5PWWQjJSE3691ViD5Asr8vKDDLWH0qDg6ckzhBd2q4qK4k695oBzmxm
 Iy6mLQyyfBbmDdgxGNeDHCMRQ5b9BlxqxlxGaR7ev8KaqOcmiagb1T2AseyG88qVavzG
 K1PMUPPhrWwIGH4F/3oEKqHGw/yXwOlFcEmaCoUsTKitt//C55xaXwjk+ObATm4nI+2a
 ZbSisiBUf2Ga4UCoawn/WZ1U7/AQh7jjHLAEu4lIhsNfZu/ke3HFwZ9CplcmPyWKhGt0
 6A/w==
X-Gm-Message-State: APjAAAWORKs6IYBSoTEfCliPVHivhHs0E4vf3QQS75YoxYr2akpVKuIA
 1ML6raeeNtqb+t1UTK05dF4aKZ5EoRl/YQwmESyQzPPJrNU=
X-Google-Smtp-Source: APXvYqxBrvU0etF+j9q8o+a4Z6qpraQnPtoKfaUV0PnVnGKXcTYqaqI+JKl0XwrGtIOdEp+SbtdP7txulTz8CT5C4b8=
X-Received: by 2002:a19:8456:: with SMTP id g83mr16935526lfd.0.1576504369074; 
 Mon, 16 Dec 2019 05:52:49 -0800 (PST)
MIME-Version: 1.0
References: <20191216134753.7576-1-costin.lupu@cs.pub.ro>
 <20191216134753.7576-2-costin.lupu@cs.pub.ro>
In-Reply-To: <20191216134753.7576-2-costin.lupu@cs.pub.ro>
From: Stefan Teodorescu <stefanl.teodorescu@gmail.com>
Date: Mon, 16 Dec 2019 15:51:06 +0200
Message-ID: <CAEiTdV4nZ-5eZntan+MzKK9cuJg8gmHUoef4t84QWPWDA0o_yg@mail.gmail.com>
To: Costin Lupu <costin.lupu@cs.pub.ro>
Subject: Re: [Minios-devel] [UNIKRAFT/RUBY PATCH v3 1/6] extensions: Build
 extensions
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: minios-devel@lists.xen.org
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

UmV2aWV3ZWQtYnk6IFN0ZWZhbiBUZW9kb3Jlc2N1IDxzdGVmYW5sLnRlb2RvcmVzY3VAZ21haWwu
Y29tPgoKT24gTW9uLCBEZWMgMTYsIDIwMTkgYXQgMzo0OCBQTSBDb3N0aW4gTHVwdSA8Y29zdGlu
Lmx1cHVAY3MucHViLnJvPiB3cm90ZToKPgo+IEFsbCBleHRlbnNpb25zIGFyZSBpbmNsdWRlZCBp
biBhIG5ldyBsaWJyYXJ5LCBsaWJydWJ5X2V4dC4gRWFjaCBleHRlbnNpb24gaGFzCj4gaXRzIG93
biBjb25maWd1cmF0aW9uIG9wdGlvbiBhbmQgYSA8ZXh0Y29uZi5oPiBoZWFkZXIuIEdpdmVuIHRo
YXQgdGhlCj4gZXh0ZW5zaW9ucyBmaWxlcyBhcmUgZ2VuZXJhdGVkIGF0IGJ1aWxkIHRpbWUgYnkg
dGhlIG9yaWdpbiBidWlsZCBzeXN0ZW0sIHdlCj4gYWxzbyBoYXZlIHRvIHJ1biBgLi9jb25maWd1
cmVgIGFuZCBgbWFrZWAgZm9yIHRoZSBvcmlnaW5hbCBidWlsZCBiZWZvcmUKPiBidWlsZGluZyB0
aGVtIGZvciBVbmlrcmFmdC4KPgo+IFNpZ25lZC1vZmYtYnk6IENvc3RpbiBMdXB1IDxjb3N0aW4u
bHVwdUBjcy5wdWIucm8+Cj4gLS0tCj4gIENvbmZpZy51ayAgICAgICAgICAgICAgIHwgMTAxICsr
KysrKysrKysrKysrKwo+ICBNYWtlZmlsZS51ayAgICAgICAgICAgICB8IDI3NyArKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gIGdlbmVyYXRlZC9leHQvZXh0aW5pdC5j
IHwgIDU1ICsrKysrKysrCj4gIGluY2x1ZGUvcnVieS9jb25maWcuaCAgIHwgICAxICsKPiAgNCBm
aWxlcyBjaGFuZ2VkLCA0MzQgaW5zZXJ0aW9ucygrKQo+Cj4gZGlmZiAtLWdpdCBhL0NvbmZpZy51
ayBiL0NvbmZpZy51awo+IGluZGV4IGRkODMyNjcuLjgwODhhNTQgMTAwNjQ0Cj4gLS0tIGEvQ29u
ZmlnLnVrCj4gKysrIGIvQ29uZmlnLnVrCj4gQEAgLTIxLDQgKzIxLDEwNSBAQCBpZiBMSUJSVUJZ
Cj4gIGNvbmZpZyBMSUJSVUJZX01JTkkKPiAgICAgICAgIGJvb2wgIk1pbmkgY29uZmlndXJhdGlv
biIKPiAgICAgICAgIGRlZmF1bHQgbgo+ICsKPiArY29uZmlnIExJQlJVQllfRVhUCj4gKyAgICAg
ICBib29sICJFbmFibGUgZXh0ZW5zaW9ucyIKPiArICAgICAgIGRlcGVuZHMgb24gIUxJQlJVQllf
TUlOSQo+ICsgICAgICAgZGVmYXVsdCB5Cj4gKwo+ICsgICAgICAgaWYgTElCUlVCWV9FWFQKPiAr
ICAgICAgIGNvbmZpZyBMSUJSVUJZX0VYVF9TVFJTQ0FOCj4gKyAgICAgICAgICAgICAgIGJvb2wg
InN0cnNjYW4iCj4gKyAgICAgICAgICAgICAgIGRlZmF1bHQgeQo+ICsgICAgICAgY29uZmlnIExJ
QlJVQllfRVhUX1NZU0xPRwo+ICsgICAgICAgICAgICAgICBib29sICJzeXNsb2ciCj4gKyAgICAg
ICAgICAgICAgIGRlZmF1bHQgeQo+ICsgICAgICAgY29uZmlnIExJQlJVQllfRVhUX0pTT04KPiAr
ICAgICAgICAgICAgICAgYm9vbCAianNvbiIKPiArICAgICAgICAgICAgICAgZGVmYXVsdCB5Cj4g
KyAgICAgICBjb25maWcgTElCUlVCWV9FWFRfUkJDT05GSUdfU0laRU9GCj4gKyAgICAgICAgICAg
ICAgIGJvb2wgInJiY29uZmlnL3NpemVvZiIKPiArICAgICAgICAgICAgICAgZGVmYXVsdCB5Cj4g
KyAgICAgICBjb25maWcgTElCUlVCWV9FWFRfQklHREVDSU1BTAo+ICsgICAgICAgICAgICAgICBi
b29sICJiaWdkZWNpbWFsIgo+ICsgICAgICAgICAgICAgICBkZWZhdWx0IHkKPiArICAgICAgIGNv
bmZpZyBMSUJSVUJZX0VYVF9SQUNDX0NQQVJTRQo+ICsgICAgICAgICAgICAgICBib29sICJyYWNj
L2NwYXJzZSIKPiArICAgICAgICAgICAgICAgZGVmYXVsdCB5Cj4gKyAgICAgICBjb25maWcgTElC
UlVCWV9FWFRfUFNZQ0gKPiArICAgICAgICAgICAgICAgYm9vbCAicHN5Y2giCj4gKyAgICAgICAg
ICAgICAgIGRlZmF1bHQgeQo+ICsgICAgICAgaWYgTElCU1NMCj4gKyAgICAgICBjb25maWcgTElC
UlVCWV9FWFRfRElHRVNUCj4gKyAgICAgICAgICAgICAgIGJvb2wgImRpZ2VzdCIKPiArICAgICAg
ICAgICAgICAgZGVmYXVsdCB5Cj4gKyAgICAgICBlbmRpZgo+ICsgICAgICAgY29uZmlnIExJQlJV
QllfRVhUX0NHSV9FU0NBUEUKPiArICAgICAgICAgICAgICAgYm9vbCAiY2dpL2VzY2FwZSIKPiAr
ICAgICAgICAgICAgICAgZGVmYXVsdCB5Cj4gKyAgICAgICBjb25maWcgTElCUlVCWV9FWFRfRkNO
VEwKPiArICAgICAgICAgICAgICAgYm9vbCAiZmNudGwiCj4gKyAgICAgICAgICAgICAgIGRlZmF1
bHQgeQo+ICsgICAgICAgY29uZmlnIExJQlJVQllfRVhUX1NPQ0tFVAo+ICsgICAgICAgICAgICAg
ICBib29sICJzb2NrZXQiCj4gKyAgICAgICAgICAgICAgIHNlbGVjdCBMV0lQX0lQVjYKPiArICAg
ICAgICAgICAgICAgc2VsZWN0IExXSVBfSUdNUAo+ICsgICAgICAgICAgICAgICBkZWZhdWx0IHkK
PiArICAgICAgIGNvbmZpZyBMSUJSVUJZX0VYVF9EQVRFX0NPUkUKPiArICAgICAgICAgICAgICAg
Ym9vbCAiZGF0ZV9jb3JlIgo+ICsgICAgICAgICAgICAgICBkZWZhdWx0IHkKPiArICAgICAgIGNv
bmZpZyBMSUJSVUJZX0VYVF9QVFkKPiArICAgICAgICAgICAgICAgYm9vbCAicHR5Igo+ICsgICAg
ICAgICAgICAgICBkZWZhdWx0IG4KPiArICAgICAgIGlmIExJQlNTTAo+ICsgICAgICAgY29uZmln
IExJQlJVQllfRVhUX09QRU5TU0wKPiArICAgICAgICAgICAgICAgYm9vbCAib3BlbnNzbCIKPiAr
ICAgICAgICAgICAgICAgZGVmYXVsdCB5Cj4gKyAgICAgICBlbmRpZgo+ICsgICAgICAgY29uZmln
IExJQlJVQllfRVhUX0ZJQkVSCj4gKyAgICAgICAgICAgICAgIGJvb2wgImZpYmVyIgo+ICsgICAg
ICAgICAgICAgICBkZWZhdWx0IHkKPiArICAgICAgIGlmIExJQkZGSQo+ICsgICAgICAgY29uZmln
IExJQlJVQllfRVhUX0ZJRERMRQo+ICsgICAgICAgICAgICAgICBib29sICJmaWRkbGUiCj4gKyAg
ICAgICAgICAgICAgIGRlZmF1bHQgeQo+ICsgICAgICAgZW5kaWYKPiArICAgICAgIGNvbmZpZyBM
SUJSVUJZX0VYVF9FVEMKPiArICAgICAgICAgICAgICAgYm9vbCAiZXRjIgo+ICsgICAgICAgICAg
ICAgICBkZWZhdWx0IHkKPiArICAgICAgIGNvbmZpZyBMSUJSVUJZX0VYVF9DT05USU5VQVRJT04K
PiArICAgICAgICAgICAgICAgYm9vbCAiY29udGludWF0aW9uIgo+ICsgICAgICAgICAgICAgICBk
ZWZhdWx0IHkKPiArICAgICAgIGNvbmZpZyBMSUJSVUJZX0VYVF9PQkpTUEFDRQo+ICsgICAgICAg
ICAgICAgICBib29sICJvYmpzcGFjZSIKPiArICAgICAgICAgICAgICAgZGVmYXVsdCB5Cj4gKyAg
ICAgICBjb25maWcgTElCUlVCWV9FWFRfQ09WRVJBR0UKPiArICAgICAgICAgICAgICAgYm9vbCAi
Y292ZXJhZ2UiCj4gKyAgICAgICAgICAgICAgIGRlZmF1bHQgeQo+ICsgICAgICAgY29uZmlnIExJ
QlJVQllfRVhUX0lPX0NPTlNPTEUKPiArICAgICAgICAgICAgICAgYm9vbCAiaW8vY29uc29sZSIK
PiArICAgICAgICAgICAgICAgZGVmYXVsdCBuCj4gKyAgICAgICBjb25maWcgTElCUlVCWV9FWFRf
SU9fTk9OQkxPQ0sKPiArICAgICAgICAgICAgICAgYm9vbCAiaW8vbm9uYmxvY2siCj4gKyAgICAg
ICAgICAgICAgIGRlZmF1bHQgeQo+ICsgICAgICAgY29uZmlnIExJQlJVQllfRVhUX0lPX1dBSVQK
PiArICAgICAgICAgICAgICAgYm9vbCAiaW8vd2FpdCIKPiArICAgICAgICAgICAgICAgZGVmYXVs
dCB5Cj4gKyAgICAgICBpZiBMSUJSVUJZX1RFU1QKPiArICAgICAgIGNvbmZpZyBMSUJSVUJZX0VY
VF9SSVBQRVIKPiArICAgICAgICAgICAgICAgYm9vbCAicmlwcGVyIgo+ICsgICAgICAgICAgICAg
ICBkZWZhdWx0IHkKPiArICAgICAgIGVuZGlmCj4gKyAgICAgICBjb25maWcgTElCUlVCWV9FWFRf
TktGCj4gKyAgICAgICAgICAgICAgIGJvb2wgIm5rZiIKPiArICAgICAgICAgICAgICAgZGVmYXVs
dCB5Cj4gKyAgICAgICBpZiBMSUJaTElCCj4gKyAgICAgICBjb25maWcgTElCUlVCWV9FWFRfWkxJ
Qgo+ICsgICAgICAgICAgICAgICBib29sICJ6bGliIgo+ICsgICAgICAgICAgICAgICBkZWZhdWx0
IHkKPiArICAgICAgIGVuZGlmCj4gKyAgICAgICBjb25maWcgTElCUlVCWV9FWFRfU0RCTQo+ICsg
ICAgICAgICAgICAgICBib29sICJzZGJtIgo+ICsgICAgICAgICAgICAgICBkZWZhdWx0IHkKPiAr
ICAgICAgIGVuZGlmCj4gIGVuZGlmCj4gZGlmZiAtLWdpdCBhL01ha2VmaWxlLnVrIGIvTWFrZWZp
bGUudWsKPiBpbmRleCAxZmQ0Yjg0Li5kMjRmNjg3IDEwMDY0NAo+IC0tLSBhL01ha2VmaWxlLnVr
Cj4gKysrIGIvTWFrZWZpbGUudWsKPiBAQCAtMzksNiArMzksNyBAQAo+ICAjIExpYnJhcnkgcmVn
aXN0cmF0aW9uCj4gICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCj4gICQoZXZhbCAkKGNhbGwgYWRk
bGliX3MsbGlicnVieSwkKENPTkZJR19MSUJSVUJZKSkpCj4gKyQoZXZhbCAkKGNhbGwgYWRkbGli
X3MsbGlicnVieV9leHQsJChDT05GSUdfTElCUlVCWV9FWFQpKSkKPgo+ICAjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIwo+ICAjIFNvdXJjZXMKPiBAQCAtMTgzLDcgKzE4NCwyODMgQEAgTElCUlVCWV9T
UkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZW5jL3RyYW5zL25ld2xpbmUuYwo+ICBMSUJSVUJZX1NS
Q1MteSArPSAkKExJQlJVQllfU1JDKS8uL21pc3Npbmcvc2V0cHJvY3RpdGxlLmMKPiAgTElCUlVC
WV9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvYWRkcjJsaW5lLmMKPgo+ICsjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIwo+ICsjIEV4dGVuc2lvbnMKPiArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKPiAr
TElCUlVCWV9FWFRfQ0ZMQUdTLXkgKz0gJChMSUJSVUJZX0NJTkNMVURFUy15KQo+ICtMSUJSVUJZ
X0VYVF9DRkxBR1MteSArPSAkKExJQlJVQllfU1VQUFJFU1NfRkxBR1MpCj4gK0xJQlJVQllfRVhU
X0NGTEFHUy15ICs9IC1EUlVCWV9FWFRDT05GX0g9XCJleHRjb25mLmhcIgo+ICsKPiAraWZlcSAo
JChDT05GSUdfTElCUlVCWV9NSU5JKSx5KQo+ICBMSUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllf
U1JDKS9kbXlleHQuYwo+ICtlbHNlCj4gK0xJQlJVQllfU1JDUy15ICs9ICQoTElCUlVCWV9CQVNF
KS9nZW5lcmF0ZWQvZXh0L2V4dGluaXQuYwo+ICtlbmRpZgo+ICsKPiAraWZlcSAoJChDT05GSUdf
TElCUlVCWV9FWFRfU1RSU0NBTikseSkKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVC
WV9TUkMpL2V4dC9zdHJzY2FuL3N0cnNjYW4uYwo+ICtMSUJSVUJZX0VYVF9TVFJTQ0FOX0ZMQUdT
LXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvc3Ryc2Nhbgo+ICtlbmRpZgo+ICtpZmVxICgkKENP
TkZJR19MSUJSVUJZX0VYVF9TWVNMT0cpLHkpCj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJ
QlJVQllfU1JDKS9leHQvc3lzbG9nL3N5c2xvZy5jCj4gK0xJQlJVQllfRVhUX1NZU0xPR19GTEFH
Uy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L3N5c2xvZwo+ICtlbmRpZgo+ICtpZmVxICgkKENP
TkZJR19MSUJSVUJZX0VYVF9KU09OKSx5KQo+ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJS
VUJZX1NSQykvZXh0L2pzb24vZ2VuZXJhdG9yL2dlbmVyYXRvci5jCj4gK0xJQlJVQllfRVhUX0dF
TkVSQVRPUl9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L2pzb24vZ2VuZXJhdG9yCj4g
K0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvanNvbi9wYXJzZXIvcGFy
c2VyLmN8anNvbgo+ICtMSUJSVUJZX0VYVF9QQVJTRVJfRkxBR1MteSArPSAtSSQoTElCUlVCWV9T
UkMpL2V4dC9qc29uL3BhcnNlcgo+ICtlbmRpZgo+ICtpZmVxICgkKENPTkZJR19MSUJSVUJZX0VY
VF9SQkNPTkZJR19TSVpFT0YpLHkpCj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllf
U1JDKS9leHQvcmJjb25maWcvc2l6ZW9mL3NpemVzLmMKPiArTElCUlVCWV9FWFRfU0laRVNfRkxB
R1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC9yYmNvbmZpZy9zaXplb2YKPiArTElCUlVCWV9F
WFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9yYmNvbmZpZy9zaXplb2YvbGltaXRzLmMK
PiArTElCUlVCWV9FWFRfTElNSVRTX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvcmJj
b25maWcvc2l6ZW9mCj4gK2VuZGlmCj4gK2lmZXEgKCQoQ09ORklHX0xJQlJVQllfRVhUX0JJR0RF
Q0lNQUwpLHkpCj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvYmln
ZGVjaW1hbC9iaWdkZWNpbWFsLmMKPiArTElCUlVCWV9FWFRfQklHREVDSU1BTF9GTEFHUy15ICs9
IC1JJChMSUJSVUJZX1NSQykvZXh0L2JpZ2RlY2ltYWwKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9
ICQoTElCUlVCWV9TUkMpL2V4dC9iaWdkZWNpbWFsL3V0aWwvdXRpbC5jCj4gK0xJQlJVQllfRVhU
X1VUSUxfRkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC9iaWdkZWNpbWFsL3V0aWwKPiAr
ZW5kaWYKPiAraWZlcSAoJChDT05GSUdfTElCUlVCWV9FWFRfUkFDQ19DUEFSU0UpLHkpCj4gK0xJ
QlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvcmFjYy9jcGFyc2UvY3BhcnNl
LmMKPiArTElCUlVCWV9FWFRfQ1BBUlNFX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQv
cmFjYy9jcGFyc2UKPiArZW5kaWYKPiAraWZlcSAoJChDT05GSUdfTElCUlVCWV9FWFRfRElHRVNU
KSx5KQo+ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L2RpZ2VzdC9k
aWdlc3QuYwo+ICtMSUJSVUJZX0VYVF9ESUdFU1RfRkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMp
L2V4dC9kaWdlc3QKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9k
aWdlc3QvYnViYmxlYmFiYmxlL2J1YmJsZWJhYmJsZS5jCj4gK0xJQlJVQllfRVhUX0JVQkJMRUJB
QkJMRV9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L2RpZ2VzdC9idWJibGViYWJibGUK
PiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9kaWdlc3QvbWQ1L21k
NWluaXQuYwo+ICtMSUJSVUJZX0VYVF9NRDVJTklUX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JD
KS9leHQvZGlnZXN0L21kNQo+ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykv
ZXh0L2RpZ2VzdC9ybWQxNjAvcm1kMTYwaW5pdC5jCj4gK0xJQlJVQllfRVhUX1JNRDE2MElOSVRf
RkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC9kaWdlc3Qvcm1kMTYwCj4gK0xJQlJVQllf
RVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvZGlnZXN0L3NoYTEvc2hhMWluaXQuYwo+
ICtMSUJSVUJZX0VYVF9TSEExSU5JVF9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L2Rp
Z2VzdC9zaGExCj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvZGln
ZXN0L3NoYTIvc2hhMmluaXQuYwo+ICtMSUJSVUJZX0VYVF9TSEEySU5JVF9GTEFHUy15ICs9IC1J
JChMSUJSVUJZX1NSQykvZXh0L2RpZ2VzdC9zaGEyCj4gK2VuZGlmCj4gK2lmZXEgKCQoQ09ORklH
X0xJQlJVQllfRVhUX1BTWUNIKSx5KQo+ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZ
X1NSQykvZXh0L3BzeWNoL3BzeWNoX3RvX3J1YnkuYwo+ICtMSUJSVUJZX0VYVF9QU1lDSF9UT19S
VUJZX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvcHN5Y2ggLUkkKExJQlJVQllfU1JD
KS9leHQvcHN5Y2gveWFtbAo+ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykv
ZXh0L3BzeWNoL3BzeWNoX3lhbWxfdHJlZS5jCj4gK0xJQlJVQllfRVhUX1BTWUNIX1lBTUxfVFJF
RV9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L3BzeWNoIC1JJChMSUJSVUJZX1NSQykv
ZXh0L3BzeWNoL3lhbWwKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4
dC9wc3ljaC9wc3ljaF9lbWl0dGVyLmMKPiArTElCUlVCWV9FWFRfUFNZQ0hfRU1JVFRFUl9GTEFH
Uy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L3BzeWNoIC1JJChMSUJSVUJZX1NSQykvZXh0L3Bz
eWNoL3lhbWwKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9wc3lj
aC9wc3ljaF9wYXJzZXIuY3xwc3ljaAo+ICtMSUJSVUJZX0VYVF9QU1lDSF9QQVJTRVJfRkxBR1Mt
eSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC9wc3ljaCAtSSQoTElCUlVCWV9TUkMpL2V4dC9wc3lj
aC95YW1sCj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvcHN5Y2gv
cHN5Y2guYwo+ICtMSUJSVUJZX0VYVF9QU1lDSF9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykv
ZXh0L3BzeWNoIC1JJChMSUJSVUJZX1NSQykvZXh0L3BzeWNoL3lhbWwKPiArTElCUlVCWV9FWFRf
U1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9wc3ljaC95YW1sL2R1bXBlci5jCj4gK0xJQlJV
QllfRVhUX0RVTVBFUl9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L3BzeWNoIC1JJChM
SUJSVUJZX1NSQykvZXh0L3BzeWNoL3lhbWwKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElC
UlVCWV9TUkMpL2V4dC9wc3ljaC95YW1sL3BhcnNlci5jfHlhbWwKPiArTElCUlVCWV9FWFRfUEFS
U0VSX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvcHN5Y2ggLUkkKExJQlJVQllfU1JD
KS9leHQvcHN5Y2gveWFtbAo+ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykv
ZXh0L3BzeWNoL3lhbWwvc2Nhbm5lci5jCj4gK0xJQlJVQllfRVhUX1NDQU5ORVJfRkxBR1MteSAr
PSAtSSQoTElCUlVCWV9TUkMpL2V4dC9wc3ljaCAtSSQoTElCUlVCWV9TUkMpL2V4dC9wc3ljaC95
YW1sCj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvcHN5Y2gveWFt
bC9hcGkuYwo+ICtMSUJSVUJZX0VYVF9BUElfRkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4
dC9wc3ljaCAtSSQoTElCUlVCWV9TUkMpL2V4dC9wc3ljaC95YW1sCj4gK0xJQlJVQllfRVhUX1NS
Q1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvcHN5Y2gveWFtbC9sb2FkZXIuYwo+ICtMSUJSVUJZ
X0VYVF9MT0FERVJfRkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC9wc3ljaCAtSSQoTElC
UlVCWV9TUkMpL2V4dC9wc3ljaC95YW1sCj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJV
QllfU1JDKS9leHQvcHN5Y2gveWFtbC93cml0ZXIuYwo+ICtMSUJSVUJZX0VYVF9XUklURVJfRkxB
R1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC9wc3ljaCAtSSQoTElCUlVCWV9TUkMpL2V4dC9w
c3ljaC95YW1sCj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvcHN5
Y2gveWFtbC9lbWl0dGVyLmMKPiArTElCUlVCWV9FWFRfRU1JVFRFUl9GTEFHUy15ICs9IC1JJChM
SUJSVUJZX1NSQykvZXh0L3BzeWNoIC1JJChMSUJSVUJZX1NSQykvZXh0L3BzeWNoL3lhbWwKPiAr
TElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9wc3ljaC95YW1sL3JlYWRl
ci5jCj4gK0xJQlJVQllfRVhUX1JFQURFUl9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0
L3BzeWNoIC1JJChMSUJSVUJZX1NSQykvZXh0L3BzeWNoL3lhbWwKPiArZW5kaWYKPiAraWZlcSAo
JChDT05GSUdfTElCUlVCWV9FWFRfQ0dJX0VTQ0FQRSkseSkKPiArTElCUlVCWV9FWFRfU1JDUy15
ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9jZ2kvZXNjYXBlL2VzY2FwZS5jCj4gK0xJQlJVQllfRVhU
X0VTQ0FQRV9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L2NnaS9lc2NhcGUKPiArZW5k
aWYKPiAraWZlcSAoJChDT05GSUdfTElCUlVCWV9FWFRfRkNOVEwpLHkpCj4gK0xJQlJVQllfRVhU
X1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvZmNudGwvZmNudGwuYwo+ICtMSUJSVUJZX0VY
VF9GQ05UTF9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L2ZjbnRsCj4gK2VuZGlmCj4g
K2lmZXEgKCQoQ09ORklHX0xJQlJVQllfRVhUX1NPQ0tFVCkseSkKPiArTElCUlVCWV9FWFRfU1JD
Uy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9zb2NrZXQvaW5pdC5jfHNvY2tldAo+ICtMSUJSVUJZ
X0VYVF9JTklUX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9zb2Nr
ZXQKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9zb2NrZXQvY29u
c3RhbnRzLmMKPiArTElCUlVCWV9FWFRfQ09OU1RBTlRTX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllf
QkFTRSkvZ2VuZXJhdGVkL2V4dC9zb2NrZXQKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElC
UlVCWV9TUkMpL2V4dC9zb2NrZXQvYmFzaWNzb2NrZXQuYwo+ICtMSUJSVUJZX0VYVF9CQVNJQ1NP
Q0tFVF9GTEFHUy15ICs9IC1JJChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQvc29ja2V0Cj4g
K0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvc29ja2V0L3NvY2tldC5j
Cj4gK0xJQlJVQllfRVhUX1NPQ0tFVF9GTEFHUy15ICs9IC1JJChMSUJSVUJZX0JBU0UpL2dlbmVy
YXRlZC9leHQvc29ja2V0Cj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9l
eHQvc29ja2V0L2lwc29ja2V0LmMKPiArTElCUlVCWV9FWFRfSVBTT0NLRVRfRkxBR1MteSArPSAt
SSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L3NvY2tldAo+ICtMSUJSVUJZX0VYVF9TUkNT
LXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L3NvY2tldC90Y3Bzb2NrZXQuYwo+ICtMSUJSVUJZX0VY
VF9UQ1BTT0NLRVRfRkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L3Nv
Y2tldAo+ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L3NvY2tldC90
Y3BzZXJ2ZXIuYwo+ICtMSUJSVUJZX0VYVF9UQ1BTRVJWRVJfRkxBR1MteSArPSAtSSQoTElCUlVC
WV9CQVNFKS9nZW5lcmF0ZWQvZXh0L3NvY2tldAo+ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChM
SUJSVUJZX1NSQykvZXh0L3NvY2tldC9zb2Nrc3NvY2tldC5jCj4gK0xJQlJVQllfRVhUX1NPQ0tT
U09DS0VUX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9zb2NrZXQK
PiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9zb2NrZXQvdWRwc29j
a2V0LmMKPiArTElCUlVCWV9FWFRfVURQU09DS0VUX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFT
RSkvZ2VuZXJhdGVkL2V4dC9zb2NrZXQKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVC
WV9TUkMpL2V4dC9zb2NrZXQvdW5peHNvY2tldC5jCj4gK0xJQlJVQllfRVhUX1VOSVhTT0NLRVRf
RkxBR1MteSArPSAtSSQoTElCUlVCWV9CQVNFKS9nZW5lcmF0ZWQvZXh0L3NvY2tldAo+ICtMSUJS
VUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L3NvY2tldC91bml4c2VydmVyLmMK
PiArTElCUlVCWV9FWFRfVU5JWFNFUlZFUl9GTEFHUy15ICs9IC1JJChMSUJSVUJZX0JBU0UpL2dl
bmVyYXRlZC9leHQvc29ja2V0Cj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JD
KS9leHQvc29ja2V0L29wdGlvbi5jCj4gK0xJQlJVQllfRVhUX09QVElPTl9GTEFHUy15ICs9IC1J
JChMSUJSVUJZX0JBU0UpL2dlbmVyYXRlZC9leHQvc29ja2V0Cj4gK0xJQlJVQllfRVhUX1NSQ1Mt
eSArPSAkKExJQlJVQllfU1JDKS9leHQvc29ja2V0L2FuY2RhdGEuYwo+ICtMSUJSVUJZX0VYVF9B
TkNEQVRBX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9zb2NrZXQK
PiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9zb2NrZXQvcmFkZHJp
bmZvLmMKPiArTElCUlVCWV9FWFRfUkFERFJJTkZPX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfQkFT
RSkvZ2VuZXJhdGVkL2V4dC9zb2NrZXQKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVC
WV9TUkMpL2V4dC9zb2NrZXQvaWZhZGRyLmMKPiArTElCUlVCWV9FWFRfSUZBRERSX0ZMQUdTLXkg
Kz0gLUkkKExJQlJVQllfQkFTRSkvZ2VuZXJhdGVkL2V4dC9zb2NrZXQKPiArZW5kaWYKPiArTElC
UlVCWV9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L3BhdGhuYW1lL3BhdGhuYW1lLmMKPiAr
TElCUlVCWV9QQVRITkFNRV9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L3BhdGhuYW1l
Cj4gK2lmZXEgKCQoQ09ORklHX0xJQlJVQllfRVhUX0RBVEVfQ09SRSkseSkKPiArTElCUlVCWV9F
WFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9kYXRlL2RhdGVfY29yZS5jCj4gK0xJQlJV
QllfRVhUX0RBVEVfQ09SRV9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L2RhdGUKPiAr
TElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9kYXRlL2RhdGVfcGFyc2Uu
Ywo+ICtMSUJSVUJZX0VYVF9EQVRFX1BBUlNFX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9l
eHQvZGF0ZQo+ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L2RhdGUv
ZGF0ZV9zdHJmdGltZS5jCj4gK0xJQlJVQllfRVhUX0RBVEVfU1RSRlRJTUVfRkxBR1MteSArPSAt
SSQoTElCUlVCWV9TUkMpL2V4dC9kYXRlCj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJV
QllfU1JDKS9leHQvZGF0ZS9kYXRlX3N0cnB0aW1lLmMKPiArTElCUlVCWV9FWFRfREFURV9TVFJQ
VElNRV9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L2RhdGUKPiArZW5kaWYKPiAraWZl
cSAoJChDT05GSUdfTElCUlVCWV9FWFRfUFRZKSx5KQo+ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0g
JChMSUJSVUJZX1NSQykvZXh0L3B0eS9wdHkuYwo+ICtMSUJSVUJZX0VYVF9QVFlfRkxBR1MteSAr
PSAtSSQoTElCUlVCWV9TUkMpL2V4dC9wdHkKPiArZW5kaWYKPiAraWZlcSAoJChDT05GSUdfTElC
UlVCWV9FWFRfT1BFTlNTTCkseSkKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9T
UkMpL2V4dC9vcGVuc3NsL29wZW5zc2xfbWlzc2luZy5jCj4gK0xJQlJVQllfRVhUX09QRU5TU0xf
TUlTU0lOR19GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L29wZW5zc2wKPiArTElCUlVC
WV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsL29zc2wuYwo+ICtMSUJS
VUJZX0VYVF9PU1NMX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbAo+ICtM
SUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L29wZW5zc2wvb3NzbF9hc24x
LmMKPiArTElCUlVCWV9FWFRfT1NTTF9BU04xX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9l
eHQvb3BlbnNzbAo+ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L29w
ZW5zc2wvb3NzbF9iaW8uYwo+ICtMSUJSVUJZX0VYVF9PU1NMX0JJT19GTEFHUy15ICs9IC1JJChM
SUJSVUJZX1NSQykvZXh0L29wZW5zc2wKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVC
WV9TUkMpL2V4dC9vcGVuc3NsL29zc2xfYm4uYwo+ICtMSUJSVUJZX0VYVF9PU1NMX0JOX0ZMQUdT
LXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbAo+ICtMSUJSVUJZX0VYVF9TUkNTLXkg
Kz0gJChMSUJSVUJZX1NSQykvZXh0L29wZW5zc2wvb3NzbF9jaXBoZXIuYwo+ICtMSUJSVUJZX0VY
VF9PU1NMX0NJUEhFUl9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L29wZW5zc2wKPiAr
TElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsL29zc2xfY29u
ZmlnLmMKPiArTElCUlVCWV9FWFRfT1NTTF9DT05GSUdfRkxBR1MteSArPSAtSSQoTElCUlVCWV9T
UkMpL2V4dC9vcGVuc3NsCj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9l
eHQvb3BlbnNzbC9vc3NsX2RpZ2VzdC5jCj4gK0xJQlJVQllfRVhUX09TU0xfRElHRVNUX0ZMQUdT
LXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbAo+ICtMSUJSVUJZX0VYVF9TUkNTLXkg
Kz0gJChMSUJSVUJZX1NSQykvZXh0L29wZW5zc2wvb3NzbF9lbmdpbmUuYwo+ICtMSUJSVUJZX0VY
VF9PU1NMX0VOR0lORV9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L29wZW5zc2wKPiAr
TElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsL29zc2xfaG1h
Yy5jCj4gK0xJQlJVQllfRVhUX09TU0xfSE1BQ19GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykv
ZXh0L29wZW5zc2wKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9v
cGVuc3NsL29zc2xfa2RmLmMKPiArTElCUlVCWV9FWFRfT1NTTF9LREZfRkxBR1MteSArPSAtSSQo
TElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsCj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJV
QllfU1JDKS9leHQvb3BlbnNzbC9vc3NsX25zX3Nwa2kuYwo+ICtMSUJSVUJZX0VYVF9PU1NMX05T
X1NQS0lfRkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsCj4gK0xJQlJVQllf
RVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbC9vc3NsX29jc3AuYwo+ICtM
SUJSVUJZX0VYVF9PU1NMX09DU1BfRkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC9vcGVu
c3NsCj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbC9v
c3NsX3BrY3MxMi5jCj4gK0xJQlJVQllfRVhUX09TU0xfUEtDUzEyX0ZMQUdTLXkgKz0gLUkkKExJ
QlJVQllfU1JDKS9leHQvb3BlbnNzbAo+ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZ
X1NSQykvZXh0L29wZW5zc2wvb3NzbF9wa2NzNy5jCj4gK0xJQlJVQllfRVhUX09TU0xfUEtDUzdf
RkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsCj4gK0xJQlJVQllfRVhUX1NS
Q1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbC9vc3NsX3BrZXkuYwo+ICtMSUJSVUJZ
X0VYVF9PU1NMX1BLRVlfRkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsCj4g
K0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbC9vc3NsX3Br
ZXlfZGguYwo+ICtMSUJSVUJZX0VYVF9PU1NMX1BLRVlfREhfRkxBR1MteSArPSAtSSQoTElCUlVC
WV9TUkMpL2V4dC9vcGVuc3NsCj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JD
KS9leHQvb3BlbnNzbC9vc3NsX3BrZXlfZHNhLmMKPiArTElCUlVCWV9FWFRfT1NTTF9QS0VZX0RT
QV9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L29wZW5zc2wKPiArTElCUlVCWV9FWFRf
U1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsL29zc2xfcGtleV9lYy5jCj4gK0xJ
QlJVQllfRVhUX09TU0xfUEtFWV9FQ19GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L29w
ZW5zc2wKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3Ns
L29zc2xfcGtleV9yc2EuYwo+ICtMSUJSVUJZX0VYVF9PU1NMX1BLRVlfUlNBX0ZMQUdTLXkgKz0g
LUkkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbAo+ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChM
SUJSVUJZX1NSQykvZXh0L29wZW5zc2wvb3NzbF9yYW5kLmMKPiArTElCUlVCWV9FWFRfT1NTTF9S
QU5EX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbAo+ICtMSUJSVUJZX0VY
VF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L29wZW5zc2wvb3NzbF9zc2wuYwo+ICtMSUJS
VUJZX0VYVF9PU1NMX1NTTF9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L29wZW5zc2wK
PiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsL29zc2xf
c3NsX3Nlc3Npb24uYwo+ICtMSUJSVUJZX0VYVF9PU1NMX1NTTF9TRVNTSU9OX0ZMQUdTLXkgKz0g
LUkkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbAo+ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChM
SUJSVUJZX1NSQykvZXh0L29wZW5zc2wvb3NzbF94NTA5LmMKPiArTElCUlVCWV9FWFRfT1NTTF9Y
NTA5X0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbAo+ICtMSUJSVUJZX0VY
VF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L29wZW5zc2wvb3NzbF94NTA5YXR0ci5jCj4g
K0xJQlJVQllfRVhUX09TU0xfWDUwOUFUVFJfRkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4
dC9vcGVuc3NsCj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvb3Bl
bnNzbC9vc3NsX3g1MDljZXJ0LmMKPiArTElCUlVCWV9FWFRfT1NTTF9YNTA5Q0VSVF9GTEFHUy15
ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L29wZW5zc2wKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9
ICQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsL29zc2xfeDUwOWNybC5jCj4gK0xJQlJVQllfRVhU
X09TU0xfWDUwOUNSTF9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L29wZW5zc2wKPiAr
TElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsL29zc2xfeDUw
OWV4dC5jCj4gK0xJQlJVQllfRVhUX09TU0xfWDUwOUVYVF9GTEFHUy15ICs9IC1JJChMSUJSVUJZ
X1NSQykvZXh0L29wZW5zc2wKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMp
L2V4dC9vcGVuc3NsL29zc2xfeDUwOW5hbWUuYwo+ICtMSUJSVUJZX0VYVF9PU1NMX1g1MDlOQU1F
X0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbAo+ICtMSUJSVUJZX0VYVF9T
UkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L29wZW5zc2wvb3NzbF94NTA5cmVxLmMKPiArTElC
UlVCWV9FWFRfT1NTTF9YNTA5UkVRX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvb3Bl
bnNzbAo+ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L29wZW5zc2wv
b3NzbF94NTA5cmV2b2tlZC5jCj4gK0xJQlJVQllfRVhUX09TU0xfWDUwOVJFVk9LRURfRkxBR1Mt
eSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC9vcGVuc3NsCj4gK0xJQlJVQllfRVhUX1NSQ1MteSAr
PSAkKExJQlJVQllfU1JDKS9leHQvb3BlbnNzbC9vc3NsX3g1MDlzdG9yZS5jCj4gK0xJQlJVQllf
RVhUX09TU0xfWDUwOVNUT1JFX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvb3BlbnNz
bAo+ICtlbmRpZgo+ICtMSUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvc3RyaW5n
aW8vc3RyaW5naW8uYwo+ICtMSUJSVUJZX1NUUklOR0lPX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllf
U1JDKS9leHQvc3RyaW5naW8KPiAraWZlcSAoJChDT05GSUdfTElCUlVCWV9FWFRfRklCRVIpLHkp
Cj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvZmliZXIvZmliZXIu
Ywo+ICtMSUJSVUJZX0VYVF9GSUJFUl9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L2Zp
YmVyCj4gK2VuZGlmCj4gK2lmZXEgKCQoQ09ORklHX0xJQlJVQllfRVhUX0ZJRERMRSkseSkKPiAr
TElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9maWRkbGUvY2xvc3VyZS5j
Cj4gK0xJQlJVQllfRVhUX0NMT1NVUkVfRkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC9m
aWRkbGUKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9maWRkbGUv
Y29udmVyc2lvbnMuYwo+ICtMSUJSVUJZX0VYVF9DT05WRVJTSU9OU19GTEFHUy15ICs9IC1JJChM
SUJSVUJZX1NSQykvZXh0L2ZpZGRsZQo+ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZ
X1NSQykvZXh0L2ZpZGRsZS9maWRkbGUuYwo+ICtMSUJSVUJZX0VYVF9GSURETEVfRkxBR1MteSAr
PSAtSSQoTElCUlVCWV9TUkMpL2V4dC9maWRkbGUKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQo
TElCUlVCWV9TUkMpL2V4dC9maWRkbGUvZnVuY3Rpb24uYwo+ICtMSUJSVUJZX0VYVF9GVU5DVElP
Tl9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L2ZpZGRsZQo+ICtMSUJSVUJZX0VYVF9T
UkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L2ZpZGRsZS9oYW5kbGUuYwo+ICtMSUJSVUJZX0VY
VF9IQU5ETEVfRkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC9maWRkbGUKPiArTElCUlVC
WV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9maWRkbGUvcG9pbnRlci5jCj4gK0xJ
QlJVQllfRVhUX1BPSU5URVJfRkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC9maWRkbGUK
PiArZW5kaWYKPiAraWZlcSAoJChDT05GSUdfTElCUlVCWV9FWFRfRVRDKSx5KQo+ICtMSUJSVUJZ
X0VYVF9TUkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L2V0Yy9ldGMuYwo+ICtMSUJSVUJZX0VY
VF9FVENfRkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC9ldGMKPiArZW5kaWYKPiAraWZl
cSAoJChDT05GSUdfTElCUlVCWV9FWFRfQ09OVElOVUFUSU9OKSx5KQo+ICtMSUJSVUJZX0VYVF9T
UkNTLXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L2NvbnRpbnVhdGlvbi9jb250aW51YXRpb24uYwo+
ICtMSUJSVUJZX0VYVF9DT05USU5VQVRJT05fRkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4
dC9jb250aW51YXRpb24KPiArZW5kaWYKPiAraWZlcSAoJChDT05GSUdfTElCUlVCWV9FWFRfT0JK
U1BBQ0UpLHkpCj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvb2Jq
c3BhY2Uvb2JqZWN0X3RyYWNpbmcuYwo+ICtMSUJSVUJZX0VYVF9PQkpFQ1RfVFJBQ0lOR19GTEFH
Uy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L29ianNwYWNlCj4gK0xJQlJVQllfRVhUX1NSQ1Mt
eSArPSAkKExJQlJVQllfU1JDKS9leHQvb2Jqc3BhY2Uvb2Jqc3BhY2UuYwo+ICtMSUJSVUJZX0VY
VF9PQkpTUEFDRV9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L29ianNwYWNlCj4gK0xJ
QlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvb2Jqc3BhY2Uvb2Jqc3BhY2Vf
ZHVtcC5jCj4gK0xJQlJVQllfRVhUX09CSlNQQUNFX0RVTVBfRkxBR1MteSArPSAtSSQoTElCUlVC
WV9TUkMpL2V4dC9vYmpzcGFjZQo+ICtlbmRpZgo+ICtpZmVxICgkKENPTkZJR19MSUJSVUJZX0VY
VF9DT1ZFUkFHRSkseSkKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4
dC9jb3ZlcmFnZS9jb3ZlcmFnZS5jCj4gK0xJQlJVQllfRVhUX0NPVkVSQUdFX0ZMQUdTLXkgKz0g
LUkkKExJQlJVQllfU1JDKS9leHQvY292ZXJhZ2UKPiArZW5kaWYKPiAraWZlcSAoJChDT05GSUdf
TElCUlVCWV9FWFRfSU9fQ09OU09MRSkseSkKPiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElC
UlVCWV9TUkMpL2V4dC9pby9jb25zb2xlL2NvbnNvbGUuYwo+ICtMSUJSVUJZX0VYVF9DT05TT0xF
X0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvaW8vY29uc29sZQo+ICtlbmRpZgo+ICtp
ZmVxICgkKENPTkZJR19MSUJSVUJZX0VYVF9JT19OT05CTE9DSykseSkKPiArTElCUlVCWV9FWFRf
U1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9pby9ub25ibG9jay9ub25ibG9jay5jCj4gK0xJ
QlJVQllfRVhUX05PTkJMT0NLX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvaW8vbm9u
YmxvY2sKPiArZW5kaWYKPiAraWZlcSAoJChDT05GSUdfTElCUlVCWV9FWFRfSU9fV0FJVCkseSkK
PiArTElCUlVCWV9FWFRfU1JDUy15ICs9ICQoTElCUlVCWV9TUkMpL2V4dC9pby93YWl0L3dhaXQu
Ywo+ICtMSUJSVUJZX0VYVF9XQUlUX0ZMQUdTLXkgKz0gLUkkKExJQlJVQllfU1JDKS9leHQvaW8v
d2FpdAo+ICtlbmRpZgo+ICtpZmVxICgkKENPTkZJR19MSUJSVUJZX0VYVF9SSVBQRVIpLHkpCj4g
K0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvcmlwcGVyL3JpcHBlci5j
Cj4gK0xJQlJVQllfRVhUX1JJUFBFUl9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L3Jp
cHBlcgo+ICtlbmRpZgo+ICtpZmVxICgkKENPTkZJR19MSUJSVUJZX0VYVF9OS0YpLHkpCj4gK0xJ
QlJVQllfRVhUX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9leHQvbmtmL25rZi5jCj4gK0xJQlJV
QllfRVhUX05LRl9GTEFHUy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L25rZgo+ICtlbmRpZgo+
ICtpZmVxICgkKENPTkZJR19MSUJSVUJZX0VYVF9aTElCKSx5KQo+ICtMSUJSVUJZX0VYVF9TUkNT
LXkgKz0gJChMSUJSVUJZX1NSQykvZXh0L3psaWIvemxpYi5jCj4gK0xJQlJVQllfRVhUX1pMSUJf
RkxBR1MteSArPSAtSSQoTElCUlVCWV9TUkMpL2V4dC96bGliCj4gK2VuZGlmCj4gK2lmZXEgKCQo
Q09ORklHX0xJQlJVQllfRVhUX1NEQk0pLHkpCj4gK0xJQlJVQllfRVhUX1NSQ1MteSArPSAkKExJ
QlJVQllfU1JDKS9leHQvc2RibS9fc2RibS5jCj4gK0xJQlJVQllfRVhUX19TREJNX0ZMQUdTLXkg
Kz0gLUkkKExJQlJVQllfU1JDKS9leHQvc2RibQo+ICtMSUJSVUJZX0VYVF9TUkNTLXkgKz0gJChM
SUJSVUJZX1NSQykvZXh0L3NkYm0vaW5pdC5jfHNkYm0KPiArTElCUlVCWV9FWFRfSU5JVF9GTEFH
Uy15ICs9IC1JJChMSUJSVUJZX1NSQykvZXh0L3NkYm0KPiArZW5kaWYKPgo+ICBpZm5lcSAoJChD
T05GSUdfTElCUlVCWV9NSU5JKSx5KQo+ICAjIEluaXRfZW5jKCkgaXMgYWxzbyBpbiBtaW5paW5p
dC5jCj4gZGlmZiAtLWdpdCBhL2dlbmVyYXRlZC9leHQvZXh0aW5pdC5jIGIvZ2VuZXJhdGVkL2V4
dC9leHRpbml0LmMKPiBpbmRleCA0OTJhOTMzLi43YmM0MTk2IDEwMDY0NAo+IC0tLSBhL2dlbmVy
YXRlZC9leHQvZXh0aW5pdC5jCj4gKysrIGIvZ2VuZXJhdGVkL2V4dC9leHRpbml0LmMKPiBAQCAt
MSwzICsxLDQgQEAKPiArI2luY2x1ZGUgPHVrL2NvbmZpZy5oPgo+ICAjaW5jbHVkZSAicnVieS9y
dWJ5LmgiCj4KPiAgI2RlZmluZSBpbml0KGZ1bmMsIG5hbWUpIHsgICAgIFwKPiBAQCAtOSw0MCAr
MTAsOTQgQEAgdm9pZCBydWJ5X2luaXRfZXh0KGNvbnN0IGNoYXIgKm5hbWUsIHZvaWQgKCppbml0
KSh2b2lkKSk7Cj4KPiAgdm9pZCBJbml0X2V4dCh2b2lkKQo+ICB7Cj4gKyNpZiBDT05GSUdfTElC
UlVCWV9FWFRfU1RSU0NBTgo+ICAgICAgaW5pdChJbml0X3N0cnNjYW4sICJzdHJzY2FuIik7Cj4g
KyNlbmRpZgo+ICsjaWYgQ09ORklHX0xJQlJVQllfRVhUX1NZU0xPRwo+ICAgICAgaW5pdChJbml0
X3N5c2xvZywgInN5c2xvZyIpOwo+ICsjZW5kaWYKPiArI2lmIENPTkZJR19MSUJSVUJZX0VYVF9K
U09OCj4gICAgICBpbml0KEluaXRfZ2VuZXJhdG9yLCAianNvbi9leHQvZ2VuZXJhdG9yIik7Cj4g
ICAgICBpbml0KEluaXRfcGFyc2VyLCAianNvbi9leHQvcGFyc2VyIik7Cj4gKyNlbmRpZgo+ICsj
aWYgQ09ORklHX0xJQlJVQllfRVhUX1JCQ09ORklHX1NJWkVPRgo+ICAgICAgaW5pdChJbml0X3Np
emVvZiwgInJiY29uZmlnL3NpemVvZiIpOwo+ICsjZW5kaWYKPiArI2lmIENPTkZJR19MSUJSVUJZ
X0VYVF9CSUdERUNJTUFMCj4gICAgICBpbml0KEluaXRfYmlnZGVjaW1hbCwgImJpZ2RlY2ltYWwi
KTsKPiAgICAgIGluaXQoSW5pdF91dGlsLCAiYmlnZGVjaW1hbC91dGlsIik7Cj4gKyNlbmRpZgo+
ICsjaWYgQ09ORklHX0xJQlJVQllfRVhUX1JBQ0NfQ1BBUlNFCj4gICAgICBpbml0KEluaXRfY3Bh
cnNlLCAicmFjYy9jcGFyc2UiKTsKPiArI2VuZGlmCj4gKyNpZiBDT05GSUdfTElCUlVCWV9FWFRf
RElHRVNUCj4gICAgICBpbml0KEluaXRfZGlnZXN0LCAiZGlnZXN0Iik7Cj4gICAgICBpbml0KElu
aXRfYnViYmxlYmFiYmxlLCAiZGlnZXN0L2J1YmJsZWJhYmJsZSIpOwo+ICAgICAgaW5pdChJbml0
X21kNSwgImRpZ2VzdC9tZDUiKTsKPiAgICAgIGluaXQoSW5pdF9ybWQxNjAsICJkaWdlc3Qvcm1k
MTYwIik7Cj4gICAgICBpbml0KEluaXRfc2hhMSwgImRpZ2VzdC9zaGExIik7Cj4gICAgICBpbml0
KEluaXRfc2hhMiwgImRpZ2VzdC9zaGEyIik7Cj4gKyNlbmRpZgo+ICsjaWYgQ09ORklHX0xJQlJV
QllfRVhUX1BTWUNICj4gICAgICBpbml0KEluaXRfcHN5Y2gsICJwc3ljaCIpOwo+ICsjZW5kaWYK
PiArI2lmIENPTkZJR19MSUJSVUJZX0VYVF9DR0lfRVNDQVBFCj4gICAgICBpbml0KEluaXRfZXNj
YXBlLCAiY2dpL2VzY2FwZSIpOwo+ICsjZW5kaWYKPiArI2lmIENPTkZJR19MSUJSVUJZX0VYVF9G
Q05UTAo+ICAgICAgaW5pdChJbml0X2ZjbnRsLCAiZmNudGwiKTsKPiArI2VuZGlmCj4gICAgICBp
bml0KEluaXRfc3RyaW5naW8sICJzdHJpbmdpbyIpOwo+ICsjaWYgQ09ORklHX0xJQlJVQllfRVhU
X1NPQ0tFVAo+ICAgICAgaW5pdChJbml0X3NvY2tldCwgInNvY2tldCIpOwo+ICsjZW5kaWYKPiAg
ICAgIGluaXQoSW5pdF9wYXRobmFtZSwgInBhdGhuYW1lIik7Cj4gKyNpZiBDT05GSUdfTElCUlVC
WV9FWFRfREFURV9DT1JFCj4gICAgICBpbml0KEluaXRfZGF0ZV9jb3JlLCAiZGF0ZV9jb3JlIik7
Cj4gKyNlbmRpZgo+ICsjaWYgQ09ORklHX0xJQlJVQllfRVhUX1BUWQo+ICAgICAgaW5pdChJbml0
X3B0eSwgInB0eSIpOwo+ICsjZW5kaWYKPiArI2lmIENPTkZJR19MSUJSVUJZX0VYVF9PUEVOU1NM
Cj4gICAgICBpbml0KEluaXRfb3BlbnNzbCwgIm9wZW5zc2wiKTsKPiArI2VuZGlmCj4gKyNpZiBD
T05GSUdfTElCUlVCWV9FWFRfRklCRVIKPiAgICAgIGluaXQoSW5pdF9maWJlciwgImZpYmVyIik7
Cj4gKyNlbmRpZgo+ICsjaWYgQ09ORklHX0xJQlJVQllfRVhUX0ZJRERMRQo+ICAgICAgaW5pdChJ
bml0X2ZpZGRsZSwgImZpZGRsZSIpOwo+ICsjZW5kaWYKPiArI2lmIENPTkZJR19MSUJSVUJZX0VY
VF9FVEMKPiAgICAgIGluaXQoSW5pdF9ldGMsICJldGMiKTsKPiArI2VuZGlmCj4gKyNpZiBDT05G
SUdfTElCUlVCWV9FWFRfQ09OVElOVUFUSU9OCj4gICAgICBpbml0KEluaXRfY29udGludWF0aW9u
LCAiY29udGludWF0aW9uIik7Cj4gKyNlbmRpZgo+ICsjaWYgQ09ORklHX0xJQlJVQllfRVhUX09C
SlNQQUNFCj4gICAgICBpbml0KEluaXRfb2Jqc3BhY2UsICJvYmpzcGFjZSIpOwo+ICsjZW5kaWYK
PiArI2lmIENPTkZJR19MSUJSVUJZX0VYVF9DT1ZFUkFHRQo+ICAgICAgaW5pdChJbml0X2NvdmVy
YWdlLCAiY292ZXJhZ2UiKTsKPiArI2VuZGlmCj4gKyNpZiBDT05GSUdfTElCUlVCWV9FWFRfSU9f
Q09OU09MRQo+ICAgICAgaW5pdChJbml0X2NvbnNvbGUsICJpby9jb25zb2xlIik7Cj4gKyNlbmRp
Zgo+ICsjaWYgQ09ORklHX0xJQlJVQllfRVhUX0lPX05PTkJMT0NLCj4gICAgICBpbml0KEluaXRf
bm9uYmxvY2ssICJpby9ub25ibG9jayIpOwo+ICsjZW5kaWYKPiArI2lmIENPTkZJR19MSUJSVUJZ
X0VYVF9JT19XQUlUCj4gICAgICBpbml0KEluaXRfd2FpdCwgImlvL3dhaXQiKTsKPiArI2VuZGlm
Cj4gKyNpZiBDT05GSUdfTElCUlVCWV9FWFRfUklQUEVSCj4gICAgICBpbml0KEluaXRfcmlwcGVy
LCAicmlwcGVyIik7Cj4gKyNlbmRpZgo+ICsjaWYgQ09ORklHX0xJQlJVQllfRVhUX05LRgo+ICAg
ICAgaW5pdChJbml0X25rZiwgIm5rZiIpOwo+ICsjZW5kaWYKPiArI2lmIENPTkZJR19MSUJSVUJZ
X0VYVF9aTElCCj4gICAgICBpbml0KEluaXRfemxpYiwgInpsaWIiKTsKPiArI2VuZGlmCj4gKyNp
ZiBDT05GSUdfTElCUlVCWV9FWFRfU0RCTQo+ICAgICAgaW5pdChJbml0X3NkYm0sICJzZGJtIik7
Cj4gKyNlbmRpZgo+ICB9Cj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvcnVieS9jb25maWcuaCBiL2lu
Y2x1ZGUvcnVieS9jb25maWcuaAo+IGluZGV4IGU5ZmY0ZDEuLjJiMGZhZTAgMTAwNjQ0Cj4gLS0t
IGEvaW5jbHVkZS9ydWJ5L2NvbmZpZy5oCj4gKysrIGIvaW5jbHVkZS9ydWJ5L2NvbmZpZy5oCj4g
QEAgLTQyMiw2ICs0MjIsNyBAQAo+ICAvKiAjZGVmaW5lIEhBVkVfVkFMR1JJTkRfTUVNQ0hFQ0tf
SCAxICovCj4gICNkZWZpbmUgRExFWFRfTUFYTEVOIDMKPiAgI2RlZmluZSBETEVYVCAiLnNvIgo+
ICsjZGVmaW5lIEVYVFNUQVRJQyAxCj4gICNkZWZpbmUgSEFWRV9fU0VUSk1QIDEKPiAgI2RlZmlu
ZSBSVUJZX1NFVEpNUChlbnYpIF9fYnVpbHRpbl9zZXRqbXAoKGVudikpCj4gICNkZWZpbmUgUlVC
WV9MT05HSk1QKGVudix2YWwpIF9fYnVpbHRpbl9sb25nam1wKChlbnYpLHZhbCkKPiAtLQo+IDIu
MjAuMQo+CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpN
aW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9y
ZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRl
dmVs

From minios-devel-bounces@lists.xenproject.org Mon Dec 16 13:54:00 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 16 Dec 2019 13:54:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1igqow-0004Ak-UM; Mon, 16 Dec 2019 13:53:58 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=qGHl=2G=gmail.com=stefanl.teodorescu@srs-us1.protection.inumbo.net>)
 id 1igqov-0004Af-I0
 for minios-devel@lists.xen.org; Mon, 16 Dec 2019 13:53:57 +0000
X-Inumbo-ID: 808d286c-200b-11ea-b6f1-bc764e2007e4
Received: from mail-lj1-x242.google.com (unknown [2a00:1450:4864:20::242])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 808d286c-200b-11ea-b6f1-bc764e2007e4;
 Mon, 16 Dec 2019 13:53:56 +0000 (UTC)
Received: by mail-lj1-x242.google.com with SMTP id k8so6893696ljh.5
 for <minios-devel@lists.xen.org>; Mon, 16 Dec 2019 05:53:56 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to
 :cc; bh=MwpTmZGnLFP/zAySRXMH3ScqCEfQAiWcb4Ios1F4t6U=;
 b=tuDeuL6AXVcYyiNxWRhY6sKlmoUfW4dC/ZL742DBdxSrLs0Vwhl9Ug8QamvK1s8AYN
 qWRzAOrrgmNGPf1wIpmrhh0HiTod1/BV73Ec4cW8rtFGdDncrPwPKlCiURc7jqgV53/m
 hTICpEVbJp6Vo+M5r6R85Dkufm0xfbJrmU6JBgSY5qzpL+GHUgKEJdb5wZmYvEdidL1M
 WsE6DlUQXiSUpcdd90esP3qYiruYMAf4LbseiQVarQTLZNIBuU9rcMf0gkScwnMme2RK
 UEbaHHdw2nk2LptnbVM9mlI8qNfLzvGC46DrEb8JUMAQBqLBnD32/37u+M18JNqRdBPh
 cg/Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
 :message-id:subject:to:cc;
 bh=MwpTmZGnLFP/zAySRXMH3ScqCEfQAiWcb4Ios1F4t6U=;
 b=QGjeH7032tOvstLFkX24Zg6leOdYg4FEomZPWM/ZFP9zhTZFP1dxM3zf+TcJ+CMCEk
 xTbCY8mS7XM1ru8/OQex9JSTKoYwTmQSSScQAgN9loBTbWZh8LaigK4RycIu4Su5G1YL
 ase8SzVzYnHmRryKagy0dcHBOxfpIgusFL/gVO5EwZiTWsL4+CRWGtfgH19v0krwfVOT
 iIMvo+hW3EVhn2G8cdzjhD217sEAPWhX0vMJmQ1YP6y/c64QQDqOFEF4G7Qy+kuhQviN
 cl87uuwluvrzAK1pzRr1FcZQGns66wBOzsPkyOEEtiW3krvr4aNlCwgrtcW2fVXW4Tbn
 foBw==
X-Gm-Message-State: APjAAAXhRO59Kg3vP5j4BzI7scmhKaLCw8FovcJ89TAb7NnbYT8cRnv/
 jq1qbWeGDQGrJ4vtDd0SENm+10i3EvngPuvfpZHSk2Qd7JU=
X-Google-Smtp-Source: APXvYqxb5BWNWgS8UVVbe7V7Ctpd54uytsTZ6i+vHOROlbxe4XwzrIPcJgU3yHnhhLj9LOYULfmJJangWtqyoVLLW0w=
X-Received: by 2002:a05:651c:153:: with SMTP id
 c19mr19983618ljd.237.1576504435635; 
 Mon, 16 Dec 2019 05:53:55 -0800 (PST)
MIME-Version: 1.0
References: <20191216134753.7576-1-costin.lupu@cs.pub.ro>
 <20191216134753.7576-7-costin.lupu@cs.pub.ro>
In-Reply-To: <20191216134753.7576-7-costin.lupu@cs.pub.ro>
From: Stefan Teodorescu <stefanl.teodorescu@gmail.com>
Date: Mon, 16 Dec 2019 15:52:13 +0200
Message-ID: <CAEiTdV6ZC9aG6aYJ6xGX_Z_3ZuDsraF7ebpzqbx8c331G0SjZg@mail.gmail.com>
To: Costin Lupu <costin.lupu@cs.pub.ro>
Subject: Re: [Minios-devel] [UNIKRAFT/RUBY PATCH v3 6/6] README.md: Update
 with info about building and running
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: minios-devel@lists.xen.org
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhhbmsgeW91IGZvciBhbGwgdGhlIGNoYW5nZXMsIENvc3RpbiEKClJldmlld2VkLWJ5OiBTdGVm
YW4gVGVvZG9yZXNjdSA8c3RlZmFubC50ZW9kb3Jlc2N1QGdtYWlsLmNvbT4KCk9uIE1vbiwgRGVj
IDE2LCAyMDE5IGF0IDM6NDggUE0gQ29zdGluIEx1cHUgPGNvc3Rpbi5sdXB1QGNzLnB1Yi5ybz4g
d3JvdGU6Cj4KPiBTaWduZWQtb2ZmLWJ5OiBDb3N0aW4gTHVwdSA8Y29zdGluLmx1cHVAY3MucHVi
LnJvPgo+IC0tLQo+ICBSRUFETUUubWQgfCA3MSArKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKystLS0tCj4gIDEgZmlsZSBjaGFuZ2VkLCA2NyBpbnNlcnRp
b25zKCspLCA0IGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL1JFQURNRS5tZCBiL1JFQURN
RS5tZAo+IGluZGV4IDdhOGQzODAuLmQwY2NmZWQgMTAwNjQ0Cj4gLS0tIGEvUkVBRE1FLm1kCj4g
KysrIGIvUkVBRE1FLm1kCj4gQEAgLTEsOSArMSw3MiBAQAo+IC1SdWJ5IGZvciBVbmlrcmFmdAo+
IC09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo+IC0KPiArIyBSdWJ5IGZvciBVbmlrcmFm
dAo+ICBUaGlzIGlzIHRoZSBwb3J0IG9mIFJ1YnkgZm9yIFVuaWtyYWZ0IGFzIGV4dGVybmFsIGxp
YnJhcnkuCj4KPiAtVE9ETwo+ICsjIyBCdWlsZAo+ICtSdWJ5IGRlcGVuZHMgb24gdGhlIGZvbGxv
d2luZyBsaWJyYXJpZXMsIHRoYXQgbmVlZCB0byBiZSBhZGRlZCB0byBgTWFrZWZpbGVgIGluCj4g
K3RoaXMgb3JkZXI6Cj4gKwo+ICsqIGBwdGhyZWFkc2AsIGUuZy4gYHB0aHJlYWQtZW1iZWRkZWRg
Cj4gKyogQysrIGxpYnJhcmllczogYGNvbXBpbGVyLXJ0YCwgYGxpYmN4eGAsIGBsaWJjeHhhYmlg
LCBgbGlidW53aW5kYAo+ICsqIGBsaWJjYCwgZS5nLiBgbmV3bGliYAo+ICsqIG5ldHdvcmsgc3Rh
Y2ssIGUuZy4gYGx3aXBgCj4gKyogb3B0aW9uYWwgZXh0ZW5zaW9uczogYG9wZW5zc2xgLCBgemxp
YmAuCj4gKwo+ICtBIG1hbmRhdG9yeSBidWlsZCBkZXBlbmRlbmN5IGlzIHRoZSBSdWJ5IGludGVy
cHJldGVyIGl0c2VsZiwgYmVjYXVzZSBpdCBpcwo+ICtuZWVkZWQgdG8gcHJvcGVybHkgY29uZmln
dXJlIHRoZSBvcmlnaW5hbCBzb3VyY2VzLiAgSWYgeW91IHdhbnQgdG8gYnVpbGQgdGhlCj4gK2V4
dGVuc2lvbnMgYXMgd2VsbCwgdGhlbiB5b3Ugd2lsbCBhbHNvIG5lZWQgdG8gaGF2ZSB0aGVtIGlu
c3RhbGxlZCBvbiB5b3VyCj4gK2J1aWxkIHN5c3RlbSAoZS5nLiBgb3BlbnNzbGAsIGB6bGliYCku
Cj4gKwo+ICsjIyBSb290IGZpbGVzeXN0ZW0KPiArIyMjIENyZWF0aW5nIHRoZSBmaWxlc3lzdGVt
Cj4gK1J1YnkgaW50ZXJwcmV0ZXIgbmVlZHMgYSBmaWxlc3lzdGVtIHdoaWNoIHNob3VsZCBjb250
YWluIGl0cyBsaWJyYXJpZXMuCj4gK1RoZXJlZm9yZSwgdGhlIGZpbGVzeXN0ZW0gbmVlZHMgdG8g
YmUgY3JlYXRlZCBiZWZvcmUgcnVubmluZyB0aGUgVk0uICBZb3UgY2FuCj4gK2RvIHRoaXMgYnkg
cnVubmluZyB0aGUgZm9sbG93aW5nIGNvbW1hbmQ6Cj4gKwo+ICtgYGBiYXNoCj4gK21ha2UgcnVi
eS1yb290ZnMgcGF0aD08c29tZSBkaXJlY3Rvcnk+Cj4gK2BgYAo+ICsKPiArSXQgd2lsbCBjcmVh
dGUgdGhlIGZpbGVzeXN0ZW0gaW4gdGhlIGRpcmVjdG9yeSB5b3UgY2hvb3NlIHdoZXJlIGl0IHdp
bGwgaW5zdGFsbAo+ICt0aGUgUnVieSBsaWJyYXJpZXMuIEluIG9yZGVyIHRvIGFjaGlldmUgdGhp
cywgdGhlIG9yaWdpbmFsIGNvZGUgbmVlZHMgdG8gYmUKPiArY29uZmlndXJlZCBhbmQgYnVpbGQg
d2l0aCBwYXRocyByZWxhdGl2ZSB0byB0aGUgcHJvdmlkZWQgcm9vdCBkaXJlY3RvcnkuIFRoZXNl
Cj4gK3R3byBzdGVwcyBhcmUgZXhlY3V0ZWQgdHJhbnNwYXJlbnRseSwgYWxsIHlvdSBoYXZlIHRv
IGRvIGlzIGp1c3QgcnVubmluZyB0aGUKPiArYWJvdmUgYG1ha2VgIGNvbW1hbmQuCj4gKwo+ICsj
IyMgVXNpbmcgdGhlIGZpbGVzeXN0ZW0KPiArVGhlIHNhbWUgc3RlcHMgcHJlc2VudGVkIGluIHRo
ZSBzYW1lIHN1YnNlY3Rpb24gb2YgdGhlIFB5dGhvbiAzIHBvcnQgUkVBRE1FCj4gK3Nob3VsZCBi
ZSBmb2xsb3dlZC4KPiArCj4gKyMjIFJ1bm5pbmcgbW9kZXMKPiArVGhlIG5leHQgc3RlcCBpcyB0
byBwaWNrIGEgcnVubmluZyBtb2RlLiBXZSBjdXJyZW50bHkgc3VwcG9ydCB0aGUgZm9sbG93aW5n
Cj4gK3J1bm5pbmcgbW9kZXM6Cj4gKwo+ICsxLiAqKlJ1Ynkgc2NyaXB0KiouIFlvdSBjYW4gdXNl
IGFueSBmaWxlIGF2YWlsYWJsZSBpbiB0aGUgcm9vdCBmaWxlc3lzdGVtLiAgWW91Cj4gK3Nob3Vs
ZCB1c2UgUWVtdSdzIGAtYXBwZW5kYCBvcHRpb24gdG8gcGFzcyBwYXJhbWV0ZXIgdG8gUHl0aG9u
IGludGVycHJldGVyLAo+ICtlLmcuIGAtYXBwZW5kICJ2ZnMucm9vdGRldj10ZXN0IC0tIDxzb21l
IGZpbGUgaW4gcm9vdGZzPiJgLiAgUGxlYXNlIG5vdGljZSB0aGF0Cj4gK3dlIGFyZSB1c2luZyBg
dGVzdGAgZm9yIHRoZSA5cGZzIG1vdW50aW5nIHRhZy4gRm9yIGJyZXZpdHkgd2Ugd2lsbCBza2lw
IHNldHRpbmcKPiArdGhlIG1vdW50aW5nIHRhZyBpbiB0aGUgbmV4dCBleGFtcGxlcy4KPiArCj4g
KzIuICoqUnVieSBzaGVsbCoqLiBZb3UgY2FuIHJ1biB0aGUgaW50ZXJhY3RpdmUgUnVieSBzaGVs
bCwgd2hpY2ggaXMganVzdCBhIFJ1YnkKPiArc2NyaXB0LCB3aXRoIHRoZSBwYXJhbWV0ZXJzOiBg
LWFwcGVuZCAiLS0gL2Jpbi9pcmIiYC4KPiArCj4gKzMuICoqQ29tbWFuZCBsaW5lKiouIFlvdSBj
YW4gcHJvdmlkZSBhIG9uZSBsaW5lIHNjcmlwdCB1c2luZyB0aGUgYC1lYCBvcHRpb24sCj4gK2Us
Zy4gYC1hcHBlbmQgIi0tIC1lICdwdXRzIFwiSGVsbG8gV29ybGRcIiciYC4KPiArCj4gKzQuICoq
UnVieSB1bml0IHRlc3RpbmcgKGRldmVsb3BlcnMgb25seSkqKi4gV2l0aCB0aGlzIG1vZGUgeW91
IGNhbiBjaGVjayB3aGF0Cj4gK2Z1bmN0aW9uYWxpdHkgaXMgY29tcGxldGVseSBzdXBwb3J0ZWQg
YnkgdGhlIFJ1YnkgcG9ydC4gUGxlYXNlIGJlIGF3YXJlIHRoYXQKPiArdGhpcyBtb2RlIGlzIHVu
c3RhYmxlIGFuZCBzb21lIG9mIHRoZSB0ZXN0cyBtYXkgYmxvY2suIEluIG9yZGVyIHRvIHJ1biBh
bGwgdGhlCj4gK3VuaXQgdGVzdHMgeW91IHNob3VsZCB1c2UgdGhlIGZvbGxvd2luZyBwYXJhbWV0
ZXJzOiBgLWFwcGVuZCAiLS0gL2xpYi9ydWJ5LzIuNi4wL3Rlc3QvcnVubmVyLnJiIC0tZXhjbHVk
ZT1kdHJhY2UgLS1leGNsdWRlPW1rbWYgLS1leGNsdWRlPXdpbjMyb2xlIC0tZXhjbHVkZT1yZG9j
ImAuCj4gKwo+ICtXZSBhbHNvIHByb3ZpZGUgYSBjb25maWd1cmF0aW9uIG9wdGlvbiBmb3IgYnVp
bGRpbmcgYG1pbmlydWJ5YCwgYSBtaW5pbWFsaXN0aWMKPiArdmVyc2lvbiBvZiB0aGUgUnVieSBp
bnRlcnByZXRlciBidWlsZCBpbiB0aGUgc2FtZSB3YXkgYXMgZm9yIExpbnV4LiBgbWluaXJ1Ynlg
Cj4gK2RvZXMgbm90IGhhdmUgYW55IGV4dGVuc2lvbiBvciBlbmNvZGluZywgdGhlcmVmb3JlIGl0
cyB1c2FnZSBpcyBsaW1pdGVkLiBZb3UKPiArY2FuIGVpdGhlciB1c2UgaXQgZm9yIHJ1bm5pbmcg
c2ltcGxlIHNjcmlwdHMgb3Igc2ltcGxlIG9uZSBsaW5lcnMuCj4gKwo+ICsjIyMgTWVtb3J5IHVz
YWdlCj4gK1NvbWUgb2YgdGhlIHVuaXQgdGVzdHMgbWF5IHJlcXVpcmUgYSBsb3Qgb2YgbWVtb3J5
IHRvIHJ1bjsgZm9yIHRoaXMKPiArcmVhc29uIHBsZWFzZSBhbGxvdyBmb3IgYXQgbGVhc3QgMUcg
b2YgbWVtb3J5IGZvciB1bml0IHRlc3RpbmcgKGUuZy4sCj4gK2AtbSAxR2AgaW4gUWVtdSkuCj4K
PiArIyMgRnVydGhlciBpbmZvcm1hdGlvbgo+ICBQbGVhc2UgcmVmZXIgdG8gdGhlIGBSRUFETUUu
bWRgIGFzIHdlbGwgYXMgdGhlIGRvY3VtZW50YXRpb24gaW4gdGhlIGBkb2MvYAo+ICBzdWJkaXJl
Y3Rvcnkgb2YgdGhlIG1haW4gdW5pa3JhZnQgcmVwb3NpdG9yeS4KPiAtLQo+IDIuMjAuMQo+Cgpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2
ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczov
L2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Mon Dec 16 14:01:34 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 16 Dec 2019 14:01:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1igqwG-0004yP-K0; Mon, 16 Dec 2019 14:01:32 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=mtPe=2G=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1igqwF-0004yK-Pp
 for minios-devel@lists.xen.org; Mon, 16 Dec 2019 14:01:31 +0000
X-Inumbo-ID: 8f234572-200c-11ea-93ae-12813bfff9fa
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id 8f234572-200c-11ea-93ae-12813bfff9fa;
 Mon, 16 Dec 2019 14:01:30 +0000 (UTC)
IronPort-SDR: n/iacjXnQmmHVxXsbgACsj1FmBYd8K1Hdidz9Tan1PfmoQqUC1EEVAENNeZ9zYpj87l33vg3j8
 gOiLmK4uT1eg==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 16 Dec 2019 16:01:29 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 5E1541A60267;
 Mon, 16 Dec 2019 16:01:30 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id ZddDaLYsqBXP; Mon, 16 Dec 2019 16:01:30 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 434D21A602E5;
 Mon, 16 Dec 2019 16:01:30 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id ozqtbm-qvtkK; Mon, 16 Dec 2019 16:01:30 +0200 (EET)
Received: from [192.168.100.190] (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 2B1E41A60267;
 Mon, 16 Dec 2019 16:01:30 +0200 (EET)
To: Stefan Teodorescu <stefanl.teodorescu@gmail.com>
References: <20191216134753.7576-1-costin.lupu@cs.pub.ro>
 <20191216134753.7576-7-costin.lupu@cs.pub.ro>
 <CAEiTdV6ZC9aG6aYJ6xGX_Z_3ZuDsraF7ebpzqbx8c331G0SjZg@mail.gmail.com>
From: Costin Lupu <costin.lupu@cs.pub.ro>
Message-ID: <88d94a21-89f9-052a-096d-afbffc76575d@cs.pub.ro>
Date: Mon, 16 Dec 2019 16:01:29 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.2.2
MIME-Version: 1.0
In-Reply-To: <CAEiTdV6ZC9aG6aYJ6xGX_Z_3ZuDsraF7ebpzqbx8c331G0SjZg@mail.gmail.com>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT/RUBY PATCH v3 6/6] README.md: Update
 with info about building and running
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: minios-devel@lists.xen.org
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

T24gMTIvMTYvMTkgMzo1MiBQTSwgU3RlZmFuIFRlb2RvcmVzY3Ugd3JvdGU6Cj4gVGhhbmsgeW91
IGZvciBhbGwgdGhlIGNoYW5nZXMsIENvc3RpbiEKPiAKPiBSZXZpZXdlZC1ieTogU3RlZmFuIFRl
b2RvcmVzY3UgPHN0ZWZhbmwudGVvZG9yZXNjdUBnbWFpbC5jb20+CgpUaGFua3MgZm9yIGhlbHBp
bmcgb3V0IHdpdGggcmV2aWV3aW5nLCDImHRlZmFuISBSdWJ5IGlzIG5vdyB1cHN0cmVhbWVkLgoK
CkNvc3RpbgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
TWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5v
cmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1k
ZXZlbA==

From minios-devel-bounces@lists.xenproject.org Mon Dec 16 14:24:23 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 16 Dec 2019 14:24:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1igrIL-0006wK-F3; Mon, 16 Dec 2019 14:24:21 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=7Fvr=2G=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1igrIK-0006wF-7L
 for minios-devel@lists.xen.org; Mon, 16 Dec 2019 14:24:20 +0000
X-Inumbo-ID: be26f14a-200f-11ea-93b0-12813bfff9fa
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id be26f14a-200f-11ea-93b0-12813bfff9fa;
 Mon, 16 Dec 2019 14:24:18 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 1FE03F202C;
 Mon, 16 Dec 2019 15:24:17 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-b.office.hd)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id 8EyNIPQw4463; Mon, 16 Dec 2019 15:24:16 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from puck.office.hd (puck.office.hd [192.168.24.91])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id E41F5F200A;
 Mon, 16 Dec 2019 15:24:10 +0100 (CET)
Received: from [10.1.2.204] (192.168.24.96) by puck.office.hd (192.168.24.91)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 16 Dec
 2019 15:24:10 +0100
To: Costin Lupu <costin.lupu@cs.pub.ro>, <minios-devel@lists.xen.org>
References: <20191206134105.23225-1-costin.lupu@cs.pub.ro>
 <20191206134105.23225-7-costin.lupu@cs.pub.ro>
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
Message-ID: <89cbd096-646b-66e7-6e2f-ca4cf88b4658@neclab.eu>
Date: Mon, 16 Dec 2019 15:24:09 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:60.0)
 Gecko/20100101 Thunderbird/60.9.1
MIME-Version: 1.0
In-Reply-To: <20191206134105.23225-7-costin.lupu@cs.pub.ro>
Content-Language: en-US
X-Originating-IP: [192.168.24.96]
X-ClientProxiedBy: oberon.office.hd (192.168.24.90) To puck.office.hd
 (192.168.24.91)
Subject: Re: [Minios-devel] [UNIKRAFT PATCH 6/6] lib/posix-user: Add more
 group file related functions
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

T24gMDYuMTIuMTkgMTQ6NDEsIENvc3RpbiBMdXB1IHdyb3RlOgo+IFdlIGN1cnJlbnRseSBwcm92
aWRlIG9ubHkgYSBzaW5nbGUgZ3JvdXAuIFRoaXMgY2FuIGJlIGV4dGVuZGVkIGVhc2lseSwKPiBp
ZiBpdCB3aWxsIGJlIG5lZWRlZC4KCkNhbiB5b3UgYWRkIGEgc2hvcnQgZGVzY3JpcHRpb24gd2hh
dCB0aGUgaW1wbGVtZW50YXRpb24gc3VwcG9zZSB0byBkbyAKYW5kIGhvdyBpdCBpcyBpbXBsZW1l
bnRlZCBvbiBhIGhpZ2ggbGV2ZWw/IEl0IGxvb2tzIHRvIG1lIHRoYXQgeW91IGFyZSAKYWRkaW5n
IHRoZSBpdGVyYXRpb24uCgo+IAo+IFNpZ25lZC1vZmYtYnk6IENvc3RpbiBMdXB1IDxjb3N0aW4u
bHVwdUBjcy5wdWIucm8+Cj4gLS0tCj4gICBsaWIvcG9zaXgtdXNlci91c2VyLmMgfCA2NCArKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gICAxIGZpbGUgY2hhbmdl
ZCwgNjQgaW5zZXJ0aW9ucygrKQo+IAo+IGRpZmYgLS1naXQgYS9saWIvcG9zaXgtdXNlci91c2Vy
LmMgYi9saWIvcG9zaXgtdXNlci91c2VyLmMKPiBpbmRleCAwZDZjYTNmYi4uMDA0ZWVlMWIgMTAw
NjQ0Cj4gLS0tIGEvbGliL3Bvc2l4LXVzZXIvdXNlci5jCj4gKysrIGIvbGliL3Bvc2l4LXVzZXIv
dXNlci5jCj4gQEAgLTYwLDYgKzYwLDEyIEBAIFVLX1NMSVNUX0hFQUQodWtfZW50cnlfbGlzdCwg
c3RydWN0IHBhc3N3ZF9lbnRyeSk7Cj4gICAKPiAgIHN0YXRpYyBzdHJ1Y3QgdWtfZW50cnlfbGlz
dCBwYXNzd2RzOwo+ICAgCj4gK3N0YXRpYyB2b2lkIGluaXRfZ3JvdXBzKHZvaWQpOwo+ICsKPiAr
LyoKPiArICogVE9ETyBtYWtlIHBhc3N3ZCBtYW5hZ2VtZW50IGNvbnNpc3RlbnQgd2l0aCBncm91
cCBtYW5hZ2VtZW50Cj4gKyAqLwo+ICsKPiAgIHZvaWQgX19jb25zdHJ1Y3RvciBpbml0X3VrdW5p
c3RkKCkKPiAgIHsKCkl0IGlzIG5vdCBwYXJ0IG9mIHRoaXMgcGF0Y2ggLSBidXQgSSBqdXN0IHNl
ZSBpdCBoZXJlOiBDYW4geW91IHVzZSBhbiAKVW5pa3JhZnQgY29uc3RydWN0b3IgKHVrY3RvcnRh
Yikgb3IgVW5pa3JhZnQgSW5pdGNhbGwgKHVraW5pdHRhYikgCmluc3RlYWQ/IFRoaXMgaXMgdG8g
bWFrZSBzdXJlIHRoYXQgdGhpcyBzdWJzeXN0ZW0gaXMgaW5pdGlhbGl6ZWQgYmVmb3JlIAphbnkg
Y29uc3RydWN0b3Igb2YgdGhlIGFwcGxpY2F0aW9uIChwcmVpbml0X2FycmF5IGFuZCBpbml0YXJy
YXkpIGlzIGNhbGxlZC4KCj4gICAJc3RhdGljIHN0cnVjdCBwYXNzd2RfZW50cnkgcDE7Cj4gQEAg
LTc3LDYgKzgzLDggQEAgdm9pZCBfX2NvbnN0cnVjdG9yIGluaXRfdWt1bmlzdGQoKQo+ICAgCj4g
ICAJVUtfU0xJU1RfSU5JVCgmcGFzc3dkcyk7Cj4gICAJVUtfU0xJU1RfSU5TRVJUX0hFQUQoJnBh
c3N3ZHMsICZwMSwgZW50cmllcyk7Cj4gKwo+ICsJaW5pdF9ncm91cHMoKTsKPiAgIH0KPiAgIAo+
ICAgdWlkX3QgZ2V0dWlkKHZvaWQpCj4gQEAgLTMyOCwzICszMzYsNTkgQEAgaW50IGdldGdybmFt
X3IoY29uc3QgY2hhciAqbmFtZSwgc3RydWN0IGdyb3VwICpncnAsCj4gICAKPiAgIAlyZXR1cm4g
MDsKPiAgIH0KPiArCj4gK3N0cnVjdCBncm91cCAqZ2V0Z3JnaWQoZ2lkX3QgZ2lkKQo+ICt7Cj4g
KwlzdHJ1Y3QgZ3JvdXAgKnJlczsKPiArCj4gKwlpZiAoZ2lkID09IGdfXy5ncl9naWQpCj4gKwkJ
cmVzID0gJmdfXzsKPiArCWVsc2Ugewo+ICsJCXJlcyA9IE5VTEw7Cj4gKwkJZXJybm8gPSBFTk9F
TlQ7Cj4gKwl9Cj4gKwo+ICsJcmV0dXJuIHJlczsKPiArfQo+ICsKPiArc3RhdGljIHN0cnVjdCBn
cm91cF9lbnRyeSB7Cj4gKwlzdHJ1Y3QgZ3JvdXAgKmdyb3VwOwo+ICsJVUtfU0xJU1RfRU5UUlko
c3RydWN0IGdyb3VwX2VudHJ5KSBlbnRyaWVzOwo+ICt9ICpncm91cHNfaXRlcjsKCkkgdGhpbmsg
aXQgd2lsbCBwcm9iYWJseSBtYWtlIHNlbnNlIHRvIGRlY2xhcmUgZ3JvdXBzX2l0ZXIgYXMgCnRo
cmVhZC1sb2NhbCBzdGF0aWMgdmFyaWFibGUgYXMgc29vbiBhcyBIQVZFX1NDSEVEIGlzIGRlZmlu
ZWQgKHNhbWUgCndvdWxkIG5lZWQgdG8gYmUgZG9uZSB3aXRoIHVzZXJzX2l0ZXIpLiBJdCBzaG91
bGQgYWxzbyBiZSBmaW5lIHRvIHB1dCBhIApjb21tZW50IGZvciB0aGlzIGFzIFRPRE8gZm9yIHRo
ZSBmdXR1cmUuCgo+ICsKPiArVUtfU0xJU1RfSEVBRCh1a19ncm91cF9lbnRyeV9saXN0LCBzdHJ1
Y3QgZ3JvdXBfZW50cnkpOwo+ICsKPiArc3RhdGljIHN0cnVjdCB1a19ncm91cF9lbnRyeV9saXN0
IGdyb3VwczsKPiArCj4gK3N0YXRpYyB2b2lkIGluaXRfZ3JvdXBzKHZvaWQpCj4gK3sKPiArCXN0
YXRpYyBzdHJ1Y3QgZ3JvdXBfZW50cnkgZ2U7Cj4gKwo+ICsJZ2UuZ3JvdXAgPSAmZ19fOwo+ICsJ
VUtfU0xJU1RfSU5JVCgmZ3JvdXBzKTsKPiArCVVLX1NMSVNUX0lOU0VSVF9IRUFEKCZncm91cHMs
ICZnZSwgZW50cmllcyk7Cj4gK30KPiArCj4gK3ZvaWQgc2V0Z3JlbnQodm9pZCkKPiArewo+ICsJ
Z3JvdXBzX2l0ZXIgPSBVS19TTElTVF9GSVJTVCgmZ3JvdXBzKTsKPiArfQo+ICsKPiArdm9pZCBl
bmRncmVudCh2b2lkKQo+ICt7Cj4gKwlzZXRncmVudCgpOwo+ICt9Cj4gKwo+ICtzdHJ1Y3QgZ3Jv
dXAgKmdldGdyZW50KHZvaWQpCj4gK3sKPiArCXN0cnVjdCBncm91cCAqcmVzOwo+ICsKPiArCWlm
IChncm91cHNfaXRlcikgewo+ICsJCXJlcyA9IGdyb3Vwc19pdGVyLT5ncm91cDsKPiArCQlncm91
cHNfaXRlciA9IFVLX1NMSVNUX05FWFQoZ3JvdXBzX2l0ZXIsIGVudHJpZXMpOwo+ICsJfSBlbHNl
Cj4gKwkJcmVzID0gTlVMTDsKPiArCj4gKwlyZXR1cm4gcmVzOwo+ICsKPiArfQo+IAoKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1h
aWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0
cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Mon Dec 16 14:46:05 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 16 Dec 2019 14:46:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1igrdM-0000Mj-38; Mon, 16 Dec 2019 14:46:04 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=qGHl=2G=gmail.com=stefanl.teodorescu@srs-us1.protection.inumbo.net>)
 id 1igrdK-0000Me-KN
 for minios-devel@lists.xen.org; Mon, 16 Dec 2019 14:46:02 +0000
X-Inumbo-ID: c72b19a8-2012-11ea-88e7-bc764e2007e4
Received: from mail-wm1-x344.google.com (unknown [2a00:1450:4864:20::344])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id c72b19a8-2012-11ea-88e7-bc764e2007e4;
 Mon, 16 Dec 2019 14:46:01 +0000 (UTC)
Received: by mail-wm1-x344.google.com with SMTP id d73so7026425wmd.1
 for <minios-devel@lists.xen.org>; Mon, 16 Dec 2019 06:46:01 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:to:cc:subject:date:message-id:mime-version
 :content-transfer-encoding;
 bh=Gp07F2bajQVVEeTVQ1Qc8AiPiGryr08B1NxoF9ksQnI=;
 b=HlSU8VlIE8//HztsAHN6ZtL1qNSEIo3rM8oDZliGV5twXqgHSoStflwx0dpCUsIeH3
 OLHkKHHxFk7yj5scpuF9Xd2JbolZCfSn3RGlb5GKlOHMlzIV7EPLUK8aEo81oBIycBSl
 LvCyoAf/VwKF3fVgL2nahFK0MtxGogZ1JuzIjhBUrePqBNaExaQRX5hLLBIV0dwOTHH6
 HUKJVvQDyQyAMmxXDcPEek9S/KXphhiJQUr5oV4AFjeMSdpQ37Yf0lpY/zHCKyz3TjPK
 3cP54dY9hLdVy6M45ynmhkRncL9aqA5DpgCNyPSQn1U2a1ULbvdTLfK3jI1UPbn5RXc3
 TTfw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version
 :content-transfer-encoding;
 bh=Gp07F2bajQVVEeTVQ1Qc8AiPiGryr08B1NxoF9ksQnI=;
 b=tSidanKYgOkBrKBlvgSfgg6hzqwBkqw1Z+Vc2pZ2OkgLTTaFy01DKfGCP0HyPWvwKl
 fKAkxLbMz6XHhKsGzIm8Fe0L4AgFB9mCOXwIzkJ8LAqxET+IOGswDyTyMrxysEGpP+Q8
 gRYeJCmUkX4Jgnbdj5xFzJInUfeHECWlmMlMPB4Hda9xO5wUeFbvooFeugeTcH7GQNxL
 +LcmvswJKApnxxIPkNNlCmDatAILX8KbpV6VlzMVuLAksVnd61zvIjEpVoIzeuUCb85Q
 dTZOKJelx/12sN9sp6+rqaGQ8GbsBsVvxbWr0fhiSAeUwKWev14fo3O6WgoKwhQ4wt7B
 zPOA==
X-Gm-Message-State: APjAAAUf8ZfUd53giW4N1oP7JqIT58RyksBq/NhJWZ68t/UFm4FKRtDQ
 DRjWtXcCr/RMzi5O7H018GKTTtgCQFA=
X-Google-Smtp-Source: APXvYqxXRgXopSKNeKHoCEMUrMETSEJffODJwEWQNQ/F9Sm9MoLKuGxvq5xHOUBi/l1dpZ/+EiAKow==
X-Received: by 2002:a05:600c:20f:: with SMTP id
 15mr31226074wmi.128.1576507560382; 
 Mon, 16 Dec 2019 06:46:00 -0800 (PST)
Received: from arch.precis.pub.ro ([141.85.233.142])
 by smtp.gmail.com with ESMTPSA id w13sm21995640wru.38.2019.12.16.06.45.59
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 16 Dec 2019 06:45:59 -0800 (PST)
From: stefanl.teodorescu@gmail.com
To: minios-devel@lists.xen.org
Date: Mon, 16 Dec 2019 16:45:55 +0200
Message-Id: <20191216144555.770449-1-stefanl.teodorescu@gmail.com>
X-Mailer: git-send-email 2.24.1
MIME-Version: 1.0
Subject: [Minios-devel] [UNIKRAFT/RUBY PATCH] Makefile.uk: fix compilation
 warnings for gcc >= 9.0
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: costin.lup@gmail.com, Stefan Teodorescu <stefanl.teodorescu@gmail.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogU3RlZmFuIFRlb2RvcmVzY3UgPHN0ZWZhbmwudGVvZG9yZXNjdUBnbWFpbC5jb20+CgpJ
biBHQ0MgOS4wLCBhIG5ldyB0eXBlIG9mIHdhcm5pbmcgd2FzIGludHJvZHVjZWQKKC1XYWRkcmVz
cy1vZi1wYWNrZWQtbWVtYmVyKSwgd2hpY2ggc2hvd3MgdXAgbXVsdGlwbGUgdGltZXMgaW4gUnVi
eQpjb2RlLiBUaGlzIHdhcyBkaXNhYmxlZCBmb3IgR0NDIHZlcnNpb25zID49IDkuMC4KClNpZ25l
ZC1vZmYtYnk6IFN0ZWZhbiBUZW9kb3Jlc2N1IDxzdGVmYW5sLnRlb2RvcmVzY3VAZ21haWwuY29t
PgotLS0KIE1ha2VmaWxlLnVrIHwgMTMgKysrKysrKy0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDcg
aW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9NYWtlZmlsZS51ayBi
L01ha2VmaWxlLnVrCmluZGV4IDgzMzM4OTQuLmRiYzM5OGUgMTAwNjQ0Ci0tLSBhL01ha2VmaWxl
LnVrCisrKyBiL01ha2VmaWxlLnVrCkBAIC02MiwxNCArNjIsMTUgQEAgJChldmFsICQoY2FsbCBw
YXRjaCxsaWJydWJ5LCQoTElCUlVCWV9QQVRDSERJUiksJChMSUJSVUJZX0RJUikpKQogIyBHbG9i
YWwgYW5kIGNvbW1vbiBmbGFncwogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICMgU3VwcHJlc3Mg
ZmxhZ3MKLUxJQlJVQllfU1VQUFJFU1NfRkxBR1MgPSAtV25vLWNhc3QtZnVuY3Rpb24tdHlwZSAt
V25vLWxvbmctbG9uZyBcCitMSUJSVUJZX1NVUFBSRVNTX0ZMQUdTLXkgPSAtV25vLWNhc3QtZnVu
Y3Rpb24tdHlwZSAtV25vLWxvbmctbG9uZyBcCiAJLVduby1taXNzaW5nLWZpZWxkLWluaXRpYWxp
emVycyAtV25vLW92ZXJsZW5ndGgtc3RyaW5ncyBcCiAJLVduby1wYWNrZWQtYml0ZmllbGQtY29t
cGF0IC1Xbm8tdGF1dG9sb2dpY2FsLWNvbXBhcmUgXAogCS1Xbm8tdW51c2VkLXBhcmFtZXRlciAt
V25vLXVudXNlZC12YWx1ZSAtV25vLWltcGxpY2l0LWZhbGx0aHJvdWdoIFwKIAktV25vLXVudXNl
ZC1idXQtc2V0LXZhcmlhYmxlCi1MSUJSVUJZX1NVUFJFU1NfQ0ZMQUdTLXkgICArPSAkKExJQlJV
QllfU1VQUFJFU1NfRkxBR1MpIFwKK0xJQlJVQllfU1VQUFJFU1NfRkxBR1MtJChjYWxsIGdjY192
ZXJzaW9uX2dlLDksMCkgKz0gLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIKK0xJQlJVQllf
U1VQUkVTU19DRkxBR1MteSAgICs9ICQoTElCUlVCWV9TVVBQUkVTU19GTEFHUy15KSBcCiAJLVdu
by1wb2ludGVyLXRvLWludC1jYXN0IC1Xbm8taW50LXRvLXBvaW50ZXItY2FzdAotTElCUlVCWV9T
VVBSRVNTX0NYWEZMQUdTLXkgKz0gJChMSUJSVUJZX1NVUFBSRVNTX0ZMQUdTKQorTElCUlVCWV9T
VVBSRVNTX0NYWEZMQUdTLXkgKz0gJChMSUJSVUJZX1NVUFBSRVNTX0ZMQUdTLXkpCiBMSUJSVUJZ
X0NGTEFHUy15ICAgICAgICAgICArPSAkKExJQlJVQllfU1VQUkVTU19DRkxBR1MteSkKIExJQlJV
QllfQ1hYRkxBR1MteSAgICAgICAgICs9ICQoTElCUlVCWV9TVVBSRVNTX0NYWEZMQUdTLXkpCiAK
QEAgLTE5Miw3ICsxOTMsNyBAQCBMSUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9hZGRy
MmxpbmUuYwogIyBFeHRlbnNpb25zCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogTElCUlVCWV9F
WFRfQ0ZMQUdTLXkgKz0gJChMSUJSVUJZX0NJTkNMVURFUy15KQotTElCUlVCWV9FWFRfQ0ZMQUdT
LXkgKz0gJChMSUJSVUJZX1NVUFBSRVNTX0ZMQUdTKQorTElCUlVCWV9FWFRfQ0ZMQUdTLXkgKz0g
JChMSUJSVUJZX1NVUFBSRVNTX0ZMQUdTLXkpCiBMSUJSVUJZX0VYVF9DRkxBR1MteSArPSAtRFJV
QllfRVhUQ09ORl9IPVwiZXh0Y29uZi5oXCIKIAogaWZlcSAoJChDT05GSUdfTElCUlVCWV9NSU5J
KSx5KQpAQCAtNDcyLDcgKzQ3Myw3IEBAIGVuZGlmCiAjIEVuY29kaW5ncwogIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMKIExJQlJVQllfRU5DX0NGTEFHUy15ICs9ICQoTElCUlVCWV9DSU5DTFVERVMt
eSkKLUxJQlJVQllfRU5DX0NGTEFHUy15ICs9ICQoTElCUlVCWV9TVVBQUkVTU19GTEFHUykKK0xJ
QlJVQllfRU5DX0NGTEFHUy15ICs9ICQoTElCUlVCWV9TVVBQUkVTU19GTEFHUy15KQogTElCUlVC
WV9FTkNfQ0ZMQUdTLXkgKz0gLURSVUJZX0VYUE9SVD0xIC1ET05JR19FTkNfUkVHSVNURVI9cmJf
ZW5jX3JlZ2lzdGVyCiAKIGlmZXEgKCQoQ09ORklHX0xJQlJVQllfRU5DKSx5KQpAQCAtNTUxLDcg
KzU1Miw3IEBAIExJQlJVQllfRU5DX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9lbmMvdHJhbnMv
dXRmXzE2XzMyLmMKICMgVW5pdCB0ZXN0aW5nCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogTElC
UlVCWV9URVNUX0NGTEFHUy15ICs9ICQoTElCUlVCWV9DSU5DTFVERVMteSkKLUxJQlJVQllfVEVT
VF9DRkxBR1MteSArPSAkKExJQlJVQllfU1VQUFJFU1NfRkxBR1MpCitMSUJSVUJZX1RFU1RfQ0ZM
QUdTLXkgKz0gJChMSUJSVUJZX1NVUFBSRVNTX0ZMQUdTLXkpCiBMSUJSVUJZX1RFU1RfQ0ZMQUdT
LXkgKz0gLURSVUJZX0VYVENPTkZfSD1cImV4dGNvbmYuaFwiCiAKICQoTElCUlVCWV9TUkMpL2V4
dC8tdGVzdC0vZmlsZS9pbml0X2ZpbGUuYzogJChMSUJSVUJZX1NSQykvZXh0Ly10ZXN0LS9maWxl
L2luaXQuYwotLSAKMi4yNC4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMu
eGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3Rp
bmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Tue Dec 17 06:55:39 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 17 Dec 2019 06:55:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ih6lb-0005Di-7J; Tue, 17 Dec 2019 06:55:35 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=mtkV=2H=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1ih6la-0005Dc-0c
 for minios-devel@lists.xen.org; Tue, 17 Dec 2019 06:55:34 +0000
X-Inumbo-ID: 371da55a-209a-11ea-9468-12813bfff9fa
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id 371da55a-209a-11ea-9468-12813bfff9fa;
 Tue, 17 Dec 2019 06:55:31 +0000 (UTC)
IronPort-SDR: /jyZE81TQa6xQyk9wLm4K5fyGrmUW5LtfIpJLQ5FdeRpsljg3YFBIsUZDwPLfYMbV62mGGoELy
 O4yP39P1D/hA==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 17 Dec 2019 08:55:28 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 8D9CD1A600E7;
 Tue, 17 Dec 2019 08:55:28 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id rhc3j-NLzsif; Tue, 17 Dec 2019 08:55:28 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 7231A1A600F4;
 Tue, 17 Dec 2019 08:55:28 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id qsMk53eer7d0; Tue, 17 Dec 2019 08:55:28 +0200 (EET)
Received: from [192.168.1.103] (unknown [86.121.55.251])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 57EC91A600E7;
 Tue, 17 Dec 2019 08:55:28 +0200 (EET)
To: stefanl.teodorescu@gmail.com, minios-devel@lists.xen.org
References: <20191216144555.770449-1-stefanl.teodorescu@gmail.com>
From: Costin Lupu <costin.lupu@cs.pub.ro>
Message-ID: <ab2d1046-cbfb-0bf3-a571-446df63f87dd@cs.pub.ro>
Date: Tue, 17 Dec 2019 08:55:27 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.3.0
MIME-Version: 1.0
In-Reply-To: <20191216144555.770449-1-stefanl.teodorescu@gmail.com>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT/RUBY PATCH] Makefile.uk: fix
 compilation warnings for gcc >= 9.0
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhhbmtzIGZvciB0aGlzIHBhdGNoLCDImHRlZmFuISBXZSBzaG91bGQgcGF5IGF0dGVudGlvbiBp
biB0aGUgZnV0dXJlCndoZXRoZXIgdGhpcyBjaGFuZ2UgaXMgbmVlZGVkIGZvciBhbGwgdGhlIGxp
YnMsIGkuZS4gbW92aW5nIHRoaXMgdG8KY29yZSdzIE1ha2VmaWxlLgoKUmV2aWV3ZWQtYnk6IENv
c3RpbiBMdXB1IDxjb3N0aW4ubHVwdUBjcy5wdWIucm8+CgpPbiAxMi8xNi8xOSA0OjQ1IFBNLCBz
dGVmYW5sLnRlb2RvcmVzY3VAZ21haWwuY29tIHdyb3RlOgo+IEZyb206IFN0ZWZhbiBUZW9kb3Jl
c2N1IDxzdGVmYW5sLnRlb2RvcmVzY3VAZ21haWwuY29tPgo+IAo+IEluIEdDQyA5LjAsIGEgbmV3
IHR5cGUgb2Ygd2FybmluZyB3YXMgaW50cm9kdWNlZAo+ICgtV2FkZHJlc3Mtb2YtcGFja2VkLW1l
bWJlciksIHdoaWNoIHNob3dzIHVwIG11bHRpcGxlIHRpbWVzIGluIFJ1YnkKPiBjb2RlLiBUaGlz
IHdhcyBkaXNhYmxlZCBmb3IgR0NDIHZlcnNpb25zID49IDkuMC4KPiAKPiBTaWduZWQtb2ZmLWJ5
OiBTdGVmYW4gVGVvZG9yZXNjdSA8c3RlZmFubC50ZW9kb3Jlc2N1QGdtYWlsLmNvbT4KPiAtLS0K
PiAgTWFrZWZpbGUudWsgfCAxMyArKysrKysrLS0tLS0tCj4gIDEgZmlsZSBjaGFuZ2VkLCA3IGlu
c2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL01ha2VmaWxlLnVr
IGIvTWFrZWZpbGUudWsKPiBpbmRleCA4MzMzODk0Li5kYmMzOThlIDEwMDY0NAo+IC0tLSBhL01h
a2VmaWxlLnVrCj4gKysrIGIvTWFrZWZpbGUudWsKPiBAQCAtNjIsMTQgKzYyLDE1IEBAICQoZXZh
bCAkKGNhbGwgcGF0Y2gsbGlicnVieSwkKExJQlJVQllfUEFUQ0hESVIpLCQoTElCUlVCWV9ESVIp
KSkKPiAgIyBHbG9iYWwgYW5kIGNvbW1vbiBmbGFncwo+ICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
Iwo+ICAjIFN1cHByZXNzIGZsYWdzCj4gLUxJQlJVQllfU1VQUFJFU1NfRkxBR1MgPSAtV25vLWNh
c3QtZnVuY3Rpb24tdHlwZSAtV25vLWxvbmctbG9uZyBcCj4gK0xJQlJVQllfU1VQUFJFU1NfRkxB
R1MteSA9IC1Xbm8tY2FzdC1mdW5jdGlvbi10eXBlIC1Xbm8tbG9uZy1sb25nIFwKPiAgCS1Xbm8t
bWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMgLVduby1vdmVybGVuZ3RoLXN0cmluZ3MgXAo+ICAJ
LVduby1wYWNrZWQtYml0ZmllbGQtY29tcGF0IC1Xbm8tdGF1dG9sb2dpY2FsLWNvbXBhcmUgXAo+
ICAJLVduby11bnVzZWQtcGFyYW1ldGVyIC1Xbm8tdW51c2VkLXZhbHVlIC1Xbm8taW1wbGljaXQt
ZmFsbHRocm91Z2ggXAo+ICAJLVduby11bnVzZWQtYnV0LXNldC12YXJpYWJsZQo+IC1MSUJSVUJZ
X1NVUFJFU1NfQ0ZMQUdTLXkgICArPSAkKExJQlJVQllfU1VQUFJFU1NfRkxBR1MpIFwKPiArTElC
UlVCWV9TVVBQUkVTU19GTEFHUy0kKGNhbGwgZ2NjX3ZlcnNpb25fZ2UsOSwwKSArPSAtV25vLWFk
ZHJlc3Mtb2YtcGFja2VkLW1lbWJlcgo+ICtMSUJSVUJZX1NVUFJFU1NfQ0ZMQUdTLXkgICArPSAk
KExJQlJVQllfU1VQUFJFU1NfRkxBR1MteSkgXAo+ICAJLVduby1wb2ludGVyLXRvLWludC1jYXN0
IC1Xbm8taW50LXRvLXBvaW50ZXItY2FzdAo+IC1MSUJSVUJZX1NVUFJFU1NfQ1hYRkxBR1MteSAr
PSAkKExJQlJVQllfU1VQUFJFU1NfRkxBR1MpCj4gK0xJQlJVQllfU1VQUkVTU19DWFhGTEFHUy15
ICs9ICQoTElCUlVCWV9TVVBQUkVTU19GTEFHUy15KQo+ICBMSUJSVUJZX0NGTEFHUy15ICAgICAg
ICAgICArPSAkKExJQlJVQllfU1VQUkVTU19DRkxBR1MteSkKPiAgTElCUlVCWV9DWFhGTEFHUy15
ICAgICAgICAgKz0gJChMSUJSVUJZX1NVUFJFU1NfQ1hYRkxBR1MteSkKPiAgCj4gQEAgLTE5Miw3
ICsxOTMsNyBAQCBMSUJSVUJZX1NSQ1MteSArPSAkKExJQlJVQllfU1JDKS9hZGRyMmxpbmUuYwo+
ICAjIEV4dGVuc2lvbnMKPiAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKPiAgTElCUlVCWV9FWFRf
Q0ZMQUdTLXkgKz0gJChMSUJSVUJZX0NJTkNMVURFUy15KQo+IC1MSUJSVUJZX0VYVF9DRkxBR1Mt
eSArPSAkKExJQlJVQllfU1VQUFJFU1NfRkxBR1MpCj4gK0xJQlJVQllfRVhUX0NGTEFHUy15ICs9
ICQoTElCUlVCWV9TVVBQUkVTU19GTEFHUy15KQo+ICBMSUJSVUJZX0VYVF9DRkxBR1MteSArPSAt
RFJVQllfRVhUQ09ORl9IPVwiZXh0Y29uZi5oXCIKPiAgCj4gIGlmZXEgKCQoQ09ORklHX0xJQlJV
QllfTUlOSSkseSkKPiBAQCAtNDcyLDcgKzQ3Myw3IEBAIGVuZGlmCj4gICMgRW5jb2RpbmdzCj4g
ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCj4gIExJQlJVQllfRU5DX0NGTEFHUy15ICs9ICQoTElC
UlVCWV9DSU5DTFVERVMteSkKPiAtTElCUlVCWV9FTkNfQ0ZMQUdTLXkgKz0gJChMSUJSVUJZX1NV
UFBSRVNTX0ZMQUdTKQo+ICtMSUJSVUJZX0VOQ19DRkxBR1MteSArPSAkKExJQlJVQllfU1VQUFJF
U1NfRkxBR1MteSkKPiAgTElCUlVCWV9FTkNfQ0ZMQUdTLXkgKz0gLURSVUJZX0VYUE9SVD0xIC1E
T05JR19FTkNfUkVHSVNURVI9cmJfZW5jX3JlZ2lzdGVyCj4gIAo+ICBpZmVxICgkKENPTkZJR19M
SUJSVUJZX0VOQykseSkKPiBAQCAtNTUxLDcgKzU1Miw3IEBAIExJQlJVQllfRU5DX1NSQ1MteSAr
PSAkKExJQlJVQllfU1JDKS9lbmMvdHJhbnMvdXRmXzE2XzMyLmMKPiAgIyBVbml0IHRlc3RpbmcK
PiAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKPiAgTElCUlVCWV9URVNUX0NGTEFHUy15ICs9ICQo
TElCUlVCWV9DSU5DTFVERVMteSkKPiAtTElCUlVCWV9URVNUX0NGTEFHUy15ICs9ICQoTElCUlVC
WV9TVVBQUkVTU19GTEFHUykKPiArTElCUlVCWV9URVNUX0NGTEFHUy15ICs9ICQoTElCUlVCWV9T
VVBQUkVTU19GTEFHUy15KQo+ICBMSUJSVUJZX1RFU1RfQ0ZMQUdTLXkgKz0gLURSVUJZX0VYVENP
TkZfSD1cImV4dGNvbmYuaFwiCj4gIAo+ICAkKExJQlJVQllfU1JDKS9leHQvLXRlc3QtL2ZpbGUv
aW5pdF9maWxlLmM6ICQoTElCUlVCWV9TUkMpL2V4dC8tdGVzdC0vZmlsZS9pbml0LmMKPiAKCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZl
bCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8v
bGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Tue Dec 17 07:40:10 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 17 Dec 2019 07:40:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ih7Sg-0000Yx-PI; Tue, 17 Dec 2019 07:40:06 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=mtkV=2H=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1ih7Sg-0000Sp-05
 for minios-devel@lists.xen.org; Tue, 17 Dec 2019 07:40:06 +0000
X-Inumbo-ID: 70c0e0a0-20a0-11ea-946a-12813bfff9fa
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id 70c0e0a0-20a0-11ea-946a-12813bfff9fa;
 Tue, 17 Dec 2019 07:40:05 +0000 (UTC)
IronPort-SDR: wMHf32FF9r4YYjPIwbfPA/qfNm7sGQ8m/2ZvpvNQ7Hd1IaZG3kgWKeXDSfokZHbIF+5JcXkIzY
 n1xZGe3AHJYg==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 17 Dec 2019 09:40:02 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id D23501A600E7;
 Tue, 17 Dec 2019 09:40:02 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id g1RwhQ5FX-Tk; Tue, 17 Dec 2019 09:40:02 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id B73CF1A60302;
 Tue, 17 Dec 2019 09:40:02 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id h9eIa_cJb20T; Tue, 17 Dec 2019 09:40:02 +0200 (EET)
Received: from [192.168.1.103] (unknown [86.121.55.251])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 9C58D1A600E7;
 Tue, 17 Dec 2019 09:40:02 +0200 (EET)
To: Simon Kuenzer <simon.kuenzer@neclab.eu>, minios-devel@lists.xen.org
References: <20191206134105.23225-1-costin.lupu@cs.pub.ro>
 <20191206134105.23225-7-costin.lupu@cs.pub.ro>
 <89cbd096-646b-66e7-6e2f-ca4cf88b4658@neclab.eu>
From: Costin Lupu <costin.lupu@cs.pub.ro>
Message-ID: <48581f80-2edd-6eff-8bf0-084fcf7fa523@cs.pub.ro>
Date: Tue, 17 Dec 2019 09:40:02 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.3.0
MIME-Version: 1.0
In-Reply-To: <89cbd096-646b-66e7-6e2f-ca4cf88b4658@neclab.eu>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT PATCH 6/6] lib/posix-user: Add more
 group file related functions
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: stefanl.teodorescu@gmail.com
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

T24gMTIvMTYvMTkgNDoyNCBQTSwgU2ltb24gS3VlbnplciB3cm90ZToKPiBPbiAwNi4xMi4xOSAx
NDo0MSwgQ29zdGluIEx1cHUgd3JvdGU6Cj4+IFdlIGN1cnJlbnRseSBwcm92aWRlIG9ubHkgYSBz
aW5nbGUgZ3JvdXAuIFRoaXMgY2FuIGJlIGV4dGVuZGVkIGVhc2lseSwKPj4gaWYgaXQgd2lsbCBi
ZSBuZWVkZWQuCj4gCj4gQ2FuIHlvdSBhZGQgYSBzaG9ydCBkZXNjcmlwdGlvbiB3aGF0IHRoZSBp
bXBsZW1lbnRhdGlvbiBzdXBwb3NlIHRvIGRvCj4gYW5kIGhvdyBpdCBpcyBpbXBsZW1lbnRlZCBv
biBhIGhpZ2ggbGV2ZWw/IEl0IGxvb2tzIHRvIG1lIHRoYXQgeW91IGFyZQo+IGFkZGluZyB0aGUg
aXRlcmF0aW9uLgo+IAoKQWNrLgoKPj4KPj4gU2lnbmVkLW9mZi1ieTogQ29zdGluIEx1cHUgPGNv
c3Rpbi5sdXB1QGNzLnB1Yi5ybz4KPj4gLS0tCj4+IMKgIGxpYi9wb3NpeC11c2VyL3VzZXIuYyB8
IDY0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPj4gwqAgMSBm
aWxlIGNoYW5nZWQsIDY0IGluc2VydGlvbnMoKykKPj4KPj4gZGlmZiAtLWdpdCBhL2xpYi9wb3Np
eC11c2VyL3VzZXIuYyBiL2xpYi9wb3NpeC11c2VyL3VzZXIuYwo+PiBpbmRleCAwZDZjYTNmYi4u
MDA0ZWVlMWIgMTAwNjQ0Cj4+IC0tLSBhL2xpYi9wb3NpeC11c2VyL3VzZXIuYwo+PiArKysgYi9s
aWIvcG9zaXgtdXNlci91c2VyLmMKPj4gQEAgLTYwLDYgKzYwLDEyIEBAIFVLX1NMSVNUX0hFQUQo
dWtfZW50cnlfbGlzdCwgc3RydWN0IHBhc3N3ZF9lbnRyeSk7Cj4+IMKgIMKgIHN0YXRpYyBzdHJ1
Y3QgdWtfZW50cnlfbGlzdCBwYXNzd2RzOwo+PiDCoCArc3RhdGljIHZvaWQgaW5pdF9ncm91cHMo
dm9pZCk7Cj4+ICsKPj4gKy8qCj4+ICsgKiBUT0RPIG1ha2UgcGFzc3dkIG1hbmFnZW1lbnQgY29u
c2lzdGVudCB3aXRoIGdyb3VwIG1hbmFnZW1lbnQKPj4gKyAqLwo+PiArCj4+IMKgIHZvaWQgX19j
b25zdHJ1Y3RvciBpbml0X3VrdW5pc3RkKCkKPj4gwqAgewo+IAo+IEl0IGlzIG5vdCBwYXJ0IG9m
IHRoaXMgcGF0Y2ggLSBidXQgSSBqdXN0IHNlZSBpdCBoZXJlOiBDYW4geW91IHVzZSBhbgo+IFVu
aWtyYWZ0IGNvbnN0cnVjdG9yICh1a2N0b3J0YWIpIG9yIFVuaWtyYWZ0IEluaXRjYWxsICh1a2lu
aXR0YWIpCj4gaW5zdGVhZD8gVGhpcyBpcyB0byBtYWtlIHN1cmUgdGhhdCB0aGlzIHN1YnN5c3Rl
bSBpcyBpbml0aWFsaXplZCBiZWZvcmUKPiBhbnkgY29uc3RydWN0b3Igb2YgdGhlIGFwcGxpY2F0
aW9uIChwcmVpbml0X2FycmF5IGFuZCBpbml0YXJyYXkpIGlzIGNhbGxlZC4KPiAKCkFjay4KCj4+
IMKgwqDCoMKgwqAgc3RhdGljIHN0cnVjdCBwYXNzd2RfZW50cnkgcDE7Cj4+IEBAIC03Nyw2ICs4
Myw4IEBAIHZvaWQgX19jb25zdHJ1Y3RvciBpbml0X3VrdW5pc3RkKCkKPj4gwqAgwqDCoMKgwqDC
oCBVS19TTElTVF9JTklUKCZwYXNzd2RzKTsKPj4gwqDCoMKgwqDCoCBVS19TTElTVF9JTlNFUlRf
SEVBRCgmcGFzc3dkcywgJnAxLCBlbnRyaWVzKTsKPj4gKwo+PiArwqDCoMKgIGluaXRfZ3JvdXBz
KCk7Cj4+IMKgIH0KPj4gwqAgwqAgdWlkX3QgZ2V0dWlkKHZvaWQpCj4+IEBAIC0zMjgsMyArMzM2
LDU5IEBAIGludCBnZXRncm5hbV9yKGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdCBncm91cCAqZ3Jw
LAo+PiDCoCDCoMKgwqDCoMKgIHJldHVybiAwOwo+PiDCoCB9Cj4+ICsKPj4gK3N0cnVjdCBncm91
cCAqZ2V0Z3JnaWQoZ2lkX3QgZ2lkKQo+PiArewo+PiArwqDCoMKgIHN0cnVjdCBncm91cCAqcmVz
Owo+PiArCj4+ICvCoMKgwqAgaWYgKGdpZCA9PSBnX18uZ3JfZ2lkKQo+PiArwqDCoMKgwqDCoMKg
wqAgcmVzID0gJmdfXzsKPj4gK8KgwqDCoCBlbHNlIHsKPj4gK8KgwqDCoMKgwqDCoMKgIHJlcyA9
IE5VTEw7Cj4+ICvCoMKgwqDCoMKgwqDCoCBlcnJubyA9IEVOT0VOVDsKPj4gK8KgwqDCoCB9Cj4+
ICsKPj4gK8KgwqDCoCByZXR1cm4gcmVzOwo+PiArfQo+PiArCj4+ICtzdGF0aWMgc3RydWN0IGdy
b3VwX2VudHJ5IHsKPj4gK8KgwqDCoCBzdHJ1Y3QgZ3JvdXAgKmdyb3VwOwo+PiArwqDCoMKgIFVL
X1NMSVNUX0VOVFJZKHN0cnVjdCBncm91cF9lbnRyeSkgZW50cmllczsKPj4gK30gKmdyb3Vwc19p
dGVyOwo+IAo+IEkgdGhpbmsgaXQgd2lsbCBwcm9iYWJseSBtYWtlIHNlbnNlIHRvIGRlY2xhcmUg
Z3JvdXBzX2l0ZXIgYXMKPiB0aHJlYWQtbG9jYWwgc3RhdGljIHZhcmlhYmxlIGFzIHNvb24gYXMg
SEFWRV9TQ0hFRCBpcyBkZWZpbmVkIChzYW1lCj4gd291bGQgbmVlZCB0byBiZSBkb25lIHdpdGgg
dXNlcnNfaXRlcikuIEl0IHNob3VsZCBhbHNvIGJlIGZpbmUgdG8gcHV0IGEKPiBjb21tZW50IGZv
ciB0aGlzIGFzIFRPRE8gZm9yIHRoZSBmdXR1cmUuCj4gCgpJIHdpbGwgZml4IHRoaXMgaW4gdjIu
Cgo+PiArCj4+ICtVS19TTElTVF9IRUFEKHVrX2dyb3VwX2VudHJ5X2xpc3QsIHN0cnVjdCBncm91
cF9lbnRyeSk7Cj4+ICsKPj4gK3N0YXRpYyBzdHJ1Y3QgdWtfZ3JvdXBfZW50cnlfbGlzdCBncm91
cHM7Cj4+ICsKPj4gK3N0YXRpYyB2b2lkIGluaXRfZ3JvdXBzKHZvaWQpCj4+ICt7Cj4+ICvCoMKg
wqAgc3RhdGljIHN0cnVjdCBncm91cF9lbnRyeSBnZTsKPj4gKwo+PiArwqDCoMKgIGdlLmdyb3Vw
ID0gJmdfXzsKPj4gK8KgwqDCoCBVS19TTElTVF9JTklUKCZncm91cHMpOwo+PiArwqDCoMKgIFVL
X1NMSVNUX0lOU0VSVF9IRUFEKCZncm91cHMsICZnZSwgZW50cmllcyk7Cj4+ICt9Cj4+ICsKPj4g
K3ZvaWQgc2V0Z3JlbnQodm9pZCkKPj4gK3sKPj4gK8KgwqDCoCBncm91cHNfaXRlciA9IFVLX1NM
SVNUX0ZJUlNUKCZncm91cHMpOwo+PiArfQo+PiArCj4+ICt2b2lkIGVuZGdyZW50KHZvaWQpCj4+
ICt7Cj4+ICvCoMKgwqAgc2V0Z3JlbnQoKTsKPj4gK30KPj4gKwo+PiArc3RydWN0IGdyb3VwICpn
ZXRncmVudCh2b2lkKQo+PiArewo+PiArwqDCoMKgIHN0cnVjdCBncm91cCAqcmVzOwo+PiArCj4+
ICvCoMKgwqAgaWYgKGdyb3Vwc19pdGVyKSB7Cj4+ICvCoMKgwqDCoMKgwqDCoCByZXMgPSBncm91
cHNfaXRlci0+Z3JvdXA7Cj4+ICvCoMKgwqDCoMKgwqDCoCBncm91cHNfaXRlciA9IFVLX1NMSVNU
X05FWFQoZ3JvdXBzX2l0ZXIsIGVudHJpZXMpOwo+PiArwqDCoMKgIH0gZWxzZQo+PiArwqDCoMKg
wqDCoMKgwqAgcmVzID0gTlVMTDsKPj4gKwo+PiArwqDCoMKgIHJldHVybiByZXM7Cj4+ICsKPj4g
K30KPj4KPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
Xwo+IE1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKPiBNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJv
amVjdC5vcmcKPiBodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8v
bWluaW9zLWRldmVsCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9q
ZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWlu
aW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Tue Dec 17 07:44:02 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 17 Dec 2019 07:44:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ih7WU-0000h2-4f; Tue, 17 Dec 2019 07:44:02 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=mtkV=2H=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1ih7WT-0000gx-If
 for minios-devel@lists.xen.org; Tue, 17 Dec 2019 07:44:01 +0000
X-Inumbo-ID: fc724a3a-20a0-11ea-b6f1-bc764e2007e4
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id fc724a3a-20a0-11ea-b6f1-bc764e2007e4;
 Tue, 17 Dec 2019 07:43:59 +0000 (UTC)
IronPort-SDR: dlkjUN2TxiPdr9Cwr+NRyTifsZtM9X5tPv+p+kH2jN97oeCDaHpjNXTEG9EEYrjLGknUng+6pO
 B3dzx5FF/qUw==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 17 Dec 2019 09:43:58 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id EFB771A60304;
 Tue, 17 Dec 2019 09:43:58 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id Xi_O-z-6YL9i; Tue, 17 Dec 2019 09:43:58 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id D28941A602C7;
 Tue, 17 Dec 2019 09:43:58 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id J5jcEANjWfpq; Tue, 17 Dec 2019 09:43:58 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id B79111A600E7;
 Tue, 17 Dec 2019 09:43:58 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Tue, 17 Dec 2019 09:43:52 +0200
Message-Id: <20191217074355.9003-1-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
Subject: [Minios-devel] [UNIKRAFT PATCH v2 0/3] Changes for supporting Ruby
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: simon.kuenzer@neclab.eu
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

V2hhdCBzdWJqZWN0IHNheXMuCgpDaGFuZ2VzIHNpbmNlIHYxOgotIFB1c2hlZCBmaXJzdCAyIGFj
Y2VwdGVkIHBhdGNoZXMgb2YgdjEuCi0gS2VlcCB1a3RpbWUncyBleHBvcnRlZHN5bXMudWsuCi0g
QWRkIC9kZXYvemVybyBzdXBwb3J0LgotIFNldCBncm91cCBpdGVyYXRvciBhcyBUTFMuCgpDb3N0
aW4gTHVwdSAoMyk6CiAgbGliL3VrdGltZTogSW50cm9kdWNlIFBPU0lYIHRpbWVyIHN0dWJzCiAg
bGliL2RldmZzOiBBZGQgL2Rldi9udWxsIGFuZCAvZGV2L3plcm8gc3VwcG9ydAogIGxpYi9wb3Np
eC11c2VyOiBBZGQgbW9yZSBncm91cCBmaWxlIHJlbGF0ZWQgZnVuY3Rpb25zCgogaW5jbHVkZS91
ay9lc3NlbnRpYWxzLmggICAgICAgICAgIHwgICA2ICsrCiBsaWIvZGV2ZnMvQ29uZmlnLnVrICAg
ICAgICAgICAgICAgfCAgMTcgKysrKwogbGliL2RldmZzL01ha2VmaWxlLnVrICAgICAgICAgICAg
IHwgICAyICsKIGxpYi9kZXZmcy9udWxsLmMgICAgICAgICAgICAgICAgICB8IDE0NSArKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysKIGxpYi9wb3NpeC11c2VyL3VzZXIuYyAgICAgICAgICAg
ICB8ICA3MCArKysrKysrKysrKysrKy0KIGxpYi91a3RpbWUvTWFrZWZpbGUudWsgICAgICAgICAg
ICB8ICAgMSArCiBsaWIvdWt0aW1lL2V4cG9ydHN5bXMudWsgICAgICAgICAgfCAgIDUgKysKIGxp
Yi91a3RpbWUvdGltZXIuYyAgICAgICAgICAgICAgICB8ICA0NiArKysrKysrKysrCiBsaWIvdmZz
Y29yZS9pbmNsdWRlL3Zmc2NvcmUvdWlvLmggfCAgIDEgKwogOSBmaWxlcyBjaGFuZ2VkLCAyOTEg
aW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWIvZGV2
ZnMvbnVsbC5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgbGliL3VrdGltZS90aW1lci5jCgotLSAKMi4y
MC4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWlu
aW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcK
aHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZl
bA==

From minios-devel-bounces@lists.xenproject.org Tue Dec 17 07:44:03 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 17 Dec 2019 07:44:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ih7WV-0000ha-7L; Tue, 17 Dec 2019 07:44:03 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=mtkV=2H=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1ih7WU-0000hD-FC
 for minios-devel@lists.xen.org; Tue, 17 Dec 2019 07:44:02 +0000
X-Inumbo-ID: fdf89d28-20a0-11ea-946a-12813bfff9fa
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id fdf89d28-20a0-11ea-946a-12813bfff9fa;
 Tue, 17 Dec 2019 07:44:02 +0000 (UTC)
IronPort-SDR: Hnp/V7exl9+3WUQR9J4Jnm+ExG54TWPaoVdAGpyexFf1+7X2560GNy04taU6IEOMd+MBAHTpvB
 CeO8e+gGeYrQ==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 17 Dec 2019 09:43:58 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 0DD9E1A601B0;
 Tue, 17 Dec 2019 09:43:59 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id ms7gZ2D5kZhI; Tue, 17 Dec 2019 09:43:59 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id E8A101A600E7;
 Tue, 17 Dec 2019 09:43:58 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id tAOWZUQuUzqm; Tue, 17 Dec 2019 09:43:58 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id C85BA1A601B0;
 Tue, 17 Dec 2019 09:43:58 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Tue, 17 Dec 2019 09:43:54 +0200
Message-Id: <20191217074355.9003-3-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191217074355.9003-1-costin.lupu@cs.pub.ro>
References: <20191217074355.9003-1-costin.lupu@cs.pub.ro>
Subject: [Minios-devel] [UNIKRAFT PATCH v2 2/3] lib/devfs: Add /dev/null and
 /dev/zero support
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: simon.kuenzer@neclab.eu
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhpcyBpcyBzaGFtZWxlc3NseSBjb3BpZWQgYW5kIGFkYXB0ZWQgZnJvbSBvdXIgaW1wbGVtZW50
YXRpb24KZm9yIC9kZXYvcmFuZG9tIGRldmljZSBzdXBwb3J0LgoKU2lnbmVkLW9mZi1ieTogQ29z
dGluIEx1cHUgPGNvc3Rpbi5sdXB1QGNzLnB1Yi5ybz4KLS0tCiBsaWIvZGV2ZnMvQ29uZmlnLnVr
ICAgICAgICAgICAgICAgfCAgMTcgKysrKwogbGliL2RldmZzL01ha2VmaWxlLnVrICAgICAgICAg
ICAgIHwgICAyICsKIGxpYi9kZXZmcy9udWxsLmMgICAgICAgICAgICAgICAgICB8IDE0NSArKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysKIGxpYi92ZnNjb3JlL2luY2x1ZGUvdmZzY29yZS91
aW8uaCB8ICAgMSArCiA0IGZpbGVzIGNoYW5nZWQsIDE2NSBpbnNlcnRpb25zKCspCiBjcmVhdGUg
bW9kZSAxMDA2NDQgbGliL2RldmZzL251bGwuYwoKZGlmZiAtLWdpdCBhL2xpYi9kZXZmcy9Db25m
aWcudWsgYi9saWIvZGV2ZnMvQ29uZmlnLnVrCmluZGV4IDZmMjFjMDFjLi4wZjQ1OWM0ZSAxMDA2
NDQKLS0tIGEvbGliL2RldmZzL0NvbmZpZy51aworKysgYi9saWIvZGV2ZnMvQ29uZmlnLnVrCkBA
IC04LDQgKzgsMjEgQEAgaWYgTElCREVWRlMKICAgICAgICAgYm9vbCAiTW91bnQgL2RldiBkdXJp
bmcgYm9vdCIKIAlkZXBlbmRzIG9uIExJQlZGU0NPUkVfQVVUT01PVU5UX1JPT1RGUwogICAgICAg
ICBkZWZhdWx0IG4KKworCSMgaGlkZGVuCisJY29uZmlnIExJQkRFVkZTX0RFVl9OVUxMX1pFUk8K
KwkJYm9vbAorCQlkZWZhdWx0IG4KKworCWNvbmZpZyBMSUJERVZGU19ERVZfTlVMTAorCQlib29s
ICIvZGV2L251bGwiCisJCWRlZmF1bHQgeSBpZiBMSUJERVZGU19BVVRPTU9VTlQKKwkJc2VsZWN0
IExJQkRFVkZTX0RFVl9OVUxMX1pFUk8KKwkJZGVmYXVsdCBuCisKKwljb25maWcgTElCREVWRlNf
REVWX1pFUk8KKwkJYm9vbCAiL2Rldi96ZXJvIgorCQlkZWZhdWx0IHkgaWYgTElCREVWRlNfQVVU
T01PVU5UCisJCXNlbGVjdCBMSUJERVZGU19ERVZfTlVMTF9aRVJPCisJCWRlZmF1bHQgbgogZW5k
aWYKZGlmZiAtLWdpdCBhL2xpYi9kZXZmcy9NYWtlZmlsZS51ayBiL2xpYi9kZXZmcy9NYWtlZmls
ZS51awppbmRleCBjNDk2ZmQ1Ni4uMmNmZmVmYWIgMTAwNjQ0Ci0tLSBhL2xpYi9kZXZmcy9NYWtl
ZmlsZS51aworKysgYi9saWIvZGV2ZnMvTWFrZWZpbGUudWsKQEAgLTMsNiArMyw4IEBAICQoZXZh
bCAkKGNhbGwgYWRkbGliX3MsbGliZGV2ZnMsJChDT05GSUdfTElCREVWRlMpKSkKIENJTkNMVURF
Uy15ICs9IC1JJChMSUJERVZGU19CQVNFKS9pbmNsdWRlCiAKIExJQkRFVkZTX0NGTEFHUy0kKGNh
bGwgZ2NjX3ZlcnNpb25fZ2UsOCwwKSArPSAtV25vLWNhc3QtZnVuY3Rpb24tdHlwZQorTElCREVW
RlNfQ0ZMQUdTLXkgKz0gLVduby11bnVzZWQtcGFyYW1ldGVyCiAKIExJQkRFVkZTX1NSQ1MteSAr
PSAkKExJQkRFVkZTX0JBU0UpL2RldmljZS5jCiBMSUJERVZGU19TUkNTLXkgKz0gJChMSUJERVZG
U19CQVNFKS9kZXZmc192bm9wcy5jCitMSUJERVZGU19TUkNTLSQoQ09ORklHX0xJQkRFVkZTX0RF
Vl9OVUxMX1pFUk8pICs9ICQoTElCREVWRlNfQkFTRSkvbnVsbC5jCmRpZmYgLS1naXQgYS9saWIv
ZGV2ZnMvbnVsbC5jIGIvbGliL2RldmZzL251bGwuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMC4uZjA4YzI3ZDIKLS0tIC9kZXYvbnVsbAorKysgYi9saWIvZGV2ZnMvbnVsbC5j
CkBAIC0wLDAgKzEsMTQ1IEBACisvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xh
dXNlICovCisvKgorICogQXV0aG9yczogQ29zdGluIEx1cHUgPGNvc3Rpbi5sdXB1QGNzLnB1Yi5y
bz4KKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTksIFVuaXZlcnNpdHkgUG9saXRlaG5pY2Egb2Yg
QnVjaGFyZXN0LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIE5laXRo
ZXIgdGhlIG5hbWUgb2YgdGhlIGNvcHlyaWdodCBob2xkZXIgbm9yIHRoZSBuYW1lcyBvZiBpdHMK
KyAqICAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tCisgKiAgICB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIgorICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKyAqIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUiBDT05UUklCVVRPUlMg
QkUKKyAqIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUK
KyAqIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICoKKyAqIFRISVMgSEVBREVSIE1BWSBO
T1QgQkUgRVhUUkFDVEVEIE9SIE1PRElGSUVEIElOIEFOWSBXQVkuCisgKi8KKworI2luY2x1ZGUg
PHVrL2NvbmZpZy5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgor
I2luY2x1ZGUgPHVrL2N0b3JzLmg+CisjaW5jbHVkZSA8dWsvcHJpbnQuaD4KKyNpbmNsdWRlIDx2
ZnNjb3JlL3Vpby5oPgorI2luY2x1ZGUgPGRldmZzL2RldmljZS5oPgorCisKK2ludCBkZXZfbnVs
bF93cml0ZShzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCB1aW8gKnVpbywgaW50IGZsYWdzKQor
eworCXVpby0+dWlvX3Jlc2lkID0gMDsKKwlyZXR1cm4gMDsKK30KKworaW50IGRldl9udWxsX29w
ZW4oc3RydWN0IGRldmljZSAqZGV2aWNlLCBpbnQgbW9kZSkKK3sKKwlyZXR1cm4gMDsKK30KKwor
CitpbnQgZGV2X251bGxfY2xvc2Uoc3RydWN0IGRldmljZSAqZGV2aWNlKQoreworCXJldHVybiAw
OworfQorCisjaWZkZWYgQ09ORklHX0xJQkRFVkZTX0RFVl9OVUxMCisKKyNkZWZpbmUgREVWX05V
TExfTkFNRSAibnVsbCIKKworaW50IGRldl9udWxsX3JlYWQoc3RydWN0IGRldmljZSAqZGV2LCBz
dHJ1Y3QgdWlvICp1aW8sIGludCBmbGFncykKK3sKKwl1aW8tPnVpb19yZXNpZCA9IHVpby0+dWlv
X2lvdi0+aW92X2xlbjsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHN0cnVjdCBkZXZvcHMgbnVs
bF9kZXZvcHMgPSB7CisJLnJlYWQgPSBkZXZfbnVsbF9yZWFkLAorCS53cml0ZSA9IGRldl9udWxs
X3dyaXRlLAorCS5vcGVuID0gZGV2X251bGxfb3BlbiwKKwkuY2xvc2UgPSBkZXZfbnVsbF9jbG9z
ZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgZHJpdmVyIGRydl9udWxsID0geworCS5kZXZvcHMgPSAm
bnVsbF9kZXZvcHMsCisJLmRldnN6ID0gMCwKKwkubmFtZSA9IERFVl9OVUxMX05BTUUKK307Cisj
ZW5kaWYKKworI2lmZGVmIENPTkZJR19MSUJERVZGU19ERVZfWkVSTworCisjZGVmaW5lIERFVl9a
RVJPX05BTUUgInplcm8iCisKK2ludCBkZXZfemVyb19yZWFkKHN0cnVjdCBkZXZpY2UgKmRldiwg
c3RydWN0IHVpbyAqdWlvLCBpbnQgZmxhZ3MpCit7CisJc2l6ZV90IGNvdW50OworCWNoYXIgKmJ1
ZjsKKworCWJ1ZiA9IHVpby0+dWlvX2lvdi0+aW92X2Jhc2U7CisJY291bnQgPSB1aW8tPnVpb19p
b3YtPmlvdl9sZW47CisKKwltZW1zZXQoYnVmLCAwLCBjb3VudCk7CisJdWlvLT51aW9fcmVzaWQg
PSAwOworCXJldHVybiAwOworfQorCitzdGF0aWMgc3RydWN0IGRldm9wcyB6ZXJvX2Rldm9wcyA9
IHsKKwkucmVhZCA9IGRldl96ZXJvX3JlYWQsCisJLndyaXRlID0gZGV2X251bGxfd3JpdGUsCisJ
Lm9wZW4gPSBkZXZfbnVsbF9vcGVuLAorCS5jbG9zZSA9IGRldl9udWxsX2Nsb3NlLAorfTsKKwor
c3RhdGljIHN0cnVjdCBkcml2ZXIgZHJ2X3plcm8gPSB7CisJLmRldm9wcyA9ICZ6ZXJvX2Rldm9w
cywKKwkuZGV2c3ogPSAwLAorCS5uYW1lID0gREVWX1pFUk9fTkFNRQorfTsKKyNlbmRpZgorCitz
dGF0aWMgaW50IGRldmZzX3JlZ2lzdGVyX251bGwodm9pZCkKK3sKKwlzdHJ1Y3QgZGV2aWNlICpk
ZXY7CisKKyNpZmRlZiBDT05GSUdfTElCREVWRlNfREVWX05VTEwKKwl1a19wcl9kZWJ1ZygiUmVn
aXN0ZXIgJyVzJyB0byBkZXZmc1xuIiwgREVWX05VTExfTkFNRSk7CisKKwkvKiByZWdpc3RlciAv
ZGV2L251bGwgKi8KKwlkZXYgPSBkZXZpY2VfY3JlYXRlKCZkcnZfbnVsbCwgREVWX05VTExfTkFN
RSwgRF9DSFIpOworCWlmIChkZXYgPT0gTlVMTCkgeworCQl1a19wcl9lcnIoIkZhaWxlZCB0byBy
ZWdpc3RlciAnJXMnIHRvIGRldmZzXG4iLCBERVZfTlVMTF9OQU1FKTsKKwkJcmV0dXJuIC0xOwor
CX0KKyNlbmRpZgorCisjaWZkZWYgQ09ORklHX0xJQkRFVkZTX0RFVl9aRVJPCisJdWtfcHJfZGVi
dWcoIlJlZ2lzdGVyICclcycgdG8gZGV2ZnNcbiIsIERFVl9aRVJPX05BTUUpOworCisJLyogcmVn
aXN0ZXIgL2Rldi96ZXJvICovCisJZGV2ID0gZGV2aWNlX2NyZWF0ZSgmZHJ2X3plcm8sIERFVl9a
RVJPX05BTUUsIERfQ0hSKTsKKwlpZiAoZGV2ID09IE5VTEwpIHsKKwkJdWtfcHJfZXJyKCJGYWls
ZWQgdG8gcmVnaXN0ZXIgJyVzJyB0byBkZXZmc1xuIiwgREVWX1pFUk9fTkFNRSk7CisJCXJldHVy
biAtMTsKKwl9CisjZW5kaWYKKworCXJldHVybiAwOworfQorCitkZXZmc19pbml0Y2FsbChkZXZm
c19yZWdpc3Rlcl9udWxsKTsKZGlmZiAtLWdpdCBhL2xpYi92ZnNjb3JlL2luY2x1ZGUvdmZzY29y
ZS91aW8uaCBiL2xpYi92ZnNjb3JlL2luY2x1ZGUvdmZzY29yZS91aW8uaAppbmRleCA4M2RkNWI5
YS4uYjE0ZmRiODIgMTAwNjQ0Ci0tLSBhL2xpYi92ZnNjb3JlL2luY2x1ZGUvdmZzY29yZS91aW8u
aAorKysgYi9saWIvdmZzY29yZS9pbmNsdWRlL3Zmc2NvcmUvdWlvLmgKQEAgLTM2LDYgKzM2LDcg
QEAKICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KICNpbmNsdWRlIDxzeXMvdWlvLmg+CiAjaW5jbHVk
ZSA8bGltaXRzLmg+CisjaW5jbHVkZSA8dWsvYXNzZXJ0Lmg+CiAKIGVudW0JdWlvX3J3IHsgVUlP
X1JFQUQsIFVJT19XUklURSB9OwogCi0tIAoyLjIwLjEKCgpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlv
cy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3Jn
L21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Tue Dec 17 07:44:07 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 17 Dec 2019 07:44:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ih7WZ-0000iM-9G; Tue, 17 Dec 2019 07:44:07 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=mtkV=2H=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1ih7WY-0000iD-GC
 for minios-devel@lists.xen.org; Tue, 17 Dec 2019 07:44:06 +0000
X-Inumbo-ID: fde54f02-20a0-11ea-b6f1-bc764e2007e4
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id fde54f02-20a0-11ea-b6f1-bc764e2007e4;
 Tue, 17 Dec 2019 07:44:01 +0000 (UTC)
IronPort-SDR: O4GuLN2FrTNUouDhr54WFrLBkCqMZRFlELjruM4ipimspCng5nvFdmGs7UYJx7EAQx42dwYlxQ
 ab5aMrLj7wtA==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 17 Dec 2019 09:43:58 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 022A71A601B0;
 Tue, 17 Dec 2019 09:43:59 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id cUDgfq1w5RRG; Tue, 17 Dec 2019 09:43:58 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id DB0111A60302;
 Tue, 17 Dec 2019 09:43:58 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id 5d3Lqwkuvs44; Tue, 17 Dec 2019 09:43:58 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id BB8C31A600F4;
 Tue, 17 Dec 2019 09:43:58 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Tue, 17 Dec 2019 09:43:53 +0200
Message-Id: <20191217074355.9003-2-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191217074355.9003-1-costin.lupu@cs.pub.ro>
References: <20191217074355.9003-1-costin.lupu@cs.pub.ro>
Subject: [Minios-devel] [UNIKRAFT PATCH v2 1/3] lib/uktime: Introduce POSIX
 timer stubs
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: simon.kuenzer@neclab.eu
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

V2Ugc2ltcGx5IGludHJvZHVjZSB0aGUgc3R1YnMgZm9yIHRoZXNlIGZ1bmN0aW9ucy4gVGhleSB3
aWxsIGhhdmUgdG8gYmUKaW1wbGVtZW50ZWQgbGF0ZXIsIHRoZXJlZm9yZSB3ZSBkbyBub3QgYWRk
IGFueSBsaWNlbnNlIGZvciBub3cuCgpTaWduZWQtb2ZmLWJ5OiBDb3N0aW4gTHVwdSA8Y29zdGlu
Lmx1cHVAY3MucHViLnJvPgotLS0KIGxpYi91a3RpbWUvTWFrZWZpbGUudWsgICB8ICAxICsKIGxp
Yi91a3RpbWUvZXhwb3J0c3ltcy51ayB8ICA1ICsrKysrCiBsaWIvdWt0aW1lL3RpbWVyLmMgICAg
ICAgfCA0NiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAzIGZpbGVz
IGNoYW5nZWQsIDUyIGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWIvdWt0aW1l
L3RpbWVyLmMKCmRpZmYgLS1naXQgYS9saWIvdWt0aW1lL01ha2VmaWxlLnVrIGIvbGliL3VrdGlt
ZS9NYWtlZmlsZS51awppbmRleCA0N2ZiYjRiMy4uMjk3NmExMGYgMTAwNjQ0Ci0tLSBhL2xpYi91
a3RpbWUvTWFrZWZpbGUudWsKKysrIGIvbGliL3VrdGltZS9NYWtlZmlsZS51awpAQCAtMTEsMyAr
MTEsNCBAQCBMSUJVS1RJTUVfU1JDUy15ICs9ICQoTElCVUtUSU1FX0JBU0UpL211c2wtaW1wb3J0
ZWQvc3JjL3RpbWVnbS5jCiBMSUJVS1RJTUVfU1JDUy15ICs9ICQoTElCVUtUSU1FX0JBU0UpL211
c2wtaW1wb3J0ZWQvc3JjL19fdG1fdG9fc2Vjcy5jCiBMSUJVS1RJTUVfU1JDUy15ICs9ICQoTElC
VUtUSU1FX0JBU0UpL211c2wtaW1wb3J0ZWQvc3JjL19feWVhcl90b19zZWNzLmMKIExJQlVLVElN
RV9TUkNTLXkgKz0gJChMSUJVS1RJTUVfQkFTRSkvdGltZS5jCitMSUJVS1RJTUVfU1JDUy15ICs9
ICQoTElCVUtUSU1FX0JBU0UpL3RpbWVyLmMKZGlmZiAtLWdpdCBhL2xpYi91a3RpbWUvZXhwb3J0
c3ltcy51ayBiL2xpYi91a3RpbWUvZXhwb3J0c3ltcy51awppbmRleCBiZDljNDljZi4uODJiNzBi
N2YgMTAwNjQ0Ci0tLSBhL2xpYi91a3RpbWUvZXhwb3J0c3ltcy51aworKysgYi9saWIvdWt0aW1l
L2V4cG9ydHN5bXMudWsKQEAgLTksMyArOSw4IEBAIHRpbWVnbQogdGltZXMKIHVzbGVlcAogdXRp
bWUKK3RpbWVyX2NyZWF0ZQordGltZXJfZGVsZXRlCit0aW1lcl9zZXR0aW1lCit0aW1lcl9nZXR0
aW1lCit0aW1lcl9nZXRvdmVycnVuCmRpZmYgLS1naXQgYS9saWIvdWt0aW1lL3RpbWVyLmMgYi9s
aWIvdWt0aW1lL3RpbWVyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAuLjYz
MDY4NDc4Ci0tLSAvZGV2L251bGwKKysrIGIvbGliL3VrdGltZS90aW1lci5jCkBAIC0wLDAgKzEs
NDYgQEAKKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHRpbWUuaD4KKyNpbmNsdWRlIDx1
ay9lc3NlbnRpYWxzLmg+CisjaW5jbHVkZSA8dWsvcHJpbnQuaD4KKworCitpbnQgdGltZXJfY3Jl
YXRlKGNsb2NraWRfdCBjbG9ja2lkIF9fdW51c2VkLAorCQlzdHJ1Y3Qgc2lnZXZlbnQgKl9fcmVz
dHJpY3Qgc2V2cCBfX3VudXNlZCwKKwkJdGltZXJfdCAqX19yZXN0cmljdCB0aW1lcmlkIF9fdW51
c2VkKQoreworCVdBUk5fU1RVQkJFRCgpOworCWVycm5vID0gRU5PVFNVUDsKKwlyZXR1cm4gLTE7
Cit9CisKK2ludCB0aW1lcl9kZWxldGUodGltZXJfdCB0aW1lcmlkIF9fdW51c2VkKQoreworCVdB
Uk5fU1RVQkJFRCgpOworCWVycm5vID0gRU5PVFNVUDsKKwlyZXR1cm4gLTE7Cit9CisKK2ludCB0
aW1lcl9zZXR0aW1lKHRpbWVyX3QgdGltZXJpZCBfX3VudXNlZCwKKwkJaW50IGZsYWdzIF9fdW51
c2VkLAorCQljb25zdCBzdHJ1Y3QgaXRpbWVyc3BlYyAqX19yZXN0cmljdCBuZXdfdmFsdWUgX191
bnVzZWQsCisJCXN0cnVjdCBpdGltZXJzcGVjICpfX3Jlc3RyaWN0IG9sZF92YWx1ZSBfX3VudXNl
ZCkKK3sKKwlXQVJOX1NUVUJCRUQoKTsKKwllcnJubyA9IEVOT1RTVVA7CisJcmV0dXJuIC0xOwor
fQorCitpbnQgdGltZXJfZ2V0dGltZSh0aW1lcl90IHRpbWVyaWQgX191bnVzZWQsCisJCXN0cnVj
dCBpdGltZXJzcGVjICpjdXJyX3ZhbHVlIF9fdW51c2VkKQoreworCVdBUk5fU1RVQkJFRCgpOwor
CWVycm5vID0gRU5PVFNVUDsKKwlyZXR1cm4gLTE7Cit9CisKK2ludCB0aW1lcl9nZXRvdmVycnVu
KHRpbWVyX3QgdGltZXJpZCBfX3VudXNlZCkKK3sKKwlXQVJOX1NUVUJCRUQoKTsKKwllcnJubyA9
IEVOT1RTVVA7CisJcmV0dXJuIC0xOworfQotLSAKMi4yMC4xCgoKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApN
aW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0
Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Tue Dec 17 07:44:12 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 17 Dec 2019 07:44:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ih7We-0000jN-Ar; Tue, 17 Dec 2019 07:44:12 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=mtkV=2H=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1ih7Wd-0000j9-Fg
 for minios-devel@lists.xen.org; Tue, 17 Dec 2019 07:44:11 +0000
X-Inumbo-ID: fe68f136-20a0-11ea-b6f1-bc764e2007e4
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id fe68f136-20a0-11ea-b6f1-bc764e2007e4;
 Tue, 17 Dec 2019 07:44:02 +0000 (UTC)
IronPort-SDR: kI/gNej//AP7oRnaAJAXkRXx8a7lpkzOj1O6FPTgv9iGSG2QPkL4hvtNE/vL1jRXdlmrGRBiJo
 HZBsEROAcWdw==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 17 Dec 2019 09:43:58 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 1227C1A600E7;
 Tue, 17 Dec 2019 09:43:59 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id SySBQdzcROJ4; Tue, 17 Dec 2019 09:43:59 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id EB0531A600F4;
 Tue, 17 Dec 2019 09:43:58 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id syFE2-GiPucr; Tue, 17 Dec 2019 09:43:58 +0200 (EET)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id D56CD1A602F8;
 Tue, 17 Dec 2019 09:43:58 +0200 (EET)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Tue, 17 Dec 2019 09:43:55 +0200
Message-Id: <20191217074355.9003-4-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20191217074355.9003-1-costin.lupu@cs.pub.ro>
References: <20191217074355.9003-1-costin.lupu@cs.pub.ro>
Subject: [Minios-devel] [UNIKRAFT PATCH v2 3/3] lib/posix-user: Add more
 group file related functions
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: simon.kuenzer@neclab.eu
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhpcyBwYXRjaCBpbnRyb2R1Y2VzIHRoZSBjaGFuZ2VzIG5lZWRlZCBmb3IgaXRlcmF0aW5nIHRo
cm91Z2ggdGhlCiIvZXRjL2dyb3VwcyIgZmlsZS4gQnV0IGJlY2F1c2Ugd2UgY3VycmVudGx5IHBy
b3ZpZGUgb25seSBhIHNpbmdsZSBoYXJkY29kZWQKZ3JvdXAsIHdlIHdpbGwgcmV0dXJuIGp1c3Qg
b25lIHNpbmdsZSBlbnRyeS4gVGhpcyBjYW4gYmUgZXh0ZW5kZWQgZWFzaWx5LAplaXRoZXIgYnkg
YWRkaW5nIG1vcmUgaGFyZGNvZGVkIGdyb3VwcyBvciBieSB1c2luZyB0aGUgYWN0dWFsICIvZXRj
L2dyb3VwcyIuCkhvd2V2ZXIsIHRoZSBsYXR0ZXIgb3B0aW9uIGlzIHN1YmplY3QgdG8gZnV0dXJl
IHdvcmssIHdoZW4gd2Ugd2lsbCBuZWVkIGEgbW9yZQpjb25zaXN0ZW50IGFuYWx5c2lzIHJlZ2Fy
ZGluZyB1c2VyIG1hbmFnZW1lbnQgYW5kIHBlcm1pc3Npb25zIG9uIFVuaWtyYWZ0LgoKVGhlIGdy
b3VwcyBpdGVyYXRvciBpcyB0aHJlYWQgc2FmZSwgdGhlcmVmb3JlIHdlIGFsc28gaW50cm9kdWNl
IHRoZSBgX191a190bHNgLApxdWFsaWZpZXIgd2hpY2ggZGVwZW5kcyBvbiBgQ09ORklHX0hBVkVf
U0NIRURgLCBhbmQgbWFyayB0aGUgdXNlcnMgaXRlcmF0b3IgYXMKVExTIGFzIHdlbGwuIEFub3Ro
ZXIgbWlub3IgY2hhbmdlIHJldmlzaXRzIHRoaXMgbGlicmFyeSBjb25zdHJ1Y3RvciBieSBtYXJr
aW5nCml0IGFzIGEgVW5pa3JhZnQgY29uc3RydWN0b3IuCgpTaWduZWQtb2ZmLWJ5OiBDb3N0aW4g
THVwdSA8Y29zdGluLmx1cHVAY3MucHViLnJvPgotLS0KIGluY2x1ZGUvdWsvZXNzZW50aWFscy5o
IHwgIDYgKysrKwogbGliL3Bvc2l4LXVzZXIvdXNlci5jICAgfCA3MCArKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKystLQogMiBmaWxlcyBjaGFuZ2VkLCA3NCBpbnNlcnRpb25z
KCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWsvZXNzZW50aWFscy5o
IGIvaW5jbHVkZS91ay9lc3NlbnRpYWxzLmgKaW5kZXggZTgyNjRjNWYuLmE2ZDk2OWU3IDEwMDY0
NAotLS0gYS9pbmNsdWRlL3VrL2Vzc2VudGlhbHMuaAorKysgYi9pbmNsdWRlL3VrL2Vzc2VudGlh
bHMuaApAQCAtMTI0LDYgKzEyNCwxMiBAQCBleHRlcm4gIkMiIHsKICNkZWZpbmUgX19jb25zdHJ1
Y3Rvcl9wcmlvKGx2bCkgX19hdHRyaWJ1dGVfXyAoKGNvbnN0cnVjdG9yIChsdmwpKSkKICNlbmRp
ZgogCisjaWZkZWYgQ09ORklHX0hBVkVfU0NIRUQKKyNkZWZpbmUgX191a190bHMgX190aHJlYWQK
KyNlbHNlCisjZGVmaW5lIF9fdWtfdGxzCisjZW5kaWYKKwogI2Vsc2UKIC8qIFRPIEJFIERFRklO
RUQgKi8KICNlbmRpZiAvKiBfX0dOVUNfXyAqLwpkaWZmIC0tZ2l0IGEvbGliL3Bvc2l4LXVzZXIv
dXNlci5jIGIvbGliL3Bvc2l4LXVzZXIvdXNlci5jCmluZGV4IDBkNmNhM2ZiLi5iYTAxYWI3NCAx
MDA2NDQKLS0tIGEvbGliL3Bvc2l4LXVzZXIvdXNlci5jCisrKyBiL2xpYi9wb3NpeC11c2VyL3Vz
ZXIuYwpAQCAtNDEsNiArNDEsNyBAQAogI2luY2x1ZGUgPHN5cy90eXBlcy5oPgogI2luY2x1ZGUg
PHVrL2Vzc2VudGlhbHMuaD4KICNpbmNsdWRlIDx1ay9saXN0Lmg+CisjaW5jbHVkZSA8dWsvY3Rv
cnMuaD4KICNpbmNsdWRlIDx1ay9wcmludC5oPgogI2luY2x1ZGUgPHVrL3VzZXIuaD4KIApAQCAt
NTAsNyArNTEsNyBAQAogI2RlZmluZSBVS19ERUZBVUxUX0dST1VQICAicm9vdCIKICNkZWZpbmUg
VUtfREVGQVVMVF9QQVNTICAgIngiCiAKLXN0YXRpYyBzdHJ1Y3QgcGFzc3dkX2VudHJ5IHsKK3N0
YXRpYyBfX3VrX3RscyBzdHJ1Y3QgcGFzc3dkX2VudHJ5IHsKIAlzdHJ1Y3QgcGFzc3dkICpwYXNz
d2Q7CiAKIAlVS19TTElTVF9FTlRSWShzdHJ1Y3QgcGFzc3dkX2VudHJ5KSBlbnRyaWVzOwpAQCAt
NjAsNyArNjEsMTMgQEAgVUtfU0xJU1RfSEVBRCh1a19lbnRyeV9saXN0LCBzdHJ1Y3QgcGFzc3dk
X2VudHJ5KTsKIAogc3RhdGljIHN0cnVjdCB1a19lbnRyeV9saXN0IHBhc3N3ZHM7CiAKLXZvaWQg
X19jb25zdHJ1Y3RvciBpbml0X3VrdW5pc3RkKCkKK3N0YXRpYyB2b2lkIGluaXRfZ3JvdXBzKHZv
aWQpOworCisvKgorICogVE9ETyBtYWtlIHBhc3N3ZCBtYW5hZ2VtZW50IGNvbnNpc3RlbnQgd2l0
aCBncm91cCBtYW5hZ2VtZW50CisgKi8KKworc3RhdGljIHZvaWQgaW5pdF9wb3NpeF91c2VyKCkK
IHsKIAlzdGF0aWMgc3RydWN0IHBhc3N3ZF9lbnRyeSBwMTsKIAlzdGF0aWMgc3RydWN0IHBhc3N3
ZCBwYXNzd2QgPSB7CkBAIC03Nyw3ICs4NCwxMCBAQCB2b2lkIF9fY29uc3RydWN0b3IgaW5pdF91
a3VuaXN0ZCgpCiAKIAlVS19TTElTVF9JTklUKCZwYXNzd2RzKTsKIAlVS19TTElTVF9JTlNFUlRf
SEVBRCgmcGFzc3dkcywgJnAxLCBlbnRyaWVzKTsKKworCWluaXRfZ3JvdXBzKCk7CiB9CitVS19D
VE9SX0ZVTkMoMiwgaW5pdF9wb3NpeF91c2VyKTsKIAogdWlkX3QgZ2V0dWlkKHZvaWQpCiB7CkBA
IC0zMjgsMyArMzM4LDU5IEBAIGludCBnZXRncm5hbV9yKGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVj
dCBncm91cCAqZ3JwLAogCiAJcmV0dXJuIDA7CiB9CisKK3N0cnVjdCBncm91cCAqZ2V0Z3JnaWQo
Z2lkX3QgZ2lkKQoreworCXN0cnVjdCBncm91cCAqcmVzOworCisJaWYgKGdpZCA9PSBnX18uZ3Jf
Z2lkKQorCQlyZXMgPSAmZ19fOworCWVsc2UgeworCQlyZXMgPSBOVUxMOworCQllcnJubyA9IEVO
T0VOVDsKKwl9CisKKwlyZXR1cm4gcmVzOworfQorCitzdGF0aWMgX191a190bHMgc3RydWN0IGdy
b3VwX2VudHJ5IHsKKwlzdHJ1Y3QgZ3JvdXAgKmdyb3VwOworCVVLX1NMSVNUX0VOVFJZKHN0cnVj
dCBncm91cF9lbnRyeSkgZW50cmllczsKK30gKmdyb3Vwc19pdGVyOworCitVS19TTElTVF9IRUFE
KHVrX2dyb3VwX2VudHJ5X2xpc3QsIHN0cnVjdCBncm91cF9lbnRyeSk7CisKK3N0YXRpYyBzdHJ1
Y3QgdWtfZ3JvdXBfZW50cnlfbGlzdCBncm91cHM7CisKK3N0YXRpYyB2b2lkIGluaXRfZ3JvdXBz
KHZvaWQpCit7CisJc3RhdGljIHN0cnVjdCBncm91cF9lbnRyeSBnZTsKKworCWdlLmdyb3VwID0g
JmdfXzsKKwlVS19TTElTVF9JTklUKCZncm91cHMpOworCVVLX1NMSVNUX0lOU0VSVF9IRUFEKCZn
cm91cHMsICZnZSwgZW50cmllcyk7Cit9CisKK3ZvaWQgc2V0Z3JlbnQodm9pZCkKK3sKKwlncm91
cHNfaXRlciA9IFVLX1NMSVNUX0ZJUlNUKCZncm91cHMpOworfQorCit2b2lkIGVuZGdyZW50KHZv
aWQpCit7CisJc2V0Z3JlbnQoKTsKK30KKworc3RydWN0IGdyb3VwICpnZXRncmVudCh2b2lkKQor
eworCXN0cnVjdCBncm91cCAqcmVzOworCisJaWYgKGdyb3Vwc19pdGVyKSB7CisJCXJlcyA9IGdy
b3Vwc19pdGVyLT5ncm91cDsKKwkJZ3JvdXBzX2l0ZXIgPSBVS19TTElTVF9ORVhUKGdyb3Vwc19p
dGVyLCBlbnRyaWVzKTsKKwl9IGVsc2UKKwkJcmVzID0gTlVMTDsKKworCXJldHVybiByZXM7CisK
K30KLS0gCjIuMjAuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnBy
b2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9t
aW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Tue Dec 17 10:12:43 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 17 Dec 2019 10:12:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ih9qL-0004mz-Bp; Tue, 17 Dec 2019 10:12:41 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=FBRG=2H=gmail.com=nicolescu.roxana1996@srs-us1.protection.inumbo.net>)
 id 1ih9qK-0004mu-3l
 for minios-devel@lists.xenproject.org; Tue, 17 Dec 2019 10:12:40 +0000
X-Inumbo-ID: c0d56ca4-20b5-11ea-b6f1-bc764e2007e4
Received: from mail-wr1-x441.google.com (unknown [2a00:1450:4864:20::441])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id c0d56ca4-20b5-11ea-b6f1-bc764e2007e4;
 Tue, 17 Dec 2019 10:12:39 +0000 (UTC)
Received: by mail-wr1-x441.google.com with SMTP id b6so10657170wrq.0
 for <minios-devel@lists.xenproject.org>; Tue, 17 Dec 2019 02:12:38 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:subject:to:references:message-id:date:user-agent:mime-version
 :in-reply-to:content-transfer-encoding:content-language;
 bh=xfBHH4+cU273YT98p7NcfxLELj5RfbuYtWwVzVhVHJY=;
 b=GbomKTg0akTcJL9qeQ63Cfcm9Ainbwdm9952edjvrGJQHUqHPdJ7oRUhWD2IxLljID
 VMeLoiUTLdPknSHM0jVVex7tMwXIXGMcKUBXP8en/roZKsasXZ35yczNL5KkXJyy386T
 vxyJjFuWwOPEA62HC8C20ALD05fw7hwT3nVGD3yR7+r8XnLixuEhdVP7eGffaGd5aWPo
 0UOLu2HUw4hqz+pjzKBgWSo7oF5TnIqE9EwxhozwZj4LJ8WMvvBJkAATUA8y8LNENtT3
 sBOTbCN1xODR6nhrPMFQmGtzXcp98ccdf9BnlBX7/EUVnWDy+sZPlv3MGHBoclB9FkNN
 eTgw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:subject:to:references:message-id:date
 :user-agent:mime-version:in-reply-to:content-transfer-encoding
 :content-language;
 bh=xfBHH4+cU273YT98p7NcfxLELj5RfbuYtWwVzVhVHJY=;
 b=a5InHGehBUpcFB+whrPc/MItV9KGfmKJyaGJAjxeiW/G/A6vixS+je8wkTfSq7/U8T
 7p1lzIyMdOtfwP99UixbApzJeHeggMbujukRWPxDBickQ1yNkvzdp9EsbVbJvDUdd6Qb
 MJZcicYMl+GrrhDhi7QmrPg8LaCeiQYZIp23eq2bDMU8++hrJdDXVigWDX7wNSNouyJ2
 24+6K1dHwoeVwzy+HY+fH7WAKuPDD46gjePQOh8AeCT5MXYyqg3qdhvukKjZCgzfDM3h
 h94tInqqfEIeaF+sljD6gnyamK16g+Rdq9DwyVHVGPVmfyKfRl4l0wCda23vPExN2etc
 1DHA==
X-Gm-Message-State: APjAAAWFtF/9lJCPrerNyDOlKwAHn5k76JRa4mKITieGGa2aksGs+pyD
 id2+5+9psLeNNrkJe6msPeT8H+xHl3g=
X-Google-Smtp-Source: APXvYqxqD5soyI13eanStl7D05X3ymQX9bFjczcsrsTTOqk96pMyK45DD23XiFdYvWvAqC1EC+Xirw==
X-Received: by 2002:adf:ebc6:: with SMTP id v6mr35921540wrn.75.1576577557872; 
 Tue, 17 Dec 2019 02:12:37 -0800 (PST)
Received: from [172.19.2.219] ([141.85.233.142])
 by smtp.gmail.com with ESMTPSA id i11sm25102895wrs.10.2019.12.17.02.12.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 17 Dec 2019 02:12:37 -0800 (PST)
From: Roxana Nicolescu <nicolescu.roxana1996@gmail.com>
To: minios-devel@lists.xenproject.org, sharan.santhanam@neclab.eu
References: <20191007094708.32353-1-sharan.santhanam@neclab.eu>
 <20191007094708.32353-2-sharan.santhanam@neclab.eu>
Message-ID: <aab516ae-d00a-b052-d1be-f6844030d41f@gmail.com>
Date: Tue, 17 Dec 2019 12:12:36 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.2.2
MIME-Version: 1.0
In-Reply-To: <20191007094708.32353-2-sharan.santhanam@neclab.eu>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT PATCH 01/15] plat/linuxu/tap:
 Introduce tap driver
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgU2hhcmFuLAoKClBsZWFzZSwgc2VlIGlubGluZS4KCgpCZXN0LAoKUm94YW5hCgpPbiAxMC83
LzE5IDEyOjQ2IFBNLCBTaGFyYW4gU2FudGhhbmFtIHdyb3RlOgo+IEludHJvZHVjZSBhIHRhcCBk
cml2ZXIgc2tlbGV0b24gd2hpY2ggaW1wbGVtZW50cyB0aGUgdWtuZXRkZXYKPiBpbnRlcmZhY2Uu
Cj4KPiBTaWduZWQtb2ZmLWJ5OiBTaGFyYW4gU2FudGhhbmFtPHNoYXJhbi5zYW50aGFuYW1AbmVj
bGFiLmV1Pgo+IC0tLQo+ICAgcGxhdC9kcml2ZXJzL3RhcC90YXAuYyAgfCAyMzIgKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gICBwbGF0L2xpbnV4dS9D
b25maWcudWsgICB8ICAxMCArKysKPiAgIHBsYXQvbGludXh1L01ha2VmaWxlLnVrIHwgICA4ICsr
Cj4gICAzIGZpbGVzIGNoYW5nZWQsIDI1MCBpbnNlcnRpb25zKCspCj4gICBjcmVhdGUgbW9kZSAx
MDA2NDQgcGxhdC9kcml2ZXJzL3RhcC90YXAuYwo+Cj4gZGlmZiAtLWdpdCBhL3BsYXQvZHJpdmVy
cy90YXAvdGFwLmMgYi9wbGF0L2RyaXZlcnMvdGFwL3RhcC5jCj4gbmV3IGZpbGUgbW9kZSAxMDA2
NDQKPiBpbmRleCAwMDAwMDAwLi5kMjMzYzZkCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL3BsYXQv
ZHJpdmVycy90YXAvdGFwLmMKPiBAQCAtMCwwICsxLDIzMiBAQAo+ICsvKiBTUERYLUxpY2Vuc2Ut
SWRlbnRpZmllcjogQlNELTMtQ2xhdXNlICovCj4gKy8qCj4gKyAqIEF1dGhvcnM6IFNoYXJhbiBT
YW50aGFuYW08c2hhcmFuLnNhbnRoYW5hbUBuZWNsYWIuZXU+Cj4gKyAqCj4gKyAqIENvcHlyaWdo
dCAoYykgMjAxOSwgTkVDIEV1cm9wZSBMdGQuLCBORUMgQ29ycG9yYXRpb24uIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCj4gKyAqCj4gKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAo+ICsgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKPiArICogYXJl
IG1ldDoKPiArICoKPiArICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKPiArICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgo+ICsgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAo+ICsgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCj4gKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCj4gKyAqIDMuIE5laXRo
ZXIgdGhlIG5hbWUgb2YgdGhlIGNvcHlyaWdodCBob2xkZXIgbm9yIHRoZSBuYW1lcyBvZiBpdHMK
PiArICogICAgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20KPiArICogICAgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KPiArICoKPiArICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMg
SVMiCj4gKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKPiArICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKPiArICog
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9S
IENPTlRSSUJVVE9SUyBCRQo+ICsgKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCj4gKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCj4gKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUwo+ICsgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgo+ICsgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQo+ICsgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRQo+ICsgKiBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KPiArICoKPiArICogVEhJUyBIRUFERVIgTUFZIE5PVCBCRSBFWFRSQUNURUQgT1IgTU9ESUZJ
RUQgSU4gQU5ZIFdBWS4KPiArICovCj4gKyNpbmNsdWRlIDxlcnJuby5oPgo+ICsjaW5jbHVkZSA8
dWsvYWxsb2MuaD4KPiArI2luY2x1ZGUgPHVrL2FyY2gvdHlwZXMuaD4KPiArI2luY2x1ZGUgPHVr
L25ldGRldl9jb3JlLmg+Cj4gKyNpbmNsdWRlIDx1ay9uZXRkZXZfZHJpdmVyLmg+Cj4gKyNpbmNs
dWRlIDx1ay9uZXRidWYuaD4KPiArI2luY2x1ZGUgPHVrL2VycnB0ci5oPgo+ICsKPiArI2RlZmlu
ZSBUQVBERVZfTUFYX0NOVAkJIDcKPiArI2RlZmluZSBUQVBERVZfSUZOQU1FX0JSUyAgICAgICAy
NTUKSSBtYXkgYmUgd3JvbmcgYnV0IEkgZG9uJ3Qgc2VlIHdoZXJlIHlvdSB1c2UgdGhlc2UgdmFy
aWFibGVzLgo+ICsjZGVmaW5lIERSSVZFUl9OQU1FICAgICAgICAgICAgICJ0YXAtbmV0Igo+ICsK
PiArLyoqCj4gKyAqIFRPRE86IEZpbmQgYSBiZXR0ZXIgd2F5IG9mIGZvcndhcmRpbmcgdGhlIGNv
bW1hbmQgbGluZSBhcmd1bWVudCB0byB0aGUKPiArICogZHJpdmVyLiBGb3Igbm93IHRoZXkgYXJl
IGRlZmluZWQgYXMgbWFjcm9zIGZyb20gdGhpcyBkcml2ZXIuCj4gKyAqLwo+ICsvKioKPiArICog
TUFDIGFkZHJlc3MgZ2VuZXJhdGlvbiBmcm9tIGV4cGVyaW1lbnRhbCByYW5nZS4KPiArICovCj4g
KyNkZWZpbmUgVEFQREVWX0lGQUNFX05BTUUgICAgICAgICJ0YXAlMDJkIgo+ICsKSSBtYXkgYmUg
d3JvbmcgYnV0IEkgZG9uJ3Qgc2VlIHdoZXJlIHlvdSB1c2UgdGhpcyB2YXJpYWJsZS4KPiArI2Rl
ZmluZSBFVEhfUEtUX1BBWUxPQURfTEVOICAgICAgIDE1MDAKPiArCj4gKy8qKgo+ICsgKiBNb2R1
bGUgZnVuY3Rpb25zCj4gKyAqLwo+ICtzdGF0aWMgaW50IHRhcF9uZXRkZXZfeG1pdChzdHJ1Y3Qg
dWtfbmV0ZGV2ICpkZXYsCj4gKwkJCSAgIHN0cnVjdCB1a19uZXRkZXZfdHhfcXVldWUgKnF1ZXVl
LAo+ICsJCQkgICBzdHJ1Y3QgdWtfbmV0YnVmICpwa3QpOwo+ICtzdGF0aWMgaW50IHRhcF9uZXRk
ZXZfcmVjdihzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsCj4gKwkJCSAgIHN0cnVjdCB1a19uZXRkZXZf
cnhfcXVldWUgKnF1ZXVlLAo+ICsJCQkgICBzdHJ1Y3QgdWtfbmV0YnVmICoqcGt0KTsKPiArc3Rh
dGljIHN0cnVjdCB1a19uZXRkZXZfcnhfcXVldWUgKnRhcF9uZXRkZXZfcnhxX3NldHVwKHN0cnVj
dCB1a19uZXRkZXYgKmRldiwKPiArCQkJCQlfX3UxNiBxdWV1ZV9pZCwgX191MTYgbmJfZGVzYywK
PiArCQkJCQlzdHJ1Y3QgdWtfbmV0ZGV2X3J4cXVldWVfY29uZiAqY29uZik7Cj4gK3N0YXRpYyBz
dHJ1Y3QgdWtfbmV0ZGV2X3R4X3F1ZXVlICp0YXBfbmV0ZGV2X3R4cV9zZXR1cChzdHJ1Y3QgdWtf
bmV0ZGV2ICpkZXYsCj4gKwkJCQkJX191MTYgcXVldWVfaWQsIF9fdTE2IG5iX2Rlc2MsCj4gKwkJ
CQkJc3RydWN0IHVrX25ldGRldl90eHF1ZXVlX2NvbmYgKmNvbmYpOwo+ICtzdGF0aWMgaW50IHRh
cF9uZXRkZXZfY29uZmlndXJlKHN0cnVjdCB1a19uZXRkZXYgKm4sCj4gKwkJCQljb25zdCBzdHJ1
Y3QgdWtfbmV0ZGV2X2NvbmYgKmNvbmYpOwo+ICtzdGF0aWMgaW50IHRhcF9uZXRkZXZfc3RhcnQo
c3RydWN0IHVrX25ldGRldiAqbik7Cj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgdWtfaHdhZGRyICp0
YXBfbmV0ZGV2X21hY19nZXQoc3RydWN0IHVrX25ldGRldiAqbik7Cj4gK3N0YXRpYyBpbnQgdGFw
X25ldGRldl9tYWNfc2V0KHN0cnVjdCB1a19uZXRkZXYgKm4sCj4gKwkJCSAgICAgIGNvbnN0IHN0
cnVjdCB1a19od2FkZHIgKmh3YWRkcik7Cj4gK3N0YXRpYyBfX3UxNiB0YXBfbmV0ZGV2X210dV9n
ZXQoc3RydWN0IHVrX25ldGRldiAqbik7Cj4gK3N0YXRpYyBpbnQgdGFwX25ldGRldl9tdHVfc2V0
KHN0cnVjdCB1a19uZXRkZXYgKm4sICBfX3UxNiBtdHUpOwo+ICtzdGF0aWMgdW5zaWduZWQgaW50
IHRhcF9uZXRkZXZfcHJvbWlzY19nZXQoc3RydWN0IHVrX25ldGRldiAqbik7Cj4gK3N0YXRpYyB2
b2lkIHRhcF9uZXRkZXZfaW5mb19nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2LAo+ICsJCQkJc3Ry
dWN0IHVrX25ldGRldl9pbmZvICpkZXZfaW5mbyk7Cj4gK3N0YXRpYyBpbnQgdGFwX25ldGRldl9y
eHFfaW5mb19nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2LCBfX3UxNiBxdWV1ZV9pZCwKPiArCQkJ
CSAgIHN0cnVjdCB1a19uZXRkZXZfcXVldWVfaW5mbyAqcWluZm8pOwo+ICtzdGF0aWMgaW50IHRh
cF9uZXRkZXZfdHhxX2luZm9fZ2V0KHN0cnVjdCB1a19uZXRkZXYgKmRldiwgX191MTYgcXVldWVf
aWQsCj4gKwkJCQkgICBzdHJ1Y3QgdWtfbmV0ZGV2X3F1ZXVlX2luZm8gKnFpbmZvKTsKPiArCj4g
Ky8qKgo+ICsgKiBMb2NhbCBmdW5jdGlvbiBkZWZpbml0aW9ucwo+ICsgKi8KPiArCj4gK3N0YXRp
YyBpbnQgdGFwX25ldGRldl9yZWN2KHN0cnVjdCB1a19uZXRkZXYgKmRldiwKPiArCQkJICAgc3Ry
dWN0IHVrX25ldGRldl9yeF9xdWV1ZSAqcXVldWUsCj4gKwkJCSAgIHN0cnVjdCB1a19uZXRidWYg
Kipwa3QpCj4gK3sKPiArCWludCByYyA9IC1FSU5WQUw7Cj4gKwo+ICsJVUtfQVNTRVJUKGRldik7
Cj4gKwlVS19BU1NFUlQocXVldWUgJiYgcGt0KTsKPiArCj4gKwlyZXR1cm4gcmM7Cj4gK30KPiAr
Cj4gK3N0YXRpYyBpbnQgdGFwX25ldGRldl94bWl0KHN0cnVjdCB1a19uZXRkZXYgKmRldiwKPiAr
CQkJICAgc3RydWN0IHVrX25ldGRldl90eF9xdWV1ZSAqcXVldWUsCj4gKwkJCSAgIHN0cnVjdCB1
a19uZXRidWYgKnBrdCkKPiArewo+ICsJaW50IHJjID0gLUVJTlZBTDsKPiArCj4gKwlVS19BU1NF
UlQoZGV2KTsKPiArCVVLX0FTU0VSVChxdWV1ZSAmJiBwa3QpOwo+ICsKPiArCXJldHVybiByYzsK
PiArfQo+ICsKPiArc3RhdGljIGludCB0YXBfbmV0ZGV2X3R4cV9pbmZvX2dldChzdHJ1Y3QgdWtf
bmV0ZGV2ICpkZXYgX191bnVzZWQsCj4gKwkJCQkgICBfX3UxNiBxdWV1ZV9pZCBfX3VudXNlZCwK
PiArCQkJCSAgIHN0cnVjdCB1a19uZXRkZXZfcXVldWVfaW5mbyAqcWluZm8gX191bnVzZWQpCj4g
K3sKPiArCXJldHVybiAtRUlOVkFMOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50IHRhcF9uZXRkZXZf
cnhxX2luZm9fZ2V0KHN0cnVjdCB1a19uZXRkZXYgKmRldiBfX3VudXNlZCwKPiArCQkJCSAgIF9f
dTE2IHF1ZXVlX2lkIF9fdW51c2VkLAo+ICsJCQkJICAgc3RydWN0IHVrX25ldGRldl9xdWV1ZV9p
bmZvICpxaW5mbyBfX3VudXNlZCkKPiArewo+ICsJcmV0dXJuIC1FSU5WQUw7Cj4gK30KPiArCj4g
K3N0YXRpYyBzdHJ1Y3QgdWtfbmV0ZGV2X3J4X3F1ZXVlICp0YXBfbmV0ZGV2X3J4cV9zZXR1cChz
dHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsCj4gKwkJCQkJCSAgICAgICBfX3UxNiBxdWV1ZV9pZCBfX3Vu
dXNlZCwKPiArCQkJCQkJICAgICAgIF9fdTE2IG5iX2Rlc2MgX191bnVzZWQsCj4gKwkJCQkJc3Ry
dWN0IHVrX25ldGRldl9yeHF1ZXVlX2NvbmYgKmNvbmYpCj4gK3sKPiArCWludCByYyA9IC1FSU5W
QUw7Cj4gKwlzdHJ1Y3QgdWtfbmV0ZGV2X3J4X3F1ZXVlICpyeHEgPSBOVUxMOwo+ICsKPiArCVVL
X0FTU0VSVChkZXYgJiYgY29uZik7Cj4gKwo+ICsJcnhxID0gRVJSMlBUUihyYyk7Cj4gKwlyZXR1
cm4gcnhxOwo+ICt9Cj4gKwo+ICtzdGF0aWMgc3RydWN0IHVrX25ldGRldl90eF9xdWV1ZSAqdGFw
X25ldGRldl90eHFfc2V0dXAoc3RydWN0IHVrX25ldGRldiAqZGV2LAo+ICsJCQkJCQkgICAgICAg
X191MTYgcXVldWVfaWQgX191bnVzZWQsCj4gKwkJCQkJCSAgICAgICBfX3UxNiBuYl9kZXNjIF9f
dW51c2VkLAo+ICsJCQkJCXN0cnVjdCB1a19uZXRkZXZfdHhxdWV1ZV9jb25mICpjb25mKQo+ICt7
Cj4gKwlpbnQgcmMgPSAtRUlOVkFMOwo+ICsJc3RydWN0IHVrX25ldGRldl90eF9xdWV1ZSAqdHhx
ID0gTlVMTDsKPiArCj4gKwlVS19BU1NFUlQoZGV2ICYmIGNvbmYpOwo+ICsKPiArCXR4cSA9IEVS
UjJQVFIocmMpOwo+ICsJcmV0dXJuIHR4cTsKPiArfQo+ICsKPiArc3RhdGljIGludCB0YXBfbmV0
ZGV2X3N0YXJ0KHN0cnVjdCB1a19uZXRkZXYgKm4pCj4gK3sKPiArCWludCByYyA9IC1FSU5WQUw7
Cj4gKwo+ICsJVUtfQVNTRVJUKG4pOwo+ICsJcmV0dXJuIHJjOwo+ICt9Cj4gKwo+ICtzdGF0aWMg
dm9pZCB0YXBfbmV0ZGV2X2luZm9fZ2V0KHN0cnVjdCB1a19uZXRkZXYgKmRldiBfX3VudXNlZCwK
PiArCQkJCXN0cnVjdCB1a19uZXRkZXZfaW5mbyAqZGV2X2luZm8pCj4gK3sKPiArCVVLX0FTU0VS
VChkZXZfaW5mbyk7Cj4gK30KPiArCj4gK3N0YXRpYyB1bnNpZ25lZCBpbnQgdGFwX25ldGRldl9w
cm9taXNjX2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpuKQo+ICt7Cj4gKwo+ICsJVUtfQVNTRVJUKG4p
Owo+ICsKPiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ICtzdGF0aWMgX191MTYgdGFwX25ldGRldl9t
dHVfZ2V0KHN0cnVjdCB1a19uZXRkZXYgKm4pCj4gK3sKPiArCVVLX0FTU0VSVChuKTsKPiArCXJl
dHVybiAwOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50IHRhcF9uZXRkZXZfbXR1X3NldChzdHJ1Y3Qg
dWtfbmV0ZGV2ICpuLCAgX191MTYgbXR1IF9fdW51c2VkKQo+ICt7Cj4gKwlpbnQgcmMgPSAtRUlO
VkFMOwo+ICsKPiArCVVLX0FTU0VSVChuKTsKPiArCj4gKwlyZXR1cm4gcmM7Cj4gK30KPiArCj4g
K3N0YXRpYyBjb25zdCBzdHJ1Y3QgdWtfaHdhZGRyICp0YXBfbmV0ZGV2X21hY19nZXQoc3RydWN0
IHVrX25ldGRldiAqbikKPiArewo+ICsJVUtfQVNTRVJUKG4pOwo+ICsJcmV0dXJuIE5VTEw7Cj4g
K30KPiArCj4gK3N0YXRpYyBpbnQgdGFwX25ldGRldl9tYWNfc2V0KHN0cnVjdCB1a19uZXRkZXYg
Km4sCj4gKwkJCSAgICAgIGNvbnN0IHN0cnVjdCB1a19od2FkZHIgKmh3YWRkcikKPiArewo+ICsJ
aW50IHJjID0gLUVJTlZBTDsKPiArCj4gKwlVS19BU1NFUlQobiAmJiBod2FkZHIpOwo+ICsJcmV0
dXJuIHJjOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50IHRhcF9uZXRkZXZfY29uZmlndXJlKHN0cnVj
dCB1a19uZXRkZXYgKm4sCj4gKwkJCQljb25zdCBzdHJ1Y3QgdWtfbmV0ZGV2X2NvbmYgKmNvbmYp
Cj4gK3sKPiArCWludCByYyA9IC1FSU5WQUw7Cj4gKwo+ICsJVUtfQVNTRVJUKG4gJiYgY29uZik7
Cj4gKwlyZXR1cm4gcmM7Cj4gK30KPiArCj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgdWtfbmV0ZGV2
X29wcyB0YXBfbmV0ZGV2X29wcyA9IHsKPiArCS5jb25maWd1cmUgPSB0YXBfbmV0ZGV2X2NvbmZp
Z3VyZSwKPiArCS5yeHFfY29uZmlndXJlID0gdGFwX25ldGRldl9yeHFfc2V0dXAsCj4gKwkudHhx
X2NvbmZpZ3VyZSA9IHRhcF9uZXRkZXZfdHhxX3NldHVwLAo+ICsJLnN0YXJ0ID0gdGFwX25ldGRl
dl9zdGFydCwKPiArCS5pbmZvX2dldCA9IHRhcF9uZXRkZXZfaW5mb19nZXQsCj4gKwkucHJvbWlz
Y3VvdXNfZ2V0ID0gdGFwX25ldGRldl9wcm9taXNjX2dldCwKPiArCS5od2FkZHJfZ2V0ID0gdGFw
X25ldGRldl9tYWNfZ2V0LAo+ICsJLmh3YWRkcl9zZXQgPSB0YXBfbmV0ZGV2X21hY19zZXQsCj4g
KwkubXR1X2dldCA9IHRhcF9uZXRkZXZfbXR1X2dldCwKPiArCS5tdHVfc2V0ID0gdGFwX25ldGRl
dl9tdHVfc2V0LAo+ICsJLnR4cV9pbmZvX2dldCA9IHRhcF9uZXRkZXZfdHhxX2luZm9fZ2V0LAo+
ICsJLnJ4cV9pbmZvX2dldCA9IHRhcF9uZXRkZXZfcnhxX2luZm9fZ2V0LAo+ICt9Owo+IGRpZmYg
LS1naXQgYS9wbGF0L2xpbnV4dS9Db25maWcudWsgYi9wbGF0L2xpbnV4dS9Db25maWcudWsKPiBp
bmRleCBlZGU5NTg5Li44OTZlOWVhIDEwMDY0NAo+IC0tLSBhL3BsYXQvbGludXh1L0NvbmZpZy51
awo+ICsrKyBiL3BsYXQvbGludXh1L0NvbmZpZy51awo+IEBAIC0xNiw0ICsxNiwxNCBAQCBpZiAo
UExBVF9MSU5VWFUpCj4gICAJCWNoYW5nZWQgYnkgdXNpbmcgbGludXh1LmhlYXBfc2l6ZSBhcyBh
IGNvbW1hbmQgbGluZSBhcmd1bWVudC4gRm9yIG1vcmUKPiAgIAkJaW5mb3JtYXRpb24gcmVmZXIg
dG8gIkNvbW1hbmQgbGluZSBhcmd1bWVudHMgaW4gVW5pa3JhZnQiIHNlY3Rpb25zIGluCj4gICAJ
CXRoZSBkZXZlbG9wZXJzIGd1aWRlCj4gKwo+ICsJY29uZmlnIFRBUF9ORVRzaGFyYW4uc2FudGhh
bmFtQG5lY2xhYi5ldQo+ICsJYm9vbCAiVGFwIGRyaXZlciIKPiArCWRlZmF1bHQgeSBpZiBMSUJV
S05FVERFVgo+ICsJZGVmYXVsdCBuCkkgdGhpbmsgdGhpcyBsaW5lIGlzIHJlZHVuZGFudCwgdGhl
IHRhcCBkcml2ZXIgd29uJ3QgYmUgc2VsZWN0ZWQgaWYgCmBMSUJVS05FVERFVmAgaXMgbm90Lgo+
ICsJZGVwZW5kcyBvbiBMSUJVS05FVERFVgo+ICsJaGVscAo+ICsJCUVuYWJsZSBkcml2ZXJzIHRv
IHN1cHBvcnQgdGFwIGRldmljZSBvbiB0aGUgbGludXh1IHBsYXRmb3JtLiBUaGUKPiArCQlkcml2
ZXIgaW1wbGVtZW50cyB0aGUgdWtuZXRkZXYgaW50ZXJmYWNlIGFuZCBwcm92aWRlcyBhbiBpbnRl
cmZhY2UKPiArCQlmb3IgdGhlIG5ldHdvcmsgc3RhY2sgdG8gc2VuZC9yZWNlaXZlIG5ldHdvcmsg
cGFja2V0cy4KPiAgIGVuZGlmCj4gZGlmZiAtLWdpdCBhL3BsYXQvbGludXh1L01ha2VmaWxlLnVr
IGIvcGxhdC9saW51eHUvTWFrZWZpbGUudWsKPiBpbmRleCA5NDUxNmFjLi4xYWNlNDdjIDEwMDY0
NAo+IC0tLSBhL3BsYXQvbGludXh1L01ha2VmaWxlLnVrCj4gKysrIGIvcGxhdC9saW51eHUvTWFr
ZWZpbGUudWsKPiBAQCAtNyw2ICs3LDcgQEAgJChldmFsICQoY2FsbCBhZGRwbGF0X3MsbGludXh1
LCQoQ09ORklHX1BMQVRfTElOVVhVKSkpCj4gICAjIyBMaW51eCB1c2VyIHBsYXRmb3JtIGxpYnJh
cnkgcmVnaXN0cmF0aW9uCj4gICAjIwo+ICAgJChldmFsICQoY2FsbCBhZGRwbGF0bGliLGxpbnV4
dSxsaWJsaW51eHVwbGF0KSkKPiArJChldmFsICQoY2FsbCBhZGRwbGF0bGliLGxpbnV4dSxsaWJs
aW51eHV0YXBuZXQpKQo+ICAgCj4gICAjIyBBZGRpbmcgbGlicGFyYW0gZm9yIHRoZSBsaW51eHUg
cGxhdGZvcm0KPiAgICQoZXZhbCAkKGNhbGwgYWRkbGliX3BhcmFtcHJlZml4LGxpYmxpbnV4dXBs
YXQsbGludXh1KSkKPiBAQCAtNDYsMyArNDcsMTAgQEAgTElCTElOVVhVUExBVF9TUkNTLSQoQ09O
RklHX0FSQ0hfWDg2XzY0KSArPSBcCj4gICAJCQkkKExJQkxJTlVYVVBMQVRfQkFTRSkveDg2L2xp
bms2NC5sZHMuUwo+ICAgTElCTElOVVhVUExBVF9TUkNTLSQoQ09ORklHX0FSQ0hfQVJNXzMyKSAr
PSBcCj4gICAJCQkkKExJQkxJTlVYVVBMQVRfQkFTRSkvYXJtL2xpbmsubGRzLlMKPiArCj4gKyMj
Cj4gKyMjIExJTlVYVVRBUE5FVCBTb3VyY2UKPiArTElCTElOVVhVVEFQTkVUX0FTSU5DTFVFRC15
ICAgICAgICAgKz0gLUkkKExJQkxJTlVYVVBMQVRfQkFTRSkvaW5jbHVkZQo+ICtMSUJMSU5VWFVU
QVBORVRfQ0lOQ0xVREVTLXkgICAgICAgICArPSAtSSQoTElCTElOVVhVUExBVF9CQVNFKS9pbmNs
dWRlCj4gKwo+ICtMSUJMSU5VWFVUQVBORVRfU1JDUy15CQkgICs9ICQoVUtfUExBVF9EUklWRVJT
X0JBU0UpL3RhcC90YXAuYwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVu
cHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZv
L21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Tue Dec 17 10:14:34 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 17 Dec 2019 10:14:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ih9s9-0004tt-To; Tue, 17 Dec 2019 10:14:33 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=FBRG=2H=gmail.com=nicolescu.roxana1996@srs-us1.protection.inumbo.net>)
 id 1ih9s8-0004tn-N5
 for minios-devel@lists.xenproject.org; Tue, 17 Dec 2019 10:14:32 +0000
X-Inumbo-ID: 042ed13e-20b6-11ea-88e7-bc764e2007e4
Received: from mail-wr1-x442.google.com (unknown [2a00:1450:4864:20::442])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 042ed13e-20b6-11ea-88e7-bc764e2007e4;
 Tue, 17 Dec 2019 10:14:32 +0000 (UTC)
Received: by mail-wr1-x442.google.com with SMTP id d16so10636548wre.10
 for <minios-devel@lists.xenproject.org>; Tue, 17 Dec 2019 02:14:31 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:subject:to:references:message-id:date:user-agent:mime-version
 :in-reply-to:content-transfer-encoding:content-language;
 bh=LJdFZP5dF6dCjSh+B+zG/3pYgMc/aX6llHNCDCkJMI4=;
 b=IOcLNMHf3rk3jLJ8u1hsnmlHUjIht0aQ2vKghU8J5e7b3/RrvCwpEQqZaV16LiSHk+
 fVnE5C2uZTBmF8QqVjqoRZBPl9iseDw407RfTfOnHH2kU1RrCIJLXYxrtOUSJhIdbswD
 zBJlq2XTD4jjqxXpRrUmD1DZIHq1Vtpn8PcWSQrCFuhY3lZvCDxrmdD83/9g9jxzOKFw
 /sBDg4Eg1+O2QG57VSriOVA4LG889fRJpkrEdzIQmOhVbNMnoJIF2EhcmQXuwMDfZFmF
 TaOMeAigHYY0OwLuN4BnzC/diWTBtHQG+Ay+ULQV1wQnyXBCAdJjrPJ8NXxo9dhbHykQ
 NR/A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:subject:to:references:message-id:date
 :user-agent:mime-version:in-reply-to:content-transfer-encoding
 :content-language;
 bh=LJdFZP5dF6dCjSh+B+zG/3pYgMc/aX6llHNCDCkJMI4=;
 b=sYqZsvwiWOJuLXYlm43vepZ+x/Jz6C3qJhttzYjRB17dprjYP55jjLc+fT8nku7m78
 BzTiljGVycFsLdOcuoD2YovvfDpeJBZdn0yZlLxsL7D8mKY4dFC6nUOfErSndo31Hl/q
 FZeQnSfrbYy1t6B4/+ArpdYjZPHGCjZwyNbhIox6hBo0H9R8ojCewfnRwJe7+K1TPb2Q
 762AO22O/qf8A1ufICmH/3xZvusSThmDvZCi/6h60tZeWoRLyYV920g59EDxXg+Xn0AB
 PSkp1FDWNYit7IGYM4WdXGhCg8jCxV1OI0QeUt6haueR/LnZ2Ywy9+guSjduhKGyBQLC
 sOQQ==
X-Gm-Message-State: APjAAAXkGS/egMw4EhdREsi/qdAfkkum7sFmKvkk8LXRG/bMrRrCR8i8
 jSMwPKAIUcmp7JWlG6OIuFA=
X-Google-Smtp-Source: APXvYqy7dSD0hE6ZQ8pESx87+h6Oe+zIUl9D81bZHByja1vGnCoTmEynS39t9qrALl6blawtHJPMsA==
X-Received: by 2002:adf:fe86:: with SMTP id l6mr34662712wrr.252.1576577671087; 
 Tue, 17 Dec 2019 02:14:31 -0800 (PST)
Received: from [172.19.2.219] ([141.85.233.142])
 by smtp.gmail.com with ESMTPSA id q19sm2385750wmc.12.2019.12.17.02.14.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 17 Dec 2019 02:14:30 -0800 (PST)
From: Roxana Nicolescu <nicolescu.roxana1996@gmail.com>
To: minios-devel@lists.xenproject.org, sharan.santhanam@neclab.eu
References: <20191007094708.32353-1-sharan.santhanam@neclab.eu>
 <20191007094708.32353-3-sharan.santhanam@neclab.eu>
Message-ID: <6f05b024-f518-cbff-67df-2acedf26d583@gmail.com>
Date: Tue, 17 Dec 2019 12:14:29 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.2.2
MIME-Version: 1.0
In-Reply-To: <20191007094708.32353-3-sharan.santhanam@neclab.eu>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT PATCH 02/15] plat/tap: Bus interface
 for the tap device
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgU2hhcmFuLAoKClRoYW5rIHlvdSB2ZXJ5IG11Y2ggZm9yIHRoZSBwYXRjaC4gUGxlYXNlLCBz
ZWUgbXkgY29tbWVudHMgaW5saW5lLgoKCkJlc3QsCgpSb3hhbmEKCk9uIDA3LjEwLjIwMTkgMTI6
NDYsIFNoYXJhbiBTYW50aGFuYW0gd3JvdGU6Cj4gVGhlIHRhcCBkcml2ZXIgcmVnaXN0ZXJzIGl0
c2VsZiB3aXRoIHRoZSB1a19idXMuIFRoZSB1a19idXMgb24KPiBpbml0aWFsaXphdGlvbiBwcm92
aWRlIHRoZSBuZWNlc3NhcnkgaW50ZXJmYWNlIHRvIHNldHVwIHRoZSBkcml2ZXIuCj4gVGhlIHBy
b2JlIGNhbGxiYWNrIHByb3ZpZGVzIG5lY2Vzc2FyeSBpbnRlcmZhY2UgdG8gc2V0dXAgdGhlIHRh
cCBkZXZpY2UuCj4KPiBTaWduZWQtb2ZmLWJ5OiBTaGFyYW4gU2FudGhhbmFtPHNoYXJhbi5zYW50
aGFuYW1AbmVjbGFiLmV1Pgo+IC0tLQo+ICAgcGxhdC9kcml2ZXJzL3RhcC90YXAuYyB8IDM4ICsr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gICBwbGF0L2xpbnV4dS9Db25m
aWcudWsgIHwgIDEgKwo+ICAgMiBmaWxlcyBjaGFuZ2VkLCAzOSBpbnNlcnRpb25zKCspCj4KPiBk
aWZmIC0tZ2l0IGEvcGxhdC9kcml2ZXJzL3RhcC90YXAuYyBiL3BsYXQvZHJpdmVycy90YXAvdGFw
LmMKPiBpbmRleCBkMjMzYzZkLi5mZmQyMWJlIDEwMDY0NAo+IC0tLSBhL3BsYXQvZHJpdmVycy90
YXAvdGFwLmMKPiArKysgYi9wbGF0L2RyaXZlcnMvdGFwL3RhcC5jCj4gQEAgLTMyLDEyICszMiwx
NiBAQAo+ICAgICogVEhJUyBIRUFERVIgTUFZIE5PVCBCRSBFWFRSQUNURUQgT1IgTU9ESUZJRUQg
SU4gQU5ZIFdBWS4KPiAgICAqLwo+ICAgI2luY2x1ZGUgPGVycm5vLmg+Cj4gKyNpbmNsdWRlIDxz
dGRpby5oPgo+ICsjaW5jbHVkZSA8c3RyaW5nLmg+Cj4gICAjaW5jbHVkZSA8dWsvYWxsb2MuaD4K
PiAgICNpbmNsdWRlIDx1ay9hcmNoL3R5cGVzLmg+Cj4gICAjaW5jbHVkZSA8dWsvbmV0ZGV2X2Nv
cmUuaD4KPiAgICNpbmNsdWRlIDx1ay9uZXRkZXZfZHJpdmVyLmg+Cj4gICAjaW5jbHVkZSA8dWsv
bmV0YnVmLmg+Cj4gICAjaW5jbHVkZSA8dWsvZXJycHRyLmg+Cj4gKyNpbmNsdWRlIDx1ay9idXMu
aD4KPiArCj4gICAKPiAgICNkZWZpbmUgVEFQREVWX01BWF9DTlQJCSA3Cj4gICAjZGVmaW5lIFRB
UERFVl9JRk5BTUVfQlJTICAgICAgIDI1NQo+IEBAIC01NCw2ICs1OCwxOCBAQAo+ICAgCj4gICAj
ZGVmaW5lIEVUSF9QS1RfUEFZTE9BRF9MRU4gICAgICAgMTUwMAo+ICAgCj4gK3N0cnVjdCB0YXBf
bmV0X2RydiB7Cj4gKwlzdHJ1Y3QgdWtfYWxsb2MgKmE7Cj4gKwlVS19UQUlMUV9IRUFEKHRkZXZf
bGlzdCwgc3RydWN0IHRhcF9uZXRfZGV2KSB0YXBfZGV2X2xpc3Q7Ckkgd2lsbCBpbnRyb2R1Y2Ug
dGhpcyBsaXN0IGluIHRoZSBuZXh0IHBhdGNoIHdoZW4geW91IGludHJvZHVjZSBgc3RydWN0IAp0
YXBfbmV0X2RldmAuIEl0IGlzIHVua25vd24gZm9yIG5vdy4KPiArCV9fdTE2IHRhcF9kZXZfY250
Owo+ICsJY2hhciAqKmJyaWRnZV9pZnM7Cj4gK307CkNvdWxkIHlvdSBwcm92aWRlIHNvbWUgY29t
bWVudHMgZm9yIHRoaXMgbWVtYmVycz8gSXQgd291bGQgaW5jcmVhc2UgdGhlIAp2aXNpYmlsaXR5
Lgo+ICsKPiArLyoqCj4gKyAqIE1vZHVsZSBsZXZlbCB2YXJpYWJsZXMKPiArICovCj4gK3N0YXRp
YyBzdHJ1Y3QgdGFwX25ldF9kcnYgdGFwX2RydiA9IHswfTsKPiArCj4gICAvKioKPiAgICAqIE1v
ZHVsZSBmdW5jdGlvbnMKPiAgICAqLwo+IEBAIC0yMzAsMyArMjQ2LDI1IEBAIHN0YXRpYyBjb25z
dCBzdHJ1Y3QgdWtfbmV0ZGV2X29wcyB0YXBfbmV0ZGV2X29wcyA9IHsKPiAgIAkudHhxX2luZm9f
Z2V0ID0gdGFwX25ldGRldl90eHFfaW5mb19nZXQsCj4gICAJLnJ4cV9pbmZvX2dldCA9IHRhcF9u
ZXRkZXZfcnhxX2luZm9fZ2V0LAo+ICAgfTsKPiArLyoqCj4gKyAqIFJlZ2lzdGVyIGEgdGFwIGRy
aXZlciBhcyBidXMuIEN1cnJlbnRseSBpbiBVbmlrcmFmdCwgdGhlIHVrX2J1cyBpbnRlcmZhY2UK
PiArICogcHJvdmlkZXMgdGhlIG5lY2Vzc2FyeSB0byBwcm92aWRlIGNhbGxiYWNrcyBmb3IgYnJp
bmcgYSBwc2V1ZG8gZGV2aWNlLiBJbiB0aGUKPiArICogZnV0dXJlIHdlIG1pZ2h0IHByb3ZpZGUg
aW50ZXJmYWNlIHRvIHN1cHBvcnQgdGhlIHBzZXVkbyBkZXZpY2UuCj4gKyAqLwo+ICtzdGF0aWMg
aW50IHRhcF9kcnZfcHJvYmUodm9pZCkKPiArewo+ICsJcmV0dXJuIDA7Cj4gK30KPiArCj4gK3N0
YXRpYyBpbnQgdGFwX2Rydl9pbml0KHN0cnVjdCB1a19hbGxvYyAqX2EpCj4gK3sKPiArCXRhcF9k
cnYuYSA9IF9hOwo+ICsJVUtfVEFJTFFfSU5JVCgmdGFwX2Rydi50YXBfZGV2X2xpc3QpOwpXZSBz
aG91bGQgbW92ZSBpdCBpbiB0aGUgbmV4dCBwYXRjaC4KPiArCXJldHVybiAwOwo+ICt9Cj4gKwo+
ICtzdGF0aWMgc3RydWN0IHVrX2J1cyB0YXBfYnVzID0gewo+ICsJLmluaXQgPSB0YXBfZHJ2X2lu
aXQsCj4gKwkucHJvYmUgPSB0YXBfZHJ2X3Byb2JlLAo+ICt9Owo+ICtVS19CVVNfUkVHSVNURVIo
JnRhcF9idXMpOwo+IGRpZmYgLS1naXQgYS9wbGF0L2xpbnV4dS9Db25maWcudWsgYi9wbGF0L2xp
bnV4dS9Db25maWcudWsKPiBpbmRleCA4OTZlOWVhLi5kODViNmZkIDEwMDY0NAo+IC0tLSBhL3Bs
YXQvbGludXh1L0NvbmZpZy51awo+ICsrKyBiL3BsYXQvbGludXh1L0NvbmZpZy51awo+IEBAIC0y
Miw2ICsyMiw3IEBAIGlmIChQTEFUX0xJTlVYVSkKPiAgIAlkZWZhdWx0IHkgaWYgTElCVUtORVRE
RVYKPiAgIAlkZWZhdWx0IG4KPiAgIAlkZXBlbmRzIG9uIExJQlVLTkVUREVWCj4gKwlzZWxlY3Qg
TElCVUtCVVMKPiAgIAloZWxwCj4gICAJCUVuYWJsZSBkcml2ZXJzIHRvIHN1cHBvcnQgdGFwIGRl
dmljZSBvbiB0aGUgbGludXh1IHBsYXRmb3JtLiBUaGUKPiAgIAkJZHJpdmVyIGltcGxlbWVudHMg
dGhlIHVrbmV0ZGV2IGludGVyZmFjZSBhbmQgcHJvdmlkZXMgYW4gaW50ZXJmYWNlCgpfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFp
bGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3Rz
LnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Tue Dec 17 10:16:02 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 17 Dec 2019 10:16:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ih9ta-0004xU-3E; Tue, 17 Dec 2019 10:16:02 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=FBRG=2H=gmail.com=nicolescu.roxana1996@srs-us1.protection.inumbo.net>)
 id 1ih9tY-0004xO-Df
 for minios-devel@lists.xenproject.org; Tue, 17 Dec 2019 10:16:00 +0000
X-Inumbo-ID: 38595240-20b6-11ea-88e7-bc764e2007e4
Received: from mail-wr1-x444.google.com (unknown [2a00:1450:4864:20::444])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 38595240-20b6-11ea-88e7-bc764e2007e4;
 Tue, 17 Dec 2019 10:15:59 +0000 (UTC)
Received: by mail-wr1-x444.google.com with SMTP id c9so10639163wrw.8
 for <minios-devel@lists.xenproject.org>; Tue, 17 Dec 2019 02:15:59 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:subject:to:references:message-id:date:user-agent:mime-version
 :in-reply-to:content-transfer-encoding:content-language;
 bh=etkkkZOBdHqu0KgMzagGaHM+/sAejxPhp/q9uxkUQDo=;
 b=VToCkesPTTl1S2WCxyc7TZJ0Fn3BvU1cu0NMO9I7bxvuG235TIdIh4ijSZPThSO7b6
 VLUecJoHSttNg8K0r7owbrzLT6ujaBKsv2j9qG+dqIBOLbM/wRHwihnjprHQgO/U/kJo
 afSdKIOdbQsSB6QgILh8rHRem1WmL2+uKE82mJB1gb1noMJz7WXjdtjkEykIVBy8flcD
 F20Y1ceCSdYgALF+nq6RNaWbFwS6l07cnEbOSJosYc4IfZHgO36ZH/P/C7Gdg1tGzI9y
 gSXwuaZeZyr6DBmDw5mFfxwyNDBe4B6gT5vKn6KGiaV7PgSCP+2x5kfriwXme0WXRS/4
 XL4Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:subject:to:references:message-id:date
 :user-agent:mime-version:in-reply-to:content-transfer-encoding
 :content-language;
 bh=etkkkZOBdHqu0KgMzagGaHM+/sAejxPhp/q9uxkUQDo=;
 b=hkKlzHIGuCRK7UdurGRIYbjPr3QaJczVRXMH8zRhgL6HxRQIpgEnY226Ws+A5RLljC
 +SrfCXextSKgJjaQP3VjtK818EGvJN128YmaDJBZNurQMsgSbyUtj4YOZUy181NVzxpm
 1W9PRr7XyA3OL9tiM5EY8bSI6ePlbNL/O32XszAAJ84BEs5hWDBAr3iVDDQ22RHy6FMq
 82VkrT90XryfRzqsNUmrsBk9v4wjPlwPGVmfnQ6udUTuJfBqzRYluhQhvMvoVf5BEbyn
 k4su/jFxyMH/+DUDLLkOGtDawjyQwac92HdL8ell/llAxy3isXwXhmogmVeLj+wD4whx
 XXiQ==
X-Gm-Message-State: APjAAAXCcwYTsa2+zUbuklos4N0P4UybDKtSA78TPYvQN4GOaW1/qlQn
 WtcPPHgPjD/7wHFElOWJPN2F5/TDWPw=
X-Google-Smtp-Source: APXvYqyKPEzdnOZysaNEbGDdObK44QpENNEWpWGQ4hXcWO/glrr8Cxaw39ZuF0MUAftvoPx7Vq8GMg==
X-Received: by 2002:adf:f586:: with SMTP id f6mr34975542wro.46.1576577758098; 
 Tue, 17 Dec 2019 02:15:58 -0800 (PST)
Received: from [172.19.2.219] ([141.85.233.142])
 by smtp.gmail.com with ESMTPSA id x26sm2414403wmc.30.2019.12.17.02.15.57
 for <minios-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 17 Dec 2019 02:15:57 -0800 (PST)
From: Roxana Nicolescu <nicolescu.roxana1996@gmail.com>
To: minios-devel@lists.xenproject.org
References: <20191007094708.32353-1-sharan.santhanam@neclab.eu>
 <20191007094708.32353-4-sharan.santhanam@neclab.eu>
Message-ID: <18d56a48-f6af-4228-3e1b-18e1e0cda8d1@gmail.com>
Date: Tue, 17 Dec 2019 12:15:56 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.2.2
MIME-Version: 1.0
In-Reply-To: <20191007094708.32353-4-sharan.santhanam@neclab.eu>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT PATCH 03/15] plat/driver: Add tap
 device to the uk_netdev
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgU2hhcmFuLAoKClNlZSBpbmxpbmUuCgoKUm94YW5hCgpPbiAwNy4xMC4yMDE5IDEyOjQ2LCBT
aGFyYW4gU2FudGhhbmFtIHdyb3RlOgo+IFRoZSBwYXRjaCBwcm92aWRlcyB0aGUgaW1wbGVtZW50
YXRpb24gdG8gcGFyc2UgdGhlIHVzZXIgcHJvdmlkZWQgdGFwCj4gZGV2aWNlIGluZm9ybWF0aW9u
LiBUaGUgdGFwIGRldmljZSBkZXRlY3RlZCBhcmUgcmVnaXN0ZXJlZCB0byB0aGUKPiB1a19uZXRk
ZXYuCj4KPiBTaWduZWQtb2ZmLWJ5OiBTaGFyYW4gU2FudGhhbmFtPHNoYXJhbi5zYW50aGFuYW1A
bmVjbGFiLmV1Pgo+IC0tLQo+ICAgcGxhdC9kcml2ZXJzL3RhcC90YXAuYyAgICAgICAgICAgfCAx
MjYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gICBwbGF0L2xpbnV4
dS9Db25maWcudWsgICAgICAgICAgICB8ICAgNyArKysKPiAgIHBsYXQvbGludXh1L01ha2VmaWxl
LnVrICAgICAgICAgIHwgICA0ICsrCj4gICBwbGF0L2xpbnV4dS9pbmNsdWRlL2xpbnV4dS90YXAu
aCB8ICA0NSArKysrKysrKysrKysrKwo+ICAgNCBmaWxlcyBjaGFuZ2VkLCAxODIgaW5zZXJ0aW9u
cygrKQo+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IHBsYXQvbGludXh1L2luY2x1ZGUvbGludXh1L3Rh
cC5oCj4KPiBkaWZmIC0tZ2l0IGEvcGxhdC9kcml2ZXJzL3RhcC90YXAuYyBiL3BsYXQvZHJpdmVy
cy90YXAvdGFwLmMKPiBpbmRleCBmZmQyMWJlLi4yZjQ5Nzg4IDEwMDY0NAo+IC0tLSBhL3BsYXQv
ZHJpdmVycy90YXAvdGFwLmMKPiArKysgYi9wbGF0L2RyaXZlcnMvdGFwL3RhcC5jCj4gQEAgLTQw
LDggKzQwLDE0IEBACj4gICAjaW5jbHVkZSA8dWsvbmV0ZGV2X2RyaXZlci5oPgo+ICAgI2luY2x1
ZGUgPHVrL25ldGJ1Zi5oPgo+ICAgI2luY2x1ZGUgPHVrL2VycnB0ci5oPgo+ICsjaW5jbHVkZSA8
dWsvbGlicGFyYW0uaD4KPiAgICNpbmNsdWRlIDx1ay9idXMuaD4KPiAgIAo+ICsjaWZkZWYgQ09O
RklHX1BMQVRfTElOVVhVCj4gKyNpbmNsdWRlIDxsaW51eHUvdGFwLmg+Cj4gKyNlbHNlCj4gKyNl
cnJvciAiVGhlIGRyaXZlciBkb2VzIG5vdCBzdXBwb3J0IHRoaXMgVW5pa3JhZnQgcGxhdGZvcm0i
Cj4gKyNlbmRpZiAvKiBDT05GSUdfUExBVF9MSU5VWFUgKi8KPiAgIApJIGRvbid0IHVuZGVyc3Rh
bmQgdGhlIHB1cnBvc2Ugb2YgdGhpcyBpZiBtYWNyby4gSWYgYFBMQVRfTElOVVhVYCBpcyBub3Qg
CnNlbGVjdGVkLCB0aGUgZHJpdmVyIHdpbGwgbm90IGJlIHNlbGVjdGVkIGFjY29yZGluZyB0byB0
aGUgbWVudSAKY29uZmlndXJhdGlvbi4KPiAgICNkZWZpbmUgVEFQREVWX01BWF9DTlQJCSA3Cj4g
ICAjZGVmaW5lIFRBUERFVl9JRk5BTUVfQlJTICAgICAgIDI1NQo+IEBAIC01OCw2ICs2NCwzMSBA
QAo+ICAgCj4gICAjZGVmaW5lIEVUSF9QS1RfUEFZTE9BRF9MRU4gICAgICAgMTUwMAo+ICAgCj4g
KyNkZWZpbmUgdG9fdGFwbmV0ZGV2KGRldikgXAo+ICsJCV9fY29udGFpbmVyb2YoZGV2LCBzdHJ1
Y3QgdGFwX25ldF9kZXYsIG5kZXYpCj4gKwo+ICtzdHJ1Y3QgdGFwX25ldF9kZXYgewo+ICsJLyog
TmV0IGRldmljZSBzdHJ1Y3R1cmUgKi8KPiArCXN0cnVjdCB1a19uZXRkZXYgICAgbmRldjsKPiAr
CS8qIG1heCBudW1iZXIgb2YgcXVldWVzICovCj4gKwlfX3UxNiBtYXhfcXBhaXJzOwo+ICsJLyog
TnVtYmVyIG9mIHJ4cSBjb25maWd1cmVkICovCj4gKwkvKiBUaGUgbGlzdCBvZiB0aGUgdGFwIGRl
dmljZSAqLwo+ICsJVUtfVEFJTFFfRU5UUlkoc3RydWN0IHRhcF9uZXRfZGV2KSBuZXh0Owo+ICsJ
LyogVUsgTmV0ZGV2aWNlIGlkZW50aWZpZXIgKi8KPiArCV9fdTE2IHRpZDsKPiArCS8qIFVLIE5l
dGRldmljZSBpZGVudGlmaWVyICovCj4gKwlfX3UxNiBpZDsKV2h5IGFyZSB0d28gdmFyaWFibGUg
d2l0aCB0aGUgc2FtZSBwdXJwb3NlL2Rlc2NyaXB0aW9uPwo+ICsJLyogTmFtZSBvZiB0aGUgY2hh
cmFjdGVyIGRldmljZSAqLwo+ICsJY2hhciBuYW1lW0lGTkFNU0laXTsKPiArCS8qIE1UVSBvZiB0
aGUgZGV2aWNlICovCj4gKwlfX3UxNiAgbXR1Owo+ICsJLyogUlggcHJvbWlzY3VvdXMgbW9kZSAq
Lwo+ICsJX191OCBwcm9taXNjIDogMTsKPiArCS8qIFN0YXRlIG9mIHRoZSBuZXQgZGV2aWNlICov
Cj4gKwlfX3U4IHN0YXRlOwo+ICt9Owo+ICsKPiAgIHN0cnVjdCB0YXBfbmV0X2RydiB7Cj4gICAJ
c3RydWN0IHVrX2FsbG9jICphOwo+ICAgCVVLX1RBSUxRX0hFQUQodGRldl9saXN0LCBzdHJ1Y3Qg
dGFwX25ldF9kZXYpIHRhcF9kZXZfbGlzdDsKPiBAQCAtNjksNiArMTAwLDE1IEBAIHN0cnVjdCB0
YXBfbmV0X2RydiB7Cj4gICAgKiBNb2R1bGUgbGV2ZWwgdmFyaWFibGVzCj4gICAgKi8KPiAgIHN0
YXRpYyBzdHJ1Y3QgdGFwX25ldF9kcnYgdGFwX2RydiA9IHswfTsKPiArc3RhdGljIGNvbnN0IGNo
YXIgKmRydl9uYW1lID0gRFJJVkVSX05BTUU7Cj4gK3N0YXRpYyBpbnQgdGFwX2Rldl9jbnQ7Cj4g
K3N0YXRpYyBjaGFyICpicmlkZ2VuYW1lczsKPiArCj4gKy8qKgo+ICsgKiBNb2R1bGUgUGFyYW1l
dGVyLgo+ICsgKi8KPiArVUtfTElCX1BBUkFNKHRhcF9kZXZfY250LCBfX3UzMik7Cj4gK1VLX0xJ
Ql9QQVJBTV9TVFIoYnJpZGdlbmFtZXMpOwo+ICAgCkkgdGhpbmsgaXQgd291bGQgaW1wcm92ZSBh
IGxvdCB0aGUgdmlzaWJpbGl0eSB0byBwcm92aWRlIGFuIGV4YW1wbGUgZm9yIAp0aGlzIHBhcmFt
ZXRlcnMuCj4gICAvKioKPiAgICAqIE1vZHVsZSBmdW5jdGlvbnMKPiBAQCAtMjQ2LDYgKzI4Niw1
MyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHVrX25ldGRldl9vcHMgdGFwX25ldGRldl9vcHMgPSB7
Cj4gICAJLnR4cV9pbmZvX2dldCA9IHRhcF9uZXRkZXZfdHhxX2luZm9fZ2V0LAo+ICAgCS5yeHFf
aW5mb19nZXQgPSB0YXBfbmV0ZGV2X3J4cV9pbmZvX2dldCwKPiAgIH07Cj4gKwo+ICsvKioKPiAr
ICogUmVnaXN0ZXJpbmcgdGhlIG5ldHdvcmsgZGV2aWNlLgo+ICsgKi8KPiArc3RhdGljIGludCB0
YXBfZGV2X2luaXQoaW50IGlkKQo+ICt7Cj4gKwlzdHJ1Y3QgdGFwX25ldF9kZXYgKnRkZXY7Cj4g
KwlpbnQgcmMgPSAwOwo+ICsKPiArCXRkZXYgPSB1a196YWxsb2ModGFwX2Rydi5hLCBzaXplb2Yo
KnRkZXYpKTsKPiArCWlmICghdGRldikgewo+ICsJCXVrX3ByX2VycihEUklWRVJfTkFNRSI6IEZh
aWxlZCB0byBhbGxvY2F0ZSB0YXBfZGV2aWNlXG4iKTsKPiArCQlyYyA9IC1FTk9NRU07Cj4gKwkJ
Z290byBleGl0Owo+ICsJfQo+ICsJdGRldi0+bmRldi5yeF9vbmUgPSB0YXBfbmV0ZGV2X3JlY3Y7
Cj4gKwl0ZGV2LT5uZGV2LnR4X29uZSA9IHRhcF9uZXRkZXZfeG1pdDsKPiArCXRkZXYtPm5kZXYu
b3BzID0gJnRhcF9uZXRkZXZfb3BzOwo+ICsJdGRldi0+dGlkID0gaWQ7Ck5vdyBJIHVuZGVyc3Rh
bmQgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBgaWRgIGFuZCBgdGlkYC4KPiArCS8qKgo+ICsJICog
VE9ETzoKPiArCSAqIEFzIGFuIGluaXRpYWwgaW1wbGVtZW50YXRpb24gd2UgaGF2ZSBsaW1pdCBv
biB0aGUgbnVtYmVyIG9mIHF1ZXVlcy4KPiArCSAqLwo+ICsJdGRldi0+bWF4X3FwYWlycyA9IDE7
Cj4gKwo+ICsJLyogUmVnaXN0ZXJpbmcgdGhlIHRhcCBkZXZpY2Ugd2l0aCBsaWJ1a25ldCovCj4g
KwlyYyA9IHVrX25ldGRldl9kcnZfcmVnaXN0ZXIoJnRkZXYtPm5kZXYsIHRhcF9kcnYuYSwgZHJ2
X25hbWUpOwo+ICsJaWYgKHJjIDwgMCkgewo+ICsJCXVrX3ByX2VycihEUklWRVJfTkFNRSI6IEZh
aWxlZCB0byByZWdpc3RlciB0aGUgbmV0d29yayBkZXZpY2VcbiIpOwo+ICsJCWdvdG8gZnJlZV90
ZGV2Owo+ICsJfQo+ICsJdGRldi0+aWQgPSByYzsKPiArCXJjID0gMDsKPiArCXRkZXYtPm10dSA9
IEVUSF9QS1RfUEFZTE9BRF9MRU47Cj4gKwl0ZGV2LT5wcm9taXNjID0gMDsKPiArCXVrX3ByX2lu
Zm8oRFJJVkVSX05BTUUiOiBkZXZpY2UoJWQpIHJlZ2lzdGVyZWQgd2l0aCB0aGUgbGlidWtuZXRc
biIsCj4gKwkJICAgdGRldi0+aWQpOwo+ICsKPiArCS8qIEFkZGluZyB0aGUgbGlzdCBvZiBkZXZp
Y2VzIG1haW50YWluZWQgYnkgdGhpcyBkcml2ZXIgKi8KPiArCVVLX1RBSUxRX0lOU0VSVF9UQUlM
KCZ0YXBfZHJ2LnRhcF9kZXZfbGlzdCwgdGRldiwgbmV4dCk7Cj4gK2V4aXQ6Cj4gKwlyZXR1cm4g
cmM7Cj4gK2ZyZWVfdGRldjoKPiArCXVrX2ZyZWUodGFwX2Rydi5hLCB0ZGV2KTsKPiArCWdvdG8g
ZXhpdDsKPiArfQo+ICsKPiAgIC8qKgo+ICAgICogUmVnaXN0ZXIgYSB0YXAgZHJpdmVyIGFzIGJ1
cy4gQ3VycmVudGx5IGluIFVuaWtyYWZ0LCB0aGUgdWtfYnVzIGludGVyZmFjZQo+ICAgICogcHJv
dmlkZXMgdGhlIG5lY2Vzc2FyeSB0byBwcm92aWRlIGNhbGxiYWNrcyBmb3IgYnJpbmcgYSBwc2V1
ZG8gZGV2aWNlLiBJbiB0aGUKPiBAQCAtMjUzLDYgKzM0MCw0NSBAQCBzdGF0aWMgY29uc3Qgc3Ry
dWN0IHVrX25ldGRldl9vcHMgdGFwX25ldGRldl9vcHMgPSB7Cj4gICAgKi8KPiAgIHN0YXRpYyBp
bnQgdGFwX2Rydl9wcm9iZSh2b2lkKQo+ICAgewo+ICsJaW50IGk7Cj4gKwlpbnQgcmMgPSAwOwo+
ICsJY2hhciAqaWR4ID0gTlVMTCwgKnByZXZfaWR4Owo+ICsKPiArCWlmICh0YXBfZGV2X2NudCA+
IDApIHsKPiArCQl0YXBfZHJ2LmJyaWRnZV9pZnMgPSB1a19jYWxsb2ModGFwX2Rydi5hLCBzaXpl
b2YoY2hhciAqKSwKPiArCQkJCQkgICAgIGkgIHRhcF9kZXZfY250KTsKPiArCQlpZiAoIXRhcF9k
cnYuYnJpZGdlX2lmcykgewo+ICsJCQl1a19wcl9lcnIoRFJJVkVSX05BTUUiOiBGYWlsZWQgdG8g
YWxsb2NhdGUgYnJpZ2RlX2lmc1xuIik7Cj4gKwkJCXJldHVybiAtRU5PTUVNOwo+ICsJCX0KPiAr
CX0KPiArCj4gKwlpZHggPSBicmlkZ2VuYW1lczsKPiArCWZvciAoaSA9IDA7IGkgPCB0YXBfZGV2
X2NudDsgaSsrKSB7Cj4gKwkJaWYgKGlkeCkgewo+ICsJCQlwcmV2X2lkeCA9IGlkeDsKPiArCQkJ
aWR4ID0gc3RyY2hyKGlkeCwgJyAnKTsKPiArCQkJaWYgKGlkeCkgewo+ICsJCQkJKmlkeCA9ICdc
MCc7Cj4gKwkJCQlpZHgrKzsKPiArCQkJfQo+ICsJCQl0YXBfZHJ2LmJyaWRnVGhpcyBzaG91bGQg
ZGVwZW5kIG9uIGBUQVBfTkVUYCwgcmlnaHQ/ZV9pZnNbaV0gPSBwcmV2X2lkeDsKPiArCQkJdWtf
cHJfZGVidWcoRFJJVkVSX05BTUUiOiBBZGRpbmcgYnJpZGdlICVzXG4iLAo+ICsJCQkJICAgIHBy
ZXZfaWR4KTsKPiArCQl9IGVsc2Ugewo+ICsJCQl1a19wcl93YXJuKERSSVZFUl9OQU1FIjogQWRk
aW5nIHRhcCBkZXZpY2UgJWQgd2l0aG91dCBicmlkZ2VcbiIsCj4gKwkJCQkgICBpKTsKPiArCQkJ
dGFwX2Rydi5icmlkZ2VfaWZzW2ldID0gTlVMTDsKPiArCQl9Cj4gKwo+ICsJCXJjID0gdGFwX2Rl
dl9pbml0KGkpOwo+ICsJCWlmIChyYyA8IDApIHsKPiArCQkJdWtfcHJfZXJyKERSSVZFUl9OQU1F
IjogRmFpbGVkIHRvIGluaXRpYWxpemUgdGhlIHRhcCBkZXYgaWQ6ICVkXG4iLAo+ICsJCQkJICBp
KTsKPiArCQkJcmV0dXJuIHJjOwo+ICsJCX0KPiArCQl0YXBfZHJ2LnRhcF9kZXZfY250Kys7Cj4g
Kwl9Cj4gICAJcmV0dXJuIDA7Cj4gICB9Cj4gICB0YXBfZHJ2LmEgPSBfYTsKPiAgICAzODggICAg
ICAgICBVS19UQUlMUV9JTklUKCZ0YXBfZHJ2LnRhcF9kZXZfbGlzdCk7Cj4gICAgMzg5ICAgICAg
ICAgcmV0dXJuIDA7Cj4gZGlmZiAtLWdpdCBhL3BsYXQvbGludXh1L0NvbmZpZy51ayBiL3BsYXQv
bGludXh1L0NvbmZpZy51awo+IGluZGV4IGQ4NWI2ZmQuLmEwNmY4NzIgMTAwNjQ0Cj4gLS0tIGEv
cGxhdC9saW51eHUvQ29uZmlnLnVrCj4gKysrIGIvcGxhdC9saW51eHUvQ29uZmlnLnVrCj4gQEAg
LTIzLDggKzIzLDE1IEBAIGlmIChQTEFUX0xJTlVYVSkKPiAgIAlkZWZhdWx0IG4KPiAgIAlkZXBl
bmRzIG9uIExJQlVLTkVUREVWCj4gICAJc2VsZWN0IExJQlVLQlVTCj4gKwlpbXBseSBMSUJVS0xJ
QlBBUkFNCj4gICAJaGVscAo+ICAgCQlFbmFibGUgZHJpdmVycyB0byBzdXBwb3J0IHRhcCBkZXZp
Y2Ugb24gdGhlIGxpbnV4dSBwbGF0Zm9ybS4gVGhlCj4gICAJCWRyaXZlciBpbXBsZW1lbnRzIHRo
ZSB1a25ldGRldiBpbnRlcmZhY2UgYW5kIHByb3ZpZGVzIGFuIGludGVyZmFjZQo+ICAgCQlmb3Ig
dGhlIG5ldHdvcmsgc3RhY2sgdG8gc2VuZC9yZWNlaXZlIG5ldHdvcmsgcGFja2V0cy4KPiArCj4g
Kwljb25maWcgVEFQX0RFVl9ERUJVRwpUaGlzIHNob3VsZCBkZXBlbmQgb24gYFRBUF9ORVRgLCBy
aWdodD8KPiArCWJvb2wgIlRhcCBEZXZpY2UgRGVidWciCj4gKwlkZWZhdWx0IG4KPiArCWhlbHAK
PiArCQlFbmFibGUgZGVidWcgbWVzc2FnZXMgZnJvbSB0aGUgdGFwIGRldmljZS4KPiAgIGVuZGlm
Cj4gZGlmZiAtLWdpdCBhL3BsYXQvbGludXh1L01ha2VmaWxlLnVrIGIvcGxhdC9saW51eHUvTWFr
ZWZpbGUudWsKPiBpbmRleCAxYWNlNDdjLi41NjE5MDllIDEwMDY0NAo+IC0tLSBhL3BsYXQvbGlu
dXh1L01ha2VmaWxlLnVrCj4gKysrIGIvcGxhdC9saW51eHUvTWFrZWZpbGUudWsKPiBAQCAtMTEs
NiArMTEsOCBAQCAkKGV2YWwgJChjYWxsIGFkZHBsYXRsaWIsbGludXh1LGxpYmxpbnV4dXRhcG5l
dCkpCj4gICB0YXBfZHJ2LmEgPSBfYTsKPiAgICAzODggICAgICAgICBVS19UQUlMUV9JTklUKCZ0
YXBfZHJ2LnRhcF9kZXZfbGlzdCk7Cj4gICAgMzg5ICAgICAgICAgcmV0dXJuIDA7Cj4gICAjIyBB
ZGRpbmcgbGlicGFyYW0gZm9yIHRoZSBsaW51eHUgcGxhdGZvcm0KPiAgICQoZXZhbCAkKGNhbGwg
YWRkbGliX3BhcmFtcHJlZml4LGxpYmxpbnV4dXBsYXQsbGludXh1KSkKPiArJChldmFsICQoY2Fs
bCBhZGRsaWJfcGFyYW1wcmVmaXgsbGlibGludXh1dGFwbmV0LHRhcCkpCj4gKwo+ICAgIyMKPiAg
ICMjIFBsYXRmb3JtIGxpYnJhcnkgZGVmaW5pdGlvbnMKPiAgICMjCj4gQEAgLTUzLDQgKzU1LDYg
QEAgTElCTElOVVhVUExBVF9TUkNTLSQoQ09ORklHX0FSQ0hfQVJNXzMyKSArPSBcCj4gICBMSUJM
SU5VWFVUQVBORVRfQVNJTkNMVUVELXkgICAgICAgICArPSAtSSQoTElCTElOVVhVUExBVF9CQVNF
KS9pbmNsdWRlCj4gICBMSUJMSU5VWFVUQVBORVRfQ0lOQ0xVREVTLXkgICAgICAgICArPSAtSSQo
TElCTElOVVhVUExBVF9CQVNFKS9pbmNsdWRlCj4gICAKPiArTElCTElOVVhVVEFQTkVUX0NGTEFH
Uy0kKENPTkZJR19UQVBfREVWX0RFQlVHKSArPSAtRFVLX0RFQlVHCj4gKwo+ICAgTElCTElOVVhV
VEFQTkVUX1NSQ1MteQkJICArPSAkKFVLX1BMQVRfRFJJVkVSU19CQVNFKS90YXAvdGFwLmMKPiBk
aWZmIC0tZ2l0IGEvcGxhdC9saW51eHUvaW5jbHVkZS9saW51eHUvdGFwLmggYi9wbGF0L2xpbnV4
dS9pbmNsdWRlL2xpbnV4dS90YXAuaAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAw
MDAwMC4uODMxMTZmNQo+IC0tLSAvZGV2L251bGwKPiArKysgYi9wbGF0L2xpbnV4dS9pbmNsdWRl
L2xpbnV4dS90YXAuaAo+IEBAIC0wLDAgKzEsNDUgQEAKPiArLyogU1BEWC1MaWNlbnNlLUlkZW50
aWZpZXI6IEJTRC0zLUNsYXVzZSAqLwo+ICsvKgo+ICsgKiBBdXRob3JzOiBTaGFyYW4gU2FudGhh
bmFtPHNoYXJhbi5zYW50aGFuYW1AbmVjbGFiLmV1Pgo+ICsgKgo+ICsgKiBDb3B5cmlnaHQgKGMp
IDIwMTgsIE5FQyBFdXJvcGUgTHRkLiwgTkVDIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgo+ICsgKgo+ICsgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKPiArICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCj4gKyAqIGFyZSBtZXQ6
Cj4gKyAqCj4gKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Cj4gKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KPiArICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtVGhpcyBzaG91bGQgZGVwZW5kIG9uIGBUQVBfTkVUYCwgcmlnaHQ/
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKPiArICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhpZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
PiArICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KPiArICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgY29w
eXJpZ2h0IGhvbGRlciBub3IgdGhlIG5hbWVzIG9mIGl0cwo+ICsgKiAgICBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQo+
ICsgKiAgICB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgo+ICsgKgo+ICsgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIKPiArICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQo+ICsgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQo+ICsgKiBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFCj4gKyAq
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKPiArICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKPiArICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCj4gKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCj4gKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCj4gKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFCj4gKyAqIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgo+ICsgKgo+ICsgKiBUSElTIEhF
QURFUiBNQVkgTk9UIEJFIEVYVFJBQ1RFRCBPUiBNT0RJRklFRCBJTiBBTlkgV0FZLgo+ICsgKi8K
PiArI2lmbmRlZiBfX1RBUF9IX18KPiArI2RlZmluZSBfX1RBUF9IX18KPiArCj4gKyNpbmNsdWRl
IDx1ay9hcmNoL3R5cGVzLmg+Cj4gKwo+ICsvKioKPiArICogVXNpbmcgdGhlIG11c2wgYXMgcmVm
ZXJlbmNlIGZvciB0aGUgZGF0YSBzdHJ1Y3R1cmUgZGVmaW5pdGlvbgo+ICsgKiBDb21taXQtaWQ6
IDM5ZWY2MTJhYTE5Mwo+ICsgKi8KPiArI2RlZmluZSBJRk5BTVNJWiAgICAgICAgMTYKPiArCj4g
KyNlbmRpZiAvKiBMSU5VWFVfVEFQX0ggKi8KSSBkb24ndCB1bmRlcnN0YW5kIHdoeSB0aGlzIGhl
YWRlciBpcyBub3QgaW4gYGRyaXZlcnMvdGFwL2luY2x1ZGVgLgoKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApN
aW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0
Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Tue Dec 17 10:18:09 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 17 Dec 2019 10:18:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ih9vc-00051Q-A4; Tue, 17 Dec 2019 10:18:08 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=FBRG=2H=gmail.com=nicolescu.roxana1996@srs-us1.protection.inumbo.net>)
 id 1ih9va-00051J-BI
 for minios-devel@lists.xenproject.org; Tue, 17 Dec 2019 10:18:06 +0000
X-Inumbo-ID: 83389960-20b6-11ea-b6f1-bc764e2007e4
Received: from mail-wm1-x344.google.com (unknown [2a00:1450:4864:20::344])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 83389960-20b6-11ea-b6f1-bc764e2007e4;
 Tue, 17 Dec 2019 10:18:05 +0000 (UTC)
Received: by mail-wm1-x344.google.com with SMTP id u2so2437834wmc.3
 for <minios-devel@lists.xenproject.org>; Tue, 17 Dec 2019 02:18:05 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:subject:to:references:message-id:date:user-agent:mime-version
 :in-reply-to:content-transfer-encoding:content-language;
 bh=DYNcZn0Lz4uL59Sd80h3sW9Wz1gvvvjtEH0RmDHMGR0=;
 b=ryLRmsN2hGO56gem/gxZHYQuaC+z/MNiETT10lGxaS9uTQ+isJChcjI3yO9hnH3UiZ
 R+F9ImWQNtqchGFxX7SqRRDLAw6WCR+AoxZeZ4rDVXn7t09AELcXeTzWMbn8TfXbENon
 G2aUc1RU5YYEPvOxIcWv9ISUZqx43rfaaf3x4Vgqq18GOLVWo9fXCFcTsD1TGgYEmaDG
 ZuopZ2uCHd+6bOno00ukYc0gWJ9YKdLH8dKoUxwPR6kd/tVs6EY1+XEGx3XmawaMbfgL
 88+ObtwpRhN8d0qKKwo2TYYxSWF6r1PCCq0gBnLpXV0u3+kipO7cnYRMChSiTZpvy0Ri
 o/iQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:subject:to:references:message-id:date
 :user-agent:mime-version:in-reply-to:content-transfer-encoding
 :content-language;
 bh=DYNcZn0Lz4uL59Sd80h3sW9Wz1gvvvjtEH0RmDHMGR0=;
 b=VTcdW21o2bQaAN3TqefSoNW1Q9/n4UI0rQz9IoteUXorZI7qG3a6aoLlpG0jjZDLMY
 rQD4g7fEirDy5OWGv1Wo/ffCzVBzFYqsMTaG76uZt4GUXA3FxXsugPT9bkPn7EQZpra6
 vVAIyxSWBpHFizz4N4+kqteJDSv49FROXipqjdyrwlbbGXJwesM+eTIcZ18UUg6d6fIV
 gvz3qrgeOpyIfNGVbWcRpsSLA2mf9Z9Hko92ZCcbFwP4dze1MobuzdsdNVAqN5GT7jWX
 gj7HEAI2Xl4fC4Yi07vnbwH7XkxUgxgnKee3rCN2r7zzbsppU8w3z6AonQQ1s3qpYCP+
 hPCg==
X-Gm-Message-State: APjAAAXjOUYiqjWZ0zQ42UmIuQK5BvWXsxliY8VCBsoaHLVm/3oz/Fbc
 64BvM0N5HqoozaWiBvcpI18=
X-Google-Smtp-Source: APXvYqyxHA3ImGG31vv/kemsWB8UOJqxQTJdSPHsBwkYdqx4x6FY9A9zFcMn4G45Azd+1gcVNc4PTQ==
X-Received: by 2002:a05:600c:298:: with SMTP id
 24mr4330670wmk.141.1576577883942; 
 Tue, 17 Dec 2019 02:18:03 -0800 (PST)
Received: from [172.19.2.219] ([141.85.233.142])
 by smtp.gmail.com with ESMTPSA id x11sm25568458wre.68.2019.12.17.02.18.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 17 Dec 2019 02:18:03 -0800 (PST)
From: Roxana Nicolescu <nicolescu.roxana1996@gmail.com>
To: minios-devel@lists.xenproject.org, sharan.santhanam@neclab.eu
References: <20191007094708.32353-1-sharan.santhanam@neclab.eu>
 <20191007094708.32353-5-sharan.santhanam@neclab.eu>
Message-ID: <a56fac60-a080-94bc-f710-61216c9d7052@gmail.com>
Date: Tue, 17 Dec 2019 12:18:02 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.2.2
MIME-Version: 1.0
In-Reply-To: <20191007094708.32353-5-sharan.santhanam@neclab.eu>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT PATCH 04/15] plat/driver: Create a tap
 dev during configuration
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgU2hhcmFuLAoKClNlZSBpbmxpbmUuCgoKUm94YW5hCgpPbiAxMC83LzE5IDEyOjQ2IFBNLCBT
aGFyYW4gU2FudGhhbmFtIHdyb3RlOgo+IFRoZSBwYXRjaCBjcmVhdGVzIGEgdGFwIGRldmljZSB3
aGlsZSBjb25maWd1cmluZyB0aGUgbmV0IGRldmljZS4KPgo+IFNpZ25lZC1vZmYtYnk6IFNoYXJh
biBTYW50aGFuYW08c2hhcmFuLnNhbnRoYW5hbUBuZWNsYWIuZXU+Cj4gLS0tCj4gICBwbGF0L2Ry
aXZlcnMvdGFwL3RhcC5jICAgICAgICAgICAgICAgfCAgOTIgKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrLQo+ICAgcGxhdC9saW51eHUvTWFrZWZpbGUudWsgICAgICAgICAgICAgIHwgICAx
ICsKPiAgIHBsYXQvbGludXh1L2luY2x1ZGUvbGludXh1L3N5c2NhbGwuaCB8ICAyNyArKysrKysr
KysKPiAgIHBsYXQvbGludXh1L2luY2x1ZGUvbGludXh1L3RhcC5oICAgICB8IDEwMyArKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ICAgcGxhdC9saW51eHUvdGFwX2lvLmMgICAg
ICAgICAgICAgICAgIHwgIDY3ICsrKysrKysrKysrKysrKysrKysrKysrCj4gICA1IGZpbGVzIGNo
YW5nZWQsIDI4OSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCj4gICBjcmVhdGUgbW9kZSAx
MDA2NDQgcGxhdC9saW51eHUvdGFwX2lvLmMKPgo+IGRpZmYgLS1naXQgYS9wbGF0L2RyaXZlcnMv
dGFwL3RhcC5jIGIvcGxhdC9kcml2ZXJzL3RhcC90YXAuYwo+IGluZGV4IDJmNDk3ODguLjhjMTA1
MDIgMTAwNjQ0Cj4gLS0tIGEvcGxhdC9kcml2ZXJzL3RhcC90YXAuYwo+ICsrKyBiL3BsYXQvZHJp
dmVycy90YXAvdGFwLmMKPiBAQCAtNjcsMTggKzY3LDQxIEBACj4gICAjZGVmaW5lIHRvX3RhcG5l
dGRldihkZXYpIFwKPiAgIAkJX19jb250YWluZXJvZihkZXYsIHN0cnVjdCB0YXBfbmV0X2Rldiwg
bmRldikKPiAgIAo+ICtzdHJ1Y3QgdWtfbmV0ZGV2X3R4X3F1ZXVlIHsKPiArCWludCBxdWV1ZV9p
ZDsKPiArCVVLX1RBSUxRX0VOVFJZKHN0cnVjdCB1a19uZXRkZXZfdHhfcXVldWUpIG5leHQ7Cj4g
KwlzdHJ1Y3QgdWtfYWxsb2MgKmE7Cj4gKwkvKiBTZXQgdGhlIGZpbGUgZGVzY3JpcHRvciBmb3Ig
dGhlIHRhcCBkZXZpY2UgKi8KPiArCWludCBmZDsKPiArfTsKPiArCj4gK3N0cnVjdCB1a19uZXRk
ZXZfcnhfcXVldWUgewo+ICsJaW50IHF1ZXVlX2lkOwo+ICsJVUtfVEFJTFFfRU5UUlkoc3RydWN0
IHVrX25ldGRldl9yeF9xdWV1ZSkgbmV4dDsKPiArCXN0cnVjdCB1a19hbGxvYyAqYTsKPiArCS8q
IFNldCB0aGUgZmlsZSBkZXNjcmlwdG9yIGZvciB0aGUgdGFwIGRldmljZSAqLwo+ICsJaW50IGZk
Owo+ICt9Owo+ICsKPiAgIHN0cnVjdCB0YXBfbmV0X2RldiB7Cj4gICAJLyogTmV0IGRldmljZSBz
dHJ1Y3R1cmUgKi8KPiAgIAlzdHJ1Y3QgdWtfbmV0ZGV2ICAgIG5kZXY7Cj4gICAJLyogbWF4IG51
bWJlciBvZiBxdWV1ZXMgKi8KPiAgIAlfX3UxNiBtYXhfcXBhaXJzOwo+ICAgCS8qIE51bWJlciBv
ZiByeHEgY29uZmlndXJlZCAqLwo+ICsJX191MTYgcnhxX2NudDsKPiArCVVLX1RBSUxRX0hFQUQo
dGFwX3J4cXMsIHN0cnVjdCB1a19uZXRkZXZfcnhfcXVldWUpIHJ4cXM7Cj4gKwkvKiBOdW1iZXIg
b2YgdHhxIGNvbmZpZ3VyZWQgKi8KPiArCV9fdTE2IHR4cV9jbnQ7Cj4gKwlVS19UQUlMUV9IRUFE
KHRhcF90eHFzLCBzdHJ1Y3QgdWtfbmV0ZGV2X3R4X3F1ZXVlKSB0eHFzOwo+ICAgCS8qIFRoZSBs
aXN0IG9mIHRoZSB0YXAgZGV2aWNlICovCj4gICAJVUtfVEFJTFFfRU5UUlkoc3RydWN0IHRhcF9u
ZXRfZGV2KSBuZXh0Owo+ICAgCS8qIFVLIE5ldGRldmljZSBpZGVudGlmaWVyICovCj4gICAJX191
MTYgdGlkOwo+ICAgCS8qIFVLIE5ldGRldmljZSBpZGVudGlmaWVyICovCj4gICAJX191MTYgaWQ7
Cj4gKwkvKiBGaWxlIERlc2NyaXB0b3IgZm9yIHRoZSB0YXAgZGV2aWNlICovCj4gKwlpbnQgdGFw
X2ZkOwo+ICAgCS8qIE5hbWUgb2YgdGhlIGNoYXJhY3RlciBkZXZpY2UgKi8KPiAgIAljaGFyIG5h
bWVbSUZOQU1TSVpdOwo+ICAgCS8qIE1UVSBvZiB0aGUgZGV2aWNlICovCj4gQEAgLTE0MCw2ICsx
NjMsNyBAQCBzdGF0aWMgaW50IHRhcF9uZXRkZXZfcnhxX2luZm9fZ2V0KHN0cnVjdCB1a19uZXRk
ZXYgKmRldiwgX191MTYgcXVldWVfaWQsCj4gICAJCQkJICAgc3RydWN0IHVrX25ldGRldl9xdWV1
ZV9pbmZvICpxaW5mbyk7Cj4gICBzdGF0aWMgaW50IHRhcF9uZXRkZXZfdHhxX2luZm9fZ2V0KHN0
cnVjdCB1a19uZXRkZXYgKmRldiwgX191MTYgcXVldWVfaWQsCj4gICAJCQkJICAgc3RydWN0IHVr
X25ldGRldl9xdWV1ZV9pbmZvICpxaW5mbyk7Cj4gK3N0YXRpYyBpbnQgdGFwX2RldmljZV9jcmVh
dGUoc3RydWN0IHRhcF9uZXRfZGV2ICp0ZGV2LCBfX3UzMiBmZWF0dXJlX2ZsYWdzKTsKPiAgIAo+
ICAgLyoqCj4gICAgKiBMb2NhbCBmdW5jdGlvbiBkZWZpbml0aW9ucwo+IEBAIC0yMjMsNiArMjQ3
LDEwIEBAIHN0YXRpYyB2b2lkIHRhcF9uZXRkZXZfaW5mb19nZXQoc3RydWN0IHVrX25ldGRldiAq
ZGV2IF9fdW51c2VkLAo+ICAgCQkJCXN0cnVjdCB1a19uZXRkZXZfaW5mbyAqZGV2X2luZm8pCj4g
ICB7Cj4gICAJVUtfQVNTRVJUKGRldl9pbmZvKTsKPiArCWRldl9pbmZvLT5tYXhfcnhfcXVldWVz
ID0gMTsKPiArCWRldl9pbmZvLT5tYXhfdHhfcXVldWVzID0gMTsKPiArCWRldl9pbmZvLT5uYl9l
bmNhcF90eCA9IDA7Cj4gKwlkZXZfaW5mby0+bmJfZW5jYXBfcnggPSAwOwo+ICAgfQo+ICAgCj4g
ICBzdGF0aWMgdW5zaWduZWQgaW50IHRhcF9uZXRkZXZfcHJvbWlzY19nZXQoc3RydWN0IHVrX25l
dGRldiAqbikKPiBAQCAtMjY2LDEwICsyOTQsNzIgQEAgc3RhdGljIGludCB0YXBfbmV0ZGV2X21h
Y19zZXQoc3RydWN0IHVrX25ldGRldiAqbiwKPiAgIHN0YXRpYyBpbnQgdGFwX25ldGRldl9jb25m
aWd1cmUoc3RydWN0IHVrX25ldGRldiAqbiwKPiAgIAkJCQljb25zdCBzdHJ1Y3QgdWtfbmV0ZGV2
X2NvbmYgKmNvbmYpCj4gICB7Cj4gLQlpbnQgcmMgPSAtRUlOVkFMOwo+ICsJaW50IHJjID0gMDsK
PiArCXN0cnVjdCB0YXBfbmV0X2RldiAqdGRldiA9IE5VTEw7Cj4gKwlfX3UzMiBmZWF0dXJlX2Zs
YWcgPSAwOwo+ICAgCj4gICAJVUtfQVNTRVJUKG4gJiYgY29uZik7Cj4gKwl0ZGV2ID0gdG9fdGFw
bmV0ZGV2KG4pOwo+ICsKPiArCWlmIChjb25mLT5uYl9yeF9xdWV1ZXMgPiB0ZGV2LT5tYXhfcXBh
aXJzCj4gKwkgICAgfHwgY29uZi0+bmJfdHhfcXVldWVzID4gdGRldi0+bWF4X3FwYWlycykgewo+
ICsJCXVrX3ByX2VycihEUklWRVJfTkFNRSI6IHJ4LXF1ZXVlOiVkLCB0eC1xdWV1ZTolZCBub3Qg
c3VwcG9ydGVkIiwKPiArCQkJICBjb25mLT5uYl9yeF9xdWV1ZXMsIGNvbmYtPm5iX3R4X3F1ZXVl
cyk7Cj4gKwkJcmMgPSAtRU5PVFNVUDsKPiArCQlnb3RvIGV4aXQ7Cj4gKwl9IGVsc2UgaWYgKGNv
bmYtPm5iX3J4X3F1ZXVlcyA+IDEgfHwgY29uZi0+bmJfdHhfcXVldWVzID4gMSkgewo+ICsJCWZl
YXR1cmVfZmxhZyA9IFVLX0lGRl9NVUxUSV9RVUVVRTsKTmVpdGhlciB1a19uZXRkZXYgYW5kIHRh
cCBkcml2ZXIgc3VwcG9ydHMgbXVsdGkgcXVldWVzIGZlYXR1cmUsIGJ1dCBpdCdzIApuaWNlIHRv
IGhhdmUgaXQgZm9yIGZ1dHVyZSBjaGFuZ2VzLgo+ICsJfQo+ICsKPiArCS8qIE9wZW4gdGhlIGRl
dmljZSBhbmQgc2V0IHRoZSBpbnRlcmZhY2UgKi8KPiArCXJjID0gdGFwX2RldmljZV9jcmVhdGUo
dGRldiwgZmVhdHVyZV9mbGFnKTsKPiArCWlmIChyYyA8IDApIHsKPiArCQl1a19wcl9lcnIoRFJJ
VkVSX05BTUUiOiBGYWlsZWQgdG8gY29uZmlndXJlIHRoZSB0YXAgZGV2aWNlXG4iKTsKPiArCQln
b3RvIGV4aXQ7Cj4gKwl9Cj4gKwo+ICsJLyogSW5pdGlhbGl6ZSB0aGUgdHgvcnggcXVldWVzICov
Cj4gKwlVS19UQUlMUV9JTklUKCZ0ZGV2LT5yeHFzKTsKPiArCXRkZXYtPnJ4cV9jbnQgPSAwOwo+
ICsJVUtfVEFJTFFfSU5JVCgmdGRldi0+dHhxcyk7Cj4gKwl0ZGV2LT50eHFfY250ID0gMDsKPiAr
ZXhpdDoKPiAgIAlyZXR1cm4gcmM7Cj4gK2Nsb3NlX3RhcF9kZXY6CgpUaGlzIGxhYmVsIGlzIG5l
dmVyIHJlYWNoZWQuIEkgdGhpbmsgaXQgc2hvdWxkIGJlIGRlbGV0ZWQuCgpJbiBjYXNlIGBkZXZf
Y3JlYXRlYCBmYWlscywgdGhlIGZpbGUgZGVzY3JpcHRvciBpcyBjbG9zZWQgYmVmb3JlIHRoZSAK
ZnVuY3Rpb24gZXhpdHMuCgo+ICsJdGFwX2Nsb3NlKHRkZXYtPnRhcF9mZCk7Cj4gKwlnb3RvIGV4
aXQ7Cj4gK30KPiArCj4gK3N0YXRpYyBpbnQgdGFwX2RldmljZV9jcmVhdGUoc3RydWN0IHRhcF9u
ZXRfZGV2ICp0ZGV2LCBfX3UzMiBmZWF0dXJlX2ZsYWdzKQo+ICt7Cj4gKwlpbnQgcmMgPSAwOwo+
ICsJc3RydWN0IHVrX2lmcmVxIGlmcmVxID0gezB9Owo+ICsKPiArCS8qIE9wZW4gdGhlIHRhcCBk
ZXZpY2UgKi8KPiArCXJjID0gdGFwX29wZW4oT19SRFdSIHwgT19OT05CTE9DSyk7Cj4gKwlpZiAo
cmMgPCAwKSB7Cj4gKwkJdWtfcHJfZXJyKERSSVZFUl9OQU1FIjogRmFpbGVkKCVkKSB0byBvcGVu
IHRoZSB0YXAgZGV2aWNlXG4iLAo+ICsJCQkgIHJjKTsKPiArCQlnb3RvIGV4aXQ7Cj4gKwl9Cj4g
Kwo+ICsJdGRldi0+dGFwX2ZkID0gcmM7Cj4gKwo+ICsJcmMgPSB0YXBfZGV2X2NvbmZpZ3VyZSh0
ZGV2LT50YXBfZmQsIGZlYXR1cmVfZmxhZ3MsICZpZnJlcSk7Cj4gKwlpZiAocmMgPCAwKSB7Cj4g
KwkJdWtfcHJfZXJyKERSSVZFUl9OQU1FIjogRmFpbGVkIHRvIHNldHVwIHRoZSB0YXAgZGV2aWNl
XG4iKTsKPiArCQlnb3RvIGNsb3NlX3RhcDsKPiArCX0KPiArCj4gKwlzbnByaW50Zih0ZGV2LT5u
YW1lLCBzaXplb2YodGRldi0+bmFtZSksICIlcyIsIGlmcmVxLmlmcl9uYW1lKTsKPiArCXVrX3By
X2luZm8oRFJJVkVSX05BTUUiOiBDb25maWd1cmluZyB0YXAgZGV2aWNlICVzXG4iLCB0ZGV2LT5u
YW1lKTsKPiArCj4gK2V4aXQ6Cj4gKwlyZXR1cm4gcmM7Cj4gK2Nsb3NlX3RhcDoKPiArCXRhcF9j
bG9zZSh0ZGV2LT50YXBfZmQpOwo+ICsJdGRldi0+dGFwX2ZkID0gLTE7Cj4gKwlnb3RvIGV4aXQ7
Cj4gICB9Cj4gICAKPiAgIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdWtfbmV0ZGV2X29wcyB0YXBfbmV0
ZGV2X29wcyA9IHsKPiBkaWZmIC0tZ2l0IGEvcGxhdC9saW51eHUvTWFrZWZpbGUudWsgYi9wbGF0
L2xpbnV4dS9NYWtlZmlsZS51awo+IGluZGV4IDU2MTkwOWUuLjI1NjhkMGQgMTAwNjQ0Cj4gLS0t
IGEvcGxhdC9saW51eHUvTWFrZWZpbGUudWsKPiArKysgYi9wbGF0L2xpbnV4dS9NYWtlZmlsZS51
awo+IEBAIC00NSw2ICs0NSw3IEBAIExJQkxJTlVYVVBMQVRfU1JDUy15ICAgICAgICAgICAgICAr
PSAkKExJQkxJTlVYVVBMQVRfQkFTRSkvdGltZS5jCj4gICBMSUJMSU5VWFVQTEFUX1NSQ1MteSAg
ICAgICAgICAgICAgKz0gJChVS19QTEFUX0NPTU1PTl9CQVNFKS9sY3B1LmN8Y29tbW9uCj4gICBM
SUJMSU5VWFVQTEFUX1NSQ1MteSAgICAgICAgICAgICAgKz0gJChVS19QTEFUX0NPTU1PTl9CQVNF
KS9tZW1vcnkuY3xjb21tb24KPiAgIExJQkxJTlVYVVBMQVRfU1JDUy15ICAgICAgICAgICAgICAr
PSAkKExJQkxJTlVYVVBMQVRfQkFTRSkvaW8uYwo+ICtMSUJMSU5VWFVQTEFUX1NSQ1MtJChDT05G
SUdfVEFQX05FVCkgKz0gJChMSUJMSU5VWFVQTEFUX0JBU0UpL3RhcF9pby5jCj4gICBMSUJMSU5V
WFVQTEFUX1NSQ1MtJChDT05GSUdfQVJDSF9YODZfNjQpICs9IFwKPiAgIAkJCSQoTElCTElOVVhV
UExBVF9CQVNFKS94ODYvbGluazY0Lmxkcy5TCj4gICBMSUJMSU5VWFVQTEFUX1NSQ1MtJChDT05G
SUdfQVJDSF9BUk1fMzIpICs9IFwKPiBkaWZmIC0tZ2l0IGEvcGxhdC9saW51eHUvaW5jbHVkZS9s
aW51eHUvc3lzY2FsbC5oIGIvcGxhdC9saW51eHUvaW5jbHVkZS9saW51eHUvc3lzY2FsbC5oCj4g
aW5kZXggMGRjYTdjNS4uMTYwNDcxMiAxMDA2NDQKPiAtLS0gYS9wbGF0L2xpbnV4dS9pbmNsdWRl
L2xpbnV4dS9zeXNjYWxsLmgKPiArKysgYi9wbGF0L2xpbnV4dS9pbmNsdWRlL2xpbnV4dS9zeXNj
YWxsLmgKPiBAQCAtNjQsNiArNjQsMzMgQEAgc3RhdGljIGlubGluZSBzc2l6ZV90IHN5c193cml0
ZShpbnQgZmQsIGNvbnN0IGNoYXIgKmJ1Ziwgc2l6ZV90IGxlbikKPiAgIAkJCQkgIChsb25nKSAo
bGVuKSk7Cj4gICB9Cj4gICAKPiArI2lmbmRlZiBPX1JET05MWQo+ICsjZGVmaW5lIE9fUkRPTkxZ
ICAgICAgICAgICAgICAgICAgMDAwMDAwMDAKPiArI2VuZGlmIC8qIE9fUkRPTkxZICovCj4gKwo+
ICsjaWZuZGVmIE9fV1JPTkxZCj4gKyNkZWZpbmUgT19XUk9OTFkgICAgICAgICAgICAgICAgICAw
MDAwMDAwMQo+ICsjZW5kaWYgLyogT19XUk9OTFkgKi8KPiArI2lmbmRlZiBPX1JEV1IKPiArI2Rl
ZmluZSBPX1JEV1IgICAgICAgICAgICAgICAgICAgIDAwMDAwMDAyCj4gKyNlbmRpZiAvKiBPX1JE
V1IgKi8KPiArCj4gKyNpZm5kZWYgT19OT05CTE9DSwo+ICsjZGVmaW5lIE9fTk9OQkxPQ0sJCSAw
NDAwMAo+ICsjZW5kaWYgLyogT19OT05CTE9DSyAqLwo+ICtzdGF0aWMgaW5saW5lIGludCBzeXNf
b3Blbihjb25zdCBjaGFyICpwYXRobmFtZSwgaW50IGZsYWdzKQo+ICt7Cj4gKwlyZXR1cm4gKHNz
aXplX3QpIHN5c2NhbGwyKF9fU0NfT1BFTiwKPiArCQkJCSAgKGxvbmcpIHBhdGhuYW1lLAo+ICsJ
CQkJICAobG9uZykgZmxhZ3MpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW5saW5lIGludCBzeXNfY2xv
c2UoaW50IGZkKQo+ICt7Cj4gKwlyZXR1cm4gKHNzaXplX3QpIHN5c2NhbGwxKF9fU0NfQ0xPU0Us
Cj4gKwkJCQkgIChsb25nKSBmZCk7Cj4gK30KPiArCj4gICBzdGF0aWMgaW5saW5lIGludCBzeXNf
ZXhpdChpbnQgc3RhdHVzKQo+ICAgewo+ICAgCXJldHVybiAoaW50KSBzeXNjYWxsMShfX1NDX0VY
SVQsCj4gZGlmZiAtLWdpdCBhL3BsYXQvbGludXh1L2luY2x1ZGUvbGludXh1L3RhcC5oIGIvcGxh
dC9saW51eHUvaW5jbHVkZS9saW51eHUvdGFwLmgKPiBpbmRleCA4MzExNmY1Li5hODBjMmI3IDEw
MDY0NAo+IC0tLSBhL3BsYXQvbGludXh1L2luY2x1ZGUvbGludXh1L3RhcC5oCj4gKysrIGIvcGxh
dC9saW51eHUvaW5jbHVkZS9saW51eHUvdGFwLmgKPiBAQCAtMzUsNiArMzUsMTMgQEAKPiAgICNk
ZWZpbmUgX19UQVBfSF9fCj4gICAKPiAgICNpbmNsdWRlIDx1ay9hcmNoL3R5cGVzLmg+Cj4gKyNp
bmNsdWRlIDxsaW51eHUvc3lzY2FsbC5oPgo+ICsjaW5jbHVkZSA8bGludXh1L2lvY3RsLmg+Cj4g
Kwo+ICsvKioKPiArICogVEFQIERldmljZSBQYXRoCj4gKyAqLwo+ICsjZGVmaW5lIFRBUERFVl9Q
QVRICQkgIi9kZXYvbmV0L3R1biIKPiAgIAo+ICAgLyoqCj4gICAgKiBVc2luZyB0aGUgbXVzbCBh
cyByZWZlcmVuY2UgZm9yIHRoZSBkYXRhIHN0cnVjdHVyZSBkZWZpbml0aW9uCj4gQEAgLTQyLDQg
KzQ5LDEwMCBAQAo+ICAgICovCj4gICAjZGVmaW5lIElGTkFNU0laICAgICAgICAxNgo+ICAgCj4g
K3R5cGVkZWYgX191MTYgdWtfaW5fcG9ydF90Owo+ICt0eXBlZGVmIF9fdTMyIHVrX2luX2FkZHJf
dDsKPiArdHlwZWRlZiBfX3UxNiB1a19zYV9mYW1pbHlfdDsKPiArCj4gK3N0cnVjdCB1a19pbl9h
ZGRyIHsKPiArCXVrX2luX2FkZHJfdCBzX2FkZHI7Cj4gK307Cj4gKwo+ICtzdHJ1Y3QgdWtfc29j
a2FkZHIgewo+ICsJdWtfc2FfZmFtaWx5X3Qgc2FfZmFtaWx5Owo+ICsJY2hhciBzYV9kYXRhWzE0
XTsKPiArfTsKPiArCj4gK3N0cnVjdCB1a19pZm1hcCB7Cj4gKwl1bnNpZ25lZCBsb25nIGludCBt
ZW1fc3RhcnQ7Cj4gKwl1bnNpZ25lZCBsb25nIGludCBtZW1fZW5kOwo+ICsJdW5zaWduZWQgc2hv
cnQgaW50IGJhc2VfYWRkcjsKPiArCXVuc2lnbmVkIGNoYXIgaXJxOwo+ICsJdW5zaWduZWQgY2hh
ciBkbWE7Cj4gKwl1bnNpZ25lZCBjaGFyIHBvcnQ7Cj4gK307Cj4gKwo+ICtzdHJ1Y3QgdWtfaWZy
ZXEgewo+ICsJdW5pb24gewo+ICsJCWNoYXIgaWZybl9uYW1lW0lGTkFNU0laXTsKPiArCX0gdWtf
aWZyX2lmcm47Cj4gKwo+ICsJdW5pb24gewo+ICsJCXN0cnVjdCB1a19zb2NrYWRkciBpZnJ1X2Fk
ZHI7Cj4gKwkJc3RydWN0IHVrX3NvY2thZGRyIGlmcnVfZHN0YWRkcjsKPiArCQlzdHJ1Y3QgdWtf
c29ja2FkZHIgaWZydV9icm9hZGFkZHI7Cj4gKwkJc3RydWN0IHVrX3NvY2thZGRyIGlmcnVfbmV0
bWFzazsKPiArCQlzdHJ1Y3QgdWtfc29ja2FkZHIgaWZydV9od2FkZHI7Cj4gKwkJc2hvcnQgaW50
ICAgICAgIGlmcnVfZmxhZ3M7Cj4gKwkJaW50ICAgICAgICAgICAgIGlmcnVfaXZhbHVlOwo+ICsJ
CWludCAgICAgICAgICAgICBpZnJ1X210dTsKPiArCQlzdHJ1Y3QgdWtfaWZtYXAgICAgaWZydV9t
YXA7Cj4gKwkJY2hhciAgICAgICAgICAgIGlmcnVfc2xhdmVbSUZOQU1TSVpdOwo+ICsJCWNoYXIg
ICAgICAgICAgICBpZnJ1X25ld25hbWVbSUZOQU1TSVpdOwo+ICsJCWNoYXIgICAgICAgICAgICpp
ZnJ1X2RhdGE7Cj4gKwl9IHVrX2lmcl9pZnJ1Owo+ICt9Owo+ICsKPiArI2RlZmluZSBpZnJfbmFt
ZSAgICB1a19pZnJfaWZybi5pZnJuX25hbWUKPiArI2RlZmluZSBpZnJfaHdhZGRyICB1a19pZnJf
aWZydS5pZnJ1X2h3YWRkcgo+ICsjZGVmaW5lIGlmcl9hZGRyICAgIHVrX2lmcl9pZnJ1LmlmcnVf
YWRkcgo+ICsjZGVmaW5lIGlmcl9kc3RhZGRyIHVrX2lmcl9pZnJ1LmlmcnVfZHN0YWRkcgo+ICsj
ZGVmaW5lIGlmcl9icm9hZGFkZHIgICB1a19pZnJfaWZydS5pZnJ1X2Jyb2FkYWRkcgo+ICsjZGVm
aW5lIGlmcl9uZXRtYXNrIHVrX2lmcl9pZnJ1LmlmcnVfbmV0bWFzawo+ICsjZGVmaW5lIGlmcl9m
bGFncyAgIHVrX2lmcl9pZnJ1LmlmcnVfZmxhZ3MKPiArI2RlZmluZSBpZnJfbWV0cmljICB1a19p
ZnJfaWZydS5pZnJ1X2l2YWx1ZQo+ICsjZGVmaW5lIGlmcl9tdHUgICAgIHVrX2lmcl9pZnJ1Lmlm
cnVfbXR1Cj4gKyNkZWZpbmUgaWZyX21hcCAgICAgdWtfaWZyX2lmcnUuaWZydV9tYXAKPiArI2Rl
ZmluZSBpZnJfc2xhdmUgICB1a19pZnJfaWZydS5pZnJ1X3NsYXZlCj4gKyNkZWZpbmUgaWZyX2Rh
dGEgICAgdWtfaWZyX2lmcnUuaWZydV9kYXRhCj4gKyNkZWZpbmUgaWZyX2lmaW5kZXggdWtfaWZy
X2lmcnUuaWZydV9pdmFsdWUKPiArI2RlZmluZSBpZnJfYmFuZHdpZHRoICAgdWtfaWZyX2lmcnUu
aWZydV9pdmFsdWUKPiArI2RlZmluZSBpZnJfcWxlbiAgICB1a19pZnJfaWZydS5pZnJ1X2l2YWx1
ZQo+ICsjZGVmaW5lIGlmcl9uZXduYW1lIHVrX2lmcl9pZnJ1LmlmcnVfbmV3bmFtZQo+ICsKPiAr
I2RlZmluZSBVS19UVU5TRVRJRkYgICAgICgweDQwMDQ1NGNhKQo+ICsjZGVmaW5lIFVLX1NJT0NH
SUZOQU1FICAgKDB4ODkxMCkKPiArI2RlZmluZSBVS19TSU9DR0lGRkxBR1MgICgweDg5MTMpCj4g
KyNkZWZpbmUgVUtfU0lPQ1NJRkZMQUdTICAoMHg4OTE0KQo+ICsjZGVmaW5lIFVLX1NJT0NHSUZB
RERSICAgKDB4ODkxNSkKPiArI2RlZmluZSBVS19TSU9DU0lGQUREUiAgICgweDg5MTYpCj4gKyNk
ZWZpbmUgVUtfU0lPQ0dJRk1UVSAgICAoMHg4OTIxKQo+ICsjZGVmaW5lIFVLX1NJT0NTSUZNVFUg
ICAgKDB4ODkyMikKPiArI2RlZmluZSBVS19TSU9DU0lGSFdBRERSICgweDg5MjQpCj4gKyNkZWZp
bmUgVUtfU0lPQ0dJRkhXQUREUiAoMHg4OTI3KQo+ICsjZGVmaW5lIFVLX1NJT0NHSUZUWFFMRU4g
KDB4ODk0MikKPiArI2RlZmluZSBVS19TSU9DU0lGVFhRTEVOICgweDg5NDMpCj4gKyNkZWZpbmUg
VUtfU0lPQ0dJRklOREVYICAoMHg4OTMzKQo+ICsvKiBUVU5TRVRJRkYgaWZyIGZsYWdzICovCj4g
KyNkZWZpbmUgVUtfSUZGX1RVTiAgICAgKDB4MDAwMSkKPiArI2RlZmluZSBVS19JRkZfVEFQICAg
ICAoMHgwMDAyKQo+ICsjZGVmaW5lIFVLX0lGRl9OT19QSSAgICgweDEwMDApCj4gKy8qIFRoaXMg
ZmxhZyBoYXMgbm8gcmVhbCBlZmZlY3QgKi8KPiArI2RlZmluZSBVS19JRkZfT05FX1FVRVVFICAg
KDB4MjAwMCkKPiArI2RlZmluZSBVS19JRkZfVk5FVF9IRFIgICAgKDB4NDAwMCkKPiArI2RlZmlu
ZSBVS19JRkZfVFVOX0VYQ0wgICAgKDB4ODAwMCkKPiArI2RlZmluZSBVS19JRkZfTVVMVElfUVVF
VUUgKDB4MDEwMCkKPiArI2RlZmluZSBVS19JRkZfQVRUQUNIX1FVRVVFICgweDAyMDApCj4gKyNk
ZWZpbmUgVUtfSUZGX0RFVEFDSF9RVUVVRSAoMHgwNDAwKQo+ICsvKiByZWFkLW9ubHkgZmxhZyAq
Lwo+ICsjZGVmaW5lIFVLX0lGRl9QRVJTSVNUCSgweDA4MDApCj4gKyNkZWZpbmUgVUtfSUZGX05P
RklMVEVSCSgweDEwMDApCj4gKyNkZWZpbmUgVUtfSUZGX1VQCSgweDEpCj4gKyNkZWZpbmUgVUtf
SUZGX1BST01JU0MJKDB4MTAwKQo+ICsKVGhpcyBkZWZpbmVzIGFyZSBpbiB0aGUgbHdpcCBhcyB3
ZWxsLiBJIGd1ZXNzIGJlY2F1c2UgZHJpdmVycyBzaG91bGQgbm90IApkZXBlbmQgb24gZXh0ZXJu
YWwgbGlicmFyaWVzLCBzdWNoIGFzIGx3aXAuIENvcnJlY3QgbWUgaWYgSSBhbSB3cm9uZy4KPiAr
LyogQWRkaW5nIHRoZSBicmlkZ2UgaW50ZXJmYWNlICovCj4gKyNkZWZpbmUgVUtfU0lPQ0JSQURE
SUYgKDB4ODlhMikKPiArCj4gK2ludCB0YXBfb3BlbihfX3UzMiBmbGFncyk7Cj4gK2ludCB0YXBf
Y2xvc2UoaW50IGZkKTsKPiAraW50IHRhcF9kZXZfY29uZmlndXJlKGludCBmZCwgX191MzIgZmVh
dHVyZV9mbGFncywgdm9pZCAqYXJnKTsKPiAgICNlbmRpZiAvKiBMSU5VWFVfVEFQX0ggKi8KPiBk
aWZmIC0tZ2l0IGEvcGxhdC9saW51eHUvdGFwX2lvLmMgYi9wbGF0L2xpbnV4dS90YXBfaW8uYwo+
IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMC4uYTM5NDEzNAo+IC0tLSAvZGV2
L251bGwKPiArKysgYi9wbGF0L2xpbnV4dS90YXBfaW8uYwo+IEBAIC0wLDAgKzEsNjcgQEAKPiAr
LyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZSAqLwo+ICsvKgo+ICsgKiBB
dXRob3JzOiBTaGFyYW4gU2FudGhhbmFtPHNoYXJhbi5zYW50aGFuYW1AbmVjbGFiLmV1Pgo+ICsg
Kgo+ICsgKiBDb3B5cmlnaHQgKGMpIDIwMTksIE5FQyBFdXJvcGUgTHRkLiwgTkVDIENvcnBvcmF0
aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgo+ICsgKgo+ICsgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKPiArICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCj4gKyAqIGFyZSBtZXQ6Cj4gKyAqCj4gKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cj4gKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
PiArICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKPiArICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQo+ICsgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
Lgo+ICsgKiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBjb3B5cmlnaHQgaG9sZGVyIG5vciB0
aGUgbmFtZXMgb2YgaXRzCj4gKyAqICAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCj4gKyAqICAgIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCj4gKyAqCj4gKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIgo+ICsgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCj4gKyAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFCj4gKyAqIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUKPiArICogTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgo+ICsgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgo+ICsgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKPiArICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KPiAr
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKPiArICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUKPiArICogUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCj4gKyAqCj4gKyAqIFRISVMgSEVBREVSIE1BWSBOT1QgQkUgRVhU
UkFDVEVEIE9SIE1PRElGSUVEIElOIEFOWSBXQVkuCj4gKyAqLwo+ICsKPiArI2luY2x1ZGUgPGVy
cm5vLmg+Cj4gKyNpbmNsdWRlIDxzdGRpby5oPgo+ICsjaW5jbHVkZSA8dWsvcHJpbnQuaD4KPiAr
I2luY2x1ZGUgPHVrL2FyY2gvdHlwZXMuaD4KPiArI2luY2x1ZGUgPGxpbnV4dS90YXAuaD4KPiAr
Cj4gK2ludCB0YXBfb3BlbihfX3UzMiBmbGFncykKPiArewo+ICsJaW50IHJjID0gMDsKPiArCj4g
KwlyYyA9IHN5c19vcGVuKFRBUERFVl9QQVRILCBmbGFncyk7Cj4gKwlpZiAocmMgPCAwKQo+ICsJ
CXVrX3ByX2VycigiRXJyb3IgaW4gb3BlbmluZyB0aGUgdGFwIGRldmljZVxuIik7Cj4gKwlyZXR1
cm4gcmM7Cj4gK30KPiArCj4gK2ludCB0YXBfZGV2X2NvbmZpZ3VyZShpbnQgZmQsIF9fdTMyIGZl
YXR1cmVfZmxhZ3MsIHZvaWQgKmFyZykKPiArewo+ICsJaW50IHJjID0gMDsKPiArCXN0cnVjdCB1
a19pZnJlcSAqaWZyZXEgPSAoc3RydWN0IHVrX2lmcmVxICopIGFyZzsKPiArCj4gKwkvKiBTZXQg
dGhlIHRhcCBkZXZpY2UgY29uZmlndXJhdGlvbiAqLwo+ICsJaWZyZXEtPmlmcl9mbGFncyA9IFVL
X0lGRl9UQVAgfCBVS19JRkZfTk9fUEkgfCBmZWF0dXJlX2ZsYWdzOwo+ICsJaWYgKChyYyA9IHN5
c19pb2N0bChmZCwgVUtfVFVOU0VUSUZGLCBpZnJlcSkpIDwgMCkKPiArCQl1a19wcl9lcnIoIkZh
aWxlZCB0byB0YXAgZGV2aWNlIGNvbmZpZ3VyZSAlZFxuIiwgcmMpOwo+ICsKPiArCXJldHVybiBy
YzsKPiArfQo+ICsKPiAraW50IHRhcF9jbG9zZShpbnQgZmQpCj4gK3sKPiArCXJldHVybiBzeXNf
Y2xvc2UoZmQpOwo+ICt9CkFnYWluLCBJIGRvbid0IHJlYWxseSB1bmRlcnN0YW5kIHdoeSB0aGlz
IGlzIG5vdCBpbmNsdWRlZCBpbiAKL2RyaXZlcnMvdGFwLyBmb2xkZXIuCgpfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBs
aXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnBy
b2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Tue Dec 17 10:24:20 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 17 Dec 2019 10:24:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ihA1a-0005j9-Se; Tue, 17 Dec 2019 10:24:18 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=FBRG=2H=gmail.com=nicolescu.roxana1996@srs-us1.protection.inumbo.net>)
 id 1ihA1Z-0005j4-DH
 for minios-devel@lists.xenproject.org; Tue, 17 Dec 2019 10:24:17 +0000
X-Inumbo-ID: 609a019a-20b7-11ea-b6f1-bc764e2007e4
Received: from mail-wr1-x441.google.com (unknown [2a00:1450:4864:20::441])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 609a019a-20b7-11ea-b6f1-bc764e2007e4;
 Tue, 17 Dec 2019 10:24:16 +0000 (UTC)
Received: by mail-wr1-x441.google.com with SMTP id b6so10697631wrq.0
 for <minios-devel@lists.xenproject.org>; Tue, 17 Dec 2019 02:24:16 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:subject:to:references:message-id:date:user-agent:mime-version
 :in-reply-to:content-transfer-encoding:content-language;
 bh=GIw+KLWuilwnTXuHCqOBGcyNoY5Usou9NMNYurrAu1A=;
 b=BemzBf2jVGzH6vjBMuaIuxbabi3Oazfefjq3y6tEJ+Ua3pJpliGpYwQGRZM3wSaED2
 eUmuTflvdVqlDutf/Jsvv09Qq3TgYvVsKNWxRAK8rH5Aavy3zpGF7en/0Ib+l/gOG3KS
 MvWPbrHorl0jVC1/5CKH3klg7o5GTiXM8tAwNuXkH8fDlTUWCfzWjR0B6wHU/f/MkDJn
 LsVmWTkA5Hstz3VdUGi7ScgJgC6Fc9L2GE0GrkJyh9++IPeI9GqTXkTLEkQrbGvbc2Zu
 x3fvv4kHLv6w3NU8I/Gx+XjWaFFqlotDBr0MLNrKlgN9Yzi3Sj5M6pH2pSJ6AiWS0bo4
 5Amg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:subject:to:references:message-id:date
 :user-agent:mime-version:in-reply-to:content-transfer-encoding
 :content-language;
 bh=GIw+KLWuilwnTXuHCqOBGcyNoY5Usou9NMNYurrAu1A=;
 b=txTgSCdQVRsF1dYp1ZPS1EjIu4hVglUTMqSU4PoQxhnBGuqxZz0GQkUHjiHGkeE6Mc
 muSzXTNCiVbKKuEb3BaS2j2Ha6wQ7OAPoFN6PlKIYy3LWWuVzUXl4vWCF288ktpDdYcq
 Yuv4nO0AOjF0xcjZTds3gUEEpmLlyjnEBTcnLNBpInTLrk/k9K4s9htE0MI88gg8U+g1
 KG1lVlbQK4Z2MQSgghvmSPTSGrQ49Fz5qeAXbvj6CTu8e+PC4LqC4C2C5lNFoUj4X6zY
 uHDqGeLLVI3/3lnUP5UAQQfXV8Llp4IVgtB+ZBv+NM08LjRyhTXowMhD6IjnbtI8mKf0
 PEyw==
X-Gm-Message-State: APjAAAVG6px7gGlFYvzi3WC/FtCUyQjuWYMcYT/XzN74GzmHKO4Hpx6O
 WRACeCa4CYHwUS2mN7R4cRk=
X-Google-Smtp-Source: APXvYqwBgaFdHMYxf8q48a56CVPwr8qWi7yPo+MnBlxQXdhzT5lyM+7imrRl1R+dsUSxlzSOlf+8fA==
X-Received: by 2002:adf:e74f:: with SMTP id c15mr37622002wrn.274.1576578255517; 
 Tue, 17 Dec 2019 02:24:15 -0800 (PST)
Received: from [172.19.2.219] ([141.85.233.142])
 by smtp.gmail.com with ESMTPSA id a5sm2446577wmb.37.2019.12.17.02.24.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 17 Dec 2019 02:24:15 -0800 (PST)
From: Roxana Nicolescu <nicolescu.roxana1996@gmail.com>
To: minios-devel@lists.xenproject.org, sharan.santhanam@neclab.eu
References: <20191007094708.32353-1-sharan.santhanam@neclab.eu>
 <20191007094708.32353-6-sharan.santhanam@neclab.eu>
Message-ID: <45986869-6bc8-03fb-d1df-c2ba971bdf20@gmail.com>
Date: Tue, 17 Dec 2019 12:24:14 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.2.2
MIME-Version: 1.0
In-Reply-To: <20191007094708.32353-6-sharan.santhanam@neclab.eu>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT PATCH 05/15] plat/tap: Get/Set hw_addr
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgU2hhcmFuLAoKClNlZSBpbmxpbmUuCgoKUm94YW5hCgpPbiAxMC83LzE5IDEyOjQ2IFBNLCBT
aGFyYW4gU2FudGhhbmFtIHdyb3RlOgo+IFRoZSBwYXRjaCBpbXBsZW1lbnRzIHN1cHBvcnQgZm9y
IGdlbmVyYXRpbmcgYSBkZWZhdWx0IGh3X2FkZHIuIFRoZQo+IHBhdGNoIGFsc28gaW1wbGVtZW50
cyBnZXQgYW5kIHNldCBuZXRkZXYgYXBpLgoKSSB0aGluayB0aGUgbWVzc2FnZSBzaG91bGQgc3Bl
Y2lmeSB0aGUgY3JlYXRpb24gb2YgdGhlIGNvbnRyb2wgc29ja2V0IAphbmQgdGhlIGludHJvZHVj
dGlvbiBvZiBgbmV0aWZfY29uZmlndXJlYCBmdW5jdGlvbiwKCnNpbmNlIHRoZXNlIGFyZSByZWFs
bHkgaW1wb3J0YW50IGluIHRoZSBuZXh0IHBhdGNoZXMuCgpPciBtYXliZSBzcGxpdCB0aGUgcGF0
Y2ggaW4gdHdvLCB3aGF0IGRvIHlvdSB0aGluaz8KCj4gU2lnbmVkLW9mZi1ieTogU2hhcmFuIFNh
bnRoYW5hbTxzaGFyYW4uc2FudGhhbmFtQG5lY2xhYi5ldT4KPiAtLS0KPiAgIHBsYXQvZHJpdmVy
cy90YXAvdGFwLmMgICAgICAgICAgICAgICAgICAgICAgfCA4OSArKysrKysrKysrKysrKysrKysr
KysrKysrKysrLQo+ICAgcGxhdC9saW51eHUvaW5jbHVkZS9saW51eHUvc3lzY2FsbC1hcm1fMzIu
aCB8ICAxICsKPiAgIHBsYXQvbGludXh1L2luY2x1ZGUvbGludXh1L3N5c2NhbGwteDg2XzY0Lmgg
fCAgMSArCj4gICBwbGF0L2xpbnV4dS9pbmNsdWRlL2xpbnV4dS9zeXNjYWxsLmggICAgICAgIHwg
MjUgKysrKysrKysKPiAgIHBsYXQvbGludXh1L2luY2x1ZGUvbGludXh1L3RhcC5oICAgICAgICAg
ICAgfCAgOSArKysKPiAgIHBsYXQvbGludXh1L3RhcF9pby5jICAgICAgICAgICAgICAgICAgICAg
ICAgfCA0MiArKysrKysrKysrKysrKwo+ICAgNiBmaWxlcyBjaGFuZ2VkLCAxNjUgaW5zZXJ0aW9u
cygrKSwgMiBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9wbGF0L2RyaXZlcnMvdGFwL3Rh
cC5jIGIvcGxhdC9kcml2ZXJzL3RhcC90YXAuYwo+IGluZGV4IDhjMTA1MDIuLmNmZWU5MzYgMTAw
NjQ0Cj4gLS0tIGEvcGxhdC9kcml2ZXJzL3RhcC90YXAuYwo+ICsrKyBiL3BsYXQvZHJpdmVycy90
YXAvdGFwLmMKPiBAQCAtOTYsMTIgKzk2LDE2IEBAIHN0cnVjdCB0YXBfbmV0X2RldiB7Cj4gICAJ
VUtfVEFJTFFfSEVBRCh0YXBfdHhxcywgc3RydWN0IHVrX25ldGRldl90eF9xdWV1ZSkgdHhxczsK
PiAgIAkvKiBUaGUgbGlzdCBvZiB0aGUgdGFwIGRldmljZSAqLwo+ICAgCVVLX1RBSUxRX0VOVFJZ
KHN0cnVjdCB0YXBfbmV0X2RldikgbmV4dDsKPiArCS8qIE1hYyBhZGRyZXNzIG9mIHRoZSBkZXZp
Y2UgKi8KPiArCXN0cnVjdCB1a19od2FkZHIgaHdfYWRkcjsKPiAgIAkvKiBVSyBOZXRkZXZpY2Ug
aWRlbnRpZmllciAqLwo+ICAgCV9fdTE2IHRpZDsKPiAgIAkvKiBVSyBOZXRkZXZpY2UgaWRlbnRp
ZmllciAqLwo+ICAgCV9fdTE2IGlkOwo+ICAgCS8qIEZpbGUgRGVzY3JpcHRvciBmb3IgdGhlIHRh
cCBkZXZpY2UgKi8KPiAgIAlpbnQgdGFwX2ZkOwo+ICsJLyogQ29udHJvbCBzb2NrZXQgZGVzY3Jp
cHRvciAqLwo+ICsJaW50IGN0cmxfc29jazsKPiAgIAkvKiBOYW1lIG9mIHRoZSBjaGFyYWN0ZXIg
ZGV2aWNlICovCj4gICAJY2hhciBuYW1lW0lGTkFNU0laXTsKPiAgIAkvKiBNVFUgb2YgdGhlIGRl
dmljZSAqLwo+IEBAIC0xNjQsNiArMTY4LDcgQEAgc3RhdGljIGludCB0YXBfbmV0ZGV2X3J4cV9p
bmZvX2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsIF9fdTE2IHF1ZXVlX2lkLAo+ICAgc3RhdGlj
IGludCB0YXBfbmV0ZGV2X3R4cV9pbmZvX2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsIF9fdTE2
IHF1ZXVlX2lkLAo+ICAgCQkJCSAgIHN0cnVjdCB1a19uZXRkZXZfcXVldWVfaW5mbyAqcWluZm8p
Owo+ICAgc3RhdGljIGludCB0YXBfZGV2aWNlX2NyZWF0ZShzdHJ1Y3QgdGFwX25ldF9kZXYgKnRk
ZXYsIF9fdTMyIGZlYXR1cmVfZmxhZ3MpOwo+ICtzdGF0aWMgaW50IHRhcF9tYWNfZ2VuZXJhdGUo
X191OCAqYWRkciwgaW50IGxlbiwgaW50IGRldl9pZCk7Cj4gICAKPiAgIC8qKgo+ICAgICogTG9j
YWwgZnVuY3Rpb24gZGVmaW5pdGlvbnMKPiBAQCAtMjc4LDE2ICsyODMsNzYgQEAgc3RhdGljIGlu
dCB0YXBfbmV0ZGV2X210dV9zZXQoc3RydWN0IHVrX25ldGRldiAqbiwgIF9fdTE2IG10dSBfX3Vu
dXNlZCkKPiAgIAo+ICAgc3RhdGljIGNvbnN0IHN0cnVjdCB1a19od2FkZHIgKnRhcF9uZXRkZXZf
bWFjX2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpuKQo+ICAgewo+ICsJc3RydWN0IHRhcF9uZXRfZGV2
ICp0ZGV2Owo+ICsKPiAgIAlVS19BU1NFUlQobik7Cj4gLQlyZXR1cm4gTlVMTDsKPiArCXRkZXYg
PSB0b190YXBuZXRkZXYobik7Cj4gKwlyZXR1cm4gJnRkZXYtPmh3X2FkZHI7Cj4gICB9Cj4gICAK
PiAgIHN0YXRpYyBpbnQgdGFwX25ldGRldl9tYWNfc2V0KHN0cnVjdCB1a19uZXRkZXYgKm4sCj4g
ICAJCQkgICAgICBjb25zdCBzdHJ1Y3QgdWtfaHdhZGRyICpod2FkZHIpCj4gICB7Cj4gLQlpbnQg
cmMgPSAtRUlOVkFMOwo+ICsJaW50IHJjID0gMDsKPiArCXN0cnVjdCB0YXBfbmV0X2RldiAqdGRl
djsKPiArCXN0cnVjdCB1a19pZnJlcSBpZnJxID0gezB9Owo+ICAgCj4gICAJVUtfQVNTRVJUKG4g
JiYgaHdhZGRyKTsKPiArCXRkZXYgPSB0b190YXBuZXRkZXYobik7Cj4gKwo+ICsJc25wcmludGYo
aWZycS5pZnJfbmFtZSwgc2l6ZW9mKGlmcnEuaWZyX25hbWUpLCAiJXMiLCB0ZGV2LT5uYW1lKTsK
PiArCXVrX3ByX2luZm8oIlNldHRpbmcgbWFjIGFkZHJlc3Mgb24gdGFwIGRldmljZSAlc1xuIiwg
dGRldi0+bmFtZSk7Cj4gKwo+ICsjaWZkZWYgQ09ORklHX1RBUF9ERVZfREVCVUcKPiArCWludCAg
aTsKR2V0IHJpZCBvZmYgdGhlIGNoZWNrcGF0Y2ggd2FybmluZyBjYXVzZWQgYnkgdGhpcyB2YXJp
YWJsZS4KPiArCWZvciAoaSA9IDA7IGkgPCBVS19ORVRERVZfSFdBRERSX0xFTjsgaSsrKSB7Cj4g
KwkJdWtfcHJfZGVidWcoImh3X2FkZHJlc3M6ICVkIC0gJWRcbiIsIGksCj4gKwkJCSAgICBod2Fk
ZHItPmFkZHJfYnl0ZXNbaV0gJiAweEZGKTsKPiArCX0KPiArI2VuZGlmIC8qIENPTkZJR19UQVBf
REVWX0RFQlVHICovCj4gKwo+ICsJaWZycS5pZnJfaHdhZGRyLnNhX2ZhbWlseSA9IEFGX0xPQ0FM
Owo+ICsJbWVtY3B5KCZpZnJxLmlmcl9od2FkZHIuc2FfZGF0YVswXSwgJmh3YWRkci0+YWRkcl9i
eXRlc1swXSwKPiArCQlVS19ORVRERVZfSFdBRERSX0xFTik7Cj4gKwlyYyA9IHRhcF9uZXRpZl9j
b25maWd1cmUodGRldi0+Y3RybF9zb2NrLCBVS19TSU9DU0lGSFdBRERSLCAmaWZycSk7Cj4gKwlp
ZiAocmMgPCAwKSB7Cj4gKwkJdWtfcHJfZXJyKERSSVZFUl9OQU1FIjogRmFpbGVkKCVkKSB0byBz
ZXQgdGhlIGhhcmR3YXJlIGFkZHJlc3NcbiIsCj4gKwkJCSAgcmMpOwo+ICsJCWdvdG8gZXhpdDsK
PiArCX0KPiArCW1lbWNweSgmdGRldi0+aHdfYWRkciwgaHdhZGRyLCBzaXplb2YoKmh3YWRkcikp
Owo+ICsKPiArZXhpdDoKPiArCXJldHVybiByYzsKPiArfQo+ICsKPiArc3RhdGljIGludCB0YXBf
bWFjX2dlbmVyYXRlKF9fdTggKmFkZHIsIGludCBsZW4sIGludCBkZXZfaWQpCj4gK3sKPiArCWNv
bnN0IGNoYXIgZm10W10gPSB7MHgyLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MH07Cj4gKwo+ICsJ
VUtfQVNTRVJUKGFkZHIgJiYgbGVuID4gMCk7Cj4gKwo+ICsJaWYgKGxlbiA8IFVLX05FVERFVl9I
V0FERFJfTEVOKSB7Cj4gKwkJdWtfcHJfZXJyKCJGYWlsZWQgdG8gZ2VuZXJhdGUgdGhlIG1hYyBh
ZGRyZXNzXG4iKTsKPiArCQlyZXR1cm4gLUVOT1NQQzsKPiArCX1naXRAcmVwb3MuYW50LW5ldDpz
eXMvdW5pa3JhZnQvbGlicy9sd2lwLmdpdAo+ICsJbWVtY3B5KGFkZHIsIGZtdCwgVUtfTkVUREVW
X0hXQUREUl9MRU4gLSAxKTsKPiArCSooYWRkciArIFVLX05FVERFVl9IV0FERFJfTEVOIC0gMSkg
PSAoX191OCkgKGRldl9pZCArIDEpOwo+ICsJcmV0dXJuIDA7Cj4gK30KPiArCj4gK3N0YXRpYyBp
bnQgdGFwZGV2X2N0cmxzb2NrX2NyZWF0ZShzdHJ1Y3QgdGFwX25ldF9kZXYgKnRkZXYpCj4gK3sK
PiArCWludCByYyA9IDA7Cj4gKwo+ICsJcmMgPSBzeXNfc29ja2V0KEFGX0lORVQsIFNPQ0tfREdS
QU0sIDApOwo+ICsJaWYgKHJjIDwgMCkgewo+ICsJCXVrX3ByX2VycihEUklWRVJfTkFNRSI6IEZh
aWxlZCB0byBjcmVhdGUgYSBjb250cm9sIHNvY2tldFxuIik7Cj4gKwkJZ290byBleGl0Owo+ICsJ
fQo+ICsJdGRldi0+Y3RybF9zb2NrID0gcmM7Cj4gKwlyYyA9IDA7Cj4gK2V4aXQ6Cj4gICAJcmV0
dXJuIHJjOwo+ICAgfQo+ICAgCj4gQEAgLTMxOCw2ICszODMsMjQgQEAgc3RhdGljIGludCB0YXBf
bmV0ZGV2X2NvbmZpZ3VyZShzdHJ1Y3QgdWtfbmV0ZGV2ICpuLAo+ICAgCQlnb3RvIGV4aXQ7Cj4g
ICAJfQo+ICAgCj4gKwkvKiBDcmVhdGUgYSBjb250cm9sIHNvY2tldCBmb3IgdGhlIG5ldHdvcmsg
aW50ZXJmYWNlICovCj4gKwlyYyA9IHRhcGRldl9jdHJsc29ja19jcmVhdGUodGRldik7Cj4gKwlp
ZiAocmMgIT0gMCkgewo+ICsJCXVrX3ByX2VycihEUklWRVJfTkFNRSI6IEZhaWxlZCB0byBjcmVh
dGUgYSBjb250cm9sIHNvY2tldFxuIik7Cj4gKwkJZ290byBjbG9zZV90YXBfZGV2Owo+ICsJfQo+
ICsKPiArCS8qIEdlbmVyYXRlIE1BQyBhZGRyZXNzICovCj4gKwl0YXBfbWFjX2dlbmVyYXRlKCZ0
ZGV2LT5od19hZGRyLmFkZHJfYnl0ZXNbMF0sIFVLX05FVERFVl9IV0FERFJfTEVOLAo+ICsJCQkg
dGRldi0+aWQpOwo+ICsKPiArCS8qIE1BQyBBZGRyZXNzIGNvbmZpZ3VyYXRpb24gKi8KPiArCXJj
ID0gdGFwX25ldGRldl9tYWNfc2V0KG4sICZ0ZGV2LT5od19hZGRyKTsKPiArCWlmIChyYyA8IDAp
IHsKPiArCQl1a19wcl9lcnIoRFJJVkVSX05BTUUiOiBGYWlsZWQgdG8gc2V0IHRoZSBtYWMgYWRk
cmVzc1xuIik7Cj4gKwkJZ290byBjbG9zZV9jdHJsX3NvY2s7Cj4gKwl9Cj4gKwo+ICAgCS8qIElu
aXRpYWxpemUgdGhlIHR4L3J4IHF1ZXVlcyAqLwo+ICAgCVVLX1RBSUxRX0lOSVQoJnRkZXYtPnJ4
cXMpOwo+ICAgCXRkZXYtPnJ4cV9jbnQgPSAwOwo+IEBAIC0zMjUsNiArNDA4LDggQEAgc3RhdGlj
IGludCB0YXBfbmV0ZGV2X2NvbmZpZ3VyZShzdHJ1Y3QgdWtfbmV0ZGV2ICpuLAo+ICAgCXRkZXYt
PnR4cV9jbnQgPSAwOwo+ICAgZXhpdDoKPiAgIAlyZXR1cm4gcmM7Cj4gK2Nsb3NlX2N0cmxfc29j
azoKPiArCXRhcF9jbG9zZSh0ZGV2LT5jdHJsX3NvY2spOwo+ICAgY2xvc2VfdGFwX2RldjoKPiAg
IAl0YXBfY2xvc2UodGRldi0+dGFwX2ZkKTsKPiAgIAlnb3RvIGV4aXQ7Cj4gZGlmZiAtLWdpdCBh
L3BsYXQvbGludXh1L2luY2x1ZGUvbGludXh1L3N5c2NhbGwtYXJtXzMyLmggYi9wbGF0L2xpbnV4
dS9pbmNsdWRlL2xpbnV4dS9zeXNjYWxsLWFybV8zMi5oCj4gaW5kZXggZWY5MzIzYi4uMWVkOWU4
NCAxMDA2NDQKPiAtLS0gYS9wbGF0L2xpbnV4dS9pbmNsdWRlL2xpbnV4dS9zeXNjYWxsLWFybV8z
Mi5oCj4gKysrIGIvcGxhdC9saW51eHUvaW5jbHVkZS9saW51eHUvc3lzY2FsbC1hcm1fMzIuaAo+
IEBAIC01NSw2ICs1NSw3IEBACj4gICAjZGVmaW5lIF9fU0NfVElNRVJfR0VUT1ZFUlJVTiAyNjAK
PiAgICNkZWZpbmUgX19TQ19USU1FUl9ERUxFVEUgICAgIDI2MQo+ICAgI2RlZmluZSBfX1NDX0NM
T0NLX0dFVFRJTUUgICAgMjYzCj4gKyNkZWZpbmUgX19TQ19TT0NLRVQgICAgICAgICAgIDI4MQo+
ICAgI2RlZmluZSBfX1NDX1BTRUxFQ1Q2IDMzNQo+ICAgCj4gICAvKiBOT1RFOiBmcm9tIGBtYW4g
c3lzY2FsbGA6Cj4gZGlmZiAtLWdpdCBhL3BsYXQvbGludXh1L2luY2x1ZGUvbGludXh1L3N5c2Nh
bGwteDg2XzY0LmggYi9wbGF0L2xpbnV4dS9pbmNsdWRlL2xpbnV4dS9zeXNjYWxsLXg4Nl82NC5o
Cj4gaW5kZXggNTUzZjBiYS4uOTUwYWJkOCAxMDA2NDQKPiAtLS0gYS9wbGF0L2xpbnV4dS9pbmNs
dWRlL2xpbnV4dS9zeXNjYWxsLXg4Nl82NC5oCj4gKysrIGIvcGxhdC9saW51eHUvaW5jbHVkZS9s
aW51eHUvc3lzY2FsbC14ODZfNjQuaAo+IEBAIC00Nyw2ICs0Nyw3IEBACj4gICAjZGVmaW5lIF9f
U0NfUlRfU0lHQUNUSU9OICAgMTMKPiAgICNkZWZpbmUgX19TQ19SVF9TSUdQUk9DTUFTSyAxNAo+
ICAgI2RlZmluZSBfX1NDX0lPQ1RMICAxNgo+ICsjZGVmaW5lIF9fU0NfU09DS0VUIDQxCj4gICAj
ZGVmaW5lIF9fU0NfRVhJVCAgIDYwCj4gICAjZGVmaW5lIF9fU0NfQVJDSF9QUkNUTCAgICAgICAx
NTgKPiAgICNkZWZpbmUgX19TQ19USU1FUl9DUkVBVEUgICAgIDIyMgo+IGRpZmYgLS1naXQgYS9w
bGF0L2xpbnV4dS9pbmNsdWRlL2xpbnV4dS9zeXNjYWxsLmggYi9wbGF0L2xpbnV4dS9pbmNsdWRl
L2xpbnV4dS9zeXNjYWxsLmgKPiBpbmRleCAxNjA0NzEyLi43MWUyZGVmIDEwMDY0NAo+IC0tLSBh
L3BsYXQvbGludXh1L2luY2x1ZGUvbGludXh1L3N5c2NhbGwuaAo+ICsrKyBiL3BsYXQvbGludXh1
L2luY2x1ZGUvbGludXh1L3N5c2NhbGwuaAo+IEBAIC05MSw2ICs5MSwzMSBAQCBzdGF0aWMgaW5s
aW5lIGludCBzeXNfY2xvc2UoaW50IGZkKQo+ICAgCQkJCSAgKGxvbmcpIGZkKTsKPiAgIH0KPiAg
IAo+ICsjaWZuZGVmIFNPQ0tfU1RSRUFNCj4gKyNkZWZpbmUgU09DS19TVFJFQU0gICAgMQo+ICsj
ZW5kaWYgLyogU09DS19TVFJFQU0gKi8KPiArI2lmbmRlZiBTT0NLX0RHUkFNCj4gKyNkZWZpbmUg
U09DS19ER1JBTSAgICAgMgo+ICsjZW5kaWYgLyogU09DS19ER1JBTSAqLwo+ICsKPiArI2lmbmRl
ZiBTT0NLX1JBVwo+ICsjZGVmaW5lIFNPQ0tfUkFXICAgICAgIDMKPiArI2VuZGlmIC8qIFNPQ0tf
UkFXICovCj4gKwo+ICsjaWZuZGVmIEFGX0xPQ0FMCj4gKyNkZWZpbmUgQUZfTE9DQUwgICAgICAg
MQo+ICsjZW5kaWYgLyogQUZfTE9DQUwgKi8KPiArI2lmbmRlZiBBRl9JTkVUCj4gKyNkZWZpbmUg
QUZfSU5FVCAgICAgICAgMgo+ICsjZW5kaWYgLyogQUZfSU5FVCAqLwo+ICtzdGF0aWMgaW5saW5l
IGludCBzeXNfc29ja2V0KGludCBkb21haW4sIGludCB0eXBlLCBpbnQgcHJvdG9jb2wpCj4gK3sK
PiArCXJldHVybiAoc3NpemVfdCkgc3lzY2FsbDMoX19TQ19TT0NLRVQsCj4gKwkJCQkgIChsb25n
KSBkb21haW4sCj4gKwkJCQkgIChsb25nKSB0eXBlLAo+ICsJCQkJICAobG9uZykgcHJvdG9jb2wp
Owo+ICt9Cj4gKwo+ICAgc3RhdGljIGlubGluZSBpbnQgc3lzX2V4aXQoaW50IHN0YXR1cykKPiAg
IHsKPiAgIAlyZXR1cm4gKGludCkgc3lzY2FsbDEoX19TQ19FWElULAo+IGRpZmYgLS1naXQgYS9w
bGF0L2xpbnV4dS9pbmNsdWRlL2xpbnV4dS90YXAuaCBiL3BsYXQvbGludXh1L2luY2x1ZGUvbGlu
dXh1L3RhcC5oCj4gaW5kZXggYTgwYzJiNy4uOTdjZjRhMSAxMDA2NDQKPiAtLS0gYS9wbGF0L2xp
bnV4dS9pbmNsdWRlL2xpbnV4dS90YXAuaAo+ICsrKyBiL3BsYXQvbGludXh1L2luY2x1ZGUvbGlu
dXh1L3RhcC5oCj4gQEAgLTU3LDYgKzU3LDEzIEBAIHN0cnVjdCB1a19pbl9hZGRyIHsKPiAgIAl1
a19pbl9hZGRyX3Qgc19hZGRyOwo+ICAgfTsKPiAgIAo+ICtzdHJ1Y3QgdWtfc29ja2FkZHJfaW4g
ewo+ICsJdWtfc2FfZmFtaWx5X3Qgc2luX2ZhbWlseTsKPiArCXVrX2luX3BvcnRfdCBzaW5fcG9y
dDsKPiArCXN0cnVjdCB1a19pbl9hZGRyIHNpbl9hZGRyOwo+ICsJX191OCBzaW5femVyb1s4XTsK
PiArfTsKPiArCj4gICBzdHJ1Y3QgdWtfc29ja2FkZHIgewo+ICAgCXVrX3NhX2ZhbWlseV90IHNh
X2ZhbWlseTsKPiAgIAljaGFyIHNhX2RhdGFbMTRdOwo+IEBAIC0xNDUsNCArMTUyLDYgQEAgc3Ry
dWN0IHVrX2lmcmVxIHsKPiAgIGludCB0YXBfb3BlbihfX3UzMiBmbGFncyk7Cj4gICBpbnQgdGFw
X2Nsb3NlKGludCBmZCk7Cj4gICBpbnQgdGFwX2Rldl9jb25maWd1cmUoaW50IGZkLCBfX3UzMiBm
ZWF0dXJlX2ZsYWdzLCB2VUtfU0lPQ0dJRkZMQUdTb2lkICphcmcpOwo+ICtpbnQgdGFwX25ldGlm
X2NvbmZpZ3VyZShpbnQgZmQsIF9fdTMyIHJlcXVlc3QsIHZvaWQgKmFyZyk7Cj4gKwo+ICAgI2Vu
ZGlmIC8qIExJTlVYVV9UQVBfSCAqLwo+IGRpZmYgLS1naXQgYS9wbGF0L2xpbnV4dS90YXBfaW8u
YyBiL3BsYXQvbGludXh1L3RhcF9pby5jCj4gaW5kZXggYTM5NDEzNC4uNjBmMWZjYyAxMDA2NDQK
PiAtLS0gYS9wbGF0L2xpbnV4dS90YXBfaW8uYwo+ICsrKyBiL3BsYXQvbGludXh1L3RhcF9pby5j
Cj4gQEAgLTYxLDYgKzYxLDQ4IEBAIGludCB0YXBfZGV2X2NvbmZpZ3VyZShpbnQgZmQsIF9fdTMy
IGZlYXR1cmVfZmxhZ3MsIHZvaWQgKmFyZykKPiAgIAlyZXR1cm4gcmM7Cj4gICB9Cj4gICAKPiAr
aW50IHRhcF9uZXRpZl9jb25maWd1cmUoaW50IGZkLCBfX3UzMiByZXF1ZXN0LCB2b2lkICphcmcp
Cj4gK3sKPiArCWludCByYzsKPiArCXN0cnVjdCB1a19pZnJlcSBpZnIgPSB7MH07Cj4gKwlzdHJ1
Y3QgdWtfaWZyZXEgKnVzcl9pZnIgPSAoc3RydWN0IHVrX2lmcmVxICopIGFyZzsKPiArCj4gKwlz
d2l0Y2ggKHJlcXVlc3QpIHsKPiArCWNhc2UgVUtfU0lPQ1NJRkZMQUdTOgo+ICsJCXNucHJpbnRm
KGlmci5pZnJfbmFtZSwgSUZOQU1TSVosICIlcyIsIHVzcl9pZnItPmlmcl9uYW1lKTsKPiArCQly
YyA9IHN5c19pb2N0bChmZCwgVUtfU0lPQ0dJRkZMQUdTLCAmaWZyKTsKPiArCQkvKiBmZXRjaCBj
dXJyZW50IGZsYWdzIHRvIGxlYXZlIG90aGVyIGZsYWdzIHVudG91Y2hlZCAqLwo+ICsJCWlmIChy
YyA8IDApIHsKPiArCQkJdWtfcHJfZXJyKCJGYWlsZWQgdG8gcmVhZCBmbGFncyAlZFxuIiwgcmMp
Owo+ICsJCQlnb3RvIGV4aXRfZXJyb3I7Cj4gKwkJfQo+ICsJCXVzcl9pZnItPmlmcl9mbGFncyB8
PSBpZnIuaWZyX2ZsYWdzOwo+ICsJCWJyZWFrOwo+ICsJY2FzZSBVS19TSU9DR0lGSU5ERVg6Cj4g
KwljYXNlIFVLX1NJT0NHSUZGTEFHUzoKPiArCWNhc2UgVUtfU0lPQ0dJRkhXQUREUjoKPiArCWNh
c2UgVUtfU0lPQ1NJRkhXQUREUjoKPiArCWNhc2UgVUtfU0lPQ1NJRk1UVToKPiArCWNhc2UgVUtf
U0lPQ1NJRlRYUUxFTjoKPiArCWNhc2UgVUtfU0lPQ0dJRlRYUUxFTjoKPiArCQlicmVhazsKPiAr
CWRlZmF1bHQ6Cj4gKwkJcmMgPSAtRUlOVkFMOwo+ICsJCXVrX3ByX2VycigiSW52YWxpZCBpb2N0
bCByZXF1ZXN0XG4iKTsKPiArCQlnb3RvIGV4aXRfZXJyb3I7Cj4gKwl9Cj4gKwo+ICsJaWYgKChy
YyA9IHN5c19pb2N0bChmZCwgcmVxdWVzdCwgdXNyX2lmcikpIDwgMCkgewo+ICsJCXVrX3ByX2Vy
cigiRmFpbGVkIHRvIHNldCBkZXZpY2UgY29udHJvbCAlZFxuIiwgcmMpOwo+ICsJCWdvdG8gZXhp
dF9lcnJvcjsKPiArCX0KPiArCj4gKwlyZXR1cm4gMDsKPiArCj4gK2V4aXRfZXJyb3I6Cj4gKwly
ZXR1cm4gcmM7Cj4gK30KPiArCj4gICBpbnQgdGFwX2Nsb3NlKGludCBmZCkKPiAgIHsKPiAgIAly
ZXR1cm4gc3lzX2Nsb3NlKGZkKTsKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3Rz
LnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0
aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Tue Dec 17 10:27:38 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 17 Dec 2019 10:27:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ihA4o-0005nG-6b; Tue, 17 Dec 2019 10:27:38 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=FBRG=2H=gmail.com=nicolescu.roxana1996@srs-us1.protection.inumbo.net>)
 id 1ihA4m-0005nB-Hg
 for minios-devel@lists.xenproject.org; Tue, 17 Dec 2019 10:27:36 +0000
X-Inumbo-ID: d78daeaa-20b7-11ea-88e7-bc764e2007e4
Received: from mail-wr1-x443.google.com (unknown [2a00:1450:4864:20::443])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id d78daeaa-20b7-11ea-88e7-bc764e2007e4;
 Tue, 17 Dec 2019 10:27:36 +0000 (UTC)
Received: by mail-wr1-x443.google.com with SMTP id c14so10682790wrn.7
 for <minios-devel@lists.xenproject.org>; Tue, 17 Dec 2019 02:27:36 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:subject:to:references:message-id:date:user-agent:mime-version
 :in-reply-to:content-transfer-encoding:content-language;
 bh=TKkxIBk6Bf85arRY9bgxZkn9841qutHbJzBvUNOQesY=;
 b=gq0IBcUsn3a8+llgFQLR91a8QuxwduqOwety1isVo29wS1RZ58c4aXeRg0GKaf6hGS
 H9M7/s3yctYD0Hbr0DIlp1IvK5s7/ThTr0kGlDcSJx+2faCW0NxY0MS4U/MsakZLJ9z8
 AcD4lzIoB2z+dGG6u7rZrPiRn6j4vMnzoVqZOhGC7CNH4TvNYdm2pG51xYr0/yTqqQsR
 JOGHSyADjidGDbwGlXZnTgCwIjVYNxYrl8dF7lOQFomZxq1pTTpNvh+vV1WxYZSoarnD
 DtF5LKELAj593WT5V+iA8aHs9LIsouT4wtUG4MAo19W0u4VPi5O3oItMl5Gv0jfSwsPF
 qSrA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:subject:to:references:message-id:date
 :user-agent:mime-version:in-reply-to:content-transfer-encoding
 :content-language;
 bh=TKkxIBk6Bf85arRY9bgxZkn9841qutHbJzBvUNOQesY=;
 b=MK7skY3LTDeoN6dyPEv96E4LIganv3xs4yaG4YrJ3KNU6A1n7ybrh8hsSRmlIZkK5n
 t/LGgXkF2LpsiXF8E7rYenmf4AYtg8JJarZkdnwoovxr0YzGIi2iBpZ2Gw5oMekcVlk8
 TXTSanPrCYzEYiLzxis1+cKmC1bNPJpt57AlggpeiaVY/H3Q0jPa2jWNywTkF+zzkrZy
 wcZqEKTlx/pE9KawHP5Y++iWGdVlpgrDqV+SKy83WUtPZ5Ot6KU2EGqT+yuvpkDII8Az
 MJPthh4/DylXbMokOHf/CO4Nl70OgQrG+WtIkJ4+w/UB+eq0h38vKm73nLbegfHQ3edA
 WBjQ==
X-Gm-Message-State: APjAAAVUSsInLQkA0z8T7cdkMtbn3oAV4ffCliBsTtd7f2NUMpEdDVuM
 jiOyOAFoaW0UqUjF4Sh6l88=
X-Google-Smtp-Source: APXvYqwGrowxbKP58g8NprCg3p20cyexF9tAEZ/sYxNkwwU8oJTXsKvp2NnjgxBwGcVdsbowBGRfqg==
X-Received: by 2002:a5d:62c8:: with SMTP id o8mr33825055wrv.316.1576578455192; 
 Tue, 17 Dec 2019 02:27:35 -0800 (PST)
Received: from [172.19.2.219] ([141.85.233.142])
 by smtp.gmail.com with ESMTPSA id g21sm2510897wmh.17.2019.12.17.02.27.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 17 Dec 2019 02:27:34 -0800 (PST)
From: Roxana Nicolescu <nicolescu.roxana1996@gmail.com>
To: minios-devel@lists.xenproject.org, sharan.santhanam@neclab.eu
References: <20191007094708.32353-1-sharan.santhanam@neclab.eu>
 <20191007094708.32353-11-sharan.santhanam@neclab.eu>
Message-ID: <88f62606-0fda-882b-fa6e-55c44d9764cd@gmail.com>
Date: Tue, 17 Dec 2019 12:27:33 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.2.2
MIME-Version: 1.0
In-Reply-To: <20191007094708.32353-11-sharan.santhanam@neclab.eu>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT PATCH 10/15] plat/tap: Setup txq
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgU2hhcmFuLAoKClNlZSBpbmxpbmUuCgoKUm94YW5hCgoKT24gMTAvNy8xOSAxMjo0NyBQTSwg
U2hhcmFuIFNhbnRoYW5hbSB3cm90ZToKPiBUYXAgZHJpdmVyIGltcGxlbWVudHMgdGhlIGZ1bmN0
aW9uIHRvIHNldHVwIHRoZSB0eHEuCj4KPiBTaWduZWQtb2ZmLWJ5OiBTaGFyYW4gU2FudGhhbmFt
PHNoYXJhbi5zYW50aGFuYW1AbmVjbGFiLmV1Pgo+IC0tLQo+ICAgcGxhdC9kcml2ZXJzL3RhcC90
YXAuYyB8IDI1ICsrKysrKysrKysrKysrKysrKysrKy0tLS0KPiAgIDEgZmlsZSBjaGFuZ2VkLCAy
MSBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL3BsYXQvZHJp
dmVycy90YXAvdGFwLmMgYi9wbGF0L2RyaXZlcnMvdGFwL3RhcC5jCj4gaW5kZXggYmNjOGI2ZS4u
ZDU2NGUxNSAxMDA2NDQKPiAtLS0gYS9wbGF0L2RyaXZlcnMvdGFwL3RhcC5jCj4gKysrIGIvcGxh
dC9kcml2ZXJzL3RhcC90YXAuYwo+IEBAIC02OSw2ICs2OSw3IEBACj4gICAKPiAgIHN0cnVjdCB1
a19uZXRkZXZfdHhfcXVldWUgewo+ICAgCWludCBxdWV1ZV9pZDsKPiArCV9fdTE2IG5iX2Rlc2M7
CkkgZG9uJ3QgdW5kZXJzdGFuZCB3aGF0J3MgdGhlIHVzZSBvZiB0aGlzIHZhcmlhYmxlLgo+ICAg
CVVLX1RBSUxRX0VOVFJZKHN0cnVjdCB1a19uZXRkZXZfdHhfcXVldWUpIG5leHQ7Cj4gICAJc3Ry
dWN0IHVrX2FsbG9jICphOwo+ICAgCS8qIFNldCB0aGUgZmlsZSBkZXNjcmlwdG9yIGZvciB0aGUg
dGFwIGRldmljZSAqLwo+IEBAIC0yOTMsMTcgKzI5NCwzMyBAQCBzdGF0aWMgc3RydWN0IHVrX25l
dGRldl9yeF9xdWV1ZSAqdGFwX25ldGRldl9yeHFfc2V0dXAoc3RydWN0IHVrX25ldGRldiAqZGV2
LAo+ICAgfQo+ICAgCj4gICBzdGF0aWMgc3RydWN0IHVrX25ldGRldl90eF9xdWV1ZSAqdGFwX25l
dGRldl90eHFfc2V0dXAoc3RydWN0IHVrX25ldGRldiAqZGV2LAo+IC0JCQkJCQkgICAgICAgX191
MTYgcXVldWVfaWQgX191bnVzZWQsCj4gLQkJCQkJCSAgICAgICBfX3UxNiBuYl9kZXNjIF9fdW51
c2VkLAo+ICsJCQkJCQkgICAgICAgX191MTYgcXVldWVfaWQsCj4gKwkJCQkJCSAgICAgICBfX3Ux
NiBuYl9kZXNjLAo+ICAgCQkJCQlzdHJ1Y3QgdWtfbmV0ZGV2X3R4cXVldWVfY29uZiAqY29uZikK
PiAgIHsKPiAtCWludCByYyA9IC1FSU5WQUw7Cj4gKwlpbnQgcmMgPSAwOwo+ICAgCXN0cnVjdCB1
a19uZXRkZXZfdHhfcXVldWUgKnR4cSA9IE5VTEw7Cj4gKwlzdHJ1Y3QgdGFwX25ldF9kZXYgKnRk
ZXYgPSBOVUxMOwo+ICAgCj4gICAJVUtfQVNTRVJUKGRldiAmJiBjb25mKTsKPiAgIAo+IC0JdHhx
ID0gRVJSMlBUUihyYyk7Cj4gKwl0ZGV2ID0gdG9fdGFwbmV0ZGV2KGRldik7Cj4gKwl0eHEgPSB1
a196YWxsb2MoY29uZi0+YSwgc2l6ZW9mKCp0eHEpKTsKPiArCWlmICghdHhxKSB7Cj4gKwkJdWtf
cHJfZXJyKERSSVZFUl9OQU1FIjogRmFpbGVkIHRvIGFsbG9jYXRlIHRoZSByeCBxdWV1ZVxuIik7
Ckl0J3MgdHggcXVldWUsIHJpZ2h0Pwo+ICsJCXJjID0gLUVOT01FTTsKPiArCQlnb3RvIGVycl9l
eGl0Owo+ICsJfQo+ICsKPiArCXR4cS0+cXVldWVfaWQgPSBxdWV1ZV9pZDsKPiArCXR4cS0+ZmQg
PSB0ZGV2LT50YXBfZmQ7Cj4gKwl0eHEtPm5iX2Rlc2MgPSBuYl9kZXNjOwo+ICsJdHhxLT5hID0g
Y29uZi0+YTsKPiArZXhpdDoKPiAgIAlyZXR1cm4gdHhxOwo+ICtlcnJfZXhpdDoKPiArCXR4cSA9
IEVSUjJQVFIocmMpOwo+ICsJZ290byBleGl0Owo+ICAgfQo+ICAgCj4gICBzdGF0aWMgaW50IHRh
cF9uZXRkZXZfc3RhcnQoc3RydWN0IHVrX25ldGRldiAqbikKCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWlu
aW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5v
cmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Tue Dec 17 10:28:36 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 17 Dec 2019 10:28:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ihA5k-0005ok-Ay; Tue, 17 Dec 2019 10:28:36 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=FBRG=2H=gmail.com=nicolescu.roxana1996@srs-us1.protection.inumbo.net>)
 id 1ihA5j-0005of-Lj
 for minios-devel@lists.xenproject.org; Tue, 17 Dec 2019 10:28:35 +0000
X-Inumbo-ID: faa09740-20b7-11ea-88e7-bc764e2007e4
Received: from mail-wm1-x341.google.com (unknown [2a00:1450:4864:20::341])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id faa09740-20b7-11ea-88e7-bc764e2007e4;
 Tue, 17 Dec 2019 10:28:34 +0000 (UTC)
Received: by mail-wm1-x341.google.com with SMTP id p17so2495033wmb.0
 for <minios-devel@lists.xenproject.org>; Tue, 17 Dec 2019 02:28:34 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:subject:to:references:message-id:date:user-agent:mime-version
 :in-reply-to:content-transfer-encoding:content-language;
 bh=6ZcBOqR5jSD9R0OqSsZoZwAuFHQDM2Tn9b6NSCl5ybQ=;
 b=q+xOD3PWi3BJe/IwBHNiNoAK1lQTu3zg2nFJm6AphZ96cOijvI73dlmovBSqyx0BkQ
 4KRxfKf+TkKbiWYnQFr9ogE2CbYBlGtcmzOiomxwgw1okhqCsVewl8gg5ux0qyjr2C41
 cosDu7k0xqUaHaLT2fyJ4lp4AEq098Kv2L3EqKz1osi76GbQMbDMsfdiXU02TsP3wSJP
 zKBSGyYlXmQjnAjzho4GUM49YWiXlK6j2WPpwqYiyjigl4Ln/ct7DjcQtQzpbPn+ty4N
 T6gJPzBmnXB3bwsJZxD37zBc3u+nu6g5yRAa6JcCLJCorZ5tjZvIJi0XypU7yWUscFEt
 U3ow==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:subject:to:references:message-id:date
 :user-agent:mime-version:in-reply-to:content-transfer-encoding
 :content-language;
 bh=6ZcBOqR5jSD9R0OqSsZoZwAuFHQDM2Tn9b6NSCl5ybQ=;
 b=EUreHHK87IDPqXRaKKe1g1Q8wIlQnsHC8npn7LpJd/wgmcAVjo3QWcFuth11G1HCrW
 JU6NRVOsrQS3q0H42OEzucVd2yEjsRu7ynORnATtGZbvZRUe/DRYPWop/rZVZjJRidBM
 8T6ow6sOeBAblu8mbOXQaNjlOz8PrUGznh2mYomrCb0nmvkCvfUnSbv9jMTrXKaE7zIA
 vDwOhcTgH5SciqBiaIFUuaVqP4hTMDLenkKe8hv7LvkdZVIVUWYkbJXLSc51fEJll0OV
 kO+NvmUB0Rq+DUngz/6aQlRhoL/B95WMhZI8lbvBvmhRw3TlDhAT5/UrNLvU0twTr+CR
 w17g==
X-Gm-Message-State: APjAAAVjpPxi9LRFM0FWulVe3yeNmJqJ5sy7cqTd457KwbkVSuu7UfJi
 eH2IYnkVz0+YTsW9LJ3vtIE7sMsnBbg=
X-Google-Smtp-Source: APXvYqwKnCAgi9FEqAYpS1U/d/YRPLddqtJsYNUCUC56zFDe6zcrUJbPlOr+CjMIzYgnm3v4KwiOWA==
X-Received: by 2002:a05:600c:d5:: with SMTP id
 u21mr4456803wmm.85.1576578513672; 
 Tue, 17 Dec 2019 02:28:33 -0800 (PST)
Received: from [172.19.2.219] ([141.85.233.142])
 by smtp.gmail.com with ESMTPSA id s82sm2598494wms.28.2019.12.17.02.28.32
 for <minios-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 17 Dec 2019 02:28:33 -0800 (PST)
From: Roxana Nicolescu <nicolescu.roxana1996@gmail.com>
To: minios-devel@lists.xenproject.org
References: <20191007094708.32353-1-sharan.santhanam@neclab.eu>
 <20191007094708.32353-12-sharan.santhanam@neclab.eu>
Message-ID: <22220d8c-cf9c-7dcf-1148-2a7033fb48fd@gmail.com>
Date: Tue, 17 Dec 2019 12:28:32 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.2.2
MIME-Version: 1.0
In-Reply-To: <20191007094708.32353-12-sharan.santhanam@neclab.eu>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT PATCH 11/15] plat/tap: Setup rxq
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgU2hhcmFuLAoKClNlZSBpbmxpbmUuCgoKUm94YW5hCgpPbiAxMC83LzE5IDEyOjQ3IFBNLCBT
aGFyYW4gU2FudGhhbmFtIHdyb3RlOgo+IFRhcCBkcml2ZXIgaW1wbGVtZW50cyB0aGUgZnVuY3Rp
b24gdG8gc2V0dXAgdGhlIHJ4cS4KPgo+IFNpZ25lZC1vZmYtYnk6IFNoYXJhbiBTYW50aGFuYW08
c2hhcmFuLnNhbnRoYW5hbUBuZWNsYWIuZXU+Cj4gLS0tCj4gICBwbGF0L2RyaXZlcnMvdGFwL3Rh
cC5jIHwgOTQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKyst
LS0KPiAgIDEgZmlsZSBjaGFuZ2VkLCA5MCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQo+
Cj4gZGlmZiAtLWdpdCBhL3BsYXQvZHJpdmVycy90YXAvdGFwLmMgYi9wbGF0L2RyaXZlcnMvdGFw
L3RhcC5jCj4gaW5kZXggZDU2NGUxNS4uZmFkOTJlZiAxMDA2NDQKPiAtLS0gYS9wbGF0L2RyaXZl
cnMvdGFwL3RhcC5jCj4gKysrIGIvcGxhdC9kcml2ZXJzL3RhcC90YXAuYwo+IEBAIC03OCwxMCAr
NzgsMTQgQEAgc3RydWN0IHVrX25ldGRldl90eF9xdWV1ZSB7Cj4gICAKPiAgIHN0cnVjdCB1a19u
ZXRkZXZfcnhfcXVldWUgewo+ICAgCWludCBxdWV1ZV9pZDsKPiArCV9fdTE2IG5iX2Rlc2M7Cj4g
ICAJVUtfVEFJTFFfRU5UUlkoc3RydWN0IHVrX25ldGRldl9yeF9xdWV1ZSkgbmV4dDsKPiAgIAlz
dHJ1Y3QgdWtfYWxsb2MgKmE7Cj4gICAJLyogU2V0IHRoZSBmaWxlIGRlc2NyaXB0b3IgZm9yIHRo
ZSB0YXAgZGV2aWNlICovCj4gICAJaW50IGZkOwo+ICsJLyogQ2FsbGJhY2sgZm9yIGZpbGxpbmcg
dGhlIGJ1ZmZlciAqLwo+ICsJdWtfbmV0ZGV2X2FsbG9jX3J4cGt0cyBhbGxvY19yeHBrdHM7Cj4g
Kwl2b2lkICphbGxvY19yeHBrdHNfYXJncDsKPiAgIH07Cj4gICAKPiAgIHN0cnVjdCB0YXBfbmV0
X2RldiB7Cj4gQEAgLTI3OCwxOSArMjgyLDEwMSBAQCBzdGF0aWMgaW50IHRhcF9uZXRkZXZfcnhx
X2luZm9fZ2V0KHN0cnVjdCB1a19uZXRkZXYgKmRldiBfX3VudXNlZCwKPiAgIAlyZXR1cm4gMDsK
PiAgIH0KPiAgIAo+ICtzdGF0aWMgaW50IHRhcF9kZXZfcnhxbGVuX2dldChzdHJ1Y3QgdGFwX25l
dF9kZXYgKnRkZXYpCj4gK3sKPiArCWludCByYyA9IDA7Cj4gKwlzdHJ1Y3QgdWtfaWZyZXEgaWZy
cSA9IHswfTsKPiArCj4gKwkvKiBTZXQgdGhlIG5hbWUgb2YgdGhlIGRldmljZSAqLwo+ICsJc25w
cmludGYoaWZycS5pZnJfbmFtZSwgc2l6ZW9mKGlmcnEuaWZyX25hbWUpLCAiJXMiLCB0ZGV2LT5u
YW1lKTsKPiArCj4gKwkvKiBTZXQgdGhlIHN0YXR1cyBvZiB0aGUgZGV2aWNlICovCj4gKwlyYyA9
IHRhcF9uZXRpZl9jb25maWd1cmUodGRldi0+Y3RybF9zb2NrLCBVS19TSU9DR0lGVFhRTEVOLCAm
aWZycSk7CkkgZG9uJ3QgdW5kZXJzdGFuZCB3aHkgdGhpcyBmbGFncyBpcyBjYWxsZWQgVFggaW5z
dGVhZCBvZiBSWC4KPiArCWlmIChyYyA8IDApIHsKPiArCQlyYyA9IC1lcnJubzsKPiArCQl1a19w
cl9lcnIoRFJJVkVSX05BTUUiOiBGYWlsZWQoJWQpIHRvIHNldCB0aGUgZmxhZ3Mgb2YgaWY6ICVz
XG4iLAo+ICsJCQkgIHJjLCB0ZGV2LT5uYW1lKTsKPiArCQlyZXR1cm4gcmM7Cj4gKwl9Cj4gKwl1
a19wcl9pbmZvKERSSVZFUl9OQU1FIjogcnhxIGxlbmd0aCBpcyAlZFxuIiwgaWZycS5pZnJfcWxl
bik7Cj4gKwlyZXR1cm4gaWZycS5pZnJfcWxlbjsKPiArfQo+ICsKPiArc3RhdGljIGludCB0YXBf
ZGV2X3J4cWxlbl9zZXQoc3RydWN0IHRhcF9uZXRfZGV2ICp0ZGV2LCBfX3UxNiBxbGVuKQo+ICt7
Cj4gKwlpbnQgcmMgPSAwOwo+ICsJc3RydWN0IHVrX2lmcmVxIGlmcnEgPSB7MH07Cj4gKwo+ICsJ
LyogU2V0IHRoZSBuYW1lIG9mIHRoZSBkZXZpY2UgKi8KPiArCXNucHJpbnRmKGlmcnEuaWZyX25h
bWUsIHNpemVvZihpZnJxLmlmcl9uYW1lKSwgIiVzIiwgdGRldi0+bmFtZSk7Cj4gKwlpZnJxLmlm
cl9xbGVuID0gcWxlbjsKPiArCj4gKwkvKiBTZXQgdGhlIHN0YXR1cyBvZiB0aGUgZGV2aWNlICov
Cj4gKwlyYyA9IHRhcF9uZXRpZl9jb25maWd1cmUodGRldi0+Y3RybF9zb2NrLCBVS19TSU9DU0lG
VFhRTEVOLCAmaWZycSk7CkkgZG9uJ3QgdW5kZXJzdGFuZCB3aHkgdGhpcyBmbGFncyBpcyBjYWxs
ZWQgVFggaW5zdGVhZCBvZiBSWC4KPiArCWlmIChyYyA8IDApIHsKPiArCQl1a19wcl9lcnIoRFJJ
VkVSX05BTUUiOiBGYWlsZWQoJWQpIHRvIHNldCB0aGUgZmxhZ3Mgb2YgaWY6ICVzXG4iLAo+ICsJ
CQkgIHJjLCB0ZGV2LT5uYW1lKTsKPiArCQlyZXR1cm4gcmM7Cj4gKwl9Cj4gKwl1a19wcl9pbmZv
KERSSVZFUl9OQU1FIjogcnhxIGxlbmd0aCBpcyAlZFxuIiwgaWZycS5pZnJfcWxlbik7Cj4gKwly
ZXR1cm4gcmM7Cj4gK30KPiAgIAo+ICAgc3RhdGljIHN0cnVjdCB1a19uZXRkZXZfcnhfcXVldWUg
KnRhcF9uZXRkZXZfcnhxX3NldHVwKHN0cnVjdCB1a19uZXRkZXYgKmRldiwKPiAtCQkJCQkJICAg
ICAgIF9fdTE2IHF1ZXVlX2lkIF9fdW51c2VkLAo+IC0JCQkJCQkgICAgICAgX191MTYgbmJfZGVz
YyBfX3VudXNlZCwKPiArCQkJCQkJICAgICAgIF9fdTE2IHF1ZXVlX2lkLAo+ICsJCQkJCQkgICAg
ICAgX191MTYgbmJfZGVzYywKPiAgIAkJCQkJc3RydWN0IHVrX25ldGRldl9yeHF1ZXVlX2NvbmYg
KmNvbmYpCj4gICB7Cj4gLQlpbnQgcmMgPSAtRUlOVkFMOwo+ICsJaW50IHJjID0gMDsKPiAgIAlz
dHJ1Y3QgdWtfbmV0ZGV2X3J4X3F1ZXVlICpyeHEgPSBOVUxMOwo+ICsJc3RydWN0IHRhcF9uZXRf
ZGV2ICp0ZGV2ID0gTlVMTDsKPiArCV9fdTE2IHFsZW4gPSAwOwo+ICAgCj4gICAJVUtfQVNTRVJU
KGRldiAmJiBjb25mKTsKPiAgIAo+IC0JcnhxID0gRVJSMlBUUihyYyk7Cj4gKwl0ZGV2ID0gdG9f
dGFwbmV0ZGV2KGRldik7Cj4gKwkvKiBGZXRjaCB0aGUgZGVmYXVsdCBxdWV1ZSBsZW5ndGggb2Yg
dGhlIHR4IHF1ZXVlICovClR4IHR5cG8uCj4gKwlyYyA9IHRhcF9kZXZfcnhxbGVuX2dldCh0ZGV2
KTsKPiArCWlmIChyYyA8IDApIHsKPiArCQl1a19wcl9lcnIoRFJJVkVSX05BTUUiOiBGYWlsZWQg
dG8gZmV0Y2ggdGhlIHR4IHF1ZXVlIGxlbmd0aFxuIik7ClR4IHR5cG8uCj4gKwkJZ290byBlcnJf
ZXhpdDsKPiArCX0KPiArCXFsZW4gPSByYzsKPiArCXJjID0gMDsKPiArCj4gKwkvKiBBbGxvY2F0
ZSB0aGUgdHggcXVldWUgKi8KPiArCXJ4cSA9IHVrX3phbGxvYyhjb25mLT5hLCBzaXplb2YoKnJ4
cSkpOwo+ICsJaWYgICghcnhxKSB7Cj4gKwkJdWtfcHJfZXJyKERSSVZFUl9OQU1FIjogRmFpbGVk
IHRvIGFsbG9jYXRlIHRoZSB0eCBxdWV1ZSAlZCIsClR4IHR5cG8uCj4gKwkJCSAgcXVldWVfaWQp
Owo+ICsJCXJjID0gLUVOT01FTTsKPiArCQlnb3RvIGVycl9leGl0Owo+ICsJfQo+ICsKPiArCXJ4
cS0+cXVldWVfaWQgPSBxdWV1ZV9pZDsKPiArCXJ4cS0+bmJfZGVzYyA9IChuYl9kZXNjID4gMCkg
PyBuYl9kZXNjIDogcWxlbjsKPiArCWlmIChxbGVuICE9IHJ4cS0+bmJfZGVzYykgewo+ICsJCXJj
ID0gdGFwX2Rldl9yeHFsZW5fc2V0KHRkZXYsIHJ4cS0+bmJfZGVzYyk7Cj4gKwkJaWYgKHJjIDwg
MCkgewo+ICsJCQl1a19wcl9lcnIoRFJJVkVSX05BTUUiOiBGYWlsZWQgdG8gc2V0dXAgdGhlIHR4
IHF1ZXVlIHdpdGggJWQgZGVzY3JpcHRvcnNcbiIsClR4IHR5cG8uCj4gKwkJCQkgIHJ4cS0+bmJf
ZGVzYyk7Cj4gKwkJCWdvdG8gZnJlZV9yeHE7Cj4gKwkJfQo+ICsJfQo+ICsKPiArCXJ4cS0+YWxs
b2Nfcnhwa3RzID0gY29uZi0+YWxsb2Nfcnhwa3RzOwo+ICsJcnhxLT5hbGxvY19yeHBrdHNfYXJn
cCA9IGNvbmYtPmFsbG9jX3J4cGt0c19hcmdwOwo+ICsJcnhxLT5mZCA9IHRkZXYtPnRhcF9mZDsK
PiArCVVLX1RBSUxRX0lOU0VSVF9UQUlMKCZ0ZGV2LT5yeHFzLCByeHEsIG5leHQpOwo+ICsJdGRl
di0+cnhxX2NudCsrOwo+ICsKPiArZXhpdDoKPiAgIAlyZXR1cm4gcnhxOwo+ICtmcmVlX3J4cToK
PiArCXVrX2ZyZWUoY29uZi0+YSwgcnhxKTsKPiArZXJyX2V4aXQ6Cj4gKwlyeHEgPSBFUlIyUFRS
KHJjKTsKPiArCWdvdG8gZXhpdDsKPiAgIH0KPiAgIAo+ICAgc3RhdGljIHN0cnVjdCB1a19uZXRk
ZXZfdHhfcXVldWUgKnRhcF9uZXRkZXZfdHhxX3NldHVwKHN0cnVjdCB1a19uZXRkZXYgKmRldiwK
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1k
ZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBz
Oi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Tue Dec 17 14:05:15 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 17 Dec 2019 14:05:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ihDTN-0000XF-FN; Tue, 17 Dec 2019 14:05:13 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=V9/Z=2H=neclab.eu=felipe.huici@srs-us1.protection.inumbo.net>)
 id 1ihDTM-0000XA-IH
 for minios-devel@lists.xen.org; Tue, 17 Dec 2019 14:05:12 +0000
X-Inumbo-ID: 378b7224-20d6-11ea-88e7-bc764e2007e4
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 378b7224-20d6-11ea-88e7-bc764e2007e4;
 Tue, 17 Dec 2019 14:05:02 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 44BCE104A50;
 Tue, 17 Dec 2019 15:05:01 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-a.office.hd)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id dxdUxqJguTd1; Tue, 17 Dec 2019 15:05:01 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from puck.office.hd (puck.office.hd [192.168.24.91])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 1A664100395;
 Tue, 17 Dec 2019 15:05:01 +0100 (CET)
Received: from oberon.office.hd (192.168.24.90) by puck.office.hd
 (192.168.24.91) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 17 Dec
 2019 15:05:00 +0100
Received: from oberon.office.hd ([192.168.126.11]) by Oberon.office.hd
 ([192.168.126.11]) with mapi id 15.01.1713.009; Tue, 17 Dec 2019 15:05:00
 +0100
From: Felipe Huici <Felipe.Huici@neclab.eu>
To: =?utf-8?B?VmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIp?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>, "minios-devel@lists.xen.org"
 <minios-devel@lists.xen.org>
Thread-Topic: [UNIKRAFT/BOOST PATCH 1/6] Introduce library skeleton
Thread-Index: AQHVr7qGMdXqpukMu0y9iPobkxJZGae+ZnsA
Date: Tue, 17 Dec 2019 14:05:00 +0000
Message-ID: <C2779F15-9AE0-483D-BB20-EAFB622A105F@neclab.eu>
References: <20191211003233.27192-1-vlad_andrei.badoiu@stud.acs.upb.ro>
 <20191211003233.27192-2-vlad_andrei.badoiu@stud.acs.upb.ro>
In-Reply-To: <20191211003233.27192-2-vlad_andrei.badoiu@stud.acs.upb.ro>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: Microsoft-MacOutlook/10.10.10.191111
x-originating-ip: [192.168.24.96]
Content-ID: <123E3DF3A957A74D835217ECB853C597@office.hd>
MIME-Version: 1.0
Subject: Re: [Minios-devel] [UNIKRAFT/BOOST PATCH 1/6] Introduce library
 skeleton
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgVmxhZCwgdGhpcyBwYXRjaCBsb29rcyBnb29kLiAgDQoNClJldmlld2VkLWJ5OiBGZWxpcGUg
SHVpY2kgPGZlbGlwZS5odWljaUBuZWNsYWIuZXU+DQoNCu+7v09uIDExLjEyLjE5LCAwMTozMiwg
IlZsYWQtQW5kcmVpIELEgkRPSVUgKDc4NjkyKSIgPHZsYWRfYW5kcmVpLmJhZG9pdUBzdHVkLmFj
cy51cGIucm8+IHdyb3RlOg0KDQogICAgV2UgdXNlIHRoZSBCU0QtMyBsaWNlbnNlLg0KICAgIA0K
ICAgIFNpZ25lZC1vZmYtYnk6IFZsYWQtQW5kcmVpIEJhZG9pdSA8dmxhZF9hbmRyZWkuYmFkb2l1
QHN0dWQuYWNzLnVwYi5ybz4NCiAgICAtLS0NCiAgICAgLmdpdGlnbm9yZSAgICAgIHwgMjcgKysr
KysrKysrKysrKysrKysrKysrKysrKysrDQogICAgIENPRElOR19TVFlMRS5tZCB8ICA0ICsrKysN
CiAgICAgQ09OVFJJQlVUSU5HLm1kIHwgIDQgKysrKw0KICAgICBDT1BZSU5HLm1kICAgICAgfCAz
MCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCiAgICAgQ29uZmlnLnVrICAgICAgIHwg
MTMgKysrKysrKysrKysrKw0KICAgICBNQUlOVEFJTkVSUy5tZCAgfCAxMSArKysrKysrKysrKw0K
ICAgICBSRUFETUUubWQgICAgICAgfCAgNyArKysrKysrDQogICAgIDcgZmlsZXMgY2hhbmdlZCwg
OTYgaW5zZXJ0aW9ucygrKQ0KICAgICBjcmVhdGUgbW9kZSAxMDA2NDQgLmdpdGlnbm9yZQ0KICAg
ICBjcmVhdGUgbW9kZSAxMDA2NDQgQ09ESU5HX1NUWUxFLm1kDQogICAgIGNyZWF0ZSBtb2RlIDEw
MDY0NCBDT05UUklCVVRJTkcubWQNCiAgICAgY3JlYXRlIG1vZGUgMTAwNjQ0IENPUFlJTkcubWQN
CiAgICAgY3JlYXRlIG1vZGUgMTAwNjQ0IENvbmZpZy51aw0KICAgICBjcmVhdGUgbW9kZSAxMDA2
NDQgTUFJTlRBSU5FUlMubWQNCiAgICAgY3JlYXRlIG1vZGUgMTAwNjQ0IFJFQURNRS5tZA0KICAg
IA0KICAgIGRpZmYgLS1naXQgYS8uZ2l0aWdub3JlIGIvLmdpdGlnbm9yZQ0KICAgIG5ldyBmaWxl
IG1vZGUgMTAwNjQ0DQogICAgaW5kZXggMDAwMDAwMC4uNzVkMmZkMw0KICAgIC0tLSAvZGV2L251
bGwNCiAgICArKysgYi8uZ2l0aWdub3JlDQogICAgQEAgLTAsMCArMSwyNyBAQA0KICAgICsqLmRl
cGVuZA0KICAgICsqLm8NCiAgICArKi5hDQogICAgKyouZA0KICAgICsqLnNvDQogICAgKyoub3Jp
Zw0KICAgICsqLnJlag0KICAgICsqLmJhaw0KICAgICsqLnN3cA0KICAgICsqfg0KICAgICssKg0K
ICAgICtcIypcIw0KICAgICsuXCMqDQogICAgK1wjXypcIw0KICAgICsuXCNfKg0KICAgICshLmdp
dGlnbm9yZQ0KICAgICsuKg0KICAgICsNCiAgICArIyBnbnUgZ2xvYmFsIGZpbGVzDQogICAgK0dQ
QVRIDQogICAgK0dSVEFHUw0KICAgICtHU1lNUw0KICAgICtHVEFHUw0KICAgICsNCiAgICArIyBj
c2NvcGUgZmlsZXMNCiAgICArY3Njb3BlLioNCiAgICArbmNzY29wZS4qDQogICAgZGlmZiAtLWdp
dCBhL0NPRElOR19TVFlMRS5tZCBiL0NPRElOR19TVFlMRS5tZA0KICAgIG5ldyBmaWxlIG1vZGUg
MTAwNjQ0DQogICAgaW5kZXggMDAwMDAwMC4uNTczMDA0MQ0KICAgIC0tLSAvZGV2L251bGwNCiAg
ICArKysgYi9DT0RJTkdfU1RZTEUubWQNCiAgICBAQCAtMCwwICsxLDQgQEANCiAgICArQ29kaW5n
IFN0eWxlDQogICAgKz09PT09PT09PT09PQ0KICAgICsNCiAgICArUGxlYXNlIHJlZmVyIHRvIHRo
ZSBgQ09ESU5HX1NUWUxFLm1kYCBmaWxlIGluIHRoZSBtYWluIFVuaWtyYWZ0IHJlcG9zaXRvcnku
DQogICAgZGlmZiAtLWdpdCBhL0NPTlRSSUJVVElORy5tZCBiL0NPTlRSSUJVVElORy5tZA0KICAg
IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQogICAgaW5kZXggMDAwMDAwMC4uNWY1NWVjYQ0KICAgIC0t
LSAvZGV2L251bGwNCiAgICArKysgYi9DT05UUklCVVRJTkcubWQNCiAgICBAQCAtMCwwICsxLDQg
QEANCiAgICArQ29udHJpYnV0aW5nIHRvIFVuaWtyYWZ0DQogICAgKz09PT09PT09PT09PT09PT09
PT09PT09DQogICAgKw0KICAgICtQbGVhc2UgcmVmZXIgdG8gdGhlIGBDT05UUklCVVRJTkcubWRg
IGZpbGUgaW4gdGhlIG1haW4gVW5pa3JhZnQgcmVwb3NpdG9yeS4NCiAgICBkaWZmIC0tZ2l0IGEv
Q09QWUlORy5tZCBiL0NPUFlJTkcubWQNCiAgICBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KICAgIGlu
ZGV4IDAwMDAwMDAuLjYwNmY1MjkNCiAgICAtLS0gL2Rldi9udWxsDQogICAgKysrIGIvQ09QWUlO
Ry5tZA0KICAgIEBAIC0wLDAgKzEsMzAgQEANCiAgICArTGljZW5zZQ0KICAgICs9PT09PT09DQog
ICAgKw0KICAgICtVbmlrcmFmdCBib29zdCB3cmFwcGVyDQogICAgKy0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tDQogICAgKw0KICAgICtUaGlzIHJlcG9zaXRvcnkgY29udGFpbnMgd3JhcHBlciBjb2Rl
IHRvIGJ1aWxkIEJvb3N0IHdpdGggVW5pa3JhZnQuDQogICAgK0VhY2ggQyBjb2RlIGZpbGUgaW4g
dGhpcyByZXBvc2l0b3J5IHNob3VsZCBkZWNsYXJlIHdobyBpcyB0aGUNCiAgICArY29weXJpZ2h0
IG93bmVyIGFuZCB1bmRlciB3aGljaCB0ZXJtcyBhbmQgY29uZGl0aW9ucyB0aGUgY29kZSBpcw0K
ICAgICtsaWNlbnNlZC4gSWYgc3VjaCBhIGxpY2VuY2Ugbm90ZSBpcyBtaXNzaW5nLCB0aGUgZm9s
bG93aW5nIGNvcHlyaWdodA0KICAgICtub3RpY2Ugd2lsbCBhcHBseToNCiAgICArDQogICAgKwlD
b3B5cmlnaHQgKGMpIDIwMTksIFVuaXZlcnNpdHkgUG9saXRlaG5pY2Egb2YgQnVjaGFyZXN0LiBB
bGwgcmlnaHRzIA0KICAgICsJcmVzZXJ2ZWQuDQogICAgKw0KICAgICsJVGhpcyBsaWJyYXJ5IGlz
IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcg0KICAgICsJbW9k
aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYw0K
ICAgICsJTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
bjsgZWl0aGVyDQogICAgKwl2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9w
dGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQogICAgKwkNCiAgICArCVRoaXMgbGlicmFyeSBpcyBk
aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KICAgICsJYnV0
IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg
b2YNCiAgICArCU1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRS4gIFNlZSB0aGUgR05VDQogICAgKwlMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm
b3IgbW9yZSBkZXRhaWxzLg0KICAgICsJDQogICAgKwlZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg
YSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljDQogICAgKwlMaWNlbnNlIGFs
b25nIHdpdGggdGhpcyBsaWJyYXJ5IGluIHRoZSBmaWxlIENPUFlJTkcuTElCOw0KICAgICsJaWYg
bm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLA0KICAgICsJ
NTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcsIFVTQQ0K
ICAgICsNCiAgICBkaWZmIC0tZ2l0IGEvQ29uZmlnLnVrIGIvQ29uZmlnLnVrDQogICAgbmV3IGZp
bGUgbW9kZSAxMDA2NDQNCiAgICBpbmRleCAwMDAwMDAwLi5kNTFhMmQyDQogICAgLS0tIC9kZXYv
bnVsbA0KICAgICsrKyBiL0NvbmZpZy51aw0KICAgIEBAIC0wLDAgKzEsMTMgQEANCiAgICArbWVu
dWNvbmZpZyBMSUJCT09TVA0KICAgICsJYm9vbCAiYm9vc3QgLSAiDQogICAgKwlzZWxlY3QgTElC
Q1hYDQogICAgKwlzZWxlY3QgVUtVTklTVEQNCiAgICArCXNlbGVjdCBVS1NZU0lORk8NCiAgICAr
CXNlbGVjdCBMSUJVS1RJTUUNCiAgICArCXNlbGVjdCBMSUJORVdMSUJDDQogICAgKwlzZWxlY3Qg
TElCVUtNTUFQDQogICAgKwlzZWxlY3QgTElCSU5URUxfSU5UUklOU0lDUw0KICAgICsJc2VsZWN0
IExJQlBUSFJFQURfRU1CRURERUQNCiAgICArCXNlbGVjdCBMSUJDT01QSUxFUl9SVF9BVE9NSUMN
CiAgICArCWRlZmF1bHQgbg0KICAgICsNCiAgICBkaWZmIC0tZ2l0IGEvTUFJTlRBSU5FUlMubWQg
Yi9NQUlOVEFJTkVSUy5tZA0KICAgIG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQogICAgaW5kZXggMDAw
MDAwMC4uOWE0NzhkYw0KICAgIC0tLSAvZGV2L251bGwNCiAgICArKysgYi9NQUlOVEFJTkVSUy5t
ZA0KICAgIEBAIC0wLDAgKzEsMTEgQEANCiAgICArTWFpbnRhaW5lcnMgTGlzdA0KICAgICs9PT09
PT09PT09PT09PT09DQogICAgKw0KICAgICtGb3Igbm90ZXMgb24gaG93IHRvIHJlYWQgdGhpcyBp
bmZvcm1hdGlvbiwgcGxlYXNlIHJlZmVyIHRvIGBNQUlOVEFJTkVSUy5tZGAgaW4NCiAgICArdGhl
IG1haW4gVW5pa3JhZnQgcmVwb3NpdG9yeS4NCiAgICArDQogICAgKwlCT09TVC1VTklLUkFGVA0K
ICAgICsJTToJRmVsaXBlIEh1aWNpIDxmZWxpcGUuaHVpY2lAbmVjbGFiLmV1Pg0KICAgICsJTToJ
VmxhZC1BbmRyZWkgQmFkb2l1IDx2bGFkX2FuZHJlaS5iYWRvaXVAc3R1ZC5hY3MudXBiLnJvPg0K
ICAgICsJTDoJbWluaW9zLWRldmVsQGxpc3RzLnhlbi5vcmcNCiAgICArCUY6ICoNCiAgICBkaWZm
IC0tZ2l0IGEvUkVBRE1FLm1kIGIvUkVBRE1FLm1kDQogICAgbmV3IGZpbGUgbW9kZSAxMDA2NDQN
CiAgICBpbmRleCAwMDAwMDAwLi44ZDMwOWU5DQogICAgLS0tIC9kZXYvbnVsbA0KICAgICsrKyBi
L1JFQURNRS5tZA0KICAgIEBAIC0wLDAgKzEsNyBAQA0KICAgICtib29zdCBmb3IgVW5pa3JhZnQN
CiAgICArPT09PT09PT09PT09PT09PT09PQ0KICAgICsNCiAgICArVGhpcyBpcyB0aGUgcG9ydCBv
ZiBib29zdCBmb3IgVW5pa3JhZnQgYXMgZXh0ZXJuYWwgbGlicmFyeS4NCiAgICArDQogICAgK1Bs
ZWFzZSByZWZlciB0byB0aGUgYFJFQURNRS5tZGAgYXMgd2VsbCBhcyB0aGUgZG9jdW1lbnRhdGlv
biBpbiB0aGUgYGRvYy9gDQogICAgK3N1YmRpcmVjdG9yeSBvZiB0aGUgbWFpbiB1bmlrcmFmdCBy
ZXBvc2l0b3J5Lg0KICAgIC0tIA0KICAgIDIuMjAuMQ0KICAgIA0KICAgIA0KDQpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGlu
ZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhl
bnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Tue Dec 17 14:09:03 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 17 Dec 2019 14:09:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ihDX5-0000j0-2p; Tue, 17 Dec 2019 14:09:03 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=V9/Z=2H=neclab.eu=felipe.huici@srs-us1.protection.inumbo.net>)
 id 1ihDX4-0000ib-1W
 for minios-devel@lists.xen.org; Tue, 17 Dec 2019 14:09:02 +0000
X-Inumbo-ID: bf8c9662-20d6-11ea-a914-bc764e2007e4
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id bf8c9662-20d6-11ea-a914-bc764e2007e4;
 Tue, 17 Dec 2019 14:08:50 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 80D801039E6;
 Tue, 17 Dec 2019 15:08:49 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-a.office.hd)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id 5Xji36zRixKU; Tue, 17 Dec 2019 15:08:49 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from puck.office.hd (puck.office.hd [192.168.24.91])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 4E495100395;
 Tue, 17 Dec 2019 15:08:49 +0100 (CET)
Received: from oberon.office.hd (192.168.24.90) by puck.office.hd
 (192.168.24.91) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 17 Dec
 2019 15:08:48 +0100
Received: from oberon.office.hd ([192.168.126.11]) by Oberon.office.hd
 ([192.168.126.11]) with mapi id 15.01.1713.009; Tue, 17 Dec 2019 15:08:48
 +0100
From: Felipe Huici <Felipe.Huici@neclab.eu>
To: =?utf-8?B?VmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIp?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>, "minios-devel@lists.xen.org"
 <minios-devel@lists.xen.org>
Thread-Topic: [UNIKRAFT/BOOST PATCH 2/6] Add Makefile.uk
Thread-Index: AQHVr7qHxF/288Kwu0ytqlL1Oe9H6ae+Z4sA
Date: Tue, 17 Dec 2019 14:08:48 +0000
Message-ID: <41597735-E341-49F0-AE91-FEB4DE6C43E8@neclab.eu>
References: <20191211003233.27192-1-vlad_andrei.badoiu@stud.acs.upb.ro>
 <20191211003233.27192-3-vlad_andrei.badoiu@stud.acs.upb.ro>
In-Reply-To: <20191211003233.27192-3-vlad_andrei.badoiu@stud.acs.upb.ro>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: Microsoft-MacOutlook/10.10.10.191111
x-originating-ip: [192.168.24.96]
Content-ID: <61B5818E0F56E64B9C44895703B6FC4D@office.hd>
MIME-Version: 1.0
Subject: Re: [Minios-devel] [UNIKRAFT/BOOST PATCH 2/6] Add Makefile.uk
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgVmxhZCwNCg0KVGhpcyBwYXRjaCBsb29rcyBmaW5lLCBleGNlcHQgeW91IG1lbnRpb24gdGhh
dCB0aGlzIGlzIGEgc3Vic2V0IG9mIG1vZHVsZXMgYW5kIHlvdSBhbHNvIGhhdmUgYSBub24tbmVn
bGlnaWJsZSBudW1iZXIgb2Ygc291cmNlIGZpbGVzIGNvbW1lbnRlZCBvdXQuIEkgd2FzIHdvbmRl
cmluZyB3aGV0aGVyIHlvdSBjb3VsZCBwcm92aWRlIGEgYml0IG1vcmUgZGV0YWlsLCBlaXRoZXIg
aW4gdGhlIGNvbW1pdCBtZXNzYWdlLCBpbiBNYWtlZmlsZS51ayBhcyBjb21tZW50cywgb3IgYm90
aCwgYXMgdG8gd2h5IGNlcnRhaW4gbW9kdWxlcyBhcmUgbm90IGNvbXBpbGVkIGluIChlLmcuLCBi
ZWNhdXNlIHRoZXkgaGF2ZSB1bm1ldCBkZXBzLCBiZWNhdXNlIHRoZXkgZG9uJ3QgYXBwbHkgdG8g
VW5pa3JhZnQsIGJlY2F1c2UgeW91IGhhdmVuJ3QgdHJpZWQgdG8gY29tcGlsZSB0aGVtIGluLCBl
dGMuKS4gT3RoZXJ3aXNlIHRoaXMgc3RhdGUgbWlnaHQgZ2V0IGxvc3QuDQoNClRoYW5rcywNCg0K
LS0gRmVsaXBlDQoNCu+7v09uIDExLjEyLjE5LCAwMTozMiwgIlZsYWQtQW5kcmVpIELEgkRPSVUg
KDc4NjkyKSIgPHZsYWRfYW5kcmVpLmJhZG9pdUBzdHVkLmFjcy51cGIucm8+IHdyb3RlOg0KDQog
ICAgVGhpcyBpbml0aWFsIE1ha2VmaWxlLnVrIGNvbnRhaW5zIG9ubHkgYSBzdWJzZXQgb2YgYm9v
c3QgbW9kdWxlcy4NCiAgICANCiAgICBTaWduZWQtb2ZmLWJ5OiBWbGFkLUFuZHJlaSBCYWRvaXUg
PHZsYWRfYW5kcmVpLmJhZG9pdUBzdHVkLmFjcy51cGIucm8+DQogICAgLS0tDQogICAgIE1ha2Vm
aWxlLnVrIHwgNzc2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysNCiAgICAgMSBmaWxlIGNoYW5nZWQsIDc3NiBpbnNlcnRpb25zKCspDQogICAgIGNy
ZWF0ZSBtb2RlIDEwMDY0NCBNYWtlZmlsZS51aw0KICAgIA0KICAgIGRpZmYgLS1naXQgYS9NYWtl
ZmlsZS51ayBiL01ha2VmaWxlLnVrDQogICAgbmV3IGZpbGUgbW9kZSAxMDA2NDQNCiAgICBpbmRl
eCAwMDAwMDAwLi5kZDdiODJlDQogICAgLS0tIC9kZXYvbnVsbA0KICAgICsrKyBiL01ha2VmaWxl
LnVrDQogICAgQEAgLTAsMCArMSw3NzYgQEANCiAgICArIyAgbGliYm9vc3QgTWFrZWZpbGUudWsN
CiAgICArIw0KICAgICsjICBBdXRob3JzOiBWbGFkLUFuZHJlaSBCYWRvaXUgPHZsYWRfYW5kcmVp
LmJhZG9pdUBzdHVkLmFjcy51cGIucm8+DQogICAgKyMNCiAgICArIyAgQ29weXJpZ2h0IChjKSAy
MDE5LCBQb2xpdGVobmljYSBVbml2ZXJzaXR5IG9mIEJ1Y2hhcmVzdC4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4NCiAgICArIw0KICAgICsjICBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQNCiAgICArIyAgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zDQogICAg
KyMgIGFyZSBtZXQ6DQogICAgKyMNCiAgICArIyAgMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQNCiAgICArIyAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLg0K
ICAgICsjICAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodA0KICAgICsjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlDQogICAgKyMgICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uDQogICAgKyMgIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIGNvcHlyaWdodCBo
b2xkZXIgbm9yIHRoZSBuYW1lcyBvZiBpdHMNCiAgICArIyAgICAgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20NCiAgICAr
IyAgICAgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4NCiAgICArIw0KICAgICsjICBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyINCiAgICArIyAgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQ0KICAgICsjICBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQ0KICAgICsjICBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVU
T1JTIEJFDQogICAgKyMgIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1INCiAgICArIyAgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YNCiAgICArIyAg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTDQogICAgKyMgIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElODQogICAgKyMgIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpDQogICAgKyMgIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFDQogICAgKyMgIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLg0KICAgICsjDQogICAgKyMgIFRISVMgSEVBREVSIE1BWSBOT1QgQkUgRVhU
UkFDVEVEIE9SIE1PRElGSUVEIElOIEFOWSBXQVkuDQogICAgKyMNCiAgICArDQogICAgKyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjDQogICAgKyMgTGlicmFyeSByZWdpc3RyYXRpb24NCiAgICArIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMNCiAgICArJChldmFsICQoY2FsbCBhZGRsaWJfcyxsaWJib29z
dCwkKENPTkZJR19MSUJCT09TVCkpKQ0KICAgICsNCiAgICArIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMNCiAgICArIyBTb3VyY2VzDQogICAgKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQogICAgK0xJ
QkJPT1NUX1ZFUlNJT049MS43MS4wDQogICAgK0xJQkJPT1NUX1VSTD1odHRwczovL2RsLmJpbnRy
YXkuY29tL2Jvb3N0b3JnL3JlbGVhc2UvJChMSUJCT09TVF9WRVJTSU9OKS9zb3VyY2UvYm9vc3Rf
MV83MV8wLnRhci5neg0KICAgICtMSUJCT09TVF9QQVRDSERJUj0kKExJQkJPT1NUX0JBU0UpL3Bh
dGNoZXMNCiAgICArJChldmFsICQoY2FsbCBmZXRjaCxsaWJib29zdCwkKExJQkJPT1NUX1VSTCkp
KQ0KICAgICskKGV2YWwgJChjYWxsIHBhdGNoLGxpYmJvb3N0LCQoTElCQk9PU1RfUEFUQ0hESVIp
LGJvb3N0XzFfNzFfMCkpDQogICAgKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQogICAgKyMgSGVs
cGVycw0KICAgICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KICAgICtMSUJCT09TVF9TVUJESVI9
Ym9vc3RfMV83MV8wDQogICAgK0xJQkJPT1NUX1NSQyA9ICQoTElCQk9PU1RfT1JJR0lOKS8kKExJ
QkJPT1NUX1NVQkRJUikNCiAgICArDQogICAgKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQogICAg
KyMgTGlicmFyeSBpbmNsdWRlcw0KICAgICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KICAgICtD
SU5DTFVERVMtJChDT05GSUdfTElCQk9PU1QpICs9IC1JJChMSUJCT09TVF9TUkMpLw0KICAgICtD
WFhJTkNMVURFUy0kKENPTkZJR19MSUJCT09TVCkgKz0gLUkkKExJQkJPT1NUX1NSQykvDQogICAg
Kw0KICAgICtDSU5DTFVERVMtJChDT05GSUdfTElCQk9PU1QpICs9IC1JJChMSUJCT09TVF9CQVNF
KS9pbmNsdWRlDQogICAgK0NYWElOQ0xVREVTLSQoQ09ORklHX0xJQkJPT1NUKSArPSAtSSQoTElC
Qk9PU1RfQkFTRSkvaW5jbHVkZQ0KICAgICsNCiAgICArQ0lOQ0xVREVTLSQoQ09ORklHX0xJQkJP
T1NUKSArPSAtSSQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMQ0KICAgICtDWFhJTkNM
VURFUy0kKENPTkZJR19MSUJCT09TVCkgKz0gLUkkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3Ny
Yy90cjENCiAgICArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiAgICArIyBHbG9iYWwgZmxhZ3MN
CiAgICArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiAgICArIyBTdXBwcmVzc2VkIGZsYWdzDQog
ICAgK0xJQkJPT1NUX1NVUFBSRVNTX0ZMQUdTICs9IC1Xbm8tdW51c2VkLXBhcmFtZXRlcgkJCVwN
CiAgICArCS1Xbm8tdW51c2VkLXZhcmlhYmxlIC1Xbm8tdW51c2VkLXZhbHVlIC1Xbm8tdW51c2Vk
LWZ1bmN0aW9uIAlcDQogICAgKwktV25vLW1pc3NpbmctZmllbGQtaW5pdGlhbGl6ZXJzIC1Xbm8t
aW1wbGljaXQtZmFsbHRocm91Z2ggCVwNCiAgICArCS1Xbm8tY2FzdC1mdW5jdGlvbi10eXBlIC1X
bm8tc3RyaW5nb3AtdHJ1bmNhdGlvbiAJCVwNCiAgICArCS1Xbm8tY2hhci1zdWJzY3JpcHRzIC1X
bm8tc2lnbi1jb21wYXJlIC1Xbm8tcGFyZW50aGVzZXMJCVwNCiAgICArCS1Xbm8tZGVwcmVjYXRl
ZC1kZWNsYXJhdGlvbnMNCiAgICArDQogICAgK0xJQkJPT1NUX0NGTEFHUy15CSs9ICQoTElCQk9P
U1RfU1VQUFJFU1NfRkxBR1MpIC1Xbm8tcG9pbnRlci10by1pbnQtY2FzdCAtV25vLWludC10by1w
b2ludGVyLWNhc3QNCiAgICArTElCQk9PU1RfQ1hYRkxBR1MteQkrPSAkKExJQkJPT1NUX1NVUFBS
RVNTX0ZMQUdTKQ0KICAgICsNCiAgICArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiAgICArIyBM
aWJyYXJ5IHNvdXJjZXMNCiAgICArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiAgICArI0xJQkJP
T1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvYm9vc3QvYXNpby9pbXBsL3NyYy5jcHANCiAg
ICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvYm9vc3Qvc3Bpcml0L2hvbWUv
c3VwcG9ydC9jaGFyX2VuY29kaW5nL3VuaWNvZGUvY3JlYXRlX3RhYmxlcy5jcHANCiAgICArTElC
Qk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfQkFTRSkvZ2x1ZS5jcHANCiAgICArDQogICAgKyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjDQogICAgKyMgQm9vc3Qgc291cmNlcyAtIGxpYnMgLSBkYXRl
X3RpbWUNCiAgICArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiAgICArTElCQk9PU1RfU1JDUy15
ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2RhdGVfdGltZS9zcmMvZ3JlZ29yaWFuL2dyZWdfbW9u
dGguY3BwDQogICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9kYXRl
X3RpbWUvc3JjL2dyZWdvcmlhbi9kYXRlX2dlbmVyYXRvcnMuY3BwDQogICAgK0xJQkJPT1NUX1NS
Q1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9kYXRlX3RpbWUvc3JjL2dyZWdvcmlhbi9ncmVn
b3JpYW5fdHlwZXMuY3BwDQogICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykv
bGlicy9kYXRlX3RpbWUvc3JjL2dyZWdvcmlhbi9ncmVnX3dlZWtkYXkuY3BwDQogICAgK0xJQkJP
T1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9kYXRlX3RpbWUvc3JjL3Bvc2l4X3Rp
bWUvcG9zaXhfdGltZV90eXBlcy5jcHANCiAgICArDQogICAgKyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjDQogICAgKyMgQm9vc3Qgc291cmNlcyAtIGxpYnMgLSBmaWxlc3lzdGVtDQogICAgKyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjDQogICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NS
QykvbGlicy9maWxlc3lzdGVtL3NyYy93aW5kb3dzX2ZpbGVfY29kZWN2dC5jcHANCiAgICArTElC
Qk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2ZpbGVzeXN0ZW0vc3JjL3BvcnRh
YmlsaXR5LmNwcA0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMv
ZmlsZXN5c3RlbS9zcmMvdW5pcXVlX3BhdGguY3BwDQogICAgK0xJQkJPT1NUX1NSQ1MteSArPSAk
KExJQkJPT1NUX1NSQykvbGlicy9maWxlc3lzdGVtL3NyYy9jb2RlY3Z0X2Vycm9yX2NhdGVnb3J5
LmNwcA0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvZmlsZXN5
c3RlbS9zcmMvb3BlcmF0aW9ucy5jcHANCiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9P
U1RfU1JDKS9saWJzL2ZpbGVzeXN0ZW0vc3JjL3BhdGhfdHJhaXRzLmNwcA0KICAgICtMSUJCT09T
VF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvZmlsZXN5c3RlbS9zcmMvcGF0aC5jcHAN
CiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2ZpbGVzeXN0ZW0v
c3JjL3V0ZjhfY29kZWN2dF9mYWNldC5jcHB8ZmlsZXN5c3RlbQ0KICAgICsNCiAgICArIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMNCiAgICArIyBCb29zdCBzb3VyY2VzIC0gbGlicyAtIHRocmVhZA0K
ICAgICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChM
SUJCT09TVF9TUkMpL2xpYnMvdGhyZWFkL3NyYy9wdGhyZWFkL3RocmVhZC5jcHANCiAgICArI0xJ
QkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy90aHJlYWQvc3JjL3B0aHJlYWQv
b25jZS5jcHANCiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3Ro
cmVhZC9zcmMvcHRocmVhZC9vbmNlX2F0b21pYy5jcHB8dGhyZWFkDQogICAgK0xJQkJPT1NUX1NS
Q1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy90aHJlYWQvc3JjL2Z1dHVyZS5jcHANCiAgICAr
TElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3RocmVhZC9zcmMvdHNzX251
bGwuY3BwDQogICAgKw0KICAgICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KICAgICsjIEJvb3N0
IHNvdXJjZXMgLSBsaWJzIC0gbWF0aA0KICAgICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KICAg
ICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2Zt
YXguY3BwDQogICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRo
L3NyYy90cjEvbGVnZW5kcmVmLmNwcA0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09T
VF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2NicnQuY3BwDQogICAgK0xJQkJPT1NUX1NSQ1MteSAr
PSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvY3lsX25ldW1hbm4uY3BwDQogICAg
K0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvZXhw
aW50Zi5jcHANCiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21h
dGgvc3JjL3RyMS9jb21wX2VsbGludF8zLmNwcA0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChM
SUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2JldGFmLmNwcA0KICAgICtMSUJCT09TVF9T
UkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2N5bF9uZXVtYW5uZi5j
cHANCiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3Jj
L3RyMS9lbGxpbnRfM2wuY3BwDQogICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NS
QykvbGlicy9tYXRoL3NyYy90cjEvY2JydGwuY3BwDQogICAgK0xJQkJPT1NUX1NSQ1MteSArPSAk
KExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvZXhwbTFmLmNwcA0KICAgICtMSUJCT09T
VF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL3RnYW1tYWYuY3Bw
DQogICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90
cjEvbGdhbW1hZi5jcHANCiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9s
aWJzL21hdGgvc3JjL3RyMS9leHBpbnQuY3BwDQogICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJ
QkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvY29tcF9lbGxpbnRfMWwuY3BwDQogICAgK0xJ
QkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvY29weXNp
Z25sLmNwcA0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0
aC9zcmMvdHIxL2h5cG90Zi5jcHANCiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1Rf
U1JDKS9saWJzL21hdGgvc3JjL3RyMS9jeWxfYmVzc2VsX2pmLmNwcA0KICAgICtMSUJCT09TVF9T
UkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2Fzc29jX2xlZ2VuZHJl
LmNwcA0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9z
cmMvdHIxL2FzaW5oZi5jcHANCiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JD
KS9saWJzL21hdGgvc3JjL3RyMS9mbWluZi5jcHANCiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQo
TElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9oZXJtaXRlbC5jcHANCiAgICArTElCQk9P
U1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9hc2luaC5jcHAN
CiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3Ry
MS9lcmZsLmNwcA0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMv
bWF0aC9zcmMvdHIxL2FzaW5obC5jcHANCiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9P
U1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9mcGNsYXNzaWZ5Zi5jcHANCiAgICArTElCQk9PU1Rf
U1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9iZXRhbC5jcHANCiAg
ICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9l
bGxpbnRfMWYuY3BwDQogICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGli
cy9tYXRoL3NyYy90cjEvc3BoX2Jlc3NlbC5jcHANCiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQo
TElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9lcmZjbC5jcHANCiAgICArTElCQk9PU1Rf
U1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9sYWd1ZXJyZWYuY3Bw
DQogICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90
cjEvY29tcF9lbGxpbnRfMi5jcHANCiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1Rf
U1JDKS9saWJzL21hdGgvc3JjL3RyMS9hc3NvY19sZWdlbmRyZWwuY3BwDQogICAgK0xJQkJPT1NU
X1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvc3BoX25ldW1hbm5m
LmNwcA0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9z
cmMvdHIxL3NwaF9sZWdlbmRyZWYuY3BwDQogICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJP
T1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvbmV4dHRvd2FyZGYuY3BwDQogICAgK0xJQkJPT1NU
X1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvbGdhbW1hLmNwcA0K
ICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIx
L2VsbGludF8zZi5jcHANCiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9s
aWJzL21hdGgvc3JjL3RyMS9lbGxpbnRfMy5jcHANCiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQo
TElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9hc3NvY19sZWdlbmRyZWYuY3BwDQogICAg
K0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvaGVy
bWl0ZS5jcHANCiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21h
dGgvc3JjL3RyMS9yb3VuZGYuY3BwDQogICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NU
X1NSQykvbGlicy9tYXRoL3NyYy90cjEvbGVnZW5kcmVsLmNwcA0KICAgICtMSUJCT09TVF9TUkNT
LXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2F0YW5oZi5jcHANCiAgICAr
TElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9hY29z
aGwuY3BwDQogICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRo
L3NyYy90cjEvYXRhbmguY3BwDQogICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NS
QykvbGlicy9tYXRoL3NyYy90cjEvY29tcF9lbGxpbnRfMS5jcHANCiAgICArTElCQk9PU1RfU1JD
Uy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9hdGFuaGwuY3BwDQogICAg
K0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvYWNv
c2guY3BwDQogICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRo
L3NyYy90cjEvYXNzb2NfbGFndWVycmVmLmNwcA0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChM
SUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL25leHR0b3dhcmQuY3BwDQogICAgK0xJQkJP
T1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvZm1heGwuY3Bw
DQogICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90
cjEvZWxsaW50XzJsLmNwcA0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMp
L2xpYnMvbWF0aC9zcmMvdHIxL3NwaF9uZXVtYW5uLmNwcA0KICAgICtMSUJCT09TVF9TUkNTLXkg
Kz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL3JvdW5kLmNwcA0KICAgICtMSUJC
T09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2N5bF9iZXNz
ZWxfaWYuY3BwDQogICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9t
YXRoL3NyYy90cjEvZWxsaW50XzIuY3BwDQogICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJP
T1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvbG9nMXBmLmNwcA0KICAgICtMSUJCT09TVF9TUkNT
LXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL3NwaF9iZXNzZWxmLmNwcA0K
ICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIx
L3NwaF9sZWdlbmRyZWwuY3BwDQogICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NS
QykvbGlicy9tYXRoL3NyYy90cjEvZXhwbTEuY3BwDQogICAgK0xJQkJPT1NUX1NSQ1MteSArPSAk
KExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvdGdhbW1hLmNwcA0KICAgICtMSUJCT09T
VF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2xvZzFwbC5jcHAN
CiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3Ry
MS9jYnJ0Zi5jcHANCiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJz
L21hdGgvc3JjL3RyMS9hc3NvY19sYWd1ZXJyZWwuY3BwDQogICAgK0xJQkJPT1NUX1NSQ1MteSAr
PSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvY29tcF9lbGxpbnRfM2wuY3BwDQog
ICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEv
bHJvdW5kbC5jcHANCiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJz
L21hdGgvc3JjL3RyMS9jeWxfYmVzc2VsX2ouY3BwDQogICAgK0xJQkJPT1NUX1NSQ1MteSArPSAk
KExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvc3BoX25ldW1hbm5sLmNwcA0KICAgICtM
SUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2xhZ3Vl
cnJlLmNwcA0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0
aC9zcmMvdHIxL2N5bF9iZXNzZWxfaWwuY3BwDQogICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJ
QkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvcmllbWFubl96ZXRhLmNwcA0KICAgICtMSUJC
T09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL3JvdW5kbC5j
cHANCiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3Jj
L3RyMS9leHBtMWwuY3BwDQogICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykv
bGlicy9tYXRoL3NyYy90cjEvZWxsaW50XzJmLmNwcA0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0g
JChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2NvcHlzaWduZi5jcHANCiAgICArTElC
Qk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS90cnVuYy5j
cHANCiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3Jj
L3RyMS9sYWd1ZXJyZWwuY3BwDQogICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NS
QykvbGlicy9tYXRoL3NyYy90cjEvY3lsX2Jlc3NlbF9rbC5jcHANCiAgICArTElCQk9PU1RfU1JD
Uy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9jeWxfYmVzc2VsX2tmLmNw
cA0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMv
dHIxL2ZwY2xhc3NpZnkuY3BwDQogICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NS
QykvbGlicy9tYXRoL3NyYy90cjEvbGdhbW1hbC5jcHANCiAgICArTElCQk9PU1RfU1JDUy15ICs9
ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9mcGNsYXNzaWZ5bC5jcHANCiAgICAr
TElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9yaWVt
YW5uX3pldGFsLmNwcA0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xp
YnMvbWF0aC9zcmMvdHIxL3JpZW1hbm5femV0YWYuY3BwDQogICAgK0xJQkJPT1NUX1NSQ1MteSAr
PSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvaHlwb3RsLmNwcA0KICAgICtMSUJC
T09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2NvbXBfZWxs
aW50XzJmLmNwcA0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMv
bWF0aC9zcmMvdHIxL2JldGEuY3BwDQogICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NU
X1NSQykvbGlicy9tYXRoL3NyYy90cjEvY3lsX2Jlc3NlbF9qbC5jcHANCiAgICArTElCQk9PU1Rf
U1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9lbGxpbnRfMWwuY3Bw
DQogICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90
cjEvbmV4dGFmdGVybC5jcHANCiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JD
KS9saWJzL21hdGgvc3JjL3RyMS9jeWxfYmVzc2VsX2suY3BwDQogICAgK0xJQkJPT1NUX1NSQ1Mt
eSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvYWNvc2hmLmNwcA0KICAgICtM
SUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2VyZmMu
Y3BwDQogICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3Ny
Yy90cjEvbGxyb3VuZC5jcHANCiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JD
KS9saWJzL21hdGgvc3JjL3RyMS9hc3NvY19sYWd1ZXJyZS5jcHANCiAgICArTElCQk9PU1RfU1JD
Uy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS90Z2FtbWFsLmNwcA0KICAg
ICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2N5
bF9uZXVtYW5ubC5jcHANCiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9s
aWJzL21hdGgvc3JjL3RyMS9jeWxfYmVzc2VsX2kuY3BwDQogICAgK0xJQkJPT1NUX1NSQ1MteSAr
PSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvZXhwaW50bC5jcHANCiAgICArTElC
Qk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9scm91bmQu
Y3BwDQogICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3Ny
Yy90cjEvbmV4dHRvd2FyZGwuY3BwDQogICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NU
X1NSQykvbGlicy9tYXRoL3NyYy90cjEvZWxsaW50XzEuY3BwDQogICAgK0xJQkJPT1NUX1NSQ1Mt
eSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvY29tcF9lbGxpbnRfMmwuY3Bw
DQogICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90
cjEvdHJ1bmNsLmNwcA0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xp
YnMvbWF0aC9zcmMvdHIxL25leHRhZnRlcmYuY3BwDQogICAgK0xJQkJPT1NUX1NSQ1MteSArPSAk
KExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvbG9nMXAuY3BwDQogICAgK0xJQkJPT1NU
X1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvZXJmLmNwcA0KICAg
ICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2Vy
ZmYuY3BwDQogICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRo
L3NyYy90cjEvZm1pbi5jcHANCiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JD
KS9saWJzL21hdGgvc3JjL3RyMS9scm91bmRmLmNwcA0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0g
JChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2xlZ2VuZHJlLmNwcA0KICAgICtMSUJC
T09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2xscm91bmRs
LmNwcA0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9z
cmMvdHIxL2NvbXBfZWxsaW50XzNmLmNwcA0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJC
T09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL25leHRhZnRlci5jcHANCiAgICArTElCQk9PU1Rf
U1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9zcGhfYmVzc2VsbC5j
cHANCiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3Jj
L3RyMS9mbWlubC5jcHANCiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9s
aWJzL21hdGgvc3JjL3RyMS90cnVuY2YuY3BwDQogICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJ
QkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvaHlwb3QuY3BwDQogICAgK0xJQkJPT1NUX1NS
Q1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvc3BoX2xlZ2VuZHJlLmNw
cA0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMv
dHIxL2hlcm1pdGVmLmNwcA0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMp
L2xpYnMvbWF0aC9zcmMvdHIxL2xscm91bmRmLmNwcA0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0g
JChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2VyZmNmLmNwcA0KICAgICtMSUJCT09T
VF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2ZtYXhmLmNwcA0K
ICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIx
L2NvbXBfZWxsaW50XzFmLmNwcA0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9T
UkMpL2xpYnMvbWF0aC9zcmMvdHIxL2NvcHlzaWduLmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15
ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvbWluaW1heC9mLmNwcA0KICAgICsjTElCQk9P
U1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvbWluaW1heC9tYWluLmNwcA0K
ICAgICsNCiAgICArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiAgICArIyBCb29zdCBzb3VyY2Vz
IC0gbGlicyAtIHJlZ2V4DQogICAgKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQogICAgK0xJQkJP
T1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9yZWdleC9zcmMvY3JlZ2V4LmNwcA0K
ICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvcmVnZXgvc3JjL3N0
YXRpY19tdXRleC5jcHANCiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9s
aWJzL3JlZ2V4L3NyYy93aW5zdGFuY2VzLmNwcA0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChM
SUJCT09TVF9TUkMpL2xpYnMvcmVnZXgvc3JjL3Bvc2l4X2FwaS5jcHANCiAgICArTElCQk9PU1Rf
U1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3JlZ2V4L3NyYy93MzJfcmVnZXhfdHJhaXRz
LmNwcA0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvcmVnZXgv
c3JjL2NwcF9yZWdleF90cmFpdHMuY3BwDQogICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJP
T1NUX1NSQykvbGlicy9yZWdleC9zcmMvcmVnZXhfdHJhaXRzX2RlZmF1bHRzLmNwcA0KICAgICtM
SUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvcmVnZXgvc3JjL3VzaW5zdGFu
Y2VzLmNwcA0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvcmVn
ZXgvc3JjL3dpZGVfcG9zaXhfYXBpLmNwcA0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJC
T09TVF9TUkMpL2xpYnMvcmVnZXgvc3JjL3djX3JlZ2V4X3RyYWl0cy5jcHANCiAgICArTElCQk9P
U1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3JlZ2V4L3NyYy9yZWdleF9yYXdfYnVm
ZmVyLmNwcA0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvcmVn
ZXgvc3JjL2NfcmVnZXhfdHJhaXRzLmNwcA0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJC
T09TVF9TUkMpL2xpYnMvcmVnZXgvc3JjL3JlZ2V4LmNwcA0KICAgICtMSUJCT09TVF9TUkNTLXkg
Kz0gJChMSUJCT09TVF9TUkMpL2xpYnMvcmVnZXgvc3JjL2luc3RhbmNlcy5jcHANCiAgICArTElC
Qk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3JlZ2V4L3NyYy9yZWdleF9kZWJ1
Zy5jcHANCiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3JlZ2V4
L3NyYy9maWxlaXRlci5jcHANCiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JD
KS9saWJzL3JlZ2V4L3NyYy9pY3UuY3BwDQogICAgKw0KICAgICsjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIw0KICAgICsjIEJvb3N0IHNvdXJjZXMgLSBsaWJzIC0gY29udGV4dA0KICAgICsjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIw0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JD
KS9saWJzL2NvbnRleHQvc3JjL2V4ZWN1dGlvbl9jb250ZXh0LmNwcA0KICAgICsjTElCQk9PU1Rf
U1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2NvbnRleHQvc3JjL2R1bW15LmNwcA0KICAg
ICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2NvbnRleHQvc3JjL2Zp
YmVyLmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2Nv
bnRleHQvc3JjL3dpbmRvd3Mvc3RhY2tfdHJhaXRzLmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15
ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2NvbnRleHQvc3JjL2NvbnRpbnVhdGlvbi5jcHANCiAg
ICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9jb250ZXh0L3NyYy91
bnRlc3RlZC5jcHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGli
cy9jb250ZXh0L3NyYy9wb3NpeC9zdGFja190cmFpdHMuY3BwDQogICAgKyNMSUJCT09TVF9TUkNT
LXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvY29udGV4dC9idWlsZC9jeHgxMV9oZHJfbXV0ZXgu
Y3BwDQogICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvY29uY2Vw
dF9jaGVjay9iYWRfZXJyb3JfZWcuY3BwDQogICAgKw0KICAgICsjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIw0KICAgICsjIEJvb3N0IHNvdXJjZXMgLSBsaWJzIC0gZ3JhcGhfcGFyYWxsZWwNCiAgICAr
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9P
U1RfU1JDKS9saWJzL2dyYXBoX3BhcmFsbGVsL3NyYy90YWdfYWxsb2NhdG9yLmNwcA0KICAgICsj
TElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2dyYXBoX3BhcmFsbGVsL3Ny
Yy9tcGlfcHJvY2Vzc19ncm91cC5jcHANCiAgICArDQogICAgKyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjDQogICAgKyMgQm9vc3Qgc291cmNlcyAtIGxpYnMgLSBwcm9ncmFtX29wdGlvbnMNCiAgICAr
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9P
U1RfU1JDKS9saWJzL3Byb2dyYW1fb3B0aW9ucy9zcmMvcGFyc2Vycy5jcHANCiAgICArTElCQk9P
U1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3Byb2dyYW1fb3B0aW9ucy9zcmMvY29u
ZmlnX2ZpbGUuY3BwDQogICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGli
cy9wcm9ncmFtX29wdGlvbnMvc3JjL3Bvc2l0aW9uYWxfb3B0aW9ucy5jcHANCiAgICArTElCQk9P
U1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3Byb2dyYW1fb3B0aW9ucy9zcmMvb3B0
aW9uc19kZXNjcmlwdGlvbi5jcHANCiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1Rf
U1JDKS9saWJzL3Byb2dyYW1fb3B0aW9ucy9zcmMvY29udmVydC5jcHANCiAgICArTElCQk9PU1Rf
U1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3Byb2dyYW1fb3B0aW9ucy9zcmMvc3BsaXQu
Y3BwDQogICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9wcm9ncmFt
X29wdGlvbnMvc3JjL3ZhcmlhYmxlc19tYXAuY3BwDQogICAgK0xJQkJPT1NUX1NSQ1MteSArPSAk
KExJQkJPT1NUX1NSQykvbGlicy9wcm9ncmFtX29wdGlvbnMvc3JjL2NtZGxpbmUuY3BwDQogICAg
K0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9wcm9ncmFtX29wdGlvbnMv
c3JjL3dpbm1haW4uY3BwDQogICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykv
bGlicy9wcm9ncmFtX29wdGlvbnMvc3JjL3V0ZjhfY29kZWN2dF9mYWNldC5jcHB8cHJvZ3JhbQ0K
ICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvcHJvZ3JhbV9vcHRp
b25zL3NyYy92YWx1ZV9zZW1hbnRpYy5jcHANCiAgICArDQogICAgKyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjDQogICAgKyMgQm9vc3Qgc291cmNlcyAtIGxpYnMgLSBjb250cmFjdA0KICAgICsjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIw0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9T
UkMpL2xpYnMvY29udHJhY3Qvc3JjL2NvbnRyYWN0LmNwcA0KICAgICsNCiAgICArIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMNCiAgICArIyBCb29zdCBzb3VyY2VzIC0gbGlicyAtIHN5c3RlbQ0KICAg
ICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJC
T09TVF9TUkMpL2xpYnMvc3lzdGVtL3NyYy9lcnJvcl9jb2RlLmNwcA0KICAgICsNCiAgICArIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMNCiAgICArIyBCb29zdCBzb3VyY2VzIC0gbGlicyAtIHdhdmUN
CiAgICArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQo
TElCQk9PU1RfU1JDKS9saWJzL3dhdmUvc3JjL2luc3RhbnRpYXRlX2NwcF9leHByZ3JhbW1hci5j
cHANCiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3dhdmUvc3Jj
L2luc3RhbnRpYXRlX3JlMmNfbGV4ZXJfc3RyLmNwcA0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0g
JChMSUJCT09TVF9TUkMpL2xpYnMvd2F2ZS9zcmMvaW5zdGFudGlhdGVfY3BwX2xpdGVyYWxncnMu
Y3BwDQogICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy93YXZlL3Ny
Yy9jcHBsZXhlci9yZTJjbGV4L2NwcF9yZS5jcHANCiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQo
TElCQk9PU1RfU1JDKS9saWJzL3dhdmUvc3JjL2NwcGxleGVyL3JlMmNsZXgvYXEuY3BwDQogICAg
K0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy93YXZlL3NyYy9pbnN0YW50
aWF0ZV9jcHBfZ3JhbW1hci5jcHANCiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1Rf
U1JDKS9saWJzL3dhdmUvc3JjL3Rva2VuX2lkcy5jcHANCiAgICArTElCQk9PU1RfU1JDUy15ICs9
ICQoTElCQk9PU1RfU1JDKS9saWJzL3dhdmUvc3JjL2luc3RhbnRpYXRlX2RlZmluZWRfZ3JhbW1h
ci5jcHANCiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3dhdmUv
c3JjL3dhdmVfY29uZmlnX2NvbnN0YW50LmNwcA0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChM
SUJCT09TVF9TUkMpL2xpYnMvd2F2ZS9zcmMvaW5zdGFudGlhdGVfcHJlZGVmX21hY3Jvcy5jcHAN
CiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3dhdmUvc3JjL2lu
c3RhbnRpYXRlX3JlMmNfbGV4ZXIuY3BwDQogICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJC
T09TVF9TUkMpL2xpYnMvd2F2ZS90b29sL2NwcC5jcHANCiAgICArDQogICAgKyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjDQogICAgKyMgQm9vc3Qgc291cmNlcyAtIGxpYnMgLSBzZXJpYWxpemF0aW9u
DQogICAgKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQogICAgK0xJQkJPT1NUX1NSQ1MteSArPSAk
KExJQkJPT1NUX1NSQykvbGlicy9pb3N0cmVhbXMvc3JjL21hcHBlZF9maWxlLmNwcA0KICAgICsj
TElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2lvc3RyZWFtcy9zcmMvenN0
ZC5jcHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9pb3N0
cmVhbXMvc3JjL3psaWIuY3BwDQogICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9T
UkMpL2xpYnMvaW9zdHJlYW1zL3NyYy9iemlwMi5jcHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSAr
PSAkKExJQkJPT1NUX1NSQykvbGlicy9pb3N0cmVhbXMvc3JjL2d6aXAuY3BwDQogICAgKyNMSUJC
T09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvaW9zdHJlYW1zL3NyYy9sem1hLmNw
cA0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvaW9zdHJlYW1z
L3NyYy9maWxlX2Rlc2NyaXB0b3IuY3BwDQogICAgKw0KICAgICsjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIw0KICAgICsjIEJvb3N0IHNvdXJjZXMgLSBsaWJzIC0gc2VyaWFsaXphdGlvbg0KICAgICsj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09T
VF9TUkMpL2xpYnMvc2VyaWFsaXphdGlvbi9zcmMvYXJjaGl2ZV9leGNlcHRpb24uY3BwDQogICAg
K0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9zZXJpYWxpemF0aW9uL3Ny
Yy9wb2x5bW9ycGhpY19vYXJjaGl2ZS5jcHANCiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElC
Qk9PU1RfU1JDKS9saWJzL3NlcmlhbGl6YXRpb24vc3JjL2Jhc2ljX3BvaW50ZXJfb3NlcmlhbGl6
ZXIuY3BwDQogICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9zZXJp
YWxpemF0aW9uL3NyYy9wb2x5bW9ycGhpY190ZXh0X3dvYXJjaGl2ZS5jcHANCiAgICArTElCQk9P
U1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3NlcmlhbGl6YXRpb24vc3JjL3htbF93
Z3JhbW1hci5jcHANCiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJz
L3NlcmlhbGl6YXRpb24vc3JjL3RleHRfb2FyY2hpdmUuY3BwDQogICAgK0xJQkJPT1NUX1NSQ1Mt
eSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9zZXJpYWxpemF0aW9uL3NyYy9wb2x5bW9ycGhpY190
ZXh0X2lhcmNoaXZlLmNwcA0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMp
L2xpYnMvc2VyaWFsaXphdGlvbi9zcmMvcG9seW1vcnBoaWNfeG1sX3dvYXJjaGl2ZS5jcHANCiAg
ICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3NlcmlhbGl6YXRpb24v
c3JjL3htbF9pYXJjaGl2ZS5jcHANCiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1Rf
U1JDKS9saWJzL3NlcmlhbGl6YXRpb24vc3JjL3BvbHltb3JwaGljX3htbF9pYXJjaGl2ZS5jcHAN
CiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3NlcmlhbGl6YXRp
b24vc3JjL2JpbmFyeV9pYXJjaGl2ZS5jcHANCiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElC
Qk9PU1RfU1JDKS9saWJzL3NlcmlhbGl6YXRpb24vc3JjL2Jhc2ljX3RleHRfaXByaW1pdGl2ZS5j
cHANCiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3NlcmlhbGl6
YXRpb24vc3JjL3N0bF9wb3J0LmNwcA0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09T
VF9TUkMpL2xpYnMvc2VyaWFsaXphdGlvbi9zcmMvZXh0ZW5kZWRfdHlwZV9pbmZvX3R5cGVpZC5j
cHANCiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3NlcmlhbGl6
YXRpb24vc3JjL3BvbHltb3JwaGljX3RleHRfb2FyY2hpdmUuY3BwDQogICAgK0xJQkJPT1NUX1NS
Q1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9zZXJpYWxpemF0aW9uL3NyYy9iYXNpY19wb2lu
dGVyX2lzZXJpYWxpemVyLmNwcA0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9T
UkMpL2xpYnMvc2VyaWFsaXphdGlvbi9zcmMvdm9pZF9jYXN0LmNwcA0KICAgICtMSUJCT09TVF9T
UkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvc2VyaWFsaXphdGlvbi9zcmMvYmFzaWNfb3Nl
cmlhbGl6ZXIuY3BwDQogICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGli
cy9zZXJpYWxpemF0aW9uL3NyYy94bWxfZ3JhbW1hci5jcHANCiAgICArTElCQk9PU1RfU1JDUy15
ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3NlcmlhbGl6YXRpb24vc3JjL3htbF93aWFyY2hpdmUu
Y3BwDQogICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9zZXJpYWxp
emF0aW9uL3NyYy9iYXNpY19pYXJjaGl2ZS5jcHANCiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQo
TElCQk9PU1RfU1JDKS9saWJzL3NlcmlhbGl6YXRpb24vc3JjL2Jhc2ljX29hcmNoaXZlLmNwcA0K
ICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvc2VyaWFsaXphdGlv
bi9zcmMvYmFzaWNfc2VyaWFsaXplcl9tYXAuY3BwDQogICAgK0xJQkJPT1NUX1NSQ1MteSArPSAk
KExJQkJPT1NUX1NSQykvbGlicy9zZXJpYWxpemF0aW9uL3NyYy9iYXNpY190ZXh0X3dpcHJpbWl0
aXZlLmNwcA0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvc2Vy
aWFsaXphdGlvbi9zcmMvY29kZWN2dF9udWxsLmNwcA0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0g
JChMSUJCT09TVF9TUkMpL2xpYnMvc2VyaWFsaXphdGlvbi9zcmMvcG9seW1vcnBoaWNfYmluYXJ5
X2lhcmNoaXZlLmNwcA0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xp
YnMvc2VyaWFsaXphdGlvbi9zcmMvZXh0ZW5kZWRfdHlwZV9pbmZvX25vX3J0dGkuY3BwDQogICAg
K0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9zZXJpYWxpemF0aW9uL3Ny
Yy9iaW5hcnlfd29hcmNoaXZlLmNwcA0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09T
VF9TUkMpL2xpYnMvc2VyaWFsaXphdGlvbi9zcmMvYmFzaWNfeG1sX2FyY2hpdmUuY3BwDQogICAg
K0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9zZXJpYWxpemF0aW9uL3Ny
Yy9leHRlbmRlZF90eXBlX2luZm8uY3BwDQogICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJP
T1NUX1NSQykvbGlicy9zZXJpYWxpemF0aW9uL3NyYy9wb2x5bW9ycGhpY194bWxfb2FyY2hpdmUu
Y3BwDQogICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9zZXJpYWxp
emF0aW9uL3NyYy9iYXNpY19pc2VyaWFsaXplci5jcHANCiAgICArTElCQk9PU1RfU1JDUy15ICs9
ICQoTElCQk9PU1RfU1JDKS9saWJzL3NlcmlhbGl6YXRpb24vc3JjL3htbF9vYXJjaGl2ZS5jcHAN
CiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3NlcmlhbGl6YXRp
b24vc3JjL3RleHRfaWFyY2hpdmUuY3BwDQogICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJP
T1NUX1NSQykvbGlicy9zZXJpYWxpemF0aW9uL3NyYy9wb2x5bW9ycGhpY19iaW5hcnlfb2FyY2hp
dmUuY3BwDQogICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9zZXJp
YWxpemF0aW9uL3NyYy9wb2x5bW9ycGhpY194bWxfd2lhcmNoaXZlLmNwcA0KICAgICtMSUJCT09T
VF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvc2VyaWFsaXphdGlvbi9zcmMvYmluYXJ5
X3dpYXJjaGl2ZS5jcHANCiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9s
aWJzL3NlcmlhbGl6YXRpb24vc3JjL3BvbHltb3JwaGljX2lhcmNoaXZlLmNwcA0KICAgICtMSUJC
T09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvc2VyaWFsaXphdGlvbi9zcmMveG1s
X2FyY2hpdmVfZXhjZXB0aW9uLmNwcA0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09T
VF9TUkMpL2xpYnMvc2VyaWFsaXphdGlvbi9zcmMvdGV4dF93aWFyY2hpdmUuY3BwDQogICAgK0xJ
QkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9zZXJpYWxpemF0aW9uL3NyYy9w
b2x5bW9ycGhpY190ZXh0X3dpYXJjaGl2ZS5jcHANCiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQo
TElCQk9PU1RfU1JDKS9saWJzL3NlcmlhbGl6YXRpb24vc3JjL2Jhc2ljX2FyY2hpdmUuY3BwDQog
ICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9zZXJpYWxpemF0aW9u
L3NyYy9iYXNpY190ZXh0X3dvcHJpbWl0aXZlLmNwcA0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0g
JChMSUJCT09TVF9TUkMpL2xpYnMvc2VyaWFsaXphdGlvbi9zcmMveG1sX3dvYXJjaGl2ZS5jcHAN
CiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3NlcmlhbGl6YXRp
b24vc3JjL2Jhc2ljX3RleHRfb3ByaW1pdGl2ZS5jcHANCiAgICArTElCQk9PU1RfU1JDUy15ICs9
ICQoTElCQk9PU1RfU1JDKS9saWJzL3NlcmlhbGl6YXRpb24vc3JjL3RleHRfd29hcmNoaXZlLmNw
cA0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvc2VyaWFsaXph
dGlvbi9zcmMvdXRmOF9jb2RlY3Z0X2ZhY2V0LmNwcHxzZXJpYWxpemF0aW9uDQogICAgK0xJQkJP
T1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9zZXJpYWxpemF0aW9uL3NyYy9iaW5h
cnlfb2FyY2hpdmUuY3BwDQogICAgKw0KICAgICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KICAg
ICsjIEJvb3N0IHNvdXJjZXMgLSBsaWJzIC0gY29udGFpbmVyDQogICAgKyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMNCiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2Nv
bnRhaW5lci9zcmMvZ2xvYmFsX3Jlc291cmNlLmNwcA0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0g
JChMSUJCT09TVF9TUkMpL2xpYnMvY29udGFpbmVyL3NyYy91bnN5bmNocm9uaXplZF9wb29sX3Jl
c291cmNlLmNwcA0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMv
Y29udGFpbmVyL3NyYy9wb29sX3Jlc291cmNlLmNwcA0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0g
JChMSUJCT09TVF9TUkMpL2xpYnMvY29udGFpbmVyL3NyYy9tb25vdG9uaWNfYnVmZmVyX3Jlc291
cmNlLmNwcA0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvY29u
dGFpbmVyL3NyYy9kbG1hbGxvYy5jcHANCiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9P
U1RfU1JDKS9saWJzL2NvbnRhaW5lci9zcmMvc3luY2hyb25pemVkX3Bvb2xfcmVzb3VyY2UuY3Bw
DQogICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvY29udGFpbmVy
L3NyYy9kbG1hbGxvY18yXzhfNi5jDQogICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NU
X1NSQykvbGlicy9jb250YWluZXIvc3JjL2FsbG9jX2xpYi5jDQogICAgKyNMSUJCT09TVF9TUkNT
LXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvY29udGFpbmVyL3NyYy9kbG1hbGxvY19leHRfMl84
XzYuY3xjb250YWluZXINCiAgICArDQogICAgKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQogICAg
KyMgQm9vc3Qgc291cmNlcyAtIGxpYnMgLSBjaHJvbm8NCiAgICArIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMNCiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2Nocm9u
by9zcmMvcHJvY2Vzc19jcHVfY2xvY2tzLmNwcA0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChM
SUJCT09TVF9TUkMpL2xpYnMvY2hyb25vL3NyYy90aHJlYWRfY2xvY2suY3BwDQogICAgK0xJQkJP
T1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9jaHJvbm8vc3JjL2Nocm9uby5jcHAN
CiAgICArDQogICAgKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQogICAgKyMgQm9vc3Qgc291cmNl
cyAtIGxpYnMgLSB0eXBlX2VyYXN1cmUNCiAgICArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiAg
ICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3R5cGVfZXJhc3VyZS9z
cmMvZHluYW1pY19iaW5kaW5nLmNwcA0KICAgICsNCiAgICArIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMNCiAgICArIyBCb29zdCBzb3VyY2VzIC0gbGlicyAtIHRlc3QNCiAgICArIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMNCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGli
cy90ZXN0L3NyYy91bml0X3Rlc3RfbWFpbi5jcHANCiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQo
TElCQk9PU1RfU1JDKS9saWJzL3Rlc3Qvc3JjL2RlY29yYXRvci5jcHANCiAgICArTElCQk9PU1Rf
U1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3Rlc3Qvc3JjL2RlYnVnLmNwcA0KICAgICtM
SUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvdGVzdC9zcmMvcmVzdWx0c19y
ZXBvcnRlci5jcHANCiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJz
L3Rlc3Qvc3JjL3VuaXRfdGVzdF9tb25pdG9yLmNwcA0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0g
JChMSUJCT09TVF9TUkMpL2xpYnMvdGVzdC9zcmMvZXhlY3V0aW9uX21vbml0b3IuY3BwDQogICAg
KyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvdGVzdC9zcmMvY3BwX21h
aW4uY3BwDQogICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy90ZXN0
L3NyYy90ZXN0X2ZyYW1ld29ya19pbml0X29ic2VydmVyLmNwcA0KICAgICtMSUJCT09TVF9TUkNT
LXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvdGVzdC9zcmMvcGxhaW5fcmVwb3J0X2Zvcm1hdHRl
ci5jcHANCiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3Rlc3Qv
c3JjL3Jlc3VsdHNfY29sbGVjdG9yLmNwcA0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJC
T09TVF9TUkMpL2xpYnMvdGVzdC9zcmMvY29tcGlsZXJfbG9nX2Zvcm1hdHRlci5jcHANCiAgICAr
TElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3Rlc3Qvc3JjL3Rlc3RfdHJl
ZS5jcHANCiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3Rlc3Qv
c3JjL3Byb2dyZXNzX21vbml0b3IuY3BwDQogICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJC
T09TVF9TUkMpL2xpYnMvdGVzdC9zcmMvdGVzdF9tYWluLmNwcA0KICAgICtMSUJCT09TVF9TUkNT
LXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvdGVzdC9zcmMvdW5pdF90ZXN0X2xvZy5jcHANCiAg
ICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3Rlc3Qvc3JjL2ZyYW1l
d29yay5jcHANCiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3Rl
c3Qvc3JjL3htbF9sb2dfZm9ybWF0dGVyLmNwcA0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChM
SUJCT09TVF9TUkMpL2xpYnMvdGVzdC9zcmMvdGVzdF90b29scy5jcHANCiAgICArTElCQk9PU1Rf
U1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3Rlc3Qvc3JjL3VuaXRfdGVzdF9wYXJhbWV0
ZXJzLmNwcA0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvdGVz
dC9zcmMveG1sX3JlcG9ydF9mb3JtYXR0ZXIuY3BwDQogICAgK0xJQkJPT1NUX1NSQ1MteSArPSAk
KExJQkJPT1NUX1NSQykvbGlicy90ZXN0L3NyYy9qdW5pdF9sb2dfZm9ybWF0dGVyLmNwcA0KICAg
ICsNCiAgICArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiAgICArIyBCb29zdCBzb3VyY2VzIC0g
bGlicyAtIGxvY2FsZQ0KICAgICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KICAgICsjTElCQk9P
U1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvY2FsZS9zcmMvZW5jb2RpbmcvY29k
ZXBhZ2UuY3BwDQogICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMv
bG9jYWxlL3NyYy9zdGQvY29sbGF0ZS5jcHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJ
QkJPT1NUX1NSQykvbGlicy9sb2NhbGUvc3JjL3N0ZC9jb252ZXJ0ZXIuY3BwDQogICAgKyNMSUJC
T09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9jYWxlL3NyYy9zdGQvbnVtZXJp
Yy5jcHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2Nh
bGUvc3JjL3N0ZC9zdGRfYmFja2VuZC5jcHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJ
QkJPT1NUX1NSQykvbGlicy9sb2NhbGUvc3JjL3N0ZC9jb2RlY3Z0LmNwcA0KICAgICsjTElCQk9P
U1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvY2FsZS9zcmMvaWN1L2RhdGVfdGlt
ZS5jcHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2Nh
bGUvc3JjL2ljdS9jb2xsYXRvci5jcHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJP
T1NUX1NSQykvbGlicy9sb2NhbGUvc3JjL2ljdS9jb252ZXJzaW9uLmNwcA0KICAgICsjTElCQk9P
U1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvY2FsZS9zcmMvaWN1L2ljdV9iYWNr
ZW5kLmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xv
Y2FsZS9zcmMvaWN1L251bWVyaWMuY3BwDQogICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJC
T09TVF9TUkMpL2xpYnMvbG9jYWxlL3NyYy9pY3UvdGltZV96b25lLmNwcA0KICAgICsjTElCQk9P
U1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvY2FsZS9zcmMvaWN1L2NvZGVjdnQu
Y3BwDQogICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9jYWxl
L3NyYy9pY3UvZm9ybWF0dGVyLmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9P
U1RfU1JDKS9saWJzL2xvY2FsZS9zcmMvaWN1L2JvdW5kYXJ5LmNwcA0KICAgICsjTElCQk9PU1Rf
U1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvY2FsZS9zcmMvdXRpbC9sb2NhbGVfZGF0
YS5jcHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2Nh
bGUvc3JjL3V0aWwvY29kZWN2dF9jb252ZXJ0ZXIuY3BwDQogICAgKyNMSUJCT09TVF9TUkNTLXkg
Kz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9jYWxlL3NyYy91dGlsL2RlZmF1bHRfbG9jYWxlLmNw
cA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvY2FsZS9z
cmMvdXRpbC9ncmVnb3JpYW4uY3BwDQogICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09T
VF9TUkMpL2xpYnMvbG9jYWxlL3NyYy91dGlsL2luZm8uY3BwDQogICAgKyNMSUJCT09TVF9TUkNT
LXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9jYWxlL3NyYy9wb3NpeC9wb3NpeF9iYWNrZW5k
LmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvY2Fs
ZS9zcmMvcG9zaXgvY29sbGF0ZS5jcHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJP
T1NUX1NSQykvbGlicy9sb2NhbGUvc3JjL3Bvc2l4L2NvbnZlcnRlci5jcHANCiAgICArI0xJQkJP
T1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2NhbGUvc3JjL3Bvc2l4L251bWVy
aWMuY3BwDQogICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9j
YWxlL3NyYy9wb3NpeC9jb2RlY3Z0LmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElC
Qk9PU1RfU1JDKS9saWJzL2xvY2FsZS9zcmMvc2hhcmVkL2RhdGVfdGltZS5jcHANCiAgICArI0xJ
QkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2NhbGUvc3JjL3NoYXJlZC9t
b19sYW1iZGEuY3BwDQogICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xp
YnMvbG9jYWxlL3NyYy9zaGFyZWQvZm9ybWF0dGluZy5jcHANCiAgICArI0xJQkJPT1NUX1NSQ1Mt
eSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2NhbGUvc3JjL3NoYXJlZC9pZHMuY3BwDQogICAg
KyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9jYWxlL3NyYy9zaGFy
ZWQvZm9ybWF0LmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9s
aWJzL2xvY2FsZS9zcmMvc2hhcmVkL21lc3NhZ2UuY3BwDQogICAgKyNMSUJCT09TVF9TUkNTLXkg
Kz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9jYWxlL3NyYy9zaGFyZWQvZ2VuZXJhdG9yLmNwcA0K
ICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvY2FsZS9zcmMv
c2hhcmVkL2xvY2FsaXphdGlvbl9iYWNrZW5kLmNwcA0KICAgICsNCiAgICArIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMNCiAgICArIyBCb29zdCBzb3VyY2VzIC0gbGlicyAtIGF0b21pYw0KICAgICsj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09T
VF9TUkMpL2xpYnMvYXRvbWljL3NyYy9sb2NrcG9vbC5jcHANCiAgICArDQogICAgKyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjDQogICAgKyMgQm9vc3Qgc291cmNlcyAtIGxpYnMgLSBsb2cNCiAgICAr
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJP
T1NUX1NSQykvbGlicy9sb2cvc3JjL3RleHRfb3N0cmVhbV9iYWNrZW5kLmNwcA0KICAgICsjTElC
Qk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvZy9zcmMvZXhjZXB0aW9ucy5j
cHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2cvc3Jj
L3RocmVhZF9pZC5jcHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykv
bGlicy9sb2cvc3JjL2NvZGVfY29udmVyc2lvbi5jcHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSAr
PSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2cvc3JjL3RyaXZpYWwuY3BwDQogICAgKyNMSUJCT09T
VF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9nL3NyYy9kdW1wX3Nzc2UzLmNwcA0K
ICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvZy9zcmMvZGVm
YXVsdF9zaW5rLmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9s
aWJzL2xvZy9zcmMvZGF0ZV90aW1lX2Zvcm1hdF9wYXJzZXIuY3BwDQogICAgKyNMSUJCT09TVF9T
UkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9nL3NyYy9zZXR1cC9maWx0ZXJfcGFyc2Vy
LmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvZy9z
cmMvc2V0dXAvZGVmYXVsdF9mb3JtYXR0ZXJfZmFjdG9yeS5jcHANCiAgICArI0xJQkJPT1NUX1NS
Q1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2cvc3JjL3NldHVwL3BhcnNlcl91dGlscy5j
cHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2cvc3Jj
L3NldHVwL2luaXRfZnJvbV9zZXR0aW5ncy5jcHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAk
KExJQkJPT1NUX1NSQykvbGlicy9sb2cvc3JjL3NldHVwL21hdGNoZXNfcmVsYXRpb25fZmFjdG9y
eS5jcHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2cv
c3JjL3NldHVwL3NldHRpbmdzX3BhcnNlci5jcHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAk
KExJQkJPT1NUX1NSQykvbGlicy9sb2cvc3JjL3NldHVwL2luaXRfZnJvbV9zdHJlYW0uY3BwDQog
ICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9nL3NyYy9zZXR1
cC9mb3JtYXR0ZXJfcGFyc2VyLmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9P
U1RfU1JDKS9saWJzL2xvZy9zcmMvc2V0dXAvZGVmYXVsdF9maWx0ZXJfZmFjdG9yeS5jcHANCiAg
ICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2cvc3JjL2F0dHJp
YnV0ZV9zZXQuY3BwDQogICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xp
YnMvbG9nL3NyYy93aW5kb3dzL2lwY19yZWxpYWJsZV9tZXNzYWdlX3F1ZXVlLmNwcA0KICAgICsj
TElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvZy9zcmMvd2luZG93cy9t
YXBwZWRfc2hhcmVkX21lbW9yeS5jcHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJP
T1NUX1NSQykvbGlicy9sb2cvc3JjL3dpbmRvd3MvaXBjX3N5bmNfd3JhcHBlcnMuY3BwDQogICAg
KyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9nL3NyYy93aW5kb3dz
L2V2ZW50X2xvZ19iYWNrZW5kLmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9P
U1RfU1JDKS9saWJzL2xvZy9zcmMvd2luZG93cy9saWdodF9yd19tdXRleC5jcHANCiAgICArI0xJ
QkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2cvc3JjL3dpbmRvd3Mvb2Jq
ZWN0X25hbWUuY3BwDQogICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xp
YnMvbG9nL3NyYy93aW5kb3dzL2RlYnVnX291dHB1dF9iYWNrZW5kLmNwcA0KICAgICsjTElCQk9P
U1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvZy9zcmMvdGhyZWFkX3NwZWNpZmlj
LmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvZy9z
cmMvdGltZXN0YW1wLmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JD
KS9saWJzL2xvZy9zcmMvbmFtZWRfc2NvcGUuY3BwDQogICAgKyNMSUJCT09TVF9TUkNTLXkgKz0g
JChMSUJCT09TVF9TUkMpL2xpYnMvbG9nL3NyYy90ZXh0X211bHRpZmlsZV9iYWNrZW5kLmNwcA0K
ICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvZy9zcmMvZXZl
bnQuY3BwDQogICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9n
L3NyYy90aHJlYWRzYWZlX3F1ZXVlLmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElC
Qk9PU1RfU1JDKS9saWJzL2xvZy9zcmMvZGVmYXVsdF9hdHRyaWJ1dGVfbmFtZXMuY3BwDQogICAg
KyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9nL3NyYy9nbG9iYWxf
bG9nZ2VyX3N0b3JhZ2UuY3BwDQogICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9T
UkMpL2xpYnMvbG9nL3NyYy90ZXh0X2ZpbGVfYmFja2VuZC5jcHANCiAgICArI0xJQkJPT1NUX1NS
Q1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2cvc3JjL29uY2VfYmxvY2suY3BwDQogICAg
KyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9nL3NyYy9zcGlyaXRf
ZW5jb2RpbmcuY3BwDQogICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xp
YnMvbG9nL3NyYy9kdW1wX2F2eDIuY3BwDQogICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJC
T09TVF9TUkMpL2xpYnMvbG9nL3NyYy9uYW1lZF9zY29wZV9mb3JtYXRfcGFyc2VyLmNwcA0KICAg
ICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvZy9zcmMvcGVybWlz
c2lvbnMuY3BwDQogICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMv
bG9nL3NyYy9wcm9jZXNzX25hbWUuY3BwDQogICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJC
T09TVF9TUkMpL2xpYnMvbG9nL3NyYy9yZWNvcmRfb3N0cmVhbS5jcHANCiAgICArI0xJQkJPT1NU
X1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2cvc3JjL2NvcmUuY3BwDQogICAgKyNM
SUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9nL3NyYy9zZXZlcml0eV9s
ZXZlbC5jcHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9s
b2cvc3JjL3Bvc2l4L2lwY19yZWxpYWJsZV9tZXNzYWdlX3F1ZXVlLmNwcA0KICAgICsjTElCQk9P
U1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvZy9zcmMvcG9zaXgvb2JqZWN0X25h
bWUuY3BwDQogICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9n
L3NyYy9wcm9jZXNzX2lkLmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1Rf
U1JDKS9saWJzL2xvZy9zcmMvc3lzbG9nX2JhY2tlbmQuY3BwDQogICAgKyNMSUJCT09TVF9TUkNT
LXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9nL3NyYy9mb3JtYXRfcGFyc2VyLmNwcA0KICAg
ICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvZy9zcmMvdGltZXIu
Y3BwDQogICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9nL3Ny
Yy9hdHRyaWJ1dGVfdmFsdWVfc2V0LmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElC
Qk9PU1RfU1JDKS9saWJzL2xvZy9zcmMvYXR0cmlidXRlX25hbWUuY3BwDQogICAgKyNMSUJCT09T
VF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9nL3NyYy9kdW1wLmNwcA0KICAgICsN
CiAgICArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiAgICArIyBCb29zdCBzb3VyY2VzIC0gbGli
cyAtIGV4Y2VwdGlvbg0KICAgICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KICAgICtMSUJCT09T
VF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvZXhjZXB0aW9uL3NyYy9jbG9uZV9jdXJy
ZW50X2V4Y2VwdGlvbl9ub25faW50cnVzaXZlLmNwcA0KICAgICsNCiAgICArIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMNCiAgICArIyBCb29zdCBzb3VyY2VzIC0gbGlicyAtIHRpbWVyDQogICAgKyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjDQogICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NU
X1NSQykvbGlicy90aW1lci9zcmMvY3B1X3RpbWVyLmNwcA0KICAgICtMSUJCT09TVF9TUkNTLXkg
Kz0gJChMSUJCT09TVF9TUkMpL2xpYnMvdGltZXIvc3JjL2F1dG9fdGltZXJzX2NvbnN0cnVjdGlv
bi5jcHANCiAgICArDQogICAgKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQogICAgKyMgQm9vc3Qg
c291cmNlcyAtIGxpYnMgLSByYW5kb20NCiAgICArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiAg
ICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3JhbmRvbS9zcmMvcmFu
ZG9tX2RldmljZS5jcHANCiAgICArDQogICAgKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQogICAg
KyMgQm9vc3Qgc291cmNlcyAtIGxpYnMgLSBweXRob24NCiAgICArIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMNCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9weXRo
b24vc3JjL3R1cGxlLmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JD
KS9saWJzL3B5dGhvbi9zcmMvbGlzdC5jcHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJ
QkJPT1NUX1NSQykvbGlicy9weXRob24vc3JjL29iamVjdF9vcGVyYXRvcnMuY3BwDQogICAgKyNM
SUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvcHl0aG9uL3NyYy9zdHIuY3Bw
DQogICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvcHl0aG9uL3Ny
Yy9vYmplY3RfcHJvdG9jb2wuY3BwDQogICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09T
VF9TUkMpL2xpYnMvcHl0aG9uL3NyYy9pbXBvcnQuY3BwDQogICAgKyNMSUJCT09TVF9TUkNTLXkg
Kz0gJChMSUJCT09TVF9TUkMpL2xpYnMvcHl0aG9uL3NyYy9lcnJvcnMuY3BwDQogICAgKyNMSUJC
T09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvcHl0aG9uL3NyYy9udW1weS9zY2Fs
YXJzLmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3B5
dGhvbi9zcmMvbnVtcHkvdWZ1bmMuY3BwDQogICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJC
T09TVF9TUkMpL2xpYnMvcHl0aG9uL3NyYy9udW1weS9tYXRyaXguY3BwDQogICAgKyNMSUJCT09T
VF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvcHl0aG9uL3NyYy9udW1weS9kdHlwZS5j
cHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9weXRob24v
c3JjL251bXB5L251bXB5LmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1Rf
U1JDKS9saWJzL3B5dGhvbi9zcmMvbnVtcHkvbmRhcnJheS5jcHANCiAgICArI0xJQkJPT1NUX1NS
Q1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9weXRob24vc3JjL21vZHVsZS5jcHANCiAgICAr
I0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9weXRob24vc3JjL2RpY3Qu
Y3BwDQogICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvcHl0aG9u
L3NyYy9sb25nLmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9s
aWJzL3B5dGhvbi9zcmMvZXhlYy5jcHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJP
T1NUX1NSQykvbGlicy9weXRob24vc3JjL29iamVjdC9mdW5jdGlvbi5jcHANCiAgICArI0xJQkJP
T1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9weXRob24vc3JjL29iamVjdC9lbnVt
LmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3B5dGhv
bi9zcmMvb2JqZWN0L3BpY2tsZV9zdXBwb3J0LmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9
ICQoTElCQk9PU1RfU1JDKS9saWJzL3B5dGhvbi9zcmMvb2JqZWN0L2NsYXNzLmNwcA0KICAgICsj
TElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3B5dGhvbi9zcmMvb2JqZWN0
L2xpZmVfc3VwcG9ydC5jcHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NS
QykvbGlicy9weXRob24vc3JjL29iamVjdC9mdW5jdGlvbl9kb2Nfc2lnbmF0dXJlLmNwcA0KICAg
ICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3B5dGhvbi9zcmMvb2Jq
ZWN0L2luaGVyaXRhbmNlLmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1Rf
U1JDKS9saWJzL3B5dGhvbi9zcmMvb2JqZWN0L2l0ZXJhdG9yLmNwcA0KICAgICsjTElCQk9PU1Rf
U1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3B5dGhvbi9zcmMvb2JqZWN0L3N0bF9pdGVy
YXRvci5jcHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9w
eXRob24vc3JjL3dyYXBwZXIuY3BwDQogICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09T
VF9TUkMpL2xpYnMvcHl0aG9uL3NyYy9jb252ZXJ0ZXIvYXJnX3RvX3B5dGhvbl9iYXNlLmNwcA0K
ICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3B5dGhvbi9zcmMv
Y29udmVydGVyL2Zyb21fcHl0aG9uLmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElC
Qk9PU1RfU1JDKS9saWJzL3B5dGhvbi9zcmMvY29udmVydGVyL2J1aWx0aW5fY29udmVydGVycy5j
cHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9weXRob24v
c3JjL2NvbnZlcnRlci90eXBlX2lkLmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElC
Qk9PU1RfU1JDKS9saWJzL3B5dGhvbi9zcmMvY29udmVydGVyL3JlZ2lzdHJ5LmNwcA0KICAgICsj
TElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3B5dGhvbi9zcmMvc2xpY2Uu
Y3BwDQogICAgKw0KICAgICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KICAgICsjIEJvb3N0IHNv
dXJjZXMgLSBsaWJzIC0gc21hcnRfcHRyDQogICAgKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQog
ICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9zbWFydF9wdHIvZXh0
cmFzL3NyYy9zcF9kZWJ1Z19ob29rcy5jcHANCiAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElC
Qk9PU1RfU1JDKS9saWJzL3NtYXJ0X3B0ci9leHRyYXMvc3JjL3NwX2NvbGxlY3Rvci5jcHANCiAg
ICArDQogICAgKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQogICAgKyMgQm9vc3Qgc291cmNlcyAt
IGxpYnMgLSBmaWJlcg0KICAgICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KICAgICsjTElCQk9P
U1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2ZpYmVyL3NyYy90aW1lZF9tdXRleC5j
cHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9maWJlci9z
cmMvcmVjdXJzaXZlX211dGV4LmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9P
U1RfU1JDKS9saWJzL2ZpYmVyL3NyYy9udW1hL2hwdXgvdG9wb2xvZ3kuY3BwDQogICAgKyNMSUJC
T09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvZmliZXIvc3JjL251bWEvaHB1eC9w
aW5fdGhyZWFkLmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9s
aWJzL2ZpYmVyL3NyYy9udW1hL2FpeC90b3BvbG9neS5jcHANCiAgICArI0xJQkJPT1NUX1NSQ1Mt
eSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9maWJlci9zcmMvbnVtYS9haXgvcGluX3RocmVhZC5j
cHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9maWJlci9z
cmMvbnVtYS93aW5kb3dzL3RvcG9sb2d5LmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQo
TElCQk9PU1RfU1JDKS9saWJzL2ZpYmVyL3NyYy9udW1hL3dpbmRvd3MvcGluX3RocmVhZC5jcHAN
CiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9maWJlci9zcmMv
bnVtYS9saW51eC90b3BvbG9neS5jcHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJP
T1NUX1NSQykvbGlicy9maWJlci9zcmMvbnVtYS9saW51eC9waW5fdGhyZWFkLmNwcA0KICAgICsj
TElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2ZpYmVyL3NyYy9udW1hL2Fs
Z28vd29ya19zdGVhbGluZy5jcHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NU
X1NSQykvbGlicy9maWJlci9zcmMvbnVtYS9zb2xhcmlzL3RvcG9sb2d5LmNwcA0KICAgICsjTElC
Qk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2ZpYmVyL3NyYy9udW1hL3NvbGFy
aXMvcGluX3RocmVhZC5jcHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NS
QykvbGlicy9maWJlci9zcmMvbnVtYS90b3BvbG9neS5jcHANCiAgICArI0xJQkJPT1NUX1NSQ1Mt
eSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9maWJlci9zcmMvbnVtYS9mcmVlYnNkL3RvcG9sb2d5
LmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2ZpYmVy
L3NyYy9udW1hL2ZyZWVic2QvcGluX3RocmVhZC5jcHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSAr
PSAkKExJQkJPT1NUX1NSQykvbGlicy9maWJlci9zcmMvbnVtYS9waW5fdGhyZWFkLmNwcA0KICAg
ICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2ZpYmVyL3NyYy9maWJl
ci5jcHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9maWJl
ci9zcmMvbXV0ZXguY3BwDQogICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMp
L2xpYnMvZmliZXIvc3JjL2FsZ28vc2hhcmVkX3dvcmsuY3BwDQogICAgKyNMSUJCT09TVF9TUkNT
LXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvZmliZXIvc3JjL2FsZ28vd29ya19zdGVhbGluZy5j
cHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9maWJlci9z
cmMvYWxnby9yb3VuZF9yb2Jpbi5jcHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJP
T1NUX1NSQykvbGlicy9maWJlci9zcmMvYWxnby9hbGdvcml0aG0uY3BwDQogICAgKyNMSUJCT09T
VF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvZmliZXIvc3JjL2NvbmRpdGlvbl92YXJp
YWJsZS5jcHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9m
aWJlci9zcmMvc2NoZWR1bGVyLmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9P
U1RfU1JDKS9saWJzL2ZpYmVyL3NyYy9wcm9wZXJ0aWVzLmNwcA0KICAgICsjTElCQk9PU1RfU1JD
Uy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2ZpYmVyL3NyYy9yZWN1cnNpdmVfdGltZWRfbXV0
ZXguY3BwDQogICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvZmli
ZXIvc3JjL2NvbnRleHQuY3BwDQogICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9T
UkMpL2xpYnMvZmliZXIvc3JjL2Z1dHVyZS5jcHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAk
KExJQkJPT1NUX1NSQykvbGlicy9maWJlci9zcmMvYmFycmllci5jcHANCiAgICArDQogICAgKyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjDQogICAgKyMgQm9vc3Qgc291cmNlcyAtIGxpYnMgLSBzdHJh
Y2UNCiAgICArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiAgICArI0xJQkJPT1NUX1NSQ1MteSAr
PSAkKExJQkJPT1NUX1NSQykvbGlicy9zdGFja3RyYWNlL3NyYy9iYWNrdHJhY2UuY3BwDQogICAg
KyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvc3RhY2t0cmFjZS9zcmMv
bm9vcC5jcHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9z
dGFja3RyYWNlL3NyYy9hZGRyMmxpbmUuY3BwDQogICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChM
SUJCT09TVF9TUkMpL2xpYnMvc3RhY2t0cmFjZS9zcmMvYmFzaWMuY3BwfHN0YWNrdHJhY2UNCiAg
ICArDQogICAgKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQogICAgKyMgQm9vc3Qgc291cmNlcyAt
IGxpYnMgLSBwcm90bw0KICAgICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KICAgICsjTElCQk9P
U1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3Byb3RvL3ByZXByb2Nlc3MvcHJlcHJv
Y2Vzc19wcm90by5jcHANCiAgICArDQogICAgKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQogICAg
KyMgQm9vc3Qgc291cmNlcyAtIGxpYnMgLSBtcGwNCiAgICArIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMNCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJl
cHJvY2Vzc2VkL3ZlY3Rvci92ZWN0b3I1MF9jLmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9
ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQvdmVjdG9yL3ZlY3RvcjQwLmNw
cA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVw
cm9jZXNzZWQvdmVjdG9yL3ZlY3RvcjEwX2MuY3BwDQogICAgKyNMSUJCT09TVF9TUkNTLXkgKz0g
JChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC92ZWN0b3IvdmVjdG9yMjAuY3Bw
DQogICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXBy
b2Nlc3NlZC92ZWN0b3IvdmVjdG9yMzAuY3BwDQogICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChM
SUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC92ZWN0b3IvdmVjdG9yNTAuY3BwDQog
ICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nl
c3NlZC92ZWN0b3IvdmVjdG9yMjBfYy5jcHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJ
QkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3ZlY3Rvci92ZWN0b3IzMF9jLmNwcA0K
ICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9j
ZXNzZWQvdmVjdG9yL3ZlY3RvcjQwX2MuY3BwDQogICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChM
SUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC92ZWN0b3IvdmVjdG9yMTAuY3BwDQog
ICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nl
c3NlZC9zcmMvYml0eG9yLmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1Rf
U1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQvc3JjL2l0ZXJfZm9sZF9pbXBsLmNwcA0KICAgICsj
TElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQv
c3JjL2xpc3RfYy5jcHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykv
bGlicy9tcGwvcHJlcHJvY2Vzc2VkL3NyYy9lcXVhbF90by5jcHANCiAgICArI0xJQkJPT1NUX1NS
Q1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3NyYy9saXN0LmNw
cA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVw
cm9jZXNzZWQvc3JjL2FwcGx5X2Z3ZC5jcHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJ
QkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3NyYy90ZW1wbGF0ZV9hcml0eS5jcHAN
CiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJv
Y2Vzc2VkL3NyYy9xdW90ZS5jcHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NU
X1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3NyYy9sZXNzLmNwcA0KICAgICsjTElCQk9PU1Rf
U1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQvc3JjL21hcC5j
cHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJl
cHJvY2Vzc2VkL3NyYy9vci5jcHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NU
X1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3NyYy92ZWN0b3IuY3BwDQogICAgKyNMSUJCT09T
VF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9zcmMvYWR2
YW5jZV9mb3J3YXJkLmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JD
KS9saWJzL21wbC9wcmVwcm9jZXNzZWQvc3JjL3ZlY3Rvcl9jLmNwcA0KICAgICsjTElCQk9PU1Rf
U1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQvc3JjL2FwcGx5
LmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9w
cmVwcm9jZXNzZWQvc3JjL2Z1bGxfbGFtYmRhLmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9
ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQvc3JjL2ZvbGRfaW1wbC5jcHAN
CiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJv
Y2Vzc2VkL3NyYy9iaW5kX2Z3ZC5jcHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJP
T1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3NyYy9hcmcuY3BwDQogICAgKyNMSUJCT09T
VF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9zcmMvbm90
X2VxdWFsX3RvLmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9s
aWJzL21wbC9wcmVwcm9jZXNzZWQvc3JjL3JldmVyc2VfaXRlcl9mb2xkX2ltcGwuY3BwDQogICAg
KyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3Nl
ZC9zcmMvZ3JlYXRlci5jcHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NS
QykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3NyYy9hZHZhbmNlX2JhY2t3YXJkLmNwcA0KICAgICsj
TElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQv
c3JjL2Jhc2ljX2JpbmQuY3BwDQogICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9T
UkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9zcmMvc2V0LmNwcA0KICAgICsjTElCQk9PU1RfU1JD
Uy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQvc3JjL2JpdGFuZC5j
cHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJl
cHJvY2Vzc2VkL3NyYy9pbmhlcml0LmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElC
Qk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQvc3JjL2FuZC5jcHANCiAgICArI0xJQkJP
T1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3NyYy9t
aW51cy5jcHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9t
cGwvcHJlcHJvY2Vzc2VkL3NyYy9pdGVyX2ZvbGRfaWZfaW1wbC5jcHANCiAgICArI0xJQkJPT1NU
X1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3NyYy9yZXZl
cnNlX2ZvbGRfaW1wbC5jcHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NS
QykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3NyYy9tb2R1bHVzLmNwcA0KICAgICsjTElCQk9PU1Rf
U1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQvc3JjL2dyZWF0
ZXJfZXF1YWwuY3BwDQogICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xp
YnMvbXBsL3ByZXByb2Nlc3NlZC9zcmMvc2hpZnRfbGVmdC5jcHANCiAgICArI0xJQkJPT1NUX1NS
Q1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3NyYy91bnBhY2tf
YXJncy5jcHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9t
cGwvcHJlcHJvY2Vzc2VkL3NyYy9iaW5kLmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQo
TElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQvc3JjL2JpdG9yLmNwcA0KICAgICsj
TElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQv
c3JjL2xhbWJkYV9ub19jdHBzLmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9P
U1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQvc3JjL2RpdmlkZXMuY3BwDQogICAgKyNMSUJC
T09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9zcmMv
cGx1cy5jcHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9t
cGwvcHJlcHJvY2Vzc2VkL3NyYy90aW1lcy5jcHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAk
KExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3NyYy9sZXNzX2VxdWFsLmNwcA0K
ICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9j
ZXNzZWQvc3JjL2RlcXVlLmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1Rf
U1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQvc3JjL3NldF9jLmNwcA0KICAgICsjTElCQk9PU1Rf
U1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQvc3JjL3BsYWNl
aG9sZGVycy5jcHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGli
cy9tcGwvcHJlcHJvY2Vzc2VkL3NyYy9hcHBseV93cmFwLmNwcA0KICAgICsjTElCQk9PU1RfU1JD
Uy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQvc3JjL3NoaWZ0X3Jp
Z2h0LmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21w
bC9wcmVwcm9jZXNzZWQvbWFwL21hcDMwLmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQo
TElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQvbWFwL21hcDEwLmNwcA0KICAgICsj
TElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQv
bWFwL21hcDIwLmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9s
aWJzL21wbC9wcmVwcm9jZXNzZWQvbWFwL21hcDQwLmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15
ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQvbWFwL21hcDUwLmNwcA0K
ICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9j
ZXNzZWQvc2V0L3NldDIwX2MuY3BwDQogICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09T
VF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9zZXQvc2V0MTBfYy5jcHANCiAgICArI0xJQkJP
T1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3NldC9z
ZXQxMC5jcHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9t
cGwvcHJlcHJvY2Vzc2VkL3NldC9zZXQ0MF9jLmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9
ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQvc2V0L3NldDIwLmNwcA0KICAg
ICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNz
ZWQvc2V0L3NldDQwLmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JD
KS9saWJzL21wbC9wcmVwcm9jZXNzZWQvc2V0L3NldDMwLmNwcA0KICAgICsjTElCQk9PU1RfU1JD
Uy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQvc2V0L3NldDUwLmNw
cA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVw
cm9jZXNzZWQvc2V0L3NldDMwX2MuY3BwDQogICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJC
T09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9zZXQvc2V0NTBfYy5jcHANCiAgICArI0xJ
QkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL2xp
c3QvbGlzdDUwX2MuY3BwDQogICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMp
L2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9saXN0L2xpc3QyMF9jLmNwcA0KICAgICsjTElCQk9PU1Rf
U1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQvbGlzdC9saXN0
NDAuY3BwDQogICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBs
L3ByZXByb2Nlc3NlZC9saXN0L2xpc3QyMC5jcHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAk
KExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL2xpc3QvbGlzdDEwX2MuY3BwDQog
ICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nl
c3NlZC9saXN0L2xpc3Q0MF9jLmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9P
U1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQvbGlzdC9saXN0MzBfYy5jcHANCiAgICArI0xJ
QkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL2xp
c3QvbGlzdDEwLmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9s
aWJzL21wbC9wcmVwcm9jZXNzZWQvbGlzdC9saXN0MzAuY3BwDQogICAgKyNMSUJCT09TVF9TUkNT
LXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9saXN0L2xpc3Q1MC5j
cHANCiAgICArDQogICAgKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQogICAgKyMgQm9vc3Qgc291
cmNlcyAtIGxpYnMgLSBtcGkNCiAgICArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiAgICArI0xJ
QkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGkvc3JjL2Jyb2FkY2FzdC5j
cHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGkvc3Jj
L3BhY2tlZF9za2VsZXRvbl9pYXJjaGl2ZS5jcHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAk
KExJQkJPT1NUX1NSQykvbGlicy9tcGkvc3JjL2Vudmlyb25tZW50LmNwcA0KICAgICsjTElCQk9P
U1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21waS9zcmMvY29tcHV0YXRpb25fdHJl
ZS5jcHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGkv
c3JjL3RleHRfc2tlbGV0b25fb2FyY2hpdmUuY3BwDQogICAgKyNMSUJCT09TVF9TUkNTLXkgKz0g
JChMSUJCT09TVF9TUkMpL2xpYnMvbXBpL3NyYy9tcGlfZGF0YXR5cGVfb2FyY2hpdmUuY3BwDQog
ICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBpL3NyYy9yZXF1
ZXN0LmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21w
aS9zcmMvZXJyb3Jfc3RyaW5nLmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9P
U1RfU1JDKS9saWJzL21waS9zcmMvcGFja2VkX29hcmNoaXZlLmNwcA0KICAgICsjTElCQk9PU1Rf
U1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21waS9zcmMvcG9pbnRfdG9fcG9pbnQuY3Bw
DQogICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBpL3NyYy9n
cmFwaF9jb21tdW5pY2F0b3IuY3BwDQogICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09T
VF9TUkMpL2xpYnMvbXBpL3NyYy9wYWNrZWRfaWFyY2hpdmUuY3BwDQogICAgKyNMSUJCT09TVF9T
UkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBpL3NyYy9jb21tdW5pY2F0b3IuY3BwDQog
ICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBpL3NyYy9weXRo
b24vcHlfY29tbXVuaWNhdG9yLmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9P
U1RfU1JDKS9saWJzL21waS9zcmMvcHl0aG9uL2RhdGF0eXBlcy5jcHANCiAgICArI0xJQkJPT1NU
X1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGkvc3JjL3B5dGhvbi9weV90aW1lci5j
cHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGkvc3Jj
L3B5dGhvbi9kb2N1bWVudGF0aW9uLmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElC
Qk9PU1RfU1JDKS9saWJzL21waS9zcmMvcHl0aG9uL21vZHVsZS5jcHANCiAgICArI0xJQkJPT1NU
X1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGkvc3JjL3B5dGhvbi9weV9leGNlcHRp
b24uY3BwDQogICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBp
L3NyYy9weXRob24vcHlfZW52aXJvbm1lbnQuY3BwDQogICAgKyNMSUJCT09TVF9TUkNTLXkgKz0g
JChMSUJCT09TVF9TUkMpL2xpYnMvbXBpL3NyYy9weXRob24vcHlfcmVxdWVzdC5jcHANCiAgICAr
I0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGkvc3JjL3B5dGhvbi9z
ZXJpYWxpemUuY3BwDQogICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xp
YnMvbXBpL3NyYy9weXRob24vcHlfbm9uYmxvY2tpbmcuY3BwDQogICAgKyNMSUJCT09TVF9TUkNT
LXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBpL3NyYy9weXRob24vc2tlbGV0b25fYW5kX2Nv
bnRlbnQuY3BwDQogICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMv
bXBpL3NyYy9weXRob24vY29sbGVjdGl2ZXMuY3BwDQogICAgKyNMSUJCT09TVF9TUkNTLXkgKz0g
JChMSUJCT09TVF9TUkMpL2xpYnMvbXBpL3NyYy9weXRob24vc3RhdHVzLmNwcA0KICAgICsjTElC
Qk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21waS9zcmMvaW50ZXJjb21tdW5p
Y2F0b3IuY3BwDQogICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMv
bXBpL3NyYy9jYXJ0ZXNpYW5fY29tbXVuaWNhdG9yLmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15
ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21waS9zcmMvZ3JvdXAuY3BwDQogICAgKyNMSUJCT09T
VF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBpL3NyYy9jb250ZW50X29hcmNoaXZl
LmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21waS9z
cmMvb2Zmc2V0cy5jcHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykv
bGlicy9tcGkvc3JjL3RpbWVyLmNwcA0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9P
U1RfU1JDKS9saWJzL21waS9zcmMvbXBpX2RhdGF0eXBlX2NhY2hlLmNwcA0KICAgICsjTElCQk9P
U1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21waS9zcmMvZXhjZXB0aW9uLmNwcA0K
ICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21waS9zcmMvcGFj
a2VkX3NrZWxldG9uX29hcmNoaXZlLmNwcA0KICAgICsNCiAgICArIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMNCiAgICArIyBCb29zdCBzb3VyY2VzIC0gbGlicyAtIGNvcm91dGluZQ0KICAgICsjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIw0KICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1Rf
U1JDKS9saWJzL2Nvcm91dGluZS9zcmMvZXhjZXB0aW9ucy5jcHANCiAgICArI0xJQkJPT1NUX1NS
Q1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9jb3JvdXRpbmUvc3JjL3Bvc2l4L3N0YWNrX3Ry
YWl0cy5jcHANCiAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9j
b3JvdXRpbmUvc3JjL2RldGFpbC9jb3JvdXRpbmVfY29udGV4dC5jcHANCiAgICAtLSANCiAgICAy
LjIwLjENCiAgICANCiAgICANCg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMu
eGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3Rp
bmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Tue Dec 17 14:12:04 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 17 Dec 2019 14:12:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ihDZz-0001mS-Tc; Tue, 17 Dec 2019 14:12:03 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=V9/Z=2H=neclab.eu=felipe.huici@srs-us1.protection.inumbo.net>)
 id 1ihDZx-0001mJ-VF
 for minios-devel@lists.xen.org; Tue, 17 Dec 2019 14:12:01 +0000
X-Inumbo-ID: 30b599ba-20d7-11ea-8ed5-12813bfff9fa
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 30b599ba-20d7-11ea-8ed5-12813bfff9fa;
 Tue, 17 Dec 2019 14:12:00 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 2F649F2031;
 Tue, 17 Dec 2019 15:11:59 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-b.office.hd)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id EbiZd5MFoJHp; Tue, 17 Dec 2019 15:11:59 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from Oberon.office.hd (Oberon.office.hd [192.168.24.90])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id E9EC7F2030;
 Tue, 17 Dec 2019 15:11:54 +0100 (CET)
Received: from oberon.office.hd (192.168.24.90) by Oberon.office.hd
 (192.168.24.90) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 17 Dec
 2019 15:11:54 +0100
Received: from oberon.office.hd ([192.168.126.11]) by Oberon.office.hd
 ([192.168.126.11]) with mapi id 15.01.1713.009; Tue, 17 Dec 2019 15:11:54
 +0100
From: Felipe Huici <Felipe.Huici@neclab.eu>
To: =?utf-8?B?VmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIp?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>, "minios-devel@lists.xen.org"
 <minios-devel@lists.xen.org>
Thread-Topic: [UNIKRAFT/BOOST PATCH 3/6] Add gluecode
Thread-Index: AQHVr7qD7ywZCP62uEuTvsA8krwEPKe+aGkA
Date: Tue, 17 Dec 2019 14:11:54 +0000
Message-ID: <F4AE065C-1179-40CC-BABA-616B084B0030@neclab.eu>
References: <20191211003233.27192-1-vlad_andrei.badoiu@stud.acs.upb.ro>
 <20191211003233.27192-4-vlad_andrei.badoiu@stud.acs.upb.ro>
In-Reply-To: <20191211003233.27192-4-vlad_andrei.badoiu@stud.acs.upb.ro>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: Microsoft-MacOutlook/10.10.10.191111
x-originating-ip: [192.168.24.96]
Content-ID: <66739A66CD184A45A28214ABB6D01274@office.hd>
MIME-Version: 1.0
Subject: Re: [Minios-devel] [UNIKRAFT/BOOST PATCH 3/6] Add gluecode
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgVmxhZCwNCg0KSWYgd2UgcmV0dXJuIDAgKHN1Y2Nlc3MpLCB3b24ndCB0aGlzIHBvdGVudGlh
bGx5IGNhdXNlIGNyYXNoZXMsIHNpbmNlIHRoZSBjYWxsZXIgd2lsbCBleHBlY3QgZmxhZ3AgdG8g
YmUgc2V0Pw0KDQotLSBGZWxpcGUNCg0K77u/T24gMTEuMTIuMTksIDAxOjMyLCAiVmxhZC1BbmRy
ZWkgQsSCRE9JVSAoNzg2OTIpIiA8dmxhZF9hbmRyZWkuYmFkb2l1QHN0dWQuYWNzLnVwYi5ybz4g
d3JvdGU6DQoNCiAgICBTaWduZWQtb2ZmLWJ5OiBWbGFkLUFuZHJlaSBCYWRvaXUgPHZsYWRfYW5k
cmVpLmJhZG9pdUBzdHVkLmFjcy51cGIucm8+DQogICAgLS0tDQogICAgIGdsdWUuY3BwIHwgNiAr
KysrKysNCiAgICAgMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKQ0KICAgICBjcmVhdGUg
bW9kZSAxMDA2NDQgZ2x1ZS5jcHANCiAgICANCiAgICBkaWZmIC0tZ2l0IGEvZ2x1ZS5jcHAgYi9n
bHVlLmNwcA0KICAgIG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQogICAgaW5kZXggMDAwMDAwMC4uZDAx
ODYwYw0KICAgIC0tLSAvZGV2L251bGwNCiAgICArKysgYi9nbHVlLmNwcA0KICAgIEBAIC0wLDAg
KzEsNiBAQA0KICAgICsjaW5jbHVkZSA8ZmVudi5oPg0KICAgICsNCiAgICAraW50IGZlZ2V0ZXhj
ZXB0ZmxhZyhmZXhjZXB0X3QgKmZsYWdwLCBpbnQgZXhjZXB0cykNCiAgICArew0KICAgICsJcmV0
dXJuIDA7DQogICAgK30NCiAgICAtLSANCiAgICAyLjIwLjENCiAgICANCiAgICANCg0KX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1h
aWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0
cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Tue Dec 17 14:12:52 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 17 Dec 2019 14:12:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ihDam-0001qU-1K; Tue, 17 Dec 2019 14:12:52 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=V9/Z=2H=neclab.eu=felipe.huici@srs-us1.protection.inumbo.net>)
 id 1ihDak-0001qJ-5N
 for minios-devel@lists.xen.org; Tue, 17 Dec 2019 14:12:50 +0000
X-Inumbo-ID: 48cf3c18-20d7-11ea-b6f1-bc764e2007e4
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 48cf3c18-20d7-11ea-b6f1-bc764e2007e4;
 Tue, 17 Dec 2019 14:12:40 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id BE5E6F2031;
 Tue, 17 Dec 2019 15:12:39 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-b.office.hd)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id Js3pT2MsIw47; Tue, 17 Dec 2019 15:12:39 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from puck.office.hd (puck.office.hd [192.168.24.91])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 8B925F2030;
 Tue, 17 Dec 2019 15:12:35 +0100 (CET)
Received: from oberon.office.hd (192.168.24.90) by puck.office.hd
 (192.168.24.91) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 17 Dec
 2019 15:12:35 +0100
Received: from oberon.office.hd ([192.168.126.11]) by Oberon.office.hd
 ([192.168.126.11]) with mapi id 15.01.1713.009; Tue, 17 Dec 2019 15:12:35
 +0100
From: Felipe Huici <Felipe.Huici@neclab.eu>
To: =?utf-8?B?VmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIp?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>, "minios-devel@lists.xen.org"
 <minios-devel@lists.xen.org>
Thread-Topic: [UNIKRAFT/BOOST PATCH 4/6] Add fenv.h header
Thread-Index: AQHVr7qErx3BHCpnI0y4n3UyZT7CZqe+aJgA
Date: Tue, 17 Dec 2019 14:12:34 +0000
Message-ID: <1F12B9C7-7C44-48CF-A6D3-721D73E70DE2@neclab.eu>
References: <20191211003233.27192-1-vlad_andrei.badoiu@stud.acs.upb.ro>
 <20191211003233.27192-5-vlad_andrei.badoiu@stud.acs.upb.ro>
In-Reply-To: <20191211003233.27192-5-vlad_andrei.badoiu@stud.acs.upb.ro>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: Microsoft-MacOutlook/10.10.10.191111
x-originating-ip: [192.168.24.96]
Content-ID: <8E3677488D19604C844FF1B9258F8333@office.hd>
MIME-Version: 1.0
Subject: Re: [Minios-devel] [UNIKRAFT/BOOST PATCH 4/6] Add fenv.h header
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgVmxhZCwgdGhpcyBwYXRjaCBsb29rcyBnb29kLiAgDQoNClJldmlld2VkLWJ5OiBGZWxpcGUg
SHVpY2kgPGZlbGlwZS5odWljaUBuZWNsYWIuZXU+DQoNCu+7v09uIDExLjEyLjE5LCAwMTozMiwg
IlZsYWQtQW5kcmVpIELEgkRPSVUgKDc4NjkyKSIgPHZsYWRfYW5kcmVpLmJhZG9pdUBzdHVkLmFj
cy51cGIucm8+IHdyb3RlOg0KDQogICAgU2lnbmVkLW9mZi1ieTogVmxhZC1BbmRyZWkgQmFkb2l1
IDx2bGFkX2FuZHJlaS5iYWRvaXVAc3R1ZC5hY3MudXBiLnJvPg0KICAgIC0tLQ0KICAgICBpbmNs
dWRlL2ZlbnYuaCB8IDYwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrDQogICAgIDEgZmlsZSBjaGFuZ2VkLCA2MCBpbnNlcnRpb25zKCspDQogICAgIGNy
ZWF0ZSBtb2RlIDEwMDY0NCBpbmNsdWRlL2ZlbnYuaA0KICAgIA0KICAgIGRpZmYgLS1naXQgYS9p
bmNsdWRlL2ZlbnYuaCBiL2luY2x1ZGUvZmVudi5oDQogICAgbmV3IGZpbGUgbW9kZSAxMDA2NDQN
CiAgICBpbmRleCAwMDAwMDAwLi4yMDdiZjg0DQogICAgLS0tIC9kZXYvbnVsbA0KICAgICsrKyBi
L2luY2x1ZGUvZmVudi5oDQogICAgQEAgLTAsMCArMSw2MCBAQA0KICAgICsvKiBTUERYLUxpY2Vu
c2UtSWRlbnRpZmllcjogTUlUICovICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgKy8qIC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiAgICAr
ICogQ29weXJpZ2h0IDxDMj48QTk+IDIwMDUtMjAxNCBSaWNoIEZlbGtlciwgZXQgYWwuDQogICAg
KyAqDQogICAgKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdl
LCB0byBhbnkgcGVyc29uIG9idGFpbmluZw0KICAgICsgKiBhIGNvcHkgb2YgdGhpcyBzb2Z0d2Fy
ZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUNCiAgICArICogIlNvZnR3
YXJlIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1
ZGluZw0KICAgICsgKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHks
IG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsDQogICAgKyAqIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2Us
IGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0bw0KICAgICsgKiBwZXJt
aXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1
YmplY3QgdG8NCiAgICArICogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOg0KICAgICsgKg0KICAg
ICsgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGlj
ZSBzaGFsbCBiZQ0KICAgICsgKiBpbmNsdWRlZCBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFs
IHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4NCiAgICArICoNCiAgICArICogVEhFIFNPRlRXQVJF
IElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsDQogICAg
KyAqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUg
V0FSUkFOVElFUyBPRg0KICAgICsgKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuDQogICAgKyAqIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5Z
DQogICAgKyAqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBB
TiBBQ1RJT04gT0YgQ09OVFJBQ1QsDQogICAgKyAqIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5H
IEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFDQogICAgKyAqIFNPRlRXQVJF
IE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLg0KICAgICsgKiAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tDQogICAgKyAqLw0KICAgICsvKiBUYWtlbiBmcm9tIG11c2wtMS4xLjE5ICov
DQogICAgKw0KICAgICsjZGVmaW5lIEZFX0lOVkFMSUQgICAgMQ0KICAgICsjZGVmaW5lIF9fRkVf
REVOT1JNICAgMg0KICAgICsjZGVmaW5lIEZFX0RJVkJZWkVSTyAgNA0KICAgICsjZGVmaW5lIEZF
X09WRVJGTE9XICAgOA0KICAgICsjZGVmaW5lIEZFX1VOREVSRkxPVyAgMTYNCiAgICArI2RlZmlu
ZSBGRV9JTkVYQUNUICAgIDMyDQogICAgKw0KICAgICsvLyNkZWZpbmUgRkVfQUxMX0VYQ0VQVCA2
Mw0KICAgICsNCiAgICArI2RlZmluZSBGRV9UT05FQVJFU1QgIDANCiAgICArI2RlZmluZSBGRV9E
T1dOV0FSRCAgIDB4NDAwDQogICAgKyNkZWZpbmUgRkVfVVBXQVJEICAgICAweDgwMA0KICAgICsj
ZGVmaW5lIEZFX1RPV0FSRFpFUk8gMHhjMDANCiAgICArDQogICAgK3R5cGVkZWYgdW5zaWduZWQg
c2hvcnQgZmV4Y2VwdF90Ow0KICAgICsNCiAgICArdHlwZWRlZiBzdHJ1Y3Qgew0KICAgICsJdW5z
aWduZWQgc2hvcnQgX19jb250cm9sX3dvcmQ7DQogICAgKwl1bnNpZ25lZCBzaG9ydCBfX3VudXNl
ZDE7DQogICAgKwl1bnNpZ25lZCBzaG9ydCBfX3N0YXR1c193b3JkOw0KICAgICsJdW5zaWduZWQg
c2hvcnQgX191bnVzZWQyOw0KICAgICsJdW5zaWduZWQgc2hvcnQgX190YWdzOw0KICAgICsJdW5z
aWduZWQgc2hvcnQgX191bnVzZWQzOw0KICAgICsJdW5zaWduZWQgaW50IF9fZWlwOw0KICAgICsJ
dW5zaWduZWQgc2hvcnQgX19jc19zZWxlY3RvcjsNCiAgICArCXVuc2lnbmVkIGludCBfX29wY29k
ZToxMTsNCiAgICArCXVuc2lnbmVkIGludCBfX3VudXNlZDQ6NTsNCiAgICArCXVuc2lnbmVkIGlu
dCBfX2RhdGFfb2Zmc2V0Ow0KICAgICsJdW5zaWduZWQgc2hvcnQgX19kYXRhX3NlbGVjdG9yOw0K
ICAgICsJdW5zaWduZWQgc2hvcnQgX191bnVzZWQ1Ow0KICAgICsJdW5zaWduZWQgaW50IF9fbXhj
c3I7DQogICAgK30gZmVudl90Ow0KICAgICsNCiAgICArI2RlZmluZSBGRV9ERkxfRU5WICAgICAg
KChjb25zdCBmZW52X3QgKikgLTEpDQogICAgLS0gDQogICAgMi4yMC4xDQogICAgDQogICAgDQoN
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1k
ZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBz
Oi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Tue Dec 17 14:13:26 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 17 Dec 2019 14:13:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ihDbK-0001sI-45; Tue, 17 Dec 2019 14:13:26 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=V9/Z=2H=neclab.eu=felipe.huici@srs-us1.protection.inumbo.net>)
 id 1ihDbI-0001sD-TA
 for minios-devel@lists.xen.org; Tue, 17 Dec 2019 14:13:24 +0000
X-Inumbo-ID: 5e17879c-20d7-11ea-b6f1-bc764e2007e4
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 5e17879c-20d7-11ea-b6f1-bc764e2007e4;
 Tue, 17 Dec 2019 14:13:16 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 743D5104AAE;
 Tue, 17 Dec 2019 15:13:15 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-a.office.hd)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id KJOJT_Qv3Cqb; Tue, 17 Dec 2019 15:13:15 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from Oberon.office.hd (Oberon.office.hd [192.168.24.90])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 48EE41039E6;
 Tue, 17 Dec 2019 15:13:15 +0100 (CET)
Received: from oberon.office.hd (192.168.24.90) by Oberon.office.hd
 (192.168.24.90) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 17 Dec
 2019 15:13:14 +0100
Received: from oberon.office.hd ([192.168.126.11]) by Oberon.office.hd
 ([192.168.126.11]) with mapi id 15.01.1713.009; Tue, 17 Dec 2019 15:13:14
 +0100
From: Felipe Huici <Felipe.Huici@neclab.eu>
To: =?utf-8?B?VmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIp?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>, "minios-devel@lists.xen.org"
 <minios-devel@lists.xen.org>
Thread-Topic: [UNIKRAFT/BOOST PATCH 5/6] Add patches
Thread-Index: AQHVr7qESRhuRMEbn0S0CLp5IAXxK6e+aMgA
Date: Tue, 17 Dec 2019 14:13:14 +0000
Message-ID: <B60E1FEA-6DE9-4AB5-8032-B5D323FACF4C@neclab.eu>
References: <20191211003233.27192-1-vlad_andrei.badoiu@stud.acs.upb.ro>
 <20191211003233.27192-6-vlad_andrei.badoiu@stud.acs.upb.ro>
In-Reply-To: <20191211003233.27192-6-vlad_andrei.badoiu@stud.acs.upb.ro>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: Microsoft-MacOutlook/10.10.10.191111
x-originating-ip: [192.168.24.96]
Content-ID: <143542DA50BA2B40A571CFBA46AB958D@office.hd>
MIME-Version: 1.0
Subject: Re: [Minios-devel] [UNIKRAFT/BOOST PATCH 5/6] Add patches
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgVmxhZCwgdGhpcyBwYXRjaCBsb29rcyBnb29kLiAgDQoNClJldmlld2VkLWJ5OiBGZWxpcGUg
SHVpY2kgPGZlbGlwZS5odWljaUBuZWNsYWIuZXU+DQrvu78NCk9uIDExLjEyLjE5LCAwMTozMiwg
IlZsYWQtQW5kcmVpIELEgkRPSVUgKDc4NjkyKSIgPHZsYWRfYW5kcmVpLmJhZG9pdUBzdHVkLmFj
cy51cGIucm8+IHdyb3RlOg0KDQogICAgU2lnbmVkLW9mZi1ieTogVmxhZC1BbmRyZWkgQmFkb2l1
IDx2bGFkX2FuZHJlaS5iYWRvaXVAc3R1ZC5hY3MudXBiLnJvPg0KICAgIC0tLQ0KICAgICAuLi5v
bnZlcnQtcHRlX2hhbmRsZV90LXRvLXVuc2lnbmVkLWxvbmcucGF0Y2ggfCAyNiArKysrKysrKysr
KysrKysrKysrDQogICAgIDEgZmlsZSBjaGFuZ2VkLCAyNiBpbnNlcnRpb25zKCspDQogICAgIGNy
ZWF0ZSBtb2RlIDEwMDY0NCBwYXRjaGVzLzAwMDEtQ29udmVydC1wdGVfaGFuZGxlX3QtdG8tdW5z
aWduZWQtbG9uZy5wYXRjaA0KICAgIA0KICAgIGRpZmYgLS1naXQgYS9wYXRjaGVzLzAwMDEtQ29u
dmVydC1wdGVfaGFuZGxlX3QtdG8tdW5zaWduZWQtbG9uZy5wYXRjaCBiL3BhdGNoZXMvMDAwMS1D
b252ZXJ0LXB0ZV9oYW5kbGVfdC10by11bnNpZ25lZC1sb25nLnBhdGNoDQogICAgbmV3IGZpbGUg
bW9kZSAxMDA2NDQNCiAgICBpbmRleCAwMDAwMDAwLi43ZjUyOTNhDQogICAgLS0tIC9kZXYvbnVs
bA0KICAgICsrKyBiL3BhdGNoZXMvMDAwMS1Db252ZXJ0LXB0ZV9oYW5kbGVfdC10by11bnNpZ25l
ZC1sb25nLnBhdGNoDQogICAgQEAgLTAsMCArMSwyNiBAQA0KICAgICtGcm9tIDg5NGZkM2E2MmYy
ZmY2ZTcwMmQ2ZmYwZTJhNjMxODJmYTQ1ZWEyMTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxDQog
ICAgK0Zyb206IFZsYWQtQW5kcmVpIEJhZG9pdSA8dmxhZF9hbmRyZWkuYmFkb2l1QHN0dWQuYWNz
LnVwYi5ybz4NCiAgICArRGF0ZTogU2F0LCA5IE5vdiAyMDE5IDAwOjMzOjUyICswMjAwDQogICAg
K1N1YmplY3Q6IFtQQVRDSCAxLzFdIENvbnZlcnQgcHRlX2hhbmRsZV90IHRvIHVuc2lnbmVkIGxv
bmcNCiAgICArDQogICAgK1NpZ25lZC1vZmYtYnk6IFZsYWQtQW5kcmVpIEJhZG9pdSA8dmxhZF9h
bmRyZWkuYmFkb2l1QHN0dWQuYWNzLnVwYi5ybz4NCiAgICArLS0tDQogICAgKyBib29zdC90aHJl
YWQvZGV0YWlsL3RocmVhZC5ocHAgfCAyICstDQogICAgKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNl
cnRpb24oKyksIDEgZGVsZXRpb24oLSkNCiAgICArDQogICAgK2RpZmYgLS1naXQgYS9ib29zdC90
aHJlYWQvZGV0YWlsL3RocmVhZC5ocHAgYi9ib29zdC90aHJlYWQvZGV0YWlsL3RocmVhZC5ocHAN
CiAgICAraW5kZXggMDQyMjNlZDI2Li4yYmUwYmM0YzYgMTAwNjQ0DQogICAgKy0tLSBhL2Jvb3N0
L3RocmVhZC9kZXRhaWwvdGhyZWFkLmhwcA0KICAgICsrKysgYi9ib29zdC90aHJlYWQvZGV0YWls
L3RocmVhZC5ocHANCiAgICArQEAgLTYwNiw3ICs2MDYsNyBAQCBuYW1lc3BhY2UgYm9vc3QNCiAg
ICArICAgICAgICAgaGFzaF92YWx1ZShjb25zdCB0aHJlYWQ6OmlkICZ2KQ0KICAgICsgICAgICAg
ICB7DQogICAgKyAjaWYgZGVmaW5lZCBCT09TVF9USFJFQURfUFJPVklERVNfQkFTSUNfVEhSRUFE
X0lEDQogICAgKy0gICAgICAgICAgcmV0dXJuIGhhc2hfdmFsdWUodi50aHJlYWRfZGF0YSk7DQog
ICAgKysgICAgICAgICAgcmV0dXJuIGhhc2hfdmFsdWUoKigodW5zaWduZWQgbG9uZyAqKShwdGVf
aGFuZGxlX3QgKikmdi50aHJlYWRfZGF0YSkpOw0KICAgICsgI2Vsc2UNCiAgICArICAgICAgICAg
ICByZXR1cm4gaGFzaF92YWx1ZSh2LnRocmVhZF9kYXRhLmdldCgpKTsNCiAgICArICNlbmRpZg0K
ICAgICstLSANCiAgICArMi4yMC4xDQogICAgKw0KICAgIC0tIA0KICAgIDIuMjAuMQ0KICAgIA0K
ICAgIA0KDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpN
aW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9y
ZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRl
dmVs

From minios-devel-bounces@lists.xenproject.org Tue Dec 17 14:13:50 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 17 Dec 2019 14:13:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ihDbi-0001ui-Ex; Tue, 17 Dec 2019 14:13:50 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=V9/Z=2H=neclab.eu=felipe.huici@srs-us1.protection.inumbo.net>)
 id 1ihDbh-0001ua-MV
 for minios-devel@lists.xen.org; Tue, 17 Dec 2019 14:13:49 +0000
X-Inumbo-ID: 715220b0-20d7-11ea-8ed5-12813bfff9fa
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 715220b0-20d7-11ea-8ed5-12813bfff9fa;
 Tue, 17 Dec 2019 14:13:48 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id B073E1039E6;
 Tue, 17 Dec 2019 15:13:47 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-a.office.hd)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id A5fiCmW2yGsw; Tue, 17 Dec 2019 15:13:47 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from puck.office.hd (puck.office.hd [192.168.24.91])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 6F6B3104B0C;
 Tue, 17 Dec 2019 15:13:47 +0100 (CET)
Received: from oberon.office.hd (192.168.24.90) by puck.office.hd
 (192.168.24.91) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 17 Dec
 2019 15:13:47 +0100
Received: from oberon.office.hd ([192.168.126.11]) by Oberon.office.hd
 ([192.168.126.11]) with mapi id 15.01.1713.009; Tue, 17 Dec 2019 15:13:47
 +0100
From: Felipe Huici <Felipe.Huici@neclab.eu>
To: =?utf-8?B?VmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIp?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>, "minios-devel@lists.xen.org"
 <minios-devel@lists.xen.org>
Thread-Topic: [UNIKRAFT/BOOST PATCH 6/6] README.md: Update with info about
 building
Thread-Index: AQHVr7qEpo8gW06vH06sZ6yE5AoHMKe+aO4A
Date: Tue, 17 Dec 2019 14:13:46 +0000
Message-ID: <AD1CEF98-BABB-4517-A58A-B4BB63150099@neclab.eu>
References: <20191211003233.27192-1-vlad_andrei.badoiu@stud.acs.upb.ro>
 <20191211003233.27192-7-vlad_andrei.badoiu@stud.acs.upb.ro>
In-Reply-To: <20191211003233.27192-7-vlad_andrei.badoiu@stud.acs.upb.ro>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: Microsoft-MacOutlook/10.10.10.191111
x-originating-ip: [192.168.24.96]
Content-ID: <E1AFD30D5B32714492CBF974A017287B@office.hd>
MIME-Version: 1.0
Subject: Re: [Minios-devel] [UNIKRAFT/BOOST PATCH 6/6] README.md: Update
 with info about building
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgVmxhZCwNCg0KWW91J3JlIG1pc3NpbmcgcHRocmVhZC9wdGhyZWFkLWVtYmVkZGVkIGFzIGEg
ZGVwZW5kZW5jeS4NCg0KLS0gRmVsaXBlDQoNCu+7v09uIDExLjEyLjE5LCAwMTozMiwgIlZsYWQt
QW5kcmVpIELEgkRPSVUgKDc4NjkyKSIgPHZsYWRfYW5kcmVpLmJhZG9pdUBzdHVkLmFjcy51cGIu
cm8+IHdyb3RlOg0KDQogICAgU2lnbmVkLW9mZi1ieTogVmxhZC1BbmRyZWkgQmFkb2l1IDx2bGFk
X2FuZHJlaS5iYWRvaXVAc3R1ZC5hY3MudXBiLnJvPg0KICAgIC0tLQ0KICAgICBSRUFETUUubWQg
fCA2ICsrKysrKw0KICAgICAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspDQogICAgDQog
ICAgZGlmZiAtLWdpdCBhL1JFQURNRS5tZCBiL1JFQURNRS5tZA0KICAgIGluZGV4IDhkMzA5ZTku
LjA5NTQzYTIgMTAwNjQ0DQogICAgLS0tIGEvUkVBRE1FLm1kDQogICAgKysrIGIvUkVBRE1FLm1k
DQogICAgQEAgLTMsNSArMywxMSBAQCBib29zdCBmb3IgVW5pa3JhZnQNCiAgICAgDQogICAgIFRo
aXMgaXMgdGhlIHBvcnQgb2YgYm9vc3QgZm9yIFVuaWtyYWZ0IGFzIGV4dGVybmFsIGxpYnJhcnku
DQogICAgIA0KICAgICsjIyBCdWlsZA0KICAgICtpbnR4IGRlcGVuZHMgb24gdGhlIGZvbGxvd2lu
ZyBsaWJyYXJpZXMsIHRoYXQgbmVlZCB0byBiZSBhZGRlZCB0byBgTWFrZWZpbGVgIGluIHRoaXMg
b3JkZXI6DQogICAgKyogQ1hYIHN0YW5kYXJkIGxpYnJhcnksIGUuZy4gYGxpYnVud2luZGAsIGBj
b21waWxlci1ydGAsIGBsaWJjeHhhYmlgLCBgbGliY3h4YA0KICAgICsqIGBsaWJjYCwgZS5nLiBg
bmV3bGliYA0KICAgICsqIFNJTUQgaW50cmluc2ljcywgZS5nLiBgaW50ZWwtaW50cmluaWNzYCAN
CiAgICArDQogICAgIFBsZWFzZSByZWZlciB0byB0aGUgYFJFQURNRS5tZGAgYXMgd2VsbCBhcyB0
aGUgZG9jdW1lbnRhdGlvbiBpbiB0aGUgYGRvYy9gDQogICAgIHN1YmRpcmVjdG9yeSBvZiB0aGUg
bWFpbiB1bmlrcmFmdCByZXBvc2l0b3J5Lg0KICAgIC0tIA0KICAgIDIuMjAuMQ0KICAgIA0KICAg
IA0KDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5p
b3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpo
dHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Tue Dec 17 17:05:13 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 17 Dec 2019 17:05:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ihGHY-0004zF-Aj; Tue, 17 Dec 2019 17:05:12 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=V2zh=2H=stud.acs.upb.ro=vlad_andrei.badoiu@srs-us1.protection.inumbo.net>)
 id 1ihGHW-0004zA-OP
 for minios-devel@lists.xen.org; Tue, 17 Dec 2019 17:05:10 +0000
X-Inumbo-ID: 5f7bea0c-20ef-11ea-8f24-12813bfff9fa
Received: from EUR01-HE1-obe.outbound.protection.outlook.com (unknown
 [40.107.13.75]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 5f7bea0c-20ef-11ea-8f24-12813bfff9fa;
 Tue, 17 Dec 2019 17:05:07 +0000 (UTC)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=c9nFrAt8f4yW/FdM32v12nCnAmxXfDLlktr5bzh4BWsvUpsqUrjE1cLOIxL3HrJBCX3qs1kk9SRPrzDPXqT6O1Gjt8FAyR/Q4J/ttFYfsF7fgxQw4c3nxoqOHBX5P97tBNxAsTh3o5ITTuaigebNOnTDTutgo8DgE7/5wRCqfhC/zTeLb1GrQWLAtKIOKg1oVprKou5AhRBOcTnMbOnJT8DhppkSMU0r0MapG140bNe1zTT1ijr+nE1xKIO+CwcJbE7yCcBq48zle6+7i3aP/5EArBYYdmA4wuuJVDCWa6nTMJWBp2EiTKUMOO8BZ7MPzsYl3E512lrsGiu+cJCNHw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wR6EOE5u/wxJlcFD7GBkxf2+hv9uLrkY5NqNP/DQ8t8=;
 b=c+UOdeolRzjls9GMjWRHEZN5A4B33bC1o8+c+UBZ0eKIn0EJdMCLJzsGnIF42bZ//nb2YEVQ1e1ziog7IaVcxdDifdKgu1LRNc25uadZiJwlB4Zxw/SNYoaphUgW2xKt5zB/Vlo7mBOde5zRAa+5iJ7R4vrBmpRF9WvGS9pdRVVTXq/Qkvr9ePES+rzmZSuMmD5ka9bhIPuwFh9/OcNVQjulzp3Xn0gSJeU+XQ8QL+M2GO0BhbZLBz99W0yTkidZBtmd2oUrV9syhIAcWdg9bpxZEjML+XdAKZBl+phmYmUBitqTXehTQpU/B+/pFU1kAiieEX3bhJy4Qy2nLOTx5A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=stud.acs.upb.ro; dmarc=pass action=none
 header.from=stud.acs.upb.ro; dkim=pass header.d=stud.acs.upb.ro; arc=none
Received: from AM6PR01MB4198.eurprd01.prod.exchangelabs.com (20.176.243.147)
 by AM6PR01MB5126.eurprd01.prod.exchangelabs.com (20.178.95.213) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2538.18; Tue, 17 Dec
 2019 17:05:03 +0000
Received: from AM6PR01MB4198.eurprd01.prod.exchangelabs.com
 ([fe80::c874:8601:87ed:369d]) by AM6PR01MB4198.eurprd01.prod.exchangelabs.com
 ([fe80::c874:8601:87ed:369d%6]) with mapi id 15.20.2538.019; Tue, 17 Dec 2019
 17:05:03 +0000
From: =?iso-8859-2?Q?Vlad-Andrei_B=C3DOIU_=2878692=29?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
To: "minios-devel@lists.xen.org" <minios-devel@lists.xen.org>
Thread-Topic: [UNIKRAFT/NEWLIB PATCH 0/2] Fix stdatomic.h
Thread-Index: AQHVtPwfByaGQfTd7UmF5FyCZ1sQMw==
Date: Tue, 17 Dec 2019 17:05:03 +0000
Message-ID: <20191217170455.1606-1-vlad_andrei.badoiu@stud.acs.upb.ro>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-clientproxiedby: AM4PR05CA0031.eurprd05.prod.outlook.com (2603:10a6:205::44)
 To AM6PR01MB4198.eurprd01.prod.exchangelabs.com
 (2603:10a6:20b:26::19)
authentication-results: spf=none (sender IP is )
 smtp.mailfrom=vlad_andrei.badoiu@stud.acs.upb.ro; 
x-ms-exchange-messagesentrepresentingtype: 1
x-mailer: git-send-email 2.20.1
x-originating-ip: [2a02:2f0b:8303:7b00:1912:8156:9a03:fda9]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 6aa4592f-5611-4460-1d0e-08d7831341dd
x-ms-traffictypediagnostic: AM6PR01MB5126:
x-ms-exchange-transport-forked: True
x-microsoft-antispam-prvs: <AM6PR01MB5126DE525DF09CE7BE6E79BCA6500@AM6PR01MB5126.eurprd01.prod.exchangelabs.com>
x-ms-oob-tlc-oobclassifiers: OLM:4714;
x-forefront-prvs: 02543CD7CD
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(396003)(346002)(366004)(136003)(376002)(39840400004)(189003)(199004)(508600001)(2616005)(6486002)(71200400001)(1076003)(52116002)(8676002)(81166006)(81156014)(86362001)(6916009)(6512007)(2906002)(4326008)(8936002)(316002)(786003)(66946007)(66556008)(54906003)(4744005)(186003)(66446008)(5660300002)(6506007)(64756008)(66476007);
 DIR:OUT; SFP:1101; SCL:1; SRVR:AM6PR01MB5126;
 H:AM6PR01MB4198.eurprd01.prod.exchangelabs.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; MX:1; A:0; 
received-spf: None (protection.outlook.com: stud.acs.upb.ro does not designate
 permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: CVLN5E0EAG3pZjUt39FYNFy4zO6bKesTS5d1gHA1dc1O1w+oeMPcoDdQxzUu8wMm5JhoNgJEaDV5LFdIw3o63R0AYkWsNibcQZL7fYcQJrrUzjkd1TFAG3ObVjUH/c2zae9KeOZQqO6Rt0lLqJzs6dZvIbqd+ohZyXw55vsxu3lCCrr1vT94ukJHBzTX43FfIS2GbQJprvfcaVWSKdGqSb2Pwcab4s6SIKSenmAgVXzD8vifSWO04fCrWZezxveDAmn6sBA9VfbdwoXCULViZYrUysSutDlBEoTyTNdlRYtGx41EHYvjKy3bVXYul1yv1Mcw1NzHYqwQLlBjrsNgfuUyTHK9KHDq6AJFDPZBaMY/SDlKSEj+KsMsmKA2YOydHbPMSZo9cwLmHOitX5aHbz+bfRX73yfx1Y8nAW0wSOX2HKqpclgBiQW6q+Ly1Al5
MIME-Version: 1.0
X-OriginatorOrg: stud.acs.upb.ro
X-MS-Exchange-CrossTenant-Network-Message-Id: 6aa4592f-5611-4460-1d0e-08d7831341dd
X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Dec 2019 17:05:03.0790 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 2d8cc8ba-8dda-4334-9e5c-fac2092e9bac
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: InutR/+gRvhOiPXs+nggNbAQPcb6eKbL3pfh/mkqgOb0W05yTI3CH7sGaN6LNy9OoQXpj9+ayQCINsjF+ZNj2eTDEuCyPl15YgmLH4o68aD0iRtP/qjoh+NaVd8IPbpO
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR01MB5126
Subject: [Minios-devel] [UNIKRAFT/NEWLIB PATCH 0/2] Fix stdatomic.h
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: "felipe.huici@neclab.eu" <felipe.huici@neclab.eu>,
 "simon.kuenzer@neclab.eu" <simon.kuenzer@neclab.eu>,
 =?iso-8859-2?Q?Vlad-Andrei_B=C3DOIU_=2878692=29?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>,
 "costin.lupu@cs.pub.ro" <costin.lupu@cs.pub.ro>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhpcyBwYXRjaCBzZXJpZXMgZml4ZXMgdGhlIGJ1aWxkIHByb2JsZW1zIG9mIHN0ZGF0b21pYy5o
LgoKVmxhZC1BbmRyZWkgQmFkb2l1ICgyKToKICBJbmNsdWRlIHN0ZGludC5oIGluIHN5cy9fdHlw
ZXMuaAogIEFkZCBwYXRjaCB0byBmaXggYXRvbWljXyogZGVmaW5pdGlvbnMKCiBpbmNsdWRlL3N5
cy9fdHlwZXMuaCAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMSArCiAuLi4tc3RkYXRvbWlj
LmgtRml4LWF0b21pY18tZGVmaW5pdGlvbnMucGF0Y2ggfCA5MyArKysrKysrKysrKysrKysrKysr
CiAyIGZpbGVzIGNoYW5nZWQsIDk0IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBw
YXRjaGVzLzAwMDktc3RkYXRvbWljLmgtRml4LWF0b21pY18tZGVmaW5pdGlvbnMucGF0Y2gKCi0t
IAoyLjIwLjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0
Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9z
LWRldmVs

From minios-devel-bounces@lists.xenproject.org Tue Dec 17 17:05:17 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 17 Dec 2019 17:05:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ihGHd-00050N-Cc; Tue, 17 Dec 2019 17:05:17 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=V2zh=2H=stud.acs.upb.ro=vlad_andrei.badoiu@srs-us1.protection.inumbo.net>)
 id 1ihGHb-0004zb-OP
 for minios-devel@lists.xen.org; Tue, 17 Dec 2019 17:05:15 +0000
X-Inumbo-ID: 621e809f-20ef-11ea-8f24-12813bfff9fa
Received: from EUR01-HE1-obe.outbound.protection.outlook.com (unknown
 [40.107.13.75]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 621e809f-20ef-11ea-8f24-12813bfff9fa;
 Tue, 17 Dec 2019 17:05:10 +0000 (UTC)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jX0Gp3VyqIXZDG7OvMondjFHTqhJk1FG6kBP5cHoQtGDmgoaa4sEeZIMiKBzJmJ5fbyMi4CAtPYaCLAYj/5nIGazjiwCnpBDErcO5z29ebMnWnVFQGgcDAb3OU33EEYYIshbwN7dV6c7RRsYdT4oGKCfiQI+N81tkdiL8EYv+eMIbzSvA+MAXGf0VV/hik+E08NPlbk/b2nE6RenkWVbN/OV/Bxul4bKEgOfFYTiWwrPL3FctP6fu3AagH4rmLRqovKOUWqaUPLIxxneN/kInRjofGoQ3YkjonfEJu0foLzRvtH9wlf3fIOvMnM7E5VNqWENTbRX8gi6UDKacZRJcA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nEJZy7OlaLoLFb1LrOwYFFVRe61wpRI6auQcJLFi3Ng=;
 b=drFeTgOMjuuBvugpQGpzZyTuwSBqCTsfxZFSUUUhjSc2Nj4rXl/g0lMl6thRe5+Zn9uiytvpUsediSmYA2uaAY31AXanbspIBXuIoNfeRXxHbWmJPIVe8/kQQuvYKwag2m08tyhzFlWTYefNAX1EyTor59HZCley/zkZQIkR5jCzWUa2EUdXiKXaTleFJcr6FDoe83nbVTV8bgScbP3dP0wQn0z6DlcRd+6XXHeMfp3rhVv/3+E1Y3iOc3EOmUHcrmWl+afmsYJDuEaRpFN67+6zkCPhxf9ygmfDbq37U6WPgATv8RORr9j7XVjsSYZPWB5v/8bS1BKzh3T8mRktbw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=stud.acs.upb.ro; dmarc=pass action=none
 header.from=stud.acs.upb.ro; dkim=pass header.d=stud.acs.upb.ro; arc=none
Received: from AM6PR01MB4198.eurprd01.prod.exchangelabs.com (20.176.243.147)
 by AM6PR01MB5126.eurprd01.prod.exchangelabs.com (20.178.95.213) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2538.18; Tue, 17 Dec
 2019 17:05:05 +0000
Received: from AM6PR01MB4198.eurprd01.prod.exchangelabs.com
 ([fe80::c874:8601:87ed:369d]) by AM6PR01MB4198.eurprd01.prod.exchangelabs.com
 ([fe80::c874:8601:87ed:369d%6]) with mapi id 15.20.2538.019; Tue, 17 Dec 2019
 17:05:05 +0000
From: =?iso-8859-2?Q?Vlad-Andrei_B=C3DOIU_=2878692=29?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
To: "minios-devel@lists.xen.org" <minios-devel@lists.xen.org>
Thread-Topic: [UNIKRAFT/NEWLIB PATCH 1/2] Include stdint.h in sys/_types.h
Thread-Index: AQHVtPwgKSgqWJedR0yWZMH+pNEVcQ==
Date: Tue, 17 Dec 2019 17:05:03 +0000
Message-ID: <20191217170455.1606-2-vlad_andrei.badoiu@stud.acs.upb.ro>
References: <20191217170455.1606-1-vlad_andrei.badoiu@stud.acs.upb.ro>
In-Reply-To: <20191217170455.1606-1-vlad_andrei.badoiu@stud.acs.upb.ro>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-clientproxiedby: AM4PR05CA0031.eurprd05.prod.outlook.com (2603:10a6:205::44)
 To AM6PR01MB4198.eurprd01.prod.exchangelabs.com
 (2603:10a6:20b:26::19)
authentication-results: spf=none (sender IP is )
 smtp.mailfrom=vlad_andrei.badoiu@stud.acs.upb.ro; 
x-ms-exchange-messagesentrepresentingtype: 1
x-mailer: git-send-email 2.20.1
x-originating-ip: [2a02:2f0b:8303:7b00:1912:8156:9a03:fda9]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 767f34ae-2515-453f-ce12-08d783134268
x-ms-traffictypediagnostic: AM6PR01MB5126:
x-ms-exchange-transport-forked: True
x-microsoft-antispam-prvs: <AM6PR01MB512662C63FAE9F25D2983532A6500@AM6PR01MB5126.eurprd01.prod.exchangelabs.com>
x-ms-oob-tlc-oobclassifiers: OLM:800;
x-forefront-prvs: 02543CD7CD
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(396003)(346002)(366004)(136003)(376002)(39840400004)(189003)(199004)(508600001)(2616005)(6486002)(71200400001)(1076003)(52116002)(8676002)(81166006)(81156014)(86362001)(6916009)(6512007)(2906002)(4326008)(8936002)(316002)(786003)(66946007)(66556008)(54906003)(4744005)(186003)(66446008)(5660300002)(6506007)(64756008)(66476007);
 DIR:OUT; SFP:1101; SCL:1; SRVR:AM6PR01MB5126;
 H:AM6PR01MB4198.eurprd01.prod.exchangelabs.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; MX:1; A:0; 
received-spf: None (protection.outlook.com: stud.acs.upb.ro does not designate
 permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: qKgexjbAQ9q5ra7+tBfpqoKKXY4Z2hKPX6LklmXQeJjHHFJ/whIuVR89DrwcfVXsfNgbKINyPc6X85Qm6GEiXozlEF5eI+2/juGadLaMXzHaYN6E8ykdWsD0dUFd/7YuzvQmj7yHoBwQfEZDt1SVQWuiZIdN7x2osigXIxCVzuyjekmFrqu6YTJL3++LugqFYuCTnr/eiz9+5Cq+Qb+BzHmC2bdy9PFcuTUbrkJlHS1GWK7EkaJCjaAJiCISfUwau/cDFl+J7rbYWejAnDS8A2aLBk6AgYxH9kbkG9yayxptGB94Qt7hgIVoEMKr1fN6kJ4dC6Wlz696Y8V35IMauyR6vvcxPP0ojEcTmj8VGmK1ZEMp+mrOSj0iimgJekLhlH4P3wejmbRes6C6PKo4FfYbJDPZr1Y3pplblF79IZAb+4HmGh7mt5lNYsSXWGgZ
MIME-Version: 1.0
X-OriginatorOrg: stud.acs.upb.ro
X-MS-Exchange-CrossTenant-Network-Message-Id: 767f34ae-2515-453f-ce12-08d783134268
X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Dec 2019 17:05:04.0095 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 2d8cc8ba-8dda-4334-9e5c-fac2092e9bac
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: C+1/S4nLZWRDL2K23PGL/0sdPwzh7wupgDve5HQBL1zfw80+MQ8OwbfBjUmnnX9NQvym0/M+2ElDlNZRfAVMHurvg9Xs9xGT3p2O0XKore3nViO69B35wbUBw3+5lg7C
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR01MB5126
Subject: [Minios-devel] [UNIKRAFT/NEWLIB PATCH 1/2] Include stdint.h in
 sys/_types.h
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: "felipe.huici@neclab.eu" <felipe.huici@neclab.eu>,
 "simon.kuenzer@neclab.eu" <simon.kuenzer@neclab.eu>,
 =?iso-8859-2?Q?Vlad-Andrei_B=C3DOIU_=2878692=29?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>,
 "costin.lupu@cs.pub.ro" <costin.lupu@cs.pub.ro>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

c3RkYXRvbWljLmggZG9lcyBubyBsb25nZXIgYnVpbGQgYmVjYXVzZSBpdCdzIG1pc3NpbmcgdGhl
IGRlZmluaXRpb25zIG9mCnN0ZGludC5oIHRoYXQgc2hvdWxkIGNvbWUgd2l0aCBzeXMvdHlwZXMu
aAoKU2lnbmVkLW9mZi1ieTogVmxhZC1BbmRyZWkgQmFkb2l1IDx2bGFkX2FuZHJlaS5iYWRvaXVA
c3R1ZC5hY3MudXBiLnJvPgotLS0KIGluY2x1ZGUvc3lzL190eXBlcy5oIHwgMSArCiAxIGZpbGUg
Y2hhbmdlZCwgMSBpbnNlcnRpb24oKykKCmRpZmYgLS1naXQgYS9pbmNsdWRlL3N5cy9fdHlwZXMu
aCBiL2luY2x1ZGUvc3lzL190eXBlcy5oCmluZGV4IDk3MmE3ZGUuLjRiOTk1NjEgMTAwNjQ0Ci0t
LSBhL2luY2x1ZGUvc3lzL190eXBlcy5oCisrKyBiL2luY2x1ZGUvc3lzL190eXBlcy5oCkBAIC0z
Nyw2ICszNyw3IEBACiAKIC8qIFVzZSBVbmlrcmFmdCB0eXBlIGRlZmluaXRpb25zICovCiAjaW5j
bHVkZSA8dWsvX3R5cGVzLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CiAKIC8qIFByb3ZpZGUgX0NM
T0NLX1RfICovCiAjZGVmaW5lIF9DTE9DS19UXyBsb25nIC8qIGNsb2NrKCkgKi8KLS0gCjIuMjAu
MQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlv
cy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0
dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Tue Dec 17 17:05:22 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 17 Dec 2019 17:05:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ihGHi-00051F-Fs; Tue, 17 Dec 2019 17:05:22 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=V2zh=2H=stud.acs.upb.ro=vlad_andrei.badoiu@srs-us1.protection.inumbo.net>)
 id 1ihGHg-000516-SK
 for minios-devel@lists.xen.org; Tue, 17 Dec 2019 17:05:20 +0000
X-Inumbo-ID: 621e80a0-20ef-11ea-8f24-12813bfff9fa
Received: from EUR01-HE1-obe.outbound.protection.outlook.com (unknown
 [40.107.13.75]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 621e80a0-20ef-11ea-8f24-12813bfff9fa;
 Tue, 17 Dec 2019 17:05:12 +0000 (UTC)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=j5/nHyJnnlMqZ5DcUh7mndVrgw1cXXX3vRuOHeiufAdHiF67K0G4LQwMoLcw22Rkza2b8XcnISvD9vrh+rPyusjEbzrz4nw41bXTCICsH+0+b1MCG/e6GA7+mJa4rDYAU2B1WHAIG/9sWk8MWfaGsK7QO3BAHwy0o8Z5Od7M+SARdfIEyLdfNVJj1uc8GluNeJb7mU3ESz4vlo5X2FBskdx9YCuzciqyIewtFOd+Kimop2x3xSvOV/rad78wABNXjWQquaaDhYUF+eXI6Iph51b/Ki9Yc7gFzqg1SCaWeyfVcMbd3hvrmgTAVr+VbNpSEXgcT5YvbHXRV30NiSQyOg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rBmTMdJsDJ55nE8flRjqHZ5JcqZC0bSx1k0tzD25Ees=;
 b=oJAUrWkPsK8uaFxaSJWjz85OUbukmCgxQW5KamPfEgrEB6pAo9Km4c5tgL9TGAK83/yRXorkApwwGUUyps5QIIWw1kDU/A5MWfe0ZbtADYqXEu/YFzAhY69Wkod+HNbX9wVZrX+9PhWVI1c4S6W1LcUmTej0HJVtpElHtrCnmgyMFH8zRMWgtcSLHI4dyNHoJA60r1XM9sSZ90ftpzrA6JkW06A0rlZuh+rr+6qFCEy2wIED7w//IX9tXItTmiXFMt9Zv9T1xmQ3BY4tMzleT8uqyxGOwMQa92leeqhnNM2/ieYfASn+v56BbqOi7+Q7vuivlaJ7BlLbAu7oZ7xZpQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=stud.acs.upb.ro; dmarc=pass action=none
 header.from=stud.acs.upb.ro; dkim=pass header.d=stud.acs.upb.ro; arc=none
Received: from AM6PR01MB4198.eurprd01.prod.exchangelabs.com (20.176.243.147)
 by AM6PR01MB5126.eurprd01.prod.exchangelabs.com (20.178.95.213) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2538.18; Tue, 17 Dec
 2019 17:05:06 +0000
Received: from AM6PR01MB4198.eurprd01.prod.exchangelabs.com
 ([fe80::c874:8601:87ed:369d]) by AM6PR01MB4198.eurprd01.prod.exchangelabs.com
 ([fe80::c874:8601:87ed:369d%6]) with mapi id 15.20.2538.019; Tue, 17 Dec 2019
 17:05:06 +0000
From: =?iso-8859-2?Q?Vlad-Andrei_B=C3DOIU_=2878692=29?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
To: "minios-devel@lists.xen.org" <minios-devel@lists.xen.org>
Thread-Topic: [UNIKRAFT/NEWLIB PATCH 2/2] Add patch to fix atomic_* definitions
Thread-Index: AQHVtPwgi0rGE/ScZUeP9mmlOX/nsA==
Date: Tue, 17 Dec 2019 17:05:04 +0000
Message-ID: <20191217170455.1606-3-vlad_andrei.badoiu@stud.acs.upb.ro>
References: <20191217170455.1606-1-vlad_andrei.badoiu@stud.acs.upb.ro>
In-Reply-To: <20191217170455.1606-1-vlad_andrei.badoiu@stud.acs.upb.ro>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-clientproxiedby: AM4PR05CA0031.eurprd05.prod.outlook.com (2603:10a6:205::44)
 To AM6PR01MB4198.eurprd01.prod.exchangelabs.com
 (2603:10a6:20b:26::19)
authentication-results: spf=none (sender IP is )
 smtp.mailfrom=vlad_andrei.badoiu@stud.acs.upb.ro; 
x-ms-exchange-messagesentrepresentingtype: 1
x-mailer: git-send-email 2.20.1
x-originating-ip: [2a02:2f0b:8303:7b00:1912:8156:9a03:fda9]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: d6e1e727-ec90-4fc7-e37f-08d7831342ea
x-ms-traffictypediagnostic: AM6PR01MB5126:
x-ms-exchange-transport-forked: True
x-microsoft-antispam-prvs: <AM6PR01MB51263DA588F49AE0412073F0A6500@AM6PR01MB5126.eurprd01.prod.exchangelabs.com>
x-ms-oob-tlc-oobclassifiers: OLM:3968;
x-forefront-prvs: 02543CD7CD
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(396003)(346002)(366004)(136003)(376002)(39840400004)(189003)(199004)(508600001)(2616005)(6486002)(71200400001)(1076003)(52116002)(8676002)(81166006)(81156014)(86362001)(6916009)(6512007)(2906002)(4326008)(8936002)(316002)(786003)(66946007)(66556008)(54906003)(186003)(66446008)(5660300002)(6506007)(64756008)(66476007);
 DIR:OUT; SFP:1101; SCL:1; SRVR:AM6PR01MB5126;
 H:AM6PR01MB4198.eurprd01.prod.exchangelabs.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; MX:1; A:0; 
received-spf: None (protection.outlook.com: stud.acs.upb.ro does not designate
 permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: q7Y7KjGe2kFZFHMAAn8LKOsCHj0mqsoL5Rr7rnGtJJsIG94u23ipAsk3MHwt4I+Mg5WWZzqXFmFvJOXIpf4mpwv27GXLYPQBjSEQc3x6q/epFDv3rKCmdrSMHUML+NhkeXgqiikwn7iKeOonV92o7QUELBWEQRenTNKYbtXlZzEBCjNaMGKPNw38m1Xolw3oCYtjWkjwVVODWHuMtn1rXfojsGz9jUly+f7ESLa8hOn8zg01AxPNhaKLXwh7U1WwP5FeckR8HzyeBNtbmnMjwTnBV/94FTBulT6Q5YRVrrkxHQUmAmWvs4ZFCffbEMVebL4rOyCRBHvxJd60kNSLyDh9iZ29iv33NOjI0K47UTZMD61MS9XQNJPtKddq5zpqWY/MWhO+OHH+kxs2mgwcF6Z7lX+Hn7YeNel2pvcGsTOC+NyYhn6iyNbt9Rgm9kSO
MIME-Version: 1.0
X-OriginatorOrg: stud.acs.upb.ro
X-MS-Exchange-CrossTenant-Network-Message-Id: d6e1e727-ec90-4fc7-e37f-08d7831342ea
X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Dec 2019 17:05:04.8120 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 2d8cc8ba-8dda-4334-9e5c-fac2092e9bac
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: s93qvsYUPRmhUExKkz21qzoma26TKSv6frlIdwxT6xNNc6wbRjWgDpcB0HEqPh3Rsz4wqYcvM040UGZOD8EjSk03yzl1fPl4JHpSICwTIUFo9kgFmqMDfy0TQaYj6eDS
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR01MB5126
Subject: [Minios-devel] [UNIKRAFT/NEWLIB PATCH 2/2] Add patch to fix
 atomic_* definitions
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: "felipe.huici@neclab.eu" <felipe.huici@neclab.eu>,
 "simon.kuenzer@neclab.eu" <simon.kuenzer@neclab.eu>,
 =?iso-8859-2?Q?Vlad-Andrei_B=C3DOIU_=2878692=29?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>,
 "costin.lupu@cs.pub.ro" <costin.lupu@cs.pub.ro>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

Q3VycmVudGx5LCBpbmNsdWRpbmcgc3RkYXRvbWljLmggY2F1c2VzIHRoZSBjb21waWxhdGlvbiB0
byBmYWlsIGR1ZSB0bwp0aGUgb2Jzb2xhdGUgZGVmaW5pdGlvbnMgb2YgYXRvbWljXyogZnVuY3Rp
b25zLiBXZSBhZGFwdCB0aGUgZXhpc3RpbmcKaW1wbGVtZW50YXRpb25zIHZpYSBhIHBhdGNoIHRv
IGZpeCB0aGlzLgoKU2lnbmVkLW9mZi1ieTogVmxhZC1BbmRyZWkgQmFkb2l1IDx2bGFkX2FuZHJl
aS5iYWRvaXVAc3R1ZC5hY3MudXBiLnJvPgotLS0KIC4uLi1zdGRhdG9taWMuaC1GaXgtYXRvbWlj
Xy1kZWZpbml0aW9ucy5wYXRjaCB8IDkzICsrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFu
Z2VkLCA5MyBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgcGF0Y2hlcy8wMDA5LXN0
ZGF0b21pYy5oLUZpeC1hdG9taWNfLWRlZmluaXRpb25zLnBhdGNoCgpkaWZmIC0tZ2l0IGEvcGF0
Y2hlcy8wMDA5LXN0ZGF0b21pYy5oLUZpeC1hdG9taWNfLWRlZmluaXRpb25zLnBhdGNoIGIvcGF0
Y2hlcy8wMDA5LXN0ZGF0b21pYy5oLUZpeC1hdG9taWNfLWRlZmluaXRpb25zLnBhdGNoCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZjYjhhODIKLS0tIC9kZXYvbnVsbAorKysg
Yi9wYXRjaGVzLzAwMDktc3RkYXRvbWljLmgtRml4LWF0b21pY18tZGVmaW5pdGlvbnMucGF0Y2gK
QEAgLTAsMCArMSw5MyBAQAorRnJvbSAyODg2ZjdlMWY2NTQ2ZWY4NTc3ODU4OWNkZmU2NWI4ZDBm
Yjk5MDAyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogVmxhZC1BbmRyZWkgQmFkb2l1
IDx2bGFkX2FuZHJlaS5iYWRvaXVAc3R1ZC5hY3MudXBiLnJvPgorRGF0ZTogVHVlLCAxNyBEZWMg
MjAxOSAxODo1MDowMyArMDIwMAorU3ViamVjdDogW1BBVENIIDEvMV0gc3RkYXRvbWljLmg6IEZp
eCBhdG9taWNfKiBkZWZpbml0aW9ucworCitUaGUgY3VycmVudCBhdG9taWNfKiBkbyBub3QgY29t
cGlsZSB1bmRlciBHQ0MsIHdlIGFkYXB0IHRoZQoraW1wbGVtZW50YXRpb24gdG8gZm9sbG93IHRo
ZSBleGlzdGluZyBvbmVzIGZyb20gZ2NjLgorCitTaWduZWQtb2ZmLWJ5OiBWbGFkLUFuZHJlaSBC
YWRvaXUgPHZsYWRfYW5kcmVpLmJhZG9pdUBzdHVkLmFjcy51cGIucm8+CistLS0KKyBuZXdsaWIv
bGliYy9pbmNsdWRlL3N0ZGF0b21pYy5oIHwgNTggKysrKysrKysrKysrKysrKysrKysrKysrLS0t
LS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDQyIGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygt
KQorCitkaWZmIC0tZ2l0IGEvbmV3bGliL2xpYmMvaW5jbHVkZS9zdGRhdG9taWMuaCBiL25ld2xp
Yi9saWJjL2luY2x1ZGUvc3RkYXRvbWljLmgKK2luZGV4IDA5YzBjZjcuLmRhYTE5NjkgMTAwNjQ0
CistLS0gYS9uZXdsaWIvbGliYy9pbmNsdWRlL3N0ZGF0b21pYy5oCisrKysgYi9uZXdsaWIvbGli
Yy9pbmNsdWRlL3N0ZGF0b21pYy5oCitAQCAtMjU4LDMwICsyNTgsNTYgQEAgdHlwZWRlZiBfQXRv
bWljKHVpbnRtYXhfdCkJCWF0b21pY191aW50bWF4X3Q7CisgI2RlZmluZQlhdG9taWNfc3RvcmVf
ZXhwbGljaXQob2JqZWN0LCBkZXNpcmVkLCBvcmRlcikJCQlcCisgCV9fYzExX2F0b21pY19zdG9y
ZShvYmplY3QsIGRlc2lyZWQsIG9yZGVyKQorICNlbGlmIGRlZmluZWQoX19HTlVDX0FUT01JQ1Mp
CistI2RlZmluZQlhdG9taWNfY29tcGFyZV9leGNoYW5nZV9zdHJvbmdfZXhwbGljaXQob2JqZWN0
LCBleHBlY3RlZCwJXAorLSAgICBkZXNpcmVkLCBzdWNjZXNzLCBmYWlsdXJlKQkJCQkJCVwKKy0J
X19hdG9taWNfY29tcGFyZV9leGNoYW5nZV9uKCYob2JqZWN0KS0+X192YWwsIGV4cGVjdGVkLAkJ
XAorLQkgICAgZGVzaXJlZCwgMCwgc3VjY2VzcywgZmFpbHVyZSkKKy0jZGVmaW5lCWF0b21pY19j
b21wYXJlX2V4Y2hhbmdlX3dlYWtfZXhwbGljaXQob2JqZWN0LCBleHBlY3RlZCwJCVwKKy0gICAg
ZGVzaXJlZCwgc3VjY2VzcywgZmFpbHVyZSkJCQkJCQlcCistCV9fYXRvbWljX2NvbXBhcmVfZXhj
aGFuZ2VfbigmKG9iamVjdCktPl9fdmFsLCBleHBlY3RlZCwJCVwKKy0JICAgIGRlc2lyZWQsIDEs
IHN1Y2Nlc3MsIGZhaWx1cmUpCisrI2RlZmluZQlhdG9taWNfY29tcGFyZV9leGNoYW5nZV9zdHJv
bmdfZXhwbGljaXQob2JqZWN0LCBleHBlY3RlZCwJCQlcCisrICAgIGRlc2lyZWQsIHN1Y2Nlc3Ms
IGZhaWx1cmUpCQkJCQkJCQlcCisrX19leHRlbnNpb25fXwkJCQkJCQkJCQlcCisrKHsJCQkJCQkJ
CQkJCVwKKysJX19hdXRvX3R5cGUgX19hdG9taWNfY29tcGFyZV9leGNoYW5nZV9wdHIgPSAob2Jq
ZWN0KTsJCQkJXAorKwlfX3R5cGVvZl9fICgqX19hdG9taWNfY29tcGFyZV9leGNoYW5nZV9wdHIp
IF9fYXRvbWljX2NvbXBhcmVfZXhjaGFuZ2VfdG1wIAlcCisrCT0gKGRlc2lyZWQpOwkJCQkJCQkJ
CVwKKysJX19hdG9taWNfY29tcGFyZV9leGNoYW5nZSAoX19hdG9taWNfY29tcGFyZV9leGNoYW5n
ZV9wdHIsIChleHBlY2VkKSwJCVwKKysJCSZfX2F0b21pY19jb21wYXJlX2V4Y2hhbmdlX3RtcCwJ
CQkJCQlcCisrCQkwLCAoc3VjY2VzcyksIChmYWlsdXJlKSk7CQkJCQkJXAorKyAgfSkKKysjZGVm
aW5lCWF0b21pY19jb21wYXJlX2V4Y2hhbmdlX3dlYWtfZXhwbGljaXQob2JqZWN0LCBleHBlY3Rl
ZCwJCQkJXAorKyAgICBkZXNpcmVkLCBzdWNjZXNzLCBmYWlsdXJlKQkJCQkJCQkJXAorK19fZXh0
ZW5zaW9uX18JCQkJCQkJCQkJXAorKyh7CQkJCQkJCQkJCQlcCisrCV9fYXV0b190eXBlIF9fYXRv
bWljX2NvbXBhcmVfZXhjaGFuZ2VfcHRyID0gKG9iamVjdCk7CQkJCVwKKysJX190eXBlb2ZfXyAo
Kl9fYXRvbWljX2NvbXBhcmVfZXhjaGFuZ2VfcHRyKSBfX2F0b21pY19jb21wYXJlX2V4Y2hhbmdl
X3RtcCAJXAorKwk9IChkZXNpcmVkKTsJCQkJCQkJCQlcCisrCV9fYXRvbWljX2NvbXBhcmVfZXhj
aGFuZ2UgKF9fYXRvbWljX2NvbXBhcmVfZXhjaGFuZ2VfcHRyLCAoZXhwZWN0ZWQpLAkJXAorKwkJ
Jl9fYXRvbWljX2NvbXBhcmVfZXhjaGFuZ2VfdG1wLAkJCQkJCVwKKysJCTEsIChzdWNjZXNzKSwg
KGZhaWx1cmUpKTsJCQkJCQlcCisrICB9KQorICNkZWZpbmUJYXRvbWljX2V4Y2hhbmdlX2V4cGxp
Y2l0KG9iamVjdCwgZGVzaXJlZCwgb3JkZXIpCQlcCistCV9fYXRvbWljX2V4Y2hhbmdlX24oJihv
YmplY3QpLT5fX3ZhbCwgZGVzaXJlZCwgb3JkZXIpCisrCV9fYXRvbWljX2V4Y2hhbmdlX24oKG9i
amVjdCksIChkZXNpcmVkKSwgKG9yZGVyKSkKKyAjZGVmaW5lCWF0b21pY19mZXRjaF9hZGRfZXhw
bGljaXQob2JqZWN0LCBvcGVyYW5kLCBvcmRlcikJCVwKKy0JX19hdG9taWNfZmV0Y2hfYWRkKCYo
b2JqZWN0KS0+X192YWwsIG9wZXJhbmQsIG9yZGVyKQorKwlfX2F0b21pY19mZXRjaF9hZGQoKG9i
amVjdCksIChvcGVyYW5kKSwgKG9yZGVyKSkKKyAjZGVmaW5lCWF0b21pY19mZXRjaF9hbmRfZXhw
bGljaXQob2JqZWN0LCBvcGVyYW5kLCBvcmRlcikJCVwKKy0JX19hdG9taWNfZmV0Y2hfYW5kKCYo
b2JqZWN0KS0+X192YWwsIG9wZXJhbmQsIG9yZGVyKQorKwlfX2F0b21pY19mZXRjaF9hbmQoKG9i
amVjdCksIChvcGVyYW5kKSwgKG9yZGVyKSkKKyAjZGVmaW5lCWF0b21pY19mZXRjaF9vcl9leHBs
aWNpdChvYmplY3QsIG9wZXJhbmQsIG9yZGVyKQkJXAorLQlfX2F0b21pY19mZXRjaF9vcigmKG9i
amVjdCktPl9fdmFsLCBvcGVyYW5kLCBvcmRlcikKKysJX19hdG9taWNfZmV0Y2hfb3IoKG9iamVj
dCksIChvcGVyYW5kKSwgKG9yZGVyKSkKKyAjZGVmaW5lCWF0b21pY19mZXRjaF9zdWJfZXhwbGlj
aXQob2JqZWN0LCBvcGVyYW5kLCBvcmRlcikJCVwKKy0JX19hdG9taWNfZmV0Y2hfc3ViKCYob2Jq
ZWN0KS0+X192YWwsIG9wZXJhbmQsIG9yZGVyKQorKwlfX2F0b21pY19mZXRjaF9zdWIoKG9iamVj
dCksIChvcGVyYW5kKSwgKG9yZGVyKSkKKyAjZGVmaW5lCWF0b21pY19mZXRjaF94b3JfZXhwbGlj
aXQob2JqZWN0LCBvcGVyYW5kLCBvcmRlcikJCVwKKy0JX19hdG9taWNfZmV0Y2hfeG9yKCYob2Jq
ZWN0KS0+X192YWwsIG9wZXJhbmQsIG9yZGVyKQorKwlfX2F0b21pY19mZXRjaF94b3IoKG9iamVj
dCksIChvcGVyYW5kKSwgKG9yZGVyKSkKKyAjZGVmaW5lCWF0b21pY19sb2FkX2V4cGxpY2l0KG9i
amVjdCwgb3JkZXIpCQkJCVwKKy0JX19hdG9taWNfbG9hZF9uKCYob2JqZWN0KS0+X192YWwsIG9y
ZGVyKQorK19fZXh0ZW5zaW9uX18JCQkJCQkJCVwKKysoewkJCQkJCQkJCVwKKysJX19hdXRvX3R5
cGUgX19hdG9taWNfbG9hZF9wdHIgPSAob2JqZWN0KTsJCQkJXAorKwlfX3R5cGVvZl9fICgqX19h
dG9taWNfbG9hZF9wdHIpIF9fYXRvbWljX2xvYWRfdG1wOwkJCVwKKysJX19hdG9taWNfbG9hZCAo
X19hdG9taWNfbG9hZF9wdHIsICZfX2F0b21pY19sb2FkX3RtcCwgKG9yZGVyKSk7CVwKKysJX19h
dG9taWNfbG9hZF90bXA7CQkJCQkJCVwKKyt9KQorICNkZWZpbmUJYXRvbWljX3N0b3JlX2V4cGxp
Y2l0KG9iamVjdCwgZGVzaXJlZCwgb3JkZXIpCQkJXAorLQlfX2F0b21pY19zdG9yZV9uKCYob2Jq
ZWN0KS0+X192YWwsIGRlc2lyZWQsIG9yZGVyKQorK19fZXh0ZW5zaW9uX18JCQkJCQkJCVwKKyso
ewkJCQkJCQkJCVwKKysJX19hdXRvX3R5cGUgX19hdG9taWNfc3RvcmVfcHRyID0gKG9iamVjdCk7
CQkJCVwKKysJX190eXBlb2ZfXyAoKl9fYXRvbWljX3N0b3JlX3B0cikgX19hdG9taWNfc3RvcmVf
dG1wID0gKGRlc2lyZWQpOwlcCisrCV9fYXRvbWljX3N0b3JlIChfX2F0b21pY19zdG9yZV9wdHIs
ICZfX2F0b21pY19zdG9yZV90bXAsIChvcmRlcikpOwlcCisrfSkKKysKKyAjZWxzZQorICNkZWZp
bmUJX19hdG9taWNfYXBwbHlfc3RyaWRlKG9iamVjdCwgb3BlcmFuZCkgXAorIAkoKChfX3R5cGVv
Zl9fKChvYmplY3QpLT5fX3ZhbCkpMCkgKyAob3BlcmFuZCkpCistLSAKKzIuMjAuMQorCi0tIAoy
LjIwLjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpN
aW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9y
ZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRl
dmVs

From minios-devel-bounces@lists.xenproject.org Tue Dec 17 17:08:27 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 17 Dec 2019 17:08:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ihGKg-00058E-PF; Tue, 17 Dec 2019 17:08:26 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=V2zh=2H=stud.acs.upb.ro=vlad_andrei.badoiu@srs-us1.protection.inumbo.net>)
 id 1ihGKf-000589-6t
 for minios-devel@lists.xen.org; Tue, 17 Dec 2019 17:08:25 +0000
X-Inumbo-ID: cf3887ce-20ef-11ea-a914-bc764e2007e4
Received: from EUR04-HE1-obe.outbound.protection.outlook.com (unknown
 [40.107.7.72]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id cf3887ce-20ef-11ea-a914-bc764e2007e4;
 Tue, 17 Dec 2019 17:08:14 +0000 (UTC)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Q1cEMJCGY7GocHcQynxmpynGYpPyxGpBwD8n1Hvtb0r4qYShqhscKdkm1EmR3+3Z7ARJ0IL4FC4/MAuJSBPGvqvYcJI9+kpKY3aWu5cBRPuPnkH0q7znYtv8SRbT1QX224Z5o5iw3u8xX1izQkfd5RbWA1qAC+2BtR0dId3A+SBg7rVlS2WQe/pnyAf6zqySVinQB8CSySlEiCLMurX943VXcArb4UfKIj+3aQPBBLHs7Vuj3oKOh7k5pNDbCSCMLbjNtwmbA+xQxdXosTXkmzGXp886VMefng7ag+BCmmWO+ASPOxbpanqBya1/440C4h4ngMjW2dmyFNdJNKAEGQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UZWBjXc34kMfcwMA4tSYisuuoXYI0vkpm/3IZUcC2AI=;
 b=cz0XDBDUGVY/jjb52XkIz/P7n0F/OP8HySsc/p4sOVAo/y4gSOAfwJhyCnhxexW1ucJSRYaCUFidC0VAR34eLfkOakTvGcz9Xbbx/VsFYihB10wA0UTXdAccw7HXp+9X7c7ayJ6h0yuw25HAi/l3SSzABvVfYY/GjFVjFyBrju7zd7nU1ItXlULJnyDjIGZNYNeRc+rOUF8PFxf5R6D1gUPy6TWadbrv0WFzkDD6QzwlECwzJs67vMYKwj/9tbsGHci7hd/8o+OdevpqC0FJZKvD/+dHaVgBr5URkziVCcN74RWfzvzMTjpTLbe2ePCHpeOJMKZV5dMEB6jFFNRQNA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=stud.acs.upb.ro; dmarc=pass action=none
 header.from=stud.acs.upb.ro; dkim=pass header.d=stud.acs.upb.ro; arc=none
Received: from AM6PR01MB4198.eurprd01.prod.exchangelabs.com (20.176.243.147)
 by AM6PR01MB5190.eurprd01.prod.exchangelabs.com (20.178.94.27) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.2538.18; Tue, 17 Dec 2019 17:08:11 +0000
Received: from AM6PR01MB4198.eurprd01.prod.exchangelabs.com
 ([fe80::c874:8601:87ed:369d]) by AM6PR01MB4198.eurprd01.prod.exchangelabs.com
 ([fe80::c874:8601:87ed:369d%6]) with mapi id 15.20.2538.019; Tue, 17 Dec 2019
 17:08:11 +0000
From: =?utf-8?B?VmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIp?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
To: Felipe Huici <Felipe.Huici@neclab.eu>, "minios-devel@lists.xen.org"
 <minios-devel@lists.xen.org>
Thread-Topic: [UNIKRAFT/BOOST PATCH 3/6] Add gluecode
Thread-Index: AQHVr7qA9gUikghca0i796BOy+4ykqe+aGkAgAAxPwA=
Date: Tue, 17 Dec 2019 17:08:11 +0000
Message-ID: <d2db0bc3-df7b-59ba-053d-527b6865f604@stud.acs.upb.ro>
References: <20191211003233.27192-1-vlad_andrei.badoiu@stud.acs.upb.ro>
 <20191211003233.27192-4-vlad_andrei.badoiu@stud.acs.upb.ro>
 <F4AE065C-1179-40CC-BABA-616B084B0030@neclab.eu>
In-Reply-To: <F4AE065C-1179-40CC-BABA-616B084B0030@neclab.eu>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-clientproxiedby: AM0PR06CA0043.eurprd06.prod.outlook.com
 (2603:10a6:208:aa::20) To AM6PR01MB4198.eurprd01.prod.exchangelabs.com
 (2603:10a6:20b:26::19)
authentication-results: spf=none (sender IP is )
 smtp.mailfrom=vlad_andrei.badoiu@stud.acs.upb.ro; 
x-ms-exchange-messagesentrepresentingtype: 1
x-originating-ip: [2a02:2f0b:8303:7b00:1912:8156:9a03:fda9]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 6a7bef35-66aa-4187-738b-08d78313b279
x-ms-traffictypediagnostic: AM6PR01MB5190:
x-microsoft-antispam-prvs: <AM6PR01MB5190107929E018174E8F3061A6500@AM6PR01MB5190.eurprd01.prod.exchangelabs.com>
x-ms-oob-tlc-oobclassifiers: OLM:7691;
x-forefront-prvs: 02543CD7CD
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(346002)(39840400004)(366004)(376002)(396003)(136003)(189003)(199004)(8936002)(2906002)(6512007)(508600001)(786003)(81166006)(316002)(85182001)(8676002)(81156014)(71200400001)(31686004)(110136005)(86362001)(66446008)(64756008)(66556008)(66476007)(66946007)(2616005)(85202003)(5660300002)(6486002)(31696002)(4744005)(6506007)(52116002)(53546011)(186003);
 DIR:OUT; SFP:1101; SCL:1; SRVR:AM6PR01MB5190;
 H:AM6PR01MB4198.eurprd01.prod.exchangelabs.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; MX:1; A:0; 
received-spf: None (protection.outlook.com: stud.acs.upb.ro does not designate
 permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: GTNwzsCC3Z9cl+OMeC0LlWdpic0OgEsvpfvUlGZJan+6VmEVGSox+WirhX43n/BOJovR7E/sEYohrcEjLqpfyDnCZn9NckWPLehnD2sPag4+0CcE3KFapJdjI/yMeqZ4fM9OFcd0bXIlmoB89FmUlOWFCOjVB5fSW4Zj3QjBW1j3fqVrK3DkI6K7SFbfLuMqKTquH04AHrZxn7XDN0CNof/PDWPkEhQ4XekAs87rG0ZWUAx9Fdyth5u1acR7+E/sVTFD1zwP7cl5aKe93UEE7yXF1kjJx+14hsTeKxQOQdHJA9OsHM1wsGwkqMHAmSyM4jF5OWG54Ja8QltqBmBpBIr9vM7k8Y0HOQsADCJYpPwhdN09CpLnaFMJNMRS4BbVTqR3bRmgfiTdspH+yST0kR/46VhtcA7LU735UYSd6J59xh8GTCJXbKITqwBZdJxc
x-ms-exchange-transport-forked: True
Content-ID: <AE13346F282F50479D76A5715342519B@eurprd01.prod.exchangelabs.com>
MIME-Version: 1.0
X-OriginatorOrg: stud.acs.upb.ro
X-MS-Exchange-CrossTenant-Network-Message-Id: 6a7bef35-66aa-4187-738b-08d78313b279
X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Dec 2019 17:08:11.9005 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 2d8cc8ba-8dda-4334-9e5c-fac2092e9bac
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 9Wfs84oVYAfJiE8kYtVc88Dd9D64DfpjPXFFnOfLas3jThG7FY1FjVjCV7PzxTHpv56FN1HizwhRPqncMC8yzH1eloD+IAdA/v30fRSDG8wBwZXWeCNT9BgqK0ny06Ul
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR01MB5190
Subject: Re: [Minios-devel] [UNIKRAFT/BOOST PATCH 3/6] Add gluecode
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgRmVsaXBlLA0KDQpBZ3JlZSwgSSdsbCBjaGFuZ2UgdGhpcyBpbiB0aGUgdjIuDQoNClRoYW5r
IHlvdS4NCg0KT24gMTcuMTIuMjAxOSAxNjoxMSwgRmVsaXBlIEh1aWNpIHdyb3RlOg0KPiBIaSBW
bGFkLA0KPg0KPiBJZiB3ZSByZXR1cm4gMCAoc3VjY2VzcyksIHdvbid0IHRoaXMgcG90ZW50aWFs
bHkgY2F1c2UgY3Jhc2hlcywgc2luY2UgdGhlIGNhbGxlciB3aWxsIGV4cGVjdCBmbGFncCB0byBi
ZSBzZXQ/DQo+DQo+IC0tIEZlbGlwZQ0KPg0KPiDvu79PbiAxMS4xMi4xOSwgMDE6MzIsICJWbGFk
LUFuZHJlaSBCxIJET0lVICg3ODY5MikiIDx2bGFkX2FuZHJlaS5iYWRvaXVAc3R1ZC5hY3MudXBi
LnJvPiB3cm90ZToNCj4NCj4gICAgICBTaWduZWQtb2ZmLWJ5OiBWbGFkLUFuZHJlaSBCYWRvaXUg
PHZsYWRfYW5kcmVpLmJhZG9pdUBzdHVkLmFjcy51cGIucm8+DQo+ICAgICAgLS0tDQo+ICAgICAg
IGdsdWUuY3BwIHwgNiArKysrKysNCj4gICAgICAgMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9u
cygrKQ0KPiAgICAgICBjcmVhdGUgbW9kZSAxMDA2NDQgZ2x1ZS5jcHANCj4gICAgICANCj4gICAg
ICBkaWZmIC0tZ2l0IGEvZ2x1ZS5jcHAgYi9nbHVlLmNwcA0KPiAgICAgIG5ldyBmaWxlIG1vZGUg
MTAwNjQ0DQo+ICAgICAgaW5kZXggMDAwMDAwMC4uZDAxODYwYw0KPiAgICAgIC0tLSAvZGV2L251
bGwNCj4gICAgICArKysgYi9nbHVlLmNwcA0KPiAgICAgIEBAIC0wLDAgKzEsNiBAQA0KPiAgICAg
ICsjaW5jbHVkZSA8ZmVudi5oPg0KPiAgICAgICsNCj4gICAgICAraW50IGZlZ2V0ZXhjZXB0Zmxh
ZyhmZXhjZXB0X3QgKmZsYWdwLCBpbnQgZXhjZXB0cykNCj4gICAgICArew0KPiAgICAgICsJcmV0
dXJuIDA7DQo+ICAgICAgK30NCj4gICAgICAtLQ0KPiAgICAgIDIuMjAuMQ0KPiAgICAgIA0KPiAg
ICAgIA0KPg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
TWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5v
cmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1k
ZXZlbA==

From minios-devel-bounces@lists.xenproject.org Tue Dec 17 17:09:29 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 17 Dec 2019 17:09:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ihGLg-0005AG-TS; Tue, 17 Dec 2019 17:09:28 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=V2zh=2H=stud.acs.upb.ro=vlad_andrei.badoiu@srs-us1.protection.inumbo.net>)
 id 1ihGLe-0005AB-Sf
 for minios-devel@lists.xen.org; Tue, 17 Dec 2019 17:09:26 +0000
X-Inumbo-ID: f8999176-20ef-11ea-8f24-12813bfff9fa
Received: from EUR01-DB5-obe.outbound.protection.outlook.com (unknown
 [40.107.15.57]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id f8999176-20ef-11ea-8f24-12813bfff9fa;
 Tue, 17 Dec 2019 17:09:23 +0000 (UTC)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PKMb/0LVK3SF8EG+GOISiXjsQjI1wZJI3YpjqXV0EiULELWGtgNnY7hz8VKo+lm1JfqBaB9YKv7W69GLuyqMydHXtDSx0soeapX3JGIoAnCLeJucy4r4wKK0ki4RiPSrQBv9C0FL9Jx70k9VTF7DNiJm74A8qurBTMkQcZJlAWWJc1dOPDjScO5mrQ9EXBRVPL4HtJ8rdbScJGAxO8R+lZ0IuGQeXFDGsI/xOu+ASWo6pQnfV5RrQqjJfUdC/67iLzYcVAP1hqCe5vOCq7JaQ3Vw6p66TqDIkFkQVTUMFAQvn7aHOoE//oEqqIcMpnieRby/WjfRCYBTn+aVz18UWA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=p3NsucKzfq3qEIyC92gwX1QLkRI54GGHtyWawub3DKs=;
 b=k6xr44g0OUX2a+T9KOs2FdT4sNKKf/JMnWwiq6xgoLCht/9SA/7jj2eeKT8D0pxtZ4/AkVyRc0c9rIEvb4BMemQBPF1ohT0ruhOGPH6qV7joGoP2wN/i0xoAudEf2l4Jklnu1L+gCBWX8/jVCuXwG40Ch6xxys1tlkpqgDlwFdhEcXmUV/sHLaheZzUOqK9s+S6HBYI+NfP1MKD+Z8PcTqWmkPSI6x2oi5+cDxK0VQmFoHzUSrTR3IrrsRTQ0RglRR5tRgCgzyx0Zv/vXDu4z3xNqaHEaliu6Mq7zqY5PNMHLY19lxREjP237GbFJLRIjEcUT5EGTrTc7qTziloeHw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=stud.acs.upb.ro; dmarc=pass action=none
 header.from=stud.acs.upb.ro; dkim=pass header.d=stud.acs.upb.ro; arc=none
Received: from AM6PR01MB4198.eurprd01.prod.exchangelabs.com (20.176.243.147)
 by AM6PR01MB5576.eurprd01.prod.exchangelabs.com (20.179.245.13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2538.18; Tue, 17 Dec
 2019 17:09:21 +0000
Received: from AM6PR01MB4198.eurprd01.prod.exchangelabs.com
 ([fe80::c874:8601:87ed:369d]) by AM6PR01MB4198.eurprd01.prod.exchangelabs.com
 ([fe80::c874:8601:87ed:369d%6]) with mapi id 15.20.2538.019; Tue, 17 Dec 2019
 17:09:21 +0000
From: =?utf-8?B?VmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIp?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
To: Felipe Huici <Felipe.Huici@neclab.eu>, "minios-devel@lists.xen.org"
 <minios-devel@lists.xen.org>
Thread-Topic: [UNIKRAFT/BOOST PATCH 2/6] Add Makefile.uk
Thread-Index: AQHVr7qAHQZV8tgFOkmKa8iEb03aS6e+Z4sAgAAybgA=
Date: Tue, 17 Dec 2019 17:09:20 +0000
Message-ID: <451c3d5a-6f8b-cef1-95c5-e26532796297@stud.acs.upb.ro>
References: <20191211003233.27192-1-vlad_andrei.badoiu@stud.acs.upb.ro>
 <20191211003233.27192-3-vlad_andrei.badoiu@stud.acs.upb.ro>
 <41597735-E341-49F0-AE91-FEB4DE6C43E8@neclab.eu>
In-Reply-To: <41597735-E341-49F0-AE91-FEB4DE6C43E8@neclab.eu>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-clientproxiedby: ZR0P278CA0048.CHEP278.PROD.OUTLOOK.COM
 (2603:10a6:910:1d::17) To AM6PR01MB4198.eurprd01.prod.exchangelabs.com
 (2603:10a6:20b:26::19)
authentication-results: spf=none (sender IP is )
 smtp.mailfrom=vlad_andrei.badoiu@stud.acs.upb.ro; 
x-ms-exchange-messagesentrepresentingtype: 1
x-originating-ip: [2a02:2f0b:8303:7b00:1912:8156:9a03:fda9]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: be854689-86a5-42c4-5f16-08d78313db8d
x-ms-traffictypediagnostic: AM6PR01MB5576:
x-microsoft-antispam-prvs: <AM6PR01MB5576374A02AB00E72A76AA35A6500@AM6PR01MB5576.eurprd01.prod.exchangelabs.com>
x-ms-oob-tlc-oobclassifiers: OLM:2331;
x-forefront-prvs: 02543CD7CD
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(39840400004)(376002)(136003)(366004)(346002)(396003)(199004)(189003)(85182001)(6506007)(66556008)(31696002)(66476007)(64756008)(85202003)(186003)(110136005)(5660300002)(66446008)(8676002)(6486002)(52116002)(81166006)(71200400001)(86362001)(81156014)(31686004)(2616005)(508600001)(2906002)(316002)(8936002)(786003)(66946007)(53546011)(30864003)(6512007)(66574012)(579004)(559001)(569006);
 DIR:OUT; SFP:1101; SCL:1; SRVR:AM6PR01MB5576;
 H:AM6PR01MB4198.eurprd01.prod.exchangelabs.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; A:0; MX:1; 
received-spf: None (protection.outlook.com: stud.acs.upb.ro does not designate
 permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: Qd08bnfOx5n9y4bkf1vQLxMbU8BPhACI8nc5h9jIUbPofQSJ4Pik6w2W5XmkFUhhBquLkB4b+EFyvB3TtIE+A3G2dsGoQs8XbZjFJT788gRErFL+hKynfJP17I6h33Ohxt2mtCxE4vvrjRRDn9yEFUAPEDTIfsjLzCrNptba/i+L4OTlbl1uypkd/d9+om94kYFkLVpSODCUAIfjKeLYha0PP0A857NAITtejGxmPLfxm/pORVHzC2TBi1pXgFmF2/i6cb/fnvc8Q5Qs59e4bgYpwtp4thqo3uCtOsLZjSjrygMF+d9sM0nLXBNgvLSklxdBB8MB045oJOlOohhy5fWa4uHtp/A49LsE8hn9/sEFZxVkakt1Ijy4NK9vnu4A/kmDeBRXQ181HqeBy5m8ZBBktxSZESMrfAAdHqKwWAZYy+wsYx3u0nvXC/Dugr7rjAJ3qtnOXfQ2dpAwQaZGFUKIvTmlNL6Ylc+tdJJSESbpUGN2T08YpbfNV6Fj91A4c3Ud0xnncIgQ5hk31bnY3Q==
x-ms-exchange-transport-forked: True
Content-ID: <B0C0CD147429E94288F60AA820C09D50@eurprd01.prod.exchangelabs.com>
MIME-Version: 1.0
X-OriginatorOrg: stud.acs.upb.ro
X-MS-Exchange-CrossTenant-Network-Message-Id: be854689-86a5-42c4-5f16-08d78313db8d
X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Dec 2019 17:09:20.8926 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 2d8cc8ba-8dda-4334-9e5c-fac2092e9bac
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: q15+wZiNlXzLcbBmBUpM7OevWOPKeOFpHwfY5EJJUI4AIJDkXzL3Y3GA9F1ebq4rm1yScGYhdtrLq8qIVph5jXGaVUzwGXMBRwipQhxHZzZfdA7oNAWLOlv8bKNYUP3Q
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR01MB5576
Subject: Re: [Minios-devel] [UNIKRAFT/BOOST PATCH 2/6] Add Makefile.uk
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SSdsbCB1cGRhdGUgdGhlIGNvbW1pdCBtZXNzYWdlIGZvciB0aGUgdjIgd2l0aCBtb3JlIGRldGFp
bHMgYWJvdXQgdGhlIA0Kc3RhdHVzIG9mIHRoZSBleGNsdWRlZCBtb2R1bGVzLg0KDQpWbGFkDQoN
Ck9uIDE3LjEyLjIwMTkgMTY6MDgsIEZlbGlwZSBIdWljaSB3cm90ZToNCj4gSGkgVmxhZCwNCj4N
Cj4gVGhpcyBwYXRjaCBsb29rcyBmaW5lLCBleGNlcHQgeW91IG1lbnRpb24gdGhhdCB0aGlzIGlz
IGEgc3Vic2V0IG9mIG1vZHVsZXMgYW5kIHlvdSBhbHNvIGhhdmUgYSBub24tbmVnbGlnaWJsZSBu
dW1iZXIgb2Ygc291cmNlIGZpbGVzIGNvbW1lbnRlZCBvdXQuIEkgd2FzIHdvbmRlcmluZyB3aGV0
aGVyIHlvdSBjb3VsZCBwcm92aWRlIGEgYml0IG1vcmUgZGV0YWlsLCBlaXRoZXIgaW4gdGhlIGNv
bW1pdCBtZXNzYWdlLCBpbiBNYWtlZmlsZS51ayBhcyBjb21tZW50cywgb3IgYm90aCwgYXMgdG8g
d2h5IGNlcnRhaW4gbW9kdWxlcyBhcmUgbm90IGNvbXBpbGVkIGluIChlLmcuLCBiZWNhdXNlIHRo
ZXkgaGF2ZSB1bm1ldCBkZXBzLCBiZWNhdXNlIHRoZXkgZG9uJ3QgYXBwbHkgdG8gVW5pa3JhZnQs
IGJlY2F1c2UgeW91IGhhdmVuJ3QgdHJpZWQgdG8gY29tcGlsZSB0aGVtIGluLCBldGMuKS4gT3Ro
ZXJ3aXNlIHRoaXMgc3RhdGUgbWlnaHQgZ2V0IGxvc3QuDQo+DQo+IFRoYW5rcywNCj4NCj4gLS0g
RmVsaXBlDQo+DQo+IO+7v09uIDExLjEyLjE5LCAwMTozMiwgIlZsYWQtQW5kcmVpIELEgkRPSVUg
KDc4NjkyKSIgPHZsYWRfYW5kcmVpLmJhZG9pdUBzdHVkLmFjcy51cGIucm8+IHdyb3RlOg0KPg0K
PiAgICAgIFRoaXMgaW5pdGlhbCBNYWtlZmlsZS51ayBjb250YWlucyBvbmx5IGEgc3Vic2V0IG9m
IGJvb3N0IG1vZHVsZXMuDQo+ICAgICAgDQo+ICAgICAgU2lnbmVkLW9mZi1ieTogVmxhZC1BbmRy
ZWkgQmFkb2l1IDx2bGFkX2FuZHJlaS5iYWRvaXVAc3R1ZC5hY3MudXBiLnJvPg0KPiAgICAgIC0t
LQ0KPiAgICAgICBNYWtlZmlsZS51ayB8IDc3NiArKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrDQo+ICAgICAgIDEgZmlsZSBjaGFuZ2VkLCA3NzYgaW5z
ZXJ0aW9ucygrKQ0KPiAgICAgICBjcmVhdGUgbW9kZSAxMDA2NDQgTWFrZWZpbGUudWsNCj4gICAg
ICANCj4gICAgICBkaWZmIC0tZ2l0IGEvTWFrZWZpbGUudWsgYi9NYWtlZmlsZS51aw0KPiAgICAg
IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ICAgICAgaW5kZXggMDAwMDAwMC4uZGQ3YjgyZQ0KPiAg
ICAgIC0tLSAvZGV2L251bGwNCj4gICAgICArKysgYi9NYWtlZmlsZS51aw0KPiAgICAgIEBAIC0w
LDAgKzEsNzc2IEBADQo+ICAgICAgKyMgIGxpYmJvb3N0IE1ha2VmaWxlLnVrDQo+ICAgICAgKyMN
Cj4gICAgICArIyAgQXV0aG9yczogVmxhZC1BbmRyZWkgQmFkb2l1IDx2bGFkX2FuZHJlaS5iYWRv
aXVAc3R1ZC5hY3MudXBiLnJvPg0KPiAgICAgICsjDQo+ICAgICAgKyMgIENvcHlyaWdodCAoYykg
MjAxOSwgUG9saXRlaG5pY2EgVW5pdmVyc2l0eSBvZiBCdWNoYXJlc3QuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuDQo+ICAgICAgKyMNCj4gICAgICArIyAgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0DQo+ICAgICAgKyMgIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucw0KPiAgICAgICsjICBhcmUgbWV0Og0KPiAgICAgICsjDQo+ICAgICAgKyMgIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
DQo+ICAgICAgKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4NCj4gICAgICArIyAgMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQNCj4gICAgICArIyAg
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQ0KPiAgICAgICsjICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLg0KPiAgICAgICsjICAzLiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBjb3B5cmlnaHQgaG9sZGVyIG5vciB0aGUgbmFtZXMgb2Yg
aXRzDQo+ICAgICAgKyMgICAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tDQo+ICAgICAgKyMgICAgIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQo+ICAgICAgKyMN
Cj4gICAgICArIyAgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiDQo+ICAgICAgKyMgIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUNCj4gICAgICArIyAgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UNCj4gICAgICArIyAgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9SIENPTlRSSUJVVE9S
UyBCRQ0KPiAgICAgICsjICBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SDQo+ICAgICAgKyMgIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GDQo+ICAg
ICAgKyMgIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KPiAgICAgICsjICBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTg0KPiAgICAg
ICsjICBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQ0KPiAgICAgICsjICBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRQ0KPiAgICAg
ICsjICBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCj4gICAgICArIw0KPiAgICAgICsjICBU
SElTIEhFQURFUiBNQVkgTk9UIEJFIEVYVFJBQ1RFRCBPUiBNT0RJRklFRCBJTiBBTlkgV0FZLg0K
PiAgICAgICsjDQo+ICAgICAgKw0KPiAgICAgICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KPiAg
ICAgICsjIExpYnJhcnkgcmVnaXN0cmF0aW9uDQo+ICAgICAgKyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjDQo+ICAgICAgKyQoZXZhbCAkKGNhbGwgYWRkbGliX3MsbGliYm9vc3QsJChDT05GSUdfTElC
Qk9PU1QpKSkNCj4gICAgICArDQo+ICAgICAgKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo+ICAg
ICAgKyMgU291cmNlcw0KPiAgICAgICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KPiAgICAgICtM
SUJCT09TVF9WRVJTSU9OPTEuNzEuMA0KPiAgICAgICtMSUJCT09TVF9VUkw9aHR0cHM6Ly9kbC5i
aW50cmF5LmNvbS9ib29zdG9yZy9yZWxlYXNlLyQoTElCQk9PU1RfVkVSU0lPTikvc291cmNlL2Jv
b3N0XzFfNzFfMC50YXIuZ3oNCj4gICAgICArTElCQk9PU1RfUEFUQ0hESVI9JChMSUJCT09TVF9C
QVNFKS9wYXRjaGVzDQo+ICAgICAgKyQoZXZhbCAkKGNhbGwgZmV0Y2gsbGliYm9vc3QsJChMSUJC
T09TVF9VUkwpKSkNCj4gICAgICArJChldmFsICQoY2FsbCBwYXRjaCxsaWJib29zdCwkKExJQkJP
T1NUX1BBVENIRElSKSxib29zdF8xXzcxXzApKQ0KPiAgICAgICsjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIw0KPiAgICAgICsjIEhlbHBlcnMNCj4gICAgICArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMN
Cj4gICAgICArTElCQk9PU1RfU1VCRElSPWJvb3N0XzFfNzFfMA0KPiAgICAgICtMSUJCT09TVF9T
UkMgPSAkKExJQkJPT1NUX09SSUdJTikvJChMSUJCT09TVF9TVUJESVIpDQo+ICAgICAgKw0KPiAg
ICAgICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KPiAgICAgICsjIExpYnJhcnkgaW5jbHVkZXMN
Cj4gICAgICArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCj4gICAgICArQ0lOQ0xVREVTLSQoQ09O
RklHX0xJQkJPT1NUKSArPSAtSSQoTElCQk9PU1RfU1JDKS8NCj4gICAgICArQ1hYSU5DTFVERVMt
JChDT05GSUdfTElCQk9PU1QpICs9IC1JJChMSUJCT09TVF9TUkMpLw0KPiAgICAgICsNCj4gICAg
ICArQ0lOQ0xVREVTLSQoQ09ORklHX0xJQkJPT1NUKSArPSAtSSQoTElCQk9PU1RfQkFTRSkvaW5j
bHVkZQ0KPiAgICAgICtDWFhJTkNMVURFUy0kKENPTkZJR19MSUJCT09TVCkgKz0gLUkkKExJQkJP
T1NUX0JBU0UpL2luY2x1ZGUNCj4gICAgICArDQo+ICAgICAgK0NJTkNMVURFUy0kKENPTkZJR19M
SUJCT09TVCkgKz0gLUkkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjENCj4gICAgICAr
Q1hYSU5DTFVERVMtJChDT05GSUdfTElCQk9PU1QpICs9IC1JJChMSUJCT09TVF9TUkMpL2xpYnMv
bWF0aC9zcmMvdHIxDQo+ICAgICAgKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo+ICAgICAgKyMg
R2xvYmFsIGZsYWdzDQo+ICAgICAgKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo+ICAgICAgKyMg
U3VwcHJlc3NlZCBmbGFncw0KPiAgICAgICtMSUJCT09TVF9TVVBQUkVTU19GTEFHUyArPSAtV25v
LXVudXNlZC1wYXJhbWV0ZXIJCQlcDQo+ICAgICAgKwktV25vLXVudXNlZC12YXJpYWJsZSAtV25v
LXVudXNlZC12YWx1ZSAtV25vLXVudXNlZC1mdW5jdGlvbiAJXA0KPiAgICAgICsJLVduby1taXNz
aW5nLWZpZWxkLWluaXRpYWxpemVycyAtV25vLWltcGxpY2l0LWZhbGx0aHJvdWdoIAlcDQo+ICAg
ICAgKwktV25vLWNhc3QtZnVuY3Rpb24tdHlwZSAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gCQlc
DQo+ICAgICAgKwktV25vLWNoYXItc3Vic2NyaXB0cyAtV25vLXNpZ24tY29tcGFyZSAtV25vLXBh
cmVudGhlc2VzCQlcDQo+ICAgICAgKwktV25vLWRlcHJlY2F0ZWQtZGVjbGFyYXRpb25zDQo+ICAg
ICAgKw0KPiAgICAgICtMSUJCT09TVF9DRkxBR1MteQkrPSAkKExJQkJPT1NUX1NVUFBSRVNTX0ZM
QUdTKSAtV25vLXBvaW50ZXItdG8taW50LWNhc3QgLVduby1pbnQtdG8tcG9pbnRlci1jYXN0DQo+
ICAgICAgK0xJQkJPT1NUX0NYWEZMQUdTLXkJKz0gJChMSUJCT09TVF9TVVBQUkVTU19GTEFHUykN
Cj4gICAgICArDQo+ICAgICAgKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo+ICAgICAgKyMgTGli
cmFyeSBzb3VyY2VzDQo+ICAgICAgKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo+ICAgICAgKyNM
SUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2Jvb3N0L2FzaW8vaW1wbC9zcmMuY3Bw
DQo+ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2Jvb3N0L3NwaXJp
dC9ob21lL3N1cHBvcnQvY2hhcl9lbmNvZGluZy91bmljb2RlL2NyZWF0ZV90YWJsZXMuY3BwDQo+
ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX0JBU0UpL2dsdWUuY3BwDQo+ICAg
ICAgKw0KPiAgICAgICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KPiAgICAgICsjIEJvb3N0IHNv
dXJjZXMgLSBsaWJzIC0gZGF0ZV90aW1lDQo+ICAgICAgKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
DQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9kYXRlX3Rp
bWUvc3JjL2dyZWdvcmlhbi9ncmVnX21vbnRoLmNwcA0KPiAgICAgICtMSUJCT09TVF9TUkNTLXkg
Kz0gJChMSUJCT09TVF9TUkMpL2xpYnMvZGF0ZV90aW1lL3NyYy9ncmVnb3JpYW4vZGF0ZV9nZW5l
cmF0b3JzLmNwcA0KPiAgICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xp
YnMvZGF0ZV90aW1lL3NyYy9ncmVnb3JpYW4vZ3JlZ29yaWFuX3R5cGVzLmNwcA0KPiAgICAgICtM
SUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvZGF0ZV90aW1lL3NyYy9ncmVn
b3JpYW4vZ3JlZ193ZWVrZGF5LmNwcA0KPiAgICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJC
T09TVF9TUkMpL2xpYnMvZGF0ZV90aW1lL3NyYy9wb3NpeF90aW1lL3Bvc2l4X3RpbWVfdHlwZXMu
Y3BwDQo+ICAgICAgKw0KPiAgICAgICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KPiAgICAgICsj
IEJvb3N0IHNvdXJjZXMgLSBsaWJzIC0gZmlsZXN5c3RlbQ0KPiAgICAgICsjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIw0KPiAgICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xp
YnMvZmlsZXN5c3RlbS9zcmMvd2luZG93c19maWxlX2NvZGVjdnQuY3BwDQo+ICAgICAgK0xJQkJP
T1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9maWxlc3lzdGVtL3NyYy9wb3J0YWJp
bGl0eS5jcHANCj4gICAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJz
L2ZpbGVzeXN0ZW0vc3JjL3VuaXF1ZV9wYXRoLmNwcA0KPiAgICAgICtMSUJCT09TVF9TUkNTLXkg
Kz0gJChMSUJCT09TVF9TUkMpL2xpYnMvZmlsZXN5c3RlbS9zcmMvY29kZWN2dF9lcnJvcl9jYXRl
Z29yeS5jcHANCj4gICAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJz
L2ZpbGVzeXN0ZW0vc3JjL29wZXJhdGlvbnMuY3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSAr
PSAkKExJQkJPT1NUX1NSQykvbGlicy9maWxlc3lzdGVtL3NyYy9wYXRoX3RyYWl0cy5jcHANCj4g
ICAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2ZpbGVzeXN0ZW0v
c3JjL3BhdGguY3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykv
bGlicy9maWxlc3lzdGVtL3NyYy91dGY4X2NvZGVjdnRfZmFjZXQuY3BwfGZpbGVzeXN0ZW0NCj4g
ICAgICArDQo+ICAgICAgKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo+ICAgICAgKyMgQm9vc3Qg
c291cmNlcyAtIGxpYnMgLSB0aHJlYWQNCj4gICAgICArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMN
Cj4gICAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3RocmVhZC9z
cmMvcHRocmVhZC90aHJlYWQuY3BwDQo+ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJC
T09TVF9TUkMpL2xpYnMvdGhyZWFkL3NyYy9wdGhyZWFkL29uY2UuY3BwDQo+ICAgICAgK0xJQkJP
T1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy90aHJlYWQvc3JjL3B0aHJlYWQvb25j
ZV9hdG9taWMuY3BwfHRocmVhZA0KPiAgICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09T
VF9TUkMpL2xpYnMvdGhyZWFkL3NyYy9mdXR1cmUuY3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1Mt
eSArPSAkKExJQkJPT1NUX1NSQykvbGlicy90aHJlYWQvc3JjL3Rzc19udWxsLmNwcA0KPiAgICAg
ICsNCj4gICAgICArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCj4gICAgICArIyBCb29zdCBzb3Vy
Y2VzIC0gbGlicyAtIG1hdGgNCj4gICAgICArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCj4gICAg
ICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9m
bWF4LmNwcA0KPiAgICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMv
bWF0aC9zcmMvdHIxL2xlZ2VuZHJlZi5jcHANCj4gICAgICArTElCQk9PU1RfU1JDUy15ICs9ICQo
TElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9jYnJ0LmNwcA0KPiAgICAgICtMSUJCT09T
VF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2N5bF9uZXVtYW5u
LmNwcA0KPiAgICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0
aC9zcmMvdHIxL2V4cGludGYuY3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJP
T1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvY29tcF9lbGxpbnRfMy5jcHANCj4gICAgICArTElC
Qk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9iZXRhZi5j
cHANCj4gICAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgv
c3JjL3RyMS9jeWxfbmV1bWFubmYuY3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJ
QkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvZWxsaW50XzNsLmNwcA0KPiAgICAgICtMSUJC
T09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2NicnRsLmNw
cA0KPiAgICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9z
cmMvdHIxL2V4cG0xZi5jcHANCj4gICAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1Rf
U1JDKS9saWJzL21hdGgvc3JjL3RyMS90Z2FtbWFmLmNwcA0KPiAgICAgICtMSUJCT09TVF9TUkNT
LXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2xnYW1tYWYuY3BwDQo+ICAg
ICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEv
ZXhwaW50LmNwcA0KPiAgICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xp
YnMvbWF0aC9zcmMvdHIxL2NvbXBfZWxsaW50XzFsLmNwcA0KPiAgICAgICtMSUJCT09TVF9TUkNT
LXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2NvcHlzaWdubC5jcHANCj4g
ICAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3Ry
MS9oeXBvdGYuY3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykv
bGlicy9tYXRoL3NyYy90cjEvY3lsX2Jlc3NlbF9qZi5jcHANCj4gICAgICArTElCQk9PU1RfU1JD
Uy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9hc3NvY19sZWdlbmRyZS5j
cHANCj4gICAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgv
c3JjL3RyMS9hc2luaGYuY3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NU
X1NSQykvbGlicy9tYXRoL3NyYy90cjEvZm1pbmYuY3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1Mt
eSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvaGVybWl0ZWwuY3BwDQo+ICAg
ICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEv
YXNpbmguY3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGli
cy9tYXRoL3NyYy90cjEvZXJmbC5jcHANCj4gICAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElC
Qk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9hc2luaGwuY3BwDQo+ICAgICAgK0xJQkJPT1NU
X1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvZnBjbGFzc2lmeWYu
Y3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRo
L3NyYy90cjEvYmV0YWwuY3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NU
X1NSQykvbGlicy9tYXRoL3NyYy90cjEvZWxsaW50XzFmLmNwcA0KPiAgICAgICtMSUJCT09TVF9T
UkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL3NwaF9iZXNzZWwuY3Bw
DQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3Ny
Yy90cjEvZXJmY2wuY3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NS
QykvbGlicy9tYXRoL3NyYy90cjEvbGFndWVycmVmLmNwcA0KPiAgICAgICtMSUJCT09TVF9TUkNT
LXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2NvbXBfZWxsaW50XzIuY3Bw
DQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3Ny
Yy90cjEvYXNzb2NfbGVnZW5kcmVsLmNwcA0KPiAgICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChM
SUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL3NwaF9uZXVtYW5uZi5jcHANCj4gICAgICAr
TElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9zcGhf
bGVnZW5kcmVmLmNwcA0KPiAgICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMp
L2xpYnMvbWF0aC9zcmMvdHIxL25leHR0b3dhcmRmLmNwcA0KPiAgICAgICtMSUJCT09TVF9TUkNT
LXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2xnYW1tYS5jcHANCj4gICAg
ICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9l
bGxpbnRfM2YuY3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykv
bGlicy9tYXRoL3NyYy90cjEvZWxsaW50XzMuY3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSAr
PSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvYXNzb2NfbGVnZW5kcmVmLmNwcA0K
PiAgICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMv
dHIxL2hlcm1pdGUuY3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NS
QykvbGlicy9tYXRoL3NyYy90cjEvcm91bmRmLmNwcA0KPiAgICAgICtMSUJCT09TVF9TUkNTLXkg
Kz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2xlZ2VuZHJlbC5jcHANCj4gICAg
ICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9h
dGFuaGYuY3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGli
cy9tYXRoL3NyYy90cjEvYWNvc2hsLmNwcA0KPiAgICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChM
SUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2F0YW5oLmNwcA0KPiAgICAgICtMSUJCT09T
VF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2NvbXBfZWxsaW50
XzEuY3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9t
YXRoL3NyYy90cjEvYXRhbmhsLmNwcA0KPiAgICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJC
T09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2Fjb3NoLmNwcA0KPiAgICAgICtMSUJCT09TVF9T
UkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2Fzc29jX2xhZ3VlcnJl
Zi5jcHANCj4gICAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21h
dGgvc3JjL3RyMS9uZXh0dG93YXJkLmNwcA0KPiAgICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChM
SUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2ZtYXhsLmNwcA0KPiAgICAgICtMSUJCT09T
VF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2VsbGludF8ybC5j
cHANCj4gICAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgv
c3JjL3RyMS9zcGhfbmV1bWFubi5jcHANCj4gICAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElC
Qk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9yb3VuZC5jcHANCj4gICAgICArTElCQk9PU1Rf
U1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9jeWxfYmVzc2VsX2lm
LmNwcA0KPiAgICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0
aC9zcmMvdHIxL2VsbGludF8yLmNwcA0KPiAgICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJC
T09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2xvZzFwZi5jcHANCj4gICAgICArTElCQk9PU1Rf
U1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9zcGhfYmVzc2VsZi5j
cHANCj4gICAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgv
c3JjL3RyMS9zcGhfbGVnZW5kcmVsLmNwcA0KPiAgICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChM
SUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2V4cG0xLmNwcA0KPiAgICAgICtMSUJCT09T
VF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL3RnYW1tYS5jcHAN
Cj4gICAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3Jj
L3RyMS9sb2cxcGwuY3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NS
QykvbGlicy9tYXRoL3NyYy90cjEvY2JydGYuY3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSAr
PSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvYXNzb2NfbGFndWVycmVsLmNwcA0K
PiAgICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMv
dHIxL2NvbXBfZWxsaW50XzNsLmNwcA0KPiAgICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJC
T09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2xyb3VuZGwuY3BwDQo+ICAgICAgK0xJQkJPT1NU
X1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvY3lsX2Jlc3NlbF9q
LmNwcA0KPiAgICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0
aC9zcmMvdHIxL3NwaF9uZXVtYW5ubC5jcHANCj4gICAgICArTElCQk9PU1RfU1JDUy15ICs9ICQo
TElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9sYWd1ZXJyZS5jcHANCj4gICAgICArTElC
Qk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9jeWxfYmVz
c2VsX2lsLmNwcA0KPiAgICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xp
YnMvbWF0aC9zcmMvdHIxL3JpZW1hbm5femV0YS5jcHANCj4gICAgICArTElCQk9PU1RfU1JDUy15
ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9yb3VuZGwuY3BwDQo+ICAgICAg
K0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvZXhw
bTFsLmNwcA0KPiAgICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMv
bWF0aC9zcmMvdHIxL2VsbGludF8yZi5jcHANCj4gICAgICArTElCQk9PU1RfU1JDUy15ICs9ICQo
TElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9jb3B5c2lnbmYuY3BwDQo+ICAgICAgK0xJ
QkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvdHJ1bmMu
Y3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRo
L3NyYy90cjEvbGFndWVycmVsLmNwcA0KPiAgICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJC
T09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2N5bF9iZXNzZWxfa2wuY3BwDQo+ICAgICAgK0xJ
QkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvY3lsX2Jl
c3NlbF9rZi5jcHANCj4gICAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9s
aWJzL21hdGgvc3JjL3RyMS9mcGNsYXNzaWZ5LmNwcA0KPiAgICAgICtMSUJCT09TVF9TUkNTLXkg
Kz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2xnYW1tYWwuY3BwDQo+ICAgICAg
K0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvZnBj
bGFzc2lmeWwuY3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykv
bGlicy9tYXRoL3NyYy90cjEvcmllbWFubl96ZXRhbC5jcHANCj4gICAgICArTElCQk9PU1RfU1JD
Uy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9yaWVtYW5uX3pldGFmLmNw
cA0KPiAgICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9z
cmMvdHIxL2h5cG90bC5jcHANCj4gICAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1Rf
U1JDKS9saWJzL21hdGgvc3JjL3RyMS9jb21wX2VsbGludF8yZi5jcHANCj4gICAgICArTElCQk9P
U1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9iZXRhLmNwcA0K
PiAgICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMv
dHIxL2N5bF9iZXNzZWxfamwuY3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJP
T1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvZWxsaW50XzFsLmNwcA0KPiAgICAgICtMSUJCT09T
VF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL25leHRhZnRlcmwu
Y3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRo
L3NyYy90cjEvY3lsX2Jlc3NlbF9rLmNwcA0KPiAgICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChM
SUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2Fjb3NoZi5jcHANCj4gICAgICArTElCQk9P
U1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9lcmZjLmNwcA0K
PiAgICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMv
dHIxL2xscm91bmQuY3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NS
QykvbGlicy9tYXRoL3NyYy90cjEvYXNzb2NfbGFndWVycmUuY3BwDQo+ICAgICAgK0xJQkJPT1NU
X1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvdGdhbW1hbC5jcHAN
Cj4gICAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3Jj
L3RyMS9jeWxfbmV1bWFubmwuY3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJP
T1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvY3lsX2Jlc3NlbF9pLmNwcA0KPiAgICAgICtMSUJC
T09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2V4cGludGwu
Y3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRo
L3NyYy90cjEvbHJvdW5kLmNwcA0KPiAgICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09T
VF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL25leHR0b3dhcmRsLmNwcA0KPiAgICAgICtMSUJCT09T
VF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2VsbGludF8xLmNw
cA0KPiAgICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9z
cmMvdHIxL2NvbXBfZWxsaW50XzJsLmNwcA0KPiAgICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChM
SUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL3RydW5jbC5jcHANCj4gICAgICArTElCQk9P
U1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9uZXh0YWZ0ZXJm
LmNwcA0KPiAgICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0
aC9zcmMvdHIxL2xvZzFwLmNwcA0KPiAgICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09T
VF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2VyZi5jcHANCj4gICAgICArTElCQk9PU1RfU1JDUy15
ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9lcmZmLmNwcA0KPiAgICAgICtM
SUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2ZtaW4u
Y3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRo
L3NyYy90cjEvbHJvdW5kZi5jcHANCj4gICAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9P
U1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9sZWdlbmRyZS5jcHANCj4gICAgICArTElCQk9PU1Rf
U1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9sbHJvdW5kbC5jcHAN
Cj4gICAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3Jj
L3RyMS9jb21wX2VsbGludF8zZi5jcHANCj4gICAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElC
Qk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9uZXh0YWZ0ZXIuY3BwDQo+ICAgICAgK0xJQkJP
T1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvc3BoX2Jlc3Nl
bGwuY3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9t
YXRoL3NyYy90cjEvZm1pbmwuY3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJP
T1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvdHJ1bmNmLmNwcA0KPiAgICAgICtMSUJCT09TVF9T
UkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2h5cG90LmNwcA0KPiAg
ICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIx
L3NwaF9sZWdlbmRyZS5jcHANCj4gICAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1Rf
U1JDKS9saWJzL21hdGgvc3JjL3RyMS9oZXJtaXRlZi5jcHANCj4gICAgICArTElCQk9PU1RfU1JD
Uy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9sbHJvdW5kZi5jcHANCj4g
ICAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3Ry
MS9lcmZjZi5jcHANCj4gICAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9s
aWJzL21hdGgvc3JjL3RyMS9mbWF4Zi5jcHANCj4gICAgICArTElCQk9PU1RfU1JDUy15ICs9ICQo
TElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9jb21wX2VsbGludF8xZi5jcHANCj4gICAg
ICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9j
b3B5c2lnbi5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykv
bGlicy9tYXRoL21pbmltYXgvZi5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJ
QkJPT1NUX1NSQykvbGlicy9tYXRoL21pbmltYXgvbWFpbi5jcHANCj4gICAgICArDQo+ICAgICAg
KyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo+ICAgICAgKyMgQm9vc3Qgc291cmNlcyAtIGxpYnMg
LSByZWdleA0KPiAgICAgICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KPiAgICAgICtMSUJCT09T
VF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvcmVnZXgvc3JjL2NyZWdleC5jcHANCj4g
ICAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3JlZ2V4L3NyYy9z
dGF0aWNfbXV0ZXguY3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NS
QykvbGlicy9yZWdleC9zcmMvd2luc3RhbmNlcy5jcHANCj4gICAgICArTElCQk9PU1RfU1JDUy15
ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3JlZ2V4L3NyYy9wb3NpeF9hcGkuY3BwDQo+ICAgICAg
K0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9yZWdleC9zcmMvdzMyX3Jl
Z2V4X3RyYWl0cy5jcHANCj4gICAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JD
KS9saWJzL3JlZ2V4L3NyYy9jcHBfcmVnZXhfdHJhaXRzLmNwcA0KPiAgICAgICtMSUJCT09TVF9T
UkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvcmVnZXgvc3JjL3JlZ2V4X3RyYWl0c19kZWZh
dWx0cy5jcHANCj4gICAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJz
L3JlZ2V4L3NyYy91c2luc3RhbmNlcy5jcHANCj4gICAgICArTElCQk9PU1RfU1JDUy15ICs9ICQo
TElCQk9PU1RfU1JDKS9saWJzL3JlZ2V4L3NyYy93aWRlX3Bvc2l4X2FwaS5jcHANCj4gICAgICAr
TElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3JlZ2V4L3NyYy93Y19yZWdl
eF90cmFpdHMuY3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykv
bGlicy9yZWdleC9zcmMvcmVnZXhfcmF3X2J1ZmZlci5jcHANCj4gICAgICArTElCQk9PU1RfU1JD
Uy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3JlZ2V4L3NyYy9jX3JlZ2V4X3RyYWl0cy5jcHAN
Cj4gICAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3JlZ2V4L3Ny
Yy9yZWdleC5jcHANCj4gICAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9s
aWJzL3JlZ2V4L3NyYy9pbnN0YW5jZXMuY3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAk
KExJQkJPT1NUX1NSQykvbGlicy9yZWdleC9zcmMvcmVnZXhfZGVidWcuY3BwDQo+ICAgICAgK0xJ
QkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9yZWdleC9zcmMvZmlsZWl0ZXIu
Y3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9yZWdl
eC9zcmMvaWN1LmNwcA0KPiAgICAgICsNCj4gICAgICArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMN
Cj4gICAgICArIyBCb29zdCBzb3VyY2VzIC0gbGlicyAtIGNvbnRleHQNCj4gICAgICArIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMNCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NU
X1NSQykvbGlicy9jb250ZXh0L3NyYy9leGVjdXRpb25fY29udGV4dC5jcHANCj4gICAgICArI0xJ
QkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9jb250ZXh0L3NyYy9kdW1teS5j
cHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9jb250
ZXh0L3NyYy9maWJlci5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NU
X1NSQykvbGlicy9jb250ZXh0L3NyYy93aW5kb3dzL3N0YWNrX3RyYWl0cy5jcHANCj4gICAgICAr
I0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9jb250ZXh0L3NyYy9jb250
aW51YXRpb24uY3BwDQo+ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMp
L2xpYnMvY29udGV4dC9zcmMvdW50ZXN0ZWQuY3BwDQo+ICAgICAgKyNMSUJCT09TVF9TUkNTLXkg
Kz0gJChMSUJCT09TVF9TUkMpL2xpYnMvY29udGV4dC9zcmMvcG9zaXgvc3RhY2tfdHJhaXRzLmNw
cA0KPiAgICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2NvbnRl
eHQvYnVpbGQvY3h4MTFfaGRyX211dGV4LmNwcA0KPiAgICAgICsjTElCQk9PU1RfU1JDUy15ICs9
ICQoTElCQk9PU1RfU1JDKS9saWJzL2NvbmNlcHRfY2hlY2svYmFkX2Vycm9yX2VnLmNwcA0KPiAg
ICAgICsNCj4gICAgICArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCj4gICAgICArIyBCb29zdCBz
b3VyY2VzIC0gbGlicyAtIGdyYXBoX3BhcmFsbGVsDQo+ICAgICAgKyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9n
cmFwaF9wYXJhbGxlbC9zcmMvdGFnX2FsbG9jYXRvci5jcHANCj4gICAgICArI0xJQkJPT1NUX1NS
Q1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9ncmFwaF9wYXJhbGxlbC9zcmMvbXBpX3Byb2Nl
c3NfZ3JvdXAuY3BwDQo+ICAgICAgKw0KPiAgICAgICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0K
PiAgICAgICsjIEJvb3N0IHNvdXJjZXMgLSBsaWJzIC0gcHJvZ3JhbV9vcHRpb25zDQo+ICAgICAg
KyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJ
QkJPT1NUX1NSQykvbGlicy9wcm9ncmFtX29wdGlvbnMvc3JjL3BhcnNlcnMuY3BwDQo+ICAgICAg
K0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9wcm9ncmFtX29wdGlvbnMv
c3JjL2NvbmZpZ19maWxlLmNwcA0KPiAgICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09T
VF9TUkMpL2xpYnMvcHJvZ3JhbV9vcHRpb25zL3NyYy9wb3NpdGlvbmFsX29wdGlvbnMuY3BwDQo+
ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9wcm9ncmFtX29w
dGlvbnMvc3JjL29wdGlvbnNfZGVzY3JpcHRpb24uY3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1Mt
eSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9wcm9ncmFtX29wdGlvbnMvc3JjL2NvbnZlcnQuY3Bw
DQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9wcm9ncmFt
X29wdGlvbnMvc3JjL3NwbGl0LmNwcA0KPiAgICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJC
T09TVF9TUkMpL2xpYnMvcHJvZ3JhbV9vcHRpb25zL3NyYy92YXJpYWJsZXNfbWFwLmNwcA0KPiAg
ICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvcHJvZ3JhbV9vcHRp
b25zL3NyYy9jbWRsaW5lLmNwcA0KPiAgICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09T
VF9TUkMpL2xpYnMvcHJvZ3JhbV9vcHRpb25zL3NyYy93aW5tYWluLmNwcA0KPiAgICAgICtMSUJC
T09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvcHJvZ3JhbV9vcHRpb25zL3NyYy91
dGY4X2NvZGVjdnRfZmFjZXQuY3BwfHByb2dyYW0NCj4gICAgICArTElCQk9PU1RfU1JDUy15ICs9
ICQoTElCQk9PU1RfU1JDKS9saWJzL3Byb2dyYW1fb3B0aW9ucy9zcmMvdmFsdWVfc2VtYW50aWMu
Y3BwDQo+ICAgICAgKw0KPiAgICAgICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KPiAgICAgICsj
IEJvb3N0IHNvdXJjZXMgLSBsaWJzIC0gY29udHJhY3QNCj4gICAgICArIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMNCj4gICAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJz
L2NvbnRyYWN0L3NyYy9jb250cmFjdC5jcHANCj4gICAgICArDQo+ICAgICAgKyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjDQo+ICAgICAgKyMgQm9vc3Qgc291cmNlcyAtIGxpYnMgLSBzeXN0ZW0NCj4g
ICAgICArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCj4gICAgICArTElCQk9PU1RfU1JDUy15ICs9
ICQoTElCQk9PU1RfU1JDKS9saWJzL3N5c3RlbS9zcmMvZXJyb3JfY29kZS5jcHANCj4gICAgICAr
DQo+ICAgICAgKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo+ICAgICAgKyMgQm9vc3Qgc291cmNl
cyAtIGxpYnMgLSB3YXZlDQo+ICAgICAgKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo+ICAgICAg
K0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy93YXZlL3NyYy9pbnN0YW50
aWF0ZV9jcHBfZXhwcmdyYW1tYXIuY3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJ
QkJPT1NUX1NSQykvbGlicy93YXZlL3NyYy9pbnN0YW50aWF0ZV9yZTJjX2xleGVyX3N0ci5jcHAN
Cj4gICAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3dhdmUvc3Jj
L2luc3RhbnRpYXRlX2NwcF9saXRlcmFsZ3JzLmNwcA0KPiAgICAgICtMSUJCT09TVF9TUkNTLXkg
Kz0gJChMSUJCT09TVF9TUkMpL2xpYnMvd2F2ZS9zcmMvY3BwbGV4ZXIvcmUyY2xleC9jcHBfcmUu
Y3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy93YXZl
L3NyYy9jcHBsZXhlci9yZTJjbGV4L2FxLmNwcA0KPiAgICAgICtMSUJCT09TVF9TUkNTLXkgKz0g
JChMSUJCT09TVF9TUkMpL2xpYnMvd2F2ZS9zcmMvaW5zdGFudGlhdGVfY3BwX2dyYW1tYXIuY3Bw
DQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy93YXZlL3Ny
Yy90b2tlbl9pZHMuY3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NS
QykvbGlicy93YXZlL3NyYy9pbnN0YW50aWF0ZV9kZWZpbmVkX2dyYW1tYXIuY3BwDQo+ICAgICAg
K0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy93YXZlL3NyYy93YXZlX2Nv
bmZpZ19jb25zdGFudC5jcHANCj4gICAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1Rf
U1JDKS9saWJzL3dhdmUvc3JjL2luc3RhbnRpYXRlX3ByZWRlZl9tYWNyb3MuY3BwDQo+ICAgICAg
K0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy93YXZlL3NyYy9pbnN0YW50
aWF0ZV9yZTJjX2xleGVyLmNwcA0KPiAgICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9P
U1RfU1JDKS9saWJzL3dhdmUvdG9vbC9jcHAuY3BwDQo+ICAgICAgKw0KPiAgICAgICsjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIw0KPiAgICAgICsjIEJvb3N0IHNvdXJjZXMgLSBsaWJzIC0gc2VyaWFs
aXphdGlvbg0KPiAgICAgICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KPiAgICAgICtMSUJCT09T
VF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvaW9zdHJlYW1zL3NyYy9tYXBwZWRfZmls
ZS5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9p
b3N0cmVhbXMvc3JjL3pzdGQuY3BwDQo+ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJC
T09TVF9TUkMpL2xpYnMvaW9zdHJlYW1zL3NyYy96bGliLmNwcA0KPiAgICAgICsjTElCQk9PU1Rf
U1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2lvc3RyZWFtcy9zcmMvYnppcDIuY3BwDQo+
ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvaW9zdHJlYW1z
L3NyYy9nemlwLmNwcA0KPiAgICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JD
KS9saWJzL2lvc3RyZWFtcy9zcmMvbHptYS5jcHANCj4gICAgICArTElCQk9PU1RfU1JDUy15ICs9
ICQoTElCQk9PU1RfU1JDKS9saWJzL2lvc3RyZWFtcy9zcmMvZmlsZV9kZXNjcmlwdG9yLmNwcA0K
PiAgICAgICsNCj4gICAgICArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCj4gICAgICArIyBCb29z
dCBzb3VyY2VzIC0gbGlicyAtIHNlcmlhbGl6YXRpb24NCj4gICAgICArIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMNCj4gICAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJz
L3NlcmlhbGl6YXRpb24vc3JjL2FyY2hpdmVfZXhjZXB0aW9uLmNwcA0KPiAgICAgICtMSUJCT09T
VF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvc2VyaWFsaXphdGlvbi9zcmMvcG9seW1v
cnBoaWNfb2FyY2hpdmUuY3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NU
X1NSQykvbGlicy9zZXJpYWxpemF0aW9uL3NyYy9iYXNpY19wb2ludGVyX29zZXJpYWxpemVyLmNw
cA0KPiAgICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvc2VyaWFs
aXphdGlvbi9zcmMvcG9seW1vcnBoaWNfdGV4dF93b2FyY2hpdmUuY3BwDQo+ICAgICAgK0xJQkJP
T1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9zZXJpYWxpemF0aW9uL3NyYy94bWxf
d2dyYW1tYXIuY3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykv
bGlicy9zZXJpYWxpemF0aW9uL3NyYy90ZXh0X29hcmNoaXZlLmNwcA0KPiAgICAgICtMSUJCT09T
VF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvc2VyaWFsaXphdGlvbi9zcmMvcG9seW1v
cnBoaWNfdGV4dF9pYXJjaGl2ZS5jcHANCj4gICAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElC
Qk9PU1RfU1JDKS9saWJzL3NlcmlhbGl6YXRpb24vc3JjL3BvbHltb3JwaGljX3htbF93b2FyY2hp
dmUuY3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9z
ZXJpYWxpemF0aW9uL3NyYy94bWxfaWFyY2hpdmUuY3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1Mt
eSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9zZXJpYWxpemF0aW9uL3NyYy9wb2x5bW9ycGhpY194
bWxfaWFyY2hpdmUuY3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NS
QykvbGlicy9zZXJpYWxpemF0aW9uL3NyYy9iaW5hcnlfaWFyY2hpdmUuY3BwDQo+ICAgICAgK0xJ
QkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9zZXJpYWxpemF0aW9uL3NyYy9i
YXNpY190ZXh0X2lwcmltaXRpdmUuY3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJ
QkJPT1NUX1NSQykvbGlicy9zZXJpYWxpemF0aW9uL3NyYy9zdGxfcG9ydC5jcHANCj4gICAgICAr
TElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3NlcmlhbGl6YXRpb24vc3Jj
L2V4dGVuZGVkX3R5cGVfaW5mb190eXBlaWQuY3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSAr
PSAkKExJQkJPT1NUX1NSQykvbGlicy9zZXJpYWxpemF0aW9uL3NyYy9wb2x5bW9ycGhpY190ZXh0
X29hcmNoaXZlLmNwcA0KPiAgICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMp
L2xpYnMvc2VyaWFsaXphdGlvbi9zcmMvYmFzaWNfcG9pbnRlcl9pc2VyaWFsaXplci5jcHANCj4g
ICAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3NlcmlhbGl6YXRp
b24vc3JjL3ZvaWRfY2FzdC5jcHANCj4gICAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9P
U1RfU1JDKS9saWJzL3NlcmlhbGl6YXRpb24vc3JjL2Jhc2ljX29zZXJpYWxpemVyLmNwcA0KPiAg
ICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvc2VyaWFsaXphdGlv
bi9zcmMveG1sX2dyYW1tYXIuY3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJP
T1NUX1NSQykvbGlicy9zZXJpYWxpemF0aW9uL3NyYy94bWxfd2lhcmNoaXZlLmNwcA0KPiAgICAg
ICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvc2VyaWFsaXphdGlvbi9z
cmMvYmFzaWNfaWFyY2hpdmUuY3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJP
T1NUX1NSQykvbGlicy9zZXJpYWxpemF0aW9uL3NyYy9iYXNpY19vYXJjaGl2ZS5jcHANCj4gICAg
ICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3NlcmlhbGl6YXRpb24v
c3JjL2Jhc2ljX3NlcmlhbGl6ZXJfbWFwLmNwcA0KPiAgICAgICtMSUJCT09TVF9TUkNTLXkgKz0g
JChMSUJCT09TVF9TUkMpL2xpYnMvc2VyaWFsaXphdGlvbi9zcmMvYmFzaWNfdGV4dF93aXByaW1p
dGl2ZS5jcHANCj4gICAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJz
L3NlcmlhbGl6YXRpb24vc3JjL2NvZGVjdnRfbnVsbC5jcHANCj4gICAgICArTElCQk9PU1RfU1JD
Uy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3NlcmlhbGl6YXRpb24vc3JjL3BvbHltb3JwaGlj
X2JpbmFyeV9pYXJjaGl2ZS5jcHANCj4gICAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9P
U1RfU1JDKS9saWJzL3NlcmlhbGl6YXRpb24vc3JjL2V4dGVuZGVkX3R5cGVfaW5mb19ub19ydHRp
LmNwcA0KPiAgICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvc2Vy
aWFsaXphdGlvbi9zcmMvYmluYXJ5X3dvYXJjaGl2ZS5jcHANCj4gICAgICArTElCQk9PU1RfU1JD
Uy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3NlcmlhbGl6YXRpb24vc3JjL2Jhc2ljX3htbF9h
cmNoaXZlLmNwcA0KPiAgICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xp
YnMvc2VyaWFsaXphdGlvbi9zcmMvZXh0ZW5kZWRfdHlwZV9pbmZvLmNwcA0KPiAgICAgICtMSUJC
T09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvc2VyaWFsaXphdGlvbi9zcmMvcG9s
eW1vcnBoaWNfeG1sX29hcmNoaXZlLmNwcA0KPiAgICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChM
SUJCT09TVF9TUkMpL2xpYnMvc2VyaWFsaXphdGlvbi9zcmMvYmFzaWNfaXNlcmlhbGl6ZXIuY3Bw
DQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9zZXJpYWxp
emF0aW9uL3NyYy94bWxfb2FyY2hpdmUuY3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAk
KExJQkJPT1NUX1NSQykvbGlicy9zZXJpYWxpemF0aW9uL3NyYy90ZXh0X2lhcmNoaXZlLmNwcA0K
PiAgICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvc2VyaWFsaXph
dGlvbi9zcmMvcG9seW1vcnBoaWNfYmluYXJ5X29hcmNoaXZlLmNwcA0KPiAgICAgICtMSUJCT09T
VF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvc2VyaWFsaXphdGlvbi9zcmMvcG9seW1v
cnBoaWNfeG1sX3dpYXJjaGl2ZS5jcHANCj4gICAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElC
Qk9PU1RfU1JDKS9saWJzL3NlcmlhbGl6YXRpb24vc3JjL2JpbmFyeV93aWFyY2hpdmUuY3BwDQo+
ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9zZXJpYWxpemF0
aW9uL3NyYy9wb2x5bW9ycGhpY19pYXJjaGl2ZS5jcHANCj4gICAgICArTElCQk9PU1RfU1JDUy15
ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3NlcmlhbGl6YXRpb24vc3JjL3htbF9hcmNoaXZlX2V4
Y2VwdGlvbi5jcHANCj4gICAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9s
aWJzL3NlcmlhbGl6YXRpb24vc3JjL3RleHRfd2lhcmNoaXZlLmNwcA0KPiAgICAgICtMSUJCT09T
VF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvc2VyaWFsaXphdGlvbi9zcmMvcG9seW1v
cnBoaWNfdGV4dF93aWFyY2hpdmUuY3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJ
QkJPT1NUX1NSQykvbGlicy9zZXJpYWxpemF0aW9uL3NyYy9iYXNpY19hcmNoaXZlLmNwcA0KPiAg
ICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvc2VyaWFsaXphdGlv
bi9zcmMvYmFzaWNfdGV4dF93b3ByaW1pdGl2ZS5jcHANCj4gICAgICArTElCQk9PU1RfU1JDUy15
ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3NlcmlhbGl6YXRpb24vc3JjL3htbF93b2FyY2hpdmUu
Y3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9zZXJp
YWxpemF0aW9uL3NyYy9iYXNpY190ZXh0X29wcmltaXRpdmUuY3BwDQo+ICAgICAgK0xJQkJPT1NU
X1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9zZXJpYWxpemF0aW9uL3NyYy90ZXh0X3dv
YXJjaGl2ZS5jcHANCj4gICAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9s
aWJzL3NlcmlhbGl6YXRpb24vc3JjL3V0ZjhfY29kZWN2dF9mYWNldC5jcHB8c2VyaWFsaXphdGlv
bg0KPiAgICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvc2VyaWFs
aXphdGlvbi9zcmMvYmluYXJ5X29hcmNoaXZlLmNwcA0KPiAgICAgICsNCj4gICAgICArIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMNCj4gICAgICArIyBCb29zdCBzb3VyY2VzIC0gbGlicyAtIGNvbnRh
aW5lcg0KPiAgICAgICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo+ICAgICAgK0xJQkJPT1NUX1NS
Q1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9jb250YWluZXIvc3JjL2dsb2JhbF9yZXNvdXJj
ZS5jcHANCj4gICAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2Nv
bnRhaW5lci9zcmMvdW5zeW5jaHJvbml6ZWRfcG9vbF9yZXNvdXJjZS5jcHANCj4gICAgICArTElC
Qk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2NvbnRhaW5lci9zcmMvcG9vbF9y
ZXNvdXJjZS5jcHANCj4gICAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9s
aWJzL2NvbnRhaW5lci9zcmMvbW9ub3RvbmljX2J1ZmZlcl9yZXNvdXJjZS5jcHANCj4gICAgICAr
TElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2NvbnRhaW5lci9zcmMvZGxt
YWxsb2MuY3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGli
cy9jb250YWluZXIvc3JjL3N5bmNocm9uaXplZF9wb29sX3Jlc291cmNlLmNwcA0KPiAgICAgICsj
TElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2NvbnRhaW5lci9zcmMvZGxt
YWxsb2NfMl84XzYuYw0KPiAgICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMp
L2xpYnMvY29udGFpbmVyL3NyYy9hbGxvY19saWIuYw0KPiAgICAgICsjTElCQk9PU1RfU1JDUy15
ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2NvbnRhaW5lci9zcmMvZGxtYWxsb2NfZXh0XzJfOF82
LmN8Y29udGFpbmVyDQo+ICAgICAgKw0KPiAgICAgICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0K
PiAgICAgICsjIEJvb3N0IHNvdXJjZXMgLSBsaWJzIC0gY2hyb25vDQo+ICAgICAgKyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NS
QykvbGlicy9jaHJvbm8vc3JjL3Byb2Nlc3NfY3B1X2Nsb2Nrcy5jcHANCj4gICAgICArTElCQk9P
U1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2Nocm9uby9zcmMvdGhyZWFkX2Nsb2Nr
LmNwcA0KPiAgICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvY2hy
b25vL3NyYy9jaHJvbm8uY3BwDQo+ICAgICAgKw0KPiAgICAgICsjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIw0KPiAgICAgICsjIEJvb3N0IHNvdXJjZXMgLSBsaWJzIC0gdHlwZV9lcmFzdXJlDQo+ICAg
ICAgKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAk
KExJQkJPT1NUX1NSQykvbGlicy90eXBlX2VyYXN1cmUvc3JjL2R5bmFtaWNfYmluZGluZy5jcHAN
Cj4gICAgICArDQo+ICAgICAgKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo+ICAgICAgKyMgQm9v
c3Qgc291cmNlcyAtIGxpYnMgLSB0ZXN0DQo+ICAgICAgKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
DQo+ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvdGVzdC9z
cmMvdW5pdF90ZXN0X21haW4uY3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJP
T1NUX1NSQykvbGlicy90ZXN0L3NyYy9kZWNvcmF0b3IuY3BwDQo+ICAgICAgK0xJQkJPT1NUX1NS
Q1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy90ZXN0L3NyYy9kZWJ1Zy5jcHANCj4gICAgICAr
TElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3Rlc3Qvc3JjL3Jlc3VsdHNf
cmVwb3J0ZXIuY3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykv
bGlicy90ZXN0L3NyYy91bml0X3Rlc3RfbW9uaXRvci5jcHANCj4gICAgICArTElCQk9PU1RfU1JD
Uy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3Rlc3Qvc3JjL2V4ZWN1dGlvbl9tb25pdG9yLmNw
cA0KPiAgICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3Rlc3Qv
c3JjL2NwcF9tYWluLmNwcA0KPiAgICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9T
UkMpL2xpYnMvdGVzdC9zcmMvdGVzdF9mcmFtZXdvcmtfaW5pdF9vYnNlcnZlci5jcHANCj4gICAg
ICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3Rlc3Qvc3JjL3BsYWlu
X3JlcG9ydF9mb3JtYXR0ZXIuY3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJP
T1NUX1NSQykvbGlicy90ZXN0L3NyYy9yZXN1bHRzX2NvbGxlY3Rvci5jcHANCj4gICAgICArTElC
Qk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3Rlc3Qvc3JjL2NvbXBpbGVyX2xv
Z19mb3JtYXR0ZXIuY3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NS
QykvbGlicy90ZXN0L3NyYy90ZXN0X3RyZWUuY3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSAr
PSAkKExJQkJPT1NUX1NSQykvbGlicy90ZXN0L3NyYy9wcm9ncmVzc19tb25pdG9yLmNwcA0KPiAg
ICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3Rlc3Qvc3JjL3Rl
c3RfbWFpbi5jcHANCj4gICAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9s
aWJzL3Rlc3Qvc3JjL3VuaXRfdGVzdF9sb2cuY3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSAr
PSAkKExJQkJPT1NUX1NSQykvbGlicy90ZXN0L3NyYy9mcmFtZXdvcmsuY3BwDQo+ICAgICAgK0xJ
QkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy90ZXN0L3NyYy94bWxfbG9nX2Zv
cm1hdHRlci5jcHANCj4gICAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9s
aWJzL3Rlc3Qvc3JjL3Rlc3RfdG9vbHMuY3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1MteSArPSAk
KExJQkJPT1NUX1NSQykvbGlicy90ZXN0L3NyYy91bml0X3Rlc3RfcGFyYW1ldGVycy5jcHANCj4g
ICAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3Rlc3Qvc3JjL3ht
bF9yZXBvcnRfZm9ybWF0dGVyLmNwcA0KPiAgICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJC
T09TVF9TUkMpL2xpYnMvdGVzdC9zcmMvanVuaXRfbG9nX2Zvcm1hdHRlci5jcHANCj4gICAgICAr
DQo+ICAgICAgKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo+ICAgICAgKyMgQm9vc3Qgc291cmNl
cyAtIGxpYnMgLSBsb2NhbGUNCj4gICAgICArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCj4gICAg
ICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2NhbGUvc3JjL2Vu
Y29kaW5nL2NvZGVwYWdlLmNwcA0KPiAgICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9P
U1RfU1JDKS9saWJzL2xvY2FsZS9zcmMvc3RkL2NvbGxhdGUuY3BwDQo+ICAgICAgKyNMSUJCT09T
VF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9jYWxlL3NyYy9zdGQvY29udmVydGVy
LmNwcA0KPiAgICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xv
Y2FsZS9zcmMvc3RkL251bWVyaWMuY3BwDQo+ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChM
SUJCT09TVF9TUkMpL2xpYnMvbG9jYWxlL3NyYy9zdGQvc3RkX2JhY2tlbmQuY3BwDQo+ICAgICAg
KyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9jYWxlL3NyYy9zdGQv
Y29kZWN2dC5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykv
bGlicy9sb2NhbGUvc3JjL2ljdS9kYXRlX3RpbWUuY3BwDQo+ICAgICAgKyNMSUJCT09TVF9TUkNT
LXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9jYWxlL3NyYy9pY3UvY29sbGF0b3IuY3BwDQo+
ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9jYWxlL3Ny
Yy9pY3UvY29udmVyc2lvbi5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJP
T1NUX1NSQykvbGlicy9sb2NhbGUvc3JjL2ljdS9pY3VfYmFja2VuZC5jcHANCj4gICAgICArI0xJ
QkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2NhbGUvc3JjL2ljdS9udW1l
cmljLmNwcA0KPiAgICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJz
L2xvY2FsZS9zcmMvaWN1L3RpbWVfem9uZS5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSAr
PSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2NhbGUvc3JjL2ljdS9jb2RlY3Z0LmNwcA0KPiAgICAg
ICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvY2FsZS9zcmMvaWN1
L2Zvcm1hdHRlci5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NS
QykvbGlicy9sb2NhbGUvc3JjL2ljdS9ib3VuZGFyeS5jcHANCj4gICAgICArI0xJQkJPT1NUX1NS
Q1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2NhbGUvc3JjL3V0aWwvbG9jYWxlX2RhdGEu
Y3BwDQo+ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9j
YWxlL3NyYy91dGlsL2NvZGVjdnRfY29udmVydGVyLmNwcA0KPiAgICAgICsjTElCQk9PU1RfU1JD
Uy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvY2FsZS9zcmMvdXRpbC9kZWZhdWx0X2xvY2Fs
ZS5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9s
b2NhbGUvc3JjL3V0aWwvZ3JlZ29yaWFuLmNwcA0KPiAgICAgICsjTElCQk9PU1RfU1JDUy15ICs9
ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvY2FsZS9zcmMvdXRpbC9pbmZvLmNwcA0KPiAgICAgICsj
TElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvY2FsZS9zcmMvcG9zaXgv
cG9zaXhfYmFja2VuZC5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NU
X1NSQykvbGlicy9sb2NhbGUvc3JjL3Bvc2l4L2NvbGxhdGUuY3BwDQo+ICAgICAgKyNMSUJCT09T
VF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9jYWxlL3NyYy9wb3NpeC9jb252ZXJ0
ZXIuY3BwDQo+ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMv
bG9jYWxlL3NyYy9wb3NpeC9udW1lcmljLmNwcA0KPiAgICAgICsjTElCQk9PU1RfU1JDUy15ICs9
ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvY2FsZS9zcmMvcG9zaXgvY29kZWN2dC5jcHANCj4gICAg
ICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2NhbGUvc3JjL3No
YXJlZC9kYXRlX3RpbWUuY3BwDQo+ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09T
VF9TUkMpL2xpYnMvbG9jYWxlL3NyYy9zaGFyZWQvbW9fbGFtYmRhLmNwcA0KPiAgICAgICsjTElC
Qk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvY2FsZS9zcmMvc2hhcmVkL2Zv
cm1hdHRpbmcuY3BwDQo+ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMp
L2xpYnMvbG9jYWxlL3NyYy9zaGFyZWQvaWRzLmNwcA0KPiAgICAgICsjTElCQk9PU1RfU1JDUy15
ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvY2FsZS9zcmMvc2hhcmVkL2Zvcm1hdC5jcHANCj4g
ICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2NhbGUvc3Jj
L3NoYXJlZC9tZXNzYWdlLmNwcA0KPiAgICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9P
U1RfU1JDKS9saWJzL2xvY2FsZS9zcmMvc2hhcmVkL2dlbmVyYXRvci5jcHANCj4gICAgICArI0xJ
QkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2NhbGUvc3JjL3NoYXJlZC9s
b2NhbGl6YXRpb25fYmFja2VuZC5jcHANCj4gICAgICArDQo+ICAgICAgKyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjDQo+ICAgICAgKyMgQm9vc3Qgc291cmNlcyAtIGxpYnMgLSBhdG9taWMNCj4gICAg
ICArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCj4gICAgICArTElCQk9PU1RfU1JDUy15ICs9ICQo
TElCQk9PU1RfU1JDKS9saWJzL2F0b21pYy9zcmMvbG9ja3Bvb2wuY3BwDQo+ICAgICAgKw0KPiAg
ICAgICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KPiAgICAgICsjIEJvb3N0IHNvdXJjZXMgLSBs
aWJzIC0gbG9nDQo+ICAgICAgKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo+ICAgICAgKyNMSUJC
T09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9nL3NyYy90ZXh0X29zdHJlYW1f
YmFja2VuZC5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykv
bGlicy9sb2cvc3JjL2V4Y2VwdGlvbnMuY3BwDQo+ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0g
JChMSUJCT09TVF9TUkMpL2xpYnMvbG9nL3NyYy90aHJlYWRfaWQuY3BwDQo+ICAgICAgKyNMSUJC
T09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9nL3NyYy9jb2RlX2NvbnZlcnNp
b24uY3BwDQo+ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMv
bG9nL3NyYy90cml2aWFsLmNwcA0KPiAgICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9P
U1RfU1JDKS9saWJzL2xvZy9zcmMvZHVtcF9zc3NlMy5jcHANCj4gICAgICArI0xJQkJPT1NUX1NS
Q1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2cvc3JjL2RlZmF1bHRfc2luay5jcHANCj4g
ICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2cvc3JjL2Rh
dGVfdGltZV9mb3JtYXRfcGFyc2VyLmNwcA0KPiAgICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQo
TElCQk9PU1RfU1JDKS9saWJzL2xvZy9zcmMvc2V0dXAvZmlsdGVyX3BhcnNlci5jcHANCj4gICAg
ICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2cvc3JjL3NldHVw
L2RlZmF1bHRfZm9ybWF0dGVyX2ZhY3RvcnkuY3BwDQo+ICAgICAgKyNMSUJCT09TVF9TUkNTLXkg
Kz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9nL3NyYy9zZXR1cC9wYXJzZXJfdXRpbHMuY3BwDQo+
ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9nL3NyYy9z
ZXR1cC9pbml0X2Zyb21fc2V0dGluZ3MuY3BwDQo+ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0g
JChMSUJCT09TVF9TUkMpL2xpYnMvbG9nL3NyYy9zZXR1cC9tYXRjaGVzX3JlbGF0aW9uX2ZhY3Rv
cnkuY3BwDQo+ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMv
bG9nL3NyYy9zZXR1cC9zZXR0aW5nc19wYXJzZXIuY3BwDQo+ICAgICAgKyNMSUJCT09TVF9TUkNT
LXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9nL3NyYy9zZXR1cC9pbml0X2Zyb21fc3RyZWFt
LmNwcA0KPiAgICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xv
Zy9zcmMvc2V0dXAvZm9ybWF0dGVyX3BhcnNlci5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1Mt
eSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2cvc3JjL3NldHVwL2RlZmF1bHRfZmlsdGVyX2Zh
Y3RvcnkuY3BwDQo+ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xp
YnMvbG9nL3NyYy9hdHRyaWJ1dGVfc2V0LmNwcA0KPiAgICAgICsjTElCQk9PU1RfU1JDUy15ICs9
ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvZy9zcmMvd2luZG93cy9pcGNfcmVsaWFibGVfbWVzc2Fn
ZV9xdWV1ZS5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykv
bGlicy9sb2cvc3JjL3dpbmRvd3MvbWFwcGVkX3NoYXJlZF9tZW1vcnkuY3BwDQo+ICAgICAgKyNM
SUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9nL3NyYy93aW5kb3dzL2lw
Y19zeW5jX3dyYXBwZXJzLmNwcA0KPiAgICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9P
U1RfU1JDKS9saWJzL2xvZy9zcmMvd2luZG93cy9ldmVudF9sb2dfYmFja2VuZC5jcHANCj4gICAg
ICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2cvc3JjL3dpbmRv
d3MvbGlnaHRfcndfbXV0ZXguY3BwDQo+ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJC
T09TVF9TUkMpL2xpYnMvbG9nL3NyYy93aW5kb3dzL29iamVjdF9uYW1lLmNwcA0KPiAgICAgICsj
TElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvZy9zcmMvd2luZG93cy9k
ZWJ1Z19vdXRwdXRfYmFja2VuZC5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJ
QkJPT1NUX1NSQykvbGlicy9sb2cvc3JjL3RocmVhZF9zcGVjaWZpYy5jcHANCj4gICAgICArI0xJ
QkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2cvc3JjL3RpbWVzdGFtcC5j
cHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2cv
c3JjL25hbWVkX3Njb3BlLmNwcA0KPiAgICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9P
U1RfU1JDKS9saWJzL2xvZy9zcmMvdGV4dF9tdWx0aWZpbGVfYmFja2VuZC5jcHANCj4gICAgICAr
I0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2cvc3JjL2V2ZW50LmNw
cA0KPiAgICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvZy9z
cmMvdGhyZWFkc2FmZV9xdWV1ZS5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJ
QkJPT1NUX1NSQykvbGlicy9sb2cvc3JjL2RlZmF1bHRfYXR0cmlidXRlX25hbWVzLmNwcA0KPiAg
ICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvZy9zcmMvZ2xv
YmFsX2xvZ2dlcl9zdG9yYWdlLmNwcA0KPiAgICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElC
Qk9PU1RfU1JDKS9saWJzL2xvZy9zcmMvdGV4dF9maWxlX2JhY2tlbmQuY3BwDQo+ICAgICAgKyNM
SUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9nL3NyYy9vbmNlX2Jsb2Nr
LmNwcA0KPiAgICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xv
Zy9zcmMvc3Bpcml0X2VuY29kaW5nLmNwcA0KPiAgICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQo
TElCQk9PU1RfU1JDKS9saWJzL2xvZy9zcmMvZHVtcF9hdngyLmNwcA0KPiAgICAgICsjTElCQk9P
U1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvZy9zcmMvbmFtZWRfc2NvcGVfZm9y
bWF0X3BhcnNlci5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NS
QykvbGlicy9sb2cvc3JjL3Blcm1pc3Npb25zLmNwcA0KPiAgICAgICsjTElCQk9PU1RfU1JDUy15
ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvZy9zcmMvcHJvY2Vzc19uYW1lLmNwcA0KPiAgICAg
ICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvZy9zcmMvcmVjb3Jk
X29zdHJlYW0uY3BwDQo+ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMp
L2xpYnMvbG9nL3NyYy9jb3JlLmNwcA0KPiAgICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElC
Qk9PU1RfU1JDKS9saWJzL2xvZy9zcmMvc2V2ZXJpdHlfbGV2ZWwuY3BwDQo+ICAgICAgKyNMSUJC
T09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9nL3NyYy9wb3NpeC9pcGNfcmVs
aWFibGVfbWVzc2FnZV9xdWV1ZS5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJ
QkJPT1NUX1NSQykvbGlicy9sb2cvc3JjL3Bvc2l4L29iamVjdF9uYW1lLmNwcA0KPiAgICAgICsj
TElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvZy9zcmMvcHJvY2Vzc19p
ZC5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9s
b2cvc3JjL3N5c2xvZ19iYWNrZW5kLmNwcA0KPiAgICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQo
TElCQk9PU1RfU1JDKS9saWJzL2xvZy9zcmMvZm9ybWF0X3BhcnNlci5jcHANCj4gICAgICArI0xJ
QkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2cvc3JjL3RpbWVyLmNwcA0K
PiAgICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvZy9zcmMv
YXR0cmlidXRlX3ZhbHVlX3NldC5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJ
QkJPT1NUX1NSQykvbGlicy9sb2cvc3JjL2F0dHJpYnV0ZV9uYW1lLmNwcA0KPiAgICAgICsjTElC
Qk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvZy9zcmMvZHVtcC5jcHANCj4g
ICAgICArDQo+ICAgICAgKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo+ICAgICAgKyMgQm9vc3Qg
c291cmNlcyAtIGxpYnMgLSBleGNlcHRpb24NCj4gICAgICArIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMNCj4gICAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2V4Y2Vw
dGlvbi9zcmMvY2xvbmVfY3VycmVudF9leGNlcHRpb25fbm9uX2ludHJ1c2l2ZS5jcHANCj4gICAg
ICArDQo+ICAgICAgKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo+ICAgICAgKyMgQm9vc3Qgc291
cmNlcyAtIGxpYnMgLSB0aW1lcg0KPiAgICAgICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KPiAg
ICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvdGltZXIvc3JjL2Nw
dV90aW1lci5jcHANCj4gICAgICArTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9s
aWJzL3RpbWVyL3NyYy9hdXRvX3RpbWVyc19jb25zdHJ1Y3Rpb24uY3BwDQo+ICAgICAgKw0KPiAg
ICAgICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KPiAgICAgICsjIEJvb3N0IHNvdXJjZXMgLSBs
aWJzIC0gcmFuZG9tDQo+ICAgICAgKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo+ICAgICAgK0xJ
QkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9yYW5kb20vc3JjL3JhbmRvbV9k
ZXZpY2UuY3BwDQo+ICAgICAgKw0KPiAgICAgICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KPiAg
ICAgICsjIEJvb3N0IHNvdXJjZXMgLSBsaWJzIC0gcHl0aG9uDQo+ICAgICAgKyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjDQo+ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMp
L2xpYnMvcHl0aG9uL3NyYy90dXBsZS5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAk
KExJQkJPT1NUX1NSQykvbGlicy9weXRob24vc3JjL2xpc3QuY3BwDQo+ICAgICAgKyNMSUJCT09T
VF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvcHl0aG9uL3NyYy9vYmplY3Rfb3BlcmF0
b3JzLmNwcA0KPiAgICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJz
L3B5dGhvbi9zcmMvc3RyLmNwcA0KPiAgICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9P
U1RfU1JDKS9saWJzL3B5dGhvbi9zcmMvb2JqZWN0X3Byb3RvY29sLmNwcA0KPiAgICAgICsjTElC
Qk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3B5dGhvbi9zcmMvaW1wb3J0LmNw
cA0KPiAgICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3B5dGhv
bi9zcmMvZXJyb3JzLmNwcA0KPiAgICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1Rf
U1JDKS9saWJzL3B5dGhvbi9zcmMvbnVtcHkvc2NhbGFycy5jcHANCj4gICAgICArI0xJQkJPT1NU
X1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9weXRob24vc3JjL251bXB5L3VmdW5jLmNw
cA0KPiAgICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3B5dGhv
bi9zcmMvbnVtcHkvbWF0cml4LmNwcA0KPiAgICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElC
Qk9PU1RfU1JDKS9saWJzL3B5dGhvbi9zcmMvbnVtcHkvZHR5cGUuY3BwDQo+ICAgICAgKyNMSUJC
T09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvcHl0aG9uL3NyYy9udW1weS9udW1w
eS5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9w
eXRob24vc3JjL251bXB5L25kYXJyYXkuY3BwDQo+ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0g
JChMSUJCT09TVF9TUkMpL2xpYnMvcHl0aG9uL3NyYy9tb2R1bGUuY3BwDQo+ICAgICAgKyNMSUJC
T09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvcHl0aG9uL3NyYy9kaWN0LmNwcA0K
PiAgICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3B5dGhvbi9z
cmMvbG9uZy5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykv
bGlicy9weXRob24vc3JjL2V4ZWMuY3BwDQo+ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChM
SUJCT09TVF9TUkMpL2xpYnMvcHl0aG9uL3NyYy9vYmplY3QvZnVuY3Rpb24uY3BwDQo+ICAgICAg
KyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvcHl0aG9uL3NyYy9vYmpl
Y3QvZW51bS5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykv
bGlicy9weXRob24vc3JjL29iamVjdC9waWNrbGVfc3VwcG9ydC5jcHANCj4gICAgICArI0xJQkJP
T1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9weXRob24vc3JjL29iamVjdC9jbGFz
cy5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9w
eXRob24vc3JjL29iamVjdC9saWZlX3N1cHBvcnQuY3BwDQo+ICAgICAgKyNMSUJCT09TVF9TUkNT
LXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvcHl0aG9uL3NyYy9vYmplY3QvZnVuY3Rpb25fZG9j
X3NpZ25hdHVyZS5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NS
QykvbGlicy9weXRob24vc3JjL29iamVjdC9pbmhlcml0YW5jZS5jcHANCj4gICAgICArI0xJQkJP
T1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9weXRob24vc3JjL29iamVjdC9pdGVy
YXRvci5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGli
cy9weXRob24vc3JjL29iamVjdC9zdGxfaXRlcmF0b3IuY3BwDQo+ICAgICAgKyNMSUJCT09TVF9T
UkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvcHl0aG9uL3NyYy93cmFwcGVyLmNwcA0KPiAg
ICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3B5dGhvbi9zcmMv
Y29udmVydGVyL2FyZ190b19weXRob25fYmFzZS5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1Mt
eSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9weXRob24vc3JjL2NvbnZlcnRlci9mcm9tX3B5dGhv
bi5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9w
eXRob24vc3JjL2NvbnZlcnRlci9idWlsdGluX2NvbnZlcnRlcnMuY3BwDQo+ICAgICAgKyNMSUJC
T09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvcHl0aG9uL3NyYy9jb252ZXJ0ZXIv
dHlwZV9pZC5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykv
bGlicy9weXRob24vc3JjL2NvbnZlcnRlci9yZWdpc3RyeS5jcHANCj4gICAgICArI0xJQkJPT1NU
X1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9weXRob24vc3JjL3NsaWNlLmNwcA0KPiAg
ICAgICsNCj4gICAgICArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCj4gICAgICArIyBCb29zdCBz
b3VyY2VzIC0gbGlicyAtIHNtYXJ0X3B0cg0KPiAgICAgICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
Iw0KPiAgICAgICtMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvc21hcnRf
cHRyL2V4dHJhcy9zcmMvc3BfZGVidWdfaG9va3MuY3BwDQo+ICAgICAgK0xJQkJPT1NUX1NSQ1Mt
eSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9zbWFydF9wdHIvZXh0cmFzL3NyYy9zcF9jb2xsZWN0
b3IuY3BwDQo+ICAgICAgKw0KPiAgICAgICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KPiAgICAg
ICsjIEJvb3N0IHNvdXJjZXMgLSBsaWJzIC0gZmliZXINCj4gICAgICArIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMNCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGli
cy9maWJlci9zcmMvdGltZWRfbXV0ZXguY3BwDQo+ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0g
JChMSUJCT09TVF9TUkMpL2xpYnMvZmliZXIvc3JjL3JlY3Vyc2l2ZV9tdXRleC5jcHANCj4gICAg
ICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9maWJlci9zcmMvbnVt
YS9ocHV4L3RvcG9sb2d5LmNwcA0KPiAgICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9P
U1RfU1JDKS9saWJzL2ZpYmVyL3NyYy9udW1hL2hwdXgvcGluX3RocmVhZC5jcHANCj4gICAgICAr
I0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9maWJlci9zcmMvbnVtYS9h
aXgvdG9wb2xvZ3kuY3BwDQo+ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9T
UkMpL2xpYnMvZmliZXIvc3JjL251bWEvYWl4L3Bpbl90aHJlYWQuY3BwDQo+ICAgICAgKyNMSUJC
T09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvZmliZXIvc3JjL251bWEvd2luZG93
cy90b3BvbG9neS5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NS
QykvbGlicy9maWJlci9zcmMvbnVtYS93aW5kb3dzL3Bpbl90aHJlYWQuY3BwDQo+ICAgICAgKyNM
SUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvZmliZXIvc3JjL251bWEvbGlu
dXgvdG9wb2xvZ3kuY3BwDQo+ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9T
UkMpL2xpYnMvZmliZXIvc3JjL251bWEvbGludXgvcGluX3RocmVhZC5jcHANCj4gICAgICArI0xJ
QkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9maWJlci9zcmMvbnVtYS9hbGdv
L3dvcmtfc3RlYWxpbmcuY3BwDQo+ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09T
VF9TUkMpL2xpYnMvZmliZXIvc3JjL251bWEvc29sYXJpcy90b3BvbG9neS5jcHANCj4gICAgICAr
I0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9maWJlci9zcmMvbnVtYS9z
b2xhcmlzL3Bpbl90aHJlYWQuY3BwDQo+ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJC
T09TVF9TUkMpL2xpYnMvZmliZXIvc3JjL251bWEvdG9wb2xvZ3kuY3BwDQo+ICAgICAgKyNMSUJC
T09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvZmliZXIvc3JjL251bWEvZnJlZWJz
ZC90b3BvbG9neS5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NS
QykvbGlicy9maWJlci9zcmMvbnVtYS9mcmVlYnNkL3Bpbl90aHJlYWQuY3BwDQo+ICAgICAgKyNM
SUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvZmliZXIvc3JjL251bWEvcGlu
X3RocmVhZC5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykv
bGlicy9maWJlci9zcmMvZmliZXIuY3BwDQo+ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChM
SUJCT09TVF9TUkMpL2xpYnMvZmliZXIvc3JjL211dGV4LmNwcA0KPiAgICAgICsjTElCQk9PU1Rf
U1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2ZpYmVyL3NyYy9hbGdvL3NoYXJlZF93b3Jr
LmNwcA0KPiAgICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2Zp
YmVyL3NyYy9hbGdvL3dvcmtfc3RlYWxpbmcuY3BwDQo+ICAgICAgKyNMSUJCT09TVF9TUkNTLXkg
Kz0gJChMSUJCT09TVF9TUkMpL2xpYnMvZmliZXIvc3JjL2FsZ28vcm91bmRfcm9iaW4uY3BwDQo+
ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvZmliZXIvc3Jj
L2FsZ28vYWxnb3JpdGhtLmNwcA0KPiAgICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9P
U1RfU1JDKS9saWJzL2ZpYmVyL3NyYy9jb25kaXRpb25fdmFyaWFibGUuY3BwDQo+ICAgICAgKyNM
SUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvZmliZXIvc3JjL3NjaGVkdWxl
ci5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9m
aWJlci9zcmMvcHJvcGVydGllcy5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJ
QkJPT1NUX1NSQykvbGlicy9maWJlci9zcmMvcmVjdXJzaXZlX3RpbWVkX211dGV4LmNwcA0KPiAg
ICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2ZpYmVyL3NyYy9j
b250ZXh0LmNwcA0KPiAgICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9s
aWJzL2ZpYmVyL3NyYy9mdXR1cmUuY3BwDQo+ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChM
SUJCT09TVF9TUkMpL2xpYnMvZmliZXIvc3JjL2JhcnJpZXIuY3BwDQo+ICAgICAgKw0KPiAgICAg
ICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KPiAgICAgICsjIEJvb3N0IHNvdXJjZXMgLSBsaWJz
IC0gc3RyYWNlDQo+ICAgICAgKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo+ICAgICAgKyNMSUJC
T09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvc3RhY2t0cmFjZS9zcmMvYmFja3Ry
YWNlLmNwcA0KPiAgICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJz
L3N0YWNrdHJhY2Uvc3JjL25vb3AuY3BwDQo+ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChM
SUJCT09TVF9TUkMpL2xpYnMvc3RhY2t0cmFjZS9zcmMvYWRkcjJsaW5lLmNwcA0KPiAgICAgICsj
TElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3N0YWNrdHJhY2Uvc3JjL2Jh
c2ljLmNwcHxzdGFja3RyYWNlDQo+ICAgICAgKw0KPiAgICAgICsjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIw0KPiAgICAgICsjIEJvb3N0IHNvdXJjZXMgLSBsaWJzIC0gcHJvdG8NCj4gICAgICArIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMNCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJP
T1NUX1NSQykvbGlicy9wcm90by9wcmVwcm9jZXNzL3ByZXByb2Nlc3NfcHJvdG8uY3BwDQo+ICAg
ICAgKw0KPiAgICAgICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KPiAgICAgICsjIEJvb3N0IHNv
dXJjZXMgLSBsaWJzIC0gbXBsDQo+ICAgICAgKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo+ICAg
ICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nl
c3NlZC92ZWN0b3IvdmVjdG9yNTBfYy5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAk
KExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3ZlY3Rvci92ZWN0b3I0MC5jcHAN
Cj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJl
cHJvY2Vzc2VkL3ZlY3Rvci92ZWN0b3IxMF9jLmNwcA0KPiAgICAgICsjTElCQk9PU1RfU1JDUy15
ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQvdmVjdG9yL3ZlY3RvcjIw
LmNwcA0KPiAgICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21w
bC9wcmVwcm9jZXNzZWQvdmVjdG9yL3ZlY3RvcjMwLmNwcA0KPiAgICAgICsjTElCQk9PU1RfU1JD
Uy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQvdmVjdG9yL3ZlY3Rv
cjUwLmNwcA0KPiAgICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJz
L21wbC9wcmVwcm9jZXNzZWQvdmVjdG9yL3ZlY3RvcjIwX2MuY3BwDQo+ICAgICAgKyNMSUJCT09T
VF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC92ZWN0b3Iv
dmVjdG9yMzBfYy5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NS
QykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3ZlY3Rvci92ZWN0b3I0MF9jLmNwcA0KPiAgICAgICsj
TElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQv
dmVjdG9yL3ZlY3RvcjEwLmNwcA0KPiAgICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9P
U1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQvc3JjL2JpdHhvci5jcHANCj4gICAgICArI0xJ
QkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3Ny
Yy9pdGVyX2ZvbGRfaW1wbC5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJP
T1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3NyYy9saXN0X2MuY3BwDQo+ICAgICAgKyNM
SUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9z
cmMvZXF1YWxfdG8uY3BwDQo+ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9T
UkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9zcmMvbGlzdC5jcHANCj4gICAgICArI0xJQkJPT1NU
X1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3NyYy9hcHBs
eV9md2QuY3BwDQo+ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xp
YnMvbXBsL3ByZXByb2Nlc3NlZC9zcmMvdGVtcGxhdGVfYXJpdHkuY3BwDQo+ICAgICAgKyNMSUJC
T09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9zcmMv
cXVvdGUuY3BwDQo+ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xp
YnMvbXBsL3ByZXByb2Nlc3NlZC9zcmMvbGVzcy5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1Mt
eSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3NyYy9tYXAuY3BwDQo+
ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXBy
b2Nlc3NlZC9zcmMvb3IuY3BwDQo+ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09T
VF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9zcmMvdmVjdG9yLmNwcA0KPiAgICAgICsjTElC
Qk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQvc3Jj
L2FkdmFuY2VfZm9yd2FyZC5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJP
T1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3NyYy92ZWN0b3JfYy5jcHANCj4gICAgICAr
I0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2Vk
L3NyYy9hcHBseS5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NS
QykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3NyYy9mdWxsX2xhbWJkYS5jcHANCj4gICAgICArI0xJ
QkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3Ny
Yy9mb2xkX2ltcGwuY3BwDQo+ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9T
UkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9zcmMvYmluZF9md2QuY3BwDQo+ICAgICAgKyNMSUJC
T09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9zcmMv
YXJnLmNwcA0KPiAgICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJz
L21wbC9wcmVwcm9jZXNzZWQvc3JjL25vdF9lcXVhbF90by5jcHANCj4gICAgICArI0xJQkJPT1NU
X1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3NyYy9yZXZl
cnNlX2l0ZXJfZm9sZF9pbXBsLmNwcA0KPiAgICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElC
Qk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQvc3JjL2dyZWF0ZXIuY3BwDQo+ICAgICAg
KyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3Nl
ZC9zcmMvYWR2YW5jZV9iYWNrd2FyZC5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAk
KExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3NyYy9iYXNpY19iaW5kLmNwcA0K
PiAgICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVw
cm9jZXNzZWQvc3JjL3NldC5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJP
T1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3NyYy9iaXRhbmQuY3BwDQo+ICAgICAgKyNM
SUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9z
cmMvaW5oZXJpdC5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NS
QykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3NyYy9hbmQuY3BwDQo+ICAgICAgKyNMSUJCT09TVF9T
UkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9zcmMvbWludXMu
Y3BwDQo+ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBs
L3ByZXByb2Nlc3NlZC9zcmMvaXRlcl9mb2xkX2lmX2ltcGwuY3BwDQo+ICAgICAgKyNMSUJCT09T
VF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9zcmMvcmV2
ZXJzZV9mb2xkX2ltcGwuY3BwDQo+ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09T
VF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9zcmMvbW9kdWx1cy5jcHANCj4gICAgICArI0xJ
QkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3Ny
Yy9ncmVhdGVyX2VxdWFsLmNwcA0KPiAgICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9P
U1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQvc3JjL3NoaWZ0X2xlZnQuY3BwDQo+ICAgICAg
KyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3Nl
ZC9zcmMvdW5wYWNrX2FyZ3MuY3BwDQo+ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJC
T09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9zcmMvYmluZC5jcHANCj4gICAgICArI0xJ
QkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3Ny
Yy9iaXRvci5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykv
bGlicy9tcGwvcHJlcHJvY2Vzc2VkL3NyYy9sYW1iZGFfbm9fY3Rwcy5jcHANCj4gICAgICArI0xJ
QkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3Ny
Yy9kaXZpZGVzLmNwcA0KPiAgICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JD
KS9saWJzL21wbC9wcmVwcm9jZXNzZWQvc3JjL3BsdXMuY3BwDQo+ICAgICAgKyNMSUJCT09TVF9T
UkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9zcmMvdGltZXMu
Y3BwDQo+ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBs
L3ByZXByb2Nlc3NlZC9zcmMvbGVzc19lcXVhbC5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1Mt
eSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3NyYy9kZXF1ZS5jcHAN
Cj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJl
cHJvY2Vzc2VkL3NyYy9zZXRfYy5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJ
QkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3NyYy9wbGFjZWhvbGRlcnMuY3BwDQo+
ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXBy
b2Nlc3NlZC9zcmMvYXBwbHlfd3JhcC5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAk
KExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3NyYy9zaGlmdF9yaWdodC5jcHAN
Cj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJl
cHJvY2Vzc2VkL21hcC9tYXAzMC5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJ
QkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL21hcC9tYXAxMC5jcHANCj4gICAgICAr
I0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2Vk
L21hcC9tYXAyMC5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NS
QykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL21hcC9tYXA0MC5jcHANCj4gICAgICArI0xJQkJPT1NU
X1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL21hcC9tYXA1
MC5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9t
cGwvcHJlcHJvY2Vzc2VkL3NldC9zZXQyMF9jLmNwcA0KPiAgICAgICsjTElCQk9PU1RfU1JDUy15
ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQvc2V0L3NldDEwX2MuY3Bw
DQo+ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3By
ZXByb2Nlc3NlZC9zZXQvc2V0MTAuY3BwDQo+ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChM
SUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9zZXQvc2V0NDBfYy5jcHANCj4gICAg
ICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vz
c2VkL3NldC9zZXQyMC5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NU
X1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3NldC9zZXQ0MC5jcHANCj4gICAgICArI0xJQkJP
T1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3NldC9z
ZXQzMC5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGli
cy9tcGwvcHJlcHJvY2Vzc2VkL3NldC9zZXQ1MC5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1Mt
eSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3NldC9zZXQzMF9jLmNw
cA0KPiAgICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9w
cmVwcm9jZXNzZWQvc2V0L3NldDUwX2MuY3BwDQo+ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0g
JChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9saXN0L2xpc3Q1MF9jLmNwcA0K
PiAgICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVw
cm9jZXNzZWQvbGlzdC9saXN0MjBfYy5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAk
KExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL2xpc3QvbGlzdDQwLmNwcA0KPiAg
ICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9j
ZXNzZWQvbGlzdC9saXN0MjAuY3BwDQo+ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJC
T09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9saXN0L2xpc3QxMF9jLmNwcA0KPiAgICAg
ICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNz
ZWQvbGlzdC9saXN0NDBfYy5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJP
T1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL2xpc3QvbGlzdDMwX2MuY3BwDQo+ICAgICAg
KyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3Nl
ZC9saXN0L2xpc3QxMC5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NU
X1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL2xpc3QvbGlzdDMwLmNwcA0KPiAgICAgICsjTElC
Qk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQvbGlz
dC9saXN0NTAuY3BwDQo+ICAgICAgKw0KPiAgICAgICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0K
PiAgICAgICsjIEJvb3N0IHNvdXJjZXMgLSBsaWJzIC0gbXBpDQo+ICAgICAgKyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjDQo+ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMp
L2xpYnMvbXBpL3NyYy9icm9hZGNhc3QuY3BwDQo+ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0g
JChMSUJCT09TVF9TUkMpL2xpYnMvbXBpL3NyYy9wYWNrZWRfc2tlbGV0b25faWFyY2hpdmUuY3Bw
DQo+ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBpL3Ny
Yy9lbnZpcm9ubWVudC5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NU
X1NSQykvbGlicy9tcGkvc3JjL2NvbXB1dGF0aW9uX3RyZWUuY3BwDQo+ICAgICAgKyNMSUJCT09T
VF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBpL3NyYy90ZXh0X3NrZWxldG9uX29h
cmNoaXZlLmNwcA0KPiAgICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9s
aWJzL21waS9zcmMvbXBpX2RhdGF0eXBlX29hcmNoaXZlLmNwcA0KPiAgICAgICsjTElCQk9PU1Rf
U1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21waS9zcmMvcmVxdWVzdC5jcHANCj4gICAg
ICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGkvc3JjL2Vycm9y
X3N0cmluZy5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykv
bGlicy9tcGkvc3JjL3BhY2tlZF9vYXJjaGl2ZS5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1Mt
eSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGkvc3JjL3BvaW50X3RvX3BvaW50LmNwcA0KPiAg
ICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21waS9zcmMvZ3Jh
cGhfY29tbXVuaWNhdG9yLmNwcA0KPiAgICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9P
U1RfU1JDKS9saWJzL21waS9zcmMvcGFja2VkX2lhcmNoaXZlLmNwcA0KPiAgICAgICsjTElCQk9P
U1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21waS9zcmMvY29tbXVuaWNhdG9yLmNw
cA0KPiAgICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21waS9z
cmMvcHl0aG9uL3B5X2NvbW11bmljYXRvci5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSAr
PSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGkvc3JjL3B5dGhvbi9kYXRhdHlwZXMuY3BwDQo+ICAg
ICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBpL3NyYy9weXRo
b24vcHlfdGltZXIuY3BwDQo+ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9T
UkMpL2xpYnMvbXBpL3NyYy9weXRob24vZG9jdW1lbnRhdGlvbi5jcHANCj4gICAgICArI0xJQkJP
T1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGkvc3JjL3B5dGhvbi9tb2R1bGUu
Y3BwDQo+ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBp
L3NyYy9weXRob24vcHlfZXhjZXB0aW9uLmNwcA0KPiAgICAgICsjTElCQk9PU1RfU1JDUy15ICs9
ICQoTElCQk9PU1RfU1JDKS9saWJzL21waS9zcmMvcHl0aG9uL3B5X2Vudmlyb25tZW50LmNwcA0K
PiAgICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21waS9zcmMv
cHl0aG9uL3B5X3JlcXVlc3QuY3BwDQo+ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJC
T09TVF9TUkMpL2xpYnMvbXBpL3NyYy9weXRob24vc2VyaWFsaXplLmNwcA0KPiAgICAgICsjTElC
Qk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21waS9zcmMvcHl0aG9uL3B5X25v
bmJsb2NraW5nLmNwcA0KPiAgICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JD
KS9saWJzL21waS9zcmMvcHl0aG9uL3NrZWxldG9uX2FuZF9jb250ZW50LmNwcA0KPiAgICAgICsj
TElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21waS9zcmMvcHl0aG9uL2Nv
bGxlY3RpdmVzLmNwcA0KPiAgICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JD
KS9saWJzL21waS9zcmMvcHl0aG9uL3N0YXR1cy5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1Mt
eSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGkvc3JjL2ludGVyY29tbXVuaWNhdG9yLmNwcA0K
PiAgICAgICsjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21waS9zcmMv
Y2FydGVzaWFuX2NvbW11bmljYXRvci5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAk
KExJQkJPT1NUX1NSQykvbGlicy9tcGkvc3JjL2dyb3VwLmNwcA0KPiAgICAgICsjTElCQk9PU1Rf
U1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21waS9zcmMvY29udGVudF9vYXJjaGl2ZS5j
cHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGkv
c3JjL29mZnNldHMuY3BwDQo+ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9T
UkMpL2xpYnMvbXBpL3NyYy90aW1lci5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAk
KExJQkJPT1NUX1NSQykvbGlicy9tcGkvc3JjL21waV9kYXRhdHlwZV9jYWNoZS5jcHANCj4gICAg
ICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGkvc3JjL2V4Y2Vw
dGlvbi5jcHANCj4gICAgICArI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGli
cy9tcGkvc3JjL3BhY2tlZF9za2VsZXRvbl9vYXJjaGl2ZS5jcHANCj4gICAgICArDQo+ICAgICAg
KyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo+ICAgICAgKyMgQm9vc3Qgc291cmNlcyAtIGxpYnMg
LSBjb3JvdXRpbmUNCj4gICAgICArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCj4gICAgICArI0xJ
QkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9jb3JvdXRpbmUvc3JjL2V4Y2Vw
dGlvbnMuY3BwDQo+ICAgICAgKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xp
YnMvY29yb3V0aW5lL3NyYy9wb3NpeC9zdGFja190cmFpdHMuY3BwDQo+ICAgICAgKyNMSUJCT09T
VF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvY29yb3V0aW5lL3NyYy9kZXRhaWwvY29y
b3V0aW5lX2NvbnRleHQuY3BwDQo+ICAgICAgLS0NCj4gICAgICAyLjIwLjENCj4gICAgICANCj4g
ICAgICANCj4NCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
Ck1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qu
b3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3Mt
ZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Tue Dec 17 17:10:13 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 17 Dec 2019 17:10:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ihGMP-0005pI-4B; Tue, 17 Dec 2019 17:10:13 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=V2zh=2H=stud.acs.upb.ro=vlad_andrei.badoiu@srs-us1.protection.inumbo.net>)
 id 1ihGMN-0005pC-2w
 for minios-devel@lists.xen.org; Tue, 17 Dec 2019 17:10:11 +0000
X-Inumbo-ID: 14739680-20f0-11ea-8f27-12813bfff9fa
Received: from EUR04-HE1-obe.outbound.protection.outlook.com (unknown
 [40.107.7.78]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 14739680-20f0-11ea-8f27-12813bfff9fa;
 Tue, 17 Dec 2019 17:10:10 +0000 (UTC)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hSxs33tV4qbKbqzKMRkifN4Lypt5QwI4Jg9Wt7R5P4NtHBPTTtiLHJwxX7N9i5d9erCqpKY/fE5V7/HB/XoqoS36hLB3hP1BxaUWv24CcBCZKRIe5/MqphkXATBlu4ZiqsimHayY+Ir/BZiXEFIvpP+hb9hzVxUdA9xU5hFDRehK8rZ6dBGMHuIUMUzPGqAYt0EOEZ55AHEm3cLDVMG//67mIZSgC3EUi4Lhiq2shaH7iEr0Y9ZXmYxPO3xI8cQaij+xLcmxt/6CmGrzvtTq1USrfqTGA4NSsDBGXfnu1FHbR3TJUqtE9TWT3wR2MRqqmnORVfCOMMZR8NQFX47muw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=S/9Ec60dU6QPGt4bwKiLl0iKKiNhFEK4E0Dc4tiYbQM=;
 b=VDpuNFC/ZB5J784Z5zKXOHZNBL7mx+poAwluOpoofDqcK39zKyvBcfWViD/wzq3zmI/BdBvEgf+HUgfGqcJLz46dxNq22Zp+0dB2mWAAWD04x8VV1M6E6LU9NeKdgdH6u30rHfirC8OSAQ9lNW2HrtjMt09VYDDDWgkSaJ27zyElLHJIW5cQdpwNws9lyhRTH0pA7jI6Q5lJz8tsE/2lHcMEg5C0g4qVjZb/KLwgexSonuz6bn1o8revrxEZ2V3Svc9JjWv/Wp7ZDlwzowHxIzIf/6HBuhqQNeHoIMcVOMmyPp/2XokLH1mtOclo+B0GUZ6Hb+UsoYPwG4DdjSztXQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=stud.acs.upb.ro; dmarc=pass action=none
 header.from=stud.acs.upb.ro; dkim=pass header.d=stud.acs.upb.ro; arc=none
Received: from AM6PR01MB4198.eurprd01.prod.exchangelabs.com (20.176.243.147)
 by AM6PR01MB5190.eurprd01.prod.exchangelabs.com (20.178.94.27) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.2538.18; Tue, 17 Dec 2019 17:10:02 +0000
Received: from AM6PR01MB4198.eurprd01.prod.exchangelabs.com
 ([fe80::c874:8601:87ed:369d]) by AM6PR01MB4198.eurprd01.prod.exchangelabs.com
 ([fe80::c874:8601:87ed:369d%6]) with mapi id 15.20.2538.019; Tue, 17 Dec 2019
 17:10:02 +0000
From: =?utf-8?B?VmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIp?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
To: Felipe Huici <Felipe.Huici@neclab.eu>, "minios-devel@lists.xen.org"
 <minios-devel@lists.xen.org>
Thread-Topic: [UNIKRAFT/BOOST PATCH 6/6] README.md: Update with info about
 building
Thread-Index: AQHVr7qBAtTcpF/MgESuIiXgGm0nI6e+aO4AgAAxP4A=
Date: Tue, 17 Dec 2019 17:10:02 +0000
Message-ID: <596c43ab-bc45-8705-c66d-2a83fd57049c@stud.acs.upb.ro>
References: <20191211003233.27192-1-vlad_andrei.badoiu@stud.acs.upb.ro>
 <20191211003233.27192-7-vlad_andrei.badoiu@stud.acs.upb.ro>
 <AD1CEF98-BABB-4517-A58A-B4BB63150099@neclab.eu>
In-Reply-To: <AD1CEF98-BABB-4517-A58A-B4BB63150099@neclab.eu>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-clientproxiedby: ZR0P278CA0047.CHEP278.PROD.OUTLOOK.COM
 (2603:10a6:910:1d::16) To AM6PR01MB4198.eurprd01.prod.exchangelabs.com
 (2603:10a6:20b:26::19)
authentication-results: spf=none (sender IP is )
 smtp.mailfrom=vlad_andrei.badoiu@stud.acs.upb.ro; 
x-ms-exchange-messagesentrepresentingtype: 1
x-originating-ip: [2a02:2f0b:8303:7b00:1912:8156:9a03:fda9]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: b4b0a2c8-2b8f-4460-8114-08d78313f47a
x-ms-traffictypediagnostic: AM6PR01MB5190:
x-microsoft-antispam-prvs: <AM6PR01MB51908F419F078CFB0B180EE8A6500@AM6PR01MB5190.eurprd01.prod.exchangelabs.com>
x-ms-oob-tlc-oobclassifiers: OLM:6430;
x-forefront-prvs: 02543CD7CD
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(346002)(39840400004)(366004)(376002)(396003)(136003)(189003)(199004)(8936002)(2906002)(6512007)(508600001)(786003)(81166006)(316002)(15650500001)(85182001)(8676002)(81156014)(71200400001)(31686004)(110136005)(86362001)(66446008)(64756008)(66556008)(66476007)(66946007)(2616005)(85202003)(5660300002)(6486002)(31696002)(66574012)(4744005)(6506007)(52116002)(53546011)(186003);
 DIR:OUT; SFP:1101; SCL:1; SRVR:AM6PR01MB5190;
 H:AM6PR01MB4198.eurprd01.prod.exchangelabs.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; MX:1; A:0; 
received-spf: None (protection.outlook.com: stud.acs.upb.ro does not designate
 permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: hWoBqJ8MT3Zma6H34bRm+bQ+LBrqEwCkQfzEu6E52YpE65gRvGQTho1CkNJOojGA7D6OnLVOgksiGBXHY/hJXcGCavxABEnekk7qJpQjgALMOPWtskx+L7ThxIXx+o11bVfs5v+vT8DptlgiFEyz6Rz6pnReZmMNAIoMRyuMn7xNvi4AwKsgn8bEzckULO+ZV/oHWPS1pSA55te/XA9i8+yNjG55coUSJgp63iT6sc+32Zeq70xFA5W/5pgtq0QdsgRGE89rcZM2Bb3kYt+5Wnrg23ev66EKG3Ntn4SrH0U5nwagK2ixX/V4X+XqP0ql33inT4NZekIj2UVgY9AnB4+aJw+/z/xIDP045ldANlqIUTFGrei7K0sPtDEkY+Jdiqxs6nI9DIF9kfxsvC3uYEE5+VCAlrL+xllew5/g480i0d22B/fTecuXYKOG/cTI
x-ms-exchange-transport-forked: True
Content-ID: <78030E8DDBAB004CAF8865E6ED9B24AF@eurprd01.prod.exchangelabs.com>
MIME-Version: 1.0
X-OriginatorOrg: stud.acs.upb.ro
X-MS-Exchange-CrossTenant-Network-Message-Id: b4b0a2c8-2b8f-4460-8114-08d78313f47a
X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Dec 2019 17:10:02.6410 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 2d8cc8ba-8dda-4334-9e5c-fac2092e9bac
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: DRp10NZofd3hSXp8ESR1kNNvSFduD3pUjYdBsv2TWK7h/X9UYc4Z6H99liFj18vuyp3rSS9biZzYvgkshdB63ftaMA0WCoF5E8M/geGG2wv/AjZtdAEsucvgkZoire0A
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR01MB5190
Subject: Re: [Minios-devel] [UNIKRAFT/BOOST PATCH 6/6] README.md: Update
 with info about building
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgRmVsaXBlLA0KDQpJJ2xsIHNlbmQgYSB2MiB3aXRoIHRoZSB1cGRhdGVkIHJlYWRtZS4NCg0K
VGhhbmtzLA0KDQpWbGFkDQoNCk9uIDE3LjEyLjIwMTkgMTY6MTMsIEZlbGlwZSBIdWljaSB3cm90
ZToNCj4gSGkgVmxhZCwNCj4NCj4gWW91J3JlIG1pc3NpbmcgcHRocmVhZC9wdGhyZWFkLWVtYmVk
ZGVkIGFzIGEgZGVwZW5kZW5jeS4NCj4NCj4gLS0gRmVsaXBlDQo+DQo+IO+7v09uIDExLjEyLjE5
LCAwMTozMiwgIlZsYWQtQW5kcmVpIELEgkRPSVUgKDc4NjkyKSIgPHZsYWRfYW5kcmVpLmJhZG9p
dUBzdHVkLmFjcy51cGIucm8+IHdyb3RlOg0KPg0KPiAgICAgIFNpZ25lZC1vZmYtYnk6IFZsYWQt
QW5kcmVpIEJhZG9pdSA8dmxhZF9hbmRyZWkuYmFkb2l1QHN0dWQuYWNzLnVwYi5ybz4NCj4gICAg
ICAtLS0NCj4gICAgICAgUkVBRE1FLm1kIHwgNiArKysrKysNCj4gICAgICAgMSBmaWxlIGNoYW5n
ZWQsIDYgaW5zZXJ0aW9ucygrKQ0KPiAgICAgIA0KPiAgICAgIGRpZmYgLS1naXQgYS9SRUFETUUu
bWQgYi9SRUFETUUubWQNCj4gICAgICBpbmRleCA4ZDMwOWU5Li4wOTU0M2EyIDEwMDY0NA0KPiAg
ICAgIC0tLSBhL1JFQURNRS5tZA0KPiAgICAgICsrKyBiL1JFQURNRS5tZA0KPiAgICAgIEBAIC0z
LDUgKzMsMTEgQEAgYm9vc3QgZm9yIFVuaWtyYWZ0DQo+ICAgICAgIA0KPiAgICAgICBUaGlzIGlz
IHRoZSBwb3J0IG9mIGJvb3N0IGZvciBVbmlrcmFmdCBhcyBleHRlcm5hbCBsaWJyYXJ5Lg0KPiAg
ICAgICANCj4gICAgICArIyMgQnVpbGQNCj4gICAgICAraW50eCBkZXBlbmRzIG9uIHRoZSBmb2xs
b3dpbmcgbGlicmFyaWVzLCB0aGF0IG5lZWQgdG8gYmUgYWRkZWQgdG8gYE1ha2VmaWxlYCBpbiB0
aGlzIG9yZGVyOg0KPiAgICAgICsqIENYWCBzdGFuZGFyZCBsaWJyYXJ5LCBlLmcuIGBsaWJ1bndp
bmRgLCBgY29tcGlsZXItcnRgLCBgbGliY3h4YWJpYCwgYGxpYmN4eGANCj4gICAgICArKiBgbGli
Y2AsIGUuZy4gYG5ld2xpYmANCj4gICAgICArKiBTSU1EIGludHJpbnNpY3MsIGUuZy4gYGludGVs
LWludHJpbmljc2ANCj4gICAgICArDQo+ICAgICAgIFBsZWFzZSByZWZlciB0byB0aGUgYFJFQURN
RS5tZGAgYXMgd2VsbCBhcyB0aGUgZG9jdW1lbnRhdGlvbiBpbiB0aGUgYGRvYy9gDQo+ICAgICAg
IHN1YmRpcmVjdG9yeSBvZiB0aGUgbWFpbiB1bmlrcmFmdCByZXBvc2l0b3J5Lg0KPiAgICAgIC0t
DQo+ICAgICAgMi4yMC4xDQo+ICAgICAgDQo+ICAgICAgDQo+DQpfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1p
bmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qu
b3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Wed Dec 18 10:09:25 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 18 Dec 2019 10:09:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ihWGh-0001F5-V0; Wed, 18 Dec 2019 10:09:23 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=U4bb=2I=neclab.eu=felipe.huici@srs-us1.protection.inumbo.net>)
 id 1ihWGh-0001Ep-1r
 for minios-devel@lists.xen.org; Wed, 18 Dec 2019 10:09:23 +0000
X-Inumbo-ID: 751602d2-217e-11ea-904e-12813bfff9fa
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 751602d2-217e-11ea-904e-12813bfff9fa;
 Wed, 18 Dec 2019 10:09:21 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id CD0E6F2015;
 Wed, 18 Dec 2019 11:09:19 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-b.office.hd)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id Jdiu993OnMoV; Wed, 18 Dec 2019 11:09:19 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from puck.office.hd (puck.office.hd [192.168.24.91])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 94BFFF200E;
 Wed, 18 Dec 2019 11:09:13 +0100 (CET)
Received: from oberon.office.hd (192.168.24.90) by puck.office.hd
 (192.168.24.91) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Wed, 18 Dec
 2019 11:09:13 +0100
Received: from oberon.office.hd ([192.168.126.11]) by Oberon.office.hd
 ([192.168.126.11]) with mapi id 15.01.1713.009; Wed, 18 Dec 2019 11:09:13
 +0100
From: Felipe Huici <Felipe.Huici@neclab.eu>
To: =?utf-8?B?VmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIp?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>, "minios-devel@lists.xen.org"
 <minios-devel@lists.xen.org>
Thread-Topic: [UNIKRAFT/NEWLIB PATCH 1/2] Include stdint.h in sys/_types.h
Thread-Index: AQHVtPwisnkUBpuGgEC7ufxyZW0dYKe/rGsA
Date: Wed, 18 Dec 2019 10:09:12 +0000
Message-ID: <50CD95C0-189D-432B-A810-96F63A86AD78@neclab.eu>
References: <20191217170455.1606-1-vlad_andrei.badoiu@stud.acs.upb.ro>
 <20191217170455.1606-2-vlad_andrei.badoiu@stud.acs.upb.ro>
In-Reply-To: <20191217170455.1606-2-vlad_andrei.badoiu@stud.acs.upb.ro>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: Microsoft-MacOutlook/10.10.10.191111
x-originating-ip: [192.168.24.96]
Content-ID: <FF7D76DEC6E3D94586A4F7979D364E44@office.hd>
MIME-Version: 1.0
Subject: Re: [Minios-devel] [UNIKRAFT/NEWLIB PATCH 1/2] Include stdint.h in
 sys/_types.h
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Simon Kuenzer <simon.kuenzer@neclab.eu>,
 "costin.lupu@cs.pub.ro" <costin.lupu@cs.pub.ro>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgVmxhZCwNCg0KVGhhbmtzIGZvciB0aGUgZml4IQ0KDQpSZXZpZXdlZC1ieTogRmVsaXBlIEh1
aWNpIDxmZWxpcGUuaHVpY2lAbmVjbGFiLmV1Pg0KDQrvu79PbiAxNy4xMi4xOSwgMTg6MDUsICJW
bGFkLUFuZHJlaSBCxIJET0lVICg3ODY5MikiIDx2bGFkX2FuZHJlaS5iYWRvaXVAc3R1ZC5hY3Mu
dXBiLnJvPiB3cm90ZToNCg0KICAgIHN0ZGF0b21pYy5oIGRvZXMgbm8gbG9uZ2VyIGJ1aWxkIGJl
Y2F1c2UgaXQncyBtaXNzaW5nIHRoZSBkZWZpbml0aW9ucyBvZg0KICAgIHN0ZGludC5oIHRoYXQg
c2hvdWxkIGNvbWUgd2l0aCBzeXMvdHlwZXMuaA0KICAgIA0KICAgIFNpZ25lZC1vZmYtYnk6IFZs
YWQtQW5kcmVpIEJhZG9pdSA8dmxhZF9hbmRyZWkuYmFkb2l1QHN0dWQuYWNzLnVwYi5ybz4NCiAg
ICAtLS0NCiAgICAgaW5jbHVkZS9zeXMvX3R5cGVzLmggfCAxICsNCiAgICAgMSBmaWxlIGNoYW5n
ZWQsIDEgaW5zZXJ0aW9uKCspDQogICAgDQogICAgZGlmZiAtLWdpdCBhL2luY2x1ZGUvc3lzL190
eXBlcy5oIGIvaW5jbHVkZS9zeXMvX3R5cGVzLmgNCiAgICBpbmRleCA5NzJhN2RlLi40Yjk5NTYx
IDEwMDY0NA0KICAgIC0tLSBhL2luY2x1ZGUvc3lzL190eXBlcy5oDQogICAgKysrIGIvaW5jbHVk
ZS9zeXMvX3R5cGVzLmgNCiAgICBAQCAtMzcsNiArMzcsNyBAQA0KICAgICANCiAgICAgLyogVXNl
IFVuaWtyYWZ0IHR5cGUgZGVmaW5pdGlvbnMgKi8NCiAgICAgI2luY2x1ZGUgPHVrL190eXBlcy5o
Pg0KICAgICsjaW5jbHVkZSA8c3RkaW50Lmg+DQogICAgIA0KICAgICAvKiBQcm92aWRlIF9DTE9D
S19UXyAqLw0KICAgICAjZGVmaW5lIF9DTE9DS19UXyBsb25nIC8qIGNsb2NrKCkgKi8NCiAgICAt
LSANCiAgICAyLjIwLjENCiAgICANCiAgICANCg0KX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2
ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWls
bWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Wed Dec 18 10:09:48 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 18 Dec 2019 10:09:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ihWH6-0001J0-2B; Wed, 18 Dec 2019 10:09:48 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=U4bb=2I=neclab.eu=felipe.huici@srs-us1.protection.inumbo.net>)
 id 1ihWH5-0001Iv-Oi
 for minios-devel@lists.xen.org; Wed, 18 Dec 2019 10:09:47 +0000
X-Inumbo-ID: 7f506b3e-217e-11ea-88e7-bc764e2007e4
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 7f506b3e-217e-11ea-88e7-bc764e2007e4;
 Wed, 18 Dec 2019 10:09:38 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 2B829F2015;
 Wed, 18 Dec 2019 11:09:37 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-b.office.hd)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id MqGIpsroyshl; Wed, 18 Dec 2019 11:09:37 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from titania.office.hd (titania.office.hd [192.168.24.89])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id EF382F200E;
 Wed, 18 Dec 2019 11:09:30 +0100 (CET)
Received: from oberon.office.hd (192.168.24.90) by titania.office.hd
 (192.168.24.89) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Wed, 18 Dec
 2019 11:09:30 +0100
Received: from oberon.office.hd ([192.168.126.11]) by Oberon.office.hd
 ([192.168.126.11]) with mapi id 15.01.1713.009; Wed, 18 Dec 2019 11:09:30
 +0100
From: Felipe Huici <Felipe.Huici@neclab.eu>
To: =?utf-8?B?VmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIp?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>, "minios-devel@lists.xen.org"
 <minios-devel@lists.xen.org>
Thread-Topic: [UNIKRAFT/NEWLIB PATCH 2/2] Add patch to fix atomic_* definitions
Thread-Index: AQHVtPwjIG7z+ZX7s06Sbh/6DKuIMqe/rIEA
Date: Wed, 18 Dec 2019 10:09:30 +0000
Message-ID: <FFC18442-037F-4267-8734-A63C3B8B7A60@neclab.eu>
References: <20191217170455.1606-1-vlad_andrei.badoiu@stud.acs.upb.ro>
 <20191217170455.1606-3-vlad_andrei.badoiu@stud.acs.upb.ro>
In-Reply-To: <20191217170455.1606-3-vlad_andrei.badoiu@stud.acs.upb.ro>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: Microsoft-MacOutlook/10.10.10.191111
x-originating-ip: [192.168.24.96]
Content-ID: <23B85B3BB7CC354FAFBC1F801F127A2C@office.hd>
MIME-Version: 1.0
Subject: Re: [Minios-devel] [UNIKRAFT/NEWLIB PATCH 2/2] Add patch to fix
 atomic_* definitions
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Simon Kuenzer <simon.kuenzer@neclab.eu>,
 "costin.lupu@cs.pub.ro" <costin.lupu@cs.pub.ro>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgVmxhZCwgdGhpcyBsb29rcyBnb29kLg0KDQpSZXZpZXdlZC1ieTogRmVsaXBlIEh1aWNpIDxm
ZWxpcGUuaHVpY2lAbmVjbGFiLmV1Pg0KDQrvu79PbiAxNy4xMi4xOSwgMTg6MDUsICJWbGFkLUFu
ZHJlaSBCxIJET0lVICg3ODY5MikiIDx2bGFkX2FuZHJlaS5iYWRvaXVAc3R1ZC5hY3MudXBiLnJv
PiB3cm90ZToNCg0KICAgIEN1cnJlbnRseSwgaW5jbHVkaW5nIHN0ZGF0b21pYy5oIGNhdXNlcyB0
aGUgY29tcGlsYXRpb24gdG8gZmFpbCBkdWUgdG8NCiAgICB0aGUgb2Jzb2xhdGUgZGVmaW5pdGlv
bnMgb2YgYXRvbWljXyogZnVuY3Rpb25zLiBXZSBhZGFwdCB0aGUgZXhpc3RpbmcNCiAgICBpbXBs
ZW1lbnRhdGlvbnMgdmlhIGEgcGF0Y2ggdG8gZml4IHRoaXMuDQogICAgDQogICAgU2lnbmVkLW9m
Zi1ieTogVmxhZC1BbmRyZWkgQmFkb2l1IDx2bGFkX2FuZHJlaS5iYWRvaXVAc3R1ZC5hY3MudXBi
LnJvPg0KICAgIC0tLQ0KICAgICAuLi4tc3RkYXRvbWljLmgtRml4LWF0b21pY18tZGVmaW5pdGlv
bnMucGF0Y2ggfCA5MyArKysrKysrKysrKysrKysrKysrDQogICAgIDEgZmlsZSBjaGFuZ2VkLCA5
MyBpbnNlcnRpb25zKCspDQogICAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBwYXRjaGVzLzAwMDktc3Rk
YXRvbWljLmgtRml4LWF0b21pY18tZGVmaW5pdGlvbnMucGF0Y2gNCiAgICANCiAgICBkaWZmIC0t
Z2l0IGEvcGF0Y2hlcy8wMDA5LXN0ZGF0b21pYy5oLUZpeC1hdG9taWNfLWRlZmluaXRpb25zLnBh
dGNoIGIvcGF0Y2hlcy8wMDA5LXN0ZGF0b21pYy5oLUZpeC1hdG9taWNfLWRlZmluaXRpb25zLnBh
dGNoDQogICAgbmV3IGZpbGUgbW9kZSAxMDA2NDQNCiAgICBpbmRleCAwMDAwMDAwLi42Y2I4YTgy
DQogICAgLS0tIC9kZXYvbnVsbA0KICAgICsrKyBiL3BhdGNoZXMvMDAwOS1zdGRhdG9taWMuaC1G
aXgtYXRvbWljXy1kZWZpbml0aW9ucy5wYXRjaA0KICAgIEBAIC0wLDAgKzEsOTMgQEANCiAgICAr
RnJvbSAyODg2ZjdlMWY2NTQ2ZWY4NTc3ODU4OWNkZmU2NWI4ZDBmYjk5MDAyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQ0KICAgICtGcm9tOiBWbGFkLUFuZHJlaSBCYWRvaXUgPHZsYWRfYW5kcmVp
LmJhZG9pdUBzdHVkLmFjcy51cGIucm8+DQogICAgK0RhdGU6IFR1ZSwgMTcgRGVjIDIwMTkgMTg6
NTA6MDMgKzAyMDANCiAgICArU3ViamVjdDogW1BBVENIIDEvMV0gc3RkYXRvbWljLmg6IEZpeCBh
dG9taWNfKiBkZWZpbml0aW9ucw0KICAgICsNCiAgICArVGhlIGN1cnJlbnQgYXRvbWljXyogZG8g
bm90IGNvbXBpbGUgdW5kZXIgR0NDLCB3ZSBhZGFwdCB0aGUNCiAgICAraW1wbGVtZW50YXRpb24g
dG8gZm9sbG93IHRoZSBleGlzdGluZyBvbmVzIGZyb20gZ2NjLg0KICAgICsNCiAgICArU2lnbmVk
LW9mZi1ieTogVmxhZC1BbmRyZWkgQmFkb2l1IDx2bGFkX2FuZHJlaS5iYWRvaXVAc3R1ZC5hY3Mu
dXBiLnJvPg0KICAgICstLS0NCiAgICArIG5ld2xpYi9saWJjL2luY2x1ZGUvc3RkYXRvbWljLmgg
fCA1OCArKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0NCiAgICArIDEgZmlsZSBjaGFu
Z2VkLCA0MiBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMoLSkNCiAgICArDQogICAgK2RpZmYg
LS1naXQgYS9uZXdsaWIvbGliYy9pbmNsdWRlL3N0ZGF0b21pYy5oIGIvbmV3bGliL2xpYmMvaW5j
bHVkZS9zdGRhdG9taWMuaA0KICAgICtpbmRleCAwOWMwY2Y3Li5kYWExOTY5IDEwMDY0NA0KICAg
ICstLS0gYS9uZXdsaWIvbGliYy9pbmNsdWRlL3N0ZGF0b21pYy5oDQogICAgKysrKyBiL25ld2xp
Yi9saWJjL2luY2x1ZGUvc3RkYXRvbWljLmgNCiAgICArQEAgLTI1OCwzMCArMjU4LDU2IEBAIHR5
cGVkZWYgX0F0b21pYyh1aW50bWF4X3QpCQlhdG9taWNfdWludG1heF90Ow0KICAgICsgI2RlZmlu
ZQlhdG9taWNfc3RvcmVfZXhwbGljaXQob2JqZWN0LCBkZXNpcmVkLCBvcmRlcikJCQlcDQogICAg
KyAJX19jMTFfYXRvbWljX3N0b3JlKG9iamVjdCwgZGVzaXJlZCwgb3JkZXIpDQogICAgKyAjZWxp
ZiBkZWZpbmVkKF9fR05VQ19BVE9NSUNTKQ0KICAgICstI2RlZmluZQlhdG9taWNfY29tcGFyZV9l
eGNoYW5nZV9zdHJvbmdfZXhwbGljaXQob2JqZWN0LCBleHBlY3RlZCwJXA0KICAgICstICAgIGRl
c2lyZWQsIHN1Y2Nlc3MsIGZhaWx1cmUpCQkJCQkJXA0KICAgICstCV9fYXRvbWljX2NvbXBhcmVf
ZXhjaGFuZ2VfbigmKG9iamVjdCktPl9fdmFsLCBleHBlY3RlZCwJCVwNCiAgICArLQkgICAgZGVz
aXJlZCwgMCwgc3VjY2VzcywgZmFpbHVyZSkNCiAgICArLSNkZWZpbmUJYXRvbWljX2NvbXBhcmVf
ZXhjaGFuZ2Vfd2Vha19leHBsaWNpdChvYmplY3QsIGV4cGVjdGVkLAkJXA0KICAgICstICAgIGRl
c2lyZWQsIHN1Y2Nlc3MsIGZhaWx1cmUpCQkJCQkJXA0KICAgICstCV9fYXRvbWljX2NvbXBhcmVf
ZXhjaGFuZ2VfbigmKG9iamVjdCktPl9fdmFsLCBleHBlY3RlZCwJCVwNCiAgICArLQkgICAgZGVz
aXJlZCwgMSwgc3VjY2VzcywgZmFpbHVyZSkNCiAgICArKyNkZWZpbmUJYXRvbWljX2NvbXBhcmVf
ZXhjaGFuZ2Vfc3Ryb25nX2V4cGxpY2l0KG9iamVjdCwgZXhwZWN0ZWQsCQkJXA0KICAgICsrICAg
IGRlc2lyZWQsIHN1Y2Nlc3MsIGZhaWx1cmUpCQkJCQkJCQlcDQogICAgKytfX2V4dGVuc2lvbl9f
CQkJCQkJCQkJCVwNCiAgICArKyh7CQkJCQkJCQkJCQlcDQogICAgKysJX19hdXRvX3R5cGUgX19h
dG9taWNfY29tcGFyZV9leGNoYW5nZV9wdHIgPSAob2JqZWN0KTsJCQkJXA0KICAgICsrCV9fdHlw
ZW9mX18gKCpfX2F0b21pY19jb21wYXJlX2V4Y2hhbmdlX3B0cikgX19hdG9taWNfY29tcGFyZV9l
eGNoYW5nZV90bXAgCVwNCiAgICArKwk9IChkZXNpcmVkKTsJCQkJCQkJCQlcDQogICAgKysJX19h
dG9taWNfY29tcGFyZV9leGNoYW5nZSAoX19hdG9taWNfY29tcGFyZV9leGNoYW5nZV9wdHIsIChl
eHBlY2VkKSwJCVwNCiAgICArKwkJJl9fYXRvbWljX2NvbXBhcmVfZXhjaGFuZ2VfdG1wLAkJCQkJ
CVwNCiAgICArKwkJMCwgKHN1Y2Nlc3MpLCAoZmFpbHVyZSkpOwkJCQkJCVwNCiAgICArKyAgfSkN
CiAgICArKyNkZWZpbmUJYXRvbWljX2NvbXBhcmVfZXhjaGFuZ2Vfd2Vha19leHBsaWNpdChvYmpl
Y3QsIGV4cGVjdGVkLAkJCQlcDQogICAgKysgICAgZGVzaXJlZCwgc3VjY2VzcywgZmFpbHVyZSkJ
CQkJCQkJCVwNCiAgICArK19fZXh0ZW5zaW9uX18JCQkJCQkJCQkJXA0KICAgICsrKHsJCQkJCQkJ
CQkJCVwNCiAgICArKwlfX2F1dG9fdHlwZSBfX2F0b21pY19jb21wYXJlX2V4Y2hhbmdlX3B0ciA9
IChvYmplY3QpOwkJCQlcDQogICAgKysJX190eXBlb2ZfXyAoKl9fYXRvbWljX2NvbXBhcmVfZXhj
aGFuZ2VfcHRyKSBfX2F0b21pY19jb21wYXJlX2V4Y2hhbmdlX3RtcCAJXA0KICAgICsrCT0gKGRl
c2lyZWQpOwkJCQkJCQkJCVwNCiAgICArKwlfX2F0b21pY19jb21wYXJlX2V4Y2hhbmdlIChfX2F0
b21pY19jb21wYXJlX2V4Y2hhbmdlX3B0ciwgKGV4cGVjdGVkKSwJCVwNCiAgICArKwkJJl9fYXRv
bWljX2NvbXBhcmVfZXhjaGFuZ2VfdG1wLAkJCQkJCVwNCiAgICArKwkJMSwgKHN1Y2Nlc3MpLCAo
ZmFpbHVyZSkpOwkJCQkJCVwNCiAgICArKyAgfSkNCiAgICArICNkZWZpbmUJYXRvbWljX2V4Y2hh
bmdlX2V4cGxpY2l0KG9iamVjdCwgZGVzaXJlZCwgb3JkZXIpCQlcDQogICAgKy0JX19hdG9taWNf
ZXhjaGFuZ2VfbigmKG9iamVjdCktPl9fdmFsLCBkZXNpcmVkLCBvcmRlcikNCiAgICArKwlfX2F0
b21pY19leGNoYW5nZV9uKChvYmplY3QpLCAoZGVzaXJlZCksIChvcmRlcikpDQogICAgKyAjZGVm
aW5lCWF0b21pY19mZXRjaF9hZGRfZXhwbGljaXQob2JqZWN0LCBvcGVyYW5kLCBvcmRlcikJCVwN
CiAgICArLQlfX2F0b21pY19mZXRjaF9hZGQoJihvYmplY3QpLT5fX3ZhbCwgb3BlcmFuZCwgb3Jk
ZXIpDQogICAgKysJX19hdG9taWNfZmV0Y2hfYWRkKChvYmplY3QpLCAob3BlcmFuZCksIChvcmRl
cikpDQogICAgKyAjZGVmaW5lCWF0b21pY19mZXRjaF9hbmRfZXhwbGljaXQob2JqZWN0LCBvcGVy
YW5kLCBvcmRlcikJCVwNCiAgICArLQlfX2F0b21pY19mZXRjaF9hbmQoJihvYmplY3QpLT5fX3Zh
bCwgb3BlcmFuZCwgb3JkZXIpDQogICAgKysJX19hdG9taWNfZmV0Y2hfYW5kKChvYmplY3QpLCAo
b3BlcmFuZCksIChvcmRlcikpDQogICAgKyAjZGVmaW5lCWF0b21pY19mZXRjaF9vcl9leHBsaWNp
dChvYmplY3QsIG9wZXJhbmQsIG9yZGVyKQkJXA0KICAgICstCV9fYXRvbWljX2ZldGNoX29yKCYo
b2JqZWN0KS0+X192YWwsIG9wZXJhbmQsIG9yZGVyKQ0KICAgICsrCV9fYXRvbWljX2ZldGNoX29y
KChvYmplY3QpLCAob3BlcmFuZCksIChvcmRlcikpDQogICAgKyAjZGVmaW5lCWF0b21pY19mZXRj
aF9zdWJfZXhwbGljaXQob2JqZWN0LCBvcGVyYW5kLCBvcmRlcikJCVwNCiAgICArLQlfX2F0b21p
Y19mZXRjaF9zdWIoJihvYmplY3QpLT5fX3ZhbCwgb3BlcmFuZCwgb3JkZXIpDQogICAgKysJX19h
dG9taWNfZmV0Y2hfc3ViKChvYmplY3QpLCAob3BlcmFuZCksIChvcmRlcikpDQogICAgKyAjZGVm
aW5lCWF0b21pY19mZXRjaF94b3JfZXhwbGljaXQob2JqZWN0LCBvcGVyYW5kLCBvcmRlcikJCVwN
CiAgICArLQlfX2F0b21pY19mZXRjaF94b3IoJihvYmplY3QpLT5fX3ZhbCwgb3BlcmFuZCwgb3Jk
ZXIpDQogICAgKysJX19hdG9taWNfZmV0Y2hfeG9yKChvYmplY3QpLCAob3BlcmFuZCksIChvcmRl
cikpDQogICAgKyAjZGVmaW5lCWF0b21pY19sb2FkX2V4cGxpY2l0KG9iamVjdCwgb3JkZXIpCQkJ
CVwNCiAgICArLQlfX2F0b21pY19sb2FkX24oJihvYmplY3QpLT5fX3ZhbCwgb3JkZXIpDQogICAg
KytfX2V4dGVuc2lvbl9fCQkJCQkJCQlcDQogICAgKysoewkJCQkJCQkJCVwNCiAgICArKwlfX2F1
dG9fdHlwZSBfX2F0b21pY19sb2FkX3B0ciA9IChvYmplY3QpOwkJCQlcDQogICAgKysJX190eXBl
b2ZfXyAoKl9fYXRvbWljX2xvYWRfcHRyKSBfX2F0b21pY19sb2FkX3RtcDsJCQlcDQogICAgKysJ
X19hdG9taWNfbG9hZCAoX19hdG9taWNfbG9hZF9wdHIsICZfX2F0b21pY19sb2FkX3RtcCwgKG9y
ZGVyKSk7CVwNCiAgICArKwlfX2F0b21pY19sb2FkX3RtcDsJCQkJCQkJXA0KICAgICsrfSkNCiAg
ICArICNkZWZpbmUJYXRvbWljX3N0b3JlX2V4cGxpY2l0KG9iamVjdCwgZGVzaXJlZCwgb3JkZXIp
CQkJXA0KICAgICstCV9fYXRvbWljX3N0b3JlX24oJihvYmplY3QpLT5fX3ZhbCwgZGVzaXJlZCwg
b3JkZXIpDQogICAgKytfX2V4dGVuc2lvbl9fCQkJCQkJCQlcDQogICAgKysoewkJCQkJCQkJCVwN
CiAgICArKwlfX2F1dG9fdHlwZSBfX2F0b21pY19zdG9yZV9wdHIgPSAob2JqZWN0KTsJCQkJXA0K
ICAgICsrCV9fdHlwZW9mX18gKCpfX2F0b21pY19zdG9yZV9wdHIpIF9fYXRvbWljX3N0b3JlX3Rt
cCA9IChkZXNpcmVkKTsJXA0KICAgICsrCV9fYXRvbWljX3N0b3JlIChfX2F0b21pY19zdG9yZV9w
dHIsICZfX2F0b21pY19zdG9yZV90bXAsIChvcmRlcikpOwlcDQogICAgKyt9KQ0KICAgICsrDQog
ICAgKyAjZWxzZQ0KICAgICsgI2RlZmluZQlfX2F0b21pY19hcHBseV9zdHJpZGUob2JqZWN0LCBv
cGVyYW5kKSBcDQogICAgKyAJKCgoX190eXBlb2ZfXygob2JqZWN0KS0+X192YWwpKTApICsgKG9w
ZXJhbmQpKQ0KICAgICstLSANCiAgICArMi4yMC4xDQogICAgKw0KICAgIC0tIA0KICAgIDIuMjAu
MQ0KICAgIA0KICAgIA0KDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5w
cm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8v
bWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Wed Dec 18 14:30:53 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 18 Dec 2019 14:30:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ihaLl-0003GR-Mp; Wed, 18 Dec 2019 14:30:53 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=kHBV=2I=gmail.com=julien.grall.oss@srs-us1.protection.inumbo.net>)
 id 1ihaLk-0003Fr-Lt
 for minios-devel@lists.xenproject.org; Wed, 18 Dec 2019 14:30:52 +0000
X-Inumbo-ID: da617f1c-21a2-11ea-b6f1-bc764e2007e4
Received: from mail-wm1-f68.google.com (unknown [209.85.128.68])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id da617f1c-21a2-11ea-b6f1-bc764e2007e4;
 Wed, 18 Dec 2019 14:29:52 +0000 (UTC)
Received: by mail-wm1-f68.google.com with SMTP id f129so2128174wmf.2;
 Wed, 18 Dec 2019 06:29:52 -0800 (PST)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:subject:to:cc:references:from:message-id:date
 :user-agent:mime-version:in-reply-to:content-language
 :content-transfer-encoding;
 bh=H8dyGOXFKXvU66oYm8mY8a7mqX05VWpF461QSbX+/X0=;
 b=Yj5pocjdJz3FvNlCExa0f4Z4b29LNjFKIwqK8DgE7d+lJFl+5Q4+hTQw5TG39v/mBH
 sGpYajMav/8ctWOnQpIycGp7u+HDulRlQsZK0btXNSQP6p5m8n2PIg3uZrETWrrYn4Aj
 sFZF33EO17qEvv8C/HcdhSnQEbwd/s+LKAAC02u5IDydJvzRQQN6K0TTLGLND/jZZnsa
 XJ7Q6qBHQf11lZbquJlnbOez338bsG0Gt9Z/ux41LyYJkXZfogAyYLO7ttjOEjkKXB4H
 h4KH9GCM2td4XvVHJwfPLTurO51sQMx02Ja14pTi6OyrzH8g383FjpzusnmMmQEwiO6d
 yiMg==
X-Gm-Message-State: APjAAAV24IK2fnRwDdVdWWMlelinOheynqavOkeYsFc/oTI2aezFavvB
 7MuBUBXWBORPU/U/3flAzJM=
X-Google-Smtp-Source: APXvYqyJVMU2riP/VsS3Mwu9JDJ4kE5gytUSBbyKtdXki0Sgju2KNHRE7makk7yAmJPFrHvymZ7CUg==
X-Received: by 2002:a7b:c407:: with SMTP id k7mr3741503wmi.46.1576679391742;
 Wed, 18 Dec 2019 06:29:51 -0800 (PST)
Received: from a483e7b01a66.ant.amazon.com (54-240-197-234.amazon.com.
 [54.240.197.234])
 by smtp.gmail.com with ESMTPSA id x11sm2618981wmg.46.2019.12.18.06.29.50
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 18 Dec 2019 06:29:51 -0800 (PST)
To: Lars Kurth <lars.kurth@xenproject.org>, xen-devel@lists.xenproject.org
References: <cover.1576184325.git.lars.kurth@citrix.com>
 <98ab54c95a9541c918dfec529bcfc5867fd3ed33.1576184325.git.lars.kurth@citrix.com>
From: Julien Grall <julien@xen.org>
Message-ID: <7a043307-f23f-c537-012b-393f59617c1c@xen.org>
Date: Wed, 18 Dec 2019 14:29:50 +0000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:68.0)
 Gecko/20100101 Thunderbird/68.3.0
MIME-Version: 1.0
In-Reply-To: <98ab54c95a9541c918dfec529bcfc5867fd3ed33.1576184325.git.lars.kurth@citrix.com>
Content-Language: en-GB
Subject: Re: [Minios-devel] [PATCH v3 5/7] Add Code Review Guide
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Lars Kurth <lars.kurth@citrix.com>, xen-api@lists.xenproject.org,
 minios-devel@lists.xenproject.org, committers@xenproject.org,
 mirageos-devel@lists.xenproject.org, win-pv-devel@lists.xenproject.org
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgTGFycywKCk9uIDEyLzEyLzIwMTkgMjE6MTQsIExhcnMgS3VydGggd3JvdGU6Cj4gKyMjIyBX
b3JrZmxvdyBmcm9tIGFuIEF1dGhvcidzIFBlcnNwZWN0aXZlCj4gKwo+ICtXaGVuIGNvZGUgYXV0
aG9ycyByZWNlaXZlIGZlZWRiYWNrIG9uIHRoZWlyIHBhdGNoZXMsIHRoZXkgdHlwaWNhbGx5IGZp
cnN0IHRyeQo+ICt0byBjbGFyaWZ5IGZlZWRiYWNrIHRoZXkgZG8gbm90IHVuZGVyc3RhbmQuIEZv
ciBzbWFsbGVyIHBhdGNoZXMgb3IgcGF0Y2ggc2VyaWVzCj4gK2l0IG1ha2VzIHNlbnNlIHRvIHdh
aXQgdW50aWwgcmVjZWl2aW5nIGZlZWRiYWNrIG9uIHRoZSBlbnRpcmUgc2VyaWVzIGJlZm9yZQo+
ICtzZW5kaW5nIG91dCBhIG5ldyB2ZXJzaW9uIGFkZHJlc3NpbmcgdGhlIGNoYW5nZXMuIEZvciBs
YXJnZXIgc2VyaWVzLCBpdCBtYXkKPiArbWFrZSBzZW5zZSB0byBzZW5kIG91dCBhIG5ldyByZXZp
c2lvbiBlYXJsaWVyLgo+ICsKPiArQXMgYSByZXZpZXdlciwgeW91IG5lZWQgc29tZSBzeXN0ZW0g
dGhhdCBoZTtwcyBlbnN1cmUgdGhhdCB5b3UgYWRkcmVzcyBhbGwKCkp1c3QgYSBzbWFsbCB0eXBv
OiBJIHRoaW5rIHlvdSBtZWFudCAiaGVscHMiIHJhdGhlciB0aGFuICJoZTtwcyIuCgpDaGVlcnMs
CgotLSAKSnVsaWVuIEdyYWxsCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54
ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGlu
Zm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Wed Dec 18 16:11:44 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 18 Dec 2019 16:11:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ihbvL-0005V0-Ai; Wed, 18 Dec 2019 16:11:43 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=PUVB=2I=stud.acs.upb.ro=vlad_andrei.badoiu@srs-us1.protection.inumbo.net>)
 id 1ihbvJ-0005Uv-Sg
 for minios-devel@lists.xen.org; Wed, 18 Dec 2019 16:11:41 +0000
X-Inumbo-ID: 11a974bd-21b1-11ea-90bc-12813bfff9fa
Received: from EUR01-VE1-obe.outbound.protection.outlook.com (unknown
 [40.107.14.48]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 11a974bd-21b1-11ea-90bc-12813bfff9fa;
 Wed, 18 Dec 2019 16:11:39 +0000 (UTC)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PjTp1dwFHeEt7lpimzBliL2igPzvxaWvTU0WCh8kSZ/NDOzq5+T0W5iMrRVMbSKanMrwPiiWniIyb+O/xjEhvEXtp8cIFrHG8OKKB5h4WyzkKdK2YH16Yi9mTZ0CrkkTbw7rUEn7aVthkXI/QEKxWhrBf7GUt6arWuhnaXLinlF+Q5ef9BSqRupBFPU6kd8yWYOX6+S6UUasPWKM2kJDbaSMP26eccwQhb+ltywKKVjd3Hctd2QMsUm+ZaRzzjuhTR2+0lyz+gyfXNh1vINwEDsUB/6Msx14VeyZtDynxzS59pOb7Unllx+8jy05/gbeW3QhtkzifsD1Bh9TFE+CRw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=lB7m/5p8Jv8zYAIumhVUy2YoOnSJGojJpNUf/F7qIXg=;
 b=m2K4RsF/idL3q+zczSlWsOn7PSV4aPGIvRsZQkAplu1NyrCeDRZzH2L6m2/4F5S+U5rhxy/Fi1hnTCxKpGRSIPcWCedm6WNyBvmiMvrjGRHMDvyTZfD+BdJD062icxnEVurVGzsLujHmUoRWZsUXC4jpKH2iyDPaoXYde+EP7G2Duj7Et4ngowdy+Dj8B/mCP8eyFEgx1nwn2Hre0tzXRn7IYHHmmncr5/ZErTiFER926SgEBOoMuwGAAiKLUI8HNwCKTAC1mXHUd+UOIAaZqzPj5DcEDzm0RDEQYgY60qcM4H+QQwwdpVLhe0JKgllKuerZfwq998+wFE5a+yR8WA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=stud.acs.upb.ro; dmarc=pass action=none
 header.from=stud.acs.upb.ro; dkim=pass header.d=stud.acs.upb.ro; arc=none
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com (20.177.55.79) by
 VI1PR01MB4734.eurprd01.prod.exchangelabs.com (20.178.9.18) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.2538.18; Wed, 18 Dec 2019 16:11:37 +0000
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::74da:9765:1cb2:80f0]) by VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::74da:9765:1cb2:80f0%3]) with mapi id 15.20.2559.012; Wed, 18 Dec 2019
 16:11:37 +0000
From: =?utf-8?B?VmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIp?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
To: "minios-devel@lists.xen.org" <minios-devel@lists.xen.org>
Thread-Topic: [UNIKRAFT/BOOST v2 PATCH 0/6] Introduce boost library port
Thread-Index: AQHVtb3SDqcChkftsE2BuvKPGxv3hA==
Date: Wed, 18 Dec 2019 16:11:36 +0000
Message-ID: <20191218161128.15534-1-vlad_andrei.badoiu@stud.acs.upb.ro>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-clientproxiedby: AM0PR07CA0031.eurprd07.prod.outlook.com
 (2603:10a6:208:ac::44) To VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 (2603:10a6:803:6d::15)
authentication-results: spf=none (sender IP is )
 smtp.mailfrom=vlad_andrei.badoiu@stud.acs.upb.ro; 
x-ms-exchange-messagesentrepresentingtype: 1
x-mailer: git-send-email 2.20.1
x-originating-ip: [141.85.233.142]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 8142ce27-ddec-4c18-5d63-08d783d4f524
x-ms-traffictypediagnostic: VI1PR01MB4734:
x-ms-exchange-transport-forked: True
x-microsoft-antispam-prvs: <VI1PR01MB4734E156A8274927446018E3A6530@VI1PR01MB4734.eurprd01.prod.exchangelabs.com>
x-ms-oob-tlc-oobclassifiers: OLM:901;
x-forefront-prvs: 0255DF69B9
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(346002)(39830400003)(136003)(376002)(396003)(366004)(199004)(189003)(316002)(64756008)(66446008)(66946007)(66476007)(52116002)(186003)(86362001)(71200400001)(26005)(6506007)(6916009)(508600001)(85202003)(66556008)(2906002)(54906003)(6486002)(8936002)(85182001)(81156014)(81166006)(4744005)(786003)(2616005)(66574012)(8676002)(4326008)(5660300002)(1076003)(6512007);
 DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR01MB4734;
 H:VI1PR01MB4205.eurprd01.prod.exchangelabs.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; A:0; MX:1; 
received-spf: None (protection.outlook.com: stud.acs.upb.ro does not designate
 permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: eEqYa/9qv/S1M6h+AHp3vGG6ALlI94gCi3SbKPcCl0YOwhhkDt1Ule4koGbrSb9B2SSmAR0OsfVbhfyUZ+RL3KDCrxue4mSt6Y2OiDiCha8Q1UuK9RgarN3qKDWB/7Di4WPrDr5Z+WtWrXbL3TzjBPvNRAMCzacG7x+bqn15QEWAco1AUGcgcDtIEIa0LJr67kqKbApL0XIgVRYqBUpTE1sHFBqYRmhza2aSYgu/Yrdmvyr+8jyY/OK+6jGj9OKyLzQWMBhfC9q8XF+Q61JZm0zx8EVNUvtRLONyRGwtoPj3dGCqp9VNUUH18fPmfPgCrsZn3GHYUdNrcj/jYVmu7p3n1SaDfxyRH/7TJCOeTRgehpR/LZ9tmsTn7IpeYTU4zQePYv/xSUMSkzIPOVbLaJiJ0V1SRM0rfSB58IgIhezQpZcBkCTt9zdrhuJpapkX
Content-ID: <A5DF9B32C24DA746A79ACD9BB4D565B6@eurprd01.prod.exchangelabs.com>
MIME-Version: 1.0
X-OriginatorOrg: stud.acs.upb.ro
X-MS-Exchange-CrossTenant-Network-Message-Id: 8142ce27-ddec-4c18-5d63-08d783d4f524
X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Dec 2019 16:11:36.8489 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 2d8cc8ba-8dda-4334-9e5c-fac2092e9bac
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: elW9wH07DtIYpIC7u+QsbU5VfWwZ1v8A1bNRgPNa8CCeKNeLWp/nQHszfInsC8fxfo6qDtFjlUviLn9Prgsv3hBtc0+JjC+PaM5KTBM6Ufp4mWvYpt0oPFo4Clx2iG3I
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR01MB4734
Subject: [Minios-devel] [UNIKRAFT/BOOST v2 PATCH 0/6] Introduce boost
 library port
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: "felipe.huici@neclab.eu" <felipe.huici@neclab.eu>,
 =?utf-8?B?VmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIp?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhpcyBpcyBvdXIgaW5pdGlhbCBwb3J0IG9mIHRoZSBib29zdCBsaWJyYXJ5IHRvIFVuaWtyYWZ0
LiBPbmx5IGEgc3Vic2V0DQpvZiBib29zdCBtb2R1bGVzIGFyZSBhdmFpbGFibGUgYXMgb2Ygbm93
LiBUaGUgZm9sbG93aW5nIG1vZHVsZXMgYXJlDQpkaXNhYmxlZCByaWdodCBub3coc291cmNlIGZp
bGVzIG5vdCBlbmFibGVkKTogY29udGV4dCwgbG9jYWxlLCBsb2csDQpweXRob24sIGZpYmVyLCBz
dHJhY2UsIHByb3RvLCBtcGwsIG1waSwgY29yb3V0aW5lLg0KDQpDaGFuZ2VzIHNpbmNlIHYxOg0K
KiBBZGRlZCBjb21taXQgbWVzc2FnZSBpbmZvIGFib3V0IGRpc2FibGVkIG1vZHVsZXMNCiogQ2hh
bmdlZCB0aGUgcmV0dXJuIHZhbHVlIG9mIGZlZ2V0ZXhjZXB0ZmxhZw0KKiBVcGRhdGVkIHRoZSBy
ZWFkbWUgdG8gc3BlY2lmeSBwdGhyZWFkIGFzIGEgZGVwZW5kZW5jeQ0KDQpWbGFkLUFuZHJlaSBC
xIJET0lVICg3ODY5MikgKDYpOg0KICBJbnRyb2R1Y2UgbGlicmFyeSBza2VsZXRvbg0KICBBZGQg
TWFrZWZpbGUudWsNCiAgQWRkIGdsdWVjb2RlDQogIEFkZCBmZW52LmggaGVhZGVyDQogIEFkZCBw
YXRjaGVzDQogIFJFQURNRS5tZDogVXBkYXRlIHdpdGggaW5mbyBhYm91dCBidWlsZGluZw0KDQot
LSANCjIuMjAuMQ0KDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9q
ZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWlu
aW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Wed Dec 18 16:11:48 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 18 Dec 2019 16:11:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ihbvQ-0005Va-Ca; Wed, 18 Dec 2019 16:11:48 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=PUVB=2I=stud.acs.upb.ro=vlad_andrei.badoiu@srs-us1.protection.inumbo.net>)
 id 1ihbvO-0005VQ-Sy
 for minios-devel@lists.xen.org; Wed, 18 Dec 2019 16:11:46 +0000
X-Inumbo-ID: 141ce08a-21b1-11ea-90bc-12813bfff9fa
Received: from EUR01-VE1-obe.outbound.protection.outlook.com (unknown
 [40.107.14.48]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 141ce08a-21b1-11ea-90bc-12813bfff9fa;
 Wed, 18 Dec 2019 16:11:41 +0000 (UTC)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eOXTLizheypryYfIxaZfKnSuVK+kUY3uOjlp7yVd3aXDO/uGSwn8fGgfqA8jdeRsbJUu5ohIMHgiNxN5Cu0Rh/e4t9zKjMmgnsNpMWsak+1mHP0TwNftM+A4Iq//0JWQYDJaCAT8acquUFSPal1VZWRfHtkWOnud2R0W5VAnprDkp7gW/S6tU3ghd2U1/AgsJW8KKxh54UhG7d+CoqP3ykvCenv8p0eVM3KpRxPfQ5GaPPP6UYBm6UdOSppNi+32uNEAk9p7Qo3vifvVFklIHX8JIgZTlQ++91yZgQo6JFkt3mR+i0IoN/PnS+obdYa6EbDVxvuLaZZM4mU0V4C25w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fGSDKWQ7qNKkhDuO+i5hXibmSHyfMez/TeragHFyVuw=;
 b=BoecR/vGptNZQdFpSVTFDtI+w4QJNqSE0hm4Jk4LVVkCtAjuIqby3mmL+eSYwdYahYcENSAsvBxQjfKQ4ZKTHMFwwZP7xExk1YjrP9WoTRb4t3WvkL+7a2c/mL489kOubFQiuFhDs0uIodNEHPVcJDJYRu1dGPuVcBFwQJYxuBHzSTvRsmJMpLsfP5kjUKfChxSw+edo+kpOifZ6uvYfaFrAvXKaGNuAy5h7PgmUdPSqUxPOLXG5cI1PXf+TNaPH3f2b32XiOjz2sUbXJAoPz2ntPS7geGkLPtAbvomVSKqS0sUoBnV3nfpdbs0Yzlp0hWmU6aH9CseNGzmHBOLfRw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=stud.acs.upb.ro; dmarc=pass action=none
 header.from=stud.acs.upb.ro; dkim=pass header.d=stud.acs.upb.ro; arc=none
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com (20.177.55.79) by
 VI1PR01MB4734.eurprd01.prod.exchangelabs.com (20.178.9.18) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.2538.18; Wed, 18 Dec 2019 16:11:38 +0000
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::74da:9765:1cb2:80f0]) by VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::74da:9765:1cb2:80f0%3]) with mapi id 15.20.2559.012; Wed, 18 Dec 2019
 16:11:38 +0000
From: =?utf-8?B?VmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIp?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
To: "minios-devel@lists.xen.org" <minios-devel@lists.xen.org>
Thread-Topic: [UNIKRAFT/BOOST v2 PATCH 1/6] Introduce library skeleton
Thread-Index: AQHVtb3T4+QIf5gZc0m+YHM5y7WU8w==
Date: Wed, 18 Dec 2019 16:11:37 +0000
Message-ID: <20191218161128.15534-2-vlad_andrei.badoiu@stud.acs.upb.ro>
References: <20191218161128.15534-1-vlad_andrei.badoiu@stud.acs.upb.ro>
In-Reply-To: <20191218161128.15534-1-vlad_andrei.badoiu@stud.acs.upb.ro>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-clientproxiedby: AM0PR07CA0031.eurprd07.prod.outlook.com
 (2603:10a6:208:ac::44) To VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 (2603:10a6:803:6d::15)
authentication-results: spf=none (sender IP is )
 smtp.mailfrom=vlad_andrei.badoiu@stud.acs.upb.ro; 
x-ms-exchange-messagesentrepresentingtype: 1
x-mailer: git-send-email 2.20.1
x-originating-ip: [141.85.233.142]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 8b285b03-611a-414b-9d68-08d783d4f5ad
x-ms-traffictypediagnostic: VI1PR01MB4734:
x-ms-exchange-transport-forked: True
x-microsoft-antispam-prvs: <VI1PR01MB473495F7D69A66A952B12D3EA6530@VI1PR01MB4734.eurprd01.prod.exchangelabs.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-forefront-prvs: 0255DF69B9
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(346002)(39830400003)(136003)(376002)(396003)(366004)(199004)(189003)(316002)(64756008)(66446008)(66946007)(66476007)(52116002)(186003)(86362001)(71200400001)(26005)(6506007)(6916009)(508600001)(85202003)(66556008)(2906002)(54906003)(6486002)(8936002)(85182001)(81156014)(81166006)(786003)(2616005)(66574012)(8676002)(4326008)(5660300002)(1076003)(6512007)(2004002);
 DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR01MB4734;
 H:VI1PR01MB4205.eurprd01.prod.exchangelabs.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; A:0; MX:1; 
received-spf: None (protection.outlook.com: stud.acs.upb.ro does not designate
 permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: n3fwkd3Vh7nQw7oeQF+1sTHGnllIzQyniIV8wZjCbdMS6/TmrqhEtFTGzJoU/J1/3TU8j00Bgeq8EETlwtCsoxQ2Z5ADCMBvfekC7yXFm0OFMqd17cP8+2M+gQPqrlGApGDOyF3y+ecV859da+fu9u5sDNqMtgC/w33XSBpB5NRIzNoSO7uA2hJ1IzduRC3WE3/q6q39y5ZpM6bsMbPOjkIZQZ2V4J0ihudlgtCrcKrlaeVrZ9TY18YicsrbqExbsZo9VUjRNHV0PGQyOGZgZFTM7SK6lcEfhOfJDJLHwlp01gwgGI/Ftnv4zzG88G86Fn5C3tYC7nghZdn0EmTdI7HX1tYnPsAYznv59P8BiVU4OCdyhYz6GSEzuNiwV16XTTWiYxaV2V5N4fjMXWYR3PigqvkaII6H95vau+P8dGkuIRLE/czA8tMt4rnzSzweyW1aoXI9fn/gM9xwxykbCvNvdqzcYdW+rJpkAGjWQ+I=
Content-ID: <8E00E7048049214BA6D6CCBCD1D549C0@eurprd01.prod.exchangelabs.com>
MIME-Version: 1.0
X-OriginatorOrg: stud.acs.upb.ro
X-MS-Exchange-CrossTenant-Network-Message-Id: 8b285b03-611a-414b-9d68-08d783d4f5ad
X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Dec 2019 16:11:37.9752 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 2d8cc8ba-8dda-4334-9e5c-fac2092e9bac
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: oeeh4Pu1wASwfqKxuZCgvGl6u2lwJlOSHkUXgBh85/4PU/yD0NTpwYblaTkbRZDkqmhZO6ypTmEwjLTCZ+SlfcvULPtz1riM8bZdjBnk4dYRw36HJ9qEDhmzDNcbca3S
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR01MB4734
Subject: [Minios-devel] [UNIKRAFT/BOOST v2 PATCH 1/6] Introduce library
 skeleton
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: "felipe.huici@neclab.eu" <felipe.huici@neclab.eu>,
 =?utf-8?B?VmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIp?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogVmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIpIDx2bGFkX2FuZHJlaS5iYWRvaXVAc3R1
ZC5hY3MudXBiLnJvPg0KDQpXZSB1c2UgdGhlIEJTRC0zIGxpY2Vuc2UuDQoNClNpZ25lZC1vZmYt
Ynk6IFZsYWQtQW5kcmVpIEJhZG9pdSA8dmxhZF9hbmRyZWkuYmFkb2l1QHN0dWQuYWNzLnVwYi5y
bz4NClJldmlld2VkLWJ5OiBGZWxpcGUgSHVpY2kgPGZlbGlwZS5odWljaUBuZWNsYWIuZXU+DQot
LS0NCiAuZ2l0aWdub3JlICAgICAgfCAyNyArKysrKysrKysrKysrKysrKysrKysrKysrKysNCiBD
T0RJTkdfU1RZTEUubWQgfCAgNCArKysrDQogQ09OVFJJQlVUSU5HLm1kIHwgIDQgKysrKw0KIENP
UFlJTkcubWQgICAgICB8IDMwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KIENvbmZp
Zy51ayAgICAgICB8IDEzICsrKysrKysrKysrKysNCiBNQUlOVEFJTkVSUy5tZCAgfCAxMSArKysr
KysrKysrKw0KIFJFQURNRS5tZCAgICAgICB8ICA3ICsrKysrKysNCiA3IGZpbGVzIGNoYW5nZWQs
IDk2IGluc2VydGlvbnMoKykNCiBjcmVhdGUgbW9kZSAxMDA2NDQgLmdpdGlnbm9yZQ0KIGNyZWF0
ZSBtb2RlIDEwMDY0NCBDT0RJTkdfU1RZTEUubWQNCiBjcmVhdGUgbW9kZSAxMDA2NDQgQ09OVFJJ
QlVUSU5HLm1kDQogY3JlYXRlIG1vZGUgMTAwNjQ0IENPUFlJTkcubWQNCiBjcmVhdGUgbW9kZSAx
MDA2NDQgQ29uZmlnLnVrDQogY3JlYXRlIG1vZGUgMTAwNjQ0IE1BSU5UQUlORVJTLm1kDQogY3Jl
YXRlIG1vZGUgMTAwNjQ0IFJFQURNRS5tZA0KDQpkaWZmIC0tZ2l0IGEvLmdpdGlnbm9yZSBiLy5n
aXRpZ25vcmUNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwLi43NWQyZmQzDQot
LS0gL2Rldi9udWxsDQorKysgYi8uZ2l0aWdub3JlDQpAQCAtMCwwICsxLDI3IEBADQorKi5kZXBl
bmQNCisqLm8NCisqLmENCisqLmQNCisqLnNvDQorKi5vcmlnDQorKi5yZWoNCisqLmJhaw0KKyou
c3dwDQorKn4NCissKg0KK1wjKlwjDQorLlwjKg0KK1wjXypcIw0KKy5cI18qDQorIS5naXRpZ25v
cmUNCisuKg0KKw0KKyMgZ251IGdsb2JhbCBmaWxlcw0KK0dQQVRIDQorR1JUQUdTDQorR1NZTVMN
CitHVEFHUw0KKw0KKyMgY3Njb3BlIGZpbGVzDQorY3Njb3BlLioNCituY3Njb3BlLioNCmRpZmYg
LS1naXQgYS9DT0RJTkdfU1RZTEUubWQgYi9DT0RJTkdfU1RZTEUubWQNCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0DQppbmRleCAwMDAwMDAwLi41NzMwMDQxDQotLS0gL2Rldi9udWxsDQorKysgYi9DT0RJ
TkdfU1RZTEUubWQNCkBAIC0wLDAgKzEsNCBAQA0KK0NvZGluZyBTdHlsZQ0KKz09PT09PT09PT09
PQ0KKw0KK1BsZWFzZSByZWZlciB0byB0aGUgYENPRElOR19TVFlMRS5tZGAgZmlsZSBpbiB0aGUg
bWFpbiBVbmlrcmFmdCByZXBvc2l0b3J5Lg0KZGlmZiAtLWdpdCBhL0NPTlRSSUJVVElORy5tZCBi
L0NPTlRSSUJVVElORy5tZA0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAuLjVm
NTVlY2ENCi0tLSAvZGV2L251bGwNCisrKyBiL0NPTlRSSUJVVElORy5tZA0KQEAgLTAsMCArMSw0
IEBADQorQ29udHJpYnV0aW5nIHRvIFVuaWtyYWZ0DQorPT09PT09PT09PT09PT09PT09PT09PT0N
CisNCitQbGVhc2UgcmVmZXIgdG8gdGhlIGBDT05UUklCVVRJTkcubWRgIGZpbGUgaW4gdGhlIG1h
aW4gVW5pa3JhZnQgcmVwb3NpdG9yeS4NCmRpZmYgLS1naXQgYS9DT1BZSU5HLm1kIGIvQ09QWUlO
Ry5tZA0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAuLjYwNmY1MjkNCi0tLSAv
ZGV2L251bGwNCisrKyBiL0NPUFlJTkcubWQNCkBAIC0wLDAgKzEsMzAgQEANCitMaWNlbnNlDQor
PT09PT09PQ0KKw0KK1VuaWtyYWZ0IGJvb3N0IHdyYXBwZXINCistLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQ0KKw0KK1RoaXMgcmVwb3NpdG9yeSBjb250YWlucyB3cmFwcGVyIGNvZGUgdG8gYnVpbGQg
Qm9vc3Qgd2l0aCBVbmlrcmFmdC4NCitFYWNoIEMgY29kZSBmaWxlIGluIHRoaXMgcmVwb3NpdG9y
eSBzaG91bGQgZGVjbGFyZSB3aG8gaXMgdGhlDQorY29weXJpZ2h0IG93bmVyIGFuZCB1bmRlciB3
aGljaCB0ZXJtcyBhbmQgY29uZGl0aW9ucyB0aGUgY29kZSBpcw0KK2xpY2Vuc2VkLiBJZiBzdWNo
IGEgbGljZW5jZSBub3RlIGlzIG1pc3NpbmcsIHRoZSBmb2xsb3dpbmcgY29weXJpZ2h0DQorbm90
aWNlIHdpbGwgYXBwbHk6DQorDQorCUNvcHlyaWdodCAoYykgMjAxOSwgVW5pdmVyc2l0eSBQb2xp
dGVobmljYSBvZiBCdWNoYXJlc3QuIEFsbCByaWdodHMgDQorCXJlc2VydmVkLg0KKw0KKwlUaGlz
IGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
DQorCW1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQ
dWJsaWMNCisJTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbjsgZWl0aGVyDQorCXZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0
aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4NCisJDQorCVRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRl
ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KKwlidXQgV0lUSE9VVCBBTlkg
V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KKwlNRVJDSEFO
VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdO
VQ0KKwlMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KKwkN
CisJWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5l
cmFsIFB1YmxpYw0KKwlMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5IGluIHRoZSBmaWxl
IENPUFlJTkcuTElCOw0KKwlpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb24sIEluYy4sDQorCTU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAw
MjExMS0xMzA3LCBVU0ENCisNCmRpZmYgLS1naXQgYS9Db25maWcudWsgYi9Db25maWcudWsNCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwLi5kNTFhMmQyDQotLS0gL2Rldi9udWxs
DQorKysgYi9Db25maWcudWsNCkBAIC0wLDAgKzEsMTMgQEANCittZW51Y29uZmlnIExJQkJPT1NU
DQorCWJvb2wgImJvb3N0IC0gIg0KKwlzZWxlY3QgTElCQ1hYDQorCXNlbGVjdCBVS1VOSVNURA0K
KwlzZWxlY3QgVUtTWVNJTkZPDQorCXNlbGVjdCBMSUJVS1RJTUUNCisJc2VsZWN0IExJQk5FV0xJ
QkMNCisJc2VsZWN0IExJQlVLTU1BUA0KKwlzZWxlY3QgTElCSU5URUxfSU5UUklOU0lDUw0KKwlz
ZWxlY3QgTElCUFRIUkVBRF9FTUJFRERFRA0KKwlzZWxlY3QgTElCQ09NUElMRVJfUlRfQVRPTUlD
DQorCWRlZmF1bHQgbg0KKw0KZGlmZiAtLWdpdCBhL01BSU5UQUlORVJTLm1kIGIvTUFJTlRBSU5F
UlMubWQNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwLi45YTQ3OGRjDQotLS0g
L2Rldi9udWxsDQorKysgYi9NQUlOVEFJTkVSUy5tZA0KQEAgLTAsMCArMSwxMSBAQA0KK01haW50
YWluZXJzIExpc3QNCis9PT09PT09PT09PT09PT09DQorDQorRm9yIG5vdGVzIG9uIGhvdyB0byBy
ZWFkIHRoaXMgaW5mb3JtYXRpb24sIHBsZWFzZSByZWZlciB0byBgTUFJTlRBSU5FUlMubWRgIGlu
DQordGhlIG1haW4gVW5pa3JhZnQgcmVwb3NpdG9yeS4NCisNCisJQk9PU1QtVU5JS1JBRlQNCisJ
TToJRmVsaXBlIEh1aWNpIDxmZWxpcGUuaHVpY2lAbmVjbGFiLmV1Pg0KKwlNOglWbGFkLUFuZHJl
aSBCYWRvaXUgPHZsYWRfYW5kcmVpLmJhZG9pdUBzdHVkLmFjcy51cGIucm8+DQorCUw6CW1pbmlv
cy1kZXZlbEBsaXN0cy54ZW4ub3JnDQorCUY6ICoNCmRpZmYgLS1naXQgYS9SRUFETUUubWQgYi9S
RUFETUUubWQNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwLi44ZDMwOWU5DQot
LS0gL2Rldi9udWxsDQorKysgYi9SRUFETUUubWQNCkBAIC0wLDAgKzEsNyBAQA0KK2Jvb3N0IGZv
ciBVbmlrcmFmdA0KKz09PT09PT09PT09PT09PT09PT0NCisNCitUaGlzIGlzIHRoZSBwb3J0IG9m
IGJvb3N0IGZvciBVbmlrcmFmdCBhcyBleHRlcm5hbCBsaWJyYXJ5Lg0KKw0KK1BsZWFzZSByZWZl
ciB0byB0aGUgYFJFQURNRS5tZGAgYXMgd2VsbCBhcyB0aGUgZG9jdW1lbnRhdGlvbiBpbiB0aGUg
YGRvYy9gDQorc3ViZGlyZWN0b3J5IG9mIHRoZSBtYWluIHVuaWtyYWZ0IHJlcG9zaXRvcnkuDQot
LSANCjIuMjAuMQ0KDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9q
ZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWlu
aW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Wed Dec 18 16:11:53 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 18 Dec 2019 16:11:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ihbvV-0005WW-G4; Wed, 18 Dec 2019 16:11:53 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=PUVB=2I=stud.acs.upb.ro=vlad_andrei.badoiu@srs-us1.protection.inumbo.net>)
 id 1ihbvT-0005WK-TX
 for minios-devel@lists.xen.org; Wed, 18 Dec 2019 16:11:51 +0000
X-Inumbo-ID: 15004816-21b1-11ea-90bc-12813bfff9fa
Received: from EUR01-VE1-obe.outbound.protection.outlook.com (unknown
 [40.107.14.48]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 15004816-21b1-11ea-90bc-12813bfff9fa;
 Wed, 18 Dec 2019 16:11:43 +0000 (UTC)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NsSFLDE94UoIs3otpYgHh3RxEfoaE6fPPwsvmh6ovPQMxlZuOgU99Q0Y3ToOvUaBt9x9YtsASqriWekOgQcWALV62Ej6/7rInZlboTqy/9NO54lRdHer24M+tXmmWxUGVzAiu2qPcUeUyhYTU95zZ5sI9Q9IaD/RQl7RiCsGaKR/aRjwGLKFUTlbfq+rmSJSBCdBdQD9/1dbcUd6tb5DK/ynOMdpP7hUcHRQqEzfAtMqraj5dz3hM6rEK53R0tl8f5xigO+Ayfez/cCSZMGnXSh6Wy1SBi9uq14qpTLgPhkY+TTf5RzOVMJ6RL0yXP8gL0zo1vALNzk0//MlW3dnpg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CvJa+Fl/Pw7Z7y2yKMdb+4pPmE8OUICsnn5Bneo925w=;
 b=D6fS4nuFwKYvyhqUao9qQyCeF+PU5xJNlF1SUL5aPOHzp5p4kT9dOa8yiVjPHMzpJWSXnP7DaIru8JBfxTO6wfq3hbF+hGH9XDu11wkklfKEBvSP9G0TjkKdRNvh/9c+bqFgLCOK7Gk6o2GwXqaL1XTTT6c6UDaPoiiy4Qj2E/lgMxqhG9G8cNaybeD/pZp9qT77qk1HPmzy3LXTWEFH6bVOOlkQTFg8MUO4brS6zpeVbIaiwTAymBUn/6hYu9DWVcmFc8evmU2XorNwwLgHcRbkGK+pybThn8bBPIVOMZXguGCdjn4BsMmUdfUxJGqf0Ru3mQkmMkXQwubVxBUSQw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=stud.acs.upb.ro; dmarc=pass action=none
 header.from=stud.acs.upb.ro; dkim=pass header.d=stud.acs.upb.ro; arc=none
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com (20.177.55.79) by
 VI1PR01MB4734.eurprd01.prod.exchangelabs.com (20.178.9.18) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.2538.18; Wed, 18 Dec 2019 16:11:39 +0000
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::74da:9765:1cb2:80f0]) by VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::74da:9765:1cb2:80f0%3]) with mapi id 15.20.2559.012; Wed, 18 Dec 2019
 16:11:39 +0000
From: =?utf-8?B?VmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIp?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
To: "minios-devel@lists.xen.org" <minios-devel@lists.xen.org>
Thread-Topic: [UNIKRAFT/BOOST v2 PATCH 2/6] Add Makefile.uk
Thread-Index: AQHVtb3Uo21mLLMepEW46ku4pqNMrQ==
Date: Wed, 18 Dec 2019 16:11:39 +0000
Message-ID: <20191218161128.15534-3-vlad_andrei.badoiu@stud.acs.upb.ro>
References: <20191218161128.15534-1-vlad_andrei.badoiu@stud.acs.upb.ro>
In-Reply-To: <20191218161128.15534-1-vlad_andrei.badoiu@stud.acs.upb.ro>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-clientproxiedby: AM0PR07CA0031.eurprd07.prod.outlook.com
 (2603:10a6:208:ac::44) To VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 (2603:10a6:803:6d::15)
authentication-results: spf=none (sender IP is )
 smtp.mailfrom=vlad_andrei.badoiu@stud.acs.upb.ro; 
x-ms-exchange-messagesentrepresentingtype: 1
x-mailer: git-send-email 2.20.1
x-originating-ip: [141.85.233.142]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: d66ad78f-8190-4afa-f65e-08d783d4f682
x-ms-traffictypediagnostic: VI1PR01MB4734:
x-ms-exchange-transport-forked: True
x-microsoft-antispam-prvs: <VI1PR01MB4734D7EFADF3E61B9ED26E78A6530@VI1PR01MB4734.eurprd01.prod.exchangelabs.com>
x-ms-oob-tlc-oobclassifiers: OLM:7691;
x-forefront-prvs: 0255DF69B9
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(346002)(39830400003)(136003)(376002)(396003)(366004)(199004)(189003)(316002)(64756008)(66446008)(66946007)(66476007)(52116002)(186003)(86362001)(71200400001)(26005)(6506007)(6916009)(508600001)(85202003)(66556008)(2906002)(54906003)(6486002)(8936002)(85182001)(81156014)(81166006)(786003)(30864003)(2616005)(66574012)(8676002)(4326008)(5660300002)(1076003)(6512007)(569006);
 DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR01MB4734;
 H:VI1PR01MB4205.eurprd01.prod.exchangelabs.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; A:0; MX:1; 
received-spf: None (protection.outlook.com: stud.acs.upb.ro does not designate
 permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: ADHKFm1/76SwmuZTGGDbXva1VnsNo+Zi6FuB0v8saySoj43/Nxnp2JWoDR1TAEJxn56zUHEQioFFKFDuxNTMXnXMNW1o8CYzjGET9+lt4t3663+QuvvqHtGVFXMSIjD4cHCBIAOx3OmqMbA/qF61D6UMXupBHnV78fK1/pvzk6CkywLiVbumtTmxVDZtvRzD5Gaz1kX5tYjgLd9TJP8DmcIxrGhVJN46VX1DWlfBTDsFDglgjz34dwl+2uIurugTFJd/rnk2WgM20fKCyxfWE/hT4u4FUOlPKn6KEG4kLUaQZCuGsLcn0Mk9INWwV3KCt5oPJ3+cSm4uk51duSRjyUWpctvjFD+yv6tnTWAmvWS1xa2ppuCNCOMwivkcmIB4UORwGPseaeUnonR6Z80h47cy6QYnCmjW39QyeZGc8v0uFxDbRMZpcO9ma8dN7Q6KkwAp2J3oLgXdnCIMHjAdbsT7Hg0d4rwVpNvHPxjzIh37XEf2XZSLHkGQvuGWgqbSoYCf8g32x4z0w2OOTgclQA==
Content-ID: <478A69D14AD6554286D4ED6A0E0B1DA5@eurprd01.prod.exchangelabs.com>
MIME-Version: 1.0
X-OriginatorOrg: stud.acs.upb.ro
X-MS-Exchange-CrossTenant-Network-Message-Id: d66ad78f-8190-4afa-f65e-08d783d4f682
X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Dec 2019 16:11:39.2775 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 2d8cc8ba-8dda-4334-9e5c-fac2092e9bac
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: vB1bMNXODZzUx+p4mzFM7zlpGetht4KuLMC20LDGPulL/iFElvyKVkk1P4N+RtnqkVyM6+07YFhbwjc2feRHKjHYiPKO48zLfEqAo93X37UrC1G/z6WFgC0iUKEcHyZ4
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR01MB4734
Subject: [Minios-devel] [UNIKRAFT/BOOST v2 PATCH 2/6] Add Makefile.uk
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: "felipe.huici@neclab.eu" <felipe.huici@neclab.eu>,
 =?utf-8?B?VmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIp?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogVmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIpIDx2bGFkX2FuZHJlaS5iYWRvaXVAc3R1
ZC5hY3MudXBiLnJvPg0KDQpUaGlzIGluaXRpYWwgTWFrZWZpbGUudWsgY29udGFpbnMgb25seSBh
IHN1YnNldCBvZiBib29zdCBtb2R1bGVzLg0KVGhlIHN0YXR1cyBvZiB0aGUgbW9kdWxlcyBpcyBh
cyBmb2xsb3dzOg0KKiBtcGwsIG1waSwgcHJvdG8sIGZpYmVyLCBzdHJhY2UgLSBtaXNzaW5nIGRl
cGVuZGVuY3kNCiogbG9jYWxlLCBsb2csIGNvcm91dGluZSwgZmliZXIsIHB5dGhvbiAgLSBkaXNh
YmxlZCBkdWUgdG8NCmNvbXBpbGF0aW9uIGVycm9ycw0KDQpTaWduZWQtb2ZmLWJ5OiBWbGFkLUFu
ZHJlaSBCYWRvaXUgPHZsYWRfYW5kcmVpLmJhZG9pdUBzdHVkLmFjcy51cGIucm8+DQotLS0NCiBN
YWtlZmlsZS51ayB8IDc3NiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrDQogMSBmaWxlIGNoYW5nZWQsIDc3NiBpbnNlcnRpb25zKCspDQogY3JlYXRl
IG1vZGUgMTAwNjQ0IE1ha2VmaWxlLnVrDQoNCmRpZmYgLS1naXQgYS9NYWtlZmlsZS51ayBiL01h
a2VmaWxlLnVrDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMC4uZGQ3YjgyZQ0K
LS0tIC9kZXYvbnVsbA0KKysrIGIvTWFrZWZpbGUudWsNCkBAIC0wLDAgKzEsNzc2IEBADQorIyAg
bGliYm9vc3QgTWFrZWZpbGUudWsNCisjDQorIyAgQXV0aG9yczogVmxhZC1BbmRyZWkgQmFkb2l1
IDx2bGFkX2FuZHJlaS5iYWRvaXVAc3R1ZC5hY3MudXBiLnJvPg0KKyMNCisjICBDb3B5cmlnaHQg
KGMpIDIwMTksIFBvbGl0ZWhuaWNhIFVuaXZlcnNpdHkgb2YgQnVjaGFyZXN0LiBBbGwgcmlnaHRz
IHJlc2VydmVkLg0KKyMNCisjICBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQNCisjICBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMNCisjICBhcmUgbWV0
Og0KKyMNCisjICAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodA0KKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4NCisjICAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodA0KKyMgICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUNCisjICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLg0KKyMgIDMuIE5laXRoZXIgdGhlIG5hbWUg
b2YgdGhlIGNvcHlyaWdodCBob2xkZXIgbm9yIHRoZSBuYW1lcyBvZiBpdHMNCisjICAgICBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbQ0KKyMgICAgIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uDQorIw0KKyMgIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIg0KKyMgIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUNCisjICBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQ0KKyMgIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUNCisj
ICBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SDQorIyAgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YNCisjICBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCisjICBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTg0KKyMgIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpDQorIyAgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUN
CisjICBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCisjDQorIyAgVEhJUyBIRUFERVIgTUFZ
IE5PVCBCRSBFWFRSQUNURUQgT1IgTU9ESUZJRUQgSU4gQU5ZIFdBWS4NCisjDQorDQorIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMNCisjIExpYnJhcnkgcmVnaXN0cmF0aW9uDQorIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMNCiskKGV2YWwgJChjYWxsIGFkZGxpYl9zLGxpYmJvb3N0LCQoQ09ORklHX0xJ
QkJPT1NUKSkpDQorDQorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCisjIFNvdXJjZXMNCisjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIw0KK0xJQkJPT1NUX1ZFUlNJT049MS43MS4wDQorTElCQk9PU1Rf
VVJMPWh0dHBzOi8vZGwuYmludHJheS5jb20vYm9vc3RvcmcvcmVsZWFzZS8kKExJQkJPT1NUX1ZF
UlNJT04pL3NvdXJjZS9ib29zdF8xXzcxXzAudGFyLmd6DQorTElCQk9PU1RfUEFUQ0hESVI9JChM
SUJCT09TVF9CQVNFKS9wYXRjaGVzDQorJChldmFsICQoY2FsbCBmZXRjaCxsaWJib29zdCwkKExJ
QkJPT1NUX1VSTCkpKQ0KKyQoZXZhbCAkKGNhbGwgcGF0Y2gsbGliYm9vc3QsJChMSUJCT09TVF9Q
QVRDSERJUiksYm9vc3RfMV83MV8wKSkNCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KKyMgSGVs
cGVycw0KKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQorTElCQk9PU1RfU1VCRElSPWJvb3N0XzFf
NzFfMA0KK0xJQkJPT1NUX1NSQyA9ICQoTElCQk9PU1RfT1JJR0lOKS8kKExJQkJPT1NUX1NVQkRJ
UikNCisNCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KKyMgTGlicmFyeSBpbmNsdWRlcw0KKyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjDQorQ0lOQ0xVREVTLSQoQ09ORklHX0xJQkJPT1NUKSArPSAt
SSQoTElCQk9PU1RfU1JDKS8NCitDWFhJTkNMVURFUy0kKENPTkZJR19MSUJCT09TVCkgKz0gLUkk
KExJQkJPT1NUX1NSQykvDQorDQorQ0lOQ0xVREVTLSQoQ09ORklHX0xJQkJPT1NUKSArPSAtSSQo
TElCQk9PU1RfQkFTRSkvaW5jbHVkZQ0KK0NYWElOQ0xVREVTLSQoQ09ORklHX0xJQkJPT1NUKSAr
PSAtSSQoTElCQk9PU1RfQkFTRSkvaW5jbHVkZQ0KKw0KK0NJTkNMVURFUy0kKENPTkZJR19MSUJC
T09TVCkgKz0gLUkkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjENCitDWFhJTkNMVURF
Uy0kKENPTkZJR19MSUJCT09TVCkgKz0gLUkkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90
cjENCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KKyMgR2xvYmFsIGZsYWdzDQorIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMNCisjIFN1cHByZXNzZWQgZmxhZ3MNCitMSUJCT09TVF9TVVBQUkVTU19G
TEFHUyArPSAtV25vLXVudXNlZC1wYXJhbWV0ZXIJCQlcDQorCS1Xbm8tdW51c2VkLXZhcmlhYmxl
IC1Xbm8tdW51c2VkLXZhbHVlIC1Xbm8tdW51c2VkLWZ1bmN0aW9uIAlcDQorCS1Xbm8tbWlzc2lu
Zy1maWVsZC1pbml0aWFsaXplcnMgLVduby1pbXBsaWNpdC1mYWxsdGhyb3VnaCAJXA0KKwktV25v
LWNhc3QtZnVuY3Rpb24tdHlwZSAtV25vLXN0cmluZ29wLXRydW5jYXRpb24gCQlcDQorCS1Xbm8t
Y2hhci1zdWJzY3JpcHRzIC1Xbm8tc2lnbi1jb21wYXJlIC1Xbm8tcGFyZW50aGVzZXMJCVwNCisJ
LVduby1kZXByZWNhdGVkLWRlY2xhcmF0aW9ucw0KKw0KK0xJQkJPT1NUX0NGTEFHUy15CSs9ICQo
TElCQk9PU1RfU1VQUFJFU1NfRkxBR1MpIC1Xbm8tcG9pbnRlci10by1pbnQtY2FzdCAtV25vLWlu
dC10by1wb2ludGVyLWNhc3QNCitMSUJCT09TVF9DWFhGTEFHUy15CSs9ICQoTElCQk9PU1RfU1VQ
UFJFU1NfRkxBR1MpDQorDQorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCisjIExpYnJhcnkgc291
cmNlcw0KKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJ
QkJPT1NUX1NSQykvYm9vc3QvYXNpby9pbXBsL3NyYy5jcHANCisjTElCQk9PU1RfU1JDUy15ICs9
ICQoTElCQk9PU1RfU1JDKS9ib29zdC9zcGlyaXQvaG9tZS9zdXBwb3J0L2NoYXJfZW5jb2Rpbmcv
dW5pY29kZS9jcmVhdGVfdGFibGVzLmNwcA0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NU
X0JBU0UpL2dsdWUuY3BwDQorDQorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCisjIEJvb3N0IHNv
dXJjZXMgLSBsaWJzIC0gZGF0ZV90aW1lDQorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCitMSUJC
T09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvZGF0ZV90aW1lL3NyYy9ncmVnb3Jp
YW4vZ3JlZ19tb250aC5jcHANCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xp
YnMvZGF0ZV90aW1lL3NyYy9ncmVnb3JpYW4vZGF0ZV9nZW5lcmF0b3JzLmNwcA0KK0xJQkJPT1NU
X1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9kYXRlX3RpbWUvc3JjL2dyZWdvcmlhbi9n
cmVnb3JpYW5fdHlwZXMuY3BwDQorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9s
aWJzL2RhdGVfdGltZS9zcmMvZ3JlZ29yaWFuL2dyZWdfd2Vla2RheS5jcHANCitMSUJCT09TVF9T
UkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvZGF0ZV90aW1lL3NyYy9wb3NpeF90aW1lL3Bv
c2l4X3RpbWVfdHlwZXMuY3BwDQorDQorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCisjIEJvb3N0
IHNvdXJjZXMgLSBsaWJzIC0gZmlsZXN5c3RlbQ0KKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQor
TElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2ZpbGVzeXN0ZW0vc3JjL3dp
bmRvd3NfZmlsZV9jb2RlY3Z0LmNwcA0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NS
QykvbGlicy9maWxlc3lzdGVtL3NyYy9wb3J0YWJpbGl0eS5jcHANCitMSUJCT09TVF9TUkNTLXkg
Kz0gJChMSUJCT09TVF9TUkMpL2xpYnMvZmlsZXN5c3RlbS9zcmMvdW5pcXVlX3BhdGguY3BwDQor
TElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2ZpbGVzeXN0ZW0vc3JjL2Nv
ZGVjdnRfZXJyb3JfY2F0ZWdvcnkuY3BwDQorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1Rf
U1JDKS9saWJzL2ZpbGVzeXN0ZW0vc3JjL29wZXJhdGlvbnMuY3BwDQorTElCQk9PU1RfU1JDUy15
ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2ZpbGVzeXN0ZW0vc3JjL3BhdGhfdHJhaXRzLmNwcA0K
K0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9maWxlc3lzdGVtL3NyYy9w
YXRoLmNwcA0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9maWxlc3lz
dGVtL3NyYy91dGY4X2NvZGVjdnRfZmFjZXQuY3BwfGZpbGVzeXN0ZW0NCisNCisjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIw0KKyMgQm9vc3Qgc291cmNlcyAtIGxpYnMgLSB0aHJlYWQNCisjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIw0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGli
cy90aHJlYWQvc3JjL3B0aHJlYWQvdGhyZWFkLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChM
SUJCT09TVF9TUkMpL2xpYnMvdGhyZWFkL3NyYy9wdGhyZWFkL29uY2UuY3BwDQorTElCQk9PU1Rf
U1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3RocmVhZC9zcmMvcHRocmVhZC9vbmNlX2F0
b21pYy5jcHB8dGhyZWFkDQorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJz
L3RocmVhZC9zcmMvZnV0dXJlLmNwcA0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NS
QykvbGlicy90aHJlYWQvc3JjL3Rzc19udWxsLmNwcA0KKw0KKyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjDQorIyBCb29zdCBzb3VyY2VzIC0gbGlicyAtIG1hdGgNCisjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIw0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90
cjEvZm1heC5jcHANCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0
aC9zcmMvdHIxL2xlZ2VuZHJlZi5jcHANCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9T
UkMpL2xpYnMvbWF0aC9zcmMvdHIxL2NicnQuY3BwDQorTElCQk9PU1RfU1JDUy15ICs9ICQoTElC
Qk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9jeWxfbmV1bWFubi5jcHANCitMSUJCT09TVF9T
UkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2V4cGludGYuY3BwDQor
TElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9jb21w
X2VsbGludF8zLmNwcA0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9t
YXRoL3NyYy90cjEvYmV0YWYuY3BwDQorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JD
KS9saWJzL21hdGgvc3JjL3RyMS9jeWxfbmV1bWFubmYuY3BwDQorTElCQk9PU1RfU1JDUy15ICs9
ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9lbGxpbnRfM2wuY3BwDQorTElCQk9P
U1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9jYnJ0bC5jcHAN
CitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2V4
cG0xZi5jcHANCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9z
cmMvdHIxL3RnYW1tYWYuY3BwDQorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9s
aWJzL21hdGgvc3JjL3RyMS9sZ2FtbWFmLmNwcA0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJP
T1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvZXhwaW50LmNwcA0KK0xJQkJPT1NUX1NSQ1MteSAr
PSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvY29tcF9lbGxpbnRfMWwuY3BwDQor
TElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9jb3B5
c2lnbmwuY3BwDQorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgv
c3JjL3RyMS9oeXBvdGYuY3BwDQorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9s
aWJzL21hdGgvc3JjL3RyMS9jeWxfYmVzc2VsX2pmLmNwcA0KK0xJQkJPT1NUX1NSQ1MteSArPSAk
KExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvYXNzb2NfbGVnZW5kcmUuY3BwDQorTElC
Qk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9hc2luaGYu
Y3BwDQorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3Ry
MS9mbWluZi5jcHANCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0
aC9zcmMvdHIxL2hlcm1pdGVsLmNwcA0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NS
QykvbGlicy9tYXRoL3NyYy90cjEvYXNpbmguY3BwDQorTElCQk9PU1RfU1JDUy15ICs9ICQoTElC
Qk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9lcmZsLmNwcA0KK0xJQkJPT1NUX1NSQ1MteSAr
PSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvYXNpbmhsLmNwcA0KK0xJQkJPT1NU
X1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvZnBjbGFzc2lmeWYu
Y3BwDQorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3Ry
MS9iZXRhbC5jcHANCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0
aC9zcmMvdHIxL2VsbGludF8xZi5jcHANCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9T
UkMpL2xpYnMvbWF0aC9zcmMvdHIxL3NwaF9iZXNzZWwuY3BwDQorTElCQk9PU1RfU1JDUy15ICs9
ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9lcmZjbC5jcHANCitMSUJCT09TVF9T
UkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2xhZ3VlcnJlZi5jcHAN
CitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2Nv
bXBfZWxsaW50XzIuY3BwDQorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJz
L21hdGgvc3JjL3RyMS9hc3NvY19sZWdlbmRyZWwuY3BwDQorTElCQk9PU1RfU1JDUy15ICs9ICQo
TElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9zcGhfbmV1bWFubmYuY3BwDQorTElCQk9P
U1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9zcGhfbGVnZW5k
cmVmLmNwcA0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3Ny
Yy90cjEvbmV4dHRvd2FyZGYuY3BwDQorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JD
KS9saWJzL21hdGgvc3JjL3RyMS9sZ2FtbWEuY3BwDQorTElCQk9PU1RfU1JDUy15ICs9ICQoTElC
Qk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9lbGxpbnRfM2YuY3BwDQorTElCQk9PU1RfU1JD
Uy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9lbGxpbnRfMy5jcHANCitM
SUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2Fzc29j
X2xlZ2VuZHJlZi5jcHANCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMv
bWF0aC9zcmMvdHIxL2hlcm1pdGUuY3BwDQorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1Rf
U1JDKS9saWJzL21hdGgvc3JjL3RyMS9yb3VuZGYuY3BwDQorTElCQk9PU1RfU1JDUy15ICs9ICQo
TElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9sZWdlbmRyZWwuY3BwDQorTElCQk9PU1Rf
U1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9hdGFuaGYuY3BwDQor
TElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9hY29z
aGwuY3BwDQorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3Jj
L3RyMS9hdGFuaC5jcHANCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMv
bWF0aC9zcmMvdHIxL2NvbXBfZWxsaW50XzEuY3BwDQorTElCQk9PU1RfU1JDUy15ICs9ICQoTElC
Qk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9hdGFuaGwuY3BwDQorTElCQk9PU1RfU1JDUy15
ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9hY29zaC5jcHANCitMSUJCT09T
VF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2Fzc29jX2xhZ3Vl
cnJlZi5jcHANCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9z
cmMvdHIxL25leHR0b3dhcmQuY3BwDQorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JD
KS9saWJzL21hdGgvc3JjL3RyMS9mbWF4bC5jcHANCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJC
T09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2VsbGludF8ybC5jcHANCitMSUJCT09TVF9TUkNT
LXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL3NwaF9uZXVtYW5uLmNwcA0K
K0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvcm91
bmQuY3BwDQorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3Jj
L3RyMS9jeWxfYmVzc2VsX2lmLmNwcA0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NS
QykvbGlicy9tYXRoL3NyYy90cjEvZWxsaW50XzIuY3BwDQorTElCQk9PU1RfU1JDUy15ICs9ICQo
TElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9sb2cxcGYuY3BwDQorTElCQk9PU1RfU1JD
Uy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9zcGhfYmVzc2VsZi5jcHAN
CitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL3Nw
aF9sZWdlbmRyZWwuY3BwDQorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJz
L21hdGgvc3JjL3RyMS9leHBtMS5jcHANCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9T
UkMpL2xpYnMvbWF0aC9zcmMvdHIxL3RnYW1tYS5jcHANCitMSUJCT09TVF9TUkNTLXkgKz0gJChM
SUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2xvZzFwbC5jcHANCitMSUJCT09TVF9TUkNT
LXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2NicnRmLmNwcA0KK0xJQkJP
T1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvYXNzb2NfbGFn
dWVycmVsLmNwcA0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRo
L3NyYy90cjEvY29tcF9lbGxpbnRfM2wuY3BwDQorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9P
U1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9scm91bmRsLmNwcA0KK0xJQkJPT1NUX1NSQ1MteSAr
PSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvY3lsX2Jlc3NlbF9qLmNwcA0KK0xJ
QkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvc3BoX25l
dW1hbm5sLmNwcA0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRo
L3NyYy90cjEvbGFndWVycmUuY3BwDQorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JD
KS9saWJzL21hdGgvc3JjL3RyMS9jeWxfYmVzc2VsX2lsLmNwcA0KK0xJQkJPT1NUX1NSQ1MteSAr
PSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvcmllbWFubl96ZXRhLmNwcA0KK0xJ
QkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvcm91bmRs
LmNwcA0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90
cjEvZXhwbTFsLmNwcA0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9t
YXRoL3NyYy90cjEvZWxsaW50XzJmLmNwcA0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NU
X1NSQykvbGlicy9tYXRoL3NyYy90cjEvY29weXNpZ25mLmNwcA0KK0xJQkJPT1NUX1NSQ1MteSAr
PSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvdHJ1bmMuY3BwDQorTElCQk9PU1Rf
U1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9sYWd1ZXJyZWwuY3Bw
DQorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9j
eWxfYmVzc2VsX2tsLmNwcA0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGli
cy9tYXRoL3NyYy90cjEvY3lsX2Jlc3NlbF9rZi5jcHANCitMSUJCT09TVF9TUkNTLXkgKz0gJChM
SUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2ZwY2xhc3NpZnkuY3BwDQorTElCQk9PU1Rf
U1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9sZ2FtbWFsLmNwcA0K
K0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvZnBj
bGFzc2lmeWwuY3BwDQorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21h
dGgvc3JjL3RyMS9yaWVtYW5uX3pldGFsLmNwcA0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJP
T1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvcmllbWFubl96ZXRhZi5jcHANCitMSUJCT09TVF9T
UkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2h5cG90bC5jcHANCitM
SUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2NvbXBf
ZWxsaW50XzJmLmNwcA0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9t
YXRoL3NyYy90cjEvYmV0YS5jcHANCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMp
L2xpYnMvbWF0aC9zcmMvdHIxL2N5bF9iZXNzZWxfamwuY3BwDQorTElCQk9PU1RfU1JDUy15ICs9
ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9lbGxpbnRfMWwuY3BwDQorTElCQk9P
U1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9uZXh0YWZ0ZXJs
LmNwcA0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90
cjEvY3lsX2Jlc3NlbF9rLmNwcA0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykv
bGlicy9tYXRoL3NyYy90cjEvYWNvc2hmLmNwcA0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJP
T1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvZXJmYy5jcHANCitMSUJCT09TVF9TUkNTLXkgKz0g
JChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2xscm91bmQuY3BwDQorTElCQk9PU1Rf
U1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9hc3NvY19sYWd1ZXJy
ZS5jcHANCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMv
dHIxL3RnYW1tYWwuY3BwDQorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJz
L21hdGgvc3JjL3RyMS9jeWxfbmV1bWFubmwuY3BwDQorTElCQk9PU1RfU1JDUy15ICs9ICQoTElC
Qk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9jeWxfYmVzc2VsX2kuY3BwDQorTElCQk9PU1Rf
U1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9leHBpbnRsLmNwcA0K
K0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvbHJv
dW5kLmNwcA0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3Ny
Yy90cjEvbmV4dHRvd2FyZGwuY3BwDQorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JD
KS9saWJzL21hdGgvc3JjL3RyMS9lbGxpbnRfMS5jcHANCitMSUJCT09TVF9TUkNTLXkgKz0gJChM
SUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2NvbXBfZWxsaW50XzJsLmNwcA0KK0xJQkJP
T1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvdHJ1bmNsLmNw
cA0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEv
bmV4dGFmdGVyZi5jcHANCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMv
bWF0aC9zcmMvdHIxL2xvZzFwLmNwcA0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NS
QykvbGlicy9tYXRoL3NyYy90cjEvZXJmLmNwcA0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJP
T1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvZXJmZi5jcHANCitMSUJCT09TVF9TUkNTLXkgKz0g
JChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2ZtaW4uY3BwDQorTElCQk9PU1RfU1JD
Uy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9scm91bmRmLmNwcA0KK0xJ
QkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvbGVnZW5k
cmUuY3BwDQorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3Jj
L3RyMS9sbHJvdW5kbC5jcHANCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xp
YnMvbWF0aC9zcmMvdHIxL2NvbXBfZWxsaW50XzNmLmNwcA0KK0xJQkJPT1NUX1NSQ1MteSArPSAk
KExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvbmV4dGFmdGVyLmNwcA0KK0xJQkJPT1NU
X1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvc3BoX2Jlc3NlbGwu
Y3BwDQorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3Ry
MS9mbWlubC5jcHANCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0
aC9zcmMvdHIxL3RydW5jZi5jcHANCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMp
L2xpYnMvbWF0aC9zcmMvdHIxL2h5cG90LmNwcA0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJP
T1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvc3BoX2xlZ2VuZHJlLmNwcA0KK0xJQkJPT1NUX1NS
Q1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL3NyYy90cjEvaGVybWl0ZWYuY3BwDQor
TElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21hdGgvc3JjL3RyMS9sbHJv
dW5kZi5jcHANCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9z
cmMvdHIxL2VyZmNmLmNwcA0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGli
cy9tYXRoL3NyYy90cjEvZm1heGYuY3BwDQorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1Rf
U1JDKS9saWJzL21hdGgvc3JjL3RyMS9jb21wX2VsbGludF8xZi5jcHANCitMSUJCT09TVF9TUkNT
LXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9zcmMvdHIxL2NvcHlzaWduLmNwcA0KKyNM
SUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbWF0aC9taW5pbWF4L2YuY3Bw
DQorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tYXRoL21pbmltYXgv
bWFpbi5jcHANCisNCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KKyMgQm9vc3Qgc291cmNlcyAt
IGxpYnMgLSByZWdleA0KKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQorTElCQk9PU1RfU1JDUy15
ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3JlZ2V4L3NyYy9jcmVnZXguY3BwDQorTElCQk9PU1Rf
U1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3JlZ2V4L3NyYy9zdGF0aWNfbXV0ZXguY3Bw
DQorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3JlZ2V4L3NyYy93aW5z
dGFuY2VzLmNwcA0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9yZWdl
eC9zcmMvcG9zaXhfYXBpLmNwcA0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykv
bGlicy9yZWdleC9zcmMvdzMyX3JlZ2V4X3RyYWl0cy5jcHANCitMSUJCT09TVF9TUkNTLXkgKz0g
JChMSUJCT09TVF9TUkMpL2xpYnMvcmVnZXgvc3JjL2NwcF9yZWdleF90cmFpdHMuY3BwDQorTElC
Qk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3JlZ2V4L3NyYy9yZWdleF90cmFp
dHNfZGVmYXVsdHMuY3BwDQorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJz
L3JlZ2V4L3NyYy91c2luc3RhbmNlcy5jcHANCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09T
VF9TUkMpL2xpYnMvcmVnZXgvc3JjL3dpZGVfcG9zaXhfYXBpLmNwcA0KK0xJQkJPT1NUX1NSQ1Mt
eSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9yZWdleC9zcmMvd2NfcmVnZXhfdHJhaXRzLmNwcA0K
K0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9yZWdleC9zcmMvcmVnZXhf
cmF3X2J1ZmZlci5jcHANCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMv
cmVnZXgvc3JjL2NfcmVnZXhfdHJhaXRzLmNwcA0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJP
T1NUX1NSQykvbGlicy9yZWdleC9zcmMvcmVnZXguY3BwDQorTElCQk9PU1RfU1JDUy15ICs9ICQo
TElCQk9PU1RfU1JDKS9saWJzL3JlZ2V4L3NyYy9pbnN0YW5jZXMuY3BwDQorTElCQk9PU1RfU1JD
Uy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3JlZ2V4L3NyYy9yZWdleF9kZWJ1Zy5jcHANCitM
SUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvcmVnZXgvc3JjL2ZpbGVpdGVy
LmNwcA0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9yZWdleC9zcmMv
aWN1LmNwcA0KKw0KKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQorIyBCb29zdCBzb3VyY2VzIC0g
bGlicyAtIGNvbnRleHQNCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KKyNMSUJCT09TVF9TUkNT
LXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvY29udGV4dC9zcmMvZXhlY3V0aW9uX2NvbnRleHQu
Y3BwDQorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9jb250ZXh0L3Ny
Yy9kdW1teS5jcHANCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2Nv
bnRleHQvc3JjL2ZpYmVyLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMp
L2xpYnMvY29udGV4dC9zcmMvd2luZG93cy9zdGFja190cmFpdHMuY3BwDQorI0xJQkJPT1NUX1NS
Q1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9jb250ZXh0L3NyYy9jb250aW51YXRpb24uY3Bw
DQorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9jb250ZXh0L3NyYy91
bnRlc3RlZC5jcHANCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2Nv
bnRleHQvc3JjL3Bvc2l4L3N0YWNrX3RyYWl0cy5jcHANCisjTElCQk9PU1RfU1JDUy15ICs9ICQo
TElCQk9PU1RfU1JDKS9saWJzL2NvbnRleHQvYnVpbGQvY3h4MTFfaGRyX211dGV4LmNwcA0KKyNM
SUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvY29uY2VwdF9jaGVjay9iYWRf
ZXJyb3JfZWcuY3BwDQorDQorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCisjIEJvb3N0IHNvdXJj
ZXMgLSBsaWJzIC0gZ3JhcGhfcGFyYWxsZWwNCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KK0xJ
QkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9ncmFwaF9wYXJhbGxlbC9zcmMv
dGFnX2FsbG9jYXRvci5jcHANCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9s
aWJzL2dyYXBoX3BhcmFsbGVsL3NyYy9tcGlfcHJvY2Vzc19ncm91cC5jcHANCisNCisjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIw0KKyMgQm9vc3Qgc291cmNlcyAtIGxpYnMgLSBwcm9ncmFtX29wdGlv
bnMNCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJP
T1NUX1NSQykvbGlicy9wcm9ncmFtX29wdGlvbnMvc3JjL3BhcnNlcnMuY3BwDQorTElCQk9PU1Rf
U1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3Byb2dyYW1fb3B0aW9ucy9zcmMvY29uZmln
X2ZpbGUuY3BwDQorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3Byb2dy
YW1fb3B0aW9ucy9zcmMvcG9zaXRpb25hbF9vcHRpb25zLmNwcA0KK0xJQkJPT1NUX1NSQ1MteSAr
PSAkKExJQkJPT1NUX1NSQykvbGlicy9wcm9ncmFtX29wdGlvbnMvc3JjL29wdGlvbnNfZGVzY3Jp
cHRpb24uY3BwDQorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3Byb2dy
YW1fb3B0aW9ucy9zcmMvY29udmVydC5jcHANCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09T
VF9TUkMpL2xpYnMvcHJvZ3JhbV9vcHRpb25zL3NyYy9zcGxpdC5jcHANCitMSUJCT09TVF9TUkNT
LXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvcHJvZ3JhbV9vcHRpb25zL3NyYy92YXJpYWJsZXNf
bWFwLmNwcA0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9wcm9ncmFt
X29wdGlvbnMvc3JjL2NtZGxpbmUuY3BwDQorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1Rf
U1JDKS9saWJzL3Byb2dyYW1fb3B0aW9ucy9zcmMvd2lubWFpbi5jcHANCitMSUJCT09TVF9TUkNT
LXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvcHJvZ3JhbV9vcHRpb25zL3NyYy91dGY4X2NvZGVj
dnRfZmFjZXQuY3BwfHByb2dyYW0NCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMp
L2xpYnMvcHJvZ3JhbV9vcHRpb25zL3NyYy92YWx1ZV9zZW1hbnRpYy5jcHANCisNCisjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIw0KKyMgQm9vc3Qgc291cmNlcyAtIGxpYnMgLSBjb250cmFjdA0KKyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjDQorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JD
KS9saWJzL2NvbnRyYWN0L3NyYy9jb250cmFjdC5jcHANCisNCisjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIw0KKyMgQm9vc3Qgc291cmNlcyAtIGxpYnMgLSBzeXN0ZW0NCisjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIw0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9zeXN0ZW0v
c3JjL2Vycm9yX2NvZGUuY3BwDQorDQorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCisjIEJvb3N0
IHNvdXJjZXMgLSBsaWJzIC0gd2F2ZQ0KKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQorTElCQk9P
U1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3dhdmUvc3JjL2luc3RhbnRpYXRlX2Nw
cF9leHByZ3JhbW1hci5jcHANCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xp
YnMvd2F2ZS9zcmMvaW5zdGFudGlhdGVfcmUyY19sZXhlcl9zdHIuY3BwDQorTElCQk9PU1RfU1JD
Uy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3dhdmUvc3JjL2luc3RhbnRpYXRlX2NwcF9saXRl
cmFsZ3JzLmNwcA0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy93YXZl
L3NyYy9jcHBsZXhlci9yZTJjbGV4L2NwcF9yZS5jcHANCitMSUJCT09TVF9TUkNTLXkgKz0gJChM
SUJCT09TVF9TUkMpL2xpYnMvd2F2ZS9zcmMvY3BwbGV4ZXIvcmUyY2xleC9hcS5jcHANCitMSUJC
T09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvd2F2ZS9zcmMvaW5zdGFudGlhdGVf
Y3BwX2dyYW1tYXIuY3BwDQorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJz
L3dhdmUvc3JjL3Rva2VuX2lkcy5jcHANCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9T
UkMpL2xpYnMvd2F2ZS9zcmMvaW5zdGFudGlhdGVfZGVmaW5lZF9ncmFtbWFyLmNwcA0KK0xJQkJP
T1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy93YXZlL3NyYy93YXZlX2NvbmZpZ19j
b25zdGFudC5jcHANCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvd2F2
ZS9zcmMvaW5zdGFudGlhdGVfcHJlZGVmX21hY3Jvcy5jcHANCitMSUJCT09TVF9TUkNTLXkgKz0g
JChMSUJCT09TVF9TUkMpL2xpYnMvd2F2ZS9zcmMvaW5zdGFudGlhdGVfcmUyY19sZXhlci5jcHAN
CisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3dhdmUvdG9vbC9jcHAu
Y3BwDQorDQorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCisjIEJvb3N0IHNvdXJjZXMgLSBsaWJz
IC0gc2VyaWFsaXphdGlvbg0KKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQorTElCQk9PU1RfU1JD
Uy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2lvc3RyZWFtcy9zcmMvbWFwcGVkX2ZpbGUuY3Bw
DQorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9pb3N0cmVhbXMvc3Jj
L3pzdGQuY3BwDQorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9pb3N0
cmVhbXMvc3JjL3psaWIuY3BwDQorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykv
bGlicy9pb3N0cmVhbXMvc3JjL2J6aXAyLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJC
T09TVF9TUkMpL2xpYnMvaW9zdHJlYW1zL3NyYy9nemlwLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkg
Kz0gJChMSUJCT09TVF9TUkMpL2xpYnMvaW9zdHJlYW1zL3NyYy9sem1hLmNwcA0KK0xJQkJPT1NU
X1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9pb3N0cmVhbXMvc3JjL2ZpbGVfZGVzY3Jp
cHRvci5jcHANCisNCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KKyMgQm9vc3Qgc291cmNlcyAt
IGxpYnMgLSBzZXJpYWxpemF0aW9uDQorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCitMSUJCT09T
VF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvc2VyaWFsaXphdGlvbi9zcmMvYXJjaGl2
ZV9leGNlcHRpb24uY3BwDQorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJz
L3NlcmlhbGl6YXRpb24vc3JjL3BvbHltb3JwaGljX29hcmNoaXZlLmNwcA0KK0xJQkJPT1NUX1NS
Q1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9zZXJpYWxpemF0aW9uL3NyYy9iYXNpY19wb2lu
dGVyX29zZXJpYWxpemVyLmNwcA0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykv
bGlicy9zZXJpYWxpemF0aW9uL3NyYy9wb2x5bW9ycGhpY190ZXh0X3dvYXJjaGl2ZS5jcHANCitM
SUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvc2VyaWFsaXphdGlvbi9zcmMv
eG1sX3dncmFtbWFyLmNwcA0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGli
cy9zZXJpYWxpemF0aW9uL3NyYy90ZXh0X29hcmNoaXZlLmNwcA0KK0xJQkJPT1NUX1NSQ1MteSAr
PSAkKExJQkJPT1NUX1NSQykvbGlicy9zZXJpYWxpemF0aW9uL3NyYy9wb2x5bW9ycGhpY190ZXh0
X2lhcmNoaXZlLmNwcA0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9z
ZXJpYWxpemF0aW9uL3NyYy9wb2x5bW9ycGhpY194bWxfd29hcmNoaXZlLmNwcA0KK0xJQkJPT1NU
X1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9zZXJpYWxpemF0aW9uL3NyYy94bWxfaWFy
Y2hpdmUuY3BwDQorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3Nlcmlh
bGl6YXRpb24vc3JjL3BvbHltb3JwaGljX3htbF9pYXJjaGl2ZS5jcHANCitMSUJCT09TVF9TUkNT
LXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvc2VyaWFsaXphdGlvbi9zcmMvYmluYXJ5X2lhcmNo
aXZlLmNwcA0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9zZXJpYWxp
emF0aW9uL3NyYy9iYXNpY190ZXh0X2lwcmltaXRpdmUuY3BwDQorTElCQk9PU1RfU1JDUy15ICs9
ICQoTElCQk9PU1RfU1JDKS9saWJzL3NlcmlhbGl6YXRpb24vc3JjL3N0bF9wb3J0LmNwcA0KK0xJ
QkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9zZXJpYWxpemF0aW9uL3NyYy9l
eHRlbmRlZF90eXBlX2luZm9fdHlwZWlkLmNwcA0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJP
T1NUX1NSQykvbGlicy9zZXJpYWxpemF0aW9uL3NyYy9wb2x5bW9ycGhpY190ZXh0X29hcmNoaXZl
LmNwcA0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9zZXJpYWxpemF0
aW9uL3NyYy9iYXNpY19wb2ludGVyX2lzZXJpYWxpemVyLmNwcA0KK0xJQkJPT1NUX1NSQ1MteSAr
PSAkKExJQkJPT1NUX1NSQykvbGlicy9zZXJpYWxpemF0aW9uL3NyYy92b2lkX2Nhc3QuY3BwDQor
TElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3NlcmlhbGl6YXRpb24vc3Jj
L2Jhc2ljX29zZXJpYWxpemVyLmNwcA0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NS
QykvbGlicy9zZXJpYWxpemF0aW9uL3NyYy94bWxfZ3JhbW1hci5jcHANCitMSUJCT09TVF9TUkNT
LXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvc2VyaWFsaXphdGlvbi9zcmMveG1sX3dpYXJjaGl2
ZS5jcHANCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvc2VyaWFsaXph
dGlvbi9zcmMvYmFzaWNfaWFyY2hpdmUuY3BwDQorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9P
U1RfU1JDKS9saWJzL3NlcmlhbGl6YXRpb24vc3JjL2Jhc2ljX29hcmNoaXZlLmNwcA0KK0xJQkJP
T1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9zZXJpYWxpemF0aW9uL3NyYy9iYXNp
Y19zZXJpYWxpemVyX21hcC5jcHANCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMp
L2xpYnMvc2VyaWFsaXphdGlvbi9zcmMvYmFzaWNfdGV4dF93aXByaW1pdGl2ZS5jcHANCitMSUJC
T09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvc2VyaWFsaXphdGlvbi9zcmMvY29k
ZWN2dF9udWxsLmNwcA0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9z
ZXJpYWxpemF0aW9uL3NyYy9wb2x5bW9ycGhpY19iaW5hcnlfaWFyY2hpdmUuY3BwDQorTElCQk9P
U1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3NlcmlhbGl6YXRpb24vc3JjL2V4dGVu
ZGVkX3R5cGVfaW5mb19ub19ydHRpLmNwcA0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NU
X1NSQykvbGlicy9zZXJpYWxpemF0aW9uL3NyYy9iaW5hcnlfd29hcmNoaXZlLmNwcA0KK0xJQkJP
T1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9zZXJpYWxpemF0aW9uL3NyYy9iYXNp
Y194bWxfYXJjaGl2ZS5jcHANCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xp
YnMvc2VyaWFsaXphdGlvbi9zcmMvZXh0ZW5kZWRfdHlwZV9pbmZvLmNwcA0KK0xJQkJPT1NUX1NS
Q1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9zZXJpYWxpemF0aW9uL3NyYy9wb2x5bW9ycGhp
Y194bWxfb2FyY2hpdmUuY3BwDQorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9s
aWJzL3NlcmlhbGl6YXRpb24vc3JjL2Jhc2ljX2lzZXJpYWxpemVyLmNwcA0KK0xJQkJPT1NUX1NS
Q1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9zZXJpYWxpemF0aW9uL3NyYy94bWxfb2FyY2hp
dmUuY3BwDQorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3NlcmlhbGl6
YXRpb24vc3JjL3RleHRfaWFyY2hpdmUuY3BwDQorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9P
U1RfU1JDKS9saWJzL3NlcmlhbGl6YXRpb24vc3JjL3BvbHltb3JwaGljX2JpbmFyeV9vYXJjaGl2
ZS5jcHANCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvc2VyaWFsaXph
dGlvbi9zcmMvcG9seW1vcnBoaWNfeG1sX3dpYXJjaGl2ZS5jcHANCitMSUJCT09TVF9TUkNTLXkg
Kz0gJChMSUJCT09TVF9TUkMpL2xpYnMvc2VyaWFsaXphdGlvbi9zcmMvYmluYXJ5X3dpYXJjaGl2
ZS5jcHANCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvc2VyaWFsaXph
dGlvbi9zcmMvcG9seW1vcnBoaWNfaWFyY2hpdmUuY3BwDQorTElCQk9PU1RfU1JDUy15ICs9ICQo
TElCQk9PU1RfU1JDKS9saWJzL3NlcmlhbGl6YXRpb24vc3JjL3htbF9hcmNoaXZlX2V4Y2VwdGlv
bi5jcHANCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvc2VyaWFsaXph
dGlvbi9zcmMvdGV4dF93aWFyY2hpdmUuY3BwDQorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9P
U1RfU1JDKS9saWJzL3NlcmlhbGl6YXRpb24vc3JjL3BvbHltb3JwaGljX3RleHRfd2lhcmNoaXZl
LmNwcA0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9zZXJpYWxpemF0
aW9uL3NyYy9iYXNpY19hcmNoaXZlLmNwcA0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NU
X1NSQykvbGlicy9zZXJpYWxpemF0aW9uL3NyYy9iYXNpY190ZXh0X3dvcHJpbWl0aXZlLmNwcA0K
K0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9zZXJpYWxpemF0aW9uL3Ny
Yy94bWxfd29hcmNoaXZlLmNwcA0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykv
bGlicy9zZXJpYWxpemF0aW9uL3NyYy9iYXNpY190ZXh0X29wcmltaXRpdmUuY3BwDQorTElCQk9P
U1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3NlcmlhbGl6YXRpb24vc3JjL3RleHRf
d29hcmNoaXZlLmNwcA0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9z
ZXJpYWxpemF0aW9uL3NyYy91dGY4X2NvZGVjdnRfZmFjZXQuY3BwfHNlcmlhbGl6YXRpb24NCitM
SUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvc2VyaWFsaXphdGlvbi9zcmMv
YmluYXJ5X29hcmNoaXZlLmNwcA0KKw0KKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQorIyBCb29z
dCBzb3VyY2VzIC0gbGlicyAtIGNvbnRhaW5lcg0KKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCitM
SUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvY29udGFpbmVyL3NyYy9nbG9i
YWxfcmVzb3VyY2UuY3BwDQorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJz
L2NvbnRhaW5lci9zcmMvdW5zeW5jaHJvbml6ZWRfcG9vbF9yZXNvdXJjZS5jcHANCitMSUJCT09T
VF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvY29udGFpbmVyL3NyYy9wb29sX3Jlc291
cmNlLmNwcA0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9jb250YWlu
ZXIvc3JjL21vbm90b25pY19idWZmZXJfcmVzb3VyY2UuY3BwDQorTElCQk9PU1RfU1JDUy15ICs9
ICQoTElCQk9PU1RfU1JDKS9saWJzL2NvbnRhaW5lci9zcmMvZGxtYWxsb2MuY3BwDQorTElCQk9P
U1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2NvbnRhaW5lci9zcmMvc3luY2hyb25p
emVkX3Bvb2xfcmVzb3VyY2UuY3BwDQorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NS
QykvbGlicy9jb250YWluZXIvc3JjL2RsbWFsbG9jXzJfOF82LmMNCitMSUJCT09TVF9TUkNTLXkg
Kz0gJChMSUJCT09TVF9TUkMpL2xpYnMvY29udGFpbmVyL3NyYy9hbGxvY19saWIuYw0KKyNMSUJC
T09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvY29udGFpbmVyL3NyYy9kbG1hbGxv
Y19leHRfMl84XzYuY3xjb250YWluZXINCisNCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KKyMg
Qm9vc3Qgc291cmNlcyAtIGxpYnMgLSBjaHJvbm8NCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0K
K0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9jaHJvbm8vc3JjL3Byb2Nl
c3NfY3B1X2Nsb2Nrcy5jcHANCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xp
YnMvY2hyb25vL3NyYy90aHJlYWRfY2xvY2suY3BwDQorTElCQk9PU1RfU1JDUy15ICs9ICQoTElC
Qk9PU1RfU1JDKS9saWJzL2Nocm9uby9zcmMvY2hyb25vLmNwcA0KKw0KKyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjDQorIyBCb29zdCBzb3VyY2VzIC0gbGlicyAtIHR5cGVfZXJhc3VyZQ0KKyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjDQorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9s
aWJzL3R5cGVfZXJhc3VyZS9zcmMvZHluYW1pY19iaW5kaW5nLmNwcA0KKw0KKyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjDQorIyBCb29zdCBzb3VyY2VzIC0gbGlicyAtIHRlc3QNCisjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIw0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMv
dGVzdC9zcmMvdW5pdF90ZXN0X21haW4uY3BwDQorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9P
U1RfU1JDKS9saWJzL3Rlc3Qvc3JjL2RlY29yYXRvci5jcHANCitMSUJCT09TVF9TUkNTLXkgKz0g
JChMSUJCT09TVF9TUkMpL2xpYnMvdGVzdC9zcmMvZGVidWcuY3BwDQorTElCQk9PU1RfU1JDUy15
ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3Rlc3Qvc3JjL3Jlc3VsdHNfcmVwb3J0ZXIuY3BwDQor
TElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3Rlc3Qvc3JjL3VuaXRfdGVz
dF9tb25pdG9yLmNwcA0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy90
ZXN0L3NyYy9leGVjdXRpb25fbW9uaXRvci5jcHANCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElC
Qk9PU1RfU1JDKS9saWJzL3Rlc3Qvc3JjL2NwcF9tYWluLmNwcA0KK0xJQkJPT1NUX1NSQ1MteSAr
PSAkKExJQkJPT1NUX1NSQykvbGlicy90ZXN0L3NyYy90ZXN0X2ZyYW1ld29ya19pbml0X29ic2Vy
dmVyLmNwcA0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy90ZXN0L3Ny
Yy9wbGFpbl9yZXBvcnRfZm9ybWF0dGVyLmNwcA0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJP
T1NUX1NSQykvbGlicy90ZXN0L3NyYy9yZXN1bHRzX2NvbGxlY3Rvci5jcHANCitMSUJCT09TVF9T
UkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvdGVzdC9zcmMvY29tcGlsZXJfbG9nX2Zvcm1h
dHRlci5jcHANCitMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvdGVzdC9z
cmMvdGVzdF90cmVlLmNwcA0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGli
cy90ZXN0L3NyYy9wcm9ncmVzc19tb25pdG9yLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChM
SUJCT09TVF9TUkMpL2xpYnMvdGVzdC9zcmMvdGVzdF9tYWluLmNwcA0KK0xJQkJPT1NUX1NSQ1Mt
eSArPSAkKExJQkJPT1NUX1NSQykvbGlicy90ZXN0L3NyYy91bml0X3Rlc3RfbG9nLmNwcA0KK0xJ
QkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy90ZXN0L3NyYy9mcmFtZXdvcmsu
Y3BwDQorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3Rlc3Qvc3JjL3ht
bF9sb2dfZm9ybWF0dGVyLmNwcA0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykv
bGlicy90ZXN0L3NyYy90ZXN0X3Rvb2xzLmNwcA0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJP
T1NUX1NSQykvbGlicy90ZXN0L3NyYy91bml0X3Rlc3RfcGFyYW1ldGVycy5jcHANCitMSUJCT09T
VF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvdGVzdC9zcmMveG1sX3JlcG9ydF9mb3Jt
YXR0ZXIuY3BwDQorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3Rlc3Qv
c3JjL2p1bml0X2xvZ19mb3JtYXR0ZXIuY3BwDQorDQorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMN
CisjIEJvb3N0IHNvdXJjZXMgLSBsaWJzIC0gbG9jYWxlDQorIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMNCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvY2FsZS9zcmMv
ZW5jb2RpbmcvY29kZXBhZ2UuY3BwDQorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NS
QykvbGlicy9sb2NhbGUvc3JjL3N0ZC9jb2xsYXRlLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0g
JChMSUJCT09TVF9TUkMpL2xpYnMvbG9jYWxlL3NyYy9zdGQvY29udmVydGVyLmNwcA0KKyNMSUJC
T09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9jYWxlL3NyYy9zdGQvbnVtZXJp
Yy5jcHANCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvY2FsZS9z
cmMvc3RkL3N0ZF9iYWNrZW5kLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9T
UkMpL2xpYnMvbG9jYWxlL3NyYy9zdGQvY29kZWN2dC5jcHANCisjTElCQk9PU1RfU1JDUy15ICs9
ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvY2FsZS9zcmMvaWN1L2RhdGVfdGltZS5jcHANCisjTElC
Qk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvY2FsZS9zcmMvaWN1L2NvbGxh
dG9yLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9jYWxl
L3NyYy9pY3UvY29udmVyc2lvbi5jcHANCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1Rf
U1JDKS9saWJzL2xvY2FsZS9zcmMvaWN1L2ljdV9iYWNrZW5kLmNwcA0KKyNMSUJCT09TVF9TUkNT
LXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9jYWxlL3NyYy9pY3UvbnVtZXJpYy5jcHANCisj
TElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvY2FsZS9zcmMvaWN1L3Rp
bWVfem9uZS5jcHANCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xv
Y2FsZS9zcmMvaWN1L2NvZGVjdnQuY3BwDQorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NU
X1NSQykvbGlicy9sb2NhbGUvc3JjL2ljdS9mb3JtYXR0ZXIuY3BwDQorI0xJQkJPT1NUX1NSQ1Mt
eSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2NhbGUvc3JjL2ljdS9ib3VuZGFyeS5jcHANCisj
TElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvY2FsZS9zcmMvdXRpbC9s
b2NhbGVfZGF0YS5jcHANCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJz
L2xvY2FsZS9zcmMvdXRpbC9jb2RlY3Z0X2NvbnZlcnRlci5jcHANCisjTElCQk9PU1RfU1JDUy15
ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvY2FsZS9zcmMvdXRpbC9kZWZhdWx0X2xvY2FsZS5j
cHANCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvY2FsZS9zcmMv
dXRpbC9ncmVnb3JpYW4uY3BwDQorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykv
bGlicy9sb2NhbGUvc3JjL3V0aWwvaW5mby5jcHANCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElC
Qk9PU1RfU1JDKS9saWJzL2xvY2FsZS9zcmMvcG9zaXgvcG9zaXhfYmFja2VuZC5jcHANCisjTElC
Qk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvY2FsZS9zcmMvcG9zaXgvY29s
bGF0ZS5jcHANCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvY2Fs
ZS9zcmMvcG9zaXgvY29udmVydGVyLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09T
VF9TUkMpL2xpYnMvbG9jYWxlL3NyYy9wb3NpeC9udW1lcmljLmNwcA0KKyNMSUJCT09TVF9TUkNT
LXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9jYWxlL3NyYy9wb3NpeC9jb2RlY3Z0LmNwcA0K
KyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9jYWxlL3NyYy9zaGFy
ZWQvZGF0ZV90aW1lLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xp
YnMvbG9jYWxlL3NyYy9zaGFyZWQvbW9fbGFtYmRhLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0g
JChMSUJCT09TVF9TUkMpL2xpYnMvbG9jYWxlL3NyYy9zaGFyZWQvZm9ybWF0dGluZy5jcHANCisj
TElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvY2FsZS9zcmMvc2hhcmVk
L2lkcy5jcHANCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvY2Fs
ZS9zcmMvc2hhcmVkL2Zvcm1hdC5jcHANCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1Rf
U1JDKS9saWJzL2xvY2FsZS9zcmMvc2hhcmVkL21lc3NhZ2UuY3BwDQorI0xJQkJPT1NUX1NSQ1Mt
eSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2NhbGUvc3JjL3NoYXJlZC9nZW5lcmF0b3IuY3Bw
DQorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2NhbGUvc3JjL3No
YXJlZC9sb2NhbGl6YXRpb25fYmFja2VuZC5jcHANCisNCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
Iw0KKyMgQm9vc3Qgc291cmNlcyAtIGxpYnMgLSBhdG9taWMNCisjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIw0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9hdG9taWMvc3Jj
L2xvY2twb29sLmNwcA0KKw0KKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQorIyBCb29zdCBzb3Vy
Y2VzIC0gbGlicyAtIGxvZw0KKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQorI0xJQkJPT1NUX1NS
Q1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2cvc3JjL3RleHRfb3N0cmVhbV9iYWNrZW5k
LmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9nL3NyYy9l
eGNlcHRpb25zLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMv
bG9nL3NyYy90aHJlYWRfaWQuY3BwDQorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NS
QykvbGlicy9sb2cvc3JjL2NvZGVfY29udmVyc2lvbi5jcHANCisjTElCQk9PU1RfU1JDUy15ICs9
ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvZy9zcmMvdHJpdmlhbC5jcHANCisjTElCQk9PU1RfU1JD
Uy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvZy9zcmMvZHVtcF9zc3NlMy5jcHANCisjTElC
Qk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvZy9zcmMvZGVmYXVsdF9zaW5r
LmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9nL3NyYy9k
YXRlX3RpbWVfZm9ybWF0X3BhcnNlci5jcHANCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9P
U1RfU1JDKS9saWJzL2xvZy9zcmMvc2V0dXAvZmlsdGVyX3BhcnNlci5jcHANCisjTElCQk9PU1Rf
U1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvZy9zcmMvc2V0dXAvZGVmYXVsdF9mb3Jt
YXR0ZXJfZmFjdG9yeS5jcHANCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9s
aWJzL2xvZy9zcmMvc2V0dXAvcGFyc2VyX3V0aWxzLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0g
JChMSUJCT09TVF9TUkMpL2xpYnMvbG9nL3NyYy9zZXR1cC9pbml0X2Zyb21fc2V0dGluZ3MuY3Bw
DQorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2cvc3JjL3NldHVw
L21hdGNoZXNfcmVsYXRpb25fZmFjdG9yeS5jcHANCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElC
Qk9PU1RfU1JDKS9saWJzL2xvZy9zcmMvc2V0dXAvc2V0dGluZ3NfcGFyc2VyLmNwcA0KKyNMSUJC
T09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9nL3NyYy9zZXR1cC9pbml0X2Zy
b21fc3RyZWFtLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMv
bG9nL3NyYy9zZXR1cC9mb3JtYXR0ZXJfcGFyc2VyLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0g
JChMSUJCT09TVF9TUkMpL2xpYnMvbG9nL3NyYy9zZXR1cC9kZWZhdWx0X2ZpbHRlcl9mYWN0b3J5
LmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9nL3NyYy9h
dHRyaWJ1dGVfc2V0LmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xp
YnMvbG9nL3NyYy93aW5kb3dzL2lwY19yZWxpYWJsZV9tZXNzYWdlX3F1ZXVlLmNwcA0KKyNMSUJC
T09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9nL3NyYy93aW5kb3dzL21hcHBl
ZF9zaGFyZWRfbWVtb3J5LmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMp
L2xpYnMvbG9nL3NyYy93aW5kb3dzL2lwY19zeW5jX3dyYXBwZXJzLmNwcA0KKyNMSUJCT09TVF9T
UkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9nL3NyYy93aW5kb3dzL2V2ZW50X2xvZ19i
YWNrZW5kLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9n
L3NyYy93aW5kb3dzL2xpZ2h0X3J3X211dGV4LmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChM
SUJCT09TVF9TUkMpL2xpYnMvbG9nL3NyYy93aW5kb3dzL29iamVjdF9uYW1lLmNwcA0KKyNMSUJC
T09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9nL3NyYy93aW5kb3dzL2RlYnVn
X291dHB1dF9iYWNrZW5kLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMp
L2xpYnMvbG9nL3NyYy90aHJlYWRfc3BlY2lmaWMuY3BwDQorI0xJQkJPT1NUX1NSQ1MteSArPSAk
KExJQkJPT1NUX1NSQykvbGlicy9sb2cvc3JjL3RpbWVzdGFtcC5jcHANCisjTElCQk9PU1RfU1JD
Uy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvZy9zcmMvbmFtZWRfc2NvcGUuY3BwDQorI0xJ
QkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2cvc3JjL3RleHRfbXVsdGlm
aWxlX2JhY2tlbmQuY3BwDQorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGli
cy9sb2cvc3JjL2V2ZW50LmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMp
L2xpYnMvbG9nL3NyYy90aHJlYWRzYWZlX3F1ZXVlLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0g
JChMSUJCT09TVF9TUkMpL2xpYnMvbG9nL3NyYy9kZWZhdWx0X2F0dHJpYnV0ZV9uYW1lcy5jcHAN
CisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvZy9zcmMvZ2xvYmFs
X2xvZ2dlcl9zdG9yYWdlLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMp
L2xpYnMvbG9nL3NyYy90ZXh0X2ZpbGVfYmFja2VuZC5jcHANCisjTElCQk9PU1RfU1JDUy15ICs9
ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvZy9zcmMvb25jZV9ibG9jay5jcHANCisjTElCQk9PU1Rf
U1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvZy9zcmMvc3Bpcml0X2VuY29kaW5nLmNw
cA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9nL3NyYy9kdW1w
X2F2eDIuY3BwDQorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2cv
c3JjL25hbWVkX3Njb3BlX2Zvcm1hdF9wYXJzZXIuY3BwDQorI0xJQkJPT1NUX1NSQ1MteSArPSAk
KExJQkJPT1NUX1NSQykvbGlicy9sb2cvc3JjL3Blcm1pc3Npb25zLmNwcA0KKyNMSUJCT09TVF9T
UkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9nL3NyYy9wcm9jZXNzX25hbWUuY3BwDQor
I0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2cvc3JjL3JlY29yZF9v
c3RyZWFtLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbG9n
L3NyYy9jb3JlLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMv
bG9nL3NyYy9zZXZlcml0eV9sZXZlbC5jcHANCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9P
U1RfU1JDKS9saWJzL2xvZy9zcmMvcG9zaXgvaXBjX3JlbGlhYmxlX21lc3NhZ2VfcXVldWUuY3Bw
DQorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2cvc3JjL3Bvc2l4
L29iamVjdF9uYW1lLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xp
YnMvbG9nL3NyYy9wcm9jZXNzX2lkLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09T
VF9TUkMpL2xpYnMvbG9nL3NyYy9zeXNsb2dfYmFja2VuZC5jcHANCisjTElCQk9PU1RfU1JDUy15
ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvZy9zcmMvZm9ybWF0X3BhcnNlci5jcHANCisjTElC
Qk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2xvZy9zcmMvdGltZXIuY3BwDQor
I0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9sb2cvc3JjL2F0dHJpYnV0
ZV92YWx1ZV9zZXQuY3BwDQorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGli
cy9sb2cvc3JjL2F0dHJpYnV0ZV9uYW1lLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJC
T09TVF9TUkMpL2xpYnMvbG9nL3NyYy9kdW1wLmNwcA0KKw0KKyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjDQorIyBCb29zdCBzb3VyY2VzIC0gbGlicyAtIGV4Y2VwdGlvbg0KKyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjDQorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2V4Y2Vw
dGlvbi9zcmMvY2xvbmVfY3VycmVudF9leGNlcHRpb25fbm9uX2ludHJ1c2l2ZS5jcHANCisNCisj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KKyMgQm9vc3Qgc291cmNlcyAtIGxpYnMgLSB0aW1lcg0K
KyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQorTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1Rf
U1JDKS9saWJzL3RpbWVyL3NyYy9jcHVfdGltZXIuY3BwDQorTElCQk9PU1RfU1JDUy15ICs9ICQo
TElCQk9PU1RfU1JDKS9saWJzL3RpbWVyL3NyYy9hdXRvX3RpbWVyc19jb25zdHJ1Y3Rpb24uY3Bw
DQorDQorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCisjIEJvb3N0IHNvdXJjZXMgLSBsaWJzIC0g
cmFuZG9tDQorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCitMSUJCT09TVF9TUkNTLXkgKz0gJChM
SUJCT09TVF9TUkMpL2xpYnMvcmFuZG9tL3NyYy9yYW5kb21fZGV2aWNlLmNwcA0KKw0KKyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjDQorIyBCb29zdCBzb3VyY2VzIC0gbGlicyAtIHB5dGhvbg0KKyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjDQorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NS
QykvbGlicy9weXRob24vc3JjL3R1cGxlLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJC
T09TVF9TUkMpL2xpYnMvcHl0aG9uL3NyYy9saXN0LmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0g
JChMSUJCT09TVF9TUkMpL2xpYnMvcHl0aG9uL3NyYy9vYmplY3Rfb3BlcmF0b3JzLmNwcA0KKyNM
SUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvcHl0aG9uL3NyYy9zdHIuY3Bw
DQorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9weXRob24vc3JjL29i
amVjdF9wcm90b2NvbC5jcHANCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9s
aWJzL3B5dGhvbi9zcmMvaW1wb3J0LmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09T
VF9TUkMpL2xpYnMvcHl0aG9uL3NyYy9lcnJvcnMuY3BwDQorI0xJQkJPT1NUX1NSQ1MteSArPSAk
KExJQkJPT1NUX1NSQykvbGlicy9weXRob24vc3JjL251bXB5L3NjYWxhcnMuY3BwDQorI0xJQkJP
T1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9weXRob24vc3JjL251bXB5L3VmdW5j
LmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvcHl0aG9uL3Ny
Yy9udW1weS9tYXRyaXguY3BwDQorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykv
bGlicy9weXRob24vc3JjL251bXB5L2R0eXBlLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChM
SUJCT09TVF9TUkMpL2xpYnMvcHl0aG9uL3NyYy9udW1weS9udW1weS5jcHANCisjTElCQk9PU1Rf
U1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3B5dGhvbi9zcmMvbnVtcHkvbmRhcnJheS5j
cHANCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3B5dGhvbi9zcmMv
bW9kdWxlLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvcHl0
aG9uL3NyYy9kaWN0LmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xp
YnMvcHl0aG9uL3NyYy9sb25nLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9T
UkMpL2xpYnMvcHl0aG9uL3NyYy9leGVjLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJC
T09TVF9TUkMpL2xpYnMvcHl0aG9uL3NyYy9vYmplY3QvZnVuY3Rpb24uY3BwDQorI0xJQkJPT1NU
X1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9weXRob24vc3JjL29iamVjdC9lbnVtLmNw
cA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvcHl0aG9uL3NyYy9v
YmplY3QvcGlja2xlX3N1cHBvcnQuY3BwDQorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NU
X1NSQykvbGlicy9weXRob24vc3JjL29iamVjdC9jbGFzcy5jcHANCisjTElCQk9PU1RfU1JDUy15
ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3B5dGhvbi9zcmMvb2JqZWN0L2xpZmVfc3VwcG9ydC5j
cHANCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3B5dGhvbi9zcmMv
b2JqZWN0L2Z1bmN0aW9uX2RvY19zaWduYXR1cmUuY3BwDQorI0xJQkJPT1NUX1NSQ1MteSArPSAk
KExJQkJPT1NUX1NSQykvbGlicy9weXRob24vc3JjL29iamVjdC9pbmhlcml0YW5jZS5jcHANCisj
TElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3B5dGhvbi9zcmMvb2JqZWN0
L2l0ZXJhdG9yLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMv
cHl0aG9uL3NyYy9vYmplY3Qvc3RsX2l0ZXJhdG9yLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0g
JChMSUJCT09TVF9TUkMpL2xpYnMvcHl0aG9uL3NyYy93cmFwcGVyLmNwcA0KKyNMSUJCT09TVF9T
UkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvcHl0aG9uL3NyYy9jb252ZXJ0ZXIvYXJnX3Rv
X3B5dGhvbl9iYXNlLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xp
YnMvcHl0aG9uL3NyYy9jb252ZXJ0ZXIvZnJvbV9weXRob24uY3BwDQorI0xJQkJPT1NUX1NSQ1Mt
eSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9weXRob24vc3JjL2NvbnZlcnRlci9idWlsdGluX2Nv
bnZlcnRlcnMuY3BwDQorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9w
eXRob24vc3JjL2NvbnZlcnRlci90eXBlX2lkLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChM
SUJCT09TVF9TUkMpL2xpYnMvcHl0aG9uL3NyYy9jb252ZXJ0ZXIvcmVnaXN0cnkuY3BwDQorI0xJ
QkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9weXRob24vc3JjL3NsaWNlLmNw
cA0KKw0KKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQorIyBCb29zdCBzb3VyY2VzIC0gbGlicyAt
IHNtYXJ0X3B0cg0KKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQorTElCQk9PU1RfU1JDUy15ICs9
ICQoTElCQk9PU1RfU1JDKS9saWJzL3NtYXJ0X3B0ci9leHRyYXMvc3JjL3NwX2RlYnVnX2hvb2tz
LmNwcA0KK0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9zbWFydF9wdHIv
ZXh0cmFzL3NyYy9zcF9jb2xsZWN0b3IuY3BwDQorDQorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMN
CisjIEJvb3N0IHNvdXJjZXMgLSBsaWJzIC0gZmliZXINCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
Iw0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvZmliZXIvc3JjL3Rp
bWVkX211dGV4LmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMv
ZmliZXIvc3JjL3JlY3Vyc2l2ZV9tdXRleC5jcHANCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElC
Qk9PU1RfU1JDKS9saWJzL2ZpYmVyL3NyYy9udW1hL2hwdXgvdG9wb2xvZ3kuY3BwDQorI0xJQkJP
T1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9maWJlci9zcmMvbnVtYS9ocHV4L3Bp
bl90aHJlYWQuY3BwDQorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9m
aWJlci9zcmMvbnVtYS9haXgvdG9wb2xvZ3kuY3BwDQorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJ
QkJPT1NUX1NSQykvbGlicy9maWJlci9zcmMvbnVtYS9haXgvcGluX3RocmVhZC5jcHANCisjTElC
Qk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2ZpYmVyL3NyYy9udW1hL3dpbmRv
d3MvdG9wb2xvZ3kuY3BwDQorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGli
cy9maWJlci9zcmMvbnVtYS93aW5kb3dzL3Bpbl90aHJlYWQuY3BwDQorI0xJQkJPT1NUX1NSQ1Mt
eSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9maWJlci9zcmMvbnVtYS9saW51eC90b3BvbG9neS5j
cHANCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2ZpYmVyL3NyYy9u
dW1hL2xpbnV4L3Bpbl90aHJlYWQuY3BwDQorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NU
X1NSQykvbGlicy9maWJlci9zcmMvbnVtYS9hbGdvL3dvcmtfc3RlYWxpbmcuY3BwDQorI0xJQkJP
T1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9maWJlci9zcmMvbnVtYS9zb2xhcmlz
L3RvcG9sb2d5LmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMv
ZmliZXIvc3JjL251bWEvc29sYXJpcy9waW5fdGhyZWFkLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkg
Kz0gJChMSUJCT09TVF9TUkMpL2xpYnMvZmliZXIvc3JjL251bWEvdG9wb2xvZ3kuY3BwDQorI0xJ
QkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9maWJlci9zcmMvbnVtYS9mcmVl
YnNkL3RvcG9sb2d5LmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xp
YnMvZmliZXIvc3JjL251bWEvZnJlZWJzZC9waW5fdGhyZWFkLmNwcA0KKyNMSUJCT09TVF9TUkNT
LXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvZmliZXIvc3JjL251bWEvcGluX3RocmVhZC5jcHAN
CisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2ZpYmVyL3NyYy9maWJl
ci5jcHANCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2ZpYmVyL3Ny
Yy9tdXRleC5jcHANCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2Zp
YmVyL3NyYy9hbGdvL3NoYXJlZF93b3JrLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJC
T09TVF9TUkMpL2xpYnMvZmliZXIvc3JjL2FsZ28vd29ya19zdGVhbGluZy5jcHANCisjTElCQk9P
U1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2ZpYmVyL3NyYy9hbGdvL3JvdW5kX3Jv
YmluLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvZmliZXIv
c3JjL2FsZ28vYWxnb3JpdGhtLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9T
UkMpL2xpYnMvZmliZXIvc3JjL2NvbmRpdGlvbl92YXJpYWJsZS5jcHANCisjTElCQk9PU1RfU1JD
Uy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2ZpYmVyL3NyYy9zY2hlZHVsZXIuY3BwDQorI0xJ
QkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9maWJlci9zcmMvcHJvcGVydGll
cy5jcHANCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2ZpYmVyL3Ny
Yy9yZWN1cnNpdmVfdGltZWRfbXV0ZXguY3BwDQorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJP
T1NUX1NSQykvbGlicy9maWJlci9zcmMvY29udGV4dC5jcHANCisjTElCQk9PU1RfU1JDUy15ICs9
ICQoTElCQk9PU1RfU1JDKS9saWJzL2ZpYmVyL3NyYy9mdXR1cmUuY3BwDQorI0xJQkJPT1NUX1NS
Q1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9maWJlci9zcmMvYmFycmllci5jcHANCisNCisj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KKyMgQm9vc3Qgc291cmNlcyAtIGxpYnMgLSBzdHJhY2UN
CisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09T
VF9TUkMpL2xpYnMvc3RhY2t0cmFjZS9zcmMvYmFja3RyYWNlLmNwcA0KKyNMSUJCT09TVF9TUkNT
LXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvc3RhY2t0cmFjZS9zcmMvbm9vcC5jcHANCisjTElC
Qk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3N0YWNrdHJhY2Uvc3JjL2FkZHIy
bGluZS5jcHANCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL3N0YWNr
dHJhY2Uvc3JjL2Jhc2ljLmNwcHxzdGFja3RyYWNlDQorDQorIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMNCisjIEJvb3N0IHNvdXJjZXMgLSBsaWJzIC0gcHJvdG8NCisjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIw0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvcHJvdG8vcHJl
cHJvY2Vzcy9wcmVwcm9jZXNzX3Byb3RvLmNwcA0KKw0KKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
DQorIyBCb29zdCBzb3VyY2VzIC0gbGlicyAtIG1wbA0KKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
DQorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vz
c2VkL3ZlY3Rvci92ZWN0b3I1MF9jLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09T
VF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC92ZWN0b3IvdmVjdG9yNDAuY3BwDQorI0xJQkJP
T1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3ZlY3Rv
ci92ZWN0b3IxMF9jLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xp
YnMvbXBsL3ByZXByb2Nlc3NlZC92ZWN0b3IvdmVjdG9yMjAuY3BwDQorI0xJQkJPT1NUX1NSQ1Mt
eSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3ZlY3Rvci92ZWN0b3Iz
MC5jcHANCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVw
cm9jZXNzZWQvdmVjdG9yL3ZlY3RvcjUwLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJC
T09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC92ZWN0b3IvdmVjdG9yMjBfYy5jcHANCisj
TElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQv
dmVjdG9yL3ZlY3RvcjMwX2MuY3BwDQorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NS
QykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3ZlY3Rvci92ZWN0b3I0MF9jLmNwcA0KKyNMSUJCT09T
VF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC92ZWN0b3Iv
dmVjdG9yMTAuY3BwDQorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9t
cGwvcHJlcHJvY2Vzc2VkL3NyYy9iaXR4b3IuY3BwDQorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJ
QkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3NyYy9pdGVyX2ZvbGRfaW1wbC5jcHAN
CisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNz
ZWQvc3JjL2xpc3RfYy5jcHANCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9s
aWJzL21wbC9wcmVwcm9jZXNzZWQvc3JjL2VxdWFsX3RvLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkg
Kz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9zcmMvbGlzdC5jcHANCisj
TElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQv
c3JjL2FwcGx5X2Z3ZC5jcHANCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9s
aWJzL21wbC9wcmVwcm9jZXNzZWQvc3JjL3RlbXBsYXRlX2FyaXR5LmNwcA0KKyNMSUJCT09TVF9T
UkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9zcmMvcXVvdGUu
Y3BwDQorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJv
Y2Vzc2VkL3NyYy9sZXNzLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMp
L2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9zcmMvbWFwLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0g
JChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9zcmMvb3IuY3BwDQorI0xJQkJP
T1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3NyYy92
ZWN0b3IuY3BwDQorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwv
cHJlcHJvY2Vzc2VkL3NyYy9hZHZhbmNlX2ZvcndhcmQuY3BwDQorI0xJQkJPT1NUX1NSQ1MteSAr
PSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3NyYy92ZWN0b3JfYy5jcHAN
CisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNz
ZWQvc3JjL2FwcGx5LmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xp
YnMvbXBsL3ByZXByb2Nlc3NlZC9zcmMvZnVsbF9sYW1iZGEuY3BwDQorI0xJQkJPT1NUX1NSQ1Mt
eSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3NyYy9mb2xkX2ltcGwu
Y3BwDQorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJv
Y2Vzc2VkL3NyYy9iaW5kX2Z3ZC5jcHANCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1Rf
U1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQvc3JjL2FyZy5jcHANCisjTElCQk9PU1RfU1JDUy15
ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQvc3JjL25vdF9lcXVhbF90
by5jcHANCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVw
cm9jZXNzZWQvc3JjL3JldmVyc2VfaXRlcl9mb2xkX2ltcGwuY3BwDQorI0xJQkJPT1NUX1NSQ1Mt
eSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3NyYy9ncmVhdGVyLmNw
cA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nl
c3NlZC9zcmMvYWR2YW5jZV9iYWNrd2FyZC5jcHANCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElC
Qk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQvc3JjL2Jhc2ljX2JpbmQuY3BwDQorI0xJ
QkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3Ny
Yy9zZXQuY3BwDQorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwv
cHJlcHJvY2Vzc2VkL3NyYy9iaXRhbmQuY3BwDQorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJP
T1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3NyYy9pbmhlcml0LmNwcA0KKyNMSUJCT09T
VF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9zcmMvYW5k
LmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXBy
b2Nlc3NlZC9zcmMvbWludXMuY3BwDQorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NS
QykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3NyYy9pdGVyX2ZvbGRfaWZfaW1wbC5jcHANCisjTElC
Qk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQvc3Jj
L3JldmVyc2VfZm9sZF9pbXBsLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9T
UkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9zcmMvbW9kdWx1cy5jcHANCisjTElCQk9PU1RfU1JD
Uy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQvc3JjL2dyZWF0ZXJf
ZXF1YWwuY3BwDQorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwv
cHJlcHJvY2Vzc2VkL3NyYy9zaGlmdF9sZWZ0LmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChM
SUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9zcmMvdW5wYWNrX2FyZ3MuY3BwDQor
I0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2Vk
L3NyYy9iaW5kLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMv
bXBsL3ByZXByb2Nlc3NlZC9zcmMvYml0b3IuY3BwDQorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJ
QkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3NyYy9sYW1iZGFfbm9fY3Rwcy5jcHAN
CisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNz
ZWQvc3JjL2RpdmlkZXMuY3BwDQorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykv
bGlicy9tcGwvcHJlcHJvY2Vzc2VkL3NyYy9wbHVzLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0g
JChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9zcmMvdGltZXMuY3BwDQorI0xJ
QkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3Ny
Yy9sZXNzX2VxdWFsLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xp
YnMvbXBsL3ByZXByb2Nlc3NlZC9zcmMvZGVxdWUuY3BwDQorI0xJQkJPT1NUX1NSQ1MteSArPSAk
KExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3NyYy9zZXRfYy5jcHANCisjTElC
Qk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQvc3Jj
L3BsYWNlaG9sZGVycy5jcHANCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9s
aWJzL21wbC9wcmVwcm9jZXNzZWQvc3JjL2FwcGx5X3dyYXAuY3BwDQorI0xJQkJPT1NUX1NSQ1Mt
eSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3NyYy9zaGlmdF9yaWdo
dC5jcHANCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVw
cm9jZXNzZWQvbWFwL21hcDMwLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9T
UkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9tYXAvbWFwMTAuY3BwDQorI0xJQkJPT1NUX1NSQ1Mt
eSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL21hcC9tYXAyMC5jcHAN
CisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNz
ZWQvbWFwL21hcDQwLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xp
YnMvbXBsL3ByZXByb2Nlc3NlZC9tYXAvbWFwNTAuY3BwDQorI0xJQkJPT1NUX1NSQ1MteSArPSAk
KExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3NldC9zZXQyMF9jLmNwcA0KKyNM
SUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9z
ZXQvc2V0MTBfYy5jcHANCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJz
L21wbC9wcmVwcm9jZXNzZWQvc2V0L3NldDEwLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChM
SUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9zZXQvc2V0NDBfYy5jcHANCisjTElC
Qk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQvc2V0
L3NldDIwLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBs
L3ByZXByb2Nlc3NlZC9zZXQvc2V0NDAuY3BwDQorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJP
T1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL3NldC9zZXQzMC5jcHANCisjTElCQk9PU1Rf
U1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQvc2V0L3NldDUw
LmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXBy
b2Nlc3NlZC9zZXQvc2V0MzBfYy5jcHANCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1Rf
U1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQvc2V0L3NldDUwX2MuY3BwDQorI0xJQkJPT1NUX1NS
Q1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL2xpc3QvbGlzdDUw
X2MuY3BwDQorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJl
cHJvY2Vzc2VkL2xpc3QvbGlzdDIwX2MuY3BwDQorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJP
T1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL2xpc3QvbGlzdDQwLmNwcA0KKyNMSUJCT09T
VF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9saXN0L2xp
c3QyMC5jcHANCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9w
cmVwcm9jZXNzZWQvbGlzdC9saXN0MTBfYy5jcHANCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElC
Qk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQvbGlzdC9saXN0NDBfYy5jcHANCisjTElC
Qk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21wbC9wcmVwcm9jZXNzZWQvbGlz
dC9saXN0MzBfYy5jcHANCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJz
L21wbC9wcmVwcm9jZXNzZWQvbGlzdC9saXN0MTAuY3BwDQorI0xJQkJPT1NUX1NSQ1MteSArPSAk
KExJQkJPT1NUX1NSQykvbGlicy9tcGwvcHJlcHJvY2Vzc2VkL2xpc3QvbGlzdDMwLmNwcA0KKyNM
SUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBsL3ByZXByb2Nlc3NlZC9s
aXN0L2xpc3Q1MC5jcHANCisNCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KKyMgQm9vc3Qgc291
cmNlcyAtIGxpYnMgLSBtcGkNCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KKyNMSUJCT09TVF9T
UkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBpL3NyYy9icm9hZGNhc3QuY3BwDQorI0xJ
QkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGkvc3JjL3BhY2tlZF9za2Vs
ZXRvbl9pYXJjaGl2ZS5jcHANCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9s
aWJzL21waS9zcmMvZW52aXJvbm1lbnQuY3BwDQorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJP
T1NUX1NSQykvbGlicy9tcGkvc3JjL2NvbXB1dGF0aW9uX3RyZWUuY3BwDQorI0xJQkJPT1NUX1NS
Q1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGkvc3JjL3RleHRfc2tlbGV0b25fb2FyY2hp
dmUuY3BwDQorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGkvc3Jj
L21waV9kYXRhdHlwZV9vYXJjaGl2ZS5jcHANCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9P
U1RfU1JDKS9saWJzL21waS9zcmMvcmVxdWVzdC5jcHANCisjTElCQk9PU1RfU1JDUy15ICs9ICQo
TElCQk9PU1RfU1JDKS9saWJzL21waS9zcmMvZXJyb3Jfc3RyaW5nLmNwcA0KKyNMSUJCT09TVF9T
UkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBpL3NyYy9wYWNrZWRfb2FyY2hpdmUuY3Bw
DQorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGkvc3JjL3BvaW50
X3RvX3BvaW50LmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMv
bXBpL3NyYy9ncmFwaF9jb21tdW5pY2F0b3IuY3BwDQorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJ
QkJPT1NUX1NSQykvbGlicy9tcGkvc3JjL3BhY2tlZF9pYXJjaGl2ZS5jcHANCisjTElCQk9PU1Rf
U1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21waS9zcmMvY29tbXVuaWNhdG9yLmNwcA0K
KyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBpL3NyYy9weXRob24v
cHlfY29tbXVuaWNhdG9yLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMp
L2xpYnMvbXBpL3NyYy9weXRob24vZGF0YXR5cGVzLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0g
JChMSUJCT09TVF9TUkMpL2xpYnMvbXBpL3NyYy9weXRob24vcHlfdGltZXIuY3BwDQorI0xJQkJP
T1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGkvc3JjL3B5dGhvbi9kb2N1bWVu
dGF0aW9uLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBp
L3NyYy9weXRob24vbW9kdWxlLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9T
UkMpL2xpYnMvbXBpL3NyYy9weXRob24vcHlfZXhjZXB0aW9uLmNwcA0KKyNMSUJCT09TVF9TUkNT
LXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBpL3NyYy9weXRob24vcHlfZW52aXJvbm1lbnQu
Y3BwDQorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGkvc3JjL3B5
dGhvbi9weV9yZXF1ZXN0LmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMp
L2xpYnMvbXBpL3NyYy9weXRob24vc2VyaWFsaXplLmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0g
JChMSUJCT09TVF9TUkMpL2xpYnMvbXBpL3NyYy9weXRob24vcHlfbm9uYmxvY2tpbmcuY3BwDQor
I0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGkvc3JjL3B5dGhvbi9z
a2VsZXRvbl9hbmRfY29udGVudC5jcHANCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1Rf
U1JDKS9saWJzL21waS9zcmMvcHl0aG9uL2NvbGxlY3RpdmVzLmNwcA0KKyNMSUJCT09TVF9TUkNT
LXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBpL3NyYy9weXRob24vc3RhdHVzLmNwcA0KKyNM
SUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBpL3NyYy9pbnRlcmNvbW11
bmljYXRvci5jcHANCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL21w
aS9zcmMvY2FydGVzaWFuX2NvbW11bmljYXRvci5jcHANCisjTElCQk9PU1RfU1JDUy15ICs9ICQo
TElCQk9PU1RfU1JDKS9saWJzL21waS9zcmMvZ3JvdXAuY3BwDQorI0xJQkJPT1NUX1NSQ1MteSAr
PSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGkvc3JjL2NvbnRlbnRfb2FyY2hpdmUuY3BwDQorI0xJ
QkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGkvc3JjL29mZnNldHMuY3Bw
DQorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9tcGkvc3JjL3RpbWVy
LmNwcA0KKyNMSUJCT09TVF9TUkNTLXkgKz0gJChMSUJCT09TVF9TUkMpL2xpYnMvbXBpL3NyYy9t
cGlfZGF0YXR5cGVfY2FjaGUuY3BwDQorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJQkJPT1NUX1NS
QykvbGlicy9tcGkvc3JjL2V4Y2VwdGlvbi5jcHANCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElC
Qk9PU1RfU1JDKS9saWJzL21waS9zcmMvcGFja2VkX3NrZWxldG9uX29hcmNoaXZlLmNwcA0KKw0K
KyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQorIyBCb29zdCBzb3VyY2VzIC0gbGlicyAtIGNvcm91
dGluZQ0KKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQorI0xJQkJPT1NUX1NSQ1MteSArPSAkKExJ
QkJPT1NUX1NSQykvbGlicy9jb3JvdXRpbmUvc3JjL2V4Y2VwdGlvbnMuY3BwDQorI0xJQkJPT1NU
X1NSQ1MteSArPSAkKExJQkJPT1NUX1NSQykvbGlicy9jb3JvdXRpbmUvc3JjL3Bvc2l4L3N0YWNr
X3RyYWl0cy5jcHANCisjTElCQk9PU1RfU1JDUy15ICs9ICQoTElCQk9PU1RfU1JDKS9saWJzL2Nv
cm91dGluZS9zcmMvZGV0YWlsL2Nvcm91dGluZV9jb250ZXh0LmNwcA0KLS0gDQoyLjIwLjENCg0K
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRl
dmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Wed Dec 18 16:11:58 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 18 Dec 2019 16:11:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ihbva-0005Y7-JU; Wed, 18 Dec 2019 16:11:58 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=PUVB=2I=stud.acs.upb.ro=vlad_andrei.badoiu@srs-us1.protection.inumbo.net>)
 id 1ihbvY-0005Xx-Ti
 for minios-devel@lists.xen.org; Wed, 18 Dec 2019 16:11:56 +0000
X-Inumbo-ID: 17187196-21b1-11ea-90bc-12813bfff9fa
Received: from EUR01-VE1-obe.outbound.protection.outlook.com (unknown
 [40.107.14.48]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 17187196-21b1-11ea-90bc-12813bfff9fa;
 Wed, 18 Dec 2019 16:11:46 +0000 (UTC)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WBerd+bGaDOFbwgfqkouXWdYl1Y2Qxn3y5VXZompQ+XECCzN5ew9vAAwRDJEUEiX2k71QcQfyfJh6GSWDAlzqv9vDFu0j4a0+NHL7K1cngYEJDJhGN5rfiwAEMvgGHf65r71NmFsD758Cnxyoos44ZhIRvnd7279GQAoBqJNu2/AnuKOFZDeWD0JAOX76iPlQy+yIaizn7G33n23BBAlcfCf78b+817s73onxv6NGrcbe2RMTaaRGFOCwhYEWx3DuR7iTm4LXyUp9zv0Nq41aDT/eGKiqpwsQuorzfPXGanFFwcYO1yktRHENWAf3Xr1Vr2ttnMea0mI4BlJ/uZZJA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JNgzRERq4mhdF20byXm6+dJ4Xn1lYbKdgC8mISPFChc=;
 b=PC4Q8yyHXTSBYNfJIPhvne8smzSdhXaJnBcZV8W9aGwWvpERy46wkDGxU6bubU+lXZAt6YbY58QopZPjS5jiEwz4ZDOTV11d8GorSahsL8rxbAtrd314pOmSWnx3Hz42Mbrh9q5hbV++IsD8SNDMn+pAhlWX/6DNrjNtIRlC8HHaovy6CRX8j+/hcKjkNx6/tPeSGl/v1BZhYVbleF7/JHRoUQ5h/s/30Vy6o46wjOwK0KdKlkGPzatgT4R1eFREIrC8LxpQn3cqPnvqtkExeqJH0BeIstyMBe9XXO1VrUAL0wd95WPh6Y4BWeYuNY72yEzuKQNqdFwNDn0pGPiVgQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=stud.acs.upb.ro; dmarc=pass action=none
 header.from=stud.acs.upb.ro; dkim=pass header.d=stud.acs.upb.ro; arc=none
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com (20.177.55.79) by
 VI1PR01MB4734.eurprd01.prod.exchangelabs.com (20.178.9.18) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.2538.18; Wed, 18 Dec 2019 16:11:41 +0000
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::74da:9765:1cb2:80f0]) by VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::74da:9765:1cb2:80f0%3]) with mapi id 15.20.2559.012; Wed, 18 Dec 2019
 16:11:41 +0000
From: =?utf-8?B?VmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIp?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
To: "minios-devel@lists.xen.org" <minios-devel@lists.xen.org>
Thread-Topic: [UNIKRAFT/BOOST v2 PATCH 3/6] Add gluecode
Thread-Index: AQHVtb3UismHCaO9D0GUN8IA0MISfw==
Date: Wed, 18 Dec 2019 16:11:40 +0000
Message-ID: <20191218161128.15534-4-vlad_andrei.badoiu@stud.acs.upb.ro>
References: <20191218161128.15534-1-vlad_andrei.badoiu@stud.acs.upb.ro>
In-Reply-To: <20191218161128.15534-1-vlad_andrei.badoiu@stud.acs.upb.ro>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-clientproxiedby: AM0PR07CA0031.eurprd07.prod.outlook.com
 (2603:10a6:208:ac::44) To VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 (2603:10a6:803:6d::15)
authentication-results: spf=none (sender IP is )
 smtp.mailfrom=vlad_andrei.badoiu@stud.acs.upb.ro; 
x-ms-exchange-messagesentrepresentingtype: 1
x-mailer: git-send-email 2.20.1
x-originating-ip: [141.85.233.142]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: a6c99cf3-54be-45fb-cae7-08d783d4f73b
x-ms-traffictypediagnostic: VI1PR01MB4734:
x-ms-exchange-transport-forked: True
x-microsoft-antispam-prvs: <VI1PR01MB4734FC8992700EBEB2C5714CA6530@VI1PR01MB4734.eurprd01.prod.exchangelabs.com>
x-ms-oob-tlc-oobclassifiers: OLM:296;
x-forefront-prvs: 0255DF69B9
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(346002)(39830400003)(136003)(376002)(396003)(366004)(199004)(189003)(316002)(64756008)(66446008)(66946007)(66476007)(52116002)(186003)(86362001)(71200400001)(26005)(6506007)(6916009)(508600001)(85202003)(66556008)(2906002)(54906003)(6486002)(8936002)(85182001)(81156014)(81166006)(4744005)(786003)(2616005)(8676002)(4326008)(5660300002)(1076003)(6512007);
 DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR01MB4734;
 H:VI1PR01MB4205.eurprd01.prod.exchangelabs.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; A:0; MX:1; 
received-spf: None (protection.outlook.com: stud.acs.upb.ro does not designate
 permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 913we2sP3jSrN1pL50zKtNDD2QbHMjidfPVJL6yS/RH3Bm/s/3TkC5ofiaRW9SerxZBUlCgTR6iUsXxnfhutvY72K2sgtiSVuGhsQ/wjs0u3NdY4rbtaAYXXEA5/VuHk0bOuxH90DLIhPFEHhTndbhVnCI+KjG+XN3mSDacJ4wFzph6JLnIpDdd5BLQsxVwU6kyqLPdjcCXTpkXyxU7iFeu78oPZNkKomiYZTjpqdQ3fgHX9sIyKVx568vQ461Qa3fmd2kW26ANA4t7eY+VLqS9w83kwbZSx5CR1vYW57yVRIpsheh6iKJKjng2OEyTfIutbBkx94cxoXDBa1XRimLqRZiNh8+jmpyX7tINDWESarcuIsbz/Qq0CdK40Sl4lOV6zh7rC5NFU/V64zdRlO0QsLwKBI9zilA5v6TqLPrsbx+UzIE1Y7pdjZ8snRgSB
Content-ID: <1455A0C742DA334794EE12F65D495B54@eurprd01.prod.exchangelabs.com>
MIME-Version: 1.0
X-OriginatorOrg: stud.acs.upb.ro
X-MS-Exchange-CrossTenant-Network-Message-Id: a6c99cf3-54be-45fb-cae7-08d783d4f73b
X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Dec 2019 16:11:40.5737 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 2d8cc8ba-8dda-4334-9e5c-fac2092e9bac
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 6nLbqDeFrxVWUHrqncyIt+GE+innIOg92MRLtLrjYgc0brdsivg5NN6/gr+GpyM//wNDVgFLUZUSp4cleKnXPL95rRiJ+r/yMSrrm9PADWAYLURz18lsfbCTv92Xont+
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR01MB4734
Subject: [Minios-devel] [UNIKRAFT/BOOST v2 PATCH 3/6] Add gluecode
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: "felipe.huici@neclab.eu" <felipe.huici@neclab.eu>,
 =?utf-8?B?VmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIp?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogVmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIpIDx2bGFkX2FuZHJlaS5iYWRvaXVAc3R1
ZC5hY3MudXBiLnJvPg0KDQpTaWduZWQtb2ZmLWJ5OiBWbGFkLUFuZHJlaSBCYWRvaXUgPHZsYWRf
YW5kcmVpLmJhZG9pdUBzdHVkLmFjcy51cGIucm8+DQotLS0NCiBnbHVlLmNwcCB8IDYgKysrKysr
DQogMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKQ0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBn
bHVlLmNwcA0KDQpkaWZmIC0tZ2l0IGEvZ2x1ZS5jcHAgYi9nbHVlLmNwcA0KbmV3IGZpbGUgbW9k
ZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAuLmQ1ZWZjOWQNCi0tLSAvZGV2L251bGwNCisrKyBiL2ds
dWUuY3BwDQpAQCAtMCwwICsxLDYgQEANCisjaW5jbHVkZSA8ZmVudi5oPg0KKw0KK2ludCBmZWdl
dGV4Y2VwdGZsYWcoZmV4Y2VwdF90ICpmbGFncCwgaW50IGV4Y2VwdHMpDQorew0KKwlyZXR1cm4g
LTE7DQorfQ0KLS0gDQoyLjIwLjENCg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlz
dHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xp
c3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Wed Dec 18 16:12:03 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 18 Dec 2019 16:12:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ihbvf-0005Z4-LE; Wed, 18 Dec 2019 16:12:03 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=PUVB=2I=stud.acs.upb.ro=vlad_andrei.badoiu@srs-us1.protection.inumbo.net>)
 id 1ihbvd-0005Yq-Tl
 for minios-devel@lists.xen.org; Wed, 18 Dec 2019 16:12:01 +0000
X-Inumbo-ID: 17187197-21b1-11ea-90bc-12813bfff9fa
Received: from EUR01-VE1-obe.outbound.protection.outlook.com (unknown
 [40.107.14.48]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 17187197-21b1-11ea-90bc-12813bfff9fa;
 Wed, 18 Dec 2019 16:11:47 +0000 (UTC)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YGTTIqGUnPrzbHFacgVjSHAAdHmSJaF6YEMNhSFRZ7raV4Fa0+Otze8s/eIXn8hCXyHqk8OF9WFgKu+pfh6dLaPCNbk/KD4T3b0asjjcSUluQex+fhr4ErBS5fgxtWA4kfmoZiry0QUy5O4MejZfs+QXkvdN7ROR1Qo2CrJaoEb7GnPE/STTWaF+qyv0SJ+I+HYwaxnLZYtzuh5T9zRaToH5dbms71tNci7KEOGvea/92b5eeV3tCnpVW4OuSjRDx6UNmPbrE6GcD8IYUNNiLJMNHvAI+UxWXm+Y5taVVT6FP5VUbS8btXf0lOlpXSOuvqI2tTk+MWQ16049RNuSWA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XiJ9Sh4EWd7aGaqPEXtNZxfn2F9u1bgCmirqtYe9Q8g=;
 b=UulBuj3KeMJSljF4azjh/P4kJFAO0kKSWVqIe4gBePR1cU8wRf5HQnmq2v8g/4JDDdqdtBzPtV54r7Pc42r6XD2jiK3dnKu++mjI0Mx2sMdQcRW9DHtXeGnlH/eXQAmxraiJltrOacQ5hJTpfaF49NnwFAq5rklj5TcYg60TxgAz1d/araqG+2NBw5XW8tq8S2aH+mvH4RW/Px0ylCf7VtvPy3hoa+47+35KW5xfGzgH7U8//zaTPjxpG4uU1+ssAAhLhe7sViMuwgxmdmHzrRtkBjm7ww4WRqxyqXpABvj+A0ldZR4bTIyXZzGxlQfObW5CbdNpRYJEpwkrHuzKqw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=stud.acs.upb.ro; dmarc=pass action=none
 header.from=stud.acs.upb.ro; dkim=pass header.d=stud.acs.upb.ro; arc=none
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com (20.177.55.79) by
 VI1PR01MB4734.eurprd01.prod.exchangelabs.com (20.178.9.18) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.2538.18; Wed, 18 Dec 2019 16:11:42 +0000
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::74da:9765:1cb2:80f0]) by VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::74da:9765:1cb2:80f0%3]) with mapi id 15.20.2559.012; Wed, 18 Dec 2019
 16:11:41 +0000
From: =?utf-8?B?VmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIp?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
To: "minios-devel@lists.xen.org" <minios-devel@lists.xen.org>
Thread-Topic: [UNIKRAFT/BOOST v2 PATCH 4/6] Add fenv.h header
Thread-Index: AQHVtb3VtkOp9lMc20iLa8nonMbKeg==
Date: Wed, 18 Dec 2019 16:11:41 +0000
Message-ID: <20191218161128.15534-5-vlad_andrei.badoiu@stud.acs.upb.ro>
References: <20191218161128.15534-1-vlad_andrei.badoiu@stud.acs.upb.ro>
In-Reply-To: <20191218161128.15534-1-vlad_andrei.badoiu@stud.acs.upb.ro>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-clientproxiedby: AM0PR07CA0031.eurprd07.prod.outlook.com
 (2603:10a6:208:ac::44) To VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 (2603:10a6:803:6d::15)
authentication-results: spf=none (sender IP is )
 smtp.mailfrom=vlad_andrei.badoiu@stud.acs.upb.ro; 
x-ms-exchange-messagesentrepresentingtype: 1
x-mailer: git-send-email 2.20.1
x-originating-ip: [141.85.233.142]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 3e8bae2a-30d3-46ab-41f7-08d783d4f815
x-ms-traffictypediagnostic: VI1PR01MB4734:
x-ms-exchange-transport-forked: True
x-microsoft-antispam-prvs: <VI1PR01MB4734538C31774DCE6E8CFA84A6530@VI1PR01MB4734.eurprd01.prod.exchangelabs.com>
x-ms-oob-tlc-oobclassifiers: OLM:8273;
x-forefront-prvs: 0255DF69B9
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(346002)(39830400003)(136003)(376002)(396003)(366004)(199004)(189003)(316002)(64756008)(66446008)(66946007)(66476007)(52116002)(186003)(86362001)(71200400001)(26005)(6506007)(6916009)(508600001)(85202003)(66556008)(2906002)(54906003)(6486002)(8936002)(85182001)(81156014)(81166006)(786003)(2616005)(66574012)(8676002)(4326008)(5660300002)(1076003)(6512007);
 DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR01MB4734;
 H:VI1PR01MB4205.eurprd01.prod.exchangelabs.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; A:0; MX:1; 
received-spf: None (protection.outlook.com: stud.acs.upb.ro does not designate
 permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: O7O58RhsgCxfFCDmekXioaWEEqfl0Z/OEI00u0iU2kfxrkRUdFohhnZRZQQWq+OoXOeCfSkTcb2ZdhNg/3+uvUYIJW78x9rLUMuP2AQ98eQc1CxbfcbQfoNKtbR3GIU4ZiRV+8izYxnEPYV2yyqrLEq4nw6WKTCanKetPooQvyW6c0llysMfs/7AhSK7kxv2sk4SGcXZP8/Fg6kqtjjy43cVNtB2Dm1A4DQbl+/PPEuNW0QM9moqKSUmd2YR+3iVcW1VDsp2DXtNbD6ZRDEzDDdEdtm77u37UK0/pZxfxX+sK4Vs1/SyyD19mTRXX65JGYV+2ptwU5QWybqo20pxoVLD/mZMZiOWcU4TzCn84PVO7fQiun2z8q3o4K5t7lhA+DpuXl7q/nmR+KUQUKoqAulDTQo8JeMP9L6SCg7kl8RDZVS/S848DDgRi+UOOTZr
Content-ID: <37E5958F72C1F547837BBDF0109B44EA@eurprd01.prod.exchangelabs.com>
MIME-Version: 1.0
X-OriginatorOrg: stud.acs.upb.ro
X-MS-Exchange-CrossTenant-Network-Message-Id: 3e8bae2a-30d3-46ab-41f7-08d783d4f815
X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Dec 2019 16:11:41.6071 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 2d8cc8ba-8dda-4334-9e5c-fac2092e9bac
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 5hk1zkDCymeAhT4UA1+2ETSDvy1RbMLK20W+EOWwaNZ1QdPtzk/wKexHGeos8bif7VJYAZT92wZZ+ETCxtHdUQHXcWroZ2FVKdndB872lw4lLynweGhdKQY+ijG3UPrS
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR01MB4734
Subject: [Minios-devel] [UNIKRAFT/BOOST v2 PATCH 4/6] Add fenv.h header
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: "felipe.huici@neclab.eu" <felipe.huici@neclab.eu>,
 =?utf-8?B?VmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIp?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogVmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIpIDx2bGFkX2FuZHJlaS5iYWRvaXVAc3R1
ZC5hY3MudXBiLnJvPg0KDQpTaWduZWQtb2ZmLWJ5OiBWbGFkLUFuZHJlaSBCYWRvaXUgPHZsYWRf
YW5kcmVpLmJhZG9pdUBzdHVkLmFjcy51cGIucm8+DQpSZXZpZXdlZC1ieTogRmVsaXBlIEh1aWNp
IDxmZWxpcGUuaHVpY2lAbmVjbGFiLmV1Pg0KLS0tDQogaW5jbHVkZS9mZW52LmggfCA2MCArKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KIDEgZmlsZSBj
aGFuZ2VkLCA2MCBpbnNlcnRpb25zKCspDQogY3JlYXRlIG1vZGUgMTAwNjQ0IGluY2x1ZGUvZmVu
di5oDQoNCmRpZmYgLS1naXQgYS9pbmNsdWRlL2ZlbnYuaCBiL2luY2x1ZGUvZmVudi5oDQpuZXcg
ZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMC4uMjA3YmY4NA0KLS0tIC9kZXYvbnVsbA0K
KysrIGIvaW5jbHVkZS9mZW52LmgNCkBAIC0wLDAgKzEsNjAgQEANCisvKiBTUERYLUxpY2Vuc2Ut
SWRlbnRpZmllcjogTUlUICovICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgDQorLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKyAqIENvcHlyaWdo
dCA8QzI+PEE5PiAyMDA1LTIwMTQgUmljaCBGZWxrZXIsIGV0IGFsLg0KKyAqDQorICogUGVybWlz
c2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0
YWluaW5nDQorICogYSBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1l
bnRhdGlvbiBmaWxlcyAodGhlDQorICogIlNvZnR3YXJlIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3
YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZw0KKyAqIHdpdGhvdXQgbGltaXRhdGlv
biB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwNCisgKiBk
aXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJl
LCBhbmQgdG8NCisgKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJu
aXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8NCisgKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6
DQorICoNCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9u
IG5vdGljZSBzaGFsbCBiZQ0KKyAqIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRp
YWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLg0KKyAqDQorICogVEhFIFNPRlRXQVJFIElTIFBS
T1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsDQorICogRVhQUkVT
UyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVT
IE9GDQorICogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBTkQgTk9OSU5GUklOR0VNRU5ULg0KKyAqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JT
IE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZDQorICogQ0xBSU0sIERBTUFH
RVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwN
CisgKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVD
VElPTiBXSVRIIFRIRQ0KKyAqIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1Mg
SU4gVEhFIFNPRlRXQVJFLg0KKyAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCisgKi8NCisvKiBUYWtlbiBmcm9t
IG11c2wtMS4xLjE5ICovDQorDQorI2RlZmluZSBGRV9JTlZBTElEICAgIDENCisjZGVmaW5lIF9f
RkVfREVOT1JNICAgMg0KKyNkZWZpbmUgRkVfRElWQllaRVJPICA0DQorI2RlZmluZSBGRV9PVkVS
RkxPVyAgIDgNCisjZGVmaW5lIEZFX1VOREVSRkxPVyAgMTYNCisjZGVmaW5lIEZFX0lORVhBQ1Qg
ICAgMzINCisNCisvLyNkZWZpbmUgRkVfQUxMX0VYQ0VQVCA2Mw0KKw0KKyNkZWZpbmUgRkVfVE9O
RUFSRVNUICAwDQorI2RlZmluZSBGRV9ET1dOV0FSRCAgIDB4NDAwDQorI2RlZmluZSBGRV9VUFdB
UkQgICAgIDB4ODAwDQorI2RlZmluZSBGRV9UT1dBUkRaRVJPIDB4YzAwDQorDQordHlwZWRlZiB1
bnNpZ25lZCBzaG9ydCBmZXhjZXB0X3Q7DQorDQordHlwZWRlZiBzdHJ1Y3Qgew0KKwl1bnNpZ25l
ZCBzaG9ydCBfX2NvbnRyb2xfd29yZDsNCisJdW5zaWduZWQgc2hvcnQgX191bnVzZWQxOw0KKwl1
bnNpZ25lZCBzaG9ydCBfX3N0YXR1c193b3JkOw0KKwl1bnNpZ25lZCBzaG9ydCBfX3VudXNlZDI7
DQorCXVuc2lnbmVkIHNob3J0IF9fdGFnczsNCisJdW5zaWduZWQgc2hvcnQgX191bnVzZWQzOw0K
Kwl1bnNpZ25lZCBpbnQgX19laXA7DQorCXVuc2lnbmVkIHNob3J0IF9fY3Nfc2VsZWN0b3I7DQor
CXVuc2lnbmVkIGludCBfX29wY29kZToxMTsNCisJdW5zaWduZWQgaW50IF9fdW51c2VkNDo1Ow0K
Kwl1bnNpZ25lZCBpbnQgX19kYXRhX29mZnNldDsNCisJdW5zaWduZWQgc2hvcnQgX19kYXRhX3Nl
bGVjdG9yOw0KKwl1bnNpZ25lZCBzaG9ydCBfX3VudXNlZDU7DQorCXVuc2lnbmVkIGludCBfX214
Y3NyOw0KK30gZmVudl90Ow0KKw0KKyNkZWZpbmUgRkVfREZMX0VOViAgICAgICgoY29uc3QgZmVu
dl90ICopIC0xKQ0KLS0gDQoyLjIwLjENCg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxA
bGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFu
L2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Wed Dec 18 16:12:08 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 18 Dec 2019 16:12:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ihbvk-0005Zy-N9; Wed, 18 Dec 2019 16:12:08 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=PUVB=2I=stud.acs.upb.ro=vlad_andrei.badoiu@srs-us1.protection.inumbo.net>)
 id 1ihbvi-0005Zk-U6
 for minios-devel@lists.xen.org; Wed, 18 Dec 2019 16:12:06 +0000
X-Inumbo-ID: 17f8ac8e-21b1-11ea-90bc-12813bfff9fa
Received: from EUR01-VE1-obe.outbound.protection.outlook.com (unknown
 [40.107.14.48]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 17f8ac8e-21b1-11ea-90bc-12813bfff9fa;
 Wed, 18 Dec 2019 16:11:48 +0000 (UTC)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FnfhBYrocDXY+uGATryPXGCOl0VFviKfzCZQICSwCifIZbRXWtOhBW47pl5RlydDXy0m1w6bzpaYtqxouvuO3TEAsrJoDCEwbbpUyYZ77mkoiQf9DzbNY6gnr4XNlr7ehBRvdbnpj3BjPHCQLEcLHq6711mD62EAKknYbBApol2s/Le/8nUVbi/d3tkMZK2krBOPxsjIQsemBiO/AQSJY3MZYuOyA9C1jlSvjXFRjkc89PSD8Cj+XPQK428chMUv8i2RkVOnu9mRam5/DrH+8Vs42TlJ+a1dAMTEd4VVu0S7STbjfwj/1xLy9ELgr0A/OFFqhrdFRAZgUhOA65ooEA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=iozNx+Ethoa8AyhV6xh2BQ09D9xmixEhZ7Fc69r/ksE=;
 b=Mi3joqidxqUtN683eXzEYnGLb2B/4C5+8bC+cj555D5c69fJgs7dO3MlwG/B5iH/V6ypuWD5PbHav0bvU4nUX6Zpw0sOG7ggrqO9u9tDV1wjAKv0ZTEpRj6YFl4+F8g/XVI36wTsCCmP441s86dL36hH4xNQEdzkloOXmpqMmlje+ov/rnePl2rPuy+LB74GolW/Ty1motH/F8HKxZwrBkSlbLzkT8bzYT7p24h5ORj1fbNa26p42yNe3i0ayhpte0HGdSpz7zZNI7h0Svg8S9Z7VvvLIEmOvK7OmDxPlYm7AWzujBfWPgJwDRBXRvQ6JHFyZSnD+seieiI6+dUImw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=stud.acs.upb.ro; dmarc=pass action=none
 header.from=stud.acs.upb.ro; dkim=pass header.d=stud.acs.upb.ro; arc=none
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com (20.177.55.79) by
 VI1PR01MB4734.eurprd01.prod.exchangelabs.com (20.178.9.18) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.2538.18; Wed, 18 Dec 2019 16:11:42 +0000
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::74da:9765:1cb2:80f0]) by VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::74da:9765:1cb2:80f0%3]) with mapi id 15.20.2559.012; Wed, 18 Dec 2019
 16:11:42 +0000
From: =?utf-8?B?VmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIp?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
To: "minios-devel@lists.xen.org" <minios-devel@lists.xen.org>
Thread-Topic: [UNIKRAFT/BOOST v2 PATCH 5/6] Add patches
Thread-Index: AQHVtb3W//htpFsKn0OC9mmsDvJyaA==
Date: Wed, 18 Dec 2019 16:11:42 +0000
Message-ID: <20191218161128.15534-6-vlad_andrei.badoiu@stud.acs.upb.ro>
References: <20191218161128.15534-1-vlad_andrei.badoiu@stud.acs.upb.ro>
In-Reply-To: <20191218161128.15534-1-vlad_andrei.badoiu@stud.acs.upb.ro>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-clientproxiedby: AM0PR07CA0031.eurprd07.prod.outlook.com
 (2603:10a6:208:ac::44) To VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 (2603:10a6:803:6d::15)
authentication-results: spf=none (sender IP is )
 smtp.mailfrom=vlad_andrei.badoiu@stud.acs.upb.ro; 
x-ms-exchange-messagesentrepresentingtype: 1
x-mailer: git-send-email 2.20.1
x-originating-ip: [141.85.233.142]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: c6196949-ad45-4d15-5676-08d783d4f8a0
x-ms-traffictypediagnostic: VI1PR01MB4734:
x-ms-exchange-transport-forked: True
x-microsoft-antispam-prvs: <VI1PR01MB4734D44D29542D36159936E3A6530@VI1PR01MB4734.eurprd01.prod.exchangelabs.com>
x-ms-oob-tlc-oobclassifiers: OLM:510;
x-forefront-prvs: 0255DF69B9
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(346002)(39830400003)(136003)(376002)(396003)(366004)(199004)(189003)(316002)(64756008)(66446008)(66946007)(66476007)(52116002)(186003)(86362001)(71200400001)(26005)(6506007)(6916009)(508600001)(85202003)(66556008)(2906002)(54906003)(6486002)(8936002)(85182001)(81156014)(81166006)(786003)(2616005)(66574012)(8676002)(4326008)(5660300002)(1076003)(6512007);
 DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR01MB4734;
 H:VI1PR01MB4205.eurprd01.prod.exchangelabs.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; A:0; MX:1; 
received-spf: None (protection.outlook.com: stud.acs.upb.ro does not designate
 permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: Ris0EdZ5TEPMrqM3lVM5JZlxHlcpp9pLiXgOn4+jBJO5+8WjsBendl1qtic2mbCP97SPTvURVcyWY2/Hzvp1yLrNev01vV8GXteiCA86IuguAAc3BULZt0II5f/PTz7ExhSYTJ6HVV5eM7nXVGN/vlrveXUI7PelmIQAtsco8lf7RxJYXHsV2O+mkys/JmSia08X4XNQKzTLLgJm3/VBjHMe1f91PeYYFVpqD/2WuyIdUfX2NSG9DdVO1EkWS1lwwMHz6sUKLX6rH1uuUpz6rOpILuIXZVm1zLqsg3Q6U23H/cnJuN+0uYhnYKzDbdXPvvWVNTJpJnuRMvdyL4OcYIzk0XQrunGdPVH+jczs3a6qMcEfQ5kQ3uP0625evMEmryu8W061JUCAovB6yZ2JS9WGKElkA2tL5YGZhbC4D8XwHyhVjv2060bUBRjd0iS9
Content-ID: <0CA22E31878DC44AA322A7639F857CFA@eurprd01.prod.exchangelabs.com>
MIME-Version: 1.0
X-OriginatorOrg: stud.acs.upb.ro
X-MS-Exchange-CrossTenant-Network-Message-Id: c6196949-ad45-4d15-5676-08d783d4f8a0
X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Dec 2019 16:11:42.5316 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 2d8cc8ba-8dda-4334-9e5c-fac2092e9bac
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: m0jq43NQD0zVgiONsGhuJJqgZ209W+bYag0fC/oon3fHdG5FSA9wo4W61QsxF8sOh1pC+7No7vdTB6TzVs1McgawIjsY5NQL05mW6ntSBlQ7ldD/1uI8tdfI2+OXuO8I
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR01MB4734
Subject: [Minios-devel] [UNIKRAFT/BOOST v2 PATCH 5/6] Add patches
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: "felipe.huici@neclab.eu" <felipe.huici@neclab.eu>,
 =?utf-8?B?VmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIp?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogVmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIpIDx2bGFkX2FuZHJlaS5iYWRvaXVAc3R1
ZC5hY3MudXBiLnJvPg0KDQpTaWduZWQtb2ZmLWJ5OiBWbGFkLUFuZHJlaSBCYWRvaXUgPHZsYWRf
YW5kcmVpLmJhZG9pdUBzdHVkLmFjcy51cGIucm8+DQpSZXZpZXdlZC1ieTogRmVsaXBlIEh1aWNp
IDxmZWxpcGUuaHVpY2lAbmVjbGFiLmV1Pg0KLS0tDQogLi4ub252ZXJ0LXB0ZV9oYW5kbGVfdC10
by11bnNpZ25lZC1sb25nLnBhdGNoIHwgMjYgKysrKysrKysrKysrKysrKysrKw0KIDEgZmlsZSBj
aGFuZ2VkLCAyNiBpbnNlcnRpb25zKCspDQogY3JlYXRlIG1vZGUgMTAwNjQ0IHBhdGNoZXMvMDAw
MS1Db252ZXJ0LXB0ZV9oYW5kbGVfdC10by11bnNpZ25lZC1sb25nLnBhdGNoDQoNCmRpZmYgLS1n
aXQgYS9wYXRjaGVzLzAwMDEtQ29udmVydC1wdGVfaGFuZGxlX3QtdG8tdW5zaWduZWQtbG9uZy5w
YXRjaCBiL3BhdGNoZXMvMDAwMS1Db252ZXJ0LXB0ZV9oYW5kbGVfdC10by11bnNpZ25lZC1sb25n
LnBhdGNoDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMC4uN2Y1MjkzYQ0KLS0t
IC9kZXYvbnVsbA0KKysrIGIvcGF0Y2hlcy8wMDAxLUNvbnZlcnQtcHRlX2hhbmRsZV90LXRvLXVu
c2lnbmVkLWxvbmcucGF0Y2gNCkBAIC0wLDAgKzEsMjYgQEANCitGcm9tIDg5NGZkM2E2MmYyZmY2
ZTcwMmQ2ZmYwZTJhNjMxODJmYTQ1ZWEyMTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxDQorRnJv
bTogVmxhZC1BbmRyZWkgQmFkb2l1IDx2bGFkX2FuZHJlaS5iYWRvaXVAc3R1ZC5hY3MudXBiLnJv
Pg0KK0RhdGU6IFNhdCwgOSBOb3YgMjAxOSAwMDozMzo1MiArMDIwMA0KK1N1YmplY3Q6IFtQQVRD
SCAxLzFdIENvbnZlcnQgcHRlX2hhbmRsZV90IHRvIHVuc2lnbmVkIGxvbmcNCisNCitTaWduZWQt
b2ZmLWJ5OiBWbGFkLUFuZHJlaSBCYWRvaXUgPHZsYWRfYW5kcmVpLmJhZG9pdUBzdHVkLmFjcy51
cGIucm8+DQorLS0tDQorIGJvb3N0L3RocmVhZC9kZXRhaWwvdGhyZWFkLmhwcCB8IDIgKy0NCisg
MSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pDQorDQorZGlmZiAt
LWdpdCBhL2Jvb3N0L3RocmVhZC9kZXRhaWwvdGhyZWFkLmhwcCBiL2Jvb3N0L3RocmVhZC9kZXRh
aWwvdGhyZWFkLmhwcA0KK2luZGV4IDA0MjIzZWQyNi4uMmJlMGJjNGM2IDEwMDY0NA0KKy0tLSBh
L2Jvb3N0L3RocmVhZC9kZXRhaWwvdGhyZWFkLmhwcA0KKysrKyBiL2Jvb3N0L3RocmVhZC9kZXRh
aWwvdGhyZWFkLmhwcA0KK0BAIC02MDYsNyArNjA2LDcgQEAgbmFtZXNwYWNlIGJvb3N0DQorICAg
ICAgICAgaGFzaF92YWx1ZShjb25zdCB0aHJlYWQ6OmlkICZ2KQ0KKyAgICAgICAgIHsNCisgI2lm
IGRlZmluZWQgQk9PU1RfVEhSRUFEX1BST1ZJREVTX0JBU0lDX1RIUkVBRF9JRA0KKy0gICAgICAg
ICAgcmV0dXJuIGhhc2hfdmFsdWUodi50aHJlYWRfZGF0YSk7DQorKyAgICAgICAgICByZXR1cm4g
aGFzaF92YWx1ZSgqKCh1bnNpZ25lZCBsb25nICopKHB0ZV9oYW5kbGVfdCAqKSZ2LnRocmVhZF9k
YXRhKSk7DQorICNlbHNlDQorICAgICAgICAgICByZXR1cm4gaGFzaF92YWx1ZSh2LnRocmVhZF9k
YXRhLmdldCgpKTsNCisgI2VuZGlmDQorLS0gDQorMi4yMC4xDQorDQotLSANCjIuMjAuMQ0KDQpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2
ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczov
L2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Wed Dec 18 16:12:13 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 18 Dec 2019 16:12:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ihbvp-0005cm-P9; Wed, 18 Dec 2019 16:12:13 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=PUVB=2I=stud.acs.upb.ro=vlad_andrei.badoiu@srs-us1.protection.inumbo.net>)
 id 1ihbvn-0005cP-UJ
 for minios-devel@lists.xen.org; Wed, 18 Dec 2019 16:12:11 +0000
X-Inumbo-ID: 17f8ac8f-21b1-11ea-90bc-12813bfff9fa
Received: from EUR01-VE1-obe.outbound.protection.outlook.com (unknown
 [40.107.14.48]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 17f8ac8f-21b1-11ea-90bc-12813bfff9fa;
 Wed, 18 Dec 2019 16:11:49 +0000 (UTC)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ARJs8SLYJN1q1xrh5cU/HLMIHwpHAwVuzPLyHIIn6qTHoquE/7xKECStvFnyuk+XmMpd3Z4UJEIjGz3SpmJWkm7KBJNuPiRDMBN1eEVsiH27K5oCorsF5iHZaNDjmkSndhclcsytMaqlKKGcxXg37ZmkkoanN0csvO2LMgHdO0Sf5Se9PUKCSpz7eIJJM0vsB71jbdI6KC5UA0KvyQMHKZfGSGLjbrCrpYsaJonks+ClhE61UTlPLr/PSy/a3kfLQ8pp8nInz74/FGlC3Q77QtM1EsEfNvxp4TkuUTex+vMrLLsL48dvVTra0r6Or7XONPIXRtN4fw5RpfSmcBITHw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UrZcfHykfX4EhGl+cn611zDQYv0+fkB4k4PZfoQnFic=;
 b=PRHZejOTGg433uBuNbTLRRUpt7qsLz39w23KT3c/OueS6TftrVhx84zTO0T5Zrc8yDYs+5ngQwKYFpUtNcOyioyWL5mkfxfINred3cYUPOTeHHl33aewKv6nt2I/zVrLa+d6tV32ZRh75jPPMuSoCf+SrOUpBpecK1BZYrHmpR5F1Q9Id/S/bw5EaAYOi7tsrjS2kUghcd2uQYK+9OK+ZajHvp56z11N3JQojVI6g1rMBM7jRFerxTOKsT2a/61aYEZK9qebnUBqZQjiOMYcyWRMGtIlP4ASNSOr/llgmkMKSypTO6Vv2S+9YZdRbGnsLvF9vMeiVYSkqTXSIzlSJA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=stud.acs.upb.ro; dmarc=pass action=none
 header.from=stud.acs.upb.ro; dkim=pass header.d=stud.acs.upb.ro; arc=none
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com (20.177.55.79) by
 VI1PR01MB4734.eurprd01.prod.exchangelabs.com (20.178.9.18) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.2538.18; Wed, 18 Dec 2019 16:11:43 +0000
Received: from VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::74da:9765:1cb2:80f0]) by VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 ([fe80::74da:9765:1cb2:80f0%3]) with mapi id 15.20.2559.012; Wed, 18 Dec 2019
 16:11:43 +0000
From: =?utf-8?B?VmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIp?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
To: "minios-devel@lists.xen.org" <minios-devel@lists.xen.org>
Thread-Topic: [UNIKRAFT/BOOST v2 PATCH 6/6] README.md: Update with info about
 building
Thread-Index: AQHVtb3WLC9kadJ6OEi/PPfcIB91ow==
Date: Wed, 18 Dec 2019 16:11:43 +0000
Message-ID: <20191218161128.15534-7-vlad_andrei.badoiu@stud.acs.upb.ro>
References: <20191218161128.15534-1-vlad_andrei.badoiu@stud.acs.upb.ro>
In-Reply-To: <20191218161128.15534-1-vlad_andrei.badoiu@stud.acs.upb.ro>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-clientproxiedby: AM0PR07CA0031.eurprd07.prod.outlook.com
 (2603:10a6:208:ac::44) To VI1PR01MB4205.eurprd01.prod.exchangelabs.com
 (2603:10a6:803:6d::15)
authentication-results: spf=none (sender IP is )
 smtp.mailfrom=vlad_andrei.badoiu@stud.acs.upb.ro; 
x-ms-exchange-messagesentrepresentingtype: 1
x-mailer: git-send-email 2.20.1
x-originating-ip: [141.85.233.142]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: ab968eb8-6fc1-4292-d906-08d783d4f914
x-ms-traffictypediagnostic: VI1PR01MB4734:
x-ms-exchange-transport-forked: True
x-microsoft-antispam-prvs: <VI1PR01MB473424544E4945007781FE7DA6530@VI1PR01MB4734.eurprd01.prod.exchangelabs.com>
x-ms-oob-tlc-oobclassifiers: OLM:7691;
x-forefront-prvs: 0255DF69B9
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(346002)(39830400003)(136003)(376002)(396003)(366004)(199004)(189003)(316002)(64756008)(66446008)(66946007)(66476007)(52116002)(186003)(86362001)(71200400001)(26005)(6506007)(6916009)(508600001)(85202003)(66556008)(2906002)(54906003)(6486002)(8936002)(85182001)(81156014)(81166006)(4744005)(786003)(2616005)(66574012)(8676002)(4326008)(5660300002)(1076003)(6512007);
 DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR01MB4734;
 H:VI1PR01MB4205.eurprd01.prod.exchangelabs.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; A:0; MX:1; 
received-spf: None (protection.outlook.com: stud.acs.upb.ro does not designate
 permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: cRw7OTwqIh2tLkoGIJRqT9ocz8vIrb6MWQw3zFqb5peoIgUfB/092L/IfgG61CAdO66qg919r4Lba8UMM32G2hrUFDVoo9Texm0l28FYnNIQlpUk3lgY6kerq48GM3r7C9h2iIrourwBTbW50nTb8l+yYAyEpUFzeVcoloGPTGtbSkvWwIT3EI9nNkuL1eYzs5EWGUWp3+rgfRvFVczqiBGFO7KqwroErMvMWhz90Pyo1EMX44Ra8aPqk/xbmGcMoDsumc/gqAyOofGOtjxcal59PsxiYOl7/ZBcW2i7XsnJhVN8xfioCZafEZN99KM8/30K8LkQGee0exS+v0Fv/yxQxCnPIxfjDT5LH3YXVtXGLg065rbpTA0IoiUdpJK8IY7TSqqwtu21RAJqN8DdCFwArTSAA71EBuLbaeBpX5ItPt/YUxn7FOHp8YsPZzO1
Content-ID: <465F5C75991BA04D88D7329EA0422A9A@eurprd01.prod.exchangelabs.com>
MIME-Version: 1.0
X-OriginatorOrg: stud.acs.upb.ro
X-MS-Exchange-CrossTenant-Network-Message-Id: ab968eb8-6fc1-4292-d906-08d783d4f914
X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Dec 2019 16:11:43.5320 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 2d8cc8ba-8dda-4334-9e5c-fac2092e9bac
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: /sMfudXpAF9Qh+smw/dXvW7gOOdOTYNz2Q+0wFAwgdKy1m3lz6vRvEwl/iZuGzR4Vp7RkM3mMHP3OihItU/MfDU3rQpIck4GitHyH9OHiDcJu/R+qH62XjK7qmxEKZMY
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR01MB4734
Subject: [Minios-devel] [UNIKRAFT/BOOST v2 PATCH 6/6] README.md: Update with
 info about building
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: "felipe.huici@neclab.eu" <felipe.huici@neclab.eu>,
 =?utf-8?B?VmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIp?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogVmxhZC1BbmRyZWkgQsSCRE9JVSAoNzg2OTIpIDx2bGFkX2FuZHJlaS5iYWRvaXVAc3R1
ZC5hY3MudXBiLnJvPg0KDQpTaWduZWQtb2ZmLWJ5OiBWbGFkLUFuZHJlaSBCYWRvaXUgPHZsYWRf
YW5kcmVpLmJhZG9pdUBzdHVkLmFjcy51cGIucm8+DQotLS0NCiBSRUFETUUubWQgfCA3ICsrKysr
KysNCiAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspDQoNCmRpZmYgLS1naXQgYS9SRUFE
TUUubWQgYi9SRUFETUUubWQNCmluZGV4IDhkMzA5ZTkuLjY3ODRhODYgMTAwNjQ0DQotLS0gYS9S
RUFETUUubWQNCisrKyBiL1JFQURNRS5tZA0KQEAgLTMsNSArMywxMiBAQCBib29zdCBmb3IgVW5p
a3JhZnQNCiANCiBUaGlzIGlzIHRoZSBwb3J0IG9mIGJvb3N0IGZvciBVbmlrcmFmdCBhcyBleHRl
cm5hbCBsaWJyYXJ5Lg0KIA0KKyMjIEJ1aWxkDQoraW50eCBkZXBlbmRzIG9uIHRoZSBmb2xsb3dp
bmcgbGlicmFyaWVzLCB0aGF0IG5lZWQgdG8gYmUgYWRkZWQgdG8gYE1ha2VmaWxlYCBpbiB0aGlz
IG9yZGVyOg0KKyogYHB0aHJlYWRzYCwgZS5nLiBgcHRocmVhZC1lbWJlZGRlZGANCisqIENYWCBz
dGFuZGFyZCBsaWJyYXJ5LCBlLmcuIGBsaWJ1bndpbmRgLCBgY29tcGlsZXItcnRgLCBgbGliY3h4
YWJpYCwgYGxpYmN4eGANCisqIGBsaWJjYCwgZS5nLiBgbmV3bGliYA0KKyogU0lNRCBpbnRyaW5z
aWNzLCBlLmcuIGBpbnRlbC1pbnRyaW5pY3NgIA0KKw0KIFBsZWFzZSByZWZlciB0byB0aGUgYFJF
QURNRS5tZGAgYXMgd2VsbCBhcyB0aGUgZG9jdW1lbnRhdGlvbiBpbiB0aGUgYGRvYy9gDQogc3Vi
ZGlyZWN0b3J5IG9mIHRoZSBtYWluIHVuaWtyYWZ0IHJlcG9zaXRvcnkuDQotLSANCjIuMjAuMQ0K
DQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3Mt
ZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRw
czovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Wed Dec 18 17:09:49 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 18 Dec 2019 17:09:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ihcpY-0001xL-Md; Wed, 18 Dec 2019 17:09:48 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=0dd+=2I=citrix.com=lars.kurth@srs-us1.protection.inumbo.net>)
 id 1ihcpX-0001xA-Hj
 for minios-devel@lists.xenproject.org; Wed, 18 Dec 2019 17:09:47 +0000
X-Inumbo-ID: 27033462-21b9-11ea-90ce-12813bfff9fa
Received: from esa1.hc3370-68.iphmx.com (unknown [216.71.145.142])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 27033462-21b9-11ea-90ce-12813bfff9fa;
 Wed, 18 Dec 2019 17:09:31 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
 d=citrix.com; s=securemail; t=1576688971;
 h=from:to:cc:subject:date:message-id:references:
 in-reply-to:content-id:content-transfer-encoding: mime-version;
 bh=jNIhcddd0bO+CkEmQ6ulaol2vyUiU1n94IYXvS0vGEA=;
 b=Y6LEnMtaPNVgHt2wHw8C7N2ssbHxYzVGTjVaRHIbUH/RBbqtTBJmqh99
 aOLlVsKquJfHlwyStGK9U50UFmoWOwUy8TTDuu6JZhrtGLEO39xnwQnZn
 FCSVQYfluX7WqHnRqPE+97/X9G/LB6HtbZPqyuP54YQyowt/8dU7O3Nc1 Y=;
Authentication-Results: esa1.hc3370-68.iphmx.com;
 dkim=none (message not signed) header.i=none;
 spf=None smtp.pra=lars.kurth@citrix.com;
 spf=Pass smtp.mailfrom=lars.kurth@citrix.com;
 spf=None smtp.helo=postmaster@mail.citrix.com
Received-SPF: None (esa1.hc3370-68.iphmx.com: no sender
 authenticity information available from domain of
 lars.kurth@citrix.com) identity=pra;
 client-ip=162.221.158.21; receiver=esa1.hc3370-68.iphmx.com;
 envelope-from="lars.kurth@citrix.com";
 x-sender="lars.kurth@citrix.com"; x-conformance=sidf_compatible
Received-SPF: Pass (esa1.hc3370-68.iphmx.com: domain of
 lars.kurth@citrix.com designates 162.221.158.21 as permitted
 sender) identity=mailfrom; client-ip=162.221.158.21;
 receiver=esa1.hc3370-68.iphmx.com;
 envelope-from="lars.kurth@citrix.com";
 x-sender="lars.kurth@citrix.com";
 x-conformance=sidf_compatible; x-record-type="v=spf1";
 x-record-text="v=spf1 ip4:209.167.231.154 ip4:178.63.86.133
 ip4:195.66.111.40/30 ip4:85.115.9.32/28 ip4:199.102.83.4
 ip4:192.28.146.160 ip4:192.28.146.107 ip4:216.52.6.88
 ip4:216.52.6.188 ip4:162.221.158.21 ip4:162.221.156.83
 ip4:168.245.78.127 ~all"
Received-SPF: None (esa1.hc3370-68.iphmx.com: no sender
 authenticity information available from domain of
 postmaster@mail.citrix.com) identity=helo;
 client-ip=162.221.158.21; receiver=esa1.hc3370-68.iphmx.com;
 envelope-from="lars.kurth@citrix.com";
 x-sender="postmaster@mail.citrix.com";
 x-conformance=sidf_compatible
IronPort-SDR: VsBcbBGGXCbAcN2P6qWVIJ3tssSaSQxWYfS2rGPd3+6nXdTMKzl72JL+BwHeBfpWRmU4Iq6VAQ
 e+xyMcNtP4677dVMvGNhV7ItJ2FllUAzFO5rn5duovyfuRoFeBlPVDhU5MJds/4w4+5hgRxi68
 SjWwNAS06b8pkGsdiwx3DJRFqHZssEayecxtuhtJhKTvyMUtiIBSgBIoGHRj/LhOx7NiBWR1e2
 m/WuEpQur9ANBZdRMUg/HYBijNIU7+S6yI67gSAfhWTZt2LOKeRYEDTRxI6t/TOvZL7sXEA9Ei
 htM=
X-SBRS: 2.7
X-MesageID: 10034170
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
X-IronPort-AV: E=Sophos;i="5.69,330,1571716800"; d="scan'208";a="10034170"
From: Lars Kurth <lars.kurth@citrix.com>
To: Julien Grall <julien@xen.org>, Lars Kurth <lars.kurth@xenproject.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Thread-Topic: [PATCH v3 5/7] Add Code Review Guide
Thread-Index: AQHVsTE52Xd4Fx4F50OKdcHmKTc7r6e/7A8AgAAseIA=
Date: Wed, 18 Dec 2019 17:09:00 +0000
Message-ID: <0DE885E1-C4C3-447A-8408-88D43B9FE355@citrix.com>
References: <cover.1576184325.git.lars.kurth@citrix.com>
 <98ab54c95a9541c918dfec529bcfc5867fd3ed33.1576184325.git.lars.kurth@citrix.com>
 <7a043307-f23f-c537-012b-393f59617c1c@xen.org>
In-Reply-To: <7a043307-f23f-c537-012b-393f59617c1c@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: Microsoft-MacOutlook/10.10.11.191208
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
Content-ID: <CDD65A22DD84BD4AADD36D863835D909@citrix.com>
MIME-Version: 1.0
Subject: Re: [Minios-devel] [PATCH v3 5/7] Add Code Review Guide
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: "minios-devel@lists.xenproject.org" <minios-devel@lists.xenproject.org>,
 "xen-api@lists.xenproject.org" <xen-api@lists.xenproject.org>,
 "win-pv-devel@lists.xenproject.org" <win-pv-devel@lists.xenproject.org>,
 "committers@xenproject.org" <committers@xenproject.org>,
 "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

DQoNCu+7v09uIDE4LzEyLzIwMTksIDE0OjI5LCAiSnVsaWVuIEdyYWxsIiA8anVsaWVuQHhlbi5v
cmc+IHdyb3RlOg0KDQogICAgSGkgTGFycywNCiAgICANCiAgICBPbiAxMi8xMi8yMDE5IDIxOjE0
LCBMYXJzIEt1cnRoIHdyb3RlOg0KICAgID4gKyMjIyBXb3JrZmxvdyBmcm9tIGFuIEF1dGhvcidz
IFBlcnNwZWN0aXZlDQogICAgPiArDQogICAgPiArV2hlbiBjb2RlIGF1dGhvcnMgcmVjZWl2ZSBm
ZWVkYmFjayBvbiB0aGVpciBwYXRjaGVzLCB0aGV5IHR5cGljYWxseSBmaXJzdCB0cnkNCiAgICA+
ICt0byBjbGFyaWZ5IGZlZWRiYWNrIHRoZXkgZG8gbm90IHVuZGVyc3RhbmQuIEZvciBzbWFsbGVy
IHBhdGNoZXMgb3IgcGF0Y2ggc2VyaWVzDQogICAgPiAraXQgbWFrZXMgc2Vuc2UgdG8gd2FpdCB1
bnRpbCByZWNlaXZpbmcgZmVlZGJhY2sgb24gdGhlIGVudGlyZSBzZXJpZXMgYmVmb3JlDQogICAg
PiArc2VuZGluZyBvdXQgYSBuZXcgdmVyc2lvbiBhZGRyZXNzaW5nIHRoZSBjaGFuZ2VzLiBGb3Ig
bGFyZ2VyIHNlcmllcywgaXQgbWF5DQogICAgPiArbWFrZSBzZW5zZSB0byBzZW5kIG91dCBhIG5l
dyByZXZpc2lvbiBlYXJsaWVyLg0KICAgID4gKw0KICAgID4gK0FzIGEgcmV2aWV3ZXIsIHlvdSBu
ZWVkIHNvbWUgc3lzdGVtIHRoYXQgaGU7cHMgZW5zdXJlIHRoYXQgeW91IGFkZHJlc3MgYWxsDQog
ICAgDQogICAgSnVzdCBhIHNtYWxsIHR5cG86IEkgdGhpbmsgeW91IG1lYW50ICJoZWxwcyIgcmF0
aGVyIHRoYW4gImhlO3BzIi4NCiAgICANCiAgICBDaGVlcnMsDQogICAgDQpUaGFuayB5b3U6IGZp
eGVkIGluIG15IHdvcmtpbmcgY29weS4NCg0KT25lIHRoaW5nIHdoaWNoIG9jY3VycmVkIHRvIG1l
IGZvciByZXZpZXdzIGxpa2UgdGhlc2UsIHdoZXJlIHRoZXJlIGlzIG5vIEFDSydzIG9yIFJldmll
d2VkLWJ5J3MgaXMgdGhhdCBJIGRvbid0IGFjdHVhbGx5IGtub3cgd2hldGhlciB5b3UgYXMgcmV2
aWV3ZXIgaXMgb3RoZXJ3aXNlIGhhcHB5IHdpdGggdGhlIHJlbWFpbmRlciBvZiBwYXRjaC4NCk5v
cm1hbGx5IHRoZSBBQ0tlZC1ieSBvciBSZXZpZXdlZC1ieSBpcyBhIHNpZ25hbCB0aGF0IGl0IGlz
DQoNCkkgYW0gYXNzdW1pbmcgaXQgaXMsIGJ1dCBJIHRoaW5rIGl0IG1heSBiZSB3b3J0aHdoaWxl
IHBvaW50aW5nIHRoaXMgb3V0IGluIHRoZSBkb2N1bWVudCwgdGhhdCB1bmxlc3Mgc3RhdGVkIG90
aGVyd2lzZSwgdGhlIHJldmlld2VyIGlzIGhhcHB5IHdpdGggdGhlIHBhdGNoDQoNClJlZ2FyZHMN
CkxhcnMgDQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
Ck1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qu
b3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3Mt
ZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Thu Dec 19 09:23:40 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 19 Dec 2019 09:23:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ihs1y-00023M-EI; Thu, 19 Dec 2019 09:23:38 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <SRS0=BGP1=2J=arm.com=justin.he@srs-us1.protection.inumbo.net>)
 id 1ihs1x-00023G-94
 for minios-devel@lists.xenproject.org; Thu, 19 Dec 2019 09:23:37 +0000
X-Inumbo-ID: 3be71bfe-2241-11ea-9172-12813bfff9fa
Received: from foss.arm.com (unknown [217.140.110.172])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id 3be71bfe-2241-11ea-9172-12813bfff9fa;
 Thu, 19 Dec 2019 09:23:36 +0000 (UTC)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id BF1FC1FB;
 Thu, 19 Dec 2019 01:23:35 -0800 (PST)
Received: from localhost.localdomain (unknown [10.169.40.54])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 6D5393F6CF;
 Thu, 19 Dec 2019 01:23:33 -0800 (PST)
From: Jia He <justin.he@arm.com>
To: minios-devel@lists.xenproject.org, Simon Kuenzer <simon.kuenzer@neclab.eu>,
 Santiago.Pagani@neclab.eu
Date: Thu, 19 Dec 2019 17:23:23 +0800
Message-Id: <20191219092324.219953-1-justin.he@arm.com>
X-Mailer: git-send-email 2.17.1
Subject: [Minios-devel] [PATCH 1/2] Makefile.uk: Fix link issues on arm64
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>, Kaly Xin <Kaly.Xin@arm.com>,
 Julien Grall <julien.grall@arm.com>, Jia He <justin.he@arm.com>,
 Sharan.Santhanam@neclab.eu
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

V2l0aG91dCB0aGlzIHBhdGNoLCB3aGVuIHN0YXJ0aW5nIGhlbGxvd29ybGQgYXBwIHdpdGggbmV3
bGliIG9uIGFybQprdm0gcGxhdCwgaXQgd2lsbCByZXBvcnQgYSBsaW5rIGVycm9yIGFzIGZvbGxv
d3M6CmlhcHBzL2hlbGxvd29ybGQubmV3bGliL2J1aWxkL2hlbGxvd29ybGRfa3ZtLWFybTY0Lm86
IEluIGZ1bmN0aW9uIGB3Y3N0b2xkX2wnOgphcHBzL2hlbGxvd29ybGQubmV3bGliL2J1aWxkL2xp
Ym5ld2xpYmMvb3JpZ2luL25ld2xpYi0yLjUuMC4yMDE3MDkyMi9uZXdsaWIvbGliYy9zdGRsaWIv
d2NzdG9sZC5jOjc3OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBzdHJ0b2xkX2wnCmFwcHMvaGVs
bG93b3JsZC5uZXdsaWIvYnVpbGQvbGlibmV3bGliYy9vcmlnaW4vbmV3bGliLTIuNS4wLjIwMTcw
OTIyL25ld2xpYi9saWJjL3N0ZGxpYi93Y3N0b2xkLmM6Nzc6KC50ZXh0KzB4N2M0ZTQpOiByZWxv
Y2F0aW9uIHRydW5jYXRlZCB0byBmaXQ6IFJfQUFSQ0g2NF9DQUxMMjYgYWdhaW5zdCB1bmRlZmlu
ZWQgc3ltYm9sIGBzdHJ0b2xkX2wnCgpJIG9uY2UgZGlkIGNvbmZpZ3VyZSBhbmQgYnVpbGQgb2Yg
bmV3bGliIGZyb20gdXB0cmVhbSwgdGhpcyBtYWNybyBpcwpkZWZpbmVkIG9uIG15IFRodW5kZXJ4
MiBhcm12OGEgc2VydmVyIChVbmJ1bnR1IDE4LjA0ICsgZ2NjIHZlcnNpb24gNy40LjApCgpTaWdu
ZWQtb2ZmLWJ5OiBKaWEgSGUgPGp1c3Rpbi5oZUBhcm0uY29tPgotLS0KIE1ha2VmaWxlLnVrIHwg
MiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZm
IC0tZ2l0IGEvTWFrZWZpbGUudWsgYi9NYWtlZmlsZS51awppbmRleCAxN2Q4ZDdhLi41NGVmZTFh
IDEwMDY0NAotLS0gYS9NYWtlZmlsZS51aworKysgYi9NYWtlZmlsZS51awpAQCAtODUsOSArODUs
OSBAQCBMSUJORVdMSUJfR0xPQkFMX0ZMQUdTLXkgICs9IC1ETUlTU0lOR19TWVNDQUxMX05BTUVT
IC1ETUFMTE9DX1BST1ZJREVECiBMSUJORVdMSUJfR0xPQkFMX0ZMQUdTLXkgICs9IC1EX1BPU0lY
X1JFQUxUSU1FX1NJR05BTFMKIExJQk5FV0xJQl9HTE9CQUxfRkxBR1MtJChDT05GSUdfTElCTkVX
TElCQ19XQU5UX0lPX0M5OV9GT1JNQVRTKSArPSAtRF9XQU5UX0lPX0M5OV9GT1JNQVRTCiBMSUJO
RVdMSUJfR0xPQkFMX0ZMQUdTLSQoQ09ORklHX0xJQk5FV0xJQkNfTElOVVhfRVJSTk9fRVhURU5T
SU9OUykgKz0gLURfX0xJTlVYX0VSUk5PX0VYVEVOU0lPTlNfXworTElCTkVXTElCX0dMT0JBTF9G
TEFHUy15ICArPSAtRF9IQVZFX0xPTkdfRE9VQkxFCiBpZmVxICgkKENPTkZJR19BUkNIX1g4Nl82
NCkseSkKIExJQk5FV0xJQl9HTE9CQUxfRkxBR1MteSAgKz0gLURfTERCTF9FUV9EQkwKLUxJQk5F
V0xJQl9HTE9CQUxfRkxBR1MteSAgKz0gLURfSEFWRV9MT05HX0RPVUJMRQogZW5kaWYKIAogQ0ZM
QUdTLXkgICArPSAkKExJQk5FV0xJQl9HTE9CQUxfRkxBR1MteSkKLS0gCjIuMTcuMQoKCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBt
YWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlz
dHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Thu Dec 19 09:23:43 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 19 Dec 2019 09:23:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ihs23-00023m-Fk; Thu, 19 Dec 2019 09:23:43 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <SRS0=BGP1=2J=arm.com=justin.he@srs-us1.protection.inumbo.net>)
 id 1ihs22-00023d-9M
 for minios-devel@lists.xenproject.org; Thu, 19 Dec 2019 09:23:42 +0000
X-Inumbo-ID: 3d81b4ce-2241-11ea-9172-12813bfff9fa
Received: from foss.arm.com (unknown [217.140.110.172])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id 3d81b4ce-2241-11ea-9172-12813bfff9fa;
 Thu, 19 Dec 2019 09:23:38 +0000 (UTC)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 92EBD328;
 Thu, 19 Dec 2019 01:23:38 -0800 (PST)
Received: from localhost.localdomain (unknown [10.169.40.54])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 380483F6CF;
 Thu, 19 Dec 2019 01:23:36 -0800 (PST)
From: Jia He <justin.he@arm.com>
To: minios-devel@lists.xenproject.org, Simon Kuenzer <simon.kuenzer@neclab.eu>,
 Santiago.Pagani@neclab.eu
Date: Thu, 19 Dec 2019 17:23:24 +0800
Message-Id: <20191219092324.219953-2-justin.he@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20191219092324.219953-1-justin.he@arm.com>
References: <20191219092324.219953-1-justin.he@arm.com>
MIME-Version: 1.0
Subject: [Minios-devel] [PATCH 2/2] Makefile.uk: workaround the string
 operation corruption
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>, Kaly Xin <Kaly.Xin@arm.com>,
 Julien Grall <julien.grall@arm.com>, Jia He <justin.he@arm.com>,
 Sharan.Santhanam@neclab.eu
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

V2hlbiBzdGFydCBhIGhlbGxvd29ybGQgYXBwIHdpdGggbmV3bGliLCB0aGVyZSB3aWxsIGJlIGEg
Ym9vdCBjcmFzaApvbiBhcm02NCBwbGF0OgpbICAgIDAuMDAwMDAwXSBJbmZvOiBbbGlia3ZtcGxh
dF0gc2V0dXAuY2xpYmt2bXBsYXQgQCA1MSAgIDogRm91bmQgZGV2aWNlIHRyZWUgb246IDB4NDAw
MDAwMDAKWyAgICAwLjAwMDAwMF0gSW5mbzogW2xpYmt2bXBsYXRdIHBsMDExLmNsaWJrdm1wbGF0
IEAgMTE5ICA6IFNlcmlhbCBpbml0aWFsaXppbmcKWyAgICAwLjAwMDAwMF0gSW5mbzogW2xpYmt2
bXBsYXRdIHBsMDExLmNsaWJrdm1wbGF0IEAgMTM5ICA6IEZvdW5kIFBMMDExIFVBUlQgb246IDB4
OTAwMDAwMApbICAgIDAuMDAwMDAwXSBJbmZvOiBbbGlia3ZtcGxhdF0gcGwwMTEuY2xpYmt2bXBs
YXQgQCAxNDIgIDogUEwwMTEgVUFSVCBpbml0aWFsaXplZApbICAgIDAuMDAwMDAwXSBJbmZvOiBb
bGlia3ZtcGxhdF0gc2V0dXAuY2xpYmt2bXBsYXQgQCAyMTMgIDogRW50ZXJpbmcgZnJvbSBLVk0g
KGFybTY0KS4uLgpbICAgIDAuMDAwMDAwXSBJbmZvOiBbbGlia3ZtcGxhdF0gc2V0dXAuY2xpYmt2
bXBsYXQgQCAxOTkgIDogTm8gY29tbWFuZCBsaW5lIGZvdW5kClsgICAgMC4wMDAwMDBdIEluZm86
IFtsaWJrdm1wbGF0XSBzZXR1cC5jbGlia3ZtcGxhdCBAIDY5ICAgOiBObyBQU0NJIGNvbmR1aXQg
Zm91bmQgaW4gRFRCClsgICAgMC4wMDAwMDBdIEluZm86IFtsaWJrdm1wbGF0XSBzZXR1cC5jbGli
a3ZtcGxhdCBAIDkzICAgOiBTdXBwb3J0IFBTQ0kgZnJvbSBQU0NJLTAuMgpbICAgIDAuMDAwMDAw
XSBXYXJuOiBbbGlia3ZtcGxhdF0gc2V0dXAuY2xpYmt2bXBsYXQgQCAxMTIgIDogTm8gbWVtb3J5
IGZvdW5kIGluIERUQgpbICAgIDAuMDAwMDAwXSBJbmZvOiBbbGlia3ZtZ2ljdjJdIGdpYy12Mi5j
IEAgNDIzICA6IFByb2JpbmcgR0lDdjIuLi4KWyAgICAwLjAwMDAwMF0gZGJnOiAgW2xpYmt2bW9m
d10gZmR0LmNsaWJrdm1vZncgQCAxNzMgIDogcmVhY2hlZCByb290IG5vZGUKWyAgICAwLjAwMDAw
MF0gZGJnOiAgW2xpYmt2bW9md10gZmR0LmNsaWJrdm1vZncgQCAxNzMgIDogcmVhY2hlZCByb290
IG5vZGUKWyAgICAwLjAwMDAwMF0gSW5mbzogW2xpYmt2bWdpY3YyXSBnaWMtdjIuYyBAIDQ0MiAg
OiBGb3VuZCBHSUN2MiBvbjoKClNvbWUgZmR0IG5vZGVzIGFyZSBwYXJzZWQgaW5jb3JyZWN0bHks
IGVzcGVjaWFsbHkgZm9yIHRob3NlIGNvbXBhdGlibGUKc3RyaW5ncyB3aXRoICJcMOKAnC4KClRv
IHdvcmsgYXJvdW5kIHRoZSBidWcgaW4gbmV3bGliLCB3ZSdkIGJldHRlciBlbmFibGUgUFJFRkVS
X1NJWkVfT1ZFUl9TUEVFRApiZWZvcmUgd2UgcmVzb2x2ZSB0aGUgYnVnLgoKU2lnbmVkLW9mZi1i
eTogSmlhIEhlIDxqdXN0aW4uaGVAYXJtLmNvbT4KLS0tCiBNYWtlZmlsZS51ayB8IDIgKy0KIDEg
ZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBh
L01ha2VmaWxlLnVrIGIvTWFrZWZpbGUudWsKaW5kZXggNTRlZmUxYS4uMjc5OTU0YSAxMDA2NDQK
LS0tIGEvTWFrZWZpbGUudWsKKysrIGIvTWFrZWZpbGUudWsKQEAgLTgxLDcgKzgxLDcgQEAgTElC
TkVXTElCTV9DWFhJTkNMVURFUyArPSAtSSQoTElCTkVXTElCX0xJQk0pL2NvbW1vbgogIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMKICMgR2xvYmFsIGZsYWdzCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IwotTElCTkVXTElCX0dMT0JBTF9GTEFHUy15ICArPSAtRE1JU1NJTkdfU1lTQ0FMTF9OQU1FUyAt
RE1BTExPQ19QUk9WSURFRAorTElCTkVXTElCX0dMT0JBTF9GTEFHUy15ICArPSAtRE1JU1NJTkdf
U1lTQ0FMTF9OQU1FUyAtRE1BTExPQ19QUk9WSURFRCAtRFBSRUZFUl9TSVpFX09WRVJfU1BFRUQK
IExJQk5FV0xJQl9HTE9CQUxfRkxBR1MteSAgKz0gLURfUE9TSVhfUkVBTFRJTUVfU0lHTkFMUwog
TElCTkVXTElCX0dMT0JBTF9GTEFHUy0kKENPTkZJR19MSUJORVdMSUJDX1dBTlRfSU9fQzk5X0ZP
Uk1BVFMpICs9IC1EX1dBTlRfSU9fQzk5X0ZPUk1BVFMKIExJQk5FV0xJQl9HTE9CQUxfRkxBR1Mt
JChDT05GSUdfTElCTkVXTElCQ19MSU5VWF9FUlJOT19FWFRFTlNJT05TKSArPSAtRF9fTElOVVhf
RVJSTk9fRVhURU5TSU9OU19fCi0tIAoyLjE3LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1k
ZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21h
aWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Thu Dec 19 09:57:05 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 19 Dec 2019 09:57:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ihsYL-0005CC-3z; Thu, 19 Dec 2019 09:57:05 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <SRS0=ScRH=2J=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1ihsYJ-0005Bn-4z
 for minios-devel@lists.xenproject.org; Thu, 19 Dec 2019 09:57:03 +0000
X-Inumbo-ID: c4ef7992-2245-11ea-a1e1-bc764e2007e4
Received: from mx2.suse.de (unknown [195.135.220.15])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id c4ef7992-2245-11ea-a1e1-bc764e2007e4;
 Thu, 19 Dec 2019 09:56:04 +0000 (UTC)
X-Virus-Scanned: by amavisd-new at test-mx.suse.de
Received: from relay2.suse.de (unknown [195.135.220.254])
 by mx2.suse.de (Postfix) with ESMTP id 405D6AF41;
 Thu, 19 Dec 2019 09:56:03 +0000 (UTC)
To: Lars Kurth <lars.kurth@citrix.com>, Lars Kurth <lars.kurth@xenproject.org>
References: <cover.1576184325.git.lars.kurth@citrix.com>
 <98ab54c95a9541c918dfec529bcfc5867fd3ed33.1576184325.git.lars.kurth@citrix.com>
 <7a043307-f23f-c537-012b-393f59617c1c@xen.org>
 <0DE885E1-C4C3-447A-8408-88D43B9FE355@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <1ed2d421-7dfe-1d92-5edc-7f11e8409ff7@suse.com>
Date: Thu, 19 Dec 2019 10:56:31 +0100
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101
 Thunderbird/60.9.1
MIME-Version: 1.0
In-Reply-To: <0DE885E1-C4C3-447A-8408-88D43B9FE355@citrix.com>
Content-Language: en-US
Subject: Re: [Minios-devel] [PATCH v3 5/7] Add Code Review Guide
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Julien Grall <julien@xen.org>,
 "xen-api@lists.xenproject.org" <xen-api@lists.xenproject.org>,
 "minios-devel@lists.xenproject.org" <minios-devel@lists.xenproject.org>,
 "committers@xenproject.org" <committers@xenproject.org>,
 "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "win-pv-devel@lists.xenproject.org" <win-pv-devel@lists.xenproject.org>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

T24gMTguMTIuMjAxOSAxODowOSwgTGFycyBLdXJ0aCB3cm90ZToKPiAKPiAKPiDvu79PbiAxOC8x
Mi8yMDE5LCAxNDoyOSwgIkp1bGllbiBHcmFsbCIgPGp1bGllbkB4ZW4ub3JnPiB3cm90ZToKPiAK
PiAgICAgSGkgTGFycywKPiAgICAgCj4gICAgIE9uIDEyLzEyLzIwMTkgMjE6MTQsIExhcnMgS3Vy
dGggd3JvdGU6Cj4gICAgID4gKyMjIyBXb3JrZmxvdyBmcm9tIGFuIEF1dGhvcidzIFBlcnNwZWN0
aXZlCj4gICAgID4gKwo+ICAgICA+ICtXaGVuIGNvZGUgYXV0aG9ycyByZWNlaXZlIGZlZWRiYWNr
IG9uIHRoZWlyIHBhdGNoZXMsIHRoZXkgdHlwaWNhbGx5IGZpcnN0IHRyeQo+ICAgICA+ICt0byBj
bGFyaWZ5IGZlZWRiYWNrIHRoZXkgZG8gbm90IHVuZGVyc3RhbmQuIEZvciBzbWFsbGVyIHBhdGNo
ZXMgb3IgcGF0Y2ggc2VyaWVzCj4gICAgID4gK2l0IG1ha2VzIHNlbnNlIHRvIHdhaXQgdW50aWwg
cmVjZWl2aW5nIGZlZWRiYWNrIG9uIHRoZSBlbnRpcmUgc2VyaWVzIGJlZm9yZQo+ICAgICA+ICtz
ZW5kaW5nIG91dCBhIG5ldyB2ZXJzaW9uIGFkZHJlc3NpbmcgdGhlIGNoYW5nZXMuIEZvciBsYXJn
ZXIgc2VyaWVzLCBpdCBtYXkKPiAgICAgPiArbWFrZSBzZW5zZSB0byBzZW5kIG91dCBhIG5ldyBy
ZXZpc2lvbiBlYXJsaWVyLgo+ICAgICA+ICsKPiAgICAgPiArQXMgYSByZXZpZXdlciwgeW91IG5l
ZWQgc29tZSBzeXN0ZW0gdGhhdCBoZTtwcyBlbnN1cmUgdGhhdCB5b3UgYWRkcmVzcyBhbGwKPiAg
ICAgCj4gICAgIEp1c3QgYSBzbWFsbCB0eXBvOiBJIHRoaW5rIHlvdSBtZWFudCAiaGVscHMiIHJh
dGhlciB0aGFuICJoZTtwcyIuCj4gICAgIAo+ICAgICBDaGVlcnMsCj4gICAgIAo+IFRoYW5rIHlv
dTogZml4ZWQgaW4gbXkgd29ya2luZyBjb3B5Lgo+IAo+IE9uZSB0aGluZyB3aGljaCBvY2N1cnJl
ZCB0byBtZSBmb3IgcmV2aWV3cyBsaWtlIHRoZXNlLCB3aGVyZSB0aGVyZSBpcyBubyBBQ0sncyBv
ciBSZXZpZXdlZC1ieSdzIGlzIHRoYXQgSSBkb24ndCBhY3R1YWxseSBrbm93IHdoZXRoZXIgeW91
IGFzIHJldmlld2VyIGlzIG90aGVyd2lzZSBoYXBweSB3aXRoIHRoZSByZW1haW5kZXIgb2YgcGF0
Y2guCj4gTm9ybWFsbHkgdGhlIEFDS2VkLWJ5IG9yIFJldmlld2VkLWJ5IGlzIGEgc2lnbmFsIHRo
YXQgaXQgaXMKPiAKPiBJIGFtIGFzc3VtaW5nIGl0IGlzLCBidXQgSSB0aGluayBpdCBtYXkgYmUg
d29ydGh3aGlsZSBwb2ludGluZyB0aGlzIG91dCBpbiB0aGUgZG9jdW1lbnQsIHRoYXQgdW5sZXNz
IHN0YXRlZCBvdGhlcndpc2UsIHRoZSByZXZpZXdlciBpcyBoYXBweSB3aXRoIHRoZSBwYXRjaAoK
SSBkb24ndCB0aGluayB0aGVyZSBzaG91bGQgZXZlciBiZSBzdWNoIGFuIGltcGxpY2F0aW9uLiBB
ZmFpYyB0aGVyZQphcmUgcGF0Y2hlcyBJIGNvbW1lbnQgdXBvbiwgYnV0IHRoYXQgSSBlaXRoZXIg
ZG9uJ3QgZmVlbCBxdWFsaWZpZWQKdG8gZ2l2ZSBhbiBhY2svUi1iIG9uLCBvciB0aGF0IEkgc2lt
cGx5IGRvbid0IHdhbnQgdG8gZm9yIHdoYXRldmVyCnJlYXNvbi4gQXQgYmVzdCwgbm8gb3RoZXIg
Y29tbWVudCAoYXMgaW4gdGhlIGFib3ZlIGV4YW1wbGUpIG1heSBiZQp0YWtlbiBhcyAiSSBkb24n
dCBvYmplY3QiLgoKSmFuCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5w
cm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8v
bWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Thu Dec 19 10:03:18 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 19 Dec 2019 10:03:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ihseL-0006GG-Or; Thu, 19 Dec 2019 10:03:17 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=SZrV=2J=gmail.com=lars.kurth.xen@srs-us1.protection.inumbo.net>)
 id 1ihseJ-0006Fy-PQ
 for minios-devel@lists.xenproject.org; Thu, 19 Dec 2019 10:03:15 +0000
X-Inumbo-ID: c1e054dc-2246-11ea-a914-bc764e2007e4
Received: from mail-wm1-x342.google.com (unknown [2a00:1450:4864:20::342])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id c1e054dc-2246-11ea-a914-bc764e2007e4;
 Thu, 19 Dec 2019 10:03:08 +0000 (UTC)
Received: by mail-wm1-x342.google.com with SMTP id 20so4828732wmj.4;
 Thu, 19 Dec 2019 02:03:08 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:mime-version:subject:in-reply-to:date:cc
 :content-transfer-encoding:message-id:references:to;
 bh=hlmutj29Mv+oNv5ld2Or2ujG/4pVcFrZodzfldMf1oQ=;
 b=FtAsu6AQ+X/QB7TD9tgObM1SEqgIw8QB5P+4fkAM/s4SuYfC0mIKmEAmZV+fsvNASA
 ykhN2rJ7DD2b5/89/f8GAgqZQTG9Z210ZwgOyq6KTt7nKY3CvgdqGlUq/AUARuk9VZAM
 C8U8qf7kKI8s2WPGLvxlzDOkA5FnhQITJri7OCxP1rRnuMxiGCrZHQ92nfUecaIFXayx
 8mA2mCPX4dewu87DmiAv0F/XGRxOQJowo4fcLPVG9zvPP5txU8RiPfmeySs09gXAAHJh
 F/+uYrek+NJvcZqOeA8SHtaA/WhU8T7seE7zMHhf/tuN3oJ6u+qtH3r8hr4EcFPADv4k
 G56A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:mime-version:subject:in-reply-to:date:cc
 :content-transfer-encoding:message-id:references:to;
 bh=hlmutj29Mv+oNv5ld2Or2ujG/4pVcFrZodzfldMf1oQ=;
 b=TV635rsr/Omd+HCa/61WkFW4lTFYYb7Mk3SxDUSr9zQus9YRpG/0/c8bfeIq18eRV2
 rm0qoxb499d9PDKLuubCydIMaE9BMiditI3W0yKGj4yT1kjPune+X6cgmM5RhYl2wGdZ
 j/Ef8taOy55KkyHvThARLiWIjiHBVV8nmZN5VTcupU3wtyedfq9Y4KYvP2PQ8eFVxW5z
 rITnmp4XhMCFAF33lwXfwD92FWiJq2V6HbZ9cf+GDGYedYCeJsydhY5dJyeGlwzwq3k0
 bwDK+iqpsYgLii1wzMZ5q03+FAPB/jcubSMjUi678z03EwExVxeIP6GJvM+85BOeYAOh
 z+wQ==
X-Gm-Message-State: APjAAAUQkKruSykzvB0HANUkZblN3rV7dVU8sRa855jeBueQRUI1Ulks
 h/S8sIx7WbEewEbEWusO5uwBEoDA
X-Google-Smtp-Source: APXvYqx44/U9WE8B4+fooFTBnqb6tsRL7SH4SVAZmmrqswvjxSsAaTauIxlTjsgIHDZU18QU5SLs1Q==
X-Received: by 2002:a05:600c:2207:: with SMTP id
 z7mr8693903wml.138.1576749787471; 
 Thu, 19 Dec 2019 02:03:07 -0800 (PST)
Received: from ?IPv6:2a01:4c8:1038:6f39:cd58:18e8:a347:8ea6?
 ([2a01:4c8:1038:6f39:cd58:18e8:a347:8ea6])
 by smtp.gmail.com with ESMTPSA id u13sm5636149wmd.36.2019.12.19.02.03.06
 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
 Thu, 19 Dec 2019 02:03:06 -0800 (PST)
From: Lars Kurth <lars.kurth.xen@gmail.com>
X-Google-Original-From: Lars Kurth <lars.kurth@xenproject.org>
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\))
In-Reply-To: <1ed2d421-7dfe-1d92-5edc-7f11e8409ff7@suse.com>
Date: Thu, 19 Dec 2019 10:03:04 +0000
Message-Id: <3A37215A-9402-4611-B5EE-1CA4D1218F87@xenproject.org>
References: <cover.1576184325.git.lars.kurth@citrix.com>
 <98ab54c95a9541c918dfec529bcfc5867fd3ed33.1576184325.git.lars.kurth@citrix.com>
 <7a043307-f23f-c537-012b-393f59617c1c@xen.org>
 <0DE885E1-C4C3-447A-8408-88D43B9FE355@citrix.com>
 <1ed2d421-7dfe-1d92-5edc-7f11e8409ff7@suse.com>
To: 'Jan Beulich' <jbeulich@suse.com>
X-Mailer: Apple Mail (2.3445.104.11)
Subject: Re: [Minios-devel] [PATCH v3 5/7] Add Code Review Guide
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Lars Kurth <lars.kurth@citrix.com>, Julien Grall <julien@xen.org>,
 "xen-api@lists.xenproject.org" <xen-api@lists.xenproject.org>,
 "minios-devel@lists.xenproject.org" <minios-devel@lists.xenproject.org>,
 "committers@xenproject.org" <committers@xenproject.org>,
 "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>,
 xen-devel <xen-devel@lists.xenproject.org>,
 "win-pv-devel@lists.xenproject.org" <win-pv-devel@lists.xenproject.org>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

Cgo+IE9uIDE5IERlYyAyMDE5LCBhdCAwOTo1NiwgSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2Uu
Y29tPiB3cm90ZToKPiAKPiBPbiAxOC4xMi4yMDE5IDE4OjA5LCBMYXJzIEt1cnRoIHdyb3RlOgo+
PiAKPj4gCj4+IO+7v09uIDE4LzEyLzIwMTksIDE0OjI5LCAiSnVsaWVuIEdyYWxsIiA8anVsaWVu
QHhlbi5vcmc+IHdyb3RlOgo+PiAKPj4gICAgSGkgTGFycywKPj4gCj4+ICAgIE9uIDEyLzEyLzIw
MTkgMjE6MTQsIExhcnMgS3VydGggd3JvdGU6Cj4+PiArIyMjIFdvcmtmbG93IGZyb20gYW4gQXV0
aG9yJ3MgUGVyc3BlY3RpdmUKPj4+ICsKPj4+ICtXaGVuIGNvZGUgYXV0aG9ycyByZWNlaXZlIGZl
ZWRiYWNrIG9uIHRoZWlyIHBhdGNoZXMsIHRoZXkgdHlwaWNhbGx5IGZpcnN0IHRyeQo+Pj4gK3Rv
IGNsYXJpZnkgZmVlZGJhY2sgdGhleSBkbyBub3QgdW5kZXJzdGFuZC4gRm9yIHNtYWxsZXIgcGF0
Y2hlcyBvciBwYXRjaCBzZXJpZXMKPj4+ICtpdCBtYWtlcyBzZW5zZSB0byB3YWl0IHVudGlsIHJl
Y2VpdmluZyBmZWVkYmFjayBvbiB0aGUgZW50aXJlIHNlcmllcyBiZWZvcmUKPj4+ICtzZW5kaW5n
IG91dCBhIG5ldyB2ZXJzaW9uIGFkZHJlc3NpbmcgdGhlIGNoYW5nZXMuIEZvciBsYXJnZXIgc2Vy
aWVzLCBpdCBtYXkKPj4+ICttYWtlIHNlbnNlIHRvIHNlbmQgb3V0IGEgbmV3IHJldmlzaW9uIGVh
cmxpZXIuCj4+PiArCj4+PiArQXMgYSByZXZpZXdlciwgeW91IG5lZWQgc29tZSBzeXN0ZW0gdGhh
dCBoZTtwcyBlbnN1cmUgdGhhdCB5b3UgYWRkcmVzcyBhbGwKPj4gCj4+ICAgIEp1c3QgYSBzbWFs
bCB0eXBvOiBJIHRoaW5rIHlvdSBtZWFudCAiaGVscHMiIHJhdGhlciB0aGFuICJoZTtwcyIuCj4+
IAo+PiAgICBDaGVlcnMsCj4+IAo+PiBUaGFuayB5b3U6IGZpeGVkIGluIG15IHdvcmtpbmcgY29w
eS4KPj4gCj4+IE9uZSB0aGluZyB3aGljaCBvY2N1cnJlZCB0byBtZSBmb3IgcmV2aWV3cyBsaWtl
IHRoZXNlLCB3aGVyZSB0aGVyZSBpcyBubyBBQ0sncyBvciBSZXZpZXdlZC1ieSdzIGlzIHRoYXQg
SSBkb24ndCBhY3R1YWxseSBrbm93IHdoZXRoZXIgeW91IGFzIHJldmlld2VyIGlzIG90aGVyd2lz
ZSBoYXBweSB3aXRoIHRoZSByZW1haW5kZXIgb2YgdGhlIHBhdGNoLgo+PiBOb3JtYWxseSB0aGUg
QUNLZWQtYnkgb3IgUmV2aWV3ZWQtYnkgaXMgYSBzaWduYWwgdGhhdCBpdCBpcwo+PiAKPj4gSSBh
bSBhc3N1bWluZyBpdCBpcywgYnV0IEkgdGhpbmsgaXQgbWF5IGJlIHdvcnRod2hpbGUgcG9pbnRp
bmcgdGhpcyBvdXQgaW4gdGhlIGRvY3VtZW50LCB0aGF0IHVubGVzcyBzdGF0ZWQgb3RoZXJ3aXNl
LCB0aGUgcmV2aWV3ZXIgaXMgaGFwcHkgd2l0aCB0aGUgcGF0Y2gKPiAKPiBJIGRvbid0IHRoaW5r
IHRoZXJlIHNob3VsZCBldmVyIGJlIHN1Y2ggYW4gaW1wbGljYXRpb24uIEFmYWljIHRoZXJlCj4g
YXJlIHBhdGNoZXMgSSBjb21tZW50IHVwb24sIGJ1dCB0aGF0IEkgZWl0aGVyIGRvbid0IGZlZWwg
cXVhbGlmaWVkCj4gdG8gZ2l2ZSBhbiBhY2svUi1iIG9uLCBvciB0aGF0IEkgc2ltcGx5IGRvbid0
IHdhbnQgdG8gZm9yIHdoYXRldmVyCj4gcmVhc29uLiBBdCBiZXN0LCBubyBvdGhlciBjb21tZW50
IChhcyBpbiB0aGUgYWJvdmUgZXhhbXBsZSkgbWF5IGJlCj4gdGFrZW4gYXMgIkkgZG9uJ3Qgb2Jq
ZWN0Ii4KCgpJZiB0aGF0IGlzIHRoZSBjYXNlLCB3b3VsZCB0aGVyZSBiZSBhIHJlYXNvbmFibGUg
Y29udmVudGlvbiB0byBtYWtlIHRoaXMgY2xlYXI/IAoKSW4gYSBudXRzaGVsbCwgaW4gc3VjaCBh
IHJldmlldyB0aGUgcG9zc2libGUgaW50ZXJwcmV0YXRpb25zIGFyZQoqIEkgcmV2aWV3ZWQsIGJ1
dCBkaWRuJ3QgZmVlbCBxdWFsaWZpZWQgdG8gZG8gdGhlIHJlc3QKKiBJIHJldmlld2VkLCBidXQg
ZGlkIG5vdCBnZXQgcm91bmQgdG8gZ2l2ZSBpdCBmdWxsIGF0dGVudGlvbgoqIEkgcmV2aWV3ZWQs
IGJ1dCBiZWZvcmUgSSBtYWtlIGEgZmluYWwgZGVjaXNpb24gd2FudCB0byBsb29rIGF0IHRoZSBu
ZXh0IHZlcnNpb24KLi4uCiogSSByZXZpZXdlZCBhbmQgZG9uJ3Qgb2JqZWN0IHRoZSByZXN0Ciog
SSByZXZpZXdlZCBhbmQgYWdyZWVkIHdpdGggdGhlIHJlc3QgClRoZSBsYXR0ZXIgdHdvIGFyZSBl
cXVpdmFsZW50IHRvIEFjay9SLWIKClRoYXQgaXMgcXVpdGUgYSBsYXJnZSByYW5nZSBvZiBwb3Nz
aWJpbGl0aWVzIGFuZCBraW5kIG9mIGxlYXZlcyB0aGUgYXV0aG9yIGd1ZXNzaW5nIHdoYXQgc3Rh
dGUgdGhlIHJldmlldyBpcyBpbgoKUmVnYXJkcwpMYXJzCgoKCgpfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1p
bmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qu
b3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Thu Dec 19 11:09:16 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 19 Dec 2019 11:09:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ihtgB-0003qy-2y; Thu, 19 Dec 2019 11:09:15 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=FvZE=2J=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1ihtgA-0003qt-O0
 for minios-devel@lists.xenproject.org; Thu, 19 Dec 2019 11:09:14 +0000
X-Inumbo-ID: fcc5fecc-224f-11ea-b6f1-bc764e2007e4
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id fcc5fecc-224f-11ea-b6f1-bc764e2007e4;
 Thu, 19 Dec 2019 11:09:13 +0000 (UTC)
IronPort-SDR: STxwa3kvAqg3JgioNmydh3hY2HWoBgyomtBnY8xm5VDo3w455QPrBURogxT3dTYTpz+GbKin8G
 dNUPnCjMaptw==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 19 Dec 2019 13:09:09 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 574FA1A6014F;
 Thu, 19 Dec 2019 13:09:09 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id ip-AgBhCppi6; Thu, 19 Dec 2019 13:09:09 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 38EBB1A60198;
 Thu, 19 Dec 2019 13:09:09 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id iBjt49Wo5an6; Thu, 19 Dec 2019 13:09:09 +0200 (EET)
Received: from [192.168.100.190] (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 0689B1A6014F;
 Thu, 19 Dec 2019 13:09:09 +0200 (EET)
To: Jia He <justin.he@arm.com>, minios-devel@lists.xenproject.org,
 Simon Kuenzer <simon.kuenzer@neclab.eu>, Santiago.Pagani@neclab.eu
References: <20191219092324.219953-1-justin.he@arm.com>
From: Costin Lupu <costin.lupu@cs.pub.ro>
Message-ID: <1bcbdabf-8d4b-cf2a-63df-646f2b3e698b@cs.pub.ro>
Date: Thu, 19 Dec 2019 13:09:08 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.3.0
MIME-Version: 1.0
In-Reply-To: <20191219092324.219953-1-justin.he@arm.com>
Content-Language: en-US
Subject: Re: [Minios-devel] [PATCH 1/2] Makefile.uk: Fix link issues on arm64
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>, Kaly Xin <Kaly.Xin@arm.com>,
 Julien Grall <julien.grall@arm.com>, Sharan.Santhanam@neclab.eu
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgSnVzdGluLAoKUGxlYXNlIHNlZSBpbmxpbmUuCgpPbiAxMi8xOS8xOSAxMToyMyBBTSwgSmlh
IEhlIHdyb3RlOgo+IFdpdGhvdXQgdGhpcyBwYXRjaCwgd2hlbiBzdGFydGluZyBoZWxsb3dvcmxk
IGFwcCB3aXRoIG5ld2xpYiBvbiBhcm0KPiBrdm0gcGxhdCwgaXQgd2lsbCByZXBvcnQgYSBsaW5r
IGVycm9yIGFzIGZvbGxvd3M6Cj4gaWFwcHMvaGVsbG93b3JsZC5uZXdsaWIvYnVpbGQvaGVsbG93
b3JsZF9rdm0tYXJtNjQubzogSW4gZnVuY3Rpb24gYHdjc3RvbGRfbCc6Cj4gYXBwcy9oZWxsb3dv
cmxkLm5ld2xpYi9idWlsZC9saWJuZXdsaWJjL29yaWdpbi9uZXdsaWItMi41LjAuMjAxNzA5MjIv
bmV3bGliL2xpYmMvc3RkbGliL3djc3RvbGQuYzo3NzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBg
c3RydG9sZF9sJwo+IGFwcHMvaGVsbG93b3JsZC5uZXdsaWIvYnVpbGQvbGlibmV3bGliYy9vcmln
aW4vbmV3bGliLTIuNS4wLjIwMTcwOTIyL25ld2xpYi9saWJjL3N0ZGxpYi93Y3N0b2xkLmM6Nzc6
KC50ZXh0KzB4N2M0ZTQpOiByZWxvY2F0aW9uIHRydW5jYXRlZCB0byBmaXQ6IFJfQUFSQ0g2NF9D
QUxMMjYgYWdhaW5zdCB1bmRlZmluZWQgc3ltYm9sIGBzdHJ0b2xkX2wnCj4gCj4gSSBvbmNlIGRp
ZCBjb25maWd1cmUgYW5kIGJ1aWxkIG9mIG5ld2xpYiBmcm9tIHVwdHJlYW0sIHRoaXMgbWFjcm8g
aXMKPiBkZWZpbmVkIG9uIG15IFRodW5kZXJ4MiBhcm12OGEgc2VydmVyIChVbmJ1bnR1IDE4LjA0
ICsgZ2NjIHZlcnNpb24gNy40LjApCj4gCj4gU2lnbmVkLW9mZi1ieTogSmlhIEhlIDxqdXN0aW4u
aGVAYXJtLmNvbT4KPiAtLS0KPiAgTWFrZWZpbGUudWsgfCAyICstCj4gIDEgZmlsZSBjaGFuZ2Vk
LCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQo+IAo+IGRpZmYgLS1naXQgYS9NYWtlZmls
ZS51ayBiL01ha2VmaWxlLnVrCj4gaW5kZXggMTdkOGQ3YS4uNTRlZmUxYSAxMDA2NDQKPiAtLS0g
YS9NYWtlZmlsZS51awo+ICsrKyBiL01ha2VmaWxlLnVrCj4gQEAgLTg1LDkgKzg1LDkgQEAgTElC
TkVXTElCX0dMT0JBTF9GTEFHUy15ICArPSAtRE1JU1NJTkdfU1lTQ0FMTF9OQU1FUyAtRE1BTExP
Q19QUk9WSURFRAo+ICBMSUJORVdMSUJfR0xPQkFMX0ZMQUdTLXkgICs9IC1EX1BPU0lYX1JFQUxU
SU1FX1NJR05BTFMKPiAgTElCTkVXTElCX0dMT0JBTF9GTEFHUy0kKENPTkZJR19MSUJORVdMSUJD
X1dBTlRfSU9fQzk5X0ZPUk1BVFMpICs9IC1EX1dBTlRfSU9fQzk5X0ZPUk1BVFMKPiAgTElCTkVX
TElCX0dMT0JBTF9GTEFHUy0kKENPTkZJR19MSUJORVdMSUJDX0xJTlVYX0VSUk5PX0VYVEVOU0lP
TlMpICs9IC1EX19MSU5VWF9FUlJOT19FWFRFTlNJT05TX18KPiArTElCTkVXTElCX0dMT0JBTF9G
TEFHUy15ICArPSAtRF9IQVZFX0xPTkdfRE9VQkxFCgpJIGRvbid0IHRoaW5rIGl0J3Mgc2FmZSB0
byBkZWZpbmUgdGhpcyBmb3IgYWxsIGFyY2hpdGVjdHVyZXMuIEJlc2lkZXMKdGhhdCwgd2hlbiBJ
IGludHJvZHVjZWQgdGhpcyBmbGFnIEkgZGlkbid0IGNoZWNrIHdoZXRoZXIgdGhpcyBpcwphY3R1
YWxseSB0cnVlLCBpLmUuIHdoZXRoZXIgc2l6ZW9mKGRvdWJsZSkgYW5kIHNpemVvZihsb25nIGRv
dWJsZSkgYXJlCnRoZSBzYW1lLiBBbmQgdGhleSBhcmUgbm90LCBzaXplb2YoZG91YmxlKSA9PSA4
IHdoaWxlIHNpemVvZihsb25nCmRvdWJsZSkgPT0gMTYuIFRoZXJlZm9yZSB3ZSBoYXZlIHRvIGZv
cmNlIHRoZSBjb21waWxlciB0byBtYWtlIHRoZW0KZXF1YWwgaW4gc2l6ZSB1c2luZyBgLW1sb25n
LWRvdWJsZS02NGAgKHRoaXMgbWVhbnMgdXBkYXRpbmcgZ2xvYmFsCkNGTEFHUyBhbmQgQ1hYRkxB
R1MpLgoKTm93LCBteSBxdWVzdGlvbiB0byB5b3UgaXM6IGRvIHRoZXNlIDIgdHlwZXMgaGF2ZSB0
aGUgc2FtZSBzaXplPyBFdmVuIGlmCnRoZXkgaGF2ZSwgeW91IHNob3VsZCBzZXQgdGhpcyBmbGFn
IG9ubHkgZm9yIHlvdXIgYXJjaGl0ZWN0dXJlLiBJZiBub3QsCmNhbiB5b3UgZm9yY2UgdGhlIGNv
bXBpbGVyIHRvIG1ha2UgdGhlIGVxdWFsIGluIHNpemU/Cgo+ICBpZmVxICgkKENPTkZJR19BUkNI
X1g4Nl82NCkseSkKPiAgTElCTkVXTElCX0dMT0JBTF9GTEFHUy15ICArPSAtRF9MREJMX0VRX0RC
TAo+IC1MSUJORVdMSUJfR0xPQkFMX0ZMQUdTLXkgICs9IC1EX0hBVkVfTE9OR19ET1VCTEUKPiAg
ZW5kaWYKPiAgCj4gIENGTEFHUy15ICAgKz0gJChMSUJORVdMSUJfR0xPQkFMX0ZMQUdTLXkpCj4g
CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3Mt
ZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRw
czovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Thu Dec 19 11:09:20 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 19 Dec 2019 11:09:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ihtgG-0003rh-5h; Thu, 19 Dec 2019 11:09:20 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <SRS0=ScRH=2J=suse.com=jbeulich@srs-us1.protection.inumbo.net>)
 id 1ihtgF-0003rZ-LV
 for minios-devel@lists.xenproject.org; Thu, 19 Dec 2019 11:09:19 +0000
X-Inumbo-ID: e5a761cc-224f-11ea-88e7-bc764e2007e4
Received: from mx2.suse.de (unknown [195.135.220.15])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id e5a761cc-224f-11ea-88e7-bc764e2007e4;
 Thu, 19 Dec 2019 11:08:34 +0000 (UTC)
X-Virus-Scanned: by amavisd-new at test-mx.suse.de
Received: from relay2.suse.de (unknown [195.135.220.254])
 by mx2.suse.de (Postfix) with ESMTP id 8B006B15F;
 Thu, 19 Dec 2019 11:08:33 +0000 (UTC)
To: Lars Kurth <lars.kurth.xen@gmail.com>
References: <cover.1576184325.git.lars.kurth@citrix.com>
 <98ab54c95a9541c918dfec529bcfc5867fd3ed33.1576184325.git.lars.kurth@citrix.com>
 <7a043307-f23f-c537-012b-393f59617c1c@xen.org>
 <0DE885E1-C4C3-447A-8408-88D43B9FE355@citrix.com>
 <1ed2d421-7dfe-1d92-5edc-7f11e8409ff7@suse.com>
 <3A37215A-9402-4611-B5EE-1CA4D1218F87@xenproject.org>
From: Jan Beulich <jbeulich@suse.com>
Message-ID: <64e30946-8c36-3728-b894-441c0bf6c970@suse.com>
Date: Thu, 19 Dec 2019 12:09:02 +0100
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101
 Thunderbird/60.9.1
MIME-Version: 1.0
In-Reply-To: <3A37215A-9402-4611-B5EE-1CA4D1218F87@xenproject.org>
Content-Language: en-US
Subject: Re: [Minios-devel] [PATCH v3 5/7] Add Code Review Guide
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Lars Kurth <lars.kurth@citrix.com>, Julien Grall <julien@xen.org>,
 "xen-api@lists.xenproject.org" <xen-api@lists.xenproject.org>,
 "minios-devel@lists.xenproject.org" <minios-devel@lists.xenproject.org>,
 "committers@xenproject.org" <committers@xenproject.org>,
 "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>,
 xen-devel <xen-devel@lists.xenproject.org>,
 "win-pv-devel@lists.xenproject.org" <win-pv-devel@lists.xenproject.org>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

T24gMTkuMTIuMjAxOSAxMTowMywgTGFycyBLdXJ0aCB3cm90ZToKPiAKPiAKPj4gT24gMTkgRGVj
IDIwMTksIGF0IDA5OjU2LCBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+IHdyb3RlOgo+
Pgo+PiBPbiAxOC4xMi4yMDE5IDE4OjA5LCBMYXJzIEt1cnRoIHdyb3RlOgo+Pj4KPj4+Cj4+PiDv
u79PbiAxOC8xMi8yMDE5LCAxNDoyOSwgIkp1bGllbiBHcmFsbCIgPGp1bGllbkB4ZW4ub3JnPiB3
cm90ZToKPj4+Cj4+PiAgICBIaSBMYXJzLAo+Pj4KPj4+ICAgIE9uIDEyLzEyLzIwMTkgMjE6MTQs
IExhcnMgS3VydGggd3JvdGU6Cj4+Pj4gKyMjIyBXb3JrZmxvdyBmcm9tIGFuIEF1dGhvcidzIFBl
cnNwZWN0aXZlCj4+Pj4gKwo+Pj4+ICtXaGVuIGNvZGUgYXV0aG9ycyByZWNlaXZlIGZlZWRiYWNr
IG9uIHRoZWlyIHBhdGNoZXMsIHRoZXkgdHlwaWNhbGx5IGZpcnN0IHRyeQo+Pj4+ICt0byBjbGFy
aWZ5IGZlZWRiYWNrIHRoZXkgZG8gbm90IHVuZGVyc3RhbmQuIEZvciBzbWFsbGVyIHBhdGNoZXMg
b3IgcGF0Y2ggc2VyaWVzCj4+Pj4gK2l0IG1ha2VzIHNlbnNlIHRvIHdhaXQgdW50aWwgcmVjZWl2
aW5nIGZlZWRiYWNrIG9uIHRoZSBlbnRpcmUgc2VyaWVzIGJlZm9yZQo+Pj4+ICtzZW5kaW5nIG91
dCBhIG5ldyB2ZXJzaW9uIGFkZHJlc3NpbmcgdGhlIGNoYW5nZXMuIEZvciBsYXJnZXIgc2VyaWVz
LCBpdCBtYXkKPj4+PiArbWFrZSBzZW5zZSB0byBzZW5kIG91dCBhIG5ldyByZXZpc2lvbiBlYXJs
aWVyLgo+Pj4+ICsKPj4+PiArQXMgYSByZXZpZXdlciwgeW91IG5lZWQgc29tZSBzeXN0ZW0gdGhh
dCBoZTtwcyBlbnN1cmUgdGhhdCB5b3UgYWRkcmVzcyBhbGwKPj4+Cj4+PiAgICBKdXN0IGEgc21h
bGwgdHlwbzogSSB0aGluayB5b3UgbWVhbnQgImhlbHBzIiByYXRoZXIgdGhhbiAiaGU7cHMiLgo+
Pj4KPj4+ICAgIENoZWVycywKPj4+Cj4+PiBUaGFuayB5b3U6IGZpeGVkIGluIG15IHdvcmtpbmcg
Y29weS4KPj4+Cj4+PiBPbmUgdGhpbmcgd2hpY2ggb2NjdXJyZWQgdG8gbWUgZm9yIHJldmlld3Mg
bGlrZSB0aGVzZSwgd2hlcmUgdGhlcmUgaXMgbm8gQUNLJ3Mgb3IgUmV2aWV3ZWQtYnkncyBpcyB0
aGF0IEkgZG9uJ3QgYWN0dWFsbHkga25vdyB3aGV0aGVyIHlvdSBhcyByZXZpZXdlciBpcyBvdGhl
cndpc2UgaGFwcHkgd2l0aCB0aGUgcmVtYWluZGVyIG9mIHRoZSBwYXRjaC4KPj4+IE5vcm1hbGx5
IHRoZSBBQ0tlZC1ieSBvciBSZXZpZXdlZC1ieSBpcyBhIHNpZ25hbCB0aGF0IGl0IGlzCj4+Pgo+
Pj4gSSBhbSBhc3N1bWluZyBpdCBpcywgYnV0IEkgdGhpbmsgaXQgbWF5IGJlIHdvcnRod2hpbGUg
cG9pbnRpbmcgdGhpcyBvdXQgaW4gdGhlIGRvY3VtZW50LCB0aGF0IHVubGVzcyBzdGF0ZWQgb3Ro
ZXJ3aXNlLCB0aGUgcmV2aWV3ZXIgaXMgaGFwcHkgd2l0aCB0aGUgcGF0Y2gKPj4KPj4gSSBkb24n
dCB0aGluayB0aGVyZSBzaG91bGQgZXZlciBiZSBzdWNoIGFuIGltcGxpY2F0aW9uLiBBZmFpYyB0
aGVyZQo+PiBhcmUgcGF0Y2hlcyBJIGNvbW1lbnQgdXBvbiwgYnV0IHRoYXQgSSBlaXRoZXIgZG9u
J3QgZmVlbCBxdWFsaWZpZWQKPj4gdG8gZ2l2ZSBhbiBhY2svUi1iIG9uLCBvciB0aGF0IEkgc2lt
cGx5IGRvbid0IHdhbnQgdG8gZm9yIHdoYXRldmVyCj4+IHJlYXNvbi4gQXQgYmVzdCwgbm8gb3Ro
ZXIgY29tbWVudCAoYXMgaW4gdGhlIGFib3ZlIGV4YW1wbGUpIG1heSBiZQo+PiB0YWtlbiBhcyAi
SSBkb24ndCBvYmplY3QiLgo+IAo+IAo+IElmIHRoYXQgaXMgdGhlIGNhc2UsIHdvdWxkIHRoZXJl
IGJlIGEgcmVhc29uYWJsZSBjb252ZW50aW9uIHRvIG1ha2UgdGhpcyBjbGVhcj8gCj4gCj4gSW4g
YSBudXRzaGVsbCwgaW4gc3VjaCBhIHJldmlldyB0aGUgcG9zc2libGUgaW50ZXJwcmV0YXRpb25z
IGFyZQo+ICogSSByZXZpZXdlZCwgYnV0IGRpZG4ndCBmZWVsIHF1YWxpZmllZCB0byBkbyB0aGUg
cmVzdAo+ICogSSByZXZpZXdlZCwgYnV0IGRpZCBub3QgZ2V0IHJvdW5kIHRvIGdpdmUgaXQgZnVs
bCBhdHRlbnRpb24KPiAqIEkgcmV2aWV3ZWQsIGJ1dCBiZWZvcmUgSSBtYWtlIGEgZmluYWwgZGVj
aXNpb24gd2FudCB0byBsb29rIGF0IHRoZSBuZXh0IHZlcnNpb24KPiAuLi4KPiAqIEkgcmV2aWV3
ZWQgYW5kIGRvbid0IG9iamVjdCB0aGUgcmVzdAo+ICogSSByZXZpZXdlZCBhbmQgYWdyZWVkIHdp
dGggdGhlIHJlc3QgCj4gVGhlIGxhdHRlciB0d28gYXJlIGVxdWl2YWxlbnQgdG8gQWNrL1ItYgo+
IAo+IFRoYXQgaXMgcXVpdGUgYSBsYXJnZSByYW5nZSBvZiBwb3NzaWJpbGl0aWVzIGFuZCBraW5k
IG9mIGxlYXZlcyB0aGUgYXV0aG9yIGd1ZXNzaW5nIHdoYXQgc3RhdGUgdGhlIHJldmlldyBpcyBp
bgoKV2VsbCwgSSB0aG91Z2ggdGhlIGNvbnZlbnRpb24gaXMgdG8gZ2l2ZSBBLWIgLyBSLWIgZXhw
bGljaXRseS4gSW4KYSBmZXcgb3Zlcmx5IGFtYmlndW91cyBjYXNlcyB3ZSB0ZW5kIHRvIHNpbXBs
eSBhc2sgYmFjayB3aGV0aGVyIGEKZ2l2ZW4gcmVwbHkgY2FuIGJlIHRyYW5zZm9ybWVkIGludG8g
YSB0YWcuIEkgZG9uJ3Qgc2VlIGFueSBuZWVkCmZvciBmdXJ0aGVyIGZvcm1hbGl6YXRpb24gaGVy
ZS4KCkphbgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
TWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5v
cmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1k
ZXZlbA==

From minios-devel-bounces@lists.xenproject.org Thu Dec 19 11:10:56 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 19 Dec 2019 11:10:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ihtho-0004kp-BD; Thu, 19 Dec 2019 11:10:56 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=FvZE=2J=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1ihthn-0004kh-SV
 for minios-devel@lists.xenproject.org; Thu, 19 Dec 2019 11:10:55 +0000
X-Inumbo-ID: 39757f8c-2250-11ea-9189-12813bfff9fa
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id 39757f8c-2250-11ea-9189-12813bfff9fa;
 Thu, 19 Dec 2019 11:10:54 +0000 (UTC)
IronPort-SDR: fJE6XPWo9M6EwgKaNk2FsgKwXg94vRty2ii8iL1MImDXs9a3DSxNPZPPjl2smDrMQvtyESrQng
 Jqy16WJFYOFw==
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 19 Dec 2019 13:10:54 +0200
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 8884F1A6014F;
 Thu, 19 Dec 2019 13:10:54 +0200 (EET)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id FA5D_IybCAFq; Thu, 19 Dec 2019 13:10:54 +0200 (EET)
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 65FB01A60198;
 Thu, 19 Dec 2019 13:10:54 +0200 (EET)
X-Virus-Scanned: amavisd-new at cs.pub.ro
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id BafK_VYgBuIa; Thu, 19 Dec 2019 13:10:54 +0200 (EET)
Received: from [192.168.100.190] (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 1A0D81A6014F;
 Thu, 19 Dec 2019 13:10:54 +0200 (EET)
To: Jia He <justin.he@arm.com>, minios-devel@lists.xenproject.org,
 Simon Kuenzer <simon.kuenzer@neclab.eu>, Santiago.Pagani@neclab.eu
References: <20191219092324.219953-1-justin.he@arm.com>
 <20191219092324.219953-2-justin.he@arm.com>
From: Costin Lupu <costin.lupu@cs.pub.ro>
Message-ID: <3ae64159-1280-17f9-2a3e-ff5337dee09c@cs.pub.ro>
Date: Thu, 19 Dec 2019 13:10:53 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.3.0
MIME-Version: 1.0
In-Reply-To: <20191219092324.219953-2-justin.he@arm.com>
Content-Language: en-US
Subject: Re: [Minios-devel] [PATCH 2/2] Makefile.uk: workaround the string
 operation corruption
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>, Kaly Xin <Kaly.Xin@arm.com>,
 Julien Grall <julien.grall@arm.com>, Sharan.Santhanam@neclab.eu
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgSnVzdGluLAoKSSBkb24ndCB0aGluayBpdCdzIGEgZ29vZCBpZGVhIHRvIHVwc3RyZWFtIHdv
cmthcm91bmRzLiBZb3Ugc2hvdWxkCmFjdHVhbGx5IGludmVzdGlnYXRlIGhvdyAtRFBSRUZFUl9T
SVpFX09WRVJfU1BFRUQgYWZmZWN0cyB0aGUgYnVpbGQuCldlcmUgeW91IHVzaW5nIG9wdGltaXph
dGlvbnMgZm9yIHlvdXIgYnVpbGQ/CgpDaGVlcnMsCkNvc3RpbgoKT24gMTIvMTkvMTkgMTE6MjMg
QU0sIEppYSBIZSB3cm90ZToKPiBXaGVuIHN0YXJ0IGEgaGVsbG93b3JsZCBhcHAgd2l0aCBuZXds
aWIsIHRoZXJlIHdpbGwgYmUgYSBib290IGNyYXNoCj4gb24gYXJtNjQgcGxhdDoKPiBbICAgIDAu
MDAwMDAwXSBJbmZvOiBbbGlia3ZtcGxhdF0gc2V0dXAuY2xpYmt2bXBsYXQgQCA1MSAgIDogRm91
bmQgZGV2aWNlIHRyZWUgb246IDB4NDAwMDAwMDAKPiBbICAgIDAuMDAwMDAwXSBJbmZvOiBbbGli
a3ZtcGxhdF0gcGwwMTEuY2xpYmt2bXBsYXQgQCAxMTkgIDogU2VyaWFsIGluaXRpYWxpemluZwo+
IFsgICAgMC4wMDAwMDBdIEluZm86IFtsaWJrdm1wbGF0XSBwbDAxMS5jbGlia3ZtcGxhdCBAIDEz
OSAgOiBGb3VuZCBQTDAxMSBVQVJUIG9uOiAweDkwMDAwMDAKPiBbICAgIDAuMDAwMDAwXSBJbmZv
OiBbbGlia3ZtcGxhdF0gcGwwMTEuY2xpYmt2bXBsYXQgQCAxNDIgIDogUEwwMTEgVUFSVCBpbml0
aWFsaXplZAo+IFsgICAgMC4wMDAwMDBdIEluZm86IFtsaWJrdm1wbGF0XSBzZXR1cC5jbGlia3Zt
cGxhdCBAIDIxMyAgOiBFbnRlcmluZyBmcm9tIEtWTSAoYXJtNjQpLi4uCj4gWyAgICAwLjAwMDAw
MF0gSW5mbzogW2xpYmt2bXBsYXRdIHNldHVwLmNsaWJrdm1wbGF0IEAgMTk5ICA6IE5vIGNvbW1h
bmQgbGluZSBmb3VuZAo+IFsgICAgMC4wMDAwMDBdIEluZm86IFtsaWJrdm1wbGF0XSBzZXR1cC5j
bGlia3ZtcGxhdCBAIDY5ICAgOiBObyBQU0NJIGNvbmR1aXQgZm91bmQgaW4gRFRCCj4gWyAgICAw
LjAwMDAwMF0gSW5mbzogW2xpYmt2bXBsYXRdIHNldHVwLmNsaWJrdm1wbGF0IEAgOTMgICA6IFN1
cHBvcnQgUFNDSSBmcm9tIFBTQ0ktMC4yCj4gWyAgICAwLjAwMDAwMF0gV2FybjogW2xpYmt2bXBs
YXRdIHNldHVwLmNsaWJrdm1wbGF0IEAgMTEyICA6IE5vIG1lbW9yeSBmb3VuZCBpbiBEVEIKPiBb
ICAgIDAuMDAwMDAwXSBJbmZvOiBbbGlia3ZtZ2ljdjJdIGdpYy12Mi5jIEAgNDIzICA6IFByb2Jp
bmcgR0lDdjIuLi4KPiBbICAgIDAuMDAwMDAwXSBkYmc6ICBbbGlia3Ztb2Z3XSBmZHQuY2xpYmt2
bW9mdyBAIDE3MyAgOiByZWFjaGVkIHJvb3Qgbm9kZQo+IFsgICAgMC4wMDAwMDBdIGRiZzogIFts
aWJrdm1vZnddIGZkdC5jbGlia3Ztb2Z3IEAgMTczICA6IHJlYWNoZWQgcm9vdCBub2RlCj4gWyAg
ICAwLjAwMDAwMF0gSW5mbzogW2xpYmt2bWdpY3YyXSBnaWMtdjIuYyBAIDQ0MiAgOiBGb3VuZCBH
SUN2MiBvbjoKPiAKPiBTb21lIGZkdCBub2RlcyBhcmUgcGFyc2VkIGluY29ycmVjdGx5LCBlc3Bl
Y2lhbGx5IGZvciB0aG9zZSBjb21wYXRpYmxlCj4gc3RyaW5ncyB3aXRoICJcMOKAnC4KPiAKPiBU
byB3b3JrIGFyb3VuZCB0aGUgYnVnIGluIG5ld2xpYiwgd2UnZCBiZXR0ZXIgZW5hYmxlIFBSRUZF
Ul9TSVpFX09WRVJfU1BFRUQKPiBiZWZvcmUgd2UgcmVzb2x2ZSB0aGUgYnVnLgo+IAo+IFNpZ25l
ZC1vZmYtYnk6IEppYSBIZSA8anVzdGluLmhlQGFybS5jb20+Cj4gLS0tCj4gIE1ha2VmaWxlLnVr
IHwgMiArLQo+ICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkK
PiAKPiBkaWZmIC0tZ2l0IGEvTWFrZWZpbGUudWsgYi9NYWtlZmlsZS51awo+IGluZGV4IDU0ZWZl
MWEuLjI3OTk1NGEgMTAwNjQ0Cj4gLS0tIGEvTWFrZWZpbGUudWsKPiArKysgYi9NYWtlZmlsZS51
awo+IEBAIC04MSw3ICs4MSw3IEBAIExJQk5FV0xJQk1fQ1hYSU5DTFVERVMgKz0gLUkkKExJQk5F
V0xJQl9MSUJNKS9jb21tb24KPiAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKPiAgIyBHbG9iYWwg
ZmxhZ3MKPiAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKPiAtTElCTkVXTElCX0dMT0JBTF9GTEFH
Uy15ICArPSAtRE1JU1NJTkdfU1lTQ0FMTF9OQU1FUyAtRE1BTExPQ19QUk9WSURFRAo+ICtMSUJO
RVdMSUJfR0xPQkFMX0ZMQUdTLXkgICs9IC1ETUlTU0lOR19TWVNDQUxMX05BTUVTIC1ETUFMTE9D
X1BST1ZJREVEIC1EUFJFRkVSX1NJWkVfT1ZFUl9TUEVFRAo+ICBMSUJORVdMSUJfR0xPQkFMX0ZM
QUdTLXkgICs9IC1EX1BPU0lYX1JFQUxUSU1FX1NJR05BTFMKPiAgTElCTkVXTElCX0dMT0JBTF9G
TEFHUy0kKENPTkZJR19MSUJORVdMSUJDX1dBTlRfSU9fQzk5X0ZPUk1BVFMpICs9IC1EX1dBTlRf
SU9fQzk5X0ZPUk1BVFMKPiAgTElCTkVXTElCX0dMT0JBTF9GTEFHUy0kKENPTkZJR19MSUJORVdM
SUJDX0xJTlVYX0VSUk5PX0VYVEVOU0lPTlMpICs9IC1EX19MSU5VWF9FUlJOT19FWFRFTlNJT05T
X18KPiAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1p
bmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3Jn
Cmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2
ZWw=

From minios-devel-bounces@lists.xenproject.org Thu Dec 19 11:13:15 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 19 Dec 2019 11:13:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ihtk2-0004vV-Hy; Thu, 19 Dec 2019 11:13:14 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=xHCk=2J=neclab.eu=santiago.pagani@srs-us1.protection.inumbo.net>)
 id 1ihtk1-0004vP-II
 for minios-devel@lists.xenproject.org; Thu, 19 Dec 2019 11:13:13 +0000
X-Inumbo-ID: 8ac26f94-2250-11ea-9189-12813bfff9fa
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 8ac26f94-2250-11ea-9189-12813bfff9fa;
 Thu, 19 Dec 2019 11:13:11 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 76B5810483B;
 Thu, 19 Dec 2019 12:13:10 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-a.office.hd)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id nPsuiqY4x3R4; Thu, 19 Dec 2019 12:13:10 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from titania.office.hd (titania.office.hd [192.168.24.89])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 4FE321045E0;
 Thu, 19 Dec 2019 12:13:10 +0100 (CET)
Received: from oberon.office.hd (192.168.24.90) by titania.office.hd
 (192.168.24.89) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 19 Dec
 2019 12:13:09 +0100
Received: from oberon.office.hd ([192.168.126.11]) by Oberon.office.hd
 ([192.168.126.11]) with mapi id 15.01.1713.009; Thu, 19 Dec 2019 12:13:09
 +0100
From: Santiago Pagani <Santiago.Pagani@neclab.eu>
To: Costin Lupu <costin.lupu@cs.pub.ro>, Jia He <justin.he@arm.com>,
 "minios-devel@lists.xenproject.org" <minios-devel@lists.xenproject.org>,
 Simon Kuenzer <simon.kuenzer@neclab.eu>
Thread-Topic: [Minios-devel] [PATCH 2/2] Makefile.uk: workaround the string
 operation corruption
Thread-Index: AQHVtk4L3FI9/CLWH0SbTzYqluQ3UafBPJSAgAARZoA=
Date: Thu, 19 Dec 2019 11:13:09 +0000
Message-ID: <79BCB0F5-26D8-4E27-9ACE-B402ED38BBD3@neclab.eu>
References: <20191219092324.219953-1-justin.he@arm.com>
 <20191219092324.219953-2-justin.he@arm.com>
 <3ae64159-1280-17f9-2a3e-ff5337dee09c@cs.pub.ro>
In-Reply-To: <3ae64159-1280-17f9-2a3e-ff5337dee09c@cs.pub.ro>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [192.168.24.96]
Content-ID: <18C111C6A67A564C98DFFF289C781402@office.hd>
MIME-Version: 1.0
Subject: Re: [Minios-devel] [PATCH 2/2] Makefile.uk: workaround the string
 operation corruption
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <Felipe.Huici@neclab.eu>, Kaly Xin <Kaly.Xin@arm.com>,
 Julien Grall <julien.grall@arm.com>,
 Sharan Santhanam <Sharan.Santhanam@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgSnVzdGluLA0KDQpGb2xsb3dpbmcgdXAgb24gb3VyIG9mZmxpbmUgZGlzY3Vzc2lvbiwgYW5k
IGFsc28gaW5saW5lIHdpdGggQ29zdGluJ3MgY29tbWVudCwgSSBoYXZlIGp1c3Qgc3VibWl0dGVk
IGEgcGF0Y2ggdGhhdCBzb2x2ZWQgdGhpcyBwcm9ibGVtIGZvciBtZSBpbiB3aGF0IEkgdGhpbmsg
aXMgYSBtb3JlIHJvYnVzdCB3YXkuIFBsZWFzZSBoYXZlIGEgbG9vayBhdCB0aGF0IHBhdGNoIGFu
ZCBwb3RlbnRpYWxseSBkcm9wIHRoaXMgb25lPw0KDQpUaGFua3MgYW5kIGJlc3QsDQpTYW50aWFn
bw0KDQrvu79PbiAxOS4xMi4xOSwgMTI6MTEsICJNaW5pb3MtZGV2ZWwgb24gYmVoYWxmIG9mIENv
c3RpbiBMdXB1IiA8bWluaW9zLWRldmVsLWJvdW5jZXNAbGlzdHMueGVucHJvamVjdC5vcmcgb24g
YmVoYWxmIG9mIGNvc3Rpbi5sdXB1QGNzLnB1Yi5ybz4gd3JvdGU6DQoNCiAgICBIaSBKdXN0aW4s
DQogICAgDQogICAgSSBkb24ndCB0aGluayBpdCdzIGEgZ29vZCBpZGVhIHRvIHVwc3RyZWFtIHdv
cmthcm91bmRzLiBZb3Ugc2hvdWxkDQogICAgYWN0dWFsbHkgaW52ZXN0aWdhdGUgaG93IC1EUFJF
RkVSX1NJWkVfT1ZFUl9TUEVFRCBhZmZlY3RzIHRoZSBidWlsZC4NCiAgICBXZXJlIHlvdSB1c2lu
ZyBvcHRpbWl6YXRpb25zIGZvciB5b3VyIGJ1aWxkPw0KICAgIA0KICAgIENoZWVycywNCiAgICBD
b3N0aW4NCiAgICANCiAgICBPbiAxMi8xOS8xOSAxMToyMyBBTSwgSmlhIEhlIHdyb3RlOg0KICAg
ID4gV2hlbiBzdGFydCBhIGhlbGxvd29ybGQgYXBwIHdpdGggbmV3bGliLCB0aGVyZSB3aWxsIGJl
IGEgYm9vdCBjcmFzaA0KICAgID4gb24gYXJtNjQgcGxhdDoNCiAgICA+IFsgICAgMC4wMDAwMDBd
IEluZm86IFtsaWJrdm1wbGF0XSBzZXR1cC5jbGlia3ZtcGxhdCBAIDUxICAgOiBGb3VuZCBkZXZp
Y2UgdHJlZSBvbjogMHg0MDAwMDAwMA0KICAgID4gWyAgICAwLjAwMDAwMF0gSW5mbzogW2xpYmt2
bXBsYXRdIHBsMDExLmNsaWJrdm1wbGF0IEAgMTE5ICA6IFNlcmlhbCBpbml0aWFsaXppbmcNCiAg
ICA+IFsgICAgMC4wMDAwMDBdIEluZm86IFtsaWJrdm1wbGF0XSBwbDAxMS5jbGlia3ZtcGxhdCBA
IDEzOSAgOiBGb3VuZCBQTDAxMSBVQVJUIG9uOiAweDkwMDAwMDANCiAgICA+IFsgICAgMC4wMDAw
MDBdIEluZm86IFtsaWJrdm1wbGF0XSBwbDAxMS5jbGlia3ZtcGxhdCBAIDE0MiAgOiBQTDAxMSBV
QVJUIGluaXRpYWxpemVkDQogICAgPiBbICAgIDAuMDAwMDAwXSBJbmZvOiBbbGlia3ZtcGxhdF0g
c2V0dXAuY2xpYmt2bXBsYXQgQCAyMTMgIDogRW50ZXJpbmcgZnJvbSBLVk0gKGFybTY0KS4uLg0K
ICAgID4gWyAgICAwLjAwMDAwMF0gSW5mbzogW2xpYmt2bXBsYXRdIHNldHVwLmNsaWJrdm1wbGF0
IEAgMTk5ICA6IE5vIGNvbW1hbmQgbGluZSBmb3VuZA0KICAgID4gWyAgICAwLjAwMDAwMF0gSW5m
bzogW2xpYmt2bXBsYXRdIHNldHVwLmNsaWJrdm1wbGF0IEAgNjkgICA6IE5vIFBTQ0kgY29uZHVp
dCBmb3VuZCBpbiBEVEINCiAgICA+IFsgICAgMC4wMDAwMDBdIEluZm86IFtsaWJrdm1wbGF0XSBz
ZXR1cC5jbGlia3ZtcGxhdCBAIDkzICAgOiBTdXBwb3J0IFBTQ0kgZnJvbSBQU0NJLTAuMg0KICAg
ID4gWyAgICAwLjAwMDAwMF0gV2FybjogW2xpYmt2bXBsYXRdIHNldHVwLmNsaWJrdm1wbGF0IEAg
MTEyICA6IE5vIG1lbW9yeSBmb3VuZCBpbiBEVEINCiAgICA+IFsgICAgMC4wMDAwMDBdIEluZm86
IFtsaWJrdm1naWN2Ml0gZ2ljLXYyLmMgQCA0MjMgIDogUHJvYmluZyBHSUN2Mi4uLg0KICAgID4g
WyAgICAwLjAwMDAwMF0gZGJnOiAgW2xpYmt2bW9md10gZmR0LmNsaWJrdm1vZncgQCAxNzMgIDog
cmVhY2hlZCByb290IG5vZGUNCiAgICA+IFsgICAgMC4wMDAwMDBdIGRiZzogIFtsaWJrdm1vZndd
IGZkdC5jbGlia3Ztb2Z3IEAgMTczICA6IHJlYWNoZWQgcm9vdCBub2RlDQogICAgPiBbICAgIDAu
MDAwMDAwXSBJbmZvOiBbbGlia3ZtZ2ljdjJdIGdpYy12Mi5jIEAgNDQyICA6IEZvdW5kIEdJQ3Yy
IG9uOg0KICAgID4gDQogICAgPiBTb21lIGZkdCBub2RlcyBhcmUgcGFyc2VkIGluY29ycmVjdGx5
LCBlc3BlY2lhbGx5IGZvciB0aG9zZSBjb21wYXRpYmxlDQogICAgPiBzdHJpbmdzIHdpdGggIlww
4oCcLg0KICAgID4gDQogICAgPiBUbyB3b3JrIGFyb3VuZCB0aGUgYnVnIGluIG5ld2xpYiwgd2Un
ZCBiZXR0ZXIgZW5hYmxlIFBSRUZFUl9TSVpFX09WRVJfU1BFRUQNCiAgICA+IGJlZm9yZSB3ZSBy
ZXNvbHZlIHRoZSBidWcuDQogICAgPiANCiAgICA+IFNpZ25lZC1vZmYtYnk6IEppYSBIZSA8anVz
dGluLmhlQGFybS5jb20+DQogICAgPiAtLS0NCiAgICA+ICBNYWtlZmlsZS51ayB8IDIgKy0NCiAg
ICA+ICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkNCiAgICA+
IA0KICAgID4gZGlmZiAtLWdpdCBhL01ha2VmaWxlLnVrIGIvTWFrZWZpbGUudWsNCiAgICA+IGlu
ZGV4IDU0ZWZlMWEuLjI3OTk1NGEgMTAwNjQ0DQogICAgPiAtLS0gYS9NYWtlZmlsZS51aw0KICAg
ID4gKysrIGIvTWFrZWZpbGUudWsNCiAgICA+IEBAIC04MSw3ICs4MSw3IEBAIExJQk5FV0xJQk1f
Q1hYSU5DTFVERVMgKz0gLUkkKExJQk5FV0xJQl9MSUJNKS9jb21tb24NCiAgICA+ICAjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIw0KICAgID4gICMgR2xvYmFsIGZsYWdzDQogICAgPiAgIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMNCiAgICA+IC1MSUJORVdMSUJfR0xPQkFMX0ZMQUdTLXkgICs9IC1ETUlT
U0lOR19TWVNDQUxMX05BTUVTIC1ETUFMTE9DX1BST1ZJREVEDQogICAgPiArTElCTkVXTElCX0dM
T0JBTF9GTEFHUy15ICArPSAtRE1JU1NJTkdfU1lTQ0FMTF9OQU1FUyAtRE1BTExPQ19QUk9WSURF
RCAtRFBSRUZFUl9TSVpFX09WRVJfU1BFRUQNCiAgICA+ICBMSUJORVdMSUJfR0xPQkFMX0ZMQUdT
LXkgICs9IC1EX1BPU0lYX1JFQUxUSU1FX1NJR05BTFMNCiAgICA+ICBMSUJORVdMSUJfR0xPQkFM
X0ZMQUdTLSQoQ09ORklHX0xJQk5FV0xJQkNfV0FOVF9JT19DOTlfRk9STUFUUykgKz0gLURfV0FO
VF9JT19DOTlfRk9STUFUUw0KICAgID4gIExJQk5FV0xJQl9HTE9CQUxfRkxBR1MtJChDT05GSUdf
TElCTkVXTElCQ19MSU5VWF9FUlJOT19FWFRFTlNJT05TKSArPSAtRF9fTElOVVhfRVJSTk9fRVhU
RU5TSU9OU19fDQogICAgPiANCiAgICANCiAgICBfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXw0KICAgIE1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QNCiAgICBN
aW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcNCiAgICBodHRwczovL2xpc3RzLnhlbnBy
b2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVsDQoNCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxp
c3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJv
amVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Thu Dec 19 11:19:27 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 19 Dec 2019 11:19:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ihtq3-000536-BK; Thu, 19 Dec 2019 11:19:27 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=xHCk=2J=neclab.eu=santiago.pagani@srs-us1.protection.inumbo.net>)
 id 1ihtq2-00052x-M3
 for minios-devel@lists.xen.org; Thu, 19 Dec 2019 11:19:26 +0000
X-Inumbo-ID: 69b635e6-2251-11ea-918a-12813bfff9fa
Received: from queen.nlehd.de (unknown [195.37.154.80])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id 69b635e6-2251-11ea-918a-12813bfff9fa;
 Thu, 19 Dec 2019 11:19:25 +0000 (UTC)
Received: from localhost (c133.ant-net [192.168.0.7])
 by queen.nlehd.de (Postfix) with ESMTP id AF9CB41E40;
 Thu, 19 Dec 2019 12:19:24 +0100 (CET)
From: Santiago Pagani <santiago.pagani@neclab.eu>
To: minios-devel@lists.xen.org
Date: Thu, 19 Dec 2019 12:20:26 +0100
Message-Id: <20191219112026.28017-2-santiago.pagani@neclab.eu>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20191219112026.28017-1-santiago.pagani@neclab.eu>
References: <20191219112026.28017-1-santiago.pagani@neclab.eu>
Subject: [Minios-devel] [UNIKRAFT/NEWLIB PATCH 1/1] Add patch to have newlib
 running on ARM64
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Simon Kuenzer <simon.kuenzer@neclab.eu>,
 Santiago Pagani <santiagopagani@gmail.com>,
 Costin Lupu <costin.lupu@cs.pub.ro>,
 Santiago Pagani <santiago.pagani@neclab.eu>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

QXQgdGhlIG1vbWVudCBuZXdsaWIgY2FuIGNvbXBpbGUgZm9yIEFSTTY0LCBidXQgaXQgZmFpbHMg
YXQgcnVudGltZS4KVGhpcyBwYXRjaCBjaGFuZ2VzIHNvbWUgZ2VuZXJpYyBuZXdsaWIgZmlsZXMg
Zm9yIHRoZSBtYWNoaW5lIHNwZWNpZmljCm5ld2xpYiBmaWxlcyBmb3IgQVJNNjQgd2hlbiB1c2lu
ZyBBUk02NC4KClNpZ25lZC1vZmYtYnk6IFNhbnRpYWdvIFBhZ2FuaSA8c2FudGlhZ29wYWdhbmlA
Z21haWwuY29tPgotLS0KIE1ha2VmaWxlLnVrIHwgMzcgKysrKysrKysrKysrKysrKysrKysrKysr
LS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDI0IGluc2VydGlvbnMoKyksIDEzIGRlbGV0
aW9ucygtKQoKZGlmZiAtLWdpdCBhL01ha2VmaWxlLnVrIGIvTWFrZWZpbGUudWsKaW5kZXggMTdk
OGQ3YS4uODgyOGViYiAxMDA2NDQKLS0tIGEvTWFrZWZpbGUudWsKKysrIGIvTWFrZWZpbGUudWsK
QEAgLTEwNiwxMCArMTA2LDEyIEBAIExJQk5FV0xJQl9TVVBQUkVTU19GTEFHUy0kKGNhbGwgZ2Nj
X3ZlcnNpb25fZ2UsNiwwKSArPSAtV25vLW1pc2xlYWRpbmctaW5kZW50YXRpCiBMSUJORVdMSUJf
U1VQUFJFU1NfRkxBR1MtJChjYWxsIGdjY192ZXJzaW9uX2dlLDYsMCkgKz0gLVduby1zaGlmdC1u
ZWdhdGl2ZS12YWx1ZQogTElCTkVXTElCX1NVUFBSRVNTX0ZMQUdTLSQoY2FsbCBnY2NfdmVyc2lv
bl9nZSw3LDApICs9IC1Xbm8taW1wbGljaXQtZmFsbHRocm91Z2gKIAotTElCTkVXTElCQ19DRkxB
R1MteSAgICs9ICQoTElCTkVXTElCX1NVUFBSRVNTX0ZMQUdTLXkpCi1MSUJORVdMSUJNX0NGTEFH
Uy15ICAgKz0gJChMSUJORVdMSUJfU1VQUFJFU1NfRkxBR1MteSkKLUxJQk5FV0xJQkNfQ1hYRkxB
R1MteSArPSAkKExJQk5FV0xJQl9TVVBQUkVTU19GTEFHUy15KQotTElCTkVXTElCTV9DWFhGTEFH
Uy15ICs9ICQoTElCTkVXTElCX1NVUFBSRVNTX0ZMQUdTLXkpCitMSUJORVdMSUJfTk9fQlVJTFRJ
TlMJCSs9IC1EX19OT19TWVNDQUxMU19fIC1mbm8tYnVpbHRpbgorCitMSUJORVdMSUJDX0NGTEFH
Uy15ICAgKz0gJChMSUJORVdMSUJfU1VQUFJFU1NfRkxBR1MteSkgJChMSUJORVdMSUJfTk9fQlVJ
TFRJTlMpCitMSUJORVdMSUJNX0NGTEFHUy15ICAgKz0gJChMSUJORVdMSUJfU1VQUFJFU1NfRkxB
R1MteSkgJChMSUJORVdMSUJfTk9fQlVJTFRJTlMpCitMSUJORVdMSUJDX0NYWEZMQUdTLXkgKz0g
JChMSUJORVdMSUJfU1VQUFJFU1NfRkxBR1MteSkgJChMSUJORVdMSUJfTk9fQlVJTFRJTlMpCitM
SUJORVdMSUJNX0NYWEZMQUdTLXkgKz0gJChMSUJORVdMSUJfU1VQUFJFU1NfRkxBR1MteSkgJChM
SUJORVdMSUJfTk9fQlVJTFRJTlMpCiAKIExJQk5FV0xJQkdMVUVfU1VQUFJFU1NfRkxBR1MteSAr
PSAtV25vLXVudXNlZC1wYXJhbWV0ZXIKIExJQk5FV0xJQkdMVUVfQ0ZMQUdTLXkgICArPSAkKExJ
Qk5FV0xJQkdMVUVfU1VQUFJFU1NfRkxBR1MteSkKQEAgLTczMSwxMCArNzMzLDEzIEBAIExJQk5F
V0xJQkNfU1JDUy15ICs9ICQoTElCTkVXTElCX0xJQkMpL3N0cmluZy9tZW1tZW0uYwogTElCTkVX
TElCQ19TUkNTLXkgKz0gJChMSUJORVdMSUJfTElCQykvc3RyaW5nL3JpbmRleC5jCiBMSUJORVdM
SUJDX1NSQ1MteSArPSAkKExJQk5FV0xJQl9MSUJDKS9zdHJpbmcvc3RyY2FzZWNtcC5jCiBMSUJO
RVdMSUJDX1NSQ1MteSArPSAkKExJQk5FV0xJQl9MSUJDKS9zdHJpbmcvc3RyY2F0LmMKLUxJQk5F
V0xJQkNfU1JDUy15ICs9ICQoTElCTkVXTElCX0xJQkMpL3N0cmluZy9zdHJjaHIuYwotTElCTkVX
TElCQ19TUkNTLXkgKz0gJChMSUJORVdMSUJfTElCQykvc3RyaW5nL3N0cmNtcC5jCitMSUJORVdM
SUJDX1NSQ1MtJChDT05GSUdfQVJDSF9YODZfNjQpICs9ICQoTElCTkVXTElCX0xJQkMpL3N0cmlu
Zy9zdHJjaHIuYworTElCTkVXTElCQ19TUkNTLSQoQ09ORklHX0FSQ0hfQVJNXzY0KSArPSAkKExJ
Qk5FV0xJQl9MSUJDKS9tYWNoaW5lL2FhcmNoNjQvc3RyY2hyLlMKK0xJQk5FV0xJQkNfU1JDUy0k
KENPTkZJR19BUkNIX1g4Nl82NCkgKz0gJChMSUJORVdMSUJfTElCQykvc3RyaW5nL3N0cmNtcC5j
CitMSUJORVdMSUJDX1NSQ1MtJChDT05GSUdfQVJDSF9BUk1fNjQpICs9ICQoTElCTkVXTElCX0xJ
QkMpL21hY2hpbmUvYWFyY2g2NC9zdHJjbXAuUwogTElCTkVXTElCQ19TUkNTLXkgKz0gJChMSUJO
RVdMSUJfTElCQykvc3RyaW5nL3N0cmNvbGwuYwotTElCTkVXTElCQ19TUkNTLXkgKz0gJChMSUJO
RVdMSUJfTElCQykvc3RyaW5nL3N0cmNweS5jCitMSUJORVdMSUJDX1NSQ1MtJChDT05GSUdfQVJD
SF9YODZfNjQpICs9ICQoTElCTkVXTElCX0xJQkMpL3N0cmluZy9zdHJjcHkuYworTElCTkVXTElC
Q19TUkNTLSQoQ09ORklHX0FSQ0hfQVJNXzY0KSArPSAkKExJQk5FV0xJQl9MSUJDKS9tYWNoaW5l
L2FhcmNoNjQvc3RyY3B5LlMKIExJQk5FV0xJQkNfU1JDUy15ICs9ICQoTElCTkVXTElCX0xJQkMp
L3N0cmluZy9zdHJjc3BuLmMKIExJQk5FV0xJQkNfU1JDUy15ICs9ICQoTElCTkVXTElCX0xJQkMp
L3N0cmluZy9zdHJkdXAuYwogTElCTkVXTElCQ19TUkNTLXkgKz0gJChMSUJORVdMSUJfTElCQykv
c3RyaW5nL3N0cmR1cF9yLmMKQEAgLTc0MiwxNyArNzQ3LDIxIEBAIExJQk5FV0xJQkNfU1JDUy15
ICs9ICQoTElCTkVXTElCX0xJQkMpL3N0cmluZy9zdHJlcnJvci5jCiBMSUJORVdMSUJDX1NSQ1Mt
eSArPSAkKExJQk5FV0xJQl9MSUJDKS9zdHJpbmcvc3RyZXJyb3Jfci5jCiBMSUJORVdMSUJDX1NS
Q1MteSArPSAkKExJQk5FV0xJQl9MSUJDKS9zdHJpbmcvc3RybGNhdC5jCiBMSUJORVdMSUJDX1NS
Q1MteSArPSAkKExJQk5FV0xJQl9MSUJDKS9zdHJpbmcvc3RybGNweS5jCi1MSUJORVdMSUJDX1NS
Q1MteSArPSAkKExJQk5FV0xJQl9MSUJDKS9zdHJpbmcvc3RybGVuLmMKK0xJQk5FV0xJQkNfU1JD
Uy0kKENPTkZJR19BUkNIX1g4Nl82NCkgKz0gJChMSUJORVdMSUJfTElCQykvc3RyaW5nL3N0cmxl
bi5jCitMSUJORVdMSUJDX1NSQ1MtJChDT05GSUdfQVJDSF9BUk1fNjQpICs9ICQoTElCTkVXTElC
X0xJQkMpL21hY2hpbmUvYWFyY2g2NC9zdHJsZW4uUwogTElCTkVXTElCQ19TUkNTLXkgKz0gJChM
SUJORVdMSUJfTElCQykvc3RyaW5nL3N0cmx3ci5jCiBMSUJORVdMSUJDX1NSQ1MteSArPSAkKExJ
Qk5FV0xJQl9MSUJDKS9zdHJpbmcvc3RybmNhc2VjbXAuYwogTElCTkVXTElCQ19TUkNTLXkgKz0g
JChMSUJORVdMSUJfTElCQykvc3RyaW5nL3N0cm5jYXNlY21wX2wuYwogTElCTkVXTElCQ19TUkNT
LXkgKz0gJChMSUJORVdMSUJfTElCQykvc3RyaW5nL3N0cm5jYXQuYwotTElCTkVXTElCQ19TUkNT
LXkgKz0gJChMSUJORVdMSUJfTElCQykvc3RyaW5nL3N0cm5jbXAuYworTElCTkVXTElCQ19TUkNT
LSQoQ09ORklHX0FSQ0hfWDg2XzY0KSArPSAkKExJQk5FV0xJQl9MSUJDKS9zdHJpbmcvc3RybmNt
cC5jCitMSUJORVdMSUJDX1NSQ1MtJChDT05GSUdfQVJDSF9BUk1fNjQpICs9ICQoTElCTkVXTElC
X0xJQkMpL21hY2hpbmUvYWFyY2g2NC9zdHJuY21wLlMKIExJQk5FV0xJQkNfU1JDUy15ICs9ICQo
TElCTkVXTElCX0xJQkMpL3N0cmluZy9zdHJuY3B5LmMKLUxJQk5FV0xJQkNfU1JDUy15ICs9ICQo
TElCTkVXTElCX0xJQkMpL3N0cmluZy9zdHJubGVuLmMKK0xJQk5FV0xJQkNfU1JDUy0kKENPTkZJ
R19BUkNIX1g4Nl82NCkgKz0gJChMSUJORVdMSUJfTElCQykvc3RyaW5nL3N0cm5sZW4uYworTElC
TkVXTElCQ19TUkNTLSQoQ09ORklHX0FSQ0hfQVJNXzY0KSArPSAkKExJQk5FV0xJQl9MSUJDKS9t
YWNoaW5lL2FhcmNoNjQvc3Rybmxlbi5TCiBMSUJORVdMSUJDX1NSQ1MteSArPSAkKExJQk5FV0xJ
Ql9MSUJDKS9zdHJpbmcvc3RybnN0ci5jCiBMSUJORVdMSUJDX1NSQ1MteSArPSAkKExJQk5FV0xJ
Ql9MSUJDKS9zdHJpbmcvc3RycGJyay5jCi1MSUJORVdMSUJDX1NSQ1MteSArPSAkKExJQk5FV0xJ
Ql9MSUJDKS9zdHJpbmcvc3RycmNoci5jCitMSUJORVdMSUJDX1NSQ1MtJChDT05GSUdfQVJDSF9Y
ODZfNjQpICs9ICQoTElCTkVXTElCX0xJQkMpL3N0cmluZy9zdHJyY2hyLmMKK0xJQk5FV0xJQkNf
U1JDUy0kKENPTkZJR19BUkNIX0FSTV82NCkgKz0gJChMSUJORVdMSUJfTElCQykvbWFjaGluZS9h
YXJjaDY0L3N0cnJjaHIuUwogTElCTkVXTElCQ19TUkNTLXkgKz0gJChMSUJORVdMSUJfTElCQykv
c3RyaW5nL3N0cnNlcC5jCiBMSUJORVdMSUJDX1NSQ1MteSArPSAkKExJQk5FV0xJQl9MSUJDKS9z
dHJpbmcvc3Ryc2lnbmFsLmMKIExJQk5FV0xJQkNfU1JDUy15ICs9ICQoTElCTkVXTElCX0xJQkMp
L3N0cmluZy9zdHJzcG4uYwpAQCAtNzk1LDExICs4MDQsMTMgQEAgTElCTkVXTElCQ19TUkNTLXkg
Kz0gJChMSUJORVdMSUJfTElCQykvc3RyaW5nL3hwZ19zdHJlcnJvcl9yLmMKIExJQk5FV0xJQkNf
U1JDUy15ICs9ICQoTElCTkVXTElCX0xJQkMpL3N0cmluZy9iY21wLmMKIExJQk5FV0xJQkNfU1JD
Uy15ICs9ICQoTElCTkVXTElCX0xJQkMpL3N0cmluZy9tZW1jY3B5LmMKIExJQk5FV0xJQkNfU1JD
Uy15ICs9ICQoTElCTkVXTElCX0xJQkMpL3N0cmluZy9tZW1wY3B5LmMKLUxJQk5FV0xJQkNfU1JD
Uy15ICs9ICQoTElCTkVXTElCX0xJQkMpL3N0cmluZy9zdHBjcHkuYworTElCTkVXTElCQ19TUkNT
LSQoQ09ORklHX0FSQ0hfWDg2XzY0KSArPSAkKExJQk5FV0xJQl9MSUJDKS9zdHJpbmcvc3RwY3B5
LmMKK0xJQk5FV0xJQkNfU1JDUy0kKENPTkZJR19BUkNIX0FSTV82NCkgKz0gJChMSUJORVdMSUJf
TElCQykvbWFjaGluZS9hYXJjaDY0L3N0cGNweS5TCiBMSUJORVdMSUJDX1NSQ1MteSArPSAkKExJ
Qk5FV0xJQl9MSUJDKS9zdHJpbmcvc3RwbmNweS5jCiBMSUJORVdMSUJDX1NSQ1MteSArPSAkKExJ
Qk5FV0xJQl9MSUJDKS9zdHJpbmcvc3RybmR1cC5jCiBMSUJORVdMSUJDX1NSQ1MteSArPSAkKExJ
Qk5FV0xJQl9MSUJDKS9zdHJpbmcvc3RyY2FzZXN0ci5jCi1MSUJORVdMSUJDX1NSQ1MteSArPSAk
KExJQk5FV0xJQl9MSUJDKS9zdHJpbmcvc3RyY2hybnVsLmMKK0xJQk5FV0xJQkNfU1JDUy0kKENP
TkZJR19BUkNIX1g4Nl82NCkgKz0gJChMSUJORVdMSUJfTElCQykvc3RyaW5nL3N0cmNocm51bC5j
CitMSUJORVdMSUJDX1NSQ1MtJChDT05GSUdfQVJDSF9BUk1fNjQpICs9ICQoTElCTkVXTElCX0xJ
QkMpL21hY2hpbmUvYWFyY2g2NC9zdHJjaHJudWwuUwogTElCTkVXTElCQ19TUkNTLXkgKz0gJChM
SUJORVdMSUJfTElCQykvc3RyaW5nL3N0cm5kdXBfci5jCiBMSUJORVdMSUJDX1NSQ1MteSArPSAk
KExJQk5FV0xJQl9MSUJDKS9zdHJpbmcvd2NwY3B5LmMKIExJQk5FV0xJQkNfU1JDUy15ICs9ICQo
TElCTkVXTElCX0xJQkMpL3N0cmluZy93Y3BuY3B5LmMKLS0gCjIuMTcuMQoKCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5n
IGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVu
cHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Thu Dec 19 11:19:35 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 19 Dec 2019 11:19:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ihtqB-00054v-Cx; Thu, 19 Dec 2019 11:19:35 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=xHCk=2J=neclab.eu=santiago.pagani@srs-us1.protection.inumbo.net>)
 id 1ihtqA-00054f-2S
 for minios-devel@lists.xen.org; Thu, 19 Dec 2019 11:19:34 +0000
X-Inumbo-ID: 69201d22-2251-11ea-88e7-bc764e2007e4
Received: from queen.nlehd.de (unknown [195.37.154.80])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id 69201d22-2251-11ea-88e7-bc764e2007e4;
 Thu, 19 Dec 2019 11:19:24 +0000 (UTC)
Received: from localhost (c133.ant-net [192.168.0.7])
 by queen.nlehd.de (Postfix) with ESMTP id 79A3840627;
 Thu, 19 Dec 2019 12:19:23 +0100 (CET)
From: Santiago Pagani <santiago.pagani@neclab.eu>
To: minios-devel@lists.xen.org
Date: Thu, 19 Dec 2019 12:20:25 +0100
Message-Id: <20191219112026.28017-1-santiago.pagani@neclab.eu>
X-Mailer: git-send-email 2.17.1
Subject: [Minios-devel] [UNIKRAFT/NEWLIB PATCH 0/1] Add patch to have newlib
 running on ARM64
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Simon Kuenzer <simon.kuenzer@neclab.eu>,
 Costin Lupu <costin.lupu@cs.pub.ro>,
 Santiago Pagani <santiago.pagani@neclab.eu>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

QXQgdGhlIG1vbWVudCBuZXdsaWIgY2FuIGNvbXBpbGUgZm9yIEFSTTY0LCBidXQgaXQgZmFpbHMg
YXQgcnVudGltZS4KVGhpcyBwYXRjaCBjaGFuZ2VzIHNvbWUgZ2VuZXJpYyBuZXdsaWIgZmlsZXMg
Zm9yIHRoZSBtYWNoaW5lIHNwZWNpZmljCm5ld2xpYiBmaWxlcyBmb3IgQVJNNjQgd2hlbiB1c2lu
ZyBBUk02NC4KClNhbnRpYWdvIFBhZ2FuaSAoMSk6CiAgQWRkIHBhdGNoIHRvIGhhdmUgbmV3bGli
IHJ1bm5pbmcgb24gQVJNNjQKCiBNYWtlZmlsZS51ayB8IDM3ICsrKysrKysrKysrKysrKysrKysr
KysrKy0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAyNCBpbnNlcnRpb25zKCspLCAxMyBk
ZWxldGlvbnMoLSkKCi0tIAoyLjE3LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBs
aXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4v
bGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Thu Dec 19 11:23:47 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 19 Dec 2019 11:23:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ihtuE-0005vz-W9; Thu, 19 Dec 2019 11:23:46 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=yrdy=2J=gmail.com=julien.grall.oss@srs-us1.protection.inumbo.net>)
 id 1ihtuD-0005vs-Iw
 for minios-devel@lists.xen.org; Thu, 19 Dec 2019 11:23:45 +0000
X-Inumbo-ID: ff95911a-2251-11ea-b6f1-bc764e2007e4
Received: from mail-ed1-f67.google.com (unknown [209.85.208.67])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id ff95911a-2251-11ea-b6f1-bc764e2007e4;
 Thu, 19 Dec 2019 11:23:36 +0000 (UTC)
Received: by mail-ed1-f67.google.com with SMTP id e10so4502192edv.9
 for <minios-devel@lists.xen.org>; Thu, 19 Dec 2019 03:23:36 -0800 (PST)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:subject:to:cc:references:from:message-id:date
 :user-agent:mime-version:in-reply-to:content-language
 :content-transfer-encoding;
 bh=9FOuFaqYMKGqYYqIS7oS4bIc2aN8gkKqrgqgVbufKyI=;
 b=Z4wjta/wQFbzGPM1mg04AM0AK+HIAotJewBP8agDPMHWP+FFZiqZGclImql5RBEHc3
 /Dpwa4V3srZsFDB8rALBcDPnOVXMnLAsxZH1mLqTqmej2b5pC6AaWLA/wJcrsl1reSLf
 fPkCOUO+S8Lvy6j6btyddwYZHhN41I/ZibfcyL8SYoCrMjtrxZMIS6MIvPdAamwWghAg
 trE50jhZtqlGCtINT6CS32zvZwZygrwmS2L0q9OzNq1uGNp1aML5gvo039+AVcGB60+r
 REyGpX8vNowfS8kYj1A67QghN7Llx5Tbt2F0uVwimFmpPTVTEdWVqIgi6X9Tz7sfWu6c
 6mag==
X-Gm-Message-State: APjAAAWkFxt2mG564aPImj5uxdyA8mVB5TvjjJK5rTRd/7dYE1QRPqbY
 EG/yTkexp4i9MtSnQsS/IBE=
X-Google-Smtp-Source: APXvYqzVTpWRqrXILhKK1DrxH4zvlLoYoUvkPwY22tSU8DXMQ5PsWicYnmCzAd6CQy8fsUn+5mkG9Q==
X-Received: by 2002:a17:906:c28b:: with SMTP id
 r11mr8765951ejz.291.1576754615980; 
 Thu, 19 Dec 2019 03:23:35 -0800 (PST)
Received: from a483e7b01a66.ant.amazon.com (54-240-197-238.amazon.com.
 [54.240.197.238])
 by smtp.gmail.com with ESMTPSA id o3sm408925ejb.43.2019.12.19.03.23.35
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 19 Dec 2019 03:23:35 -0800 (PST)
To: Santiago Pagani <santiago.pagani@neclab.eu>, minios-devel@lists.xen.org
References: <20191219112026.28017-1-santiago.pagani@neclab.eu>
 <20191219112026.28017-2-santiago.pagani@neclab.eu>
From: Julien Grall <julien@xen.org>
Message-ID: <43bc5ead-4beb-8fb2-c221-4af5cc00d5c2@xen.org>
Date: Thu, 19 Dec 2019 11:23:34 +0000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:68.0)
 Gecko/20100101 Thunderbird/68.3.0
MIME-Version: 1.0
In-Reply-To: <20191219112026.28017-2-santiago.pagani@neclab.eu>
Content-Language: en-GB
Subject: Re: [Minios-devel] [UNIKRAFT/NEWLIB PATCH 1/1] Add patch to have
 newlib running on ARM64
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Simon Kuenzer <simon.kuenzer@neclab.eu>,
 Santiago Pagani <santiagopagani@gmail.com>,
 Costin Lupu <costin.lupu@cs.pub.ro>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGksCgpPbiAxOS8xMi8yMDE5IDExOjIwLCBTYW50aWFnbyBQYWdhbmkgd3JvdGU6Cj4gQXQgdGhl
IG1vbWVudCBuZXdsaWIgY2FuIGNvbXBpbGUgZm9yIEFSTTY0LCBidXQgaXQgZmFpbHMgYXQgcnVu
dGltZS4KPiBUaGlzIHBhdGNoIGNoYW5nZXMgc29tZSBnZW5lcmljIG5ld2xpYiBmaWxlcyBmb3Ig
dGhlIG1hY2hpbmUgc3BlY2lmaWMKPiBuZXdsaWIgZmlsZXMgZm9yIEFSTTY0IHdoZW4gdXNpbmcg
QVJNNjQuCgpUaGlzIGNvbW1pdCBkb2VzIG5vdCBleHBsYWluIHdoYXQgc29ydCBvZiBwcm9ibGVt
IGlzIGVuY291bnRlcmVkIGFuZCB3aHkgCnVzaW5nIG1hY2hpbmUgc3BlY2lmaWMgd2lsbCBzb2x2
ZSBpdC4KClRlY2huaWNhbGx5IGdlbmVyaWMgY29kZSBzaG91bGQgd29yayBmb3IgYWxsIHRoZSBh
cmNoaXRlY3R1cmVzIGJ1dCBtYXkgCm5vdCBiZSBlZmZpY2llbnQuIFNvIHdoYXQgaXMgdGhlIGV4
YWN0IHByb2JsZW0gaGVyZT8KCkNoZWVycywKCj4gCj4gU2lnbmVkLW9mZi1ieTogU2FudGlhZ28g
UGFnYW5pIDxzYW50aWFnb3BhZ2FuaUBnbWFpbC5jb20+Cj4gLS0tCj4gICBNYWtlZmlsZS51ayB8
IDM3ICsrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0KPiAgIDEgZmlsZSBjaGFu
Z2VkLCAyNCBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEv
TWFrZWZpbGUudWsgYi9NYWtlZmlsZS51awo+IGluZGV4IDE3ZDhkN2EuLjg4MjhlYmIgMTAwNjQ0
Cj4gLS0tIGEvTWFrZWZpbGUudWsKPiArKysgYi9NYWtlZmlsZS51awo+IEBAIC0xMDYsMTAgKzEw
NiwxMiBAQCBMSUJORVdMSUJfU1VQUFJFU1NfRkxBR1MtJChjYWxsIGdjY192ZXJzaW9uX2dlLDYs
MCkgKz0gLVduby1taXNsZWFkaW5nLWluZGVudGF0aQo+ICAgTElCTkVXTElCX1NVUFBSRVNTX0ZM
QUdTLSQoY2FsbCBnY2NfdmVyc2lvbl9nZSw2LDApICs9IC1Xbm8tc2hpZnQtbmVnYXRpdmUtdmFs
dWUKPiAgIExJQk5FV0xJQl9TVVBQUkVTU19GTEFHUy0kKGNhbGwgZ2NjX3ZlcnNpb25fZ2UsNyww
KSArPSAtV25vLWltcGxpY2l0LWZhbGx0aHJvdWdoCj4gICAKPiAtTElCTkVXTElCQ19DRkxBR1Mt
eSAgICs9ICQoTElCTkVXTElCX1NVUFBSRVNTX0ZMQUdTLXkpCj4gLUxJQk5FV0xJQk1fQ0ZMQUdT
LXkgICArPSAkKExJQk5FV0xJQl9TVVBQUkVTU19GTEFHUy15KQo+IC1MSUJORVdMSUJDX0NYWEZM
QUdTLXkgKz0gJChMSUJORVdMSUJfU1VQUFJFU1NfRkxBR1MteSkKPiAtTElCTkVXTElCTV9DWFhG
TEFHUy15ICs9ICQoTElCTkVXTElCX1NVUFBSRVNTX0ZMQUdTLXkpCj4gK0xJQk5FV0xJQl9OT19C
VUlMVElOUwkJKz0gLURfX05PX1NZU0NBTExTX18gLWZuby1idWlsdGluCj4gKwo+ICtMSUJORVdM
SUJDX0NGTEFHUy15ICAgKz0gJChMSUJORVdMSUJfU1VQUFJFU1NfRkxBR1MteSkgJChMSUJORVdM
SUJfTk9fQlVJTFRJTlMpCj4gK0xJQk5FV0xJQk1fQ0ZMQUdTLXkgICArPSAkKExJQk5FV0xJQl9T
VVBQUkVTU19GTEFHUy15KSAkKExJQk5FV0xJQl9OT19CVUlMVElOUykKPiArTElCTkVXTElCQ19D
WFhGTEFHUy15ICs9ICQoTElCTkVXTElCX1NVUFBSRVNTX0ZMQUdTLXkpICQoTElCTkVXTElCX05P
X0JVSUxUSU5TKQo+ICtMSUJORVdMSUJNX0NYWEZMQUdTLXkgKz0gJChMSUJORVdMSUJfU1VQUFJF
U1NfRkxBR1MteSkgJChMSUJORVdMSUJfTk9fQlVJTFRJTlMpCj4gICAKPiAgIExJQk5FV0xJQkdM
VUVfU1VQUFJFU1NfRkxBR1MteSArPSAtV25vLXVudXNlZC1wYXJhbWV0ZXIKPiAgIExJQk5FV0xJ
QkdMVUVfQ0ZMQUdTLXkgICArPSAkKExJQk5FV0xJQkdMVUVfU1VQUFJFU1NfRkxBR1MteSkKPiBA
QCAtNzMxLDEwICs3MzMsMTMgQEAgTElCTkVXTElCQ19TUkNTLXkgKz0gJChMSUJORVdMSUJfTElC
Qykvc3RyaW5nL21lbW1lbS5jCj4gICBMSUJORVdMSUJDX1NSQ1MteSArPSAkKExJQk5FV0xJQl9M
SUJDKS9zdHJpbmcvcmluZGV4LmMKPiAgIExJQk5FV0xJQkNfU1JDUy15ICs9ICQoTElCTkVXTElC
X0xJQkMpL3N0cmluZy9zdHJjYXNlY21wLmMKPiAgIExJQk5FV0xJQkNfU1JDUy15ICs9ICQoTElC
TkVXTElCX0xJQkMpL3N0cmluZy9zdHJjYXQuYwo+IC1MSUJORVdMSUJDX1NSQ1MteSArPSAkKExJ
Qk5FV0xJQl9MSUJDKS9zdHJpbmcvc3RyY2hyLmMKPiAtTElCTkVXTElCQ19TUkNTLXkgKz0gJChM
SUJORVdMSUJfTElCQykvc3RyaW5nL3N0cmNtcC5jCj4gK0xJQk5FV0xJQkNfU1JDUy0kKENPTkZJ
R19BUkNIX1g4Nl82NCkgKz0gJChMSUJORVdMSUJfTElCQykvc3RyaW5nL3N0cmNoci5jCj4gK0xJ
Qk5FV0xJQkNfU1JDUy0kKENPTkZJR19BUkNIX0FSTV82NCkgKz0gJChMSUJORVdMSUJfTElCQykv
bWFjaGluZS9hYXJjaDY0L3N0cmNoci5TCj4gK0xJQk5FV0xJQkNfU1JDUy0kKENPTkZJR19BUkNI
X1g4Nl82NCkgKz0gJChMSUJORVdMSUJfTElCQykvc3RyaW5nL3N0cmNtcC5jCj4gK0xJQk5FV0xJ
QkNfU1JDUy0kKENPTkZJR19BUkNIX0FSTV82NCkgKz0gJChMSUJORVdMSUJfTElCQykvbWFjaGlu
ZS9hYXJjaDY0L3N0cmNtcC5TCj4gICBMSUJORVdMSUJDX1NSQ1MteSArPSAkKExJQk5FV0xJQl9M
SUJDKS9zdHJpbmcvc3RyY29sbC5jCj4gLUxJQk5FV0xJQkNfU1JDUy15ICs9ICQoTElCTkVXTElC
X0xJQkMpL3N0cmluZy9zdHJjcHkuYwo+ICtMSUJORVdMSUJDX1NSQ1MtJChDT05GSUdfQVJDSF9Y
ODZfNjQpICs9ICQoTElCTkVXTElCX0xJQkMpL3N0cmluZy9zdHJjcHkuYwo+ICtMSUJORVdMSUJD
X1NSQ1MtJChDT05GSUdfQVJDSF9BUk1fNjQpICs9ICQoTElCTkVXTElCX0xJQkMpL21hY2hpbmUv
YWFyY2g2NC9zdHJjcHkuUwo+ICAgTElCTkVXTElCQ19TUkNTLXkgKz0gJChMSUJORVdMSUJfTElC
Qykvc3RyaW5nL3N0cmNzcG4uYwo+ICAgTElCTkVXTElCQ19TUkNTLXkgKz0gJChMSUJORVdMSUJf
TElCQykvc3RyaW5nL3N0cmR1cC5jCj4gICBMSUJORVdMSUJDX1NSQ1MteSArPSAkKExJQk5FV0xJ
Ql9MSUJDKS9zdHJpbmcvc3RyZHVwX3IuYwo+IEBAIC03NDIsMTcgKzc0NywyMSBAQCBMSUJORVdM
SUJDX1NSQ1MteSArPSAkKExJQk5FV0xJQl9MSUJDKS9zdHJpbmcvc3RyZXJyb3IuYwo+ICAgTElC
TkVXTElCQ19TUkNTLXkgKz0gJChMSUJORVdMSUJfTElCQykvc3RyaW5nL3N0cmVycm9yX3IuYwo+
ICAgTElCTkVXTElCQ19TUkNTLXkgKz0gJChMSUJORVdMSUJfTElCQykvc3RyaW5nL3N0cmxjYXQu
Ywo+ICAgTElCTkVXTElCQ19TUkNTLXkgKz0gJChMSUJORVdMSUJfTElCQykvc3RyaW5nL3N0cmxj
cHkuYwo+IC1MSUJORVdMSUJDX1NSQ1MteSArPSAkKExJQk5FV0xJQl9MSUJDKS9zdHJpbmcvc3Ry
bGVuLmMKPiArTElCTkVXTElCQ19TUkNTLSQoQ09ORklHX0FSQ0hfWDg2XzY0KSArPSAkKExJQk5F
V0xJQl9MSUJDKS9zdHJpbmcvc3RybGVuLmMKPiArTElCTkVXTElCQ19TUkNTLSQoQ09ORklHX0FS
Q0hfQVJNXzY0KSArPSAkKExJQk5FV0xJQl9MSUJDKS9tYWNoaW5lL2FhcmNoNjQvc3RybGVuLlMK
PiAgIExJQk5FV0xJQkNfU1JDUy15ICs9ICQoTElCTkVXTElCX0xJQkMpL3N0cmluZy9zdHJsd3Iu
Ywo+ICAgTElCTkVXTElCQ19TUkNTLXkgKz0gJChMSUJORVdMSUJfTElCQykvc3RyaW5nL3N0cm5j
YXNlY21wLmMKPiAgIExJQk5FV0xJQkNfU1JDUy15ICs9ICQoTElCTkVXTElCX0xJQkMpL3N0cmlu
Zy9zdHJuY2FzZWNtcF9sLmMKPiAgIExJQk5FV0xJQkNfU1JDUy15ICs9ICQoTElCTkVXTElCX0xJ
QkMpL3N0cmluZy9zdHJuY2F0LmMKPiAtTElCTkVXTElCQ19TUkNTLXkgKz0gJChMSUJORVdMSUJf
TElCQykvc3RyaW5nL3N0cm5jbXAuYwo+ICtMSUJORVdMSUJDX1NSQ1MtJChDT05GSUdfQVJDSF9Y
ODZfNjQpICs9ICQoTElCTkVXTElCX0xJQkMpL3N0cmluZy9zdHJuY21wLmMKPiArTElCTkVXTElC
Q19TUkNTLSQoQ09ORklHX0FSQ0hfQVJNXzY0KSArPSAkKExJQk5FV0xJQl9MSUJDKS9tYWNoaW5l
L2FhcmNoNjQvc3RybmNtcC5TCj4gICBMSUJORVdMSUJDX1NSQ1MteSArPSAkKExJQk5FV0xJQl9M
SUJDKS9zdHJpbmcvc3RybmNweS5jCj4gLUxJQk5FV0xJQkNfU1JDUy15ICs9ICQoTElCTkVXTElC
X0xJQkMpL3N0cmluZy9zdHJubGVuLmMKPiArTElCTkVXTElCQ19TUkNTLSQoQ09ORklHX0FSQ0hf
WDg2XzY0KSArPSAkKExJQk5FV0xJQl9MSUJDKS9zdHJpbmcvc3Rybmxlbi5jCj4gK0xJQk5FV0xJ
QkNfU1JDUy0kKENPTkZJR19BUkNIX0FSTV82NCkgKz0gJChMSUJORVdMSUJfTElCQykvbWFjaGlu
ZS9hYXJjaDY0L3N0cm5sZW4uUwo+ICAgTElCTkVXTElCQ19TUkNTLXkgKz0gJChMSUJORVdMSUJf
TElCQykvc3RyaW5nL3N0cm5zdHIuYwo+ICAgTElCTkVXTElCQ19TUkNTLXkgKz0gJChMSUJORVdM
SUJfTElCQykvc3RyaW5nL3N0cnBicmsuYwo+IC1MSUJORVdMSUJDX1NSQ1MteSArPSAkKExJQk5F
V0xJQl9MSUJDKS9zdHJpbmcvc3RycmNoci5jCj4gK0xJQk5FV0xJQkNfU1JDUy0kKENPTkZJR19B
UkNIX1g4Nl82NCkgKz0gJChMSUJORVdMSUJfTElCQykvc3RyaW5nL3N0cnJjaHIuYwo+ICtMSUJO
RVdMSUJDX1NSQ1MtJChDT05GSUdfQVJDSF9BUk1fNjQpICs9ICQoTElCTkVXTElCX0xJQkMpL21h
Y2hpbmUvYWFyY2g2NC9zdHJyY2hyLlMKPiAgIExJQk5FV0xJQkNfU1JDUy15ICs9ICQoTElCTkVX
TElCX0xJQkMpL3N0cmluZy9zdHJzZXAuYwo+ICAgTElCTkVXTElCQ19TUkNTLXkgKz0gJChMSUJO
RVdMSUJfTElCQykvc3RyaW5nL3N0cnNpZ25hbC5jCj4gICBMSUJORVdMSUJDX1NSQ1MteSArPSAk
KExJQk5FV0xJQl9MSUJDKS9zdHJpbmcvc3Ryc3BuLmMKPiBAQCAtNzk1LDExICs4MDQsMTMgQEAg
TElCTkVXTElCQ19TUkNTLXkgKz0gJChMSUJORVdMSUJfTElCQykvc3RyaW5nL3hwZ19zdHJlcnJv
cl9yLmMKPiAgIExJQk5FV0xJQkNfU1JDUy15ICs9ICQoTElCTkVXTElCX0xJQkMpL3N0cmluZy9i
Y21wLmMKPiAgIExJQk5FV0xJQkNfU1JDUy15ICs9ICQoTElCTkVXTElCX0xJQkMpL3N0cmluZy9t
ZW1jY3B5LmMKPiAgIExJQk5FV0xJQkNfU1JDUy15ICs9ICQoTElCTkVXTElCX0xJQkMpL3N0cmlu
Zy9tZW1wY3B5LmMKPiAtTElCTkVXTElCQ19TUkNTLXkgKz0gJChMSUJORVdMSUJfTElCQykvc3Ry
aW5nL3N0cGNweS5jCj4gK0xJQk5FV0xJQkNfU1JDUy0kKENPTkZJR19BUkNIX1g4Nl82NCkgKz0g
JChMSUJORVdMSUJfTElCQykvc3RyaW5nL3N0cGNweS5jCj4gK0xJQk5FV0xJQkNfU1JDUy0kKENP
TkZJR19BUkNIX0FSTV82NCkgKz0gJChMSUJORVdMSUJfTElCQykvbWFjaGluZS9hYXJjaDY0L3N0
cGNweS5TCj4gICBMSUJORVdMSUJDX1NSQ1MteSArPSAkKExJQk5FV0xJQl9MSUJDKS9zdHJpbmcv
c3RwbmNweS5jCj4gICBMSUJORVdMSUJDX1NSQ1MteSArPSAkKExJQk5FV0xJQl9MSUJDKS9zdHJp
bmcvc3RybmR1cC5jCj4gICBMSUJORVdMSUJDX1NSQ1MteSArPSAkKExJQk5FV0xJQl9MSUJDKS9z
dHJpbmcvc3RyY2FzZXN0ci5jCj4gLUxJQk5FV0xJQkNfU1JDUy15ICs9ICQoTElCTkVXTElCX0xJ
QkMpL3N0cmluZy9zdHJjaHJudWwuYwo+ICtMSUJORVdMSUJDX1NSQ1MtJChDT05GSUdfQVJDSF9Y
ODZfNjQpICs9ICQoTElCTkVXTElCX0xJQkMpL3N0cmluZy9zdHJjaHJudWwuYwo+ICtMSUJORVdM
SUJDX1NSQ1MtJChDT05GSUdfQVJDSF9BUk1fNjQpICs9ICQoTElCTkVXTElCX0xJQkMpL21hY2hp
bmUvYWFyY2g2NC9zdHJjaHJudWwuUwo+ICAgTElCTkVXTElCQ19TUkNTLXkgKz0gJChMSUJORVdM
SUJfTElCQykvc3RyaW5nL3N0cm5kdXBfci5jCj4gICBMSUJORVdMSUJDX1NSQ1MteSArPSAkKExJ
Qk5FV0xJQl9MSUJDKS9zdHJpbmcvd2NwY3B5LmMKPiAgIExJQk5FV0xJQkNfU1JDUy15ICs9ICQo
TElCTkVXTElCX0xJQkMpL3N0cmluZy93Y3BuY3B5LmMKPiAKCi0tIApKdWxpZW4gR3JhbGwKCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZl
bCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8v
bGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Thu Dec 19 11:36:24 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 19 Dec 2019 11:36:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ihu6S-00079x-EF; Thu, 19 Dec 2019 11:36:24 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=4R/5=2J=citrix.com=ian.jackson@srs-us1.protection.inumbo.net>)
 id 1ihu6Q-00079Z-FA
 for minios-devel@lists.xenproject.org; Thu, 19 Dec 2019 11:36:22 +0000
X-Inumbo-ID: c08deb96-2253-11ea-918a-12813bfff9fa
Received: from esa5.hc3370-68.iphmx.com (unknown [216.71.155.168])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id c08deb96-2253-11ea-918a-12813bfff9fa;
 Thu, 19 Dec 2019 11:36:10 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
 d=citrix.com; s=securemail; t=1576755370;
 h=from:mime-version:content-transfer-encoding:message-id:
 date:to:cc:subject:in-reply-to:references;
 bh=DSnjdcQ6zUvacmAXj7X7bgqjb4A7jKwTfIlZqQmCSV0=;
 b=IkRKBNYnjUU0rIWK2lbYff0JwB4Uypxs8wxK4mpl0LWtCOFD8FIhxmnJ
 PPfomJ8LWmrkMLMe5gj5AUDEEEt5OHFVEn5LloQG05X17zNPpI84MRQOK
 rcZIADVuXykocTuJw19aR5n1Q1jX8k/wJHuoznl25q9EY0PwTB4CXLxLK c=;
Authentication-Results: esa5.hc3370-68.iphmx.com;
 dkim=none (message not signed) header.i=none;
 spf=None smtp.pra=ian.jackson@citrix.com;
 spf=Pass smtp.mailfrom=Ian.Jackson@citrix.com;
 spf=None smtp.helo=postmaster@mail.citrix.com
Received-SPF: None (esa5.hc3370-68.iphmx.com: no sender
 authenticity information available from domain of
 ian.jackson@citrix.com) identity=pra;
 client-ip=162.221.158.21; receiver=esa5.hc3370-68.iphmx.com;
 envelope-from="Ian.Jackson@citrix.com";
 x-sender="ian.jackson@citrix.com"; x-conformance=sidf_compatible
Received-SPF: Pass (esa5.hc3370-68.iphmx.com: domain of
 Ian.Jackson@citrix.com designates 162.221.158.21 as permitted
 sender) identity=mailfrom; client-ip=162.221.158.21;
 receiver=esa5.hc3370-68.iphmx.com;
 envelope-from="Ian.Jackson@citrix.com";
 x-sender="Ian.Jackson@citrix.com";
 x-conformance=sidf_compatible; x-record-type="v=spf1";
 x-record-text="v=spf1 ip4:209.167.231.154 ip4:178.63.86.133
 ip4:195.66.111.40/30 ip4:85.115.9.32/28 ip4:199.102.83.4
 ip4:192.28.146.160 ip4:192.28.146.107 ip4:216.52.6.88
 ip4:216.52.6.188 ip4:162.221.158.21 ip4:162.221.156.83
 ip4:168.245.78.127 ~all"
Received-SPF: None (esa5.hc3370-68.iphmx.com: no sender
 authenticity information available from domain of
 postmaster@mail.citrix.com) identity=helo;
 client-ip=162.221.158.21; receiver=esa5.hc3370-68.iphmx.com;
 envelope-from="Ian.Jackson@citrix.com";
 x-sender="postmaster@mail.citrix.com";
 x-conformance=sidf_compatible
IronPort-SDR: LHCbfNOqcDM4esth/KHQuiGoMYuaXW7w+s7Z94mYK9JFe9cMYESw5vZfsk58+uRxHYnvUfYF1y
 TnpkSWuAok0UhTwsTzC+lcPWNVCxuttxXp0t7wlINavj2NGH8cgLSZ4JzQL0OSvXsjeUXQySDy
 +en7jPrtvARfaz0/wJxIic/Ci0cB6UGQM57uAJ6t38riGjsC87spwhMD/42A3L2qJ3IDrx0OJp
 DKb8F0/5uxzyFwqmZ+NU2K1jO5vHwAtqMqkVGeypYew+1/eRiHpZqPoiizCb/8rQ/tAsTDCs15
 0SY=
X-SBRS: 2.7
X-MesageID: 10293118
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
X-IronPort-AV: E=Sophos;i="5.69,331,1571716800"; d="scan'208";a="10293118"
From: Ian Jackson <ian.jackson@citrix.com>
MIME-Version: 1.0
Message-ID: <24059.24742.522746.897867@mariner.uk.xensource.com>
Date: Thu, 19 Dec 2019 11:36:06 +0000
To: Lars Kurth <lars.kurth.xen@gmail.com>
In-Reply-To: <3A37215A-9402-4611-B5EE-1CA4D1218F87@xenproject.org>
References: <cover.1576184325.git.lars.kurth@citrix.com>
 <98ab54c95a9541c918dfec529bcfc5867fd3ed33.1576184325.git.lars.kurth@citrix.com>
 <7a043307-f23f-c537-012b-393f59617c1c@xen.org>
 <0DE885E1-C4C3-447A-8408-88D43B9FE355@citrix.com>
 <1ed2d421-7dfe-1d92-5edc-7f11e8409ff7@suse.com>
 <3A37215A-9402-4611-B5EE-1CA4D1218F87@xenproject.org>
X-Mailer: VM 8.2.0b under 24.5.1 (i686-pc-linux-gnu)
Subject: Re: [Minios-devel] [PATCH v3 5/7] Add Code Review Guide
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Lars Kurth <lars.kurth@citrix.com>, Julien Grall <julien@xen.org>,
 "mirageos-devel@lists.xenproject.org"
 <mirageos-devel@lists.xenproject.org>,
 "xen-api@lists.xenproject.org" <xen-api@lists.xenproject.org>,
 "minios-devel@lists.xenproject.org" <minios-devel@lists.xenproject.org>,
 "committers@xenproject.org" <committers@xenproject.org>,
 'Jan Beulich' <jbeulich@suse.com>, xen-devel <xen-devel@lists.xenproject.org>,
 "win-pv-devel@lists.xenproject.org" <win-pv-devel@lists.xenproject.org>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

TGFycyBLdXJ0aCB3cml0ZXMgKCJSZTogW1BBVENIIHYzIDUvN10gQWRkIENvZGUgUmV2aWV3IEd1
aWRlIik6Cj4gSW4gYSBudXRzaGVsbCwgaW4gc3VjaCBhIHJldmlldyB0aGUgcG9zc2libGUgaW50
ZXJwcmV0YXRpb25zIGFyZQo+ICogSSByZXZpZXdlZCwgYnV0IGRpZG4ndCBmZWVsIHF1YWxpZmll
ZCB0byBkbyB0aGUgcmVzdAo+ICogSSByZXZpZXdlZCwgYnV0IGRpZCBub3QgZ2V0IHJvdW5kIHRv
IGdpdmUgaXQgZnVsbCBhdHRlbnRpb24KPiAqIEkgcmV2aWV3ZWQsIGJ1dCBiZWZvcmUgSSBtYWtl
IGEgZmluYWwgZGVjaXNpb24gd2FudCB0byBsb29rIGF0IHRoZSBuZXh0IHZlcnNpb24KPiAuLi4K
PiAqIEkgcmV2aWV3ZWQgYW5kIGRvbid0IG9iamVjdCB0aGUgcmVzdAo+ICogSSByZXZpZXdlZCBh
bmQgYWdyZWVkIHdpdGggdGhlIHJlc3QgCj4gVGhlIGxhdHRlciB0d28gYXJlIGVxdWl2YWxlbnQg
dG8gQWNrL1ItYgo+IAo+IFRoYXQgaXMgcXVpdGUgYSBsYXJnZSByYW5nZSBvZiBwb3NzaWJpbGl0
aWVzIGFuZCBraW5kIG9mIGxlYXZlcyB0aGUgYXV0aG9yIGd1ZXNzaW5nIHdoYXQgc3RhdGUgdGhl
IHJldmlldyBpcyBpbgoKVGhlcmUgYXJlIG9ubHkgdGhyZWUgcG9zc2liaWxpdGllczoKCkFja2Vk
LWJ5OgogIEkgaGVyZWJ5IGJsZXNzIHRoaXMgd2l0aCBteSBtYWludGFpbmVyIHBvd2Vycy4KICBJ
IG1heSBvciBtYXkgbm90IGhhdmUgcmV2aWV3ZWQgaXQuICBUaGUgYm9keSB0ZXh0IG1heSBjb250
YWluCiAgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGF0LgoKUmV2aWV3ZWQtYnk6CiAgSSBoYXZl
IHJldmlld2VkIHRoaXMgdG8gbXkgb3duIHNhdGlzZmFjdGlvbiBhbmQgdGhpcyBtYWlsIGNvbnRh
aW5zCiAgYWxsIHRoZSBjb21tZW50cyBJIGhhdmUgb24gaXQuICBJZiBJIGFtIGEgbWFpbnRhaW5l
ciwgSSBoZXJlYnkKICBibGVzcyBpdCB3aXRoIG15IG1haW50YWluZXIgcG93ZXJzLiAgKFRoaXMg
aXMgYSB3ZWlyZCB1c2Ugb2YgdGhlCiAgd29yZCAiUmV2aWV3ZWQiIHNpbmNlIGluIHVzdWFsIHVz
YWdlIG9uZSBjYW4gcmV2aWV3IHNvbWV0aGluZyBhbmQKICBlbmQgdXAgZGlzYXBwcm92aW5nIG9m
IGl0OyBuZXZlcnRoZWxlc3MgdGhpcyBpcyB0aGUgY29udmVudGlvbi4pCgpJbiBib3RoIG9mIHRo
ZSBhYm92ZSBjYXNlcywgYWRkaXRpb25hbGx5CiAgSWYgbXkgYXBwcm92YWwgaXMgY29uZGl0aW9u
YWwgKGVnIG9uIGNoYW5nZXMpIHRoaXMgd2lsbCBiZQogIHN0YXRlZCBleHBsaWNpdGx5IGluIHRo
ZSBib2R5IHRleHQgb2YgbXkgbWVzc2FnZS4KCk5laXRoZXIgb2YgdGhlIGFib3ZlOgogIEkgaGF2
ZSByZWFkIGF0IGxlYXN0IHNvbWUgb2YgdGhpcyBhbmQgZmVsdCBtb3RpdmF0ZWQgdG8gbWFrZSBz
b21lCiAgb2JzZXJ2YXRpb25zLiAgSWYgSSBoYXZlIHJldmlld2VkIGl0IHByb3Blcmx5IHRoaXMg
d291bGQgdXN1YWxseSBiZQogIHN0YXRlZCBpbiB0aGUgYm9keSB0ZXh0LiAgSWYgSSBhbSB0YWtp
bmcgZW5vdWdoIG9mIGFuIGludGVyZXN0IGluCiAgdGhpcyBwYXRjaCwgdGhlIGJvZHkgdGV4dCBt
YXkgYWxzbyBzYXkgd2hhdCBJIHRoaW5rIHRoZSBjdXJyZW50CiAgc3RhdGUgYW5kL29yIG5leHQg
c3RlcHMgc2hvdWxkIGJlLiAgSW4gYW55IGNhc2UsIEkgZG8gKm5vdCogYmxlc3MKICB0aGlzIHBh
dGNoIChpbiBpdHMgY3VycmVudCBmb3JtKSB3aXRoIGFueSBtYWludGFpbmVyIHBvd2VycyBJIG1h
eQogIGhhdmUuCgpJT1c6IGlmIHlvdSBkbyBub3QgZ2V0IGFuIEEtYiBvciBSLWIsIHRoZW4gdGhl
IHBlcnNvbiB3cml0aW5nIGlzIG5vdApuZWNlc3NhcmlseSBtYWtpbmcgYW55IG9mIHRoZSBzdGF0
ZW1lbnRzIHlvdSBwb3NpdCB3aGljaCBzdGFydCAiSQpyZXZpZXdlZCIuCgpIYXZpbmcgc2FpZCB0
aGF0IGl0IGlzIGEgZ29vZCBpZGVhIGZvciBwZW9wbGUgY29tbWVudGluZyBvbiBwYXRjaGVzIHRv
Cm1ha2UgY2xlYXIgd2hhdCB0aGV5IGhhdmUgYW5kIGhhdmVuJ3QgZG9uZS4gIEkgb2Z0ZW4gc3Rh
cnQgYSBtZXNzYWdlCndpdGggIlRoYW5rcyBmb3IgdGhpcyBwYXRjaCB3aGljaCBJIGhhdmUgcmV2
aWV3ZWQuICBJIGhhdmUgc29tZQpjb21tZW50cyIgb3Igd29yZHMgdG8gdGhhdCBlZmZlY3QuCgpJ
YW4uCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5p
b3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpo
dHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Thu Dec 19 11:42:35 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 19 Dec 2019 11:42:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ihuCQ-0008A6-Q8; Thu, 19 Dec 2019 11:42:34 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=4R/5=2J=citrix.com=ian.jackson@srs-us1.protection.inumbo.net>)
 id 1ihuCP-00089o-Po
 for minios-devel@lists.xenproject.org; Thu, 19 Dec 2019 11:42:33 +0000
X-Inumbo-ID: 867aeba6-2254-11ea-a1e1-bc764e2007e4
Received: from esa5.hc3370-68.iphmx.com (unknown [216.71.155.168])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 867aeba6-2254-11ea-a1e1-bc764e2007e4;
 Thu, 19 Dec 2019 11:41:42 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
 d=citrix.com; s=securemail; t=1576755702;
 h=from:mime-version:content-transfer-encoding:message-id:
 date:to:subject:in-reply-to:references;
 bh=Cjn28Mgs1N0gowDZI20eaWndP+VyDrHbuolRXiF46ns=;
 b=fVp6vbxMk7PJfcQnlUVGBLejV51xYl8806drqzw6ktUHVoPCnvJnG/qF
 EZkVzwT6VGjZkyECPTmObytge1aZ+mC4NbHLlDe1QIE3U5YA9lAI5LKXi
 uSelc95BEBBLKXKLYFrZh4bspvenBwp89JcgTIswQ35HUI2eT/KvMuARR 0=;
Authentication-Results: esa5.hc3370-68.iphmx.com;
 dkim=none (message not signed) header.i=none;
 spf=None smtp.pra=ian.jackson@citrix.com;
 spf=Pass smtp.mailfrom=Ian.Jackson@citrix.com;
 spf=None smtp.helo=postmaster@mail.citrix.com
Received-SPF: None (esa5.hc3370-68.iphmx.com: no sender
 authenticity information available from domain of
 ian.jackson@citrix.com) identity=pra;
 client-ip=162.221.158.21; receiver=esa5.hc3370-68.iphmx.com;
 envelope-from="Ian.Jackson@citrix.com";
 x-sender="ian.jackson@citrix.com"; x-conformance=sidf_compatible
Received-SPF: Pass (esa5.hc3370-68.iphmx.com: domain of
 Ian.Jackson@citrix.com designates 162.221.158.21 as permitted
 sender) identity=mailfrom; client-ip=162.221.158.21;
 receiver=esa5.hc3370-68.iphmx.com;
 envelope-from="Ian.Jackson@citrix.com";
 x-sender="Ian.Jackson@citrix.com";
 x-conformance=sidf_compatible; x-record-type="v=spf1";
 x-record-text="v=spf1 ip4:209.167.231.154 ip4:178.63.86.133
 ip4:195.66.111.40/30 ip4:85.115.9.32/28 ip4:199.102.83.4
 ip4:192.28.146.160 ip4:192.28.146.107 ip4:216.52.6.88
 ip4:216.52.6.188 ip4:162.221.158.21 ip4:162.221.156.83
 ip4:168.245.78.127 ~all"
Received-SPF: None (esa5.hc3370-68.iphmx.com: no sender
 authenticity information available from domain of
 postmaster@mail.citrix.com) identity=helo;
 client-ip=162.221.158.21; receiver=esa5.hc3370-68.iphmx.com;
 envelope-from="Ian.Jackson@citrix.com";
 x-sender="postmaster@mail.citrix.com";
 x-conformance=sidf_compatible
IronPort-SDR: lwhPsAwq6agBcqqL3r1ChzKxsDpKcr126xOksr+SxrM8wNRSji1gx1a/pmp96PcrvrxB8HhbMK
 //unJAO2X6KBlDmeUhSdS9AMaTY0+BF/3kuJ8jeuWM9dkdyuQGTKg48IGQiyG9BAqfHJMrIPuI
 EofiJiIBCEGTjqxIFtxcf8DJJeEpjA9fmmfJot8gxf1n6MhzPD3Y/54/bjoKVb6SsFvT/U8KV2
 KmZu/CaWgbMMjVCiKXUw1GLXuTu6G195ELp4xaNH7dYE4h1e3C9en1c7JgR5Xy+0f84bpkmY87
 8+M=
X-SBRS: 2.7
X-MesageID: 10293272
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.158.21
X-Policy: $RELAYED
X-IronPort-AV: E=Sophos;i="5.69,331,1571716800"; d="scan'208";a="10293272"
From: Ian Jackson <ian.jackson@citrix.com>
MIME-Version: 1.0
Message-ID: <24059.25073.789608.209860@mariner.uk.xensource.com>
Date: Thu, 19 Dec 2019 11:41:37 +0000
To: Lars Kurth <lars.kurth.xen@gmail.com>, 'Jan Beulich' <jbeulich@suse.com>, 
 Lars Kurth <lars.kurth@citrix.com>, Julien Grall <julien@xen.org>,
 xen-devel
 <xen-devel@lists.xenproject.org>, "minios-devel@lists.xenproject.org"
 <minios-devel@lists.xenproject.org>, "xen-api@lists.xenproject.org"
 <xen-api@lists.xenproject.org>, "win-pv-devel@lists.xenproject.org"
 <win-pv-devel@lists.xenproject.org>, "mirageos-devel@lists.xenproject.org"
 <mirageos-devel@lists.xenproject.org>, "committers@xenproject.org"
 <committers@xenproject.org>
In-Reply-To: <24059.24742.522746.897867@mariner.uk.xensource.com>
References: <cover.1576184325.git.lars.kurth@citrix.com>
 <98ab54c95a9541c918dfec529bcfc5867fd3ed33.1576184325.git.lars.kurth@citrix.com>
 <7a043307-f23f-c537-012b-393f59617c1c@xen.org>
 <0DE885E1-C4C3-447A-8408-88D43B9FE355@citrix.com>
 <1ed2d421-7dfe-1d92-5edc-7f11e8409ff7@suse.com>
 <3A37215A-9402-4611-B5EE-1CA4D1218F87@xenproject.org>
 <24059.24742.522746.897867@mariner.uk.xensource.com>
X-Mailer: VM 8.2.0b under 24.5.1 (i686-pc-linux-gnu)
Subject: Re: [Minios-devel] [PATCH v3 5/7] Add Code Review Guide
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SWFuIEphY2tzb24gd3JpdGVzICgiUmU6IFtQQVRDSCB2MyA1LzddIEFkZCBDb2RlIFJldmlldyBH
dWlkZSIpOgo+IExhcnMgS3VydGggd3JpdGVzICgiUmU6IFtQQVRDSCB2MyA1LzddIEFkZCBDb2Rl
IFJldmlldyBHdWlkZSIpOgo+ID4gSW4gYSBudXRzaGVsbCwgaW4gc3VjaCBhIHJldmlldyB0aGUg
cG9zc2libGUgaW50ZXJwcmV0YXRpb25zIGFyZQo+ID4gKiBJIHJldmlld2VkLCBidXQgZGlkbid0
IGZlZWwgcXVhbGlmaWVkIHRvIGRvIHRoZSByZXN0Cj4gPiAqIEkgcmV2aWV3ZWQsIGJ1dCBkaWQg
bm90IGdldCByb3VuZCB0byBnaXZlIGl0IGZ1bGwgYXR0ZW50aW9uCj4gPiAqIEkgcmV2aWV3ZWQs
IGJ1dCBiZWZvcmUgSSBtYWtlIGEgZmluYWwgZGVjaXNpb24gd2FudCB0byBsb29rIGF0IHRoZSBu
ZXh0IHZlcnNpb24KPiA+IC4uLgo+ID4gKiBJIHJldmlld2VkIGFuZCBkb24ndCBvYmplY3QgdGhl
IHJlc3QKPiA+ICogSSByZXZpZXdlZCBhbmQgYWdyZWVkIHdpdGggdGhlIHJlc3QgCj4gPiBUaGUg
bGF0dGVyIHR3byBhcmUgZXF1aXZhbGVudCB0byBBY2svUi1iCj4gPiAKPiA+IFRoYXQgaXMgcXVp
dGUgYSBsYXJnZSByYW5nZSBvZiBwb3NzaWJpbGl0aWVzIGFuZCBraW5kIG9mIGxlYXZlcyB0aGUg
YXV0aG9yIGd1ZXNzaW5nIHdoYXQgc3RhdGUgdGhlIHJldmlldyBpcyBpbgouLi4KPiBJT1c6IGlm
IHlvdSBkbyBub3QgZ2V0IGFuIEEtYiBvciBSLWIsIHRoZW4gdGhlIHBlcnNvbiB3cml0aW5nIGlz
IG5vdAo+IG5lY2Vzc2FyaWx5IG1ha2luZyBhbnkgb2YgdGhlIHN0YXRlbWVudHMgeW91IHBvc2l0
IHdoaWNoIHN0YXJ0ICJJCj4gcmV2aWV3ZWQiLgoKVGhlIG90aGVyIHBvaW50IGl0IG9jY3VycyB0
byBtZSB0byBtYWtlIGhlcmUgaXMgdGhhdCB3aGV0aGVyIHNvbWVvbmUKcmV2aWV3ZWQgc29tZXRo
aW5nIGlzIG5vdCBvZiBmb3JtYWwgaW1wb3J0YW5jZSB0byB0aGUgcHJvY2VzcywKYWx0aG91Z2gg
aXQgaXMgb2YgY291cnNlIHZlcnkgcmVsZXZhbnQgaW5mb3JtYXRpb24uCgpXaXRoIG15IG1haW50
YWluZXIgaGF0IG9uIEkgZnJlcXVlbnRseSBhcHByb3ZlIHBhdGNoZXMgd2hpY2ggSSBoYXZlCm5v
dCByZXZpZXdlZC4KCkxpa2V3aXNlIEkgc29tZXRpbWVzIHJlYWQgYW5kIGV2ZW4gcmV2aWV3IGlu
IGRldGFpbCBwYXRjaGVzIHdoZXJlIEkKaGF2ZSBubyBmb3JtYWwgYXV0aG9yaXR5LiAgTXkgY29t
bWVudHMgYXJlIHRoZW4gaW50ZW5kZWQgKGluIGEgZm9ybWFsCnNlbnNlKSBhcyBpbnB1dCB0byB0
aGUgbWFpbnRhaW5lcnMnIGRlY2lzaW9ubWFraW5nLgoKKEluIHByYWN0aWNlLCBzaW5jZSB3ZSBh
cmUgYWxsIHdvcmtpbmcgdG9nZXRoZXIgdG8gbWFrZSB0aGUgYmVzdApzb2Z0d2FyZSwgbWFpbnRh
aW5lcnMgZ2VuZXJhbGx5IGV4cGVjdCBhIHN1Ym1pdHRlciB0byBhZGRyZXNzIGlzc3VlcwpyYWlz
ZWQgYnkgYSByZXZpZXcgZnJvbSBhIG5vbi1tYWludGFpbmVyLCBhbmQgc3Ryb25nIG9iamVjdGlv
bnMgZnJvbQpub24tbWFpbnRhaW5lciBzdGFrZWhvbGRlcnMgdXN1YWxseSBsZWFkIHRvIGEgZGlz
Y3Vzc2lvbiBhYm91dCBob3cgdG8KcmVzb2x2ZSBtYXR0ZXJzLiAgVGhpcyBpcyBhbGwgY29vcGVy
YXRpb24gYW5kIGNvbW1vbiBjb3VydGVzeSBJCnRoaW5rLikKCklhbi4KCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxp
c3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJv
amVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Thu Dec 19 12:35:22 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 19 Dec 2019 12:35:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ihv1T-0004a7-TV; Thu, 19 Dec 2019 12:35:19 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=xHCk=2J=neclab.eu=santiago.pagani@srs-us1.protection.inumbo.net>)
 id 1ihv1S-0004a2-Kg
 for minios-devel@lists.xen.org; Thu, 19 Dec 2019 12:35:18 +0000
X-Inumbo-ID: 017ed752-225c-11ea-919a-12813bfff9fa
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 017ed752-225c-11ea-919a-12813bfff9fa;
 Thu, 19 Dec 2019 12:35:15 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 3302CF201D;
 Thu, 19 Dec 2019 13:35:14 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-b.office.hd)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id o0CLI6cgucz5; Thu, 19 Dec 2019 13:35:14 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from titania.office.hd (titania.office.hd [192.168.24.89])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id EDC87F2032;
 Thu, 19 Dec 2019 13:35:05 +0100 (CET)
Received: from oberon.office.hd (192.168.24.90) by titania.office.hd
 (192.168.24.89) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 19 Dec
 2019 13:35:05 +0100
Received: from oberon.office.hd ([192.168.126.11]) by Oberon.office.hd
 ([192.168.126.11]) with mapi id 15.01.1713.009; Thu, 19 Dec 2019 13:35:05
 +0100
From: Santiago Pagani <Santiago.Pagani@neclab.eu>
To: Julien Grall <julien@xen.org>, "minios-devel@lists.xen.org"
 <minios-devel@lists.xen.org>
Thread-Topic: [Minios-devel] [UNIKRAFT/NEWLIB PATCH 1/1] Add patch to have
 newlib running on ARM64
Thread-Index: AQHVtl4skSp26jlECEWdmePptZhA/afBP/8AgAAkv4A=
Date: Thu, 19 Dec 2019 12:35:05 +0000
Message-ID: <6B9D99B9-CCBF-493B-8252-8C2F91460136@neclab.eu>
References: <20191219112026.28017-1-santiago.pagani@neclab.eu>
 <20191219112026.28017-2-santiago.pagani@neclab.eu>
 <43bc5ead-4beb-8fb2-c221-4af5cc00d5c2@xen.org>
In-Reply-To: <43bc5ead-4beb-8fb2-c221-4af5cc00d5c2@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [192.168.24.96]
Content-ID: <A1785425D9D84F4E8FEA69C778A4FA58@office.hd>
MIME-Version: 1.0
Subject: Re: [Minios-devel] [UNIKRAFT/NEWLIB PATCH 1/1] Add patch to have
 newlib running on ARM64
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Simon Kuenzer <simon.kuenzer@neclab.eu>,
 Santiago Pagani <santiagopagani@gmail.com>,
 Costin Lupu <costin.lupu@cs.pub.ro>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgSnVsaWVuLA0KDQpUaGUgcHJvYmxlbSBpcyB0aGUgc2FtZSBvbmUgZW5jb3VudGVyZWQgYnkg
SnVzdGluLCBxdW90ZWQgInNvbWUgZmR0IG5vZGVzIGFyZSBwYXJzZWQgaW5jb3JyZWN0bHksIGVz
cGVjaWFsbHkgZm9yIHRob3NlIGNvbXBhdGlibGUgc3RyaW5ncyB3aXRoICJcMCIiLiBUaGlzIHNl
ZW1zIHRvIGJlIGEgbmV3bGliIGJ1ZyB3aGVuIGNvbXBpbGluZyBmb3IgQVJNNjQuDQoNCkluc3Rl
YWQgb2YgdXNpbmcgSnVzdGluJ3Mgd29ya2Fyb3VuZCB0aGF0IGFkZHMgdGhlIC1EUFJFRkVSX1NJ
WkVfT1ZFUl9TUEVFRCBmbGFnLCB0aGlzIHBhdGNoIGF0dGVtcHRzIHRvIHNvbHZlIGl0IGluIGEg
bW9yZSByb2J1c3Qgd2F5IGJ5IHVzaW5nIHRoZSBtYWNoaW5lIHNwZWNpZmljIHNvdXJjZSBmaWxl
cywgd3JpdHRlbiBhbmQgdGVzdGVkIGZvciBBUk02NC4NCg0KV2l0aG91dCB0aGUgcGF0Y2gsIHRo
ZSBvdXRwdXQgd2Ugc2VlIGlzOg0KcWVtdS1zeXN0ZW0tYWFyY2g2NCAtbWFjaGluZSB2aXJ0IC1j
cHUgY29ydGV4LWE1MyAtZGlzcGxheSBub25lIC1zZXJpYWwgc3RkaW8gLW0gMzJNIC1rZXJuZWwg
Li9idWlsZC9oZWxsb3dvcmxkX2t2bS1hcm02NA0KWyAgICAwLjAwMDAwMF0gSW5mbzogW2xpYmt2
bXBsYXRdIHNldHVwLmNGb3VuZCBkZXZpY2UgdHJlZSBvbjogJXANCiBAIDUxICAgOiBGb3VuZCBk
ZXZpY2UgdHJlZSBvbjogMHg0MDAwMDAwMA0KWyAgICAwLjAwMDAwMF0gSW5mbzogW2xpYmt2bXBs
YXRdIHBsMDExLmNsaWJrdm1wbGF0IEAgMTE5ICA6IFNlcmlhbCBpbml0aWFsaXppbmcNClsgICAg
MC4wMDAwMDBdIEluZm86IFtsaWJrdm1wbGF0XSBwbDAxMS5jbGlia3ZtcGxhdCBAIDEzOSAgOiBG
b3VuZCBQTDAxMSBVQVJUIG9uOiAweDkwMDAwMDANClsgICAgMC4wMDAwMDBdIEluZm86IFtsaWJr
dm1wbGF0XSBwbDAxMS5jbGlia3ZtcGxhdCBAIDE0MiAgOiBQTDAxMSBVQVJUIGluaXRpYWxpemVk
DQpbICAgIDAuMDAwMDAwXSBJbmZvOiBbbGlia3ZtcGxhdF0gc2V0dXAuY0ZvdW5kIGRldmljZSB0
cmVlIG9uOiAlcA0KIEAgMjEzICA6IEVudGVyaW5nIGZyb20gS1ZNIChhcm02NCkuLi4NClsgICAg
MC4wMDAwMDBdIEluZm86IFtsaWJrdm1wbGF0XSBzZXR1cC5jRm91bmQgZGV2aWNlIHRyZWUgb246
ICVwDQogQCAxOTkgIDogTm8gY29tbWFuZCBsaW5lIGZvdW5kDQpbICAgIDAuMDAwMDAwXSBJbmZv
OiBbbGlia3ZtcGxhdF0gc2V0dXAuY0ZvdW5kIGRldmljZSB0cmVlIG9uOiAlcA0KIEAgNjkgICA6
IE5vIFBTQ0kgY29uZHVpdCBmb3VuZCBpbiBEVEINClsgICAgMC4wMDAwMDBdIEluZm86IFtsaWJr
dm1wbGF0XSBzZXR1cC5jRm91bmQgZGV2aWNlIHRyZWUgb246ICVwDQogQCA5MyAgIDogU3VwcG9y
dCBQU0NJIGZyb20gUFNDSS0wLjINClsgICAgMC4wMDAwMDBdIFdhcm46IFtsaWJrdm1wbGF0XSBz
ZXR1cC5jRm91bmQgZGV2aWNlIHRyZWUgb246ICVwDQogQCAxNDAgIDogQ3VycmVudGx5LCB3ZSBz
dXBwb3J0IG9ubHkgb25lIG1lbW9yeSBiYW5rIQ0KWyAgICAwLjAwMDAwMF0gSW5mbzogW2xpYmt2
bWdpY3YyXSBnaWMtdjIuYyBAIDQyMyAgOiBQcm9iaW5nIEdJQ3YyLi4uDQpbICAgIDAuMDAwMDAw
XSBkYmc6ICBbbGlia3Ztb2Z3XSBmZHQuY2xpYmt2bW9mdyBAIDE3MyAgOiByZWFjaGVkIHJvb3Qg
bm9kZQ0KWyAgICAwLjAwMDAwMF0gZGJnOiAgW2xpYmt2bW9md10gZmR0LmNsaWJrdm1vZncgQCAx
NzMgIDogcmVhY2hlZCByb290IG5vZGUNClsgICAgMC4wMDAwMDBdIEluZm86IFtsaWJrdm1naWN2
Ml0gZ2ljLXYyLmMgQCA0NDIgIDogRm91bmQgR0lDdjIgb246DQoJRGlzdHJpYnV0b3IgIDogMHg4
MDAwMDAwIC0gMHg3ZmZmZmZmDQpbICAgIDAuMDAwMDAwXSBJbmZvOiBbbGlia3ZtZ2ljdjJdIGdp
Yy12Mi5jIEAgNDQ2ICA6IAlDUFUgaW50ZXJmYWNlOiAweDEwMDAwMDAwMDAwMDAgLSAweDEwMDAw
MDgwMGZmZmYNClsgICAgMC4wMDAwMDBdIEluZm86IFtsaWJrdm1naWN2Ml0gZ2ljLXYyLmMgQCAz
NTQgIDogR0lDdjIgTWF4IENQVSBpbnRlcmZhY2U6MQ0KWyAgICAwLjAwMDAwMF0gSW5mbzogW2xp
Ymt2bWdpY3YyXSBnaWMtdjIuYyBAIDM2MCAgOiBHSUN2MiBNYXggaW50ZXJydXB0IGxpbmVzOjMy
DQpbICAgIDAuMDAwMDAwXSBDUklUOiBbbGlia3ZtcGxhdF0gdHJhcHMuYwkgU1AgICAgICAgOiAw
eCUwMTZseA0KCSBFU1JfRUwxICA6IDB4JTAxNmx4DQoJIEVMUl9FTDEgIDogMHglMDE2bHgNCgkg
TFIgKHgzMCkgOiAweCUwMTZseA0KCSBQU1RBVEUgICA6IDB4JTAxNmx4DQoJIEZBUl9FTDEgIDog
MHglMDE2bHgNCgkgeCUwMmQgfiB4JTAyZDogMHglMDE2bHggMHglMDE2bHggMHglMDE2bHggMHgl
MDE2bHgNCgkgeDI4IH4geDI5OiAweCUwMTZseCAweCUwMTZseA0KVW5pa3JhZnQ6IEVMJWQgaW52
YWxpZCAlcyB0cmFwIGNhdWdodA0KVW5pa3JhZnQ6IEVMMSBzeW5jIHRyYXAgY2F1Z2h0DQpTeW5j
aHJvbm91cyBBYm9ydCBAIDY3ICAgOiBVbmlrcmFmdDogRUwxIHN5bmMgdHJhcCBjYXVnaHQNClsg
ICAgMC4wMDAwMDBdIENSSVQ6IFtsaWJrdm1wbGF0XSB0cmFwcy5jCSBTUCAgICAgICA6IDB4JTAx
Nmx4DQoJIEVTUl9FTDEgIDogMHglMDE2bHgNCgkgRUxSX0VMMSAgOiAweCUwMTZseA0KCSBMUiAo
eDMwKSA6IDB4JTAxNmx4DQoJIFBTVEFURSAgIDogMHglMDE2bHgNCgkgRkFSX0VMMSAgOiAweCUw
MTZseA0KCSB4JTAyZCB+IHglMDJkOiAweCUwMTZseCAweCUwMTZseCAweCUwMTZseCAweCUwMTZs
eA0KCSB4MjggfiB4Mjk6IDB4JTAxNmx4IDB4JTAxNmx4DQpVbmlrcmFmdDogRUwlZCBpbnZhbGlk
ICVzIHRyYXAgY2F1Z2h0DQpVbmlrcmFmdDogRUwxIHN5bmMgdHJhcCBjYXVnaHQNClN5bmNocm9u
b3VzIEFib3J0IEAgMzkgICA6IFVuaWtyYWZ0OiBEdW1wIHJlZ2lzdGVyczoNClsgICAgMC4wMDAw
MDBdIENSSVQ6IFtsaWJrdm1wbGF0XSB0cmFwcy5jCSBTUCAgICAgICA6IDB4JTAxNmx4DQoJIEVT
Ul9FTDEgIDogMHglMDE2bHgNCgkgRUxSX0VMMSAgOiAweCUwMTZseA0KCSBMUiAoeDMwKSA6IDB4
JTAxNmx4DQoJIFBTVEFURSAgIDogMHglMDE2bHgNCgkgRkFSX0VMMSAgOiAweCUwMTZseA0KCSB4
JTAyZCB+IHglMDJkOiAweCUwMTZseCAweCUwMTZseCAweCUwMTZseCAweCUwMTZseA0KCSB4Mjgg
fiB4Mjk6IDB4JTAxNmx4IDB4JTAxNmx4DQpVbmlrcmFmdDogRUwlZCBpbnZhbGlkICVzIHRyYXAg
Y2F1Z2h0DQpVbmlrcmFmdDogRUwxIHN5bmMgdHJhcCBjYXVnaHQNClN5bmNocm9ub3VzIEFib3J0
IEAgNDAgICA6IAkgU1AgICAgICAgOiAweDAwMDAwMDAwNDAxOTllMzANCgkgRVNSX0VMMSAgOiAw
eDAwMDAwMDAwOTYwMDAwNDQNCgkgRUxSX0VMMSAgOiAweDAwMDAwMDAwNDAxMDQ3NzgNCgkgTFIg
KHgzMCkgOiAweDAwMDAwMDAwNDAxMDQ2YjgNCgkgUFNUQVRFICAgOiAweDAwMDAwMDAwNjAwMDAz
YzUNCgkgRkFSX0VMMSAgOiAweDAwMDEwMDAwMDAwMDAwMDQNCgkgeDAwIH4geDAzOiAweDAwMDAw
MDAwMDgwMDAwMDAgMHgwMDAwMDAwMDA4MDAwNDAwIDB4MDAwMDAwMDAwMDAwMDAwMSAweDAwMDAw
MDAwMDgwMDA0MjANClsgICAgMC4wMDAwMDBdIENSSVQ6IFtsaWJrdm1wbGF0XSB0cmFwcy5jCSBT
UCAgICAgICA6IDB4JTAxNmx4DQoJIEVTUl9FTDEgIDogMHglMDE2bHgNCgkgRUxSX0VMMSAgOiAw
eCUwMTZseA0KCSBMUiAoeDMwKSA6IDB4JTAxNmx4DQoJIFBTVEFURSAgIDogMHglMDE2bHgNCgkg
RkFSX0VMMSAgOiAweCUwMTZseA0KCSB4JTAyZCB+IHglMDJkOiAweCUwMTZseCAweCUwMTZseCAw
eCUwMTZseCAweCUwMTZseA0KCSB4MjggfiB4Mjk6IDB4JTAxNmx4IDB4JTAxNmx4DQpVbmlrcmFm
dDogRUwlZCBpbnZhbGlkICVzIHRyYXAgY2F1Z2h0DQpVbmlrcmFmdDogRUwxIHN5bmMgdHJhcCBj
YXVnaHQNClN5bmNocm9ub3VzIEFib3J0IEAgNTAgICA6IAkgeDA0IH4geDA3OiAweDAwMDEwMDAw
MDAwMDAwMDAgMHgwMDAwMDAwMDgwODA4MDgwIDB4MDAwMDAwMDAwMDAwMDBmZiAweGZmZmZmZmZm
ZmVmZWZlZmYNClsgICAgMC4wMDAwMDBdIENSSVQ6IFtsaWJrdm1wbGF0XSB0cmFwcy5jCSBTUCAg
ICAgICA6IDB4JTAxNmx4DQoJIEVTUl9FTDEgIDogMHglMDE2bHgNCgkgRUxSX0VMMSAgOiAweCUw
MTZseA0KCSBMUiAoeDMwKSA6IDB4JTAxNmx4DQoJIFBTVEFURSAgIDogMHglMDE2bHgNCgkgRkFS
X0VMMSAgOiAweCUwMTZseA0KCSB4JTAyZCB+IHglMDJkOiAweCUwMTZseCAweCUwMTZseCAweCUw
MTZseCAweCUwMTZseA0KCSB4MjggfiB4Mjk6IDB4JTAxNmx4IDB4JTAxNmx4DQpVbmlrcmFmdDog
RUwlZCBpbnZhbGlkICVzIHRyYXAgY2F1Z2h0DQpVbmlrcmFmdDogRUwxIHN5bmMgdHJhcCBjYXVn
aHQNClN5bmNocm9ub3VzIEFib3J0IEAgNTAgICA6IAkgeDA4IH4geDExOiAweDAwMDAwMDAwMDAw
MDAwMDAgMHgwMDAwMDAwMDAwMDAwMDAwIDB4MDAwMDAwMDAwMDAwMDAwMCAweDAwMDAwMDAwZmZm
ZmZmZmYNClsgICAgMC4wMDAwMDBdIENSSVQ6IFtsaWJrdm1wbGF0XSB0cmFwcy5jCSBTUCAgICAg
ICA6IDB4JTAxNmx4DQoJIEVTUl9FTDEgIDogMHglMDE2bHgNCgkgRUxSX0VMMSAgOiAweCUwMTZs
eA0KCSBMUiAoeDMwKSA6IDB4JTAxNmx4DQoJIFBTVEFURSAgIDogMHglMDE2bHgNCgkgRkFSX0VM
MSAgOiAweCUwMTZseA0KCSB4JTAyZCB+IHglMDJkOiAweCUwMTZseCAweCUwMTZseCAweCUwMTZs
eCAweCUwMTZseA0KCSB4MjggfiB4Mjk6IDB4JTAxNmx4IDB4JTAxNmx4DQpVbmlrcmFmdDogRUwl
ZCBpbnZhbGlkICVzIHRyYXAgY2F1Z2h0DQpVbmlrcmFmdDogRUwxIHN5bmMgdHJhcCBjYXVnaHQN
ClN5bmNocm9ub3VzIEFib3J0IEAgNTAgICA6IAkgeDEyIH4geDE1OiAweDAwMDAwMDAwZmZmZmZm
ZDggMHgwMDAwMDAwMDQwMTk5Y2IwIDB4MDAwMDAwMDAwMDAwMTY4MCAweDAwMDAwMDAwNDAxOTll
NmMNClsgICAgMC4wMDAwMDBdIENSSVQ6IFtsaWJrdm1wbGF0XSB0cmFwcy5jCSBTUCAgICAgICA6
IDB4JTAxNmx4DQoJIEVTUl9FTDEgIDogMHglMDE2bHgNCgkgRUxSX0VMMSAgOiAweCUwMTZseA0K
CSBMUiAoeDMwKSA6IDB4JTAxNmx4DQoJIFBTVEFURSAgIDogMHglMDE2bHgNCgkgRkFSX0VMMSAg
OiAweCUwMTZseA0KCSB4JTAyZCB+IHglMDJkOiAweCUwMTZseCAweCUwMTZseCAweCUwMTZseCAw
eCUwMTZseA0KCSB4MjggfiB4Mjk6IDB4JTAxNmx4IDB4JTAxNmx4DQpVbmlrcmFmdDogRUwlZCBp
bnZhbGlkICVzIHRyYXAgY2F1Z2h0DQpVbmlrcmFmdDogRUwxIHN5bmMgdHJhcCBjYXVnaHQNClN5
bmNocm9ub3VzIEFib3J0IEAgNTAgICA6IAkgeDE2IH4geDE5OiAweDAwMDAwMDAwNDAxOGEwMDAg
MHgwMDAwMDAwMDQwMjAwMDAwIDB4MDAwMDAwMDA0MDAwMDAwMCAweDAwMDAwMDAwMDAwMDAwMjAN
ClsgICAgMC4wMDAwMDBdIENSSVQ6IFtsaWJrdm1wbGF0XSB0cmFwcy5jCSBTUCAgICAgICA6IDB4
JTAxNmx4DQoJIEVTUl9FTDEgIDogMHglMDE2bHgNCgkgRUxSX0VMMSAgOiAweCUwMTZseA0KCSBM
UiAoeDMwKSA6IDB4JTAxNmx4DQoJIFBTVEFURSAgIDogMHglMDE2bHgNCgkgRkFSX0VMMSAgOiAw
eCUwMTZseA0KCSB4JTAyZCB+IHglMDJkOiAweCUwMTZseCAweCUwMTZseCAweCUwMTZseCAweCUw
MTZseA0KCSB4MjggfiB4Mjk6IDB4JTAxNmx4IDB4JTAxNmx4DQpVbmlrcmFmdDogRUwlZCBpbnZh
bGlkICVzIHRyYXAgY2F1Z2h0DQpVbmlrcmFmdDogRUwxIHN5bmMgdHJhcCBjYXVnaHQNClN5bmNo
cm9ub3VzIEFib3J0IEAgNTAgICA6IAkgeDIwIH4geDIzOiAweDAwMDAwMDAwNDAxODA0OTggMHgw
MDAwMDAwMDQwMTgwMDAwIDB4MDAwMDAwMDA0MDE3NjkwMCAweDAwMDAwMDAwNDAxNzY4ZjANClsg
ICAgMC4wMDAwMDBdIENSSVQ6IFtsaWJrdm1wbGF0XSB0cmFwcy5jCSBTUCAgICAgICA6IDB4JTAx
Nmx4DQoJIEVTUl9FTDEgIDogMHglMDE2bHgNCgkgRUxSX0VMMSAgOiAweCUwMTZseA0KCSBMUiAo
eDMwKSA6IDB4JTAxNmx4DQoJIFBTVEFURSAgIDogMHglMDE2bHgNCgkgRkFSX0VMMSAgOiAweCUw
MTZseA0KCSB4JTAyZCB+IHglMDJkOiAweCUwMTZseCAweCUwMTZseCAweCUwMTZseCAweCUwMTZs
eA0KCSB4MjggfiB4Mjk6IDB4JTAxNmx4IDB4JTAxNmx4DQpVbmlrcmFmdDogRUwlZCBpbnZhbGlk
ICVzIHRyYXAgY2F1Z2h0DQpVbmlrcmFmdDogRUwxIHN5bmMgdHJhcCBjYXVnaHQNClN5bmNocm9u
b3VzIEFib3J0IEAgNTAgICA6IAkgeDI0IH4geDI3OiAweDAwMDAwMDAwMDAwMDE2ODAgMHgwMDAw
MDAwMDQwMDAwMDAwIDB4MDAwMDAwMDA0MDE3YjAxMCAweDAwMDAwMDAwNDAxODUwMDANClsgICAg
MC4wMDAwMDBdIENSSVQ6IFtsaWJrdm1wbGF0XSB0cmFwcy5jCSBTUCAgICAgICA6IDB4JTAxNmx4
DQoJIEVTUl9FTDEgIDogMHglMDE2bHgNCgkgRUxSX0VMMSAgOiAweCUwMTZseA0KCSBMUiAoeDMw
KSA6IDB4JTAxNmx4DQoJIFBTVEFURSAgIDogMHglMDE2bHgNCgkgRkFSX0VMMSAgOiAweCUwMTZs
eA0KCSB4JTAyZCB+IHglMDJkOiAweCUwMTZseCAweCUwMTZseCAweCUwMTZseCAweCUwMTZseA0K
CSB4MjggfiB4Mjk6IDB4JTAxNmx4IDB4JTAxNmx4DQpVbmlrcmFmdDogRUwlZCBpbnZhbGlkICVz
IHRyYXAgY2F1Z2h0DQpVbmlrcmFmdDogRUwxIHN5bmMgdHJhcCBjYXVnaHQNClN5bmNocm9ub3Vz
IEFib3J0IEAgNTMgICA6IAkgeDI4IH4geDI5OiAweDAwMDAwMDAwMDAwMDAwMDAgMHgwMDAwMDAw
MDQwMTk5ZjUwDQpbICAgIDAuMDAwMDAwXSBJbmZvOiBbbGlia3ZtcGxhdF0gc2h1dGRvd24uYyBA
IDM1ICAgOiBVbmlrcmFmdCBoYWx0ZWQNCg0KWyAgICAwLjAwMDAwMF0gQ1JJVDogW2xpYmt2bXBs
YXRdIGNwdV9uYXRpdmUuY0NvdWxkbid0IHNodXRkb3duIHN5c3RlbSwgSEFMVCENCiBAIDc5ICAg
OiBDb3VsZG4ndCBzaHV0ZG93biBzeXN0ZW0sIEhBTFQhDQoNCg0KV2l0aCB0aGUgcGF0Y2ggdGhp
cyBnZXRzIGZpeCBhcyBzaG93biBoZXJlOg0KcWVtdS1zeXN0ZW0tYWFyY2g2NCAtbWFjaGluZSB2
aXJ0IC1jcHUgY29ydGV4LWE1MyAtZGlzcGxheSBub25lIC1zZXJpYWwgc3RkaW8gLW0gMzJNIC1r
ZXJuZWwgLi9idWlsZC9oZWxsb3dvcmxkX2t2bS1hcm02NA0KWyAgICAwLjAwMDAwMF0gSW5mbzog
W2xpYmt2bXBsYXRdIHNldHVwLmMgQCA1MSAgIDogRm91bmQgZGV2aWNlIHRyZWUgb246IDB4NDAw
MDAwMDANClsgICAgMC4wMDAwMDBdIEluZm86IFtsaWJrdm1wbGF0XSBwbDAxMS5jIEAgMTE5ICA6
IFNlcmlhbCBpbml0aWFsaXppbmcNClsgICAgMC4wMDAwMDBdIEluZm86IFtsaWJrdm1wbGF0XSBw
bDAxMS5jIEAgMTM5ICA6IEZvdW5kIFBMMDExIFVBUlQgb246IDB4OTAwMDAwMA0KWyAgICAwLjAw
MDAwMF0gSW5mbzogW2xpYmt2bXBsYXRdIHBsMDExLmMgQCAxNDIgIDogUEwwMTEgVUFSVCBpbml0
aWFsaXplZA0KWyAgICAwLjAwMDAwMF0gSW5mbzogW2xpYmt2bXBsYXRdIHNldHVwLmMgQCAyMTMg
IDogRW50ZXJpbmcgZnJvbSBLVk0gKGFybTY0KS4uLg0KWyAgICAwLjAwMDAwMF0gSW5mbzogW2xp
Ymt2bXBsYXRdIHNldHVwLmMgQCAxOTkgIDogTm8gY29tbWFuZCBsaW5lIGZvdW5kDQpbICAgIDAu
MDAwMDAwXSBJbmZvOiBbbGlia3ZtcGxhdF0gc2V0dXAuYyBAIDg5ICAgOiBQU0NJIG1ldGhvZDog
aHZjDQpbICAgIDAuMDAwMDAwXSBXYXJuOiBbbGlia3ZtcGxhdF0gc2V0dXAuYyBAIDE0MCAgOiBD
dXJyZW50bHksIHdlIHN1cHBvcnQgb25seSBvbmUgbWVtb3J5IGJhbmshDQpbICAgIDAuMDAwMDAw
XSBJbmZvOiBbbGlia3ZtZ2ljdjJdIGdpYy12Mi5jIEAgNDIzICA6IFByb2JpbmcgR0lDdjIuLi4N
ClsgICAgMC4wMDAwMDBdIGRiZzogIFtsaWJrdm1vZnddIGZkdC5jIEAgMTczICA6IHJlYWNoZWQg
cm9vdCBub2RlDQpbICAgIDAuMDAwMDAwXSBkYmc6ICBbbGlia3Ztb2Z3XSBmZHQuYyBAIDE3MyAg
OiByZWFjaGVkIHJvb3Qgbm9kZQ0KWyAgICAwLjAwMDAwMF0gSW5mbzogW2xpYmt2bWdpY3YyXSBn
aWMtdjIuYyBAIDQ0MiAgOiBGb3VuZCBHSUN2MiBvbjoNCglEaXN0cmlidXRvciAgOiAweDgwMDAw
MDAgLSAweDgwMGZmZmYNClsgICAgMC4wMDAwMDBdIEluZm86IFtsaWJrdm1naWN2Ml0gZ2ljLXYy
LmMgQCA0NDYgIDogCUNQVSBpbnRlcmZhY2U6IDB4ODAxMDAwMCAtIDB4ODAxZmZmZg0KWyAgICAw
LjAwMDAwMF0gSW5mbzogW2xpYmt2bWdpY3YyXSBnaWMtdjIuYyBAIDM1NCAgOiBHSUN2MiBNYXgg
Q1BVIGludGVyZmFjZToxDQpbICAgIDAuMDAwMDAwXSBJbmZvOiBbbGlia3ZtZ2ljdjJdIGdpYy12
Mi5jIEAgMzYwICA6IEdJQ3YyIE1heCBpbnRlcnJ1cHQgbGluZXM6MzINClsgICAgMC4wMDAwMDBd
IEluZm86IFtsaWJrdm1wbGF0XSBzZXR1cC5jIEAgMjI4ICA6IHBhZ2V0YWJsZSBzdGFydDogMHg0
MDE4NTAwMA0KWyAgICAwLjAwMDAwMF0gSW5mbzogW2xpYmt2bXBsYXRdIHNldHVwLmMgQCAyMzAg
IDogICAgICBoZWFwIHN0YXJ0OiAweDQwMThhMDAwDQpbICAgIDAuMDAwMDAwXSBJbmZvOiBbbGli
a3ZtcGxhdF0gc2V0dXAuYyBAIDIzMiAgOiAgICAgICBzdGFjayB0b3A6IDB4NDFmZjAwMDANClsg
ICAgMC4wMDAwMDBdIEluZm86IFtsaWJrdm1wbGF0XSBzZXR1cC5jIEAgMjM4ICA6IFN3aXRjaCBm
cm9tIGJvb3RzdHJhcCBzdGFjayB0byBzdGFjayBAMHg0MjAwMDAwMA0KWyAgICAwLjAwMDAwMF0g
SW5mbzogW2xpYnVrYm9vdF0gYm9vdC5jIEAgMTg3ICA6IFVuaWtyYWZ0IGNvbnN0cnVjdG9ycyB0
YWJsZSBhdCAweDQwMTcwMDAwDQpbICAgIDAuMDAwMDAwXSBkYmc6ICBbbGlidWtib290XSBib290
LmMgQCAxODkgIDogQ2FsbCBjb25zdHJ1Y3RvciAweDQwMTBkNjcwDQpbICAgIDAuMDAwMDAwXSBk
Ymc6ICBbbGlidWtib290XSBib290LmMgQCAxODkgIDogQ2FsbCBjb25zdHJ1Y3RvciAweDQwMTE1
ZTUwDQpbICAgIDAuMDAwMDAwXSBJbmZvOiBbbGlidWtib290XSBib290LmMgQCAyMDcgIDogSW5p
dGlhbGl6ZSBtZW1vcnkgYWxsb2NhdG9yLi4uDQpbICAgIDAuMDAwMDAwXSBkYmc6ICBbbGlidWti
b290XSBib290LmMgQCAyMTYgIDogVHJ5IG1lbW9yeSByZWdpb246IDB4NDAxOGEwMDAgLSAweDQx
ZmYwMDAwIChmbGFnczogMHgzMSkuLi4NClsgICAgMC4wMDAwMDBdIEluZm86IFtsaWJ1a2FsbG9j
YmJ1ZGR5XSBiYnVkZHkuYyBAIDQ3MCAgOiBJbml0aWFsaXplIGJpbmFyeSBidWRkeSBhbGxvY2F0
b3IgNDAxOGEwMDANClsgICAgMC4wMDAwMDBdIGRiZzogIFtsaWJ1a2FsbG9jYmJ1ZGR5XSBiYnVk
ZHkuYyBAIDQyNyAgOiA0MDE4YTAwMDogQWRkIGFsbG9jYXRlIHVuaXQgNDAxOGQwMDAgLSA0MDE4
ZTAwMCAob3JkZXIgMCkNClsgICAgMC4wMDAwMDBdIGRiZzogIFtsaWJ1a2FsbG9jYmJ1ZGR5XSBi
YnVkZHkuYyBAIDQyNyAgOiA0MDE4YTAwMDogQWRkIGFsbG9jYXRlIHVuaXQgNDAxOGUwMDAgLSA0
MDE5MDAwMCAob3JkZXIgMSkNClsgICAgMC4wMDAwMDBdIGRiZzogIFtsaWJ1a2FsbG9jYmJ1ZGR5
XSBiYnVkZHkuYyBAIDQyNyAgOiA0MDE4YTAwMDogQWRkIGFsbG9jYXRlIHVuaXQgNDAxOTAwMDAg
LSA0MDFhMDAwMCAob3JkZXIgNCkNClsgICAgMC4wMDAwMDBdIGRiZzogIFtsaWJ1a2FsbG9jYmJ1
ZGR5XSBiYnVkZHkuYyBAIDQyNyAgOiA0MDE4YTAwMDogQWRkIGFsbG9jYXRlIHVuaXQgNDAxYTAw
MDAgLSA0MDFjMDAwMCAob3JkZXIgNSkNClsgICAgMC4wMDAwMDBdIGRiZzogIFtsaWJ1a2FsbG9j
YmJ1ZGR5XSBiYnVkZHkuYyBAIDQyNyAgOiA0MDE4YTAwMDogQWRkIGFsbG9jYXRlIHVuaXQgNDAx
YzAwMDAgLSA0MDIwMDAwMCAob3JkZXIgNikNClsgICAgMC4wMDAwMDBdIGRiZzogIFtsaWJ1a2Fs
bG9jYmJ1ZGR5XSBiYnVkZHkuYyBAIDQyNyAgOiA0MDE4YTAwMDogQWRkIGFsbG9jYXRlIHVuaXQg
NDAyMDAwMDAgLSA0MDQwMDAwMCAob3JkZXIgOSkNClsgICAgMC4wMDAwMDBdIGRiZzogIFtsaWJ1
a2FsbG9jYmJ1ZGR5XSBiYnVkZHkuYyBAIDQyNyAgOiA0MDE4YTAwMDogQWRkIGFsbG9jYXRlIHVu
aXQgNDA0MDAwMDAgLSA0MDgwMDAwMCAob3JkZXIgMTApDQpbICAgIDAuMDAwMDAwXSBkYmc6ICBb
bGlidWthbGxvY2JidWRkeV0gYmJ1ZGR5LmMgQCA0MjcgIDogNDAxOGEwMDA6IEFkZCBhbGxvY2F0
ZSB1bml0IDQwODAwMDAwIC0gNDEwMDAwMDAgKG9yZGVyIDExKQ0KWyAgICAwLjAwMDAwMF0gZGJn
OiAgW2xpYnVrYWxsb2NiYnVkZHldIGJidWRkeS5jIEAgNDI3ICA6IDQwMThhMDAwOiBBZGQgYWxs
b2NhdGUgdW5pdCA0MTAwMDAwMCAtIDQxODAwMDAwIChvcmRlciAxMSkNClsgICAgMC4wMDAwMDBd
IGRiZzogIFtsaWJ1a2FsbG9jYmJ1ZGR5XSBiYnVkZHkuYyBAIDQyNyAgOiA0MDE4YTAwMDogQWRk
IGFsbG9jYXRlIHVuaXQgNDE4MDAwMDAgLSA0MWMwMDAwMCAob3JkZXIgMTApDQpbICAgIDAuMDAw
MDAwXSBkYmc6ICBbbGlidWthbGxvY2JidWRkeV0gYmJ1ZGR5LmMgQCA0MjcgIDogNDAxOGEwMDA6
IEFkZCBhbGxvY2F0ZSB1bml0IDQxYzAwMDAwIC0gNDFlMDAwMDAgKG9yZGVyIDkpDQpbICAgIDAu
MDAwMDAwXSBkYmc6ICBbbGlidWthbGxvY2JidWRkeV0gYmJ1ZGR5LmMgQCA0MjcgIDogNDAxOGEw
MDA6IEFkZCBhbGxvY2F0ZSB1bml0IDQxZTAwMDAwIC0gNDFmMDAwMDAgKG9yZGVyIDgpDQpbICAg
IDAuMDAwMDAwXSBkYmc6ICBbbGlidWthbGxvY2JidWRkeV0gYmJ1ZGR5LmMgQCA0MjcgIDogNDAx
OGEwMDA6IEFkZCBhbGxvY2F0ZSB1bml0IDQxZjAwMDAwIC0gNDFmODAwMDAgKG9yZGVyIDcpDQpb
ICAgIDAuMDAwMDAwXSBkYmc6ICBbbGlidWthbGxvY2JidWRkeV0gYmJ1ZGR5LmMgQCA0MjcgIDog
NDAxOGEwMDA6IEFkZCBhbGxvY2F0ZSB1bml0IDQxZjgwMDAwIC0gNDFmYzAwMDAgKG9yZGVyIDYp
DQpbICAgIDAuMDAwMDAwXSBkYmc6ICBbbGlidWthbGxvY2JidWRkeV0gYmJ1ZGR5LmMgQCA0Mjcg
IDogNDAxOGEwMDA6IEFkZCBhbGxvY2F0ZSB1bml0IDQxZmMwMDAwIC0gNDFmZTAwMDAgKG9yZGVy
IDUpDQpbICAgIDAuMDAwMDAwXSBkYmc6ICBbbGlidWthbGxvY2JidWRkeV0gYmJ1ZGR5LmMgQCA0
MjcgIDogNDAxOGEwMDA6IEFkZCBhbGxvY2F0ZSB1bml0IDQxZmUwMDAwIC0gNDFmZjAwMDAgKG9y
ZGVyIDQpDQpbICAgIDAuMDAwMDAwXSBJbmZvOiBbbGlidWtib290XSBib290LmMgQCAyMzkgIDog
SW5pdGlhbGl6ZSBJUlEgc3Vic3lzdGVtLi4uDQpbICAgIDAuMDAwMDAwXSBJbmZvOiBbbGlidWti
b290XSBib290LmMgQCAyNDYgIDogSW5pdGlhbGl6ZSBwbGF0Zm9ybSB0aW1lLi4uDQpbICAgIDAu
MDAwMDAwXSBJbmZvOiBbbGlia3ZtcGxhdF0gdGltZS5jIEAgODggICA6IE5vIGNsb2NrLWZyZXF1
ZW5jeSBmb3VuZCwgcmVhZGluZyBmcm9tIHJlZ2lzdGVyIGRpcmVjdGx5Lg0KWyAgICAwLjAwMTQ0
NF0gSW5mbzogW2xpYnVrc2NoZWRjb29wXSBzY2hlZGNvb3AuYyBAIDIzMiAgOiBJbml0aWFsaXpp
bmcgY29vcGVyYXRpdmUgc2NoZWR1bGVyDQpbICAgIDAuMDAxNzc2XSBkYmc6ICBbbGlia3ZtcGxh
dF0gc3dfY3R4LmMgQCAxMzMgIDogQWxsb2NhdGluZyAzMiBieXRlcyBmb3Igc3cgY3R4IGF0IDB4
NDAxOTAwMDgNClsgICAgMC4wMDE5MThdIEluZm86IFtsaWJ1a3NjaGVkXSB0aHJlYWQuYyBAIDEz
MCAgOiBUaHJlYWQgIklkbGUiOiBwb2ludGVyOiAweDQwMThlMDU4LCBzdGFjazogMHg0MWZlMDAw
MCwgdGxzOiAweDQwMThmMDA4DQpbICAgIDAuMDAyMTM0XSBkYmc6ICBbbGlia3ZtcGxhdF0gc3df
Y3R4LmMgQCAxMzMgIDogQWxsb2NhdGluZyAzMiBieXRlcyBmb3Igc3cgY3R4IGF0IDB4NDAxOTMw
MDgNClsgICAgMC4wMDIyMjhdIEluZm86IFtsaWJ1a3NjaGVkXSB0aHJlYWQuYyBAIDEzMCAgOiBU
aHJlYWQgIm1haW4iOiBwb2ludGVyOiAweDQwMTkxMDA4LCBzdGFjazogMHg0MWZjMDAwMCwgdGxz
OiAweDQwMTkyMDA4DQpbICAgIDAuMDAyNTc0XSBJbmZvOiBbbGlidWtib290XSBib290LmMgQCA4
NSAgIDogSW5pdCBUYWJsZSBAIDB4NDAxNzAwMTAgLSAweDQwMTcwMDEwDQpXZWxjb21lIHRvICBf
IF9fICAgICAgICAgICAgIF9fX19fDQogX18gX19fX18gIChfKSAvX18gX19fX19fXyBfLyBfLyAv
Xw0KLyAvLyAvIF8gXC8gLyAgJ18vLyBfXy8gXyBgLyBfLyBfXy8NClxfLF8vXy8vXy9fL18vXF9c
L18vICBcXyxfL18vIFxfXy8NCiAgICAgICAgICAgICAgSWFwZXR1cyAwLjMuMX5mMzRhZDkxDQpb
ICAgIDAuMDAzOTUyXSBJbmZvOiBbbGlidWtib290XSBib290LmMgQCAxMTQgIDogUHJlLWluaXQg
dGFibGUgYXQgMHg0MDE3YTBhMCAtIDB4NDAxN2EwYTANClsgICAgMC4wMDQwNTldIEluZm86IFts
aWJ1a2Jvb3RdIGJvb3QuYyBAIDEyNSAgOiBDb25zdHJ1Y3RvciB0YWJsZSBhdCAweDQwMTdhMGEw
IC0gMHg0MDE3YTBhOA0KWyAgICAwLjAwNDE2OV0gZGJnOiAgW2xpYnVrYm9vdF0gYm9vdC5jIEAg
MTMwICA6IENhbGwgY29uc3RydWN0b3IgKGVudHJ5IDAgKDB4NDAxN2EwYTApOiAweDQwMTViYjYw
KCkpLi4uDQpbICAgIDAuMDA0Mjk2XSBJbmZvOiBbbGlidWtib290XSBib290LmMgQCAxMzUgIDog
Q2FsbGluZyBtYWluKDEsIFsnaGVsbG93b3JsZCddKQ0KSGVsbG8gd29ybGQhDQpBcmd1bWVudHM6
ICAiaGVsbG93b3JsZCINClsgICAgMC4wMDQ1MTBdIEluZm86IFtsaWJ1a2Jvb3RdIGJvb3QuYyBA
IDE0NCAgOiBtYWluIHJldHVybmVkIDAsIGhhbHRpbmcgc3lzdGVtDQpVbmlrcmFmdCBoYWx0ZWQN
Cg0KDQpUaGFua3MgYW5kIGJlc3QsDQpTYW50aWFnbw0KDQoNCu+7v09uIDE5LjEyLjE5LCAxMjoy
NCwgIk1pbmlvcy1kZXZlbCBvbiBiZWhhbGYgb2YgSnVsaWVuIEdyYWxsIiA8bWluaW9zLWRldmVs
LWJvdW5jZXNAbGlzdHMueGVucHJvamVjdC5vcmcgb24gYmVoYWxmIG9mIGp1bGllbkB4ZW4ub3Jn
PiB3cm90ZToNCg0KICAgIEhpLA0KICAgIA0KICAgIE9uIDE5LzEyLzIwMTkgMTE6MjAsIFNhbnRp
YWdvIFBhZ2FuaSB3cm90ZToNCiAgICA+IEF0IHRoZSBtb21lbnQgbmV3bGliIGNhbiBjb21waWxl
IGZvciBBUk02NCwgYnV0IGl0IGZhaWxzIGF0IHJ1bnRpbWUuDQogICAgPiBUaGlzIHBhdGNoIGNo
YW5nZXMgc29tZSBnZW5lcmljIG5ld2xpYiBmaWxlcyBmb3IgdGhlIG1hY2hpbmUgc3BlY2lmaWMN
CiAgICA+IG5ld2xpYiBmaWxlcyBmb3IgQVJNNjQgd2hlbiB1c2luZyBBUk02NC4NCiAgICANCiAg
ICBUaGlzIGNvbW1pdCBkb2VzIG5vdCBleHBsYWluIHdoYXQgc29ydCBvZiBwcm9ibGVtIGlzIGVu
Y291bnRlcmVkIGFuZCB3aHkgDQogICAgdXNpbmcgbWFjaGluZSBzcGVjaWZpYyB3aWxsIHNvbHZl
IGl0Lg0KICAgIA0KICAgIFRlY2huaWNhbGx5IGdlbmVyaWMgY29kZSBzaG91bGQgd29yayBmb3Ig
YWxsIHRoZSBhcmNoaXRlY3R1cmVzIGJ1dCBtYXkgDQogICAgbm90IGJlIGVmZmljaWVudC4gU28g
d2hhdCBpcyB0aGUgZXhhY3QgcHJvYmxlbSBoZXJlPw0KICAgIA0KICAgIENoZWVycywNCiAgICAN
CiAgICA+IA0KICAgID4gU2lnbmVkLW9mZi1ieTogU2FudGlhZ28gUGFnYW5pIDxzYW50aWFnb3Bh
Z2FuaUBnbWFpbC5jb20+DQogICAgPiAtLS0NCiAgICA+ICAgTWFrZWZpbGUudWsgfCAzNyArKysr
KysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tDQogICAgPiAgIDEgZmlsZSBjaGFuZ2Vk
LCAyNCBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkNCiAgICA+IA0KICAgID4gZGlmZiAt
LWdpdCBhL01ha2VmaWxlLnVrIGIvTWFrZWZpbGUudWsNCiAgICA+IGluZGV4IDE3ZDhkN2EuLjg4
MjhlYmIgMTAwNjQ0DQogICAgPiAtLS0gYS9NYWtlZmlsZS51aw0KICAgID4gKysrIGIvTWFrZWZp
bGUudWsNCiAgICA+IEBAIC0xMDYsMTAgKzEwNiwxMiBAQCBMSUJORVdMSUJfU1VQUFJFU1NfRkxB
R1MtJChjYWxsIGdjY192ZXJzaW9uX2dlLDYsMCkgKz0gLVduby1taXNsZWFkaW5nLWluZGVudGF0
aQ0KICAgID4gICBMSUJORVdMSUJfU1VQUFJFU1NfRkxBR1MtJChjYWxsIGdjY192ZXJzaW9uX2dl
LDYsMCkgKz0gLVduby1zaGlmdC1uZWdhdGl2ZS12YWx1ZQ0KICAgID4gICBMSUJORVdMSUJfU1VQ
UFJFU1NfRkxBR1MtJChjYWxsIGdjY192ZXJzaW9uX2dlLDcsMCkgKz0gLVduby1pbXBsaWNpdC1m
YWxsdGhyb3VnaA0KICAgID4gICANCiAgICA+IC1MSUJORVdMSUJDX0NGTEFHUy15ICAgKz0gJChM
SUJORVdMSUJfU1VQUFJFU1NfRkxBR1MteSkNCiAgICA+IC1MSUJORVdMSUJNX0NGTEFHUy15ICAg
Kz0gJChMSUJORVdMSUJfU1VQUFJFU1NfRkxBR1MteSkNCiAgICA+IC1MSUJORVdMSUJDX0NYWEZM
QUdTLXkgKz0gJChMSUJORVdMSUJfU1VQUFJFU1NfRkxBR1MteSkNCiAgICA+IC1MSUJORVdMSUJN
X0NYWEZMQUdTLXkgKz0gJChMSUJORVdMSUJfU1VQUFJFU1NfRkxBR1MteSkNCiAgICA+ICtMSUJO
RVdMSUJfTk9fQlVJTFRJTlMJCSs9IC1EX19OT19TWVNDQUxMU19fIC1mbm8tYnVpbHRpbg0KICAg
ID4gKw0KICAgID4gK0xJQk5FV0xJQkNfQ0ZMQUdTLXkgICArPSAkKExJQk5FV0xJQl9TVVBQUkVT
U19GTEFHUy15KSAkKExJQk5FV0xJQl9OT19CVUlMVElOUykNCiAgICA+ICtMSUJORVdMSUJNX0NG
TEFHUy15ICAgKz0gJChMSUJORVdMSUJfU1VQUFJFU1NfRkxBR1MteSkgJChMSUJORVdMSUJfTk9f
QlVJTFRJTlMpDQogICAgPiArTElCTkVXTElCQ19DWFhGTEFHUy15ICs9ICQoTElCTkVXTElCX1NV
UFBSRVNTX0ZMQUdTLXkpICQoTElCTkVXTElCX05PX0JVSUxUSU5TKQ0KICAgID4gK0xJQk5FV0xJ
Qk1fQ1hYRkxBR1MteSArPSAkKExJQk5FV0xJQl9TVVBQUkVTU19GTEFHUy15KSAkKExJQk5FV0xJ
Ql9OT19CVUlMVElOUykNCiAgICA+ICAgDQogICAgPiAgIExJQk5FV0xJQkdMVUVfU1VQUFJFU1Nf
RkxBR1MteSArPSAtV25vLXVudXNlZC1wYXJhbWV0ZXINCiAgICA+ICAgTElCTkVXTElCR0xVRV9D
RkxBR1MteSAgICs9ICQoTElCTkVXTElCR0xVRV9TVVBQUkVTU19GTEFHUy15KQ0KICAgID4gQEAg
LTczMSwxMCArNzMzLDEzIEBAIExJQk5FV0xJQkNfU1JDUy15ICs9ICQoTElCTkVXTElCX0xJQkMp
L3N0cmluZy9tZW1tZW0uYw0KICAgID4gICBMSUJORVdMSUJDX1NSQ1MteSArPSAkKExJQk5FV0xJ
Ql9MSUJDKS9zdHJpbmcvcmluZGV4LmMNCiAgICA+ICAgTElCTkVXTElCQ19TUkNTLXkgKz0gJChM
SUJORVdMSUJfTElCQykvc3RyaW5nL3N0cmNhc2VjbXAuYw0KICAgID4gICBMSUJORVdMSUJDX1NS
Q1MteSArPSAkKExJQk5FV0xJQl9MSUJDKS9zdHJpbmcvc3RyY2F0LmMNCiAgICA+IC1MSUJORVdM
SUJDX1NSQ1MteSArPSAkKExJQk5FV0xJQl9MSUJDKS9zdHJpbmcvc3RyY2hyLmMNCiAgICA+IC1M
SUJORVdMSUJDX1NSQ1MteSArPSAkKExJQk5FV0xJQl9MSUJDKS9zdHJpbmcvc3RyY21wLmMNCiAg
ICA+ICtMSUJORVdMSUJDX1NSQ1MtJChDT05GSUdfQVJDSF9YODZfNjQpICs9ICQoTElCTkVXTElC
X0xJQkMpL3N0cmluZy9zdHJjaHIuYw0KICAgID4gK0xJQk5FV0xJQkNfU1JDUy0kKENPTkZJR19B
UkNIX0FSTV82NCkgKz0gJChMSUJORVdMSUJfTElCQykvbWFjaGluZS9hYXJjaDY0L3N0cmNoci5T
DQogICAgPiArTElCTkVXTElCQ19TUkNTLSQoQ09ORklHX0FSQ0hfWDg2XzY0KSArPSAkKExJQk5F
V0xJQl9MSUJDKS9zdHJpbmcvc3RyY21wLmMNCiAgICA+ICtMSUJORVdMSUJDX1NSQ1MtJChDT05G
SUdfQVJDSF9BUk1fNjQpICs9ICQoTElCTkVXTElCX0xJQkMpL21hY2hpbmUvYWFyY2g2NC9zdHJj
bXAuUw0KICAgID4gICBMSUJORVdMSUJDX1NSQ1MteSArPSAkKExJQk5FV0xJQl9MSUJDKS9zdHJp
bmcvc3RyY29sbC5jDQogICAgPiAtTElCTkVXTElCQ19TUkNTLXkgKz0gJChMSUJORVdMSUJfTElC
Qykvc3RyaW5nL3N0cmNweS5jDQogICAgPiArTElCTkVXTElCQ19TUkNTLSQoQ09ORklHX0FSQ0hf
WDg2XzY0KSArPSAkKExJQk5FV0xJQl9MSUJDKS9zdHJpbmcvc3RyY3B5LmMNCiAgICA+ICtMSUJO
RVdMSUJDX1NSQ1MtJChDT05GSUdfQVJDSF9BUk1fNjQpICs9ICQoTElCTkVXTElCX0xJQkMpL21h
Y2hpbmUvYWFyY2g2NC9zdHJjcHkuUw0KICAgID4gICBMSUJORVdMSUJDX1NSQ1MteSArPSAkKExJ
Qk5FV0xJQl9MSUJDKS9zdHJpbmcvc3RyY3Nwbi5jDQogICAgPiAgIExJQk5FV0xJQkNfU1JDUy15
ICs9ICQoTElCTkVXTElCX0xJQkMpL3N0cmluZy9zdHJkdXAuYw0KICAgID4gICBMSUJORVdMSUJD
X1NSQ1MteSArPSAkKExJQk5FV0xJQl9MSUJDKS9zdHJpbmcvc3RyZHVwX3IuYw0KICAgID4gQEAg
LTc0MiwxNyArNzQ3LDIxIEBAIExJQk5FV0xJQkNfU1JDUy15ICs9ICQoTElCTkVXTElCX0xJQkMp
L3N0cmluZy9zdHJlcnJvci5jDQogICAgPiAgIExJQk5FV0xJQkNfU1JDUy15ICs9ICQoTElCTkVX
TElCX0xJQkMpL3N0cmluZy9zdHJlcnJvcl9yLmMNCiAgICA+ICAgTElCTkVXTElCQ19TUkNTLXkg
Kz0gJChMSUJORVdMSUJfTElCQykvc3RyaW5nL3N0cmxjYXQuYw0KICAgID4gICBMSUJORVdMSUJD
X1NSQ1MteSArPSAkKExJQk5FV0xJQl9MSUJDKS9zdHJpbmcvc3RybGNweS5jDQogICAgPiAtTElC
TkVXTElCQ19TUkNTLXkgKz0gJChMSUJORVdMSUJfTElCQykvc3RyaW5nL3N0cmxlbi5jDQogICAg
PiArTElCTkVXTElCQ19TUkNTLSQoQ09ORklHX0FSQ0hfWDg2XzY0KSArPSAkKExJQk5FV0xJQl9M
SUJDKS9zdHJpbmcvc3RybGVuLmMNCiAgICA+ICtMSUJORVdMSUJDX1NSQ1MtJChDT05GSUdfQVJD
SF9BUk1fNjQpICs9ICQoTElCTkVXTElCX0xJQkMpL21hY2hpbmUvYWFyY2g2NC9zdHJsZW4uUw0K
ICAgID4gICBMSUJORVdMSUJDX1NSQ1MteSArPSAkKExJQk5FV0xJQl9MSUJDKS9zdHJpbmcvc3Ry
bHdyLmMNCiAgICA+ICAgTElCTkVXTElCQ19TUkNTLXkgKz0gJChMSUJORVdMSUJfTElCQykvc3Ry
aW5nL3N0cm5jYXNlY21wLmMNCiAgICA+ICAgTElCTkVXTElCQ19TUkNTLXkgKz0gJChMSUJORVdM
SUJfTElCQykvc3RyaW5nL3N0cm5jYXNlY21wX2wuYw0KICAgID4gICBMSUJORVdMSUJDX1NSQ1Mt
eSArPSAkKExJQk5FV0xJQl9MSUJDKS9zdHJpbmcvc3RybmNhdC5jDQogICAgPiAtTElCTkVXTElC
Q19TUkNTLXkgKz0gJChMSUJORVdMSUJfTElCQykvc3RyaW5nL3N0cm5jbXAuYw0KICAgID4gK0xJ
Qk5FV0xJQkNfU1JDUy0kKENPTkZJR19BUkNIX1g4Nl82NCkgKz0gJChMSUJORVdMSUJfTElCQykv
c3RyaW5nL3N0cm5jbXAuYw0KICAgID4gK0xJQk5FV0xJQkNfU1JDUy0kKENPTkZJR19BUkNIX0FS
TV82NCkgKz0gJChMSUJORVdMSUJfTElCQykvbWFjaGluZS9hYXJjaDY0L3N0cm5jbXAuUw0KICAg
ID4gICBMSUJORVdMSUJDX1NSQ1MteSArPSAkKExJQk5FV0xJQl9MSUJDKS9zdHJpbmcvc3RybmNw
eS5jDQogICAgPiAtTElCTkVXTElCQ19TUkNTLXkgKz0gJChMSUJORVdMSUJfTElCQykvc3RyaW5n
L3N0cm5sZW4uYw0KICAgID4gK0xJQk5FV0xJQkNfU1JDUy0kKENPTkZJR19BUkNIX1g4Nl82NCkg
Kz0gJChMSUJORVdMSUJfTElCQykvc3RyaW5nL3N0cm5sZW4uYw0KICAgID4gK0xJQk5FV0xJQkNf
U1JDUy0kKENPTkZJR19BUkNIX0FSTV82NCkgKz0gJChMSUJORVdMSUJfTElCQykvbWFjaGluZS9h
YXJjaDY0L3N0cm5sZW4uUw0KICAgID4gICBMSUJORVdMSUJDX1NSQ1MteSArPSAkKExJQk5FV0xJ
Ql9MSUJDKS9zdHJpbmcvc3RybnN0ci5jDQogICAgPiAgIExJQk5FV0xJQkNfU1JDUy15ICs9ICQo
TElCTkVXTElCX0xJQkMpL3N0cmluZy9zdHJwYnJrLmMNCiAgICA+IC1MSUJORVdMSUJDX1NSQ1Mt
eSArPSAkKExJQk5FV0xJQl9MSUJDKS9zdHJpbmcvc3RycmNoci5jDQogICAgPiArTElCTkVXTElC
Q19TUkNTLSQoQ09ORklHX0FSQ0hfWDg2XzY0KSArPSAkKExJQk5FV0xJQl9MSUJDKS9zdHJpbmcv
c3RycmNoci5jDQogICAgPiArTElCTkVXTElCQ19TUkNTLSQoQ09ORklHX0FSQ0hfQVJNXzY0KSAr
PSAkKExJQk5FV0xJQl9MSUJDKS9tYWNoaW5lL2FhcmNoNjQvc3RycmNoci5TDQogICAgPiAgIExJ
Qk5FV0xJQkNfU1JDUy15ICs9ICQoTElCTkVXTElCX0xJQkMpL3N0cmluZy9zdHJzZXAuYw0KICAg
ID4gICBMSUJORVdMSUJDX1NSQ1MteSArPSAkKExJQk5FV0xJQl9MSUJDKS9zdHJpbmcvc3Ryc2ln
bmFsLmMNCiAgICA+ICAgTElCTkVXTElCQ19TUkNTLXkgKz0gJChMSUJORVdMSUJfTElCQykvc3Ry
aW5nL3N0cnNwbi5jDQogICAgPiBAQCAtNzk1LDExICs4MDQsMTMgQEAgTElCTkVXTElCQ19TUkNT
LXkgKz0gJChMSUJORVdMSUJfTElCQykvc3RyaW5nL3hwZ19zdHJlcnJvcl9yLmMNCiAgICA+ICAg
TElCTkVXTElCQ19TUkNTLXkgKz0gJChMSUJORVdMSUJfTElCQykvc3RyaW5nL2JjbXAuYw0KICAg
ID4gICBMSUJORVdMSUJDX1NSQ1MteSArPSAkKExJQk5FV0xJQl9MSUJDKS9zdHJpbmcvbWVtY2Nw
eS5jDQogICAgPiAgIExJQk5FV0xJQkNfU1JDUy15ICs9ICQoTElCTkVXTElCX0xJQkMpL3N0cmlu
Zy9tZW1wY3B5LmMNCiAgICA+IC1MSUJORVdMSUJDX1NSQ1MteSArPSAkKExJQk5FV0xJQl9MSUJD
KS9zdHJpbmcvc3RwY3B5LmMNCiAgICA+ICtMSUJORVdMSUJDX1NSQ1MtJChDT05GSUdfQVJDSF9Y
ODZfNjQpICs9ICQoTElCTkVXTElCX0xJQkMpL3N0cmluZy9zdHBjcHkuYw0KICAgID4gK0xJQk5F
V0xJQkNfU1JDUy0kKENPTkZJR19BUkNIX0FSTV82NCkgKz0gJChMSUJORVdMSUJfTElCQykvbWFj
aGluZS9hYXJjaDY0L3N0cGNweS5TDQogICAgPiAgIExJQk5FV0xJQkNfU1JDUy15ICs9ICQoTElC
TkVXTElCX0xJQkMpL3N0cmluZy9zdHBuY3B5LmMNCiAgICA+ICAgTElCTkVXTElCQ19TUkNTLXkg
Kz0gJChMSUJORVdMSUJfTElCQykvc3RyaW5nL3N0cm5kdXAuYw0KICAgID4gICBMSUJORVdMSUJD
X1NSQ1MteSArPSAkKExJQk5FV0xJQl9MSUJDKS9zdHJpbmcvc3RyY2FzZXN0ci5jDQogICAgPiAt
TElCTkVXTElCQ19TUkNTLXkgKz0gJChMSUJORVdMSUJfTElCQykvc3RyaW5nL3N0cmNocm51bC5j
DQogICAgPiArTElCTkVXTElCQ19TUkNTLSQoQ09ORklHX0FSQ0hfWDg2XzY0KSArPSAkKExJQk5F
V0xJQl9MSUJDKS9zdHJpbmcvc3RyY2hybnVsLmMNCiAgICA+ICtMSUJORVdMSUJDX1NSQ1MtJChD
T05GSUdfQVJDSF9BUk1fNjQpICs9ICQoTElCTkVXTElCX0xJQkMpL21hY2hpbmUvYWFyY2g2NC9z
dHJjaHJudWwuUw0KICAgID4gICBMSUJORVdMSUJDX1NSQ1MteSArPSAkKExJQk5FV0xJQl9MSUJD
KS9zdHJpbmcvc3RybmR1cF9yLmMNCiAgICA+ICAgTElCTkVXTElCQ19TUkNTLXkgKz0gJChMSUJO
RVdMSUJfTElCQykvc3RyaW5nL3djcGNweS5jDQogICAgPiAgIExJQk5FV0xJQkNfU1JDUy15ICs9
ICQoTElCTkVXTElCX0xJQkMpL3N0cmluZy93Y3BuY3B5LmMNCiAgICA+IA0KICAgIA0KICAgIC0t
IA0KICAgIEp1bGllbiBHcmFsbA0KICAgIA0KICAgIF9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fDQogICAgTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdA0KICAg
IE1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZw0KICAgIGh0dHBzOi8vbGlzdHMueGVu
cHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWwNCg0KX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcg
bGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5w
cm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Thu Dec 19 13:00:31 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 19 Dec 2019 13:00:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ihvPq-00078i-V0; Thu, 19 Dec 2019 13:00:30 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=yrdy=2J=gmail.com=julien.grall.oss@srs-us1.protection.inumbo.net>)
 id 1ihvPp-00078c-9V
 for minios-devel@lists.xen.org; Thu, 19 Dec 2019 13:00:29 +0000
X-Inumbo-ID: 82af4eb2-225f-11ea-a914-bc764e2007e4
Received: from mail-ed1-f66.google.com (unknown [209.85.208.66])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 82af4eb2-225f-11ea-a914-bc764e2007e4;
 Thu, 19 Dec 2019 13:00:20 +0000 (UTC)
Received: by mail-ed1-f66.google.com with SMTP id b8so4784421edx.7
 for <minios-devel@lists.xen.org>; Thu, 19 Dec 2019 05:00:20 -0800 (PST)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:subject:to:cc:references:from:message-id:date
 :user-agent:mime-version:in-reply-to:content-language
 :content-transfer-encoding;
 bh=FgWViWLbqpbPkQLXWfODKyHFipedTAU/8bei5NLkdio=;
 b=bhkQXOI4fIAKloqGIBCdtvDH7a3LhavVyA8u9lXZz3SNiLMmM5dEbRxaSZ3/3ZUU+d
 EHgtYCGieoOTeTVFBbnZ2A9Y2aEY50ehRdsx6/ttoDMfYbxOasleG1kX5ZWrT9AaHmrm
 t+KlJkUL2V6LiZfCdbUxa1BvzxXHlVjARCn5NePENidw6CQRe+vy2d3H6rVbmx+PO6W4
 h6rRH4A/AT8OxO46VsQ0cNavpTicOYUkh9ZRRdAah4GIHdbtUBIBEKG4ys17VsuWHu3I
 ZDB0W3D/+rdePZIKnki+w4j2qvx52pprztNXfQcO65vri3TPGP6Vz6aaiNYht3D6CN+C
 flvg==
X-Gm-Message-State: APjAAAUiwzNtRBJemqxV6ZIDpWiN8St/uz0xDqG3D5wBnekPCMnjlN7s
 TZVBqub2829T2+XOGwvWyqQ=
X-Google-Smtp-Source: APXvYqy1QZUg9g0HkuawZ195CwdIYh/EJtyVuQfoyMjLyytoY55D3aXa3VJjNfO4K1K/MGXAKYmfWg==
X-Received: by 2002:a17:906:eda9:: with SMTP id
 sa9mr8963051ejb.297.1576760419316; 
 Thu, 19 Dec 2019 05:00:19 -0800 (PST)
Received: from a483e7b01a66.ant.amazon.com (54-240-197-238.amazon.com.
 [54.240.197.238])
 by smtp.gmail.com with ESMTPSA id s12sm477350eja.79.2019.12.19.05.00.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 19 Dec 2019 05:00:18 -0800 (PST)
To: Santiago Pagani <Santiago.Pagani@neclab.eu>,
 "minios-devel@lists.xen.org" <minios-devel@lists.xen.org>
References: <20191219112026.28017-1-santiago.pagani@neclab.eu>
 <20191219112026.28017-2-santiago.pagani@neclab.eu>
 <43bc5ead-4beb-8fb2-c221-4af5cc00d5c2@xen.org>
 <6B9D99B9-CCBF-493B-8252-8C2F91460136@neclab.eu>
From: Julien Grall <julien@xen.org>
Message-ID: <cb47ed9d-3c54-d9ee-dbd6-9503dd39e886@xen.org>
Date: Thu, 19 Dec 2019 13:00:18 +0000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:68.0)
 Gecko/20100101 Thunderbird/68.3.0
MIME-Version: 1.0
In-Reply-To: <6B9D99B9-CCBF-493B-8252-8C2F91460136@neclab.eu>
Content-Language: en-GB
Subject: Re: [Minios-devel] [UNIKRAFT/NEWLIB PATCH 1/1] Add patch to have
 newlib running on ARM64
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Simon Kuenzer <simon.kuenzer@neclab.eu>,
 Santiago Pagani <santiagopagani@gmail.com>,
 Costin Lupu <costin.lupu@cs.pub.ro>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

CgpPbiAxOS8xMi8yMDE5IDEyOjM1LCBTYW50aWFnbyBQYWdhbmkgd3JvdGU6Cj4gSGkgSnVsaWVu
LAo+IAo+IFRoZSBwcm9ibGVtIGlzIHRoZSBzYW1lIG9uZSBlbmNvdW50ZXJlZCBieSBKdXN0aW4s
IHF1b3RlZCAic29tZSBmZHQgbm9kZXMgYXJlIHBhcnNlZCBpbmNvcnJlY3RseSwgZXNwZWNpYWxs
eSBmb3IgdGhvc2UgY29tcGF0aWJsZSBzdHJpbmdzIHdpdGggIlwwIiIuIFRoaXMgc2VlbXMgdG8g
YmUgYSBuZXdsaWIgYnVnIHdoZW4gY29tcGlsaW5nIGZvciBBUk02NC4KPiAKPiBJbnN0ZWFkIG9m
IHVzaW5nIEp1c3RpbidzIHdvcmthcm91bmQgdGhhdCBhZGRzIHRoZSAtRFBSRUZFUl9TSVpFX09W
RVJfU1BFRUQgZmxhZywgdGhpcyBwYXRjaCBhdHRlbXB0cyB0byBzb2x2ZSBpdCBpbiBhIG1vcmUg
cm9idXN0IHdheSBieSB1c2luZyB0aGUgbWFjaGluZSBzcGVjaWZpYyBzb3VyY2UgZmlsZXMsIHdy
aXR0ZW4gYW5kIHRlc3RlZCBmb3IgQVJNNjQuCgpUaGF0J3MgYSBtYXR0ZXIgb2YgcGVyc3BlY3Rp
dmUsIHRoZXJlIGlzIHN0aWxsIG5vdGhpbmcgaW4gdGhlIHN0YWNrIAp0cmFjZSBiZWxvdyBwcm92
aW5nIHRoaXMgaXMgYSBuZXdsaWIgYnVnLiBZb3VyIGNoYW5nZXMgbWF5IGp1c3QgbWFrZSAKaGFy
ZGVyIHRvIHJlcHJvZHVjZSB0aGUgYnVnLgoKPiAKPiBXaXRob3V0IHRoZSBwYXRjaCwgdGhlIG91
dHB1dCB3ZSBzZWUgaXM6Cj4gcWVtdS1zeXN0ZW0tYWFyY2g2NCAtbWFjaGluZSB2aXJ0IC1jcHUg
Y29ydGV4LWE1MyAtZGlzcGxheSBub25lIC1zZXJpYWwgc3RkaW8gLW0gMzJNIC1rZXJuZWwgLi9i
dWlsZC9oZWxsb3dvcmxkX2t2bS1hcm02NAo+IFsgICAgMC4wMDAwMDBdIEluZm86IFtsaWJrdm1w
bGF0XSBzZXR1cC5jRm91bmQgZGV2aWNlIHRyZWUgb246ICVwCj4gICBAIDUxICAgOiBGb3VuZCBk
ZXZpY2UgdHJlZSBvbjogMHg0MDAwMDAwMAo+IFsgICAgMC4wMDAwMDBdIEluZm86IFtsaWJrdm1w
bGF0XSBwbDAxMS5jbGlia3ZtcGxhdCBAIDExOSAgOiBTZXJpYWwgaW5pdGlhbGl6aW5nCj4gWyAg
ICAwLjAwMDAwMF0gSW5mbzogW2xpYmt2bXBsYXRdIHBsMDExLmNsaWJrdm1wbGF0IEAgMTM5ICA6
IEZvdW5kIFBMMDExIFVBUlQgb246IDB4OTAwMDAwMAo+IFsgICAgMC4wMDAwMDBdIEluZm86IFts
aWJrdm1wbGF0XSBwbDAxMS5jbGlia3ZtcGxhdCBAIDE0MiAgOiBQTDAxMSBVQVJUIGluaXRpYWxp
emVkCj4gWyAgICAwLjAwMDAwMF0gSW5mbzogW2xpYmt2bXBsYXRdIHNldHVwLmNGb3VuZCBkZXZp
Y2UgdHJlZSBvbjogJXAKPiAgIEAgMjEzICA6IEVudGVyaW5nIGZyb20gS1ZNIChhcm02NCkuLi4K
PiBbICAgIDAuMDAwMDAwXSBJbmZvOiBbbGlia3ZtcGxhdF0gc2V0dXAuY0ZvdW5kIGRldmljZSB0
cmVlIG9uOiAlcAo+ICAgQCAxOTkgIDogTm8gY29tbWFuZCBsaW5lIGZvdW5kCj4gWyAgICAwLjAw
MDAwMF0gSW5mbzogW2xpYmt2bXBsYXRdIHNldHVwLmNGb3VuZCBkZXZpY2UgdHJlZSBvbjogJXAK
PiAgIEAgNjkgICA6IE5vIFBTQ0kgY29uZHVpdCBmb3VuZCBpbiBEVEIKPiBbICAgIDAuMDAwMDAw
XSBJbmZvOiBbbGlia3ZtcGxhdF0gc2V0dXAuY0ZvdW5kIGRldmljZSB0cmVlIG9uOiAlcAo+ICAg
QCA5MyAgIDogU3VwcG9ydCBQU0NJIGZyb20gUFNDSS0wLjIKPiBbICAgIDAuMDAwMDAwXSBXYXJu
OiBbbGlia3ZtcGxhdF0gc2V0dXAuY0ZvdW5kIGRldmljZSB0cmVlIG9uOiAlcAo+ICAgQCAxNDAg
IDogQ3VycmVudGx5LCB3ZSBzdXBwb3J0IG9ubHkgb25lIG1lbW9yeSBiYW5rIQo+IFsgICAgMC4w
MDAwMDBdIEluZm86IFtsaWJrdm1naWN2Ml0gZ2ljLXYyLmMgQCA0MjMgIDogUHJvYmluZyBHSUN2
Mi4uLgo+IFsgICAgMC4wMDAwMDBdIGRiZzogIFtsaWJrdm1vZnddIGZkdC5jbGlia3Ztb2Z3IEAg
MTczICA6IHJlYWNoZWQgcm9vdCBub2RlCj4gWyAgICAwLjAwMDAwMF0gZGJnOiAgW2xpYmt2bW9m
d10gZmR0LmNsaWJrdm1vZncgQCAxNzMgIDogcmVhY2hlZCByb290IG5vZGUKPiBbICAgIDAuMDAw
MDAwXSBJbmZvOiBbbGlia3ZtZ2ljdjJdIGdpYy12Mi5jIEAgNDQyICA6IEZvdW5kIEdJQ3YyIG9u
Ogo+IAlEaXN0cmlidXRvciAgOiAweDgwMDAwMDAgLSAweDdmZmZmZmYKPiBbICAgIDAuMDAwMDAw
XSBJbmZvOiBbbGlia3ZtZ2ljdjJdIGdpYy12Mi5jIEAgNDQ2ICA6IAlDUFUgaW50ZXJmYWNlOiAw
eDEwMDAwMDAwMDAwMDAgLSAweDEwMDAwMDgwMGZmZmYKPiBbICAgIDAuMDAwMDAwXSBJbmZvOiBb
bGlia3ZtZ2ljdjJdIGdpYy12Mi5jIEAgMzU0ICA6IEdJQ3YyIE1heCBDUFUgaW50ZXJmYWNlOjEK
PiBbICAgIDAuMDAwMDAwXSBJbmZvOiBbbGlia3ZtZ2ljdjJdIGdpYy12Mi5jIEAgMzYwICA6IEdJ
Q3YyIE1heCBpbnRlcnJ1cHQgbGluZXM6MzIKPiBbICAgIDAuMDAwMDAwXSBDUklUOiBbbGlia3Zt
cGxhdF0gdHJhcHMuYwkgU1AgICAgICAgOiAweCUwMTZseAo+IAkgRVNSX0VMMSAgOiAweCUwMTZs
eAo+IAkgRUxSX0VMMSAgOiAweCUwMTZseAo+IAkgTFIgKHgzMCkgOiAweCUwMTZseAo+IAkgUFNU
QVRFICAgOiAweCUwMTZseAo+IAkgRkFSX0VMMSAgOiAweCUwMTZseAo+IAkgeCUwMmQgfiB4JTAy
ZDogMHglMDE2bHggMHglMDE2bHggMHglMDE2bHggMHglMDE2bHgKPiAJIHgyOCB+IHgyOTogMHgl
MDE2bHggMHglMDE2bHgKPiBVbmlrcmFmdDogRUwlZCBpbnZhbGlkICVzIHRyYXAgY2F1Z2h0Cj4g
VW5pa3JhZnQ6IEVMMSBzeW5jIHRyYXAgY2F1Z2h0CgpUaGlzIGRvZXMgbm90IGdpdmUgbXVjaCBj
bHVlIGFzIG5vIHZhbHVlcyBhcmUgcHJpbnRlZC4gQ291bGQgeW91IHVwZGF0ZSAKVW5pa3JhZnQg
dG8gcHJpbnQ/CgpJIGFtIHBhcnRpY3VsYXJseSBpbnRlcmVzdGVkIHRvIHVuZGVyc2FuZCB0aGUg
Zmlyc3Qgb25lIGFzIHRoZSBvdGhlcnMgCmFyZSBwcm9iYWJseSBqdXN0IGEgY29uc2VxdWVuY2Ug
b2YgaXQuCgpDaGVlcnMsCgotLSAKSnVsaWVuIEdyYWxsCgpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlv
cy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3Jn
L21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Thu Dec 19 14:27:49 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 19 Dec 2019 14:27:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ihwmL-0005ui-Fu; Thu, 19 Dec 2019 14:27:49 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <SRS0=BGP1=2J=arm.com=justin.he@srs-us1.protection.inumbo.net>)
 id 1ihwmK-0005ud-Tc
 for minios-devel@lists.xenproject.org; Thu, 19 Dec 2019 14:27:48 +0000
X-Inumbo-ID: b5d787e4-226b-11ea-88e7-bc764e2007e4
Received: from foss.arm.com (unknown [217.140.110.172])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id b5d787e4-226b-11ea-88e7-bc764e2007e4;
 Thu, 19 Dec 2019 14:27:39 +0000 (UTC)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 4CE8131B;
 Thu, 19 Dec 2019 06:27:39 -0800 (PST)
Received: from localhost.localdomain (unknown [10.169.40.54])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 35EB33F6CF;
 Thu, 19 Dec 2019 06:27:36 -0800 (PST)
From: Jia He <justin.he@arm.com>
To: minios-devel@lists.xenproject.org, Simon Kuenzer <simon.kuenzer@neclab.eu>,
 Santiago.Pagani@neclab.eu
Date: Thu, 19 Dec 2019 22:27:17 +0800
Message-Id: <20191219142722.134251-1-justin.he@arm.com>
X-Mailer: git-send-email 2.17.1
Subject: [Minios-devel] [UNIKRAFT RFC PATCH 0/5] Support float point on
 arm64 kvm plat
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>, Kaly Xin <Kaly.Xin@arm.com>,
 Julien Grall <julien.grall@arm.com>, Jia He <justin.he@arm.com>,
 Sharan.Santhanam@neclab.eu
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhpcyBzZXJpZXMgaXMgdG8gZW5hYmxlIHRoZSBmbG9hdCBwb2ludCBzdXBwb3J0IG9uIGFybTY0
IGt2bSBwbGF0LgoKVGhlIGtleSBwb2ludCBpcyB0aGUgcGF0Y2ggMDEgYW5kIDA1CnBhdGNoIDAx
OiB3cml0ZSB0aGUgc3lzIHJlZ3MgdG8gZW5hYmxlIGZwCnBhdGNoIDA1OiBzYXZlL3Jlc3RvcmUg
dGhlIHEwLXEzMSBkdXJpbmcgY29udGV4dCBzd2l0Y2gKClRlc3RlZCBvbiBhIFRodW5kWDIKcWVt
dSBjb21tYW5kIGxpbmU6L3Vzci9sb2NhbC9iaW4vcWVtdS1zeXN0ZW0tYWFyY2g2NCAgXAotbWFj
aGluZSB2aXJ0LGdpYy12ZXJzaW9uPTIgLW0gMTAyNCAtY3B1IG1heCAtbm8tYWNwaSAtc21wIDEg
XAotZGlzcGxheSBub25lICAtbm9ncmFwaGljIC1ub2RlZmF1bHRzIC1zZXJpYWwgc3RkaW8gXAot
a2VybmVsIGJ1aWxkL2hlbGxvd29ybGRfa3ZtLWFybTY0CgpJIGNyZWF0ZWQgYSBhcHAgd2l0aCAy
IHRocmVhZHMsIGFuZCB0aGVuIHByaW50IHRoZWlyIGxvY2FsIGRvdWJsZS9mbG9hdAp2YXJpYWJs
ZXMuIExvb2tzIGZpbmUgdG8gbWUuCgpKaWEgSGUgKDUpOgogIHBsYXQ6IGJ1aWxkOiBBZGQgYSBj
b25maWcgb3B0aW9uIHRvIGVuYWJsZSBmcCBvbiBhcm02NAogIHBsYXQva3ZtOiBhcm02NDogRW5h
YmxlIHRoZSBmcC9zaW1kIGF0IHRoZSBzdGFydGluZyBwb2ludAogIGFyY2gvYXJtNjQ6IERvbid0
IHBhc3MgLW1nZW5lcmFsLXJlZ3Mtb25seSB3aGVuIENPTkZJR19GTE9BVF9QT0lOVCBpcwogICAg
eQogIGJ1aWxkOiBMaW5rIGxpYmdjYyBhdCB0aGUgZW5kIG9mIHRoZSBsaW5rIG9wdGlvbnMgbGlz
dAogIHBsYXQvYXJtOiBTdXBwb3J0IGZwL3NpbWQgc2F2ZS9yZXN0b3JlIGR1cmluZyBjb250ZXh0
IHN3aXRjaAoKIGFyY2gvYXJtL2FybTY0L01ha2VmaWxlLnVrICAgICAgICAgIHwgIDYgKysrCiBw
bGF0L0NvbmZpZy51ayAgICAgICAgICAgICAgICAgICAgICB8ICA3ICsrKwogcGxhdC9jb21tb24v
YXJtL3RocmVhZF9zdGFydDY0LlMgICAgfCA4MyArKysrKysrKysrKysrKysrKysrKysrKysrKysr
KwogcGxhdC9jb21tb24vaW5jbHVkZS9hcm0vYXJtNjQvY3B1LmggfCA0NiArKysrKysrKysrKysr
KystCiBwbGF0L2t2bS9MaW5rZXIudWsgICAgICAgICAgICAgICAgICB8ICAyICsKIHBsYXQva3Zt
L2FybS9lbnRyeTY0LlMgICAgICAgICAgICAgIHwgIDggKysrCiA2IGZpbGVzIGNoYW5nZWQsIDE1
MCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKLS0gCjIuMTcuMQoKCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5n
IGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVu
cHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Thu Dec 19 14:27:49 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 19 Dec 2019 14:27:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ihwmJ-0005uV-EY; Thu, 19 Dec 2019 14:27:47 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <SRS0=BGP1=2J=arm.com=justin.he@srs-us1.protection.inumbo.net>)
 id 1ihwmI-0005uO-DC
 for minios-devel@lists.xenproject.org; Thu, 19 Dec 2019 14:27:46 +0000
X-Inumbo-ID: b8682e0b-226b-11ea-91c0-12813bfff9fa
Received: from foss.arm.com (unknown [217.140.110.172])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id b8682e0b-226b-11ea-91c0-12813bfff9fa;
 Thu, 19 Dec 2019 14:27:44 +0000 (UTC)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 9ED01DA7;
 Thu, 19 Dec 2019 06:27:44 -0800 (PST)
Received: from localhost.localdomain (unknown [10.169.40.54])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 6628A3F6CF;
 Thu, 19 Dec 2019 06:27:42 -0800 (PST)
From: Jia He <justin.he@arm.com>
To: minios-devel@lists.xenproject.org, Simon Kuenzer <simon.kuenzer@neclab.eu>,
 Santiago.Pagani@neclab.eu
Date: Thu, 19 Dec 2019 22:27:19 +0800
Message-Id: <20191219142722.134251-3-justin.he@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20191219142722.134251-1-justin.he@arm.com>
References: <20191219142722.134251-1-justin.he@arm.com>
Subject: [Minios-devel] [UNIKRAFT RFC PATCH 2/5] plat/kvm: arm64: Enable the
 fp/simd at the starting point
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>, Kaly Xin <Kaly.Xin@arm.com>,
 Julien Grall <julien.grall@arm.com>, Jia He <justin.he@arm.com>,
 Sharan.Santhanam@neclab.eu
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

V3JpdGUgdGhlIHN5cyByZWcgdG8gZW5hYmxlIHRoZSBmcC9zaW1kIGZlYXR1cmUsIG90aGVyd2lz
ZSBpdCB3aWxsCmNhdXNlIGZsb2F0aW5nIHBvaW50L3NpbWQgZXhjZXB0aW9uIHdoZW4gdG91Y2hp
bmcgcTAtcTMxLgoKU2lnbmVkLW9mZi1ieTogSmlhIEhlIDxqdXN0aW4uaGVAYXJtLmNvbT4KLS0t
CiBwbGF0L2t2bS9hcm0vZW50cnk2NC5TIHwgOCArKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDgg
aW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL3BsYXQva3ZtL2FybS9lbnRyeTY0LlMgYi9wbGF0
L2t2bS9hcm0vZW50cnk2NC5TCmluZGV4IDM1OWEzMTAuLjFlMzIyNjggMTAwNjQ0Ci0tLSBhL3Bs
YXQva3ZtL2FybS9lbnRyeTY0LlMKKysrIGIvcGxhdC9rdm0vYXJtL2VudHJ5NjQuUwpAQCAtMzYs
NiArMzYsNyBAQAogI2luY2x1ZGUgPGt2bS1hcm0vbW0uaD4KICNpbmNsdWRlIDxhcm0vY3B1X2Rl
ZnMuaD4KICNpbmNsdWRlIDx1ay9wbGF0L2NvbW1vbi9zZWN0aW9ucy5oPgorI2luY2x1ZGUgPHVr
L2NvbmZpZy5oPgogCiAuZ2xvYmFsIHBhZ2VfdGFibGVfc2l6ZQogLmRhdGEKQEAgLTQ5LDYgKzUw
LDEzIEBAIHBhZ2VfdGFibGVfc2l6ZToKIAogLnRleHQKIEVOVFJZKF9saWJrdm1wbGF0X2VudHJ5
KQorI2lmZGVmIENPTkZJR19GTE9BVF9QT0lOVAorCS8qIEVuYWJsZSBmcC9zaW1kIHN1cHBvcnQg
Ki8KKwlsZHIgICAgICAgIHgwLCA9KDMgPDwgMjApCisJbXNyICAgICAgICBjcGFjcl9lbDEsIHgw
CisJaXNiCisjZW5kaWYKKwogCS8qIENhbGN1bGF0ZSB0aGUgaW1hZ2Ugc2l6ZSAqLwogCWxkciB4
MjUsID1fZHRiCiAJbGRyIHgyNiwgPV9lbmQKLS0gCjIuMTcuMQoKCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QK
TWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVj
dC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Thu Dec 19 14:27:54 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 19 Dec 2019 14:27:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ihwmQ-0005vb-HM; Thu, 19 Dec 2019 14:27:54 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <SRS0=BGP1=2J=arm.com=justin.he@srs-us1.protection.inumbo.net>)
 id 1ihwmP-0005vT-TL
 for minios-devel@lists.xenproject.org; Thu, 19 Dec 2019 14:27:53 +0000
X-Inumbo-ID: b76b0b26-226b-11ea-b6f1-bc764e2007e4
Received: from foss.arm.com (unknown [217.140.110.172])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id b76b0b26-226b-11ea-b6f1-bc764e2007e4;
 Thu, 19 Dec 2019 14:27:42 +0000 (UTC)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id EFC92328;
 Thu, 19 Dec 2019 06:27:41 -0800 (PST)
Received: from localhost.localdomain (unknown [10.169.40.54])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id B51D03F6CF;
 Thu, 19 Dec 2019 06:27:39 -0800 (PST)
From: Jia He <justin.he@arm.com>
To: minios-devel@lists.xenproject.org, Simon Kuenzer <simon.kuenzer@neclab.eu>,
 Santiago.Pagani@neclab.eu
Date: Thu, 19 Dec 2019 22:27:18 +0800
Message-Id: <20191219142722.134251-2-justin.he@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20191219142722.134251-1-justin.he@arm.com>
References: <20191219142722.134251-1-justin.he@arm.com>
Subject: [Minios-devel] [UNIKRAFT RFC PATCH 1/5] plat: build: Add a config
 option to enable fp on arm64
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>, Kaly Xin <Kaly.Xin@arm.com>,
 Julien Grall <julien.grall@arm.com>, Jia He <justin.he@arm.com>,
 Sharan.Santhanam@neclab.eu
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhpcyBjb25maWcgaXMgdG8gZW5hYmxlIHRoZSBzdXBwb3J0IGZvciBhcm02NCBmcCBmZWF0dXJl
LiBGcCBpcyBmb3IKYXBwbGljYXRpb24gb25seSwgbmV2ZXIgZm9yIFVua3JhZnQga2VybmVsIGl0
c2VsZi4KClRoaXMgY29uZmlnIGlzICduJyBieSBkZWZhdWx0IHNpbmNlIHRoZXJlIGlzIHNvbWUg
b3ZlcmhlYWQgZHVyaW5nIGNvbnRleHQKc3dpdGNoLgoKU2lnbmVkLW9mZi1ieTogSmlhIEhlIDxq
dXN0aW4uaGVAYXJtLmNvbT4KLS0tCiBwbGF0L0NvbmZpZy51ayB8IDcgKysrKysrKwogMSBmaWxl
IGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL3BsYXQvQ29uZmlnLnVrIGIv
cGxhdC9Db25maWcudWsKaW5kZXggMGViNWExMC4uZjU1NWYxNyAxMDA2NDQKLS0tIGEvcGxhdC9D
b25maWcudWsKKysrIGIvcGxhdC9Db25maWcudWsKQEAgLTIxLDMgKzIxLDEwIEBAIGNvbmZpZyBI
WgogCWhlbHAKIAkJQ29uZmlndXJlIHRoZSB0aW1lciBpbnRlcnJ1cHQgZnJlcXVlbmN5LgogCQlP
bmx5IGNoYW5nZSB0aGlzIGlmIHlvdSBrbm93IHdoYXQgeW91J3JlIGRvaW5nLgorCitjb25maWcg
RkxPQVRfUE9JTlQKKwlib29sICJhcm02NCBmbG9hdGluZyBwb2ludCBzdXBwb3J0IGluIGFwcGxp
Y2F0aW9uIgorCWRlZmF1bHQgbgorCWRlcGVuZHMgb24gQVJDSF9BUk1fNjQKKwloZWxwCisJCUVu
YWJsZSBzdXBwb3J0IEZQVSB1c2FnZSBpbiBhcHBsaWNhdGlvbgotLSAKMi4xNy4xCgoKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1h
aWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0
cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Thu Dec 19 14:27:59 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 19 Dec 2019 14:27:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ihwmV-0005wb-JH; Thu, 19 Dec 2019 14:27:59 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <SRS0=BGP1=2J=arm.com=justin.he@srs-us1.protection.inumbo.net>)
 id 1ihwmU-0005wR-Um
 for minios-devel@lists.xenproject.org; Thu, 19 Dec 2019 14:27:58 +0000
X-Inumbo-ID: ba9ab38c-226b-11ea-b6f1-bc764e2007e4
Received: from foss.arm.com (unknown [217.140.110.172])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id ba9ab38c-226b-11ea-b6f1-bc764e2007e4;
 Thu, 19 Dec 2019 14:27:47 +0000 (UTC)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 548C5DA7;
 Thu, 19 Dec 2019 06:27:47 -0800 (PST)
Received: from localhost.localdomain (unknown [10.169.40.54])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 156143F6CF;
 Thu, 19 Dec 2019 06:27:44 -0800 (PST)
From: Jia He <justin.he@arm.com>
To: minios-devel@lists.xenproject.org, Simon Kuenzer <simon.kuenzer@neclab.eu>,
 Santiago.Pagani@neclab.eu
Date: Thu, 19 Dec 2019 22:27:20 +0800
Message-Id: <20191219142722.134251-4-justin.he@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20191219142722.134251-1-justin.he@arm.com>
References: <20191219142722.134251-1-justin.he@arm.com>
Subject: [Minios-devel] [UNIKRAFT RFC PATCH 3/5] arch/arm64: Don't pass
 -mgeneral-regs-only when CONFIG_FLOAT_POINT is y
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>, Kaly Xin <Kaly.Xin@arm.com>,
 Julien Grall <julien.grall@arm.com>, Jia He <justin.he@arm.com>,
 Sharan.Santhanam@neclab.eu
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

U3VwcG9ydCBDT05GSUdfRkxPQVRfUE9JTlQgaW4gVW5pa3JhZnQgYXBwIHdpbGwgdGFrZSBzb21l
IG92ZXJoZWFkIGR1cmluZwpjb250ZXh0IHN3aXRjaC4gSGVuY2Ugc3RpbGwgdXNlIC1tZ2VuZXJh
bC1yZWdzLW9ubHkgd2hlbgpDT05GSUdfRkxPQVRfUE9JTlQgaXMgJ24nCgpTaWduZWQtb2ZmLWJ5
OiBKaWEgSGUgPGp1c3Rpbi5oZUBhcm0uY29tPgotLS0KIGFyY2gvYXJtL2FybTY0L01ha2VmaWxl
LnVrIHwgNiArKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKykKCmRpZmYgLS1n
aXQgYS9hcmNoL2FybS9hcm02NC9NYWtlZmlsZS51ayBiL2FyY2gvYXJtL2FybTY0L01ha2VmaWxl
LnVrCmluZGV4IGViNzNjYWMuLmIyYzA5M2MgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2FybTY0L01h
a2VmaWxlLnVrCisrKyBiL2FyY2gvYXJtL2FybTY0L01ha2VmaWxlLnVrCkBAIC0zLDkgKzMsMTUg
QEAKICMgd2Ugc2hvdWxkIG5vdCBlbmFibGUgdGhlIEZQICYgU0lNRCBhY2Nlc3MgZm9yIGtlcm5l
bC4gQXMgR0NDIHdpbGwKICMgdGhlIEZQICYgU0lNRCByZWdpc3RlcnMgdG8gcGFzcyBwYXJhbWV0
ZXJzLCB3ZSB1c2UgLW1nZW5lcmFsLXJlZ3Mtb25seQogIyBmbGFnIHRvIGZvcmNlIEdDQyB0byB1
c2UgZ2VuZXJpYyByZWdpc3RlcnMKK2lmZXEgKCQoQ09ORklHX0ZMT0FUX1BPSU5UKSx5KQorQVNG
TEFHUyAgKz0gLURfX0FSTV82NF9fCitDRkxBR1MgICArPSAtRF9fQVJNXzY0X18gLWZtcy1leHRl
bnNpb25zCitDWFhGTEFHUyArPSAtRF9fQVJNXzY0X18gLWZtcy1leHRlbnNpb25zCitlbHNlCiBB
U0ZMQUdTICArPSAtRF9fQVJNXzY0X18gLW1nZW5lcmFsLXJlZ3Mtb25seQogQ0ZMQUdTICAgKz0g
LURfX0FSTV82NF9fIC1mbXMtZXh0ZW5zaW9ucyAtbWdlbmVyYWwtcmVncy1vbmx5CiBDWFhGTEFH
UyArPSAtRF9fQVJNXzY0X18gLWZtcy1leHRlbnNpb25zIC1tZ2VuZXJhbC1yZWdzLW9ubHkKK2Vu
ZGlmCiAKIENJTkNMVURFUyAgICs9IC1JJChDT05GSUdfVUtfQkFTRSkvYXJjaC9hcm0vYXJtNjQv
aW5jbHVkZQogQVNJTkNMVURFUyAgKz0gLUkkKENPTkZJR19VS19CQVNFKS9hcmNoL2FybS9hcm02
NC9pbmNsdWRlCi0tIAoyLjE3LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0
cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlz
dGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Thu Dec 19 14:28:04 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 19 Dec 2019 14:28:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ihwma-0005xc-M6; Thu, 19 Dec 2019 14:28:04 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <SRS0=BGP1=2J=arm.com=justin.he@srs-us1.protection.inumbo.net>)
 id 1ihwmZ-0005xP-UH
 for minios-devel@lists.xenproject.org; Thu, 19 Dec 2019 14:28:03 +0000
X-Inumbo-ID: bc321a6e-226b-11ea-88e7-bc764e2007e4
Received: from foss.arm.com (unknown [217.140.110.172])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id bc321a6e-226b-11ea-88e7-bc764e2007e4;
 Thu, 19 Dec 2019 14:27:50 +0000 (UTC)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id ED21C31B;
 Thu, 19 Dec 2019 06:27:49 -0800 (PST)
Received: from localhost.localdomain (unknown [10.169.40.54])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id BDA8D3F6CF;
 Thu, 19 Dec 2019 06:27:47 -0800 (PST)
From: Jia He <justin.he@arm.com>
To: minios-devel@lists.xenproject.org, Simon Kuenzer <simon.kuenzer@neclab.eu>,
 Santiago.Pagani@neclab.eu
Date: Thu, 19 Dec 2019 22:27:21 +0800
Message-Id: <20191219142722.134251-5-justin.he@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20191219142722.134251-1-justin.he@arm.com>
References: <20191219142722.134251-1-justin.he@arm.com>
Subject: [Minios-devel] [UNIKRAFT RFC PATCH 4/5] build: Link libgcc at the
 end of the link options list
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>, Kaly Xin <Kaly.Xin@arm.com>,
 Julien Grall <julien.grall@arm.com>, Jia He <justin.he@arm.com>,
 Sharan.Santhanam@neclab.eu
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VG8gdXNlIG5ld2xpYiBvbiBhcm02NCBwbGF0IGt2bSwgbGliZ2NjIHNob3VsZCBiZSBsaW5rZWQg
YXQgdGhlIGVuZCBvZgp0aGUgb3B0aW9ucyBsaXN0LCBvdGhlcndpc2UgaXQgd2lsbCBiZSBpZ25v
cmVkIGR1ZSB0byAtc3RkbGliLgoKV2l0aG91dCB0aGlzIHBhdGNoLCB0aGVyZSB3aWxsIGJlIGEg
bGlua2luZyBlcnJvciBvbiBhcm0ga3ZtIHBsYXQ6CnN5c2xvZy5jOigudGV4dCsweDdkNWNjKTog
dW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX19mbG9hdHNpdGYnCnN5c2xvZy5jOigudGV4dCsweDdk
NWNjKTogcmVsb2NhdGlvbiB0cnVuY2F0ZWQgdG8gZml0OiBSX0FBUkNINjRfQ0FMTDI2IGFnYWlu
c3QgdW5kZWZpbmVkIHN5bWJvbCBgX19mbG9hdHNpdGYnCi9yb290L2hqL1VLL3VuaWtyYWZ0X3Vw
c3RyZWFtL2FwcHMvaGVsbG93b3JsZC9idWlsZC9oZWxsb3dvcmxkX2t2bS1hcm02NC5vOiBJbiBm
dW5jdGlvbiBgX19pZWVlNzU0X2h5cG90bCc6CnN5c2xvZy5jOigudGV4dCsweDk5NDM0KTogdW5k
ZWZpbmVkIHJlZmVyZW5jZSB0byBgX19tdWx0ZjMnCnN5c2xvZy5jOigudGV4dCsweDk5NDM0KTog
cmVsb2NhdGlvbiB0cnVuY2F0ZWQgdG8gZml0OiBSX0FBUkNINjRfQ0FMTDI2IGFnYWluc3QgdW5k
ZWZpbmVkIHN5bWJvbCBgX19tdWx0ZjMnCnN5c2xvZy5jOigudGV4dCsweDk5NDQ0KTogdW5kZWZp
bmVkIHJlZmVyZW5jZSB0byBgX19tdWx0ZjMnCnN5c2xvZy5jOigudGV4dCsweDk5NDQ0KTogYWRk
aXRpb25hbCByZWxvY2F0aW9uIG92ZXJmbG93cyBvbWl0dGVkIGZyb20gdGhlIG91dHB1dApzeXNs
b2cuYzooLnRleHQrMHg5OTQ1MCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9fYWRkdGYzJwov
cm9vdC9oai9VSy91bmlrcmFmdF91cHN0cmVhbS9hcHBzL2hlbGxvd29ybGQvYnVpbGQvaGVsbG93
b3JsZF9rdm0tYXJtNjQubzogSW4gZnVuY3Rpb24gYHNxcnRsJzoKc3lzbG9nLmM6KC50ZXh0KzB4
YjEyYzApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfX3RydW5jdGZkZjInCnN5c2xvZy5jOigu
dGV4dCsweGIxMmM4KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX19leHRlbmRkZnRmMicKCkFi
b3ZlIHVuZGVmaW5lZCBzeW1ib2xzIGFyZSBhdCBsaWJnY2MuYQoKU2lnbmVkLW9mZi1ieTogSmlh
IEhlIDxqdXN0aW4uaGVAYXJtLmNvbT4KLS0tCiBwbGF0L2t2bS9MaW5rZXIudWsgfCAyICsrCiAx
IGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvcGxhdC9rdm0vTGlu
a2VyLnVrIGIvcGxhdC9rdm0vTGlua2VyLnVrCmluZGV4IDVlNDIxOTMuLjY1YTVmOGUgMTAwNjQ0
Ci0tLSBhL3BsYXQva3ZtL0xpbmtlci51aworKysgYi9wbGF0L2t2bS9MaW5rZXIudWsKQEAgLTIs
NiArMiw3IEBAIGlmZXEgKHg4Nl82NCwkKENPTkZJR19VS19BUkNIKSkKIEtWTV9MREZMQUdTLXkg
Kz0gLVdsLC1tLGVsZl94ODZfNjQKIGVsc2UgaWZlcSAoYXJtNjQsJChDT05GSUdfVUtfQVJDSCkp
CiBLVk1fTERGTEFHUy15CSArPSAtV2wsLW0sYWFyY2g2NGVsZgorS1ZNX0xJTktfTElCR0NDX0ZM
QUcJOj0gLWxnY2MKIGVuZGlmCiAKIApAQCAtMjYsNiArMjcsNyBAQCAkKEtWTV9ERUJVR19JTUFH
RSk6ICQoS1ZNX0FMSUJTKSAkKEtWTV9BTElCUy15KSAkKEtWTV9PTElCUykgJChLVk1fT0xJQlMt
eSkgXAogCQkJLVdsJChjb21tYSktLXN0YXJ0LWdyb3VwIFwKIAkJCSQoS1ZNX0FMSUJTKSAkKEtW
TV9BTElCUy15KSBcCiAJCQkkKFVLX0FMSUJTKSAkKFVLX0FMSUJTLXkpIFwKKwkJCSQoS1ZNX0xJ
TktfTElCR0NDX0ZMQUcpIFwKIAkJCS1XbCQoY29tbWEpLS1lbmQtZ3JvdXAgXAogCQkJLW8gJChL
Vk1fSU1BR0UpLmxkLm8pCiAJJChjYWxsIGJ1aWxkX2NtZCxPQkpDT1BZLCwkKEtWTV9JTUFHRSku
byxcCi0tIAoyLjE3LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5w
cm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8v
bWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Thu Dec 19 14:28:09 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 19 Dec 2019 14:28:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ihwmf-0005yd-Nf; Thu, 19 Dec 2019 14:28:09 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <SRS0=BGP1=2J=arm.com=justin.he@srs-us1.protection.inumbo.net>)
 id 1ihwme-0005yU-Ub
 for minios-devel@lists.xenproject.org; Thu, 19 Dec 2019 14:28:08 +0000
X-Inumbo-ID: bdadf1b0-226b-11ea-88e7-bc764e2007e4
Received: from foss.arm.com (unknown [217.140.110.172])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id bdadf1b0-226b-11ea-88e7-bc764e2007e4;
 Thu, 19 Dec 2019 14:27:52 +0000 (UTC)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 91F01328;
 Thu, 19 Dec 2019 06:27:52 -0800 (PST)
Received: from localhost.localdomain (unknown [10.169.40.54])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 625313F6CF;
 Thu, 19 Dec 2019 06:27:50 -0800 (PST)
From: Jia He <justin.he@arm.com>
To: minios-devel@lists.xenproject.org, Simon Kuenzer <simon.kuenzer@neclab.eu>,
 Santiago.Pagani@neclab.eu
Date: Thu, 19 Dec 2019 22:27:22 +0800
Message-Id: <20191219142722.134251-6-justin.he@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20191219142722.134251-1-justin.he@arm.com>
References: <20191219142722.134251-1-justin.he@arm.com>
Subject: [Minios-devel] [UNIKRAFT RFC PATCH 5/5] plat/arm: Support fp/simd
 save/restore during context switch
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>, Kaly Xin <Kaly.Xin@arm.com>,
 Julien Grall <julien.grall@arm.com>, Jia He <justin.he@arm.com>,
 Sharan.Santhanam@neclab.eu
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RmxvYXRpbmcgcG9pbnQgZmVhdHVyZSBpcyB1c2VmdWwgZm9yIHNvbWUgYXBwbGljYXRpb25zLiBX
ZSBzaG91bGQKc2F2ZS9yZXN0b3JlIGZwIHJlZ2lzdGVycyBkdXJpbmcgY29udGV4dCBzd2l0Y2gu
CgpTaWduZWQtb2ZmLWJ5OiBKaWEgSGUgPGp1c3Rpbi5oZUBhcm0uY29tPgotLS0KIHBsYXQvY29t
bW9uL2FybS90aHJlYWRfc3RhcnQ2NC5TICAgIHwgODMgKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysKIHBsYXQvY29tbW9uL2luY2x1ZGUvYXJtL2FybTY0L2NwdS5oIHwgNDYgKysrKysrKysr
KysrKysrLQogMiBmaWxlcyBjaGFuZ2VkLCAxMjcgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMo
LSkKCmRpZmYgLS1naXQgYS9wbGF0L2NvbW1vbi9hcm0vdGhyZWFkX3N0YXJ0NjQuUyBiL3BsYXQv
Y29tbW9uL2FybS90aHJlYWRfc3RhcnQ2NC5TCmluZGV4IDlhODBmNjIuLmQ4MTA3MDQgMTAwNjQ0
Ci0tLSBhL3BsYXQvY29tbW9uL2FybS90aHJlYWRfc3RhcnQ2NC5TCisrKyBiL3BsYXQvY29tbW9u
L2FybS90aHJlYWRfc3RhcnQ2NC5TCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSA8dWsvcGxh
dC9jb21tb24vc3dfY3R4Lmg+CiAjaW5jbHVkZSA8dWsvYXJjaC9sY3B1Lmg+CiAjaW5jbHVkZSA8
dWsvYXNtLmg+CisjaW5jbHVkZSA8dWsvY29uZmlnLmg+CiAKIC8qCiAgKiBUaHJlYWQgc3RhY2sg
bWVtb3J5IGxheW91dDoKQEAgLTEyMSwzICsxMjIsODUgQEAgcmVzdG9yZV9wb2ludDoKIAlhZGQg
c3AsIHgyLCAjX19DQUxMRUVfU0FWRURfU0laRQogCXJldAogRU5EUFJPQyhhc21fc3dfY3R4X3N3
aXRjaCkKKworI2lmZGVmIENPTkZJR19GTE9BVF9QT0lOVAorLm1hY3JvIGZwc2ltZF9zYXZlIHN0
YXRlLCB0bXBucgorCXN0cAlxMCwgcTEsIFtcc3RhdGUsICMxNiAqIDBdCisJc3RwCXEyLCBxMywg
W1xzdGF0ZSwgIzE2ICogMl0KKwlzdHAJcTQsIHE1LCBbXHN0YXRlLCAjMTYgKiA0XQorCXN0cAlx
NiwgcTcsIFtcc3RhdGUsICMxNiAqIDZdCisJc3RwCXE4LCBxOSwgW1xzdGF0ZSwgIzE2ICogOF0K
KwlzdHAJcTEwLCBxMTEsIFtcc3RhdGUsICMxNiAqIDEwXQorCXN0cAlxMTIsIHExMywgW1xzdGF0
ZSwgIzE2ICogMTJdCisJc3RwCXExNCwgcTE1LCBbXHN0YXRlLCAjMTYgKiAxNF0KKwlzdHAJcTE2
LCBxMTcsIFtcc3RhdGUsICMxNiAqIDE2XQorCXN0cAlxMTgsIHExOSwgW1xzdGF0ZSwgIzE2ICog
MThdCisJc3RwCXEyMCwgcTIxLCBbXHN0YXRlLCAjMTYgKiAyMF0KKwlzdHAJcTIyLCBxMjMsIFtc
c3RhdGUsICMxNiAqIDIyXQorCXN0cAlxMjQsIHEyNSwgW1xzdGF0ZSwgIzE2ICogMjRdCisJc3Rw
CXEyNiwgcTI3LCBbXHN0YXRlLCAjMTYgKiAyNl0KKwlzdHAJcTI4LCBxMjksIFtcc3RhdGUsICMx
NiAqIDI4XQorCXN0cAlxMzAsIHEzMSwgW1xzdGF0ZSwgIzE2ICogMzBdIQorCW1ycwl4XHRtcG5y
LCBmcHNyCisJc3RyCXdcdG1wbnIsIFtcc3RhdGUsICMxNiAqIDJdCisJbXJzCXhcdG1wbnIsIGZw
Y3IKKwlzdHIJd1x0bXBuciwgW1xzdGF0ZSwgIzE2ICogMiArIDRdCisuZW5kbQorCisubWFjcm8g
ZnBzaW1kX3Jlc3RvcmVfZnBjciBzdGF0ZSwgdG1wCisJLyoKKwkgKiBXcml0ZXMgdG8gZnBjciBt
YXkgYmUgc2VsZi1zeW5jaHJvbmlzaW5nLCBzbyBhdm9pZCByZXN0b3JpbmcKKwkgKiB0aGUgcmVn
aXN0ZXIgaWYgaXQgaGFzbid0IGNoYW5nZWQuCisJICovCisJbXJzCVx0bXAsIGZwY3IKKwljbXAJ
XHRtcCwgXHN0YXRlCisJYi5lcQk5OTk5ZgorCW1zcglmcGNyLCBcc3RhdGUKKzk5OTk6CisuZW5k
bQorCisvKiBDbG9iYmVycyBcc3RhdGUgKi8KKy5tYWNybyBmcHNpbWRfcmVzdG9yZSBzdGF0ZSwg
dG1wbnIKKwlsZHAJcTAsIHExLCBbXHN0YXRlLCAjMTYgKiAwXQorCWxkcAlxMiwgcTMsIFtcc3Rh
dGUsICMxNiAqIDJdCisJbGRwCXE0LCBxNSwgW1xzdGF0ZSwgIzE2ICogNF0KKwlsZHAJcTYsIHE3
LCBbXHN0YXRlLCAjMTYgKiA2XQorCWxkcAlxOCwgcTksIFtcc3RhdGUsICMxNiAqIDhdCisJbGRw
CXExMCwgcTExLCBbXHN0YXRlLCAjMTYgKiAxMF0KKwlsZHAJcTEyLCBxMTMsIFtcc3RhdGUsICMx
NiAqIDEyXQorCWxkcAlxMTQsIHExNSwgW1xzdGF0ZSwgIzE2ICogMTRdCisJbGRwCXExNiwgcTE3
LCBbXHN0YXRlLCAjMTYgKiAxNl0KKwlsZHAJcTE4LCBxMTksIFtcc3RhdGUsICMxNiAqIDE4XQor
CWxkcAlxMjAsIHEyMSwgW1xzdGF0ZSwgIzE2ICogMjBdCisJbGRwCXEyMiwgcTIzLCBbXHN0YXRl
LCAjMTYgKiAyMl0KKwlsZHAJcTI0LCBxMjUsIFtcc3RhdGUsICMxNiAqIDI0XQorCWxkcAlxMjYs
IHEyNywgW1xzdGF0ZSwgIzE2ICogMjZdCisJbGRwCXEyOCwgcTI5LCBbXHN0YXRlLCAjMTYgKiAy
OF0KKwlsZHAJcTMwLCBxMzEsIFtcc3RhdGUsICMxNiAqIDMwXSEKKwlsZHIJd1x0bXBuciwgW1xz
dGF0ZSwgIzE2ICogMl0KKwltc3IJZnBzciwgeFx0bXBucgorCWxkcgl3XHRtcG5yLCBbXHN0YXRl
LCAjMTYgKiAyICsgNF0KKwlmcHNpbWRfcmVzdG9yZV9mcGNyIHhcdG1wbnIsIFxzdGF0ZQorLmVu
ZG0KKworCisvKgorICogU2F2ZSB0aGUgRlAgcmVnaXN0ZXJzLgorICoKKyAqIHgwIC0gcG9pbnRl
ciB0byBzdHJ1Y3QgZnBzaW1kX3N0YXRlCisgKi8KK0VOVFJZKGZwc2ltZF9zYXZlX3N0YXRlKQor
CWZwc2ltZF9zYXZlIHgwLCA4CisJcmV0CitFTkRQUk9DKGZwc2ltZF9zYXZlX3N0YXRlKQorCisv
KgorICogTG9hZCB0aGUgRlAgcmVnaXN0ZXJzLgorICoKKyAqIHgwIC0gcG9pbnRlciB0byBzdHJ1
Y3QgZnBzaW1kX3N0YXRlCisgKi8KK0VOVFJZKGZwc2ltZF9yZXN0b3JlX3N0YXRlKQorCWZwc2lt
ZF9yZXN0b3JlIHgwLCA4CisJcmV0CitFTkRQUk9DKGZwc2ltZF9yZXN0b3JlX3N0YXRlKQorI2Vu
ZGlmIC8qIENPTkZJR19GTE9BVF9QT0lOVCkgKi8KZGlmZiAtLWdpdCBhL3BsYXQvY29tbW9uL2lu
Y2x1ZGUvYXJtL2FybTY0L2NwdS5oIGIvcGxhdC9jb21tb24vaW5jbHVkZS9hcm0vYXJtNjQvY3B1
LmgKaW5kZXggMTIyNzI3YS4uNzEwOTBiMiAxMDA2NDQKLS0tIGEvcGxhdC9jb21tb24vaW5jbHVk
ZS9hcm0vYXJtNjQvY3B1LmgKKysrIGIvcGxhdC9jb21tb24vaW5jbHVkZS9hcm0vYXJtNjQvY3B1
LmgKQEAgLTExNiw2ICsxMTYsNDcgQEAgdm9pZCBoYWx0KHZvaWQpOwogdm9pZCByZXNldCh2b2lk
KTsKIHZvaWQgc3lzdGVtX29mZih2b2lkKTsKIAorI2lmZGVmIENPTkZJR19GTE9BVF9QT0lOVAor
c3RydWN0IHVzZXJfZnBzaW1kX3N0YXRlIHsKKwlfX3U2NAkJdnJlZ3NbMzIgKiAyXTsKKwlfX3Uz
MgkJZnBzcjsKKwlfX3UzMgkJZnBjcjsKKwlfX3UzMgkJX19yZXNlcnZlZFsyXTsKK307CisKK2V4
dGVybiB2b2lkIGZwc2ltZF9zYXZlX3N0YXRlKHVpbnRwdHJfdCBwdHIpOworZXh0ZXJuIHZvaWQg
ZnBzaW1kX3Jlc3RvcmVfc3RhdGUodWludHB0cl90IHB0cik7CisKK3N0YXRpYyBpbmxpbmUgdm9p
ZCBzYXZlX2V4dHJlZ3Moc3RydWN0IHN3X2N0eCAqY3R4KQoreworCWZwc2ltZF9zYXZlX3N0YXRl
KGN0eC0+ZXh0cmVncyk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCByZXN0b3JlX2V4dHJlZ3Mo
c3RydWN0IHN3X2N0eCAqY3R4KQoreworCWZwc2ltZF9yZXN0b3JlX3N0YXRlKGN0eC0+ZXh0cmVn
cyk7Cit9CisKK3N0YXRpYyBpbmxpbmUgc3RydWN0IHN3X2N0eCAqYXJjaF9hbGxvY19zd19jdHgo
c3RydWN0IHVrX2FsbG9jICphbGxvY2F0b3IpCit7CisJc3RydWN0IHN3X2N0eCAqY3R4OworCisJ
Y3R4ID0gKHN0cnVjdCBzd19jdHggKil1a19tYWxsb2MoYWxsb2NhdG9yLCBzaXplb2Yoc3RydWN0
IHN3X2N0eCkpOworCWlmIChjdHgpCisJCWN0eC0+ZXh0cmVncyA9ICh1aW50cHRyX3QpdWtfbWFs
bG9jKGFsbG9jYXRvciwKKwkJCQkJc2l6ZW9mKHN0cnVjdCB1c2VyX2Zwc2ltZF9zdGF0ZSkpOwor
CisJdWtfcHJfZGVidWcoIkFsbG9jYXRpbmcgJWx1IGJ5dGVzIGZvciBzdyBjdHggYXQgJXAsIGV4
dHJlZ3MgYXQgJXBcbiIsCisJCQlzaXplb2Yoc3RydWN0IHN3X2N0eCksIGN0eCwgKHZvaWQgKilj
dHgtPmV4dHJlZ3MpOworCisJcmV0dXJuIGN0eDsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGFy
Y2hfaW5pdF9leHRyZWdzKHN0cnVjdCBzd19jdHggKmN0eCBfX3VudXNlZCkKK3sKK30KKworI2Vs
c2UgLyogIUNPTkZJR19GTE9BVF9QT0lOVCAqLwogc3RhdGljIGlubGluZSB2b2lkIHNhdmVfZXh0
cmVncyhzdHJ1Y3Qgc3dfY3R4ICpjdHggX191bnVzZWQpCiB7CiB9CkBAIC0xMjgsOSArMTY5LDkg
QEAgc3RhdGljIGlubGluZSBzdHJ1Y3Qgc3dfY3R4ICphcmNoX2FsbG9jX3N3X2N0eChzdHJ1Y3Qg
dWtfYWxsb2MgKmFsbG9jYXRvcikKIHsKIAlzdHJ1Y3Qgc3dfY3R4ICpjdHg7CiAKLQljdHggPSB1
a19tYWxsb2MoYWxsb2NhdG9yLCBzaXplb2Yoc3RydWN0IHN3X2N0eCkpOworCWN0eCA9IChzdHJ1
Y3Qgc3dfY3R4ICopdWtfbWFsbG9jKGFsbG9jYXRvciwgc2l6ZW9mKHN0cnVjdCBzd19jdHgpKTsK
IAl1a19wcl9kZWJ1ZygiQWxsb2NhdGluZyAlbHUgYnl0ZXMgZm9yIHN3IGN0eCBhdCAlcFxuIiwK
LQkJICAgc2l6ZW9mKHN0cnVjdCBzd19jdHgpLCBjdHgpOworCQlzaXplb2Yoc3RydWN0IHN3X2N0
eCksIGN0eCk7CiAKIAlyZXR1cm4gY3R4OwogfQpAQCAtMTQwLDQgKzE4MSw1IEBAIHN0YXRpYyBp
bmxpbmUgdm9pZCBhcmNoX2luaXRfZXh0cmVncyhzdHJ1Y3Qgc3dfY3R4ICpjdHgpCiAJY3R4LT5l
eHRyZWdzID0gKHVpbnRwdHJfdCljdHggKyBzaXplb2Yoc3RydWN0IHN3X2N0eCk7CiB9CiAKKyNl
bmRpZiAvKiBDT05GSUdfRkxPQVRfUE9JTlQgKi8KICNlbmRpZiAvKiBfX1BMQVRfQ09NTU9OX0FS
TTY0X0NQVV9IX18gKi8KLS0gCjIuMTcuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVs
QGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1h
bi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Thu Dec 19 14:33:50 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 19 Dec 2019 14:33:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ihws9-0006gq-7s; Thu, 19 Dec 2019 14:33:49 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=yrdy=2J=gmail.com=julien.grall.oss@srs-us1.protection.inumbo.net>)
 id 1ihws7-0006gk-Lq
 for minios-devel@lists.xenproject.org; Thu, 19 Dec 2019 14:33:47 +0000
X-Inumbo-ID: 904e73ce-226c-11ea-91c9-12813bfff9fa
Received: from mail-ed1-f67.google.com (unknown [209.85.208.67])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 904e73ce-226c-11ea-91c9-12813bfff9fa;
 Thu, 19 Dec 2019 14:33:46 +0000 (UTC)
Received: by mail-ed1-f67.google.com with SMTP id t17so5066777eds.6
 for <minios-devel@lists.xenproject.org>; Thu, 19 Dec 2019 06:33:46 -0800 (PST)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:subject:to:cc:references:from:message-id:date
 :user-agent:mime-version:in-reply-to:content-language
 :content-transfer-encoding;
 bh=S3BliPLilZUZku2H8qzX/IC1161aWG2rhk2rccNqQRE=;
 b=RVyruUvKea9s9wBiX/QC7RqV8QhgmfreS0cBMyvXA/jD+m6J8fYvOYQdQoAFDM3O6o
 lC+SvEhs4wEFHlkx2ZvYpiLXG9ZhkUzU9sJwNsptjZVPTMTIYiLTmK1z6yIf0wTi/5Ii
 aoQNKU4GVLT8yp4NGncSfuC3v17XpxEMhqW1hgotPBsPQADjVo/48/e+ovQE0ByZE4Sg
 Cgnhvp3h5cffmnoHJCrCGFy5vCzOzSj00bnTr/rwq+I5Rj/qOekRz5f4P9kDq/MM9y4e
 ZK2/Pg2AhxWJux3sVtAwi1mMRU8TikcI6ShUVw2kWnRPhE4H40k4RzIR6I1UWP7nmrJT
 BcvQ==
X-Gm-Message-State: APjAAAVCtbCV15hq55Z4OH018V9hbqD0jVGj8zzrW/vPgv8BlwAPm61z
 /1o1IPIH5nOMwkmAfoiiLjo=
X-Google-Smtp-Source: APXvYqx/3Y2bNiuJLbl/e+Q910aebqUhhL5LiXjk1PtBraKZSYcIqjFY+5iYS7LoZQm6cZ0Tgaqd/A==
X-Received: by 2002:a50:b388:: with SMTP id s8mr9454679edd.26.1576766025805;
 Thu, 19 Dec 2019 06:33:45 -0800 (PST)
Received: from a483e7b01a66.ant.amazon.com (54-240-197-238.amazon.com.
 [54.240.197.238])
 by smtp.gmail.com with ESMTPSA id s11sm510137ejx.90.2019.12.19.06.33.44
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 19 Dec 2019 06:33:45 -0800 (PST)
To: Jia He <justin.he@arm.com>, minios-devel@lists.xenproject.org,
 Simon Kuenzer <simon.kuenzer@neclab.eu>, Santiago.Pagani@neclab.eu
References: <20191219142722.134251-1-justin.he@arm.com>
 <20191219142722.134251-2-justin.he@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <7986b99d-826f-2864-17be-5616cbe9d32c@xen.org>
Date: Thu, 19 Dec 2019 14:33:44 +0000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:68.0)
 Gecko/20100101 Thunderbird/68.3.0
MIME-Version: 1.0
In-Reply-To: <20191219142722.134251-2-justin.he@arm.com>
Content-Language: en-GB
Subject: Re: [Minios-devel] [UNIKRAFT RFC PATCH 1/5] plat: build: Add a
 config option to enable fp on arm64
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>, Kaly Xin <Kaly.Xin@arm.com>,
 Julien Grall <julien.grall@arm.com>, Sharan.Santhanam@neclab.eu
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGksCgpPbiAxOS8xMi8yMDE5IDE0OjI3LCBKaWEgSGUgd3JvdGU6Cj4gVGhpcyBjb25maWcgaXMg
dG8gZW5hYmxlIHRoZSBzdXBwb3J0IGZvciBhcm02NCBmcCBmZWF0dXJlLiBGcCBpcyBmb3IKPiBh
cHBsaWNhdGlvbiBvbmx5LCBuZXZlciBmb3IgVW5rcmFmdCBrZXJuZWwgaXRzZWxmLgo+IAo+IFRo
aXMgY29uZmlnIGlzICduJyBieSBkZWZhdWx0IHNpbmNlIHRoZXJlIGlzIHNvbWUgb3ZlcmhlYWQg
ZHVyaW5nIGNvbnRleHQKPiBzd2l0Y2guCj4gCj4gU2lnbmVkLW9mZi1ieTogSmlhIEhlIDxqdXN0
aW4uaGVAYXJtLmNvbT4KPiAtLS0KPiAgIHBsYXQvQ29uZmlnLnVrIHwgNyArKysrKysrCj4gICAx
IGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspCj4gCj4gZGlmZiAtLWdpdCBhL3BsYXQvQ29u
ZmlnLnVrIGIvcGxhdC9Db25maWcudWsKPiBpbmRleCAwZWI1YTEwLi5mNTU1ZjE3IDEwMDY0NAo+
IC0tLSBhL3BsYXQvQ29uZmlnLnVrCj4gKysrIGIvcGxhdC9Db25maWcudWsKPiBAQCAtMjEsMyAr
MjEsMTAgQEAgY29uZmlnIEhaCj4gICAJaGVscAo+ICAgCQlDb25maWd1cmUgdGhlIHRpbWVyIGlu
dGVycnVwdCBmcmVxdWVuY3kuCj4gICAJCU9ubHkgY2hhbmdlIHRoaXMgaWYgeW91IGtub3cgd2hh
dCB5b3UncmUgZG9pbmcuCj4gKwo+ICtjb25maWcgRkxPQVRfUE9JTlQKPiArCWJvb2wgImFybTY0
IGZsb2F0aW5nIHBvaW50IHN1cHBvcnQgaW4gYXBwbGljYXRpb24iCj4gKwlkZWZhdWx0IG4KPiAr
CWRlcGVuZHMgb24gQVJDSF9BUk1fNjQKPiArCWhlbHAKPiArCQlFbmFibGUgc3VwcG9ydCBGUFUg
dXNhZ2UgaW4gYXBwbGljYXRpb24KCkRvZXMgdGhpcyBjb25maWcgbmVlZHMgdG8gYmUgQXJtNjQg
Yml0PyBDYW4ndCB0aGlzIHBvdGVudGlhbGx5IGJlIApyZS11c2VkIGZvciBvdGhlciBhcmNoPwoK
Q2hlZXJzLAoKLS0gCkp1bGllbiBHcmFsbAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxA
bGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFu
L2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Thu Dec 19 14:35:10 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 19 Dec 2019 14:35:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ihwtS-0006ia-Di; Thu, 19 Dec 2019 14:35:10 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=yrdy=2J=gmail.com=julien.grall.oss@srs-us1.protection.inumbo.net>)
 id 1ihwtR-0006iV-Bp
 for minios-devel@lists.xenproject.org; Thu, 19 Dec 2019 14:35:09 +0000
X-Inumbo-ID: c11ef3c0-226c-11ea-91ca-12813bfff9fa
Received: from mail-ed1-f66.google.com (unknown [209.85.208.66])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id c11ef3c0-226c-11ea-91ca-12813bfff9fa;
 Thu, 19 Dec 2019 14:35:08 +0000 (UTC)
Received: by mail-ed1-f66.google.com with SMTP id r21so5091380edq.0
 for <minios-devel@lists.xenproject.org>; Thu, 19 Dec 2019 06:35:08 -0800 (PST)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:subject:to:cc:references:from:message-id:date
 :user-agent:mime-version:in-reply-to:content-language
 :content-transfer-encoding;
 bh=Cbcukc8cLXaQaKMd7Ucvq01e0BZm5N6j3XZ7HqI/fA8=;
 b=IQTk/3wuA2TJdp7ZY5NC8xhvNzEVrjU9DzN97sZhN9SNAfdxEWTKOeWP1QHl2eTaZs
 fAVloKyIwvExN9a3tLmGwDWhQPeaSF6RBorvUiMj5sql5ipELp8OUppoCObn9AXTKEEw
 nlJ2UhjbkmO4ZtG2YOPMrb+W8paJwrWOsz0dL0KPlA5J/JD8xHRq56LMeEzQGpddWKqL
 c48X4KWEW6CCfAlzbtqVgqUXB2YmBki1aXbGIlBeDoaxrKDfB/Ew1xv7LCcpe1OMZX9l
 tSeJ1nPUPoXpdnQ8Q8u0Qdy5VTJxWBF+6o5RUvePLSkShrIJ4V8hX7/zM7DhrKAbP4Pw
 psUg==
X-Gm-Message-State: APjAAAWUEyWcNdNicpFzF42YCVNxzG3zNwl+JpNc0nrxz8j18Zhq5lub
 1dX/qAsTHBLPz78Pt5L6rvA=
X-Google-Smtp-Source: APXvYqy3jVCfWy1ljmVTufxbVwhlzijppX3kQo2RLcV44zgmbkMva17JwE5NbZ8z/JMitScYkNk3gQ==
X-Received: by 2002:a17:906:8511:: with SMTP id
 i17mr9828954ejx.267.1576766107665; 
 Thu, 19 Dec 2019 06:35:07 -0800 (PST)
Received: from a483e7b01a66.ant.amazon.com (54-240-197-238.amazon.com.
 [54.240.197.238])
 by smtp.gmail.com with ESMTPSA id i9sm432691edl.34.2019.12.19.06.35.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 19 Dec 2019 06:35:06 -0800 (PST)
To: Jia He <justin.he@arm.com>, minios-devel@lists.xenproject.org,
 Simon Kuenzer <simon.kuenzer@neclab.eu>, Santiago.Pagani@neclab.eu
References: <20191219142722.134251-1-justin.he@arm.com>
 <20191219142722.134251-3-justin.he@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <0e928f78-d7bc-9845-89c9-cd594dd56868@xen.org>
Date: Thu, 19 Dec 2019 14:35:06 +0000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:68.0)
 Gecko/20100101 Thunderbird/68.3.0
MIME-Version: 1.0
In-Reply-To: <20191219142722.134251-3-justin.he@arm.com>
Content-Language: en-GB
Subject: Re: [Minios-devel] [UNIKRAFT RFC PATCH 2/5] plat/kvm: arm64: Enable
 the fp/simd at the starting point
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>, Kaly Xin <Kaly.Xin@arm.com>,
 Julien Grall <julien.grall@arm.com>, Sharan.Santhanam@neclab.eu
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGksCgpPbiAxOS8xMi8yMDE5IDE0OjI3LCBKaWEgSGUgd3JvdGU6Cj4gV3JpdGUgdGhlIHN5cyBy
ZWcgdG8gZW5hYmxlIHRoZSBmcC9zaW1kIGZlYXR1cmUsIG90aGVyd2lzZSBpdCB3aWxsCj4gY2F1
c2UgZmxvYXRpbmcgcG9pbnQvc2ltZCBleGNlcHRpb24gd2hlbiB0b3VjaGluZyBxMC1xMzEuCgpJ
biB5b3VyIGZpcnN0IHBhdGNoIHlvdSBzYXkgRlBTSU1EIHdpbGwgYmUgYXZhaWxhYmxlIGZvciBh
cHBsaWNhdGlvbiAKb25seS4gQnV0IGhlcmUsIHlvdSB3aWxsIGFsbG93IFVuaWtyYWZ0IGl0c2Vs
ZiB0byB1c2UgaXQuCgpTbyBkb24ndCB5b3Ugd2FudCB0byB0dXJuIHRoaXMgb25seSB3aGVuIGp1
bXBpbmcgdG8gdGhlIGFwcGxpY2F0aW9uIGNvZGU/Cgo+IAo+IFNpZ25lZC1vZmYtYnk6IEppYSBI
ZSA8anVzdGluLmhlQGFybS5jb20+Cj4gLS0tCj4gICBwbGF0L2t2bS9hcm0vZW50cnk2NC5TIHwg
OCArKysrKysrKwo+ICAgMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKQo+IAo+IGRpZmYg
LS1naXQgYS9wbGF0L2t2bS9hcm0vZW50cnk2NC5TIGIvcGxhdC9rdm0vYXJtL2VudHJ5NjQuUwo+
IGluZGV4IDM1OWEzMTAuLjFlMzIyNjggMTAwNjQ0Cj4gLS0tIGEvcGxhdC9rdm0vYXJtL2VudHJ5
NjQuUwo+ICsrKyBiL3BsYXQva3ZtL2FybS9lbnRyeTY0LlMKPiBAQCAtMzYsNiArMzYsNyBAQAo+
ICAgI2luY2x1ZGUgPGt2bS1hcm0vbW0uaD4KPiAgICNpbmNsdWRlIDxhcm0vY3B1X2RlZnMuaD4K
PiAgICNpbmNsdWRlIDx1ay9wbGF0L2NvbW1vbi9zZWN0aW9ucy5oPgo+ICsjaW5jbHVkZSA8dWsv
Y29uZmlnLmg+Cj4gICAKPiAgIC5nbG9iYWwgcGFnZV90YWJsZV9zaXplCj4gICAuZGF0YQo+IEBA
IC00OSw2ICs1MCwxMyBAQCBwYWdlX3RhYmxlX3NpemU6Cj4gICAKPiAgIC50ZXh0Cj4gICBFTlRS
WShfbGlia3ZtcGxhdF9lbnRyeSkKPiArI2lmZGVmIENPTkZJR19GTE9BVF9QT0lOVAo+ICsJLyog
RW5hYmxlIGZwL3NpbWQgc3VwcG9ydCAqLwo+ICsJbGRyICAgICAgICB4MCwgPSgzIDw8IDIwKQo+
ICsJbXNyICAgICAgICBjcGFjcl9lbDEsIHgwCj4gKwlpc2IKPiArI2VuZGlmCj4gKwo+ICAgCS8q
IENhbGN1bGF0ZSB0aGUgaW1hZ2Ugc2l6ZSAqLwo+ICAgCWxkciB4MjUsID1fZHRiCj4gICAJbGRy
IHgyNiwgPV9lbmQKPiAKCi0tIApKdWxpZW4gR3JhbGwKCl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9z
LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcv
bWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Thu Dec 19 14:46:48 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 19 Dec 2019 14:46:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ihx4h-0007pB-Eq; Thu, 19 Dec 2019 14:46:47 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=yrdy=2J=gmail.com=julien.grall.oss@srs-us1.protection.inumbo.net>)
 id 1ihx4g-0007p5-KS
 for minios-devel@lists.xenproject.org; Thu, 19 Dec 2019 14:46:46 +0000
X-Inumbo-ID: 6040e0e8-226e-11ea-91e8-12813bfff9fa
Received: from mail-ed1-f65.google.com (unknown [209.85.208.65])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 6040e0e8-226e-11ea-91e8-12813bfff9fa;
 Thu, 19 Dec 2019 14:46:44 +0000 (UTC)
Received: by mail-ed1-f65.google.com with SMTP id cy15so5118562edb.4
 for <minios-devel@lists.xenproject.org>; Thu, 19 Dec 2019 06:46:44 -0800 (PST)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:subject:to:cc:references:from:message-id:date
 :user-agent:mime-version:in-reply-to:content-language
 :content-transfer-encoding;
 bh=BnEIeJAiM8n4ohapfiiKgyQDuyt2PWKhrUqGlYF0HzQ=;
 b=i053nsL1B+zH1ylqKx3uEMv6TGCO+kPIeQfBLT9fSa54aLIo0Hkh7b7LIG5ln/F7j3
 5i9KYqclG6e3uMNU9ouP5Ob5U6/V/IX8mPjxfYgzHbZ+Y0McfPMsUANZGZ1M0lxxeE+5
 D7QDJvvYQWwItGutDkzBn66BqSPHtMLN0DE660CXSHeIeqhuL6ZQq8KpFpiMIyzGfAGo
 ZKvRwWKZDyF30lqVcAYG7kUQrfNUuEk+lqGTCj0BixoLPqGxpZX+rBAoN3r9sRPe1zYB
 2DHLMe8sKvXwTqphgexLqzFtdcePpx5hdWMXxsn/0D6qJE0g4S/b3deOC57d0x2pT7la
 m3Og==
X-Gm-Message-State: APjAAAXEmKrBAhN3aTx0uAO3Oyv70kDWHufd0iPnbTt9xDWO5nc3w3jM
 qilPQv9mEFfH9XngycBA5+s=
X-Google-Smtp-Source: APXvYqzTVMKR7A595jVbONspD5MRXkZVZfJOYZ3t82guWSfDNFQpo6J/uO8xoxT0LynlNroCbNyjcw==
X-Received: by 2002:a05:6402:21e3:: with SMTP id
 ce3mr9564796edb.165.1576766803969; 
 Thu, 19 Dec 2019 06:46:43 -0800 (PST)
Received: from a483e7b01a66.ant.amazon.com (54-240-197-238.amazon.com.
 [54.240.197.238])
 by smtp.gmail.com with ESMTPSA id u2sm434269edx.35.2019.12.19.06.46.42
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 19 Dec 2019 06:46:43 -0800 (PST)
To: Jia He <justin.he@arm.com>, minios-devel@lists.xenproject.org,
 Simon Kuenzer <simon.kuenzer@neclab.eu>, Santiago.Pagani@neclab.eu
References: <20191219142722.134251-1-justin.he@arm.com>
 <20191219142722.134251-4-justin.he@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <5f1a4c66-d112-1b20-c17d-aba17ceee72e@xen.org>
Date: Thu, 19 Dec 2019 14:46:42 +0000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:68.0)
 Gecko/20100101 Thunderbird/68.3.0
MIME-Version: 1.0
In-Reply-To: <20191219142722.134251-4-justin.he@arm.com>
Content-Language: en-GB
Subject: Re: [Minios-devel] [UNIKRAFT RFC PATCH 3/5] arch/arm64: Don't pass
 -mgeneral-regs-only when CONFIG_FLOAT_POINT is y
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>, Kaly Xin <Kaly.Xin@arm.com>,
 Julien Grall <julien.grall@arm.com>, Sharan.Santhanam@neclab.eu
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

CgpPbiAxOS8xMi8yMDE5IDE0OjI3LCBKaWEgSGUgd3JvdGU6Cj4gU3VwcG9ydCBDT05GSUdfRkxP
QVRfUE9JTlQgaW4gVW5pa3JhZnQgYXBwIHdpbGwgdGFrZSBzb21lIG92ZXJoZWFkIGR1cmluZwo+
IGNvbnRleHQgc3dpdGNoLiBIZW5jZSBzdGlsbCB1c2UgLW1nZW5lcmFsLXJlZ3Mtb25seSB3aGVu
Cj4gQ09ORklHX0ZMT0FUX1BPSU5UIGlzICduJwo+IAo+IFNpZ25lZC1vZmYtYnk6IEppYSBIZSA8
anVzdGluLmhlQGFybS5jb20+Cj4gLS0tCj4gICBhcmNoL2FybS9hcm02NC9NYWtlZmlsZS51ayB8
IDYgKysrKysrCj4gICAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspCj4gCj4gZGlmZiAt
LWdpdCBhL2FyY2gvYXJtL2FybTY0L01ha2VmaWxlLnVrIGIvYXJjaC9hcm0vYXJtNjQvTWFrZWZp
bGUudWsKPiBpbmRleCBlYjczY2FjLi5iMmMwOTNjIDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtL2Fy
bTY0L01ha2VmaWxlLnVrCj4gKysrIGIvYXJjaC9hcm0vYXJtNjQvTWFrZWZpbGUudWsKPiBAQCAt
Myw5ICszLDE1IEBACj4gICAjIHdlIHNob3VsZCBub3QgZW5hYmxlIHRoZSBGUCAmIFNJTUQgYWNj
ZXNzIGZvciBrZXJuZWwuIEFzIEdDQyB3aWxsCj4gICAjIHRoZSBGUCAmIFNJTUQgcmVnaXN0ZXJz
IHRvIHBhc3MgcGFyYW1ldGVycywgd2UgdXNlIC1tZ2VuZXJhbC1yZWdzLW9ubHkKPiAgICMgZmxh
ZyB0byBmb3JjZSBHQ0MgdG8gdXNlIGdlbmVyaWMgcmVnaXN0ZXJzCj4gK2lmZXEgKCQoQ09ORklH
X0ZMT0FUX1BPSU5UKSx5KQo+ICtBU0ZMQUdTICArPSAtRF9fQVJNXzY0X18KPiArQ0ZMQUdTICAg
Kz0gLURfX0FSTV82NF9fIC1mbXMtZXh0ZW5zaW9ucwo+ICtDWFhGTEFHUyArPSAtRF9fQVJNXzY0
X18gLWZtcy1leHRlbnNpb25zCj4gK2Vsc2UKClRoZSBjb21tZW50cyBhYm92ZSBjbGVhcmx5IHN0
YXRlcyB0aGF0IEZQU0lNRCBhY2Nlc3MgZm9yIHRoZSBrZXJuZWwgCnNob3VsZCBub3QgYmUgYWxs
b3dlZC4gVGhpcyB3YXMgaW50cm9kdWNlZCBieSBjb21taXQ6Cgpjb21taXQgNjcwZmU4Mzg3NDUy
M2Y2NTk3NjlhYTlmZGQzZGRhODkxMDg2ZmI3YQpBdXRob3I6IFdlaSBDaGVuIDxXZWkuQ2hlbkBh
cm0uY29tPgpEYXRlOiAgIEZyaSBTZXAgMTQgMDc6NTY6NDEgMjAxOCArMDAwMAoKICAgICBhcmNo
L2FybTY0OiBBdm9pZCB1c2luZyB0aGUgZmxvYXRpbmctcG9pbnQgYW5kIEFkdmFuY2VkIFNJTUQg
cmVnaXN0ZXJzCgogICAgIE9uIEFybTY0LCBzb21ldGltZXMsIHRoZSBHQ0Mgd2lsbCB1c2UgZmxv
YXRpbmctcG9pbnQgYW5kIEFkdmFuY2VkCiAgICAgU0lNRCByZWdpc3RlcnMgdG8gcGFzcyBwYXJh
bWV0ZXJzLiBGb3IgZXhhbXBsZSwgdGhlIHZhX2xpc3Qgd2lsbAogICAgIHVzZSB0aGUgU0lNRCZG
UCByZWdpc3RlcnMgKGxpa2UgcTAsIHExKSB0byBzdG9yZSBwYXJhbWV0ZXJzLCBubwogICAgIG1h
dHRlciB5b3UgYXJlIHVzaW5nIGZsb2F0aW5nLXBvaW50IG9yIG5vdC4KCiAgICAgQnV0IGJlZm9y
ZSB3ZSBpbmNsdWRlIHRoZSBGUCAmIFNJTUQgcmVnaXN0ZXJzIGluIGNvbnRleHQgc3dpdGNoLAog
ICAgIHdlIHNob3VsZCBub3QgZW5hYmxlIHRoZSBGUCAmIFNJTUQgYWNjZXNzIGZvciBrZXJuZWwu
IFNvLCB3ZSB1c2UKICAgICB0aGUgR0NDIC1tZ2VuZXJhbC1yZWdzLW9ubHkgZmxhZyB0byBmb3Jj
ZSBHQ0MgdG8gdXNlIGdlbmVyaWMKICAgICByZWdpc3RlcnMgb25seSB1dGlsIHRoZSBmbG9hdGlu
Zy1wb2ludCBhbmQgQWR2YW5jZWQgU0lNRCByZWdpc3RlcnMKICAgICBhcmUgcmVxdWlyZWQgYWN0
dWFsbHkuCgogICAgIFNpZ25lZC1vZmYtYnk6IFdlaSBDaGVuIDxXZWkuQ2hlbkBhcm0uY29tPgog
ICAgIFJldmlld2VkLWJ5OiBTaW1vbiBLdWVuemVyIDxzaW1vbi5rdWVuemVyQG5lY2xhYi5ldT4K
ClRoZSBtYWluIGNvbmNlcm4gaGVyZSBpcyBpZiB5b3UgZW5hYmxlIEZQU0lNRCBmb3IgdGhlIGtl
cm5lbCwgdGhlbiB0aGlzIApjb3VsZCBiZSB1c2VkIGJ5IGV4Y2VwdGlvbiAoc3VjaCBhcyBpbnRl
cnJ1cHRzKSBhbmQgdGhlcmVmb3JlIGNvcnJ1cHQgCnRoZSBzdGF0ZS4KCkkgcmVhbGx5IHRoaW5r
IHdlIHNob3VsZCBrZWVwIHRoZSBrZXJuZWwgZnJlZSBvZiBGUFNJTUQgdG8gYXZvaWQgdG8gCmlu
Y3JlYXNlIHRoZSBzaXplIG9mIHRoZSBjb250ZXh0IHRvIHN3aXRjaCBvbiBleGNlcHRpb24uCgo+
ICAgQVNGTEFHUyAgKz0gLURfX0FSTV82NF9fIC1tZ2VuZXJhbC1yZWdzLW9ubHkKPiAgIENGTEFH
UyAgICs9IC1EX19BUk1fNjRfXyAtZm1zLWV4dGVuc2lvbnMgLW1nZW5lcmFsLXJlZ3Mtb25seQo+
ICAgQ1hYRkxBR1MgKz0gLURfX0FSTV82NF9fIC1mbXMtZXh0ZW5zaW9ucyAtbWdlbmVyYWwtcmVn
cy1vbmx5Cj4gK2VuZGlmCj4gICAKPiAgIENJTkNMVURFUyAgICs9IC1JJChDT05GSUdfVUtfQkFT
RSkvYXJjaC9hcm0vYXJtNjQvaW5jbHVkZQo+ICAgQVNJTkNMVURFUyAgKz0gLUkkKENPTkZJR19V
S19CQVNFKS9hcmNoL2FybS9hcm02NC9pbmNsdWRlCj4gCgpDaGVlcnMsCgotLSAKSnVsaWVuIEdy
YWxsCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5p
b3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpo
dHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Thu Dec 19 14:55:34 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 19 Dec 2019 14:55:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ihxDB-00009J-7F; Thu, 19 Dec 2019 14:55:33 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=yrdy=2J=gmail.com=julien.grall.oss@srs-us1.protection.inumbo.net>)
 id 1ihxD9-00009D-Qj
 for minios-devel@lists.xenproject.org; Thu, 19 Dec 2019 14:55:31 +0000
X-Inumbo-ID: 950f43e0-226f-11ea-88e7-bc764e2007e4
Received: from mail-ed1-f66.google.com (unknown [209.85.208.66])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 950f43e0-226f-11ea-88e7-bc764e2007e4;
 Thu, 19 Dec 2019 14:55:23 +0000 (UTC)
Received: by mail-ed1-f66.google.com with SMTP id bx28so5118371edb.11
 for <minios-devel@lists.xenproject.org>; Thu, 19 Dec 2019 06:55:23 -0800 (PST)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:subject:to:cc:references:from:message-id:date
 :user-agent:mime-version:in-reply-to:content-language
 :content-transfer-encoding;
 bh=I2bVggcp+yiVO3uwmXEKvj1Iq6tw4dKqijRAtpgzQbQ=;
 b=qjDItbOXHQOXQnyxFs/6J6t0K80eM1GxodCIKGNHazBCx2+U8IhgxYaRBo5DV+p8fn
 yYJ/jb7a4Qv0baeGODJb7mn1oKGrOQg6dEzdQ5TSnl2kdeJezqCaWoEVNg7BVme8AiUF
 zwso8yFBucd99VxYkSWvaA6igYLseHHD/E+3TVBsb3lSVTLRUL086MvTqAyfzc9cnHSl
 gE4lM/vRNrwfdr042DVnMAta6wi0NCNX8/DVc5QS3/rjxVzw8fG7NIYnxXTJKpBlL/fj
 35n2dDxI2KGona1z3ntJdyDoXYtGgkG80IheAQtUjRcJfSPSYCK/U3Qt8yIabU+YJlGG
 EI4A==
X-Gm-Message-State: APjAAAVZ1XfTYfg7613h8VD+BXVd58Wk+E2O7DFL1GaOT0zdJoRbGsdB
 Xas5BVc2t0fRkPhDuPQUPK8=
X-Google-Smtp-Source: APXvYqyDo5ShkQog27768eZGPFWdOxrxjO2ySf5PesqEnKzCgoWa4sCv8HYN51QhLoA08qaHuLEpDw==
X-Received: by 2002:a50:b388:: with SMTP id s8mr9585903edd.26.1576767322239;
 Thu, 19 Dec 2019 06:55:22 -0800 (PST)
Received: from a483e7b01a66.ant.amazon.com (54-240-197-238.amazon.com.
 [54.240.197.238])
 by smtp.gmail.com with ESMTPSA id k15sm532111ejc.35.2019.12.19.06.55.21
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 19 Dec 2019 06:55:21 -0800 (PST)
To: Jia He <justin.he@arm.com>, minios-devel@lists.xenproject.org,
 Simon Kuenzer <simon.kuenzer@neclab.eu>, Santiago.Pagani@neclab.eu
References: <20191219142722.134251-1-justin.he@arm.com>
 <20191219142722.134251-6-justin.he@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <c470a45b-5138-61d2-8fb2-2ecdcfab855c@xen.org>
Date: Thu, 19 Dec 2019 14:55:20 +0000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:68.0)
 Gecko/20100101 Thunderbird/68.3.0
MIME-Version: 1.0
In-Reply-To: <20191219142722.134251-6-justin.he@arm.com>
Content-Language: en-GB
Subject: Re: [Minios-devel] [UNIKRAFT RFC PATCH 5/5] plat/arm: Support
 fp/simd save/restore during context switch
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>, Kaly Xin <Kaly.Xin@arm.com>,
 Julien Grall <julien.grall@arm.com>, Sharan.Santhanam@neclab.eu
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

CgpPbiAxOS8xMi8yMDE5IDE0OjI3LCBKaWEgSGUgd3JvdGU6Cj4gRmxvYXRpbmcgcG9pbnQgZmVh
dHVyZSBpcyB1c2VmdWwgZm9yIHNvbWUgYXBwbGljYXRpb25zLiBXZSBzaG91bGQKPiBzYXZlL3Jl
c3RvcmUgZnAgcmVnaXN0ZXJzIGR1cmluZyBjb250ZXh0IHN3aXRjaC4KPiAKPiBTaWduZWQtb2Zm
LWJ5OiBKaWEgSGUgPGp1c3Rpbi5oZUBhcm0uY29tPgo+IC0tLQo+ICAgcGxhdC9jb21tb24vYXJt
L3RocmVhZF9zdGFydDY0LlMgICAgfCA4MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+
ICAgcGxhdC9jb21tb24vaW5jbHVkZS9hcm0vYXJtNjQvY3B1LmggfCA0NiArKysrKysrKysrKysr
KystCj4gICAyIGZpbGVzIGNoYW5nZWQsIDEyNyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygt
KQo+IAo+IGRpZmYgLS1naXQgYS9wbGF0L2NvbW1vbi9hcm0vdGhyZWFkX3N0YXJ0NjQuUyBiL3Bs
YXQvY29tbW9uL2FybS90aHJlYWRfc3RhcnQ2NC5TCj4gaW5kZXggOWE4MGY2Mi4uZDgxMDcwNCAx
MDA2NDQKPiAtLS0gYS9wbGF0L2NvbW1vbi9hcm0vdGhyZWFkX3N0YXJ0NjQuUwo+ICsrKyBiL3Bs
YXQvY29tbW9uL2FybS90aHJlYWRfc3RhcnQ2NC5TCj4gQEAgLTM0LDYgKzM0LDcgQEAKPiAgICNp
bmNsdWRlIDx1ay9wbGF0L2NvbW1vbi9zd19jdHguaD4KPiAgICNpbmNsdWRlIDx1ay9hcmNoL2xj
cHUuaD4KPiAgICNpbmNsdWRlIDx1ay9hc20uaD4KPiArI2luY2x1ZGUgPHVrL2NvbmZpZy5oPgo+
ICAgCj4gICAvKgo+ICAgICogVGhyZWFkIHN0YWNrIG1lbW9yeSBsYXlvdXQ6Cj4gQEAgLTEyMSwz
ICsxMjIsODUgQEAgcmVzdG9yZV9wb2ludDoKPiAgIAlhZGQgc3AsIHgyLCAjX19DQUxMRUVfU0FW
RURfU0laRQo+ICAgCXJldAo+ICAgRU5EUFJPQyhhc21fc3dfY3R4X3N3aXRjaCkKPiArCj4gKyNp
ZmRlZiBDT05GSUdfRkxPQVRfUE9JTlQKPiArLm1hY3JvIGZwc2ltZF9zYXZlIHN0YXRlLCB0bXBu
cgo+ICsJc3RwCXEwLCBxMSwgW1xzdGF0ZSwgIzE2ICogMF0KPiArCXN0cAlxMiwgcTMsIFtcc3Rh
dGUsICMxNiAqIDJdCj4gKwlzdHAJcTQsIHE1LCBbXHN0YXRlLCAjMTYgKiA0XQo+ICsJc3RwCXE2
LCBxNywgW1xzdGF0ZSwgIzE2ICogNl0KPiArCXN0cAlxOCwgcTksIFtcc3RhdGUsICMxNiAqIDhd
Cj4gKwlzdHAJcTEwLCBxMTEsIFtcc3RhdGUsICMxNiAqIDEwXQo+ICsJc3RwCXExMiwgcTEzLCBb
XHN0YXRlLCAjMTYgKiAxMl0KPiArCXN0cAlxMTQsIHExNSwgW1xzdGF0ZSwgIzE2ICogMTRdCj4g
KwlzdHAJcTE2LCBxMTcsIFtcc3RhdGUsICMxNiAqIDE2XQo+ICsJc3RwCXExOCwgcTE5LCBbXHN0
YXRlLCAjMTYgKiAxOF0KPiArCXN0cAlxMjAsIHEyMSwgW1xzdGF0ZSwgIzE2ICogMjBdCj4gKwlz
dHAJcTIyLCBxMjMsIFtcc3RhdGUsICMxNiAqIDIyXQo+ICsJc3RwCXEyNCwgcTI1LCBbXHN0YXRl
LCAjMTYgKiAyNF0KPiArCXN0cAlxMjYsIHEyNywgW1xzdGF0ZSwgIzE2ICogMjZdCj4gKwlzdHAJ
cTI4LCBxMjksIFtcc3RhdGUsICMxNiAqIDI4XQo+ICsJc3RwCXEzMCwgcTMxLCBbXHN0YXRlLCAj
MTYgKiAzMF0hCj4gKwltcnMJeFx0bXBuciwgZnBzcgo+ICsJc3RyCXdcdG1wbnIsIFtcc3RhdGUs
ICMxNiAqIDJdCj4gKwltcnMJeFx0bXBuciwgZnBjcgo+ICsJc3RyCXdcdG1wbnIsIFtcc3RhdGUs
ICMxNiAqIDIgKyA0XQo+ICsuZW5kbQo+ICsKPiArLm1hY3JvIGZwc2ltZF9yZXN0b3JlX2ZwY3Ig
c3RhdGUsIHRtcAo+ICsJLyoKPiArCSAqIFdyaXRlcyB0byBmcGNyIG1heSBiZSBzZWxmLXN5bmNo
cm9uaXNpbmcsIHNvIGF2b2lkIHJlc3RvcmluZwo+ICsJICogdGhlIHJlZ2lzdGVyIGlmIGl0IGhh
c24ndCBjaGFuZ2VkLgo+ICsJICovCj4gKwltcnMJXHRtcCwgZnBjcgo+ICsJY21wCVx0bXAsIFxz
dGF0ZQo+ICsJYi5lcQk5OTk5Zgo+ICsJbXNyCWZwY3IsIFxzdGF0ZQo+ICs5OTk5Ogo+ICsuZW5k
bQo+ICsKPiArLyogQ2xvYmJlcnMgXHN0YXRlICovCj4gKy5tYWNybyBmcHNpbWRfcmVzdG9yZSBz
dGF0ZSwgdG1wbnIKPiArCWxkcAlxMCwgcTEsIFtcc3RhdGUsICMxNiAqIDBdCj4gKwlsZHAJcTIs
IHEzLCBbXHN0YXRlLCAjMTYgKiAyXQo+ICsJbGRwCXE0LCBxNSwgW1xzdGF0ZSwgIzE2ICogNF0K
PiArCWxkcAlxNiwgcTcsIFtcc3RhdGUsICMxNiAqIDZdCj4gKwlsZHAJcTgsIHE5LCBbXHN0YXRl
LCAjMTYgKiA4XQo+ICsJbGRwCXExMCwgcTExLCBbXHN0YXRlLCAjMTYgKiAxMF0KPiArCWxkcAlx
MTIsIHExMywgW1xzdGF0ZSwgIzE2ICogMTJdCj4gKwlsZHAJcTE0LCBxMTUsIFtcc3RhdGUsICMx
NiAqIDE0XQo+ICsJbGRwCXExNiwgcTE3LCBbXHN0YXRlLCAjMTYgKiAxNl0KPiArCWxkcAlxMTgs
IHExOSwgW1xzdGF0ZSwgIzE2ICogMThdCj4gKwlsZHAJcTIwLCBxMjEsIFtcc3RhdGUsICMxNiAq
IDIwXQo+ICsJbGRwCXEyMiwgcTIzLCBbXHN0YXRlLCAjMTYgKiAyMl0KPiArCWxkcAlxMjQsIHEy
NSwgW1xzdGF0ZSwgIzE2ICogMjRdCj4gKwlsZHAJcTI2LCBxMjcsIFtcc3RhdGUsICMxNiAqIDI2
XQo+ICsJbGRwCXEyOCwgcTI5LCBbXHN0YXRlLCAjMTYgKiAyOF0KPiArCWxkcAlxMzAsIHEzMSwg
W1xzdGF0ZSwgIzE2ICogMzBdIQo+ICsJbGRyCXdcdG1wbnIsIFtcc3RhdGUsICMxNiAqIDJdCj4g
Kwltc3IJZnBzciwgeFx0bXBucgo+ICsJbGRyCXdcdG1wbnIsIFtcc3RhdGUsICMxNiAqIDIgKyA0
XQo+ICsJZnBzaW1kX3Jlc3RvcmVfZnBjciB4XHRtcG5yLCBcc3RhdGUKPiArLmVuZG0KCkFsbCB0
aGUgY29kZSBhYm92ZSBpcyBqdXN0IGEgdmVyYmF0aW0gY29weSBvZiB0aGUgTGludXggY29kZSB3
aGljaCBpcyAKR1BMdjIuIFRvIG1lLCB0aGlzIGlzIGEgY2xlYXIgdmlvbGF0aW9uIG9mIHRoZSBs
aWNlbnNlIGFuZCBtYXkgYWZmZWN0IAp1c2VyIG9mIFVuaWtyYWZ0ICh3aGljaCBpcyBCU0QpLgoK
UGxlYXNlIHJld3JpdGUgdGhlIGNvZGUgb3IgdXNlIGNvZGUgZnJvbSBhICpCU0QgT1MuCgpDaGVl
cnMsCgotLSAKSnVsaWVuIEdyYWxsCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0
cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlz
dGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Thu Dec 19 15:03:13 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 19 Dec 2019 15:03:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ihxKa-0000wr-Ut; Thu, 19 Dec 2019 15:03:12 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=yrdy=2J=gmail.com=julien.grall.oss@srs-us1.protection.inumbo.net>)
 id 1ihxKZ-0000wm-4d
 for minios-devel@lists.xenproject.org; Thu, 19 Dec 2019 15:03:11 +0000
X-Inumbo-ID: a75db883-2270-11ea-91ee-12813bfff9fa
Received: from mail-ed1-f67.google.com (unknown [209.85.208.67])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id a75db883-2270-11ea-91ee-12813bfff9fa;
 Thu, 19 Dec 2019 15:03:03 +0000 (UTC)
Received: by mail-ed1-f67.google.com with SMTP id j17so5176391edp.3;
 Thu, 19 Dec 2019 07:03:03 -0800 (PST)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:subject:to:cc:references:from:message-id:date
 :user-agent:mime-version:in-reply-to:content-language
 :content-transfer-encoding;
 bh=eHI0iwd13nlsti/7aC4qVHyc9ywZTHzaPT5YWWOEWiw=;
 b=aaL89OBl/RxiE5kj3Q3xlK7zUxRLfbGQTd5v7R7qAD4PXkyB6+/LLZ9ugog7NTL/EQ
 HdmEjUeS7uQKe+cx8vPiKaev5P7ZT5JxYWJovda1QpDiaNMTaizsmmh10CUOYx+hXG+x
 URTR2ULDpAXdIoeq3jHHVeR/I4GbszP8mThXZ9dkoGNRyL+Bf5sjXiB/OfOU2HmDMybg
 fBl9HlrFeVE1qBSOWr0A03XbtoP/2YRMA2149+TUCHttdCRuU9ncNsyI8NSJ3upm4eaA
 Kr9ZDeqpD6cByi0ILlO4rkQuoHjfn1GFXKHYkkvj08+U+hNFTfSW/ntOnrMxo4Aw3QKi
 BdJA==
X-Gm-Message-State: APjAAAUonT22MVKnZYCRv409KbAAT75Z6ITjO94hzdOLTPxVRPKYtUdt
 s0me2jHxM8usmxydp6BLtn4=
X-Google-Smtp-Source: APXvYqwMtHY75VyMtanjrQ+I0UxHMSHfybK+EujzkSzdSEJY/wXsNLV5bj9xXRvplD4WCDMIsT5PUQ==
X-Received: by 2002:a50:9f65:: with SMTP id b92mr9611433edf.275.1576767782851; 
 Thu, 19 Dec 2019 07:03:02 -0800 (PST)
Received: from a483e7b01a66.ant.amazon.com (54-240-197-238.amazon.com.
 [54.240.197.238])
 by smtp.gmail.com with ESMTPSA id m23sm521971ejd.21.2019.12.19.07.03.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 19 Dec 2019 07:03:02 -0800 (PST)
To: Lars Kurth <lars.kurth@citrix.com>, Lars Kurth <lars.kurth@xenproject.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <cover.1576184325.git.lars.kurth@citrix.com>
 <98ab54c95a9541c918dfec529bcfc5867fd3ed33.1576184325.git.lars.kurth@citrix.com>
 <7a043307-f23f-c537-012b-393f59617c1c@xen.org>
 <0DE885E1-C4C3-447A-8408-88D43B9FE355@citrix.com>
From: Julien Grall <julien@xen.org>
Message-ID: <e7d096c0-74b7-3427-8853-3273e46d0274@xen.org>
Date: Thu, 19 Dec 2019 15:03:00 +0000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:68.0)
 Gecko/20100101 Thunderbird/68.3.0
MIME-Version: 1.0
In-Reply-To: <0DE885E1-C4C3-447A-8408-88D43B9FE355@citrix.com>
Content-Language: en-GB
Subject: Re: [Minios-devel] [PATCH v3 5/7] Add Code Review Guide
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: "minios-devel@lists.xenproject.org" <minios-devel@lists.xenproject.org>,
 "xen-api@lists.xenproject.org" <xen-api@lists.xenproject.org>,
 "win-pv-devel@lists.xenproject.org" <win-pv-devel@lists.xenproject.org>,
 "committers@xenproject.org" <committers@xenproject.org>,
 "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgTGFycywKCk9uIDE4LzEyLzIwMTkgMTc6MDksIExhcnMgS3VydGggd3JvdGU6Cj4gCj4gCj4g
77u/T24gMTgvMTIvMjAxOSwgMTQ6MjksICJKdWxpZW4gR3JhbGwiIDxqdWxpZW5AeGVuLm9yZz4g
d3JvdGU6Cj4gCj4gICAgICBIaSBMYXJzLAo+ICAgICAgCj4gICAgICBPbiAxMi8xMi8yMDE5IDIx
OjE0LCBMYXJzIEt1cnRoIHdyb3RlOgo+ICAgICAgPiArIyMjIFdvcmtmbG93IGZyb20gYW4gQXV0
aG9yJ3MgUGVyc3BlY3RpdmUKPiAgICAgID4gKwo+ICAgICAgPiArV2hlbiBjb2RlIGF1dGhvcnMg
cmVjZWl2ZSBmZWVkYmFjayBvbiB0aGVpciBwYXRjaGVzLCB0aGV5IHR5cGljYWxseSBmaXJzdCB0
cnkKPiAgICAgID4gK3RvIGNsYXJpZnkgZmVlZGJhY2sgdGhleSBkbyBub3QgdW5kZXJzdGFuZC4g
Rm9yIHNtYWxsZXIgcGF0Y2hlcyBvciBwYXRjaCBzZXJpZXMKPiAgICAgID4gK2l0IG1ha2VzIHNl
bnNlIHRvIHdhaXQgdW50aWwgcmVjZWl2aW5nIGZlZWRiYWNrIG9uIHRoZSBlbnRpcmUgc2VyaWVz
IGJlZm9yZQo+ICAgICAgPiArc2VuZGluZyBvdXQgYSBuZXcgdmVyc2lvbiBhZGRyZXNzaW5nIHRo
ZSBjaGFuZ2VzLiBGb3IgbGFyZ2VyIHNlcmllcywgaXQgbWF5Cj4gICAgICA+ICttYWtlIHNlbnNl
IHRvIHNlbmQgb3V0IGEgbmV3IHJldmlzaW9uIGVhcmxpZXIuCj4gICAgICA+ICsKPiAgICAgID4g
K0FzIGEgcmV2aWV3ZXIsIHlvdSBuZWVkIHNvbWUgc3lzdGVtIHRoYXQgaGU7cHMgZW5zdXJlIHRo
YXQgeW91IGFkZHJlc3MgYWxsCj4gICAgICAKPiAgICAgIEp1c3QgYSBzbWFsbCB0eXBvOiBJIHRo
aW5rIHlvdSBtZWFudCAiaGVscHMiIHJhdGhlciB0aGFuICJoZTtwcyIuCj4gICAgICAKPiAgICAg
IENoZWVycywKPiAgICAgIAo+IFRoYW5rIHlvdTogZml4ZWQgaW4gbXkgd29ya2luZyBjb3B5Lgo+
IAo+IE9uZSB0aGluZyB3aGljaCBvY2N1cnJlZCB0byBtZSBmb3IgcmV2aWV3cyBsaWtlIHRoZXNl
LCB3aGVyZSB0aGVyZSBpcyBubyBBQ0sncyBvciBSZXZpZXdlZC1ieSdzIGlzIHRoYXQgSSBkb24n
dCBhY3R1YWxseSBrbm93IHdoZXRoZXIgeW91IGFzIHJldmlld2VyIGlzIG90aGVyd2lzZSBoYXBw
eSB3aXRoIHRoZSByZW1haW5kZXIgb2YgcGF0Y2guCj4gTm9ybWFsbHkgdGhlIEFDS2VkLWJ5IG9y
IFJldmlld2VkLWJ5IGlzIGEgc2lnbmFsIHRoYXQgaXQgaXMKPiAgPiBJIGFtIGFzc3VtaW5nIGl0
IGlzLCBidXQgSSB0aGluayBpdCBtYXkgYmUgd29ydGh3aGlsZSBwb2ludGluZyB0aGlzIApvdXQg
aW4gdGhlIGRvY3VtZW50LCB0aGF0IHVubGVzcyBzdGF0ZWQgb3RoZXJ3aXNlLCB0aGUgcmV2aWV3
ZXIgaXMgaGFwcHkgCndpdGggdGhlIHBhdGNoCkkgZG9uJ3QgdGhpbmsgeW91IGNhbiBhbHdheXMg
YXNzdW1lIHRoaXMuIFRoZXJlIGFyZSBjYXNlIHdoZXJlIEkgZG9uJ3QgCmdpdmUgYSByZXZpZXdl
ZC1ieSB5ZXQgYmVjYXVzZSBJIHdhbnQgdG8gdW5kZXJzdGFuZCB0aGUgZm9sbG93LXVwIApwYXRj
aGVzIGZpcnN0LgoKSSB0aGluayB3aGF0IElhbiBkZXNjcmliZWQgY29ycmVzcG9uZCB0aGUgYmVz
dCB0byBteSB2aWV3IGhlcmUuIEFuZCBJIAphZ3JlZSB0aGF0IHdlIHByb2JhYmx5IHdhbnQgdG8g
YmUgbW9yZSBleHBsaWNpdCBpbiB0aGUgcmV2aWV3IHRvIGF2b2lkIApjb25mdXNpb24uCgpDaGVl
cnMsCgotLSAKSnVsaWVuIEdyYWxsCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0
cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlz
dGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Thu Dec 19 15:43:29 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 19 Dec 2019 15:43:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ihxxW-0004Kt-VL; Thu, 19 Dec 2019 15:43:26 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=JsZZ=2J=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1ihxxV-0004Ko-8b
 for minios-devel@lists.xen.org; Thu, 19 Dec 2019 15:43:25 +0000
X-Inumbo-ID: 49a64050-2276-11ea-91fc-12813bfff9fa
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 49a64050-2276-11ea-91fc-12813bfff9fa;
 Thu, 19 Dec 2019 15:43:23 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 2DC93F2022;
 Thu, 19 Dec 2019 16:43:22 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-b.office.hd)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id Z99zQNwM3MeH; Thu, 19 Dec 2019 16:43:22 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from puck.office.hd (puck.office.hd [192.168.24.91])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id E6DC7F201D;
 Thu, 19 Dec 2019 16:43:17 +0100 (CET)
Received: from [10.1.2.204] (192.168.24.96) by puck.office.hd (192.168.24.91)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 19 Dec
 2019 16:43:17 +0100
To: Costin Lupu <costin.lupu@cs.pub.ro>, <minios-devel@lists.xen.org>
References: <20191217074355.9003-1-costin.lupu@cs.pub.ro>
 <20191217074355.9003-4-costin.lupu@cs.pub.ro>
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
Message-ID: <f87780db-79c5-96cc-44ef-125de2e48f2b@neclab.eu>
Date: Thu, 19 Dec 2019 16:43:17 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:60.0)
 Gecko/20100101 Thunderbird/60.9.1
MIME-Version: 1.0
In-Reply-To: <20191217074355.9003-4-costin.lupu@cs.pub.ro>
Content-Language: en-US
X-Originating-IP: [192.168.24.96]
X-ClientProxiedBy: oberon.office.hd (192.168.24.90) To puck.office.hd
 (192.168.24.91)
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v2 3/3] lib/posix-user: Add more
 group file related functions
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhhbmtzIQoKUmV2aWV3ZWQtYnk6IFNpbW9uIEt1ZW56ZXIgPHNpbW9uLmt1ZW56ZXJAbmVjbGFi
LmV1PgoKT24gMTcuMTIuMTkgMDg6NDMsIENvc3RpbiBMdXB1IHdyb3RlOgo+IFRoaXMgcGF0Y2gg
aW50cm9kdWNlcyB0aGUgY2hhbmdlcyBuZWVkZWQgZm9yIGl0ZXJhdGluZyB0aHJvdWdoIHRoZQo+
ICIvZXRjL2dyb3VwcyIgZmlsZS4gQnV0IGJlY2F1c2Ugd2UgY3VycmVudGx5IHByb3ZpZGUgb25s
eSBhIHNpbmdsZSBoYXJkY29kZWQKPiBncm91cCwgd2Ugd2lsbCByZXR1cm4ganVzdCBvbmUgc2lu
Z2xlIGVudHJ5LiBUaGlzIGNhbiBiZSBleHRlbmRlZCBlYXNpbHksCj4gZWl0aGVyIGJ5IGFkZGlu
ZyBtb3JlIGhhcmRjb2RlZCBncm91cHMgb3IgYnkgdXNpbmcgdGhlIGFjdHVhbCAiL2V0Yy9ncm91
cHMiLgo+IEhvd2V2ZXIsIHRoZSBsYXR0ZXIgb3B0aW9uIGlzIHN1YmplY3QgdG8gZnV0dXJlIHdv
cmssIHdoZW4gd2Ugd2lsbCBuZWVkIGEgbW9yZQo+IGNvbnNpc3RlbnQgYW5hbHlzaXMgcmVnYXJk
aW5nIHVzZXIgbWFuYWdlbWVudCBhbmQgcGVybWlzc2lvbnMgb24gVW5pa3JhZnQuCj4gCj4gVGhl
IGdyb3VwcyBpdGVyYXRvciBpcyB0aHJlYWQgc2FmZSwgdGhlcmVmb3JlIHdlIGFsc28gaW50cm9k
dWNlIHRoZSBgX191a190bHNgLAo+IHF1YWxpZmllciB3aGljaCBkZXBlbmRzIG9uIGBDT05GSUdf
SEFWRV9TQ0hFRGAsIGFuZCBtYXJrIHRoZSB1c2VycyBpdGVyYXRvciBhcwo+IFRMUyBhcyB3ZWxs
LiBBbm90aGVyIG1pbm9yIGNoYW5nZSByZXZpc2l0cyB0aGlzIGxpYnJhcnkgY29uc3RydWN0b3Ig
YnkgbWFya2luZwo+IGl0IGFzIGEgVW5pa3JhZnQgY29uc3RydWN0b3IuCj4gCj4gU2lnbmVkLW9m
Zi1ieTogQ29zdGluIEx1cHUgPGNvc3Rpbi5sdXB1QGNzLnB1Yi5ybz4KPiAtLS0KPiAgIGluY2x1
ZGUvdWsvZXNzZW50aWFscy5oIHwgIDYgKysrKwo+ICAgbGliL3Bvc2l4LXVzZXIvdXNlci5jICAg
fCA3MCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLQo+ICAgMiBmaWxl
cyBjaGFuZ2VkLCA3NCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1n
aXQgYS9pbmNsdWRlL3VrL2Vzc2VudGlhbHMuaCBiL2luY2x1ZGUvdWsvZXNzZW50aWFscy5oCj4g
aW5kZXggZTgyNjRjNWYuLmE2ZDk2OWU3IDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvdWsvZXNzZW50
aWFscy5oCj4gKysrIGIvaW5jbHVkZS91ay9lc3NlbnRpYWxzLmgKPiBAQCAtMTI0LDYgKzEyNCwx
MiBAQCBleHRlcm4gIkMiIHsKPiAgICNkZWZpbmUgX19jb25zdHJ1Y3Rvcl9wcmlvKGx2bCkgX19h
dHRyaWJ1dGVfXyAoKGNvbnN0cnVjdG9yIChsdmwpKSkKPiAgICNlbmRpZgo+ICAgCj4gKyNpZmRl
ZiBDT05GSUdfSEFWRV9TQ0hFRAo+ICsjZGVmaW5lIF9fdWtfdGxzIF9fdGhyZWFkCj4gKyNlbHNl
Cj4gKyNkZWZpbmUgX191a190bHMKPiArI2VuZGlmCj4gKwo+ICAgI2Vsc2UKPiAgIC8qIFRPIEJF
IERFRklORUQgKi8KPiAgICNlbmRpZiAvKiBfX0dOVUNfXyAqLwo+IGRpZmYgLS1naXQgYS9saWIv
cG9zaXgtdXNlci91c2VyLmMgYi9saWIvcG9zaXgtdXNlci91c2VyLmMKPiBpbmRleCAwZDZjYTNm
Yi4uYmEwMWFiNzQgMTAwNjQ0Cj4gLS0tIGEvbGliL3Bvc2l4LXVzZXIvdXNlci5jCj4gKysrIGIv
bGliL3Bvc2l4LXVzZXIvdXNlci5jCj4gQEAgLTQxLDYgKzQxLDcgQEAKPiAgICNpbmNsdWRlIDxz
eXMvdHlwZXMuaD4KPiAgICNpbmNsdWRlIDx1ay9lc3NlbnRpYWxzLmg+Cj4gICAjaW5jbHVkZSA8
dWsvbGlzdC5oPgo+ICsjaW5jbHVkZSA8dWsvY3RvcnMuaD4KPiAgICNpbmNsdWRlIDx1ay9wcmlu
dC5oPgo+ICAgI2luY2x1ZGUgPHVrL3VzZXIuaD4KPiAgIAo+IEBAIC01MCw3ICs1MSw3IEBACj4g
ICAjZGVmaW5lIFVLX0RFRkFVTFRfR1JPVVAgICJyb290Igo+ICAgI2RlZmluZSBVS19ERUZBVUxU
X1BBU1MgICAieCIKPiAgIAo+IC1zdGF0aWMgc3RydWN0IHBhc3N3ZF9lbnRyeSB7Cj4gK3N0YXRp
YyBfX3VrX3RscyBzdHJ1Y3QgcGFzc3dkX2VudHJ5IHsKPiAgIAlzdHJ1Y3QgcGFzc3dkICpwYXNz
d2Q7Cj4gICAKPiAgIAlVS19TTElTVF9FTlRSWShzdHJ1Y3QgcGFzc3dkX2VudHJ5KSBlbnRyaWVz
Owo+IEBAIC02MCw3ICs2MSwxMyBAQCBVS19TTElTVF9IRUFEKHVrX2VudHJ5X2xpc3QsIHN0cnVj
dCBwYXNzd2RfZW50cnkpOwo+ICAgCj4gICBzdGF0aWMgc3RydWN0IHVrX2VudHJ5X2xpc3QgcGFz
c3dkczsKPiAgIAo+IC12b2lkIF9fY29uc3RydWN0b3IgaW5pdF91a3VuaXN0ZCgpCj4gK3N0YXRp
YyB2b2lkIGluaXRfZ3JvdXBzKHZvaWQpOwo+ICsKPiArLyoKPiArICogVE9ETyBtYWtlIHBhc3N3
ZCBtYW5hZ2VtZW50IGNvbnNpc3RlbnQgd2l0aCBncm91cCBtYW5hZ2VtZW50Cj4gKyAqLwo+ICsK
PiArc3RhdGljIHZvaWQgaW5pdF9wb3NpeF91c2VyKCkKCmNoZWNrcGF0Y2ggY29tcGxhaW5zIHRo
YXQgYHZvaWRgIGlzIG1pc3Npbmcgd2l0aGluIHRoZSBwYXJhbnRoZXNlcy4KU2luY2UgdGhlIHJl
c3QgbG9va3MgZmluZSwgSSB3aWxsIGZpeCB0aGlzIHdoaWxlIHVwc3RyZWFtaW5nLgoKPiAgIHsK
PiAgIAlzdGF0aWMgc3RydWN0IHBhc3N3ZF9lbnRyeSBwMTsKPiAgIAlzdGF0aWMgc3RydWN0IHBh
c3N3ZCBwYXNzd2QgPSB7Cj4gQEAgLTc3LDcgKzg0LDEwIEBAIHZvaWQgX19jb25zdHJ1Y3RvciBp
bml0X3VrdW5pc3RkKCkKPiAgIAo+ICAgCVVLX1NMSVNUX0lOSVQoJnBhc3N3ZHMpOwo+ICAgCVVL
X1NMSVNUX0lOU0VSVF9IRUFEKCZwYXNzd2RzLCAmcDEsIGVudHJpZXMpOwo+ICsKPiArCWluaXRf
Z3JvdXBzKCk7Cj4gICB9Cj4gK1VLX0NUT1JfRlVOQygyLCBpbml0X3Bvc2l4X3VzZXIpOwo+ICAg
Cj4gICB1aWRfdCBnZXR1aWQodm9pZCkKPiAgIHsKPiBAQCAtMzI4LDMgKzMzOCw1OSBAQCBpbnQg
Z2V0Z3JuYW1fcihjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3QgZ3JvdXAgKmdycCwKPiAgIAo+ICAg
CXJldHVybiAwOwo+ICAgfQo+ICsKPiArc3RydWN0IGdyb3VwICpnZXRncmdpZChnaWRfdCBnaWQp
Cj4gK3sKPiArCXN0cnVjdCBncm91cCAqcmVzOwo+ICsKPiArCWlmIChnaWQgPT0gZ19fLmdyX2dp
ZCkKPiArCQlyZXMgPSAmZ19fOwo+ICsJZWxzZSB7Cj4gKwkJcmVzID0gTlVMTDsKPiArCQllcnJu
byA9IEVOT0VOVDsKPiArCX0KPiArCj4gKwlyZXR1cm4gcmVzOwo+ICt9Cj4gKwo+ICtzdGF0aWMg
X191a190bHMgc3RydWN0IGdyb3VwX2VudHJ5IHsKPiArCXN0cnVjdCBncm91cCAqZ3JvdXA7Cj4g
KwlVS19TTElTVF9FTlRSWShzdHJ1Y3QgZ3JvdXBfZW50cnkpIGVudHJpZXM7Cj4gK30gKmdyb3Vw
c19pdGVyOwo+ICsKPiArVUtfU0xJU1RfSEVBRCh1a19ncm91cF9lbnRyeV9saXN0LCBzdHJ1Y3Qg
Z3JvdXBfZW50cnkpOwo+ICsKPiArc3RhdGljIHN0cnVjdCB1a19ncm91cF9lbnRyeV9saXN0IGdy
b3VwczsKPiArCj4gK3N0YXRpYyB2b2lkIGluaXRfZ3JvdXBzKHZvaWQpCj4gK3sKPiArCXN0YXRp
YyBzdHJ1Y3QgZ3JvdXBfZW50cnkgZ2U7Cj4gKwo+ICsJZ2UuZ3JvdXAgPSAmZ19fOwo+ICsJVUtf
U0xJU1RfSU5JVCgmZ3JvdXBzKTsKPiArCVVLX1NMSVNUX0lOU0VSVF9IRUFEKCZncm91cHMsICZn
ZSwgZW50cmllcyk7Cj4gK30KPiArCj4gK3ZvaWQgc2V0Z3JlbnQodm9pZCkKPiArewo+ICsJZ3Jv
dXBzX2l0ZXIgPSBVS19TTElTVF9GSVJTVCgmZ3JvdXBzKTsKPiArfQo+ICsKPiArdm9pZCBlbmRn
cmVudCh2b2lkKQo+ICt7Cj4gKwlzZXRncmVudCgpOwo+ICt9Cj4gKwo+ICtzdHJ1Y3QgZ3JvdXAg
KmdldGdyZW50KHZvaWQpCj4gK3sKPiArCXN0cnVjdCBncm91cCAqcmVzOwo+ICsKPiArCWlmIChn
cm91cHNfaXRlcikgewo+ICsJCXJlcyA9IGdyb3Vwc19pdGVyLT5ncm91cDsKPiArCQlncm91cHNf
aXRlciA9IFVLX1NMSVNUX05FWFQoZ3JvdXBzX2l0ZXIsIGVudHJpZXMpOwo+ICsJfSBlbHNlCj4g
KwkJcmVzID0gTlVMTDsKPiArCj4gKwlyZXR1cm4gcmVzOwo+ICsKPiArfQo+IAoKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxp
bmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54
ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Fri Dec 20 00:56:50 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 20 Dec 2019 00:56:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ii6b1-0002Gv-Et; Fri, 20 Dec 2019 00:56:47 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <SRS0=QO9e=2K=arm.com=justin.he@srs-us1.protection.inumbo.net>)
 id 1ii6b0-0002Gq-Dl
 for minios-devel@lists.xenproject.org; Fri, 20 Dec 2019 00:56:46 +0000
X-Inumbo-ID: 97142b0c-22c3-11ea-92d5-12813bfff9fa
Received: from EUR03-AM5-obe.outbound.protection.outlook.com (unknown
 [40.107.3.75]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 97142b0c-22c3-11ea-92d5-12813bfff9fa;
 Fri, 20 Dec 2019 00:56:44 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; 
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jsrnbjnpGkbquZrAf/eWH7SDX21f6tgvY9Nq2p9GwQc=;
 b=jYV8IHM+V9Vb4kwGac9kSjsY3t9bBNkh/6tzYEroDUBCoGVPz8H+rzHL0oSBY71s5KOSBRSmcKmrEsCxSxYCfaGJ1h+GGbWVZArqCqobD8PYRtaVWdTpkmh1ke0tqLEPfwQhl7emTa3Y6j00LwULlxjlwU7fiweoVMKdiPqy3A0=
Received: from AM6PR08CA0021.eurprd08.prod.outlook.com (2603:10a6:20b:b2::33)
 by HE1PR0801MB1818.eurprd08.prod.outlook.com (2603:10a6:3:7b::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2559.16; Fri, 20 Dec
 2019 00:56:40 +0000
Received: from DB5EUR03FT041.eop-EUR03.prod.protection.outlook.com
 (2a01:111:f400:7e0a::209) by AM6PR08CA0021.outlook.office365.com
 (2603:10a6:20b:b2::33) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2559.14 via Frontend
 Transport; Fri, 20 Dec 2019 00:56:40 +0000
Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org;
 dmarc=bestguesspass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT041.mail.protection.outlook.com (10.152.21.4) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.2559.14 via Frontend Transport; Fri, 20 Dec 2019 00:56:40 +0000
Received: ("Tessian outbound ca1df68f3668:v40");
 Fri, 20 Dec 2019 00:56:40 +0000
X-CR-MTA-TID: 64aa7808
Received: from 75bd01da74b8.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 C40864F9-6798-4BF3-BF53-5D11AFB7BCB1.1; 
 Fri, 20 Dec 2019 00:56:34 +0000
Received: from EUR03-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 75bd01da74b8.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 20 Dec 2019 00:56:34 +0000
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BjXMERQSkHzSb7sWbXLomQh+S2TF1CAMLN9edf9oPhwVRWkvOZRnc01g/pD2BHm1QgYPPe5FvLoFGSLoX5/S8fIu1iusPJoY4V/TtSFsMn8cirTeN1/cNB3HJ/6u5sev/o1EarycQR86oQOaWfy3upQxukX6W4KyoqORvll3LkVGlvf/Mq3+aodFO68zzUKQaCMS6iZ5p2jbA522ZIpBbs56Zm6J6ixfMLQ2fuiWjRlInXkJ2nLGowyTTSJTS3aux24ddZLoZhfEgD0OUWGVWrA9vICEKqCinHFgs2lU8GNZP4cXPua+KQSscs95ZD2/lcQkcwEJEADIPx2EYX543A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+6rf3UcFfMrRruDDYULzEe2OWVXz18av1ZNSLGZEilg=;
 b=TrPoKP0fP22kYxYJQfVt7mInonc4IrkPPM78qCDJzYSvHqMJLyiVtHtHOBTNFBqU3jld/Qhb4JU6vZPHo0YWouzl7rHDcR/2wZAz6YKID/nb/k6nF+brB99sxam4q6Wd0SdOFXtXOQ5GeYeANxWu1rLCcw64iU8DXsHjlMriJIFb2yJ6zqb7ZMrU/o0xuD+E9l9QZrQ3OU1j5pw8lF62dKZFHl87fhkesCyVmw2sR63LB6Kvs5CsCLA6cZvOcRUdDZDr3jAREaNd4st6qWb9nPnR7AhJcyUGIPgDLHJpYkwqevvu0GztkSxOK/D5JMqMck2v5T6TrBcKhxp0wMvsOA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; 
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+6rf3UcFfMrRruDDYULzEe2OWVXz18av1ZNSLGZEilg=;
 b=R2XZ4qbd7euBnnWoUyQlAIFYx5auuKdw1fyOzCyAZ9B5VDdv4M7qKUNnqQdgS/MIsQLxh5ghnO+CqfT/HOsiU5NmfZnyHhhUk3rdcCioXfoE8j30tbPqvWVM99YUEO+tarOKt6yAj2VCvjxp9DoOEYAegw8OykSGhHe9iS0H/Ck=
Received: from VE1PR08MB4639.eurprd08.prod.outlook.com (10.255.112.205) by
 VE1PR08MB4815.eurprd08.prod.outlook.com (10.255.112.140) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.2559.14; Fri, 20 Dec 2019 00:56:33 +0000
Received: from VE1PR08MB4639.eurprd08.prod.outlook.com
 ([fe80::a85e:ed5c:9b3a:6046]) by VE1PR08MB4639.eurprd08.prod.outlook.com
 ([fe80::a85e:ed5c:9b3a:6046%7]) with mapi id 15.20.2538.019; Fri, 20 Dec 2019
 00:56:32 +0000
From: Justin He <Justin.He@arm.com>
To: Julien Grall <julien@xen.org>, "minios-devel@lists.xenproject.org"
 <minios-devel@lists.xenproject.org>, Simon Kuenzer <simon.kuenzer@neclab.eu>, 
 "Santiago.Pagani@neclab.eu" <Santiago.Pagani@neclab.eu>
Thread-Topic: [Minios-devel] [UNIKRAFT RFC PATCH 1/5] plat: build: Add a
 config option to enable fp on arm64
Thread-Index: AQHVtnh+FQnFSmqZY06/IwhTXs1Pf6fBhbAAgACtYxA=
Date: Fri, 20 Dec 2019 00:56:32 +0000
Message-ID: <VE1PR08MB4639F5C1E151530B980CEB00F72D0@VE1PR08MB4639.eurprd08.prod.outlook.com>
References: <20191219142722.134251-1-justin.he@arm.com>
 <20191219142722.134251-2-justin.he@arm.com>
 <7986b99d-826f-2864-17be-5616cbe9d32c@xen.org>
In-Reply-To: <7986b99d-826f-2864-17be-5616cbe9d32c@xen.org>
Accept-Language: en-US, zh-CN
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ts-tracking-id: 70924eed-bf1c-4eea-9a1b-c5388d4f2004.1
x-checkrecipientchecked: true
Authentication-Results-Original: spf=none (sender IP is )
 smtp.mailfrom=Justin.He@arm.com; 
x-originating-ip: [113.29.88.7]
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-HT: Tenant
X-MS-Office365-Filtering-Correlation-Id: f7d15fad-9a43-4c74-401c-08d784e77957
X-MS-TrafficTypeDiagnostic: VE1PR08MB4815:|VE1PR08MB4815:|HE1PR0801MB1818:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS: <HE1PR0801MB18189FEA257F4D3B7F9178C4F72D0@HE1PR0801MB1818.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
x-ms-oob-tlc-oobclassifiers: OLM:5516;OLM:5516;
x-forefront-prvs: 025796F161
X-Forefront-Antispam-Report-Untrusted: SFV:NSPM;
 SFS:(10009020)(4636009)(346002)(39860400002)(376002)(136003)(366004)(396003)(189003)(199004)(13464003)(4326008)(54906003)(9686003)(8936002)(55016002)(76116006)(110136005)(66946007)(52536014)(66476007)(66446008)(316002)(478600001)(66556008)(64756008)(81166006)(81156014)(186003)(33656002)(8676002)(86362001)(55236004)(2906002)(6506007)(26005)(5660300002)(71200400001)(53546011)(7696005);
 DIR:OUT; SFP:1101; SCL:1; SRVR:VE1PR08MB4815;
 H:VE1PR08MB4639.eurprd08.prod.outlook.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; MX:1; A:1; 
received-spf: None (protection.outlook.com: arm.com does not designate
 permitted sender hosts)
X-MS-Exchange-SenderADCheck: 1
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original: yrUz2tf6WRqcnQgYosVlK6HjcrGXixwDHvNgR1MOvfyJCxcJ+JglK3ngW8Wf+gWf+hlUeJ6MfbJyLAiPRnwVh+mSQ+QIUaCZ8A0yNxaLkElbFjulDcfa5iJj2tBnVwB4pBsvkp7TgBXawPbzLyMWMQC+6TnN+hTYfg766jGq305luV5+7hHJWiZThaJ9RdO0Qt1h18e0k5P5lPC95untZZVVqh7r+WabI4fIC+0JgU4WbaUJ0dpFg99KZcQvssqND4J9dHFqkXF1bj7dDBS82JHTuRf3noU5HRj6qNAn1Cq4O/Lp8RfcdnARNjx4heg3We9ApKf1vXlPQOz8/tYxbTVxM+l3dLJxK6wye4GSXd+1eZhpv8hXcTl4yOuy/WaN9RnNmNEyDJuRSLfIpM/mWOXQCRD2NKLYzw7Z0oBGXYnTwn1T+vi/MhGFiiQe6ceCVWWvkuNV/iYNYJOJ+3lYkdoJCAUbtvbSQzbK4oE0P0JU4VpwqlIBWcDVICF+h6eP
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB4815
Original-Authentication-Results: spf=none (sender IP is )
 smtp.mailfrom=Justin.He@arm.com; 
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT041.eop-EUR03.prod.protection.outlook.com
X-Forefront-Antispam-Report: CIP:63.35.35.123; IPV:CAL; SCL:-1; CTRY:IE;
 EFV:NLI; SFV:NSPM;
 SFS:(10009020)(4636009)(346002)(396003)(39860400002)(376002)(136003)(189003)(40434004)(199004)(13464003)(2906002)(7696005)(336012)(52536014)(107886003)(4326008)(55016002)(9686003)(5660300002)(110136005)(316002)(76130400001)(54906003)(53546011)(6506007)(86362001)(478600001)(26826003)(8936002)(81156014)(81166006)(186003)(8676002)(26005)(33656002)(356004)(70586007)(70206006);
 DIR:OUT; SFP:1101; SCL:1; SRVR:HE1PR0801MB1818;
 H:64aa7808-outbound-1.mta.getcheckrecipient.com; FPR:; SPF:Pass; LANG:en;
 PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; MX:1; A:1; 
X-MS-Office365-Filtering-Correlation-Id-Prvs: d45fbfae-46a9-401c-52c1-08d784e774df
X-Forefront-PRVS: 025796F161
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: Jc47Gio3vU/eZ64N1h0DkmADjF7VDuuiLngVZEtNLngcHM/7czqdaH+JqSfrS9RDOfNtHCF/qbqm74X0JpkEzXHKU6W/H318R/guNr/BUShQmV/tdpCDjvoEd+J6hl7h3+WukDKm6dBPbZcnO1VNCbNq8jCcHQJtSo0sb5jsOLwSzqoxann4UA9oTknFcGKK8K7D5YAPcAlT350+TtGTPU4snCRhZhrqWqjrfg69AH6O+CfAi8RsbiJZRzB9K512FTZ3Q4tr5vaSFOMWmkzJj9WbvRa5sSubOzZyJJPzaDEozL3+HcUUpQ9pKnFCghOwIhFxauL7oJWsifddDD17hoGygwO2LyfZoNXWnrLczjAnpj4MeDgmCHMMhiYdTr4GRfzcxpdPAiFSiygL6XlFj7u7rpxAec2YVOIdVYh5cjSAtQLUQubpzzSOiv2OZkBcJBHbjUv7bOVS9fYG744d+eVKw4R+GJ2ZAyPEbFZGC2BTyRkfhgjUVjAjA/Ic7QKFqfGocpnRdk7tKlUmKYGK9w==
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Dec 2019 00:56:40.3747 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f7d15fad-9a43-4c74-401c-08d784e77957
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123];
 Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0801MB1818
Subject: Re: [Minios-devel] [UNIKRAFT RFC PATCH 1/5] plat: build: Add a
 config option to enable fp on arm64
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>, Kaly Xin <Kaly.Xin@arm.com>,
 Julien Grall <Julien.Grall@arm.com>,
 "Sharan.Santhanam@neclab.eu" <Sharan.Santhanam@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgSnVsaWVuDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogSnVsaWVu
IEdyYWxsIDxqdWxpZW5AeGVuLm9yZz4NCj4gU2VudDogVGh1cnNkYXksIERlY2VtYmVyIDE5LCAy
MDE5IDEwOjM0IFBNDQo+IFRvOiBKdXN0aW4gSGUgPEp1c3Rpbi5IZUBhcm0uY29tPjsgbWluaW9z
LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnOw0KPiBTaW1vbiBLdWVuemVyIDxzaW1vbi5rdWVu
emVyQG5lY2xhYi5ldT47IFNhbnRpYWdvLlBhZ2FuaUBuZWNsYWIuZXUNCj4gQ2M6IEZlbGlwZSBI
dWljaSA8ZmVsaXBlLmh1aWNpQG5lY2xhYi5ldT47IEthbHkgWGluIDxLYWx5LlhpbkBhcm0uY29t
PjsNCj4gSnVsaWVuIEdyYWxsIDxKdWxpZW4uR3JhbGxAYXJtLmNvbT47IFNoYXJhbi5TYW50aGFu
YW1AbmVjbGFiLmV1DQo+IFN1YmplY3Q6IFJlOiBbTWluaW9zLWRldmVsXSBbVU5JS1JBRlQgUkZD
IFBBVENIIDEvNV0gcGxhdDogYnVpbGQ6IEFkZCBhDQo+IGNvbmZpZyBvcHRpb24gdG8gZW5hYmxl
IGZwIG9uIGFybTY0DQo+DQo+IEhpLA0KPg0KPiBPbiAxOS8xMi8yMDE5IDE0OjI3LCBKaWEgSGUg
d3JvdGU6DQo+ID4gVGhpcyBjb25maWcgaXMgdG8gZW5hYmxlIHRoZSBzdXBwb3J0IGZvciBhcm02
NCBmcCBmZWF0dXJlLiBGcCBpcyBmb3INCj4gPiBhcHBsaWNhdGlvbiBvbmx5LCBuZXZlciBmb3Ig
VW5rcmFmdCBrZXJuZWwgaXRzZWxmLg0KPiA+DQo+ID4gVGhpcyBjb25maWcgaXMgJ24nIGJ5IGRl
ZmF1bHQgc2luY2UgdGhlcmUgaXMgc29tZSBvdmVyaGVhZCBkdXJpbmcgY29udGV4dA0KPiA+IHN3
aXRjaC4NCj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IEppYSBIZSA8anVzdGluLmhlQGFybS5jb20+
DQo+ID4gLS0tDQo+ID4gICBwbGF0L0NvbmZpZy51ayB8IDcgKysrKysrKw0KPiA+ICAgMSBmaWxl
IGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKQ0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL3BsYXQvQ29u
ZmlnLnVrIGIvcGxhdC9Db25maWcudWsNCj4gPiBpbmRleCAwZWI1YTEwLi5mNTU1ZjE3IDEwMDY0
NA0KPiA+IC0tLSBhL3BsYXQvQ29uZmlnLnVrDQo+ID4gKysrIGIvcGxhdC9Db25maWcudWsNCj4g
PiBAQCAtMjEsMyArMjEsMTAgQEAgY29uZmlnIEhaDQo+ID4gICAgIGhlbHANCj4gPiAgICAgICAg
ICAgICBDb25maWd1cmUgdGhlIHRpbWVyIGludGVycnVwdCBmcmVxdWVuY3kuDQo+ID4gICAgICAg
ICAgICAgT25seSBjaGFuZ2UgdGhpcyBpZiB5b3Uga25vdyB3aGF0IHlvdSdyZSBkb2luZy4NCj4g
PiArDQo+ID4gK2NvbmZpZyBGTE9BVF9QT0lOVA0KPiA+ICsgICBib29sICJhcm02NCBmbG9hdGlu
ZyBwb2ludCBzdXBwb3J0IGluIGFwcGxpY2F0aW9uIg0KPiA+ICsgICBkZWZhdWx0IG4NCj4gPiAr
ICAgZGVwZW5kcyBvbiBBUkNIX0FSTV82NA0KPiA+ICsgICBoZWxwDQo+ID4gKyAgICAgICAgICAg
RW5hYmxlIHN1cHBvcnQgRlBVIHVzYWdlIGluIGFwcGxpY2F0aW9uDQo+DQo+IERvZXMgdGhpcyBj
b25maWcgbmVlZHMgdG8gYmUgQXJtNjQgYml0PyBDYW4ndCB0aGlzIHBvdGVudGlhbGx5IGJlDQo+
IHJlLXVzZWQgZm9yIG90aGVyIGFyY2g/DQo+DQpJSVVDLCBVbmlrcmFmdCBvbiB4ODYga3ZtIHBs
YXQgaGFkIHN1cHBvcnRlZCBmbG9hdGluZyBwb2ludCB3aXRob3V0IGFueSBpc3N1ZQ0KRG8geW91
IG1lYW4gdGhpcyBjb25maWcgc2hvdWxkIGJlIHVzZWQgZm9yIGFybTMyPw0KDQotLQ0KQ2hlZXJz
LA0KSnVzdGluIChKaWEgSGUpDQoNCg0KPiBDaGVlcnMsDQo+DQo+IC0tDQo+IEp1bGllbiBHcmFs
bA0KSU1QT1JUQU5UIE5PVElDRTogVGhlIGNvbnRlbnRzIG9mIHRoaXMgZW1haWwgYW5kIGFueSBh
dHRhY2htZW50cyBhcmUgY29uZmlkZW50aWFsIGFuZCBtYXkgYWxzbyBiZSBwcml2aWxlZ2VkLiBJ
ZiB5b3UgYXJlIG5vdCB0aGUgaW50ZW5kZWQgcmVjaXBpZW50LCBwbGVhc2Ugbm90aWZ5IHRoZSBz
ZW5kZXIgaW1tZWRpYXRlbHkgYW5kIGRvIG5vdCBkaXNjbG9zZSB0aGUgY29udGVudHMgdG8gYW55
IG90aGVyIHBlcnNvbiwgdXNlIGl0IGZvciBhbnkgcHVycG9zZSwgb3Igc3RvcmUgb3IgY29weSB0
aGUgaW5mb3JtYXRpb24gaW4gYW55IG1lZGl1bS4gVGhhbmsgeW91Lg0KX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlz
dApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9q
ZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Fri Dec 20 01:14:37 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 20 Dec 2019 01:14:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ii6sF-0002qg-TT; Fri, 20 Dec 2019 01:14:35 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <SRS0=QO9e=2K=arm.com=justin.he@srs-us1.protection.inumbo.net>)
 id 1ii6sE-0002qb-9J
 for minios-devel@lists.xenproject.org; Fri, 20 Dec 2019 01:14:34 +0000
X-Inumbo-ID: 1324bf02-22c6-11ea-a914-bc764e2007e4
Received: from EUR02-HE1-obe.outbound.protection.outlook.com (unknown
 [2a01:111:f400:fe05::631])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 1324bf02-22c6-11ea-a914-bc764e2007e4;
 Fri, 20 Dec 2019 01:14:31 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; 
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Y1m31aJkS0UoMSVO+FFkd+jWYZkMqhIExnceHffMEfU=;
 b=W9TyHdGUoeQQJaoow/7UMBqMnldFmHUfTop+sbNgRtiWHXat07tHQ4oHWxUIWubk8TsiSL59UiTrwF+okQ0dkrqw7DJ+Zj8KFONTMGrB/eqUB/XXRn97vCsA0o0rYIVqWr/b7cUmEZQFG8arjHDQh4BqvSQeOe+nuTmY+KUpUlU=
Received: from VE1PR08CA0031.eurprd08.prod.outlook.com (2603:10a6:803:104::44)
 by AM5PR0801MB1988.eurprd08.prod.outlook.com (2603:10a6:203:48::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2559.16; Fri, 20 Dec
 2019 01:14:26 +0000
Received: from DB5EUR03FT052.eop-EUR03.prod.protection.outlook.com
 (2a01:111:f400:7e0a::201) by VE1PR08CA0031.outlook.office365.com
 (2603:10a6:803:104::44) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2559.15 via Frontend
 Transport; Fri, 20 Dec 2019 01:14:25 +0000
Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org;
 dmarc=bestguesspass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5EUR03FT052.mail.protection.outlook.com (10.152.21.82) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.2559.14 via Frontend Transport; Fri, 20 Dec 2019 01:14:25 +0000
Received: ("Tessian outbound 0eaff1016ea4:v40");
 Fri, 20 Dec 2019 01:14:25 +0000
X-CR-MTA-TID: 64aa7808
Received: from cccab7533209.3
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 7D9968BE-FC89-4BFC-8B39-0B579E4FFB17.1; 
 Fri, 20 Dec 2019 01:14:20 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id cccab7533209.3
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 20 Dec 2019 01:14:20 +0000
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ttl2Bv9C6J1/9ZmjEeBWOQU2tgQpjiUQNDmS4N1NOLFBqP+GlJJrLqzKbjmP1n4qeJu1xPdSanU4oTGuuSdROyS3cIDfrp60ahs7MhZlmuUzXYwQ19zka/dK1x8mJw8fL//G6eTfW8jkIsmiC+dY7AVv2vkx8HEfZc+/kqM7dDBHOOjtT5mtrHu6lupmbcTr4jDPoq1yEGDb6Ay8mzes3k1hh5eUu/w3pidGIyqUbt3C18Jj1Is+TuCuAbt9ua6CtoyGN5aMwIm+YA2U6F6BNlSFIN3EaUIak/g8Ih2l01tAcBkUkmsvjACL5WHfHplZcNHyufExWM9siV7BhgsJfw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=i/97SoxTu7K5xzJFgc3l0CDxm/0RBHGQ1+mXHl3mggQ=;
 b=V3EDTPwR4Jw/ZHqjPhSZCF73ESoetguL5pGyDamm0EpYI5+EoYK5m5ODG2eDU5Rt/0fMaj1iyhOx8yQ0Otr2FPRTcz+ORKYHjfe0KyQbHYS6hkVHvh2tR78rd4MNPNPLHkjJMR9J5NGW6udCuQXdowdzLB2S2GWU9gMURDN48vE7X0C2GfTkPQRI68Tl0gmUKtL349v3n+pKrExYkgsPWWrJVOPo0aTQMpjZ3tZdFVMpMzHLsvlXCBbxn6neeDa4X2XwAc5cRwXWIzNAEG6Cc3C5bAUifgeGizuKiNlkJQlp3wT7pEB8J/yLR389aLrfJR8lq64tL+MWV8reGwPhuA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; 
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=i/97SoxTu7K5xzJFgc3l0CDxm/0RBHGQ1+mXHl3mggQ=;
 b=n2Xuo3J3JjaMmhilicqvP6GZTO/Y5Y8WUghXgfrVyMuw2vEqP66wUFj81b039xBxRxs5+ui0e9xKsuxPHSSGPBd6d966eRxuPi5moKvJlXtIGL0oBCeOcilq1dqMHBdQKYRvlaH/EP8BJPft+X1RDLx1c4+ezvFsZQChfEjiUuo=
Received: from VE1PR08MB4639.eurprd08.prod.outlook.com (10.255.112.205) by
 VE1PR08MB4750.eurprd08.prod.outlook.com (10.255.112.87) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.2559.14; Fri, 20 Dec 2019 01:14:18 +0000
Received: from VE1PR08MB4639.eurprd08.prod.outlook.com
 ([fe80::a85e:ed5c:9b3a:6046]) by VE1PR08MB4639.eurprd08.prod.outlook.com
 ([fe80::a85e:ed5c:9b3a:6046%7]) with mapi id 15.20.2538.019; Fri, 20 Dec 2019
 01:14:18 +0000
From: Justin He <Justin.He@arm.com>
To: Julien Grall <julien@xen.org>, "minios-devel@lists.xenproject.org"
 <minios-devel@lists.xenproject.org>, Simon Kuenzer <simon.kuenzer@neclab.eu>, 
 "Santiago.Pagani@neclab.eu" <Santiago.Pagani@neclab.eu>
Thread-Topic: [Minios-devel] [UNIKRAFT RFC PATCH 2/5] plat/kvm: arm64: Enable
 the fp/simd at the starting point
Thread-Index: AQHVtnh/LS76CFi8bku+vtZWKT9mOKfBhhIAgACtzGA=
Date: Fri, 20 Dec 2019 01:14:17 +0000
Message-ID: <VE1PR08MB4639398095E2507A98882131F72D0@VE1PR08MB4639.eurprd08.prod.outlook.com>
References: <20191219142722.134251-1-justin.he@arm.com>
 <20191219142722.134251-3-justin.he@arm.com>
 <0e928f78-d7bc-9845-89c9-cd594dd56868@xen.org>
In-Reply-To: <0e928f78-d7bc-9845-89c9-cd594dd56868@xen.org>
Accept-Language: en-US, zh-CN
Content-Language: en-US
X-Mentions: simon.kuenzer@neclab.eu
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ts-tracking-id: 3a43bfa3-50c8-4292-b132-f5ab88b0fd1f.1
x-checkrecipientchecked: true
Authentication-Results-Original: spf=none (sender IP is )
 smtp.mailfrom=Justin.He@arm.com; 
x-originating-ip: [113.29.88.7]
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-HT: Tenant
X-MS-Office365-Filtering-Correlation-Id: 600186a0-5b83-452e-9b51-08d784e9f428
X-MS-TrafficTypeDiagnostic: VE1PR08MB4750:|VE1PR08MB4750:|AM5PR0801MB1988:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS: <AM5PR0801MB19880BA852C1AD99D284E369F72D0@AM5PR0801MB1988.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
x-ms-oob-tlc-oobclassifiers: OLM:8882;OLM:8882;
x-forefront-prvs: 025796F161
X-Forefront-Antispam-Report-Untrusted: SFV:NSPM;
 SFS:(10009020)(4636009)(376002)(39860400002)(346002)(136003)(396003)(366004)(189003)(199004)(13464003)(5660300002)(71200400001)(8676002)(54906003)(316002)(53546011)(55236004)(8936002)(6506007)(81156014)(110136005)(81166006)(9686003)(86362001)(33656002)(66476007)(76116006)(478600001)(66446008)(66556008)(64756008)(52536014)(55016002)(7696005)(186003)(66946007)(26005)(2906002)(4326008);
 DIR:OUT; SFP:1101; SCL:1; SRVR:VE1PR08MB4750;
 H:VE1PR08MB4639.eurprd08.prod.outlook.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; MX:1; A:1; 
received-spf: None (protection.outlook.com: arm.com does not designate
 permitted sender hosts)
X-MS-Exchange-SenderADCheck: 1
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original: in4FI+qGgs9tdF1MpDBDAffGFagkMsMCRmxGDwj0OgYkeRI30J02sPwpLj8yPFxatROASbEIr6gHrOR7n00uBDRq5736zgwWjbU59jfT8LG5eBQKjDXzv/IK36+LwKC6bkq/WXDZrEI8KIMsJ0G5v60+czIp5WNWLJ9T37gXi02d5qSVDYTHTMtUpOIJqfpa1ezphdtQMzuJlP3W4aOhaEns0eLg+bE1HMtBOfefGKWU7iATqGJWfwxTkRRbCwMm2ah6/7MzLb9xjqjsLyhvp48xbF5cyQ96n7h33Hjo2xRUPSfop3BT9doBv5G+XF1aOBZqWDfGHmKFAf1/JZK1Mr5waEo9ReLc08XV+azb9tEwDASlnsq5SSJ0EUgVz2bWUOBLZPPPxzlXjfLA0siIzSeasWBo5Pco9nB8LgNwUTshwMuuPEvyr5M91X24jcTd3U6PyJbVhT1Sesx0Q3E1Miry2Zaq7UvQfCbptlthEFH9Fu3ITuhCplHvZRkhUu5D
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB4750
Original-Authentication-Results: spf=none (sender IP is )
 smtp.mailfrom=Justin.He@arm.com; 
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT052.eop-EUR03.prod.protection.outlook.com
X-Forefront-Antispam-Report: CIP:63.35.35.123; IPV:CAL; SCL:-1; CTRY:IE;
 EFV:NLI; SFV:NSPM;
 SFS:(10009020)(4636009)(346002)(136003)(376002)(396003)(39860400002)(13464003)(199004)(189003)(40434004)(52536014)(76130400001)(336012)(86362001)(70206006)(5660300002)(70586007)(186003)(4326008)(107886003)(478600001)(26826003)(316002)(110136005)(54906003)(55016002)(9686003)(356004)(53546011)(6506007)(26005)(7696005)(2906002)(81156014)(81166006)(8676002)(8936002)(33656002);
 DIR:OUT; SFP:1101; SCL:1; SRVR:AM5PR0801MB1988;
 H:64aa7808-outbound-1.mta.getcheckrecipient.com; FPR:; SPF:Pass; LANG:en;
 PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; A:1; MX:1; 
X-MS-Office365-Filtering-Correlation-Id-Prvs: 12226c8f-a807-4249-eab9-08d784e9efde
X-Forefront-PRVS: 025796F161
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: z6WJI3BfKEhLS1aOLD7NDl675MzgrQvz1KBzRZ9HcnASpA3qOAz3njrbnShusaDDlffT2evJnlrD7YIBj3CkzR9b0d0oZX9pgzmp2EvRY6f2yfT6XnWdzJNRfcsorgeIFjl7ALugJvG5LsWjVTeBwF7aGl/baX0Wx9CPS+6tBWAQXIm4ItIXxMAP8AHSA98d8FxZJFsdD/1lRrxWOMusdTVkAHSSIrWbnKyyJhfPhYuRBAKE1hv9djcKlqGHK0ed3FQ/o3AmN7t0U6/PcxA2PyrGo+ANHuEOdTXSxyKm5vAdCsZorNX/XmUINWVYq26BZ2XzqyVKifoZo3iLMfpdP00vw3GEJgurbXMYlT99siYFl7CIAj2KKwQblQ4+c6SWi9ZowVCpUzsnG8K5GGUTDpK+Iu/tzc0RqsS3X/8fHcKeLqYbyYnAlKszLTl9Hok6CqKTB5JDwerMNWRGvFG4qoOiTqrdqxv61d9u+PtP9SbNQz4uFBjIo+lX95qsrk/UjnaDYg37U/+CcealOc/9xA==
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Dec 2019 01:14:25.4249 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 600186a0-5b83-452e-9b51-08d784e9f428
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123];
 Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB1988
Subject: Re: [Minios-devel] [UNIKRAFT RFC PATCH 2/5] plat/kvm: arm64: Enable
 the fp/simd at the starting point
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>, Kaly Xin <Kaly.Xin@arm.com>,
 Julien Grall <Julien.Grall@arm.com>,
 "Sharan.Santhanam@neclab.eu" <Sharan.Santhanam@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgSnVsaWVuDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogSnVsaWVu
IEdyYWxsIDxqdWxpZW5AeGVuLm9yZz4NCj4gU2VudDogVGh1cnNkYXksIERlY2VtYmVyIDE5LCAy
MDE5IDEwOjM1IFBNDQo+IFRvOiBKdXN0aW4gSGUgPEp1c3Rpbi5IZUBhcm0uY29tPjsgbWluaW9z
LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnOw0KPiBTaW1vbiBLdWVuemVyIDxzaW1vbi5rdWVu
emVyQG5lY2xhYi5ldT47IFNhbnRpYWdvLlBhZ2FuaUBuZWNsYWIuZXUNCj4gQ2M6IEZlbGlwZSBI
dWljaSA8ZmVsaXBlLmh1aWNpQG5lY2xhYi5ldT47IEthbHkgWGluIDxLYWx5LlhpbkBhcm0uY29t
PjsNCj4gSnVsaWVuIEdyYWxsIDxKdWxpZW4uR3JhbGxAYXJtLmNvbT47IFNoYXJhbi5TYW50aGFu
YW1AbmVjbGFiLmV1DQo+IFN1YmplY3Q6IFJlOiBbTWluaW9zLWRldmVsXSBbVU5JS1JBRlQgUkZD
IFBBVENIIDIvNV0gcGxhdC9rdm06IGFybTY0Og0KPiBFbmFibGUgdGhlIGZwL3NpbWQgYXQgdGhl
IHN0YXJ0aW5nIHBvaW50DQo+DQo+IEhpLA0KPg0KPiBPbiAxOS8xMi8yMDE5IDE0OjI3LCBKaWEg
SGUgd3JvdGU6DQo+ID4gV3JpdGUgdGhlIHN5cyByZWcgdG8gZW5hYmxlIHRoZSBmcC9zaW1kIGZl
YXR1cmUsIG90aGVyd2lzZSBpdCB3aWxsDQo+ID4gY2F1c2UgZmxvYXRpbmcgcG9pbnQvc2ltZCBl
eGNlcHRpb24gd2hlbiB0b3VjaGluZyBxMC1xMzEuDQo+DQo+IEluIHlvdXIgZmlyc3QgcGF0Y2gg
eW91IHNheSBGUFNJTUQgd2lsbCBiZSBhdmFpbGFibGUgZm9yIGFwcGxpY2F0aW9uDQo+IG9ubHku
IEJ1dCBoZXJlLCB5b3Ugd2lsbCBhbGxvdyBVbmlrcmFmdCBpdHNlbGYgdG8gdXNlIGl0Lg0KPg0K
PiBTbyBkb24ndCB5b3Ugd2FudCB0byB0dXJuIHRoaXMgb25seSB3aGVuIGp1bXBpbmcgdG8gdGhl
IGFwcGxpY2F0aW9uIGNvZGU/DQo+DQpZZXMsIHRoaXMgbWlnaHQgYmUgbW9yZSBncmFjZWZ1bC4N
CkJ1dCB0aGVyZSBpcyBhIGNvcm5lciBjYXNlIGluIGxpYnVrZGVidWcgb2YgVW5pa3JhZnQuDQpJ
ZiB3ZSByZW1vdmVkIC1tZ2VuZXJhbC1yZWdzLW9ubHksIHNvbWUgcHJpbnRmKiBmYW1pbHkgZnVu
Y3Rpb25zIChlc3BlY2lhbGx5DQp0aG9zZSBoYXZlIHZhcmlhYmxlIGxlbmd0aCBwYXJhbWV0ZXJz
LCAuZS5nIHZhX3N0YXJ0L2VuZCkgd2lsbCBiZSBjb21waWxlZCB0bw0KdXNlIHEwLXEzMS4NCkhl
bmNlLCBpZiB3ZSB3YW50IHRvIGRpc2FibGUgZnAvc2ltZCBpbiB1bmlrcmFmdCBrZXJuZWwgYW5k
IGVuYWJsZSBpdCBpbg0KdXNlcnNwYWNlLCB3ZSBuZWVkIHRvIHNwZWNpZnkgZGlmZmVyZW50IGNv
bXBpbGF0aW9uIG9wdGlvbnMgd2l0aC93aXRob3V0DQotbWdlbmVyYWwtcmVncy1vbmx5IGZvciBl
YWNoIHVua3JhZnQga2VybmVsIGxpYnJhcnkuIEkgZG9uJ3Qga25vdyB3aGV0aGVyDQppdCBpcyBh
Y2NlcHRhYmxlPyBAU2ltb24gS3VlbnplciBXaGF0IGRvIHlvdSB0aGluayBvZiBpdD8NCg0KLS0N
CkNoZWVycywNCkp1c3RpbiAoSmlhIEhlKQ0KDQoNCj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IEpp
YSBIZSA8anVzdGluLmhlQGFybS5jb20+DQo+ID4gLS0tDQo+ID4gICBwbGF0L2t2bS9hcm0vZW50
cnk2NC5TIHwgOCArKysrKysrKw0KPiA+ICAgMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygr
KQ0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL3BsYXQva3ZtL2FybS9lbnRyeTY0LlMgYi9wbGF0L2t2
bS9hcm0vZW50cnk2NC5TDQo+ID4gaW5kZXggMzU5YTMxMC4uMWUzMjI2OCAxMDA2NDQNCj4gPiAt
LS0gYS9wbGF0L2t2bS9hcm0vZW50cnk2NC5TDQo+ID4gKysrIGIvcGxhdC9rdm0vYXJtL2VudHJ5
NjQuUw0KPiA+IEBAIC0zNiw2ICszNiw3IEBADQo+ID4gICAjaW5jbHVkZSA8a3ZtLWFybS9tbS5o
Pg0KPiA+ICAgI2luY2x1ZGUgPGFybS9jcHVfZGVmcy5oPg0KPiA+ICAgI2luY2x1ZGUgPHVrL3Bs
YXQvY29tbW9uL3NlY3Rpb25zLmg+DQo+ID4gKyNpbmNsdWRlIDx1ay9jb25maWcuaD4NCj4gPg0K
PiA+ICAgLmdsb2JhbCBwYWdlX3RhYmxlX3NpemUNCj4gPiAgIC5kYXRhDQo+ID4gQEAgLTQ5LDYg
KzUwLDEzIEBAIHBhZ2VfdGFibGVfc2l6ZToNCj4gPg0KPiA+ICAgLnRleHQNCj4gPiAgIEVOVFJZ
KF9saWJrdm1wbGF0X2VudHJ5KQ0KPiA+ICsjaWZkZWYgQ09ORklHX0ZMT0FUX1BPSU5UDQo+ID4g
KyAgIC8qIEVuYWJsZSBmcC9zaW1kIHN1cHBvcnQgKi8NCj4gPiArICAgbGRyICAgICAgICB4MCwg
PSgzIDw8IDIwKQ0KPiA+ICsgICBtc3IgICAgICAgIGNwYWNyX2VsMSwgeDANCj4gPiArICAgaXNi
DQo+ID4gKyNlbmRpZg0KPiA+ICsNCj4gPiAgICAgLyogQ2FsY3VsYXRlIHRoZSBpbWFnZSBzaXpl
ICovDQo+ID4gICAgIGxkciB4MjUsID1fZHRiDQo+ID4gICAgIGxkciB4MjYsID1fZW5kDQo+ID4N
Cj4NCj4gLS0NCj4gSnVsaWVuIEdyYWxsDQpJTVBPUlRBTlQgTk9USUNFOiBUaGUgY29udGVudHMg
b2YgdGhpcyBlbWFpbCBhbmQgYW55IGF0dGFjaG1lbnRzIGFyZSBjb25maWRlbnRpYWwgYW5kIG1h
eSBhbHNvIGJlIHByaXZpbGVnZWQuIElmIHlvdSBhcmUgbm90IHRoZSBpbnRlbmRlZCByZWNpcGll
bnQsIHBsZWFzZSBub3RpZnkgdGhlIHNlbmRlciBpbW1lZGlhdGVseSBhbmQgZG8gbm90IGRpc2Ns
b3NlIHRoZSBjb250ZW50cyB0byBhbnkgb3RoZXIgcGVyc29uLCB1c2UgaXQgZm9yIGFueSBwdXJw
b3NlLCBvciBzdG9yZSBvciBjb3B5IHRoZSBpbmZvcm1hdGlvbiBpbiBhbnkgbWVkaXVtLiBUaGFu
ayB5b3UuDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpN
aW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9y
ZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRl
dmVs

From minios-devel-bounces@lists.xenproject.org Fri Dec 20 02:25:35 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 20 Dec 2019 02:25:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ii7yv-0000W9-LJ; Fri, 20 Dec 2019 02:25:33 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <SRS0=QO9e=2K=arm.com=justin.he@srs-us1.protection.inumbo.net>)
 id 1ii7yt-0000W4-N3
 for minios-devel@lists.xenproject.org; Fri, 20 Dec 2019 02:25:31 +0000
X-Inumbo-ID: f824c094-22cf-11ea-88e7-bc764e2007e4
Received: from EUR04-VI1-obe.outbound.protection.outlook.com (unknown
 [40.107.8.82]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id f824c094-22cf-11ea-88e7-bc764e2007e4;
 Fri, 20 Dec 2019 02:25:21 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; 
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xA+U8REZgRVfDJC6iIk2NbcuMak4u2vXfZmRwVd+IdA=;
 b=5TOVu0jKWvVhPML5/WoSi/KS7G8+ZjHHo6Q/2Cz//02aSuVhnhEc9fGBaQz+wlsfL0Jn3iAk2TGcqOaySK8KncXPBZERCQ+uO4vTnE5EvvTzIn/8oOKJ3RPpYtQ4puTNqnHhj4AMj5R1vlxdzwMW7dcEDjsSUFhd69sW1UGYstA=
Received: from VI1PR08CA0109.eurprd08.prod.outlook.com (2603:10a6:800:d4::11)
 by VI1SPR01MB0378.eurprd08.prod.outlook.com (2603:10a6:802:98::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2559.13; Fri, 20 Dec
 2019 02:25:19 +0000
Received: from VE1EUR03FT028.eop-EUR03.prod.protection.outlook.com
 (2a01:111:f400:7e09::208) by VI1PR08CA0109.outlook.office365.com
 (2603:10a6:800:d4::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2559.13 via Frontend
 Transport; Fri, 20 Dec 2019 02:25:19 +0000
Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=pass (signature was
 verified) header.d=armh.onmicrosoft.com;lists.xenproject.org;
 dmarc=bestguesspass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VE1EUR03FT028.mail.protection.outlook.com (10.152.18.88) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.2559.14 via Frontend Transport; Fri, 20 Dec 2019 02:25:18 +0000
Received: ("Tessian outbound 1da651c29646:v40");
 Fri, 20 Dec 2019 02:25:18 +0000
X-CR-MTA-TID: 64aa7808
Received: from 185da4c9d6bf.3
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 8008E7CA-B59F-4CC8-BB7E-D758397B85AF.1; 
 Fri, 20 Dec 2019 02:25:13 +0000
Received: from EUR03-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 185da4c9d6bf.3
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 20 Dec 2019 02:25:13 +0000
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cdINy0Mi8hksEk6RD/575OCwpMu7fI7PntKWNkGtSzuwbwtnobNwwzfQaCY0I5XzcOoeQbmV/QM0zmAJiJMBJcYKxJ7GdRwbIUv+mtMjb3P8IuvT8HHaJUKRs0jatX/rAm7d6VWY8htWNRMrppCHJsOOQ5YtpSsEb57yzAziXXmqDlvs6vdx8pdZ3LIuWe3kGYlJ6N/zrLYGOC4W9pGtsWcuPDCweRSXdymfzMeE2BheWduSWLs0aD42OIz15nBPeiLk7ohoZy5QJ3kJMPEMVAW0Yhmha7YngU2MEQgf7mDmt1Dk/4o6zRLJbkcQ2uYvSRaNgLFYx55nwx3BJqGe1w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hIjMgJOaOMG1X2TmKea/oQ3erWWWuljSCNz9MX16/u0=;
 b=cQtjyCsjxFUhCzHUTseo2vlOmvzbtY7RxoHMb6W10PAcJ1r5yUfowZ2J0uIA3aFA3xb04tEGmCSiFWx2vAT2Kc2H6ltEvZ4N7e00Sk4VlvAYdj0AtkgoCP9FtKw2G9/yf6GT9NQ/GC5gRUx9ljPfOulmQ4Ya3T+SDxN4DChk4/mlZ+yv9+hCeeLv9EMymMyd+R1VcLc/BLMhtHoQIXNQvZuQPNBMJGhZgtq9PevozNIa0cUU5CtOF77kBAkyTZSBrII2ARxBTq+HrxWqTPKx7tVPVylsVyR2AN2gFnQzBMs3uYUNqI3UixfurdT1IBurUhKuH7D52+8Jj3qbX5U9Lg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; 
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hIjMgJOaOMG1X2TmKea/oQ3erWWWuljSCNz9MX16/u0=;
 b=vKWFUEc/mxSy6nfBDnZBSG9St5Sg65rf17TvWb11S54niMUlw/98RoT9rY8QI2r9e0TfEV4BYP4iya1Ho7F0U40Ikk5LQLLOo3/zImlep6v9qmRKlXlS6s6UVRlhfNyOoBFULqDstTIbn0e2fW2xu0qmqvKi8lAu6vSiAkownAo=
Received: from VE1PR08MB4639.eurprd08.prod.outlook.com (10.255.112.205) by
 VE1PR08MB4781.eurprd08.prod.outlook.com (10.255.114.138) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.2538.18; Fri, 20 Dec 2019 02:25:12 +0000
Received: from VE1PR08MB4639.eurprd08.prod.outlook.com
 ([fe80::a85e:ed5c:9b3a:6046]) by VE1PR08MB4639.eurprd08.prod.outlook.com
 ([fe80::a85e:ed5c:9b3a:6046%7]) with mapi id 15.20.2538.019; Fri, 20 Dec 2019
 02:25:12 +0000
From: Justin He <Justin.He@arm.com>
To: Costin Lupu <costin.lupu@cs.pub.ro>, "minios-devel@lists.xenproject.org"
 <minios-devel@lists.xenproject.org>, Simon Kuenzer <simon.kuenzer@neclab.eu>, 
 "Santiago.Pagani@neclab.eu" <Santiago.Pagani@neclab.eu>
Thread-Topic: [Minios-devel] [PATCH 1/2] Makefile.uk: Fix link issues on arm64
Thread-Index: AQHVtk4Dx68YN/Z12U2KoA2kffRRZ6fBTNsAgAD857A=
Date: Fri, 20 Dec 2019 02:25:10 +0000
Message-ID: <VE1PR08MB463987A849429B3AF50C974FF72D0@VE1PR08MB4639.eurprd08.prod.outlook.com>
References: <20191219092324.219953-1-justin.he@arm.com>
 <1bcbdabf-8d4b-cf2a-63df-646f2b3e698b@cs.pub.ro>
In-Reply-To: <1bcbdabf-8d4b-cf2a-63df-646f2b3e698b@cs.pub.ro>
Accept-Language: en-US, zh-CN
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ts-tracking-id: d57d00ad-74df-48f6-acce-b61e9c60d6e7.1
x-checkrecipientchecked: true
Authentication-Results-Original: spf=none (sender IP is )
 smtp.mailfrom=Justin.He@arm.com; 
x-originating-ip: [113.29.88.7]
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-HT: Tenant
X-MS-Office365-Filtering-Correlation-Id: a96bb076-bd73-478f-7fa8-08d784f3db80
X-MS-TrafficTypeDiagnostic: VE1PR08MB4781:|VE1PR08MB4781:|VI1SPR01MB0378:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS: <VI1SPR01MB037883DA194ABC890BEAB976F72D0@VI1SPR01MB0378.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
x-ms-oob-tlc-oobclassifiers: OLM:6430;OLM:6430;
x-forefront-prvs: 025796F161
X-Forefront-Antispam-Report-Untrusted: SFV:NSPM;
 SFS:(10009020)(4636009)(366004)(136003)(39860400002)(376002)(396003)(346002)(13464003)(189003)(199004)(52536014)(6506007)(33656002)(966005)(186003)(5660300002)(66946007)(53546011)(2906002)(9686003)(8936002)(71200400001)(81166006)(81156014)(55016002)(7696005)(66446008)(478600001)(64756008)(86362001)(55236004)(110136005)(4326008)(26005)(66556008)(76116006)(66476007)(54906003)(316002)(8676002);
 DIR:OUT; SFP:1101; SCL:1; SRVR:VE1PR08MB4781;
 H:VE1PR08MB4639.eurprd08.prod.outlook.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; MX:1; A:1; 
received-spf: None (protection.outlook.com: arm.com does not designate
 permitted sender hosts)
X-MS-Exchange-SenderADCheck: 1
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original: Rohc7A96gJqQWuyZfsmHxH8ehY1jacp2ZrtAxewda8qsEei8gbdzCiSEs64RReJnXN8ZL2CXBbMMTtkTGhfktowmvIzzbS9X5XMzSmyO6V3D5x5mhBlbvdpDGT6/p0sVtEhpKsLfHLGPYLtzNITveKbYX+mRSKlXj6YMOzeowUHihkiL1tny1s3MiwwzlHXyt2QpB4ywyy2Q+W+9v1Ja1WUafiFZhxPmSOySYI+hRhLhXHVFgXFkPD9Up8RYXTdi8r+pG44JIg/GcufZ1G69ETfZhUWJn8VVMQ9BJyxNDMte4KKDRNXopKcUXFi5/+S0/bdHFheLeQc2cmKIPNi85DP44gblSWDCRh6d20A3QTEWBceyxcH9bd4lFUwCbmwC2sskGDv/36JWyqKAr+Eg/glBgdpsw00lqtArGEF2CItMxsHyGrraZRTjyeDb6zuZvVkfHa4QFrKe22EHhLxzgmjn6oTkDD1WiGGLt4fHSfDe7OmVIKMMYanKnhlW7PGP+ihV4jwtH1F9sfVONEwRwh55qe5uswzK1emfi467tCM=
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB4781
Original-Authentication-Results: spf=none (sender IP is )
 smtp.mailfrom=Justin.He@arm.com; 
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT028.eop-EUR03.prod.protection.outlook.com
X-Forefront-Antispam-Report: CIP:63.35.35.123; IPV:CAL; SCL:-1; CTRY:IE;
 EFV:NLI; SFV:NSPM;
 SFS:(10009020)(4636009)(136003)(39860400002)(396003)(376002)(346002)(189003)(199004)(13464003)(40434004)(966005)(81156014)(478600001)(81166006)(26826003)(26005)(9686003)(55016002)(53546011)(6506007)(33656002)(2906002)(8936002)(8676002)(76130400001)(7696005)(356004)(70206006)(70586007)(86362001)(336012)(52536014)(5660300002)(316002)(54906003)(107886003)(186003)(36906005)(110136005)(4326008);
 DIR:OUT; SFP:1101; SCL:1; SRVR:VI1SPR01MB0378;
 H:64aa7808-outbound-1.mta.getcheckrecipient.com; FPR:; SPF:Pass; LANG:en;
 PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; MX:1; A:1; 
X-MS-Office365-Filtering-Correlation-Id-Prvs: 83efa014-e377-4c50-3389-08d784f3d749
X-Forefront-PRVS: 025796F161
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 3NBJRh7vY8GQ2QCv5BBzZ0u0VygsEvGj6sYPWo4rHQrQ7Ib0oMF3QmdjOM4itWUu4L47zAV5xC/v11s7WdCX/hYqqYbOMR9o9ctH6MdroNOheVcua4OvkeY6ldw71QlHzmfV8u1t/8PRyuxAehLZyUCOEqE1kc5FnKrnscS9tiujSbsl1x9rE3oq+y+tIW4RjPcRY35RKUKBdwfPTNkqvyzkhlQH81kBrdhPfbmZ5jmhJEZsBY7EeS2ui6G+ipFRXrRxKK9mc8X7f2oRI8ZmPi+gWdv7f5l7b/79Wrdg0rsYI12VV5De9GNbBt3FqNqswn9LJNSz1OjlfXM+NjOEW28MU1cZILFWiGPguGG5O31uhXepVc+jYjh3HQ6thEMUVL52PZoqtvBpSFvzD4FTibriKUWeO4ppp5nunFJNEG5TBofLXAmXHfK8VpCvMdvN2n0zOJos1U4Xqe007k02b7eoRm6biouEwQ9GtR65vCyEsPMv3wdl0z/C0itCi2c0Ce7gB8sBuhUX75ADMdxgfFHk8hxUKhz6YlG1M6Vat32vnl8M3lRJm6vRbPVRPxCI
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Dec 2019 02:25:18.9661 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a96bb076-bd73-478f-7fa8-08d784f3db80
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123];
 Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1SPR01MB0378
Subject: Re: [Minios-devel] [PATCH 1/2] Makefile.uk: Fix link issues on arm64
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>, Kaly Xin <Kaly.Xin@arm.com>,
 Julien Grall <Julien.Grall@arm.com>,
 "Sharan.Santhanam@neclab.eu" <Sharan.Santhanam@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgQ29zdGluDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogQ29zdGlu
IEx1cHUgPGNvc3Rpbi5sdXB1QGNzLnB1Yi5ybz4NCj4gU2VudDogVGh1cnNkYXksIERlY2VtYmVy
IDE5LCAyMDE5IDc6MDkgUE0NCj4gVG86IEp1c3RpbiBIZSA8SnVzdGluLkhlQGFybS5jb20+OyBt
aW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmc7DQo+IFNpbW9uIEt1ZW56ZXIgPHNpbW9u
Lmt1ZW56ZXJAbmVjbGFiLmV1PjsgU2FudGlhZ28uUGFnYW5pQG5lY2xhYi5ldQ0KPiBDYzogRmVs
aXBlIEh1aWNpIDxmZWxpcGUuaHVpY2lAbmVjbGFiLmV1PjsgS2FseSBYaW4gPEthbHkuWGluQGFy
bS5jb20+Ow0KPiBKdWxpZW4gR3JhbGwgPEp1bGllbi5HcmFsbEBhcm0uY29tPjsgU2hhcmFuLlNh
bnRoYW5hbUBuZWNsYWIuZXUNCj4gU3ViamVjdDogUmU6IFtNaW5pb3MtZGV2ZWxdIFtQQVRDSCAx
LzJdIE1ha2VmaWxlLnVrOiBGaXggbGluayBpc3N1ZXMgb24gYXJtNjQNCj4NCj4gSGkgSnVzdGlu
LA0KPg0KPiBQbGVhc2Ugc2VlIGlubGluZS4NCj4NCj4gT24gMTIvMTkvMTkgMTE6MjMgQU0sIEpp
YSBIZSB3cm90ZToNCj4gPiBXaXRob3V0IHRoaXMgcGF0Y2gsIHdoZW4gc3RhcnRpbmcgaGVsbG93
b3JsZCBhcHAgd2l0aCBuZXdsaWIgb24gYXJtDQo+ID4ga3ZtIHBsYXQsIGl0IHdpbGwgcmVwb3J0
IGEgbGluayBlcnJvciBhcyBmb2xsb3dzOg0KPiA+IGlhcHBzL2hlbGxvd29ybGQubmV3bGliL2J1
aWxkL2hlbGxvd29ybGRfa3ZtLWFybTY0Lm86IEluIGZ1bmN0aW9uDQo+IGB3Y3N0b2xkX2wnOg0K
PiA+IGFwcHMvaGVsbG93b3JsZC5uZXdsaWIvYnVpbGQvbGlibmV3bGliYy9vcmlnaW4vbmV3bGli
LQ0KPiAyLjUuMC4yMDE3MDkyMi9uZXdsaWIvbGliYy9zdGRsaWIvd2NzdG9sZC5jOjc3OiB1bmRl
ZmluZWQgcmVmZXJlbmNlIHRvDQo+IGBzdHJ0b2xkX2wnDQo+ID4gYXBwcy9oZWxsb3dvcmxkLm5l
d2xpYi9idWlsZC9saWJuZXdsaWJjL29yaWdpbi9uZXdsaWItDQo+IDIuNS4wLjIwMTcwOTIyL25l
d2xpYi9saWJjL3N0ZGxpYi93Y3N0b2xkLmM6Nzc6KC50ZXh0KzB4N2M0ZTQpOiByZWxvY2F0aW9u
DQo+IHRydW5jYXRlZCB0byBmaXQ6IFJfQUFSQ0g2NF9DQUxMMjYgYWdhaW5zdCB1bmRlZmluZWQg
c3ltYm9sIGBzdHJ0b2xkX2wnDQo+ID4NCj4gPiBJIG9uY2UgZGlkIGNvbmZpZ3VyZSBhbmQgYnVp
bGQgb2YgbmV3bGliIGZyb20gdXB0cmVhbSwgdGhpcyBtYWNybyBpcw0KPiA+IGRlZmluZWQgb24g
bXkgVGh1bmRlcngyIGFybXY4YSBzZXJ2ZXIgKFVuYnVudHUgMTguMDQgKyBnY2MgdmVyc2lvbiA3
LjQuMCkNCj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IEppYSBIZSA8anVzdGluLmhlQGFybS5jb20+
DQo+ID4gLS0tDQo+ID4gIE1ha2VmaWxlLnVrIHwgMiArLQ0KPiA+ICAxIGZpbGUgY2hhbmdlZCwg
MSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS9NYWtl
ZmlsZS51ayBiL01ha2VmaWxlLnVrDQo+ID4gaW5kZXggMTdkOGQ3YS4uNTRlZmUxYSAxMDA2NDQN
Cj4gPiAtLS0gYS9NYWtlZmlsZS51aw0KPiA+ICsrKyBiL01ha2VmaWxlLnVrDQo+ID4gQEAgLTg1
LDkgKzg1LDkgQEAgTElCTkVXTElCX0dMT0JBTF9GTEFHUy15ICArPSAtDQo+IERNSVNTSU5HX1NZ
U0NBTExfTkFNRVMgLURNQUxMT0NfUFJPVklERUQNCj4gPiAgTElCTkVXTElCX0dMT0JBTF9GTEFH
Uy15ICArPSAtRF9QT1NJWF9SRUFMVElNRV9TSUdOQUxTDQo+ID4gIExJQk5FV0xJQl9HTE9CQUxf
RkxBR1MtDQo+ICQoQ09ORklHX0xJQk5FV0xJQkNfV0FOVF9JT19DOTlfRk9STUFUUykgKz0gLQ0K
PiBEX1dBTlRfSU9fQzk5X0ZPUk1BVFMNCj4gPiAgTElCTkVXTElCX0dMT0JBTF9GTEFHUy0NCj4g
JChDT05GSUdfTElCTkVXTElCQ19MSU5VWF9FUlJOT19FWFRFTlNJT05TKSArPSAtDQo+IERfX0xJ
TlVYX0VSUk5PX0VYVEVOU0lPTlNfXw0KPiA+ICtMSUJORVdMSUJfR0xPQkFMX0ZMQUdTLXkgICs9
IC1EX0hBVkVfTE9OR19ET1VCTEUNCj4NCj4gSSBkb24ndCB0aGluayBpdCdzIHNhZmUgdG8gZGVm
aW5lIHRoaXMgZm9yIGFsbCBhcmNoaXRlY3R1cmVzLiBCZXNpZGVzDQpIb3cgYWJvdXQgYWRkaW5n
DQppZmRlZiAoWDg2IHx8IEFSTTY0KSA/DQoNCj4gdGhhdCwgd2hlbiBJIGludHJvZHVjZWQgdGhp
cyBmbGFnIEkgZGlkbid0IGNoZWNrIHdoZXRoZXIgdGhpcyBpcw0KPiBhY3R1YWxseSB0cnVlLCBp
LmUuIHdoZXRoZXIgc2l6ZW9mKGRvdWJsZSkgYW5kIHNpemVvZihsb25nIGRvdWJsZSkgYXJlDQo+
IHRoZSBzYW1lLiBBbmQgdGhleSBhcmUgbm90LCBzaXplb2YoZG91YmxlKSA9PSA4IHdoaWxlIHNp
emVvZihsb25nDQo+IGRvdWJsZSkgPT0gMTYuIFRoZXJlZm9yZSB3ZSBoYXZlIHRvIGZvcmNlIHRo
ZSBjb21waWxlciB0byBtYWtlIHRoZW0NCj4gZXF1YWwgaW4gc2l6ZSB1c2luZyBgLW1sb25nLWRv
dWJsZS02NGAgKHRoaXMgbWVhbnMgdXBkYXRpbmcgZ2xvYmFsDQo+IENGTEFHUyBhbmQgQ1hYRkxB
R1MpLg0KT24gbXkgVGh1bmRYMiAoYXJtdjhhKSBob3N0LCBzaXplb2YoZG91YmxlKSA9PSA4IHdo
aWxlIHNpemVvZihsb25nDQpkb3VibGUpID09IDE2Lg0KQW5kIGAtbWxvbmctZG91YmxlLTY0YCBp
cyBub3QgcmVjb2duaXplZCBvbiBhcm02NCAoWzFdLCBYODYgb25seSkNCg0KQmVzaWRlcywgSSB0
cnkgdGhlIGNvbmZpZ3VyZSB0ZXN0IC5jIGNvZGU6DQojaW5jbHVkZSA8ZmxvYXQuaD4NCiNpZiBk
ZWZpbmVkKExEQkxfTUFOVF9ESUcpDQogICNkZWZpbmUgX0hBVkVfTE9OR19ET1VCTEUNCiAjZWxz
ZQ0KICAjZXJyb3IgIkxEQkwgIT0gREJMIg0KI2VuZGlmDQpsb25nIGRvdWJsZSB0ZXN0KCkgew0K
bG9uZyBkb3VibGUgbGQgPSAwLjBMOw0KcmV0dXJuIGxkOw0KfQ0KVGhlIGVycm9yICJMREJMICE9
IERCTCIgaXMgTk9UIHByb21wdGVkLiBIZW5jZSBfSEFWRV9MT05HX0RPVUJMRSBpcyBkZWZpbmVk
Lg0KDQpbMV0gaHR0cHM6Ly9nY2MuZ251Lm9yZy9vbmxpbmVkb2NzL2djYy9PcHRpb24tSW5kZXgu
aHRtbA0KDQo+DQo+IE5vdywgbXkgcXVlc3Rpb24gdG8geW91IGlzOiBkbyB0aGVzZSAyIHR5cGVz
IGhhdmUgdGhlIHNhbWUgc2l6ZT8gRXZlbiBpZg0KPiB0aGV5IGhhdmUsIHlvdSBzaG91bGQgc2V0
IHRoaXMgZmxhZyBvbmx5IGZvciB5b3VyIGFyY2hpdGVjdHVyZS4gSWYgbm90LA0KDQpTZWVtcyBJ
IHNob3VsZCBhZGQgdGhlIGlmZGVmIChBUk02NCkuLi4NCg0KLS0NCkNoZWVycywNCkp1c3RpbiAo
SmlhIEhlKQ0KDQoNCj4gY2FuIHlvdSBmb3JjZSB0aGUgY29tcGlsZXIgdG8gbWFrZSB0aGUgZXF1
YWwgaW4gc2l6ZT8NCj4NCj4gPiAgaWZlcSAoJChDT05GSUdfQVJDSF9YODZfNjQpLHkpDQo+ID4g
IExJQk5FV0xJQl9HTE9CQUxfRkxBR1MteSAgKz0gLURfTERCTF9FUV9EQkwNCj4gPiAtTElCTkVX
TElCX0dMT0JBTF9GTEFHUy15ICArPSAtRF9IQVZFX0xPTkdfRE9VQkxFDQo+ID4gIGVuZGlmDQo+
ID4NCj4gPiAgQ0ZMQUdTLXkgICArPSAkKExJQk5FV0xJQl9HTE9CQUxfRkxBR1MteSkNCj4gPg0K
SU1QT1JUQU5UIE5PVElDRTogVGhlIGNvbnRlbnRzIG9mIHRoaXMgZW1haWwgYW5kIGFueSBhdHRh
Y2htZW50cyBhcmUgY29uZmlkZW50aWFsIGFuZCBtYXkgYWxzbyBiZSBwcml2aWxlZ2VkLiBJZiB5
b3UgYXJlIG5vdCB0aGUgaW50ZW5kZWQgcmVjaXBpZW50LCBwbGVhc2Ugbm90aWZ5IHRoZSBzZW5k
ZXIgaW1tZWRpYXRlbHkgYW5kIGRvIG5vdCBkaXNjbG9zZSB0aGUgY29udGVudHMgdG8gYW55IG90
aGVyIHBlcnNvbiwgdXNlIGl0IGZvciBhbnkgcHVycG9zZSwgb3Igc3RvcmUgb3IgY29weSB0aGUg
aW5mb3JtYXRpb24gaW4gYW55IG1lZGl1bS4gVGhhbmsgeW91Lg0KX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApN
aW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0
Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Fri Dec 20 04:54:50 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 20 Dec 2019 04:54:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1iiAJM-0003py-Oq; Fri, 20 Dec 2019 04:54:48 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <SRS0=QO9e=2K=arm.com=justin.he@srs-us1.protection.inumbo.net>)
 id 1iiAJL-0003pt-D5
 for minios-devel@lists.xenproject.org; Fri, 20 Dec 2019 04:54:47 +0000
X-Inumbo-ID: d6f7945f-22e4-11ea-92ff-12813bfff9fa
Received: from foss.arm.com (unknown [217.140.110.172])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTP
 id d6f7945f-22e4-11ea-92ff-12813bfff9fa;
 Fri, 20 Dec 2019 04:54:45 +0000 (UTC)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 0683031B;
 Thu, 19 Dec 2019 20:54:45 -0800 (PST)
Received: from localhost.localdomain (entos-thunderx2-02.shanghai.arm.com
 [10.169.40.54])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id D06EA3F718;
 Thu, 19 Dec 2019 20:54:42 -0800 (PST)
From: Jia He <justin.he@arm.com>
To: minios-devel@lists.xenproject.org, Simon Kuenzer <simon.kuenzer@neclab.eu>,
 Santiago.Pagani@neclab.eu
Date: Fri, 20 Dec 2019 12:54:24 +0800
Message-Id: <20191220045425.183344-2-justin.he@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20191220045425.183344-1-justin.he@arm.com>
References: <20191220045425.183344-1-justin.he@arm.com>
Subject: [Minios-devel] [UNIKRAFT/NEWLIB PATCH 1/2] Makefile.uk: Fix link
 issues on arm64
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>, Kaly Xin <Kaly.Xin@arm.com>,
 Julien Grall <julien@xen.org>, Sharan.Santhanam@neclab.eu,
 Jia He <justin.he@arm.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

V2l0aG91dCB0aGlzIHBhdGNoLCB3aGVuIHN0YXJ0aW5nIGhlbGxvd29ybGQgYXBwIHdpdGggbmV3
bGliIG9uIGFybQprdm0gcGxhdCwgaXQgd2lsbCByZXBvcnQgYSBsaW5rIGVycm9yIGFzIGZvbGxv
d3M6CmFwcHMvaGVsbG93b3JsZC5uZXdsaWIvYnVpbGQvaGVsbG93b3JsZF9rdm0tYXJtNjQubzog
SW4gZnVuY3Rpb24gYHdjc3RvbGRfbCc6CmFwcHMvaGVsbG93b3JsZC5uZXdsaWIvYnVpbGQvbGli
bmV3bGliYy9vcmlnaW4vbmV3bGliLTIuNS4wLjIwMTcwOTIyL25ld2xpYi9saWJjL3N0ZGxpYi93
Y3N0b2xkLmM6Nzc6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHN0cnRvbGRfbCcKYXBwcy9oZWxs
b3dvcmxkLm5ld2xpYi9idWlsZC9saWJuZXdsaWJjL29yaWdpbi9uZXdsaWItMi41LjAuMjAxNzA5
MjIvbmV3bGliL2xpYmMvc3RkbGliL3djc3RvbGQuYzo3NzooLnRleHQrMHg3YzRlNCk6IHJlbG9j
YXRpb24gdHJ1bmNhdGVkIHRvIGZpdDogUl9BQVJDSDY0X0NBTEwyNiBhZ2FpbnN0IHVuZGVmaW5l
ZCBzeW1ib2wgYHN0cnRvbGRfbCcKCkkgb25jZSBkaWQgY29uZmlndXJlIGFuZCBidWlsZCBvZiBu
ZXdsaWIgZnJvbSB1cHRyZWFtLCB0aGlzIG1hY3JvIGlzCmRlZmluZWQgb24gbXkgVGh1bmRlcngy
IGFybXY4YSBzZXJ2ZXIgKFVuYnVudHUgMTguMDQgKyBnY2MgdmVyc2lvbiA3LjQuMCkKClNpZ25l
ZC1vZmYtYnk6IEppYSBIZSA8anVzdGluLmhlQGFybS5jb20+Ci0tLQogTWFrZWZpbGUudWsgfCA1
ICsrKystCiAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpk
aWZmIC0tZ2l0IGEvTWFrZWZpbGUudWsgYi9NYWtlZmlsZS51awppbmRleCAxN2Q4ZDdhLi4zNzc4
MTVjIDEwMDY0NAotLS0gYS9NYWtlZmlsZS51aworKysgYi9NYWtlZmlsZS51awpAQCAtODUsOSAr
ODUsMTIgQEAgTElCTkVXTElCX0dMT0JBTF9GTEFHUy15ICArPSAtRE1JU1NJTkdfU1lTQ0FMTF9O
QU1FUyAtRE1BTExPQ19QUk9WSURFRAogTElCTkVXTElCX0dMT0JBTF9GTEFHUy15ICArPSAtRF9Q
T1NJWF9SRUFMVElNRV9TSUdOQUxTCiBMSUJORVdMSUJfR0xPQkFMX0ZMQUdTLSQoQ09ORklHX0xJ
Qk5FV0xJQkNfV0FOVF9JT19DOTlfRk9STUFUUykgKz0gLURfV0FOVF9JT19DOTlfRk9STUFUUwog
TElCTkVXTElCX0dMT0JBTF9GTEFHUy0kKENPTkZJR19MSUJORVdMSUJDX0xJTlVYX0VSUk5PX0VY
VEVOU0lPTlMpICs9IC1EX19MSU5VWF9FUlJOT19FWFRFTlNJT05TX18KK2lmZXEgKCQoQ09ORklH
X0FSQ0hfQVJNXzY0KSx5KQorTElCTkVXTElCX0dMT0JBTF9GTEFHUy15ICArPSAtRF9IQVZFX0xP
TkdfRE9VQkxFCitlbmRpZgogaWZlcSAoJChDT05GSUdfQVJDSF9YODZfNjQpLHkpCi1MSUJORVdM
SUJfR0xPQkFMX0ZMQUdTLXkgICs9IC1EX0xEQkxfRVFfREJMCiBMSUJORVdMSUJfR0xPQkFMX0ZM
QUdTLXkgICs9IC1EX0hBVkVfTE9OR19ET1VCTEUKK0xJQk5FV0xJQl9HTE9CQUxfRkxBR1MteSAg
Kz0gLURfTERCTF9FUV9EQkwKIGVuZGlmCiAKIENGTEFHUy15ICAgKz0gJChMSUJORVdMSUJfR0xP
QkFMX0ZMQUdTLXkpCi0tIAoyLjE3LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBs
aXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4v
bGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Fri Dec 20 04:54:53 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 20 Dec 2019 04:54:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1iiAJR-0003qP-QH; Fri, 20 Dec 2019 04:54:53 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <SRS0=QO9e=2K=arm.com=justin.he@srs-us1.protection.inumbo.net>)
 id 1iiAJQ-0003qG-DR
 for minios-devel@lists.xenproject.org; Fri, 20 Dec 2019 04:54:52 +0000
X-Inumbo-ID: d62f1eb6-22e4-11ea-88e7-bc764e2007e4
Received: from foss.arm.com (unknown [217.140.110.172])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id d62f1eb6-22e4-11ea-88e7-bc764e2007e4;
 Fri, 20 Dec 2019 04:54:43 +0000 (UTC)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 6973E1FB;
 Thu, 19 Dec 2019 20:54:42 -0800 (PST)
Received: from localhost.localdomain (entos-thunderx2-02.shanghai.arm.com
 [10.169.40.54])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 3550B3F718;
 Thu, 19 Dec 2019 20:54:39 -0800 (PST)
From: Jia He <justin.he@arm.com>
To: minios-devel@lists.xenproject.org, Simon Kuenzer <simon.kuenzer@neclab.eu>,
 Santiago.Pagani@neclab.eu
Date: Fri, 20 Dec 2019 12:54:23 +0800
Message-Id: <20191220045425.183344-1-justin.he@arm.com>
X-Mailer: git-send-email 2.17.1
Subject: [Minios-devel] [UNIKRAFT/NEWLIB PATCH 0/2] Fix issues when linking
 and running newlib on arm64
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>, Kaly Xin <Kaly.Xin@arm.com>,
 Julien Grall <julien@xen.org>, Sharan.Santhanam@neclab.eu,
 Jia He <justin.he@arm.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhpcyBpcyB0aGUgcHJlcGFyYXRpb24gZm9yIHN1cHBvcnRpbmcgZnAgb24gYXJtNjQuCkFmdGVy
IHRoaXMgc2VyaWVzIHRvZ2V0aGVyIHdpdGggdGhlIG9uZSBvZiBVbmlrcmFmdCBrZXJuZWwgZnAs
CjEuIG5ld2xpYiArIHVuaWtyYWZ0IEZMT0FUX1BPSU5UIGlzIHN1cHBvcnRlZAoyLiBuZXdsaWIg
KyAhRkxPQVRfUE9JTlQgaXMgTk9UIHN1cHBvcnRlZAozLiBub2xpYmMgKyBGTE9BVF9QT0lOVCBp
cyBwYXJ0aWFsbHkgc3VwcG9ydGVkIChkdWUgdG8gdGhlIGZsb2F0cG9pbnQKICAgaW50ZXJmYWNl
cyBpbiBub2xpYmMsIGUuZy4gbm8gcHJpbnRmICVmIGZvcm1hdCkKNC4gbm9saWJjICsgIUZMT0FU
X1BPSU5UIGlzIHN1cHBvcnRlZAoKSmlhIEhlICgyKToKICBNYWtlZmlsZS51azogRml4IGxpbmsg
aXNzdWVzIG9uIGFybTY0CiAgQXV0b21hdGljYWxseSBzZWxlY3QgRkxPQVRfUE9JTlQgb24gYXJt
NjQgZm9yIG5ld2xpYgoKIENvbmZpZy51ayAgIHwgMSArCiBNYWtlZmlsZS51ayB8IDYgKysrKy0t
CiAyIGZpbGVzIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCi0tIAoy
LjE3LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpN
aW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9y
ZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRl
dmVs

From minios-devel-bounces@lists.xenproject.org Fri Dec 20 04:54:58 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 20 Dec 2019 04:54:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1iiAJW-0003rH-Rh; Fri, 20 Dec 2019 04:54:58 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <SRS0=QO9e=2K=arm.com=justin.he@srs-us1.protection.inumbo.net>)
 id 1iiAJV-0003r4-Db
 for minios-devel@lists.xenproject.org; Fri, 20 Dec 2019 04:54:57 +0000
X-Inumbo-ID: d92bfa8a-22e4-11ea-88e7-bc764e2007e4
Received: from foss.arm.com (unknown [217.140.110.172])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTP
 id d92bfa8a-22e4-11ea-88e7-bc764e2007e4;
 Fri, 20 Dec 2019 04:54:48 +0000 (UTC)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id A246831B;
 Thu, 19 Dec 2019 20:54:47 -0800 (PST)
Received: from localhost.localdomain (entos-thunderx2-02.shanghai.arm.com
 [10.169.40.54])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 6E5D03F718;
 Thu, 19 Dec 2019 20:54:45 -0800 (PST)
From: Jia He <justin.he@arm.com>
To: minios-devel@lists.xenproject.org, Simon Kuenzer <simon.kuenzer@neclab.eu>,
 Santiago.Pagani@neclab.eu
Date: Fri, 20 Dec 2019 12:54:25 +0800
Message-Id: <20191220045425.183344-3-justin.he@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20191220045425.183344-1-justin.he@arm.com>
References: <20191220045425.183344-1-justin.he@arm.com>
Subject: [Minios-devel] [UNIKRAFT/NEWLIB PATCH 2/2] Automatically select
 FLOAT_POINT on arm64 for newlib
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>, Kaly Xin <Kaly.Xin@arm.com>,
 Julien Grall <julien@xen.org>, Sharan.Santhanam@neclab.eu,
 Jia He <justin.he@arm.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhlcmUgYXJlIGEgZmV3IHJlYXNvbnMgdGhhdCB3ZSBjYW4ndCBzdXBwb3J0IG5ld2xpYmMgKyBu
b2ZwOgoxLiAtbWdlbmVyYWwtcmVncy1vbmx5IGlzIG5vdCBhIGNvbXBpbGFibGUgZ2NjIG9wdGlv
biB0byBuZXdsaWIuCkV2ZW4gd2l0aCAtRE5PX0ZMT0FUX1BPSU5ULCBzb21lIHNvdXJjZSBmaWxl
cyBvZiBuZXdsaWIgd2lsbApnZW5lcmF0ZWQgZmxvYXQgcG9pbnQgaW5zdHJ1Y3Rpb25zIGFuZCB0
aGVuIGNhdXNlIGNvbXBpbGF0aW9uIGVycm9ycwoKMi4gd2l0aCAtbWNwdT1YWFgsK25vZnAgbmV3
bGliIGNhbiBiZSBidWlsdCwgYnV0IGZyb20gdGhlIGRpc2Fzc2VtYmx5CnJlc3VsdCwgbmV3bGli
IHdpbGwgc3RpbGwgdXNlIHEwLXEzMS4KCkluIGEgd29yZCwgaWYgeW91IHdhbnQgdG8gbGluayB3
aXRoIG5ld2xpYiBvbiBhcm0sIGZsb2F0IHBvaW50IHNob3VsZApiZSBlbmFibGVkIGluIFVuaWty
YWZ0LgoKU2lnbmVkLW9mZi1ieTogSmlhIEhlIDxqdXN0aW4uaGVAYXJtLmNvbT4KLS0tCiBDb25m
aWcudWsgfCAxICsKIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQoKZGlmZiAtLWdpdCBh
L0NvbmZpZy51ayBiL0NvbmZpZy51awppbmRleCBhYjEyN2YwLi4yMTEwMDI5IDEwMDY0NAotLS0g
YS9Db25maWcudWsKKysrIGIvQ29uZmlnLnVrCkBAIC0xMyw2ICsxMyw3IEBAIG1lbnVjb25maWcg
TElCTkVXTElCQwogCXNlbGVjdCBMSUJWRlNDT1JFCiAJc2VsZWN0IExJQlBPU0lYX1BST0NFU1MK
IAlzZWxlY3QgTElCUE9TSVhfVVNFUgorCXNlbGVjdCBGTE9BVF9QT0lOVCBpZiBBUkNIX0FSTV82
NAogCiBpZiBMSUJORVdMSUJDCiAJY29uZmlnIExJQk5FV0xJQkNfV0FOVF9JT19DOTlfRk9STUFU
UwotLSAKMi4xNy4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJv
amVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21p
bmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Fri Dec 20 07:39:10 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 20 Dec 2019 07:39:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1iiCsO-0008Qi-Bi; Fri, 20 Dec 2019 07:39:08 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=DXd/=2K=gmail.com=julien.grall.oss@srs-us1.protection.inumbo.net>)
 id 1iiCsN-0008Qd-39
 for minios-devel@lists.xenproject.org; Fri, 20 Dec 2019 07:39:07 +0000
X-Inumbo-ID: c80cb692-22fb-11ea-a1e1-bc764e2007e4
Received: from mail-wr1-f68.google.com (unknown [209.85.221.68])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id c80cb692-22fb-11ea-a1e1-bc764e2007e4;
 Fri, 20 Dec 2019 07:38:58 +0000 (UTC)
Received: by mail-wr1-f68.google.com with SMTP id w15so8426654wru.4
 for <minios-devel@lists.xenproject.org>; Thu, 19 Dec 2019 23:38:58 -0800 (PST)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:subject:to:cc:references:from:message-id:date
 :user-agent:mime-version:in-reply-to:content-language
 :content-transfer-encoding;
 bh=okrxG4OfHaoYFenaloIA74O4KnPfNyg5w3PW7BtHaS8=;
 b=HAwCE1n8191UgQr2eh2m1GFlaW0TRO/lUFkWUK+KPcKLELwObgwZWBYQcx7nrLrdsy
 7M5xr9E9ZWO3mdlnRmK61G6T3pKuiwhFdOsyuLvQUkl6KBTJPKrZk1OpCv6KJa7RwDgI
 PxefI1LpQzrQeq+0sDvsDMx5BPoNOLxd++1lSXpsJv70fB4/C44bLc/p8vZoPsdStG+2
 antUi3JeEeTwCqFTefZiR57foedC+1eyPDCyOpON6WRil0wcw3GnbTwg8yszHzD8/m35
 Wl+C6C6g4UFXT4cpsyxwe4/DV4FE/+yD0gd+MzizASWCX3tREtyDpF8GklD0fD15Vvvw
 EY2A==
X-Gm-Message-State: APjAAAVaGj70JjSbzUaRltIyjlOB0Ay4h8i4vs0xAw0AYbKr6pI2H15v
 vjjx1m/H77Mj+zCyTuLiq2V/lPGl24U=
X-Google-Smtp-Source: APXvYqyb2OO/weLMZzEWhf+FYqaGbHNpmgPR9sbIEi1px8ziO50Ozv2U6QZXsyPa/uaM/kut9QJrUA==
X-Received: by 2002:adf:e40f:: with SMTP id g15mr14356403wrm.223.1576827537286; 
 Thu, 19 Dec 2019 23:38:57 -0800 (PST)
Received: from a483e7b01a66.ant.amazon.com (54-240-197-227.amazon.com.
 [54.240.197.227])
 by smtp.gmail.com with ESMTPSA id c15sm8896544wrt.1.2019.12.19.23.38.56
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 19 Dec 2019 23:38:56 -0800 (PST)
To: Justin He <Justin.He@arm.com>,
 "minios-devel@lists.xenproject.org" <minios-devel@lists.xenproject.org>,
 Simon Kuenzer <simon.kuenzer@neclab.eu>,
 "Santiago.Pagani@neclab.eu" <Santiago.Pagani@neclab.eu>
References: <20191219142722.134251-1-justin.he@arm.com>
 <20191219142722.134251-2-justin.he@arm.com>
 <7986b99d-826f-2864-17be-5616cbe9d32c@xen.org>
 <VE1PR08MB4639F5C1E151530B980CEB00F72D0@VE1PR08MB4639.eurprd08.prod.outlook.com>
From: Julien Grall <julien@xen.org>
Message-ID: <9857ed7e-2608-5926-9df7-c77dc2dd231f@xen.org>
Date: Fri, 20 Dec 2019 07:38:55 +0000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:68.0)
 Gecko/20100101 Thunderbird/68.3.1
MIME-Version: 1.0
In-Reply-To: <VE1PR08MB4639F5C1E151530B980CEB00F72D0@VE1PR08MB4639.eurprd08.prod.outlook.com>
Content-Language: en-GB
Subject: Re: [Minios-devel] [UNIKRAFT RFC PATCH 1/5] plat: build: Add a
 config option to enable fp on arm64
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>, Kaly Xin <Kaly.Xin@arm.com>,
 Julien Grall <Julien.Grall@arm.com>,
 "Sharan.Santhanam@neclab.eu" <Sharan.Santhanam@neclab.eu>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

CgpPbiAyMC8xMi8yMDE5IDAwOjU2LCBKdXN0aW4gSGUgd3JvdGU6Cj4gSGkgSnVsaWVuCgpIaSwK
Cj4gCj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tCj4+IEZyb206IEp1bGllbiBHcmFsbCA8
anVsaWVuQHhlbi5vcmc+Cj4+IFNlbnQ6IFRodXJzZGF5LCBEZWNlbWJlciAxOSwgMjAxOSAxMDoz
NCBQTQo+PiBUbzogSnVzdGluIEhlIDxKdXN0aW4uSGVAYXJtLmNvbT47IG1pbmlvcy1kZXZlbEBs
aXN0cy54ZW5wcm9qZWN0Lm9yZzsKPj4gU2ltb24gS3VlbnplciA8c2ltb24ua3VlbnplckBuZWNs
YWIuZXU+OyBTYW50aWFnby5QYWdhbmlAbmVjbGFiLmV1Cj4+IENjOiBGZWxpcGUgSHVpY2kgPGZl
bGlwZS5odWljaUBuZWNsYWIuZXU+OyBLYWx5IFhpbiA8S2FseS5YaW5AYXJtLmNvbT47Cj4+IEp1
bGllbiBHcmFsbCA8SnVsaWVuLkdyYWxsQGFybS5jb20+OyBTaGFyYW4uU2FudGhhbmFtQG5lY2xh
Yi5ldQo+PiBTdWJqZWN0OiBSZTogW01pbmlvcy1kZXZlbF0gW1VOSUtSQUZUIFJGQyBQQVRDSCAx
LzVdIHBsYXQ6IGJ1aWxkOiBBZGQgYQo+PiBjb25maWcgb3B0aW9uIHRvIGVuYWJsZSBmcCBvbiBh
cm02NAo+Pgo+PiBIaSwKPj4KPj4gT24gMTkvMTIvMjAxOSAxNDoyNywgSmlhIEhlIHdyb3RlOgo+
Pj4gVGhpcyBjb25maWcgaXMgdG8gZW5hYmxlIHRoZSBzdXBwb3J0IGZvciBhcm02NCBmcCBmZWF0
dXJlLiBGcCBpcyBmb3IKPj4+IGFwcGxpY2F0aW9uIG9ubHksIG5ldmVyIGZvciBVbmtyYWZ0IGtl
cm5lbCBpdHNlbGYuCj4+Pgo+Pj4gVGhpcyBjb25maWcgaXMgJ24nIGJ5IGRlZmF1bHQgc2luY2Ug
dGhlcmUgaXMgc29tZSBvdmVyaGVhZCBkdXJpbmcgY29udGV4dAo+Pj4gc3dpdGNoLgo+Pj4KPj4+
IFNpZ25lZC1vZmYtYnk6IEppYSBIZSA8anVzdGluLmhlQGFybS5jb20+Cj4+PiAtLS0KPj4+ICAg
IHBsYXQvQ29uZmlnLnVrIHwgNyArKysrKysrCj4+PiAgICAxIGZpbGUgY2hhbmdlZCwgNyBpbnNl
cnRpb25zKCspCj4+Pgo+Pj4gZGlmZiAtLWdpdCBhL3BsYXQvQ29uZmlnLnVrIGIvcGxhdC9Db25m
aWcudWsKPj4+IGluZGV4IDBlYjVhMTAuLmY1NTVmMTcgMTAwNjQ0Cj4+PiAtLS0gYS9wbGF0L0Nv
bmZpZy51awo+Pj4gKysrIGIvcGxhdC9Db25maWcudWsKPj4+IEBAIC0yMSwzICsyMSwxMCBAQCBj
b25maWcgSFoKPj4+ICAgICAgaGVscAo+Pj4gICAgICAgICAgICAgIENvbmZpZ3VyZSB0aGUgdGlt
ZXIgaW50ZXJydXB0IGZyZXF1ZW5jeS4KPj4+ICAgICAgICAgICAgICBPbmx5IGNoYW5nZSB0aGlz
IGlmIHlvdSBrbm93IHdoYXQgeW91J3JlIGRvaW5nLgo+Pj4gKwo+Pj4gK2NvbmZpZyBGTE9BVF9Q
T0lOVAo+Pj4gKyAgIGJvb2wgImFybTY0IGZsb2F0aW5nIHBvaW50IHN1cHBvcnQgaW4gYXBwbGlj
YXRpb24iCj4+PiArICAgZGVmYXVsdCBuCj4+PiArICAgZGVwZW5kcyBvbiBBUkNIX0FSTV82NAo+
Pj4gKyAgIGhlbHAKPj4+ICsgICAgICAgICAgIEVuYWJsZSBzdXBwb3J0IEZQVSB1c2FnZSBpbiBh
cHBsaWNhdGlvbgo+Pgo+PiBEb2VzIHRoaXMgY29uZmlnIG5lZWRzIHRvIGJlIEFybTY0IGJpdD8g
Q2FuJ3QgdGhpcyBwb3RlbnRpYWxseSBiZQo+PiByZS11c2VkIGZvciBvdGhlciBhcmNoPwo+Pgo+
IElJVUMsIFVuaWtyYWZ0IG9uIHg4NiBrdm0gcGxhdCBoYWQgc3VwcG9ydGVkIGZsb2F0aW5nIHBv
aW50IHdpdGhvdXQgYW55IGlzc3VlCj4gRG8geW91IG1lYW4gdGhpcyBjb25maWcgc2hvdWxkIGJl
IHVzZWQgZm9yIGFybTMyPwoKQXJlIHlvdSBzdWdnZXN0aW5nIGZsb2F0aW5nIGlzIGVuYWJsZWQg
YnkgZGVmYXVsdCBpbiB4ODYgZXZlbiBpbiB0aGUga2VybmVsPwoKQ2hlZXJzLAoKLS0gCkp1bGll
biBHcmFsbAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
TWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5v
cmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1k
ZXZlbA==

From minios-devel-bounces@lists.xenproject.org Fri Dec 20 07:50:55 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 20 Dec 2019 07:50:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1iiD3n-0001QT-BZ; Fri, 20 Dec 2019 07:50:55 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=DXd/=2K=gmail.com=julien.grall.oss@srs-us1.protection.inumbo.net>)
 id 1iiD3l-0001QL-Kw
 for minios-devel@lists.xenproject.org; Fri, 20 Dec 2019 07:50:53 +0000
X-Inumbo-ID: 6d3dfa30-22fd-11ea-b6f1-bc764e2007e4
Received: from mail-wr1-f66.google.com (unknown [209.85.221.66])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 6d3dfa30-22fd-11ea-b6f1-bc764e2007e4;
 Fri, 20 Dec 2019 07:50:44 +0000 (UTC)
Received: by mail-wr1-f66.google.com with SMTP id q6so8400984wro.9
 for <minios-devel@lists.xenproject.org>; Thu, 19 Dec 2019 23:50:44 -0800 (PST)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:subject:to:cc:references:from:message-id:date
 :user-agent:mime-version:in-reply-to:content-language
 :content-transfer-encoding;
 bh=qRxshs+D0/4qcFPlSOVPGPlwjEYI+AMUKWNB6FWruFA=;
 b=pR1HmOMkF1qdQ47Dq2Qj5vqJP3hBpFtMUM3hBwEcZN6vzOg3o33dIHP/vGysbJhBgx
 oifR8JqtvScG2/DBoSaq6WvfO4pWyMS77JWF3C8XcKd2kLNicggxocOtH4wmAYZ5eZLn
 pGgkZJ0uSeXkcun6YAlnex0Y/tHYfxrRWNA1UlEgPMHVhBR4JuxR6FwM4E1CYlB7eYxp
 sYhwIBZIUKGhzLt1HbWR8OApTQ+W8XzHySkLpF6NZDPwDNMeS9cgEmqBqXyFI31bci4R
 XnkfWBAX7CTIAp2xIaE6q6lXRdmt3K+oDVERqaaG44LKuWinfX5bGoX/ac92ltspG3qQ
 Xc2A==
X-Gm-Message-State: APjAAAUmG57If7epxv6mDFd3rNKvlwmQKcMYLdOb0d4LpWdT9/0hlOSz
 39f2kqGDlxHHDvx1CPI9r1OjVnYrQk0=
X-Google-Smtp-Source: APXvYqyKL+C2+t290qtST0B3mz16WgsUOp+uiAAv023exJr5ZJS9iVe8OMjSWJEVcOhr/Yph8X2AJg==
X-Received: by 2002:adf:f606:: with SMTP id t6mr13247777wrp.85.1576828243965; 
 Thu, 19 Dec 2019 23:50:43 -0800 (PST)
Received: from a483e7b01a66.ant.amazon.com (54-240-197-227.amazon.com.
 [54.240.197.227])
 by smtp.gmail.com with ESMTPSA id n3sm8734950wrs.8.2019.12.19.23.50.42
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 19 Dec 2019 23:50:43 -0800 (PST)
To: Justin He <Justin.He@arm.com>,
 "minios-devel@lists.xenproject.org" <minios-devel@lists.xenproject.org>,
 Simon Kuenzer <simon.kuenzer@neclab.eu>,
 "Santiago.Pagani@neclab.eu" <Santiago.Pagani@neclab.eu>
References: <20191219142722.134251-1-justin.he@arm.com>
 <20191219142722.134251-3-justin.he@arm.com>
 <0e928f78-d7bc-9845-89c9-cd594dd56868@xen.org>
 <VE1PR08MB4639398095E2507A98882131F72D0@VE1PR08MB4639.eurprd08.prod.outlook.com>
From: Julien Grall <julien@xen.org>
Message-ID: <c402292c-7aa7-6f18-4e56-c8f0d5de0989@xen.org>
Date: Fri, 20 Dec 2019 07:50:42 +0000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:68.0)
 Gecko/20100101 Thunderbird/68.3.1
MIME-Version: 1.0
In-Reply-To: <VE1PR08MB4639398095E2507A98882131F72D0@VE1PR08MB4639.eurprd08.prod.outlook.com>
Content-Language: en-GB
Subject: Re: [Minios-devel] [UNIKRAFT RFC PATCH 2/5] plat/kvm: arm64: Enable
 the fp/simd at the starting point
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>, Kaly Xin <Kaly.Xin@arm.com>,
 Julien Grall <Julien.Grall@arm.com>,
 "Sharan.Santhanam@neclab.eu" <Sharan.Santhanam@neclab.eu>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

CgpPbiAyMC8xMi8yMDE5IDAxOjE0LCBKdXN0aW4gSGUgd3JvdGU6Cj4gSGkgSnVsaWVuCgpIZWxs
bywKCj4gCj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tCj4+IEZyb206IEp1bGllbiBHcmFs
bCA8anVsaWVuQHhlbi5vcmc+Cj4+IFNlbnQ6IFRodXJzZGF5LCBEZWNlbWJlciAxOSwgMjAxOSAx
MDozNSBQTQo+PiBUbzogSnVzdGluIEhlIDxKdXN0aW4uSGVAYXJtLmNvbT47IG1pbmlvcy1kZXZl
bEBsaXN0cy54ZW5wcm9qZWN0Lm9yZzsKPj4gU2ltb24gS3VlbnplciA8c2ltb24ua3VlbnplckBu
ZWNsYWIuZXU+OyBTYW50aWFnby5QYWdhbmlAbmVjbGFiLmV1Cj4+IENjOiBGZWxpcGUgSHVpY2kg
PGZlbGlwZS5odWljaUBuZWNsYWIuZXU+OyBLYWx5IFhpbiA8S2FseS5YaW5AYXJtLmNvbT47Cj4+
IEp1bGllbiBHcmFsbCA8SnVsaWVuLkdyYWxsQGFybS5jb20+OyBTaGFyYW4uU2FudGhhbmFtQG5l
Y2xhYi5ldQo+PiBTdWJqZWN0OiBSZTogW01pbmlvcy1kZXZlbF0gW1VOSUtSQUZUIFJGQyBQQVRD
SCAyLzVdIHBsYXQva3ZtOiBhcm02NDoKPj4gRW5hYmxlIHRoZSBmcC9zaW1kIGF0IHRoZSBzdGFy
dGluZyBwb2ludAo+Pgo+PiBIaSwKPj4KPj4gT24gMTkvMTIvMjAxOSAxNDoyNywgSmlhIEhlIHdy
b3RlOgo+Pj4gV3JpdGUgdGhlIHN5cyByZWcgdG8gZW5hYmxlIHRoZSBmcC9zaW1kIGZlYXR1cmUs
IG90aGVyd2lzZSBpdCB3aWxsCj4+PiBjYXVzZSBmbG9hdGluZyBwb2ludC9zaW1kIGV4Y2VwdGlv
biB3aGVuIHRvdWNoaW5nIHEwLXEzMS4KPj4KPj4gSW4geW91ciBmaXJzdCBwYXRjaCB5b3Ugc2F5
IEZQU0lNRCB3aWxsIGJlIGF2YWlsYWJsZSBmb3IgYXBwbGljYXRpb24KPj4gb25seS4gQnV0IGhl
cmUsIHlvdSB3aWxsIGFsbG93IFVuaWtyYWZ0IGl0c2VsZiB0byB1c2UgaXQuCj4+Cj4+IFNvIGRv
bid0IHlvdSB3YW50IHRvIHR1cm4gdGhpcyBvbmx5IHdoZW4ganVtcGluZyB0byB0aGUgYXBwbGlj
YXRpb24gY29kZT8KPj4KPiBZZXMsIHRoaXMgbWlnaHQgYmUgbW9yZSBncmFjZWZ1bC4KPiBCdXQg
dGhlcmUgaXMgYSBjb3JuZXIgY2FzZSBpbiBsaWJ1a2RlYnVnIG9mIFVuaWtyYWZ0Lgo+IElmIHdl
IHJlbW92ZWQgLW1nZW5lcmFsLXJlZ3Mtb25seSwgc29tZSBwcmludGYqIGZhbWlseSBmdW5jdGlv
bnMgKGVzcGVjaWFsbHkKPiB0aG9zZSBoYXZlIHZhcmlhYmxlIGxlbmd0aCBwYXJhbWV0ZXJzLCAu
ZS5nIHZhX3N0YXJ0L2VuZCkgd2lsbCBiZSBjb21waWxlZCB0bwo+IHVzZSBxMC1xMzEuCgpJIGhh
dmUgYWxyZWFkeSBoYWQgYSBsZW5naHR5IGRpc2N1c3Npb24gaW4gdGhlIHBhc3Qgd2l0aCBXZWkg
Q2hlbiAoc2VlIApbMV0pIGFib3V0IGl0LgoKSWYgeW91IHRlbGwgR0NDIHRvIGVuYWJsZSBmbG9h
dGluZyBwb2ludCBmb3IgdGhlIGtlcm5lbCwgdGhlbiB5b3VyIApleGNlcHRpb24gcGF0aCAoZS5n
IGludGVycnVwdCkgbWF5IGFsc28gdXNlIGZsb2F0aW5nLiBUaGVyZWZvcmUgeW91IAp3b3VsZCBh
bHNvIGhhdmUgdG8gc2F2ZS9yZXN0b3JlIHRoZW0gYXQgKmV2ZXJ5KiBleGNlcHRpb24gdG8gcHJl
dmVudCBhbnkgCmNvcnJ1cHRpb24uCgoKPiBIZW5jZSwgaWYgd2Ugd2FudCB0byBkaXNhYmxlIGZw
L3NpbWQgaW4gdW5pa3JhZnQga2VybmVsIGFuZCBlbmFibGUgaXQgaW4KPiB1c2Vyc3BhY2UsIHdl
IG5lZWQgdG8gc3BlY2lmeSBkaWZmZXJlbnQgY29tcGlsYXRpb24gb3B0aW9ucyB3aXRoL3dpdGhv
dXQKPiAtbWdlbmVyYWwtcmVncy1vbmx5IGZvciBlYWNoIHVua3JhZnQga2VybmVsIGxpYnJhcnku
IEkgZG9uJ3Qga25vdyB3aGV0aGVyCj4gaXQgaXMgYWNjZXB0YWJsZT8gQFNpbW9uIEt1ZW56ZXIg
V2hhdCBkbyB5b3UgdGhpbmsgb2YgaXQ/CgpTZWUgYWJvdmUsIGlmIHlvdSBkZWNpZGUgdG8gZW5h
YmxlIEZQU0lNRCBmb3IgeW91ciBrZXJuZWwgdGhlbiB0aGlzIApzZXJpZXMgaXMgbm90IGVub3Vn
aC4KCkhvd2V2ZXIsIHRoaXMgaXMgbGlrZWx5IGEgd2FzdGUgb2YgdGltZSBhcyB0aGUga2VybmVs
IGl0c2VsZiBzaG91bGQgaGF2ZSAKbGltaXRlZCB1c2Ugb2YgRlBTSU1ELiBOb3cgaW1hZ2luZSBm
b3IgU1ZFLi4uLgoKU28gSSB3b3VsZCBoaWdobHkgcmVjb21tZW5kIHRvIGVuc3VyZSB0aGUga2Vy
bmVsIChwYXJ0aWN1bGFybHkgdGhlIApleGNlcHRpb24gcGF0aCkgaXMgZnJlZSBvZiBGUFNJTUQu
CgoKPiAtLQo+IENoZWVycywKPiBKdXN0aW4gKEppYSBIZSkKPiAKPiAKPj4+Cj4+PiBTaWduZWQt
b2ZmLWJ5OiBKaWEgSGUgPGp1c3Rpbi5oZUBhcm0uY29tPgo+Pj4gLS0tCj4+PiAgICBwbGF0L2t2
bS9hcm0vZW50cnk2NC5TIHwgOCArKysrKysrKwo+Pj4gICAgMSBmaWxlIGNoYW5nZWQsIDggaW5z
ZXJ0aW9ucygrKQo+Pj4KPj4+IGRpZmYgLS1naXQgYS9wbGF0L2t2bS9hcm0vZW50cnk2NC5TIGIv
cGxhdC9rdm0vYXJtL2VudHJ5NjQuUwo+Pj4gaW5kZXggMzU5YTMxMC4uMWUzMjI2OCAxMDA2NDQK
Pj4+IC0tLSBhL3BsYXQva3ZtL2FybS9lbnRyeTY0LlMKPj4+ICsrKyBiL3BsYXQva3ZtL2FybS9l
bnRyeTY0LlMKPj4+IEBAIC0zNiw2ICszNiw3IEBACj4+PiAgICAjaW5jbHVkZSA8a3ZtLWFybS9t
bS5oPgo+Pj4gICAgI2luY2x1ZGUgPGFybS9jcHVfZGVmcy5oPgo+Pj4gICAgI2luY2x1ZGUgPHVr
L3BsYXQvY29tbW9uL3NlY3Rpb25zLmg+Cj4+PiArI2luY2x1ZGUgPHVrL2NvbmZpZy5oPgo+Pj4K
Pj4+ICAgIC5nbG9iYWwgcGFnZV90YWJsZV9zaXplCj4+PiAgICAuZGF0YQo+Pj4gQEAgLTQ5LDYg
KzUwLDEzIEBAIHBhZ2VfdGFibGVfc2l6ZToKPj4+Cj4+PiAgICAudGV4dAo+Pj4gICAgRU5UUlko
X2xpYmt2bXBsYXRfZW50cnkpCj4+PiArI2lmZGVmIENPTkZJR19GTE9BVF9QT0lOVAo+Pj4gKyAg
IC8qIEVuYWJsZSBmcC9zaW1kIHN1cHBvcnQgKi8KPj4+ICsgICBsZHIgICAgICAgIHgwLCA9KDMg
PDwgMjApCj4+PiArICAgbXNyICAgICAgICBjcGFjcl9lbDEsIHgwCj4+PiArICAgaXNiCj4+PiAr
I2VuZGlmCj4+PiArCj4+PiAgICAgIC8qIENhbGN1bGF0ZSB0aGUgaW1hZ2Ugc2l6ZSAqLwo+Pj4g
ICAgICBsZHIgeDI1LCA9X2R0Ygo+Pj4gICAgICBsZHIgeDI2LCA9X2VuZAo+Pj4KPj4KPj4gLS0K
Pj4gSnVsaWVuIEdyYWxsCj4gSU1QT1JUQU5UIE5PVElDRTogVGhlIGNvbnRlbnRzIG9mIHRoaXMg
ZW1haWwgYW5kIGFueSBhdHRhY2htZW50cyBhcmUgY29uZmlkZW50aWFsIGFuZCBtYXkgYWxzbyBi
ZSBwcml2aWxlZ2VkLiBJZiB5b3UgYXJlIG5vdCB0aGUgaW50ZW5kZWQgcmVjaXBpZW50LCBwbGVh
c2Ugbm90aWZ5IHRoZSBzZW5kZXIgaW1tZWRpYXRlbHkgYW5kIGRvIG5vdCBkaXNjbG9zZSB0aGUg
Y29udGVudHMgdG8gYW55IG90aGVyIHBlcnNvbiwgdXNlIGl0IGZvciBhbnkgcHVycG9zZSwgb3Ig
c3RvcmUgb3IgY29weSB0aGUgaW5mb3JtYXRpb24gaW4gYW55IG1lZGl1bS4gVGhhbmsgeW91Lgo+
IAoKUGxlYXNlIGNvbmZpZ3VyZSB5b3VyIGUtbWFpbCBjbGllbnQgdG8gcmVtb3ZlIHRoZSBkaXNj
bGFpbWVyLgoKQ2hlZXJzLAoKWzFdIApodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL2FyY2hp
dmVzL2h0bWwvbWluaW9zLWRldmVsLzIwMTgtMDcvbXNnMDAwMzguaHRtbAoKLS0gCkp1bGllbiBH
cmFsbAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWlu
aW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcK
aHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZl
bA==

From minios-devel-bounces@lists.xenproject.org Fri Dec 20 08:04:49 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 20 Dec 2019 08:04:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1iiDHD-0002ri-QM; Fri, 20 Dec 2019 08:04:47 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=1F8g=2K=neclab.eu=santiago.pagani@srs-us1.protection.inumbo.net>)
 id 1iiDHC-0002rd-BR
 for minios-devel@lists.xenproject.org; Fri, 20 Dec 2019 08:04:46 +0000
X-Inumbo-ID: 6171899a-22ff-11ea-930f-12813bfff9fa
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 6171899a-22ff-11ea-930f-12813bfff9fa;
 Fri, 20 Dec 2019 08:04:44 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 1F86DF2025;
 Fri, 20 Dec 2019 09:04:43 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-b.office.hd)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id O9y3cZZE2h54; Fri, 20 Dec 2019 09:04:42 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from Oberon.office.hd (Oberon.office.hd [192.168.24.90])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id D6919F2024;
 Fri, 20 Dec 2019 09:04:32 +0100 (CET)
Received: from oberon.office.hd (192.168.24.90) by Oberon.office.hd
 (192.168.24.90) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Fri, 20 Dec
 2019 09:04:32 +0100
Received: from oberon.office.hd ([192.168.126.11]) by Oberon.office.hd
 ([192.168.126.11]) with mapi id 15.01.1713.009; Fri, 20 Dec 2019 09:04:32
 +0100
From: Santiago Pagani <Santiago.Pagani@neclab.eu>
To: Justin He <Justin.He@arm.com>, Julien Grall <julien@xen.org>,
 "minios-devel@lists.xenproject.org" <minios-devel@lists.xenproject.org>,
 Simon Kuenzer <simon.kuenzer@neclab.eu>
Thread-Topic: [Minios-devel] [UNIKRAFT RFC PATCH 2/5] plat/kvm: arm64: Enable
 the fp/simd at the starting point
Thread-Index: AQHVtnh9szNx9qpHm0+HjytDIizqVKfBdU4AgACyloCAAINjAA==
Date: Fri, 20 Dec 2019 08:04:32 +0000
Message-ID: <C972174A-D1A9-4A28-BD82-E67D2848EFB2@neclab.eu>
References: <20191219142722.134251-1-justin.he@arm.com>
 <20191219142722.134251-3-justin.he@arm.com>
 <0e928f78-d7bc-9845-89c9-cd594dd56868@xen.org>
 <VE1PR08MB4639398095E2507A98882131F72D0@VE1PR08MB4639.eurprd08.prod.outlook.com>
In-Reply-To: <VE1PR08MB4639398095E2507A98882131F72D0@VE1PR08MB4639.eurprd08.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [192.168.24.96]
Content-ID: <4E5B91A918EE8340BE1BDD73F20D0C69@office.hd>
MIME-Version: 1.0
Subject: Re: [Minios-devel] [UNIKRAFT RFC PATCH 2/5] plat/kvm: arm64: Enable
 the fp/simd at the starting point
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <Felipe.Huici@neclab.eu>, Kaly Xin <Kaly.Xin@arm.com>,
 Julien Grall <Julien.Grall@arm.com>,
 Sharan Santhanam <Sharan.Santhanam@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgSnVzdGluLA0KDQpBY3R1YWxseSwgdGhlIGNvbW1lbnQgaXMgd3JvbmcuIFNldHRpbmcgdGhv
c2UgdHdvIGJpdHMgaW4gY3BhY3JfZWwxIGRvZXMgbm90IGVuYWJsZSBmcC9zaW1kLCBidXQgYWN0
dWFsbHkgZGlzYWJsZXMgdHJhcHMgZm9yIGZsb2F0aW5nIHBvaW50IGFuZCBTSU1EIGluc3RydWN0
aW9ucyBib3RoIGluIEVMMCBhbmQgRUwxLg0KVGhlIGFjdHVhbGx5IGVuYWJsaW5nIG9mIGZsb2F0
aW5nIHBvaW50IGFuZCBTSU1EIGluc3RydWN0aW9ucyBpcyBkb25lIGJ5IHlvdXIgb3RoZXIgcGF0
Y2ggdGhhdCByZW1vdmVzIHRoZSAtbWdlbmVyYWwtcmVncy1vbmx5IGZsYWcuDQpUaGVyZWZvcmUs
IHRoZXJlIGlzIG5vIGhhcm0gaW4gZG9pbmcgdGhhdCBpbiB0aGUga2VybmVsIHdoZW4gZmxvYXRp
bmcgcG9pbnQgaXMgZW5hYmxlZC4gSSB3b3VsZCBob3dldmVyIGZpeCB0aGUgY29tbWVudCB0aG91
Z2guDQoNClRoYW5rcyBhbmQgYmVzdCwNClNhbnRpYWdvDQoNCu+7v09uIDIwLjEyLjE5LCAwMjox
NCwgIkp1c3RpbiBIZSIgPEp1c3Rpbi5IZUBhcm0uY29tPiB3cm90ZToNCg0KICAgIEhpIEp1bGll
bg0KICAgIA0KICAgID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCiAgICA+IEZyb206IEp1
bGllbiBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQogICAgPiBTZW50OiBUaHVyc2RheSwgRGVjZW1i
ZXIgMTksIDIwMTkgMTA6MzUgUE0NCiAgICA+IFRvOiBKdXN0aW4gSGUgPEp1c3Rpbi5IZUBhcm0u
Y29tPjsgbWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnOw0KICAgID4gU2ltb24gS3Vl
bnplciA8c2ltb24ua3VlbnplckBuZWNsYWIuZXU+OyBTYW50aWFnby5QYWdhbmlAbmVjbGFiLmV1
DQogICAgPiBDYzogRmVsaXBlIEh1aWNpIDxmZWxpcGUuaHVpY2lAbmVjbGFiLmV1PjsgS2FseSBY
aW4gPEthbHkuWGluQGFybS5jb20+Ow0KICAgID4gSnVsaWVuIEdyYWxsIDxKdWxpZW4uR3JhbGxA
YXJtLmNvbT47IFNoYXJhbi5TYW50aGFuYW1AbmVjbGFiLmV1DQogICAgPiBTdWJqZWN0OiBSZTog
W01pbmlvcy1kZXZlbF0gW1VOSUtSQUZUIFJGQyBQQVRDSCAyLzVdIHBsYXQva3ZtOiBhcm02NDoN
CiAgICA+IEVuYWJsZSB0aGUgZnAvc2ltZCBhdCB0aGUgc3RhcnRpbmcgcG9pbnQNCiAgICA+DQog
ICAgPiBIaSwNCiAgICA+DQogICAgPiBPbiAxOS8xMi8yMDE5IDE0OjI3LCBKaWEgSGUgd3JvdGU6
DQogICAgPiA+IFdyaXRlIHRoZSBzeXMgcmVnIHRvIGVuYWJsZSB0aGUgZnAvc2ltZCBmZWF0dXJl
LCBvdGhlcndpc2UgaXQgd2lsbA0KICAgID4gPiBjYXVzZSBmbG9hdGluZyBwb2ludC9zaW1kIGV4
Y2VwdGlvbiB3aGVuIHRvdWNoaW5nIHEwLXEzMS4NCiAgICA+DQogICAgPiBJbiB5b3VyIGZpcnN0
IHBhdGNoIHlvdSBzYXkgRlBTSU1EIHdpbGwgYmUgYXZhaWxhYmxlIGZvciBhcHBsaWNhdGlvbg0K
ICAgID4gb25seS4gQnV0IGhlcmUsIHlvdSB3aWxsIGFsbG93IFVuaWtyYWZ0IGl0c2VsZiB0byB1
c2UgaXQuDQogICAgPg0KICAgID4gU28gZG9uJ3QgeW91IHdhbnQgdG8gdHVybiB0aGlzIG9ubHkg
d2hlbiBqdW1waW5nIHRvIHRoZSBhcHBsaWNhdGlvbiBjb2RlPw0KICAgID4NCiAgICBZZXMsIHRo
aXMgbWlnaHQgYmUgbW9yZSBncmFjZWZ1bC4NCiAgICBCdXQgdGhlcmUgaXMgYSBjb3JuZXIgY2Fz
ZSBpbiBsaWJ1a2RlYnVnIG9mIFVuaWtyYWZ0Lg0KICAgIElmIHdlIHJlbW92ZWQgLW1nZW5lcmFs
LXJlZ3Mtb25seSwgc29tZSBwcmludGYqIGZhbWlseSBmdW5jdGlvbnMgKGVzcGVjaWFsbHkNCiAg
ICB0aG9zZSBoYXZlIHZhcmlhYmxlIGxlbmd0aCBwYXJhbWV0ZXJzLCAuZS5nIHZhX3N0YXJ0L2Vu
ZCkgd2lsbCBiZSBjb21waWxlZCB0bw0KICAgIHVzZSBxMC1xMzEuDQogICAgSGVuY2UsIGlmIHdl
IHdhbnQgdG8gZGlzYWJsZSBmcC9zaW1kIGluIHVuaWtyYWZ0IGtlcm5lbCBhbmQgZW5hYmxlIGl0
IGluDQogICAgdXNlcnNwYWNlLCB3ZSBuZWVkIHRvIHNwZWNpZnkgZGlmZmVyZW50IGNvbXBpbGF0
aW9uIG9wdGlvbnMgd2l0aC93aXRob3V0DQogICAgLW1nZW5lcmFsLXJlZ3Mtb25seSBmb3IgZWFj
aCB1bmtyYWZ0IGtlcm5lbCBsaWJyYXJ5LiBJIGRvbid0IGtub3cgd2hldGhlcg0KICAgIGl0IGlz
IGFjY2VwdGFibGU/IEBTaW1vbiBLdWVuemVyIFdoYXQgZG8geW91IHRoaW5rIG9mIGl0Pw0KICAg
IA0KICAgIC0tDQogICAgQ2hlZXJzLA0KICAgIEp1c3RpbiAoSmlhIEhlKQ0KICAgIA0KICAgIA0K
ICAgID4gPg0KICAgID4gPiBTaWduZWQtb2ZmLWJ5OiBKaWEgSGUgPGp1c3Rpbi5oZUBhcm0uY29t
Pg0KICAgID4gPiAtLS0NCiAgICA+ID4gICBwbGF0L2t2bS9hcm0vZW50cnk2NC5TIHwgOCArKysr
KysrKw0KICAgID4gPiAgIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKykNCiAgICA+ID4N
CiAgICA+ID4gZGlmZiAtLWdpdCBhL3BsYXQva3ZtL2FybS9lbnRyeTY0LlMgYi9wbGF0L2t2bS9h
cm0vZW50cnk2NC5TDQogICAgPiA+IGluZGV4IDM1OWEzMTAuLjFlMzIyNjggMTAwNjQ0DQogICAg
PiA+IC0tLSBhL3BsYXQva3ZtL2FybS9lbnRyeTY0LlMNCiAgICA+ID4gKysrIGIvcGxhdC9rdm0v
YXJtL2VudHJ5NjQuUw0KICAgID4gPiBAQCAtMzYsNiArMzYsNyBAQA0KICAgID4gPiAgICNpbmNs
dWRlIDxrdm0tYXJtL21tLmg+DQogICAgPiA+ICAgI2luY2x1ZGUgPGFybS9jcHVfZGVmcy5oPg0K
ICAgID4gPiAgICNpbmNsdWRlIDx1ay9wbGF0L2NvbW1vbi9zZWN0aW9ucy5oPg0KICAgID4gPiAr
I2luY2x1ZGUgPHVrL2NvbmZpZy5oPg0KICAgID4gPg0KICAgID4gPiAgIC5nbG9iYWwgcGFnZV90
YWJsZV9zaXplDQogICAgPiA+ICAgLmRhdGENCiAgICA+ID4gQEAgLTQ5LDYgKzUwLDEzIEBAIHBh
Z2VfdGFibGVfc2l6ZToNCiAgICA+ID4NCiAgICA+ID4gICAudGV4dA0KICAgID4gPiAgIEVOVFJZ
KF9saWJrdm1wbGF0X2VudHJ5KQ0KICAgID4gPiArI2lmZGVmIENPTkZJR19GTE9BVF9QT0lOVA0K
ICAgID4gPiArICAgLyogRW5hYmxlIGZwL3NpbWQgc3VwcG9ydCAqLw0KICAgID4gPiArICAgbGRy
ICAgICAgICB4MCwgPSgzIDw8IDIwKQ0KICAgID4gPiArICAgbXNyICAgICAgICBjcGFjcl9lbDEs
IHgwDQogICAgPiA+ICsgICBpc2INCiAgICA+ID4gKyNlbmRpZg0KICAgID4gPiArDQogICAgPiA+
ICAgICAvKiBDYWxjdWxhdGUgdGhlIGltYWdlIHNpemUgKi8NCiAgICA+ID4gICAgIGxkciB4MjUs
ID1fZHRiDQogICAgPiA+ICAgICBsZHIgeDI2LCA9X2VuZA0KICAgID4gPg0KICAgID4NCiAgICA+
IC0tDQogICAgPiBKdWxpZW4gR3JhbGwNCiAgICBJTVBPUlRBTlQgTk9USUNFOiBUaGUgY29udGVu
dHMgb2YgdGhpcyBlbWFpbCBhbmQgYW55IGF0dGFjaG1lbnRzIGFyZSBjb25maWRlbnRpYWwgYW5k
IG1heSBhbHNvIGJlIHByaXZpbGVnZWQuIElmIHlvdSBhcmUgbm90IHRoZSBpbnRlbmRlZCByZWNp
cGllbnQsIHBsZWFzZSBub3RpZnkgdGhlIHNlbmRlciBpbW1lZGlhdGVseSBhbmQgZG8gbm90IGRp
c2Nsb3NlIHRoZSBjb250ZW50cyB0byBhbnkgb3RoZXIgcGVyc29uLCB1c2UgaXQgZm9yIGFueSBw
dXJwb3NlLCBvciBzdG9yZSBvciBjb3B5IHRoZSBpbmZvcm1hdGlvbiBpbiBhbnkgbWVkaXVtLiBU
aGFuayB5b3UuDQogICAgDQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhl
bnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5m
by9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Fri Dec 20 08:11:33 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 20 Dec 2019 08:11:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1iiDNk-0003ag-EV; Fri, 20 Dec 2019 08:11:32 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=DXd/=2K=gmail.com=julien.grall.oss@srs-us1.protection.inumbo.net>)
 id 1iiDNi-0003ab-9e
 for minios-devel@lists.xenproject.org; Fri, 20 Dec 2019 08:11:30 +0000
X-Inumbo-ID: 4e94d0e2-2300-11ea-88e7-bc764e2007e4
Received: from mail-ed1-f68.google.com (unknown [209.85.208.68])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 4e94d0e2-2300-11ea-88e7-bc764e2007e4;
 Fri, 20 Dec 2019 08:11:21 +0000 (UTC)
Received: by mail-ed1-f68.google.com with SMTP id c26so7398024eds.8
 for <minios-devel@lists.xenproject.org>; Fri, 20 Dec 2019 00:11:21 -0800 (PST)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:subject:to:cc:references:from:message-id:date
 :user-agent:mime-version:in-reply-to:content-language
 :content-transfer-encoding;
 bh=pcn8Qvk3UPymKEEHXV0lupNeO+V207B4FARhZfiaB+Y=;
 b=qUoy/XhEAtz/GOoVQbQkMsJ72SlxaYekpq27lKZHf8wgo/vjuqigsRwYxcDxbhHKZQ
 0CcCFFTbgHV2hUWb1re8lwzq7YIapmIvaxQeMf793jD1zND60ll3TvrGh6rFgE4N4CQ/
 D5YHXHyhT+lBRlSaXynxw9A9L/xj9G3toBqjHpIeoICsOJ54t7S5u00kUNNhVMKuQ5jJ
 H4Nv9kVAeGMW3giEeVAuS0qViJN6fcvqfayp8qVbQhVN0cM0Wv7EDCt+lf7QTeu/zbNG
 XfxE7nTj9GJVVkEjyt7KsSBidna8qKIUjNqkD53A1v2lHZZxm7I8hyvenVmNDYnSCeCb
 7Twg==
X-Gm-Message-State: APjAAAXpv72ST/zxm3PySD8zgoF5zsO9yrr76Wcwa9rcmU3j8tWadKqD
 SFGL8BQMVdYum9pV0dYEWTA=
X-Google-Smtp-Source: APXvYqwNFWUXP3Z+SvxxrqvvPv1N/k0LMexBq98IhZt9m1V3rZWv2zfsLm3qIAo0sxCSPsoI39XbGA==
X-Received: by 2002:a05:6402:153:: with SMTP id
 s19mr14522193edu.149.1576829481054; 
 Fri, 20 Dec 2019 00:11:21 -0800 (PST)
Received: from a483e7b01a66.ant.amazon.com (54-240-197-227.amazon.com.
 [54.240.197.227])
 by smtp.gmail.com with ESMTPSA id l26sm848204edq.5.2019.12.20.00.11.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 20 Dec 2019 00:11:20 -0800 (PST)
To: Santiago Pagani <Santiago.Pagani@neclab.eu>, Justin He <Justin.He@arm.com>,
 "minios-devel@lists.xenproject.org" <minios-devel@lists.xenproject.org>,
 Simon Kuenzer <simon.kuenzer@neclab.eu>
References: <20191219142722.134251-1-justin.he@arm.com>
 <20191219142722.134251-3-justin.he@arm.com>
 <0e928f78-d7bc-9845-89c9-cd594dd56868@xen.org>
 <VE1PR08MB4639398095E2507A98882131F72D0@VE1PR08MB4639.eurprd08.prod.outlook.com>
 <C972174A-D1A9-4A28-BD82-E67D2848EFB2@neclab.eu>
From: Julien Grall <julien@xen.org>
Message-ID: <336d61df-6389-53cf-b085-e75a59ce70c6@xen.org>
Date: Fri, 20 Dec 2019 08:11:18 +0000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:68.0)
 Gecko/20100101 Thunderbird/68.3.1
MIME-Version: 1.0
In-Reply-To: <C972174A-D1A9-4A28-BD82-E67D2848EFB2@neclab.eu>
Content-Language: en-GB
Subject: Re: [Minios-devel] [UNIKRAFT RFC PATCH 2/5] plat/kvm: arm64: Enable
 the fp/simd at the starting point
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <Felipe.Huici@neclab.eu>, Kaly Xin <Kaly.Xin@arm.com>,
 Julien Grall <Julien.Grall@arm.com>,
 Sharan Santhanam <Sharan.Santhanam@neclab.eu>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

CgpPbiAyMC8xMi8yMDE5IDA4OjA0LCBTYW50aWFnbyBQYWdhbmkgd3JvdGU6CgpIaSwKCk1heSBJ
IGFzayB0byBhdm9pZCB0b3AtcG9zdGluZz8gVGhpcyBtYWtlcyB0aGUgY29udmVyc2F0aW9uIGZh
aXJseSAKZGlmZmljdWx0IHRvIHJlYWQuCgo+IEFjdHVhbGx5LCB0aGUgY29tbWVudCBpcyB3cm9u
Zy4gU2V0dGluZyB0aG9zZSB0d28gYml0cyBpbiBjcGFjcl9lbDEgZG9lcyBub3QgZW5hYmxlIGZw
L3NpbWQsIGJ1dCBhY3R1YWxseSBkaXNhYmxlcyB0cmFwcyBmb3IgZmxvYXRpbmcgcG9pbnQgYW5k
IFNJTUQgaW5zdHJ1Y3Rpb25zIGJvdGggaW4gRUwwIGFuZCBFTDEuCj4gVGhlIGFjdHVhbGx5IGVu
YWJsaW5nIG9mIGZsb2F0aW5nIHBvaW50IGFuZCBTSU1EIGluc3RydWN0aW9ucyBpcyBkb25lIGJ5
IHlvdXIgb3RoZXIgcGF0Y2ggdGhhdCByZW1vdmVzIHRoZSAtbWdlbmVyYWwtcmVncy1vbmx5IGZs
YWcuCj4gVGhlcmVmb3JlLCB0aGVyZSBpcyBubyBoYXJtIGluIGRvaW5nIHRoYXQgaW4gdGhlIGtl
cm5lbCB3aGVuIGZsb2F0aW5nIHBvaW50IGlzIGVuYWJsZWQuIEkgd291bGQgaG93ZXZlciBmaXgg
dGhlIGNvbW1lbnQgdGhvdWdoLgoKTm90IHF1aXRlLCB5b3UgbWFrZSB5b3VyIGxpZmUgc28gbXVj
aCBtb3JlIGRpZmZpY3VsdCBpZiB5b3VyIGtlcm5lbCAKc2hvdWxkIG5vdCB1c2UgRlBTSU1EIHJl
Z2lzdGVycyBhbmQgd2lsbCB1c2UgdGhlbSAoc2VlIG15IG90aGVyIGFuc3dlcikuCgpTbyBmb3Ig
c2FmZXR5LCBpdCBpcyBiZXR0ZXIgdG8ga2VlcCB0cmFwcGluZyBGUFNJTUQgaWYgdGhleSBhcmUg
bm90IAptZWFudCB0byBiZSB1c2VkLiBUaGlzIGlzIGxpa2VseSB0byBhdm9pZCB5b3UgYSBsb3Qg
b2YgZGVidWdnaW5nIGluIHRoZSAKZnV0dXJlIGlmIEZQU0lNRCBhcmUgbWlzdXNlZC4KCkNoZWVy
cywKCi0tIApKdWxpZW4gR3JhbGwKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3Rz
LnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0
aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Fri Dec 20 09:54:16 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 20 Dec 2019 09:54:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1iiEz7-0003ll-4Z; Fri, 20 Dec 2019 09:54:13 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=1F8g=2K=neclab.eu=santiago.pagani@srs-us1.protection.inumbo.net>)
 id 1iiEz6-0003lb-1a
 for minios-devel@lists.xenproject.org; Fri, 20 Dec 2019 09:54:12 +0000
X-Inumbo-ID: aaea87b6-230e-11ea-931b-12813bfff9fa
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id aaea87b6-230e-11ea-931b-12813bfff9fa;
 Fri, 20 Dec 2019 09:54:10 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id E5DD0104B6E;
 Fri, 20 Dec 2019 10:54:08 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-a.office.hd)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id efe_TbhaWqc6; Fri, 20 Dec 2019 10:54:08 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from Oberon.office.hd (Oberon.office.hd [192.168.24.90])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id A0793104AAE;
 Fri, 20 Dec 2019 10:54:08 +0100 (CET)
Received: from oberon.office.hd (192.168.24.90) by Oberon.office.hd
 (192.168.24.90) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Fri, 20 Dec
 2019 10:54:08 +0100
Received: from oberon.office.hd ([192.168.126.11]) by Oberon.office.hd
 ([192.168.126.11]) with mapi id 15.01.1713.009; Fri, 20 Dec 2019 10:54:08
 +0100
From: Santiago Pagani <Santiago.Pagani@neclab.eu>
To: Julien Grall <julien@xen.org>, Justin He <Justin.He@arm.com>,
 "minios-devel@lists.xenproject.org" <minios-devel@lists.xenproject.org>,
 Simon Kuenzer <simon.kuenzer@neclab.eu>
Thread-Topic: [Minios-devel] [UNIKRAFT RFC PATCH 2/5] plat/kvm: arm64: Enable
 the fp/simd at the starting point
Thread-Index: AQHVtnh9szNx9qpHm0+HjytDIizqVKfBdU4AgACyloCAAINjAP//8SEAgAAtfYA=
Date: Fri, 20 Dec 2019 09:54:08 +0000
Message-ID: <4D4AEF76-BA70-400E-9A75-D8A4CB0371D4@neclab.eu>
References: <20191219142722.134251-1-justin.he@arm.com>
 <20191219142722.134251-3-justin.he@arm.com>
 <0e928f78-d7bc-9845-89c9-cd594dd56868@xen.org>
 <VE1PR08MB4639398095E2507A98882131F72D0@VE1PR08MB4639.eurprd08.prod.outlook.com>
 <C972174A-D1A9-4A28-BD82-E67D2848EFB2@neclab.eu>
 <336d61df-6389-53cf-b085-e75a59ce70c6@xen.org>
In-Reply-To: <336d61df-6389-53cf-b085-e75a59ce70c6@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [192.168.24.96]
Content-ID: <1194F5C51E185C478111FB88BFF50021@office.hd>
MIME-Version: 1.0
Subject: Re: [Minios-devel] [UNIKRAFT RFC PATCH 2/5] plat/kvm: arm64: Enable
 the fp/simd at the starting point
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <Felipe.Huici@neclab.eu>, Kaly Xin <Kaly.Xin@arm.com>,
 Julien Grall <Julien.Grall@arm.com>,
 Sharan Santhanam <Sharan.Santhanam@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgSnVsaWVuLA0KDQpZZXMsIHlvdSBhcmUgcmlnaHQuDQoNCkhvdyBhYm91dCBhc2tpbmcgSnVz
dGluIHRvIHBsYWNlIGEgY291cGxlIG9mIFRPRE9zIGFib3V0IHRoZXNlIGlzc3VlcyBhbmQgZml4
aW5nIHRoZW0gaW4gSmFudWFyeT8gIEknbSBqdXN0IGNvbmNlcm5lZCBhYm91dCBkZWxheWluZyB0
aGlzIGxvbmdlciwgYXMgbm90IGhhdmluZyBmbG9hdGluZyBwb2ludCBvbiBBUk0gaXMgY3VycmVu
dGx5IGJsb2NraW5nIHNldmVyYWwgdGhpbmdzIChpLmUuLCBwb3J0aW5nIG9mIEMrKyB0byBBUk02
NCwgcG9ydGluZyBvZiBvdXIgbWFjaGluZSBsZWFybmluZyBhY2NlbGVyYXRpb24gZnJhbWV3b3Jr
IHRvIEFSTTY0LCBwb3J0aW5nIG9mIHRoZSBBUk0gY29tcHV0ZSBsaWJyYXJ5IHRvIEFSTTY0LCBw
b3J0aW5nIG9mIHRoZSBMR1ZMIGxpYnJhcnkgdG8gQVJNNjQsIGZpbmFsaXppbmcgYSBXQU1SIG9u
IFJhc3BiZXJyeSBQaSAzIGRlbW8sIGV0Yy4pLg0KDQpCZXN0LA0KU2FudGlhZ28NCg0K77u/T24g
MjAuMTIuMTksIDA5OjExLCAiTWluaW9zLWRldmVsIG9uIGJlaGFsZiBvZiBKdWxpZW4gR3JhbGwi
IDxtaW5pb3MtZGV2ZWwtYm91bmNlc0BsaXN0cy54ZW5wcm9qZWN0Lm9yZyBvbiBiZWhhbGYgb2Yg
anVsaWVuQHhlbi5vcmc+IHdyb3RlOg0KDQogICAgDQogICAgDQogICAgT24gMjAvMTIvMjAxOSAw
ODowNCwgU2FudGlhZ28gUGFnYW5pIHdyb3RlOg0KICAgIA0KICAgIEhpLA0KICAgIA0KICAgIE1h
eSBJIGFzayB0byBhdm9pZCB0b3AtcG9zdGluZz8gVGhpcyBtYWtlcyB0aGUgY29udmVyc2F0aW9u
IGZhaXJseSANCiAgICBkaWZmaWN1bHQgdG8gcmVhZC4NCiAgICANCiAgICA+IEFjdHVhbGx5LCB0
aGUgY29tbWVudCBpcyB3cm9uZy4gU2V0dGluZyB0aG9zZSB0d28gYml0cyBpbiBjcGFjcl9lbDEg
ZG9lcyBub3QgZW5hYmxlIGZwL3NpbWQsIGJ1dCBhY3R1YWxseSBkaXNhYmxlcyB0cmFwcyBmb3Ig
ZmxvYXRpbmcgcG9pbnQgYW5kIFNJTUQgaW5zdHJ1Y3Rpb25zIGJvdGggaW4gRUwwIGFuZCBFTDEu
DQogICAgPiBUaGUgYWN0dWFsbHkgZW5hYmxpbmcgb2YgZmxvYXRpbmcgcG9pbnQgYW5kIFNJTUQg
aW5zdHJ1Y3Rpb25zIGlzIGRvbmUgYnkgeW91ciBvdGhlciBwYXRjaCB0aGF0IHJlbW92ZXMgdGhl
IC1tZ2VuZXJhbC1yZWdzLW9ubHkgZmxhZy4NCiAgICA+IFRoZXJlZm9yZSwgdGhlcmUgaXMgbm8g
aGFybSBpbiBkb2luZyB0aGF0IGluIHRoZSBrZXJuZWwgd2hlbiBmbG9hdGluZyBwb2ludCBpcyBl
bmFibGVkLiBJIHdvdWxkIGhvd2V2ZXIgZml4IHRoZSBjb21tZW50IHRob3VnaC4NCiAgICANCiAg
ICBOb3QgcXVpdGUsIHlvdSBtYWtlIHlvdXIgbGlmZSBzbyBtdWNoIG1vcmUgZGlmZmljdWx0IGlm
IHlvdXIga2VybmVsIA0KICAgIHNob3VsZCBub3QgdXNlIEZQU0lNRCByZWdpc3RlcnMgYW5kIHdp
bGwgdXNlIHRoZW0gKHNlZSBteSBvdGhlciBhbnN3ZXIpLg0KICAgIA0KICAgIFNvIGZvciBzYWZl
dHksIGl0IGlzIGJldHRlciB0byBrZWVwIHRyYXBwaW5nIEZQU0lNRCBpZiB0aGV5IGFyZSBub3Qg
DQogICAgbWVhbnQgdG8gYmUgdXNlZC4gVGhpcyBpcyBsaWtlbHkgdG8gYXZvaWQgeW91IGEgbG90
IG9mIGRlYnVnZ2luZyBpbiB0aGUgDQogICAgZnV0dXJlIGlmIEZQU0lNRCBhcmUgbWlzdXNlZC4N
CiAgICANCiAgICBDaGVlcnMsDQogICAgDQogICAgLS0gDQogICAgSnVsaWVuIEdyYWxsDQogICAg
DQogICAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCiAg
ICBNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0DQogICAgTWluaW9zLWRldmVsQGxpc3RzLnhlbnBy
b2plY3Qub3JnDQogICAgaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3Rp
bmZvL21pbmlvcy1kZXZlbA0KDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54
ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGlu
Zm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Fri Dec 20 10:23:05 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 20 Dec 2019 10:23:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1iiFR1-0006L1-Ud; Fri, 20 Dec 2019 10:23:03 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=DXd/=2K=gmail.com=julien.grall.oss@srs-us1.protection.inumbo.net>)
 id 1iiFR0-0006Kw-Qk
 for minios-devel@lists.xenproject.org; Fri, 20 Dec 2019 10:23:02 +0000
X-Inumbo-ID: aec9a390-2312-11ea-b6f1-bc764e2007e4
Received: from mail-ed1-f68.google.com (unknown [209.85.208.68])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id aec9a390-2312-11ea-b6f1-bc764e2007e4;
 Fri, 20 Dec 2019 10:22:54 +0000 (UTC)
Received: by mail-ed1-f68.google.com with SMTP id cy15so7748519edb.4
 for <minios-devel@lists.xenproject.org>; Fri, 20 Dec 2019 02:22:54 -0800 (PST)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:subject:to:cc:references:from:message-id:date
 :user-agent:mime-version:in-reply-to:content-language
 :content-transfer-encoding;
 bh=2/tL85jOx0rWd9VJiWp7Q99GyJNjrjmvkSCTBgp6INY=;
 b=fJCqAdemNlsON6PlQotZ9YrSxhX6hfhl0GwMKmuUQMj4GRtlru7qob5reUrzosMFrn
 PMNDPyIB3zklkaTI/eVG7ijuKKb0eKGGnrKXjrR5JabkKgAQ5Atoq2a2kuLu9594vRel
 O1VHw8XUeoA/VE+mYyX4Ga0SPyO/8gRtmWWQORq7TctKrvgd1qkqMS9tFyuHTe8vHeJH
 1PYwXhFD3aC9sKjUTYHnc6JXtKsOdYQITYkdjxp0muqoPBfslrw5f8t3fSSMKm9zQaFf
 qzqzske6djmDmvNv9A3KM6crpAA4SmcY2NWZNNwd1MHITt8MkwRIvTNR2N1bbuyzkMR7
 a6mg==
X-Gm-Message-State: APjAAAWYw+TYay6YWnmJklHeG2s7IRPF7A/Hlmf/aigskqBMUQEN3Dld
 tNEwLV3Oolf57NO3krSjaGU=
X-Google-Smtp-Source: APXvYqxNDjt6nVvrkabJZMNFLAccTQG6F5hx2eN5rHo3JxVSnOQHyx1RhR5OZdn4fR48EG3mV5ew8A==
X-Received: by 2002:a17:906:4e18:: with SMTP id
 z24mr14776971eju.214.1576837373236; 
 Fri, 20 Dec 2019 02:22:53 -0800 (PST)
Received: from a483e7b01a66.ant.amazon.com (54-240-197-234.amazon.com.
 [54.240.197.234])
 by smtp.gmail.com with ESMTPSA id r19sm974282ejr.33.2019.12.20.02.22.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 20 Dec 2019 02:22:52 -0800 (PST)
To: Santiago Pagani <Santiago.Pagani@neclab.eu>, Justin He <Justin.He@arm.com>,
 "minios-devel@lists.xenproject.org" <minios-devel@lists.xenproject.org>,
 Simon Kuenzer <simon.kuenzer@neclab.eu>
References: <20191219142722.134251-1-justin.he@arm.com>
 <20191219142722.134251-3-justin.he@arm.com>
 <0e928f78-d7bc-9845-89c9-cd594dd56868@xen.org>
 <VE1PR08MB4639398095E2507A98882131F72D0@VE1PR08MB4639.eurprd08.prod.outlook.com>
 <C972174A-D1A9-4A28-BD82-E67D2848EFB2@neclab.eu>
 <336d61df-6389-53cf-b085-e75a59ce70c6@xen.org>
 <4D4AEF76-BA70-400E-9A75-D8A4CB0371D4@neclab.eu>
From: Julien Grall <julien@xen.org>
Message-ID: <af6fefb1-8970-4721-e45b-48ca553210c0@xen.org>
Date: Fri, 20 Dec 2019 10:22:51 +0000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:68.0)
 Gecko/20100101 Thunderbird/68.3.1
MIME-Version: 1.0
In-Reply-To: <4D4AEF76-BA70-400E-9A75-D8A4CB0371D4@neclab.eu>
Content-Language: en-GB
Subject: Re: [Minios-devel] [UNIKRAFT RFC PATCH 2/5] plat/kvm: arm64: Enable
 the fp/simd at the starting point
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <Felipe.Huici@neclab.eu>, Kaly Xin <Kaly.Xin@arm.com>,
 Julien Grall <Julien.Grall@arm.com>,
 Sharan Santhanam <Sharan.Santhanam@neclab.eu>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

CgpPbiAyMC8xMi8yMDE5IDA5OjU0LCBTYW50aWFnbyBQYWdhbmkgd3JvdGU6Cj4gSGkgSnVsaWVu
LAo+IAo+IFllcywgeW91IGFyZSByaWdodC4KPiAKPiBIb3cgYWJvdXQgYXNraW5nIEp1c3RpbiB0
byBwbGFjZSBhIGNvdXBsZSBvZiBUT0RPcyBhYm91dCB0aGVzZSBpc3N1ZXMgYW5kIGZpeGluZyB0
aGVtIGluIEphbnVhcnk/ICBJJ20ganVzdCBjb25jZXJuZWQgYWJvdXQgZGVsYXlpbmcgdGhpcyBs
b25nZXIsIGFzIG5vdCBoYXZpbmcgZmxvYXRpbmcgcG9pbnQgb24gQVJNIGlzIGN1cnJlbnRseSBi
bG9ja2luZyBzZXZlcmFsIHRoaW5ncyAoaS5lLiwgcG9ydGluZyBvZiBDKysgdG8gQVJNNjQsIHBv
cnRpbmcgb2Ygb3VyIG1hY2hpbmUgbGVhcm5pbmcgYWNjZWxlcmF0aW9uIGZyYW1ld29yayB0byBB
Uk02NCwgcG9ydGluZyBvZiB0aGUgQVJNIGNvbXB1dGUgbGlicmFyeSB0byBBUk02NCwgcG9ydGlu
ZyBvZiB0aGUgTEdWTCBsaWJyYXJ5IHRvIEFSTTY0LCBmaW5hbGl6aW5nIGEgV0FNUiBvbiBSYXNw
YmVycnkgUGkgMyBkZW1vLCBldGMuKS4KCkkgYW0gbm90IHN1cmUgd2hhdCBUT0RPcyB5b3Ugc3Vn
Z2VzdC4uLiBXaGlsZSBteSBjb21tZW50IHJlZ2FyZGluZyAKa2VlcGluZyB0aGUgRlBTSU1EIHRy
YXAgZGlzYWJsZWQgYXMgbXVjaCBhcyBwb3NzaWJsZSBpcyBub3QgdGhhdCAKaW1wb3J0YW50IChp
dCBqdXN0IGhlbHBzIGZvciBkZWJ1ZyksIHRoZSByZXN0IG9mIHRoZSBzZXJpZXMgaGF2ZSBhIG1h
am9yIApmbGF3IHRoYXQgd291bGQgY29ycnVwdCB5b3VyIGtlcm5lbC9hcHAgYXQgYW55IHRpbWUu
CgpJIHdvdWxkIHN0cm9uZ2x5IHN1Z2dlc3QgdG8gZm9jdXMgb24gbWFraW5nIHRoZSBmb3VuZGF0
aW9uIHNvbGlkIGJ1dCAKdHJ5aW5nIHRvIHBpbGUgdXAgbW9yZSBzdHVmZiBvbiB0b3AuCgpDaGVl
cnMsCgotLSAKSnVsaWVuIEdyYWxsCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0
cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlz
dGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Fri Dec 20 13:10:14 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 20 Dec 2019 13:10:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1iiI2l-0004Rh-M8; Fri, 20 Dec 2019 13:10:11 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=1F8g=2K=neclab.eu=santiago.pagani@srs-us1.protection.inumbo.net>)
 id 1iiI2l-0004Rc-31
 for minios-devel@lists.xenproject.org; Fri, 20 Dec 2019 13:10:11 +0000
X-Inumbo-ID: 0bedc739-232a-11ea-9359-12813bfff9fa
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 0bedc739-232a-11ea-9359-12813bfff9fa;
 Fri, 20 Dec 2019 13:10:09 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 2371C104AA4;
 Fri, 20 Dec 2019 14:10:08 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (atlas-a.office.hd)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id YmyGP_9433jH; Fri, 20 Dec 2019 14:10:08 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from puck.office.hd (puck.office.hd [192.168.24.91])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id ED77C1039C9;
 Fri, 20 Dec 2019 14:10:07 +0100 (CET)
Received: from oberon.office.hd (192.168.24.90) by puck.office.hd
 (192.168.24.91) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Fri, 20 Dec
 2019 14:10:07 +0100
Received: from oberon.office.hd ([192.168.126.11]) by Oberon.office.hd
 ([192.168.126.11]) with mapi id 15.01.1713.009; Fri, 20 Dec 2019 14:10:07
 +0100
From: Santiago Pagani <Santiago.Pagani@neclab.eu>
To: Julien Grall <julien@xen.org>, Justin He <Justin.He@arm.com>,
 "minios-devel@lists.xenproject.org" <minios-devel@lists.xenproject.org>,
 Simon Kuenzer <simon.kuenzer@neclab.eu>
Thread-Topic: [Minios-devel] [UNIKRAFT RFC PATCH 2/5] plat/kvm: arm64: Enable
 the fp/simd at the starting point
Thread-Index: AQHVtnh9szNx9qpHm0+HjytDIizqVKfBdU4AgACyloCAAG7CAIAAagEA
Date: Fri, 20 Dec 2019 13:10:07 +0000
Message-ID: <B2C04365-FADD-46C2-8F53-3DB8369C89E8@neclab.eu>
References: <20191219142722.134251-1-justin.he@arm.com>
 <20191219142722.134251-3-justin.he@arm.com>
 <0e928f78-d7bc-9845-89c9-cd594dd56868@xen.org>
 <VE1PR08MB4639398095E2507A98882131F72D0@VE1PR08MB4639.eurprd08.prod.outlook.com>
 <c402292c-7aa7-6f18-4e56-c8f0d5de0989@xen.org>
In-Reply-To: <c402292c-7aa7-6f18-4e56-c8f0d5de0989@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [192.168.24.96]
Content-ID: <328642A9AC470E42B195FA39BAA14805@office.hd>
MIME-Version: 1.0
Subject: Re: [Minios-devel] [UNIKRAFT RFC PATCH 2/5] plat/kvm: arm64: Enable
 the fp/simd at the starting point
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <Felipe.Huici@neclab.eu>, Kaly Xin <Kaly.Xin@arm.com>,
 Julien Grall <Julien.Grall@arm.com>,
 Sharan Santhanam <Sharan.Santhanam@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgSnVsaWVuLA0KDQrvu79PbiAyMC4xMi4xOSwgMDg6NTAsICJKdWxpZW4gR3JhbGwiIDxqdWxp
ZW5AeGVuLm9yZz4gd3JvdGU6DQoNCiAgICANCiAgICANCiAgICBPbiAyMC8xMi8yMDE5IDAxOjE0
LCBKdXN0aW4gSGUgd3JvdGU6DQogICAgPiBIaSBKdWxpZW4NCiAgICANCiAgICBIZWxsbywNCiAg
ICANCiAgICA+IA0KICAgID4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQogICAgPj4gRnJv
bTogSnVsaWVuIEdyYWxsIDxqdWxpZW5AeGVuLm9yZz4NCiAgICA+PiBTZW50OiBUaHVyc2RheSwg
RGVjZW1iZXIgMTksIDIwMTkgMTA6MzUgUE0NCiAgICA+PiBUbzogSnVzdGluIEhlIDxKdXN0aW4u
SGVAYXJtLmNvbT47IG1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZzsNCiAgICA+PiBT
aW1vbiBLdWVuemVyIDxzaW1vbi5rdWVuemVyQG5lY2xhYi5ldT47IFNhbnRpYWdvLlBhZ2FuaUBu
ZWNsYWIuZXUNCiAgICA+PiBDYzogRmVsaXBlIEh1aWNpIDxmZWxpcGUuaHVpY2lAbmVjbGFiLmV1
PjsgS2FseSBYaW4gPEthbHkuWGluQGFybS5jb20+Ow0KICAgID4+IEp1bGllbiBHcmFsbCA8SnVs
aWVuLkdyYWxsQGFybS5jb20+OyBTaGFyYW4uU2FudGhhbmFtQG5lY2xhYi5ldQ0KICAgID4+IFN1
YmplY3Q6IFJlOiBbTWluaW9zLWRldmVsXSBbVU5JS1JBRlQgUkZDIFBBVENIIDIvNV0gcGxhdC9r
dm06IGFybTY0Og0KICAgID4+IEVuYWJsZSB0aGUgZnAvc2ltZCBhdCB0aGUgc3RhcnRpbmcgcG9p
bnQNCiAgICA+Pg0KICAgID4+IEhpLA0KICAgID4+DQogICAgPj4gT24gMTkvMTIvMjAxOSAxNDoy
NywgSmlhIEhlIHdyb3RlOg0KICAgID4+PiBXcml0ZSB0aGUgc3lzIHJlZyB0byBlbmFibGUgdGhl
IGZwL3NpbWQgZmVhdHVyZSwgb3RoZXJ3aXNlIGl0IHdpbGwNCiAgICA+Pj4gY2F1c2UgZmxvYXRp
bmcgcG9pbnQvc2ltZCBleGNlcHRpb24gd2hlbiB0b3VjaGluZyBxMC1xMzEuDQogICAgPj4NCiAg
ICA+PiBJbiB5b3VyIGZpcnN0IHBhdGNoIHlvdSBzYXkgRlBTSU1EIHdpbGwgYmUgYXZhaWxhYmxl
IGZvciBhcHBsaWNhdGlvbg0KICAgID4+IG9ubHkuIEJ1dCBoZXJlLCB5b3Ugd2lsbCBhbGxvdyBV
bmlrcmFmdCBpdHNlbGYgdG8gdXNlIGl0Lg0KICAgID4+DQogICAgPj4gU28gZG9uJ3QgeW91IHdh
bnQgdG8gdHVybiB0aGlzIG9ubHkgd2hlbiBqdW1waW5nIHRvIHRoZSBhcHBsaWNhdGlvbiBjb2Rl
Pw0KICAgID4+DQogICAgPiBZZXMsIHRoaXMgbWlnaHQgYmUgbW9yZSBncmFjZWZ1bC4NCiAgICA+
IEJ1dCB0aGVyZSBpcyBhIGNvcm5lciBjYXNlIGluIGxpYnVrZGVidWcgb2YgVW5pa3JhZnQuDQog
ICAgPiBJZiB3ZSByZW1vdmVkIC1tZ2VuZXJhbC1yZWdzLW9ubHksIHNvbWUgcHJpbnRmKiBmYW1p
bHkgZnVuY3Rpb25zIChlc3BlY2lhbGx5DQogICAgPiB0aG9zZSBoYXZlIHZhcmlhYmxlIGxlbmd0
aCBwYXJhbWV0ZXJzLCAuZS5nIHZhX3N0YXJ0L2VuZCkgd2lsbCBiZSBjb21waWxlZCB0bw0KICAg
ID4gdXNlIHEwLXEzMS4NCiAgICANCiAgICBJIGhhdmUgYWxyZWFkeSBoYWQgYSBsZW5naHR5IGRp
c2N1c3Npb24gaW4gdGhlIHBhc3Qgd2l0aCBXZWkgQ2hlbiAoc2VlIA0KICAgIFsxXSkgYWJvdXQg
aXQuDQogICAgDQogICAgSWYgeW91IHRlbGwgR0NDIHRvIGVuYWJsZSBmbG9hdGluZyBwb2ludCBm
b3IgdGhlIGtlcm5lbCwgdGhlbiB5b3VyIA0KICAgIGV4Y2VwdGlvbiBwYXRoIChlLmcgaW50ZXJy
dXB0KSBtYXkgYWxzbyB1c2UgZmxvYXRpbmcuIFRoZXJlZm9yZSB5b3UgDQogICAgd291bGQgYWxz
byBoYXZlIHRvIHNhdmUvcmVzdG9yZSB0aGVtIGF0ICpldmVyeSogZXhjZXB0aW9uIHRvIHByZXZl
bnQgYW55IA0KICAgIGNvcnJ1cHRpb24uDQogICAgDQogICAgDQogICAgPiBIZW5jZSwgaWYgd2Ug
d2FudCB0byBkaXNhYmxlIGZwL3NpbWQgaW4gdW5pa3JhZnQga2VybmVsIGFuZCBlbmFibGUgaXQg
aW4NCiAgICA+IHVzZXJzcGFjZSwgd2UgbmVlZCB0byBzcGVjaWZ5IGRpZmZlcmVudCBjb21waWxh
dGlvbiBvcHRpb25zIHdpdGgvd2l0aG91dA0KICAgID4gLW1nZW5lcmFsLXJlZ3Mtb25seSBmb3Ig
ZWFjaCB1bmtyYWZ0IGtlcm5lbCBsaWJyYXJ5LiBJIGRvbid0IGtub3cgd2hldGhlcg0KICAgID4g
aXQgaXMgYWNjZXB0YWJsZT8gQFNpbW9uIEt1ZW56ZXIgV2hhdCBkbyB5b3UgdGhpbmsgb2YgaXQ/
DQogICAgDQogICAgU2VlIGFib3ZlLCBpZiB5b3UgZGVjaWRlIHRvIGVuYWJsZSBGUFNJTUQgZm9y
IHlvdXIga2VybmVsIHRoZW4gdGhpcyANCiAgICBzZXJpZXMgaXMgbm90IGVub3VnaC4NCiAgICAN
CiAgICBIb3dldmVyLCB0aGlzIGlzIGxpa2VseSBhIHdhc3RlIG9mIHRpbWUgYXMgdGhlIGtlcm5l
bCBpdHNlbGYgc2hvdWxkIGhhdmUgDQogICAgbGltaXRlZCB1c2Ugb2YgRlBTSU1ELiBOb3cgaW1h
Z2luZSBmb3IgU1ZFLi4uLg0KICAgIA0KICAgIFNvIEkgd291bGQgaGlnaGx5IHJlY29tbWVuZCB0
byBlbnN1cmUgdGhlIGtlcm5lbCAocGFydGljdWxhcmx5IHRoZSANCiAgICBleGNlcHRpb24gcGF0
aCkgaXMgZnJlZSBvZiBGUFNJTUQuDQogICAgDQpJJ3ZlIGJlZW4gdGhpbmtpbmcgYSBiaXQgbW9y
ZSBhYm91dCB0aGlzLCBhbmQgSSBkbyBub3QgdGhpbmsgd2UgY2FuIGRvIHdoYXQgeW91IHN1Z2dl
c3QuIE5hbWVseSwgaW4gVW5pa3JhZnQgdGhlcmUgaXMgbm8gZGlmZmVyZW5jZSBiZXR3ZWVuIGEg
a2VybmVsIGFuZCBhbiBhcHBsaWNhdGlvbi4gVGhpcyBpcyBub3QgTGludXgsIHdoZXJlIHdlIGhh
dmUgdXNlciBzcGFjZSBhbmQgYXBwbGljYXRpb25zIGFuZCBrZXJuZWwgc3BhY2UuIEV2ZXJ5dGhp
bmcgZ2V0cyBjb21waWxlZCBhcyBhIHNpbmdsZSBpbWFnZSwgcnVubmluZyBpbiBmbGF0IG1lbW9y
eSBzcGFjZSwgZXZlcnl0aGluZyB3aXRoIHRoZSBzYW1lIHByaXZpbGVnZXMgYW5kIHByb3BlcnRp
ZXMuIFdlIGNvdWxkIGNvbXBpbGUgdGhlICJhcHBsaWNhdGlvbiIgZmlsZXMgd2l0aG91dCB0aGUg
LW1nZW5lcmFsLXJlZ3Mtb25seSBmbGFnLCBhbmQgdGhlICJrZXJuZWwiIGZpbGVzIHdpdGggaXQs
IGJ1dCB0aGF0IGRvZXMgbm90IGd1YXJhbnRlZSB0aGF0IHRoZXJlIHdpbGwgbm90IGJlIGNvcnJ1
cHRpb24gaW4gYW4gZXhjZXB0aW9uLCBhcyB0aGUgZXhjZXB0aW9uIGNvdWxkIG9jY3VyIHdoZW4g
cnVubmluZyAiYXBwbGljYXRpb24gY29kZSIsIGFuZCBpdCBpcyBkaXJlY3RseSBoYW5kbGVkIHdp
dGhvdXQgZ29pbmcgdGhyb3VnaCB0aGUgImtlcm5lbCIuDQoNClRoZXJlZm9yZSwgd2hlbiB3ZSBh
cmUgY29tcGlsaW5nIGFuIGltYWdlIHRoYXQgaGFzIGZsb2F0aW5nIHBvaW50IHN1cHBvcnQsIHRo
ZW4geWVzLCBldmVyeSB3aWxsIG5lZWQgdG8gc2F2ZS9yZXN0b3JlIGFsbCByZWdpc3RlcnMgdGhh
dCBjb3VsZCBwb3RlbnRpYWxseSBnZXQgY29ycnVwdGVkLCBhbmQgdGhpcyBzaG91bGQgYmUgYWRk
ZWQgYnkgSnVzdGluIHRvIGhpcyBwYXRjaC4gSG93ZXZlciwgd2UgbmVlZCBjb25zaXN0ZW5jeSBm
b3IgYSBnaXZlbiBpbWFnZW4sIGFuZCB3ZSBjYW5ub3QgaGF2ZSBkaWZmZXJlbnQgcGFydHMgb2Yg
dGhlIGltYWdlIGNvbXBpbGVkIHdpdGgvd2l0aG91dCB0aGUgLW1nZW5lcmFsLXJlZ3Mtb25seSBm
bGFnLg0KDQpUaGFua3MgYW5kIGJlc3QsDQpTYW50aWFnbw0KICAgIA0KICAgID4gLS0NCiAgICA+
IENoZWVycywNCiAgICA+IEp1c3RpbiAoSmlhIEhlKQ0KICAgID4gDQogICAgPiANCiAgICA+Pj4N
CiAgICA+Pj4gU2lnbmVkLW9mZi1ieTogSmlhIEhlIDxqdXN0aW4uaGVAYXJtLmNvbT4NCiAgICA+
Pj4gLS0tDQogICAgPj4+ICAgIHBsYXQva3ZtL2FybS9lbnRyeTY0LlMgfCA4ICsrKysrKysrDQog
ICAgPj4+ICAgIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKykNCiAgICA+Pj4NCiAgICA+
Pj4gZGlmZiAtLWdpdCBhL3BsYXQva3ZtL2FybS9lbnRyeTY0LlMgYi9wbGF0L2t2bS9hcm0vZW50
cnk2NC5TDQogICAgPj4+IGluZGV4IDM1OWEzMTAuLjFlMzIyNjggMTAwNjQ0DQogICAgPj4+IC0t
LSBhL3BsYXQva3ZtL2FybS9lbnRyeTY0LlMNCiAgICA+Pj4gKysrIGIvcGxhdC9rdm0vYXJtL2Vu
dHJ5NjQuUw0KICAgID4+PiBAQCAtMzYsNiArMzYsNyBAQA0KICAgID4+PiAgICAjaW5jbHVkZSA8
a3ZtLWFybS9tbS5oPg0KICAgID4+PiAgICAjaW5jbHVkZSA8YXJtL2NwdV9kZWZzLmg+DQogICAg
Pj4+ICAgICNpbmNsdWRlIDx1ay9wbGF0L2NvbW1vbi9zZWN0aW9ucy5oPg0KICAgID4+PiArI2lu
Y2x1ZGUgPHVrL2NvbmZpZy5oPg0KICAgID4+Pg0KICAgID4+PiAgICAuZ2xvYmFsIHBhZ2VfdGFi
bGVfc2l6ZQ0KICAgID4+PiAgICAuZGF0YQ0KICAgID4+PiBAQCAtNDksNiArNTAsMTMgQEAgcGFn
ZV90YWJsZV9zaXplOg0KICAgID4+Pg0KICAgID4+PiAgICAudGV4dA0KICAgID4+PiAgICBFTlRS
WShfbGlia3ZtcGxhdF9lbnRyeSkNCiAgICA+Pj4gKyNpZmRlZiBDT05GSUdfRkxPQVRfUE9JTlQN
CiAgICA+Pj4gKyAgIC8qIEVuYWJsZSBmcC9zaW1kIHN1cHBvcnQgKi8NCiAgICA+Pj4gKyAgIGxk
ciAgICAgICAgeDAsID0oMyA8PCAyMCkNCiAgICA+Pj4gKyAgIG1zciAgICAgICAgY3BhY3JfZWwx
LCB4MA0KICAgID4+PiArICAgaXNiDQogICAgPj4+ICsjZW5kaWYNCiAgICA+Pj4gKw0KICAgID4+
PiAgICAgIC8qIENhbGN1bGF0ZSB0aGUgaW1hZ2Ugc2l6ZSAqLw0KICAgID4+PiAgICAgIGxkciB4
MjUsID1fZHRiDQogICAgPj4+ICAgICAgbGRyIHgyNiwgPV9lbmQNCiAgICA+Pj4NCiAgICA+Pg0K
ICAgID4+IC0tDQogICAgPj4gSnVsaWVuIEdyYWxsDQogICAgPiBJTVBPUlRBTlQgTk9USUNFOiBU
aGUgY29udGVudHMgb2YgdGhpcyBlbWFpbCBhbmQgYW55IGF0dGFjaG1lbnRzIGFyZSBjb25maWRl
bnRpYWwgYW5kIG1heSBhbHNvIGJlIHByaXZpbGVnZWQuIElmIHlvdSBhcmUgbm90IHRoZSBpbnRl
bmRlZCByZWNpcGllbnQsIHBsZWFzZSBub3RpZnkgdGhlIHNlbmRlciBpbW1lZGlhdGVseSBhbmQg
ZG8gbm90IGRpc2Nsb3NlIHRoZSBjb250ZW50cyB0byBhbnkgb3RoZXIgcGVyc29uLCB1c2UgaXQg
Zm9yIGFueSBwdXJwb3NlLCBvciBzdG9yZSBvciBjb3B5IHRoZSBpbmZvcm1hdGlvbiBpbiBhbnkg
bWVkaXVtLiBUaGFuayB5b3UuDQogICAgPiANCiAgICANCiAgICBQbGVhc2UgY29uZmlndXJlIHlv
dXIgZS1tYWlsIGNsaWVudCB0byByZW1vdmUgdGhlIGRpc2NsYWltZXIuDQogICAgDQogICAgQ2hl
ZXJzLA0KICAgIA0KICAgIFsxXSANCiAgICBodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL2Fy
Y2hpdmVzL2h0bWwvbWluaW9zLWRldmVsLzIwMTgtMDcvbXNnMDAwMzguaHRtbA0KICAgIA0KICAg
IC0tIA0KICAgIEp1bGllbiBHcmFsbA0KICAgIA0KDQpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1k
ZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21h
aWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Fri Dec 20 13:48:45 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 20 Dec 2019 13:48:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1iiIe4-00007K-MK; Fri, 20 Dec 2019 13:48:44 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=DXd/=2K=gmail.com=julien.grall.oss@srs-us1.protection.inumbo.net>)
 id 1iiIe3-00007C-7E
 for minios-devel@lists.xenproject.org; Fri, 20 Dec 2019 13:48:43 +0000
X-Inumbo-ID: 6a448664-232f-11ea-88e7-bc764e2007e4
Received: from mail-ed1-f65.google.com (unknown [209.85.208.65])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 6a448664-232f-11ea-88e7-bc764e2007e4;
 Fri, 20 Dec 2019 13:48:34 +0000 (UTC)
Received: by mail-ed1-f65.google.com with SMTP id t17so8289087eds.6
 for <minios-devel@lists.xenproject.org>; Fri, 20 Dec 2019 05:48:34 -0800 (PST)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:subject:to:cc:references:from:message-id:date
 :user-agent:mime-version:in-reply-to:content-language
 :content-transfer-encoding;
 bh=jf4W9WX6DyxZ60+RK0LF5iIIWBs5e69KDVVxMhHciiw=;
 b=MvGDoijOgYRY4jwheS4jCZAxQ7REUlhWXqKSl/FzMaTS3t+jWc4ZNkqHr1sfTgi9Uh
 Cth0S7Hca5w7KnMM2UTjqg974PROhXHjVwbb1zulTv0R62/B0XiCemQDGyyXk4HppIK8
 I1eQIeJDTceOdK/m1Nuw8QalPF1qHcLuzxbK/KH8MEDGYtqcqXKTyNy0mn3fbZXVATqY
 6TMsFOrUy/iqaOA21FMHtb9HNThev7OXmAsyqtaKcYffMU4Kz7L2e+MXLWFu6qzgzsNg
 nZOdUjOUFKxqqWuuVWq7gk8ro2lNNFR1ZgT9eUV4tY6iuEXg4c+gXjW9ITogp2ISCus1
 XQsA==
X-Gm-Message-State: APjAAAUBGmtBPWveID0scfvIwfppJkh+ahWQYWnOWjx+eaTT5NiRq6n3
 8VgvYP9dGSSrNGhRtsrA5600KiAPE1Q=
X-Google-Smtp-Source: APXvYqzCS8FSmaKqDyyYnhv6FvaojBSV0CVAl9jTtG76bOYuianR0+dy8Dm7q0DK0rXcXmXP1MEw+g==
X-Received: by 2002:a17:906:cccf:: with SMTP id
 ot15mr16041115ejb.7.1576849713764; 
 Fri, 20 Dec 2019 05:48:33 -0800 (PST)
Received: from a483e7b01a66.ant.amazon.com (54-240-197-234.amazon.com.
 [54.240.197.234])
 by smtp.gmail.com with ESMTPSA id r23sm930325edx.24.2019.12.20.05.48.32
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 20 Dec 2019 05:48:33 -0800 (PST)
To: Santiago Pagani <Santiago.Pagani@neclab.eu>, Justin He <Justin.He@arm.com>,
 "minios-devel@lists.xenproject.org" <minios-devel@lists.xenproject.org>,
 Simon Kuenzer <simon.kuenzer@neclab.eu>
References: <20191219142722.134251-1-justin.he@arm.com>
 <20191219142722.134251-3-justin.he@arm.com>
 <0e928f78-d7bc-9845-89c9-cd594dd56868@xen.org>
 <VE1PR08MB4639398095E2507A98882131F72D0@VE1PR08MB4639.eurprd08.prod.outlook.com>
 <c402292c-7aa7-6f18-4e56-c8f0d5de0989@xen.org>
 <B2C04365-FADD-46C2-8F53-3DB8369C89E8@neclab.eu>
From: Julien Grall <julien@xen.org>
Message-ID: <38d1d205-118f-a752-ba21-208d184e4fd5@xen.org>
Date: Fri, 20 Dec 2019 13:48:32 +0000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:68.0)
 Gecko/20100101 Thunderbird/68.3.1
MIME-Version: 1.0
In-Reply-To: <B2C04365-FADD-46C2-8F53-3DB8369C89E8@neclab.eu>
Content-Language: en-GB
Subject: Re: [Minios-devel] [UNIKRAFT RFC PATCH 2/5] plat/kvm: arm64: Enable
 the fp/simd at the starting point
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <Felipe.Huici@neclab.eu>, Kaly Xin <Kaly.Xin@arm.com>,
 Julien Grall <Julien.Grall@arm.com>,
 Sharan Santhanam <Sharan.Santhanam@neclab.eu>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

CgpPbiAyMC8xMi8yMDE5IDEzOjEwLCBTYW50aWFnbyBQYWdhbmkgd3JvdGU6Cj4gSGkgSnVsaWVu
LAoKSGksCgpUaGFuayB5b3UgZm9yIG5vdCB0b3AtcG9zdGluZywgYnV0IHBsZWFzZSBjb25maWd1
cmUgeW91ciBlLW1haWwgY2xpZW50IAp0byBhdm9pZCBxdW90aW5nIHdpdGggdGFiLiBBZnRlciBh
IGZldyBlLW1haWxzIHRoZSB0aHJlYWQgd2lsbCBiZSBhIApuaWdodG1hcmUgdG8gcmVhZC4KCj4g
Cj4g77u/T24gMjAuMTIuMTksIDA4OjUwLCAiSnVsaWVuIEdyYWxsIiA8anVsaWVuQHhlbi5vcmc+
IHdyb3RlOgo+IEkndmUgYmVlbiB0aGlua2luZyBhIGJpdCBtb3JlIGFib3V0IHRoaXMsIGFuZCBJ
IGRvIG5vdCB0aGluayB3ZSBjYW4gZG8gd2hhdCB5b3Ugc3VnZ2VzdC4gTmFtZWx5LCBpbiBVbmlr
cmFmdCB0aGVyZSBpcyBubyBkaWZmZXJlbmNlIGJldHdlZW4gYSBrZXJuZWwgYW5kIGFuIGFwcGxp
Y2F0aW9uLiBUaGlzIGlzIG5vdCBMaW51eCwgd2hlcmUgd2UgaGF2ZSB1c2VyIHNwYWNlIGFuZCBh
cHBsaWNhdGlvbnMgYW5kIGtlcm5lbCBzcGFjZS4KClRoZSBjb25jZXB0IG9mIFVuaWtyYWZ0IGlz
IG5vdCBtdWNoIGRpZmZlcmVudCBmcm9tIGRyaXZlcnMvY29kZSBpbiBMaW51eCAKa2VybmVsIChz
dWNoIGFzIGNyeXB0bykgYWJsZSB0byB1c2UgRlBTSU1EIGJ1dCBub3QgdGhlIHJlc3Qgb2YgdGhl
IAprZXJuZWwgKHNlZSBrZXJuZWxfbmVvbl97YmVnaW4sIGVuZH0pLgoKV2hpbGUgeW91ciBhcHBs
aWNhdGlvbiBhbmQga2VybmVsIGlzIGxpbmtlZCBpbiB0aGUgc2FtZSBiaW5hcnksICB5b3UgCnN0
aWxsIGhhdmUgc29tZSBib3VuZGFyeSBiZXR3ZWVuIGtlcm5lbCBhbmQgYXBwbGljYXRpb24gY29k
ZS4gU28geW91IApjb3VsZCBkZWNpZGUgd2hlbiB0byBlbmFibGUvZGlzYWJsZSBGUFNJTUQuCgo+
IEV2ZXJ5dGhpbmcgZ2V0cyBjb21waWxlZCBhcyBhIHNpbmdsZSBpbWFnZSwgcnVubmluZyBpbiBm
bGF0IG1lbW9yeSBzcGFjZSwgZXZlcnl0aGluZyB3aXRoIHRoZSBzYW1lIHByaXZpbGVnZXMgYW5k
IHByb3BlcnRpZXMuIFdlIGNvdWxkIGNvbXBpbGUgdGhlICJhcHBsaWNhdGlvbiIgZmlsZXMgd2l0
aG91dCB0aGUgLW1nZW5lcmFsLXJlZ3Mtb25seSBmbGFnLCBhbmQgdGhlICJrZXJuZWwiIGZpbGVz
IHdpdGggaXQsIGJ1dCB0aGF0IGRvZXMgbm90IGd1YXJhbnRlZSB0aGF0IHRoZXJlIHdpbGwgbm90
IGJlIGNvcnJ1cHRpb24gaW4gYW4gZXhjZXB0aW9uLCBhcyB0aGUgZXhjZXB0aW9uIGNvdWxkIG9j
Y3VyIHdoZW4gcnVubmluZyAiYXBwbGljYXRpb24gY29kZSIsIGFuZCBpdCBpcyBkaXJlY3RseSBo
YW5kbGVkIHdpdGhvdXQgZ29pbmcgdGhyb3VnaCB0aGUgImtlcm5lbCIuCgpXZWxsIGlmIHlvdXIg
ZXhjZXB0aW9uIGlzIGZyZWUgb2YgRlBTSU1EIGluc3RydWN0aW9ucyB0aGVuIHlvdSBkb24ndCAK
aGF2ZSBhbnkgY29ycnVwdGlvbiBwcm9ibGVtLgoKPiAKPiBUaGVyZWZvcmUsIHdoZW4gd2UgYXJl
IGNvbXBpbGluZyBhbiBpbWFnZSB0aGF0IGhhcyBmbG9hdGluZyBwb2ludCBzdXBwb3J0LCB0aGVu
IHllcywgZXZlcnkgd2lsbCBuZWVkIHRvIHNhdmUvcmVzdG9yZSBhbGwgcmVnaXN0ZXJzIHRoYXQg
Y291bGQgcG90ZW50aWFsbHkgZ2V0IGNvcnJ1cHRlZCwgYW5kIHRoaXMgc2hvdWxkIGJlIGFkZGVk
IGJ5IEp1c3RpbiB0byBoaXMgcGF0Y2guCiA+CgpTbyBpdCBtZWFucyB0aGF0IGV2ZXJ5IHRpbWUg
eW91IHJlY2VpdmUgYW4gaW50ZXJydXB0LCB5b3Ugd2lsbCBoYXZlIHRvIApzYXZlL3Jlc3RvcmUg
dGhlIEZQU0lNRC4gVGhhdCdzIGdvaW5nIHRvIGluY3JlYXNlIHRvIGluY3JlYXNlIHF1aXRlIGEg
CmJpdCB0aGUgY29zdCBvZiByZWNlaXZpbmcgYW4gaW50ZXJydXB0LgoKSWYgdGhhdCdzIGFjY2Vw
dGFibGUgZm9yIHlvdSwgdGhlbiBmaW5lLgoKPiBIb3dldmVyLCB3ZSBuZWVkIGNvbnNpc3RlbmN5
IGZvciBhIGdpdmVuIGltYWdlbiwgYW5kIHdlIGNhbm5vdCBoYXZlIGRpZmZlcmVudCBwYXJ0cyBv
ZiB0aGUgaW1hZ2UgY29tcGlsZWQgd2l0aC93aXRob3V0IHRoZSAtbWdlbmVyYWwtcmVncy1vbmx5
IGZsYWcuCgpXaHkgc28/IEl0IGlzIGp1c3QgYSBtYXR0ZXIgaG93IHlvdSBkZWZpbmUgeW91ciBi
b3VuZGFyeS4KCkNoZWVycywKCi0tIApKdWxpZW4gR3JhbGwKCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWlu
aW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5v
cmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Mon Dec 23 18:05:45 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 23 Dec 2019 18:05:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ijS5L-0004xf-Te; Mon, 23 Dec 2019 18:05:39 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=I8bJ=2N=gmail.com=julien.grall.oss@srs-us1.protection.inumbo.net>)
 id 1ijS5K-0004xa-Ta
 for minios-devel@lists.xenproject.org; Mon, 23 Dec 2019 18:05:38 +0000
X-Inumbo-ID: ce13947e-25ae-11ea-88e7-bc764e2007e4
Received: from mail-qv1-f65.google.com (unknown [209.85.219.65])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id ce13947e-25ae-11ea-88e7-bc764e2007e4;
 Mon, 23 Dec 2019 18:05:30 +0000 (UTC)
Received: by mail-qv1-f65.google.com with SMTP id z3so6655434qvn.0
 for <minios-devel@lists.xenproject.org>; Mon, 23 Dec 2019 10:05:30 -0800 (PST)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:subject:to:cc:references:from:message-id:date
 :user-agent:mime-version:in-reply-to:content-language
 :content-transfer-encoding;
 bh=bORsOEErWBGYO1uN8qGgEfxvkWuFI/aT4V8rUiec57E=;
 b=OGx46/mM+T4mV6HcpZXVoWO7KmpSS6AUDe2S8eGuaOgrD9o3q/Gw1emtT1KkzvMzrl
 A9P3GwW+9DC21noobLwC+CQAUsfGlyd4blHI4ALpUjhmznwMIwPxt/aA7lIBRZifY+bv
 Us20YmJF7VFeoZgKY+VVOnsvgDApx9HxiRpi9JskZGi2r6k4jjMlPyv38sGJUXc/LWUd
 OwhctxY0c6B//HeTU1Cgtk9ePcwGdsDFbRHbHlnpyVjvA6pFeLBU9JhxWzskw8qa6k6l
 cePobudPpfieSEQUDab7fCrQwD2MAvS8DMD6FlMZGdyptfI58mO2n8srPZiLu9+AjGg7
 C3cA==
X-Gm-Message-State: APjAAAWpQm3fOUsCt+nLPdcpWY2uuCx11myMjdanV+NZ8BUPQFUbjnS8
 RiC+cT96bju9XJWGS6aGWZE8LSwJths=
X-Google-Smtp-Source: APXvYqwgpVeDIXwlj+MMlc3Lzzi7K9AHL+th693q+IKu7rI6vd5EV3QWSFlIC5dtL3rPjQmy1O3QNw==
X-Received: by 2002:a05:6214:154b:: with SMTP id
 t11mr25422346qvw.175.1577124328255; 
 Mon, 23 Dec 2019 10:05:28 -0800 (PST)
Received: from a483e7b01a66.ant.amazon.com ([54.239.6.185])
 by smtp.gmail.com with ESMTPSA id c8sm6397448qtv.61.2019.12.23.10.05.25
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 23 Dec 2019 10:05:27 -0800 (PST)
To: Jia He <justin.he@arm.com>, minios-devel@lists.xenproject.org,
 Simon Kuenzer <simon.kuenzer@neclab.eu>, Santiago.Pagani@neclab.eu
References: <20191220045425.183344-1-justin.he@arm.com>
 <20191220045425.183344-2-justin.he@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <2c6c5691-be1e-ed1e-cead-93bfa12c068e@xen.org>
Date: Mon, 23 Dec 2019 19:05:23 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:68.0)
 Gecko/20100101 Thunderbird/68.3.1
MIME-Version: 1.0
In-Reply-To: <20191220045425.183344-2-justin.he@arm.com>
Content-Language: en-GB
Subject: Re: [Minios-devel] [UNIKRAFT/NEWLIB PATCH 1/2] Makefile.uk: Fix
 link issues on arm64
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>, Kaly Xin <Kaly.Xin@arm.com>,
 Sharan.Santhanam@neclab.eu
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGksCgpUaXRsZTogaG93IGFib3V0ICJNYWtlZmlsZS51azogYXJtNjQ6IEFkZCAtRF9IQVZFX0xP
TkdfRE9VQkxFIGluIHRoZSAKY2ZsYWdzIj8KCk9uIDIwLzEyLzIwMTkgMDU6NTQsIEppYSBIZSB3
cm90ZToKPiBXaXRob3V0IHRoaXMgcGF0Y2gsIHdoZW4gc3RhcnRpbmcgaGVsbG93b3JsZCBhcHAg
d2l0aCBuZXdsaWIgb24gYXJtCj4ga3ZtIHBsYXQsIGl0IHdpbGwgcmVwb3J0IGEgbGluayBlcnJv
ciBhcyBmb2xsb3dzOgo+IGFwcHMvaGVsbG93b3JsZC5uZXdsaWIvYnVpbGQvaGVsbG93b3JsZF9r
dm0tYXJtNjQubzogSW4gZnVuY3Rpb24gYHdjc3RvbGRfbCc6Cj4gYXBwcy9oZWxsb3dvcmxkLm5l
d2xpYi9idWlsZC9saWJuZXdsaWJjL29yaWdpbi9uZXdsaWItMi41LjAuMjAxNzA5MjIvbmV3bGli
L2xpYmMvc3RkbGliL3djc3RvbGQuYzo3NzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgc3RydG9s
ZF9sJwo+IGFwcHMvaGVsbG93b3JsZC5uZXdsaWIvYnVpbGQvbGlibmV3bGliYy9vcmlnaW4vbmV3
bGliLTIuNS4wLjIwMTcwOTIyL25ld2xpYi9saWJjL3N0ZGxpYi93Y3N0b2xkLmM6Nzc6KC50ZXh0
KzB4N2M0ZTQpOiByZWxvY2F0aW9uIHRydW5jYXRlZCB0byBmaXQ6IFJfQUFSQ0g2NF9DQUxMMjYg
YWdhaW5zdCB1bmRlZmluZWQgc3ltYm9sIGBzdHJ0b2xkX2wnCj4gCj4gSSBvbmNlIGRpZCBjb25m
aWd1cmUgYW5kIGJ1aWxkIG9mIG5ld2xpYiBmcm9tIHVwdHJlYW0sIHRoaXMgbWFjcm8gaXMKPiBk
ZWZpbmVkIG9uIG15IFRodW5kZXJ4MiBhcm12OGEgc2VydmVyIChVbmJ1bnR1IDE4LjA0ICsgZ2Nj
IHZlcnNpb24gNy40LjApCgpUaGlzIG1lc3NhZ2UgZ2l2ZXMgbWUgdGhlIGVycm9yIGJ1dCBkb2Vz
IG5vdCBleHBsYWluIHRoZSByb290IGNhdXNlLiBTbyAKaXQgaXMgbm90IGNsZWFyIHdoeSAtRF9I
QVZFX0xPTkdfRE9VQkxFIHNvbHZlcyB0aGUgcHJvYmxlbSBiZWxvdy4KCkJ1dCBpdCBmZWVscyBz
bGlnaHRseSBzdXBpY2lvdXMgdG8gbWUgdGhhdCBuZXdsaWIgd291bGQgdHJ5IHRvIGJ1aWxkIAp3
Y3N0b2xkLmMgYnV0IG5vdCBzdHJ0b2xkLmMgKHdoZXJlIHN0cnRvbGRfbCBpcyBpbmNsdWRlZCku
IFNvIHdoYXQgaXMgCnRoZSBleGFjdCBwcm9ibGVtPwoKPiAKPiBTaWduZWQtb2ZmLWJ5OiBKaWEg
SGUgPGp1c3Rpbi5oZUBhcm0uY29tPgo+IC0tLQo+ICAgTWFrZWZpbGUudWsgfCA1ICsrKystCj4g
ICAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCj4gCj4gZGlm
ZiAtLWdpdCBhL01ha2VmaWxlLnVrIGIvTWFrZWZpbGUudWsKPiBpbmRleCAxN2Q4ZDdhLi4zNzc4
MTVjIDEwMDY0NAo+IC0tLSBhL01ha2VmaWxlLnVrCj4gKysrIGIvTWFrZWZpbGUudWsKPiBAQCAt
ODUsOSArODUsMTIgQEAgTElCTkVXTElCX0dMT0JBTF9GTEFHUy15ICArPSAtRE1JU1NJTkdfU1lT
Q0FMTF9OQU1FUyAtRE1BTExPQ19QUk9WSURFRAo+ICAgTElCTkVXTElCX0dMT0JBTF9GTEFHUy15
ICArPSAtRF9QT1NJWF9SRUFMVElNRV9TSUdOQUxTCj4gICBMSUJORVdMSUJfR0xPQkFMX0ZMQUdT
LSQoQ09ORklHX0xJQk5FV0xJQkNfV0FOVF9JT19DOTlfRk9STUFUUykgKz0gLURfV0FOVF9JT19D
OTlfRk9STUFUUwo+ICAgTElCTkVXTElCX0dMT0JBTF9GTEFHUy0kKENPTkZJR19MSUJORVdMSUJD
X0xJTlVYX0VSUk5PX0VYVEVOU0lPTlMpICs9IC1EX19MSU5VWF9FUlJOT19FWFRFTlNJT05TX18K
PiAraWZlcSAoJChDT05GSUdfQVJDSF9BUk1fNjQpLHkpCj4gK0xJQk5FV0xJQl9HTE9CQUxfRkxB
R1MteSAgKz0gLURfSEFWRV9MT05HX0RPVUJMRQo+ICtlbmRpZgo+ICAgaWZlcSAoJChDT05GSUdf
QVJDSF9YODZfNjQpLHkpCj4gLUxJQk5FV0xJQl9HTE9CQUxfRkxBR1MteSAgKz0gLURfTERCTF9F
UV9EQkwKPiAgIExJQk5FV0xJQl9HTE9CQUxfRkxBR1MteSAgKz0gLURfSEFWRV9MT05HX0RPVUJM
RQo+ICtMSUJORVdMSUJfR0xPQkFMX0ZMQUdTLXkgICs9IC1EX0xEQkxfRVFfREJMCgpUaGlzIGxv
b2tzIGEgc3B1cmlvdXMgY2hhbmdlLgoKPiAgIGVuZGlmCj4gICAKPiAgIENGTEFHUy15ICAgKz0g
JChMSUJORVdMSUJfR0xPQkFMX0ZMQUdTLXkpCj4gCgpDaGVlcnMsCgotLSAKSnVsaWVuIEdyYWxs
CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3Mt
ZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRw
czovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Mon Dec 23 18:07:40 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 23 Dec 2019 18:07:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1ijS7I-000516-4A; Mon, 23 Dec 2019 18:07:40 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=I8bJ=2N=gmail.com=julien.grall.oss@srs-us1.protection.inumbo.net>)
 id 1ijS7G-000511-Uh
 for minios-devel@lists.xenproject.org; Mon, 23 Dec 2019 18:07:38 +0000
X-Inumbo-ID: 1a6f353a-25af-11ea-9712-12813bfff9fa
Received: from mail-qt1-f196.google.com (unknown [209.85.160.196])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 1a6f353a-25af-11ea-9712-12813bfff9fa;
 Mon, 23 Dec 2019 18:07:38 +0000 (UTC)
Received: by mail-qt1-f196.google.com with SMTP id n15so16048592qtp.5
 for <minios-devel@lists.xenproject.org>; Mon, 23 Dec 2019 10:07:38 -0800 (PST)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:subject:to:cc:references:from:message-id:date
 :user-agent:mime-version:in-reply-to:content-language
 :content-transfer-encoding;
 bh=I8gxAgcZUcwQ2sXJEb6aa57aPkGG+M+NS4Pl39/D/+4=;
 b=LqVY2XWChxLucIM7GljE9Y99jtLtSDRofi/KTL22r1S/1zZvesxUJjKJ5xcPcuaukm
 9AxnAn9+rer6qQYBH+T2XI6yuCEzbDU36KSt1bYR331w05X+p3Yw9fMqibX4bwxnc7vE
 NsteUGSXuu9bXuR9Y85jDPBsifqOZip8Q9JTrvKgXb1i1SWXXmLIUZ+rxPqMXLUPNP4Q
 9HEqsTFxd/24V+FblGMwqYKnKzDOx9Vzg7qQrlVNkzGPvfzDtNY8glhGzqAMBynN2GXH
 HxZn7GaF5VNze487kdsuJwhWA+5pYSRQtxZObdVIQx5ddnRLf8EuGXVzQBHWcEltEJk8
 fpWA==
X-Gm-Message-State: APjAAAU4xS6vvZuLVK2TsublOtHaXtZv9TshBfGRopEq+7wxMkcE3Srb
 q53mgpteM7Ti7BmF2BjI0DE=
X-Google-Smtp-Source: APXvYqyFX5Lq6Y6JRcNTcQEjeMWkFjnBZWIxo6oTjdbiKLCkgrIS7RmdW5iYUDcFC3JVW1dwufyhWg==
X-Received: by 2002:aed:2202:: with SMTP id n2mr24597121qtc.4.1577124457879;
 Mon, 23 Dec 2019 10:07:37 -0800 (PST)
Received: from a483e7b01a66.ant.amazon.com ([54.239.6.185])
 by smtp.gmail.com with ESMTPSA id n190sm6045142qke.90.2019.12.23.10.07.35
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 23 Dec 2019 10:07:36 -0800 (PST)
To: Jia He <justin.he@arm.com>, minios-devel@lists.xenproject.org,
 Simon Kuenzer <simon.kuenzer@neclab.eu>, Santiago.Pagani@neclab.eu
References: <20191220045425.183344-1-justin.he@arm.com>
 <20191220045425.183344-3-justin.he@arm.com>
From: Julien Grall <julien@xen.org>
Message-ID: <240b5762-233b-ab2d-df90-2f369cff59fa@xen.org>
Date: Mon, 23 Dec 2019 19:07:33 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:68.0)
 Gecko/20100101 Thunderbird/68.3.1
MIME-Version: 1.0
In-Reply-To: <20191220045425.183344-3-justin.he@arm.com>
Content-Language: en-GB
Subject: Re: [Minios-devel] [UNIKRAFT/NEWLIB PATCH 2/2] Automatically select
 FLOAT_POINT on arm64 for newlib
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Felipe Huici <felipe.huici@neclab.eu>, Kaly Xin <Kaly.Xin@arm.com>,
 Sharan.Santhanam@neclab.eu
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGksCgpPbiAyMC8xMi8yMDE5IDA1OjU0LCBKaWEgSGUgd3JvdGU6Cj4gVGhlcmUgYXJlIGEgZmV3
IHJlYXNvbnMgdGhhdCB3ZSBjYW4ndCBzdXBwb3J0IG5ld2xpYmMgKyBub2ZwOgo+IDEuIC1tZ2Vu
ZXJhbC1yZWdzLW9ubHkgaXMgbm90IGEgY29tcGlsYWJsZSBnY2Mgb3B0aW9uIHRvIG5ld2xpYi4K
PiBFdmVuIHdpdGggLUROT19GTE9BVF9QT0lOVCwgc29tZSBzb3VyY2UgZmlsZXMgb2YgbmV3bGli
IHdpbGwKPiBnZW5lcmF0ZWQgZmxvYXQgcG9pbnQgaW5zdHJ1Y3Rpb25zIGFuZCB0aGVuIGNhdXNl
IGNvbXBpbGF0aW9uIGVycm9ycwo+IAo+IDIuIHdpdGggLW1jcHU9WFhYLCtub2ZwIG5ld2xpYiBj
YW4gYmUgYnVpbHQsIGJ1dCBmcm9tIHRoZSBkaXNhc3NlbWJseQo+IHJlc3VsdCwgbmV3bGliIHdp
bGwgc3RpbGwgdXNlIHEwLXEzMS4KPiAKPiBJbiBhIHdvcmQsIGlmIHlvdSB3YW50IHRvIGxpbmsg
d2l0aCBuZXdsaWIgb24gYXJtLCBmbG9hdCBwb2ludCBzaG91bGQKPiBiZSBlbmFibGVkIGluIFVu
aWtyYWZ0Lgo+IAo+IFNpZ25lZC1vZmYtYnk6IEppYSBIZSA8anVzdGluLmhlQGFybS5jb20+Cj4g
LS0tCj4gICBDb25maWcudWsgfCAxICsKPiAgIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigr
KQo+IAo+IGRpZmYgLS1naXQgYS9Db25maWcudWsgYi9Db25maWcudWsKPiBpbmRleCBhYjEyN2Yw
Li4yMTEwMDI5IDEwMDY0NAo+IC0tLSBhL0NvbmZpZy51awo+ICsrKyBiL0NvbmZpZy51awo+IEBA
IC0xMyw2ICsxMyw3IEBAIG1lbnVjb25maWcgTElCTkVXTElCQwo+ICAgCXNlbGVjdCBMSUJWRlND
T1JFCj4gICAJc2VsZWN0IExJQlBPU0lYX1BST0NFU1MKPiAgIAlzZWxlY3QgTElCUE9TSVhfVVNF
Ugo+ICsJc2VsZWN0IEZMT0FUX1BPSU5UIGlmIEFSQ0hfQVJNXzY0CgpJIGd1ZXNzIHRoaXMgZGVw
ZW5kcyBvbiB5b3VyIGZsb2F0aW5nIHBvaW50IHNlcmllcz8gSWYgc28sIHRoZW4gSSB3b3VsZCAK
aGlnaGx5IHJlY29tbWVuZCB0byB3cml0ZSBpdCBkb3duIGluIHRoZSBjb3ZlciBsZXR0ZXIgb3Ig
YWZ0ZXIgIi0tLSIuCgpDaGVlcnMsCgotLSAKSnVsaWVuIEdyYWxsCgpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0
Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2pl
Y3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Mon Dec 30 19:32:54 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 30 Dec 2019 19:32:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1im0ma-0003iw-4Q; Mon, 30 Dec 2019 19:32:52 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=dA5B=2U=xenproject.org=lars.kurth@srs-us1.protection.inumbo.net>)
 id 1im0mY-0003ij-Q1
 for minios-devel@lists.xenproject.org; Mon, 30 Dec 2019 19:32:50 +0000
X-Inumbo-ID: 1fa7295e-2b3b-11ea-a060-12813bfff9fa
Received: from mail.xenproject.org (unknown [104.130.215.37])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 1fa7295e-2b3b-11ea-a060-12813bfff9fa;
 Mon, 30 Dec 2019 19:32:32 +0000 (UTC)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1im0mC-0003Th-KP; Mon, 30 Dec 2019 19:32:28 +0000
Received: from localhost ([127.0.0.1] helo=MacBook-Pro-2.Home)
 by xenbits.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1im0mC-0007YU-8D; Mon, 30 Dec 2019 19:32:28 +0000
From: Lars Kurth <lars.kurth@xenproject.org>
To: xen-devel@lists.xenproject.org
Date: Mon, 30 Dec 2019 19:32:15 +0000
Message-Id: <6ec278b81c16cd6279312190f2ce42af75aed93e.1577733361.git.lars.kurth@citrix.com>
X-Mailer: git-send-email 2.13.0
In-Reply-To: <cover.1577733361.git.lars.kurth@citrix.com>
References: <cover.1577733361.git.lars.kurth@citrix.com>
In-Reply-To: <cover.1577733361.git.lars.kurth@citrix.com>
References: <cover.1577733361.git.lars.kurth@citrix.com>
Subject: [Minios-devel] [PATCH v4 3/7] Reformat Xen Project CoC to fit into
 80 character limit
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Lars Kurth <lars.kurth@citrix.com>, xen-api@lists.xenproject.org,
 minios-devel@lists.xenproject.org, committers@xenproject.org,
 mirageos-devel@lists.xenproject.org, win-pv-devel@lists.xenproject.org
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogTGFycyBLdXJ0aCA8bGFycy5rdXJ0aEBjaXRyaXguY29tPgoKTm8gY29udGVudCBjaGFu
Z2VzCgpTaWduZWQtb2ZmLWJ5OiBMYXJzIEt1cnRoIDxsYXJzLmt1cnRoQGNpdHJpeC5jb20+Ci0t
LQpDYzogbWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCkNjOiB4ZW4tYXBpQGxpc3Rz
LnhlbnByb2plY3Qub3JnCkNjOiB3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKQ2M6
IG1pcmFnZW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCkNjOiBjb21taXR0ZXJzQHhlbnBy
b2plY3Qub3JnCi0tLQogY29kZS1vZi1jb25kdWN0Lm1kIHwgNjIgKysrKysrKysrKysrKysrKysr
KysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMzMg
aW5zZXJ0aW9ucygrKSwgMjkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvY29kZS1vZi1jb25k
dWN0Lm1kIGIvY29kZS1vZi1jb25kdWN0Lm1kCmluZGV4IGVlNzUxYTcuLjdjMjlhNGYgMTAwNjQ0
Ci0tLSBhL2NvZGUtb2YtY29uZHVjdC5tZAorKysgYi9jb2RlLW9mLWNvbmR1Y3QubWQKQEAgLTUs
MTYgKzUsMTYgQEAKIEluIHRoZSBpbnRlcmVzdCBvZiBmb3N0ZXJpbmcgYW4gb3BlbiBhbmQgd2Vs
Y29taW5nIGVudmlyb25tZW50LCB3ZSBhcwogY29udHJpYnV0b3JzIGFuZCBtYWludGFpbmVycyBw
bGVkZ2UgdG8gbWFrZSBwYXJ0aWNpcGF0aW9uIGluIG91ciBwcm9qZWN0IGFuZAogb3VyIGNvbW11
bml0eSBhIGhhcmFzc21lbnQtZnJlZSBleHBlcmllbmNlIGZvciBldmVyeW9uZSwgcmVnYXJkbGVz
cyBvZiBhZ2UsIGJvZHkKLXNpemUsIGRpc2FiaWxpdHksIGV0aG5pY2l0eSwgc2V4IGNoYXJhY3Rl
cmlzdGljcywgZ2VuZGVyIGlkZW50aXR5IGFuZCBleHByZXNzaW9uLAotbGV2ZWwgb2YgZXhwZXJp
ZW5jZSwgZWR1Y2F0aW9uLCBzb2Npby1lY29ub21pYyBzdGF0dXMsIG5hdGlvbmFsaXR5LCBwZXJz
b25hbAotYXBwZWFyYW5jZSwgcmFjZSwgcmVsaWdpb24sIG9yIHNleHVhbCBpZGVudGl0eSBhbmQg
b3JpZW50YXRpb24uCitzaXplLCBkaXNhYmlsaXR5LCBldGhuaWNpdHksIHNleCBjaGFyYWN0ZXJp
c3RpY3MsIGdlbmRlciBpZGVudGl0eSBhbmQKK2V4cHJlc3Npb24sIGxldmVsIG9mIGV4cGVyaWVu
Y2UsIGVkdWNhdGlvbiwgc29jaW8tZWNvbm9taWMgc3RhdHVzLCBuYXRpb25hbGl0eSwKK3BlcnNv
bmFsIGFwcGVhcmFuY2UsIHJhY2UsIHJlbGlnaW9uLCBvciBzZXh1YWwgaWRlbnRpdHkgYW5kIG9y
aWVudGF0aW9uLgogCiAjIyBPdXIgU3RhbmRhcmRzCiAKIFdlIGJlbGlldmUgdGhhdCBhIENvZGUg
b2YgQ29uZHVjdCBjYW4gaGVscCBjcmVhdGUgYSBoYXJhc3NtZW50LWZyZWUgZW52aXJvbm1lbnQs
CiBidXQgaXMgbm90IHN1ZmZpY2llbnQgdG8gY3JlYXRlIGEgd2VsY29taW5nIGVudmlyb25tZW50
IG9uIGl0cyBvd246IGd1aWRhbmNlIG9uCi1jcmVhdGluZyBhIHdlbGNvbWluZyBlbnZpcm9ubWVu
dCwgaG93IHRvIGNvbW11bmljYXRlIGluIGFuIGVmZmVjdGl2ZSBhbmQgZnJpZW5kbHkKLXdheSwg
ZXRjLiBjYW4gYmUgZm91bmQgW2hlcmVdOiBUT0RPLUlOU0VSVC1VUkwuCitjcmVhdGluZyBhIHdl
bGNvbWluZyBlbnZpcm9ubWVudCwgaG93IHRvIGNvbW11bmljYXRlIGluIGFuIGVmZmVjdGl2ZSBh
bmQKK2ZyaWVuZGx5IHdheSwgZXRjLiBjYW4gYmUgZm91bmQgW2hlcmVdW2d1aWRhbmNlXS4KIAog
RXhhbXBsZXMgb2YgdW5hY2NlcHRhYmxlIGJlaGF2aW9yIGJ5IHBhcnRpY2lwYW50cyBpbmNsdWRl
OgogCkBAIC0yOSw0MSArMjksNDMgQEAgRXhhbXBsZXMgb2YgdW5hY2NlcHRhYmxlIGJlaGF2aW9y
IGJ5IHBhcnRpY2lwYW50cyBpbmNsdWRlOgogCiAjIyBPdXIgUmVzcG9uc2liaWxpdGllcwogCi1Q
cm9qZWN0IGxlYWRlcnNoaXAgdGVhbSBtZW1iZXJzIGFyZSByZXNwb25zaWJsZSBmb3IgY2xhcmlm
eWluZyB0aGUgc3RhbmRhcmRzIG9mIGFjY2VwdGFibGUKLWJlaGF2aW9yIGFuZCBhcmUgZXhwZWN0
ZWQgdG8gdGFrZSBhcHByb3ByaWF0ZSBhbmQgZmFpciBjb3JyZWN0aXZlIGFjdGlvbiBpbgotcmVz
cG9uc2UgdG8gYW55IGluc3RhbmNlcyBvZiB1bmFjY2VwdGFibGUgYmVoYXZpb3IuCitQcm9qZWN0
IGxlYWRlcnNoaXAgdGVhbSBtZW1iZXJzIGFyZSByZXNwb25zaWJsZSBmb3IgY2xhcmlmeWluZyB0
aGUgc3RhbmRhcmRzIG9mCithY2NlcHRhYmxlIGJlaGF2aW9yIGFuZCBhcmUgZXhwZWN0ZWQgdG8g
dGFrZSBhcHByb3ByaWF0ZSBhbmQgZmFpciBjb3JyZWN0aXZlCithY3Rpb24gaW4gcmVzcG9uc2Ug
dG8gYW55IGluc3RhbmNlcyBvZiB1bmFjY2VwdGFibGUgYmVoYXZpb3IuCiAKLVByb2plY3QgbGVh
ZGVyc2hpcCB0ZWFtIG1lbWJlcnMgaGF2ZSB0aGUgcmlnaHQgYW5kIHJlc3BvbnNpYmlsaXR5IHRv
IHJlbW92ZSwgZWRpdCwgb3IKLXJlamVjdCBjb21tZW50cywgY29tbWl0cywgY29kZSwgd2lraSBl
ZGl0cywgaXNzdWVzLCBhbmQgb3RoZXIgY29udHJpYnV0aW9ucwotdGhhdCBhcmUgbm90IGFsaWdu
ZWQgdG8gdGhpcyBDb2RlIG9mIENvbmR1Y3QsIG9yIHRvIGJhbiB0ZW1wb3JhcmlseSBvcgotcGVy
bWFuZW50bHkgYW55IGNvbnRyaWJ1dG9yIGZvciBvdGhlciBiZWhhdmlvcnMgdGhhdCB0aGV5IGRl
ZW0gaW5hcHByb3ByaWF0ZSwKLXRocmVhdGVuaW5nLCBvZmZlbnNpdmUsIG9yIGhhcm1mdWwuCitQ
cm9qZWN0IGxlYWRlcnNoaXAgdGVhbSBtZW1iZXJzIGhhdmUgdGhlIHJpZ2h0IGFuZCByZXNwb25z
aWJpbGl0eSB0byByZW1vdmUsCitlZGl0LCBvciByZWplY3QgY29tbWVudHMsIGNvbW1pdHMsIGNv
ZGUsIHdpa2kgZWRpdHMsIGlzc3VlcywgYW5kIG90aGVyCitjb250cmlidXRpb25zIHRoYXQgYXJl
IG5vdCBhbGlnbmVkIHRvIHRoaXMgQ29kZSBvZiBDb25kdWN0LCBvciB0byBiYW4KK3RlbXBvcmFy
aWx5IG9yIHBlcm1hbmVudGx5IGFueSBjb250cmlidXRvciBmb3Igb3RoZXIgYmVoYXZpb3JzIHRo
YXQgdGhleSBkZWVtCitpbmFwcHJvcHJpYXRlLCB0aHJlYXRlbmluZywgb2ZmZW5zaXZlLCBvciBo
YXJtZnVsLgogCiAjIyBTY29wZQogCi1UaGlzIENvZGUgb2YgQ29uZHVjdCBhcHBsaWVzIHdpdGhp
biBhbGwgcHJvamVjdCBzcGFjZXMgb2YgYWxsIHN1Yi1wcm9qZWN0cywgYW5kIGl0IGFsc28gYXBw
bGllcyB3aGVuCi1hbiBpbmRpdmlkdWFsIGlzIHJlcHJlc2VudGluZyB0aGUgcHJvamVjdCBvciBp
dHMgY29tbXVuaXR5IGluIHB1YmxpYyBzcGFjZXMuCi1FeGFtcGxlcyBvZiByZXByZXNlbnRpbmcg
YSBwcm9qZWN0IG9yIGNvbW11bml0eSBpbmNsdWRlIHVzaW5nIGFuIG9mZmljaWFsCi1wcm9qZWN0
IGUtbWFpbCBhZGRyZXNzLCBwb3N0aW5nIHZpYSBhbiBvZmZpY2lhbCBzb2NpYWwgbWVkaWEgYWNj
b3VudCwgb3IgYWN0aW5nCi1hcyBhbiBhcHBvaW50ZWQgcmVwcmVzZW50YXRpdmUgYXQgYW4gb25s
aW5lIG9yIG9mZmxpbmUgZXZlbnQuIFJlcHJlc2VudGF0aW9uIG9mCi1hIHByb2plY3QgbWF5IGJl
IGZ1cnRoZXIgZGVmaW5lZCBhbmQgY2xhcmlmaWVkIGJ5IHRoZSBwcm9qZWN0IGxlYWRlcnNoaXAu
CitUaGlzIENvZGUgb2YgQ29uZHVjdCBhcHBsaWVzIHdpdGhpbiBhbGwgcHJvamVjdCBzcGFjZXMg
b2YgYWxsIHN1Yi1wcm9qZWN0cywKK2FuZCBpdCBhbHNvIGFwcGxpZXMgd2hlbiBhbiBpbmRpdmlk
dWFsIGlzIHJlcHJlc2VudGluZyB0aGUgcHJvamVjdCBvciBpdHMKK2NvbW11bml0eSBpbiBwdWJs
aWMgc3BhY2VzLiBFeGFtcGxlcyBvZiByZXByZXNlbnRpbmcgYSBwcm9qZWN0IG9yIGNvbW11bml0
eQoraW5jbHVkZSB1c2luZyBhbiBvZmZpY2lhbCBwcm9qZWN0IGUtbWFpbCBhZGRyZXNzLCBwb3N0
aW5nIHZpYSBhbiBvZmZpY2lhbCBzb2NpYWwKK21lZGlhIGFjY291bnQsIG9yIGFjdGluZyBhcyBh
biBhcHBvaW50ZWQgcmVwcmVzZW50YXRpdmUgYXQgYW4gb25saW5lIG9yIG9mZmxpbmUKK2V2ZW50
LiBSZXByZXNlbnRhdGlvbiBvZiBhIHByb2plY3QgbWF5IGJlIGZ1cnRoZXIgZGVmaW5lZCBhbmQg
Y2xhcmlmaWVkIGJ5IHRoZQorcHJvamVjdCBsZWFkZXJzaGlwLgogCiAjIyBXaGF0IHRvIGRvIGlm
IHlvdSB3aXRuZXNzIG9yIGFyZSBzdWJqZWN0IHRvIHVuYWNjZXB0YWJsZSBiZWhhdmlvcgogCiBJ
bnN0YW5jZXMgb2YgYWJ1c2l2ZSwgaGFyYXNzaW5nLCBvciBvdGhlcndpc2UgdW5hY2NlcHRhYmxl
IGJlaGF2aW9yIG1heSBiZQogcmVwb3J0ZWQgYnkgY29udGFjdGluZyBDb25kdWN0IFRlYW0gbWVt
YmVycyBhdCBjb25kdWN0QHhlbnByb2plY3Qub3JnLiBBbGwKIGNvbXBsYWludHMgd2lsbCBiZSBy
ZXZpZXdlZCBhbmQgaW52ZXN0aWdhdGVkIGFuZCB3aWxsIHJlc3VsdCBpbiBhIHJlc3BvbnNlIHRo
YXQKLWlzIGRlZW1lZCBuZWNlc3NhcnkgYW5kIGFwcHJvcHJpYXRlIHRvIHRoZSBjaXJjdW1zdGFu
Y2VzLiBDb25kdWN0IFRlYW0gbWVtYmVycyBhcmUKLW9ibGlnYXRlZCB0byBtYWludGFpbiBjb25m
aWRlbnRpYWxpdHkgd2l0aCByZWdhcmQgdG8gdGhlIHJlcG9ydGVyIG9mIGFuIGluY2lkZW50Lgot
RnVydGhlciBkZXRhaWxzIG9mIHNwZWNpZmljIGVuZm9yY2VtZW50IHBvbGljaWVzIG1heSBiZSBw
b3N0ZWQgc2VwYXJhdGVseS4KK2lzIGRlZW1lZCBuZWNlc3NhcnkgYW5kIGFwcHJvcHJpYXRlIHRv
IHRoZSBjaXJjdW1zdGFuY2VzLiBDb25kdWN0IFRlYW0gbWVtYmVycworYXJlIG9ibGlnYXRlZCB0
byBtYWludGFpbiBjb25maWRlbnRpYWxpdHkgd2l0aCByZWdhcmQgdG8gdGhlIHJlcG9ydGVyIG9m
IGFuCitpbmNpZGVudC4gRnVydGhlciBkZXRhaWxzIG9mIHNwZWNpZmljIGVuZm9yY2VtZW50IHBv
bGljaWVzIG1heSBiZSBwb3N0ZWQKK3NlcGFyYXRlbHkuCiAKIElmIHlvdSBoYXZlIGNvbmNlcm5z
IGFib3V0IGFueSBvZiB0aGUgbWVtYmVycyBvZiB0aGUgY29uZHVjdEAgYWxpYXMsCiB5b3UgYXJl
IHdlbGNvbWUgdG8gY29udGFjdCBwcmVjaXNlbHkgdGhlIENvbmR1Y3QgVGVhbSBtZW1iZXIocykg
b2YKIHlvdXIgY2hvaWNlLgogCi1Qcm9qZWN0IGxlYWRlcnNoaXAgdGVhbSBtZW1iZXJzIHdobyBk
byBub3QgZm9sbG93IG9yIGVuZm9yY2UgdGhlIENvZGUgb2YgQ29uZHVjdCBpbiBnb29kCi1mYWl0
aCBtYXkgZmFjZSB0ZW1wb3Jhcnkgb3IgcGVybWFuZW50IHJlcGVyY3Vzc2lvbnMgYXMgZGV0ZXJt
aW5lZCBieSBvdGhlcgotbWVtYmVycyBvZiB0aGUgcHJvamVjdCdzIGxlYWRlcnNoaXAuCitQcm9q
ZWN0IGxlYWRlcnNoaXAgdGVhbSBtZW1iZXJzIHdobyBkbyBub3QgZm9sbG93IG9yIGVuZm9yY2Ug
dGhlIENvZGUgb2YgQ29uZHVjdAoraW4gZ29vZCBmYWl0aCBtYXkgZmFjZSB0ZW1wb3Jhcnkgb3Ig
cGVybWFuZW50IHJlcGVyY3Vzc2lvbnMgYXMgZGV0ZXJtaW5lZCBieQorb3RoZXIgbWVtYmVycyBv
ZiB0aGUgcHJvamVjdCdzIGxlYWRlcnNoaXAuCiAKICMjIENvbmR1Y3QgVGVhbSBtZW1iZXJzCiBD
b25kdWN0IFRlYW0gbWVtYmVycyBhcmUgcHJvamVjdCBsZWFkZXJzaGlwIHRlYW0gbWVtYmVycyBm
cm9tIGFueQpAQCAtNzMsMTUgKzc1LDE3IEBAIHN1Yi1wcm9qZWN0LiBUaGUgY3VycmVudCBsaXN0
IG9mIENvbmR1Y3QgVGVhbSBtZW1iZXJzIGlzOgogKiBJYW4gSmFja3NvbiA8aWFuIGRvdCBqYWNr
c29uIGF0IGNpdHJpeCBkb3QgY29tPgogCiBDb25kdWN0IFRlYW0gbWVtYmVycyBhcmUgY2hhbmdl
ZCBieSBwcm9wb3NpbmcgYSBjaGFuZ2UgdG8gdGhpcyBkb2N1bWVudCwKLXBvc3RlZCBvbiBhbGwg
c3ViLXByb2plY3QgbGlzdHMsIGZvbGxvd2VkIGJ5IGEgZm9ybWFsIGdsb2JhbCB2b3RlIGFzIG91
dGxpbmVkIFtoZXJlXTogaHR0cHM6Ly94ZW5wcm9qZWN0Lm9yZy9kZXZlbG9wZXJzL2dvdmVybmFu
Y2UvI3Byb2plY3QtZGVjaXNpb25zCitwb3N0ZWQgb24gYWxsIHN1Yi1wcm9qZWN0IGxpc3RzLCBm
b2xsb3dlZCBieSBhIGZvcm1hbCBnbG9iYWwgdm90ZSBhcyBvdXRsaW5lZAorW2hlcmVdOiBodHRw
czovL3hlbnByb2plY3Qub3JnL2RldmVsb3BlcnMvZ292ZXJuYW5jZS8jcHJvamVjdC1kZWNpc2lv
bnMKIAogIyMgQXR0cmlidXRpb24KIAotVGhpcyBDb2RlIG9mIENvbmR1Y3QgaXMgYWRhcHRlZCBm
cm9tIHRoZSBbQ29udHJpYnV0b3IgQ292ZW5hbnRdW2hvbWVwYWdlXSwgdmVyc2lvbiAxLjQsCi1h
dmFpbGFibGUgYXQgaHR0cHM6Ly93d3cuY29udHJpYnV0b3ItY292ZW5hbnQub3JnL3ZlcnNpb24v
MS80L2NvZGUtb2YtY29uZHVjdC5odG1sCitUaGlzIENvZGUgb2YgQ29uZHVjdCBpcyBhZGFwdGVk
IGZyb20gdGhlIFtDb250cmlidXRvciBDb3ZlbmFudF1baG9tZXBhZ2VdLAordmVyc2lvbiAxLjQs
IGF2YWlsYWJsZSBhdAoraHR0cHM6Ly93d3cuY29udHJpYnV0b3ItY292ZW5hbnQub3JnL3ZlcnNp
b24vMS80L2NvZGUtb2YtY29uZHVjdC5odG1sCiAKIFtob21lcGFnZV06IGh0dHBzOi8vd3d3LmNv
bnRyaWJ1dG9yLWNvdmVuYW50Lm9yZworW2d1aWRhbmNlXTogVE9ETy1JTlNFUlQtVVJMCiAKIEZv
ciBhbnN3ZXJzIHRvIGNvbW1vbiBxdWVzdGlvbnMgYWJvdXQgdGhpcyBjb2RlIG9mIGNvbmR1Y3Qs
IHNlZQogaHR0cHM6Ly93d3cuY29udHJpYnV0b3ItY292ZW5hbnQub3JnL2ZhcQotCi0tIAoyLjEz
LjAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5p
b3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpo
dHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Mon Dec 30 19:33:10 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 30 Dec 2019 19:33:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1im0mr-0003mz-Vq; Mon, 30 Dec 2019 19:33:09 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=dA5B=2U=xenproject.org=lars.kurth@srs-us1.protection.inumbo.net>)
 id 1im0mr-0003mc-3o
 for minios-devel@lists.xenproject.org; Mon, 30 Dec 2019 19:33:09 +0000
X-Inumbo-ID: 1e69297a-2b3b-11ea-b6f1-bc764e2007e4
Received: from mail.xenproject.org (unknown [104.130.215.37])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 1e69297a-2b3b-11ea-b6f1-bc764e2007e4;
 Mon, 30 Dec 2019 19:32:30 +0000 (UTC)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1im0mB-0003TW-FQ; Mon, 30 Dec 2019 19:32:27 +0000
Received: from localhost ([127.0.0.1] helo=MacBook-Pro-2.Home)
 by xenbits.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1im0mB-0007YU-6y; Mon, 30 Dec 2019 19:32:27 +0000
From: Lars Kurth <lars.kurth@xenproject.org>
To: xen-devel@lists.xenproject.org
Date: Mon, 30 Dec 2019 19:32:14 +0000
Message-Id: <bce250afe71018f1a62f1b34866833588670a1f9.1577733361.git.lars.kurth@citrix.com>
X-Mailer: git-send-email 2.13.0
In-Reply-To: <cover.1577733361.git.lars.kurth@citrix.com>
References: <cover.1577733361.git.lars.kurth@citrix.com>
In-Reply-To: <cover.1577733361.git.lars.kurth@citrix.com>
References: <cover.1577733361.git.lars.kurth@citrix.com>
Subject: [Minios-devel] [PATCH v4 2/7] Xen Project Code of Conduct
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Lars Kurth <lars.kurth@citrix.com>, xen-api@lists.xenproject.org,
 minios-devel@lists.xenproject.org, committers@xenproject.org,
 mirageos-devel@lists.xenproject.org, win-pv-devel@lists.xenproject.org
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogTGFycyBLdXJ0aCA8bGFycy5rdXJ0aEBjaXRyaXguY29tPgoKU3BlY2lmaWMgY2hhbmdl
cyB0byB0aGUgYmFzZWxpbmU6CiogUmVwbGFjZSBsaXN0IG9mIHBvc2l0aXZlIGJlaGF2aW9ycyB3
aXRoIGxpbmsgdG8gc2VwYXJhdGUgcHJvY2VzcwoqIFJlcGxhY2UgbWFpbnRhaW5lcnMgd2l0aCBw
cm9qZWN0IGxlYWRlcnNoaXAKICAoZXhjZXB0IGluIG91ciBwbGVkZ2Ugd2hlcmUgbWFpbnRhaW5l
cnMgaXMgbW9yZSBhcHByb3ByaWF0ZSkKKiBBZGQgJ29mIGFsbCBzdWItcHJvamVjdHMnIHRvIGNs
YXJpZnkgc2NvcGUgb2YgQ29DCiogUmVuYW1lIEVuZm9yY2VtZW50CiogUmVwbGFjZSAicHJvamVj
dCB0ZWFtIiB3aXRoICJDb25kdWN0IFRlYW0gbWVtYmVycyIKKiBBZGQgZS1tYWlsIGFsaWFzCiog
QWRkIHNlY3Rpb24gb24gY29udGFjdGluZyBpbmRpdmlkdWFsIENvbmR1Y3QgVGVhbSBtZW1iZXJz
CiogQWRkIHNlY3Rpb24gb24gQ29uZHVjdCBUZWFtIG1lbWJlcnMKClNpZ25lZC1vZmYtYnk6IExh
cnMgS3VydGggPGxhcnMua3VydGhAY2l0cml4LmNvbT4KLS0tCkNjOiBtaW5pb3MtZGV2ZWxAbGlz
dHMueGVucHJvamVjdC5vcmcKQ2M6IHhlbi1hcGlAbGlzdHMueGVucHJvamVjdC5vcmcKQ2M6IHdp
bi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpDYzogbWlyYWdlb3MtZGV2ZWxAbGlzdHMu
eGVucHJvamVjdC5vcmcKQ2M6IGNvbW1pdHRlcnNAeGVucHJvamVjdC5vcmcKLS0tCiBjb2RlLW9m
LWNvbmR1Y3QubWQgfCA0NSArKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0t
LS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAyOCBpbnNlcnRpb25zKCspLCAxNyBkZWxldGlvbnMoLSkK
CmRpZmYgLS1naXQgYS9jb2RlLW9mLWNvbmR1Y3QubWQgYi9jb2RlLW9mLWNvbmR1Y3QubWQKaW5k
ZXggODFiMjE3Yy4uZWU3NTFhNyAxMDA2NDQKLS0tIGEvY29kZS1vZi1jb25kdWN0Lm1kCisrKyBi
L2NvZGUtb2YtY29uZHVjdC5tZApAQCAtMSw0ICsxLDQgQEAKLSMgQ29udHJpYnV0b3IgQ292ZW5h
bnQgQ29kZSBvZiBDb25kdWN0CisjIFhlbiBQcm9qZWN0IENvZGUgb2YgQ29uZHVjdAogCiAjIyBP
dXIgUGxlZGdlCiAKQEAgLTExLDE0ICsxMSwxMCBAQCBhcHBlYXJhbmNlLCByYWNlLCByZWxpZ2lv
biwgb3Igc2V4dWFsIGlkZW50aXR5IGFuZCBvcmllbnRhdGlvbi4KIAogIyMgT3VyIFN0YW5kYXJk
cwogCi1FeGFtcGxlcyBvZiBiZWhhdmlvciB0aGF0IGNvbnRyaWJ1dGVzIHRvIGNyZWF0aW5nIGEg
cG9zaXRpdmUgZW52aXJvbm1lbnQKLWluY2x1ZGU6Ci0KLSogVXNpbmcgd2VsY29taW5nIGFuZCBp
bmNsdXNpdmUgbGFuZ3VhZ2UKLSogQmVpbmcgcmVzcGVjdGZ1bCBvZiBkaWZmZXJpbmcgdmlld3Bv
aW50cyBhbmQgZXhwZXJpZW5jZXMKLSogR3JhY2VmdWxseSBhY2NlcHRpbmcgY29uc3RydWN0aXZl
IGNyaXRpY2lzbQotKiBGb2N1c2luZyBvbiB3aGF0IGlzIGJlc3QgZm9yIHRoZSBjb21tdW5pdHkK
LSogU2hvd2luZyBlbXBhdGh5IHRvd2FyZHMgb3RoZXIgY29tbXVuaXR5IG1lbWJlcnMKK1dlIGJl
bGlldmUgdGhhdCBhIENvZGUgb2YgQ29uZHVjdCBjYW4gaGVscCBjcmVhdGUgYSBoYXJhc3NtZW50
LWZyZWUgZW52aXJvbm1lbnQsCitidXQgaXMgbm90IHN1ZmZpY2llbnQgdG8gY3JlYXRlIGEgd2Vs
Y29taW5nIGVudmlyb25tZW50IG9uIGl0cyBvd246IGd1aWRhbmNlIG9uCitjcmVhdGluZyBhIHdl
bGNvbWluZyBlbnZpcm9ubWVudCwgaG93IHRvIGNvbW11bmljYXRlIGluIGFuIGVmZmVjdGl2ZSBh
bmQgZnJpZW5kbHkKK3dheSwgZXRjLiBjYW4gYmUgZm91bmQgW2hlcmVdOiBUT0RPLUlOU0VSVC1V
UkwuCiAKIEV4YW1wbGVzIG9mIHVuYWNjZXB0YWJsZSBiZWhhdmlvciBieSBwYXJ0aWNpcGFudHMg
aW5jbHVkZToKIApAQCAtMzMsMTEgKzI5LDExIEBAIEV4YW1wbGVzIG9mIHVuYWNjZXB0YWJsZSBi
ZWhhdmlvciBieSBwYXJ0aWNpcGFudHMgaW5jbHVkZToKIAogIyMgT3VyIFJlc3BvbnNpYmlsaXRp
ZXMKIAotUHJvamVjdCBtYWludGFpbmVycyBhcmUgcmVzcG9uc2libGUgZm9yIGNsYXJpZnlpbmcg
dGhlIHN0YW5kYXJkcyBvZiBhY2NlcHRhYmxlCitQcm9qZWN0IGxlYWRlcnNoaXAgdGVhbSBtZW1i
ZXJzIGFyZSByZXNwb25zaWJsZSBmb3IgY2xhcmlmeWluZyB0aGUgc3RhbmRhcmRzIG9mIGFjY2Vw
dGFibGUKIGJlaGF2aW9yIGFuZCBhcmUgZXhwZWN0ZWQgdG8gdGFrZSBhcHByb3ByaWF0ZSBhbmQg
ZmFpciBjb3JyZWN0aXZlIGFjdGlvbiBpbgogcmVzcG9uc2UgdG8gYW55IGluc3RhbmNlcyBvZiB1
bmFjY2VwdGFibGUgYmVoYXZpb3IuCiAKLVByb2plY3QgbWFpbnRhaW5lcnMgaGF2ZSB0aGUgcmln
aHQgYW5kIHJlc3BvbnNpYmlsaXR5IHRvIHJlbW92ZSwgZWRpdCwgb3IKK1Byb2plY3QgbGVhZGVy
c2hpcCB0ZWFtIG1lbWJlcnMgaGF2ZSB0aGUgcmlnaHQgYW5kIHJlc3BvbnNpYmlsaXR5IHRvIHJl
bW92ZSwgZWRpdCwgb3IKIHJlamVjdCBjb21tZW50cywgY29tbWl0cywgY29kZSwgd2lraSBlZGl0
cywgaXNzdWVzLCBhbmQgb3RoZXIgY29udHJpYnV0aW9ucwogdGhhdCBhcmUgbm90IGFsaWduZWQg
dG8gdGhpcyBDb2RlIG9mIENvbmR1Y3QsIG9yIHRvIGJhbiB0ZW1wb3JhcmlseSBvcgogcGVybWFu
ZW50bHkgYW55IGNvbnRyaWJ1dG9yIGZvciBvdGhlciBiZWhhdmlvcnMgdGhhdCB0aGV5IGRlZW0g
aW5hcHByb3ByaWF0ZSwKQEAgLTQ1LDI2ICs0MSw0MCBAQCB0aHJlYXRlbmluZywgb2ZmZW5zaXZl
LCBvciBoYXJtZnVsLgogCiAjIyBTY29wZQogCi1UaGlzIENvZGUgb2YgQ29uZHVjdCBhcHBsaWVz
IHdpdGhpbiBhbGwgcHJvamVjdCBzcGFjZXMsIGFuZCBpdCBhbHNvIGFwcGxpZXMgd2hlbgorVGhp
cyBDb2RlIG9mIENvbmR1Y3QgYXBwbGllcyB3aXRoaW4gYWxsIHByb2plY3Qgc3BhY2VzIG9mIGFs
bCBzdWItcHJvamVjdHMsIGFuZCBpdCBhbHNvIGFwcGxpZXMgd2hlbgogYW4gaW5kaXZpZHVhbCBp
cyByZXByZXNlbnRpbmcgdGhlIHByb2plY3Qgb3IgaXRzIGNvbW11bml0eSBpbiBwdWJsaWMgc3Bh
Y2VzLgogRXhhbXBsZXMgb2YgcmVwcmVzZW50aW5nIGEgcHJvamVjdCBvciBjb21tdW5pdHkgaW5j
bHVkZSB1c2luZyBhbiBvZmZpY2lhbAogcHJvamVjdCBlLW1haWwgYWRkcmVzcywgcG9zdGluZyB2
aWEgYW4gb2ZmaWNpYWwgc29jaWFsIG1lZGlhIGFjY291bnQsIG9yIGFjdGluZwogYXMgYW4gYXBw
b2ludGVkIHJlcHJlc2VudGF0aXZlIGF0IGFuIG9ubGluZSBvciBvZmZsaW5lIGV2ZW50LiBSZXBy
ZXNlbnRhdGlvbiBvZgotYSBwcm9qZWN0IG1heSBiZSBmdXJ0aGVyIGRlZmluZWQgYW5kIGNsYXJp
ZmllZCBieSBwcm9qZWN0IG1haW50YWluZXJzLgorYSBwcm9qZWN0IG1heSBiZSBmdXJ0aGVyIGRl
ZmluZWQgYW5kIGNsYXJpZmllZCBieSB0aGUgcHJvamVjdCBsZWFkZXJzaGlwLgogCi0jIyBFbmZv
cmNlbWVudAorIyMgV2hhdCB0byBkbyBpZiB5b3Ugd2l0bmVzcyBvciBhcmUgc3ViamVjdCB0byB1
bmFjY2VwdGFibGUgYmVoYXZpb3IKIAogSW5zdGFuY2VzIG9mIGFidXNpdmUsIGhhcmFzc2luZywg
b3Igb3RoZXJ3aXNlIHVuYWNjZXB0YWJsZSBiZWhhdmlvciBtYXkgYmUKLXJlcG9ydGVkIGJ5IGNv
bnRhY3RpbmcgdGhlIHByb2plY3QgdGVhbSBhdCBbSU5TRVJUIEVNQUlMIEFERFJFU1NdLiBBbGwK
K3JlcG9ydGVkIGJ5IGNvbnRhY3RpbmcgQ29uZHVjdCBUZWFtIG1lbWJlcnMgYXQgY29uZHVjdEB4
ZW5wcm9qZWN0Lm9yZy4gQWxsCiBjb21wbGFpbnRzIHdpbGwgYmUgcmV2aWV3ZWQgYW5kIGludmVz
dGlnYXRlZCBhbmQgd2lsbCByZXN1bHQgaW4gYSByZXNwb25zZSB0aGF0Ci1pcyBkZWVtZWQgbmVj
ZXNzYXJ5IGFuZCBhcHByb3ByaWF0ZSB0byB0aGUgY2lyY3Vtc3RhbmNlcy4gVGhlIHByb2plY3Qg
dGVhbSBpcworaXMgZGVlbWVkIG5lY2Vzc2FyeSBhbmQgYXBwcm9wcmlhdGUgdG8gdGhlIGNpcmN1
bXN0YW5jZXMuIENvbmR1Y3QgVGVhbSBtZW1iZXJzIGFyZQogb2JsaWdhdGVkIHRvIG1haW50YWlu
IGNvbmZpZGVudGlhbGl0eSB3aXRoIHJlZ2FyZCB0byB0aGUgcmVwb3J0ZXIgb2YgYW4gaW5jaWRl
bnQuCiBGdXJ0aGVyIGRldGFpbHMgb2Ygc3BlY2lmaWMgZW5mb3JjZW1lbnQgcG9saWNpZXMgbWF5
IGJlIHBvc3RlZCBzZXBhcmF0ZWx5LgogCi1Qcm9qZWN0IG1haW50YWluZXJzIHdobyBkbyBub3Qg
Zm9sbG93IG9yIGVuZm9yY2UgdGhlIENvZGUgb2YgQ29uZHVjdCBpbiBnb29kCitJZiB5b3UgaGF2
ZSBjb25jZXJucyBhYm91dCBhbnkgb2YgdGhlIG1lbWJlcnMgb2YgdGhlIGNvbmR1Y3RAIGFsaWFz
LAoreW91IGFyZSB3ZWxjb21lIHRvIGNvbnRhY3QgcHJlY2lzZWx5IHRoZSBDb25kdWN0IFRlYW0g
bWVtYmVyKHMpIG9mCit5b3VyIGNob2ljZS4KKworUHJvamVjdCBsZWFkZXJzaGlwIHRlYW0gbWVt
YmVycyB3aG8gZG8gbm90IGZvbGxvdyBvciBlbmZvcmNlIHRoZSBDb2RlIG9mIENvbmR1Y3QgaW4g
Z29vZAogZmFpdGggbWF5IGZhY2UgdGVtcG9yYXJ5IG9yIHBlcm1hbmVudCByZXBlcmN1c3Npb25z
IGFzIGRldGVybWluZWQgYnkgb3RoZXIKIG1lbWJlcnMgb2YgdGhlIHByb2plY3QncyBsZWFkZXJz
aGlwLgogCisjIyBDb25kdWN0IFRlYW0gbWVtYmVycworQ29uZHVjdCBUZWFtIG1lbWJlcnMgYXJl
IHByb2plY3QgbGVhZGVyc2hpcCB0ZWFtIG1lbWJlcnMgZnJvbSBhbnkKK3N1Yi1wcm9qZWN0LiBU
aGUgY3VycmVudCBsaXN0IG9mIENvbmR1Y3QgVGVhbSBtZW1iZXJzIGlzOgorKiBMYXJzIEt1cnRo
IDxsYXJzIGRvdCBrdXJ0aCBhdCB4ZW5wcm9qZWN0IGRvdCBvcmc+CisqIEdlb3JnZSBEdW5sYXAg
PGdlb3JnZSBkb3QgZHVubGFwIGF0IGNpdHJpeCBkb3QgY29tPgorKiBJYW4gSmFja3NvbiA8aWFu
IGRvdCBqYWNrc29uIGF0IGNpdHJpeCBkb3QgY29tPgorCitDb25kdWN0IFRlYW0gbWVtYmVycyBh
cmUgY2hhbmdlZCBieSBwcm9wb3NpbmcgYSBjaGFuZ2UgdG8gdGhpcyBkb2N1bWVudCwKK3Bvc3Rl
ZCBvbiBhbGwgc3ViLXByb2plY3QgbGlzdHMsIGZvbGxvd2VkIGJ5IGEgZm9ybWFsIGdsb2JhbCB2
b3RlIGFzIG91dGxpbmVkIFtoZXJlXTogaHR0cHM6Ly94ZW5wcm9qZWN0Lm9yZy9kZXZlbG9wZXJz
L2dvdmVybmFuY2UvI3Byb2plY3QtZGVjaXNpb25zCisKICMjIEF0dHJpYnV0aW9uCiAKIFRoaXMg
Q29kZSBvZiBDb25kdWN0IGlzIGFkYXB0ZWQgZnJvbSB0aGUgW0NvbnRyaWJ1dG9yIENvdmVuYW50
XVtob21lcGFnZV0sIHZlcnNpb24gMS40LApAQCAtNzQsMyArODQsNCBAQCBhdmFpbGFibGUgYXQg
aHR0cHM6Ly93d3cuY29udHJpYnV0b3ItY292ZW5hbnQub3JnL3ZlcnNpb24vMS80L2NvZGUtb2Yt
Y29uZHVjdC5odAogCiBGb3IgYW5zd2VycyB0byBjb21tb24gcXVlc3Rpb25zIGFib3V0IHRoaXMg
Y29kZSBvZiBjb25kdWN0LCBzZWUKIGh0dHBzOi8vd3d3LmNvbnRyaWJ1dG9yLWNvdmVuYW50Lm9y
Zy9mYXEKKwotLSAKMi4xMy4wCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMu
eGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3Rp
bmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Mon Dec 30 19:33:22 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 30 Dec 2019 19:33:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1im0n4-0003tb-GQ; Mon, 30 Dec 2019 19:33:22 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=dA5B=2U=xenproject.org=lars.kurth@srs-us1.protection.inumbo.net>)
 id 1im0n2-0003t0-RF
 for minios-devel@lists.xenproject.org; Mon, 30 Dec 2019 19:33:20 +0000
X-Inumbo-ID: 20b657fd-2b3b-11ea-a060-12813bfff9fa
Received: from mail.xenproject.org (unknown [104.130.215.37])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 20b657fd-2b3b-11ea-a060-12813bfff9fa;
 Mon, 30 Dec 2019 19:32:35 +0000 (UTC)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1im0mG-0003UI-P3; Mon, 30 Dec 2019 19:32:32 +0000
Received: from localhost ([127.0.0.1] helo=MacBook-Pro-2.Home)
 by xenbits.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1im0mG-0007YU-KS; Mon, 30 Dec 2019 19:32:32 +0000
From: Lars Kurth <lars.kurth@xenproject.org>
To: xen-devel@lists.xenproject.org
Date: Mon, 30 Dec 2019 19:32:19 +0000
Message-Id: <1bf177593fcea64b0386a13cdabae24fb0d3cb96.1577733361.git.lars.kurth@citrix.com>
X-Mailer: git-send-email 2.13.0
In-Reply-To: <cover.1577733361.git.lars.kurth@citrix.com>
References: <cover.1577733361.git.lars.kurth@citrix.com>
In-Reply-To: <cover.1577733361.git.lars.kurth@citrix.com>
References: <cover.1577733361.git.lars.kurth@citrix.com>
Subject: [Minios-devel] [PATCH v4 7/7] Added Resolving Disagreement
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Lars Kurth <lars.kurth@citrix.com>, xen-api@lists.xenproject.org,
 minios-devel@lists.xenproject.org, committers@xenproject.org,
 mirageos-devel@lists.xenproject.org, win-pv-devel@lists.xenproject.org
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogTGFycyBLdXJ0aCA8bGFycy5rdXJ0aEBjaXRyaXguY29tPgoKVGhpcyBndWlkZSBwcm92
aWRlcyBCZXN0IFByYWN0aWNlIG9uIGlkZW50aWZ5aW5nIGFuZCByZXNvbHZpbmcKY29tbW9uIGNs
YXNzZXMgb2YgZGlzYWdyZWVtZW50CgpDaGFuZ2VzIHNpbmNlIHYzCiogRml4ZWQgYnJva2VuIGh0
dHAgbGluayAodHlwbykKCkNoYW5nZXMgc2luY2UgdjIgKGFkZGVkIGluIHYyKQoqIEZpeCB0eXBv
cwoqIEFkZCBzZWN0aW9uOiAiSXNzdWU6IE11bHRpcGxlIHdheXMgdG8gc29sdmUgYSBwcm9ibGVt
IgoqIENoYW5nZWQgbGluZSB3cmFwcGluZyB0byA4MCBjaGFyYWN0ZXJzCiogUmVwbGFjZWQgaW5s
aW5lIHN0eWxlIGxpbmtzIHdpdGggcmVmZXJlbmNlIHN0eWxlIGxpbmtzCgpTaWduZWQtb2ZmLWJ5
OiBMYXJzIEt1cnRoIDxsYXJzLmt1cnRoQGNpdHJpeC5jb20+Ci0tCkNjOiBtaW5pb3MtZGV2ZWxA
bGlzdHMueGVucHJvamVjdC5vcmcKQ2M6IHhlbi1hcGlAbGlzdHMueGVucHJvamVjdC5vcmcKQ2M6
IHdpbi1wdi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpDYzogbWlyYWdlb3MtZGV2ZWxAbGlz
dHMueGVucHJvamVjdC5vcmcKQ2M6IGNvbW1pdHRlcnNAeGVucHJvamVjdC5vcmcKLS0tCiByZXNv
bHZpbmctZGlzYWdyZWVtZW50Lm1kIHwgMTg4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCAxODggaW5zZXJ0aW9ucygrKQogY3Jl
YXRlIG1vZGUgMTAwNjQ0IHJlc29sdmluZy1kaXNhZ3JlZW1lbnQubWQKCmRpZmYgLS1naXQgYS9y
ZXNvbHZpbmctZGlzYWdyZWVtZW50Lm1kIGIvcmVzb2x2aW5nLWRpc2FncmVlbWVudC5tZApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYjNiMTM0Ci0tLSAvZGV2L251bGwKKysr
IGIvcmVzb2x2aW5nLWRpc2FncmVlbWVudC5tZApAQCAtMCwwICsxLDE4OCBAQAorIyBSZXNvbHZp
bmcgRGlzYWdyZWVtZW50CisKK1RoaXMgZ3VpZGUgcHJvdmlkZXMgQmVzdCBQcmFjdGljZSBvbiBy
ZXNvbHZpbmcgZGlzYWdyZWVtZW50LCBzdWNoIGFzCisqIEdyYWNlZnVsbHkgYWNjZXB0IGNvbnN0
cnVjdGl2ZSBjcml0aWNpc20KKyogRm9jdXMgb24gd2hhdCBpcyBiZXN0IGZvciB0aGUgY29tbXVu
aXR5CisqIFJlc29sdmUgZGlmZmVyZW5jZXMgaW4gb3BpbmlvbiBlZmZlY3RpdmVseQorCisjIyBU
aGVvcnk6IFBhdWwgR3JhaGFtJ3MgaGllcmFyY2h5IG9mIGRpc2FncmVlbWVudAorCitQYXVsIEdy
YWhhbSBwcm9wb3NlZCBhICoqZGlzYWdyZWVtZW50IGhpZXJhcmNoeSoqIGluIGEgMjAwOCBlc3Nh
eQorKipbSG93IHRvIERpc2FncmVlXVsxXSoqLCBwdXR0aW5nIHR5cGVzIG9mIGFyZ3VtZW50cyBp
bnRvIGEgc2V2ZW4tcG9pbnQKK2hpZXJhcmNoeSBhbmQgb2JzZXJ2aW5nIHRoYXQgKm1vdmluZyB1
cCB0aGUgZGlzYWdyZWVtZW50IGhpZXJhcmNoeSBtYWtlcyBwZW9wbGUKK2xlc3MgbWVhbiwgYW5k
IHdpbGwgbWFrZSBtb3N0IG9mIHRoZW0gaGFwcGllciouIEdyYWhhbSBhbHNvIHN1Z2dlc3RlZCB0
aGF0IHRoZQoraGllcmFyY2h5IGNhbiBiZSB0aG91Z2h0IG9mIGFzIGEgcHlyYW1pZCwgYXMgdGhl
IGhpZ2hlc3QgZm9ybXMgb2YgZGlzYWdyZWVtZW50CithcmUgcmFyZXIuCisKK3wgIVtHcmFoYW0n
cyBIaWVyYXJjaHkgb2YgRGlzYWdyZWVtZW50XVsyXSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHwKK3wgKkEgcmVwcmVzZW50YXRpb24gb2YgR3JhaGFtJ3MgaGllcmFyY2h5IG9m
IGRpc2FncmVlbWVudCBmcm9tIFtMb3VkYWNyaXNdWzNdCisgIG1vZGlmaWVkIGJ5IFtSb2NrZXQw
MDBdWzRdKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8
CisKK0luIHRoZSBjb250ZXh0IG9mIHRoZSBYZW4gUHJvamVjdCB3ZSBzdHJpdmUgdG8gKipvbmx5
IHVzZSB0aGUgdG9wIGhhbGYqKiBvZiB0aGUKK2hpZXJhcmNoeS4gKipOYW1lLWNhbGxpbmcqKiBh
bmQgKipBZCBob21pbmVtKiogYXJndW1lbnRzIGFyZSBub3QgYWNjZXB0YWJsZQord2l0aGluIHRo
ZSBYZW4gUHJvamVjdC4KKworIyMgSXNzdWU6IFNjb3BlIGNyZWVwCisKK09uZSB0aGluZyB3aGlj
aCBvY2Nhc2lvbmFsbHkgaGFwcGVucyBkdXJpbmcgY29kZSByZXZpZXcgaXMgdGhhdCBhIGNvZGUg
cmV2aWV3ZXIKK2Fza3Mgb3IgYXBwZWFycyB0byBhc2sgdGhlIGF1dGhvciBvZiBhIHBhdGNoIHRv
IGltcGxlbWVudCBhZGRpdGlvbmFsCitmdW5jdGlvbmFsaXRpZXMuCisKK1RoaXMgY291bGQgdGFr
ZSBmb3IgZXhhbXBsZSB0aGUgZm9ybSBvZgorPiBEbyB5b3UgdGhpbmsgaXQgd291bGQgYmUgdXNl
ZnVsIGZvciB0aGUgY29kZSB0byBkbyBYWFg/Cis+IEkgY2FuIGltYWdpbmUgYSB1c2VyIHdhbnRp
bmcgdG8gZG8gWVlZIChhbmQgWFhYIHdvdWxkIGVuYWJsZSB0aGlzKQorCitUaGF0IHBvdGVudGlh
bGx5IGFkZHMgYWRkaXRpb25hbCB3b3JrIGZvciB0aGUgY29kZSBhdXRob3IsIHdoaWNoIHRoZXkg
bWF5IG5vdAoraGF2ZSB0aGUgdGltZSB0byBwZXJmb3JtLiBJdCBpcyBnb29kIHByYWN0aWNlIGZv
ciBhdXRob3JzIHRvIGNvbnNpZGVyIHN1Y2ggYQorcmVxdWVzdCBpbiB0ZXJtcyBvZgorKiBVc2Vm
dWxuZXNzIHRvIHRoZSB1c2VyCisqIENvZGUgY2h1cm4sIGNvbXBsZXhpdHkgb3IgaW1wYWN0IG9u
IG90aGVyIHN5c3RlbSBwcm9wZXJ0aWVzCisqIEV4dHJhIHRpbWUgdG8gaW1wbGVtZW50IGFuZCBy
ZXBvcnQgYmFjayB0byB0aGUgcmV2aWV3ZXIKKworSWYgeW91IGJlbGlldmUgdGhhdCB0aGUgaW1w
YWN0L2Nvc3QgaXMgdG9vIGhpZ2gsIHJlcG9ydCBiYWNrIHRvIHRoZSByZXZpZXdlci4KK1RvIHJl
c29sdmUgdGhpcywgaXQgaXMgYWR2aXNhYmxlIHRvCisqIFJlcG9ydCB5b3VyIGZpbmRpbmdzCisq
IEFuZCB0aGVuIGNoZWNrIHdoZXRoZXIgdGhpcyB3YXMgbWVyZWx5IGFuIGludGVyZXN0aW5nIHN1
Z2dlc3Rpb24sIG9yIHNvbWV0aGluZworICB0aGUgcmV2aWV3ZXIgZmVlbHMgbW9yZSBzdHJvbmds
eSBhYm91dAorCitJbiB0aGUgbGF0dGVyIGNhc2UsIHRoZXJlIGFyZSB0eXBpY2FsbHkgc2V2ZXJh
bCBjb21tb24gb3V0Y29tZXMKKyogVGhlICoqYXV0aG9yIGFuZCByZXZpZXdlciBhZ3JlZSoqIHRo
YXQgdGhlIHN1Z2dlc3Rpb24gc2hvdWxkIGJlIGltcGxlbWVudGVkCisqIFRoZSAqKmF1dGhvciBh
bmQgcmV2aWV3ZXIgYWdyZWUqKiB0aGF0IGl0IG1heSBtYWtlIHNlbnNlIHRvIGRlZmVyCisgIGlt
cGxlbWVudGF0aW9uCisqIFRoZSAqKmF1dGhvciBhbmQgcmV2aWV3ZXIgYWdyZWUqKiB0aGF0IGl0
IG1ha2VzIG5vIHNlbnNlIHRvIGltcGxlbWVudCB0aGUKKyAgc3VnZ2VzdGlvbgorCitUaGUgYXV0
aG9yIG9mIGEgcGF0Y2ggd291bGQgdHlwaWNhbGx5IHN1Z2dlc3QgdGhlaXIgcHJlZmVycmVkIG91
dGNvbWUsIGZvcgorZXhhbXBsZQorPiBJIGFtIG5vdCBzdXJlIGl0IGlzIHdvcnRoIHRvIGltcGxl
bWVudCBYWFgKKz4gRG8geW91IHRoaW5rIHRoaXMgY291bGQgYmUgZG9uZSBhcyBhIHNlcGFyYXRl
IHBhdGNoIGluIGZ1dHVyZT8KKworSW4gY2FzZXMsIHdoZXJlIG5vIGFncmVlbWVudCBjYW4gYmUg
Zm91bmQsIHRoZSBiZXN0IGFwcHJvYWNoIHdvdWxkIGJlIHRvIGdldCBhbgoraW5kZXBlbmRlbnQg
b3BpbmlvbiBmcm9tIGFub3RoZXIgbWFpbnRhaW5lciBvciB0aGUgcHJvamVjdCdzIGxlYWRlcnNo
aXAgdGVhbS4KKworIyMgSXNzdWU6IFtCaWtlc2hlZGRpbmddWzVdCisKK09jY2FzaW9uYWxseSBk
aXNjdXNzaW9ucyBhYm91dCB1bmltcG9ydGFudCBidXQgZWFzeS10by1ncmFzcCBpc3N1ZXMgY2Fu
IGxlYWQgdG8KK3Byb2xvbmdlZCBhbmQgdW5wcm9kdWN0aXZlIGRpc2N1c3Npb25zLiBUaGUgYmVz
dCB3YXkgdG8gYXBwcm9hY2ggdGhpcyBpcyB0bwordHJ5IGFuZCAqKmFudGljaXBhdGUqKiBiaWtl
c2hlZGRpbmcgYW5kIGhpZ2hsaWdodCBpdCBhcyBzdWNoIHVwZnJvbnQuIEhvd2V2ZXIsCit0aGUg
Zm9ybWF0IG9mIGEgY29kZSByZXZpZXcgZG9lcyBub3QgYWx3YXlzIGxlbmQgaXRzZWxmIHdlbGwg
dG8gdGhpcyBhcHByb2FjaCwKK2V4Y2VwdCBmb3IgaGlnaGxpZ2h0aW5nIGl0IGluIHRoZSBjb3Zl
ciBsZXR0ZXIgb2YgYSBwYXRjaCBzZXJpZXMuCisKK0hvd2V2ZXIsIHR5cGljYWxseSBCaWtlc2hl
ZGRpbmcgaXNzdWVzIGFyZSBmYWlybHkgZWFzeSB0byByZWNvZ25pemUgaW4gYSBjb2RlCityZXZp
ZXcsIGFzIHlvdSB3aWxsIHZlcnkgcXVpY2tseSBnZXQgZGlmZmVyZW50IHJldmlld2VycyBwcm92
aWRpbmcgZGlmZmVyaW5nCitvcGluaW9ucy4gSW4gdGhpcyBjYXNlIGl0IGlzIGJlc3QgZm9yIHRo
ZSBhdXRob3Igb3IgYSByZXZpZXdlciB0byBjYWxsIG91dCB0aGUKK3BvdGVudGlhbCBiaWtlc2hl
ZGRpbmcgaXNzdWUgdXNpbmcgc29tZXRoaW5nIGxpa2UKKworPiBMb29rcyB3ZSBoYXZlIGEgYmlr
ZXNoZWRkaW5nIGlzc3VlIGhlcmUKKz4gSSB0aGluayB3ZSBzaG91bGQgY2FsbCBhIHF1aWNrIHZv
dGUgdG8gc2V0dGxlIHRoZSBpc3N1ZQorCitPdXIgZ292ZXJuYW5jZSBwcm92aWRlcyB0aGUgbWVj
aGFuaXNtcyBvZiBbaW5mb3JtYWwgdm90ZXNdWzZdIG9yCitbbGF6eSB2b3RpbmddWzddIHdoaWNo
IGxlbmQgdGhlbXNlbHZlcyB3ZWxsIHRvIHJlc29sdmUgc3VjaCBpc3N1ZXMuCisKKyMjIElzc3Vl
OiBTbWFsbCBmdW5jdGlvbmFsIGlzc3VlcworCitUaGUgbW9zdCBjb21tb24gYXJlYSBvZiBkaXNh
Z3JlZW1lbnRzIHdoaWNoIGhhcHBlbiBpbiBjb2RlIHJldmlld3MsIGFyZQorZGlmZmVyaW5nIG9w
aW5pb25zIG9uIHdoZXRoZXIgc21hbGwgZnVuY3Rpb25hbCBpc3N1ZXMgaW4gYSBwYXRjaCBzZXJp
ZXMgaGF2ZSB0bworYmUgcmVzb2x2ZWQgb3Igbm90IGJlZm9yZSB0aGUgY29kZSBpcyByZWFkeSB0
byBiZSBzdWJtaXR0ZWQuIFN1Y2ggZGlzYWdyZWVtZW50cworYXJlIHR5cGljYWxseSBjYXVzZWQg
YnkgZGlmZmVyZW50IGV4cGVjdGF0aW9ucyByZWxhdGVkIHRvIHRoZSBsZXZlbCBvZgorcGVyZmVj
dGlvbiBhIHBhdGNoIHNlcmllcyBuZWVkcyB0byBmdWxmaWwgYmVmb3JlIGl0IGNhbiBiZSBjb25z
aWRlcmVkIHJlYWR5IHRvCitiZSBjb21taXR0ZWQuCisKK1RvIGV4cGxhaW4gdGhpcyBiZXR0ZXIs
IEkgYW0gZ29pbmcgdG8gdXNlIHRoZSBhbmFsb2d5IG9mIHNvbWUgYnVpbGRpbmcgd29yayB0aGF0
CitoYXMgYmVlbiBwZXJmb3JtZWQgYXQgeW91ciBob3VzZS4gTGV0J3Mgc2F5IHRoYXQgeW91IGhh
dmUgYSBuZXcgYmF0aHJvb20KK2luc3RhbGxlZC4gQmVmb3JlIHBheWluZyB5b3VyIGJ1aWxkZXIg
dGhlIGxhc3QgaW5zdGFsbWVudCwgeW91IHBlcmZvcm0gYW4KK2luc3BlY3Rpb24gYW5kIHlvdSBm
aW5kIGlzc3VlcyBzdWNoIGFzCisqIFRoZSBzZWFscyBhcm91bmQgdGhlIGJhdGh0dWIgYXJlIG5v
dCBwZXJmZWN0bHkgZXZlbgorKiBXaGVuIHlvdSBvcGVuIHRoZSB0YXAsIHRoZSBwbHVtYmluZyBp
bml0aWFsbHkgbWFrZXMgc29tZSBsb3VkIG5vaXNlCisqIFRoZSBzaG93ZXIgbWl4ZXIgaGFzIGJl
ZW4gaW5zdGFsbGVkIHRoZSB3cm9uZyB3YXkgYXJvdW5kCisKK0luIGFsbCB0aGVzZSBjYXNlcywg
dGhlIGJhdGhyb29tIGlzIHBlcmZlY3RseSBmdW5jdGlvbmFsLCBidXQgbm90IHBlcmZlY3QuIEF0
Cit0aGlzIHBvaW50IHlvdSBoYXZlIHRoZSBjaG9pY2UgdG8gdHJ5IGFuZCBnZXQgYWxsIHRoZSBp
c3N1ZXMgYWRkcmVzc2VkLCB3aGljaCBpbgordGhlIGV4YW1wbGUgb2YgdGhlIHNob3dlciBtaXhl
ciBtYXkgcmVxdWlyZSBzaWduaWZpY2FudCByZS13b3JrIGFuZCBwb3RlbnRpYWxseQorcHVzaC1i
YWNrIGZyb20geW91ciBidWlsZGVyLiBZb3UgbWF5IGhhdmUgdG8gcmVmZXIgdG8gdGhlIGluaXRp
YWwgc3RhdGVtZW50IG9mCit3b3JrLCBidXQgaXQgdHVybnMgb3V0IGl0IGRvZXMgbm90IGNvbnRh
aW4gc3VmZmljaWVudCBpbmZvcm1hdGlvbiB0byBhc2NlcnRhaW4KK3doZXRoZXIgeW91ciBidWls
ZGVyIGhhZCBjb21taXR0ZWQgdG8gdGhlIGxldmVsIG9mIHF1YWxpdHkgeW91IHdlcmUgZXhwZWN0
aW5nLgorCitTaW1pbGFyIHNpdHVhdGlvbnMgaGFwcGVuIGluIGNvZGUgcmV2aWV3cyB2ZXJ5IGZy
ZXF1ZW50bHkgYW5kIGNhbiBsZWFkIHRvIGEgbG9uZworZGlzY3Vzc2lvbiBiZWZvcmUgaXQgY2Fu
IGJlIHJlc29sdmVkLiBUaGUgbW9zdCBpbXBvcnRhbnQgdGhpbmcgaXMgdG8KKyoqaWRlbnRpZnkq
KiBhIGRpc2FncmVlbWVudCBhcyBzdWNoIGVhcmx5IGFuZCB0aGVuIGNhbGwgaXQgb3V0LiBUaXBz
IG9uIGhvdyB0bworZG8gdGhpcywgY2FuIGJlIGZvdW5kIFtoZXJlXVs4XS4KKworQXQgdGhpcyBw
b2ludCwgeW91IHdpbGwgdW5kZXJzdGFuZCB3aHkgeW91IGhhdmUgdGhlIGRpc2FncmVlbWVudCwg
YnV0IG5vdAorbmVjZXNzYXJpbHkgYWdyZWVtZW50IG9uIGhvdyB0byBtb3ZlIGZvcndhcmQuIEFu
IGVhc3kgZml4IHdvdWxkIGJlIHRvIGFncmVlIHRvCitzdWJtaXQgdGhlIGNoYW5nZSBhcyBpdCBp
cyBhbmQgZml4IGl0IGluIGZ1dHVyZS4gSW4gYSBjb3Jwb3JhdGUgc29mdHdhcmUKK2VuZ2luZWVy
aW5nIGVudmlyb25tZW50IHRoaXMgaXMgdGhlIG1vc3QgbGlrZWx5IG91dGNvbWUsIGJ1dCBpbiBv
cGVuIHNvdXJjZQorY29tbXVuaXRpZXMgYWRkaXRpb25hbCBjb25jZXJucyBoYXZlIHRvIGJlIGNv
bnNpZGVyZWQuCisqIENvZGUgcmV2aWV3ZXJzIGZyZXF1ZW50bHkgaGF2ZSBiZWVuIGluIHRoaXMg
c2l0dWF0aW9uIGJlZm9yZSB3aXRoIHRoZSBtb3N0CisgIGNvbW1vbiBvdXRjb21lIHRoYXQgdGhl
IGlzc3VlIGlzIHRoZW4gbmV2ZXIgZml4ZWQuIEJ5IGFjY2VwdGluZyB0aGUgY2hhbmdlLAorICB0
aGUgcmV2aWV3ZXJzIGhhdmUgbm8gbGV2ZXJhZ2UgdG8gZml4IHRoZSBpc3N1ZSBhbmQgbWF5IGhh
dmUgdG8gc3BlbmQgZWZmb3J0CisgIGZpeGluZyB0aGUgaXNzdWUgdGhlbXNlbHZlcyBpbiBmdXR1
cmUgYXMgaXQgbWF5IGltcGFjdCB0aGUgcHJvZHVjdCB0aGV5IGJ1aWx0CisgIG9uIHRvcCBvZiB0
aGUgY29kZS4KKyogQ29udmVyc2VseSwgYSByZXZpZXdlciBtYXkgYmUgYXNraW5nIHRoZSBhdXRo
b3IgdG8gbWFrZSB0b28gbWFueSBjaGFuZ2VzIG9mCisgIHRoaXMgdHlwZSB3aGljaCB1bHRpbWF0
ZWx5IG1heSBsZWFkIHRoZSBhdXRob3IgdG8gbm90IGNvbnRyaWJ1dGUgdG8gdGhlCisgIHByb2pl
Y3QgYWdhaW4uCisqIEFuIGF1dGhvciwgd2hpY2ggY29uc2lzdGVudGx5IGRvZXMgbm90IGFkZHJl
c3MgKiphbnkqKiBvZiB0aGVzZSBpc3N1ZXMgbWF5CisgIGVuZCB1cCBnZXR0aW5nIGEgYmFkIHJl
cHV0YXRpb24gYW5kIG1heSBmaW5kIGZ1dHVyZSBjb2RlIHJldmlld3MgbW9yZQorICBkaWZmaWN1
bHQuCisqIEFuIGF1dGhvciB3aGljaCBhbHdheXMgYWRkcmVzc2VzICoqYWxsKiogb2YgdGhlc2Ug
aXNzdWVzIG1heSBlbmQgdXAgZ2V0dGluZworICBpbnRvIGRpZmZpY3VsdGllcyB3aXRoIHRoZWly
IGVtcGxveWVyLCBhcyB0aGV5IGFyZSB0b28gc2xvdyBnZXR0aW5nIGNvZGUKKyAgdXBzdHJlYW1l
ZC4KKworTm9uZSBvZiB0aGVzZSBvdXRjb21lcyBhcmUgZ29vZCwgc28gdWx0aW1hdGVseSBhIGJh
bGFuY2UgaGFzIHRvIGJlIGZvdW5kLiBBdAordGhlIGVuZCBvZiB0aGUgZGF5LCB0aGUgc29sdXRp
b24gc2hvdWxkIGZvY3VzIG9uIHdoYXQgaXMgYmVzdCBmb3IgdGhlIGNvbW11bml0eSwKK3doaWNo
IG1heSBtZWFuIGFza2luZyBmb3IgYW4gaW5kZXBlbmRlbnQgb3BpbmlvbiBhcyBvdXRsaW5lZCBp
biB0aGUgbmV4dAorc2VjdGlvbi4KKworIyMgSXNzdWU6IE11bHRpcGxlIHdheXMgdG8gc29sdmUg
YSBwcm9ibGVtCisKK0ZyZXF1ZW50bHkgaXQgaXMgcG9zc2libGUgdGhhdCBhIHByb2JsZW0gY2Fu
IGJlIHNvbHZlZCBpbiBtdWx0aXBsZSB3YXlzIGFuZCBpdAoraXMgbm90IGFsd2F5cyBvYnZpb3Vz
IHdoaWNoIG9uZSBpcyBiZXN0LiBDb2RlIHJldmlld2VycyB0ZW5kIHRvIGZvbGxvdyB0aGVpcgor
cGVyc29uYWwgY29kaW5nIHN0eWxlIHdoZW4gcmV2aWV3aW5nIGNpZGUgYW5kIHNvbWV0aW1lcyB3
aWxsIHN1Z2dlc3QgdGhhdCBhCitjb2RlIGF1dGhvciBtYWtlcyBjaGFuZ2VzIHRvIGZvbGxvdyB0
aGVpciBvd24gc3R5bGUsIGV2ZW4gd2hlbiB0aGUgYXV0aG9yJ3MKK2NvZGUgaXMgY29ycmVjdC4g
SW4gIHN1Y2ggY2FzZXMsIGl0IGlzIGVhc3kgdG8gZGlzYWdyZWUgYW5kIHN0YXJ0IGFyZ3Vpbmcu
CisKK1dlIHJlY29tbWVuZCB0aGF0IHRoZSBjb2RlIGF1dGhvciB0cmllcyB0byBmb2xsb3cgdGhl
IGNvZGUgcmV2aWV3ZXJzIHJlcXVlc3RzLAorZXZlbiAgaWYgdGhleSBjb3VsZCBiZSBjb25zaWRl
cmVkIHN0eWxlIGlzc3VlcywgdHJ1c3RpbmcgdGhlIGV4cGVyaWVuY2Ugb2YgdGhlCitjb2RlIHJl
dmlld2VyLiBTaW1pbGFybHksIHdlIGFzayBjb2RlIHJldmlld2VycyB0byBsZXQgdGhlIGNvbnRy
aWJ1dG9yIGhhdmUgdGhlCitmcmVlZG9tIG9mIGltcGxlbWVudGF0aW9uIGNob2ljZXMsIHdoZXJl
IHRoZXkgZG8gbm90IGhhdmUgYSBkb3duc2lkZS4KKworV2UgZG8gbm90IGFsd2F5cyBzdWNjZWVk
IGluIHRoaXMsIGFzIHN1Y2ggaXQgaXMgaW1wb3J0YW50IHRvICoqaWRlbnRpZnkqKiBzdWNoIGEK
K3NpdHVhdGlvbiBhbmQgdGhlbiBjYWxsIGl0IG91dCBhcyBvdXRsaW5lZCBbaGVyZV1bOF0uCisK
KyMjIFJlc29sdXRpb246IEFza2luZyBmb3IgYW4gaW5kZXBlbmRlbnQgb3BpbmlvbgorCitNb3N0
IGRpc2FncmVlbWVudHMgY2FuIGJlIHNldHRsZWQgYnkKKyogQXNraW5nIGFub3RoZXIgbWFpbnRh
aW5lciBvciBjb21taXR0ZXIgdG8gcHJvdmlkZSBhbiBpbmRlcGVuZGVudCBvcGluaW9uIG9uCisg
IHRoZSBzcGVjaWZpYyBpc3N1ZSBpbiBwdWJsaWMgdG8gaGVscCByZXNvbHZlIGl0CisqIEZhaWxp
bmcgdGhpcyBhbiBpc3N1ZSBjYW4gYmUgZXNjYWxhdGVkIHRvIHRoZSBwcm9qZWN0IGxlYWRlcnNo
aXAgdGVhbSwgd2hpY2gKKyAgaXMgZXhwZWN0ZWQgdG8gYWN0IGFzIHJlZmVyZWUgYW5kIG1ha2Ug
YSBkZWNpc2lvbiBvbiBiZWhhbGYgb2YgdGhlIGNvbW11bml0eQorCitJZiB5b3UgZmVlbCB1bmNv
bWZvcnRhYmxlIHdpdGggdGhpcyBhcHByb2FjaCwgeW91IG1heSBhbHNvIGNvbnRhY3QKK21lZGlh
dGlvbkB4ZW5wcm9qZWN0Lm9yZyB0byBnZXQgYWR2aWNlLiBTZWUgb3VyIFtDb21tdW5pY2F0aW9u
IEd1aWRlXVs5XQorZm9yIG1vcmUgaW5mb3JtYXRpb24uCisKKyMjIERlY2lzaW9uIG1ha2luZyBh
bmQgY29uZmxpY3QgcmVzb2x1dGlvbiBpbiBvdXIgZ292ZXJuYW5jZQorCitPdXIgW2dvdmVybmFu
Y2VdW0FdIGNvbnRhaW5zIHNldmVyYWwgcHJvdmVuIG1lY2hhbmlzbXMgdG8gaGVscCB3aXRoIGRl
Y2lzaW9uCittYWtpbmcgYW5kIGNvbmZsaWN0IHJlc29sdXRpb24uCisKK1NlZQorKiBbRXhwcmVz
c2luZyBhZ3JlZW1lbnQgYW5kIGRpc2FncmVlbWVudF1bQl0KKyogW0xhenkgY29uc2Vuc3VzIC8g
TGF6eSB2b3RpbmddWzddCisqIFtJbmZvcm1hbCB2b3RlcyBvciBzdXJ2ZXlzXVs2XQorKiBbTGVh
ZGVyc2hpcCB0ZWFtIGRlY2lzaW9uc11bQ10KKyogW0NvbmZsaWN0IHJlc29sdXRpb25dW0RdCisK
K1sxXTogaHR0cDovL3d3dy5wYXVsZ3JhaGFtLmNvbS9kaXNhZ3JlZS5odG1sCitbMl06IGh0dHBz
Oi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvYS9hMy9HcmFoYW0lMjdz
X0hpZXJhcmNoeV9vZl9EaXNhZ3JlZW1lbnQtZW4uc3ZnCitbM106IGh0dHBzOi8vd3d3LmNyZWF0
ZWRlYmF0ZS5jb20vdXNlci92aWV3cHJvZmlsZS9Mb3VkYWNyaXMKK1s0XTogaHR0cHM6Ly9lbi53
aWtpcGVkaWEub3JnL3dpa2kvVXNlcjpSb2NrZXQwMDAKK1s1XTogaHR0cHM6Ly9lbi53aWt0aW9u
YXJ5Lm9yZy93aWtpL2Jpa2VzaGVkZGluZworWzZdOiBodHRwczovL3hlbnByb2plY3Qub3JnL2Rl
dmVsb3BlcnMvZ292ZXJuYW5jZS8jaW5mb3JtYWwtdm90ZXMtb3Itc3VydmV5cworWzddOiBodHRw
czovL3hlbnByb2plY3Qub3JnL2RldmVsb3BlcnMvZ292ZXJuYW5jZS8jbGF6eWNvbnNlbnN1cwor
WzhdOiBjb21tdW5pY2F0aW9uLXByYWN0aWNlLm1kI01pc3VuZGVyc3RhbmRpbmdzCitbOV06IGNv
bW11bmljYXRpb24tZ3VpZGUubWQKK1tBXTogaHR0cHM6Ly94ZW5wcm9qZWN0Lm9yZy9kZXZlbG9w
ZXJzL2dvdmVybmFuY2UvI2RlY2lzaW9ucworW0JdOiBodHRwczovL3hlbnByb2plY3Qub3JnL2Rl
dmVsb3BlcnMvZ292ZXJuYW5jZS8jZXhwcmVzc2luZ29waW5pb24KK1tDXTogaHR0cHM6Ly94ZW5w
cm9qZWN0Lm9yZy9kZXZlbG9wZXJzL2dvdmVybmFuY2UvI2xlYWRlcnNoaXAKK1tEXTogaHR0cHM6
Ly94ZW5wcm9qZWN0Lm9yZy9kZXZlbG9wZXJzL2dvdmVybmFuY2UvI2NvbmZsaWN0Ci0tIAoyLjEz
LjAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5p
b3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpo
dHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Mon Dec 30 19:33:41 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 30 Dec 2019 19:33:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1im0nN-00045U-FB; Mon, 30 Dec 2019 19:33:41 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=dA5B=2U=xenproject.org=lars.kurth@srs-us1.protection.inumbo.net>)
 id 1im0nM-000453-Rt
 for minios-devel@lists.xenproject.org; Mon, 30 Dec 2019 19:33:40 +0000
X-Inumbo-ID: 210dbad8-2b3b-11ea-a060-12813bfff9fa
Received: from mail.xenproject.org (unknown [104.130.215.37])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 210dbad8-2b3b-11ea-a060-12813bfff9fa;
 Mon, 30 Dec 2019 19:32:34 +0000 (UTC)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1im0mE-0003U1-Lh; Mon, 30 Dec 2019 19:32:30 +0000
Received: from localhost ([127.0.0.1] helo=MacBook-Pro-2.Home)
 by xenbits.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1im0mE-0007YU-9h; Mon, 30 Dec 2019 19:32:30 +0000
From: Lars Kurth <lars.kurth@xenproject.org>
To: xen-devel@lists.xenproject.org
Date: Mon, 30 Dec 2019 19:32:17 +0000
Message-Id: <24bb87eccaaf8937443c42c69e215fc59b66741f.1577733361.git.lars.kurth@citrix.com>
X-Mailer: git-send-email 2.13.0
In-Reply-To: <cover.1577733361.git.lars.kurth@citrix.com>
References: <cover.1577733361.git.lars.kurth@citrix.com>
MIME-Version: 1.0
In-Reply-To: <cover.1577733361.git.lars.kurth@citrix.com>
References: <cover.1577733361.git.lars.kurth@citrix.com>
Subject: [Minios-devel] [PATCH v4 5/7] Add Code Review Guide
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Lars Kurth <lars.kurth@citrix.com>, xen-api@lists.xenproject.org,
 minios-devel@lists.xenproject.org, committers@xenproject.org,
 mirageos-devel@lists.xenproject.org, win-pv-devel@lists.xenproject.org
Content-Type: multipart/mixed; boundary="===============6196194260566939854=="
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

--===============6196194260566939854==
Content-Type: text/plain; charset=y
Content-Transfer-Encoding: 8bit

From: Lars Kurth <lars.kurth@citrix.com>

This document highlights what reviewers such as maintainers and committers look
for when reviewing code. It sets expectations for code authors and provides
a framework for code reviewers.

Changes since v3
* Added example under *Workflow from a Reviewer's Perspective* section
* Fixed typos in text introduced in v2

Changes since v2 (introduced in v2)
* Extend introduction
* Add "Code Review Workflow" covering
  - "Workflow from a Reviewer's Perspective"
  - "Workflow from an Author's Perspective"
  - "Problematic Patch Reviews"
* Wrap to 80 characters
* Replace inline links with reference links to make
  wrapping easier

Signed-off-by: Lars Kurth <lars.kurth@citrix.com>
---
Cc: minios-devel@lists.xenproject.org
Cc: xen-api@lists.xenproject.org
Cc: win-pv-devel@lists.xenproject.org
Cc: mirageos-devel@lists.xenproject.org
Cc: committers@xenproject.org
---
 code-review-guide.md | 313 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 313 insertions(+)
 create mode 100644 code-review-guide.md

diff --git a/code-review-guide.md b/code-review-guide.md
new file mode 100644
index 0000000..b2c08d2
--- /dev/null
+++ b/code-review-guide.md
@@ -0,0 +1,313 @@
+# Code Review Guide
+
+This document highlights what reviewers such as maintainers and committers look
+for when reviewing your code. It sets expectations for code authors and provides
+a framework for code reviewers.
+
+Before we start, it is important to remember that the primary purpose of a
+a code review is to identify any bugs or potential bugs in the code. Most code
+reviews are relatively straight-forward and do not require re-writing the
+submitted code substantially.
+
+The document provides advice on how to structure larger patch series and
+provides  pointers on code author's and reviewer's workflows.
+
+Sometimes it happens that a submitted patch series made wrong assumptions or has
+a flawed design or architecture. This can be frustrating for contributors and
+code  reviewers. Note that this document does contain [a section](#problems)
+that provides  suggestions on how to minimize the impact for most stake-holders
+and also on how to avoid such situations.
+
+This document does **not cover** the following topics:
+* [Communication Best Practice][1]
+* [Resolving Disagreement][2]
+* [Patch Submission Workflow][3]
+* [Managing Patch Submission with Git][4]
+
+## What we look for in Code Reviews
+
+When performing a code review, reviewers typically look for the following things
+
+### Is the change necessary to accomplish the goals?
+
+* Is it clear what the goals are?
+* Do we need to make a change, or can the goals be met with existing
+  functionality?
+
+### Architecture / Interface
+
+* Is this the best way to solve the problem?
+* Is this the right part of the code to modify?
+* Is this the right level of abstraction?
+* Is the interface general enough? Too general? Forward compatible?
+
+### Functionality
+
+* Does it do what it’s trying to do?
+* Is it doing it in the most efﬁcient way?
+* Does it handle all the corner / error cases correctly?
+
+### Maintainability / Robustness
+
+* Is the code clear? Appropriately commented?
+* Does it duplicate another piece of code?
+* Does the code make hidden assumptions?
+* Does it introduce sections which need to be kept **in sync** with other
+  sections?
+* Are there other **traps** someone modifying this code might fall into?
+
+**Note:** Sometimes you will work in areas which have identified maintainability
+and/or robustness issues. In such cases, maintainers may ask you to make
+additional changes, such that your submitted code does not make things worse or
+point you to other patches are already being worked on.
+
+### System properties
+
+In some areas of the code, system properties such as
+* Code size
+* Performance
+* Scalability
+* Latency
+* Complexity
+* &c
+are also important during code reviews.
+
+### Style
+
+* Comments, carriage returns, **snuggly braces**, &c
+* See [CODING_STYLE][5] and [tools/libxl/CODING_STYLE][6]
+* No extraneous whitespace changes
+
+### Documentation and testing
+
+* If there is pre-existing documentation in the tree, such as man pages, design
+  documents, etc. a contributor may be asked to update the documentation
+  alongside the change. Documentation is typically present in the [docs][7]
+  folder.
+* When adding new features that have an impact on the end-user,
+  a contributor should include an update to the [SUPPORT.md][8] file.
+  Typically, more complex features require several patch series before it is
+  ready to be advertised in SUPPORT.md
+* When adding new features, a contributor may be asked to provide tests or
+  ensure that existing tests pass
+
+#### Testing for the Xen Project Hypervisor
+
+Tests are typically located in one of the following directories
+* **Unit tests**: [tools/tests][9] or [xen/test][A]<br>
+  Unit testing is hard for a system like Xen and typically requires building a
+  subsystem of your tree. If your change can be easily unit tested, you should
+  consider submitting tests with your patch.
+* **Build and smoke test**: see [Xen GitLab CI][B]<br>
+  Runs build tests for a combination of various distros and compilers against
+  changes committed to staging. Developers can join as members and test their
+  development branches **before** submitting a patch.
+* **XTF tests** (microkernel-based tests): see [XTF][C]<br>
+  XTF has been designed to test interactions between your software and hardware.
+  It is a very useful tool for testing low level functionality and is executed
+  as part of the project's CI system. XTF can be easily executed locally on
+  xen.git trees.
+* **osstest**: see [README][D]<br>
+  Osstest is the Xen Projects automated test system, which tests basic Xen use
+  cases on a variety of different hardware. Before changes are committed, but
+  **after** they have been reviewed. A contributor’s changes **cannot be
+  applied to master** unless the tests pass this test suite. Note that XTF and
+  other tests are also executed as part of osstest.
+
+### Patch / Patch series information
+
+* Informative one-line changelog
+* Full changelog
+* Motivation described
+* All important technical changes mentioned
+* Changes since previous revision listed
+* Reviewed-by’s and Acked-by’s dropped if appropriate
+
+More information related to these items can be found in our
+[Patch submission Guide][E].
+
+## Code Review Workflow
+
+This section is important for code authors and reviewers. We recommend that in
+particular new code authors carefully read this section.
+
+### Workflow from a Reviewer's Perspective
+
+Patch series typically contain multiple changes to the codebase, some
+transforming the same section of the codebase multiple times. It is quite common
+for patches in a patch series to rely on the previous ones. This means that code
+reviewers review  patches and patch series **sequentially** and **the structure
+of a patch series guides the code review process**. Sometimes in a long series,
+patches {1,2}/10 will be clean-ups, {3-6}/10 will be general reorganisations
+which don't really seem to do anything and then {7-10}/10 will be the substance
+of the series, which helps the code reviewer understand what {3-6}/10 were
+about.
+
+Generally there are no hard rules on how to structure a series, as the structure
+of a series is very code specific and it is hard to give specific advice. There
+are some general tips which  help and some general patterns.
+
+**Tips:**
+
+* Outline the thinking behind the structure of the patch series. This can make
+  a huge difference and helps ensure that the code reviewer understands what the
+  series is trying to achieve and which portions are addressing which problems.
+* Try and keep changes that belong to a subsystem together
+* Expect that the structure of a patch series sometimes may need to change
+  between different versions of a patch series
+* **Most importantly**: Start small. Don't submit a large and complex patch
+  series as the first interaction with the community. Try and pick a smaller
+  task first (e.g. a bug-fix, a clean-up task, etc.) such that you don't have
+  to learn the tools, code and deal with a large patch series all together for
+  the first time.
+
+**General Patterns:**
+
+If there are multiple subsystems involved in your series, then these are best
+separated out into **sets of patches**, which roughly follow the following
+seven categories. In other words: you would end up with **7 categories x N
+subsystems**. In some cases, there is a **global set of patches** that affect
+all subsytems (e.g. headers, macros, documentation) impacting all changed
+subsystems which ideally comes **before** subsystem specific changes.
+
+The seven categories typically making up a logical set of patches
+1. Cleanups and/or new Independent Helper Functions
+2. Reorganisations
+3. Headers, APIs, Documentation and anything which helps understand the
+   substance of a series
+4. The substance of the change
+5. Cleanups of any infelicities introduced temporarily
+6. Deleting old code
+7. Test code
+
+Note that in many cases, some of the listed categories are not always present
+in each set, as they are not needed. Of course, sometimes there are several
+patches describing **changes of substance**, which could be ordered in different
+ways: in such cases it may be necessary to put reorganisations in between these
+patches.
+
+If a series is structured this way, it is often possible to agree early on,
+that a significant portion of the changes are fine and to check these in
+independently of the rest of the patch series. This means that there is
+* Less work for authors to rebase
+* Less cognitive overhead for reviewers to review successive versions of a
+  series
+* The possibility for different code reviewers to review portions of such
+  large changes independently
+
+**Trade-Offs:**
+
+* In some cases, following the general pattern above may create extra patches
+  and may make a series more complex and harder to understand.
+* Crafting a more extensive cover letter will be extra effort: in most cases,
+  the extra time investment will be saving time during the code review process.
+  Verbosity is not the goal, but clarity is. Before you send a larger series
+  in particular: try and put yourself into the position of a code reviewer and
+  try to identify information that helps a code reviewer follow the patch
+  series.
+* In cases where changes need to be back-ported to older releases, moving
+  general cleanups last is often preferable: in such cases the **substance of
+  the change** is back-ported, whereas general cleanups and improvements are
+  not.
+
+**Example:**
+* [[PATCH v3 00/18] VM forking][H] is a complex patch series with an exemplary
+  cover letter. Notably, it contains the following elements
+  * It provides a description of the design goals and detailed description
+    of the steps required to fork a VM.
+  * A description of changes to the user interface
+  * It contains some information about the test status of the series including
+    some performance information.
+  * It maps the series onto the categories listed above. As expected, not
+    all categories are used in this case. However, the series does contain
+    elements of **1** (in this case preparation to enable the functionality),
+    **2** reorganisations and other non-functional changes that enable the
+    rest of the series and **4** the substance of the series with additional
+    information to make it easier for the reviewer to parse the series.
+
+### Workflow from an Author's Perspective
+
+When code authors receive feedback on their patches, they typically first try
+to clarify feedback they do not understand. For smaller patches or patch series
+it makes sense to wait until receiving feedback on the entire series before
+sending out a new version addressing the changes. For larger series, it may
+make sense to send out a new revision earlier.
+
+As a reviewer, you need some system that helps ensure that you address all
+review comments. This can be tedious when trying to map a hierarchical e-mail
+thread onto a code-base. Different people use different techniques from using
+* In-code TODO statements with comment snippets copied into the code
+* To keeping a separate TODO list
+* To printing out the review conversation tree and ticking off what has been
+  addressed
+* A combination of the above
+
+### <a name="problems"></a>Problematic Patch Reviews
+
+A typical waterfall software development process is sequential with the
+following steps: define requirements, analyse, design, code, test and deploy.
+Problems uncovered by code review or testing at such a late stage can cause
+costly redesign and delays. The principle of **[Shift Left][D]** is to take a
+task that is traditionally performed at a late stage in the process and perform
+that task at earlier stages. The goal is to save time by avoiding refactoring.
+
+Typically, problematic patch reviews uncover issues such as wrong or missed
+assumptions, a problematic architecture or design, or other bugs that require
+significant re-implementation of a patch series to fix the issue.
+
+The principle of **Shift Left** also applies in code reviews. Let's assume a
+series has a major flaw: ideally, this flaw would be picked up in the **first
+or second iteration** of the code review. As significant parts of the code may
+have to be re-written, it does not make sense for reviewers to highlight minor
+issues (such as style issues) until major flaws have been addressed of the
+affected part of a patch series. In such cases, providing feedback on minor
+issues reviewers cause the code author and themselves extra work by asking for
+changes to code, which ultimately may be changed later.
+
+To make it possible for code reviewers to identify major issues early, it is
+important for code-authors to highlight possible issues in a cover letter and
+to structure a patch series in such a way that makes it easy for reviewers to
+separate difficult and easy portions of a patch series. This will enable
+reviewers to progress uncontroversial portions of a patch independently from
+controversial ones.
+
+### Reviewing for Patch Authors
+
+The following presentation by George Dunlap, provides an excellent overview on
+how we do code reviews, specifically targeting non-maintainers.
+
+As a community, we would love to have more help reviewing, including from **new
+community members**. But many people
+* do not know where to start, or
+* believe that their review would not contribute much, or
+* may feel intimidated reviewing the code of more established community members
+
+The presentation demonstrates that you do not need to worry about any of these
+concerns. In addition, reviewing other people's patches helps you
+* write better patches and experience the code review process from the other
+  side
+* and build more influence within the community over time
+
+Thus, we recommend strongly that **patch authors** read the watch the recording
+or read the slides:
+* [Patch Review for Non-Maintainers slides][F]
+* [Patch Review for Non-Maintainers recording - 20"][G]
+
+[1]: communication-practice.md
+[2]: resolving-disagreement.md
+[3]: https://wiki.xenproject.org/wiki/Submitting_Xen_Project_Patches
+[4]: https://wiki.xenproject.org/wiki/Managing_Xen_Patches_with_Git
+[5]: https://xenbits.xenproject.org/gitweb/?p=xen.git;a=blob;f=CODING_STYLE
+[6]: https://xenbits.xenproject.org/gitweb/?p=xen.git;a=blob;f=tools/libxl/CODING_STYLE
+[7]: https://xenbits.xenproject.org/gitweb/?p=xen.git;a=tree;f=docs
+[8]: https://xenbits.xenproject.org/gitweb/?p=xen.git;a=blob;f=SUPPORT.md
+[9]: https://xenbits.xenproject.org/gitweb/?p=xen.git;a=tree;f=tools/tests
+[A]: https://xenbits.xenproject.org/gitweb/?p=xen.git;a=tree;f=xen/test
+[B]: https://gitlab.com/xen-project/xen/pipelines
+[C]: https://xenbits.xenproject.org/docs/xtf/
+[D]: https://xenbits.xenproject.org/gitweb/?p=osstest.git;a=blob;f=README
+[E]: https://wiki.xenproject.org/wiki/Submitting_Xen_Project_Patches
+[D]: https://devopedia.org/shift-left
+[F]: https://www.slideshare.net/xen_com_mgr/xpdds19-keynote-patch-review-for-nonmaintainers-george-dunlap-citrix-systems-uk-ltd
+[G]: https://www.youtube.com/watch?v=ehZvBmrLRwg
+[H]: https://lists.xenproject.org/archives/html/xen-devel/2019-12/threads.html#02097
-- 
2.13.0



--===============6196194260566939854==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRl
dmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

--===============6196194260566939854==--

From minios-devel-bounces@lists.xenproject.org Mon Dec 30 19:33:54 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 30 Dec 2019 19:33:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1im0na-0004Dh-Eq; Mon, 30 Dec 2019 19:33:54 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=dA5B=2U=xenproject.org=lars.kurth@srs-us1.protection.inumbo.net>)
 id 1im0na-0004DK-2u
 for minios-devel@lists.xenproject.org; Mon, 30 Dec 2019 19:33:54 +0000
X-Inumbo-ID: 1d786ddc-2b3b-11ea-88e7-bc764e2007e4
Received: from mail.xenproject.org (unknown [104.130.215.37])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 1d786ddc-2b3b-11ea-88e7-bc764e2007e4;
 Mon, 30 Dec 2019 19:32:29 +0000 (UTC)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1im0m9-0003TL-GW; Mon, 30 Dec 2019 19:32:25 +0000
Received: from localhost ([127.0.0.1] helo=MacBook-Pro-2.Home)
 by xenbits.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1im0m9-0007YU-At; Mon, 30 Dec 2019 19:32:25 +0000
From: Lars Kurth <lars.kurth@xenproject.org>
To: xen-devel@lists.xenproject.org
Date: Mon, 30 Dec 2019 19:32:12 +0000
Message-Id: <cover.1577733361.git.lars.kurth@citrix.com>
X-Mailer: git-send-email 2.13.0
Subject: [Minios-devel] [PATCH v4 0/7] Code of Conduct + Extra Guides and
 Best Practices + VOTE
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Lars Kurth <lars.kurth@citrix.com>, xen-api@lists.xenproject.org,
 minios-devel@lists.xenproject.org, committers@xenproject.org,
 mirageos-devel@lists.xenproject.org, win-pv-devel@lists.xenproject.org
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogTGFycyBLdXJ0aCA8bGFycy5rdXJ0aEBjaXRyaXguY29tPgoKVGhpcyBzZXJpZXMgcHJv
cG9zZXMgYSBjb25jcmV0ZSB2ZXJzaW9uIG9mIHRoZSBYZW4gUHJvamVjdApDb0MgYmFzZWQgb24g
djEuNCBvZiB0aGUgQ29udHJpYnV0b3IgQ292ZW5hbnQuIFNlZSBbMV0KCkNsb3NpbmcgdGhlIGRp
c2N1c3Npb24KPT09PT09PT09PT09PT09PT09PT09PQpJIHRoaW5rIHdlIGFyZSBhdCB0aGUgcG9p
bnQgd2hlcmUgd2UgYXJlIHJlYWR5IHRvIHB1Ymxpc2ggb3VyIGd1aWRhbmNlLgpGZWVkYmFjayBo
YXMgYmVlbiBtaW5vciBzaW5jZSB0aGUgbGFzdCB2ZXJzaW9uIGFuZCBsb29zZSBlbmRzIHdlcmUg
cHJpbWFyaWx5CnRvIGRvIHdpdGggbWlzc2luZyBleGFtcGxlcy4KClRvIGNsb3NlIHRoaXMsIEkg
d2FudGVkIHRvIGdldCB2b3RlcyBvbiB0aGUgcHJvcG9zYWwgaW4gdGhlIHVzdWFsIHdheS4KVGVj
aG5pY2FsbHksIG9ubHkgbGVhZGVyc2hpcCB0ZWFtIG1lbWJlcnMgb2YgbWF0dXJlIHByb2plY3Rz
IHdoaWNoIGFyZQpIeXBlcnZpc29yLCBYQVBJIGFuZCB0aGUgV2luZG93cyBQViBkcml2ZXIgcHJv
amVjdCBjYW4gdm90ZS4KCkhvd2V2ZXIsIGluIHRoaXMgY2FzZSBJIGRvIGJlbGlldmUgd2UgZG8g
d2FudCB0byBoZWFyIHZvaWNlcyBvZiBvdGhlcnMuCgpWb3Rpbmcgd291bGQgZm9sbG93IHRoZSBy
dWxlcyBvdXRsaW5lZCBpbgpodHRwczovL3hlbnByb2plY3Qub3JnL2RldmVsb3BlcnMvZ292ZXJu
YW5jZS8jcHJvamVjdC1kZWNpc2lvbnMKCkxlYWRlcnNoaXAgdGVhbSBtZW1iZXJzIHNob3VsZCB2
b3RlIGJ5IHJlcGx5aW5nIGlmIHRoZXkgYXJlIGhhcHB5IHdpdGggdGhlCnN1YnN0YW5jZSBvZiB0
aGUgcHJvcG9zYWwgYnkgdXNpbmcgdGhlIHVzdWFsIHRlcm1pbm9sb2d5CisyIDogSSBhbSBoYXBw
eSB3aXRoIHRoaXMgcHJvcG9zYWwsIGFuZCBJIHdpbGwgYXJndWUgZm9yIGl0CisxIDogSSBhbSBo
YXBweSB3aXRoIHRoaXMgcHJvcG9zYWwsIGJ1dCB3aWxsIG5vdCBhcmd1ZSBmb3IgaXQKMCA6IEkg
aGF2ZSBubyBvcGluaW9uCi0xIDogSSBhbSBub3QgaGFwcHkgd2l0aCB0aGlzIHByb3Bvc2FsLCBi
dXQgd2lsbCBub3QgYXJndWUgYWdhaW5zdCBpdAotMiA6IEkgYW0gbm90IGhhcHB5IHdpdGggdGhp
cyBwcm9wb3NhbCwgYW5kIEkgd2lsbCBhcmd1ZSBhZ2FpbnN0IGl0CgpJZiB0aGVyZSBhcmUgbWlu
b3IgY2hhbmdlcyAoc3VjaCBhcyB0eXBvcywgZXRjKSB3ZSBzaG91bGQgZml4IHRoaXMgaW4gZHVl
CmNvdXJzZS4gSWYgdGhlcmUgYXJlIG1ham9yIG9iamVjdGlvbnMsIHBsZWFzZSBoaWdobGlnaHQg
aGVyZSBidXQgYWxzbwpyYWlzZSBpdCBhZ2FpbnN0IHRoZSBzcGVjaWZpYyBwYXRjaCBhbmQgbWFr
ZSBjbGVhciB3aGF0IHRoZSBvYmplY3Rpb24gaXMuCgpNb3JlIG5vdGVzIG9uIENoYW5nZXMKPT09
PT09PT09PT09PT09PT09PT09Ckl0IHRyaWVzIHRvIGFkZHJlc3MgYWxsIGVsZW1lbnRzIGluIHRo
ZSB2MiByZXZpZXcsIHdoaWNoIHJhaXNlZAphIG51bWJlciBvZiBoYXJkIHF1ZXN0aW9ucywgd2hp
Y2ggd2VyZSBtb3N0bHkgYWRkcmVzc2VkIGluIHYzLgoKT25lIG9mIHRoZSBtYWluIG91dHN0YW5k
aW5nIGl0ZW1zIGluIHYzIHdlcmUgZ29vZCBleGFtcGxlcyBmb3IgY292ZXIgbGV0dGVycwphbmQg
d2VsbCBzdHJ1Y3R1cmVkIGxhcmdlIHBhdGNoIHNlcmllcyB3aGljaCB3ZXJlIGFkZGVkIGluIHY0
LgoKRm9yIGNvbnZlbmllbmNlIG9mIHJldmlldyBhbmQgaW4gbGluZSB3aXRoIG90aGVyIHBvbGlj
eSBkb2N1bWVudHMKSSBjcmVhdGVkIGEgZ2l0IHJlcG9zaXRvcnkgYXQgWzJdLiBUaGlzIHNlcmll
cyBjYW4gYmUgZm91bmQgYXQgWzNdLgoKSSBhbHNvIHJlZm9ybWF0dGVkIHRoZSBzZXJpZXMgdG8g
ODAgY2hhcmFjdGVycyBhbmQgcmVwbGFjZWQKaW5saW5lIHN0eWxlIGxpbmtzIHdpdGggcmVmZXJl
bmNlIHN0eWxlIGxpbmtzIHRvIG1ha2UgaXQgZWFzaWVyCnRvIHN0aWNrIHRvIGEgY2hhcmFjdGVy
IGxpbWl0LgoKWzFdIGh0dHBzOi8vd3d3LmNvbnRyaWJ1dG9yLWNvdmVuYW50Lm9yZy92ZXJzaW9u
LzEvNC9jb2RlLW9mLWNvbmR1Y3QubWQKWzJdIGh0dHA6Ly94ZW5iaXRzLnhlbi5vcmcvZ2l0d2Vi
Lz9wPXBlb3BsZS9sYXJzay9jb2RlLW9mLWNvbmR1Y3QuZ2l0O2E9c3VtbWFyeQpbM10gaHR0cDov
L3hlbmJpdHMueGVuLm9yZy9naXR3ZWIvP3A9cGVvcGxlL2xhcnNrL2NvZGUtb2YtY29uZHVjdC5n
aXQ7YT1zaG9ydGxvZztoPXJlZnMvaGVhZHMvQ29DLXY0CgpDaGFuZ2VzIHNpbmNlIHYzCiAgKiBN
b3JlIHR5cG8gYW5kIHdoaXRlc3BhY2UgZml4ZXMKCiAgY29kZS1yZXZpZXctZ3VpZGUubWQKICAg
ICogQWRkZWQgZXhhbXBsZSB1bmRlciAqV29ya2Zsb3cgZnJvbSBhIFJldmlld2VyJ3MgUGVyc3Bl
Y3RpdmUqIHNlY3Rpb24KCkNoYW5nZXMgc2luY2UgdjIKICAqIFJlZm9ybWF0dGVkIGFsbCB0ZXh0
IHRvIDgwIGNoYXJhY3RlcnMgYW5kIHJlcGxhY2VkIGxpbmsgc3R5bGUKCiAgY29kZS1yZXZpZXct
Z3VpZGUubWQKICAqIEV4dGVuZCBpbnRyb2R1Y3Rpb24KICAqIEFkZCAiQ29kZSBSZXZpZXcgV29y
a2Zsb3ciIGNvdmVyaW5nCiAgICAtICJXb3JrZmxvdyBmcm9tIGEgUmV2aWV3ZXIncyBQZXJzcGVj
dGl2ZSIKICAgIC0gIldvcmtmbG93IGZyb20gYW4gQXV0aG9yJ3MgUGVyc3BlY3RpdmUiCiAgICAt
ICJQcm9ibGVtYXRpYyBQYXRjaCBSZXZpZXdzIgoKICBUT0RPOiBmaW5kIHN1aXRhYmxlIGV4YW1w
bGVzIG9uIGhvdyB0byBzdHJ1Y3R1cmUvZGVzY3JpYmUgZ29vZCBwYXRjaCBzZXJpZXMKCiAgY29t
bXVuaWNhdGlvbi1wcmFjdGljZS5tZAogICogRml4IHR5cG9zCiAgKiBFeHRlbmRlZCAiVmVyYm9z
ZSB2cy4gdGVyc2UiCiAgKiBBZGRlZCAiQ2xhcml0eSBvdmVyIFZlcmJvc2l0eSIKICAqIEJyb2tl
ICJJZGVudGlmeSB0aGUgc2V2ZXJpdHkgb2YgYW4gaXNzdWUgb3IgZGlzYWdyZWVtZW50IiBpbnRv
IHR3byBjaGFwdGVycwogICAgLSAiSWRlbnRpZnkgdGhlIHNldmVyaXR5IGFuZCBvcHRpb25hbGl0
eSBvZiByZXZpZXcgY29tbWVudHMiIGFuZCBtYWRlCiAgICAgIGNsYXJpZmljYXRpb25zCiAgICAt
ICJJZGVudGlmeSB0aGUgc2V2ZXJpdHkgb2YgYSBkaXNhZ3JlZW1lbnQiCiAgICAtIEV4cGFuZGVk
ICJQcmlvcml0aXplIHNpZ25pZmljYW50IGZsYXdzIgogICogQWRkZWQgIlJldmlld2VyczogVGFr
ZSBhY2NvdW50IG9mIHByZXZpb3VzIHJldmlld2VyKHMpIGNvbW1lbnRzIgogICogQWRkZWQgcHJl
Zml4ZXMgc3VjaCBhcyAiUmV2aWV3ZXJzOiIgd2hlcmUgYXBwcm9wcmlhdGUKCiAgcmVzb2x2aW5n
LWRpc2FncmVlbWVudC5tZAogICogRml4IHR5cG9zCiAgKiBBZGQgc2VjdGlvbjogIklzc3VlOiBN
dWx0aXBsZSB3YXlzIHRvIHNvbHZlIGEgcHJvYmxlbSIKCkNoYW5nZXMgc2luY2UgdjEKKiBDb2Rl
IG9mIENvbmR1Y3QKICBPbmx5IHdoaXRlc3BhY2UgY2hhbmdlcwoKKiBBZGRlZCBDb21tdW5pY2F0
aW9uIEd1aWRlCiAgQ29udGFpbnMgdmFsdWVzIGFuZCBhIHByb2Nlc3MgYmFzZWQgb24gYWR2aWNl
IGFuZCBtZWRpYXRpb24gaW4gY2FzZSBvZiBpc3N1ZXMKICBUaGlzIGlzIHRoZSBwcmltYXJ5IHBv
cnRhbCBmb3IKCiogQWRkZWQgQ29kZSBSZXZpZXcgR3VpZGUKICBXaGljaCBpcyBiYXNlZCBvbiBb
NF0gd2l0aCBzb21lIGFkZGl0aW9ucyBmb3IgY29tcGxldGVuZXNzCiAgSXQgcHJpbWFyaWx5IHNl
dHMgZXhwZWN0YXRpb25zIGFuZCBhbnl0aGluZyBjb21tdW5pY2F0aW9uIHJlbGF0ZWQgaXMgcmVt
b3ZlZAoKKiBBZGRlZCBndWlkZSBvbiBDb21tdW5pY2F0aW9uIEJlc3QgUHJhY3RpY2UKICBUYWtl
cyB0aGUgY29tbXVuaWNhdGlvbiBzZWN0aW9uIGZyb20gWzRdIGFuZCBleHBhbmRzIG9uIGl0IHdp
dGggbW9yZSBleGFtcGxlcwogIGFuZCBjYXNlcy4gVGhpcyBpcyBwcm9iYWJseSB3aGVyZSB3ZSBt
YXkgbmVlZCBzb21lIGRpc2N1c3Npb24KCiogQWRkZWQgZG9jdW1lbnQgb24gUmVzb2x2aW5nIERp
c2FncmVlbWVudAogIEEgdGlueSBiaXQgb2YgdGhlb3J5IHRvIHNldCB0aGUgc2NlbmUKICBJdCBj
b3ZlcnMgc29tZSBjb21tb24gY2FzZXMgb2YgZGlzYWdyZWVtZW50cyBhbmQgaG93IHdlIG1heSBh
cHByb2FjaCB0aGVtCiAgQWdhaW4sIHRoaXMgcHJvYmFibHkgbmVlZHMgc29tZSBkaXNjdXNzaW9u
CgpDYzogbWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCkNjOiB4ZW4tYXBpQGxpc3Rz
LnhlbnByb2plY3Qub3JnCkNjOiB3aW4tcHYtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKQ2M6
IG1pcmFnZW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCkNjOiBjb21taXR0ZXJzQHhlbnBy
b2plY3Qub3JnCgoKTGFycyBLdXJ0aCAoNyk6CiAgSW1wb3J0IHYxLjQgb2YgQ29udHJpYnV0b3Ig
Q292ZW5hbnQgQ29DCiAgWGVuIFByb2plY3QgQ29kZSBvZiBDb25kdWN0CiAgUmVmb3JtYXQgWGVu
IFByb2plY3QgQ29DIHRvIGZpdCBpbnRvIDgwIGNoYXJhY3RlciBsaW1pdAogIEFkZCBDb21tdW5p
Y2F0aW9uIEd1aWRlCiAgQWRkIENvZGUgUmV2aWV3IEd1aWRlCiAgQWRkIGd1aWRlIG9uIENvbW11
bmljYXRpb24gQmVzdCBQcmFjdGljZQogIEFkZGVkIFJlc29sdmluZyBEaXNhZ3JlZW1lbnQKCi0t
CjIuMTMuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
TWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5v
cmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1k
ZXZlbA==

From minios-devel-bounces@lists.xenproject.org Mon Dec 30 19:34:20 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 30 Dec 2019 19:34:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1im0o0-0004Sm-1D; Mon, 30 Dec 2019 19:34:20 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=dA5B=2U=xenproject.org=lars.kurth@srs-us1.protection.inumbo.net>)
 id 1im0nz-0004SG-3M
 for minios-devel@lists.xenproject.org; Mon, 30 Dec 2019 19:34:19 +0000
X-Inumbo-ID: 1e727aa2-2b3b-11ea-a1e1-bc764e2007e4
Received: from mail.xenproject.org (unknown [104.130.215.37])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 1e727aa2-2b3b-11ea-a1e1-bc764e2007e4;
 Mon, 30 Dec 2019 19:32:30 +0000 (UTC)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1im0mA-0003TQ-Dq; Mon, 30 Dec 2019 19:32:26 +0000
Received: from localhost ([127.0.0.1] helo=MacBook-Pro-2.Home)
 by xenbits.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1im0mA-0007YU-96; Mon, 30 Dec 2019 19:32:26 +0000
From: Lars Kurth <lars.kurth@xenproject.org>
To: xen-devel@lists.xenproject.org
Date: Mon, 30 Dec 2019 19:32:13 +0000
Message-Id: <00c6c80b12b1d201d7140626c7efe9d75645dee9.1577733361.git.lars.kurth@citrix.com>
X-Mailer: git-send-email 2.13.0
In-Reply-To: <cover.1577733361.git.lars.kurth@citrix.com>
References: <cover.1577733361.git.lars.kurth@citrix.com>
In-Reply-To: <cover.1577733361.git.lars.kurth@citrix.com>
References: <cover.1577733361.git.lars.kurth@citrix.com>
Subject: [Minios-devel] [PATCH v4 1/7] Import v1.4 of Contributor Covenant
 CoC
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Lars Kurth <lars.kurth@citrix.com>, xen-api@lists.xenproject.org,
 minios-devel@lists.xenproject.org, committers@xenproject.org,
 mirageos-devel@lists.xenproject.org, win-pv-devel@lists.xenproject.org
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogTGFycyBLdXJ0aCA8bGFycy5rdXJ0aEBjaXRyaXguY29tPgoKU2lnbmVkLW9mZi1ieTog
TGFycyBLdXJ0aCA8bGFycy5rdXJ0aEBjaXRyaXguY29tPgotLS0KQ2M6IG1pbmlvcy1kZXZlbEBs
aXN0cy54ZW5wcm9qZWN0Lm9yZwpDYzogeGVuLWFwaUBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpDYzog
d2luLXB2LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCkNjOiBtaXJhZ2Vvcy1kZXZlbEBsaXN0
cy54ZW5wcm9qZWN0Lm9yZwpDYzogY29tbWl0dGVyc0B4ZW5wcm9qZWN0Lm9yZwotLS0KIGNvZGUt
b2YtY29uZHVjdC5tZCB8IDc2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDc2IGluc2VydGlvbnMoKykKIGNyZWF0
ZSBtb2RlIDEwMDY0NCBjb2RlLW9mLWNvbmR1Y3QubWQKCmRpZmYgLS1naXQgYS9jb2RlLW9mLWNv
bmR1Y3QubWQgYi9jb2RlLW9mLWNvbmR1Y3QubWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uODFiMjE3YwotLS0gL2Rldi9udWxsCisrKyBiL2NvZGUtb2YtY29uZHVjdC5tZApA
QCAtMCwwICsxLDc2IEBACisjIENvbnRyaWJ1dG9yIENvdmVuYW50IENvZGUgb2YgQ29uZHVjdAor
CisjIyBPdXIgUGxlZGdlCisKK0luIHRoZSBpbnRlcmVzdCBvZiBmb3N0ZXJpbmcgYW4gb3BlbiBh
bmQgd2VsY29taW5nIGVudmlyb25tZW50LCB3ZSBhcworY29udHJpYnV0b3JzIGFuZCBtYWludGFp
bmVycyBwbGVkZ2UgdG8gbWFrZSBwYXJ0aWNpcGF0aW9uIGluIG91ciBwcm9qZWN0IGFuZAorb3Vy
IGNvbW11bml0eSBhIGhhcmFzc21lbnQtZnJlZSBleHBlcmllbmNlIGZvciBldmVyeW9uZSwgcmVn
YXJkbGVzcyBvZiBhZ2UsIGJvZHkKK3NpemUsIGRpc2FiaWxpdHksIGV0aG5pY2l0eSwgc2V4IGNo
YXJhY3RlcmlzdGljcywgZ2VuZGVyIGlkZW50aXR5IGFuZCBleHByZXNzaW9uLAorbGV2ZWwgb2Yg
ZXhwZXJpZW5jZSwgZWR1Y2F0aW9uLCBzb2Npby1lY29ub21pYyBzdGF0dXMsIG5hdGlvbmFsaXR5
LCBwZXJzb25hbAorYXBwZWFyYW5jZSwgcmFjZSwgcmVsaWdpb24sIG9yIHNleHVhbCBpZGVudGl0
eSBhbmQgb3JpZW50YXRpb24uCisKKyMjIE91ciBTdGFuZGFyZHMKKworRXhhbXBsZXMgb2YgYmVo
YXZpb3IgdGhhdCBjb250cmlidXRlcyB0byBjcmVhdGluZyBhIHBvc2l0aXZlIGVudmlyb25tZW50
CitpbmNsdWRlOgorCisqIFVzaW5nIHdlbGNvbWluZyBhbmQgaW5jbHVzaXZlIGxhbmd1YWdlCisq
IEJlaW5nIHJlc3BlY3RmdWwgb2YgZGlmZmVyaW5nIHZpZXdwb2ludHMgYW5kIGV4cGVyaWVuY2Vz
CisqIEdyYWNlZnVsbHkgYWNjZXB0aW5nIGNvbnN0cnVjdGl2ZSBjcml0aWNpc20KKyogRm9jdXNp
bmcgb24gd2hhdCBpcyBiZXN0IGZvciB0aGUgY29tbXVuaXR5CisqIFNob3dpbmcgZW1wYXRoeSB0
b3dhcmRzIG90aGVyIGNvbW11bml0eSBtZW1iZXJzCisKK0V4YW1wbGVzIG9mIHVuYWNjZXB0YWJs
ZSBiZWhhdmlvciBieSBwYXJ0aWNpcGFudHMgaW5jbHVkZToKKworKiBUaGUgdXNlIG9mIHNleHVh
bGl6ZWQgbGFuZ3VhZ2Ugb3IgaW1hZ2VyeSBhbmQgdW53ZWxjb21lIHNleHVhbCBhdHRlbnRpb24g
b3IKKyAgYWR2YW5jZXMKKyogVHJvbGxpbmcsIGluc3VsdGluZy9kZXJvZ2F0b3J5IGNvbW1lbnRz
LCBhbmQgcGVyc29uYWwgb3IgcG9saXRpY2FsIGF0dGFja3MKKyogUHVibGljIG9yIHByaXZhdGUg
aGFyYXNzbWVudAorKiBQdWJsaXNoaW5nIG90aGVycycgcHJpdmF0ZSBpbmZvcm1hdGlvbiwgc3Vj
aCBhcyBhIHBoeXNpY2FsIG9yIGVsZWN0cm9uaWMKKyAgYWRkcmVzcywgd2l0aG91dCBleHBsaWNp
dCBwZXJtaXNzaW9uCisqIE90aGVyIGNvbmR1Y3Qgd2hpY2ggY291bGQgcmVhc29uYWJseSBiZSBj
b25zaWRlcmVkIGluYXBwcm9wcmlhdGUgaW4gYQorICBwcm9mZXNzaW9uYWwgc2V0dGluZworCisj
IyBPdXIgUmVzcG9uc2liaWxpdGllcworCitQcm9qZWN0IG1haW50YWluZXJzIGFyZSByZXNwb25z
aWJsZSBmb3IgY2xhcmlmeWluZyB0aGUgc3RhbmRhcmRzIG9mIGFjY2VwdGFibGUKK2JlaGF2aW9y
IGFuZCBhcmUgZXhwZWN0ZWQgdG8gdGFrZSBhcHByb3ByaWF0ZSBhbmQgZmFpciBjb3JyZWN0aXZl
IGFjdGlvbiBpbgorcmVzcG9uc2UgdG8gYW55IGluc3RhbmNlcyBvZiB1bmFjY2VwdGFibGUgYmVo
YXZpb3IuCisKK1Byb2plY3QgbWFpbnRhaW5lcnMgaGF2ZSB0aGUgcmlnaHQgYW5kIHJlc3BvbnNp
YmlsaXR5IHRvIHJlbW92ZSwgZWRpdCwgb3IKK3JlamVjdCBjb21tZW50cywgY29tbWl0cywgY29k
ZSwgd2lraSBlZGl0cywgaXNzdWVzLCBhbmQgb3RoZXIgY29udHJpYnV0aW9ucwordGhhdCBhcmUg
bm90IGFsaWduZWQgdG8gdGhpcyBDb2RlIG9mIENvbmR1Y3QsIG9yIHRvIGJhbiB0ZW1wb3Jhcmls
eSBvcgorcGVybWFuZW50bHkgYW55IGNvbnRyaWJ1dG9yIGZvciBvdGhlciBiZWhhdmlvcnMgdGhh
dCB0aGV5IGRlZW0gaW5hcHByb3ByaWF0ZSwKK3RocmVhdGVuaW5nLCBvZmZlbnNpdmUsIG9yIGhh
cm1mdWwuCisKKyMjIFNjb3BlCisKK1RoaXMgQ29kZSBvZiBDb25kdWN0IGFwcGxpZXMgd2l0aGlu
IGFsbCBwcm9qZWN0IHNwYWNlcywgYW5kIGl0IGFsc28gYXBwbGllcyB3aGVuCithbiBpbmRpdmlk
dWFsIGlzIHJlcHJlc2VudGluZyB0aGUgcHJvamVjdCBvciBpdHMgY29tbXVuaXR5IGluIHB1Ymxp
YyBzcGFjZXMuCitFeGFtcGxlcyBvZiByZXByZXNlbnRpbmcgYSBwcm9qZWN0IG9yIGNvbW11bml0
eSBpbmNsdWRlIHVzaW5nIGFuIG9mZmljaWFsCitwcm9qZWN0IGUtbWFpbCBhZGRyZXNzLCBwb3N0
aW5nIHZpYSBhbiBvZmZpY2lhbCBzb2NpYWwgbWVkaWEgYWNjb3VudCwgb3IgYWN0aW5nCithcyBh
biBhcHBvaW50ZWQgcmVwcmVzZW50YXRpdmUgYXQgYW4gb25saW5lIG9yIG9mZmxpbmUgZXZlbnQu
IFJlcHJlc2VudGF0aW9uIG9mCithIHByb2plY3QgbWF5IGJlIGZ1cnRoZXIgZGVmaW5lZCBhbmQg
Y2xhcmlmaWVkIGJ5IHByb2plY3QgbWFpbnRhaW5lcnMuCisKKyMjIEVuZm9yY2VtZW50CisKK0lu
c3RhbmNlcyBvZiBhYnVzaXZlLCBoYXJhc3NpbmcsIG9yIG90aGVyd2lzZSB1bmFjY2VwdGFibGUg
YmVoYXZpb3IgbWF5IGJlCityZXBvcnRlZCBieSBjb250YWN0aW5nIHRoZSBwcm9qZWN0IHRlYW0g
YXQgW0lOU0VSVCBFTUFJTCBBRERSRVNTXS4gQWxsCitjb21wbGFpbnRzIHdpbGwgYmUgcmV2aWV3
ZWQgYW5kIGludmVzdGlnYXRlZCBhbmQgd2lsbCByZXN1bHQgaW4gYSByZXNwb25zZSB0aGF0Citp
cyBkZWVtZWQgbmVjZXNzYXJ5IGFuZCBhcHByb3ByaWF0ZSB0byB0aGUgY2lyY3Vtc3RhbmNlcy4g
VGhlIHByb2plY3QgdGVhbSBpcworb2JsaWdhdGVkIHRvIG1haW50YWluIGNvbmZpZGVudGlhbGl0
eSB3aXRoIHJlZ2FyZCB0byB0aGUgcmVwb3J0ZXIgb2YgYW4gaW5jaWRlbnQuCitGdXJ0aGVyIGRl
dGFpbHMgb2Ygc3BlY2lmaWMgZW5mb3JjZW1lbnQgcG9saWNpZXMgbWF5IGJlIHBvc3RlZCBzZXBh
cmF0ZWx5LgorCitQcm9qZWN0IG1haW50YWluZXJzIHdobyBkbyBub3QgZm9sbG93IG9yIGVuZm9y
Y2UgdGhlIENvZGUgb2YgQ29uZHVjdCBpbiBnb29kCitmYWl0aCBtYXkgZmFjZSB0ZW1wb3Jhcnkg
b3IgcGVybWFuZW50IHJlcGVyY3Vzc2lvbnMgYXMgZGV0ZXJtaW5lZCBieSBvdGhlcgorbWVtYmVy
cyBvZiB0aGUgcHJvamVjdCdzIGxlYWRlcnNoaXAuCisKKyMjIEF0dHJpYnV0aW9uCisKK1RoaXMg
Q29kZSBvZiBDb25kdWN0IGlzIGFkYXB0ZWQgZnJvbSB0aGUgW0NvbnRyaWJ1dG9yIENvdmVuYW50
XVtob21lcGFnZV0sIHZlcnNpb24gMS40LAorYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3LmNvbnRy
aWJ1dG9yLWNvdmVuYW50Lm9yZy92ZXJzaW9uLzEvNC9jb2RlLW9mLWNvbmR1Y3QuaHRtbAorCitb
aG9tZXBhZ2VdOiBodHRwczovL3d3dy5jb250cmlidXRvci1jb3ZlbmFudC5vcmcKKworRm9yIGFu
c3dlcnMgdG8gY29tbW9uIHF1ZXN0aW9ucyBhYm91dCB0aGlzIGNvZGUgb2YgY29uZHVjdCwgc2Vl
CitodHRwczovL3d3dy5jb250cmlidXRvci1jb3ZlbmFudC5vcmcvZmFxCi0tIAoyLjEzLjAKCgpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2
ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczov
L2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Mon Dec 30 19:34:40 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 30 Dec 2019 19:34:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1im0oK-0004bf-Hq; Mon, 30 Dec 2019 19:34:40 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=dA5B=2U=xenproject.org=lars.kurth@srs-us1.protection.inumbo.net>)
 id 1im0oJ-0004bB-4c
 for minios-devel@lists.xenproject.org; Mon, 30 Dec 2019 19:34:39 +0000
X-Inumbo-ID: 1f9f1c0a-2b3b-11ea-88e7-bc764e2007e4
Received: from mail.xenproject.org (unknown [104.130.215.37])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 1f9f1c0a-2b3b-11ea-88e7-bc764e2007e4;
 Mon, 30 Dec 2019 19:32:32 +0000 (UTC)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1im0mD-0003Tq-IT; Mon, 30 Dec 2019 19:32:29 +0000
Received: from localhost ([127.0.0.1] helo=MacBook-Pro-2.Home)
 by xenbits.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1im0mD-0007YU-Bu; Mon, 30 Dec 2019 19:32:29 +0000
From: Lars Kurth <lars.kurth@xenproject.org>
To: xen-devel@lists.xenproject.org
Date: Mon, 30 Dec 2019 19:32:16 +0000
Message-Id: <e2ebacd20a0e33967ccf02918505c8a8cedc95ab.1577733361.git.lars.kurth@citrix.com>
X-Mailer: git-send-email 2.13.0
In-Reply-To: <cover.1577733361.git.lars.kurth@citrix.com>
References: <cover.1577733361.git.lars.kurth@citrix.com>
MIME-Version: 1.0
In-Reply-To: <cover.1577733361.git.lars.kurth@citrix.com>
References: <cover.1577733361.git.lars.kurth@citrix.com>
Subject: [Minios-devel] [PATCH v4 4/7] Add Communication Guide
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Lars Kurth <lars.kurth@citrix.com>, xen-api@lists.xenproject.org,
 minios-devel@lists.xenproject.org, committers@xenproject.org,
 mirageos-devel@lists.xenproject.org, win-pv-devel@lists.xenproject.org
Content-Type: multipart/mixed; boundary="===============5019131368652552164=="
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

--===============5019131368652552164==
Content-Type: text/plain; charset=y
Content-Transfer-Encoding: 8bit

From: Lars Kurth <lars.kurth@citrix.com>

This document is a portal page that lays out our gold standard,
best practices for some common situations and mechanisms to help
resolve issues that can have a negative effect on our community.

Detail is covered in subsequent documents

Changes since v3
- Also changes the TODO in code-of-conduct.md which had been lost
  in v2

Changes since v2 (introduced in v2)
- Make lines break at 80 characters

Signed-off-by: Lars Kurth <lars.kurth@citrix.com>
---
Cc: minios-devel@lists.xenproject.org
Cc: xen-api@lists.xenproject.org
Cc: win-pv-devel@lists.xenproject.org
Cc: mirageos-devel@lists.xenproject.org
Cc: committers@xenproject.org
---
 code-of-conduct.md     |  4 +--
 communication-guide.md | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 69 insertions(+), 2 deletions(-)
 create mode 100644 communication-guide.md

diff --git a/code-of-conduct.md b/code-of-conduct.md
index 7c29a4f..a6080cd 100644
--- a/code-of-conduct.md
+++ b/code-of-conduct.md
@@ -14,7 +14,7 @@ personal appearance, race, religion, or sexual identity and orientation.
 We believe that a Code of Conduct can help create a harassment-free environment,
 but is not sufficient to create a welcoming environment on its own: guidance on
 creating a welcoming environment, how to communicate in an effective and
-friendly way, etc. can be found [here][guidance].
+friendly way, etc. can be found [here][guidance]].
 
 Examples of unacceptable behavior by participants include:
 
@@ -85,7 +85,7 @@ version 1.4, available at
 https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
 
 [homepage]: https://www.contributor-covenant.org
-[guidance]: TODO-INSERT-URL
+[guidance]: communication-guide.md
 
 For answers to common questions about this code of conduct, see
 https://www.contributor-covenant.org/faq
diff --git a/communication-guide.md b/communication-guide.md
new file mode 100644
index 0000000..153b100
--- /dev/null
+++ b/communication-guide.md
@@ -0,0 +1,67 @@
+# Communication Guide
+
+We believe that our [Code of Conduct](code-of-conduct.md) can help create a
+harassment-free environment, but is not sufficient to create a welcoming
+environment on its own. We can all make mistakes: when we do, we take
+responsibility for them and try to improve.
+
+This document lays out our gold standard, best practices for some common
+situations and mechanisms to help resolve issues that can have a
+negative effect on our community.
+
+## Goal
+
+We want a productive, welcoming and agile community that can welcome new
+ideas in a complex technical field which is able to reflect on and improve how
+we work.
+
+## Communication & Handling Differences in Opinions
+
+Examples of behavior that contributes to creating a positive environment
+include:
+* Use welcoming and inclusive language
+* Keep discussions technical and actionable
+* Be respectful of differing viewpoints and experiences
+* Be aware of your own and counterpart’s communication style and culture
+* Gracefully accept constructive criticism
+* Focus on what is best for the community
+* Show empathy towards other community members
+* Resolve differences in opinion effectively
+
+## Getting Help
+
+When developing code collaboratively, technical discussion and disagreements
+are unavoidable. Our contributors come from different countries and cultures,
+are driven by different goals and take pride in their work and in their point
+of view. This invariably can lead to lengthy and unproductive debate,
+followed by indecision, sometimes this can impact working relationships
+or lead to other issues that can have a negative effect on our community.
+
+To minimize such issue, we provide a 3-stage process
+* Self-help as outlined in this document
+* Ability to ask for an independent opinion or help in private
+* Mediation between parties which disagree. In this case a neutral community
+  member assists the disputing parties resolve the issues or will work with the
+  parties such that they can improve future interactions.
+
+If you need and independent opinion or help, feel free to contact
+mediation@xenproject.org. The team behind mediation@ is made up of the
+same community members as those listed in the Conduct Team: see
+[Code of Conduct](code-of-conduct.md). In addition, team members are obligated
+to maintain confidentiality with regard discussions that take place. If you
+have concerns about any of the members of the mediation@ alias, you are
+welcome to contact precisely the team member(s) of your choice. In this case,
+please make certain that you highlight the nature of a request by making sure
+that either help or mediation is mentioned in the e-mail subject or body.
+
+## Specific Topics and Best Practice
+
+* [Code Review Guide](code-review-guide.md):
+  Essential reading for code reviewers and contributors
+* [Communication Best Practice](communication-practice.md):
+  This guide covers communication guidelines for code reviewers and authors.
+  It should help you create self-awareness, anticipate, avoid  and help resolve
+  communication issues.
+* [Resolving Disagreement](resolving-disagreement.md):
+  This guide lays out common situations that can lead to dead-lock and shows
+  common patterns on how to avoid and resolve issues.
-- 
2.13.0



--===============5019131368652552164==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRl
dmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

--===============5019131368652552164==--

From minios-devel-bounces@lists.xenproject.org Mon Dec 30 19:34:59 2019
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 30 Dec 2019 19:34:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1im0od-0004jt-Qv; Mon, 30 Dec 2019 19:34:59 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <SRS0=dA5B=2U=xenproject.org=lars.kurth@srs-us1.protection.inumbo.net>)
 id 1im0od-0004jV-61
 for minios-devel@lists.xenproject.org; Mon, 30 Dec 2019 19:34:59 +0000
X-Inumbo-ID: 21c48c4a-2b3b-11ea-88e7-bc764e2007e4
Received: from mail.xenproject.org (unknown [104.130.215.37])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 21c48c4a-2b3b-11ea-88e7-bc764e2007e4;
 Mon, 30 Dec 2019 19:32:35 +0000 (UTC)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1im0mF-0003UC-QT; Mon, 30 Dec 2019 19:32:31 +0000
Received: from localhost ([127.0.0.1] helo=MacBook-Pro-2.Home)
 by xenbits.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <lars.kurth@xenproject.org>)
 id 1im0mF-0007YU-DD; Mon, 30 Dec 2019 19:32:31 +0000
From: Lars Kurth <lars.kurth@xenproject.org>
To: xen-devel@lists.xenproject.org
Date: Mon, 30 Dec 2019 19:32:18 +0000
Message-Id: <2d005116379febe0e6cfe0ea32792eb90bc74f9d.1577733361.git.lars.kurth@citrix.com>
X-Mailer: git-send-email 2.13.0
In-Reply-To: <cover.1577733361.git.lars.kurth@citrix.com>
References: <cover.1577733361.git.lars.kurth@citrix.com>
MIME-Version: 1.0
In-Reply-To: <cover.1577733361.git.lars.kurth@citrix.com>
References: <cover.1577733361.git.lars.kurth@citrix.com>
Subject: [Minios-devel] [PATCH v4 6/7] Add guide on Communication Best
 Practice
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Lars Kurth <lars.kurth@citrix.com>, xen-api@lists.xenproject.org,
 minios-devel@lists.xenproject.org, committers@xenproject.org,
 mirageos-devel@lists.xenproject.org, win-pv-devel@lists.xenproject.org
Content-Type: multipart/mixed; boundary="===============6429910297832936900=="
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

--===============6429910297832936900==
Content-Type: text/plain; charset=y
Content-Transfer-Encoding: 8bit

From: Lars Kurth <lars.kurth@citrix.com>

This guide covers the bulk on Best Practice related to code review
It primarily focusses on code review interactions
It also covers how to deal with Misunderstandings and Cultural
Differences

Changes since v3
* Fixed typo

Changes since v2 (added in v2)
* Fix typos
* Extended "Verbose vs. terse"
* Added "Clarity over Verbosity"
* Broke "Identify the severity of an issue or disagreement" into two chapters
  - "Identify the severity and optionality of review comments" and made
    clarifications
  - "Identify the severity of a disagreement"
  - Expanded "Prioritize significant flaws"
* Added "Reviewers: Take account of previous reviewer(s) comments"
* Added prefixes such as "Reviewers:" where appropriate
* Fixed lien wrapping to 80 characters
* Replaced inline links with reference links

Signed-off-by: Lars Kurth <lars.kurth@citrix.com>
---
Cc: minios-devel@lists.xenproject.org
Cc: xen-api@lists.xenproject.org
Cc: win-pv-devel@lists.xenproject.org
Cc: mirageos-devel@lists.xenproject.org
Cc: committers@xenproject.org
---
 communication-practice.md | 504 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 504 insertions(+)
 create mode 100644 communication-practice.md

diff --git a/communication-practice.md b/communication-practice.md
new file mode 100644
index 0000000..438b73a
--- /dev/null
+++ b/communication-practice.md
@@ -0,0 +1,504 @@
+# Communication Best Practice
+
+This guide provides communication Best Practice that helps you in
+* Using welcoming and inclusive language
+* Keeping discussions technical and actionable
+* Being respectful of differing viewpoints and experiences
+* Being aware of your own and counterpart’s communication style and culture
+* Show empathy towards other community members
+
+## Code reviews for **reviewers** and **patch authors**
+
+Before embarking on a code review, it is important to remember that
+* A poorly executed code review can hurt the contributors feeling, even when a
+  reviewer did not intend to do so. Feeling defensive is a normal reaction to
+  a critique or feedback. A reviewer should be aware of how the pitch, tone,
+  or sentiment of their comments could be interpreted by the contributor. The
+  same applies to responses of an author to the reviewer.
+* When reviewing someone's code, you are ultimately looking for issues. A good
+  code reviewer is able to mentally separate finding issues from articulating
+  code review comments in a constructive and positive manner: depending on your
+  personality this can be **difficult** and you may need to develop a technique
+  that works for you.
+* As software engineers we like to be proud of the solutions we came up with.
+  This can make it easy to take another people’s criticism personally. Always
+  remember that it is the code that is being reviewed, not you as a person.
+* When you receive code review feedback, please be aware that we have reviewers
+  from different backgrounds, communication styles and cultures. Although we
+  all trying to create a productive, welcoming and agile environment, we do
+  not always succeed.
+
+### Express appreciation
+
+As the nature of code review to find bugs and possible issues, it is very easy
+for reviewers to get into a mode of operation where the patch review ends up
+being a list of issues, not mentioning what is right and well done. This can
+lead to the code submitter interpreting your feedback in a negative way.
+
+The opening of a code review provides an opportunity to address this and also
+sets the tone for the rest of the code review. Starting **every** review on a
+positive note, helps set the tone for the rest of the review.
+
+For an initial patch, you can use phrases such as
+> Thanks for the patch
+> Thanks for doing this
+
+For further revisions within a review, phrases such as
+> Thank you for addressing the last set of changes
+
+If you believe the code was good, it is good practice to highlight this by
+using phrases such as
+> Looks good, just a few comments
+> The changes you have made since the last version look good
+
+If you think there were issues too many with the code to use one of the
+phrases, you can still start on a positive note, by for example saying
+> I think this is a good change
+> I think this is a good feature proposal
+
+It is also entirely fine to highlight specific changes as good. The best place
+to do this, is at the top of a patch, as addressing code review comments
+typically requires a contributor to go through the list of things to address
+and an in-lined positive comment is likely to break that workflow.
+
+You should also consider, that if you review a patch of an experienced
+contributor phrases such as *Thanks for the patch* could come across as
+patronizing, while using *Thanks for doing this* is less likely to be
+interpreted as such.
+
+Appreciation should also be expressed by patch authors when asking for
+clarifications to a review or responding to questions. A simple
+> Thank you for your feedback
+> Thank you for your reply
+> Thank you XXX!
+
+is normally sufficient.
+
+### Avoid opinion: stick to the facts
+
+The way how a reviewer expresses feedback, has a big impact on how the author
+perceives the feedback. Key to this is what we call **stick to the facts**.
+The same is true when a patch author is responding to a comment from a
+reviewer.
+
+One of our maintainers has been studying Mandarin for several years and has
+come across the most strongly-worded dictionary entry [he has ever seen][1].
+This example illustrates the problem of using opinion in code reviews vs.
+using facts extremely well.
+
+> 裹脚 (guo3 jiao3): foot-binding (a vile feudal practice which crippled women
+> both physically and spiritually)
+
+This is not something one is used to hearing from dictionary entries. Once you
+investigate the practice foot-binding, it is hard to disagree with the
+dictionary entry. However, the statement does not contain much information. If
+you read it without knowing what foot-binding is, it is hard to be convinced
+by this statement. The main take-away is that the author of the dictionary
+entry had strong opinions about this topic. It does not tell you why you
+should have the same opinion.
+
+Compare this to the [Wikipedia entry][2]
+
+> Foot binding was the custom of applying tight binding to the feet of young
+> girls to modify the shape and size of their feet. ... foot binding was a
+> painful practice and significantly limited the mobility of women, resulting
+> in lifelong disabilities for most of its subjects. ... Binding usually
+> started during the winter months since the feet were more likely to be numb,
+> and therefore the pain would not be as extreme. …The toes on each foot
+> were curled under, then pressed with great force downwards and squeezed
+> into the sole of the foot until the toes broke…
+
+Without going into the details of foot-binding, it is noticeable that none of
+what is written above uses opinion which could be interpreted as inflammatory
+language. It is a list of simple facts that are laid out in a way that make it
+obvious what the correct conclusion is.
+
+Because the Wikipedia entry is entirely fact based it is more powerful and
+persuasive than the dictionary entry. The same applies to code reviews.
+
+Making statements in code reviews such as
+> Your code is garbage
+> This idea is stupid
+
+besides being an opinion is rude and counter productive
+* It will make the patch author angry: instead of finding a solution to the
+  problem the author will spend time and mental energy wrestling with their
+  feelings
+* It does not contain any information
+* Facts are both more powerful and more persuasive
+
+Consider the following two pieces of feedback on a piece of code
+> This piece of code is confusing
+> It took me a long time to ﬁgure out what was going on here
+
+The first example expresses an opinion, whereas the second re-phrases the
+statement in terms of what you experienced, which is a fact.
+
+Other examples:
+> BAD: This is fragile
+> SOMEWHAT BETTER: This seems fragile to me
+> BEST: If X happens, Y will happen.
+
+A certain piece of code can be written in many different ways: this can lead to
+disagreements on the best architecture, design or coding pattern. As already
+pointed out in this section: avoid feedback that is opinion-based and thus
+does not add any value. Back your criticism (or idea on how to solve a
+problem) with a sensible rationale.
+
+### Review the code, not the person
+
+Without realizing it, it is easy to overlook the difference between insightful
+critique of code and personal criticism. Let's look at a theoretical function
+where there is an opportunity to return out of the function early. In this
+case, you could say
+
+> You should return from this function early, because of XXX
+
+On its own, there is nothing wrong with this statement. However, a code review
+is made up of multiple comments and using **You should** consistently can
+start to feel negative and can be mis-interpreted as a personal attack. Using
+something like avoids this issue:
+
+> Returning from this function early is better, because of XXX
+
+Without personal reference, a code review will communicate the problem, idea
+or issue without risking mis-interpretation.
+
+### Verbose vs. terse
+
+Due to the time it takes to review and compose code reviewer, reviewers often
+adopt a terse style. It is not unusual to see review comments such as
+> typo
+> s/resions/regions/
+> coding style
+> coding style: brackets not needed
+etc.
+
+Terse code review style has its place and can be productive for both the
+reviewer and the author. However, overuse can come across as unfriendly,
+lacking empathy and can thus create a negative impression with the author of a
+patch. This is in particular true, when you do not know the author or the
+author is a newcomer. Terse communication styles can also be perceived as rude
+in some cultures.
+
+If you tend to use a terse commenting style and you do not know whether the
+author is OK with it, it is often a good idea to compensate for it in the code
+review opening (where you express appreciation) or when there is a need for
+verbose expression. However, when you know are working with a seasoned code
+author, it is also entirely acceptable to drop niceties such as expressing
+appreciation with the goal to save the author and reviewer time.
+
+It is also entirely fine to mention that you have a fairly terse communication
+style and ask whether the author is OK with it. In almost all cases, they will
+be: by asking you are showing empathy that helps counteract a negative
+impression.
+
+### Clarity over verbosity
+
+When reading this document, you may get the impression that following the
+guidance outlined here takes more effort and time for both code reviewers and
+code authors. This is not the intention: much of this document aims to create
+clearer communication, which ultimately saves time by reducing unnecessary
+iterations during communication. We value **clarity over verbosity**.
+
+Areas which often create unnecessary back-and-forth between reviewers and
+authors are
+* Unstated assumptions and goals
+* Leave suggestions, examples, and resources (such as links to existing code)
+* There is nothing more helpful for the thought process than example. It
+  guarantees that you have a shared understanding and reduces the questions
+  asked on a comment.
+
+### Code Review Comments should be actionable
+
+Code review comments should be actionable: in other words, it needs to be clear
+what the author of the code needs to do to address the issue you identified.
+
+Statements such as
+> BAD: This is wrong
+> BAD: This does not work
+> BETTER, BUT NOT GOOD: This does not work, because of XXX
+
+do not normally provide the author of a patch with enough information to send
+out a new patch version. By doing this, you essentially force the patch author
+to **find** and **implement** an alternative, which then may also not be
+acceptable to you as the **reviewer** of the patch.
+
+A better way to approach this is to say
+
+> This does not work, because of XXX
+> You may want to investigate YYY and ZZZ as alternatives
+
+In some cases, it may not be clear whether YYY or ZZZ are the better solution.
+As a reviewer you should be as up-front and possible in such a case and say
+something like
+
+> I am not sure whether YYY and ZZZ are better, so you may want to outline your
+> thoughts about both solutions by e-mail first, such that we can decide what
+> works best
+
+### Identify the severity and optionality of review comments
+
+By default, every comment which is made **ought to be addressed** by the
+author. However, sometimes reviewers note issues, which would be nice if they
+were addressed, but are not mandatory to fix.
+
+Typically, reviewers use terminology such as
+> This would be a nice-to-have
+> This is not a blocker
+
+Some maintainers use
+> NIT: XXX
+
+however, it is sometimes also used to indicate a minor issue that **must** be
+fixed. Also terminology such as **this is not a blocker** could be
+misinterpreted. It is important that **reviewers** use language that make
+clear whether a comment is an optional suggestion. Examples may be
+> NIT (optional): XXX
+> I think it would be good if X also did Y, not a requirement but nice-to-have
+
+### Identify the severity of a disagreement
+
+During a code review, it can happen that reviewer and author disagree on how
+to move forward. The default position when it comes to disagreements is that
+**both parties want to argue their case**. However, frequently one or both
+parties do not feel that strongly about a specific issue.
+
+Within the Xen Project, we have [a way][3] to highlight one's position on
+proposals, formal or informal votes using the following notation:
+> +2 : I am happy with this proposal, and I will argue for it
+> +1 : I am happy with this proposal, but will not argue for it
+> 0 : I have no opinion
+> -1 : I am not happy with this proposal, but will not argue against it
+> -2 : I am not happy with this proposal, and I will argue against it
+
+You can use a phrase such as
+> I am not happy with this suggestion, but will not argue against it
+
+to make clear where you stand, while recording your position. Conversely, a
+reviewer may do something similar
+> I am not happy with XYZ, but will not argue against it [anymore]
+> What we have now is good enough, but could be better
+
+### Authors: responding to review comments
+
+Typically patch authors are expected to **address all** review comments in the
+next version of a patch or patch series. In a smooth-running code review where
+you do not have further questions it is not at all necessary to acknowledge
+the changes you are going to make:
+* Simply send the next version with the changes addressed and record it in the
+  change-log
+
+When there is discussion, the normal practice is to remove the portion of the
+e-mail thread where there is agreement. Otherwise, the thread can become
+exceptionally long.
+
+In cases where there was discussion and maybe disagreement, it does however
+make sense to close the discussion by saying something like
+
+> ACK
+> Seems we are agreed, I am going to do this
+
+Other situations when you may want to do this are cases where the reviewer made
+optional suggestions, to make clear whether the suggestion will be followed or
+not.
+
+### Avoid uncommon words: not everyone is a native English speaker
+
+Avoid uncommon words both when reviewing code or responding to a review. Not
+everyone is a native English speaker. The use of such words can come across
+badly and can lead to misunderstandings.
+
+### Prioritize significant flaws
+
+If a patch or patch series has significant flaws, such as
+* It is built on wrong assumptions
+* There are issues with the architecture or the design
+
+it does not make sense to do a detailed code review. In such cases, it is best
+to focus on the major issues first and deal with style and minor issues in a
+subsequent review. Not all series have significant flaws, but most series have
+different classes of changes that are required for acceptance: covering a
+range of major code modifications to minor code style fixes. To avoid
+misunderstandings between reviewers and contributors, it is important to
+establish and agree whether a series or part of a series has a significant
+flaw and agree a course of action.
+
+A pragmatic approach would be to
+* Highlight problematic portions of a series in the cover letter
+* For the patch author and reviewer(s) to agree that for problematic to omit
+  style and minor issues in the review, until the significant flaw is addressed
+
+This saves both the patch author and reviewer(s) time. Note that some
+background is covered in detail in [Problematic Patch Reviews][4].
+
+
+### Reviewers: Welcome newcomers
+
+When reviewing the first few patches of a newcomer to the project, you may want
+spend additional time and effort in your code review. This contributes to a
+more **positive experience**, which ultimately helps create a positive working
+relationship in the long term.
+
+When someone does their first code submission, they will not be familiar with
+**all** conventions in the project. A good approach is to
+* Welcome the newcomer
+* Offer to help with specific questions, for example on IRC
+* Point to existing documentation: in particular if mistakes with the
+  submission itself were made. In most situations, following the submission
+  process makes the process more seamless for the contributor. So, you could
+  say something like
+
+> Hi XXX. Welcome to the community and thank you for the patch
+>
+> I noticed that the submission you made seems to not follow our process.
+> Are you aware of this document at YYY? If you follow the instructions the
+> entire code submission process and dealing with review comments becomes
+> much easier. Feel free to find me on IRC if you need specific help. My IRC
+> handle is ZZZ
+
+### Reviewers: Take account of previous reviewer(s) comments
+
+Sometimes multiple reviewers share reviewing a series. For example,
+reviewer John has reviewed the first 5 iterations of the series. The patch
+author has addressed all of John's comments and Susan comes in and picks up
+the series after iteration 5. In such cases it is possible that John and Susan
+have different styles, such as
+* different preferences on the code layout
+* different preferences on code style
+
+If Susan were to be strict on her own style and highlight her style
+preferences in subsequent reviews, this would cause additional re-work for the
+code author. In addition, it also causes extra work for Susan. The easiest way
+to avoid such situations, would be for Susan to focus on faulty code only and
+to disregard personal preferences when taking over the review of a series.
+
+### Reviewers: Review the code, then review the review
+
+As stated earlier it is often difficult to mentally separate finding issues
+from articulating code review comments in a constructive and positive manner.
+Even as an experienced code reviewer you can be in a bad mood, which can
+ impact your communication style.
+
+A good trick to avoid this, is to start and complete the code review and then
+**not send it immediately**. You can then have a final go over the code review
+at some later point in time and review your comments from the other author's
+point of view. This minimizes the risk of being misunderstood. The same
+applies when replying to a code review: draft your reply and give it a final
+scan before pressing the send button.
+
+Generally, it is a good idea for code reviewers to do this regularly, purely
+from the viewpoint of self-improvement and self-awareness.
+
+## Common Communication Pitfalls
+
+This section contains common communication issues and provides suggestions on
+how to avoid them and resolve them. These are **general** issues which affect
+**all** online communication. As such, we can only try and do our best.
+
+### Misunderstandings
+
+When you meet face to face, you can read a person’s emotions. Even with a
+phone call, someone’s tone of voice can convey a lot of information. Using
+on-line communication channels you are flying blind, which often leads to
+misunderstandings. [Research][5] shows that in up to 50% of email
+conversations, the tone of voice is misinterpreted.
+
+In code reviews and technical discussions in general we tend to see two things
+* The reviewer or author interprets an exchange as too critical, passive
+  aggressive, or other: this usually comes down to different cultures and
+  communication styles, which are covered in the next section
+* There is an actual misunderstanding of a subject under discussion
+
+In the latter case, the key to resolution is to **identify the
+misunderstanding** as quickly as possible and call it out and de-escalate
+rather than let the misunderstanding linger. This is inherently difficult and
+requires more care than normal communication. Typically you would start with
+* Showing appreciation
+* Highlighting the potential misunderstanding and verifying whether the other
+  person also feels that maybe there was a misunderstanding
+* Proposing a way forward: for example, it may make sense to move the
+  conversation from the mailing list to [IRC][6] either in private or public,
+  a community call or a private phone/video call.
+
+It is entirely acceptable to do this in a direct reply to your communication
+partner, rather than on a public e-mail list on or an otherwise public forum.
+
+A good approach is to use something like the following:
+> Hi XXX! Thank you for the insights you have given me in this code review
+> I feel that we are misunderstanding each other on the topic of YYY
+> Would you mind trying to resolve this on IRC. I am available at ZZZ
+
+Usually, technical misunderstandings come down two either
+1. Misinterpreting what the other person meant
+2. Different - usually unstated - assumptions on how something works or what
+   is to be achieved
+3. Different - usually unstated - objectives and goals, which may be
+   conflicting
+4. Real differences in opinion
+
+The goal of calling out a possible misunderstanding is to establish what
+caused the misunderstanding, such that all parties can move forward.
+Typically, 1 and 2 are easily resolved and will lead back to a constructive
+discussion. Whereas 3 and 4 may highlight an inherent disagreement, which may
+need to be resolved through techniques as
+outlined in [Resolving Disagreement][7].
+
+### Cultural differences and different communication styles
+
+The Xen Project is a global community with contributors from many different
+backgrounds. Typically, when we communicate with a person we know, we factor
+in past interactions. The less we know a person, the more we rely on cultural
+norms.
+
+However, different norms and value systems come into play when people from
+diverse cultural backgrounds interact. That can lead to misunderstandings,
+especially in sensitive situations such as conflict resolution, giving and
+receiving feedback, and consensus building.
+
+For example, giving direct feedback such as
+> [Please] replace XXX with YYY, as XXX does not do ZZZ
+
+is acceptable and normal in some cultures, whereas in cultures which value
+indirect feedback it would be considered rude. In the latter case, something
+like the following would be used
+> This looks very good to me, but I believe you should use YYY here,
+> because XXX would....
+
+The key to working and communicating well with people from different cultural
+backgrounds is **self-awareness**, which can then be used to either
+* Adapt your own communication style depending on who you talk to
+* Or to find a middle-ground that covers most bases
+
+A number of different theories in the field of working effectively are
+currently popular, with the most well-known one being
+[Erin Meyer's Culture Map][8]. A short overview can be found [here][9]
+(33 slides).
+
+### Code reviews and discussions are not competitions
+
+Code reviews on our mailing lists are not competitions on who can come up with
+the smartest solution or who is the real coding genius.
+
+In a code review - as well as in general - we expect that all stake-holders
+* Gracefully accept constructive criticism
+* Focus on what is best for the community
+* Resolve differences in opinion effectively
+
+The next section provides pointers on how to do this effectively.
+
+### Resolving Disagreement Effectively
+
+Common scenarios are covered our guide on [Resolving Disagreement][7], which
+lays out situations that can lead to dead-lock and shows common patterns on
+how to avoid and resolve issues.
+
+[1]: https://youtu.be/ehZvBmrLRwg?t=834
+[2]: https://en.wikipedia.org/wiki/Foot_binding
+[3]: https://xenproject.org/developers/governance/#expressingopinion
+[4]: resolving-disagreement.md#problems
+[5]: https://www.wired.com/2006/02/the-secret-cause-of-flame-wars/
+[6]: https://xenproject.org/help/irc/
+[7]: resolving-disagreement.md
+[8]: https://en.wikipedia.org/wiki/Erin_Meyer
+[9]: https://www.nsf.gov/attachments/134059/public/15LFW_WorkingWithMulticulturalTeams_LarsonC.pdf
-- 
2.13.0



--===============6429910297832936900==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRl
dmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

--===============6429910297832936900==--

