GNU bug report logs - #22884
25.0.92; C/l mode editing takes waaaayy too long

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: emacs,cc-mode; Reported by: Paul Eggert <eggert@HIDDEN>; dated Wed, 2 Mar 2016 18:10:01 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

Message received at 22884 <at> debbugs.gnu.org:


Received: (at 22884) by debbugs.gnu.org; 13 May 2016 21:09:36 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri May 13 17:09:36 2016
Received: from localhost ([127.0.0.1]:50285 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1b1KL2-0002cm-Kk
	for submit <at> debbugs.gnu.org; Fri, 13 May 2016 17:09:36 -0400
Received: from zimbra.cs.ucla.edu ([131.179.128.68]:42974)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eggert@HIDDEN>) id 1b1KL1-0002cY-7D
 for 22884 <at> debbugs.gnu.org; Fri, 13 May 2016 17:09:35 -0400
Received: from localhost (localhost [127.0.0.1])
 by zimbra.cs.ucla.edu (Postfix) with ESMTP id B55871612D0;
 Fri, 13 May 2016 14:09:28 -0700 (PDT)
Received: from zimbra.cs.ucla.edu ([127.0.0.1])
 by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id SmkyvzWTWdV9; Fri, 13 May 2016 14:09:28 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1])
 by zimbra.cs.ucla.edu (Postfix) with ESMTP id 055C01612D1;
 Fri, 13 May 2016 14:09:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu
Received: from zimbra.cs.ucla.edu ([127.0.0.1])
 by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id jLlTT2vMuGsH; Fri, 13 May 2016 14:09:27 -0700 (PDT)
Received: from penguin.cs.ucla.edu (Penguin.CS.UCLA.EDU [131.179.64.200])
 by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id E08DF1612D0;
 Fri, 13 May 2016 14:09:27 -0700 (PDT)
Subject: Re: bug#22884: 25.0.92; C/l mode editing takes waaaayy too long
To: Glenn Morris <rgm@HIDDEN>
References: <56D72C35.4090708@HIDDEN>
 <aca37101-c7f5-3afe-eb11-e30444cee5e3@HIDDEN>
 <7zvb2hu21l.fsf@HIDDEN>
From: Paul Eggert <eggert@HIDDEN>
Organization: UCLA Computer Science Department
Message-ID: <e7e5ce84-9333-0e95-4bec-77ce24ee9564@HIDDEN>
Date: Fri, 13 May 2016 14:09:27 -0700
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101
 Thunderbird/45.0
MIME-Version: 1.0
In-Reply-To: <7zvb2hu21l.fsf@HIDDEN>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -1.4 (-)
X-Debbugs-Envelope-To: 22884
Cc: 22884 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.4 (-)

On 05/13/2016 01:37 PM, Glenn Morris wrote:
> What about other C code, besides the Emacs sources?
> What if anyone ever wants to edit an older version of the Emacs sources=
?

Older versions of Emacs have smaller config.h files, which makes the=20
problem significantly smaller. I just now visited a config.h file for=20
Emacs 23.4, and the same =E2=80=9Ctype =E2=80=98/ /=E2=80=99=E2=80=9D ben=
chmark took about two seconds=20
on my six-year-old desktop (Fedora 23 x86-64, AMD Phenom II X4 910e).=20
Although two seconds is pretty annoying, it's considerably better than=20
the ten seconds I was seeing with emacs-25 before we worked around the=20
problem there.

Although Non-Emacs sources may have the problem, I imagine it's=20
reasonably rare.

> Your initial report said: "This sort of thing makes Emacs effectively
> unusable for editing [some C code]", which is, y'know, a pretty bad sta=
te.

Yes, it is indeed a bad state. However, the problematic situations are=20
rare and cause slowdowns rather than crashes, so the case for making it=20
a blocker is not as strong as it could be.





Information forwarded to bug-gnu-emacs@HIDDEN, bug-cc-mode@HIDDEN:
bug#22884; Package emacs,cc-mode. Full text available.

Message received at 22884 <at> debbugs.gnu.org:


Received: (at 22884) by debbugs.gnu.org; 13 May 2016 20:38:12 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri May 13 16:38:12 2016
Received: from localhost ([127.0.0.1]:50263 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1b1Jqe-0001l0-DG
	for submit <at> debbugs.gnu.org; Fri, 13 May 2016 16:38:12 -0400
Received: from eggs.gnu.org ([208.118.235.92]:32983)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rgm@HIDDEN>) id 1b1Jqc-0001kj-5N
 for 22884 <at> debbugs.gnu.org; Fri, 13 May 2016 16:38:10 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <rgm@HIDDEN>) id 1b1JqW-0005zF-2p
 for 22884 <at> debbugs.gnu.org; Fri, 13 May 2016 16:38:04 -0400
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=-0.6 required=5.0 tests=BAYES_50,RP_MATCHES_RCVD
 autolearn=disabled version=3.3.2
Received: from fencepost.gnu.org ([2001:4830:134:3::e]:43754)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <rgm@HIDDEN>)
 id 1b1JqT-0005yg-Qf; Fri, 13 May 2016 16:38:01 -0400
Received: from rgm by fencepost.gnu.org with local (Exim 4.82)
 (envelope-from <rgm@HIDDEN>)
 id 1b1JqR-0002Z9-3q; Fri, 13 May 2016 16:37:59 -0400
From: Glenn Morris <rgm@HIDDEN>
To: Paul Eggert <eggert@HIDDEN>
Subject: Re: bug#22884: 25.0.92; C/l mode editing takes waaaayy too long
References: <56D72C35.4090708@HIDDEN>
 <aca37101-c7f5-3afe-eb11-e30444cee5e3@HIDDEN>
X-Spook: Small Pox Cloud UFO Shell spies BLU-114/B bootleg passwd
X-Ran: P$9(|W<:rKpQnw(J=E3@,ILoT)~Fk{<g`o>w;vsXXx${&$-X>e0VuTd+Fp"R@gVLU(gC1e
X-Hue: green
X-Debbugs-No-Ack: yes
X-Attribution: GM
Date: Fri, 13 May 2016 16:37:58 -0400
Message-ID: <7zvb2hu21l.fsf@HIDDEN>
User-Agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/)
MIME-Version: 1.0
Content-Type: text/plain
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Received-From: 2001:4830:134:3::e
X-Spam-Score: -6.4 (------)
X-Debbugs-Envelope-To: 22884
Cc: 22884 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -6.4 (------)

Paul Eggert wrote:

> Yes, the workaround already installed in the emacs-25 branch (namely,
> mutate the sources so they don't run afoul of the problem) is good
> enough to solve the immediate problem, so I changed the status of
> Bug#22884 so that it is no longer a blocker for emacs-25.

What about other C code, besides the Emacs sources?
What if anyone ever wants to edit an older version of the Emacs sources?

Your initial report said: "This sort of thing makes Emacs effectively
unusable for editing [some C code]", which is, y'know, a pretty bad state.




Information forwarded to bug-gnu-emacs@HIDDEN, bug-cc-mode@HIDDEN:
bug#22884; Package emacs,cc-mode. Full text available.

Message received at 22884 <at> debbugs.gnu.org:


Received: (at 22884) by debbugs.gnu.org; 13 May 2016 19:35:08 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri May 13 15:35:08 2016
Received: from localhost ([127.0.0.1]:50246 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1b1Irc-000747-H2
	for submit <at> debbugs.gnu.org; Fri, 13 May 2016 15:35:08 -0400
Received: from zimbra.cs.ucla.edu ([131.179.128.68]:35271)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eggert@HIDDEN>) id 1b1Ira-00073k-NT
 for 22884 <at> debbugs.gnu.org; Fri, 13 May 2016 15:35:06 -0400
Received: from localhost (localhost [127.0.0.1])
 by zimbra.cs.ucla.edu (Postfix) with ESMTP id 3F2081612D6
 for <22884 <at> debbugs.gnu.org>; Fri, 13 May 2016 12:35:01 -0700 (PDT)
Received: from zimbra.cs.ucla.edu ([127.0.0.1])
 by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id G0nVsNjYisUg for <22884 <at> debbugs.gnu.org>;
 Fri, 13 May 2016 12:35:00 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1])
 by zimbra.cs.ucla.edu (Postfix) with ESMTP id 9ACD41612D7
 for <22884 <at> debbugs.gnu.org>; Fri, 13 May 2016 12:35:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu
Received: from zimbra.cs.ucla.edu ([127.0.0.1])
 by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id T7qrqvRn1ibV for <22884 <at> debbugs.gnu.org>;
 Fri, 13 May 2016 12:35:00 -0700 (PDT)
Received: from penguin.cs.ucla.edu (Penguin.CS.UCLA.EDU [131.179.64.200])
 by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 85A191612D6
 for <22884 <at> debbugs.gnu.org>; Fri, 13 May 2016 12:35:00 -0700 (PDT)
To: 22884 <at> debbugs.gnu.org
From: Paul Eggert <eggert@HIDDEN>
Subject: Re: bug#22884: 25.0.92; C/l mode editing takes waaaayy too long
Organization: UCLA Computer Science Department
Message-ID: <aca37101-c7f5-3afe-eb11-e30444cee5e3@HIDDEN>
Date: Fri, 13 May 2016 12:35:00 -0700
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101
 Thunderbird/45.0
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Score: -1.4 (-)
X-Debbugs-Envelope-To: 22884
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.4 (-)

Yes, the workaround already installed in the emacs-25 branch (namely, 
mutate the sources so they don't run afoul of the problem) is good 
enough to solve the immediate problem, so I changed the status of 
Bug#22884 so that it is no longer a blocker for emacs-25.





Information forwarded to bug-gnu-emacs@HIDDEN, bug-cc-mode@HIDDEN:
bug#22884; Package emacs,cc-mode. Full text available.
Removed indication that bug 22884 blocks Request was from Paul Eggert <eggert@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

Message received at 22884 <at> debbugs.gnu.org:


Received: (at 22884) by debbugs.gnu.org; 8 May 2016 23:10:14 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun May 08 19:10:14 2016
Received: from localhost ([127.0.0.1]:43573 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1azXq2-0002uE-CF
	for submit <at> debbugs.gnu.org; Sun, 08 May 2016 19:10:14 -0400
Received: from mail-wm0-f49.google.com ([74.125.82.49]:35732)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <raaahh@HIDDEN>) id 1azXq0-0002ty-1D
 for 22884 <at> debbugs.gnu.org; Sun, 08 May 2016 19:10:12 -0400
Received: by mail-wm0-f49.google.com with SMTP id e201so116384276wme.0
 for <22884 <at> debbugs.gnu.org>; Sun, 08 May 2016 16:10:12 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
 h=sender:subject:references:cc:from:message-id:date:user-agent
 :mime-version:in-reply-to:content-transfer-encoding;
 bh=EFcxwEfGJZsJA6ysLewt0ri275+iXIGCCWNaeFZ/Hso=;
 b=zimHIROdeXn8eziLaqr7xyU5fFo4/6r9Gwbnf8SrqPBP8Vq+O+rqJluqcOL9es/6WB
 +Ldlj9pFN+kgTIeEuluo558NAjYB8nxl1dtJIWDrWuk9ET+KNU+3zm0q8kguM7rYZd/7
 k/TDrcW5T2eZdkghbywQ/Tbh9jOySZmGkvUiv9ZxeQEVVbSSXvTKI5jWWfXDQv+0r1Ex
 MVG7tN0SmkV23wwefD2Aq1qgWKAozEI/Xkn5RDLSdVi9WH9hqaNFVMjmatOfi+4NG/Wf
 /dJZH7sGARsv8qGB97yr9RPszZqUQ/xXrp4MloX55RaH6TrsPJTQosDDG6o7R522SR8B
 oX1g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20130820;
 h=x-gm-message-state:sender:subject:references:cc:from:message-id
 :date:user-agent:mime-version:in-reply-to:content-transfer-encoding;
 bh=EFcxwEfGJZsJA6ysLewt0ri275+iXIGCCWNaeFZ/Hso=;
 b=IpzPIOgONK+TewxxBa+qZqPkdK+sUZ7OCfe4t/4p05LoyoxIk9cXsy9zTThNV+x0Cp
 PlO1SVJnbiCjRrS0jRSax15z0xROyIBZJNdymVAUxwMLMdM5+CXb+h1+ArKTwZbo4IhG
 i5ttudxaz+y5o0dTk5N/NFdo/bEc/oqTRsSEO+SjLXds9j12EcV/q75LeLKjybwNedFm
 1rKKv7VhUANLaqR+ore2r56hhBG+qO1AZxiopdokBE8mVKU/ZY3C1zl/dhlpSaDeK9Vr
 f6iO+qf5pT7nHmhytsw8AnwM0chNb+51Dl9xAqVpeHC7NfmjQUkikN87Ls9TVo2i6a31
 tpLA==
X-Gm-Message-State: AOPr4FX4sV7I/6bFKNAwHklw49jnTrJ9QWS6Od0hLNKoBGW0x+uUI96j7KIGPlnW2DnG0g==
X-Received: by 10.194.133.135 with SMTP id pc7mr30558419wjb.49.1462749006451; 
 Sun, 08 May 2016 16:10:06 -0700 (PDT)
Received: from [192.168.1.2] ([185.105.175.24])
 by smtp.googlemail.com with ESMTPSA id q77sm21161272wmd.12.2016.05.08.16.10.05
 for <22884 <at> debbugs.gnu.org> (version=TLSv1/SSLv3 cipher=OTHER);
 Sun, 08 May 2016 16:10:05 -0700 (PDT)
Subject: Re: bug#22884: 25.0.92; C/l mode editing takes waaaayy too long
References: <56D72C35.4090708@HIDDEN>
 <jwvr3fce9b8.fsf-monnier+bug#22884@HIDDEN>
From: Dmitry Gutov <dgutov@HIDDEN>
Message-ID: <b74b8834-757e-0dab-08be-da578ec659a6@HIDDEN>
Date: Mon, 9 May 2016 02:10:04 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101
 Thunderbird/45.1
MIME-Version: 1.0
In-Reply-To: <jwvr3fce9b8.fsf-monnier+bug#22884@HIDDEN>
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Score: 1.8 (+)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 Content preview:  I think this bug should be made a non-blocker for 25.1: we
 have a workaround in the Emacs sources, and both proposed solutions are better
 suited for master. [...] 
 Content analysis details:   (1.8 points, 10.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 0.0 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level mail
 domains are different
 1.2 MISSING_HEADERS        Missing To: header
 -0.7 RCVD_IN_DNSWL_LOW      RBL: Sender listed at http://www.dnswl.org/, low
 trust [74.125.82.49 listed in list.dnswl.org]
 -0.0 SPF_PASS               SPF: sender matches SPF record
 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider
 (raaahh[at]gmail.com)
 -0.0 RCVD_IN_MSPIKE_H3      RBL: Good reputation (+3)
 [74.125.82.49 listed in wl.mailspike.net]
 0.2 FREEMAIL_FORGED_FROMDOMAIN 2nd level domains in From and EnvelopeFrom
 freemail headers are different
 -0.0 RCVD_IN_MSPIKE_WL      Mailspike good senders
 1.1 MALFORMED_FREEMAIL     Bad headers on message from free email service
 0.0 T_DKIM_INVALID         DKIM-Signature header exists but is not valid
X-Debbugs-Envelope-To: 22884
Cc: 22884 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 1.8 (+)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 
 Content preview:  I think this bug should be made a non-blocker for 25.1: we
    have a workaround in the Emacs sources, and both proposed solutions are better
    suited for master. [...] 
 
 Content analysis details:   (1.8 points, 10.0 required)
 
  pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -0.7 RCVD_IN_DNSWL_LOW      RBL: Sender listed at http://www.dnswl.org/, low
                             trust
                             [74.125.82.49 listed in list.dnswl.org]
 -0.0 RCVD_IN_MSPIKE_H3      RBL: Good reputation (+3)
                             [74.125.82.49 listed in wl.mailspike.net]
  0.0 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level mail
                             domains are different
  1.2 MISSING_HEADERS        Missing To: header
 -0.0 SPF_PASS               SPF: sender matches SPF record
  0.0 FREEMAIL_FROM          Sender email is commonly abused enduser mail provider
                             (dgutov[at]yandex.ru)
  0.2 FREEMAIL_FORGED_FROMDOMAIN 2nd level domains in From and EnvelopeFrom
                              freemail headers are different
 -0.0 RCVD_IN_MSPIKE_WL      Mailspike good senders
  1.1 MALFORMED_FREEMAIL     Bad headers on message from free email service
  0.0 T_DKIM_INVALID         DKIM-Signature header exists but is not valid

I think this bug should be made a non-blocker for 25.1: we have a 
workaround in the Emacs sources, and both proposed solutions are better 
suited for master.




Information forwarded to bug-gnu-emacs@HIDDEN, bug-cc-mode@HIDDEN:
bug#22884; Package emacs,cc-mode. Full text available.

Message received at 22884 <at> debbugs.gnu.org:


Received: (at 22884) by debbugs.gnu.org; 15 Mar 2016 03:08:07 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Mar 14 23:08:07 2016
Received: from localhost ([127.0.0.1]:48350 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1affL5-0000sZ-Hu
	for submit <at> debbugs.gnu.org; Mon, 14 Mar 2016 23:08:07 -0400
Received: from ironport2-out.teksavvy.com ([206.248.154.181]:58285)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1affL2-0000s4-TV
 for 22884 <at> debbugs.gnu.org; Mon, 14 Mar 2016 23:08:06 -0400
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0A7FgA731xV/wr0d0tcDoMChAKFVcA+gk0EAgKBPDwRAQEBAQEBAYEKQQWDXQEBAwFWIwULCzQSFBgNJIg3CM8jAQEBAQEBBAEBAQEeizqFBQeELQWzP4FFI4FmJByBFFoigngBAQE
X-IPAS-Result: A0A7FgA731xV/wr0d0tcDoMChAKFVcA+gk0EAgKBPDwRAQEBAQEBAYEKQQWDXQEBAwFWIwULCzQSFBgNJIg3CM8jAQEBAQEBBAEBAQEeizqFBQeELQWzP4FFI4FmJByBFFoigngBAQE
X-IronPort-AV: E=Sophos;i="5.13,465,1427774400"; d="scan'208";a="196231104"
Received: from 75-119-244-10.dsl.teksavvy.com (HELO ceviche.home)
 ([75.119.244.10])
 by ironport2-out.teksavvy.com with ESMTP/TLS/DHE-RSA-AES256-SHA;
 14 Mar 2016 23:07:59 -0400
Received: by ceviche.home (Postfix, from userid 20848)
 id DE1A5661AA; Mon, 14 Mar 2016 23:07:58 -0400 (EDT)
From: Stefan Monnier <monnier@HIDDEN>
To: Paul Eggert <eggert@HIDDEN>
Subject: Re: bug#22884: 25.0.92; C/l mode editing takes waaaayy too long
Message-ID: <jwvr3fce9b8.fsf-monnier+bug#22884@HIDDEN>
References: <56D72C35.4090708@HIDDEN>
Date: Mon, 14 Mar 2016 23:07:58 -0400
In-Reply-To: <56D72C35.4090708@HIDDEN> (Paul Eggert's message of "Wed,
 2 Mar 2016 10:08:53 -0800")
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.3 (/)
X-Debbugs-Envelope-To: 22884
Cc: 22884 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 0.3 (/)

[ Just to clarify and keep it in the corresponding bug, rather than in
  some side-thread in emacs-devel.  ]

> emacs -Q config.h
> M-x goto-line RET 1661 RET / /

The patch below seems to fix this pathological case, making the "/ /"
instantaneous again.


        Stefan


diff --git a/src/syntax.c b/src/syntax.c
index 8e14bf3..b712e45 100644
--- a/src/syntax.c
+++ b/src/syntax.c
@@ -597,6 +597,26 @@ find_defun_start (ptrdiff_t pos, ptrdiff_t pos_byte)
       && MODIFF == find_start_modiff)
     return find_start_value;
 
+  if (!NILP (Vcomment_use_syntax_ppss))
+    {
+      EMACS_INT modiffs = CHARS_MODIFF;
+      Lisp_Object ppss = call1 (Qsyntax_ppss, make_number (pos));
+      if (modiffs != CHARS_MODIFF)
+	error ("syntax-ppss modified the buffer!");
+      TEMP_SET_PT_BOTH (opoint, opoint_byte);
+      Lisp_Object boc = Fnth (make_number (8), ppss);
+      if (NUMBERP (boc))
+        {
+          find_start_value = XINT (boc);
+          find_start_value_byte = CHAR_TO_BYTE (find_start_value);
+        }
+      else
+        {
+          find_start_value = pos;
+          find_start_value_byte = pos_byte;
+        }
+      goto found;
+    }
   if (!open_paren_in_column_0_is_defun_start)
     {
       find_start_value = BEGV;
@@ -864,6 +884,7 @@ back_comment (ptrdiff_t from, ptrdiff_t from_byte, ptrdiff_t stop,
 	case Sopen:
 	  /* Assume a defun-start point is outside of strings.  */
 	  if (open_paren_in_column_0_is_defun_start
+              && NILP (Vcomment_use_syntax_ppss)
 	      && (from == stop
 		  || (temp_byte = dec_bytepos (from_byte),
 		      FETCH_CHAR (temp_byte) == '\n')))
@@ -3647,6 +3668,11 @@ void
 syms_of_syntax (void)
 {
   DEFSYM (Qsyntax_table_p, "syntax-table-p");
+  DEFSYM (Qsyntax_ppss, "syntax-ppss");
+  DEFVAR_LISP ("comment-use-syntax-ppss",
+	       Vcomment_use_syntax_ppss,
+	       doc: /* Non-nil means `forward-comment' can use `syntax-ppss' internally.  */);
+  Vcomment_use_syntax_ppss = Qt;
 
   staticpro (&Vsyntax_code_object);
 




Information forwarded to bug-gnu-emacs@HIDDEN, bug-cc-mode@HIDDEN:
bug#22884; Package emacs,cc-mode. Full text available.

Message received at 22884 <at> debbugs.gnu.org:


Received: (at 22884) by debbugs.gnu.org; 13 Mar 2016 10:01:17 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Mar 13 06:01:17 2016
Received: from localhost ([127.0.0.1]:46633 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1af2pp-0005Bg-LL
	for submit <at> debbugs.gnu.org; Sun, 13 Mar 2016 06:01:17 -0400
Received: from mail.muc.de ([193.149.48.3]:35941)
 by debbugs.gnu.org with esmtp (Exim 4.84)
 (envelope-from <acm@HIDDEN>) id 1af2po-0005BW-Dy
 for 22884 <at> debbugs.gnu.org; Sun, 13 Mar 2016 06:01:17 -0400
Received: (qmail 13273 invoked by uid 3782); 13 Mar 2016 10:01:14 -0000
Received: from acm.muc.de (p5B146B5E.dip0.t-ipconnect.de [91.20.107.94]) by
 colin.muc.de (tmda-ofmipd) with ESMTP;
 Sun, 13 Mar 2016 11:01:13 +0100
Received: (qmail 1931 invoked by uid 1000); 13 Mar 2016 10:03:54 -0000
Date: Sun, 13 Mar 2016 10:03:54 +0000
To: Paul Eggert <eggert@HIDDEN>
Subject: Re: bug#22884: 25.0.92; C/l mode editing takes waaaayy too long
Message-ID: <20160313100354.GA1871@HIDDEN>
References: <56D72C35.4090708@HIDDEN>
 <20160303124910.GA2852@HIDDEN>
 <56D87A6E.8090202@HIDDEN> <83povbz3mp.fsf@HIDDEN>
 <56D8CC45.2090102@HIDDEN>
 <20160304144759.GB2117@HIDDEN>
 <56D9F0C6.4090800@HIDDEN>
 <20160304210818.GC2117@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20160304210818.GC2117@HIDDEN>
User-Agent: Mutt/1.5.24 (2015-08-30)
X-Delivery-Agent: TMDA/1.1.12 (Macallan)
From: Alan Mackenzie <acm@HIDDEN>
X-Primary-Address: acm@HIDDEN
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 22884
Cc: Eli Zaretskii <eliz@HIDDEN>, 22884 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.0 (/)

Hello, Paul.

On Fri, Mar 04, 2016 at 09:08:18PM +0000, Alan Mackenzie wrote:
> On Fri, Mar 04, 2016 at 12:32:06PM -0800, Paul Eggert wrote:
> > Alan Mackenzie wrote:
> > > I have had an idea for fixing Emacs so that we don't have this problem
> > > with parens in column 0.  That is only to scan comments in the forward
> > > direction, and to mark them with text properties.  `back_comment' will
> > > then be little more than checking these text properties are up to date,
> > > and then doing a backward text property search.

> > Would this mean we no longer need to put \( into Elisp doc strings too? It has 
> > always been annoying that we have to do that.

> It would mean this, yes.  open-paren-in-column-0-is-defun-start would
> become obsolete.

Apologies, but I was mistaken on this point.  Being able to put "(" at
column 0 in Elisp strings would entail some further work, though that
work would not be difficult or disruptive.

-- 
Alan Mackenzie (Nuremberg, Germany).




Information forwarded to bug-gnu-emacs@HIDDEN, bug-cc-mode@HIDDEN:
bug#22884; Package emacs,cc-mode. Full text available.

Message received at 22884 <at> debbugs.gnu.org:


Received: (at 22884) by debbugs.gnu.org; 9 Mar 2016 21:30:50 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Mar 09 16:30:50 2016
Received: from localhost ([127.0.0.1]:41905 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1adlgw-00024V-Fz
	for submit <at> debbugs.gnu.org; Wed, 09 Mar 2016 16:30:50 -0500
Received: from mail-pa0-f44.google.com ([209.85.220.44]:33317)
 by debbugs.gnu.org with esmtp (Exim 4.84)
 (envelope-from <jwiegley@HIDDEN>) id 1adlgu-00024H-Dc
 for 22884 <at> debbugs.gnu.org; Wed, 09 Mar 2016 16:30:48 -0500
Received: by mail-pa0-f44.google.com with SMTP id fl4so49301290pad.0
 for <22884 <at> debbugs.gnu.org>; Wed, 09 Mar 2016 13:30:48 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
 h=from:to:cc:subject:in-reply-to:date:message-id:references
 :user-agent:reply-to:mime-version;
 bh=M+r95UuoJauzaRZXk9Ao+6+9kJuoLIL1N19FkIeZ1vQ=;
 b=hdZ9TbavhBujiF5iYK93V4mstEOIJ/VaH5Mbi5zDa7M1rvCeDxm+BaLt6eA1vrXFpu
 SI6zusrZuAEiORKao6cgO4SJ83ZJgn96CrKZ3LgtQrEjlizTRbnujecZmHjIX2AlGxOz
 1ytthbyW54ZLGTtuoJFXWPE0iveuPkcki5u6tMCV8wpcpA3iSRqW7/6whDfbKTsHYX9d
 wLAj8Xf7lpKsWqDZhBaCY8SvxzNC7OS+IxEZz0LpU5PLR2FeVFQS5vSPO9gWx8tV4ZHa
 5UDmUNk5sx6QYWXBvoPCmd4XRnBjXElBaLPCXYlbLeU2wrjExF50bh/eRSYf0zBSqz9E
 BMvQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20130820;
 h=x-gm-message-state:from:to:cc:subject:in-reply-to:date:message-id
 :references:user-agent:reply-to:mime-version;
 bh=M+r95UuoJauzaRZXk9Ao+6+9kJuoLIL1N19FkIeZ1vQ=;
 b=Vu+6vpNrJbqlhmDKbAaf1piyd+K8D8iCgVoUgGEtYyKkBO6ymAuzvU2BvtYHwTLMtx
 xyfpU4+sF6xHlvTv6OsCk4ACCVOqOtwudu7QBFbUl/1NZkmrwRh9twUQITE9fnv77T36
 wiNCptoSl/wqIOz4QC0tq2E30qmokCOB7NvR5Atji9rg1qCnh1nBXVW6WDAOo1sG8R9X
 LyFZwiLtbFt+pUAlo48RlccLjdzs6BAo2Z+rXkspb7UPX0Cc5HbhCsSTWWKKXdD8kUnB
 82odhsPXWftHD0ccQ4mGdLecEsCeEecx0FPCqTBsysn2KU8o1KVw45b5XHsjULeR4wvq
 N6yg==
X-Gm-Message-State: AD7BkJIK9DV4/AtHXEMKbvqnMX+tcGkxuAjMlrYqKW7KjM0ebFk9Crh8SZkTQcEg94zC/Q==
X-Received: by 10.66.55.102 with SMTP id r6mr566242pap.67.1457559042673;
 Wed, 09 Mar 2016 13:30:42 -0800 (PST)
Received: from Vulcan.local (76-234-68-79.lightspeed.frokca.sbcglobal.net.
 [76.234.68.79])
 by smtp.gmail.com with ESMTPSA id 82sm346518pfi.78.2016.03.09.13.30.41
 (version=TLS1 cipher=AES128-SHA bits=128/128);
 Wed, 09 Mar 2016 13:30:41 -0800 (PST)
From: John Wiegley <jwiegley@HIDDEN>
X-Google-Original-From: John Wiegley <johnw@HIDDEN>
Received: by Vulcan.local (Postfix, from userid 501)
 id 28E3113621216; Wed,  9 Mar 2016 13:30:41 -0800 (PST)
To: Paul Eggert <eggert@HIDDEN>
Subject: Re: bug#22884: 25.0.92; C/l mode editing takes waaaayy too long
In-Reply-To: <56DFEEE9.2030603@HIDDEN> (Paul Eggert's message of "Wed, 9
 Mar 2016 01:37:45 -0800")
Date: Wed, 09 Mar 2016 13:30:38 -0800
Message-ID: <m2k2lbcpa9.fsf@HIDDEN>
References: <56D72C35.4090708@HIDDEN>
 <20160303124910.GA2852@HIDDEN> <56D87A6E.8090202@HIDDEN>
 <83povbz3mp.fsf@HIDDEN> <56D8CC45.2090102@HIDDEN>
 <20160304144759.GB2117@HIDDEN> <56D9F0C6.4090800@HIDDEN>
 <20160308140205.GA6269@HIDDEN> <56DFDDEF.9090800@HIDDEN>
 <m28u1s0zl1.fsf@HIDDEN> <56DFEEE9.2030603@HIDDEN>
User-Agent: Gnus/5.130014 (Ma Gnus v0.14) Emacs/25.0.92 (darwin)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 22884
Cc: Alan Mackenzie <acm@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>,
 22884 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Reply-To: John Wiegley <johnw@HIDDEN>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.7 (/)

>>>>> Paul Eggert <eggert@HIDDEN> writes:

> John Wiegley wrote:
>> Coq supports (* foo (* bar *) *), in the same way that C does with /* */.

> It's not the same way as C, since C comments do not nest.

Ah, there are some C compilers (Borland I think?) that allowed nested comments
in C as an extension. But you're right, standard C does not.

-- 
John Wiegley                  GPG fingerprint = 4710 CF98 AF9B 327B B80F
http://newartisans.com                          60E1 46C4 BD1A 7AC1 4BA2




Information forwarded to bug-gnu-emacs@HIDDEN, bug-cc-mode@HIDDEN:
bug#22884; Package emacs,cc-mode. Full text available.

Message received at 22884 <at> debbugs.gnu.org:


Received: (at 22884) by debbugs.gnu.org; 9 Mar 2016 17:15:09 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Mar 09 12:15:09 2016
Received: from localhost ([127.0.0.1]:41769 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1adhhV-0004RL-7d
	for submit <at> debbugs.gnu.org; Wed, 09 Mar 2016 12:15:09 -0500
Received: from aserp1040.oracle.com ([141.146.126.69]:41407)
 by debbugs.gnu.org with esmtp (Exim 4.84)
 (envelope-from <drew.adams@HIDDEN>) id 1adhhT-0004Qs-31
 for 22884 <at> debbugs.gnu.org; Wed, 09 Mar 2016 12:15:07 -0500
Received: from aserv0022.oracle.com (aserv0022.oracle.com [141.146.126.234])
 by aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id
 u29HF01b020730
 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
 Wed, 9 Mar 2016 17:15:00 GMT
Received: from aserv0122.oracle.com (aserv0122.oracle.com [141.146.126.236])
 by aserv0022.oracle.com (8.13.8/8.13.8) with ESMTP id u29HExnY014820
 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL);
 Wed, 9 Mar 2016 17:14:59 GMT
Received: from abhmp0005.oracle.com (abhmp0005.oracle.com [141.146.116.11])
 by aserv0122.oracle.com (8.13.8/8.13.8) with ESMTP id u29HEsdc011799;
 Wed, 9 Mar 2016 17:14:57 GMT
MIME-Version: 1.0
Message-ID: <144074d0-264b-461d-b40b-45e92ae79847@default>
Date: Wed, 9 Mar 2016 09:14:53 -0800 (PST)
From: Drew Adams <drew.adams@HIDDEN>
To: Alan Mackenzie <acm@HIDDEN>
Subject: RE: bug#22884: 25.0.92; C/l mode editing takes waaaayy too long
References: <56D87A6E.8090202@HIDDEN> <83povbz3mp.fsf@HIDDEN>
 <56D8CC45.2090102@HIDDEN> <20160304144759.GB2117@HIDDEN>
 <56D9F0C6.4090800@HIDDEN> <20160308140205.GA6269@HIDDEN>
 <56DFDDEF.9090800@HIDDEN> <m28u1s0zl1.fsf@HIDDEN>
 <20160309105608.GB3948@HIDDEN>
 <99c8385a-f05b-4f7f-923c-15db1d41ca81@default>
 <20160309170442.GD3948@HIDDEN>
In-Reply-To: <20160309170442.GD3948@HIDDEN>
X-Priority: 3
X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9  (901082) [OL
 12.0.6691.5000 (x86)]
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: quoted-printable
X-Source-IP: aserv0022.oracle.com [141.146.126.234]
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 22884
Cc: 22884 <at> debbugs.gnu.org, John Wiegley <johnw@HIDDEN>,
 Paul Eggert <eggert@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.3 (--)

> Hello, Drew.
>=20
> > I'm not following this thread, but Common Lisp has nested
> > block comments, and they are very well specified in the
> > spec/standard.
>=20
> Thank you, thank you!  Those nested comments in Lisp were
> just what I needed.  And yes, I found a problem in my code.

Glad it helped.  In general, I think it would be good if more
Emacs Dev hackers were a bit more familiar with Common Lisp.

"Common Lisp The Language" is very readable, and it explicitly
presents the _reasons_ for many of the design decisions etc.

You can read it from front to back.  It is truly a pleasure to
dig into, and Guy Steele is a good writer.  Consider curling up
with it on one of these cold or rainy nights.  You won't regret it.

https://www.cs.cmu.edu/Groups/AI/html/cltl/cltl2.html

I still have and use the first edition.  The 2nd is longer and
includes `loop', CLOS, etc. but the meat is essentially the same.




Information forwarded to bug-gnu-emacs@HIDDEN, bug-cc-mode@HIDDEN:
bug#22884; Package emacs,cc-mode. Full text available.

Message received at 22884 <at> debbugs.gnu.org:


Received: (at 22884) by debbugs.gnu.org; 9 Mar 2016 17:02:09 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Mar 09 12:02:09 2016
Received: from localhost ([127.0.0.1]:41764 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1adhUv-000452-1a
	for submit <at> debbugs.gnu.org; Wed, 09 Mar 2016 12:02:09 -0500
Received: from mail.muc.de ([193.149.48.3]:52173)
 by debbugs.gnu.org with esmtp (Exim 4.84)
 (envelope-from <acm@HIDDEN>) id 1adhUt-00043Q-A6
 for 22884 <at> debbugs.gnu.org; Wed, 09 Mar 2016 12:02:07 -0500
Received: (qmail 75913 invoked by uid 3782); 9 Mar 2016 17:02:06 -0000
Received: from acm.muc.de (p548A46A1.dip0.t-ipconnect.de [84.138.70.161]) by
 colin.muc.de (tmda-ofmipd) with ESMTP;
 Wed, 09 Mar 2016 18:02:04 +0100
Received: (qmail 11596 invoked by uid 1000); 9 Mar 2016 17:04:42 -0000
Date: Wed, 9 Mar 2016 17:04:42 +0000
To: Drew Adams <drew.adams@HIDDEN>
Subject: Re: bug#22884: 25.0.92; C/l mode editing takes waaaayy too long
Message-ID: <20160309170442.GD3948@HIDDEN>
References: <56D87A6E.8090202@HIDDEN> <83povbz3mp.fsf@HIDDEN>
 <56D8CC45.2090102@HIDDEN>
 <20160304144759.GB2117@HIDDEN>
 <56D9F0C6.4090800@HIDDEN>
 <20160308140205.GA6269@HIDDEN>
 <56DFDDEF.9090800@HIDDEN> <m28u1s0zl1.fsf@HIDDEN>
 <20160309105608.GB3948@HIDDEN>
 <99c8385a-f05b-4f7f-923c-15db1d41ca81@default>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <99c8385a-f05b-4f7f-923c-15db1d41ca81@default>
User-Agent: Mutt/1.5.24 (2015-08-30)
X-Delivery-Agent: TMDA/1.1.12 (Macallan)
From: Alan Mackenzie <acm@HIDDEN>
X-Primary-Address: acm@HIDDEN
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 22884
Cc: 22884 <at> debbugs.gnu.org, John Wiegley <johnw@HIDDEN>,
 Paul Eggert <eggert@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.0 (/)

Hello, Drew.

On Wed, Mar 09, 2016 at 06:44:31AM -0800, Drew Adams wrote:
> I'm not following this thread, but Common Lisp has nested
> block comments, and they are very well specified in the
> spec/standard.

Thank you, thank you!  Those nested comments in Lisp were just what I
needed.  And yes, I found a problem in my code.

So, if you're still listening, John, I don't need the Coq URL and files
any more.

-- 
Alan Mackenzie (Nuremberg, Germany).




Information forwarded to bug-gnu-emacs@HIDDEN, bug-cc-mode@HIDDEN:
bug#22884; Package emacs,cc-mode. Full text available.

Message received at 22884 <at> debbugs.gnu.org:


Received: (at 22884) by debbugs.gnu.org; 9 Mar 2016 14:44:48 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Mar 09 09:44:48 2016
Received: from localhost ([127.0.0.1]:40649 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1adfM0-0007J3-BV
	for submit <at> debbugs.gnu.org; Wed, 09 Mar 2016 09:44:48 -0500
Received: from aserp1040.oracle.com ([141.146.126.69]:20424)
 by debbugs.gnu.org with esmtp (Exim 4.84)
 (envelope-from <drew.adams@HIDDEN>) id 1adfLy-0007Ir-QM
 for 22884 <at> debbugs.gnu.org; Wed, 09 Mar 2016 09:44:47 -0500
Received: from aserv0021.oracle.com (aserv0021.oracle.com [141.146.126.233])
 by aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id
 u29EiXsg032445
 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
 Wed, 9 Mar 2016 14:44:33 GMT
Received: from userv0121.oracle.com (userv0121.oracle.com [156.151.31.72])
 by aserv0021.oracle.com (8.13.8/8.13.8) with ESMTP id u29EiWpm007078
 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL);
 Wed, 9 Mar 2016 14:44:32 GMT
Received: from abhmp0019.oracle.com (abhmp0019.oracle.com [141.146.116.25])
 by userv0121.oracle.com (8.13.8/8.13.8) with ESMTP id u29EiVNS020152;
 Wed, 9 Mar 2016 14:44:31 GMT
MIME-Version: 1.0
Message-ID: <99c8385a-f05b-4f7f-923c-15db1d41ca81@default>
Date: Wed, 9 Mar 2016 06:44:31 -0800 (PST)
From: Drew Adams <drew.adams@HIDDEN>
To: Alan Mackenzie <acm@HIDDEN>, John Wiegley <johnw@HIDDEN>
Subject: RE: bug#22884: 25.0.92; C/l mode editing takes waaaayy too long
References: <56D72C35.4090708@HIDDEN>
 <20160303124910.GA2852@HIDDEN> <56D87A6E.8090202@HIDDEN>
 <83povbz3mp.fsf@HIDDEN> <56D8CC45.2090102@HIDDEN>
 <20160304144759.GB2117@HIDDEN> <56D9F0C6.4090800@HIDDEN>
 <20160308140205.GA6269@HIDDEN> <56DFDDEF.9090800@HIDDEN>
 <m28u1s0zl1.fsf@HIDDEN> <20160309105608.GB3948@HIDDEN>
In-Reply-To: <20160309105608.GB3948@HIDDEN>
X-Priority: 3
X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9  (901082) [OL
 12.0.6691.5000 (x86)]
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: quoted-printable
X-Source-IP: aserv0021.oracle.com [141.146.126.233]
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 22884
Cc: Paul Eggert <eggert@HIDDEN>, 22884 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.3 (--)

I'm not following this thread, but Common Lisp has nested
block comments, and they are very well specified in the
spec/standard.




Information forwarded to bug-gnu-emacs@HIDDEN, bug-cc-mode@HIDDEN:
bug#22884; Package emacs,cc-mode. Full text available.

Message received at 22884 <at> debbugs.gnu.org:


Received: (at 22884) by debbugs.gnu.org; 9 Mar 2016 10:53:35 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Mar 09 05:53:35 2016
Received: from localhost ([127.0.0.1]:40534 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1adbkF-0000BF-CI
	for submit <at> debbugs.gnu.org; Wed, 09 Mar 2016 05:53:35 -0500
Received: from mail.muc.de ([193.149.48.3]:63847)
 by debbugs.gnu.org with esmtp (Exim 4.84)
 (envelope-from <acm@HIDDEN>) id 1adbkD-0000B7-P0
 for 22884 <at> debbugs.gnu.org; Wed, 09 Mar 2016 05:53:34 -0500
Received: (qmail 88472 invoked by uid 3782); 9 Mar 2016 10:53:32 -0000
Received: from acm.muc.de (p548A46A1.dip0.t-ipconnect.de [84.138.70.161]) by
 colin.muc.de (tmda-ofmipd) with ESMTP;
 Wed, 09 Mar 2016 11:53:31 +0100
Received: (qmail 8900 invoked by uid 1000); 9 Mar 2016 10:56:08 -0000
Date: Wed, 9 Mar 2016 10:56:08 +0000
To: John Wiegley <johnw@HIDDEN>
Subject: Re: bug#22884: 25.0.92; C/l mode editing takes waaaayy too long
Message-ID: <20160309105608.GB3948@HIDDEN>
References: <56D72C35.4090708@HIDDEN>
 <20160303124910.GA2852@HIDDEN>
 <56D87A6E.8090202@HIDDEN> <83povbz3mp.fsf@HIDDEN>
 <56D8CC45.2090102@HIDDEN>
 <20160304144759.GB2117@HIDDEN>
 <56D9F0C6.4090800@HIDDEN>
 <20160308140205.GA6269@HIDDEN>
 <56DFDDEF.9090800@HIDDEN> <m28u1s0zl1.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <m28u1s0zl1.fsf@HIDDEN>
User-Agent: Mutt/1.5.24 (2015-08-30)
X-Delivery-Agent: TMDA/1.1.12 (Macallan)
From: Alan Mackenzie <acm@HIDDEN>
X-Primary-Address: acm@HIDDEN
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 22884
Cc: Eli Zaretskii <eliz@HIDDEN>, Paul Eggert <eggert@HIDDEN>,
 22884 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.0 (/)

Hello, John.

On Wed, Mar 09, 2016 at 01:28:58AM -0800, John Wiegley wrote:
> >>>>> Paul Eggert <eggert@HIDDEN> writes:

> > Alan Mackenzie wrote:
> >> Can you recommend me a major mode with nestable comments?

> > How about Coq? I think John Wiegley is a Coq user and can advise.

> Coq supports (* foo (* bar *) *), in the same way that C does with /* */.  Was
> there something more you wanted to know?

Well, C doesn't do nested comments, but it looks like Coq does.  I need
a mode and some code to test nested comments with.

Can you give me a URL for coq-mode.el, and possibly a sample Coq file
(doesn't need to be anything fancy or long).

Thanks!

> -- 
> John Wiegley                  GPG fingerprint = 4710 CF98 AF9B 327B B80F
> http://newartisans.com                          60E1 46C4 BD1A 7AC1 4BA2

-- 
Alan Mackenzie (Nuremberg, Germany).




Information forwarded to bug-gnu-emacs@HIDDEN, bug-cc-mode@HIDDEN:
bug#22884; Package emacs,cc-mode. Full text available.

Message received at 22884 <at> debbugs.gnu.org:


Received: (at 22884) by debbugs.gnu.org; 9 Mar 2016 09:37:55 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Mar 09 04:37:55 2016
Received: from localhost ([127.0.0.1]:40503 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1adaZ1-0006nb-0q
	for submit <at> debbugs.gnu.org; Wed, 09 Mar 2016 04:37:55 -0500
Received: from zimbra.cs.ucla.edu ([131.179.128.68]:60067)
 by debbugs.gnu.org with esmtp (Exim 4.84)
 (envelope-from <eggert@HIDDEN>) id 1adaYy-0006nO-RV
 for 22884 <at> debbugs.gnu.org; Wed, 09 Mar 2016 04:37:53 -0500
Received: from localhost (localhost [127.0.0.1])
 by zimbra.cs.ucla.edu (Postfix) with ESMTP id 013B8160E8A;
 Wed,  9 Mar 2016 01:37:47 -0800 (PST)
Received: from zimbra.cs.ucla.edu ([127.0.0.1])
 by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id frGE6gJKTeuS; Wed,  9 Mar 2016 01:37:46 -0800 (PST)
Received: from localhost (localhost [127.0.0.1])
 by zimbra.cs.ucla.edu (Postfix) with ESMTP id 4C103160E8D;
 Wed,  9 Mar 2016 01:37:46 -0800 (PST)
X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu
Received: from zimbra.cs.ucla.edu ([127.0.0.1])
 by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id J3xxUI45451y; Wed,  9 Mar 2016 01:37:46 -0800 (PST)
Received: from [192.168.1.9] (pool-100-32-155-148.lsanca.fios.verizon.net
 [100.32.155.148])
 by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 285E2160E8A;
 Wed,  9 Mar 2016 01:37:46 -0800 (PST)
Subject: Re: bug#22884: 25.0.92; C/l mode editing takes waaaayy too long
To: John Wiegley <johnw@HIDDEN>
References: <56D72C35.4090708@HIDDEN>
 <20160303124910.GA2852@HIDDEN> <56D87A6E.8090202@HIDDEN>
 <83povbz3mp.fsf@HIDDEN> <56D8CC45.2090102@HIDDEN>
 <20160304144759.GB2117@HIDDEN> <56D9F0C6.4090800@HIDDEN>
 <20160308140205.GA6269@HIDDEN> <56DFDDEF.9090800@HIDDEN>
 <m28u1s0zl1.fsf@HIDDEN>
From: Paul Eggert <eggert@HIDDEN>
Organization: UCLA Computer Science Department
Message-ID: <56DFEEE9.2030603@HIDDEN>
Date: Wed, 9 Mar 2016 01:37:45 -0800
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101
 Thunderbird/38.6.0
MIME-Version: 1.0
In-Reply-To: <m28u1s0zl1.fsf@HIDDEN>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 22884
Cc: Alan Mackenzie <acm@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>,
 22884 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.0 (/)

John Wiegley wrote:
> Coq supports (* foo (* bar *) *), in the same way that C does with /* */.

It's not the same way as C, since C comments do not nest.

> Was there something more you wanted to know?

It's up to Alan, but I suppose Alan may want simple directions to try out nested 
comments in Coq, for someone who does not know Coq at all.  E.g., what should 
the file name and contents be, and what emacs -Q keystrokes should one type to 
illustrate how nested comments work.




Information forwarded to bug-gnu-emacs@HIDDEN, bug-cc-mode@HIDDEN:
bug#22884; Package emacs,cc-mode. Full text available.

Message received at 22884 <at> debbugs.gnu.org:


Received: (at 22884) by debbugs.gnu.org; 9 Mar 2016 09:29:11 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Mar 09 04:29:10 2016
Received: from localhost ([127.0.0.1]:40495 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1adaQY-0006Za-P7
	for submit <at> debbugs.gnu.org; Wed, 09 Mar 2016 04:29:10 -0500
Received: from mail-pa0-f52.google.com ([209.85.220.52]:35414)
 by debbugs.gnu.org with esmtp (Exim 4.84)
 (envelope-from <jwiegley@HIDDEN>) id 1adaQX-0006ZN-F7
 for 22884 <at> debbugs.gnu.org; Wed, 09 Mar 2016 04:29:09 -0500
Received: by mail-pa0-f52.google.com with SMTP id td3so8430734pab.2
 for <22884 <at> debbugs.gnu.org>; Wed, 09 Mar 2016 01:29:09 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
 h=from:to:cc:subject:in-reply-to:date:message-id:references
 :user-agent:reply-to:mime-version;
 bh=Ie7nE2WicbzFmsTSUiFETw8Eu0nN9hl2Ng8G1jbtpeQ=;
 b=TuHW8/LzE2NiPQp4fK6jc1MQdcfahaOBMtCxVPC1pTRnwqZMEzR0G8lfCQh9k6/RW2
 quW7mwnctVR8iSeHYnxtfYKV4sZZAJBNKglxhtkYM7z/FTdAjlpGEPlvY3NxNqivKN4O
 uSoRMgLLN4NUNnGhzn1Lo7o/IakGN8SoofeGmJQRmV2yYU9SZwvyoCPWgLUXMkEIybUu
 RQBMG+Fps+QZBuVWuIfq/uL9xJFquP2iLa7z9mDyCKZ43Uab58eUA9BPMD1znUFM0UU0
 f7N+iE4LE/lcYErvNmXnhz8koi3YlFKT85h54zxjCUeSGzRbVHq2fzn0Za8T7ucAsL1X
 zajA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20130820;
 h=x-gm-message-state:from:to:cc:subject:in-reply-to:date:message-id
 :references:user-agent:reply-to:mime-version;
 bh=Ie7nE2WicbzFmsTSUiFETw8Eu0nN9hl2Ng8G1jbtpeQ=;
 b=RtxKPiVfUxUpSb8zqGmg/gX3DEGuI7L05GFS4enXrbCGGcz43oQ58VorcO4iaTHjYf
 T5NBrBpuG/sNGWT7SUJsEI31RcJUBqrOjSgVwJX6Ax8jU+lMdPoUb92xPJN5+f2rg1nS
 E6tl8xP3TGVdp+7DdDGx8g9i+Vui2hE2HPBFR8obr2saJbSVCO9qnwIfha+aI+AF4XC5
 wJIIqKMFzFhzEkvfYHOiUJ9KO2XpMtacrJnvhiV2GDUdeRom5IiiKWMN5gR9YWDIcyKo
 0BaAW/mHx/TaVgnemqcyIEf4eV6U/Cee5p6eah+CInzj1srpz/rTYN0mfnAljy8o9GVJ
 Rx5w==
X-Gm-Message-State: AD7BkJIwcRsKbfJn3S7OavOPGynvOvjZyDBZT96ayLKc7Vs0vqNhxHdY3Wy0Mtdc7Jxceg==
X-Received: by 10.66.244.15 with SMTP id xc15mr48324761pac.97.1457515743687;
 Wed, 09 Mar 2016 01:29:03 -0800 (PST)
Received: from Vulcan.local (76-234-68-79.lightspeed.frokca.sbcglobal.net.
 [76.234.68.79])
 by smtp.gmail.com with ESMTPSA id kw10sm10857935pab.0.2016.03.09.01.29.01
 (version=TLS1 cipher=AES128-SHA bits=128/128);
 Wed, 09 Mar 2016 01:29:01 -0800 (PST)
From: John Wiegley <jwiegley@HIDDEN>
X-Google-Original-From: John Wiegley <johnw@HIDDEN>
Received: by Vulcan.local (Postfix, from userid 501)
 id EE66A135F7454; Wed,  9 Mar 2016 01:29:00 -0800 (PST)
To: Paul Eggert <eggert@HIDDEN>
Subject: Re: bug#22884: 25.0.92; C/l mode editing takes waaaayy too long
In-Reply-To: <56DFDDEF.9090800@HIDDEN> (Paul Eggert's message of "Wed, 9
 Mar 2016 00:25:19 -0800")
Date: Wed, 09 Mar 2016 01:28:58 -0800
Message-ID: <m28u1s0zl1.fsf@HIDDEN>
References: <56D72C35.4090708@HIDDEN>
 <20160303124910.GA2852@HIDDEN> <56D87A6E.8090202@HIDDEN>
 <83povbz3mp.fsf@HIDDEN> <56D8CC45.2090102@HIDDEN>
 <20160304144759.GB2117@HIDDEN> <56D9F0C6.4090800@HIDDEN>
 <20160308140205.GA6269@HIDDEN> <56DFDDEF.9090800@HIDDEN>
User-Agent: Gnus/5.130014 (Ma Gnus v0.14) Emacs/25.0.92 (darwin)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 22884
Cc: Alan Mackenzie <acm@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>,
 22884 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Reply-To: John Wiegley <johnw@HIDDEN>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.7 (/)

>>>>> Paul Eggert <eggert@HIDDEN> writes:

> Alan Mackenzie wrote:
>> Can you recommend me a major mode with nestable comments?

> How about Coq? I think John Wiegley is a Coq user and can advise.

Coq supports (* foo (* bar *) *), in the same way that C does with /* */.  Was
there something more you wanted to know?

-- 
John Wiegley                  GPG fingerprint = 4710 CF98 AF9B 327B B80F
http://newartisans.com                          60E1 46C4 BD1A 7AC1 4BA2




Information forwarded to bug-gnu-emacs@HIDDEN, bug-cc-mode@HIDDEN:
bug#22884; Package emacs,cc-mode. Full text available.

Message received at 22884 <at> debbugs.gnu.org:


Received: (at 22884) by debbugs.gnu.org; 9 Mar 2016 08:25:28 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Mar 09 03:25:27 2016
Received: from localhost ([127.0.0.1]:40470 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1adZQt-000507-PV
	for submit <at> debbugs.gnu.org; Wed, 09 Mar 2016 03:25:27 -0500
Received: from zimbra.cs.ucla.edu ([131.179.128.68]:58592)
 by debbugs.gnu.org with esmtp (Exim 4.84)
 (envelope-from <eggert@HIDDEN>) id 1adZQs-0004zu-F7
 for 22884 <at> debbugs.gnu.org; Wed, 09 Mar 2016 03:25:26 -0500
Received: from localhost (localhost [127.0.0.1])
 by zimbra.cs.ucla.edu (Postfix) with ESMTP id AEC64160E8A;
 Wed,  9 Mar 2016 00:25:20 -0800 (PST)
Received: from zimbra.cs.ucla.edu ([127.0.0.1])
 by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id qH9Pd2YHQWiS; Wed,  9 Mar 2016 00:25:20 -0800 (PST)
Received: from localhost (localhost [127.0.0.1])
 by zimbra.cs.ucla.edu (Postfix) with ESMTP id 12627160E8D;
 Wed,  9 Mar 2016 00:25:20 -0800 (PST)
X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu
Received: from zimbra.cs.ucla.edu ([127.0.0.1])
 by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id tyg6uqYMNYYQ; Wed,  9 Mar 2016 00:25:19 -0800 (PST)
Received: from [192.168.1.9] (pool-100-32-155-148.lsanca.fios.verizon.net
 [100.32.155.148])
 by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id DDDA3160E8A;
 Wed,  9 Mar 2016 00:25:19 -0800 (PST)
Subject: Re: bug#22884: 25.0.92; C/l mode editing takes waaaayy too long
To: Alan Mackenzie <acm@HIDDEN>
References: <56D72C35.4090708@HIDDEN>
 <20160303124910.GA2852@HIDDEN> <56D87A6E.8090202@HIDDEN>
 <83povbz3mp.fsf@HIDDEN> <56D8CC45.2090102@HIDDEN>
 <20160304144759.GB2117@HIDDEN> <56D9F0C6.4090800@HIDDEN>
 <20160308140205.GA6269@HIDDEN>
From: Paul Eggert <eggert@HIDDEN>
Organization: UCLA Computer Science Department
Message-ID: <56DFDDEF.9090800@HIDDEN>
Date: Wed, 9 Mar 2016 00:25:19 -0800
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101
 Thunderbird/38.6.0
MIME-Version: 1.0
In-Reply-To: <20160308140205.GA6269@HIDDEN>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 22884
Cc: Eli Zaretskii <eliz@HIDDEN>, John Wiegley <johnw@HIDDEN>,
 22884 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.0 (/)

Alan Mackenzie wrote:
> Can you recommend me a major mode with
> nestable comments?

How about Coq?  I think John Wiegley is a Coq user and can advise.

I'm afraid I know little about major modes and wouldn't be of much help as a 
reviewer for your patch (though it sounds good).




Information forwarded to bug-gnu-emacs@HIDDEN, bug-cc-mode@HIDDEN:
bug#22884; Package emacs,cc-mode. Full text available.

Message received at 22884 <at> debbugs.gnu.org:


Received: (at 22884) by debbugs.gnu.org; 8 Mar 2016 13:59:34 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Mar 08 08:59:34 2016
Received: from localhost ([127.0.0.1]:38742 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1adIAg-0005iM-5w
	for submit <at> debbugs.gnu.org; Tue, 08 Mar 2016 08:59:34 -0500
Received: from mail.muc.de ([193.149.48.3]:61572)
 by debbugs.gnu.org with esmtp (Exim 4.84)
 (envelope-from <acm@HIDDEN>) id 1adIAe-0005iD-5g
 for 22884 <at> debbugs.gnu.org; Tue, 08 Mar 2016 08:59:32 -0500
Received: (qmail 83828 invoked by uid 3782); 8 Mar 2016 13:59:30 -0000
Received: from acm.muc.de (p548A5689.dip0.t-ipconnect.de [84.138.86.137]) by
 colin.muc.de (tmda-ofmipd) with ESMTP;
 Tue, 08 Mar 2016 14:59:29 +0100
Received: (qmail 6387 invoked by uid 1000); 8 Mar 2016 14:02:05 -0000
Date: Tue, 8 Mar 2016 14:02:05 +0000
To: Paul Eggert <eggert@HIDDEN>
Subject: Re: bug#22884: 25.0.92; C/l mode editing takes waaaayy too long
Message-ID: <20160308140205.GA6269@HIDDEN>
References: <56D72C35.4090708@HIDDEN>
 <20160303124910.GA2852@HIDDEN>
 <56D87A6E.8090202@HIDDEN> <83povbz3mp.fsf@HIDDEN>
 <56D8CC45.2090102@HIDDEN>
 <20160304144759.GB2117@HIDDEN>
 <56D9F0C6.4090800@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <56D9F0C6.4090800@HIDDEN>
User-Agent: Mutt/1.5.24 (2015-08-30)
X-Delivery-Agent: TMDA/1.1.12 (Macallan)
From: Alan Mackenzie <acm@HIDDEN>
X-Primary-Address: acm@HIDDEN
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 22884
Cc: Eli Zaretskii <eliz@HIDDEN>, 22884 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.0 (/)

Hello, Paul.

On Fri, Mar 04, 2016 at 12:32:06PM -0800, Paul Eggert wrote:
> Alan Mackenzie wrote:
> > I have had an idea for fixing Emacs so that we don't have this problem
> > with parens in column 0.  That is only to scan comments in the forward
> > direction, and to mark them with text properties.  `back_comment' will
> > then be little more than checking these text properties are up to date,
> > and then doing a backward text property search.

> Would this mean we no longer need to put \( into Elisp doc strings too? It has 
> always been annoying that we have to do that.

> If it's practical to fold your idea into the emacs-25 branch it sounds like 
> it'll solve the problem. If it's safer to put such a change into the master 
> branch, I can install the patch I already wrote into the emacs-25 branch, as a 
> stopgap. What do you think?

OK, I've hacked this out and committed it to the new branch
"comment-cache", branched off of master.

To use it, (setq comment-cacheing-flag t), and enjoy!  The old
`back_comment' is still in syntax.c, renamed to `old_back_comment', and
it is used when that flag is left at nil.

There should no longer be any restrictions about open parentheses in
column 0, neither in comments nor in strings.
open-paren-in-column-0-is-defun-start should now be a relic (although it
still appears in some lisp files).

At the moment, the code only uses the cached information (on the
`comment-depth' text property) for moving backwards over comments.  It
could be enhanced also to use this information for moving back over
strings, or moving forward over comments and strings, but this is more
of an optimisation than new functionality, and I'm not convinced the
saving would be all that much.  (At the end of any such move, the
variables `from' and `from_byte' are out of synch, and a CHAR_TO_BYTE
invocation is necessary.  I don't know how slow or fast this is.)

As I've said already, the new scheme comes with one or two minor
restrictions: any Lisp code which chnages the syntax table in a way
which affects how literals are handled needs also to call
`trim-comment-cache' to invalidate the cache.  The same applies to
anybody tweaking the `syntax-table' property of a symbol which is the
value of a `category' text property.  CC Mode does the latter
extensively, and I'll need to prepare a version which doesn't do this.

At the moment, the code hasn't yet been tested with nestable comments,
or `category' text properties.  Can you recommend me a major mode with
nestable comments?  I haven't really tested it for narrowing, either, or
anything like indirect buffers.  

I'm not convinced by the names I've chosen for all the new functions and
variables, and I think I ought to rename "comment-cache" to
"literal-cache", and likewise for all the rest.

Some amendment of the Elisp manual will be needed to document the new
minor restrictions.

I look forward to your comments!

-- 
Alan Mackenzie (Nuremberg, Germany).




Information forwarded to bug-gnu-emacs@HIDDEN, bug-cc-mode@HIDDEN:
bug#22884; Package emacs,cc-mode. Full text available.

Message received at 22884 <at> debbugs.gnu.org:


Received: (at 22884) by debbugs.gnu.org; 4 Mar 2016 21:05:50 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Mar 04 16:05:50 2016
Received: from localhost ([127.0.0.1]:34134 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1abwv0-0002AP-Mw
	for submit <at> debbugs.gnu.org; Fri, 04 Mar 2016 16:05:50 -0500
Received: from mail.muc.de ([193.149.48.3]:32639)
 by debbugs.gnu.org with esmtp (Exim 4.84)
 (envelope-from <acm@HIDDEN>) id 1abwuy-0002AG-Dk
 for 22884 <at> debbugs.gnu.org; Fri, 04 Mar 2016 16:05:48 -0500
Received: (qmail 65982 invoked by uid 3782); 4 Mar 2016 21:05:46 -0000
Received: from acm.muc.de (p579E8D6B.dip0.t-ipconnect.de [87.158.141.107]) by
 colin.muc.de (tmda-ofmipd) with ESMTP;
 Fri, 04 Mar 2016 22:05:44 +0100
Received: (qmail 13617 invoked by uid 1000); 4 Mar 2016 21:08:18 -0000
Date: Fri, 4 Mar 2016 21:08:18 +0000
To: Paul Eggert <eggert@HIDDEN>
Subject: Re: bug#22884: 25.0.92; C/l mode editing takes waaaayy too long
Message-ID: <20160304210818.GC2117@HIDDEN>
References: <56D72C35.4090708@HIDDEN>
 <20160303124910.GA2852@HIDDEN>
 <56D87A6E.8090202@HIDDEN> <83povbz3mp.fsf@HIDDEN>
 <56D8CC45.2090102@HIDDEN>
 <20160304144759.GB2117@HIDDEN>
 <56D9F0C6.4090800@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <56D9F0C6.4090800@HIDDEN>
User-Agent: Mutt/1.5.24 (2015-08-30)
X-Delivery-Agent: TMDA/1.1.12 (Macallan)
From: Alan Mackenzie <acm@HIDDEN>
X-Primary-Address: acm@HIDDEN
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 22884
Cc: Eli Zaretskii <eliz@HIDDEN>, 22884 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.0 (/)

Hello, Paul.

On Fri, Mar 04, 2016 at 12:32:06PM -0800, Paul Eggert wrote:
> Alan Mackenzie wrote:
> > I have had an idea for fixing Emacs so that we don't have this problem
> > with parens in column 0.  That is only to scan comments in the forward
> > direction, and to mark them with text properties.  `back_comment' will
> > then be little more than checking these text properties are up to date,
> > and then doing a backward text property search.

> Would this mean we no longer need to put \( into Elisp doc strings too? It has 
> always been annoying that we have to do that.

It would mean this, yes.  open-paren-in-column-0-is-defun-start would
become obsolete.

> If it's practical to fold your idea into the emacs-25 branch it sounds like 
> it'll solve the problem. If it's safer to put such a change into the master 
> branch, I can install the patch I already wrote into the emacs-25 branch, as a 
> stopgap. What do you think?

Definitely the master branch.  The change is far too involved to slip
into emacs-25 at this late stage.  So I think you should install your
patch.

The new scheme would come with some restrictions: the use of category
properties to effect instantaeous global changes to syntax-table text
properties throughout a buffer would have to be deprecated (i.e.
forbidden).  CC Mode currently does this.  Setting
`inhibit-modification-hooks' non-nil and making substantive buffer
changes would likewise be taboo.  There may be other minor restrictions.
Because of this, it might be an idea to make the new comment handling
optional (default on).

-- 
Alan Mackenzie (Nuremberg, Germany).




Information forwarded to bug-gnu-emacs@HIDDEN, bug-cc-mode@HIDDEN:
bug#22884; Package emacs,cc-mode. Full text available.

Message received at 22884 <at> debbugs.gnu.org:


Received: (at 22884) by debbugs.gnu.org; 4 Mar 2016 20:32:17 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Mar 04 15:32:17 2016
Received: from localhost ([127.0.0.1]:34118 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1abwOX-0001Ov-96
	for submit <at> debbugs.gnu.org; Fri, 04 Mar 2016 15:32:17 -0500
Received: from zimbra.cs.ucla.edu ([131.179.128.68]:55668)
 by debbugs.gnu.org with esmtp (Exim 4.84)
 (envelope-from <eggert@HIDDEN>) id 1abwOU-0001Of-D7
 for 22884 <at> debbugs.gnu.org; Fri, 04 Mar 2016 15:32:14 -0500
Received: from localhost (localhost [127.0.0.1])
 by zimbra.cs.ucla.edu (Postfix) with ESMTP id A795B160255;
 Fri,  4 Mar 2016 12:32:07 -0800 (PST)
Received: from zimbra.cs.ucla.edu ([127.0.0.1])
 by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id bDOpOtREgIyB; Fri,  4 Mar 2016 12:32:07 -0800 (PST)
Received: from localhost (localhost [127.0.0.1])
 by zimbra.cs.ucla.edu (Postfix) with ESMTP id EFFF5161009;
 Fri,  4 Mar 2016 12:32:06 -0800 (PST)
X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu
Received: from zimbra.cs.ucla.edu ([127.0.0.1])
 by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id tkBTKeMaJj6w; Fri,  4 Mar 2016 12:32:06 -0800 (PST)
Received: from [192.168.1.9] (pool-100-32-155-148.lsanca.fios.verizon.net
 [100.32.155.148])
 by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id CCE28160255;
 Fri,  4 Mar 2016 12:32:06 -0800 (PST)
Subject: Re: bug#22884: 25.0.92; C/l mode editing takes waaaayy too long
To: Alan Mackenzie <acm@HIDDEN>
References: <56D72C35.4090708@HIDDEN>
 <20160303124910.GA2852@HIDDEN> <56D87A6E.8090202@HIDDEN>
 <83povbz3mp.fsf@HIDDEN> <56D8CC45.2090102@HIDDEN>
 <20160304144759.GB2117@HIDDEN>
From: Paul Eggert <eggert@HIDDEN>
Organization: UCLA Computer Science Department
Message-ID: <56D9F0C6.4090800@HIDDEN>
Date: Fri, 4 Mar 2016 12:32:06 -0800
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101
 Thunderbird/38.5.1
MIME-Version: 1.0
In-Reply-To: <20160304144759.GB2117@HIDDEN>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 22884
Cc: Eli Zaretskii <eliz@HIDDEN>, 22884 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.0 (/)

Alan Mackenzie wrote:
> I have had an idea for fixing Emacs so that we don't have this problem
> with parens in column 0.  That is only to scan comments in the forward
> direction, and to mark them with text properties.  `back_comment' will
> then be little more than checking these text properties are up to date,
> and then doing a backward text property search.

Would this mean we no longer need to put \( into Elisp doc strings too? It has 
always been annoying that we have to do that.

If it's practical to fold your idea into the emacs-25 branch it sounds like 
it'll solve the problem. If it's safer to put such a change into the master 
branch, I can install the patch I already wrote into the emacs-25 branch, as a 
stopgap. What do you think?




Information forwarded to bug-gnu-emacs@HIDDEN, bug-cc-mode@HIDDEN:
bug#22884; Package emacs,cc-mode. Full text available.

Message received at 22884 <at> debbugs.gnu.org:


Received: (at 22884) by debbugs.gnu.org; 4 Mar 2016 14:45:31 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Mar 04 09:45:31 2016
Received: from localhost ([127.0.0.1]:60951 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1abqyx-0007Fa-IN
	for submit <at> debbugs.gnu.org; Fri, 04 Mar 2016 09:45:31 -0500
Received: from mail.muc.de ([193.149.48.3]:59580)
 by debbugs.gnu.org with esmtp (Exim 4.84)
 (envelope-from <acm@HIDDEN>) id 1abqyv-0007FQ-Jg
 for 22884 <at> debbugs.gnu.org; Fri, 04 Mar 2016 09:45:30 -0500
Received: (qmail 51788 invoked by uid 3782); 4 Mar 2016 14:45:28 -0000
Received: from acm.muc.de (p579E8D6B.dip0.t-ipconnect.de [87.158.141.107]) by
 colin.muc.de (tmda-ofmipd) with ESMTP;
 Fri, 04 Mar 2016 15:45:26 +0100
Received: (qmail 12135 invoked by uid 1000); 4 Mar 2016 14:47:59 -0000
Date: Fri, 4 Mar 2016 14:47:59 +0000
To: Paul Eggert <eggert@HIDDEN>
Subject: Re: bug#22884: 25.0.92; C/l mode editing takes waaaayy too long
Message-ID: <20160304144759.GB2117@HIDDEN>
References: <56D72C35.4090708@HIDDEN>
 <20160303124910.GA2852@HIDDEN>
 <56D87A6E.8090202@HIDDEN> <83povbz3mp.fsf@HIDDEN>
 <56D8CC45.2090102@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <56D8CC45.2090102@HIDDEN>
User-Agent: Mutt/1.5.24 (2015-08-30)
X-Delivery-Agent: TMDA/1.1.12 (Macallan)
From: Alan Mackenzie <acm@HIDDEN>
X-Primary-Address: acm@HIDDEN
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 22884
Cc: Eli Zaretskii <eliz@HIDDEN>, 22884 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.0 (/)

Hello, Paul.

On Thu, Mar 03, 2016 at 03:44:05PM -0800, Paul Eggert wrote:
> On 03/03/2016 12:51 PM, Eli Zaretskii wrote:
> > I'd rather we fixed CC Mode instead of "fixing" the
> > sources it chokes on.

> Me too, but I don't see a straightforward cc-mode fix for this.

> Even if we come up with a fix, for some time we'll have the problem of 
> people using old versions of Emacs to look at the new Emacs source code. 
> And until there's a fix Emacs is reeeaally sluggish when editing 
> config.h at least. So I'd rather fix at least config.h, and (since I've 
> already done the work) I'm also mildly inclined to fix the other files 
> to be consistent, as in the attached patch (which also covers licenses 
> in the other .c and .h files).

Thanks for the (new) patch.  I've tried it out, and it appears to build
and run just fine.

I have had an idea for fixing Emacs so that we don't have this problem
with parens in column 0.  That is only to scan comments in the forward
direction, and to mark them with text properties.  `back_comment' will
then be little more than checking these text properties are up to date,
and then doing a backward text property search.

> From c7c5fa7e01492963aab142d91b00cb872cb49686 Mon Sep 17 00:00:00 2001
> From: Paul Eggert <eggert@HIDDEN>
> Date: Thu, 3 Mar 2016 15:42:28 -0800
> Subject: [PATCH] Rework C source files to avoid ^(
> MIME-Version: 1.0
> Content-Type: text/plain; charset=UTF-8
> Content-Transfer-Encoding: 8bit

> Work around Bug#22884 by rewording comments and strings to avoid ‘(’
> at the start of a line unless it starts a function.  Although this
> change is a hack and we should fix cc-mode’s performance for C files
> that have ‘(’ at the start of a line in a comment or string, the
> change does fix the immediate problem.
> ---

-- 
Alan Mackenzie (Nuremberg, Germany).




Information forwarded to bug-gnu-emacs@HIDDEN, bug-cc-mode@HIDDEN:
bug#22884; Package emacs,cc-mode. Full text available.

Message received at 22884 <at> debbugs.gnu.org:


Received: (at 22884) by debbugs.gnu.org; 4 Mar 2016 09:34:39 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Mar 04 04:34:39 2016
Received: from localhost ([127.0.0.1]:60814 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1abm86-0004zE-WB
	for submit <at> debbugs.gnu.org; Fri, 04 Mar 2016 04:34:39 -0500
Received: from mail.muc.de ([193.149.48.3]:29271)
 by debbugs.gnu.org with esmtp (Exim 4.84)
 (envelope-from <acm@HIDDEN>) id 1abm85-0004z5-EA
 for 22884 <at> debbugs.gnu.org; Fri, 04 Mar 2016 04:34:37 -0500
Received: (qmail 73073 invoked by uid 3782); 4 Mar 2016 09:34:36 -0000
Received: from acm.muc.de (p579E8D6B.dip0.t-ipconnect.de [87.158.141.107]) by
 colin.muc.de (tmda-ofmipd) with ESMTP;
 Fri, 04 Mar 2016 10:34:35 +0100
Received: (qmail 2176 invoked by uid 1000); 4 Mar 2016 09:37:07 -0000
Date: Fri, 4 Mar 2016 09:37:07 +0000
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#22884: 25.0.92; C/l mode editing takes waaaayy too long
Message-ID: <20160304093707.GA2117@HIDDEN>
References: <56D72C35.4090708@HIDDEN>
 <20160303124910.GA2852@HIDDEN> <83si07z451.fsf@HIDDEN>
 <20160303231823.GD3822@HIDDEN> <83fuw6zlqf.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <83fuw6zlqf.fsf@HIDDEN>
User-Agent: Mutt/1.5.24 (2015-08-30)
X-Delivery-Agent: TMDA/1.1.12 (Macallan)
From: Alan Mackenzie <acm@HIDDEN>
X-Primary-Address: acm@HIDDEN
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 22884
Cc: eggert@HIDDEN, 22884 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.0 (/)

Hello, Eli.

On Fri, Mar 04, 2016 at 10:32:56AM +0200, Eli Zaretskii wrote:
> > Date: Thu, 3 Mar 2016 23:18:23 +0000
> > Cc: eggert@HIDDEN, 22884 <at> debbugs.gnu.org
> > From: Alan Mackenzie <acm@HIDDEN>

> > Would it be practicable to mark comments with text properties?  Say, a
> > property called `comment-depth' which would be either nil (meaning
> > currently unknown), 0 (definitely not in a comment), 1 (definitely in a
> > comment), 2 (in a nested comment), 3, ...... ?  That way we could always
> > scan comments in the forwards direction (which is easy) - if we need to
> > go backwards over a comment without the property, we can just go back to
> > a known point and scan forward.

> I don't see any immediate problems with this.  But doesn't creating
> these properties require to solve the same problem with the specific
> cases we are discussing now?

No, it doesn't.  The difficulties with scanning comments only happen when
scanning backwards.  For example, on scanning backwards for a putative
line comment, we're only guessing that there's going to be a "//" earlier
in the line.  And that token might easily be inside a string, so we've
got to keep track of string delimiters, too.  Etc.
open-paren-in-column-0-is-defun-start is only tested twice in syntax.c,
the "most important" time being in `back-comment', where we break off the
scanning when it is non-nil and we've found an open paren at column zero.

By contrast, scanning comments going forward is trivial.  We see the
opening comment delimiter, and scan forward for the closing one, ignoring
strings, possibly nested openers (/*.../*..*/), and so on.

So a (forward-comment -1) would just involve going back over the closing
delimiter and searching back for the `comment-depth' property being zero.
If the property was unset at that point, we go back to the last place it
is set and scan comments forward till we get back to our starting place.

Additionally, we'd need to zap the property between point and EOB on each
buffer change.  Not difficult.

> > Or would this just overwhelm the text property mechanism?

> No, I don't think it should.  Text properties scale reasonably well.
> And we already have the same with faces (since comments have a
> specific face), don't we?

Then we have a project!

-- 
Alan Mackenzie (Nuremberg, Germany).




Information forwarded to bug-gnu-emacs@HIDDEN, bug-cc-mode@HIDDEN:
bug#22884; Package emacs,cc-mode. Full text available.

Message received at 22884 <at> debbugs.gnu.org:


Received: (at 22884) by debbugs.gnu.org; 4 Mar 2016 08:33:10 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Mar 04 03:33:10 2016
Received: from localhost ([127.0.0.1]:60786 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ablAc-0003bo-GJ
	for submit <at> debbugs.gnu.org; Fri, 04 Mar 2016 03:33:10 -0500
Received: from eggs.gnu.org ([208.118.235.92]:59610)
 by debbugs.gnu.org with esmtp (Exim 4.84)
 (envelope-from <eliz@HIDDEN>) id 1ablAa-0003ba-KH
 for 22884 <at> debbugs.gnu.org; Fri, 04 Mar 2016 03:33:08 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <eliz@HIDDEN>) id 1ablAR-0003KK-LR
 for 22884 <at> debbugs.gnu.org; Fri, 04 Mar 2016 03:33:03 -0500
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_20,RP_MATCHES_RCVD
 autolearn=disabled version=3.3.2
Received: from fencepost.gnu.org ([2001:4830:134:3::e]:41780)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <eliz@HIDDEN>)
 id 1ablAR-0003K6-Iw; Fri, 04 Mar 2016 03:32:59 -0500
Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:2283
 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1ablAQ-0005Fr-OA; Fri, 04 Mar 2016 03:32:59 -0500
Date: Fri, 04 Mar 2016 10:32:56 +0200
Message-Id: <83fuw6zlqf.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Alan Mackenzie <acm@HIDDEN>
In-reply-to: <20160303231823.GD3822@HIDDEN> (message from Alan
 Mackenzie on Thu, 3 Mar 2016 23:18:23 +0000)
Subject: Re: bug#22884: 25.0.92; C/l mode editing takes waaaayy too long
References: <56D72C35.4090708@HIDDEN>
 <20160303124910.GA2852@HIDDEN> <83si07z451.fsf@HIDDEN>
 <20160303231823.GD3822@HIDDEN>
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Received-From: 2001:4830:134:3::e
X-Spam-Score: -5.0 (-----)
X-Debbugs-Envelope-To: 22884
Cc: eggert@HIDDEN, 22884 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Reply-To: Eli Zaretskii <eliz@HIDDEN>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -5.0 (-----)

> Date: Thu, 3 Mar 2016 23:18:23 +0000
> Cc: eggert@HIDDEN, 22884 <at> debbugs.gnu.org
> From: Alan Mackenzie <acm@HIDDEN>
> 
> Would it be practicable to mark comments with text properties?  Say, a
> property called `comment-depth' which would be either nil (meaning
> currently unknown), 0 (definitely not in a comment), 1 (definitely in a
> comment), 2 (in a nested comment), 3, ...... ?  That way we could always
> scan comments in the forwards direction (which is easy) - if we need to
> go backwards over a comment without the property, we can just go back to
> a known point and scan forward.

I don't see any immediate problems with this.  But doesn't creating
these properties require to solve the same problem with the specific
cases we are discussing now?

> Or would this just overwhelm the text property mechanism?

No, I don't think it should.  Text properties scale reasonably well.
And we already have the same with faces (since comments have a
specific face), don't we?




Information forwarded to bug-gnu-emacs@HIDDEN, bug-cc-mode@HIDDEN:
bug#22884; Package emacs,cc-mode. Full text available.

Message received at 22884 <at> debbugs.gnu.org:


Received: (at 22884) by debbugs.gnu.org; 3 Mar 2016 23:44:28 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Mar 03 18:44:28 2016
Received: from localhost ([127.0.0.1]:60618 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1abcuy-0007xm-4c
	for submit <at> debbugs.gnu.org; Thu, 03 Mar 2016 18:44:28 -0500
Received: from zimbra.cs.ucla.edu ([131.179.128.68]:44987)
 by debbugs.gnu.org with esmtp (Exim 4.84)
 (envelope-from <eggert@HIDDEN>) id 1abcuw-0007xY-Fg
 for 22884 <at> debbugs.gnu.org; Thu, 03 Mar 2016 18:44:27 -0500
Received: from localhost (localhost [127.0.0.1])
 by zimbra.cs.ucla.edu (Postfix) with ESMTP id 92237160779;
 Thu,  3 Mar 2016 15:44:20 -0800 (PST)
Received: from zimbra.cs.ucla.edu ([127.0.0.1])
 by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id n1K-JLcdZMa5; Thu,  3 Mar 2016 15:44:06 -0800 (PST)
Received: from localhost (localhost [127.0.0.1])
 by zimbra.cs.ucla.edu (Postfix) with ESMTP id 7E755160FF5;
 Thu,  3 Mar 2016 15:44:06 -0800 (PST)
X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu
Received: from zimbra.cs.ucla.edu ([127.0.0.1])
 by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id 7thBaW1__Sbu; Thu,  3 Mar 2016 15:44:06 -0800 (PST)
Received: from penguin.cs.ucla.edu (Penguin.CS.UCLA.EDU [131.179.64.200])
 by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 300B4160779;
 Thu,  3 Mar 2016 15:44:06 -0800 (PST)
Subject: Re: bug#22884: 25.0.92; C/l mode editing takes waaaayy too long
To: Eli Zaretskii <eliz@HIDDEN>
References: <56D72C35.4090708@HIDDEN>
 <20160303124910.GA2852@HIDDEN> <56D87A6E.8090202@HIDDEN>
 <83povbz3mp.fsf@HIDDEN>
From: Paul Eggert <eggert@HIDDEN>
Organization: UCLA Computer Science Department
Message-ID: <56D8CC45.2090102@HIDDEN>
Date: Thu, 3 Mar 2016 15:44:05 -0800
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101
 Thunderbird/38.6.0
MIME-Version: 1.0
In-Reply-To: <83povbz3mp.fsf@HIDDEN>
Content-Type: multipart/mixed; boundary="------------060606010004080908000709"
X-Debbugs-Envelope-To: 22884
Cc: acm@HIDDEN, 22884 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>

This is a multi-part message in MIME format.
--------------060606010004080908000709
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit

On 03/03/2016 12:51 PM, Eli Zaretskii wrote:
> I'd rather we fixed CC Mode instead of "fixing" the
> sources it chokes on.

Me too, but I don't see a straightforward cc-mode fix for this.

Even if we come up with a fix, for some time we'll have the problem of 
people using old versions of Emacs to look at the new Emacs source code. 
And until there's a fix Emacs is reeeaally sluggish when editing 
config.h at least. So I'd rather fix at least config.h, and (since I've 
already done the work) I'm also mildly inclined to fix the other files 
to be consistent, as in the attached patch (which also covers licenses 
in the other .c and .h files).

--------------060606010004080908000709
Content-Type: text/plain; charset=UTF-8;
 name="0001-Rework-C-source-files-to-avoid.fix"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="0001-Rework-C-source-files-to-avoid.fix"

RnJvbSBjN2M1ZmE3ZTAxNDkyOTYzYWFiMTQyZDkxYjAwY2I4NzJjYjQ5Njg2IE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1
PgpEYXRlOiBUaHUsIDMgTWFyIDIwMTYgMTU6NDI6MjggLTA4MDAKU3ViamVjdDogW1BBVENI
XSBSZXdvcmsgQyBzb3VyY2UgZmlsZXMgdG8gYXZvaWQgXigKTUlNRS1WZXJzaW9uOiAxLjAK
Q29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CkNvbnRlbnQtVHJhbnNm
ZXItRW5jb2Rpbmc6IDhiaXQKCldvcmsgYXJvdW5kIEJ1ZyMyMjg4NCBieSByZXdvcmRpbmcg
Y29tbWVudHMgYW5kIHN0cmluZ3MgdG8gYXZvaWQg4oCYKOKAmQphdCB0aGUgc3RhcnQgb2Yg
YSBsaW5lIHVubGVzcyBpdCBzdGFydHMgYSBmdW5jdGlvbi4gIEFsdGhvdWdoIHRoaXMKY2hh
bmdlIGlzIGEgaGFjayBhbmQgd2Ugc2hvdWxkIGZpeCBjYy1tb2Rl4oCZcyBwZXJmb3JtYW5j
ZSBmb3IgQyBmaWxlcwp0aGF0IGhhdmUg4oCYKOKAmSBhdCB0aGUgc3RhcnQgb2YgYSBsaW5l
IGluIGEgY29tbWVudCBvciBzdHJpbmcsIHRoZQpjaGFuZ2UgZG9lcyBmaXggdGhlIGltbWVk
aWF0ZSBwcm9ibGVtLgotLS0KIGFkbWluL2FsbG9jLWNvbG9ycy5jICAgICAgICAgICAgICAg
ICAgfCAgNCArKy0tCiBjb25maWd1cmUuYWMgICAgICAgICAgICAgICAgICAgICAgICAgIHwg
IDQgKystLQogbGliLXNyYy9lYnJvd3NlLmMgICAgICAgICAgICAgICAgICAgICB8ICA0ICsr
LS0KIGxpYi1zcmMvZW1hY3NjbGllbnQuYyAgICAgICAgICAgICAgICAgfCAgNCArKy0tCiBs
aWItc3JjL2V0YWdzLmMgICAgICAgICAgICAgICAgICAgICAgIHwgIDggKysrKy0tLS0KIGxp
Yi1zcmMvaGV4bC5jICAgICAgICAgICAgICAgICAgICAgICAgfCAgNyArKystLS0tCiBsaWIt
c3JjL21ha2UtZG9jZmlsZS5jICAgICAgICAgICAgICAgIHwgIDQgKystLQogbGliLXNyYy9t
b3ZlbWFpbC5jICAgICAgICAgICAgICAgICAgICB8ICA0ICsrLS0KIGxpYi1zcmMvbnRsaWIu
YyAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArKy0tCiBsaWItc3JjL250bGliLmggICAg
ICAgICAgICAgICAgICAgICAgIHwgIDUgKystLS0KIGxpYi1zcmMvcG9wLmMgICAgICAgICAg
ICAgICAgICAgICAgICAgfCAgNCArKy0tCiBsaWItc3JjL3BvcC5oICAgICAgICAgICAgICAg
ICAgICAgICAgIHwgIDQgKystLQogbGliLXNyYy9wcm9maWxlLmMgICAgICAgICAgICAgICAg
ICAgICB8ICA0ICsrLS0KIGxpYi1zcmMvdXBkYXRlLWdhbWUtc2NvcmUuYyAgICAgICAgICAg
fCAgNCArKy0tCiBtb2R1bGVzL21vZC10ZXN0L21vZC10ZXN0LmMgICAgICAgICAgIHwgIDQg
KystLQogbXNkb3MvaW50dHlwZXMuaCAgICAgICAgICAgICAgICAgICAgICB8ICA0ICsrLS0K
IG50L2FkZHBtLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArKy0tCiBudC9j
bWRwcm94eS5jICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKystLQogbnQvZGRlY2xp
ZW50LmMgICAgICAgICAgICAgICAgICAgICAgICB8ICA1ICsrLS0tCiBudC9pbmMvZ3JwLmgg
ICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDUgKystLS0KIG50L2luYy9pbnR0eXBlcy5o
ICAgICAgICAgICAgICAgICAgICAgfCAgNCArKy0tCiBudC9pbmMvbGFuZ2luZm8uaCAgICAg
ICAgICAgICAgICAgICAgIHwgIDUgKystLS0KIG50L2luYy9tcy13MzIuaCAgICAgICAgICAg
ICAgICAgICAgICAgfCAgNCArKy0tCiBudC9pbmMvbmxfdHlwZXMuaCAgICAgICAgICAgICAg
ICAgICAgIHwgIDQgKystLQogbnQvaW5jL3N0ZGludC5oICAgICAgICAgICAgICAgICAgICAg
ICB8ICA0ICsrLS0KIG50L2luYy9zeXMvc29ja2V0LmggICAgICAgICAgICAgICAgICAgfCAg
NCArKy0tCiBudC9pbmMvc3lzL3N0YXQuaCAgICAgICAgICAgICAgICAgICAgIHwgIDQgKyst
LQogbnQvaW5jL3N5cy93YWl0LmggICAgICAgICAgICAgICAgICAgICB8ICA0ICsrLS0KIG50
L3ByZXByZXAuYyAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxMyArKysrKystLS0tLS0t
CiBudC9ydW5lbWFjcy5jICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKystLQogb2xk
WE1lbnUvQWN0aXZhdGUuYyAgICAgICAgICAgICAgICAgICB8ICA0ICsrLS0KIG9sZFhNZW51
L0NyZWF0ZS5jICAgICAgICAgICAgICAgICAgICAgfCAgNCArKy0tCiBvbGRYTWVudS9GaW5k
U2VsLmMgICAgICAgICAgICAgICAgICAgIHwgIDQgKystLQogb2xkWE1lbnUvSW50ZXJuYWwu
YyAgICAgICAgICAgICAgICAgICB8ICA0ICsrLS0KIG9sZFhNZW51L2luc3F1ZS5jICAgICAg
ICAgICAgICAgICAgICAgfCAgNCArKy0tCiBzcmMvYWxsb2MuYyAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHwgIDQgKystLQogc3JjL2F0aW1lci5jICAgICAgICAgICAgICAgICAgICAg
ICAgICB8ICA0ICsrLS0KIHNyYy9hdGltZXIuaCAgICAgICAgICAgICAgICAgICAgICAgICAg
fCAgNCArKy0tCiBzcmMvYmlkaS5jICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQg
KystLQogc3JjL2Jsb2NraW5wdXQuaCAgICAgICAgICAgICAgICAgICAgICB8ICA0ICsrLS0K
IHNyYy9idWZmZXIuYyAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxOCArKysrKysrKyst
LS0tLS0tLS0KIHNyYy9idWZmZXIuaCAgICAgICAgICAgICAgICAgICAgICAgICAgfCAyNiAr
KysrKysrKysrKysrLS0tLS0tLS0tLS0tLQogc3JjL2J5dGVjb2RlLmMgICAgICAgICAgICAg
ICAgICAgICAgICB8ICA4ICsrKystLS0tCiBzcmMvY2FsbGludC5jICAgICAgICAgICAgICAg
ICAgICAgICAgIHwgIDQgKystLQogc3JjL2NhbGxwcm9jLmMgICAgICAgICAgICAgICAgICAg
ICAgICB8ICA4ICsrKystLS0tCiBzcmMvY2FzZWZpZGRsZS5jICAgICAgICAgICAgICAgICAg
ICAgIHwgIDQgKystLQogc3JjL2Nhc2V0YWIuYyAgICAgICAgICAgICAgICAgICAgICAgICB8
ICA0ICsrLS0KIHNyYy9jYXRlZ29yeS5jICAgICAgICAgICAgICAgICAgICAgICAgfCAgOCAr
KysrLS0tLQogc3JjL2NhdGVnb3J5LmggICAgICAgICAgICAgICAgICAgICAgICB8ICA0ICsr
LS0KIHNyYy9jY2wuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArKy0tCiBz
cmMvY2NsLmggICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKystLQogc3JjL2No
YXJhY3Rlci5jICAgICAgICAgICAgICAgICAgICAgICB8ICA0ICsrLS0KIHNyYy9jaGFyYWN0
ZXIuaCAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArKy0tCiBzcmMvY2hhcnNldC5jICAg
ICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKystLQogc3JjL2NoYXJzZXQuaCAgICAgICAg
ICAgICAgICAgICAgICAgICB8ICA0ICsrLS0KIHNyYy9jaGFydGFiLmMgICAgICAgICAgICAg
ICAgICAgICAgICAgfCAgNiArKystLS0KIHNyYy9jbS5jICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfCAgNCArKy0tCiBzcmMvY20uaCAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHwgIDQgKystLQogc3JjL2NtZHMuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8
ICA2ICsrKy0tLQogc3JjL2NvZGluZy5jICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA4
ICsrKystLS0tCiBzcmMvY29kaW5nLmggICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQg
KystLQogc3JjL2NvbW1hbmRzLmggICAgICAgICAgICAgICAgICAgICAgICB8ICA0ICsrLS0K
IHNyYy9jb21wb3NpdGUuYyAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArKy0tCiBzcmMv
Y29tcG9zaXRlLmggICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKystLQogc3JjL2NvbmZf
cG9zdC5oICAgICAgICAgICAgICAgICAgICAgICB8ICA0ICsrLS0KIHNyYy9jeWd3MzIuYyAg
ICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArKy0tCiBzcmMvY3lndzMyLmggICAgICAg
ICAgICAgICAgICAgICAgICAgIHwgIDQgKystLQogc3JjL2RhdGEuYyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB8ICA2ICsrKy0tLQogc3JjL2RidXNiaW5kLmMgICAgICAgICAgICAg
ICAgICAgICAgICB8ICA0ICsrLS0KIHNyYy9kZWNvbXByZXNzLmMgICAgICAgICAgICAgICAg
ICAgICAgfCAgNCArKy0tCiBzcmMvZGlyZWQuYyAgICAgICAgICAgICAgICAgICAgICAgICAg
IHwgIDQgKystLQogc3JjL2Rpc3BleHRlcm4uaCAgICAgICAgICAgICAgICAgICAgICB8ICA0
ICsrLS0KIHNyYy9kaXNwbmV3LmMgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNiArKyst
LS0KIHNyYy9kaXNwdGFiLmggICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArKy0tCiBz
cmMvZG9jLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDYgKysrLS0tCiBzcmMv
ZG9wcm50LmMgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKystLQogc3JjL2Rvc2Zu
cy5jICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA0ICsrLS0KIHNyYy9kb3NmbnMuaCAg
ICAgICAgICAgICAgICAgICAgICAgICAgfCAgNSArKy0tLQogc3JjL2R5bmxpYi5jICAgICAg
ICAgICAgICAgICAgICAgICAgICB8ICA0ICsrLS0KIHNyYy9keW5saWIuaCAgICAgICAgICAg
ICAgICAgICAgICAgICAgfCAgNCArKy0tCiBzcmMvZWRpdGZucy5jICAgICAgICAgICAgICAg
ICAgICAgICAgIHwgMTAgKysrKystLS0tLQogc3JjL2VtYWNzLWljb24uaCAgICAgICAgICAg
ICAgICAgICAgICB8ICA1ICsrLS0tCiBzcmMvZW1hY3MtbW9kdWxlLmMgICAgICAgICAgICAg
ICAgICAgIHwgIDQgKystLQogc3JjL2VtYWNzLW1vZHVsZS5oICAgICAgICAgICAgICAgICAg
ICB8ICA0ICsrLS0KIHNyYy9lbWFjcy5jICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg
NCArKy0tCiBzcmMvZW1hY3NndGtmaXhlZC5jICAgICAgICAgICAgICAgICAgIHwgIDQgKyst
LQogc3JjL2VtYWNzZ3RrZml4ZWQuaCAgICAgICAgICAgICAgICAgICB8ICA0ICsrLS0KIHNy
Yy9ldmFsLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgOCArKysrLS0tLQogc3Jj
L2ZpbGVpby5jICAgICAgICAgICAgICAgICAgICAgICAgICB8IDIyICsrKysrKysrKysrLS0t
LS0tLS0tLS0KIHNyYy9maWxlbG9jay5jICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCAr
Ky0tCiBzcmMvZmlyc3RmaWxlLmMgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKystLQog
c3JjL2Zsb2F0Zm5zLmMgICAgICAgICAgICAgICAgICAgICAgICB8IDE0ICsrKysrKystLS0t
LS0tCiBzcmMvZm5zLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMjYgKysrKysr
KysrKysrKy0tLS0tLS0tLS0tLS0KIHNyYy9mb250LmMgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfCAgOCArKysrLS0tLQogc3JjL2ZvbnQuaCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB8ICA0ICsrLS0KIHNyYy9mb250c2V0LmMgICAgICAgICAgICAgICAgICAgICAgICAg
fCAgNCArKy0tCiBzcmMvZm9udHNldC5oICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQg
KystLQogc3JjL2ZyYW1lLmMgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA2ICsrKy0t
LQogc3JjL2ZyYW1lLmggICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA0ICsrLS0KIHNy
Yy9mcmluZ2UuYyAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNiArKystLS0KIHNyYy9m
dGNyZm9udC5jICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArKy0tCiBzcmMvZnRmb250
LmMgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKystLQogc3JjL2Z0Zm9udC5oICAg
ICAgICAgICAgICAgICAgICAgICAgICB8ICA1ICsrLS0tCiBzcmMvZnR4Zm9udC5jICAgICAg
ICAgICAgICAgICAgICAgICAgIHwgIDQgKystLQogc3JjL2dldHBhZ2VzaXplLmggICAgICAg
ICAgICAgICAgICAgICB8ICA1ICsrLS0tCiBzcmMvZ2ZpbGVub3RpZnkuYyAgICAgICAgICAg
ICAgICAgICAgIHwgIDQgKystLQogc3JjL2dudXRscy5jICAgICAgICAgICAgICAgICAgICAg
ICAgICB8ICA0ICsrLS0KIHNyYy9nbnV0bHMuaCAgICAgICAgICAgICAgICAgICAgICAgICAg
fCAgNCArKy0tCiBzcmMvZ3RrdXRpbC5jICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQg
KystLQogc3JjL2d0a3V0aWwuaCAgICAgICAgICAgICAgICAgICAgICAgICB8ICA0ICsrLS0K
IHNyYy9pbWFnZS5jICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArKy0tCiBzcmMv
aW5kZW50LmMgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKystLQogc3JjL2luZGVu
dC5oICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA0ICsrLS0KIHNyYy9pbm90aWZ5LmMg
ICAgICAgICAgICAgICAgICAgICAgICAgfCAgNiArKystLS0KIHNyYy9pbnNkZWwuYyAgICAg
ICAgICAgICAgICAgICAgICAgICAgfCAgNCArKy0tCiBzcmMvaW50ZXJ2YWxzLmMgICAgICAg
ICAgICAgICAgICAgICAgIHwgIDQgKystLQogc3JjL2ludGVydmFscy5oICAgICAgICAgICAg
ICAgICAgICAgICB8ICA0ICsrLS0KIHNyYy9rZXlib2FyZC5jICAgICAgICAgICAgICAgICAg
ICAgICAgfCAgOCArKysrLS0tLQogc3JjL2tleWJvYXJkLmggICAgICAgICAgICAgICAgICAg
ICAgICB8ICA0ICsrLS0KIHNyYy9rZXltYXAuYyAgICAgICAgICAgICAgICAgICAgICAgICAg
fCAxMCArKysrKy0tLS0tCiBzcmMva2V5bWFwLmggICAgICAgICAgICAgICAgICAgICAgICAg
IHwgIDQgKystLQogc3JjL2txdWV1ZS5jICAgICAgICAgICAgICAgICAgICAgICAgICB8IDEy
ICsrKysrLS0tLS0tLQogc3JjL2xhc3RmaWxlLmMgICAgICAgICAgICAgICAgICAgICAgICB8
ICA0ICsrLS0KIHNyYy9saXNwLmggICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCAr
Ky0tCiBzcmMvbHJlYWQuYyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDYgKysrLS0t
CiBzcmMvbWFjZm9udC5oICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDUgKystLS0KIHNy
Yy9tYWNmb250Lm0gICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArKy0tCiBzcmMvbWFj
cm9zLmMgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKystLQogc3JjL21hY3Jvcy5o
ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA0ICsrLS0KIHNyYy9tYXJrZXIuYyAgICAg
ICAgICAgICAgICAgICAgICAgICAgfCAgNCArKy0tCiBzcmMvbWVudS5jICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHwgIDggKysrKy0tLS0KIHNyYy9tZW51LmggICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfCAgNCArKy0tCiBzcmMvbWluaWJ1Zi5jICAgICAgICAgICAgICAg
ICAgICAgICAgIHwgIDYgKysrLS0tCiBzcmMvbXNkb3MuYyAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHwgIDQgKystLQogc3JjL21zZG9zLmggICAgICAgICAgICAgICAgICAgICAgICAg
ICB8ICA1ICsrLS0tCiBzcmMvbnNmbnMubSAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg
MTIgKysrKysrLS0tLS0tCiBzcmMvbnNmb250Lm0gICAgICAgICAgICAgICAgICAgICAgICAg
IHwgIDQgKystLQogc3JjL25zZ3VpLmggICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA0
ICsrLS0KIHNyYy9uc2ltYWdlLm0gICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArKy0t
CiBzcmMvbnNtZW51Lm0gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKystLQogc3Jj
L25zc2VsZWN0Lm0gICAgICAgICAgICAgICAgICAgICAgICB8IDEwICsrKysrLS0tLS0KIHNy
Yy9uc3Rlcm0uaCAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxMiArKysrKystLS0tLS0K
IHNyYy9uc3Rlcm0ubSAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArKy0tCiBzcmMv
cHJpbnQuYyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDggKysrKy0tLS0KIHNyYy9w
cm9jZXNzLmMgICAgICAgICAgICAgICAgICAgICAgICAgfCAyMiArKysrKysrKysrKy0tLS0t
LS0tLS0tCiBzcmMvcHJvY2Vzcy5oICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKyst
LQogc3JjL3Byb2ZpbGVyLmMgICAgICAgICAgICAgICAgICAgICAgICB8ICA0ICsrLS0KIHNy
Yy9wdXJlc2l6ZS5oICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArKy0tCiBzcmMvcmFs
bG9jLmMgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKystLQogc3JjL3JlZ2lvbi1j
YWNoZS5jICAgICAgICAgICAgICAgICAgICB8ICA0ICsrLS0KIHNyYy9yZWdpb24tY2FjaGUu
aCAgICAgICAgICAgICAgICAgICAgfCAgNCArKy0tCiBzcmMvc2Nyb2xsLmMgICAgICAgICAg
ICAgICAgICAgICAgICAgIHwgIDQgKystLQogc3JjL3NlYXJjaC5jICAgICAgICAgICAgICAg
ICAgICAgICAgICB8ICA0ICsrLS0KIHNyYy9zaGVhcC5jICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfCAgNCArKy0tCiBzcmMvc291bmQuYyAgICAgICAgICAgICAgICAgICAgICAgICAg
IHwgIDQgKystLQogc3JjL3N5bnRheC5jICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA0
ICsrLS0KIHNyYy9zeW50YXguaCAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArKy0t
CiBzcmMvc3lzZGVwLmMgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKystLQogc3Jj
L3N5c3NlbGVjdC5oICAgICAgICAgICAgICAgICAgICAgICB8ICA0ICsrLS0KIHNyYy9zeXNz
aWduYWwuaCAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArKy0tCiBzcmMvc3lzc3RkaW8u
aCAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKystLQogc3JjL3N5c3RpbWUuaCAgICAg
ICAgICAgICAgICAgICAgICAgICB8ICA0ICsrLS0KIHNyYy9zeXN0dHkuaCAgICAgICAgICAg
ICAgICAgICAgICAgICAgfCAgNCArKy0tCiBzcmMvc3lzd2FpdC5oICAgICAgICAgICAgICAg
ICAgICAgICAgIHwgIDQgKystLQogc3JjL3Rlcm0uYyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB8ICA0ICsrLS0KIHNyYy90ZXJtY2hhci5oICAgICAgICAgICAgICAgICAgICAgICAg
fCAgNCArKy0tCiBzcmMvdGVybWhvb2tzLmggICAgICAgICAgICAgICAgICAgICAgIHwgIDQg
KystLQogc3JjL3Rlcm1pbmFsLmMgICAgICAgICAgICAgICAgICAgICAgICB8ICA0ICsrLS0K
IHNyYy90ZXJtaW5mby5jICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArKy0tCiBzcmMv
dGVybW9wdHMuaCAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKystLQogc3JjL3RleHRw
cm9wLmMgICAgICAgICAgICAgICAgICAgICAgICB8ICA2ICsrKy0tLQogc3JjL3RwYXJhbS5o
ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA0ICsrLS0KIHNyYy91bmRvLmMgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfCAgNCArKy0tCiBzcmMvdW5leGFpeC5jICAgICAgICAg
ICAgICAgICAgICAgICAgIHwgIDQgKystLQogc3JjL3VuZXhjb2ZmLmMgICAgICAgICAgICAg
ICAgICAgICAgICB8ICA0ICsrLS0KIHNyYy91bmV4Y3cuYyAgICAgICAgICAgICAgICAgICAg
ICAgICAgfCAgNCArKy0tCiBzcmMvdW5leGVsZi5jICAgICAgICAgICAgICAgICAgICAgICAg
IHwgIDQgKystLQogc3JjL3VuZXhtYWNvc3guYyAgICAgICAgICAgICAgICAgICAgICB8ICA0
ICsrLS0KIHNyYy91bmV4dzMyLmMgICAgICAgICAgICAgICAgICAgICAgICAgfCAxMyArKysr
KystLS0tLS0tCiBzcmMvdm0tbGltaXQuYyAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQg
KystLQogc3JjL3cxNnNlbGVjdC5jICAgICAgICAgICAgICAgICAgICAgICB8ICA2ICsrKy0t
LQogc3JjL3czMi5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA0ICsrLS0KIHNy
Yy93MzIuaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArKy0tCiBzcmMvdzMy
Y29tbW9uLmggICAgICAgICAgICAgICAgICAgICAgIHwgIDYgKysrLS0tCiBzcmMvdzMyY29u
c29sZS5jICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKystLQogc3JjL3czMmZucy5jICAg
ICAgICAgICAgICAgICAgICAgICAgICB8IDEyICsrKysrKy0tLS0tLQogc3JjL3czMmZvbnQu
YyAgICAgICAgICAgICAgICAgICAgICAgICB8ICA0ICsrLS0KIHNyYy93MzJmb250LmggICAg
ICAgICAgICAgICAgICAgICAgICAgfCAgNCArKy0tCiBzcmMvdzMyZ3VpLmggICAgICAgICAg
ICAgICAgICAgICAgICAgIHwgIDQgKystLQogc3JjL3czMmhlYXAuYyAgICAgICAgICAgICAg
ICAgICAgICAgICB8IDExICsrKysrLS0tLS0tCiBzcmMvdzMyaGVhcC5oICAgICAgICAgICAg
ICAgICAgICAgICAgIHwgIDQgKystLQogc3JjL3czMmluZXZ0LmMgICAgICAgICAgICAgICAg
ICAgICAgICB8ICA0ICsrLS0KIHNyYy93MzJpbmV2dC5oICAgICAgICAgICAgICAgICAgICAg
ICAgfCAgNCArKy0tCiBzcmMvdzMybWVudS5jICAgICAgICAgICAgICAgICAgICAgICAgIHwg
IDQgKystLQogc3JjL3czMm5vdGlmeS5jICAgICAgICAgICAgICAgICAgICAgICB8ICA0ICsr
LS0KIHNyYy93MzJwcm9jLmMgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArKy0tCiBz
cmMvdzMycmVnLmMgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKystLQogc3JjL3cz
MnNlbGVjdC5jICAgICAgICAgICAgICAgICAgICAgICB8ICA0ICsrLS0KIHNyYy93MzJzZWxl
Y3QuaCAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArKy0tCiBzcmMvdzMydGVybS5jICAg
ICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKystLQogc3JjL3czMnRlcm0uaCAgICAgICAg
ICAgICAgICAgICAgICAgICB8ICA0ICsrLS0KIHNyYy93MzJ1bmlzY3JpYmUuYyAgICAgICAg
ICAgICAgICAgICAgfCAgNCArKy0tCiBzcmMvdzMyeGZucy5jICAgICAgICAgICAgICAgICAg
ICAgICAgIHwgIDQgKystLQogc3JjL3dpZGdldC5jICAgICAgICAgICAgICAgICAgICAgICAg
ICB8ICA0ICsrLS0KIHNyYy93aWRnZXQuaCAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg
NCArKy0tCiBzcmMvd2lkZ2V0cHJ2LmggICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKyst
LQogc3JjL3dpbmRvdy5jICAgICAgICAgICAgICAgICAgICAgICAgICB8IDEwICsrKysrLS0t
LS0KIHNyYy93aW5kb3cuaCAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArKy0tCiBz
cmMveGRpc3AuYyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTAgKysrKystLS0tLQog
c3JjL3hmYWNlcy5jICAgICAgICAgICAgICAgICAgICAgICAgICB8IDEwICsrKysrLS0tLS0K
IHNyYy94Zm5zLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxMiArKysrKystLS0t
LS0KIHNyYy94Zm9udC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArKy0tCiBz
cmMveGZ0Zm9udC5jICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKystLQogc3JjL3hn
c2VsZWN0LmMgICAgICAgICAgICAgICAgICAgICAgICB8ICA0ICsrLS0KIHNyYy94Z3NlbGVj
dC5oICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArKy0tCiBzcmMveG1lbnUuYyAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKystLQogc3JjL3htbC5jICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB8ICA0ICsrLS0KIHNyYy94cmRiLmMgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfCAgNCArKy0tCiBzcmMveHNlbGVjdC5jICAgICAgICAgICAgICAgICAg
ICAgICAgIHwgMTYgKysrKysrKystLS0tLS0tLQogc3JjL3hzZXR0aW5ncy5jICAgICAgICAg
ICAgICAgICAgICAgICB8ICA0ICsrLS0KIHNyYy94c2V0dGluZ3MuaCAgICAgICAgICAgICAg
ICAgICAgICAgfCAgNCArKy0tCiBzcmMveHNtZm5zLmMgICAgICAgICAgICAgICAgICAgICAg
ICAgIHwgIDQgKystLQogc3JjL3h0ZXJtLmMgICAgICAgICAgICAgICAgICAgICAgICAgICB8
ICA0ICsrLS0KIHNyYy94dGVybS5oICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCAr
Ky0tCiBzcmMveHdpZGdldC5jICAgICAgICAgICAgICAgICAgICAgICAgIHwgMzMgKysrKysr
KysrKysrKysrKysrKystLS0tLS0tLS0tLS0tCiBzcmMveHdpZGdldC5oICAgICAgICAgICAg
ICAgICAgICAgICAgIHwgIDQgKystLQogdGVzdC9ldGFncy9jLXNyYy9lbWFjcy9zcmMva2V5
Ym9hcmQuYyB8ICA0ICsrLS0KIHRlc3QvZXRhZ3MvYy1zcmMvZW1hY3Mvc3JjL2xpc3AuaCAg
ICAgfCAgNCArKy0tCiB0ZXN0L2V0YWdzL2Mtc3JjL2V0YWdzLmMgICAgICAgICAgICAgIHwg
IDggKysrKy0tLS0KIDIyOSBmaWxlcyBjaGFuZ2VkLCA2MTggaW5zZXJ0aW9ucygrKSwgNjI3
IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2FkbWluL2FsbG9jLWNvbG9ycy5jIGIvYWRt
aW4vYWxsb2MtY29sb3JzLmMKaW5kZXggOWY2MTYxZS4uMzE1OGNmNCAxMDA2NDQKLS0tIGEv
YWRtaW4vYWxsb2MtY29sb3JzLmMKKysrIGIvYWRtaW4vYWxsb2MtY29sb3JzLmMKQEAgLTYs
OCArNiw4IEBAIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBFbWFjcy4KIAogR05VIEVtYWNz
IGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2Rp
ZnkKIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu
c2UgYXMgcHVibGlzaGVkIGJ5Ci10aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRo
ZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKGF0IHlvdXIgb3B0aW9uKSBhbnkg
bGF0ZXIgdmVyc2lvbi4KK3RoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2
ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdAoreW91ciBvcHRpb24pIGFueSBsYXRl
ciB2ZXJzaW9uLgogCiBHTlUgRW1hY3MgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh
dCBpdCB3aWxsIGJlIHVzZWZ1bCwKIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91
dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCmRpZmYgLS1naXQgYS9jb25maWd1cmUu
YWMgYi9jb25maWd1cmUuYWMKaW5kZXggZDQyYjQyZS4uMzcwY2I1NCAxMDA2NDQKLS0tIGEv
Y29uZmlndXJlLmFjCisrKyBiL2NvbmZpZ3VyZS5hYwpAQCAtNTE5NCw4ICs1MTk0LDggQEAg
VGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLgogCiBHTlUgRW1hY3MgaXMgZnJlZSBz
b2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogaXQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJs
aXNoZWQgYnkKLXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9u
IDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0oYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz
aW9uLgordGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBv
ZiB0aGUgTGljZW5zZSwgb3IgKGF0Cit5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u
CiAKIEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg
YmUgdXNlZnVsLAogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl
IGltcGxpZWQgd2FycmFudHkgb2YKZGlmZiAtLWdpdCBhL2xpYi1zcmMvZWJyb3dzZS5jIGIv
bGliLXNyYy9lYnJvd3NlLmMKaW5kZXggY2IwOWFiOC4uYzU5MTgxZiAxMDA2NDQKLS0tIGEv
bGliLXNyYy9lYnJvd3NlLmMKKysrIGIvbGliLXNyYy9lYnJvd3NlLmMKQEAgLTYsOCArNiw4
IEBAIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBFbWFjcy4KIAogR05VIEVtYWNzIGlzIGZy
ZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMg
cHVibGlzaGVkIGJ5Ci10aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVy
c2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KK3RoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9u
IDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdAoreW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz
aW9uLgogCiBHTlUgRW1hY3MgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3
aWxsIGJlIHVzZWZ1bCwKIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu
IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCmRpZmYgLS1naXQgYS9saWItc3JjL2VtYWNzY2xp
ZW50LmMgYi9saWItc3JjL2VtYWNzY2xpZW50LmMKaW5kZXggYzdjZWY4YS4uZGQ2NmQzNCAx
MDA2NDQKLS0tIGEvbGliLXNyYy9lbWFjc2NsaWVudC5jCisrKyBiL2xpYi1zcmMvZW1hY3Nj
bGllbnQuYwpAQCAtNiw4ICs2LDggQEAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNz
LgogCiBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yIG1vZGlmeQogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLXRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0oYXQgeW91
ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgordGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cit5b3VyIG9w
dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAKIEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBp
biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogYnV0IFdJVEhPVVQgQU5ZIFdB
UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKZGlmZiAtLWdp
dCBhL2xpYi1zcmMvZXRhZ3MuYyBiL2xpYi1zcmMvZXRhZ3MuYwppbmRleCAxODJjYjRjLi4w
Njc2MGJhIDEwMDY0NAotLS0gYS9saWItc3JjL2V0YWdzLmMKKysrIGIvbGliLXNyYy9ldGFn
cy5jCkBAIC0zNSw4ICszNSw4IEBAIFRoaXMgZmlsZSBpcyBub3QgY29uc2lkZXJlZCBwYXJ0
IG9mIEdOVSBFbWFjcy4KIAogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBj
YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0IHVuZGVyIHRoZSB0ZXJtcyBv
ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci10aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNl
bnNlLCBvcgotKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KK3RoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2Us
IG9yIChhdAoreW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogCiBUaGlzIHByb2dy
YW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK
IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh
cnJhbnR5IG9mCkBAIC02ODAsOCArNjgwLDggQEAgc3RhdGljIGNvbnN0IGNoYXIgKk9iamNf
c3VmZml4ZXMgW10gPQogc3RhdGljIGNvbnN0IGNoYXIgT2JqY19oZWxwIFtdID0KICJJbiBP
YmplY3RpdmUgQyBjb2RlLCB0YWdzIGluY2x1ZGUgT2JqZWN0aXZlIEMgZGVmaW5pdGlvbnMg
Zm9yIGNsYXNzZXMsXG5cCiBjbGFzcyBjYXRlZ29yaWVzLCBtZXRob2RzIGFuZCBwcm90b2Nv
bHMuICBUYWdzIGZvciB2YXJpYWJsZXMgYW5kXG5cCi1mdW5jdGlvbnMgaW4gY2xhc3NlcyBh
cmUgbmFtZWQgJ0NMQVNTOjpWQVJJQUJMRScgYW5kICdDTEFTUzo6RlVOQ1RJT04nLlxuXAot
KFVzZSAtLWhlbHAgLS1sYW5nPWMgLS1sYW5nPW9iamMgLS1sYW5nPWphdmEgZm9yIGZ1bGwg
aGVscC4pIjsKK2Z1bmN0aW9ucyBpbiBjbGFzc2VzIGFyZSBuYW1lZCAnQ0xBU1M6OlZBUklB
QkxFJyBhbmQgJ0NMQVNTOjpGVU5DVElPTicuXAorXG4oVXNlIC0taGVscCAtLWxhbmc9YyAt
LWxhbmc9b2JqYyAtLWxhbmc9amF2YSBmb3IgZnVsbCBoZWxwLikiOwogCiBzdGF0aWMgY29u
c3QgY2hhciAqUGFzY2FsX3N1ZmZpeGVzIFtdID0KICAgeyAicCIsICJwYXMiLCBOVUxMIH07
CmRpZmYgLS1naXQgYS9saWItc3JjL2hleGwuYyBiL2xpYi1zcmMvaGV4bC5jCmluZGV4IDgz
M2VhNTAuLjlhNWNhN2UgMTAwNjQ0Ci0tLSBhL2xpYi1zcmMvaGV4bC5jCisrKyBiL2xpYi1z
cmMvaGV4bC5jCkBAIC0xLDE1ICsxLDE0IEBACiAvKiBDb252ZXJ0IGZpbGVzIGZvciBFbWFj
cyBIZXhsIG1vZGUuCiAgICBDb3B5cmlnaHQgKEMpIDE5ODksIDIwMDEtMjAxNiBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIAotQXV0aG9yOiBLZWl0aCBHYWJyeWVsc2tpCi0o
YWNjb3JkaW5nIHRvIGF1dGhvcnMuZWwpCitBdXRob3I6IEtlaXRoIEdhYnJ5ZWxza2kgKGFj
Y29yZGluZyB0byBhdXRob3JzLmVsKQogCiBUaGlzIGZpbGUgaXMgbm90IGNvbnNpZGVyZWQg
cGFydCBvZiBHTlUgRW1hY3MuCiAKIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5
b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVy
bXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQot
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUg
TGljZW5zZSwgb3IKLShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCit0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNl
bnNlLCBvciAoYXQKK3lvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIAogVGhpcyBw
cm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm
dWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll
ZCB3YXJyYW50eSBvZgpkaWZmIC0tZ2l0IGEvbGliLXNyYy9tYWtlLWRvY2ZpbGUuYyBiL2xp
Yi1zcmMvbWFrZS1kb2NmaWxlLmMKaW5kZXggZTI2NjIwNy4uMzJlMzgxNyAxMDA2NDQKLS0t
IGEvbGliLXNyYy9tYWtlLWRvY2ZpbGUuYworKysgYi9saWItc3JjL21ha2UtZG9jZmlsZS5j
CkBAIC03LDggKzcsOCBAQCBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3MuCiAKIEdO
VSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
biwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLShhdCB5b3VyIG9wdGlv
bikgYW55IGxhdGVyIHZlcnNpb24uCit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBl
aXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQKK3lvdXIgb3B0aW9uKSBh
bnkgbGF0ZXIgdmVyc2lvbi4KIAogR05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo
b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7
IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpkaWZmIC0tZ2l0IGEvbGli
LXNyYy9tb3ZlbWFpbC5jIGIvbGliLXNyYy9tb3ZlbWFpbC5jCmluZGV4IGViMTk2MmEuLjdm
MjBlMjUgMTAwNjQ0Ci0tLSBhL2xpYi1zcmMvbW92ZW1haWwuYworKysgYi9saWItc3JjL21v
dmVtYWlsLmMKQEAgLTgsOCArOCw4IEBAIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBFbWFj
cy4KIAogR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vciBtb2RpZnkKIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVy
YWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci10aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKGF0IHlv
dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KK3RoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdAoreW91ciBv
cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogCiBHTlUgRW1hY3MgaXMgZGlzdHJpYnV0ZWQg
aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIGJ1dCBXSVRIT1VUIEFOWSBX
QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCmRpZmYgLS1n
aXQgYS9saWItc3JjL250bGliLmMgYi9saWItc3JjL250bGliLmMKaW5kZXggOTMxYTNhYi4u
NGIyNTc5NiAxMDA2NDQKLS0tIGEvbGliLXNyYy9udGxpYi5jCisrKyBiL2xpYi1zcmMvbnRs
aWIuYwpAQCAtOSw4ICs5LDggQEAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLgog
CiBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yIG1vZGlmeQogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0oYXQgeW91ciBv
cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgordGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
biwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cit5b3VyIG9wdGlv
bikgYW55IGxhdGVyIHZlcnNpb24uCiAKIEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0
aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogYnV0IFdJVEhPVVQgQU5ZIFdBUlJB
TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKZGlmZiAtLWdpdCBh
L2xpYi1zcmMvbnRsaWIuaCBiL2xpYi1zcmMvbnRsaWIuaAppbmRleCBhMGMwZDQzLi5iNDlk
YTc5IDEwMDY0NAotLS0gYS9saWItc3JjL250bGliLmgKKysrIGIvbGliLXNyYy9udGxpYi5o
CkBAIC01LDggKzUsOCBAQCBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3MuCiAKIEdO
VSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
biwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLShhdCB5b3VyIG9wdGlv
bikgYW55IGxhdGVyIHZlcnNpb24uCit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBl
aXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQKK3lvdXIgb3B0aW9uKSBh
bnkgbGF0ZXIgdmVyc2lvbi4KIAogR05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo
b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7
IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpAQCAtMTAyLDQgKzEwMiwz
IEBAIGludCBta29zdGVtcCAoY2hhciAqIHRlbXBsYXRlLCBpbnQgZmxhZ3MpOwogI3VuZGVm
IF9XSU5TT0NLX0gKIAogLyogZW5kIG9mIG50bGliLmggKi8KLQpkaWZmIC0tZ2l0IGEvbGli
LXNyYy9wb3AuYyBiL2xpYi1zcmMvcG9wLmMKaW5kZXggODEyYmQ0Yy4uNmUzYjZhOSAxMDA2
NDQKLS0tIGEvbGliLXNyYy9wb3AuYworKysgYi9saWItc3JjL3BvcC5jCkBAIC05LDggKzks
OCBAQCBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3MuCiAKIEdOVSBFbWFjcyBpcyBm
cmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBp
dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFz
IHB1Ymxpc2hlZCBieQotdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZl
cnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy
IHZlcnNpb24uCit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lv
biAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQKK3lvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy
c2lvbi4KIAogR05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg
d2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl
biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpkaWZmIC0tZ2l0IGEvbGliLXNyYy9wb3AuaCBi
L2xpYi1zcmMvcG9wLmgKaW5kZXggNGM2N2JkYy4uYjhjMjFmYyAxMDA2NDQKLS0tIGEvbGli
LXNyYy9wb3AuaAorKysgYi9saWItc3JjL3BvcC5oCkBAIC03LDggKzcsOCBAQCBUaGlzIGZp
bGUgaXMgcGFydCBvZiBHTlUgRW1hY3MuCiAKIEdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJl
OiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUg
dGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi
eQotdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0
aGUgTGljZW5zZSwgb3IKLShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCit0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBM
aWNlbnNlLCBvciAoYXQKK3lvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIAogR05V
IEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm
dWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll
ZCB3YXJyYW50eSBvZgpkaWZmIC0tZ2l0IGEvbGliLXNyYy9wcm9maWxlLmMgYi9saWItc3Jj
L3Byb2ZpbGUuYwppbmRleCBkYTYyMzJhLi4wZTYwMzc3IDEwMDY0NAotLS0gYS9saWItc3Jj
L3Byb2ZpbGUuYworKysgYi9saWItc3JjL3Byb2ZpbGUuYwpAQCAtOCw4ICs4LDggQEAgVGhp
cyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLgogCiBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0
d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNo
ZWQgYnkKLXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMg
b2YgdGhlIExpY2Vuc2UsIG9yCi0oYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u
LgordGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0
aGUgTGljZW5zZSwgb3IgKGF0Cit5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAK
IEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg
dXNlZnVsLAogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt
cGxpZWQgd2FycmFudHkgb2YKZGlmZiAtLWdpdCBhL2xpYi1zcmMvdXBkYXRlLWdhbWUtc2Nv
cmUuYyBiL2xpYi1zcmMvdXBkYXRlLWdhbWUtc2NvcmUuYwppbmRleCAzODAzYTMxLi43Njc1
ZTliIDEwMDY0NAotLS0gYS9saWItc3JjL3VwZGF0ZS1nYW1lLXNjb3JlLmMKKysrIGIvbGli
LXNyYy91cGRhdGUtZ2FtZS1zY29yZS5jCkBAIC04LDggKzgsOCBAQCBUaGlzIGZpbGUgaXMg
cGFydCBvZiBHTlUgRW1hY3MuCiAKIEdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMg
b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGlj
ZW5zZSwgb3IKLShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCit0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNl
LCBvciAoYXQKK3lvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIAogR05VIEVtYWNz
IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBi
dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy
YW50eSBvZgpkaWZmIC0tZ2l0IGEvbW9kdWxlcy9tb2QtdGVzdC9tb2QtdGVzdC5jIGIvbW9k
dWxlcy9tb2QtdGVzdC9tb2QtdGVzdC5jCmluZGV4IGJiOWM4YTUuLjNjOGFiMGYgMTAwNjQ0
Ci0tLSBhL21vZHVsZXMvbW9kLXRlc3QvbW9kLXRlc3QuYworKysgYi9tb2R1bGVzL21vZC10
ZXN0L21vZC10ZXN0LmMKQEAgLTYsOCArNiw4IEBAIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdO
VSBFbWFjcy4KIAogR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0
cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci10aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgot
KGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KK3RoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdAor
eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogCiBHTlUgRW1hY3MgaXMgZGlzdHJp
YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIGJ1dCBXSVRIT1VU
IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCmRp
ZmYgLS1naXQgYS9tc2Rvcy9pbnR0eXBlcy5oIGIvbXNkb3MvaW50dHlwZXMuaAppbmRleCBk
YTYxYjExLi41NTBlZjM2IDEwMDY0NAotLS0gYS9tc2Rvcy9pbnR0eXBlcy5oCisrKyBiL21z
ZG9zL2ludHR5cGVzLmgKQEAgLTYsOCArNiw4IEBAIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdO
VSBFbWFjcy4KIAogR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0
cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci10aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgot
KGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KK3RoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdAor
eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogCiBHTlUgRW1hY3MgaXMgZGlzdHJp
YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIGJ1dCBXSVRIT1VU
IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCmRp
ZmYgLS1naXQgYS9udC9hZGRwbS5jIGIvbnQvYWRkcG0uYwppbmRleCBlZDUwMTRmLi4yMTYx
ZWE3IDEwMDY0NAotLS0gYS9udC9hZGRwbS5jCisrKyBiL250L2FkZHBtLmMKQEAgLTUsOCAr
NSw4IEBAIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBFbWFjcy4KIAogR05VIEVtYWNzIGlz
IGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkK
IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug
YXMgcHVibGlzaGVkIGJ5Ci10aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIg
dmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0
ZXIgdmVyc2lvbi4KK3RoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJz
aW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdAoreW91ciBvcHRpb24pIGFueSBsYXRlciB2
ZXJzaW9uLgogCiBHTlUgRW1hY3MgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp
dCB3aWxsIGJlIHVzZWZ1bCwKIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl
dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCmRpZmYgLS1naXQgYS9udC9jbWRwcm94eS5j
IGIvbnQvY21kcHJveHkuYwppbmRleCA0Y2E1MzNiLi40MTFhNDA5IDEwMDY0NAotLS0gYS9u
dC9jbWRwcm94eS5jCisrKyBiL250L2NtZHByb3h5LmMKQEAgLTE2LDggKzE2LDggQEAgVGhp
cyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLgogCiBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0
d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNo
ZWQgYnkKLXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMg
b2YgdGhlIExpY2Vuc2UsIG9yCi0oYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u
LgordGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0
aGUgTGljZW5zZSwgb3IgKGF0Cit5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAK
IEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg
dXNlZnVsLAogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt
cGxpZWQgd2FycmFudHkgb2YKZGlmZiAtLWdpdCBhL250L2RkZWNsaWVudC5jIGIvbnQvZGRl
Y2xpZW50LmMKaW5kZXggZjE1YzE4OC4uN2JiYmRiMCAxMDA2NDQKLS0tIGEvbnQvZGRlY2xp
ZW50LmMKKysrIGIvbnQvZGRlY2xpZW50LmMKQEAgLTUsOCArNSw4IEBAIFRoaXMgZmlsZSBp
cyBwYXJ0IG9mIEdOVSBFbWFjcy4KIAogR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlv
dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0IHVuZGVyIHRoZSB0ZXJt
cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci10
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBM
aWNlbnNlLCBvcgotKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KK3RoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vu
c2UsIG9yIChhdAoreW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogCiBHTlUgRW1h
Y3MgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK
IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh
cnJhbnR5IG9mCkBAIC03MCw0ICs3MCwzIEBAIG1haW4gKGludCBhcmdjLCBjaGFyICphcmd2
W10pCiAKICAgcmV0dXJuICgwKTsKIH0KLQpkaWZmIC0tZ2l0IGEvbnQvaW5jL2dycC5oIGIv
bnQvaW5jL2dycC5oCmluZGV4IGM0NDEzOTYuLjkwM2ZkYTkgMTAwNjQ0Ci0tLSBhL250L2lu
Yy9ncnAuaAorKysgYi9udC9pbmMvZ3JwLmgKQEAgLTYsOCArNiw4IEBAIFRoaXMgZmlsZSBp
cyBwYXJ0IG9mIEdOVSBFbWFjcy4KIAogR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlv
dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0IHVuZGVyIHRoZSB0ZXJt
cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci10
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBM
aWNlbnNlLCBvcgotKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KK3RoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vu
c2UsIG9yIChhdAoreW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogCiBHTlUgRW1h
Y3MgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK
IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh
cnJhbnR5IG9mCkBAIC0zNCw0ICszNCwzIEBAIGV4dGVybiB1bnNpZ25lZCBnZXRlZ2lkICh2
b2lkKTsKIGV4dGVybiBzdHJ1Y3QgZ3JvdXAgKmdldGdyZ2lkKGdpZF90KTsKIAogI2VuZGlm
IC8qIF9HUlBfSCAqLwotCmRpZmYgLS1naXQgYS9udC9pbmMvaW50dHlwZXMuaCBiL250L2lu
Yy9pbnR0eXBlcy5oCmluZGV4IDlhYmQ1NWQuLjM0ZDAyNmMgMTAwNjQ0Ci0tLSBhL250L2lu
Yy9pbnR0eXBlcy5oCisrKyBiL250L2luYy9pbnR0eXBlcy5oCkBAIC02LDggKzYsOCBAQCBU
aGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3MuCiAKIEdOVSBFbWFjcyBpcyBmcmVlIHNv
ZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxp
c2hlZCBieQotdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24g
MyBvZiB0aGUgTGljZW5zZSwgb3IKLShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp
b24uCit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9m
IHRoZSBMaWNlbnNlLCBvciAoYXQKK3lvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K
IAogR05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi
ZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg
aW1wbGllZCB3YXJyYW50eSBvZgpkaWZmIC0tZ2l0IGEvbnQvaW5jL2xhbmdpbmZvLmggYi9u
dC9pbmMvbGFuZ2luZm8uaAppbmRleCA2NDZjOGNhLi4xNTMyZWFhIDEwMDY0NAotLS0gYS9u
dC9pbmMvbGFuZ2luZm8uaAorKysgYi9udC9pbmMvbGFuZ2luZm8uaApAQCAtNiw4ICs2LDgg
QEAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLgogCiBHTlUgRW1hY3MgaXMgZnJl
ZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogaXQg
dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBw
dWJsaXNoZWQgYnkKLXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJz
aW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0oYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2
ZXJzaW9uLgordGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24g
MyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cit5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp
b24uCiAKIEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp
bGwgYmUgdXNlZnVsLAogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g
dGhlIGltcGxpZWQgd2FycmFudHkgb2YKQEAgLTU4LDQgKzU4LDMgQEAgZW51bSB7CiBleHRl
cm4gY2hhciAqbmxfbGFuZ2luZm8gKG5sX2l0ZW0pOwogCiAjZW5kaWYgLyogX0xBTkdJTkZP
X0ggKi8KLQpkaWZmIC0tZ2l0IGEvbnQvaW5jL21zLXczMi5oIGIvbnQvaW5jL21zLXczMi5o
CmluZGV4IGEzNzUxMGUuLmQxNTM0MzMgMTAwNjQ0Ci0tLSBhL250L2luYy9tcy13MzIuaAor
KysgYi9udC9pbmMvbXMtdzMyLmgKQEAgLTYsOCArNiw4IEBAIFRoaXMgZmlsZSBpcyBwYXJ0
IG9mIEdOVSBFbWFjcy4KIAogR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4g
cmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci10aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNl
LCBvcgotKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KK3RoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9y
IChhdAoreW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogCiBHTlUgRW1hY3MgaXMg
ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIGJ1dCBX
SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5
IG9mCmRpZmYgLS1naXQgYS9udC9pbmMvbmxfdHlwZXMuaCBiL250L2luYy9ubF90eXBlcy5o
CmluZGV4IDZiMjJlNzYuLmU0ZDMxNGMgMTAwNjQ0Ci0tLSBhL250L2luYy9ubF90eXBlcy5o
CisrKyBiL250L2luYy9ubF90eXBlcy5oCkBAIC02LDggKzYsOCBAQCBUaGlzIGZpbGUgaXMg
cGFydCBvZiBHTlUgRW1hY3MuCiAKIEdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMg
b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGlj
ZW5zZSwgb3IKLShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCit0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNl
LCBvciAoYXQKK3lvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIAogR05VIEVtYWNz
IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBi
dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy
YW50eSBvZgpkaWZmIC0tZ2l0IGEvbnQvaW5jL3N0ZGludC5oIGIvbnQvaW5jL3N0ZGludC5o
CmluZGV4IGFkYzZhMWUuLmJiMDY3ZjQgMTAwNjQ0Ci0tLSBhL250L2luYy9zdGRpbnQuaAor
KysgYi9udC9pbmMvc3RkaW50LmgKQEAgLTYsOCArNiw4IEBAIFRoaXMgZmlsZSBpcyBwYXJ0
IG9mIEdOVSBFbWFjcy4KIAogR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4g
cmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci10aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNl
LCBvcgotKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KK3RoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9y
IChhdAoreW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogCiBHTlUgRW1hY3MgaXMg
ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIGJ1dCBX
SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5
IG9mCmRpZmYgLS1naXQgYS9udC9pbmMvc3lzL3NvY2tldC5oIGIvbnQvaW5jL3N5cy9zb2Nr
ZXQuaAppbmRleCBkN2VkOTJkLi5hZDQwZmM5IDEwMDY0NAotLS0gYS9udC9pbmMvc3lzL3Nv
Y2tldC5oCisrKyBiL250L2luYy9zeXMvc29ja2V0LmgKQEAgLTQsOCArNCw4IEBAIFRoaXMg
ZmlsZSBpcyBwYXJ0IG9mIEdOVSBFbWFjcy4KIAogR05VIEVtYWNzIGlzIGZyZWUgc29mdHdh
cmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVk
IGJ5Ci10aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9m
IHRoZSBMaWNlbnNlLCBvcgotKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K
K3RoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhl
IExpY2Vuc2UsIG9yIChhdAoreW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogCiBH
TlUgRW1hY3MgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz
ZWZ1bCwKIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs
aWVkIHdhcnJhbnR5IG9mCmRpZmYgLS1naXQgYS9udC9pbmMvc3lzL3N0YXQuaCBiL250L2lu
Yy9zeXMvc3RhdC5oCmluZGV4IGYyMTA4NmMuLjQ1YmMyZWEgMTAwNjQ0Ci0tLSBhL250L2lu
Yy9zeXMvc3RhdC5oCisrKyBiL250L2luYy9zeXMvc3RhdC5oCkBAIC03LDggKzcsOCBAQCBU
aGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3MuCiAKIEdOVSBFbWFjcyBpcyBmcmVlIHNv
ZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxp
c2hlZCBieQotdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24g
MyBvZiB0aGUgTGljZW5zZSwgb3IKLShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp
b24uCit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9m
IHRoZSBMaWNlbnNlLCBvciAoYXQKK3lvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K
IAogR05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi
ZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg
aW1wbGllZCB3YXJyYW50eSBvZgpkaWZmIC0tZ2l0IGEvbnQvaW5jL3N5cy93YWl0LmggYi9u
dC9pbmMvc3lzL3dhaXQuaAppbmRleCA4YTc3ZTk4Li40NmRhZTQ5IDEwMDY0NAotLS0gYS9u
dC9pbmMvc3lzL3dhaXQuaAorKysgYi9udC9pbmMvc3lzL3dhaXQuaApAQCAtNiw4ICs2LDgg
QEAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLgogCiBHTlUgRW1hY3MgaXMgZnJl
ZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogaXQg
dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBw
dWJsaXNoZWQgYnkKLXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJz
aW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0oYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2
ZXJzaW9uLgordGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24g
MyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cit5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp
b24uCiAKIEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp
bGwgYmUgdXNlZnVsLAogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g
dGhlIGltcGxpZWQgd2FycmFudHkgb2YKZGlmZiAtLWdpdCBhL250L3ByZXByZXAuYyBiL250
L3ByZXByZXAuYwppbmRleCAzMDNlMmVmLi40OTFhOTNiIDEwMDY0NAotLS0gYS9udC9wcmVw
cmVwLmMKKysrIGIvbnQvcHJlcHJlcC5jCkBAIC01LDggKzUsOCBAQCBUaGlzIGZpbGUgaXMg
cGFydCBvZiBHTlUgRW1hY3MuCiAKIEdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMg
b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGlj
ZW5zZSwgb3IKLShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCit0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNl
LCBvciAoYXQKK3lvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIAogR05VIEVtYWNz
IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBi
dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy
YW50eSBvZgpAQCAtMzQsMTEgKzM0LDEwIEBAIGFsb25nIHdpdGggR05VIEVtYWNzLiAgSWYg
bm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgogLyogSW5jbHVkZSBy
ZWxldmFudCBkZWZpbml0aW9ucyBmcm9tIElNQUdFSExQLkgsIHdoaWNoIGNhbiBiZSBmb3Vu
ZAogICAgaW4gXFx3aW4zMnNka1xtc3Rvb2xzXHNhbXBsZXNcaW1hZ2VcaW5jbHVkZVxpbWFn
ZWhscC5oLiAqLwogCi1QSU1BR0VfTlRfSEVBREVSUwotKF9fc3RkY2FsbCAqIHBmbkNoZWNr
U3VtTWFwcGVkRmlsZSkgKExQVk9JRCBCYXNlQWRkcmVzcywKLQkJCQkgICAgIERXT1JEX1BU
UiBGaWxlTGVuZ3RoLAotCQkJCSAgICAgUERXT1JEX1BUUiBIZWFkZXJTdW0sCi0JCQkJICAg
ICBQRFdPUkRfUFRSIENoZWNrU3VtKTsKK1BJTUFHRV9OVF9IRUFERVJTIChfX3N0ZGNhbGwg
KiBwZm5DaGVja1N1bU1hcHBlZEZpbGUpIChMUFZPSUQgQmFzZUFkZHJlc3MsCisJCQkJCQkg
ICAgICAgRFdPUkRfUFRSIEZpbGVMZW5ndGgsCisJCQkJCQkgICAgICAgUERXT1JEX1BUUiBI
ZWFkZXJTdW0sCisJCQkJCQkgICAgICAgUERXT1JEX1BUUiBDaGVja1N1bSk7CiAKICN1bmRl
ZiBtaW4KICN1bmRlZiBtYXgKZGlmZiAtLWdpdCBhL250L3J1bmVtYWNzLmMgYi9udC9ydW5l
bWFjcy5jCmluZGV4IDI2ODViMjUuLmI1ZTE2YzAgMTAwNjQ0Ci0tLSBhL250L3J1bmVtYWNz
LmMKKysrIGIvbnQvcnVuZW1hY3MuYwpAQCAtNiw4ICs2LDggQEAgVGhpcyBmaWxlIGlzIHBh
cnQgb2YgR05VIEVtYWNzLgogCiBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNh
biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogaXQgdW5kZXIgdGhlIHRlcm1zIG9m
IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLXRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vu
c2UsIG9yCi0oYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgordGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwg
b3IgKGF0Cit5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAKIEdOVSBFbWFjcyBp
cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogYnV0
IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu
dHkgb2YKZGlmZiAtLWdpdCBhL29sZFhNZW51L0FjdGl2YXRlLmMgYi9vbGRYTWVudS9BY3Rp
dmF0ZS5jCmluZGV4IDFlMmIxOTguLjBiODEyYzUgMTAwNjQ0Ci0tLSBhL29sZFhNZW51L0Fj
dGl2YXRlLmMKKysrIGIvb2xkWE1lbnUvQWN0aXZhdGUuYwpAQCAtNyw4ICs3LDggQEAgQ29w
eXJpZ2h0IChDKSAyMDAxLTIwMTYgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAK
IFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp
dCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLShhdCB5b3Vy
IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQKK3lvdXIgb3B0
aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIAogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVk
IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkg
V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpkaWZmIC0t
Z2l0IGEvb2xkWE1lbnUvQ3JlYXRlLmMgYi9vbGRYTWVudS9DcmVhdGUuYwppbmRleCBkMGNm
OGYwLi4yZmQ4NmIyIDEwMDY0NAotLS0gYS9vbGRYTWVudS9DcmVhdGUuYworKysgYi9vbGRY
TWVudS9DcmVhdGUuYwpAQCAtNyw4ICs3LDggQEAgQ29weXJpZ2h0IChDKSAxOTkzLTE5OTQs
IDIwMDEtMjAxNiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIAogVGhpcyBwcm9n
cmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBt
b2RpZnkKIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci10aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBl
aXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKGF0IHlvdXIgb3B0aW9uKSBh
bnkgbGF0ZXIgdmVyc2lvbi4KK3RoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhl
ciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdAoreW91ciBvcHRpb24pIGFueSBs
YXRlciB2ZXJzaW9uLgogCiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv
cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg
d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCmRpZmYgLS1naXQgYS9vbGRY
TWVudS9GaW5kU2VsLmMgYi9vbGRYTWVudS9GaW5kU2VsLmMKaW5kZXggODRjODY1MS4uOTkx
ZTFjYSAxMDA2NDQKLS0tIGEvb2xkWE1lbnUvRmluZFNlbC5jCisrKyBiL29sZFhNZW51L0Zp
bmRTZWwuYwpAQCAtNyw4ICs3LDggQEAgQ29weXJpZ2h0IChDKSAyMDAxLTIwMTYgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAKIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3
YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0
aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hl
ZCBieQotdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBv
ZiB0aGUgTGljZW5zZSwgb3IKLShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u
Cit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRo
ZSBMaWNlbnNlLCBvciAoYXQKK3lvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIAog
VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi
ZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg
aW1wbGllZCB3YXJyYW50eSBvZgpkaWZmIC0tZ2l0IGEvb2xkWE1lbnUvSW50ZXJuYWwuYyBi
L29sZFhNZW51L0ludGVybmFsLmMKaW5kZXggZjI1Yzk2My4uNDVjZGY0ZCAxMDA2NDQKLS0t
IGEvb2xkWE1lbnUvSW50ZXJuYWwuYworKysgYi9vbGRYTWVudS9JbnRlcm5hbC5jCkBAIC03
LDggKzcsOCBAQCBDb3B5cmlnaHQgKEMpIDE5OTMsIDE5OTYsIDIwMDEtMjAxNiBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIAogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdh
cmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVk
IGJ5Ci10aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9m
IHRoZSBMaWNlbnNlLCBvcgotKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K
K3RoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhl
IExpY2Vuc2UsIG9yIChhdAoreW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogCiBU
aGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl
IHVzZWZ1bCwKIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mCmRpZmYgLS1naXQgYS9vbGRYTWVudS9pbnNxdWUuYyBiL29s
ZFhNZW51L2luc3F1ZS5jCmluZGV4IDI0OGVlYWZjLi5jMDQ0ZmYwIDEwMDY0NAotLS0gYS9v
bGRYTWVudS9pbnNxdWUuYworKysgYi9vbGRYTWVudS9pbnNxdWUuYwpAQCAtMyw4ICszLDgg
QEAgQ29weXJpZ2h0IChDKSAxOTkzLTE5OTgsIDIwMDEtMjAxNiBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb24sIEluYy4KIAogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBj
YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0IHVuZGVyIHRoZSB0ZXJtcyBv
ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci10aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNl
bnNlLCBvcgotKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KK3RoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2Us
IG9yIChhdAoreW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogCiBUaGlzIHByb2dy
YW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK
IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh
cnJhbnR5IG9mCmRpZmYgLS1naXQgYS9zcmMvYWxsb2MuYyBiL3NyYy9hbGxvYy5jCmluZGV4
IDZiYzFiOGEuLmI1YmUwZjYgMTAwNjQ0Ci0tLSBhL3NyYy9hbGxvYy5jCisrKyBiL3NyYy9h
bGxvYy5jCkBAIC03LDggKzcsOCBAQCBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3Mu
CiAKIEdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp
dCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLShhdCB5b3Vy
IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQKK3lvdXIgb3B0
aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIAogR05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGlu
IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FS
UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpkaWZmIC0tZ2l0
IGEvc3JjL2F0aW1lci5jIGIvc3JjL2F0aW1lci5jCmluZGV4IDgwMTk1NjAuLjcwZDliZjUg
MTAwNjQ0Ci0tLSBhL3NyYy9hdGltZXIuYworKysgYi9zcmMvYXRpbWVyLmMKQEAgLTUsOCAr
NSw4IEBAIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBFbWFjcy4KIAogR05VIEVtYWNzIGlz
IGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkK
IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug
YXMgcHVibGlzaGVkIGJ5Ci10aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIg
dmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0
ZXIgdmVyc2lvbi4KK3RoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJz
aW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdAoreW91ciBvcHRpb24pIGFueSBsYXRlciB2
ZXJzaW9uLgogCiBHTlUgRW1hY3MgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp
dCB3aWxsIGJlIHVzZWZ1bCwKIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl
dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCmRpZmYgLS1naXQgYS9zcmMvYXRpbWVyLmgg
Yi9zcmMvYXRpbWVyLmgKaW5kZXggYmViZDE1Ni4uMTcxODNjOCAxMDA2NDQKLS0tIGEvc3Jj
L2F0aW1lci5oCisrKyBiL3NyYy9hdGltZXIuaApAQCAtNSw4ICs1LDggQEAgVGhpcyBmaWxl
IGlzIHBhcnQgb2YgR05VIEVtYWNzLgogCiBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTog
eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogaXQgdW5kZXIgdGhlIHRl
cm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkK
LXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhl
IExpY2Vuc2UsIG9yCi0oYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgordGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGlj
ZW5zZSwgb3IgKGF0Cit5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAKIEdOVSBF
bWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs
LAogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg
d2FycmFudHkgb2YKZGlmZiAtLWdpdCBhL3NyYy9iaWRpLmMgYi9zcmMvYmlkaS5jCmluZGV4
IGU3Nzg3MDUuLmVmOGNkZDIgMTAwNjQ0Ci0tLSBhL3NyYy9iaWRpLmMKKysrIGIvc3JjL2Jp
ZGkuYwpAQCAtNiw4ICs2LDggQEAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLgog
CiBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yIG1vZGlmeQogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0oYXQgeW91ciBv
cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgordGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
biwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cit5b3VyIG9wdGlv
bikgYW55IGxhdGVyIHZlcnNpb24uCiAKIEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0
aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogYnV0IFdJVEhPVVQgQU5ZIFdBUlJB
TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKZGlmZiAtLWdpdCBh
L3NyYy9ibG9ja2lucHV0LmggYi9zcmMvYmxvY2tpbnB1dC5oCmluZGV4IDViOGJmNjQuLmJm
NTEzNzUgMTAwNjQ0Ci0tLSBhL3NyYy9ibG9ja2lucHV0LmgKKysrIGIvc3JjL2Jsb2NraW5w
dXQuaApAQCAtNSw4ICs1LDggQEAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLgog
CiBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yIG1vZGlmeQogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0oYXQgeW91ciBv
cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgordGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
biwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cit5b3VyIG9wdGlv
bikgYW55IGxhdGVyIHZlcnNpb24uCiAKIEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0
aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogYnV0IFdJVEhPVVQgQU5ZIFdBUlJB
TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKZGlmZiAtLWdpdCBh
L3NyYy9idWZmZXIuYyBiL3NyYy9idWZmZXIuYwppbmRleCA2NTNlM2ZlLi5mMDZkN2UwIDEw
MDY0NAotLS0gYS9zcmMvYnVmZmVyLmMKKysrIGIvc3JjL2J1ZmZlci5jCkBAIC03LDggKzcs
OCBAQCBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3MuCiAKIEdOVSBFbWFjcyBpcyBm
cmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBp
dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFz
IHB1Ymxpc2hlZCBieQotdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZl
cnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy
IHZlcnNpb24uCit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lv
biAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQKK3lvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy
c2lvbi4KIAogR05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg
d2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl
biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpAQCAtMTA0NCw3ICsxMDQ0LDcgQEAgREVGVU4g
KCJnZW5lcmF0ZS1uZXctYnVmZmVyLW5hbWUiLCBGZ2VuZXJhdGVfbmV3X2J1ZmZlcl9uYW1l
LAogICAgICAgIGRvYzogLyogUmV0dXJuIGEgc3RyaW5nIHRoYXQgaXMgdGhlIG5hbWUgb2Yg
bm8gZXhpc3RpbmcgYnVmZmVyIGJhc2VkIG9uIE5BTUUuCiBJZiB0aGVyZSBpcyBubyBsaXZl
IGJ1ZmZlciBuYW1lZCBOQU1FLCB0aGVuIHJldHVybiBOQU1FLgogT3RoZXJ3aXNlIG1vZGlm
eSBuYW1lIGJ5IGFwcGVuZGluZyBgPE5VTUJFUj4nLCBpbmNyZW1lbnRpbmcgTlVNQkVSCi0o
c3RhcnRpbmcgYXQgMikgdW50aWwgYW4gdW51c2VkIG5hbWUgaXMgZm91bmQsIGFuZCB0aGVu
IHJldHVybiB0aGF0IG5hbWUuCitcKHN0YXJ0aW5nIGF0IDIpIHVudGlsIGFuIHVudXNlZCBu
YW1lIGlzIGZvdW5kLCBhbmQgdGhlbiByZXR1cm4gdGhhdCBuYW1lLgogT3B0aW9uYWwgc2Vj
b25kIGFyZ3VtZW50IElHTk9SRSBzcGVjaWZpZXMgYSBuYW1lIHRoYXQgaXMgb2theSB0byB1
c2UgKGlmCiBpdCBpcyBpbiB0aGUgc2VxdWVuY2UgdG8gYmUgdHJpZWQpIGV2ZW4gaWYgYSBi
dWZmZXIgd2l0aCB0aGF0IG5hbWUgZXhpc3RzLgogCkBAIC0zNzkzLDEwICszNzkzLDEwIEBA
IElmIG9taXR0ZWQsIEJVRkZFUiBkZWZhdWx0cyB0byB0aGUgY3VycmVudCBidWZmZXIuCiBC
RUcgYW5kIEVORCBtYXkgYmUgaW50ZWdlcnMgb3IgbWFya2Vycy4KIFRoZSBmb3VydGggYXJn
IEZST05ULUFEVkFOQ0UsIGlmIG5vbi1uaWwsIG1ha2VzIHRoZSBtYXJrZXIKIGZvciB0aGUg
ZnJvbnQgb2YgdGhlIG92ZXJsYXkgYWR2YW5jZSB3aGVuIHRleHQgaXMgaW5zZXJ0ZWQgdGhl
cmUKLSh3aGljaCBtZWFucyB0aGUgdGV4dCAqaXMgbm90KiBpbmNsdWRlZCBpbiB0aGUgb3Zl
cmxheSkuCitcKHdoaWNoIG1lYW5zIHRoZSB0ZXh0ICppcyBub3QqIGluY2x1ZGVkIGluIHRo
ZSBvdmVybGF5KS4KIFRoZSBmaWZ0aCBhcmcgUkVBUi1BRFZBTkNFLCBpZiBub24tbmlsLCBt
YWtlcyB0aGUgbWFya2VyCiBmb3IgdGhlIHJlYXIgb2YgdGhlIG92ZXJsYXkgYWR2YW5jZSB3
aGVuIHRleHQgaXMgaW5zZXJ0ZWQgdGhlcmUKLSh3aGljaCBtZWFucyB0aGUgdGV4dCAqaXMq
IGluY2x1ZGVkIGluIHRoZSBvdmVybGF5KS4gICovKQorXCh3aGljaCBtZWFucyB0aGUgdGV4
dCAqaXMqIGluY2x1ZGVkIGluIHRoZSBvdmVybGF5KS4gICovKQogICAoTGlzcF9PYmplY3Qg
YmVnLCBMaXNwX09iamVjdCBlbmQsIExpc3BfT2JqZWN0IGJ1ZmZlciwKICAgIExpc3BfT2Jq
ZWN0IGZyb250X2FkdmFuY2UsIExpc3BfT2JqZWN0IHJlYXJfYWR2YW5jZSkKIHsKQEAgLTYw
MjgsNyArNjAyOCw3IEBAIGJldHdlZW4gMC4wIGFuZCAxLjAsIGluY2x1c2l2ZS4gICovKTsK
IAkgICAgICAgZG9jOiAvKiBMaXN0IG9mIGZ1bmN0aW9ucyB0byBjYWxsIGJlZm9yZSBlYWNo
IHRleHQgY2hhbmdlLgogVHdvIGFyZ3VtZW50cyBhcmUgcGFzc2VkIHRvIGVhY2ggZnVuY3Rp
b246IHRoZSBwb3NpdGlvbnMgb2YKIHRoZSBiZWdpbm5pbmcgYW5kIGVuZCBvZiB0aGUgcmFu
Z2Ugb2Ygb2xkIHRleHQgdG8gYmUgY2hhbmdlZC4KLShGb3IgYW4gaW5zZXJ0aW9uLCB0aGUg
YmVnaW5uaW5nIGFuZCBlbmQgYXJlIGF0IHRoZSBzYW1lIHBsYWNlLikKK1woRm9yIGFuIGlu
c2VydGlvbiwgdGhlIGJlZ2lubmluZyBhbmQgZW5kIGFyZSBhdCB0aGUgc2FtZSBwbGFjZS4p
CiBObyBpbmZvcm1hdGlvbiBpcyBnaXZlbiBhYm91dCB0aGUgbGVuZ3RoIG9mIHRoZSB0ZXh0
IGFmdGVyIHRoZSBjaGFuZ2UuCiAKIEJ1ZmZlciBjaGFuZ2VzIG1hZGUgd2hpbGUgZXhlY3V0
aW5nIHRoZSBgYmVmb3JlLWNoYW5nZS1mdW5jdGlvbnMnCkBAIC02MDQ1LDcgKzYwNDUsNyBA
QCBmcm9tIGhhcHBlbmluZyByZXBlYXRlZGx5IGFuZCBtYWtpbmcgRW1hY3Mgbm9uZnVuY3Rp
b25hbC4gICovKTsKIFRocmVlIGFyZ3VtZW50cyBhcmUgcGFzc2VkIHRvIGVhY2ggZnVuY3Rp
b246IHRoZSBwb3NpdGlvbnMgb2YKIHRoZSBiZWdpbm5pbmcgYW5kIGVuZCBvZiB0aGUgcmFu
Z2Ugb2YgY2hhbmdlZCB0ZXh0LAogYW5kIHRoZSBsZW5ndGggaW4gY2hhcnMgb2YgdGhlIHBy
ZS1jaGFuZ2UgdGV4dCByZXBsYWNlZCBieSB0aGF0IHJhbmdlLgotKEZvciBhbiBpbnNlcnRp
b24sIHRoZSBwcmUtY2hhbmdlIGxlbmd0aCBpcyB6ZXJvOworXChGb3IgYW4gaW5zZXJ0aW9u
LCB0aGUgcHJlLWNoYW5nZSBsZW5ndGggaXMgemVybzsKIGZvciBhIGRlbGV0aW9uLCB0aGF0
IGxlbmd0aCBpcyB0aGUgbnVtYmVyIG9mIGNoYXJzIGRlbGV0ZWQsCiBhbmQgdGhlIHBvc3Qt
Y2hhbmdlIGJlZ2lubmluZyBhbmQgZW5kIGFyZSBhdCB0aGUgc2FtZSBwbGFjZS4pCiAKQEAg
LTYwOTAsNyArNjA5MCw3IEBAIHdhcyBtb2RpZmllZCBiZXR3ZWVuIEJFRyBhbmQgRU5ELiAg
UFJPUEVSVFkgaXMgdGhlIHByb3BlcnR5IG5hbWUsCiBhbmQgVkFMVUUgaXMgdGhlIG9sZCB2
YWx1ZS4KIAogQW4gZW50cnkgKGFwcGx5IEZVTi1OQU1FIC4gQVJHUykgbWVhbnMgdW5kbyB0
aGUgY2hhbmdlIHdpdGgKLShhcHBseSBGVU4tTkFNRSBBUkdTKS4KK1woYXBwbHkgRlVOLU5B
TUUgQVJHUykuCiAKIEFuIGVudHJ5IChhcHBseSBERUxUQSBCRUcgRU5EIEZVTi1OQU1FIC4g
QVJHUykgc3VwcG9ydHMgc2VsZWN0aXZlIHVuZG8KIGluIHRoZSBhY3RpdmUgcmVnaW9uLiAg
QkVHIGFuZCBFTkQgaXMgdGhlIHJhbmdlIGFmZmVjdGVkIGJ5IHRoaXMgZW50cnkKQEAgLTYy
NTAsNyArNjI1MCw3IEBAIHRvIHRoZSBkZWZhdWx0IGZyYW1lIGxpbmUgaGVpZ2h0LiAgQSB2
YWx1ZSBvZiBuaWwgbWVhbnMgYWRkIG5vIGV4dHJhIHNwYWNlLiAgKi8pCiAJCSAgICAgZG9j
OiAvKiBOb24tbmlsIG1lYW5zIHNob3cgYSBjdXJzb3IgaW4gbm9uLXNlbGVjdGVkIHdpbmRv
d3MuCiBJZiBuaWwsIG9ubHkgc2hvd3MgYSBjdXJzb3IgaW4gdGhlIHNlbGVjdGVkIHdpbmRv
dy4KIElmIHQsIGRpc3BsYXlzIGEgY3Vyc29yIHJlbGF0ZWQgdG8gdGhlIHVzdWFsIGN1cnNv
ciB0eXBlCi0oYSBzb2xpZCBib3ggYmVjb21lcyBob2xsb3csIGEgYmFyIGJlY29tZXMgYSBu
YXJyb3dlciBiYXIpLgorXChhIHNvbGlkIGJveCBiZWNvbWVzIGhvbGxvdywgYSBiYXIgYmVj
b21lcyBhIG5hcnJvd2VyIGJhcikuCiBZb3UgY2FuIGFsc28gc3BlY2lmeSB0aGUgY3Vyc29y
IHR5cGUgYXMgaW4gdGhlIGBjdXJzb3ItdHlwZScgdmFyaWFibGUuCiBVc2UgQ3VzdG9tIHRv
IHNldCB0aGlzIHZhcmlhYmxlIGFuZCB1cGRhdGUgdGhlIGRpc3BsYXkuICAqLyk7CiAKZGlm
ZiAtLWdpdCBhL3NyYy9idWZmZXIuaCBiL3NyYy9idWZmZXIuaAppbmRleCA1NzgzYmZiLi44
N2I3Y2VlIDEwMDY0NAotLS0gYS9zcmMvYnVmZmVyLmgKKysrIGIvc3JjL2J1ZmZlci5oCkBA
IC03LDggKzcsOCBAQCBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3MuCiAKIEdOVSBF
bWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3Ig
bW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg
ZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLShhdCB5b3VyIG9wdGlvbikg
YW55IGxhdGVyIHZlcnNpb24uCit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRo
ZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQKK3lvdXIgb3B0aW9uKSBhbnkg
bGF0ZXIgdmVyc2lvbi4KIAogR05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl
IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp
dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpAQCAtMzUyLDkgKzM1Miw5IEBA
IGV4dGVybiB2b2lkIGVubGFyZ2VfYnVmZmVyX3RleHQgKHN0cnVjdCBidWZmZXIgKiwgcHRy
ZGlmZl90KTsKIC8qIENvbnZlcnQgUFRSLCB0aGUgYWRkcmVzcyBvZiBhIGJ5dGUgaW4gdGhl
IGJ1ZmZlciwgaW50byBhIGJ5dGUgcG9zaXRpb24uICAqLwogCiAjZGVmaW5lIFBUUl9CWVRF
X1BPUyhwdHIpIFwKLSgocHRyKSAtIChjdXJyZW50X2J1ZmZlciktPnRleHQtPmJlZwkJCQkJ
ICAgIFwKLSAtIChwdHIgLSAoY3VycmVudF9idWZmZXIpLT50ZXh0LT5iZWcgPD0gR1BUX0JZ
VEUgLSBCRUdfQllURSA/IDAgOiBHQVBfU0laRSkgXAotICsgQkVHX0JZVEUpCisgICgocHRy
KSAtIChjdXJyZW50X2J1ZmZlciktPnRleHQtPmJlZwkJCQkJICAgIFwKKyAgIC0gKHB0ciAt
IChjdXJyZW50X2J1ZmZlciktPnRleHQtPmJlZyA8PSBHUFRfQllURSAtIEJFR19CWVRFID8g
MCA6IEdBUF9TSVpFKSBcCisgICArIEJFR19CWVRFKQogCiAvKiBSZXR1cm4gY2hhcmFjdGVy
IGF0IGJ5dGUgcG9zaXRpb24gUE9TLiAgU2VlIHRoZSBjYXZlYXQgV0FSTklORyBmb3IKICAg
IEZFVENIX01VTFRJQllURV9DSEFSIGJlbG93LiAgKi8KQEAgLTM4NiwyNCArMzg2LDI0IEBA
IGV4dGVybiB2b2lkIGVubGFyZ2VfYnVmZmVyX3RleHQgKHN0cnVjdCBidWZmZXIgKiwgcHRy
ZGlmZl90KTsKICAgIE5vdGUgdGhhdCBib3RoIGFyZ3VtZW50cyBjYW4gYmUgY29tcHV0ZWQg
bW9yZSB0aGFuIG9uY2UuICAqLwogCiAjZGVmaW5lIEJVRl9CWVRFX0FERFJFU1MoYnVmLCBw
b3MpIFwKLSgoYnVmKS0+dGV4dC0+YmVnICsgKHBvcykgLSBCRUdfQllURQkJXAotICsgKChw
b3MpID49IChidWYpLT50ZXh0LT5ncHRfYnl0ZSA/IChidWYpLT50ZXh0LT5nYXBfc2l6ZSA6
IDApKQorICAoKGJ1ZiktPnRleHQtPmJlZyArIChwb3MpIC0gQkVHX0JZVEUgXAorICAgKyAo
KHBvcykgPj0gKGJ1ZiktPnRleHQtPmdwdF9ieXRlID8gKGJ1ZiktPnRleHQtPmdhcF9zaXpl
IDogMCkpCiAKIC8qIFJldHVybiB0aGUgYWRkcmVzcyBvZiBjaGFyYWN0ZXIgYXQgY2hhciBw
b3NpdGlvbiBQT1MgaW4gYnVmZmVyIEJVRi4KICAgIE5vdGUgdGhhdCBib3RoIGFyZ3VtZW50
cyBjYW4gYmUgY29tcHV0ZWQgbW9yZSB0aGFuIG9uY2UuICAqLwogCiAjZGVmaW5lIEJVRl9D
SEFSX0FERFJFU1MoYnVmLCBwb3MpIFwKLSgoYnVmKS0+dGV4dC0+YmVnICsgYnVmX2NoYXJw
b3NfdG9fYnl0ZXBvcyAoKGJ1ZiksIChwb3MpKSAtIEJFR19CWVRFCVwKLSArICgocG9zKSA+
PSAoYnVmKS0+dGV4dC0+Z3B0ID8gKGJ1ZiktPnRleHQtPmdhcF9zaXplIDogMCkpCisgICgo
YnVmKS0+dGV4dC0+YmVnICsgYnVmX2NoYXJwb3NfdG9fYnl0ZXBvcyAoKGJ1ZiksIChwb3Mp
KSAtIEJFR19CWVRFCVwKKyAgICsgKChwb3MpID49IChidWYpLT50ZXh0LT5ncHQgPyAoYnVm
KS0+dGV4dC0+Z2FwX3NpemUgOiAwKSkKIAogLyogQ29udmVydCBQVFIsIHRoZSBhZGRyZXNz
IG9mIGEgY2hhciBpbiBidWZmZXIgQlVGLAogICAgaW50byBhIGNoYXJhY3RlciBwb3NpdGlv
bi4gICovCiAKICNkZWZpbmUgQlVGX1BUUl9CWVRFX1BPUyhidWYsIHB0cikJCQkJXAotKChw
dHIpIC0gKGJ1ZiktPnRleHQtPmJlZwkJCQkJXAotIC0gKHB0ciAtIChidWYpLT50ZXh0LT5i
ZWcgPD0gQlVGX0dQVF9CWVRFIChidWYpIC0gQkVHX0JZVEUJXAotICAgID8gMCA6IEJVRl9H
QVBfU0laRSAoKGJ1ZikpKQkJCQkJXAotICsgQkVHX0JZVEUpCisgICgocHRyKSAtIChidWYp
LT50ZXh0LT5iZWcJCQkJCVwKKyAgIC0gKHB0ciAtIChidWYpLT50ZXh0LT5iZWcgPD0gQlVG
X0dQVF9CWVRFIChidWYpIC0gQkVHX0JZVEUJXAorICAgICAgPyAwIDogQlVGX0dBUF9TSVpF
ICgoYnVmKSkpCQkJCVwKKyAgICsgQkVHX0JZVEUpCiAKIC8qIFJldHVybiB0aGUgY2hhcmFj
dGVyIGF0IGJ5dGUgcG9zaXRpb24gUE9TIGluIGJ1ZmZlciBCVUYuICAgKi8KIApkaWZmIC0t
Z2l0IGEvc3JjL2J5dGVjb2RlLmMgYi9zcmMvYnl0ZWNvZGUuYwppbmRleCAwYmVmZTY1Li45
YWUyZTgyIDEwMDY0NAotLS0gYS9zcmMvYnl0ZWNvZGUuYworKysgYi9zcmMvYnl0ZWNvZGUu
YwpAQCAtNiw4ICs2LDggQEAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLgogCiBH
TlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yIG1vZGlmeQogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0oYXQgeW91ciBvcHRp
b24pIGFueSBsYXRlciB2ZXJzaW9uLgordGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg
ZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cit5b3VyIG9wdGlvbikg
YW55IGxhdGVyIHZlcnNpb24uCiAKIEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUg
aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ
OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKQEAgLTE5OTYsOSArMTk5
Niw5IEBAIHN5bXNfb2ZfYnl0ZWNvZGUgKHZvaWQpCiAKICAgREVGVkFSX0xJU1AgKCJieXRl
LWNvZGUtbWV0ZXIiLCBWYnl0ZV9jb2RlX21ldGVyLAogCSAgICAgICBkb2M6IC8qIEEgdmVj
dG9yIG9mIHZlY3RvcnMgd2hpY2ggaG9sZHMgYSBoaXN0b2dyYW0gb2YgYnl0ZS1jb2RlIHVz
YWdlLgotKGFyZWYgKGFyZWYgYnl0ZS1jb2RlLW1ldGVyIDApIENPREUpIGluZGljYXRlcyBo
b3cgbWFueSB0aW1lcyB0aGUgYnl0ZQorXChhcmVmIChhcmVmIGJ5dGUtY29kZS1tZXRlciAw
KSBDT0RFKSBpbmRpY2F0ZXMgaG93IG1hbnkgdGltZXMgdGhlIGJ5dGUKIG9wY29kZSBDT0RF
IGhhcyBiZWVuIGV4ZWN1dGVkLgotKGFyZWYgKGFyZWYgYnl0ZS1jb2RlLW1ldGVyIENPREUx
KSBDT0RFMiksIHdoZXJlIENPREUxIGlzIG5vdCAwLAorXChhcmVmIChhcmVmIGJ5dGUtY29k
ZS1tZXRlciBDT0RFMSkgQ09ERTIpLCB3aGVyZSBDT0RFMSBpcyBub3QgMCwKIGluZGljYXRl
cyBob3cgbWFueSB0aW1lcyB0aGUgYnl0ZSBvcGNvZGVzIENPREUxIGFuZCBDT0RFMiBoYXZl
IGJlZW4KIGV4ZWN1dGVkIGluIHN1Y2Nlc3Npb24uICAqLyk7CiAKZGlmZiAtLWdpdCBhL3Ny
Yy9jYWxsaW50LmMgYi9zcmMvY2FsbGludC5jCmluZGV4IDNiMjNmMjIuLjNiY2YyYzggMTAw
NjQ0Ci0tLSBhL3NyYy9jYWxsaW50LmMKKysrIGIvc3JjL2NhbGxpbnQuYwpAQCAtNiw4ICs2
LDggQEAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLgogCiBHTlUgRW1hY3MgaXMg
ZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQog
aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBh
cyBwdWJsaXNoZWQgYnkKLXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2
ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0oYXQgeW91ciBvcHRpb24pIGFueSBsYXRl
ciB2ZXJzaW9uLgordGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNp
b24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cit5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCiAKIEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0
IHdpbGwgYmUgdXNlZnVsLAogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2
ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKZGlmZiAtLWdpdCBhL3NyYy9jYWxscHJvYy5j
IGIvc3JjL2NhbGxwcm9jLmMKaW5kZXggOWFkN2VmMi4uZGI2MDJmNSAxMDA2NDQKLS0tIGEv
c3JjL2NhbGxwcm9jLmMKKysrIGIvc3JjL2NhbGxwcm9jLmMKQEAgLTcsOCArNyw4IEBAIFRo
aXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBFbWFjcy4KIAogR05VIEVtYWNzIGlzIGZyZWUgc29m
dHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0IHVuZGVy
IHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlz
aGVkIGJ5Ci10aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAz
IG9mIHRoZSBMaWNlbnNlLCBvcgotKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv
bi4KK3RoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2Yg
dGhlIExpY2Vuc2UsIG9yIChhdAoreW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgog
CiBHTlUgRW1hY3MgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl
IHVzZWZ1bCwKIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mCkBAIC0xNDU3LDcgKzE0NTcsNyBAQCBUaGlzIGZ1bmN0aW9u
IHNlYXJjaGVzIGBwcm9jZXNzLWVudmlyb25tZW50JyBmb3IgVkFSSUFCTEUuCiAKIElmIG9w
dGlvbmFsIHBhcmFtZXRlciBFTlYgaXMgYSBsaXN0LCB0aGVuIHNlYXJjaCB0aGlzIGxpc3Qg
aW5zdGVhZCBvZgogYHByb2Nlc3MtZW52aXJvbm1lbnQnLCBhbmQgcmV0dXJuIHQgd2hlbiBl
bmNvdW50ZXJpbmcgYSBuZWdhdGl2ZSBlbnRyeQotKGFuIGVudHJ5IGZvciBhIHZhcmlhYmxl
IHdpdGggbm8gdmFsdWUpLiAgKi8pCitcKGFuIGVudHJ5IGZvciBhIHZhcmlhYmxlIHdpdGgg
bm8gdmFsdWUpLiAgKi8pCiAgIChMaXNwX09iamVjdCB2YXJpYWJsZSwgTGlzcF9PYmplY3Qg
ZW52KQogewogICBjaGFyICp2YWx1ZTsKQEAgLTE2NjgsNyArMTY2OCw3IEBAIEVhY2ggZWxl
bWVudCBpcyBhIHN0cmluZyAoZGlyZWN0b3J5IG5hbWUpIG9yIG5pbCAodHJ5IGRlZmF1bHQg
ZGlyZWN0b3J5KS4KIAogQnkgZGVmYXVsdCB0aGUgbGFzdCBlbGVtZW50IG9mIHRoaXMgbGlz
dCBpcyBgZXhlYy1kaXJlY3RvcnknLiBUaGUKIGxhc3QgZWxlbWVudCBpcyBub3QgYWx3YXlz
IHVzZWQsIGZvciBleGFtcGxlIGluIHNoZWxsIGNvbXBsZXRpb24KLShgc2hlbGwtZHluYW1p
Yy1jb21wbGV0ZS1jb21tYW5kJykuICAqLyk7CitcKGBzaGVsbC1keW5hbWljLWNvbXBsZXRl
LWNvbW1hbmQnKS4gICovKTsKIAogICBERUZWQVJfTElTUCAoImV4ZWMtc3VmZml4ZXMiLCBW
ZXhlY19zdWZmaXhlcywKIAkgICAgICAgZG9jOiAvKiBMaXN0IG9mIHN1ZmZpeGVzIHRvIHRy
eSB0byBmaW5kIGV4ZWN1dGFibGUgZmlsZSBuYW1lcy4KZGlmZiAtLWdpdCBhL3NyYy9jYXNl
ZmlkZGxlLmMgYi9zcmMvY2FzZWZpZGRsZS5jCmluZGV4IDM0ODIxNWUuLmM1YmZhMzYgMTAw
NjQ0Ci0tLSBhL3NyYy9jYXNlZmlkZGxlLmMKKysrIGIvc3JjL2Nhc2VmaWRkbGUuYwpAQCAt
Nyw4ICs3LDggQEAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLgogCiBHTlUgRW1h
Y3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1v
ZGlmeQogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZSBhcyBwdWJsaXNoZWQgYnkKLXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVp
dGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0oYXQgeW91ciBvcHRpb24pIGFu
eSBsYXRlciB2ZXJzaW9uLgordGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVy
IHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cit5b3VyIG9wdGlvbikgYW55IGxh
dGVyIHZlcnNpb24uCiAKIEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0
aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo
b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKZGlmZiAtLWdpdCBhL3NyYy9jYXNl
dGFiLmMgYi9zcmMvY2FzZXRhYi5jCmluZGV4IDgzMjdmYmQuLjI0NjE2NDcgMTAwNjQ0Ci0t
LSBhL3NyYy9jYXNldGFiLmMKKysrIGIvc3JjL2Nhc2V0YWIuYwpAQCAtNyw4ICs3LDggQEAg
VGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLgogCiBHTlUgRW1hY3MgaXMgZnJlZSBz
b2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogaXQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJs
aXNoZWQgYnkKLXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9u
IDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0oYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz
aW9uLgordGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBv
ZiB0aGUgTGljZW5zZSwgb3IgKGF0Cit5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u
CiAKIEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg
YmUgdXNlZnVsLAogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl
IGltcGxpZWQgd2FycmFudHkgb2YKZGlmZiAtLWdpdCBhL3NyYy9jYXRlZ29yeS5jIGIvc3Jj
L2NhdGVnb3J5LmMKaW5kZXggNjE1MDJmOC4uNDM5N2Y2NiAxMDA2NDQKLS0tIGEvc3JjL2Nh
dGVnb3J5LmMKKysrIGIvc3JjL2NhdGVnb3J5LmMKQEAgLTEzLDggKzEzLDggQEAgVGhpcyBm
aWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLgogCiBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2Fy
ZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQg
YnkKLXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2Yg
dGhlIExpY2Vuc2UsIG9yCi0oYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgor
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUg
TGljZW5zZSwgb3IgKGF0Cit5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAKIEdO
VSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl
ZnVsLAogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp
ZWQgd2FycmFudHkgb2YKQEAgLTQ2Miw3ICs0NjIsNyBAQCBFbWFjcyB0cmVhdHMgYSBzZXF1
ZW5jZSBvZiB3b3JkIGNvbnN0aXR1ZW50IGNoYXJhY3RlcnMgYXMgYSBzaW5nbGUKIHdvcmQg
KGkuZS4gZmluZHMgbm8gd29yZCBib3VuZGFyeSBiZXR3ZWVuIHRoZW0pIG9ubHkgaWYgdGhl
eSBiZWxvbmcgdG8KIHRoZSBzYW1lIHNjcmlwdC4gIEJ1dCwgZXhjZXB0aW9ucyBhcmUgYWxs
b3dlZCBpbiB0aGUgZm9sbG93aW5nIGNhc2VzLgogCi0oMSkgVGhlIGNhc2UgdGhhdCBjaGFy
YWN0ZXJzIGFyZSBpbiBkaWZmZXJlbnQgc2NyaXB0cyBpcyBjb250cm9sbGVkCitcKDEpIFRo
ZSBjYXNlIHRoYXQgY2hhcmFjdGVycyBhcmUgaW4gZGlmZmVyZW50IHNjcmlwdHMgaXMgY29u
dHJvbGxlZAogYnkgdGhlIHZhcmlhYmxlIGB3b3JkLWNvbWJpbmluZy1jYXRlZ29yaWVzJy4K
IAogRW1hY3MgZmluZHMgbm8gd29yZCBib3VuZGFyeSBiZXR3ZWVuIGNoYXJhY3RlcnMgb2Yg
ZGlmZmVyZW50IHNjcmlwdHMKQEAgLTQ3Niw3ICs0NzYsNyBAQCBGb3IgaW5zdGFuY2UsIHRv
IHRlbGwgdGhhdCBIYW4gY2hhcmFjdGVycyBmb2xsb3dlZCBieSBIaXJhZ2FuYQogY2hhcmFj
dGVycyBjYW4gZm9ybSBhIHNpbmdsZSB3b3JkLCB0aGUgZWxlbWVudCBgKD9DIC4gP0gpJyBz
aG91bGQgYmUKIGluIHRoaXMgbGlzdC4KIAotKDIpIFRoZSBjYXNlIHRoYXQgY2hhcmFjdGVy
IGFyZSBpbiB0aGUgc2FtZSBzY3JpcHQgaXMgY29udHJvbGxlZCBieQorXCgyKSBUaGUgY2Fz
ZSB0aGF0IGNoYXJhY3RlciBhcmUgaW4gdGhlIHNhbWUgc2NyaXB0IGlzIGNvbnRyb2xsZWQg
YnkKIHRoZSB2YXJpYWJsZSBgd29yZC1zZXBhcmF0aW5nLWNhdGVnb3JpZXMnLgogCiBFbWFj
cyBmaW5kcyBhIHdvcmQgYm91bmRhcnkgYmV0d2VlbiBjaGFyYWN0ZXJzIG9mIHRoZSBzYW1l
IHNjcmlwdApkaWZmIC0tZ2l0IGEvc3JjL2NhdGVnb3J5LmggYi9zcmMvY2F0ZWdvcnkuaApp
bmRleCAwMmY5YTE5Li4yNDdmOTA5IDEwMDY0NAotLS0gYS9zcmMvY2F0ZWdvcnkuaAorKysg
Yi9zcmMvY2F0ZWdvcnkuaApAQCAtMTEsOCArMTEsOCBAQCBUaGlzIGZpbGUgaXMgcGFydCBv
ZiBHTlUgRW1hY3MuCiAKIEdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwg
b3IKLShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCit0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAo
YXQKK3lvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIAogR05VIEVtYWNzIGlzIGRp
c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lU
SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv
ZgpkaWZmIC0tZ2l0IGEvc3JjL2NjbC5jIGIvc3JjL2NjbC5jCmluZGV4IDhjZmQ5YjUuLmQ5
NjIwMzQgMTAwNjQ0Ci0tLSBhL3NyYy9jY2wuYworKysgYi9zcmMvY2NsLmMKQEAgLTEyLDgg
KzEyLDggQEAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLgogCiBHTlUgRW1hY3Mg
aXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlm
eQogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZSBhcyBwdWJsaXNoZWQgYnkKLXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhl
ciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0oYXQgeW91ciBvcHRpb24pIGFueSBs
YXRlciB2ZXJzaW9uLgordGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZl
cnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cit5b3VyIG9wdGlvbikgYW55IGxhdGVy
IHZlcnNpb24uCiAKIEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0
IGl0IHdpbGwgYmUgdXNlZnVsLAogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0
IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKZGlmZiAtLWdpdCBhL3NyYy9jY2wuaCBi
L3NyYy9jY2wuaAppbmRleCBmZGNlNDM3Li4xMDg2MGY1IDEwMDY0NAotLS0gYS9zcmMvY2Ns
LmgKKysrIGIvc3JjL2NjbC5oCkBAIC0xMSw4ICsxMSw4IEBAIFRoaXMgZmlsZSBpcyBwYXJ0
IG9mIEdOVSBFbWFjcy4KIAogR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4g
cmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci10aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNl
LCBvcgotKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KK3RoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9y
IChhdAoreW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogCiBHTlUgRW1hY3MgaXMg
ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIGJ1dCBX
SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5
IG9mCmRpZmYgLS1naXQgYS9zcmMvY2hhcmFjdGVyLmMgYi9zcmMvY2hhcmFjdGVyLmMKaW5k
ZXggNDgxODc0OC4uOWY2MGFhNyAxMDA2NDQKLS0tIGEvc3JjL2NoYXJhY3Rlci5jCisrKyBi
L3NyYy9jaGFyYWN0ZXIuYwpAQCAtMTEsOCArMTEsOCBAQCBUaGlzIGZpbGUgaXMgcGFydCBv
ZiBHTlUgRW1hY3MuCiAKIEdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwg
b3IKLShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCit0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAo
YXQKK3lvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIAogR05VIEVtYWNzIGlzIGRp
c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lU
SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv
ZgpkaWZmIC0tZ2l0IGEvc3JjL2NoYXJhY3Rlci5oIGIvc3JjL2NoYXJhY3Rlci5oCmluZGV4
IDQ0MGU3ODEuLmJjM2UxNTUgMTAwNjQ0Ci0tLSBhL3NyYy9jaGFyYWN0ZXIuaAorKysgYi9z
cmMvY2hhcmFjdGVyLmgKQEAgLTksOCArOSw4IEBAIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdO
VSBFbWFjcy4KIAogR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0
cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci10aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgot
KGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KK3RoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdAor
eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogCiBHTlUgRW1hY3MgaXMgZGlzdHJp
YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIGJ1dCBXSVRIT1VU
IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCmRp
ZmYgLS1naXQgYS9zcmMvY2hhcnNldC5jIGIvc3JjL2NoYXJzZXQuYwppbmRleCA0OGU0NzY4
Li44ZmY0NjllIDEwMDY0NAotLS0gYS9zcmMvY2hhcnNldC5jCisrKyBiL3NyYy9jaGFyc2V0
LmMKQEAgLTE1LDggKzE1LDggQEAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLgog
CiBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yIG1vZGlmeQogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0oYXQgeW91ciBv
cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgordGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
biwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cit5b3VyIG9wdGlv
bikgYW55IGxhdGVyIHZlcnNpb24uCiAKIEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0
aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogYnV0IFdJVEhPVVQgQU5ZIFdBUlJB
TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKZGlmZiAtLWdpdCBh
L3NyYy9jaGFyc2V0LmggYi9zcmMvY2hhcnNldC5oCmluZGV4IGE1YzQ1MzIuLjhlNzc1Njcg
MTAwNjQ0Ci0tLSBhL3NyYy9jaGFyc2V0LmgKKysrIGIvc3JjL2NoYXJzZXQuaApAQCAtMTMs
OCArMTMsOCBAQCBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3MuCiAKIEdOVSBFbWFj
cyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9k
aWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlIGFzIHB1Ymxpc2hlZCBieQotdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0
aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLShhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIg
dmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQKK3lvdXIgb3B0aW9uKSBhbnkgbGF0
ZXIgdmVyc2lvbi4KIAogR05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo
YXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv
dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpkaWZmIC0tZ2l0IGEvc3JjL2NoYXJ0
YWIuYyBiL3NyYy9jaGFydGFiLmMKaW5kZXggZWM2MThmMy4uNmNmOGZlYSAxMDA2NDQKLS0t
IGEvc3JjL2NoYXJ0YWIuYworKysgYi9zcmMvY2hhcnRhYi5jCkBAIC03LDggKzcsOCBAQCBU
aGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3MuCiAKIEdOVSBFbWFjcyBpcyBmcmVlIHNv
ZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxp
c2hlZCBieQotdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24g
MyBvZiB0aGUgTGljZW5zZSwgb3IKLShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp
b24uCit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9m
IHRoZSBMaWNlbnNlLCBvciAoYXQKK3lvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K
IAogR05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi
ZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg
aW1wbGllZCB3YXJyYW50eSBvZgpAQCAtNTMzLDcgKzUzMyw3IEBAIERFRlVOICgiY2hhci10
YWJsZS1wYXJlbnQiLCBGY2hhcl90YWJsZV9wYXJlbnQsIFNjaGFyX3RhYmxlX3BhcmVudCwK
IFRoZSB2YWx1ZSBpcyBlaXRoZXIgbmlsIG9yIGFub3RoZXIgY2hhci10YWJsZS4KIElmIENI
QVItVEFCTEUgaG9sZHMgbmlsIGZvciBhIGdpdmVuIGNoYXJhY3RlciwKIHRoZW4gdGhlIGFj
dHVhbCBhcHBsaWNhYmxlIHZhbHVlIGlzIGluaGVyaXRlZCBmcm9tIHRoZSBwYXJlbnQgY2hh
ci10YWJsZQotKG9yIGZyb20gaXRzIHBhcmVudHMsIGlmIG5lY2Vzc2FyeSkuICAqLykKK1wo
b3IgZnJvbSBpdHMgcGFyZW50cywgaWYgbmVjZXNzYXJ5KS4gICovKQogICAoTGlzcF9PYmpl
Y3QgY2hhcl90YWJsZSkKIHsKICAgQ0hFQ0tfQ0hBUl9UQUJMRSAoY2hhcl90YWJsZSk7CmRp
ZmYgLS1naXQgYS9zcmMvY20uYyBiL3NyYy9jbS5jCmluZGV4IGVjMTU0NWQuLjRmOTRjMDcg
MTAwNjQ0Ci0tLSBhL3NyYy9jbS5jCisrKyBiL3NyYy9jbS5jCkBAIC02LDggKzYsOCBAQCBU
aGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3MuCiAKIEdOVSBFbWFjcyBpcyBmcmVlIHNv
ZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxp
c2hlZCBieQotdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24g
MyBvZiB0aGUgTGljZW5zZSwgb3IKLShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp
b24uCit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9m
IHRoZSBMaWNlbnNlLCBvciAoYXQKK3lvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K
IAogR05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi
ZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg
aW1wbGllZCB3YXJyYW50eSBvZgpkaWZmIC0tZ2l0IGEvc3JjL2NtLmggYi9zcmMvY20uaApp
bmRleCBjMTA5YzQ3Li4xMjY5NjlkIDEwMDY0NAotLS0gYS9zcmMvY20uaAorKysgYi9zcmMv
Y20uaApAQCAtNSw4ICs1LDggQEAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLgog
CiBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yIG1vZGlmeQogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0oYXQgeW91ciBv
cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgordGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
biwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cit5b3VyIG9wdGlv
bikgYW55IGxhdGVyIHZlcnNpb24uCiAKIEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0
aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogYnV0IFdJVEhPVVQgQU5ZIFdBUlJB
TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKZGlmZiAtLWdpdCBh
L3NyYy9jbWRzLmMgYi9zcmMvY21kcy5jCmluZGV4IDM0NTAwMDMuLjFlNDRkZGQgMTAwNjQ0
Ci0tLSBhL3NyYy9jbWRzLmMKKysrIGIvc3JjL2NtZHMuYwpAQCAtNiw4ICs2LDggQEAgVGhp
cyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLgogCiBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0
d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNo
ZWQgYnkKLXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMg
b2YgdGhlIExpY2Vuc2UsIG9yCi0oYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u
LgordGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0
aGUgTGljZW5zZSwgb3IgKGF0Cit5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAK
IEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg
dXNlZnVsLAogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt
cGxpZWQgd2FycmFudHkgb2YKQEAgLTEwNiw3ICsxMDYsNyBAQCByaWdodCBvciB0byB0aGUg
bGVmdCBvbiB0aGUgc2NyZWVuLiAgVGhpcyBpcyBpbiBjb250cmFzdCB3aXRoCiBERUZVTiAo
ImZvcndhcmQtbGluZSIsIEZmb3J3YXJkX2xpbmUsIFNmb3J3YXJkX2xpbmUsIDAsIDEsICJe
cCIsCiAgICAgICAgZG9jOiAvKiBNb3ZlIE4gbGluZXMgZm9yd2FyZCAoYmFja3dhcmQgaWYg
TiBpcyBuZWdhdGl2ZSkuCiBQcmVjaXNlbHksIGlmIHBvaW50IGlzIG9uIGxpbmUgSSwgbW92
ZSB0byB0aGUgc3RhcnQgb2YgbGluZSBJICsgTgotKCJzdGFydCBvZiBsaW5lIiBpbiB0aGUg
bG9naWNhbCBvcmRlcikuCitcKCJzdGFydCBvZiBsaW5lIiBpbiB0aGUgbG9naWNhbCBvcmRl
cikuCiBJZiB0aGVyZSBpc24ndCByb29tLCBnbyBhcyBmYXIgYXMgcG9zc2libGUgKG5vIGVy
cm9yKS4KIAogUmV0dXJucyB0aGUgY291bnQgb2YgbGluZXMgbGVmdCB0byBtb3ZlLiAgSWYg
bW92aW5nIGZvcndhcmQsCmRpZmYgLS1naXQgYS9zcmMvY29kaW5nLmMgYi9zcmMvY29kaW5n
LmMKaW5kZXggZTU5MWJlZC4uOWY3MDliZSAxMDA2NDQKLS0tIGEvc3JjL2NvZGluZy5jCisr
KyBiL3NyYy9jb2RpbmcuYwpAQCAtMTIsOCArMTIsOCBAQCBUaGlzIGZpbGUgaXMgcGFydCBv
ZiBHTlUgRW1hY3MuCiAKIEdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwg
b3IKLShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCit0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAo
YXQKK3lvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIAogR05VIEVtYWNzIGlzIGRp
c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lU
SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv
ZgpAQCAtOTgwMCw3ICs5ODAwLDcgQEAgREVGVU4gKCJmaW5kLW9wZXJhdGlvbi1jb2Rpbmct
c3lzdGVtIiwgRmZpbmRfb3BlcmF0aW9uX2NvZGluZ19zeXN0ZW0sCiAgICAgICAgZG9jOiAv
KiBDaG9vc2UgYSBjb2Rpbmcgc3lzdGVtIGZvciBhbiBvcGVyYXRpb24gYmFzZWQgb24gdGhl
IHRhcmdldCBuYW1lLgogVGhlIHZhbHVlIG5hbWVzIGEgcGFpciBvZiBjb2Rpbmcgc3lzdGVt
czogKERFQ09ESU5HLVNZU1RFTSAuIEVOQ09ESU5HLVNZU1RFTSkuCiBERUNPRElORy1TWVNU
RU0gaXMgdGhlIGNvZGluZyBzeXN0ZW0gdG8gdXNlIGZvciBkZWNvZGluZwotKGluIGNhc2Ug
T1BFUkFUSU9OIGRvZXMgZGVjb2RpbmcpLCBhbmQgRU5DT0RJTkctU1lTVEVNIGlzIHRoZSBj
b2Rpbmcgc3lzdGVtCitcKGluIGNhc2UgT1BFUkFUSU9OIGRvZXMgZGVjb2RpbmcpLCBhbmQg
RU5DT0RJTkctU1lTVEVNIGlzIHRoZSBjb2Rpbmcgc3lzdGVtCiBmb3IgZW5jb2RpbmcgKGlu
IGNhc2UgT1BFUkFUSU9OIGRvZXMgZW5jb2RpbmcpLgogCiBUaGUgZmlyc3QgYXJndW1lbnQg
T1BFUkFUSU9OIHNwZWNpZmllcyBhbiBJL08gcHJpbWl0aXZlOgpAQCAtMTExNzUsNyArMTEx
NzUsNyBAQCB0aGUgY2RyIHBhcnQgaXMgdXNlZCBmb3IgZW5jb2RpbmcgYSB0ZXh0IHRvIGJl
IHNlbnQgdG8gYSBwcm9jZXNzLiAgKi8pOwogVGFibGUgb2YgZXh0cmEgTGF0aW4gY29kZXMg
aW4gdGhlIHJhbmdlIDEyOC4uMTU5IChpbmNsdXNpdmUpLgogVGhpcyBpcyBhIHZlY3RvciBv
ZiBsZW5ndGggMjU2LgogSWYgTnRoIGVsZW1lbnQgaXMgbm9uLW5pbCwgdGhlIGV4aXN0ZW5j
ZSBvZiBjb2RlIE4gaW4gYSBmaWxlCi0ob3Igb3V0cHV0IG9mIHN1YnByb2Nlc3MpIGRvZXNu
J3QgcHJldmVudCBpdCB0byBiZSBkZXRlY3RlZCBhcworXChvciBvdXRwdXQgb2Ygc3VicHJv
Y2VzcykgZG9lc24ndCBwcmV2ZW50IGl0IHRvIGJlIGRldGVjdGVkIGFzCiBhIGNvZGluZyBz
eXN0ZW0gb2YgSVNPIDIwMjIgdmFyaWFudCB3aGljaCBoYXMgYSBmbGFnCiBgYWNjZXB0LWxh
dGluLWV4dHJhLWNvZGUnIHQgKGUuZy4gaXNvLWxhdGluLTEpIG9uIHJlYWRpbmcgYSBmaWxl
CiBvciByZWFkaW5nIG91dHB1dCBvZiBhIHN1YnByb2Nlc3MuCmRpZmYgLS1naXQgYS9zcmMv
Y29kaW5nLmggYi9zcmMvY29kaW5nLmgKaW5kZXggZWEwY2RkNS4uOTNkZGZmMCAxMDA2NDQK
LS0tIGEvc3JjL2NvZGluZy5oCisrKyBiL3NyYy9jb2RpbmcuaApAQCAtMTIsOCArMTIsOCBA
QCBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3MuCiAKIEdOVSBFbWFjcyBpcyBmcmVl
IHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1
Ymxpc2hlZCBieQotdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNp
b24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAz
IG9mIHRoZSBMaWNlbnNlLCBvciAoYXQKK3lvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv
bi4KIAogR05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls
bCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0
aGUgaW1wbGllZCB3YXJyYW50eSBvZgpkaWZmIC0tZ2l0IGEvc3JjL2NvbW1hbmRzLmggYi9z
cmMvY29tbWFuZHMuaAppbmRleCAzNmFjMDBmLi40ZTY5Y2RhIDEwMDY0NAotLS0gYS9zcmMv
Y29tbWFuZHMuaAorKysgYi9zcmMvY29tbWFuZHMuaApAQCAtNSw4ICs1LDggQEAgVGhpcyBm
aWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLgogCiBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2Fy
ZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQg
YnkKLXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2Yg
dGhlIExpY2Vuc2UsIG9yCi0oYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgor
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUg
TGljZW5zZSwgb3IgKGF0Cit5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAKIEdO
VSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl
ZnVsLAogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp
ZWQgd2FycmFudHkgb2YKZGlmZiAtLWdpdCBhL3NyYy9jb21wb3NpdGUuYyBiL3NyYy9jb21w
b3NpdGUuYwppbmRleCA0M2M5MDlmLi40OWIwMDAzIDEwMDY0NAotLS0gYS9zcmMvY29tcG9z
aXRlLmMKKysrIGIvc3JjL2NvbXBvc2l0ZS5jCkBAIC0xMSw4ICsxMSw4IEBAIFRoaXMgZmls
ZSBpcyBwYXJ0IG9mIEdOVSBFbWFjcy4KIAogR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5
Ci10aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRo
ZSBMaWNlbnNlLCBvcgotKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KK3Ro
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExp
Y2Vuc2UsIG9yIChhdAoreW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogCiBHTlUg
RW1hY3MgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1
bCwKIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk
IHdhcnJhbnR5IG9mCmRpZmYgLS1naXQgYS9zcmMvY29tcG9zaXRlLmggYi9zcmMvY29tcG9z
aXRlLmgKaW5kZXggMTQyM2ZlYi4uODBlMTc0MCAxMDA2NDQKLS0tIGEvc3JjL2NvbXBvc2l0
ZS5oCisrKyBiL3NyYy9jb21wb3NpdGUuaApAQCAtMTEsOCArMTEsOCBAQCBUaGlzIGZpbGUg
aXMgcGFydCBvZiBHTlUgRW1hY3MuCiAKIEdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5
b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVy
bXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQot
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUg
TGljZW5zZSwgb3IKLShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCit0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNl
bnNlLCBvciAoYXQKK3lvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIAogR05VIEVt
YWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws
CiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3
YXJyYW50eSBvZgpkaWZmIC0tZ2l0IGEvc3JjL2NvbmZfcG9zdC5oIGIvc3JjL2NvbmZfcG9z
dC5oCmluZGV4IDVjMzMyYTAuLmQwZjA0YjYgMTAwNjQ0Ci0tLSBhL3NyYy9jb25mX3Bvc3Qu
aAorKysgYi9zcmMvY29uZl9wb3N0LmgKQEAgLTcsOCArNyw4IEBAIFRoaXMgZmlsZSBpcyBw
YXJ0IG9mIEdOVSBFbWFjcy4KIAogR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBj
YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0IHVuZGVyIHRoZSB0ZXJtcyBv
ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci10aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNl
bnNlLCBvcgotKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KK3RoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2Us
IG9yIChhdAoreW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogCiBHTlUgRW1hY3Mg
aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIGJ1
dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh
bnR5IG9mCmRpZmYgLS1naXQgYS9zcmMvY3lndzMyLmMgYi9zcmMvY3lndzMyLmMKaW5kZXgg
NDIyYjA0ZC4uNjgyMjMyMCAxMDA2NDQKLS0tIGEvc3JjL2N5Z3czMi5jCisrKyBiL3NyYy9j
eWd3MzIuYwpAQCAtNSw4ICs1LDggQEAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNz
LgogCiBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yIG1vZGlmeQogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLXRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0oYXQgeW91
ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgordGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cit5b3VyIG9w
dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAKIEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBp
biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogYnV0IFdJVEhPVVQgQU5ZIFdB
UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKZGlmZiAtLWdp
dCBhL3NyYy9jeWd3MzIuaCBiL3NyYy9jeWd3MzIuaAppbmRleCA1OGQ4Y2Q0Li4wZjY5ODgx
IDEwMDY0NAotLS0gYS9zcmMvY3lndzMyLmgKKysrIGIvc3JjL2N5Z3czMi5oCkBAIC01LDgg
KzUsOCBAQCBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3MuCiAKIEdOVSBFbWFjcyBp
cyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5
CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieQotdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVy
IHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLShhdCB5b3VyIG9wdGlvbikgYW55IGxh
dGVyIHZlcnNpb24uCit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVy
c2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQKK3lvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KIAogR05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg
aXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg
ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpkaWZmIC0tZ2l0IGEvc3JjL2RhdGEuYyBi
L3NyYy9kYXRhLmMKaW5kZXggMDdmODcyNC4uMjU3NGNiYiAxMDA2NDQKLS0tIGEvc3JjL2Rh
dGEuYworKysgYi9zcmMvZGF0YS5jCkBAIC02LDggKzYsOCBAQCBUaGlzIGZpbGUgaXMgcGFy
dCBvZiBHTlUgRW1hY3MuCiAKIEdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2Fu
IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2Yg
dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5z
ZSwgb3IKLShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCit0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBv
ciAoYXQKK3lvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIAogR05VIEVtYWNzIGlz
IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQg
V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50
eSBvZgpAQCAtMTY3Myw3ICsxNjczLDcgQEAgREVGVU4gKCJtYWtlLWxvY2FsLXZhcmlhYmxl
IiwgRm1ha2VfbG9jYWxfdmFyaWFibGUsIFNtYWtlX2xvY2FsX3ZhcmlhYmxlLAogICAgICAg
IDEsIDEsICJ2TWFrZSBMb2NhbCBWYXJpYWJsZTogIiwKICAgICAgICBkb2M6IC8qIE1ha2Ug
VkFSSUFCTEUgaGF2ZSBhIHNlcGFyYXRlIHZhbHVlIGluIHRoZSBjdXJyZW50IGJ1ZmZlci4K
IE90aGVyIGJ1ZmZlcnMgd2lsbCBjb250aW51ZSB0byBzaGFyZSBhIGNvbW1vbiBkZWZhdWx0
IHZhbHVlLgotKFRoZSBidWZmZXItbG9jYWwgdmFsdWUgb2YgVkFSSUFCTEUgc3RhcnRzIG91
dCBhcyB0aGUgc2FtZSB2YWx1ZQorXChUaGUgYnVmZmVyLWxvY2FsIHZhbHVlIG9mIFZBUklB
QkxFIHN0YXJ0cyBvdXQgYXMgdGhlIHNhbWUgdmFsdWUKIFZBUklBQkxFIHByZXZpb3VzbHkg
aGFkLiAgSWYgVkFSSUFCTEUgd2FzIHZvaWQsIGl0IHJlbWFpbnMgdm9pZC4pCiBSZXR1cm4g
VkFSSUFCTEUuCiAKZGlmZiAtLWdpdCBhL3NyYy9kYnVzYmluZC5jIGIvc3JjL2RidXNiaW5k
LmMKaW5kZXggNTE0OGMzMi4uZDNhMzJjMCAxMDA2NDQKLS0tIGEvc3JjL2RidXNiaW5kLmMK
KysrIGIvc3JjL2RidXNiaW5kLmMKQEAgLTUsOCArNSw4IEBAIFRoaXMgZmlsZSBpcyBwYXJ0
IG9mIEdOVSBFbWFjcy4KIAogR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4g
cmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci10aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNl
LCBvcgotKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KK3RoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9y
IChhdAoreW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogCiBHTlUgRW1hY3MgaXMg
ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIGJ1dCBX
SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5
IG9mCmRpZmYgLS1naXQgYS9zcmMvZGVjb21wcmVzcy5jIGIvc3JjL2RlY29tcHJlc3MuYwpp
bmRleCA4ZmI3MWIwLi4xMjEzZjQ4IDEwMDY0NAotLS0gYS9zcmMvZGVjb21wcmVzcy5jCisr
KyBiL3NyYy9kZWNvbXByZXNzLmMKQEAgLTUsOCArNSw4IEBAIFRoaXMgZmlsZSBpcyBwYXJ0
IG9mIEdOVSBFbWFjcy4KIAogR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4g
cmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci10aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNl
LCBvcgotKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KK3RoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9y
IChhdAoreW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogCiBHTlUgRW1hY3MgaXMg
ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIGJ1dCBX
SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5
IG9mCmRpZmYgLS1naXQgYS9zcmMvZGlyZWQuYyBiL3NyYy9kaXJlZC5jCmluZGV4IDk3ZmVm
YWUuLmUyMWIyMjcgMTAwNjQ0Ci0tLSBhL3NyYy9kaXJlZC5jCisrKyBiL3NyYy9kaXJlZC5j
CkBAIC02LDggKzYsOCBAQCBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3MuCiAKIEdO
VSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
biwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLShhdCB5b3VyIG9wdGlv
bikgYW55IGxhdGVyIHZlcnNpb24uCit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBl
aXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQKK3lvdXIgb3B0aW9uKSBh
bnkgbGF0ZXIgdmVyc2lvbi4KIAogR05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo
b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7
IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpkaWZmIC0tZ2l0IGEvc3Jj
L2Rpc3BleHRlcm4uaCBiL3NyYy9kaXNwZXh0ZXJuLmgKaW5kZXggMDA2NjdjNS4uNzAzNTg3
MiAxMDA2NDQKLS0tIGEvc3JjL2Rpc3BleHRlcm4uaAorKysgYi9zcmMvZGlzcGV4dGVybi5o
CkBAIC02LDggKzYsOCBAQCBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3MuCiAKIEdO
VSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
biwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLShhdCB5b3VyIG9wdGlv
bikgYW55IGxhdGVyIHZlcnNpb24uCit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBl
aXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQKK3lvdXIgb3B0aW9uKSBh
bnkgbGF0ZXIgdmVyc2lvbi4KIAogR05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo
b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7
IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpkaWZmIC0tZ2l0IGEvc3Jj
L2Rpc3BuZXcuYyBiL3NyYy9kaXNwbmV3LmMKaW5kZXggZjgzNGYzNS4uM2EwNTMyYSAxMDA2
NDQKLS0tIGEvc3JjL2Rpc3BuZXcuYworKysgYi9zcmMvZGlzcG5ldy5jCkBAIC03LDggKzcs
OCBAQCBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3MuCiAKIEdOVSBFbWFjcyBpcyBm
cmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBp
dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFz
IHB1Ymxpc2hlZCBieQotdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZl
cnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy
IHZlcnNpb24uCit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lv
biAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQKK3lvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy
c2lvbi4KIAogR05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg
d2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl
biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpAQCAtNTY3MSw3ICs1NjcxLDcgQEAgREVGVU4g
KCJzbGVlcC1mb3IiLCBGc2xlZXBfZm9yLCBTc2xlZXBfZm9yLCAxLCAyLCAwLAogU0VDT05E
UyBtYXkgYmUgYSBmbG9hdGluZy1wb2ludCB2YWx1ZSwgbWVhbmluZyB0aGF0IHlvdSBjYW4g
d2FpdCBmb3IgYQogZnJhY3Rpb24gb2YgYSBzZWNvbmQuICBPcHRpb25hbCBzZWNvbmQgYXJn
IE1JTExJU0VDT05EUyBzcGVjaWZpZXMgYW4KIGFkZGl0aW9uYWwgd2FpdCBwZXJpb2QsIGlu
IG1pbGxpc2Vjb25kczsgdGhpcyBpcyBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuCi0o
Tm90IGFsbCBvcGVyYXRpbmcgc3lzdGVtcyBzdXBwb3J0IHdhaXRpbmcgZm9yIGEgZnJhY3Rp
b24gb2YgYSBzZWNvbmQuKSAgKi8pCitcKE5vdCBhbGwgb3BlcmF0aW5nIHN5c3RlbXMgc3Vw
cG9ydCB3YWl0aW5nIGZvciBhIGZyYWN0aW9uIG9mIGEgc2Vjb25kLikgICovKQogICAoTGlz
cF9PYmplY3Qgc2Vjb25kcywgTGlzcF9PYmplY3QgbWlsbGlzZWNvbmRzKQogewogICBkb3Vi
bGUgZHVyYXRpb24gPSBleHRyYWN0X2Zsb2F0IChzZWNvbmRzKTsKZGlmZiAtLWdpdCBhL3Ny
Yy9kaXNwdGFiLmggYi9zcmMvZGlzcHRhYi5oCmluZGV4IDIxMWI2NDkuLjk2NDE2MmYgMTAw
NjQ0Ci0tLSBhL3NyYy9kaXNwdGFiLmgKKysrIGIvc3JjL2Rpc3B0YWIuaApAQCAtNSw4ICs1
LDggQEAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLgogCiBHTlUgRW1hY3MgaXMg
ZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQog
aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBh
cyBwdWJsaXNoZWQgYnkKLXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2
ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0oYXQgeW91ciBvcHRpb24pIGFueSBsYXRl
ciB2ZXJzaW9uLgordGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNp
b24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cit5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCiAKIEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0
IHdpbGwgYmUgdXNlZnVsLAogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2
ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKZGlmZiAtLWdpdCBhL3NyYy9kb2MuYyBiL3Ny
Yy9kb2MuYwppbmRleCBhOTI3M2YwLi4wZDk0ZDEwIDEwMDY0NAotLS0gYS9zcmMvZG9jLmMK
KysrIGIvc3JjL2RvYy5jCkBAIC03LDggKzcsOCBAQCBUaGlzIGZpbGUgaXMgcGFydCBvZiBH
TlUgRW1hY3MuCiAKIEdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO
VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IK
LShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCit0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQK
K3lvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIAogR05VIEVtYWNzIGlzIGRpc3Ry
aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9V
VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpA
QCAtNzE2LDcgKzcxNiw3IEBAIGlzIG5vdCBvbiBhbnkga2V5cy4KIEVhY2ggc3Vic3RyaW5n
IG9mIHRoZSBmb3JtIFxcPVxce01BUFZBUn0gaXMgcmVwbGFjZWQgYnkgYSBzdW1tYXJ5IG9m
CiB0aGUgdmFsdWUgb2YgTUFQVkFSIGFzIGEga2V5bWFwLiAgVGhpcyBzdW1tYXJ5IGlzIHNp
bWlsYXIgdG8gdGhlIG9uZQogcHJvZHVjZWQgYnkgYGRlc2NyaWJlLWJpbmRpbmdzJy4gIFRo
ZSBzdW1tYXJ5IGVuZHMgaW4gdHdvIG5ld2xpbmVzCi0odXNlZCBieSB0aGUgaGVscGVyIGZ1
bmN0aW9uIGBoZWxwLW1ha2UteHJlZnMnIHRvIGZpbmQgdGhlIGVuZCBvZiB0aGUKK1wodXNl
ZCBieSB0aGUgaGVscGVyIGZ1bmN0aW9uIGBoZWxwLW1ha2UteHJlZnMnIHRvIGZpbmQgdGhl
IGVuZCBvZiB0aGUKIHN1bW1hcnkpLgogCiBFYWNoIHN1YnN0cmluZyBvZiB0aGUgZm9ybSBc
XD1cXDxNQVBWQVI+IHNwZWNpZmllcyB0aGUgdXNlIG9mIE1BUFZBUgpkaWZmIC0tZ2l0IGEv
c3JjL2RvcHJudC5jIGIvc3JjL2RvcHJudC5jCmluZGV4IGIwYjkyYmYuLjUwNmJiYzMgMTAw
NjQ0Ci0tLSBhL3NyYy9kb3BybnQuYworKysgYi9zcmMvZG9wcm50LmMKQEAgLTcsOCArNyw4
IEBAIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBFbWFjcy4KIAogR05VIEVtYWNzIGlzIGZy
ZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMg
cHVibGlzaGVkIGJ5Ci10aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVy
c2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KK3RoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9u
IDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdAoreW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz
aW9uLgogCiBHTlUgRW1hY3MgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3
aWxsIGJlIHVzZWZ1bCwKIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu
IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCmRpZmYgLS1naXQgYS9zcmMvZG9zZm5zLmMgYi9z
cmMvZG9zZm5zLmMKaW5kZXggZjUwN2Y0MS4uODgwZmVlOSAxMDA2NDQKLS0tIGEvc3JjL2Rv
c2Zucy5jCisrKyBiL3NyYy9kb3NmbnMuYwpAQCAtNyw4ICs3LDggQEAgVGhpcyBmaWxlIGlz
IHBhcnQgb2YgR05VIEVtYWNzLgogCiBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91
IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogaXQgdW5kZXIgdGhlIHRlcm1z
IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLXRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExp
Y2Vuc2UsIG9yCi0oYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgordGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5z
ZSwgb3IgKGF0Cit5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAKIEdOVSBFbWFj
cyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAog
YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy
cmFudHkgb2YKZGlmZiAtLWdpdCBhL3NyYy9kb3NmbnMuaCBiL3NyYy9kb3NmbnMuaAppbmRl
eCBmYTQ1ZDcxLi45ZmJmN2VkIDEwMDY0NAotLS0gYS9zcmMvZG9zZm5zLmgKKysrIGIvc3Jj
L2Rvc2Zucy5oCkBAIC05LDggKzksOCBAQCBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1h
Y3MuCiAKIEdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0
ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLShhdCB5
b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCit0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQKK3lvdXIg
b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIAogR05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVk
IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkg
V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpAQCAtMjks
NCArMjksMyBAQCBleHRlcm4gaW50ICAgICAgICAgbXNkb3Nfc3RkY29sb3JfaWR4ICAoY29u
c3QgY2hhciAqKTsKIGV4dGVybiBMaXNwX09iamVjdCBtc2Rvc19zdGRjb2xvcl9uYW1lIChp
bnQpOwogZXh0ZXJuIHZvaWQgICAgICAgIHhfc2V0X3RpdGxlIChzdHJ1Y3QgZnJhbWUgKiwg
TGlzcF9PYmplY3QpOwogI2VuZGlmCi0KZGlmZiAtLWdpdCBhL3NyYy9keW5saWIuYyBiL3Ny
Yy9keW5saWIuYwppbmRleCBjNDY0N2U2Li42NGY2ODhjIDEwMDY0NAotLS0gYS9zcmMvZHlu
bGliLmMKKysrIGIvc3JjL2R5bmxpYi5jCkBAIC02LDggKzYsOCBAQCBUaGlzIGZpbGUgaXMg
cGFydCBvZiBHTlUgRW1hY3MuCiAKIEdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMg
b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGlj
ZW5zZSwgb3IKLShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCit0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNl
LCBvciAoYXQKK3lvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIAogR05VIEVtYWNz
IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBi
dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy
YW50eSBvZgpkaWZmIC0tZ2l0IGEvc3JjL2R5bmxpYi5oIGIvc3JjL2R5bmxpYi5oCmluZGV4
IDMzYjZkNjAuLmE5ZGE5ODUgMTAwNjQ0Ci0tLSBhL3NyYy9keW5saWIuaAorKysgYi9zcmMv
ZHlubGliLmgKQEAgLTYsOCArNiw4IEBAIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBFbWFj
cy4KIAogR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vciBtb2RpZnkKIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVy
YWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci10aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKGF0IHlv
dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KK3RoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdAoreW91ciBv
cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogCiBHTlUgRW1hY3MgaXMgZGlzdHJpYnV0ZWQg
aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIGJ1dCBXSVRIT1VUIEFOWSBX
QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCmRpZmYgLS1n
aXQgYS9zcmMvZWRpdGZucy5jIGIvc3JjL2VkaXRmbnMuYwppbmRleCBiZDcwZjBhLi5kZjk4
MjIzIDEwMDY0NAotLS0gYS9zcmMvZWRpdGZucy5jCisrKyBiL3NyYy9lZGl0Zm5zLmMKQEAg
LTYsOCArNiw4IEBAIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBFbWFjcy4KIAogR05VIEVt
YWNzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBt
b2RpZnkKIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci10aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBl
aXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKGF0IHlvdXIgb3B0aW9uKSBh
bnkgbGF0ZXIgdmVyc2lvbi4KK3RoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhl
ciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdAoreW91ciBvcHRpb24pIGFueSBs
YXRlciB2ZXJzaW9uLgogCiBHTlUgRW1hY3MgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0
aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCkBAIC0xODk1LDcgKzE4OTUsNyBA
QCBERUZVTiAoImZsb2F0LXRpbWUiLCBGZmxvYXRfdGltZSwgU2Zsb2F0X3RpbWUsIDAsIDEs
IDAsCiAgICAgICAgZG9jOiAvKiBSZXR1cm4gdGhlIGN1cnJlbnQgdGltZSwgYXMgYSBmbG9h
dCBudW1iZXIgb2Ygc2Vjb25kcyBzaW5jZSB0aGUgZXBvY2guCiBJZiBTUEVDSUZJRUQtVElN
RSBpcyBnaXZlbiwgaXQgaXMgdGhlIHRpbWUgdG8gY29udmVydCB0byBmbG9hdAogaW5zdGVh
ZCBvZiB0aGUgY3VycmVudCB0aW1lLiAgVGhlIGFyZ3VtZW50IHNob3VsZCBoYXZlIHRoZSBm
b3JtCi0oSElHSCBMT1cpIG9yIChISUdIIExPVyBVU0VDKSBvciAoSElHSCBMT1cgVVNFQyBQ
U0VDKS4gIFRodXMsCitcKEhJR0ggTE9XKSBvciAoSElHSCBMT1cgVVNFQykgb3IgKEhJR0gg
TE9XIFVTRUMgUFNFQykuICBUaHVzLAogeW91IGNhbiB1c2UgdGltZXMgZnJvbSBgY3VycmVu
dC10aW1lJyBhbmQgZnJvbSBgZmlsZS1hdHRyaWJ1dGVzJy4KIFNQRUNJRklFRC1USU1FIGNh
biBhbHNvIGhhdmUgdGhlIGZvcm0gKEhJR0ggLiBMT1cpLCBidXQgdGhpcyBpcwogY29uc2lk
ZXJlZCBvYnNvbGV0ZS4KQEAgLTIyODQsNyArMjI4NCw3IEBAIE9GRlNFVCBpcyBhbiBpbnRl
Z2VyIG51bWJlciBvZiBzZWNvbmRzIGFoZWFkIG9mIFVUQyAoZWFzdCBvZiBHcmVlbndpY2gp
LgogTkFNRSBpcyBhIHN0cmluZyBnaXZpbmcgdGhlIG5hbWUgb2YgdGhlIHRpbWUgem9uZS4K
IElmIFNQRUNJRklFRC1USU1FIGlzIGdpdmVuLCB0aGUgdGltZSB6b25lIG9mZnNldCBpcyBk
ZXRlcm1pbmVkIGZyb20gaXQKIGluc3RlYWQgb2YgdXNpbmcgdGhlIGN1cnJlbnQgdGltZS4g
IFRoZSBhcmd1bWVudCBzaG91bGQgaGF2ZSB0aGUgZm9ybQotKEhJR0ggTE9XIC4gSUdOT1JF
RCkuICBUaHVzLCB5b3UgY2FuIHVzZSB0aW1lcyBvYnRhaW5lZCBmcm9tCitcKEhJR0ggTE9X
IC4gSUdOT1JFRCkuICBUaHVzLCB5b3UgY2FuIHVzZSB0aW1lcyBvYnRhaW5lZCBmcm9tCiBg
Y3VycmVudC10aW1lJyBhbmQgZnJvbSBgZmlsZS1hdHRyaWJ1dGVzJy4gIFNQRUNJRklFRC1U
SU1FIGNhbiBhbHNvCiBoYXZlIHRoZSBmb3JtIChISUdIIC4gTE9XKSwgYnV0IHRoaXMgaXMg
Y29uc2lkZXJlZCBvYnNvbGV0ZS4KIE9wdGlvbmFsIHNlY29uZCBhcmcgWk9ORSBpcyBvbWl0
dGVkIG9yIG5pbCBmb3IgdGhlIGxvY2FsIHRpbWUgem9uZSwgb3IKQEAgLTM2MjcsNyArMzYy
Nyw3IEBAIHNhdmVfcmVzdHJpY3Rpb25fcmVzdG9yZSAoTGlzcF9PYmplY3QgZGF0YSkKIERF
RlVOICgic2F2ZS1yZXN0cmljdGlvbiIsIEZzYXZlX3Jlc3RyaWN0aW9uLCBTc2F2ZV9yZXN0
cmljdGlvbiwgMCwgVU5FVkFMTEVELCAwLAogICAgICAgIGRvYzogLyogRXhlY3V0ZSBCT0RZ
LCBzYXZpbmcgYW5kIHJlc3RvcmluZyBjdXJyZW50IGJ1ZmZlcidzIHJlc3RyaWN0aW9ucy4K
IFRoZSBidWZmZXIncyByZXN0cmljdGlvbnMgbWFrZSBwYXJ0cyBvZiB0aGUgYmVnaW5uaW5n
IGFuZCBlbmQgaW52aXNpYmxlLgotKFRoZXkgYXJlIHNldCB1cCB3aXRoIGBuYXJyb3ctdG8t
cmVnaW9uJyBhbmQgZWxpbWluYXRlZCB3aXRoIGB3aWRlbicuKQorXChUaGV5IGFyZSBzZXQg
dXAgd2l0aCBgbmFycm93LXRvLXJlZ2lvbicgYW5kIGVsaW1pbmF0ZWQgd2l0aCBgd2lkZW4n
LikKIFRoaXMgc3BlY2lhbCBmb3JtLCBgc2F2ZS1yZXN0cmljdGlvbicsIHNhdmVzIHRoZSBj
dXJyZW50IGJ1ZmZlcidzIHJlc3RyaWN0aW9ucwogd2hlbiBpdCBpcyBlbnRlcmVkLCBhbmQg
cmVzdG9yZXMgdGhlbSB3aGVuIGl0IGlzIGV4aXRlZC4KIFNvIGFueSBgbmFycm93LXRvLXJl
Z2lvbicgd2l0aGluIEJPRFkgbGFzdHMgb25seSB1bnRpbCB0aGUgZW5kIG9mIHRoZSBmb3Jt
LgpkaWZmIC0tZ2l0IGEvc3JjL2VtYWNzLWljb24uaCBiL3NyYy9lbWFjcy1pY29uLmgKaW5k
ZXggMmYwODA2Yy4uOTcwMTM1ZiAxMDA2NDQKLS0tIGEvc3JjL2VtYWNzLWljb24uaAorKysg
Yi9zcmMvZW1hY3MtaWNvbi5oCkBAIC05LDggKzksOCBAQCBUaGlzIGZpbGUgaXMgcGFydCBv
ZiBHTlUgRW1hY3MuCiAKIEdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwg
b3IKLShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCit0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAo
YXQKK3lvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIAogR05VIEVtYWNzIGlzIGRp
c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lU
SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv
ZgpAQCAtMzUwLDQgKzM1MCwzIEBAIHN0YXRpYyB1bnNpZ25lZCBjaGFyIGdudV94Ym1fYml0
c1tdID0gewogICAgMHhmOCwgMHgwZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg
MHhhMCwgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwKICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4
MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCiAg
ICAweDAwLCAweDAwfTsKLQpkaWZmIC0tZ2l0IGEvc3JjL2VtYWNzLW1vZHVsZS5jIGIvc3Jj
L2VtYWNzLW1vZHVsZS5jCmluZGV4IDc5YTA3N2IuLmVjYTVhZjcgMTAwNjQ0Ci0tLSBhL3Ny
Yy9lbWFjcy1tb2R1bGUuYworKysgYi9zcmMvZW1hY3MtbW9kdWxlLmMKQEAgLTYsOCArNiw4
IEBAIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBFbWFjcy4KIAogR05VIEVtYWNzIGlzIGZy
ZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMg
cHVibGlzaGVkIGJ5Ci10aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVy
c2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KK3RoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9u
IDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdAoreW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz
aW9uLgogCiBHTlUgRW1hY3MgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3
aWxsIGJlIHVzZWZ1bCwKIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu
IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCmRpZmYgLS1naXQgYS9zcmMvZW1hY3MtbW9kdWxl
LmggYi9zcmMvZW1hY3MtbW9kdWxlLmgKaW5kZXggNTc1OTY2ZS4uYjRhZTVlYSAxMDA2NDQK
LS0tIGEvc3JjL2VtYWNzLW1vZHVsZS5oCisrKyBiL3NyYy9lbWFjcy1tb2R1bGUuaApAQCAt
Niw4ICs2LDggQEAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLgogCiBHTlUgRW1h
Y3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1v
ZGlmeQogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZSBhcyBwdWJsaXNoZWQgYnkKLXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVp
dGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0oYXQgeW91ciBvcHRpb24pIGFu
eSBsYXRlciB2ZXJzaW9uLgordGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVy
IHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cit5b3VyIG9wdGlvbikgYW55IGxh
dGVyIHZlcnNpb24uCiAKIEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0
aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo
b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKZGlmZiAtLWdpdCBhL3NyYy9lbWFj
cy5jIGIvc3JjL2VtYWNzLmMKaW5kZXggOWJmOTk2YS4uZDFkNjQ5ZCAxMDA2NDQKLS0tIGEv
c3JjL2VtYWNzLmMKKysrIGIvc3JjL2VtYWNzLmMKQEAgLTcsOCArNyw4IEBAIFRoaXMgZmls
ZSBpcyBwYXJ0IG9mIEdOVSBFbWFjcy4KIAogR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5
Ci10aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRo
ZSBMaWNlbnNlLCBvcgotKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KK3Ro
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExp
Y2Vuc2UsIG9yIChhdAoreW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogCiBHTlUg
RW1hY3MgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1
bCwKIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk
IHdhcnJhbnR5IG9mCmRpZmYgLS1naXQgYS9zcmMvZW1hY3NndGtmaXhlZC5jIGIvc3JjL2Vt
YWNzZ3RrZml4ZWQuYwppbmRleCA2Nzk1MTU1Li5jZWJkN2I2IDEwMDY0NAotLS0gYS9zcmMv
ZW1hY3NndGtmaXhlZC5jCisrKyBiL3NyYy9lbWFjc2d0a2ZpeGVkLmMKQEAgLTcsOCArNyw4
IEBAIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBFbWFjcy4KIAogR05VIEVtYWNzIGlzIGZy
ZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMg
cHVibGlzaGVkIGJ5Ci10aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVy
c2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KK3RoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9u
IDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdAoreW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz
aW9uLgogCiBHTlUgRW1hY3MgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3
aWxsIGJlIHVzZWZ1bCwKIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu
IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCmRpZmYgLS1naXQgYS9zcmMvZW1hY3NndGtmaXhl
ZC5oIGIvc3JjL2VtYWNzZ3RrZml4ZWQuaAppbmRleCA3MjY1MmM1Li4zZDZhNzZhIDEwMDY0
NAotLS0gYS9zcmMvZW1hY3NndGtmaXhlZC5oCisrKyBiL3NyYy9lbWFjc2d0a2ZpeGVkLmgK
QEAgLTcsOCArNyw4IEBAIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBFbWFjcy4KIAogR05V
IEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v
ciBtb2RpZnkKIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci10aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
LCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKGF0IHlvdXIgb3B0aW9u
KSBhbnkgbGF0ZXIgdmVyc2lvbi4KK3RoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVp
dGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdAoreW91ciBvcHRpb24pIGFu
eSBsYXRlciB2ZXJzaW9uLgogCiBHTlUgRW1hY3MgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv
cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg
d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCmRpZmYgLS1naXQgYS9zcmMv
ZXZhbC5jIGIvc3JjL2V2YWwuYwppbmRleCAyNjEwNGE1Li5mZTY0NjBkIDEwMDY0NAotLS0g
YS9zcmMvZXZhbC5jCisrKyBiL3NyYy9ldmFsLmMKQEAgLTcsOCArNyw4IEBAIFRoaXMgZmls
ZSBpcyBwYXJ0IG9mIEdOVSBFbWFjcy4KIAogR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5
Ci10aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRo
ZSBMaWNlbnNlLCBvcgotKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KK3Ro
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExp
Y2Vuc2UsIG9yIChhdAoreW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogCiBHTlUg
RW1hY3MgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1
bCwKIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk
IHdhcnJhbnR5IG9mCkBAIC0xMTkxLDcgKzExOTEsNyBAQCBzdXBwcmVzc2VzIHRoZSBkZWJ1
Z2dlcikuCiBXaGVuIGEgaGFuZGxlciBoYW5kbGVzIGFuIGVycm9yLCBjb250cm9sIHJldHVy
bnMgdG8gdGhlIGBjb25kaXRpb24tY2FzZScKIGFuZCBpdCBleGVjdXRlcyB0aGUgaGFuZGxl
cidzIEJPRFkuLi4KIHdpdGggVkFSIGJvdW5kIHRvIChFUlJPUi1TWU1CT0wgLiBTSUdOQUwt
REFUQSkgZnJvbSB0aGUgZXJyb3IuCi0oSWYgVkFSIGlzIG5pbCwgdGhlIGhhbmRsZXIgY2Fu
J3QgYWNjZXNzIHRoYXQgaW5mb3JtYXRpb24uKQorXChJZiBWQVIgaXMgbmlsLCB0aGUgaGFu
ZGxlciBjYW4ndCBhY2Nlc3MgdGhhdCBpbmZvcm1hdGlvbi4pCiBUaGVuIHRoZSB2YWx1ZSBv
ZiB0aGUgbGFzdCBCT0RZIGZvcm0gaXMgcmV0dXJuZWQgZnJvbSB0aGUgYGNvbmRpdGlvbi1j
YXNlJwogZXhwcmVzc2lvbi4KIApAQCAtMjQwOSw3ICsyNDA5LDcgQEAgbWF5IGJlIG5pbCwg
YSBmdW5jdGlvbiwgb3IgYSBsaXN0IG9mIGZ1bmN0aW9ucy4gIENhbGwgZWFjaAogZnVuY3Rp
b24gaW4gb3JkZXIgd2l0aCBhcmd1bWVudHMgQVJHUywgc3RvcHBpbmcgYXQgdGhlIGZpcnN0
CiBvbmUgdGhhdCByZXR1cm5zIG5pbCwgYW5kIHJldHVybiBuaWwuICBPdGhlcndpc2UgKGlm
IGFsbCBmdW5jdGlvbnMKIHJldHVybiBub24tbmlsLCBvciBpZiB0aGVyZSBhcmUgbm8gZnVu
Y3Rpb25zIHRvIGNhbGwpLCByZXR1cm4gbm9uLW5pbAotKGRvIG5vdCByZWx5IG9uIHRoZSBw
cmVjaXNlIHJldHVybiB2YWx1ZSBpbiB0aGlzIGNhc2UpLgorXChkbyBub3QgcmVseSBvbiB0
aGUgcHJlY2lzZSByZXR1cm4gdmFsdWUgaW4gdGhpcyBjYXNlKS4KIAogRG8gbm90IHVzZSBg
bWFrZS1sb2NhbC12YXJpYWJsZScgdG8gbWFrZSBhIGhvb2sgdmFyaWFibGUgYnVmZmVyLWxv
Y2FsLgogSW5zdGVhZCwgdXNlIGBhZGQtaG9vaycgYW5kIHNwZWNpZnkgdCBmb3IgdGhlIExP
Q0FMIGFyZ3VtZW50LgpkaWZmIC0tZ2l0IGEvc3JjL2ZpbGVpby5jIGIvc3JjL2ZpbGVpby5j
CmluZGV4IDAzNzJmNDYuLmRmYWIzZGUgMTAwNjQ0Ci0tLSBhL3NyYy9maWxlaW8uYworKysg
Yi9zcmMvZmlsZWlvLmMKQEAgLTYsOCArNiw4IEBAIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdO
VSBFbWFjcy4KIAogR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0
cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci10aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgot
KGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KK3RoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdAor
eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogCiBHTlUgRW1hY3MgaXMgZGlzdHJp
YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIGJ1dCBXSVRIT1VU
IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCkBA
IC00NTAsNyArNDUwLDcgQEAgREVGVU4gKCJ1bmhhbmRsZWQtZmlsZS1uYW1lLWRpcmVjdG9y
eSIsIEZ1bmhhbmRsZWRfZmlsZV9uYW1lX2RpcmVjdG9yeSwKIEEgYGRpcmVjdGx5IHVzYWJs
ZScgZGlyZWN0b3J5IG5hbWUgaXMgb25lIHRoYXQgbWF5IGJlIHVzZWQgd2l0aG91dCB0aGUK
IGludGVydmVudGlvbiBvZiBhbnkgZmlsZSBoYW5kbGVyLgogSWYgRklMRU5BTUUgaXMgYSBk
aXJlY3RseSB1c2FibGUgZmlsZSBpdHNlbGYsIHJldHVybgotKGZpbGUtbmFtZS1hcy1kaXJl
Y3RvcnkgRklMRU5BTUUpLgorXChmaWxlLW5hbWUtYXMtZGlyZWN0b3J5IEZJTEVOQU1FKS4K
IElmIEZJTEVOQU1FIHJlZmVycyB0byBhIGZpbGUgd2hpY2ggaXMgbm90IGFjY2Vzc2libGUg
ZnJvbSBhIGxvY2FsIHByb2Nlc3MsCiB0aGVuIHRoaXMgc2hvdWxkIHJldHVybiBuaWwuCiBU
aGUgYGNhbGwtcHJvY2VzcycgYW5kIGBzdGFydC1wcm9jZXNzJyBmdW5jdGlvbnMgdXNlIHRo
aXMgZnVuY3Rpb24gdG8KQEAgLTc0MSw3ICs3NDEsNyBAQCBERUZVTiAoIm1ha2UtdGVtcC1u
YW1lIiwgRm1ha2VfdGVtcF9uYW1lLCBTbWFrZV90ZW1wX25hbWUsIDEsIDEsIDAsCiAgICAg
ICAgZG9jOiAvKiBHZW5lcmF0ZSB0ZW1wb3JhcnkgZmlsZSBuYW1lIChzdHJpbmcpIHN0YXJ0
aW5nIHdpdGggUFJFRklYIChhIHN0cmluZykuCiBUaGUgRW1hY3MgcHJvY2VzcyBudW1iZXIg
Zm9ybXMgcGFydCBvZiB0aGUgcmVzdWx0LCBzbyB0aGVyZSBpcyBubwogZGFuZ2VyIG9mIGdl
bmVyYXRpbmcgYSBuYW1lIGJlaW5nIHVzZWQgYnkgYW5vdGhlciBFbWFjcyBwcm9jZXNzCi0o
c28gbG9uZyBhcyBvbmx5IGEgc2luZ2xlIGhvc3QgY2FuIGFjY2VzcyB0aGUgY29udGFpbmlu
ZyBkaXJlY3RvcnkuLi4pLgorXChzbyBsb25nIGFzIG9ubHkgYSBzaW5nbGUgaG9zdCBjYW4g
YWNjZXNzIHRoZSBjb250YWluaW5nIGRpcmVjdG9yeS4uLikuCiAKIFRoaXMgZnVuY3Rpb24g
dHJpZXMgdG8gY2hvb3NlIGEgbmFtZSB0aGF0IGhhcyBubyBleGlzdGluZyBmaWxlLgogRm9y
IHRoaXMgdG8gd29yaywgUFJFRklYIHNob3VsZCBiZSBhbiBhYnNvbHV0ZSBmaWxlIG5hbWUu
CkBAIC03NTcsNyArNzU3LDcgQEAgbm9ybWFsbHkgdXNlIGBtYWtlLXRlbXAtZmlsZScgaW5z
dGVhZC4gICovKQogREVGVU4gKCJleHBhbmQtZmlsZS1uYW1lIiwgRmV4cGFuZF9maWxlX25h
bWUsIFNleHBhbmRfZmlsZV9uYW1lLCAxLCAyLCAwLAogICAgICAgIGRvYzogLyogQ29udmVy
dCBmaWxlbmFtZSBOQU1FIHRvIGFic29sdXRlLCBhbmQgY2Fub25pY2FsaXplIGl0LgogU2Vj
b25kIGFyZyBERUZBVUxULURJUkVDVE9SWSBpcyBkaXJlY3RvcnkgdG8gc3RhcnQgd2l0aCBp
ZiBOQU1FIGlzIHJlbGF0aXZlCi0oZG9lcyBub3Qgc3RhcnQgd2l0aCBzbGFzaCBvciB0aWxk
ZSk7IGJvdGggdGhlIGRpcmVjdG9yeSBuYW1lIGFuZAorXChkb2VzIG5vdCBzdGFydCB3aXRo
IHNsYXNoIG9yIHRpbGRlKTsgYm90aCB0aGUgZGlyZWN0b3J5IG5hbWUgYW5kCiBhIGRpcmVj
dG9yeSdzIGZpbGUgbmFtZSBhcmUgYWNjZXB0ZWQuICBJZiBERUZBVUxULURJUkVDVE9SWSBp
cyBuaWwgb3IKIG1pc3NpbmcsIHRoZSBjdXJyZW50IGJ1ZmZlcidzIHZhbHVlIG9mIGBkZWZh
dWx0LWRpcmVjdG9yeScgaXMgdXNlZC4KIE5BTUUgc2hvdWxkIGJlIGEgc3RyaW5nIHRoYXQg
aXMgYSB2YWxpZCBmaWxlIG5hbWUgZm9yIHRoZSB1bmRlcmx5aW5nCkBAIC03NzUsOCArNzc1
LDggQEAgU2VlIGFsc28gdGhlIGZ1bmN0aW9uIGBzdWJzdGl0dXRlLWluLWZpbGUtbmFtZScu
CiAKIEZvciB0ZWNobmljYWwgcmVhc29ucywgdGhpcyBmdW5jdGlvbiBjYW4gcmV0dXJuIGNv
cnJlY3QgYnV0CiBub24taW50dWl0aXZlIHJlc3VsdHMgZm9yIHRoZSByb290IGRpcmVjdG9y
eTsgZm9yIGluc3RhbmNlLAotKGV4cGFuZC1maWxlLW5hbWUgIi4uIiAiLyIpIHJldHVybnMg
Ii8uLiIuICBGb3IgdGhpcyByZWFzb24sIHVzZQotKGRpcmVjdG9yeS1maWxlLW5hbWUgKGZp
bGUtbmFtZS1kaXJlY3RvcnkgZGlybmFtZSkpIHRvIHRyYXZlcnNlIGEKK1woZXhwYW5kLWZp
bGUtbmFtZSAiLi4iICIvIikgcmV0dXJucyAiLy4uIi4gIEZvciB0aGlzIHJlYXNvbiwgdXNl
CitcKGRpcmVjdG9yeS1maWxlLW5hbWUgKGZpbGUtbmFtZS1kaXJlY3RvcnkgZGlybmFtZSkp
IHRvIHRyYXZlcnNlIGEKIGZpbGVzeXN0ZW0gdHJlZSwgbm90IChleHBhbmQtZmlsZS1uYW1l
ICIuLiIgIGRpcm5hbWUpLiAgKi8pCiAgIChMaXNwX09iamVjdCBuYW1lLCBMaXNwX09iamVj
dCBkZWZhdWx0X2RpcmVjdG9yeSkKIHsKQEAgLTE0NTksNyArMTQ1OSw3IEBAIGZpbGVzeXN0
ZW0gdHJlZSwgbm90IChleHBhbmQtZmlsZS1uYW1lICIuLiIgIGRpcm5hbWUpLiAgKi8pCiBE
RUFGVU4gKCJleHBhbmQtZmlsZS1uYW1lIiwgRmV4cGFuZF9maWxlX25hbWUsIFNleHBhbmRf
ZmlsZV9uYW1lLCAxLCAyLCAwLAogICAiQ29udmVydCBGSUxFTkFNRSB0byBhYnNvbHV0ZSwg
YW5kIGNhbm9uaWNhbGl6ZSBpdC5cblwKIFNlY29uZCBhcmcgREVGQVVMVCBpcyBkaXJlY3Rv
cnkgdG8gc3RhcnQgd2l0aCBpZiBGSUxFTkFNRSBpcyByZWxhdGl2ZVxuXAotKGRvZXMgbm90
IHN0YXJ0IHdpdGggc2xhc2gpOyBpZiBERUZBVUxUIGlzIG5pbCBvciBtaXNzaW5nLFxuXAor
XChkb2VzIG5vdCBzdGFydCB3aXRoIHNsYXNoKTsgaWYgREVGQVVMVCBpcyBuaWwgb3IgbWlz
c2luZyxcblwKIHRoZSBjdXJyZW50IGJ1ZmZlcidzIHZhbHVlIG9mIGRlZmF1bHQtZGlyZWN0
b3J5IGlzIHVzZWQuXG5cCiBGaWxlbmFtZXMgY29udGFpbmluZyBgLicgb3IgYC4uJyBhcyBj
b21wb25lbnRzIGFyZSBzaW1wbGlmaWVkO1xuXAogaW5pdGlhbCBgfi8nIGV4cGFuZHMgdG8g
eW91ciBob21lIGRpcmVjdG9yeS5cblwKQEAgLTI0NjgsNyArMjQ2OCw3IEBAIFVzZSBgZmls
ZS1zeW1saW5rLXAnIHRvIHRlc3QgZm9yIHN1Y2ggbGlua3MuICAqLykKIERFRlVOICgiZmls
ZS1leGVjdXRhYmxlLXAiLCBGZmlsZV9leGVjdXRhYmxlX3AsIFNmaWxlX2V4ZWN1dGFibGVf
cCwgMSwgMSwgMCwKICAgICAgICBkb2M6IC8qIFJldHVybiB0IGlmIEZJTEVOQU1FIGNhbiBi
ZSBleGVjdXRlZCBieSB5b3UuCiBGb3IgYSBkaXJlY3RvcnksIHRoaXMgbWVhbnMgeW91IGNh
biBhY2Nlc3MgZmlsZXMgaW4gdGhhdCBkaXJlY3RvcnkuCi0oSXQgaXMgZ2VuZXJhbGx5IGJl
dHRlciB0byB1c2UgYGZpbGUtYWNjZXNzaWJsZS1kaXJlY3RvcnktcCcgZm9yIHRoYXQKK1wo
SXQgaXMgZ2VuZXJhbGx5IGJldHRlciB0byB1c2UgYGZpbGUtYWNjZXNzaWJsZS1kaXJlY3Rv
cnktcCcgZm9yIHRoYXQKIHB1cnBvc2UsIHRob3VnaC4pICAqLykKICAgKExpc3BfT2JqZWN0
IGZpbGVuYW1lKQogewpAQCAtNTMyOSw4ICs1MzI5LDggQEAgREVGVU4gKCJzZXQtdmlzaXRl
ZC1maWxlLW1vZHRpbWUiLCBGc2V0X3Zpc2l0ZWRfZmlsZV9tb2R0aW1lLAogVXNlZnVsIGlm
IHRoZSBidWZmZXIgd2FzIG5vdCByZWFkIGZyb20gdGhlIGZpbGUgbm9ybWFsbHkKIG9yIGlm
IHRoZSBmaWxlIGl0c2VsZiBoYXMgYmVlbiBjaGFuZ2VkIGZvciBzb21lIGtub3duIGJlbmln
biByZWFzb24uCiBBbiBhcmd1bWVudCBzcGVjaWZpZXMgdGhlIG1vZGlmaWNhdGlvbiB0aW1l
IHZhbHVlIHRvIHVzZQotKGluc3RlYWQgb2YgdGhhdCBvZiB0aGUgdmlzaXRlZCBmaWxlKSwg
aW4gdGhlIGZvcm0gb2YgYSBsaXN0Ci0oSElHSCBMT1cgVVNFQyBQU0VDKSBvciBhbiBpbnRl
Z2VyIGZsYWcgYXMgcmV0dXJuZWQgYnkKK1woaW5zdGVhZCBvZiB0aGF0IG9mIHRoZSB2aXNp
dGVkIGZpbGUpLCBpbiB0aGUgZm9ybSBvZiBhIGxpc3QKK1woSElHSCBMT1cgVVNFQyBQU0VD
KSBvciBhbiBpbnRlZ2VyIGZsYWcgYXMgcmV0dXJuZWQgYnkKIGB2aXNpdGVkLWZpbGUtbW9k
dGltZScuICAqLykKICAgKExpc3BfT2JqZWN0IHRpbWVfZmxhZykKIHsKZGlmZiAtLWdpdCBh
L3NyYy9maWxlbG9jay5jIGIvc3JjL2ZpbGVsb2NrLmMKaW5kZXggMWIzMmI5My4uYmMzYTYy
MCAxMDA2NDQKLS0tIGEvc3JjL2ZpbGVsb2NrLmMKKysrIGIvc3JjL2ZpbGVsb2NrLmMKQEAg
LTEwLDggKzEwLDggQEAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLgogCiBHTlUg
RW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
IG1vZGlmeQogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s
IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0oYXQgeW91ciBvcHRpb24p
IGFueSBsYXRlciB2ZXJzaW9uLgordGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0
aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cit5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCiAKIEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w
ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3
aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKZGlmZiAtLWdpdCBhL3NyYy9m
aXJzdGZpbGUuYyBiL3NyYy9maXJzdGZpbGUuYwppbmRleCA2OGVmZmViLi4xODhkNGY4IDEw
MDY0NAotLS0gYS9zcmMvZmlyc3RmaWxlLmMKKysrIGIvc3JjL2ZpcnN0ZmlsZS5jCkBAIC01
LDggKzUsOCBAQCBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3MuCiAKIEdOVSBFbWFj
cyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9k
aWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlIGFzIHB1Ymxpc2hlZCBieQotdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0
aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLShhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIg
dmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQKK3lvdXIgb3B0aW9uKSBhbnkgbGF0
ZXIgdmVyc2lvbi4KIAogR05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo
YXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv
dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpkaWZmIC0tZ2l0IGEvc3JjL2Zsb2F0
Zm5zLmMgYi9zcmMvZmxvYXRmbnMuYwppbmRleCBjZjQ4NWI2Li5iOWFmMDNiIDEwMDY0NAot
LS0gYS9zcmMvZmxvYXRmbnMuYworKysgYi9zcmMvZmxvYXRmbnMuYwpAQCAtMywxNSArMywx
NSBAQAogQ29weXJpZ2h0IChDKSAxOTg4LCAxOTkzLTE5OTQsIDE5OTksIDIwMDEtMjAxNiBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sCiBJbmMuCiAKLUF1dGhvcjogV29sZmdhbmcgUnVw
cHJlY2h0Ci0oYWNjb3JkaW5nIHRvIGFjay50ZXhpKQorQXV0aG9yOiBXb2xmZ2FuZyBSdXBw
cmVjaHQgKGFjCitvcmRpbmcgdG8gYWNrLnRleGkpCiAKIFRoaXMgZmlsZSBpcyBwYXJ0IG9m
IEdOVSBFbWFjcy4KIAogR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg
R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci10aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBv
cgotKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KK3RoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChh
dAoreW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogCiBHTlUgRW1hY3MgaXMgZGlz
dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIGJ1dCBXSVRI
T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m
CkBAIC0xNzAsNyArMTcwLDcgQEAgQ2F1c2UgYW4gZXJyb3IgaWYgWDEgb3IgWDIgaXMgbm90
IGEgZmxvYXQuICAqLykKIERFRlVOICgiZnJleHAiLCBGZnJleHAsIFNmcmV4cCwgMSwgMSwg
MCwKICAgICAgICBkb2M6IC8qIEdldCBzaWduaWZpY2FuZCBhbmQgZXhwb25lbnQgb2YgYSBm
bG9hdGluZyBwb2ludCBudW1iZXIuCiBCcmVha3MgdGhlIGZsb2F0aW5nIHBvaW50IG51bWJl
ciBYIGludG8gaXRzIGJpbmFyeSBzaWduaWZpY2FuZCBTR05GQ0FORAotKGEgZmxvYXRpbmcg
cG9pbnQgdmFsdWUgYmV0d2VlbiAwLjUgKGluY2x1ZGVkKSBhbmQgMS4wIChleGNsdWRlZCkp
CitcKGEgZmxvYXRpbmcgcG9pbnQgdmFsdWUgYmV0d2VlbiAwLjUgKGluY2x1ZGVkKSBhbmQg
MS4wIChleGNsdWRlZCkpCiBhbmQgYW4gaW50ZWdyYWwgZXhwb25lbnQgRVhQIGZvciAyLCBz
dWNoIHRoYXQ6CiAKICAgWCA9IFNHTkZDQU5EICogMl5FWFAKQEAgLTQ5MSw3ICs0OTEsNyBA
QCBmbW9kX2Zsb2F0IChMaXNwX09iamVjdCB4LCBMaXNwX09iamVjdCB5KQogDAogREVGVU4g
KCJmY2VpbGluZyIsIEZmY2VpbGluZywgU2ZjZWlsaW5nLCAxLCAxLCAwLAogICAgICAgIGRv
YzogLyogUmV0dXJuIHRoZSBzbWFsbGVzdCBpbnRlZ2VyIG5vIGxlc3MgdGhhbiBBUkcsIGFz
IGEgZmxvYXQuCi0oUm91bmQgdG93YXJkICtpbmYuKSAgKi8pCitcKFJvdW5kIHRvd2FyZCAr
aW5mLikgICovKQogICAoTGlzcF9PYmplY3QgYXJnKQogewogICBkb3VibGUgZCA9IGV4dHJh
Y3RfZmxvYXQgKGFyZyk7CkBAIC01MDEsNyArNTAxLDcgQEAgREVGVU4gKCJmY2VpbGluZyIs
IEZmY2VpbGluZywgU2ZjZWlsaW5nLCAxLCAxLCAwLAogCiBERUZVTiAoImZmbG9vciIsIEZm
Zmxvb3IsIFNmZmxvb3IsIDEsIDEsIDAsCiAgICAgICAgZG9jOiAvKiBSZXR1cm4gdGhlIGxh
cmdlc3QgaW50ZWdlciBubyBncmVhdGVyIHRoYW4gQVJHLCBhcyBhIGZsb2F0LgotKFJvdW5k
IHRvd2FyZHMgLWluZi4pICAqLykKK1woUm91bmQgdG93YXJkcyAtaW5mLikgICovKQogICAo
TGlzcF9PYmplY3QgYXJnKQogewogICBkb3VibGUgZCA9IGV4dHJhY3RfZmxvYXQgKGFyZyk7
CmRpZmYgLS1naXQgYS9zcmMvZm5zLmMgYi9zcmMvZm5zLmMKaW5kZXggODZhZDMzMy4uNDdl
ZDJkOCAxMDA2NDQKLS0tIGEvc3JjL2Zucy5jCisrKyBiL3NyYy9mbnMuYwpAQCAtNyw4ICs3
LDggQEAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLgogCiBHTlUgRW1hY3MgaXMg
ZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQog
aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBh
cyBwdWJsaXNoZWQgYnkKLXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2
ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0oYXQgeW91ciBvcHRpb24pIGFueSBsYXRl
ciB2ZXJzaW9uLgordGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNp
b24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cit5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCiAKIEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0
IHdpbGwgYmUgdXNlZnVsLAogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2
ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKQEAgLTIxNiw3ICsyMTYsNyBAQCBERUZVTiAo
ImNvbXBhcmUtc3RyaW5ncyIsIEZjb21wYXJlX3N0cmluZ3MsIFNjb21wYXJlX3N0cmluZ3Ms
IDYsIDcsIDAsCiBUaGUgYXJndW1lbnRzIFNUQVJUMSwgRU5EMSwgU1RBUlQyLCBhbmQgRU5E
MiwgaWYgbm9uLW5pbCwgYXJlCiBwb3NpdGlvbnMgc3BlY2lmeWluZyB3aGljaCBwYXJ0cyBv
ZiBTVFIxIG9yIFNUUjIgdG8gY29tcGFyZS4gIEluCiBzdHJpbmcgU1RSMSwgY29tcGFyZSB0
aGUgcGFydCBiZXR3ZWVuIFNUQVJUMSAoaW5jbHVzaXZlKSBhbmQgRU5EMQotKGV4Y2x1c2l2
ZSkuICBJZiBTVEFSVDEgaXMgbmlsLCBpdCBkZWZhdWx0cyB0byAwLCB0aGUgYmVnaW5uaW5n
IG9mCitcKGV4Y2x1c2l2ZSkuICBJZiBTVEFSVDEgaXMgbmlsLCBpdCBkZWZhdWx0cyB0byAw
LCB0aGUgYmVnaW5uaW5nIG9mCiB0aGUgc3RyaW5nOyBpZiBFTkQxIGlzIG5pbCwgaXQgZGVm
YXVsdHMgdG8gdGhlIGxlbmd0aCBvZiB0aGUgc3RyaW5nLgogTGlrZXdpc2UsIGluIHN0cmlu
ZyBTVFIyLCBjb21wYXJlIHRoZSBwYXJ0IGJldHdlZW4gU1RBUlQyIGFuZCBFTkQyLgogTGlr
ZSBpbiBgc3Vic3RyaW5nJywgbmVnYXRpdmUgdmFsdWVzIGFyZSBjb3VudGVkIGZyb20gdGhl
IGVuZC4KQEAgLTMzOSw3ICszMzksNyBAQCBUaGlzIGZ1bmN0aW9uIG9iZXlzIHRoZSBjb252
ZW50aW9ucyBmb3IgY29sbGF0aW9uIG9yZGVyIGluIHlvdXIKIGxvY2FsZSBzZXR0aW5ncy4g
IEZvciBleGFtcGxlLCBwdW5jdHVhdGlvbiBhbmQgd2hpdGVzcGFjZSBjaGFyYWN0ZXJzCiBt
aWdodCBiZSBjb25zaWRlcmVkIGxlc3Mgc2lnbmlmaWNhbnQgZm9yIHNvcnRpbmc6CiAKLShz
b3J0IFxcPScoIjExIiAiMTIiICIxIDEiICIxIDIiICIxLjEiICIxLjIiKSBcXD0nc3RyaW5n
LWNvbGxhdGUtbGVzc3ApCitcKHNvcnQgXFw9JygiMTEiICIxMiIgIjEgMSIgIjEgMiIgIjEu
MSIgIjEuMiIpIFxcPSdzdHJpbmctY29sbGF0ZS1sZXNzcCkKICAgPT4gKCIxMSIgIjEgMSIg
IjEuMSIgIjEyIiAiMSAyIiAiMS4yIikKIAogVGhlIG9wdGlvbmFsIGFyZ3VtZW50IExPQ0FM
RSwgYSBzdHJpbmcsIG92ZXJyaWRlcyB0aGUgc2V0dGluZyBvZiB5b3VyCkBAIC0zODUsNyAr
Mzg1LDcgQEAgc2V0dGluZ3MuICBGb3IgZXhhbXBsZSwgY2hhcmFjdGVycyB3aXRoIGRpZmZl
cmVudCBjb2RpbmcgcG9pbnRzIGJ1dAogdGhlIHNhbWUgbWVhbmluZyBtaWdodCBiZSBjb25z
aWRlcmVkIGFzIGVxdWFsLCBsaWtlIGRpZmZlcmVudCBncmF2ZQogYWNjZW50IFVuaWNvZGUg
Y2hhcmFjdGVyczoKIAotKHN0cmluZy1jb2xsYXRlLWVxdWFscCAoc3RyaW5nID9cXHVGRjQw
KSAoc3RyaW5nID9cXHUxRkVGKSkKK1woc3RyaW5nLWNvbGxhdGUtZXF1YWxwIChzdHJpbmcg
P1xcdUZGNDApIChzdHJpbmcgP1xcdTFGRUYpKQogICA9PiB0CiAKIFRoZSBvcHRpb25hbCBh
cmd1bWVudCBMT0NBTEUsIGEgc3RyaW5nLCBvdmVycmlkZXMgdGhlIHNldHRpbmcgb2YgeW91
cgpAQCAtMTAxOCw3ICsxMDE4LDcgQEAgdG8gYSBtdWx0aWJ5dGUgY2hhcmFjdGVyLiAgSW4g
dGhpcyBjYXNlLCB0aGUgcmV0dXJuZWQgc3RyaW5nIGlzIGEKIG5ld2x5IGNyZWF0ZWQgc3Ry
aW5nIHdpdGggbm8gdGV4dCBwcm9wZXJ0aWVzLiAgSWYgU1RSSU5HIGlzIG11bHRpYnl0ZQog
b3IgZW50aXJlbHkgQVNDSUksIGl0IGlzIHJldHVybmVkIHVuY2hhbmdlZC4gIEluIHBhcnRp
Y3VsYXIsIHdoZW4KIFNUUklORyBpcyB1bmlieXRlIGFuZCBlbnRpcmVseSBBU0NJSSwgdGhl
IHJldHVybmVkIHN0cmluZyBpcyB1bmlieXRlLgotKFdoZW4gdGhlIGNoYXJhY3RlcnMgYXJl
IGFsbCBBU0NJSSwgRW1hY3MgcHJpbWl0aXZlcyB3aWxsIHRyZWF0IHRoZQorXChXaGVuIHRo
ZSBjaGFyYWN0ZXJzIGFyZSBhbGwgQVNDSUksIEVtYWNzIHByaW1pdGl2ZXMgd2lsbCB0cmVh
dCB0aGUKIHN0cmluZyB0aGUgc2FtZSB3YXkgd2hldGhlciBpdCBpcyB1bmlieXRlIG9yIG11
bHRpYnl0ZS4pICAqLykKICAgKExpc3BfT2JqZWN0IHN0cmluZykKIHsKQEAgLTEyMTcsMTQg
KzEyMTcsMTQgQEAgdmFsaWRhdGVfc3ViYXJyYXkgKExpc3BfT2JqZWN0IGFycmF5LCBMaXNw
X09iamVjdCBmcm9tLCBMaXNwX09iamVjdCB0bywKIERFRlVOICgic3Vic3RyaW5nIiwgRnN1
YnN0cmluZywgU3N1YnN0cmluZywgMSwgMywgMCwKICAgICAgICBkb2M6IC8qIFJldHVybiBh
IG5ldyBzdHJpbmcgd2hvc2UgY29udGVudHMgYXJlIGEgc3Vic3RyaW5nIG9mIFNUUklORy4K
IFRoZSByZXR1cm5lZCBzdHJpbmcgY29uc2lzdHMgb2YgdGhlIGNoYXJhY3RlcnMgYmV0d2Vl
biBpbmRleCBGUk9NCi0oaW5jbHVzaXZlKSBhbmQgaW5kZXggVE8gKGV4Y2x1c2l2ZSkgb2Yg
U1RSSU5HLiAgRlJPTSBhbmQgVE8gYXJlCitcKGluY2x1c2l2ZSkgYW5kIGluZGV4IFRPIChl
eGNsdXNpdmUpIG9mIFNUUklORy4gIEZST00gYW5kIFRPIGFyZQogemVyby1pbmRleGVkOiAw
IG1lYW5zIHRoZSBmaXJzdCBjaGFyYWN0ZXIgb2YgU1RSSU5HLiAgTmVnYXRpdmUgdmFsdWVz
CiBhcmUgY291bnRlZCBmcm9tIHRoZSBlbmQgb2YgU1RSSU5HLiAgSWYgVE8gaXMgbmlsLCB0
aGUgc3Vic3RyaW5nIHJ1bnMKIHRvIHRoZSBlbmQgb2YgU1RSSU5HLgogCiBUaGUgU1RSSU5H
IGFyZ3VtZW50IG1heSBhbHNvIGJlIGEgdmVjdG9yLiAgSW4gdGhhdCBjYXNlLCB0aGUgcmV0
dXJuCiB2YWx1ZSBpcyBhIG5ldyB2ZWN0b3IgdGhhdCBjb250YWlucyB0aGUgZWxlbWVudHMg
YmV0d2VlbiBpbmRleCBGUk9NCi0oaW5jbHVzaXZlKSBhbmQgaW5kZXggVE8gKGV4Y2x1c2l2
ZSkgb2YgdGhhdCB2ZWN0b3IgYXJndW1lbnQuCitcKGluY2x1c2l2ZSkgYW5kIGluZGV4IFRP
IChleGNsdXNpdmUpIG9mIHRoYXQgdmVjdG9yIGFyZ3VtZW50LgogCiBXaXRoIG9uZSBhcmd1
bWVudCwganVzdCBjb3B5IFNUUklORyAod2l0aCBwcm9wZXJ0aWVzLCBpZiBhbnkpLiAgKi8p
CiAgIChMaXNwX09iamVjdCBzdHJpbmcsIExpc3BfT2JqZWN0IGZyb20sIExpc3BfT2JqZWN0
IHRvKQpAQCAtMjA0NCw3ICsyMDQ0LDcgQEAgbWVyZ2UgKExpc3BfT2JqZWN0IG9yZ19sMSwg
TGlzcF9PYmplY3Qgb3JnX2wyLCBMaXNwX09iamVjdCBwcmVkKQogREVGVU4gKCJwbGlzdC1n
ZXQiLCBGcGxpc3RfZ2V0LCBTcGxpc3RfZ2V0LCAyLCAyLCAwLAogICAgICAgIGRvYzogLyog
RXh0cmFjdCBhIHZhbHVlIGZyb20gYSBwcm9wZXJ0eSBsaXN0LgogUExJU1QgaXMgYSBwcm9w
ZXJ0eSBsaXN0LCB3aGljaCBpcyBhIGxpc3Qgb2YgdGhlIGZvcm0KLShQUk9QMSBWQUxVRTEg
UFJPUDIgVkFMVUUyLi4uKS4gIFRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgdmFsdWUKK1wo
UFJPUDEgVkFMVUUxIFBST1AyIFZBTFVFMi4uLikuICBUaGlzIGZ1bmN0aW9uIHJldHVybnMg
dGhlIHZhbHVlCiBjb3JyZXNwb25kaW5nIHRvIHRoZSBnaXZlbiBQUk9QLCBvciBuaWwgaWYg
UFJPUCBpcyBub3Qgb25lIG9mIHRoZQogcHJvcGVydGllcyBvbiB0aGUgbGlzdC4gIFRoaXMg
ZnVuY3Rpb24gbmV2ZXIgc2lnbmFscyBhbiBlcnJvci4gICovKQogICAoTGlzcF9PYmplY3Qg
cGxpc3QsIExpc3BfT2JqZWN0IHByb3ApCkBAIC0yMDc5LDcgKzIwNzksNyBAQCBUaGlzIGlz
IHRoZSBsYXN0IHZhbHVlIHN0b3JlZCB3aXRoIGAocHV0IFNZTUJPTCBQUk9QTkFNRSBWQUxV
RSknLiAgKi8pCiBERUZVTiAoInBsaXN0LXB1dCIsIEZwbGlzdF9wdXQsIFNwbGlzdF9wdXQs
IDMsIDMsIDAsCiAgICAgICAgZG9jOiAvKiBDaGFuZ2UgdmFsdWUgaW4gUExJU1Qgb2YgUFJP
UCB0byBWQUwuCiBQTElTVCBpcyBhIHByb3BlcnR5IGxpc3QsIHdoaWNoIGlzIGEgbGlzdCBv
ZiB0aGUgZm9ybQotKFBST1AxIFZBTFVFMSBQUk9QMiBWQUxVRTIgLi4uKS4gIFBST1AgaXMg
YSBzeW1ib2wgYW5kIFZBTCBpcyBhbnkgb2JqZWN0LgorXChQUk9QMSBWQUxVRTEgUFJPUDIg
VkFMVUUyIC4uLikuICBQUk9QIGlzIGEgc3ltYm9sIGFuZCBWQUwgaXMgYW55IG9iamVjdC4K
IElmIFBST1AgaXMgYWxyZWFkeSBhIHByb3BlcnR5IG9uIHRoZSBsaXN0LCBpdHMgdmFsdWUg
aXMgc2V0IHRvIFZBTCwKIG90aGVyd2lzZSB0aGUgbmV3IFBST1AgVkFMIHBhaXIgaXMgYWRk
ZWQuICBUaGUgbmV3IHBsaXN0IGlzIHJldHVybmVkOwogdXNlIGAoc2V0cSB4IChwbGlzdC1w
dXQgeCBwcm9wIHZhbCkpJyB0byBiZSBzdXJlIHRvIHVzZSB0aGUgbmV3IHZhbHVlLgpAQCAt
MjEyMyw3ICsyMTIzLDcgQEAgSXQgY2FuIGJlIHJldHJpZXZlZCB3aXRoIGAoZ2V0IFNZTUJP
TCBQUk9QTkFNRSknLiAgKi8pCiBERUZVTiAoImxheC1wbGlzdC1nZXQiLCBGbGF4X3BsaXN0
X2dldCwgU2xheF9wbGlzdF9nZXQsIDIsIDIsIDAsCiAgICAgICAgZG9jOiAvKiBFeHRyYWN0
IGEgdmFsdWUgZnJvbSBhIHByb3BlcnR5IGxpc3QsIGNvbXBhcmluZyB3aXRoIGBlcXVhbCcu
CiBQTElTVCBpcyBhIHByb3BlcnR5IGxpc3QsIHdoaWNoIGlzIGEgbGlzdCBvZiB0aGUgZm9y
bQotKFBST1AxIFZBTFVFMSBQUk9QMiBWQUxVRTIuLi4pLiAgVGhpcyBmdW5jdGlvbiByZXR1
cm5zIHRoZSB2YWx1ZQorXChQUk9QMSBWQUxVRTEgUFJPUDIgVkFMVUUyLi4uKS4gIFRoaXMg
ZnVuY3Rpb24gcmV0dXJucyB0aGUgdmFsdWUKIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGdpdmVu
IFBST1AsIG9yIG5pbCBpZiBQUk9QIGlzIG5vdAogb25lIG9mIHRoZSBwcm9wZXJ0aWVzIG9u
IHRoZSBsaXN0LiAgKi8pCiAgIChMaXNwX09iamVjdCBwbGlzdCwgTGlzcF9PYmplY3QgcHJv
cCkKQEAgLTIxNDgsNyArMjE0OCw3IEBAIG9uZSBvZiB0aGUgcHJvcGVydGllcyBvbiB0aGUg
bGlzdC4gICovKQogREVGVU4gKCJsYXgtcGxpc3QtcHV0IiwgRmxheF9wbGlzdF9wdXQsIFNs
YXhfcGxpc3RfcHV0LCAzLCAzLCAwLAogICAgICAgIGRvYzogLyogQ2hhbmdlIHZhbHVlIGlu
IFBMSVNUIG9mIFBST1AgdG8gVkFMLCBjb21wYXJpbmcgd2l0aCBgZXF1YWwnLgogUExJU1Qg
aXMgYSBwcm9wZXJ0eSBsaXN0LCB3aGljaCBpcyBhIGxpc3Qgb2YgdGhlIGZvcm0KLShQUk9Q
MSBWQUxVRTEgUFJPUDIgVkFMVUUyIC4uLikuICBQUk9QIGFuZCBWQUwgYXJlIGFueSBvYmpl
Y3RzLgorXChQUk9QMSBWQUxVRTEgUFJPUDIgVkFMVUUyIC4uLikuICBQUk9QIGFuZCBWQUwg
YXJlIGFueSBvYmplY3RzLgogSWYgUFJPUCBpcyBhbHJlYWR5IGEgcHJvcGVydHkgb24gdGhl
IGxpc3QsIGl0cyB2YWx1ZSBpcyBzZXQgdG8gVkFMLAogb3RoZXJ3aXNlIHRoZSBuZXcgUFJP
UCBWQUwgcGFpciBpcyBhZGRlZC4gIFRoZSBuZXcgcGxpc3QgaXMgcmV0dXJuZWQ7CiB1c2Ug
YChzZXRxIHggKGxheC1wbGlzdC1wdXQgeCBwcm9wIHZhbCkpJyB0byBiZSBzdXJlIHRvIHVz
ZSB0aGUgbmV3IHZhbHVlLgpAQCAtMjg2MSw3ICsyODYxLDcgQEAgVGhlIG5vcm1hbCBtZXNz
YWdlcyBhdCBzdGFydCBhbmQgZW5kIG9mIGxvYWRpbmcgRklMRU5BTUUgYXJlIHN1cHByZXNz
ZWQuICAqLykKIERFRlVOICgicGxpc3QtbWVtYmVyIiwgRnBsaXN0X21lbWJlciwgU3BsaXN0
X21lbWJlciwgMiwgMiwgMCwKICAgICAgICBkb2M6IC8qIFJldHVybiBub24tbmlsIGlmIFBM
SVNUIGhhcyB0aGUgcHJvcGVydHkgUFJPUC4KIFBMSVNUIGlzIGEgcHJvcGVydHkgbGlzdCwg
d2hpY2ggaXMgYSBsaXN0IG9mIHRoZSBmb3JtCi0oUFJPUDEgVkFMVUUxIFBST1AyIFZBTFVF
MiAuLi4pLiAgUFJPUCBpcyBhIHN5bWJvbC4KK1woUFJPUDEgVkFMVUUxIFBST1AyIFZBTFVF
MiAuLi4pLiAgUFJPUCBpcyBhIHN5bWJvbC4KIFVubGlrZSBgcGxpc3QtZ2V0JywgdGhpcyBh
bGxvd3MgeW91IHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gYSBtaXNzaW5nCiBwcm9wZXJ0eSBh
bmQgYSBwcm9wZXJ0eSB3aXRoIHRoZSB2YWx1ZSBuaWwuCiBUaGUgdmFsdWUgaXMgYWN0dWFs
bHkgdGhlIHRhaWwgb2YgUExJU1Qgd2hvc2UgY2FyIGlzIFBST1AuICAqLykKZGlmZiAtLWdp
dCBhL3NyYy9mb250LmMgYi9zcmMvZm9udC5jCmluZGV4IDAzOTQ5M2IuLjVhYjNiM2UgMTAw
NjQ0Ci0tLSBhL3NyYy9mb250LmMKKysrIGIvc3JjL2ZvbnQuYwpAQCAtOSw4ICs5LDggQEAg
VGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLgogCiBHTlUgRW1hY3MgaXMgZnJlZSBz
b2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogaXQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJs
aXNoZWQgYnkKLXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9u
IDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0oYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz
aW9uLgordGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBv
ZiB0aGUgTGljZW5zZSwgb3IgKGF0Cit5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u
CiAKIEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg
YmUgdXNlZnVsLAogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl
IGltcGxpZWQgd2FycmFudHkgb2YKQEAgLTQwODYsNyArNDA4Niw3IEBAIERFRlVOICgiZm9u
dC1mYWNlLWF0dHJpYnV0ZXMiLCBGZm9udF9mYWNlX2F0dHJpYnV0ZXMsIFNmb250X2ZhY2Vf
YXR0cmlidXRlcywgMSwKIEZPTlQgaXMgYSBmb250IG5hbWUsIGEgZm9udC1zcGVjLCBhIGZv
bnQtZW50aXR5LCBvciBhIGZvbnQtb2JqZWN0LgogVGhlIHJldHVybiB2YWx1ZSBpcyBhIGxp
c3Qgb2YgdGhlIGZvcm0KIAotKDpmYW1pbHkgRkFNSUxZIDpoZWlnaHQgSEVJR0hUIDp3ZWln
aHQgV0VJR0hUIDpzbGFudCBTTEFOVCA6d2lkdGggV0lEVEgpCitcKDpmYW1pbHkgRkFNSUxZ
IDpoZWlnaHQgSEVJR0hUIDp3ZWlnaHQgV0VJR0hUIDpzbGFudCBTTEFOVCA6d2lkdGggV0lE
VEgpCiAKIHdoZXJlIEZBTUlMWSwgSEVJR0hULCBXRUlHSFQsIFNMQU5ULCBhbmQgV0lEVEgg
YXJlIGZhY2UgYXR0cmlidXRlIHZhbHVlcwogY29tcGF0aWJsZSB3aXRoIGBzZXQtZmFjZS1h
dHRyaWJ1dGUnLiAgU29tZSBvZiB0aGVzZSBrZXktYXR0cmlidXRlIHBhaXJzCkBAIC01Mzc4
LDcgKzUzNzgsNyBAQCB3aGVyZSBFTkNPRElORyBpcyBhIGNoYXJzZXQgb3IgYSBjaGFyLXRh
YmxlLAogYW5kIFJFUEVSVE9SWSBpcyBhIGNoYXJzZXQsIGEgY2hhci10YWJsZSwgb3Igbmls
LgogCiBJZiBFTkNPRElORyBhbmQgUkVQRVJUT1JZIGFyZSB0aGUgc2FtZSwgdGhlIGVsZW1l
bnQgY2FuIGhhdmUgdGhlIGZvcm0KLShSRUdFWFAgLiBFTkNPRElORykuCitcKFJFR0VYUCAu
IEVOQ09ESU5HKS4KIAogRU5DT0RJTkcgaXMgZm9yIGNvbnZlcnRpbmcgYSBjaGFyYWN0ZXIg
dG8gYSBnbHlwaCBjb2RlIG9mIHRoZSBmb250LgogSWYgRU5DT0RJTkcgaXMgYSBjaGFyc2V0
LCBlbmNvZGluZyBhIGNoYXJhY3RlciBieSB0aGUgY2hhcnNldCBnaXZlcwpkaWZmIC0tZ2l0
IGEvc3JjL2ZvbnQuaCBiL3NyYy9mb250LmgKaW5kZXggMzZmZTUxYS4uY2Y0NzcyOSAxMDA2
NDQKLS0tIGEvc3JjL2ZvbnQuaAorKysgYi9zcmMvZm9udC5oCkBAIC04LDggKzgsOCBAQCBU
aGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3MuCiAKIEdOVSBFbWFjcyBpcyBmcmVlIHNv
ZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxp
c2hlZCBieQotdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24g
MyBvZiB0aGUgTGljZW5zZSwgb3IKLShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp
b24uCit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9m
IHRoZSBMaWNlbnNlLCBvciAoYXQKK3lvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K
IAogR05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi
ZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg
aW1wbGllZCB3YXJyYW50eSBvZgpkaWZmIC0tZ2l0IGEvc3JjL2ZvbnRzZXQuYyBiL3NyYy9m
b250c2V0LmMKaW5kZXggMDg0YTliMy4uZGMwMzdhOCAxMDA2NDQKLS0tIGEvc3JjL2ZvbnRz
ZXQuYworKysgYi9zcmMvZm9udHNldC5jCkBAIC0xMyw4ICsxMyw4IEBAIFRoaXMgZmlsZSBp
cyBwYXJ0IG9mIEdOVSBFbWFjcy4KIAogR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlv
dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0IHVuZGVyIHRoZSB0ZXJt
cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci10
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBM
aWNlbnNlLCBvcgotKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KK3RoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vu
c2UsIG9yIChhdAoreW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogCiBHTlUgRW1h
Y3MgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK
IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh
cnJhbnR5IG9mCmRpZmYgLS1naXQgYS9zcmMvZm9udHNldC5oIGIvc3JjL2ZvbnRzZXQuaApp
bmRleCAwNDhhN2Q0Li45MWQ2OTBhIDEwMDY0NAotLS0gYS9zcmMvZm9udHNldC5oCisrKyBi
L3NyYy9mb250c2V0LmgKQEAgLTEyLDggKzEyLDggQEAgVGhpcyBmaWxlIGlzIHBhcnQgb2Yg
R05VIEVtYWNzLgogCiBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRp
c3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH
TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLXRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9y
Ci0oYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgordGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0
Cit5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAKIEdOVSBFbWFjcyBpcyBkaXN0
cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogYnV0IFdJVEhP
VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK
ZGlmZiAtLWdpdCBhL3NyYy9mcmFtZS5jIGIvc3JjL2ZyYW1lLmMKaW5kZXggNGY2MTMzMi4u
NzUxMWQ1MyAxMDA2NDQKLS0tIGEvc3JjL2ZyYW1lLmMKKysrIGIvc3JjL2ZyYW1lLmMKQEAg
LTYsOCArNiw4IEBAIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBFbWFjcy4KIAogR05VIEVt
YWNzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBt
b2RpZnkKIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci10aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBl
aXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKGF0IHlvdXIgb3B0aW9uKSBh
bnkgbGF0ZXIgdmVyc2lvbi4KK3RoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhl
ciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdAoreW91ciBvcHRpb24pIGFueSBs
YXRlciB2ZXJzaW9uLgogCiBHTlUgRW1hY3MgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0
aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCkBAIC01MjI4LDcgKzUyMjgsNyBA
QCBrZWVwIGl0IHVuY2hhbmdlZCBpZiB0aGlzIG9wdGlvbiBpcyBlaXRoZXIgdCBvciBhIGxp
c3QgY29udGFpbmluZwogYHZlcnRpY2FsLXNjcm9sbC1iYXJzJy4KIAogVGhlIGRlZmF1bHQg
dmFsdWUgaXMgXFw9Jyh0b29sLWJhci1saW5lcykgb24gTHVjaWQsIE1vdGlmIGFuZCBXaW5k
b3dzCi0od2hpY2ggbWVhbnMgdGhhdCBhZGRpbmcvcmVtb3ZpbmcgYSB0b29sIGJhciBkb2Vz
IG5vdCBjaGFuZ2UgdGhlIGZyYW1lCitcKHdoaWNoIG1lYW5zIHRoYXQgYWRkaW5nL3JlbW92
aW5nIGEgdG9vbCBiYXIgZG9lcyBub3QgY2hhbmdlIHRoZSBmcmFtZQogaGVpZ2h0KSwgbmls
IG9uIGFsbCBvdGhlciB3aW5kb3cgc3lzdGVtcyBpbmNsdWRpbmcgR1RLKyAod2hpY2ggbWVh
bnMKIHRoYXQgY2hhbmdpbmcgYW55IG9mIHRoZSBwYXJhbWV0ZXJzIGxpc3RlZCBhYm92ZSBt
YXkgY2hhbmdlIHRoZSBzaXplIG9mCiB0aGUgZnJhbWUpLCBhbmQgdCBvdGhlcndpc2UgKHdo
aWNoIG1lYW5zIHRoZSBmcmFtZSBzaXplIG5ldmVyIGNoYW5nZXMKZGlmZiAtLWdpdCBhL3Ny
Yy9mcmFtZS5oIGIvc3JjL2ZyYW1lLmgKaW5kZXggNzFkYWI0Yi4uZjBjZGNkNCAxMDA2NDQK
LS0tIGEvc3JjL2ZyYW1lLmgKKysrIGIvc3JjL2ZyYW1lLmgKQEAgLTUsOCArNSw4IEBAIFRo
aXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBFbWFjcy4KIAogR05VIEVtYWNzIGlzIGZyZWUgc29m
dHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0IHVuZGVy
IHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlz
aGVkIGJ5Ci10aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAz
IG9mIHRoZSBMaWNlbnNlLCBvcgotKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv
bi4KK3RoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2Yg
dGhlIExpY2Vuc2UsIG9yIChhdAoreW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgog
CiBHTlUgRW1hY3MgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl
IHVzZWZ1bCwKIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mCmRpZmYgLS1naXQgYS9zcmMvZnJpbmdlLmMgYi9zcmMvZnJp
bmdlLmMKaW5kZXggNTk3YzY2Ni4uMDYxZjc4NiAxMDA2NDQKLS0tIGEvc3JjL2ZyaW5nZS5j
CisrKyBiL3NyYy9mcmluZ2UuYwpAQCAtNiw4ICs2LDggQEAgVGhpcyBmaWxlIGlzIHBhcnQg
b2YgR05VIEVtYWNzLgogCiBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiBy
ZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo
ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLXRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2Us
IG9yCi0oYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgordGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3Ig
KGF0Cit5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAKIEdOVSBFbWFjcyBpcyBk
aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogYnV0IFdJ
VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg
b2YKQEAgLTE3MDEsNyArMTcwMSw3IEBAIHN5bXNfb2ZfZnJpbmdlICh2b2lkKQogICBERUZW
QVJfTElTUCAoIm92ZXJmbG93LW5ld2xpbmUtaW50by1mcmluZ2UiLCBWb3ZlcmZsb3dfbmV3
bGluZV9pbnRvX2ZyaW5nZSwKICAgICBkb2M6IC8qIE5vbi1uaWwgbWVhbnMgdGhhdCBuZXds
aW5lIG1heSBmbG93IGludG8gdGhlIHJpZ2h0IGZyaW5nZS4KIFRoaXMgbWVhbnMgdGhhdCBk
aXNwbGF5IGxpbmVzIHdoaWNoIGFyZSBleGFjdGx5IGFzIHdpZGUgYXMgdGhlIHdpbmRvdwot
KG5vdCBjb3VudGluZyB0aGUgZmluYWwgbmV3bGluZSkgd2lsbCBvbmx5IG9jY3VweSBvbmUg
c2NyZWVuIGxpbmUsIGJ5CitcKG5vdCBjb3VudGluZyB0aGUgZmluYWwgbmV3bGluZSkgd2ls
bCBvbmx5IG9jY3VweSBvbmUgc2NyZWVuIGxpbmUsIGJ5CiBzaG93aW5nIChvciBoaWRpbmcp
IHRoZSBmaW5hbCBuZXdsaW5lIGluIHRoZSByaWdodCBmcmluZ2U7IHdoZW4gcG9pbnQKIGlz
IGF0IHRoZSBmaW5hbCBuZXdsaW5lLCB0aGUgY3Vyc29yIGlzIHNob3duIGluIHRoZSByaWdo
dCBmcmluZ2UuCiBJZiBuaWwsIGFsc28gY29udGludWUgbGluZXMgd2hpY2ggYXJlIGV4YWN0
bHkgYXMgd2lkZSBhcyB0aGUgd2luZG93LiAgKi8pOwpkaWZmIC0tZ2l0IGEvc3JjL2Z0Y3Jm
b250LmMgYi9zcmMvZnRjcmZvbnQuYwppbmRleCBmN2IxZTdkLi4yNjc2NTAyIDEwMDY0NAot
LS0gYS9zcmMvZnRjcmZvbnQuYworKysgYi9zcmMvZnRjcmZvbnQuYwpAQCAtNSw4ICs1LDgg
QEAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLgogCiBHTlUgRW1hY3MgaXMgZnJl
ZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogaXQg
dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBw
dWJsaXNoZWQgYnkKLXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJz
aW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0oYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2
ZXJzaW9uLgordGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24g
MyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cit5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp
b24uCiAKIEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp
bGwgYmUgdXNlZnVsLAogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g
dGhlIGltcGxpZWQgd2FycmFudHkgb2YKZGlmZiAtLWdpdCBhL3NyYy9mdGZvbnQuYyBiL3Ny
Yy9mdGZvbnQuYwppbmRleCA1MDVkNTA4Li5hNDAyMjQ1IDEwMDY0NAotLS0gYS9zcmMvZnRm
b250LmMKKysrIGIvc3JjL2Z0Zm9udC5jCkBAIC04LDggKzgsOCBAQCBUaGlzIGZpbGUgaXMg
cGFydCBvZiBHTlUgRW1hY3MuCiAKIEdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMg
b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGlj
ZW5zZSwgb3IKLShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCit0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNl
LCBvciAoYXQKK3lvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIAogR05VIEVtYWNz
IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBi
dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy
YW50eSBvZgpkaWZmIC0tZ2l0IGEvc3JjL2Z0Zm9udC5oIGIvc3JjL2Z0Zm9udC5oCmluZGV4
IDBjZmEwYWUuLjkwYWJiNDUgMTAwNjQ0Ci0tLSBhL3NyYy9mdGZvbnQuaAorKysgYi9zcmMv
ZnRmb250LmgKQEAgLTcsOCArNyw4IEBAIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBFbWFj
cy4KIAogR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vciBtb2RpZnkKIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVy
YWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci10aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKGF0IHlv
dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KK3RoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdAoreW91ciBv
cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogCiBHTlUgRW1hY3MgaXMgZGlzdHJpYnV0ZWQg
aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIGJ1dCBXSVRIT1VUIEFOWSBX
QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCkBAIC00NCw0
ICs0NCwzIEBAIGV4dGVybiBMaXNwX09iamVjdCBmdGZvbnRfb3BlbjIgKHN0cnVjdCBmcmFt
ZSAqZiwKIGV4dGVybiBzaXplX3QgZnRmb250X2luZm9fc2l6ZTsKIAogI2VuZGlmCS8qIEVN
QUNTX0ZURk9OVF9IICovCi0KZGlmZiAtLWdpdCBhL3NyYy9mdHhmb250LmMgYi9zcmMvZnR4
Zm9udC5jCmluZGV4IGFkZjBkMjkuLmY0OWQ0NGYgMTAwNjQ0Ci0tLSBhL3NyYy9mdHhmb250
LmMKKysrIGIvc3JjL2Z0eGZvbnQuYwpAQCAtOCw4ICs4LDggQEAgVGhpcyBmaWxlIGlzIHBh
cnQgb2YgR05VIEVtYWNzLgogCiBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNh
biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogaXQgdW5kZXIgdGhlIHRlcm1zIG9m
IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLXRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vu
c2UsIG9yCi0oYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgordGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwg
b3IgKGF0Cit5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAKIEdOVSBFbWFjcyBp
cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogYnV0
IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu
dHkgb2YKZGlmZiAtLWdpdCBhL3NyYy9nZXRwYWdlc2l6ZS5oIGIvc3JjL2dldHBhZ2VzaXpl
LmgKaW5kZXggZTQ2NDE1My4uZmU4M2FlOCAxMDA2NDQKLS0tIGEvc3JjL2dldHBhZ2VzaXpl
LmgKKysrIGIvc3JjL2dldHBhZ2VzaXplLmgKQEAgLTYsOCArNiw4IEBAIFRoaXMgZmlsZSBp
cyBwYXJ0IG9mIEdOVSBFbWFjcy4KIAogR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlv
dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0IHVuZGVyIHRoZSB0ZXJt
cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci10
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBM
aWNlbnNlLCBvcgotKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KK3RoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vu
c2UsIG9yIChhdAoreW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogCiBHTlUgRW1h
Y3MgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK
IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh
cnJhbnR5IG9mCkBAIC00Niw0ICs0NiwzIEBAIGFsb25nIHdpdGggR05VIEVtYWNzLiAgSWYg
bm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8KICMgZW5kaWYg
Lyogbm8gX1NDX1BBR0VTSVpFICovCiAKICNlbmRpZiAvKiBubyBIQVZFX0dFVFBBR0VTSVpF
ICovCi0KZGlmZiAtLWdpdCBhL3NyYy9nZmlsZW5vdGlmeS5jIGIvc3JjL2dmaWxlbm90aWZ5
LmMKaW5kZXggNjJiNGVmYi4uM2IxZjJmYyAxMDA2NDQKLS0tIGEvc3JjL2dmaWxlbm90aWZ5
LmMKKysrIGIvc3JjL2dmaWxlbm90aWZ5LmMKQEAgLTUsOCArNSw4IEBAIFRoaXMgZmlsZSBp
cyBwYXJ0IG9mIEdOVSBFbWFjcy4KIAogR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlv
dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0IHVuZGVyIHRoZSB0ZXJt
cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci10
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBM
aWNlbnNlLCBvcgotKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KK3RoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vu
c2UsIG9yIChhdAoreW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogCiBHTlUgRW1h
Y3MgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK
IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh
cnJhbnR5IG9mCmRpZmYgLS1naXQgYS9zcmMvZ251dGxzLmMgYi9zcmMvZ251dGxzLmMKaW5k
ZXggMDFhNTk4My4uZjAzNTRkNyAxMDA2NDQKLS0tIGEvc3JjL2dudXRscy5jCisrKyBiL3Ny
Yy9nbnV0bHMuYwpAQCAtNSw4ICs1LDggQEAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVt
YWNzLgogCiBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1
dGUgaXQgYW5kL29yIG1vZGlmeQogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLXRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0oYXQg
eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgordGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cit5b3Vy
IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAKIEdOVSBFbWFjcyBpcyBkaXN0cmlidXRl
ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogYnV0IFdJVEhPVVQgQU5Z
IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKZGlmZiAt
LWdpdCBhL3NyYy9nbnV0bHMuaCBiL3NyYy9nbnV0bHMuaAppbmRleCA4ZTg3OWMxLi5lOTM0
OGU3IDEwMDY0NAotLS0gYS9zcmMvZ251dGxzLmgKKysrIGIvc3JjL2dudXRscy5oCkBAIC01
LDggKzUsOCBAQCBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3MuCiAKIEdOVSBFbWFj
cyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9k
aWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlIGFzIHB1Ymxpc2hlZCBieQotdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0
aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLShhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIg
dmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQKK3lvdXIgb3B0aW9uKSBhbnkgbGF0
ZXIgdmVyc2lvbi4KIAogR05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo
YXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv
dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpkaWZmIC0tZ2l0IGEvc3JjL2d0a3V0
aWwuYyBiL3NyYy9ndGt1dGlsLmMKaW5kZXggMTRiNzZjZS4uN2RjYTU4NSAxMDA2NDQKLS0t
IGEvc3JjL2d0a3V0aWwuYworKysgYi9zcmMvZ3RrdXRpbC5jCkBAIC02LDggKzYsOCBAQCBU
aGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3MuCiAKIEdOVSBFbWFjcyBpcyBmcmVlIHNv
ZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxp
c2hlZCBieQotdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24g
MyBvZiB0aGUgTGljZW5zZSwgb3IKLShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp
b24uCit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9m
IHRoZSBMaWNlbnNlLCBvciAoYXQKK3lvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K
IAogR05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi
ZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg
aW1wbGllZCB3YXJyYW50eSBvZgpkaWZmIC0tZ2l0IGEvc3JjL2d0a3V0aWwuaCBiL3NyYy9n
dGt1dGlsLmgKaW5kZXggZmYyMmUzYy4uODg0MGZlNyAxMDA2NDQKLS0tIGEvc3JjL2d0a3V0
aWwuaAorKysgYi9zcmMvZ3RrdXRpbC5oCkBAIC02LDggKzYsOCBAQCBUaGlzIGZpbGUgaXMg
cGFydCBvZiBHTlUgRW1hY3MuCiAKIEdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMg
b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGlj
ZW5zZSwgb3IKLShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCit0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNl
LCBvciAoYXQKK3lvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIAogR05VIEVtYWNz
IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBi
dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy
YW50eSBvZgpkaWZmIC0tZ2l0IGEvc3JjL2ltYWdlLmMgYi9zcmMvaW1hZ2UuYwppbmRleCAx
NDRmZTMwLi5hNDRiOTBiIDEwMDY0NAotLS0gYS9zcmMvaW1hZ2UuYworKysgYi9zcmMvaW1h
Z2UuYwpAQCAtNiw4ICs2LDggQEAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLgog
CiBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yIG1vZGlmeQogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0oYXQgeW91ciBv
cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgordGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
biwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cit5b3VyIG9wdGlv
bikgYW55IGxhdGVyIHZlcnNpb24uCiAKIEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0
aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogYnV0IFdJVEhPVVQgQU5ZIFdBUlJB
TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKZGlmZiAtLWdpdCBh
L3NyYy9pbmRlbnQuYyBiL3NyYy9pbmRlbnQuYwppbmRleCBlZTJlOWM2Li5kNTE2MmUzIDEw
MDY0NAotLS0gYS9zcmMvaW5kZW50LmMKKysrIGIvc3JjL2luZGVudC5jCkBAIC02LDggKzYs
OCBAQCBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3MuCiAKIEdOVSBFbWFjcyBpcyBm
cmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBp
dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFz
IHB1Ymxpc2hlZCBieQotdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZl
cnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy
IHZlcnNpb24uCit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lv
biAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQKK3lvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy
c2lvbi4KIAogR05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg
d2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl
biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpkaWZmIC0tZ2l0IGEvc3JjL2luZGVudC5oIGIv
c3JjL2luZGVudC5oCmluZGV4IDgwNGM0N2QuLmYyYTRjOTAgMTAwNjQ0Ci0tLSBhL3NyYy9p
bmRlbnQuaAorKysgYi9zcmMvaW5kZW50LmgKQEAgLTUsOCArNSw4IEBAIFRoaXMgZmlsZSBp
cyBwYXJ0IG9mIEdOVSBFbWFjcy4KIAogR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlv
dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0IHVuZGVyIHRoZSB0ZXJt
cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci10
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBM
aWNlbnNlLCBvcgotKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KK3RoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vu
c2UsIG9yIChhdAoreW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogCiBHTlUgRW1h
Y3MgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK
IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh
cnJhbnR5IG9mCmRpZmYgLS1naXQgYS9zcmMvaW5vdGlmeS5jIGIvc3JjL2lub3RpZnkuYwpp
bmRleCBlMDYxOWU1Li4zOGM4ZGY1IDEwMDY0NAotLS0gYS9zcmMvaW5vdGlmeS5jCisrKyBi
L3NyYy9pbm90aWZ5LmMKQEAgLTYsOCArNiw4IEBAIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdO
VSBFbWFjcy4KIAogR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0
cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci10aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgot
KGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KK3RoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdAor
eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogCiBHTlUgRW1hY3MgaXMgZGlzdHJp
YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIGJ1dCBXSVRIT1VU
IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCkBA
IC0yNzIsNyArMjcyLDcgQEAgb25seWRpcgogV2F0Y2hpbmcgYSBkaXJlY3RvcnkgaXMgbm90
IHJlY3Vyc2l2ZS4gIENBTExCQUNLIGlzIHBhc3NlZCBhIHNpbmdsZSBhcmd1bWVudAogRVZF
TlQgd2hpY2ggY29udGFpbnMgYW4gZXZlbnQgc3RydWN0dXJlIG9mIHRoZSBmb3JtYXQKIAot
KFdBVENILURFU0NSSVBUT1IgQVNQRUNUUyBOQU1FIENPT0tJRSkKK1woV0FUQ0gtREVTQ1JJ
UFRPUiBBU1BFQ1RTIE5BTUUgQ09PS0lFKQogCiBXQVRDSC1ERVNDUklQVE9SIGlzIHRoZSBz
YW1lIG9iamVjdCB0aGF0IHdhcyByZXR1cm5lZCBieSB0aGlzIGZ1bmN0aW9uLiAgSXQgY2Fu
CiBiZSB0ZXN0ZWQgZm9yIGVxdWFsaXR5IHVzaW5nIGBlcXVhbCcuICBBU1BFQ1RTIGRlc2Ny
aWJlcyB0aGUgZXZlbnQuICBJdCBpcyBhCmRpZmYgLS1naXQgYS9zcmMvaW5zZGVsLmMgYi9z
cmMvaW5zZGVsLmMKaW5kZXggMDVmMzdkNi4uNGFkMTA3NCAxMDA2NDQKLS0tIGEvc3JjL2lu
c2RlbC5jCisrKyBiL3NyYy9pbnNkZWwuYwpAQCAtNiw4ICs2LDggQEAgVGhpcyBmaWxlIGlz
IHBhcnQgb2YgR05VIEVtYWNzLgogCiBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91
IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogaXQgdW5kZXIgdGhlIHRlcm1z
IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLXRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExp
Y2Vuc2UsIG9yCi0oYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgordGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5z
ZSwgb3IgKGF0Cit5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAKIEdOVSBFbWFj
cyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAog
YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy
cmFudHkgb2YKZGlmZiAtLWdpdCBhL3NyYy9pbnRlcnZhbHMuYyBiL3NyYy9pbnRlcnZhbHMu
YwppbmRleCAyOWNjNDAzLi44NDUxMDY5IDEwMDY0NAotLS0gYS9zcmMvaW50ZXJ2YWxzLmMK
KysrIGIvc3JjL2ludGVydmFscy5jCkBAIC02LDggKzYsOCBAQCBUaGlzIGZpbGUgaXMgcGFy
dCBvZiBHTlUgRW1hY3MuCiAKIEdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2Fu
IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2Yg
dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5z
ZSwgb3IKLShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCit0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBv
ciAoYXQKK3lvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIAogR05VIEVtYWNzIGlz
IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQg
V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50
eSBvZgpkaWZmIC0tZ2l0IGEvc3JjL2ludGVydmFscy5oIGIvc3JjL2ludGVydmFscy5oCmlu
ZGV4IDJiNjhkNGUuLmI4Y2RjZmQgMTAwNjQ0Ci0tLSBhL3NyYy9pbnRlcnZhbHMuaAorKysg
Yi9zcmMvaW50ZXJ2YWxzLmgKQEAgLTUsOCArNSw4IEBAIFRoaXMgZmlsZSBpcyBwYXJ0IG9m
IEdOVSBFbWFjcy4KIAogR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg
R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci10aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBv
cgotKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KK3RoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChh
dAoreW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogCiBHTlUgRW1hY3MgaXMgZGlz
dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIGJ1dCBXSVRI
T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m
CmRpZmYgLS1naXQgYS9zcmMva2V5Ym9hcmQuYyBiL3NyYy9rZXlib2FyZC5jCmluZGV4IDI5
OGFiNjQuLjI5ZDZkNjcgMTAwNjQ0Ci0tLSBhL3NyYy9rZXlib2FyZC5jCisrKyBiL3NyYy9r
ZXlib2FyZC5jCkBAIC03LDggKzcsOCBAQCBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1h
Y3MuCiAKIEdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0
ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLShhdCB5
b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCit0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQKK3lvdXIg
b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIAogR05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVk
IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkg
V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpAQCAtMTEz
ODEsNyArMTEzODEsNyBAQCBTZWUgSW5mbyBub2RlIGAoZWxpc3ApTXVsdGlwbGUgVGVybWlu
YWxzJy4gICovKTsKIAogICBERUZWQVJfQk9PTCAoImNhbm5vdC1zdXNwZW5kIiwgY2Fubm90
X3N1c3BlbmQsCiAJICAgICAgIGRvYzogLyogTm9uLW5pbCBtZWFucyB0byBhbHdheXMgc3Bh
d24gYSBzdWJzaGVsbCBpbnN0ZWFkIG9mIHN1c3BlbmRpbmcuCi0oRXZlbiBpZiB0aGUgb3Bl
cmF0aW5nIHN5c3RlbSBoYXMgc3VwcG9ydCBmb3Igc3RvcHBpbmcgYSBwcm9jZXNzLikgICov
KTsKK1woRXZlbiBpZiB0aGUgb3BlcmF0aW5nIHN5c3RlbSBoYXMgc3VwcG9ydCBmb3Igc3Rv
cHBpbmcgYSBwcm9jZXNzLikgICovKTsKICAgY2Fubm90X3N1c3BlbmQgPSBmYWxzZTsKIAog
ICBERUZWQVJfQk9PTCAoIm1lbnUtcHJvbXB0aW5nIiwgbWVudV9wcm9tcHRpbmcsCkBAIC0x
MTU5NSw3ICsxMTU5NSw3IEBAIGltbWVkaWF0ZWx5IGFmdGVyIHJ1bm5pbmcgYHBvc3QtY29t
bWFuZC1ob29rJy4gICovKTsKICAgREVGVkFSX0xJU1AgKCJpbnB1dC1tZXRob2QtZnVuY3Rp
b24iLCBWaW5wdXRfbWV0aG9kX2Z1bmN0aW9uLAogCSAgICAgICBkb2M6IC8qIElmIG5vbi1u
aWwsIHRoZSBmdW5jdGlvbiB0aGF0IGltcGxlbWVudHMgdGhlIGN1cnJlbnQgaW5wdXQgbWV0
aG9kLgogSXQncyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQsIGEgcHJpbnRpbmcgY2hhcmFj
dGVyIHRoYXQgd2FzIGp1c3QgcmVhZC4KLShUaGF0IG1lYW5zIGEgY2hhcmFjdGVyIHdpdGgg
Y29kZSAwNDAuLi4wMTc2LikKK1woVGhhdCBtZWFucyBhIGNoYXJhY3RlciB3aXRoIGNvZGUg
MDQwLi4uMDE3Ni4pCiBUeXBpY2FsbHkgdGhpcyBmdW5jdGlvbiB1c2VzIGByZWFkLWV2ZW50
JyB0byByZWFkIGFkZGl0aW9uYWwgZXZlbnRzLgogV2hlbiBpdCBkb2VzIHNvLCBpdCBzaG91
bGQgZmlyc3QgYmluZCBgaW5wdXQtbWV0aG9kLWZ1bmN0aW9uJyB0byBuaWwKIHNvIGl0IHdp
bGwgbm90IGJlIGNhbGxlZCByZWN1cnNpdmVseS4KZGlmZiAtLWdpdCBhL3NyYy9rZXlib2Fy
ZC5oIGIvc3JjL2tleWJvYXJkLmgKaW5kZXggN2Y5NWYxMS4uMzg3Mzc4NyAxMDA2NDQKLS0t
IGEvc3JjL2tleWJvYXJkLmgKKysrIGIvc3JjL2tleWJvYXJkLmgKQEAgLTYsOCArNiw4IEBA
IFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBFbWFjcy4KIAogR05VIEVtYWNzIGlzIGZyZWUg
c29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0IHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVi
bGlzaGVkIGJ5Ci10aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lv
biAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy
c2lvbi4KK3RoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMg
b2YgdGhlIExpY2Vuc2UsIG9yIChhdAoreW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u
LgogCiBHTlUgRW1hY3MgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs
IGJlIHVzZWZ1bCwKIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo
ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCmRpZmYgLS1naXQgYS9zcmMva2V5bWFwLmMgYi9zcmMv
a2V5bWFwLmMKaW5kZXggNzkyOGU2Mi4uOGFiNGM2YyAxMDA2NDQKLS0tIGEvc3JjL2tleW1h
cC5jCisrKyBiL3NyYy9rZXltYXAuYwpAQCAtNiw4ICs2LDggQEAgVGhpcyBmaWxlIGlzIHBh
cnQgb2YgR05VIEVtYWNzLgogCiBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNh
biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogaXQgdW5kZXIgdGhlIHRlcm1zIG9m
IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLXRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vu
c2UsIG9yCi0oYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgordGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwg
b3IgKGF0Cit5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAKIEdOVSBFbWFjcyBp
cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogYnV0
IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu
dHkgb2YKQEAgLTE2ODcsNyArMTY4Nyw3IEBAIERFRlVOICgiZ2xvYmFsLWtleS1iaW5kaW5n
IiwgRmdsb2JhbF9rZXlfYmluZGluZywgU2dsb2JhbF9rZXlfYmluZGluZywgMSwgMiwgMCwK
IEtFWVMgaXMgYSBzdHJpbmcgb3IgdmVjdG9yLCBhIHNlcXVlbmNlIG9mIGtleXN0cm9rZXMu
CiBUaGUgYmluZGluZyBpcyBwcm9iYWJseSBhIHN5bWJvbCB3aXRoIGEgZnVuY3Rpb24gZGVm
aW5pdGlvbi4KIFRoaXMgZnVuY3Rpb24ncyByZXR1cm4gdmFsdWVzIGFyZSB0aGUgc2FtZSBh
cyB0aG9zZSBvZiBgbG9va3VwLWtleScKLSh3aGljaCBzZWUpLgorXCh3aGljaCBzZWUpLgog
CiBJZiBvcHRpb25hbCBhcmd1bWVudCBBQ0NFUFQtREVGQVVMVCBpcyBub24tbmlsLCByZWNv
Z25pemUgZGVmYXVsdAogYmluZGluZ3M7IHNlZSB0aGUgZGVzY3JpcHRpb24gb2YgYGxvb2t1
cC1rZXknIGZvciBtb3JlIGRldGFpbHMgYWJvdXQgdGhpcy4gICovKQpAQCAtMjQ5Myw3ICsy
NDkzLDcgQEAgSWYgRklSU1RPTkxZIGlzIHRoZSBzeW1ib2wgYG5vbi1hc2NpaScsIHJldHVy
biB0aGUgZmlyc3QgYmluZGluZyBmb3VuZCwKIG5vIG1hdHRlciB3aGF0IGl0IGlzLgogSWYg
RklSU1RPTkxZIGhhcyBhbm90aGVyIG5vbi1uaWwgdmFsdWUsIHByZWZlciBiaW5kaW5ncwog
dGhhdCB1c2UgdGhlIG1vZGlmaWVyIGtleSBzcGVjaWZpZWQgaW4gYHdoZXJlLWlzLXByZWZl
cnJlZC1tb2RpZmllcicKLShvciB0aGVpciBtZXRhIHZhcmlhbnRzKSBhbmQgZW50aXJlbHkg
cmVqZWN0IG1lbnUgYmluZGluZ3MuCitcKG9yIHRoZWlyIG1ldGEgdmFyaWFudHMpIGFuZCBl
bnRpcmVseSByZWplY3QgbWVudSBiaW5kaW5ncy4KIAogSWYgb3B0aW9uYWwgNHRoIGFyZyBO
T0lORElSRUNUIGlzIG5vbi1uaWwsIGRvbid0IGV4dHJhY3QgdGhlIGNvbW1hbmRzIGluc2lk
ZQogbWVudS1pdGVtcy4gIFRoaXMgbWFrZXMgaXQgcG9zc2libGUgdG8gc2VhcmNoIGZvciBh
IG1lbnUtaXRlbSBpdHNlbGYuCkBAIC0yNzI0LDcgKzI3MjQsNyBAQCBsb29rZWQgdXAgaW4g
QlVGRkVSLgogVGhlIG9wdGlvbmFsIGFyZ3VtZW50IFBSRUZJWCwgaWYgbm9uLW5pbCwgc2hv
dWxkIGJlIGEga2V5IHNlcXVlbmNlOwogdGhlbiB3ZSBkaXNwbGF5IG9ubHkgYmluZGluZ3Mg
dGhhdCBzdGFydCB3aXRoIHRoYXQgcHJlZml4LgogVGhlIG9wdGlvbmFsIGFyZ3VtZW50IE1F
TlVTLCBpZiBub24tbmlsLCBzYXlzIHRvIG1lbnRpb24gbWVudSBiaW5kaW5ncy4KLShPcmRp
bmFyaWx5IHRoZXNlIGFyZSBvbWl0dGVkIGZyb20gdGhlIG91dHB1dC4pICAqLykKK1woT3Jk
aW5hcmlseSB0aGVzZSBhcmUgb21pdHRlZCBmcm9tIHRoZSBvdXRwdXQuKSAgKi8pCiAgIChM
aXNwX09iamVjdCBidWZmZXIsIExpc3BfT2JqZWN0IHByZWZpeCwgTGlzcF9PYmplY3QgbWVu
dXMpCiB7CiAgIExpc3BfT2JqZWN0IG91dGJ1Ziwgc2hhZG93OwpkaWZmIC0tZ2l0IGEvc3Jj
L2tleW1hcC5oIGIvc3JjL2tleW1hcC5oCmluZGV4IDAwOWFhMDEuLjM3Zjg2NmMgMTAwNjQ0
Ci0tLSBhL3NyYy9rZXltYXAuaAorKysgYi9zcmMva2V5bWFwLmgKQEAgLTUsOCArNSw4IEBA
IFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBFbWFjcy4KIAogR05VIEVtYWNzIGlzIGZyZWUg
c29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0IHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVi
bGlzaGVkIGJ5Ci10aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lv
biAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy
c2lvbi4KK3RoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMg
b2YgdGhlIExpY2Vuc2UsIG9yIChhdAoreW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u
LgogCiBHTlUgRW1hY3MgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs
IGJlIHVzZWZ1bCwKIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo
ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCmRpZmYgLS1naXQgYS9zcmMva3F1ZXVlLmMgYi9zcmMv
a3F1ZXVlLmMKaW5kZXggYTY5ZDA2ZC4uYzg0OGI3ZiAxMDA2NDQKLS0tIGEvc3JjL2txdWV1
ZS5jCisrKyBiL3NyYy9rcXVldWUuYwpAQCAtNiw4ICs2LDggQEAgVGhpcyBmaWxlIGlzIHBh
cnQgb2YgR05VIEVtYWNzLgogCiBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNh
biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogaXQgdW5kZXIgdGhlIHRlcm1zIG9m
IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLXRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vu
c2UsIG9yCi0oYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgordGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwg
b3IgKGF0Cit5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAKIEdOVSBFbWFjcyBp
cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogYnV0
IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu
dHkgb2YKQEAgLTY3LDkgKzY3LDggQEAga3F1ZXVlX2RpcmVjdG9yeV9saXN0aW5nIChMaXNw
X09iamVjdCBkaXJlY3RvcnlfZmlsZXMpCiAKIC8qIEdlbmVyYXRlIGEgZmlsZSBub3RpZmlj
YXRpb24gZXZlbnQuICAqLwogc3RhdGljIHZvaWQKLWtxdWV1ZV9nZW5lcmF0ZV9ldmVudAot
KExpc3BfT2JqZWN0IHdhdGNoX29iamVjdCwgTGlzcF9PYmplY3QgYWN0aW9ucywKLSBMaXNw
X09iamVjdCBmaWxlLCBMaXNwX09iamVjdCBmaWxlMSkKK2txdWV1ZV9nZW5lcmF0ZV9ldmVu
dCAoTGlzcF9PYmplY3Qgd2F0Y2hfb2JqZWN0LCBMaXNwX09iamVjdCBhY3Rpb25zLAorCQkg
ICAgICAgTGlzcF9PYmplY3QgZmlsZSwgTGlzcF9PYmplY3QgZmlsZTEpCiB7CiAgIExpc3Bf
T2JqZWN0IGZsYWdzLCBhY3Rpb24sIGVudHJ5OwogICBzdHJ1Y3QgaW5wdXRfZXZlbnQgZXZl
bnQ7CkBAIC0xMDksOCArMTA4LDcgQEAga3F1ZXVlX2dlbmVyYXRlX2V2ZW50CiAgICByZXBs
YWNlZCBieSB0aGUgbmV3IGRpcmVjdG9yeSBsaXN0aW5nIGF0IHRoZSBlbmQgb2YgdGhpcwog
ICAgZnVuY3Rpb24uICAqLwogc3RhdGljIHZvaWQKLWtxdWV1ZV9jb21wYXJlX2Rpcl9saXN0
Ci0oTGlzcF9PYmplY3Qgd2F0Y2hfb2JqZWN0KQora3F1ZXVlX2NvbXBhcmVfZGlyX2xpc3Qg
KExpc3BfT2JqZWN0IHdhdGNoX29iamVjdCkKIHsKICAgTGlzcF9PYmplY3QgZGlyLCBwZW5k
aW5nX2RsLCBkZWxldGVkX2RsOwogICBMaXNwX09iamVjdCBvbGRfZGlyZWN0b3J5X2ZpbGVz
LCBvbGRfZGwsIG5ld19kaXJlY3RvcnlfZmlsZXMsIG5ld19kbCwgZGw7CmRpZmYgLS1naXQg
YS9zcmMvbGFzdGZpbGUuYyBiL3NyYy9sYXN0ZmlsZS5jCmluZGV4IDJkMGJjYzcuLmQ1MTYw
OTMgMTAwNjQ0Ci0tLSBhL3NyYy9sYXN0ZmlsZS5jCisrKyBiL3NyYy9sYXN0ZmlsZS5jCkBA
IC01LDggKzUsOCBAQCBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3MuCiAKIEdOVSBF
bWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3Ig
bW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg
ZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLShhdCB5b3VyIG9wdGlvbikg
YW55IGxhdGVyIHZlcnNpb24uCit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRo
ZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQKK3lvdXIgb3B0aW9uKSBhbnkg
bGF0ZXIgdmVyc2lvbi4KIAogR05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl
IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp
dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpkaWZmIC0tZ2l0IGEvc3JjL2xp
c3AuaCBiL3NyYy9saXNwLmgKaW5kZXggOGVhYjM4Yi4uMjc1ODg4NCAxMDA2NDQKLS0tIGEv
c3JjL2xpc3AuaAorKysgYi9zcmMvbGlzcC5oCkBAIC03LDggKzcsOCBAQCBUaGlzIGZpbGUg
aXMgcGFydCBvZiBHTlUgRW1hY3MuCiAKIEdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5
b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVy
bXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQot
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUg
TGljZW5zZSwgb3IKLShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCit0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNl
bnNlLCBvciAoYXQKK3lvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIAogR05VIEVt
YWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws
CiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3
YXJyYW50eSBvZgpkaWZmIC0tZ2l0IGEvc3JjL2xyZWFkLmMgYi9zcmMvbHJlYWQuYwppbmRl
eCAyNWUzZmYwLi42ZmNiNmY1IDEwMDY0NAotLS0gYS9zcmMvbHJlYWQuYworKysgYi9zcmMv
bHJlYWQuYwpAQCAtNyw4ICs3LDggQEAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNz
LgogCiBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yIG1vZGlmeQogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLXRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0oYXQgeW91
ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgordGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cit5b3VyIG9w
dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAKIEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBp
biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogYnV0IFdJVEhPVVQgQU5ZIFdB
UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKQEAgLTIwNTks
NyArMjA1OSw3IEBAIFJldHVybnMgYSBjb25zOiAoT0JKRUNULVJFQUQgLiBGSU5BTC1TVFJJ
TkctSU5ERVgpLgogRklOQUwtU1RSSU5HLUlOREVYIGlzIGFuIGludGVnZXIgZ2l2aW5nIHRo
ZSBwb3NpdGlvbiBvZiB0aGUgbmV4dAogcmVtYWluaW5nIGNoYXJhY3RlciBpbiBTVFJJTkcu
ICBTVEFSVCBhbmQgRU5EIG9wdGlvbmFsbHkgZGVsaW1pdAogYSBzdWJzdHJpbmcgb2YgU1RS
SU5HIGZyb20gd2hpY2ggdG8gcmVhZDsgIHRoZXkgZGVmYXVsdCB0byAwIGFuZAotKGxlbmd0
aCBTVFJJTkcpIHJlc3BlY3RpdmVseS4gIE5lZ2F0aXZlIHZhbHVlcyBhcmUgY291bnRlZCBm
cm9tCitcKGxlbmd0aCBTVFJJTkcpIHJlc3BlY3RpdmVseS4gIE5lZ2F0aXZlIHZhbHVlcyBh
cmUgY291bnRlZCBmcm9tCiB0aGUgZW5kIG9mIFNUUklORy4gICovKQogICAoTGlzcF9PYmpl
Y3Qgc3RyaW5nLCBMaXNwX09iamVjdCBzdGFydCwgTGlzcF9PYmplY3QgZW5kKQogewpkaWZm
IC0tZ2l0IGEvc3JjL21hY2ZvbnQuaCBiL3NyYy9tYWNmb250LmgKaW5kZXggNTg3ZjEwYS4u
NjYzMGZiNSAxMDA2NDQKLS0tIGEvc3JjL21hY2ZvbnQuaAorKysgYi9zcmMvbWFjZm9udC5o
CkBAIC01LDggKzUsOCBAQCBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3MuCiAKIEdO
VSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
biwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLShhdCB5b3VyIG9wdGlv
bikgYW55IGxhdGVyIHZlcnNpb24uCit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBl
aXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQKK3lvdXIgb3B0aW9uKSBh
bnkgbGF0ZXIgdmVyc2lvbi4KIAogR05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo
b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7
IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpAQCAtODIsNCArODIsMyBA
QCB0eXBlZGVmIGNvbnN0IHN0cnVjdCBfRW1hY3NTY3JlZW5Gb250ICpTY3JlZW5Gb250UmVm
OyAvKiBvcGFxdWUgKi8KIGV4dGVybiB2b2lkIG1hY19yZWdpc3Rlcl9mb250X2RyaXZlciAo
c3RydWN0IGZyYW1lICpmKTsKIGV4dGVybiB2b2lkICptYWNmb250X2dldF9uc2N0Zm9udCAo
c3RydWN0IGZvbnQgKmZvbnQpOwogZXh0ZXJuIHZvaWQgbWFjZm9udF91cGRhdGVfYW50aWFs
aWFzX3RocmVzaG9sZCAodm9pZCk7Ci0KZGlmZiAtLWdpdCBhL3NyYy9tYWNmb250Lm0gYi9z
cmMvbWFjZm9udC5tCmluZGV4IDQ1ODMwZTAuLmM5MDgyYTUgMTAwNjQ0Ci0tLSBhL3NyYy9t
YWNmb250Lm0KKysrIGIvc3JjL21hY2ZvbnQubQpAQCAtNSw4ICs1LDggQEAgVGhpcyBmaWxl
IGlzIHBhcnQgb2YgR05VIEVtYWNzLgogCiBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTog
eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogaXQgdW5kZXIgdGhlIHRl
cm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkK
LXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhl
IExpY2Vuc2UsIG9yCi0oYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgordGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGlj
ZW5zZSwgb3IgKGF0Cit5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAKIEdOVSBF
bWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs
LAogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg
d2FycmFudHkgb2YKZGlmZiAtLWdpdCBhL3NyYy9tYWNyb3MuYyBiL3NyYy9tYWNyb3MuYwpp
bmRleCAyODlmMjJiLi4wYzcwM2JhIDEwMDY0NAotLS0gYS9zcmMvbWFjcm9zLmMKKysrIGIv
c3JjL21hY3Jvcy5jCkBAIC02LDggKzYsOCBAQCBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUg
RW1hY3MuCiAKIEdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJp
YnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLShh
dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCit0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQKK3lv
dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIAogR05VIEVtYWNzIGlzIGRpc3RyaWJ1
dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBB
TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpkaWZm
IC0tZ2l0IGEvc3JjL21hY3Jvcy5oIGIvc3JjL21hY3Jvcy5oCmluZGV4IDNhMGM1N2UuLjZj
NjZjNGEgMTAwNjQ0Ci0tLSBhL3NyYy9tYWNyb3MuaAorKysgYi9zcmMvbWFjcm9zLmgKQEAg
LTUsOCArNSw4IEBAIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBFbWFjcy4KIAogR05VIEVt
YWNzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBt
b2RpZnkKIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci10aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBl
aXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKGF0IHlvdXIgb3B0aW9uKSBh
bnkgbGF0ZXIgdmVyc2lvbi4KK3RoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhl
ciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdAoreW91ciBvcHRpb24pIGFueSBs
YXRlciB2ZXJzaW9uLgogCiBHTlUgRW1hY3MgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0
aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCmRpZmYgLS1naXQgYS9zcmMvbWFy
a2VyLmMgYi9zcmMvbWFya2VyLmMKaW5kZXggOWY1M2U5YS4uMDMwMDgzMCAxMDA2NDQKLS0t
IGEvc3JjL21hcmtlci5jCisrKyBiL3NyYy9tYXJrZXIuYwpAQCAtNiw4ICs2LDggQEAgVGhp
cyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLgogCiBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0
d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNo
ZWQgYnkKLXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMg
b2YgdGhlIExpY2Vuc2UsIG9yCi0oYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u
LgordGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0
aGUgTGljZW5zZSwgb3IgKGF0Cit5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAK
IEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg
dXNlZnVsLAogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt
cGxpZWQgd2FycmFudHkgb2YKZGlmZiAtLWdpdCBhL3NyYy9tZW51LmMgYi9zcmMvbWVudS5j
CmluZGV4IGNiZGRlZjMuLjk1MDRjZWUgMTAwNjQ0Ci0tLSBhL3NyYy9tZW51LmMKKysrIGIv
c3JjL21lbnUuYwpAQCAtNyw4ICs3LDggQEAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVt
YWNzLgogCiBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1
dGUgaXQgYW5kL29yIG1vZGlmeQogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLXRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0oYXQg
eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgordGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cit5b3Vy
IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAKIEdOVSBFbWFjcyBpcyBkaXN0cmlidXRl
ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogYnV0IFdJVEhPVVQgQU5Z
IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKQEAgLTEx
MzAsNyArMTEzMCw3IEBAIElmIFBPU0lUSU9OIGlzIHQsIGl0IG1lYW5zIHRvIHVzZSB0aGUg
Y3VycmVudCBtb3VzZSBwb3NpdGlvbi4KIE1FTlUgaXMgYSBzcGVjaWZpZXIgZm9yIGEgbWVu
dS4gIEZvciB0aGUgc2ltcGxlc3QgY2FzZSwgTUVOVSBpcyBhIGtleW1hcC4KIFRoZSBtZW51
IGl0ZW1zIGNvbWUgZnJvbSBrZXkgYmluZGluZ3MgdGhhdCBoYXZlIGEgbWVudSBzdHJpbmcg
YXMgd2VsbCBhcwogYSBkZWZpbml0aW9uOyBhY3R1YWxseSwgdGhlICJkZWZpbml0aW9uIiBp
biBzdWNoIGEga2V5IGJpbmRpbmcgbG9va3MgbGlrZQotKFNUUklORyAuIFJFQUwtREVGSU5J
VElPTikuICBUbyBnaXZlIHRoZSBtZW51IGEgdGl0bGUsIHB1dCBhIHN0cmluZyBpbnRvCitc
KFNUUklORyAuIFJFQUwtREVGSU5JVElPTikuICBUbyBnaXZlIHRoZSBtZW51IGEgdGl0bGUs
IHB1dCBhIHN0cmluZyBpbnRvCiB0aGUga2V5bWFwIGFzIGEgdG9wLWxldmVsIGVsZW1lbnQu
CiAKIElmIFJFQUwtREVGSU5JVElPTiBpcyBuaWwsIHRoYXQgcHV0cyBhIG5vbnNlbGVjdGFi
bGUgc3RyaW5nIGluIHRoZSBtZW51LgpAQCAtMTQ5NSw3ICsxNDk1LDcgQEAgVGhlIHJldHVy
biB2YWx1ZSBpcyBWQUxVRSBmcm9tIHRoZSBjaG9zZW4gaXRlbS4KIEFuIElURU0gbWF5IGFs
c28gYmUganVzdCBhIHN0cmluZy0tdGhhdCBtYWtlcyBhIG5vbnNlbGVjdGFibGUgaXRlbS4K
IEFuIElURU0gbWF5IGFsc28gYmUgbmlsLS10aGF0IG1lYW5zIHRvIHB1dCBhbGwgcHJlY2Vk
aW5nIGl0ZW1zCiBvbiB0aGUgbGVmdCBvZiB0aGUgZGlhbG9nIGJveCBhbmQgYWxsIGZvbGxv
d2luZyBpdGVtcyBvbiB0aGUgcmlnaHQuCi0oQnkgZGVmYXVsdCwgYXBwcm94aW1hdGVseSBo
YWxmIGFwcGVhciBvbiBlYWNoIHNpZGUuKQorXChCeSBkZWZhdWx0LCBhcHByb3hpbWF0ZWx5
IGhhbGYgYXBwZWFyIG9uIGVhY2ggc2lkZS4pCiAKIElmIEhFQURFUiBpcyBub24tbmlsLCB0
aGUgZnJhbWUgdGl0bGUgZm9yIHRoZSBib3ggaXMgIkluZm9ybWF0aW9uIiwKIG90aGVyd2lz
ZSBpdCBpcyAiUXVlc3Rpb24iLgpkaWZmIC0tZ2l0IGEvc3JjL21lbnUuaCBiL3NyYy9tZW51
LmgKaW5kZXggOTVkMmZlNS4uNGM1MGVmYiAxMDA2NDQKLS0tIGEvc3JjL21lbnUuaAorKysg
Yi9zcmMvbWVudS5oCkBAIC01LDggKzUsOCBAQCBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUg
RW1hY3MuCiAKIEdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJp
YnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLShh
dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCit0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQKK3lv
dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIAogR05VIEVtYWNzIGlzIGRpc3RyaWJ1
dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBB
TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpkaWZm
IC0tZ2l0IGEvc3JjL21pbmlidWYuYyBiL3NyYy9taW5pYnVmLmMKaW5kZXggMTgwNjY4Zi4u
MjM4YTA0YSAxMDA2NDQKLS0tIGEvc3JjL21pbmlidWYuYworKysgYi9zcmMvbWluaWJ1Zi5j
CkBAIC02LDggKzYsOCBAQCBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3MuCiAKIEdO
VSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
biwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLShhdCB5b3VyIG9wdGlv
bikgYW55IGxhdGVyIHZlcnNpb24uCit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBl
aXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQKK3lvdXIgb3B0aW9uKSBh
bnkgbGF0ZXIgdmVyc2lvbi4KIAogR05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo
b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7
IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpAQCAtOTg2LDcgKzk4Niw3
IEBAIERFRlVOICgicmVhZC1uby1ibGFua3MtaW5wdXQiLCBGcmVhZF9ub19ibGFua3NfaW5w
dXQsIFNyZWFkX25vX2JsYW5rc19pbnB1dCwgMSwKIFByb21wdCB3aXRoIFBST01QVC4gIFdo
aXRlc3BhY2UgdGVybWluYXRlcyB0aGUgaW5wdXQuICBJZiBJTklUSUFMIGlzCiBub24tbmls
LCBpdCBzaG91bGQgYmUgYSBzdHJpbmcsIHdoaWNoIGlzIHVzZWQgYXMgaW5pdGlhbCBpbnB1
dCwgd2l0aAogcG9pbnQgcG9zaXRpb25lZCBhdCB0aGUgZW5kLCBzbyB0aGF0IFNQQUNFIHdp
bGwgYWNjZXB0IHRoZSBpbnB1dC4KLShBY3R1YWxseSwgSU5JVElBTCBjYW4gYWxzbyBiZSBh
IGNvbnMgb2YgYSBzdHJpbmcgYW5kIGFuIGludGVnZXIuCitcKEFjdHVhbGx5LCBJTklUSUFM
IGNhbiBhbHNvIGJlIGEgY29ucyBvZiBhIHN0cmluZyBhbmQgYW4gaW50ZWdlci4KIFN1Y2gg
dmFsdWVzIGFyZSB0cmVhdGVkIGFzIGluIGByZWFkLWZyb20tbWluaWJ1ZmZlcicsIGJ1dCBh
cmUgbm9ybWFsbHkKIG5vdCB1c2VmdWwgaW4gdGhpcyBmdW5jdGlvbi4pCiBUaGlyZCBhcmcg
SU5IRVJJVC1JTlBVVC1NRVRIT0QsIGlmIG5vbi1uaWwsIG1lYW5zIHRoZSBtaW5pYnVmZmVy
IGluaGVyaXRzCmRpZmYgLS1naXQgYS9zcmMvbXNkb3MuYyBiL3NyYy9tc2Rvcy5jCmluZGV4
IGIzNzhjYzIuLjg0ZThjMzkgMTAwNjQ0Ci0tLSBhL3NyYy9tc2Rvcy5jCisrKyBiL3NyYy9t
c2Rvcy5jCkBAIC02LDggKzYsOCBAQCBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3Mu
CiAKIEdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp
dCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLShhdCB5b3Vy
IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQKK3lvdXIgb3B0
aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIAogR05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGlu
IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FS
UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpkaWZmIC0tZ2l0
IGEvc3JjL21zZG9zLmggYi9zcmMvbXNkb3MuaAppbmRleCA2OTE4MjJmLi44NjNjYTQ4IDEw
MDY0NAotLS0gYS9zcmMvbXNkb3MuaAorKysgYi9zcmMvbXNkb3MuaApAQCAtNSw4ICs1LDgg
QEAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLgogCiBHTlUgRW1hY3MgaXMgZnJl
ZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogaXQg
dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBw
dWJsaXNoZWQgYnkKLXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJz
aW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0oYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2
ZXJzaW9uLgordGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24g
MyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cit5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp
b24uCiAKIEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp
bGwgYmUgdXNlZnVsLAogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g
dGhlIGltcGxpZWQgd2FycmFudHkgb2YKQEAgLTEyOSw0ICsxMjksMyBAQCB2b2lkIFhNZW51
RGVzdHJveSAoRGlzcGxheSAqLCBYTWVudSAqKTsKICNlbmRpZiAvKiBub3QgSEFWRV9YX1dJ
TkRPV1MgKi8KIAogI2VuZGlmIC8qIG5vdCBFTUFDU19NU0RPU19IICovCi0KZGlmZiAtLWdp
dCBhL3NyYy9uc2Zucy5tIGIvc3JjL25zZm5zLm0KaW5kZXggZWRhOTRjNC4uZWEwOTkwOCAx
MDA2NDQKLS0tIGEvc3JjL25zZm5zLm0KKysrIGIvc3JjL25zZm5zLm0KQEAgLTcsOCArNyw4
IEBAIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBFbWFjcy4KIAogR05VIEVtYWNzIGlzIGZy
ZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMg
cHVibGlzaGVkIGJ5Ci10aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVy
c2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KK3RoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9u
IDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdAoreW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz
aW9uLgogCiBHTlUgRW1hY3MgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3
aWxsIGJlIHVzZWZ1bCwKIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu
IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCkBAIC0xNjg0LDcgKzE2ODQsNyBAQCBERUZVTiAo
Ingtc2VydmVyLW1heC1yZXF1ZXN0LXNpemUiLCBGeF9zZXJ2ZXJfbWF4X3JlcXVlc3Rfc2l6
ZSwKIAogREVGVU4gKCJ4LXNlcnZlci12ZW5kb3IiLCBGeF9zZXJ2ZXJfdmVuZG9yLCBTeF9z
ZXJ2ZXJfdmVuZG9yLCAwLCAxLCAwLAogICAgICAgIGRvYzogLyogUmV0dXJuIHRoZSAidmVu
ZG9yIElEIiBzdHJpbmcgb2YgTmV4dHN0ZXAgZGlzcGxheSBzZXJ2ZXIgVEVSTUlOQUwuCi0o
TGFiZWxpbmcgZXZlcnkgZGlzdHJpYnV0b3IgYXMgYSAidmVuZG9yIiBlbWJvZGllcyB0aGUg
ZmFsc2UgYXNzdW1wdGlvbgorXChMYWJlbGluZyBldmVyeSBkaXN0cmlidXRvciBhcyBhICJ2
ZW5kb3IiIGVtYm9kaWVzIHRoZSBmYWxzZSBhc3N1bXB0aW9uCiB0aGF0IG9wZXJhdGluZyBz
eXN0ZW1zIGNhbm5vdCBiZSBkZXZlbG9wZWQgYW5kIGRpc3RyaWJ1dGVkIG5vbmNvbW1lcmNp
YWxseS4pCiBUaGUgb3B0aW9uYWwgYXJndW1lbnQgVEVSTUlOQUwgc3BlY2lmaWVzIHdoaWNo
IGRpc3BsYXkgdG8gYXNrIGFib3V0LgogVEVSTUlOQUwgc2hvdWxkIGJlIGEgdGVybWluYWwg
b2JqZWN0LCBhIGZyYW1lIG9yIGEgZGlzcGxheSBuYW1lIChhIHN0cmluZykuCkBAIC0xNzMw
LDcgKzE3MzAsNyBAQCBJZiBvbWl0dGVkIG9yIG5pbCwgdGhhdCBzdGFuZHMgZm9yIHRoZSBz
ZWxlY3RlZCBmcmFtZSdzIGRpc3BsYXkuCiAKIE5vdGU6ICJzY3JlZW4iIGhlcmUgaXMgbm90
IGluIE5leHRzdGVwIHRlcm1pbm9sb2d5IGJ1dCBpbiBYMTEncy4gIEZvcgogdGhlIG51bWJl
ciBvZiBwaHlzaWNhbCBtb25pdG9ycywgdXNlIGAobGVuZ3RoCi0oZGlzcGxheS1tb25pdG9y
LWF0dHJpYnV0ZXMtbGlzdCBURVJNSU5BTCkpJyBpbnN0ZWFkLiAgKi8pCitcKGRpc3BsYXkt
bW9uaXRvci1hdHRyaWJ1dGVzLWxpc3QgVEVSTUlOQUwpKScgaW5zdGVhZC4gICovKQogICAo
TGlzcF9PYmplY3QgdGVybWluYWwpCiB7CiAgIGNoZWNrX25zX2Rpc3BsYXlfaW5mbyAodGVy
bWluYWwpOwpAQCAtMTg2MSw3ICsxODYxLDcgQEAgRElTUExBWSBpcyB0aGUgbmFtZSBvZiB0
aGUgZGlzcGxheSB0byBjb25uZWN0IHRvLgogT3B0aW9uYWwgc2Vjb25kIGFyZyBYUk0tU1RS
SU5HIGlzIGEgc3RyaW5nIG9mIHJlc291cmNlcyBpbiB4cmRiIGZvcm1hdC4KIElmIHRoZSBv
cHRpb25hbCB0aGlyZCBhcmcgTVVTVC1TVUNDRUVEIGlzIG5vbi1uaWwsCiB0ZXJtaW5hdGUg
RW1hY3MgaWYgd2UgY2FuJ3Qgb3BlbiB0aGUgY29ubmVjdGlvbi4KLShJbiB0aGUgTmV4dHN0
ZXAgdmVyc2lvbiwgdGhlIGxhc3QgdHdvIGFyZ3VtZW50cyBhcmUgY3VycmVudGx5IGlnbm9y
ZWQuKSAgKi8pCitcKEluIHRoZSBOZXh0c3RlcCB2ZXJzaW9uLCB0aGUgbGFzdCB0d28gYXJn
dW1lbnRzIGFyZSBjdXJyZW50bHkgaWdub3JlZC4pICAqLykKICAgICAgKExpc3BfT2JqZWN0
IGRpc3BsYXksIExpc3BfT2JqZWN0IHJlc291cmNlX3N0cmluZywgTGlzcF9PYmplY3QgbXVz
dF9zdWNjZWVkKQogewogICBzdHJ1Y3QgbnNfZGlzcGxheV9pbmZvICpkcHlpbmZvOwpAQCAt
MjMwMSw3ICsyMzAxLDcgQEAgeF9nZXRfZm9jdXNfZnJhbWUgKHN0cnVjdCBmcmFtZSAqZnJh
bWUpCiAKIERFRlVOICgieHctY29sb3ItZGVmaW5lZC1wIiwgRnh3X2NvbG9yX2RlZmluZWRf
cCwgU3h3X2NvbG9yX2RlZmluZWRfcCwgMSwgMiwgMCwKICAgICAgICBkb2M6IC8qIEludGVy
bmFsIGZ1bmN0aW9uIGNhbGxlZCBieSBgY29sb3ItZGVmaW5lZC1wJywgd2hpY2ggc2VlLgot
KE5vdGUgdGhhdCB0aGUgTmV4dHN0ZXAgdmVyc2lvbiBvZiB0aGlzIGZ1bmN0aW9uIGlnbm9y
ZXMgRlJBTUUuKSAgKi8pCitcKE5vdGUgdGhhdCB0aGUgTmV4dHN0ZXAgdmVyc2lvbiBvZiB0
aGlzIGZ1bmN0aW9uIGlnbm9yZXMgRlJBTUUuKSAgKi8pCiAgICAgIChMaXNwX09iamVjdCBj
b2xvciwgTGlzcF9PYmplY3QgZnJhbWUpCiB7CiAgIE5TQ29sb3IgKiBjb2w7CmRpZmYgLS1n
aXQgYS9zcmMvbnNmb250Lm0gYi9zcmMvbnNmb250Lm0KaW5kZXggYjQ2NjgwYi4uOTJlN2Qx
MSAxMDA2NDQKLS0tIGEvc3JjL25zZm9udC5tCisrKyBiL3NyYy9uc2ZvbnQubQpAQCAtNiw4
ICs2LDggQEAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLgogCiBHTlUgRW1hY3Mg
aXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlm
eQogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZSBhcyBwdWJsaXNoZWQgYnkKLXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhl
ciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0oYXQgeW91ciBvcHRpb24pIGFueSBs
YXRlciB2ZXJzaW9uLgordGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZl
cnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cit5b3VyIG9wdGlvbikgYW55IGxhdGVy
IHZlcnNpb24uCiAKIEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0
IGl0IHdpbGwgYmUgdXNlZnVsLAogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0
IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKZGlmZiAtLWdpdCBhL3NyYy9uc2d1aS5o
IGIvc3JjL25zZ3VpLmgKaW5kZXggY2MyZTQ1ZS4uOGRhYzFiZCAxMDA2NDQKLS0tIGEvc3Jj
L25zZ3VpLmgKKysrIGIvc3JjL25zZ3VpLmgKQEAgLTUsOCArNSw4IEBAIFRoaXMgZmlsZSBp
cyBwYXJ0IG9mIEdOVSBFbWFjcy4KIAogR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlv
dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0IHVuZGVyIHRoZSB0ZXJt
cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci10
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBM
aWNlbnNlLCBvcgotKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KK3RoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vu
c2UsIG9yIChhdAoreW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogCiBHTlUgRW1h
Y3MgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK
IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh
cnJhbnR5IG9mCmRpZmYgLS1naXQgYS9zcmMvbnNpbWFnZS5tIGIvc3JjL25zaW1hZ2UubQpp
bmRleCBiODcxNDQ4Li41YjI1MzRiIDEwMDY0NAotLS0gYS9zcmMvbnNpbWFnZS5tCisrKyBi
L3NyYy9uc2ltYWdlLm0KQEAgLTYsOCArNiw4IEBAIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdO
VSBFbWFjcy4KIAogR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0
cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci10aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgot
KGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KK3RoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdAor
eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogCiBHTlUgRW1hY3MgaXMgZGlzdHJp
YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIGJ1dCBXSVRIT1VU
IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCmRp
ZmYgLS1naXQgYS9zcmMvbnNtZW51Lm0gYi9zcmMvbnNtZW51Lm0KaW5kZXggYzZkNjgzNS4u
N2QzNDBlOCAxMDA2NDQKLS0tIGEvc3JjL25zbWVudS5tCisrKyBiL3NyYy9uc21lbnUubQpA
QCAtNSw4ICs1LDggQEAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLgogCiBHTlUg
RW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
IG1vZGlmeQogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s
IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0oYXQgeW91ciBvcHRpb24p
IGFueSBsYXRlciB2ZXJzaW9uLgordGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0
aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cit5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCiAKIEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w
ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3
aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKZGlmZiAtLWdpdCBhL3NyYy9u
c3NlbGVjdC5tIGIvc3JjL25zc2VsZWN0Lm0KaW5kZXggNDYzZjAyYi4uZWJhMjM5MyAxMDA2
NDQKLS0tIGEvc3JjL25zc2VsZWN0Lm0KKysrIGIvc3JjL25zc2VsZWN0Lm0KQEAgLTYsOCAr
Niw4IEBAIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBFbWFjcy4KIAogR05VIEVtYWNzIGlz
IGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkK
IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug
YXMgcHVibGlzaGVkIGJ5Ci10aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIg
dmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0
ZXIgdmVyc2lvbi4KK3RoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJz
aW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdAoreW91ciBvcHRpb24pIGFueSBsYXRlciB2
ZXJzaW9uLgogCiBHTlUgRW1hY3MgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp
dCB3aWxsIGJlIHVzZWZ1bCwKIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl
dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCkBAIC0zMTYsNyArMzE2LDcgQEAgREVGVU4g
KCJucy1vd24tc2VsZWN0aW9uLWludGVybmFsIiwgRm5zX293bl9zZWxlY3Rpb25faW50ZXJu
YWwsCiAgICAgICAgU25zX293bl9zZWxlY3Rpb25faW50ZXJuYWwsIDIsIDIsIDAsCiAgICAg
ICAgZG9jOiAvKiBBc3NlcnQgYW4gWCBzZWxlY3Rpb24gb2YgdHlwZSBTRUxFQ1RJT04gYW5k
IHZhbHVlIFZBTFVFLgogU0VMRUNUSU9OIGlzIGEgc3ltYm9sLCB0eXBpY2FsbHkgYFBSSU1B
UlknLCBgU0VDT05EQVJZJywgb3IgYENMSVBCT0FSRCcuCi0oVGhvc2UgYXJlIGxpdGVyYWwg
dXBwZXItY2FzZSBzeW1ib2wgbmFtZXMsIHNpbmNlIHRoYXQncyB3aGF0IFggZXhwZWN0cy4p
CitcKFRob3NlIGFyZSBsaXRlcmFsIHVwcGVyLWNhc2Ugc3ltYm9sIG5hbWVzLCBzaW5jZSB0
aGF0J3Mgd2hhdCBYIGV4cGVjdHMuKQogVkFMVUUgaXMgdHlwaWNhbGx5IGEgc3RyaW5nLCBv
ciBhIGNvbnMgb2YgdHdvIG1hcmtlcnMsIGJ1dCBtYXkgYmUKIGFueXRoaW5nIHRoYXQgdGhl
IGZ1bmN0aW9ucyBvbiBgc2VsZWN0aW9uLWNvbnZlcnRlci1hbGlzdCcga25vdyBhYm91dC4g
ICovKQogICAgICAoTGlzcF9PYmplY3Qgc2VsZWN0aW9uLCBMaXNwX09iamVjdCB2YWx1ZSkK
QEAgLTQxNCw3ICs0MTQsNyBAQCBERUZVTiAoIm5zLXNlbGVjdGlvbi1vd25lci1wIiwgRm5z
X3NlbGVjdGlvbl9vd25lcl9wLCBTbnNfc2VsZWN0aW9uX293bmVyX3AsCiAgICAgICAgZG9j
OiAvKiBXaGV0aGVyIHRoZSBjdXJyZW50IEVtYWNzIHByb2Nlc3Mgb3ducyB0aGUgZ2l2ZW4g
WCBTZWxlY3Rpb24uCiBUaGUgYXJnIHNob3VsZCBiZSB0aGUgbmFtZSBvZiB0aGUgc2VsZWN0
aW9uIGluIHF1ZXN0aW9uLCB0eXBpY2FsbHkgb25lIG9mCiB0aGUgc3ltYm9scyBgUFJJTUFS
WScsIGBTRUNPTkRBUlknLCBvciBgQ0xJUEJPQVJEJy4KLShUaG9zZSBhcmUgbGl0ZXJhbCB1
cHBlci1jYXNlIHN5bWJvbCBuYW1lcywgc2luY2UgdGhhdCdzIHdoYXQgWCBleHBlY3RzLikK
K1woVGhvc2UgYXJlIGxpdGVyYWwgdXBwZXItY2FzZSBzeW1ib2wgbmFtZXMsIHNpbmNlIHRo
YXQncyB3aGF0IFggZXhwZWN0cy4pCiBGb3IgY29udmVuaWVuY2UsIHRoZSBzeW1ib2wgbmls
IGlzIHRoZSBzYW1lIGFzIGBQUklNQVJZJywKIGFuZCB0IGlzIHRoZSBzYW1lIGFzIGBTRUNP
TkRBUlknLiAgKi8pCiAgICAgIChMaXNwX09iamVjdCBzZWxlY3Rpb24pCkBAIC00MzMsNyAr
NDMzLDcgQEAgREVGVU4gKCJucy1nZXQtc2VsZWN0aW9uIiwgRm5zX2dldF9zZWxlY3Rpb24s
CiAgICAgICAgU25zX2dldF9zZWxlY3Rpb24sIDIsIDIsIDAsCiAgICAgICAgZG9jOiAvKiBS
ZXR1cm4gdGV4dCBzZWxlY3RlZCBmcm9tIHNvbWUgWCB3aW5kb3cuCiBTRUxFQ1RJT04tU1lN
Qk9MIGlzIHR5cGljYWxseSBgUFJJTUFSWScsIGBTRUNPTkRBUlknLCBvciBgQ0xJUEJPQVJE
Jy4KLShUaG9zZSBhcmUgbGl0ZXJhbCB1cHBlci1jYXNlIHN5bWJvbCBuYW1lcywgc2luY2Ug
dGhhdCdzIHdoYXQgWCBleHBlY3RzLikKK1woVGhvc2UgYXJlIGxpdGVyYWwgdXBwZXItY2Fz
ZSBzeW1ib2wgbmFtZXMsIHNpbmNlIHRoYXQncyB3aGF0IFggZXhwZWN0cy4pCiBUQVJHRVQt
VFlQRSBpcyB0aGUgdHlwZSBvZiBkYXRhIGRlc2lyZWQsIHR5cGljYWxseSBgU1RSSU5HJy4g
ICovKQogICAgICAoTGlzcF9PYmplY3Qgc2VsZWN0aW9uX25hbWUsIExpc3BfT2JqZWN0IHRh
cmdldF90eXBlKQogewpkaWZmIC0tZ2l0IGEvc3JjL25zdGVybS5oIGIvc3JjL25zdGVybS5o
CmluZGV4IGZhNTM5OWMuLjBhZWE5Y2MgMTAwNjQ0Ci0tLSBhL3NyYy9uc3Rlcm0uaAorKysg
Yi9zcmMvbnN0ZXJtLmgKQEAgLTYsOCArNiw4IEBAIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdO
VSBFbWFjcy4KIAogR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0
cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci10aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgot
KGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KK3RoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdAor
eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogCiBHTlUgRW1hY3MgaXMgZGlzdHJp
YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIGJ1dCBXSVRIT1VU
IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCkBA
IC0xMDQ0LDEwICsxMDQ0LDEwIEBAIHN0cnVjdCB4X291dHB1dAogCiAvKiBEaWZmZXJlbmNl
IGJ0d24gY2hhci1jb2x1bW4tY2FsY3VsYXRlZCBhbmQgYWN0dWFsIFNCIHdpZHRocy4KICAg
IFRoaXMgaXMgb25seSBhIGNvbmNlcm4gZm9yIHJlbmRlcmluZyB3aGVuIFNCIG9uIGxlZnQu
ICovCi0jZGVmaW5lIE5TX1NDUk9MTF9CQVJfQURKVVNUKHcsIGYpCQlcCi0oV0lORE9XX0hB
U19WRVJUSUNBTF9TQ1JPTExfQkFSX09OX0xFRlQgKHcpID8JXAotICAgIChGUkFNRV9TQ1JP
TExfQkFSX0NPTFMgKGYpICogRlJBTUVfQ09MVU1OX1dJRFRIIChmKQlcCi0gICAgICAgIC0g
TlNfU0NST0xMX0JBUl9XSURUSCAoZikpIDogMCkKKyNkZWZpbmUgTlNfU0NST0xMX0JBUl9B
REpVU1QodywgZikJCQkJXAorICAoV0lORE9XX0hBU19WRVJUSUNBTF9TQ1JPTExfQkFSX09O
X0xFRlQgKHcpID8JCQlcCisgICAoRlJBTUVfU0NST0xMX0JBUl9DT0xTIChmKSAqIEZSQU1F
X0NPTFVNTl9XSURUSCAoZikJCVwKKyAgICAtIE5TX1NDUk9MTF9CQVJfV0lEVEggKGYpKSA6
IDApCiAKIC8qIERpZmZlcmVuY2UgYnR3biBjaGFyLWxpbmUtY2FsY3VsYXRlZCBhbmQgYWN0
dWFsIFNCIGhlaWdodHMuCiAgICBUaGlzIGlzIG9ubHkgYSBjb25jZXJuIGZvciByZW5kZXJp
bmcgd2hlbiBTQiBvbiB0b3AuICovCmRpZmYgLS1naXQgYS9zcmMvbnN0ZXJtLm0gYi9zcmMv
bnN0ZXJtLm0KaW5kZXggMTg1NzUzZC4uMzhhYTRhMyAxMDA2NDQKLS0tIGEvc3JjL25zdGVy
bS5tCisrKyBiL3NyYy9uc3Rlcm0ubQpAQCAtNyw4ICs3LDggQEAgVGhpcyBmaWxlIGlzIHBh
cnQgb2YgR05VIEVtYWNzLgogCiBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNh
biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogaXQgdW5kZXIgdGhlIHRlcm1zIG9m
IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLXRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vu
c2UsIG9yCi0oYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgordGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwg
b3IgKGF0Cit5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAKIEdOVSBFbWFjcyBp
cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogYnV0
IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu
dHkgb2YKZGlmZiAtLWdpdCBhL3NyYy9wcmludC5jIGIvc3JjL3ByaW50LmMKaW5kZXggMmVj
YzBmNS4uMmI1M2Q3NSAxMDA2NDQKLS0tIGEvc3JjL3ByaW50LmMKKysrIGIvc3JjL3ByaW50
LmMKQEAgLTcsOCArNyw4IEBAIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBFbWFjcy4KIAog
R05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu
ZC9vciBtb2RpZnkKIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci10aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKGF0IHlvdXIgb3B0
aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KK3RoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s
IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdAoreW91ciBvcHRpb24p
IGFueSBsYXRlciB2ZXJzaW9uLgogCiBHTlUgRW1hY3MgaXMgZGlzdHJpYnV0ZWQgaW4gdGhl
IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U
WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCkBAIC0yMjI0LDcgKzIy
MjQsNyBAQCBBbHNvIHByaW50IGZvcm1mZWVkcyBhcyBgXFxmJy4gICovKTsKIAogICBERUZW
QVJfQk9PTCAoInByaW50LWVzY2FwZS1ub25hc2NpaSIsIHByaW50X2VzY2FwZV9ub25hc2Np
aSwKIAkgICAgICAgZG9jOiAvKiBOb24tbmlsIG1lYW5zIHByaW50IHVuaWJ5dGUgbm9uLUFT
Q0lJIGNoYXJzIGluIHN0cmluZ3MgYXMgXFxPT08uCi0oT09PIGlzIHRoZSBvY3RhbCByZXBy
ZXNlbnRhdGlvbiBvZiB0aGUgY2hhcmFjdGVyIGNvZGUuKQorXChPT08gaXMgdGhlIG9jdGFs
IHJlcHJlc2VudGF0aW9uIG9mIHRoZSBjaGFyYWN0ZXIgY29kZS4pCiBPbmx5IHNpbmdsZS1i
eXRlIGNoYXJhY3RlcnMgYXJlIGFmZmVjdGVkLCBhbmQgb25seSBpbiBgcHJpbjEnLgogV2hl
biB0aGUgb3V0cHV0IGdvZXMgaW4gYSBtdWx0aWJ5dGUgYnVmZmVyLCB0aGlzIGZlYXR1cmUg
aXMKIGVuYWJsZWQgcmVnYXJkbGVzcyBvZiB0aGUgdmFsdWUgb2YgdGhlIHZhcmlhYmxlLiAg
Ki8pOwpAQCAtMjIzMiw3ICsyMjMyLDcgQEAgZW5hYmxlZCByZWdhcmRsZXNzIG9mIHRoZSB2
YWx1ZSBvZiB0aGUgdmFyaWFibGUuICAqLyk7CiAKICAgREVGVkFSX0JPT0wgKCJwcmludC1l
c2NhcGUtbXVsdGlieXRlIiwgcHJpbnRfZXNjYXBlX211bHRpYnl0ZSwKIAkgICAgICAgZG9j
OiAvKiBOb24tbmlsIG1lYW5zIHByaW50IG11bHRpYnl0ZSBjaGFyYWN0ZXJzIGluIHN0cmlu
Z3MgYXMgXFx4WFhYWC4KLShYWFhYIGlzIHRoZSBoZXggcmVwcmVzZW50YXRpb24gb2YgdGhl
IGNoYXJhY3RlciBjb2RlLikKK1woWFhYWCBpcyB0aGUgaGV4IHJlcHJlc2VudGF0aW9uIG9m
IHRoZSBjaGFyYWN0ZXIgY29kZS4pCiBUaGlzIGFmZmVjdHMgb25seSBgcHJpbjEnLiAgKi8p
OwogICBwcmludF9lc2NhcGVfbXVsdGlieXRlID0gMDsKIApkaWZmIC0tZ2l0IGEvc3JjL3By
b2Nlc3MuYyBiL3NyYy9wcm9jZXNzLmMKaW5kZXggMWVhYzVlMS4uZGQ1MDg4MyAxMDA2NDQK
LS0tIGEvc3JjL3Byb2Nlc3MuYworKysgYi9zcmMvcHJvY2Vzcy5jCkBAIC03LDggKzcsOCBA
QCBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3MuCiAKIEdOVSBFbWFjcyBpcyBmcmVl
IHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1
Ymxpc2hlZCBieQotdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNp
b24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAz
IG9mIHRoZSBMaWNlbnNlLCBvciAoYXQKK3lvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv
bi4KIAogR05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls
bCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0
aGUgaW1wbGllZCB3YXJyYW50eSBvZgpAQCAtOTUzLDcgKzk1Myw3IEBAIERFRlVOICgicHJv
Y2Vzcy1jb21tYW5kIiwgRnByb2Nlc3NfY29tbWFuZCwgU3Byb2Nlc3NfY29tbWFuZCwgMSwg
MSwgMCwKIFRoaXMgaXMgYSBsaXN0IG9mIHN0cmluZ3MsIHRoZSBmaXJzdCBzdHJpbmcgYmVp
bmcgdGhlIHByb2dyYW0gZXhlY3V0ZWQKIGFuZCB0aGUgcmVzdCBvZiB0aGUgc3RyaW5ncyBi
ZWluZyB0aGUgYXJndW1lbnRzIGdpdmVuIHRvIGl0LgogRm9yIGEgbmV0d29yayBvciBzZXJp
YWwgcHJvY2VzcywgdGhpcyBpcyBuaWwgKHByb2Nlc3MgaXMgcnVubmluZykgb3IgdAotKHBy
b2Nlc3MgaXMgc3RvcHBlZCkuICAqLykKK1wocHJvY2VzcyBpcyBzdG9wcGVkKS4gICovKQog
ICAocmVnaXN0ZXIgTGlzcF9PYmplY3QgcHJvY2VzcykKIHsKICAgQ0hFQ0tfUFJPQ0VTUyAo
cHJvY2Vzcyk7CkBAIC0yNjcwLDcgKzI2NzAsNyBAQCBpcyBub3QgZ2l2ZW4gb3IgbmlsLCAx
IHN0b3BiaXQgaXMgdXNlZC4KIDpmbG93Y29udHJvbCBGTE9XQ09OVFJPTCAtLSBGTE9XQ09O
VFJPTCBkZXRlcm1pbmVzIHRoZSB0eXBlIG9mCiBmbG93Y29udHJvbCB0byBiZSB1c2VkLCB3
aGljaCBpcyBlaXRoZXIgbmlsIChkb24ndCB1c2UgZmxvd2NvbnRyb2wpLAogdGhlIHN5bWJv
bCBgaHcnICh1c2UgUlRTL0NUUyBoYXJkd2FyZSBmbG93Y29udHJvbCksIG9yIHRoZSBzeW1i
b2wgYHN3JwotKHVzZSBYT04vWE9GRiBzb2Z0d2FyZSBmbG93Y29udHJvbCkuICBJZiBGTE9X
Q09OVFJPTCBpcyBub3QgZ2l2ZW4sIG5vCitcKHVzZSBYT04vWE9GRiBzb2Z0d2FyZSBmbG93
Y29udHJvbCkuICBJZiBGTE9XQ09OVFJPTCBpcyBub3QgZ2l2ZW4sIG5vCiBmbG93Y29udHJv
bCBpcyB1c2VkLgogCiBgc2VyaWFsLXByb2Nlc3MtY29uZmlndXJlJyBpcyBjYWxsZWQgYnkg
YG1ha2Utc2VyaWFsLXByb2Nlc3MnIGZvciB0aGUKQEAgLTI2NzgsMTIgKzI2NzgsMTIgQEAg
aW5pdGlhbCBjb25maWd1cmF0aW9uIG9mIHRoZSBzZXJpYWwgcG9ydC4KIAogRXhhbXBsZXM6
CiAKLShzZXJpYWwtcHJvY2Vzcy1jb25maWd1cmUgOnByb2Nlc3MgIi9kZXYvdHR5UzAiIDpz
cGVlZCAxMjAwKQorXChzZXJpYWwtcHJvY2Vzcy1jb25maWd1cmUgOnByb2Nlc3MgIi9kZXYv
dHR5UzAiIDpzcGVlZCAxMjAwKQogCi0oc2VyaWFsLXByb2Nlc3MtY29uZmlndXJlCitcKHNl
cmlhbC1wcm9jZXNzLWNvbmZpZ3VyZQogICAgIDpidWZmZXIgIkNPTTEiIDpzdG9wYml0cyAx
IDpwYXJpdHkgXFw9J29kZCA6Zmxvd2NvbnRyb2wgXFw9J2h3KQogCi0oc2VyaWFsLXByb2Nl
c3MtY29uZmlndXJlIDpwb3J0ICJcXFxcLlxcQ09NMTMiIDpieXRlc2l6ZSA3KQorXChzZXJp
YWwtcHJvY2Vzcy1jb25maWd1cmUgOnBvcnQgIlxcXFwuXFxDT00xMyIgOmJ5dGVzaXplIDcp
CiAKIHVzYWdlOiAoc2VyaWFsLXByb2Nlc3MtY29uZmlndXJlICZyZXN0IEFSR1MpICAqLykK
ICAgKHB0cmRpZmZfdCBuYXJncywgTGlzcF9PYmplY3QgKmFyZ3MpCkBAIC0yNzc3LDEzICsy
Nzc3LDEzIEBAIGlzIGF2YWlsYWJsZSB2aWEgdGhlIGZ1bmN0aW9uIGBwcm9jZXNzLWNvbnRh
Y3QnLgogCiBFeGFtcGxlczoKIAotKG1ha2Utc2VyaWFsLXByb2Nlc3MgOnBvcnQgIi9kZXYv
dHR5UzAiIDpzcGVlZCA5NjAwKQorXChtYWtlLXNlcmlhbC1wcm9jZXNzIDpwb3J0ICIvZGV2
L3R0eVMwIiA6c3BlZWQgOTYwMCkKIAotKG1ha2Utc2VyaWFsLXByb2Nlc3MgOnBvcnQgIkNP
TTEiIDpzcGVlZCAxMTUyMDAgOnN0b3BiaXRzIDIpCitcKG1ha2Utc2VyaWFsLXByb2Nlc3Mg
OnBvcnQgIkNPTTEiIDpzcGVlZCAxMTUyMDAgOnN0b3BiaXRzIDIpCiAKLShtYWtlLXNlcmlh
bC1wcm9jZXNzIDpwb3J0ICJcXFxcLlxcQ09NMTMiIDpzcGVlZCAxMjAwIDpieXRlc2l6ZSA3
IDpwYXJpdHkgXFw9J29kZCkKK1wobWFrZS1zZXJpYWwtcHJvY2VzcyA6cG9ydCAiXFxcXC5c
XENPTTEzIiA6c3BlZWQgMTIwMCA6Ynl0ZXNpemUgNyA6cGFyaXR5IFxcPSdvZGQpCiAKLSht
YWtlLXNlcmlhbC1wcm9jZXNzIDpwb3J0ICIvZGV2L3R0eS5CbHVlQ29uc29sZS1TUFAtMSIg
OnNwZWVkIG5pbCkKK1wobWFrZS1zZXJpYWwtcHJvY2VzcyA6cG9ydCAiL2Rldi90dHkuQmx1
ZUNvbnNvbGUtU1BQLTEiIDpzcGVlZCBuaWwpCiAKIHVzYWdlOiAgKG1ha2Utc2VyaWFsLXBy
b2Nlc3MgJnJlc3QgQVJHUykgICovKQogICAocHRyZGlmZl90IG5hcmdzLCBMaXNwX09iamVj
dCAqYXJncykKZGlmZiAtLWdpdCBhL3NyYy9wcm9jZXNzLmggYi9zcmMvcHJvY2Vzcy5oCmlu
ZGV4IDhkOWY4ZjQuLjJlNzQzYTMgMTAwNjQ0Ci0tLSBhL3NyYy9wcm9jZXNzLmgKKysrIGIv
c3JjL3Byb2Nlc3MuaApAQCAtNSw4ICs1LDggQEAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05V
IEVtYWNzLgogCiBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLXRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0o
YXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgordGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cit5
b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAKIEdOVSBFbWFjcyBpcyBkaXN0cmli
dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogYnV0IFdJVEhPVVQg
QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKZGlm
ZiAtLWdpdCBhL3NyYy9wcm9maWxlci5jIGIvc3JjL3Byb2ZpbGVyLmMKaW5kZXggOTVmODRm
ZC4uMzFiZDc3ZiAxMDA2NDQKLS0tIGEvc3JjL3Byb2ZpbGVyLmMKKysrIGIvc3JjL3Byb2Zp
bGVyLmMKQEAgLTYsOCArNiw4IEBAIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBFbWFjcy4K
IAogR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vciBtb2RpZnkKIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwg
UHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci10aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKGF0IHlvdXIg
b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KK3RoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdAoreW91ciBvcHRp
b24pIGFueSBsYXRlciB2ZXJzaW9uLgogCiBHTlUgRW1hY3MgaXMgZGlzdHJpYnV0ZWQgaW4g
dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIGJ1dCBXSVRIT1VUIEFOWSBXQVJS
QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCmRpZmYgLS1naXQg
YS9zcmMvcHVyZXNpemUuaCBiL3NyYy9wdXJlc2l6ZS5oCmluZGV4IGJjYjVhOWMuLmZiOWQ5
MzQgMTAwNjQ0Ci0tLSBhL3NyYy9wdXJlc2l6ZS5oCisrKyBiL3NyYy9wdXJlc2l6ZS5oCkBA
IC01LDggKzUsOCBAQCBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3MuCiAKIEdOVSBF
bWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3Ig
bW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg
ZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLShhdCB5b3VyIG9wdGlvbikg
YW55IGxhdGVyIHZlcnNpb24uCit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRo
ZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQKK3lvdXIgb3B0aW9uKSBhbnkg
bGF0ZXIgdmVyc2lvbi4KIAogR05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl
IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp
dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpkaWZmIC0tZ2l0IGEvc3JjL3Jh
bGxvYy5jIGIvc3JjL3JhbGxvYy5jCmluZGV4IDEyZDJmYTkuLmE5NGY4MWIgMTAwNjQ0Ci0t
LSBhL3NyYy9yYWxsb2MuYworKysgYi9zcmMvcmFsbG9jLmMKQEAgLTUsOCArNSw4IEBAIFRo
aXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBFbWFjcy4KIAogR05VIEVtYWNzIGlzIGZyZWUgc29m
dHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0IHVuZGVy
IHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlz
aGVkIGJ5Ci10aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAz
IG9mIHRoZSBMaWNlbnNlLCBvcgotKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv
bi4KK3RoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2Yg
dGhlIExpY2Vuc2UsIG9yIChhdAoreW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgog
CiBHTlUgRW1hY3MgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl
IHVzZWZ1bCwKIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mCmRpZmYgLS1naXQgYS9zcmMvcmVnaW9uLWNhY2hlLmMgYi9z
cmMvcmVnaW9uLWNhY2hlLmMKaW5kZXggNGNlN2RlOC4uNDU4NDk1NiAxMDA2NDQKLS0tIGEv
c3JjL3JlZ2lvbi1jYWNoZS5jCisrKyBiL3NyYy9yZWdpb24tY2FjaGUuYwpAQCAtNyw4ICs3
LDggQEAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLgogCiBHTlUgRW1hY3MgaXMg
ZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQog
aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBh
cyBwdWJsaXNoZWQgYnkKLXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2
ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0oYXQgeW91ciBvcHRpb24pIGFueSBsYXRl
ciB2ZXJzaW9uLgordGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNp
b24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cit5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCiAKIEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0
IHdpbGwgYmUgdXNlZnVsLAogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2
ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKZGlmZiAtLWdpdCBhL3NyYy9yZWdpb24tY2Fj
aGUuaCBiL3NyYy9yZWdpb24tY2FjaGUuaAppbmRleCAwYzg4NjFmLi4yNzA1MzFlIDEwMDY0
NAotLS0gYS9zcmMvcmVnaW9uLWNhY2hlLmgKKysrIGIvc3JjL3JlZ2lvbi1jYWNoZS5oCkBA
IC03LDggKzcsOCBAQCBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3MuCiAKIEdOVSBF
bWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3Ig
bW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg
ZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLShhdCB5b3VyIG9wdGlvbikg
YW55IGxhdGVyIHZlcnNpb24uCit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRo
ZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQKK3lvdXIgb3B0aW9uKSBhbnkg
bGF0ZXIgdmVyc2lvbi4KIAogR05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl
IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp
dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpkaWZmIC0tZ2l0IGEvc3JjL3Nj
cm9sbC5jIGIvc3JjL3Njcm9sbC5jCmluZGV4IDUxN2NjNjguLmI4ODYxMDggMTAwNjQ0Ci0t
LSBhL3NyYy9zY3JvbGwuYworKysgYi9zcmMvc2Nyb2xsLmMKQEAgLTcsOCArNyw4IEBAIFRo
aXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBFbWFjcy4KIAogR05VIEVtYWNzIGlzIGZyZWUgc29m
dHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0IHVuZGVy
IHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlz
aGVkIGJ5Ci10aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAz
IG9mIHRoZSBMaWNlbnNlLCBvcgotKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv
bi4KK3RoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2Yg
dGhlIExpY2Vuc2UsIG9yIChhdAoreW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgog
CiBHTlUgRW1hY3MgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl
IHVzZWZ1bCwKIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mCmRpZmYgLS1naXQgYS9zcmMvc2VhcmNoLmMgYi9zcmMvc2Vh
cmNoLmMKaW5kZXggNjhiMDEyMS4uZjM5ZGY2NyAxMDA2NDQKLS0tIGEvc3JjL3NlYXJjaC5j
CisrKyBiL3NyYy9zZWFyY2guYwpAQCAtNyw4ICs3LDggQEAgVGhpcyBmaWxlIGlzIHBhcnQg
b2YgR05VIEVtYWNzLgogCiBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiBy
ZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo
ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLXRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2Us
IG9yCi0oYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgordGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3Ig
KGF0Cit5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAKIEdOVSBFbWFjcyBpcyBk
aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogYnV0IFdJ
VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg
b2YKZGlmZiAtLWdpdCBhL3NyYy9zaGVhcC5jIGIvc3JjL3NoZWFwLmMKaW5kZXggMTQ1MWVj
YS4uZmM1M2M1OCAxMDA2NDQKLS0tIGEvc3JjL3NoZWFwLmMKKysrIGIvc3JjL3NoZWFwLmMK
QEAgLTcsOCArNyw4IEBAIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBFbWFjcy4KIAogR05V
IEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v
ciBtb2RpZnkKIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci10aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
LCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKGF0IHlvdXIgb3B0aW9u
KSBhbnkgbGF0ZXIgdmVyc2lvbi4KK3RoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVp
dGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdAoreW91ciBvcHRpb24pIGFu
eSBsYXRlciB2ZXJzaW9uLgogCiBHTlUgRW1hY3MgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv
cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg
d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCmRpZmYgLS1naXQgYS9zcmMv
c291bmQuYyBiL3NyYy9zb3VuZC5jCmluZGV4IDQyZjFmY2EuLmI5YTc5NGIgMTAwNjQ0Ci0t
LSBhL3NyYy9zb3VuZC5jCisrKyBiL3NyYy9zb3VuZC5jCkBAIC02LDggKzYsOCBAQCBUaGlz
IGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3MuCiAKIEdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3
YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0
aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hl
ZCBieQotdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBv
ZiB0aGUgTGljZW5zZSwgb3IKLShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u
Cit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRo
ZSBMaWNlbnNlLCBvciAoYXQKK3lvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIAog
R05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1
c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w
bGllZCB3YXJyYW50eSBvZgpkaWZmIC0tZ2l0IGEvc3JjL3N5bnRheC5jIGIvc3JjL3N5bnRh
eC5jCmluZGV4IDdlOTg4NTQuLjhlMTRiZjMgMTAwNjQ0Ci0tLSBhL3NyYy9zeW50YXguYwor
KysgYi9zcmMvc3ludGF4LmMKQEAgLTYsOCArNiw4IEBAIFRoaXMgZmlsZSBpcyBwYXJ0IG9m
IEdOVSBFbWFjcy4KIAogR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg
R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci10aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBv
cgotKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KK3RoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChh
dAoreW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogCiBHTlUgRW1hY3MgaXMgZGlz
dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIGJ1dCBXSVRI
T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m
CmRpZmYgLS1naXQgYS9zcmMvc3ludGF4LmggYi9zcmMvc3ludGF4LmgKaW5kZXggYzM1NzVk
NC4uOTZlOTM4YSAxMDA2NDQKLS0tIGEvc3JjL3N5bnRheC5oCisrKyBiL3NyYy9zeW50YXgu
aApAQCAtNyw4ICs3LDggQEAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLgogCiBH
TlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yIG1vZGlmeQogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0oYXQgeW91ciBvcHRp
b24pIGFueSBsYXRlciB2ZXJzaW9uLgordGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg
ZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cit5b3VyIG9wdGlvbikg
YW55IGxhdGVyIHZlcnNpb24uCiAKIEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUg
aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ
OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKZGlmZiAtLWdpdCBhL3Ny
Yy9zeXNkZXAuYyBiL3NyYy9zeXNkZXAuYwppbmRleCAzYzNkYTBkLi40NjAxNjZkIDEwMDY0
NAotLS0gYS9zcmMvc3lzZGVwLmMKKysrIGIvc3JjL3N5c2RlcC5jCkBAIC02LDggKzYsOCBA
QCBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3MuCiAKIEdOVSBFbWFjcyBpcyBmcmVl
IHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1
Ymxpc2hlZCBieQotdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNp
b24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAz
IG9mIHRoZSBMaWNlbnNlLCBvciAoYXQKK3lvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv
bi4KIAogR05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls
bCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0
aGUgaW1wbGllZCB3YXJyYW50eSBvZgpkaWZmIC0tZ2l0IGEvc3JjL3N5c3NlbGVjdC5oIGIv
c3JjL3N5c3NlbGVjdC5oCmluZGV4IGI2MjVhNjUuLjBiZjliNDAgMTAwNjQ0Ci0tLSBhL3Ny
Yy9zeXNzZWxlY3QuaAorKysgYi9zcmMvc3lzc2VsZWN0LmgKQEAgLTUsOCArNSw4IEBAIFRo
aXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBFbWFjcy4KIAogR05VIEVtYWNzIGlzIGZyZWUgc29m
dHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0IHVuZGVy
IHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlz
aGVkIGJ5Ci10aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAz
IG9mIHRoZSBMaWNlbnNlLCBvcgotKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv
bi4KK3RoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2Yg
dGhlIExpY2Vuc2UsIG9yIChhdAoreW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgog
CiBHTlUgRW1hY3MgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl
IHVzZWZ1bCwKIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mCmRpZmYgLS1naXQgYS9zcmMvc3lzc2lnbmFsLmggYi9zcmMv
c3lzc2lnbmFsLmgKaW5kZXggZGY0YjE0MC4uM2RlODNjNyAxMDA2NDQKLS0tIGEvc3JjL3N5
c3NpZ25hbC5oCisrKyBiL3NyYy9zeXNzaWduYWwuaApAQCAtNiw4ICs2LDggQEAgVGhpcyBm
aWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLgogCiBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2Fy
ZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQg
YnkKLXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2Yg
dGhlIExpY2Vuc2UsIG9yCi0oYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgor
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUg
TGljZW5zZSwgb3IgKGF0Cit5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAKIEdO
VSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl
ZnVsLAogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp
ZWQgd2FycmFudHkgb2YKZGlmZiAtLWdpdCBhL3NyYy9zeXNzdGRpby5oIGIvc3JjL3N5c3N0
ZGlvLmgKaW5kZXggZTE0MTZiNi4uZjFmOTIzZSAxMDA2NDQKLS0tIGEvc3JjL3N5c3N0ZGlv
LmgKKysrIGIvc3JjL3N5c3N0ZGlvLmgKQEAgLTYsOCArNiw4IEBAIFRoaXMgZmlsZSBpcyBw
YXJ0IG9mIEdOVSBFbWFjcy4KIAogR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBj
YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0IHVuZGVyIHRoZSB0ZXJtcyBv
ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci10aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNl
bnNlLCBvcgotKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KK3RoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2Us
IG9yIChhdAoreW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogCiBHTlUgRW1hY3Mg
aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIGJ1
dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh
bnR5IG9mCmRpZmYgLS1naXQgYS9zcmMvc3lzdGltZS5oIGIvc3JjL3N5c3RpbWUuaAppbmRl
eCAwNGM4M2ZmLi4zNTVhM2MyIDEwMDY0NAotLS0gYS9zcmMvc3lzdGltZS5oCisrKyBiL3Ny
Yy9zeXN0aW1lLmgKQEAgLTUsOCArNSw4IEBAIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBF
bWFjcy4KIAogR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmli
dXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdl
bmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci10aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKGF0
IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KK3RoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdAoreW91
ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogCiBHTlUgRW1hY3MgaXMgZGlzdHJpYnV0
ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIGJ1dCBXSVRIT1VUIEFO
WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCmRpZmYg
LS1naXQgYS9zcmMvc3lzdHR5LmggYi9zcmMvc3lzdHR5LmgKaW5kZXggMTE2YWY5Ny4uZmJk
YzZiMSAxMDA2NDQKLS0tIGEvc3JjL3N5c3R0eS5oCisrKyBiL3NyYy9zeXN0dHkuaApAQCAt
NSw4ICs1LDggQEAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLgogCiBHTlUgRW1h
Y3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1v
ZGlmeQogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZSBhcyBwdWJsaXNoZWQgYnkKLXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVp
dGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0oYXQgeW91ciBvcHRpb24pIGFu
eSBsYXRlciB2ZXJzaW9uLgordGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVy
IHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cit5b3VyIG9wdGlvbikgYW55IGxh
dGVyIHZlcnNpb24uCiAKIEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0
aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo
b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKZGlmZiAtLWdpdCBhL3NyYy9zeXN3
YWl0LmggYi9zcmMvc3lzd2FpdC5oCmluZGV4IGNhNjcyZDEuLjgwMGQ1NzIgMTAwNjQ0Ci0t
LSBhL3NyYy9zeXN3YWl0LmgKKysrIGIvc3JjL3N5c3dhaXQuaApAQCAtNSw4ICs1LDggQEAg
VGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLgogCiBHTlUgRW1hY3MgaXMgZnJlZSBz
b2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogaXQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJs
aXNoZWQgYnkKLXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9u
IDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0oYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz
aW9uLgordGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBv
ZiB0aGUgTGljZW5zZSwgb3IgKGF0Cit5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u
CiAKIEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg
YmUgdXNlZnVsLAogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl
IGltcGxpZWQgd2FycmFudHkgb2YKZGlmZiAtLWdpdCBhL3NyYy90ZXJtLmMgYi9zcmMvdGVy
bS5jCmluZGV4IDk5MzkyOGUuLjE3ZjM2NzkgMTAwNjQ0Ci0tLSBhL3NyYy90ZXJtLmMKKysr
IGIvc3JjL3Rlcm0uYwpAQCAtNiw4ICs2LDggQEAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05V
IEVtYWNzLgogCiBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLXRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0o
YXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgordGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cit5
b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAKIEdOVSBFbWFjcyBpcyBkaXN0cmli
dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogYnV0IFdJVEhPVVQg
QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKZGlm
ZiAtLWdpdCBhL3NyYy90ZXJtY2hhci5oIGIvc3JjL3Rlcm1jaGFyLmgKaW5kZXggZDgxNmRh
Mi4uMzViMzBmYiAxMDA2NDQKLS0tIGEvc3JjL3Rlcm1jaGFyLmgKKysrIGIvc3JjL3Rlcm1j
aGFyLmgKQEAgLTUsOCArNSw4IEBAIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBFbWFjcy4K
IAogR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vciBtb2RpZnkKIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwg
UHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci10aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKGF0IHlvdXIg
b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KK3RoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdAoreW91ciBvcHRp
b24pIGFueSBsYXRlciB2ZXJzaW9uLgogCiBHTlUgRW1hY3MgaXMgZGlzdHJpYnV0ZWQgaW4g
dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIGJ1dCBXSVRIT1VUIEFOWSBXQVJS
QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCmRpZmYgLS1naXQg
YS9zcmMvdGVybWhvb2tzLmggYi9zcmMvdGVybWhvb2tzLmgKaW5kZXggYzE4MzUyOC4uZDIx
ZDZjZSAxMDA2NDQKLS0tIGEvc3JjL3Rlcm1ob29rcy5oCisrKyBiL3NyYy90ZXJtaG9va3Mu
aApAQCAtNyw4ICs3LDggQEAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLgogCiBH
TlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yIG1vZGlmeQogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0oYXQgeW91ciBvcHRp
b24pIGFueSBsYXRlciB2ZXJzaW9uLgordGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg
ZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cit5b3VyIG9wdGlvbikg
YW55IGxhdGVyIHZlcnNpb24uCiAKIEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUg
aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ
OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKZGlmZiAtLWdpdCBhL3Ny
Yy90ZXJtaW5hbC5jIGIvc3JjL3Rlcm1pbmFsLmMKaW5kZXggYTU1Nzk2Ny4uNWRkOTk3NSAx
MDA2NDQKLS0tIGEvc3JjL3Rlcm1pbmFsLmMKKysrIGIvc3JjL3Rlcm1pbmFsLmMKQEAgLTUs
OCArNSw4IEBAIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBFbWFjcy4KIAogR05VIEVtYWNz
IGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2Rp
ZnkKIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu
c2UgYXMgcHVibGlzaGVkIGJ5Ci10aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRo
ZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKGF0IHlvdXIgb3B0aW9uKSBhbnkg
bGF0ZXIgdmVyc2lvbi4KK3RoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2
ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdAoreW91ciBvcHRpb24pIGFueSBsYXRl
ciB2ZXJzaW9uLgogCiBHTlUgRW1hY3MgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh
dCBpdCB3aWxsIGJlIHVzZWZ1bCwKIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91
dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCmRpZmYgLS1naXQgYS9zcmMvdGVybWlu
Zm8uYyBiL3NyYy90ZXJtaW5mby5jCmluZGV4IGI4YjVmOTcuLjA0ZGEzMGIgMTAwNjQ0Ci0t
LSBhL3NyYy90ZXJtaW5mby5jCisrKyBiL3NyYy90ZXJtaW5mby5jCkBAIC01LDggKzUsOCBA
QCBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3MuCiAKIEdOVSBFbWFjcyBpcyBmcmVl
IHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1
Ymxpc2hlZCBieQotdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNp
b24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAz
IG9mIHRoZSBMaWNlbnNlLCBvciAoYXQKK3lvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv
bi4KIAogR05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls
bCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0
aGUgaW1wbGllZCB3YXJyYW50eSBvZgpkaWZmIC0tZ2l0IGEvc3JjL3Rlcm1vcHRzLmggYi9z
cmMvdGVybW9wdHMuaAppbmRleCA3Y2ZmYTE2Li5jNjRiZDFiIDEwMDY0NAotLS0gYS9zcmMv
dGVybW9wdHMuaAorKysgYi9zcmMvdGVybW9wdHMuaApAQCAtNiw4ICs2LDggQEAgVGhpcyBm
aWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLgogCiBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2Fy
ZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQg
YnkKLXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2Yg
dGhlIExpY2Vuc2UsIG9yCi0oYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgor
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUg
TGljZW5zZSwgb3IgKGF0Cit5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAKIEdO
VSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl
ZnVsLAogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp
ZWQgd2FycmFudHkgb2YKZGlmZiAtLWdpdCBhL3NyYy90ZXh0cHJvcC5jIGIvc3JjL3RleHRw
cm9wLmMKaW5kZXggNzAwOTFiOS4uYzRlNDlkOSAxMDA2NDQKLS0tIGEvc3JjL3RleHRwcm9w
LmMKKysrIGIvc3JjL3RleHRwcm9wLmMKQEAgLTYsOCArNiw4IEBAIFRoaXMgZmlsZSBpcyBw
YXJ0IG9mIEdOVSBFbWFjcy4KIAogR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBj
YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0IHVuZGVyIHRoZSB0ZXJtcyBv
ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci10aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNl
bnNlLCBvcgotKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KK3RoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2Us
IG9yIChhdAoreW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogCiBHTlUgRW1hY3Mg
aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIGJ1
dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh
bnR5IG9mCkBAIC0xNDkzLDcgKzE0OTMsNyBAQCBERUZVTiAoInJlbW92ZS10ZXh0LXByb3Bl
cnRpZXMiLCBGcmVtb3ZlX3RleHRfcHJvcGVydGllcywKICAgICAgICBkb2M6IC8qIFJlbW92
ZSBzb21lIHByb3BlcnRpZXMgZnJvbSB0ZXh0IGZyb20gU1RBUlQgdG8gRU5ELgogVGhlIHRo
aXJkIGFyZ3VtZW50IFBST1BFUlRJRVMgaXMgYSBwcm9wZXJ0eSBsaXN0CiB3aG9zZSBwcm9w
ZXJ0eSBuYW1lcyBzcGVjaWZ5IHRoZSBwcm9wZXJ0aWVzIHRvIHJlbW92ZS4KLShUaGUgdmFs
dWVzIHN0b3JlZCBpbiBQUk9QRVJUSUVTIGFyZSBpZ25vcmVkLikKK1woVGhlIHZhbHVlcyBz
dG9yZWQgaW4gUFJPUEVSVElFUyBhcmUgaWdub3JlZC4pCiBJZiB0aGUgb3B0aW9uYWwgZm91
cnRoIGFyZ3VtZW50IE9CSkVDVCBpcyBhIGJ1ZmZlciAob3IgbmlsLCB3aGljaCBtZWFucwog
dGhlIGN1cnJlbnQgYnVmZmVyKSwgU1RBUlQgYW5kIEVORCBhcmUgYnVmZmVyIHBvc2l0aW9u
cyAoaW50ZWdlcnMgb3IKIG1hcmtlcnMpLiAgSWYgT0JKRUNUIGlzIGEgc3RyaW5nLCBTVEFS
VCBhbmQgRU5EIGFyZSAwLWJhc2VkIGluZGljZXMgaW50byBpdC4KZGlmZiAtLWdpdCBhL3Ny
Yy90cGFyYW0uaCBiL3NyYy90cGFyYW0uaAppbmRleCBhYjgyZTViLi5jYzUzYmI5IDEwMDY0
NAotLS0gYS9zcmMvdHBhcmFtLmgKKysrIGIvc3JjL3RwYXJhbS5oCkBAIC02LDggKzYsOCBA
QCBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3MuCiAKIEdOVSBFbWFjcyBpcyBmcmVl
IHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1
Ymxpc2hlZCBieQotdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNp
b24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAz
IG9mIHRoZSBMaWNlbnNlLCBvciAoYXQKK3lvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv
bi4KIAogR05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls
bCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0
aGUgaW1wbGllZCB3YXJyYW50eSBvZgpkaWZmIC0tZ2l0IGEvc3JjL3VuZG8uYyBiL3NyYy91
bmRvLmMKaW5kZXggMWNjOWM5OC4uYmU1YjI3MCAxMDA2NDQKLS0tIGEvc3JjL3VuZG8uYwor
KysgYi9zcmMvdW5kby5jCkBAIC02LDggKzYsOCBAQCBUaGlzIGZpbGUgaXMgcGFydCBvZiBH
TlUgRW1hY3MuCiAKIEdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO
VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IK
LShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCit0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQK
K3lvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIAogR05VIEVtYWNzIGlzIGRpc3Ry
aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9V
VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpk
aWZmIC0tZ2l0IGEvc3JjL3VuZXhhaXguYyBiL3NyYy91bmV4YWl4LmMKaW5kZXggZWI1MWQy
OC4uYzIwMTJmNyAxMDA2NDQKLS0tIGEvc3JjL3VuZXhhaXguYworKysgYi9zcmMvdW5leGFp
eC5jCkBAIC02LDggKzYsOCBAQCBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3MuCiAK
IEdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLShhdCB5b3VyIG9w
dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
LCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQKK3lvdXIgb3B0aW9u
KSBhbnkgbGF0ZXIgdmVyc2lvbi4KIAogR05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRo
ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFO
VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpkaWZmIC0tZ2l0IGEv
c3JjL3VuZXhjb2ZmLmMgYi9zcmMvdW5leGNvZmYuYwppbmRleCBjYzBkZjMwLi42YTA4Mzgw
IDEwMDY0NAotLS0gYS9zcmMvdW5leGNvZmYuYworKysgYi9zcmMvdW5leGNvZmYuYwpAQCAt
NSw4ICs1LDggQEAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLgogCiBHTlUgRW1h
Y3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1v
ZGlmeQogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZSBhcyBwdWJsaXNoZWQgYnkKLXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVp
dGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0oYXQgeW91ciBvcHRpb24pIGFu
eSBsYXRlciB2ZXJzaW9uLgordGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVy
IHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cit5b3VyIG9wdGlvbikgYW55IGxh
dGVyIHZlcnNpb24uCiAKIEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0
aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo
b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKZGlmZiAtLWdpdCBhL3NyYy91bmV4
Y3cuYyBiL3NyYy91bmV4Y3cuYwppbmRleCBmZWJlOTM5Li5hZmQ1NDEzIDEwMDY0NAotLS0g
YS9zcmMvdW5leGN3LmMKKysrIGIvc3JjL3VuZXhjdy5jCkBAIC03LDggKzcsOCBAQCBUaGlz
IGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3MuCiAKIEdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3
YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0
aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hl
ZCBieQotdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBv
ZiB0aGUgTGljZW5zZSwgb3IKLShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u
Cit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRo
ZSBMaWNlbnNlLCBvciAoYXQKK3lvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIAog
R05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1
c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w
bGllZCB3YXJyYW50eSBvZgpkaWZmIC0tZ2l0IGEvc3JjL3VuZXhlbGYuYyBiL3NyYy91bmV4
ZWxmLmMKaW5kZXggZTkwMTk5NC4uMDY4ZDI2OCAxMDA2NDQKLS0tIGEvc3JjL3VuZXhlbGYu
YworKysgYi9zcmMvdW5leGVsZi5jCkBAIC01LDggKzUsOCBAQCBUaGlzIGZpbGUgaXMgcGFy
dCBvZiBHTlUgRW1hY3MuCiAKIEdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2Fu
IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2Yg
dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5z
ZSwgb3IKLShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCit0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBv
ciAoYXQKK3lvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIAogR05VIEVtYWNzIGlz
IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQg
V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50
eSBvZgpkaWZmIC0tZ2l0IGEvc3JjL3VuZXhtYWNvc3guYyBiL3NyYy91bmV4bWFjb3N4LmMK
aW5kZXggYmZiOGJkNC4uODI3ZWRhNSAxMDA2NDQKLS0tIGEvc3JjL3VuZXhtYWNvc3guYwor
KysgYi9zcmMvdW5leG1hY29zeC5jCkBAIC01LDggKzUsOCBAQCBUaGlzIGZpbGUgaXMgcGFy
dCBvZiBHTlUgRW1hY3MuCiAKIEdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2Fu
IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2Yg
dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5z
ZSwgb3IKLShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCit0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBv
ciAoYXQKK3lvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIAogR05VIEVtYWNzIGlz
IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQg
V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50
eSBvZgpkaWZmIC0tZ2l0IGEvc3JjL3VuZXh3MzIuYyBiL3NyYy91bmV4dzMyLmMKaW5kZXgg
NDYwYTM5ZS4uMTVhYTcyNiAxMDA2NDQKLS0tIGEvc3JjL3VuZXh3MzIuYworKysgYi9zcmMv
dW5leHczMi5jCkBAIC01LDggKzUsOCBAQCBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1h
Y3MuCiAKIEdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0
ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLShhdCB5
b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCit0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQKK3lvdXIg
b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIAogR05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVk
IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkg
V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpAQCAtMzQs
MTEgKzM0LDEwIEBAIGFsb25nIHdpdGggR05VIEVtYWNzLiAgSWYgbm90LCBzZWUgPGh0dHA6
Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8KIC8qIEluY2x1ZGUgcmVsZXZhbnQgZGVm
aW5pdGlvbnMgZnJvbSBJTUFHRUhMUC5ILCB3aGljaCBjYW4gYmUgZm91bmQKICAgIGluIFxc
d2luMzJzZGtcbXN0b29sc1xzYW1wbGVzXGltYWdlXGluY2x1ZGVcaW1hZ2VobHAuaC4gKi8K
IAotUElNQUdFX05UX0hFQURFUlMKLShfX3N0ZGNhbGwgKiBwZm5DaGVja1N1bU1hcHBlZEZp
bGUpIChMUFZPSUQgQmFzZUFkZHJlc3MsCi0JCQkJICAgIERXT1JEIEZpbGVMZW5ndGgsCi0J
CQkJICAgIExQRFdPUkQgSGVhZGVyU3VtLAotCQkJCSAgICBMUERXT1JEIENoZWNrU3VtKTsK
K1BJTUFHRV9OVF9IRUFERVJTIChfX3N0ZGNhbGwgKiBwZm5DaGVja1N1bU1hcHBlZEZpbGUp
IChMUFZPSUQgQmFzZUFkZHJlc3MsCisJCQkJCQkgICAgICAgRFdPUkQgRmlsZUxlbmd0aCwK
KwkJCQkJCSAgICAgICBMUERXT1JEIEhlYWRlclN1bSwKKwkJCQkJCSAgICAgICBMUERXT1JE
IENoZWNrU3VtKTsKIAogZXh0ZXJuIEJPT0wgY3RybF9jX2hhbmRsZXIgKHVuc2lnbmVkIGxv
bmcgdHlwZSk7CiAKZGlmZiAtLWdpdCBhL3NyYy92bS1saW1pdC5jIGIvc3JjL3ZtLWxpbWl0
LmMKaW5kZXggMGM2ZGJkZC4uZDMyMDUwZiAxMDA2NDQKLS0tIGEvc3JjL3ZtLWxpbWl0LmMK
KysrIGIvc3JjL3ZtLWxpbWl0LmMKQEAgLTUsOCArNSw4IEBAIFRoaXMgZmlsZSBpcyBwYXJ0
IG9mIEdOVSBFbWFjcy4KIAogR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4g
cmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci10aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNl
LCBvcgotKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KK3RoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9y
IChhdAoreW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogCiBHTlUgRW1hY3MgaXMg
ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIGJ1dCBX
SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5
IG9mCmRpZmYgLS1naXQgYS9zcmMvdzE2c2VsZWN0LmMgYi9zcmMvdzE2c2VsZWN0LmMKaW5k
ZXggNDhiYjgxMy4uNDM0YTU5OCAxMDA2NDQKLS0tIGEvc3JjL3cxNnNlbGVjdC5jCisrKyBi
L3NyYy93MTZzZWxlY3QuYwpAQCAtNiw4ICs2LDggQEAgVGhpcyBmaWxlIGlzIHBhcnQgb2Yg
R05VIEVtYWNzLgogCiBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRp
c3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH
TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLXRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9y
Ci0oYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgordGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0
Cit5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAKIEdOVSBFbWFjcyBpcyBkaXN0
cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogYnV0IFdJVEhP
VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK
QEAgLTY4Niw3ICs2ODYsNyBAQCBGb3IgTVMtV2luZG93cyBhbmQgTVMtRE9TOgogV2hlbiBz
ZW5kaW5nIG9yIHJlY2VpdmluZyB0ZXh0IHZpYSBzZWxlY3Rpb24gYW5kIGNsaXBib2FyZCwg
dGhlIHRleHQKIGlzIGVuY29kZWQgb3IgZGVjb2RlZCBieSB0aGlzIGNvZGluZyBzeXN0ZW0u
ICBUaGUgZGVmYXVsdCB2YWx1ZSBpcwogdGhlIGN1cnJlbnQgc3lzdGVtIGRlZmF1bHQgZW5j
b2Rpbmcgb24gOXgvTWUsIGB1dGYtMTZsZS1kb3MnCi0oVW5pY29kZSkgb24gTlQvVzJLL1hQ
LCBhbmQgYGlzby1sYXRpbi0xLWRvcycgb24gTVMtRE9TLgorXChVbmljb2RlKSBvbiBOVC9X
MksvWFAsIGFuZCBgaXNvLWxhdGluLTEtZG9zJyBvbiBNUy1ET1MuCiAKIEZvciBYIFdpbmRv
d3M6CiBXaGVuIHNlbmRpbmcgdGV4dCB2aWEgc2VsZWN0aW9uIGFuZCBjbGlwYm9hcmQsIGlm
IHRoZSB0YXJnZXQKZGlmZiAtLWdpdCBhL3NyYy93MzIuYyBiL3NyYy93MzIuYwppbmRleCBm
YmNmYjk3Li5jMjZmMTQ1IDEwMDY0NAotLS0gYS9zcmMvdzMyLmMKKysrIGIvc3JjL3czMi5j
CkBAIC02LDggKzYsOCBAQCBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3MuCiAKIEdO
VSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
biwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLShhdCB5b3VyIG9wdGlv
bikgYW55IGxhdGVyIHZlcnNpb24uCit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBl
aXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQKK3lvdXIgb3B0aW9uKSBh
bnkgbGF0ZXIgdmVyc2lvbi4KIAogR05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo
b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7
IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpkaWZmIC0tZ2l0IGEvc3Jj
L3czMi5oIGIvc3JjL3czMi5oCmluZGV4IGZkZTM4MDMuLjQyYTFjNDIgMTAwNjQ0Ci0tLSBh
L3NyYy93MzIuaAorKysgYi9zcmMvdzMyLmgKQEAgLTgsOCArOCw4IEBAIFRoaXMgZmlsZSBp
cyBwYXJ0IG9mIEdOVSBFbWFjcy4KIAogR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlv
dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0IHVuZGVyIHRoZSB0ZXJt
cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci10
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBM
aWNlbnNlLCBvcgotKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KK3RoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vu
c2UsIG9yIChhdAoreW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogCiBHTlUgRW1h
Y3MgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK
IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh
cnJhbnR5IG9mCmRpZmYgLS1naXQgYS9zcmMvdzMyY29tbW9uLmggYi9zcmMvdzMyY29tbW9u
LmgKaW5kZXggNGZiZWFiNS4uZjMwYzBjZSAxMDA2NDQKLS0tIGEvc3JjL3czMmNvbW1vbi5o
CisrKyBiL3NyYy93MzJjb21tb24uaApAQCAtNSw4ICs1LDggQEAgVGhpcyBmaWxlIGlzIHBh
cnQgb2YgR05VIEVtYWNzLgogCiBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNh
biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogaXQgdW5kZXIgdGhlIHRlcm1zIG9m
IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLXRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vu
c2UsIG9yCi0oYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgordGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwg
b3IgKGF0Cit5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAKIEdOVSBFbWFjcyBp
cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogYnV0
IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu
dHkgb2YKQEAgLTE1LDcgKzE1LDcgQEAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y
IG1vcmUgZGV0YWlscy4KIAogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0
aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIGFsb25nIHdpdGggR05VIEVtYWNzLiAg
SWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgotICAgCisKICov
CiAKICNpZm5kZWYgVzMyQ09NTU9OX0gKZGlmZiAtLWdpdCBhL3NyYy93MzJjb25zb2xlLmMg
Yi9zcmMvdzMyY29uc29sZS5jCmluZGV4IDYyNzdmMTMuLjUxMmQyMGQgMTAwNjQ0Ci0tLSBh
L3NyYy93MzJjb25zb2xlLmMKKysrIGIvc3JjL3czMmNvbnNvbGUuYwpAQCAtNSw4ICs1LDgg
QEAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLgogCiBHTlUgRW1hY3MgaXMgZnJl
ZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogaXQg
dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBw
dWJsaXNoZWQgYnkKLXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJz
aW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0oYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2
ZXJzaW9uLgordGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24g
MyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cit5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp
b24uCiAKIEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp
bGwgYmUgdXNlZnVsLAogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g
dGhlIGltcGxpZWQgd2FycmFudHkgb2YKZGlmZiAtLWdpdCBhL3NyYy93MzJmbnMuYyBiL3Ny
Yy93MzJmbnMuYwppbmRleCBhNTAxOGFlLi5iOTAwMmJhIDEwMDY0NAotLS0gYS9zcmMvdzMy
Zm5zLmMKKysrIGIvc3JjL3czMmZucy5jCkBAIC02LDggKzYsOCBAQCBUaGlzIGZpbGUgaXMg
cGFydCBvZiBHTlUgRW1hY3MuCiAKIEdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMg
b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGlj
ZW5zZSwgb3IKLShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCit0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNl
LCBvciAoYXQKK3lvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIAogR05VIEVtYWNz
IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBi
dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy
YW50eSBvZgpAQCAtNTIwNyw3ICs1MjA3LDcgQEAgeF9nZXRfZm9jdXNfZnJhbWUgKHN0cnVj
dCBmcmFtZSAqZnJhbWUpCiAKIERFRlVOICgieHctY29sb3ItZGVmaW5lZC1wIiwgRnh3X2Nv
bG9yX2RlZmluZWRfcCwgU3h3X2NvbG9yX2RlZmluZWRfcCwgMSwgMiwgMCwKICAgICAgICBk
b2M6IC8qIEludGVybmFsIGZ1bmN0aW9uIGNhbGxlZCBieSBgY29sb3ItZGVmaW5lZC1wJywg
d2hpY2ggc2VlLgotKE5vdGUgdGhhdCB0aGUgTmV4dHN0ZXAgdmVyc2lvbiBvZiB0aGlzIGZ1
bmN0aW9uIGlnbm9yZXMgRlJBTUUuKSAgKi8pCitcKE5vdGUgdGhhdCB0aGUgTmV4dHN0ZXAg
dmVyc2lvbiBvZiB0aGlzIGZ1bmN0aW9uIGlnbm9yZXMgRlJBTUUuKSAgKi8pCiAgIChMaXNw
X09iamVjdCBjb2xvciwgTGlzcF9PYmplY3QgZnJhbWUpCiB7CiAgIFhDb2xvciBmb287CkBA
IC01MzQ5LDcgKzUzNDksNyBAQCBJZiBvbWl0dGVkIG9yIG5pbCwgdGhhdCBzdGFuZHMgZm9y
IHRoZSBzZWxlY3RlZCBmcmFtZSdzIGRpc3BsYXkuICAqLykKIERFRlVOICgieC1zZXJ2ZXIt
dmVuZG9yIiwgRnhfc2VydmVyX3ZlbmRvciwgU3hfc2VydmVyX3ZlbmRvciwgMCwgMSwgMCwK
ICAgICAgICBkb2M6IC8qIFJldHVybiB0aGUgInZlbmRvciBJRCIgc3RyaW5nIG9mIHRoZSBH
VUkgc29mdHdhcmUgb24gVEVSTUlOQUwuCiAKLShMYWJlbGluZyBldmVyeSBkaXN0cmlidXRv
ciBhcyBhICJ2ZW5kb3IiIGVtYm9kaWVzIHRoZSBmYWxzZSBhc3N1bXB0aW9uCitcKExhYmVs
aW5nIGV2ZXJ5IGRpc3RyaWJ1dG9yIGFzIGEgInZlbmRvciIgZW1ib2RpZXMgdGhlIGZhbHNl
IGFzc3VtcHRpb24KIHRoYXQgb3BlcmF0aW5nIHN5c3RlbXMgY2Fubm90IGJlIGRldmVsb3Bl
ZCBhbmQgZGlzdHJpYnV0ZWQgbm9uY29tbWVyY2lhbGx5LikKIAogRm9yIEdOVSBhbmQgVW5p
eCBzeXN0ZW1zLCB0aGlzIHF1ZXJpZXMgdGhlIFggc2VydmVyIHNvZnR3YXJlOyBmb3IKQEAg
LTU3NTEsNyArNTc1MSw3IEBAIERJU1BMQVkgaXMgdGhlIG5hbWUgb2YgdGhlIGRpc3BsYXkg
dG8gY29ubmVjdCB0by4KIE9wdGlvbmFsIHNlY29uZCBhcmcgWFJNLVNUUklORyBpcyBhIHN0
cmluZyBvZiByZXNvdXJjZXMgaW4geHJkYiBmb3JtYXQuCiBJZiB0aGUgb3B0aW9uYWwgdGhp
cmQgYXJnIE1VU1QtU1VDQ0VFRCBpcyBub24tbmlsLAogdGVybWluYXRlIEVtYWNzIGlmIHdl
IGNhbid0IG9wZW4gdGhlIGNvbm5lY3Rpb24uCi0oSW4gdGhlIE5leHRzdGVwIHZlcnNpb24s
IHRoZSBsYXN0IHR3byBhcmd1bWVudHMgYXJlIGN1cnJlbnRseSBpZ25vcmVkLikgICovKQor
XChJbiB0aGUgTmV4dHN0ZXAgdmVyc2lvbiwgdGhlIGxhc3QgdHdvIGFyZ3VtZW50cyBhcmUg
Y3VycmVudGx5IGlnbm9yZWQuKSAgKi8pCiAgIChMaXNwX09iamVjdCBkaXNwbGF5LCBMaXNw
X09iamVjdCB4cm1fc3RyaW5nLCBMaXNwX09iamVjdCBtdXN0X3N1Y2NlZWQpCiB7CiAgIGNo
YXIgKnhybV9vcHRpb247CkBAIC04MDkwLDcgKzgwOTAsNyBAQCBERUZVTiAoInczMi1zZXQt
bW91c2UtYWJzb2x1dGUtcGl4ZWwtcG9zaXRpb24iLCBGdzMyX3NldF9tb3VzZV9hYnNvbHV0
ZV9waXhlbF9wbwogICAgICAgIFN3MzJfc2V0X21vdXNlX2Fic29sdXRlX3BpeGVsX3Bvc2l0
aW9uLCAyLCAyLCAwLAogICAgICAgIGRvYzogLyogTW92ZSBtb3VzZSBwb2ludGVyIHRvIGFi
c29sdXRlIHBpeGVsIHBvc2l0aW9uIChYLCBZKS4KIFRoZSBjb29yZGluYXRlcyBYIGFuZCBZ
IGFyZSBpbnRlcnByZXRlZCBpbiBwaXhlbHMgcmVsYXRpdmUgdG8gYSBwb3NpdGlvbgotKDAs
IDApIG9mIHRoZSBzZWxlY3RlZCBmcmFtZSdzIGRpc3BsYXkuICAqLykKK1woMCwgMCkgb2Yg
dGhlIHNlbGVjdGVkIGZyYW1lJ3MgZGlzcGxheS4gICovKQogICAoTGlzcF9PYmplY3QgeCwg
TGlzcF9PYmplY3QgeSkKIHsKICAgVUlOVCB0cmFpbF9udW0gPSAwOwpkaWZmIC0tZ2l0IGEv
c3JjL3czMmZvbnQuYyBiL3NyYy93MzJmb250LmMKaW5kZXggMGMzZWZlMi4uYTE4NzhhZCAx
MDA2NDQKLS0tIGEvc3JjL3czMmZvbnQuYworKysgYi9zcmMvdzMyZm9udC5jCkBAIC01LDgg
KzUsOCBAQCBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3MuCiAKIEdOVSBFbWFjcyBp
cyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5
CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieQotdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVy
IHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLShhdCB5b3VyIG9wdGlvbikgYW55IGxh
dGVyIHZlcnNpb24uCit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVy
c2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQKK3lvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KIAogR05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg
aXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg
ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpkaWZmIC0tZ2l0IGEvc3JjL3czMmZvbnQu
aCBiL3NyYy93MzJmb250LmgKaW5kZXggYTNmZDM1Ny4uNzI4YWQ4YiAxMDA2NDQKLS0tIGEv
c3JjL3czMmZvbnQuaAorKysgYi9zcmMvdzMyZm9udC5oCkBAIC01LDggKzUsOCBAQCBUaGlz
IGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3MuCiAKIEdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3
YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0
aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hl
ZCBieQotdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBv
ZiB0aGUgTGljZW5zZSwgb3IKLShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u
Cit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRo
ZSBMaWNlbnNlLCBvciAoYXQKK3lvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIAog
R05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1
c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w
bGllZCB3YXJyYW50eSBvZgpkaWZmIC0tZ2l0IGEvc3JjL3czMmd1aS5oIGIvc3JjL3czMmd1
aS5oCmluZGV4IGZmN2FmODcuLjhlOTk1Y2YgMTAwNjQ0Ci0tLSBhL3NyYy93MzJndWkuaAor
KysgYi9zcmMvdzMyZ3VpLmgKQEAgLTUsOCArNSw4IEBAIFRoaXMgZmlsZSBpcyBwYXJ0IG9m
IEdOVSBFbWFjcy4KIAogR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg
R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci10aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBv
cgotKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KK3RoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChh
dAoreW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogCiBHTlUgRW1hY3MgaXMgZGlz
dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIGJ1dCBXSVRI
T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m
CmRpZmYgLS1naXQgYS9zcmMvdzMyaGVhcC5jIGIvc3JjL3czMmhlYXAuYwppbmRleCBiOTA4
MTY5Li5kZjJmZTBhIDEwMDY0NAotLS0gYS9zcmMvdzMyaGVhcC5jCisrKyBiL3NyYy93MzJo
ZWFwLmMKQEAgLTczLDEyICs3MywxMSBAQCB0eXBlZGVmIFBWT0lEIChXSU5BUEkgKiBSdGxD
cmVhdGVIZWFwX1Byb2MpICgKIAogdHlwZWRlZiBMT05HIE5UU1RBVFVTOwogCi10eXBlZGVm
IE5UU1RBVFVTCi0oTlRBUEkgKiBQUlRMX0hFQVBfQ09NTUlUX1JPVVRJTkUpKAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTiBQVk9JRCBCYXNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBJTiBPVVQgUFZPSUQgKkNvbW1pdEFkZHJlc3Ms
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElOIE9VVCBQU0laRV9UIENv
bW1pdFNpemUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsKK3R5cGVk
ZWYgTlRTVEFUVVMgKE5UQVBJICpQUlRMX0hFQVBfQ09NTUlUX1JPVVRJTkUpICgKKwkJCQkJ
CSAgICBJTiBQVk9JRCBCYXNlLAorCQkJCQkJICAgIElOIE9VVCBQVk9JRCAqQ29tbWl0QWRk
cmVzcywKKwkJCQkJCSAgICBJTiBPVVQgUFNJWkVfVCBDb21taXRTaXplCisJCQkJCQkgICAg
KTsKIAogdHlwZWRlZiBzdHJ1Y3QgX1JUTF9IRUFQX1BBUkFNRVRFUlMgewogICBVTE9ORyBM
ZW5ndGg7CmRpZmYgLS1naXQgYS9zcmMvdzMyaGVhcC5oIGIvc3JjL3czMmhlYXAuaAppbmRl
eCBjNTY5MDMzLi41MjNiY2ViIDEwMDY0NAotLS0gYS9zcmMvdzMyaGVhcC5oCisrKyBiL3Ny
Yy93MzJoZWFwLmgKQEAgLTUsOCArNSw4IEBAIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBF
bWFjcy4KIAogR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmli
dXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdl
bmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci10aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKGF0
IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KK3RoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdAoreW91
ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogCiBHTlUgRW1hY3MgaXMgZGlzdHJpYnV0
ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIGJ1dCBXSVRIT1VUIEFO
WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCmRpZmYg
LS1naXQgYS9zcmMvdzMyaW5ldnQuYyBiL3NyYy93MzJpbmV2dC5jCmluZGV4IGU3MTRlMjcu
Ljg2NzQyNWYgMTAwNjQ0Ci0tLSBhL3NyYy93MzJpbmV2dC5jCisrKyBiL3NyYy93MzJpbmV2
dC5jCkBAIC02LDggKzYsOCBAQCBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3MuCiAK
IEdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLShhdCB5b3VyIG9w
dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
LCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQKK3lvdXIgb3B0aW9u
KSBhbnkgbGF0ZXIgdmVyc2lvbi4KIAogR05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRo
ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFO
VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpkaWZmIC0tZ2l0IGEv
c3JjL3czMmluZXZ0LmggYi9zcmMvdzMyaW5ldnQuaAppbmRleCBiMjNjNzg3Li5jMzE3MTk2
IDEwMDY0NAotLS0gYS9zcmMvdzMyaW5ldnQuaAorKysgYi9zcmMvdzMyaW5ldnQuaApAQCAt
NSw4ICs1LDggQEAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLgogCiBHTlUgRW1h
Y3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1v
ZGlmeQogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZSBhcyBwdWJsaXNoZWQgYnkKLXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVp
dGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0oYXQgeW91ciBvcHRpb24pIGFu
eSBsYXRlciB2ZXJzaW9uLgordGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVy
IHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cit5b3VyIG9wdGlvbikgYW55IGxh
dGVyIHZlcnNpb24uCiAKIEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0
aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo
b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKZGlmZiAtLWdpdCBhL3NyYy93MzJt
ZW51LmMgYi9zcmMvdzMybWVudS5jCmluZGV4IGQ4YzNkYzEuLmQ5YWI4ZjUgMTAwNjQ0Ci0t
LSBhL3NyYy93MzJtZW51LmMKKysrIGIvc3JjL3czMm1lbnUuYwpAQCAtNiw4ICs2LDggQEAg
VGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLgogCiBHTlUgRW1hY3MgaXMgZnJlZSBz
b2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogaXQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJs
aXNoZWQgYnkKLXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9u
IDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0oYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz
aW9uLgordGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBv
ZiB0aGUgTGljZW5zZSwgb3IgKGF0Cit5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u
CiAKIEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg
YmUgdXNlZnVsLAogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl
IGltcGxpZWQgd2FycmFudHkgb2YKZGlmZiAtLWdpdCBhL3NyYy93MzJub3RpZnkuYyBiL3Ny
Yy93MzJub3RpZnkuYwppbmRleCA3MTc4N2M0Li41ODZjMjA2IDEwMDY0NAotLS0gYS9zcmMv
dzMybm90aWZ5LmMKKysrIGIvc3JjL3czMm5vdGlmeS5jCkBAIC01LDggKzUsOCBAQCBUaGlz
IGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3MuCiAKIEdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3
YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0
aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hl
ZCBieQotdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBv
ZiB0aGUgTGljZW5zZSwgb3IKLShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u
Cit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRo
ZSBMaWNlbnNlLCBvciAoYXQKK3lvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIAog
R05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1
c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w
bGllZCB3YXJyYW50eSBvZgpkaWZmIC0tZ2l0IGEvc3JjL3czMnByb2MuYyBiL3NyYy93MzJw
cm9jLmMKaW5kZXggODVkZGJmZC4uNGE2Zjc4NiAxMDA2NDQKLS0tIGEvc3JjL3czMnByb2Mu
YworKysgYi9zcmMvdzMycHJvYy5jCkBAIC02LDggKzYsOCBAQCBUaGlzIGZpbGUgaXMgcGFy
dCBvZiBHTlUgRW1hY3MuCiAKIEdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2Fu
IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2Yg
dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5z
ZSwgb3IKLShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCit0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBv
ciAoYXQKK3lvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIAogR05VIEVtYWNzIGlz
IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQg
V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50
eSBvZgpkaWZmIC0tZ2l0IGEvc3JjL3czMnJlZy5jIGIvc3JjL3czMnJlZy5jCmluZGV4IDdk
MWNjZjguLmE4NzM4MTggMTAwNjQ0Ci0tLSBhL3NyYy93MzJyZWcuYworKysgYi9zcmMvdzMy
cmVnLmMKQEAgLTYsOCArNiw4IEBAIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBFbWFjcy4K
IAogR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vciBtb2RpZnkKIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwg
UHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci10aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKGF0IHlvdXIg
b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KK3RoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdAoreW91ciBvcHRp
b24pIGFueSBsYXRlciB2ZXJzaW9uLgogCiBHTlUgRW1hY3MgaXMgZGlzdHJpYnV0ZWQgaW4g
dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIGJ1dCBXSVRIT1VUIEFOWSBXQVJS
QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCmRpZmYgLS1naXQg
YS9zcmMvdzMyc2VsZWN0LmMgYi9zcmMvdzMyc2VsZWN0LmMKaW5kZXggY2U0ZWQ2OS4uMTM4
ZmU4NSAxMDA2NDQKLS0tIGEvc3JjL3czMnNlbGVjdC5jCisrKyBiL3NyYy93MzJzZWxlY3Qu
YwpAQCAtNiw4ICs2LDggQEAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLgogCiBH
TlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yIG1vZGlmeQogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0oYXQgeW91ciBvcHRp
b24pIGFueSBsYXRlciB2ZXJzaW9uLgordGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg
ZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cit5b3VyIG9wdGlvbikg
YW55IGxhdGVyIHZlcnNpb24uCiAKIEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUg
aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ
OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKZGlmZiAtLWdpdCBhL3Ny
Yy93MzJzZWxlY3QuaCBiL3NyYy93MzJzZWxlY3QuaAppbmRleCA4MjE2MzgwLi41NDAyMmY3
IDEwMDY0NAotLS0gYS9zcmMvdzMyc2VsZWN0LmgKKysrIGIvc3JjL3czMnNlbGVjdC5oCkBA
IC02LDggKzYsOCBAQCBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3MuCiAKIEdOVSBF
bWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3Ig
bW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg
ZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLShhdCB5b3VyIG9wdGlvbikg
YW55IGxhdGVyIHZlcnNpb24uCit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRo
ZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQKK3lvdXIgb3B0aW9uKSBhbnkg
bGF0ZXIgdmVyc2lvbi4KIAogR05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl
IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp
dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpkaWZmIC0tZ2l0IGEvc3JjL3cz
MnRlcm0uYyBiL3NyYy93MzJ0ZXJtLmMKaW5kZXggMzZhNTAyMS4uNjJhZDRlYiAxMDA2NDQK
LS0tIGEvc3JjL3czMnRlcm0uYworKysgYi9zcmMvdzMydGVybS5jCkBAIC02LDggKzYsOCBA
QCBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3MuCiAKIEdOVSBFbWFjcyBpcyBmcmVl
IHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1
Ymxpc2hlZCBieQotdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNp
b24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAz
IG9mIHRoZSBMaWNlbnNlLCBvciAoYXQKK3lvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv
bi4KIAogR05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls
bCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0
aGUgaW1wbGllZCB3YXJyYW50eSBvZgpkaWZmIC0tZ2l0IGEvc3JjL3czMnRlcm0uaCBiL3Ny
Yy93MzJ0ZXJtLmgKaW5kZXggNTA5MDYyNC4uMmZlZDU2ZSAxMDA2NDQKLS0tIGEvc3JjL3cz
MnRlcm0uaAorKysgYi9zcmMvdzMydGVybS5oCkBAIC01LDggKzUsOCBAQCBUaGlzIGZpbGUg
aXMgcGFydCBvZiBHTlUgRW1hY3MuCiAKIEdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5
b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVy
bXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQot
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUg
TGljZW5zZSwgb3IKLShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCit0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNl
bnNlLCBvciAoYXQKK3lvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIAogR05VIEVt
YWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws
CiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3
YXJyYW50eSBvZgpkaWZmIC0tZ2l0IGEvc3JjL3czMnVuaXNjcmliZS5jIGIvc3JjL3czMnVu
aXNjcmliZS5jCmluZGV4IGM1YmE4N2IuLmRkY2E1ZjUgMTAwNjQ0Ci0tLSBhL3NyYy93MzJ1
bmlzY3JpYmUuYworKysgYi9zcmMvdzMydW5pc2NyaWJlLmMKQEAgLTUsOCArNSw4IEBAIFRo
aXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBFbWFjcy4KIAogR05VIEVtYWNzIGlzIGZyZWUgc29m
dHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0IHVuZGVy
IHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlz
aGVkIGJ5Ci10aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAz
IG9mIHRoZSBMaWNlbnNlLCBvcgotKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv
bi4KK3RoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2Yg
dGhlIExpY2Vuc2UsIG9yIChhdAoreW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgog
CiBHTlUgRW1hY3MgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl
IHVzZWZ1bCwKIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mCmRpZmYgLS1naXQgYS9zcmMvdzMyeGZucy5jIGIvc3JjL3cz
MnhmbnMuYwppbmRleCAyOTYzNmQxLi4wNGJmNWNlIDEwMDY0NAotLS0gYS9zcmMvdzMyeGZu
cy5jCisrKyBiL3NyYy93MzJ4Zm5zLmMKQEAgLTYsOCArNiw4IEBAIFRoaXMgZmlsZSBpcyBw
YXJ0IG9mIEdOVSBFbWFjcy4KIAogR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBj
YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0IHVuZGVyIHRoZSB0ZXJtcyBv
ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci10aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNl
bnNlLCBvcgotKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KK3RoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2Us
IG9yIChhdAoreW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogCiBHTlUgRW1hY3Mg
aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIGJ1
dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh
bnR5IG9mCmRpZmYgLS1naXQgYS9zcmMvd2lkZ2V0LmMgYi9zcmMvd2lkZ2V0LmMKaW5kZXgg
YTcxZGU5MC4uMjhiYjQ3NSAxMDA2NDQKLS0tIGEvc3JjL3dpZGdldC5jCisrKyBiL3NyYy93
aWRnZXQuYwpAQCAtNSw4ICs1LDggQEAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNz
LgogCiBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yIG1vZGlmeQogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLXRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0oYXQgeW91
ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgordGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cit5b3VyIG9w
dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAKIEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBp
biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogYnV0IFdJVEhPVVQgQU5ZIFdB
UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKZGlmZiAtLWdp
dCBhL3NyYy93aWRnZXQuaCBiL3NyYy93aWRnZXQuaAppbmRleCAxM2ViOWU3Li5jZWVlYzM4
IDEwMDY0NAotLS0gYS9zcmMvd2lkZ2V0LmgKKysrIGIvc3JjL3dpZGdldC5oCkBAIC01LDgg
KzUsOCBAQCBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3MuCiAKIEdOVSBFbWFjcyBp
cyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5
CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieQotdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVy
IHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLShhdCB5b3VyIG9wdGlvbikgYW55IGxh
dGVyIHZlcnNpb24uCit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVy
c2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQKK3lvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KIAogR05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg
aXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg
ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpkaWZmIC0tZ2l0IGEvc3JjL3dpZGdldHBy
di5oIGIvc3JjL3dpZGdldHBydi5oCmluZGV4IDI0ZTgzNzguLjlkOWFhMjEgMTAwNjQ0Ci0t
LSBhL3NyYy93aWRnZXRwcnYuaAorKysgYi9zcmMvd2lkZ2V0cHJ2LmgKQEAgLTUsOCArNSw4
IEBAIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBFbWFjcy4KIAogR05VIEVtYWNzIGlzIGZy
ZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMg
cHVibGlzaGVkIGJ5Ci10aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVy
c2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KK3RoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9u
IDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdAoreW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz
aW9uLgogCiBHTlUgRW1hY3MgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3
aWxsIGJlIHVzZWZ1bCwKIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu
IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCmRpZmYgLS1naXQgYS9zcmMvd2luZG93LmMgYi9z
cmMvd2luZG93LmMKaW5kZXggODk1M2QzYy4uNzMzY2Y3NSAxMDA2NDQKLS0tIGEvc3JjL3dp
bmRvdy5jCisrKyBiL3NyYy93aW5kb3cuYwpAQCAtNyw4ICs3LDggQEAgVGhpcyBmaWxlIGlz
IHBhcnQgb2YgR05VIEVtYWNzLgogCiBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91
IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogaXQgdW5kZXIgdGhlIHRlcm1z
IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLXRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExp
Y2Vuc2UsIG9yCi0oYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgordGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5z
ZSwgb3IgKGF0Cit5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAKIEdOVSBFbWFj
cyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAog
YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy
cmFudHkgb2YKQEAgLTY3MCw3ICs2NzAsNyBAQCBERUZVTiAoInNldC13aW5kb3ctY29tYmlu
YXRpb24tbGltaXQiLCBGc2V0X3dpbmRvd19jb21iaW5hdGlvbl9saW1pdCwgU3NldF93aW5k
bwogV0lORE9XIG11c3QgYmUgYSB2YWxpZCB3aW5kb3cgdXNlZCBpbiBob3Jpem9udGFsIG9y
IHZlcnRpY2FsIGNvbWJpbmF0aW9uLgogSWYgTElNSVQgaXMgbmlsLCBjaGlsZCB3aW5kb3dz
IG9mIFdJTkRPVyBjYW4gYmUgcmVjb21iaW5lZCB3aXRoIFdJTkRPVydzCiBzaWJsaW5ncy4g
IExJTUlUIHQgbWVhbnMgdGhhdCBjaGlsZCB3aW5kb3dzIG9mIFdJTkRPVyBhcmUgbmV2ZXIK
LShyZS0pY29tYmluZWQgd2l0aCBXSU5ET1cncyBzaWJsaW5ncy4gIE90aGVyIHZhbHVlcyBh
cmUgcmVzZXJ2ZWQgZm9yCitcKHJlLSljb21iaW5lZCB3aXRoIFdJTkRPVydzIHNpYmxpbmdz
LiAgT3RoZXIgdmFsdWVzIGFyZSByZXNlcnZlZCBmb3IKIGZ1dHVyZSB1c2UuICAqLykKICAg
KExpc3BfT2JqZWN0IHdpbmRvdywgTGlzcF9PYmplY3QgbGltaXQpCiB7CkBAIC0xMzI0LDcg
KzEzMjQsNyBAQCBERUZVTiAoImNvb3JkaW5hdGVzLWluLXdpbmRvdy1wIiwgRmNvb3JkaW5h
dGVzX2luX3dpbmRvd19wLAogV0lORE9XIG11c3QgYmUgYSBsaXZlIHdpbmRvdyBhbmQgZGVm
YXVsdHMgdG8gdGhlIHNlbGVjdGVkIG9uZS4KIENPT1JESU5BVEVTIGlzIGEgY29ucyBvZiB0
aGUgZm9ybSAoWCAuIFkpLCBYIGFuZCBZIGJlaW5nIGRpc3RhbmNlcwogbWVhc3VyZWQgaW4g
Y2hhcmFjdGVycyBmcm9tIHRoZSB1cHBlci1sZWZ0IGNvcm5lciBvZiB0aGUgZnJhbWUuCi0o
MCAuIDApIGRlbm90ZXMgdGhlIGNoYXJhY3RlciBpbiB0aGUgdXBwZXIgbGVmdCBjb3JuZXIg
b2YgdGhlCitcKDAgLiAwKSBkZW5vdGVzIHRoZSBjaGFyYWN0ZXIgaW4gdGhlIHVwcGVyIGxl
ZnQgY29ybmVyIG9mIHRoZQogZnJhbWUuCiBJZiBDT09SRElOQVRFUyBhcmUgaW4gdGhlIHRl
eHQgcG9ydGlvbiBvZiBXSU5ET1csCiAgICB0aGUgY29vcmRpbmF0ZXMgcmVsYXRpdmUgdG8g
dGhlIHdpbmRvdyBhcmUgcmV0dXJuZWQuCkBAIC0xNzEwLDcgKzE3MTAsNyBAQCBvZiB0aGUg
d2luZG93LiAgVGhlIHJlbWFpbmluZyBlbGVtZW50cyBhcmUgb21pdHRlZCBpZiB0aGUgY2hh
cmFjdGVyIGFmdGVyCiBQT1MgaXMgZnVsbHkgdmlzaWJsZTsgb3RoZXJ3aXNlLCBSVE9QIGFu
ZCBSQk9UIGFyZSB0aGUgbnVtYmVyIG9mIHBpeGVscwogb2ZmLXdpbmRvdyBhdCB0aGUgdG9w
IGFuZCBib3R0b20gb2YgdGhlIHNjcmVlbiBsaW5lICgicm93IikgY29udGFpbmluZwogUE9T
LCBST1dIIGlzIHRoZSB2aXNpYmxlIGhlaWdodCBvZiB0aGF0IHJvdywgYW5kIFZQT1MgaXMg
dGhlIHJvdyBudW1iZXIKLSh6ZXJvLWJhc2VkKS4gICovKQorXCh6ZXJvLWJhc2VkKS4gICov
KQogICAoTGlzcF9PYmplY3QgcG9zLCBMaXNwX09iamVjdCB3aW5kb3csIExpc3BfT2JqZWN0
IHBhcnRpYWxseSkKIHsKICAgc3RydWN0IHdpbmRvdyAqdzsKZGlmZiAtLWdpdCBhL3NyYy93
aW5kb3cuaCBiL3NyYy93aW5kb3cuaAppbmRleCBjMjkyMDdkLi4wY2ZmZjg4IDEwMDY0NAot
LS0gYS9zcmMvd2luZG93LmgKKysrIGIvc3JjL3dpbmRvdy5oCkBAIC02LDggKzYsOCBAQCBU
aGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3MuCiAKIEdOVSBFbWFjcyBpcyBmcmVlIHNv
ZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxp
c2hlZCBieQotdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24g
MyBvZiB0aGUgTGljZW5zZSwgb3IKLShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp
b24uCit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9m
IHRoZSBMaWNlbnNlLCBvciAoYXQKK3lvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K
IAogR05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi
ZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg
aW1wbGllZCB3YXJyYW50eSBvZgpkaWZmIC0tZ2l0IGEvc3JjL3hkaXNwLmMgYi9zcmMveGRp
c3AuYwppbmRleCBkZWM5OTQ3Li5lNWFjNjUwIDEwMDY0NAotLS0gYS9zcmMveGRpc3AuYwor
KysgYi9zcmMveGRpc3AuYwpAQCAtNyw4ICs3LDggQEAgVGhpcyBmaWxlIGlzIHBhcnQgb2Yg
R05VIEVtYWNzLgogCiBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRp
c3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH
TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLXRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9y
Ci0oYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgordGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0
Cit5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAKIEdOVSBFbWFjcyBpcyBkaXN0
cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogYnV0IFdJVEhP
VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK
QEAgLTMxNDI1LDcgKzMxNDI1LDcgQEAgVGhpcyB2YXJpYWJsZSBpcyBub3QgZ3VhcmFudGVl
ZCB0byBiZSBhY2N1cmF0ZSBleGNlcHQgd2hpbGUgcHJvY2Vzc2luZwogCiAgIERFRlZBUl9M
SVNQICgiZnJhbWUtdGl0bGUtZm9ybWF0IiwgVmZyYW1lX3RpdGxlX2Zvcm1hdCwKICAgICBk
b2M6IC8qIFRlbXBsYXRlIGZvciBkaXNwbGF5aW5nIHRoZSB0aXRsZSBiYXIgb2YgdmlzaWJs
ZSBmcmFtZXMuCi0oQXNzdW1pbmcgdGhlIHdpbmRvdyBtYW5hZ2VyIHN1cHBvcnRzIHRoaXMg
ZmVhdHVyZS4pCitcKEFzc3VtaW5nIHRoZSB3aW5kb3cgbWFuYWdlciBzdXBwb3J0cyB0aGlz
IGZlYXR1cmUuKQogCiBUaGlzIHZhcmlhYmxlIGhhcyB0aGUgc2FtZSBzdHJ1Y3R1cmUgYXMg
YG1vZGUtbGluZS1mb3JtYXQnLCBleGNlcHQgdGhhdAogdGhlICVjIGFuZCAlbCBjb25zdHJ1
Y3RzIGFyZSBpZ25vcmVkLiAgSXQgaXMgdXNlZCBvbmx5IG9uIGZyYW1lcyBmb3IKQEAgLTMx
NDMzLDEwICszMTQzMywxMCBAQCB3aGljaCBubyBleHBsaWNpdCBuYW1lIGhhcyBiZWVuIHNl
dCAoc2VlIGBtb2RpZnktZnJhbWUtcGFyYW1ldGVycycpLiAgKi8pOwogCiAgIERFRlZBUl9M
SVNQICgiaWNvbi10aXRsZS1mb3JtYXQiLCBWaWNvbl90aXRsZV9mb3JtYXQsCiAgICAgZG9j
OiAvKiBUZW1wbGF0ZSBmb3IgZGlzcGxheWluZyB0aGUgdGl0bGUgYmFyIG9mIGFuIGljb25p
ZmllZCBmcmFtZS4KLShBc3N1bWluZyB0aGUgd2luZG93IG1hbmFnZXIgc3VwcG9ydHMgdGhp
cyBmZWF0dXJlLikKK1woQXNzdW1pbmcgdGhlIHdpbmRvdyBtYW5hZ2VyIHN1cHBvcnRzIHRo
aXMgZmVhdHVyZS4pCiBUaGlzIHZhcmlhYmxlIGhhcyB0aGUgc2FtZSBzdHJ1Y3R1cmUgYXMg
YG1vZGUtbGluZS1mb3JtYXQnICh3aGljaCBzZWUpLAogYW5kIGlzIHVzZWQgb25seSBvbiBm
cmFtZXMgZm9yIHdoaWNoIG5vIGV4cGxpY2l0IG5hbWUgaGFzIGJlZW4gc2V0Ci0oc2VlIGBt
b2RpZnktZnJhbWUtcGFyYW1ldGVycycpLiAgKi8pOworXChzZWUgYG1vZGlmeS1mcmFtZS1w
YXJhbWV0ZXJzJykuICAqLyk7CiAgIFZpY29uX3RpdGxlX2Zvcm1hdAogICAgID0gVmZyYW1l
X3RpdGxlX2Zvcm1hdAogICAgID0gbGlzdG4gKENPTlNUWVBFX1BVUkUsIDMsCmRpZmYgLS1n
aXQgYS9zcmMveGZhY2VzLmMgYi9zcmMveGZhY2VzLmMKaW5kZXggNzc2MmUwZi4uYWMxMzcw
MCAxMDA2NDQKLS0tIGEvc3JjL3hmYWNlcy5jCisrKyBiL3NyYy94ZmFjZXMuYwpAQCAtNiw4
ICs2LDggQEAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLgogCiBHTlUgRW1hY3Mg
aXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlm
eQogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZSBhcyBwdWJsaXNoZWQgYnkKLXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhl
ciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0oYXQgeW91ciBvcHRpb24pIGFueSBs
YXRlciB2ZXJzaW9uLgordGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZl
cnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cit5b3VyIG9wdGlvbikgYW55IGxhdGVy
IHZlcnNpb24uCiAKIEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0
IGl0IHdpbGwgYmUgdXNlZnVsLAogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0
IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKQEAgLTcwMSwxMCArNzAxLDEwIEBAIE9w
dGlvbmFsIFRIT1JPVUdITFkgbm9uLW5pbCBtZWFucyB0cnkgdG8gZnJlZSB1bnVzZWQgZm9u
dHMsIHRvby4gICovKQogREVGVU4gKCJiaXRtYXAtc3BlYy1wIiwgRmJpdG1hcF9zcGVjX3As
IFNiaXRtYXBfc3BlY19wLCAxLCAxLCAwLAogICAgICAgIGRvYzogLyogVmFsdWUgaXMgbm9u
LW5pbCBpZiBPQkpFQ1QgaXMgYSB2YWxpZCBiaXRtYXAgc3BlY2lmaWNhdGlvbi4KIEEgYml0
bWFwIHNwZWNpZmljYXRpb24gaXMgZWl0aGVyIGEgc3RyaW5nLCBhIGZpbGUgbmFtZSwgb3Ig
YSBsaXN0Ci0oV0lEVEggSEVJR0hUIERBVEEpIHdoZXJlIFdJRFRIIGlzIHRoZSBwaXhlbCB3
aWR0aCBvZiB0aGUgYml0bWFwLAorXChXSURUSCBIRUlHSFQgREFUQSkgd2hlcmUgV0lEVEgg
aXMgdGhlIHBpeGVsIHdpZHRoIG9mIHRoZSBiaXRtYXAsCiBIRUlHSFQgaXMgaXRzIGhlaWdo
dCwgYW5kIERBVEEgaXMgYSBzdHJpbmcgY29udGFpbmluZyB0aGUgYml0cyBvZgogdGhlIHBp
eG1hcC4gIEJpdHMgYXJlIHN0b3JlZCByb3cgYnkgcm93LCBlYWNoIHJvdyBvY2N1cGllcwot
KFdJRFRIICsgNykvOCBieXRlcy4gICovKQorXChXSURUSCArIDcpLzggYnl0ZXMuICAqLykK
ICAgKExpc3BfT2JqZWN0IG9iamVjdCkKIHsKICAgYm9vbCBwaXhtYXBfcCA9IGZhbHNlOwpA
QCAtNjUzNiw3ICs2NTM2LDcgQEAgY2hhbmdpbmcgdGhpcyB2YXJpYWJsZSBmb3IgaXQgdG8g
dGFrZSBlZmZlY3QuICAqLyk7CiBFYWNoIGVsZW1lbnQgaXMgYSBjb25zIChGT05ULVBBVFRF
Uk4gLiBSRVNDQUxFLVJBVElPKSwgd2hlcmUKIEZPTlQtUEFUVEVSTiBpcyBhIGZvbnQtc3Bl
YyBvciBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaGluZyBhIGZvbnQgbmFtZSwgYW5kCiBS
RVNDQUxFLVJBVElPIGlzIGEgZmxvYXRpbmcgcG9pbnQgbnVtYmVyIHRvIHNwZWNpZnkgaG93
IG11Y2ggbGFyZ2VyCi0ob3Igc21hbGxlcikgZm9udCB3ZSBzaG91bGQgdXNlLiAgRm9yIGlu
c3RhbmNlLCBpZiBhIGZhY2UgcmVxdWVzdHMKK1wob3Igc21hbGxlcikgZm9udCB3ZSBzaG91
bGQgdXNlLiAgRm9yIGluc3RhbmNlLCBpZiBhIGZhY2UgcmVxdWVzdHMKIGEgZm9udCBvZiAx
MCBwb2ludCwgd2UgYWN0dWFsbHkgdXNlIGEgZm9udCBvZiAxMCAqIFJFU0NBTEUtUkFUSU8g
cG9pbnQuICAqLyk7CiAgIFZmYWNlX2ZvbnRfcmVzY2FsZV9hbGlzdCA9IFFuaWw7CiAKZGlm
ZiAtLWdpdCBhL3NyYy94Zm5zLmMgYi9zcmMveGZucy5jCmluZGV4IDIwYWM2MjcuLjllZjdj
YjkgMTAwNjQ0Ci0tLSBhL3NyYy94Zm5zLmMKKysrIGIvc3JjL3hmbnMuYwpAQCAtNiw4ICs2
LDggQEAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLgogCiBHTlUgRW1hY3MgaXMg
ZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQog
aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBh
cyBwdWJsaXNoZWQgYnkKLXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2
ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0oYXQgeW91ciBvcHRpb24pIGFueSBsYXRl
ciB2ZXJzaW9uLgordGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNp
b24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cit5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCiAKIEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0
IHdpbGwgYmUgdXNlZnVsLAogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2
ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKQEAgLTM2NzAsNyArMzY3MCw3IEBAIHhfZm9j
dXNfZnJhbWUgKHN0cnVjdCBmcmFtZSAqZikKIAwKIERFRlVOICgieHctY29sb3ItZGVmaW5l
ZC1wIiwgRnh3X2NvbG9yX2RlZmluZWRfcCwgU3h3X2NvbG9yX2RlZmluZWRfcCwgMSwgMiwg
MCwKICAgICAgICBkb2M6IC8qIEludGVybmFsIGZ1bmN0aW9uIGNhbGxlZCBieSBgY29sb3It
ZGVmaW5lZC1wJywgd2hpY2ggc2VlLgotKE5vdGUgdGhhdCB0aGUgTmV4dHN0ZXAgdmVyc2lv
biBvZiB0aGlzIGZ1bmN0aW9uIGlnbm9yZXMgRlJBTUUuKSAgKi8pCitcKE5vdGUgdGhhdCB0
aGUgTmV4dHN0ZXAgdmVyc2lvbiBvZiB0aGlzIGZ1bmN0aW9uIGlnbm9yZXMgRlJBTUUuKSAg
Ki8pCiAgIChMaXNwX09iamVjdCBjb2xvciwgTGlzcF9PYmplY3QgZnJhbWUpCiB7CiAgIFhD
b2xvciBmb287CkBAIC0zODM3LDcgKzM4MzcsNyBAQCBJZiBvbWl0dGVkIG9yIG5pbCwgdGhh
dCBzdGFuZHMgZm9yIHRoZSBzZWxlY3RlZCBmcmFtZSdzIGRpc3BsYXkuICAqLykKIERFRlVO
ICgieC1zZXJ2ZXItdmVuZG9yIiwgRnhfc2VydmVyX3ZlbmRvciwgU3hfc2VydmVyX3ZlbmRv
ciwgMCwgMSwgMCwKICAgICAgICBkb2M6IC8qIFJldHVybiB0aGUgInZlbmRvciBJRCIgc3Ry
aW5nIG9mIHRoZSBHVUkgc29mdHdhcmUgb24gVEVSTUlOQUwuCiAKLShMYWJlbGluZyBldmVy
eSBkaXN0cmlidXRvciBhcyBhICJ2ZW5kb3IiIGVtYm9kaWVzIHRoZSBmYWxzZSBhc3N1bXB0
aW9uCitcKExhYmVsaW5nIGV2ZXJ5IGRpc3RyaWJ1dG9yIGFzIGEgInZlbmRvciIgZW1ib2Rp
ZXMgdGhlIGZhbHNlIGFzc3VtcHRpb24KIHRoYXQgb3BlcmF0aW5nIHN5c3RlbXMgY2Fubm90
IGJlIGRldmVsb3BlZCBhbmQgZGlzdHJpYnV0ZWQgbm9uY29tbWVyY2lhbGx5LikKIFRoZSBv
cHRpb25hbCBhcmd1bWVudCBURVJNSU5BTCBzcGVjaWZpZXMgd2hpY2ggZGlzcGxheSB0byBh
c2sgYWJvdXQuCiAKQEAgLTQ3NTksNyArNDc1OSw3IEBAIERFRlVOICgieC1zZXQtbW91c2Ut
YWJzb2x1dGUtcGl4ZWwtcG9zaXRpb24iLCBGeF9zZXRfbW91c2VfYWJzb2x1dGVfcGl4ZWxf
cG9zaXRpCiAgICAgICAgU3hfc2V0X21vdXNlX2Fic29sdXRlX3BpeGVsX3Bvc2l0aW9uLCAy
LCAyLCAwLAogICAgICAgIGRvYzogLyogTW92ZSBtb3VzZSBwb2ludGVyIHRvIGFic29sdXRl
IHBpeGVsIHBvc2l0aW9uIChYLCBZKS4KIFRoZSBjb29yZGluYXRlcyBYIGFuZCBZIGFyZSBp
bnRlcnByZXRlZCBpbiBwaXhlbHMgcmVsYXRpdmUgdG8gYSBwb3NpdGlvbgotKDAsIDApIG9m
IHRoZSBzZWxlY3RlZCBmcmFtZSdzIGRpc3BsYXkuICAqLykKK1woMCwgMCkgb2YgdGhlIHNl
bGVjdGVkIGZyYW1lJ3MgZGlzcGxheS4gICovKQogICAoTGlzcF9PYmplY3QgeCwgTGlzcF9P
YmplY3QgeSkKICAgewogICBzdHJ1Y3QgZnJhbWUgKmYgPSBTRUxFQ1RFRF9GUkFNRSAoKTsK
QEAgLTQ5MzUsNyArNDkzNSw3IEBAIERJU1BMQVkgaXMgdGhlIG5hbWUgb2YgdGhlIGRpc3Bs
YXkgdG8gY29ubmVjdCB0by4KIE9wdGlvbmFsIHNlY29uZCBhcmcgWFJNLVNUUklORyBpcyBh
IHN0cmluZyBvZiByZXNvdXJjZXMgaW4geHJkYiBmb3JtYXQuCiBJZiB0aGUgb3B0aW9uYWwg
dGhpcmQgYXJnIE1VU1QtU1VDQ0VFRCBpcyBub24tbmlsLAogdGVybWluYXRlIEVtYWNzIGlm
IHdlIGNhbid0IG9wZW4gdGhlIGNvbm5lY3Rpb24uCi0oSW4gdGhlIE5leHRzdGVwIHZlcnNp
b24sIHRoZSBsYXN0IHR3byBhcmd1bWVudHMgYXJlIGN1cnJlbnRseSBpZ25vcmVkLikgICov
KQorXChJbiB0aGUgTmV4dHN0ZXAgdmVyc2lvbiwgdGhlIGxhc3QgdHdvIGFyZ3VtZW50cyBh
cmUgY3VycmVudGx5IGlnbm9yZWQuKSAgKi8pCiAgIChMaXNwX09iamVjdCBkaXNwbGF5LCBM
aXNwX09iamVjdCB4cm1fc3RyaW5nLCBMaXNwX09iamVjdCBtdXN0X3N1Y2NlZWQpCiB7CiAg
IGNoYXIgKnhybV9vcHRpb247CmRpZmYgLS1naXQgYS9zcmMveGZvbnQuYyBiL3NyYy94Zm9u
dC5jCmluZGV4IDE1YTRiNzQuLjBlZjY0YmUgMTAwNjQ0Ci0tLSBhL3NyYy94Zm9udC5jCisr
KyBiL3NyYy94Zm9udC5jCkBAIC04LDggKzgsOCBAQCBUaGlzIGZpbGUgaXMgcGFydCBvZiBH
TlUgRW1hY3MuCiAKIEdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO
VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IK
LShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCit0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQK
K3lvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIAogR05VIEVtYWNzIGlzIGRpc3Ry
aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9V
VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpk
aWZmIC0tZ2l0IGEvc3JjL3hmdGZvbnQuYyBiL3NyYy94ZnRmb250LmMKaW5kZXggZDk0OTU1
Zi4uNzkyNjMyNSAxMDA2NDQKLS0tIGEvc3JjL3hmdGZvbnQuYworKysgYi9zcmMveGZ0Zm9u
dC5jCkBAIC04LDggKzgsOCBAQCBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3MuCiAK
IEdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLShhdCB5b3VyIG9w
dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
LCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQKK3lvdXIgb3B0aW9u
KSBhbnkgbGF0ZXIgdmVyc2lvbi4KIAogR05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRo
ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFO
VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpkaWZmIC0tZ2l0IGEv
c3JjL3hnc2VsZWN0LmMgYi9zcmMveGdzZWxlY3QuYwppbmRleCBhNjFkNDZiLi5hYzg4YWZk
IDEwMDY0NAotLS0gYS9zcmMveGdzZWxlY3QuYworKysgYi9zcmMveGdzZWxlY3QuYwpAQCAt
Niw4ICs2LDggQEAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLgogCiBHTlUgRW1h
Y3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1v
ZGlmeQogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZSBhcyBwdWJsaXNoZWQgYnkKLXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVp
dGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0oYXQgeW91ciBvcHRpb24pIGFu
eSBsYXRlciB2ZXJzaW9uLgordGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVy
IHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cit5b3VyIG9wdGlvbikgYW55IGxh
dGVyIHZlcnNpb24uCiAKIEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0
aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo
b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKZGlmZiAtLWdpdCBhL3NyYy94Z3Nl
bGVjdC5oIGIvc3JjL3hnc2VsZWN0LmgKaW5kZXggZmM5NzZjYS4uNGM1NjYzMyAxMDA2NDQK
LS0tIGEvc3JjL3hnc2VsZWN0LmgKKysrIGIvc3JjL3hnc2VsZWN0LmgKQEAgLTYsOCArNiw4
IEBAIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBFbWFjcy4KIAogR05VIEVtYWNzIGlzIGZy
ZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMg
cHVibGlzaGVkIGJ5Ci10aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVy
c2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KK3RoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9u
IDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdAoreW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz
aW9uLgogCiBHTlUgRW1hY3MgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3
aWxsIGJlIHVzZWZ1bCwKIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu
IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCmRpZmYgLS1naXQgYS9zcmMveG1lbnUuYyBiL3Ny
Yy94bWVudS5jCmluZGV4IDEwNDdiMTkuLjllMWE4MTcgMTAwNjQ0Ci0tLSBhL3NyYy94bWVu
dS5jCisrKyBiL3NyYy94bWVudS5jCkBAIC03LDggKzcsOCBAQCBUaGlzIGZpbGUgaXMgcGFy
dCBvZiBHTlUgRW1hY3MuCiAKIEdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2Fu
IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2Yg
dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5z
ZSwgb3IKLShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCit0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBv
ciAoYXQKK3lvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIAogR05VIEVtYWNzIGlz
IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQg
V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50
eSBvZgpkaWZmIC0tZ2l0IGEvc3JjL3htbC5jIGIvc3JjL3htbC5jCmluZGV4IDZjNDdhOWQu
LmIxMTc1ZDEgMTAwNjQ0Ci0tLSBhL3NyYy94bWwuYworKysgYi9zcmMveG1sLmMKQEAgLTUs
OCArNSw4IEBAIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBFbWFjcy4KIAogR05VIEVtYWNz
IGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2Rp
ZnkKIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu
c2UgYXMgcHVibGlzaGVkIGJ5Ci10aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRo
ZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKGF0IHlvdXIgb3B0aW9uKSBhbnkg
bGF0ZXIgdmVyc2lvbi4KK3RoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2
ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdAoreW91ciBvcHRpb24pIGFueSBsYXRl
ciB2ZXJzaW9uLgogCiBHTlUgRW1hY3MgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh
dCBpdCB3aWxsIGJlIHVzZWZ1bCwKIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91
dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCmRpZmYgLS1naXQgYS9zcmMveHJkYi5j
IGIvc3JjL3hyZGIuYwppbmRleCA4NjVhY2M5Li5iNGJjMTE4IDEwMDY0NAotLS0gYS9zcmMv
eHJkYi5jCisrKyBiL3NyYy94cmRiLmMKQEAgLTksOCArOSw4IEBAIFRoaXMgZmlsZSBpcyBw
YXJ0IG9mIEdOVSBFbWFjcy4KIAogR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBj
YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0IHVuZGVyIHRoZSB0ZXJtcyBv
ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci10aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNl
bnNlLCBvcgotKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KK3RoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2Us
IG9yIChhdAoreW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogCiBHTlUgRW1hY3Mg
aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIGJ1
dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh
bnR5IG9mCmRpZmYgLS1naXQgYS9zcmMveHNlbGVjdC5jIGIvc3JjL3hzZWxlY3QuYwppbmRl
eCAyM2I3MzVlLi4xMjNlNDYzIDEwMDY0NAotLS0gYS9zcmMveHNlbGVjdC5jCisrKyBiL3Ny
Yy94c2VsZWN0LmMKQEAgLTUsOCArNSw4IEBAIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBF
bWFjcy4KIAogR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmli
dXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdl
bmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci10aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKGF0
IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KK3RoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdAoreW91
ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogCiBHTlUgRW1hY3MgaXMgZGlzdHJpYnV0
ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIGJ1dCBXSVRIT1VUIEFO
WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCkBAIC0x
OTExLDcgKzE5MTEsNyBAQCBERUZVTiAoIngtb3duLXNlbGVjdGlvbi1pbnRlcm5hbCIsIEZ4
X293bl9zZWxlY3Rpb25faW50ZXJuYWwsCiAgICAgICAgU3hfb3duX3NlbGVjdGlvbl9pbnRl
cm5hbCwgMiwgMywgMCwKICAgICAgICBkb2M6IC8qIEFzc2VydCBhbiBYIHNlbGVjdGlvbiBv
ZiB0eXBlIFNFTEVDVElPTiBhbmQgdmFsdWUgVkFMVUUuCiBTRUxFQ1RJT04gaXMgYSBzeW1i
b2wsIHR5cGljYWxseSBgUFJJTUFSWScsIGBTRUNPTkRBUlknLCBvciBgQ0xJUEJPQVJEJy4K
LShUaG9zZSBhcmUgbGl0ZXJhbCB1cHBlci1jYXNlIHN5bWJvbCBuYW1lcywgc2luY2UgdGhh
dCdzIHdoYXQgWCBleHBlY3RzLikKK1woVGhvc2UgYXJlIGxpdGVyYWwgdXBwZXItY2FzZSBz
eW1ib2wgbmFtZXMsIHNpbmNlIHRoYXQncyB3aGF0IFggZXhwZWN0cy4pCiBWQUxVRSBpcyB0
eXBpY2FsbHkgYSBzdHJpbmcsIG9yIGEgY29ucyBvZiB0d28gbWFya2VycywgYnV0IG1heSBi
ZQogYW55dGhpbmcgdGhhdCB0aGUgZnVuY3Rpb25zIG9uIGBzZWxlY3Rpb24tY29udmVydGVy
LWFsaXN0JyBrbm93IGFib3V0LgogCkBAIC0xOTQwLDcgKzE5NDAsNyBAQCBERUZVTiAoIngt
Z2V0LXNlbGVjdGlvbi1pbnRlcm5hbCIsIEZ4X2dldF9zZWxlY3Rpb25faW50ZXJuYWwsCiAg
ICAgICAgU3hfZ2V0X3NlbGVjdGlvbl9pbnRlcm5hbCwgMiwgNCwgMCwKICAgICAgICBkb2M6
IC8qIFJldHVybiB0ZXh0IHNlbGVjdGVkIGZyb20gc29tZSBYIHdpbmRvdy4KIFNFTEVDVElP
Ti1TWU1CT0wgaXMgdHlwaWNhbGx5IGBQUklNQVJZJywgYFNFQ09OREFSWScsIG9yIGBDTElQ
Qk9BUkQnLgotKFRob3NlIGFyZSBsaXRlcmFsIHVwcGVyLWNhc2Ugc3ltYm9sIG5hbWVzLCBz
aW5jZSB0aGF0J3Mgd2hhdCBYIGV4cGVjdHMuKQorXChUaG9zZSBhcmUgbGl0ZXJhbCB1cHBl
ci1jYXNlIHN5bWJvbCBuYW1lcywgc2luY2UgdGhhdCdzIHdoYXQgWCBleHBlY3RzLikKIFRB
UkdFVC1UWVBFIGlzIHRoZSB0eXBlIG9mIGRhdGEgZGVzaXJlZCwgdHlwaWNhbGx5IGBTVFJJ
TkcnLgogCiBUSU1FLVNUQU1QIGlzIHRoZSB0aW1lIHRvIHVzZSBpbiB0aGUgWENvbnZlcnRT
ZWxlY3Rpb24gY2FsbCBmb3IgZm9yZWlnbgpAQCAtMjA0NCw3ICsyMDQ0LDcgQEAgREVGVU4g
KCJ4LXNlbGVjdGlvbi1vd25lci1wIiwgRnhfc2VsZWN0aW9uX293bmVyX3AsIFN4X3NlbGVj
dGlvbl9vd25lcl9wLAogICAgICAgIGRvYzogLyogV2hldGhlciB0aGUgY3VycmVudCBFbWFj
cyBwcm9jZXNzIG93bnMgdGhlIGdpdmVuIFggU2VsZWN0aW9uLgogVGhlIGFyZyBzaG91bGQg
YmUgdGhlIG5hbWUgb2YgdGhlIHNlbGVjdGlvbiBpbiBxdWVzdGlvbiwgdHlwaWNhbGx5IG9u
ZSBvZgogdGhlIHN5bWJvbHMgYFBSSU1BUlknLCBgU0VDT05EQVJZJywgb3IgYENMSVBCT0FS
RCcuCi0oVGhvc2UgYXJlIGxpdGVyYWwgdXBwZXItY2FzZSBzeW1ib2wgbmFtZXMsIHNpbmNl
IHRoYXQncyB3aGF0IFggZXhwZWN0cy4pCitcKFRob3NlIGFyZSBsaXRlcmFsIHVwcGVyLWNh
c2Ugc3ltYm9sIG5hbWVzLCBzaW5jZSB0aGF0J3Mgd2hhdCBYIGV4cGVjdHMuKQogRm9yIGNv
bnZlbmllbmNlLCB0aGUgc3ltYm9sIG5pbCBpcyB0aGUgc2FtZSBhcyBgUFJJTUFSWScsCiBh
bmQgdCBpcyB0aGUgc2FtZSBhcyBgU0VDT05EQVJZJy4KIApAQCAtMjYyMCw3ICsyNjIwLDcg
QEAgYW5kIHRoZSBsb2NhbCBzZWxlY3Rpb24gdmFsdWUgKHdoYXRldmVyIHdhcyBnaXZlbiB0
bwogYHgtb3duLXNlbGVjdGlvbi1pbnRlcm5hbCcpLgogCiBUaGUgZnVuY3Rpb24gc2hvdWxk
IHJldHVybiB0aGUgdmFsdWUgdG8gc2VuZCB0byB0aGUgWCBzZXJ2ZXIKLSh0eXBpY2FsbHkg
YSBzdHJpbmcpLiAgQSByZXR1cm4gdmFsdWUgb2YgbmlsCitcKHR5cGljYWxseSBhIHN0cmlu
ZykuICBBIHJldHVybiB2YWx1ZSBvZiBuaWwKIG1lYW5zIHRoYXQgdGhlIGNvbnZlcnNpb24g
Y291bGQgbm90IGJlIGRvbmUuCiBBIHJldHVybiB2YWx1ZSB3aGljaCBpcyB0aGUgc3ltYm9s
IGBOVUxMJwogbWVhbnMgdGhhdCBhIHNpZGUtZWZmZWN0IHdhcyBleGVjdXRlZCwKQEAgLTI2
MjksMTAgKzI2MjksMTAgQEAgYW5kIHRoZXJlIGlzIG5vIG1lYW5pbmdmdWwgc2VsZWN0aW9u
IHZhbHVlLiAgKi8pOwogCiAgIERFRlZBUl9MSVNQICgieC1sb3N0LXNlbGVjdGlvbi1mdW5j
dGlvbnMiLCBWeF9sb3N0X3NlbGVjdGlvbl9mdW5jdGlvbnMsCiAJICAgICAgIGRvYzogLyog
QSBsaXN0IG9mIGZ1bmN0aW9ucyB0byBiZSBjYWxsZWQgd2hlbiBFbWFjcyBsb3NlcyBhbiBY
IHNlbGVjdGlvbi4KLShUaGlzIGhhcHBlbnMgd2hlbiBzb21lIG90aGVyIFggY2xpZW50IG1h
a2VzIGl0cyBvd24gc2VsZWN0aW9uCitcKFRoaXMgaGFwcGVucyB3aGVuIHNvbWUgb3RoZXIg
WCBjbGllbnQgbWFrZXMgaXRzIG93biBzZWxlY3Rpb24KIG9yIHdoZW4gYSBMaXNwIHByb2dy
YW0gZXhwbGljaXRseSBjbGVhcnMgdGhlIHNlbGVjdGlvbi4pCiBUaGUgZnVuY3Rpb25zIGFy
ZSBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQsIHRoZSBzZWxlY3Rpb24gdHlwZQotKGEgc3lt
Ym9sLCB0eXBpY2FsbHkgYFBSSU1BUlknLCBgU0VDT05EQVJZJywgb3IgYENMSVBCT0FSRCcp
LiAgKi8pOworXChhIHN5bWJvbCwgdHlwaWNhbGx5IGBQUklNQVJZJywgYFNFQ09OREFSWScs
IG9yIGBDTElQQk9BUkQnKS4gICovKTsKICAgVnhfbG9zdF9zZWxlY3Rpb25fZnVuY3Rpb25z
ID0gUW5pbDsKIAogICBERUZWQVJfTElTUCAoIngtc2VudC1zZWxlY3Rpb24tZnVuY3Rpb25z
IiwgVnhfc2VudF9zZWxlY3Rpb25fZnVuY3Rpb25zLApkaWZmIC0tZ2l0IGEvc3JjL3hzZXR0
aW5ncy5jIGIvc3JjL3hzZXR0aW5ncy5jCmluZGV4IDI4MDc1YjUuLmQ3YWY2OGYgMTAwNjQ0
Ci0tLSBhL3NyYy94c2V0dGluZ3MuYworKysgYi9zcmMveHNldHRpbmdzLmMKQEAgLTYsOCAr
Niw4IEBAIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBFbWFjcy4KIAogR05VIEVtYWNzIGlz
IGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkK
IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug
YXMgcHVibGlzaGVkIGJ5Ci10aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIg
dmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0
ZXIgdmVyc2lvbi4KK3RoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJz
aW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdAoreW91ciBvcHRpb24pIGFueSBsYXRlciB2
ZXJzaW9uLgogCiBHTlUgRW1hY3MgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp
dCB3aWxsIGJlIHVzZWZ1bCwKIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl
dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCmRpZmYgLS1naXQgYS9zcmMveHNldHRpbmdz
LmggYi9zcmMveHNldHRpbmdzLmgKaW5kZXggNzRlMjhiNC4uZmEyYjVjNSAxMDA2NDQKLS0t
IGEvc3JjL3hzZXR0aW5ncy5oCisrKyBiL3NyYy94c2V0dGluZ3MuaApAQCAtNiw4ICs2LDgg
QEAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLgogCiBHTlUgRW1hY3MgaXMgZnJl
ZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogaXQg
dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBw
dWJsaXNoZWQgYnkKLXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJz
aW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0oYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2
ZXJzaW9uLgordGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24g
MyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cit5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp
b24uCiAKIEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp
bGwgYmUgdXNlZnVsLAogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g
dGhlIGltcGxpZWQgd2FycmFudHkgb2YKZGlmZiAtLWdpdCBhL3NyYy94c21mbnMuYyBiL3Ny
Yy94c21mbnMuYwppbmRleCA3NjQxNDQ5Li4wODE5ZTg3IDEwMDY0NAotLS0gYS9zcmMveHNt
Zm5zLmMKKysrIGIvc3JjL3hzbWZucy5jCkBAIC03LDggKzcsOCBAQCBUaGlzIGZpbGUgaXMg
cGFydCBvZiBHTlUgRW1hY3MuCiAKIEdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMg
b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGlj
ZW5zZSwgb3IKLShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCit0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNl
LCBvciAoYXQKK3lvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIAogR05VIEVtYWNz
IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBi
dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy
YW50eSBvZgpkaWZmIC0tZ2l0IGEvc3JjL3h0ZXJtLmMgYi9zcmMveHRlcm0uYwppbmRleCAx
ZjcxYWZkLi5iYTliZjUwIDEwMDY0NAotLS0gYS9zcmMveHRlcm0uYworKysgYi9zcmMveHRl
cm0uYwpAQCAtNiw4ICs2LDggQEAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLgog
CiBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yIG1vZGlmeQogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0oYXQgeW91ciBv
cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgordGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
biwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cit5b3VyIG9wdGlv
bikgYW55IGxhdGVyIHZlcnNpb24uCiAKIEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0
aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogYnV0IFdJVEhPVVQgQU5ZIFdBUlJB
TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKZGlmZiAtLWdpdCBh
L3NyYy94dGVybS5oIGIvc3JjL3h0ZXJtLmgKaW5kZXggM2E3ODI5Mi4uMDZjZDJlNyAxMDA2
NDQKLS0tIGEvc3JjL3h0ZXJtLmgKKysrIGIvc3JjL3h0ZXJtLmgKQEAgLTYsOCArNiw4IEBA
IFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBFbWFjcy4KIAogR05VIEVtYWNzIGlzIGZyZWUg
c29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0IHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVi
bGlzaGVkIGJ5Ci10aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lv
biAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy
c2lvbi4KK3RoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMg
b2YgdGhlIExpY2Vuc2UsIG9yIChhdAoreW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u
LgogCiBHTlUgRW1hY3MgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs
IGJlIHVzZWZ1bCwKIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo
ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCmRpZmYgLS1naXQgYS9zcmMveHdpZGdldC5jIGIvc3Jj
L3h3aWRnZXQuYwppbmRleCBmNDM2ZTk1Li5kNDM4ZDg3IDEwMDY0NAotLS0gYS9zcmMveHdp
ZGdldC5jCisrKyBiL3NyYy94d2lkZ2V0LmMKQEAgLTYsOCArNiw4IEBAIFRoaXMgZmlsZSBp
cyBwYXJ0IG9mIEdOVSBFbWFjcy4KIAogR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlv
dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIGl0IHVuZGVyIHRoZSB0ZXJt
cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci10
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBM
aWNlbnNlLCBvcgotKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KK3RoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vu
c2UsIG9yIChhdAoreW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogCiBHTlUgRW1h
Y3MgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK
IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh
cnJhbnR5IG9mCkBAIC0zODcsOSArMzg3LDEyIEBAIHdlYmtpdF9kb3dubG9hZF9jYiAoV2Vi
S2l0V2ViVmlldyAqd2Via2l0d2VidmlldywKIH0KIAogc3RhdGljIGdib29sZWFuCi13ZWJr
aXRfbWltZV90eXBlX3BvbGljeV90eXBlZGVjaXNpb25fcmVxdWVzdGVkX2NiCi0oV2ViS2l0
V2ViVmlldyAqd2ViVmlldywgV2ViS2l0V2ViRnJhbWUgKmZyYW1lLCBXZWJLaXROZXR3b3Jr
UmVxdWVzdCAqcmVxdWVzdCwKLSBnY2hhciAqbWltZXR5cGUsIFdlYktpdFdlYlBvbGljeURl
Y2lzaW9uICpwb2xpY3lfZGVjaXNpb24sIGdwb2ludGVyIHVzZXJfZGF0YSkKK3dlYmtpdF9t
aW1lX3R5cGVfcG9saWN5X3R5cGVkZWNpc2lvbl9yZXF1ZXN0ZWRfY2IgKFdlYktpdFdlYlZp
ZXcgKndlYlZpZXcsCisJCQkJCQkgICBXZWJLaXRXZWJGcmFtZSAqZnJhbWUsCisJCQkJCQkg
ICBXZWJLaXROZXR3b3JrUmVxdWVzdCAqcmVxdWVzdCwKKwkJCQkJCSAgIGdjaGFyICptaW1l
dHlwZSwKKwkJCQkJCSAgIFdlYktpdFdlYlBvbGljeURlY2lzaW9uICpwb2xpY3lfZGVjaXNp
b24sCisJCQkJCQkgICBncG9pbnRlciB1c2VyX2RhdGEpCiB7CiAgIC8qIFRoaXMgZnVuY3Rp
b24gbWFrZXMgd2Via2l0IHNlbmQgYSBkb3dubG9hZCBzaWduYWwgZm9yIGFsbCB1bmtub3du
CiAgICAgIG1pbWUgdHlwZXMuICBUT0RPOiBEZWZlciB0aGUgZGVjaXNpb24gdG8gTGlzcCwg
c28gdGhhdCBpdCdzCkBAIC00MDQsMTAgKzQwNywxMiBAQCB3ZWJraXRfbWltZV90eXBlX3Bv
bGljeV90eXBlZGVjaXNpb25fcmVxdWVzdGVkX2NiCiB9CiAKIHN0YXRpYyBnYm9vbGVhbgot
d2Via2l0X25ld193aW5kb3dfcG9saWN5X2RlY2lzaW9uX3JlcXVlc3RlZF9jYgotKFdlYktp
dFdlYlZpZXcgKndlYlZpZXcsIFdlYktpdFdlYkZyYW1lICpmcmFtZSwgV2ViS2l0TmV0d29y
a1JlcXVlc3QgKnJlcXVlc3QsCi0gV2ViS2l0V2ViTmF2aWdhdGlvbkFjdGlvbiAqbmF2aWdh
dGlvbl9hY3Rpb24sCi0gV2ViS2l0V2ViUG9saWN5RGVjaXNpb24gKnBvbGljeV9kZWNpc2lv
biwgZ3BvaW50ZXIgdXNlcl9kYXRhKQord2Via2l0X25ld193aW5kb3dfcG9saWN5X2RlY2lz
aW9uX3JlcXVlc3RlZF9jYiAoV2ViS2l0V2ViVmlldyAqd2ViVmlldywKKwkJCQkJCVdlYktp
dFdlYkZyYW1lICpmcmFtZSwKKwkJCQkJCVdlYktpdE5ldHdvcmtSZXF1ZXN0ICpyZXF1ZXN0
LAorCQkJCQkJV2ViS2l0V2ViTmF2aWdhdGlvbkFjdGlvbiAqbmF2aWdhdGlvbl9hY3Rpb24s
CisJCQkJCQlXZWJLaXRXZWJQb2xpY3lEZWNpc2lvbiAqcG9saWN5X2RlY2lzaW9uLAorCQkJ
CQkJZ3BvaW50ZXIgdXNlcl9kYXRhKQogewogICBzdHJ1Y3QgeHdpZGdldCAqeHcgPSBnX29i
amVjdF9nZXRfZGF0YSAoR19PQkpFQ1QgKHdlYlZpZXcpLCBYR19YV0lER0VUKTsKICAgd2Vi
a2l0X3dlYl9uYXZpZ2F0aW9uX2FjdGlvbl9nZXRfb3JpZ2luYWxfdXJpIChuYXZpZ2F0aW9u
X2FjdGlvbik7CkBAIC00MTksMTAgKzQyNCwxMiBAQCB3ZWJraXRfbmV3X3dpbmRvd19wb2xp
Y3lfZGVjaXNpb25fcmVxdWVzdGVkX2NiCiB9CiAKIHN0YXRpYyBnYm9vbGVhbgotd2Via2l0
X25hdmlnYXRpb25fcG9saWN5X2RlY2lzaW9uX3JlcXVlc3RlZF9jYgotKFdlYktpdFdlYlZp
ZXcgKndlYlZpZXcsIFdlYktpdFdlYkZyYW1lICpmcmFtZSwgV2ViS2l0TmV0d29ya1JlcXVl
c3QgKnJlcXVlc3QsCi0gV2ViS2l0V2ViTmF2aWdhdGlvbkFjdGlvbiAqbmF2aWdhdGlvbl9h
Y3Rpb24sCi0gV2ViS2l0V2ViUG9saWN5RGVjaXNpb24gKnBvbGljeV9kZWNpc2lvbiwgZ3Bv
aW50ZXIgdXNlcl9kYXRhKQord2Via2l0X25hdmlnYXRpb25fcG9saWN5X2RlY2lzaW9uX3Jl
cXVlc3RlZF9jYiAoV2ViS2l0V2ViVmlldyAqd2ViVmlldywKKwkJCQkJCVdlYktpdFdlYkZy
YW1lICpmcmFtZSwKKwkJCQkJCVdlYktpdE5ldHdvcmtSZXF1ZXN0ICpyZXF1ZXN0LAorCQkJ
CQkJV2ViS2l0V2ViTmF2aWdhdGlvbkFjdGlvbiAqbmF2aWdhdGlvbl9hY3Rpb24sCisJCQkJ
CQlXZWJLaXRXZWJQb2xpY3lEZWNpc2lvbiAqcG9saWN5X2RlY2lzaW9uLAorCQkJCQkJZ3Bv
aW50ZXIgdXNlcl9kYXRhKQogewogICBzdHJ1Y3QgeHdpZGdldCAqeHcgPSBnX29iamVjdF9n
ZXRfZGF0YSAoR19PQkpFQ1QgKHdlYlZpZXcpLCBYR19YV0lER0VUKTsKICAgc3RvcmVfeHdp
ZGdldF9ldmVudF9zdHJpbmcgKHh3LCAibmF2aWdhdGlvbi1wb2xpY3ktZGVjaXNpb24tcmVx
dWVzdGVkIiwKZGlmZiAtLWdpdCBhL3NyYy94d2lkZ2V0LmggYi9zcmMveHdpZGdldC5oCmlu
ZGV4IDFlMTFmMTEuLjhmYzM4MjEgMTAwNjQ0Ci0tLSBhL3NyYy94d2lkZ2V0LmgKKysrIGIv
c3JjL3h3aWRnZXQuaApAQCAtNiw4ICs2LDggQEAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05V
IEVtYWNzLgogCiBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLXRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0o
YXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgordGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cit5
b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAKIEdOVSBFbWFjcyBpcyBkaXN0cmli
dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogYnV0IFdJVEhPVVQg
QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKZGlm
ZiAtLWdpdCBhL3Rlc3QvZXRhZ3MvYy1zcmMvZW1hY3Mvc3JjL2tleWJvYXJkLmMgYi90ZXN0
L2V0YWdzL2Mtc3JjL2VtYWNzL3NyYy9rZXlib2FyZC5jCmluZGV4IDA3N2IxNDcuLjY4NTg0
ZWUgMTAwNjQ0Ci0tLSBhL3Rlc3QvZXRhZ3MvYy1zcmMvZW1hY3Mvc3JjL2tleWJvYXJkLmMK
KysrIGIvdGVzdC9ldGFncy9jLXNyYy9lbWFjcy9zcmMva2V5Ym9hcmQuYwpAQCAtNyw4ICs3
LDggQEAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLgogCiBHTlUgRW1hY3MgaXMg
ZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQog
aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBh
cyBwdWJsaXNoZWQgYnkKLXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2
ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0oYXQgeW91ciBvcHRpb24pIGFueSBsYXRl
ciB2ZXJzaW9uLgordGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNp
b24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cit5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCiAKIEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0
IHdpbGwgYmUgdXNlZnVsLAogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2
ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKZGlmZiAtLWdpdCBhL3Rlc3QvZXRhZ3MvYy1z
cmMvZW1hY3Mvc3JjL2xpc3AuaCBiL3Rlc3QvZXRhZ3MvYy1zcmMvZW1hY3Mvc3JjL2xpc3Au
aAppbmRleCA5NmM1MmMwLi5kYjg3MjI5IDEwMDY0NAotLS0gYS90ZXN0L2V0YWdzL2Mtc3Jj
L2VtYWNzL3NyYy9saXNwLmgKKysrIGIvdGVzdC9ldGFncy9jLXNyYy9lbWFjcy9zcmMvbGlz
cC5oCkBAIC03LDggKzcsOCBAQCBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3MuCiAK
IEdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLShhdCB5b3VyIG9w
dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
LCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQKK3lvdXIgb3B0aW9u
KSBhbnkgbGF0ZXIgdmVyc2lvbi4KIAogR05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRo
ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFO
VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpkaWZmIC0tZ2l0IGEv
dGVzdC9ldGFncy9jLXNyYy9ldGFncy5jIGIvdGVzdC9ldGFncy9jLXNyYy9ldGFncy5jCmlu
ZGV4IDQ0NjViODMuLjQ1MzQxOTggMTAwNjQ0Ci0tLSBhL3Rlc3QvZXRhZ3MvYy1zcmMvZXRh
Z3MuYworKysgYi90ZXN0L2V0YWdzL2Mtc3JjL2V0YWdzLmMKQEAgLTM1LDggKzM1LDggQEAg
VGhpcyBmaWxlIGlzIG5vdCBjb25zaWRlcmVkIHBhcnQgb2YgR05VIEVtYWNzLgogCiBUaGlz
IHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yIG1vZGlmeQogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0oYXQgeW91ciBvcHRp
b24pIGFueSBsYXRlciB2ZXJzaW9uLgordGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg
ZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cit5b3VyIG9wdGlvbikg
YW55IGxhdGVyIHZlcnNpb24uCiAKIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0
aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogYnV0IFdJVEhPVVQgQU5ZIFdBUlJB
TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKQEAgLTYxMyw4ICs2
MTMsOCBAQCBzdGF0aWMgY29uc3QgY2hhciAqT2JqY19zdWZmaXhlcyBbXSA9CiBzdGF0aWMg
Y29uc3QgY2hhciBPYmpjX2hlbHAgW10gPQogIkluIE9iamVjdGl2ZSBDIGNvZGUsIHRhZ3Mg
aW5jbHVkZSBPYmplY3RpdmUgQyBkZWZpbml0aW9ucyBmb3IgY2xhc3NlcyxcblwKIGNsYXNz
IGNhdGVnb3JpZXMsIG1ldGhvZHMgYW5kIHByb3RvY29scy4gIFRhZ3MgZm9yIHZhcmlhYmxl
cyBhbmRcblwKLWZ1bmN0aW9ucyBpbiBjbGFzc2VzIGFyZSBuYW1lZCBgQ0xBU1M6OlZBUklB
QkxFJyBhbmQgYENMQVNTOjpGVU5DVElPTicuXG5cCi0oVXNlIC0taGVscCAtLWxhbmc9YyAt
LWxhbmc9b2JqYyAtLWxhbmc9amF2YSBmb3IgZnVsbCBoZWxwLikiOworZnVuY3Rpb25zIGlu
IGNsYXNzZXMgYXJlIG5hbWVkIGBDTEFTUzo6VkFSSUFCTEUnIGFuZCBgQ0xBU1M6OkZVTkNU
SU9OJy5cCitcbihVc2UgLS1oZWxwIC0tbGFuZz1jIC0tbGFuZz1vYmpjIC0tbGFuZz1qYXZh
IGZvciBmdWxsIGhlbHAuKSI7CiAKIHN0YXRpYyBjb25zdCBjaGFyICpQYXNjYWxfc3VmZml4
ZXMgW10gPQogICB7ICJwIiwgInBhcyIsIE5VTEwgfTsKLS0gCjIuNS4wCgo=
--------------060606010004080908000709--




Information forwarded to bug-gnu-emacs@HIDDEN, bug-cc-mode@HIDDEN:
bug#22884; Package emacs,cc-mode. Full text available.

Message received at 22884 <at> debbugs.gnu.org:


Received: (at 22884) by debbugs.gnu.org; 3 Mar 2016 23:15:55 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Mar 03 18:15:55 2016
Received: from localhost ([127.0.0.1]:60591 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1abcTK-0006Jc-SJ
	for submit <at> debbugs.gnu.org; Thu, 03 Mar 2016 18:15:55 -0500
Received: from mail.muc.de ([193.149.48.3]:11049)
 by debbugs.gnu.org with esmtp (Exim 4.84)
 (envelope-from <acm@HIDDEN>) id 1abcTJ-0006Hj-6I
 for 22884 <at> debbugs.gnu.org; Thu, 03 Mar 2016 18:15:53 -0500
Received: (qmail 6638 invoked by uid 3782); 3 Mar 2016 23:15:52 -0000
Received: from acm.muc.de (p579E89EE.dip0.t-ipconnect.de [87.158.137.238]) by
 colin.muc.de (tmda-ofmipd) with ESMTP;
 Fri, 04 Mar 2016 00:15:50 +0100
Received: (qmail 1311 invoked by uid 1000); 3 Mar 2016 23:18:23 -0000
Date: Thu, 3 Mar 2016 23:18:23 +0000
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#22884: 25.0.92; C/l mode editing takes waaaayy too long
Message-ID: <20160303231823.GD3822@HIDDEN>
References: <56D72C35.4090708@HIDDEN>
 <20160303124910.GA2852@HIDDEN> <83si07z451.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <83si07z451.fsf@HIDDEN>
User-Agent: Mutt/1.5.24 (2015-08-30)
X-Delivery-Agent: TMDA/1.1.12 (Macallan)
From: Alan Mackenzie <acm@HIDDEN>
X-Primary-Address: acm@HIDDEN
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 22884
Cc: eggert@HIDDEN, 22884 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.0 (/)

Hello, Eli.

On Thu, Mar 03, 2016 at 10:40:42PM +0200, Eli Zaretskii wrote:
> > Date: Thu, 3 Mar 2016 12:49:10 +0000
> > From: Alan Mackenzie <acm@HIDDEN>
> > Cc: 22884 <at> debbugs.gnu.org

> > > emacs -Q config.h
> > > M-x goto-line RET 1661 RET / /

> > > On my six-year-old desktop the second '/' takes about 10 seconds to 
> > > echo.  This sort of thing makes Emacs effectively unusable for editing 
> > > config.h.

> > The problem is in config.h.  At line 14, inside a comment, appears the
> > following string:
> >     "(at your option) any later version."
> > .  The open paren is at column zero, so the fancy code in syntax.c then
> > fails to recognise the comment as a comment.

> I think we should change syntax.c to fix this.  (Alternatively, CC
> mode could stop depending on it, but I doubt this is a viable
> alternative.)  We cannot really tell people we don't support such
> files, as they are valid C code.

Would it be practicable to mark comments with text properties?  Say, a
property called `comment-depth' which would be either nil (meaning
currently unknown), 0 (definitely not in a comment), 1 (definitely in a
comment), 2 (in a nested comment), 3, ...... ?  That way we could always
scan comments in the forwards direction (which is easy) - if we need to
go backwards over a comment without the property, we can just go back to
a known point and scan forward.

Or would this just overwhelm the text property mechanism?

-- 
Alan Mackenzie (Nuremberg, Germany).




Information forwarded to bug-gnu-emacs@HIDDEN, bug-cc-mode@HIDDEN:
bug#22884; Package emacs,cc-mode. Full text available.

Message received at 22884 <at> debbugs.gnu.org:


Received: (at 22884) by debbugs.gnu.org; 3 Mar 2016 22:57:20 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Mar 03 17:57:20 2016
Received: from localhost ([127.0.0.1]:60580 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1abcBM-00052o-3E
	for submit <at> debbugs.gnu.org; Thu, 03 Mar 2016 17:57:20 -0500
Received: from mail.muc.de ([193.149.48.3]:11349)
 by debbugs.gnu.org with esmtp (Exim 4.84)
 (envelope-from <acm@HIDDEN>) id 1abcBK-00052g-HF
 for 22884 <at> debbugs.gnu.org; Thu, 03 Mar 2016 17:57:18 -0500
Received: (qmail 32289 invoked by uid 3782); 3 Mar 2016 22:57:17 -0000
Received: from acm.muc.de (p579E89EE.dip0.t-ipconnect.de [87.158.137.238]) by
 colin.muc.de (tmda-ofmipd) with ESMTP;
 Thu, 03 Mar 2016 23:57:16 +0100
Received: (qmail 1245 invoked by uid 1000); 3 Mar 2016 22:59:49 -0000
Date: Thu, 3 Mar 2016 22:59:49 +0000
To: Paul Eggert <eggert@HIDDEN>
Subject: Re: bug#22884: 25.0.92; C/l mode editing takes waaaayy too long
Message-ID: <20160303225949.GC3822@HIDDEN>
References: <56D72C35.4090708@HIDDEN>
 <20160303124910.GA2852@HIDDEN>
 <56D87A6E.8090202@HIDDEN>
 <20160303192330.GA3822@HIDDEN>
 <56D8B337.7000302@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <56D8B337.7000302@HIDDEN>
User-Agent: Mutt/1.5.24 (2015-08-30)
X-Delivery-Agent: TMDA/1.1.12 (Macallan)
From: Alan Mackenzie <acm@HIDDEN>
X-Primary-Address: acm@HIDDEN
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 22884
Cc: 22884 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.0 (/)

Hello, Paul.

On Thu, Mar 03, 2016 at 01:57:11PM -0800, Paul Eggert wrote:
> On 03/03/2016 11:23 AM, Alan Mackenzie wrote:
> > Why only for the one file?

> Because I didn't have time to fix all the source files .... It could
> easily be added, at least for files we maintain. Though, as Eli says,
> it'd be nicer if cc-mode didn't think lines beginning with '(' were
> relevant for function-start in C.

This is an Emacs thing rather than a CC Mode one.  It's all about how
syntax.c goes backwards over a comment.  You've just gone back over a
comment ender, so you start searching for the comment starter, but when
do you stop and give up?  Currently the answer is at a paren in column
zero (unless open-paren-in-column-0-is-defun-start is nil).

It's a difficult problem.  In previous versions of CC Mode,
open-paren-..-start was bound to nil internally, "solving" the problem,
but at an unacceptable cost in performance, particularly when editing
later portions of a large file.

> > The performance hit comes from the amount of contiguous syntactic 
> > whitespace following the "failed" comment. Have you checked this is 
> > the only file with so much SWS?

> No. It's easier for me to simply fix all instances of code that have '(' 
> at line start. I can propose a more-complete patch along those lines.

OK.

> > OK.  Could you give me a clue as to what they mean, please?  For
> > example, in

> >      INLINE EMACS_INT
> >      (XLI) (Lisp_Object o)
> >      {
> >        return lisp_h_XLI (o);
> >      }

> > , what does "(XLI)" do?

> It defines a function named 'XLI' even though there's also a 
> function-like macro named 'XLI', without expanding the macro.

Ah, thank you!  Now you've explained it, it's obvious.

-- 
Alan Mackenzie (Nuremberg, Germany).




Information forwarded to bug-gnu-emacs@HIDDEN, bug-cc-mode@HIDDEN:
bug#22884; Package emacs,cc-mode. Full text available.

Message received at 22884 <at> debbugs.gnu.org:


Received: (at 22884) by debbugs.gnu.org; 3 Mar 2016 22:25:21 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Mar 03 17:25:21 2016
Received: from localhost ([127.0.0.1]:60574 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1abbgP-0004JI-EH
	for submit <at> debbugs.gnu.org; Thu, 03 Mar 2016 17:25:21 -0500
Received: from mail.muc.de ([193.149.48.3]:30945)
 by debbugs.gnu.org with esmtp (Exim 4.84)
 (envelope-from <acm@HIDDEN>) id 1abbgN-0004J6-Cp
 for 22884 <at> debbugs.gnu.org; Thu, 03 Mar 2016 17:25:20 -0500
Received: (qmail 24455 invoked by uid 3782); 3 Mar 2016 22:25:18 -0000
Received: from acm.muc.de (p579E89EE.dip0.t-ipconnect.de [87.158.137.238]) by
 colin.muc.de (tmda-ofmipd) with ESMTP;
 Thu, 03 Mar 2016 23:25:17 +0100
Received: (qmail 1171 invoked by uid 1000); 3 Mar 2016 22:27:49 -0000
Date: Thu, 3 Mar 2016 22:27:49 +0000
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#22884: 25.0.92; C/l mode editing takes waaaayy too long
Message-ID: <20160303222749.GB3822@HIDDEN>
References: <56D72C35.4090708@HIDDEN>
 <20160303124910.GA2852@HIDDEN> <83si07z451.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <83si07z451.fsf@HIDDEN>
User-Agent: Mutt/1.5.24 (2015-08-30)
X-Delivery-Agent: TMDA/1.1.12 (Macallan)
From: Alan Mackenzie <acm@HIDDEN>
X-Primary-Address: acm@HIDDEN
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 22884
Cc: eggert@HIDDEN, 22884 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.0 (/)

Hello, Eli.

On Thu, Mar 03, 2016 at 10:40:42PM +0200, Eli Zaretskii wrote:
> > Date: Thu, 3 Mar 2016 12:49:10 +0000
> > From: Alan Mackenzie <acm@HIDDEN>
> > Cc: 22884 <at> debbugs.gnu.org

> > > emacs -Q config.h
> > > M-x goto-line RET 1661 RET / /

> > > On my six-year-old desktop the second '/' takes about 10 seconds to 
> > > echo.  This sort of thing makes Emacs effectively unusable for editing 
> > > config.h.

> > The problem is in config.h.  At line 14, inside a comment, appears the
> > following string:
> >     "(at your option) any later version."
> > .  The open paren is at column zero, so the fancy code in syntax.c then
> > fails to recognise the comment as a comment.

> I think we should change syntax.c to fix this.

In particular, get syntax.c to recognise open parens in column zero as
defun starts _ONLY_ when they're not in strings or comments.  This will
clearly impact performance to some (unknown) degree.

> (Alternatively, CC mode could stop depending on it, but I doubt this is
> a viable alternative.)

This was tried for some time, by internally binding
open-paren-in-column-0-is-defun-start to nil.  It cost too much in
performance on large files (ask Martin!).

> We cannot really tell people we don't support such files, as they are
> valid C code.

I agree.

-- 
Alan Mackenzie (Nuremberg, Germany).




Information forwarded to bug-gnu-emacs@HIDDEN, bug-cc-mode@HIDDEN:
bug#22884; Package emacs,cc-mode. Full text available.

Message received at 22884 <at> debbugs.gnu.org:


Received: (at 22884) by debbugs.gnu.org; 3 Mar 2016 21:57:23 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Mar 03 16:57:23 2016
Received: from localhost ([127.0.0.1]:60564 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1abbFK-0003Z0-Pr
	for submit <at> debbugs.gnu.org; Thu, 03 Mar 2016 16:57:22 -0500
Received: from zimbra.cs.ucla.edu ([131.179.128.68]:39102)
 by debbugs.gnu.org with esmtp (Exim 4.84)
 (envelope-from <eggert@HIDDEN>) id 1abbFI-0003Ym-4s
 for 22884 <at> debbugs.gnu.org; Thu, 03 Mar 2016 16:57:20 -0500
Received: from localhost (localhost [127.0.0.1])
 by zimbra.cs.ucla.edu (Postfix) with ESMTP id E485E1601A7;
 Thu,  3 Mar 2016 13:57:12 -0800 (PST)
Received: from zimbra.cs.ucla.edu ([127.0.0.1])
 by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id PDE65pRp9jgF; Thu,  3 Mar 2016 13:57:12 -0800 (PST)
Received: from localhost (localhost [127.0.0.1])
 by zimbra.cs.ucla.edu (Postfix) with ESMTP id 3E082160779;
 Thu,  3 Mar 2016 13:57:12 -0800 (PST)
X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu
Received: from zimbra.cs.ucla.edu ([127.0.0.1])
 by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id JM0LiyRKnqWZ; Thu,  3 Mar 2016 13:57:12 -0800 (PST)
Received: from penguin.cs.ucla.edu (Penguin.CS.UCLA.EDU [131.179.64.200])
 by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 25B831601A7;
 Thu,  3 Mar 2016 13:57:12 -0800 (PST)
Subject: Re: bug#22884: 25.0.92; C/l mode editing takes waaaayy too long
To: Alan Mackenzie <acm@HIDDEN>
References: <56D72C35.4090708@HIDDEN>
 <20160303124910.GA2852@HIDDEN> <56D87A6E.8090202@HIDDEN>
 <20160303192330.GA3822@HIDDEN>
From: Paul Eggert <eggert@HIDDEN>
Organization: UCLA Computer Science Department
Message-ID: <56D8B337.7000302@HIDDEN>
Date: Thu, 3 Mar 2016 13:57:11 -0800
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101
 Thunderbird/38.6.0
MIME-Version: 1.0
In-Reply-To: <20160303192330.GA3822@HIDDEN>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 22884
Cc: 22884 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.0 (/)

On 03/03/2016 11:23 AM, Alan Mackenzie wrote:
> Why only for the one file?

Because I didn't have time to fix all the source files (I was about to 
rush off and teach a class....). It could easily be added, at least for 
files we maintain. Though, as Eli says, it'd be nicer if cc-mode didn't 
think lines beginning with '(' were relevant for function-start in C.

> The performance hit comes from the amount of contiguous syntactic 
> whitespace following the "failed" comment. Have you checked this is 
> the only file with so much SWS?

No. It's easier for me to simply fix all instances of code that have '(' 
at line start. I can propose a more-complete patch along those lines.

>
> OK.  Could you give me a clue as to what they mean, please?  For
> example, in
>
>      INLINE EMACS_INT
>      (XLI) (Lisp_Object o)
>      {
>        return lisp_h_XLI (o);
>      }
>
> , what does "(XLI)" do?

It defines a function named 'XLI' even though there's also a 
function-like macro named 'XLI', without expanding the macro.

> No, they don't cause breakage.

Good, in that case we can leave them alone.





Information forwarded to bug-gnu-emacs@HIDDEN, bug-cc-mode@HIDDEN:
bug#22884; Package emacs,cc-mode. Full text available.

Message received at 22884 <at> debbugs.gnu.org:


Received: (at 22884) by debbugs.gnu.org; 3 Mar 2016 20:51:57 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Mar 03 15:51:57 2016
Received: from localhost ([127.0.0.1]:60523 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1abaE1-0001vn-7J
	for submit <at> debbugs.gnu.org; Thu, 03 Mar 2016 15:51:57 -0500
Received: from eggs.gnu.org ([208.118.235.92]:55488)
 by debbugs.gnu.org with esmtp (Exim 4.84)
 (envelope-from <eliz@HIDDEN>) id 1abaDz-0001vZ-EW
 for 22884 <at> debbugs.gnu.org; Thu, 03 Mar 2016 15:51:55 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <eliz@HIDDEN>) id 1abaDr-0000c9-3l
 for 22884 <at> debbugs.gnu.org; Thu, 03 Mar 2016 15:51:50 -0500
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=-0.5 required=5.0 tests=BAYES_05,RP_MATCHES_RCVD
 autolearn=disabled version=3.3.2
Received: from fencepost.gnu.org ([2001:4830:134:3::e]:60286)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <eliz@HIDDEN>)
 id 1abaDr-0000c2-06; Thu, 03 Mar 2016 15:51:47 -0500
Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:1509
 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1abaDq-00016c-AW; Thu, 03 Mar 2016 15:51:46 -0500
Date: Thu, 03 Mar 2016 22:51:42 +0200
Message-Id: <83povbz3mp.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Paul Eggert <eggert@HIDDEN>
In-reply-to: <56D87A6E.8090202@HIDDEN> (message from Paul Eggert on Thu, 
 3 Mar 2016 09:54:54 -0800)
Subject: Re: bug#22884: 25.0.92; C/l mode editing takes waaaayy too long
References: <56D72C35.4090708@HIDDEN>
 <20160303124910.GA2852@HIDDEN> <56D87A6E.8090202@HIDDEN>
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Received-From: 2001:4830:134:3::e
X-Spam-Score: -5.0 (-----)
X-Debbugs-Envelope-To: 22884
Cc: acm@HIDDEN, 22884 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Reply-To: Eli Zaretskii <eliz@HIDDEN>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -5.0 (-----)

> From: Paul Eggert <eggert@HIDDEN>
> Date: Thu, 3 Mar 2016 09:54:54 -0800
> Cc: 22884 <at> debbugs.gnu.org
> 
> The attached proposed patch fixes all the problems I found, except (1) 
> it leaves license wording alone for the most part (config.h excepted, 
> since the performance disaster is there), and (2) it leaves the weird 
> lisp.h constructs alone as per the above paragraph. Is this the sort of 
> thing you had in mind (except I guess we need to fix (1) too?).

Thanks.  However, I'd rather we fixed CC Mode instead of "fixing" the
sources it chokes on.




Information forwarded to bug-gnu-emacs@HIDDEN, bug-cc-mode@HIDDEN:
bug#22884; Package emacs,cc-mode. Full text available.

Message received at 22884 <at> debbugs.gnu.org:


Received: (at 22884) by debbugs.gnu.org; 3 Mar 2016 20:40:56 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Mar 03 15:40:56 2016
Received: from localhost ([127.0.0.1]:60519 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1aba3M-0001fr-4W
	for submit <at> debbugs.gnu.org; Thu, 03 Mar 2016 15:40:56 -0500
Received: from eggs.gnu.org ([208.118.235.92]:52627)
 by debbugs.gnu.org with esmtp (Exim 4.84)
 (envelope-from <eliz@HIDDEN>) id 1aba3L-0001fe-1a
 for 22884 <at> debbugs.gnu.org; Thu, 03 Mar 2016 15:40:55 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <eliz@HIDDEN>) id 1aba3C-0006B2-St
 for 22884 <at> debbugs.gnu.org; Thu, 03 Mar 2016 15:40:50 -0500
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,RP_MATCHES_RCVD
 autolearn=disabled version=3.3.2
Received: from fencepost.gnu.org ([2001:4830:134:3::e]:60111)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <eliz@HIDDEN>)
 id 1aba3C-0006Ay-M0; Thu, 03 Mar 2016 15:40:46 -0500
Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:1480
 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1aba3C-0008Sg-0J; Thu, 03 Mar 2016 15:40:46 -0500
Date: Thu, 03 Mar 2016 22:40:42 +0200
Message-Id: <83si07z451.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Alan Mackenzie <acm@HIDDEN>
In-reply-to: <20160303124910.GA2852@HIDDEN> (message from Alan
 Mackenzie on Thu, 3 Mar 2016 12:49:10 +0000)
Subject: Re: bug#22884: 25.0.92; C/l mode editing takes waaaayy too long
References: <56D72C35.4090708@HIDDEN>
 <20160303124910.GA2852@HIDDEN>
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Received-From: 2001:4830:134:3::e
X-Spam-Score: -5.0 (-----)
X-Debbugs-Envelope-To: 22884
Cc: eggert@HIDDEN, 22884 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Reply-To: Eli Zaretskii <eliz@HIDDEN>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -5.0 (-----)

> Date: Thu, 3 Mar 2016 12:49:10 +0000
> From: Alan Mackenzie <acm@HIDDEN>
> Cc: 22884 <at> debbugs.gnu.org
> 
> > emacs -Q config.h
> > M-x goto-line RET 1661 RET / /
> 
> > On my six-year-old desktop the second '/' takes about 10 seconds to 
> > echo.  This sort of thing makes Emacs effectively unusable for editing 
> > config.h.
> 
> The problem is in config.h.  At line 14, inside a comment, appears the
> following string:
>     "(at your option) any later version."
> .  The open paren is at column zero, so the fancy code in syntax.c then
> fails to recognise the comment as a comment.

I think we should change syntax.c to fix this.  (Alternatively, CC
mode could stop depending on it, but I doubt this is a viable
alternative.)  We cannot really tell people we don't support such
files, as they are valid C code.




Information forwarded to bug-gnu-emacs@HIDDEN, bug-cc-mode@HIDDEN:
bug#22884; Package emacs,cc-mode. Full text available.

Message received at 22884 <at> debbugs.gnu.org:


Received: (at 22884) by debbugs.gnu.org; 3 Mar 2016 20:38:51 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Mar 03 15:38:50 2016
Received: from localhost ([127.0.0.1]:60515 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1aba1K-0001cW-N1
	for submit <at> debbugs.gnu.org; Thu, 03 Mar 2016 15:38:50 -0500
Received: from eggs.gnu.org ([208.118.235.92]:52029)
 by debbugs.gnu.org with esmtp (Exim 4.84)
 (envelope-from <eliz@HIDDEN>) id 1aba1J-0001cJ-Ga
 for 22884 <at> debbugs.gnu.org; Thu, 03 Mar 2016 15:38:49 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <eliz@HIDDEN>) id 1aba1B-0005gO-69
 for 22884 <at> debbugs.gnu.org; Thu, 03 Mar 2016 15:38:44 -0500
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_40,RP_MATCHES_RCVD
 autolearn=disabled version=3.3.2
Received: from fencepost.gnu.org ([2001:4830:134:3::e]:60074)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <eliz@HIDDEN>)
 id 1aba1B-0005gH-30; Thu, 03 Mar 2016 15:38:41 -0500
Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:1476
 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1aba1A-0005ED-AJ; Thu, 03 Mar 2016 15:38:40 -0500
Date: Thu, 03 Mar 2016 22:38:36 +0200
Message-Id: <83twknz48j.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Alan Mackenzie <acm@HIDDEN>
In-reply-to: <20160303192330.GA3822@HIDDEN> (message from Alan
 Mackenzie on Thu, 3 Mar 2016 19:23:30 +0000)
Subject: Re: bug#22884: 25.0.92; C/l mode editing takes waaaayy too long
References: <56D72C35.4090708@HIDDEN>
 <20160303124910.GA2852@HIDDEN>
 <56D87A6E.8090202@HIDDEN> <20160303192330.GA3822@HIDDEN>
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Received-From: 2001:4830:134:3::e
X-Spam-Score: -5.0 (-----)
X-Debbugs-Envelope-To: 22884
Cc: eggert@HIDDEN, 22884 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Reply-To: Eli Zaretskii <eliz@HIDDEN>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -5.0 (-----)

> Date: Thu, 3 Mar 2016 19:23:30 +0000
> From: Alan Mackenzie <acm@HIDDEN>
> Cc: 22884 <at> debbugs.gnu.org
> 
> OK.  Could you give me a clue as to what they mean, please?  For
> example, in
> 
>     INLINE EMACS_INT
>     (XLI) (Lisp_Object o)
>     {
>       return lisp_h_XLI (o);
>     }
> 
> , what does "(XLI)" do?

It's an age-old method of calling a function without risking it being
shadowed by a macro, AFAIK.

> It can't be an expansion of the CPP macro "XLI", surely, lacking, as
> it does, an argument.

Exactly.  And that's why it ensures a function will be called instead
of the macro.




Information forwarded to bug-gnu-emacs@HIDDEN, bug-cc-mode@HIDDEN:
bug#22884; Package emacs,cc-mode. Full text available.

Message received at 22884 <at> debbugs.gnu.org:


Received: (at 22884) by debbugs.gnu.org; 3 Mar 2016 19:21:02 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Mar 03 14:21:02 2016
Received: from localhost ([127.0.0.1]:60467 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1abYo2-0007yT-Df
	for submit <at> debbugs.gnu.org; Thu, 03 Mar 2016 14:21:02 -0500
Received: from mail.muc.de ([193.149.48.3]:15443)
 by debbugs.gnu.org with esmtp (Exim 4.84)
 (envelope-from <acm@HIDDEN>) id 1abYo0-0007xm-7F
 for 22884 <at> debbugs.gnu.org; Thu, 03 Mar 2016 14:21:00 -0500
Received: (qmail 80679 invoked by uid 3782); 3 Mar 2016 19:20:59 -0000
Received: from acm.muc.de (p579E89EE.dip0.t-ipconnect.de [87.158.137.238]) by
 colin.muc.de (tmda-ofmipd) with ESMTP;
 Thu, 03 Mar 2016 20:20:57 +0100
Received: (qmail 486 invoked by uid 1000); 3 Mar 2016 19:23:30 -0000
Date: Thu, 3 Mar 2016 19:23:30 +0000
To: Paul Eggert <eggert@HIDDEN>
Subject: Re: bug#22884: 25.0.92; C/l mode editing takes waaaayy too long
Message-ID: <20160303192330.GA3822@HIDDEN>
References: <56D72C35.4090708@HIDDEN>
 <20160303124910.GA2852@HIDDEN>
 <56D87A6E.8090202@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <56D87A6E.8090202@HIDDEN>
User-Agent: Mutt/1.5.24 (2015-08-30)
X-Delivery-Agent: TMDA/1.1.12 (Macallan)
From: Alan Mackenzie <acm@HIDDEN>
X-Primary-Address: acm@HIDDEN
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 22884
Cc: 22884 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.0 (/)

Hello, Paul.

First of all, congratulations on getting such a long patch prepared by
10 o'clock in the morning.  :-)

On Thu, Mar 03, 2016 at 09:54:54AM -0800, Paul Eggert wrote:
> On 03/03/2016 04:49 AM, Alan Mackenzie wrote:
> > Inserting a backslash at the beginning of L14 solves the problem, as 
> > does setting open-paren-in-column-0-is-defun-start to nil.

> I presume the latter is not really on the table.

No, indeed not.

> We can't put a backslash there, as it's license text and shouldn't be
> fiddled with in that way. We could fold it differently (as in the
> attached proposed patch, which does this only for config.h and
> friends).

Why only for the one file?  The performance hit comes from the amount of
contiguous syntactic whitespace following the "failed" comment.  Have
you checked this is the only file with so much SWS?

The effect of of these "failed" comments on CC Mode is as follows:
c-beginning-of-statement-1 uses c-backward-syntactic-ws.  The latter
goes back to just before the ostensible "//" comment marker in the GNU
URL, that is, just after "http:".  c-beginning-of-statement-1 then moves
back over the "label", then moves back one sexp at a time, looking for
statement boundaries, keywords, etc.  It recognises "for" in "for more
details" as a C keyword, assumes that "more" is the parenthetical
expression and that "details" is the beginning of the substatement.

Although this (probably) won't hit the performance in most files, it is
going to throw out the syntactic analysis sometimes.  Is there any
chance you could put in the refolding of the copyright message into all
the files, to avoid this?

By the way, I've tried out your patch.  It applies fine to the emacs-25
branch, it builds OK, and the new Emacs seems to start and run OK.

> > The next problem is that there are around 324 occurrences of "(" at 
> > column zero in the src directory, and quite a few in lib and lib-src. 
> > Most of them are in comments, some of them are parameter lists, and 
> > some of them (e.g. in lisp.h) are wierd constructs of some sort. These 
> > contravene GNU coding standards and really need sorting out.

> The lisp.h constructs are weird, but they don't violate the GNU coding 
> standards as the parens at the start of a line do indeed mark the start 
> of a function definition.

OK.  Could you give me a clue as to what they mean, please?  For
example, in

    INLINE EMACS_INT
    (XLI) (Lisp_Object o)
    {
      return lisp_h_XLI (o);
    }

, what does "(XLI)" do?  It looks like a cast, but it's in the wrong
place to be a cast.  It can't be an expansion of the CPP macro "XLI",
surely, lacking, as it does, an argument.  What is this thing?

> Do these parens break cc-mode somehow? If so, what's the breakage? and
> how would you suggest reformatting lisp.h (and/or fixing cc-mode)?

No, they don't cause breakage.

> The attached proposed patch fixes all the problems I found, except (1) 
> it leaves license wording alone for the most part (config.h excepted, 
> since the performance disaster is there), and (2) it leaves the weird 
> lisp.h constructs alone as per the above paragraph. Is this the sort of 
> thing you had in mind (except I guess we need to fix (1) too?).

Yes.  I was half way through constructing such a patch myself, but you
beat me to it.  :-)  As I said above, I'd be happier if you could fix
the license text in all the files.  It cannot be too much work (a short
sed script, or something similar).

[ .... ]

-- 
Alan Mackenzie (Nuremberg, Germany).




Information forwarded to bug-gnu-emacs@HIDDEN, bug-cc-mode@HIDDEN:
bug#22884; Package emacs,cc-mode. Full text available.

Message received at 22884 <at> debbugs.gnu.org:


Received: (at 22884) by debbugs.gnu.org; 3 Mar 2016 17:55:12 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Mar 03 12:55:12 2016
Received: from localhost ([127.0.0.1]:60427 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1abXSw-0005mI-8G
	for submit <at> debbugs.gnu.org; Thu, 03 Mar 2016 12:55:12 -0500
Received: from zimbra.cs.ucla.edu ([131.179.128.68]:52905)
 by debbugs.gnu.org with esmtp (Exim 4.84)
 (envelope-from <eggert@HIDDEN>) id 1abXSs-0005lg-0h
 for 22884 <at> debbugs.gnu.org; Thu, 03 Mar 2016 12:55:08 -0500
Received: from localhost (localhost [127.0.0.1])
 by zimbra.cs.ucla.edu (Postfix) with ESMTP id 139E6160724;
 Thu,  3 Mar 2016 09:55:00 -0800 (PST)
Received: from zimbra.cs.ucla.edu ([127.0.0.1])
 by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id BAEkPi5Oxxw4; Thu,  3 Mar 2016 09:54:54 -0800 (PST)
Received: from localhost (localhost [127.0.0.1])
 by zimbra.cs.ucla.edu (Postfix) with ESMTP id B1EC9160FF5;
 Thu,  3 Mar 2016 09:54:54 -0800 (PST)
X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu
Received: from zimbra.cs.ucla.edu ([127.0.0.1])
 by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id ibQZLNo0VRGa; Thu,  3 Mar 2016 09:54:54 -0800 (PST)
Received: from penguin.cs.ucla.edu (Penguin.CS.UCLA.EDU [131.179.64.200])
 by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 86A2B160724;
 Thu,  3 Mar 2016 09:54:54 -0800 (PST)
Subject: Re: bug#22884: 25.0.92; C/l mode editing takes waaaayy too long
To: Alan Mackenzie <acm@HIDDEN>
References: <56D72C35.4090708@HIDDEN>
 <20160303124910.GA2852@HIDDEN>
From: Paul Eggert <eggert@HIDDEN>
Organization: UCLA Computer Science Department
Message-ID: <56D87A6E.8090202@HIDDEN>
Date: Thu, 3 Mar 2016 09:54:54 -0800
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101
 Thunderbird/38.6.0
MIME-Version: 1.0
In-Reply-To: <20160303124910.GA2852@HIDDEN>
Content-Type: multipart/mixed; boundary="------------070905070406070408070902"
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 22884
Cc: 22884 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.0 (/)

This is a multi-part message in MIME format.
--------------070905070406070408070902
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit

On 03/03/2016 04:49 AM, Alan Mackenzie wrote:
> Inserting a backslash at the beginning of L14 solves the problem, as 
> does setting open-paren-in-column-0-is-defun-start to nil.

I presume the latter is not really on the table. We can't put a 
backslash there, as it's license text and shouldn't be fiddled with in 
that way. We could fold it differently (as in the attached proposed 
patch, which does this only for config.h and friends).

> The next problem is that there are around 324 occurrences of "(" at 
> column zero in the src directory, and quite a few in lib and lib-src. 
> Most of them are in comments, some of them are parameter lists, and 
> some of them (e.g. in lisp.h) are wierd constructs of some sort. These 
> contravene GNU coding standards and really need sorting out.

The lisp.h constructs are weird, but they don't violate the GNU coding 
standards as the parens at the start of a line do indeed mark the start 
of a function definition. Do these parens break cc-mode somehow? If so, 
what's the breakage? and how would you suggest reformatting lisp.h 
(and/or fixing cc-mode)?

The attached proposed patch fixes all the problems I found, except (1) 
it leaves license wording alone for the most part (config.h excepted, 
since the performance disaster is there), and (2) it leaves the weird 
lisp.h constructs alone as per the above paragraph. Is this the sort of 
thing you had in mind (except I guess we need to fix (1) too?).

--------------070905070406070408070902
Content-Type: text/x-patch;
 name="emacs.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="emacs.diff"

diff --git a/configure.ac b/configure.ac
index d42b42e..370cb54 100644
--- a/configure.ac
+++ b/configure.ac
@@ -5194,8 +5194,8 @@ This file is part of GNU Emacs.
 
 GNU Emacs is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
+the Free Software Foundation, either version 3 of the License, or (at
+your option) any later version.
 
 GNU Emacs is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
diff --git a/lib-src/etags.c b/lib-src/etags.c
index 182cb4c..a15c950 100644
--- a/lib-src/etags.c
+++ b/lib-src/etags.c
@@ -680,8 +680,8 @@ static const char *Objc_suffixes [] =
 static const char Objc_help [] =
 "In Objective C code, tags include Objective C definitions for classes,\n\
 class categories, methods and protocols.  Tags for variables and\n\
-functions in classes are named 'CLASS::VARIABLE' and 'CLASS::FUNCTION'.\n\
-(Use --help --lang=c --lang=objc --lang=java for full help.)";
+functions in classes are named 'CLASS::VARIABLE' and 'CLASS::FUNCTION'.\
+\n(Use --help --lang=c --lang=objc --lang=java for full help.)";
 
 static const char *Pascal_suffixes [] =
   { "p", "pas", NULL };
diff --git a/lib-src/hexl.c b/lib-src/hexl.c
index 833ea50..d727726 100644
--- a/lib-src/hexl.c
+++ b/lib-src/hexl.c
@@ -1,8 +1,7 @@
 /* Convert files for Emacs Hexl mode.
    Copyright (C) 1989, 2001-2016 Free Software Foundation, Inc.
 
-Author: Keith Gabryelski
-(according to authors.el)
+Author: Keith Gabryelski (according to authors.el)
 
 This file is not considered part of GNU Emacs.
 
diff --git a/nt/preprep.c b/nt/preprep.c
index 303e2ef..a74c31c 100644
--- a/nt/preprep.c
+++ b/nt/preprep.c
@@ -34,11 +34,10 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
 /* Include relevant definitions from IMAGEHLP.H, which can be found
    in \\win32sdk\mstools\samples\image\include\imagehlp.h. */
 
-PIMAGE_NT_HEADERS
-(__stdcall * pfnCheckSumMappedFile) (LPVOID BaseAddress,
-				     DWORD_PTR FileLength,
-				     PDWORD_PTR HeaderSum,
-				     PDWORD_PTR CheckSum);
+PIMAGE_NT_HEADERS (__stdcall * pfnCheckSumMappedFile) (LPVOID BaseAddress,
+						       DWORD_PTR FileLength,
+						       PDWORD_PTR HeaderSum,
+						       PDWORD_PTR CheckSum);
 
 #undef min
 #undef max
diff --git a/src/buffer.c b/src/buffer.c
index 653e3fe..dba5b3d 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -1044,7 +1044,7 @@ DEFUN ("generate-new-buffer-name", Fgenerate_new_buffer_name,
        doc: /* Return a string that is the name of no existing buffer based on NAME.
 If there is no live buffer named NAME, then return NAME.
 Otherwise modify name by appending `<NUMBER>', incrementing NUMBER
-(starting at 2) until an unused name is found, and then return that name.
+\(starting at 2) until an unused name is found, and then return that name.
 Optional second argument IGNORE specifies a name that is okay to use (if
 it is in the sequence to be tried) even if a buffer with that name exists.
 
@@ -3793,10 +3793,10 @@ If omitted, BUFFER defaults to the current buffer.
 BEG and END may be integers or markers.
 The fourth arg FRONT-ADVANCE, if non-nil, makes the marker
 for the front of the overlay advance when text is inserted there
-(which means the text *is not* included in the overlay).
+\(which means the text *is not* included in the overlay).
 The fifth arg REAR-ADVANCE, if non-nil, makes the marker
 for the rear of the overlay advance when text is inserted there
-(which means the text *is* included in the overlay).  */)
+\(which means the text *is* included in the overlay).  */)
   (Lisp_Object beg, Lisp_Object end, Lisp_Object buffer,
    Lisp_Object front_advance, Lisp_Object rear_advance)
 {
@@ -6028,7 +6028,7 @@ between 0.0 and 1.0, inclusive.  */);
 	       doc: /* List of functions to call before each text change.
 Two arguments are passed to each function: the positions of
 the beginning and end of the range of old text to be changed.
-(For an insertion, the beginning and end are at the same place.)
+\(For an insertion, the beginning and end are at the same place.)
 No information is given about the length of the text after the change.
 
 Buffer changes made while executing the `before-change-functions'
@@ -6045,7 +6045,7 @@ from happening repeatedly and making Emacs nonfunctional.  */);
 Three arguments are passed to each function: the positions of
 the beginning and end of the range of changed text,
 and the length in chars of the pre-change text replaced by that range.
-(For an insertion, the pre-change length is zero;
+\(For an insertion, the pre-change length is zero;
 for a deletion, that length is the number of chars deleted,
 and the post-change beginning and end are at the same place.)
 
@@ -6090,7 +6090,7 @@ was modified between BEG and END.  PROPERTY is the property name,
 and VALUE is the old value.
 
 An entry (apply FUN-NAME . ARGS) means undo the change with
-(apply FUN-NAME ARGS).
+\(apply FUN-NAME ARGS).
 
 An entry (apply DELTA BEG END FUN-NAME . ARGS) supports selective undo
 in the active region.  BEG and END is the range affected by this entry
@@ -6250,7 +6250,7 @@ to the default frame line height.  A value of nil means add no extra space.  */)
 		     doc: /* Non-nil means show a cursor in non-selected windows.
 If nil, only shows a cursor in the selected window.
 If t, displays a cursor related to the usual cursor type
-(a solid box becomes hollow, a bar becomes a narrower bar).
+\(a solid box becomes hollow, a bar becomes a narrower bar).
 You can also specify the cursor type as in the `cursor-type' variable.
 Use Custom to set this variable and update the display.  */);
 
diff --git a/src/buffer.h b/src/buffer.h
index 5783bfb..daeff24 100644
--- a/src/buffer.h
+++ b/src/buffer.h
@@ -352,9 +352,9 @@ extern void enlarge_buffer_text (struct buffer *, ptrdiff_t);
 /* Convert PTR, the address of a byte in the buffer, into a byte position.  */
 
 #define PTR_BYTE_POS(ptr) \
-((ptr) - (current_buffer)->text->beg					    \
- - (ptr - (current_buffer)->text->beg <= GPT_BYTE - BEG_BYTE ? 0 : GAP_SIZE) \
- + BEG_BYTE)
+  ((ptr) - (current_buffer)->text->beg					    \
+   - (ptr - (current_buffer)->text->beg <= GPT_BYTE - BEG_BYTE ? 0 : GAP_SIZE) \
+   + BEG_BYTE)
 
 /* Return character at byte position POS.  See the caveat WARNING for
    FETCH_MULTIBYTE_CHAR below.  */
@@ -386,24 +386,24 @@ extern void enlarge_buffer_text (struct buffer *, ptrdiff_t);
    Note that both arguments can be computed more than once.  */
 
 #define BUF_BYTE_ADDRESS(buf, pos) \
-((buf)->text->beg + (pos) - BEG_BYTE		\
- + ((pos) >= (buf)->text->gpt_byte ? (buf)->text->gap_size : 0))
+  ((buf)->text->beg + (pos) - BEG_BYTE \
+   + ((pos) >= (buf)->text->gpt_byte ? (buf)->text->gap_size : 0))
 
 /* Return the address of character at char position POS in buffer BUF.
    Note that both arguments can be computed more than once.  */
 
 #define BUF_CHAR_ADDRESS(buf, pos) \
-((buf)->text->beg + buf_charpos_to_bytepos ((buf), (pos)) - BEG_BYTE	\
- + ((pos) >= (buf)->text->gpt ? (buf)->text->gap_size : 0))
+  ((buf)->text->beg + buf_charpos_to_bytepos ((buf), (pos)) - BEG_BYTE	\
+   + ((pos) >= (buf)->text->gpt ? (buf)->text->gap_size : 0))
 
 /* Convert PTR, the address of a char in buffer BUF,
    into a character position.  */
 
 #define BUF_PTR_BYTE_POS(buf, ptr)				\
-((ptr) - (buf)->text->beg					\
- - (ptr - (buf)->text->beg <= BUF_GPT_BYTE (buf) - BEG_BYTE	\
-    ? 0 : BUF_GAP_SIZE ((buf)))					\
- + BEG_BYTE)
+  ((ptr) - (buf)->text->beg					\
+   - (ptr - (buf)->text->beg <= BUF_GPT_BYTE (buf) - BEG_BYTE	\
+      ? 0 : BUF_GAP_SIZE ((buf)))				\
+   + BEG_BYTE)
 
 /* Return the character at byte position POS in buffer BUF.   */
 
diff --git a/src/bytecode.c b/src/bytecode.c
index 0befe65..b111ac1 100644
--- a/src/bytecode.c
+++ b/src/bytecode.c
@@ -1996,9 +1996,9 @@ syms_of_bytecode (void)
 
   DEFVAR_LISP ("byte-code-meter", Vbyte_code_meter,
 	       doc: /* A vector of vectors which holds a histogram of byte-code usage.
-(aref (aref byte-code-meter 0) CODE) indicates how many times the byte
+\(aref (aref byte-code-meter 0) CODE) indicates how many times the byte
 opcode CODE has been executed.
-(aref (aref byte-code-meter CODE1) CODE2), where CODE1 is not 0,
+\(aref (aref byte-code-meter CODE1) CODE2), where CODE1 is not 0,
 indicates how many times the byte opcodes CODE1 and CODE2 have been
 executed in succession.  */);
 
diff --git a/src/callproc.c b/src/callproc.c
index 9ad7ef2..34ec3c7 100644
--- a/src/callproc.c
+++ b/src/callproc.c
@@ -1457,7 +1457,7 @@ This function searches `process-environment' for VARIABLE.
 
 If optional parameter ENV is a list, then search this list instead of
 `process-environment', and return t when encountering a negative entry
-(an entry for a variable with no value).  */)
+\(an entry for a variable with no value).  */)
   (Lisp_Object variable, Lisp_Object env)
 {
   char *value;
@@ -1668,7 +1668,7 @@ Each element is a string (directory name) or nil (try default directory).
 
 By default the last element of this list is `exec-directory'. The
 last element is not always used, for example in shell completion
-(`shell-dynamic-complete-command').  */);
+\(`shell-dynamic-complete-command').  */);
 
   DEFVAR_LISP ("exec-suffixes", Vexec_suffixes,
 	       doc: /* List of suffixes to try to find executable file names.
diff --git a/src/category.c b/src/category.c
index 61502f8..39e4f93 100644
--- a/src/category.c
+++ b/src/category.c
@@ -462,7 +462,7 @@ Emacs treats a sequence of word constituent characters as a single
 word (i.e. finds no word boundary between them) only if they belong to
 the same script.  But, exceptions are allowed in the following cases.
 
-(1) The case that characters are in different scripts is controlled
+\(1) The case that characters are in different scripts is controlled
 by the variable `word-combining-categories'.
 
 Emacs finds no word boundary between characters of different scripts
@@ -476,7 +476,7 @@ For instance, to tell that Han characters followed by Hiragana
 characters can form a single word, the element `(?C . ?H)' should be
 in this list.
 
-(2) The case that character are in the same script is controlled by
+\(2) The case that character are in the same script is controlled by
 the variable `word-separating-categories'.
 
 Emacs finds a word boundary between characters of the same script
diff --git a/src/chartab.c b/src/chartab.c
index ec618f3..e6926a9 100644
--- a/src/chartab.c
+++ b/src/chartab.c
@@ -533,7 +533,7 @@ DEFUN ("char-table-parent", Fchar_table_parent, Schar_table_parent,
 The value is either nil or another char-table.
 If CHAR-TABLE holds nil for a given character,
 then the actual applicable value is inherited from the parent char-table
-(or from its parents, if necessary).  */)
+\(or from its parents, if necessary).  */)
   (Lisp_Object char_table)
 {
   CHECK_CHAR_TABLE (char_table);
diff --git a/src/cmds.c b/src/cmds.c
index 3450003..70f8e5b 100644
--- a/src/cmds.c
+++ b/src/cmds.c
@@ -106,7 +106,7 @@ right or to the left on the screen.  This is in contrast with
 DEFUN ("forward-line", Fforward_line, Sforward_line, 0, 1, "^p",
        doc: /* Move N lines forward (backward if N is negative).
 Precisely, if point is on line I, move to the start of line I + N
-("start of line" in the logical order).
+\("start of line" in the logical order).
 If there isn't room, go as far as possible (no error).
 
 Returns the count of lines left to move.  If moving forward,
diff --git a/src/coding.c b/src/coding.c
index e591bed..7c8be8e 100644
--- a/src/coding.c
+++ b/src/coding.c
@@ -9800,7 +9800,7 @@ DEFUN ("find-operation-coding-system", Ffind_operation_coding_system,
        doc: /* Choose a coding system for an operation based on the target name.
 The value names a pair of coding systems: (DECODING-SYSTEM . ENCODING-SYSTEM).
 DECODING-SYSTEM is the coding system to use for decoding
-(in case OPERATION does decoding), and ENCODING-SYSTEM is the coding system
+\(in case OPERATION does decoding), and ENCODING-SYSTEM is the coding system
 for encoding (in case OPERATION does encoding).
 
 The first argument OPERATION specifies an I/O primitive:
@@ -11175,7 +11175,7 @@ the cdr part is used for encoding a text to be sent to a process.  */);
 Table of extra Latin codes in the range 128..159 (inclusive).
 This is a vector of length 256.
 If Nth element is non-nil, the existence of code N in a file
-(or output of subprocess) doesn't prevent it to be detected as
+\(or output of subprocess) doesn't prevent it to be detected as
 a coding system of ISO 2022 variant which has a flag
 `accept-latin-extra-code' t (e.g. iso-latin-1) on reading a file
 or reading output of a subprocess.
diff --git a/src/data.c b/src/data.c
index 07f8724..333effd 100644
--- a/src/data.c
+++ b/src/data.c
@@ -1673,7 +1673,7 @@ DEFUN ("make-local-variable", Fmake_local_variable, Smake_local_variable,
        1, 1, "vMake Local Variable: ",
        doc: /* Make VARIABLE have a separate value in the current buffer.
 Other buffers will continue to share a common default value.
-(The buffer-local value of VARIABLE starts out as the same value
+\(The buffer-local value of VARIABLE starts out as the same value
 VARIABLE previously had.  If VARIABLE was void, it remains void.)
 Return VARIABLE.
 
diff --git a/src/dispnew.c b/src/dispnew.c
index f834f35..4f33569 100644
--- a/src/dispnew.c
+++ b/src/dispnew.c
@@ -5671,7 +5671,7 @@ DEFUN ("sleep-for", Fsleep_for, Ssleep_for, 1, 2, 0,
 SECONDS may be a floating-point value, meaning that you can wait for a
 fraction of a second.  Optional second arg MILLISECONDS specifies an
 additional wait period, in milliseconds; this is for backwards compatibility.
-(Not all operating systems support waiting for a fraction of a second.)  */)
+\(Not all operating systems support waiting for a fraction of a second.)  */)
   (Lisp_Object seconds, Lisp_Object milliseconds)
 {
   double duration = extract_float (seconds);
diff --git a/src/doc.c b/src/doc.c
index a9273f0..a5ce326 100644
--- a/src/doc.c
+++ b/src/doc.c
@@ -716,7 +716,7 @@ is not on any keys.
 Each substring of the form \\=\\{MAPVAR} is replaced by a summary of
 the value of MAPVAR as a keymap.  This summary is similar to the one
 produced by `describe-bindings'.  The summary ends in two newlines
-(used by the helper function `help-make-xrefs' to find the end of the
+\(used by the helper function `help-make-xrefs' to find the end of the
 summary).
 
 Each substring of the form \\=\\<MAPVAR> specifies the use of MAPVAR
diff --git a/src/editfns.c b/src/editfns.c
index bd70f0a..7c26d24 100644
--- a/src/editfns.c
+++ b/src/editfns.c
@@ -1895,7 +1895,7 @@ DEFUN ("float-time", Ffloat_time, Sfloat_time, 0, 1, 0,
        doc: /* Return the current time, as a float number of seconds since the epoch.
 If SPECIFIED-TIME is given, it is the time to convert to float
 instead of the current time.  The argument should have the form
-(HIGH LOW) or (HIGH LOW USEC) or (HIGH LOW USEC PSEC).  Thus,
+\(HIGH LOW) or (HIGH LOW USEC) or (HIGH LOW USEC PSEC).  Thus,
 you can use times from `current-time' and from `file-attributes'.
 SPECIFIED-TIME can also have the form (HIGH . LOW), but this is
 considered obsolete.
@@ -2284,7 +2284,7 @@ OFFSET is an integer number of seconds ahead of UTC (east of Greenwich).
 NAME is a string giving the name of the time zone.
 If SPECIFIED-TIME is given, the time zone offset is determined from it
 instead of using the current time.  The argument should have the form
-(HIGH LOW . IGNORED).  Thus, you can use times obtained from
+\(HIGH LOW . IGNORED).  Thus, you can use times obtained from
 `current-time' and from `file-attributes'.  SPECIFIED-TIME can also
 have the form (HIGH . LOW), but this is considered obsolete.
 Optional second arg ZONE is omitted or nil for the local time zone, or
@@ -3627,7 +3627,7 @@ save_restriction_restore (Lisp_Object data)
 DEFUN ("save-restriction", Fsave_restriction, Ssave_restriction, 0, UNEVALLED, 0,
        doc: /* Execute BODY, saving and restoring current buffer's restrictions.
 The buffer's restrictions make parts of the beginning and end invisible.
-(They are set up with `narrow-to-region' and eliminated with `widen'.)
+\(They are set up with `narrow-to-region' and eliminated with `widen'.)
 This special form, `save-restriction', saves the current buffer's restrictions
 when it is entered, and restores them when it is exited.
 So any `narrow-to-region' within BODY lasts only until the end of the form.
diff --git a/src/eval.c b/src/eval.c
index 26104a5..ba1ce74 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -1191,7 +1191,7 @@ suppresses the debugger).
 When a handler handles an error, control returns to the `condition-case'
 and it executes the handler's BODY...
 with VAR bound to (ERROR-SYMBOL . SIGNAL-DATA) from the error.
-(If VAR is nil, the handler can't access that information.)
+\(If VAR is nil, the handler can't access that information.)
 Then the value of the last BODY form is returned from the `condition-case'
 expression.
 
@@ -2409,7 +2409,7 @@ may be nil, a function, or a list of functions.  Call each
 function in order with arguments ARGS, stopping at the first
 one that returns nil, and return nil.  Otherwise (if all functions
 return non-nil, or if there are no functions to call), return non-nil
-(do not rely on the precise return value in this case).
+\(do not rely on the precise return value in this case).
 
 Do not use `make-local-variable' to make a hook variable buffer-local.
 Instead, use `add-hook' and specify t for the LOCAL argument.
diff --git a/src/fileio.c b/src/fileio.c
index 0372f46..c18524c 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -450,7 +450,7 @@ DEFUN ("unhandled-file-name-directory", Funhandled_file_name_directory,
 A `directly usable' directory name is one that may be used without the
 intervention of any file handler.
 If FILENAME is a directly usable file itself, return
-(file-name-as-directory FILENAME).
+\(file-name-as-directory FILENAME).
 If FILENAME refers to a file which is not accessible from a local process,
 then this should return nil.
 The `call-process' and `start-process' functions use this function to
@@ -741,7 +741,7 @@ DEFUN ("make-temp-name", Fmake_temp_name, Smake_temp_name, 1, 1, 0,
        doc: /* Generate temporary file name (string) starting with PREFIX (a string).
 The Emacs process number forms part of the result, so there is no
 danger of generating a name being used by another Emacs process
-(so long as only a single host can access the containing directory...).
+\(so long as only a single host can access the containing directory...).
 
 This function tries to choose a name that has no existing file.
 For this to work, PREFIX should be an absolute file name.
@@ -757,7 +757,7 @@ normally use `make-temp-file' instead.  */)
 DEFUN ("expand-file-name", Fexpand_file_name, Sexpand_file_name, 1, 2, 0,
        doc: /* Convert filename NAME to absolute, and canonicalize it.
 Second arg DEFAULT-DIRECTORY is directory to start with if NAME is relative
-(does not start with slash or tilde); both the directory name and
+\(does not start with slash or tilde); both the directory name and
 a directory's file name are accepted.  If DEFAULT-DIRECTORY is nil or
 missing, the current buffer's value of `default-directory' is used.
 NAME should be a string that is a valid file name for the underlying
@@ -775,8 +775,8 @@ See also the function `substitute-in-file-name'.
 
 For technical reasons, this function can return correct but
 non-intuitive results for the root directory; for instance,
-(expand-file-name ".." "/") returns "/..".  For this reason, use
-(directory-file-name (file-name-directory dirname)) to traverse a
+\(expand-file-name ".." "/") returns "/..".  For this reason, use
+\(directory-file-name (file-name-directory dirname)) to traverse a
 filesystem tree, not (expand-file-name ".."  dirname).  */)
   (Lisp_Object name, Lisp_Object default_directory)
 {
@@ -1459,7 +1459,7 @@ filesystem tree, not (expand-file-name ".."  dirname).  */)
 DEAFUN ("expand-file-name", Fexpand_file_name, Sexpand_file_name, 1, 2, 0,
   "Convert FILENAME to absolute, and canonicalize it.\n\
 Second arg DEFAULT is directory to start with if FILENAME is relative\n\
-(does not start with slash); if DEFAULT is nil or missing,\n\
+\(does not start with slash); if DEFAULT is nil or missing,\n\
 the current buffer's value of default-directory is used.\n\
 Filenames containing `.' or `..' as components are simplified;\n\
 initial `~/' expands to your home directory.\n\
@@ -2468,7 +2468,7 @@ Use `file-symlink-p' to test for such links.  */)
 DEFUN ("file-executable-p", Ffile_executable_p, Sfile_executable_p, 1, 1, 0,
        doc: /* Return t if FILENAME can be executed by you.
 For a directory, this means you can access files in that directory.
-(It is generally better to use `file-accessible-directory-p' for that
+\(It is generally better to use `file-accessible-directory-p' for that
 purpose, though.)  */)
   (Lisp_Object filename)
 {
@@ -5329,8 +5329,8 @@ DEFUN ("set-visited-file-modtime", Fset_visited_file_modtime,
 Useful if the buffer was not read from the file normally
 or if the file itself has been changed for some known benign reason.
 An argument specifies the modification time value to use
-(instead of that of the visited file), in the form of a list
-(HIGH LOW USEC PSEC) or an integer flag as returned by
+\(instead of that of the visited file), in the form of a list
+\(HIGH LOW USEC PSEC) or an integer flag as returned by
 `visited-file-modtime'.  */)
   (Lisp_Object time_flag)
 {
diff --git a/src/floatfns.c b/src/floatfns.c
index cf485b6..cf1dee3 100644
--- a/src/floatfns.c
+++ b/src/floatfns.c
@@ -170,7 +170,7 @@ Cause an error if X1 or X2 is not a float.  */)
 DEFUN ("frexp", Ffrexp, Sfrexp, 1, 1, 0,
        doc: /* Get significand and exponent of a floating point number.
 Breaks the floating point number X into its binary significand SGNFCAND
-(a floating point value between 0.5 (included) and 1.0 (excluded))
+\(a floating point value between 0.5 (included) and 1.0 (excluded))
 and an integral exponent EXP for 2, such that:
 
   X = SGNFCAND * 2^EXP
@@ -491,7 +491,7 @@ fmod_float (Lisp_Object x, Lisp_Object y)
 
 DEFUN ("fceiling", Ffceiling, Sfceiling, 1, 1, 0,
        doc: /* Return the smallest integer no less than ARG, as a float.
-(Round toward +inf.)  */)
+\(Round toward +inf.)  */)
   (Lisp_Object arg)
 {
   double d = extract_float (arg);
@@ -501,7 +501,7 @@ DEFUN ("fceiling", Ffceiling, Sfceiling, 1, 1, 0,
 
 DEFUN ("ffloor", Fffloor, Sffloor, 1, 1, 0,
        doc: /* Return the largest integer no greater than ARG, as a float.
-(Round towards -inf.)  */)
+\(Round towards -inf.)  */)
   (Lisp_Object arg)
 {
   double d = extract_float (arg);
diff --git a/src/fns.c b/src/fns.c
index 86ad333..571bfbe 100644
--- a/src/fns.c
+++ b/src/fns.c
@@ -216,7 +216,7 @@ DEFUN ("compare-strings", Fcompare_strings, Scompare_strings, 6, 7, 0,
 The arguments START1, END1, START2, and END2, if non-nil, are
 positions specifying which parts of STR1 or STR2 to compare.  In
 string STR1, compare the part between START1 (inclusive) and END1
-(exclusive).  If START1 is nil, it defaults to 0, the beginning of
+\(exclusive).  If START1 is nil, it defaults to 0, the beginning of
 the string; if END1 is nil, it defaults to the length of the string.
 Likewise, in string STR2, compare the part between START2 and END2.
 Like in `substring', negative values are counted from the end.
@@ -339,7 +339,7 @@ This function obeys the conventions for collation order in your
 locale settings.  For example, punctuation and whitespace characters
 might be considered less significant for sorting:
 
-(sort \\='("11" "12" "1 1" "1 2" "1.1" "1.2") \\='string-collate-lessp)
+\(sort \\='("11" "12" "1 1" "1 2" "1.1" "1.2") \\='string-collate-lessp)
   => ("11" "1 1" "1.1" "12" "1 2" "1.2")
 
 The optional argument LOCALE, a string, overrides the setting of your
@@ -385,7 +385,7 @@ settings.  For example, characters with different coding points but
 the same meaning might be considered as equal, like different grave
 accent Unicode characters:
 
-(string-collate-equalp (string ?\\uFF40) (string ?\\u1FEF))
+\(string-collate-equalp (string ?\\uFF40) (string ?\\u1FEF))
   => t
 
 The optional argument LOCALE, a string, overrides the setting of your
@@ -1018,7 +1018,7 @@ to a multibyte character.  In this case, the returned string is a
 newly created string with no text properties.  If STRING is multibyte
 or entirely ASCII, it is returned unchanged.  In particular, when
 STRING is unibyte and entirely ASCII, the returned string is unibyte.
-(When the characters are all ASCII, Emacs primitives will treat the
+\(When the characters are all ASCII, Emacs primitives will treat the
 string the same way whether it is unibyte or multibyte.)  */)
   (Lisp_Object string)
 {
@@ -1217,14 +1217,14 @@ validate_subarray (Lisp_Object array, Lisp_Object from, Lisp_Object to,
 DEFUN ("substring", Fsubstring, Ssubstring, 1, 3, 0,
        doc: /* Return a new string whose contents are a substring of STRING.
 The returned string consists of the characters between index FROM
-(inclusive) and index TO (exclusive) of STRING.  FROM and TO are
+\(inclusive) and index TO (exclusive) of STRING.  FROM and TO are
 zero-indexed: 0 means the first character of STRING.  Negative values
 are counted from the end of STRING.  If TO is nil, the substring runs
 to the end of STRING.
 
 The STRING argument may also be a vector.  In that case, the return
 value is a new vector that contains the elements between index FROM
-(inclusive) and index TO (exclusive) of that vector argument.
+\(inclusive) and index TO (exclusive) of that vector argument.
 
 With one argument, just copy STRING (with properties, if any).  */)
   (Lisp_Object string, Lisp_Object from, Lisp_Object to)
@@ -2044,7 +2044,7 @@ merge (Lisp_Object org_l1, Lisp_Object org_l2, Lisp_Object pred)
 DEFUN ("plist-get", Fplist_get, Splist_get, 2, 2, 0,
        doc: /* Extract a value from a property list.
 PLIST is a property list, which is a list of the form
-(PROP1 VALUE1 PROP2 VALUE2...).  This function returns the value
+\(PROP1 VALUE1 PROP2 VALUE2...).  This function returns the value
 corresponding to the given PROP, or nil if PROP is not one of the
 properties on the list.  This function never signals an error.  */)
   (Lisp_Object plist, Lisp_Object prop)
@@ -2079,7 +2079,7 @@ This is the last value stored with `(put SYMBOL PROPNAME VALUE)'.  */)
 DEFUN ("plist-put", Fplist_put, Splist_put, 3, 3, 0,
        doc: /* Change value in PLIST of PROP to VAL.
 PLIST is a property list, which is a list of the form
-(PROP1 VALUE1 PROP2 VALUE2 ...).  PROP is a symbol and VAL is any object.
+\(PROP1 VALUE1 PROP2 VALUE2 ...).  PROP is a symbol and VAL is any object.
 If PROP is already a property on the list, its value is set to VAL,
 otherwise the new PROP VAL pair is added.  The new plist is returned;
 use `(setq x (plist-put x prop val))' to be sure to use the new value.
@@ -2123,7 +2123,7 @@ It can be retrieved with `(get SYMBOL PROPNAME)'.  */)
 DEFUN ("lax-plist-get", Flax_plist_get, Slax_plist_get, 2, 2, 0,
        doc: /* Extract a value from a property list, comparing with `equal'.
 PLIST is a property list, which is a list of the form
-(PROP1 VALUE1 PROP2 VALUE2...).  This function returns the value
+\(PROP1 VALUE1 PROP2 VALUE2...).  This function returns the value
 corresponding to the given PROP, or nil if PROP is not
 one of the properties on the list.  */)
   (Lisp_Object plist, Lisp_Object prop)
@@ -2148,7 +2148,7 @@ one of the properties on the list.  */)
 DEFUN ("lax-plist-put", Flax_plist_put, Slax_plist_put, 3, 3, 0,
        doc: /* Change value in PLIST of PROP to VAL, comparing with `equal'.
 PLIST is a property list, which is a list of the form
-(PROP1 VALUE1 PROP2 VALUE2 ...).  PROP and VAL are any objects.
+\(PROP1 VALUE1 PROP2 VALUE2 ...).  PROP and VAL are any objects.
 If PROP is already a property on the list, its value is set to VAL,
 otherwise the new PROP VAL pair is added.  The new plist is returned;
 use `(setq x (lax-plist-put x prop val))' to be sure to use the new value.
@@ -2861,7 +2861,7 @@ The normal messages at start and end of loading FILENAME are suppressed.  */)
 DEFUN ("plist-member", Fplist_member, Splist_member, 2, 2, 0,
        doc: /* Return non-nil if PLIST has the property PROP.
 PLIST is a property list, which is a list of the form
-(PROP1 VALUE1 PROP2 VALUE2 ...).  PROP is a symbol.
+\(PROP1 VALUE1 PROP2 VALUE2 ...).  PROP is a symbol.
 Unlike `plist-get', this allows you to distinguish between a missing
 property and a property with the value nil.
 The value is actually the tail of PLIST whose car is PROP.  */)
diff --git a/src/font.c b/src/font.c
index 039493b..55f0a03 100644
--- a/src/font.c
+++ b/src/font.c
@@ -4086,7 +4086,7 @@ DEFUN ("font-face-attributes", Ffont_face_attributes, Sfont_face_attributes, 1,
 FONT is a font name, a font-spec, a font-entity, or a font-object.
 The return value is a list of the form
 
-(:family FAMILY :height HEIGHT :weight WEIGHT :slant SLANT :width WIDTH)
+\(:family FAMILY :height HEIGHT :weight WEIGHT :slant SLANT :width WIDTH)
 
 where FAMILY, HEIGHT, WEIGHT, SLANT, and WIDTH are face attribute values
 compatible with `set-face-attribute'.  Some of these key-attribute pairs
@@ -5378,7 +5378,7 @@ where ENCODING is a charset or a char-table,
 and REPERTORY is a charset, a char-table, or nil.
 
 If ENCODING and REPERTORY are the same, the element can have the form
-(REGEXP . ENCODING).
+\(REGEXP . ENCODING).
 
 ENCODING is for converting a character to a glyph code of the font.
 If ENCODING is a charset, encoding a character by the charset gives
diff --git a/src/frame.c b/src/frame.c
index 4f61332..e013314 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -5228,7 +5228,7 @@ keep it unchanged if this option is either t or a list containing
 `vertical-scroll-bars'.
 
 The default value is \\='(tool-bar-lines) on Lucid, Motif and Windows
-(which means that adding/removing a tool bar does not change the frame
+\(which means that adding/removing a tool bar does not change the frame
 height), nil on all other window systems including GTK+ (which means
 that changing any of the parameters listed above may change the size of
 the frame), and t otherwise (which means the frame size never changes
diff --git a/src/fringe.c b/src/fringe.c
index 597c666..25cc142 100644
--- a/src/fringe.c
+++ b/src/fringe.c
@@ -1701,7 +1701,7 @@ syms_of_fringe (void)
   DEFVAR_LISP ("overflow-newline-into-fringe", Voverflow_newline_into_fringe,
     doc: /* Non-nil means that newline may flow into the right fringe.
 This means that display lines which are exactly as wide as the window
-(not counting the final newline) will only occupy one screen line, by
+\(not counting the final newline) will only occupy one screen line, by
 showing (or hiding) the final newline in the right fringe; when point
 is at the final newline, the cursor is shown in the right fringe.
 If nil, also continue lines which are exactly as wide as the window.  */);
diff --git a/src/inotify.c b/src/inotify.c
index e0619e5..34d2aeb 100644
--- a/src/inotify.c
+++ b/src/inotify.c
@@ -272,7 +272,7 @@ onlydir
 Watching a directory is not recursive.  CALLBACK is passed a single argument
 EVENT which contains an event structure of the format
 
-(WATCH-DESCRIPTOR ASPECTS NAME COOKIE)
+\(WATCH-DESCRIPTOR ASPECTS NAME COOKIE)
 
 WATCH-DESCRIPTOR is the same object that was returned by this function.  It can
 be tested for equality using `equal'.  ASPECTS describes the event.  It is a
diff --git a/src/keyboard.c b/src/keyboard.c
index 298ab64..2d225c8 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -11381,7 +11381,7 @@ See Info node `(elisp)Multiple Terminals'.  */);
 
   DEFVAR_BOOL ("cannot-suspend", cannot_suspend,
 	       doc: /* Non-nil means to always spawn a subshell instead of suspending.
-(Even if the operating system has support for stopping a process.)  */);
+\(Even if the operating system has support for stopping a process.)  */);
   cannot_suspend = false;
 
   DEFVAR_BOOL ("menu-prompting", menu_prompting,
@@ -11595,7 +11595,7 @@ immediately after running `post-command-hook'.  */);
   DEFVAR_LISP ("input-method-function", Vinput_method_function,
 	       doc: /* If non-nil, the function that implements the current input method.
 It's called with one argument, a printing character that was just read.
-(That means a character with code 040...0176.)
+\(That means a character with code 040...0176.)
 Typically this function uses `read-event' to read additional events.
 When it does so, it should first bind `input-method-function' to nil
 so it will not be called recursively.
diff --git a/src/keymap.c b/src/keymap.c
index 7928e62..3044cfa 100644
--- a/src/keymap.c
+++ b/src/keymap.c
@@ -1687,7 +1687,7 @@ DEFUN ("global-key-binding", Fglobal_key_binding, Sglobal_key_binding, 1, 2, 0,
 KEYS is a string or vector, a sequence of keystrokes.
 The binding is probably a symbol with a function definition.
 This function's return values are the same as those of `lookup-key'
-(which see).
+\(which see).
 
 If optional argument ACCEPT-DEFAULT is non-nil, recognize default
 bindings; see the description of `lookup-key' for more details about this.  */)
@@ -2493,7 +2493,7 @@ If FIRSTONLY is the symbol `non-ascii', return the first binding found,
 no matter what it is.
 If FIRSTONLY has another non-nil value, prefer bindings
 that use the modifier key specified in `where-is-preferred-modifier'
-(or their meta variants) and entirely reject menu bindings.
+\(or their meta variants) and entirely reject menu bindings.
 
 If optional 4th arg NOINDIRECT is non-nil, don't extract the commands inside
 menu-items.  This makes it possible to search for a menu-item itself.
@@ -2724,7 +2724,7 @@ looked up in BUFFER.
 The optional argument PREFIX, if non-nil, should be a key sequence;
 then we display only bindings that start with that prefix.
 The optional argument MENUS, if non-nil, says to mention menu bindings.
-(Ordinarily these are omitted from the output.)  */)
+\(Ordinarily these are omitted from the output.)  */)
   (Lisp_Object buffer, Lisp_Object prefix, Lisp_Object menus)
 {
   Lisp_Object outbuf, shadow;
diff --git a/src/kqueue.c b/src/kqueue.c
index a69d06d..5131aa0 100644
--- a/src/kqueue.c
+++ b/src/kqueue.c
@@ -67,9 +67,8 @@ kqueue_directory_listing (Lisp_Object directory_files)
 
 /* Generate a file notification event.  */
 static void
-kqueue_generate_event
-(Lisp_Object watch_object, Lisp_Object actions,
- Lisp_Object file, Lisp_Object file1)
+kqueue_generate_event (Lisp_Object watch_object, Lisp_Object actions,
+		       Lisp_Object file, Lisp_Object file1)
 {
   Lisp_Object flags, action, entry;
   struct input_event event;
@@ -109,8 +108,7 @@ kqueue_generate_event
    replaced by the new directory listing at the end of this
    function.  */
 static void
-kqueue_compare_dir_list
-(Lisp_Object watch_object)
+kqueue_compare_dir_list (Lisp_Object watch_object)
 {
   Lisp_Object dir, pending_dl, deleted_dl;
   Lisp_Object old_directory_files, old_dl, new_directory_files, new_dl, dl;
diff --git a/src/lread.c b/src/lread.c
index 25e3ff0..5a36537 100644
--- a/src/lread.c
+++ b/src/lread.c
@@ -2059,7 +2059,7 @@ Returns a cons: (OBJECT-READ . FINAL-STRING-INDEX).
 FINAL-STRING-INDEX is an integer giving the position of the next
 remaining character in STRING.  START and END optionally delimit
 a substring of STRING from which to read;  they default to 0 and
-(length STRING) respectively.  Negative values are counted from
+\(length STRING) respectively.  Negative values are counted from
 the end of STRING.  */)
   (Lisp_Object string, Lisp_Object start, Lisp_Object end)
 {
diff --git a/src/menu.c b/src/menu.c
index cbddef3..8e5bf4d 100644
--- a/src/menu.c
+++ b/src/menu.c
@@ -1130,7 +1130,7 @@ If POSITION is t, it means to use the current mouse position.
 MENU is a specifier for a menu.  For the simplest case, MENU is a keymap.
 The menu items come from key bindings that have a menu string as well as
 a definition; actually, the "definition" in such a key binding looks like
-(STRING . REAL-DEFINITION).  To give the menu a title, put a string into
+\(STRING . REAL-DEFINITION).  To give the menu a title, put a string into
 the keymap as a top-level element.
 
 If REAL-DEFINITION is nil, that puts a nonselectable string in the menu.
@@ -1495,7 +1495,7 @@ The return value is VALUE from the chosen item.
 An ITEM may also be just a string--that makes a nonselectable item.
 An ITEM may also be nil--that means to put all preceding items
 on the left of the dialog box and all following items on the right.
-(By default, approximately half appear on each side.)
+\(By default, approximately half appear on each side.)
 
 If HEADER is non-nil, the frame title for the box is "Information",
 otherwise it is "Question".
diff --git a/src/minibuf.c b/src/minibuf.c
index 180668f..06e5f82 100644
--- a/src/minibuf.c
+++ b/src/minibuf.c
@@ -986,7 +986,7 @@ DEFUN ("read-no-blanks-input", Fread_no_blanks_input, Sread_no_blanks_input, 1,
 Prompt with PROMPT.  Whitespace terminates the input.  If INITIAL is
 non-nil, it should be a string, which is used as initial input, with
 point positioned at the end, so that SPACE will accept the input.
-(Actually, INITIAL can also be a cons of a string and an integer.
+\(Actually, INITIAL can also be a cons of a string and an integer.
 Such values are treated as in `read-from-minibuffer', but are normally
 not useful in this function.)
 Third arg INHERIT-INPUT-METHOD, if non-nil, means the minibuffer inherits
diff --git a/src/nsfns.m b/src/nsfns.m
index eda94c4..b98b510 100644
--- a/src/nsfns.m
+++ b/src/nsfns.m
@@ -1684,7 +1684,7 @@ DEFUN ("x-server-max-request-size", Fx_server_max_request_size,
 
 DEFUN ("x-server-vendor", Fx_server_vendor, Sx_server_vendor, 0, 1, 0,
        doc: /* Return the "vendor ID" string of Nextstep display server TERMINAL.
-(Labeling every distributor as a "vendor" embodies the false assumption
+\(Labeling every distributor as a "vendor" embodies the false assumption
 that operating systems cannot be developed and distributed noncommercially.)
 The optional argument TERMINAL specifies which display to ask about.
 TERMINAL should be a terminal object, a frame or a display name (a string).
@@ -1730,7 +1730,7 @@ If omitted or nil, that stands for the selected frame's display.
 
 Note: "screen" here is not in Nextstep terminology but in X11's.  For
 the number of physical monitors, use `(length
-(display-monitor-attributes-list TERMINAL))' instead.  */)
+\(display-monitor-attributes-list TERMINAL))' instead.  */)
   (Lisp_Object terminal)
 {
   check_ns_display_info (terminal);
@@ -1861,7 +1861,7 @@ DISPLAY is the name of the display to connect to.
 Optional second arg XRM-STRING is a string of resources in xrdb format.
 If the optional third arg MUST-SUCCEED is non-nil,
 terminate Emacs if we can't open the connection.
-(In the Nextstep version, the last two arguments are currently ignored.)  */)
+\(In the Nextstep version, the last two arguments are currently ignored.)  */)
      (Lisp_Object display, Lisp_Object resource_string, Lisp_Object must_succeed)
 {
   struct ns_display_info *dpyinfo;
@@ -2301,7 +2301,7 @@ x_get_focus_frame (struct frame *frame)
 
 DEFUN ("xw-color-defined-p", Fxw_color_defined_p, Sxw_color_defined_p, 1, 2, 0,
        doc: /* Internal function called by `color-defined-p', which see.
-(Note that the Nextstep version of this function ignores FRAME.)  */)
+\(Note that the Nextstep version of this function ignores FRAME.)  */)
      (Lisp_Object color, Lisp_Object frame)
 {
   NSColor * col;
diff --git a/src/nsselect.m b/src/nsselect.m
index 463f02b..b7629d5 100644
--- a/src/nsselect.m
+++ b/src/nsselect.m
@@ -316,7 +316,7 @@ DEFUN ("ns-own-selection-internal", Fns_own_selection_internal,
        Sns_own_selection_internal, 2, 2, 0,
        doc: /* Assert an X selection of type SELECTION and value VALUE.
 SELECTION is a symbol, typically `PRIMARY', `SECONDARY', or `CLIPBOARD'.
-(Those are literal upper-case symbol names, since that's what X expects.)
+\(Those are literal upper-case symbol names, since that's what X expects.)
 VALUE is typically a string, or a cons of two markers, but may be
 anything that the functions on `selection-converter-alist' know about.  */)
      (Lisp_Object selection, Lisp_Object value)
@@ -414,7 +414,7 @@ DEFUN ("ns-selection-owner-p", Fns_selection_owner_p, Sns_selection_owner_p,
        doc: /* Whether the current Emacs process owns the given X Selection.
 The arg should be the name of the selection in question, typically one of
 the symbols `PRIMARY', `SECONDARY', or `CLIPBOARD'.
-(Those are literal upper-case symbol names, since that's what X expects.)
+\(Those are literal upper-case symbol names, since that's what X expects.)
 For convenience, the symbol nil is the same as `PRIMARY',
 and t is the same as `SECONDARY'.  */)
      (Lisp_Object selection)
@@ -433,7 +433,7 @@ DEFUN ("ns-get-selection", Fns_get_selection,
        Sns_get_selection, 2, 2, 0,
        doc: /* Return text selected from some X window.
 SELECTION-SYMBOL is typically `PRIMARY', `SECONDARY', or `CLIPBOARD'.
-(Those are literal upper-case symbol names, since that's what X expects.)
+\(Those are literal upper-case symbol names, since that's what X expects.)
 TARGET-TYPE is the type of data desired, typically `STRING'.  */)
      (Lisp_Object selection_name, Lisp_Object target_type)
 {
diff --git a/src/nsterm.h b/src/nsterm.h
index fa5399c..8292c07 100644
--- a/src/nsterm.h
+++ b/src/nsterm.h
@@ -1044,10 +1044,10 @@ struct x_output
 
 /* Difference btwn char-column-calculated and actual SB widths.
    This is only a concern for rendering when SB on left. */
-#define NS_SCROLL_BAR_ADJUST(w, f)		\
-(WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_LEFT (w) ?	\
-    (FRAME_SCROLL_BAR_COLS (f) * FRAME_COLUMN_WIDTH (f)	\
-        - NS_SCROLL_BAR_WIDTH (f)) : 0)
+#define NS_SCROLL_BAR_ADJUST(w, f)				\
+  (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_LEFT (w) ?			\
+   (FRAME_SCROLL_BAR_COLS (f) * FRAME_COLUMN_WIDTH (f)		\
+    - NS_SCROLL_BAR_WIDTH (f)) : 0)
 
 /* Difference btwn char-line-calculated and actual SB heights.
    This is only a concern for rendering when SB on top. */
diff --git a/src/print.c b/src/print.c
index 2ecc0f5..478842c 100644
--- a/src/print.c
+++ b/src/print.c
@@ -2224,7 +2224,7 @@ Also print formfeeds as `\\f'.  */);
 
   DEFVAR_BOOL ("print-escape-nonascii", print_escape_nonascii,
 	       doc: /* Non-nil means print unibyte non-ASCII chars in strings as \\OOO.
-(OOO is the octal representation of the character code.)
+\(OOO is the octal representation of the character code.)
 Only single-byte characters are affected, and only in `prin1'.
 When the output goes in a multibyte buffer, this feature is
 enabled regardless of the value of the variable.  */);
@@ -2232,7 +2232,7 @@ enabled regardless of the value of the variable.  */);
 
   DEFVAR_BOOL ("print-escape-multibyte", print_escape_multibyte,
 	       doc: /* Non-nil means print multibyte characters in strings as \\xXXXX.
-(XXXX is the hex representation of the character code.)
+\(XXXX is the hex representation of the character code.)
 This affects only `prin1'.  */);
   print_escape_multibyte = 0;
 
diff --git a/src/process.c b/src/process.c
index 1eac5e1..f9a99d4 100644
--- a/src/process.c
+++ b/src/process.c
@@ -953,7 +953,7 @@ DEFUN ("process-command", Fprocess_command, Sprocess_command, 1, 1, 0,
 This is a list of strings, the first string being the program executed
 and the rest of the strings being the arguments given to it.
 For a network or serial process, this is nil (process is running) or t
-(process is stopped).  */)
+\(process is stopped).  */)
   (register Lisp_Object process)
 {
   CHECK_PROCESS (process);
@@ -2670,7 +2670,7 @@ is not given or nil, 1 stopbit is used.
 :flowcontrol FLOWCONTROL -- FLOWCONTROL determines the type of
 flowcontrol to be used, which is either nil (don't use flowcontrol),
 the symbol `hw' (use RTS/CTS hardware flowcontrol), or the symbol `sw'
-(use XON/XOFF software flowcontrol).  If FLOWCONTROL is not given, no
+\(use XON/XOFF software flowcontrol).  If FLOWCONTROL is not given, no
 flowcontrol is used.
 
 `serial-process-configure' is called by `make-serial-process' for the
@@ -2678,12 +2678,12 @@ initial configuration of the serial port.
 
 Examples:
 
-(serial-process-configure :process "/dev/ttyS0" :speed 1200)
+\(serial-process-configure :process "/dev/ttyS0" :speed 1200)
 
-(serial-process-configure
+\(serial-process-configure
     :buffer "COM1" :stopbits 1 :parity \\='odd :flowcontrol \\='hw)
 
-(serial-process-configure :port "\\\\.\\COM13" :bytesize 7)
+\(serial-process-configure :port "\\\\.\\COM13" :bytesize 7)
 
 usage: (serial-process-configure &rest ARGS)  */)
   (ptrdiff_t nargs, Lisp_Object *args)
@@ -2777,13 +2777,13 @@ is available via the function `process-contact'.
 
 Examples:
 
-(make-serial-process :port "/dev/ttyS0" :speed 9600)
+\(make-serial-process :port "/dev/ttyS0" :speed 9600)
 
-(make-serial-process :port "COM1" :speed 115200 :stopbits 2)
+\(make-serial-process :port "COM1" :speed 115200 :stopbits 2)
 
-(make-serial-process :port "\\\\.\\COM13" :speed 1200 :bytesize 7 :parity \\='odd)
+\(make-serial-process :port "\\\\.\\COM13" :speed 1200 :bytesize 7 :parity \\='odd)
 
-(make-serial-process :port "/dev/tty.BlueConsole-SPP-1" :speed nil)
+\(make-serial-process :port "/dev/tty.BlueConsole-SPP-1" :speed nil)
 
 usage:  (make-serial-process &rest ARGS)  */)
   (ptrdiff_t nargs, Lisp_Object *args)
diff --git a/src/textprop.c b/src/textprop.c
index 70091b9..104d89b 100644
--- a/src/textprop.c
+++ b/src/textprop.c
@@ -1493,7 +1493,7 @@ DEFUN ("remove-text-properties", Fremove_text_properties,
        doc: /* Remove some properties from text from START to END.
 The third argument PROPERTIES is a property list
 whose property names specify the properties to remove.
-(The values stored in PROPERTIES are ignored.)
+\(The values stored in PROPERTIES are ignored.)
 If the optional fourth argument OBJECT is a buffer (or nil, which means
 the current buffer), START and END are buffer positions (integers or
 markers).  If OBJECT is a string, START and END are 0-based indices into it.
diff --git a/src/unexw32.c b/src/unexw32.c
index 460a39e..0a7292a 100644
--- a/src/unexw32.c
+++ b/src/unexw32.c
@@ -34,11 +34,10 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 /* Include relevant definitions from IMAGEHLP.H, which can be found
    in \\win32sdk\mstools\samples\image\include\imagehlp.h. */
 
-PIMAGE_NT_HEADERS
-(__stdcall * pfnCheckSumMappedFile) (LPVOID BaseAddress,
-				    DWORD FileLength,
-				    LPDWORD HeaderSum,
-				    LPDWORD CheckSum);
+PIMAGE_NT_HEADERS (__stdcall * pfnCheckSumMappedFile) (LPVOID BaseAddress,
+						       DWORD FileLength,
+						       LPDWORD HeaderSum,
+						       LPDWORD CheckSum);
 
 extern BOOL ctrl_c_handler (unsigned long type);
 
diff --git a/src/w16select.c b/src/w16select.c
index 48bb813..0cd1b23 100644
--- a/src/w16select.c
+++ b/src/w16select.c
@@ -686,7 +686,7 @@ For MS-Windows and MS-DOS:
 When sending or receiving text via selection and clipboard, the text
 is encoded or decoded by this coding system.  The default value is
 the current system default encoding on 9x/Me, `utf-16le-dos'
-(Unicode) on NT/W2K/XP, and `iso-latin-1-dos' on MS-DOS.
+\(Unicode) on NT/W2K/XP, and `iso-latin-1-dos' on MS-DOS.
 
 For X Windows:
 When sending text via selection and clipboard, if the target
diff --git a/src/w32fns.c b/src/w32fns.c
index a5018ae..f4526e4 100644
--- a/src/w32fns.c
+++ b/src/w32fns.c
@@ -5207,7 +5207,7 @@ x_get_focus_frame (struct frame *frame)
 
 DEFUN ("xw-color-defined-p", Fxw_color_defined_p, Sxw_color_defined_p, 1, 2, 0,
        doc: /* Internal function called by `color-defined-p', which see.
-(Note that the Nextstep version of this function ignores FRAME.)  */)
+\(Note that the Nextstep version of this function ignores FRAME.)  */)
   (Lisp_Object color, Lisp_Object frame)
 {
   XColor foo;
@@ -5349,7 +5349,7 @@ If omitted or nil, that stands for the selected frame's display.  */)
 DEFUN ("x-server-vendor", Fx_server_vendor, Sx_server_vendor, 0, 1, 0,
        doc: /* Return the "vendor ID" string of the GUI software on TERMINAL.
 
-(Labeling every distributor as a "vendor" embodies the false assumption
+\(Labeling every distributor as a "vendor" embodies the false assumption
 that operating systems cannot be developed and distributed noncommercially.)
 
 For GNU and Unix systems, this queries the X server software; for
@@ -5751,7 +5751,7 @@ DISPLAY is the name of the display to connect to.
 Optional second arg XRM-STRING is a string of resources in xrdb format.
 If the optional third arg MUST-SUCCEED is non-nil,
 terminate Emacs if we can't open the connection.
-(In the Nextstep version, the last two arguments are currently ignored.)  */)
+\(In the Nextstep version, the last two arguments are currently ignored.)  */)
   (Lisp_Object display, Lisp_Object xrm_string, Lisp_Object must_succeed)
 {
   char *xrm_option;
@@ -8090,7 +8090,7 @@ DEFUN ("w32-set-mouse-absolute-pixel-position", Fw32_set_mouse_absolute_pixel_po
        Sw32_set_mouse_absolute_pixel_position, 2, 2, 0,
        doc: /* Move mouse pointer to absolute pixel position (X, Y).
 The coordinates X and Y are interpreted in pixels relative to a position
-(0, 0) of the selected frame's display.  */)
+\(0, 0) of the selected frame's display.  */)
   (Lisp_Object x, Lisp_Object y)
 {
   UINT trail_num = 0;
diff --git a/src/w32heap.c b/src/w32heap.c
index b908169..df2fe0a 100644
--- a/src/w32heap.c
+++ b/src/w32heap.c
@@ -73,12 +73,11 @@ typedef PVOID (WINAPI * RtlCreateHeap_Proc) (
 
 typedef LONG NTSTATUS;
 
-typedef NTSTATUS
-(NTAPI * PRTL_HEAP_COMMIT_ROUTINE)(
-                                   IN PVOID Base,
-                                   IN OUT PVOID *CommitAddress,
-                                   IN OUT PSIZE_T CommitSize
-                                   );
+typedef NTSTATUS (NTAPI *PRTL_HEAP_COMMIT_ROUTINE) (
+						    IN PVOID Base,
+						    IN OUT PVOID *CommitAddress,
+						    IN OUT PSIZE_T CommitSize
+						    );
 
 typedef struct _RTL_HEAP_PARAMETERS {
   ULONG Length;
diff --git a/src/window.c b/src/window.c
index 8953d3c..a15eb2f 100644
--- a/src/window.c
+++ b/src/window.c
@@ -670,7 +670,7 @@ DEFUN ("set-window-combination-limit", Fset_window_combination_limit, Sset_windo
 WINDOW must be a valid window used in horizontal or vertical combination.
 If LIMIT is nil, child windows of WINDOW can be recombined with WINDOW's
 siblings.  LIMIT t means that child windows of WINDOW are never
-(re-)combined with WINDOW's siblings.  Other values are reserved for
+\(re-)combined with WINDOW's siblings.  Other values are reserved for
 future use.  */)
   (Lisp_Object window, Lisp_Object limit)
 {
@@ -1324,7 +1324,7 @@ DEFUN ("coordinates-in-window-p", Fcoordinates_in_window_p,
 WINDOW must be a live window and defaults to the selected one.
 COORDINATES is a cons of the form (X . Y), X and Y being distances
 measured in characters from the upper-left corner of the frame.
-(0 . 0) denotes the character in the upper left corner of the
+\(0 . 0) denotes the character in the upper left corner of the
 frame.
 If COORDINATES are in the text portion of WINDOW,
    the coordinates relative to the window are returned.
@@ -1710,7 +1710,7 @@ of the window.  The remaining elements are omitted if the character after
 POS is fully visible; otherwise, RTOP and RBOT are the number of pixels
 off-window at the top and bottom of the screen line ("row") containing
 POS, ROWH is the visible height of that row, and VPOS is the row number
-(zero-based).  */)
+\(zero-based).  */)
   (Lisp_Object pos, Lisp_Object window, Lisp_Object partially)
 {
   struct window *w;
diff --git a/src/xdisp.c b/src/xdisp.c
index dec9947..217203b 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -31425,7 +31425,7 @@ This variable is not guaranteed to be accurate except while processing
 
   DEFVAR_LISP ("frame-title-format", Vframe_title_format,
     doc: /* Template for displaying the title bar of visible frames.
-(Assuming the window manager supports this feature.)
+\(Assuming the window manager supports this feature.)
 
 This variable has the same structure as `mode-line-format', except that
 the %c and %l constructs are ignored.  It is used only on frames for
@@ -31433,10 +31433,10 @@ which no explicit name has been set (see `modify-frame-parameters').  */);
 
   DEFVAR_LISP ("icon-title-format", Vicon_title_format,
     doc: /* Template for displaying the title bar of an iconified frame.
-(Assuming the window manager supports this feature.)
+\(Assuming the window manager supports this feature.)
 This variable has the same structure as `mode-line-format' (which see),
 and is used only on frames for which no explicit name has been set
-(see `modify-frame-parameters').  */);
+\(see `modify-frame-parameters').  */);
   Vicon_title_format
     = Vframe_title_format
     = listn (CONSTYPE_PURE, 3,
diff --git a/src/xfaces.c b/src/xfaces.c
index 7762e0f..0104857 100644
--- a/src/xfaces.c
+++ b/src/xfaces.c
@@ -701,10 +701,10 @@ Optional THOROUGHLY non-nil means try to free unused fonts, too.  */)
 DEFUN ("bitmap-spec-p", Fbitmap_spec_p, Sbitmap_spec_p, 1, 1, 0,
        doc: /* Value is non-nil if OBJECT is a valid bitmap specification.
 A bitmap specification is either a string, a file name, or a list
-(WIDTH HEIGHT DATA) where WIDTH is the pixel width of the bitmap,
+\(WIDTH HEIGHT DATA) where WIDTH is the pixel width of the bitmap,
 HEIGHT is its height, and DATA is a string containing the bits of
 the pixmap.  Bits are stored row by row, each row occupies
-(WIDTH + 7)/8 bytes.  */)
+\(WIDTH + 7)/8 bytes.  */)
   (Lisp_Object object)
 {
   bool pixmap_p = false;
@@ -6536,7 +6536,7 @@ changing this variable for it to take effect.  */);
 Each element is a cons (FONT-PATTERN . RESCALE-RATIO), where
 FONT-PATTERN is a font-spec or a regular expression matching a font name, and
 RESCALE-RATIO is a floating point number to specify how much larger
-(or smaller) font we should use.  For instance, if a face requests
+\(or smaller) font we should use.  For instance, if a face requests
 a font of 10 point, we actually use a font of 10 * RESCALE-RATIO point.  */);
   Vface_font_rescale_alist = Qnil;
 
diff --git a/src/xfns.c b/src/xfns.c
index 20ac627..dced887 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -3670,7 +3670,7 @@ x_focus_frame (struct frame *f)
 
 DEFUN ("xw-color-defined-p", Fxw_color_defined_p, Sxw_color_defined_p, 1, 2, 0,
        doc: /* Internal function called by `color-defined-p', which see.
-(Note that the Nextstep version of this function ignores FRAME.)  */)
+\(Note that the Nextstep version of this function ignores FRAME.)  */)
   (Lisp_Object color, Lisp_Object frame)
 {
   XColor foo;
@@ -3837,7 +3837,7 @@ If omitted or nil, that stands for the selected frame's display.  */)
 DEFUN ("x-server-vendor", Fx_server_vendor, Sx_server_vendor, 0, 1, 0,
        doc: /* Return the "vendor ID" string of the GUI software on TERMINAL.
 
-(Labeling every distributor as a "vendor" embodies the false assumption
+\(Labeling every distributor as a "vendor" embodies the false assumption
 that operating systems cannot be developed and distributed noncommercially.)
 The optional argument TERMINAL specifies which display to ask about.
 
@@ -4759,7 +4759,7 @@ DEFUN ("x-set-mouse-absolute-pixel-position", Fx_set_mouse_absolute_pixel_positi
        Sx_set_mouse_absolute_pixel_position, 2, 2, 0,
        doc: /* Move mouse pointer to absolute pixel position (X, Y).
 The coordinates X and Y are interpreted in pixels relative to a position
-(0, 0) of the selected frame's display.  */)
+\(0, 0) of the selected frame's display.  */)
   (Lisp_Object x, Lisp_Object y)
   {
   struct frame *f = SELECTED_FRAME ();
@@ -4935,7 +4935,7 @@ DISPLAY is the name of the display to connect to.
 Optional second arg XRM-STRING is a string of resources in xrdb format.
 If the optional third arg MUST-SUCCEED is non-nil,
 terminate Emacs if we can't open the connection.
-(In the Nextstep version, the last two arguments are currently ignored.)  */)
+\(In the Nextstep version, the last two arguments are currently ignored.)  */)
   (Lisp_Object display, Lisp_Object xrm_string, Lisp_Object must_succeed)
 {
   char *xrm_option;
diff --git a/src/xselect.c b/src/xselect.c
index 23b735e..cbc44a1 100644
--- a/src/xselect.c
+++ b/src/xselect.c
@@ -1911,7 +1911,7 @@ DEFUN ("x-own-selection-internal", Fx_own_selection_internal,
        Sx_own_selection_internal, 2, 3, 0,
        doc: /* Assert an X selection of type SELECTION and value VALUE.
 SELECTION is a symbol, typically `PRIMARY', `SECONDARY', or `CLIPBOARD'.
-(Those are literal upper-case symbol names, since that's what X expects.)
+\(Those are literal upper-case symbol names, since that's what X expects.)
 VALUE is typically a string, or a cons of two markers, but may be
 anything that the functions on `selection-converter-alist' know about.
 
@@ -1940,7 +1940,7 @@ DEFUN ("x-get-selection-internal", Fx_get_selection_internal,
        Sx_get_selection_internal, 2, 4, 0,
        doc: /* Return text selected from some X window.
 SELECTION-SYMBOL is typically `PRIMARY', `SECONDARY', or `CLIPBOARD'.
-(Those are literal upper-case symbol names, since that's what X expects.)
+\(Those are literal upper-case symbol names, since that's what X expects.)
 TARGET-TYPE is the type of data desired, typically `STRING'.
 
 TIME-STAMP is the time to use in the XConvertSelection call for foreign
@@ -2044,7 +2044,7 @@ DEFUN ("x-selection-owner-p", Fx_selection_owner_p, Sx_selection_owner_p,
        doc: /* Whether the current Emacs process owns the given X Selection.
 The arg should be the name of the selection in question, typically one of
 the symbols `PRIMARY', `SECONDARY', or `CLIPBOARD'.
-(Those are literal upper-case symbol names, since that's what X expects.)
+\(Those are literal upper-case symbol names, since that's what X expects.)
 For convenience, the symbol nil is the same as `PRIMARY',
 and t is the same as `SECONDARY'.
 
@@ -2620,7 +2620,7 @@ and the local selection value (whatever was given to
 `x-own-selection-internal').
 
 The function should return the value to send to the X server
-(typically a string).  A return value of nil
+\(typically a string).  A return value of nil
 means that the conversion could not be done.
 A return value which is the symbol `NULL'
 means that a side-effect was executed,
@@ -2629,10 +2629,10 @@ and there is no meaningful selection value.  */);
 
   DEFVAR_LISP ("x-lost-selection-functions", Vx_lost_selection_functions,
 	       doc: /* A list of functions to be called when Emacs loses an X selection.
-(This happens when some other X client makes its own selection
+\(This happens when some other X client makes its own selection
 or when a Lisp program explicitly clears the selection.)
 The functions are called with one argument, the selection type
-(a symbol, typically `PRIMARY', `SECONDARY', or `CLIPBOARD').  */);
+\(a symbol, typically `PRIMARY', `SECONDARY', or `CLIPBOARD').  */);
   Vx_lost_selection_functions = Qnil;
 
   DEFVAR_LISP ("x-sent-selection-functions", Vx_sent_selection_functions,
diff --git a/src/xwidget.c b/src/xwidget.c
index f436e95..e8f3f29 100644
--- a/src/xwidget.c
+++ b/src/xwidget.c
@@ -387,9 +387,12 @@ webkit_download_cb (WebKitWebView *webkitwebview,
 }
 
 static gboolean
-webkit_mime_type_policy_typedecision_requested_cb
-(WebKitWebView *webView, WebKitWebFrame *frame, WebKitNetworkRequest *request,
- gchar *mimetype, WebKitWebPolicyDecision *policy_decision, gpointer user_data)
+webkit_mime_type_policy_typedecision_requested_cb (WebKitWebView *webView,
+						   WebKitWebFrame *frame,
+						   WebKitNetworkRequest *request,
+						   gchar *mimetype,
+						   WebKitWebPolicyDecision *policy_decision,
+						   gpointer user_data)
 {
   /* This function makes webkit send a download signal for all unknown
      mime types.  TODO: Defer the decision to Lisp, so that it's
@@ -404,10 +407,12 @@ webkit_mime_type_policy_typedecision_requested_cb
 }
 
 static gboolean
-webkit_new_window_policy_decision_requested_cb
-(WebKitWebView *webView, WebKitWebFrame *frame, WebKitNetworkRequest *request,
- WebKitWebNavigationAction *navigation_action,
- WebKitWebPolicyDecision *policy_decision, gpointer user_data)
+webkit_new_window_policy_decision_requested_cb (WebKitWebView *webView,
+						WebKitWebFrame *frame,
+						WebKitNetworkRequest *request,
+						WebKitWebNavigationAction *navigation_action,
+						WebKitWebPolicyDecision *policy_decision,
+						gpointer user_data)
 {
   struct xwidget *xw = g_object_get_data (G_OBJECT (webView), XG_XWIDGET);
   webkit_web_navigation_action_get_original_uri (navigation_action);
@@ -419,10 +424,12 @@ webkit_new_window_policy_decision_requested_cb
 }
 
 static gboolean
-webkit_navigation_policy_decision_requested_cb
-(WebKitWebView *webView, WebKitWebFrame *frame, WebKitNetworkRequest *request,
- WebKitWebNavigationAction *navigation_action,
- WebKitWebPolicyDecision *policy_decision, gpointer user_data)
+webkit_navigation_policy_decision_requested_cb (WebKitWebView *webView,
+						WebKitWebFrame *frame,
+						WebKitNetworkRequest *request,
+						WebKitWebNavigationAction *navigation_action,
+						WebKitWebPolicyDecision *policy_decision,
+						gpointer user_data)
 {
   struct xwidget *xw = g_object_get_data (G_OBJECT (webView), XG_XWIDGET);
   store_xwidget_event_string (xw, "navigation-policy-decision-requested",

--------------070905070406070408070902--




Information forwarded to bug-gnu-emacs@HIDDEN, bug-cc-mode@HIDDEN:
bug#22884; Package emacs,cc-mode. Full text available.

Message received at 22884 <at> debbugs.gnu.org:


Received: (at 22884) by debbugs.gnu.org; 3 Mar 2016 12:46:43 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Mar 03 07:46:43 2016
Received: from localhost ([127.0.0.1]:58694 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1abSeR-0006P8-B3
	for submit <at> debbugs.gnu.org; Thu, 03 Mar 2016 07:46:43 -0500
Received: from mail.muc.de ([193.149.48.3]:33543)
 by debbugs.gnu.org with esmtp (Exim 4.84)
 (envelope-from <acm@HIDDEN>) id 1abSeP-0006Ox-70
 for 22884 <at> debbugs.gnu.org; Thu, 03 Mar 2016 07:46:41 -0500
Received: (qmail 57002 invoked by uid 3782); 3 Mar 2016 12:46:39 -0000
Received: from acm.muc.de (p579E89EE.dip0.t-ipconnect.de [87.158.137.238]) by
 colin.muc.de (tmda-ofmipd) with ESMTP;
 Thu, 03 Mar 2016 13:46:38 +0100
Received: (qmail 2946 invoked by uid 1000); 3 Mar 2016 12:49:10 -0000
Date: Thu, 3 Mar 2016 12:49:10 +0000
To: Paul Eggert <eggert@HIDDEN>
Subject: Re: bug#22884: 25.0.92; C/l mode editing takes waaaayy too long
Message-ID: <20160303124910.GA2852@HIDDEN>
References: <56D72C35.4090708@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <56D72C35.4090708@HIDDEN>
User-Agent: Mutt/1.5.24 (2015-08-30)
X-Delivery-Agent: TMDA/1.1.12 (Macallan)
From: Alan Mackenzie <acm@HIDDEN>
X-Primary-Address: acm@HIDDEN
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 22884
Cc: 22884 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.0 (/)

Hello, Paul.

On Wed, Mar 02, 2016 at 10:08:53AM -0800, Paul Eggert wrote:
> I've been noticing this problem for a bit and figured it'd get fixed but 
> it hasn't so here is a bug report.

> With the Emacs 25 pretests, it takes waaaaayyy too long to edit some C 
> code. To reproduce the problem use the attached file (taken from the 
> Emacs source code) and run:

> emacs -Q config.h
> M-x goto-line RET 1661 RET / /

> On my six-year-old desktop the second '/' takes about 10 seconds to 
> echo.  This sort of thing makes Emacs effectively unusable for editing 
> config.h.

The problem is in config.h.  At line 14, inside a comment, appears the
following string:
    "(at your option) any later version."
.  The open paren is at column zero, so the fancy code in syntax.c then
fails to recognise the comment as a comment.  CC Mode is then
effectively communicating across the continent between L1661 and L14 by
carrier pigeon in the belief that there is non-syntactic-ws code at L14.
(Syntactic whitespace includes comments and preprocessor constructs.)

Inserting a backslash at the beginning of L14 solves the problem, as
does setting open-paren-in-column-0-is-defun-start to nil.

The next problem is that there are around 324 occurrences of "(" at
column zero in the src directory, and quite a few in lib and lib-src.
Most of them are in comments, some of them are parameter lists, and some
of them (e.g. in lisp.h) are wierd constructs of some sort.  These
contravene GNU coding standards and really need sorting out.

> In GNU Emacs 25.0.92.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.18.7)
>   of 2016-03-02 built on penguin.cs.ucla.edu
> Repository revision: 100346aa226e4eacc56f390c099bb9aab585b5f4
> Windowing system distributor 'Fedora Project', version 11.0.11800000
> Configured using:
>   'configure --enable-gcc-warnings'

-- 
Alan Mackenzie (Nuremberg, Germany).




Information forwarded to bug-gnu-emacs@HIDDEN, bug-cc-mode@HIDDEN:
bug#22884; Package emacs,cc-mode. Full text available.
Added indication that bug 22884 blocks19759 Request was from Glenn Morris <rgm@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 2 Mar 2016 18:09:37 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Mar 02 13:09:37 2016
Received: from localhost ([127.0.0.1]:58064 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1abBDH-0003Qq-Ib
	for submit <at> debbugs.gnu.org; Wed, 02 Mar 2016 13:09:37 -0500
Received: from eggs.gnu.org ([208.118.235.92]:32940)
 by debbugs.gnu.org with esmtp (Exim 4.84)
 (envelope-from <eggert@HIDDEN>) id 1abBDE-0003QW-6X
 for submit <at> debbugs.gnu.org; Wed, 02 Mar 2016 13:09:30 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <eggert@HIDDEN>) id 1abBD2-0003mX-Kb
 for submit <at> debbugs.gnu.org; Wed, 02 Mar 2016 13:09:22 -0500
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50 autolearn=disabled
 version=3.3.2
Received: from lists.gnu.org ([2001:4830:134:3::11]:49717)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <eggert@HIDDEN>) id 1abBD2-0003mJ-AZ
 for submit <at> debbugs.gnu.org; Wed, 02 Mar 2016 13:09:16 -0500
Received: from eggs.gnu.org ([2001:4830:134:3::10]:51981)
 by lists.gnu.org with esmtp (Exim 4.71)
 (envelope-from <eggert@HIDDEN>) id 1abBCv-0006yc-Bj
 for bug-gnu-emacs@HIDDEN; Wed, 02 Mar 2016 13:09:16 -0500
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <eggert@HIDDEN>) id 1abBCo-0003go-M7
 for bug-gnu-emacs@HIDDEN; Wed, 02 Mar 2016 13:09:09 -0500
Received: from zimbra.cs.ucla.edu ([131.179.128.68]:58550)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <eggert@HIDDEN>) id 1abBCo-0003ex-4U
 for bug-gnu-emacs@HIDDEN; Wed, 02 Mar 2016 13:09:02 -0500
Received: from localhost (localhost [127.0.0.1])
 by zimbra.cs.ucla.edu (Postfix) with ESMTP id EAA00160E46
 for <bug-gnu-emacs@HIDDEN>; Wed,  2 Mar 2016 10:08:58 -0800 (PST)
Received: from zimbra.cs.ucla.edu ([127.0.0.1])
 by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id ZMYlXgjpPEHg for <bug-gnu-emacs@HIDDEN>;
 Wed,  2 Mar 2016 10:08:54 -0800 (PST)
Received: from localhost (localhost [127.0.0.1])
 by zimbra.cs.ucla.edu (Postfix) with ESMTP id 0875B160FF5
 for <bug-gnu-emacs@HIDDEN>; Wed,  2 Mar 2016 10:08:54 -0800 (PST)
X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu
Received: from zimbra.cs.ucla.edu ([127.0.0.1])
 by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id WnkL_rLdZPkZ for <bug-gnu-emacs@HIDDEN>;
 Wed,  2 Mar 2016 10:08:53 -0800 (PST)
Received: from penguin.cs.ucla.edu (Penguin.CS.UCLA.EDU [131.179.64.200])
 by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id C8819160FF2
 for <bug-gnu-emacs@HIDDEN>; Wed,  2 Mar 2016 10:08:53 -0800 (PST)
To: GNU Emacs bugs <bug-gnu-emacs@HIDDEN>
From: Paul Eggert <eggert@HIDDEN>
Subject: 25.0.92; C/l mode editing takes waaaayy too long
Organization: UCLA Computer Science Department
Message-ID: <56D72C35.4090708@HIDDEN>
Date: Wed, 2 Mar 2016 10:08:53 -0800
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101
 Thunderbird/38.6.0
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="------------030501020309050709010409"
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x
X-Received-From: 2001:4830:134:3::11
X-Spam-Score: -4.0 (----)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 1.0 (+)

This is a multi-part message in MIME format.
--------------030501020309050709010409
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: quoted-printable

I've been noticing this problem for a bit and figured it'd get fixed but=20
it hasn't so here is a bug report.

With the Emacs 25 pretests, it takes waaaaayyy too long to edit some C=20
code. To reproduce the problem use the attached file (taken from the=20
Emacs source code) and run:

emacs -Q config.h
M-x goto-line RET 1661 RET / /

On my six-year-old desktop the second '/' takes about 10 seconds to=20
echo.  This sort of thing makes Emacs effectively unusable for editing=20
config.h.


In GNU Emacs 25.0.92.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.18.7)
  of 2016-03-02 built on penguin.cs.ucla.edu
Repository revision: 100346aa226e4eacc56f390c099bb9aab585b5f4
Windowing system distributor 'Fedora Project', version 11.0.11800000
Configured using:
  'configure --enable-gcc-warnings'

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GCONF GSETTINGS
NOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB
TOOLKIT_SCROLL_BARS GTK3 X11

Important settings:
   value of $LANG: en_US.UTF-8
   value of $XMODIFIERS: @im=3Dibus
   locale-coding-system: utf-8-unix

Major mode: C/l

Minor modes in effect:
   tooltip-mode: t
   global-eldoc-mode: t
   electric-indent-mode: t
   mouse-wheel-mode: t
   tool-bar-mode: t
   menu-bar-mode: t
   file-name-shadow-mode: t
   global-font-lock-mode: t
   font-lock-mode: t
   blink-cursor-mode: t
   auto-composition-mode: t
   auto-encryption-mode: t
   auto-compression-mode: t
   line-number-mode: t
   transient-mark-mode: t
   abbrev-mode: t

Recent messages:
config.h has auto save data; consider M-x recover-this-file
Mark set
You can run the command =E2=80=98goto-line=E2=80=99 with M-g g
Mark set
Undo!
Mark set
Undo!
Mark set
Mark saved where search started
Auto-saving...done

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message dired format-spec rfc822 mml
mml-sec epg epg-config gnus-util mm-decode mm-bodies mm-encode
mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047
rfc2045 ietf-drums mm-util help-fns mail-prsvr mail-utils character-fold
misearch multi-isearch cl-extra help-mode cc-mode cc-fonts easymenu
cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs
cl-loaddefs pcase cl-lib time-date mule-util tooltip eldoc electric
uniquify ediff-hook vc-hooks lisp-float-type mwheel x-win
term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list newcomment elisp-mode lisp-mode prog-mode register page
menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock
syntax facemenu font-core frame cl-generic cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms
cp51932 hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese charscript case-table epa-hook jka-cmpr-hook help
simple abbrev minibuffer cl-preloaded nadvice loaddefs button faces
cus-face macroexp files text-properties overlay sha1 md5 base64 format
env code-pages mule custom widget hashtable-print-readable backquote
dbusbind inotify dynamic-setting system-font-setting font-render-setting
move-toolbar gtk x-toolkit x multi-tty make-network-process emacs)

Memory information:
((conses 16 123955 4665)
  (symbols 48 21742 0)
  (miscs 40 57 290)
  (strings 32 28264 16097)
  (string-bytes 1 748499)
  (vectors 16 14562)
  (vector-slots 8 502379 4556)
  (floats 8 166 20)
  (intervals 56 4059 0)
  (buffers 976 12)
  (heap 1024 29227 2318))


--------------030501020309050709010409
Content-Type: text/plain; charset=UTF-8;
 name="config.h"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="config.h"

Lyogc3JjL2NvbmZpZy5oLiAgR2VuZXJhdGVkIGZyb20gY29uZmlnLmluIGJ5IGNvbmZpZ3Vy
ZS4gICovCi8qIHNyYy9jb25maWcuaW4uICBHZW5lcmF0ZWQgZnJvbSBjb25maWd1cmUuYWMg
YnkgYXV0b2hlYWRlci4gICovCgovKiBHTlUgRW1hY3Mgc2l0ZSBjb25maWd1cmF0aW9uIHRl
bXBsYXRlIGZpbGUuCgpDb3B5cmlnaHQgKEMpIDE5ODgsIDE5OTMtMTk5NCwgMTk5OS0yMDAy
LCAyMDA0LTIwMTYKICBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KClRoaXMgZmls
ZSBpcyBwYXJ0IG9mIEdOVSBFbWFjcy4KCkdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5
b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cml0IHVuZGVyIHRoZSB0ZXJt
cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CnRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExp
Y2Vuc2UsIG9yCihhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgpHTlUgRW1h
Y3MgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK
YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy
cmFudHkgb2YKTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFLiAgU2VlIHRoZQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk
ZXRhaWxzLgoKWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdl
bmVyYWwgUHVibGljIExpY2Vuc2UKYWxvbmcgd2l0aCBHTlUgRW1hY3MuICBJZiBub3QsIHNl
ZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLwoKCi8qIE5vIGNvZGUgaW4g
RW1hY3MgI2luY2x1ZGVzIGNvbmZpZy5oIHR3aWNlLCBidXQgc29tZSBiaXRzIG9mIGNvZGUK
ICAgaW50ZW5kZWQgdG8gd29yayB3aXRoIG90aGVyIHBhY2thZ2VzIGFzIHdlbGwgKGxpa2Ug
Z21hbGxvYy5jKQogICB0aGluayB0aGV5IGNhbiBpbmNsdWRlIGl0IGFzIG1hbnkgdGltZXMg
YXMgdGhleSBsaWtlLiAgKi8KI2lmbmRlZiBFTUFDU19DT05GSUdfSAojZGVmaW5lIEVNQUNT
X0NPTkZJR19ICgoKLyogRGVmaW5lIGlmIGJ1aWxkaW5nIHVuaXZlcnNhbCAoaW50ZXJuYWwg
aGVscGVyIG1hY3JvKSAqLwovKiAjdW5kZWYgQUNfQVBQTEVfVU5JVkVSU0FMX0JVSUxEICov
CgovKiBEZWZpbmUgdG8gdXNlIHRoZSBjb252ZW50aW9uIHRoYXQgJiBpbiB0aGUgZnVsbCBu
YW1lIHN0YW5kcyBmb3IgdGhlIGxvZ2luCiAgIGlkLiAqLwojZGVmaW5lIEFNUEVSU0FORF9G
VUxMX05BTUUgMQoKLyogRGVmaW5lIHRvIHRoZSBudW1iZXIgb2YgYml0cyBpbiB0eXBlICdw
dHJkaWZmX3QnLiAqLwovKiAjdW5kZWYgQklUU0laRU9GX1BUUkRJRkZfVCAqLwoKLyogRGVm
aW5lIHRvIHRoZSBudW1iZXIgb2YgYml0cyBpbiB0eXBlICdzaWdfYXRvbWljX3QnLiAqLwov
KiAjdW5kZWYgQklUU0laRU9GX1NJR19BVE9NSUNfVCAqLwoKLyogRGVmaW5lIHRvIHRoZSBu
dW1iZXIgb2YgYml0cyBpbiB0eXBlICdzaXplX3QnLiAqLwovKiAjdW5kZWYgQklUU0laRU9G
X1NJWkVfVCAqLwoKLyogRGVmaW5lIHRvIHRoZSBudW1iZXIgb2YgYml0cyBpbiB0eXBlICd3
Y2hhcl90Jy4gKi8KLyogI3VuZGVmIEJJVFNJWkVPRl9XQ0hBUl9UICovCgovKiBEZWZpbmUg
dG8gdGhlIG51bWJlciBvZiBiaXRzIGluIHR5cGUgJ3dpbnRfdCcuICovCi8qICN1bmRlZiBC
SVRTSVpFT0ZfV0lOVF9UICovCgovKiBEZWZpbmUgaWYgZ2V0X2N1cnJlbnRfZGlyX25hbWUg
c2hvdWxkIG5vdCBiZSB1c2VkLiAqLwovKiAjdW5kZWYgQlJPS0VOX0dFVF9DVVJSRU5UX0RJ
Ul9OQU1FICovCgovKiBEZWZpbmUgb24gRnJlZUJTRCB0byB3b3JrIGFyb3VuZCBhbiBpc3N1
ZSB3aGVuIHJlYWRpbmcgZnJvbSBhIFBUWS4gKi8KLyogI3VuZGVmIEJST0tFTl9QVFlfUkVB
RF9BRlRFUl9FQUdBSU4gKi8KCi8qIERlZmluZSBpZiBFbWFjcyBjYW5ub3QgYmUgZHVtcGVk
IG9uIHlvdXIgc3lzdGVtLiAqLwovKiAjdW5kZWYgQ0FOTk9UX0RVTVAgKi8KCi8qIERlZmlu
ZSB0aGlzIHRvIGVuYWJsZSBjb21waWxlIHRpbWUgY2hlY2tzIGZvciB0aGUgTGlzcF9PYmpl
Y3QgZGF0YSB0eXBlLiAqLwovKiAjdW5kZWYgQ0hFQ0tfTElTUF9PQkpFQ1RfVFlQRSAqLwoK
LyogU2hvcnQgY29weXJpZ2h0IHN0cmluZyBmb3IgdGhpcyB2ZXJzaW9uIG9mIEVtYWNzLiAq
LwojZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDE2IEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbiwgSW5jLiIKCi8qIERlZmluZSB0byBvbmUgb2YgYF9nZXRiNjcnLCBgR0VU
QjY3JywgYGdldGI2NycgZm9yIENyYXktMiBhbmQgQ3JheS1ZTVAKICAgc3lzdGVtcy4gVGhp
cyBmdW5jdGlvbiBpcyByZXF1aXJlZCBmb3IgYGFsbG9jYS5jJyBzdXBwb3J0IG9uIHRob3Nl
IHN5c3RlbXMuCiAgICovCi8qICN1bmRlZiBDUkFZX1NUQUNLU0VHX0VORCAqLwoKLyogRGVm
aW5lIGlmIHRoZSBzeXN0ZW0gaXMgQ3lnd2luLiAqLwovKiAjdW5kZWYgQ1lHV0lOICovCgov
KiBEZWZpbmUgdG8gMSBpZiB1c2luZyBgYWxsb2NhLmMnLiAqLwovKiAjdW5kZWYgQ19BTExP
Q0EgKi8KCi8qIERlZmluZSBpZiB0aGUgc3lzdGVtIGlzIERhcndpbi4gKi8KLyogI3VuZGVm
IERBUldJTl9PUyAqLwoKLyogTmFtZSBvZiB0aGUgZGVmYXVsdCBzb3VuZCBkZXZpY2UuICov
CiNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgoKLyogRGVmaW5lIHRv
IDEgZm9yIERHVVggd2l0aCA8c3lzL2RnX3N5c19pbmZvLmg+LiAqLwovKiAjdW5kZWYgREdV
WCAqLwoKLyogQ2hhcmFjdGVyIHRoYXQgc2VwYXJhdGVzIGRpcmVjdG9yaWVzIGluIGEgZmls
ZSBuYW1lLiAqLwojZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCgovKiB0aGUgbmFtZSBvZiB0
aGUgZmlsZSBkZXNjcmlwdG9yIG1lbWJlciBvZiBESVIgKi8KLyogI3VuZGVmIERJUl9GRF9N
RU1CRVJfTkFNRSAqLwoKI2lmZGVmIERJUl9GRF9NRU1CRVJfTkFNRQojIGRlZmluZSBESVJf
VE9fRkQoRGlyX3ApICgoRGlyX3ApLT5ESVJfRkRfTUVNQkVSX05BTUUpCiNlbHNlCiMgZGVm
aW5lIERJUl9UT19GRChEaXJfcCkgLTEKI2VuZGlmCgoKLyogRGVmaW5lIGlmIHByb2Nlc3Mu
YyBkb2VzIG5vdCBuZWVkIHRvIGNsb3NlIGEgcHR5IHRvIG1ha2UgaXQgYSBjb250cm9sbGlu
ZwogICB0ZXJtaW5hbCAoaXQgaXMgYWxyZWFkeSBhIGNvbnRyb2xsaW5nIHRlcm1pbmFsIG9m
IHRoZSBzdWJwcm9jZXNzLCBiZWNhdXNlCiAgIHdlIGRpZCBpb2N0bCBUSU9DU0NUVFkpLiAq
LwovKiAjdW5kZWYgRE9OVF9SRU9QRU5fUFRZICovCgovKiBEZWZpbmUgaWYgdGhlIHN5c3Rl
bSBpcyBNUyBET1Mgb3IgTVMgV2luZG93cy4gKi8KLyogI3VuZGVmIERPU19OVCAqLwoKLyog
RGVmaW5lIHRvIDEgaWYgdGhlIHN5c3RlbSBtZW1vcnkgYWxsb2NhdG9yIGlzIERvdWcgTGVh
IHN0eWxlLCB3aXRoIG1hbGxvYwogICBob29rcyBhbmQgbWFsbG9jX3NldF9zdGF0ZS4gKi8K
I2RlZmluZSBET1VHX0xFQV9NQUxMT0MgMQoKLyogRGVmaW5lIHRvIDEgdG8gZW5hYmxlIHcz
MiBkZWJ1ZyBmYWNpbGl0aWVzLiAqLwovKiAjdW5kZWYgRU1BQ1NERUJVRyAqLwoKLyogRGVm
aW5lIHRvIHRoZSBjYW5vbmljYWwgRW1hY3MgY29uZmlndXJhdGlvbiBuYW1lLiAqLwojZGVm
aW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gIng4Nl82NC11bmtub3duLWxpbnV4LWdudSIKCi8q
IFN1bW1hcnkgb2Ygc29tZSBvZiB0aGUgbWFpbiBmZWF0dXJlcyBlbmFibGVkIGJ5IGNvbmZp
Z3VyZS4gKi8KI2RlZmluZSBFTUFDU19DT05GSUdfRkVBVFVSRVMgIlhQTSBKUEVHIFRJRkYg
R0lGIFBORyBSU1ZHIElNQUdFTUFHSUNLIFNPVU5EIEdQTSBEQlVTIEdDT05GIEdTRVRUSU5H
UyBOT1RJRlkgQUNMIExJQlNFTElOVVggR05VVExTIExJQlhNTDIgRlJFRVRZUEUgTTE3Tl9G
TFQgTElCT1RGIFhGVCBaTElCIFRPT0xLSVRfU0NST0xMX0JBUlMgR1RLMyBYMTEiCgovKiBE
ZWZpbmUgdG8gdGhlIG9wdGlvbnMgcGFzc2VkIHRvIGNvbmZpZ3VyZS4gKi8KI2RlZmluZSBF
TUFDU19DT05GSUdfT1BUSU9OUyAiLS1lbmFibGUtZ2NjLXdhcm5pbmdzIgoKLyogRGVmaW5l
IHRvIDEgaWYgZXhwZW5zaXZlIHJ1bi10aW1lIGRhdGEgdHlwZSBhbmQgY29uc2lzdGVuY3kg
Y2hlY2tzIGFyZQogICBlbmFibGVkLiAqLwovKiAjdW5kZWYgRU5BQkxFX0NIRUNLSU5HICov
CgovKiBEZWZpbmUgdGhpcyB0byAxIGlmIEZfRFVQRkQgYmVoYXZpb3IgZG9lcyBub3QgbWF0
Y2ggUE9TSVggKi8KLyogI3VuZGVmIEZDTlRMX0RVUEZEX0JVR0dZICovCgovKiBMZXR0ZXIg
dG8gdXNlIGluIGZpbmRpbmcgZGV2aWNlIG5hbWUgb2YgZmlyc3QgUFRZLCBpZiBQVFlzIGFy
ZSBzdXBwb3J0ZWQuCiAgICovCi8qICN1bmRlZiBGSVJTVF9QVFlfTEVUVEVSICovCgovKiBX
aXRob3V0IHRoZSBmb2xsb3dpbmcgd29ya2Fyb3VuZCwgRW1hY3MgcnVucyBzbG93bHkgb24g
T1MgWCAxMC44LgogICBUaGUgd29ya2Fyb3VuZCBkaXNhYmxlcyBzb21lIHVzZWZ1bCBydW4t
dGltZSBjaGVja2luZywgc28gaXQKICAgc2hvdWxkIGJlIGNvbmRpdGlvbmFsIHRvIHRoZSBw
bGF0Zm9ybXMgd2l0aCB0aGUgcGVyZm9ybWFuY2UgYnVnLgogICBQZXJoYXBzIEFwcGxlIHdp
bGwgZml4IHRoaXMgc29tZSBkYXk7IGFsc28gc2VlIG00L2V4dGVybi1pbmxpbmUubTQuICAq
LwojaWYgZGVmaW5lZCBfX0FQUExFX18gJiYgZGVmaW5lZCBfX0dOVUNfXwojIGlmbmRlZiBf
RE9OVF9VU0VfQ1RZUEVfSU5MSU5FXwojICBkZWZpbmUgX0RPTlRfVVNFX0NUWVBFX0lOTElO
RV8KIyBlbmRpZgojIGlmbmRlZiBfRk9SVElGWV9TT1VSQ0UKIyAgZGVmaW5lIF9GT1JUSUZZ
X1NPVVJDRSAwCiMgZW5kaWYKI2VuZGlmCgoKLyogRGVmaW5lIHRvIDEgaWYgZnV0aW1lc2F0
IG1pc2hhbmRsZXMgYSBOVUxMIGZpbGUgbmFtZS4gKi8KLyogI3VuZGVmIEZVVElNRVNBVF9O
VUxMX0JVRyAqLwoKLyogRGVmaW5lIHRoaXMgdG8gY2hlY2sgZm9yIGVycm9ycyBpbiBjb25z
IGxpc3QuICovCi8qICN1bmRlZiBHQ19DSEVDS19DT05TX0xJU1QgKi8KCi8qIERlZmluZSB0
aGlzIHRlbXBvcmFyaWx5IHRvIGh1bnQgYSBidWcuIElmIGRlZmluZWQsIHRoZSBzaXplIG9m
IHN0cmluZ3MgaXMKICAgcmVkdW5kYW50bHkgcmVjb3JkZWQgaW4gc2RhdGEgc3RydWN0dXJl
cyBzbyB0aGF0IGl0IGNhbiBiZSBjb21wYXJlZCB0byB0aGUKICAgc2l6ZXMgcmVjb3JkZWQg
aW4gTGlzcCBzdHJpbmdzLiAqLwovKiAjdW5kZWYgR0NfQ0hFQ0tfU1RSSU5HX0JZVEVTICov
CgovKiBEZWZpbmUgdGhpcyB0byBjaGVjayB0aGUgc3RyaW5nIGZyZWUgbGlzdC4gKi8KLyog
I3VuZGVmIEdDX0NIRUNLX1NUUklOR19GUkVFX0xJU1QgKi8KCi8qIERlZmluZSB0aGlzIHRv
IGNoZWNrIGZvciBzaG9ydCBzdHJpbmcgb3ZlcnJ1bi4gKi8KLyogI3VuZGVmIEdDX0NIRUNL
X1NUUklOR19PVkVSUlVOICovCgovKiBNYXJrIGEgc2Vjb25kYXJ5IHN0YWNrLCBsaWtlIHRo
ZSByZWdpc3RlciBzdGFjayBvbiB0aGUgaWE2NC4gKi8KLyogI3VuZGVmIEdDX01BUktfU0VD
T05EQVJZX1NUQUNLICovCgovKiBEZWZpbmUgaWYgc2V0am1wIGlzIGtub3duIHRvIHNhdmUg
YWxsIHJlZ2lzdGVycyByZWxldmFudCBmb3IgY29uc2VydmF0aXZlCiAgIGdhcmJhZ2UgY29s
bGVjdGlvbiBpbiB0aGUgam1wX2J1Zi4gKi8KI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQoK
LyogRGVmaW5lIHRvIDEgdG8gZGlzYWJsZSBHVEsrL0dESyBkZXByZWNhdGlvbiB3YXJuaW5n
cy4gKi8KI2RlZmluZSBHREtfRElTQUJMRV9ERVBSRUNBVElPTl9XQVJOSU5HUyAxCgovKiBE
ZWZpbmUgdG8gdGhlIHR5cGUgb2YgZWxlbWVudHMgaW4gdGhlIGFycmF5IHNldCBieSBgZ2V0
Z3JvdXBzJy4gVXN1YWxseQogICB0aGlzIGlzIGVpdGhlciBgaW50JyBvciBgZ2lkX3QnLiAq
LwojZGVmaW5lIEdFVEdST1VQU19UIGdpZF90CgovKiBEZWZpbmUgdGhpcyB0byAxIGlmIGdl
dGdyb3VwcygwLE5VTEwpIGRvZXMgbm90IHJldHVybiB0aGUgbnVtYmVyIG9mIGdyb3Vwcy4K
ICAgKi8KLyogI3VuZGVmIEdFVEdST1VQU19aRVJPX0JVRyAqLwoKLyogRGVmaW5lIGlmIGdl
dHRpbWVvZmRheSBjbG9iYmVycyB0aGUgbG9jYWx0aW1lIGJ1ZmZlci4gKi8KLyogI3VuZGVm
IEdFVFRJTUVPRkRBWV9DTE9CQkVSU19MT0NBTFRJTUUgKi8KCi8qIERlZmluZSB0aGlzIHRv
ICd2b2lkJyBvciAnc3RydWN0IHRpbWV6b25lJyB0byBtYXRjaCB0aGUgc3lzdGVtJ3MKICAg
ZGVjbGFyYXRpb24gb2YgdGhlIHNlY29uZCBhcmd1bWVudCB0byBnZXR0aW1lb2ZkYXkuICov
CiNkZWZpbmUgR0VUVElNRU9GREFZX1RJTUVaT05FIHN0cnVjdCB0aW1lem9uZQoKLyogRGVm
aW5lIHRvIDEgdG8gZGlzYWJsZSBHbGliIGRlcHJlY2F0aW9uIHdhcm5pbmdzLiAqLwojZGVm
aW5lIEdMSUJfRElTQUJMRV9ERVBSRUNBVElPTl9XQVJOSU5HUyAxCgovKiBEZWZpbmUgdGhp
cyB0byBlbmFibGUgZ2x5cGhzIGRlYnVnZ2luZyBjb2RlLiAqLwovKiAjdW5kZWYgR0xZUEhf
REVCVUcgKi8KCi8qIERlZmluZSB0byBhIEMgcHJlcHJvY2Vzc29yIGV4cHJlc3Npb24gdGhh
dCBldmFsdWF0ZXMgdG8gMSBvciAwLCBkZXBlbmRpbmcKICAgd2hldGhlciB0aGUgZ251bGli
IG1vZHVsZSBjbG9zZS1zdHJlYW0gc2hhbGwgYmUgY29uc2lkZXJlZCBwcmVzZW50LiAqLwoj
ZGVmaW5lIEdOVUxJQl9DTE9TRV9TVFJFQU0gMQoKLyogRGVmaW5lIHRvIGEgQyBwcmVwcm9j
ZXNzb3IgZXhwcmVzc2lvbiB0aGF0IGV2YWx1YXRlcyB0byAxIG9yIDAsIGRlcGVuZGluZwog
ICB3aGV0aGVyIHRoZSBnbnVsaWIgbW9kdWxlIGZhY2Nlc3NhdCBzaGFsbCBiZSBjb25zaWRl
cmVkIHByZXNlbnQuICovCiNkZWZpbmUgR05VTElCX0ZBQ0NFU1NBVCAxCgovKiBEZWZpbmUg
dG8gYSBDIHByZXByb2Nlc3NvciBleHByZXNzaW9uIHRoYXQgZXZhbHVhdGVzIHRvIDEgb3Ig
MCwgZGVwZW5kaW5nCiAgIHdoZXRoZXIgdGhlIGdudWxpYiBtb2R1bGUgZmRvcGVuZGlyIHNo
YWxsIGJlIGNvbnNpZGVyZWQgcHJlc2VudC4gKi8KI2RlZmluZSBHTlVMSUJfRkRPUEVORElS
IDEKCi8qIERlZmluZSB0byBhIEMgcHJlcHJvY2Vzc29yIGV4cHJlc3Npb24gdGhhdCBldmFs
dWF0ZXMgdG8gMSBvciAwLCBkZXBlbmRpbmcKICAgd2hldGhlciB0aGUgZ251bGliIG1vZHVs
ZSBmc2NhbmYgc2hhbGwgYmUgY29uc2lkZXJlZCBwcmVzZW50LiAqLwojZGVmaW5lIEdOVUxJ
Ql9GU0NBTkYgMQoKLyogRGVmaW5lIHRvIGEgQyBwcmVwcm9jZXNzb3IgZXhwcmVzc2lvbiB0
aGF0IGV2YWx1YXRlcyB0byAxIG9yIDAsIGRlcGVuZGluZwogICB3aGV0aGVyIHRoZSBnbnVs
aWIgbW9kdWxlIG1rb3N0ZW1wIHNoYWxsIGJlIGNvbnNpZGVyZWQgcHJlc2VudC4gKi8KI2Rl
ZmluZSBHTlVMSUJfTUtPU1RFTVAgMQoKLyogZW5hYmxlIHNvbWUgZ251bGliIHBvcnRhYmls
aXR5IGNoZWNrcyAqLwojZGVmaW5lIEdOVUxJQl9QT1JUQ0hFQ0sgMQoKLyogRW5hYmxlIGNv
bXBpbGUtdGltZSBhbmQgcnVuLXRpbWUgYm91bmRzLWNoZWNraW5nLCBhbmQgc29tZSB3YXJu
aW5ncywKICAgICAgd2l0aG91dCB1cHNldHRpbmcgZ2xpYmMgMi4xNSsuICovCiAgICNpZiAo
ZGVmaW5lZCBHTlVMSUJfUE9SVENIRUNLICYmICFkZWZpbmVkIF9GT1JUSUZZX1NPVVJDRSBc
CiAgICAgICAgJiYgZGVmaW5lZCBfX09QVElNSVpFX18gJiYgX19PUFRJTUlaRV9fKQogICAj
IGRlZmluZSBfRk9SVElGWV9TT1VSQ0UgMgogICAjZW5kaWYKICAKCi8qIERlZmluZSB0byAx
IGlmIHByaW50ZiBhbmQgZnJpZW5kcyBzaG91bGQgYmUgbGFiZWxlZCB3aXRoIGF0dHJpYnV0
ZQogICAiX19nbnVfcHJpbnRmX18iIGluc3RlYWQgb2YgIl9fcHJpbnRmX18iICovCi8qICN1
bmRlZiBHTlVMSUJfUFJJTlRGX0FUVFJJQlVURV9GTEFWT1JfR05VICovCgovKiBEZWZpbmUg
dG8gYSBDIHByZXByb2Nlc3NvciBleHByZXNzaW9uIHRoYXQgZXZhbHVhdGVzIHRvIDEgb3Ig
MCwgZGVwZW5kaW5nCiAgIHdoZXRoZXIgdGhlIGdudWxpYiBtb2R1bGUgc2NhbmYgc2hhbGwg
YmUgY29uc2lkZXJlZCBwcmVzZW50LiAqLwojZGVmaW5lIEdOVUxJQl9TQ0FORiAxCgovKiBE
ZWZpbmUgaWYgdGhzIHN5c3RlbSBpcyBjb21wYXRpYmxlIHdpdGggR05VL0xpbnV4LiAqLwoj
ZGVmaW5lIEdOVV9MSU5VWCAvKiovCgovKiBEZWZpbmUgdG8gMSBpZiB5b3Ugd2FudCB0byB1
c2UgdGhlIEdOVSBtZW1vcnkgYWxsb2NhdG9yLiAqLwojZGVmaW5lIEdOVV9NQUxMT0MgMQoK
LyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBhY2NlcHQ0JyBmdW5jdGlvbi4gKi8K
I2RlZmluZSBIQVZFX0FDQ0VQVDQgMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhl
IGBhY2Nlc3MnIGZ1bmN0aW9uLiAqLwovKiAjdW5kZWYgSEFWRV9BQ0NFU1MgKi8KCi8qIERl
ZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgYWNsc29ydCcgZnVuY3Rpb24uICovCi8qICN1
bmRlZiBIQVZFX0FDTFNPUlQgKi8KCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8
YWNsdi5oPiBoZWFkZXIgZmlsZS4gKi8KLyogI3VuZGVmIEhBVkVfQUNMVl9IICovCgovKiBE
ZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGFjbHhfZ2V0JyBmdW5jdGlvbi4gKi8KLyog
I3VuZGVmIEhBVkVfQUNMWF9HRVQgKi8KCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRo
ZSBgYWNsX2NvcHlfZXh0X25hdGl2ZScgZnVuY3Rpb24uICovCi8qICN1bmRlZiBIQVZFX0FD
TF9DT1BZX0VYVF9OQVRJVkUgKi8KCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBg
YWNsX2NyZWF0ZV9lbnRyeV9ucCcgZnVuY3Rpb24uICovCi8qICN1bmRlZiBIQVZFX0FDTF9D
UkVBVEVfRU5UUllfTlAgKi8KCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgYWNs
X2RlbGV0ZV9kZWZfZmlsZScgZnVuY3Rpb24uICovCiNkZWZpbmUgSEFWRV9BQ0xfREVMRVRF
X0RFRl9GSUxFIDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgYWNsX2RlbGV0
ZV9mZF9ucCcgZnVuY3Rpb24uICovCi8qICN1bmRlZiBIQVZFX0FDTF9ERUxFVEVfRkRfTlAg
Ki8KCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgYWNsX2RlbGV0ZV9maWxlX25w
JyBmdW5jdGlvbi4gKi8KLyogI3VuZGVmIEhBVkVfQUNMX0RFTEVURV9GSUxFX05QICovCgov
KiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGFjbF9lbnRyaWVzJyBmdW5jdGlvbi4g
Ki8KI2RlZmluZSBIQVZFX0FDTF9FTlRSSUVTIDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBo
YXZlIHRoZSBgYWNsX2V4dGVuZGVkX2ZpbGUnIGZ1bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVf
QUNMX0VYVEVOREVEX0ZJTEUgMQoKLyogRGVmaW5lIHRvIDEgaWYgdGhlIGNvbnN0YW50IEFD
TF9GSVJTVF9FTlRSWSBleGlzdHMuICovCiNkZWZpbmUgSEFWRV9BQ0xfRklSU1RfRU5UUlkg
MQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBhY2xfZnJlZScgZnVuY3Rpb24u
ICovCiNkZWZpbmUgSEFWRV9BQ0xfRlJFRSAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2
ZSB0aGUgYGFjbF9mcmVlX3RleHQnIGZ1bmN0aW9uLiAqLwovKiAjdW5kZWYgSEFWRV9BQ0xf
RlJFRV9URVhUICovCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGFjbF9mcm9t
X21vZGUnIGZ1bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVfQUNMX0ZST01fTU9ERSAxCgovKiBE
ZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGFjbF9mcm9tX3RleHQnIGZ1bmN0aW9uLiAq
LwojZGVmaW5lIEhBVkVfQUNMX0ZST01fVEVYVCAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3Ug
aGF2ZSB0aGUgYGFjbF9nZXRfZmQnIGZ1bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVfQUNMX0dF
VF9GRCAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGFjbF9nZXRfZmlsZScg
ZnVuY3Rpb24uICovCiNkZWZpbmUgSEFWRV9BQ0xfR0VUX0ZJTEUgMQoKLyogRGVmaW5lIHRv
IDEgaWYgeW91IGhhdmUgdGhlIDxhY2wvbGliYWNsLmg+IGhlYWRlciBmaWxlLiAqLwojZGVm
aW5lIEhBVkVfQUNMX0xJQkFDTF9IIDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRo
ZSBgYWNsX3NldF9mZCcgZnVuY3Rpb24uICovCiNkZWZpbmUgSEFWRV9BQ0xfU0VUX0ZEIDEK
Ci8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgYWNsX3NldF9maWxlJyBmdW5jdGlv
bi4gKi8KI2RlZmluZSBIQVZFX0FDTF9TRVRfRklMRSAxCgovKiBEZWZpbmUgdG8gMSBpZiB5
b3UgaGF2ZSB0aGUgYGFjbF90b19zaG9ydF90ZXh0JyBmdW5jdGlvbi4gKi8KLyogI3VuZGVm
IEhBVkVfQUNMX1RPX1NIT1JUX1RFWFQgKi8KCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZl
IHRoZSBgYWNsX3RyaXZpYWwnIGZ1bmN0aW9uLiAqLwovKiAjdW5kZWYgSEFWRV9BQ0xfVFJJ
VklBTCAqLwoKLyogRGVmaW5lIHRvIDEgaWYgdGhlIEFDTCB0eXBlIEFDTF9UWVBFX0VYVEVO
REVEIGV4aXN0cy4gKi8KLyogI3VuZGVmIEhBVkVfQUNMX1RZUEVfRVhURU5ERUQgKi8KCi8q
IERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgYWxpZ25lZF9hbGxvYycgZnVuY3Rpb24u
ICovCiNkZWZpbmUgSEFWRV9BTElHTkVEX0FMTE9DIDEKCi8qIERlZmluZSB0byAxIGlmIHlv
dSBoYXZlICdhbGxvY2EnIGFmdGVyIGluY2x1ZGluZyA8YWxsb2NhLmg+LCBhIGhlYWRlciB0
aGF0CiAgIG1heSBiZSBzdXBwbGllZCBieSB0aGlzIGRpc3RyaWJ1dGlvbi4gKi8KI2RlZmlu
ZSBIQVZFX0FMTE9DQSAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSA8YWxsb2NhLmg+
IGFuZCBpdCBzaG91bGQgYmUgdXNlZCAobm90IG9uIFVsdHJpeCkuCiAgICovCiNkZWZpbmUg
SEFWRV9BTExPQ0FfSCAxCgovKiBEZWZpbmUgdG8gMSBpZiBBTFNBIGlzIGF2YWlsYWJsZS4g
Ki8KI2RlZmluZSBIQVZFX0FMU0EgMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhl
IDxieXRlc3dhcC5oPiBoZWFkZXIgZmlsZS4gKi8KI2RlZmluZSBIQVZFX0JZVEVTV0FQX0gg
MQoKLyogRGVmaW5lIHRvIDEgaWYgc3RydG9sZCBjb25mb3JtcyB0byBDOTkuICovCiNkZWZp
bmUgSEFWRV9DOTlfU1RSVE9MRCAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUg
YGNmbWFrZXJhdycgZnVuY3Rpb24uICovCiNkZWZpbmUgSEFWRV9DRk1BS0VSQVcgMQoKLyog
RGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBjZnNldHNwZWVkJyBmdW5jdGlvbi4gKi8K
I2RlZmluZSBIQVZFX0NGU0VUU1BFRUQgMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUg
dGhlIGBjbG9ja19nZXR0aW1lJyBmdW5jdGlvbi4gKi8KI2RlZmluZSBIQVZFX0NMT0NLX0dF
VFRJTUUgMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBjbG9ja19zZXR0aW1l
JyBmdW5jdGlvbi4gKi8KI2RlZmluZSBIQVZFX0NMT0NLX1NFVFRJTUUgMQoKLyogRGVmaW5l
IHRvIDEgaWYgeW91IGhhdmUgdGhlIDxjb2ZmLmg+IGhlYWRlciBmaWxlLiAqLwovKiAjdW5k
ZWYgSEFWRV9DT0ZGX0ggKi8KCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8Y29t
X2Vyci5oPiBoZWFkZXIgZmlsZS4gKi8KLyogI3VuZGVmIEhBVkVfQ09NX0VSUl9IICovCgov
KiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGNvcHlzaWduJyBmdW5jdGlvbi4gKi8K
I2RlZmluZSBIQVZFX0NPUFlTSUdOIDEKCi8qIERlZmluZSB0byAxIGlmIEMgc3VwcG9ydHMg
dmFyaWFibGUtbGVuZ3RoIGFycmF5cy4gKi8KI2RlZmluZSBIQVZFX0NfVkFSQVJSQVlTIDEK
Ci8qIERlZmluZSB0byAxIGlmIGRhdGFfc3RhcnQgaXMgdGhlIGFkZHJlc3Mgb2YgdGhlIHN0
YXJ0IG9mIHRoZSBtYWluIGRhdGEKICAgc2VnbWVudC4gKi8KI2RlZmluZSBIQVZFX0RBVEFf
U1RBUlQgMQoKLyogRGVmaW5lIHRvIDEgaWYgdXNpbmcgRC1CdXMuICovCiNkZWZpbmUgSEFW
RV9EQlVTIDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZGJ1c190eXBlX2lz
X3ZhbGlkJyBmdW5jdGlvbi4gKi8KI2RlZmluZSBIQVZFX0RCVVNfVFlQRV9JU19WQUxJRCAx
CgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGRidXNfdmFsaWRhdGVfYnVzX25h
bWUnIGZ1bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVfREJVU19WQUxJREFURV9CVVNfTkFNRSAx
CgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGRidXNfdmFsaWRhdGVfaW50ZXJm
YWNlJyBmdW5jdGlvbi4gKi8KI2RlZmluZSBIQVZFX0RCVVNfVkFMSURBVEVfSU5URVJGQUNF
IDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZGJ1c192YWxpZGF0ZV9tZW1i
ZXInIGZ1bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVfREJVU19WQUxJREFURV9NRU1CRVIgMQoK
LyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBkYnVzX3ZhbGlkYXRlX3BhdGgnIGZ1
bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVfREJVU19WQUxJREFURV9QQVRIIDEKCi8qIERlZmlu
ZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZGJ1c193YXRjaF9nZXRfdW5peF9mZCcgZnVuY3Rp
b24uICovCiNkZWZpbmUgSEFWRV9EQlVTX1dBVENIX0dFVF9VTklYX0ZEIDEKCi8qIERlZmlu
ZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBkZWNsYXJhdGlvbiBvZiBgYWxhcm0nLCBhbmQgdG8g
MCBpZiB5b3UgZG9uJ3QuCiAgICovCiNkZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEKCi8qIERl
ZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBkZWNsYXJhdGlvbiBvZiBgZGlyZmQnLCBhbmQg
dG8gMCBpZiB5b3UgZG9uJ3QuCiAgICovCi8qICN1bmRlZiBIQVZFX0RFQ0xfRElSRkQgKi8K
Ci8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBkZWNsYXJhdGlvbiBvZiBgZmRhdGFz
eW5jJywgYW5kIHRvIDAgaWYgeW91CiAgIGRvbid0LiAqLwojZGVmaW5lIEhBVkVfREVDTF9G
REFUQVNZTkMgMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGRlY2xhcmF0aW9u
IG9mIGBmZG9wZW5kaXInLCBhbmQgdG8gMCBpZiB5b3UKICAgZG9uJ3QuICovCiNkZWZpbmUg
SEFWRV9ERUNMX0ZET1BFTkRJUiAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUg
ZGVjbGFyYXRpb24gb2YgYGdldGR0YWJsZXNpemUnLCBhbmQgdG8gMCBpZiB5b3UKICAgZG9u
J3QuICovCiNkZWZpbmUgSEFWRV9ERUNMX0dFVERUQUJMRVNJWkUgMQoKLyogRGVmaW5lIHRv
IDEgaWYgeW91IGhhdmUgdGhlIGRlY2xhcmF0aW9uIG9mIGBnZXRlbnYnLCBhbmQgdG8gMCBp
ZiB5b3UgZG9uJ3QuCiAgICovCiNkZWZpbmUgSEFWRV9ERUNMX0dFVEVOViAxCgovKiBEZWZp
bmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgZGVjbGFyYXRpb24gb2YgYGxvY2FsdGltZV9yJywg
YW5kIHRvIDAgaWYgeW91CiAgIGRvbid0LiAqLwojZGVmaW5lIEhBVkVfREVDTF9MT0NBTFRJ
TUVfUiAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgZGVjbGFyYXRpb24gb2Yg
YG1lbXJjaHInLCBhbmQgdG8gMCBpZiB5b3UKICAgZG9uJ3QuICovCiNkZWZpbmUgSEFWRV9E
RUNMX01FTVJDSFIgMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGRlY2xhcmF0
aW9uIG9mIGBzdHJtb2RlJywgYW5kIHRvIDAgaWYgeW91CiAgIGRvbid0LiAqLwojZGVmaW5l
IEhBVkVfREVDTF9TVFJNT0RFIDAKCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBk
ZWNsYXJhdGlvbiBvZiBgc3RydG9pbWF4JywgYW5kIHRvIDAgaWYgeW91CiAgIGRvbid0LiAq
LwojZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91
IGhhdmUgdGhlIGRlY2xhcmF0aW9uIG9mIGBzdHJ0b2xsJywgYW5kIHRvIDAgaWYgeW91CiAg
IGRvbid0LiAqLwovKiAjdW5kZWYgSEFWRV9ERUNMX1NUUlRPTEwgKi8KCi8qIERlZmluZSB0
byAxIGlmIHlvdSBoYXZlIHRoZSBkZWNsYXJhdGlvbiBvZiBgc3RydG91bGwnLCBhbmQgdG8g
MCBpZiB5b3UKICAgZG9uJ3QuICovCi8qICN1bmRlZiBIQVZFX0RFQ0xfU1RSVE9VTEwgKi8K
Ci8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBkZWNsYXJhdGlvbiBvZiBgc3RydG91
bWF4JywgYW5kIHRvIDAgaWYgeW91CiAgIGRvbid0LiAqLwojZGVmaW5lIEhBVkVfREVDTF9T
VFJUT1VNQVggMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGRlY2xhcmF0aW9u
IG9mIGBzeXNfc2lnbGlzdCcsIGFuZCB0byAwIGlmIHlvdQogICBkb24ndC4gKi8KI2RlZmlu
ZSBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QgMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUg
dGhlIGRlY2xhcmF0aW9uIG9mIGB0em5hbWUnLCBhbmQgdG8gMCBpZiB5b3UgZG9uJ3QuCiAg
ICovCi8qICN1bmRlZiBIQVZFX0RFQ0xfVFpOQU1FICovCgovKiBEZWZpbmUgdG8gMSBpZiB5
b3UgaGF2ZSB0aGUgZGVjbGFyYXRpb24gb2YgYF9wdXRlbnYnLCBhbmQgdG8gMCBpZiB5b3UK
ICAgZG9uJ3QuICovCi8qICN1bmRlZiBIQVZFX0RFQ0xfX1BVVEVOViAqLwoKLyogRGVmaW5l
IHRvIDEgaWYgeW91IGhhdmUgdGhlIGRlY2xhcmF0aW9uIG9mIGBfX2ZwZW5kaW5nJywgYW5k
IHRvIDAgaWYgeW91CiAgIGRvbid0LiAqLwojZGVmaW5lIEhBVkVfREVDTF9fX0ZQRU5ESU5H
IDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBkZWNsYXJhdGlvbiBvZiBgX19z
eXNfc2lnbGlzdCcsIGFuZCB0byAwIGlmIHlvdQogICBkb24ndC4gKi8KLyogI3VuZGVmIEhB
VkVfREVDTF9fX1NZU19TSUdMSVNUICovCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0
aGUgPGRpcmVudC5oPiBoZWFkZXIgZmlsZS4gKi8KI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEK
Ci8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZGlyZmQnIGZ1bmN0aW9uLiAqLwov
KiAjdW5kZWYgSEFWRV9ESVJGRCAqLwoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhl
IGBkbGFkZHInIGZ1bmN0aW9uLiAqLwovKiAjdW5kZWYgSEFWRV9ETEFERFIgKi8KCi8qIERl
ZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZGxmdW5jJyBmdW5jdGlvbi4gKi8KLyogI3Vu
ZGVmIEhBVkVfRExGVU5DICovCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgJ2R1
cDInIGZ1bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVfRFVQMiAxCgovKiBEZWZpbmUgdG8gMSBp
ZiB5b3UgaGF2ZSB0aGUgYGVhY2Nlc3MnIGZ1bmN0aW9uLiAqLwovKiAjdW5kZWYgSEFWRV9F
QUNDRVNTICovCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGVuZGdyZW50JyBm
dW5jdGlvbi4gKi8KI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKCi8qIERlZmluZSB0byAxIGlm
IHlvdSBoYXZlIHRoZSBgZW5kcHdlbnQnIGZ1bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVfRU5E
UFdFTlQgMQoKLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSBkZWNsYXJhdGlvbiBvZiBlbnZp
cm9uLiAqLwojZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKCi8qIERlZmluZSB0byAxIGlm
IHlvdSBoYXZlIHRoZSBgZXVpZGFjY2VzcycgZnVuY3Rpb24uICovCi8qICN1bmRlZiBIQVZF
X0VVSURBQ0NFU1MgKi8KCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8ZXhlY2lu
Zm8uaD4gaGVhZGVyIGZpbGUuICovCiNkZWZpbmUgSEFWRV9FWEVDSU5GT19IIDEKCi8qIERl
ZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZmFjY2Vzc2F0JyBmdW5jdGlvbi4gKi8KI2Rl
ZmluZSBIQVZFX0ZBQ0NFU1NBVCAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUg
YGZhY2wnIGZ1bmN0aW9uLiAqLwovKiAjdW5kZWYgSEFWRV9GQUNMICovCgovKiBEZWZpbmUg
dG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGZjaGRpcicgZnVuY3Rpb24uICovCiNkZWZpbmUgSEFW
RV9GQ0hESVIgMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBmY2htb2QnIGZ1
bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVfRkNITU9EIDEKCi8qIERlZmluZSB0byAxIGlmIHlv
dSBoYXZlIHRoZSBgZmNudGwnIGZ1bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVfRkNOVEwgMQoK
LyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBmZGF0YXN5bmMnIGZ1bmN0aW9uLiAq
LwovKiAjdW5kZWYgSEFWRV9GREFUQVNZTkMgKi8KCi8qIERlZmluZSB0byAxIGlmIHlvdSBo
YXZlIHRoZSBgZmRvcGVuZGlyJyBmdW5jdGlvbi4gKi8KI2RlZmluZSBIQVZFX0ZET1BFTkRJ
UiAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGZvcmsnIGZ1bmN0aW9uLiAq
LwojZGVmaW5lIEhBVkVfRk9SSyAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUg
YGZyZWVpZmFkZHJzJyBmdW5jdGlvbi4gKi8KI2RlZmluZSBIQVZFX0ZSRUVJRkFERFJTIDEK
Ci8qIERlZmluZSB0byAxIGlmIHVzaW5nIHRoZSBmcmVldHlwZSBhbmQgZm9udGNvbmZpZyBs
aWJyYXJpZXMuICovCiNkZWZpbmUgSEFWRV9GUkVFVFlQRSAxCgovKiBEZWZpbmUgdG8gMSBp
ZiBmc2Vla28gKGFuZCBwcmVzdW1hYmx5IGZ0ZWxsbykgZXhpc3RzIGFuZCBpcyBkZWNsYXJl
ZC4gKi8KI2RlZmluZSBIQVZFX0ZTRUVLTyAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2
ZSB0aGUgYGZzdGF0YXQnIGZ1bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVfRlNUQVRBVCAxCgov
KiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGZzeW5jJyBmdW5jdGlvbi4gKi8KI2Rl
ZmluZSBIQVZFX0ZTWU5DIDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZnV0
aW1lbnMnIGZ1bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVfRlVUSU1FTlMgMQoKLyogRGVmaW5l
IHRvIDEgaWYgeW91IGhhdmUgdGhlIGBmdXRpbWVzJyBmdW5jdGlvbi4gKi8KI2RlZmluZSBI
QVZFX0ZVVElNRVMgMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBmdXRpbWVz
YXQnIGZ1bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVfRlVUSU1FU0FUIDEKCi8qIERlZmluZSB0
byAxIGlmIHlvdSBoYXZlIHRoZSBgZ2FpX3N0cmVycm9yJyBmdW5jdGlvbi4gKi8KI2RlZmlu
ZSBIQVZFX0dBSV9TVFJFUlJPUiAxCgovKiBEZWZpbmUgdG8gMSBpZiB1c2luZyBHQ29uZi4g
Ki8KI2RlZmluZSBIQVZFX0dDT05GIDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRo
ZSBgZ2V0YWNsJyBmdW5jdGlvbi4gKi8KLyogI3VuZGVmIEhBVkVfR0VUQUNMICovCgovKiBE
ZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGdldGFkZHJpbmZvJyBmdW5jdGlvbi4gKi8K
I2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZl
IHRoZSBgZ2V0ZHRhYmxlc2l6ZScgZnVuY3Rpb24uICovCiNkZWZpbmUgSEFWRV9HRVREVEFC
TEVTSVpFIDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZ2V0Z3JlbnQnIGZ1
bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVfR0VUR1JFTlQgMQoKLyogRGVmaW5lIHRvIDEgaWYg
eW91ciBzeXN0ZW0gaGFzIGEgd29ya2luZyBgZ2V0Z3JvdXBzJyBmdW5jdGlvbi4gKi8KLyog
I3VuZGVmIEhBVkVfR0VUR1JPVVBTICovCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0
aGUgYGdldGhvc3RuYW1lJyBmdW5jdGlvbi4gKi8KI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1F
IDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZ2V0aWZhZGRycycgZnVuY3Rp
b24uICovCiNkZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEKCi8qIERlZmluZSB0byAxIGlmIHlv
dSBoYXZlIHRoZSA8Z2V0b3B0Lmg+IGhlYWRlciBmaWxlLiAqLwojZGVmaW5lIEhBVkVfR0VU
T1BUX0ggMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBnZXRvcHRfbG9uZ19v
bmx5JyBmdW5jdGlvbi4gKi8KI2RlZmluZSBIQVZFX0dFVE9QVF9MT05HX09OTFkgMQoKLyog
RGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBnZXRwYWdlc2l6ZScgZnVuY3Rpb24uICov
CiNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2
ZSB0aGUgYGdldHBlZXJuYW1lJyBmdW5jdGlvbi4gKi8KI2RlZmluZSBIQVZFX0dFVFBFRVJO
QU1FIDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZ2V0cHQnIGZ1bmN0aW9u
LiAqLwojZGVmaW5lIEhBVkVfR0VUUFQgMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUg
dGhlIGBnZXRwd2VudCcgZnVuY3Rpb24uICovCiNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCgov
KiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGdldHJsaW1pdCcgZnVuY3Rpb24uICov
CiNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUg
dGhlIGBnZXRydXNhZ2UnIGZ1bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVfR0VUUlVTQUdFIDEK
Ci8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZ2V0c29ja25hbWUnIGZ1bmN0aW9u
LiAqLwojZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91
IGhhdmUgdGhlIGBnZXR0aW1lb2ZkYXknIGZ1bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVfR0VU
VElNRU9GREFZIDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZ2V0X2N1cnJl
bnRfZGlyX25hbWUnIGZ1bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVfR0VUX0NVUlJFTlRfRElS
X05BTUUgMQoKLyogRGVmaW5lIHRvIDEgaWYgdXNpbmcgR0ZpbGUuICovCi8qICN1bmRlZiBI
QVZFX0dGSUxFTk9USUZZICovCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSBhIGdpZiAo
b3IgdW5naWYpIGxpYnJhcnkuICovCiNkZWZpbmUgSEFWRV9HSUYgMQoKLyogRGVmaW5lIHRv
IDEgaWYgR0xpYiBpcyBsaW5rZWQgaW4uICovCiNkZWZpbmUgSEFWRV9HTElCIDEKCi8qIERl
ZmluZSBpZiB1c2luZyBHbnVUTFMuICovCiNkZWZpbmUgSEFWRV9HTlVUTFMgMQoKLyogRGVm
aW5lIGlmIHVzaW5nIEdudVRMUyB2My4gKi8KI2RlZmluZSBIQVZFX0dOVVRMUzMgMQoKLyog
RGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGdwbSBsaWJyYXJ5ICgtbGdwbSkuICovCiNk
ZWZpbmUgSEFWRV9HUE0gMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBncmFu
dHB0JyBmdW5jdGlvbi4gKi8KI2RlZmluZSBIQVZFX0dSQU5UUFQgMQoKLyogRGVmaW5lIHRv
IDEgaWYgdXNpbmcgR1NldHRpbmdzLiAqLwojZGVmaW5lIEhBVkVfR1NFVFRJTkdTIDEKCi8q
IERlZmluZSB0byAxIGlmIHVzaW5nIEdUSyAzIG9yIGxhdGVyLiAqLwojZGVmaW5lIEhBVkVf
R1RLMyAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGd0a19hZGp1c3RtZW50
X2dldF9wYWdlX3NpemUnIGZ1bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVfR1RLX0FESlVTVE1F
TlRfR0VUX1BBR0VfU0laRSAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGd0
a19kaWFsb2dfZ2V0X2FjdGlvbl9hcmVhJyBmdW5jdGlvbi4gKi8KI2RlZmluZSBIQVZFX0dU
S19ESUFMT0dfR0VUX0FDVElPTl9BUkVBIDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZl
IHRoZSBgZ3RrX2ZpbGVfc2VsZWN0aW9uX25ldycgZnVuY3Rpb24uICovCi8qICN1bmRlZiBI
QVZFX0dUS19GSUxFX1NFTEVDVElPTl9ORVcgKi8KCi8qIERlZmluZSB0byAxIGlmIHlvdSBo
YXZlIHRoZSBgZ3RrX2hhbmRsZV9ib3hfbmV3JyBmdW5jdGlvbi4gKi8KI2RlZmluZSBIQVZF
X0dUS19IQU5ETEVfQk9YX05FVyAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUg
YGd0a19vcmllbnRhYmxlX3NldF9vcmllbnRhdGlvbicgZnVuY3Rpb24uICovCiNkZWZpbmUg
SEFWRV9HVEtfT1JJRU5UQUJMRV9TRVRfT1JJRU5UQVRJT04gMQoKLyogRGVmaW5lIHRvIDEg
aWYgeW91IGhhdmUgdGhlIGBndGtfdGVhcm9mZl9tZW51X2l0ZW1fbmV3JyBmdW5jdGlvbi4g
Ki8KI2RlZmluZSBIQVZFX0dUS19URUFST0ZGX01FTlVfSVRFTV9ORVcgMQoKLyogRGVmaW5l
IHRvIDEgaWYgeW91IGhhdmUgdGhlIGBndGtfd2lkZ2V0X2dldF9tYXBwZWQnIGZ1bmN0aW9u
LiAqLwojZGVmaW5lIEhBVkVfR1RLX1dJREdFVF9HRVRfTUFQUEVEIDEKCi8qIERlZmluZSB0
byAxIGlmIHlvdSBoYXZlIHRoZSBgZ3RrX3dpZGdldF9nZXRfc2Vuc2l0aXZlJyBmdW5jdGlv
bi4gKi8KI2RlZmluZSBIQVZFX0dUS19XSURHRVRfR0VUX1NFTlNJVElWRSAxCgovKiBEZWZp
bmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGd0a193aWRnZXRfZ2V0X3dpbmRvdycgZnVuY3Rp
b24uICovCiNkZWZpbmUgSEFWRV9HVEtfV0lER0VUX0dFVF9XSU5ET1cgMQoKLyogRGVmaW5l
IHRvIDEgaWYgeW91IGhhdmUgdGhlIGBndGtfd2lkZ2V0X3NldF9oYXNfd2luZG93JyBmdW5j
dGlvbi4gKi8KI2RlZmluZSBIQVZFX0dUS19XSURHRVRfU0VUX0hBU19XSU5ET1cgMQoKLyog
RGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBndGtfd2luZG93X3NldF9oYXNfcmVzaXpl
X2dyaXAnIGZ1bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVfR1RLX1dJTkRPV19TRVRfSEFTX1JF
U0laRV9HUklQIDEKCi8qIERlZmluZSB0byAxIGlmIG5ldGRiLmggZGVjbGFyZXMgaF9lcnJu
by4gKi8KI2RlZmluZSBIQVZFX0hfRVJSTk8gMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhh
dmUgdGhlIDxpZmFkZHJzLmg+IGhlYWRlciBmaWxlLiAqLwojZGVmaW5lIEhBVkVfSUZBRERS
U19IIDEKCi8qIERlZmluZSB0byAxIGlmIHVzaW5nIGltYWdlbWFnaWNrLiAqLwojZGVmaW5l
IEhBVkVfSU1BR0VNQUdJQ0sgMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgaW5ldCBz
b2NrZXRzLiAqLwojZGVmaW5lIEhBVkVfSU5FVF9TT0NLRVRTIDEKCi8qIERlZmluZSB0byAx
IHRvIHVzZSBpbm90aWZ5LiAqLwojZGVmaW5lIEhBVkVfSU5PVElGWSAxCgovKiBEZWZpbmUg
dG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGludHR5cGVzLmg+IGhlYWRlciBmaWxlLiAqLwojZGVm
aW5lIEhBVkVfSU5UVFlQRVNfSCAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUg
YGlzc2V0dWdpZCcgZnVuY3Rpb24uICovCi8qICN1bmRlZiBIQVZFX0lTU0VUVUdJRCAqLwoK
LyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGpwZWcgbGlicmFyeSAodHlwaWNhbGx5
IC1sanBlZykuICovCiNkZWZpbmUgSEFWRV9KUEVHIDEKCi8qIERlZmluZSB0byAxIGlmIHlv
dSBoYXZlIHRoZSA8a2VyYmVyb3NJVi9rcmIuaD4gaGVhZGVyIGZpbGUuICovCi8qICN1bmRl
ZiBIQVZFX0tFUkJFUk9TSVZfS1JCX0ggKi8KCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZl
IHRoZSA8a2VyYmVyb3Mva3JiLmg+IGhlYWRlciBmaWxlLiAqLwovKiAjdW5kZWYgSEFWRV9L
RVJCRVJPU19LUkJfSCAqLwoKLyogRGVmaW5lIHRvIDEgdG8gdXNlIGtxdWV1ZS4gKi8KLyog
I3VuZGVmIEhBVkVfS1FVRVVFICovCgovKiBEZWZpbmUgdG8gMSBpZiBgZV90ZXh0JyBpcyBh
IG1lbWJlciBvZiBga3JiNV9lcnJvcicuICovCi8qICN1bmRlZiBIQVZFX0tSQjVfRVJST1Jf
RV9URVhUICovCgovKiBEZWZpbmUgdG8gMSBpZiBgdGV4dCcgaXMgYSBtZW1iZXIgb2YgYGty
YjVfZXJyb3InLiAqLwovKiAjdW5kZWYgSEFWRV9LUkI1X0VSUk9SX1RFWFQgKi8KCi8qIERl
ZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8a3JiNS5oPiBoZWFkZXIgZmlsZS4gKi8KLyog
I3VuZGVmIEhBVkVfS1JCNV9IICovCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUg
PGtyYi5oPiBoZWFkZXIgZmlsZS4gKi8KLyogI3VuZGVmIEhBVkVfS1JCX0ggKi8KCi8qIERl
ZmluZSBpZiB5b3UgaGF2ZSA8bGFuZ2luZm8uaD4gYW5kIG5sX2xhbmdpbmZvKENPREVTRVQp
LiAqLwojZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCgovKiBEZWZpbmUgdG8gMSBp
ZiB5b3UgaGF2ZSB0aGUgYGRnYycgbGlicmFyeSAoLWxkZ2MpLiAqLwovKiAjdW5kZWYgSEFW
RV9MSUJER0MgKi8KCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8bGliZ2VuLmg+
IGhlYWRlciBmaWxlLiAqLwovKiAjdW5kZWYgSEFWRV9MSUJHRU5fSCAqLwoKLyogRGVmaW5l
IHRvIDEgaWYgeW91IGhhdmUgdGhlIGBrc3RhdCcgbGlicmFyeSAoLWxrc3RhdCkuICovCi8q
ICN1bmRlZiBIQVZFX0xJQktTVEFUICovCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0
aGUgJ2xvY2tmaWxlJyBsaWJyYXJ5ICgtbGxvY2tmaWxlKS4gKi8KI2RlZmluZSBIQVZFX0xJ
QkxPQ0tGSUxFIDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSAnbWFpbCcgbGli
cmFyeSAoLWxtYWlsKS4gKi8KLyogI3VuZGVmIEhBVkVfTElCTUFJTCAqLwoKLyogRGVmaW5l
IHRvIDEgaWYgdXNpbmcgbGlib3RmLiAqLwojZGVmaW5lIEhBVkVfTElCT1RGIDEKCi8qIERl
ZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgcGVyZnN0YXQnIGxpYnJhcnkgKC1scGVyZnN0
YXQpLiAqLwovKiAjdW5kZWYgSEFWRV9MSUJQRVJGU1RBVCAqLwoKLyogRGVmaW5lIHRvIDEg
aWYgdXNpbmcgU0VMaW51eC4gKi8KI2RlZmluZSBIQVZFX0xJQlNFTElOVVggMQoKLyogRGVm
aW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGxpYnhtbCBsaWJyYXJ5ICgtbHhtbDIpLiAqLwoj
ZGVmaW5lIEhBVkVfTElCWE1MMiAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSBMaW51
eCBzeXNpbmZvIGZ1bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVfTElOVVhfU1lTSU5GTyAxCgov
KiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGxvY2FsdGltZV9yJyBmdW5jdGlvbi4g
Ki8KI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9SIDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBo
YXZlIHRoZSBgbG9nMicgZnVuY3Rpb24uICovCiNkZWZpbmUgSEFWRV9MT0cyIDEKCi8qIERl
ZmluZSB0byAxIGlmIHlvdSBzdXBwb3J0IGZpbGUgbmFtZXMgbG9uZ2VyIHRoYW4gMTQgY2hh
cmFjdGVycy4gKi8KI2RlZmluZSBIQVZFX0xPTkdfRklMRV9OQU1FUyAxCgovKiBEZWZpbmUg
dG8gMSBpZiB0aGUgc3lzdGVtIGhhcyB0aGUgdHlwZSAnbG9uZyBsb25nIGludCcuICovCiNk
ZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZl
IHRoZSBgbHJhbmQ0OCcgZnVuY3Rpb24uICovCiNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKCi8q
IERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgbHN0YXQnIGZ1bmN0aW9uLiAqLwojZGVm
aW5lIEhBVkVfTFNUQVQgMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBsdXRp
bWVzJyBmdW5jdGlvbi4gKi8KI2RlZmluZSBIQVZFX0xVVElNRVMgMQoKLyogRGVmaW5lIHRv
IDEgaWYgdXNpbmcgbGlibTE3bi1mbHQuICovCiNkZWZpbmUgSEFWRV9NMTdOX0ZMVCAxCgov
KiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPG1hY2hpbmUvc291bmRjYXJkLmg+IGhl
YWRlciBmaWxlLiAqLwovKiAjdW5kZWYgSEFWRV9NQUNISU5FX1NPVU5EQ0FSRF9IICovCgov
KiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPG1hY2gvbWFjaC5oPiBoZWFkZXIgZmls
ZS4gKi8KLyogI3VuZGVmIEhBVkVfTUFDSF9NQUNIX0ggKi8KCi8qIERlZmluZSB0byAxIGlm
IHlvdSBoYXZlIHRoZSBgTWFnaWNrRXhwb3J0SW1hZ2VQaXhlbHMnIGZ1bmN0aW9uLiAqLwoj
ZGVmaW5lIEhBVkVfTUFHSUNLRVhQT1JUSU1BR0VQSVhFTFMgMQoKLyogRGVmaW5lIHRvIDEg
aWYgeW91IGhhdmUgdGhlIGBNYWdpY2tNZXJnZUltYWdlTGF5ZXJzJyBmdW5jdGlvbi4gKi8K
I2RlZmluZSBIQVZFX01BR0lDS01FUkdFSU1BR0VMQVlFUlMgMQoKLyogRGVmaW5lIHRvIDEg
aWYgeW91IGhhdmUgdGhlIDxtYWlsbG9jay5oPiBoZWFkZXIgZmlsZS4gKi8KI2RlZmluZSBI
QVZFX01BSUxMT0NLX0ggMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxtYWxs
b2MvbWFsbG9jLmg+IGhlYWRlciBmaWxlLiAqLwovKiAjdW5kZWYgSEFWRV9NQUxMT0NfTUFM
TE9DX0ggKi8KCi8qIERlZmluZSB0byAxIGlmIDx3Y2hhci5oPiBkZWNsYXJlcyBtYnN0YXRl
X3QuICovCiNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91
IGhhdmUgdGhlIDxtZW1vcnkuaD4gaGVhZGVyIGZpbGUuICovCiNkZWZpbmUgSEFWRV9NRU1P
UllfSCAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYG1lbXJjaHInIGZ1bmN0
aW9uLiAqLwojZGVmaW5lIEhBVkVfTUVNUkNIUiAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3Ug
aGF2ZSB0aGUgYG1rb3N0ZW1wJyBmdW5jdGlvbi4gKi8KI2RlZmluZSBIQVZFX01LT1NURU1Q
IDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIGEgd29ya2luZyBgbW1hcCcgc3lzdGVt
IGNhbGwuICovCiNkZWZpbmUgSEFWRV9NTUFQIDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBo
YXZlIHRoZSA8bW1zeXN0ZW0uaD4gaGVhZGVyIGZpbGUuICovCi8qICN1bmRlZiBIQVZFX01N
U1lTVEVNX0ggKi8KCi8qIERlZmluZSB0byAxIGlmIGR5bmFtaWMgbW9kdWxlcyBhcmUgZW5h
YmxlZCAqLwovKiAjdW5kZWYgSEFWRV9NT0RVTEVTICovCgovKiBEZWZpbmUgdG8gMSBpZiB5
b3UgaGF2ZSB0aGUgYG5hbm90aW1lJyBmdW5jdGlvbi4gKi8KLyogI3VuZGVmIEhBVkVfTkFO
T1RJTUUgKi8KCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8bmV0L2lmX2RsLmg+
IGhlYWRlciBmaWxlLiAqLwovKiAjdW5kZWYgSEFWRV9ORVRfSUZfRExfSCAqLwoKLyogRGVm
aW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxuZXQvaWYuaD4gaGVhZGVyIGZpbGUuICovCiNk
ZWZpbmUgSEFWRV9ORVRfSUZfSCAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUg
YG5ld2xvY2FsZScgZnVuY3Rpb24uICovCiNkZWZpbmUgSEFWRV9ORVdMT0NBTEUgMQoKLyog
RGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxubGlzdC5oPiBoZWFkZXIgZmlsZS4gKi8K
LyogI3VuZGVmIEhBVkVfTkxJU1RfSCAqLwoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGFyZSB1
c2luZyB0aGUgTmVYVHN0ZXAgQVBJLCBlaXRoZXIgR05Vc3RlcCBvciBDb2NvYSBvbgogICBN
YWMgT1MgWC4gKi8KLyogI3VuZGVmIEhBVkVfTlMgKi8KCi8qIERlZmluZSB0byB1c2UgbmF0
aXZlIE1TIFdpbmRvd3MgR1VJLiAqLwovKiAjdW5kZWYgSEFWRV9OVEdVSSAqLwoKLyogRGVm
aW5lIHRvIDEgaWYgbGlib3RmIGhhcyBPVEZfZ2V0X3ZhcmlhdGlvbl9nbHlwaHMuICovCiNk
ZWZpbmUgSEFWRV9PVEZfR0VUX1ZBUklBVElPTl9HTFlQSFMgMQoKLyogRGVmaW5lIHRvIDEg
aWYgcGVyc29uYWxpdHkgTElOVVgzMiBjYW4gYmUgc2V0LiAqLwojZGVmaW5lIEhBVkVfUEVS
U09OQUxJVFlfTElOVVgzMiAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHBp
cGUyJyBmdW5jdGlvbi4gKi8KI2RlZmluZSBIQVZFX1BJUEUyIDEKCi8qIERlZmluZSB0byAx
IGlmIHlvdSBoYXZlIHRoZSBwbmcgbGlicmFyeS4gKi8KI2RlZmluZSBIQVZFX1BORyAxCgov
KiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHBvc2l4X21lbWFsaWduJyBmdW5jdGlv
bi4gKi8KLyogI3VuZGVmIEhBVkVfUE9TSVhfTUVNQUxJR04gKi8KCi8qIERlZmluZSB0byAx
IGlmIHlvdSBoYXZlIHRoZSBgcG9zaXhfb3BlbnB0JyBmdW5jdGlvbi4gKi8KI2RlZmluZSBI
QVZFX1BPU0lYX09QRU5QVCAxCgovKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIC9wcm9jIGZp
bGVzeXN0ZW0uICovCiNkZWZpbmUgSEFWRV9QUk9DRlMgMQoKLyogRGVmaW5lIHRvIDEgaWYg
eW91IGhhdmUgdGhlIGBwc2VsZWN0JyBmdW5jdGlvbi4gKi8KI2RlZmluZSBIQVZFX1BTRUxF
Q1QgMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBwc3RhdF9nZXRkeW5hbWlj
JyBmdW5jdGlvbi4gKi8KLyogI3VuZGVmIEhBVkVfUFNUQVRfR0VURFlOQU1JQyAqLwoKLyog
RGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgUE9TSVggdGhyZWFkcy4gKi8KI2RlZmluZSBIQVZF
X1BUSFJFQUQgMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxwdGhyZWFkLmg+
IGhlYWRlciBmaWxlLiAqLwojZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKCi8qIERlZmluZSB0
byAxIGlmIHRoZSBwdGhyZWFkX3NpZ21hc2sgZnVuY3Rpb24gY2FuIGJlIHVzZWQgKGRlc3Bp
dGUgYnVncykuICovCiNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQoKLyogRGVmaW5l
IGlmIHRoZSBzeXN0ZW0gc3VwcG9ydHMgcHR5IGRldmljZXMuICovCiNkZWZpbmUgSEFWRV9Q
VFlTIDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8cHR5Lmg+IGhlYWRlciBm
aWxlLiAqLwojZGVmaW5lIEhBVkVfUFRZX0ggMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhh
dmUgdGhlIGBwdXRlbnYnIGZ1bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVfUFVURU5WIDEKCi8q
IERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8cHdkLmg+IGhlYWRlciBmaWxlLiAqLwoj
ZGVmaW5lIEhBVkVfUFdEX0ggMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBy
YW5kb20nIGZ1bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVfUkFORE9NIDEKCi8qIERlZmluZSB0
byAxIGlmIHlvdSBoYXZlIHRoZSBgcmVhZGxpbmsnIGZ1bmN0aW9uLiAqLwojZGVmaW5lIEhB
VkVfUkVBRExJTksgMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGByZWFkbGlu
a2F0JyBmdW5jdGlvbi4gKi8KI2RlZmluZSBIQVZFX1JFQURMSU5LQVQgMQoKLyogRGVmaW5l
IHRvIDEgaWYgeW91IGhhdmUgdGhlIGByZWN2ZnJvbScgZnVuY3Rpb24uICovCiNkZWZpbmUg
SEFWRV9SRUNWRlJPTSAxCgovKiBEZWZpbmUgdG8gMSBpZiByZXNfaW5pdCBpcyBhdmFpbGFi
bGUuICovCiNkZWZpbmUgSEFWRV9SRVNfSU5JVCAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3Ug
aGF2ZSB0aGUgYHJpbnQnIGZ1bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVfUklOVCAxCgovKiBE
ZWZpbmUgdG8gMSBpZiB1c2luZyBsaWJyc3ZnLiAqLwojZGVmaW5lIEhBVkVfUlNWRyAxCgov
KiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHNlY3VyZV9nZXRlbnYnIGZ1bmN0aW9u
LiAqLwojZGVmaW5lIEhBVkVfU0VDVVJFX0dFVEVOViAxCgovKiBEZWZpbmUgdG8gMSBpZiB5
b3UgaGF2ZSB0aGUgYHNlbGVjdCcgZnVuY3Rpb24uICovCiNkZWZpbmUgSEFWRV9TRUxFQ1Qg
MQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzZW5kdG8nIGZ1bmN0aW9uLiAq
LwojZGVmaW5lIEhBVkVfU0VORFRPIDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRo
ZSBgc2V0ZHRhYmxlc2l6ZScgZnVuY3Rpb24uICovCi8qICN1bmRlZiBIQVZFX1NFVERUQUJM
RVNJWkUgKi8KCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgc2V0aXRpbWVyJyBm
dW5jdGlvbi4gKi8KI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCgovKiBEZWZpbmUgdG8gMSBp
ZiB5b3UgaGF2ZSB0aGUgYHNldGxvY2FsZScgZnVuY3Rpb24uICovCiNkZWZpbmUgSEFWRV9T
RVRMT0NBTEUgMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzZXRybGltaXQn
IGZ1bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKCi8qIERlZmluZSB0byAx
IGlmIHlvdSBoYXZlIHRoZSBgc2h1dGRvd24nIGZ1bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVf
U0hVVERPV04gMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzaWcyc3RyJyBm
dW5jdGlvbi4gKi8KLyogI3VuZGVmIEhBVkVfU0lHMlNUUiAqLwoKLyogRGVmaW5lIHRvIDEg
aWYgJ3NpZ19hdG9taWNfdCcgaXMgYSBzaWduZWQgaW50ZWdlciB0eXBlLiAqLwovKiAjdW5k
ZWYgSEFWRV9TSUdORURfU0lHX0FUT01JQ19UICovCgovKiBEZWZpbmUgdG8gMSBpZiAnd2No
YXJfdCcgaXMgYSBzaWduZWQgaW50ZWdlciB0eXBlLiAqLwovKiAjdW5kZWYgSEFWRV9TSUdO
RURfV0NIQVJfVCAqLwoKLyogRGVmaW5lIHRvIDEgaWYgJ3dpbnRfdCcgaXMgYSBzaWduZWQg
aW50ZWdlciB0eXBlLiAqLwovKiAjdW5kZWYgSEFWRV9TSUdORURfV0lOVF9UICovCgovKiBE
ZWZpbmUgdG8gMSBpZiBzaWdzZXRqbXAgYW5kIHNpZ2xvbmdqbXAgd29yay4gKi8KI2RlZmlu
ZSBIQVZFX1NJR1NFVEpNUCAxCgovKiBEZWZpbmUgdG8gMSBpZiB0aGUgc3lzdGVtIGhhcyB0
aGUgdHlwZSBgc2lnc2V0X3QnLiAqLwojZGVmaW5lIEhBVkVfU0lHU0VUX1QgMQoKLyogRGVm
aW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzbnByaW50ZicgZnVuY3Rpb24uICovCiNkZWZp
bmUgSEFWRV9TTlBSSU5URiAxCgovKiBEZWZpbmUgaWYgdGhlIHN5c3RlbSBzdXBwb3J0cyA0
LjItY29tcGF0aWJsZSBzb2NrZXRzLiAqLwojZGVmaW5lIEhBVkVfU09DS0VUUyAxCgovKiBE
ZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSBzb3VuZCBzdXBwb3J0LiAqLwojZGVmaW5lIEhBVkVf
U09VTkQgMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzb3VuZGNhcmQuaD4g
aGVhZGVyIGZpbGUuICovCi8qICN1bmRlZiBIQVZFX1NPVU5EQ0FSRF9IICovCgovKiBEZWZp
bmUgdG8gMSBpZiBDIHN0YWNrIG92ZXJmbG93IGNhbiBiZSBoYW5kbGVkIGluIHNvbWUgY2Fz
ZXMuICovCiNkZWZpbmUgSEFWRV9TVEFDS19PVkVSRkxPV19IQU5ETElORyAxCgovKiBEZWZp
bmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHN0YXRhY2wnIGZ1bmN0aW9uLiAqLwovKiAjdW5k
ZWYgSEFWRV9TVEFUQUNMICovCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN0
ZGludC5oPiBoZWFkZXIgZmlsZS4gKi8KI2RlZmluZSBIQVZFX1NURElOVF9IIDEKCi8qIERl
ZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3RkaW9fZXh0Lmg+IGhlYWRlciBmaWxlLiAq
LwojZGVmaW5lIEhBVkVfU1RESU9fRVhUX0ggMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhh
dmUgdGhlIDxzdGRsaWIuaD4gaGVhZGVyIGZpbGUuICovCiNkZWZpbmUgSEFWRV9TVERMSUJf
SCAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHN0cGNweScgZnVuY3Rpb24u
ICovCiNkZWZpbmUgSEFWRV9TVFBDUFkgMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUg
dGhlIDxzdHJpbmdzLmg+IGhlYWRlciBmaWxlLiAqLwojZGVmaW5lIEhBVkVfU1RSSU5HU19I
IDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3RyaW5nLmg+IGhlYWRlciBm
aWxlLiAqLwojZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91
IGhhdmUgdGhlIGBzdHJzaWduYWwnIGZ1bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVfU1RSU0lH
TkFMIDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgc3RydG9pbWF4JyBmdW5j
dGlvbi4gKi8KI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCgovKiBEZWZpbmUgdG8gMSBpZiB5
b3UgaGF2ZSB0aGUgYHN0cnRvbGwnIGZ1bmN0aW9uLiAqLwovKiAjdW5kZWYgSEFWRV9TVFJU
T0xMICovCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHN0cnRvdWxsJyBmdW5j
dGlvbi4gKi8KLyogI3VuZGVmIEhBVkVfU1RSVE9VTEwgKi8KCi8qIERlZmluZSB0byAxIGlm
IHlvdSBoYXZlIHRoZSBgc3RydG91bWF4JyBmdW5jdGlvbi4gKi8KI2RlZmluZSBIQVZFX1NU
UlRPVU1BWCAxCgovKiBEZWZpbmUgdG8gMSBpZiAnc3RydWN0IF9fYXR0cmlidXRlX18gKChh
bGlnbmVkIChOKSkpJyBhbGlnbnMgdGhlIHN0cnVjdHVyZQogICB0byBhbiBOLWJ5dGUgYm91
bmRhcnkuICovCiNkZWZpbmUgSEFWRV9TVFJVQ1RfQVRUUklCVVRFX0FMSUdORUQgMQoKLyog
RGVmaW5lIHRvIDEgaWYgYGlmcl9hZGRyJyBpcyBhIG1lbWJlciBvZiBgc3RydWN0IGlmcmVx
Jy4gKi8KI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCgovKiBEZWZpbmUg
dG8gMSBpZiBgaWZyX2FkZHIuc2FfbGVuJyBpcyBhIG1lbWJlciBvZiBgc3RydWN0IGlmcmVx
Jy4gKi8KLyogI3VuZGVmIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAqLwoK
LyogRGVmaW5lIHRvIDEgaWYgYGlmcl9icm9hZGFkZHInIGlzIGEgbWVtYmVyIG9mIGBzdHJ1
Y3QgaWZyZXEnLiAqLwojZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9CUk9BREFERFIg
MQoKLyogRGVmaW5lIHRvIDEgaWYgYGlmcl9mbGFncycgaXMgYSBtZW1iZXIgb2YgYHN0cnVj
dCBpZnJlcScuICovCiNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKCi8q
IERlZmluZSB0byAxIGlmIGBpZnJfaHdhZGRyJyBpcyBhIG1lbWJlciBvZiBgc3RydWN0IGlm
cmVxJy4gKi8KI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfSFdBRERSIDEKCi8qIERl
ZmluZSB0byAxIGlmIGBpZnJfbmV0bWFzaycgaXMgYSBtZW1iZXIgb2YgYHN0cnVjdCBpZnJl
cScuICovCiNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX05FVE1BU0sgMQoKLyogRGVm
aW5lIHRvIDEgaWYgYG5fdW4ubl9uYW1lJyBpcyBhIG1lbWJlciBvZiBgc3RydWN0IG5saXN0
Jy4gKi8KLyogI3VuZGVmIEhBVkVfU1RSVUNUX05MSVNUX05fVU5fTl9OQU1FICovCgovKiBE
ZWZpbmUgdG8gMSBpZiBgc3RfYXRpbWVuc2VjJyBpcyBhIG1lbWJlciBvZiBgc3RydWN0IHN0
YXQnLiAqLwovKiAjdW5kZWYgSEFWRV9TVFJVQ1RfU1RBVF9TVF9BVElNRU5TRUMgKi8KCi8q
IERlZmluZSB0byAxIGlmIGBzdF9hdGltZXNwZWMudHZfbnNlYycgaXMgYSBtZW1iZXIgb2Yg
YHN0cnVjdCBzdGF0Jy4gKi8KLyogI3VuZGVmIEhBVkVfU1RSVUNUX1NUQVRfU1RfQVRJTUVT
UEVDX1RWX05TRUMgKi8KCi8qIERlZmluZSB0byAxIGlmIGBzdF9hdGltLnN0X190aW0udHZf
bnNlYycgaXMgYSBtZW1iZXIgb2YgYHN0cnVjdCBzdGF0Jy4gKi8KLyogI3VuZGVmIEhBVkVf
U1RSVUNUX1NUQVRfU1RfQVRJTV9TVF9fVElNX1RWX05TRUMgKi8KCi8qIERlZmluZSB0byAx
IGlmIGBzdF9hdGltLnR2X25zZWMnIGlzIGEgbWVtYmVyIG9mIGBzdHJ1Y3Qgc3RhdCcuICov
CiNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVF9TVF9BVElNX1RWX05TRUMgMQoKLyogRGVmaW5l
IHRvIDEgaWYgYHN0X2JpcnRodGltZW5zZWMnIGlzIGEgbWVtYmVyIG9mIGBzdHJ1Y3Qgc3Rh
dCcuICovCi8qICN1bmRlZiBIQVZFX1NUUlVDVF9TVEFUX1NUX0JJUlRIVElNRU5TRUMgKi8K
Ci8qIERlZmluZSB0byAxIGlmIGBzdF9iaXJ0aHRpbWVzcGVjLnR2X25zZWMnIGlzIGEgbWVt
YmVyIG9mIGBzdHJ1Y3Qgc3RhdCcuICovCi8qICN1bmRlZiBIQVZFX1NUUlVDVF9TVEFUX1NU
X0JJUlRIVElNRVNQRUNfVFZfTlNFQyAqLwoKLyogRGVmaW5lIHRvIDEgaWYgYHN0X2JpcnRo
dGltLnR2X25zZWMnIGlzIGEgbWVtYmVyIG9mIGBzdHJ1Y3Qgc3RhdCcuICovCi8qICN1bmRl
ZiBIQVZFX1NUUlVDVF9TVEFUX1NUX0JJUlRIVElNX1RWX05TRUMgKi8KCi8qIERlZmluZSB0
byAxIGlmIGB0bV96b25lJyBpcyBhIG1lbWJlciBvZiBgc3RydWN0IHRtJy4gKi8KI2RlZmlu
ZSBIQVZFX1NUUlVDVF9UTV9UTV9aT05FIDEKCi8qIERlZmluZSB0byAxIGlmIGB1bmljb2Rl
JyBpcyBhIG1lbWJlciBvZiBgc3RydWN0IHVuaXBhaXInLiAqLwojZGVmaW5lIEhBVkVfU1RS
VUNUX1VOSVBBSVJfVU5JQ09ERSAxCgovKiBEZWZpbmUgaWYgc3RydWN0IHV0aW1idWYgaXMg
ZGVjbGFyZWQgLS0gdXN1YWxseSBpbiA8dXRpbWUuaD4uIFNvbWUgc3lzdGVtcwogICBoYXZl
IHV0aW1lLmggYnV0IGRvbid0IGRlY2xhcmUgdGhlIHN0cnVjdCBhbnl3aGVyZS4gKi8KI2Rl
ZmluZSBIQVZFX1NUUlVDVF9VVElNQlVGIDEKCi8qIERlZmluZSBpZiBzdHJ1Y3Qgc3RhdCBo
YXMgYW4gc3RfZG1fbW9kZSBtZW1iZXIuICovCi8qICN1bmRlZiBIQVZFX1NUX0RNX01PREUg
Ki8KCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgc3ltbGluaycgZnVuY3Rpb24u
ICovCiNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZl
IHRoZSBgc3luYycgZnVuY3Rpb24uICovCiNkZWZpbmUgSEFWRV9TWU5DIDEKCi8qIERlZmlu
ZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL2FjbC5oPiBoZWFkZXIgZmlsZS4gKi8KI2Rl
ZmluZSBIQVZFX1NZU19BQ0xfSCAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUg
PHN5cy9iaXR5cGVzLmg+IGhlYWRlciBmaWxlLiAqLwovKiAjdW5kZWYgSEFWRV9TWVNfQklU
WVBFU19IICovCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy9pbnR0eXBl
cy5oPiBoZWFkZXIgZmlsZS4gKi8KLyogI3VuZGVmIEhBVkVfU1lTX0lOVFRZUEVTX0ggKi8K
Ci8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL2xvYWRhdmcuaD4gaGVhZGVy
IGZpbGUuICovCi8qICN1bmRlZiBIQVZFX1NZU19MT0FEQVZHX0ggKi8KCi8qIERlZmluZSB0
byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL3BhcmFtLmg+IGhlYWRlciBmaWxlLiAqLwojZGVm
aW5lIEhBVkVfU1lTX1BBUkFNX0ggMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhl
IDxzeXMvcmVzb3VyY2UuaD4gaGVhZGVyIGZpbGUuICovCiNkZWZpbmUgSEFWRV9TWVNfUkVT
T1VSQ0VfSCAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy9zZWxlY3Qu
aD4gaGVhZGVyIGZpbGUuICovCiNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQoKLyogRGVm
aW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzeXMvc29ja2V0Lmg+IGhlYWRlciBmaWxlLiAq
LwojZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBo
YXZlIHRoZSA8c3lzL3NvdW5kY2FyZC5oPiBoZWFkZXIgZmlsZS4gKi8KI2RlZmluZSBIQVZF
X1NZU19TT1VORENBUkRfSCAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5
cy9zdGF0Lmg+IGhlYWRlciBmaWxlLiAqLwojZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCgov
KiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy9zeXNpbmZvLmg+IGhlYWRlciBm
aWxlLiAqLwojZGVmaW5lIEhBVkVfU1lTX1NZU0lORk9fSCAxCgovKiBEZWZpbmUgdG8gMSBp
ZiB5b3UgaGF2ZSB0aGUgPHN5cy9zeXN0ZW1pbmZvLmg+IGhlYWRlciBmaWxlLiAqLwovKiAj
dW5kZWYgSEFWRV9TWVNfU1lTVEVNSU5GT19IICovCgovKiBEZWZpbmUgdG8gMSBpZiB5b3Ug
aGF2ZSB0aGUgPHN5cy90aW1lYi5oPiBoZWFkZXIgZmlsZS4gKi8KLyogI3VuZGVmIEhBVkVf
U1lTX1RJTUVCX0ggKi8KCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL3Rp
bWUuaD4gaGVhZGVyIGZpbGUuICovCiNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKCi8qIERl
ZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL3R5cGVzLmg+IGhlYWRlciBmaWxlLiAq
LwojZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhh
dmUgdGhlIDxzeXMvdW4uaD4gaGVhZGVyIGZpbGUuICovCiNkZWZpbmUgSEFWRV9TWVNfVU5f
SCAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy91dHNuYW1lLmg+IGhl
YWRlciBmaWxlLiAqLwojZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxCgovKiBEZWZpbmUg
dG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy92bGltaXQuaD4gaGVhZGVyIGZpbGUuICovCiNk
ZWZpbmUgSEFWRV9TWVNfVkxJTUlUX0ggMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUg
PHN5cy93YWl0Lmg+IHRoYXQgaXMgUE9TSVguMSBjb21wYXRpYmxlLiAqLwojZGVmaW5lIEhB
VkVfU1lTX1dBSVRfSCAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHRlcm0u
aD4gaGVhZGVyIGZpbGUuICovCiNkZWZpbmUgSEFWRV9URVJNX0ggMQoKLyogRGVmaW5lIHRv
IDEgaWYgeW91IGhhdmUgdGhlIHRpZmYgbGlicmFyeSAoLWx0aWZmKS4gKi8KI2RlZmluZSBI
QVZFX1RJRkYgMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGB0aW1lZ20nIGZ1
bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVfVElNRUdNIDEKCi8qIERlZmluZSB0byAxIGlmIHRp
bWVyZmQgZnVuY3Rpb25zIGFyZSBzdXBwb3J0ZWQgYXMgaW4gR05VL0xpbnV4LiAqLwojZGVm
aW5lIEhBVkVfVElNRVJGRCAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHRp
bWVyX3NldHRpbWUnIGZ1bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVfVElNRVJfU0VUVElNRSAx
CgovKiBEZWZpbmUgdG8gMSBpZiB0aGUgc3lzdGVtIGhhcyB0aGUgdHlwZSBgdGltZXpvbmVf
dCcuICovCi8qICN1bmRlZiBIQVZFX1RJTUVaT05FX1QgKi8KCi8qIERlZmluZSBpZiBzdHJ1
Y3QgdG0gaGFzIHRoZSB0bV9nbXRvZmYgbWVtYmVyLiAqLwojZGVmaW5lIEhBVkVfVE1fR01U
T0ZGIDEKCi8qIERlZmluZSB0byAxIGlmIHlvdXIgYHN0cnVjdCB0bScgaGFzIGB0bV96b25l
Jy4gRGVwcmVjYXRlZCwgdXNlCiAgIGBIQVZFX1NUUlVDVF9UTV9UTV9aT05FJyBpbnN0ZWFk
LiAqLwojZGVmaW5lIEhBVkVfVE1fWk9ORSAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2
ZSB0aGUgYHRvdWNobG9jaycgZnVuY3Rpb24uICovCi8qICN1bmRlZiBIQVZFX1RPVUNITE9D
SyAqLwoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGRvbid0IGhhdmUgYHRtX3pvbmUnIGJ1dCBk
byBoYXZlIHRoZSBleHRlcm5hbCBhcnJheQogICBgdHpuYW1lJy4gKi8KLyogI3VuZGVmIEhB
VkVfVFpOQU1FICovCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHR6c2V0JyBm
dW5jdGlvbi4gKi8KI2RlZmluZSBIQVZFX1RaU0VUIDEKCi8qIERlZmluZSB0byAxIGlmIHlv
dSBoYXZlIHRoZSA8dW5pc3RkLmg+IGhlYWRlciBmaWxlLiAqLwojZGVmaW5lIEhBVkVfVU5J
U1REX0ggMQoKLyogRGVmaW5lIHRvIDEgaWYgdGhlIHN5c3RlbSBoYXMgdGhlIHR5cGUgJ3Vu
c2lnbmVkIGxvbmcgbG9uZyBpbnQnLiAqLwojZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19M
T05HX0lOVCAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHV0aWwuaD4gaGVh
ZGVyIGZpbGUuICovCi8qICN1bmRlZiBIQVZFX1VUSUxfSCAqLwoKLyogRGVmaW5lIHRvIDEg
aWYgeW91IGhhdmUgdGhlIGB1dGltZW5zYXQnIGZ1bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVf
VVRJTUVOU0FUIDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8dXRpbWUuaD4g
aGVhZGVyIGZpbGUuICovCiNkZWZpbmUgSEFWRV9VVElNRV9IIDEKCi8qIERlZmluZSB0byAx
IGlmIHlvdSBoYXZlIHRoZSA8dXRtcC5oPiBoZWFkZXIgZmlsZS4gKi8KI2RlZmluZSBIQVZF
X1VUTVBfSCAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHZhbGdyaW5kL3Zh
bGdyaW5kLmg+IGhlYWRlciBmaWxlLiAqLwojZGVmaW5lIEhBVkVfVkFMR1JJTkRfVkFMR1JJ
TkRfSCAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHZmb3JrJyBmdW5jdGlv
bi4gKi8KI2RlZmluZSBIQVZFX1ZGT1JLIDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZl
IHRoZSA8dmZvcmsuaD4gaGVhZGVyIGZpbGUuICovCi8qICN1bmRlZiBIQVZFX1ZGT1JLX0gg
Ki8KCi8qIERlZmluZSB0byAxIHRvIHVzZSB3MzJub3RpZnkuICovCi8qICN1bmRlZiBIQVZF
X1czMk5PVElGWSAqLwoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDx3Y2hhci5o
PiBoZWFkZXIgZmlsZS4gKi8KI2RlZmluZSBIQVZFX1dDSEFSX0ggMQoKLyogRGVmaW5lIGlm
IHlvdSBoYXZlIHRoZSAnd2NoYXJfdCcgdHlwZS4gKi8KI2RlZmluZSBIQVZFX1dDSEFSX1Qg
MQoKLyogRGVmaW5lIGlmIHlvdSBoYXZlIGEgd2luZG93IHN5c3RlbS4gKi8KI2RlZmluZSBI
QVZFX1dJTkRPV19TWVNURU0gMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDx3
aW5zb2NrMi5oPiBoZWFkZXIgZmlsZS4gKi8KLyogI3VuZGVmIEhBVkVfV0lOU09DSzJfSCAq
LwoKLyogRGVmaW5lIHRvIDEgaWYgYGZvcmsnIHdvcmtzLiAqLwojZGVmaW5lIEhBVkVfV09S
S0lOR19GT1JLIDEKCi8qIERlZmluZSB0byAxIGlmIGZzdGF0YXQgKC4uLiwgMCkgd29ya3Mu
IEZvciBleGFtcGxlLCBpdCBkb2VzIG5vdCB3b3JrIGluIEFJWAogICA3LjEuICovCi8qICN1
bmRlZiBIQVZFX1dPUktJTkdfRlNUQVRBVF9aRVJPX0ZMQUcgKi8KCi8qIERlZmluZSBpZiB1
dGltZXMgd29ya3MgcHJvcGVybHkuICovCiNkZWZpbmUgSEFWRV9XT1JLSU5HX1VUSU1FUyAx
CgovKiBEZWZpbmUgdG8gMSBpZiBgdmZvcmsnIHdvcmtzLiAqLwojZGVmaW5lIEhBVkVfV09S
S0lOR19WRk9SSyAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHdzMnRjcGlw
Lmg+IGhlYWRlciBmaWxlLiAqLwovKiAjdW5kZWYgSEFWRV9XUzJUQ1BJUF9IICovCgovKiBE
ZWZpbmUgdG8gMSBpZiB5b3Ugd2FudCB0byB1c2UgdmVyc2lvbiAxMSBvZiBYIHdpbmRvd3Mu
ICovCiNkZWZpbmUgSEFWRV9YMTEgMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhl
IFgxMVI2IG9yIG5ld2VyIHZlcnNpb24gb2YgWGxpYi4gKi8KI2RlZmluZSBIQVZFX1gxMVI2
IDEKCi8qIERlZmluZSBpZiB5b3UgaGF2ZSB1c2FibGUgWDExUjYtc3R5bGUgWElNIHN1cHBv
cnQuICovCiNkZWZpbmUgSEFWRV9YMTFSNl9YSU0gMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91
IGhhdmUgdGhlIFgxMVI2IG9yIG5ld2VyIHZlcnNpb24gb2YgWHQuICovCi8qICN1bmRlZiBI
QVZFX1gxMVhUUjYgKi8KCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBYYXczZCBs
aWJyYXJ5ICgtbFhhdzNkKS4gKi8KLyogI3VuZGVmIEhBVkVfWEFXM0QgKi8KCi8qIERlZmlu
ZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBYZml4ZXMgZXh0ZW5zaW9uLiAqLwojZGVmaW5lIEhB
VkVfWEZJWEVTIDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBYZnQgbGlicmFy
eS4gKi8KI2RlZmluZSBIQVZFX1hGVCAxCgovKiBEZWZpbmUgdG8gMSBpZiBYSU0gaXMgYXZh
aWxhYmxlICovCiNkZWZpbmUgSEFWRV9YSU0gMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhh
dmUgdGhlIFhpbmVyYW1hIGV4dGVuc2lvbi4gKi8KI2RlZmluZSBIQVZFX1hJTkVSQU1BIDEK
Ci8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBYa2IgZXh0ZW5zaW9uLiAqLwojZGVm
aW5lIEhBVkVfWEtCIDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBYcG0gbGli
cmFyeSAoLWxYcG0pLiAqLwojZGVmaW5lIEhBVkVfWFBNIDEKCi8qIERlZmluZSB0byAxIGlm
IHlvdSBoYXZlIHRoZSBYUmFuZHIgZXh0ZW5zaW9uLiAqLwojZGVmaW5lIEhBVkVfWFJBTkRS
IDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgWHJtU2V0RGF0YWJhc2UnIGZ1
bmN0aW9uLiAqLwojZGVmaW5lIEhBVkVfWFJNU0VUREFUQUJBU0UgMQoKLyogRGVmaW5lIHRv
IDEgaWYgeW91IGhhdmUgdGhlIGBYUlJHZXRPdXRwdXRQcmltYXJ5JyBmdW5jdGlvbi4gKi8K
I2RlZmluZSBIQVZFX1hSUkdFVE9VVFBVVFBSSU1BUlkgMQoKLyogRGVmaW5lIHRvIDEgaWYg
eW91IGhhdmUgdGhlIGBYUlJHZXRTY3JlZW5SZXNvdXJjZXNDdXJyZW50JyBmdW5jdGlvbi4g
Ki8KI2RlZmluZSBIQVZFX1hSUkdFVFNDUkVFTlJFU09VUkNFU0NVUlJFTlQgMQoKLyogRGVm
aW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBYU2NyZWVuTnVtYmVyT2ZTY3JlZW4nIGZ1bmN0
aW9uLiAqLwojZGVmaW5lIEhBVkVfWFNDUkVFTk5VTUJFUk9GU0NSRUVOIDEKCi8qIERlZmlu
ZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgWFNjcmVlblJlc291cmNlU3RyaW5nJyBmdW5jdGlv
bi4gKi8KI2RlZmluZSBIQVZFX1hTQ1JFRU5SRVNPVVJDRVNUUklORyAxCgovKiBEZWZpbmUg
dG8gMSBpZiB5b3UgaGF2ZSB4d2lkZ2V0cyBzdXBwb3J0LiAqLwovKiAjdW5kZWYgSEFWRV9Y
V0lER0VUUyAqLwoKLyogRGVmaW5lIGlmIHlvdSBoYXZlIHVzYWJsZSBpMThuIHN1cHBvcnQu
ICovCiNkZWZpbmUgSEFWRV9YX0kxOE4gMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUg
dGhlIFNNIGxpYnJhcnkgKC1sU00pLiAqLwojZGVmaW5lIEhBVkVfWF9TTSAxCgovKiBEZWZp
bmUgdG8gMSBpZiB5b3Ugd2FudCB0byB1c2UgdGhlIFggd2luZG93IHN5c3RlbS4gKi8KI2Rl
ZmluZSBIQVZFX1hfV0lORE9XUyAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUg
emxpYiBsaWJyYXJ5ICgtbHopLiAqLwojZGVmaW5lIEhBVkVfWkxJQiAxCgovKiBEZWZpbmUg
dG8gMSBpZiB5b3UgaGF2ZSB0aGUgYF9mdGltZScgZnVuY3Rpb24uICovCi8qICN1bmRlZiBI
QVZFX19GVElNRSAqLwoKLyogRGVmaW5lIHRvIDEgaWYgX3NldGptcCBhbmQgX2xvbmdqbXAg
d29yay4gKi8KI2RlZmluZSBIQVZFX19TRVRKTVAgMQoKLyogRGVmaW5lIHRvIDEgaWYgeW91
IGhhdmUgdGhlICdfX2J1aWx0aW5fdW53aW5kX2luaXQnIGZ1bmN0aW9uLiAqLwojZGVmaW5l
IEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKCi8qIERlZmluZSB0byAxIGlmIHlvdSBo
YXZlIHRoZSBgX19leGVjdXRhYmxlX3N0YXJ0JyBmdW5jdGlvbi4gKi8KI2RlZmluZSBIQVZF
X19fRVhFQ1VUQUJMRV9TVEFSVCAxCgovKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUg
YF9fc2VjdXJlX2dldGVudicgZnVuY3Rpb24uICovCi8qICN1bmRlZiBIQVZFX19fU0VDVVJF
X0dFVEVOViAqLwoKLyogRGVmaW5lIHRvIHN1cHBvcnQgdXNpbmcgYSBIZXNpb2QgZGF0YWJh
c2UgdG8gZmluZCB0aGUgUE9QIHNlcnZlci4gKi8KLyogI3VuZGVmIEhFU0lPRCAqLwoKLyog
RGVmaW5lIGlmIHRoZSBzeXN0ZW0gaXMgSFBVWC4gKi8KLyogI3VuZGVmIEhQVVggKi8KCi8q
IERlZmluZSB0byB1c2UgZ21hbGxvYyBiZWZvcmUgZHVtcGluZyBhbmQgdGhlIHN5c3RlbSBt
YWxsb2MgYWZ0ZXIuICovCi8qICN1bmRlZiBIWUJSSURfTUFMTE9DICovCgovKiBUaGlzIGlz
IHN1YnN0aXR1dGVkIHdoZW4gJFRFUk0gaXMgImludGVybmFsIi4gKi8KLyogI3VuZGVmIElO
VEVSTkFMX1RFUk1JTkFMICovCgovKiBEZWZpbmUgdG8gcmVhZCBpbnB1dCB1c2luZyBTSUdJ
Ty4gKi8KI2RlZmluZSBJTlRFUlJVUFRfSU5QVVQgMQoKLyogRGVmaW5lIGlmIHRoZSBzeXN0
ZW0gaXMgSVJJWC4gKi8KLyogI3VuZGVmIElSSVg2XzUgKi8KCi8qIFJldHVybnMgdHJ1ZSBp
ZiBjaGFyYWN0ZXIgaXMgYW55IGZvcm0gb2Ygc2VwYXJhdG9yLiAqLwojZGVmaW5lIElTX0FO
WV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSkKCi8qIFJldHVybnMgdHJ1ZSBp
ZiBjaGFyYWN0ZXIgaXMgYSBkZXZpY2Ugc2VwYXJhdG9yLiAqLwojZGVmaW5lIElTX0RFVklD
RV9TRVAoX2NfKSAwCgovKiBSZXR1cm5zIHRydWUgaWYgY2hhcmFjdGVyIGlzIGEgZGlyZWN0
b3J5IHNlcGFyYXRvci4gKi8KI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18p
ID09IERJUkVDVE9SWV9TRVApCgovKiBEZWZpbmUgdG8gc3VwcG9ydCBLZXJiZXJvcy1hdXRo
ZW50aWNhdGVkIFBPUCBtYWlsIHJldHJpZXZhbC4gKi8KLyogI3VuZGVmIEtFUkJFUk9TICov
CgovKiBEZWZpbmUgdG8gdXNlIEtlcmJlcm9zIDUgaW5zdGVhZCBvZiBLZXJiZXJvcyA0LiAq
LwovKiAjdW5kZWYgS0VSQkVST1M1ICovCgovKiBEZWZpbmUgdG8gMSBpZiBMaW51eCBzeXNp
bmZvIHNpemVzIGFyZSBpbiBtdWx0aXBsZXMgb2YgbWVtX3VuaXQgYnl0ZXMuICovCiNkZWZp
bmUgTElOVVhfU1lTSU5GT19VTklUIDEKCi8qIERlZmluZSB0byAxIGlmICdsc3RhdCcgZGVy
ZWZlcmVuY2VzIGEgc3ltbGluayBzcGVjaWZpZWQgd2l0aCBhIHRyYWlsaW5nCiAgIHNsYXNo
LiAqLwojZGVmaW5lIExTVEFUX0ZPTExPV1NfU0xBU0hFRF9TWU1MSU5LIDEKCi8qIFN0cmlu
ZyBnaXZpbmcgZmFsbGJhY2sgUE9QIG1haWwgaG9zdC4gKi8KLyogI3VuZGVmIE1BSUxIT1NU
ICovCgovKiBEZWZpbmUgdG8gdW5saW5rLCByYXRoZXIgdGhhbiBlbXB0eSwgbWFpbCBzcG9v
bCBhZnRlciByZWFkaW5nLiAqLwovKiAjdW5kZWYgTUFJTF9VTkxJTktfU1BPT0wgKi8KCi8q
IERlZmluZSBpZiB0aGUgbWFpbGVyIHVzZXMgZmxvY2sgdG8gaW50ZXJsb2NrIHRoZSBtYWls
IHNwb29sLiAqLwovKiAjdW5kZWYgTUFJTF9VU0VfRkxPQ0sgKi8KCi8qIERlZmluZSBpZiB0
aGUgbWFpbGVyIHVzZXMgbG9ja2YgdG8gaW50ZXJsb2NrIHRoZSBtYWlsIHNwb29sLiAqLwov
KiAjdW5kZWYgTUFJTF9VU0VfTE9DS0YgKi8KCi8qIERlZmluZSB0byBzdXBwb3J0IFBPUCBt
YWlsIHJldHJpZXZhbC4gKi8KI2RlZmluZSBNQUlMX1VTRV9QT1AgMQoKLyogU3lzdGVtIGV4
dGVuc2lvbiBmb3IgZHluYW1pYyBsaWJyYXJpZXMgKi8KLyogI3VuZGVmIE1PRFVMRVNfU1VG
RklYICovCgovKiBEZWZpbmUgaWYgdGhlIHN5c3RlbSBpcyBNUyBET1MuICovCi8qICN1bmRl
ZiBNU0RPUyAqLwoKLyogRGVmaW5lIGlmIHN5c3RlbSdzIGltYWtlIGNvbmZpZ3VyYXRpb24g
ZmlsZSBkZWZpbmVzICdOZWVkV2lkZVByb3RvdHlwZXMnIGFzCiAgICdOTycuICovCiNkZWZp
bmUgTkFSUk9XUFJPVE8gMQoKLyogRGVmaW5lIGlmIFhFZGl0UmVzIHNob3VsZCBub3QgYmUg
dXNlZC4gKi8KLyogI3VuZGVmIE5PX0VESVRSRVMgKi8KCi8qIE1pbmltdW0gdmFsdWUgb2Yg
TlNJRy4gKi8KLyogI3VuZGVmIE5TSUdfTUlOSU1VTSAqLwoKLyogRGVmaW5lIHRvIDEgaWYg
eW91IGFyZSB1c2luZyBOUyB3aW5kb3dpbmcgdW5kZXIgTWFjT1MgWC4gKi8KLyogI3VuZGVm
IE5TX0lNUExfQ09DT0EgKi8KCi8qIERlZmluZSB0byAxIGlmIHlvdSBhcmUgdXNpbmcgTlMg
d2luZG93aW5nIHVuZGVyIEdOVXN0ZXAuICovCi8qICN1bmRlZiBOU19JTVBMX0dOVVNURVAg
Ki8KCi8qIE5hbWUgb2YgdGhlIGZpbGUgdG8gb3BlbiB0byBnZXQgYSBudWxsIGZpbGUsIG9y
IGEgZGF0YSBzaW5rLiAqLwojZGVmaW5lIE5VTExfREVWSUNFICIvZGV2L251bGwiCgovKiBE
ZWZpbmUgdG8gMSBpZiB0aGUgbmxpc3Qgbl9uYW1lIG1lbWJlciBpcyBhIHBvaW50ZXIgKi8K
LyogI3VuZGVmIE5fTkFNRV9QT0lOVEVSICovCgovKiBOYW1lIG9mIHBhY2thZ2UgKi8KI2Rl
ZmluZSBQQUNLQUdFICJlbWFjcyIKCi8qIERlZmluZSB0byB0aGUgYWRkcmVzcyB3aGVyZSBi
dWcgcmVwb3J0cyBmb3IgdGhpcyBwYWNrYWdlIHNob3VsZCBiZSBzZW50LiAqLwojZGVmaW5l
IFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCgovKiBEZWZpbmUg
dG8gdGhlIGZ1bGwgbmFtZSBvZiB0aGlzIHBhY2thZ2UuICovCiNkZWZpbmUgUEFDS0FHRV9O
QU1FICJHTlUgRW1hY3MiCgovKiBEZWZpbmUgdG8gdGhlIGZ1bGwgbmFtZSBhbmQgdmVyc2lv
biBvZiB0aGlzIHBhY2thZ2UuICovCiNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFj
cyAyNS4wLjkyIgoKLyogRGVmaW5lIHRvIHRoZSBvbmUgc3ltYm9sIHNob3J0IG5hbWUgb2Yg
dGhpcyBwYWNrYWdlLiAqLwojZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCgovKiBE
ZWZpbmUgdG8gdGhlIGhvbWUgcGFnZSBmb3IgdGhpcyBwYWNrYWdlLiAqLwojZGVmaW5lIFBB
Q0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgoKLyogRGVm
aW5lIHRvIHRoZSB2ZXJzaW9uIG9mIHRoaXMgcGFja2FnZS4gKi8KI2RlZmluZSBQQUNLQUdF
X1ZFUlNJT04gIjI1LjAuOTIiCgovKiB0aGUgbnVtYmVyIG9mIHBlbmRpbmcgb3V0cHV0IGJ5
dGVzIG9uIHN0cmVhbSAnZnAnICovCi8qICN1bmRlZiBQRU5ESU5HX09VVFBVVF9OX0JZVEVT
ICovCgovKiBEZWZpbmUgdG8gZW1wdHkgdG8gc3VwcHJlc3MgZGVwcmVjYXRpb24gd2Fybmlu
Z3Mgd2hlbiBidWlsZGluZyB3aXRoCiAgIC0tZW5hYmxlLWdjYy13YXJuaW5ncyBhbmQgd2l0
aCBsaWJwbmcgdmVyc2lvbnMgYmVmb3JlIDEuNSwgd2hpY2ggbGFjawogICBwbmdfbG9uZ2pt
cC4gKi8KLyogI3VuZGVmIFBOR19ERVBTVFJVQ1QgKi8KCi8qIERlZmluZSBpZiB5b3UgcG9s
bCBwZXJpb2RpY2FsbHkgdG8gZGV0ZWN0IEMtZy4gKi8KI2RlZmluZSBQT0xMX0ZPUl9JTlBV
VCAxCgovKiBEZWZpbmUgaWYgcHJvY2Vzc19zZW5kX3NpZ25hbCBzaG91bGQgdXNlIFZTVVNQ
IGluc3RlYWQgb2YgVlNXVENILiAqLwovKiAjdW5kZWYgUFJFRkVSX1ZTVVNQICovCgovKiBE
ZWZpbmUgdG8gMSBpZiBwdGhyZWFkX3NpZ21hc2soKSwgd2hlbiBpdCBmYWlscywgcmV0dXJu
cyAtMSBhbmQgc2V0cyBlcnJuby4KICAgKi8KLyogI3VuZGVmIFBUSFJFQURfU0lHTUFTS19G
QUlMU19XSVRIX0VSUk5PICovCgovKiBEZWZpbmUgdG8gMSBpZiBwdGhyZWFkX3NpZ21hc2sg
bWF5IHJldHVybiAwIGFuZCBoYXZlIG5vIGVmZmVjdC4gKi8KLyogI3VuZGVmIFBUSFJFQURf
U0lHTUFTS19JTkVGRkVDVElWRSAqLwoKLyogRGVmaW5lIHRvIDEgaWYgcHRocmVhZF9zaWdt
YXNrKCkgdW5ibG9ja3Mgc2lnbmFscyBpbmNvcnJlY3RseS4gKi8KLyogI3VuZGVmIFBUSFJF
QURfU0lHTUFTS19VTkJMT0NLX0JVRyAqLwoKLyogRGVmaW5lIHRvIGwsIGxsLCB1LCB1bCwg
dWxsLCBldGMuLCBhcyBzdWl0YWJsZSBmb3IgY29uc3RhbnRzIG9mIHR5cGUKICAgJ3B0cmRp
ZmZfdCcuICovCi8qICN1bmRlZiBQVFJESUZGX1RfU1VGRklYICovCgovKiBIb3cgdG8gaXRl
cmF0ZSBvdmVyIFBUWXMuICovCiNkZWZpbmUgUFRZX0lURVJBVElPTiBpbnQgaTsgZm9yIChp
ID0gMDsgaSA8IDE7IGkrKykKCi8qIEhvdyB0byBnZXQgdGhlIGRldmljZSBuYW1lIG9mIHRo
ZSBjb250cm9sIGVuZCBvZiBhIFBUWSwgaWYgbm9uLXN0YW5kYXJkLiAqLwojZGVmaW5lIFBU
WV9OQU1FX1NQUklOVEYgLyoqLwoKLyogSG93IHRvIG9wZW4gYSBQVFksIGlmIG5vbi1zdGFu
ZGFyZC4gKi8KI2RlZmluZSBQVFlfT1BFTiBkbyB7IGZkID0gcG9zaXhfb3BlbnB0IChPX1JE
V1IgfCBPX0NMT0VYRUMgfCBPX05PQ1RUWSk7IGlmIChmZCA8IDAgJiYgZXJybm8gPT0gRUlO
VkFMKSBmZCA9IHBvc2l4X29wZW5wdCAoT19SRFdSIHwgT19OT0NUVFkpOyB9IHdoaWxlIChm
YWxzZSkKCi8qIEhvdyB0byBnZXQgZGV2aWNlIG5hbWUgb2YgdGhlIHR0eSBlbmQgb2YgYSBQ
VFksIGlmIG5vbi1zdGFuZGFyZC4gKi8KI2RlZmluZSBQVFlfVFRZX05BTUVfU1BSSU5URiB7
IGNoYXIgKnB0eW5hbWUgPSAwOyBzaWdzZXRfdCBibG9ja2VkOyBzaWdlbXB0eXNldCAoJmJs
b2NrZWQpOyBzaWdhZGRzZXQgKCZibG9ja2VkLCBTSUdDSExEKTsgcHRocmVhZF9zaWdtYXNr
IChTSUdfQkxPQ0ssICZibG9ja2VkLCAwKTsgaWYgKGdyYW50cHQgKGZkKSAhPSAtMSAmJiB1
bmxvY2twdCAoZmQpICE9IC0xKSBwdHluYW1lID0gcHRzbmFtZShmZCk7IHB0aHJlYWRfc2ln
bWFzayAoU0lHX1VOQkxPQ0ssICZibG9ja2VkLCAwKTsgaWYgKCFwdHluYW1lKSB7IGVtYWNz
X2Nsb3NlIChmZCk7IHJldHVybiAtMTsgfSBzbnByaW50ZiAocHR5X25hbWUsIFBUWV9OQU1F
X1NJWkUsICIlcyIsIHB0eW5hbWUpOyB9CgovKiBEZWZpbmUgdG8gMSBpZiByZWFkbGluayBm
YWlscyB0byByZWNvZ25pemUgYSB0cmFpbGluZyBzbGFzaC4gKi8KLyogI3VuZGVmIFJFQURM
SU5LX1RSQUlMSU5HX1NMQVNIX0JVRyAqLwoKLyogRGVmaW5lIFJFTF9BTExPQyBpZiB5b3Ug
d2FudCB0byB1c2UgdGhlIHJlbG9jYXRpbmcgYWxsb2NhdG9yIGZvciBidWZmZXIKICAgc3Bh
Y2UuICovCi8qICN1bmRlZiBSRUxfQUxMT0MgKi8KCi8qIERlZmluZSB0byAxIGlmIGdudWxp
YidzIGRpcmZkKCkgcmVwbGFjZW1lbnQgaXMgdXNlZC4gKi8KLyogI3VuZGVmIFJFUExBQ0Vf
RElSRkQgKi8KCi8qIERlZmluZSB0byAxIGlmIHN0YXQgbmVlZHMgaGVscCB3aGVuIHBhc3Nl
ZCBhIGRpcmVjdG9yeSBuYW1lIHdpdGggYSB0cmFpbGluZwogICBzbGFzaCAqLwovKiAjdW5k
ZWYgUkVQTEFDRV9GVU5DX1NUQVRfRElSICovCgovKiBEZWZpbmUgdG8gMSBpZiBzdGF0IG5l
ZWRzIGhlbHAgd2hlbiBwYXNzZWQgYSBmaWxlIG5hbWUgd2l0aCBhIHRyYWlsaW5nCiAgIHNs
YXNoICovCi8qICN1bmRlZiBSRVBMQUNFX0ZVTkNfU1RBVF9GSUxFICovCgovKiBEZWZpbmUg
aWYgZW1hY3MuYyBuZWVkcyB0byBjYWxsIHJ1bl90aW1lX3JlbWFwOyBmb3IgSFBVWC4gKi8K
LyogI3VuZGVmIFJVTl9USU1FX1JFTUFQICovCgovKiBDaGFyYWN0ZXIgdGhhdCBzZXBhcmF0
ZXMgUEFUSCBlbGVtZW50cy4gKi8KI2RlZmluZSBTRVBDSEFSICc6JwoKLyogSG93IHRvIHNl
dCB1cCBhIHNsYXZlIFBUWSwgaWYgbmVlZGVkLiAqLwovKiAjdW5kZWYgU0VUVVBfU0xBVkVf
UFRZICovCgovKiBNYWtlIHByb2Nlc3Nfc2VuZF9zaWduYWwgd29yayBieSAidHlwaW5nIiBh
IHNpZ25hbCBjaGFyYWN0ZXIgb24gdGhlIHB0eS4gKi8KI2RlZmluZSBTSUdOQUxTX1ZJQV9D
SEFSQUNURVJTIDEKCi8qIERlZmluZSB0byBsLCBsbCwgdSwgdWwsIHVsbCwgZXRjLiwgYXMg
c3VpdGFibGUgZm9yIGNvbnN0YW50cyBvZiB0eXBlCiAgICdzaWdfYXRvbWljX3QnLiAqLwov
KiAjdW5kZWYgU0lHX0FUT01JQ19UX1NVRkZJWCAqLwoKLyogRGVmaW5lIHRvIGwsIGxsLCB1
LCB1bCwgdWxsLCBldGMuLCBhcyBzdWl0YWJsZSBmb3IgY29uc3RhbnRzIG9mIHR5cGUKICAg
J3NpemVfdCcuICovCi8qICN1bmRlZiBTSVpFX1RfU1VGRklYICovCgovKiBEZWZpbmUgaWYg
dGhlIHN5c3RlbSBpcyBTb2xhcmlzLiAqLwovKiAjdW5kZWYgU09MQVJJUzIgKi8KCi8qIElm
IHVzaW5nIHRoZSBDIGltcGxlbWVudGF0aW9uIG9mIGFsbG9jYSwgZGVmaW5lIGlmIHlvdSBr
bm93IHRoZQogICBkaXJlY3Rpb24gb2Ygc3RhY2sgZ3Jvd3RoIGZvciB5b3VyIHN5c3RlbTsg
b3RoZXJ3aXNlIGl0IHdpbGwgYmUKICAgYXV0b21hdGljYWxseSBkZWR1Y2VkIGF0IHJ1bnRp
bWUuCglTVEFDS19ESVJFQ1RJT04gPiAwID0+IGdyb3dzIHRvd2FyZCBoaWdoZXIgYWRkcmVz
c2VzCglTVEFDS19ESVJFQ1RJT04gPCAwID0+IGdyb3dzIHRvd2FyZCBsb3dlciBhZGRyZXNz
ZXMKCVNUQUNLX0RJUkVDVElPTiA9IDAgPT4gZGlyZWN0aW9uIG9mIGdyb3d0aCB1bmtub3du
ICovCi8qICN1bmRlZiBTVEFDS19ESVJFQ1RJT04gKi8KCi8qIERlZmluZSB0byAxIGlmIHRo
ZSBgU19JUyonIG1hY3JvcyBpbiA8c3lzL3N0YXQuaD4gZG8gbm90IHdvcmsgcHJvcGVybHku
ICovCi8qICN1bmRlZiBTVEFUX01BQ1JPU19CUk9LRU4gKi8KCi8qIERlZmluZSB0byAxIGlm
IHlvdSBoYXZlIHRoZSBBTlNJIEMgaGVhZGVyIGZpbGVzLiAqLwojZGVmaW5lIFNURENfSEVB
REVSUyAxCgovKiBEZWZpbmUgdG8gMSBvbiBTeXN0ZW0gViBSZWxlYXNlIDQuICovCi8qICN1
bmRlZiBTVlI0ICovCgovKiBEZWZpbmUgdG8gMSB0byB1c2UgdGhlIHN5c3RlbSBtZW1vcnkg
YWxsb2NhdG9yLCBldmVuIGlmIGl0IGlzIG5vdCBEb3VnIExlYQogICBzdHlsZS4gKi8KLyog
I3VuZGVmIFNZU1RFTV9NQUxMT0MgKi8KCi8qIFRoZSB0eXBlIG9mIHN5c3RlbSB5b3UgYXJl
IGNvbXBpbGluZyBmb3I7IHNldHMgJ3N5c3RlbS10eXBlJy4gKi8KI2RlZmluZSBTWVNURU1f
VFlQRSAiZ251L2xpbnV4IgoKLyogVW5kb2N1bWVudGVkLiAqLwovKiAjdW5kZWYgVEFCMyAq
LwoKLyogVW5kb2N1bWVudGVkLiAqLwovKiAjdW5kZWYgVEFCRExZICovCgovKiBEZWZpbmUg
dG8gMSBpZiB5b3UgdXNlIHRlcm1pbmZvIGluc3RlYWQgb2YgdGVybWNhcC4gKi8KI2RlZmlu
ZSBURVJNSU5GTyAxCgovKiBEZWZpbmUgdG8gdGhlIGhlYWRlciBmb3IgdGhlIGJ1aWx0LWlu
IHdpbmRvdyBzeXN0ZW0uICovCiNkZWZpbmUgVEVSTV9IRUFERVIgImd0a3V0aWwuaCIKCi8q
IERlZmluZSB0byAxIGlmIHlvdSBjYW4gc2FmZWx5IGluY2x1ZGUgYm90aCA8c3lzL3RpbWUu
aD4gYW5kIDx0aW1lLmg+LiAqLwojZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCgovKiBT
b21lIHBsYXRmb3JtcyByZWRlZmluZSB0aGlzLiAqLwovKiAjdW5kZWYgVElPQ1NJR1NFTkQg
Ki8KCi8qIERlZmluZSB0byAxIGlmIHlvdXIgPHN5cy90aW1lLmg+IGRlY2xhcmVzIGBzdHJ1
Y3QgdG0nLiAqLwovKiAjdW5kZWYgVE1fSU5fU1lTX1RJTUUgKi8KCi8qIERlZmluZSB0byAx
IGlmIHRoZSB0eXBlIG9mIHRoZSBzdF9hdGltIG1lbWJlciBvZiBhIHN0cnVjdCBzdGF0IGlz
IHN0cnVjdAogICB0aW1lc3BlYy4gKi8KI2RlZmluZSBUWVBFT0ZfU1RSVUNUX1NUQVRfU1Rf
QVRJTV9JU19TVFJVQ1RfVElNRVNQRUMgMQoKLyogRGVmaW5lIHRvIDEgZm9yIEVuY29yZSBV
TUFYLiAqLwovKiAjdW5kZWYgVU1BWCAqLwoKLyogRGVmaW5lIHRvIDEgZm9yIEVuY29yZSBV
TUFYIDQuMyB0aGF0IGhhcyA8aW5xX3N0YXR1cy9jcHVzdGF0cy5oPiBpbnN0ZWFkIG9mCiAg
IDxzeXMvY3B1c3RhdHMuaD4uICovCi8qICN1bmRlZiBVTUFYNF8zICovCgovKiBEZWZpbmUg
aWYgdGhlIHN5c3RlbSBoYXMgVW5peDk4IFBUWXMuICovCiNkZWZpbmUgVU5JWDk4X1BUWVMg
MQoKLyogRGVmaW5lIHRvIDEgaWYgRklPTlJFQUQgaXMgdXNhYmxlLiAqLwojZGVmaW5lIFVT
QUJMRV9GSU9OUkVBRCAxCgovKiBEZWZpbmUgdG8gMSBpZiBTSUdJTyBpcyB1c2FibGUuICov
CiNkZWZpbmUgVVNBQkxFX1NJR0lPIDEKCi8qIEhvdyB0byBnZXQgYSB1c2VyJ3MgZnVsbCBu
YW1lLiAqLwojZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwoKLyogRGVmaW5l
IHRvIG5vbnplcm8gaWYgeW91IHdhbnQgYWNjZXNzIGNvbnRyb2wgbGlzdCBzdXBwb3J0LiAq
LwojZGVmaW5lIFVTRV9BQ0wgMQoKLyogRGVmaW5lIHRvIDEgaWYgdXNpbmcgY2Fpcm8uICov
Ci8qICN1bmRlZiBVU0VfQ0FJUk8gKi8KCi8qIERlZmluZSB0byAxIGlmIHVzaW5nIGZpbGUg
bm90aWZpY2F0aW9ucy4gKi8KI2RlZmluZSBVU0VfRklMRV9OT1RJRlkgMQoKLyogRGVmaW5l
IHRvIDEgaWYgdXNpbmcgR1RLLiAqLwojZGVmaW5lIFVTRV9HVEsgMQoKLyogRGVmaW5lIHRv
IDEgaWYgdXNpbmcgdGhlIEx1Y2lkIFggdG9vbGtpdC4gKi8KLyogI3VuZGVmIFVTRV9MVUNJ
RCAqLwoKLyogRGVmaW5lIHRvIHVzZSBtbWFwIHRvIGFsbG9jYXRlIGJ1ZmZlciB0ZXh0LiAq
LwovKiAjdW5kZWYgVVNFX01NQVBfRk9SX0JVRkZFUlMgKi8KCi8qIERlZmluZSB0byAxIGlm
IHVzaW5nIHRoZSBNb3RpZiBYIHRvb2xraXQuICovCi8qICN1bmRlZiBVU0VfTU9USUYgKi8K
Ci8qIERlZmluZSB0byAxIGlmIHlvdSB1c2UgbmN1cnNlcy4gKi8KLyogI3VuZGVmIFVTRV9O
Q1VSU0VTICovCgovKiBFbmFibGUgZXh0ZW5zaW9ucyBvbiBBSVggMywgSW50ZXJpeC4gICov
CiNpZm5kZWYgX0FMTF9TT1VSQ0UKIyBkZWZpbmUgX0FMTF9TT1VSQ0UgMQojZW5kaWYKLyog
RW5hYmxlIGdlbmVyYWwgZXh0ZW5zaW9ucyBvbiBPUyBYLiAgKi8KI2lmbmRlZiBfREFSV0lO
X0NfU09VUkNFCiMgZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQojZW5kaWYKLyogRW5hYmxl
IEdOVSBleHRlbnNpb25zIG9uIHN5c3RlbXMgdGhhdCBoYXZlIHRoZW0uICAqLwojaWZuZGVm
IF9HTlVfU09VUkNFCiMgZGVmaW5lIF9HTlVfU09VUkNFIDEKI2VuZGlmCi8qIFVzZSBHTlUg
c3R5bGUgcHJpbnRmIGFuZCBzY2FuZi4gICovCiNpZm5kZWYgX19VU0VfTUlOR1dfQU5TSV9T
VERJTwojIGRlZmluZSBfX1VTRV9NSU5HV19BTlNJX1NURElPIDEKI2VuZGlmCi8qIEVuYWJs
ZSB0aHJlYWRpbmcgZXh0ZW5zaW9ucyBvbiBTb2xhcmlzLiAgKi8KI2lmbmRlZiBfUE9TSVhf
UFRIUkVBRF9TRU1BTlRJQ1MKIyBkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEK
I2VuZGlmCi8qIEVuYWJsZSBleHRlbnNpb25zIG9uIEhQIE5vblN0b3AuICAqLwojaWZuZGVm
IF9UQU5ERU1fU09VUkNFCiMgZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKI2VuZGlmCi8qIEVu
YWJsZSBYL09wZW4gZXh0ZW5zaW9ucyBpZiBuZWNlc3NhcnkuICBIUC1VWCAxMS4xMSBkZWZp
bmVzCiAgIG1ic3RhdGVfdCBvbmx5IGlmIF9YT1BFTl9TT1VSQ0UgaXMgZGVmaW5lZCB0byA1
MDAsIHJlZ2FyZGxlc3Mgb2YKICAgd2hldGhlciBjb21waWxpbmcgd2l0aCAtQWUgb3IgLURf
SFBVWF9TT1VSQ0U9MS4gICovCiNpZm5kZWYgX1hPUEVOX1NPVVJDRQovKiAjIHVuZGVmIF9Y
T1BFTl9TT1VSQ0UgKi8KI2VuZGlmCi8qIEVuYWJsZSBnZW5lcmFsIGV4dGVuc2lvbnMgb24g
U29sYXJpcy4gICovCiNpZm5kZWYgX19FWFRFTlNJT05TX18KIyBkZWZpbmUgX19FWFRFTlNJ
T05TX18gMQojZW5kaWYKCgovKiBEZWZpbmUgdG8gMSBpZiB3ZSBzaG91bGQgdXNlIHRvb2xr
aXQgc2Nyb2xsIGJhcnMuICovCiNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQoK
LyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIFhDQiBsaWJyYXJ5IGFuZCBYMTEtWENC
IGxpYnJhcnkgZm9yIG1peGVkCiAgIFgxMS9YQ0IgcHJvZ3JhbW1pbmcuICovCiNkZWZpbmUg
VVNFX1hDQiAxCgovKiBEZWZpbmUgdG8gMSBpZiB3ZSBzaG91bGQgdXNlIFhJTSwgaWYgaXQg
aXMgYXZhaWxhYmxlLiAqLwojZGVmaW5lIFVTRV9YSU0gMQoKLyogRGVmaW5lIHRvIDEgaWYg
dXNpbmcgYW4gWCB0b29sa2l0LiAqLwovKiAjdW5kZWYgVVNFX1hfVE9PTEtJVCAqLwoKLyog
RGVmaW5lIGlmIHRoZSBzeXN0ZW0gaXMgY29tcGF0aWJsZSB3aXRoIFN5c3RlbSBJSUkuICov
CiNkZWZpbmUgVVNHIC8qKi8KCi8qIERlZmluZSBpZiB0aGUgc3lzdGVtIGlzIGNvbXBhdGli
bGUgd2l0aCBTeXN0ZW0gViBSZWxlYXNlIDQuICovCi8qICN1bmRlZiBVU0c1XzQgKi8KCi8q
IERlZmluZSBmb3IgVVNHIHN5c3RlbXMgd2hlcmUgaXQgd29ya3MgdG8gb3BlbiBhIHB0eSdz
IHR0eSBpbiB0aGUgcGFyZW50CiAgIHByb2Nlc3MsIHRoZW4gY2xvc2UgYW5kIHJlb3BlbiBp
dCBpbiB0aGUgY2hpbGQuICovCi8qICN1bmRlZiBVU0dfU1VCVFRZX1dPUktTICovCgovKiBW
ZXJzaW9uIG51bWJlciBvZiBwYWNrYWdlICovCiNkZWZpbmUgVkVSU0lPTiAiMjUuMC45MiIK
Ci8qIERlZmluZSB0byBsLCBsbCwgdSwgdWwsIHVsbCwgZXRjLiwgYXMgc3VpdGFibGUgZm9y
IGNvbnN0YW50cyBvZiB0eXBlCiAgICd3Y2hhcl90Jy4gKi8KLyogI3VuZGVmIFdDSEFSX1Rf
U1VGRklYICovCgovKiBVc2UgbG9uZyBsb25nIGZvciBFTUFDU19JTlQgaWYgYXZhaWxhYmxl
LiAqLwovKiAjdW5kZWYgV0lERV9FTUFDU19JTlQgKi8KCi8qIERlZmluZSBpZiBjb21waWxp
bmcgZm9yIG5hdGl2ZSBNUyBXaW5kb3dzLiAqLwovKiAjdW5kZWYgV0lORE9XU05UICovCgov
KiBEZWZpbmUgdG8gbCwgbGwsIHUsIHVsLCB1bGwsIGV0Yy4sIGFzIHN1aXRhYmxlIGZvciBj
b25zdGFudHMgb2YgdHlwZQogICAnd2ludF90Jy4gKi8KLyogI3VuZGVmIFdJTlRfVF9TVUZG
SVggKi8KCi8qIERlZmluZSBXT1JEU19CSUdFTkRJQU4gdG8gMSBpZiB5b3VyIHByb2Nlc3Nv
ciBzdG9yZXMgd29yZHMgd2l0aCB0aGUgbW9zdAogICBzaWduaWZpY2FudCBieXRlIGZpcnN0
IChsaWtlIE1vdG9yb2xhIGFuZCBTUEFSQywgdW5saWtlIEludGVsKS4gKi8KI2lmIGRlZmlu
ZWQgQUNfQVBQTEVfVU5JVkVSU0FMX0JVSUxECiMgaWYgZGVmaW5lZCBfX0JJR19FTkRJQU5f
XwojICBkZWZpbmUgV09SRFNfQklHRU5ESUFOIDEKIyBlbmRpZgojZWxzZQojIGlmbmRlZiBX
T1JEU19CSUdFTkRJQU4KLyogIyAgdW5kZWYgV09SRFNfQklHRU5ESUFOICovCiMgZW5kaWYK
I2VuZGlmCgovKiBEZWZpbmUgdGhpcyB0byBjaGVjayBmb3IgbWFsbG9jIGJ1ZmZlciBvdmVy
cnVuLiAqLwovKiAjdW5kZWYgWE1BTExPQ19PVkVSUlVOX0NIRUNLICovCgovKiBDb21wZW5z
YXRlIGZvciBhIGJ1ZyBpbiBYb3MuaCBvbiBzb21lIHN5c3RlbXMsIHdoZXJlIGl0IHJlcXVp
cmVzIHRpbWUuaC4gKi8KLyogI3VuZGVmIFhPU19ORUVEU19USU1FX0ggKi8KCi8qIERlZmlu
ZSB0byB0aGUgdHlwZSBvZiB0aGUgNnRoIGFyZyBvZiBYUmVnaXN0ZXJJTUluc3RhbnRpYXRl
Q2FsbGJhY2ssIGVpdGhlcgogICBYUG9pbnRlciBvciBYUG9pbnRlciouICovCiNkZWZpbmUg
WFJlZ2lzdGVySU1JbnN0YW50aWF0ZUNhbGxiYWNrX2FyZzYgWFBvaW50ZXIKCi8qIERlZmlu
ZSBpZiB0aGUgc3lzdGVtIGlzIEFJWC4gKi8KLyogI3VuZGVmIF9BSVggKi8KCi8qIEVuYWJs
ZSBsYXJnZSBpbm9kZSBudW1iZXJzIG9uIE1hYyBPUyBYIDEwLjUuICovCiNkZWZpbmUgX0RB
UldJTl9VU0VfNjRfQklUX0lOT0RFIDEKCi8qIE51bWJlciBvZiBiaXRzIGluIGEgZmlsZSBv
ZmZzZXQsIG9uIGhvc3RzIHdoZXJlIHRoaXMgaXMgc2V0dGFibGUuICovCi8qICN1bmRlZiBf
RklMRV9PRkZTRVRfQklUUyAqLwoKLyogRGVmaW5lIHRvIDEgaWYgR251bGliIG92ZXJyaWRl
cyAnc3RydWN0IHN0YXQnIG9uIFdpbmRvd3Mgc28gdGhhdCBzdHJ1Y3QKICAgc3RhdC5zdF9z
aXplIGJlY29tZXMgNjQtYml0LiAqLwovKiAjdW5kZWYgX0dMX1dJTkRPV1NfNjRfQklUX1NU
X1NJWkUgKi8KCi8qIERlZmluZSB0byAxIHRvIG1ha2UgZnNlZWtvIHZpc2libGUgb24gc29t
ZSBob3N0cyAoZS5nLiBnbGliYyAyLjIpLiAqLwovKiAjdW5kZWYgX0xBUkdFRklMRV9TT1VS
Q0UgKi8KCi8qIERlZmluZSBmb3IgbGFyZ2UgZmlsZXMsIG9uIEFJWC1zdHlsZSBob3N0cy4g
Ki8KLyogI3VuZGVmIF9MQVJHRV9GSUxFUyAqLwoKLyogRGVmaW5lIHRvIDEgaWYgb24gTUlO
SVguICovCi8qICN1bmRlZiBfTUlOSVggKi8KCi8qIERlZmluZSBpZiBHTlVzdGVwIHVzZXMg
T2JqQyBleGNlcHRpb25zLiAqLwovKiAjdW5kZWYgX05BVElWRV9PQkpDX0VYQ0VQVElPTlMg
Ki8KCi8qIERlZmluZSB0byAxIHRvIG1ha2UgTmV0QlNEIGZlYXR1cmVzIGF2YWlsYWJsZS4g
TUlOSVggMyBuZWVkcyB0aGlzLiAqLwovKiAjdW5kZWYgX05FVEJTRF9TT1VSQ0UgKi8KCi8q
IFRoZSBfTm9yZXR1cm4ga2V5d29yZCBvZiBDMTEuICAqLwojaWYgISAoZGVmaW5lZCBfTm9y
ZXR1cm4gXAogICAgICAgfHwgKGRlZmluZWQgX19TVERDX1ZFUlNJT05fXyAmJiAyMDExMTIg
PD0gX19TVERDX1ZFUlNJT05fXykpCiMgaWYgKDMgPD0gX19HTlVDX18gfHwgKF9fR05VQ19f
ID09IDIgJiYgOCA8PSBfX0dOVUNfTUlOT1JfXykgXAogICAgICB8fCAweDUxMTAgPD0gX19T
VU5QUk9fQykKIyAgZGVmaW5lIF9Ob3JldHVybiBfX2F0dHJpYnV0ZV9fICgoX19ub3JldHVy
bl9fKSkKIyBlbGlmIGRlZmluZWQgX01TQ19WRVIgJiYgMTIwMCA8PSBfTVNDX1ZFUgojICBk
ZWZpbmUgX05vcmV0dXJuIF9fZGVjbHNwZWMgKG5vcmV0dXJuKQojIGVsc2UKIyAgZGVmaW5l
IF9Ob3JldHVybgojIGVuZGlmCiNlbmRpZgoKCi8qIERlZmluZSB0byAyIGlmIHRoZSBzeXN0
ZW0gZG9lcyBub3QgcHJvdmlkZSBQT1NJWC4xIGZlYXR1cmVzIGV4Y2VwdCB3aXRoCiAgIHRo
aXMgZGVmaW5lZC4gKi8KLyogI3VuZGVmIF9QT1NJWF8xX1NPVVJDRSAqLwoKLyogRGVmaW5l
IHRvIDEgaWYgeW91IG5lZWQgdG8gaW4gb3JkZXIgZm9yICdzdGF0JyBhbmQgb3RoZXIgdGhp
bmdzIHRvIHdvcmsuICovCi8qICN1bmRlZiBfUE9TSVhfU09VUkNFICovCgovKiBEZWZpbmUg
dG8gMSBpZiB5b3VyIHN5c3RlbSByZXF1aXJlcyB0aGlzIGluIG11bHRpdGhyZWFkZWQgY29k
ZS4gKi8KLyogI3VuZGVmIF9SRUVOVFJBTlQgKi8KCi8qIE5lZWRlZCBmb3Igc3lzdGVtX3By
b2Nlc3NfYXR0cmlidXRlcyBvbiBTb2xhcmlzLiAqLwovKiAjdW5kZWYgX1NUUlVDVFVSRURf
UFJPQyAqLwoKLyogRGVmaW5lIHRvIDEgaWYgeW91ciBzeXN0ZW0gcmVxdWlyZXMgdGhpcyBp
biBtdWx0aXRocmVhZGVkIGNvZGUuICovCi8qICN1bmRlZiBfVEhSRUFEX1NBRkUgKi8KCi8q
IERlZmluZSB0byBycGxfIGlmIHRoZSBnZXRvcHQgcmVwbGFjZW1lbnQgZnVuY3Rpb25zIGFu
ZCB2YXJpYWJsZXMgc2hvdWxkIGJlCiAgIHVzZWQuICovCi8qICN1bmRlZiBfX0dFVE9QVF9Q
UkVGSVggKi8KCi8qIERlZmluZSB0byAxIGlmIEMgZG9lcyBub3Qgc3VwcG9ydCB2YXJpYWJs
ZS1sZW5ndGggYXJyYXlzLCBhbmQgaWYgdGhlCiAgIGNvbXBpbGVyIGRvZXMgbm90IGFscmVh
ZHkgZGVmaW5lIHRoaXMuICovCi8qICN1bmRlZiBfX1NURENfTk9fVkxBX18gKi8KCi8qIFNv
bWUgcGxhdGZvcm1zIHRoYXQgZG8gbm90IHVzZSBjb25maWd1cmUgZGVmaW5lIHRoaXMgdG8g
aW5jbHVkZSBleHRyYQogICBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uLiAqLwovKiAjdW5k
ZWYgY29uZmlnX29wc3lzZmlsZSAqLwoKLyogUGxlYXNlIHNlZSB0aGUgR251bGliIG1hbnVh
bCBmb3IgaG93IHRvIHVzZSB0aGVzZSBtYWNyb3MuCgogICBTdXBwcmVzcyBleHRlcm4gaW5s
aW5lIHdpdGggSFAtVVggY2MsIGFzIGl0IGFwcGVhcnMgdG8gYmUgYnJva2VuOyBzZWUKICAg
PGh0dHA6Ly9saXN0cy5nbnUub3JnL2FyY2hpdmUvaHRtbC9idWctdGV4aW5mby8yMDEzLTAy
L21zZzAwMDMwLmh0bWw+LgoKICAgU3VwcHJlc3MgZXh0ZXJuIGlubGluZSB3aXRoIFN1biBD
IGluIHN0YW5kYXJkcy1jb25mb3JtYW5jZSBtb2RlLCBhcyBpdAogICBtaXNoYW5kbGVzIGlu
bGluZSBmdW5jdGlvbnMgdGhhdCBjYWxsIGVhY2ggb3RoZXIuICBFLmcuLCBmb3IgJ2lubGlu
ZSB2b2lkIGYKICAgKHZvaWQpIHsgfSBpbmxpbmUgdm9pZCBnICh2b2lkKSB7IGYgKCk7IH0n
LCBjOTkgaW5jb3JyZWN0bHkgY29tcGxhaW5zCiAgICdyZWZlcmVuY2UgdG8gc3RhdGljIGlk
ZW50aWZpZXIgImYiIGluIGV4dGVybiBpbmxpbmUgZnVuY3Rpb24nLgogICBUaGlzIGJ1ZyB3
YXMgb2JzZXJ2ZWQgd2l0aCBTdW4gQyA1LjEyIFN1bk9TX2kzODYgMjAxMS8xMS8xNi4KCiAg
IFN1cHByZXNzIGV4dGVybiBpbmxpbmUgKHdpdGggb3Igd2l0aG91dCBfX2F0dHJpYnV0ZV9f
ICgoX19nbnVfaW5saW5lX18pKSkKICAgb24gY29uZmlndXJhdGlvbnMgdGhhdCBtaXN0YWtl
bmx5IHVzZSAnc3RhdGljIGlubGluZScgdG8gaW1wbGVtZW50CiAgIGZ1bmN0aW9ucyBvciBt
YWNyb3MgaW4gc3RhbmRhcmQgQyBoZWFkZXJzIGxpa2UgPGN0eXBlLmg+LiAgRm9yIGV4YW1w
bGUsCiAgIGlmIGlzZGlnaXQgaXMgbWlzdGFrZW5seSBpbXBsZW1lbnRlZCB2aWEgYSBzdGF0
aWMgaW5saW5lIGZ1bmN0aW9uLAogICBhIHByb2dyYW0gY29udGFpbmluZyBhbiBleHRlcm4g
aW5saW5lIGZ1bmN0aW9uIHRoYXQgY2FsbHMgaXNkaWdpdAogICBtYXkgbm90IHdvcmsgc2lu
Y2UgdGhlIEMgc3RhbmRhcmQgcHJvaGliaXRzIGV4dGVybiBpbmxpbmUgZnVuY3Rpb25zCiAg
IGZyb20gY2FsbGluZyBzdGF0aWMgZnVuY3Rpb25zLiAgVGhpcyBidWcgaXMga25vd24gdG8g
b2NjdXIgb246CgogICAgIE9TIFggMTAuOCBhbmQgZWFybGllcjsgc2VlOgogICAgIGh0dHA6
Ly9saXN0cy5nbnUub3JnL2FyY2hpdmUvaHRtbC9idWctZ251bGliLzIwMTItMTIvbXNnMDAw
MjMuaHRtbAoKICAgICBEcmFnb25GbHk7IHNlZQogICAgIGh0dHA6Ly9tdXNjbGVzLmRyYWdv
bmZseWJzZC5vcmcvYnVsay9ibGVlZGluZy1lZGdlLXBvdGVudGlhbC9sYXRlc3QtcGVyLXBr
Zy9haC10dHktMC4zLjEyLmxvZwoKICAgICBGcmVlQlNEOyBzZWU6CiAgICAgaHR0cDovL2xp
c3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL2J1Zy1nbnVsaWIvMjAxNC0wNy9tc2cwMDEwNC5o
dG1sCgogICBPUyBYIDEwLjkgaGFzIGEgbWFjcm8gX19oZWFkZXJfaW5saW5lIGluZGljYXRp
bmcgdGhlIGJ1ZyBpcyBmaXhlZCBmb3IgQyBhbmQKICAgZm9yIGNsYW5nIGJ1dCByZW1haW5z
IGZvciBnKys7IHNlZSA8aHR0cDovL3RyYWMubWFjcG9ydHMub3JnL3RpY2tldC80MTAzMz4u
CiAgIEFzc3VtZSBEcmFnb25GbHkgYW5kIEZyZWVCU0Qgd2lsbCBiZSBzaW1pbGFyLiAgKi8K
I2lmICgoKGRlZmluZWQgX19BUFBMRV9fICYmIGRlZmluZWQgX19NQUNIX18pIFwKICAgICAg
fHwgZGVmaW5lZCBfX0RyYWdvbkZseV9fIHx8IGRlZmluZWQgX19GcmVlQlNEX18pIFwKICAg
ICAmJiAoZGVmaW5lZCBfX2hlYWRlcl9pbmxpbmUgXAogICAgICAgICA/IChkZWZpbmVkIF9f
Y3BsdXNwbHVzICYmIGRlZmluZWQgX19HTlVDX1NURENfSU5MSU5FX18gXAogICAgICAgICAg
ICAmJiAhIGRlZmluZWQgX19jbGFuZ19fKSBcCiAgICAgICAgIDogKCghIGRlZmluZWQgX0RP
TlRfVVNFX0NUWVBFX0lOTElORV8gXAogICAgICAgICAgICAgJiYgKGRlZmluZWQgX19HTlVD
X18gfHwgZGVmaW5lZCBfX2NwbHVzcGx1cykpIFwKICAgICAgICAgICAgfHwgKGRlZmluZWQg
X0ZPUlRJRllfU09VUkNFICYmIDAgPCBfRk9SVElGWV9TT1VSQ0UgXAogICAgICAgICAgICAg
ICAgJiYgZGVmaW5lZCBfX0dOVUNfXyAmJiAhIGRlZmluZWQgX19jcGx1c3BsdXMpKSkpCiMg
ZGVmaW5lIF9HTF9FWFRFUk5fSU5MSU5FX1NUREhFQURFUl9CVUcKI2VuZGlmCiNpZiAoKF9f
R05VQ19fIFwKICAgICAgPyBkZWZpbmVkIF9fR05VQ19TVERDX0lOTElORV9fICYmIF9fR05V
Q19TVERDX0lOTElORV9fIFwKICAgICAgOiAoMTk5OTAxTCA8PSBfX1NURENfVkVSU0lPTl9f
IFwKICAgICAgICAgJiYgIWRlZmluZWQgX19IUF9jYyBcCiAgICAgICAgICYmICEoZGVmaW5l
ZCBfX1NVTlBST19DICYmIF9fU1REQ19fKSkpIFwKICAgICAmJiAhZGVmaW5lZCBfR0xfRVhU
RVJOX0lOTElORV9TVERIRUFERVJfQlVHKQojIGRlZmluZSBfR0xfSU5MSU5FIGlubGluZQoj
IGRlZmluZSBfR0xfRVhURVJOX0lOTElORSBleHRlcm4gaW5saW5lCiMgZGVmaW5lIF9HTF9F
WFRFUk5fSU5MSU5FX0lOX1VTRQojZWxpZiAoMiA8IF9fR05VQ19fICsgKDcgPD0gX19HTlVD
X01JTk9SX18pICYmICFkZWZpbmVkIF9fU1RSSUNUX0FOU0lfXyBcCiAgICAgICAmJiAhZGVm
aW5lZCBfR0xfRVhURVJOX0lOTElORV9TVERIRUFERVJfQlVHKQojIGlmIGRlZmluZWQgX19H
TlVDX0dOVV9JTkxJTkVfXyAmJiBfX0dOVUNfR05VX0lOTElORV9fCiAgIC8qIF9fZ251X2lu
bGluZV9fIHN1cHByZXNzZXMgYSBHQ0MgNC4yIGRpYWdub3N0aWMuICAqLwojICBkZWZpbmUg
X0dMX0lOTElORSBleHRlcm4gaW5saW5lIF9fYXR0cmlidXRlX18gKChfX2dudV9pbmxpbmVf
XykpCiMgZWxzZQojICBkZWZpbmUgX0dMX0lOTElORSBleHRlcm4gaW5saW5lCiMgZW5kaWYK
IyBkZWZpbmUgX0dMX0VYVEVSTl9JTkxJTkUgZXh0ZXJuCiMgZGVmaW5lIF9HTF9FWFRFUk5f
SU5MSU5FX0lOX1VTRQojZWxzZQojIGRlZmluZSBfR0xfSU5MSU5FIHN0YXRpYyBfR0xfVU5V
U0VECiMgZGVmaW5lIF9HTF9FWFRFUk5fSU5MSU5FIHN0YXRpYyBfR0xfVU5VU0VECiNlbmRp
ZgoKLyogSW4gR0NDIDQuNiAoaW5jbHVzaXZlKSB0byA1LjEgKGV4Y2x1c2l2ZSksCiAgIHN1
cHByZXNzIGJvZ3VzICJubyBwcmV2aW91cyBwcm90b3R5cGUgZm9yICdGT08nIgogICBhbmQg
Im5vIHByZXZpb3VzIGRlY2xhcmF0aW9uIGZvciAnRk9PJyIgZGlhZ25vc3RpY3MsCiAgIHdo
ZW4gRk9PIGlzIGFuIGlubGluZSBmdW5jdGlvbiBpbiB0aGUgaGVhZGVyOyBzZWUKICAgPGh0
dHBzOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTU0MTEzPiBhbmQK
ICAgPGh0dHBzOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTYzODc3
Pi4gICovCiNpZiBfX0dOVUNfXyA9PSA0ICYmIDYgPD0gX19HTlVDX01JTk9SX18KIyBpZiBk
ZWZpbmVkIF9fR05VQ19TVERDX0lOTElORV9fICYmIF9fR05VQ19TVERDX0lOTElORV9fCiMg
IGRlZmluZSBfR0xfSU5MSU5FX0hFQURFUl9DT05TVF9QUkFHTUEKIyBlbHNlCiMgIGRlZmlu
ZSBfR0xfSU5MSU5FX0hFQURFUl9DT05TVF9QUkFHTUEgXAogICAgIF9QcmFnbWEgKCJHQ0Mg
ZGlhZ25vc3RpYyBpZ25vcmVkIFwiLVdzdWdnZXN0LWF0dHJpYnV0ZT1jb25zdFwiIikKIyBl
bmRpZgojIGRlZmluZSBfR0xfSU5MSU5FX0hFQURFUl9CRUdJTiBcCiAgICBfUHJhZ21hICgi
R0NDIGRpYWdub3N0aWMgcHVzaCIpIFwKICAgIF9QcmFnbWEgKCJHQ0MgZGlhZ25vc3RpYyBp
Z25vcmVkIFwiLVdtaXNzaW5nLXByb3RvdHlwZXNcIiIpIFwKICAgIF9QcmFnbWEgKCJHQ0Mg
ZGlhZ25vc3RpYyBpZ25vcmVkIFwiLVdtaXNzaW5nLWRlY2xhcmF0aW9uc1wiIikgXAogICAg
X0dMX0lOTElORV9IRUFERVJfQ09OU1RfUFJBR01BCiMgZGVmaW5lIF9HTF9JTkxJTkVfSEVB
REVSX0VORCBcCiAgICBfUHJhZ21hICgiR0NDIGRpYWdub3N0aWMgcG9wIikKI2Vsc2UKIyBk
ZWZpbmUgX0dMX0lOTElORV9IRUFERVJfQkVHSU4KIyBkZWZpbmUgX0dMX0lOTElORV9IRUFE
RVJfRU5ECiNlbmRpZgoKLyogV29yayBhcm91bmQgYSBidWcgaW4gQXBwbGUgR0NDIDQuMC4x
IGJ1aWxkIDU0NjU6IEluIEM5OSBtb2RlLCBpdCBzdXBwb3J0cwogICB0aGUgSVNPIEMgOTkg
c2VtYW50aWNzIG9mICdleHRlcm4gaW5saW5lJyAodW5saWtlIHRoZSBHTlUgQyBzZW1hbnRp
Y3Mgb2YKICAgZWFybGllciB2ZXJzaW9ucyksIGJ1dCBkb2VzIG5vdCBkaXNwbGF5IGl0IGJ5
IHNldHRpbmcgX19HTlVDX1NURENfSU5MSU5FX18uCiAgIF9fQVBQTEVfXyAmJiBfX01BQ0hf
XyB0ZXN0IGZvciBNYWMgT1MgWC4KICAgX19BUFBMRV9DQ19fIHRlc3RzIGZvciB0aGUgQXBw
bGUgY29tcGlsZXIgYW5kIGl0cyB2ZXJzaW9uLgogICBfX1NURENfVkVSU0lPTl9fIHRlc3Rz
IGZvciB0aGUgQzk5IG1vZGUuICAqLwojaWYgZGVmaW5lZCBfX0FQUExFX18gJiYgZGVmaW5l
ZCBfX01BQ0hfXyAmJiBfX0FQUExFX0NDX18gPj0gNTQ2NSAmJiAhZGVmaW5lZCBfX2NwbHVz
cGx1cyAmJiBfX1NURENfVkVSU0lPTl9fID49IDE5OTkwMUwgJiYgIWRlZmluZWQgX19HTlVD
X1NURENfSU5MSU5FX18KIyBkZWZpbmUgX19HTlVDX1NURENfSU5MSU5FX18gMQojZW5kaWYK
Ci8qIERlZmluZSB0byAxIGlmIHRoZSBjb21waWxlciBpcyBjaGVja2luZyBmb3IgbGludC4g
Ki8KI2RlZmluZSBsaW50IDEKCi8qIERlZmluZSB0byBhIHR5cGUgaWYgPHdjaGFyLmg+IGRv
ZXMgbm90IGRlZmluZS4gKi8KLyogI3VuZGVmIG1ic3RhdGVfdCAqLwoKLyogRGVmaW5lIHRv
IHRoZSByZWFsIG5hbWUgb2YgdGhlIG1rdGltZV9pbnRlcm5hbCBmdW5jdGlvbi4gKi8KLyog
I3VuZGVmIG1rdGltZV9pbnRlcm5hbCAqLwoKLyogRGVmaW5lIHRvIGBpbnQnIGlmIDxzeXMv
dHlwZXMuaD4gZG9lcyBub3QgZGVmaW5lLiAqLwovKiAjdW5kZWYgbW9kZV90ICovCgovKiBE
ZWZpbmUgdG8gdGhlIG5hbWUgb2YgdGhlIHN0cmZ0aW1lIHJlcGxhY2VtZW50IGZ1bmN0aW9u
LiAqLwojZGVmaW5lIG15X3N0cmZ0aW1lIG5zdHJmdGltZQoKLyogRGVmaW5lIHRvIHRoZSB0
eXBlIG9mIHN0X25saW5rIGluIHN0cnVjdCBzdGF0LCBvciBhIHN1cGVydHlwZS4gKi8KLyog
I3VuZGVmIG5saW5rX3QgKi8KCi8qIERlZmluZSB0byBgaW50JyBpZiA8c3lzL3R5cGVzLmg+
IGRvZXMgbm90IGRlZmluZS4gKi8KLyogI3VuZGVmIHBpZF90ICovCgovKiBEZWZpbmUgdG8g
dGhlIGVxdWl2YWxlbnQgb2YgdGhlIEM5OSAncmVzdHJpY3QnIGtleXdvcmQsIG9yIHRvCiAg
IG5vdGhpbmcgaWYgdGhpcyBpcyBub3Qgc3VwcG9ydGVkLiAgRG8gbm90IGRlZmluZSBpZiBy
ZXN0cmljdCBpcwogICBzdXBwb3J0ZWQgZGlyZWN0bHkuICAqLwojZGVmaW5lIHJlc3RyaWN0
IF9fcmVzdHJpY3QKLyogV29yayBhcm91bmQgYSBidWcgaW4gU3VuIEMrKzogaXQgZG9lcyBu
b3Qgc3VwcG9ydCBfUmVzdHJpY3Qgb3IKICAgX19yZXN0cmljdF9fLCBldmVuIHRob3VnaCB0
aGUgY29ycmVzcG9uZGluZyBTdW4gQyBjb21waWxlciBlbmRzIHVwIHdpdGgKICAgIiNkZWZp
bmUgcmVzdHJpY3QgX1Jlc3RyaWN0IiBvciAiI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0
X18iIGluIHRoZQogICBwcmV2aW91cyBsaW5lLiAgUGVyaGFwcyBzb21lIGZ1dHVyZSB2ZXJz
aW9uIG9mIFN1biBDKysgd2lsbCB3b3JrIHdpdGgKICAgcmVzdHJpY3Q7IGlmIHNvLCBob3Bl
ZnVsbHkgaXQgZGVmaW5lcyBfX1JFU1RSSUNUIGxpa2UgU3VuIEMgZG9lcy4gICovCiNpZiBk
ZWZpbmVkIF9fU1VOUFJPX0NDICYmICFkZWZpbmVkIF9fUkVTVFJJQ1QKIyBkZWZpbmUgX1Jl
c3RyaWN0CiMgZGVmaW5lIF9fcmVzdHJpY3RfXwojZW5kaWYKCi8qIHR5cGUgdG8gdXNlIGlu
IHBsYWNlIG9mIHNvY2tsZW5fdCBpZiBub3QgZGVmaW5lZCAqLwovKiAjdW5kZWYgc29ja2xl
bl90ICovCgovKiBEZWZpbmUgYXMgYSBzaWduZWQgdHlwZSBvZiB0aGUgc2FtZSBzaXplIGFz
IHNpemVfdC4gKi8KLyogI3VuZGVmIHNzaXplX3QgKi8KCi8qIERlZmluZSB0byBlbmFibGUg
YXN5bmNocm9ub3VzIHN1YnByb2Nlc3Nlcy4gKi8KI2RlZmluZSBzdWJwcm9jZXNzZXMgMQoK
LyogRGVmaW5lIGFzIGEgbWFya2VyIHRoYXQgY2FuIGJlIGF0dGFjaGVkIHRvIGRlY2xhcmF0
aW9ucyB0aGF0IG1pZ2h0IG5vdAogICAgYmUgdXNlZC4gIFRoaXMgaGVscHMgdG8gcmVkdWNl
IHdhcm5pbmdzLCBzdWNoIGFzIGZyb20KICAgIEdDQyAtV3VudXNlZC1wYXJhbWV0ZXIuICAq
LwojaWYgX19HTlVDX18gPj0gMyB8fCAoX19HTlVDX18gPT0gMiAmJiBfX0dOVUNfTUlOT1Jf
XyA+PSA3KQojIGRlZmluZSBfR0xfVU5VU0VEIF9fYXR0cmlidXRlX18gKChfX3VudXNlZF9f
KSkKI2Vsc2UKIyBkZWZpbmUgX0dMX1VOVVNFRAojZW5kaWYKLyogVGhlIG5hbWUgX1VOVVNF
RF9QQVJBTUVURVJfIGlzIGFuIGVhcmxpZXIgc3BlbGxpbmcsIGFsdGhvdWdoIHRoZSBuYW1l
CiAgIGlzIGEgbWlzbm9tZXIgb3V0c2lkZSBvZiBwYXJhbWV0ZXIgbGlzdHMuICAqLwojZGVm
aW5lIF9VTlVTRURfUEFSQU1FVEVSXyBfR0xfVU5VU0VECgovKiBnY2Mgc3VwcG9ydHMgdGhl
ICJ1bnVzZWQiIGF0dHJpYnV0ZSBvbiBwb3NzaWJseSB1bnVzZWQgbGFiZWxzLCBhbmQKICAg
ZysrIGhhcyBzaW5jZSB2ZXJzaW9uIDQuNS4gIE5vdGUgdG8gc3VwcG9ydCBDKysgYXMgd2Vs
bCBhcyBDLAogICBfR0xfVU5VU0VEX0xBQkVMIHNob3VsZCBiZSB1c2VkIHdpdGggYSB0cmFp
bGluZyA7ICAqLwojaWYgIWRlZmluZWQgX19jcGx1c3BsdXMgfHwgX19HTlVDX18gPiA0IFwK
ICAgIHx8IChfX0dOVUNfXyA9PSA0ICYmIF9fR05VQ19NSU5PUl9fID49IDUpCiMgZGVmaW5l
IF9HTF9VTlVTRURfTEFCRUwgX0dMX1VOVVNFRAojZWxzZQojIGRlZmluZSBfR0xfVU5VU0VE
X0xBQkVMCiNlbmRpZgoKLyogVGhlIF9fcHVyZV9fIGF0dHJpYnV0ZSB3YXMgYWRkZWQgaW4g
Z2NjIDIuOTYuICAqLwojaWYgX19HTlVDX18gPiAyIHx8IChfX0dOVUNfXyA9PSAyICYmIF9f
R05VQ19NSU5PUl9fID49IDk2KQojIGRlZmluZSBfR0xfQVRUUklCVVRFX1BVUkUgX19hdHRy
aWJ1dGVfXyAoKF9fcHVyZV9fKSkKI2Vsc2UKIyBkZWZpbmUgX0dMX0FUVFJJQlVURV9QVVJF
IC8qIGVtcHR5ICovCiNlbmRpZgoKLyogVGhlIF9fY29uc3RfXyBhdHRyaWJ1dGUgd2FzIGFk
ZGVkIGluIGdjYyAyLjk1LiAgKi8KI2lmIF9fR05VQ19fID4gMiB8fCAoX19HTlVDX18gPT0g
MiAmJiBfX0dOVUNfTUlOT1JfXyA+PSA5NSkKIyBkZWZpbmUgX0dMX0FUVFJJQlVURV9DT05T
VCBfX2F0dHJpYnV0ZV9fICgoX19jb25zdF9fKSkKI2Vsc2UKIyBkZWZpbmUgX0dMX0FUVFJJ
QlVURV9DT05TVCAvKiBlbXB0eSAqLwojZW5kaWYKCgovKiBEZWZpbmUgYXMgYGZvcmsnIGlm
IGB2Zm9yaycgZG9lcyBub3Qgd29yay4gKi8KLyogI3VuZGVmIHZmb3JrICovCgojaW5jbHVk
ZSA8Y29uZl9wb3N0Lmg+CgojZW5kaWYgLyogRU1BQ1NfQ09ORklHX0ggKi8KCi8qCkxvY2Fs
IFZhcmlhYmxlczoKbW9kZTogYwpFbmQ6CiovCgo=
--------------030501020309050709010409--




Acknowledgement sent to Paul Eggert <eggert@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs@HIDDEN. Full text available.
Report forwarded to bug-gnu-emacs@HIDDEN:
bug#22884; Package emacs. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Fri, 13 May 2016 21:15:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.