GNU logs - #71776, boring messages


Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#71776: 31.0.50; [PATCH] js-ts-mode: conforming use of font lock faces in jsdoc.
Resent-From: Vincenzo Pupillo <v.pupillo@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 25 Jun 2024 14:17:02 +0000
Resent-Message-ID: <handler.71776.B.171932499521031 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: report 71776
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: 71776 <at> debbugs.gnu.org
X-Debbugs-Original-To: bug-gnu-emacs@HIDDEN
Received: via spool by submit <at> debbugs.gnu.org id=B.171932499521031
          (code B ref -1); Tue, 25 Jun 2024 14:17:02 +0000
Received: (at submit) by debbugs.gnu.org; 25 Jun 2024 14:16:35 +0000
Received: from localhost ([127.0.0.1]:37515 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sM6yJ-0005T9-8b
	for submit <at> debbugs.gnu.org; Tue, 25 Jun 2024 10:16:35 -0400
Received: from lists.gnu.org ([209.51.188.17]:37240)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <v.pupillo@HIDDEN>) id 1sM6yD-0005Sw-TO
 for submit <at> debbugs.gnu.org; Tue, 25 Jun 2024 10:16:33 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <v.pupillo@HIDDEN>)
 id 1sM6yB-0001E1-V4
 for bug-gnu-emacs@HIDDEN; Tue, 25 Jun 2024 10:16:27 -0400
Received: from mail-ej1-x62d.google.com ([2a00:1450:4864:20::62d])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <v.pupillo@HIDDEN>)
 id 1sM6yA-0003ih-6i
 for bug-gnu-emacs@HIDDEN; Tue, 25 Jun 2024 10:16:27 -0400
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-a72477a6096so324784766b.1
 for <bug-gnu-emacs@HIDDEN>; Tue, 25 Jun 2024 07:16:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1719324983; x=1719929783; darn=gnu.org;
 h=content-transfer-encoding:mime-version:message-id:date:subject:to
 :from:from:to:cc:subject:date:message-id:reply-to;
 bh=TWDenCdXRZfHQkPOJqI8pikbWEaAhIFv6OxBU9nRBNk=;
 b=gFQKoUREOHZRaSVaBHJ9zPBPk+XyBlxgn/ePcR4CLEmLIUEQgca4i0Ys95vTgdLdM6
 wRQWl/YnRobDOuivTKcgJ8v0pSavPM3whyEhLKNwTK49uBz5u05LvtkVocyVxjsP3hPz
 Cxf4G5Ei0erwheTp6wPAxX3lCpM5LUSJlTrHRq8FObtlhzmk9E7fW3iLDlCKJSg/0Vcx
 ZRFGEZzorXm8AotFb8YMArqR7x7z0ZwMWsc89aaFYfLfWHsT3x8ookz+qmuY2Uv4Ed1H
 eZ7+E6mrAzFR+oLhqp0ngeBr/tu8x4noSVZ+jEYBFKc5FH/iM2BijG3q6TC9VJVDpVH/
 sECw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1719324983; x=1719929783;
 h=content-transfer-encoding:mime-version:message-id:date:subject:to
 :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=TWDenCdXRZfHQkPOJqI8pikbWEaAhIFv6OxBU9nRBNk=;
 b=VtVvio8g0DbJDPgirkseOgrtgnxV+J6o1DC1DMmzAlliGXMovGYh4E6B23cHWpsF8D
 6pRNLiLEmg8OqgW3gG3OBAa657pMdUia+Du2TyVyVIPjj+T4UMFSrv8rMxkibxwYrAR6
 HxKsgO8z8aHy1iSqfv7Od3N0fjMakVawP/HzGOXlyoZO7TxLjVvJMnVQkOdp8gY2CJVe
 2pK1gM/6t1RXmgUGFKOX7Tlbg+34/EfU+3gOOHRHPn0L2twD5mXDdoQ4j3FzOJYNHI3Q
 hVKjwqRRJJapZoNjj43+ly4VT1vZIyevgoMCsizziv8CimkStCozeueEWMPwt/jB2ebk
 AihA==
X-Gm-Message-State: AOJu0YyNoLcHEc8/OA3zAZ0f9dYqy+yNUDCeIKpBdJ2ZzWXK6tXd5QSO
 z3HogDcgbrji1eu1mcMmmPSJYmBNn/VAZFLLLW+YJwzyz/4l5ChPeV66Vw==
X-Google-Smtp-Source: AGHT+IFZYdBfpXar3aje8ItjWDdbKTHwYNeJ0MDeeIs0j7Hj7yH9u3wLuJp07l4qnPwHkDGHl2GxAQ==
X-Received: by 2002:a17:906:37cf:b0:a70:3a15:110d with SMTP id
 a640c23a62f3a-a7245c642damr427181266b.69.1719324983083; 
 Tue, 25 Jun 2024 07:16:23 -0700 (PDT)
Received: from 3-191.divsi.unimi.it (3-191.divsi.unimi.it. [159.149.3.191])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a6fe4eeb106sm394521166b.167.2024.06.25.07.16.22
 for <bug-gnu-emacs@HIDDEN>
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 25 Jun 2024 07:16:22 -0700 (PDT)
From: Vincenzo Pupillo <v.pupillo@HIDDEN>
Date: Tue, 25 Jun 2024 16:16:21 +0200
Message-ID: <2796980.fDdHjke4Dd@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="nextPart2788866.vYhyI6sBWr"
Content-Transfer-Encoding: 7Bit
Received-SPF: pass client-ip=2a00:1450:4864:20::62d;
 envelope-from=v.pupillo@HIDDEN; helo=mail-ej1-x62d.google.com
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001,
 RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.3 (-)
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 (--)

This is a multi-part message in MIME format.

--nextPart2788866.vYhyI6sBWr
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="utf-8"

Hi,
The use of font lock faces by jsdoc in js-ts-mode is different from that done in 
other major-modes such as java-mode or c++-mode. This patch makes them more similar.

Thanks.
Vincenzo
--nextPart2788866.vYhyI6sBWr
Content-Disposition: attachment;
 filename="0001-Conforming-use-of-font-lock-faces-in-jsdoc.patch"
Content-Transfer-Encoding: 7Bit
Content-Type: text/x-patch; charset="x-UTF_8J";
 name="0001-Conforming-use-of-font-lock-faces-in-jsdoc.patch"

From a81051ab74bd8bb29843206beaf481cf8270b4aa Mon Sep 17 00:00:00 2001
From: Vincenzo Pupillo <v.pupillo@HIDDEN>
Date: Tue, 25 Jun 2024 15:54:17 +0200
Subject: [PATCH] Conforming use of font lock faces in jsdoc

* lisp/progmodes/js.el (js--treesit-font-lock-settings):
Use 'font-lock-doc-face' for 'document' node type,
font-lock-constant-face for 'tag_name' and 'font-lock-type' face
for 'type'.

* lisp/progmodes/js.el (js-ts-mode): Add 'document' to
'treesit-font-lock-feature-list'.
---
 lisp/progmodes/js.el | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

diff --git a/lisp/progmodes/js.el b/lisp/progmodes/js.el
index 529b31669ed..e9962c36a46 100644
--- a/lisp/progmodes/js.el
+++ b/lisp/progmodes/js.el
@@ -3636,10 +3636,16 @@ js--treesit-font-lock-settings
    :override t
    '((escape_sequence) @font-lock-escape-face)
 
+   ;; "document" should be first, to avoid overlap.
+   :language 'jsdoc
+   :override t
+   :feature 'document
+   '((document) @font-lock-doc-face)
+
    :language 'jsdoc
    :override t
    :feature 'keyword
-   '((tag_name) @font-lock-keyword-face)
+   '((tag_name) @font-lock-constant-face)
 
    :language 'jsdoc
    :override t
@@ -3649,17 +3655,12 @@ js--treesit-font-lock-settings
    :language 'jsdoc
    :override t
    :feature 'property
-   '((type) @font-lock-variable-use-face)
+   '((type) @font-lock-type-face)
 
    :language 'jsdoc
    :override t
    :feature 'definition
-   '((identifier) @font-lock-variable-name-face)
-
-   :language 'jsdoc
-   :override t
-   :feature 'comment
-   '((description) @font-lock-comment-face))
+   '((identifier) @font-lock-variable-name-face))
   "Tree-sitter font-lock settings.")
 
 (defun js--fontify-template-string (node override start end &rest _)
@@ -3933,7 +3934,7 @@ js-ts-mode
     ;; Fontification.
     (setq-local treesit-font-lock-settings js--treesit-font-lock-settings)
     (setq-local treesit-font-lock-feature-list
-                '(( comment definition)
+                '(( comment document definition)
                   ( keyword string)
                   ( assignment constant escape-sequence jsx number
                     pattern string-interpolation)
-- 
2.45.2


--nextPart2788866.vYhyI6sBWr--







Message sent:


Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Mailer: MIME-tools 5.505 (Entity 5.505)
Content-Type: text/plain; charset=utf-8
X-Loop: help-debbugs@HIDDEN
From: help-debbugs@HIDDEN (GNU bug Tracking System)
To: Vincenzo Pupillo <v.pupillo@HIDDEN>
Subject: bug#71776: Acknowledgement (31.0.50; [PATCH] js-ts-mode:
 conforming use of font lock faces in jsdoc.)
Message-ID: <handler.71776.B.171932499521031.ack <at> debbugs.gnu.org>
References: <2796980.fDdHjke4Dd@HIDDEN>
X-Gnu-PR-Message: ack 71776
X-Gnu-PR-Package: emacs
X-Gnu-PR-Keywords: patch
Reply-To: 71776 <at> debbugs.gnu.org
Date: Tue, 25 Jun 2024 14:17:02 +0000

Thank you for filing a new bug report with debbugs.gnu.org.

This is an automatically generated reply to let you know your message
has been received.

Your message is being forwarded to the package maintainers and other
interested parties for their attention; they will reply in due course.

Your message has been sent to the package maintainer(s):
 bug-gnu-emacs@HIDDEN

If you wish to submit further information on this problem, please
send it to 71776 <at> debbugs.gnu.org.

Please do not send mail to help-debbugs@HIDDEN unless you wish
to report a problem with the Bug-tracking system.

--=20
71776: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D71776
GNU Bug Tracking System
Contact help-debbugs@HIDDEN with problems


Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#71776: 31.0.50; [PATCH] js-ts-mode: conforming use of font lock faces in jsdoc.
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 27 Jun 2024 09:48:02 +0000
Resent-Message-ID: <handler.71776.B71776.17194816533678 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 71776
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Vincenzo Pupillo <v.pupillo@HIDDEN>, Dmitry Gutov <dmitry@HIDDEN>
Cc: 71776 <at> debbugs.gnu.org
Received: via spool by 71776-submit <at> debbugs.gnu.org id=B71776.17194816533678
          (code B ref 71776); Thu, 27 Jun 2024 09:48:02 +0000
Received: (at 71776) by debbugs.gnu.org; 27 Jun 2024 09:47:33 +0000
Received: from localhost ([127.0.0.1]:41046 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sMlj3-0000xE-Cq
	for submit <at> debbugs.gnu.org; Thu, 27 Jun 2024 05:47:33 -0400
Received: from eggs.gnu.org ([209.51.188.92]:60322)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1sMlj1-0000wz-Kp
 for 71776 <at> debbugs.gnu.org; Thu, 27 Jun 2024 05:47:31 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1sMlit-0004F0-Eg; Thu, 27 Jun 2024 05:47:23 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=WQQuVGPiiZQGRTZgD7mckgQbBfsJ/doj4+GRDUkteUc=; b=bXrhaCWrkAYf
 PTo4wnmSPE6rr4016aQ0XPtIomgpDaifRclN5+rSBdgORQqEOCsUBX/UVwfCiJVGIONdwVwf1tf9/
 YAId/bwpFNBHRunuNZuHWZhKWtf1QvIdroAynYKdx41a3N2et2iSWhlyMM14iJmvRGQirOS7+F0CI
 77lo9NQRq+AbkvdVCModbgoMpPbSOL1pIFbGroFuOAa4bB9Q7xuGDv3+454dUF+k5njEVbWjPW2H+
 ZPm0eLw9kqDNPuYuYgDySEZVEYZldtZS4jsHopqReSH8mZyiGJQpcah3NIY/4vOF+79aVy01D4BoE
 PclU/HmeD5/iYScsnL/whA==;
Date: Thu, 27 Jun 2024 12:47:20 +0300
Message-Id: <86bk3m67kn.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <2796980.fDdHjke4Dd@HIDDEN> (message from Vincenzo
 Pupillo on Tue, 25 Jun 2024 16:16:21 +0200)
References: <2796980.fDdHjke4Dd@HIDDEN>
X-Spam-Score: -2.3 (--)
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: -3.3 (---)

> From: Vincenzo Pupillo <v.pupillo@HIDDEN>
> Date: Tue, 25 Jun 2024 16:16:21 +0200
> 
> The use of font lock faces by jsdoc in js-ts-mode is different from that done in 
> other major-modes such as java-mode or c++-mode. This patch makes them more similar.

Thanks.

Dmitry, any comments?  On which branch should we install this, if you
agree with the changes?




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#71776: 31.0.50; [PATCH] js-ts-mode: conforming use of font lock faces in jsdoc.
Resent-From: Vincenzo Pupillo <v.pupillo@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 27 Jun 2024 10:35:01 +0000
Resent-Message-ID: <handler.71776.B71776.17194844668174 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 71776
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Dmitry Gutov <dmitry@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>
Cc: 71776 <at> debbugs.gnu.org
Received: via spool by 71776-submit <at> debbugs.gnu.org id=B71776.17194844668174
          (code B ref 71776); Thu, 27 Jun 2024 10:35:01 +0000
Received: (at 71776) by debbugs.gnu.org; 27 Jun 2024 10:34:26 +0000
Received: from localhost ([127.0.0.1]:41101 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sMmSQ-00027m-Il
	for submit <at> debbugs.gnu.org; Thu, 27 Jun 2024 06:34:26 -0400
Received: from mail-ej1-f53.google.com ([209.85.218.53]:49456)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <v.pupillo@HIDDEN>) id 1sMmSP-00027a-0m
 for 71776 <at> debbugs.gnu.org; Thu, 27 Jun 2024 06:34:25 -0400
Received: by mail-ej1-f53.google.com with SMTP id
 a640c23a62f3a-a727d9dd367so331741966b.3
 for <71776 <at> debbugs.gnu.org>; Thu, 27 Jun 2024 03:34:22 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1719484396; x=1720089196; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:references:in-reply-to
 :message-id:date:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=WOcdVIBNgrGrMHZC0tdEKjExZeSYJgSeHwgR0UvK+HQ=;
 b=TmCSFaUz9W5dG5pEp6OZ5BHiApXO29fsrxPQm9Nem/JLLQnlrfD8er3vb7g6IP1ecc
 RDDSPRn0DqOiml6UlaF9RBsRzCLXL5XLh+e9bAlHyyP2vVUNjkbtjROZ0m1TdOBB4pb0
 JAFFyUAJa+misxcf51xp+pHuMos6fSdq4Q5pcHmf/WidtLnsme6N1jXVO2HcLRgiOwNO
 hcBC8DhUODrXinu2XhaWaGlkxUPr1q27STbO3vcrBPFUxUfxNvtYZZJyGcZZr2EfoCak
 xYcRzwq7XZqXmYhdHAmt9sh/etWktvDk7SB+AdNYgrHUD0b5shLtQa+P4e+FYLOgy2l+
 B5QQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1719484396; x=1720089196;
 h=content-transfer-encoding:mime-version:references:in-reply-to
 :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=WOcdVIBNgrGrMHZC0tdEKjExZeSYJgSeHwgR0UvK+HQ=;
 b=vprjOm00ooUM9ubmZ+6Wctljh9OpACpXF548CEQmbKSJnVNtutT27bM6JgKL5MEm11
 cEAyevliIbOPGCYlgDk2dX8NiEqAlaTkukgDDU4zSAiCLHEHg8hc3JZgSKCzn0a/0BSa
 vnIqwD4+OLj9V18u6B/DEkLR6EgBmaNSIkoFiId7rbNBWCWJSPw/EXKr4im+/R+7QYOr
 7K6yMeC6tLbSidAsxXNSu6ai7SowfCHmRv+wbsA1voqiJCbtYv0BdL7qCM3/TEQZbGcV
 16kdX/Q3Ma7Ktqt6hCmw5T4WZdYxngFvKDrbnScLu0LEEYErpQ0uQrMC6EuzWpVWOOc/
 YMlw==
X-Gm-Message-State: AOJu0Ywm7nLaA0e2DYJfx1QIt/c27FKxwAFz+pS0xmqLwSHE6Q5z9o14
 3HSK12VYlXxK3xWeyzlIZbXy0aiYBL4oU7wJYGOB0ScdZeCveEGs
X-Google-Smtp-Source: AGHT+IGmFKaFl59c9I2wBtH2yC7UnVazOoXfcGo9RiIIgqo4PI+iP9JY55RymxhnXHnx+2XOAs8Iow==
X-Received: by 2002:a17:906:278d:b0:a6e:fad9:6dbb with SMTP id
 a640c23a62f3a-a7242b95324mr996374766b.0.1719484396362; 
 Thu, 27 Jun 2024 03:33:16 -0700 (PDT)
Received: from fedora.localnet (2-230-139-124.ip202.fastwebnet.it.
 [2.230.139.124]) by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-a729d7ca3a9sm46209666b.223.2024.06.27.03.33.15
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 27 Jun 2024 03:33:16 -0700 (PDT)
From: Vincenzo Pupillo <v.pupillo@HIDDEN>
Date: Thu, 27 Jun 2024 12:33:15 +0200
Message-ID: <26457965.1r3eYUQgxm@fedora>
In-Reply-To: <86bk3m67kn.fsf@HIDDEN>
References: <2796980.fDdHjke4Dd@HIDDEN> <86bk3m67kn.fsf@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="utf-8"
X-Spam-Score: -0.0 (/)
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 (-)

In data gioved=C3=AC 27 giugno 2024 11:47:20 CEST, Eli Zaretskii ha scritto:
> > From: Vincenzo Pupillo <v.pupillo@HIDDEN>
> > Date: Tue, 25 Jun 2024 16:16:21 +0200
> >=20
> > The use of font lock faces by jsdoc in js-ts-mode is different from that
> > done in other major-modes such as java-mode or c++-mode. This patch mak=
es
> > them more similar.
> Thanks.
>=20
> Dmitry, any comments?  On which branch should we install this, if you
> agree with the changes?
Please wait. I noticed this morning that there are problems with multiple=20
comment blocks in the same file.=20

Thanks.
V.






Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#71776: 31.0.50; [PATCH] js-ts-mode: conforming use of font lock faces in jsdoc.
Resent-From: Vincenzo Pupillo <v.pupillo@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 27 Jun 2024 20:32:02 +0000
Resent-Message-ID: <handler.71776.B71776.171952031614670 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 71776
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Dmitry Gutov <dmitry@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>
Cc: 71776 <at> debbugs.gnu.org
Received: via spool by 71776-submit <at> debbugs.gnu.org id=B71776.171952031614670
          (code B ref 71776); Thu, 27 Jun 2024 20:32:02 +0000
Received: (at 71776) by debbugs.gnu.org; 27 Jun 2024 20:31:56 +0000
Received: from localhost ([127.0.0.1]:43471 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sMvme-0003oX-4U
	for submit <at> debbugs.gnu.org; Thu, 27 Jun 2024 16:31:56 -0400
Received: from mail-wr1-f45.google.com ([209.85.221.45]:56333)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <v.pupillo@HIDDEN>) id 1sMvmb-0003oL-V3
 for 71776 <at> debbugs.gnu.org; Thu, 27 Jun 2024 16:31:54 -0400
Received: by mail-wr1-f45.google.com with SMTP id
 ffacd0b85a97d-364a3d5d901so5526088f8f.0
 for <71776 <at> debbugs.gnu.org>; Thu, 27 Jun 2024 13:31:50 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1719520245; x=1720125045; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:references:in-reply-to
 :message-id:date:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=5VhPns0i4QnJsepnN+Zhnj1adpoFpFgtfqL364fjyE0=;
 b=eVtNEcEGWJNe7OxWIdVBNgk4VwcbTTnnxUKE5dLMPgPKXIn/AZzMjCPBwlwM94xqWq
 03DZMBsV8CSgGBCAn2lK5Zw7C8TH/dtCwMDZpRtTKlP8B6AxC1D+owgUtgpPQm7oMFKU
 qjAr4hcVC568xHR0ZqNBx6lIAGkJFeCkh+ezRF101xQsLju6PGJ2UqfEZ6twKeIBUWkk
 uE1ddo81msiSmDaH/YXtE1DacZkwep9I4WHuyNez/2/JQGecq/FN/RE0L8riB0+sEmZ6
 eEKTG5TO87knaWcttJAOuKR6Ogdgi4pYdyp3NVkf6s10FcZ3lFCzH94Bkg0Ga3DaxD+J
 y8zg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1719520245; x=1720125045;
 h=content-transfer-encoding:mime-version:references:in-reply-to
 :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=5VhPns0i4QnJsepnN+Zhnj1adpoFpFgtfqL364fjyE0=;
 b=ukS3u/0g4XpFUjC4v+S9PDVC6MLv3KUwWcoJ4KVCO02P4kahjFOQtiji+29qmyKAoR
 cURTabk5uz0/6VgNnuJNnKAaR6tAkf7xP+X5ROHcClwH9qsyCfFUxFF/qOlfo2vYPpZJ
 p0ONZZZ4KnRIsWdfB9oBqoiueT/rOb3TuRBQ1dx4wL1cDog4SMig6y5htUt950wclLq5
 wE3j7aJa4ade6iNXtQKZXixF60HiH/bFjB2eCN4sxWr9I1RbQvictjffzU5JaXkajAUF
 TGKluqScY/0Em8ZnSQCBC0QcH+nqBCXABqwJy7QagQ+QZE3ESAFsDIB+k+6Yqy37QkCn
 PODQ==
X-Gm-Message-State: AOJu0YyY1DZnmyYakD/wVHsf2KusxBmCxwBxwHHWrC2YEVjWsAPu3dOb
 tdQ1c0eucFYGcVakbe5t43lT72WwFwPTOG6/8CHRDk2ji8uzF/1dwSCODrkGzYc=
X-Google-Smtp-Source: AGHT+IE4ljaDEaIJJfCxrH7xDHI2YQeS7+vnU1PrGo3cUp1R/857llHokqZQMlwnSxoK8dVpcp2haQ==
X-Received: by 2002:a2e:3218:0:b0:2ec:55f3:40d with SMTP id
 38308e7fff4ca-2ec5b346102mr86472911fa.30.1719516034791; 
 Thu, 27 Jun 2024 12:20:34 -0700 (PDT)
Received: from fedora.localnet (2-230-139-124.ip202.fastwebnet.it.
 [2.230.139.124]) by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-58612c835b9sm64786a12.3.2024.06.27.12.20.33
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 27 Jun 2024 12:20:33 -0700 (PDT)
From: Vincenzo Pupillo <v.pupillo@HIDDEN>
Date: Thu, 27 Jun 2024 21:20:32 +0200
Message-ID: <2641653.vYhyI6sBWr@fedora>
In-Reply-To: <26457965.1r3eYUQgxm@fedora>
References: <2796980.fDdHjke4Dd@HIDDEN> <86bk3m67kn.fsf@HIDDEN>
 <26457965.1r3eYUQgxm@fedora>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="nextPart5106780.Qq0lBPeGtt"
Content-Transfer-Encoding: 7Bit
X-Spam-Score: -0.0 (/)
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.

--nextPart5106780.Qq0lBPeGtt
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="utf-8"

In data gioved=C3=AC 27 giugno 2024 12:33:15 CEST, Vincenzo Pupillo ha scri=
tto:
> In data gioved=C3=AC 27 giugno 2024 11:47:20 CEST, Eli Zaretskii ha scrit=
to:
> > > From: Vincenzo Pupillo <v.pupillo@HIDDEN>
> > > Date: Tue, 25 Jun 2024 16:16:21 +0200
> > >=20
> > > The use of font lock faces by jsdoc in js-ts-mode is different from t=
hat
> > > done in other major-modes such as java-mode or c++-mode. This patch
> > > makes
> > > them more similar.
> >=20
> > Thanks.
> >=20
> > Dmitry, any comments?  On which branch should we install this, if you
> > agree with the changes?
>=20
> Please wait. I noticed this morning that there are problems with multiple
> comment blocks in the same file.
>=20
> Thanks.
> V.

Hi, this patch fix the treesit range rule for the jsdoc parser.=20
As you can see from the attached screenshots, with the previous rule the=20
parser throws an error (look at the modeline). With the new one, it doesn't=
=20
happen anymore, and now the font lock is correct (I applied both patches I=
=20
sent for this bug).

Thanks.
Vincenzo
--nextPart5106780.Qq0lBPeGtt
Content-Disposition: attachment;
 filename="0001-Fix-treesit-range-rule-for-jsdoc.patch"
Content-Transfer-Encoding: 7Bit
Content-Type: text/x-patch; charset="x-UTF_8J";
 name="0001-Fix-treesit-range-rule-for-jsdoc.patch"

From 0002186ff06659407ec32e76b18b4cf45e6f35f9 Mon Sep 17 00:00:00 2001
From: Vincenzo Pupillo <v.pupillo@HIDDEN>
Date: Thu, 27 Jun 2024 16:13:58 +0200
Subject: [PATCH] Fix treesit range rule for jsdoc

The parser for jsdoc is local, so it is necessary for the range
rule to take this into account.

* lisp/progmodes/js.el (js-ts-mode): Add ':local' keyword.

* lisp/progmodes/js.el (js-ts-language-at-point): Removed
'js-ts-language-at-point'.
---
 lisp/progmodes/js.el | 33 +++++++++++----------------------
 1 file changed, 11 insertions(+), 22 deletions(-)

diff --git a/lisp/progmodes/js.el b/lisp/progmodes/js.el
index 529b31669ed..31e8f2924ac 100644
--- a/lisp/progmodes/js.el
+++ b/lisp/progmodes/js.el
@@ -3636,10 +3636,16 @@ js--treesit-font-lock-settings
    :override t
    '((escape_sequence) @font-lock-escape-face)
 
+   ;; "document" should be first, to avoid overlap.
+   :language 'jsdoc
+   :override t
+   :feature 'document
+   '((document) @font-lock-doc-face)
+
    :language 'jsdoc
    :override t
    :feature 'keyword
-   '((tag_name) @font-lock-keyword-face)
+   '((tag_name) @font-lock-constant-face)
 
    :language 'jsdoc
    :override t
@@ -3649,17 +3655,12 @@ js--treesit-font-lock-settings
    :language 'jsdoc
    :override t
    :feature 'property
-   '((type) @font-lock-variable-use-face)
+   '((type) @font-lock-type-face)
 
    :language 'jsdoc
    :override t
    :feature 'definition
-   '((identifier) @font-lock-variable-name-face)
-
-   :language 'jsdoc
-   :override t
-   :feature 'comment
-   '((description) @font-lock-comment-face))
+   '((identifier) @font-lock-variable-name-face))
   "Tree-sitter font-lock settings.")
 
 (defun js--fontify-template-string (node override start end &rest _)
@@ -3933,7 +3934,7 @@ js-ts-mode
     ;; Fontification.
     (setq-local treesit-font-lock-settings js--treesit-font-lock-settings)
     (setq-local treesit-font-lock-feature-list
-                '(( comment definition)
+                '(( comment document definition)
                   ( keyword string)
                   ( assignment constant escape-sequence jsx number
                     pattern string-interpolation)
@@ -3944,10 +3945,9 @@ js-ts-mode
                   (treesit-range-rules
                    :embed 'jsdoc
                    :host 'javascript
+                   :local t
                    `(((comment) @capture (:match ,js--treesit-jsdoc-beginning-regexp @capture))))))
 
-    (setq-local treesit-language-at-point-function #'js-ts-language-at-point)
-
     ;; Imenu
     (setq-local treesit-simple-imenu-settings
                 `(("Function" "\\`function_declaration\\'" nil nil)
@@ -3989,17 +3989,6 @@ js-ts--syntax-propertize
         (put-text-property ns (1+ ns) 'syntax-table syntax)
         (put-text-property (1- ne) ne 'syntax-table syntax)))))
 
-(defun js-ts-language-at-point (point)
-  "Return the language at POINT."
-  (let ((node (treesit-node-at point 'javascript)))
-    (if (and (treesit-ready-p 'jsdoc)
-             (equal (treesit-node-type node) "comment")
-             (string-match-p
-              js--treesit-jsdoc-beginning-regexp
-              (treesit-node-text node)))
-        'jsdoc
-      'javascript)))
-
 ;;;###autoload
 (define-derived-mode js-json-mode prog-mode "JSON"
   :syntax-table js-mode-syntax-table
-- 
2.45.2


--nextPart5106780.Qq0lBPeGtt
Content-Disposition: attachment; filename="js-jsdoc-master.png"
Content-Transfer-Encoding: base64
Content-Type: image/png; name="js-jsdoc-master.png"

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


--nextPart5106780.Qq0lBPeGtt
Content-Disposition: attachment; filename="js_jsdoc_with_patch.png"
Content-Transfer-Encoding: base64
Content-Type: image/png; name="js_jsdoc_with_patch.png"

iVBORw0KGgoAAAANSUhEUgAAAjMAAAJCCAYAAAA1LEamAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAg
AElEQVR4Xuzdd5gT1d4H8O9kkyzbK9uoSkdFUWxXBRREpdj79VVBbNcuijRBUcB21WvFDnLlioK9
gI0uRcVCUym7tIWtsDWbspn3j92E5OwkkzLJZpbv53nOs5tTZs4kk5lfzplJpI8++VRe/M33qKur
gyzLICIiItIT44IPP0LlwYOoqqqG3W4Xy4mIiIhimrFo127YbDYxn4iIiEgXDAxkiIiISM+MYoab
LMEomdEOaUiKy4LREA+7w4I6ZzkapGo0ynZAEhsRERERRZdiMBMHE9LiO6BL9inI69wT8WlJMBgM
kJxOWCqqsKdwE3ZVbkCNswSy1Cg2JyIiIoqaFsGMAUbkJvZGn57DkJrfHgAgQUJyogkdCpJgMmYj
u30G0rfkY+veH1DpKIKTAQ0RERG1EoPXI1lCmqkjevc6F+kdcpGUZEJOdiK6dk5Fz54Z6NknCwOH
dkHnrmnIzu2AnjkDkShlAiHc0W02m/HMkzNw+mmniEVEpHPXXHk57vrXrWI2xYAb/u9afPf1Z/ji
kw8RHx8vFvvUp3cvfPzBfDGbKCZ4BTNxkgldswcgLS8HZqOE3r2yMHxUN5x2egE6d0qF1Cjjr99K
Ubq3Bk6rE5np+ciP7wsD4jwXo8psNuPfT87AoLPOxDNPzGRAQxRlnTt1RJ/evcTsoJx68gCkp6eJ
2QCAVT+uxeJvvhOzQ2Y2m3HbzTdh0YL3sHrZt1j8+cd45skZSE1JAQBMHD8OX3/2EZKSkrzazXvn
Dfd2PjlzOi675CKv8k4dO2LpN1965blMHD8OP/243CuF+5xFg7/XNjUlBTePuRHXXn8TLr3yWlit
VrEKkS55TTO1QypyOvYEGmU47U7YLA44HU5UlNXjl1X7UFFci0abE2h0Qm6UITUC+Sndsav+F9ji
aj0X1UJCQjvYbHbExcXh30/OwGmnNgUwZrMJl11yEdasXS82IaIIuXDkCOw/cABb//xLLArYbbfc
hEdnPIFDh6rEIuzZu1fMCllcXBxe/s+/YbXZ8PAjj6GoaBfS09NxzDF9UF1T41Xv1rGj8ex/XvJq
H443356LN9+Z637c2Bj7U+r+XtucnPYor6hEaVmZWESka17BTKKUgXbJSZDtTlgbGrFtUzniZKBr
93SceHoB9u04hKKtlaipsAAOJ+CQkRSfDlNjgmowc+P116FXjx4wmYw45eQB7vy169Zj0sOPetUl
osgZNWI4rrj8Etjtdtzwf9fi4Ucewx8bN+OWm0bjkotHATLwwaKP8facd4HmKaNrrr4CiYmJOHCg
BA9NnoobrrsWffv0xisvPAuHw4GLL78GTqfTvY6bRl+PrMxMPPXv55Gbm4NHHp6Eo4/qClmWsejj
T/HGW3M8euTf8POHIS0tFf+8Yaz7iz3rLRYU79/vVW/+gg9w3bVX47MvvsL2HTu9ykLllJ2KAcz3
S77AS6+8hptvuhHx8fF48+25aGhowE2jr0e7du3w/gcL8ebbTUHQqBHDcf0/r0ZGZgb27SvG1Ecf
x67dewAA5w49B7eOHYP8vFzsLCzC6JtvR/8T+mHcvXchOysLtXX1ePb5F7Fi1Wqv9aenp2Ha5Ino
07sXJIOERR99itffekfxtf39j00AgO7djsZjjzyMvNwcfPbRAvx3/gJ8sPAjDDl7MO76161ITk7C
2vU/Y8YTT8FiaYDRaMR9d9+BYUOHoLa2Fp998ZVXH4YOORu33zIWWZkZ2LGzEDOffAY7dhYCAJZ8
+QmmTJuOyRPGo7CwCPc9OAHj7r0LgweehYSEdvj1tz8wedp0fscZacYrmImTzJBkQJJlpKXFo0ef
LOTkJ8FoNCAlxYyUFDPiJDQFMnYn0AjEO80wyOrTTG+9MxfPPf0E+p9wvDtv7br1GPfQZO7QRFH0
+Zdf4eQBJ+L3PzZi0cefAs0n3IFnnYErr7keksGAee+8ji1b/8TWrX/i1ltuwkWXXY3q6mp0O/oo
7N9/ADOffAZn/OM03HHPOBQV7RJX4eW6a67Cxk2bcfud9yIpMRFZWZliFb9OP/UULP7me9VvKK+q
qsabb8/FhAfvx8233xXRn2dJTkpCj+7dMPLiK3DsMX3xxqsvYsk33+HSK69FXm4u5r/7Nj77/CuU
lpVhZ2Eh7rz3AZSUlmLcvXdhzI3XY9r0Geh29FGY+OA43PfgQ9iy9S906FAAh8OB+++5C8+/8ArW
rv8JuTk5cDgc4upRXV2DhR99gnU//Yzs7CwseG8uvly8RPG1ddm+YyemTZ+BJ2dMxyVXXgsA6NK5
EyZNeAC33H4XinbtxhMzpmPMDdfj5dmv49KLL8Tx/Y7D5VdfB4fDgSdnPeZe1tFHdcWEB+/H3fc9
iC1b/8SVl1+KZ5+ehcuuaqqbmpKC66+7FnfeOw5lZeUAgNU/rsWrr70JR2MjXn/lBZw/bGiLAIko
VF7XzDicVjhtDiTEG3HqWR1xxpDOyG6fiL9/LcWqz3dgw9I9OLS/DrJNhuSQYLTHAVYnnGj5ZhPZ
bHa8978FkCQJdrsd63/6mYEMUYwYdu45+GDhR6iuqUFVVRW+/X4pBp75D9TU1qK+vh6XXDQSCe3a
YfuOnV4jMIHYtXsPzjj9NPTt0xt19fXYvSe4KaiMzAz3CREA7r/nTnz39Wf47uvPMHjQWe58g8GA
DxZ+hHbt2mHEBee588Nxy02j3dfLrFu11Kvsw0WfwOl04o+Nm1BVVY1Fn3wKm82O3Xv2Ys/efcjP
zwUAbN6yFSWlpQCANevWoyA/DwAweNBZWLZiBX7/YxPsdrs7KCwq2oWRIy5Abm4OSkpLUVFZ6bHW
Jk6nE6vXrIXD4cCBAyUoLCxCfl7TcoNxzuBBWL16DXbsLERjYyM++fRzDDzrDADAwLPOwIIPP0JV
dTXq6uux4MNF7nZnDx6Ilat+xJatfwIAPlj4EeIMcTju2GOA5tfizbfnYO/efe7rctau/wn1Fgts
Nht+2fBrSP0l8sVrZKZePgjLwWqkJmUjNdWMhEQTiioqsWfbQRw8UAeHxQE4ZBgaJcQ5DDA6DDhU
Vw5bXL3nYhSdPOBETJ82BePGT8Q/r7kKdrtDcfiWiKKvfXYW7r7zdtx+61gAgNFoxIqVq+F0OjHm
ln/h1rFj8MnC9/G/BR9izrz3ghr1WPjRJ2hoaMD0aVNQWVmJWU89i8KiInd5XFwc1q78AQBQWlaG
ERdd7tEaqKqqQlZWhvvxm2/PxXv/+wAzpk+F2WT2qut0OjHzyWfw7FOzsHzlKq/Ay+mUIUne3/Rp
MEjwtymvv/WOzymxQ1WH3P/bHXZUVR++fsfhcMAY13R4vfLySzFs6DkwGo1ISkx018tIT0d5RctA
5ZHHZ+GG/7sW7779On5csw7PPPsf1NV7H2M7d+qIm28ajU4dOwAAjjqqKwyG4L/FNCsrE4MHDcTi
L5qm/g2SAXV1dQCAzIwMlHlcW1NeXuH+Py0tzesxAJSUliIjPd392DNoTUhoh1vHjsEJx/cDmq/d
+ZyjMqQhr2DGKtXgQPFfSE5KwerFRSjbV4vsvCScc0kPNNqdsFsdMMYZYK9rxG+f7MWhwnrsqduK
RoP/K+J79eyBWY89gokPP4Kfft6Anzf8iptG3wCz2QSLhQENUdQJZ/DKykN4Z+5/seTb773yAeDA
gRI8+vgs5Obm4KXnnkFhURGWrVgVVEDzxVeL8eXXS/DPa67EjOlTce31Y9xljY2NOPkfg7zqe9rw
6+8YNeICzJ03H7Iso7qmBtU1NbDZlKedtmz9E0uXr8Dtt4yF3X541LikpAT5eU2jJS6dOnVERYX3
STlQgWz/mWecjmuuvBxjb78TFRWVGHTWmfi/f14DNE+Lde7cSWwCq9WK1998B+/+93+YNmUibr3l
Jjz7/ItedWZMn4Yl336HqY8+DlmW8d7ctw4XBtAvl4OHDmHxN99i5pPPiEU4ePCQ15RgWtrhO9dK
SkrRq0d392MAyM3NwYGSEvdjz+fnlpvGIC8vF7fecQ+sVivuv+dOdxmRFrymmRplO/ZU/4aK/cXY
t+0g1nxViOUL/8amVftwaH89TIY4xDUacHC7BfYKJ0qqd2GvvEX1S/PKKypwxz3j8NPPG4DmKadX
X3sTFkuDWJWIoqCquhrdux0NNE8JLP7mW1x/3bXuof/cnBzk5eUiKTERPbp3AwBUVFSipKwMiYmJ
AICamlp073a0e7TjnMGDMPr669zrcOnVswcSExIgyzK2bv0LiQkJYhW/PvviKyQkJGD6tCno2rUL
jEYj0lJTkZjoezmvvPYGBg86yz3VAwDffr8UF180Cqefdgri4+PRqWNHjB19A75e8q1nUy8GyYC4
uDh3ClZ2VhYOlJSgoqISBoMBQ4ec7S5bvnIVzjj9NPTu1RMGgwHdjj4KAHDcsccgLi4ODQ0NKCws
QlLz8+0pMzMDm7f8CVmW0bNHd3Tt0sVdJr62/ny/dDnOGTwQx/c7FpIkITk52d2PVat/xBWXXYKU
lGQkJLTDlZdd4tFuGU45ZQB69ewBABg5/Hw0NFjx19/b3HU8ZWVlYseOQlitVqSkJOP0004VqxCF
xfsbgCUZ1c4D+HP/MvSyn4X0lPaApRGOqkaUbKyGwd40vdRY7cSeikL8ZluG2rhDqr/RVFFRiQqF
4VQiah0ff/o5Zj3+KL77+jNMfPgRfP7l18jKzMSbr72E5ORklJSUYMYTz8BSb8GUiePRoSAftXX1
2PDrb/juh6ZrR96eOw/333Mnxt1zFy676p/o0rmT4vebnHB8P/zn30/BKTtRWXkQTzz9rFjFr4aG
Btxy+1244/ZbMPvF55GWlora2jrsKCzErt27xepAc6D14suzMX3aFHfe5i1bMWPW07j7jtvRqWMH
HKqqwudffI05897zautp7JgbMHbMDe7H14+5RfGWZ1++/e4HDDzzDHw4/11UVVfj6yXfugPGv7dt
x7+ffwFPzJiO9tlZ2LV7D669fgyuuPRi/OP0U9HQYMXuPXsx44mnxMXi2edfwtRJD6Gquho7Cwux
YuUqd5n42ro+RCopKtqFR2c8gUkPPYj8vDxU11Rj7rz3sGNnIRZ+/Cm6dOmMjz+Yj+qaGrz+5ju4
ZexowGO0bvq0Kc13MxXhwQlTfF46MOfd/2L6tCkYNPBMVFYexHffLw1pWozIF6n/KWe0GJM0yEak
SLnoZD4OHVN6IMWUijh7HAw2oN5SjcL6TSjERtSYyvnbTETUwk2jr0dmRgaefvY/YhERkeZa/DYT
ADglB6rkYtRay7Cjbh0SnGkwIx5W2QKL4RDsRgsaJf5qNhF5c005dSgowJ4g71oiIgqVYjADNE05
NcIGi8kGCw6KpURELRQU5GPe22/gQEkJXnvjbbGYiCgiFKeZiIiIiPTC/6XuRERERDGOwQwRERHp
GoMZIiIi0jUGM0RERKRrDGaIiIhI1xjMEBERka4xmCEiIiJdYzBDREREusZghoiIiHSNwQwRERHp
GoMZIiIi0jXNgpn8vDwYDJotTlOZGRlISGgnZlMMSUhoh65dOsNsNgMAzGYTunbpjMSEBLFqmxPL
7x2RnvpKREeOgH5ocvT11yEjM8P92G6z4eXZb+CF557GxCnTUFNTi3WrluK8kRfj0KEqr7aRotSn
F195zauOy3PPPIFvvvsBS775zqvPkdS5U0eMGjEcnTp1QE1NLVasWo2Vq34Uq6kyGAxR63M4XK+H
7HSiuqYGmzdvxbqffoYsq+5eOKZvHzz9xOPYsbMQK1auxuof1+L1V15A0e7d2Lx5C159/S2xSau5
ecyNSElNEbPx888bsGLVajE7INF874y+/jp898My7Nm7153Xu1dP9O3TGx998plXXSXR7CsRUaAC
+og1/ILzYLPasG3bdmzbth3bd+yE0+nEN99+j7q6erF6VCj1SY3Y53vv+hc6dewoVgvbgBP74923
XwcAfPn1EmzZ+ifuufNfuO/uO8Sqijz7JfY5Vg2/4DxYLBb89fc2WK1WjH/gXtx+61ixmqKLRo3A
+wsW4q57H8CHiz7G+cOGYsWqH3HnPeNiKpABgJ2FRdi2bTtqamow/Lxz3ftfWXm5WDUmDb/gPOS0
z/bKO+qorjh70FleeUREemIUM3xZs3Ydfvn1N6+8xMREGI1G2Gw2r3yDwYAh5wxG96OPws7CInz7
/VI4nU6vOlpQ6hMAxMXF4YLzzkXHDh2wZt16r3W7+nzcMX0x/PzzYLPbcfDgIbz/wcKARhECMWH8
OLw8+3V8uOgTd97S5SvwycL38fWSb/HnX3/jkotGYdmKlRg1YjgA4PsflmJf8X6c1P+EFv0Sn+eB
Z56BXr16oKKiEku++Q519U2BzsUXjsSKlatxztmDkJ6ehhUrV+PvbdsBAD17dMdZZ/4DBsmAv7dt
x4pVqzXbXpf16392vx67d+/FrTePwSuz34DRaMQVl13i9Rz/4/RTceBACUwmE4479hi0i4/H1Vde
jjVr12HASSfCZrfhmquuwKeffYEGq9Xn/nTxhSOx+JvvcMmFI2FpaMAnn30R0W39fukyAECf3r0w
asQF+PzLr73Kfb02amUukex7oAJ9//rah4mIoi2gkRlf7rv7DiQmtrymYfKEBzFsyDko2r0HF5w/
DOPH3StWiainZj2GYUOHYF9xMS675CL07d3bXebqc0pqCuKMcbBarbBYLF7tw9GpY0d07tQRn33h
fZI7dKgKq1avwcCzzgAAjB93Lx6ZMgn19fVITEjA3LdeQ35enmK/PJ/nKRPH46orLkN5eQV69eyB
t15/xX090EMP3IcZj02DJElwOBx4/dUX0blTR/Ts0R1PzXocpaVlKC0rQ79+x0b0BGkwGDDgpP74
Y+MmAIDZZML999zpda3FyAvOR7/jjkV+fh6cTidsdjvq6+uRm5sDWZZhtztgsVjglGW/+9O4e+/C
9KmTkZKagorKyqhvqyd/r42/MpfW7Lsnf8+3J1/7MBFRtAU8MnP1VVdgyDmDAQCFRUVeow6eOnQo
wMAzz8Dwiy6D3W7H6tVrsOTLT/Diy7MVP4mG499PzYTD4QAAbPj1d4yf9DC6dumCk/qfgPNHXYqG
hgZ88dVifLZogdgUy5avxIP334PvfliGXbt2i8Uhy8rKROXBg7BarWIRDhwoQU779kDzCX/ee//D
zxt+BQBkZmbg8ksvwouvvOazX506dsQ5gwfhggsvdS//xeeexogLzsfCjz6BwWDAO3PnYf1PvwAA
enbvjhP7n4Dy8grU19dj+YpVqK6p8Vqmlp564nHY7XakpaZi0+YteGDCFLFKC8uWr8TI4efjl19/
w9eLvwEAnHnGP1BVVYVPPvtCdX8ym81YuXoNPv/yq6a2/zg9Ktsq8vfarFv/s8+yhR8dfh/ltG8f
lb4/98yTaGxset8AgNFoxG+//wEE+f71tw8TEUVTwMHMzsJCFDWfXMvKfF8f0P3oo5GYmID5777t
lZ+VldniYBiuceMntZhm6tSpA4p27UZDQwMAQJZlFO3a5VUnkiwWC5KTksRsAEBKSrLXKFDR7sPB
yt/btuOUASe5Hyvp2rUzdu/Z4xUobfnzLxzVtYv78c7CIvf/NbW1SEhIwI9r1+H4fsfhg/+9ix+W
LsfcefNRUlrqrqeV8ROm4Jdff0NSYiKuvupyvPric7juxsCum/ElkP1p/U8/u/Ojta0if69NSWmp
zzJP0er7fQ885PW+ueD8YRh+3rlAgM+3p2D3YSKiSAg4mPG8HsIfq9WKvfuKcdU/bxCLosJiaUB8
fNPtvS5Gk8nrcSS5Ar7evXriz7/+9irrd9yxmDvvPffjpMRElKMCAJCWlqp4svBktVpbTOslJSbi
UNXhO0tcI1WenE4nXp79Oua99z9cdeVlmPPmbFx8xTWKo0daqKuvx/z3P8BtN9+EnJz2qGrunyRJ
7jopKckeLXwLZH+y2g5vR7S31cXfa+OvzFNr9d1TIM+3p2D3YSKiSAjrmhklf2zchOzsLJx26inu
vLTUVK86kbRt23bk5+WhZ4/uAIDcnBwc06ePWA0A0NBgRWbG4du7tWC1WvHhok8w4cH7kZWVCTSf
xMeOuQFmsxk/LFvhrjt0yNkAAJPJhHOHnIMNv/4O+OnXxk2bkZmZieP7HQcASE9Pw+BBZ2Htup/E
ql5SUpJhMBhQXVODt955FzJkZDf3LVJGjRiOgwcPobS0DBZLA2pra71ek37N26Am2P2pNbYVKq+N
vzJPrdV3T8E+3772YSKiaAp4ZCZQ9RYLHpr4MKZMHA+rzQaj0YiSklL86+77xKphe+G5p9HY2HSX
Rb2lHuePvARV1dV44uln8cJzT6O0tAx1dXVYvWat2BQAsODDRXhq5mPYu28f7rj7ftRrdCHwS6++
hn/ddjMW/m8eqqqqkZ6Rjo2bNuOOe+73uvMrIz0d8999G8nJSfjttz/w1eIlgEK/XCyWBkyYNBWP
TJmIuvp6pKel4b35C7Bx02Z3HSXHH3ccJoy/HwcOlCI9PQ3ffvdDRO46cV0zE2eIw+49e3D/+Inu
u2Beee1NvPDsU9i7rxgORyPWrlsvNlcU7P4UrW0Vqb02/spcWqvvnoJ9vn3tw0RE0RTQl+aFQpIk
ZGZkwGqzobY2+l/2ZjAYkJGejorKSrHIS0JCO5iMpohccGkwGJCRkY6amtoWt6+vW7UUw0ZcDIfD
AdnpbBFI+euXwWBAeloaDlVVKd4yq8RoNCI9PQ3V1dWw2exicVSYzSa0i2+nuE1qgtmfWnNb/b02
/spcWrPvngJ5vtX2YSKiaNF8ZMZFlmXVQCKSnE5nQOu3WBpgQdPFwlpzOp2oqPDdB0kC6urqxGxA
pV9OpxOVBw+K2X45HA6Ulzdd29BabDZ7yCfoYPan1txWf6+NvzKX1uy7p0Cfb3/7MBFRtGh+zQwF
prh4P5zNU2REesR9mIhiRcSmmYiIiIiigSMzREREpGsMZoiIiEjXGMwQERGRrjGYISIiIl1jMENE
RES6ZrQ28IuuiIiISL84MkNERES6xmCGiIiIdI3BDBEREekagxkiirqTB5wkZulOW9gG8o+vsX4w
mCEiIiJdYzBDREREusZghoiIiHSNwQwRERHpGoMZIiIi0jUGM0RERKRrDGaIiIhI1xjMEBERka7p
OpgpyM+HwaDrTaA2jvto7DGZzYiLixOziXTtSD/WGMUMX8aOuRG7du/Bt999784zmUy44/Zb8fwL
L3nV1cLYMTciMzPT/dhms+GFl17Bqy+9gAcemoiamhp8+fnHOGfo+Th46JBXWy106dwZF180Cp07
dUR1TS2WLV+B5StWitVaXWv30/U6ybKM6upq/P7HRqz/6Wc4nU4AgMFg8HrN2qKsrExcfOEodO/W
DQ6HA3/+9RcWffwpGhoaIrqPBis+Ph5dOndCfLt4WK02lJeXo7LyoFgt5nQ7+mjs3rsXdpvNnZeW
lorkpGTsKy72qhuIY/r2RsmBEuw/UCIWRZTZbEJBfj6Sk5MhO2VU19Zg375i93slklpz3WpcxxCH
w4GysjJ8+/0POBDl10YLOe3b4/r/uxa5ubkoKyvH8hUrsW79T2K1iImlY01rCDiMGzVyBKZPexgd
O3Rw55lMJlxz1RVe9bQyauQI2KxW/PX33/jr77+xbft2OJ1OLF7yDerr6sTqmjp5wEn433tzAQCf
ffEVNm3ejHH33Y0H779XrNqqYqGfo0aOgMViwV9//Q0AeOD+e/Hma68gISEBACL2mj1w/z3o3LmT
mB11PXv2wKIF89G5cycsXb4ca9evR6dOHWG328WqrcpoMuGUUwbA4XBg//4DsNRb3K9RrOvYsQAm
k/fnruSkJGRnH/6wE+uSU5Jx2qmnIDEpEWXlZag4WInExATIsixWbaFnj+5ITAz9tQpn3dHgOobs
LCxEXl4ePv5wAXr17ClWC1hrHBtSU1Pxv/fmora2Dp9/8RX27t2Hzp2i24cjXcAjMwDw1eLFmDpl
Im65/U6xCGj+FD5s6BB0794NO3YWYsk338LpdGLE8POx4dffsH//AQDA5Zddgp9/2YCiol0AgAtH
jsDadetRWlbmtbxVP67Bz79s8MpLTEyA0WREo/XwpzT4WXcoHp48AS+8+DLe/2ChO++HH5bhq88/
wZdfL8aWrX/isksvxtKly3HxRaMAAN98+z327tsHqPTlsksuwtLlK3HukLORnp6OZctX4q+/mwKB
YMVKP9esXed+nd586x289upLuPP2W/H0s88Dwmt22SUX4cuvl+DySy+GxWLBoo8/9dsPg8GAIeec
jZ49uqOqqgpffb0ERx99FEaOGA6bzY6DBw/iv/PfhyzLGDxoIPr07oXy8gp8tXgx6urqgeZt8Vwn
ACxfuQrl5RUAgHbt2uHySy/G+x8shMPhaN6qwDw6dTIWfLgIr772hjvvy68We9Xx5KuPvXr2xOBB
Z0GSJPz19zYsW74Csiz7fW6CkZKUBGejEzsLi8QiAIA53oz22dmIj49HfX09Sg6UQAbQoUMBSsvK
3aMicXFxKCjIx969TftQTk57JCclo7auDqWlpa12guxQkI/S8grk5mTDZDShvLwSNbVNI4GSJCEv
LxcJCQmorKyE7PTuY/v22UhJSYHVakVJSQkcjkavci307d0Le/cVY+fOQneea/RBkiR06tQBu3fv
dZdlZWWhoaEBZpMJefl5cDqdsNltXnUC5W/dLr6egw4dClBWWoaCgnwAQElpGSwWCzoU5KOsogK2
5uOwwWBAxw4F2LN3X0j7gOcxxGQy4cKRw/H0s38jOzsLgwcNRG5ODop27cLixd+gsXn/V3rPnHRi
/xbHBkmSNHkP+dOjezdYG6yY/fqbYhGgcqz1t43isct1vBSPiZUHm0ZYk5KTcOGoEWjXrp3fY3Zb
FPDIDAD8d/77yM7Ocp8YRdMenoTzzjsXRUW7MHL4BZg04UEAwKknn4wLzhsGAKOZrDAAACAASURB
VOjUqSPGj7sP1159FQAgMTERUyZPQH1900FdzQPj7kNiQqKY7XPdwercuRO6dO6MTz793Cv/4KFD
WLFyJQYPGggAmDxhPB6fPg11dXVISEjA/HlzUJDf9Ib315fJEx/C00/MgGQwwOFwYM5br6NL587u
8kDFaj8bnU68M3cezjvvXHee52v20IPjMOvxR5GamoryikpApR8zH3sU1117NSoPHkRGRgZMZjPS
UlNhjIuD1Wp17zePTJ2Ma6++EqVlZejduyfmzXnLPfIgrvO4447F5Zde4l7HkHMGY9i5Q4MOZAry
83FM377473v/E4sU+epjr5498dy/n8SBkhKUlpbhhOP7uU8I/p6bYNTV1cFkNiEvL1csAgDkts+B
2WRCXV09OnXsiKOO6goAyEhPR4f8PHe9nJz2aJ+dDVmW0adPL+Tm5qC+vg75eXno1auHxxKjq3fv
Xuh37DEAJMiyjJNO6u/e5/oddyzycnNgabCgY4cOSE1Ldbfr06cXOnXsAKvVitSUFAwYcJLm19O0
a9cOqamp2L17j1gENJ/oevboAUmS3Hn5+XlIT0uFyWSEofl91RhCkKW2bqg8B7179cQxx/SBo9EB
Q1wcTjn5pKZlpqWiQ0GBexk5Oe2Rm5sTUiAjkp1OoPm5GDZ0KDLS07GzsAjXXHUlbh47BmgOZJTe
M0rHBq3eQ/7s3FmI9Ix0DL/gPLEIUOmDr22EwrELPo6JLpMnjIfVZoPD4cA7b70W0DG7rQhqZAay
jGmPPo6XXngOq1b/iPr6pk+5ANCxYwcMHjQQQ88bAbvdjhWrVmPZd4vx3H9exJq163DRhSPx9px3
MeTswVj08ac4e/BAzHwCGHDSidi8eQtqFaYhrrv2GgwbOgQAsLOw0GsEwpO/dbs++QYqOysLlZUH
0WC1ikXYv/8AcnLaAwAkgwHvzJ2Hn37+BQCQlZmJK6+4DAs/+thvXySDAW+89Q7WrlsPAOjVqycG
nNQfu3bv9lqXmlju5759xWifnQ2DwdDiE5DJbMbylavcQZi/1y6nfXsMHHgmhp43wivYLSkpwYSH
HsCSb79DUdEudO7cCecOOQdDhg1Hg9WKRQBmv/wCLhw5HAs+XNRineXlFXj6yRl47Y23IMsyRg6/
oEVQGIi8vFxUVlaiprZWLGrBXx/37z+A+rp6LF22AtXV1e42/p6bYPdrm92O33/7A31698JRXbtg
16492L9/P1ynnj17D3/ib2xsROdOHQEAxfsPoGeP7ija1fS65+floXj/fiQktEN2djZWrfoRTqcT
ZRWVGHTWGdi+fUdERjZUSRIKi3ahsrLpgJ+ckoKMjDRIBiAjMwMrVqyC0+nE/uIDOPOM04HmEcPc
nBysXLkajU4n9gHof8LxyM/Pxd69wV+L40u7dvGwNZ9gglVaVo6evZwoKS1FfZCvOQJYt+pzIEko
2rUbBw82XYcRbzajY8cO2Ld3P447ri8Km0f68vNyUVzcNPIeimP69kFiYiL69umNEcPPx+ixtwIA
5r+/wF2nvr4e1117NQAgN6e94nvm+6XLvI4NWr6H/Dl46BDuuud+TJ08ETffNBrvzpuPzz7/Ao1O
p2offG0jFI6XR3XtonhMdJnz7n/d1+kEc8xuC4IKZmQAGzdtxhdffo1JDz2ISQ8/4i7r0b07EhMS
sXDBfK822VnZWLNuHaY9PAkmkwlDzh6MWU//G8f3Ow69e/XEqaecjB/XrPVq47Jj5073m0WcgvLk
b911dcG9kBaLBUnJSWI2ACAlNQUWS4P7sWuaDAD++vtvnHbqKQH1ZceOne78mpoaJCa2HGlSE8v9
TE9PQ0NDQ4tAxmXN2qYACSqv3VFHdUVR0S7FN62no7p2RdGu3V6B3eYtW3H0UUe5H3uuc/OWLait
rcNJJ/bHzsIi9Ot3HB54aKK7PFAWiwXJycmQpKbRAH/89XHhoo/Rv/8J+HTRB/j2u+/x1px3UVJS
4ve5CXa/RvMB98e165CVlYHu3bojIzMdmzdvBQC0b98eBfm5MBpNMBqNcDqbApKDBw/CaIxDckoy
HDY7UlJSUPb7H8jMyoLREIdTTz3Zax1mUzwcDv+vV7B8PbMyDo9kAECdR1DZ6HAgzhiHhIRE1NXV
ee2LrpNYYmIS6urr3UP6AFBdU4OkROX3VaicjU4YjUEdajWjtu5AngPPIKqmtgZZmZmorqmGw9GI
jPR01NbXIzUtDRs3bXbXC9bAs85Ez549UFy8H9deP9o9kjTknLNx4cjhSE5ORkpKChoamo5rq39c
o/ieEWn9HvLnlw2/4uLLr8Jpp56M++65GwMGnIjJDz+i2gdf2+jieexSOyZ6TiUGc8xuC3zv5X68
9MpsLPpgPgaedYY7r6GhAXv37cUllx+OKj0VFe3CWWf+A+1z2mPLlq1YtnwFBg8aiFNPHoCpjz4m
VgeEeVR/1NYdDFfw1LdPb2zZ+qdX2QnHH4+33pnjfpyUlISy8nIAQHp6Ourq6gPqi69PScGI5X6e
PXgQftnwq5jtZvM4ofvrR4cOBWjXLl7MbsFqtSJJeNMmJSXiUFWV+7HnOgFg4aKPcfGFo7BpyxYs
XbY8pE9pOwsL4XQ6ccLx/fDrb7+LxV789bHR6cR/XnwZ78ydh39ecxXmz3sHI0Zd4ve5CUdFxUFY
Gjbj9NNOxebNW5GRno6ePbtjwy+/wtLQgPbt26Nrl6aLF2VZxv4DJcjPy4PNakVJaUnTlEdjIywN
Fq8DbaTYbTaYTSZ4vkImsxmNdu/9UymgbGxsRJzBe9rIdfuq0+mEUZhSMhrjYBeWG66mUWcZ6elp
OHTo8D7pj8lPABIMtXUH8hzEGY1A8zVTJpPZPfK2b18xCgryUVVdjbKy8rBG5F597Y0Wx/oBJ52I
B+6/B2Nv+Rf2FRfj7MGDMPqG/wOap90U3zPC+zxS7yFfZFnGmrXrsf/AZHy8cAGmTH3Ubx/8baOL
9/HS6veYGOoxuy0I6poZF4vFgsdmzML4B+53R/S//7ER7bOz8Y/TT3PXS/OYm169Zi3GjhmNpctW
AACWLluOc84ejKysLGz98y93vVCorTsYDVYrFnywEJMnPoTs7Cyg+QK9W2++CWazCd//sNRd97xh
Q4HmC9bOGzYUP2/YoGlf/InFfqanp2HM6BtwxeWX4qVXZovFivz1Y+PGTSjIz8cJx/cDmrfP3Dw/
3NDQgKzmW/d//2MjsrKy0P+E44Hm6zyGnD3Y54gfAHz59dc49ZQBGDZ0SEhTTABgtdqw4MNFeHjy
BK+56aSklp+G/PUxJSUFcQYDqqur8Xrz1Fd2drbf5yZY8Waz10krNSXF/ekuMSkRlvp6WJo/EeZk
Z7vrAUBxcTFysrORm5uL4uL9AICqqirEm83u1wBAizuOtFJeXoEunTshrjkIiTeb0SE/H6XNAbo/
tbU1aJfQDinJKQCA+Ph2SE1t+r+qqgpmczzS09MAAGaTCTnts1HZfG2CVpxOJ/bsLUbv3r28rvcz
Gptej8bGRtgdDq8+uvrU1L4R8abD10UEQ23dgTwHubk5QHMQmJub477190DJAWRmpiM3Jwf79zft
F1rq0qUzdu/eg33FxZAkCecMHuQu8/WegcKxQav3kD/ts7ORnHR4NKtvn97YvXsPZFn22wd/26jE
3zHxSBfy0WfN2vVYs2Ydhp3bdE1LfX097nvgITw6dQqsNiuMRiMOHCjBzbfdAQD4cc1ajBl9A559
/gUAwLbtO5CQ0A5r1q1T/EQVDLV1B+v5F17C3Xf+C59+9CGqDlUhIyMDf2zciFtuvxNWj7uoMjLS
sfD995CckowNv/6Gz7/4Co2NjZr2xZ9Y6ecLz/8bsizD4XDgl1824IYxN2Pbtu1iNUX+Xrua2lpM
mDwVzzw1C7U1tUhOScbd9z2ALVu2Yv77H+DZZ57Enj17ccvtd+L+Bx/C449OQ21dHTLS0zF33nv4
/Y+N4urc6urqserHtTj15AF+R5HUuL5jacH8d1FTUwNZbrqm5/9Gj/WqZ7FYfPZx4Jln4OHJE7D/
QAnS09OwZMm37jvOfD03wUpJTcWxx/SB3eEAZBmNjU5s2rwFaL4uo3PnTjj9tFPglJuuK0lMOnwr
sMXSgAarFSaTCdXVTXcINTY24veNm9C3Tx84nY2QDBIaLFZs+PU3dzut7CwsQu9ePXHmmWfAbrfB
aDJhz569KPMz9exitzvw559/oX//42FtaIC90YHy8qYTdWNjI/7YuBHH9OkDe6MDZpMZu3bt9hrR
08r27TsAAKeeOgAOhx2yLMHa0ICfmkcjduzYif79+8FiaYAsO1HhEUzs2bMPx/U7FpZ6Czb8+hsa
G4MbAfG37kCeA7PZhNNOORlGkxEHDx1y35XqcDSivOIgMjMy3NfUaGnpshW4/rp/4uOF78PhcODT
z75Aly5NHxr6H9/P53tGPDZo9R7yp2/fPpj52COorqmBLMuor7dg4pSpgMoxzt82KvF3TDzSSX37
nRheJCGQJAmZmRmwWW0BXRipJa3XbTAYkJmZgZqaGq/gAAB+/Xktzh56Hhx2B5yy3GIOU+u++KOX
fvrjrx9xBgMym+fpPbcvISGh+QTbdAGgwWBAeno6Dh065PN6HU+TJoxHRUUFXnvjLbEoaK4+2uw2
VFUdviBR5KuPRqMRGenpqKquhs3jy+Gg8twEQwJgNJshNzbCoXBCNMebm/aTAJ47T2azCU5nUzAb
qJMHnOS+KD1QkiTBZDbBbrMH/QFIAmAym2Cztfz+H0mSYDSZ4LAHt9yQtgGA2WyGU3a2mM4yGAww
xMXBofAdRXFxcU13FiqUBcrfun09B0OGnI0VK1ZBdjohNweAnnr16gmb1YpCj+vytCRJErKyMlFd
XdPifeHvPSMeG0J9DwXzGscZDEhLT4fNalW8ocVXH/xtoy++jolHspBHZnyRZdnrU0U0ab1up9Pp
/i4SJRIkxZ0WEeiLP3rppz/++tHodLqv+fFksVjc3xuD5ufBdTeLPwaDAcf07YMLzhuGiy+/UiwO
ia8+inz10eFw+Gzv77kJhtx8/Ykvru8MCZZSgBAJsiyH3EfZTz9lWfb7vGhJBmD1sS6n0+kzkGxs
bAQUAtBg+Fu3v+dAAmAX1i1JElJTUpCXm4s1a31P54ZLlmWfxzZ/7xnx2KDVe8ifRh/vbRdfffC3
jb4Eerw5kmgezBwpivcVe90BEKv00s9omv3yC0hJScb4iZMVDy5E1KSh3gKlo0f/E/rBaDRi46bN
PoNEomjSfJqJiEhNMMP3saotbAP5x9dYP0K6m4mIiIgoVjCYISIiIl1jMENERES6xmCGiIiIdI3B
DBEREekagxkiIiLSNd6aTURERLrGkRkiIiLSNQYzREREpGvGQ+VNv4CqpLi4WMwiIiIiiikcmQEg
z5mk+H9b0da3j4iIjmyBBzMePwsfk2Kkf76CBV/5wdJqOURERG1F4MEMERERUQySCgoKfA5p6Oqa
GVkGJEnMjSp5ziRIN84UswGVMiIiIgqdUcxQ5JrCEYMFX1M7nvWU6qgtR2wvSb7reOb76meYxKmd
YIISpetVgmnvyVd7sX9QqENERNRmFRQUyL4SgMNJlr0fi3mB/K+UF0i5Uh0xBVJHoyTPmRRQXjDl
gSZxOeJjJiYmJiamIy0FNjLT2jQeaQmW0sgHERERxQZ9BDOtSOlaFzG4UaoTLdKNM1v0p7X6QkRE
1BoYzLQBYvDSmsEVERFRtPHW7DBpFTiIoytEREQUmMBGZlx3CbnuLAqWrzuRXP/7Kw+UuJxQlqFA
aRonFOJyAg2A1IIlpb75q09ERNTWRP57ZkINgAhQCGbEx0REREc6BjM6EMqIDhER0ZEi8sEMERER
UQTxAmAiIiLSNQYzREREpGsMZoiIiEjXGMwQERGRrjGYISIiIl1jMENERES6xmCGiIiIdI3BDBER
EekagxkiIiLSNQYzREREpGsMZoiIiEjXGMwQERGRrjGYISIiIl1jMENERES6xmCGiIiIdC3oYEae
M0nMIiIiImo1QQczRERERLEkqGBGnjMJ0o0zxWwiIiKiVhNUMOOL59ST0jSUWjkRERFRqKSCggJZ
zHQpLi52/682KuMKUnzVUSsnIiIiCoVRzAiWONIiBi1q5UREREThCGhkRm1UBgEEKWrlRERERKHQ
7JoZ6caZkG6c2WIkJpByIiIiolCpjswEMipDRERE1Fo0GZkhIiIiai2qIzNEREREsYwjM0RERKRr
DGaIiIhI1xjMEBERka6F/aV54fB3m7bWd1DxriwiIqK2qVWDGc/ggsEGERERhYLTTERERKRrmozM
eI6qRGKERZyOEpcvlsPHb0PxJxWIiIjaHk2CGc+fKdA6UFAKjoIJngKtR0RERPoUdjAjjopEKqgh
IiIiUhJ2MCNO50QiiBEDJk+eo0KeeURERHRkCDuYQZDTPqFQW55YHok+EBERUWzS5G4mz8CBQQQR
ERFFkyYjM5GkNo0klsFHQCUuR6kOERER6Q9/NZuIiIh0TZNpJiIiIqLWwmCGiIiIdI3BDBEREela
qwcz0+RNLVJbJcsyZNnnJUp+zbbPFrOCEm57f8LZrmhRulA8GOG2JyKiyGnVu5mmyZvwqHSsmO0z
X89kWYYkSWJ2m+Darra8jUREFLtaNZjx1JZHZGLBbabbxCwKAm/lJyKKXZoEM+F+A7A4EuMZ2CgF
OeKojVhHXNaj0rGqdZTKxHwXcf3hUpoCcgUfnmWu/z0Dk9n22bjNdFuLZYh1xDyxzJNYL5A64ajc
Md3rcWa3qV6P1ShNAXnujy5KP7nh2l/FZYh1xDyxzJNYL5A6REQUhoKCAtlXAhBwkudMkuU5k1rk
+0vT5E1ef8V88X9/eb7Kp8mbVOuLSalfvv4PJMlNF5Qoptn22S3ylJKverPts32WifXEPF/5nnlq
5WLyt62Bpsod01vk+UqB7nO+6gW63/qqo5TvmadWzsTExMQUfgp7ZEb81OnvU2yk+BpBcVEbSVFr
Hy5JkiJ6PYmWoyThCHUbxZGZaIvmvkpERNoLO5gRh/PDPTEEG1iIU1SuvECF2z5calNEbV3ljukt
ppWCCW7UpoiIiKjtCzuYQXMgE841M57XtChd39LWicGL6zoYCoy4v4WyDxIRkX5pEsx4njhCPYl4
jo6IIyVEREREvmgSzITK3yhMIHcbuf4Xy4MRbvtAua6bcf3vIk4xQWGkxpXnWVepji+udqGM+Ijr
VaK0XYHK7DY1qGklkTjFBB8BtTgdpVTHF1e7UEZ8xPUSEZH2Yv5Xs5WuaaHWFUpQRIeFEhQREZFv
rToyQ/ogjswwkAmOODLDQIaISFsxPzJDRERE5E+r/9AkERERUTiiHsyIQ+5ERERE4Yh6MENERESk
pagGM7yLg4iIiLSmSTDjOXXEaSQiIiKKJs3uZlL7bSaOyhAREVEkhP09M+JIjFpQQ0RERKSlqIzM
cFSGiIiIIkWza2akG2fyd2iIiIgo6jQbmfGFozJEREQUSZqMzBARERG1loiPzBARERFFEkdmiIiI
SNcYzBAREZGuMZghIiIiXQsumJHlwyna1NapVh5hszbYxCxNBbJ8OcTnINR2IlmWNVsWERFRoAL/
BmBZBiRJzKUYIcsypBBfH0mSwmqPMNdPREQUjuBGZmLZEXwi1SKQcAU0REREeqN+a7bSCc7zxKk0
YuOZp9YeCnXE5Yt8tRfzXcRlBLt8P5SmfyaeaPZ6LNZRK4dHHX9lLmrBTOWO6V6PM7tN9XrsorYc
f8JpS0REFJaCggLZVwJwODV9bG+ZlPI988It95cXSLlSfijrV0mzNtha5PnK98xTKldK/urJQfa3
csf0FnmhLCfcdkxMTExMTFqkwK+ZiSZ+wteUODKjNS2uuSEiIgpVbAYzbYzSVJHLxBPNLcrFaaRw
VO6Y3mJaKdLBDRERUTQxmIkCteBELJ+1wdYij4iIiJTF5t1MsizmkB9a3InEaSIiItIr9buZXGSF
u5ZclE6knnczie3EPLG9WN/Fs56v9kpt/S1f7IuvvAB4Thd5jqz4m0YSy6AwUuPia/kuvgISpWkl
z6knX+2C5QqotFgWERFRoAIPZoiIiIhiUGxOMxEREREFiMEMERER6RqDGSIiItI1BjMakCP8a9Gz
NtgULxTWWqjbEGo7IiIiLTCY0UCk795RunNJa+Hc0aTFreFEREShYjBDYQUyLgxoiIiotejiG4DF
k6R44vVXLpYhgPZQWYbYXk247dWIU1DiSI5YDoU6/mjRfy0CJiIiIiUxH8wonQQ989TKoXDyVWvv
SalcKc8XpbpKeaFS+ukDzzxf5cEQ+6pl/4mIiMIV88GMEp5Io0scmQkFXzMiIooUXQYzWpIUrvXQ
+sQrLl9PlEZh9Lw9RETU9hzxwQwUghelE3g4tFwWERERedPl3UxtcWSgNbdJaXQqWGoBYLjLJyIi
8kUXPzQpngjFk6a/cqWTrGee2BZBLh9CuViGANrDRz9d1H4tW7ygV6wjlkOhDvz0Qew/AniORYHU
ISIiCoUughnSltIdTpHEQIaIiCKJ18wcAcSRmWgGMvAxEkVERKQVjswQERGRrunyAmAiIiIil4CC
GTnCvwpNREREFKqAghlJkiBpcPsuERERkdYCCmaIiIiIYhWDGSIiItK1oIIZTjURERFRrAkqmOGX
nxEREVGsCSqYISIiIoo1DGaIiIhI1xjMEBERka4F9NtMrot+eb0MERERxZqAghkGMURERBSrOM1E
REREusZghoiIiHSNwQwRERHpGoMZIiIi0jUGM0RERKRrDGaIiIhI1xjMEBERka4xmCEiIiJdYzBD
REREusZghoiIiHSNwQwRERHpGoMZIiIi0jUGM0RERKRrDGaIiIhI1xjMEBERka4xmCEiIiJdYzBD
REREusZgJkCVO6aLWQEJpF3ljukB1TviyfLhFG1q61Qr14Ac4jpCbSeSZVmzZRERaYnBTAzI7DZV
zCKRLAOSdDgdYWRZhhTidkuSFHYQ4lp/qH0gIookBjMBYsBBfkXwJB9OIOOiRUBDRBSrjGJG0Fyf
mP3liQdRsUyS/Nfxo3LH9BaBhpgnTuGIZZndpqrWEfM8+WuLAMrV+GsvlkFh+WIdV7mY7xJo+0D4
OoEGfHL2bO/6X2n/8eSZp7R+pfqexOWL//tqL+a7BLp8F1/L8SGc14eIqE0oKCiQfSUA6qnpbKWe
56v88ER8SKlyx/SA8nyVV+6YrlpfbKOWxOX7K/eX5ys/lOUrlftajq///eVFPPnaR5Tyxf0rnHJ/
eYGUK+UHuX5ZqY6f5Ov1CXY54bZjYmJiilYKf2QmELIs5ngL8pNosMRPrqJwP8mqLb+1xXr/Yk6E
90etRfr1dU1RBTyaRkQUZeEHM64pIs9hfXEYXTwIqgU3QXBNEXlOnYjTMGKwouXBP9LLR5jL06J/
wdb31PShviWeGLWhxetLRKR34QczFHHiySrawlk/gxYiIoo0bYIZ1+iM6/8oc43OuP4nCovSaGIr
0mKaJ9z2RESxTJtgxh/PQKcVeAY6oXK1VxrSD2T5Yrm4jGCXL9bxR6l9MJTaB7P+iAt3/1Jqr3TS
F+uJU6muv2JbsZ0rL0i+Ahql10ek1C5Ynrd2h7ssIiKtSc13LSkqLi4Ws4iIiIhiCr80j4iIiHSN
wQwRERHpGoMZCps8Z5Li/7Ei1vtHREThYTATBXKEf2141gYbZm2widmaC2cbIh1EhLP8cLYrWPK0
7mKWF7XyQIS7jNZuT0QULAYzURDpuz8mnmgWszSnxR0xsYo/wkhEpG8MZkiVWiAj3ThT8f9YEUj/
ohHQyNO6Q3p0u5jtplZORETKIv89M1EgnoTEE6+/crEMAbSHyjLE9mrCba9GnIISR3LEcijUCZXS
9SpiQCFOEXmWy3MmKdZ35QWyfC2oBXStSW1aRywXAyaxXCSWa92eiChs4i9lB/2r2a2clH7R1zMv
EuW+6gab5ytfKU8tzdpga5HnK98zT60cIfZHTPKcSS3yfOV75qmV+8sLNvnbTn9lgSR5WvcWecGU
+0pK7ZTyfJUr1VXK81WuVFcpL5hyJiYmpmBTmxiZEcXqJ2gKnnTjzBYjMZEYeVGj531KHBkJVmu3
JyJS0yaDGS0pXUuh9YlNXP6RRpxmErkCGtf/eqN2LYxaeTiUlh1McNHa7YmIAsFgJgBi8CJrfP2E
lsvSI7UAJRZGZoiIKHa1ybuZ2uJIR2tuk9LoVLSIwYvnKI2W1ALUULdfaWTCk1o5ERGp0/3IjNKJ
1vOkpFauRmyLEJbvKlc6YQbSXo3rbqRZG2wt7kKaeKK5xd1KnnWUypW4+hls31zEIMQVoIj5nmXB
EJcTzDLC2a7WJj263e+0TayXExFpgb+aTS0oBUVHMj0HO0RERwLdj8xQ+MSRGQYy3hjIEBHFNo7M
EBERka61yQuAiYiI6MjBYIYoitQuhlUrD0S4y2jt9kREwWIwQ0RERLrGYIYoStS+U0atnIiIlPFu
JiKdU5vWEcvFgEksF4nlWrcnIgqb+EvZevvVbCYmPSS1X4pWK/eVlNop5fkqV6qrlOerXKmuUl4w
5UxMTEzBJo7MELVx4shIsFq7PRGRGgYzRBGmdi2MWnk4lJYdTHDR2u2JiALBC4CJiIhI1xjMEEWQ
0siEJ7VyIiJSx2kmIh1T+1XqWC8nItICf5uJiIiIdI3TTERERKRrDGaIiIhI1xjMEBERka4xmCGK
IrWLYdXKA6HFMvyJ9PKJiILFYIaIiIh0jcEMUZSofaeMWjkRESnj98wQ6ZzatI9YLgZMwZaLxHK1
9mI5EVHYxF/K5q9mMzFpn9R+KVqt3FdSaqeUF2q5Ul2lPC3LmZiYmIJNHJkhauPEkRGRWrkatfZq
5URE4WIwQxRhatfCqJWHQ2nZnsGFWrkatfZq5UREWuAFwERERKRrDGaIxcim3QAAEJhJREFUIkhp
ZMKTWjkREanjNBORjqn9KnWslxMRaYG/mk1ERES6xmkmIiIi0jUGM0RERKRrDGaIiIhI1zQJZmRZ
hiz7vPSGiIiIKGI0CWYkSYIkSQxoiIiIKOo0CWaIiIiIWkvUghmO2hAREVEkaBrMcKqJiIiIok3T
YEaWZUiSJGYDzYEOERERkdY0DWaIiIiIoo3BDBEREela1IIZXktDREREkaDJr2a7AhVeF0NERETR
pkkwoxbE+LswmIiIiCgcUZlmYiBDREREkRKVYIaIiIgoUhjMEBERka4xmCEiIiJdYzBDREREusZg
hoiIiHSNwQwRERHpGoMZIiIi0jUGM0RERKRrDGaIiIhI1xjMEBERka4xmCEiIiJdYzBDREREusZg
hoiIiHSNwQwRERHpGoMZIiIi0jUGM0RERKRrQQcz8pxJYhYRERFRqwk6mCEiIiKKJUEFM/KcSZBu
nClmExEREbWaoIIZXzynnpSmodTKiYiIiEIlFRQUyGKmS3Fxsft/tVEZV5Diq45aOREREVEojGJG
sMSRFjFoUSsnIiIiCkdAIzNqozIIIEhRKyciIiIKhWbXzEg3zoR048wWIzGBlBMRERGFSnVkJpBR
GSIiIqLWosnIDBEREVFrUR2ZISIiIoplHJkhIiIiXWMwQ0RERLrGYIaIiIh0LewvzQuHv9u0tb6D
indlERERtU2tGsx4BhcMNoiIiCgUnGYiIiIiXdNkZMZzVCUSIyzidJS4fLEcPn4bij+pQERE1PZo
Esx4/kyB1oGCUnAUTPAUaD0iIiLSp7CDGXFUJFJBDREREZGSsIMZcTonEkGMGDB58hwV8swjIiKi
I0PYwQyCnPYJhdryxPJI9IGIiIhikyZ3M3kGDgwiiIiIKJo0GZmJJLVpJLEMPgIqcTlKdYiIiEh/
+KvZREREpGuaTDMRERERtRYGM0RERKRrDGaIiIhI11o9mJkmb2qR2ipZliHLPi9R8mu2fbaYFZRw
2/sTznZFi9KF4sEItz0REUVOq97NNE3ehEelY8Vsn/l6JssyJEkSs9sE13a15W0kIqLY1arBjKe2
PCITC24z3SZmURB4Kz8RUezSJJgJ9xuAxZEYz8BGKcgRR23EOuKyHpWOVa2jVCbmu4jrD5fSFJAr
+PAsc/3vGZjMts/GbabbWixDrCPmiWWexHqB1AlH5Y7pXo8zu031eqxGaQrIc390UfrJDdf+Ki5D
rCPmiWWexHqB1CEiojAUFBTIvhKAgJM8Z5Isz5nUIt9fmiZv8vor5ov/+8vzVT5N3qRaX0xK/fL1
fyBJbrqgRDHNts9ukaeUfNWbbZ/ts0ysJ+b5yvfMUysXk79tDTRV7pjeIs9XCnSf81Uv0P3WVx2l
fM88tXImJiYmpvBT2CMz4qdOf59iI8XXCIqL2kiKWvtwSZIU0etJtBwlCUeo2yiOzERbNPdVIiLS
XtjBjDicH+6JIdjAQpyicuUFKtz24VKbImrrKndMbzGtFExwozZFREREbV/YwQyaA5lwrpnxvKZF
6fqWtk4MXlzXwVBgxP0tlH2QiIj0S5NgxvPEEepJxHN0RBwpISIiIvJFk2AmVP5GYQK528j1v1ge
jHDbB8p13YzrfxdxigkKIzWuPM+6SnV8cbULZcRHXK8Spe0KVGa3qUFNK4nEKSb4CKjF6SilOr64
2oUy4iOul4iItBfzv5qtdE0Lta5QgiI6LJSgiIiIfGvVkRnSB3FkhoFMcMSRGQYyRETaivmRGSIi
IiJ/Wv2HJomIiIjCEfVgRhxyJyIiIgpH1IMZIiIiIi1FNZjhXRxERESkNU2CGc+pI04jERERUTRp
djeT2m8zcVSGiIiIIiHs75kRR2LUghoiIiIiLUVlZIajMkRERBQpml0zI904k79DQ0RERFGn2ciM
LxyVISIiokjSZGSGiIiIqLVEfGSGiIiIKJI4MkNERES6xmCGiIiIdI3BDBEREelacMGMLB9O0aa2
TrXyCJu1wSZmaSqQ5avVkUN8jkJtJ5JlWbNlERERuQT+DcCyDEiSmEsxIpBARgrx9ZMkKaz2CHP9
RERE/gQ3MhPLjuAT5awNNkw80Sxmu2kRSLgCGiIiolijfmu20gnM88SoNGLjmafWHgp1xOWLfLUX
813EZQS7fD+URkTEwEKso1YOjzr+ykS+ghq1YKZyx3Svx5ndpno9dlFbjj/htCUiIvKroKBA9pUA
HE5NH8tbJqV8z7xwy/3lBVKulB/K+lXSrA22Fnm+8j3zlMqVUiD1fNWRg9yeyh3TW+SFspxw2zEx
MTExMQWSAr9mJpr4CT6qxJEZrWlxzQ0REZEvsRnMtDFKU0UuE080tyhXmiqKlMod01tMK0U6uCEi
ItISg5koUAtOxHJf174QERFRS7F5N5MsizkUBi3uROI0ERERxSr1u5lcZIW7llyUTpSedzOJ7cQ8
sb1Y38Wznq/2Sm39LV/si6+8AHhOF3mOrPibRhLLoDBS4xLo8uFjGb4CEqVpJc+pJ1/tguUKqLRY
FhERkUvgwQwRERFRDIrNaSYiIiKiADGYISIiIl1jMENERES6xmBGA3KEfw161gab4kW+Wgt1G0Jt
R0REpAUGMxqI9N05SncmaS2cO5a0uPWbiIgoVAxmKKxAxoUBDRERtRZdfAOweJIUT7z+ysUyBNAe
KssQ26sJt70acQpKHMkRy6FQxx8t+q9FwERERKQk5oMZpZOgZ55a+f+3dzfHbRthGIDBGTsl+KAa
fEoHKsQz6cGnpID4pB5chy/qwHc3oCJ8YQ4JMtDnBRYkQZEv+TwzmBH3Wyz+ydcAZQ2ND9/e/FOt
eqttTqtvq+1YrT99MG2bqx+iruuW6w8Ap7r6MNPig/Rt1Tszx3DMADiXyDCzpV3jux5bf/DW8ZO0
7sIkbw8At+fuw8zQCC+tD/BTbDkWAPBa5G8z3eKdgUtuU+vu1KF6AfDU8QFgTsQfmqwfhPVDc6ne
+pCdttV5hwPHH0q91oYV8w8z6zma+2vZo/qF3tqn1odGn2FhHer6Dyv2cbWmDwAcIyLMsK3Wbzid
kyADwDn5zswdqHdm3jLIDDN3ogBgK+7MAADRIr8ADAAwWhVm9mf+q9AAAMdaFWZ2u92w2+DXdwEA
trYqzAAAXCthBgCIdlCY8agJALg2B4UZ//kZAHBtDgozAADXRpgBAKIJMwBAtFV/m2n80q/vywAA
12ZVmBFiAIBr5TETABBNmAEAogkzAEA0YQYAiCbMAADRhBkAIJowAwBEE2YAgGjCDAAQTZgBAKIJ
MwBANGEGAIgmzAAA0YQZACCaMAMARBNmAIBodxFm9l//av6cIn39AeCcVoeZL99/1qZNrRm/12e/
39em1c4dEs45/inbDQDpVoeZS1sTZHa7XW2+C7vdTqAB4G5FhJkv338Of/7+W23+Xy/I7P74u/lz
ijXrL9AAcK92Dw8Ps5+ALy8vzTsiNVjUPr36MOmzVKvmQk0vzCxpPf6pgaH26dWHSZ+l2qj2qfW1
lvbDUg0Aoj08POznpmEY/p++fP/56vVS+7StVW9Na/rN9dn/e0vipGn/9a9f2ubap22temua69dq
b7WtmZb2w1LNZDKZTKbkKeIxE6dzVwaAW/WuNhyj9aho9Ofvv/1Sbz0qumb1MdDU7o+/f6kf+5gI
ADjcJmGmF05qfe67L9eqF05qff/1r1/aAIDzuInHTH6Tp/8F33vfPwDcru5vM01NHxdN76wsPUaq
taFxp2a0dvxhZozeB3rP9HHR9M7K0mOkWhsad2pGx4y/xprtXtMHABIdFGbIJMgAcMtu4jETywQZ
AG6ZMAMARBNmAIBowgwAEE2YAQCiCTMAQDRhBgCIJswAANGEGQAgmjADAEQTZgCAaMIMABBNmAEA
ogkzAEA0YQYAiCbMAADRhBkAIJowAwBEE2YAgGjCDAAQTZgBAKIJMwBANGEGAIgmzAAA0YQZACCa
MAMARBNmAIBowgwAEE2YAQCiCTMAQDRhBgCIJswAANGEGQAgmjADAEQTZgCAaMIMABBNmAEAogkz
AEA0YQYAiCbMAADRhBkAIJowAwBEE2YAgGjCDAAQTZgBAKIJMwBANGEGAIgmzAAA0YQZACCaMAMA
RBNmAIBowgwAEE2YAQCiCTMAQDRhBgCIJswAANGEGQAgmjADAEQTZgCAaMIMABBNmAEAogkzAEA0
YQYAiCbMAADRhBkAIJowAwBEE2YAgGjCDAAQTZgBAKIJMwBANGEGAIgmzAAA0YQZACCaMAMARBNm
AIBowgwAEE2YAQCiCTMAQDRhBgCIJswAANGEGQAgmjADAEQTZgCAaMIMABBNmAEAogkzAEA0YQYA
iCbMAADRhBkAIJowAwBEE2YAgGjCDAAQTZgBAKIJMwBANGEGAIgmzAAA0YQZACCaMAMARBNmAIBo
wgwAEE2YAQCiCTMAQDRhBgCIJswAANGEGQAgmjADAEQTZgCAaMIMABBNmAEAogkzAEA0YQYAiCbM
AADRhBkAIJowAwBEE2YAgGjCDAAQTZgBAKIJMwBANGEGAIgmzAAA0YQZACCaMAMARBNmAIBowgwA
EE2YAQCiCTMAQDRhBgCItvv27dv+48ePtR0AIMK79+/fDz9+/KjtAAARPGZa6fHxcXh8fKzNm9ly
/C3HuhfjPpvbd3Pto179nNYud2n7UvTW/VLb2Dt/tnDquEvzL9W29FbLSXXL+2dp25Zqw4r6IMzA
vxfK8/Pzq6lePM/Pz69eV736pdVtTDRuw5Kx3uu3pbpvW+fPtXuLdV5z/O7ZPe+f3vnXqw/CzG1K
/sBie7fwJpm2DedY13OMObXmA+NYacfvrdk//fOvV39XG05xiwek7rzx9XQ7a59hRX2YOTit8Q8x
HW8coy5jdOwyIE29Bur1Wa+F2rY0/xpL84/L6vWpbbU21Zp3+nNrnEtZs/5r90+rNjTqQ3l/PHb8
2j6qyz9VXU4df65e20dr66Pab2nfDAv18ec6/hY2DTO3qB70ehBa7Y//PTefXiB1vlFv/ENNlzls
OC7Z6hvOvZ0PdXvH63Ot2nc6f73mxrZRa1m1rb6uWsuYqvPW9att16auV13X+nqqVZu2zdXr69pn
qtZ6+7c33iFaY/WWdcj6tdrmfh7VtqX60jhbWhVmHmcuorpi9fWoN/+pdTjV3Dl2K+q1cu43lmtz
6vHtzV/3ZW//1lp9zWvn3j+98XvH/6311vcerQozp+643vyn1q/B3Mn+/N+/qGr9rbbp0stPUfdH
3V/kagWL6fEdr5GxT+1fX49t3AfHP2N7V4UZ+urJPlVrY7io7edSl/PWy4dzuvS5fOnlw7klnN+b
/jZTQnpLNoYQuDfj3ZNzGcd/q2Byzm051jm3/dzHL92h++eQvil651+v7s7MStM3u2lbq32sDQsn
XT0orXFqnznjPK3+a5fPsnE/zl1Qvfq5tY7zuB6tN8pLrOOpxu2o6163r1c/VG/+Vn26Dr36Gr3z
a834dT2mfebG3dLc8RtWrv+cul1j21L9EKfOv9bc/mktv7d9dYxTbDV+HWc6Rmu7p3r1YRiG3fPz
8742kmU8QcaDXV8Dt2vNG/01u8T6X2KZnNfu06dP+w8fPtR2wjw9Pb16/fnz51evgdv09PQUfb2/
xfp7f7x9u4eHh9k7My8vL7UJAOCq/AOR1qUFgnYKlwAAAABJRU5ErkJggg==


--nextPart5106780.Qq0lBPeGtt--







Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#71776: 31.0.50; [PATCH] js-ts-mode: conforming use of font lock faces in jsdoc.
Resent-From: Dmitry Gutov <dmitry@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Fri, 28 Jun 2024 05:52:03 +0000
Resent-Message-ID: <handler.71776.B71776.17195539041659 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 71776
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Eli Zaretskii <eliz@HIDDEN>, Vincenzo Pupillo <v.pupillo@HIDDEN>
Cc: Damien Cassou <damien@HIDDEN>, 71776 <at> debbugs.gnu.org
Received: via spool by 71776-submit <at> debbugs.gnu.org id=B71776.17195539041659
          (code B ref 71776); Fri, 28 Jun 2024 05:52:03 +0000
Received: (at 71776) by debbugs.gnu.org; 28 Jun 2024 05:51:44 +0000
Received: from localhost ([127.0.0.1]:51374 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sN4WO-0000Qg-7r
	for submit <at> debbugs.gnu.org; Fri, 28 Jun 2024 01:51:44 -0400
Received: from fhigh6-smtp.messagingengine.com ([103.168.172.157]:51851)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <dmitry@HIDDEN>) id 1sN4WM-0000QN-9j
 for 71776 <at> debbugs.gnu.org; Fri, 28 Jun 2024 01:51:42 -0400
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41])
 by mailfhigh.nyi.internal (Postfix) with ESMTP id 1CA43114023F;
 Thu, 27 Jun 2024 20:50:14 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute1.internal (MEProxy); Thu, 27 Jun 2024 20:50:14 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc
 :cc:content-transfer-encoding:content-type:content-type:date
 :date:from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:subject:subject:to:to; s=fm1; t=1719535814;
 x=1719622214; bh=w8SAd9MI0gS/XVeTw1caZfOEwdJu5VZUDKuz1ZNg5/0=; b=
 hQWVzu71uHKRWzap883EItDnC/BgVAMFvVS4u4w59DLL1y3bjIaLUC7PStfcwrWN
 /DEwiw6vZyUYkbo5YAQy96xXTA6PUt8pAao0CPAqApb8oWPcpzvi2nnr7T6cC6q5
 KAvY/zazfzsNUsP+MK+2jshdlxy2HGCOASVhlHZ1FIOlhD8ZzQGkk5kVrFMYkPOZ
 z5WhUKGfUpg7LamER98q8XNaGCmNjAxBGabafcbhjhEMLk5hIgjk4kA2STAaM6Vp
 pNVOlrOUOH8as+9RoFdFqg7ufmz2TpMwNtKN9FgnZPNpCIYuFZRZRD6nGMNuXwsK
 3QpwRqhIAR2GVUp/2IY9YA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:cc:content-transfer-encoding
 :content-type:content-type:date:date:feedback-id:feedback-id
 :from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy
 :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1719535814; x=
 1719622214; bh=w8SAd9MI0gS/XVeTw1caZfOEwdJu5VZUDKuz1ZNg5/0=; b=n
 g37FlOyEP/4pbeKSCSYjZkmmJJdIaCw+/531VypG3FPaRmE06T5hGT0xnSMKgz0G
 fGr5gI5MvhNksC6GiTb1uSiMEApwRSjhdRqz8/1b1CnF+Q9z/JixVaP08d8aiEGG
 R5iybU5+1W5CAx/KAkT6529tF9q+vCgX7hKH3fPbZlfQAeBkco9ZB5Wghfgw3buN
 g6/WAapcWWh1yvMErEkxJCrxiyX7C35VR5WG3t2TiT858hFWHfxyuxlGrFjb0qhs
 YkY5L4vaunLrMrkVFr4/5rgwQiMDZlZYbfbrlAaaKoHIKQy1n0cRNuGgTwwAXA1I
 dftgpjkk1RRZ42b8Mm8ag==
X-ME-Sender: <xms:xQh-ZgoE0ZH0kWYDMrWVjPEFQl4rKfVdhRWp-ZBe91BDLI7cMbRZBQ>
 <xme:xQh-ZmrQzYzWju7NIW3Y4cny-SDuAtcF2qBfWVlH78-ONwVzA3xzEEmw6mlCuIxFC
 zFBM4lNRCCuZAXESwY>
X-ME-Received: <xmr:xQh-ZlNR-eFnsw6-jrbmNZm4KvfAfdLowAHocPj7R2DtsrOGLXFfvobcJhYhxkm1GKr0>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrtdehgdegtdcutefuodetggdotefrodftvf
 curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
 uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
 fjughrpefkffggfgfuvfevfhfhjggtgfesthejredttddvjeenucfhrhhomhepffhmihht
 rhihucfiuhhtohhvuceoughmihhtrhihsehguhhtohhvrdguvghvqeenucggtffrrghtth
 gvrhhnpeetudeljeegheetgfehgeejkeeuhedvveeikeeufedtvddtveefhfdvveegudej
 heenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegumh
 hithhrhiesghhuthhovhdruggvvh
X-ME-Proxy: <xmx:xQh-Zn6en22cl5GMc1oli-3lY1AbpIZsGEFAjOa77ceq1-LDxqHtJg>
 <xmx:xQh-Zv5zx7Fi9kjhgmVgG2M9-AUw1ZOAvvfMc-XQshpBjpVG1Z7Tbw>
 <xmx:xQh-ZngzMZePriuZlWRO5cZV1KaHWJ_--e9bt15MAxf11KQN5UIvIQ>
 <xmx:xQh-Zp5LbolzrJ8J22ykf7ukgDINIOLcKhJbgE22AU1-lUCpl8QZUQ>
 <xmx:xgh-Zi1w9pxLq_nSgvJ3gHTp8S9iRP57uOcQaYiiNPCWW9TGblbLrnzg>
Feedback-ID: i0e71465a:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 27 Jun 2024 20:50:12 -0400 (EDT)
Message-ID: <beac41b3-42e6-47e8-8540-98c659cc075a@HIDDEN>
Date: Fri, 28 Jun 2024 03:50:10 +0300
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
References: <2796980.fDdHjke4Dd@HIDDEN> <86bk3m67kn.fsf@HIDDEN>
Content-Language: en-US
From: Dmitry Gutov <dmitry@HIDDEN>
In-Reply-To: <86bk3m67kn.fsf@HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Spam-Score: -0.7 (/)
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.7 (-)

Hi!

On 27/06/2024 12:47, Eli Zaretskii wrote:
>> From: Vincenzo Pupillo<v.pupillo@HIDDEN>
>> Date: Tue, 25 Jun 2024 16:16:21 +0200
>>
>> The use of font lock faces by jsdoc in js-ts-mode is different from that done in
>> other major-modes such as java-mode or c++-mode. This patch makes them more similar.
> Thanks.
> 
> Dmitry, any comments?  On which branch should we install this, if you
> agree with the changes?

It looks like an improvement (thanks!), and as a change to the feature 
added just recently, should go to emacs-30 - the second revision of the 
patch, naturally.

Also Cc'ing Damien who did the original work.




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


Received: (at control) by debbugs.gnu.org; 30 Jun 2024 05:32:51 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jun 30 01:32:51 2024
Received: from localhost ([127.0.0.1]:54448 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1sNnBD-0003kk-Jn
	for submit <at> debbugs.gnu.org; Sun, 30 Jun 2024 01:32:51 -0400
Received: from mail-lf1-f41.google.com ([209.85.167.41]:54344)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <stefankangas@HIDDEN>) id 1sNnBB-0003kX-JW
 for control <at> debbugs.gnu.org; Sun, 30 Jun 2024 01:32:50 -0400
Received: by mail-lf1-f41.google.com with SMTP id
 2adb3069b0e04-52ce01403f6so2188497e87.0
 for <control <at> debbugs.gnu.org>; Sat, 29 Jun 2024 22:32:49 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1719725504; x=1720330304; darn=debbugs.gnu.org;
 h=to:subject:message-id:date:mime-version:from:from:to:cc:subject
 :date:message-id:reply-to;
 bh=QwpdCo2oWMb/AjzXxM8AbF/7gBESwxhd2GzUnjyXou8=;
 b=YXwKRfOPPWt/TLKp7ZtLUWl4E0O7H/ygNd2ntNPUJknk+tTvZ1EPn9aeQUyGXoU5EO
 xA9ueMqKwxJtePmDPyX7WZmiZiX+bVSoSOQks9krwR0VwGNgsFb4Z+WsLBko//++UYpe
 gPEIiQEzJaKIN374gQpEklshbmQF2vAZsaPU5Fy1LisGhi0VKwmZUi9a2wnDUbujaYOr
 HYC6VgGFe2O4uCf4qKzGwglv7h0d8tIILyKiC2xiOlgvVPZoEGB7hgriQg4PMzU/g7kU
 7GXSq+30cqWeEHKDEFIBGnUAXrHL2jNFHz+tOYFflgge73EtR9sVd90grxqsHNZKpJxf
 BM5A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1719725504; x=1720330304;
 h=to:subject:message-id:date:mime-version:from:x-gm-message-state
 :from:to:cc:subject:date:message-id:reply-to;
 bh=QwpdCo2oWMb/AjzXxM8AbF/7gBESwxhd2GzUnjyXou8=;
 b=rZHviHIq76HI4606i357L7UTRLJqZx860rcQcsOvQaEb3fKicuoapsyLpWkmT+TeRZ
 Igy/TSYToUhonZ8tpdT+g+Zv8IhF2Uj60YnUwm0gkQqA7G7ovNHSVYtOYh4pa4dkHXGq
 TdrIXbhrfEbJQSZVrLvEc1rnZ8hnbSjGuELPRKdrZopv4CzrtuWwr622bmz0wrka8MFg
 b/ee0Atkd1dCWQwPXSfN6Oc1qGb4itQskEwKXn2fUecn3NG2gTY/EJFdGg9OoS6gi0ge
 FC2/gYyBzTK/31eN2vw3NdgGOlWI9wX8k0IW0LKK0v6Gqg9KFZ0/O+SVK2s1iGWfbRcJ
 3JpQ==
X-Gm-Message-State: AOJu0Yzlph/DT15Mq7SScXvggksYmL2F6Xr3m318nFpxQ0LCVhojnZwl
 aDeDvPkpqPT+1AG4O14/Dhrug3o+TzpZakesja4wOsM6220T7xWpJvbFIOFTTSLvxh/SWX58MXV
 pDL4R6MJyE/qN/Rf+ZTvm9GqRvrhhr3yTOFI=
X-Google-Smtp-Source: AGHT+IGE6toD/J8N8ElWGML5L0unozZCdBC3yZdm0RncCufwHgx2ffRfMcD1hF7L/T3ALh2iijR/Ck1scfFFaZf9jq4=
X-Received: by 2002:a2e:8003:0:b0:2ea:e57c:a55b with SMTP id
 38308e7fff4ca-2ee5e381f5cmr15854681fa.31.1719725503437; Sat, 29 Jun 2024
 22:31:43 -0700 (PDT)
Received: from 753933720722 named unknown by gmailapi.google.com with
 HTTPREST; Sat, 29 Jun 2024 22:31:43 -0700
From: Stefan Kangas <stefankangas@HIDDEN>
MIME-Version: 1.0
Date: Sat, 29 Jun 2024 22:31:43 -0700
Message-ID: <CADwFkmnxsyzusUFOOdjHuNFUznVMfXFoHSeQWzQ89hkRJLNybw@HIDDEN>
Subject: control message for bug #71776
To: control <at> debbugs.gnu.org
Content-Type: text/plain; charset="UTF-8"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: control
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 (-)

severity 71776 wishlist
quit





Last modified: Sun, 30 Jun 2024 05:45:02 UTC

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